Snap for 7963886 from f1a60916cc14cece43f86293b73db95baa0cb804 to sc-v2-release

Change-Id: I90f3cfa0539829eb7720fcafe7e9aa4d94886a00
diff --git a/32/module-lib/android-non-updatable.jar b/32/module-lib/android-non-updatable.jar
new file mode 100644
index 0000000..232b5d1
--- /dev/null
+++ b/32/module-lib/android-non-updatable.jar
Binary files differ
diff --git a/32/module-lib/android.jar b/32/module-lib/android.jar
new file mode 100644
index 0000000..1bc3cd7
--- /dev/null
+++ b/32/module-lib/android.jar
Binary files differ
diff --git a/32/module-lib/api/android-non-updatable-removed.txt b/32/module-lib/api/android-non-updatable-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/android-non-updatable-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/android-non-updatable.txt b/32/module-lib/api/android-non-updatable.txt
new file mode 100644
index 0000000..e48a1da
--- /dev/null
+++ b/32/module-lib/api/android-non-updatable.txt
@@ -0,0 +1,339 @@
+// Signature format: 2.0
+package android {
+
+  public static final class Manifest.permission {
+    field public static final String GET_INTENT_SENDER_INTENT = "android.permission.GET_INTENT_SENDER_INTENT";
+  }
+
+}
+
+package android.app {
+
+  public class ActivityManager {
+    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void addHomeVisibilityListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.HomeVisibilityListener);
+    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void removeHomeVisibilityListener(@NonNull android.app.HomeVisibilityListener);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public boolean updateMccMncConfiguration(@NonNull String, @NonNull String);
+  }
+
+  public class AppOpsManager {
+    field public static final String OPSTR_NO_ISOLATED_STORAGE = "android:no_isolated_storage";
+  }
+
+  public class BroadcastOptions {
+    method public int getMaxManifestReceiverApiLevel();
+    method public void setMaxManifestReceiverApiLevel(int);
+  }
+
+  public abstract class HomeVisibilityListener {
+    ctor public HomeVisibilityListener();
+    method public abstract void onHomeVisibilityChanged(boolean);
+  }
+
+  public class NotificationManager {
+    method public boolean hasEnabledNotificationListener(@NonNull String, @NonNull android.os.UserHandle);
+    field public static final String ACTION_NOTIFICATION_LISTENER_ENABLED_CHANGED = "android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED";
+  }
+
+  public final class PendingIntent implements android.os.Parcelable {
+    method @RequiresPermission(android.Manifest.permission.GET_INTENT_SENDER_INTENT) public boolean intentFilterEquals(@Nullable android.app.PendingIntent);
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_INTENT_SENDER_INTENT) public java.util.List<android.content.pm.ResolveInfo> queryIntentComponents(int);
+  }
+
+  public class StatusBarManager {
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setExpansionDisabledForSimNetworkLock(boolean);
+  }
+
+}
+
+package android.app.usage {
+
+  public class NetworkStatsManager {
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyNetworkStatus(@NonNull java.util.List<android.net.Network>, @NonNull java.util.List<android.net.NetworkStateSnapshot>, @Nullable String, @NonNull java.util.List<android.net.UnderlyingNetworkInfo>);
+  }
+
+}
+
+package android.content {
+
+  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+    method @NonNull public static android.net.Uri createContentUriForUser(@NonNull android.net.Uri, @NonNull android.os.UserHandle);
+  }
+
+  public abstract class Context {
+    method @NonNull public android.os.UserHandle getUser();
+    field public static final String PAC_PROXY_SERVICE = "pac_proxy";
+    field public static final String TEST_NETWORK_SERVICE = "test_network";
+  }
+
+}
+
+package android.content.pm {
+
+  public abstract class PackageManager {
+    method @NonNull public String getPermissionControllerPackageName();
+  }
+
+}
+
+package android.hardware.usb {
+
+  public class UsbManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getGadgetHalVersion();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbBandwidthMbps();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbHalVersion();
+    field public static final int GADGET_HAL_NOT_SUPPORTED = -1; // 0xffffffff
+    field public static final int GADGET_HAL_V1_0 = 10; // 0xa
+    field public static final int GADGET_HAL_V1_1 = 11; // 0xb
+    field public static final int GADGET_HAL_V1_2 = 12; // 0xc
+    field public static final int USB_DATA_TRANSFER_RATE_10G = 10240; // 0x2800
+    field public static final int USB_DATA_TRANSFER_RATE_20G = 20480; // 0x5000
+    field public static final int USB_DATA_TRANSFER_RATE_40G = 40960; // 0xa000
+    field public static final int USB_DATA_TRANSFER_RATE_5G = 5120; // 0x1400
+    field public static final int USB_DATA_TRANSFER_RATE_FULL_SPEED = 12; // 0xc
+    field public static final int USB_DATA_TRANSFER_RATE_HIGH_SPEED = 480; // 0x1e0
+    field public static final int USB_DATA_TRANSFER_RATE_LOW_SPEED = 2; // 0x2
+    field public static final int USB_DATA_TRANSFER_RATE_UNKNOWN = -1; // 0xffffffff
+    field public static final int USB_HAL_NOT_SUPPORTED = -1; // 0xffffffff
+    field public static final int USB_HAL_V1_0 = 10; // 0xa
+    field public static final int USB_HAL_V1_1 = 11; // 0xb
+    field public static final int USB_HAL_V1_2 = 12; // 0xc
+    field public static final int USB_HAL_V1_3 = 13; // 0xd
+  }
+
+}
+
+package android.media {
+
+  public class AudioManager {
+    method public void adjustStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
+    method public void adjustSuggestedStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
+    method public void setStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
+    field public static final int FLAG_FROM_KEY = 4096; // 0x1000
+  }
+
+  public class MediaMetadataRetriever implements java.lang.AutoCloseable {
+    field public static final int METADATA_KEY_VIDEO_CODEC_MIME_TYPE = 40; // 0x28
+  }
+
+  public class MediaServiceManager {
+    method @NonNull public android.media.MediaServiceManager.ServiceRegisterer getMediaCommunicationServiceRegisterer();
+    method @NonNull public android.media.MediaServiceManager.ServiceRegisterer getMediaSessionServiceRegisterer();
+    method @NonNull public android.media.MediaServiceManager.ServiceRegisterer getMediaTranscodingServiceRegisterer();
+  }
+
+  public static final class MediaServiceManager.ServiceRegisterer {
+    method @Nullable public android.os.IBinder get();
+  }
+
+}
+
+package android.media.session {
+
+  public static final class MediaController.PlaybackInfo implements android.os.Parcelable {
+    ctor public MediaController.PlaybackInfo(int, int, @IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.media.AudioAttributes, @Nullable String);
+  }
+
+  public final class MediaSession {
+    field public static final int FLAG_EXCLUSIVE_GLOBAL_PRIORITY = 65536; // 0x10000
+  }
+
+  public static final class MediaSession.Token implements android.os.Parcelable {
+    method public int getUid();
+  }
+
+  public final class MediaSessionManager {
+    method public void addOnActiveSessionsChangedListener(@Nullable android.content.ComponentName, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener);
+    method public void dispatchMediaKeyEvent(@NonNull android.view.KeyEvent, boolean);
+    method public void dispatchMediaKeyEventAsSystemService(@NonNull android.view.KeyEvent);
+    method public boolean dispatchMediaKeyEventToSessionAsSystemService(@NonNull android.view.KeyEvent, @NonNull android.media.session.MediaSession.Token);
+    method public void dispatchVolumeKeyEvent(@NonNull android.view.KeyEvent, int, boolean);
+    method public void dispatchVolumeKeyEventAsSystemService(@NonNull android.view.KeyEvent, int);
+    method public void dispatchVolumeKeyEventToSessionAsSystemService(@NonNull android.view.KeyEvent, @NonNull android.media.session.MediaSession.Token);
+    method @NonNull public java.util.List<android.media.session.MediaController> getActiveSessionsForUser(@Nullable android.content.ComponentName, @NonNull android.os.UserHandle);
+    method public void registerRemoteSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.RemoteSessionCallback);
+    method public void unregisterRemoteSessionCallback(@NonNull android.media.session.MediaSessionManager.RemoteSessionCallback);
+    field public static final int RESULT_MEDIA_KEY_HANDLED = 1; // 0x1
+    field public static final int RESULT_MEDIA_KEY_NOT_HANDLED = 0; // 0x0
+  }
+
+  public static interface MediaSessionManager.RemoteSessionCallback {
+    method public void onDefaultRemoteSessionChanged(@Nullable android.media.session.MediaSession.Token);
+    method public void onVolumeChanged(@NonNull android.media.session.MediaSession.Token, int);
+  }
+
+}
+
+package android.net {
+
+  public final class EthernetNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    ctor public EthernetNetworkSpecifier(@NonNull String);
+    method public int describeContents();
+    method @Nullable public String getInterfaceName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkSpecifier> CREATOR;
+  }
+
+  public static final class IpSecManager.UdpEncapsulationSocket implements java.lang.AutoCloseable {
+    method public int getResourceId();
+  }
+
+  public class NetworkPolicyManager {
+    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public int getMultipathPreference(@NonNull android.net.Network);
+    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public int getRestrictBackgroundStatus(int);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidNetworkingBlocked(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidRestrictedOnMeteredNetworks(int);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void registerNetworkPolicyCallback(@Nullable java.util.concurrent.Executor, @NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void unregisterNetworkPolicyCallback(@NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
+  }
+
+  public static interface NetworkPolicyManager.NetworkPolicyCallback {
+    method public default void onUidBlockedReasonChanged(int, int);
+  }
+
+  public final class NetworkStateSnapshot implements android.os.Parcelable {
+    ctor public NetworkStateSnapshot(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @Nullable String, int);
+    method public int describeContents();
+    method public int getLegacyType();
+    method @NonNull public android.net.LinkProperties getLinkProperties();
+    method @NonNull public android.net.Network getNetwork();
+    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
+    method @Nullable public String getSubscriberId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStateSnapshot> CREATOR;
+  }
+
+  public class NetworkWatchlistManager {
+    method @Nullable public byte[] getWatchlistConfigHash();
+  }
+
+  public class PacProxyManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void addPacProxyInstalledListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.PacProxyManager.PacProxyInstalledListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void removePacProxyInstalledListener(@NonNull android.net.PacProxyManager.PacProxyInstalledListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setCurrentProxyScriptUrl(@Nullable android.net.ProxyInfo);
+  }
+
+  public static interface PacProxyManager.PacProxyInstalledListener {
+    method public void onPacProxyInstalled(@Nullable android.net.Network, @NonNull android.net.ProxyInfo);
+  }
+
+  public final class Proxy {
+    method public static void setHttpProxyConfiguration(@Nullable android.net.ProxyInfo);
+  }
+
+  public final class UnderlyingNetworkInfo implements android.os.Parcelable {
+    ctor public UnderlyingNetworkInfo(int, @NonNull String, @NonNull java.util.List<java.lang.String>);
+    method public int describeContents();
+    method @NonNull public String getInterface();
+    method public int getOwnerUid();
+    method @NonNull public java.util.List<java.lang.String> getUnderlyingInterfaces();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.UnderlyingNetworkInfo> CREATOR;
+  }
+
+  public class VpnManager {
+    field public static final int TYPE_VPN_LEGACY = 3; // 0x3
+    field public static final int TYPE_VPN_NONE = -1; // 0xffffffff
+    field public static final int TYPE_VPN_OEM = 4; // 0x4
+    field public static final int TYPE_VPN_PLATFORM = 2; // 0x2
+    field public static final int TYPE_VPN_SERVICE = 1; // 0x1
+  }
+
+}
+
+package android.os {
+
+  public final class BatteryStatsManager {
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void reportNetworkInterfaceForTransports(@NonNull String, @NonNull int[]) throws java.lang.RuntimeException;
+  }
+
+  public class Binder implements android.os.IBinder {
+    method public final void markVintfStability();
+  }
+
+  public class Build {
+    method public static boolean isDebuggable();
+  }
+
+  public static class Build.VERSION {
+    field public static final int DEVICE_INITIAL_SDK_INT;
+  }
+
+  public interface Parcelable {
+    method public default int getStability();
+  }
+
+  public class Process {
+    field public static final int VPN_UID = 1016; // 0x3f8
+  }
+
+  public class StatsServiceManager {
+    method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsCompanionServiceRegisterer();
+    method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsManagerServiceRegisterer();
+    method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsdServiceRegisterer();
+  }
+
+  public static class StatsServiceManager.ServiceNotFoundException extends java.lang.Exception {
+    ctor public StatsServiceManager.ServiceNotFoundException(@NonNull String);
+  }
+
+  public static final class StatsServiceManager.ServiceRegisterer {
+    method @Nullable public android.os.IBinder get();
+    method @Nullable public android.os.IBinder getOrThrow() throws android.os.StatsServiceManager.ServiceNotFoundException;
+  }
+
+}
+
+package android.os.storage {
+
+  public class StorageManager {
+    method public void notifyAppIoBlocked(@NonNull java.util.UUID, int, int, int);
+    method public void notifyAppIoResumed(@NonNull java.util.UUID, int, int, int);
+    field public static final int APP_IO_BLOCKED_REASON_TRANSCODING = 1; // 0x1
+    field public static final int APP_IO_BLOCKED_REASON_UNKNOWN = 0; // 0x0
+  }
+
+  public final class StorageVolume implements android.os.Parcelable {
+    method @NonNull public android.os.UserHandle getOwner();
+  }
+
+}
+
+package android.provider {
+
+  public final class DeviceConfig {
+    field public static final String NAMESPACE_ALARM_MANAGER = "alarm_manager";
+    field public static final String NAMESPACE_APP_STANDBY = "app_standby";
+    field public static final String NAMESPACE_DEVICE_IDLE = "device_idle";
+  }
+
+}
+
+package android.telephony {
+
+  public abstract class CellSignalStrength {
+    method public static int getNumSignalStrengthLevels();
+  }
+
+  public class TelephonyManager {
+    method @NonNull public static int[] getAllNetworkTypes();
+  }
+
+}
+
+package android.util {
+
+  public class AtomicFile {
+    ctor public AtomicFile(@NonNull java.io.File, @Nullable android.util.SystemConfigFileCommitEventLogger);
+  }
+
+  public final class Log {
+    method public static int logToRadioBuffer(int, @Nullable String, @Nullable String);
+  }
+
+  public class SystemConfigFileCommitEventLogger {
+    ctor public SystemConfigFileCommitEventLogger(@NonNull String);
+    method public void setStartTime(long);
+  }
+
+}
+
diff --git a/32/module-lib/api/android.net.ipsec.ike-removed.txt b/32/module-lib/api/android.net.ipsec.ike-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/android.net.ipsec.ike-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/android.net.ipsec.ike.txt b/32/module-lib/api/android.net.ipsec.ike.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/android.net.ipsec.ike.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/android.txt b/32/module-lib/api/android.txt
new file mode 100644
index 0000000..e63fc12
--- /dev/null
+++ b/32/module-lib/api/android.txt
@@ -0,0 +1,1465 @@
+// Signature format: 2.0
+package android {
+
+  public static final class Manifest.permission {
+    field public static final String GET_INTENT_SENDER_INTENT = "android.permission.GET_INTENT_SENDER_INTENT";
+  }
+
+}
+
+package android.app {
+
+  public class ActivityManager {
+    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void addHomeVisibilityListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.HomeVisibilityListener);
+    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void removeHomeVisibilityListener(@NonNull android.app.HomeVisibilityListener);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public boolean updateMccMncConfiguration(@NonNull String, @NonNull String);
+  }
+
+  public class AppOpsManager {
+    field public static final String OPSTR_NO_ISOLATED_STORAGE = "android:no_isolated_storage";
+  }
+
+  public class BroadcastOptions {
+    method public int getMaxManifestReceiverApiLevel();
+    method public void setMaxManifestReceiverApiLevel(int);
+  }
+
+  public abstract class HomeVisibilityListener {
+    ctor public HomeVisibilityListener();
+    method public abstract void onHomeVisibilityChanged(boolean);
+  }
+
+  public class NotificationManager {
+    method public boolean hasEnabledNotificationListener(@NonNull String, @NonNull android.os.UserHandle);
+    field public static final String ACTION_NOTIFICATION_LISTENER_ENABLED_CHANGED = "android.app.action.NOTIFICATION_LISTENER_ENABLED_CHANGED";
+  }
+
+  public final class PendingIntent implements android.os.Parcelable {
+    method @RequiresPermission(android.Manifest.permission.GET_INTENT_SENDER_INTENT) public boolean intentFilterEquals(@Nullable android.app.PendingIntent);
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_INTENT_SENDER_INTENT) public java.util.List<android.content.pm.ResolveInfo> queryIntentComponents(int);
+  }
+
+  public class StatusBarManager {
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setExpansionDisabledForSimNetworkLock(boolean);
+  }
+
+}
+
+package android.app.role {
+
+  public class RoleFrameworkInitializer {
+    method public static void registerServiceWrappers();
+  }
+
+  public final class RoleManager {
+    method @Nullable public String getBrowserRoleHolder(int);
+    method @Nullable public String getSmsRoleHolder(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public boolean setBrowserRoleHolder(@Nullable String, int);
+  }
+
+}
+
+package android.app.usage {
+
+  public class NetworkStatsManager {
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void notifyNetworkStatus(@NonNull java.util.List<android.net.Network>, @NonNull java.util.List<android.net.NetworkStateSnapshot>, @Nullable String, @NonNull java.util.List<android.net.UnderlyingNetworkInfo>);
+  }
+
+}
+
+package android.compat {
+
+  public final class Compatibility {
+    method public static void clearBehaviorChangeDelegate();
+    method public static void clearOverrides();
+    method public static boolean isChangeEnabled(long);
+    method public static void reportUnconditionalChange(long);
+    method public static void setBehaviorChangeDelegate(android.compat.Compatibility.BehaviorChangeDelegate);
+    method public static void setOverrides(android.compat.Compatibility.ChangeConfig);
+  }
+
+  public static interface Compatibility.BehaviorChangeDelegate {
+    method public default boolean isChangeEnabled(long);
+    method public default void onChangeReported(long);
+  }
+
+  public static final class Compatibility.ChangeConfig {
+    ctor public Compatibility.ChangeConfig(@NonNull java.util.Set<java.lang.Long>, @NonNull java.util.Set<java.lang.Long>);
+    method @NonNull public long[] getDisabledChangesArray();
+    method @NonNull public java.util.Set<java.lang.Long> getDisabledSet();
+    method @NonNull public long[] getEnabledChangesArray();
+    method @NonNull public java.util.Set<java.lang.Long> getEnabledSet();
+    method public boolean isEmpty();
+    method public boolean isForceDisabled(long);
+    method public boolean isForceEnabled(long);
+  }
+
+}
+
+package android.content {
+
+  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+    method @NonNull public static android.net.Uri createContentUriForUser(@NonNull android.net.Uri, @NonNull android.os.UserHandle);
+  }
+
+  public abstract class Context {
+    method @NonNull public android.os.UserHandle getUser();
+    field public static final String PAC_PROXY_SERVICE = "pac_proxy";
+    field public static final String TEST_NETWORK_SERVICE = "test_network";
+  }
+
+}
+
+package android.content.pm {
+
+  public abstract class PackageManager {
+    method @NonNull public String getPermissionControllerPackageName();
+  }
+
+}
+
+package android.hardware.usb {
+
+  public class UsbManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getGadgetHalVersion();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbBandwidthMbps();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbHalVersion();
+    field public static final int GADGET_HAL_NOT_SUPPORTED = -1; // 0xffffffff
+    field public static final int GADGET_HAL_V1_0 = 10; // 0xa
+    field public static final int GADGET_HAL_V1_1 = 11; // 0xb
+    field public static final int GADGET_HAL_V1_2 = 12; // 0xc
+    field public static final int USB_DATA_TRANSFER_RATE_10G = 10240; // 0x2800
+    field public static final int USB_DATA_TRANSFER_RATE_20G = 20480; // 0x5000
+    field public static final int USB_DATA_TRANSFER_RATE_40G = 40960; // 0xa000
+    field public static final int USB_DATA_TRANSFER_RATE_5G = 5120; // 0x1400
+    field public static final int USB_DATA_TRANSFER_RATE_FULL_SPEED = 12; // 0xc
+    field public static final int USB_DATA_TRANSFER_RATE_HIGH_SPEED = 480; // 0x1e0
+    field public static final int USB_DATA_TRANSFER_RATE_LOW_SPEED = 2; // 0x2
+    field public static final int USB_DATA_TRANSFER_RATE_UNKNOWN = -1; // 0xffffffff
+    field public static final int USB_HAL_NOT_SUPPORTED = -1; // 0xffffffff
+    field public static final int USB_HAL_V1_0 = 10; // 0xa
+    field public static final int USB_HAL_V1_1 = 11; // 0xb
+    field public static final int USB_HAL_V1_2 = 12; // 0xc
+    field public static final int USB_HAL_V1_3 = 13; // 0xd
+  }
+
+}
+
+package android.media {
+
+  public class AudioManager {
+    method public void adjustStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
+    method public void adjustSuggestedStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
+    method public void setStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
+    field public static final int FLAG_FROM_KEY = 4096; // 0x1000
+  }
+
+  public class MediaCommunicationManager {
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaCommunicationManager.SessionCallback);
+    method public void unregisterSessionCallback(@NonNull android.media.MediaCommunicationManager.SessionCallback);
+  }
+
+  public static interface MediaCommunicationManager.SessionCallback {
+    method public default void onSession2TokenCreated(@NonNull android.media.Session2Token);
+    method public default void onSession2TokensChanged(@NonNull java.util.List<android.media.Session2Token>);
+  }
+
+  public class MediaFrameworkInitializer {
+    method public static void registerServiceWrappers();
+    method public static void setMediaServiceManager(@NonNull android.media.MediaServiceManager);
+  }
+
+  public class MediaMetadataRetriever implements java.lang.AutoCloseable {
+    field public static final int METADATA_KEY_VIDEO_CODEC_MIME_TYPE = 40; // 0x28
+  }
+
+  @Deprecated public final class MediaParceledListSlice<T extends android.os.Parcelable> implements android.os.Parcelable {
+    ctor @Deprecated public MediaParceledListSlice(@NonNull java.util.List<T>);
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public static <T extends android.os.Parcelable> android.media.MediaParceledListSlice<T> emptyList();
+    method @Deprecated public java.util.List<T> getList();
+    method @Deprecated public void setInlineCountLimit(int);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.ClassLoaderCreator<android.media.MediaParceledListSlice> CREATOR;
+  }
+
+  public class MediaServiceManager {
+    method @NonNull public android.media.MediaServiceManager.ServiceRegisterer getMediaCommunicationServiceRegisterer();
+    method @NonNull public android.media.MediaServiceManager.ServiceRegisterer getMediaSessionServiceRegisterer();
+    method @NonNull public android.media.MediaServiceManager.ServiceRegisterer getMediaTranscodingServiceRegisterer();
+  }
+
+  public static final class MediaServiceManager.ServiceRegisterer {
+    method @Nullable public android.os.IBinder get();
+  }
+
+}
+
+package android.media.session {
+
+  public static final class MediaController.PlaybackInfo implements android.os.Parcelable {
+    ctor public MediaController.PlaybackInfo(int, int, @IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.media.AudioAttributes, @Nullable String);
+  }
+
+  public final class MediaSession {
+    field public static final int FLAG_EXCLUSIVE_GLOBAL_PRIORITY = 65536; // 0x10000
+  }
+
+  public static final class MediaSession.Token implements android.os.Parcelable {
+    method public int getUid();
+  }
+
+  public final class MediaSessionManager {
+    method public void addOnActiveSessionsChangedListener(@Nullable android.content.ComponentName, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener);
+    method public void dispatchMediaKeyEvent(@NonNull android.view.KeyEvent, boolean);
+    method public void dispatchMediaKeyEventAsSystemService(@NonNull android.view.KeyEvent);
+    method public boolean dispatchMediaKeyEventToSessionAsSystemService(@NonNull android.view.KeyEvent, @NonNull android.media.session.MediaSession.Token);
+    method public void dispatchVolumeKeyEvent(@NonNull android.view.KeyEvent, int, boolean);
+    method public void dispatchVolumeKeyEventAsSystemService(@NonNull android.view.KeyEvent, int);
+    method public void dispatchVolumeKeyEventToSessionAsSystemService(@NonNull android.view.KeyEvent, @NonNull android.media.session.MediaSession.Token);
+    method @NonNull public java.util.List<android.media.session.MediaController> getActiveSessionsForUser(@Nullable android.content.ComponentName, @NonNull android.os.UserHandle);
+    method public void registerRemoteSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.RemoteSessionCallback);
+    method public void unregisterRemoteSessionCallback(@NonNull android.media.session.MediaSessionManager.RemoteSessionCallback);
+    field public static final int RESULT_MEDIA_KEY_HANDLED = 1; // 0x1
+    field public static final int RESULT_MEDIA_KEY_NOT_HANDLED = 0; // 0x0
+  }
+
+  public static interface MediaSessionManager.RemoteSessionCallback {
+    method public void onDefaultRemoteSessionChanged(@Nullable android.media.session.MediaSession.Token);
+    method public void onVolumeChanged(@NonNull android.media.session.MediaSession.Token, int);
+  }
+
+}
+
+package android.net {
+
+  public final class ConnectivityFrameworkInitializer {
+    method public static void registerServiceWrappers();
+  }
+
+  public class ConnectivityManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void factoryReset();
+    method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public java.util.List<android.net.NetworkStateSnapshot> getAllNetworkStateSnapshots();
+    method @Nullable public android.net.ProxyInfo getGlobalProxy();
+    method @NonNull public static android.util.Range<java.lang.Integer> getIpSecNetIdRange();
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerDefaultNetworkCallbackForUid(int, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerSystemDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void requestBackgroundNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @Deprecated public boolean requestRouteToHostAddress(int, java.net.InetAddress);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAcceptPartialConnectivity(@NonNull android.net.Network, boolean, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAcceptUnvalidated(@NonNull android.net.Network, boolean, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAvoidUnvalidated(@NonNull android.net.Network);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setGlobalProxy(@Nullable android.net.ProxyInfo);
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setLegacyLockdownVpnEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreference(@NonNull android.os.UserHandle, int, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setRequireVpnForUids(boolean, @NonNull java.util.Collection<android.util.Range<java.lang.Integer>>);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_TEST_NETWORKS, android.Manifest.permission.NETWORK_STACK}) public void simulateDataStall(int, long, @NonNull android.net.Network, @NonNull android.os.PersistableBundle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void startCaptivePortalApp(@NonNull android.net.Network);
+    method public void systemReady();
+    field public static final String ACTION_CLEAR_DNS_CACHE = "android.net.action.CLEAR_DNS_CACHE";
+    field public static final String ACTION_PROMPT_LOST_VALIDATION = "android.net.action.PROMPT_LOST_VALIDATION";
+    field public static final String ACTION_PROMPT_PARTIAL_CONNECTIVITY = "android.net.action.PROMPT_PARTIAL_CONNECTIVITY";
+    field public static final String ACTION_PROMPT_UNVALIDATED = "android.net.action.PROMPT_UNVALIDATED";
+    field public static final int BLOCKED_METERED_REASON_ADMIN_DISABLED = 262144; // 0x40000
+    field public static final int BLOCKED_METERED_REASON_DATA_SAVER = 65536; // 0x10000
+    field public static final int BLOCKED_METERED_REASON_MASK = -65536; // 0xffff0000
+    field public static final int BLOCKED_METERED_REASON_USER_RESTRICTED = 131072; // 0x20000
+    field public static final int BLOCKED_REASON_APP_STANDBY = 4; // 0x4
+    field public static final int BLOCKED_REASON_BATTERY_SAVER = 1; // 0x1
+    field public static final int BLOCKED_REASON_DOZE = 2; // 0x2
+    field public static final int BLOCKED_REASON_LOCKDOWN_VPN = 16; // 0x10
+    field public static final int BLOCKED_REASON_NONE = 0; // 0x0
+    field public static final int BLOCKED_REASON_RESTRICTED_MODE = 8; // 0x8
+    field public static final int PROFILE_NETWORK_PREFERENCE_DEFAULT = 0; // 0x0
+    field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE = 1; // 0x1
+  }
+
+  public static class ConnectivityManager.NetworkCallback {
+    method public void onBlockedStatusChanged(@NonNull android.net.Network, int);
+  }
+
+  public class ConnectivitySettingsManager {
+    method public static void clearGlobalProxy(@NonNull android.content.Context);
+    method @Nullable public static String getCaptivePortalHttpUrl(@NonNull android.content.Context);
+    method public static int getCaptivePortalMode(@NonNull android.content.Context, int);
+    method @NonNull public static java.time.Duration getConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method @NonNull public static android.util.Range<java.lang.Integer> getDnsResolverSampleRanges(@NonNull android.content.Context);
+    method @NonNull public static java.time.Duration getDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static int getDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, int);
+    method @Nullable public static android.net.ProxyInfo getGlobalProxy(@NonNull android.content.Context);
+    method @NonNull public static java.time.Duration getMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static boolean getMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
+    method @NonNull public static java.util.Set<java.lang.Integer> getMobileDataPreferredUids(@NonNull android.content.Context);
+    method public static int getNetworkAvoidBadWifi(@NonNull android.content.Context);
+    method @Nullable public static String getNetworkMeteredMultipathPreference(@NonNull android.content.Context);
+    method public static int getNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, int);
+    method @NonNull public static java.time.Duration getNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method @NonNull public static String getPrivateDnsDefaultMode(@NonNull android.content.Context);
+    method @Nullable public static String getPrivateDnsHostname(@NonNull android.content.Context);
+    method public static int getPrivateDnsMode(@NonNull android.content.Context);
+    method @NonNull public static java.util.Set<java.lang.Integer> getUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context);
+    method public static boolean getWifiAlwaysRequested(@NonNull android.content.Context, boolean);
+    method @NonNull public static java.time.Duration getWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static void setCaptivePortalHttpUrl(@NonNull android.content.Context, @Nullable String);
+    method public static void setCaptivePortalMode(@NonNull android.content.Context, int);
+    method public static void setConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static void setDnsResolverSampleRanges(@NonNull android.content.Context, @NonNull android.util.Range<java.lang.Integer>);
+    method public static void setDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static void setDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, @IntRange(from=0, to=100) int);
+    method public static void setGlobalProxy(@NonNull android.content.Context, @NonNull android.net.ProxyInfo);
+    method public static void setMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static void setMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
+    method public static void setMobileDataPreferredUids(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
+    method public static void setNetworkAvoidBadWifi(@NonNull android.content.Context, int);
+    method public static void setNetworkMeteredMultipathPreference(@NonNull android.content.Context, @NonNull String);
+    method public static void setNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, @IntRange(from=0) int);
+    method public static void setNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static void setPrivateDnsDefaultMode(@NonNull android.content.Context, @NonNull int);
+    method public static void setPrivateDnsHostname(@NonNull android.content.Context, @Nullable String);
+    method public static void setPrivateDnsMode(@NonNull android.content.Context, int);
+    method public static void setUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
+    method public static void setWifiAlwaysRequested(@NonNull android.content.Context, boolean);
+    method public static void setWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
+    field public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; // 0x2
+    field public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; // 0x0
+    field public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; // 0x1
+    field public static final int NETWORK_AVOID_BAD_WIFI_AVOID = 2; // 0x2
+    field public static final int NETWORK_AVOID_BAD_WIFI_IGNORE = 0; // 0x0
+    field public static final int NETWORK_AVOID_BAD_WIFI_PROMPT = 1; // 0x1
+    field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1
+    field public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2; // 0x2
+    field public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3; // 0x3
+  }
+
+  public final class EthernetNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    ctor public EthernetNetworkSpecifier(@NonNull String);
+    method public int describeContents();
+    method @Nullable public String getInterfaceName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkSpecifier> CREATOR;
+  }
+
+  public static final class IpSecManager.UdpEncapsulationSocket implements java.lang.AutoCloseable {
+    method public int getResourceId();
+  }
+
+  public final class NetworkAgentConfig implements android.os.Parcelable {
+    method @Nullable public String getSubscriberId();
+    method public boolean isBypassableVpn();
+  }
+
+  public static final class NetworkAgentConfig.Builder {
+    method @NonNull public android.net.NetworkAgentConfig.Builder setBypassableVpn(boolean);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String);
+  }
+
+  public final class NetworkCapabilities implements android.os.Parcelable {
+    method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids();
+    method public boolean hasForbiddenCapability(int);
+    field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL
+    field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L
+    field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L
+    field public static final long REDACT_FOR_NETWORK_SETTINGS = 4L; // 0x4L
+    field public static final long REDACT_NONE = 0L; // 0x0L
+    field public static final int TRANSPORT_TEST = 7; // 0x7
+  }
+
+  public static final class NetworkCapabilities.Builder {
+    method @NonNull public android.net.NetworkCapabilities.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
+  }
+
+  public class NetworkPolicyManager {
+    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public int getMultipathPreference(@NonNull android.net.Network);
+    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public int getRestrictBackgroundStatus(int);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidNetworkingBlocked(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidRestrictedOnMeteredNetworks(int);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void registerNetworkPolicyCallback(@Nullable java.util.concurrent.Executor, @NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public void unregisterNetworkPolicyCallback(@NonNull android.net.NetworkPolicyManager.NetworkPolicyCallback);
+  }
+
+  public static interface NetworkPolicyManager.NetworkPolicyCallback {
+    method public default void onUidBlockedReasonChanged(int, int);
+  }
+
+  public class NetworkRequest implements android.os.Parcelable {
+    method @NonNull public int[] getForbiddenCapabilities();
+    method public boolean hasForbiddenCapability(int);
+  }
+
+  public static class NetworkRequest.Builder {
+    method @NonNull public android.net.NetworkRequest.Builder addForbiddenCapability(int);
+    method @NonNull public android.net.NetworkRequest.Builder removeForbiddenCapability(int);
+    method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
+  }
+
+  public final class NetworkStateSnapshot implements android.os.Parcelable {
+    ctor public NetworkStateSnapshot(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @Nullable String, int);
+    method public int describeContents();
+    method public int getLegacyType();
+    method @NonNull public android.net.LinkProperties getLinkProperties();
+    method @NonNull public android.net.Network getNetwork();
+    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
+    method @Nullable public String getSubscriberId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStateSnapshot> CREATOR;
+  }
+
+  public class NetworkWatchlistManager {
+    method @Nullable public byte[] getWatchlistConfigHash();
+  }
+
+  public class PacProxyManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void addPacProxyInstalledListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.PacProxyManager.PacProxyInstalledListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void removePacProxyInstalledListener(@NonNull android.net.PacProxyManager.PacProxyInstalledListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setCurrentProxyScriptUrl(@Nullable android.net.ProxyInfo);
+  }
+
+  public static interface PacProxyManager.PacProxyInstalledListener {
+    method public void onPacProxyInstalled(@Nullable android.net.Network, @NonNull android.net.ProxyInfo);
+  }
+
+  public final class Proxy {
+    method public static void setHttpProxyConfiguration(@Nullable android.net.ProxyInfo);
+  }
+
+  public final class TestNetworkInterface implements android.os.Parcelable {
+    ctor public TestNetworkInterface(@NonNull android.os.ParcelFileDescriptor, @NonNull String);
+    method public int describeContents();
+    method @NonNull public android.os.ParcelFileDescriptor getFileDescriptor();
+    method @NonNull public String getInterfaceName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR;
+  }
+
+  public class TestNetworkManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTapInterface();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTunInterface(@NonNull java.util.Collection<android.net.LinkAddress>);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void teardownTestNetwork(@NonNull android.net.Network);
+    field public static final String TEST_TAP_PREFIX = "testtap";
+  }
+
+  public final class TestNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    ctor public TestNetworkSpecifier(@NonNull String);
+    method public int describeContents();
+    method @Nullable public String getInterfaceName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkSpecifier> CREATOR;
+  }
+
+  public final class TetheringConstants {
+    field public static final String EXTRA_ADD_TETHER_TYPE = "extraAddTetherType";
+    field public static final String EXTRA_PROVISION_CALLBACK = "extraProvisionCallback";
+    field public static final String EXTRA_REM_TETHER_TYPE = "extraRemTetherType";
+    field public static final String EXTRA_RUN_PROVISION = "extraRunProvision";
+    field public static final String EXTRA_SET_ALARM = "extraSetAlarm";
+  }
+
+  public class TetheringManager {
+    ctor public TetheringManager(@NonNull android.content.Context, @NonNull java.util.function.Supplier<android.os.IBinder>);
+    method public int getLastTetherError(@NonNull String);
+    method @NonNull public String[] getTetherableBluetoothRegexs();
+    method @NonNull public String[] getTetherableIfaces();
+    method @NonNull public String[] getTetherableUsbRegexs();
+    method @NonNull public String[] getTetherableWifiRegexs();
+    method @NonNull public String[] getTetheredIfaces();
+    method @NonNull public String[] getTetheringErroredIfaces();
+    method public boolean isTetheringSupported();
+    method public boolean isTetheringSupported(@NonNull String);
+    method public void requestLatestTetheringEntitlementResult(int, @NonNull android.os.ResultReceiver, boolean);
+    method @Deprecated public int setUsbTethering(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(int, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback);
+    method @Deprecated public int tether(@NonNull String);
+    method @Deprecated public int untether(@NonNull String);
+  }
+
+  public static interface TetheringManager.TetheringEventCallback {
+    method @Deprecated public default void onTetherableInterfaceRegexpsChanged(@NonNull android.net.TetheringManager.TetheringInterfaceRegexps);
+  }
+
+  @Deprecated public static class TetheringManager.TetheringInterfaceRegexps {
+    method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableBluetoothRegexs();
+    method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableUsbRegexs();
+    method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableWifiRegexs();
+  }
+
+  public interface TransportInfo {
+    method public default long getApplicableRedactions();
+    method @NonNull public default android.net.TransportInfo makeCopy(long);
+  }
+
+  public final class UnderlyingNetworkInfo implements android.os.Parcelable {
+    ctor public UnderlyingNetworkInfo(int, @NonNull String, @NonNull java.util.List<java.lang.String>);
+    method public int describeContents();
+    method @NonNull public String getInterface();
+    method public int getOwnerUid();
+    method @NonNull public java.util.List<java.lang.String> getUnderlyingInterfaces();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.UnderlyingNetworkInfo> CREATOR;
+  }
+
+  public class VpnManager {
+    field public static final int TYPE_VPN_LEGACY = 3; // 0x3
+    field public static final int TYPE_VPN_NONE = -1; // 0xffffffff
+    field public static final int TYPE_VPN_OEM = 4; // 0x4
+    field public static final int TYPE_VPN_PLATFORM = 2; // 0x2
+    field public static final int TYPE_VPN_SERVICE = 1; // 0x1
+  }
+
+  public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
+    ctor public VpnTransportInfo(int, @Nullable String);
+    method public int describeContents();
+    method @Nullable public String getSessionId();
+    method public int getType();
+    method @NonNull public android.net.VpnTransportInfo makeCopy(long);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR;
+  }
+
+}
+
+package android.os {
+
+  public final class BatteryStatsManager {
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void reportNetworkInterfaceForTransports(@NonNull String, @NonNull int[]) throws java.lang.RuntimeException;
+  }
+
+  public class Binder implements android.os.IBinder {
+    method public final void markVintfStability();
+  }
+
+  public class Build {
+    method public static boolean isDebuggable();
+  }
+
+  public static class Build.VERSION {
+    field public static final int DEVICE_INITIAL_SDK_INT;
+  }
+
+  public interface Parcelable {
+    method public default int getStability();
+  }
+
+  public class Process {
+    field public static final int VPN_UID = 1016; // 0x3f8
+  }
+
+  public class StatsFrameworkInitializer {
+    method public static void registerServiceWrappers();
+    method public static void setStatsServiceManager(@NonNull android.os.StatsServiceManager);
+  }
+
+  public class StatsServiceManager {
+    method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsCompanionServiceRegisterer();
+    method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsManagerServiceRegisterer();
+    method @NonNull public android.os.StatsServiceManager.ServiceRegisterer getStatsdServiceRegisterer();
+  }
+
+  public static class StatsServiceManager.ServiceNotFoundException extends java.lang.Exception {
+    ctor public StatsServiceManager.ServiceNotFoundException(@NonNull String);
+  }
+
+  public static final class StatsServiceManager.ServiceRegisterer {
+    method @Nullable public android.os.IBinder get();
+    method @Nullable public android.os.IBinder getOrThrow() throws android.os.StatsServiceManager.ServiceNotFoundException;
+  }
+
+}
+
+package android.os.storage {
+
+  public class StorageManager {
+    method public void notifyAppIoBlocked(@NonNull java.util.UUID, int, int, int);
+    method public void notifyAppIoResumed(@NonNull java.util.UUID, int, int, int);
+    field public static final int APP_IO_BLOCKED_REASON_TRANSCODING = 1; // 0x1
+    field public static final int APP_IO_BLOCKED_REASON_UNKNOWN = 0; // 0x0
+  }
+
+  public final class StorageVolume implements android.os.Parcelable {
+    method @NonNull public android.os.UserHandle getOwner();
+  }
+
+}
+
+package android.provider {
+
+  public final class DeviceConfig {
+    field public static final String NAMESPACE_ALARM_MANAGER = "alarm_manager";
+    field public static final String NAMESPACE_APP_STANDBY = "app_standby";
+    field public static final String NAMESPACE_DEVICE_IDLE = "device_idle";
+  }
+
+}
+
+package android.scheduling {
+
+  public class SchedulingFrameworkInitializer {
+    method public static void registerServiceWrappers();
+  }
+
+}
+
+package android.system {
+
+  public final class NetlinkSocketAddress extends java.net.SocketAddress {
+    ctor public NetlinkSocketAddress(int, int);
+    method public int getGroupsMask();
+    method public int getPortId();
+  }
+
+  public final class Os {
+    method @Nullable public static android.system.StructCapUserData[] capget(@NonNull android.system.StructCapUserHeader) throws android.system.ErrnoException;
+    method public static void capset(@NonNull android.system.StructCapUserHeader, @NonNull android.system.StructCapUserData[]) throws android.system.ErrnoException;
+    method public static int getpgid(int) throws android.system.ErrnoException;
+    method @Nullable public static android.system.StructRlimit getrlimit(int) throws android.system.ErrnoException;
+    method public static int getsockoptInt(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
+    method @Nullable public static android.system.StructLinger getsockoptLinger(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
+    method public static int ioctlInt(@NonNull java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method @Nullable public static java.io.FileDescriptor[] pipe2(int) throws android.system.ErrnoException;
+    method @Nullable public static String realpath(@Nullable String) throws android.system.ErrnoException;
+    method public static void setpgid(int, int) throws android.system.ErrnoException;
+    method public static void setregid(int, int) throws android.system.ErrnoException;
+    method public static void setreuid(int, int) throws android.system.ErrnoException;
+    method public static void setsockoptIfreq(@NonNull java.io.FileDescriptor, int, int, @Nullable String) throws android.system.ErrnoException;
+    method public static void setsockoptLinger(@NonNull java.io.FileDescriptor, int, int, @NonNull android.system.StructLinger) throws android.system.ErrnoException;
+    method public static long splice(@NonNull java.io.FileDescriptor, @Nullable android.system.Int64Ref, @NonNull java.io.FileDescriptor, @Nullable android.system.Int64Ref, long, int) throws android.system.ErrnoException;
+    method public static void unlink(@Nullable String) throws android.system.ErrnoException;
+  }
+
+  public final class OsConstants {
+    method public static int CAP_TO_INDEX(int);
+    method public static int CAP_TO_MASK(int);
+    field public static final int ARPHRD_LOOPBACK;
+    field public static final int EUSERS;
+    field public static final int MAP_POPULATE;
+    field public static final int O_DIRECT;
+    field public static final int PR_CAP_AMBIENT;
+    field public static final int PR_CAP_AMBIENT_RAISE;
+    field public static final int RLIMIT_NOFILE;
+    field public static final int RTMGRP_IPV4_IFADDR;
+    field public static final int SPLICE_F_MORE;
+    field public static final int SPLICE_F_MOVE;
+    field public static final int TIOCOUTQ;
+    field public static final int UDP_ENCAP;
+    field public static final int UDP_ENCAP_ESPINUDP;
+    field public static final int XATTR_CREATE;
+    field public static final int XATTR_REPLACE;
+    field public static final int _LINUX_CAPABILITY_VERSION_3;
+  }
+
+  public final class PacketSocketAddress extends java.net.SocketAddress {
+    ctor public PacketSocketAddress(int, int, byte[]);
+  }
+
+  public final class StructCapUserData {
+    ctor public StructCapUserData(int, int, int);
+    field public final int effective;
+    field public final int inheritable;
+    field public final int permitted;
+  }
+
+  public final class StructCapUserHeader {
+    ctor public StructCapUserHeader(int, int);
+  }
+
+  public final class StructLinger {
+    ctor public StructLinger(int, int);
+    method public boolean isOn();
+    field public final int l_linger;
+  }
+
+  public final class StructRlimit {
+    field public final long rlim_cur;
+  }
+
+  public final class UnixSocketAddress extends java.net.SocketAddress {
+    method public static android.system.UnixSocketAddress createFileSystem(String);
+  }
+
+  public final class VmSocketAddress extends java.net.SocketAddress {
+    ctor public VmSocketAddress(int, int);
+    method public int getSvmCid();
+    method public int getSvmPort();
+  }
+
+}
+
+package android.telephony {
+
+  public abstract class CellSignalStrength {
+    method public static int getNumSignalStrengthLevels();
+  }
+
+  public class TelephonyManager {
+    method @NonNull public static int[] getAllNetworkTypes();
+  }
+
+}
+
+package android.util {
+
+  public class AtomicFile {
+    ctor public AtomicFile(@NonNull java.io.File, @Nullable android.util.SystemConfigFileCommitEventLogger);
+  }
+
+  public final class Log {
+    method public static int logToRadioBuffer(int, @Nullable String, @Nullable String);
+  }
+
+  public class SystemConfigFileCommitEventLogger {
+    ctor public SystemConfigFileCommitEventLogger(@NonNull String);
+    method public void setStartTime(long);
+  }
+
+}
+
+package com.android.okhttp.internalandroidapi {
+
+  public final class AndroidResponseCacheAdapter {
+    ctor public AndroidResponseCacheAdapter(@NonNull com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder);
+    method public void close() throws java.io.IOException;
+    method public void delete() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method @Nullable public java.net.CacheResponse get(@NonNull java.net.URI, @NonNull String, @Nullable java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method @NonNull public com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder getCacheHolder();
+    method public int getHitCount();
+    method public long getMaxSize();
+    method public int getNetworkCount();
+    method public int getRequestCount();
+    method public long getSize() throws java.io.IOException;
+    method @Nullable public java.net.CacheRequest put(@NonNull java.net.URI, @NonNull java.net.URLConnection) throws java.io.IOException;
+  }
+
+  public interface HasCacheHolder {
+    method @NonNull public com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder getCacheHolder();
+  }
+
+  public static final class HasCacheHolder.CacheHolder {
+    method @NonNull public static com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder create(@NonNull java.io.File, long);
+    method public boolean isEquivalent(@NonNull java.io.File, long);
+  }
+
+}
+
+package dalvik.annotation.codegen {
+
+  @java.lang.annotation.Repeatable(CovariantReturnType.CovariantReturnTypes.class) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface CovariantReturnType {
+    method public abstract int presentAfter();
+    method public abstract Class<?> returnType();
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public static @interface CovariantReturnType.CovariantReturnTypes {
+    method public abstract dalvik.annotation.codegen.CovariantReturnType[] value();
+  }
+
+}
+
+package dalvik.annotation.optimization {
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface CriticalNative {
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface FastNative {
+  }
+
+}
+
+package dalvik.system {
+
+  public final class AnnotatedStackTraceElement {
+    method @Nullable public Object getBlockedOn();
+    method @Nullable public Object[] getHeldLocks();
+    method @NonNull public StackTraceElement getStackTraceElement();
+  }
+
+  public class AppSpecializationHooks {
+    method public static void handleCompatChangesBeforeBindingApplication();
+  }
+
+  public class BaseDexClassLoader extends java.lang.ClassLoader {
+    method public void addDexPath(@Nullable String);
+    method public void addNativePath(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public String getLdLibraryPath();
+    method public void reportClassLoaderChain();
+    method public static void setReporter(@Nullable dalvik.system.BaseDexClassLoader.Reporter);
+  }
+
+  public static interface BaseDexClassLoader.Reporter {
+    method public void report(@NonNull java.util.Map<java.lang.String,java.lang.String>);
+  }
+
+  public final class BlockGuard {
+    method @NonNull public static dalvik.system.BlockGuard.Policy getThreadPolicy();
+    method @NonNull public static dalvik.system.BlockGuard.VmPolicy getVmPolicy();
+    method public static void setThreadPolicy(@NonNull dalvik.system.BlockGuard.Policy);
+    method public static void setVmPolicy(@NonNull dalvik.system.BlockGuard.VmPolicy);
+    field public static final dalvik.system.BlockGuard.Policy LAX_POLICY;
+    field public static final dalvik.system.BlockGuard.VmPolicy LAX_VM_POLICY;
+  }
+
+  public static interface BlockGuard.Policy {
+    method public int getPolicyMask();
+    method public void onReadFromDisk();
+    method public void onUnbufferedIO();
+    method public void onWriteToDisk();
+  }
+
+  public static interface BlockGuard.VmPolicy {
+    method public void onPathAccess(@NonNull String);
+  }
+
+  public final class CloseGuard {
+    method public void close();
+    method public static dalvik.system.CloseGuard get();
+    method public static dalvik.system.CloseGuard.Reporter getReporter();
+    method public void open(String);
+    method public void openWithCallSite(String, String);
+    method public static void setEnabled(boolean);
+    method public static void setReporter(dalvik.system.CloseGuard.Reporter);
+    method public void warnIfOpen();
+  }
+
+  public static interface CloseGuard.Reporter {
+    method public void report(String, Throwable);
+    method public default void report(String);
+  }
+
+  public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
+    ctor public DelegateLastClassLoader(String, String, ClassLoader, ClassLoader[]);
+  }
+
+  @Deprecated public final class DexFile {
+    method @Deprecated @NonNull public static dalvik.system.DexFile.OptimizationInfo getDexFileOptimizationInfo(@NonNull String, @NonNull String) throws java.io.FileNotFoundException;
+    method @Deprecated @Nullable public static String[] getDexFileOutputPaths(@NonNull String, @NonNull String) throws java.io.FileNotFoundException;
+    method @Deprecated public static int getDexOptNeeded(@NonNull String, @NonNull String, @NonNull String, @Nullable String, boolean, boolean) throws java.io.FileNotFoundException, java.io.IOException;
+    method @Deprecated @NonNull public static String getSafeModeCompilerFilter(@NonNull String);
+    method @Deprecated public static boolean isProfileGuidedCompilerFilter(@NonNull String);
+    method @Deprecated public static boolean isValidCompilerFilter(@NonNull String);
+    field @Deprecated public static final int DEX2OAT_FOR_FILTER = 3; // 0x3
+    field @Deprecated public static final int NO_DEXOPT_NEEDED = 0; // 0x0
+  }
+
+  @Deprecated public static final class DexFile.OptimizationInfo {
+    method @Deprecated @NonNull public String getReason();
+    method @Deprecated @NonNull public String getStatus();
+  }
+
+  public class PathClassLoader extends dalvik.system.BaseDexClassLoader {
+    ctor public PathClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, @Nullable ClassLoader[]);
+  }
+
+  public final class RuntimeHooks {
+    method public static void setTimeZoneIdSupplier(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public static void setUncaughtExceptionPreHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler);
+  }
+
+  public abstract class SocketTagger {
+    ctor public SocketTagger();
+    method public static dalvik.system.SocketTagger get();
+    method public static void set(dalvik.system.SocketTagger);
+    method public abstract void tag(java.io.FileDescriptor) throws java.net.SocketException;
+    method public final void tag(java.net.Socket) throws java.net.SocketException;
+    method public final void tag(java.net.DatagramSocket) throws java.net.SocketException;
+    method public abstract void untag(java.io.FileDescriptor) throws java.net.SocketException;
+    method public final void untag(java.net.Socket) throws java.net.SocketException;
+    method public final void untag(java.net.DatagramSocket) throws java.net.SocketException;
+  }
+
+  public final class VMDebug {
+    method public static void attachAgent(String, ClassLoader) throws java.io.IOException;
+    method public static long countInstancesOfClass(Class, boolean);
+    method public static long[] countInstancesOfClasses(Class[], boolean);
+    method public static void dumpHprofData(String) throws java.io.IOException;
+    method public static void dumpHprofData(String, java.io.FileDescriptor) throws java.io.IOException;
+    method public static void dumpHprofDataDdms();
+    method public static void dumpReferenceTables();
+    method public static int getAllocCount(int);
+    method @dalvik.annotation.optimization.FastNative public static int getLoadedClassCount();
+    method public static int getMethodTracingMode();
+    method public static String getRuntimeStat(String);
+    method public static java.util.Map<java.lang.String,java.lang.String> getRuntimeStats();
+    method public static String[] getVmFeatureList();
+    method @dalvik.annotation.optimization.FastNative public static boolean isDebuggerConnected();
+    method @dalvik.annotation.optimization.FastNative public static boolean isDebuggingEnabled();
+    method @dalvik.annotation.optimization.FastNative public static long lastDebuggerActivity();
+    method @dalvik.annotation.optimization.FastNative public static void printLoadedClasses(int);
+    method public static void resetAllocCount(int);
+    method public static void setAllocTrackerStackDepth(int);
+    method public static void startAllocCounting();
+    method public static void startMethodTracing(String, int, int, boolean, int);
+    method public static void startMethodTracing(String, java.io.FileDescriptor, int, int, boolean, int, boolean);
+    method public static void startMethodTracingDdms(int, int, boolean, int);
+    method public static void stopAllocCounting();
+    method public static void stopMethodTracing();
+    method @dalvik.annotation.optimization.FastNative public static long threadCpuTimeNanos();
+    field public static final int KIND_ALL_COUNTS = -1; // 0xffffffff
+    field public static final int KIND_GLOBAL_ALLOCATED_BYTES = 2; // 0x2
+    field public static final int KIND_GLOBAL_ALLOCATED_OBJECTS = 1; // 0x1
+    field public static final int KIND_GLOBAL_CLASS_INIT_COUNT = 32; // 0x20
+    field public static final int KIND_GLOBAL_CLASS_INIT_TIME = 64; // 0x40
+    field public static final int KIND_GLOBAL_FREED_BYTES = 8; // 0x8
+    field public static final int KIND_GLOBAL_FREED_OBJECTS = 4; // 0x4
+    field public static final int KIND_GLOBAL_GC_INVOCATIONS = 16; // 0x10
+    field public static final int KIND_THREAD_ALLOCATED_BYTES = 131072; // 0x20000
+    field public static final int KIND_THREAD_ALLOCATED_OBJECTS = 65536; // 0x10000
+    field public static final int KIND_THREAD_GC_INVOCATIONS = 1048576; // 0x100000
+    field public static final int TRACE_COUNT_ALLOCS = 1; // 0x1
+  }
+
+  public final class VMRuntime {
+    method @dalvik.annotation.optimization.FastNative public long addressOf(Object);
+    method public static void bootCompleted();
+    method public void clampGrowthLimit();
+    method public void clearGrowthLimit();
+    method public static String getCurrentInstructionSet();
+    method public static String getInstructionSet(String);
+    method public static dalvik.system.VMRuntime getRuntime();
+    method public int getTargetSdkVersion();
+    method @dalvik.annotation.optimization.FastNative public boolean is64Bit();
+    method public static boolean is64BitAbi(String);
+    method public static boolean is64BitInstructionSet(String);
+    method @dalvik.annotation.optimization.FastNative public boolean isCheckJniEnabled();
+    method @dalvik.annotation.optimization.FastNative public boolean isNativeDebuggable();
+    method public static boolean isValidClassLoaderContext(String);
+    method @dalvik.annotation.optimization.FastNative public Object newNonMovableArray(Class<?>, int);
+    method @dalvik.annotation.optimization.FastNative public Object newUnpaddedArray(Class<?>, int);
+    method public void notifyStartupCompleted();
+    method public void preloadDexCaches();
+    method public static void registerAppInfo(String, String, String, String[], int);
+    method public void registerNativeAllocation(long);
+    method @Deprecated public void registerNativeAllocation(int);
+    method public void registerNativeFree(long);
+    method @Deprecated public void registerNativeFree(int);
+    method public static void registerSensitiveThread();
+    method public void requestConcurrentGC();
+    method public static void resetJitCounters();
+    method public static void setDedupeHiddenApiWarnings(boolean);
+    method public void setDisabledCompatChanges(long[]);
+    method public void setHiddenApiAccessLogSamplingRate(int);
+    method public void setHiddenApiExemptions(String[]);
+    method public static void setHiddenApiUsageLogger(dalvik.system.VMRuntime.HiddenApiUsageLogger);
+    method public static void setNonSdkApiUsageConsumer(java.util.function.Consumer<java.lang.String>);
+    method public static void setProcessDataDirectory(String);
+    method public static void setProcessPackageName(String);
+    method public void setTargetSdkVersion(int);
+    method public void updateProcessState(int);
+    method public String vmInstructionSet();
+    method public String vmLibrary();
+    field public static final int CODE_PATH_TYPE_PRIMARY_APK = 1; // 0x1
+    field public static final int CODE_PATH_TYPE_SECONDARY_DEX = 4; // 0x4
+    field public static final int CODE_PATH_TYPE_SPLIT_APK = 2; // 0x2
+    field public static final int SDK_VERSION_CUR_DEVELOPMENT = 10000; // 0x2710
+  }
+
+  public static interface VMRuntime.HiddenApiUsageLogger {
+    method public void hiddenApiUsed(int, String, String, int, boolean);
+    field public static final int ACCESS_METHOD_JNI = 2; // 0x2
+    field public static final int ACCESS_METHOD_LINKING = 3; // 0x3
+    field public static final int ACCESS_METHOD_NONE = 0; // 0x0
+    field public static final int ACCESS_METHOD_REFLECTION = 1; // 0x1
+  }
+
+  public final class VMStack {
+    method @Nullable @dalvik.annotation.optimization.FastNative public static dalvik.system.AnnotatedStackTraceElement[] getAnnotatedThreadStackTrace(Thread);
+  }
+
+  public final class ZygoteHooks {
+    method public static void gcAndFinalize();
+    method public static boolean isIndefiniteThreadSuspensionSafe();
+    method public static void onBeginPreload();
+    method public static void onEndPreload();
+    method public static void postForkChild(int, boolean, boolean, String);
+    method public static void postForkCommon();
+    method public static void postForkSystemServer(int);
+    method public static void preFork();
+    method public static void startZygoteNoThreadCreation();
+    method public static void stopZygoteNoThreadCreation();
+  }
+
+}
+
+package java.io {
+
+  public final class FileDescriptor {
+    method public int getInt$();
+    method public void setInt$(int);
+  }
+
+  public class FileInputStream extends java.io.InputStream {
+    ctor public FileInputStream(java.io.FileDescriptor, boolean);
+  }
+
+}
+
+package java.lang {
+
+  public class Thread implements java.lang.Runnable {
+    method public static java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionPreHandler();
+    method public static void setUncaughtExceptionPreHandler(java.lang.Thread.UncaughtExceptionHandler);
+  }
+
+}
+
+package java.net {
+
+  public class DatagramSocket implements java.io.Closeable {
+    method public java.io.FileDescriptor getFileDescriptor$();
+  }
+
+  public final class Inet4Address extends java.net.InetAddress {
+    field public static final java.net.InetAddress ALL;
+    field public static final java.net.InetAddress ANY;
+    field public static final java.net.InetAddress LOOPBACK;
+  }
+
+  public final class Inet6Address extends java.net.InetAddress {
+    field public static final java.net.InetAddress ANY;
+    field public static final java.net.InetAddress LOOPBACK;
+  }
+
+  public class InetAddress implements java.io.Serializable {
+    method public static void clearDnsCache();
+    method @NonNull public static java.net.InetAddress[] getAllByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException;
+    method @NonNull public static java.net.InetAddress getByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException;
+    method @Deprecated public static boolean isNumeric(String);
+    method @Deprecated public static java.net.InetAddress parseNumericAddress(String);
+  }
+
+  public class InetSocketAddress extends java.net.SocketAddress {
+    ctor public InetSocketAddress();
+  }
+
+  public class ServerSocket implements java.io.Closeable {
+    method public java.net.SocketImpl getImpl() throws java.net.SocketException;
+  }
+
+  public class Socket implements java.io.Closeable {
+    method public java.io.FileDescriptor getFileDescriptor$();
+  }
+
+  public abstract class SocketImpl implements java.net.SocketOptions {
+    method public java.io.FileDescriptor getFD$();
+  }
+
+}
+
+package java.nio {
+
+  public abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer> {
+    method public void setAccessible(boolean);
+  }
+
+  public class DirectByteBuffer extends java.nio.MappedByteBuffer {
+    ctor public DirectByteBuffer(int, long, java.io.FileDescriptor, Runnable, boolean);
+    method public final long address();
+    method public final void setAccessible(boolean);
+  }
+
+  public final class NIOAccess {
+    method public static Object getBaseArray(java.nio.Buffer);
+    method public static int getBaseArrayOffset(java.nio.Buffer);
+  }
+
+  public final class NioUtils {
+    method public static void freeDirectBuffer(java.nio.ByteBuffer);
+    method public static byte[] unsafeArray(java.nio.ByteBuffer);
+    method public static int unsafeArrayOffset(java.nio.ByteBuffer);
+  }
+
+}
+
+package java.security {
+
+  public abstract class Provider extends java.util.Properties {
+    method public void warmUpServiceProvision();
+  }
+
+  public abstract class Signature extends java.security.SignatureSpi {
+    method public java.security.SignatureSpi getCurrentSpi();
+  }
+
+}
+
+package java.text {
+
+  public abstract class DateFormat extends java.text.Format {
+    method public static final void set24HourTimePref(Boolean);
+  }
+
+}
+
+package java.util {
+
+  public class LinkedHashMap<K, V> extends java.util.HashMap<K,V> implements java.util.Map<K,V> {
+    method public java.util.Map.Entry<K,V> eldest();
+  }
+
+}
+
+package java.util.zip {
+
+  public class ZipEntry implements java.lang.Cloneable {
+    method public long getDataOffset();
+  }
+
+}
+
+package javax.crypto {
+
+  public class Cipher {
+    method public javax.crypto.CipherSpi getCurrentSpi();
+  }
+
+  public class Mac implements java.lang.Cloneable {
+    method public javax.crypto.MacSpi getCurrentSpi();
+  }
+
+}
+
+package javax.net.ssl {
+
+  public abstract class HttpsURLConnection extends java.net.HttpURLConnection {
+    method public static javax.net.ssl.HostnameVerifier getStrictHostnameVerifier();
+  }
+
+}
+
+package libcore.content.type {
+
+  public final class MimeMap {
+    method @NonNull public libcore.content.type.MimeMap.Builder buildUpon();
+    method @NonNull public static libcore.content.type.MimeMap.Builder builder();
+    method @NonNull public java.util.Set<java.lang.String> extensions();
+    method @NonNull public static libcore.content.type.MimeMap getDefault();
+    method @Nullable public String guessExtensionFromMimeType(@Nullable String);
+    method @Nullable public String guessMimeTypeFromExtension(@Nullable String);
+    method public boolean hasExtension(@Nullable String);
+    method public boolean hasMimeType(@Nullable String);
+    method @NonNull public java.util.Set<java.lang.String> mimeTypes();
+    method public static void setDefaultSupplier(@NonNull java.util.function.Supplier<libcore.content.type.MimeMap>);
+  }
+
+  public static final class MimeMap.Builder {
+    method @NonNull public libcore.content.type.MimeMap.Builder addMimeMapping(@NonNull String, @NonNull java.util.List<java.lang.String>);
+    method @NonNull public libcore.content.type.MimeMap build();
+  }
+
+}
+
+package libcore.io {
+
+  public class ForwardingOs implements libcore.io.Os {
+    ctor protected ForwardingOs(@NonNull libcore.io.Os);
+    method public boolean access(@Nullable String, int) throws android.system.ErrnoException;
+    method public java.io.FileDescriptor open(@Nullable String, int, int) throws android.system.ErrnoException;
+    method public void remove(@Nullable String) throws android.system.ErrnoException;
+    method public void rename(@Nullable String, @Nullable String) throws android.system.ErrnoException;
+    method @Nullable public android.system.StructStat stat(@Nullable String) throws android.system.ErrnoException;
+    method public void unlink(@Nullable String) throws android.system.ErrnoException;
+  }
+
+  public final class IoBridge {
+    method public static void closeAndSignalBlockedThreads(@NonNull java.io.FileDescriptor) throws java.io.IOException;
+    method @NonNull public static java.io.FileDescriptor open(@NonNull String, int) throws java.io.FileNotFoundException;
+    method public static int read(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException;
+    method public static void write(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException;
+  }
+
+  public final class IoUtils {
+    method public static int acquireRawFd(@NonNull java.io.FileDescriptor);
+    method public static void close(@Nullable java.io.FileDescriptor) throws java.io.IOException;
+    method public static void closeQuietly(@Nullable AutoCloseable);
+    method public static void closeQuietly(@Nullable java.io.FileDescriptor);
+    method public static void closeQuietly(@Nullable java.net.Socket);
+    method @NonNull public static byte[] readFileAsByteArray(@NonNull String) throws java.io.IOException;
+    method @NonNull public static String readFileAsString(@NonNull String) throws java.io.IOException;
+    method public static void setBlocking(@NonNull java.io.FileDescriptor, boolean) throws java.io.IOException;
+    method public static void setFdOwner(@NonNull java.io.FileDescriptor, @NonNull Object);
+  }
+
+  public final class Memory {
+    method public static void memmove(@NonNull Object, int, @NonNull Object, int, long);
+    method public static int peekInt(@NonNull byte[], int, @NonNull java.nio.ByteOrder);
+    method public static short peekShort(@NonNull byte[], int, @NonNull java.nio.ByteOrder);
+    method public static void pokeInt(@NonNull byte[], int, int, @NonNull java.nio.ByteOrder);
+    method public static void pokeLong(@NonNull byte[], int, long, @NonNull java.nio.ByteOrder);
+    method public static void pokeShort(@NonNull byte[], int, short, @NonNull java.nio.ByteOrder);
+  }
+
+  public interface Os {
+    method public static boolean compareAndSetDefault(libcore.io.Os, libcore.io.Os);
+    method public static libcore.io.Os getDefault();
+  }
+
+  public final class Streams {
+    method public static int copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream) throws java.io.IOException;
+    method public static void readFully(@NonNull java.io.InputStream, @NonNull byte[]) throws java.io.IOException;
+    method @NonNull public static byte[] readFully(@NonNull java.io.InputStream) throws java.io.IOException;
+    method @NonNull public static String readFully(@NonNull java.io.Reader) throws java.io.IOException;
+    method @NonNull public static byte[] readFullyNoClose(@NonNull java.io.InputStream) throws java.io.IOException;
+    method public static int readSingleByte(@NonNull java.io.InputStream) throws java.io.IOException;
+    method public static long skipByReading(@NonNull java.io.InputStream, long) throws java.io.IOException;
+    method public static void writeSingleByte(@NonNull java.io.OutputStream, int) throws java.io.IOException;
+  }
+
+}
+
+package libcore.net {
+
+  public class InetAddressUtils {
+    method public static boolean isNumericAddress(String);
+    method public static java.net.InetAddress parseNumericAddress(String);
+  }
+
+  public abstract class NetworkSecurityPolicy {
+    ctor public NetworkSecurityPolicy();
+    method public static libcore.net.NetworkSecurityPolicy getInstance();
+    method public abstract boolean isCertificateTransparencyVerificationRequired(String);
+    method public abstract boolean isCleartextTrafficPermitted();
+    method public abstract boolean isCleartextTrafficPermitted(String);
+    method public static void setInstance(libcore.net.NetworkSecurityPolicy);
+  }
+
+}
+
+package libcore.net.event {
+
+  public final class NetworkEventDispatcher {
+    method public void dispatchNetworkConfigurationChange();
+    method public static libcore.net.event.NetworkEventDispatcher getInstance();
+  }
+
+}
+
+package libcore.net.http {
+
+  public interface Dns {
+    method @NonNull public java.util.List<java.net.InetAddress> lookup(@Nullable String) throws java.net.UnknownHostException;
+  }
+
+  public class HttpURLConnectionFactory {
+    method @NonNull public static libcore.net.http.HttpURLConnectionFactory createInstance();
+    method public java.net.URLConnection openConnection(@NonNull java.net.URL, @NonNull javax.net.SocketFactory, @NonNull java.net.Proxy) throws java.io.IOException;
+    method public void setDns(@NonNull libcore.net.http.Dns);
+    method public void setNewConnectionPool(int, long, @NonNull java.util.concurrent.TimeUnit);
+  }
+
+}
+
+package libcore.util {
+
+  public final class EmptyArray {
+    field @NonNull public static final boolean[] BOOLEAN;
+    field @NonNull public static final byte[] BYTE;
+    field @NonNull public static final float[] FLOAT;
+    field @NonNull public static final int[] INT;
+    field @NonNull public static final long[] LONG;
+    field @NonNull public static final Object[] OBJECT;
+    field @NonNull public static final String[] STRING;
+  }
+
+  public final class FP16 {
+    method public static short ceil(short);
+    method public static int compare(short, short);
+    method public static boolean equals(short, short);
+    method public static short floor(short);
+    method public static boolean greater(short, short);
+    method public static boolean greaterEquals(short, short);
+    method public static boolean isInfinite(short);
+    method public static boolean isNaN(short);
+    method public static boolean isNormalized(short);
+    method public static boolean less(short, short);
+    method public static boolean lessEquals(short, short);
+    method public static short max(short, short);
+    method public static short min(short, short);
+    method public static short rint(short);
+    method public static float toFloat(short);
+    method public static short toHalf(float);
+    method public static String toHexString(short);
+    method public static short trunc(short);
+    field public static final short EPSILON = 5120; // 0x1400
+    field public static final int EXPONENT_BIAS = 15; // 0xf
+    field public static final int EXPONENT_SHIFT = 10; // 0xa
+    field public static final int EXPONENT_SIGNIFICAND_MASK = 32767; // 0x7fff
+    field public static final short LOWEST_VALUE = -1025; // 0xfffffbff
+    field public static final int MAX_EXPONENT = 15; // 0xf
+    field public static final short MAX_VALUE = 31743; // 0x7bff
+    field public static final int MIN_EXPONENT = -14; // 0xfffffff2
+    field public static final short MIN_NORMAL = 1024; // 0x400
+    field public static final short MIN_VALUE = 1; // 0x1
+    field public static final short NEGATIVE_INFINITY = -1024; // 0xfffffc00
+    field public static final short NEGATIVE_ZERO = -32768; // 0xffff8000
+    field public static final short NaN = 32256; // 0x7e00
+    field public static final short POSITIVE_INFINITY = 31744; // 0x7c00
+    field public static final short POSITIVE_ZERO = 0; // 0x0
+    field public static final int SHIFTED_EXPONENT_MASK = 31; // 0x1f
+    field public static final int SIGNIFICAND_MASK = 1023; // 0x3ff
+    field public static final int SIGN_MASK = 32768; // 0x8000
+    field public static final int SIGN_SHIFT = 15; // 0xf
+    field public static final int SIZE = 16; // 0x10
+  }
+
+  public class HexEncoding {
+    method public static byte[] decode(String) throws java.lang.IllegalArgumentException;
+    method public static byte[] decode(String, boolean) throws java.lang.IllegalArgumentException;
+    method public static byte[] decode(char[]) throws java.lang.IllegalArgumentException;
+    method public static byte[] decode(char[], boolean) throws java.lang.IllegalArgumentException;
+    method public static char[] encode(byte[]);
+    method public static char[] encode(byte[], boolean);
+    method public static char[] encode(byte[], int, int);
+    method public static String encodeToString(byte, boolean);
+    method public static String encodeToString(byte[]);
+    method public static String encodeToString(byte[], boolean);
+  }
+
+  public class NativeAllocationRegistry {
+    ctor public NativeAllocationRegistry(@NonNull ClassLoader, long, long);
+    method public static void applyFreeFunction(long, long);
+    method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long, long);
+    method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long);
+    method public static libcore.util.NativeAllocationRegistry createNonmalloced(@NonNull ClassLoader, long, long);
+    method @NonNull public Runnable registerNativeAllocation(@NonNull Object, long);
+  }
+
+  public class SneakyThrow {
+    method public static void sneakyThrow(@NonNull Throwable);
+  }
+
+  public class XmlObjectFactory {
+    method @NonNull public static org.xml.sax.XMLReader newXMLReader();
+    method @NonNull public static org.xmlpull.v1.XmlPullParser newXmlPullParser();
+    method @NonNull public static org.xmlpull.v1.XmlSerializer newXmlSerializer();
+  }
+
+}
+
+package org.apache.harmony.dalvik.ddmc {
+
+  public class Chunk {
+    ctor public Chunk(int, byte[], int, int);
+    ctor public Chunk(int, java.nio.ByteBuffer);
+    field public int type;
+  }
+
+  public abstract class ChunkHandler {
+    ctor public ChunkHandler();
+    method public static org.apache.harmony.dalvik.ddmc.Chunk createFailChunk(int, String);
+    method public abstract org.apache.harmony.dalvik.ddmc.Chunk handleChunk(org.apache.harmony.dalvik.ddmc.Chunk);
+    method public static String name(int);
+    method public abstract void onConnected();
+    method public abstract void onDisconnected();
+    method public static int type(String);
+    method public static java.nio.ByteBuffer wrapChunk(org.apache.harmony.dalvik.ddmc.Chunk);
+    field public static final java.nio.ByteOrder CHUNK_ORDER;
+  }
+
+  public final class DdmServer {
+    method public static void registerHandler(int, org.apache.harmony.dalvik.ddmc.ChunkHandler);
+    method public static void registrationComplete();
+    method public static void sendChunk(org.apache.harmony.dalvik.ddmc.Chunk);
+    method public static org.apache.harmony.dalvik.ddmc.ChunkHandler unregisterHandler(int);
+  }
+
+  public final class DdmVmInternal {
+    method public static void setRecentAllocationsTrackingEnabled(boolean);
+    method public static void setThreadNotifyEnabled(boolean);
+  }
+
+}
+
+package org.json {
+
+  public class JSONObject {
+    method @NonNull public java.util.Set<java.lang.String> keySet();
+  }
+
+}
+
+package sun.misc {
+
+  public class Cleaner extends java.lang.ref.PhantomReference<java.lang.Object> {
+    method public void clean();
+    method public static sun.misc.Cleaner create(Object, Runnable);
+  }
+
+  public final class Unsafe {
+    method public int arrayBaseOffset(Class);
+    method public int arrayIndexScale(Class);
+    method @dalvik.annotation.optimization.FastNative public void copyMemory(long, long, long);
+    method @dalvik.annotation.optimization.FastNative public boolean getBoolean(Object, long);
+    method @dalvik.annotation.optimization.FastNative public byte getByte(Object, long);
+    method @dalvik.annotation.optimization.FastNative public byte getByte(long);
+    method @dalvik.annotation.optimization.FastNative public double getDouble(Object, long);
+    method @dalvik.annotation.optimization.FastNative public double getDouble(long);
+    method @dalvik.annotation.optimization.FastNative public float getFloat(Object, long);
+    method @dalvik.annotation.optimization.FastNative public float getFloat(long);
+    method @dalvik.annotation.optimization.FastNative public int getInt(Object, long);
+    method @dalvik.annotation.optimization.FastNative public int getInt(long);
+    method @dalvik.annotation.optimization.FastNative public long getLong(Object, long);
+    method @dalvik.annotation.optimization.FastNative public long getLong(long);
+    method @dalvik.annotation.optimization.FastNative public Object getObject(Object, long);
+    method public static sun.misc.Unsafe getUnsafe();
+    method public long objectFieldOffset(java.lang.reflect.Field);
+    method @dalvik.annotation.optimization.FastNative public void putBoolean(Object, long, boolean);
+    method @dalvik.annotation.optimization.FastNative public void putByte(Object, long, byte);
+    method @dalvik.annotation.optimization.FastNative public void putByte(long, byte);
+    method @dalvik.annotation.optimization.FastNative public void putDouble(Object, long, double);
+    method @dalvik.annotation.optimization.FastNative public void putDouble(long, double);
+    method @dalvik.annotation.optimization.FastNative public void putFloat(Object, long, float);
+    method @dalvik.annotation.optimization.FastNative public void putFloat(long, float);
+    method @dalvik.annotation.optimization.FastNative public void putInt(Object, long, int);
+    method @dalvik.annotation.optimization.FastNative public void putInt(long, int);
+    method @dalvik.annotation.optimization.FastNative public void putLong(Object, long, long);
+    method @dalvik.annotation.optimization.FastNative public void putLong(long, long);
+    method @dalvik.annotation.optimization.FastNative public void putObject(Object, long, Object);
+  }
+
+}
+
+package sun.security.jca {
+
+  public class Providers {
+    method public static Object startJarVerification();
+    method public static void stopJarVerification(Object);
+  }
+
+}
+
+package sun.security.pkcs {
+
+  public class PKCS7 {
+    ctor public PKCS7(java.io.InputStream) throws java.io.IOException, sun.security.pkcs.ParsingException;
+    ctor public PKCS7(byte[]) throws sun.security.pkcs.ParsingException;
+    method public java.security.cert.X509Certificate[] getCertificates();
+    method public sun.security.pkcs.SignerInfo[] getSignerInfos();
+    method public sun.security.pkcs.SignerInfo verify(sun.security.pkcs.SignerInfo, java.io.InputStream) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.SignatureException;
+    method public sun.security.pkcs.SignerInfo[] verify(byte[]) throws java.security.NoSuchAlgorithmException, java.security.SignatureException;
+  }
+
+  public class ParsingException extends java.io.IOException {
+  }
+
+  public class SignerInfo {
+    ctor public SignerInfo();
+    method public java.util.ArrayList<java.security.cert.X509Certificate> getCertificateChain(sun.security.pkcs.PKCS7) throws java.io.IOException;
+  }
+
+}
+
+package sun.security.util {
+
+  public final class ObjectIdentifier implements java.io.Serializable {
+    ctor public ObjectIdentifier(String) throws java.io.IOException;
+  }
+
+}
+
+package sun.security.x509 {
+
+  public class AlgorithmId implements java.io.Serializable {
+    ctor public AlgorithmId(sun.security.util.ObjectIdentifier);
+    method public String getName();
+  }
+
+}
+
diff --git a/32/module-lib/api/art-removed.txt b/32/module-lib/api/art-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/art-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/art.txt b/32/module-lib/api/art.txt
new file mode 100644
index 0000000..15741a7
--- /dev/null
+++ b/32/module-lib/api/art.txt
@@ -0,0 +1,865 @@
+// Signature format: 2.0
+package android.compat {
+
+  public final class Compatibility {
+    method public static void clearBehaviorChangeDelegate();
+    method public static void clearOverrides();
+    method public static boolean isChangeEnabled(long);
+    method public static void reportUnconditionalChange(long);
+    method public static void setBehaviorChangeDelegate(android.compat.Compatibility.BehaviorChangeDelegate);
+    method public static void setOverrides(android.compat.Compatibility.ChangeConfig);
+  }
+
+  public static interface Compatibility.BehaviorChangeDelegate {
+    method public default boolean isChangeEnabled(long);
+    method public default void onChangeReported(long);
+  }
+
+  public static final class Compatibility.ChangeConfig {
+    ctor public Compatibility.ChangeConfig(@NonNull java.util.Set<java.lang.Long>, @NonNull java.util.Set<java.lang.Long>);
+    method @NonNull public long[] getDisabledChangesArray();
+    method @NonNull public java.util.Set<java.lang.Long> getDisabledSet();
+    method @NonNull public long[] getEnabledChangesArray();
+    method @NonNull public java.util.Set<java.lang.Long> getEnabledSet();
+    method public boolean isEmpty();
+    method public boolean isForceDisabled(long);
+    method public boolean isForceEnabled(long);
+  }
+
+}
+
+package android.system {
+
+  public final class NetlinkSocketAddress extends java.net.SocketAddress {
+    ctor public NetlinkSocketAddress(int, int);
+    method public int getGroupsMask();
+    method public int getPortId();
+  }
+
+  public final class Os {
+    method @Nullable public static android.system.StructCapUserData[] capget(@NonNull android.system.StructCapUserHeader) throws android.system.ErrnoException;
+    method public static void capset(@NonNull android.system.StructCapUserHeader, @NonNull android.system.StructCapUserData[]) throws android.system.ErrnoException;
+    method public static int getpgid(int) throws android.system.ErrnoException;
+    method @Nullable public static android.system.StructRlimit getrlimit(int) throws android.system.ErrnoException;
+    method public static int getsockoptInt(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
+    method @Nullable public static android.system.StructLinger getsockoptLinger(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
+    method public static int ioctlInt(@NonNull java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method @Nullable public static java.io.FileDescriptor[] pipe2(int) throws android.system.ErrnoException;
+    method @Nullable public static String realpath(@Nullable String) throws android.system.ErrnoException;
+    method public static void setpgid(int, int) throws android.system.ErrnoException;
+    method public static void setregid(int, int) throws android.system.ErrnoException;
+    method public static void setreuid(int, int) throws android.system.ErrnoException;
+    method public static void setsockoptIfreq(@NonNull java.io.FileDescriptor, int, int, @Nullable String) throws android.system.ErrnoException;
+    method public static void setsockoptLinger(@NonNull java.io.FileDescriptor, int, int, @NonNull android.system.StructLinger) throws android.system.ErrnoException;
+    method public static long splice(@NonNull java.io.FileDescriptor, @Nullable android.system.Int64Ref, @NonNull java.io.FileDescriptor, @Nullable android.system.Int64Ref, long, int) throws android.system.ErrnoException;
+    method public static void unlink(@Nullable String) throws android.system.ErrnoException;
+  }
+
+  public final class OsConstants {
+    method public static int CAP_TO_INDEX(int);
+    method public static int CAP_TO_MASK(int);
+    field public static final int ARPHRD_LOOPBACK;
+    field public static final int EUSERS;
+    field public static final int MAP_POPULATE;
+    field public static final int O_DIRECT;
+    field public static final int PR_CAP_AMBIENT;
+    field public static final int PR_CAP_AMBIENT_RAISE;
+    field public static final int RLIMIT_NOFILE;
+    field public static final int RTMGRP_IPV4_IFADDR;
+    field public static final int SPLICE_F_MORE;
+    field public static final int SPLICE_F_MOVE;
+    field public static final int TIOCOUTQ;
+    field public static final int UDP_ENCAP;
+    field public static final int UDP_ENCAP_ESPINUDP;
+    field public static final int XATTR_CREATE;
+    field public static final int XATTR_REPLACE;
+    field public static final int _LINUX_CAPABILITY_VERSION_3;
+  }
+
+  public final class PacketSocketAddress extends java.net.SocketAddress {
+    ctor public PacketSocketAddress(int, int, byte[]);
+  }
+
+  public final class StructCapUserData {
+    ctor public StructCapUserData(int, int, int);
+    field public final int effective;
+    field public final int inheritable;
+    field public final int permitted;
+  }
+
+  public final class StructCapUserHeader {
+    ctor public StructCapUserHeader(int, int);
+  }
+
+  public final class StructLinger {
+    ctor public StructLinger(int, int);
+    method public boolean isOn();
+    field public final int l_linger;
+  }
+
+  public final class StructRlimit {
+    field public final long rlim_cur;
+  }
+
+  public final class UnixSocketAddress extends java.net.SocketAddress {
+    method public static android.system.UnixSocketAddress createFileSystem(String);
+  }
+
+  public final class VmSocketAddress extends java.net.SocketAddress {
+    ctor public VmSocketAddress(int, int);
+    method public int getSvmCid();
+    method public int getSvmPort();
+  }
+
+}
+
+package com.android.okhttp.internalandroidapi {
+
+  public final class AndroidResponseCacheAdapter {
+    ctor public AndroidResponseCacheAdapter(@NonNull com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder);
+    method public void close() throws java.io.IOException;
+    method public void delete() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method @Nullable public java.net.CacheResponse get(@NonNull java.net.URI, @NonNull String, @Nullable java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method @NonNull public com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder getCacheHolder();
+    method public int getHitCount();
+    method public long getMaxSize();
+    method public int getNetworkCount();
+    method public int getRequestCount();
+    method public long getSize() throws java.io.IOException;
+    method @Nullable public java.net.CacheRequest put(@NonNull java.net.URI, @NonNull java.net.URLConnection) throws java.io.IOException;
+  }
+
+  public interface HasCacheHolder {
+    method @NonNull public com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder getCacheHolder();
+  }
+
+  public static final class HasCacheHolder.CacheHolder {
+    method @NonNull public static com.android.okhttp.internalandroidapi.HasCacheHolder.CacheHolder create(@NonNull java.io.File, long);
+    method public boolean isEquivalent(@NonNull java.io.File, long);
+  }
+
+}
+
+package dalvik.annotation.codegen {
+
+  @java.lang.annotation.Repeatable(CovariantReturnType.CovariantReturnTypes.class) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface CovariantReturnType {
+    method public abstract int presentAfter();
+    method public abstract Class<?> returnType();
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public static @interface CovariantReturnType.CovariantReturnTypes {
+    method public abstract dalvik.annotation.codegen.CovariantReturnType[] value();
+  }
+
+}
+
+package dalvik.annotation.optimization {
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface CriticalNative {
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface FastNative {
+  }
+
+}
+
+package dalvik.system {
+
+  public final class AnnotatedStackTraceElement {
+    method @Nullable public Object getBlockedOn();
+    method @Nullable public Object[] getHeldLocks();
+    method @NonNull public StackTraceElement getStackTraceElement();
+  }
+
+  public class AppSpecializationHooks {
+    method public static void handleCompatChangesBeforeBindingApplication();
+  }
+
+  public class BaseDexClassLoader extends java.lang.ClassLoader {
+    method public void addDexPath(@Nullable String);
+    method public void addNativePath(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public String getLdLibraryPath();
+    method public void reportClassLoaderChain();
+    method public static void setReporter(@Nullable dalvik.system.BaseDexClassLoader.Reporter);
+  }
+
+  public static interface BaseDexClassLoader.Reporter {
+    method public void report(@NonNull java.util.Map<java.lang.String,java.lang.String>);
+  }
+
+  public final class BlockGuard {
+    method @NonNull public static dalvik.system.BlockGuard.Policy getThreadPolicy();
+    method @NonNull public static dalvik.system.BlockGuard.VmPolicy getVmPolicy();
+    method public static void setThreadPolicy(@NonNull dalvik.system.BlockGuard.Policy);
+    method public static void setVmPolicy(@NonNull dalvik.system.BlockGuard.VmPolicy);
+    field public static final dalvik.system.BlockGuard.Policy LAX_POLICY;
+    field public static final dalvik.system.BlockGuard.VmPolicy LAX_VM_POLICY;
+  }
+
+  public static interface BlockGuard.Policy {
+    method public int getPolicyMask();
+    method public void onReadFromDisk();
+    method public void onUnbufferedIO();
+    method public void onWriteToDisk();
+  }
+
+  public static interface BlockGuard.VmPolicy {
+    method public void onPathAccess(@NonNull String);
+  }
+
+  public final class CloseGuard {
+    method public void close();
+    method public static dalvik.system.CloseGuard get();
+    method public static dalvik.system.CloseGuard.Reporter getReporter();
+    method public void open(String);
+    method public void openWithCallSite(String, String);
+    method public static void setEnabled(boolean);
+    method public static void setReporter(dalvik.system.CloseGuard.Reporter);
+    method public void warnIfOpen();
+  }
+
+  public static interface CloseGuard.Reporter {
+    method public void report(String, Throwable);
+    method public default void report(String);
+  }
+
+  public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
+    ctor public DelegateLastClassLoader(String, String, ClassLoader, ClassLoader[]);
+  }
+
+  @Deprecated public final class DexFile {
+    method @Deprecated @NonNull public static dalvik.system.DexFile.OptimizationInfo getDexFileOptimizationInfo(@NonNull String, @NonNull String) throws java.io.FileNotFoundException;
+    method @Deprecated @Nullable public static String[] getDexFileOutputPaths(@NonNull String, @NonNull String) throws java.io.FileNotFoundException;
+    method @Deprecated public static int getDexOptNeeded(@NonNull String, @NonNull String, @NonNull String, @Nullable String, boolean, boolean) throws java.io.FileNotFoundException, java.io.IOException;
+    method @Deprecated @NonNull public static String getSafeModeCompilerFilter(@NonNull String);
+    method @Deprecated public static boolean isProfileGuidedCompilerFilter(@NonNull String);
+    method @Deprecated public static boolean isValidCompilerFilter(@NonNull String);
+    field @Deprecated public static final int DEX2OAT_FOR_FILTER = 3; // 0x3
+    field @Deprecated public static final int NO_DEXOPT_NEEDED = 0; // 0x0
+  }
+
+  @Deprecated public static final class DexFile.OptimizationInfo {
+    method @Deprecated @NonNull public String getReason();
+    method @Deprecated @NonNull public String getStatus();
+  }
+
+  public class PathClassLoader extends dalvik.system.BaseDexClassLoader {
+    ctor public PathClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, @Nullable ClassLoader[]);
+  }
+
+  public final class RuntimeHooks {
+    method public static void setTimeZoneIdSupplier(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public static void setUncaughtExceptionPreHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler);
+  }
+
+  public abstract class SocketTagger {
+    ctor public SocketTagger();
+    method public static dalvik.system.SocketTagger get();
+    method public static void set(dalvik.system.SocketTagger);
+    method public abstract void tag(java.io.FileDescriptor) throws java.net.SocketException;
+    method public final void tag(java.net.Socket) throws java.net.SocketException;
+    method public final void tag(java.net.DatagramSocket) throws java.net.SocketException;
+    method public abstract void untag(java.io.FileDescriptor) throws java.net.SocketException;
+    method public final void untag(java.net.Socket) throws java.net.SocketException;
+    method public final void untag(java.net.DatagramSocket) throws java.net.SocketException;
+  }
+
+  public final class VMDebug {
+    method public static void attachAgent(String, ClassLoader) throws java.io.IOException;
+    method public static long countInstancesOfClass(Class, boolean);
+    method public static long[] countInstancesOfClasses(Class[], boolean);
+    method public static void dumpHprofData(String) throws java.io.IOException;
+    method public static void dumpHprofData(String, java.io.FileDescriptor) throws java.io.IOException;
+    method public static void dumpHprofDataDdms();
+    method public static void dumpReferenceTables();
+    method public static int getAllocCount(int);
+    method @dalvik.annotation.optimization.FastNative public static int getLoadedClassCount();
+    method public static int getMethodTracingMode();
+    method public static String getRuntimeStat(String);
+    method public static java.util.Map<java.lang.String,java.lang.String> getRuntimeStats();
+    method public static String[] getVmFeatureList();
+    method @dalvik.annotation.optimization.FastNative public static boolean isDebuggerConnected();
+    method @dalvik.annotation.optimization.FastNative public static boolean isDebuggingEnabled();
+    method @dalvik.annotation.optimization.FastNative public static long lastDebuggerActivity();
+    method @dalvik.annotation.optimization.FastNative public static void printLoadedClasses(int);
+    method public static void resetAllocCount(int);
+    method public static void setAllocTrackerStackDepth(int);
+    method public static void startAllocCounting();
+    method public static void startMethodTracing(String, int, int, boolean, int);
+    method public static void startMethodTracing(String, java.io.FileDescriptor, int, int, boolean, int, boolean);
+    method public static void startMethodTracingDdms(int, int, boolean, int);
+    method public static void stopAllocCounting();
+    method public static void stopMethodTracing();
+    method @dalvik.annotation.optimization.FastNative public static long threadCpuTimeNanos();
+    field public static final int KIND_ALL_COUNTS = -1; // 0xffffffff
+    field public static final int KIND_GLOBAL_ALLOCATED_BYTES = 2; // 0x2
+    field public static final int KIND_GLOBAL_ALLOCATED_OBJECTS = 1; // 0x1
+    field public static final int KIND_GLOBAL_CLASS_INIT_COUNT = 32; // 0x20
+    field public static final int KIND_GLOBAL_CLASS_INIT_TIME = 64; // 0x40
+    field public static final int KIND_GLOBAL_FREED_BYTES = 8; // 0x8
+    field public static final int KIND_GLOBAL_FREED_OBJECTS = 4; // 0x4
+    field public static final int KIND_GLOBAL_GC_INVOCATIONS = 16; // 0x10
+    field public static final int KIND_THREAD_ALLOCATED_BYTES = 131072; // 0x20000
+    field public static final int KIND_THREAD_ALLOCATED_OBJECTS = 65536; // 0x10000
+    field public static final int KIND_THREAD_GC_INVOCATIONS = 1048576; // 0x100000
+    field public static final int TRACE_COUNT_ALLOCS = 1; // 0x1
+  }
+
+  public final class VMRuntime {
+    method @dalvik.annotation.optimization.FastNative public long addressOf(Object);
+    method public static void bootCompleted();
+    method public void clampGrowthLimit();
+    method public void clearGrowthLimit();
+    method public static String getCurrentInstructionSet();
+    method public static String getInstructionSet(String);
+    method public static dalvik.system.VMRuntime getRuntime();
+    method public int getTargetSdkVersion();
+    method @dalvik.annotation.optimization.FastNative public boolean is64Bit();
+    method public static boolean is64BitAbi(String);
+    method public static boolean is64BitInstructionSet(String);
+    method @dalvik.annotation.optimization.FastNative public boolean isCheckJniEnabled();
+    method @dalvik.annotation.optimization.FastNative public boolean isNativeDebuggable();
+    method public static boolean isValidClassLoaderContext(String);
+    method @dalvik.annotation.optimization.FastNative public Object newNonMovableArray(Class<?>, int);
+    method @dalvik.annotation.optimization.FastNative public Object newUnpaddedArray(Class<?>, int);
+    method public void notifyStartupCompleted();
+    method public void preloadDexCaches();
+    method public static void registerAppInfo(String, String, String, String[], int);
+    method public void registerNativeAllocation(long);
+    method @Deprecated public void registerNativeAllocation(int);
+    method public void registerNativeFree(long);
+    method @Deprecated public void registerNativeFree(int);
+    method public static void registerSensitiveThread();
+    method public void requestConcurrentGC();
+    method public static void resetJitCounters();
+    method public static void setDedupeHiddenApiWarnings(boolean);
+    method public void setDisabledCompatChanges(long[]);
+    method public void setHiddenApiAccessLogSamplingRate(int);
+    method public void setHiddenApiExemptions(String[]);
+    method public static void setHiddenApiUsageLogger(dalvik.system.VMRuntime.HiddenApiUsageLogger);
+    method public static void setNonSdkApiUsageConsumer(java.util.function.Consumer<java.lang.String>);
+    method public static void setProcessDataDirectory(String);
+    method public static void setProcessPackageName(String);
+    method public void setTargetSdkVersion(int);
+    method public void updateProcessState(int);
+    method public String vmInstructionSet();
+    method public String vmLibrary();
+    field public static final int CODE_PATH_TYPE_PRIMARY_APK = 1; // 0x1
+    field public static final int CODE_PATH_TYPE_SECONDARY_DEX = 4; // 0x4
+    field public static final int CODE_PATH_TYPE_SPLIT_APK = 2; // 0x2
+    field public static final int SDK_VERSION_CUR_DEVELOPMENT = 10000; // 0x2710
+  }
+
+  public static interface VMRuntime.HiddenApiUsageLogger {
+    method public void hiddenApiUsed(int, String, String, int, boolean);
+    field public static final int ACCESS_METHOD_JNI = 2; // 0x2
+    field public static final int ACCESS_METHOD_LINKING = 3; // 0x3
+    field public static final int ACCESS_METHOD_NONE = 0; // 0x0
+    field public static final int ACCESS_METHOD_REFLECTION = 1; // 0x1
+  }
+
+  public final class VMStack {
+    method @Nullable @dalvik.annotation.optimization.FastNative public static dalvik.system.AnnotatedStackTraceElement[] getAnnotatedThreadStackTrace(Thread);
+  }
+
+  public final class ZygoteHooks {
+    method public static void gcAndFinalize();
+    method public static boolean isIndefiniteThreadSuspensionSafe();
+    method public static void onBeginPreload();
+    method public static void onEndPreload();
+    method public static void postForkChild(int, boolean, boolean, String);
+    method public static void postForkCommon();
+    method public static void postForkSystemServer(int);
+    method public static void preFork();
+    method public static void startZygoteNoThreadCreation();
+    method public static void stopZygoteNoThreadCreation();
+  }
+
+}
+
+package java.io {
+
+  public final class FileDescriptor {
+    method public int getInt$();
+    method public void setInt$(int);
+  }
+
+  public class FileInputStream extends java.io.InputStream {
+    ctor public FileInputStream(java.io.FileDescriptor, boolean);
+  }
+
+}
+
+package java.lang {
+
+  public class Thread implements java.lang.Runnable {
+    method public static java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionPreHandler();
+    method public static void setUncaughtExceptionPreHandler(java.lang.Thread.UncaughtExceptionHandler);
+  }
+
+}
+
+package java.net {
+
+  public class DatagramSocket implements java.io.Closeable {
+    method public java.io.FileDescriptor getFileDescriptor$();
+  }
+
+  public final class Inet4Address extends java.net.InetAddress {
+    field public static final java.net.InetAddress ALL;
+    field public static final java.net.InetAddress ANY;
+    field public static final java.net.InetAddress LOOPBACK;
+  }
+
+  public final class Inet6Address extends java.net.InetAddress {
+    field public static final java.net.InetAddress ANY;
+    field public static final java.net.InetAddress LOOPBACK;
+  }
+
+  public class InetAddress implements java.io.Serializable {
+    method public static void clearDnsCache();
+    method @NonNull public static java.net.InetAddress[] getAllByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException;
+    method @NonNull public static java.net.InetAddress getByNameOnNet(@Nullable String, int) throws java.net.UnknownHostException;
+    method @Deprecated public static boolean isNumeric(String);
+    method @Deprecated public static java.net.InetAddress parseNumericAddress(String);
+  }
+
+  public class InetSocketAddress extends java.net.SocketAddress {
+    ctor public InetSocketAddress();
+  }
+
+  public class ServerSocket implements java.io.Closeable {
+    method public java.net.SocketImpl getImpl() throws java.net.SocketException;
+  }
+
+  public class Socket implements java.io.Closeable {
+    method public java.io.FileDescriptor getFileDescriptor$();
+  }
+
+  public abstract class SocketImpl implements java.net.SocketOptions {
+    method public java.io.FileDescriptor getFD$();
+  }
+
+}
+
+package java.nio {
+
+  public abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer> {
+    method public void setAccessible(boolean);
+  }
+
+  public class DirectByteBuffer extends java.nio.MappedByteBuffer {
+    ctor public DirectByteBuffer(int, long, java.io.FileDescriptor, Runnable, boolean);
+    method public final long address();
+    method public final void setAccessible(boolean);
+  }
+
+  public final class NIOAccess {
+    method public static Object getBaseArray(java.nio.Buffer);
+    method public static int getBaseArrayOffset(java.nio.Buffer);
+  }
+
+  public final class NioUtils {
+    method public static void freeDirectBuffer(java.nio.ByteBuffer);
+    method public static byte[] unsafeArray(java.nio.ByteBuffer);
+    method public static int unsafeArrayOffset(java.nio.ByteBuffer);
+  }
+
+}
+
+package java.security {
+
+  public abstract class Provider extends java.util.Properties {
+    method public void warmUpServiceProvision();
+  }
+
+  public abstract class Signature extends java.security.SignatureSpi {
+    method public java.security.SignatureSpi getCurrentSpi();
+  }
+
+}
+
+package java.text {
+
+  public abstract class DateFormat extends java.text.Format {
+    method public static final void set24HourTimePref(Boolean);
+  }
+
+}
+
+package java.util {
+
+  public class LinkedHashMap<K, V> extends java.util.HashMap<K,V> implements java.util.Map<K,V> {
+    method public java.util.Map.Entry<K,V> eldest();
+  }
+
+}
+
+package java.util.zip {
+
+  public class ZipEntry implements java.lang.Cloneable {
+    method public long getDataOffset();
+  }
+
+}
+
+package javax.crypto {
+
+  public class Cipher {
+    method public javax.crypto.CipherSpi getCurrentSpi();
+  }
+
+  public class Mac implements java.lang.Cloneable {
+    method public javax.crypto.MacSpi getCurrentSpi();
+  }
+
+}
+
+package javax.net.ssl {
+
+  public abstract class HttpsURLConnection extends java.net.HttpURLConnection {
+    method public static javax.net.ssl.HostnameVerifier getStrictHostnameVerifier();
+  }
+
+}
+
+package libcore.content.type {
+
+  public final class MimeMap {
+    method @NonNull public libcore.content.type.MimeMap.Builder buildUpon();
+    method @NonNull public static libcore.content.type.MimeMap.Builder builder();
+    method @NonNull public java.util.Set<java.lang.String> extensions();
+    method @NonNull public static libcore.content.type.MimeMap getDefault();
+    method @Nullable public String guessExtensionFromMimeType(@Nullable String);
+    method @Nullable public String guessMimeTypeFromExtension(@Nullable String);
+    method public boolean hasExtension(@Nullable String);
+    method public boolean hasMimeType(@Nullable String);
+    method @NonNull public java.util.Set<java.lang.String> mimeTypes();
+    method public static void setDefaultSupplier(@NonNull java.util.function.Supplier<libcore.content.type.MimeMap>);
+  }
+
+  public static final class MimeMap.Builder {
+    method @NonNull public libcore.content.type.MimeMap.Builder addMimeMapping(@NonNull String, @NonNull java.util.List<java.lang.String>);
+    method @NonNull public libcore.content.type.MimeMap build();
+  }
+
+}
+
+package libcore.io {
+
+  public class ForwardingOs implements libcore.io.Os {
+    ctor protected ForwardingOs(@NonNull libcore.io.Os);
+    method public boolean access(@Nullable String, int) throws android.system.ErrnoException;
+    method public java.io.FileDescriptor open(@Nullable String, int, int) throws android.system.ErrnoException;
+    method public void remove(@Nullable String) throws android.system.ErrnoException;
+    method public void rename(@Nullable String, @Nullable String) throws android.system.ErrnoException;
+    method @Nullable public android.system.StructStat stat(@Nullable String) throws android.system.ErrnoException;
+    method public void unlink(@Nullable String) throws android.system.ErrnoException;
+  }
+
+  public final class IoBridge {
+    method public static void closeAndSignalBlockedThreads(@NonNull java.io.FileDescriptor) throws java.io.IOException;
+    method @NonNull public static java.io.FileDescriptor open(@NonNull String, int) throws java.io.FileNotFoundException;
+    method public static int read(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException;
+    method public static void write(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int) throws java.io.IOException;
+  }
+
+  public final class IoUtils {
+    method public static int acquireRawFd(@NonNull java.io.FileDescriptor);
+    method public static void close(@Nullable java.io.FileDescriptor) throws java.io.IOException;
+    method public static void closeQuietly(@Nullable AutoCloseable);
+    method public static void closeQuietly(@Nullable java.io.FileDescriptor);
+    method public static void closeQuietly(@Nullable java.net.Socket);
+    method @NonNull public static byte[] readFileAsByteArray(@NonNull String) throws java.io.IOException;
+    method @NonNull public static String readFileAsString(@NonNull String) throws java.io.IOException;
+    method public static void setBlocking(@NonNull java.io.FileDescriptor, boolean) throws java.io.IOException;
+    method public static void setFdOwner(@NonNull java.io.FileDescriptor, @NonNull Object);
+  }
+
+  public final class Memory {
+    method public static void memmove(@NonNull Object, int, @NonNull Object, int, long);
+    method public static int peekInt(@NonNull byte[], int, @NonNull java.nio.ByteOrder);
+    method public static short peekShort(@NonNull byte[], int, @NonNull java.nio.ByteOrder);
+    method public static void pokeInt(@NonNull byte[], int, int, @NonNull java.nio.ByteOrder);
+    method public static void pokeLong(@NonNull byte[], int, long, @NonNull java.nio.ByteOrder);
+    method public static void pokeShort(@NonNull byte[], int, short, @NonNull java.nio.ByteOrder);
+  }
+
+  public interface Os {
+    method public static boolean compareAndSetDefault(libcore.io.Os, libcore.io.Os);
+    method public static libcore.io.Os getDefault();
+  }
+
+  public final class Streams {
+    method public static int copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream) throws java.io.IOException;
+    method public static void readFully(@NonNull java.io.InputStream, @NonNull byte[]) throws java.io.IOException;
+    method @NonNull public static byte[] readFully(@NonNull java.io.InputStream) throws java.io.IOException;
+    method @NonNull public static String readFully(@NonNull java.io.Reader) throws java.io.IOException;
+    method @NonNull public static byte[] readFullyNoClose(@NonNull java.io.InputStream) throws java.io.IOException;
+    method public static int readSingleByte(@NonNull java.io.InputStream) throws java.io.IOException;
+    method public static long skipByReading(@NonNull java.io.InputStream, long) throws java.io.IOException;
+    method public static void writeSingleByte(@NonNull java.io.OutputStream, int) throws java.io.IOException;
+  }
+
+}
+
+package libcore.net {
+
+  public class InetAddressUtils {
+    method public static boolean isNumericAddress(String);
+    method public static java.net.InetAddress parseNumericAddress(String);
+  }
+
+  public abstract class NetworkSecurityPolicy {
+    ctor public NetworkSecurityPolicy();
+    method public static libcore.net.NetworkSecurityPolicy getInstance();
+    method public abstract boolean isCertificateTransparencyVerificationRequired(String);
+    method public abstract boolean isCleartextTrafficPermitted();
+    method public abstract boolean isCleartextTrafficPermitted(String);
+    method public static void setInstance(libcore.net.NetworkSecurityPolicy);
+  }
+
+}
+
+package libcore.net.event {
+
+  public final class NetworkEventDispatcher {
+    method public void dispatchNetworkConfigurationChange();
+    method public static libcore.net.event.NetworkEventDispatcher getInstance();
+  }
+
+}
+
+package libcore.net.http {
+
+  public interface Dns {
+    method @NonNull public java.util.List<java.net.InetAddress> lookup(@Nullable String) throws java.net.UnknownHostException;
+  }
+
+  public class HttpURLConnectionFactory {
+    method @NonNull public static libcore.net.http.HttpURLConnectionFactory createInstance();
+    method public java.net.URLConnection openConnection(@NonNull java.net.URL, @NonNull javax.net.SocketFactory, @NonNull java.net.Proxy) throws java.io.IOException;
+    method public void setDns(@NonNull libcore.net.http.Dns);
+    method public void setNewConnectionPool(int, long, @NonNull java.util.concurrent.TimeUnit);
+  }
+
+}
+
+package libcore.util {
+
+  public final class EmptyArray {
+    field @NonNull public static final boolean[] BOOLEAN;
+    field @NonNull public static final byte[] BYTE;
+    field @NonNull public static final float[] FLOAT;
+    field @NonNull public static final int[] INT;
+    field @NonNull public static final long[] LONG;
+    field @NonNull public static final Object[] OBJECT;
+    field @NonNull public static final String[] STRING;
+  }
+
+  public final class FP16 {
+    method public static short ceil(short);
+    method public static int compare(short, short);
+    method public static boolean equals(short, short);
+    method public static short floor(short);
+    method public static boolean greater(short, short);
+    method public static boolean greaterEquals(short, short);
+    method public static boolean isInfinite(short);
+    method public static boolean isNaN(short);
+    method public static boolean isNormalized(short);
+    method public static boolean less(short, short);
+    method public static boolean lessEquals(short, short);
+    method public static short max(short, short);
+    method public static short min(short, short);
+    method public static short rint(short);
+    method public static float toFloat(short);
+    method public static short toHalf(float);
+    method public static String toHexString(short);
+    method public static short trunc(short);
+    field public static final short EPSILON = 5120; // 0x1400
+    field public static final int EXPONENT_BIAS = 15; // 0xf
+    field public static final int EXPONENT_SHIFT = 10; // 0xa
+    field public static final int EXPONENT_SIGNIFICAND_MASK = 32767; // 0x7fff
+    field public static final short LOWEST_VALUE = -1025; // 0xfffffbff
+    field public static final int MAX_EXPONENT = 15; // 0xf
+    field public static final short MAX_VALUE = 31743; // 0x7bff
+    field public static final int MIN_EXPONENT = -14; // 0xfffffff2
+    field public static final short MIN_NORMAL = 1024; // 0x400
+    field public static final short MIN_VALUE = 1; // 0x1
+    field public static final short NEGATIVE_INFINITY = -1024; // 0xfffffc00
+    field public static final short NEGATIVE_ZERO = -32768; // 0xffff8000
+    field public static final short NaN = 32256; // 0x7e00
+    field public static final short POSITIVE_INFINITY = 31744; // 0x7c00
+    field public static final short POSITIVE_ZERO = 0; // 0x0
+    field public static final int SHIFTED_EXPONENT_MASK = 31; // 0x1f
+    field public static final int SIGNIFICAND_MASK = 1023; // 0x3ff
+    field public static final int SIGN_MASK = 32768; // 0x8000
+    field public static final int SIGN_SHIFT = 15; // 0xf
+    field public static final int SIZE = 16; // 0x10
+  }
+
+  public class HexEncoding {
+    method public static byte[] decode(String) throws java.lang.IllegalArgumentException;
+    method public static byte[] decode(String, boolean) throws java.lang.IllegalArgumentException;
+    method public static byte[] decode(char[]) throws java.lang.IllegalArgumentException;
+    method public static byte[] decode(char[], boolean) throws java.lang.IllegalArgumentException;
+    method public static char[] encode(byte[]);
+    method public static char[] encode(byte[], boolean);
+    method public static char[] encode(byte[], int, int);
+    method public static String encodeToString(byte, boolean);
+    method public static String encodeToString(byte[]);
+    method public static String encodeToString(byte[], boolean);
+  }
+
+  public class NativeAllocationRegistry {
+    ctor public NativeAllocationRegistry(@NonNull ClassLoader, long, long);
+    method public static void applyFreeFunction(long, long);
+    method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long, long);
+    method public static libcore.util.NativeAllocationRegistry createMalloced(@NonNull ClassLoader, long);
+    method public static libcore.util.NativeAllocationRegistry createNonmalloced(@NonNull ClassLoader, long, long);
+    method @NonNull public Runnable registerNativeAllocation(@NonNull Object, long);
+  }
+
+  public class SneakyThrow {
+    method public static void sneakyThrow(@NonNull Throwable);
+  }
+
+  public class XmlObjectFactory {
+    method @NonNull public static org.xml.sax.XMLReader newXMLReader();
+    method @NonNull public static org.xmlpull.v1.XmlPullParser newXmlPullParser();
+    method @NonNull public static org.xmlpull.v1.XmlSerializer newXmlSerializer();
+  }
+
+}
+
+package org.apache.harmony.dalvik.ddmc {
+
+  public class Chunk {
+    ctor public Chunk(int, byte[], int, int);
+    ctor public Chunk(int, java.nio.ByteBuffer);
+    field public int type;
+  }
+
+  public abstract class ChunkHandler {
+    ctor public ChunkHandler();
+    method public static org.apache.harmony.dalvik.ddmc.Chunk createFailChunk(int, String);
+    method public abstract org.apache.harmony.dalvik.ddmc.Chunk handleChunk(org.apache.harmony.dalvik.ddmc.Chunk);
+    method public static String name(int);
+    method public abstract void onConnected();
+    method public abstract void onDisconnected();
+    method public static int type(String);
+    method public static java.nio.ByteBuffer wrapChunk(org.apache.harmony.dalvik.ddmc.Chunk);
+    field public static final java.nio.ByteOrder CHUNK_ORDER;
+  }
+
+  public final class DdmServer {
+    method public static void registerHandler(int, org.apache.harmony.dalvik.ddmc.ChunkHandler);
+    method public static void registrationComplete();
+    method public static void sendChunk(org.apache.harmony.dalvik.ddmc.Chunk);
+    method public static org.apache.harmony.dalvik.ddmc.ChunkHandler unregisterHandler(int);
+  }
+
+  public final class DdmVmInternal {
+    method public static void setRecentAllocationsTrackingEnabled(boolean);
+    method public static void setThreadNotifyEnabled(boolean);
+  }
+
+}
+
+package org.json {
+
+  public class JSONObject {
+    method @NonNull public java.util.Set<java.lang.String> keySet();
+  }
+
+}
+
+package sun.misc {
+
+  public class Cleaner extends java.lang.ref.PhantomReference<java.lang.Object> {
+    method public void clean();
+    method public static sun.misc.Cleaner create(Object, Runnable);
+  }
+
+  public final class Unsafe {
+    method public int arrayBaseOffset(Class);
+    method public int arrayIndexScale(Class);
+    method @dalvik.annotation.optimization.FastNative public void copyMemory(long, long, long);
+    method @dalvik.annotation.optimization.FastNative public boolean getBoolean(Object, long);
+    method @dalvik.annotation.optimization.FastNative public byte getByte(Object, long);
+    method @dalvik.annotation.optimization.FastNative public byte getByte(long);
+    method @dalvik.annotation.optimization.FastNative public double getDouble(Object, long);
+    method @dalvik.annotation.optimization.FastNative public double getDouble(long);
+    method @dalvik.annotation.optimization.FastNative public float getFloat(Object, long);
+    method @dalvik.annotation.optimization.FastNative public float getFloat(long);
+    method @dalvik.annotation.optimization.FastNative public int getInt(Object, long);
+    method @dalvik.annotation.optimization.FastNative public int getInt(long);
+    method @dalvik.annotation.optimization.FastNative public long getLong(Object, long);
+    method @dalvik.annotation.optimization.FastNative public long getLong(long);
+    method @dalvik.annotation.optimization.FastNative public Object getObject(Object, long);
+    method public static sun.misc.Unsafe getUnsafe();
+    method public long objectFieldOffset(java.lang.reflect.Field);
+    method @dalvik.annotation.optimization.FastNative public void putBoolean(Object, long, boolean);
+    method @dalvik.annotation.optimization.FastNative public void putByte(Object, long, byte);
+    method @dalvik.annotation.optimization.FastNative public void putByte(long, byte);
+    method @dalvik.annotation.optimization.FastNative public void putDouble(Object, long, double);
+    method @dalvik.annotation.optimization.FastNative public void putDouble(long, double);
+    method @dalvik.annotation.optimization.FastNative public void putFloat(Object, long, float);
+    method @dalvik.annotation.optimization.FastNative public void putFloat(long, float);
+    method @dalvik.annotation.optimization.FastNative public void putInt(Object, long, int);
+    method @dalvik.annotation.optimization.FastNative public void putInt(long, int);
+    method @dalvik.annotation.optimization.FastNative public void putLong(Object, long, long);
+    method @dalvik.annotation.optimization.FastNative public void putLong(long, long);
+    method @dalvik.annotation.optimization.FastNative public void putObject(Object, long, Object);
+  }
+
+}
+
+package sun.security.jca {
+
+  public class Providers {
+    method public static Object startJarVerification();
+    method public static void stopJarVerification(Object);
+  }
+
+}
+
+package sun.security.pkcs {
+
+  public class PKCS7 {
+    ctor public PKCS7(java.io.InputStream) throws java.io.IOException, sun.security.pkcs.ParsingException;
+    ctor public PKCS7(byte[]) throws sun.security.pkcs.ParsingException;
+    method public java.security.cert.X509Certificate[] getCertificates();
+    method public sun.security.pkcs.SignerInfo[] getSignerInfos();
+    method public sun.security.pkcs.SignerInfo verify(sun.security.pkcs.SignerInfo, java.io.InputStream) throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.SignatureException;
+    method public sun.security.pkcs.SignerInfo[] verify(byte[]) throws java.security.NoSuchAlgorithmException, java.security.SignatureException;
+  }
+
+  public class ParsingException extends java.io.IOException {
+  }
+
+  public class SignerInfo {
+    ctor public SignerInfo();
+    method public java.util.ArrayList<java.security.cert.X509Certificate> getCertificateChain(sun.security.pkcs.PKCS7) throws java.io.IOException;
+  }
+
+}
+
+package sun.security.util {
+
+  public final class ObjectIdentifier implements java.io.Serializable {
+    ctor public ObjectIdentifier(String) throws java.io.IOException;
+  }
+
+}
+
+package sun.security.x509 {
+
+  public class AlgorithmId implements java.io.Serializable {
+    ctor public AlgorithmId(sun.security.util.ObjectIdentifier);
+    method public String getName();
+  }
+
+}
+
diff --git a/32/module-lib/api/framework-appsearch-removed.txt b/32/module-lib/api/framework-appsearch-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-appsearch-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-appsearch.txt b/32/module-lib/api/framework-appsearch.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-appsearch.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-connectivity-removed.txt b/32/module-lib/api/framework-connectivity-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-connectivity-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-connectivity.txt b/32/module-lib/api/framework-connectivity.txt
new file mode 100644
index 0000000..7fc0382
--- /dev/null
+++ b/32/module-lib/api/framework-connectivity.txt
@@ -0,0 +1,179 @@
+// Signature format: 2.0
+package android.net {
+
+  public final class ConnectivityFrameworkInitializer {
+    method public static void registerServiceWrappers();
+  }
+
+  public class ConnectivityManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void factoryReset();
+    method @NonNull @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public java.util.List<android.net.NetworkStateSnapshot> getAllNetworkStateSnapshots();
+    method @Nullable public android.net.ProxyInfo getGlobalProxy();
+    method @NonNull public static android.util.Range<java.lang.Integer> getIpSecNetIdRange();
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerDefaultNetworkCallbackForUid(int, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void registerSystemDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void requestBackgroundNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @Deprecated public boolean requestRouteToHostAddress(int, java.net.InetAddress);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAcceptPartialConnectivity(@NonNull android.net.Network, boolean, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAcceptUnvalidated(@NonNull android.net.Network, boolean, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void setAvoidUnvalidated(@NonNull android.net.Network);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setGlobalProxy(@Nullable android.net.ProxyInfo);
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setLegacyLockdownVpnEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setProfileNetworkPreference(@NonNull android.os.UserHandle, int, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETTINGS}) public void setRequireVpnForUids(boolean, @NonNull java.util.Collection<android.util.Range<java.lang.Integer>>);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_TEST_NETWORKS, android.Manifest.permission.NETWORK_STACK}) public void simulateDataStall(int, long, @NonNull android.net.Network, @NonNull android.os.PersistableBundle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void startCaptivePortalApp(@NonNull android.net.Network);
+    method public void systemReady();
+    field public static final String ACTION_CLEAR_DNS_CACHE = "android.net.action.CLEAR_DNS_CACHE";
+    field public static final String ACTION_PROMPT_LOST_VALIDATION = "android.net.action.PROMPT_LOST_VALIDATION";
+    field public static final String ACTION_PROMPT_PARTIAL_CONNECTIVITY = "android.net.action.PROMPT_PARTIAL_CONNECTIVITY";
+    field public static final String ACTION_PROMPT_UNVALIDATED = "android.net.action.PROMPT_UNVALIDATED";
+    field public static final int BLOCKED_METERED_REASON_ADMIN_DISABLED = 262144; // 0x40000
+    field public static final int BLOCKED_METERED_REASON_DATA_SAVER = 65536; // 0x10000
+    field public static final int BLOCKED_METERED_REASON_MASK = -65536; // 0xffff0000
+    field public static final int BLOCKED_METERED_REASON_USER_RESTRICTED = 131072; // 0x20000
+    field public static final int BLOCKED_REASON_APP_STANDBY = 4; // 0x4
+    field public static final int BLOCKED_REASON_BATTERY_SAVER = 1; // 0x1
+    field public static final int BLOCKED_REASON_DOZE = 2; // 0x2
+    field public static final int BLOCKED_REASON_LOCKDOWN_VPN = 16; // 0x10
+    field public static final int BLOCKED_REASON_NONE = 0; // 0x0
+    field public static final int BLOCKED_REASON_RESTRICTED_MODE = 8; // 0x8
+    field public static final int PROFILE_NETWORK_PREFERENCE_DEFAULT = 0; // 0x0
+    field public static final int PROFILE_NETWORK_PREFERENCE_ENTERPRISE = 1; // 0x1
+  }
+
+  public static class ConnectivityManager.NetworkCallback {
+    method public void onBlockedStatusChanged(@NonNull android.net.Network, int);
+  }
+
+  public class ConnectivitySettingsManager {
+    method public static void clearGlobalProxy(@NonNull android.content.Context);
+    method @Nullable public static String getCaptivePortalHttpUrl(@NonNull android.content.Context);
+    method public static int getCaptivePortalMode(@NonNull android.content.Context, int);
+    method @NonNull public static java.time.Duration getConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method @NonNull public static android.util.Range<java.lang.Integer> getDnsResolverSampleRanges(@NonNull android.content.Context);
+    method @NonNull public static java.time.Duration getDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static int getDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, int);
+    method @Nullable public static android.net.ProxyInfo getGlobalProxy(@NonNull android.content.Context);
+    method @NonNull public static java.time.Duration getMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static boolean getMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
+    method @NonNull public static java.util.Set<java.lang.Integer> getMobileDataPreferredUids(@NonNull android.content.Context);
+    method public static int getNetworkAvoidBadWifi(@NonNull android.content.Context);
+    method @Nullable public static String getNetworkMeteredMultipathPreference(@NonNull android.content.Context);
+    method public static int getNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, int);
+    method @NonNull public static java.time.Duration getNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method @NonNull public static String getPrivateDnsDefaultMode(@NonNull android.content.Context);
+    method @Nullable public static String getPrivateDnsHostname(@NonNull android.content.Context);
+    method public static int getPrivateDnsMode(@NonNull android.content.Context);
+    method @NonNull public static java.util.Set<java.lang.Integer> getUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context);
+    method public static boolean getWifiAlwaysRequested(@NonNull android.content.Context, boolean);
+    method @NonNull public static java.time.Duration getWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static void setCaptivePortalHttpUrl(@NonNull android.content.Context, @Nullable String);
+    method public static void setCaptivePortalMode(@NonNull android.content.Context, int);
+    method public static void setConnectivityKeepPendingIntentDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static void setDnsResolverSampleRanges(@NonNull android.content.Context, @NonNull android.util.Range<java.lang.Integer>);
+    method public static void setDnsResolverSampleValidityDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static void setDnsResolverSuccessThresholdPercent(@NonNull android.content.Context, @IntRange(from=0, to=100) int);
+    method public static void setGlobalProxy(@NonNull android.content.Context, @NonNull android.net.ProxyInfo);
+    method public static void setMobileDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static void setMobileDataAlwaysOn(@NonNull android.content.Context, boolean);
+    method public static void setMobileDataPreferredUids(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
+    method public static void setNetworkAvoidBadWifi(@NonNull android.content.Context, int);
+    method public static void setNetworkMeteredMultipathPreference(@NonNull android.content.Context, @NonNull String);
+    method public static void setNetworkSwitchNotificationMaximumDailyCount(@NonNull android.content.Context, @IntRange(from=0) int);
+    method public static void setNetworkSwitchNotificationRateDuration(@NonNull android.content.Context, @NonNull java.time.Duration);
+    method public static void setPrivateDnsDefaultMode(@NonNull android.content.Context, @NonNull int);
+    method public static void setPrivateDnsHostname(@NonNull android.content.Context, @Nullable String);
+    method public static void setPrivateDnsMode(@NonNull android.content.Context, int);
+    method public static void setUidsAllowedOnRestrictedNetworks(@NonNull android.content.Context, @NonNull java.util.Set<java.lang.Integer>);
+    method public static void setWifiAlwaysRequested(@NonNull android.content.Context, boolean);
+    method public static void setWifiDataActivityTimeout(@NonNull android.content.Context, @NonNull java.time.Duration);
+    field public static final int CAPTIVE_PORTAL_MODE_AVOID = 2; // 0x2
+    field public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0; // 0x0
+    field public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1; // 0x1
+    field public static final int NETWORK_AVOID_BAD_WIFI_AVOID = 2; // 0x2
+    field public static final int NETWORK_AVOID_BAD_WIFI_IGNORE = 0; // 0x0
+    field public static final int NETWORK_AVOID_BAD_WIFI_PROMPT = 1; // 0x1
+    field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1
+    field public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2; // 0x2
+    field public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3; // 0x3
+  }
+
+  public final class NetworkAgentConfig implements android.os.Parcelable {
+    method @Nullable public String getSubscriberId();
+    method public boolean isBypassableVpn();
+  }
+
+  public static final class NetworkAgentConfig.Builder {
+    method @NonNull public android.net.NetworkAgentConfig.Builder setBypassableVpn(boolean);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String);
+  }
+
+  public final class NetworkCapabilities implements android.os.Parcelable {
+    method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getUids();
+    method public boolean hasForbiddenCapability(int);
+    field public static final long REDACT_ALL = -1L; // 0xffffffffffffffffL
+    field public static final long REDACT_FOR_ACCESS_FINE_LOCATION = 1L; // 0x1L
+    field public static final long REDACT_FOR_LOCAL_MAC_ADDRESS = 2L; // 0x2L
+    field public static final long REDACT_FOR_NETWORK_SETTINGS = 4L; // 0x4L
+    field public static final long REDACT_NONE = 0L; // 0x0L
+    field public static final int TRANSPORT_TEST = 7; // 0x7
+  }
+
+  public static final class NetworkCapabilities.Builder {
+    method @NonNull public android.net.NetworkCapabilities.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
+  }
+
+  public class NetworkRequest implements android.os.Parcelable {
+    method @NonNull public int[] getForbiddenCapabilities();
+    method public boolean hasForbiddenCapability(int);
+  }
+
+  public static class NetworkRequest.Builder {
+    method @NonNull public android.net.NetworkRequest.Builder addForbiddenCapability(int);
+    method @NonNull public android.net.NetworkRequest.Builder removeForbiddenCapability(int);
+    method @NonNull public android.net.NetworkRequest.Builder setUids(@Nullable java.util.Set<android.util.Range<java.lang.Integer>>);
+  }
+
+  public final class TestNetworkInterface implements android.os.Parcelable {
+    ctor public TestNetworkInterface(@NonNull android.os.ParcelFileDescriptor, @NonNull String);
+    method public int describeContents();
+    method @NonNull public android.os.ParcelFileDescriptor getFileDescriptor();
+    method @NonNull public String getInterfaceName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR;
+  }
+
+  public class TestNetworkManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTapInterface();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public android.net.TestNetworkInterface createTunInterface(@NonNull java.util.Collection<android.net.LinkAddress>);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TEST_NETWORKS) public void teardownTestNetwork(@NonNull android.net.Network);
+    field public static final String TEST_TAP_PREFIX = "testtap";
+  }
+
+  public final class TestNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    ctor public TestNetworkSpecifier(@NonNull String);
+    method public int describeContents();
+    method @Nullable public String getInterfaceName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TestNetworkSpecifier> CREATOR;
+  }
+
+  public interface TransportInfo {
+    method public default long getApplicableRedactions();
+    method @NonNull public default android.net.TransportInfo makeCopy(long);
+  }
+
+  public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
+    ctor public VpnTransportInfo(int, @Nullable String);
+    method public int describeContents();
+    method @Nullable public String getSessionId();
+    method public int getType();
+    method @NonNull public android.net.VpnTransportInfo makeCopy(long);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR;
+  }
+
+}
+
diff --git a/32/module-lib/api/framework-graphics-removed.txt b/32/module-lib/api/framework-graphics-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-graphics-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-graphics.txt b/32/module-lib/api/framework-graphics.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-graphics.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-media-removed.txt b/32/module-lib/api/framework-media-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-media-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-media.txt b/32/module-lib/api/framework-media.txt
new file mode 100644
index 0000000..eb6397a
--- /dev/null
+++ b/32/module-lib/api/framework-media.txt
@@ -0,0 +1,30 @@
+// Signature format: 2.0
+package android.media {
+
+  public class MediaCommunicationManager {
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaCommunicationManager.SessionCallback);
+    method public void unregisterSessionCallback(@NonNull android.media.MediaCommunicationManager.SessionCallback);
+  }
+
+  public static interface MediaCommunicationManager.SessionCallback {
+    method public default void onSession2TokenCreated(@NonNull android.media.Session2Token);
+    method public default void onSession2TokensChanged(@NonNull java.util.List<android.media.Session2Token>);
+  }
+
+  public class MediaFrameworkInitializer {
+    method public static void registerServiceWrappers();
+    method public static void setMediaServiceManager(@NonNull android.media.MediaServiceManager);
+  }
+
+  @Deprecated public final class MediaParceledListSlice<T extends android.os.Parcelable> implements android.os.Parcelable {
+    ctor @Deprecated public MediaParceledListSlice(@NonNull java.util.List<T>);
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public static <T extends android.os.Parcelable> android.media.MediaParceledListSlice<T> emptyList();
+    method @Deprecated public java.util.List<T> getList();
+    method @Deprecated public void setInlineCountLimit(int);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.ClassLoaderCreator<android.media.MediaParceledListSlice> CREATOR;
+  }
+
+}
+
diff --git a/32/module-lib/api/framework-mediaprovider-removed.txt b/32/module-lib/api/framework-mediaprovider-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-mediaprovider-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-mediaprovider.txt b/32/module-lib/api/framework-mediaprovider.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-mediaprovider.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-permission-removed.txt b/32/module-lib/api/framework-permission-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-permission-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-permission-s-removed.txt b/32/module-lib/api/framework-permission-s-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-permission-s-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-permission-s.txt b/32/module-lib/api/framework-permission-s.txt
new file mode 100644
index 0000000..ea38c21
--- /dev/null
+++ b/32/module-lib/api/framework-permission-s.txt
@@ -0,0 +1,15 @@
+// Signature format: 2.0
+package android.app.role {
+
+  public class RoleFrameworkInitializer {
+    method public static void registerServiceWrappers();
+  }
+
+  public final class RoleManager {
+    method @Nullable public String getBrowserRoleHolder(int);
+    method @Nullable public String getSmsRoleHolder(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public boolean setBrowserRoleHolder(@Nullable String, int);
+  }
+
+}
+
diff --git a/32/module-lib/api/framework-permission.txt b/32/module-lib/api/framework-permission.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-permission.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-scheduling-removed.txt b/32/module-lib/api/framework-scheduling-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-scheduling-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-scheduling.txt b/32/module-lib/api/framework-scheduling.txt
new file mode 100644
index 0000000..9356eb7
--- /dev/null
+++ b/32/module-lib/api/framework-scheduling.txt
@@ -0,0 +1,9 @@
+// Signature format: 2.0
+package android.scheduling {
+
+  public class SchedulingFrameworkInitializer {
+    method public static void registerServiceWrappers();
+  }
+
+}
+
diff --git a/32/module-lib/api/framework-sdkextensions-removed.txt b/32/module-lib/api/framework-sdkextensions-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-sdkextensions-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-sdkextensions.txt b/32/module-lib/api/framework-sdkextensions.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-sdkextensions.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-statsd-removed.txt b/32/module-lib/api/framework-statsd-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-statsd-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-statsd.txt b/32/module-lib/api/framework-statsd.txt
new file mode 100644
index 0000000..8b6e217
--- /dev/null
+++ b/32/module-lib/api/framework-statsd.txt
@@ -0,0 +1,10 @@
+// Signature format: 2.0
+package android.os {
+
+  public class StatsFrameworkInitializer {
+    method public static void registerServiceWrappers();
+    method public static void setStatsServiceManager(@NonNull android.os.StatsServiceManager);
+  }
+
+}
+
diff --git a/32/module-lib/api/framework-tethering-removed.txt b/32/module-lib/api/framework-tethering-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-tethering-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-tethering.txt b/32/module-lib/api/framework-tethering.txt
new file mode 100644
index 0000000..0566040
--- /dev/null
+++ b/32/module-lib/api/framework-tethering.txt
@@ -0,0 +1,41 @@
+// Signature format: 2.0
+package android.net {
+
+  public final class TetheringConstants {
+    field public static final String EXTRA_ADD_TETHER_TYPE = "extraAddTetherType";
+    field public static final String EXTRA_PROVISION_CALLBACK = "extraProvisionCallback";
+    field public static final String EXTRA_REM_TETHER_TYPE = "extraRemTetherType";
+    field public static final String EXTRA_RUN_PROVISION = "extraRunProvision";
+    field public static final String EXTRA_SET_ALARM = "extraSetAlarm";
+  }
+
+  public class TetheringManager {
+    ctor public TetheringManager(@NonNull android.content.Context, @NonNull java.util.function.Supplier<android.os.IBinder>);
+    method public int getLastTetherError(@NonNull String);
+    method @NonNull public String[] getTetherableBluetoothRegexs();
+    method @NonNull public String[] getTetherableIfaces();
+    method @NonNull public String[] getTetherableUsbRegexs();
+    method @NonNull public String[] getTetherableWifiRegexs();
+    method @NonNull public String[] getTetheredIfaces();
+    method @NonNull public String[] getTetheringErroredIfaces();
+    method public boolean isTetheringSupported();
+    method public boolean isTetheringSupported(@NonNull String);
+    method public void requestLatestTetheringEntitlementResult(int, @NonNull android.os.ResultReceiver, boolean);
+    method @Deprecated public int setUsbTethering(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(int, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback);
+    method @Deprecated public int tether(@NonNull String);
+    method @Deprecated public int untether(@NonNull String);
+  }
+
+  public static interface TetheringManager.TetheringEventCallback {
+    method @Deprecated public default void onTetherableInterfaceRegexpsChanged(@NonNull android.net.TetheringManager.TetheringInterfaceRegexps);
+  }
+
+  @Deprecated public static class TetheringManager.TetheringInterfaceRegexps {
+    method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableBluetoothRegexs();
+    method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableUsbRegexs();
+    method @Deprecated @NonNull public java.util.List<java.lang.String> getTetherableWifiRegexs();
+  }
+
+}
+
diff --git a/32/module-lib/api/framework-wifi-removed.txt b/32/module-lib/api/framework-wifi-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-wifi-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/framework-wifi.txt b/32/module-lib/api/framework-wifi.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/framework-wifi.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/api/removed.txt b/32/module-lib/api/removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/module-lib/api/removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/module-lib/art.jar b/32/module-lib/art.jar
new file mode 100644
index 0000000..bc9bef4
--- /dev/null
+++ b/32/module-lib/art.jar
Binary files differ
diff --git a/32/module-lib/framework-appsearch.jar b/32/module-lib/framework-appsearch.jar
new file mode 100644
index 0000000..a9ec3d4
--- /dev/null
+++ b/32/module-lib/framework-appsearch.jar
Binary files differ
diff --git a/32/module-lib/framework-graphics.jar b/32/module-lib/framework-graphics.jar
new file mode 100644
index 0000000..d0cbc01
--- /dev/null
+++ b/32/module-lib/framework-graphics.jar
Binary files differ
diff --git a/32/module-lib/framework-media.jar b/32/module-lib/framework-media.jar
new file mode 100644
index 0000000..0b49012
--- /dev/null
+++ b/32/module-lib/framework-media.jar
Binary files differ
diff --git a/32/module-lib/framework-permission-s.jar b/32/module-lib/framework-permission-s.jar
new file mode 100644
index 0000000..66835c9
--- /dev/null
+++ b/32/module-lib/framework-permission-s.jar
Binary files differ
diff --git a/32/module-lib/framework-statsd.jar b/32/module-lib/framework-statsd.jar
new file mode 100644
index 0000000..141b45a
--- /dev/null
+++ b/32/module-lib/framework-statsd.jar
Binary files differ
diff --git a/32/module-lib/framework-tethering.jar b/32/module-lib/framework-tethering.jar
new file mode 100644
index 0000000..4d17fbd
--- /dev/null
+++ b/32/module-lib/framework-tethering.jar
Binary files differ
diff --git a/32/public/android-non-updatable.jar b/32/public/android-non-updatable.jar
new file mode 100644
index 0000000..a217e8b
--- /dev/null
+++ b/32/public/android-non-updatable.jar
Binary files differ
diff --git a/32/public/android.jar b/32/public/android.jar
new file mode 100644
index 0000000..32d7c47
--- /dev/null
+++ b/32/public/android.jar
Binary files differ
diff --git a/32/public/android.test.base.jar b/32/public/android.test.base.jar
new file mode 100644
index 0000000..e834e18
--- /dev/null
+++ b/32/public/android.test.base.jar
Binary files differ
diff --git a/32/public/android.test.mock.jar b/32/public/android.test.mock.jar
new file mode 100644
index 0000000..bc79d64
--- /dev/null
+++ b/32/public/android.test.mock.jar
Binary files differ
diff --git a/32/public/android.test.runner.jar b/32/public/android.test.runner.jar
new file mode 100644
index 0000000..4f2cc05
--- /dev/null
+++ b/32/public/android.test.runner.jar
Binary files differ
diff --git a/32/public/api/android-non-updatable-removed.txt b/32/public/api/android-non-updatable-removed.txt
new file mode 100644
index 0000000..bf86422
--- /dev/null
+++ b/32/public/api/android-non-updatable-removed.txt
@@ -0,0 +1,607 @@
+// Signature format: 2.0
+package android.app {
+
+  public class Notification implements android.os.Parcelable {
+    method @Deprecated public String getChannel();
+    method public static Class<? extends android.app.Notification.Style> getNotificationStyleClass(String);
+    method @Deprecated public long getTimeout();
+    method @Deprecated public void setLatestEventInfo(android.content.Context, CharSequence, CharSequence, android.app.PendingIntent);
+  }
+
+  public static final class Notification.BubbleMetadata implements android.os.Parcelable {
+    method @Deprecated @Nullable public android.graphics.drawable.Icon getBubbleIcon();
+    method @Deprecated @Nullable public android.app.PendingIntent getBubbleIntent();
+  }
+
+  public static final class Notification.BubbleMetadata.Builder {
+    method @Deprecated @NonNull public android.app.Notification.BubbleMetadata.Builder createIntentBubble(@NonNull android.app.PendingIntent, @NonNull android.graphics.drawable.Icon);
+    method @Deprecated @NonNull public android.app.Notification.BubbleMetadata.Builder createShortcutBubble(@NonNull String);
+  }
+
+  public static class Notification.Builder {
+    method @Deprecated public android.app.Notification.Builder setChannel(String);
+    method @Deprecated public android.app.Notification.Builder setTimeout(long);
+  }
+
+}
+
+package android.app.slice {
+
+  public final class Slice implements android.os.Parcelable {
+    field @Deprecated public static final String EXTRA_SLIDER_VALUE = "android.app.slice.extra.SLIDER_VALUE";
+    field @Deprecated public static final String SUBTYPE_SLIDER = "slider";
+  }
+
+  public static class Slice.Builder {
+    ctor @Deprecated public Slice.Builder(@NonNull android.net.Uri);
+    method @Deprecated public android.app.slice.Slice.Builder addTimestamp(long, @Nullable String, java.util.List<java.lang.String>);
+    method @Deprecated public android.app.slice.Slice.Builder setSpec(android.app.slice.SliceSpec);
+  }
+
+  public final class SliceItem implements android.os.Parcelable {
+    method @Deprecated public long getTimestamp();
+    field @Deprecated public static final String FORMAT_TIMESTAMP = "long";
+  }
+
+  public class SliceManager {
+    method @Deprecated @Nullable public android.app.slice.Slice bindSlice(@NonNull android.net.Uri, @NonNull java.util.List<android.app.slice.SliceSpec>);
+    method @Deprecated @Nullable public android.app.slice.Slice bindSlice(@NonNull android.content.Intent, @NonNull java.util.List<android.app.slice.SliceSpec>);
+    method @Deprecated public void pinSlice(@NonNull android.net.Uri, @NonNull java.util.List<android.app.slice.SliceSpec>);
+  }
+
+  public abstract class SliceProvider extends android.content.ContentProvider {
+    method @Deprecated public android.app.slice.Slice onBindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>);
+  }
+
+}
+
+package android.app.usage {
+
+  public class StorageStatsManager {
+    method @Deprecated public long getFreeBytes(String) throws java.io.IOException;
+    method @Deprecated public long getTotalBytes(String) throws java.io.IOException;
+    method @Deprecated public boolean isQuotaSupported(String);
+    method @Deprecated public android.app.usage.ExternalStorageStats queryExternalStatsForUser(String, android.os.UserHandle) throws java.io.IOException;
+    method @Deprecated public android.app.usage.StorageStats queryStatsForPackage(String, String, android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.app.usage.StorageStats queryStatsForUid(String, int) throws java.io.IOException;
+    method @Deprecated public android.app.usage.StorageStats queryStatsForUser(String, android.os.UserHandle) throws java.io.IOException;
+  }
+
+}
+
+package android.content {
+
+  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+    method @Deprecated @Nullable public final String getCallingFeatureId();
+  }
+
+  public abstract class ContentResolver {
+    method @Deprecated public void notifyChange(@NonNull Iterable<android.net.Uri>, @Nullable android.database.ContentObserver, int);
+  }
+
+  public abstract class Context {
+    method @Deprecated @NonNull public android.content.Context createFeatureContext(@Nullable String);
+    method @Deprecated @Nullable public String getFeatureId();
+    method public abstract android.content.SharedPreferences getSharedPreferences(java.io.File, int);
+    method public abstract java.io.File getSharedPreferencesPath(String);
+  }
+
+  public class ContextWrapper extends android.content.Context {
+    method public android.content.SharedPreferences getSharedPreferences(java.io.File, int);
+    method public java.io.File getSharedPreferencesPath(String);
+  }
+
+  public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    field @Deprecated public static final String EXTRA_QUICK_VIEW_ADVANCED = "android.intent.extra.QUICK_VIEW_ADVANCED";
+  }
+
+}
+
+package android.content.pm {
+
+  public class PackageInfo implements android.os.Parcelable {
+    field public static final int REQUESTED_PERMISSION_REQUIRED = 1; // 0x1
+  }
+
+  public abstract class PackageManager {
+    method public abstract boolean setInstantAppCookie(@Nullable byte[]);
+  }
+
+  public final class SharedLibraryInfo implements android.os.Parcelable {
+    method public boolean isBuiltin();
+    method public boolean isDynamic();
+    method public boolean isStatic();
+  }
+
+}
+
+package android.database {
+
+  public abstract class AbstractCursor implements android.database.CrossProcessCursor {
+    field protected Long mCurrentRowID;
+    field protected int mRowIdColumnIndex;
+    field protected java.util.HashMap<java.lang.Long,java.util.Map<java.lang.String,java.lang.Object>> mUpdatedRows;
+  }
+
+}
+
+package android.graphics {
+
+  @Deprecated public class AvoidXfermode extends android.graphics.Xfermode {
+    ctor public AvoidXfermode(int, int, android.graphics.AvoidXfermode.Mode);
+  }
+
+  public enum AvoidXfermode.Mode {
+    enum_constant public static final android.graphics.AvoidXfermode.Mode AVOID;
+    enum_constant public static final android.graphics.AvoidXfermode.Mode TARGET;
+  }
+
+  public class Canvas {
+    method @Deprecated public boolean clipRegion(@NonNull android.graphics.Region, @NonNull android.graphics.Region.Op);
+    method @Deprecated public boolean clipRegion(@NonNull android.graphics.Region);
+    method @Deprecated public int save(int);
+    field @Deprecated public static final int CLIP_SAVE_FLAG = 2; // 0x2
+    field @Deprecated public static final int CLIP_TO_LAYER_SAVE_FLAG = 16; // 0x10
+    field @Deprecated public static final int FULL_COLOR_LAYER_SAVE_FLAG = 8; // 0x8
+    field @Deprecated public static final int HAS_ALPHA_LAYER_SAVE_FLAG = 4; // 0x4
+    field @Deprecated public static final int MATRIX_SAVE_FLAG = 1; // 0x1
+  }
+
+  public final class ImageDecoder implements java.lang.AutoCloseable {
+    method @Deprecated public boolean getAsAlphaMask();
+    method @Deprecated public boolean getConserveMemory();
+    method @Deprecated public boolean getDecodeAsAlphaMask();
+    method @Deprecated public boolean getMutable();
+    method @Deprecated public boolean getRequireUnpremultiplied();
+    method @Deprecated public android.graphics.ImageDecoder setAsAlphaMask(boolean);
+    method @Deprecated public void setConserveMemory(boolean);
+    method @Deprecated public android.graphics.ImageDecoder setDecodeAsAlphaMask(boolean);
+    method @Deprecated public android.graphics.ImageDecoder setMutable(boolean);
+    method @Deprecated public android.graphics.ImageDecoder setRequireUnpremultiplied(boolean);
+    method @Deprecated public android.graphics.ImageDecoder setResize(int, int);
+    method @Deprecated public android.graphics.ImageDecoder setResize(int);
+    field @Deprecated public static final int ERROR_SOURCE_ERROR = 3; // 0x3
+    field @Deprecated public static final int ERROR_SOURCE_EXCEPTION = 1; // 0x1
+    field @Deprecated public static final int ERROR_SOURCE_INCOMPLETE = 2; // 0x2
+  }
+
+  @Deprecated public static class ImageDecoder.IncompleteException extends java.io.IOException {
+    ctor public ImageDecoder.IncompleteException();
+  }
+
+  @Deprecated public class LayerRasterizer extends android.graphics.Rasterizer {
+    ctor public LayerRasterizer();
+    method public void addLayer(android.graphics.Paint, float, float);
+    method public void addLayer(android.graphics.Paint);
+  }
+
+  public class Paint {
+    method @Deprecated public android.graphics.Rasterizer getRasterizer();
+    method @Deprecated public android.graphics.Rasterizer setRasterizer(android.graphics.Rasterizer);
+  }
+
+  public class Picture {
+    method @Deprecated public static android.graphics.Picture createFromStream(@NonNull java.io.InputStream);
+    method @Deprecated public void writeToStream(@NonNull java.io.OutputStream);
+  }
+
+  @Deprecated public class PixelXorXfermode extends android.graphics.Xfermode {
+    ctor public PixelXorXfermode(int);
+  }
+
+  public class Rasterizer {
+    ctor public Rasterizer();
+  }
+
+}
+
+package android.graphics.drawable {
+
+  public class AnimatedImageDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
+    method @Deprecated public int getLoopCount(int);
+    method @Deprecated public void setLoopCount(int);
+    field @Deprecated public static final int LOOP_INFINITE = -1; // 0xffffffff
+  }
+
+}
+
+package android.hardware {
+
+  public final class SensorDirectChannel implements java.nio.channels.Channel {
+    method @Deprecated public boolean isValid();
+  }
+
+}
+
+package android.location {
+
+  public class Location implements android.os.Parcelable {
+    method @Deprecated public void removeBearingAccuracy();
+    method @Deprecated public void removeSpeedAccuracy();
+    method @Deprecated public void removeVerticalAccuracy();
+  }
+
+}
+
+package android.media {
+
+  public final class AudioFormat implements android.os.Parcelable {
+    ctor public AudioFormat();
+  }
+
+}
+
+package android.media.tv {
+
+  public class TvView extends android.view.ViewGroup {
+    method public void requestUnblockContent(android.media.tv.TvContentRating);
+  }
+
+}
+
+package android.net {
+
+  @Deprecated public class NetworkBadging {
+    method @NonNull public static android.graphics.drawable.Drawable getWifiIcon(@IntRange(from=0, to=4) int, int, @Nullable android.content.res.Resources.Theme);
+    field public static final int BADGING_4K = 30; // 0x1e
+    field public static final int BADGING_HD = 20; // 0x14
+    field public static final int BADGING_NONE = 0; // 0x0
+    field public static final int BADGING_SD = 10; // 0xa
+  }
+
+  @IntDef({0x0, 0xa, 0x14, 0x1e}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface NetworkBadging.Badging {
+  }
+
+  public final class Proxy {
+    field @Deprecated public static final String EXTRA_PROXY_INFO = "android.intent.extra.PROXY_INFO";
+  }
+
+  @Deprecated public class SSLCertificateSocketFactory extends javax.net.ssl.SSLSocketFactory {
+    method @Deprecated public static org.apache.http.conn.ssl.SSLSocketFactory getHttpSocketFactory(int, android.net.SSLSessionCache);
+  }
+
+  public class TrafficStats {
+    method @Deprecated public static void setThreadStatsUidSelf();
+  }
+
+}
+
+package android.os {
+
+  public class BatteryManager {
+    ctor public BatteryManager();
+  }
+
+  public final class PowerManager {
+    method public void goToSleep(long);
+    method @Deprecated public void userActivity(long, boolean);
+    method @Deprecated public void wakeUp(long);
+  }
+
+  public class RecoverySystem {
+    ctor public RecoverySystem();
+  }
+
+  public static final class StrictMode.ThreadPolicy.Builder {
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyListener(@NonNull android.os.StrictMode.OnThreadViolationListener, @NonNull java.util.concurrent.Executor);
+  }
+
+  public static final class StrictMode.VmPolicy.Builder {
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyListener(@NonNull android.os.StrictMode.OnVmViolationListener, @NonNull java.util.concurrent.Executor);
+  }
+
+  public final class SystemClock {
+    method @NonNull public static java.time.Clock elapsedRealtimeClock();
+    method @NonNull public static java.time.Clock uptimeClock();
+  }
+
+  public class TestLooperManager {
+    method @Deprecated public android.os.MessageQueue getQueue();
+  }
+
+  public class UserManager {
+    method public android.graphics.drawable.Drawable getBadgedDrawableForUser(android.graphics.drawable.Drawable, android.os.UserHandle, android.graphics.Rect, int);
+    method public android.graphics.drawable.Drawable getBadgedIconForUser(android.graphics.drawable.Drawable, android.os.UserHandle);
+    method public CharSequence getBadgedLabelForUser(CharSequence, android.os.UserHandle);
+  }
+
+}
+
+package android.os.storage {
+
+  public class StorageManager {
+    method @NonNull public android.os.storage.StorageVolume getPrimaryVolume();
+    method @NonNull public android.os.storage.StorageVolume[] getVolumeList();
+  }
+
+}
+
+package android.provider {
+
+  public class Browser {
+    method @RequiresPermission(allOf={"com.android.browser.permission.READ_HISTORY_BOOKMARKS", "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"}, apis="..22") public static final void addSearchUrl(android.content.ContentResolver, String);
+    method @RequiresPermission(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") public static final boolean canClearHistory(android.content.ContentResolver);
+    method @RequiresPermission(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final void clearHistory(android.content.ContentResolver);
+    method @RequiresPermission(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final void clearSearches(android.content.ContentResolver);
+    method @RequiresPermission(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final void deleteFromHistory(android.content.ContentResolver, String);
+    method @RequiresPermission(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final void deleteHistoryTimeFrame(android.content.ContentResolver, long, long);
+    method @RequiresPermission(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") public static final android.database.Cursor getAllBookmarks(android.content.ContentResolver) throws java.lang.IllegalStateException;
+    method @RequiresPermission(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") public static final android.database.Cursor getAllVisitedUrls(android.content.ContentResolver) throws java.lang.IllegalStateException;
+    method @RequiresPermission(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") public static final void requestAllIcons(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
+    method public static final void saveBookmark(android.content.Context, String, String);
+    method @RequiresPermission(allOf={"com.android.browser.permission.READ_HISTORY_BOOKMARKS", "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"}, apis="..22") public static final void truncateHistory(android.content.ContentResolver);
+    method @RequiresPermission(allOf={"com.android.browser.permission.READ_HISTORY_BOOKMARKS", "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"}, apis="..22") public static final void updateVisitedHistory(android.content.ContentResolver, String, boolean);
+    field @RequiresPermission.Read(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") @RequiresPermission.Write(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final android.net.Uri BOOKMARKS_URI;
+    field public static final String[] HISTORY_PROJECTION;
+    field public static final int HISTORY_PROJECTION_BOOKMARK_INDEX = 4; // 0x4
+    field public static final int HISTORY_PROJECTION_DATE_INDEX = 3; // 0x3
+    field public static final int HISTORY_PROJECTION_FAVICON_INDEX = 6; // 0x6
+    field public static final int HISTORY_PROJECTION_ID_INDEX = 0; // 0x0
+    field public static final int HISTORY_PROJECTION_TITLE_INDEX = 5; // 0x5
+    field public static final int HISTORY_PROJECTION_URL_INDEX = 1; // 0x1
+    field public static final int HISTORY_PROJECTION_VISITS_INDEX = 2; // 0x2
+    field public static final String[] SEARCHES_PROJECTION;
+    field public static final int SEARCHES_PROJECTION_DATE_INDEX = 2; // 0x2
+    field public static final int SEARCHES_PROJECTION_SEARCH_INDEX = 1; // 0x1
+    field @RequiresPermission.Read(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") @RequiresPermission.Write(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final android.net.Uri SEARCHES_URI;
+    field public static final String[] TRUNCATE_HISTORY_PROJECTION;
+    field public static final int TRUNCATE_HISTORY_PROJECTION_ID_INDEX = 0; // 0x0
+    field public static final int TRUNCATE_N_OLDEST = 5; // 0x5
+  }
+
+  public static class Browser.BookmarkColumns implements android.provider.BaseColumns {
+    ctor public Browser.BookmarkColumns();
+    field public static final String BOOKMARK = "bookmark";
+    field public static final String CREATED = "created";
+    field public static final String DATE = "date";
+    field public static final String FAVICON = "favicon";
+    field public static final String TITLE = "title";
+    field public static final String URL = "url";
+    field public static final String VISITS = "visits";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  public static class Browser.SearchColumns implements android.provider.BaseColumns {
+    ctor public Browser.SearchColumns();
+    field public static final String DATE = "date";
+    field public static final String SEARCH = "search";
+    field @Deprecated public static final String URL = "url";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  @Deprecated public static final class ContactsContract.Contacts.StreamItems implements android.provider.ContactsContract.StreamItemsColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "stream_items";
+  }
+
+  @Deprecated public static final class ContactsContract.RawContacts.StreamItems implements android.provider.BaseColumns android.provider.ContactsContract.StreamItemsColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "stream_items";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  @Deprecated public static final class ContactsContract.StreamItemPhotos implements android.provider.BaseColumns android.provider.ContactsContract.StreamItemPhotosColumns {
+    field @Deprecated public static final String PHOTO = "photo";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  @Deprecated protected static interface ContactsContract.StreamItemPhotosColumns {
+    field @Deprecated public static final String PHOTO_FILE_ID = "photo_file_id";
+    field @Deprecated public static final String PHOTO_URI = "photo_uri";
+    field @Deprecated public static final String SORT_INDEX = "sort_index";
+    field @Deprecated public static final String STREAM_ITEM_ID = "stream_item_id";
+    field @Deprecated public static final String SYNC1 = "stream_item_photo_sync1";
+    field @Deprecated public static final String SYNC2 = "stream_item_photo_sync2";
+    field @Deprecated public static final String SYNC3 = "stream_item_photo_sync3";
+    field @Deprecated public static final String SYNC4 = "stream_item_photo_sync4";
+  }
+
+  @Deprecated public static final class ContactsContract.StreamItems implements android.provider.BaseColumns android.provider.ContactsContract.StreamItemsColumns {
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/stream_item";
+    field @Deprecated public static final android.net.Uri CONTENT_LIMIT_URI;
+    field @Deprecated public static final android.net.Uri CONTENT_PHOTO_URI;
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/stream_item";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String MAX_ITEMS = "max_items";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  @Deprecated public static final class ContactsContract.StreamItems.StreamItemPhotos implements android.provider.BaseColumns android.provider.ContactsContract.StreamItemPhotosColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "photo";
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/stream_item_photo";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/stream_item_photo";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  @Deprecated protected static interface ContactsContract.StreamItemsColumns {
+    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
+    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
+    field @Deprecated public static final String COMMENTS = "comments";
+    field @Deprecated public static final String CONTACT_ID = "contact_id";
+    field @Deprecated public static final String CONTACT_LOOKUP_KEY = "contact_lookup";
+    field @Deprecated public static final String DATA_SET = "data_set";
+    field @Deprecated public static final String RAW_CONTACT_ID = "raw_contact_id";
+    field @Deprecated public static final String RAW_CONTACT_SOURCE_ID = "raw_contact_source_id";
+    field @Deprecated public static final String RES_ICON = "icon";
+    field @Deprecated public static final String RES_LABEL = "label";
+    field @Deprecated public static final String RES_PACKAGE = "res_package";
+    field @Deprecated public static final String SYNC1 = "stream_item_sync1";
+    field @Deprecated public static final String SYNC2 = "stream_item_sync2";
+    field @Deprecated public static final String SYNC3 = "stream_item_sync3";
+    field @Deprecated public static final String SYNC4 = "stream_item_sync4";
+    field @Deprecated public static final String TEXT = "text";
+    field @Deprecated public static final String TIMESTAMP = "timestamp";
+  }
+
+  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
+    field @Deprecated public static final String CONTACT_METADATA_SYNC = "contact_metadata_sync";
+  }
+
+  public static final class Settings.System extends android.provider.Settings.NameValueTable {
+    field public static final String APPEND_FOR_LAST_AUDIBLE = "_last_audible";
+    field public static final String VOLUME_ALARM = "volume_alarm";
+    field public static final String VOLUME_BLUETOOTH_SCO = "volume_bluetooth_sco";
+    field public static final String VOLUME_MUSIC = "volume_music";
+    field public static final String VOLUME_NOTIFICATION = "volume_notification";
+    field public static final String VOLUME_RING = "volume_ring";
+    field public static final String[] VOLUME_SETTINGS;
+    field public static final String VOLUME_SYSTEM = "volume_system";
+    field public static final String VOLUME_VOICE = "volume_voice";
+  }
+
+}
+
+package android.speech.tts {
+
+  public abstract class UtteranceProgressListener {
+    method @Deprecated public void onUtteranceRangeStart(String, int, int);
+  }
+
+}
+
+package android.telephony {
+
+  public class NetworkScan {
+    method @Deprecated public void stop() throws android.os.RemoteException;
+  }
+
+  public class TelephonyManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public java.util.List<android.telephony.NeighboringCellInfo> getNeighboringCellInfo();
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.telephony.NetworkScan requestNetworkScan(android.telephony.NetworkScanRequest, android.telephony.TelephonyScanManager.NetworkScanCallback);
+  }
+
+}
+
+package android.text.format {
+
+  public class DateFormat {
+    field @Deprecated public static final char AM_PM = 97; // 0x0061 'a'
+    field @Deprecated public static final char CAPITAL_AM_PM = 65; // 0x0041 'A'
+    field @Deprecated public static final char DATE = 100; // 0x0064 'd'
+    field @Deprecated public static final char DAY = 69; // 0x0045 'E'
+    field @Deprecated public static final char HOUR = 104; // 0x0068 'h'
+    field @Deprecated public static final char HOUR_OF_DAY = 107; // 0x006b 'k'
+    field @Deprecated public static final char MINUTE = 109; // 0x006d 'm'
+    field @Deprecated public static final char MONTH = 77; // 0x004d 'M'
+    field @Deprecated public static final char QUOTE = 39; // 0x0027 '\''
+    field @Deprecated public static final char SECONDS = 115; // 0x0073 's'
+    field @Deprecated public static final char STANDALONE_MONTH = 76; // 0x004c 'L'
+    field @Deprecated public static final char TIME_ZONE = 122; // 0x007a 'z'
+    field @Deprecated public static final char YEAR = 121; // 0x0079 'y'
+  }
+
+}
+
+package android.text.style {
+
+  public class RasterizerSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
+    ctor public RasterizerSpan(android.graphics.Rasterizer);
+    method public android.graphics.Rasterizer getRasterizer();
+    method public void updateDrawState(android.text.TextPaint);
+  }
+
+}
+
+package android.util {
+
+  @Deprecated public class FloatMath {
+    method public static float ceil(float);
+    method public static float cos(float);
+    method public static float exp(float);
+    method public static float floor(float);
+    method public static float hypot(float, float);
+    method public static float pow(float, float);
+    method public static float sin(float);
+    method public static float sqrt(float);
+  }
+
+}
+
+package android.view {
+
+  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
+    method protected void initializeFadingEdge(android.content.res.TypedArray);
+    method protected void initializeScrollbars(android.content.res.TypedArray);
+  }
+
+  public class ViewConfiguration {
+    method public int getScaledScrollFactor();
+  }
+
+  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
+    field public static final int TYPE_KEYGUARD = 2004; // 0x7d4
+    field public static final int TYPE_STATUS_BAR_PANEL = 2014; // 0x7de
+  }
+
+}
+
+package android.view.translation {
+
+  public final class TranslationManager {
+    method @Deprecated public void addOnDeviceTranslationCapabilityUpdateListener(int, int, @NonNull android.app.PendingIntent);
+    method @Deprecated public void addTranslationCapabilityUpdateListener(int, int, @NonNull android.app.PendingIntent);
+    method @Deprecated @Nullable @WorkerThread public android.view.translation.Translator createOnDeviceTranslator(@NonNull android.view.translation.TranslationContext);
+    method @Deprecated @Nullable @WorkerThread public android.view.translation.Translator createTranslator(@NonNull android.view.translation.TranslationContext);
+    method @Deprecated @NonNull @WorkerThread public java.util.Set<android.view.translation.TranslationCapability> getTranslationCapabilities(int, int);
+    method @Deprecated @Nullable public android.app.PendingIntent getTranslationSettingsActivityIntent();
+    method @Deprecated public void removeOnDeviceTranslationCapabilityUpdateListener(int, int, @NonNull android.app.PendingIntent);
+    method @Deprecated public void removeTranslationCapabilityUpdateListener(int, int, @NonNull android.app.PendingIntent);
+  }
+
+  public static final class TranslationRequest.Builder {
+    method @Deprecated @NonNull public android.view.translation.TranslationRequest.Builder addTranslationRequestValue(@NonNull android.view.translation.TranslationRequestValue);
+    method @Deprecated @NonNull public android.view.translation.TranslationRequest.Builder addViewTranslationRequest(@NonNull android.view.translation.ViewTranslationRequest);
+  }
+
+  public static final class TranslationResponse.Builder {
+    method @Deprecated @NonNull public android.view.translation.TranslationResponse.Builder setTranslationStatus(int);
+  }
+
+  public final class TranslationSpec implements android.os.Parcelable {
+    ctor @Deprecated public TranslationSpec(@NonNull String, int);
+    method @Deprecated @NonNull public String getLanguage();
+  }
+
+  public class Translator {
+    method @Deprecated @Nullable public void translate(@NonNull android.view.translation.TranslationRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
+  }
+
+  public interface UiTranslationStateCallback {
+    method @Deprecated public default void onStarted(@NonNull String, @NonNull String);
+  }
+
+}
+
+package android.webkit {
+
+  public class WebViewClient {
+    method public void onUnhandledInputEvent(android.webkit.WebView, android.view.InputEvent);
+  }
+
+}
+
+package android.widget {
+
+  @android.widget.RemoteViews.RemoteView public class ListView extends android.widget.AbsListView {
+    method protected <T extends android.view.View> T findViewTraversal(@IdRes int);
+    method protected <T extends android.view.View> T findViewWithTagTraversal(Object);
+  }
+
+  public class PopupWindow {
+    method @Deprecated public boolean isClipToScreenEnabled();
+    method @Deprecated public boolean isLayoutInScreenEnabled();
+    method @Deprecated public void setClipToScreenEnabled(boolean);
+    method @Deprecated public void setLayoutInScreenEnabled(boolean);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class TextView extends android.view.View implements android.view.ViewTreeObserver.OnPreDrawListener {
+    method public static int getTextColor(android.content.Context, android.content.res.TypedArray, int);
+    method public static android.content.res.ColorStateList getTextColors(android.content.Context, android.content.res.TypedArray);
+  }
+
+}
+
diff --git a/32/public/api/android-non-updatable.txt b/32/public/api/android-non-updatable.txt
new file mode 100644
index 0000000..1dd401d
--- /dev/null
+++ b/32/public/api/android-non-updatable.txt
@@ -0,0 +1,57935 @@
+// Signature format: 2.0
+package android {
+
+  public final class Manifest {
+    ctor public Manifest();
+  }
+
+  public static final class Manifest.permission {
+    ctor public Manifest.permission();
+    field public static final String ACCEPT_HANDOVER = "android.permission.ACCEPT_HANDOVER";
+    field public static final String ACCESS_BACKGROUND_LOCATION = "android.permission.ACCESS_BACKGROUND_LOCATION";
+    field public static final String ACCESS_BLOBS_ACROSS_USERS = "android.permission.ACCESS_BLOBS_ACROSS_USERS";
+    field public static final String ACCESS_CHECKIN_PROPERTIES = "android.permission.ACCESS_CHECKIN_PROPERTIES";
+    field public static final String ACCESS_COARSE_LOCATION = "android.permission.ACCESS_COARSE_LOCATION";
+    field public static final String ACCESS_FINE_LOCATION = "android.permission.ACCESS_FINE_LOCATION";
+    field public static final String ACCESS_LOCATION_EXTRA_COMMANDS = "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS";
+    field public static final String ACCESS_MEDIA_LOCATION = "android.permission.ACCESS_MEDIA_LOCATION";
+    field public static final String ACCESS_NETWORK_STATE = "android.permission.ACCESS_NETWORK_STATE";
+    field public static final String ACCESS_NOTIFICATION_POLICY = "android.permission.ACCESS_NOTIFICATION_POLICY";
+    field public static final String ACCESS_WIFI_STATE = "android.permission.ACCESS_WIFI_STATE";
+    field public static final String ACCOUNT_MANAGER = "android.permission.ACCOUNT_MANAGER";
+    field public static final String ACTIVITY_RECOGNITION = "android.permission.ACTIVITY_RECOGNITION";
+    field public static final String ADD_VOICEMAIL = "com.android.voicemail.permission.ADD_VOICEMAIL";
+    field public static final String ANSWER_PHONE_CALLS = "android.permission.ANSWER_PHONE_CALLS";
+    field public static final String BATTERY_STATS = "android.permission.BATTERY_STATS";
+    field public static final String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
+    field public static final String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
+    field public static final String BIND_AUTOFILL_SERVICE = "android.permission.BIND_AUTOFILL_SERVICE";
+    field public static final String BIND_CALL_REDIRECTION_SERVICE = "android.permission.BIND_CALL_REDIRECTION_SERVICE";
+    field public static final String BIND_CARRIER_MESSAGING_CLIENT_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE";
+    field @Deprecated public static final String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE";
+    field public static final String BIND_CARRIER_SERVICES = "android.permission.BIND_CARRIER_SERVICES";
+    field @Deprecated public static final String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE";
+    field public static final String BIND_COMPANION_DEVICE_SERVICE = "android.permission.BIND_COMPANION_DEVICE_SERVICE";
+    field public static final String BIND_CONDITION_PROVIDER_SERVICE = "android.permission.BIND_CONDITION_PROVIDER_SERVICE";
+    field public static final String BIND_CONTROLS = "android.permission.BIND_CONTROLS";
+    field public static final String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN";
+    field public static final String BIND_DREAM_SERVICE = "android.permission.BIND_DREAM_SERVICE";
+    field public static final String BIND_INCALL_SERVICE = "android.permission.BIND_INCALL_SERVICE";
+    field public static final String BIND_INPUT_METHOD = "android.permission.BIND_INPUT_METHOD";
+    field public static final String BIND_MIDI_DEVICE_SERVICE = "android.permission.BIND_MIDI_DEVICE_SERVICE";
+    field public static final String BIND_NFC_SERVICE = "android.permission.BIND_NFC_SERVICE";
+    field public static final String BIND_NOTIFICATION_LISTENER_SERVICE = "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE";
+    field public static final String BIND_PRINT_SERVICE = "android.permission.BIND_PRINT_SERVICE";
+    field public static final String BIND_QUICK_ACCESS_WALLET_SERVICE = "android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE";
+    field public static final String BIND_QUICK_SETTINGS_TILE = "android.permission.BIND_QUICK_SETTINGS_TILE";
+    field public static final String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS";
+    field public static final String BIND_SCREENING_SERVICE = "android.permission.BIND_SCREENING_SERVICE";
+    field public static final String BIND_TELECOM_CONNECTION_SERVICE = "android.permission.BIND_TELECOM_CONNECTION_SERVICE";
+    field public static final String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
+    field public static final String BIND_TV_INPUT = "android.permission.BIND_TV_INPUT";
+    field public static final String BIND_VISUAL_VOICEMAIL_SERVICE = "android.permission.BIND_VISUAL_VOICEMAIL_SERVICE";
+    field public static final String BIND_VOICE_INTERACTION = "android.permission.BIND_VOICE_INTERACTION";
+    field public static final String BIND_VPN_SERVICE = "android.permission.BIND_VPN_SERVICE";
+    field public static final String BIND_VR_LISTENER_SERVICE = "android.permission.BIND_VR_LISTENER_SERVICE";
+    field public static final String BIND_WALLPAPER = "android.permission.BIND_WALLPAPER";
+    field public static final String BLUETOOTH = "android.permission.BLUETOOTH";
+    field public static final String BLUETOOTH_ADMIN = "android.permission.BLUETOOTH_ADMIN";
+    field public static final String BLUETOOTH_ADVERTISE = "android.permission.BLUETOOTH_ADVERTISE";
+    field public static final String BLUETOOTH_CONNECT = "android.permission.BLUETOOTH_CONNECT";
+    field public static final String BLUETOOTH_PRIVILEGED = "android.permission.BLUETOOTH_PRIVILEGED";
+    field public static final String BLUETOOTH_SCAN = "android.permission.BLUETOOTH_SCAN";
+    field public static final String BODY_SENSORS = "android.permission.BODY_SENSORS";
+    field public static final String BROADCAST_PACKAGE_REMOVED = "android.permission.BROADCAST_PACKAGE_REMOVED";
+    field public static final String BROADCAST_SMS = "android.permission.BROADCAST_SMS";
+    field public static final String BROADCAST_STICKY = "android.permission.BROADCAST_STICKY";
+    field public static final String BROADCAST_WAP_PUSH = "android.permission.BROADCAST_WAP_PUSH";
+    field public static final String CALL_COMPANION_APP = "android.permission.CALL_COMPANION_APP";
+    field public static final String CALL_PHONE = "android.permission.CALL_PHONE";
+    field public static final String CALL_PRIVILEGED = "android.permission.CALL_PRIVILEGED";
+    field public static final String CAMERA = "android.permission.CAMERA";
+    field public static final String CAPTURE_AUDIO_OUTPUT = "android.permission.CAPTURE_AUDIO_OUTPUT";
+    field public static final String CHANGE_COMPONENT_ENABLED_STATE = "android.permission.CHANGE_COMPONENT_ENABLED_STATE";
+    field public static final String CHANGE_CONFIGURATION = "android.permission.CHANGE_CONFIGURATION";
+    field public static final String CHANGE_NETWORK_STATE = "android.permission.CHANGE_NETWORK_STATE";
+    field public static final String CHANGE_WIFI_MULTICAST_STATE = "android.permission.CHANGE_WIFI_MULTICAST_STATE";
+    field public static final String CHANGE_WIFI_STATE = "android.permission.CHANGE_WIFI_STATE";
+    field public static final String CLEAR_APP_CACHE = "android.permission.CLEAR_APP_CACHE";
+    field public static final String CONTROL_LOCATION_UPDATES = "android.permission.CONTROL_LOCATION_UPDATES";
+    field public static final String DELETE_CACHE_FILES = "android.permission.DELETE_CACHE_FILES";
+    field public static final String DELETE_PACKAGES = "android.permission.DELETE_PACKAGES";
+    field public static final String DIAGNOSTIC = "android.permission.DIAGNOSTIC";
+    field public static final String DISABLE_KEYGUARD = "android.permission.DISABLE_KEYGUARD";
+    field public static final String DUMP = "android.permission.DUMP";
+    field public static final String EXPAND_STATUS_BAR = "android.permission.EXPAND_STATUS_BAR";
+    field public static final String FACTORY_TEST = "android.permission.FACTORY_TEST";
+    field public static final String FOREGROUND_SERVICE = "android.permission.FOREGROUND_SERVICE";
+    field public static final String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS";
+    field public static final String GET_ACCOUNTS_PRIVILEGED = "android.permission.GET_ACCOUNTS_PRIVILEGED";
+    field public static final String GET_PACKAGE_SIZE = "android.permission.GET_PACKAGE_SIZE";
+    field @Deprecated public static final String GET_TASKS = "android.permission.GET_TASKS";
+    field public static final String GLOBAL_SEARCH = "android.permission.GLOBAL_SEARCH";
+    field public static final String HIDE_OVERLAY_WINDOWS = "android.permission.HIDE_OVERLAY_WINDOWS";
+    field public static final String HIGH_SAMPLING_RATE_SENSORS = "android.permission.HIGH_SAMPLING_RATE_SENSORS";
+    field public static final String INSTALL_LOCATION_PROVIDER = "android.permission.INSTALL_LOCATION_PROVIDER";
+    field public static final String INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES";
+    field public static final String INSTALL_SHORTCUT = "com.android.launcher.permission.INSTALL_SHORTCUT";
+    field public static final String INSTANT_APP_FOREGROUND_SERVICE = "android.permission.INSTANT_APP_FOREGROUND_SERVICE";
+    field public static final String INTERACT_ACROSS_PROFILES = "android.permission.INTERACT_ACROSS_PROFILES";
+    field public static final String INTERNET = "android.permission.INTERNET";
+    field public static final String KILL_BACKGROUND_PROCESSES = "android.permission.KILL_BACKGROUND_PROCESSES";
+    field public static final String LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK = "android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK";
+    field public static final String LOADER_USAGE_STATS = "android.permission.LOADER_USAGE_STATS";
+    field public static final String LOCATION_HARDWARE = "android.permission.LOCATION_HARDWARE";
+    field public static final String MANAGE_DOCUMENTS = "android.permission.MANAGE_DOCUMENTS";
+    field public static final String MANAGE_EXTERNAL_STORAGE = "android.permission.MANAGE_EXTERNAL_STORAGE";
+    field public static final String MANAGE_MEDIA = "android.permission.MANAGE_MEDIA";
+    field public static final String MANAGE_ONGOING_CALLS = "android.permission.MANAGE_ONGOING_CALLS";
+    field public static final String MANAGE_OWN_CALLS = "android.permission.MANAGE_OWN_CALLS";
+    field public static final String MASTER_CLEAR = "android.permission.MASTER_CLEAR";
+    field public static final String MEDIA_CONTENT_CONTROL = "android.permission.MEDIA_CONTENT_CONTROL";
+    field public static final String MODIFY_AUDIO_SETTINGS = "android.permission.MODIFY_AUDIO_SETTINGS";
+    field public static final String MODIFY_PHONE_STATE = "android.permission.MODIFY_PHONE_STATE";
+    field public static final String MOUNT_FORMAT_FILESYSTEMS = "android.permission.MOUNT_FORMAT_FILESYSTEMS";
+    field public static final String MOUNT_UNMOUNT_FILESYSTEMS = "android.permission.MOUNT_UNMOUNT_FILESYSTEMS";
+    field public static final String NFC = "android.permission.NFC";
+    field public static final String NFC_PREFERRED_PAYMENT_INFO = "android.permission.NFC_PREFERRED_PAYMENT_INFO";
+    field public static final String NFC_TRANSACTION_EVENT = "android.permission.NFC_TRANSACTION_EVENT";
+    field public static final String PACKAGE_USAGE_STATS = "android.permission.PACKAGE_USAGE_STATS";
+    field @Deprecated public static final String PERSISTENT_ACTIVITY = "android.permission.PERSISTENT_ACTIVITY";
+    field @Deprecated public static final String PROCESS_OUTGOING_CALLS = "android.permission.PROCESS_OUTGOING_CALLS";
+    field public static final String QUERY_ALL_PACKAGES = "android.permission.QUERY_ALL_PACKAGES";
+    field public static final String READ_CALENDAR = "android.permission.READ_CALENDAR";
+    field public static final String READ_CALL_LOG = "android.permission.READ_CALL_LOG";
+    field public static final String READ_CONTACTS = "android.permission.READ_CONTACTS";
+    field public static final String READ_EXTERNAL_STORAGE = "android.permission.READ_EXTERNAL_STORAGE";
+    field @Deprecated public static final String READ_INPUT_STATE = "android.permission.READ_INPUT_STATE";
+    field public static final String READ_LOGS = "android.permission.READ_LOGS";
+    field public static final String READ_PHONE_NUMBERS = "android.permission.READ_PHONE_NUMBERS";
+    field public static final String READ_PHONE_STATE = "android.permission.READ_PHONE_STATE";
+    field public static final String READ_PRECISE_PHONE_STATE = "android.permission.READ_PRECISE_PHONE_STATE";
+    field public static final String READ_SMS = "android.permission.READ_SMS";
+    field public static final String READ_SYNC_SETTINGS = "android.permission.READ_SYNC_SETTINGS";
+    field public static final String READ_SYNC_STATS = "android.permission.READ_SYNC_STATS";
+    field public static final String READ_VOICEMAIL = "com.android.voicemail.permission.READ_VOICEMAIL";
+    field public static final String REBOOT = "android.permission.REBOOT";
+    field public static final String RECEIVE_BOOT_COMPLETED = "android.permission.RECEIVE_BOOT_COMPLETED";
+    field public static final String RECEIVE_MMS = "android.permission.RECEIVE_MMS";
+    field public static final String RECEIVE_SMS = "android.permission.RECEIVE_SMS";
+    field public static final String RECEIVE_WAP_PUSH = "android.permission.RECEIVE_WAP_PUSH";
+    field public static final String RECORD_AUDIO = "android.permission.RECORD_AUDIO";
+    field public static final String REORDER_TASKS = "android.permission.REORDER_TASKS";
+    field public static final String REQUEST_COMPANION_PROFILE_WATCH = "android.permission.REQUEST_COMPANION_PROFILE_WATCH";
+    field public static final String REQUEST_COMPANION_RUN_IN_BACKGROUND = "android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND";
+    field public static final String REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND = "android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND";
+    field public static final String REQUEST_COMPANION_USE_DATA_IN_BACKGROUND = "android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND";
+    field public static final String REQUEST_DELETE_PACKAGES = "android.permission.REQUEST_DELETE_PACKAGES";
+    field public static final String REQUEST_IGNORE_BATTERY_OPTIMIZATIONS = "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS";
+    field public static final String REQUEST_INSTALL_PACKAGES = "android.permission.REQUEST_INSTALL_PACKAGES";
+    field public static final String REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE = "android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE";
+    field public static final String REQUEST_PASSWORD_COMPLEXITY = "android.permission.REQUEST_PASSWORD_COMPLEXITY";
+    field @Deprecated public static final String RESTART_PACKAGES = "android.permission.RESTART_PACKAGES";
+    field public static final String SCHEDULE_EXACT_ALARM = "android.permission.SCHEDULE_EXACT_ALARM";
+    field public static final String SEND_RESPOND_VIA_MESSAGE = "android.permission.SEND_RESPOND_VIA_MESSAGE";
+    field public static final String SEND_SMS = "android.permission.SEND_SMS";
+    field public static final String SET_ALARM = "com.android.alarm.permission.SET_ALARM";
+    field public static final String SET_ALWAYS_FINISH = "android.permission.SET_ALWAYS_FINISH";
+    field public static final String SET_ANIMATION_SCALE = "android.permission.SET_ANIMATION_SCALE";
+    field public static final String SET_DEBUG_APP = "android.permission.SET_DEBUG_APP";
+    field @Deprecated public static final String SET_PREFERRED_APPLICATIONS = "android.permission.SET_PREFERRED_APPLICATIONS";
+    field public static final String SET_PROCESS_LIMIT = "android.permission.SET_PROCESS_LIMIT";
+    field public static final String SET_TIME = "android.permission.SET_TIME";
+    field public static final String SET_TIME_ZONE = "android.permission.SET_TIME_ZONE";
+    field public static final String SET_WALLPAPER = "android.permission.SET_WALLPAPER";
+    field public static final String SET_WALLPAPER_HINTS = "android.permission.SET_WALLPAPER_HINTS";
+    field public static final String SIGNAL_PERSISTENT_PROCESSES = "android.permission.SIGNAL_PERSISTENT_PROCESSES";
+    field @Deprecated public static final String SMS_FINANCIAL_TRANSACTIONS = "android.permission.SMS_FINANCIAL_TRANSACTIONS";
+    field public static final String START_FOREGROUND_SERVICES_FROM_BACKGROUND = "android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND";
+    field public static final String START_VIEW_PERMISSION_USAGE = "android.permission.START_VIEW_PERMISSION_USAGE";
+    field public static final String STATUS_BAR = "android.permission.STATUS_BAR";
+    field public static final String SYSTEM_ALERT_WINDOW = "android.permission.SYSTEM_ALERT_WINDOW";
+    field public static final String TRANSMIT_IR = "android.permission.TRANSMIT_IR";
+    field public static final String UNINSTALL_SHORTCUT = "com.android.launcher.permission.UNINSTALL_SHORTCUT";
+    field public static final String UPDATE_DEVICE_STATS = "android.permission.UPDATE_DEVICE_STATS";
+    field public static final String UPDATE_PACKAGES_WITHOUT_USER_ACTION = "android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION";
+    field public static final String USE_BIOMETRIC = "android.permission.USE_BIOMETRIC";
+    field @Deprecated public static final String USE_FINGERPRINT = "android.permission.USE_FINGERPRINT";
+    field public static final String USE_FULL_SCREEN_INTENT = "android.permission.USE_FULL_SCREEN_INTENT";
+    field public static final String USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER = "android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER";
+    field public static final String USE_SIP = "android.permission.USE_SIP";
+    field public static final String UWB_RANGING = "android.permission.UWB_RANGING";
+    field public static final String VIBRATE = "android.permission.VIBRATE";
+    field public static final String WAKE_LOCK = "android.permission.WAKE_LOCK";
+    field public static final String WRITE_APN_SETTINGS = "android.permission.WRITE_APN_SETTINGS";
+    field public static final String WRITE_CALENDAR = "android.permission.WRITE_CALENDAR";
+    field public static final String WRITE_CALL_LOG = "android.permission.WRITE_CALL_LOG";
+    field public static final String WRITE_CONTACTS = "android.permission.WRITE_CONTACTS";
+    field public static final String WRITE_EXTERNAL_STORAGE = "android.permission.WRITE_EXTERNAL_STORAGE";
+    field public static final String WRITE_GSERVICES = "android.permission.WRITE_GSERVICES";
+    field public static final String WRITE_SECURE_SETTINGS = "android.permission.WRITE_SECURE_SETTINGS";
+    field public static final String WRITE_SETTINGS = "android.permission.WRITE_SETTINGS";
+    field public static final String WRITE_SYNC_SETTINGS = "android.permission.WRITE_SYNC_SETTINGS";
+    field public static final String WRITE_VOICEMAIL = "com.android.voicemail.permission.WRITE_VOICEMAIL";
+  }
+
+  public static final class Manifest.permission_group {
+    ctor public Manifest.permission_group();
+    field public static final String ACTIVITY_RECOGNITION = "android.permission-group.ACTIVITY_RECOGNITION";
+    field public static final String CALENDAR = "android.permission-group.CALENDAR";
+    field public static final String CALL_LOG = "android.permission-group.CALL_LOG";
+    field public static final String CAMERA = "android.permission-group.CAMERA";
+    field public static final String CONTACTS = "android.permission-group.CONTACTS";
+    field public static final String LOCATION = "android.permission-group.LOCATION";
+    field public static final String MICROPHONE = "android.permission-group.MICROPHONE";
+    field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES";
+    field public static final String PHONE = "android.permission-group.PHONE";
+    field public static final String SENSORS = "android.permission-group.SENSORS";
+    field public static final String SMS = "android.permission-group.SMS";
+    field public static final String STORAGE = "android.permission-group.STORAGE";
+  }
+
+  public final class R {
+    ctor public R();
+  }
+
+  public static final class R.anim {
+    ctor public R.anim();
+    field public static final int accelerate_decelerate_interpolator = 17432580; // 0x10a0004
+    field public static final int accelerate_interpolator = 17432581; // 0x10a0005
+    field public static final int anticipate_interpolator = 17432583; // 0x10a0007
+    field public static final int anticipate_overshoot_interpolator = 17432585; // 0x10a0009
+    field public static final int bounce_interpolator = 17432586; // 0x10a000a
+    field public static final int cycle_interpolator = 17432588; // 0x10a000c
+    field public static final int decelerate_interpolator = 17432582; // 0x10a0006
+    field public static final int fade_in = 17432576; // 0x10a0000
+    field public static final int fade_out = 17432577; // 0x10a0001
+    field public static final int linear_interpolator = 17432587; // 0x10a000b
+    field public static final int overshoot_interpolator = 17432584; // 0x10a0008
+    field public static final int slide_in_left = 17432578; // 0x10a0002
+    field public static final int slide_out_right = 17432579; // 0x10a0003
+  }
+
+  public static final class R.animator {
+    ctor public R.animator();
+    field public static final int fade_in = 17498112; // 0x10b0000
+    field public static final int fade_out = 17498113; // 0x10b0001
+  }
+
+  public static final class R.array {
+    ctor public R.array();
+    field public static final int emailAddressTypes = 17235968; // 0x1070000
+    field public static final int imProtocols = 17235969; // 0x1070001
+    field public static final int organizationTypes = 17235970; // 0x1070002
+    field public static final int phoneTypes = 17235971; // 0x1070003
+    field public static final int postalAddressTypes = 17235972; // 0x1070004
+  }
+
+  public static final class R.attr {
+    ctor public R.attr();
+    field public static final int absListViewStyle = 16842858; // 0x101006a
+    field public static final int accessibilityEventTypes = 16843648; // 0x1010380
+    field public static final int accessibilityFeedbackType = 16843650; // 0x1010382
+    field public static final int accessibilityFlags = 16843652; // 0x1010384
+    field public static final int accessibilityHeading = 16844160; // 0x1010580
+    field public static final int accessibilityLiveRegion = 16843758; // 0x10103ee
+    field public static final int accessibilityPaneTitle = 16844156; // 0x101057c
+    field public static final int accessibilityTraversalAfter = 16843986; // 0x10104d2
+    field public static final int accessibilityTraversalBefore = 16843985; // 0x10104d1
+    field public static final int accountPreferences = 16843423; // 0x101029f
+    field public static final int accountType = 16843407; // 0x101028f
+    field public static final int action = 16842797; // 0x101002d
+    field public static final int actionBarDivider = 16843675; // 0x101039b
+    field public static final int actionBarItemBackground = 16843676; // 0x101039c
+    field public static final int actionBarPopupTheme = 16843917; // 0x101048d
+    field public static final int actionBarSize = 16843499; // 0x10102eb
+    field public static final int actionBarSplitStyle = 16843656; // 0x1010388
+    field public static final int actionBarStyle = 16843470; // 0x10102ce
+    field public static final int actionBarTabBarStyle = 16843508; // 0x10102f4
+    field public static final int actionBarTabStyle = 16843507; // 0x10102f3
+    field public static final int actionBarTabTextStyle = 16843509; // 0x10102f5
+    field public static final int actionBarTheme = 16843825; // 0x1010431
+    field public static final int actionBarWidgetTheme = 16843671; // 0x1010397
+    field public static final int actionButtonStyle = 16843480; // 0x10102d8
+    field public static final int actionDropDownStyle = 16843479; // 0x10102d7
+    field public static final int actionLayout = 16843515; // 0x10102fb
+    field public static final int actionMenuTextAppearance = 16843616; // 0x1010360
+    field public static final int actionMenuTextColor = 16843617; // 0x1010361
+    field public static final int actionModeBackground = 16843483; // 0x10102db
+    field public static final int actionModeCloseButtonStyle = 16843511; // 0x10102f7
+    field public static final int actionModeCloseDrawable = 16843484; // 0x10102dc
+    field public static final int actionModeCopyDrawable = 16843538; // 0x1010312
+    field public static final int actionModeCutDrawable = 16843537; // 0x1010311
+    field public static final int actionModeFindDrawable = 16843898; // 0x101047a
+    field public static final int actionModePasteDrawable = 16843539; // 0x1010313
+    field public static final int actionModeSelectAllDrawable = 16843646; // 0x101037e
+    field public static final int actionModeShareDrawable = 16843897; // 0x1010479
+    field public static final int actionModeSplitBackground = 16843677; // 0x101039d
+    field public static final int actionModeStyle = 16843668; // 0x1010394
+    field public static final int actionModeWebSearchDrawable = 16843899; // 0x101047b
+    field public static final int actionOverflowButtonStyle = 16843510; // 0x10102f6
+    field public static final int actionOverflowMenuStyle = 16843844; // 0x1010444
+    field public static final int actionProviderClass = 16843657; // 0x1010389
+    field public static final int actionViewClass = 16843516; // 0x10102fc
+    field public static final int activatedBackgroundIndicator = 16843517; // 0x10102fd
+    field public static final int activityCloseEnterAnimation = 16842938; // 0x10100ba
+    field public static final int activityCloseExitAnimation = 16842939; // 0x10100bb
+    field public static final int activityOpenEnterAnimation = 16842936; // 0x10100b8
+    field public static final int activityOpenExitAnimation = 16842937; // 0x10100b9
+    field public static final int addPrintersActivity = 16843750; // 0x10103e6
+    field public static final int addStatesFromChildren = 16842992; // 0x10100f0
+    field public static final int adjustViewBounds = 16843038; // 0x101011e
+    field public static final int advancedPrintOptionsActivity = 16843761; // 0x10103f1
+    field public static final int alertDialogIcon = 16843605; // 0x1010355
+    field public static final int alertDialogStyle = 16842845; // 0x101005d
+    field public static final int alertDialogTheme = 16843529; // 0x1010309
+    field public static final int alignmentMode = 16843642; // 0x101037a
+    field public static final int allContactsName = 16843468; // 0x10102cc
+    field public static final int allowAudioPlaybackCapture = 16844289; // 0x1010601
+    field public static final int allowBackup = 16843392; // 0x1010280
+    field public static final int allowClearUserData = 16842757; // 0x1010005
+    field public static final int allowClickWhenDisabled = 16844312; // 0x1010618
+    field public static final int allowEmbedded = 16843765; // 0x10103f5
+    field public static final int allowNativeHeapPointerTagging = 16844306; // 0x1010612
+    field public static final int allowParallelSyncs = 16843570; // 0x1010332
+    field public static final int allowSingleTap = 16843353; // 0x1010259
+    field public static final int allowTaskReparenting = 16843268; // 0x1010204
+    field public static final int allowUndo = 16843999; // 0x10104df
+    field public static final int alpha = 16843551; // 0x101031f
+    field public static final int alphabeticModifiers = 16844110; // 0x101054e
+    field public static final int alphabeticShortcut = 16843235; // 0x10101e3
+    field public static final int alwaysDrawnWithCache = 16842991; // 0x10100ef
+    field public static final int alwaysRetainTaskState = 16843267; // 0x1010203
+    field @Deprecated public static final int amPmBackgroundColor = 16843941; // 0x10104a5
+    field @Deprecated public static final int amPmTextColor = 16843940; // 0x10104a4
+    field public static final int ambientShadowAlpha = 16843966; // 0x10104be
+    field public static final int angle = 16843168; // 0x10101a0
+    field public static final int animateFirstView = 16843477; // 0x10102d5
+    field public static final int animateLayoutChanges = 16843506; // 0x10102f2
+    field public static final int animateOnClick = 16843356; // 0x101025c
+    field public static final int animatedImageDrawable = 16844298; // 0x101060a
+    field public static final int animation = 16843213; // 0x10101cd
+    field public static final int animationCache = 16842989; // 0x10100ed
+    field public static final int animationDuration = 16843026; // 0x1010112
+    field public static final int animationOrder = 16843214; // 0x10101ce
+    field @Deprecated public static final int animationResolution = 16843546; // 0x101031a
+    field public static final int antialias = 16843034; // 0x101011a
+    field @Deprecated public static final int anyDensity = 16843372; // 0x101026c
+    field public static final int apduServiceBanner = 16843757; // 0x10103ed
+    field public static final int apiKey = 16843281; // 0x1010211
+    field public static final int appCategory = 16844101; // 0x1010545
+    field public static final int appComponentFactory = 16844154; // 0x101057a
+    field public static final int attributionTags = 16844354; // 0x1010642
+    field public static final int attributionsAreUserVisible = 16844363; // 0x101064b
+    field public static final int author = 16843444; // 0x10102b4
+    field public static final int authorities = 16842776; // 0x1010018
+    field public static final int autoAdvanceViewId = 16843535; // 0x101030f
+    field public static final int autoCompleteTextViewStyle = 16842859; // 0x101006b
+    field public static final int autoLink = 16842928; // 0x10100b0
+    field public static final int autoMirrored = 16843754; // 0x10103ea
+    field public static final int autoRemoveFromRecents = 16843847; // 0x1010447
+    field public static final int autoRevokePermissions = 16844307; // 0x1010613
+    field public static final int autoSizeMaxTextSize = 16844102; // 0x1010546
+    field public static final int autoSizeMinTextSize = 16844088; // 0x1010538
+    field public static final int autoSizePresetSizes = 16844087; // 0x1010537
+    field public static final int autoSizeStepGranularity = 16844086; // 0x1010536
+    field public static final int autoSizeTextType = 16844085; // 0x1010535
+    field public static final int autoStart = 16843445; // 0x10102b5
+    field @Deprecated public static final int autoText = 16843114; // 0x101016a
+    field public static final int autoUrlDetect = 16843404; // 0x101028c
+    field public static final int autoVerify = 16844014; // 0x10104ee
+    field public static final int autofillHints = 16844118; // 0x1010556
+    field public static final int autofilledHighlight = 16844136; // 0x1010568
+    field public static final int background = 16842964; // 0x10100d4
+    field public static final int backgroundDimAmount = 16842802; // 0x1010032
+    field public static final int backgroundDimEnabled = 16843295; // 0x101021f
+    field public static final int backgroundSplit = 16843659; // 0x101038b
+    field public static final int backgroundStacked = 16843658; // 0x101038a
+    field public static final int backgroundTint = 16843883; // 0x101046b
+    field public static final int backgroundTintMode = 16843884; // 0x101046c
+    field public static final int backupAgent = 16843391; // 0x101027f
+    field public static final int backupInForeground = 16844058; // 0x101051a
+    field public static final int banner = 16843762; // 0x10103f2
+    field public static final int baseline = 16843548; // 0x101031c
+    field public static final int baselineAlignBottom = 16843042; // 0x1010122
+    field public static final int baselineAligned = 16843046; // 0x1010126
+    field public static final int baselineAlignedChildIndex = 16843047; // 0x1010127
+    field public static final int bitmap = 16844054; // 0x1010516
+    field public static final int borderlessButtonStyle = 16843563; // 0x101032b
+    field public static final int bottom = 16843184; // 0x10101b0
+    field public static final int bottomBright = 16842957; // 0x10100cd
+    field public static final int bottomDark = 16842953; // 0x10100c9
+    field public static final int bottomLeftRadius = 16843179; // 0x10101ab
+    field public static final int bottomMedium = 16842958; // 0x10100ce
+    field public static final int bottomOffset = 16843351; // 0x1010257
+    field public static final int bottomRightRadius = 16843180; // 0x10101ac
+    field public static final int breadCrumbShortTitle = 16843524; // 0x1010304
+    field public static final int breadCrumbTitle = 16843523; // 0x1010303
+    field public static final int breakStrategy = 16843997; // 0x10104dd
+    field public static final int bufferType = 16843086; // 0x101014e
+    field public static final int button = 16843015; // 0x1010107
+    field public static final int buttonBarButtonStyle = 16843567; // 0x101032f
+    field public static final int buttonBarNegativeButtonStyle = 16843915; // 0x101048b
+    field public static final int buttonBarNeutralButtonStyle = 16843914; // 0x101048a
+    field public static final int buttonBarPositiveButtonStyle = 16843913; // 0x1010489
+    field public static final int buttonBarStyle = 16843566; // 0x101032e
+    field public static final int buttonCornerRadius = 16844149; // 0x1010575
+    field public static final int buttonGravity = 16844030; // 0x10104fe
+    field public static final int buttonStyle = 16842824; // 0x1010048
+    field public static final int buttonStyleInset = 16842826; // 0x101004a
+    field public static final int buttonStyleSmall = 16842825; // 0x1010049
+    field public static final int buttonStyleToggle = 16842827; // 0x101004b
+    field public static final int buttonTint = 16843887; // 0x101046f
+    field public static final int buttonTintMode = 16843888; // 0x1010470
+    field public static final int cacheColorHint = 16843009; // 0x1010101
+    field public static final int calendarTextColor = 16843931; // 0x101049b
+    field public static final int calendarViewShown = 16843596; // 0x101034c
+    field public static final int calendarViewStyle = 16843613; // 0x101035d
+    field public static final int canControlMagnification = 16844039; // 0x1010507
+    field public static final int canPauseRecording = 16844314; // 0x101061a
+    field public static final int canPerformGestures = 16844045; // 0x101050d
+    field public static final int canRecord = 16844060; // 0x101051c
+    field @Deprecated public static final int canRequestEnhancedWebAccessibility = 16843736; // 0x10103d8
+    field public static final int canRequestFilterKeyEvents = 16843737; // 0x10103d9
+    field public static final int canRequestFingerprintGestures = 16844109; // 0x101054d
+    field public static final int canRequestTouchExplorationMode = 16843735; // 0x10103d7
+    field public static final int canRetrieveWindowContent = 16843653; // 0x1010385
+    field public static final int canTakeScreenshot = 16844303; // 0x101060f
+    field public static final int candidatesTextStyleSpans = 16843312; // 0x1010230
+    field public static final int cantSaveState = 16844142; // 0x101056e
+    field @Deprecated public static final int capitalize = 16843113; // 0x1010169
+    field public static final int category = 16843752; // 0x10103e8
+    field public static final int centerBright = 16842956; // 0x10100cc
+    field public static final int centerColor = 16843275; // 0x101020b
+    field public static final int centerDark = 16842952; // 0x10100c8
+    field public static final int centerMedium = 16842959; // 0x10100cf
+    field public static final int centerX = 16843170; // 0x10101a2
+    field public static final int centerY = 16843171; // 0x10101a3
+    field public static final int certDigest = 16844104; // 0x1010548
+    field public static final int checkBoxPreferenceStyle = 16842895; // 0x101008f
+    field public static final int checkMark = 16843016; // 0x1010108
+    field public static final int checkMarkTint = 16843943; // 0x10104a7
+    field public static final int checkMarkTintMode = 16843944; // 0x10104a8
+    field public static final int checkable = 16843237; // 0x10101e5
+    field public static final int checkableBehavior = 16843232; // 0x10101e0
+    field public static final int checkboxStyle = 16842860; // 0x101006c
+    field public static final int checked = 16843014; // 0x1010106
+    field public static final int checkedButton = 16843080; // 0x1010148
+    field public static final int checkedTextViewStyle = 16843720; // 0x10103c8
+    field public static final int childDivider = 16843025; // 0x1010111
+    field public static final int childIndicator = 16843020; // 0x101010c
+    field public static final int childIndicatorEnd = 16843732; // 0x10103d4
+    field public static final int childIndicatorLeft = 16843023; // 0x101010f
+    field public static final int childIndicatorRight = 16843024; // 0x1010110
+    field public static final int childIndicatorStart = 16843731; // 0x10103d3
+    field public static final int choiceMode = 16843051; // 0x101012b
+    field public static final int classLoader = 16844139; // 0x101056b
+    field public static final int clearTaskOnLaunch = 16842773; // 0x1010015
+    field public static final int clickable = 16842981; // 0x10100e5
+    field public static final int clipChildren = 16842986; // 0x10100ea
+    field public static final int clipOrientation = 16843274; // 0x101020a
+    field public static final int clipToOutline = 16844328; // 0x1010628
+    field public static final int clipToPadding = 16842987; // 0x10100eb
+    field public static final int closeIcon = 16843905; // 0x1010481
+    field @Deprecated public static final int codes = 16843330; // 0x1010242
+    field public static final int collapseColumns = 16843083; // 0x101014b
+    field public static final int collapseContentDescription = 16843984; // 0x10104d0
+    field public static final int collapseIcon = 16844031; // 0x10104ff
+    field public static final int color = 16843173; // 0x10101a5
+    field public static final int colorAccent = 16843829; // 0x1010435
+    field public static final int colorActivatedHighlight = 16843664; // 0x1010390
+    field public static final int colorBackground = 16842801; // 0x1010031
+    field public static final int colorBackgroundCacheHint = 16843435; // 0x10102ab
+    field public static final int colorBackgroundFloating = 16844002; // 0x10104e2
+    field public static final int colorButtonNormal = 16843819; // 0x101042b
+    field public static final int colorControlActivated = 16843818; // 0x101042a
+    field public static final int colorControlHighlight = 16843820; // 0x101042c
+    field public static final int colorControlNormal = 16843817; // 0x1010429
+    field public static final int colorEdgeEffect = 16843982; // 0x10104ce
+    field public static final int colorError = 16844099; // 0x1010543
+    field public static final int colorFocusedHighlight = 16843663; // 0x101038f
+    field public static final int colorForeground = 16842800; // 0x1010030
+    field public static final int colorForegroundInverse = 16843270; // 0x1010206
+    field public static final int colorLongPressedHighlight = 16843662; // 0x101038e
+    field public static final int colorMode = 16844106; // 0x101054a
+    field public static final int colorMultiSelectHighlight = 16843665; // 0x1010391
+    field public static final int colorPressedHighlight = 16843661; // 0x101038d
+    field public static final int colorPrimary = 16843827; // 0x1010433
+    field public static final int colorPrimaryDark = 16843828; // 0x1010434
+    field public static final int colorSecondary = 16844080; // 0x1010530
+    field public static final int columnCount = 16843639; // 0x1010377
+    field public static final int columnDelay = 16843215; // 0x10101cf
+    field public static final int columnOrderPreserved = 16843640; // 0x1010378
+    field public static final int columnWidth = 16843031; // 0x1010117
+    field public static final int commitIcon = 16843909; // 0x1010485
+    field public static final int compatibleWidthLimitDp = 16843621; // 0x1010365
+    field public static final int completionHint = 16843122; // 0x1010172
+    field public static final int completionHintView = 16843123; // 0x1010173
+    field public static final int completionThreshold = 16843124; // 0x1010174
+    field public static final int configChanges = 16842783; // 0x101001f
+    field public static final int configure = 16843357; // 0x101025d
+    field public static final int constantSize = 16843158; // 0x1010196
+    field public static final int content = 16843355; // 0x101025b
+    field public static final int contentAgeHint = 16843961; // 0x10104b9
+    field public static final int contentAuthority = 16843408; // 0x1010290
+    field public static final int contentDescription = 16843379; // 0x1010273
+    field public static final int contentInsetEnd = 16843860; // 0x1010454
+    field public static final int contentInsetEndWithActions = 16844067; // 0x1010523
+    field public static final int contentInsetLeft = 16843861; // 0x1010455
+    field public static final int contentInsetRight = 16843862; // 0x1010456
+    field public static final int contentInsetStart = 16843859; // 0x1010453
+    field public static final int contentInsetStartWithNavigation = 16844066; // 0x1010522
+    field public static final int contextClickable = 16844007; // 0x10104e7
+    field public static final int contextDescription = 16844078; // 0x101052e
+    field public static final int contextPopupMenuStyle = 16844033; // 0x1010501
+    field public static final int contextUri = 16844077; // 0x101052d
+    field public static final int controlX1 = 16843772; // 0x10103fc
+    field public static final int controlX2 = 16843774; // 0x10103fe
+    field public static final int controlY1 = 16843773; // 0x10103fd
+    field public static final int controlY2 = 16843775; // 0x10103ff
+    field public static final int countDown = 16844059; // 0x101051b
+    field public static final int country = 16843962; // 0x10104ba
+    field public static final int cropToPadding = 16843043; // 0x1010123
+    field public static final int crossProfile = 16844302; // 0x101060e
+    field public static final int cursorVisible = 16843090; // 0x1010152
+    field public static final int customNavigationLayout = 16843474; // 0x10102d2
+    field public static final int customTokens = 16843579; // 0x101033b
+    field public static final int cycles = 16843220; // 0x10101d4
+    field public static final int dashGap = 16843175; // 0x10101a7
+    field public static final int dashWidth = 16843174; // 0x10101a6
+    field public static final int data = 16842798; // 0x101002e
+    field public static final int dataExtractionRules = 16844350; // 0x101063e
+    field public static final int datePickerDialogTheme = 16843948; // 0x10104ac
+    field public static final int datePickerMode = 16843955; // 0x10104b3
+    field public static final int datePickerStyle = 16843612; // 0x101035c
+    field public static final int dateTextAppearance = 16843593; // 0x1010349
+    field @Deprecated public static final int dayOfWeekBackground = 16843924; // 0x1010494
+    field @Deprecated public static final int dayOfWeekTextAppearance = 16843925; // 0x1010495
+    field public static final int debuggable = 16842767; // 0x101000f
+    field public static final int defaultFocusHighlightEnabled = 16844130; // 0x1010562
+    field public static final int defaultHeight = 16844021; // 0x10104f5
+    field public static final int defaultToDeviceProtectedStorage = 16844036; // 0x1010504
+    field public static final int defaultValue = 16843245; // 0x10101ed
+    field public static final int defaultWidth = 16844020; // 0x10104f4
+    field public static final int delay = 16843212; // 0x10101cc
+    field public static final int dependency = 16843244; // 0x10101ec
+    field public static final int descendantFocusability = 16842993; // 0x10100f1
+    field public static final int description = 16842784; // 0x1010020
+    field public static final int detachWallpaper = 16843430; // 0x10102a6
+    field public static final int detailColumn = 16843427; // 0x10102a3
+    field public static final int detailSocialSummary = 16843428; // 0x10102a4
+    field public static final int detailsElementBackground = 16843598; // 0x101034e
+    field public static final int dial = 16843010; // 0x1010102
+    field public static final int dialTint = 16844342; // 0x1010636
+    field public static final int dialTintMode = 16844343; // 0x1010637
+    field public static final int dialogCornerRadius = 16844145; // 0x1010571
+    field public static final int dialogIcon = 16843252; // 0x10101f4
+    field public static final int dialogLayout = 16843255; // 0x10101f7
+    field public static final int dialogMessage = 16843251; // 0x10101f3
+    field public static final int dialogPreferenceStyle = 16842897; // 0x1010091
+    field public static final int dialogPreferredPadding = 16843987; // 0x10104d3
+    field public static final int dialogTheme = 16843528; // 0x1010308
+    field public static final int dialogTitle = 16843250; // 0x10101f2
+    field public static final int digits = 16843110; // 0x1010166
+    field public static final int directBootAware = 16844037; // 0x1010505
+    field public static final int direction = 16843217; // 0x10101d1
+    field @Deprecated public static final int directionDescriptions = 16843681; // 0x10103a1
+    field public static final int directionPriority = 16843218; // 0x10101d2
+    field public static final int disableDependentsState = 16843249; // 0x10101f1
+    field public static final int disabledAlpha = 16842803; // 0x1010033
+    field public static final int displayOptions = 16843472; // 0x10102d0
+    field public static final int dither = 16843036; // 0x101011c
+    field public static final int divider = 16843049; // 0x1010129
+    field public static final int dividerHeight = 16843050; // 0x101012a
+    field public static final int dividerHorizontal = 16843564; // 0x101032c
+    field public static final int dividerPadding = 16843562; // 0x101032a
+    field public static final int dividerVertical = 16843530; // 0x101030a
+    field public static final int documentLaunchMode = 16843845; // 0x1010445
+    field public static final int drawSelectorOnTop = 16843004; // 0x10100fc
+    field public static final int drawable = 16843161; // 0x1010199
+    field public static final int drawableBottom = 16843118; // 0x101016e
+    field public static final int drawableEnd = 16843667; // 0x1010393
+    field public static final int drawableLeft = 16843119; // 0x101016f
+    field public static final int drawablePadding = 16843121; // 0x1010171
+    field public static final int drawableRight = 16843120; // 0x1010170
+    field public static final int drawableStart = 16843666; // 0x1010392
+    field public static final int drawableTint = 16843990; // 0x10104d6
+    field public static final int drawableTintMode = 16843991; // 0x10104d7
+    field public static final int drawableTop = 16843117; // 0x101016d
+    field public static final int drawingCacheQuality = 16842984; // 0x10100e8
+    field public static final int dropDownAnchor = 16843363; // 0x1010263
+    field public static final int dropDownHeight = 16843395; // 0x1010283
+    field public static final int dropDownHintAppearance = 16842888; // 0x1010088
+    field public static final int dropDownHorizontalOffset = 16843436; // 0x10102ac
+    field public static final int dropDownItemStyle = 16842886; // 0x1010086
+    field public static final int dropDownListViewStyle = 16842861; // 0x101006d
+    field public static final int dropDownSelector = 16843125; // 0x1010175
+    field public static final int dropDownSpinnerStyle = 16843478; // 0x10102d6
+    field public static final int dropDownVerticalOffset = 16843437; // 0x10102ad
+    field public static final int dropDownWidth = 16843362; // 0x1010262
+    field public static final int duplicateParentState = 16842985; // 0x10100e9
+    field public static final int duration = 16843160; // 0x1010198
+    field public static final int editTextBackground = 16843602; // 0x1010352
+    field public static final int editTextColor = 16843601; // 0x1010351
+    field public static final int editTextPreferenceStyle = 16842898; // 0x1010092
+    field public static final int editTextStyle = 16842862; // 0x101006e
+    field @Deprecated public static final int editable = 16843115; // 0x101016b
+    field public static final int editorExtras = 16843300; // 0x1010224
+    field public static final int effectColor = 16844361; // 0x1010649
+    field public static final int elegantTextHeight = 16843869; // 0x101045d
+    field public static final int elevation = 16843840; // 0x1010440
+    field public static final int ellipsize = 16842923; // 0x10100ab
+    field public static final int ems = 16843096; // 0x1010158
+    field public static final int enableVrMode = 16844069; // 0x1010525
+    field public static final int enabled = 16842766; // 0x101000e
+    field public static final int end = 16843996; // 0x10104dc
+    field public static final int endColor = 16843166; // 0x101019e
+    field public static final int endX = 16844050; // 0x1010512
+    field public static final int endY = 16844051; // 0x1010513
+    field @Deprecated public static final int endYear = 16843133; // 0x101017d
+    field public static final int enforceNavigationBarContrast = 16844293; // 0x1010605
+    field public static final int enforceStatusBarContrast = 16844292; // 0x1010604
+    field public static final int enterFadeDuration = 16843532; // 0x101030c
+    field public static final int entries = 16842930; // 0x10100b2
+    field public static final int entryValues = 16843256; // 0x10101f8
+    field public static final int eventsInterceptionEnabled = 16843389; // 0x101027d
+    field public static final int excludeClass = 16843842; // 0x1010442
+    field public static final int excludeFromRecents = 16842775; // 0x1010017
+    field public static final int excludeId = 16843841; // 0x1010441
+    field public static final int excludeName = 16843854; // 0x101044e
+    field public static final int exitFadeDuration = 16843533; // 0x101030d
+    field public static final int expandableListPreferredChildIndicatorLeft = 16842834; // 0x1010052
+    field public static final int expandableListPreferredChildIndicatorRight = 16842835; // 0x1010053
+    field public static final int expandableListPreferredChildPaddingLeft = 16842831; // 0x101004f
+    field public static final int expandableListPreferredItemIndicatorLeft = 16842832; // 0x1010050
+    field public static final int expandableListPreferredItemIndicatorRight = 16842833; // 0x1010051
+    field public static final int expandableListPreferredItemPaddingLeft = 16842830; // 0x101004e
+    field public static final int expandableListViewStyle = 16842863; // 0x101006f
+    field public static final int expandableListViewWhiteStyle = 16843446; // 0x10102b6
+    field public static final int exported = 16842768; // 0x1010010
+    field public static final int externalService = 16844046; // 0x101050e
+    field public static final int extraTension = 16843371; // 0x101026b
+    field public static final int extractNativeLibs = 16844010; // 0x10104ea
+    field public static final int factor = 16843219; // 0x10101d3
+    field public static final int fadeDuration = 16843384; // 0x1010278
+    field public static final int fadeEnabled = 16843390; // 0x101027e
+    field public static final int fadeOffset = 16843383; // 0x1010277
+    field public static final int fadeScrollbars = 16843434; // 0x10102aa
+    field public static final int fadingEdge = 16842975; // 0x10100df
+    field public static final int fadingEdgeLength = 16842976; // 0x10100e0
+    field public static final int fadingMode = 16843745; // 0x10103e1
+    field public static final int fallbackLineSpacing = 16844155; // 0x101057b
+    field public static final int fastScrollAlwaysVisible = 16843573; // 0x1010335
+    field public static final int fastScrollEnabled = 16843302; // 0x1010226
+    field public static final int fastScrollOverlayPosition = 16843578; // 0x101033a
+    field public static final int fastScrollPreviewBackgroundLeft = 16843575; // 0x1010337
+    field public static final int fastScrollPreviewBackgroundRight = 16843576; // 0x1010338
+    field public static final int fastScrollStyle = 16843767; // 0x10103f7
+    field public static final int fastScrollTextColor = 16843609; // 0x1010359
+    field public static final int fastScrollThumbDrawable = 16843574; // 0x1010336
+    field public static final int fastScrollTrackDrawable = 16843577; // 0x1010339
+    field public static final int fillAfter = 16843197; // 0x10101bd
+    field public static final int fillAlpha = 16843980; // 0x10104cc
+    field public static final int fillBefore = 16843196; // 0x10101bc
+    field public static final int fillColor = 16843780; // 0x1010404
+    field public static final int fillEnabled = 16843343; // 0x101024f
+    field public static final int fillType = 16844062; // 0x101051e
+    field public static final int fillViewport = 16843130; // 0x101017a
+    field public static final int filter = 16843035; // 0x101011b
+    field public static final int filterTouchesWhenObscured = 16843460; // 0x10102c4
+    field public static final int fingerprintAuthDrawable = 16844008; // 0x10104e8
+    field public static final int finishOnCloseSystemDialogs = 16843431; // 0x10102a7
+    field public static final int finishOnTaskLaunch = 16842772; // 0x1010014
+    field public static final int firstBaselineToTopHeight = 16844157; // 0x101057d
+    field public static final int firstDayOfWeek = 16843581; // 0x101033d
+    field public static final int fitsSystemWindows = 16842973; // 0x10100dd
+    field public static final int flipInterval = 16843129; // 0x1010179
+    field public static final int focusable = 16842970; // 0x10100da
+    field public static final int focusableInTouchMode = 16842971; // 0x10100db
+    field public static final int focusedByDefault = 16844100; // 0x1010544
+    field @Deprecated public static final int focusedMonthDateColor = 16843587; // 0x1010343
+    field public static final int font = 16844082; // 0x1010532
+    field public static final int fontFamily = 16843692; // 0x10103ac
+    field public static final int fontFeatureSettings = 16843959; // 0x10104b7
+    field @Deprecated public static final int fontProviderAuthority = 16844112; // 0x1010550
+    field @Deprecated public static final int fontProviderCerts = 16844125; // 0x101055d
+    field @Deprecated public static final int fontProviderPackage = 16844119; // 0x1010557
+    field @Deprecated public static final int fontProviderQuery = 16844113; // 0x1010551
+    field public static final int fontProviderSystemFontFamily = 16844322; // 0x1010622
+    field public static final int fontStyle = 16844095; // 0x101053f
+    field public static final int fontVariationSettings = 16844144; // 0x1010570
+    field public static final int fontWeight = 16844083; // 0x1010533
+    field public static final int footerDividersEnabled = 16843311; // 0x101022f
+    field public static final int forceDarkAllowed = 16844172; // 0x101058c
+    field public static final int forceHasOverlappingRendering = 16844065; // 0x1010521
+    field public static final int forceQueryable = 16844296; // 0x1010608
+    field public static final int forceUriPermissions = 16844191; // 0x101059f
+    field public static final int foreground = 16843017; // 0x1010109
+    field public static final int foregroundGravity = 16843264; // 0x1010200
+    field public static final int foregroundServiceType = 16844185; // 0x1010599
+    field public static final int foregroundTint = 16843885; // 0x101046d
+    field public static final int foregroundTintMode = 16843886; // 0x101046e
+    field public static final int format = 16843013; // 0x1010105
+    field public static final int format12Hour = 16843722; // 0x10103ca
+    field public static final int format24Hour = 16843723; // 0x10103cb
+    field public static final int fraction = 16843992; // 0x10104d8
+    field public static final int fragment = 16843491; // 0x10102e3
+    field public static final int fragmentAllowEnterTransitionOverlap = 16843976; // 0x10104c8
+    field public static final int fragmentAllowReturnTransitionOverlap = 16843977; // 0x10104c9
+    field public static final int fragmentCloseEnterAnimation = 16843495; // 0x10102e7
+    field public static final int fragmentCloseExitAnimation = 16843496; // 0x10102e8
+    field public static final int fragmentEnterTransition = 16843971; // 0x10104c3
+    field public static final int fragmentExitTransition = 16843970; // 0x10104c2
+    field public static final int fragmentFadeEnterAnimation = 16843497; // 0x10102e9
+    field public static final int fragmentFadeExitAnimation = 16843498; // 0x10102ea
+    field public static final int fragmentOpenEnterAnimation = 16843493; // 0x10102e5
+    field public static final int fragmentOpenExitAnimation = 16843494; // 0x10102e6
+    field public static final int fragmentReenterTransition = 16843975; // 0x10104c7
+    field public static final int fragmentReturnTransition = 16843973; // 0x10104c5
+    field public static final int fragmentSharedElementEnterTransition = 16843972; // 0x10104c4
+    field public static final int fragmentSharedElementReturnTransition = 16843974; // 0x10104c6
+    field public static final int freezesText = 16843116; // 0x101016c
+    field public static final int fromAlpha = 16843210; // 0x10101ca
+    field public static final int fromDegrees = 16843187; // 0x10101b3
+    field public static final int fromId = 16843850; // 0x101044a
+    field public static final int fromScene = 16843741; // 0x10103dd
+    field public static final int fromXDelta = 16843206; // 0x10101c6
+    field public static final int fromXScale = 16843202; // 0x10101c2
+    field public static final int fromYDelta = 16843208; // 0x10101c8
+    field public static final int fromYScale = 16843204; // 0x10101c4
+    field public static final int fullBackupContent = 16844011; // 0x10104eb
+    field public static final int fullBackupOnly = 16843891; // 0x1010473
+    field public static final int fullBright = 16842954; // 0x10100ca
+    field public static final int fullDark = 16842950; // 0x10100c6
+    field public static final int functionalTest = 16842787; // 0x1010023
+    field public static final int galleryItemBackground = 16842828; // 0x101004c
+    field public static final int galleryStyle = 16842864; // 0x1010070
+    field public static final int gestureColor = 16843381; // 0x1010275
+    field public static final int gestureStrokeAngleThreshold = 16843388; // 0x101027c
+    field public static final int gestureStrokeLengthThreshold = 16843386; // 0x101027a
+    field public static final int gestureStrokeSquarenessThreshold = 16843387; // 0x101027b
+    field public static final int gestureStrokeType = 16843385; // 0x1010279
+    field public static final int gestureStrokeWidth = 16843380; // 0x1010274
+    field public static final int glEsVersion = 16843393; // 0x1010281
+    field public static final int goIcon = 16843906; // 0x1010482
+    field public static final int gradientRadius = 16843172; // 0x10101a4
+    field public static final int grantUriPermissions = 16842779; // 0x101001b
+    field public static final int gravity = 16842927; // 0x10100af
+    field public static final int gridViewStyle = 16842865; // 0x1010071
+    field public static final int groupIndicator = 16843019; // 0x101010b
+    field public static final int gwpAsanMode = 16844310; // 0x1010616
+    field public static final int hand_hour = 16843011; // 0x1010103
+    field public static final int hand_hourTint = 16844344; // 0x1010638
+    field public static final int hand_hourTintMode = 16844345; // 0x1010639
+    field public static final int hand_minute = 16843012; // 0x1010104
+    field public static final int hand_minuteTint = 16844346; // 0x101063a
+    field public static final int hand_minuteTintMode = 16844347; // 0x101063b
+    field public static final int hand_second = 16844323; // 0x1010623
+    field public static final int hand_secondTint = 16844348; // 0x101063c
+    field public static final int hand_secondTintMode = 16844349; // 0x101063d
+    field public static final int handle = 16843354; // 0x101025a
+    field public static final int handleProfiling = 16842786; // 0x1010022
+    field public static final int hapticFeedbackEnabled = 16843358; // 0x101025e
+    field public static final int hardwareAccelerated = 16843475; // 0x10102d3
+    field public static final int hasCode = 16842764; // 0x101000c
+    field public static final int hasFragileUserData = 16844186; // 0x101059a
+    field @Deprecated public static final int headerAmPmTextAppearance = 16843936; // 0x10104a0
+    field public static final int headerBackground = 16843055; // 0x101012f
+    field @Deprecated public static final int headerDayOfMonthTextAppearance = 16843927; // 0x1010497
+    field public static final int headerDividersEnabled = 16843310; // 0x101022e
+    field @Deprecated public static final int headerMonthTextAppearance = 16843926; // 0x1010496
+    field @Deprecated public static final int headerTimeTextAppearance = 16843935; // 0x101049f
+    field @Deprecated public static final int headerYearTextAppearance = 16843928; // 0x1010498
+    field public static final int height = 16843093; // 0x1010155
+    field public static final int hideOnContentScroll = 16843843; // 0x1010443
+    field public static final int hint = 16843088; // 0x1010150
+    field public static final int homeAsUpIndicator = 16843531; // 0x101030b
+    field public static final int homeLayout = 16843549; // 0x101031d
+    field public static final int horizontalDivider = 16843053; // 0x101012d
+    field @Deprecated public static final int horizontalGap = 16843327; // 0x101023f
+    field public static final int horizontalScrollViewStyle = 16843603; // 0x1010353
+    field public static final int horizontalSpacing = 16843028; // 0x1010114
+    field public static final int host = 16842792; // 0x1010028
+    field public static final int hotSpotX = 16844055; // 0x1010517
+    field public static final int hotSpotY = 16844056; // 0x1010518
+    field public static final int htmlDescription = 16844299; // 0x101060b
+    field public static final int hyphenationFrequency = 16843998; // 0x10104de
+    field public static final int icon = 16842754; // 0x1010002
+    field @Deprecated public static final int iconPreview = 16843337; // 0x1010249
+    field public static final int iconSpaceReserved = 16844129; // 0x1010561
+    field public static final int iconTint = 16844126; // 0x101055e
+    field public static final int iconTintMode = 16844127; // 0x101055f
+    field public static final int iconifiedByDefault = 16843514; // 0x10102fa
+    field public static final int id = 16842960; // 0x10100d0
+    field public static final int identifier = 16844294; // 0x1010606
+    field public static final int ignoreGravity = 16843263; // 0x10101ff
+    field public static final int imageButtonStyle = 16842866; // 0x1010072
+    field public static final int imageWellStyle = 16842867; // 0x1010073
+    field public static final int imeActionId = 16843366; // 0x1010266
+    field public static final int imeActionLabel = 16843365; // 0x1010265
+    field public static final int imeExtractEnterAnimation = 16843368; // 0x1010268
+    field public static final int imeExtractExitAnimation = 16843369; // 0x1010269
+    field public static final int imeFullscreenBackground = 16843308; // 0x101022c
+    field public static final int imeOptions = 16843364; // 0x1010264
+    field public static final int imeSubtypeExtraValue = 16843502; // 0x10102ee
+    field public static final int imeSubtypeLocale = 16843500; // 0x10102ec
+    field public static final int imeSubtypeMode = 16843501; // 0x10102ed
+    field public static final int immersive = 16843456; // 0x10102c0
+    field public static final int importantForAccessibility = 16843690; // 0x10103aa
+    field public static final int importantForAutofill = 16844120; // 0x1010558
+    field public static final int importantForContentCapture = 16844295; // 0x1010607
+    field public static final int inAnimation = 16843127; // 0x1010177
+    field public static final int includeFontPadding = 16843103; // 0x101015f
+    field public static final int includeInGlobalSearch = 16843374; // 0x101026e
+    field public static final int indeterminate = 16843065; // 0x1010139
+    field public static final int indeterminateBehavior = 16843070; // 0x101013e
+    field public static final int indeterminateDrawable = 16843067; // 0x101013b
+    field public static final int indeterminateDuration = 16843069; // 0x101013d
+    field public static final int indeterminateOnly = 16843066; // 0x101013a
+    field public static final int indeterminateProgressStyle = 16843544; // 0x1010318
+    field public static final int indeterminateTint = 16843881; // 0x1010469
+    field public static final int indeterminateTintMode = 16843882; // 0x101046a
+    field public static final int indicatorEnd = 16843730; // 0x10103d2
+    field public static final int indicatorLeft = 16843021; // 0x101010d
+    field public static final int indicatorRight = 16843022; // 0x101010e
+    field public static final int indicatorStart = 16843729; // 0x10103d1
+    field public static final int inflatedId = 16842995; // 0x10100f3
+    field public static final int inheritShowWhenLocked = 16844188; // 0x101059c
+    field public static final int initOrder = 16842778; // 0x101001a
+    field public static final int initialKeyguardLayout = 16843714; // 0x10103c2
+    field public static final int initialLayout = 16843345; // 0x1010251
+    field public static final int innerRadius = 16843359; // 0x101025f
+    field public static final int innerRadiusRatio = 16843163; // 0x101019b
+    field @Deprecated public static final int inputMethod = 16843112; // 0x1010168
+    field public static final int inputType = 16843296; // 0x1010220
+    field public static final int inset = 16843957; // 0x10104b5
+    field public static final int insetBottom = 16843194; // 0x10101ba
+    field public static final int insetLeft = 16843191; // 0x10101b7
+    field public static final int insetRight = 16843192; // 0x10101b8
+    field public static final int insetTop = 16843193; // 0x10101b9
+    field public static final int installLocation = 16843447; // 0x10102b7
+    field public static final int interactiveUiTimeout = 16844181; // 0x1010595
+    field public static final int interpolator = 16843073; // 0x1010141
+    field public static final int isAccessibilityTool = 16844353; // 0x1010641
+    field public static final int isAlwaysSyncable = 16843571; // 0x1010333
+    field public static final int isAsciiCapable = 16843753; // 0x10103e9
+    field public static final int isAuxiliary = 16843647; // 0x101037f
+    field public static final int isDefault = 16843297; // 0x1010221
+    field public static final int isFeatureSplit = 16844123; // 0x101055b
+    field public static final int isGame = 16843764; // 0x10103f4
+    field public static final int isIndicator = 16843079; // 0x1010147
+    field public static final int isLightTheme = 16844176; // 0x1010590
+    field @Deprecated public static final int isModifier = 16843334; // 0x1010246
+    field @Deprecated public static final int isRepeatable = 16843336; // 0x1010248
+    field public static final int isScrollContainer = 16843342; // 0x101024e
+    field public static final int isSplitRequired = 16844177; // 0x1010591
+    field public static final int isStatic = 16844122; // 0x101055a
+    field @Deprecated public static final int isSticky = 16843335; // 0x1010247
+    field public static final int isolatedProcess = 16843689; // 0x10103a9
+    field public static final int isolatedSplits = 16844107; // 0x101054b
+    field public static final int itemBackground = 16843056; // 0x1010130
+    field public static final int itemIconDisabledAlpha = 16843057; // 0x1010131
+    field public static final int itemPadding = 16843565; // 0x101032d
+    field public static final int itemTextAppearance = 16843052; // 0x101012c
+    field public static final int justificationMode = 16844135; // 0x1010567
+    field public static final int keepScreenOn = 16843286; // 0x1010216
+    field public static final int key = 16843240; // 0x10101e8
+    field @Deprecated public static final int keyBackground = 16843315; // 0x1010233
+    field @Deprecated public static final int keyEdgeFlags = 16843333; // 0x1010245
+    field @Deprecated public static final int keyHeight = 16843326; // 0x101023e
+    field @Deprecated public static final int keyIcon = 16843340; // 0x101024c
+    field @Deprecated public static final int keyLabel = 16843339; // 0x101024b
+    field @Deprecated public static final int keyOutputText = 16843338; // 0x101024a
+    field @Deprecated public static final int keyPreviewHeight = 16843321; // 0x1010239
+    field @Deprecated public static final int keyPreviewLayout = 16843319; // 0x1010237
+    field @Deprecated public static final int keyPreviewOffset = 16843320; // 0x1010238
+    field public static final int keySet = 16843739; // 0x10103db
+    field @Deprecated public static final int keyTextColor = 16843318; // 0x1010236
+    field @Deprecated public static final int keyTextSize = 16843316; // 0x1010234
+    field @Deprecated public static final int keyWidth = 16843325; // 0x101023d
+    field public static final int keyboardLayout = 16843691; // 0x10103ab
+    field @Deprecated public static final int keyboardMode = 16843341; // 0x101024d
+    field public static final int keyboardNavigationCluster = 16844096; // 0x1010540
+    field public static final int keycode = 16842949; // 0x10100c5
+    field public static final int killAfterRestore = 16843420; // 0x101029c
+    field public static final int knownCerts = 16844330; // 0x101062a
+    field public static final int lStar = 16844359; // 0x1010647
+    field public static final int label = 16842753; // 0x1010001
+    field public static final int labelFor = 16843718; // 0x10103c6
+    field @Deprecated public static final int labelTextSize = 16843317; // 0x1010235
+    field public static final int languageTag = 16844040; // 0x1010508
+    field public static final int largeHeap = 16843610; // 0x101035a
+    field public static final int largeScreens = 16843398; // 0x1010286
+    field public static final int largestWidthLimitDp = 16843622; // 0x1010366
+    field public static final int lastBaselineToBottomHeight = 16844158; // 0x101057e
+    field public static final int launchMode = 16842781; // 0x101001d
+    field public static final int launchTaskBehindSourceAnimation = 16843922; // 0x1010492
+    field public static final int launchTaskBehindTargetAnimation = 16843921; // 0x1010491
+    field public static final int layerType = 16843604; // 0x1010354
+    field public static final int layout = 16842994; // 0x10100f2
+    field public static final int layoutAnimation = 16842988; // 0x10100ec
+    field public static final int layoutDirection = 16843698; // 0x10103b2
+    field public static final int layoutMode = 16843738; // 0x10103da
+    field public static final int layout_above = 16843140; // 0x1010184
+    field public static final int layout_alignBaseline = 16843142; // 0x1010186
+    field public static final int layout_alignBottom = 16843146; // 0x101018a
+    field public static final int layout_alignEnd = 16843706; // 0x10103ba
+    field public static final int layout_alignLeft = 16843143; // 0x1010187
+    field public static final int layout_alignParentBottom = 16843150; // 0x101018e
+    field public static final int layout_alignParentEnd = 16843708; // 0x10103bc
+    field public static final int layout_alignParentLeft = 16843147; // 0x101018b
+    field public static final int layout_alignParentRight = 16843149; // 0x101018d
+    field public static final int layout_alignParentStart = 16843707; // 0x10103bb
+    field public static final int layout_alignParentTop = 16843148; // 0x101018c
+    field public static final int layout_alignRight = 16843145; // 0x1010189
+    field public static final int layout_alignStart = 16843705; // 0x10103b9
+    field public static final int layout_alignTop = 16843144; // 0x1010188
+    field public static final int layout_alignWithParentIfMissing = 16843154; // 0x1010192
+    field public static final int layout_below = 16843141; // 0x1010185
+    field public static final int layout_centerHorizontal = 16843152; // 0x1010190
+    field public static final int layout_centerInParent = 16843151; // 0x101018f
+    field public static final int layout_centerVertical = 16843153; // 0x1010191
+    field public static final int layout_column = 16843084; // 0x101014c
+    field public static final int layout_columnSpan = 16843645; // 0x101037d
+    field public static final int layout_columnWeight = 16843865; // 0x1010459
+    field public static final int layout_gravity = 16842931; // 0x10100b3
+    field public static final int layout_height = 16842997; // 0x10100f5
+    field public static final int layout_margin = 16842998; // 0x10100f6
+    field public static final int layout_marginBottom = 16843002; // 0x10100fa
+    field public static final int layout_marginEnd = 16843702; // 0x10103b6
+    field public static final int layout_marginHorizontal = 16844091; // 0x101053b
+    field public static final int layout_marginLeft = 16842999; // 0x10100f7
+    field public static final int layout_marginRight = 16843001; // 0x10100f9
+    field public static final int layout_marginStart = 16843701; // 0x10103b5
+    field public static final int layout_marginTop = 16843000; // 0x10100f8
+    field public static final int layout_marginVertical = 16844092; // 0x101053c
+    field public static final int layout_row = 16843643; // 0x101037b
+    field public static final int layout_rowSpan = 16843644; // 0x101037c
+    field public static final int layout_rowWeight = 16843864; // 0x1010458
+    field public static final int layout_scale = 16843155; // 0x1010193
+    field public static final int layout_span = 16843085; // 0x101014d
+    field public static final int layout_toEndOf = 16843704; // 0x10103b8
+    field public static final int layout_toLeftOf = 16843138; // 0x1010182
+    field public static final int layout_toRightOf = 16843139; // 0x1010183
+    field public static final int layout_toStartOf = 16843703; // 0x10103b7
+    field public static final int layout_weight = 16843137; // 0x1010181
+    field public static final int layout_width = 16842996; // 0x10100f4
+    field public static final int layout_x = 16843135; // 0x101017f
+    field public static final int layout_y = 16843136; // 0x1010180
+    field public static final int left = 16843181; // 0x10101ad
+    field public static final int letterSpacing = 16843958; // 0x10104b6
+    field public static final int level = 16844032; // 0x1010500
+    field public static final int lineHeight = 16844159; // 0x101057f
+    field public static final int lineSpacingExtra = 16843287; // 0x1010217
+    field public static final int lineSpacingMultiplier = 16843288; // 0x1010218
+    field public static final int lines = 16843092; // 0x1010154
+    field public static final int linksClickable = 16842929; // 0x10100b1
+    field public static final int listChoiceBackgroundIndicator = 16843504; // 0x10102f0
+    field public static final int listChoiceIndicatorMultiple = 16843290; // 0x101021a
+    field public static final int listChoiceIndicatorSingle = 16843289; // 0x1010219
+    field public static final int listDivider = 16843284; // 0x1010214
+    field public static final int listDividerAlertDialog = 16843525; // 0x1010305
+    field public static final int listMenuViewStyle = 16844018; // 0x10104f2
+    field public static final int listPopupWindowStyle = 16843519; // 0x10102ff
+    field public static final int listPreferredItemHeight = 16842829; // 0x101004d
+    field public static final int listPreferredItemHeightLarge = 16843654; // 0x1010386
+    field public static final int listPreferredItemHeightSmall = 16843655; // 0x1010387
+    field public static final int listPreferredItemPaddingEnd = 16843710; // 0x10103be
+    field public static final int listPreferredItemPaddingLeft = 16843683; // 0x10103a3
+    field public static final int listPreferredItemPaddingRight = 16843684; // 0x10103a4
+    field public static final int listPreferredItemPaddingStart = 16843709; // 0x10103bd
+    field public static final int listSelector = 16843003; // 0x10100fb
+    field public static final int listSeparatorTextViewStyle = 16843272; // 0x1010208
+    field public static final int listViewStyle = 16842868; // 0x1010074
+    field public static final int listViewWhiteStyle = 16842869; // 0x1010075
+    field public static final int lockTaskMode = 16844013; // 0x10104ed
+    field public static final int logo = 16843454; // 0x10102be
+    field public static final int logoDescription = 16844009; // 0x10104e9
+    field public static final int longClickable = 16842982; // 0x10100e6
+    field public static final int loopViews = 16843527; // 0x1010307
+    field public static final int manageSpaceActivity = 16842756; // 0x1010004
+    field public static final int mapViewStyle = 16842890; // 0x101008a
+    field public static final int marqueeRepeatLimit = 16843293; // 0x101021d
+    field public static final int matchOrder = 16843855; // 0x101044f
+    field public static final int max = 16843062; // 0x1010136
+    field public static final int maxAspectRatio = 16844128; // 0x1010560
+    field public static final int maxButtonHeight = 16844029; // 0x10104fd
+    field public static final int maxDate = 16843584; // 0x1010340
+    field public static final int maxEms = 16843095; // 0x1010157
+    field public static final int maxHeight = 16843040; // 0x1010120
+    field public static final int maxItemsPerRow = 16843060; // 0x1010134
+    field public static final int maxLength = 16843104; // 0x1010160
+    field public static final int maxLevel = 16843186; // 0x10101b2
+    field public static final int maxLines = 16843091; // 0x1010153
+    field public static final int maxLongVersionCode = 16844163; // 0x1010583
+    field public static final int maxRecents = 16843846; // 0x1010446
+    field public static final int maxResizeHeight = 16844339; // 0x1010633
+    field public static final int maxResizeWidth = 16844338; // 0x1010632
+    field public static final int maxRows = 16843059; // 0x1010133
+    field public static final int maxSdkVersion = 16843377; // 0x1010271
+    field public static final int maxWidth = 16843039; // 0x101011f
+    field public static final int maximumAngle = 16843903; // 0x101047f
+    field public static final int measureAllChildren = 16843018; // 0x101010a
+    field public static final int measureWithLargestChild = 16843476; // 0x10102d4
+    field public static final int mediaRouteButtonStyle = 16843693; // 0x10103ad
+    field public static final int mediaRouteTypes = 16843694; // 0x10103ae
+    field public static final int memtagMode = 16844324; // 0x1010624
+    field public static final int menuCategory = 16843230; // 0x10101de
+    field public static final int mimeGroup = 16844309; // 0x1010615
+    field public static final int mimeType = 16842790; // 0x1010026
+    field public static final int min = 16844089; // 0x1010539
+    field public static final int minAspectRatio = 16844187; // 0x101059b
+    field public static final int minDate = 16843583; // 0x101033f
+    field public static final int minEms = 16843098; // 0x101015a
+    field public static final int minHeight = 16843072; // 0x1010140
+    field public static final int minLevel = 16843185; // 0x10101b1
+    field public static final int minLines = 16843094; // 0x1010156
+    field public static final int minResizeHeight = 16843670; // 0x1010396
+    field public static final int minResizeWidth = 16843669; // 0x1010395
+    field public static final int minSdkVersion = 16843276; // 0x101020c
+    field public static final int minWidth = 16843071; // 0x101013f
+    field public static final int minimumHorizontalAngle = 16843901; // 0x101047d
+    field public static final int minimumVerticalAngle = 16843902; // 0x101047e
+    field public static final int mipMap = 16843725; // 0x10103cd
+    field public static final int mirrorForRtl = 16843726; // 0x10103ce
+    field public static final int mode = 16843134; // 0x101017e
+    field public static final int moreIcon = 16843061; // 0x1010135
+    field public static final int multiArch = 16843918; // 0x101048e
+    field public static final int multiprocess = 16842771; // 0x1010013
+    field public static final int name = 16842755; // 0x1010003
+    field public static final int nativeHeapZeroInitialized = 16844325; // 0x1010625
+    field public static final int navigationBarColor = 16843858; // 0x1010452
+    field public static final int navigationBarDividerColor = 16844141; // 0x101056d
+    field public static final int navigationContentDescription = 16843969; // 0x10104c1
+    field public static final int navigationIcon = 16843968; // 0x10104c0
+    field public static final int navigationMode = 16843471; // 0x10102cf
+    field public static final int negativeButtonText = 16843254; // 0x10101f6
+    field public static final int nestedScrollingEnabled = 16843830; // 0x1010436
+    field public static final int networkSecurityConfig = 16844071; // 0x1010527
+    field public static final int nextClusterForward = 16844098; // 0x1010542
+    field public static final int nextFocusDown = 16842980; // 0x10100e4
+    field public static final int nextFocusForward = 16843580; // 0x101033c
+    field public static final int nextFocusLeft = 16842977; // 0x10100e1
+    field public static final int nextFocusRight = 16842978; // 0x10100e2
+    field public static final int nextFocusUp = 16842979; // 0x10100e3
+    field public static final int noHistory = 16843309; // 0x101022d
+    field public static final int nonInteractiveUiTimeout = 16844175; // 0x101058f
+    field public static final int normalScreens = 16843397; // 0x1010285
+    field public static final int notificationTimeout = 16843651; // 0x1010383
+    field public static final int numColumns = 16843032; // 0x1010118
+    field public static final int numStars = 16843076; // 0x1010144
+    field public static final int numberPickerStyle = 16844068; // 0x1010524
+    field public static final int numbersBackgroundColor = 16843938; // 0x10104a2
+    field public static final int numbersInnerTextColor = 16844001; // 0x10104e1
+    field public static final int numbersSelectorColor = 16843939; // 0x10104a3
+    field public static final int numbersTextColor = 16843937; // 0x10104a1
+    field @Deprecated public static final int numeric = 16843109; // 0x1010165
+    field public static final int numericModifiers = 16844111; // 0x101054f
+    field public static final int numericShortcut = 16843236; // 0x10101e4
+    field public static final int offset = 16844052; // 0x1010514
+    field @Deprecated public static final int onClick = 16843375; // 0x101026f
+    field public static final int oneshot = 16843159; // 0x1010197
+    field public static final int opacity = 16843550; // 0x101031e
+    field public static final int opticalInsetBottom = 16844171; // 0x101058b
+    field public static final int opticalInsetLeft = 16844168; // 0x1010588
+    field public static final int opticalInsetRight = 16844170; // 0x101058a
+    field public static final int opticalInsetTop = 16844169; // 0x1010589
+    field public static final int order = 16843242; // 0x10101ea
+    field public static final int orderInCategory = 16843231; // 0x10101df
+    field public static final int ordering = 16843490; // 0x10102e2
+    field public static final int orderingFromXml = 16843239; // 0x10101e7
+    field public static final int orientation = 16842948; // 0x10100c4
+    field public static final int outAnimation = 16843128; // 0x1010178
+    field public static final int outlineAmbientShadowColor = 16844162; // 0x1010582
+    field public static final int outlineProvider = 16843960; // 0x10104b8
+    field public static final int outlineSpotShadowColor = 16844161; // 0x1010581
+    field public static final int overScrollFooter = 16843459; // 0x10102c3
+    field public static final int overScrollHeader = 16843458; // 0x10102c2
+    field public static final int overScrollMode = 16843457; // 0x10102c1
+    field public static final int overlapAnchor = 16843874; // 0x1010462
+    field public static final int overridesImplicitlyEnabledSubtype = 16843682; // 0x10103a2
+    field public static final int packageNames = 16843649; // 0x1010381
+    field public static final int packageType = 16844167; // 0x1010587
+    field public static final int padding = 16842965; // 0x10100d5
+    field public static final int paddingBottom = 16842969; // 0x10100d9
+    field public static final int paddingEnd = 16843700; // 0x10103b4
+    field public static final int paddingHorizontal = 16844093; // 0x101053d
+    field public static final int paddingLeft = 16842966; // 0x10100d6
+    field public static final int paddingMode = 16843863; // 0x1010457
+    field public static final int paddingRight = 16842968; // 0x10100d8
+    field public static final int paddingStart = 16843699; // 0x10103b3
+    field public static final int paddingTop = 16842967; // 0x10100d7
+    field public static final int paddingVertical = 16844094; // 0x101053e
+    field public static final int panelBackground = 16842846; // 0x101005e
+    field public static final int panelColorBackground = 16842849; // 0x1010061
+    field public static final int panelColorForeground = 16842848; // 0x1010060
+    field public static final int panelFullBackground = 16842847; // 0x101005f
+    field public static final int panelTextAppearance = 16842850; // 0x1010062
+    field public static final int parentActivityName = 16843687; // 0x10103a7
+    field @Deprecated public static final int password = 16843100; // 0x101015c
+    field public static final int passwordsActivity = 16844351; // 0x101063f
+    field public static final int path = 16842794; // 0x101002a
+    field public static final int pathAdvancedPattern = 16844320; // 0x1010620
+    field public static final int pathData = 16843781; // 0x1010405
+    field public static final int pathPattern = 16842796; // 0x101002c
+    field public static final int pathPrefix = 16842795; // 0x101002b
+    field public static final int pathSuffix = 16844318; // 0x101061e
+    field public static final int patternPathData = 16843978; // 0x10104ca
+    field public static final int permission = 16842758; // 0x1010006
+    field public static final int permissionFlags = 16843719; // 0x10103c7
+    field public static final int permissionGroup = 16842762; // 0x101000a
+    field public static final int permissionGroupFlags = 16843717; // 0x10103c5
+    field public static final int persistableMode = 16843821; // 0x101042d
+    field public static final int persistent = 16842765; // 0x101000d
+    field public static final int persistentDrawingCache = 16842990; // 0x10100ee
+    field public static final int persistentWhenFeatureAvailable = 16844131; // 0x1010563
+    field @Deprecated public static final int phoneNumber = 16843111; // 0x1010167
+    field public static final int pivotX = 16843189; // 0x10101b5
+    field public static final int pivotY = 16843190; // 0x10101b6
+    field public static final int pointerIcon = 16844041; // 0x1010509
+    field public static final int popupAnimationStyle = 16843465; // 0x10102c9
+    field public static final int popupBackground = 16843126; // 0x1010176
+    field @Deprecated public static final int popupCharacters = 16843332; // 0x1010244
+    field public static final int popupElevation = 16843916; // 0x101048c
+    field public static final int popupEnterTransition = 16844063; // 0x101051f
+    field public static final int popupExitTransition = 16844064; // 0x1010520
+    field @Deprecated public static final int popupKeyboard = 16843331; // 0x1010243
+    field @Deprecated public static final int popupLayout = 16843323; // 0x101023b
+    field public static final int popupMenuStyle = 16843520; // 0x1010300
+    field public static final int popupTheme = 16843945; // 0x10104a9
+    field public static final int popupWindowStyle = 16842870; // 0x1010076
+    field public static final int port = 16842793; // 0x1010029
+    field public static final int positiveButtonText = 16843253; // 0x10101f5
+    field public static final int preferMinimalPostProcessing = 16844300; // 0x101060c
+    field public static final int preferenceCategoryStyle = 16842892; // 0x101008c
+    field public static final int preferenceFragmentStyle = 16844038; // 0x1010506
+    field public static final int preferenceInformationStyle = 16842893; // 0x101008d
+    field public static final int preferenceLayoutChild = 16842900; // 0x1010094
+    field public static final int preferenceScreenStyle = 16842891; // 0x101008b
+    field public static final int preferenceStyle = 16842894; // 0x101008e
+    field public static final int presentationTheme = 16843712; // 0x10103c0
+    field public static final int preserveLegacyExternalStorage = 16844308; // 0x1010614
+    field public static final int previewImage = 16843482; // 0x10102da
+    field public static final int previewLayout = 16844327; // 0x1010627
+    field public static final int primaryContentAlpha = 16844114; // 0x1010552
+    field public static final int priority = 16842780; // 0x101001c
+    field public static final int privateImeOptions = 16843299; // 0x1010223
+    field public static final int process = 16842769; // 0x1010011
+    field public static final int progress = 16843063; // 0x1010137
+    field public static final int progressBackgroundTint = 16843877; // 0x1010465
+    field public static final int progressBackgroundTintMode = 16843878; // 0x1010466
+    field public static final int progressBarPadding = 16843545; // 0x1010319
+    field public static final int progressBarStyle = 16842871; // 0x1010077
+    field public static final int progressBarStyleHorizontal = 16842872; // 0x1010078
+    field public static final int progressBarStyleInverse = 16843399; // 0x1010287
+    field public static final int progressBarStyleLarge = 16842874; // 0x101007a
+    field public static final int progressBarStyleLargeInverse = 16843401; // 0x1010289
+    field public static final int progressBarStyleSmall = 16842873; // 0x1010079
+    field public static final int progressBarStyleSmallInverse = 16843400; // 0x1010288
+    field public static final int progressBarStyleSmallTitle = 16843279; // 0x101020f
+    field public static final int progressDrawable = 16843068; // 0x101013c
+    field public static final int progressTint = 16843875; // 0x1010463
+    field public static final int progressTintMode = 16843876; // 0x1010464
+    field public static final int prompt = 16843131; // 0x101017b
+    field public static final int propertyName = 16843489; // 0x10102e1
+    field public static final int propertyXName = 16843892; // 0x1010474
+    field public static final int propertyYName = 16843893; // 0x1010475
+    field public static final int protectionLevel = 16842761; // 0x1010009
+    field public static final int publicKey = 16843686; // 0x10103a6
+    field public static final int queryActionMsg = 16843227; // 0x10101db
+    field public static final int queryAfterZeroResults = 16843394; // 0x1010282
+    field public static final int queryBackground = 16843911; // 0x1010487
+    field public static final int queryHint = 16843608; // 0x1010358
+    field public static final int quickContactBadgeStyleSmallWindowLarge = 16843443; // 0x10102b3
+    field public static final int quickContactBadgeStyleSmallWindowMedium = 16843442; // 0x10102b2
+    field public static final int quickContactBadgeStyleSmallWindowSmall = 16843441; // 0x10102b1
+    field public static final int quickContactBadgeStyleWindowLarge = 16843440; // 0x10102b0
+    field public static final int quickContactBadgeStyleWindowMedium = 16843439; // 0x10102af
+    field public static final int quickContactBadgeStyleWindowSmall = 16843438; // 0x10102ae
+    field public static final int radioButtonStyle = 16842878; // 0x101007e
+    field public static final int radius = 16843176; // 0x10101a8
+    field public static final int rating = 16843077; // 0x1010145
+    field public static final int ratingBarStyle = 16842876; // 0x101007c
+    field public static final int ratingBarStyleIndicator = 16843280; // 0x1010210
+    field public static final int ratingBarStyleSmall = 16842877; // 0x101007d
+    field public static final int readPermission = 16842759; // 0x1010007
+    field public static final int recognitionService = 16843932; // 0x101049c
+    field public static final int recreateOnConfigChanges = 16844103; // 0x1010547
+    field public static final int recycleEnabled = 16844121; // 0x1010559
+    field public static final int relinquishTaskIdentity = 16843894; // 0x1010476
+    field public static final int reparent = 16843964; // 0x10104bc
+    field public static final int reparentWithOverlay = 16843965; // 0x10104bd
+    field public static final int repeatCount = 16843199; // 0x10101bf
+    field public static final int repeatMode = 16843200; // 0x10101c0
+    field public static final int reqFiveWayNav = 16843314; // 0x1010232
+    field public static final int reqHardKeyboard = 16843305; // 0x1010229
+    field public static final int reqKeyboardType = 16843304; // 0x1010228
+    field public static final int reqNavigation = 16843306; // 0x101022a
+    field public static final int reqTouchScreen = 16843303; // 0x1010227
+    field public static final int requestLegacyExternalStorage = 16844291; // 0x1010603
+    field public static final int requestRawExternalStorageAccess = 16844357; // 0x1010645
+    field public static final int requireDeviceScreenOn = 16844317; // 0x101061d
+    field public static final int requireDeviceUnlock = 16843756; // 0x10103ec
+    field public static final int required = 16843406; // 0x101028e
+    field public static final int requiredAccountType = 16843734; // 0x10103d6
+    field public static final int requiredFeature = 16844116; // 0x1010554
+    field public static final int requiredForAllUsers = 16843728; // 0x10103d0
+    field public static final int requiredNotFeature = 16844117; // 0x1010555
+    field public static final int requiresFadingEdge = 16843685; // 0x10103a5
+    field public static final int requiresSmallestWidthDp = 16843620; // 0x1010364
+    field public static final int resizeClip = 16843983; // 0x10104cf
+    field public static final int resizeMode = 16843619; // 0x1010363
+    field public static final int resizeable = 16843405; // 0x101028d
+    field public static final int resizeableActivity = 16844022; // 0x10104f6
+    field public static final int resource = 16842789; // 0x1010025
+    field public static final int resourcesMap = 16844297; // 0x1010609
+    field public static final int restoreAnyVersion = 16843450; // 0x10102ba
+    field @Deprecated public static final int restoreNeedsApplication = 16843421; // 0x101029d
+    field public static final int restrictedAccountType = 16843733; // 0x10103d5
+    field public static final int restrictionType = 16843923; // 0x1010493
+    field public static final int resumeWhilePausing = 16843954; // 0x10104b2
+    field public static final int reversible = 16843851; // 0x101044b
+    field public static final int revisionCode = 16843989; // 0x10104d5
+    field public static final int right = 16843183; // 0x10101af
+    field public static final int ringtonePreferenceStyle = 16842899; // 0x1010093
+    field public static final int ringtoneType = 16843257; // 0x10101f9
+    field public static final int rollbackDataPolicy = 16844311; // 0x1010617
+    field public static final int rotation = 16843558; // 0x1010326
+    field public static final int rotationAnimation = 16844090; // 0x101053a
+    field public static final int rotationX = 16843559; // 0x1010327
+    field public static final int rotationY = 16843560; // 0x1010328
+    field public static final int roundIcon = 16844076; // 0x101052c
+    field public static final int rowCount = 16843637; // 0x1010375
+    field public static final int rowDelay = 16843216; // 0x10101d0
+    field @Deprecated public static final int rowEdgeFlags = 16843329; // 0x1010241
+    field public static final int rowHeight = 16843058; // 0x1010132
+    field public static final int rowOrderPreserved = 16843638; // 0x1010376
+    field public static final int saveEnabled = 16842983; // 0x10100e7
+    field public static final int scaleGravity = 16843262; // 0x10101fe
+    field public static final int scaleHeight = 16843261; // 0x10101fd
+    field public static final int scaleType = 16843037; // 0x101011d
+    field public static final int scaleWidth = 16843260; // 0x10101fc
+    field public static final int scaleX = 16843556; // 0x1010324
+    field public static final int scaleY = 16843557; // 0x1010325
+    field public static final int scheme = 16842791; // 0x1010027
+    field public static final int screenDensity = 16843467; // 0x10102cb
+    field public static final int screenOrientation = 16842782; // 0x101001e
+    field public static final int screenReaderFocusable = 16844148; // 0x1010574
+    field public static final int screenSize = 16843466; // 0x10102ca
+    field public static final int scrollHorizontally = 16843099; // 0x101015b
+    field public static final int scrollIndicators = 16844006; // 0x10104e6
+    field public static final int scrollViewStyle = 16842880; // 0x1010080
+    field public static final int scrollX = 16842962; // 0x10100d2
+    field public static final int scrollY = 16842963; // 0x10100d3
+    field public static final int scrollbarAlwaysDrawHorizontalTrack = 16842856; // 0x1010068
+    field public static final int scrollbarAlwaysDrawVerticalTrack = 16842857; // 0x1010069
+    field public static final int scrollbarDefaultDelayBeforeFade = 16843433; // 0x10102a9
+    field public static final int scrollbarFadeDuration = 16843432; // 0x10102a8
+    field public static final int scrollbarSize = 16842851; // 0x1010063
+    field public static final int scrollbarStyle = 16842879; // 0x101007f
+    field public static final int scrollbarThumbHorizontal = 16842852; // 0x1010064
+    field public static final int scrollbarThumbVertical = 16842853; // 0x1010065
+    field public static final int scrollbarTrackHorizontal = 16842854; // 0x1010066
+    field public static final int scrollbarTrackVertical = 16842855; // 0x1010067
+    field public static final int scrollbars = 16842974; // 0x10100de
+    field public static final int scrollingCache = 16843006; // 0x10100fe
+    field @Deprecated public static final int searchButtonText = 16843269; // 0x1010205
+    field public static final int searchHintIcon = 16843988; // 0x10104d4
+    field public static final int searchIcon = 16843907; // 0x1010483
+    field public static final int searchMode = 16843221; // 0x10101d5
+    field public static final int searchSettingsDescription = 16843402; // 0x101028a
+    field public static final int searchSuggestAuthority = 16843222; // 0x10101d6
+    field public static final int searchSuggestIntentAction = 16843225; // 0x10101d9
+    field public static final int searchSuggestIntentData = 16843226; // 0x10101da
+    field public static final int searchSuggestPath = 16843223; // 0x10101d7
+    field public static final int searchSuggestSelection = 16843224; // 0x10101d8
+    field public static final int searchSuggestThreshold = 16843373; // 0x101026d
+    field public static final int searchViewStyle = 16843904; // 0x1010480
+    field public static final int secondaryContentAlpha = 16844115; // 0x1010553
+    field public static final int secondaryProgress = 16843064; // 0x1010138
+    field public static final int secondaryProgressTint = 16843879; // 0x1010467
+    field public static final int secondaryProgressTintMode = 16843880; // 0x1010468
+    field public static final int secureElementName = 16844290; // 0x1010602
+    field public static final int seekBarStyle = 16842875; // 0x101007b
+    field public static final int segmentedButtonStyle = 16843568; // 0x1010330
+    field public static final int selectAllOnFocus = 16843102; // 0x101015e
+    field public static final int selectable = 16843238; // 0x10101e6
+    field public static final int selectableAsDefault = 16844352; // 0x1010640
+    field public static final int selectableItemBackground = 16843534; // 0x101030e
+    field public static final int selectableItemBackgroundBorderless = 16843868; // 0x101045c
+    field @Deprecated public static final int selectedDateVerticalBar = 16843591; // 0x1010347
+    field @Deprecated public static final int selectedWeekBackgroundColor = 16843586; // 0x1010342
+    field public static final int selectionDividerHeight = 16844184; // 0x1010598
+    field public static final int sessionService = 16843837; // 0x101043d
+    field public static final int settingsActivity = 16843301; // 0x1010225
+    field public static final int settingsSliceUri = 16844179; // 0x1010593
+    field public static final int setupActivity = 16843766; // 0x10103f6
+    field public static final int shadowColor = 16843105; // 0x1010161
+    field public static final int shadowDx = 16843106; // 0x1010162
+    field public static final int shadowDy = 16843107; // 0x1010163
+    field public static final int shadowRadius = 16843108; // 0x1010164
+    field public static final int shape = 16843162; // 0x101019a
+    field public static final int shareInterpolator = 16843195; // 0x10101bb
+    field @Deprecated public static final int sharedUserId = 16842763; // 0x101000b
+    field @Deprecated public static final int sharedUserLabel = 16843361; // 0x1010261
+    field public static final int shell = 16844180; // 0x1010594
+    field public static final int shortcutDisabledMessage = 16844075; // 0x101052b
+    field public static final int shortcutId = 16844072; // 0x1010528
+    field public static final int shortcutLongLabel = 16844074; // 0x101052a
+    field public static final int shortcutShortLabel = 16844073; // 0x1010529
+    field public static final int shouldDisableView = 16843246; // 0x10101ee
+    field public static final int shouldUseDefaultUnfoldTransition = 16844364; // 0x101064c
+    field public static final int showAsAction = 16843481; // 0x10102d9
+    field public static final int showDefault = 16843258; // 0x10101fa
+    field public static final int showDividers = 16843561; // 0x1010329
+    field public static final int showForAllUsers = 16844015; // 0x10104ef
+    field public static final int showInInputMethodPicker = 16844360; // 0x1010648
+    field public static final int showMetadataInPreview = 16844079; // 0x101052f
+    field @Deprecated public static final int showOnLockScreen = 16843721; // 0x10103c9
+    field public static final int showSilent = 16843259; // 0x10101fb
+    field public static final int showText = 16843949; // 0x10104ad
+    field @Deprecated public static final int showWeekNumber = 16843582; // 0x101033e
+    field public static final int showWhenLocked = 16844137; // 0x1010569
+    field @Deprecated public static final int shownWeekCount = 16843585; // 0x1010341
+    field public static final int shrinkColumns = 16843082; // 0x101014a
+    field @Deprecated public static final int singleLine = 16843101; // 0x101015d
+    field public static final int singleLineTitle = 16844124; // 0x101055c
+    field public static final int singleUser = 16843711; // 0x10103bf
+    field public static final int slideEdge = 16843824; // 0x1010430
+    field public static final int smallIcon = 16843422; // 0x101029e
+    field public static final int smallScreens = 16843396; // 0x1010284
+    field public static final int smoothScrollbar = 16843313; // 0x1010231
+    field public static final int soundEffectsEnabled = 16843285; // 0x1010215
+    field public static final int spacing = 16843027; // 0x1010113
+    field public static final int spinnerDropDownItemStyle = 16842887; // 0x1010087
+    field public static final int spinnerItemStyle = 16842889; // 0x1010089
+    field public static final int spinnerMode = 16843505; // 0x10102f1
+    field public static final int spinnerStyle = 16842881; // 0x1010081
+    field public static final int spinnersShown = 16843595; // 0x101034b
+    field public static final int splashScreenTheme = 16844337; // 0x1010631
+    field public static final int splitMotionEvents = 16843503; // 0x10102ef
+    field public static final int splitName = 16844105; // 0x1010549
+    field public static final int splitTrack = 16843852; // 0x101044c
+    field public static final int spotShadowAlpha = 16843967; // 0x10104bf
+    field public static final int src = 16843033; // 0x1010119
+    field public static final int ssp = 16843747; // 0x10103e3
+    field public static final int sspAdvancedPattern = 16844321; // 0x1010621
+    field public static final int sspPattern = 16843749; // 0x10103e5
+    field public static final int sspPrefix = 16843748; // 0x10103e4
+    field public static final int sspSuffix = 16844319; // 0x101061f
+    field public static final int stackFromBottom = 16843005; // 0x10100fd
+    field public static final int stackViewStyle = 16843838; // 0x101043e
+    field public static final int starStyle = 16842882; // 0x1010082
+    field public static final int start = 16843995; // 0x10104db
+    field public static final int startColor = 16843165; // 0x101019d
+    field public static final int startDelay = 16843746; // 0x10103e2
+    field public static final int startOffset = 16843198; // 0x10101be
+    field public static final int startX = 16844048; // 0x1010510
+    field public static final int startY = 16844049; // 0x1010511
+    field @Deprecated public static final int startYear = 16843132; // 0x101017c
+    field public static final int stateListAnimator = 16843848; // 0x1010448
+    field public static final int stateNotNeeded = 16842774; // 0x1010016
+    field public static final int state_above_anchor = 16842922; // 0x10100aa
+    field public static final int state_accelerated = 16843547; // 0x101031b
+    field public static final int state_activated = 16843518; // 0x10102fe
+    field public static final int state_active = 16842914; // 0x10100a2
+    field public static final int state_checkable = 16842911; // 0x101009f
+    field public static final int state_checked = 16842912; // 0x10100a0
+    field public static final int state_drag_can_accept = 16843624; // 0x1010368
+    field public static final int state_drag_hovered = 16843625; // 0x1010369
+    field public static final int state_empty = 16842921; // 0x10100a9
+    field public static final int state_enabled = 16842910; // 0x101009e
+    field public static final int state_expanded = 16842920; // 0x10100a8
+    field public static final int state_first = 16842916; // 0x10100a4
+    field public static final int state_focused = 16842908; // 0x101009c
+    field public static final int state_hovered = 16843623; // 0x1010367
+    field public static final int state_last = 16842918; // 0x10100a6
+    field @Deprecated public static final int state_long_pressable = 16843324; // 0x101023c
+    field public static final int state_middle = 16842917; // 0x10100a5
+    field public static final int state_multiline = 16843597; // 0x101034d
+    field public static final int state_pressed = 16842919; // 0x10100a7
+    field public static final int state_selected = 16842913; // 0x10100a1
+    field public static final int state_single = 16842915; // 0x10100a3
+    field public static final int state_window_focused = 16842909; // 0x101009d
+    field public static final int staticWallpaperPreview = 16843569; // 0x1010331
+    field public static final int statusBarColor = 16843857; // 0x1010451
+    field public static final int stepSize = 16843078; // 0x1010146
+    field public static final int stopWithTask = 16843626; // 0x101036a
+    field public static final int streamType = 16843273; // 0x1010209
+    field public static final int stretchColumns = 16843081; // 0x1010149
+    field public static final int stretchMode = 16843030; // 0x1010116
+    field public static final int strokeAlpha = 16843979; // 0x10104cb
+    field public static final int strokeColor = 16843782; // 0x1010406
+    field public static final int strokeLineCap = 16843787; // 0x101040b
+    field public static final int strokeLineJoin = 16843788; // 0x101040c
+    field public static final int strokeMiterLimit = 16843789; // 0x101040d
+    field public static final int strokeWidth = 16843783; // 0x1010407
+    field public static final int subMenuArrow = 16844019; // 0x10104f3
+    field public static final int submitBackground = 16843912; // 0x1010488
+    field public static final int subtitle = 16843473; // 0x10102d1
+    field public static final int subtitleTextAppearance = 16843823; // 0x101042f
+    field public static final int subtitleTextColor = 16844004; // 0x10104e4
+    field public static final int subtitleTextStyle = 16843513; // 0x10102f9
+    field public static final int subtypeExtraValue = 16843674; // 0x101039a
+    field public static final int subtypeId = 16843713; // 0x10103c1
+    field public static final int subtypeLocale = 16843673; // 0x1010399
+    field public static final int suggestActionMsg = 16843228; // 0x10101dc
+    field public static final int suggestActionMsgColumn = 16843229; // 0x10101dd
+    field public static final int suggestionRowLayout = 16843910; // 0x1010486
+    field public static final int summary = 16843241; // 0x10101e9
+    field public static final int summaryColumn = 16843426; // 0x10102a2
+    field public static final int summaryOff = 16843248; // 0x10101f0
+    field public static final int summaryOn = 16843247; // 0x10101ef
+    field public static final int supportsAssist = 16844016; // 0x10104f0
+    field public static final int supportsInlineSuggestions = 16844301; // 0x101060d
+    field public static final int supportsLaunchVoiceAssistFromKeyguard = 16844017; // 0x10104f1
+    field public static final int supportsLocalInteraction = 16844047; // 0x101050f
+    field public static final int supportsMultipleDisplays = 16844182; // 0x1010596
+    field public static final int supportsPictureInPicture = 16844023; // 0x10104f7
+    field public static final int supportsRtl = 16843695; // 0x10103af
+    field public static final int supportsSwitchingToNextInputMethod = 16843755; // 0x10103eb
+    field public static final int supportsUploading = 16843419; // 0x101029b
+    field public static final int suppressesSpellChecker = 16844355; // 0x1010643
+    field public static final int switchMinWidth = 16843632; // 0x1010370
+    field public static final int switchPadding = 16843633; // 0x1010371
+    field public static final int switchPreferenceStyle = 16843629; // 0x101036d
+    field public static final int switchStyle = 16843839; // 0x101043f
+    field public static final int switchTextAppearance = 16843630; // 0x101036e
+    field public static final int switchTextOff = 16843628; // 0x101036c
+    field public static final int switchTextOn = 16843627; // 0x101036b
+    field public static final int syncable = 16842777; // 0x1010019
+    field public static final int tabStripEnabled = 16843453; // 0x10102bd
+    field public static final int tabStripLeft = 16843451; // 0x10102bb
+    field public static final int tabStripRight = 16843452; // 0x10102bc
+    field public static final int tabWidgetStyle = 16842883; // 0x1010083
+    field public static final int tag = 16842961; // 0x10100d1
+    field public static final int targetActivity = 16843266; // 0x1010202
+    field public static final int targetCellHeight = 16844341; // 0x1010635
+    field public static final int targetCellWidth = 16844340; // 0x1010634
+    field public static final int targetClass = 16842799; // 0x101002f
+    field @Deprecated public static final int targetDescriptions = 16843680; // 0x10103a0
+    field public static final int targetId = 16843740; // 0x10103dc
+    field public static final int targetName = 16843853; // 0x101044d
+    field public static final int targetPackage = 16842785; // 0x1010021
+    field public static final int targetProcesses = 16844097; // 0x1010541
+    field @Deprecated public static final int targetSandboxVersion = 16844108; // 0x101054c
+    field public static final int targetSdkVersion = 16843376; // 0x1010270
+    field public static final int taskAffinity = 16842770; // 0x1010012
+    field public static final int taskCloseEnterAnimation = 16842942; // 0x10100be
+    field public static final int taskCloseExitAnimation = 16842943; // 0x10100bf
+    field public static final int taskOpenEnterAnimation = 16842940; // 0x10100bc
+    field public static final int taskOpenExitAnimation = 16842941; // 0x10100bd
+    field public static final int taskToBackEnterAnimation = 16842946; // 0x10100c2
+    field public static final int taskToBackExitAnimation = 16842947; // 0x10100c3
+    field public static final int taskToFrontEnterAnimation = 16842944; // 0x10100c0
+    field public static final int taskToFrontExitAnimation = 16842945; // 0x10100c1
+    field public static final int tension = 16843370; // 0x101026a
+    field public static final int testOnly = 16843378; // 0x1010272
+    field public static final int text = 16843087; // 0x101014f
+    field public static final int textAlignment = 16843697; // 0x10103b1
+    field public static final int textAllCaps = 16843660; // 0x101038c
+    field public static final int textAppearance = 16842804; // 0x1010034
+    field public static final int textAppearanceButton = 16843271; // 0x1010207
+    field public static final int textAppearanceInverse = 16842805; // 0x1010035
+    field public static final int textAppearanceLarge = 16842816; // 0x1010040
+    field public static final int textAppearanceLargeInverse = 16842819; // 0x1010043
+    field public static final int textAppearanceLargePopupMenu = 16843521; // 0x1010301
+    field public static final int textAppearanceListItem = 16843678; // 0x101039e
+    field public static final int textAppearanceListItemSecondary = 16843826; // 0x1010432
+    field public static final int textAppearanceListItemSmall = 16843679; // 0x101039f
+    field public static final int textAppearanceMedium = 16842817; // 0x1010041
+    field public static final int textAppearanceMediumInverse = 16842820; // 0x1010044
+    field public static final int textAppearancePopupMenuHeader = 16844034; // 0x1010502
+    field public static final int textAppearanceSearchResultSubtitle = 16843424; // 0x10102a0
+    field public static final int textAppearanceSearchResultTitle = 16843425; // 0x10102a1
+    field public static final int textAppearanceSmall = 16842818; // 0x1010042
+    field public static final int textAppearanceSmallInverse = 16842821; // 0x1010045
+    field public static final int textAppearanceSmallPopupMenu = 16843522; // 0x1010302
+    field public static final int textCheckMark = 16842822; // 0x1010046
+    field public static final int textCheckMarkInverse = 16842823; // 0x1010047
+    field public static final int textColor = 16842904; // 0x1010098
+    field public static final int textColorAlertDialogListItem = 16843526; // 0x1010306
+    field public static final int textColorHighlight = 16842905; // 0x1010099
+    field public static final int textColorHighlightInverse = 16843599; // 0x101034f
+    field public static final int textColorHint = 16842906; // 0x101009a
+    field public static final int textColorHintInverse = 16842815; // 0x101003f
+    field public static final int textColorLink = 16842907; // 0x101009b
+    field public static final int textColorLinkInverse = 16843600; // 0x1010350
+    field public static final int textColorPrimary = 16842806; // 0x1010036
+    field public static final int textColorPrimaryDisableOnly = 16842807; // 0x1010037
+    field public static final int textColorPrimaryInverse = 16842809; // 0x1010039
+    field public static final int textColorPrimaryInverseDisableOnly = 16843403; // 0x101028b
+    field public static final int textColorPrimaryInverseNoDisable = 16842813; // 0x101003d
+    field public static final int textColorPrimaryNoDisable = 16842811; // 0x101003b
+    field public static final int textColorSecondary = 16842808; // 0x1010038
+    field public static final int textColorSecondaryInverse = 16842810; // 0x101003a
+    field public static final int textColorSecondaryInverseNoDisable = 16842814; // 0x101003e
+    field public static final int textColorSecondaryNoDisable = 16842812; // 0x101003c
+    field public static final int textColorTertiary = 16843282; // 0x1010212
+    field public static final int textColorTertiaryInverse = 16843283; // 0x1010213
+    field public static final int textCursorDrawable = 16843618; // 0x1010362
+    field public static final int textDirection = 16843696; // 0x10103b0
+    field public static final int textEditNoPasteWindowLayout = 16843541; // 0x1010315
+    field public static final int textEditPasteWindowLayout = 16843540; // 0x1010314
+    field public static final int textEditSideNoPasteWindowLayout = 16843615; // 0x101035f
+    field public static final int textEditSidePasteWindowLayout = 16843614; // 0x101035e
+    field public static final int textEditSuggestionItemLayout = 16843636; // 0x1010374
+    field public static final int textFilterEnabled = 16843007; // 0x10100ff
+    field public static final int textFontWeight = 16844165; // 0x1010585
+    field public static final int textIsSelectable = 16843542; // 0x1010316
+    field public static final int textLocale = 16844178; // 0x1010592
+    field public static final int textOff = 16843045; // 0x1010125
+    field public static final int textOn = 16843044; // 0x1010124
+    field public static final int textScaleX = 16843089; // 0x1010151
+    field public static final int textSelectHandle = 16843463; // 0x10102c7
+    field public static final int textSelectHandleLeft = 16843461; // 0x10102c5
+    field public static final int textSelectHandleRight = 16843462; // 0x10102c6
+    field public static final int textSelectHandleWindowStyle = 16843464; // 0x10102c8
+    field public static final int textSize = 16842901; // 0x1010095
+    field public static final int textStyle = 16842903; // 0x1010097
+    field public static final int textSuggestionsWindowStyle = 16843635; // 0x1010373
+    field public static final int textViewStyle = 16842884; // 0x1010084
+    field public static final int theme = 16842752; // 0x1010000
+    field public static final int thickness = 16843360; // 0x1010260
+    field public static final int thicknessRatio = 16843164; // 0x101019c
+    field public static final int thumb = 16843074; // 0x1010142
+    field public static final int thumbOffset = 16843075; // 0x1010143
+    field public static final int thumbPosition = 16844005; // 0x10104e5
+    field public static final int thumbTextPadding = 16843634; // 0x1010372
+    field public static final int thumbTint = 16843889; // 0x1010471
+    field public static final int thumbTintMode = 16843890; // 0x1010472
+    field public static final int thumbnail = 16843429; // 0x10102a5
+    field public static final int tickMark = 16844042; // 0x101050a
+    field public static final int tickMarkTint = 16844043; // 0x101050b
+    field public static final int tickMarkTintMode = 16844044; // 0x101050c
+    field public static final int tileMode = 16843265; // 0x1010201
+    field public static final int tileModeX = 16843895; // 0x1010477
+    field public static final int tileModeY = 16843896; // 0x1010478
+    field public static final int timePickerDialogTheme = 16843934; // 0x101049e
+    field public static final int timePickerMode = 16843956; // 0x10104b4
+    field public static final int timePickerStyle = 16843933; // 0x101049d
+    field public static final int timeZone = 16843724; // 0x10103cc
+    field public static final int tint = 16843041; // 0x1010121
+    field public static final int tintMode = 16843771; // 0x10103fb
+    field public static final int title = 16843233; // 0x10101e1
+    field public static final int titleCondensed = 16843234; // 0x10101e2
+    field public static final int titleMargin = 16844024; // 0x10104f8
+    field public static final int titleMarginBottom = 16844028; // 0x10104fc
+    field public static final int titleMarginEnd = 16844026; // 0x10104fa
+    field public static final int titleMarginStart = 16844025; // 0x10104f9
+    field public static final int titleMarginTop = 16844027; // 0x10104fb
+    field public static final int titleTextAppearance = 16843822; // 0x101042e
+    field public static final int titleTextColor = 16844003; // 0x10104e3
+    field public static final int titleTextStyle = 16843512; // 0x10102f8
+    field public static final int toAlpha = 16843211; // 0x10101cb
+    field public static final int toDegrees = 16843188; // 0x10101b4
+    field public static final int toId = 16843849; // 0x1010449
+    field public static final int toScene = 16843742; // 0x10103de
+    field public static final int toXDelta = 16843207; // 0x10101c7
+    field public static final int toXScale = 16843203; // 0x10101c3
+    field public static final int toYDelta = 16843209; // 0x10101c9
+    field public static final int toYScale = 16843205; // 0x10101c5
+    field public static final int toolbarStyle = 16843946; // 0x10104aa
+    field public static final int tooltipText = 16844084; // 0x1010534
+    field public static final int top = 16843182; // 0x10101ae
+    field public static final int topBright = 16842955; // 0x10100cb
+    field public static final int topDark = 16842951; // 0x10100c7
+    field public static final int topLeftRadius = 16843177; // 0x10101a9
+    field public static final int topOffset = 16843352; // 0x1010258
+    field public static final int topRightRadius = 16843178; // 0x10101aa
+    field public static final int touchscreenBlocksFocus = 16843919; // 0x101048f
+    field public static final int track = 16843631; // 0x101036f
+    field public static final int trackTint = 16843993; // 0x10104d9
+    field public static final int trackTintMode = 16843994; // 0x10104da
+    field public static final int transcriptMode = 16843008; // 0x1010100
+    field public static final int transformPivotX = 16843552; // 0x1010320
+    field public static final int transformPivotY = 16843553; // 0x1010321
+    field public static final int transition = 16843743; // 0x10103df
+    field public static final int transitionGroup = 16843777; // 0x1010401
+    field public static final int transitionName = 16843776; // 0x1010400
+    field public static final int transitionOrdering = 16843744; // 0x10103e0
+    field public static final int transitionVisibilityMode = 16843900; // 0x101047c
+    field public static final int translateX = 16843866; // 0x101045a
+    field public static final int translateY = 16843867; // 0x101045b
+    field public static final int translationX = 16843554; // 0x1010322
+    field public static final int translationY = 16843555; // 0x1010323
+    field public static final int translationZ = 16843770; // 0x10103fa
+    field public static final int trimPathEnd = 16843785; // 0x1010409
+    field public static final int trimPathOffset = 16843786; // 0x101040a
+    field public static final int trimPathStart = 16843784; // 0x1010408
+    field public static final int ttcIndex = 16844143; // 0x101056f
+    field public static final int tunerCount = 16844061; // 0x101051d
+    field public static final int turnScreenOn = 16844138; // 0x101056a
+    field public static final int type = 16843169; // 0x10101a1
+    field public static final int typeface = 16842902; // 0x1010096
+    field public static final int uiOptions = 16843672; // 0x1010398
+    field public static final int uncertainGestureColor = 16843382; // 0x1010276
+    field @Deprecated public static final int unfocusedMonthDateColor = 16843588; // 0x1010344
+    field public static final int unselectedAlpha = 16843278; // 0x101020e
+    field public static final int updatePeriodMillis = 16843344; // 0x1010250
+    field public static final int use32bitAbi = 16844053; // 0x1010515
+    field public static final int useAppZygote = 16844183; // 0x1010597
+    field public static final int useDefaultMargins = 16843641; // 0x1010379
+    field public static final int useEmbeddedDex = 16844190; // 0x101059e
+    field public static final int useIntrinsicSizeAsMinimum = 16843536; // 0x1010310
+    field public static final int useLevel = 16843167; // 0x101019f
+    field public static final int userVisible = 16843409; // 0x1010291
+    field public static final int usesCleartextTraffic = 16844012; // 0x10104ec
+    field public static final int usesPermissionFlags = 16844356; // 0x1010644
+    field public static final int value = 16842788; // 0x1010024
+    field public static final int valueFrom = 16843486; // 0x10102de
+    field public static final int valueTo = 16843487; // 0x10102df
+    field public static final int valueType = 16843488; // 0x10102e0
+    field public static final int variablePadding = 16843157; // 0x1010195
+    field public static final int vendor = 16843751; // 0x10103e7
+    field public static final int version = 16844057; // 0x1010519
+    field public static final int versionCode = 16843291; // 0x101021b
+    field public static final int versionCodeMajor = 16844150; // 0x1010576
+    field public static final int versionMajor = 16844151; // 0x1010577
+    field public static final int versionName = 16843292; // 0x101021c
+    field @Deprecated public static final int verticalCorrection = 16843322; // 0x101023a
+    field public static final int verticalDivider = 16843054; // 0x101012e
+    field @Deprecated public static final int verticalGap = 16843328; // 0x1010240
+    field public static final int verticalScrollbarPosition = 16843572; // 0x1010334
+    field public static final int verticalSpacing = 16843029; // 0x1010115
+    field public static final int viewportHeight = 16843779; // 0x1010403
+    field public static final int viewportWidth = 16843778; // 0x1010402
+    field public static final int visibility = 16842972; // 0x10100dc
+    field public static final int visible = 16843156; // 0x1010194
+    field public static final int visibleToInstantApps = 16844081; // 0x1010531
+    field public static final int vmSafeMode = 16843448; // 0x10102b8
+    field public static final int voiceIcon = 16843908; // 0x1010484
+    field public static final int voiceLanguage = 16843349; // 0x1010255
+    field public static final int voiceLanguageModel = 16843347; // 0x1010253
+    field public static final int voiceMaxResults = 16843350; // 0x1010256
+    field public static final int voicePromptText = 16843348; // 0x1010254
+    field public static final int voiceSearchMode = 16843346; // 0x1010252
+    field public static final int wallpaperCloseEnterAnimation = 16843413; // 0x1010295
+    field public static final int wallpaperCloseExitAnimation = 16843414; // 0x1010296
+    field public static final int wallpaperIntraCloseEnterAnimation = 16843417; // 0x1010299
+    field public static final int wallpaperIntraCloseExitAnimation = 16843418; // 0x101029a
+    field public static final int wallpaperIntraOpenEnterAnimation = 16843415; // 0x1010297
+    field public static final int wallpaperIntraOpenExitAnimation = 16843416; // 0x1010298
+    field public static final int wallpaperOpenEnterAnimation = 16843411; // 0x1010293
+    field public static final int wallpaperOpenExitAnimation = 16843412; // 0x1010294
+    field public static final int webTextViewStyle = 16843449; // 0x10102b9
+    field public static final int webViewStyle = 16842885; // 0x1010085
+    field public static final int weekDayTextAppearance = 16843592; // 0x1010348
+    field @Deprecated public static final int weekNumberColor = 16843589; // 0x1010345
+    field @Deprecated public static final int weekSeparatorLineColor = 16843590; // 0x1010346
+    field public static final int weightSum = 16843048; // 0x1010128
+    field public static final int widgetCategory = 16843716; // 0x10103c4
+    field public static final int widgetFeatures = 16844153; // 0x1010579
+    field public static final int widgetLayout = 16843243; // 0x10101eb
+    field public static final int width = 16843097; // 0x1010159
+    field public static final int windowActionBar = 16843469; // 0x10102cd
+    field public static final int windowActionBarOverlay = 16843492; // 0x10102e4
+    field public static final int windowActionModeOverlay = 16843485; // 0x10102dd
+    field public static final int windowActivityTransitions = 16843981; // 0x10104cd
+    field public static final int windowAllowEnterTransitionOverlap = 16843836; // 0x101043c
+    field public static final int windowAllowReturnTransitionOverlap = 16843835; // 0x101043b
+    field public static final int windowAnimationStyle = 16842926; // 0x10100ae
+    field public static final int windowBackground = 16842836; // 0x1010054
+    field public static final int windowBackgroundBlurRadius = 16844331; // 0x101062b
+    field public static final int windowBackgroundFallback = 16844035; // 0x1010503
+    field public static final int windowBlurBehindEnabled = 16844316; // 0x101061c
+    field public static final int windowBlurBehindRadius = 16844315; // 0x101061b
+    field public static final int windowClipToOutline = 16843947; // 0x10104ab
+    field public static final int windowCloseOnTouchOutside = 16843611; // 0x101035b
+    field public static final int windowContentOverlay = 16842841; // 0x1010059
+    field public static final int windowContentTransitionManager = 16843769; // 0x10103f9
+    field public static final int windowContentTransitions = 16843768; // 0x10103f8
+    field public static final int windowDisablePreview = 16843298; // 0x1010222
+    field public static final int windowDrawsSystemBarBackgrounds = 16843856; // 0x1010450
+    field public static final int windowElevation = 16843920; // 0x1010490
+    field public static final int windowEnableSplitTouch = 16843543; // 0x1010317
+    field public static final int windowEnterAnimation = 16842932; // 0x10100b4
+    field public static final int windowEnterTransition = 16843831; // 0x1010437
+    field public static final int windowExitAnimation = 16842933; // 0x10100b5
+    field public static final int windowExitTransition = 16843832; // 0x1010438
+    field public static final int windowFrame = 16842837; // 0x1010055
+    field public static final int windowFullscreen = 16843277; // 0x101020d
+    field public static final int windowHideAnimation = 16842935; // 0x10100b7
+    field public static final int windowIsFloating = 16842839; // 0x1010057
+    field public static final int windowIsTranslucent = 16842840; // 0x1010058
+    field public static final int windowLayoutAffinity = 16844313; // 0x1010619
+    field public static final int windowLayoutInDisplayCutoutMode = 16844166; // 0x1010586
+    field public static final int windowLightNavigationBar = 16844140; // 0x101056c
+    field public static final int windowLightStatusBar = 16844000; // 0x10104e0
+    field public static final int windowMinWidthMajor = 16843606; // 0x1010356
+    field public static final int windowMinWidthMinor = 16843607; // 0x1010357
+    field public static final int windowNoDisplay = 16843294; // 0x101021e
+    field public static final int windowNoTitle = 16842838; // 0x1010056
+    field @Deprecated public static final int windowOverscan = 16843727; // 0x10103cf
+    field public static final int windowReenterTransition = 16843951; // 0x10104af
+    field public static final int windowReturnTransition = 16843950; // 0x10104ae
+    field public static final int windowSharedElementEnterTransition = 16843833; // 0x1010439
+    field public static final int windowSharedElementExitTransition = 16843834; // 0x101043a
+    field public static final int windowSharedElementReenterTransition = 16843953; // 0x10104b1
+    field public static final int windowSharedElementReturnTransition = 16843952; // 0x10104b0
+    field public static final int windowSharedElementsUseOverlay = 16843963; // 0x10104bb
+    field public static final int windowShowAnimation = 16842934; // 0x10100b6
+    field public static final int windowShowWallpaper = 16843410; // 0x1010292
+    field public static final int windowSoftInputMode = 16843307; // 0x101022b
+    field public static final int windowSplashScreenAnimatedIcon = 16844333; // 0x101062d
+    field public static final int windowSplashScreenAnimationDuration = 16844334; // 0x101062e
+    field public static final int windowSplashScreenBackground = 16844332; // 0x101062c
+    field public static final int windowSplashScreenBrandingImage = 16844335; // 0x101062f
+    field public static final int windowSplashScreenIconBackgroundColor = 16844336; // 0x1010630
+    field @Deprecated public static final int windowSplashscreenContent = 16844132; // 0x1010564
+    field @Deprecated public static final int windowSwipeToDismiss = 16843763; // 0x10103f3
+    field public static final int windowTitleBackgroundStyle = 16842844; // 0x101005c
+    field public static final int windowTitleSize = 16842842; // 0x101005a
+    field public static final int windowTitleStyle = 16842843; // 0x101005b
+    field public static final int windowTransitionBackgroundFadeDuration = 16843873; // 0x1010461
+    field public static final int windowTranslucentNavigation = 16843760; // 0x10103f0
+    field public static final int windowTranslucentStatus = 16843759; // 0x10103ef
+    field public static final int writePermission = 16842760; // 0x1010008
+    field public static final int x = 16842924; // 0x10100ac
+    field public static final int xlargeScreens = 16843455; // 0x10102bf
+    field public static final int y = 16842925; // 0x10100ad
+    field @Deprecated public static final int yearListItemTextAppearance = 16843929; // 0x1010499
+    field @Deprecated public static final int yearListSelectorColor = 16843930; // 0x101049a
+    field public static final int yesNoPreferenceStyle = 16842896; // 0x1010090
+    field public static final int zAdjustment = 16843201; // 0x10101c1
+    field public static final int zygotePreloadName = 16844189; // 0x101059d
+  }
+
+  public static final class R.bool {
+    ctor public R.bool();
+  }
+
+  public static final class R.color {
+    ctor public R.color();
+    field public static final int background_dark = 17170446; // 0x106000e
+    field public static final int background_light = 17170447; // 0x106000f
+    field public static final int black = 17170444; // 0x106000c
+    field public static final int darker_gray = 17170432; // 0x1060000
+    field public static final int holo_blue_bright = 17170459; // 0x106001b
+    field public static final int holo_blue_dark = 17170451; // 0x1060013
+    field public static final int holo_blue_light = 17170450; // 0x1060012
+    field public static final int holo_green_dark = 17170453; // 0x1060015
+    field public static final int holo_green_light = 17170452; // 0x1060014
+    field public static final int holo_orange_dark = 17170457; // 0x1060019
+    field public static final int holo_orange_light = 17170456; // 0x1060018
+    field public static final int holo_purple = 17170458; // 0x106001a
+    field public static final int holo_red_dark = 17170455; // 0x1060017
+    field public static final int holo_red_light = 17170454; // 0x1060016
+    field @Deprecated public static final int primary_text_dark = 17170433; // 0x1060001
+    field @Deprecated public static final int primary_text_dark_nodisable = 17170434; // 0x1060002
+    field @Deprecated public static final int primary_text_light = 17170435; // 0x1060003
+    field @Deprecated public static final int primary_text_light_nodisable = 17170436; // 0x1060004
+    field @Deprecated public static final int secondary_text_dark = 17170437; // 0x1060005
+    field @Deprecated public static final int secondary_text_dark_nodisable = 17170438; // 0x1060006
+    field @Deprecated public static final int secondary_text_light = 17170439; // 0x1060007
+    field @Deprecated public static final int secondary_text_light_nodisable = 17170440; // 0x1060008
+    field public static final int system_accent1_0 = 17170487; // 0x1060037
+    field public static final int system_accent1_10 = 17170488; // 0x1060038
+    field public static final int system_accent1_100 = 17170490; // 0x106003a
+    field public static final int system_accent1_1000 = 17170499; // 0x1060043
+    field public static final int system_accent1_200 = 17170491; // 0x106003b
+    field public static final int system_accent1_300 = 17170492; // 0x106003c
+    field public static final int system_accent1_400 = 17170493; // 0x106003d
+    field public static final int system_accent1_50 = 17170489; // 0x1060039
+    field public static final int system_accent1_500 = 17170494; // 0x106003e
+    field public static final int system_accent1_600 = 17170495; // 0x106003f
+    field public static final int system_accent1_700 = 17170496; // 0x1060040
+    field public static final int system_accent1_800 = 17170497; // 0x1060041
+    field public static final int system_accent1_900 = 17170498; // 0x1060042
+    field public static final int system_accent2_0 = 17170500; // 0x1060044
+    field public static final int system_accent2_10 = 17170501; // 0x1060045
+    field public static final int system_accent2_100 = 17170503; // 0x1060047
+    field public static final int system_accent2_1000 = 17170512; // 0x1060050
+    field public static final int system_accent2_200 = 17170504; // 0x1060048
+    field public static final int system_accent2_300 = 17170505; // 0x1060049
+    field public static final int system_accent2_400 = 17170506; // 0x106004a
+    field public static final int system_accent2_50 = 17170502; // 0x1060046
+    field public static final int system_accent2_500 = 17170507; // 0x106004b
+    field public static final int system_accent2_600 = 17170508; // 0x106004c
+    field public static final int system_accent2_700 = 17170509; // 0x106004d
+    field public static final int system_accent2_800 = 17170510; // 0x106004e
+    field public static final int system_accent2_900 = 17170511; // 0x106004f
+    field public static final int system_accent3_0 = 17170513; // 0x1060051
+    field public static final int system_accent3_10 = 17170514; // 0x1060052
+    field public static final int system_accent3_100 = 17170516; // 0x1060054
+    field public static final int system_accent3_1000 = 17170525; // 0x106005d
+    field public static final int system_accent3_200 = 17170517; // 0x1060055
+    field public static final int system_accent3_300 = 17170518; // 0x1060056
+    field public static final int system_accent3_400 = 17170519; // 0x1060057
+    field public static final int system_accent3_50 = 17170515; // 0x1060053
+    field public static final int system_accent3_500 = 17170520; // 0x1060058
+    field public static final int system_accent3_600 = 17170521; // 0x1060059
+    field public static final int system_accent3_700 = 17170522; // 0x106005a
+    field public static final int system_accent3_800 = 17170523; // 0x106005b
+    field public static final int system_accent3_900 = 17170524; // 0x106005c
+    field public static final int system_neutral1_0 = 17170461; // 0x106001d
+    field public static final int system_neutral1_10 = 17170462; // 0x106001e
+    field public static final int system_neutral1_100 = 17170464; // 0x1060020
+    field public static final int system_neutral1_1000 = 17170473; // 0x1060029
+    field public static final int system_neutral1_200 = 17170465; // 0x1060021
+    field public static final int system_neutral1_300 = 17170466; // 0x1060022
+    field public static final int system_neutral1_400 = 17170467; // 0x1060023
+    field public static final int system_neutral1_50 = 17170463; // 0x106001f
+    field public static final int system_neutral1_500 = 17170468; // 0x1060024
+    field public static final int system_neutral1_600 = 17170469; // 0x1060025
+    field public static final int system_neutral1_700 = 17170470; // 0x1060026
+    field public static final int system_neutral1_800 = 17170471; // 0x1060027
+    field public static final int system_neutral1_900 = 17170472; // 0x1060028
+    field public static final int system_neutral2_0 = 17170474; // 0x106002a
+    field public static final int system_neutral2_10 = 17170475; // 0x106002b
+    field public static final int system_neutral2_100 = 17170477; // 0x106002d
+    field public static final int system_neutral2_1000 = 17170486; // 0x1060036
+    field public static final int system_neutral2_200 = 17170478; // 0x106002e
+    field public static final int system_neutral2_300 = 17170479; // 0x106002f
+    field public static final int system_neutral2_400 = 17170480; // 0x1060030
+    field public static final int system_neutral2_50 = 17170476; // 0x106002c
+    field public static final int system_neutral2_500 = 17170481; // 0x1060031
+    field public static final int system_neutral2_600 = 17170482; // 0x1060032
+    field public static final int system_neutral2_700 = 17170483; // 0x1060033
+    field public static final int system_neutral2_800 = 17170484; // 0x1060034
+    field public static final int system_neutral2_900 = 17170485; // 0x1060035
+    field public static final int tab_indicator_text = 17170441; // 0x1060009
+    field @Deprecated public static final int tertiary_text_dark = 17170448; // 0x1060010
+    field @Deprecated public static final int tertiary_text_light = 17170449; // 0x1060011
+    field public static final int transparent = 17170445; // 0x106000d
+    field public static final int white = 17170443; // 0x106000b
+    field public static final int widget_edittext_dark = 17170442; // 0x106000a
+  }
+
+  public static final class R.dimen {
+    ctor public R.dimen();
+    field public static final int app_icon_size = 17104896; // 0x1050000
+    field public static final int dialog_min_width_major = 17104899; // 0x1050003
+    field public static final int dialog_min_width_minor = 17104900; // 0x1050004
+    field public static final int notification_large_icon_height = 17104902; // 0x1050006
+    field public static final int notification_large_icon_width = 17104901; // 0x1050005
+    field public static final int system_app_widget_background_radius = 17104904; // 0x1050008
+    field public static final int system_app_widget_inner_radius = 17104905; // 0x1050009
+    field public static final int thumbnail_height = 17104897; // 0x1050001
+    field public static final int thumbnail_width = 17104898; // 0x1050002
+  }
+
+  public static final class R.drawable {
+    ctor public R.drawable();
+    field public static final int alert_dark_frame = 17301504; // 0x1080000
+    field public static final int alert_light_frame = 17301505; // 0x1080001
+    field public static final int arrow_down_float = 17301506; // 0x1080002
+    field public static final int arrow_up_float = 17301507; // 0x1080003
+    field public static final int bottom_bar = 17301658; // 0x108009a
+    field public static final int btn_default = 17301508; // 0x1080004
+    field public static final int btn_default_small = 17301509; // 0x1080005
+    field public static final int btn_dialog = 17301527; // 0x1080017
+    field public static final int btn_dropdown = 17301510; // 0x1080006
+    field public static final int btn_minus = 17301511; // 0x1080007
+    field public static final int btn_plus = 17301512; // 0x1080008
+    field public static final int btn_radio = 17301513; // 0x1080009
+    field public static final int btn_star = 17301514; // 0x108000a
+    field public static final int btn_star_big_off = 17301515; // 0x108000b
+    field public static final int btn_star_big_on = 17301516; // 0x108000c
+    field public static final int button_onoff_indicator_off = 17301518; // 0x108000e
+    field public static final int button_onoff_indicator_on = 17301517; // 0x108000d
+    field public static final int checkbox_off_background = 17301519; // 0x108000f
+    field public static final int checkbox_on_background = 17301520; // 0x1080010
+    field public static final int dark_header = 17301669; // 0x10800a5
+    field public static final int dialog_frame = 17301521; // 0x1080011
+    field public static final int dialog_holo_dark_frame = 17301682; // 0x10800b2
+    field public static final int dialog_holo_light_frame = 17301683; // 0x10800b3
+    field public static final int divider_horizontal_bright = 17301522; // 0x1080012
+    field public static final int divider_horizontal_dark = 17301524; // 0x1080014
+    field public static final int divider_horizontal_dim_dark = 17301525; // 0x1080015
+    field public static final int divider_horizontal_textfield = 17301523; // 0x1080013
+    field public static final int edit_text = 17301526; // 0x1080016
+    field public static final int editbox_background = 17301528; // 0x1080018
+    field public static final int editbox_background_normal = 17301529; // 0x1080019
+    field public static final int editbox_dropdown_dark_frame = 17301530; // 0x108001a
+    field public static final int editbox_dropdown_light_frame = 17301531; // 0x108001b
+    field public static final int gallery_thumb = 17301532; // 0x108001c
+    field public static final int ic_btn_speak_now = 17301668; // 0x10800a4
+    field public static final int ic_delete = 17301533; // 0x108001d
+    field public static final int ic_dialog_alert = 17301543; // 0x1080027
+    field public static final int ic_dialog_dialer = 17301544; // 0x1080028
+    field public static final int ic_dialog_email = 17301545; // 0x1080029
+    field public static final int ic_dialog_info = 17301659; // 0x108009b
+    field public static final int ic_dialog_map = 17301546; // 0x108002a
+    field public static final int ic_input_add = 17301547; // 0x108002b
+    field public static final int ic_input_delete = 17301548; // 0x108002c
+    field public static final int ic_input_get = 17301549; // 0x108002d
+    field public static final int ic_lock_idle_alarm = 17301550; // 0x108002e
+    field public static final int ic_lock_idle_charging = 17301534; // 0x108001e
+    field public static final int ic_lock_idle_lock = 17301535; // 0x108001f
+    field public static final int ic_lock_idle_low_battery = 17301536; // 0x1080020
+    field public static final int ic_lock_lock = 17301551; // 0x108002f
+    field public static final int ic_lock_power_off = 17301552; // 0x1080030
+    field public static final int ic_lock_silent_mode = 17301553; // 0x1080031
+    field public static final int ic_lock_silent_mode_off = 17301554; // 0x1080032
+    field public static final int ic_media_ff = 17301537; // 0x1080021
+    field public static final int ic_media_next = 17301538; // 0x1080022
+    field public static final int ic_media_pause = 17301539; // 0x1080023
+    field public static final int ic_media_play = 17301540; // 0x1080024
+    field public static final int ic_media_previous = 17301541; // 0x1080025
+    field public static final int ic_media_rew = 17301542; // 0x1080026
+    field public static final int ic_menu_add = 17301555; // 0x1080033
+    field public static final int ic_menu_agenda = 17301556; // 0x1080034
+    field public static final int ic_menu_always_landscape_portrait = 17301557; // 0x1080035
+    field public static final int ic_menu_call = 17301558; // 0x1080036
+    field public static final int ic_menu_camera = 17301559; // 0x1080037
+    field public static final int ic_menu_close_clear_cancel = 17301560; // 0x1080038
+    field public static final int ic_menu_compass = 17301561; // 0x1080039
+    field public static final int ic_menu_crop = 17301562; // 0x108003a
+    field public static final int ic_menu_day = 17301563; // 0x108003b
+    field public static final int ic_menu_delete = 17301564; // 0x108003c
+    field public static final int ic_menu_directions = 17301565; // 0x108003d
+    field public static final int ic_menu_edit = 17301566; // 0x108003e
+    field public static final int ic_menu_gallery = 17301567; // 0x108003f
+    field public static final int ic_menu_help = 17301568; // 0x1080040
+    field public static final int ic_menu_info_details = 17301569; // 0x1080041
+    field public static final int ic_menu_manage = 17301570; // 0x1080042
+    field public static final int ic_menu_mapmode = 17301571; // 0x1080043
+    field public static final int ic_menu_month = 17301572; // 0x1080044
+    field public static final int ic_menu_more = 17301573; // 0x1080045
+    field public static final int ic_menu_my_calendar = 17301574; // 0x1080046
+    field public static final int ic_menu_mylocation = 17301575; // 0x1080047
+    field public static final int ic_menu_myplaces = 17301576; // 0x1080048
+    field public static final int ic_menu_preferences = 17301577; // 0x1080049
+    field public static final int ic_menu_recent_history = 17301578; // 0x108004a
+    field public static final int ic_menu_report_image = 17301579; // 0x108004b
+    field public static final int ic_menu_revert = 17301580; // 0x108004c
+    field public static final int ic_menu_rotate = 17301581; // 0x108004d
+    field public static final int ic_menu_save = 17301582; // 0x108004e
+    field public static final int ic_menu_search = 17301583; // 0x108004f
+    field public static final int ic_menu_send = 17301584; // 0x1080050
+    field public static final int ic_menu_set_as = 17301585; // 0x1080051
+    field public static final int ic_menu_share = 17301586; // 0x1080052
+    field public static final int ic_menu_slideshow = 17301587; // 0x1080053
+    field public static final int ic_menu_sort_alphabetically = 17301660; // 0x108009c
+    field public static final int ic_menu_sort_by_size = 17301661; // 0x108009d
+    field public static final int ic_menu_today = 17301588; // 0x1080054
+    field public static final int ic_menu_upload = 17301589; // 0x1080055
+    field public static final int ic_menu_upload_you_tube = 17301590; // 0x1080056
+    field public static final int ic_menu_view = 17301591; // 0x1080057
+    field public static final int ic_menu_week = 17301592; // 0x1080058
+    field public static final int ic_menu_zoom = 17301593; // 0x1080059
+    field public static final int ic_notification_clear_all = 17301594; // 0x108005a
+    field public static final int ic_notification_overlay = 17301595; // 0x108005b
+    field public static final int ic_partial_secure = 17301596; // 0x108005c
+    field public static final int ic_popup_disk_full = 17301597; // 0x108005d
+    field public static final int ic_popup_reminder = 17301598; // 0x108005e
+    field public static final int ic_popup_sync = 17301599; // 0x108005f
+    field public static final int ic_search_category_default = 17301600; // 0x1080060
+    field public static final int ic_secure = 17301601; // 0x1080061
+    field public static final int list_selector_background = 17301602; // 0x1080062
+    field public static final int menu_frame = 17301603; // 0x1080063
+    field public static final int menu_full_frame = 17301604; // 0x1080064
+    field public static final int menuitem_background = 17301605; // 0x1080065
+    field public static final int picture_frame = 17301606; // 0x1080066
+    field public static final int presence_audio_away = 17301679; // 0x10800af
+    field public static final int presence_audio_busy = 17301680; // 0x10800b0
+    field public static final int presence_audio_online = 17301681; // 0x10800b1
+    field public static final int presence_away = 17301607; // 0x1080067
+    field public static final int presence_busy = 17301608; // 0x1080068
+    field public static final int presence_invisible = 17301609; // 0x1080069
+    field public static final int presence_offline = 17301610; // 0x108006a
+    field public static final int presence_online = 17301611; // 0x108006b
+    field public static final int presence_video_away = 17301676; // 0x10800ac
+    field public static final int presence_video_busy = 17301677; // 0x10800ad
+    field public static final int presence_video_online = 17301678; // 0x10800ae
+    field public static final int progress_horizontal = 17301612; // 0x108006c
+    field public static final int progress_indeterminate_horizontal = 17301613; // 0x108006d
+    field public static final int radiobutton_off_background = 17301614; // 0x108006e
+    field public static final int radiobutton_on_background = 17301615; // 0x108006f
+    field public static final int screen_background_dark = 17301656; // 0x1080098
+    field public static final int screen_background_dark_transparent = 17301673; // 0x10800a9
+    field public static final int screen_background_light = 17301657; // 0x1080099
+    field public static final int screen_background_light_transparent = 17301674; // 0x10800aa
+    field public static final int spinner_background = 17301616; // 0x1080070
+    field public static final int spinner_dropdown_background = 17301617; // 0x1080071
+    field public static final int star_big_off = 17301619; // 0x1080073
+    field public static final int star_big_on = 17301618; // 0x1080072
+    field public static final int star_off = 17301621; // 0x1080075
+    field public static final int star_on = 17301620; // 0x1080074
+    field public static final int stat_notify_call_mute = 17301622; // 0x1080076
+    field public static final int stat_notify_chat = 17301623; // 0x1080077
+    field public static final int stat_notify_error = 17301624; // 0x1080078
+    field public static final int stat_notify_missed_call = 17301631; // 0x108007f
+    field public static final int stat_notify_more = 17301625; // 0x1080079
+    field public static final int stat_notify_sdcard = 17301626; // 0x108007a
+    field public static final int stat_notify_sdcard_prepare = 17301675; // 0x10800ab
+    field public static final int stat_notify_sdcard_usb = 17301627; // 0x108007b
+    field public static final int stat_notify_sync = 17301628; // 0x108007c
+    field public static final int stat_notify_sync_noanim = 17301629; // 0x108007d
+    field public static final int stat_notify_voicemail = 17301630; // 0x108007e
+    field public static final int stat_sys_data_bluetooth = 17301632; // 0x1080080
+    field public static final int stat_sys_download = 17301633; // 0x1080081
+    field public static final int stat_sys_download_done = 17301634; // 0x1080082
+    field public static final int stat_sys_headset = 17301635; // 0x1080083
+    field @Deprecated public static final int stat_sys_phone_call = 17301636; // 0x1080084
+    field @Deprecated public static final int stat_sys_phone_call_forward = 17301637; // 0x1080085
+    field @Deprecated public static final int stat_sys_phone_call_on_hold = 17301638; // 0x1080086
+    field public static final int stat_sys_speakerphone = 17301639; // 0x1080087
+    field public static final int stat_sys_upload = 17301640; // 0x1080088
+    field public static final int stat_sys_upload_done = 17301641; // 0x1080089
+    field @Deprecated public static final int stat_sys_vp_phone_call = 17301671; // 0x10800a7
+    field @Deprecated public static final int stat_sys_vp_phone_call_on_hold = 17301672; // 0x10800a8
+    field public static final int stat_sys_warning = 17301642; // 0x108008a
+    field public static final int status_bar_item_app_background = 17301643; // 0x108008b
+    field public static final int status_bar_item_background = 17301644; // 0x108008c
+    field public static final int sym_action_call = 17301645; // 0x108008d
+    field public static final int sym_action_chat = 17301646; // 0x108008e
+    field public static final int sym_action_email = 17301647; // 0x108008f
+    field public static final int sym_call_incoming = 17301648; // 0x1080090
+    field public static final int sym_call_missed = 17301649; // 0x1080091
+    field public static final int sym_call_outgoing = 17301650; // 0x1080092
+    field public static final int sym_contact_card = 17301652; // 0x1080094
+    field public static final int sym_def_app_icon = 17301651; // 0x1080093
+    field public static final int title_bar = 17301653; // 0x1080095
+    field public static final int title_bar_tall = 17301670; // 0x10800a6
+    field public static final int toast_frame = 17301654; // 0x1080096
+    field public static final int zoom_plate = 17301655; // 0x1080097
+  }
+
+  public static final class R.fraction {
+    ctor public R.fraction();
+  }
+
+  public static final class R.id {
+    ctor public R.id();
+    field public static final int accessibilityActionContextClick = 16908348; // 0x102003c
+    field public static final int accessibilityActionDragCancel = 16908375; // 0x1020057
+    field public static final int accessibilityActionDragDrop = 16908374; // 0x1020056
+    field public static final int accessibilityActionDragStart = 16908373; // 0x1020055
+    field public static final int accessibilityActionHideTooltip = 16908357; // 0x1020045
+    field public static final int accessibilityActionImeEnter = 16908372; // 0x1020054
+    field public static final int accessibilityActionMoveWindow = 16908354; // 0x1020042
+    field public static final int accessibilityActionPageDown = 16908359; // 0x1020047
+    field public static final int accessibilityActionPageLeft = 16908360; // 0x1020048
+    field public static final int accessibilityActionPageRight = 16908361; // 0x1020049
+    field public static final int accessibilityActionPageUp = 16908358; // 0x1020046
+    field public static final int accessibilityActionPressAndHold = 16908362; // 0x102004a
+    field public static final int accessibilityActionScrollDown = 16908346; // 0x102003a
+    field public static final int accessibilityActionScrollLeft = 16908345; // 0x1020039
+    field public static final int accessibilityActionScrollRight = 16908347; // 0x102003b
+    field public static final int accessibilityActionScrollToPosition = 16908343; // 0x1020037
+    field public static final int accessibilityActionScrollUp = 16908344; // 0x1020038
+    field public static final int accessibilityActionSetProgress = 16908349; // 0x102003d
+    field public static final int accessibilityActionShowOnScreen = 16908342; // 0x1020036
+    field public static final int accessibilityActionShowTooltip = 16908356; // 0x1020044
+    field public static final int accessibilitySystemActionBack = 16908363; // 0x102004b
+    field public static final int accessibilitySystemActionHome = 16908364; // 0x102004c
+    field public static final int accessibilitySystemActionLockScreen = 16908370; // 0x1020052
+    field public static final int accessibilitySystemActionNotifications = 16908366; // 0x102004e
+    field public static final int accessibilitySystemActionPowerDialog = 16908368; // 0x1020050
+    field public static final int accessibilitySystemActionQuickSettings = 16908367; // 0x102004f
+    field public static final int accessibilitySystemActionRecents = 16908365; // 0x102004d
+    field public static final int accessibilitySystemActionTakeScreenshot = 16908371; // 0x1020053
+    field public static final int accessibilitySystemActionToggleSplitScreen = 16908369; // 0x1020051
+    field public static final int addToDictionary = 16908330; // 0x102002a
+    field public static final int autofill = 16908355; // 0x1020043
+    field public static final int background = 16908288; // 0x1020000
+    field public static final int button1 = 16908313; // 0x1020019
+    field public static final int button2 = 16908314; // 0x102001a
+    field public static final int button3 = 16908315; // 0x102001b
+    field public static final int candidatesArea = 16908317; // 0x102001d
+    field public static final int checkbox = 16908289; // 0x1020001
+    field public static final int closeButton = 16908327; // 0x1020027
+    field public static final int content = 16908290; // 0x1020002
+    field public static final int copy = 16908321; // 0x1020021
+    field public static final int copyUrl = 16908323; // 0x1020023
+    field public static final int custom = 16908331; // 0x102002b
+    field public static final int cut = 16908320; // 0x1020020
+    field public static final int edit = 16908291; // 0x1020003
+    field public static final int empty = 16908292; // 0x1020004
+    field public static final int extractArea = 16908316; // 0x102001c
+    field public static final int hint = 16908293; // 0x1020005
+    field public static final int home = 16908332; // 0x102002c
+    field public static final int icon = 16908294; // 0x1020006
+    field public static final int icon1 = 16908295; // 0x1020007
+    field public static final int icon2 = 16908296; // 0x1020008
+    field public static final int icon_frame = 16908350; // 0x102003e
+    field public static final int input = 16908297; // 0x1020009
+    field public static final int inputArea = 16908318; // 0x102001e
+    field public static final int inputExtractEditText = 16908325; // 0x1020025
+    field @Deprecated public static final int keyboardView = 16908326; // 0x1020026
+    field public static final int list = 16908298; // 0x102000a
+    field public static final int list_container = 16908351; // 0x102003f
+    field public static final int mask = 16908334; // 0x102002e
+    field public static final int message = 16908299; // 0x102000b
+    field public static final int navigationBarBackground = 16908336; // 0x1020030
+    field public static final int paste = 16908322; // 0x1020022
+    field public static final int pasteAsPlainText = 16908337; // 0x1020031
+    field public static final int primary = 16908300; // 0x102000c
+    field public static final int progress = 16908301; // 0x102000d
+    field public static final int redo = 16908339; // 0x1020033
+    field public static final int replaceText = 16908340; // 0x1020034
+    field public static final int secondaryProgress = 16908303; // 0x102000f
+    field public static final int selectAll = 16908319; // 0x102001f
+    field public static final int selectTextMode = 16908333; // 0x102002d
+    field public static final int selectedIcon = 16908302; // 0x102000e
+    field public static final int shareText = 16908341; // 0x1020035
+    field public static final int startSelectingText = 16908328; // 0x1020028
+    field public static final int statusBarBackground = 16908335; // 0x102002f
+    field public static final int stopSelectingText = 16908329; // 0x1020029
+    field public static final int summary = 16908304; // 0x1020010
+    field public static final int switchInputMethod = 16908324; // 0x1020024
+    field public static final int switch_widget = 16908352; // 0x1020040
+    field public static final int tabcontent = 16908305; // 0x1020011
+    field public static final int tabhost = 16908306; // 0x1020012
+    field public static final int tabs = 16908307; // 0x1020013
+    field public static final int text1 = 16908308; // 0x1020014
+    field public static final int text2 = 16908309; // 0x1020015
+    field public static final int textAssist = 16908353; // 0x1020041
+    field public static final int title = 16908310; // 0x1020016
+    field public static final int toggle = 16908311; // 0x1020017
+    field public static final int undo = 16908338; // 0x1020032
+    field public static final int widget_frame = 16908312; // 0x1020018
+  }
+
+  public static final class R.integer {
+    ctor public R.integer();
+    field public static final int config_longAnimTime = 17694722; // 0x10e0002
+    field public static final int config_mediumAnimTime = 17694721; // 0x10e0001
+    field public static final int config_shortAnimTime = 17694720; // 0x10e0000
+    field public static final int status_bar_notification_info_maxnum = 17694723; // 0x10e0003
+  }
+
+  public static final class R.interpolator {
+    ctor public R.interpolator();
+    field public static final int accelerate_cubic = 17563650; // 0x10c0002
+    field public static final int accelerate_decelerate = 17563654; // 0x10c0006
+    field public static final int accelerate_quad = 17563648; // 0x10c0000
+    field public static final int accelerate_quint = 17563652; // 0x10c0004
+    field public static final int anticipate = 17563655; // 0x10c0007
+    field public static final int anticipate_overshoot = 17563657; // 0x10c0009
+    field public static final int bounce = 17563658; // 0x10c000a
+    field public static final int cycle = 17563660; // 0x10c000c
+    field public static final int decelerate_cubic = 17563651; // 0x10c0003
+    field public static final int decelerate_quad = 17563649; // 0x10c0001
+    field public static final int decelerate_quint = 17563653; // 0x10c0005
+    field public static final int fast_out_extra_slow_in = 17563674; // 0x10c001a
+    field public static final int fast_out_linear_in = 17563663; // 0x10c000f
+    field public static final int fast_out_slow_in = 17563661; // 0x10c000d
+    field public static final int linear = 17563659; // 0x10c000b
+    field public static final int linear_out_slow_in = 17563662; // 0x10c000e
+    field public static final int overshoot = 17563656; // 0x10c0008
+  }
+
+  public static final class R.layout {
+    ctor public R.layout();
+    field public static final int activity_list_item = 17367040; // 0x1090000
+    field public static final int browser_link_context_header = 17367054; // 0x109000e
+    field public static final int expandable_list_content = 17367041; // 0x1090001
+    field public static final int list_content = 17367060; // 0x1090014
+    field public static final int preference_category = 17367042; // 0x1090002
+    field public static final int select_dialog_item = 17367057; // 0x1090011
+    field public static final int select_dialog_multichoice = 17367059; // 0x1090013
+    field public static final int select_dialog_singlechoice = 17367058; // 0x1090012
+    field public static final int simple_dropdown_item_1line = 17367050; // 0x109000a
+    field public static final int simple_expandable_list_item_1 = 17367046; // 0x1090006
+    field public static final int simple_expandable_list_item_2 = 17367047; // 0x1090007
+    field public static final int simple_gallery_item = 17367051; // 0x109000b
+    field public static final int simple_list_item_1 = 17367043; // 0x1090003
+    field public static final int simple_list_item_2 = 17367044; // 0x1090004
+    field public static final int simple_list_item_activated_1 = 17367062; // 0x1090016
+    field public static final int simple_list_item_activated_2 = 17367063; // 0x1090017
+    field public static final int simple_list_item_checked = 17367045; // 0x1090005
+    field public static final int simple_list_item_multiple_choice = 17367056; // 0x1090010
+    field public static final int simple_list_item_single_choice = 17367055; // 0x109000f
+    field public static final int simple_selectable_list_item = 17367061; // 0x1090015
+    field public static final int simple_spinner_dropdown_item = 17367049; // 0x1090009
+    field public static final int simple_spinner_item = 17367048; // 0x1090008
+    field public static final int test_list_item = 17367052; // 0x109000c
+    field public static final int two_line_list_item = 17367053; // 0x109000d
+  }
+
+  public static final class R.menu {
+    ctor public R.menu();
+  }
+
+  public static final class R.mipmap {
+    ctor public R.mipmap();
+    field public static final int sym_def_app_icon = 17629184; // 0x10d0000
+  }
+
+  public static final class R.plurals {
+    ctor public R.plurals();
+  }
+
+  public static final class R.raw {
+    ctor public R.raw();
+  }
+
+  public static final class R.string {
+    ctor public R.string();
+    field public static final int VideoView_error_button = 17039376; // 0x1040010
+    field public static final int VideoView_error_text_invalid_progressive_playback = 17039381; // 0x1040015
+    field public static final int VideoView_error_text_unknown = 17039377; // 0x1040011
+    field public static final int VideoView_error_title = 17039378; // 0x1040012
+    field public static final int autofill = 17039386; // 0x104001a
+    field public static final int cancel = 17039360; // 0x1040000
+    field public static final int copy = 17039361; // 0x1040001
+    field public static final int copyUrl = 17039362; // 0x1040002
+    field public static final int cut = 17039363; // 0x1040003
+    field public static final int defaultMsisdnAlphaTag = 17039365; // 0x1040005
+    field public static final int defaultVoiceMailAlphaTag = 17039364; // 0x1040004
+    field public static final int dialog_alert_title = 17039380; // 0x1040014
+    field public static final int emptyPhoneNumber = 17039366; // 0x1040006
+    field public static final int fingerprint_icon_content_description = 17039384; // 0x1040018
+    field public static final int httpErrorBadUrl = 17039367; // 0x1040007
+    field public static final int httpErrorUnsupportedScheme = 17039368; // 0x1040008
+    field @Deprecated public static final int no = 17039369; // 0x1040009
+    field public static final int ok = 17039370; // 0x104000a
+    field public static final int paste = 17039371; // 0x104000b
+    field public static final int paste_as_plain_text = 17039385; // 0x1040019
+    field public static final int search_go = 17039372; // 0x104000c
+    field public static final int selectAll = 17039373; // 0x104000d
+    field public static final int selectTextMode = 17039382; // 0x1040016
+    field public static final int status_bar_notification_info_overflow = 17039383; // 0x1040017
+    field public static final int unknownName = 17039374; // 0x104000e
+    field public static final int untitled = 17039375; // 0x104000f
+    field @Deprecated public static final int yes = 17039379; // 0x1040013
+  }
+
+  public static final class R.style {
+    ctor public R.style();
+    field public static final int Animation = 16973824; // 0x1030000
+    field public static final int Animation_Activity = 16973825; // 0x1030001
+    field public static final int Animation_Dialog = 16973826; // 0x1030002
+    field public static final int Animation_InputMethod = 16973910; // 0x1030056
+    field public static final int Animation_Toast = 16973828; // 0x1030004
+    field public static final int Animation_Translucent = 16973827; // 0x1030003
+    field public static final int DeviceDefault_ButtonBar = 16974287; // 0x10301cf
+    field public static final int DeviceDefault_ButtonBar_AlertDialog = 16974288; // 0x10301d0
+    field public static final int DeviceDefault_Light_ButtonBar = 16974290; // 0x10301d2
+    field public static final int DeviceDefault_Light_ButtonBar_AlertDialog = 16974291; // 0x10301d3
+    field public static final int DeviceDefault_Light_SegmentedButton = 16974292; // 0x10301d4
+    field public static final int DeviceDefault_SegmentedButton = 16974289; // 0x10301d1
+    field public static final int Holo_ButtonBar = 16974053; // 0x10300e5
+    field public static final int Holo_ButtonBar_AlertDialog = 16974055; // 0x10300e7
+    field public static final int Holo_Light_ButtonBar = 16974054; // 0x10300e6
+    field public static final int Holo_Light_ButtonBar_AlertDialog = 16974056; // 0x10300e8
+    field public static final int Holo_Light_SegmentedButton = 16974058; // 0x10300ea
+    field public static final int Holo_SegmentedButton = 16974057; // 0x10300e9
+    field public static final int MediaButton = 16973879; // 0x1030037
+    field public static final int MediaButton_Ffwd = 16973883; // 0x103003b
+    field public static final int MediaButton_Next = 16973881; // 0x1030039
+    field public static final int MediaButton_Pause = 16973885; // 0x103003d
+    field public static final int MediaButton_Play = 16973882; // 0x103003a
+    field public static final int MediaButton_Previous = 16973880; // 0x1030038
+    field public static final int MediaButton_Rew = 16973884; // 0x103003c
+    field public static final int TextAppearance = 16973886; // 0x103003e
+    field public static final int TextAppearance_DeviceDefault = 16974253; // 0x10301ad
+    field public static final int TextAppearance_DeviceDefault_DialogWindowTitle = 16974264; // 0x10301b8
+    field public static final int TextAppearance_DeviceDefault_Inverse = 16974254; // 0x10301ae
+    field public static final int TextAppearance_DeviceDefault_Large = 16974255; // 0x10301af
+    field public static final int TextAppearance_DeviceDefault_Large_Inverse = 16974256; // 0x10301b0
+    field public static final int TextAppearance_DeviceDefault_Medium = 16974257; // 0x10301b1
+    field public static final int TextAppearance_DeviceDefault_Medium_Inverse = 16974258; // 0x10301b2
+    field public static final int TextAppearance_DeviceDefault_SearchResult_Subtitle = 16974262; // 0x10301b6
+    field public static final int TextAppearance_DeviceDefault_SearchResult_Title = 16974261; // 0x10301b5
+    field public static final int TextAppearance_DeviceDefault_Small = 16974259; // 0x10301b3
+    field public static final int TextAppearance_DeviceDefault_Small_Inverse = 16974260; // 0x10301b4
+    field public static final int TextAppearance_DeviceDefault_Widget = 16974265; // 0x10301b9
+    field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Menu = 16974286; // 0x10301ce
+    field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle = 16974279; // 0x10301c7
+    field @Deprecated public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse = 16974283; // 0x10301cb
+    field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Title = 16974278; // 0x10301c6
+    field @Deprecated public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse = 16974282; // 0x10301ca
+    field public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle = 16974281; // 0x10301c9
+    field @Deprecated public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse = 16974285; // 0x10301cd
+    field public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Title = 16974280; // 0x10301c8
+    field @Deprecated public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse = 16974284; // 0x10301cc
+    field public static final int TextAppearance_DeviceDefault_Widget_Button = 16974266; // 0x10301ba
+    field public static final int TextAppearance_DeviceDefault_Widget_DropDownHint = 16974271; // 0x10301bf
+    field public static final int TextAppearance_DeviceDefault_Widget_DropDownItem = 16974272; // 0x10301c0
+    field public static final int TextAppearance_DeviceDefault_Widget_EditText = 16974274; // 0x10301c2
+    field public static final int TextAppearance_DeviceDefault_Widget_IconMenu_Item = 16974267; // 0x10301bb
+    field public static final int TextAppearance_DeviceDefault_Widget_PopupMenu = 16974275; // 0x10301c3
+    field public static final int TextAppearance_DeviceDefault_Widget_PopupMenu_Large = 16974276; // 0x10301c4
+    field public static final int TextAppearance_DeviceDefault_Widget_PopupMenu_Small = 16974277; // 0x10301c5
+    field public static final int TextAppearance_DeviceDefault_Widget_TabWidget = 16974268; // 0x10301bc
+    field public static final int TextAppearance_DeviceDefault_Widget_TextView = 16974269; // 0x10301bd
+    field public static final int TextAppearance_DeviceDefault_Widget_TextView_PopupMenu = 16974270; // 0x10301be
+    field public static final int TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem = 16974273; // 0x10301c1
+    field public static final int TextAppearance_DeviceDefault_WindowTitle = 16974263; // 0x10301b7
+    field public static final int TextAppearance_DialogWindowTitle = 16973889; // 0x1030041
+    field public static final int TextAppearance_Holo = 16974075; // 0x10300fb
+    field public static final int TextAppearance_Holo_DialogWindowTitle = 16974103; // 0x1030117
+    field public static final int TextAppearance_Holo_Inverse = 16974076; // 0x10300fc
+    field public static final int TextAppearance_Holo_Large = 16974077; // 0x10300fd
+    field public static final int TextAppearance_Holo_Large_Inverse = 16974078; // 0x10300fe
+    field public static final int TextAppearance_Holo_Medium = 16974079; // 0x10300ff
+    field public static final int TextAppearance_Holo_Medium_Inverse = 16974080; // 0x1030100
+    field public static final int TextAppearance_Holo_SearchResult_Subtitle = 16974084; // 0x1030104
+    field public static final int TextAppearance_Holo_SearchResult_Title = 16974083; // 0x1030103
+    field public static final int TextAppearance_Holo_Small = 16974081; // 0x1030101
+    field public static final int TextAppearance_Holo_Small_Inverse = 16974082; // 0x1030102
+    field public static final int TextAppearance_Holo_Widget = 16974085; // 0x1030105
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Menu = 16974112; // 0x1030120
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle = 16974099; // 0x1030113
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse = 16974109; // 0x103011d
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Title = 16974098; // 0x1030112
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Title_Inverse = 16974108; // 0x103011c
+    field public static final int TextAppearance_Holo_Widget_ActionMode_Subtitle = 16974101; // 0x1030115
+    field public static final int TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse = 16974111; // 0x103011f
+    field public static final int TextAppearance_Holo_Widget_ActionMode_Title = 16974100; // 0x1030114
+    field public static final int TextAppearance_Holo_Widget_ActionMode_Title_Inverse = 16974110; // 0x103011e
+    field public static final int TextAppearance_Holo_Widget_Button = 16974086; // 0x1030106
+    field public static final int TextAppearance_Holo_Widget_DropDownHint = 16974091; // 0x103010b
+    field public static final int TextAppearance_Holo_Widget_DropDownItem = 16974092; // 0x103010c
+    field public static final int TextAppearance_Holo_Widget_EditText = 16974094; // 0x103010e
+    field public static final int TextAppearance_Holo_Widget_IconMenu_Item = 16974087; // 0x1030107
+    field public static final int TextAppearance_Holo_Widget_PopupMenu = 16974095; // 0x103010f
+    field public static final int TextAppearance_Holo_Widget_PopupMenu_Large = 16974096; // 0x1030110
+    field public static final int TextAppearance_Holo_Widget_PopupMenu_Small = 16974097; // 0x1030111
+    field public static final int TextAppearance_Holo_Widget_TabWidget = 16974088; // 0x1030108
+    field public static final int TextAppearance_Holo_Widget_TextView = 16974089; // 0x1030109
+    field public static final int TextAppearance_Holo_Widget_TextView_PopupMenu = 16974090; // 0x103010a
+    field public static final int TextAppearance_Holo_Widget_TextView_SpinnerItem = 16974093; // 0x103010d
+    field public static final int TextAppearance_Holo_WindowTitle = 16974102; // 0x1030116
+    field public static final int TextAppearance_Inverse = 16973887; // 0x103003f
+    field public static final int TextAppearance_Large = 16973890; // 0x1030042
+    field public static final int TextAppearance_Large_Inverse = 16973891; // 0x1030043
+    field public static final int TextAppearance_Material = 16974317; // 0x10301ed
+    field public static final int TextAppearance_Material_Body1 = 16974320; // 0x10301f0
+    field public static final int TextAppearance_Material_Body2 = 16974319; // 0x10301ef
+    field public static final int TextAppearance_Material_Button = 16974318; // 0x10301ee
+    field public static final int TextAppearance_Material_Caption = 16974321; // 0x10301f1
+    field public static final int TextAppearance_Material_DialogWindowTitle = 16974322; // 0x10301f2
+    field public static final int TextAppearance_Material_Display1 = 16974326; // 0x10301f6
+    field public static final int TextAppearance_Material_Display2 = 16974325; // 0x10301f5
+    field public static final int TextAppearance_Material_Display3 = 16974324; // 0x10301f4
+    field public static final int TextAppearance_Material_Display4 = 16974323; // 0x10301f3
+    field public static final int TextAppearance_Material_Headline = 16974327; // 0x10301f7
+    field public static final int TextAppearance_Material_Inverse = 16974328; // 0x10301f8
+    field public static final int TextAppearance_Material_Large = 16974329; // 0x10301f9
+    field public static final int TextAppearance_Material_Large_Inverse = 16974330; // 0x10301fa
+    field public static final int TextAppearance_Material_Medium = 16974331; // 0x10301fb
+    field public static final int TextAppearance_Material_Medium_Inverse = 16974332; // 0x10301fc
+    field public static final int TextAppearance_Material_Menu = 16974333; // 0x10301fd
+    field public static final int TextAppearance_Material_Notification = 16974334; // 0x10301fe
+    field public static final int TextAppearance_Material_Notification_Emphasis = 16974335; // 0x10301ff
+    field public static final int TextAppearance_Material_Notification_Info = 16974336; // 0x1030200
+    field public static final int TextAppearance_Material_Notification_Line2 = 16974337; // 0x1030201
+    field public static final int TextAppearance_Material_Notification_Time = 16974338; // 0x1030202
+    field public static final int TextAppearance_Material_Notification_Title = 16974339; // 0x1030203
+    field public static final int TextAppearance_Material_SearchResult_Subtitle = 16974340; // 0x1030204
+    field public static final int TextAppearance_Material_SearchResult_Title = 16974341; // 0x1030205
+    field public static final int TextAppearance_Material_Small = 16974342; // 0x1030206
+    field public static final int TextAppearance_Material_Small_Inverse = 16974343; // 0x1030207
+    field public static final int TextAppearance_Material_Subhead = 16974344; // 0x1030208
+    field public static final int TextAppearance_Material_Title = 16974345; // 0x1030209
+    field public static final int TextAppearance_Material_Widget = 16974347; // 0x103020b
+    field public static final int TextAppearance_Material_Widget_ActionBar_Menu = 16974348; // 0x103020c
+    field public static final int TextAppearance_Material_Widget_ActionBar_Subtitle = 16974349; // 0x103020d
+    field public static final int TextAppearance_Material_Widget_ActionBar_Subtitle_Inverse = 16974350; // 0x103020e
+    field public static final int TextAppearance_Material_Widget_ActionBar_Title = 16974351; // 0x103020f
+    field public static final int TextAppearance_Material_Widget_ActionBar_Title_Inverse = 16974352; // 0x1030210
+    field public static final int TextAppearance_Material_Widget_ActionMode_Subtitle = 16974353; // 0x1030211
+    field public static final int TextAppearance_Material_Widget_ActionMode_Subtitle_Inverse = 16974354; // 0x1030212
+    field public static final int TextAppearance_Material_Widget_ActionMode_Title = 16974355; // 0x1030213
+    field public static final int TextAppearance_Material_Widget_ActionMode_Title_Inverse = 16974356; // 0x1030214
+    field public static final int TextAppearance_Material_Widget_Button = 16974357; // 0x1030215
+    field public static final int TextAppearance_Material_Widget_Button_Borderless_Colored = 16974559; // 0x10302df
+    field public static final int TextAppearance_Material_Widget_Button_Colored = 16974558; // 0x10302de
+    field public static final int TextAppearance_Material_Widget_Button_Inverse = 16974548; // 0x10302d4
+    field public static final int TextAppearance_Material_Widget_DropDownHint = 16974358; // 0x1030216
+    field public static final int TextAppearance_Material_Widget_DropDownItem = 16974359; // 0x1030217
+    field public static final int TextAppearance_Material_Widget_EditText = 16974360; // 0x1030218
+    field public static final int TextAppearance_Material_Widget_IconMenu_Item = 16974361; // 0x1030219
+    field public static final int TextAppearance_Material_Widget_PopupMenu = 16974362; // 0x103021a
+    field public static final int TextAppearance_Material_Widget_PopupMenu_Large = 16974363; // 0x103021b
+    field public static final int TextAppearance_Material_Widget_PopupMenu_Small = 16974364; // 0x103021c
+    field public static final int TextAppearance_Material_Widget_TabWidget = 16974365; // 0x103021d
+    field public static final int TextAppearance_Material_Widget_TextView = 16974366; // 0x103021e
+    field public static final int TextAppearance_Material_Widget_TextView_PopupMenu = 16974367; // 0x103021f
+    field public static final int TextAppearance_Material_Widget_TextView_SpinnerItem = 16974368; // 0x1030220
+    field public static final int TextAppearance_Material_Widget_Toolbar_Subtitle = 16974369; // 0x1030221
+    field public static final int TextAppearance_Material_Widget_Toolbar_Title = 16974370; // 0x1030222
+    field public static final int TextAppearance_Material_WindowTitle = 16974346; // 0x103020a
+    field public static final int TextAppearance_Medium = 16973892; // 0x1030044
+    field public static final int TextAppearance_Medium_Inverse = 16973893; // 0x1030045
+    field public static final int TextAppearance_Small = 16973894; // 0x1030046
+    field public static final int TextAppearance_Small_Inverse = 16973895; // 0x1030047
+    field public static final int TextAppearance_StatusBar_EventContent = 16973927; // 0x1030067
+    field public static final int TextAppearance_StatusBar_EventContent_Title = 16973928; // 0x1030068
+    field public static final int TextAppearance_StatusBar_Icon = 16973926; // 0x1030066
+    field public static final int TextAppearance_StatusBar_Title = 16973925; // 0x1030065
+    field public static final int TextAppearance_SuggestionHighlight = 16974104; // 0x1030118
+    field public static final int TextAppearance_Theme = 16973888; // 0x1030040
+    field public static final int TextAppearance_Theme_Dialog = 16973896; // 0x1030048
+    field public static final int TextAppearance_Widget = 16973897; // 0x1030049
+    field public static final int TextAppearance_Widget_Button = 16973898; // 0x103004a
+    field public static final int TextAppearance_Widget_DropDownHint = 16973904; // 0x1030050
+    field public static final int TextAppearance_Widget_DropDownItem = 16973905; // 0x1030051
+    field public static final int TextAppearance_Widget_EditText = 16973900; // 0x103004c
+    field public static final int TextAppearance_Widget_IconMenu_Item = 16973899; // 0x103004b
+    field public static final int TextAppearance_Widget_PopupMenu_Large = 16973952; // 0x1030080
+    field public static final int TextAppearance_Widget_PopupMenu_Small = 16973953; // 0x1030081
+    field public static final int TextAppearance_Widget_TabWidget = 16973901; // 0x103004d
+    field public static final int TextAppearance_Widget_TextView = 16973902; // 0x103004e
+    field public static final int TextAppearance_Widget_TextView_PopupMenu = 16973903; // 0x103004f
+    field public static final int TextAppearance_Widget_TextView_SpinnerItem = 16973906; // 0x1030052
+    field public static final int TextAppearance_WindowTitle = 16973907; // 0x1030053
+    field public static final int Theme = 16973829; // 0x1030005
+    field public static final int ThemeOverlay = 16974407; // 0x1030247
+    field public static final int ThemeOverlay_DeviceDefault_Accent_DayNight = 16974564; // 0x10302e4
+    field public static final int ThemeOverlay_Material = 16974408; // 0x1030248
+    field public static final int ThemeOverlay_Material_ActionBar = 16974409; // 0x1030249
+    field public static final int ThemeOverlay_Material_Dark = 16974411; // 0x103024b
+    field public static final int ThemeOverlay_Material_Dark_ActionBar = 16974412; // 0x103024c
+    field public static final int ThemeOverlay_Material_Dialog = 16974550; // 0x10302d6
+    field public static final int ThemeOverlay_Material_Dialog_Alert = 16974551; // 0x10302d7
+    field public static final int ThemeOverlay_Material_Light = 16974410; // 0x103024a
+    field public static final int Theme_Black = 16973832; // 0x1030008
+    field public static final int Theme_Black_NoTitleBar = 16973833; // 0x1030009
+    field public static final int Theme_Black_NoTitleBar_Fullscreen = 16973834; // 0x103000a
+    field public static final int Theme_DeviceDefault = 16974120; // 0x1030128
+    field public static final int Theme_DeviceDefault_DayNight = 16974563; // 0x10302e3
+    field public static final int Theme_DeviceDefault_Dialog = 16974126; // 0x103012e
+    field public static final int Theme_DeviceDefault_DialogWhenLarge = 16974134; // 0x1030136
+    field public static final int Theme_DeviceDefault_DialogWhenLarge_NoActionBar = 16974135; // 0x1030137
+    field public static final int Theme_DeviceDefault_Dialog_Alert = 16974545; // 0x10302d1
+    field public static final int Theme_DeviceDefault_Dialog_MinWidth = 16974127; // 0x103012f
+    field public static final int Theme_DeviceDefault_Dialog_NoActionBar = 16974128; // 0x1030130
+    field public static final int Theme_DeviceDefault_Dialog_NoActionBar_MinWidth = 16974129; // 0x1030131
+    field public static final int Theme_DeviceDefault_InputMethod = 16974142; // 0x103013e
+    field public static final int Theme_DeviceDefault_Light = 16974123; // 0x103012b
+    field public static final int Theme_DeviceDefault_Light_DarkActionBar = 16974143; // 0x103013f
+    field public static final int Theme_DeviceDefault_Light_Dialog = 16974130; // 0x1030132
+    field public static final int Theme_DeviceDefault_Light_DialogWhenLarge = 16974136; // 0x1030138
+    field public static final int Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar = 16974137; // 0x1030139
+    field public static final int Theme_DeviceDefault_Light_Dialog_Alert = 16974546; // 0x10302d2
+    field public static final int Theme_DeviceDefault_Light_Dialog_MinWidth = 16974131; // 0x1030133
+    field public static final int Theme_DeviceDefault_Light_Dialog_NoActionBar = 16974132; // 0x1030134
+    field public static final int Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth = 16974133; // 0x1030135
+    field public static final int Theme_DeviceDefault_Light_NoActionBar = 16974124; // 0x103012c
+    field public static final int Theme_DeviceDefault_Light_NoActionBar_Fullscreen = 16974125; // 0x103012d
+    field public static final int Theme_DeviceDefault_Light_NoActionBar_Overscan = 16974304; // 0x10301e0
+    field public static final int Theme_DeviceDefault_Light_NoActionBar_TranslucentDecor = 16974308; // 0x10301e4
+    field public static final int Theme_DeviceDefault_Light_Panel = 16974139; // 0x103013b
+    field public static final int Theme_DeviceDefault_NoActionBar = 16974121; // 0x1030129
+    field public static final int Theme_DeviceDefault_NoActionBar_Fullscreen = 16974122; // 0x103012a
+    field public static final int Theme_DeviceDefault_NoActionBar_Overscan = 16974303; // 0x10301df
+    field public static final int Theme_DeviceDefault_NoActionBar_TranslucentDecor = 16974307; // 0x10301e3
+    field public static final int Theme_DeviceDefault_Panel = 16974138; // 0x103013a
+    field public static final int Theme_DeviceDefault_Settings = 16974371; // 0x1030223
+    field public static final int Theme_DeviceDefault_Wallpaper = 16974140; // 0x103013c
+    field public static final int Theme_DeviceDefault_Wallpaper_NoTitleBar = 16974141; // 0x103013d
+    field public static final int Theme_Dialog = 16973835; // 0x103000b
+    field @Deprecated public static final int Theme_Holo = 16973931; // 0x103006b
+    field @Deprecated public static final int Theme_Holo_Dialog = 16973935; // 0x103006f
+    field @Deprecated public static final int Theme_Holo_DialogWhenLarge = 16973943; // 0x1030077
+    field @Deprecated public static final int Theme_Holo_DialogWhenLarge_NoActionBar = 16973944; // 0x1030078
+    field @Deprecated public static final int Theme_Holo_Dialog_MinWidth = 16973936; // 0x1030070
+    field @Deprecated public static final int Theme_Holo_Dialog_NoActionBar = 16973937; // 0x1030071
+    field @Deprecated public static final int Theme_Holo_Dialog_NoActionBar_MinWidth = 16973938; // 0x1030072
+    field @Deprecated public static final int Theme_Holo_InputMethod = 16973951; // 0x103007f
+    field @Deprecated public static final int Theme_Holo_Light = 16973934; // 0x103006e
+    field @Deprecated public static final int Theme_Holo_Light_DarkActionBar = 16974105; // 0x1030119
+    field @Deprecated public static final int Theme_Holo_Light_Dialog = 16973939; // 0x1030073
+    field @Deprecated public static final int Theme_Holo_Light_DialogWhenLarge = 16973945; // 0x1030079
+    field @Deprecated public static final int Theme_Holo_Light_DialogWhenLarge_NoActionBar = 16973946; // 0x103007a
+    field @Deprecated public static final int Theme_Holo_Light_Dialog_MinWidth = 16973940; // 0x1030074
+    field @Deprecated public static final int Theme_Holo_Light_Dialog_NoActionBar = 16973941; // 0x1030075
+    field @Deprecated public static final int Theme_Holo_Light_Dialog_NoActionBar_MinWidth = 16973942; // 0x1030076
+    field @Deprecated public static final int Theme_Holo_Light_NoActionBar = 16974064; // 0x10300f0
+    field @Deprecated public static final int Theme_Holo_Light_NoActionBar_Fullscreen = 16974065; // 0x10300f1
+    field @Deprecated public static final int Theme_Holo_Light_NoActionBar_Overscan = 16974302; // 0x10301de
+    field @Deprecated public static final int Theme_Holo_Light_NoActionBar_TranslucentDecor = 16974306; // 0x10301e2
+    field @Deprecated public static final int Theme_Holo_Light_Panel = 16973948; // 0x103007c
+    field @Deprecated public static final int Theme_Holo_NoActionBar = 16973932; // 0x103006c
+    field @Deprecated public static final int Theme_Holo_NoActionBar_Fullscreen = 16973933; // 0x103006d
+    field @Deprecated public static final int Theme_Holo_NoActionBar_Overscan = 16974301; // 0x10301dd
+    field @Deprecated public static final int Theme_Holo_NoActionBar_TranslucentDecor = 16974305; // 0x10301e1
+    field @Deprecated public static final int Theme_Holo_Panel = 16973947; // 0x103007b
+    field @Deprecated public static final int Theme_Holo_Wallpaper = 16973949; // 0x103007d
+    field @Deprecated public static final int Theme_Holo_Wallpaper_NoTitleBar = 16973950; // 0x103007e
+    field public static final int Theme_InputMethod = 16973908; // 0x1030054
+    field public static final int Theme_Light = 16973836; // 0x103000c
+    field public static final int Theme_Light_NoTitleBar = 16973837; // 0x103000d
+    field public static final int Theme_Light_NoTitleBar_Fullscreen = 16973838; // 0x103000e
+    field public static final int Theme_Light_Panel = 16973914; // 0x103005a
+    field public static final int Theme_Light_WallpaperSettings = 16973922; // 0x1030062
+    field public static final int Theme_Material = 16974372; // 0x1030224
+    field public static final int Theme_Material_Dialog = 16974373; // 0x1030225
+    field public static final int Theme_Material_DialogWhenLarge = 16974379; // 0x103022b
+    field public static final int Theme_Material_DialogWhenLarge_NoActionBar = 16974380; // 0x103022c
+    field public static final int Theme_Material_Dialog_Alert = 16974374; // 0x1030226
+    field public static final int Theme_Material_Dialog_MinWidth = 16974375; // 0x1030227
+    field public static final int Theme_Material_Dialog_NoActionBar = 16974376; // 0x1030228
+    field public static final int Theme_Material_Dialog_NoActionBar_MinWidth = 16974377; // 0x1030229
+    field public static final int Theme_Material_Dialog_Presentation = 16974378; // 0x103022a
+    field public static final int Theme_Material_InputMethod = 16974381; // 0x103022d
+    field public static final int Theme_Material_Light = 16974391; // 0x1030237
+    field public static final int Theme_Material_Light_DarkActionBar = 16974392; // 0x1030238
+    field public static final int Theme_Material_Light_Dialog = 16974393; // 0x1030239
+    field public static final int Theme_Material_Light_DialogWhenLarge = 16974399; // 0x103023f
+    field public static final int Theme_Material_Light_DialogWhenLarge_DarkActionBar = 16974552; // 0x10302d8
+    field public static final int Theme_Material_Light_DialogWhenLarge_NoActionBar = 16974400; // 0x1030240
+    field public static final int Theme_Material_Light_Dialog_Alert = 16974394; // 0x103023a
+    field public static final int Theme_Material_Light_Dialog_MinWidth = 16974395; // 0x103023b
+    field public static final int Theme_Material_Light_Dialog_NoActionBar = 16974396; // 0x103023c
+    field public static final int Theme_Material_Light_Dialog_NoActionBar_MinWidth = 16974397; // 0x103023d
+    field public static final int Theme_Material_Light_Dialog_Presentation = 16974398; // 0x103023e
+    field public static final int Theme_Material_Light_LightStatusBar = 16974549; // 0x10302d5
+    field public static final int Theme_Material_Light_NoActionBar = 16974401; // 0x1030241
+    field public static final int Theme_Material_Light_NoActionBar_Fullscreen = 16974402; // 0x1030242
+    field @Deprecated public static final int Theme_Material_Light_NoActionBar_Overscan = 16974403; // 0x1030243
+    field public static final int Theme_Material_Light_NoActionBar_TranslucentDecor = 16974404; // 0x1030244
+    field public static final int Theme_Material_Light_Panel = 16974405; // 0x1030245
+    field public static final int Theme_Material_Light_Voice = 16974406; // 0x1030246
+    field public static final int Theme_Material_NoActionBar = 16974382; // 0x103022e
+    field public static final int Theme_Material_NoActionBar_Fullscreen = 16974383; // 0x103022f
+    field @Deprecated public static final int Theme_Material_NoActionBar_Overscan = 16974384; // 0x1030230
+    field public static final int Theme_Material_NoActionBar_TranslucentDecor = 16974385; // 0x1030231
+    field public static final int Theme_Material_Panel = 16974386; // 0x1030232
+    field public static final int Theme_Material_Settings = 16974387; // 0x1030233
+    field public static final int Theme_Material_Voice = 16974388; // 0x1030234
+    field public static final int Theme_Material_Wallpaper = 16974389; // 0x1030235
+    field public static final int Theme_Material_Wallpaper_NoTitleBar = 16974390; // 0x1030236
+    field public static final int Theme_NoDisplay = 16973909; // 0x1030055
+    field public static final int Theme_NoTitleBar = 16973830; // 0x1030006
+    field public static final int Theme_NoTitleBar_Fullscreen = 16973831; // 0x1030007
+    field public static final int Theme_NoTitleBar_OverlayActionModes = 16973930; // 0x103006a
+    field public static final int Theme_Panel = 16973913; // 0x1030059
+    field public static final int Theme_Translucent = 16973839; // 0x103000f
+    field public static final int Theme_Translucent_NoTitleBar = 16973840; // 0x1030010
+    field public static final int Theme_Translucent_NoTitleBar_Fullscreen = 16973841; // 0x1030011
+    field public static final int Theme_Wallpaper = 16973918; // 0x103005e
+    field public static final int Theme_WallpaperSettings = 16973921; // 0x1030061
+    field public static final int Theme_Wallpaper_NoTitleBar = 16973919; // 0x103005f
+    field public static final int Theme_Wallpaper_NoTitleBar_Fullscreen = 16973920; // 0x1030060
+    field public static final int Theme_WithActionBar = 16973929; // 0x1030069
+    field public static final int Widget = 16973842; // 0x1030012
+    field public static final int Widget_AbsListView = 16973843; // 0x1030013
+    field public static final int Widget_ActionBar = 16973954; // 0x1030082
+    field public static final int Widget_ActionBar_TabBar = 16974068; // 0x10300f4
+    field public static final int Widget_ActionBar_TabText = 16974067; // 0x10300f3
+    field public static final int Widget_ActionBar_TabView = 16974066; // 0x10300f2
+    field public static final int Widget_ActionButton = 16973956; // 0x1030084
+    field public static final int Widget_ActionButton_CloseMode = 16973960; // 0x1030088
+    field public static final int Widget_ActionButton_Overflow = 16973959; // 0x1030087
+    field public static final int Widget_AutoCompleteTextView = 16973863; // 0x1030027
+    field public static final int Widget_Button = 16973844; // 0x1030014
+    field public static final int Widget_Button_Inset = 16973845; // 0x1030015
+    field public static final int Widget_Button_Small = 16973846; // 0x1030016
+    field public static final int Widget_Button_Toggle = 16973847; // 0x1030017
+    field public static final int Widget_CalendarView = 16974059; // 0x10300eb
+    field public static final int Widget_CompoundButton = 16973848; // 0x1030018
+    field public static final int Widget_CompoundButton_CheckBox = 16973849; // 0x1030019
+    field public static final int Widget_CompoundButton_RadioButton = 16973850; // 0x103001a
+    field public static final int Widget_CompoundButton_Star = 16973851; // 0x103001b
+    field public static final int Widget_DatePicker = 16974062; // 0x10300ee
+    field public static final int Widget_DeviceDefault = 16974144; // 0x1030140
+    field public static final int Widget_DeviceDefault_ActionBar = 16974187; // 0x103016b
+    field public static final int Widget_DeviceDefault_ActionBar_Solid = 16974195; // 0x1030173
+    field public static final int Widget_DeviceDefault_ActionBar_TabBar = 16974194; // 0x1030172
+    field public static final int Widget_DeviceDefault_ActionBar_TabText = 16974193; // 0x1030171
+    field public static final int Widget_DeviceDefault_ActionBar_TabView = 16974192; // 0x1030170
+    field public static final int Widget_DeviceDefault_ActionButton = 16974182; // 0x1030166
+    field public static final int Widget_DeviceDefault_ActionButton_CloseMode = 16974186; // 0x103016a
+    field public static final int Widget_DeviceDefault_ActionButton_Overflow = 16974183; // 0x1030167
+    field public static final int Widget_DeviceDefault_ActionButton_TextButton = 16974184; // 0x1030168
+    field public static final int Widget_DeviceDefault_ActionMode = 16974185; // 0x1030169
+    field public static final int Widget_DeviceDefault_AutoCompleteTextView = 16974151; // 0x1030147
+    field public static final int Widget_DeviceDefault_Button = 16974145; // 0x1030141
+    field public static final int Widget_DeviceDefault_Button_Borderless = 16974188; // 0x103016c
+    field public static final int Widget_DeviceDefault_Button_Borderless_Colored = 16974561; // 0x10302e1
+    field public static final int Widget_DeviceDefault_Button_Borderless_Small = 16974149; // 0x1030145
+    field public static final int Widget_DeviceDefault_Button_Colored = 16974560; // 0x10302e0
+    field public static final int Widget_DeviceDefault_Button_Inset = 16974147; // 0x1030143
+    field public static final int Widget_DeviceDefault_Button_Small = 16974146; // 0x1030142
+    field public static final int Widget_DeviceDefault_Button_Toggle = 16974148; // 0x1030144
+    field public static final int Widget_DeviceDefault_CalendarView = 16974190; // 0x103016e
+    field public static final int Widget_DeviceDefault_CheckedTextView = 16974299; // 0x10301db
+    field public static final int Widget_DeviceDefault_CompoundButton_CheckBox = 16974152; // 0x1030148
+    field public static final int Widget_DeviceDefault_CompoundButton_RadioButton = 16974169; // 0x1030159
+    field public static final int Widget_DeviceDefault_CompoundButton_Star = 16974173; // 0x103015d
+    field public static final int Widget_DeviceDefault_DatePicker = 16974191; // 0x103016f
+    field public static final int Widget_DeviceDefault_DropDownItem = 16974177; // 0x1030161
+    field public static final int Widget_DeviceDefault_DropDownItem_Spinner = 16974178; // 0x1030162
+    field public static final int Widget_DeviceDefault_EditText = 16974154; // 0x103014a
+    field public static final int Widget_DeviceDefault_ExpandableListView = 16974155; // 0x103014b
+    field public static final int Widget_DeviceDefault_FastScroll = 16974313; // 0x10301e9
+    field public static final int Widget_DeviceDefault_GridView = 16974156; // 0x103014c
+    field public static final int Widget_DeviceDefault_HorizontalScrollView = 16974171; // 0x103015b
+    field public static final int Widget_DeviceDefault_ImageButton = 16974157; // 0x103014d
+    field public static final int Widget_DeviceDefault_Light = 16974196; // 0x1030174
+    field public static final int Widget_DeviceDefault_Light_ActionBar = 16974243; // 0x10301a3
+    field public static final int Widget_DeviceDefault_Light_ActionBar_Solid = 16974247; // 0x10301a7
+    field @Deprecated public static final int Widget_DeviceDefault_Light_ActionBar_Solid_Inverse = 16974248; // 0x10301a8
+    field public static final int Widget_DeviceDefault_Light_ActionBar_TabBar = 16974246; // 0x10301a6
+    field @Deprecated public static final int Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse = 16974249; // 0x10301a9
+    field public static final int Widget_DeviceDefault_Light_ActionBar_TabText = 16974245; // 0x10301a5
+    field @Deprecated public static final int Widget_DeviceDefault_Light_ActionBar_TabText_Inverse = 16974251; // 0x10301ab
+    field public static final int Widget_DeviceDefault_Light_ActionBar_TabView = 16974244; // 0x10301a4
+    field @Deprecated public static final int Widget_DeviceDefault_Light_ActionBar_TabView_Inverse = 16974250; // 0x10301aa
+    field public static final int Widget_DeviceDefault_Light_ActionButton = 16974239; // 0x103019f
+    field public static final int Widget_DeviceDefault_Light_ActionButton_CloseMode = 16974242; // 0x10301a2
+    field public static final int Widget_DeviceDefault_Light_ActionButton_Overflow = 16974240; // 0x10301a0
+    field public static final int Widget_DeviceDefault_Light_ActionMode = 16974241; // 0x10301a1
+    field @Deprecated public static final int Widget_DeviceDefault_Light_ActionMode_Inverse = 16974252; // 0x10301ac
+    field public static final int Widget_DeviceDefault_Light_AutoCompleteTextView = 16974203; // 0x103017b
+    field public static final int Widget_DeviceDefault_Light_Button = 16974197; // 0x1030175
+    field public static final int Widget_DeviceDefault_Light_Button_Borderless_Small = 16974201; // 0x1030179
+    field public static final int Widget_DeviceDefault_Light_Button_Inset = 16974199; // 0x1030177
+    field public static final int Widget_DeviceDefault_Light_Button_Small = 16974198; // 0x1030176
+    field public static final int Widget_DeviceDefault_Light_Button_Toggle = 16974200; // 0x1030178
+    field public static final int Widget_DeviceDefault_Light_CalendarView = 16974238; // 0x103019e
+    field public static final int Widget_DeviceDefault_Light_CheckedTextView = 16974300; // 0x10301dc
+    field public static final int Widget_DeviceDefault_Light_CompoundButton_CheckBox = 16974204; // 0x103017c
+    field public static final int Widget_DeviceDefault_Light_CompoundButton_RadioButton = 16974224; // 0x1030190
+    field public static final int Widget_DeviceDefault_Light_CompoundButton_Star = 16974228; // 0x1030194
+    field public static final int Widget_DeviceDefault_Light_DropDownItem = 16974232; // 0x1030198
+    field public static final int Widget_DeviceDefault_Light_DropDownItem_Spinner = 16974233; // 0x1030199
+    field public static final int Widget_DeviceDefault_Light_EditText = 16974206; // 0x103017e
+    field public static final int Widget_DeviceDefault_Light_ExpandableListView = 16974207; // 0x103017f
+    field public static final int Widget_DeviceDefault_Light_FastScroll = 16974315; // 0x10301eb
+    field public static final int Widget_DeviceDefault_Light_GridView = 16974208; // 0x1030180
+    field public static final int Widget_DeviceDefault_Light_HorizontalScrollView = 16974226; // 0x1030192
+    field public static final int Widget_DeviceDefault_Light_ImageButton = 16974209; // 0x1030181
+    field public static final int Widget_DeviceDefault_Light_ListPopupWindow = 16974235; // 0x103019b
+    field public static final int Widget_DeviceDefault_Light_ListView = 16974210; // 0x1030182
+    field public static final int Widget_DeviceDefault_Light_ListView_DropDown = 16974205; // 0x103017d
+    field public static final int Widget_DeviceDefault_Light_MediaRouteButton = 16974296; // 0x10301d8
+    field public static final int Widget_DeviceDefault_Light_PopupMenu = 16974236; // 0x103019c
+    field public static final int Widget_DeviceDefault_Light_PopupWindow = 16974211; // 0x1030183
+    field public static final int Widget_DeviceDefault_Light_ProgressBar = 16974212; // 0x1030184
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Horizontal = 16974213; // 0x1030185
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Inverse = 16974217; // 0x1030189
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Large = 16974216; // 0x1030188
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Large_Inverse = 16974219; // 0x103018b
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Small = 16974214; // 0x1030186
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Small_Inverse = 16974218; // 0x103018a
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Small_Title = 16974215; // 0x1030187
+    field public static final int Widget_DeviceDefault_Light_RatingBar = 16974221; // 0x103018d
+    field public static final int Widget_DeviceDefault_Light_RatingBar_Indicator = 16974222; // 0x103018e
+    field public static final int Widget_DeviceDefault_Light_RatingBar_Small = 16974223; // 0x103018f
+    field public static final int Widget_DeviceDefault_Light_ScrollView = 16974225; // 0x1030191
+    field public static final int Widget_DeviceDefault_Light_SeekBar = 16974220; // 0x103018c
+    field public static final int Widget_DeviceDefault_Light_Spinner = 16974227; // 0x1030193
+    field public static final int Widget_DeviceDefault_Light_StackView = 16974316; // 0x10301ec
+    field public static final int Widget_DeviceDefault_Light_Tab = 16974237; // 0x103019d
+    field public static final int Widget_DeviceDefault_Light_TabWidget = 16974229; // 0x1030195
+    field public static final int Widget_DeviceDefault_Light_TextView = 16974202; // 0x103017a
+    field public static final int Widget_DeviceDefault_Light_TextView_SpinnerItem = 16974234; // 0x103019a
+    field public static final int Widget_DeviceDefault_Light_WebTextView = 16974230; // 0x1030196
+    field public static final int Widget_DeviceDefault_Light_WebView = 16974231; // 0x1030197
+    field public static final int Widget_DeviceDefault_ListPopupWindow = 16974180; // 0x1030164
+    field public static final int Widget_DeviceDefault_ListView = 16974158; // 0x103014e
+    field public static final int Widget_DeviceDefault_ListView_DropDown = 16974153; // 0x1030149
+    field public static final int Widget_DeviceDefault_MediaRouteButton = 16974295; // 0x10301d7
+    field public static final int Widget_DeviceDefault_PopupMenu = 16974181; // 0x1030165
+    field public static final int Widget_DeviceDefault_PopupWindow = 16974159; // 0x103014f
+    field public static final int Widget_DeviceDefault_ProgressBar = 16974160; // 0x1030150
+    field public static final int Widget_DeviceDefault_ProgressBar_Horizontal = 16974161; // 0x1030151
+    field public static final int Widget_DeviceDefault_ProgressBar_Large = 16974164; // 0x1030154
+    field public static final int Widget_DeviceDefault_ProgressBar_Small = 16974162; // 0x1030152
+    field public static final int Widget_DeviceDefault_ProgressBar_Small_Title = 16974163; // 0x1030153
+    field public static final int Widget_DeviceDefault_RatingBar = 16974166; // 0x1030156
+    field public static final int Widget_DeviceDefault_RatingBar_Indicator = 16974167; // 0x1030157
+    field public static final int Widget_DeviceDefault_RatingBar_Small = 16974168; // 0x1030158
+    field public static final int Widget_DeviceDefault_ScrollView = 16974170; // 0x103015a
+    field public static final int Widget_DeviceDefault_SeekBar = 16974165; // 0x1030155
+    field public static final int Widget_DeviceDefault_Spinner = 16974172; // 0x103015c
+    field public static final int Widget_DeviceDefault_StackView = 16974314; // 0x10301ea
+    field public static final int Widget_DeviceDefault_Tab = 16974189; // 0x103016d
+    field public static final int Widget_DeviceDefault_TabWidget = 16974174; // 0x103015e
+    field public static final int Widget_DeviceDefault_TextView = 16974150; // 0x1030146
+    field public static final int Widget_DeviceDefault_TextView_SpinnerItem = 16974179; // 0x1030163
+    field public static final int Widget_DeviceDefault_WebTextView = 16974175; // 0x103015f
+    field public static final int Widget_DeviceDefault_WebView = 16974176; // 0x1030160
+    field public static final int Widget_DropDownItem = 16973867; // 0x103002b
+    field public static final int Widget_DropDownItem_Spinner = 16973868; // 0x103002c
+    field public static final int Widget_EditText = 16973859; // 0x1030023
+    field public static final int Widget_ExpandableListView = 16973860; // 0x1030024
+    field public static final int Widget_FastScroll = 16974309; // 0x10301e5
+    field public static final int Widget_FragmentBreadCrumbs = 16973961; // 0x1030089
+    field public static final int Widget_Gallery = 16973877; // 0x1030035
+    field public static final int Widget_GridView = 16973874; // 0x1030032
+    field public static final int Widget_Holo = 16973962; // 0x103008a
+    field public static final int Widget_Holo_ActionBar = 16974004; // 0x10300b4
+    field public static final int Widget_Holo_ActionBar_Solid = 16974113; // 0x1030121
+    field public static final int Widget_Holo_ActionBar_TabBar = 16974071; // 0x10300f7
+    field public static final int Widget_Holo_ActionBar_TabText = 16974070; // 0x10300f6
+    field public static final int Widget_Holo_ActionBar_TabView = 16974069; // 0x10300f5
+    field public static final int Widget_Holo_ActionButton = 16973999; // 0x10300af
+    field public static final int Widget_Holo_ActionButton_CloseMode = 16974003; // 0x10300b3
+    field public static final int Widget_Holo_ActionButton_Overflow = 16974000; // 0x10300b0
+    field public static final int Widget_Holo_ActionButton_TextButton = 16974001; // 0x10300b1
+    field public static final int Widget_Holo_ActionMode = 16974002; // 0x10300b2
+    field public static final int Widget_Holo_AutoCompleteTextView = 16973968; // 0x1030090
+    field public static final int Widget_Holo_Button = 16973963; // 0x103008b
+    field public static final int Widget_Holo_Button_Borderless = 16974050; // 0x10300e2
+    field public static final int Widget_Holo_Button_Borderless_Small = 16974106; // 0x103011a
+    field public static final int Widget_Holo_Button_Inset = 16973965; // 0x103008d
+    field public static final int Widget_Holo_Button_Small = 16973964; // 0x103008c
+    field public static final int Widget_Holo_Button_Toggle = 16973966; // 0x103008e
+    field public static final int Widget_Holo_CalendarView = 16974060; // 0x10300ec
+    field public static final int Widget_Holo_CheckedTextView = 16974297; // 0x10301d9
+    field public static final int Widget_Holo_CompoundButton_CheckBox = 16973969; // 0x1030091
+    field public static final int Widget_Holo_CompoundButton_RadioButton = 16973986; // 0x10300a2
+    field public static final int Widget_Holo_CompoundButton_Star = 16973990; // 0x10300a6
+    field public static final int Widget_Holo_DatePicker = 16974063; // 0x10300ef
+    field public static final int Widget_Holo_DropDownItem = 16973994; // 0x10300aa
+    field public static final int Widget_Holo_DropDownItem_Spinner = 16973995; // 0x10300ab
+    field public static final int Widget_Holo_EditText = 16973971; // 0x1030093
+    field public static final int Widget_Holo_ExpandableListView = 16973972; // 0x1030094
+    field public static final int Widget_Holo_GridView = 16973973; // 0x1030095
+    field public static final int Widget_Holo_HorizontalScrollView = 16973988; // 0x10300a4
+    field public static final int Widget_Holo_ImageButton = 16973974; // 0x1030096
+    field public static final int Widget_Holo_Light = 16974005; // 0x10300b5
+    field public static final int Widget_Holo_Light_ActionBar = 16974049; // 0x10300e1
+    field public static final int Widget_Holo_Light_ActionBar_Solid = 16974114; // 0x1030122
+    field public static final int Widget_Holo_Light_ActionBar_Solid_Inverse = 16974115; // 0x1030123
+    field public static final int Widget_Holo_Light_ActionBar_TabBar = 16974074; // 0x10300fa
+    field public static final int Widget_Holo_Light_ActionBar_TabBar_Inverse = 16974116; // 0x1030124
+    field public static final int Widget_Holo_Light_ActionBar_TabText = 16974073; // 0x10300f9
+    field public static final int Widget_Holo_Light_ActionBar_TabText_Inverse = 16974118; // 0x1030126
+    field public static final int Widget_Holo_Light_ActionBar_TabView = 16974072; // 0x10300f8
+    field public static final int Widget_Holo_Light_ActionBar_TabView_Inverse = 16974117; // 0x1030125
+    field public static final int Widget_Holo_Light_ActionButton = 16974045; // 0x10300dd
+    field public static final int Widget_Holo_Light_ActionButton_CloseMode = 16974048; // 0x10300e0
+    field public static final int Widget_Holo_Light_ActionButton_Overflow = 16974046; // 0x10300de
+    field public static final int Widget_Holo_Light_ActionMode = 16974047; // 0x10300df
+    field public static final int Widget_Holo_Light_ActionMode_Inverse = 16974119; // 0x1030127
+    field public static final int Widget_Holo_Light_AutoCompleteTextView = 16974011; // 0x10300bb
+    field public static final int Widget_Holo_Light_Button = 16974006; // 0x10300b6
+    field public static final int Widget_Holo_Light_Button_Borderless_Small = 16974107; // 0x103011b
+    field public static final int Widget_Holo_Light_Button_Inset = 16974008; // 0x10300b8
+    field public static final int Widget_Holo_Light_Button_Small = 16974007; // 0x10300b7
+    field public static final int Widget_Holo_Light_Button_Toggle = 16974009; // 0x10300b9
+    field public static final int Widget_Holo_Light_CalendarView = 16974061; // 0x10300ed
+    field public static final int Widget_Holo_Light_CheckedTextView = 16974298; // 0x10301da
+    field public static final int Widget_Holo_Light_CompoundButton_CheckBox = 16974012; // 0x10300bc
+    field public static final int Widget_Holo_Light_CompoundButton_RadioButton = 16974032; // 0x10300d0
+    field public static final int Widget_Holo_Light_CompoundButton_Star = 16974036; // 0x10300d4
+    field public static final int Widget_Holo_Light_DropDownItem = 16974040; // 0x10300d8
+    field public static final int Widget_Holo_Light_DropDownItem_Spinner = 16974041; // 0x10300d9
+    field public static final int Widget_Holo_Light_EditText = 16974014; // 0x10300be
+    field public static final int Widget_Holo_Light_ExpandableListView = 16974015; // 0x10300bf
+    field public static final int Widget_Holo_Light_GridView = 16974016; // 0x10300c0
+    field public static final int Widget_Holo_Light_HorizontalScrollView = 16974034; // 0x10300d2
+    field public static final int Widget_Holo_Light_ImageButton = 16974017; // 0x10300c1
+    field public static final int Widget_Holo_Light_ListPopupWindow = 16974043; // 0x10300db
+    field public static final int Widget_Holo_Light_ListView = 16974018; // 0x10300c2
+    field public static final int Widget_Holo_Light_ListView_DropDown = 16974013; // 0x10300bd
+    field public static final int Widget_Holo_Light_MediaRouteButton = 16974294; // 0x10301d6
+    field public static final int Widget_Holo_Light_PopupMenu = 16974044; // 0x10300dc
+    field public static final int Widget_Holo_Light_PopupWindow = 16974019; // 0x10300c3
+    field public static final int Widget_Holo_Light_ProgressBar = 16974020; // 0x10300c4
+    field public static final int Widget_Holo_Light_ProgressBar_Horizontal = 16974021; // 0x10300c5
+    field public static final int Widget_Holo_Light_ProgressBar_Inverse = 16974025; // 0x10300c9
+    field public static final int Widget_Holo_Light_ProgressBar_Large = 16974024; // 0x10300c8
+    field public static final int Widget_Holo_Light_ProgressBar_Large_Inverse = 16974027; // 0x10300cb
+    field public static final int Widget_Holo_Light_ProgressBar_Small = 16974022; // 0x10300c6
+    field public static final int Widget_Holo_Light_ProgressBar_Small_Inverse = 16974026; // 0x10300ca
+    field public static final int Widget_Holo_Light_ProgressBar_Small_Title = 16974023; // 0x10300c7
+    field public static final int Widget_Holo_Light_RatingBar = 16974029; // 0x10300cd
+    field public static final int Widget_Holo_Light_RatingBar_Indicator = 16974030; // 0x10300ce
+    field public static final int Widget_Holo_Light_RatingBar_Small = 16974031; // 0x10300cf
+    field public static final int Widget_Holo_Light_ScrollView = 16974033; // 0x10300d1
+    field public static final int Widget_Holo_Light_SeekBar = 16974028; // 0x10300cc
+    field public static final int Widget_Holo_Light_Spinner = 16974035; // 0x10300d3
+    field public static final int Widget_Holo_Light_Tab = 16974052; // 0x10300e4
+    field public static final int Widget_Holo_Light_TabWidget = 16974037; // 0x10300d5
+    field public static final int Widget_Holo_Light_TextView = 16974010; // 0x10300ba
+    field public static final int Widget_Holo_Light_TextView_SpinnerItem = 16974042; // 0x10300da
+    field public static final int Widget_Holo_Light_WebTextView = 16974038; // 0x10300d6
+    field public static final int Widget_Holo_Light_WebView = 16974039; // 0x10300d7
+    field public static final int Widget_Holo_ListPopupWindow = 16973997; // 0x10300ad
+    field public static final int Widget_Holo_ListView = 16973975; // 0x1030097
+    field public static final int Widget_Holo_ListView_DropDown = 16973970; // 0x1030092
+    field public static final int Widget_Holo_MediaRouteButton = 16974293; // 0x10301d5
+    field public static final int Widget_Holo_PopupMenu = 16973998; // 0x10300ae
+    field public static final int Widget_Holo_PopupWindow = 16973976; // 0x1030098
+    field public static final int Widget_Holo_ProgressBar = 16973977; // 0x1030099
+    field public static final int Widget_Holo_ProgressBar_Horizontal = 16973978; // 0x103009a
+    field public static final int Widget_Holo_ProgressBar_Large = 16973981; // 0x103009d
+    field public static final int Widget_Holo_ProgressBar_Small = 16973979; // 0x103009b
+    field public static final int Widget_Holo_ProgressBar_Small_Title = 16973980; // 0x103009c
+    field public static final int Widget_Holo_RatingBar = 16973983; // 0x103009f
+    field public static final int Widget_Holo_RatingBar_Indicator = 16973984; // 0x10300a0
+    field public static final int Widget_Holo_RatingBar_Small = 16973985; // 0x10300a1
+    field public static final int Widget_Holo_ScrollView = 16973987; // 0x10300a3
+    field public static final int Widget_Holo_SeekBar = 16973982; // 0x103009e
+    field public static final int Widget_Holo_Spinner = 16973989; // 0x10300a5
+    field public static final int Widget_Holo_Tab = 16974051; // 0x10300e3
+    field public static final int Widget_Holo_TabWidget = 16973991; // 0x10300a7
+    field public static final int Widget_Holo_TextView = 16973967; // 0x103008f
+    field public static final int Widget_Holo_TextView_SpinnerItem = 16973996; // 0x10300ac
+    field public static final int Widget_Holo_WebTextView = 16973992; // 0x10300a8
+    field public static final int Widget_Holo_WebView = 16973993; // 0x10300a9
+    field public static final int Widget_ImageButton = 16973862; // 0x1030026
+    field public static final int Widget_ImageWell = 16973861; // 0x1030025
+    field @Deprecated public static final int Widget_KeyboardView = 16973911; // 0x1030057
+    field public static final int Widget_ListPopupWindow = 16973957; // 0x1030085
+    field public static final int Widget_ListView = 16973870; // 0x103002e
+    field public static final int Widget_ListView_DropDown = 16973872; // 0x1030030
+    field public static final int Widget_ListView_Menu = 16973873; // 0x1030031
+    field public static final int Widget_ListView_White = 16973871; // 0x103002f
+    field public static final int Widget_Material = 16974413; // 0x103024d
+    field public static final int Widget_Material_ActionBar = 16974414; // 0x103024e
+    field public static final int Widget_Material_ActionBar_Solid = 16974415; // 0x103024f
+    field public static final int Widget_Material_ActionBar_TabBar = 16974416; // 0x1030250
+    field public static final int Widget_Material_ActionBar_TabText = 16974417; // 0x1030251
+    field public static final int Widget_Material_ActionBar_TabView = 16974418; // 0x1030252
+    field public static final int Widget_Material_ActionButton = 16974419; // 0x1030253
+    field public static final int Widget_Material_ActionButton_CloseMode = 16974420; // 0x1030254
+    field public static final int Widget_Material_ActionButton_Overflow = 16974421; // 0x1030255
+    field public static final int Widget_Material_ActionMode = 16974422; // 0x1030256
+    field public static final int Widget_Material_AutoCompleteTextView = 16974423; // 0x1030257
+    field public static final int Widget_Material_Button = 16974424; // 0x1030258
+    field public static final int Widget_Material_ButtonBar = 16974431; // 0x103025f
+    field public static final int Widget_Material_ButtonBar_AlertDialog = 16974432; // 0x1030260
+    field public static final int Widget_Material_Button_Borderless = 16974425; // 0x1030259
+    field public static final int Widget_Material_Button_Borderless_Colored = 16974426; // 0x103025a
+    field public static final int Widget_Material_Button_Borderless_Small = 16974427; // 0x103025b
+    field public static final int Widget_Material_Button_Colored = 16974547; // 0x10302d3
+    field public static final int Widget_Material_Button_Inset = 16974428; // 0x103025c
+    field public static final int Widget_Material_Button_Small = 16974429; // 0x103025d
+    field public static final int Widget_Material_Button_Toggle = 16974430; // 0x103025e
+    field public static final int Widget_Material_CalendarView = 16974433; // 0x1030261
+    field public static final int Widget_Material_CheckedTextView = 16974434; // 0x1030262
+    field public static final int Widget_Material_CompoundButton_CheckBox = 16974435; // 0x1030263
+    field public static final int Widget_Material_CompoundButton_RadioButton = 16974436; // 0x1030264
+    field public static final int Widget_Material_CompoundButton_Star = 16974437; // 0x1030265
+    field public static final int Widget_Material_CompoundButton_Switch = 16974554; // 0x10302da
+    field public static final int Widget_Material_DatePicker = 16974438; // 0x1030266
+    field public static final int Widget_Material_DropDownItem = 16974439; // 0x1030267
+    field public static final int Widget_Material_DropDownItem_Spinner = 16974440; // 0x1030268
+    field public static final int Widget_Material_EditText = 16974441; // 0x1030269
+    field public static final int Widget_Material_ExpandableListView = 16974442; // 0x103026a
+    field public static final int Widget_Material_FastScroll = 16974443; // 0x103026b
+    field public static final int Widget_Material_GridView = 16974444; // 0x103026c
+    field public static final int Widget_Material_HorizontalScrollView = 16974445; // 0x103026d
+    field public static final int Widget_Material_ImageButton = 16974446; // 0x103026e
+    field public static final int Widget_Material_Light = 16974478; // 0x103028e
+    field public static final int Widget_Material_Light_ActionBar = 16974479; // 0x103028f
+    field public static final int Widget_Material_Light_ActionBar_Solid = 16974480; // 0x1030290
+    field public static final int Widget_Material_Light_ActionBar_TabBar = 16974481; // 0x1030291
+    field public static final int Widget_Material_Light_ActionBar_TabText = 16974482; // 0x1030292
+    field public static final int Widget_Material_Light_ActionBar_TabView = 16974483; // 0x1030293
+    field public static final int Widget_Material_Light_ActionButton = 16974484; // 0x1030294
+    field public static final int Widget_Material_Light_ActionButton_CloseMode = 16974485; // 0x1030295
+    field public static final int Widget_Material_Light_ActionButton_Overflow = 16974486; // 0x1030296
+    field public static final int Widget_Material_Light_ActionMode = 16974487; // 0x1030297
+    field public static final int Widget_Material_Light_AutoCompleteTextView = 16974488; // 0x1030298
+    field public static final int Widget_Material_Light_Button = 16974489; // 0x1030299
+    field public static final int Widget_Material_Light_ButtonBar = 16974496; // 0x10302a0
+    field public static final int Widget_Material_Light_ButtonBar_AlertDialog = 16974497; // 0x10302a1
+    field public static final int Widget_Material_Light_Button_Borderless = 16974490; // 0x103029a
+    field public static final int Widget_Material_Light_Button_Borderless_Colored = 16974491; // 0x103029b
+    field public static final int Widget_Material_Light_Button_Borderless_Small = 16974492; // 0x103029c
+    field public static final int Widget_Material_Light_Button_Inset = 16974493; // 0x103029d
+    field public static final int Widget_Material_Light_Button_Small = 16974494; // 0x103029e
+    field public static final int Widget_Material_Light_Button_Toggle = 16974495; // 0x103029f
+    field public static final int Widget_Material_Light_CalendarView = 16974498; // 0x10302a2
+    field public static final int Widget_Material_Light_CheckedTextView = 16974499; // 0x10302a3
+    field public static final int Widget_Material_Light_CompoundButton_CheckBox = 16974500; // 0x10302a4
+    field public static final int Widget_Material_Light_CompoundButton_RadioButton = 16974501; // 0x10302a5
+    field public static final int Widget_Material_Light_CompoundButton_Star = 16974502; // 0x10302a6
+    field public static final int Widget_Material_Light_CompoundButton_Switch = 16974555; // 0x10302db
+    field public static final int Widget_Material_Light_DatePicker = 16974503; // 0x10302a7
+    field public static final int Widget_Material_Light_DropDownItem = 16974504; // 0x10302a8
+    field public static final int Widget_Material_Light_DropDownItem_Spinner = 16974505; // 0x10302a9
+    field public static final int Widget_Material_Light_EditText = 16974506; // 0x10302aa
+    field public static final int Widget_Material_Light_ExpandableListView = 16974507; // 0x10302ab
+    field public static final int Widget_Material_Light_FastScroll = 16974508; // 0x10302ac
+    field public static final int Widget_Material_Light_GridView = 16974509; // 0x10302ad
+    field public static final int Widget_Material_Light_HorizontalScrollView = 16974510; // 0x10302ae
+    field public static final int Widget_Material_Light_ImageButton = 16974511; // 0x10302af
+    field public static final int Widget_Material_Light_ListPopupWindow = 16974512; // 0x10302b0
+    field public static final int Widget_Material_Light_ListView = 16974513; // 0x10302b1
+    field public static final int Widget_Material_Light_ListView_DropDown = 16974514; // 0x10302b2
+    field public static final int Widget_Material_Light_MediaRouteButton = 16974515; // 0x10302b3
+    field public static final int Widget_Material_Light_NumberPicker = 16974557; // 0x10302dd
+    field public static final int Widget_Material_Light_PopupMenu = 16974516; // 0x10302b4
+    field public static final int Widget_Material_Light_PopupMenu_Overflow = 16974517; // 0x10302b5
+    field public static final int Widget_Material_Light_PopupWindow = 16974518; // 0x10302b6
+    field public static final int Widget_Material_Light_ProgressBar = 16974519; // 0x10302b7
+    field public static final int Widget_Material_Light_ProgressBar_Horizontal = 16974520; // 0x10302b8
+    field public static final int Widget_Material_Light_ProgressBar_Inverse = 16974521; // 0x10302b9
+    field public static final int Widget_Material_Light_ProgressBar_Large = 16974522; // 0x10302ba
+    field public static final int Widget_Material_Light_ProgressBar_Large_Inverse = 16974523; // 0x10302bb
+    field public static final int Widget_Material_Light_ProgressBar_Small = 16974524; // 0x10302bc
+    field public static final int Widget_Material_Light_ProgressBar_Small_Inverse = 16974525; // 0x10302bd
+    field public static final int Widget_Material_Light_ProgressBar_Small_Title = 16974526; // 0x10302be
+    field public static final int Widget_Material_Light_RatingBar = 16974527; // 0x10302bf
+    field public static final int Widget_Material_Light_RatingBar_Indicator = 16974528; // 0x10302c0
+    field public static final int Widget_Material_Light_RatingBar_Small = 16974529; // 0x10302c1
+    field public static final int Widget_Material_Light_ScrollView = 16974530; // 0x10302c2
+    field public static final int Widget_Material_Light_SearchView = 16974531; // 0x10302c3
+    field public static final int Widget_Material_Light_SeekBar = 16974532; // 0x10302c4
+    field public static final int Widget_Material_Light_SegmentedButton = 16974533; // 0x10302c5
+    field public static final int Widget_Material_Light_Spinner = 16974535; // 0x10302c7
+    field public static final int Widget_Material_Light_Spinner_Underlined = 16974536; // 0x10302c8
+    field public static final int Widget_Material_Light_StackView = 16974534; // 0x10302c6
+    field public static final int Widget_Material_Light_Tab = 16974537; // 0x10302c9
+    field public static final int Widget_Material_Light_TabWidget = 16974538; // 0x10302ca
+    field public static final int Widget_Material_Light_TextView = 16974539; // 0x10302cb
+    field public static final int Widget_Material_Light_TextView_SpinnerItem = 16974540; // 0x10302cc
+    field public static final int Widget_Material_Light_TimePicker = 16974541; // 0x10302cd
+    field public static final int Widget_Material_Light_WebTextView = 16974542; // 0x10302ce
+    field public static final int Widget_Material_Light_WebView = 16974543; // 0x10302cf
+    field public static final int Widget_Material_ListPopupWindow = 16974447; // 0x103026f
+    field public static final int Widget_Material_ListView = 16974448; // 0x1030270
+    field public static final int Widget_Material_ListView_DropDown = 16974449; // 0x1030271
+    field public static final int Widget_Material_MediaRouteButton = 16974450; // 0x1030272
+    field public static final int Widget_Material_NumberPicker = 16974556; // 0x10302dc
+    field public static final int Widget_Material_PopupMenu = 16974451; // 0x1030273
+    field public static final int Widget_Material_PopupMenu_Overflow = 16974452; // 0x1030274
+    field public static final int Widget_Material_PopupWindow = 16974453; // 0x1030275
+    field public static final int Widget_Material_ProgressBar = 16974454; // 0x1030276
+    field public static final int Widget_Material_ProgressBar_Horizontal = 16974455; // 0x1030277
+    field public static final int Widget_Material_ProgressBar_Large = 16974456; // 0x1030278
+    field public static final int Widget_Material_ProgressBar_Small = 16974457; // 0x1030279
+    field public static final int Widget_Material_ProgressBar_Small_Title = 16974458; // 0x103027a
+    field public static final int Widget_Material_RatingBar = 16974459; // 0x103027b
+    field public static final int Widget_Material_RatingBar_Indicator = 16974460; // 0x103027c
+    field public static final int Widget_Material_RatingBar_Small = 16974461; // 0x103027d
+    field public static final int Widget_Material_ScrollView = 16974462; // 0x103027e
+    field public static final int Widget_Material_SearchView = 16974463; // 0x103027f
+    field public static final int Widget_Material_SeekBar = 16974464; // 0x1030280
+    field public static final int Widget_Material_SeekBar_Discrete = 16974553; // 0x10302d9
+    field public static final int Widget_Material_SegmentedButton = 16974465; // 0x1030281
+    field public static final int Widget_Material_Spinner = 16974467; // 0x1030283
+    field public static final int Widget_Material_Spinner_Underlined = 16974468; // 0x1030284
+    field public static final int Widget_Material_StackView = 16974466; // 0x1030282
+    field public static final int Widget_Material_Tab = 16974469; // 0x1030285
+    field public static final int Widget_Material_TabWidget = 16974470; // 0x1030286
+    field public static final int Widget_Material_TextView = 16974471; // 0x1030287
+    field public static final int Widget_Material_TextView_SpinnerItem = 16974472; // 0x1030288
+    field public static final int Widget_Material_TimePicker = 16974473; // 0x1030289
+    field public static final int Widget_Material_Toolbar = 16974474; // 0x103028a
+    field public static final int Widget_Material_Toolbar_Button_Navigation = 16974475; // 0x103028b
+    field public static final int Widget_Material_WebTextView = 16974476; // 0x103028c
+    field public static final int Widget_Material_WebView = 16974477; // 0x103028d
+    field public static final int Widget_PopupMenu = 16973958; // 0x1030086
+    field public static final int Widget_PopupWindow = 16973878; // 0x1030036
+    field public static final int Widget_ProgressBar = 16973852; // 0x103001c
+    field public static final int Widget_ProgressBar_Horizontal = 16973855; // 0x103001f
+    field public static final int Widget_ProgressBar_Inverse = 16973915; // 0x103005b
+    field public static final int Widget_ProgressBar_Large = 16973853; // 0x103001d
+    field public static final int Widget_ProgressBar_Large_Inverse = 16973916; // 0x103005c
+    field public static final int Widget_ProgressBar_Small = 16973854; // 0x103001e
+    field public static final int Widget_ProgressBar_Small_Inverse = 16973917; // 0x103005d
+    field public static final int Widget_RatingBar = 16973857; // 0x1030021
+    field public static final int Widget_ScrollView = 16973869; // 0x103002d
+    field public static final int Widget_SeekBar = 16973856; // 0x1030020
+    field public static final int Widget_Spinner = 16973864; // 0x1030028
+    field public static final int Widget_Spinner_DropDown = 16973955; // 0x1030083
+    field public static final int Widget_StackView = 16974310; // 0x10301e6
+    field public static final int Widget_TabWidget = 16973876; // 0x1030034
+    field public static final int Widget_TextView = 16973858; // 0x1030022
+    field public static final int Widget_TextView_PopupMenu = 16973865; // 0x1030029
+    field public static final int Widget_TextView_SpinnerItem = 16973866; // 0x103002a
+    field public static final int Widget_Toolbar = 16974311; // 0x10301e7
+    field public static final int Widget_Toolbar_Button_Navigation = 16974312; // 0x10301e8
+    field public static final int Widget_WebView = 16973875; // 0x1030033
+  }
+
+  public static final class R.transition {
+    ctor public R.transition();
+    field public static final int explode = 17760259; // 0x10f0003
+    field public static final int fade = 17760258; // 0x10f0002
+    field public static final int move = 17760257; // 0x10f0001
+    field public static final int no_transition = 17760256; // 0x10f0000
+    field public static final int slide_bottom = 17760260; // 0x10f0004
+    field public static final int slide_left = 17760263; // 0x10f0007
+    field public static final int slide_right = 17760262; // 0x10f0006
+    field public static final int slide_top = 17760261; // 0x10f0005
+  }
+
+  public static final class R.xml {
+    ctor public R.xml();
+  }
+
+}
+
+package android.accessibilityservice {
+
+  public final class AccessibilityButtonController {
+    method public boolean isAccessibilityButtonAvailable();
+    method public void registerAccessibilityButtonCallback(@NonNull android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback);
+    method public void registerAccessibilityButtonCallback(@NonNull android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback, @NonNull android.os.Handler);
+    method public void unregisterAccessibilityButtonCallback(@NonNull android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback);
+  }
+
+  public abstract static class AccessibilityButtonController.AccessibilityButtonCallback {
+    ctor public AccessibilityButtonController.AccessibilityButtonCallback();
+    method public void onAvailabilityChanged(android.accessibilityservice.AccessibilityButtonController, boolean);
+    method public void onClicked(android.accessibilityservice.AccessibilityButtonController);
+  }
+
+  public final class AccessibilityGestureEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static String gestureIdToString(int);
+    method public int getDisplayId();
+    method public int getGestureId();
+    method @NonNull public java.util.List<android.view.MotionEvent> getMotionEvents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityGestureEvent> CREATOR;
+  }
+
+  public abstract class AccessibilityService extends android.app.Service {
+    ctor public AccessibilityService();
+    method public final void disableSelf();
+    method public final boolean dispatchGesture(@NonNull android.accessibilityservice.GestureDescription, @Nullable android.accessibilityservice.AccessibilityService.GestureResultCallback, @Nullable android.os.Handler);
+    method public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
+    method @NonNull public final android.accessibilityservice.AccessibilityButtonController getAccessibilityButtonController();
+    method @NonNull public final android.accessibilityservice.AccessibilityButtonController getAccessibilityButtonController(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public final android.accessibilityservice.FingerprintGestureController getFingerprintGestureController();
+    method @NonNull public final android.accessibilityservice.AccessibilityService.MagnificationController getMagnificationController();
+    method public android.view.accessibility.AccessibilityNodeInfo getRootInActiveWindow();
+    method public final android.accessibilityservice.AccessibilityServiceInfo getServiceInfo();
+    method @NonNull public final android.accessibilityservice.AccessibilityService.SoftKeyboardController getSoftKeyboardController();
+    method @NonNull public final java.util.List<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction> getSystemActions();
+    method public java.util.List<android.view.accessibility.AccessibilityWindowInfo> getWindows();
+    method @NonNull public final android.util.SparseArray<java.util.List<android.view.accessibility.AccessibilityWindowInfo>> getWindowsOnAllDisplays();
+    method public abstract void onAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated protected boolean onGesture(int);
+    method public boolean onGesture(@NonNull android.accessibilityservice.AccessibilityGestureEvent);
+    method public abstract void onInterrupt();
+    method protected boolean onKeyEvent(android.view.KeyEvent);
+    method protected void onServiceConnected();
+    method public void onSystemActionsChanged();
+    method public final boolean performGlobalAction(int);
+    method public void setAccessibilityFocusAppearance(int, @ColorInt int);
+    method public void setGestureDetectionPassthroughRegion(int, @NonNull android.graphics.Region);
+    method public final void setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo);
+    method public void setTouchExplorationPassthroughRegion(int, @NonNull android.graphics.Region);
+    method public void takeScreenshot(int, @NonNull java.util.concurrent.Executor, @NonNull android.accessibilityservice.AccessibilityService.TakeScreenshotCallback);
+    field public static final int ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR = 1; // 0x1
+    field public static final int ERROR_TAKE_SCREENSHOT_INTERVAL_TIME_SHORT = 3; // 0x3
+    field public static final int ERROR_TAKE_SCREENSHOT_INVALID_DISPLAY = 4; // 0x4
+    field public static final int ERROR_TAKE_SCREENSHOT_NO_ACCESSIBILITY_ACCESS = 2; // 0x2
+    field public static final int GESTURE_2_FINGER_DOUBLE_TAP = 20; // 0x14
+    field public static final int GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD = 40; // 0x28
+    field public static final int GESTURE_2_FINGER_SINGLE_TAP = 19; // 0x13
+    field public static final int GESTURE_2_FINGER_SWIPE_DOWN = 26; // 0x1a
+    field public static final int GESTURE_2_FINGER_SWIPE_LEFT = 27; // 0x1b
+    field public static final int GESTURE_2_FINGER_SWIPE_RIGHT = 28; // 0x1c
+    field public static final int GESTURE_2_FINGER_SWIPE_UP = 25; // 0x19
+    field public static final int GESTURE_2_FINGER_TRIPLE_TAP = 21; // 0x15
+    field public static final int GESTURE_2_FINGER_TRIPLE_TAP_AND_HOLD = 43; // 0x2b
+    field public static final int GESTURE_3_FINGER_DOUBLE_TAP = 23; // 0x17
+    field public static final int GESTURE_3_FINGER_DOUBLE_TAP_AND_HOLD = 41; // 0x29
+    field public static final int GESTURE_3_FINGER_SINGLE_TAP = 22; // 0x16
+    field public static final int GESTURE_3_FINGER_SINGLE_TAP_AND_HOLD = 44; // 0x2c
+    field public static final int GESTURE_3_FINGER_SWIPE_DOWN = 30; // 0x1e
+    field public static final int GESTURE_3_FINGER_SWIPE_LEFT = 31; // 0x1f
+    field public static final int GESTURE_3_FINGER_SWIPE_RIGHT = 32; // 0x20
+    field public static final int GESTURE_3_FINGER_SWIPE_UP = 29; // 0x1d
+    field public static final int GESTURE_3_FINGER_TRIPLE_TAP = 24; // 0x18
+    field public static final int GESTURE_3_FINGER_TRIPLE_TAP_AND_HOLD = 45; // 0x2d
+    field public static final int GESTURE_4_FINGER_DOUBLE_TAP = 38; // 0x26
+    field public static final int GESTURE_4_FINGER_DOUBLE_TAP_AND_HOLD = 42; // 0x2a
+    field public static final int GESTURE_4_FINGER_SINGLE_TAP = 37; // 0x25
+    field public static final int GESTURE_4_FINGER_SWIPE_DOWN = 34; // 0x22
+    field public static final int GESTURE_4_FINGER_SWIPE_LEFT = 35; // 0x23
+    field public static final int GESTURE_4_FINGER_SWIPE_RIGHT = 36; // 0x24
+    field public static final int GESTURE_4_FINGER_SWIPE_UP = 33; // 0x21
+    field public static final int GESTURE_4_FINGER_TRIPLE_TAP = 39; // 0x27
+    field public static final int GESTURE_DOUBLE_TAP = 17; // 0x11
+    field public static final int GESTURE_DOUBLE_TAP_AND_HOLD = 18; // 0x12
+    field public static final int GESTURE_SWIPE_DOWN = 2; // 0x2
+    field public static final int GESTURE_SWIPE_DOWN_AND_LEFT = 15; // 0xf
+    field public static final int GESTURE_SWIPE_DOWN_AND_RIGHT = 16; // 0x10
+    field public static final int GESTURE_SWIPE_DOWN_AND_UP = 8; // 0x8
+    field public static final int GESTURE_SWIPE_LEFT = 3; // 0x3
+    field public static final int GESTURE_SWIPE_LEFT_AND_DOWN = 10; // 0xa
+    field public static final int GESTURE_SWIPE_LEFT_AND_RIGHT = 5; // 0x5
+    field public static final int GESTURE_SWIPE_LEFT_AND_UP = 9; // 0x9
+    field public static final int GESTURE_SWIPE_RIGHT = 4; // 0x4
+    field public static final int GESTURE_SWIPE_RIGHT_AND_DOWN = 12; // 0xc
+    field public static final int GESTURE_SWIPE_RIGHT_AND_LEFT = 6; // 0x6
+    field public static final int GESTURE_SWIPE_RIGHT_AND_UP = 11; // 0xb
+    field public static final int GESTURE_SWIPE_UP = 1; // 0x1
+    field public static final int GESTURE_SWIPE_UP_AND_DOWN = 7; // 0x7
+    field public static final int GESTURE_SWIPE_UP_AND_LEFT = 13; // 0xd
+    field public static final int GESTURE_SWIPE_UP_AND_RIGHT = 14; // 0xe
+    field public static final int GESTURE_UNKNOWN = 0; // 0x0
+    field public static final int GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS = 14; // 0xe
+    field public static final int GLOBAL_ACTION_ACCESSIBILITY_BUTTON = 11; // 0xb
+    field public static final int GLOBAL_ACTION_ACCESSIBILITY_BUTTON_CHOOSER = 12; // 0xc
+    field public static final int GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT = 13; // 0xd
+    field public static final int GLOBAL_ACTION_BACK = 1; // 0x1
+    field public static final int GLOBAL_ACTION_DISMISS_NOTIFICATION_SHADE = 15; // 0xf
+    field public static final int GLOBAL_ACTION_HOME = 2; // 0x2
+    field public static final int GLOBAL_ACTION_KEYCODE_HEADSETHOOK = 10; // 0xa
+    field public static final int GLOBAL_ACTION_LOCK_SCREEN = 8; // 0x8
+    field public static final int GLOBAL_ACTION_NOTIFICATIONS = 4; // 0x4
+    field public static final int GLOBAL_ACTION_POWER_DIALOG = 6; // 0x6
+    field public static final int GLOBAL_ACTION_QUICK_SETTINGS = 5; // 0x5
+    field public static final int GLOBAL_ACTION_RECENTS = 3; // 0x3
+    field public static final int GLOBAL_ACTION_TAKE_SCREENSHOT = 9; // 0x9
+    field public static final int GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN = 7; // 0x7
+    field public static final String SERVICE_INTERFACE = "android.accessibilityservice.AccessibilityService";
+    field public static final String SERVICE_META_DATA = "android.accessibilityservice";
+    field public static final int SHOW_MODE_AUTO = 0; // 0x0
+    field public static final int SHOW_MODE_HIDDEN = 1; // 0x1
+    field public static final int SHOW_MODE_IGNORE_HARD_KEYBOARD = 2; // 0x2
+  }
+
+  public abstract static class AccessibilityService.GestureResultCallback {
+    ctor public AccessibilityService.GestureResultCallback();
+    method public void onCancelled(android.accessibilityservice.GestureDescription);
+    method public void onCompleted(android.accessibilityservice.GestureDescription);
+  }
+
+  public static final class AccessibilityService.MagnificationController {
+    method public void addListener(@NonNull android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener);
+    method public void addListener(@NonNull android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener, @Nullable android.os.Handler);
+    method public float getCenterX();
+    method public float getCenterY();
+    method @NonNull public android.graphics.Region getMagnificationRegion();
+    method public float getScale();
+    method public boolean removeListener(@NonNull android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener);
+    method public boolean reset(boolean);
+    method public boolean setCenter(float, float, boolean);
+    method public boolean setScale(float, boolean);
+  }
+
+  public static interface AccessibilityService.MagnificationController.OnMagnificationChangedListener {
+    method public void onMagnificationChanged(@NonNull android.accessibilityservice.AccessibilityService.MagnificationController, @NonNull android.graphics.Region, float, float, float);
+  }
+
+  public static final class AccessibilityService.ScreenshotResult {
+    method @NonNull public android.graphics.ColorSpace getColorSpace();
+    method @NonNull public android.hardware.HardwareBuffer getHardwareBuffer();
+    method public long getTimestamp();
+  }
+
+  public static final class AccessibilityService.SoftKeyboardController {
+    method public void addOnShowModeChangedListener(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener);
+    method public void addOnShowModeChangedListener(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener, @Nullable android.os.Handler);
+    method public int getShowMode();
+    method public boolean removeOnShowModeChangedListener(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener);
+    method public boolean setShowMode(int);
+    method public boolean switchToInputMethod(@NonNull String);
+  }
+
+  public static interface AccessibilityService.SoftKeyboardController.OnShowModeChangedListener {
+    method public void onShowModeChanged(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController, int);
+  }
+
+  public static interface AccessibilityService.TakeScreenshotCallback {
+    method public void onFailure(int);
+    method public void onSuccess(@NonNull android.accessibilityservice.AccessibilityService.ScreenshotResult);
+  }
+
+  public class AccessibilityServiceInfo implements android.os.Parcelable {
+    ctor public AccessibilityServiceInfo();
+    method public static String capabilityToString(int);
+    method public int describeContents();
+    method public static String feedbackTypeToString(int);
+    method public static String flagToString(int);
+    method @Deprecated public boolean getCanRetrieveWindowContent();
+    method public int getCapabilities();
+    method @Deprecated public String getDescription();
+    method public String getId();
+    method public int getInteractiveUiTimeoutMillis();
+    method public int getNonInteractiveUiTimeoutMillis();
+    method public android.content.pm.ResolveInfo getResolveInfo();
+    method public String getSettingsActivityName();
+    method public boolean isAccessibilityTool();
+    method public String loadDescription(android.content.pm.PackageManager);
+    method public CharSequence loadSummary(android.content.pm.PackageManager);
+    method public void setInteractiveUiTimeoutMillis(@IntRange(from=0) int);
+    method public void setNonInteractiveUiTimeoutMillis(@IntRange(from=0) int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CAPABILITY_CAN_CONTROL_MAGNIFICATION = 16; // 0x10
+    field public static final int CAPABILITY_CAN_PERFORM_GESTURES = 32; // 0x20
+    field @Deprecated public static final int CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 4; // 0x4
+    field public static final int CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS = 8; // 0x8
+    field public static final int CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES = 64; // 0x40
+    field public static final int CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION = 2; // 0x2
+    field public static final int CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT = 1; // 0x1
+    field public static final int CAPABILITY_CAN_TAKE_SCREENSHOT = 128; // 0x80
+    field @NonNull public static final android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityServiceInfo> CREATOR;
+    field public static final int DEFAULT = 1; // 0x1
+    field public static final int FEEDBACK_ALL_MASK = -1; // 0xffffffff
+    field public static final int FEEDBACK_AUDIBLE = 4; // 0x4
+    field public static final int FEEDBACK_BRAILLE = 32; // 0x20
+    field public static final int FEEDBACK_GENERIC = 16; // 0x10
+    field public static final int FEEDBACK_HAPTIC = 2; // 0x2
+    field public static final int FEEDBACK_SPOKEN = 1; // 0x1
+    field public static final int FEEDBACK_VISUAL = 8; // 0x8
+    field public static final int FLAG_ENABLE_ACCESSIBILITY_VOLUME = 128; // 0x80
+    field public static final int FLAG_INCLUDE_NOT_IMPORTANT_VIEWS = 2; // 0x2
+    field public static final int FLAG_REPORT_VIEW_IDS = 16; // 0x10
+    field public static final int FLAG_REQUEST_2_FINGER_PASSTHROUGH = 8192; // 0x2000
+    field public static final int FLAG_REQUEST_ACCESSIBILITY_BUTTON = 256; // 0x100
+    field @Deprecated public static final int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 8; // 0x8
+    field public static final int FLAG_REQUEST_FILTER_KEY_EVENTS = 32; // 0x20
+    field public static final int FLAG_REQUEST_FINGERPRINT_GESTURES = 512; // 0x200
+    field public static final int FLAG_REQUEST_MULTI_FINGER_GESTURES = 4096; // 0x1000
+    field public static final int FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK = 1024; // 0x400
+    field public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE = 4; // 0x4
+    field public static final int FLAG_RETRIEVE_INTERACTIVE_WINDOWS = 64; // 0x40
+    field public static final int FLAG_SEND_MOTION_EVENTS = 16384; // 0x4000
+    field public static final int FLAG_SERVICE_HANDLES_DOUBLE_TAP = 2048; // 0x800
+    field public int eventTypes;
+    field public int feedbackType;
+    field public int flags;
+    field public long notificationTimeout;
+    field public String[] packageNames;
+  }
+
+  public final class FingerprintGestureController {
+    method public boolean isGestureDetectionAvailable();
+    method public void registerFingerprintGestureCallback(@NonNull android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback, @Nullable android.os.Handler);
+    method public void unregisterFingerprintGestureCallback(android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback);
+    field public static final int FINGERPRINT_GESTURE_SWIPE_DOWN = 8; // 0x8
+    field public static final int FINGERPRINT_GESTURE_SWIPE_LEFT = 2; // 0x2
+    field public static final int FINGERPRINT_GESTURE_SWIPE_RIGHT = 1; // 0x1
+    field public static final int FINGERPRINT_GESTURE_SWIPE_UP = 4; // 0x4
+  }
+
+  public abstract static class FingerprintGestureController.FingerprintGestureCallback {
+    ctor public FingerprintGestureController.FingerprintGestureCallback();
+    method public void onGestureDetected(int);
+    method public void onGestureDetectionAvailabilityChanged(boolean);
+  }
+
+  public final class GestureDescription {
+    method public int getDisplayId();
+    method public static long getMaxGestureDuration();
+    method public static int getMaxStrokeCount();
+    method public android.accessibilityservice.GestureDescription.StrokeDescription getStroke(@IntRange(from=0) int);
+    method public int getStrokeCount();
+  }
+
+  public static class GestureDescription.Builder {
+    ctor public GestureDescription.Builder();
+    method public android.accessibilityservice.GestureDescription.Builder addStroke(@NonNull android.accessibilityservice.GestureDescription.StrokeDescription);
+    method public android.accessibilityservice.GestureDescription build();
+    method @NonNull public android.accessibilityservice.GestureDescription.Builder setDisplayId(int);
+  }
+
+  public static class GestureDescription.StrokeDescription {
+    ctor public GestureDescription.StrokeDescription(@NonNull android.graphics.Path, @IntRange(from=0) long, @IntRange(from=0) long);
+    ctor public GestureDescription.StrokeDescription(@NonNull android.graphics.Path, @IntRange(from=0) long, @IntRange(from=0) long, boolean);
+    method public android.accessibilityservice.GestureDescription.StrokeDescription continueStroke(android.graphics.Path, long, long, boolean);
+    method public long getDuration();
+    method public android.graphics.Path getPath();
+    method public long getStartTime();
+    method public boolean willContinue();
+  }
+
+}
+
+package android.accounts {
+
+  public abstract class AbstractAccountAuthenticator {
+    ctor public AbstractAccountAuthenticator(android.content.Context);
+    method public abstract android.os.Bundle addAccount(android.accounts.AccountAuthenticatorResponse, String, String, String[], android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle addAccountFromCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public abstract android.os.Bundle confirmCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public abstract android.os.Bundle editProperties(android.accounts.AccountAuthenticatorResponse, String);
+    method public android.os.Bundle finishSession(android.accounts.AccountAuthenticatorResponse, String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle getAccountCredentialsForCloning(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle getAccountRemovalAllowed(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException;
+    method public abstract android.os.Bundle getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public abstract String getAuthTokenLabel(String);
+    method public final android.os.IBinder getIBinder();
+    method public abstract android.os.Bundle hasFeatures(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, String[]) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle isCredentialsUpdateSuggested(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, String) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle startAddAccountSession(android.accounts.AccountAuthenticatorResponse, String, String, String[], android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle startUpdateCredentialsSession(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public abstract android.os.Bundle updateCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    field public static final String KEY_CUSTOM_TOKEN_EXPIRY = "android.accounts.expiry";
+  }
+
+  public class Account implements android.os.Parcelable {
+    ctor public Account(String, String);
+    ctor public Account(android.os.Parcel);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.accounts.Account> CREATOR;
+    field public final String name;
+    field public final String type;
+  }
+
+  @Deprecated public class AccountAuthenticatorActivity extends android.app.Activity {
+    ctor @Deprecated public AccountAuthenticatorActivity();
+    method @Deprecated public final void setAccountAuthenticatorResult(android.os.Bundle);
+  }
+
+  public class AccountAuthenticatorResponse implements android.os.Parcelable {
+    ctor public AccountAuthenticatorResponse(android.os.Parcel);
+    method public int describeContents();
+    method public void onError(int, String);
+    method public void onRequestContinued();
+    method public void onResult(android.os.Bundle);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.accounts.AccountAuthenticatorResponse> CREATOR;
+  }
+
+  public class AccountManager {
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> addAccount(String, String, String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public boolean addAccountExplicitly(android.accounts.Account, String, android.os.Bundle);
+    method public boolean addAccountExplicitly(android.accounts.Account, String, android.os.Bundle, java.util.Map<java.lang.String,java.lang.Integer>);
+    method @RequiresPermission(value="android.permission.GET_ACCOUNTS", apis="..22") public void addOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener, android.os.Handler, boolean);
+    method public void addOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener, android.os.Handler, boolean, String[]);
+    method @RequiresPermission(value="android.permission.USE_CREDENTIALS", apis="..22") public String blockingGetAuthToken(android.accounts.Account, String, boolean) throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public void clearPassword(android.accounts.Account);
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> confirmCredentials(android.accounts.Account, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> editProperties(String, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method public android.accounts.AccountManagerFuture<android.os.Bundle> finishSession(android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method public static android.accounts.AccountManager get(android.content.Context);
+    method public int getAccountVisibility(android.accounts.Account, String);
+    method @NonNull @RequiresPermission(value="android.permission.GET_ACCOUNTS", apis="..22") public android.accounts.Account[] getAccounts();
+    method public java.util.Map<android.accounts.Account,java.lang.Integer> getAccountsAndVisibilityForPackage(String, String);
+    method @NonNull @RequiresPermission(value="android.permission.GET_ACCOUNTS", apis="..22") public android.accounts.Account[] getAccountsByType(String);
+    method public android.accounts.AccountManagerFuture<android.accounts.Account[]> getAccountsByTypeAndFeatures(String, String[], android.accounts.AccountManagerCallback<android.accounts.Account[]>, android.os.Handler);
+    method @NonNull public android.accounts.Account[] getAccountsByTypeForPackage(String, String);
+    method @RequiresPermission(value="android.permission.USE_CREDENTIALS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthToken(android.accounts.Account, String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @Deprecated @RequiresPermission(value="android.permission.USE_CREDENTIALS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthToken(android.accounts.Account, String, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.USE_CREDENTIALS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthToken(android.accounts.Account, String, android.os.Bundle, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthTokenByFeatures(String, String, String[], android.app.Activity, android.os.Bundle, android.os.Bundle, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method public android.accounts.AuthenticatorDescription[] getAuthenticatorTypes();
+    method public java.util.Map<java.lang.String,java.lang.Integer> getPackagesAndVisibilityForAccount(android.accounts.Account);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public String getPassword(android.accounts.Account);
+    method public String getPreviousName(android.accounts.Account);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public String getUserData(android.accounts.Account, String);
+    method public android.accounts.AccountManagerFuture<java.lang.Boolean> hasFeatures(android.accounts.Account, String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler);
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS"}, apis="..22") public void invalidateAuthToken(String, String);
+    method public android.accounts.AccountManagerFuture<java.lang.Boolean> isCredentialsUpdateSuggested(android.accounts.Account, String, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler);
+    method @Deprecated public static android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, String[], boolean, String, String, String[], android.os.Bundle);
+    method public static android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.List<android.accounts.Account>, String[], String, String, String[], android.os.Bundle);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public boolean notifyAccountAuthenticated(android.accounts.Account);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public String peekAuthToken(android.accounts.Account, String);
+    method @Deprecated @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<java.lang.Boolean> removeAccount(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> removeAccount(android.accounts.Account, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public boolean removeAccountExplicitly(android.accounts.Account);
+    method public void removeOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.accounts.Account> renameAccount(android.accounts.Account, @Size(min=1) String, android.accounts.AccountManagerCallback<android.accounts.Account>, android.os.Handler);
+    method public boolean setAccountVisibility(android.accounts.Account, String, int);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public void setAuthToken(android.accounts.Account, String, String);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public void setPassword(android.accounts.Account, String);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public void setUserData(android.accounts.Account, String, String);
+    method public android.accounts.AccountManagerFuture<android.os.Bundle> startAddAccountSession(String, String, String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method public android.accounts.AccountManagerFuture<android.os.Bundle> startUpdateCredentialsSession(android.accounts.Account, String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> updateCredentials(android.accounts.Account, String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    field public static final String ACTION_ACCOUNT_REMOVED = "android.accounts.action.ACCOUNT_REMOVED";
+    field public static final String ACTION_AUTHENTICATOR_INTENT = "android.accounts.AccountAuthenticator";
+    field public static final String AUTHENTICATOR_ATTRIBUTES_NAME = "account-authenticator";
+    field public static final String AUTHENTICATOR_META_DATA_NAME = "android.accounts.AccountAuthenticator";
+    field public static final int ERROR_CODE_BAD_ARGUMENTS = 7; // 0x7
+    field public static final int ERROR_CODE_BAD_AUTHENTICATION = 9; // 0x9
+    field public static final int ERROR_CODE_BAD_REQUEST = 8; // 0x8
+    field public static final int ERROR_CODE_CANCELED = 4; // 0x4
+    field public static final int ERROR_CODE_INVALID_RESPONSE = 5; // 0x5
+    field public static final int ERROR_CODE_NETWORK_ERROR = 3; // 0x3
+    field public static final int ERROR_CODE_REMOTE_EXCEPTION = 1; // 0x1
+    field public static final int ERROR_CODE_UNSUPPORTED_OPERATION = 6; // 0x6
+    field public static final String KEY_ACCOUNTS = "accounts";
+    field public static final String KEY_ACCOUNT_AUTHENTICATOR_RESPONSE = "accountAuthenticatorResponse";
+    field public static final String KEY_ACCOUNT_MANAGER_RESPONSE = "accountManagerResponse";
+    field public static final String KEY_ACCOUNT_NAME = "authAccount";
+    field public static final String KEY_ACCOUNT_SESSION_BUNDLE = "accountSessionBundle";
+    field public static final String KEY_ACCOUNT_STATUS_TOKEN = "accountStatusToken";
+    field public static final String KEY_ACCOUNT_TYPE = "accountType";
+    field public static final String KEY_ANDROID_PACKAGE_NAME = "androidPackageName";
+    field public static final String KEY_AUTHENTICATOR_TYPES = "authenticator_types";
+    field public static final String KEY_AUTHTOKEN = "authtoken";
+    field public static final String KEY_AUTH_FAILED_MESSAGE = "authFailedMessage";
+    field public static final String KEY_AUTH_TOKEN_LABEL = "authTokenLabelKey";
+    field public static final String KEY_BOOLEAN_RESULT = "booleanResult";
+    field public static final String KEY_CALLER_PID = "callerPid";
+    field public static final String KEY_CALLER_UID = "callerUid";
+    field public static final String KEY_ERROR_CODE = "errorCode";
+    field public static final String KEY_ERROR_MESSAGE = "errorMessage";
+    field public static final String KEY_INTENT = "intent";
+    field public static final String KEY_LAST_AUTHENTICATED_TIME = "lastAuthenticatedTime";
+    field public static final String KEY_PASSWORD = "password";
+    field public static final String KEY_USERDATA = "userdata";
+    field @Deprecated public static final String LOGIN_ACCOUNTS_CHANGED_ACTION = "android.accounts.LOGIN_ACCOUNTS_CHANGED";
+    field public static final String PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE = "android:accounts:key_legacy_not_visible";
+    field public static final String PACKAGE_NAME_KEY_LEGACY_VISIBLE = "android:accounts:key_legacy_visible";
+    field public static final int VISIBILITY_NOT_VISIBLE = 3; // 0x3
+    field public static final int VISIBILITY_UNDEFINED = 0; // 0x0
+    field public static final int VISIBILITY_USER_MANAGED_NOT_VISIBLE = 4; // 0x4
+    field public static final int VISIBILITY_USER_MANAGED_VISIBLE = 2; // 0x2
+    field public static final int VISIBILITY_VISIBLE = 1; // 0x1
+  }
+
+  public interface AccountManagerCallback<V> {
+    method public void run(android.accounts.AccountManagerFuture<V>);
+  }
+
+  public interface AccountManagerFuture<V> {
+    method public boolean cancel(boolean);
+    method public V getResult() throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
+    method public V getResult(long, java.util.concurrent.TimeUnit) throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
+    method public boolean isCancelled();
+    method public boolean isDone();
+  }
+
+  public class AccountsException extends java.lang.Exception {
+    ctor public AccountsException();
+    ctor public AccountsException(String);
+    ctor public AccountsException(String, Throwable);
+    ctor public AccountsException(Throwable);
+  }
+
+  public class AuthenticatorDescription implements android.os.Parcelable {
+    ctor public AuthenticatorDescription(String, String, int, int, int, int, boolean);
+    ctor public AuthenticatorDescription(String, String, int, int, int, int);
+    method public int describeContents();
+    method public static android.accounts.AuthenticatorDescription newKey(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.accounts.AuthenticatorDescription> CREATOR;
+    field public final int accountPreferencesId;
+    field public final boolean customTokens;
+    field public final int iconId;
+    field public final int labelId;
+    field public final String packageName;
+    field public final int smallIconId;
+    field public final String type;
+  }
+
+  public class AuthenticatorException extends android.accounts.AccountsException {
+    ctor public AuthenticatorException();
+    ctor public AuthenticatorException(String);
+    ctor public AuthenticatorException(String, Throwable);
+    ctor public AuthenticatorException(Throwable);
+  }
+
+  public class NetworkErrorException extends android.accounts.AccountsException {
+    ctor public NetworkErrorException();
+    ctor public NetworkErrorException(String);
+    ctor public NetworkErrorException(String, Throwable);
+    ctor public NetworkErrorException(Throwable);
+  }
+
+  public interface OnAccountsUpdateListener {
+    method public void onAccountsUpdated(android.accounts.Account[]);
+  }
+
+  public class OperationCanceledException extends android.accounts.AccountsException {
+    ctor public OperationCanceledException();
+    ctor public OperationCanceledException(String);
+    ctor public OperationCanceledException(String, Throwable);
+    ctor public OperationCanceledException(Throwable);
+  }
+
+}
+
+package android.animation {
+
+  public abstract class Animator implements java.lang.Cloneable {
+    ctor public Animator();
+    method public void addListener(android.animation.Animator.AnimatorListener);
+    method public void addPauseListener(android.animation.Animator.AnimatorPauseListener);
+    method public void cancel();
+    method public android.animation.Animator clone();
+    method public void end();
+    method public abstract long getDuration();
+    method public android.animation.TimeInterpolator getInterpolator();
+    method public java.util.ArrayList<android.animation.Animator.AnimatorListener> getListeners();
+    method public abstract long getStartDelay();
+    method public long getTotalDuration();
+    method public boolean isPaused();
+    method public abstract boolean isRunning();
+    method public boolean isStarted();
+    method public void pause();
+    method public void removeAllListeners();
+    method public void removeListener(android.animation.Animator.AnimatorListener);
+    method public void removePauseListener(android.animation.Animator.AnimatorPauseListener);
+    method public void resume();
+    method public abstract android.animation.Animator setDuration(long);
+    method public abstract void setInterpolator(android.animation.TimeInterpolator);
+    method public abstract void setStartDelay(long);
+    method public void setTarget(@Nullable Object);
+    method public void setupEndValues();
+    method public void setupStartValues();
+    method public void start();
+    field public static final long DURATION_INFINITE = -1L; // 0xffffffffffffffffL
+  }
+
+  public static interface Animator.AnimatorListener {
+    method public void onAnimationCancel(android.animation.Animator);
+    method public default void onAnimationEnd(android.animation.Animator, boolean);
+    method public void onAnimationEnd(android.animation.Animator);
+    method public void onAnimationRepeat(android.animation.Animator);
+    method public default void onAnimationStart(android.animation.Animator, boolean);
+    method public void onAnimationStart(android.animation.Animator);
+  }
+
+  public static interface Animator.AnimatorPauseListener {
+    method public void onAnimationPause(android.animation.Animator);
+    method public void onAnimationResume(android.animation.Animator);
+  }
+
+  public class AnimatorInflater {
+    ctor public AnimatorInflater();
+    method public static android.animation.Animator loadAnimator(android.content.Context, @AnimatorRes int) throws android.content.res.Resources.NotFoundException;
+    method public static android.animation.StateListAnimator loadStateListAnimator(android.content.Context, int) throws android.content.res.Resources.NotFoundException;
+  }
+
+  public abstract class AnimatorListenerAdapter implements android.animation.Animator.AnimatorListener android.animation.Animator.AnimatorPauseListener {
+    ctor public AnimatorListenerAdapter();
+    method public void onAnimationCancel(android.animation.Animator);
+    method public void onAnimationEnd(android.animation.Animator);
+    method public void onAnimationPause(android.animation.Animator);
+    method public void onAnimationRepeat(android.animation.Animator);
+    method public void onAnimationResume(android.animation.Animator);
+    method public void onAnimationStart(android.animation.Animator);
+  }
+
+  public final class AnimatorSet extends android.animation.Animator {
+    ctor public AnimatorSet();
+    method public android.animation.AnimatorSet clone();
+    method public java.util.ArrayList<android.animation.Animator> getChildAnimations();
+    method public long getCurrentPlayTime();
+    method public long getDuration();
+    method public long getStartDelay();
+    method public boolean isRunning();
+    method public android.animation.AnimatorSet.Builder play(android.animation.Animator);
+    method public void playSequentially(android.animation.Animator...);
+    method public void playSequentially(java.util.List<android.animation.Animator>);
+    method public void playTogether(android.animation.Animator...);
+    method public void playTogether(java.util.Collection<android.animation.Animator>);
+    method public void reverse();
+    method public void setCurrentPlayTime(long);
+    method public android.animation.AnimatorSet setDuration(long);
+    method public void setInterpolator(android.animation.TimeInterpolator);
+    method public void setStartDelay(long);
+  }
+
+  public class AnimatorSet.Builder {
+    method public android.animation.AnimatorSet.Builder after(android.animation.Animator);
+    method public android.animation.AnimatorSet.Builder after(long);
+    method public android.animation.AnimatorSet.Builder before(android.animation.Animator);
+    method public android.animation.AnimatorSet.Builder with(android.animation.Animator);
+  }
+
+  public class ArgbEvaluator implements android.animation.TypeEvaluator {
+    ctor public ArgbEvaluator();
+    method public Object evaluate(float, Object, Object);
+  }
+
+  public abstract class BidirectionalTypeConverter<T, V> extends android.animation.TypeConverter<T,V> {
+    ctor public BidirectionalTypeConverter(Class<T>, Class<V>);
+    method public abstract T convertBack(V);
+    method public android.animation.BidirectionalTypeConverter<V,T> invert();
+  }
+
+  public class FloatArrayEvaluator implements android.animation.TypeEvaluator<float[]> {
+    ctor public FloatArrayEvaluator();
+    ctor public FloatArrayEvaluator(float[]);
+    method public float[] evaluate(float, float[], float[]);
+  }
+
+  public class FloatEvaluator implements android.animation.TypeEvaluator<java.lang.Number> {
+    ctor public FloatEvaluator();
+    method public Float evaluate(float, Number, Number);
+  }
+
+  public class IntArrayEvaluator implements android.animation.TypeEvaluator<int[]> {
+    ctor public IntArrayEvaluator();
+    ctor public IntArrayEvaluator(int[]);
+    method public int[] evaluate(float, int[], int[]);
+  }
+
+  public class IntEvaluator implements android.animation.TypeEvaluator<java.lang.Integer> {
+    ctor public IntEvaluator();
+    method public Integer evaluate(float, Integer, Integer);
+  }
+
+  public abstract class Keyframe implements java.lang.Cloneable {
+    ctor public Keyframe();
+    method public abstract android.animation.Keyframe clone();
+    method public float getFraction();
+    method public android.animation.TimeInterpolator getInterpolator();
+    method public Class getType();
+    method public abstract Object getValue();
+    method public boolean hasValue();
+    method public static android.animation.Keyframe ofFloat(float, float);
+    method public static android.animation.Keyframe ofFloat(float);
+    method public static android.animation.Keyframe ofInt(float, int);
+    method public static android.animation.Keyframe ofInt(float);
+    method public static android.animation.Keyframe ofObject(float, Object);
+    method public static android.animation.Keyframe ofObject(float);
+    method public void setFraction(float);
+    method public void setInterpolator(android.animation.TimeInterpolator);
+    method public abstract void setValue(Object);
+  }
+
+  public class LayoutTransition {
+    ctor public LayoutTransition();
+    method public void addChild(android.view.ViewGroup, android.view.View);
+    method public void addTransitionListener(android.animation.LayoutTransition.TransitionListener);
+    method public void disableTransitionType(int);
+    method public void enableTransitionType(int);
+    method public android.animation.Animator getAnimator(int);
+    method public long getDuration(int);
+    method public android.animation.TimeInterpolator getInterpolator(int);
+    method public long getStagger(int);
+    method public long getStartDelay(int);
+    method public java.util.List<android.animation.LayoutTransition.TransitionListener> getTransitionListeners();
+    method @Deprecated public void hideChild(android.view.ViewGroup, android.view.View);
+    method public void hideChild(android.view.ViewGroup, android.view.View, int);
+    method public boolean isChangingLayout();
+    method public boolean isRunning();
+    method public boolean isTransitionTypeEnabled(int);
+    method public void removeChild(android.view.ViewGroup, android.view.View);
+    method public void removeTransitionListener(android.animation.LayoutTransition.TransitionListener);
+    method public void setAnimateParentHierarchy(boolean);
+    method public void setAnimator(int, android.animation.Animator);
+    method public void setDuration(long);
+    method public void setDuration(int, long);
+    method public void setInterpolator(int, android.animation.TimeInterpolator);
+    method public void setStagger(int, long);
+    method public void setStartDelay(int, long);
+    method @Deprecated public void showChild(android.view.ViewGroup, android.view.View);
+    method public void showChild(android.view.ViewGroup, android.view.View, int);
+    field public static final int APPEARING = 2; // 0x2
+    field public static final int CHANGE_APPEARING = 0; // 0x0
+    field public static final int CHANGE_DISAPPEARING = 1; // 0x1
+    field public static final int CHANGING = 4; // 0x4
+    field public static final int DISAPPEARING = 3; // 0x3
+  }
+
+  public static interface LayoutTransition.TransitionListener {
+    method public void endTransition(android.animation.LayoutTransition, android.view.ViewGroup, android.view.View, int);
+    method public void startTransition(android.animation.LayoutTransition, android.view.ViewGroup, android.view.View, int);
+  }
+
+  public final class ObjectAnimator extends android.animation.ValueAnimator {
+    ctor public ObjectAnimator();
+    method public android.animation.ObjectAnimator clone();
+    method @Nullable public String getPropertyName();
+    method @Nullable public Object getTarget();
+    method public static android.animation.ObjectAnimator ofArgb(Object, String, int...);
+    method public static <T> android.animation.ObjectAnimator ofArgb(T, android.util.Property<T,java.lang.Integer>, int...);
+    method public static android.animation.ObjectAnimator ofFloat(Object, String, float...);
+    method public static android.animation.ObjectAnimator ofFloat(Object, String, String, android.graphics.Path);
+    method public static <T> android.animation.ObjectAnimator ofFloat(T, android.util.Property<T,java.lang.Float>, float...);
+    method public static <T> android.animation.ObjectAnimator ofFloat(T, android.util.Property<T,java.lang.Float>, android.util.Property<T,java.lang.Float>, android.graphics.Path);
+    method public static android.animation.ObjectAnimator ofInt(Object, String, int...);
+    method public static android.animation.ObjectAnimator ofInt(Object, String, String, android.graphics.Path);
+    method public static <T> android.animation.ObjectAnimator ofInt(T, android.util.Property<T,java.lang.Integer>, int...);
+    method public static <T> android.animation.ObjectAnimator ofInt(T, android.util.Property<T,java.lang.Integer>, android.util.Property<T,java.lang.Integer>, android.graphics.Path);
+    method public static android.animation.ObjectAnimator ofMultiFloat(Object, String, float[][]);
+    method public static android.animation.ObjectAnimator ofMultiFloat(Object, String, android.graphics.Path);
+    method @java.lang.SafeVarargs public static <T> android.animation.ObjectAnimator ofMultiFloat(Object, String, android.animation.TypeConverter<T,float[]>, android.animation.TypeEvaluator<T>, T...);
+    method public static android.animation.ObjectAnimator ofMultiInt(Object, String, int[][]);
+    method public static android.animation.ObjectAnimator ofMultiInt(Object, String, android.graphics.Path);
+    method @java.lang.SafeVarargs public static <T> android.animation.ObjectAnimator ofMultiInt(Object, String, android.animation.TypeConverter<T,int[]>, android.animation.TypeEvaluator<T>, T...);
+    method public static android.animation.ObjectAnimator ofObject(Object, String, android.animation.TypeEvaluator, java.lang.Object...);
+    method @NonNull public static android.animation.ObjectAnimator ofObject(Object, String, @Nullable android.animation.TypeConverter<android.graphics.PointF,?>, android.graphics.Path);
+    method @NonNull @java.lang.SafeVarargs public static <T, V> android.animation.ObjectAnimator ofObject(T, android.util.Property<T,V>, android.animation.TypeEvaluator<V>, V...);
+    method @NonNull @java.lang.SafeVarargs public static <T, V, P> android.animation.ObjectAnimator ofObject(T, android.util.Property<T,P>, android.animation.TypeConverter<V,P>, android.animation.TypeEvaluator<V>, V...);
+    method @NonNull public static <T, V> android.animation.ObjectAnimator ofObject(T, @NonNull android.util.Property<T,V>, @Nullable android.animation.TypeConverter<android.graphics.PointF,V>, android.graphics.Path);
+    method @NonNull public static android.animation.ObjectAnimator ofPropertyValuesHolder(Object, android.animation.PropertyValuesHolder...);
+    method public void setAutoCancel(boolean);
+    method @NonNull public android.animation.ObjectAnimator setDuration(long);
+    method public void setProperty(@NonNull android.util.Property);
+    method public void setPropertyName(@NonNull String);
+  }
+
+  public class PointFEvaluator implements android.animation.TypeEvaluator<android.graphics.PointF> {
+    ctor public PointFEvaluator();
+    ctor public PointFEvaluator(android.graphics.PointF);
+    method public android.graphics.PointF evaluate(float, android.graphics.PointF, android.graphics.PointF);
+  }
+
+  public class PropertyValuesHolder implements java.lang.Cloneable {
+    method public android.animation.PropertyValuesHolder clone();
+    method public String getPropertyName();
+    method public static android.animation.PropertyValuesHolder ofFloat(String, float...);
+    method public static android.animation.PropertyValuesHolder ofFloat(android.util.Property<?,java.lang.Float>, float...);
+    method public static android.animation.PropertyValuesHolder ofInt(String, int...);
+    method public static android.animation.PropertyValuesHolder ofInt(android.util.Property<?,java.lang.Integer>, int...);
+    method public static android.animation.PropertyValuesHolder ofKeyframe(String, android.animation.Keyframe...);
+    method public static android.animation.PropertyValuesHolder ofKeyframe(android.util.Property, android.animation.Keyframe...);
+    method public static android.animation.PropertyValuesHolder ofMultiFloat(String, float[][]);
+    method public static android.animation.PropertyValuesHolder ofMultiFloat(String, android.graphics.Path);
+    method @java.lang.SafeVarargs public static <V> android.animation.PropertyValuesHolder ofMultiFloat(String, android.animation.TypeConverter<V,float[]>, android.animation.TypeEvaluator<V>, V...);
+    method public static <T> android.animation.PropertyValuesHolder ofMultiFloat(String, android.animation.TypeConverter<T,float[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
+    method public static android.animation.PropertyValuesHolder ofMultiInt(String, int[][]);
+    method public static android.animation.PropertyValuesHolder ofMultiInt(String, android.graphics.Path);
+    method @java.lang.SafeVarargs public static <V> android.animation.PropertyValuesHolder ofMultiInt(String, android.animation.TypeConverter<V,int[]>, android.animation.TypeEvaluator<V>, V...);
+    method public static <T> android.animation.PropertyValuesHolder ofMultiInt(String, android.animation.TypeConverter<T,int[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
+    method public static android.animation.PropertyValuesHolder ofObject(String, android.animation.TypeEvaluator, java.lang.Object...);
+    method public static android.animation.PropertyValuesHolder ofObject(String, android.animation.TypeConverter<android.graphics.PointF,?>, android.graphics.Path);
+    method @java.lang.SafeVarargs public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V...);
+    method @java.lang.SafeVarargs public static <T, V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?,V>, android.animation.TypeConverter<T,V>, android.animation.TypeEvaluator<T>, T...);
+    method public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?,V>, android.animation.TypeConverter<android.graphics.PointF,V>, android.graphics.Path);
+    method public void setConverter(android.animation.TypeConverter);
+    method public void setEvaluator(android.animation.TypeEvaluator);
+    method public void setFloatValues(float...);
+    method public void setIntValues(int...);
+    method public void setKeyframes(android.animation.Keyframe...);
+    method public void setObjectValues(java.lang.Object...);
+    method public void setProperty(android.util.Property);
+    method public void setPropertyName(String);
+  }
+
+  public class RectEvaluator implements android.animation.TypeEvaluator<android.graphics.Rect> {
+    ctor public RectEvaluator();
+    ctor public RectEvaluator(android.graphics.Rect);
+    method public android.graphics.Rect evaluate(float, android.graphics.Rect, android.graphics.Rect);
+  }
+
+  public class StateListAnimator implements java.lang.Cloneable {
+    ctor public StateListAnimator();
+    method public void addState(int[], android.animation.Animator);
+    method public android.animation.StateListAnimator clone();
+    method public void jumpToCurrentState();
+  }
+
+  public class TimeAnimator extends android.animation.ValueAnimator {
+    ctor public TimeAnimator();
+    method public void setTimeListener(android.animation.TimeAnimator.TimeListener);
+  }
+
+  public static interface TimeAnimator.TimeListener {
+    method public void onTimeUpdate(android.animation.TimeAnimator, long, long);
+  }
+
+  public interface TimeInterpolator {
+    method public float getInterpolation(float);
+  }
+
+  public abstract class TypeConverter<T, V> {
+    ctor public TypeConverter(Class<T>, Class<V>);
+    method public abstract V convert(T);
+  }
+
+  public interface TypeEvaluator<T> {
+    method public T evaluate(float, T, T);
+  }
+
+  public class ValueAnimator extends android.animation.Animator {
+    ctor public ValueAnimator();
+    method public void addUpdateListener(android.animation.ValueAnimator.AnimatorUpdateListener);
+    method public static boolean areAnimatorsEnabled();
+    method public android.animation.ValueAnimator clone();
+    method public float getAnimatedFraction();
+    method public Object getAnimatedValue();
+    method public Object getAnimatedValue(String);
+    method public long getCurrentPlayTime();
+    method public long getDuration();
+    method public static long getFrameDelay();
+    method public int getRepeatCount();
+    method public int getRepeatMode();
+    method public long getStartDelay();
+    method public android.animation.PropertyValuesHolder[] getValues();
+    method public boolean isRunning();
+    method public static android.animation.ValueAnimator ofArgb(int...);
+    method public static android.animation.ValueAnimator ofFloat(float...);
+    method public static android.animation.ValueAnimator ofInt(int...);
+    method public static android.animation.ValueAnimator ofObject(android.animation.TypeEvaluator, java.lang.Object...);
+    method public static android.animation.ValueAnimator ofPropertyValuesHolder(android.animation.PropertyValuesHolder...);
+    method public void removeAllUpdateListeners();
+    method public void removeUpdateListener(android.animation.ValueAnimator.AnimatorUpdateListener);
+    method public void reverse();
+    method public void setCurrentFraction(float);
+    method public void setCurrentPlayTime(long);
+    method public android.animation.ValueAnimator setDuration(long);
+    method public void setEvaluator(android.animation.TypeEvaluator);
+    method public void setFloatValues(float...);
+    method public static void setFrameDelay(long);
+    method public void setIntValues(int...);
+    method public void setInterpolator(android.animation.TimeInterpolator);
+    method public void setObjectValues(java.lang.Object...);
+    method public void setRepeatCount(int);
+    method public void setRepeatMode(int);
+    method public void setStartDelay(long);
+    method public void setValues(android.animation.PropertyValuesHolder...);
+    field public static final int INFINITE = -1; // 0xffffffff
+    field public static final int RESTART = 1; // 0x1
+    field public static final int REVERSE = 2; // 0x2
+  }
+
+  public static interface ValueAnimator.AnimatorUpdateListener {
+    method public void onAnimationUpdate(android.animation.ValueAnimator);
+  }
+
+}
+
+package android.annotation {
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.LOCAL_VARIABLE}) public @interface SuppressLint {
+    method public abstract String[] value();
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.FIELD}) public @interface TargetApi {
+    method public abstract int value();
+  }
+
+}
+
+package android.app {
+
+  public abstract class ActionBar {
+    ctor public ActionBar();
+    method public abstract void addOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener);
+    method @Deprecated public abstract void addTab(android.app.ActionBar.Tab);
+    method @Deprecated public abstract void addTab(android.app.ActionBar.Tab, boolean);
+    method @Deprecated public abstract void addTab(android.app.ActionBar.Tab, int);
+    method @Deprecated public abstract void addTab(android.app.ActionBar.Tab, int, boolean);
+    method public abstract android.view.View getCustomView();
+    method public abstract int getDisplayOptions();
+    method public float getElevation();
+    method public abstract int getHeight();
+    method public int getHideOffset();
+    method @Deprecated public abstract int getNavigationItemCount();
+    method @Deprecated public abstract int getNavigationMode();
+    method @Deprecated public abstract int getSelectedNavigationIndex();
+    method @Deprecated public abstract android.app.ActionBar.Tab getSelectedTab();
+    method public abstract CharSequence getSubtitle();
+    method @Deprecated public abstract android.app.ActionBar.Tab getTabAt(int);
+    method @Deprecated public abstract int getTabCount();
+    method public android.content.Context getThemedContext();
+    method public abstract CharSequence getTitle();
+    method public abstract void hide();
+    method public boolean isHideOnContentScrollEnabled();
+    method public abstract boolean isShowing();
+    method @Deprecated public abstract android.app.ActionBar.Tab newTab();
+    method @Deprecated public abstract void removeAllTabs();
+    method public abstract void removeOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener);
+    method @Deprecated public abstract void removeTab(android.app.ActionBar.Tab);
+    method @Deprecated public abstract void removeTabAt(int);
+    method @Deprecated public abstract void selectTab(android.app.ActionBar.Tab);
+    method public abstract void setBackgroundDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public abstract void setCustomView(android.view.View);
+    method public abstract void setCustomView(android.view.View, android.app.ActionBar.LayoutParams);
+    method public abstract void setCustomView(@LayoutRes int);
+    method public abstract void setDisplayHomeAsUpEnabled(boolean);
+    method public abstract void setDisplayOptions(int);
+    method public abstract void setDisplayOptions(int, int);
+    method public abstract void setDisplayShowCustomEnabled(boolean);
+    method public abstract void setDisplayShowHomeEnabled(boolean);
+    method public abstract void setDisplayShowTitleEnabled(boolean);
+    method public abstract void setDisplayUseLogoEnabled(boolean);
+    method public void setElevation(float);
+    method public void setHideOffset(int);
+    method public void setHideOnContentScrollEnabled(boolean);
+    method public void setHomeActionContentDescription(CharSequence);
+    method public void setHomeActionContentDescription(@StringRes int);
+    method public void setHomeAsUpIndicator(android.graphics.drawable.Drawable);
+    method public void setHomeAsUpIndicator(@DrawableRes int);
+    method public void setHomeButtonEnabled(boolean);
+    method public abstract void setIcon(@DrawableRes int);
+    method public abstract void setIcon(android.graphics.drawable.Drawable);
+    method @Deprecated public abstract void setListNavigationCallbacks(android.widget.SpinnerAdapter, android.app.ActionBar.OnNavigationListener);
+    method public abstract void setLogo(@DrawableRes int);
+    method public abstract void setLogo(android.graphics.drawable.Drawable);
+    method @Deprecated public abstract void setNavigationMode(int);
+    method @Deprecated public abstract void setSelectedNavigationItem(int);
+    method public void setSplitBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setStackedBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public abstract void setSubtitle(CharSequence);
+    method public abstract void setSubtitle(@StringRes int);
+    method public abstract void setTitle(CharSequence);
+    method public abstract void setTitle(@StringRes int);
+    method public abstract void show();
+    field public static final int DISPLAY_HOME_AS_UP = 4; // 0x4
+    field public static final int DISPLAY_SHOW_CUSTOM = 16; // 0x10
+    field public static final int DISPLAY_SHOW_HOME = 2; // 0x2
+    field public static final int DISPLAY_SHOW_TITLE = 8; // 0x8
+    field public static final int DISPLAY_USE_LOGO = 1; // 0x1
+    field @Deprecated public static final int NAVIGATION_MODE_LIST = 1; // 0x1
+    field @Deprecated public static final int NAVIGATION_MODE_STANDARD = 0; // 0x0
+    field @Deprecated public static final int NAVIGATION_MODE_TABS = 2; // 0x2
+  }
+
+  public static class ActionBar.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+    ctor public ActionBar.LayoutParams(@NonNull android.content.Context, android.util.AttributeSet);
+    ctor public ActionBar.LayoutParams(int, int);
+    ctor public ActionBar.LayoutParams(int, int, int);
+    ctor public ActionBar.LayoutParams(int);
+    ctor public ActionBar.LayoutParams(android.app.ActionBar.LayoutParams);
+    ctor public ActionBar.LayoutParams(android.view.ViewGroup.LayoutParams);
+    field public int gravity;
+  }
+
+  public static interface ActionBar.OnMenuVisibilityListener {
+    method public void onMenuVisibilityChanged(boolean);
+  }
+
+  @Deprecated public static interface ActionBar.OnNavigationListener {
+    method @Deprecated public boolean onNavigationItemSelected(int, long);
+  }
+
+  @Deprecated public abstract static class ActionBar.Tab {
+    ctor @Deprecated public ActionBar.Tab();
+    method @Deprecated public abstract CharSequence getContentDescription();
+    method @Deprecated public abstract android.view.View getCustomView();
+    method @Deprecated public abstract android.graphics.drawable.Drawable getIcon();
+    method @Deprecated public abstract int getPosition();
+    method @Deprecated public abstract Object getTag();
+    method @Deprecated public abstract CharSequence getText();
+    method @Deprecated public abstract void select();
+    method @Deprecated public abstract android.app.ActionBar.Tab setContentDescription(@StringRes int);
+    method @Deprecated public abstract android.app.ActionBar.Tab setContentDescription(CharSequence);
+    method @Deprecated public abstract android.app.ActionBar.Tab setCustomView(android.view.View);
+    method @Deprecated public abstract android.app.ActionBar.Tab setCustomView(@LayoutRes int);
+    method @Deprecated public abstract android.app.ActionBar.Tab setIcon(android.graphics.drawable.Drawable);
+    method @Deprecated public abstract android.app.ActionBar.Tab setIcon(@DrawableRes int);
+    method @Deprecated public abstract android.app.ActionBar.Tab setTabListener(android.app.ActionBar.TabListener);
+    method @Deprecated public abstract android.app.ActionBar.Tab setTag(Object);
+    method @Deprecated public abstract android.app.ActionBar.Tab setText(CharSequence);
+    method @Deprecated public abstract android.app.ActionBar.Tab setText(@StringRes int);
+    field @Deprecated public static final int INVALID_POSITION = -1; // 0xffffffff
+  }
+
+  @Deprecated public static interface ActionBar.TabListener {
+    method @Deprecated public void onTabReselected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
+    method @Deprecated public void onTabSelected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
+    method @Deprecated public void onTabUnselected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
+  }
+
+  @UiContext public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
+    ctor public Activity();
+    method public void addContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public void closeContextMenu();
+    method public void closeOptionsMenu();
+    method public android.app.PendingIntent createPendingResult(int, @NonNull android.content.Intent, int);
+    method @Deprecated public final void dismissDialog(int);
+    method public final void dismissKeyboardShortcutsHelper();
+    method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+    method public boolean dispatchKeyEvent(android.view.KeyEvent);
+    method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+    method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public boolean dispatchTouchEvent(android.view.MotionEvent);
+    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+    method public void dump(@NonNull String, @Nullable java.io.FileDescriptor, @NonNull java.io.PrintWriter, @Nullable String[]);
+    method @Deprecated public void enterPictureInPictureMode();
+    method public boolean enterPictureInPictureMode(@NonNull android.app.PictureInPictureParams);
+    method public <T extends android.view.View> T findViewById(@IdRes int);
+    method public void finish();
+    method public void finishActivity(int);
+    method @Deprecated public void finishActivityFromChild(@NonNull android.app.Activity, int);
+    method public void finishAffinity();
+    method public void finishAfterTransition();
+    method public void finishAndRemoveTask();
+    method @Deprecated public void finishFromChild(android.app.Activity);
+    method @Nullable public android.app.ActionBar getActionBar();
+    method public final android.app.Application getApplication();
+    method @Nullable public android.content.ComponentName getCallingActivity();
+    method @Nullable public String getCallingPackage();
+    method public int getChangingConfigurations();
+    method public android.content.ComponentName getComponentName();
+    method public android.transition.Scene getContentScene();
+    method public android.transition.TransitionManager getContentTransitionManager();
+    method @Nullable public android.view.View getCurrentFocus();
+    method @Deprecated public android.app.FragmentManager getFragmentManager();
+    method public android.content.Intent getIntent();
+    method @Nullable public Object getLastNonConfigurationInstance();
+    method @NonNull public android.view.LayoutInflater getLayoutInflater();
+    method @Deprecated public android.app.LoaderManager getLoaderManager();
+    method @NonNull public String getLocalClassName();
+    method public int getMaxNumPictureInPictureActions();
+    method public final android.media.session.MediaController getMediaController();
+    method @NonNull public android.view.MenuInflater getMenuInflater();
+    method public final android.app.Activity getParent();
+    method @Nullable public android.content.Intent getParentActivityIntent();
+    method public android.content.SharedPreferences getPreferences(int);
+    method @Nullable public android.net.Uri getReferrer();
+    method public int getRequestedOrientation();
+    method public final android.view.SearchEvent getSearchEvent();
+    method @NonNull public final android.window.SplashScreen getSplashScreen();
+    method public int getTaskId();
+    method public final CharSequence getTitle();
+    method public final int getTitleColor();
+    method public android.app.VoiceInteractor getVoiceInteractor();
+    method public final int getVolumeControlStream();
+    method public android.view.Window getWindow();
+    method public android.view.WindowManager getWindowManager();
+    method public boolean hasWindowFocus();
+    method public void invalidateOptionsMenu();
+    method public boolean isActivityTransitionRunning();
+    method public boolean isChangingConfigurations();
+    method public final boolean isChild();
+    method public boolean isDestroyed();
+    method public boolean isFinishing();
+    method public boolean isImmersive();
+    method public boolean isInMultiWindowMode();
+    method public boolean isInPictureInPictureMode();
+    method public boolean isLaunchedFromBubble();
+    method public boolean isLocalVoiceInteractionSupported();
+    method public boolean isTaskRoot();
+    method public boolean isVoiceInteraction();
+    method public boolean isVoiceInteractionRoot();
+    method @Deprecated public final android.database.Cursor managedQuery(android.net.Uri, String[], String, String[], String);
+    method public boolean moveTaskToBack(boolean);
+    method public boolean navigateUpTo(android.content.Intent);
+    method @Deprecated public boolean navigateUpToFromChild(android.app.Activity, android.content.Intent);
+    method @CallSuper public void onActionModeFinished(android.view.ActionMode);
+    method @CallSuper public void onActionModeStarted(android.view.ActionMode);
+    method public void onActivityReenter(int, android.content.Intent);
+    method protected void onActivityResult(int, int, android.content.Intent);
+    method @Deprecated public void onAttachFragment(android.app.Fragment);
+    method public void onAttachedToWindow();
+    method public void onBackPressed();
+    method protected void onChildTitleChanged(android.app.Activity, CharSequence);
+    method public void onConfigurationChanged(@NonNull android.content.res.Configuration);
+    method public void onContentChanged();
+    method public boolean onContextItemSelected(@NonNull android.view.MenuItem);
+    method public void onContextMenuClosed(@NonNull android.view.Menu);
+    method @CallSuper @MainThread protected void onCreate(@Nullable android.os.Bundle);
+    method public void onCreate(@Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
+    method public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+    method @Nullable public CharSequence onCreateDescription();
+    method @Deprecated protected android.app.Dialog onCreateDialog(int);
+    method @Deprecated @Nullable protected android.app.Dialog onCreateDialog(int, android.os.Bundle);
+    method public void onCreateNavigateUpTaskStack(android.app.TaskStackBuilder);
+    method public boolean onCreateOptionsMenu(android.view.Menu);
+    method public boolean onCreatePanelMenu(int, @NonNull android.view.Menu);
+    method @Nullable public android.view.View onCreatePanelView(int);
+    method @Deprecated public boolean onCreateThumbnail(android.graphics.Bitmap, android.graphics.Canvas);
+    method @Nullable public android.view.View onCreateView(@NonNull String, @NonNull android.content.Context, @NonNull android.util.AttributeSet);
+    method @Nullable public android.view.View onCreateView(@Nullable android.view.View, @NonNull String, @NonNull android.content.Context, @NonNull android.util.AttributeSet);
+    method @CallSuper protected void onDestroy();
+    method public void onDetachedFromWindow();
+    method public void onEnterAnimationComplete();
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public void onGetDirectActions(@NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<java.util.List<android.app.DirectAction>>);
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyShortcut(int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public void onLocalVoiceInteractionStarted();
+    method public void onLocalVoiceInteractionStopped();
+    method public void onLowMemory();
+    method public boolean onMenuItemSelected(int, @NonNull android.view.MenuItem);
+    method public boolean onMenuOpened(int, @NonNull android.view.Menu);
+    method public void onMultiWindowModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public void onMultiWindowModeChanged(boolean);
+    method public boolean onNavigateUp();
+    method @Deprecated public boolean onNavigateUpFromChild(android.app.Activity);
+    method protected void onNewIntent(android.content.Intent);
+    method public boolean onOptionsItemSelected(@NonNull android.view.MenuItem);
+    method public void onOptionsMenuClosed(android.view.Menu);
+    method public void onPanelClosed(int, @NonNull android.view.Menu);
+    method @CallSuper protected void onPause();
+    method public void onPerformDirectAction(@NonNull String, @NonNull android.os.Bundle, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.os.Bundle>);
+    method public void onPictureInPictureModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public void onPictureInPictureModeChanged(boolean);
+    method public boolean onPictureInPictureRequested();
+    method public void onPictureInPictureUiStateChanged(@NonNull android.app.PictureInPictureUiState);
+    method @CallSuper protected void onPostCreate(@Nullable android.os.Bundle);
+    method public void onPostCreate(@Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
+    method @CallSuper protected void onPostResume();
+    method @Deprecated protected void onPrepareDialog(int, android.app.Dialog);
+    method @Deprecated protected void onPrepareDialog(int, android.app.Dialog, android.os.Bundle);
+    method public void onPrepareNavigateUpTaskStack(android.app.TaskStackBuilder);
+    method public boolean onPrepareOptionsMenu(android.view.Menu);
+    method public boolean onPreparePanel(int, @Nullable android.view.View, @NonNull android.view.Menu);
+    method public void onProvideAssistContent(android.app.assist.AssistContent);
+    method public void onProvideAssistData(android.os.Bundle);
+    method public android.net.Uri onProvideReferrer();
+    method public void onRequestPermissionsResult(int, @NonNull String[], @NonNull int[]);
+    method @CallSuper protected void onRestart();
+    method protected void onRestoreInstanceState(@NonNull android.os.Bundle);
+    method public void onRestoreInstanceState(@Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
+    method @CallSuper protected void onResume();
+    method public Object onRetainNonConfigurationInstance();
+    method protected void onSaveInstanceState(@NonNull android.os.Bundle);
+    method public void onSaveInstanceState(@NonNull android.os.Bundle, @NonNull android.os.PersistableBundle);
+    method public boolean onSearchRequested(@Nullable android.view.SearchEvent);
+    method public boolean onSearchRequested();
+    method @CallSuper protected void onStart();
+    method @Deprecated public void onStateNotSaved();
+    method @CallSuper protected void onStop();
+    method protected void onTitleChanged(CharSequence, int);
+    method public void onTopResumedActivityChanged(boolean);
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.view.MotionEvent);
+    method public void onTrimMemory(int);
+    method public void onUserInteraction();
+    method protected void onUserLeaveHint();
+    method @Deprecated @CallSuper public void onVisibleBehindCanceled();
+    method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+    method public void onWindowFocusChanged(boolean);
+    method @Nullable public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method @Nullable public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
+    method public void openContextMenu(android.view.View);
+    method public void openOptionsMenu();
+    method public void overridePendingTransition(int, int);
+    method public void postponeEnterTransition();
+    method public void recreate();
+    method public void registerActivityLifecycleCallbacks(@NonNull android.app.Application.ActivityLifecycleCallbacks);
+    method public void registerForContextMenu(android.view.View);
+    method public boolean releaseInstance();
+    method @Deprecated public final void removeDialog(int);
+    method public void reportFullyDrawn();
+    method public android.view.DragAndDropPermissions requestDragAndDropPermissions(android.view.DragEvent);
+    method public final void requestPermissions(@NonNull String[], int);
+    method public final void requestShowKeyboardShortcuts();
+    method @Deprecated public boolean requestVisibleBehind(boolean);
+    method public final boolean requestWindowFeature(int);
+    method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
+    method public final void runOnUiThread(Runnable);
+    method public void setActionBar(@Nullable android.widget.Toolbar);
+    method public void setContentTransitionManager(android.transition.TransitionManager);
+    method public void setContentView(@LayoutRes int);
+    method public void setContentView(android.view.View);
+    method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public final void setDefaultKeyMode(int);
+    method public void setEnterSharedElementCallback(android.app.SharedElementCallback);
+    method public void setExitSharedElementCallback(android.app.SharedElementCallback);
+    method public final void setFeatureDrawable(int, android.graphics.drawable.Drawable);
+    method public final void setFeatureDrawableAlpha(int, int);
+    method public final void setFeatureDrawableResource(int, @DrawableRes int);
+    method public final void setFeatureDrawableUri(int, android.net.Uri);
+    method public void setFinishOnTouchOutside(boolean);
+    method public void setImmersive(boolean);
+    method public void setInheritShowWhenLocked(boolean);
+    method public void setIntent(android.content.Intent);
+    method public void setLocusContext(@Nullable android.content.LocusId, @Nullable android.os.Bundle);
+    method public final void setMediaController(android.media.session.MediaController);
+    method public void setPictureInPictureParams(@NonNull android.app.PictureInPictureParams);
+    method @Deprecated public final void setProgress(int);
+    method @Deprecated public final void setProgressBarIndeterminate(boolean);
+    method @Deprecated public final void setProgressBarIndeterminateVisibility(boolean);
+    method @Deprecated public final void setProgressBarVisibility(boolean);
+    method public void setRequestedOrientation(int);
+    method public final void setResult(int);
+    method public final void setResult(int, android.content.Intent);
+    method @Deprecated public final void setSecondaryProgress(int);
+    method public void setShowWhenLocked(boolean);
+    method public void setTaskDescription(android.app.ActivityManager.TaskDescription);
+    method public void setTitle(CharSequence);
+    method public void setTitle(int);
+    method @Deprecated public void setTitleColor(int);
+    method public boolean setTranslucent(boolean);
+    method public void setTurnScreenOn(boolean);
+    method public void setVisible(boolean);
+    method public final void setVolumeControlStream(int);
+    method public void setVrModeEnabled(boolean, @NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public boolean shouldShowRequestPermissionRationale(@NonNull String);
+    method public boolean shouldUpRecreateTask(android.content.Intent);
+    method public boolean showAssist(android.os.Bundle);
+    method @Deprecated public final void showDialog(int);
+    method @Deprecated public final boolean showDialog(int, android.os.Bundle);
+    method public void showLockTaskEscapeMessage();
+    method @Nullable public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
+    method @Nullable public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int);
+    method public void startActivityForResult(@RequiresPermission android.content.Intent, int);
+    method public void startActivityForResult(@RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle);
+    method @Deprecated public void startActivityFromChild(@NonNull android.app.Activity, @RequiresPermission android.content.Intent, int);
+    method @Deprecated public void startActivityFromChild(@NonNull android.app.Activity, @RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle);
+    method @Deprecated public void startActivityFromFragment(@NonNull android.app.Fragment, @RequiresPermission android.content.Intent, int);
+    method @Deprecated public void startActivityFromFragment(@NonNull android.app.Fragment, @RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle);
+    method public boolean startActivityIfNeeded(@NonNull @RequiresPermission android.content.Intent, int);
+    method public boolean startActivityIfNeeded(@NonNull @RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle);
+    method public void startIntentSenderForResult(android.content.IntentSender, int, @Nullable android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+    method public void startIntentSenderForResult(android.content.IntentSender, int, @Nullable android.content.Intent, int, int, int, @Nullable android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method @Deprecated public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+    method @Deprecated public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int, @Nullable android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method public void startLocalVoiceInteraction(android.os.Bundle);
+    method public void startLockTask();
+    method @Deprecated public void startManagingCursor(android.database.Cursor);
+    method public boolean startNextMatchingActivity(@NonNull @RequiresPermission android.content.Intent);
+    method public boolean startNextMatchingActivity(@NonNull @RequiresPermission android.content.Intent, @Nullable android.os.Bundle);
+    method public void startPostponedEnterTransition();
+    method public void startSearch(@Nullable String, boolean, @Nullable android.os.Bundle, boolean);
+    method public void stopLocalVoiceInteraction();
+    method public void stopLockTask();
+    method @Deprecated public void stopManagingCursor(android.database.Cursor);
+    method public void takeKeyEvents(boolean);
+    method public void triggerSearch(String, @Nullable android.os.Bundle);
+    method public void unregisterActivityLifecycleCallbacks(@NonNull android.app.Application.ActivityLifecycleCallbacks);
+    method public void unregisterForContextMenu(android.view.View);
+    field public static final int DEFAULT_KEYS_DIALER = 1; // 0x1
+    field public static final int DEFAULT_KEYS_DISABLE = 0; // 0x0
+    field public static final int DEFAULT_KEYS_SEARCH_GLOBAL = 4; // 0x4
+    field public static final int DEFAULT_KEYS_SEARCH_LOCAL = 3; // 0x3
+    field public static final int DEFAULT_KEYS_SHORTCUT = 2; // 0x2
+    field protected static final int[] FOCUSED_STATE_SET;
+    field public static final int RESULT_CANCELED = 0; // 0x0
+    field public static final int RESULT_FIRST_USER = 1; // 0x1
+    field public static final int RESULT_OK = -1; // 0xffffffff
+  }
+
+  @Deprecated public class ActivityGroup extends android.app.Activity {
+    ctor @Deprecated public ActivityGroup();
+    ctor @Deprecated public ActivityGroup(boolean);
+    method @Deprecated public android.app.Activity getCurrentActivity();
+    method @Deprecated public final android.app.LocalActivityManager getLocalActivityManager();
+  }
+
+  public class ActivityManager {
+    method public int addAppTask(@NonNull android.app.Activity, @NonNull android.content.Intent, @Nullable android.app.ActivityManager.TaskDescription, @NonNull android.graphics.Bitmap);
+    method public void appNotResponding(@NonNull String);
+    method public boolean clearApplicationUserData();
+    method public void clearWatchHeapLimit();
+    method @RequiresPermission(android.Manifest.permission.DUMP) public void dumpPackageState(java.io.FileDescriptor, String);
+    method public android.util.Size getAppTaskThumbnailSize();
+    method public java.util.List<android.app.ActivityManager.AppTask> getAppTasks();
+    method public android.content.pm.ConfigurationInfo getDeviceConfigurationInfo();
+    method @NonNull public java.util.List<android.app.ApplicationExitInfo> getHistoricalProcessExitReasons(@Nullable String, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public int getLargeMemoryClass();
+    method public int getLauncherLargeIconDensity();
+    method public int getLauncherLargeIconSize();
+    method public int getLockTaskModeState();
+    method public int getMemoryClass();
+    method public void getMemoryInfo(android.app.ActivityManager.MemoryInfo);
+    method public static void getMyMemoryState(android.app.ActivityManager.RunningAppProcessInfo);
+    method public android.os.Debug.MemoryInfo[] getProcessMemoryInfo(int[]);
+    method public java.util.List<android.app.ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState();
+    method @Deprecated public java.util.List<android.app.ActivityManager.RecentTaskInfo> getRecentTasks(int, int) throws java.lang.SecurityException;
+    method public java.util.List<android.app.ActivityManager.RunningAppProcessInfo> getRunningAppProcesses();
+    method public android.app.PendingIntent getRunningServiceControlPanel(android.content.ComponentName) throws java.lang.SecurityException;
+    method @Deprecated public java.util.List<android.app.ActivityManager.RunningServiceInfo> getRunningServices(int) throws java.lang.SecurityException;
+    method @Deprecated public java.util.List<android.app.ActivityManager.RunningTaskInfo> getRunningTasks(int) throws java.lang.SecurityException;
+    method public boolean isActivityStartAllowedOnDisplay(@NonNull android.content.Context, int, @NonNull android.content.Intent);
+    method public boolean isBackgroundRestricted();
+    method @Deprecated public boolean isInLockTaskMode();
+    method public static boolean isLowMemoryKillReportSupported();
+    method public boolean isLowRamDevice();
+    method @Deprecated public static boolean isRunningInTestHarness();
+    method public static boolean isRunningInUserTestHarness();
+    method public static boolean isUserAMonkey();
+    method @RequiresPermission(android.Manifest.permission.KILL_BACKGROUND_PROCESSES) public void killBackgroundProcesses(String);
+    method @RequiresPermission(android.Manifest.permission.REORDER_TASKS) public void moveTaskToFront(int, int);
+    method @RequiresPermission(android.Manifest.permission.REORDER_TASKS) public void moveTaskToFront(int, int, android.os.Bundle);
+    method @Deprecated public void restartPackage(String);
+    method public void setProcessStateSummary(@Nullable byte[]);
+    method public static void setVrThread(int);
+    method public void setWatchHeapLimit(long);
+    field public static final String ACTION_REPORT_HEAP_LIMIT = "android.app.action.REPORT_HEAP_LIMIT";
+    field public static final int LOCK_TASK_MODE_LOCKED = 1; // 0x1
+    field public static final int LOCK_TASK_MODE_NONE = 0; // 0x0
+    field public static final int LOCK_TASK_MODE_PINNED = 2; // 0x2
+    field public static final String META_HOME_ALTERNATE = "android.app.home.alternate";
+    field public static final int MOVE_TASK_NO_USER_ACTION = 2; // 0x2
+    field public static final int MOVE_TASK_WITH_HOME = 1; // 0x1
+    field public static final int RECENT_IGNORE_UNAVAILABLE = 2; // 0x2
+    field public static final int RECENT_WITH_EXCLUDED = 1; // 0x1
+  }
+
+  public static class ActivityManager.AppTask {
+    method public void finishAndRemoveTask();
+    method public android.app.ActivityManager.RecentTaskInfo getTaskInfo();
+    method public void moveToFront();
+    method public void setExcludeFromRecents(boolean);
+    method public void startActivity(android.content.Context, android.content.Intent, android.os.Bundle);
+  }
+
+  public static class ActivityManager.MemoryInfo implements android.os.Parcelable {
+    ctor public ActivityManager.MemoryInfo();
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.MemoryInfo> CREATOR;
+    field public long availMem;
+    field public boolean lowMemory;
+    field public long threshold;
+    field public long totalMem;
+  }
+
+  public static class ActivityManager.ProcessErrorStateInfo implements android.os.Parcelable {
+    ctor public ActivityManager.ProcessErrorStateInfo();
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CRASHED = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.ProcessErrorStateInfo> CREATOR;
+    field public static final int NOT_RESPONDING = 2; // 0x2
+    field public static final int NO_ERROR = 0; // 0x0
+    field public int condition;
+    field public byte[] crashData;
+    field public String longMsg;
+    field public int pid;
+    field public String processName;
+    field public String shortMsg;
+    field public String stackTrace;
+    field public String tag;
+    field public int uid;
+  }
+
+  public static class ActivityManager.RecentTaskInfo extends android.app.TaskInfo implements android.os.Parcelable {
+    ctor public ActivityManager.RecentTaskInfo();
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RecentTaskInfo> CREATOR;
+    field @Deprecated public int affiliatedTaskId;
+    field @Deprecated public CharSequence description;
+    field @Deprecated public int id;
+    field @Deprecated public int persistentId;
+  }
+
+  public static class ActivityManager.RunningAppProcessInfo implements android.os.Parcelable {
+    ctor public ActivityManager.RunningAppProcessInfo();
+    ctor public ActivityManager.RunningAppProcessInfo(String, int, String[]);
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningAppProcessInfo> CREATOR;
+    field @Deprecated public static final int IMPORTANCE_BACKGROUND = 400; // 0x190
+    field public static final int IMPORTANCE_CACHED = 400; // 0x190
+    field public static final int IMPORTANCE_CANT_SAVE_STATE = 350; // 0x15e
+    field @Deprecated public static final int IMPORTANCE_EMPTY = 500; // 0x1f4
+    field public static final int IMPORTANCE_FOREGROUND = 100; // 0x64
+    field public static final int IMPORTANCE_FOREGROUND_SERVICE = 125; // 0x7d
+    field public static final int IMPORTANCE_GONE = 1000; // 0x3e8
+    field public static final int IMPORTANCE_PERCEPTIBLE = 230; // 0xe6
+    field public static final int IMPORTANCE_PERCEPTIBLE_PRE_26 = 130; // 0x82
+    field public static final int IMPORTANCE_SERVICE = 300; // 0x12c
+    field public static final int IMPORTANCE_TOP_SLEEPING = 325; // 0x145
+    field @Deprecated public static final int IMPORTANCE_TOP_SLEEPING_PRE_28 = 150; // 0x96
+    field public static final int IMPORTANCE_VISIBLE = 200; // 0xc8
+    field public static final int REASON_PROVIDER_IN_USE = 1; // 0x1
+    field public static final int REASON_SERVICE_IN_USE = 2; // 0x2
+    field public static final int REASON_UNKNOWN = 0; // 0x0
+    field public int importance;
+    field public int importanceReasonCode;
+    field public android.content.ComponentName importanceReasonComponent;
+    field public int importanceReasonPid;
+    field public int lastTrimLevel;
+    field public int lru;
+    field public int pid;
+    field public String[] pkgList;
+    field public String processName;
+    field public int uid;
+  }
+
+  public static class ActivityManager.RunningServiceInfo implements android.os.Parcelable {
+    ctor public ActivityManager.RunningServiceInfo();
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningServiceInfo> CREATOR;
+    field public static final int FLAG_FOREGROUND = 2; // 0x2
+    field public static final int FLAG_PERSISTENT_PROCESS = 8; // 0x8
+    field public static final int FLAG_STARTED = 1; // 0x1
+    field public static final int FLAG_SYSTEM_PROCESS = 4; // 0x4
+    field public long activeSince;
+    field public int clientCount;
+    field public int clientLabel;
+    field public String clientPackage;
+    field public int crashCount;
+    field public int flags;
+    field public boolean foreground;
+    field public long lastActivityTime;
+    field public int pid;
+    field public String process;
+    field public long restarting;
+    field public android.content.ComponentName service;
+    field public boolean started;
+    field public int uid;
+  }
+
+  public static class ActivityManager.RunningTaskInfo extends android.app.TaskInfo implements android.os.Parcelable {
+    ctor public ActivityManager.RunningTaskInfo();
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningTaskInfo> CREATOR;
+    field @Deprecated public CharSequence description;
+    field @Deprecated public int id;
+    field @Deprecated public int numRunning;
+    field @Deprecated public android.graphics.Bitmap thumbnail;
+  }
+
+  public static class ActivityManager.TaskDescription implements android.os.Parcelable {
+    ctor public ActivityManager.TaskDescription(String, @DrawableRes int, int);
+    ctor public ActivityManager.TaskDescription(String, @DrawableRes int);
+    ctor public ActivityManager.TaskDescription(String);
+    ctor public ActivityManager.TaskDescription();
+    ctor @Deprecated public ActivityManager.TaskDescription(String, android.graphics.Bitmap, int);
+    ctor @Deprecated public ActivityManager.TaskDescription(String, android.graphics.Bitmap);
+    ctor public ActivityManager.TaskDescription(android.app.ActivityManager.TaskDescription);
+    method public int describeContents();
+    method @Deprecated public android.graphics.Bitmap getIcon();
+    method public String getLabel();
+    method public int getPrimaryColor();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.TaskDescription> CREATOR;
+  }
+
+  public class ActivityOptions {
+    method @Nullable public android.graphics.Rect getLaunchBounds();
+    method public int getLaunchDisplayId();
+    method public boolean getLockTaskMode();
+    method public static android.app.ActivityOptions makeBasic();
+    method public static android.app.ActivityOptions makeClipRevealAnimation(android.view.View, int, int, int, int);
+    method public static android.app.ActivityOptions makeCustomAnimation(android.content.Context, int, int);
+    method public static android.app.ActivityOptions makeScaleUpAnimation(android.view.View, int, int, int, int);
+    method public static android.app.ActivityOptions makeSceneTransitionAnimation(android.app.Activity, android.view.View, String);
+    method @java.lang.SafeVarargs public static android.app.ActivityOptions makeSceneTransitionAnimation(android.app.Activity, android.util.Pair<android.view.View,java.lang.String>...);
+    method public static android.app.ActivityOptions makeTaskLaunchBehind();
+    method public static android.app.ActivityOptions makeThumbnailScaleUpAnimation(android.view.View, android.graphics.Bitmap, int, int);
+    method public void requestUsageTimeReport(android.app.PendingIntent);
+    method public android.app.ActivityOptions setAppVerificationBundle(android.os.Bundle);
+    method public android.app.ActivityOptions setLaunchBounds(@Nullable android.graphics.Rect);
+    method public android.app.ActivityOptions setLaunchDisplayId(int);
+    method public android.app.ActivityOptions setLockTaskEnabled(boolean);
+    method public android.os.Bundle toBundle();
+    method public void update(android.app.ActivityOptions);
+    field public static final String EXTRA_USAGE_TIME_REPORT = "android.activity.usage_time";
+    field public static final String EXTRA_USAGE_TIME_REPORT_PACKAGES = "android.usage_time_packages";
+  }
+
+  public class AlarmManager {
+    method public boolean canScheduleExactAlarms();
+    method public void cancel(android.app.PendingIntent);
+    method public void cancel(android.app.AlarmManager.OnAlarmListener);
+    method public android.app.AlarmManager.AlarmClockInfo getNextAlarmClock();
+    method public void set(int, long, android.app.PendingIntent);
+    method public void set(int, long, String, android.app.AlarmManager.OnAlarmListener, android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.SCHEDULE_EXACT_ALARM) public void setAlarmClock(android.app.AlarmManager.AlarmClockInfo, android.app.PendingIntent);
+    method public void setAndAllowWhileIdle(int, long, android.app.PendingIntent);
+    method @RequiresPermission(value=android.Manifest.permission.SCHEDULE_EXACT_ALARM, conditional=true) public void setExact(int, long, android.app.PendingIntent);
+    method @RequiresPermission(value=android.Manifest.permission.SCHEDULE_EXACT_ALARM, conditional=true) public void setExact(int, long, String, android.app.AlarmManager.OnAlarmListener, android.os.Handler);
+    method @RequiresPermission(value=android.Manifest.permission.SCHEDULE_EXACT_ALARM, conditional=true) public void setExactAndAllowWhileIdle(int, long, android.app.PendingIntent);
+    method public void setInexactRepeating(int, long, long, android.app.PendingIntent);
+    method public void setRepeating(int, long, long, android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.SET_TIME) public void setTime(long);
+    method @RequiresPermission(android.Manifest.permission.SET_TIME_ZONE) public void setTimeZone(String);
+    method public void setWindow(int, long, long, android.app.PendingIntent);
+    method public void setWindow(int, long, long, String, android.app.AlarmManager.OnAlarmListener, android.os.Handler);
+    field public static final String ACTION_NEXT_ALARM_CLOCK_CHANGED = "android.app.action.NEXT_ALARM_CLOCK_CHANGED";
+    field public static final String ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED = "android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED";
+    field public static final int ELAPSED_REALTIME = 3; // 0x3
+    field public static final int ELAPSED_REALTIME_WAKEUP = 2; // 0x2
+    field public static final long INTERVAL_DAY = 86400000L; // 0x5265c00L
+    field public static final long INTERVAL_FIFTEEN_MINUTES = 900000L; // 0xdbba0L
+    field public static final long INTERVAL_HALF_DAY = 43200000L; // 0x2932e00L
+    field public static final long INTERVAL_HALF_HOUR = 1800000L; // 0x1b7740L
+    field public static final long INTERVAL_HOUR = 3600000L; // 0x36ee80L
+    field public static final int RTC = 1; // 0x1
+    field public static final int RTC_WAKEUP = 0; // 0x0
+  }
+
+  public static final class AlarmManager.AlarmClockInfo implements android.os.Parcelable {
+    ctor public AlarmManager.AlarmClockInfo(long, android.app.PendingIntent);
+    method public int describeContents();
+    method public android.app.PendingIntent getShowIntent();
+    method public long getTriggerTime();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AlarmManager.AlarmClockInfo> CREATOR;
+  }
+
+  public static interface AlarmManager.OnAlarmListener {
+    method public void onAlarm();
+  }
+
+  public class AlertDialog extends android.app.Dialog implements android.content.DialogInterface {
+    ctor protected AlertDialog(android.content.Context);
+    ctor protected AlertDialog(android.content.Context, boolean, android.content.DialogInterface.OnCancelListener);
+    ctor protected AlertDialog(android.content.Context, @StyleRes int);
+    method public android.widget.Button getButton(int);
+    method public android.widget.ListView getListView();
+    method public void setButton(int, CharSequence, android.os.Message);
+    method public void setButton(int, CharSequence, android.content.DialogInterface.OnClickListener);
+    method @Deprecated public void setButton(CharSequence, android.os.Message);
+    method @Deprecated public void setButton(CharSequence, android.content.DialogInterface.OnClickListener);
+    method @Deprecated public void setButton2(CharSequence, android.os.Message);
+    method @Deprecated public void setButton2(CharSequence, android.content.DialogInterface.OnClickListener);
+    method @Deprecated public void setButton3(CharSequence, android.os.Message);
+    method @Deprecated public void setButton3(CharSequence, android.content.DialogInterface.OnClickListener);
+    method public void setCustomTitle(android.view.View);
+    method public void setIcon(@DrawableRes int);
+    method public void setIcon(android.graphics.drawable.Drawable);
+    method public void setIconAttribute(@AttrRes int);
+    method public void setInverseBackgroundForced(boolean);
+    method public void setMessage(CharSequence);
+    method public void setView(android.view.View);
+    method public void setView(android.view.View, int, int, int, int);
+    field @Deprecated public static final int THEME_DEVICE_DEFAULT_DARK = 4; // 0x4
+    field @Deprecated public static final int THEME_DEVICE_DEFAULT_LIGHT = 5; // 0x5
+    field @Deprecated public static final int THEME_HOLO_DARK = 2; // 0x2
+    field @Deprecated public static final int THEME_HOLO_LIGHT = 3; // 0x3
+    field @Deprecated public static final int THEME_TRADITIONAL = 1; // 0x1
+  }
+
+  public static class AlertDialog.Builder {
+    ctor public AlertDialog.Builder(android.content.Context);
+    ctor public AlertDialog.Builder(android.content.Context, int);
+    method public android.app.AlertDialog create();
+    method public android.content.Context getContext();
+    method public android.app.AlertDialog.Builder setAdapter(android.widget.ListAdapter, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setCancelable(boolean);
+    method public android.app.AlertDialog.Builder setCursor(android.database.Cursor, android.content.DialogInterface.OnClickListener, String);
+    method public android.app.AlertDialog.Builder setCustomTitle(android.view.View);
+    method public android.app.AlertDialog.Builder setIcon(@DrawableRes int);
+    method public android.app.AlertDialog.Builder setIcon(android.graphics.drawable.Drawable);
+    method public android.app.AlertDialog.Builder setIconAttribute(@AttrRes int);
+    method @Deprecated public android.app.AlertDialog.Builder setInverseBackgroundForced(boolean);
+    method public android.app.AlertDialog.Builder setItems(@ArrayRes int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setItems(CharSequence[], android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setMessage(@StringRes int);
+    method public android.app.AlertDialog.Builder setMessage(CharSequence);
+    method public android.app.AlertDialog.Builder setMultiChoiceItems(@ArrayRes int, boolean[], android.content.DialogInterface.OnMultiChoiceClickListener);
+    method public android.app.AlertDialog.Builder setMultiChoiceItems(CharSequence[], boolean[], android.content.DialogInterface.OnMultiChoiceClickListener);
+    method public android.app.AlertDialog.Builder setMultiChoiceItems(android.database.Cursor, String, String, android.content.DialogInterface.OnMultiChoiceClickListener);
+    method public android.app.AlertDialog.Builder setNegativeButton(@StringRes int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setNegativeButton(CharSequence, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setNeutralButton(@StringRes int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setNeutralButton(CharSequence, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setOnCancelListener(android.content.DialogInterface.OnCancelListener);
+    method public android.app.AlertDialog.Builder setOnDismissListener(android.content.DialogInterface.OnDismissListener);
+    method public android.app.AlertDialog.Builder setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener);
+    method public android.app.AlertDialog.Builder setOnKeyListener(android.content.DialogInterface.OnKeyListener);
+    method public android.app.AlertDialog.Builder setPositiveButton(@StringRes int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setPositiveButton(CharSequence, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setSingleChoiceItems(@ArrayRes int, int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setSingleChoiceItems(android.database.Cursor, int, String, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setSingleChoiceItems(CharSequence[], int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setSingleChoiceItems(android.widget.ListAdapter, int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setTitle(@StringRes int);
+    method public android.app.AlertDialog.Builder setTitle(CharSequence);
+    method public android.app.AlertDialog.Builder setView(int);
+    method public android.app.AlertDialog.Builder setView(android.view.View);
+    method public android.app.AlertDialog show();
+  }
+
+  @Deprecated public class AliasActivity extends android.app.Activity {
+    ctor @Deprecated public AliasActivity();
+  }
+
+  public class AppComponentFactory {
+    ctor public AppComponentFactory();
+    method @NonNull public android.app.Activity instantiateActivity(@NonNull ClassLoader, @NonNull String, @Nullable android.content.Intent) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @NonNull public android.app.Application instantiateApplication(@NonNull ClassLoader, @NonNull String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @NonNull public ClassLoader instantiateClassLoader(@NonNull ClassLoader, @NonNull android.content.pm.ApplicationInfo);
+    method @NonNull public android.content.ContentProvider instantiateProvider(@NonNull ClassLoader, @NonNull String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @NonNull public android.content.BroadcastReceiver instantiateReceiver(@NonNull ClassLoader, @NonNull String, @Nullable android.content.Intent) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @NonNull public android.app.Service instantiateService(@NonNull ClassLoader, @NonNull String, @Nullable android.content.Intent) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+  }
+
+  public class AppOpsManager {
+    method @Deprecated public int checkOp(@NonNull String, int, @NonNull String);
+    method @Deprecated public int checkOpNoThrow(@NonNull String, int, @NonNull String);
+    method @Deprecated public void checkPackage(int, @NonNull String);
+    method @Deprecated public void finishOp(@NonNull String, int, @NonNull String);
+    method public void finishOp(@NonNull String, int, @NonNull String, @Nullable String);
+    method public void finishProxyOp(@NonNull String, int, @NonNull String, @Nullable String);
+    method public boolean isOpActive(@NonNull String, int, @NonNull String);
+    method @Deprecated public int noteOp(@NonNull String, int, @NonNull String);
+    method public int noteOp(@NonNull String, int, @Nullable String, @Nullable String, @Nullable String);
+    method @Deprecated public int noteOpNoThrow(@NonNull String, int, @NonNull String);
+    method public int noteOpNoThrow(@NonNull String, int, @NonNull String, @Nullable String, @Nullable String);
+    method @Deprecated public int noteProxyOp(@NonNull String, @NonNull String);
+    method public int noteProxyOp(@NonNull String, @Nullable String, int, @Nullable String, @Nullable String);
+    method @Deprecated public int noteProxyOpNoThrow(@NonNull String, @NonNull String);
+    method @Deprecated public int noteProxyOpNoThrow(@NonNull String, @Nullable String, int);
+    method public int noteProxyOpNoThrow(@NonNull String, @Nullable String, int, @Nullable String, @Nullable String);
+    method @Nullable public static String permissionToOp(@NonNull String);
+    method public void setOnOpNotedCallback(@Nullable java.util.concurrent.Executor, @Nullable android.app.AppOpsManager.OnOpNotedCallback);
+    method @Deprecated public int startOp(@NonNull String, int, @NonNull String);
+    method public int startOp(@NonNull String, int, @Nullable String, @Nullable String, @Nullable String);
+    method @Deprecated public int startOpNoThrow(@NonNull String, int, @NonNull String);
+    method public int startOpNoThrow(@NonNull String, int, @NonNull String, @NonNull String, @Nullable String);
+    method public int startProxyOp(@NonNull String, int, @NonNull String, @Nullable String, @Nullable String);
+    method public int startProxyOpNoThrow(@NonNull String, int, @NonNull String, @Nullable String, @Nullable String);
+    method public void startWatchingActive(@NonNull String[], @NonNull java.util.concurrent.Executor, @NonNull android.app.AppOpsManager.OnOpActiveChangedListener);
+    method public void startWatchingMode(@NonNull String, @Nullable String, @NonNull android.app.AppOpsManager.OnOpChangedListener);
+    method public void startWatchingMode(@NonNull String, @Nullable String, int, @NonNull android.app.AppOpsManager.OnOpChangedListener);
+    method public void stopWatchingActive(@NonNull android.app.AppOpsManager.OnOpActiveChangedListener);
+    method public void stopWatchingMode(@NonNull android.app.AppOpsManager.OnOpChangedListener);
+    method public int unsafeCheckOp(@NonNull String, int, @NonNull String);
+    method public int unsafeCheckOpNoThrow(@NonNull String, int, @NonNull String);
+    method public int unsafeCheckOpRaw(@NonNull String, int, @NonNull String);
+    method public int unsafeCheckOpRawNoThrow(@NonNull String, int, @NonNull String);
+    field public static final int MODE_ALLOWED = 0; // 0x0
+    field public static final int MODE_DEFAULT = 3; // 0x3
+    field public static final int MODE_ERRORED = 2; // 0x2
+    field public static final int MODE_FOREGROUND = 4; // 0x4
+    field public static final int MODE_IGNORED = 1; // 0x1
+    field public static final String OPSTR_ADD_VOICEMAIL = "android:add_voicemail";
+    field public static final String OPSTR_ANSWER_PHONE_CALLS = "android:answer_phone_calls";
+    field public static final String OPSTR_BODY_SENSORS = "android:body_sensors";
+    field public static final String OPSTR_CALL_PHONE = "android:call_phone";
+    field public static final String OPSTR_CAMERA = "android:camera";
+    field public static final String OPSTR_COARSE_LOCATION = "android:coarse_location";
+    field public static final String OPSTR_FINE_LOCATION = "android:fine_location";
+    field public static final String OPSTR_GET_USAGE_STATS = "android:get_usage_stats";
+    field public static final String OPSTR_MOCK_LOCATION = "android:mock_location";
+    field public static final String OPSTR_MONITOR_HIGH_POWER_LOCATION = "android:monitor_location_high_power";
+    field public static final String OPSTR_MONITOR_LOCATION = "android:monitor_location";
+    field public static final String OPSTR_PICTURE_IN_PICTURE = "android:picture_in_picture";
+    field public static final String OPSTR_PROCESS_OUTGOING_CALLS = "android:process_outgoing_calls";
+    field public static final String OPSTR_READ_CALENDAR = "android:read_calendar";
+    field public static final String OPSTR_READ_CALL_LOG = "android:read_call_log";
+    field public static final String OPSTR_READ_CELL_BROADCASTS = "android:read_cell_broadcasts";
+    field public static final String OPSTR_READ_CONTACTS = "android:read_contacts";
+    field public static final String OPSTR_READ_EXTERNAL_STORAGE = "android:read_external_storage";
+    field public static final String OPSTR_READ_PHONE_NUMBERS = "android:read_phone_numbers";
+    field public static final String OPSTR_READ_PHONE_STATE = "android:read_phone_state";
+    field public static final String OPSTR_READ_SMS = "android:read_sms";
+    field public static final String OPSTR_RECEIVE_MMS = "android:receive_mms";
+    field public static final String OPSTR_RECEIVE_SMS = "android:receive_sms";
+    field public static final String OPSTR_RECEIVE_WAP_PUSH = "android:receive_wap_push";
+    field public static final String OPSTR_RECORD_AUDIO = "android:record_audio";
+    field public static final String OPSTR_SEND_SMS = "android:send_sms";
+    field public static final String OPSTR_SYSTEM_ALERT_WINDOW = "android:system_alert_window";
+    field public static final String OPSTR_USE_FINGERPRINT = "android:use_fingerprint";
+    field public static final String OPSTR_USE_SIP = "android:use_sip";
+    field public static final String OPSTR_WRITE_CALENDAR = "android:write_calendar";
+    field public static final String OPSTR_WRITE_CALL_LOG = "android:write_call_log";
+    field public static final String OPSTR_WRITE_CONTACTS = "android:write_contacts";
+    field public static final String OPSTR_WRITE_EXTERNAL_STORAGE = "android:write_external_storage";
+    field public static final String OPSTR_WRITE_SETTINGS = "android:write_settings";
+    field public static final int WATCH_FOREGROUND_CHANGES = 1; // 0x1
+  }
+
+  public static interface AppOpsManager.OnOpActiveChangedListener {
+    method public void onOpActiveChanged(@NonNull String, int, @NonNull String, boolean);
+  }
+
+  public static interface AppOpsManager.OnOpChangedListener {
+    method public void onOpChanged(String, String);
+  }
+
+  public abstract static class AppOpsManager.OnOpNotedCallback {
+    ctor public AppOpsManager.OnOpNotedCallback();
+    method public abstract void onAsyncNoted(@NonNull android.app.AsyncNotedAppOp);
+    method public abstract void onNoted(@NonNull android.app.SyncNotedAppOp);
+    method public abstract void onSelfNoted(@NonNull android.app.SyncNotedAppOp);
+  }
+
+  public class Application extends android.content.ContextWrapper implements android.content.ComponentCallbacks2 {
+    ctor public Application();
+    method public static String getProcessName();
+    method @CallSuper public void onConfigurationChanged(@NonNull android.content.res.Configuration);
+    method @CallSuper public void onCreate();
+    method @CallSuper public void onLowMemory();
+    method @CallSuper public void onTerminate();
+    method @CallSuper public void onTrimMemory(int);
+    method public void registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks);
+    method public void registerOnProvideAssistDataListener(android.app.Application.OnProvideAssistDataListener);
+    method public void unregisterActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks);
+    method public void unregisterOnProvideAssistDataListener(android.app.Application.OnProvideAssistDataListener);
+  }
+
+  public static interface Application.ActivityLifecycleCallbacks {
+    method public void onActivityCreated(@NonNull android.app.Activity, @Nullable android.os.Bundle);
+    method public void onActivityDestroyed(@NonNull android.app.Activity);
+    method public void onActivityPaused(@NonNull android.app.Activity);
+    method public default void onActivityPostCreated(@NonNull android.app.Activity, @Nullable android.os.Bundle);
+    method public default void onActivityPostDestroyed(@NonNull android.app.Activity);
+    method public default void onActivityPostPaused(@NonNull android.app.Activity);
+    method public default void onActivityPostResumed(@NonNull android.app.Activity);
+    method public default void onActivityPostSaveInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle);
+    method public default void onActivityPostStarted(@NonNull android.app.Activity);
+    method public default void onActivityPostStopped(@NonNull android.app.Activity);
+    method public default void onActivityPreCreated(@NonNull android.app.Activity, @Nullable android.os.Bundle);
+    method public default void onActivityPreDestroyed(@NonNull android.app.Activity);
+    method public default void onActivityPrePaused(@NonNull android.app.Activity);
+    method public default void onActivityPreResumed(@NonNull android.app.Activity);
+    method public default void onActivityPreSaveInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle);
+    method public default void onActivityPreStarted(@NonNull android.app.Activity);
+    method public default void onActivityPreStopped(@NonNull android.app.Activity);
+    method public void onActivityResumed(@NonNull android.app.Activity);
+    method public void onActivitySaveInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle);
+    method public void onActivityStarted(@NonNull android.app.Activity);
+    method public void onActivityStopped(@NonNull android.app.Activity);
+  }
+
+  public static interface Application.OnProvideAssistDataListener {
+    method public void onProvideAssistData(android.app.Activity, android.os.Bundle);
+  }
+
+  public class ApplicationErrorReport implements android.os.Parcelable {
+    ctor public ApplicationErrorReport();
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public static android.content.ComponentName getErrorReportReceiver(android.content.Context, String, int);
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ApplicationErrorReport> CREATOR;
+    field public static final int TYPE_ANR = 2; // 0x2
+    field public static final int TYPE_BATTERY = 3; // 0x3
+    field public static final int TYPE_CRASH = 1; // 0x1
+    field public static final int TYPE_NONE = 0; // 0x0
+    field public static final int TYPE_RUNNING_SERVICE = 5; // 0x5
+    field public android.app.ApplicationErrorReport.AnrInfo anrInfo;
+    field public android.app.ApplicationErrorReport.BatteryInfo batteryInfo;
+    field public android.app.ApplicationErrorReport.CrashInfo crashInfo;
+    field public String installerPackageName;
+    field public String packageName;
+    field public String processName;
+    field public android.app.ApplicationErrorReport.RunningServiceInfo runningServiceInfo;
+    field public boolean systemApp;
+    field public long time;
+    field public int type;
+  }
+
+  public static class ApplicationErrorReport.AnrInfo {
+    ctor public ApplicationErrorReport.AnrInfo();
+    ctor public ApplicationErrorReport.AnrInfo(android.os.Parcel);
+    method public void dump(android.util.Printer, String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public String activity;
+    field public String cause;
+    field public String info;
+  }
+
+  public static class ApplicationErrorReport.BatteryInfo {
+    ctor public ApplicationErrorReport.BatteryInfo();
+    ctor public ApplicationErrorReport.BatteryInfo(android.os.Parcel);
+    method public void dump(android.util.Printer, String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public String checkinDetails;
+    field public long durationMicros;
+    field public String usageDetails;
+    field public int usagePercent;
+  }
+
+  public static class ApplicationErrorReport.CrashInfo {
+    ctor public ApplicationErrorReport.CrashInfo();
+    ctor public ApplicationErrorReport.CrashInfo(Throwable);
+    ctor public ApplicationErrorReport.CrashInfo(android.os.Parcel);
+    method public void dump(android.util.Printer, String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public String exceptionClassName;
+    field public String exceptionMessage;
+    field public String stackTrace;
+    field public String throwClassName;
+    field public String throwFileName;
+    field public int throwLineNumber;
+    field public String throwMethodName;
+  }
+
+  public static class ApplicationErrorReport.RunningServiceInfo {
+    ctor public ApplicationErrorReport.RunningServiceInfo();
+    ctor public ApplicationErrorReport.RunningServiceInfo(android.os.Parcel);
+    method public void dump(android.util.Printer, String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public long durationMillis;
+    field public String serviceDetails;
+  }
+
+  public final class ApplicationExitInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getDefiningUid();
+    method @Nullable public String getDescription();
+    method public int getImportance();
+    method public int getPackageUid();
+    method public int getPid();
+    method @NonNull public String getProcessName();
+    method @Nullable public byte[] getProcessStateSummary();
+    method public long getPss();
+    method public int getRealUid();
+    method public int getReason();
+    method public long getRss();
+    method public int getStatus();
+    method public long getTimestamp();
+    method @Nullable public java.io.InputStream getTraceInputStream() throws java.io.IOException;
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ApplicationExitInfo> CREATOR;
+    field public static final int REASON_ANR = 6; // 0x6
+    field public static final int REASON_CRASH = 4; // 0x4
+    field public static final int REASON_CRASH_NATIVE = 5; // 0x5
+    field public static final int REASON_DEPENDENCY_DIED = 12; // 0xc
+    field public static final int REASON_EXCESSIVE_RESOURCE_USAGE = 9; // 0x9
+    field public static final int REASON_EXIT_SELF = 1; // 0x1
+    field public static final int REASON_INITIALIZATION_FAILURE = 7; // 0x7
+    field public static final int REASON_LOW_MEMORY = 3; // 0x3
+    field public static final int REASON_OTHER = 13; // 0xd
+    field public static final int REASON_PERMISSION_CHANGE = 8; // 0x8
+    field public static final int REASON_SIGNALED = 2; // 0x2
+    field public static final int REASON_UNKNOWN = 0; // 0x0
+    field public static final int REASON_USER_REQUESTED = 10; // 0xa
+    field public static final int REASON_USER_STOPPED = 11; // 0xb
+  }
+
+  public final class AsyncNotedAppOp implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getAttributionTag();
+    method @NonNull public String getMessage();
+    method @IntRange(from=0) public int getNotingUid();
+    method @NonNull public String getOp();
+    method public long getTime();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AsyncNotedAppOp> CREATOR;
+  }
+
+  public final class AuthenticationRequiredException extends java.lang.SecurityException implements android.os.Parcelable {
+    ctor public AuthenticationRequiredException(Throwable, android.app.PendingIntent);
+    method public int describeContents();
+    method public android.app.PendingIntent getUserAction();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AuthenticationRequiredException> CREATOR;
+  }
+
+  public final class AutomaticZenRule implements android.os.Parcelable {
+    ctor @Deprecated public AutomaticZenRule(String, android.content.ComponentName, android.net.Uri, int, boolean);
+    ctor public AutomaticZenRule(@NonNull String, @Nullable android.content.ComponentName, @Nullable android.content.ComponentName, @NonNull android.net.Uri, @Nullable android.service.notification.ZenPolicy, int, boolean);
+    ctor public AutomaticZenRule(android.os.Parcel);
+    method public int describeContents();
+    method public android.net.Uri getConditionId();
+    method @Nullable public android.content.ComponentName getConfigurationActivity();
+    method public long getCreationTime();
+    method public int getInterruptionFilter();
+    method public String getName();
+    method public android.content.ComponentName getOwner();
+    method public android.service.notification.ZenPolicy getZenPolicy();
+    method public boolean isEnabled();
+    method public void setConditionId(android.net.Uri);
+    method public void setConfigurationActivity(@Nullable android.content.ComponentName);
+    method public void setEnabled(boolean);
+    method public void setInterruptionFilter(int);
+    method public void setName(String);
+    method public void setZenPolicy(android.service.notification.ZenPolicy);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AutomaticZenRule> CREATOR;
+  }
+
+  public final class BackgroundServiceStartNotAllowedException extends android.app.ServiceStartNotAllowedException implements android.os.Parcelable {
+    ctor public BackgroundServiceStartNotAllowedException(@NonNull String);
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.BackgroundServiceStartNotAllowedException> CREATOR;
+  }
+
+  public class DatePickerDialog extends android.app.AlertDialog implements android.widget.DatePicker.OnDateChangedListener android.content.DialogInterface.OnClickListener {
+    ctor public DatePickerDialog(@NonNull android.content.Context);
+    ctor public DatePickerDialog(@NonNull android.content.Context, @StyleRes int);
+    ctor public DatePickerDialog(@NonNull android.content.Context, @Nullable android.app.DatePickerDialog.OnDateSetListener, int, int, int);
+    ctor public DatePickerDialog(@NonNull android.content.Context, @StyleRes int, @Nullable android.app.DatePickerDialog.OnDateSetListener, int, int, int);
+    method @NonNull public android.widget.DatePicker getDatePicker();
+    method public void onClick(@NonNull android.content.DialogInterface, int);
+    method public void onDateChanged(@NonNull android.widget.DatePicker, int, int, int);
+    method public void setOnDateSetListener(@Nullable android.app.DatePickerDialog.OnDateSetListener);
+    method public void updateDate(int, int, int);
+  }
+
+  public static interface DatePickerDialog.OnDateSetListener {
+    method public void onDateSet(android.widget.DatePicker, int, int, int);
+  }
+
+  public class Dialog implements android.content.DialogInterface android.view.KeyEvent.Callback android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
+    ctor public Dialog(@NonNull @UiContext android.content.Context);
+    ctor public Dialog(@NonNull @UiContext android.content.Context, @StyleRes int);
+    ctor protected Dialog(@NonNull @UiContext android.content.Context, boolean, @Nullable android.content.DialogInterface.OnCancelListener);
+    method public void addContentView(@NonNull android.view.View, @Nullable android.view.ViewGroup.LayoutParams);
+    method public void cancel();
+    method public void closeOptionsMenu();
+    method public void create();
+    method public void dismiss();
+    method public boolean dispatchGenericMotionEvent(@NonNull android.view.MotionEvent);
+    method public boolean dispatchKeyEvent(@NonNull android.view.KeyEvent);
+    method public boolean dispatchKeyShortcutEvent(@NonNull android.view.KeyEvent);
+    method public boolean dispatchPopulateAccessibilityEvent(@NonNull android.view.accessibility.AccessibilityEvent);
+    method public boolean dispatchTouchEvent(@NonNull android.view.MotionEvent);
+    method public boolean dispatchTrackballEvent(@NonNull android.view.MotionEvent);
+    method public <T extends android.view.View> T findViewById(@IdRes int);
+    method @Nullable public android.app.ActionBar getActionBar();
+    method @NonNull @UiContext public final android.content.Context getContext();
+    method @Nullable public android.view.View getCurrentFocus();
+    method @NonNull public android.view.LayoutInflater getLayoutInflater();
+    method @Nullable public final android.app.Activity getOwnerActivity();
+    method @Nullable public final android.view.SearchEvent getSearchEvent();
+    method public final int getVolumeControlStream();
+    method @Nullable public android.view.Window getWindow();
+    method public void hide();
+    method public void invalidateOptionsMenu();
+    method public boolean isShowing();
+    method @CallSuper public void onActionModeFinished(android.view.ActionMode);
+    method @CallSuper public void onActionModeStarted(android.view.ActionMode);
+    method public void onAttachedToWindow();
+    method public void onBackPressed();
+    method public void onContentChanged();
+    method public boolean onContextItemSelected(@NonNull android.view.MenuItem);
+    method public void onContextMenuClosed(@NonNull android.view.Menu);
+    method protected void onCreate(android.os.Bundle);
+    method public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+    method public boolean onCreateOptionsMenu(@NonNull android.view.Menu);
+    method public boolean onCreatePanelMenu(int, @NonNull android.view.Menu);
+    method public android.view.View onCreatePanelView(int);
+    method public void onDetachedFromWindow();
+    method public boolean onGenericMotionEvent(@NonNull android.view.MotionEvent);
+    method public boolean onKeyDown(int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyShortcut(int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyUp(int, @NonNull android.view.KeyEvent);
+    method public boolean onMenuItemSelected(int, @NonNull android.view.MenuItem);
+    method public boolean onMenuOpened(int, @NonNull android.view.Menu);
+    method public boolean onOptionsItemSelected(@NonNull android.view.MenuItem);
+    method public void onOptionsMenuClosed(@NonNull android.view.Menu);
+    method public void onPanelClosed(int, @NonNull android.view.Menu);
+    method public boolean onPrepareOptionsMenu(@NonNull android.view.Menu);
+    method public boolean onPreparePanel(int, @Nullable android.view.View, @NonNull android.view.Menu);
+    method public void onRestoreInstanceState(@NonNull android.os.Bundle);
+    method @NonNull public android.os.Bundle onSaveInstanceState();
+    method public boolean onSearchRequested(@NonNull android.view.SearchEvent);
+    method public boolean onSearchRequested();
+    method protected void onStart();
+    method protected void onStop();
+    method public boolean onTouchEvent(@NonNull android.view.MotionEvent);
+    method public boolean onTrackballEvent(@NonNull android.view.MotionEvent);
+    method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+    method public void onWindowFocusChanged(boolean);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
+    method public void openContextMenu(@NonNull android.view.View);
+    method public void openOptionsMenu();
+    method public void registerForContextMenu(@NonNull android.view.View);
+    method public final boolean requestWindowFeature(int);
+    method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
+    method public void setCancelMessage(@Nullable android.os.Message);
+    method public void setCancelable(boolean);
+    method public void setCanceledOnTouchOutside(boolean);
+    method public void setContentView(@LayoutRes int);
+    method public void setContentView(@NonNull android.view.View);
+    method public void setContentView(@NonNull android.view.View, @Nullable android.view.ViewGroup.LayoutParams);
+    method public void setDismissMessage(@Nullable android.os.Message);
+    method public final void setFeatureDrawable(int, @Nullable android.graphics.drawable.Drawable);
+    method public final void setFeatureDrawableAlpha(int, int);
+    method public final void setFeatureDrawableResource(int, @DrawableRes int);
+    method public final void setFeatureDrawableUri(int, @Nullable android.net.Uri);
+    method public void setOnCancelListener(@Nullable android.content.DialogInterface.OnCancelListener);
+    method public void setOnDismissListener(@Nullable android.content.DialogInterface.OnDismissListener);
+    method public void setOnKeyListener(@Nullable android.content.DialogInterface.OnKeyListener);
+    method public void setOnShowListener(@Nullable android.content.DialogInterface.OnShowListener);
+    method public final void setOwnerActivity(@NonNull android.app.Activity);
+    method public void setTitle(@Nullable CharSequence);
+    method public void setTitle(@StringRes int);
+    method public final void setVolumeControlStream(int);
+    method public void show();
+    method public void takeKeyEvents(boolean);
+    method public void unregisterForContextMenu(@NonNull android.view.View);
+  }
+
+  @Deprecated public class DialogFragment extends android.app.Fragment implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
+    ctor @Deprecated public DialogFragment();
+    method @Deprecated public void dismiss();
+    method @Deprecated public void dismissAllowingStateLoss();
+    method @Deprecated public android.app.Dialog getDialog();
+    method @Deprecated public boolean getShowsDialog();
+    method @Deprecated public int getTheme();
+    method @Deprecated public boolean isCancelable();
+    method @Deprecated public void onCancel(android.content.DialogInterface);
+    method @Deprecated public android.app.Dialog onCreateDialog(android.os.Bundle);
+    method @Deprecated public void onDismiss(android.content.DialogInterface);
+    method public android.view.LayoutInflater onGetLayoutInflater(android.os.Bundle);
+    method @Deprecated public void setCancelable(boolean);
+    method @Deprecated public void setShowsDialog(boolean);
+    method @Deprecated public void setStyle(int, int);
+    method @Deprecated public void show(android.app.FragmentManager, String);
+    method @Deprecated public int show(android.app.FragmentTransaction, String);
+    field @Deprecated public static final int STYLE_NORMAL = 0; // 0x0
+    field @Deprecated public static final int STYLE_NO_FRAME = 2; // 0x2
+    field @Deprecated public static final int STYLE_NO_INPUT = 3; // 0x3
+    field @Deprecated public static final int STYLE_NO_TITLE = 1; // 0x1
+  }
+
+  public final class DirectAction implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.os.Bundle getExtras();
+    method @NonNull public String getId();
+    method @Nullable public android.content.LocusId getLocusId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.DirectAction> CREATOR;
+  }
+
+  public static final class DirectAction.Builder {
+    ctor public DirectAction.Builder(@NonNull String);
+    method @NonNull public android.app.DirectAction build();
+    method @NonNull public android.app.DirectAction.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.app.DirectAction.Builder setLocusId(@Nullable android.content.LocusId);
+  }
+
+  public class DownloadManager {
+    method @Deprecated public long addCompletedDownload(String, String, boolean, String, String, long, boolean);
+    method @Deprecated public long addCompletedDownload(String, String, boolean, String, String, long, boolean, android.net.Uri, android.net.Uri);
+    method public long enqueue(android.app.DownloadManager.Request);
+    method public static Long getMaxBytesOverMobile(android.content.Context);
+    method public String getMimeTypeForDownloadedFile(long);
+    method public static Long getRecommendedMaxBytesOverMobile(android.content.Context);
+    method public android.net.Uri getUriForDownloadedFile(long);
+    method public android.os.ParcelFileDescriptor openDownloadedFile(long) throws java.io.FileNotFoundException;
+    method public android.database.Cursor query(android.app.DownloadManager.Query);
+    method public int remove(long...);
+    field public static final String ACTION_DOWNLOAD_COMPLETE = "android.intent.action.DOWNLOAD_COMPLETE";
+    field public static final String ACTION_NOTIFICATION_CLICKED = "android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED";
+    field public static final String ACTION_VIEW_DOWNLOADS = "android.intent.action.VIEW_DOWNLOADS";
+    field public static final String COLUMN_BYTES_DOWNLOADED_SO_FAR = "bytes_so_far";
+    field public static final String COLUMN_DESCRIPTION = "description";
+    field public static final String COLUMN_ID = "_id";
+    field public static final String COLUMN_LAST_MODIFIED_TIMESTAMP = "last_modified_timestamp";
+    field @Deprecated public static final String COLUMN_LOCAL_FILENAME = "local_filename";
+    field public static final String COLUMN_LOCAL_URI = "local_uri";
+    field public static final String COLUMN_MEDIAPROVIDER_URI = "mediaprovider_uri";
+    field public static final String COLUMN_MEDIA_TYPE = "media_type";
+    field public static final String COLUMN_REASON = "reason";
+    field public static final String COLUMN_STATUS = "status";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_TOTAL_SIZE_BYTES = "total_size";
+    field public static final String COLUMN_URI = "uri";
+    field public static final int ERROR_CANNOT_RESUME = 1008; // 0x3f0
+    field public static final int ERROR_DEVICE_NOT_FOUND = 1007; // 0x3ef
+    field public static final int ERROR_FILE_ALREADY_EXISTS = 1009; // 0x3f1
+    field public static final int ERROR_FILE_ERROR = 1001; // 0x3e9
+    field public static final int ERROR_HTTP_DATA_ERROR = 1004; // 0x3ec
+    field public static final int ERROR_INSUFFICIENT_SPACE = 1006; // 0x3ee
+    field public static final int ERROR_TOO_MANY_REDIRECTS = 1005; // 0x3ed
+    field public static final int ERROR_UNHANDLED_HTTP_CODE = 1002; // 0x3ea
+    field public static final int ERROR_UNKNOWN = 1000; // 0x3e8
+    field public static final String EXTRA_DOWNLOAD_ID = "extra_download_id";
+    field public static final String EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS = "extra_click_download_ids";
+    field public static final String INTENT_EXTRAS_SORT_BY_SIZE = "android.app.DownloadManager.extra_sortBySize";
+    field public static final int PAUSED_QUEUED_FOR_WIFI = 3; // 0x3
+    field public static final int PAUSED_UNKNOWN = 4; // 0x4
+    field public static final int PAUSED_WAITING_FOR_NETWORK = 2; // 0x2
+    field public static final int PAUSED_WAITING_TO_RETRY = 1; // 0x1
+    field public static final int STATUS_FAILED = 16; // 0x10
+    field public static final int STATUS_PAUSED = 4; // 0x4
+    field public static final int STATUS_PENDING = 1; // 0x1
+    field public static final int STATUS_RUNNING = 2; // 0x2
+    field public static final int STATUS_SUCCESSFUL = 8; // 0x8
+  }
+
+  public static class DownloadManager.Query {
+    ctor public DownloadManager.Query();
+    method public android.app.DownloadManager.Query setFilterById(long...);
+    method public android.app.DownloadManager.Query setFilterByStatus(int);
+  }
+
+  public static class DownloadManager.Request {
+    ctor public DownloadManager.Request(android.net.Uri);
+    method public android.app.DownloadManager.Request addRequestHeader(String, String);
+    method @Deprecated public void allowScanningByMediaScanner();
+    method public android.app.DownloadManager.Request setAllowedNetworkTypes(int);
+    method public android.app.DownloadManager.Request setAllowedOverMetered(boolean);
+    method public android.app.DownloadManager.Request setAllowedOverRoaming(boolean);
+    method public android.app.DownloadManager.Request setDescription(CharSequence);
+    method public android.app.DownloadManager.Request setDestinationInExternalFilesDir(android.content.Context, String, String);
+    method public android.app.DownloadManager.Request setDestinationInExternalPublicDir(String, String);
+    method public android.app.DownloadManager.Request setDestinationUri(android.net.Uri);
+    method public android.app.DownloadManager.Request setMimeType(String);
+    method public android.app.DownloadManager.Request setNotificationVisibility(int);
+    method public android.app.DownloadManager.Request setRequiresCharging(boolean);
+    method public android.app.DownloadManager.Request setRequiresDeviceIdle(boolean);
+    method @Deprecated public android.app.DownloadManager.Request setShowRunningNotification(boolean);
+    method public android.app.DownloadManager.Request setTitle(CharSequence);
+    method @Deprecated public android.app.DownloadManager.Request setVisibleInDownloadsUi(boolean);
+    field public static final int NETWORK_MOBILE = 1; // 0x1
+    field public static final int NETWORK_WIFI = 2; // 0x2
+    field public static final int VISIBILITY_HIDDEN = 2; // 0x2
+    field public static final int VISIBILITY_VISIBLE = 0; // 0x0
+    field public static final int VISIBILITY_VISIBLE_NOTIFY_COMPLETED = 1; // 0x1
+    field public static final int VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION = 3; // 0x3
+  }
+
+  @Deprecated public class ExpandableListActivity extends android.app.Activity implements android.widget.ExpandableListView.OnChildClickListener android.widget.ExpandableListView.OnGroupCollapseListener android.widget.ExpandableListView.OnGroupExpandListener android.view.View.OnCreateContextMenuListener {
+    ctor @Deprecated public ExpandableListActivity();
+    method @Deprecated public android.widget.ExpandableListAdapter getExpandableListAdapter();
+    method @Deprecated public android.widget.ExpandableListView getExpandableListView();
+    method @Deprecated public long getSelectedId();
+    method @Deprecated public long getSelectedPosition();
+    method @Deprecated public boolean onChildClick(android.widget.ExpandableListView, android.view.View, int, int, long);
+    method @Deprecated public void onGroupCollapse(int);
+    method @Deprecated public void onGroupExpand(int);
+    method @Deprecated public void setListAdapter(android.widget.ExpandableListAdapter);
+    method @Deprecated public boolean setSelectedChild(int, int, boolean);
+    method @Deprecated public void setSelectedGroup(int);
+  }
+
+  public final class ForegroundServiceStartNotAllowedException extends android.app.ServiceStartNotAllowedException implements android.os.Parcelable {
+    ctor public ForegroundServiceStartNotAllowedException(@NonNull String);
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ForegroundServiceStartNotAllowedException> CREATOR;
+  }
+
+  @Deprecated public class Fragment implements android.content.ComponentCallbacks2 android.view.View.OnCreateContextMenuListener {
+    ctor @Deprecated public Fragment();
+    method @Deprecated public void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated public final boolean equals(@Nullable Object);
+    method @Deprecated public final android.app.Activity getActivity();
+    method @Deprecated public boolean getAllowEnterTransitionOverlap();
+    method @Deprecated public boolean getAllowReturnTransitionOverlap();
+    method @Deprecated public final android.os.Bundle getArguments();
+    method @Deprecated public final android.app.FragmentManager getChildFragmentManager();
+    method @Deprecated public android.content.Context getContext();
+    method @Deprecated public android.transition.Transition getEnterTransition();
+    method @Deprecated public android.transition.Transition getExitTransition();
+    method @Deprecated public final android.app.FragmentManager getFragmentManager();
+    method @Deprecated @Nullable public final Object getHost();
+    method @Deprecated public final int getId();
+    method @Deprecated public final android.view.LayoutInflater getLayoutInflater();
+    method @Deprecated public android.app.LoaderManager getLoaderManager();
+    method @Deprecated public final android.app.Fragment getParentFragment();
+    method @Deprecated public android.transition.Transition getReenterTransition();
+    method @Deprecated public final android.content.res.Resources getResources();
+    method @Deprecated public final boolean getRetainInstance();
+    method @Deprecated public android.transition.Transition getReturnTransition();
+    method @Deprecated public android.transition.Transition getSharedElementEnterTransition();
+    method @Deprecated public android.transition.Transition getSharedElementReturnTransition();
+    method @Deprecated public final String getString(@StringRes int);
+    method @Deprecated public final String getString(@StringRes int, java.lang.Object...);
+    method @Deprecated public final String getTag();
+    method @Deprecated public final android.app.Fragment getTargetFragment();
+    method @Deprecated public final int getTargetRequestCode();
+    method @Deprecated public final CharSequence getText(@StringRes int);
+    method @Deprecated public boolean getUserVisibleHint();
+    method @Deprecated @Nullable public android.view.View getView();
+    method @Deprecated public final int hashCode();
+    method @Deprecated public static android.app.Fragment instantiate(android.content.Context, String);
+    method @Deprecated public static android.app.Fragment instantiate(android.content.Context, String, @Nullable android.os.Bundle);
+    method @Deprecated public final boolean isAdded();
+    method @Deprecated public final boolean isDetached();
+    method @Deprecated public final boolean isHidden();
+    method @Deprecated public final boolean isInLayout();
+    method @Deprecated public final boolean isRemoving();
+    method @Deprecated public final boolean isResumed();
+    method @Deprecated public final boolean isStateSaved();
+    method @Deprecated public final boolean isVisible();
+    method @Deprecated @CallSuper public void onActivityCreated(@Nullable android.os.Bundle);
+    method @Deprecated public void onActivityResult(int, int, android.content.Intent);
+    method @Deprecated @CallSuper public void onAttach(android.content.Context);
+    method @Deprecated @CallSuper public void onAttach(android.app.Activity);
+    method @Deprecated public void onAttachFragment(android.app.Fragment);
+    method @Deprecated @CallSuper public void onConfigurationChanged(android.content.res.Configuration);
+    method @Deprecated public boolean onContextItemSelected(android.view.MenuItem);
+    method @Deprecated @CallSuper public void onCreate(@Nullable android.os.Bundle);
+    method @Deprecated public android.animation.Animator onCreateAnimator(int, boolean, int);
+    method @Deprecated public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+    method @Deprecated public void onCreateOptionsMenu(android.view.Menu, android.view.MenuInflater);
+    method @Deprecated @Nullable public android.view.View onCreateView(android.view.LayoutInflater, @Nullable android.view.ViewGroup, android.os.Bundle);
+    method @Deprecated @CallSuper public void onDestroy();
+    method @Deprecated public void onDestroyOptionsMenu();
+    method @Deprecated @CallSuper public void onDestroyView();
+    method @Deprecated @CallSuper public void onDetach();
+    method @Deprecated public android.view.LayoutInflater onGetLayoutInflater(android.os.Bundle);
+    method @Deprecated public void onHiddenChanged(boolean);
+    method @Deprecated @CallSuper public void onInflate(android.util.AttributeSet, android.os.Bundle);
+    method @Deprecated @CallSuper public void onInflate(android.content.Context, android.util.AttributeSet, android.os.Bundle);
+    method @Deprecated @CallSuper public void onInflate(android.app.Activity, android.util.AttributeSet, android.os.Bundle);
+    method @Deprecated @CallSuper public void onLowMemory();
+    method @Deprecated public void onMultiWindowModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public void onMultiWindowModeChanged(boolean);
+    method @Deprecated public boolean onOptionsItemSelected(android.view.MenuItem);
+    method @Deprecated public void onOptionsMenuClosed(android.view.Menu);
+    method @Deprecated @CallSuper public void onPause();
+    method @Deprecated public void onPictureInPictureModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public void onPictureInPictureModeChanged(boolean);
+    method @Deprecated public void onPrepareOptionsMenu(android.view.Menu);
+    method @Deprecated public void onRequestPermissionsResult(int, @NonNull String[], @NonNull int[]);
+    method @Deprecated @CallSuper public void onResume();
+    method @Deprecated public void onSaveInstanceState(android.os.Bundle);
+    method @Deprecated @CallSuper public void onStart();
+    method @Deprecated @CallSuper public void onStop();
+    method @Deprecated @CallSuper public void onTrimMemory(int);
+    method @Deprecated public void onViewCreated(android.view.View, @Nullable android.os.Bundle);
+    method @Deprecated @CallSuper public void onViewStateRestored(android.os.Bundle);
+    method @Deprecated public void postponeEnterTransition();
+    method @Deprecated public void registerForContextMenu(android.view.View);
+    method @Deprecated public final void requestPermissions(@NonNull String[], int);
+    method @Deprecated public void setAllowEnterTransitionOverlap(boolean);
+    method @Deprecated public void setAllowReturnTransitionOverlap(boolean);
+    method @Deprecated public void setArguments(android.os.Bundle);
+    method @Deprecated public void setEnterSharedElementCallback(android.app.SharedElementCallback);
+    method @Deprecated public void setEnterTransition(android.transition.Transition);
+    method @Deprecated public void setExitSharedElementCallback(android.app.SharedElementCallback);
+    method @Deprecated public void setExitTransition(android.transition.Transition);
+    method @Deprecated public void setHasOptionsMenu(boolean);
+    method @Deprecated public void setInitialSavedState(android.app.Fragment.SavedState);
+    method @Deprecated public void setMenuVisibility(boolean);
+    method @Deprecated public void setReenterTransition(android.transition.Transition);
+    method @Deprecated public void setRetainInstance(boolean);
+    method @Deprecated public void setReturnTransition(android.transition.Transition);
+    method @Deprecated public void setSharedElementEnterTransition(android.transition.Transition);
+    method @Deprecated public void setSharedElementReturnTransition(android.transition.Transition);
+    method @Deprecated public void setTargetFragment(android.app.Fragment, int);
+    method @Deprecated public void setUserVisibleHint(boolean);
+    method @Deprecated public boolean shouldShowRequestPermissionRationale(@NonNull String);
+    method @Deprecated public void startActivity(android.content.Intent);
+    method @Deprecated public void startActivity(android.content.Intent, android.os.Bundle);
+    method @Deprecated public void startActivityForResult(android.content.Intent, int);
+    method @Deprecated public void startActivityForResult(android.content.Intent, int, android.os.Bundle);
+    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender, int, @Nullable android.content.Intent, int, int, int, android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method @Deprecated public void startPostponedEnterTransition();
+    method @Deprecated public void unregisterForContextMenu(android.view.View);
+  }
+
+  @Deprecated public static class Fragment.InstantiationException extends android.util.AndroidRuntimeException {
+    ctor @Deprecated public Fragment.InstantiationException(String, Exception);
+  }
+
+  @Deprecated public static class Fragment.SavedState implements android.os.Parcelable {
+    method @Deprecated public int describeContents();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final android.os.Parcelable.ClassLoaderCreator<android.app.Fragment.SavedState> CREATOR;
+  }
+
+  @Deprecated public class FragmentBreadCrumbs extends android.view.ViewGroup implements android.app.FragmentManager.OnBackStackChangedListener {
+    ctor @Deprecated public FragmentBreadCrumbs(android.content.Context);
+    ctor @Deprecated public FragmentBreadCrumbs(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public FragmentBreadCrumbs(android.content.Context, android.util.AttributeSet, int);
+    method @Deprecated public void onBackStackChanged();
+    method @Deprecated public void setActivity(android.app.Activity);
+    method @Deprecated public void setMaxVisible(int);
+    method @Deprecated public void setOnBreadCrumbClickListener(android.app.FragmentBreadCrumbs.OnBreadCrumbClickListener);
+    method @Deprecated public void setParentTitle(CharSequence, CharSequence, android.view.View.OnClickListener);
+    method @Deprecated public void setTitle(CharSequence, CharSequence);
+  }
+
+  @Deprecated public static interface FragmentBreadCrumbs.OnBreadCrumbClickListener {
+    method @Deprecated public boolean onBreadCrumbClick(android.app.FragmentManager.BackStackEntry, int);
+  }
+
+  @Deprecated public abstract class FragmentContainer {
+    ctor @Deprecated public FragmentContainer();
+    method @Deprecated @Nullable public abstract <T extends android.view.View> T onFindViewById(@IdRes int);
+    method @Deprecated public abstract boolean onHasView();
+  }
+
+  @Deprecated public class FragmentController {
+    method @Deprecated public void attachHost(android.app.Fragment);
+    method @Deprecated public static final android.app.FragmentController createController(android.app.FragmentHostCallback<?>);
+    method @Deprecated public void dispatchActivityCreated();
+    method @Deprecated public void dispatchConfigurationChanged(android.content.res.Configuration);
+    method @Deprecated public boolean dispatchContextItemSelected(android.view.MenuItem);
+    method @Deprecated public void dispatchCreate();
+    method @Deprecated public boolean dispatchCreateOptionsMenu(android.view.Menu, android.view.MenuInflater);
+    method @Deprecated public void dispatchDestroy();
+    method @Deprecated public void dispatchDestroyView();
+    method @Deprecated public void dispatchLowMemory();
+    method @Deprecated public void dispatchMultiWindowModeChanged(boolean);
+    method @Deprecated public void dispatchMultiWindowModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public boolean dispatchOptionsItemSelected(android.view.MenuItem);
+    method @Deprecated public void dispatchOptionsMenuClosed(android.view.Menu);
+    method @Deprecated public void dispatchPause();
+    method @Deprecated public void dispatchPictureInPictureModeChanged(boolean);
+    method @Deprecated public void dispatchPictureInPictureModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public boolean dispatchPrepareOptionsMenu(android.view.Menu);
+    method @Deprecated public void dispatchResume();
+    method @Deprecated public void dispatchStart();
+    method @Deprecated public void dispatchStop();
+    method @Deprecated public void dispatchTrimMemory(int);
+    method @Deprecated public void doLoaderDestroy();
+    method @Deprecated public void doLoaderStart();
+    method @Deprecated public void doLoaderStop(boolean);
+    method @Deprecated public void dumpLoaders(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated public boolean execPendingActions();
+    method @Deprecated @Nullable public android.app.Fragment findFragmentByWho(String);
+    method @Deprecated public android.app.FragmentManager getFragmentManager();
+    method @Deprecated public android.app.LoaderManager getLoaderManager();
+    method @Deprecated public void noteStateNotSaved();
+    method @Deprecated public android.view.View onCreateView(android.view.View, String, android.content.Context, android.util.AttributeSet);
+    method @Deprecated public void reportLoaderStart();
+    method @Deprecated public void restoreAllState(android.os.Parcelable, java.util.List<android.app.Fragment>);
+    method @Deprecated public void restoreAllState(android.os.Parcelable, android.app.FragmentManagerNonConfig);
+    method @Deprecated public void restoreLoaderNonConfig(android.util.ArrayMap<java.lang.String,android.app.LoaderManager>);
+    method @Deprecated public android.util.ArrayMap<java.lang.String,android.app.LoaderManager> retainLoaderNonConfig();
+    method @Deprecated public android.app.FragmentManagerNonConfig retainNestedNonConfig();
+    method @Deprecated public java.util.List<android.app.Fragment> retainNonConfig();
+    method @Deprecated public android.os.Parcelable saveAllState();
+  }
+
+  @Deprecated public abstract class FragmentHostCallback<E> extends android.app.FragmentContainer {
+    ctor @Deprecated public FragmentHostCallback(android.content.Context, android.os.Handler, int);
+    method @Deprecated public void onAttachFragment(android.app.Fragment);
+    method @Deprecated public void onDump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated @Nullable public <T extends android.view.View> T onFindViewById(int);
+    method @Deprecated @Nullable public abstract E onGetHost();
+    method @Deprecated public android.view.LayoutInflater onGetLayoutInflater();
+    method @Deprecated public int onGetWindowAnimations();
+    method @Deprecated public boolean onHasView();
+    method @Deprecated public boolean onHasWindowAnimations();
+    method @Deprecated public void onInvalidateOptionsMenu();
+    method @Deprecated public void onRequestPermissionsFromFragment(@NonNull android.app.Fragment, @NonNull String[], int);
+    method @Deprecated public boolean onShouldSaveFragmentState(android.app.Fragment);
+    method @Deprecated public void onStartActivityFromFragment(android.app.Fragment, android.content.Intent, int, android.os.Bundle);
+    method @Deprecated public void onStartIntentSenderFromFragment(android.app.Fragment, android.content.IntentSender, int, @Nullable android.content.Intent, int, int, int, android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method @Deprecated public boolean onUseFragmentManagerInflaterFactory();
+  }
+
+  @Deprecated public abstract class FragmentManager {
+    ctor @Deprecated public FragmentManager();
+    method @Deprecated public abstract void addOnBackStackChangedListener(android.app.FragmentManager.OnBackStackChangedListener);
+    method @Deprecated public abstract android.app.FragmentTransaction beginTransaction();
+    method @Deprecated public abstract void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated public static void enableDebugLogging(boolean);
+    method @Deprecated public abstract boolean executePendingTransactions();
+    method @Deprecated public abstract android.app.Fragment findFragmentById(int);
+    method @Deprecated public abstract android.app.Fragment findFragmentByTag(String);
+    method @Deprecated public abstract android.app.FragmentManager.BackStackEntry getBackStackEntryAt(int);
+    method @Deprecated public abstract int getBackStackEntryCount();
+    method @Deprecated public abstract android.app.Fragment getFragment(android.os.Bundle, String);
+    method @Deprecated public abstract java.util.List<android.app.Fragment> getFragments();
+    method @Deprecated public abstract android.app.Fragment getPrimaryNavigationFragment();
+    method @Deprecated public void invalidateOptionsMenu();
+    method @Deprecated public abstract boolean isDestroyed();
+    method @Deprecated public abstract boolean isStateSaved();
+    method @Deprecated public abstract void popBackStack();
+    method @Deprecated public abstract void popBackStack(String, int);
+    method @Deprecated public abstract void popBackStack(int, int);
+    method @Deprecated public abstract boolean popBackStackImmediate();
+    method @Deprecated public abstract boolean popBackStackImmediate(String, int);
+    method @Deprecated public abstract boolean popBackStackImmediate(int, int);
+    method @Deprecated public abstract void putFragment(android.os.Bundle, String, android.app.Fragment);
+    method @Deprecated public abstract void registerFragmentLifecycleCallbacks(android.app.FragmentManager.FragmentLifecycleCallbacks, boolean);
+    method @Deprecated public abstract void removeOnBackStackChangedListener(android.app.FragmentManager.OnBackStackChangedListener);
+    method @Deprecated public abstract android.app.Fragment.SavedState saveFragmentInstanceState(android.app.Fragment);
+    method @Deprecated public abstract void unregisterFragmentLifecycleCallbacks(android.app.FragmentManager.FragmentLifecycleCallbacks);
+    field @Deprecated public static final int POP_BACK_STACK_INCLUSIVE = 1; // 0x1
+  }
+
+  @Deprecated public static interface FragmentManager.BackStackEntry {
+    method @Deprecated public CharSequence getBreadCrumbShortTitle();
+    method @Deprecated public int getBreadCrumbShortTitleRes();
+    method @Deprecated public CharSequence getBreadCrumbTitle();
+    method @Deprecated public int getBreadCrumbTitleRes();
+    method @Deprecated public int getId();
+    method @Deprecated public String getName();
+  }
+
+  @Deprecated public abstract static class FragmentManager.FragmentLifecycleCallbacks {
+    ctor @Deprecated public FragmentManager.FragmentLifecycleCallbacks();
+    method @Deprecated public void onFragmentActivityCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
+    method @Deprecated public void onFragmentAttached(android.app.FragmentManager, android.app.Fragment, android.content.Context);
+    method @Deprecated public void onFragmentCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
+    method @Deprecated public void onFragmentDestroyed(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentDetached(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentPaused(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentPreAttached(android.app.FragmentManager, android.app.Fragment, android.content.Context);
+    method @Deprecated public void onFragmentPreCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
+    method @Deprecated public void onFragmentResumed(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentSaveInstanceState(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
+    method @Deprecated public void onFragmentStarted(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentStopped(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentViewCreated(android.app.FragmentManager, android.app.Fragment, android.view.View, android.os.Bundle);
+    method @Deprecated public void onFragmentViewDestroyed(android.app.FragmentManager, android.app.Fragment);
+  }
+
+  @Deprecated public static interface FragmentManager.OnBackStackChangedListener {
+    method @Deprecated public void onBackStackChanged();
+  }
+
+  @Deprecated public class FragmentManagerNonConfig {
+  }
+
+  @Deprecated public abstract class FragmentTransaction {
+    ctor @Deprecated public FragmentTransaction();
+    method @Deprecated public abstract android.app.FragmentTransaction add(android.app.Fragment, String);
+    method @Deprecated public abstract android.app.FragmentTransaction add(@IdRes int, android.app.Fragment);
+    method @Deprecated public abstract android.app.FragmentTransaction add(@IdRes int, android.app.Fragment, String);
+    method @Deprecated public abstract android.app.FragmentTransaction addSharedElement(android.view.View, String);
+    method @Deprecated public abstract android.app.FragmentTransaction addToBackStack(@Nullable String);
+    method @Deprecated public abstract android.app.FragmentTransaction attach(android.app.Fragment);
+    method @Deprecated public abstract int commit();
+    method @Deprecated public abstract int commitAllowingStateLoss();
+    method @Deprecated public abstract void commitNow();
+    method @Deprecated public abstract void commitNowAllowingStateLoss();
+    method @Deprecated public abstract android.app.FragmentTransaction detach(android.app.Fragment);
+    method @Deprecated public abstract android.app.FragmentTransaction disallowAddToBackStack();
+    method @Deprecated public abstract android.app.FragmentTransaction hide(android.app.Fragment);
+    method @Deprecated public abstract boolean isAddToBackStackAllowed();
+    method @Deprecated public abstract boolean isEmpty();
+    method @Deprecated public abstract android.app.FragmentTransaction remove(android.app.Fragment);
+    method @Deprecated public abstract android.app.FragmentTransaction replace(@IdRes int, android.app.Fragment);
+    method @Deprecated public abstract android.app.FragmentTransaction replace(@IdRes int, android.app.Fragment, String);
+    method @Deprecated public abstract android.app.FragmentTransaction runOnCommit(Runnable);
+    method @Deprecated public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(@StringRes int);
+    method @Deprecated public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(CharSequence);
+    method @Deprecated public abstract android.app.FragmentTransaction setBreadCrumbTitle(@StringRes int);
+    method @Deprecated public abstract android.app.FragmentTransaction setBreadCrumbTitle(CharSequence);
+    method @Deprecated public abstract android.app.FragmentTransaction setCustomAnimations(@AnimatorRes int, @AnimatorRes int);
+    method @Deprecated public abstract android.app.FragmentTransaction setCustomAnimations(@AnimatorRes int, @AnimatorRes int, @AnimatorRes int, @AnimatorRes int);
+    method @Deprecated public abstract android.app.FragmentTransaction setPrimaryNavigationFragment(android.app.Fragment);
+    method @Deprecated public abstract android.app.FragmentTransaction setReorderingAllowed(boolean);
+    method @Deprecated public abstract android.app.FragmentTransaction setTransition(int);
+    method @Deprecated public abstract android.app.FragmentTransaction setTransitionStyle(@StyleRes int);
+    method @Deprecated public abstract android.app.FragmentTransaction show(android.app.Fragment);
+    field @Deprecated public static final int TRANSIT_ENTER_MASK = 4096; // 0x1000
+    field @Deprecated public static final int TRANSIT_EXIT_MASK = 8192; // 0x2000
+    field @Deprecated public static final int TRANSIT_FRAGMENT_CLOSE = 8194; // 0x2002
+    field @Deprecated public static final int TRANSIT_FRAGMENT_FADE = 4099; // 0x1003
+    field @Deprecated public static final int TRANSIT_FRAGMENT_OPEN = 4097; // 0x1001
+    field @Deprecated public static final int TRANSIT_NONE = 0; // 0x0
+    field @Deprecated public static final int TRANSIT_UNSET = -1; // 0xffffffff
+  }
+
+  public final class GameManager {
+    method public int getGameMode();
+    field public static final int GAME_MODE_BATTERY = 3; // 0x3
+    field public static final int GAME_MODE_PERFORMANCE = 2; // 0x2
+    field public static final int GAME_MODE_STANDARD = 1; // 0x1
+    field public static final int GAME_MODE_UNSUPPORTED = 0; // 0x0
+  }
+
+  public class Instrumentation {
+    ctor public Instrumentation();
+    method public android.os.TestLooperManager acquireLooperManager(android.os.Looper);
+    method public void addMonitor(android.app.Instrumentation.ActivityMonitor);
+    method public android.app.Instrumentation.ActivityMonitor addMonitor(android.content.IntentFilter, android.app.Instrumentation.ActivityResult, boolean);
+    method public android.app.Instrumentation.ActivityMonitor addMonitor(String, android.app.Instrumentation.ActivityResult, boolean);
+    method public void addResults(android.os.Bundle);
+    method public void callActivityOnCreate(android.app.Activity, android.os.Bundle);
+    method public void callActivityOnCreate(android.app.Activity, android.os.Bundle, android.os.PersistableBundle);
+    method public void callActivityOnDestroy(android.app.Activity);
+    method public void callActivityOnNewIntent(android.app.Activity, android.content.Intent);
+    method public void callActivityOnPause(android.app.Activity);
+    method public void callActivityOnPictureInPictureRequested(@NonNull android.app.Activity);
+    method public void callActivityOnPostCreate(@NonNull android.app.Activity, @Nullable android.os.Bundle);
+    method public void callActivityOnPostCreate(@NonNull android.app.Activity, @Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
+    method public void callActivityOnRestart(android.app.Activity);
+    method public void callActivityOnRestoreInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle);
+    method public void callActivityOnRestoreInstanceState(@NonNull android.app.Activity, @Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
+    method public void callActivityOnResume(android.app.Activity);
+    method public void callActivityOnSaveInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle);
+    method public void callActivityOnSaveInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle, @NonNull android.os.PersistableBundle);
+    method public void callActivityOnStart(android.app.Activity);
+    method public void callActivityOnStop(android.app.Activity);
+    method public void callActivityOnUserLeaving(android.app.Activity);
+    method public void callApplicationOnCreate(android.app.Application);
+    method public boolean checkMonitorHit(android.app.Instrumentation.ActivityMonitor, int);
+    method public void endPerformanceSnapshot();
+    method public void finish(int, android.os.Bundle);
+    method public android.os.Bundle getAllocCounts();
+    method public android.os.Bundle getBinderCounts();
+    method public android.content.ComponentName getComponentName();
+    method public android.content.Context getContext();
+    method public String getProcessName();
+    method public android.content.Context getTargetContext();
+    method public android.app.UiAutomation getUiAutomation();
+    method public android.app.UiAutomation getUiAutomation(int);
+    method public boolean invokeContextMenuAction(android.app.Activity, int, int);
+    method public boolean invokeMenuActionSync(android.app.Activity, int, int);
+    method public boolean isProfiling();
+    method public android.app.Activity newActivity(Class<?>, android.content.Context, android.os.IBinder, android.app.Application, android.content.Intent, android.content.pm.ActivityInfo, CharSequence, android.app.Activity, String, Object) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method public android.app.Activity newActivity(ClassLoader, String, android.content.Intent) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method public android.app.Application newApplication(ClassLoader, String, android.content.Context) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method public static android.app.Application newApplication(Class<?>, android.content.Context) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method public void onCreate(android.os.Bundle);
+    method public void onDestroy();
+    method public boolean onException(Object, Throwable);
+    method public void onStart();
+    method public void removeMonitor(android.app.Instrumentation.ActivityMonitor);
+    method public void runOnMainSync(Runnable);
+    method public void sendCharacterSync(int);
+    method public void sendKeyDownUpSync(int);
+    method public void sendKeySync(android.view.KeyEvent);
+    method public void sendPointerSync(android.view.MotionEvent);
+    method public void sendStatus(int, android.os.Bundle);
+    method public void sendStringSync(String);
+    method public void sendTrackballEventSync(android.view.MotionEvent);
+    method public void setAutomaticPerformanceSnapshots();
+    method public void setInTouchMode(boolean);
+    method public void start();
+    method public android.app.Activity startActivitySync(android.content.Intent);
+    method @NonNull public android.app.Activity startActivitySync(@NonNull android.content.Intent, @Nullable android.os.Bundle);
+    method @Deprecated public void startAllocCounting();
+    method public void startPerformanceSnapshot();
+    method public void startProfiling();
+    method @Deprecated public void stopAllocCounting();
+    method public void stopProfiling();
+    method public void waitForIdle(Runnable);
+    method public void waitForIdleSync();
+    method public android.app.Activity waitForMonitor(android.app.Instrumentation.ActivityMonitor);
+    method public android.app.Activity waitForMonitorWithTimeout(android.app.Instrumentation.ActivityMonitor, long);
+    field public static final String REPORT_KEY_IDENTIFIER = "id";
+    field public static final String REPORT_KEY_STREAMRESULT = "stream";
+  }
+
+  public static class Instrumentation.ActivityMonitor {
+    ctor public Instrumentation.ActivityMonitor(android.content.IntentFilter, android.app.Instrumentation.ActivityResult, boolean);
+    ctor public Instrumentation.ActivityMonitor(String, android.app.Instrumentation.ActivityResult, boolean);
+    ctor public Instrumentation.ActivityMonitor();
+    method public final android.content.IntentFilter getFilter();
+    method public final int getHits();
+    method public final android.app.Activity getLastActivity();
+    method public final android.app.Instrumentation.ActivityResult getResult();
+    method public final boolean isBlocking();
+    method public android.app.Instrumentation.ActivityResult onStartActivity(android.content.Intent);
+    method public final android.app.Activity waitForActivity();
+    method public final android.app.Activity waitForActivityWithTimeout(long);
+  }
+
+  public static final class Instrumentation.ActivityResult {
+    ctor public Instrumentation.ActivityResult(int, android.content.Intent);
+    method public int getResultCode();
+    method public android.content.Intent getResultData();
+  }
+
+  @Deprecated public abstract class IntentService extends android.app.Service {
+    ctor @Deprecated public IntentService(String);
+    method @Deprecated @Nullable public android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated @WorkerThread protected abstract void onHandleIntent(@Nullable android.content.Intent);
+    method @Deprecated public void onStart(@Nullable android.content.Intent, int);
+    method @Deprecated public void setIntentRedelivery(boolean);
+  }
+
+  public class KeyguardManager {
+    method @Deprecated public android.content.Intent createConfirmDeviceCredentialIntent(CharSequence, CharSequence);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DISABLE_KEYGUARD) public void exitKeyguardSecurely(android.app.KeyguardManager.OnKeyguardExitResult);
+    method @Deprecated public boolean inKeyguardRestrictedInputMode();
+    method public boolean isDeviceLocked();
+    method public boolean isDeviceSecure();
+    method public boolean isKeyguardLocked();
+    method public boolean isKeyguardSecure();
+    method @Deprecated public android.app.KeyguardManager.KeyguardLock newKeyguardLock(String);
+    method public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
+  }
+
+  public abstract static class KeyguardManager.KeyguardDismissCallback {
+    ctor public KeyguardManager.KeyguardDismissCallback();
+    method public void onDismissCancelled();
+    method public void onDismissError();
+    method public void onDismissSucceeded();
+  }
+
+  @Deprecated public class KeyguardManager.KeyguardLock {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DISABLE_KEYGUARD) public void disableKeyguard();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DISABLE_KEYGUARD) public void reenableKeyguard();
+  }
+
+  @Deprecated public static interface KeyguardManager.OnKeyguardExitResult {
+    method @Deprecated public void onKeyguardExitResult(boolean);
+  }
+
+  @Deprecated public abstract class LauncherActivity extends android.app.ListActivity {
+    ctor @Deprecated public LauncherActivity();
+    method @Deprecated protected android.content.Intent getTargetIntent();
+    method @Deprecated protected android.content.Intent intentForPosition(int);
+    method @Deprecated protected android.app.LauncherActivity.ListItem itemForPosition(int);
+    method @Deprecated public java.util.List<android.app.LauncherActivity.ListItem> makeListItems();
+    method @Deprecated protected java.util.List<android.content.pm.ResolveInfo> onQueryPackageManager(android.content.Intent);
+    method @Deprecated protected void onSetContentView();
+  }
+
+  @Deprecated public class LauncherActivity.IconResizer {
+    ctor @Deprecated public LauncherActivity.IconResizer();
+    method @Deprecated public android.graphics.drawable.Drawable createIconThumbnail(android.graphics.drawable.Drawable);
+  }
+
+  @Deprecated public static class LauncherActivity.ListItem {
+    ctor @Deprecated public LauncherActivity.ListItem();
+    field @Deprecated public String className;
+    field @Deprecated public android.os.Bundle extras;
+    field @Deprecated public android.graphics.drawable.Drawable icon;
+    field @Deprecated public CharSequence label;
+    field @Deprecated public String packageName;
+    field @Deprecated public android.content.pm.ResolveInfo resolveInfo;
+  }
+
+  @Deprecated public class ListActivity extends android.app.Activity {
+    ctor @Deprecated public ListActivity();
+    method @Deprecated public android.widget.ListAdapter getListAdapter();
+    method @Deprecated public android.widget.ListView getListView();
+    method @Deprecated public long getSelectedItemId();
+    method @Deprecated public int getSelectedItemPosition();
+    method @Deprecated protected void onListItemClick(android.widget.ListView, android.view.View, int, long);
+    method @Deprecated public void setListAdapter(android.widget.ListAdapter);
+    method @Deprecated public void setSelection(int);
+  }
+
+  @Deprecated public class ListFragment extends android.app.Fragment {
+    ctor @Deprecated public ListFragment();
+    method @Deprecated public android.widget.ListAdapter getListAdapter();
+    method @Deprecated public android.widget.ListView getListView();
+    method @Deprecated public long getSelectedItemId();
+    method @Deprecated public int getSelectedItemPosition();
+    method @Deprecated public void onListItemClick(android.widget.ListView, android.view.View, int, long);
+    method @Deprecated public void setEmptyText(CharSequence);
+    method @Deprecated public void setListAdapter(android.widget.ListAdapter);
+    method @Deprecated public void setListShown(boolean);
+    method @Deprecated public void setListShownNoAnimation(boolean);
+    method @Deprecated public void setSelection(int);
+  }
+
+  @Deprecated public abstract class LoaderManager {
+    ctor @Deprecated public LoaderManager();
+    method @Deprecated public abstract void destroyLoader(int);
+    method @Deprecated public abstract void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated public static void enableDebugLogging(boolean);
+    method @Deprecated public abstract <D> android.content.Loader<D> getLoader(int);
+    method @Deprecated public abstract <D> android.content.Loader<D> initLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+    method @Deprecated public abstract <D> android.content.Loader<D> restartLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+  }
+
+  @Deprecated public static interface LoaderManager.LoaderCallbacks<D> {
+    method @Deprecated public android.content.Loader<D> onCreateLoader(int, android.os.Bundle);
+    method @Deprecated public void onLoadFinished(android.content.Loader<D>, D);
+    method @Deprecated public void onLoaderReset(android.content.Loader<D>);
+  }
+
+  @Deprecated public class LocalActivityManager {
+    ctor @Deprecated public LocalActivityManager(android.app.Activity, boolean);
+    method @Deprecated public android.view.Window destroyActivity(String, boolean);
+    method @Deprecated public void dispatchCreate(android.os.Bundle);
+    method @Deprecated public void dispatchDestroy(boolean);
+    method @Deprecated public void dispatchPause(boolean);
+    method @Deprecated public void dispatchResume();
+    method @Deprecated public void dispatchStop();
+    method @Deprecated public android.app.Activity getActivity(String);
+    method @Deprecated public android.app.Activity getCurrentActivity();
+    method @Deprecated public String getCurrentId();
+    method @Deprecated public void removeAllActivities();
+    method @Deprecated public android.os.Bundle saveInstanceState();
+    method @Deprecated public android.view.Window startActivity(String, android.content.Intent);
+  }
+
+  public class MediaRouteActionProvider extends android.view.ActionProvider {
+    ctor public MediaRouteActionProvider(android.content.Context);
+    method public android.view.View onCreateActionView();
+    method public void setExtendedSettingsClickListener(android.view.View.OnClickListener);
+    method public void setRouteTypes(int);
+  }
+
+  public class MediaRouteButton extends android.view.View {
+    ctor public MediaRouteButton(android.content.Context);
+    ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet);
+    ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet, int);
+    ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet, int, int);
+    method public int getRouteTypes();
+    method public void onAttachedToWindow();
+    method public void onDetachedFromWindow();
+    method public void setExtendedSettingsClickListener(android.view.View.OnClickListener);
+    method public void setRouteTypes(int);
+    method public void showDialog();
+  }
+
+  public class NativeActivity extends android.app.Activity implements android.view.InputQueue.Callback android.view.SurfaceHolder.Callback2 android.view.ViewTreeObserver.OnGlobalLayoutListener {
+    ctor public NativeActivity();
+    method public void onGlobalLayout();
+    method public void onInputQueueCreated(android.view.InputQueue);
+    method public void onInputQueueDestroyed(android.view.InputQueue);
+    method public void surfaceChanged(android.view.SurfaceHolder, int, int, int);
+    method public void surfaceCreated(android.view.SurfaceHolder);
+    method public void surfaceDestroyed(android.view.SurfaceHolder);
+    method public void surfaceRedrawNeeded(android.view.SurfaceHolder);
+    field public static final String META_DATA_FUNC_NAME = "android.app.func_name";
+    field public static final String META_DATA_LIB_NAME = "android.app.lib_name";
+  }
+
+  public class Notification implements android.os.Parcelable {
+    ctor public Notification();
+    ctor @Deprecated public Notification(int, CharSequence, long);
+    ctor public Notification(android.os.Parcel);
+    method public android.app.Notification clone();
+    method public int describeContents();
+    method @Nullable public android.util.Pair<android.app.RemoteInput,android.app.Notification.Action> findRemoteInputActionPair(boolean);
+    method public boolean getAllowSystemGeneratedContextualActions();
+    method public int getBadgeIconType();
+    method @Nullable public android.app.Notification.BubbleMetadata getBubbleMetadata();
+    method public String getChannelId();
+    method @NonNull public java.util.List<android.app.Notification.Action> getContextualActions();
+    method public String getGroup();
+    method public int getGroupAlertBehavior();
+    method public android.graphics.drawable.Icon getLargeIcon();
+    method @Nullable public android.content.LocusId getLocusId();
+    method public CharSequence getSettingsText();
+    method public String getShortcutId();
+    method public android.graphics.drawable.Icon getSmallIcon();
+    method public String getSortKey();
+    method public long getTimeoutAfter();
+    method public boolean hasImage();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.media.AudioAttributes AUDIO_ATTRIBUTES_DEFAULT;
+    field public static final int BADGE_ICON_LARGE = 2; // 0x2
+    field public static final int BADGE_ICON_NONE = 0; // 0x0
+    field public static final int BADGE_ICON_SMALL = 1; // 0x1
+    field public static final String CATEGORY_ALARM = "alarm";
+    field public static final String CATEGORY_CALL = "call";
+    field public static final String CATEGORY_EMAIL = "email";
+    field public static final String CATEGORY_ERROR = "err";
+    field public static final String CATEGORY_EVENT = "event";
+    field public static final String CATEGORY_LOCATION_SHARING = "location_sharing";
+    field public static final String CATEGORY_MESSAGE = "msg";
+    field public static final String CATEGORY_MISSED_CALL = "missed_call";
+    field public static final String CATEGORY_NAVIGATION = "navigation";
+    field public static final String CATEGORY_PROGRESS = "progress";
+    field public static final String CATEGORY_PROMO = "promo";
+    field public static final String CATEGORY_RECOMMENDATION = "recommendation";
+    field public static final String CATEGORY_REMINDER = "reminder";
+    field public static final String CATEGORY_SERVICE = "service";
+    field public static final String CATEGORY_SOCIAL = "social";
+    field public static final String CATEGORY_STATUS = "status";
+    field public static final String CATEGORY_STOPWATCH = "stopwatch";
+    field public static final String CATEGORY_SYSTEM = "sys";
+    field public static final String CATEGORY_TRANSPORT = "transport";
+    field public static final String CATEGORY_WORKOUT = "workout";
+    field @ColorInt public static final int COLOR_DEFAULT = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification> CREATOR;
+    field public static final int DEFAULT_ALL = -1; // 0xffffffff
+    field public static final int DEFAULT_LIGHTS = 4; // 0x4
+    field public static final int DEFAULT_SOUND = 1; // 0x1
+    field public static final int DEFAULT_VIBRATE = 2; // 0x2
+    field public static final String EXTRA_ANSWER_COLOR = "android.answerColor";
+    field public static final String EXTRA_ANSWER_INTENT = "android.answerIntent";
+    field public static final String EXTRA_AUDIO_CONTENTS_URI = "android.audioContents";
+    field public static final String EXTRA_BACKGROUND_IMAGE_URI = "android.backgroundImageUri";
+    field public static final String EXTRA_BIG_TEXT = "android.bigText";
+    field public static final String EXTRA_CALL_IS_VIDEO = "android.callIsVideo";
+    field public static final String EXTRA_CALL_PERSON = "android.callPerson";
+    field public static final String EXTRA_CHANNEL_GROUP_ID = "android.intent.extra.CHANNEL_GROUP_ID";
+    field public static final String EXTRA_CHANNEL_ID = "android.intent.extra.CHANNEL_ID";
+    field public static final String EXTRA_CHRONOMETER_COUNT_DOWN = "android.chronometerCountDown";
+    field public static final String EXTRA_COLORIZED = "android.colorized";
+    field public static final String EXTRA_COMPACT_ACTIONS = "android.compactActions";
+    field public static final String EXTRA_CONVERSATION_TITLE = "android.conversationTitle";
+    field public static final String EXTRA_DECLINE_COLOR = "android.declineColor";
+    field public static final String EXTRA_DECLINE_INTENT = "android.declineIntent";
+    field public static final String EXTRA_HANG_UP_INTENT = "android.hangUpIntent";
+    field public static final String EXTRA_HISTORIC_MESSAGES = "android.messages.historic";
+    field public static final String EXTRA_INFO_TEXT = "android.infoText";
+    field public static final String EXTRA_IS_GROUP_CONVERSATION = "android.isGroupConversation";
+    field @Deprecated public static final String EXTRA_LARGE_ICON = "android.largeIcon";
+    field public static final String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
+    field public static final String EXTRA_MEDIA_SESSION = "android.mediaSession";
+    field public static final String EXTRA_MESSAGES = "android.messages";
+    field public static final String EXTRA_MESSAGING_PERSON = "android.messagingUser";
+    field public static final String EXTRA_NOTIFICATION_ID = "android.intent.extra.NOTIFICATION_ID";
+    field public static final String EXTRA_NOTIFICATION_TAG = "android.intent.extra.NOTIFICATION_TAG";
+    field @Deprecated public static final String EXTRA_PEOPLE = "android.people";
+    field public static final String EXTRA_PEOPLE_LIST = "android.people.list";
+    field public static final String EXTRA_PICTURE = "android.picture";
+    field public static final String EXTRA_PICTURE_CONTENT_DESCRIPTION = "android.pictureContentDescription";
+    field public static final String EXTRA_PICTURE_ICON = "android.pictureIcon";
+    field public static final String EXTRA_PROGRESS = "android.progress";
+    field public static final String EXTRA_PROGRESS_INDETERMINATE = "android.progressIndeterminate";
+    field public static final String EXTRA_PROGRESS_MAX = "android.progressMax";
+    field public static final String EXTRA_REMOTE_INPUT_DRAFT = "android.remoteInputDraft";
+    field public static final String EXTRA_REMOTE_INPUT_HISTORY = "android.remoteInputHistory";
+    field @Deprecated public static final String EXTRA_SELF_DISPLAY_NAME = "android.selfDisplayName";
+    field public static final String EXTRA_SHOW_BIG_PICTURE_WHEN_COLLAPSED = "android.showBigPictureWhenCollapsed";
+    field public static final String EXTRA_SHOW_CHRONOMETER = "android.showChronometer";
+    field public static final String EXTRA_SHOW_WHEN = "android.showWhen";
+    field @Deprecated public static final String EXTRA_SMALL_ICON = "android.icon";
+    field public static final String EXTRA_SUB_TEXT = "android.subText";
+    field public static final String EXTRA_SUMMARY_TEXT = "android.summaryText";
+    field public static final String EXTRA_TEMPLATE = "android.template";
+    field public static final String EXTRA_TEXT = "android.text";
+    field public static final String EXTRA_TEXT_LINES = "android.textLines";
+    field public static final String EXTRA_TITLE = "android.title";
+    field public static final String EXTRA_TITLE_BIG = "android.title.big";
+    field public static final String EXTRA_VERIFICATION_ICON = "android.verificationIcon";
+    field public static final String EXTRA_VERIFICATION_TEXT = "android.verificationText";
+    field public static final int FLAG_AUTO_CANCEL = 16; // 0x10
+    field public static final int FLAG_BUBBLE = 4096; // 0x1000
+    field public static final int FLAG_FOREGROUND_SERVICE = 64; // 0x40
+    field public static final int FLAG_GROUP_SUMMARY = 512; // 0x200
+    field @Deprecated public static final int FLAG_HIGH_PRIORITY = 128; // 0x80
+    field public static final int FLAG_INSISTENT = 4; // 0x4
+    field public static final int FLAG_LOCAL_ONLY = 256; // 0x100
+    field public static final int FLAG_NO_CLEAR = 32; // 0x20
+    field public static final int FLAG_ONGOING_EVENT = 2; // 0x2
+    field public static final int FLAG_ONLY_ALERT_ONCE = 8; // 0x8
+    field @Deprecated public static final int FLAG_SHOW_LIGHTS = 1; // 0x1
+    field public static final int FOREGROUND_SERVICE_DEFAULT = 0; // 0x0
+    field public static final int FOREGROUND_SERVICE_DEFERRED = 2; // 0x2
+    field public static final int FOREGROUND_SERVICE_IMMEDIATE = 1; // 0x1
+    field public static final int GROUP_ALERT_ALL = 0; // 0x0
+    field public static final int GROUP_ALERT_CHILDREN = 2; // 0x2
+    field public static final int GROUP_ALERT_SUMMARY = 1; // 0x1
+    field public static final String INTENT_CATEGORY_NOTIFICATION_PREFERENCES = "android.intent.category.NOTIFICATION_PREFERENCES";
+    field @Deprecated public static final int PRIORITY_DEFAULT = 0; // 0x0
+    field @Deprecated public static final int PRIORITY_HIGH = 1; // 0x1
+    field @Deprecated public static final int PRIORITY_LOW = -1; // 0xffffffff
+    field @Deprecated public static final int PRIORITY_MAX = 2; // 0x2
+    field @Deprecated public static final int PRIORITY_MIN = -2; // 0xfffffffe
+    field @Deprecated public static final int STREAM_DEFAULT = -1; // 0xffffffff
+    field public static final int VISIBILITY_PRIVATE = 0; // 0x0
+    field public static final int VISIBILITY_PUBLIC = 1; // 0x1
+    field public static final int VISIBILITY_SECRET = -1; // 0xffffffff
+    field public android.app.Notification.Action[] actions;
+    field @Deprecated public android.media.AudioAttributes audioAttributes;
+    field @Deprecated public int audioStreamType;
+    field @Deprecated public android.widget.RemoteViews bigContentView;
+    field public String category;
+    field @ColorInt public int color;
+    field public android.app.PendingIntent contentIntent;
+    field @Deprecated public android.widget.RemoteViews contentView;
+    field @Deprecated public int defaults;
+    field public android.app.PendingIntent deleteIntent;
+    field public android.os.Bundle extras;
+    field public int flags;
+    field public android.app.PendingIntent fullScreenIntent;
+    field @Deprecated public android.widget.RemoteViews headsUpContentView;
+    field @Deprecated @DrawableRes public int icon;
+    field public int iconLevel;
+    field @Deprecated public android.graphics.Bitmap largeIcon;
+    field @Deprecated @ColorInt public int ledARGB;
+    field @Deprecated public int ledOffMS;
+    field @Deprecated public int ledOnMS;
+    field public int number;
+    field @Deprecated public int priority;
+    field public android.app.Notification publicVersion;
+    field @Deprecated public android.net.Uri sound;
+    field public CharSequence tickerText;
+    field @Deprecated public android.widget.RemoteViews tickerView;
+    field @Deprecated public long[] vibrate;
+    field public int visibility;
+    field public long when;
+  }
+
+  public static class Notification.Action implements android.os.Parcelable {
+    ctor @Deprecated public Notification.Action(int, CharSequence, android.app.PendingIntent);
+    method public android.app.Notification.Action clone();
+    method public int describeContents();
+    method public boolean getAllowGeneratedReplies();
+    method public android.app.RemoteInput[] getDataOnlyRemoteInputs();
+    method public android.os.Bundle getExtras();
+    method public android.graphics.drawable.Icon getIcon();
+    method public android.app.RemoteInput[] getRemoteInputs();
+    method public int getSemanticAction();
+    method public boolean isAuthenticationRequired();
+    method public boolean isContextual();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification.Action> CREATOR;
+    field public static final int SEMANTIC_ACTION_ARCHIVE = 5; // 0x5
+    field public static final int SEMANTIC_ACTION_CALL = 10; // 0xa
+    field public static final int SEMANTIC_ACTION_DELETE = 4; // 0x4
+    field public static final int SEMANTIC_ACTION_MARK_AS_READ = 2; // 0x2
+    field public static final int SEMANTIC_ACTION_MARK_AS_UNREAD = 3; // 0x3
+    field public static final int SEMANTIC_ACTION_MUTE = 6; // 0x6
+    field public static final int SEMANTIC_ACTION_NONE = 0; // 0x0
+    field public static final int SEMANTIC_ACTION_REPLY = 1; // 0x1
+    field public static final int SEMANTIC_ACTION_THUMBS_DOWN = 9; // 0x9
+    field public static final int SEMANTIC_ACTION_THUMBS_UP = 8; // 0x8
+    field public static final int SEMANTIC_ACTION_UNMUTE = 7; // 0x7
+    field public android.app.PendingIntent actionIntent;
+    field @Deprecated public int icon;
+    field public CharSequence title;
+  }
+
+  public static final class Notification.Action.Builder {
+    ctor @Deprecated public Notification.Action.Builder(int, CharSequence, android.app.PendingIntent);
+    ctor public Notification.Action.Builder(android.graphics.drawable.Icon, CharSequence, android.app.PendingIntent);
+    ctor public Notification.Action.Builder(android.app.Notification.Action);
+    method @NonNull public android.app.Notification.Action.Builder addExtras(android.os.Bundle);
+    method @NonNull public android.app.Notification.Action.Builder addRemoteInput(android.app.RemoteInput);
+    method @NonNull public android.app.Notification.Action build();
+    method @NonNull public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Extender);
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public android.app.Notification.Action.Builder setAllowGeneratedReplies(boolean);
+    method @NonNull public android.app.Notification.Action.Builder setAuthenticationRequired(boolean);
+    method @NonNull public android.app.Notification.Action.Builder setContextual(boolean);
+    method @NonNull public android.app.Notification.Action.Builder setSemanticAction(int);
+  }
+
+  public static interface Notification.Action.Extender {
+    method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Builder);
+  }
+
+  public static final class Notification.Action.WearableExtender implements android.app.Notification.Action.Extender {
+    ctor public Notification.Action.WearableExtender();
+    ctor public Notification.Action.WearableExtender(android.app.Notification.Action);
+    method public android.app.Notification.Action.WearableExtender clone();
+    method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Builder);
+    method @Deprecated public CharSequence getCancelLabel();
+    method @Deprecated public CharSequence getConfirmLabel();
+    method public boolean getHintDisplayActionInline();
+    method public boolean getHintLaunchesActivity();
+    method @Deprecated public CharSequence getInProgressLabel();
+    method public boolean isAvailableOffline();
+    method public android.app.Notification.Action.WearableExtender setAvailableOffline(boolean);
+    method @Deprecated public android.app.Notification.Action.WearableExtender setCancelLabel(CharSequence);
+    method @Deprecated public android.app.Notification.Action.WearableExtender setConfirmLabel(CharSequence);
+    method public android.app.Notification.Action.WearableExtender setHintDisplayActionInline(boolean);
+    method public android.app.Notification.Action.WearableExtender setHintLaunchesActivity(boolean);
+    method @Deprecated public android.app.Notification.Action.WearableExtender setInProgressLabel(CharSequence);
+  }
+
+  public static class Notification.BigPictureStyle extends android.app.Notification.Style {
+    ctor public Notification.BigPictureStyle();
+    ctor @Deprecated public Notification.BigPictureStyle(android.app.Notification.Builder);
+    method @NonNull public android.app.Notification.BigPictureStyle bigLargeIcon(@Nullable android.graphics.Bitmap);
+    method @NonNull public android.app.Notification.BigPictureStyle bigLargeIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.BigPictureStyle bigPicture(@Nullable android.graphics.Bitmap);
+    method @NonNull public android.app.Notification.BigPictureStyle bigPicture(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.BigPictureStyle setBigContentTitle(@Nullable CharSequence);
+    method @NonNull public android.app.Notification.BigPictureStyle setContentDescription(@Nullable CharSequence);
+    method @NonNull public android.app.Notification.BigPictureStyle setSummaryText(@Nullable CharSequence);
+    method @NonNull public android.app.Notification.BigPictureStyle showBigPictureWhenCollapsed(boolean);
+  }
+
+  public static class Notification.BigTextStyle extends android.app.Notification.Style {
+    ctor public Notification.BigTextStyle();
+    ctor @Deprecated public Notification.BigTextStyle(android.app.Notification.Builder);
+    method public android.app.Notification.BigTextStyle bigText(CharSequence);
+    method public android.app.Notification.BigTextStyle setBigContentTitle(CharSequence);
+    method public android.app.Notification.BigTextStyle setSummaryText(CharSequence);
+  }
+
+  public static final class Notification.BubbleMetadata implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getAutoExpandBubble();
+    method @Nullable public android.app.PendingIntent getDeleteIntent();
+    method @Dimension(unit=android.annotation.Dimension.DP) public int getDesiredHeight();
+    method @DimenRes public int getDesiredHeightResId();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @Nullable public android.app.PendingIntent getIntent();
+    method @Nullable public String getShortcutId();
+    method public boolean isBubbleSuppressable();
+    method public boolean isBubbleSuppressed();
+    method public boolean isNotificationSuppressed();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification.BubbleMetadata> CREATOR;
+  }
+
+  public static final class Notification.BubbleMetadata.Builder {
+    ctor @Deprecated public Notification.BubbleMetadata.Builder();
+    ctor public Notification.BubbleMetadata.Builder(@NonNull String);
+    ctor public Notification.BubbleMetadata.Builder(@NonNull android.app.PendingIntent, @NonNull android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.BubbleMetadata build();
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setAutoExpandBubble(boolean);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setDeleteIntent(@Nullable android.app.PendingIntent);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setDesiredHeight(@Dimension(unit=android.annotation.Dimension.DP) int);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setDesiredHeightResId(@DimenRes int);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setIcon(@NonNull android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setSuppressNotification(boolean);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setSuppressableBubble(boolean);
+  }
+
+  public static class Notification.Builder {
+    ctor public Notification.Builder(android.content.Context, String);
+    ctor @Deprecated public Notification.Builder(android.content.Context);
+    method @Deprecated public android.app.Notification.Builder addAction(int, CharSequence, android.app.PendingIntent);
+    method @NonNull public android.app.Notification.Builder addAction(android.app.Notification.Action);
+    method @NonNull public android.app.Notification.Builder addExtras(android.os.Bundle);
+    method @Deprecated public android.app.Notification.Builder addPerson(String);
+    method @NonNull public android.app.Notification.Builder addPerson(android.app.Person);
+    method @NonNull public android.app.Notification build();
+    method public android.widget.RemoteViews createBigContentView();
+    method public android.widget.RemoteViews createContentView();
+    method public android.widget.RemoteViews createHeadsUpContentView();
+    method @NonNull public android.app.Notification.Builder extend(android.app.Notification.Extender);
+    method public android.os.Bundle getExtras();
+    method @Deprecated public android.app.Notification getNotification();
+    method public android.app.Notification.Style getStyle();
+    method @NonNull public static android.app.Notification.Builder recoverBuilder(android.content.Context, android.app.Notification);
+    method @NonNull public android.app.Notification.Builder setActions(android.app.Notification.Action...);
+    method @NonNull public android.app.Notification.Builder setAllowSystemGeneratedContextualActions(boolean);
+    method @NonNull public android.app.Notification.Builder setAutoCancel(boolean);
+    method @NonNull public android.app.Notification.Builder setBadgeIconType(int);
+    method @NonNull public android.app.Notification.Builder setBubbleMetadata(@Nullable android.app.Notification.BubbleMetadata);
+    method @NonNull public android.app.Notification.Builder setCategory(String);
+    method @NonNull public android.app.Notification.Builder setChannelId(String);
+    method @NonNull public android.app.Notification.Builder setChronometerCountDown(boolean);
+    method @NonNull public android.app.Notification.Builder setColor(@ColorInt int);
+    method @NonNull public android.app.Notification.Builder setColorized(boolean);
+    method @Deprecated public android.app.Notification.Builder setContent(android.widget.RemoteViews);
+    method @Deprecated public android.app.Notification.Builder setContentInfo(CharSequence);
+    method @NonNull public android.app.Notification.Builder setContentIntent(android.app.PendingIntent);
+    method @NonNull public android.app.Notification.Builder setContentText(CharSequence);
+    method @NonNull public android.app.Notification.Builder setContentTitle(CharSequence);
+    method @NonNull public android.app.Notification.Builder setCustomBigContentView(android.widget.RemoteViews);
+    method @NonNull public android.app.Notification.Builder setCustomContentView(android.widget.RemoteViews);
+    method @NonNull public android.app.Notification.Builder setCustomHeadsUpContentView(android.widget.RemoteViews);
+    method @Deprecated public android.app.Notification.Builder setDefaults(int);
+    method @NonNull public android.app.Notification.Builder setDeleteIntent(android.app.PendingIntent);
+    method @NonNull public android.app.Notification.Builder setExtras(android.os.Bundle);
+    method @NonNull public android.app.Notification.Builder setFlag(int, boolean);
+    method @NonNull public android.app.Notification.Builder setForegroundServiceBehavior(int);
+    method @NonNull public android.app.Notification.Builder setFullScreenIntent(android.app.PendingIntent, boolean);
+    method @NonNull public android.app.Notification.Builder setGroup(String);
+    method @NonNull public android.app.Notification.Builder setGroupAlertBehavior(int);
+    method @NonNull public android.app.Notification.Builder setGroupSummary(boolean);
+    method @NonNull public android.app.Notification.Builder setLargeIcon(android.graphics.Bitmap);
+    method @NonNull public android.app.Notification.Builder setLargeIcon(android.graphics.drawable.Icon);
+    method @Deprecated public android.app.Notification.Builder setLights(@ColorInt int, int, int);
+    method @NonNull public android.app.Notification.Builder setLocalOnly(boolean);
+    method @NonNull public android.app.Notification.Builder setLocusId(@Nullable android.content.LocusId);
+    method @NonNull public android.app.Notification.Builder setNumber(int);
+    method @NonNull public android.app.Notification.Builder setOngoing(boolean);
+    method @NonNull public android.app.Notification.Builder setOnlyAlertOnce(boolean);
+    method @Deprecated public android.app.Notification.Builder setPriority(int);
+    method @NonNull public android.app.Notification.Builder setProgress(int, int, boolean);
+    method @NonNull public android.app.Notification.Builder setPublicVersion(android.app.Notification);
+    method @NonNull public android.app.Notification.Builder setRemoteInputHistory(CharSequence[]);
+    method @NonNull public android.app.Notification.Builder setSettingsText(CharSequence);
+    method @NonNull public android.app.Notification.Builder setShortcutId(String);
+    method @NonNull public android.app.Notification.Builder setShowWhen(boolean);
+    method @NonNull public android.app.Notification.Builder setSmallIcon(@DrawableRes int);
+    method @NonNull public android.app.Notification.Builder setSmallIcon(@DrawableRes int, int);
+    method @NonNull public android.app.Notification.Builder setSmallIcon(android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.Builder setSortKey(String);
+    method @Deprecated public android.app.Notification.Builder setSound(android.net.Uri);
+    method @Deprecated public android.app.Notification.Builder setSound(android.net.Uri, int);
+    method @Deprecated public android.app.Notification.Builder setSound(android.net.Uri, android.media.AudioAttributes);
+    method @NonNull public android.app.Notification.Builder setStyle(android.app.Notification.Style);
+    method @NonNull public android.app.Notification.Builder setSubText(CharSequence);
+    method @NonNull public android.app.Notification.Builder setTicker(CharSequence);
+    method @Deprecated public android.app.Notification.Builder setTicker(CharSequence, android.widget.RemoteViews);
+    method @NonNull public android.app.Notification.Builder setTimeoutAfter(long);
+    method @NonNull public android.app.Notification.Builder setUsesChronometer(boolean);
+    method @Deprecated public android.app.Notification.Builder setVibrate(long[]);
+    method @NonNull public android.app.Notification.Builder setVisibility(int);
+    method @NonNull public android.app.Notification.Builder setWhen(long);
+  }
+
+  public static class Notification.CallStyle extends android.app.Notification.Style {
+    method @NonNull public static android.app.Notification.CallStyle forIncomingCall(@NonNull android.app.Person, @NonNull android.app.PendingIntent, @NonNull android.app.PendingIntent);
+    method @NonNull public static android.app.Notification.CallStyle forOngoingCall(@NonNull android.app.Person, @NonNull android.app.PendingIntent);
+    method @NonNull public static android.app.Notification.CallStyle forScreeningCall(@NonNull android.app.Person, @NonNull android.app.PendingIntent, @NonNull android.app.PendingIntent);
+    method @NonNull public android.app.Notification.CallStyle setAnswerButtonColorHint(@ColorInt int);
+    method @NonNull public android.app.Notification.CallStyle setDeclineButtonColorHint(@ColorInt int);
+    method @NonNull public android.app.Notification.CallStyle setIsVideo(boolean);
+    method @NonNull public android.app.Notification.CallStyle setVerificationIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.CallStyle setVerificationText(@Nullable CharSequence);
+  }
+
+  public static final class Notification.CarExtender implements android.app.Notification.Extender {
+    ctor public Notification.CarExtender();
+    ctor public Notification.CarExtender(android.app.Notification);
+    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
+    method @ColorInt public int getColor();
+    method public android.graphics.Bitmap getLargeIcon();
+    method public android.app.Notification.CarExtender.UnreadConversation getUnreadConversation();
+    method public android.app.Notification.CarExtender setColor(@ColorInt int);
+    method public android.app.Notification.CarExtender setLargeIcon(android.graphics.Bitmap);
+    method public android.app.Notification.CarExtender setUnreadConversation(android.app.Notification.CarExtender.UnreadConversation);
+  }
+
+  public static class Notification.CarExtender.Builder {
+    ctor public Notification.CarExtender.Builder(String);
+    method public android.app.Notification.CarExtender.Builder addMessage(String);
+    method public android.app.Notification.CarExtender.UnreadConversation build();
+    method public android.app.Notification.CarExtender.Builder setLatestTimestamp(long);
+    method public android.app.Notification.CarExtender.Builder setReadPendingIntent(android.app.PendingIntent);
+    method public android.app.Notification.CarExtender.Builder setReplyAction(android.app.PendingIntent, android.app.RemoteInput);
+  }
+
+  public static class Notification.CarExtender.UnreadConversation {
+    method public long getLatestTimestamp();
+    method public String[] getMessages();
+    method public String getParticipant();
+    method public String[] getParticipants();
+    method public android.app.PendingIntent getReadPendingIntent();
+    method public android.app.RemoteInput getRemoteInput();
+    method public android.app.PendingIntent getReplyPendingIntent();
+  }
+
+  public static class Notification.DecoratedCustomViewStyle extends android.app.Notification.Style {
+    ctor public Notification.DecoratedCustomViewStyle();
+  }
+
+  public static class Notification.DecoratedMediaCustomViewStyle extends android.app.Notification.MediaStyle {
+    ctor public Notification.DecoratedMediaCustomViewStyle();
+  }
+
+  public static interface Notification.Extender {
+    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
+  }
+
+  public static class Notification.InboxStyle extends android.app.Notification.Style {
+    ctor public Notification.InboxStyle();
+    ctor @Deprecated public Notification.InboxStyle(android.app.Notification.Builder);
+    method public android.app.Notification.InboxStyle addLine(CharSequence);
+    method public android.app.Notification.InboxStyle setBigContentTitle(CharSequence);
+    method public android.app.Notification.InboxStyle setSummaryText(CharSequence);
+  }
+
+  public static class Notification.MediaStyle extends android.app.Notification.Style {
+    ctor public Notification.MediaStyle();
+    ctor @Deprecated public Notification.MediaStyle(android.app.Notification.Builder);
+    method public android.app.Notification.MediaStyle setMediaSession(android.media.session.MediaSession.Token);
+    method public android.app.Notification.MediaStyle setShowActionsInCompactView(int...);
+  }
+
+  public static class Notification.MessagingStyle extends android.app.Notification.Style {
+    ctor @Deprecated public Notification.MessagingStyle(@NonNull CharSequence);
+    ctor public Notification.MessagingStyle(@NonNull android.app.Person);
+    method public android.app.Notification.MessagingStyle addHistoricMessage(android.app.Notification.MessagingStyle.Message);
+    method @Deprecated public android.app.Notification.MessagingStyle addMessage(CharSequence, long, CharSequence);
+    method public android.app.Notification.MessagingStyle addMessage(@NonNull CharSequence, long, @Nullable android.app.Person);
+    method public android.app.Notification.MessagingStyle addMessage(android.app.Notification.MessagingStyle.Message);
+    method @Nullable public CharSequence getConversationTitle();
+    method public java.util.List<android.app.Notification.MessagingStyle.Message> getHistoricMessages();
+    method public java.util.List<android.app.Notification.MessagingStyle.Message> getMessages();
+    method @NonNull public android.app.Person getUser();
+    method @Deprecated public CharSequence getUserDisplayName();
+    method public boolean isGroupConversation();
+    method public android.app.Notification.MessagingStyle setConversationTitle(@Nullable CharSequence);
+    method public android.app.Notification.MessagingStyle setGroupConversation(boolean);
+    field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
+  }
+
+  public static final class Notification.MessagingStyle.Message {
+    ctor @Deprecated public Notification.MessagingStyle.Message(CharSequence, long, CharSequence);
+    ctor public Notification.MessagingStyle.Message(@NonNull CharSequence, long, @Nullable android.app.Person);
+    method public String getDataMimeType();
+    method public android.net.Uri getDataUri();
+    method public android.os.Bundle getExtras();
+    method @NonNull public static java.util.List<android.app.Notification.MessagingStyle.Message> getMessagesFromBundleArray(@Nullable android.os.Parcelable[]);
+    method @Deprecated public CharSequence getSender();
+    method @Nullable public android.app.Person getSenderPerson();
+    method public CharSequence getText();
+    method public long getTimestamp();
+    method public android.app.Notification.MessagingStyle.Message setData(String, android.net.Uri);
+  }
+
+  public abstract static class Notification.Style {
+    ctor public Notification.Style();
+    method public android.app.Notification build();
+    method protected void checkBuilder();
+    method protected android.widget.RemoteViews getStandardView(int);
+    method protected void internalSetBigContentTitle(CharSequence);
+    method protected void internalSetSummaryText(CharSequence);
+    method public void setBuilder(android.app.Notification.Builder);
+    field protected android.app.Notification.Builder mBuilder;
+  }
+
+  public static final class Notification.WearableExtender implements android.app.Notification.Extender {
+    ctor public Notification.WearableExtender();
+    ctor public Notification.WearableExtender(android.app.Notification);
+    method public android.app.Notification.WearableExtender addAction(android.app.Notification.Action);
+    method public android.app.Notification.WearableExtender addActions(java.util.List<android.app.Notification.Action>);
+    method @Deprecated public android.app.Notification.WearableExtender addPage(android.app.Notification);
+    method @Deprecated public android.app.Notification.WearableExtender addPages(java.util.List<android.app.Notification>);
+    method public android.app.Notification.WearableExtender clearActions();
+    method @Deprecated public android.app.Notification.WearableExtender clearPages();
+    method public android.app.Notification.WearableExtender clone();
+    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
+    method public java.util.List<android.app.Notification.Action> getActions();
+    method @Deprecated public android.graphics.Bitmap getBackground();
+    method public String getBridgeTag();
+    method public int getContentAction();
+    method @Deprecated public int getContentIcon();
+    method @Deprecated public int getContentIconGravity();
+    method public boolean getContentIntentAvailableOffline();
+    method @Deprecated public int getCustomContentHeight();
+    method @Deprecated public int getCustomSizePreset();
+    method public String getDismissalId();
+    method @Deprecated public android.app.PendingIntent getDisplayIntent();
+    method @Deprecated public int getGravity();
+    method @Deprecated public boolean getHintAmbientBigPicture();
+    method @Deprecated public boolean getHintAvoidBackgroundClipping();
+    method public boolean getHintContentIntentLaunchesActivity();
+    method @Deprecated public boolean getHintHideIcon();
+    method @Deprecated public int getHintScreenTimeout();
+    method @Deprecated public boolean getHintShowBackgroundOnly();
+    method @Deprecated public java.util.List<android.app.Notification> getPages();
+    method public boolean getStartScrollBottom();
+    method @Deprecated public android.app.Notification.WearableExtender setBackground(android.graphics.Bitmap);
+    method public android.app.Notification.WearableExtender setBridgeTag(String);
+    method public android.app.Notification.WearableExtender setContentAction(int);
+    method @Deprecated public android.app.Notification.WearableExtender setContentIcon(int);
+    method @Deprecated public android.app.Notification.WearableExtender setContentIconGravity(int);
+    method public android.app.Notification.WearableExtender setContentIntentAvailableOffline(boolean);
+    method @Deprecated public android.app.Notification.WearableExtender setCustomContentHeight(int);
+    method @Deprecated public android.app.Notification.WearableExtender setCustomSizePreset(int);
+    method public android.app.Notification.WearableExtender setDismissalId(String);
+    method @Deprecated public android.app.Notification.WearableExtender setDisplayIntent(android.app.PendingIntent);
+    method @Deprecated public android.app.Notification.WearableExtender setGravity(int);
+    method @Deprecated public android.app.Notification.WearableExtender setHintAmbientBigPicture(boolean);
+    method @Deprecated public android.app.Notification.WearableExtender setHintAvoidBackgroundClipping(boolean);
+    method public android.app.Notification.WearableExtender setHintContentIntentLaunchesActivity(boolean);
+    method @Deprecated public android.app.Notification.WearableExtender setHintHideIcon(boolean);
+    method @Deprecated public android.app.Notification.WearableExtender setHintScreenTimeout(int);
+    method @Deprecated public android.app.Notification.WearableExtender setHintShowBackgroundOnly(boolean);
+    method public android.app.Notification.WearableExtender setStartScrollBottom(boolean);
+    field @Deprecated public static final int SCREEN_TIMEOUT_LONG = -1; // 0xffffffff
+    field @Deprecated public static final int SCREEN_TIMEOUT_SHORT = 0; // 0x0
+    field @Deprecated public static final int SIZE_DEFAULT = 0; // 0x0
+    field @Deprecated public static final int SIZE_FULL_SCREEN = 5; // 0x5
+    field @Deprecated public static final int SIZE_LARGE = 4; // 0x4
+    field @Deprecated public static final int SIZE_MEDIUM = 3; // 0x3
+    field @Deprecated public static final int SIZE_SMALL = 2; // 0x2
+    field @Deprecated public static final int SIZE_XSMALL = 1; // 0x1
+    field public static final int UNSET_ACTION_INDEX = -1; // 0xffffffff
+  }
+
+  public final class NotificationChannel implements android.os.Parcelable {
+    ctor public NotificationChannel(String, CharSequence, int);
+    method public boolean canBubble();
+    method public boolean canBypassDnd();
+    method public boolean canShowBadge();
+    method public int describeContents();
+    method public void enableLights(boolean);
+    method public void enableVibration(boolean);
+    method public android.media.AudioAttributes getAudioAttributes();
+    method @Nullable public String getConversationId();
+    method public String getDescription();
+    method public String getGroup();
+    method public String getId();
+    method public int getImportance();
+    method public int getLightColor();
+    method public int getLockscreenVisibility();
+    method public CharSequence getName();
+    method @Nullable public String getParentChannelId();
+    method public android.net.Uri getSound();
+    method public long[] getVibrationPattern();
+    method public boolean hasUserSetImportance();
+    method public boolean hasUserSetSound();
+    method public boolean isConversation();
+    method public boolean isDemoted();
+    method public boolean isImportantConversation();
+    method public void setAllowBubbles(boolean);
+    method public void setBypassDnd(boolean);
+    method public void setConversationId(@NonNull String, @NonNull String);
+    method public void setDescription(String);
+    method public void setGroup(String);
+    method public void setImportance(int);
+    method public void setLightColor(int);
+    method public void setLockscreenVisibility(int);
+    method public void setName(CharSequence);
+    method public void setShowBadge(boolean);
+    method public void setSound(android.net.Uri, android.media.AudioAttributes);
+    method public void setVibrationPattern(long[]);
+    method public boolean shouldShowLights();
+    method public boolean shouldVibrate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.NotificationChannel> CREATOR;
+    field public static final String DEFAULT_CHANNEL_ID = "miscellaneous";
+    field public static final String EDIT_CONVERSATION = "conversation";
+    field public static final String EDIT_IMPORTANCE = "importance";
+    field public static final String EDIT_LAUNCHER = "launcher";
+    field public static final String EDIT_LOCKED_DEVICE = "locked";
+    field public static final String EDIT_SOUND = "sound";
+    field public static final String EDIT_VIBRATION = "vibration";
+    field public static final String EDIT_ZEN = "zen";
+  }
+
+  public final class NotificationChannelGroup implements android.os.Parcelable {
+    ctor public NotificationChannelGroup(String, CharSequence);
+    method public android.app.NotificationChannelGroup clone();
+    method public int describeContents();
+    method public java.util.List<android.app.NotificationChannel> getChannels();
+    method public String getDescription();
+    method public String getId();
+    method public CharSequence getName();
+    method public boolean isBlocked();
+    method public void setDescription(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.NotificationChannelGroup> CREATOR;
+  }
+
+  public class NotificationManager {
+    method public String addAutomaticZenRule(android.app.AutomaticZenRule);
+    method @Deprecated public boolean areBubblesAllowed();
+    method public boolean areBubblesEnabled();
+    method public boolean areNotificationsEnabled();
+    method public boolean areNotificationsPaused();
+    method public boolean canNotifyAsPackage(@NonNull String);
+    method public void cancel(int);
+    method public void cancel(@Nullable String, int);
+    method public void cancelAll();
+    method public void cancelAsPackage(@NonNull String, @Nullable String, int);
+    method public void createNotificationChannel(@NonNull android.app.NotificationChannel);
+    method public void createNotificationChannelGroup(@NonNull android.app.NotificationChannelGroup);
+    method public void createNotificationChannelGroups(@NonNull java.util.List<android.app.NotificationChannelGroup>);
+    method public void createNotificationChannels(@NonNull java.util.List<android.app.NotificationChannel>);
+    method public void deleteNotificationChannel(String);
+    method public void deleteNotificationChannelGroup(String);
+    method public android.service.notification.StatusBarNotification[] getActiveNotifications();
+    method public android.app.AutomaticZenRule getAutomaticZenRule(String);
+    method public java.util.Map<java.lang.String,android.app.AutomaticZenRule> getAutomaticZenRules();
+    method public int getBubblePreference();
+    method @NonNull public android.app.NotificationManager.Policy getConsolidatedNotificationPolicy();
+    method public final int getCurrentInterruptionFilter();
+    method public int getImportance();
+    method public android.app.NotificationChannel getNotificationChannel(String);
+    method @Nullable public android.app.NotificationChannel getNotificationChannel(@NonNull String, @NonNull String);
+    method public android.app.NotificationChannelGroup getNotificationChannelGroup(String);
+    method public java.util.List<android.app.NotificationChannelGroup> getNotificationChannelGroups();
+    method public java.util.List<android.app.NotificationChannel> getNotificationChannels();
+    method @Nullable public String getNotificationDelegate();
+    method public android.app.NotificationManager.Policy getNotificationPolicy();
+    method public boolean isNotificationListenerAccessGranted(android.content.ComponentName);
+    method public boolean isNotificationPolicyAccessGranted();
+    method public void notify(int, android.app.Notification);
+    method public void notify(String, int, android.app.Notification);
+    method public void notifyAsPackage(@NonNull String, @Nullable String, int, @NonNull android.app.Notification);
+    method public boolean removeAutomaticZenRule(String);
+    method public void setAutomaticZenRuleState(@NonNull String, @NonNull android.service.notification.Condition);
+    method public final void setInterruptionFilter(int);
+    method public void setNotificationDelegate(@Nullable String);
+    method public void setNotificationPolicy(@NonNull android.app.NotificationManager.Policy);
+    method public boolean shouldHideSilentStatusBarIcons();
+    method public boolean updateAutomaticZenRule(String, android.app.AutomaticZenRule);
+    field public static final String ACTION_APP_BLOCK_STATE_CHANGED = "android.app.action.APP_BLOCK_STATE_CHANGED";
+    field public static final String ACTION_AUTOMATIC_ZEN_RULE = "android.app.action.AUTOMATIC_ZEN_RULE";
+    field public static final String ACTION_AUTOMATIC_ZEN_RULE_STATUS_CHANGED = "android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED";
+    field public static final String ACTION_INTERRUPTION_FILTER_CHANGED = "android.app.action.INTERRUPTION_FILTER_CHANGED";
+    field public static final String ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED = "android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED";
+    field public static final String ACTION_NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED = "android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED";
+    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED = "android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED";
+    field public static final String ACTION_NOTIFICATION_POLICY_CHANGED = "android.app.action.NOTIFICATION_POLICY_CHANGED";
+    field public static final int AUTOMATIC_RULE_STATUS_DISABLED = 2; // 0x2
+    field public static final int AUTOMATIC_RULE_STATUS_ENABLED = 1; // 0x1
+    field public static final int AUTOMATIC_RULE_STATUS_REMOVED = 3; // 0x3
+    field public static final int AUTOMATIC_RULE_STATUS_UNKNOWN = -1; // 0xffffffff
+    field public static final int BUBBLE_PREFERENCE_ALL = 1; // 0x1
+    field public static final int BUBBLE_PREFERENCE_NONE = 0; // 0x0
+    field public static final int BUBBLE_PREFERENCE_SELECTED = 2; // 0x2
+    field public static final String EXTRA_AUTOMATIC_RULE_ID = "android.app.extra.AUTOMATIC_RULE_ID";
+    field public static final String EXTRA_AUTOMATIC_ZEN_RULE_ID = "android.app.extra.AUTOMATIC_ZEN_RULE_ID";
+    field public static final String EXTRA_AUTOMATIC_ZEN_RULE_STATUS = "android.app.extra.AUTOMATIC_ZEN_RULE_STATUS";
+    field public static final String EXTRA_BLOCKED_STATE = "android.app.extra.BLOCKED_STATE";
+    field public static final String EXTRA_NOTIFICATION_CHANNEL_GROUP_ID = "android.app.extra.NOTIFICATION_CHANNEL_GROUP_ID";
+    field public static final String EXTRA_NOTIFICATION_CHANNEL_ID = "android.app.extra.NOTIFICATION_CHANNEL_ID";
+    field public static final int IMPORTANCE_DEFAULT = 3; // 0x3
+    field public static final int IMPORTANCE_HIGH = 4; // 0x4
+    field public static final int IMPORTANCE_LOW = 2; // 0x2
+    field public static final int IMPORTANCE_MAX = 5; // 0x5
+    field public static final int IMPORTANCE_MIN = 1; // 0x1
+    field public static final int IMPORTANCE_NONE = 0; // 0x0
+    field public static final int IMPORTANCE_UNSPECIFIED = -1000; // 0xfffffc18
+    field public static final int INTERRUPTION_FILTER_ALARMS = 4; // 0x4
+    field public static final int INTERRUPTION_FILTER_ALL = 1; // 0x1
+    field public static final int INTERRUPTION_FILTER_NONE = 3; // 0x3
+    field public static final int INTERRUPTION_FILTER_PRIORITY = 2; // 0x2
+    field public static final int INTERRUPTION_FILTER_UNKNOWN = 0; // 0x0
+    field public static final String META_DATA_AUTOMATIC_RULE_TYPE = "android.service.zen.automatic.ruleType";
+    field public static final String META_DATA_RULE_INSTANCE_LIMIT = "android.service.zen.automatic.ruleInstanceLimit";
+  }
+
+  public static class NotificationManager.Policy implements android.os.Parcelable {
+    ctor public NotificationManager.Policy(int, int, int);
+    ctor public NotificationManager.Policy(int, int, int, int);
+    ctor public NotificationManager.Policy(int, int, int, int, int);
+    method public int describeContents();
+    method public static String priorityCategoriesToString(int);
+    method public static String prioritySendersToString(int);
+    method public static String suppressedEffectsToString(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CONVERSATION_SENDERS_ANYONE = 1; // 0x1
+    field public static final int CONVERSATION_SENDERS_IMPORTANT = 2; // 0x2
+    field public static final int CONVERSATION_SENDERS_NONE = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.NotificationManager.Policy> CREATOR;
+    field public static final int PRIORITY_CATEGORY_ALARMS = 32; // 0x20
+    field public static final int PRIORITY_CATEGORY_CALLS = 8; // 0x8
+    field public static final int PRIORITY_CATEGORY_CONVERSATIONS = 256; // 0x100
+    field public static final int PRIORITY_CATEGORY_EVENTS = 2; // 0x2
+    field public static final int PRIORITY_CATEGORY_MEDIA = 64; // 0x40
+    field public static final int PRIORITY_CATEGORY_MESSAGES = 4; // 0x4
+    field public static final int PRIORITY_CATEGORY_REMINDERS = 1; // 0x1
+    field public static final int PRIORITY_CATEGORY_REPEAT_CALLERS = 16; // 0x10
+    field public static final int PRIORITY_CATEGORY_SYSTEM = 128; // 0x80
+    field public static final int PRIORITY_SENDERS_ANY = 0; // 0x0
+    field public static final int PRIORITY_SENDERS_CONTACTS = 1; // 0x1
+    field public static final int PRIORITY_SENDERS_STARRED = 2; // 0x2
+    field public static final int SUPPRESSED_EFFECT_AMBIENT = 128; // 0x80
+    field public static final int SUPPRESSED_EFFECT_BADGE = 64; // 0x40
+    field public static final int SUPPRESSED_EFFECT_FULL_SCREEN_INTENT = 4; // 0x4
+    field public static final int SUPPRESSED_EFFECT_LIGHTS = 8; // 0x8
+    field public static final int SUPPRESSED_EFFECT_NOTIFICATION_LIST = 256; // 0x100
+    field public static final int SUPPRESSED_EFFECT_PEEK = 16; // 0x10
+    field @Deprecated public static final int SUPPRESSED_EFFECT_SCREEN_OFF = 1; // 0x1
+    field @Deprecated public static final int SUPPRESSED_EFFECT_SCREEN_ON = 2; // 0x2
+    field public static final int SUPPRESSED_EFFECT_STATUS_BAR = 32; // 0x20
+    field public final int priorityCallSenders;
+    field public final int priorityCategories;
+    field public final int priorityConversationSenders;
+    field public final int priorityMessageSenders;
+    field public final int suppressedVisualEffects;
+  }
+
+  public final class PendingIntent implements android.os.Parcelable {
+    method public void cancel();
+    method public int describeContents();
+    method public static android.app.PendingIntent getActivities(android.content.Context, int, @NonNull android.content.Intent[], int);
+    method public static android.app.PendingIntent getActivities(android.content.Context, int, @NonNull android.content.Intent[], int, @Nullable android.os.Bundle);
+    method public static android.app.PendingIntent getActivity(android.content.Context, int, android.content.Intent, int);
+    method public static android.app.PendingIntent getActivity(android.content.Context, int, @NonNull android.content.Intent, int, @Nullable android.os.Bundle);
+    method public static android.app.PendingIntent getBroadcast(android.content.Context, int, @NonNull android.content.Intent, int);
+    method @Nullable public String getCreatorPackage();
+    method public int getCreatorUid();
+    method @NonNull public android.os.UserHandle getCreatorUserHandle();
+    method public static android.app.PendingIntent getForegroundService(android.content.Context, int, @NonNull android.content.Intent, int);
+    method @NonNull public android.content.IntentSender getIntentSender();
+    method public static android.app.PendingIntent getService(android.content.Context, int, @NonNull android.content.Intent, int);
+    method @Deprecated @Nullable public String getTargetPackage();
+    method public boolean isActivity();
+    method public boolean isBroadcast();
+    method public boolean isForegroundService();
+    method public boolean isImmutable();
+    method public boolean isService();
+    method @Nullable public static android.app.PendingIntent readPendingIntentOrNullFromParcel(@NonNull android.os.Parcel);
+    method public void send() throws android.app.PendingIntent.CanceledException;
+    method public void send(int) throws android.app.PendingIntent.CanceledException;
+    method public void send(android.content.Context, int, @Nullable android.content.Intent) throws android.app.PendingIntent.CanceledException;
+    method public void send(int, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler) throws android.app.PendingIntent.CanceledException;
+    method public void send(android.content.Context, int, @Nullable android.content.Intent, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler) throws android.app.PendingIntent.CanceledException;
+    method public void send(android.content.Context, int, @Nullable android.content.Intent, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler, @Nullable String) throws android.app.PendingIntent.CanceledException;
+    method public void send(android.content.Context, int, @Nullable android.content.Intent, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler, @Nullable String, @Nullable android.os.Bundle) throws android.app.PendingIntent.CanceledException;
+    method public static void writePendingIntentOrNullToParcel(@Nullable android.app.PendingIntent, @NonNull android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.PendingIntent> CREATOR;
+    field public static final int FLAG_CANCEL_CURRENT = 268435456; // 0x10000000
+    field public static final int FLAG_IMMUTABLE = 67108864; // 0x4000000
+    field public static final int FLAG_MUTABLE = 33554432; // 0x2000000
+    field public static final int FLAG_NO_CREATE = 536870912; // 0x20000000
+    field public static final int FLAG_ONE_SHOT = 1073741824; // 0x40000000
+    field public static final int FLAG_UPDATE_CURRENT = 134217728; // 0x8000000
+  }
+
+  public static class PendingIntent.CanceledException extends android.util.AndroidException {
+    ctor public PendingIntent.CanceledException();
+    ctor public PendingIntent.CanceledException(String);
+    ctor public PendingIntent.CanceledException(Exception);
+  }
+
+  public static interface PendingIntent.OnFinished {
+    method public void onSendFinished(android.app.PendingIntent, android.content.Intent, int, String, android.os.Bundle);
+  }
+
+  public final class Person implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @Nullable public String getKey();
+    method @Nullable public CharSequence getName();
+    method @Nullable public String getUri();
+    method public boolean isBot();
+    method public boolean isImportant();
+    method public android.app.Person.Builder toBuilder();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.Person> CREATOR;
+  }
+
+  public static class Person.Builder {
+    ctor public Person.Builder();
+    method @NonNull public android.app.Person build();
+    method @NonNull public android.app.Person.Builder setBot(boolean);
+    method @NonNull public android.app.Person.Builder setIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.Person.Builder setImportant(boolean);
+    method @NonNull public android.app.Person.Builder setKey(@Nullable String);
+    method @NonNull public android.app.Person.Builder setName(@Nullable CharSequence);
+    method @NonNull public android.app.Person.Builder setUri(@Nullable String);
+  }
+
+  public final class PictureInPictureParams implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureParams> CREATOR;
+  }
+
+  public static class PictureInPictureParams.Builder {
+    ctor public PictureInPictureParams.Builder();
+    method public android.app.PictureInPictureParams build();
+    method public android.app.PictureInPictureParams.Builder setActions(java.util.List<android.app.RemoteAction>);
+    method public android.app.PictureInPictureParams.Builder setAspectRatio(android.util.Rational);
+    method @NonNull public android.app.PictureInPictureParams.Builder setAutoEnterEnabled(boolean);
+    method @NonNull public android.app.PictureInPictureParams.Builder setSeamlessResizeEnabled(boolean);
+    method public android.app.PictureInPictureParams.Builder setSourceRectHint(android.graphics.Rect);
+  }
+
+  public final class PictureInPictureUiState implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isStashed();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureUiState> CREATOR;
+  }
+
+  public class Presentation extends android.app.Dialog {
+    ctor public Presentation(android.content.Context, android.view.Display);
+    ctor public Presentation(android.content.Context, android.view.Display, int);
+    method public android.view.Display getDisplay();
+    method public android.content.res.Resources getResources();
+    method public void onDisplayChanged();
+    method public void onDisplayRemoved();
+  }
+
+  @Deprecated public class ProgressDialog extends android.app.AlertDialog {
+    ctor @Deprecated public ProgressDialog(android.content.Context);
+    ctor @Deprecated public ProgressDialog(android.content.Context, int);
+    method @Deprecated public int getMax();
+    method @Deprecated public int getProgress();
+    method @Deprecated public int getSecondaryProgress();
+    method @Deprecated public void incrementProgressBy(int);
+    method @Deprecated public void incrementSecondaryProgressBy(int);
+    method @Deprecated public boolean isIndeterminate();
+    method @Deprecated public void onStart();
+    method @Deprecated public void setIndeterminate(boolean);
+    method @Deprecated public void setIndeterminateDrawable(android.graphics.drawable.Drawable);
+    method @Deprecated public void setMax(int);
+    method @Deprecated public void setProgress(int);
+    method @Deprecated public void setProgressDrawable(android.graphics.drawable.Drawable);
+    method @Deprecated public void setProgressNumberFormat(String);
+    method @Deprecated public void setProgressPercentFormat(java.text.NumberFormat);
+    method @Deprecated public void setProgressStyle(int);
+    method @Deprecated public void setSecondaryProgress(int);
+    method @Deprecated public static android.app.ProgressDialog show(android.content.Context, CharSequence, CharSequence);
+    method @Deprecated public static android.app.ProgressDialog show(android.content.Context, CharSequence, CharSequence, boolean);
+    method @Deprecated public static android.app.ProgressDialog show(android.content.Context, CharSequence, CharSequence, boolean, boolean);
+    method @Deprecated public static android.app.ProgressDialog show(android.content.Context, CharSequence, CharSequence, boolean, boolean, android.content.DialogInterface.OnCancelListener);
+    field @Deprecated public static final int STYLE_HORIZONTAL = 1; // 0x1
+    field @Deprecated public static final int STYLE_SPINNER = 0; // 0x0
+  }
+
+  public final class RecoverableSecurityException extends java.lang.SecurityException implements android.os.Parcelable {
+    ctor public RecoverableSecurityException(@NonNull Throwable, @NonNull CharSequence, @NonNull android.app.RemoteAction);
+    method public int describeContents();
+    method @NonNull public android.app.RemoteAction getUserAction();
+    method @NonNull public CharSequence getUserMessage();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.RecoverableSecurityException> CREATOR;
+  }
+
+  public final class RemoteAction implements android.os.Parcelable {
+    ctor public RemoteAction(@NonNull android.graphics.drawable.Icon, @NonNull CharSequence, @NonNull CharSequence, @NonNull android.app.PendingIntent);
+    method public android.app.RemoteAction clone();
+    method public int describeContents();
+    method public void dump(String, java.io.PrintWriter);
+    method @NonNull public android.app.PendingIntent getActionIntent();
+    method @NonNull public CharSequence getContentDescription();
+    method @NonNull public android.graphics.drawable.Icon getIcon();
+    method @NonNull public CharSequence getTitle();
+    method public boolean isEnabled();
+    method public void setEnabled(boolean);
+    method public void setShouldShowIcon(boolean);
+    method public boolean shouldShowIcon();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteAction> CREATOR;
+  }
+
+  public final class RemoteInput implements android.os.Parcelable {
+    method public static void addDataResultToIntent(android.app.RemoteInput, android.content.Intent, java.util.Map<java.lang.String,android.net.Uri>);
+    method public static void addResultsToIntent(android.app.RemoteInput[], android.content.Intent, android.os.Bundle);
+    method public int describeContents();
+    method public boolean getAllowFreeFormInput();
+    method public java.util.Set<java.lang.String> getAllowedDataTypes();
+    method public CharSequence[] getChoices();
+    method public static java.util.Map<java.lang.String,android.net.Uri> getDataResultsFromIntent(android.content.Intent, String);
+    method public int getEditChoicesBeforeSending();
+    method public android.os.Bundle getExtras();
+    method public CharSequence getLabel();
+    method public String getResultKey();
+    method public static android.os.Bundle getResultsFromIntent(android.content.Intent);
+    method public static int getResultsSource(android.content.Intent);
+    method public boolean isDataOnly();
+    method public static void setResultsSource(android.content.Intent, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteInput> CREATOR;
+    field public static final int EDIT_CHOICES_BEFORE_SENDING_AUTO = 0; // 0x0
+    field public static final int EDIT_CHOICES_BEFORE_SENDING_DISABLED = 1; // 0x1
+    field public static final int EDIT_CHOICES_BEFORE_SENDING_ENABLED = 2; // 0x2
+    field public static final String EXTRA_RESULTS_DATA = "android.remoteinput.resultsData";
+    field public static final String RESULTS_CLIP_LABEL = "android.remoteinput.results";
+    field public static final int SOURCE_CHOICE = 1; // 0x1
+    field public static final int SOURCE_FREE_FORM_INPUT = 0; // 0x0
+  }
+
+  public static final class RemoteInput.Builder {
+    ctor public RemoteInput.Builder(@NonNull String);
+    method @NonNull public android.app.RemoteInput.Builder addExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.app.RemoteInput build();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public android.app.RemoteInput.Builder setAllowDataType(@NonNull String, boolean);
+    method @NonNull public android.app.RemoteInput.Builder setAllowFreeFormInput(boolean);
+    method @NonNull public android.app.RemoteInput.Builder setChoices(@Nullable CharSequence[]);
+    method @NonNull public android.app.RemoteInput.Builder setEditChoicesBeforeSending(int);
+    method @NonNull public android.app.RemoteInput.Builder setLabel(@Nullable CharSequence);
+  }
+
+  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
+    method public android.content.ComponentName getGlobalSearchActivity();
+    method public android.app.SearchableInfo getSearchableInfo(android.content.ComponentName);
+    method public java.util.List<android.app.SearchableInfo> getSearchablesInGlobalSearch();
+    method @Deprecated public void onCancel(android.content.DialogInterface);
+    method @Deprecated public void onDismiss(android.content.DialogInterface);
+    method public void setOnCancelListener(android.app.SearchManager.OnCancelListener);
+    method public void setOnDismissListener(android.app.SearchManager.OnDismissListener);
+    method public void startSearch(String, boolean, android.content.ComponentName, android.os.Bundle, boolean);
+    method public void stopSearch();
+    method public void triggerSearch(String, android.content.ComponentName, android.os.Bundle);
+    field public static final String ACTION_KEY = "action_key";
+    field public static final String ACTION_MSG = "action_msg";
+    field public static final String APP_DATA = "app_data";
+    field public static final String CURSOR_EXTRA_KEY_IN_PROGRESS = "in_progress";
+    field public static final String EXTRA_DATA_KEY = "intent_extra_data_key";
+    field public static final String EXTRA_NEW_SEARCH = "new_search";
+    field public static final String EXTRA_SELECT_QUERY = "select_query";
+    field public static final String EXTRA_WEB_SEARCH_PENDINGINTENT = "web_search_pendingintent";
+    field public static final int FLAG_QUERY_REFINEMENT = 1; // 0x1
+    field public static final String INTENT_ACTION_GLOBAL_SEARCH = "android.search.action.GLOBAL_SEARCH";
+    field public static final String INTENT_ACTION_SEARCHABLES_CHANGED = "android.search.action.SEARCHABLES_CHANGED";
+    field public static final String INTENT_ACTION_SEARCH_SETTINGS = "android.search.action.SEARCH_SETTINGS";
+    field public static final String INTENT_ACTION_SEARCH_SETTINGS_CHANGED = "android.search.action.SETTINGS_CHANGED";
+    field public static final String INTENT_ACTION_WEB_SEARCH_SETTINGS = "android.search.action.WEB_SEARCH_SETTINGS";
+    field public static final String INTENT_GLOBAL_SEARCH_ACTIVITY_CHANGED = "android.search.action.GLOBAL_SEARCH_ACTIVITY_CHANGED";
+    field public static final char MENU_KEY = 115; // 0x0073 's'
+    field public static final int MENU_KEYCODE = 47; // 0x2f
+    field public static final String QUERY = "query";
+    field public static final String SHORTCUT_MIME_TYPE = "vnd.android.cursor.item/vnd.android.search.suggest";
+    field public static final String SUGGEST_COLUMN_AUDIO_CHANNEL_CONFIG = "suggest_audio_channel_config";
+    field public static final String SUGGEST_COLUMN_CONTENT_TYPE = "suggest_content_type";
+    field public static final String SUGGEST_COLUMN_DURATION = "suggest_duration";
+    field public static final String SUGGEST_COLUMN_FLAGS = "suggest_flags";
+    field public static final String SUGGEST_COLUMN_FORMAT = "suggest_format";
+    field public static final String SUGGEST_COLUMN_ICON_1 = "suggest_icon_1";
+    field public static final String SUGGEST_COLUMN_ICON_2 = "suggest_icon_2";
+    field public static final String SUGGEST_COLUMN_INTENT_ACTION = "suggest_intent_action";
+    field public static final String SUGGEST_COLUMN_INTENT_DATA = "suggest_intent_data";
+    field public static final String SUGGEST_COLUMN_INTENT_DATA_ID = "suggest_intent_data_id";
+    field public static final String SUGGEST_COLUMN_INTENT_EXTRA_DATA = "suggest_intent_extra_data";
+    field public static final String SUGGEST_COLUMN_IS_LIVE = "suggest_is_live";
+    field public static final String SUGGEST_COLUMN_LAST_ACCESS_HINT = "suggest_last_access_hint";
+    field public static final String SUGGEST_COLUMN_PRODUCTION_YEAR = "suggest_production_year";
+    field public static final String SUGGEST_COLUMN_PURCHASE_PRICE = "suggest_purchase_price";
+    field public static final String SUGGEST_COLUMN_QUERY = "suggest_intent_query";
+    field public static final String SUGGEST_COLUMN_RATING_SCORE = "suggest_rating_score";
+    field public static final String SUGGEST_COLUMN_RATING_STYLE = "suggest_rating_style";
+    field public static final String SUGGEST_COLUMN_RENTAL_PRICE = "suggest_rental_price";
+    field public static final String SUGGEST_COLUMN_RESULT_CARD_IMAGE = "suggest_result_card_image";
+    field public static final String SUGGEST_COLUMN_SHORTCUT_ID = "suggest_shortcut_id";
+    field public static final String SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING = "suggest_spinner_while_refreshing";
+    field public static final String SUGGEST_COLUMN_TEXT_1 = "suggest_text_1";
+    field public static final String SUGGEST_COLUMN_TEXT_2 = "suggest_text_2";
+    field public static final String SUGGEST_COLUMN_TEXT_2_URL = "suggest_text_2_url";
+    field public static final String SUGGEST_COLUMN_VIDEO_HEIGHT = "suggest_video_height";
+    field public static final String SUGGEST_COLUMN_VIDEO_WIDTH = "suggest_video_width";
+    field public static final String SUGGEST_MIME_TYPE = "vnd.android.cursor.dir/vnd.android.search.suggest";
+    field public static final String SUGGEST_NEVER_MAKE_SHORTCUT = "_-1";
+    field public static final String SUGGEST_PARAMETER_LIMIT = "limit";
+    field public static final String SUGGEST_URI_PATH_QUERY = "search_suggest_query";
+    field public static final String SUGGEST_URI_PATH_SHORTCUT = "search_suggest_shortcut";
+    field public static final String USER_QUERY = "user_query";
+  }
+
+  public static interface SearchManager.OnCancelListener {
+    method public void onCancel();
+  }
+
+  public static interface SearchManager.OnDismissListener {
+    method public void onDismiss();
+  }
+
+  public final class SearchableInfo implements android.os.Parcelable {
+    method public boolean autoUrlDetect();
+    method public int describeContents();
+    method public int getHintId();
+    method public int getImeOptions();
+    method public int getInputType();
+    method public android.content.ComponentName getSearchActivity();
+    method public int getSettingsDescriptionId();
+    method public String getSuggestAuthority();
+    method public String getSuggestIntentAction();
+    method public String getSuggestIntentData();
+    method public String getSuggestPackage();
+    method public String getSuggestPath();
+    method public String getSuggestSelection();
+    method public int getSuggestThreshold();
+    method @StringRes public int getVoiceLanguageId();
+    method @StringRes public int getVoiceLanguageModeId();
+    method public int getVoiceMaxResults();
+    method @StringRes public int getVoicePromptTextId();
+    method public boolean getVoiceSearchEnabled();
+    method public boolean getVoiceSearchLaunchRecognizer();
+    method public boolean getVoiceSearchLaunchWebSearch();
+    method public boolean queryAfterZeroResults();
+    method public boolean shouldIncludeInGlobalSearch();
+    method public boolean shouldRewriteQueryFromData();
+    method public boolean shouldRewriteQueryFromText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.SearchableInfo> CREATOR;
+  }
+
+  public abstract class Service extends android.content.ContextWrapper implements android.content.ComponentCallbacks2 {
+    ctor public Service();
+    method protected void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method public final android.app.Application getApplication();
+    method public final int getForegroundServiceType();
+    method @Nullable public abstract android.os.IBinder onBind(android.content.Intent);
+    method public void onConfigurationChanged(android.content.res.Configuration);
+    method public void onCreate();
+    method public void onDestroy();
+    method public void onLowMemory();
+    method public void onRebind(android.content.Intent);
+    method @Deprecated public void onStart(android.content.Intent, int);
+    method public int onStartCommand(android.content.Intent, int, int);
+    method public void onTaskRemoved(android.content.Intent);
+    method public void onTrimMemory(int);
+    method public boolean onUnbind(android.content.Intent);
+    method public final void startForeground(int, android.app.Notification);
+    method public final void startForeground(int, @NonNull android.app.Notification, int);
+    method public final void stopForeground(boolean);
+    method public final void stopForeground(int);
+    method public final void stopSelf();
+    method public final void stopSelf(int);
+    method public final boolean stopSelfResult(int);
+    field public static final int START_CONTINUATION_MASK = 15; // 0xf
+    field public static final int START_FLAG_REDELIVERY = 1; // 0x1
+    field public static final int START_FLAG_RETRY = 2; // 0x2
+    field public static final int START_NOT_STICKY = 2; // 0x2
+    field public static final int START_REDELIVER_INTENT = 3; // 0x3
+    field public static final int START_STICKY = 1; // 0x1
+    field public static final int START_STICKY_COMPATIBILITY = 0; // 0x0
+    field public static final int STOP_FOREGROUND_DETACH = 2; // 0x2
+    field public static final int STOP_FOREGROUND_REMOVE = 1; // 0x1
+  }
+
+  public abstract class ServiceStartNotAllowedException extends java.lang.IllegalStateException {
+  }
+
+  public abstract class SharedElementCallback {
+    ctor public SharedElementCallback();
+    method public android.os.Parcelable onCaptureSharedElementSnapshot(android.view.View, android.graphics.Matrix, android.graphics.RectF);
+    method public android.view.View onCreateSnapshotView(android.content.Context, android.os.Parcelable);
+    method public void onMapSharedElements(java.util.List<java.lang.String>, java.util.Map<java.lang.String,android.view.View>);
+    method public void onRejectSharedElements(java.util.List<android.view.View>);
+    method public void onSharedElementEnd(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>);
+    method public void onSharedElementStart(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>);
+    method public void onSharedElementsArrived(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.app.SharedElementCallback.OnSharedElementsReadyListener);
+  }
+
+  public static interface SharedElementCallback.OnSharedElementsReadyListener {
+    method public void onSharedElementsReady();
+  }
+
+  public class StatusBarManager {
+  }
+
+  public final class SyncNotedAppOp implements android.os.Parcelable {
+    ctor public SyncNotedAppOp(@IntRange(from=0L) int, @Nullable String);
+    method public int describeContents();
+    method @Nullable public String getAttributionTag();
+    method @NonNull public String getOp();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.SyncNotedAppOp> CREATOR;
+  }
+
+  @Deprecated public class TabActivity extends android.app.ActivityGroup {
+    ctor @Deprecated public TabActivity();
+    method @Deprecated public android.widget.TabHost getTabHost();
+    method @Deprecated public android.widget.TabWidget getTabWidget();
+    method @Deprecated public void setDefaultTab(String);
+    method @Deprecated public void setDefaultTab(int);
+  }
+
+  public class TaskInfo {
+    method public boolean isVisible();
+    field @Nullable public android.content.ComponentName baseActivity;
+    field @NonNull public android.content.Intent baseIntent;
+    field public boolean isRunning;
+    field public int numActivities;
+    field @Nullable public android.content.ComponentName origActivity;
+    field @Nullable public android.app.ActivityManager.TaskDescription taskDescription;
+    field public int taskId;
+    field @Nullable public android.content.ComponentName topActivity;
+  }
+
+  public class TaskStackBuilder {
+    method public android.app.TaskStackBuilder addNextIntent(android.content.Intent);
+    method public android.app.TaskStackBuilder addNextIntentWithParentStack(android.content.Intent);
+    method public android.app.TaskStackBuilder addParentStack(android.app.Activity);
+    method public android.app.TaskStackBuilder addParentStack(Class<?>);
+    method public android.app.TaskStackBuilder addParentStack(android.content.ComponentName);
+    method public static android.app.TaskStackBuilder create(android.content.Context);
+    method public android.content.Intent editIntentAt(int);
+    method public int getIntentCount();
+    method @NonNull public android.content.Intent[] getIntents();
+    method public android.app.PendingIntent getPendingIntent(int, int);
+    method public android.app.PendingIntent getPendingIntent(int, int, android.os.Bundle);
+    method public void startActivities();
+    method public void startActivities(android.os.Bundle);
+  }
+
+  public class TimePickerDialog extends android.app.AlertDialog implements android.content.DialogInterface.OnClickListener android.widget.TimePicker.OnTimeChangedListener {
+    ctor public TimePickerDialog(android.content.Context, android.app.TimePickerDialog.OnTimeSetListener, int, int, boolean);
+    ctor public TimePickerDialog(android.content.Context, int, android.app.TimePickerDialog.OnTimeSetListener, int, int, boolean);
+    method public void onClick(android.content.DialogInterface, int);
+    method public void onTimeChanged(android.widget.TimePicker, int, int);
+    method public void updateTime(int, int);
+  }
+
+  public static interface TimePickerDialog.OnTimeSetListener {
+    method public void onTimeSet(android.widget.TimePicker, int, int);
+  }
+
+  public final class UiAutomation {
+    method public void adoptShellPermissionIdentity();
+    method public void adoptShellPermissionIdentity(@Nullable java.lang.String...);
+    method public void clearWindowAnimationFrameStats();
+    method public boolean clearWindowContentFrameStats(int);
+    method public void dropShellPermissionIdentity();
+    method public android.view.accessibility.AccessibilityEvent executeAndWaitForEvent(Runnable, android.app.UiAutomation.AccessibilityEventFilter, long) throws java.util.concurrent.TimeoutException;
+    method public android.os.ParcelFileDescriptor executeShellCommand(String);
+    method @NonNull public android.os.ParcelFileDescriptor[] executeShellCommandRw(@NonNull String);
+    method public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
+    method public android.view.accessibility.AccessibilityNodeInfo getRootInActiveWindow();
+    method public android.accessibilityservice.AccessibilityServiceInfo getServiceInfo();
+    method public android.view.WindowAnimationFrameStats getWindowAnimationFrameStats();
+    method public android.view.WindowContentFrameStats getWindowContentFrameStats(int);
+    method public java.util.List<android.view.accessibility.AccessibilityWindowInfo> getWindows();
+    method @NonNull public android.util.SparseArray<java.util.List<android.view.accessibility.AccessibilityWindowInfo>> getWindowsOnAllDisplays();
+    method public void grantRuntimePermission(String, String);
+    method public void grantRuntimePermissionAsUser(String, String, android.os.UserHandle);
+    method public boolean injectInputEvent(android.view.InputEvent, boolean);
+    method public boolean performGlobalAction(int);
+    method public void revokeRuntimePermission(String, String);
+    method public void revokeRuntimePermissionAsUser(String, String, android.os.UserHandle);
+    method public void setOnAccessibilityEventListener(android.app.UiAutomation.OnAccessibilityEventListener);
+    method public boolean setRotation(int);
+    method public void setRunAsMonkey(boolean);
+    method public void setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo);
+    method public android.graphics.Bitmap takeScreenshot();
+    method public void waitForIdle(long, long) throws java.util.concurrent.TimeoutException;
+    field public static final int FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES = 1; // 0x1
+    field public static final int FLAG_DONT_USE_ACCESSIBILITY = 2; // 0x2
+    field public static final int ROTATION_FREEZE_0 = 0; // 0x0
+    field public static final int ROTATION_FREEZE_180 = 2; // 0x2
+    field public static final int ROTATION_FREEZE_270 = 3; // 0x3
+    field public static final int ROTATION_FREEZE_90 = 1; // 0x1
+    field public static final int ROTATION_FREEZE_CURRENT = -1; // 0xffffffff
+    field public static final int ROTATION_UNFREEZE = -2; // 0xfffffffe
+  }
+
+  public static interface UiAutomation.AccessibilityEventFilter {
+    method public boolean accept(android.view.accessibility.AccessibilityEvent);
+  }
+
+  public static interface UiAutomation.OnAccessibilityEventListener {
+    method public void onAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+  }
+
+  public class UiModeManager {
+    method public void disableCarMode(int);
+    method public void enableCarMode(int);
+    method public int getCurrentModeType();
+    method @NonNull public java.time.LocalTime getCustomNightModeEnd();
+    method @NonNull public java.time.LocalTime getCustomNightModeStart();
+    method public int getNightMode();
+    method public void setApplicationNightMode(int);
+    method public void setCustomNightModeEnd(@NonNull java.time.LocalTime);
+    method public void setCustomNightModeStart(@NonNull java.time.LocalTime);
+    method public void setNightMode(int);
+    field public static String ACTION_ENTER_CAR_MODE;
+    field public static String ACTION_ENTER_DESK_MODE;
+    field public static String ACTION_EXIT_CAR_MODE;
+    field public static String ACTION_EXIT_DESK_MODE;
+    field public static final int DISABLE_CAR_MODE_GO_HOME = 1; // 0x1
+    field public static final int ENABLE_CAR_MODE_ALLOW_SLEEP = 2; // 0x2
+    field public static final int ENABLE_CAR_MODE_GO_CAR_HOME = 1; // 0x1
+    field public static final int MODE_NIGHT_AUTO = 0; // 0x0
+    field public static final int MODE_NIGHT_CUSTOM = 3; // 0x3
+    field public static final int MODE_NIGHT_NO = 1; // 0x1
+    field public static final int MODE_NIGHT_YES = 2; // 0x2
+  }
+
+  public final class VoiceInteractor {
+    method public android.app.VoiceInteractor.Request getActiveRequest(String);
+    method public android.app.VoiceInteractor.Request[] getActiveRequests();
+    method public boolean isDestroyed();
+    method public void notifyDirectActionsChanged();
+    method public boolean registerOnDestroyedCallback(@NonNull java.util.concurrent.Executor, @NonNull Runnable);
+    method public boolean submitRequest(android.app.VoiceInteractor.Request);
+    method public boolean submitRequest(android.app.VoiceInteractor.Request, String);
+    method public boolean[] supportsCommands(String[]);
+    method public boolean unregisterOnDestroyedCallback(@NonNull Runnable);
+  }
+
+  public static class VoiceInteractor.AbortVoiceRequest extends android.app.VoiceInteractor.Request {
+    ctor public VoiceInteractor.AbortVoiceRequest(@Nullable android.app.VoiceInteractor.Prompt, @Nullable android.os.Bundle);
+    method public void onAbortResult(android.os.Bundle);
+  }
+
+  public static class VoiceInteractor.CommandRequest extends android.app.VoiceInteractor.Request {
+    ctor public VoiceInteractor.CommandRequest(String, android.os.Bundle);
+    method public void onCommandResult(boolean, android.os.Bundle);
+  }
+
+  public static class VoiceInteractor.CompleteVoiceRequest extends android.app.VoiceInteractor.Request {
+    ctor public VoiceInteractor.CompleteVoiceRequest(@Nullable android.app.VoiceInteractor.Prompt, @Nullable android.os.Bundle);
+    method public void onCompleteResult(android.os.Bundle);
+  }
+
+  public static class VoiceInteractor.ConfirmationRequest extends android.app.VoiceInteractor.Request {
+    ctor public VoiceInteractor.ConfirmationRequest(@Nullable android.app.VoiceInteractor.Prompt, @Nullable android.os.Bundle);
+    method public void onConfirmationResult(boolean, android.os.Bundle);
+  }
+
+  public static class VoiceInteractor.PickOptionRequest extends android.app.VoiceInteractor.Request {
+    ctor public VoiceInteractor.PickOptionRequest(@Nullable android.app.VoiceInteractor.Prompt, android.app.VoiceInteractor.PickOptionRequest.Option[], @Nullable android.os.Bundle);
+    method public void onPickOptionResult(boolean, android.app.VoiceInteractor.PickOptionRequest.Option[], android.os.Bundle);
+  }
+
+  public static final class VoiceInteractor.PickOptionRequest.Option implements android.os.Parcelable {
+    ctor public VoiceInteractor.PickOptionRequest.Option(CharSequence, int);
+    method public android.app.VoiceInteractor.PickOptionRequest.Option addSynonym(CharSequence);
+    method public int countSynonyms();
+    method public int describeContents();
+    method public android.os.Bundle getExtras();
+    method public int getIndex();
+    method public CharSequence getLabel();
+    method public CharSequence getSynonymAt(int);
+    method public void setExtras(android.os.Bundle);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.VoiceInteractor.PickOptionRequest.Option> CREATOR;
+  }
+
+  public static class VoiceInteractor.Prompt implements android.os.Parcelable {
+    ctor public VoiceInteractor.Prompt(@NonNull CharSequence[], @NonNull CharSequence);
+    ctor public VoiceInteractor.Prompt(@NonNull CharSequence);
+    method public int countVoicePrompts();
+    method public int describeContents();
+    method @NonNull public CharSequence getVisualPrompt();
+    method @NonNull public CharSequence getVoicePromptAt(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.VoiceInteractor.Prompt> CREATOR;
+  }
+
+  public abstract static class VoiceInteractor.Request {
+    method public void cancel();
+    method public android.app.Activity getActivity();
+    method public android.content.Context getContext();
+    method public String getName();
+    method public void onAttached(android.app.Activity);
+    method public void onCancel();
+    method public void onDetached();
+  }
+
+  public final class WallpaperColors implements android.os.Parcelable {
+    ctor public WallpaperColors(android.os.Parcel);
+    ctor public WallpaperColors(@NonNull android.graphics.Color, @Nullable android.graphics.Color, @Nullable android.graphics.Color);
+    ctor public WallpaperColors(@NonNull android.graphics.Color, @Nullable android.graphics.Color, @Nullable android.graphics.Color, int);
+    method public int describeContents();
+    method public static android.app.WallpaperColors fromBitmap(@NonNull android.graphics.Bitmap);
+    method public static android.app.WallpaperColors fromDrawable(android.graphics.drawable.Drawable);
+    method public int getColorHints();
+    method @NonNull public android.graphics.Color getPrimaryColor();
+    method @Nullable public android.graphics.Color getSecondaryColor();
+    method @Nullable public android.graphics.Color getTertiaryColor();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.WallpaperColors> CREATOR;
+    field public static final int HINT_SUPPORTS_DARK_TEXT = 1; // 0x1
+    field public static final int HINT_SUPPORTS_DARK_THEME = 2; // 0x2
+  }
+
+  public final class WallpaperInfo implements android.os.Parcelable {
+    ctor public WallpaperInfo(android.content.Context, android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public android.content.ComponentName getComponent();
+    method public String getPackageName();
+    method public android.content.pm.ServiceInfo getServiceInfo();
+    method public String getServiceName();
+    method public String getSettingsActivity();
+    method @Nullable public android.net.Uri getSettingsSliceUri();
+    method public boolean getShowMetadataInPreview();
+    method public CharSequence loadAuthor(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+    method public CharSequence loadContextDescription(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+    method public android.net.Uri loadContextUri(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+    method public CharSequence loadDescription(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    method public android.graphics.drawable.Drawable loadThumbnail(android.content.pm.PackageManager);
+    method public boolean shouldUseDefaultUnfoldTransition();
+    method public boolean supportsMultipleDisplays();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.WallpaperInfo> CREATOR;
+  }
+
+  public class WallpaperManager {
+    method public void addOnColorsChangedListener(@NonNull android.app.WallpaperManager.OnColorsChangedListener, @NonNull android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void clear() throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void clear(int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void clearWallpaper();
+    method public void clearWallpaperOffsets(android.os.IBinder);
+    method public void forgetLoadedWallpaper();
+    method public android.graphics.drawable.Drawable getBuiltInDrawable();
+    method public android.graphics.drawable.Drawable getBuiltInDrawable(int);
+    method public android.graphics.drawable.Drawable getBuiltInDrawable(int, int, boolean, float, float);
+    method public android.graphics.drawable.Drawable getBuiltInDrawable(int, int, boolean, float, float, int);
+    method public android.content.Intent getCropAndSetWallpaperIntent(android.net.Uri);
+    method public int getDesiredMinimumHeight();
+    method public int getDesiredMinimumWidth();
+    method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public android.graphics.drawable.Drawable getDrawable();
+    method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public android.graphics.drawable.Drawable getFastDrawable();
+    method public static android.app.WallpaperManager getInstance(android.content.Context);
+    method @Nullable public android.app.WallpaperColors getWallpaperColors(int);
+    method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public android.os.ParcelFileDescriptor getWallpaperFile(int);
+    method public int getWallpaperId(int);
+    method public android.app.WallpaperInfo getWallpaperInfo();
+    method public boolean hasResourceWallpaper(@RawRes int);
+    method public boolean isSetWallpaperAllowed();
+    method public boolean isWallpaperSupported();
+    method public android.graphics.drawable.Drawable peekDrawable();
+    method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public android.graphics.drawable.Drawable peekFastDrawable();
+    method public void removeOnColorsChangedListener(@NonNull android.app.WallpaperManager.OnColorsChangedListener);
+    method public void sendWallpaperCommand(android.os.IBinder, String, int, int, int, android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void setBitmap(android.graphics.Bitmap) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setBitmap(android.graphics.Bitmap, android.graphics.Rect, boolean) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setBitmap(android.graphics.Bitmap, android.graphics.Rect, boolean, int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_HINTS) public void setDisplayPadding(android.graphics.Rect);
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void setResource(@RawRes int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setResource(@RawRes int, int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void setStream(java.io.InputStream) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStream(java.io.InputStream, android.graphics.Rect, boolean) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStream(java.io.InputStream, android.graphics.Rect, boolean, int) throws java.io.IOException;
+    method public void setWallpaperOffsetSteps(float, float);
+    method public void setWallpaperOffsets(android.os.IBinder, float, float);
+    method public void suggestDesiredDimensions(int, int);
+    field public static final String ACTION_CHANGE_LIVE_WALLPAPER = "android.service.wallpaper.CHANGE_LIVE_WALLPAPER";
+    field public static final String ACTION_CROP_AND_SET_WALLPAPER = "android.service.wallpaper.CROP_AND_SET_WALLPAPER";
+    field public static final String ACTION_LIVE_WALLPAPER_CHOOSER = "android.service.wallpaper.LIVE_WALLPAPER_CHOOSER";
+    field public static final String COMMAND_DROP = "android.home.drop";
+    field public static final String COMMAND_SECONDARY_TAP = "android.wallpaper.secondaryTap";
+    field public static final String COMMAND_TAP = "android.wallpaper.tap";
+    field public static final String EXTRA_LIVE_WALLPAPER_COMPONENT = "android.service.wallpaper.extra.LIVE_WALLPAPER_COMPONENT";
+    field public static final int FLAG_LOCK = 2; // 0x2
+    field public static final int FLAG_SYSTEM = 1; // 0x1
+    field public static final String WALLPAPER_PREVIEW_META_DATA = "android.wallpaper.preview";
+  }
+
+  public static interface WallpaperManager.OnColorsChangedListener {
+    method public void onColorsChanged(android.app.WallpaperColors, int);
+  }
+
+  public interface ZygotePreload {
+    method public void doPreload(@NonNull android.content.pm.ApplicationInfo);
+  }
+
+}
+
+package android.app.admin {
+
+  public final class ConnectEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable {
+    method public java.net.InetAddress getInetAddress();
+    method public int getPort();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ConnectEvent> CREATOR;
+  }
+
+  public class DelegatedAdminReceiver extends android.content.BroadcastReceiver {
+    ctor public DelegatedAdminReceiver();
+    method @Nullable public String onChoosePrivateKeyAlias(@NonNull android.content.Context, @NonNull android.content.Intent, int, @Nullable android.net.Uri, @Nullable String);
+    method public void onNetworkLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent, long, @IntRange(from=1) int);
+    method public final void onReceive(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onSecurityLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent);
+  }
+
+  public final class DeviceAdminInfo implements android.os.Parcelable {
+    ctor public DeviceAdminInfo(android.content.Context, android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public android.content.pm.ActivityInfo getActivityInfo();
+    method @NonNull public android.content.ComponentName getComponent();
+    method public String getPackageName();
+    method public String getReceiverName();
+    method public String getTagForPolicy(int);
+    method public boolean isVisible();
+    method public CharSequence loadDescription(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    method public boolean supportsTransferOwnership();
+    method public boolean usesPolicy(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DeviceAdminInfo> CREATOR;
+    field public static final int USES_ENCRYPTED_STORAGE = 7; // 0x7
+    field public static final int USES_POLICY_DISABLE_CAMERA = 8; // 0x8
+    field public static final int USES_POLICY_DISABLE_KEYGUARD_FEATURES = 9; // 0x9
+    field public static final int USES_POLICY_EXPIRE_PASSWORD = 6; // 0x6
+    field public static final int USES_POLICY_FORCE_LOCK = 3; // 0x3
+    field public static final int USES_POLICY_LIMIT_PASSWORD = 0; // 0x0
+    field public static final int USES_POLICY_RESET_PASSWORD = 2; // 0x2
+    field public static final int USES_POLICY_WATCH_LOGIN = 1; // 0x1
+    field public static final int USES_POLICY_WIPE_DATA = 4; // 0x4
+  }
+
+  public class DeviceAdminReceiver extends android.content.BroadcastReceiver {
+    ctor public DeviceAdminReceiver();
+    method @NonNull public android.app.admin.DevicePolicyManager getManager(@NonNull android.content.Context);
+    method @NonNull public android.content.ComponentName getWho(@NonNull android.content.Context);
+    method public void onBugreportFailed(@NonNull android.content.Context, @NonNull android.content.Intent, int);
+    method public void onBugreportShared(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull String);
+    method public void onBugreportSharingDeclined(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method @Nullable public String onChoosePrivateKeyAlias(@NonNull android.content.Context, @NonNull android.content.Intent, int, @Nullable android.net.Uri, @Nullable String);
+    method public void onComplianceAcknowledgementRequired(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method @Nullable public CharSequence onDisableRequested(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onDisabled(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onEnabled(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onLockTaskModeEntering(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull String);
+    method public void onLockTaskModeExiting(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onNetworkLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent, long, @IntRange(from=1) int);
+    method public void onOperationSafetyStateChanged(@NonNull android.content.Context, int, boolean);
+    method @Deprecated public void onPasswordChanged(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordChanged(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method @Deprecated public void onPasswordExpiring(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordExpiring(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method @Deprecated public void onPasswordFailed(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordFailed(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method @Deprecated public void onPasswordSucceeded(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordSucceeded(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onProfileProvisioningComplete(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method @Deprecated public void onReadyForUserInitialization(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onReceive(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onSecurityLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onSystemUpdatePending(@NonNull android.content.Context, @NonNull android.content.Intent, long);
+    method public void onTransferAffiliatedProfileOwnershipComplete(@NonNull android.content.Context, @NonNull android.os.UserHandle);
+    method public void onTransferOwnershipComplete(@NonNull android.content.Context, @Nullable android.os.PersistableBundle);
+    method public void onUserAdded(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserRemoved(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserStarted(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserStopped(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserSwitched(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    field public static final String ACTION_CHOOSE_PRIVATE_KEY_ALIAS = "android.app.action.CHOOSE_PRIVATE_KEY_ALIAS";
+    field public static final String ACTION_DEVICE_ADMIN_DISABLED = "android.app.action.DEVICE_ADMIN_DISABLED";
+    field public static final String ACTION_DEVICE_ADMIN_DISABLE_REQUESTED = "android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED";
+    field public static final String ACTION_DEVICE_ADMIN_ENABLED = "android.app.action.DEVICE_ADMIN_ENABLED";
+    field public static final String ACTION_LOCK_TASK_ENTERING = "android.app.action.LOCK_TASK_ENTERING";
+    field public static final String ACTION_LOCK_TASK_EXITING = "android.app.action.LOCK_TASK_EXITING";
+    field public static final String ACTION_NETWORK_LOGS_AVAILABLE = "android.app.action.NETWORK_LOGS_AVAILABLE";
+    field public static final String ACTION_PASSWORD_CHANGED = "android.app.action.ACTION_PASSWORD_CHANGED";
+    field public static final String ACTION_PASSWORD_EXPIRING = "android.app.action.ACTION_PASSWORD_EXPIRING";
+    field public static final String ACTION_PASSWORD_FAILED = "android.app.action.ACTION_PASSWORD_FAILED";
+    field public static final String ACTION_PASSWORD_SUCCEEDED = "android.app.action.ACTION_PASSWORD_SUCCEEDED";
+    field public static final String ACTION_PROFILE_PROVISIONING_COMPLETE = "android.app.action.PROFILE_PROVISIONING_COMPLETE";
+    field public static final String ACTION_SECURITY_LOGS_AVAILABLE = "android.app.action.SECURITY_LOGS_AVAILABLE";
+    field public static final int BUGREPORT_FAILURE_FAILED_COMPLETING = 0; // 0x0
+    field public static final int BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE = 1; // 0x1
+    field public static final String DEVICE_ADMIN_META_DATA = "android.app.device_admin";
+    field public static final String EXTRA_DISABLE_WARNING = "android.app.extra.DISABLE_WARNING";
+    field public static final String EXTRA_LOCK_TASK_PACKAGE = "android.app.extra.LOCK_TASK_PACKAGE";
+    field public static final String EXTRA_TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE = "android.app.extra.TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE";
+  }
+
+  public class DeviceAdminService extends android.app.Service {
+    ctor public DeviceAdminService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+  }
+
+  public class DevicePolicyManager {
+    method public void acknowledgeDeviceCompliant();
+    method public void addCrossProfileIntentFilter(@NonNull android.content.ComponentName, android.content.IntentFilter, int);
+    method public boolean addCrossProfileWidgetProvider(@NonNull android.content.ComponentName, String);
+    method public int addOverrideApn(@NonNull android.content.ComponentName, @NonNull android.telephony.data.ApnSetting);
+    method public void addPersistentPreferredActivity(@NonNull android.content.ComponentName, android.content.IntentFilter, @NonNull android.content.ComponentName);
+    method public void addUserRestriction(@NonNull android.content.ComponentName, String);
+    method public boolean bindDeviceAdminServiceAsUser(@NonNull android.content.ComponentName, android.content.Intent, @NonNull android.content.ServiceConnection, int, @NonNull android.os.UserHandle);
+    method public boolean canAdminGrantSensorsPermissions();
+    method public boolean canUsbDataSignalingBeDisabled();
+    method public void clearApplicationUserData(@NonNull android.content.ComponentName, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.app.admin.DevicePolicyManager.OnClearApplicationUserDataListener);
+    method public void clearCrossProfileIntentFilters(@NonNull android.content.ComponentName);
+    method @Deprecated public void clearDeviceOwnerApp(String);
+    method public void clearPackagePersistentPreferredActivities(@NonNull android.content.ComponentName, String);
+    method @Deprecated public void clearProfileOwner(@NonNull android.content.ComponentName);
+    method public boolean clearResetPasswordToken(android.content.ComponentName);
+    method public void clearUserRestriction(@NonNull android.content.ComponentName, String);
+    method public android.content.Intent createAdminSupportIntent(@NonNull String);
+    method @Nullable public android.os.UserHandle createAndManageUser(@NonNull android.content.ComponentName, @NonNull String, @NonNull android.content.ComponentName, @Nullable android.os.PersistableBundle, int);
+    method public void enableSystemApp(@NonNull android.content.ComponentName, String);
+    method public int enableSystemApp(@NonNull android.content.ComponentName, android.content.Intent);
+    method public android.security.AttestedKeyPair generateKeyPair(@Nullable android.content.ComponentName, @NonNull String, @NonNull android.security.keystore.KeyGenParameterSpec, int);
+    method @Nullable public String[] getAccountTypesWithManagementDisabled();
+    method @Nullable public java.util.List<android.content.ComponentName> getActiveAdmins();
+    method @NonNull public java.util.Set<java.lang.String> getAffiliationIds(@NonNull android.content.ComponentName);
+    method @Nullable public java.util.Set<java.lang.String> getAlwaysOnVpnLockdownWhitelist(@NonNull android.content.ComponentName);
+    method @Nullable public String getAlwaysOnVpnPackage(@NonNull android.content.ComponentName);
+    method @NonNull @WorkerThread public android.os.Bundle getApplicationRestrictions(@Nullable android.content.ComponentName, String);
+    method @Deprecated @Nullable public String getApplicationRestrictionsManagingPackage(@NonNull android.content.ComponentName);
+    method public boolean getAutoTimeEnabled(@NonNull android.content.ComponentName);
+    method @Deprecated public boolean getAutoTimeRequired();
+    method public boolean getAutoTimeZoneEnabled(@NonNull android.content.ComponentName);
+    method @NonNull public java.util.List<android.os.UserHandle> getBindDeviceAdminTargetUsers(@NonNull android.content.ComponentName);
+    method public boolean getBluetoothContactSharingDisabled(@NonNull android.content.ComponentName);
+    method public boolean getCameraDisabled(@Nullable android.content.ComponentName);
+    method @Deprecated @Nullable public String getCertInstallerPackage(@NonNull android.content.ComponentName) throws java.lang.SecurityException;
+    method @Nullable public java.util.Set<java.lang.String> getCrossProfileCalendarPackages(@NonNull android.content.ComponentName);
+    method public boolean getCrossProfileCallerIdDisabled(@NonNull android.content.ComponentName);
+    method public boolean getCrossProfileContactsSearchDisabled(@NonNull android.content.ComponentName);
+    method @NonNull public java.util.Set<java.lang.String> getCrossProfilePackages(@NonNull android.content.ComponentName);
+    method @NonNull public java.util.List<java.lang.String> getCrossProfileWidgetProviders(@NonNull android.content.ComponentName);
+    method public int getCurrentFailedPasswordAttempts();
+    method @Nullable public java.util.List<java.lang.String> getDelegatePackages(@NonNull android.content.ComponentName, @NonNull String);
+    method @NonNull public java.util.List<java.lang.String> getDelegatedScopes(@Nullable android.content.ComponentName, @NonNull String);
+    method public CharSequence getDeviceOwnerLockScreenInfo();
+    method public CharSequence getEndUserSessionMessage(@NonNull android.content.ComponentName);
+    method @NonNull public String getEnrollmentSpecificId();
+    method @Nullable public android.app.admin.FactoryResetProtectionPolicy getFactoryResetProtectionPolicy(@Nullable android.content.ComponentName);
+    method @Nullable public String getGlobalPrivateDnsHost(@NonNull android.content.ComponentName);
+    method public int getGlobalPrivateDnsMode(@NonNull android.content.ComponentName);
+    method @NonNull public java.util.List<byte[]> getInstalledCaCerts(@Nullable android.content.ComponentName);
+    method @Nullable public java.util.List<java.lang.String> getKeepUninstalledPackages(@Nullable android.content.ComponentName);
+    method @NonNull public java.util.Map<java.lang.Integer,java.util.Set<java.lang.String>> getKeyPairGrants(@NonNull String);
+    method public int getKeyguardDisabledFeatures(@Nullable android.content.ComponentName);
+    method public int getLockTaskFeatures(@NonNull android.content.ComponentName);
+    method @NonNull public String[] getLockTaskPackages(@NonNull android.content.ComponentName);
+    method @Nullable public CharSequence getLongSupportMessage(@NonNull android.content.ComponentName);
+    method public long getManagedProfileMaximumTimeOff(@NonNull android.content.ComponentName);
+    method public int getMaximumFailedPasswordsForWipe(@Nullable android.content.ComponentName);
+    method public long getMaximumTimeToLock(@Nullable android.content.ComponentName);
+    method @NonNull public java.util.List<java.lang.String> getMeteredDataDisabledPackages(@NonNull android.content.ComponentName);
+    method public int getNearbyAppStreamingPolicy();
+    method public int getNearbyNotificationStreamingPolicy();
+    method @Deprecated @ColorInt public int getOrganizationColor(@NonNull android.content.ComponentName);
+    method @Nullable public CharSequence getOrganizationName(@NonNull android.content.ComponentName);
+    method public java.util.List<android.telephony.data.ApnSetting> getOverrideApns(@NonNull android.content.ComponentName);
+    method @NonNull public android.app.admin.DevicePolicyManager getParentProfileInstance(@NonNull android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY) public int getPasswordComplexity();
+    method public long getPasswordExpiration(@Nullable android.content.ComponentName);
+    method public long getPasswordExpirationTimeout(@Nullable android.content.ComponentName);
+    method public int getPasswordHistoryLength(@Nullable android.content.ComponentName);
+    method public int getPasswordMaximumLength(int);
+    method @Deprecated public int getPasswordMinimumLength(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumLetters(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumLowerCase(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumNonLetter(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumNumeric(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumSymbols(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumUpperCase(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordQuality(@Nullable android.content.ComponentName);
+    method @Nullable public android.app.admin.SystemUpdateInfo getPendingSystemUpdate(@NonNull android.content.ComponentName);
+    method public int getPermissionGrantState(@Nullable android.content.ComponentName, @NonNull String, @NonNull String);
+    method public int getPermissionPolicy(android.content.ComponentName);
+    method @Nullable public java.util.List<java.lang.String> getPermittedAccessibilityServices(@NonNull android.content.ComponentName);
+    method @Nullable public java.util.List<java.lang.String> getPermittedCrossProfileNotificationListeners(@NonNull android.content.ComponentName);
+    method @Nullable public java.util.List<java.lang.String> getPermittedInputMethods(@NonNull android.content.ComponentName);
+    method public int getPersonalAppsSuspendedReasons(@NonNull android.content.ComponentName);
+    method public int getRequiredPasswordComplexity();
+    method public long getRequiredStrongAuthTimeout(@Nullable android.content.ComponentName);
+    method public boolean getScreenCaptureDisabled(@Nullable android.content.ComponentName);
+    method public java.util.List<android.os.UserHandle> getSecondaryUsers(@NonNull android.content.ComponentName);
+    method public CharSequence getShortSupportMessage(@NonNull android.content.ComponentName);
+    method public CharSequence getStartUserSessionMessage(@NonNull android.content.ComponentName);
+    method @Deprecated public boolean getStorageEncryption(@Nullable android.content.ComponentName);
+    method public int getStorageEncryptionStatus();
+    method @Nullable public android.app.admin.SystemUpdatePolicy getSystemUpdatePolicy();
+    method @Nullable public android.os.PersistableBundle getTransferOwnershipBundle();
+    method @Nullable public java.util.List<android.os.PersistableBundle> getTrustAgentConfiguration(@Nullable android.content.ComponentName, @NonNull android.content.ComponentName);
+    method @NonNull public java.util.List<java.lang.String> getUserControlDisabledPackages(@NonNull android.content.ComponentName);
+    method @NonNull public android.os.Bundle getUserRestrictions(@NonNull android.content.ComponentName);
+    method @Nullable public String getWifiMacAddress(@NonNull android.content.ComponentName);
+    method public boolean grantKeyPairToApp(@Nullable android.content.ComponentName, @NonNull String, @NonNull String);
+    method public boolean grantKeyPairToWifiAuth(@NonNull String);
+    method public boolean hasCaCertInstalled(@Nullable android.content.ComponentName, byte[]);
+    method public boolean hasGrantedPolicy(@NonNull android.content.ComponentName, int);
+    method public boolean hasKeyPair(@NonNull String);
+    method public boolean hasLockdownAdminConfiguredNetworks(@NonNull android.content.ComponentName);
+    method public boolean installCaCert(@Nullable android.content.ComponentName, byte[]);
+    method public boolean installExistingPackage(@NonNull android.content.ComponentName, String);
+    method public boolean installKeyPair(@Nullable android.content.ComponentName, @NonNull java.security.PrivateKey, @NonNull java.security.cert.Certificate, @NonNull String);
+    method public boolean installKeyPair(@Nullable android.content.ComponentName, @NonNull java.security.PrivateKey, @NonNull java.security.cert.Certificate[], @NonNull String, boolean);
+    method public boolean installKeyPair(@Nullable android.content.ComponentName, @NonNull java.security.PrivateKey, @NonNull java.security.cert.Certificate[], @NonNull String, int);
+    method public void installSystemUpdate(@NonNull android.content.ComponentName, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.app.admin.DevicePolicyManager.InstallSystemUpdateCallback);
+    method public boolean isActivePasswordSufficient();
+    method public boolean isActivePasswordSufficientForDeviceRequirement();
+    method public boolean isAdminActive(@NonNull android.content.ComponentName);
+    method public boolean isAffiliatedUser();
+    method public boolean isAlwaysOnVpnLockdownEnabled(@NonNull android.content.ComponentName);
+    method public boolean isApplicationHidden(@NonNull android.content.ComponentName, String);
+    method public boolean isBackupServiceEnabled(@NonNull android.content.ComponentName);
+    method @Deprecated public boolean isCallerApplicationRestrictionsManagingPackage();
+    method public boolean isCommonCriteriaModeEnabled(@Nullable android.content.ComponentName);
+    method public boolean isComplianceAcknowledgementRequired();
+    method public boolean isDeviceIdAttestationSupported();
+    method public boolean isDeviceOwnerApp(String);
+    method public boolean isEphemeralUser(@NonNull android.content.ComponentName);
+    method public boolean isKeyPairGrantedToWifiAuth(@NonNull String);
+    method public boolean isLockTaskPermitted(String);
+    method public boolean isLogoutEnabled();
+    method public boolean isManagedProfile(@NonNull android.content.ComponentName);
+    method public boolean isMasterVolumeMuted(@NonNull android.content.ComponentName);
+    method public boolean isNetworkLoggingEnabled(@Nullable android.content.ComponentName);
+    method public boolean isOrganizationOwnedDeviceWithManagedProfile();
+    method public boolean isOverrideApnEnabled(@NonNull android.content.ComponentName);
+    method public boolean isPackageSuspended(@NonNull android.content.ComponentName, String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public boolean isPreferentialNetworkServiceEnabled();
+    method public boolean isProfileOwnerApp(String);
+    method public boolean isProvisioningAllowed(@NonNull String);
+    method public boolean isResetPasswordTokenActive(android.content.ComponentName);
+    method public boolean isSafeOperation(int);
+    method public boolean isSecurityLoggingEnabled(@Nullable android.content.ComponentName);
+    method public boolean isUninstallBlocked(@Nullable android.content.ComponentName, String);
+    method public boolean isUniqueDeviceAttestationSupported();
+    method public boolean isUsbDataSignalingEnabled();
+    method public boolean isUsingUnifiedPassword(@NonNull android.content.ComponentName);
+    method @NonNull public java.util.List<android.os.UserHandle> listForegroundAffiliatedUsers();
+    method public void lockNow();
+    method public void lockNow(int);
+    method public int logoutUser(@NonNull android.content.ComponentName);
+    method public void reboot(@NonNull android.content.ComponentName);
+    method public void removeActiveAdmin(@NonNull android.content.ComponentName);
+    method public boolean removeCrossProfileWidgetProvider(@NonNull android.content.ComponentName, String);
+    method public boolean removeKeyPair(@Nullable android.content.ComponentName, @NonNull String);
+    method public boolean removeOverrideApn(@NonNull android.content.ComponentName, int);
+    method public boolean removeUser(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    method public boolean requestBugreport(@NonNull android.content.ComponentName);
+    method @Deprecated public boolean resetPassword(String, int);
+    method public boolean resetPasswordWithToken(@NonNull android.content.ComponentName, String, byte[], int);
+    method @Nullable public java.util.List<android.app.admin.NetworkEvent> retrieveNetworkLogs(@Nullable android.content.ComponentName, long);
+    method @Nullable public java.util.List<android.app.admin.SecurityLog.SecurityEvent> retrievePreRebootSecurityLogs(@NonNull android.content.ComponentName);
+    method @Nullable public java.util.List<android.app.admin.SecurityLog.SecurityEvent> retrieveSecurityLogs(@NonNull android.content.ComponentName);
+    method public boolean revokeKeyPairFromApp(@Nullable android.content.ComponentName, @NonNull String, @NonNull String);
+    method public boolean revokeKeyPairFromWifiAuth(@NonNull String);
+    method public void setAccountManagementDisabled(@NonNull android.content.ComponentName, String, boolean);
+    method public void setAffiliationIds(@NonNull android.content.ComponentName, @NonNull java.util.Set<java.lang.String>);
+    method public void setAlwaysOnVpnPackage(@NonNull android.content.ComponentName, @Nullable String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public void setAlwaysOnVpnPackage(@NonNull android.content.ComponentName, @Nullable String, boolean, @Nullable java.util.Set<java.lang.String>) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public boolean setApplicationHidden(@NonNull android.content.ComponentName, String, boolean);
+    method @WorkerThread public void setApplicationRestrictions(@Nullable android.content.ComponentName, String, android.os.Bundle);
+    method @Deprecated public void setApplicationRestrictionsManagingPackage(@NonNull android.content.ComponentName, @Nullable String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public void setAutoTimeEnabled(@NonNull android.content.ComponentName, boolean);
+    method @Deprecated public void setAutoTimeRequired(@NonNull android.content.ComponentName, boolean);
+    method public void setAutoTimeZoneEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setBackupServiceEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setBluetoothContactSharingDisabled(@NonNull android.content.ComponentName, boolean);
+    method public void setCameraDisabled(@NonNull android.content.ComponentName, boolean);
+    method @Deprecated public void setCertInstallerPackage(@NonNull android.content.ComponentName, @Nullable String) throws java.lang.SecurityException;
+    method public void setCommonCriteriaModeEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setConfiguredNetworksLockdownState(@NonNull android.content.ComponentName, boolean);
+    method public void setCrossProfileCalendarPackages(@NonNull android.content.ComponentName, @Nullable java.util.Set<java.lang.String>);
+    method public void setCrossProfileCallerIdDisabled(@NonNull android.content.ComponentName, boolean);
+    method public void setCrossProfileContactsSearchDisabled(@NonNull android.content.ComponentName, boolean);
+    method public void setCrossProfilePackages(@NonNull android.content.ComponentName, @NonNull java.util.Set<java.lang.String>);
+    method public void setDefaultSmsApplication(@NonNull android.content.ComponentName, @NonNull String);
+    method public void setDelegatedScopes(@NonNull android.content.ComponentName, @NonNull String, @NonNull java.util.List<java.lang.String>);
+    method public void setDeviceOwnerLockScreenInfo(@NonNull android.content.ComponentName, CharSequence);
+    method public void setEndUserSessionMessage(@NonNull android.content.ComponentName, @Nullable CharSequence);
+    method public void setFactoryResetProtectionPolicy(@NonNull android.content.ComponentName, @Nullable android.app.admin.FactoryResetProtectionPolicy);
+    method public int setGlobalPrivateDnsModeOpportunistic(@NonNull android.content.ComponentName);
+    method @WorkerThread public int setGlobalPrivateDnsModeSpecifiedHost(@NonNull android.content.ComponentName, @NonNull String);
+    method public void setGlobalSetting(@NonNull android.content.ComponentName, String, String);
+    method public void setKeepUninstalledPackages(@Nullable android.content.ComponentName, @NonNull java.util.List<java.lang.String>);
+    method public boolean setKeyPairCertificate(@Nullable android.content.ComponentName, @NonNull String, @NonNull java.util.List<java.security.cert.Certificate>, boolean);
+    method public boolean setKeyguardDisabled(@NonNull android.content.ComponentName, boolean);
+    method public void setKeyguardDisabledFeatures(@NonNull android.content.ComponentName, int);
+    method public void setLocationEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setLockTaskFeatures(@NonNull android.content.ComponentName, int);
+    method public void setLockTaskPackages(@NonNull android.content.ComponentName, @NonNull String[]) throws java.lang.SecurityException;
+    method public void setLogoutEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setLongSupportMessage(@NonNull android.content.ComponentName, @Nullable CharSequence);
+    method public void setManagedProfileMaximumTimeOff(@NonNull android.content.ComponentName, long);
+    method public void setMasterVolumeMuted(@NonNull android.content.ComponentName, boolean);
+    method public void setMaximumFailedPasswordsForWipe(@NonNull android.content.ComponentName, int);
+    method public void setMaximumTimeToLock(@NonNull android.content.ComponentName, long);
+    method @NonNull public java.util.List<java.lang.String> setMeteredDataDisabledPackages(@NonNull android.content.ComponentName, @NonNull java.util.List<java.lang.String>);
+    method public void setNearbyAppStreamingPolicy(int);
+    method public void setNearbyNotificationStreamingPolicy(int);
+    method public void setNetworkLoggingEnabled(@Nullable android.content.ComponentName, boolean);
+    method @Deprecated public void setOrganizationColor(@NonNull android.content.ComponentName, int);
+    method public void setOrganizationId(@NonNull String);
+    method public void setOrganizationName(@NonNull android.content.ComponentName, @Nullable CharSequence);
+    method public void setOverrideApnsEnabled(@NonNull android.content.ComponentName, boolean);
+    method @NonNull public String[] setPackagesSuspended(@NonNull android.content.ComponentName, @NonNull String[], boolean);
+    method public void setPasswordExpirationTimeout(@NonNull android.content.ComponentName, long);
+    method public void setPasswordHistoryLength(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumLength(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumLetters(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumLowerCase(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumNonLetter(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumNumeric(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumSymbols(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumUpperCase(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordQuality(@NonNull android.content.ComponentName, int);
+    method public boolean setPermissionGrantState(@NonNull android.content.ComponentName, @NonNull String, @NonNull String, int);
+    method public void setPermissionPolicy(@NonNull android.content.ComponentName, int);
+    method public boolean setPermittedAccessibilityServices(@NonNull android.content.ComponentName, java.util.List<java.lang.String>);
+    method public boolean setPermittedCrossProfileNotificationListeners(@NonNull android.content.ComponentName, @Nullable java.util.List<java.lang.String>);
+    method public boolean setPermittedInputMethods(@NonNull android.content.ComponentName, java.util.List<java.lang.String>);
+    method public void setPersonalAppsSuspended(@NonNull android.content.ComponentName, boolean);
+    method public void setPreferentialNetworkServiceEnabled(boolean);
+    method public void setProfileEnabled(@NonNull android.content.ComponentName);
+    method public void setProfileName(@NonNull android.content.ComponentName, String);
+    method public void setRecommendedGlobalProxy(@NonNull android.content.ComponentName, @Nullable android.net.ProxyInfo);
+    method public void setRequiredPasswordComplexity(int);
+    method public void setRequiredStrongAuthTimeout(@NonNull android.content.ComponentName, long);
+    method public boolean setResetPasswordToken(android.content.ComponentName, byte[]);
+    method public void setRestrictionsProvider(@NonNull android.content.ComponentName, @Nullable android.content.ComponentName);
+    method public void setScreenCaptureDisabled(@NonNull android.content.ComponentName, boolean);
+    method public void setSecureSetting(@NonNull android.content.ComponentName, String, String);
+    method public void setSecurityLoggingEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setShortSupportMessage(@NonNull android.content.ComponentName, @Nullable CharSequence);
+    method public void setStartUserSessionMessage(@NonNull android.content.ComponentName, @Nullable CharSequence);
+    method public boolean setStatusBarDisabled(@NonNull android.content.ComponentName, boolean);
+    method @Deprecated public int setStorageEncryption(@NonNull android.content.ComponentName, boolean);
+    method public void setSystemSetting(@NonNull android.content.ComponentName, @NonNull String, String);
+    method public void setSystemUpdatePolicy(@NonNull android.content.ComponentName, android.app.admin.SystemUpdatePolicy);
+    method public boolean setTime(@NonNull android.content.ComponentName, long);
+    method public boolean setTimeZone(@NonNull android.content.ComponentName, String);
+    method public void setTrustAgentConfiguration(@NonNull android.content.ComponentName, @NonNull android.content.ComponentName, android.os.PersistableBundle);
+    method public void setUninstallBlocked(@Nullable android.content.ComponentName, String, boolean);
+    method public void setUsbDataSignalingEnabled(boolean);
+    method public void setUserControlDisabledPackages(@NonNull android.content.ComponentName, @NonNull java.util.List<java.lang.String>);
+    method public void setUserIcon(@NonNull android.content.ComponentName, android.graphics.Bitmap);
+    method public int startUserInBackground(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    method public int stopUser(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    method public boolean switchUser(@NonNull android.content.ComponentName, @Nullable android.os.UserHandle);
+    method public void transferOwnership(@NonNull android.content.ComponentName, @NonNull android.content.ComponentName, @Nullable android.os.PersistableBundle);
+    method public void uninstallAllUserCaCerts(@Nullable android.content.ComponentName);
+    method public void uninstallCaCert(@Nullable android.content.ComponentName, byte[]);
+    method public boolean updateOverrideApn(@NonNull android.content.ComponentName, int, @NonNull android.telephony.data.ApnSetting);
+    method public void wipeData(int);
+    method public void wipeData(int, @NonNull CharSequence);
+    field public static final String ACTION_ADD_DEVICE_ADMIN = "android.app.action.ADD_DEVICE_ADMIN";
+    field public static final String ACTION_ADMIN_POLICY_COMPLIANCE = "android.app.action.ADMIN_POLICY_COMPLIANCE";
+    field public static final String ACTION_APPLICATION_DELEGATION_SCOPES_CHANGED = "android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED";
+    field public static final String ACTION_CHECK_POLICY_COMPLIANCE = "android.app.action.CHECK_POLICY_COMPLIANCE";
+    field public static final String ACTION_DEVICE_ADMIN_SERVICE = "android.app.action.DEVICE_ADMIN_SERVICE";
+    field public static final String ACTION_DEVICE_OWNER_CHANGED = "android.app.action.DEVICE_OWNER_CHANGED";
+    field public static final String ACTION_GET_PROVISIONING_MODE = "android.app.action.GET_PROVISIONING_MODE";
+    field public static final String ACTION_MANAGED_PROFILE_PROVISIONED = "android.app.action.MANAGED_PROFILE_PROVISIONED";
+    field public static final String ACTION_PROFILE_OWNER_CHANGED = "android.app.action.PROFILE_OWNER_CHANGED";
+    field public static final String ACTION_PROVISIONING_SUCCESSFUL = "android.app.action.PROVISIONING_SUCCESSFUL";
+    field @Deprecated public static final String ACTION_PROVISION_MANAGED_DEVICE = "android.app.action.PROVISION_MANAGED_DEVICE";
+    field public static final String ACTION_PROVISION_MANAGED_PROFILE = "android.app.action.PROVISION_MANAGED_PROFILE";
+    field public static final String ACTION_SET_NEW_PARENT_PROFILE_PASSWORD = "android.app.action.SET_NEW_PARENT_PROFILE_PASSWORD";
+    field public static final String ACTION_SET_NEW_PASSWORD = "android.app.action.SET_NEW_PASSWORD";
+    field public static final String ACTION_START_ENCRYPTION = "android.app.action.START_ENCRYPTION";
+    field public static final String ACTION_SYSTEM_UPDATE_POLICY_CHANGED = "android.app.action.SYSTEM_UPDATE_POLICY_CHANGED";
+    field public static final String DELEGATION_APP_RESTRICTIONS = "delegation-app-restrictions";
+    field public static final String DELEGATION_BLOCK_UNINSTALL = "delegation-block-uninstall";
+    field public static final String DELEGATION_CERT_INSTALL = "delegation-cert-install";
+    field public static final String DELEGATION_CERT_SELECTION = "delegation-cert-selection";
+    field public static final String DELEGATION_ENABLE_SYSTEM_APP = "delegation-enable-system-app";
+    field public static final String DELEGATION_INSTALL_EXISTING_PACKAGE = "delegation-install-existing-package";
+    field public static final String DELEGATION_KEEP_UNINSTALLED_PACKAGES = "delegation-keep-uninstalled-packages";
+    field public static final String DELEGATION_NETWORK_LOGGING = "delegation-network-logging";
+    field public static final String DELEGATION_PACKAGE_ACCESS = "delegation-package-access";
+    field public static final String DELEGATION_PERMISSION_GRANT = "delegation-permission-grant";
+    field public static final String DELEGATION_SECURITY_LOGGING = "delegation-security-logging";
+    field public static final int ENCRYPTION_STATUS_ACTIVATING = 2; // 0x2
+    field public static final int ENCRYPTION_STATUS_ACTIVE = 3; // 0x3
+    field public static final int ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY = 4; // 0x4
+    field public static final int ENCRYPTION_STATUS_ACTIVE_PER_USER = 5; // 0x5
+    field public static final int ENCRYPTION_STATUS_INACTIVE = 1; // 0x1
+    field public static final int ENCRYPTION_STATUS_UNSUPPORTED = 0; // 0x0
+    field public static final String EXTRA_ADD_EXPLANATION = "android.app.extra.ADD_EXPLANATION";
+    field public static final String EXTRA_DELEGATION_SCOPES = "android.app.extra.DELEGATION_SCOPES";
+    field public static final String EXTRA_DEVICE_ADMIN = "android.app.extra.DEVICE_ADMIN";
+    field public static final String EXTRA_DEVICE_PASSWORD_REQUIREMENT_ONLY = "android.app.extra.DEVICE_PASSWORD_REQUIREMENT_ONLY";
+    field @RequiresPermission(android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY) public static final String EXTRA_PASSWORD_COMPLEXITY = "android.app.extra.PASSWORD_COMPLEXITY";
+    field public static final String EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE = "android.app.extra.PROVISIONING_ACCOUNT_TO_MIGRATE";
+    field public static final String EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE";
+    field public static final String EXTRA_PROVISIONING_ALLOWED_PROVISIONING_MODES = "android.app.extra.PROVISIONING_ALLOWED_PROVISIONING_MODES";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE = "android.app.extra.PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION";
+    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM";
+    field public static final String EXTRA_PROVISIONING_DISCLAIMERS = "android.app.extra.PROVISIONING_DISCLAIMERS";
+    field public static final String EXTRA_PROVISIONING_DISCLAIMER_CONTENT = "android.app.extra.PROVISIONING_DISCLAIMER_CONTENT";
+    field public static final String EXTRA_PROVISIONING_DISCLAIMER_HEADER = "android.app.extra.PROVISIONING_DISCLAIMER_HEADER";
+    field @Deprecated public static final String EXTRA_PROVISIONING_EMAIL_ADDRESS = "android.app.extra.PROVISIONING_EMAIL_ADDRESS";
+    field public static final String EXTRA_PROVISIONING_IMEI = "android.app.extra.PROVISIONING_IMEI";
+    field public static final String EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION = "android.app.extra.PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION";
+    field public static final String EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED = "android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED";
+    field public static final String EXTRA_PROVISIONING_LOCALE = "android.app.extra.PROVISIONING_LOCALE";
+    field public static final String EXTRA_PROVISIONING_LOCAL_TIME = "android.app.extra.PROVISIONING_LOCAL_TIME";
+    field public static final String EXTRA_PROVISIONING_LOGO_URI = "android.app.extra.PROVISIONING_LOGO_URI";
+    field @Deprecated public static final String EXTRA_PROVISIONING_MAIN_COLOR = "android.app.extra.PROVISIONING_MAIN_COLOR";
+    field public static final String EXTRA_PROVISIONING_MODE = "android.app.extra.PROVISIONING_MODE";
+    field public static final String EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT = "android.app.extra.PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT";
+    field public static final String EXTRA_PROVISIONING_SERIAL_NUMBER = "android.app.extra.PROVISIONING_SERIAL_NUMBER";
+    field public static final String EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS = "android.app.extra.PROVISIONING_SKIP_EDUCATION_SCREENS";
+    field public static final String EXTRA_PROVISIONING_SKIP_ENCRYPTION = "android.app.extra.PROVISIONING_SKIP_ENCRYPTION";
+    field @Deprecated public static final String EXTRA_PROVISIONING_SKIP_USER_CONSENT = "android.app.extra.PROVISIONING_SKIP_USER_CONSENT";
+    field public static final String EXTRA_PROVISIONING_TIME_ZONE = "android.app.extra.PROVISIONING_TIME_ZONE";
+    field public static final String EXTRA_PROVISIONING_WIFI_ANONYMOUS_IDENTITY = "android.app.extra.PROVISIONING_WIFI_ANONYMOUS_IDENTITY";
+    field public static final String EXTRA_PROVISIONING_WIFI_CA_CERTIFICATE = "android.app.extra.PROVISIONING_WIFI_CA_CERTIFICATE";
+    field public static final String EXTRA_PROVISIONING_WIFI_DOMAIN = "android.app.extra.PROVISIONING_WIFI_DOMAIN";
+    field public static final String EXTRA_PROVISIONING_WIFI_EAP_METHOD = "android.app.extra.PROVISIONING_WIFI_EAP_METHOD";
+    field public static final String EXTRA_PROVISIONING_WIFI_HIDDEN = "android.app.extra.PROVISIONING_WIFI_HIDDEN";
+    field public static final String EXTRA_PROVISIONING_WIFI_IDENTITY = "android.app.extra.PROVISIONING_WIFI_IDENTITY";
+    field public static final String EXTRA_PROVISIONING_WIFI_PAC_URL = "android.app.extra.PROVISIONING_WIFI_PAC_URL";
+    field public static final String EXTRA_PROVISIONING_WIFI_PASSWORD = "android.app.extra.PROVISIONING_WIFI_PASSWORD";
+    field public static final String EXTRA_PROVISIONING_WIFI_PHASE2_AUTH = "android.app.extra.PROVISIONING_WIFI_PHASE2_AUTH";
+    field public static final String EXTRA_PROVISIONING_WIFI_PROXY_BYPASS = "android.app.extra.PROVISIONING_WIFI_PROXY_BYPASS";
+    field public static final String EXTRA_PROVISIONING_WIFI_PROXY_HOST = "android.app.extra.PROVISIONING_WIFI_PROXY_HOST";
+    field public static final String EXTRA_PROVISIONING_WIFI_PROXY_PORT = "android.app.extra.PROVISIONING_WIFI_PROXY_PORT";
+    field public static final String EXTRA_PROVISIONING_WIFI_SECURITY_TYPE = "android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE";
+    field public static final String EXTRA_PROVISIONING_WIFI_SSID = "android.app.extra.PROVISIONING_WIFI_SSID";
+    field public static final String EXTRA_PROVISIONING_WIFI_USER_CERTIFICATE = "android.app.extra.PROVISIONING_WIFI_USER_CERTIFICATE";
+    field public static final int FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY = 1; // 0x1
+    field public static final int FLAG_MANAGED_CAN_ACCESS_PARENT = 2; // 0x2
+    field public static final int FLAG_PARENT_CAN_ACCESS_MANAGED = 1; // 0x1
+    field public static final int ID_TYPE_BASE_INFO = 1; // 0x1
+    field public static final int ID_TYPE_IMEI = 4; // 0x4
+    field public static final int ID_TYPE_INDIVIDUAL_ATTESTATION = 16; // 0x10
+    field public static final int ID_TYPE_MEID = 8; // 0x8
+    field public static final int ID_TYPE_SERIAL = 2; // 0x2
+    field public static final int INSTALLKEY_REQUEST_CREDENTIALS_ACCESS = 1; // 0x1
+    field public static final int INSTALLKEY_SET_USER_SELECTABLE = 2; // 0x2
+    field public static final int KEYGUARD_DISABLE_BIOMETRICS = 416; // 0x1a0
+    field public static final int KEYGUARD_DISABLE_FACE = 128; // 0x80
+    field public static final int KEYGUARD_DISABLE_FEATURES_ALL = 2147483647; // 0x7fffffff
+    field public static final int KEYGUARD_DISABLE_FEATURES_NONE = 0; // 0x0
+    field public static final int KEYGUARD_DISABLE_FINGERPRINT = 32; // 0x20
+    field public static final int KEYGUARD_DISABLE_IRIS = 256; // 0x100
+    field public static final int KEYGUARD_DISABLE_REMOTE_INPUT = 64; // 0x40
+    field public static final int KEYGUARD_DISABLE_SECURE_CAMERA = 2; // 0x2
+    field public static final int KEYGUARD_DISABLE_SECURE_NOTIFICATIONS = 4; // 0x4
+    field public static final int KEYGUARD_DISABLE_TRUST_AGENTS = 16; // 0x10
+    field public static final int KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS = 8; // 0x8
+    field public static final int KEYGUARD_DISABLE_WIDGETS_ALL = 1; // 0x1
+    field public static final int LEAVE_ALL_SYSTEM_APPS_ENABLED = 16; // 0x10
+    field public static final int LOCK_TASK_FEATURE_BLOCK_ACTIVITY_START_IN_TASK = 64; // 0x40
+    field public static final int LOCK_TASK_FEATURE_GLOBAL_ACTIONS = 16; // 0x10
+    field public static final int LOCK_TASK_FEATURE_HOME = 4; // 0x4
+    field public static final int LOCK_TASK_FEATURE_KEYGUARD = 32; // 0x20
+    field public static final int LOCK_TASK_FEATURE_NONE = 0; // 0x0
+    field public static final int LOCK_TASK_FEATURE_NOTIFICATIONS = 2; // 0x2
+    field public static final int LOCK_TASK_FEATURE_OVERVIEW = 8; // 0x8
+    field public static final int LOCK_TASK_FEATURE_SYSTEM_INFO = 1; // 0x1
+    field public static final int MAKE_USER_EPHEMERAL = 2; // 0x2
+    field public static final String MIME_TYPE_PROVISIONING_NFC = "application/com.android.managedprovisioning";
+    field public static final int NEARBY_STREAMING_DISABLED = 1; // 0x1
+    field public static final int NEARBY_STREAMING_ENABLED = 2; // 0x2
+    field public static final int NEARBY_STREAMING_NOT_CONTROLLED_BY_POLICY = 0; // 0x0
+    field public static final int NEARBY_STREAMING_SAME_MANAGED_ACCOUNT_ONLY = 3; // 0x3
+    field public static final int OPERATION_SAFETY_REASON_DRIVING_DISTRACTION = 1; // 0x1
+    field public static final int PASSWORD_COMPLEXITY_HIGH = 327680; // 0x50000
+    field public static final int PASSWORD_COMPLEXITY_LOW = 65536; // 0x10000
+    field public static final int PASSWORD_COMPLEXITY_MEDIUM = 196608; // 0x30000
+    field public static final int PASSWORD_COMPLEXITY_NONE = 0; // 0x0
+    field public static final int PASSWORD_QUALITY_ALPHABETIC = 262144; // 0x40000
+    field public static final int PASSWORD_QUALITY_ALPHANUMERIC = 327680; // 0x50000
+    field public static final int PASSWORD_QUALITY_BIOMETRIC_WEAK = 32768; // 0x8000
+    field public static final int PASSWORD_QUALITY_COMPLEX = 393216; // 0x60000
+    field public static final int PASSWORD_QUALITY_NUMERIC = 131072; // 0x20000
+    field public static final int PASSWORD_QUALITY_NUMERIC_COMPLEX = 196608; // 0x30000
+    field public static final int PASSWORD_QUALITY_SOMETHING = 65536; // 0x10000
+    field public static final int PASSWORD_QUALITY_UNSPECIFIED = 0; // 0x0
+    field public static final int PERMISSION_GRANT_STATE_DEFAULT = 0; // 0x0
+    field public static final int PERMISSION_GRANT_STATE_DENIED = 2; // 0x2
+    field public static final int PERMISSION_GRANT_STATE_GRANTED = 1; // 0x1
+    field public static final int PERMISSION_POLICY_AUTO_DENY = 2; // 0x2
+    field public static final int PERMISSION_POLICY_AUTO_GRANT = 1; // 0x1
+    field public static final int PERMISSION_POLICY_PROMPT = 0; // 0x0
+    field public static final int PERSONAL_APPS_NOT_SUSPENDED = 0; // 0x0
+    field public static final int PERSONAL_APPS_SUSPENDED_EXPLICITLY = 1; // 0x1
+    field public static final int PERSONAL_APPS_SUSPENDED_PROFILE_TIMEOUT = 2; // 0x2
+    field public static final String POLICY_DISABLE_CAMERA = "policy_disable_camera";
+    field public static final String POLICY_DISABLE_SCREEN_CAPTURE = "policy_disable_screen_capture";
+    field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1
+    field public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2; // 0x2
+    field public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3; // 0x3
+    field public static final int PRIVATE_DNS_MODE_UNKNOWN = 0; // 0x0
+    field public static final int PRIVATE_DNS_SET_ERROR_FAILURE_SETTING = 2; // 0x2
+    field public static final int PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING = 1; // 0x1
+    field public static final int PRIVATE_DNS_SET_NO_ERROR = 0; // 0x0
+    field public static final int PROVISIONING_MODE_FULLY_MANAGED_DEVICE = 1; // 0x1
+    field public static final int PROVISIONING_MODE_MANAGED_PROFILE = 2; // 0x2
+    field public static final int PROVISIONING_MODE_MANAGED_PROFILE_ON_PERSONAL_DEVICE = 3; // 0x3
+    field public static final int RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT = 2; // 0x2
+    field public static final int RESET_PASSWORD_REQUIRE_ENTRY = 1; // 0x1
+    field public static final int SKIP_SETUP_WIZARD = 1; // 0x1
+    field public static final int WIPE_EUICC = 4; // 0x4
+    field public static final int WIPE_EXTERNAL_STORAGE = 1; // 0x1
+    field public static final int WIPE_RESET_PROTECTION_DATA = 2; // 0x2
+    field public static final int WIPE_SILENTLY = 8; // 0x8
+  }
+
+  public abstract static class DevicePolicyManager.InstallSystemUpdateCallback {
+    ctor public DevicePolicyManager.InstallSystemUpdateCallback();
+    method public void onInstallUpdateError(int, @NonNull String);
+    field public static final int UPDATE_ERROR_BATTERY_LOW = 5; // 0x5
+    field public static final int UPDATE_ERROR_FILE_NOT_FOUND = 4; // 0x4
+    field public static final int UPDATE_ERROR_INCORRECT_OS_VERSION = 2; // 0x2
+    field public static final int UPDATE_ERROR_UNKNOWN = 1; // 0x1
+    field public static final int UPDATE_ERROR_UPDATE_FILE_INVALID = 3; // 0x3
+  }
+
+  public static interface DevicePolicyManager.OnClearApplicationUserDataListener {
+    method public void onApplicationUserDataCleared(String, boolean);
+  }
+
+  public final class DnsEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable {
+    method public String getHostname();
+    method public java.util.List<java.net.InetAddress> getInetAddresses();
+    method public int getTotalResolvedAddressCount();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DnsEvent> CREATOR;
+  }
+
+  public final class FactoryResetProtectionPolicy implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getFactoryResetProtectionAccounts();
+    method public boolean isFactoryResetProtectionEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FactoryResetProtectionPolicy> CREATOR;
+  }
+
+  public static class FactoryResetProtectionPolicy.Builder {
+    ctor public FactoryResetProtectionPolicy.Builder();
+    method @NonNull public android.app.admin.FactoryResetProtectionPolicy build();
+    method @NonNull public android.app.admin.FactoryResetProtectionPolicy.Builder setFactoryResetProtectionAccounts(@NonNull java.util.List<java.lang.String>);
+    method @NonNull public android.app.admin.FactoryResetProtectionPolicy.Builder setFactoryResetProtectionEnabled(boolean);
+  }
+
+  public class FreezePeriod {
+    ctor public FreezePeriod(java.time.MonthDay, java.time.MonthDay);
+    method public java.time.MonthDay getEnd();
+    method public java.time.MonthDay getStart();
+  }
+
+  public abstract class NetworkEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getId();
+    method public String getPackageName();
+    method public long getTimestamp();
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.NetworkEvent> CREATOR;
+  }
+
+  public class SecurityLog {
+    ctor public SecurityLog();
+    field public static final int LEVEL_ERROR = 3; // 0x3
+    field public static final int LEVEL_INFO = 1; // 0x1
+    field public static final int LEVEL_WARNING = 2; // 0x2
+    field public static final int TAG_ADB_SHELL_CMD = 210002; // 0x33452
+    field public static final int TAG_ADB_SHELL_INTERACTIVE = 210001; // 0x33451
+    field public static final int TAG_APP_PROCESS_START = 210005; // 0x33455
+    field public static final int TAG_CAMERA_POLICY_SET = 210034; // 0x33472
+    field public static final int TAG_CERT_AUTHORITY_INSTALLED = 210029; // 0x3346d
+    field public static final int TAG_CERT_AUTHORITY_REMOVED = 210030; // 0x3346e
+    field public static final int TAG_CERT_VALIDATION_FAILURE = 210033; // 0x33471
+    field public static final int TAG_CRYPTO_SELF_TEST_COMPLETED = 210031; // 0x3346f
+    field public static final int TAG_KEYGUARD_DISABLED_FEATURES_SET = 210021; // 0x33465
+    field public static final int TAG_KEYGUARD_DISMISSED = 210006; // 0x33456
+    field public static final int TAG_KEYGUARD_DISMISS_AUTH_ATTEMPT = 210007; // 0x33457
+    field public static final int TAG_KEYGUARD_SECURED = 210008; // 0x33458
+    field public static final int TAG_KEY_DESTRUCTION = 210026; // 0x3346a
+    field public static final int TAG_KEY_GENERATED = 210024; // 0x33468
+    field public static final int TAG_KEY_IMPORT = 210025; // 0x33469
+    field public static final int TAG_KEY_INTEGRITY_VIOLATION = 210032; // 0x33470
+    field public static final int TAG_LOGGING_STARTED = 210011; // 0x3345b
+    field public static final int TAG_LOGGING_STOPPED = 210012; // 0x3345c
+    field public static final int TAG_LOG_BUFFER_SIZE_CRITICAL = 210015; // 0x3345f
+    field public static final int TAG_MAX_PASSWORD_ATTEMPTS_SET = 210020; // 0x33464
+    field public static final int TAG_MAX_SCREEN_LOCK_TIMEOUT_SET = 210019; // 0x33463
+    field public static final int TAG_MEDIA_MOUNT = 210013; // 0x3345d
+    field public static final int TAG_MEDIA_UNMOUNT = 210014; // 0x3345e
+    field public static final int TAG_OS_SHUTDOWN = 210010; // 0x3345a
+    field public static final int TAG_OS_STARTUP = 210009; // 0x33459
+    field public static final int TAG_PASSWORD_COMPLEXITY_REQUIRED = 210035; // 0x33473
+    field public static final int TAG_PASSWORD_COMPLEXITY_SET = 210017; // 0x33461
+    field public static final int TAG_PASSWORD_EXPIRATION_SET = 210016; // 0x33460
+    field public static final int TAG_PASSWORD_HISTORY_LENGTH_SET = 210018; // 0x33462
+    field public static final int TAG_REMOTE_LOCK = 210022; // 0x33466
+    field public static final int TAG_SYNC_RECV_FILE = 210003; // 0x33453
+    field public static final int TAG_SYNC_SEND_FILE = 210004; // 0x33454
+    field public static final int TAG_USER_RESTRICTION_ADDED = 210027; // 0x3346b
+    field public static final int TAG_USER_RESTRICTION_REMOVED = 210028; // 0x3346c
+    field public static final int TAG_WIPE_FAILURE = 210023; // 0x33467
+  }
+
+  public static final class SecurityLog.SecurityEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public Object getData();
+    method public long getId();
+    method public int getLogLevel();
+    method public int getTag();
+    method public long getTimeNanos();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SecurityLog.SecurityEvent> CREATOR;
+  }
+
+  public final class SystemUpdateInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getReceivedTime();
+    method public int getSecurityPatchState();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdateInfo> CREATOR;
+    field public static final int SECURITY_PATCH_STATE_FALSE = 1; // 0x1
+    field public static final int SECURITY_PATCH_STATE_TRUE = 2; // 0x2
+    field public static final int SECURITY_PATCH_STATE_UNKNOWN = 0; // 0x0
+  }
+
+  public final class SystemUpdatePolicy implements android.os.Parcelable {
+    method public static android.app.admin.SystemUpdatePolicy createAutomaticInstallPolicy();
+    method public static android.app.admin.SystemUpdatePolicy createPostponeInstallPolicy();
+    method public static android.app.admin.SystemUpdatePolicy createWindowedInstallPolicy(int, int);
+    method public int describeContents();
+    method public java.util.List<android.app.admin.FreezePeriod> getFreezePeriods();
+    method public int getInstallWindowEnd();
+    method public int getInstallWindowStart();
+    method public int getPolicyType();
+    method public android.app.admin.SystemUpdatePolicy setFreezePeriods(java.util.List<android.app.admin.FreezePeriod>);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdatePolicy> CREATOR;
+    field public static final int TYPE_INSTALL_AUTOMATIC = 1; // 0x1
+    field public static final int TYPE_INSTALL_WINDOWED = 2; // 0x2
+    field public static final int TYPE_POSTPONE = 3; // 0x3
+  }
+
+  public static final class SystemUpdatePolicy.ValidationFailedException extends java.lang.IllegalArgumentException implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getErrorCode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdatePolicy.ValidationFailedException> CREATOR;
+    field public static final int ERROR_COMBINED_FREEZE_PERIOD_TOO_CLOSE = 6; // 0x6
+    field public static final int ERROR_COMBINED_FREEZE_PERIOD_TOO_LONG = 5; // 0x5
+    field public static final int ERROR_DUPLICATE_OR_OVERLAP = 2; // 0x2
+    field public static final int ERROR_NEW_FREEZE_PERIOD_TOO_CLOSE = 4; // 0x4
+    field public static final int ERROR_NEW_FREEZE_PERIOD_TOO_LONG = 3; // 0x3
+    field public static final int ERROR_UNKNOWN = 1; // 0x1
+  }
+
+  public final class UnsafeStateException extends java.lang.IllegalStateException implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.Integer> getReasons();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.UnsafeStateException> CREATOR;
+  }
+
+}
+
+package android.app.assist {
+
+  public class AssistContent implements android.os.Parcelable {
+    ctor public AssistContent();
+    method public int describeContents();
+    method public android.content.ClipData getClipData();
+    method public android.os.Bundle getExtras();
+    method public android.content.Intent getIntent();
+    method public String getStructuredData();
+    method public android.net.Uri getWebUri();
+    method public boolean isAppProvidedIntent();
+    method public boolean isAppProvidedWebUri();
+    method public void setClipData(android.content.ClipData);
+    method public void setIntent(android.content.Intent);
+    method public void setStructuredData(String);
+    method public void setWebUri(android.net.Uri);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.AssistContent> CREATOR;
+  }
+
+  public class AssistStructure implements android.os.Parcelable {
+    ctor public AssistStructure();
+    method public int describeContents();
+    method public long getAcquisitionEndTime();
+    method public long getAcquisitionStartTime();
+    method public android.content.ComponentName getActivityComponent();
+    method public android.app.assist.AssistStructure.WindowNode getWindowNodeAt(int);
+    method public int getWindowNodeCount();
+    method public boolean isHomeActivity();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.AssistStructure> CREATOR;
+  }
+
+  public static class AssistStructure.ViewNode {
+    method public float getAlpha();
+    method @Nullable public String[] getAutofillHints();
+    method @Nullable public android.view.autofill.AutofillId getAutofillId();
+    method @Nullable public CharSequence[] getAutofillOptions();
+    method public int getAutofillType();
+    method @Nullable public android.view.autofill.AutofillValue getAutofillValue();
+    method public android.app.assist.AssistStructure.ViewNode getChildAt(int);
+    method public int getChildCount();
+    method @Nullable public String getClassName();
+    method @Nullable public CharSequence getContentDescription();
+    method public float getElevation();
+    method @Nullable public android.os.Bundle getExtras();
+    method public int getHeight();
+    method @Nullable public String getHint();
+    method @Nullable public String getHintIdEntry();
+    method @Nullable public android.view.ViewStructure.HtmlInfo getHtmlInfo();
+    method public int getId();
+    method @Nullable public String getIdEntry();
+    method @Nullable public String getIdPackage();
+    method @Nullable public String getIdType();
+    method public int getImportantForAutofill();
+    method public int getInputType();
+    method public int getLeft();
+    method @Nullable public android.os.LocaleList getLocaleList();
+    method public int getMaxTextEms();
+    method public int getMaxTextLength();
+    method public int getMinTextEms();
+    method @Nullable public String[] getReceiveContentMimeTypes();
+    method public int getScrollX();
+    method public int getScrollY();
+    method @Nullable public CharSequence getText();
+    method public int getTextBackgroundColor();
+    method public int getTextColor();
+    method @Nullable public String getTextIdEntry();
+    method @Nullable public int[] getTextLineBaselines();
+    method @Nullable public int[] getTextLineCharOffsets();
+    method public int getTextSelectionEnd();
+    method public int getTextSelectionStart();
+    method public float getTextSize();
+    method public int getTextStyle();
+    method public int getTop();
+    method public android.graphics.Matrix getTransformation();
+    method public int getVisibility();
+    method @Nullable public String getWebDomain();
+    method @Nullable public String getWebScheme();
+    method public int getWidth();
+    method public boolean isAccessibilityFocused();
+    method public boolean isActivated();
+    method public boolean isAssistBlocked();
+    method public boolean isCheckable();
+    method public boolean isChecked();
+    method public boolean isClickable();
+    method public boolean isContextClickable();
+    method public boolean isEnabled();
+    method public boolean isFocusable();
+    method public boolean isFocused();
+    method public boolean isLongClickable();
+    method public boolean isOpaque();
+    method public boolean isSelected();
+    field public static final int TEXT_COLOR_UNDEFINED = 1; // 0x1
+    field public static final int TEXT_STYLE_BOLD = 1; // 0x1
+    field public static final int TEXT_STYLE_ITALIC = 2; // 0x2
+    field public static final int TEXT_STYLE_STRIKE_THRU = 8; // 0x8
+    field public static final int TEXT_STYLE_UNDERLINE = 4; // 0x4
+  }
+
+  public static class AssistStructure.WindowNode {
+    method public int getDisplayId();
+    method public int getHeight();
+    method public int getLeft();
+    method public android.app.assist.AssistStructure.ViewNode getRootViewNode();
+    method public CharSequence getTitle();
+    method public int getTop();
+    method public int getWidth();
+  }
+
+}
+
+package android.app.backup {
+
+  public abstract class BackupAgent extends android.content.ContextWrapper {
+    ctor public BackupAgent();
+    method public final void fullBackupFile(java.io.File, android.app.backup.FullBackupDataOutput);
+    method public abstract void onBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method public void onCreate();
+    method public void onDestroy();
+    method public void onFullBackup(android.app.backup.FullBackupDataOutput) throws java.io.IOException;
+    method public void onQuotaExceeded(long, long);
+    method public abstract void onRestore(android.app.backup.BackupDataInput, int, android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method public void onRestore(android.app.backup.BackupDataInput, long, android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method public void onRestoreFile(android.os.ParcelFileDescriptor, long, java.io.File, int, long, long) throws java.io.IOException;
+    method public void onRestoreFinished();
+    field public static final int FLAG_CLIENT_SIDE_ENCRYPTION_ENABLED = 1; // 0x1
+    field public static final int FLAG_DEVICE_TO_DEVICE_TRANSFER = 2; // 0x2
+    field public static final int TYPE_DIRECTORY = 2; // 0x2
+    field public static final int TYPE_FILE = 1; // 0x1
+  }
+
+  public class BackupAgentHelper extends android.app.backup.BackupAgent {
+    ctor public BackupAgentHelper();
+    method public void addHelper(String, android.app.backup.BackupHelper);
+    method public void onBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method public void onRestore(android.app.backup.BackupDataInput, int, android.os.ParcelFileDescriptor) throws java.io.IOException;
+  }
+
+  public class BackupDataInput {
+    method public int getDataSize();
+    method public String getKey();
+    method public int readEntityData(byte[], int, int) throws java.io.IOException;
+    method public boolean readNextHeader() throws java.io.IOException;
+    method public void skipEntityData() throws java.io.IOException;
+  }
+
+  public class BackupDataInputStream extends java.io.InputStream {
+    method public String getKey();
+    method public int read() throws java.io.IOException;
+    method public int size();
+  }
+
+  public class BackupDataOutput {
+    method public long getQuota();
+    method public int getTransportFlags();
+    method public int writeEntityData(byte[], int) throws java.io.IOException;
+    method public int writeEntityHeader(String, int) throws java.io.IOException;
+  }
+
+  public interface BackupHelper {
+    method public void performBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor);
+    method public void restoreEntity(android.app.backup.BackupDataInputStream);
+    method public void writeNewStateDescription(android.os.ParcelFileDescriptor);
+  }
+
+  public class BackupManager {
+    ctor public BackupManager(android.content.Context);
+    method public void dataChanged();
+    method public static void dataChanged(String);
+    method @Nullable public android.os.UserHandle getUserForAncestralSerialNumber(long);
+    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver);
+  }
+
+  public class FileBackupHelper implements android.app.backup.BackupHelper {
+    ctor public FileBackupHelper(android.content.Context, java.lang.String...);
+    method public void performBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor);
+    method public void restoreEntity(android.app.backup.BackupDataInputStream);
+    method public void writeNewStateDescription(android.os.ParcelFileDescriptor);
+  }
+
+  public class FullBackupDataOutput {
+    method public long getQuota();
+    method public int getTransportFlags();
+  }
+
+  public abstract class RestoreObserver {
+    ctor public RestoreObserver();
+    method public void onUpdate(int, String);
+    method public void restoreFinished(int);
+    method public void restoreStarting(int);
+  }
+
+  public class SharedPreferencesBackupHelper implements android.app.backup.BackupHelper {
+    ctor public SharedPreferencesBackupHelper(android.content.Context, java.lang.String...);
+    method public void performBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor);
+    method public void restoreEntity(android.app.backup.BackupDataInputStream);
+    method public void writeNewStateDescription(android.os.ParcelFileDescriptor);
+  }
+
+}
+
+package android.app.blob {
+
+  public final class BlobHandle implements android.os.Parcelable {
+    method @NonNull public static android.app.blob.BlobHandle createWithSha256(@NonNull byte[], @NonNull CharSequence, long, @NonNull String);
+    method public int describeContents();
+    method public long getExpiryTimeMillis();
+    method @NonNull public CharSequence getLabel();
+    method @NonNull public byte[] getSha256Digest();
+    method @NonNull public String getTag();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.blob.BlobHandle> CREATOR;
+  }
+
+  public class BlobStoreManager {
+    method public void abandonSession(@IntRange(from=1) long) throws java.io.IOException;
+    method public void acquireLease(@NonNull android.app.blob.BlobHandle, @IdRes int, long) throws java.io.IOException;
+    method public void acquireLease(@NonNull android.app.blob.BlobHandle, @NonNull CharSequence, long) throws java.io.IOException;
+    method public void acquireLease(@NonNull android.app.blob.BlobHandle, @IdRes int) throws java.io.IOException;
+    method public void acquireLease(@NonNull android.app.blob.BlobHandle, @NonNull CharSequence) throws java.io.IOException;
+    method @IntRange(from=1) public long createSession(@NonNull android.app.blob.BlobHandle) throws java.io.IOException;
+    method @NonNull public java.util.List<android.app.blob.BlobHandle> getLeasedBlobs() throws java.io.IOException;
+    method @IntRange(from=0) public long getRemainingLeaseQuotaBytes();
+    method @NonNull public android.os.ParcelFileDescriptor openBlob(@NonNull android.app.blob.BlobHandle) throws java.io.IOException;
+    method @NonNull public android.app.blob.BlobStoreManager.Session openSession(@IntRange(from=1) long) throws java.io.IOException;
+    method public void releaseLease(@NonNull android.app.blob.BlobHandle) throws java.io.IOException;
+  }
+
+  public static class BlobStoreManager.Session implements java.io.Closeable {
+    method public void abandon() throws java.io.IOException;
+    method public void allowPackageAccess(@NonNull String, @NonNull byte[]) throws java.io.IOException;
+    method public void allowPublicAccess() throws java.io.IOException;
+    method public void allowSameSignatureAccess() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void commit(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>) throws java.io.IOException;
+    method public long getSize() throws java.io.IOException;
+    method public boolean isPackageAccessAllowed(@NonNull String, @NonNull byte[]) throws java.io.IOException;
+    method public boolean isPublicAccessAllowed() throws java.io.IOException;
+    method public boolean isSameSignatureAccessAllowed() throws java.io.IOException;
+    method @NonNull public android.os.ParcelFileDescriptor openRead() throws java.io.IOException;
+    method @NonNull public android.os.ParcelFileDescriptor openWrite(long, long) throws java.io.IOException;
+  }
+
+}
+
+package android.app.job {
+
+  public class JobInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getBackoffPolicy();
+    method @Nullable public android.content.ClipData getClipData();
+    method public int getClipGrantFlags();
+    method public long getEstimatedNetworkDownloadBytes();
+    method public long getEstimatedNetworkUploadBytes();
+    method @NonNull public android.os.PersistableBundle getExtras();
+    method public long getFlexMillis();
+    method public int getId();
+    method public long getInitialBackoffMillis();
+    method public long getIntervalMillis();
+    method public long getMaxExecutionDelayMillis();
+    method public static final long getMinFlexMillis();
+    method public long getMinLatencyMillis();
+    method public static final long getMinPeriodMillis();
+    method @Deprecated public int getNetworkType();
+    method @Nullable public android.net.NetworkRequest getRequiredNetwork();
+    method @NonNull public android.content.ComponentName getService();
+    method @NonNull public android.os.Bundle getTransientExtras();
+    method public long getTriggerContentMaxDelay();
+    method public long getTriggerContentUpdateDelay();
+    method @Nullable public android.app.job.JobInfo.TriggerContentUri[] getTriggerContentUris();
+    method public boolean isExpedited();
+    method public boolean isImportantWhileForeground();
+    method public boolean isPeriodic();
+    method public boolean isPersisted();
+    method public boolean isPrefetch();
+    method public boolean isRequireBatteryNotLow();
+    method public boolean isRequireCharging();
+    method public boolean isRequireDeviceIdle();
+    method public boolean isRequireStorageNotLow();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int BACKOFF_POLICY_EXPONENTIAL = 1; // 0x1
+    field public static final int BACKOFF_POLICY_LINEAR = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobInfo> CREATOR;
+    field public static final long DEFAULT_INITIAL_BACKOFF_MILLIS = 30000L; // 0x7530L
+    field public static final long MAX_BACKOFF_DELAY_MILLIS = 18000000L; // 0x112a880L
+    field public static final int NETWORK_BYTES_UNKNOWN = -1; // 0xffffffff
+    field public static final int NETWORK_TYPE_ANY = 1; // 0x1
+    field public static final int NETWORK_TYPE_CELLULAR = 4; // 0x4
+    field @Deprecated public static final int NETWORK_TYPE_METERED = 4; // 0x4
+    field public static final int NETWORK_TYPE_NONE = 0; // 0x0
+    field public static final int NETWORK_TYPE_NOT_ROAMING = 3; // 0x3
+    field public static final int NETWORK_TYPE_UNMETERED = 2; // 0x2
+  }
+
+  public static final class JobInfo.Builder {
+    ctor public JobInfo.Builder(int, @NonNull android.content.ComponentName);
+    method public android.app.job.JobInfo.Builder addTriggerContentUri(@NonNull android.app.job.JobInfo.TriggerContentUri);
+    method public android.app.job.JobInfo build();
+    method public android.app.job.JobInfo.Builder setBackoffCriteria(long, int);
+    method public android.app.job.JobInfo.Builder setClipData(@Nullable android.content.ClipData, int);
+    method public android.app.job.JobInfo.Builder setEstimatedNetworkBytes(long, long);
+    method @NonNull public android.app.job.JobInfo.Builder setExpedited(boolean);
+    method public android.app.job.JobInfo.Builder setExtras(@NonNull android.os.PersistableBundle);
+    method @Deprecated public android.app.job.JobInfo.Builder setImportantWhileForeground(boolean);
+    method public android.app.job.JobInfo.Builder setMinimumLatency(long);
+    method public android.app.job.JobInfo.Builder setOverrideDeadline(long);
+    method public android.app.job.JobInfo.Builder setPeriodic(long);
+    method public android.app.job.JobInfo.Builder setPeriodic(long, long);
+    method @RequiresPermission(android.Manifest.permission.RECEIVE_BOOT_COMPLETED) public android.app.job.JobInfo.Builder setPersisted(boolean);
+    method public android.app.job.JobInfo.Builder setPrefetch(boolean);
+    method public android.app.job.JobInfo.Builder setRequiredNetwork(@Nullable android.net.NetworkRequest);
+    method public android.app.job.JobInfo.Builder setRequiredNetworkType(int);
+    method public android.app.job.JobInfo.Builder setRequiresBatteryNotLow(boolean);
+    method public android.app.job.JobInfo.Builder setRequiresCharging(boolean);
+    method public android.app.job.JobInfo.Builder setRequiresDeviceIdle(boolean);
+    method public android.app.job.JobInfo.Builder setRequiresStorageNotLow(boolean);
+    method public android.app.job.JobInfo.Builder setTransientExtras(@NonNull android.os.Bundle);
+    method public android.app.job.JobInfo.Builder setTriggerContentMaxDelay(long);
+    method public android.app.job.JobInfo.Builder setTriggerContentUpdateDelay(long);
+  }
+
+  public static final class JobInfo.TriggerContentUri implements android.os.Parcelable {
+    ctor public JobInfo.TriggerContentUri(@NonNull android.net.Uri, int);
+    method public int describeContents();
+    method public int getFlags();
+    method public android.net.Uri getUri();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobInfo.TriggerContentUri> CREATOR;
+    field public static final int FLAG_NOTIFY_FOR_DESCENDANTS = 1; // 0x1
+  }
+
+  public class JobParameters implements android.os.Parcelable {
+    method public void completeWork(@NonNull android.app.job.JobWorkItem);
+    method @Nullable public android.app.job.JobWorkItem dequeueWork();
+    method public int describeContents();
+    method @Nullable public android.content.ClipData getClipData();
+    method public int getClipGrantFlags();
+    method @NonNull public android.os.PersistableBundle getExtras();
+    method public int getJobId();
+    method @Nullable public android.net.Network getNetwork();
+    method public int getStopReason();
+    method @NonNull public android.os.Bundle getTransientExtras();
+    method @Nullable public String[] getTriggeredContentAuthorities();
+    method @Nullable public android.net.Uri[] getTriggeredContentUris();
+    method public boolean isExpeditedJob();
+    method public boolean isOverrideDeadlineExpired();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobParameters> CREATOR;
+    field public static final int STOP_REASON_APP_STANDBY = 12; // 0xc
+    field public static final int STOP_REASON_BACKGROUND_RESTRICTION = 11; // 0xb
+    field public static final int STOP_REASON_CANCELLED_BY_APP = 1; // 0x1
+    field public static final int STOP_REASON_CONSTRAINT_BATTERY_NOT_LOW = 5; // 0x5
+    field public static final int STOP_REASON_CONSTRAINT_CHARGING = 6; // 0x6
+    field public static final int STOP_REASON_CONSTRAINT_CONNECTIVITY = 7; // 0x7
+    field public static final int STOP_REASON_CONSTRAINT_DEVICE_IDLE = 8; // 0x8
+    field public static final int STOP_REASON_CONSTRAINT_STORAGE_NOT_LOW = 9; // 0x9
+    field public static final int STOP_REASON_DEVICE_STATE = 4; // 0x4
+    field public static final int STOP_REASON_PREEMPT = 2; // 0x2
+    field public static final int STOP_REASON_QUOTA = 10; // 0xa
+    field public static final int STOP_REASON_SYSTEM_PROCESSING = 14; // 0xe
+    field public static final int STOP_REASON_TIMEOUT = 3; // 0x3
+    field public static final int STOP_REASON_UNDEFINED = 0; // 0x0
+    field public static final int STOP_REASON_USER = 13; // 0xd
+  }
+
+  public abstract class JobScheduler {
+    ctor public JobScheduler();
+    method public abstract void cancel(int);
+    method public abstract void cancelAll();
+    method public abstract int enqueue(@NonNull android.app.job.JobInfo, @NonNull android.app.job.JobWorkItem);
+    method @NonNull public abstract java.util.List<android.app.job.JobInfo> getAllPendingJobs();
+    method @Nullable public abstract android.app.job.JobInfo getPendingJob(int);
+    method public abstract int schedule(@NonNull android.app.job.JobInfo);
+    field public static final int RESULT_FAILURE = 0; // 0x0
+    field public static final int RESULT_SUCCESS = 1; // 0x1
+  }
+
+  public abstract class JobService extends android.app.Service {
+    ctor public JobService();
+    method public final void jobFinished(android.app.job.JobParameters, boolean);
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract boolean onStartJob(android.app.job.JobParameters);
+    method public abstract boolean onStopJob(android.app.job.JobParameters);
+    field public static final String PERMISSION_BIND = "android.permission.BIND_JOB_SERVICE";
+  }
+
+  public abstract class JobServiceEngine {
+    ctor public JobServiceEngine(android.app.Service);
+    method public final android.os.IBinder getBinder();
+    method public void jobFinished(android.app.job.JobParameters, boolean);
+    method public abstract boolean onStartJob(android.app.job.JobParameters);
+    method public abstract boolean onStopJob(android.app.job.JobParameters);
+  }
+
+  public final class JobWorkItem implements android.os.Parcelable {
+    ctor public JobWorkItem(android.content.Intent);
+    ctor public JobWorkItem(android.content.Intent, long, long);
+    method public int describeContents();
+    method public int getDeliveryCount();
+    method public long getEstimatedNetworkDownloadBytes();
+    method public long getEstimatedNetworkUploadBytes();
+    method public android.content.Intent getIntent();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobWorkItem> CREATOR;
+  }
+
+}
+
+package android.app.people {
+
+  public final class ConversationStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getActivity();
+    method public int getAvailability();
+    method @Nullable public CharSequence getDescription();
+    method public long getEndTimeMillis();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @NonNull public String getId();
+    method public long getStartTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int ACTIVITY_ANNIVERSARY = 2; // 0x2
+    field public static final int ACTIVITY_AUDIO = 4; // 0x4
+    field public static final int ACTIVITY_BIRTHDAY = 1; // 0x1
+    field public static final int ACTIVITY_GAME = 6; // 0x6
+    field public static final int ACTIVITY_LOCATION = 7; // 0x7
+    field public static final int ACTIVITY_NEW_STORY = 3; // 0x3
+    field public static final int ACTIVITY_OTHER = 0; // 0x0
+    field public static final int ACTIVITY_UPCOMING_BIRTHDAY = 8; // 0x8
+    field public static final int ACTIVITY_VIDEO = 5; // 0x5
+    field public static final int AVAILABILITY_AVAILABLE = 0; // 0x0
+    field public static final int AVAILABILITY_BUSY = 1; // 0x1
+    field public static final int AVAILABILITY_OFFLINE = 2; // 0x2
+    field public static final int AVAILABILITY_UNKNOWN = -1; // 0xffffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.people.ConversationStatus> CREATOR;
+  }
+
+  public static final class ConversationStatus.Builder {
+    ctor public ConversationStatus.Builder(@NonNull String, @NonNull int);
+    method @NonNull public android.app.people.ConversationStatus build();
+    method @NonNull public android.app.people.ConversationStatus.Builder setAvailability(int);
+    method @NonNull public android.app.people.ConversationStatus.Builder setDescription(@Nullable CharSequence);
+    method @NonNull public android.app.people.ConversationStatus.Builder setEndTimeMillis(long);
+    method @NonNull public android.app.people.ConversationStatus.Builder setIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.people.ConversationStatus.Builder setStartTimeMillis(long);
+  }
+
+  public final class PeopleManager {
+    method public void addOrUpdateStatus(@NonNull String, @NonNull android.app.people.ConversationStatus);
+    method public void clearStatus(@NonNull String, @NonNull String);
+    method public void clearStatuses(@NonNull String);
+    method @NonNull public java.util.List<android.app.people.ConversationStatus> getStatuses(@NonNull String);
+  }
+
+}
+
+package android.app.slice {
+
+  public final class Slice implements android.os.Parcelable {
+    ctor protected Slice(android.os.Parcel);
+    method public int describeContents();
+    method public java.util.List<java.lang.String> getHints();
+    method public java.util.List<android.app.slice.SliceItem> getItems();
+    method @Nullable public android.app.slice.SliceSpec getSpec();
+    method public android.net.Uri getUri();
+    method public boolean isCallerNeeded();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.slice.Slice> CREATOR;
+    field public static final String EXTRA_RANGE_VALUE = "android.app.slice.extra.RANGE_VALUE";
+    field public static final String EXTRA_TOGGLE_STATE = "android.app.slice.extra.TOGGLE_STATE";
+    field public static final String HINT_ACTIONS = "actions";
+    field public static final String HINT_ERROR = "error";
+    field public static final String HINT_HORIZONTAL = "horizontal";
+    field public static final String HINT_KEYWORDS = "keywords";
+    field public static final String HINT_LARGE = "large";
+    field public static final String HINT_LAST_UPDATED = "last_updated";
+    field public static final String HINT_LIST = "list";
+    field public static final String HINT_LIST_ITEM = "list_item";
+    field public static final String HINT_NO_TINT = "no_tint";
+    field public static final String HINT_PARTIAL = "partial";
+    field public static final String HINT_PERMISSION_REQUEST = "permission_request";
+    field public static final String HINT_SEE_MORE = "see_more";
+    field public static final String HINT_SELECTED = "selected";
+    field public static final String HINT_SHORTCUT = "shortcut";
+    field public static final String HINT_SUMMARY = "summary";
+    field public static final String HINT_TITLE = "title";
+    field public static final String HINT_TTL = "ttl";
+    field public static final String SUBTYPE_COLOR = "color";
+    field public static final String SUBTYPE_CONTENT_DESCRIPTION = "content_description";
+    field public static final String SUBTYPE_LAYOUT_DIRECTION = "layout_direction";
+    field public static final String SUBTYPE_MAX = "max";
+    field public static final String SUBTYPE_MESSAGE = "message";
+    field public static final String SUBTYPE_MILLIS = "millis";
+    field public static final String SUBTYPE_PRIORITY = "priority";
+    field public static final String SUBTYPE_RANGE = "range";
+    field public static final String SUBTYPE_SOURCE = "source";
+    field public static final String SUBTYPE_TOGGLE = "toggle";
+    field public static final String SUBTYPE_VALUE = "value";
+  }
+
+  public static class Slice.Builder {
+    ctor public Slice.Builder(@NonNull android.net.Uri, android.app.slice.SliceSpec);
+    ctor public Slice.Builder(@NonNull android.app.slice.Slice.Builder);
+    method public android.app.slice.Slice.Builder addAction(@NonNull android.app.PendingIntent, @NonNull android.app.slice.Slice, @Nullable String);
+    method public android.app.slice.Slice.Builder addBundle(android.os.Bundle, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addHints(java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addIcon(android.graphics.drawable.Icon, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addInt(int, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addLong(long, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addRemoteInput(android.app.RemoteInput, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addSubSlice(@NonNull android.app.slice.Slice, @Nullable String);
+    method public android.app.slice.Slice.Builder addText(CharSequence, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice build();
+    method public android.app.slice.Slice.Builder setCallerNeeded(boolean);
+  }
+
+  public final class SliceItem implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.app.PendingIntent getAction();
+    method public android.os.Bundle getBundle();
+    method public String getFormat();
+    method @NonNull public java.util.List<java.lang.String> getHints();
+    method public android.graphics.drawable.Icon getIcon();
+    method public int getInt();
+    method public long getLong();
+    method public android.app.RemoteInput getRemoteInput();
+    method public android.app.slice.Slice getSlice();
+    method public String getSubType();
+    method public CharSequence getText();
+    method public boolean hasHint(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.slice.SliceItem> CREATOR;
+    field public static final String FORMAT_ACTION = "action";
+    field public static final String FORMAT_BUNDLE = "bundle";
+    field public static final String FORMAT_IMAGE = "image";
+    field public static final String FORMAT_INT = "int";
+    field public static final String FORMAT_LONG = "long";
+    field public static final String FORMAT_REMOTE_INPUT = "input";
+    field public static final String FORMAT_SLICE = "slice";
+    field public static final String FORMAT_TEXT = "text";
+  }
+
+  public class SliceManager {
+    method @Nullable public android.app.slice.Slice bindSlice(@NonNull android.net.Uri, @NonNull java.util.Set<android.app.slice.SliceSpec>);
+    method @Nullable public android.app.slice.Slice bindSlice(@NonNull android.content.Intent, @NonNull java.util.Set<android.app.slice.SliceSpec>);
+    method public int checkSlicePermission(@NonNull android.net.Uri, int, int);
+    method @NonNull public java.util.List<android.net.Uri> getPinnedSlices();
+    method @NonNull public java.util.Set<android.app.slice.SliceSpec> getPinnedSpecs(android.net.Uri);
+    method @NonNull @WorkerThread public java.util.Collection<android.net.Uri> getSliceDescendants(@NonNull android.net.Uri);
+    method public void grantSlicePermission(@NonNull String, @NonNull android.net.Uri);
+    method @Nullable public android.net.Uri mapIntentToUri(@NonNull android.content.Intent);
+    method public void pinSlice(@NonNull android.net.Uri, @NonNull java.util.Set<android.app.slice.SliceSpec>);
+    method public void revokeSlicePermission(@NonNull String, @NonNull android.net.Uri);
+    method public void unpinSlice(@NonNull android.net.Uri);
+    field public static final String CATEGORY_SLICE = "android.app.slice.category.SLICE";
+    field public static final String SLICE_METADATA_KEY = "android.metadata.SLICE_URI";
+  }
+
+  public class SliceMetrics {
+    ctor public SliceMetrics(@NonNull android.content.Context, @NonNull android.net.Uri);
+    method public void logHidden();
+    method public void logTouch(int, @NonNull android.net.Uri);
+    method public void logVisible();
+  }
+
+  public abstract class SliceProvider extends android.content.ContentProvider {
+    ctor public SliceProvider(@NonNull java.lang.String...);
+    ctor public SliceProvider();
+    method public final int delete(android.net.Uri, String, String[]);
+    method public final String getType(android.net.Uri);
+    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+    method public android.app.slice.Slice onBindSlice(android.net.Uri, java.util.Set<android.app.slice.SliceSpec>);
+    method @NonNull public android.app.PendingIntent onCreatePermissionRequest(android.net.Uri);
+    method @NonNull public java.util.Collection<android.net.Uri> onGetSliceDescendants(@NonNull android.net.Uri);
+    method @NonNull public android.net.Uri onMapIntentToUri(android.content.Intent);
+    method public void onSlicePinned(android.net.Uri);
+    method public void onSliceUnpinned(android.net.Uri);
+    method public final android.database.Cursor query(android.net.Uri, String[], String, String[], String);
+    method public final android.database.Cursor query(android.net.Uri, String[], String, String[], String, android.os.CancellationSignal);
+    method public final android.database.Cursor query(android.net.Uri, String[], android.os.Bundle, android.os.CancellationSignal);
+    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
+    field public static final String SLICE_TYPE = "vnd.android.slice";
+  }
+
+  public final class SliceSpec implements android.os.Parcelable {
+    ctor public SliceSpec(@NonNull String, int);
+    method public boolean canRender(@NonNull android.app.slice.SliceSpec);
+    method public int describeContents();
+    method public int getRevision();
+    method public String getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.slice.SliceSpec> CREATOR;
+  }
+
+}
+
+package android.app.usage {
+
+  public final class ConfigurationStats implements android.os.Parcelable {
+    ctor public ConfigurationStats(android.app.usage.ConfigurationStats);
+    method public int describeContents();
+    method public int getActivationCount();
+    method public android.content.res.Configuration getConfiguration();
+    method public long getFirstTimeStamp();
+    method public long getLastTimeActive();
+    method public long getLastTimeStamp();
+    method public long getTotalTimeActive();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.ConfigurationStats> CREATOR;
+  }
+
+  public final class EventStats implements android.os.Parcelable {
+    ctor public EventStats(android.app.usage.EventStats);
+    method public void add(android.app.usage.EventStats);
+    method public int describeContents();
+    method public int getCount();
+    method public int getEventType();
+    method public long getFirstTimeStamp();
+    method public long getLastEventTime();
+    method public long getLastTimeStamp();
+    method public long getTotalTime();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.EventStats> CREATOR;
+  }
+
+  public final class ExternalStorageStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getAppBytes();
+    method public long getAudioBytes();
+    method public long getImageBytes();
+    method public long getTotalBytes();
+    method public long getVideoBytes();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.ExternalStorageStats> CREATOR;
+  }
+
+  public final class NetworkStats implements java.lang.AutoCloseable {
+    method public void close();
+    method public boolean getNextBucket(android.app.usage.NetworkStats.Bucket);
+    method public boolean hasNextBucket();
+  }
+
+  public static class NetworkStats.Bucket {
+    ctor public NetworkStats.Bucket();
+    method public int getDefaultNetworkStatus();
+    method public long getEndTimeStamp();
+    method public int getMetered();
+    method public int getRoaming();
+    method public long getRxBytes();
+    method public long getRxPackets();
+    method public long getStartTimeStamp();
+    method public int getState();
+    method public int getTag();
+    method public long getTxBytes();
+    method public long getTxPackets();
+    method public int getUid();
+    field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
+    field public static final int DEFAULT_NETWORK_NO = 1; // 0x1
+    field public static final int DEFAULT_NETWORK_YES = 2; // 0x2
+    field public static final int METERED_ALL = -1; // 0xffffffff
+    field public static final int METERED_NO = 1; // 0x1
+    field public static final int METERED_YES = 2; // 0x2
+    field public static final int ROAMING_ALL = -1; // 0xffffffff
+    field public static final int ROAMING_NO = 1; // 0x1
+    field public static final int ROAMING_YES = 2; // 0x2
+    field public static final int STATE_ALL = -1; // 0xffffffff
+    field public static final int STATE_DEFAULT = 1; // 0x1
+    field public static final int STATE_FOREGROUND = 2; // 0x2
+    field public static final int TAG_NONE = 0; // 0x0
+    field public static final int UID_ALL = -1; // 0xffffffff
+    field public static final int UID_REMOVED = -4; // 0xfffffffc
+    field public static final int UID_TETHERING = -5; // 0xfffffffb
+  }
+
+  public class NetworkStatsManager {
+    method @WorkerThread public android.app.usage.NetworkStats queryDetails(int, String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats queryDetailsForUid(int, String, long, long, int) throws java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTag(int, String, long, long, int, int) throws java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTagState(int, String, long, long, int, int, int) throws java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats querySummary(int, String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForDevice(int, String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForUser(int, String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
+    method public void registerUsageCallback(int, String, long, android.app.usage.NetworkStatsManager.UsageCallback);
+    method public void registerUsageCallback(int, String, long, android.app.usage.NetworkStatsManager.UsageCallback, @Nullable android.os.Handler);
+    method public void unregisterUsageCallback(android.app.usage.NetworkStatsManager.UsageCallback);
+  }
+
+  public abstract static class NetworkStatsManager.UsageCallback {
+    ctor public NetworkStatsManager.UsageCallback();
+    method public abstract void onThresholdReached(int, String);
+  }
+
+  public final class StorageStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getAppBytes();
+    method public long getCacheBytes();
+    method public long getDataBytes();
+    method public long getExternalCacheBytes();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.StorageStats> CREATOR;
+  }
+
+  public class StorageStatsManager {
+    method @WorkerThread public long getFreeBytes(@NonNull java.util.UUID) throws java.io.IOException;
+    method @WorkerThread public long getTotalBytes(@NonNull java.util.UUID) throws java.io.IOException;
+    method @NonNull @WorkerThread public android.app.usage.ExternalStorageStats queryExternalStatsForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle) throws java.io.IOException;
+    method @NonNull @WorkerThread public android.app.usage.StorageStats queryStatsForPackage(@NonNull java.util.UUID, @NonNull String, @NonNull android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @WorkerThread public android.app.usage.StorageStats queryStatsForUid(@NonNull java.util.UUID, int) throws java.io.IOException;
+    method @NonNull @WorkerThread public android.app.usage.StorageStats queryStatsForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle) throws java.io.IOException;
+  }
+
+  public final class UsageEvents implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getNextEvent(android.app.usage.UsageEvents.Event);
+    method public boolean hasNextEvent();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.UsageEvents> CREATOR;
+  }
+
+  public static final class UsageEvents.Event {
+    ctor public UsageEvents.Event();
+    method public int getAppStandbyBucket();
+    method public String getClassName();
+    method public android.content.res.Configuration getConfiguration();
+    method public int getEventType();
+    method public String getPackageName();
+    method public String getShortcutId();
+    method public long getTimeStamp();
+    field public static final int ACTIVITY_PAUSED = 2; // 0x2
+    field public static final int ACTIVITY_RESUMED = 1; // 0x1
+    field public static final int ACTIVITY_STOPPED = 23; // 0x17
+    field public static final int CONFIGURATION_CHANGE = 5; // 0x5
+    field public static final int DEVICE_SHUTDOWN = 26; // 0x1a
+    field public static final int DEVICE_STARTUP = 27; // 0x1b
+    field public static final int FOREGROUND_SERVICE_START = 19; // 0x13
+    field public static final int FOREGROUND_SERVICE_STOP = 20; // 0x14
+    field public static final int KEYGUARD_HIDDEN = 18; // 0x12
+    field public static final int KEYGUARD_SHOWN = 17; // 0x11
+    field @Deprecated public static final int MOVE_TO_BACKGROUND = 2; // 0x2
+    field @Deprecated public static final int MOVE_TO_FOREGROUND = 1; // 0x1
+    field public static final int NONE = 0; // 0x0
+    field public static final int SCREEN_INTERACTIVE = 15; // 0xf
+    field public static final int SCREEN_NON_INTERACTIVE = 16; // 0x10
+    field public static final int SHORTCUT_INVOCATION = 8; // 0x8
+    field public static final int STANDBY_BUCKET_CHANGED = 11; // 0xb
+    field public static final int USER_INTERACTION = 7; // 0x7
+  }
+
+  public final class UsageStats implements android.os.Parcelable {
+    ctor public UsageStats(android.app.usage.UsageStats);
+    method public void add(android.app.usage.UsageStats);
+    method public int describeContents();
+    method public long getFirstTimeStamp();
+    method public long getLastTimeForegroundServiceUsed();
+    method public long getLastTimeStamp();
+    method public long getLastTimeUsed();
+    method public long getLastTimeVisible();
+    method public String getPackageName();
+    method public long getTotalTimeForegroundServiceUsed();
+    method public long getTotalTimeInForeground();
+    method public long getTotalTimeVisible();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.UsageStats> CREATOR;
+  }
+
+  public final class UsageStatsManager {
+    method public int getAppStandbyBucket();
+    method public boolean isAppInactive(String);
+    method public java.util.Map<java.lang.String,android.app.usage.UsageStats> queryAndAggregateUsageStats(long, long);
+    method public java.util.List<android.app.usage.ConfigurationStats> queryConfigurations(int, long, long);
+    method public java.util.List<android.app.usage.EventStats> queryEventStats(int, long, long);
+    method public android.app.usage.UsageEvents queryEvents(long, long);
+    method public android.app.usage.UsageEvents queryEventsForSelf(long, long);
+    method public java.util.List<android.app.usage.UsageStats> queryUsageStats(int, long, long);
+    field public static final int INTERVAL_BEST = 4; // 0x4
+    field public static final int INTERVAL_DAILY = 0; // 0x0
+    field public static final int INTERVAL_MONTHLY = 2; // 0x2
+    field public static final int INTERVAL_WEEKLY = 1; // 0x1
+    field public static final int INTERVAL_YEARLY = 3; // 0x3
+    field public static final int STANDBY_BUCKET_ACTIVE = 10; // 0xa
+    field public static final int STANDBY_BUCKET_FREQUENT = 30; // 0x1e
+    field public static final int STANDBY_BUCKET_RARE = 40; // 0x28
+    field public static final int STANDBY_BUCKET_RESTRICTED = 45; // 0x2d
+    field public static final int STANDBY_BUCKET_WORKING_SET = 20; // 0x14
+  }
+
+}
+
+package android.appwidget {
+
+  public class AppWidgetHost {
+    ctor public AppWidgetHost(android.content.Context, int);
+    method public int allocateAppWidgetId();
+    method protected void clearViews();
+    method public final android.appwidget.AppWidgetHostView createView(android.content.Context, int, android.appwidget.AppWidgetProviderInfo);
+    method public static void deleteAllHosts();
+    method public void deleteAppWidgetId(int);
+    method public void deleteHost();
+    method public int[] getAppWidgetIds();
+    method public void onAppWidgetRemoved(int);
+    method protected android.appwidget.AppWidgetHostView onCreateView(android.content.Context, int, android.appwidget.AppWidgetProviderInfo);
+    method protected void onProviderChanged(int, android.appwidget.AppWidgetProviderInfo);
+    method protected void onProvidersChanged();
+    method public final void startAppWidgetConfigureActivityForResult(@NonNull android.app.Activity, int, int, int, @Nullable android.os.Bundle);
+    method public void startListening();
+    method public void stopListening();
+  }
+
+  public class AppWidgetHostView extends android.widget.FrameLayout {
+    ctor public AppWidgetHostView(android.content.Context);
+    ctor public AppWidgetHostView(android.content.Context, int, int);
+    method public int getAppWidgetId();
+    method public android.appwidget.AppWidgetProviderInfo getAppWidgetInfo();
+    method public static android.graphics.Rect getDefaultPaddingForWidget(android.content.Context, android.content.ComponentName, android.graphics.Rect);
+    method protected android.view.View getDefaultView();
+    method protected android.view.View getErrorView();
+    method protected void prepareView(android.view.View);
+    method public void resetColorResources();
+    method public void setAppWidget(int, android.appwidget.AppWidgetProviderInfo);
+    method public void setColorResources(@NonNull android.util.SparseIntArray);
+    method public void setExecutor(java.util.concurrent.Executor);
+    method public void setOnLightBackground(boolean);
+    method public void updateAppWidget(android.widget.RemoteViews);
+    method public void updateAppWidgetOptions(android.os.Bundle);
+    method @Deprecated public void updateAppWidgetSize(android.os.Bundle, int, int, int, int);
+    method public void updateAppWidgetSize(@NonNull android.os.Bundle, @NonNull java.util.List<android.util.SizeF>);
+  }
+
+  public class AppWidgetManager {
+    method public boolean bindAppWidgetIdIfAllowed(int, android.content.ComponentName);
+    method public boolean bindAppWidgetIdIfAllowed(int, android.content.ComponentName, android.os.Bundle);
+    method public boolean bindAppWidgetIdIfAllowed(int, android.os.UserHandle, android.content.ComponentName, android.os.Bundle);
+    method public int[] getAppWidgetIds(android.content.ComponentName);
+    method public android.appwidget.AppWidgetProviderInfo getAppWidgetInfo(int);
+    method public android.os.Bundle getAppWidgetOptions(int);
+    method public java.util.List<android.appwidget.AppWidgetProviderInfo> getInstalledProviders();
+    method @NonNull public java.util.List<android.appwidget.AppWidgetProviderInfo> getInstalledProvidersForPackage(@NonNull String, @Nullable android.os.UserHandle);
+    method @NonNull public java.util.List<android.appwidget.AppWidgetProviderInfo> getInstalledProvidersForProfile(@Nullable android.os.UserHandle);
+    method public static android.appwidget.AppWidgetManager getInstance(android.content.Context);
+    method public boolean isRequestPinAppWidgetSupported();
+    method public void notifyAppWidgetViewDataChanged(int[], int);
+    method public void notifyAppWidgetViewDataChanged(int, int);
+    method public void partiallyUpdateAppWidget(int[], android.widget.RemoteViews);
+    method public void partiallyUpdateAppWidget(int, android.widget.RemoteViews);
+    method public boolean requestPinAppWidget(@NonNull android.content.ComponentName, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent);
+    method public void updateAppWidget(int[], android.widget.RemoteViews);
+    method public void updateAppWidget(int, android.widget.RemoteViews);
+    method public void updateAppWidget(android.content.ComponentName, android.widget.RemoteViews);
+    method public void updateAppWidgetOptions(int, android.os.Bundle);
+    method public void updateAppWidgetProviderInfo(android.content.ComponentName, @Nullable String);
+    field public static final String ACTION_APPWIDGET_BIND = "android.appwidget.action.APPWIDGET_BIND";
+    field public static final String ACTION_APPWIDGET_CONFIGURE = "android.appwidget.action.APPWIDGET_CONFIGURE";
+    field public static final String ACTION_APPWIDGET_DELETED = "android.appwidget.action.APPWIDGET_DELETED";
+    field public static final String ACTION_APPWIDGET_DISABLED = "android.appwidget.action.APPWIDGET_DISABLED";
+    field public static final String ACTION_APPWIDGET_ENABLED = "android.appwidget.action.APPWIDGET_ENABLED";
+    field public static final String ACTION_APPWIDGET_HOST_RESTORED = "android.appwidget.action.APPWIDGET_HOST_RESTORED";
+    field public static final String ACTION_APPWIDGET_OPTIONS_CHANGED = "android.appwidget.action.APPWIDGET_UPDATE_OPTIONS";
+    field public static final String ACTION_APPWIDGET_PICK = "android.appwidget.action.APPWIDGET_PICK";
+    field public static final String ACTION_APPWIDGET_RESTORED = "android.appwidget.action.APPWIDGET_RESTORED";
+    field public static final String ACTION_APPWIDGET_UPDATE = "android.appwidget.action.APPWIDGET_UPDATE";
+    field public static final String EXTRA_APPWIDGET_ID = "appWidgetId";
+    field public static final String EXTRA_APPWIDGET_IDS = "appWidgetIds";
+    field public static final String EXTRA_APPWIDGET_OLD_IDS = "appWidgetOldIds";
+    field public static final String EXTRA_APPWIDGET_OPTIONS = "appWidgetOptions";
+    field public static final String EXTRA_APPWIDGET_PREVIEW = "appWidgetPreview";
+    field public static final String EXTRA_APPWIDGET_PROVIDER = "appWidgetProvider";
+    field public static final String EXTRA_APPWIDGET_PROVIDER_PROFILE = "appWidgetProviderProfile";
+    field public static final String EXTRA_CUSTOM_EXTRAS = "customExtras";
+    field public static final String EXTRA_CUSTOM_INFO = "customInfo";
+    field public static final String EXTRA_HOST_ID = "hostId";
+    field public static final int INVALID_APPWIDGET_ID = 0; // 0x0
+    field public static final String META_DATA_APPWIDGET_PROVIDER = "android.appwidget.provider";
+    field public static final String OPTION_APPWIDGET_HOST_CATEGORY = "appWidgetCategory";
+    field public static final String OPTION_APPWIDGET_MAX_HEIGHT = "appWidgetMaxHeight";
+    field public static final String OPTION_APPWIDGET_MAX_WIDTH = "appWidgetMaxWidth";
+    field public static final String OPTION_APPWIDGET_MIN_HEIGHT = "appWidgetMinHeight";
+    field public static final String OPTION_APPWIDGET_MIN_WIDTH = "appWidgetMinWidth";
+    field public static final String OPTION_APPWIDGET_RESTORE_COMPLETED = "appWidgetRestoreCompleted";
+    field public static final String OPTION_APPWIDGET_SIZES = "appWidgetSizes";
+  }
+
+  public class AppWidgetProvider extends android.content.BroadcastReceiver {
+    ctor public AppWidgetProvider();
+    method public void onAppWidgetOptionsChanged(android.content.Context, android.appwidget.AppWidgetManager, int, android.os.Bundle);
+    method public void onDeleted(android.content.Context, int[]);
+    method public void onDisabled(android.content.Context);
+    method public void onEnabled(android.content.Context);
+    method public void onReceive(android.content.Context, android.content.Intent);
+    method public void onRestored(android.content.Context, int[], int[]);
+    method public void onUpdate(android.content.Context, android.appwidget.AppWidgetManager, int[]);
+  }
+
+  public class AppWidgetProviderInfo implements android.os.Parcelable {
+    ctor public AppWidgetProviderInfo();
+    ctor public AppWidgetProviderInfo(android.os.Parcel);
+    method public android.appwidget.AppWidgetProviderInfo clone();
+    method public int describeContents();
+    method @NonNull public android.content.pm.ActivityInfo getActivityInfo();
+    method public final android.os.UserHandle getProfile();
+    method @Nullable public final CharSequence loadDescription(@NonNull android.content.Context);
+    method public final android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
+    method public final String loadLabel(android.content.pm.PackageManager);
+    method public final android.graphics.drawable.Drawable loadPreviewImage(@NonNull android.content.Context, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.appwidget.AppWidgetProviderInfo> CREATOR;
+    field public static final int RESIZE_BOTH = 3; // 0x3
+    field public static final int RESIZE_HORIZONTAL = 1; // 0x1
+    field public static final int RESIZE_NONE = 0; // 0x0
+    field public static final int RESIZE_VERTICAL = 2; // 0x2
+    field public static final int WIDGET_CATEGORY_HOME_SCREEN = 1; // 0x1
+    field public static final int WIDGET_CATEGORY_KEYGUARD = 2; // 0x2
+    field public static final int WIDGET_CATEGORY_SEARCHBOX = 4; // 0x4
+    field public static final int WIDGET_FEATURE_CONFIGURATION_OPTIONAL = 4; // 0x4
+    field public static final int WIDGET_FEATURE_HIDE_FROM_PICKER = 2; // 0x2
+    field public static final int WIDGET_FEATURE_RECONFIGURABLE = 1; // 0x1
+    field public int autoAdvanceViewId;
+    field public android.content.ComponentName configure;
+    field @IdRes public int descriptionRes;
+    field public int icon;
+    field public int initialKeyguardLayout;
+    field public int initialLayout;
+    field @Deprecated public String label;
+    field public int maxResizeHeight;
+    field public int maxResizeWidth;
+    field public int minHeight;
+    field public int minResizeHeight;
+    field public int minResizeWidth;
+    field public int minWidth;
+    field public int previewImage;
+    field @IdRes public int previewLayout;
+    field public android.content.ComponentName provider;
+    field public int resizeMode;
+    field public int targetCellHeight;
+    field public int targetCellWidth;
+    field public int updatePeriodMillis;
+    field public int widgetCategory;
+    field public int widgetFeatures;
+  }
+
+}
+
+package android.bluetooth {
+
+  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
+    method public void finalize();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isA2dpPlaying(android.bluetooth.BluetoothDevice);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PLAYING_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED";
+    field public static final int STATE_NOT_PLAYING = 11; // 0xb
+    field public static final int STATE_PLAYING = 10; // 0xa
+  }
+
+  public final class BluetoothAdapter {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean cancelDiscovery();
+    method public static boolean checkBluetoothAddress(String);
+    method public void closeProfileProxy(int, android.bluetooth.BluetoothProfile);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disable();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enable();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, "android.permission.LOCAL_MAC_ADDRESS"}) public String getAddress();
+    method public android.bluetooth.le.BluetoothLeAdvertiser getBluetoothLeAdvertiser();
+    method public android.bluetooth.le.BluetoothLeScanner getBluetoothLeScanner();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.Set<android.bluetooth.BluetoothDevice> getBondedDevices();
+    method @Deprecated public static android.bluetooth.BluetoothAdapter getDefaultAdapter();
+    method public int getLeMaximumAdvertisingDataLength();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getName();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getProfileConnectionState(int);
+    method public boolean getProfileProxy(android.content.Context, android.bluetooth.BluetoothProfile.ServiceListener, int);
+    method public android.bluetooth.BluetoothDevice getRemoteDevice(String);
+    method public android.bluetooth.BluetoothDevice getRemoteDevice(byte[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public int getScanMode();
+    method public int getState();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean isDiscovering();
+    method public boolean isEnabled();
+    method public boolean isLe2MPhySupported();
+    method public boolean isLeCodedPhySupported();
+    method public boolean isLeExtendedAdvertisingSupported();
+    method public boolean isLePeriodicAdvertisingSupported();
+    method public boolean isMultipleAdvertisementSupported();
+    method public boolean isOffloadedFilteringSupported();
+    method public boolean isOffloadedScanBatchingSupported();
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingInsecureL2capChannel() throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingInsecureRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingL2capChannel() throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setName(String);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startDiscovery();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startLeScan(java.util.UUID[], android.bluetooth.BluetoothAdapter.LeScanCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_DISCOVERY_FINISHED = "android.bluetooth.adapter.action.DISCOVERY_FINISHED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_DISCOVERY_STARTED = "android.bluetooth.adapter.action.DISCOVERY_STARTED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LOCAL_NAME_CHANGED = "android.bluetooth.adapter.action.LOCAL_NAME_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public static final String ACTION_REQUEST_DISCOVERABLE = "android.bluetooth.adapter.action.REQUEST_DISCOVERABLE";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_ENABLE = "android.bluetooth.adapter.action.REQUEST_ENABLE";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_SCAN_MODE_CHANGED = "android.bluetooth.adapter.action.SCAN_MODE_CHANGED";
+    field public static final String ACTION_STATE_CHANGED = "android.bluetooth.adapter.action.STATE_CHANGED";
+    field public static final int ERROR = -2147483648; // 0x80000000
+    field public static final String EXTRA_CONNECTION_STATE = "android.bluetooth.adapter.extra.CONNECTION_STATE";
+    field public static final String EXTRA_DISCOVERABLE_DURATION = "android.bluetooth.adapter.extra.DISCOVERABLE_DURATION";
+    field public static final String EXTRA_LOCAL_NAME = "android.bluetooth.adapter.extra.LOCAL_NAME";
+    field public static final String EXTRA_PREVIOUS_CONNECTION_STATE = "android.bluetooth.adapter.extra.PREVIOUS_CONNECTION_STATE";
+    field public static final String EXTRA_PREVIOUS_SCAN_MODE = "android.bluetooth.adapter.extra.PREVIOUS_SCAN_MODE";
+    field public static final String EXTRA_PREVIOUS_STATE = "android.bluetooth.adapter.extra.PREVIOUS_STATE";
+    field public static final String EXTRA_SCAN_MODE = "android.bluetooth.adapter.extra.SCAN_MODE";
+    field public static final String EXTRA_STATE = "android.bluetooth.adapter.extra.STATE";
+    field public static final int SCAN_MODE_CONNECTABLE = 21; // 0x15
+    field public static final int SCAN_MODE_CONNECTABLE_DISCOVERABLE = 23; // 0x17
+    field public static final int SCAN_MODE_NONE = 20; // 0x14
+    field public static final int STATE_CONNECTED = 2; // 0x2
+    field public static final int STATE_CONNECTING = 1; // 0x1
+    field public static final int STATE_DISCONNECTED = 0; // 0x0
+    field public static final int STATE_DISCONNECTING = 3; // 0x3
+    field public static final int STATE_OFF = 10; // 0xa
+    field public static final int STATE_ON = 12; // 0xc
+    field public static final int STATE_TURNING_OFF = 13; // 0xd
+    field public static final int STATE_TURNING_ON = 11; // 0xb
+  }
+
+  public static interface BluetoothAdapter.LeScanCallback {
+    method public void onLeScan(android.bluetooth.BluetoothDevice, int, byte[]);
+  }
+
+  public class BluetoothAssignedNumbers {
+    field public static final int AAMP_OF_AMERICA = 190; // 0xbe
+    field public static final int ACCEL_SEMICONDUCTOR = 74; // 0x4a
+    field public static final int ACE_SENSOR = 188; // 0xbc
+    field public static final int ADIDAS = 195; // 0xc3
+    field public static final int ADVANCED_PANMOBIL_SYSTEMS = 145; // 0x91
+    field public static final int AIROHA_TECHNOLOGY = 148; // 0x94
+    field public static final int ALCATEL = 36; // 0x24
+    field public static final int ALPWISE = 154; // 0x9a
+    field public static final int AMICCOM_ELECTRONICS = 192; // 0xc0
+    field public static final int APLIX = 189; // 0xbd
+    field public static final int APPLE = 76; // 0x4c
+    field public static final int APT_LICENSING = 79; // 0x4f
+    field public static final int ARCHOS = 207; // 0xcf
+    field public static final int ARP_DEVICES = 168; // 0xa8
+    field public static final int ATHEROS_COMMUNICATIONS = 69; // 0x45
+    field public static final int ATMEL = 19; // 0x13
+    field public static final int AUSTCO_COMMUNICATION_SYSTEMS = 213; // 0xd5
+    field public static final int AUTONET_MOBILE = 127; // 0x7f
+    field public static final int AVAGO = 78; // 0x4e
+    field public static final int AVM_BERLIN = 31; // 0x1f
+    field public static final int A_AND_D_ENGINEERING = 105; // 0x69
+    field public static final int A_AND_R_CAMBRIDGE = 124; // 0x7c
+    field public static final int BANDSPEED = 32; // 0x20
+    field public static final int BAND_XI_INTERNATIONAL = 100; // 0x64
+    field public static final int BDE_TECHNOLOGY = 180; // 0xb4
+    field public static final int BEATS_ELECTRONICS = 204; // 0xcc
+    field public static final int BEAUTIFUL_ENTERPRISE = 108; // 0x6c
+    field public static final int BEKEY = 178; // 0xb2
+    field public static final int BELKIN_INTERNATIONAL = 92; // 0x5c
+    field public static final int BINAURIC = 203; // 0xcb
+    field public static final int BIOSENTRONICS = 219; // 0xdb
+    field public static final int BLUEGIGA = 71; // 0x47
+    field public static final int BLUERADIOS = 133; // 0x85
+    field public static final int BLUETOOTH_SIG = 63; // 0x3f
+    field public static final int BLUETREK_TECHNOLOGIES = 151; // 0x97
+    field public static final int BOSE = 158; // 0x9e
+    field public static final int BRIARTEK = 109; // 0x6d
+    field public static final int BROADCOM = 15; // 0xf
+    field public static final int CAEN_RFID = 170; // 0xaa
+    field public static final int CAMBRIDGE_SILICON_RADIO = 10; // 0xa
+    field public static final int CATC = 52; // 0x34
+    field public static final int CINETIX = 175; // 0xaf
+    field public static final int CLARINOX_TECHNOLOGIES = 179; // 0xb3
+    field public static final int COLORFY = 156; // 0x9c
+    field public static final int COMMIL = 51; // 0x33
+    field public static final int CONEXANT_SYSTEMS = 28; // 0x1c
+    field public static final int CONNECTBLUE = 113; // 0x71
+    field public static final int CONTINENTAL_AUTOMOTIVE = 75; // 0x4b
+    field public static final int CONWISE_TECHNOLOGY = 66; // 0x42
+    field public static final int CREATIVE_TECHNOLOGY = 118; // 0x76
+    field public static final int C_TECHNOLOGIES = 38; // 0x26
+    field public static final int DANLERS = 225; // 0xe1
+    field public static final int DELORME_PUBLISHING_COMPANY = 128; // 0x80
+    field public static final int DEXCOM = 208; // 0xd0
+    field public static final int DIALOG_SEMICONDUCTOR = 210; // 0xd2
+    field public static final int DIGIANSWER = 12; // 0xc
+    field public static final int ECLIPSE = 53; // 0x35
+    field public static final int ECOTEST = 136; // 0x88
+    field public static final int ELGATO_SYSTEMS = 206; // 0xce
+    field public static final int EM_MICROELECTRONIC_MARIN = 90; // 0x5a
+    field public static final int EQUINOX_AG = 134; // 0x86
+    field public static final int ERICSSON_TECHNOLOGY = 0; // 0x0
+    field public static final int EVLUMA = 201; // 0xc9
+    field public static final int FREE2MOVE = 83; // 0x53
+    field public static final int FUNAI_ELECTRIC = 144; // 0x90
+    field public static final int GARMIN_INTERNATIONAL = 135; // 0x87
+    field public static final int GCT_SEMICONDUCTOR = 45; // 0x2d
+    field public static final int GELO = 200; // 0xc8
+    field public static final int GENEQ = 194; // 0xc2
+    field public static final int GENERAL_MOTORS = 104; // 0x68
+    field public static final int GENNUM = 59; // 0x3b
+    field public static final int GEOFORCE = 157; // 0x9d
+    field public static final int GIBSON_GUITARS = 98; // 0x62
+    field public static final int GN_NETCOM = 103; // 0x67
+    field public static final int GN_RESOUND = 137; // 0x89
+    field public static final int GOOGLE = 224; // 0xe0
+    field public static final int GREEN_THROTTLE_GAMES = 172; // 0xac
+    field public static final int GROUP_SENSE = 115; // 0x73
+    field public static final int HANLYNN_TECHNOLOGIES = 123; // 0x7b
+    field public static final int HARMAN_INTERNATIONAL = 87; // 0x57
+    field public static final int HEWLETT_PACKARD = 101; // 0x65
+    field public static final int HITACHI = 41; // 0x29
+    field public static final int HOSIDEN = 221; // 0xdd
+    field public static final int IBM = 3; // 0x3
+    field public static final int INFINEON_TECHNOLOGIES = 9; // 0x9
+    field public static final int INGENIEUR_SYSTEMGRUPPE_ZAHN = 171; // 0xab
+    field public static final int INTEGRATED_SILICON_SOLUTION = 65; // 0x41
+    field public static final int INTEGRATED_SYSTEM_SOLUTION = 57; // 0x39
+    field public static final int INTEL = 2; // 0x2
+    field public static final int INVENTEL = 30; // 0x1e
+    field public static final int IPEXTREME = 61; // 0x3d
+    field public static final int I_TECH_DYNAMIC_GLOBAL_DISTRIBUTION = 153; // 0x99
+    field public static final int JAWBONE = 138; // 0x8a
+    field public static final int JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS = 155; // 0x9b
+    field public static final int JOHNSON_CONTROLS = 185; // 0xb9
+    field public static final int J_AND_M = 82; // 0x52
+    field public static final int KAWANTECH = 212; // 0xd4
+    field public static final int KC_TECHNOLOGY = 22; // 0x16
+    field public static final int KENSINGTON_COMPUTER_PRODUCTS_GROUP = 160; // 0xa0
+    field public static final int LAIRD_TECHNOLOGIES = 119; // 0x77
+    field public static final int LESSWIRE = 121; // 0x79
+    field public static final int LG_ELECTRONICS = 196; // 0xc4
+    field public static final int LINAK = 164; // 0xa4
+    field public static final int LUCENT = 7; // 0x7
+    field public static final int LUDUS_HELSINKI = 132; // 0x84
+    field public static final int MACRONIX = 44; // 0x2c
+    field public static final int MAGNETI_MARELLI = 169; // 0xa9
+    field public static final int MANSELLA = 33; // 0x21
+    field public static final int MARVELL = 72; // 0x48
+    field public static final int MATSUSHITA_ELECTRIC = 58; // 0x3a
+    field public static final int MC10 = 202; // 0xca
+    field public static final int MEDIATEK = 70; // 0x46
+    field public static final int MESO_INTERNATIONAL = 182; // 0xb6
+    field public static final int META_WATCH = 163; // 0xa3
+    field public static final int MEWTEL_TECHNOLOGY = 47; // 0x2f
+    field public static final int MICOMMAND = 99; // 0x63
+    field public static final int MICROCHIP_TECHNOLOGY = 205; // 0xcd
+    field public static final int MICROSOFT = 6; // 0x6
+    field public static final int MINDTREE = 106; // 0x6a
+    field public static final int MISFIT_WEARABLES = 223; // 0xdf
+    field public static final int MITEL_SEMICONDUCTOR = 16; // 0x10
+    field public static final int MITSUBISHI_ELECTRIC = 20; // 0x14
+    field public static final int MOBILIAN_CORPORATION = 55; // 0x37
+    field public static final int MONSTER = 112; // 0x70
+    field public static final int MOTOROLA = 8; // 0x8
+    field public static final int MSTAR_SEMICONDUCTOR = 122; // 0x7a
+    field public static final int MUZIK = 222; // 0xde
+    field public static final int NEC = 34; // 0x22
+    field public static final int NEC_LIGHTING = 149; // 0x95
+    field public static final int NEWLOGIC = 23; // 0x17
+    field public static final int NIKE = 120; // 0x78
+    field public static final int NINE_SOLUTIONS = 102; // 0x66
+    field public static final int NOKIA_MOBILE_PHONES = 1; // 0x1
+    field public static final int NORDIC_SEMICONDUCTOR = 89; // 0x59
+    field public static final int NORWOOD_SYSTEMS = 46; // 0x2e
+    field public static final int ODM_TECHNOLOGY = 150; // 0x96
+    field public static final int OMEGAWAVE = 174; // 0xae
+    field public static final int ONSET_COMPUTER = 197; // 0xc5
+    field public static final int OPEN_INTERFACE = 39; // 0x27
+    field public static final int OTL_DYNAMICS = 165; // 0xa5
+    field public static final int PANDA_OCEAN = 166; // 0xa6
+    field public static final int PARROT = 67; // 0x43
+    field public static final int PARTHUS_TECHNOLOGIES = 14; // 0xe
+    field public static final int PASSIF_SEMICONDUCTOR = 176; // 0xb0
+    field public static final int PETER_SYSTEMTECHNIK = 173; // 0xad
+    field public static final int PHILIPS_SEMICONDUCTORS = 37; // 0x25
+    field public static final int PLANTRONICS = 85; // 0x55
+    field public static final int POLAR_ELECTRO = 107; // 0x6b
+    field public static final int POLAR_ELECTRO_EUROPE = 209; // 0xd1
+    field public static final int PROCTER_AND_GAMBLE = 220; // 0xdc
+    field public static final int QUALCOMM = 29; // 0x1d
+    field public static final int QUALCOMM_CONNECTED_EXPERIENCES = 216; // 0xd8
+    field public static final int QUALCOMM_INNOVATION_CENTER = 184; // 0xb8
+    field public static final int QUALCOMM_LABS = 140; // 0x8c
+    field public static final int QUALCOMM_TECHNOLOGIES = 215; // 0xd7
+    field public static final int QUINTIC = 142; // 0x8e
+    field public static final int QUUPPA = 199; // 0xc7
+    field public static final int RALINK_TECHNOLOGY = 91; // 0x5b
+    field public static final int RDA_MICROELECTRONICS = 97; // 0x61
+    field public static final int REALTEK_SEMICONDUCTOR = 93; // 0x5d
+    field public static final int RED_M = 50; // 0x32
+    field public static final int RENESAS_TECHNOLOGY = 54; // 0x36
+    field public static final int RESEARCH_IN_MOTION = 60; // 0x3c
+    field public static final int RF_MICRO_DEVICES = 40; // 0x28
+    field public static final int RIVIERAWAVES = 96; // 0x60
+    field public static final int ROHDE_AND_SCHWARZ = 25; // 0x19
+    field public static final int RTX_TELECOM = 21; // 0x15
+    field public static final int SAMSUNG_ELECTRONICS = 117; // 0x75
+    field public static final int SARIS_CYCLING_GROUP = 177; // 0xb1
+    field public static final int SEERS_TECHNOLOGY = 125; // 0x7d
+    field public static final int SEIKO_EPSON = 64; // 0x40
+    field public static final int SELFLY = 198; // 0xc6
+    field public static final int SEMILINK = 226; // 0xe2
+    field public static final int SENNHEISER_COMMUNICATIONS = 130; // 0x82
+    field public static final int SHANGHAI_SUPER_SMART_ELECTRONICS = 114; // 0x72
+    field public static final int SHENZHEN_EXCELSECU_DATA_TECHNOLOGY = 193; // 0xc1
+    field public static final int SIGNIA_TECHNOLOGIES = 27; // 0x1b
+    field public static final int SILICON_WAVE = 11; // 0xb
+    field public static final int SIRF_TECHNOLOGY = 80; // 0x50
+    field public static final int SOCKET_MOBILE = 68; // 0x44
+    field public static final int SONY_ERICSSON = 86; // 0x56
+    field public static final int SOUND_ID = 111; // 0x6f
+    field public static final int SPORTS_TRACKING_TECHNOLOGIES = 126; // 0x7e
+    field public static final int SR_MEDIZINELEKTRONIK = 161; // 0xa1
+    field public static final int STACCATO_COMMUNICATIONS = 77; // 0x4d
+    field public static final int STALMART_TECHNOLOGY = 191; // 0xbf
+    field public static final int STARKEY_LABORATORIES = 186; // 0xba
+    field public static final int STOLLMAN_E_PLUS_V = 143; // 0x8f
+    field public static final int STONESTREET_ONE = 94; // 0x5e
+    field public static final int ST_MICROELECTRONICS = 48; // 0x30
+    field public static final int SUMMIT_DATA_COMMUNICATIONS = 110; // 0x6e
+    field public static final int SUUNTO = 159; // 0x9f
+    field public static final int SWIRL_NETWORKS = 181; // 0xb5
+    field public static final int SYMBOL_TECHNOLOGIES = 42; // 0x2a
+    field public static final int SYNOPSYS = 49; // 0x31
+    field public static final int SYSTEMS_AND_CHIPS = 62; // 0x3e
+    field public static final int S_POWER_ELECTRONICS = 187; // 0xbb
+    field public static final int TAIXINGBANG_TECHNOLOGY = 211; // 0xd3
+    field public static final int TENOVIS = 43; // 0x2b
+    field public static final int TERAX = 56; // 0x38
+    field public static final int TEXAS_INSTRUMENTS = 13; // 0xd
+    field public static final int THINKOPTICS = 146; // 0x92
+    field public static final int THREECOM = 5; // 0x5
+    field public static final int THREE_DIJOY = 84; // 0x54
+    field public static final int THREE_DSP = 73; // 0x49
+    field public static final int TIMEKEEPING_SYSTEMS = 131; // 0x83
+    field public static final int TIMEX_GROUP_USA = 214; // 0xd6
+    field public static final int TOPCORN_POSITIONING_SYSTEMS = 139; // 0x8b
+    field public static final int TOSHIBA = 4; // 0x4
+    field public static final int TRANSILICA = 24; // 0x18
+    field public static final int TRELAB = 183; // 0xb7
+    field public static final int TTPCOM = 26; // 0x1a
+    field public static final int TXTR = 218; // 0xda
+    field public static final int TZERO_TECHNOLOGIES = 81; // 0x51
+    field public static final int UNIVERSAL_ELECTRONICS = 147; // 0x93
+    field public static final int VERTU = 162; // 0xa2
+    field public static final int VISTEON = 167; // 0xa7
+    field public static final int VIZIO = 88; // 0x58
+    field public static final int VOYETRA_TURTLE_BEACH = 217; // 0xd9
+    field public static final int WAVEPLUS_TECHNOLOGY = 35; // 0x23
+    field public static final int WICENTRIC = 95; // 0x5f
+    field public static final int WIDCOMM = 17; // 0x11
+    field public static final int WUXI_VIMICRO = 129; // 0x81
+    field public static final int ZEEVO = 18; // 0x12
+    field public static final int ZER01_TV = 152; // 0x98
+    field public static final int ZOMM = 116; // 0x74
+    field public static final int ZSCAN_SOFTWARE = 141; // 0x8d
+  }
+
+  public final class BluetoothClass implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getDeviceClass();
+    method public int getMajorDeviceClass();
+    method public boolean hasService(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothClass> CREATOR;
+  }
+
+  public static class BluetoothClass.Device {
+    ctor public BluetoothClass.Device();
+    field public static final int AUDIO_VIDEO_CAMCORDER = 1076; // 0x434
+    field public static final int AUDIO_VIDEO_CAR_AUDIO = 1056; // 0x420
+    field public static final int AUDIO_VIDEO_HANDSFREE = 1032; // 0x408
+    field public static final int AUDIO_VIDEO_HEADPHONES = 1048; // 0x418
+    field public static final int AUDIO_VIDEO_HIFI_AUDIO = 1064; // 0x428
+    field public static final int AUDIO_VIDEO_LOUDSPEAKER = 1044; // 0x414
+    field public static final int AUDIO_VIDEO_MICROPHONE = 1040; // 0x410
+    field public static final int AUDIO_VIDEO_PORTABLE_AUDIO = 1052; // 0x41c
+    field public static final int AUDIO_VIDEO_SET_TOP_BOX = 1060; // 0x424
+    field public static final int AUDIO_VIDEO_UNCATEGORIZED = 1024; // 0x400
+    field public static final int AUDIO_VIDEO_VCR = 1068; // 0x42c
+    field public static final int AUDIO_VIDEO_VIDEO_CAMERA = 1072; // 0x430
+    field public static final int AUDIO_VIDEO_VIDEO_CONFERENCING = 1088; // 0x440
+    field public static final int AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER = 1084; // 0x43c
+    field public static final int AUDIO_VIDEO_VIDEO_GAMING_TOY = 1096; // 0x448
+    field public static final int AUDIO_VIDEO_VIDEO_MONITOR = 1080; // 0x438
+    field public static final int AUDIO_VIDEO_WEARABLE_HEADSET = 1028; // 0x404
+    field public static final int COMPUTER_DESKTOP = 260; // 0x104
+    field public static final int COMPUTER_HANDHELD_PC_PDA = 272; // 0x110
+    field public static final int COMPUTER_LAPTOP = 268; // 0x10c
+    field public static final int COMPUTER_PALM_SIZE_PC_PDA = 276; // 0x114
+    field public static final int COMPUTER_SERVER = 264; // 0x108
+    field public static final int COMPUTER_UNCATEGORIZED = 256; // 0x100
+    field public static final int COMPUTER_WEARABLE = 280; // 0x118
+    field public static final int HEALTH_BLOOD_PRESSURE = 2308; // 0x904
+    field public static final int HEALTH_DATA_DISPLAY = 2332; // 0x91c
+    field public static final int HEALTH_GLUCOSE = 2320; // 0x910
+    field public static final int HEALTH_PULSE_OXIMETER = 2324; // 0x914
+    field public static final int HEALTH_PULSE_RATE = 2328; // 0x918
+    field public static final int HEALTH_THERMOMETER = 2312; // 0x908
+    field public static final int HEALTH_UNCATEGORIZED = 2304; // 0x900
+    field public static final int HEALTH_WEIGHING = 2316; // 0x90c
+    field public static final int PHONE_CELLULAR = 516; // 0x204
+    field public static final int PHONE_CORDLESS = 520; // 0x208
+    field public static final int PHONE_ISDN = 532; // 0x214
+    field public static final int PHONE_MODEM_OR_GATEWAY = 528; // 0x210
+    field public static final int PHONE_SMART = 524; // 0x20c
+    field public static final int PHONE_UNCATEGORIZED = 512; // 0x200
+    field public static final int TOY_CONTROLLER = 2064; // 0x810
+    field public static final int TOY_DOLL_ACTION_FIGURE = 2060; // 0x80c
+    field public static final int TOY_GAME = 2068; // 0x814
+    field public static final int TOY_ROBOT = 2052; // 0x804
+    field public static final int TOY_UNCATEGORIZED = 2048; // 0x800
+    field public static final int TOY_VEHICLE = 2056; // 0x808
+    field public static final int WEARABLE_GLASSES = 1812; // 0x714
+    field public static final int WEARABLE_HELMET = 1808; // 0x710
+    field public static final int WEARABLE_JACKET = 1804; // 0x70c
+    field public static final int WEARABLE_PAGER = 1800; // 0x708
+    field public static final int WEARABLE_UNCATEGORIZED = 1792; // 0x700
+    field public static final int WEARABLE_WRIST_WATCH = 1796; // 0x704
+  }
+
+  public static class BluetoothClass.Device.Major {
+    ctor public BluetoothClass.Device.Major();
+    field public static final int AUDIO_VIDEO = 1024; // 0x400
+    field public static final int COMPUTER = 256; // 0x100
+    field public static final int HEALTH = 2304; // 0x900
+    field public static final int IMAGING = 1536; // 0x600
+    field public static final int MISC = 0; // 0x0
+    field public static final int NETWORKING = 768; // 0x300
+    field public static final int PERIPHERAL = 1280; // 0x500
+    field public static final int PHONE = 512; // 0x200
+    field public static final int TOY = 2048; // 0x800
+    field public static final int UNCATEGORIZED = 7936; // 0x1f00
+    field public static final int WEARABLE = 1792; // 0x700
+  }
+
+  public static final class BluetoothClass.Service {
+    ctor public BluetoothClass.Service();
+    field public static final int AUDIO = 2097152; // 0x200000
+    field public static final int CAPTURE = 524288; // 0x80000
+    field public static final int INFORMATION = 8388608; // 0x800000
+    field public static final int LIMITED_DISCOVERABILITY = 8192; // 0x2000
+    field public static final int NETWORKING = 131072; // 0x20000
+    field public static final int OBJECT_TRANSFER = 1048576; // 0x100000
+    field public static final int POSITIONING = 65536; // 0x10000
+    field public static final int RENDER = 262144; // 0x40000
+    field public static final int TELEPHONY = 4194304; // 0x400000
+  }
+
+  public final class BluetoothDevice implements android.os.Parcelable {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int, android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond();
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createInsecureL2capChannel(int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createL2capChannel(int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
+    method public int describeContents();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean fetchUuidsWithSdp();
+    method public String getAddress();
+    method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getAlias();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothClass getBluetoothClass();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBondState();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getName();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getType();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.os.ParcelUuid[] getUuids();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int setAlias(@Nullable String);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPairingConfirmation(boolean);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(byte[]);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_CONNECTED = "android.bluetooth.device.action.ACL_CONNECTED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_DISCONNECTED = "android.bluetooth.device.action.ACL_DISCONNECTED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_DISCONNECT_REQUESTED = "android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ALIAS_CHANGED = "android.bluetooth.device.action.ALIAS_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BOND_STATE_CHANGED = "android.bluetooth.device.action.BOND_STATE_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CLASS_CHANGED = "android.bluetooth.device.action.CLASS_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_FOUND = "android.bluetooth.device.action.FOUND";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_NAME_CHANGED = "android.bluetooth.device.action.NAME_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_REQUEST = "android.bluetooth.device.action.PAIRING_REQUEST";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_UUID = "android.bluetooth.device.action.UUID";
+    field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0
+    field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1
+    field public static final int BOND_BONDED = 12; // 0xc
+    field public static final int BOND_BONDING = 11; // 0xb
+    field public static final int BOND_NONE = 10; // 0xa
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothDevice> CREATOR;
+    field public static final int DEVICE_TYPE_CLASSIC = 1; // 0x1
+    field public static final int DEVICE_TYPE_DUAL = 3; // 0x3
+    field public static final int DEVICE_TYPE_LE = 2; // 0x2
+    field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int ERROR = -2147483648; // 0x80000000
+    field public static final String EXTRA_BOND_STATE = "android.bluetooth.device.extra.BOND_STATE";
+    field public static final String EXTRA_CLASS = "android.bluetooth.device.extra.CLASS";
+    field public static final String EXTRA_DEVICE = "android.bluetooth.device.extra.DEVICE";
+    field public static final String EXTRA_NAME = "android.bluetooth.device.extra.NAME";
+    field public static final String EXTRA_PAIRING_KEY = "android.bluetooth.device.extra.PAIRING_KEY";
+    field public static final String EXTRA_PAIRING_VARIANT = "android.bluetooth.device.extra.PAIRING_VARIANT";
+    field public static final String EXTRA_PREVIOUS_BOND_STATE = "android.bluetooth.device.extra.PREVIOUS_BOND_STATE";
+    field public static final String EXTRA_RSSI = "android.bluetooth.device.extra.RSSI";
+    field public static final String EXTRA_UUID = "android.bluetooth.device.extra.UUID";
+    field public static final int PAIRING_VARIANT_PASSKEY_CONFIRMATION = 2; // 0x2
+    field public static final int PAIRING_VARIANT_PIN = 0; // 0x0
+    field public static final int PHY_LE_1M = 1; // 0x1
+    field public static final int PHY_LE_1M_MASK = 1; // 0x1
+    field public static final int PHY_LE_2M = 2; // 0x2
+    field public static final int PHY_LE_2M_MASK = 2; // 0x2
+    field public static final int PHY_LE_CODED = 3; // 0x3
+    field public static final int PHY_LE_CODED_MASK = 4; // 0x4
+    field public static final int PHY_OPTION_NO_PREFERRED = 0; // 0x0
+    field public static final int PHY_OPTION_S2 = 1; // 0x1
+    field public static final int PHY_OPTION_S8 = 2; // 0x2
+    field public static final int TRANSPORT_AUTO = 0; // 0x0
+    field public static final int TRANSPORT_BREDR = 1; // 0x1
+    field public static final int TRANSPORT_LE = 2; // 0x2
+  }
+
+  public final class BluetoothGatt implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void abortReliableWrite();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void abortReliableWrite(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean beginReliableWrite();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void close();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void disconnect();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean discoverServices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean executeReliableWrite();
+    method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method public android.bluetooth.BluetoothDevice getDevice();
+    method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method public android.bluetooth.BluetoothGattService getService(java.util.UUID);
+    method public java.util.List<android.bluetooth.BluetoothGattService> getServices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readCharacteristic(android.bluetooth.BluetoothGattCharacteristic);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readDescriptor(android.bluetooth.BluetoothGattDescriptor);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readRemoteRssi();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean requestConnectionPriority(int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean requestMtu(int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setCharacteristicNotification(android.bluetooth.BluetoothGattCharacteristic, boolean);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(int, int, int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean writeDescriptor(android.bluetooth.BluetoothGattDescriptor);
+    field public static final int CONNECTION_PRIORITY_BALANCED = 0; // 0x0
+    field public static final int CONNECTION_PRIORITY_HIGH = 1; // 0x1
+    field public static final int CONNECTION_PRIORITY_LOW_POWER = 2; // 0x2
+    field public static final int GATT_CONNECTION_CONGESTED = 143; // 0x8f
+    field public static final int GATT_FAILURE = 257; // 0x101
+    field public static final int GATT_INSUFFICIENT_AUTHENTICATION = 5; // 0x5
+    field public static final int GATT_INSUFFICIENT_ENCRYPTION = 15; // 0xf
+    field public static final int GATT_INVALID_ATTRIBUTE_LENGTH = 13; // 0xd
+    field public static final int GATT_INVALID_OFFSET = 7; // 0x7
+    field public static final int GATT_READ_NOT_PERMITTED = 2; // 0x2
+    field public static final int GATT_REQUEST_NOT_SUPPORTED = 6; // 0x6
+    field public static final int GATT_SUCCESS = 0; // 0x0
+    field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3
+  }
+
+  public abstract class BluetoothGattCallback {
+    ctor public BluetoothGattCallback();
+    method public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic);
+    method public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
+    method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
+    method public void onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int);
+    method public void onDescriptorRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattDescriptor, int);
+    method public void onDescriptorWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattDescriptor, int);
+    method public void onMtuChanged(android.bluetooth.BluetoothGatt, int, int);
+    method public void onPhyRead(android.bluetooth.BluetoothGatt, int, int, int);
+    method public void onPhyUpdate(android.bluetooth.BluetoothGatt, int, int, int);
+    method public void onReadRemoteRssi(android.bluetooth.BluetoothGatt, int, int);
+    method public void onReliableWriteCompleted(android.bluetooth.BluetoothGatt, int);
+    method public void onServiceChanged(@NonNull android.bluetooth.BluetoothGatt);
+    method public void onServicesDiscovered(android.bluetooth.BluetoothGatt, int);
+  }
+
+  public class BluetoothGattCharacteristic implements android.os.Parcelable {
+    ctor public BluetoothGattCharacteristic(java.util.UUID, int, int);
+    method public boolean addDescriptor(android.bluetooth.BluetoothGattDescriptor);
+    method public int describeContents();
+    method public android.bluetooth.BluetoothGattDescriptor getDescriptor(java.util.UUID);
+    method public java.util.List<android.bluetooth.BluetoothGattDescriptor> getDescriptors();
+    method public Float getFloatValue(int, int);
+    method public int getInstanceId();
+    method public Integer getIntValue(int, int);
+    method public int getPermissions();
+    method public int getProperties();
+    method public android.bluetooth.BluetoothGattService getService();
+    method public String getStringValue(int);
+    method public java.util.UUID getUuid();
+    method public byte[] getValue();
+    method public int getWriteType();
+    method public boolean setValue(byte[]);
+    method public boolean setValue(int, int, int);
+    method public boolean setValue(int, int, int, int);
+    method public boolean setValue(String);
+    method public void setWriteType(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattCharacteristic> CREATOR;
+    field public static final int FORMAT_FLOAT = 52; // 0x34
+    field public static final int FORMAT_SFLOAT = 50; // 0x32
+    field public static final int FORMAT_SINT16 = 34; // 0x22
+    field public static final int FORMAT_SINT32 = 36; // 0x24
+    field public static final int FORMAT_SINT8 = 33; // 0x21
+    field public static final int FORMAT_UINT16 = 18; // 0x12
+    field public static final int FORMAT_UINT32 = 20; // 0x14
+    field public static final int FORMAT_UINT8 = 17; // 0x11
+    field public static final int PERMISSION_READ = 1; // 0x1
+    field public static final int PERMISSION_READ_ENCRYPTED = 2; // 0x2
+    field public static final int PERMISSION_READ_ENCRYPTED_MITM = 4; // 0x4
+    field public static final int PERMISSION_WRITE = 16; // 0x10
+    field public static final int PERMISSION_WRITE_ENCRYPTED = 32; // 0x20
+    field public static final int PERMISSION_WRITE_ENCRYPTED_MITM = 64; // 0x40
+    field public static final int PERMISSION_WRITE_SIGNED = 128; // 0x80
+    field public static final int PERMISSION_WRITE_SIGNED_MITM = 256; // 0x100
+    field public static final int PROPERTY_BROADCAST = 1; // 0x1
+    field public static final int PROPERTY_EXTENDED_PROPS = 128; // 0x80
+    field public static final int PROPERTY_INDICATE = 32; // 0x20
+    field public static final int PROPERTY_NOTIFY = 16; // 0x10
+    field public static final int PROPERTY_READ = 2; // 0x2
+    field public static final int PROPERTY_SIGNED_WRITE = 64; // 0x40
+    field public static final int PROPERTY_WRITE = 8; // 0x8
+    field public static final int PROPERTY_WRITE_NO_RESPONSE = 4; // 0x4
+    field public static final int WRITE_TYPE_DEFAULT = 2; // 0x2
+    field public static final int WRITE_TYPE_NO_RESPONSE = 1; // 0x1
+    field public static final int WRITE_TYPE_SIGNED = 4; // 0x4
+    field protected java.util.List<android.bluetooth.BluetoothGattDescriptor> mDescriptors;
+  }
+
+  public class BluetoothGattDescriptor implements android.os.Parcelable {
+    ctor public BluetoothGattDescriptor(java.util.UUID, int);
+    method public int describeContents();
+    method public android.bluetooth.BluetoothGattCharacteristic getCharacteristic();
+    method public int getPermissions();
+    method public java.util.UUID getUuid();
+    method public byte[] getValue();
+    method public boolean setValue(byte[]);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattDescriptor> CREATOR;
+    field public static final byte[] DISABLE_NOTIFICATION_VALUE;
+    field public static final byte[] ENABLE_INDICATION_VALUE;
+    field public static final byte[] ENABLE_NOTIFICATION_VALUE;
+    field public static final int PERMISSION_READ = 1; // 0x1
+    field public static final int PERMISSION_READ_ENCRYPTED = 2; // 0x2
+    field public static final int PERMISSION_READ_ENCRYPTED_MITM = 4; // 0x4
+    field public static final int PERMISSION_WRITE = 16; // 0x10
+    field public static final int PERMISSION_WRITE_ENCRYPTED = 32; // 0x20
+    field public static final int PERMISSION_WRITE_ENCRYPTED_MITM = 64; // 0x40
+    field public static final int PERMISSION_WRITE_SIGNED = 128; // 0x80
+    field public static final int PERMISSION_WRITE_SIGNED_MITM = 256; // 0x100
+  }
+
+  public final class BluetoothGattServer implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean addService(android.bluetooth.BluetoothGattService);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void cancelConnection(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void clearServices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void close();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(android.bluetooth.BluetoothDevice, boolean);
+    method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method public android.bluetooth.BluetoothGattService getService(java.util.UUID);
+    method public java.util.List<android.bluetooth.BluetoothGattService> getServices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean notifyCharacteristicChanged(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothGattCharacteristic, boolean);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeService(android.bluetooth.BluetoothGattService);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendResponse(android.bluetooth.BluetoothDevice, int, int, int, byte[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int);
+  }
+
+  public abstract class BluetoothGattServerCallback {
+    ctor public BluetoothGattServerCallback();
+    method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic);
+    method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]);
+    method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int);
+    method public void onDescriptorReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattDescriptor);
+    method public void onDescriptorWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattDescriptor, boolean, boolean, int, byte[]);
+    method public void onExecuteWrite(android.bluetooth.BluetoothDevice, int, boolean);
+    method public void onMtuChanged(android.bluetooth.BluetoothDevice, int);
+    method public void onNotificationSent(android.bluetooth.BluetoothDevice, int);
+    method public void onPhyRead(android.bluetooth.BluetoothDevice, int, int, int);
+    method public void onPhyUpdate(android.bluetooth.BluetoothDevice, int, int, int);
+    method public void onServiceAdded(int, android.bluetooth.BluetoothGattService);
+  }
+
+  public class BluetoothGattService implements android.os.Parcelable {
+    ctor public BluetoothGattService(java.util.UUID, int);
+    method public boolean addCharacteristic(android.bluetooth.BluetoothGattCharacteristic);
+    method public boolean addService(android.bluetooth.BluetoothGattService);
+    method public int describeContents();
+    method public android.bluetooth.BluetoothGattCharacteristic getCharacteristic(java.util.UUID);
+    method public java.util.List<android.bluetooth.BluetoothGattCharacteristic> getCharacteristics();
+    method public java.util.List<android.bluetooth.BluetoothGattService> getIncludedServices();
+    method public int getInstanceId();
+    method public int getType();
+    method public java.util.UUID getUuid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattService> CREATOR;
+    field public static final int SERVICE_TYPE_PRIMARY = 0; // 0x0
+    field public static final int SERVICE_TYPE_SECONDARY = 1; // 0x1
+    field protected java.util.List<android.bluetooth.BluetoothGattCharacteristic> mCharacteristics;
+    field protected java.util.List<android.bluetooth.BluetoothGattService> mIncludedServices;
+  }
+
+  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isAudioConnected(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isNoiseReductionSupported(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isVoiceRecognitionSupported(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendVendorSpecificResultCode(android.bluetooth.BluetoothDevice, String, String);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean startVoiceRecognition(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean stopVoiceRecognition(android.bluetooth.BluetoothDevice);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_AUDIO_STATE_CHANGED = "android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_VENDOR_SPECIFIC_HEADSET_EVENT = "android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT";
+    field public static final int AT_CMD_TYPE_ACTION = 4; // 0x4
+    field public static final int AT_CMD_TYPE_BASIC = 3; // 0x3
+    field public static final int AT_CMD_TYPE_READ = 0; // 0x0
+    field public static final int AT_CMD_TYPE_SET = 2; // 0x2
+    field public static final int AT_CMD_TYPE_TEST = 1; // 0x1
+    field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_ARGS";
+    field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD";
+    field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE";
+    field public static final int STATE_AUDIO_CONNECTED = 12; // 0xc
+    field public static final int STATE_AUDIO_CONNECTING = 11; // 0xb
+    field public static final int STATE_AUDIO_DISCONNECTED = 10; // 0xa
+    field public static final String VENDOR_RESULT_CODE_COMMAND_ANDROID = "+ANDROID";
+    field public static final String VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY = "android.bluetooth.headset.intent.category.companyid";
+  }
+
+  @Deprecated public final class BluetoothHealth implements android.bluetooth.BluetoothProfile {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connectChannelToSource(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnectChannel(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.os.ParcelFileDescriptor getMainChannelFd(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean registerSinkAppConfiguration(String, int, android.bluetooth.BluetoothHealthCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean unregisterAppConfiguration(android.bluetooth.BluetoothHealthAppConfiguration);
+    field @Deprecated public static final int APP_CONFIG_REGISTRATION_FAILURE = 1; // 0x1
+    field @Deprecated public static final int APP_CONFIG_REGISTRATION_SUCCESS = 0; // 0x0
+    field @Deprecated public static final int APP_CONFIG_UNREGISTRATION_FAILURE = 3; // 0x3
+    field @Deprecated public static final int APP_CONFIG_UNREGISTRATION_SUCCESS = 2; // 0x2
+    field @Deprecated public static final int CHANNEL_TYPE_RELIABLE = 10; // 0xa
+    field @Deprecated public static final int CHANNEL_TYPE_STREAMING = 11; // 0xb
+    field @Deprecated public static final int SINK_ROLE = 2; // 0x2
+    field @Deprecated public static final int SOURCE_ROLE = 1; // 0x1
+    field @Deprecated public static final int STATE_CHANNEL_CONNECTED = 2; // 0x2
+    field @Deprecated public static final int STATE_CHANNEL_CONNECTING = 1; // 0x1
+    field @Deprecated public static final int STATE_CHANNEL_DISCONNECTED = 0; // 0x0
+    field @Deprecated public static final int STATE_CHANNEL_DISCONNECTING = 3; // 0x3
+  }
+
+  @Deprecated public final class BluetoothHealthAppConfiguration implements android.os.Parcelable {
+    method @Deprecated public int describeContents();
+    method @Deprecated public int getDataType();
+    method @Deprecated public String getName();
+    method @Deprecated public int getRole();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHealthAppConfiguration> CREATOR;
+  }
+
+  @Deprecated public abstract class BluetoothHealthCallback {
+    ctor @Deprecated public BluetoothHealthCallback();
+    method @Deprecated @BinderThread public void onHealthAppConfigurationStatusChange(android.bluetooth.BluetoothHealthAppConfiguration, int);
+    method @Deprecated @BinderThread public void onHealthChannelStateChange(android.bluetooth.BluetoothHealthAppConfiguration, android.bluetooth.BluetoothDevice, int, int, android.os.ParcelFileDescriptor, int);
+  }
+
+  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED";
+  }
+
+  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean registerApp(android.bluetooth.BluetoothHidDeviceAppSdpSettings, android.bluetooth.BluetoothHidDeviceAppQosSettings, android.bluetooth.BluetoothHidDeviceAppQosSettings, java.util.concurrent.Executor, android.bluetooth.BluetoothHidDevice.Callback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean replyReport(android.bluetooth.BluetoothDevice, byte, byte, byte[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean reportError(android.bluetooth.BluetoothDevice, byte);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendReport(android.bluetooth.BluetoothDevice, int, byte[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean unregisterApp();
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED";
+    field public static final byte ERROR_RSP_INVALID_PARAM = 4; // 0x4
+    field public static final byte ERROR_RSP_INVALID_RPT_ID = 2; // 0x2
+    field public static final byte ERROR_RSP_NOT_READY = 1; // 0x1
+    field public static final byte ERROR_RSP_SUCCESS = 0; // 0x0
+    field public static final byte ERROR_RSP_UNKNOWN = 14; // 0xe
+    field public static final byte ERROR_RSP_UNSUPPORTED_REQ = 3; // 0x3
+    field public static final byte PROTOCOL_BOOT_MODE = 0; // 0x0
+    field public static final byte PROTOCOL_REPORT_MODE = 1; // 0x1
+    field public static final byte REPORT_TYPE_FEATURE = 3; // 0x3
+    field public static final byte REPORT_TYPE_INPUT = 1; // 0x1
+    field public static final byte REPORT_TYPE_OUTPUT = 2; // 0x2
+    field public static final byte SUBCLASS1_COMBO = -64; // 0xffffffc0
+    field public static final byte SUBCLASS1_KEYBOARD = 64; // 0x40
+    field public static final byte SUBCLASS1_MOUSE = -128; // 0xffffff80
+    field public static final byte SUBCLASS1_NONE = 0; // 0x0
+    field public static final byte SUBCLASS2_CARD_READER = 6; // 0x6
+    field public static final byte SUBCLASS2_DIGITIZER_TABLET = 5; // 0x5
+    field public static final byte SUBCLASS2_GAMEPAD = 2; // 0x2
+    field public static final byte SUBCLASS2_JOYSTICK = 1; // 0x1
+    field public static final byte SUBCLASS2_REMOTE_CONTROL = 3; // 0x3
+    field public static final byte SUBCLASS2_SENSING_DEVICE = 4; // 0x4
+    field public static final byte SUBCLASS2_UNCATEGORIZED = 0; // 0x0
+  }
+
+  public abstract static class BluetoothHidDevice.Callback {
+    ctor public BluetoothHidDevice.Callback();
+    method public void onAppStatusChanged(android.bluetooth.BluetoothDevice, boolean);
+    method public void onConnectionStateChanged(android.bluetooth.BluetoothDevice, int);
+    method public void onGetReport(android.bluetooth.BluetoothDevice, byte, byte, int);
+    method public void onInterruptData(android.bluetooth.BluetoothDevice, byte, byte[]);
+    method public void onSetProtocol(android.bluetooth.BluetoothDevice, byte);
+    method public void onSetReport(android.bluetooth.BluetoothDevice, byte, byte, byte[]);
+    method public void onVirtualCableUnplug(android.bluetooth.BluetoothDevice);
+  }
+
+  public final class BluetoothHidDeviceAppQosSettings implements android.os.Parcelable {
+    ctor public BluetoothHidDeviceAppQosSettings(int, int, int, int, int, int);
+    method public int describeContents();
+    method public int getDelayVariation();
+    method public int getLatency();
+    method public int getPeakBandwidth();
+    method public int getServiceType();
+    method public int getTokenBucketSize();
+    method public int getTokenRate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppQosSettings> CREATOR;
+    field public static final int MAX = -1; // 0xffffffff
+    field public static final int SERVICE_BEST_EFFORT = 1; // 0x1
+    field public static final int SERVICE_GUARANTEED = 2; // 0x2
+    field public static final int SERVICE_NO_TRAFFIC = 0; // 0x0
+  }
+
+  public final class BluetoothHidDeviceAppSdpSettings implements android.os.Parcelable {
+    ctor public BluetoothHidDeviceAppSdpSettings(String, String, String, byte, byte[]);
+    method public int describeContents();
+    method public String getDescription();
+    method public byte[] getDescriptors();
+    method public String getName();
+    method public String getProvider();
+    method public byte getSubclass();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppSdpSettings> CREATOR;
+  }
+
+  public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
+    method public void close();
+    method protected void finalize();
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LE_AUDIO_CONNECTION_STATE_CHANGED = "android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED";
+  }
+
+  public final class BluetoothManager {
+    method public android.bluetooth.BluetoothAdapter getAdapter();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice, int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int, int[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGattServer openGattServer(android.content.Context, android.bluetooth.BluetoothGattServerCallback);
+  }
+
+  public interface BluetoothProfile {
+    method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    field public static final int A2DP = 2; // 0x2
+    field public static final String EXTRA_PREVIOUS_STATE = "android.bluetooth.profile.extra.PREVIOUS_STATE";
+    field public static final String EXTRA_STATE = "android.bluetooth.profile.extra.STATE";
+    field public static final int GATT = 7; // 0x7
+    field public static final int GATT_SERVER = 8; // 0x8
+    field public static final int HEADSET = 1; // 0x1
+    field @Deprecated public static final int HEALTH = 3; // 0x3
+    field public static final int HEARING_AID = 21; // 0x15
+    field public static final int HID_DEVICE = 19; // 0x13
+    field public static final int SAP = 10; // 0xa
+    field public static final int STATE_CONNECTED = 2; // 0x2
+    field public static final int STATE_CONNECTING = 1; // 0x1
+    field public static final int STATE_DISCONNECTED = 0; // 0x0
+    field public static final int STATE_DISCONNECTING = 3; // 0x3
+  }
+
+  public static interface BluetoothProfile.ServiceListener {
+    method public void onServiceConnected(int, android.bluetooth.BluetoothProfile);
+    method public void onServiceDisconnected(int);
+  }
+
+  public final class BluetoothServerSocket implements java.io.Closeable {
+    method public android.bluetooth.BluetoothSocket accept() throws java.io.IOException;
+    method public android.bluetooth.BluetoothSocket accept(int) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public int getPsm();
+  }
+
+  public final class BluetoothSocket implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void connect() throws java.io.IOException;
+    method public int getConnectionType();
+    method public java.io.InputStream getInputStream() throws java.io.IOException;
+    method public int getMaxReceivePacketSize();
+    method public int getMaxTransmitPacketSize();
+    method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+    method public android.bluetooth.BluetoothDevice getRemoteDevice();
+    method public boolean isConnected();
+    field public static final int TYPE_L2CAP = 3; // 0x3
+    field public static final int TYPE_RFCOMM = 1; // 0x1
+    field public static final int TYPE_SCO = 2; // 0x2
+  }
+
+  public final class BluetoothStatusCodes {
+    field public static final int ERROR_BLUETOOTH_NOT_ALLOWED = 2; // 0x2
+    field public static final int ERROR_BLUETOOTH_NOT_ENABLED = 1; // 0x1
+    field public static final int ERROR_DEVICE_NOT_BONDED = 3; // 0x3
+    field public static final int ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION = 6; // 0x6
+    field public static final int ERROR_UNKNOWN = 2147483647; // 0x7fffffff
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+}
+
+package android.bluetooth.le {
+
+  public abstract class AdvertiseCallback {
+    ctor public AdvertiseCallback();
+    method public void onStartFailure(int);
+    method public void onStartSuccess(android.bluetooth.le.AdvertiseSettings);
+    field public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3; // 0x3
+    field public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1; // 0x1
+    field public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5; // 0x5
+    field public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4; // 0x4
+    field public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2; // 0x2
+  }
+
+  public final class AdvertiseData implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getIncludeDeviceName();
+    method public boolean getIncludeTxPowerLevel();
+    method public android.util.SparseArray<byte[]> getManufacturerSpecificData();
+    method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData();
+    method @NonNull public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids();
+    method public java.util.List<android.os.ParcelUuid> getServiceUuids();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseData> CREATOR;
+  }
+
+  public static final class AdvertiseData.Builder {
+    ctor public AdvertiseData.Builder();
+    method public android.bluetooth.le.AdvertiseData.Builder addManufacturerData(int, byte[]);
+    method public android.bluetooth.le.AdvertiseData.Builder addServiceData(android.os.ParcelUuid, byte[]);
+    method @NonNull public android.bluetooth.le.AdvertiseData.Builder addServiceSolicitationUuid(@NonNull android.os.ParcelUuid);
+    method public android.bluetooth.le.AdvertiseData.Builder addServiceUuid(android.os.ParcelUuid);
+    method public android.bluetooth.le.AdvertiseData build();
+    method public android.bluetooth.le.AdvertiseData.Builder setIncludeDeviceName(boolean);
+    method public android.bluetooth.le.AdvertiseData.Builder setIncludeTxPowerLevel(boolean);
+  }
+
+  public final class AdvertiseSettings implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getMode();
+    method public int getTimeout();
+    method public int getTxPowerLevel();
+    method public boolean isConnectable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ADVERTISE_MODE_BALANCED = 1; // 0x1
+    field public static final int ADVERTISE_MODE_LOW_LATENCY = 2; // 0x2
+    field public static final int ADVERTISE_MODE_LOW_POWER = 0; // 0x0
+    field public static final int ADVERTISE_TX_POWER_HIGH = 3; // 0x3
+    field public static final int ADVERTISE_TX_POWER_LOW = 1; // 0x1
+    field public static final int ADVERTISE_TX_POWER_MEDIUM = 2; // 0x2
+    field public static final int ADVERTISE_TX_POWER_ULTRA_LOW = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseSettings> CREATOR;
+  }
+
+  public static final class AdvertiseSettings.Builder {
+    ctor public AdvertiseSettings.Builder();
+    method public android.bluetooth.le.AdvertiseSettings build();
+    method public android.bluetooth.le.AdvertiseSettings.Builder setAdvertiseMode(int);
+    method public android.bluetooth.le.AdvertiseSettings.Builder setConnectable(boolean);
+    method public android.bluetooth.le.AdvertiseSettings.Builder setTimeout(int);
+    method public android.bluetooth.le.AdvertiseSettings.Builder setTxPowerLevel(int);
+  }
+
+  public final class AdvertisingSet {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void enableAdvertising(boolean, int, int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingParameters(android.bluetooth.le.PeriodicAdvertisingParameters);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setScanResponseData(android.bluetooth.le.AdvertiseData);
+  }
+
+  public abstract class AdvertisingSetCallback {
+    ctor public AdvertisingSetCallback();
+    method public void onAdvertisingDataSet(android.bluetooth.le.AdvertisingSet, int);
+    method public void onAdvertisingEnabled(android.bluetooth.le.AdvertisingSet, boolean, int);
+    method public void onAdvertisingParametersUpdated(android.bluetooth.le.AdvertisingSet, int, int);
+    method public void onAdvertisingSetStarted(android.bluetooth.le.AdvertisingSet, int, int);
+    method public void onAdvertisingSetStopped(android.bluetooth.le.AdvertisingSet);
+    method public void onPeriodicAdvertisingDataSet(android.bluetooth.le.AdvertisingSet, int);
+    method public void onPeriodicAdvertisingEnabled(android.bluetooth.le.AdvertisingSet, boolean, int);
+    method public void onPeriodicAdvertisingParametersUpdated(android.bluetooth.le.AdvertisingSet, int);
+    method public void onScanResponseDataSet(android.bluetooth.le.AdvertisingSet, int);
+    field public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3; // 0x3
+    field public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1; // 0x1
+    field public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5; // 0x5
+    field public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4; // 0x4
+    field public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2; // 0x2
+    field public static final int ADVERTISE_SUCCESS = 0; // 0x0
+  }
+
+  public final class AdvertisingSetParameters implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getInterval();
+    method public int getPrimaryPhy();
+    method public int getSecondaryPhy();
+    method public int getTxPowerLevel();
+    method public boolean includeTxPower();
+    method public boolean isAnonymous();
+    method public boolean isConnectable();
+    method public boolean isLegacy();
+    method public boolean isScannable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertisingSetParameters> CREATOR;
+    field public static final int INTERVAL_HIGH = 1600; // 0x640
+    field public static final int INTERVAL_LOW = 160; // 0xa0
+    field public static final int INTERVAL_MAX = 16777215; // 0xffffff
+    field public static final int INTERVAL_MEDIUM = 400; // 0x190
+    field public static final int INTERVAL_MIN = 160; // 0xa0
+    field public static final int TX_POWER_HIGH = 1; // 0x1
+    field public static final int TX_POWER_LOW = -15; // 0xfffffff1
+    field public static final int TX_POWER_MAX = 1; // 0x1
+    field public static final int TX_POWER_MEDIUM = -7; // 0xfffffff9
+    field public static final int TX_POWER_MIN = -127; // 0xffffff81
+    field public static final int TX_POWER_ULTRA_LOW = -21; // 0xffffffeb
+  }
+
+  public static final class AdvertisingSetParameters.Builder {
+    ctor public AdvertisingSetParameters.Builder();
+    method public android.bluetooth.le.AdvertisingSetParameters build();
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setAnonymous(boolean);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setConnectable(boolean);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setIncludeTxPower(boolean);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setInterval(int);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setScannable(boolean);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int);
+  }
+
+  public final class BluetoothLeAdvertiser {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
+  }
+
+  public final class BluetoothLeScanner {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void flushPendingScanResults(android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startScan(android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startScan(java.util.List<android.bluetooth.le.ScanFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public int startScan(@Nullable java.util.List<android.bluetooth.le.ScanFilter>, @Nullable android.bluetooth.le.ScanSettings, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopScan(android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopScan(android.app.PendingIntent);
+    field public static final String EXTRA_CALLBACK_TYPE = "android.bluetooth.le.extra.CALLBACK_TYPE";
+    field public static final String EXTRA_ERROR_CODE = "android.bluetooth.le.extra.ERROR_CODE";
+    field public static final String EXTRA_LIST_SCAN_RESULT = "android.bluetooth.le.extra.LIST_SCAN_RESULT";
+  }
+
+  public final class PeriodicAdvertisingParameters implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getIncludeTxPower();
+    method public int getInterval();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.bluetooth.le.PeriodicAdvertisingParameters> CREATOR;
+  }
+
+  public static final class PeriodicAdvertisingParameters.Builder {
+    ctor public PeriodicAdvertisingParameters.Builder();
+    method public android.bluetooth.le.PeriodicAdvertisingParameters build();
+    method public android.bluetooth.le.PeriodicAdvertisingParameters.Builder setIncludeTxPower(boolean);
+    method public android.bluetooth.le.PeriodicAdvertisingParameters.Builder setInterval(int);
+  }
+
+  public abstract class ScanCallback {
+    ctor public ScanCallback();
+    method public void onBatchScanResults(java.util.List<android.bluetooth.le.ScanResult>);
+    method public void onScanFailed(int);
+    method public void onScanResult(int, android.bluetooth.le.ScanResult);
+    field public static final int SCAN_FAILED_ALREADY_STARTED = 1; // 0x1
+    field public static final int SCAN_FAILED_APPLICATION_REGISTRATION_FAILED = 2; // 0x2
+    field public static final int SCAN_FAILED_FEATURE_UNSUPPORTED = 4; // 0x4
+    field public static final int SCAN_FAILED_INTERNAL_ERROR = 3; // 0x3
+  }
+
+  public final class ScanFilter implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getDeviceAddress();
+    method @Nullable public String getDeviceName();
+    method @Nullable public byte[] getManufacturerData();
+    method @Nullable public byte[] getManufacturerDataMask();
+    method public int getManufacturerId();
+    method @Nullable public byte[] getServiceData();
+    method @Nullable public byte[] getServiceDataMask();
+    method @Nullable public android.os.ParcelUuid getServiceDataUuid();
+    method @Nullable public android.os.ParcelUuid getServiceSolicitationUuid();
+    method @Nullable public android.os.ParcelUuid getServiceSolicitationUuidMask();
+    method @Nullable public android.os.ParcelUuid getServiceUuid();
+    method @Nullable public android.os.ParcelUuid getServiceUuidMask();
+    method public boolean matches(android.bluetooth.le.ScanResult);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanFilter> CREATOR;
+  }
+
+  public static final class ScanFilter.Builder {
+    ctor public ScanFilter.Builder();
+    method public android.bluetooth.le.ScanFilter build();
+    method public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(String);
+    method public android.bluetooth.le.ScanFilter.Builder setDeviceName(String);
+    method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[]);
+    method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[], byte[]);
+    method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[]);
+    method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[], byte[]);
+    method @NonNull public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(@Nullable android.os.ParcelUuid);
+    method @NonNull public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(@Nullable android.os.ParcelUuid, @Nullable android.os.ParcelUuid);
+    method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid);
+    method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid, android.os.ParcelUuid);
+  }
+
+  public final class ScanRecord {
+    method public int getAdvertiseFlags();
+    method public byte[] getBytes();
+    method @Nullable public String getDeviceName();
+    method public android.util.SparseArray<byte[]> getManufacturerSpecificData();
+    method @Nullable public byte[] getManufacturerSpecificData(int);
+    method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData();
+    method @Nullable public byte[] getServiceData(android.os.ParcelUuid);
+    method @NonNull public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids();
+    method public java.util.List<android.os.ParcelUuid> getServiceUuids();
+    method public int getTxPowerLevel();
+  }
+
+  public final class ScanResult implements android.os.Parcelable {
+    ctor @Deprecated public ScanResult(android.bluetooth.BluetoothDevice, android.bluetooth.le.ScanRecord, int, long);
+    ctor public ScanResult(android.bluetooth.BluetoothDevice, int, int, int, int, int, int, int, android.bluetooth.le.ScanRecord, long);
+    method public int describeContents();
+    method public int getAdvertisingSid();
+    method public int getDataStatus();
+    method public android.bluetooth.BluetoothDevice getDevice();
+    method public int getPeriodicAdvertisingInterval();
+    method public int getPrimaryPhy();
+    method public int getRssi();
+    method @Nullable public android.bluetooth.le.ScanRecord getScanRecord();
+    method public int getSecondaryPhy();
+    method public long getTimestampNanos();
+    method public int getTxPower();
+    method public boolean isConnectable();
+    method public boolean isLegacy();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanResult> CREATOR;
+    field public static final int DATA_COMPLETE = 0; // 0x0
+    field public static final int DATA_TRUNCATED = 2; // 0x2
+    field public static final int PERIODIC_INTERVAL_NOT_PRESENT = 0; // 0x0
+    field public static final int PHY_UNUSED = 0; // 0x0
+    field public static final int SID_NOT_PRESENT = 255; // 0xff
+    field public static final int TX_POWER_NOT_PRESENT = 127; // 0x7f
+  }
+
+  public final class ScanSettings implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCallbackType();
+    method public boolean getLegacy();
+    method public int getPhy();
+    method public long getReportDelayMillis();
+    method public int getScanMode();
+    method public int getScanResultType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CALLBACK_TYPE_ALL_MATCHES = 1; // 0x1
+    field public static final int CALLBACK_TYPE_FIRST_MATCH = 2; // 0x2
+    field public static final int CALLBACK_TYPE_MATCH_LOST = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanSettings> CREATOR;
+    field public static final int MATCH_MODE_AGGRESSIVE = 1; // 0x1
+    field public static final int MATCH_MODE_STICKY = 2; // 0x2
+    field public static final int MATCH_NUM_FEW_ADVERTISEMENT = 2; // 0x2
+    field public static final int MATCH_NUM_MAX_ADVERTISEMENT = 3; // 0x3
+    field public static final int MATCH_NUM_ONE_ADVERTISEMENT = 1; // 0x1
+    field public static final int PHY_LE_ALL_SUPPORTED = 255; // 0xff
+    field public static final int SCAN_MODE_BALANCED = 1; // 0x1
+    field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
+    field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
+    field public static final int SCAN_MODE_OPPORTUNISTIC = -1; // 0xffffffff
+  }
+
+  public static final class ScanSettings.Builder {
+    ctor public ScanSettings.Builder();
+    method public android.bluetooth.le.ScanSettings build();
+    method public android.bluetooth.le.ScanSettings.Builder setCallbackType(int);
+    method public android.bluetooth.le.ScanSettings.Builder setLegacy(boolean);
+    method public android.bluetooth.le.ScanSettings.Builder setMatchMode(int);
+    method public android.bluetooth.le.ScanSettings.Builder setNumOfMatches(int);
+    method public android.bluetooth.le.ScanSettings.Builder setPhy(int);
+    method public android.bluetooth.le.ScanSettings.Builder setReportDelay(long);
+    method public android.bluetooth.le.ScanSettings.Builder setScanMode(int);
+  }
+
+}
+
+package android.companion {
+
+  public final class AssociationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.companion.AssociationRequest> CREATOR;
+    field public static final String DEVICE_PROFILE_WATCH = "android.app.role.COMPANION_DEVICE_WATCH";
+  }
+
+  public static final class AssociationRequest.Builder {
+    ctor public AssociationRequest.Builder();
+    method @NonNull public android.companion.AssociationRequest.Builder addDeviceFilter(@Nullable android.companion.DeviceFilter<?>);
+    method @NonNull public android.companion.AssociationRequest build();
+    method @NonNull public android.companion.AssociationRequest.Builder setDeviceProfile(@NonNull String);
+    method @NonNull public android.companion.AssociationRequest.Builder setSingleDevice(boolean);
+  }
+
+  public final class BluetoothDeviceFilter implements android.companion.DeviceFilter<android.bluetooth.BluetoothDevice> {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.companion.BluetoothDeviceFilter> CREATOR;
+  }
+
+  public static final class BluetoothDeviceFilter.Builder {
+    ctor public BluetoothDeviceFilter.Builder();
+    method @NonNull public android.companion.BluetoothDeviceFilter.Builder addServiceUuid(@Nullable android.os.ParcelUuid, @Nullable android.os.ParcelUuid);
+    method @NonNull public android.companion.BluetoothDeviceFilter build();
+    method @NonNull public android.companion.BluetoothDeviceFilter.Builder setAddress(@Nullable String);
+    method public android.companion.BluetoothDeviceFilter.Builder setNamePattern(@Nullable java.util.regex.Pattern);
+  }
+
+  public final class BluetoothLeDeviceFilter implements android.companion.DeviceFilter<android.bluetooth.le.ScanResult> {
+    method public int describeContents();
+    method public static int getRenamePrefixLengthLimit();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.companion.BluetoothLeDeviceFilter> CREATOR;
+  }
+
+  public static final class BluetoothLeDeviceFilter.Builder {
+    ctor public BluetoothLeDeviceFilter.Builder();
+    method @NonNull public android.companion.BluetoothLeDeviceFilter build();
+    method public android.companion.BluetoothLeDeviceFilter.Builder setNamePattern(@Nullable java.util.regex.Pattern);
+    method @NonNull public android.companion.BluetoothLeDeviceFilter.Builder setRawDataFilter(@NonNull byte[], @Nullable byte[]);
+    method @NonNull public android.companion.BluetoothLeDeviceFilter.Builder setRenameFromBytes(@NonNull String, @NonNull String, int, int, java.nio.ByteOrder);
+    method @NonNull public android.companion.BluetoothLeDeviceFilter.Builder setRenameFromName(@NonNull String, @NonNull String, int, int);
+    method @NonNull public android.companion.BluetoothLeDeviceFilter.Builder setScanFilter(@Nullable android.bluetooth.le.ScanFilter);
+  }
+
+  public final class CompanionDeviceManager {
+    method @RequiresPermission(value=android.Manifest.permission.REQUEST_COMPANION_PROFILE_WATCH, conditional=true) public void associate(@NonNull android.companion.AssociationRequest, @NonNull android.companion.CompanionDeviceManager.Callback, @Nullable android.os.Handler);
+    method public void disassociate(@NonNull String);
+    method @NonNull public java.util.List<java.lang.String> getAssociations();
+    method public boolean hasNotificationAccess(android.content.ComponentName);
+    method public void requestNotificationAccess(android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE) public void startObservingDevicePresence(@NonNull String) throws android.companion.DeviceNotAssociatedException;
+    method @RequiresPermission(android.Manifest.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE) public void stopObservingDevicePresence(@NonNull String) throws android.companion.DeviceNotAssociatedException;
+    field public static final String EXTRA_DEVICE = "android.companion.extra.DEVICE";
+  }
+
+  public abstract static class CompanionDeviceManager.Callback {
+    ctor public CompanionDeviceManager.Callback();
+    method public abstract void onDeviceFound(android.content.IntentSender);
+    method public abstract void onFailure(CharSequence);
+  }
+
+  public abstract class CompanionDeviceService extends android.app.Service {
+    ctor public CompanionDeviceService();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method @MainThread public abstract void onDeviceAppeared(@NonNull String);
+    method @MainThread public abstract void onDeviceDisappeared(@NonNull String);
+    field public static final String SERVICE_INTERFACE = "android.companion.CompanionDeviceService";
+  }
+
+  public interface DeviceFilter<D extends android.os.Parcelable> extends android.os.Parcelable {
+  }
+
+  public class DeviceNotAssociatedException extends java.lang.RuntimeException {
+  }
+
+  public final class WifiDeviceFilter implements android.companion.DeviceFilter<android.net.wifi.ScanResult> {
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.companion.WifiDeviceFilter> CREATOR;
+  }
+
+  public static final class WifiDeviceFilter.Builder {
+    ctor public WifiDeviceFilter.Builder();
+    method @NonNull public android.companion.WifiDeviceFilter build();
+    method @NonNull public android.companion.WifiDeviceFilter.Builder setBssid(@NonNull android.net.MacAddress);
+    method @NonNull public android.companion.WifiDeviceFilter.Builder setBssidMask(@NonNull android.net.MacAddress);
+    method @NonNull public android.companion.WifiDeviceFilter.Builder setNamePattern(@Nullable java.util.regex.Pattern);
+  }
+
+}
+
+package android.content {
+
+  public abstract class AbstractThreadedSyncAdapter {
+    ctor public AbstractThreadedSyncAdapter(android.content.Context, boolean);
+    ctor public AbstractThreadedSyncAdapter(android.content.Context, boolean, boolean);
+    method public android.content.Context getContext();
+    method public final android.os.IBinder getSyncAdapterBinder();
+    method public abstract void onPerformSync(android.accounts.Account, android.os.Bundle, String, android.content.ContentProviderClient, android.content.SyncResult);
+    method public void onSecurityException(android.accounts.Account, android.os.Bundle, String, android.content.SyncResult);
+    method public void onSyncCanceled();
+    method public void onSyncCanceled(Thread);
+    method @MainThread public boolean onUnsyncableAccount();
+    field @Deprecated public static final int LOG_SYNC_DETAILS = 2743; // 0xab7
+  }
+
+  public class ActivityNotFoundException extends java.lang.RuntimeException {
+    ctor public ActivityNotFoundException();
+    ctor public ActivityNotFoundException(String);
+  }
+
+  public abstract class AsyncQueryHandler extends android.os.Handler {
+    ctor public AsyncQueryHandler(android.content.ContentResolver);
+    method public final void cancelOperation(int);
+    method protected android.os.Handler createHandler(android.os.Looper);
+    method protected void onDeleteComplete(int, Object, int);
+    method protected void onInsertComplete(int, Object, android.net.Uri);
+    method protected void onQueryComplete(int, Object, android.database.Cursor);
+    method protected void onUpdateComplete(int, Object, int);
+    method public final void startDelete(int, Object, android.net.Uri, String, String[]);
+    method public final void startInsert(int, Object, android.net.Uri, android.content.ContentValues);
+    method public void startQuery(int, Object, android.net.Uri, String[], String, String[], String);
+    method public final void startUpdate(int, Object, android.net.Uri, android.content.ContentValues, String, String[]);
+  }
+
+  protected static final class AsyncQueryHandler.WorkerArgs {
+    ctor protected AsyncQueryHandler.WorkerArgs();
+    field public Object cookie;
+    field public android.os.Handler handler;
+    field public String orderBy;
+    field public String[] projection;
+    field public Object result;
+    field public String selection;
+    field public String[] selectionArgs;
+    field public android.net.Uri uri;
+    field public android.content.ContentValues values;
+  }
+
+  protected class AsyncQueryHandler.WorkerHandler extends android.os.Handler {
+    ctor public AsyncQueryHandler.WorkerHandler(android.os.Looper);
+  }
+
+  @Deprecated public abstract class AsyncTaskLoader<D> extends android.content.Loader<D> {
+    ctor @Deprecated public AsyncTaskLoader(android.content.Context);
+    method @Deprecated public void cancelLoadInBackground();
+    method @Deprecated public boolean isLoadInBackgroundCanceled();
+    method @Deprecated public abstract D loadInBackground();
+    method @Deprecated public void onCanceled(D);
+    method @Deprecated protected D onLoadInBackground();
+    method @Deprecated public void setUpdateThrottle(long);
+  }
+
+  public final class AttributionSource implements android.os.Parcelable {
+    method public boolean checkCallingUid();
+    method public int describeContents();
+    method public void enforceCallingUid();
+    method @Nullable public String getAttributionTag();
+    method @Nullable public android.content.AttributionSource getNext();
+    method @Nullable public String getPackageName();
+    method public int getUid();
+    method public boolean isTrusted(@NonNull android.content.Context);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.AttributionSource> CREATOR;
+  }
+
+  public static final class AttributionSource.Builder {
+    ctor public AttributionSource.Builder(int);
+    method @NonNull public android.content.AttributionSource build();
+    method @NonNull public android.content.AttributionSource.Builder setAttributionTag(@Nullable String);
+    method @NonNull public android.content.AttributionSource.Builder setNext(@Nullable android.content.AttributionSource);
+    method @NonNull public android.content.AttributionSource.Builder setPackageName(@Nullable String);
+  }
+
+  public abstract class BroadcastReceiver {
+    ctor public BroadcastReceiver();
+    method public final void abortBroadcast();
+    method public final void clearAbortBroadcast();
+    method public final boolean getAbortBroadcast();
+    method public final boolean getDebugUnregister();
+    method public final int getResultCode();
+    method public final String getResultData();
+    method public final android.os.Bundle getResultExtras(boolean);
+    method public final android.content.BroadcastReceiver.PendingResult goAsync();
+    method public final boolean isInitialStickyBroadcast();
+    method public final boolean isOrderedBroadcast();
+    method public abstract void onReceive(android.content.Context, android.content.Intent);
+    method public android.os.IBinder peekService(android.content.Context, android.content.Intent);
+    method public final void setDebugUnregister(boolean);
+    method public final void setOrderedHint(boolean);
+    method public final void setResult(int, String, android.os.Bundle);
+    method public final void setResultCode(int);
+    method public final void setResultData(String);
+    method public final void setResultExtras(android.os.Bundle);
+  }
+
+  public static class BroadcastReceiver.PendingResult {
+    method public final void abortBroadcast();
+    method public final void clearAbortBroadcast();
+    method public final void finish();
+    method public final boolean getAbortBroadcast();
+    method public final int getResultCode();
+    method public final String getResultData();
+    method public final android.os.Bundle getResultExtras(boolean);
+    method public final void setResult(int, String, android.os.Bundle);
+    method public final void setResultCode(int);
+    method public final void setResultData(String);
+    method public final void setResultExtras(android.os.Bundle);
+  }
+
+  public class ClipData implements android.os.Parcelable {
+    ctor public ClipData(CharSequence, String[], android.content.ClipData.Item);
+    ctor public ClipData(android.content.ClipDescription, android.content.ClipData.Item);
+    ctor public ClipData(android.content.ClipData);
+    method public void addItem(android.content.ClipData.Item);
+    method public void addItem(android.content.ContentResolver, android.content.ClipData.Item);
+    method public int describeContents();
+    method public android.content.ClipDescription getDescription();
+    method public android.content.ClipData.Item getItemAt(int);
+    method public int getItemCount();
+    method public static android.content.ClipData newHtmlText(CharSequence, CharSequence, String);
+    method public static android.content.ClipData newIntent(CharSequence, android.content.Intent);
+    method public static android.content.ClipData newPlainText(CharSequence, CharSequence);
+    method public static android.content.ClipData newRawUri(CharSequence, android.net.Uri);
+    method public static android.content.ClipData newUri(android.content.ContentResolver, CharSequence, android.net.Uri);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ClipData> CREATOR;
+  }
+
+  public static class ClipData.Item {
+    ctor public ClipData.Item(CharSequence);
+    ctor public ClipData.Item(CharSequence, String);
+    ctor public ClipData.Item(android.content.Intent);
+    ctor public ClipData.Item(android.net.Uri);
+    ctor public ClipData.Item(CharSequence, android.content.Intent, android.net.Uri);
+    ctor public ClipData.Item(CharSequence, String, android.content.Intent, android.net.Uri);
+    method public String coerceToHtmlText(android.content.Context);
+    method public CharSequence coerceToStyledText(android.content.Context);
+    method public CharSequence coerceToText(android.content.Context);
+    method public String getHtmlText();
+    method public android.content.Intent getIntent();
+    method public CharSequence getText();
+    method @Nullable public android.view.textclassifier.TextLinks getTextLinks();
+    method public android.net.Uri getUri();
+  }
+
+  public class ClipDescription implements android.os.Parcelable {
+    ctor public ClipDescription(CharSequence, String[]);
+    ctor public ClipDescription(android.content.ClipDescription);
+    method public static boolean compareMimeTypes(String, String);
+    method public int describeContents();
+    method public String[] filterMimeTypes(String);
+    method public int getClassificationStatus();
+    method @FloatRange(from=0.0, to=1.0) public float getConfidenceScore(@NonNull String);
+    method public android.os.PersistableBundle getExtras();
+    method public CharSequence getLabel();
+    method public String getMimeType(int);
+    method public int getMimeTypeCount();
+    method public long getTimestamp();
+    method public boolean hasMimeType(String);
+    method public boolean isStyledText();
+    method public void setExtras(android.os.PersistableBundle);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CLASSIFICATION_COMPLETE = 3; // 0x3
+    field public static final int CLASSIFICATION_NOT_COMPLETE = 1; // 0x1
+    field public static final int CLASSIFICATION_NOT_PERFORMED = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ClipDescription> CREATOR;
+    field public static final String MIMETYPE_TEXT_HTML = "text/html";
+    field public static final String MIMETYPE_TEXT_INTENT = "text/vnd.android.intent";
+    field public static final String MIMETYPE_TEXT_PLAIN = "text/plain";
+    field public static final String MIMETYPE_TEXT_URILIST = "text/uri-list";
+    field public static final String MIMETYPE_UNKNOWN = "application/octet-stream";
+  }
+
+  public class ClipboardManager extends android.text.ClipboardManager {
+    method public void addPrimaryClipChangedListener(android.content.ClipboardManager.OnPrimaryClipChangedListener);
+    method public void clearPrimaryClip();
+    method @Nullable public android.content.ClipData getPrimaryClip();
+    method @Nullable public android.content.ClipDescription getPrimaryClipDescription();
+    method @Deprecated public CharSequence getText();
+    method public boolean hasPrimaryClip();
+    method @Deprecated public boolean hasText();
+    method public void removePrimaryClipChangedListener(android.content.ClipboardManager.OnPrimaryClipChangedListener);
+    method public void setPrimaryClip(@NonNull android.content.ClipData);
+    method @Deprecated public void setText(CharSequence);
+  }
+
+  public static interface ClipboardManager.OnPrimaryClipChangedListener {
+    method public void onPrimaryClipChanged();
+  }
+
+  public interface ComponentCallbacks {
+    method public void onConfigurationChanged(@NonNull android.content.res.Configuration);
+    method public void onLowMemory();
+  }
+
+  public interface ComponentCallbacks2 extends android.content.ComponentCallbacks {
+    method public void onTrimMemory(int);
+    field public static final int TRIM_MEMORY_BACKGROUND = 40; // 0x28
+    field public static final int TRIM_MEMORY_COMPLETE = 80; // 0x50
+    field public static final int TRIM_MEMORY_MODERATE = 60; // 0x3c
+    field public static final int TRIM_MEMORY_RUNNING_CRITICAL = 15; // 0xf
+    field public static final int TRIM_MEMORY_RUNNING_LOW = 10; // 0xa
+    field public static final int TRIM_MEMORY_RUNNING_MODERATE = 5; // 0x5
+    field public static final int TRIM_MEMORY_UI_HIDDEN = 20; // 0x14
+  }
+
+  public final class ComponentName implements java.lang.Cloneable java.lang.Comparable<android.content.ComponentName> android.os.Parcelable {
+    ctor public ComponentName(@NonNull String, @NonNull String);
+    ctor public ComponentName(@NonNull android.content.Context, @NonNull String);
+    ctor public ComponentName(@NonNull android.content.Context, @NonNull Class<?>);
+    ctor public ComponentName(android.os.Parcel);
+    method public android.content.ComponentName clone();
+    method public int compareTo(android.content.ComponentName);
+    method @NonNull public static android.content.ComponentName createRelative(@NonNull String, @NonNull String);
+    method @NonNull public static android.content.ComponentName createRelative(@NonNull android.content.Context, @NonNull String);
+    method public int describeContents();
+    method @NonNull public String flattenToShortString();
+    method @NonNull public String flattenToString();
+    method @NonNull public String getClassName();
+    method @NonNull public String getPackageName();
+    method public String getShortClassName();
+    method public static android.content.ComponentName readFromParcel(android.os.Parcel);
+    method public String toShortString();
+    method @Nullable public static android.content.ComponentName unflattenFromString(@NonNull String);
+    method public void writeToParcel(android.os.Parcel, int);
+    method public static void writeToParcel(android.content.ComponentName, android.os.Parcel);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ComponentName> CREATOR;
+  }
+
+  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+    ctor public ContentProvider();
+    method @NonNull public android.content.ContentProviderResult[] applyBatch(@NonNull String, @NonNull java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException;
+    method @NonNull public android.content.ContentProviderResult[] applyBatch(@NonNull java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException;
+    method public void attachInfo(android.content.Context, android.content.pm.ProviderInfo);
+    method public int bulkInsert(@NonNull android.net.Uri, @NonNull android.content.ContentValues[]);
+    method @Nullable public android.os.Bundle call(@NonNull String, @NonNull String, @Nullable String, @Nullable android.os.Bundle);
+    method @Nullable public android.os.Bundle call(@NonNull String, @Nullable String, @Nullable android.os.Bundle);
+    method @Nullable public android.net.Uri canonicalize(@NonNull android.net.Uri);
+    method @NonNull public final android.content.ContentProvider.CallingIdentity clearCallingIdentity();
+    method public abstract int delete(@NonNull android.net.Uri, @Nullable String, @Nullable String[]);
+    method public int delete(@NonNull android.net.Uri, @Nullable android.os.Bundle);
+    method public void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Nullable public final android.content.AttributionSource getCallingAttributionSource();
+    method @Nullable public final String getCallingAttributionTag();
+    method @Nullable public final String getCallingPackage();
+    method @Nullable public final String getCallingPackageUnchecked();
+    method @Nullable public final android.content.Context getContext();
+    method @Nullable public final android.content.pm.PathPermission[] getPathPermissions();
+    method @Nullable public final String getReadPermission();
+    method @Nullable public String[] getStreamTypes(@NonNull android.net.Uri, @NonNull String);
+    method @Nullable public abstract String getType(@NonNull android.net.Uri);
+    method @Nullable public final String getWritePermission();
+    method @Nullable public abstract android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues);
+    method @Nullable public android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle);
+    method protected boolean isTemporary();
+    method public void onCallingPackageChanged();
+    method public void onConfigurationChanged(android.content.res.Configuration);
+    method public abstract boolean onCreate();
+    method public void onLowMemory();
+    method public void onTrimMemory(int);
+    method @Nullable public android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @NonNull protected final android.os.ParcelFileDescriptor openFileHelper(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @NonNull public <T> android.os.ParcelFileDescriptor openPipeHelper(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable T, @NonNull android.content.ContentProvider.PipeDataWriter<T>) throws java.io.FileNotFoundException;
+    method @Nullable public android.content.res.AssetFileDescriptor openTypedAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
+    method @Nullable public android.content.res.AssetFileDescriptor openTypedAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public abstract android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String);
+    method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String, @Nullable android.os.CancellationSignal);
+    method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal);
+    method public boolean refresh(android.net.Uri, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal);
+    method @NonNull public final android.content.Context requireContext();
+    method public final void restoreCallingIdentity(@NonNull android.content.ContentProvider.CallingIdentity);
+    method protected final void setPathPermissions(@Nullable android.content.pm.PathPermission[]);
+    method protected final void setReadPermission(@Nullable String);
+    method protected final void setWritePermission(@Nullable String);
+    method public void shutdown();
+    method @Nullable public android.net.Uri uncanonicalize(@NonNull android.net.Uri);
+    method public abstract int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable String, @Nullable String[]);
+    method public int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle);
+  }
+
+  public final class ContentProvider.CallingIdentity {
+  }
+
+  public static interface ContentProvider.PipeDataWriter<T> {
+    method public void writeDataToPipe(@NonNull android.os.ParcelFileDescriptor, @NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable T);
+  }
+
+  public class ContentProviderClient implements java.lang.AutoCloseable {
+    method @NonNull public android.content.ContentProviderResult[] applyBatch(@NonNull java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException, android.os.RemoteException;
+    method @NonNull public android.content.ContentProviderResult[] applyBatch(@NonNull String, @NonNull java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException, android.os.RemoteException;
+    method public int bulkInsert(@NonNull android.net.Uri, @NonNull android.content.ContentValues[]) throws android.os.RemoteException;
+    method @Nullable public android.os.Bundle call(@NonNull String, @Nullable String, @Nullable android.os.Bundle) throws android.os.RemoteException;
+    method @Nullable public android.os.Bundle call(@NonNull String, @NonNull String, @Nullable String, @Nullable android.os.Bundle) throws android.os.RemoteException;
+    method @Nullable public final android.net.Uri canonicalize(@NonNull android.net.Uri) throws android.os.RemoteException;
+    method public void close();
+    method public int delete(@NonNull android.net.Uri, @Nullable String, @Nullable String[]) throws android.os.RemoteException;
+    method public int delete(@NonNull android.net.Uri, @Nullable android.os.Bundle) throws android.os.RemoteException;
+    method @Nullable public android.content.ContentProvider getLocalContentProvider();
+    method @Nullable public String[] getStreamTypes(@NonNull android.net.Uri, @NonNull String) throws android.os.RemoteException;
+    method @Nullable public String getType(@NonNull android.net.Uri) throws android.os.RemoteException;
+    method @Nullable public android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues) throws android.os.RemoteException;
+    method @Nullable public android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle) throws android.os.RemoteException;
+    method @Nullable public android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String) throws android.os.RemoteException;
+    method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String, @Nullable android.os.CancellationSignal) throws android.os.RemoteException;
+    method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], android.os.Bundle, @Nullable android.os.CancellationSignal) throws android.os.RemoteException;
+    method public boolean refresh(android.net.Uri, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws android.os.RemoteException;
+    method @Deprecated public boolean release();
+    method @Nullable public final android.net.Uri uncanonicalize(@NonNull android.net.Uri) throws android.os.RemoteException;
+    method public int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable String, @Nullable String[]) throws android.os.RemoteException;
+    method public int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle) throws android.os.RemoteException;
+  }
+
+  public class ContentProviderOperation implements android.os.Parcelable {
+    method @NonNull public android.content.ContentProviderResult apply(@NonNull android.content.ContentProvider, @NonNull android.content.ContentProviderResult[], int) throws android.content.OperationApplicationException;
+    method public int describeContents();
+    method @NonNull public android.net.Uri getUri();
+    method public boolean isAssertQuery();
+    method public boolean isCall();
+    method public boolean isDelete();
+    method public boolean isExceptionAllowed();
+    method public boolean isInsert();
+    method public boolean isReadOperation();
+    method public boolean isUpdate();
+    method public boolean isWriteOperation();
+    method public boolean isYieldAllowed();
+    method @NonNull public static android.content.ContentProviderOperation.Builder newAssertQuery(@NonNull android.net.Uri);
+    method @NonNull public static android.content.ContentProviderOperation.Builder newCall(@NonNull android.net.Uri, @Nullable String, @Nullable String);
+    method @NonNull public static android.content.ContentProviderOperation.Builder newDelete(@NonNull android.net.Uri);
+    method @NonNull public static android.content.ContentProviderOperation.Builder newInsert(@NonNull android.net.Uri);
+    method @NonNull public static android.content.ContentProviderOperation.Builder newUpdate(@NonNull android.net.Uri);
+    method @Nullable public android.os.Bundle resolveExtrasBackReferences(@NonNull android.content.ContentProviderResult[], int);
+    method @Nullable public String[] resolveSelectionArgsBackReferences(@NonNull android.content.ContentProviderResult[], int);
+    method @Nullable public android.content.ContentValues resolveValueBackReferences(@NonNull android.content.ContentProviderResult[], int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentProviderOperation> CREATOR;
+  }
+
+  public static class ContentProviderOperation.Builder {
+    method @NonNull public android.content.ContentProviderOperation build();
+    method @NonNull public android.content.ContentProviderOperation.Builder withExceptionAllowed(boolean);
+    method @NonNull public android.content.ContentProviderOperation.Builder withExpectedCount(int);
+    method @NonNull public android.content.ContentProviderOperation.Builder withExtra(@NonNull String, @Nullable Object);
+    method @NonNull public android.content.ContentProviderOperation.Builder withExtraBackReference(@NonNull String, int);
+    method @NonNull public android.content.ContentProviderOperation.Builder withExtraBackReference(@NonNull String, int, @NonNull String);
+    method @NonNull public android.content.ContentProviderOperation.Builder withExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.content.ContentProviderOperation.Builder withSelection(@Nullable String, @Nullable String[]);
+    method @NonNull public android.content.ContentProviderOperation.Builder withSelectionBackReference(int, int);
+    method @NonNull public android.content.ContentProviderOperation.Builder withSelectionBackReference(int, int, @NonNull String);
+    method @NonNull public android.content.ContentProviderOperation.Builder withValue(@NonNull String, @Nullable Object);
+    method @NonNull public android.content.ContentProviderOperation.Builder withValueBackReference(@NonNull String, int);
+    method @NonNull public android.content.ContentProviderOperation.Builder withValueBackReference(@NonNull String, int, @NonNull String);
+    method @NonNull public android.content.ContentProviderOperation.Builder withValueBackReferences(@NonNull android.content.ContentValues);
+    method @NonNull public android.content.ContentProviderOperation.Builder withValues(@NonNull android.content.ContentValues);
+    method @NonNull public android.content.ContentProviderOperation.Builder withYieldAllowed(boolean);
+  }
+
+  public class ContentProviderResult implements android.os.Parcelable {
+    ctor public ContentProviderResult(@NonNull android.net.Uri);
+    ctor public ContentProviderResult(int);
+    ctor public ContentProviderResult(@NonNull android.os.Bundle);
+    ctor public ContentProviderResult(@NonNull Throwable);
+    ctor public ContentProviderResult(android.os.Parcel);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentProviderResult> CREATOR;
+    field @Nullable public final Integer count;
+    field @Nullable public final Throwable exception;
+    field @Nullable public final android.os.Bundle extras;
+    field @Nullable public final android.net.Uri uri;
+  }
+
+  public class ContentQueryMap extends java.util.Observable {
+    ctor public ContentQueryMap(android.database.Cursor, String, boolean, android.os.Handler);
+    method public void close();
+    method public java.util.Map<java.lang.String,android.content.ContentValues> getRows();
+    method public android.content.ContentValues getValues(String);
+    method public void requery();
+    method public void setKeepUpdated(boolean);
+  }
+
+  public abstract class ContentResolver {
+    ctor public ContentResolver(@Nullable android.content.Context);
+    method @Nullable public final android.content.ContentProviderClient acquireContentProviderClient(@NonNull android.net.Uri);
+    method @Nullable public final android.content.ContentProviderClient acquireContentProviderClient(@NonNull String);
+    method @Nullable public final android.content.ContentProviderClient acquireUnstableContentProviderClient(@NonNull android.net.Uri);
+    method @Nullable public final android.content.ContentProviderClient acquireUnstableContentProviderClient(@NonNull String);
+    method public static void addPeriodicSync(android.accounts.Account, String, android.os.Bundle, long);
+    method public static Object addStatusChangeListener(int, android.content.SyncStatusObserver);
+    method @NonNull public android.content.ContentProviderResult[] applyBatch(@NonNull String, @NonNull java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException, android.os.RemoteException;
+    method public final int bulkInsert(@NonNull @RequiresPermission.Write android.net.Uri, @NonNull android.content.ContentValues[]);
+    method @Nullable public final android.os.Bundle call(@NonNull android.net.Uri, @NonNull String, @Nullable String, @Nullable android.os.Bundle);
+    method @Nullable public final android.os.Bundle call(@NonNull String, @NonNull String, @Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated public void cancelSync(android.net.Uri);
+    method public static void cancelSync(android.accounts.Account, String);
+    method public static void cancelSync(android.content.SyncRequest);
+    method @Nullable public final android.net.Uri canonicalize(@NonNull android.net.Uri);
+    method public final int delete(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable String, @Nullable String[]);
+    method public final int delete(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.os.Bundle);
+    method @Deprecated public static android.content.SyncInfo getCurrentSync();
+    method public static java.util.List<android.content.SyncInfo> getCurrentSyncs();
+    method public static int getIsSyncable(android.accounts.Account, String);
+    method public static boolean getMasterSyncAutomatically();
+    method @NonNull public java.util.List<android.content.UriPermission> getOutgoingPersistedUriPermissions();
+    method public static java.util.List<android.content.PeriodicSync> getPeriodicSyncs(android.accounts.Account, String);
+    method @NonNull public java.util.List<android.content.UriPermission> getPersistedUriPermissions();
+    method @Nullable public String[] getStreamTypes(@NonNull android.net.Uri, @NonNull String);
+    method public static android.content.SyncAdapterType[] getSyncAdapterTypes();
+    method public static boolean getSyncAutomatically(android.accounts.Account, String);
+    method @Nullable public final String getType(@NonNull android.net.Uri);
+    method @NonNull public final android.content.ContentResolver.MimeTypeInfo getTypeInfo(@NonNull String);
+    method @Nullable public final android.net.Uri insert(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues);
+    method @Nullable public final android.net.Uri insert(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle);
+    method public static boolean isSyncActive(android.accounts.Account, String);
+    method public static boolean isSyncPending(android.accounts.Account, String);
+    method @NonNull public android.graphics.Bitmap loadThumbnail(@NonNull android.net.Uri, @NonNull android.util.Size, @Nullable android.os.CancellationSignal) throws java.io.IOException;
+    method public void notifyChange(@NonNull android.net.Uri, @Nullable android.database.ContentObserver);
+    method @Deprecated public void notifyChange(@NonNull android.net.Uri, @Nullable android.database.ContentObserver, boolean);
+    method public void notifyChange(@NonNull android.net.Uri, @Nullable android.database.ContentObserver, int);
+    method public void notifyChange(@NonNull java.util.Collection<android.net.Uri>, @Nullable android.database.ContentObserver, int);
+    method @Nullable public final android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final android.os.ParcelFileDescriptor openFileDescriptor(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public final android.os.ParcelFileDescriptor openFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final java.io.InputStream openInputStream(@NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method @Nullable public final java.io.OutputStream openOutputStream(@NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method @Nullable public final java.io.OutputStream openOutputStream(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final android.database.Cursor query(@NonNull @RequiresPermission.Read android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String);
+    method @Nullable public final android.database.Cursor query(@NonNull @RequiresPermission.Read android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String, @Nullable android.os.CancellationSignal);
+    method @Nullable public final android.database.Cursor query(@NonNull @RequiresPermission.Read android.net.Uri, @Nullable String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal);
+    method public final boolean refresh(@NonNull android.net.Uri, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal);
+    method public final void registerContentObserver(@NonNull android.net.Uri, boolean, @NonNull android.database.ContentObserver);
+    method public void releasePersistableUriPermission(@NonNull android.net.Uri, int);
+    method public static void removePeriodicSync(android.accounts.Account, String, android.os.Bundle);
+    method public static void removeStatusChangeListener(Object);
+    method public static void requestSync(android.accounts.Account, String, android.os.Bundle);
+    method public static void requestSync(android.content.SyncRequest);
+    method public static void setIsSyncable(android.accounts.Account, String, int);
+    method public static void setMasterSyncAutomatically(boolean);
+    method public static void setSyncAutomatically(android.accounts.Account, String, boolean);
+    method @Deprecated public void startSync(android.net.Uri, android.os.Bundle);
+    method public void takePersistableUriPermission(@NonNull android.net.Uri, int);
+    method @Nullable public final android.net.Uri uncanonicalize(@NonNull android.net.Uri);
+    method public final void unregisterContentObserver(@NonNull android.database.ContentObserver);
+    method public final int update(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues, @Nullable String, @Nullable String[]);
+    method public final int update(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle);
+    method public static void validateSyncExtrasBundle(android.os.Bundle);
+    method @NonNull public static android.content.ContentResolver wrap(@NonNull android.content.ContentProvider);
+    method @NonNull public static android.content.ContentResolver wrap(@NonNull android.content.ContentProviderClient);
+    field public static final String ANY_CURSOR_ITEM_TYPE = "vnd.android.cursor.item/*";
+    field public static final String CURSOR_DIR_BASE_TYPE = "vnd.android.cursor.dir";
+    field public static final String CURSOR_ITEM_BASE_TYPE = "vnd.android.cursor.item";
+    field public static final String EXTRA_HONORED_ARGS = "android.content.extra.HONORED_ARGS";
+    field public static final String EXTRA_REFRESH_SUPPORTED = "android.content.extra.REFRESH_SUPPORTED";
+    field public static final String EXTRA_SIZE = "android.content.extra.SIZE";
+    field public static final String EXTRA_TOTAL_COUNT = "android.content.extra.TOTAL_COUNT";
+    field public static final int NOTIFY_DELETE = 16; // 0x10
+    field public static final int NOTIFY_INSERT = 4; // 0x4
+    field public static final int NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS = 2; // 0x2
+    field public static final int NOTIFY_SYNC_TO_NETWORK = 1; // 0x1
+    field public static final int NOTIFY_UPDATE = 8; // 0x8
+    field public static final String QUERY_ARG_GROUP_COLUMNS = "android:query-arg-group-columns";
+    field public static final String QUERY_ARG_LIMIT = "android:query-arg-limit";
+    field public static final String QUERY_ARG_OFFSET = "android:query-arg-offset";
+    field public static final String QUERY_ARG_SORT_COLLATION = "android:query-arg-sort-collation";
+    field public static final String QUERY_ARG_SORT_COLUMNS = "android:query-arg-sort-columns";
+    field public static final String QUERY_ARG_SORT_DIRECTION = "android:query-arg-sort-direction";
+    field public static final String QUERY_ARG_SORT_LOCALE = "android:query-arg-sort-locale";
+    field public static final String QUERY_ARG_SQL_GROUP_BY = "android:query-arg-sql-group-by";
+    field public static final String QUERY_ARG_SQL_HAVING = "android:query-arg-sql-having";
+    field public static final String QUERY_ARG_SQL_LIMIT = "android:query-arg-sql-limit";
+    field public static final String QUERY_ARG_SQL_SELECTION = "android:query-arg-sql-selection";
+    field public static final String QUERY_ARG_SQL_SELECTION_ARGS = "android:query-arg-sql-selection-args";
+    field public static final String QUERY_ARG_SQL_SORT_ORDER = "android:query-arg-sql-sort-order";
+    field public static final int QUERY_SORT_DIRECTION_ASCENDING = 0; // 0x0
+    field public static final int QUERY_SORT_DIRECTION_DESCENDING = 1; // 0x1
+    field public static final String SCHEME_ANDROID_RESOURCE = "android.resource";
+    field public static final String SCHEME_CONTENT = "content";
+    field public static final String SCHEME_FILE = "file";
+    field @Deprecated public static final String SYNC_EXTRAS_ACCOUNT = "account";
+    field public static final String SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS = "discard_deletions";
+    field public static final String SYNC_EXTRAS_DO_NOT_RETRY = "do_not_retry";
+    field public static final String SYNC_EXTRAS_EXPEDITED = "expedited";
+    field @Deprecated public static final String SYNC_EXTRAS_FORCE = "force";
+    field public static final String SYNC_EXTRAS_IGNORE_BACKOFF = "ignore_backoff";
+    field public static final String SYNC_EXTRAS_IGNORE_SETTINGS = "ignore_settings";
+    field public static final String SYNC_EXTRAS_INITIALIZE = "initialize";
+    field public static final String SYNC_EXTRAS_MANUAL = "force";
+    field public static final String SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS = "deletions_override";
+    field public static final String SYNC_EXTRAS_REQUIRE_CHARGING = "require_charging";
+    field public static final String SYNC_EXTRAS_SCHEDULE_AS_EXPEDITED_JOB = "schedule_as_expedited_job";
+    field public static final String SYNC_EXTRAS_UPLOAD = "upload";
+    field public static final int SYNC_OBSERVER_TYPE_ACTIVE = 4; // 0x4
+    field public static final int SYNC_OBSERVER_TYPE_PENDING = 2; // 0x2
+    field public static final int SYNC_OBSERVER_TYPE_SETTINGS = 1; // 0x1
+  }
+
+  public static final class ContentResolver.MimeTypeInfo {
+    method @NonNull public CharSequence getContentDescription();
+    method @NonNull public android.graphics.drawable.Icon getIcon();
+    method @NonNull public CharSequence getLabel();
+  }
+
+  public class ContentUris {
+    ctor public ContentUris();
+    method @NonNull public static android.net.Uri.Builder appendId(@NonNull android.net.Uri.Builder, long);
+    method public static long parseId(@NonNull android.net.Uri);
+    method @NonNull public static android.net.Uri removeId(@NonNull android.net.Uri);
+    method @NonNull public static android.net.Uri withAppendedId(@NonNull android.net.Uri, long);
+  }
+
+  public final class ContentValues implements android.os.Parcelable {
+    ctor public ContentValues();
+    ctor public ContentValues(int);
+    ctor public ContentValues(android.content.ContentValues);
+    method public void clear();
+    method public boolean containsKey(String);
+    method public int describeContents();
+    method public Object get(String);
+    method public Boolean getAsBoolean(String);
+    method public Byte getAsByte(String);
+    method public byte[] getAsByteArray(String);
+    method public Double getAsDouble(String);
+    method public Float getAsFloat(String);
+    method public Integer getAsInteger(String);
+    method public Long getAsLong(String);
+    method public Short getAsShort(String);
+    method public String getAsString(String);
+    method public boolean isEmpty();
+    method public java.util.Set<java.lang.String> keySet();
+    method public void put(String, String);
+    method public void put(String, Byte);
+    method public void put(String, Short);
+    method public void put(String, Integer);
+    method public void put(String, Long);
+    method public void put(String, Float);
+    method public void put(String, Double);
+    method public void put(String, Boolean);
+    method public void put(String, byte[]);
+    method public void putAll(android.content.ContentValues);
+    method public void putNull(String);
+    method public void remove(String);
+    method public int size();
+    method public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> valueSet();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentValues> CREATOR;
+    field public static final String TAG = "ContentValues";
+  }
+
+  public abstract class Context {
+    ctor public Context();
+    method public boolean bindIsolatedService(@NonNull @RequiresPermission android.content.Intent, int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.content.ServiceConnection);
+    method public abstract boolean bindService(@RequiresPermission android.content.Intent, @NonNull android.content.ServiceConnection, int);
+    method public boolean bindService(@NonNull @RequiresPermission android.content.Intent, int, @NonNull java.util.concurrent.Executor, @NonNull android.content.ServiceConnection);
+    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.INTERACT_ACROSS_PROFILES}) public boolean bindServiceAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.content.ServiceConnection, int, @NonNull android.os.UserHandle);
+    method @CheckResult(suggest="#enforceCallingOrSelfPermission(String,String)") public abstract int checkCallingOrSelfPermission(@NonNull String);
+    method @CheckResult(suggest="#enforceCallingOrSelfUriPermission(Uri,int,String)") public abstract int checkCallingOrSelfUriPermission(android.net.Uri, int);
+    method @NonNull public int[] checkCallingOrSelfUriPermissions(@NonNull java.util.List<android.net.Uri>, int);
+    method @CheckResult(suggest="#enforceCallingPermission(String,String)") public abstract int checkCallingPermission(@NonNull String);
+    method @CheckResult(suggest="#enforceCallingUriPermission(Uri,int,String)") public abstract int checkCallingUriPermission(android.net.Uri, int);
+    method @NonNull public int[] checkCallingUriPermissions(@NonNull java.util.List<android.net.Uri>, int);
+    method @CheckResult(suggest="#enforcePermission(String,int,int,String)") public abstract int checkPermission(@NonNull String, int, int);
+    method public abstract int checkSelfPermission(@NonNull String);
+    method @CheckResult(suggest="#enforceUriPermission(Uri,int,int,String)") public abstract int checkUriPermission(android.net.Uri, int, int, int);
+    method @CheckResult(suggest="#enforceUriPermission(Uri,String,String,int,int,int,String)") public abstract int checkUriPermission(@Nullable android.net.Uri, @Nullable String, @Nullable String, int, int, int);
+    method @NonNull public int[] checkUriPermissions(@NonNull java.util.List<android.net.Uri>, int, int, int);
+    method @Deprecated public abstract void clearWallpaper() throws java.io.IOException;
+    method @NonNull public android.content.Context createAttributionContext(@Nullable String);
+    method public abstract android.content.Context createConfigurationContext(@NonNull android.content.res.Configuration);
+    method @NonNull public android.content.Context createContext(@NonNull android.content.ContextParams);
+    method public abstract android.content.Context createContextForSplit(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract android.content.Context createDeviceProtectedStorageContext();
+    method @DisplayContext public abstract android.content.Context createDisplayContext(@NonNull android.view.Display);
+    method public abstract android.content.Context createPackageContext(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @UiContext public android.content.Context createWindowContext(int, @Nullable android.os.Bundle);
+    method @NonNull @UiContext public android.content.Context createWindowContext(@NonNull android.view.Display, int, @Nullable android.os.Bundle);
+    method public abstract String[] databaseList();
+    method public abstract boolean deleteDatabase(String);
+    method public abstract boolean deleteFile(String);
+    method public abstract boolean deleteSharedPreferences(String);
+    method public abstract void enforceCallingOrSelfPermission(@NonNull String, @Nullable String);
+    method public abstract void enforceCallingOrSelfUriPermission(android.net.Uri, int, String);
+    method public abstract void enforceCallingPermission(@NonNull String, @Nullable String);
+    method public abstract void enforceCallingUriPermission(android.net.Uri, int, String);
+    method public abstract void enforcePermission(@NonNull String, int, int, @Nullable String);
+    method public abstract void enforceUriPermission(android.net.Uri, int, int, int, String);
+    method public abstract void enforceUriPermission(@Nullable android.net.Uri, @Nullable String, @Nullable String, int, int, int, @Nullable String);
+    method public abstract String[] fileList();
+    method public abstract android.content.Context getApplicationContext();
+    method public abstract android.content.pm.ApplicationInfo getApplicationInfo();
+    method public abstract android.content.res.AssetManager getAssets();
+    method @NonNull public android.content.AttributionSource getAttributionSource();
+    method @Nullable public String getAttributionTag();
+    method public abstract java.io.File getCacheDir();
+    method public abstract ClassLoader getClassLoader();
+    method public abstract java.io.File getCodeCacheDir();
+    method @ColorInt public final int getColor(@ColorRes int);
+    method @NonNull public final android.content.res.ColorStateList getColorStateList(@ColorRes int);
+    method public abstract android.content.ContentResolver getContentResolver();
+    method public abstract java.io.File getDataDir();
+    method public abstract java.io.File getDatabasePath(String);
+    method public abstract java.io.File getDir(String, int);
+    method @Nullable public android.view.Display getDisplay();
+    method @Nullable public final android.graphics.drawable.Drawable getDrawable(@DrawableRes int);
+    method @Nullable public abstract java.io.File getExternalCacheDir();
+    method public abstract java.io.File[] getExternalCacheDirs();
+    method @Nullable public abstract java.io.File getExternalFilesDir(@Nullable String);
+    method public abstract java.io.File[] getExternalFilesDirs(String);
+    method @Deprecated public abstract java.io.File[] getExternalMediaDirs();
+    method public abstract java.io.File getFileStreamPath(String);
+    method public abstract java.io.File getFilesDir();
+    method public java.util.concurrent.Executor getMainExecutor();
+    method public abstract android.os.Looper getMainLooper();
+    method public abstract java.io.File getNoBackupFilesDir();
+    method public abstract java.io.File getObbDir();
+    method public abstract java.io.File[] getObbDirs();
+    method @NonNull public String getOpPackageName();
+    method public abstract String getPackageCodePath();
+    method public abstract android.content.pm.PackageManager getPackageManager();
+    method public abstract String getPackageName();
+    method public abstract String getPackageResourcePath();
+    method @Nullable public android.content.ContextParams getParams();
+    method public abstract android.content.res.Resources getResources();
+    method public abstract android.content.SharedPreferences getSharedPreferences(String, int);
+    method @NonNull public final String getString(@StringRes int);
+    method @NonNull public final String getString(@StringRes int, java.lang.Object...);
+    method public abstract Object getSystemService(@NonNull String);
+    method public final <T> T getSystemService(@NonNull Class<T>);
+    method @Nullable public abstract String getSystemServiceName(@NonNull Class<?>);
+    method @NonNull public final CharSequence getText(@StringRes int);
+    method public abstract android.content.res.Resources.Theme getTheme();
+    method @Deprecated public abstract android.graphics.drawable.Drawable getWallpaper();
+    method @Deprecated public abstract int getWallpaperDesiredMinimumHeight();
+    method @Deprecated public abstract int getWallpaperDesiredMinimumWidth();
+    method public abstract void grantUriPermission(String, android.net.Uri, int);
+    method public abstract boolean isDeviceProtectedStorage();
+    method public boolean isRestricted();
+    method public boolean isUiContext();
+    method public abstract boolean moveDatabaseFrom(android.content.Context, String);
+    method public abstract boolean moveSharedPreferencesFrom(android.content.Context, String);
+    method @NonNull public final android.content.res.TypedArray obtainStyledAttributes(@NonNull @StyleableRes int[]);
+    method @NonNull public final android.content.res.TypedArray obtainStyledAttributes(@StyleRes int, @NonNull @StyleableRes int[]) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public final android.content.res.TypedArray obtainStyledAttributes(@Nullable android.util.AttributeSet, @NonNull @StyleableRes int[]);
+    method @NonNull public final android.content.res.TypedArray obtainStyledAttributes(@Nullable android.util.AttributeSet, @NonNull @StyleableRes int[], @AttrRes int, @StyleRes int);
+    method public abstract java.io.FileInputStream openFileInput(String) throws java.io.FileNotFoundException;
+    method public abstract java.io.FileOutputStream openFileOutput(String, int) throws java.io.FileNotFoundException;
+    method public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(String, int, android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, @Nullable android.database.DatabaseErrorHandler);
+    method @Deprecated public abstract android.graphics.drawable.Drawable peekWallpaper();
+    method public void registerComponentCallbacks(android.content.ComponentCallbacks);
+    method @Nullable public abstract android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter);
+    method @Nullable public abstract android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter, int);
+    method @Nullable public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler);
+    method @Nullable public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BROADCAST_STICKY) public abstract void removeStickyBroadcast(@RequiresPermission android.content.Intent);
+    method @Deprecated @RequiresPermission(allOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.BROADCAST_STICKY}) public abstract void removeStickyBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle);
+    method public abstract void revokeUriPermission(android.net.Uri, int);
+    method public abstract void revokeUriPermission(String, android.net.Uri, int);
+    method public abstract void sendBroadcast(@RequiresPermission android.content.Intent);
+    method public abstract void sendBroadcast(@RequiresPermission android.content.Intent, @Nullable String);
+    method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle);
+    method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, @Nullable String);
+    method public void sendBroadcastWithMultiplePermissions(@NonNull android.content.Intent, @NonNull String[]);
+    method public abstract void sendOrderedBroadcast(@RequiresPermission android.content.Intent, @Nullable String);
+    method public abstract void sendOrderedBroadcast(@NonNull @RequiresPermission android.content.Intent, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method public void sendOrderedBroadcast(@NonNull android.content.Intent, @Nullable String, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public abstract void sendOrderedBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, @Nullable String, android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BROADCAST_STICKY) public abstract void sendStickyBroadcast(@RequiresPermission android.content.Intent);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BROADCAST_STICKY) public void sendStickyBroadcast(@NonNull @RequiresPermission android.content.Intent, @Nullable android.os.Bundle);
+    method @Deprecated @RequiresPermission(allOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.BROADCAST_STICKY}) public abstract void sendStickyBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BROADCAST_STICKY) public abstract void sendStickyOrderedBroadcast(@RequiresPermission android.content.Intent, android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated @RequiresPermission(allOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.BROADCAST_STICKY}) public abstract void sendStickyOrderedBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method public abstract void setTheme(@StyleRes int);
+    method @Deprecated public abstract void setWallpaper(android.graphics.Bitmap) throws java.io.IOException;
+    method @Deprecated public abstract void setWallpaper(java.io.InputStream) throws java.io.IOException;
+    method public abstract void startActivities(@RequiresPermission android.content.Intent[]);
+    method public abstract void startActivities(@RequiresPermission android.content.Intent[], android.os.Bundle);
+    method public abstract void startActivity(@RequiresPermission android.content.Intent);
+    method public abstract void startActivity(@RequiresPermission android.content.Intent, @Nullable android.os.Bundle);
+    method @Nullable public abstract android.content.ComponentName startForegroundService(android.content.Intent);
+    method public abstract boolean startInstrumentation(@NonNull android.content.ComponentName, @Nullable String, @Nullable android.os.Bundle);
+    method public abstract void startIntentSender(android.content.IntentSender, @Nullable android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+    method public abstract void startIntentSender(android.content.IntentSender, @Nullable android.content.Intent, int, int, int, @Nullable android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method @Nullable public abstract android.content.ComponentName startService(android.content.Intent);
+    method public abstract boolean stopService(android.content.Intent);
+    method public abstract void unbindService(@NonNull android.content.ServiceConnection);
+    method public void unregisterComponentCallbacks(android.content.ComponentCallbacks);
+    method public abstract void unregisterReceiver(android.content.BroadcastReceiver);
+    method public void updateServiceGroup(@NonNull android.content.ServiceConnection, int, int);
+    field public static final String ACCESSIBILITY_SERVICE = "accessibility";
+    field public static final String ACCOUNT_SERVICE = "account";
+    field public static final String ACTIVITY_SERVICE = "activity";
+    field public static final String ALARM_SERVICE = "alarm";
+    field public static final String APPWIDGET_SERVICE = "appwidget";
+    field public static final String APP_OPS_SERVICE = "appops";
+    field public static final String APP_SEARCH_SERVICE = "app_search";
+    field public static final String AUDIO_SERVICE = "audio";
+    field public static final String BATTERY_SERVICE = "batterymanager";
+    field public static final int BIND_ABOVE_CLIENT = 8; // 0x8
+    field public static final int BIND_ADJUST_WITH_ACTIVITY = 128; // 0x80
+    field public static final int BIND_ALLOW_OOM_MANAGEMENT = 16; // 0x10
+    field public static final int BIND_AUTO_CREATE = 1; // 0x1
+    field public static final int BIND_DEBUG_UNBIND = 2; // 0x2
+    field public static final int BIND_EXTERNAL_SERVICE = -2147483648; // 0x80000000
+    field public static final int BIND_IMPORTANT = 64; // 0x40
+    field public static final int BIND_INCLUDE_CAPABILITIES = 4096; // 0x1000
+    field public static final int BIND_NOT_FOREGROUND = 4; // 0x4
+    field public static final int BIND_NOT_PERCEPTIBLE = 256; // 0x100
+    field public static final int BIND_WAIVE_PRIORITY = 32; // 0x20
+    field public static final String BIOMETRIC_SERVICE = "biometric";
+    field public static final String BLOB_STORE_SERVICE = "blob_store";
+    field public static final String BLUETOOTH_SERVICE = "bluetooth";
+    field public static final String BUGREPORT_SERVICE = "bugreport";
+    field public static final String CAMERA_SERVICE = "camera";
+    field public static final String CAPTIONING_SERVICE = "captioning";
+    field public static final String CARRIER_CONFIG_SERVICE = "carrier_config";
+    field public static final String CLIPBOARD_SERVICE = "clipboard";
+    field public static final String COMPANION_DEVICE_SERVICE = "companiondevice";
+    field public static final String CONNECTIVITY_DIAGNOSTICS_SERVICE = "connectivity_diagnostics";
+    field public static final String CONNECTIVITY_SERVICE = "connectivity";
+    field public static final String CONSUMER_IR_SERVICE = "consumer_ir";
+    field public static final int CONTEXT_IGNORE_SECURITY = 2; // 0x2
+    field public static final int CONTEXT_INCLUDE_CODE = 1; // 0x1
+    field public static final int CONTEXT_RESTRICTED = 4; // 0x4
+    field public static final String CROSS_PROFILE_APPS_SERVICE = "crossprofileapps";
+    field public static final String DEVICE_POLICY_SERVICE = "device_policy";
+    field public static final String DISPLAY_HASH_SERVICE = "display_hash";
+    field public static final String DISPLAY_SERVICE = "display";
+    field public static final String DOMAIN_VERIFICATION_SERVICE = "domain_verification";
+    field public static final String DOWNLOAD_SERVICE = "download";
+    field public static final String DROPBOX_SERVICE = "dropbox";
+    field public static final String EUICC_SERVICE = "euicc";
+    field public static final String FILE_INTEGRITY_SERVICE = "file_integrity";
+    field public static final String FINGERPRINT_SERVICE = "fingerprint";
+    field public static final String GAME_SERVICE = "game";
+    field public static final String HARDWARE_PROPERTIES_SERVICE = "hardware_properties";
+    field public static final String INPUT_METHOD_SERVICE = "input_method";
+    field public static final String INPUT_SERVICE = "input";
+    field public static final String IPSEC_SERVICE = "ipsec";
+    field public static final String JOB_SCHEDULER_SERVICE = "jobscheduler";
+    field public static final String KEYGUARD_SERVICE = "keyguard";
+    field public static final String LAUNCHER_APPS_SERVICE = "launcherapps";
+    field @UiContext public static final String LAYOUT_INFLATER_SERVICE = "layout_inflater";
+    field public static final String LOCATION_SERVICE = "location";
+    field public static final String MEDIA_COMMUNICATION_SERVICE = "media_communication";
+    field public static final String MEDIA_METRICS_SERVICE = "media_metrics";
+    field public static final String MEDIA_PROJECTION_SERVICE = "media_projection";
+    field public static final String MEDIA_ROUTER_SERVICE = "media_router";
+    field public static final String MEDIA_SESSION_SERVICE = "media_session";
+    field public static final String MIDI_SERVICE = "midi";
+    field public static final int MODE_APPEND = 32768; // 0x8000
+    field public static final int MODE_ENABLE_WRITE_AHEAD_LOGGING = 8; // 0x8
+    field @Deprecated public static final int MODE_MULTI_PROCESS = 4; // 0x4
+    field public static final int MODE_NO_LOCALIZED_COLLATORS = 16; // 0x10
+    field public static final int MODE_PRIVATE = 0; // 0x0
+    field @Deprecated public static final int MODE_WORLD_READABLE = 1; // 0x1
+    field @Deprecated public static final int MODE_WORLD_WRITEABLE = 2; // 0x2
+    field public static final String NETWORK_STATS_SERVICE = "netstats";
+    field public static final String NFC_SERVICE = "nfc";
+    field public static final String NOTIFICATION_SERVICE = "notification";
+    field public static final String NSD_SERVICE = "servicediscovery";
+    field public static final String PEOPLE_SERVICE = "people";
+    field public static final String PERFORMANCE_HINT_SERVICE = "performance_hint";
+    field public static final String POWER_SERVICE = "power";
+    field public static final String PRINT_SERVICE = "print";
+    field public static final int RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; // 0x1
+    field public static final String RESTRICTIONS_SERVICE = "restrictions";
+    field public static final String ROLE_SERVICE = "role";
+    field public static final String SEARCH_SERVICE = "search";
+    field public static final String SENSOR_SERVICE = "sensor";
+    field public static final String SHORTCUT_SERVICE = "shortcut";
+    field public static final String STORAGE_SERVICE = "storage";
+    field public static final String STORAGE_STATS_SERVICE = "storagestats";
+    field public static final String SYSTEM_HEALTH_SERVICE = "systemhealth";
+    field public static final String TELECOM_SERVICE = "telecom";
+    field public static final String TELEPHONY_IMS_SERVICE = "telephony_ims";
+    field public static final String TELEPHONY_SERVICE = "phone";
+    field public static final String TELEPHONY_SUBSCRIPTION_SERVICE = "telephony_subscription_service";
+    field public static final String TEXT_CLASSIFICATION_SERVICE = "textclassification";
+    field public static final String TEXT_SERVICES_MANAGER_SERVICE = "textservices";
+    field public static final String TV_INPUT_SERVICE = "tv_input";
+    field public static final String UI_MODE_SERVICE = "uimode";
+    field public static final String USAGE_STATS_SERVICE = "usagestats";
+    field public static final String USB_SERVICE = "usb";
+    field public static final String USER_SERVICE = "user";
+    field public static final String VIBRATOR_MANAGER_SERVICE = "vibrator_manager";
+    field @Deprecated public static final String VIBRATOR_SERVICE = "vibrator";
+    field public static final String VPN_MANAGEMENT_SERVICE = "vpn_management";
+    field @UiContext public static final String WALLPAPER_SERVICE = "wallpaper";
+    field public static final String WIFI_AWARE_SERVICE = "wifiaware";
+    field public static final String WIFI_P2P_SERVICE = "wifip2p";
+    field public static final String WIFI_RTT_RANGING_SERVICE = "wifirtt";
+    field public static final String WIFI_SERVICE = "wifi";
+    field @UiContext public static final String WINDOW_SERVICE = "window";
+  }
+
+  public final class ContextParams {
+    method @Nullable public String getAttributionTag();
+    method @Nullable public android.content.AttributionSource getNextAttributionSource();
+  }
+
+  public static final class ContextParams.Builder {
+    ctor public ContextParams.Builder();
+    ctor public ContextParams.Builder(@NonNull android.content.ContextParams);
+    method @NonNull public android.content.ContextParams build();
+    method @NonNull public android.content.ContextParams.Builder setAttributionTag(@Nullable String);
+    method @NonNull public android.content.ContextParams.Builder setNextAttributionSource(@Nullable android.content.AttributionSource);
+  }
+
+  public class ContextWrapper extends android.content.Context {
+    ctor public ContextWrapper(android.content.Context);
+    method protected void attachBaseContext(android.content.Context);
+    method public boolean bindService(android.content.Intent, android.content.ServiceConnection, int);
+    method public int checkCallingOrSelfPermission(String);
+    method public int checkCallingOrSelfUriPermission(android.net.Uri, int);
+    method public int checkCallingPermission(String);
+    method public int checkCallingUriPermission(android.net.Uri, int);
+    method public int checkPermission(String, int, int);
+    method public int checkSelfPermission(String);
+    method public int checkUriPermission(android.net.Uri, int, int, int);
+    method public int checkUriPermission(@Nullable android.net.Uri, @Nullable String, @Nullable String, int, int, int);
+    method @Deprecated public void clearWallpaper() throws java.io.IOException;
+    method public android.content.Context createConfigurationContext(android.content.res.Configuration);
+    method public android.content.Context createContextForSplit(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public android.content.Context createDeviceProtectedStorageContext();
+    method public android.content.Context createDisplayContext(android.view.Display);
+    method public android.content.Context createPackageContext(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public String[] databaseList();
+    method public boolean deleteDatabase(String);
+    method public boolean deleteFile(String);
+    method public boolean deleteSharedPreferences(String);
+    method public void enforceCallingOrSelfPermission(String, @Nullable String);
+    method public void enforceCallingOrSelfUriPermission(android.net.Uri, int, String);
+    method public void enforceCallingPermission(String, @Nullable String);
+    method public void enforceCallingUriPermission(android.net.Uri, int, String);
+    method public void enforcePermission(String, int, int, @Nullable String);
+    method public void enforceUriPermission(android.net.Uri, int, int, int, String);
+    method public void enforceUriPermission(@Nullable android.net.Uri, @Nullable String, @Nullable String, int, int, int, @Nullable String);
+    method public String[] fileList();
+    method public android.content.Context getApplicationContext();
+    method public android.content.pm.ApplicationInfo getApplicationInfo();
+    method public android.content.res.AssetManager getAssets();
+    method public android.content.Context getBaseContext();
+    method public java.io.File getCacheDir();
+    method public ClassLoader getClassLoader();
+    method public java.io.File getCodeCacheDir();
+    method public android.content.ContentResolver getContentResolver();
+    method public java.io.File getDataDir();
+    method public java.io.File getDatabasePath(String);
+    method public java.io.File getDir(String, int);
+    method @Nullable public java.io.File getExternalCacheDir();
+    method public java.io.File[] getExternalCacheDirs();
+    method @Nullable public java.io.File getExternalFilesDir(@Nullable String);
+    method public java.io.File[] getExternalFilesDirs(String);
+    method public java.io.File[] getExternalMediaDirs();
+    method public java.io.File getFileStreamPath(String);
+    method public java.io.File getFilesDir();
+    method public android.os.Looper getMainLooper();
+    method public java.io.File getNoBackupFilesDir();
+    method public java.io.File getObbDir();
+    method public java.io.File[] getObbDirs();
+    method public String getPackageCodePath();
+    method public android.content.pm.PackageManager getPackageManager();
+    method public String getPackageName();
+    method public String getPackageResourcePath();
+    method public android.content.res.Resources getResources();
+    method public android.content.SharedPreferences getSharedPreferences(String, int);
+    method public Object getSystemService(String);
+    method public String getSystemServiceName(Class<?>);
+    method public android.content.res.Resources.Theme getTheme();
+    method @Deprecated public android.graphics.drawable.Drawable getWallpaper();
+    method @Deprecated public int getWallpaperDesiredMinimumHeight();
+    method @Deprecated public int getWallpaperDesiredMinimumWidth();
+    method public void grantUriPermission(String, android.net.Uri, int);
+    method public boolean isDeviceProtectedStorage();
+    method public boolean moveDatabaseFrom(android.content.Context, String);
+    method public boolean moveSharedPreferencesFrom(android.content.Context, String);
+    method public java.io.FileInputStream openFileInput(String) throws java.io.FileNotFoundException;
+    method public java.io.FileOutputStream openFileOutput(String, int) throws java.io.FileNotFoundException;
+    method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(String, int, android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, @Nullable android.database.DatabaseErrorHandler);
+    method @Deprecated public android.graphics.drawable.Drawable peekWallpaper();
+    method public android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter);
+    method public android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter, int);
+    method public android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler);
+    method public android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler, int);
+    method @Deprecated public void removeStickyBroadcast(android.content.Intent);
+    method @Deprecated public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+    method public void revokeUriPermission(android.net.Uri, int);
+    method public void revokeUriPermission(String, android.net.Uri, int);
+    method public void sendBroadcast(android.content.Intent);
+    method public void sendBroadcast(android.content.Intent, @Nullable String);
+    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, String);
+    method public void sendOrderedBroadcast(android.content.Intent, @Nullable String);
+    method public void sendOrderedBroadcast(android.content.Intent, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method public void sendOrderedBroadcast(@NonNull @RequiresPermission android.content.Intent, int, @Nullable String, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, @Nullable String, @Nullable android.os.Bundle, @Nullable android.os.Bundle);
+    method public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated public void sendStickyBroadcast(android.content.Intent);
+    method @Deprecated public void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+    method @Deprecated public void sendStickyOrderedBroadcast(android.content.Intent, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated public void sendStickyOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method public void setTheme(int);
+    method @Deprecated public void setWallpaper(android.graphics.Bitmap) throws java.io.IOException;
+    method @Deprecated public void setWallpaper(java.io.InputStream) throws java.io.IOException;
+    method public void startActivities(android.content.Intent[]);
+    method public void startActivities(android.content.Intent[], @Nullable android.os.Bundle);
+    method public void startActivity(android.content.Intent);
+    method public void startActivity(android.content.Intent, @Nullable android.os.Bundle);
+    method @Nullable public android.content.ComponentName startForegroundService(android.content.Intent);
+    method public boolean startInstrumentation(android.content.ComponentName, @Nullable String, @Nullable android.os.Bundle);
+    method public void startIntentSender(android.content.IntentSender, @Nullable android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+    method public void startIntentSender(android.content.IntentSender, @Nullable android.content.Intent, int, int, int, @Nullable android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method @Nullable public android.content.ComponentName startService(android.content.Intent);
+    method public boolean stopService(android.content.Intent);
+    method public void unbindService(android.content.ServiceConnection);
+    method public void unregisterReceiver(android.content.BroadcastReceiver);
+  }
+
+  @Deprecated public class CursorLoader extends android.content.AsyncTaskLoader<android.database.Cursor> {
+    ctor @Deprecated public CursorLoader(android.content.Context);
+    ctor @Deprecated public CursorLoader(android.content.Context, android.net.Uri, String[], String, String[], String);
+    method @Deprecated public void deliverResult(android.database.Cursor);
+    method @Deprecated public String[] getProjection();
+    method @Deprecated public String getSelection();
+    method @Deprecated public String[] getSelectionArgs();
+    method @Deprecated public String getSortOrder();
+    method @Deprecated public android.net.Uri getUri();
+    method @Deprecated public android.database.Cursor loadInBackground();
+    method @Deprecated public void onCanceled(android.database.Cursor);
+    method @Deprecated public void setProjection(String[]);
+    method @Deprecated public void setSelection(String);
+    method @Deprecated public void setSelectionArgs(String[]);
+    method @Deprecated public void setSortOrder(String);
+    method @Deprecated public void setUri(android.net.Uri);
+  }
+
+  public interface DialogInterface {
+    method public void cancel();
+    method public void dismiss();
+    field @Deprecated public static final int BUTTON1 = -1; // 0xffffffff
+    field @Deprecated public static final int BUTTON2 = -2; // 0xfffffffe
+    field @Deprecated public static final int BUTTON3 = -3; // 0xfffffffd
+    field public static final int BUTTON_NEGATIVE = -2; // 0xfffffffe
+    field public static final int BUTTON_NEUTRAL = -3; // 0xfffffffd
+    field public static final int BUTTON_POSITIVE = -1; // 0xffffffff
+  }
+
+  public static interface DialogInterface.OnCancelListener {
+    method public void onCancel(android.content.DialogInterface);
+  }
+
+  public static interface DialogInterface.OnClickListener {
+    method public void onClick(android.content.DialogInterface, int);
+  }
+
+  public static interface DialogInterface.OnDismissListener {
+    method public void onDismiss(android.content.DialogInterface);
+  }
+
+  public static interface DialogInterface.OnKeyListener {
+    method public boolean onKey(android.content.DialogInterface, int, android.view.KeyEvent);
+  }
+
+  public static interface DialogInterface.OnMultiChoiceClickListener {
+    method public void onClick(android.content.DialogInterface, int, boolean);
+  }
+
+  public static interface DialogInterface.OnShowListener {
+    method public void onShow(android.content.DialogInterface);
+  }
+
+  public final class Entity {
+    ctor public Entity(android.content.ContentValues);
+    method public void addSubValue(android.net.Uri, android.content.ContentValues);
+    method public android.content.ContentValues getEntityValues();
+    method public java.util.ArrayList<android.content.Entity.NamedContentValues> getSubValues();
+  }
+
+  public static class Entity.NamedContentValues {
+    ctor public Entity.NamedContentValues(android.net.Uri, android.content.ContentValues);
+    field public final android.net.Uri uri;
+    field public final android.content.ContentValues values;
+  }
+
+  public interface EntityIterator extends java.util.Iterator<android.content.Entity> {
+    method public void close();
+    method public void reset();
+  }
+
+  public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    ctor public Intent();
+    ctor public Intent(android.content.Intent);
+    ctor public Intent(String);
+    ctor public Intent(String, android.net.Uri);
+    ctor public Intent(android.content.Context, Class<?>);
+    ctor public Intent(String, android.net.Uri, android.content.Context, Class<?>);
+    method @NonNull public android.content.Intent addCategory(String);
+    method @NonNull public android.content.Intent addFlags(int);
+    method public Object clone();
+    method @NonNull public android.content.Intent cloneFilter();
+    method public static android.content.Intent createChooser(android.content.Intent, CharSequence);
+    method public static android.content.Intent createChooser(android.content.Intent, CharSequence, android.content.IntentSender);
+    method public int describeContents();
+    method public int fillIn(@NonNull android.content.Intent, int);
+    method public boolean filterEquals(android.content.Intent);
+    method public int filterHashCode();
+    method @Nullable public String getAction();
+    method @Nullable public boolean[] getBooleanArrayExtra(String);
+    method public boolean getBooleanExtra(String, boolean);
+    method @Nullable public android.os.Bundle getBundleExtra(String);
+    method @Nullable public byte[] getByteArrayExtra(String);
+    method public byte getByteExtra(String, byte);
+    method public java.util.Set<java.lang.String> getCategories();
+    method @Nullable public char[] getCharArrayExtra(String);
+    method public char getCharExtra(String, char);
+    method @Nullable public CharSequence[] getCharSequenceArrayExtra(String);
+    method @Nullable public java.util.ArrayList<java.lang.CharSequence> getCharSequenceArrayListExtra(String);
+    method @Nullable public CharSequence getCharSequenceExtra(String);
+    method @Nullable public android.content.ClipData getClipData();
+    method @Nullable public android.content.ComponentName getComponent();
+    method @Nullable public android.net.Uri getData();
+    method @Nullable public String getDataString();
+    method @Nullable public double[] getDoubleArrayExtra(String);
+    method public double getDoubleExtra(String, double);
+    method @Nullable public android.os.Bundle getExtras();
+    method public int getFlags();
+    method @Nullable public float[] getFloatArrayExtra(String);
+    method public float getFloatExtra(String, float);
+    method @Nullable public String getIdentifier();
+    method @Nullable public int[] getIntArrayExtra(String);
+    method public int getIntExtra(String, int);
+    method @Nullable public java.util.ArrayList<java.lang.Integer> getIntegerArrayListExtra(String);
+    method @Deprecated public static android.content.Intent getIntent(String) throws java.net.URISyntaxException;
+    method public static android.content.Intent getIntentOld(String) throws java.net.URISyntaxException;
+    method @Nullable public long[] getLongArrayExtra(String);
+    method public long getLongExtra(String, long);
+    method @Nullable public String getPackage();
+    method @Nullable public android.os.Parcelable[] getParcelableArrayExtra(String);
+    method @Nullable public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayListExtra(String);
+    method @Nullable public <T extends android.os.Parcelable> T getParcelableExtra(String);
+    method @Nullable public String getScheme();
+    method @Nullable public android.content.Intent getSelector();
+    method @Nullable public java.io.Serializable getSerializableExtra(String);
+    method @Nullable public short[] getShortArrayExtra(String);
+    method public short getShortExtra(String, short);
+    method @Nullable public android.graphics.Rect getSourceBounds();
+    method @Nullable public String[] getStringArrayExtra(String);
+    method @Nullable public java.util.ArrayList<java.lang.String> getStringArrayListExtra(String);
+    method @Nullable public String getStringExtra(String);
+    method @Nullable public String getType();
+    method public boolean hasCategory(String);
+    method public boolean hasExtra(String);
+    method public boolean hasFileDescriptors();
+    method public static android.content.Intent makeMainActivity(android.content.ComponentName);
+    method public static android.content.Intent makeMainSelectorActivity(String, String);
+    method public static android.content.Intent makeRestartActivityTask(android.content.ComponentName);
+    method @Nullable public static String normalizeMimeType(@Nullable String);
+    method @NonNull public static android.content.Intent parseIntent(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, android.util.AttributeSet) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public static android.content.Intent parseUri(String, int) throws java.net.URISyntaxException;
+    method @NonNull public android.content.Intent putCharSequenceArrayListExtra(String, @Nullable java.util.ArrayList<java.lang.CharSequence>);
+    method @NonNull public android.content.Intent putExtra(String, boolean);
+    method @NonNull public android.content.Intent putExtra(String, byte);
+    method @NonNull public android.content.Intent putExtra(String, char);
+    method @NonNull public android.content.Intent putExtra(String, short);
+    method @NonNull public android.content.Intent putExtra(String, int);
+    method @NonNull public android.content.Intent putExtra(String, long);
+    method @NonNull public android.content.Intent putExtra(String, float);
+    method @NonNull public android.content.Intent putExtra(String, double);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable String);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable CharSequence);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable android.os.Parcelable);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable android.os.Parcelable[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable java.io.Serializable);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable boolean[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable byte[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable short[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable char[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable int[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable long[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable float[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable double[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable String[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable CharSequence[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable android.os.Bundle);
+    method @NonNull public android.content.Intent putExtras(@NonNull android.content.Intent);
+    method @NonNull public android.content.Intent putExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.content.Intent putIntegerArrayListExtra(String, @Nullable java.util.ArrayList<java.lang.Integer>);
+    method @NonNull public android.content.Intent putParcelableArrayListExtra(String, @Nullable java.util.ArrayList<? extends android.os.Parcelable>);
+    method @NonNull public android.content.Intent putStringArrayListExtra(String, @Nullable java.util.ArrayList<java.lang.String>);
+    method public void readFromParcel(android.os.Parcel);
+    method public void removeCategory(String);
+    method public void removeExtra(String);
+    method public void removeFlags(int);
+    method @NonNull public android.content.Intent replaceExtras(@NonNull android.content.Intent);
+    method @NonNull public android.content.Intent replaceExtras(@Nullable android.os.Bundle);
+    method public android.content.ComponentName resolveActivity(@NonNull android.content.pm.PackageManager);
+    method public android.content.pm.ActivityInfo resolveActivityInfo(@NonNull android.content.pm.PackageManager, int);
+    method @Nullable public String resolveType(@NonNull android.content.Context);
+    method @Nullable public String resolveType(@NonNull android.content.ContentResolver);
+    method @Nullable public String resolveTypeIfNeeded(@NonNull android.content.ContentResolver);
+    method @NonNull public android.content.Intent setAction(@Nullable String);
+    method @NonNull public android.content.Intent setClass(@NonNull android.content.Context, @NonNull Class<?>);
+    method @NonNull public android.content.Intent setClassName(@NonNull android.content.Context, @NonNull String);
+    method @NonNull public android.content.Intent setClassName(@NonNull String, @NonNull String);
+    method public void setClipData(@Nullable android.content.ClipData);
+    method @NonNull public android.content.Intent setComponent(@Nullable android.content.ComponentName);
+    method @NonNull public android.content.Intent setData(@Nullable android.net.Uri);
+    method @NonNull public android.content.Intent setDataAndNormalize(@NonNull android.net.Uri);
+    method @NonNull public android.content.Intent setDataAndType(@Nullable android.net.Uri, @Nullable String);
+    method @NonNull public android.content.Intent setDataAndTypeAndNormalize(@NonNull android.net.Uri, @Nullable String);
+    method public void setExtrasClassLoader(@Nullable ClassLoader);
+    method @NonNull public android.content.Intent setFlags(int);
+    method @NonNull public android.content.Intent setIdentifier(@Nullable String);
+    method @NonNull public android.content.Intent setPackage(@Nullable String);
+    method public void setSelector(@Nullable android.content.Intent);
+    method public void setSourceBounds(@Nullable android.graphics.Rect);
+    method @NonNull public android.content.Intent setType(@Nullable String);
+    method @NonNull public android.content.Intent setTypeAndNormalize(@Nullable String);
+    method @Deprecated public String toURI();
+    method public String toUri(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final String ACTION_AIRPLANE_MODE_CHANGED = "android.intent.action.AIRPLANE_MODE";
+    field public static final String ACTION_ALL_APPS = "android.intent.action.ALL_APPS";
+    field public static final String ACTION_ANSWER = "android.intent.action.ANSWER";
+    field public static final String ACTION_APPLICATION_PREFERENCES = "android.intent.action.APPLICATION_PREFERENCES";
+    field public static final String ACTION_APPLICATION_RESTRICTIONS_CHANGED = "android.intent.action.APPLICATION_RESTRICTIONS_CHANGED";
+    field public static final String ACTION_APP_ERROR = "android.intent.action.APP_ERROR";
+    field public static final String ACTION_ASSIST = "android.intent.action.ASSIST";
+    field public static final String ACTION_ATTACH_DATA = "android.intent.action.ATTACH_DATA";
+    field public static final String ACTION_AUTO_REVOKE_PERMISSIONS = "android.intent.action.AUTO_REVOKE_PERMISSIONS";
+    field public static final String ACTION_BATTERY_CHANGED = "android.intent.action.BATTERY_CHANGED";
+    field public static final String ACTION_BATTERY_LOW = "android.intent.action.BATTERY_LOW";
+    field public static final String ACTION_BATTERY_OKAY = "android.intent.action.BATTERY_OKAY";
+    field public static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED";
+    field public static final String ACTION_BUG_REPORT = "android.intent.action.BUG_REPORT";
+    field public static final String ACTION_CALL = "android.intent.action.CALL";
+    field public static final String ACTION_CALL_BUTTON = "android.intent.action.CALL_BUTTON";
+    field public static final String ACTION_CAMERA_BUTTON = "android.intent.action.CAMERA_BUTTON";
+    field public static final String ACTION_CARRIER_SETUP = "android.intent.action.CARRIER_SETUP";
+    field public static final String ACTION_CHOOSER = "android.intent.action.CHOOSER";
+    field @Deprecated @RequiresPermission("android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS") public static final String ACTION_CLOSE_SYSTEM_DIALOGS = "android.intent.action.CLOSE_SYSTEM_DIALOGS";
+    field public static final String ACTION_CONFIGURATION_CHANGED = "android.intent.action.CONFIGURATION_CHANGED";
+    field public static final String ACTION_CREATE_DOCUMENT = "android.intent.action.CREATE_DOCUMENT";
+    field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
+    field public static final String ACTION_CREATE_SHORTCUT = "android.intent.action.CREATE_SHORTCUT";
+    field public static final String ACTION_DATE_CHANGED = "android.intent.action.DATE_CHANGED";
+    field public static final String ACTION_DEFAULT = "android.intent.action.VIEW";
+    field public static final String ACTION_DEFINE = "android.intent.action.DEFINE";
+    field public static final String ACTION_DELETE = "android.intent.action.DELETE";
+    field @Deprecated public static final String ACTION_DEVICE_STORAGE_LOW = "android.intent.action.DEVICE_STORAGE_LOW";
+    field @Deprecated public static final String ACTION_DEVICE_STORAGE_OK = "android.intent.action.DEVICE_STORAGE_OK";
+    field public static final String ACTION_DIAL = "android.intent.action.DIAL";
+    field public static final String ACTION_DOCK_EVENT = "android.intent.action.DOCK_EVENT";
+    field public static final String ACTION_DREAMING_STARTED = "android.intent.action.DREAMING_STARTED";
+    field public static final String ACTION_DREAMING_STOPPED = "android.intent.action.DREAMING_STOPPED";
+    field public static final String ACTION_EDIT = "android.intent.action.EDIT";
+    field public static final String ACTION_EXTERNAL_APPLICATIONS_AVAILABLE = "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE";
+    field public static final String ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE = "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE";
+    field public static final String ACTION_FACTORY_TEST = "android.intent.action.FACTORY_TEST";
+    field public static final String ACTION_GET_CONTENT = "android.intent.action.GET_CONTENT";
+    field public static final String ACTION_GET_RESTRICTION_ENTRIES = "android.intent.action.GET_RESTRICTION_ENTRIES";
+    field public static final String ACTION_GTALK_SERVICE_CONNECTED = "android.intent.action.GTALK_CONNECTED";
+    field public static final String ACTION_GTALK_SERVICE_DISCONNECTED = "android.intent.action.GTALK_DISCONNECTED";
+    field public static final String ACTION_HEADSET_PLUG = "android.intent.action.HEADSET_PLUG";
+    field public static final String ACTION_INPUT_METHOD_CHANGED = "android.intent.action.INPUT_METHOD_CHANGED";
+    field public static final String ACTION_INSERT = "android.intent.action.INSERT";
+    field public static final String ACTION_INSERT_OR_EDIT = "android.intent.action.INSERT_OR_EDIT";
+    field public static final String ACTION_INSTALL_FAILURE = "android.intent.action.INSTALL_FAILURE";
+    field @Deprecated public static final String ACTION_INSTALL_PACKAGE = "android.intent.action.INSTALL_PACKAGE";
+    field public static final String ACTION_LOCALE_CHANGED = "android.intent.action.LOCALE_CHANGED";
+    field public static final String ACTION_LOCKED_BOOT_COMPLETED = "android.intent.action.LOCKED_BOOT_COMPLETED";
+    field public static final String ACTION_MAIN = "android.intent.action.MAIN";
+    field public static final String ACTION_MANAGED_PROFILE_ADDED = "android.intent.action.MANAGED_PROFILE_ADDED";
+    field public static final String ACTION_MANAGED_PROFILE_AVAILABLE = "android.intent.action.MANAGED_PROFILE_AVAILABLE";
+    field public static final String ACTION_MANAGED_PROFILE_REMOVED = "android.intent.action.MANAGED_PROFILE_REMOVED";
+    field public static final String ACTION_MANAGED_PROFILE_UNAVAILABLE = "android.intent.action.MANAGED_PROFILE_UNAVAILABLE";
+    field public static final String ACTION_MANAGED_PROFILE_UNLOCKED = "android.intent.action.MANAGED_PROFILE_UNLOCKED";
+    field public static final String ACTION_MANAGE_NETWORK_USAGE = "android.intent.action.MANAGE_NETWORK_USAGE";
+    field public static final String ACTION_MANAGE_PACKAGE_STORAGE = "android.intent.action.MANAGE_PACKAGE_STORAGE";
+    field public static final String ACTION_MANAGE_UNUSED_APPS = "android.intent.action.MANAGE_UNUSED_APPS";
+    field public static final String ACTION_MEDIA_BAD_REMOVAL = "android.intent.action.MEDIA_BAD_REMOVAL";
+    field public static final String ACTION_MEDIA_BUTTON = "android.intent.action.MEDIA_BUTTON";
+    field public static final String ACTION_MEDIA_CHECKING = "android.intent.action.MEDIA_CHECKING";
+    field public static final String ACTION_MEDIA_EJECT = "android.intent.action.MEDIA_EJECT";
+    field public static final String ACTION_MEDIA_MOUNTED = "android.intent.action.MEDIA_MOUNTED";
+    field public static final String ACTION_MEDIA_NOFS = "android.intent.action.MEDIA_NOFS";
+    field public static final String ACTION_MEDIA_REMOVED = "android.intent.action.MEDIA_REMOVED";
+    field public static final String ACTION_MEDIA_SCANNER_FINISHED = "android.intent.action.MEDIA_SCANNER_FINISHED";
+    field @Deprecated public static final String ACTION_MEDIA_SCANNER_SCAN_FILE = "android.intent.action.MEDIA_SCANNER_SCAN_FILE";
+    field public static final String ACTION_MEDIA_SCANNER_STARTED = "android.intent.action.MEDIA_SCANNER_STARTED";
+    field public static final String ACTION_MEDIA_SHARED = "android.intent.action.MEDIA_SHARED";
+    field public static final String ACTION_MEDIA_UNMOUNTABLE = "android.intent.action.MEDIA_UNMOUNTABLE";
+    field public static final String ACTION_MEDIA_UNMOUNTED = "android.intent.action.MEDIA_UNMOUNTED";
+    field public static final String ACTION_MY_PACKAGE_REPLACED = "android.intent.action.MY_PACKAGE_REPLACED";
+    field public static final String ACTION_MY_PACKAGE_SUSPENDED = "android.intent.action.MY_PACKAGE_SUSPENDED";
+    field public static final String ACTION_MY_PACKAGE_UNSUSPENDED = "android.intent.action.MY_PACKAGE_UNSUSPENDED";
+    field @Deprecated public static final String ACTION_NEW_OUTGOING_CALL = "android.intent.action.NEW_OUTGOING_CALL";
+    field public static final String ACTION_OPEN_DOCUMENT = "android.intent.action.OPEN_DOCUMENT";
+    field public static final String ACTION_OPEN_DOCUMENT_TREE = "android.intent.action.OPEN_DOCUMENT_TREE";
+    field public static final String ACTION_PACKAGES_SUSPENDED = "android.intent.action.PACKAGES_SUSPENDED";
+    field public static final String ACTION_PACKAGES_UNSUSPENDED = "android.intent.action.PACKAGES_UNSUSPENDED";
+    field public static final String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED";
+    field public static final String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED";
+    field public static final String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED";
+    field public static final String ACTION_PACKAGE_FIRST_LAUNCH = "android.intent.action.PACKAGE_FIRST_LAUNCH";
+    field public static final String ACTION_PACKAGE_FULLY_REMOVED = "android.intent.action.PACKAGE_FULLY_REMOVED";
+    field @Deprecated public static final String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL";
+    field public static final String ACTION_PACKAGE_NEEDS_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_VERIFICATION";
+    field public static final String ACTION_PACKAGE_REMOVED = "android.intent.action.PACKAGE_REMOVED";
+    field public static final String ACTION_PACKAGE_REPLACED = "android.intent.action.PACKAGE_REPLACED";
+    field public static final String ACTION_PACKAGE_RESTARTED = "android.intent.action.PACKAGE_RESTARTED";
+    field public static final String ACTION_PACKAGE_VERIFIED = "android.intent.action.PACKAGE_VERIFIED";
+    field public static final String ACTION_PASTE = "android.intent.action.PASTE";
+    field public static final String ACTION_PICK = "android.intent.action.PICK";
+    field public static final String ACTION_PICK_ACTIVITY = "android.intent.action.PICK_ACTIVITY";
+    field public static final String ACTION_POWER_CONNECTED = "android.intent.action.ACTION_POWER_CONNECTED";
+    field public static final String ACTION_POWER_DISCONNECTED = "android.intent.action.ACTION_POWER_DISCONNECTED";
+    field public static final String ACTION_POWER_USAGE_SUMMARY = "android.intent.action.POWER_USAGE_SUMMARY";
+    field public static final String ACTION_PROCESS_TEXT = "android.intent.action.PROCESS_TEXT";
+    field public static final String ACTION_PROFILE_ACCESSIBLE = "android.intent.action.PROFILE_ACCESSIBLE";
+    field public static final String ACTION_PROFILE_INACCESSIBLE = "android.intent.action.PROFILE_INACCESSIBLE";
+    field public static final String ACTION_PROVIDER_CHANGED = "android.intent.action.PROVIDER_CHANGED";
+    field public static final String ACTION_QUICK_CLOCK = "android.intent.action.QUICK_CLOCK";
+    field public static final String ACTION_QUICK_VIEW = "android.intent.action.QUICK_VIEW";
+    field public static final String ACTION_REBOOT = "android.intent.action.REBOOT";
+    field public static final String ACTION_RUN = "android.intent.action.RUN";
+    field public static final String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF";
+    field public static final String ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON";
+    field public static final String ACTION_SEARCH = "android.intent.action.SEARCH";
+    field public static final String ACTION_SEARCH_LONG_PRESS = "android.intent.action.SEARCH_LONG_PRESS";
+    field public static final String ACTION_SEND = "android.intent.action.SEND";
+    field public static final String ACTION_SENDTO = "android.intent.action.SENDTO";
+    field public static final String ACTION_SEND_MULTIPLE = "android.intent.action.SEND_MULTIPLE";
+    field public static final String ACTION_SET_WALLPAPER = "android.intent.action.SET_WALLPAPER";
+    field public static final String ACTION_SHOW_APP_INFO = "android.intent.action.SHOW_APP_INFO";
+    field public static final String ACTION_SHUTDOWN = "android.intent.action.ACTION_SHUTDOWN";
+    field public static final String ACTION_SYNC = "android.intent.action.SYNC";
+    field public static final String ACTION_SYSTEM_TUTORIAL = "android.intent.action.SYSTEM_TUTORIAL";
+    field public static final String ACTION_TIMEZONE_CHANGED = "android.intent.action.TIMEZONE_CHANGED";
+    field public static final String ACTION_TIME_CHANGED = "android.intent.action.TIME_SET";
+    field public static final String ACTION_TIME_TICK = "android.intent.action.TIME_TICK";
+    field public static final String ACTION_TRANSLATE = "android.intent.action.TRANSLATE";
+    field public static final String ACTION_UID_REMOVED = "android.intent.action.UID_REMOVED";
+    field @Deprecated public static final String ACTION_UMS_CONNECTED = "android.intent.action.UMS_CONNECTED";
+    field @Deprecated public static final String ACTION_UMS_DISCONNECTED = "android.intent.action.UMS_DISCONNECTED";
+    field @Deprecated public static final String ACTION_UNINSTALL_PACKAGE = "android.intent.action.UNINSTALL_PACKAGE";
+    field public static final String ACTION_USER_BACKGROUND = "android.intent.action.USER_BACKGROUND";
+    field public static final String ACTION_USER_FOREGROUND = "android.intent.action.USER_FOREGROUND";
+    field public static final String ACTION_USER_INITIALIZE = "android.intent.action.USER_INITIALIZE";
+    field public static final String ACTION_USER_PRESENT = "android.intent.action.USER_PRESENT";
+    field public static final String ACTION_USER_UNLOCKED = "android.intent.action.USER_UNLOCKED";
+    field public static final String ACTION_VIEW = "android.intent.action.VIEW";
+    field public static final String ACTION_VIEW_LOCUS = "android.intent.action.VIEW_LOCUS";
+    field @RequiresPermission(android.Manifest.permission.START_VIEW_PERMISSION_USAGE) public static final String ACTION_VIEW_PERMISSION_USAGE = "android.intent.action.VIEW_PERMISSION_USAGE";
+    field @RequiresPermission(android.Manifest.permission.START_VIEW_PERMISSION_USAGE) public static final String ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD = "android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD";
+    field public static final String ACTION_VOICE_COMMAND = "android.intent.action.VOICE_COMMAND";
+    field @Deprecated public static final String ACTION_WALLPAPER_CHANGED = "android.intent.action.WALLPAPER_CHANGED";
+    field public static final String ACTION_WEB_SEARCH = "android.intent.action.WEB_SEARCH";
+    field public static final String CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET = "android.intent.category.ACCESSIBILITY_SHORTCUT_TARGET";
+    field public static final String CATEGORY_ALTERNATIVE = "android.intent.category.ALTERNATIVE";
+    field public static final String CATEGORY_APP_BROWSER = "android.intent.category.APP_BROWSER";
+    field public static final String CATEGORY_APP_CALCULATOR = "android.intent.category.APP_CALCULATOR";
+    field public static final String CATEGORY_APP_CALENDAR = "android.intent.category.APP_CALENDAR";
+    field public static final String CATEGORY_APP_CONTACTS = "android.intent.category.APP_CONTACTS";
+    field public static final String CATEGORY_APP_EMAIL = "android.intent.category.APP_EMAIL";
+    field public static final String CATEGORY_APP_FILES = "android.intent.category.APP_FILES";
+    field public static final String CATEGORY_APP_GALLERY = "android.intent.category.APP_GALLERY";
+    field public static final String CATEGORY_APP_MAPS = "android.intent.category.APP_MAPS";
+    field public static final String CATEGORY_APP_MARKET = "android.intent.category.APP_MARKET";
+    field public static final String CATEGORY_APP_MESSAGING = "android.intent.category.APP_MESSAGING";
+    field public static final String CATEGORY_APP_MUSIC = "android.intent.category.APP_MUSIC";
+    field public static final String CATEGORY_BROWSABLE = "android.intent.category.BROWSABLE";
+    field public static final String CATEGORY_CAR_DOCK = "android.intent.category.CAR_DOCK";
+    field public static final String CATEGORY_CAR_MODE = "android.intent.category.CAR_MODE";
+    field public static final String CATEGORY_DEFAULT = "android.intent.category.DEFAULT";
+    field public static final String CATEGORY_DESK_DOCK = "android.intent.category.DESK_DOCK";
+    field public static final String CATEGORY_DEVELOPMENT_PREFERENCE = "android.intent.category.DEVELOPMENT_PREFERENCE";
+    field public static final String CATEGORY_EMBED = "android.intent.category.EMBED";
+    field public static final String CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST = "android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST";
+    field public static final String CATEGORY_HE_DESK_DOCK = "android.intent.category.HE_DESK_DOCK";
+    field public static final String CATEGORY_HOME = "android.intent.category.HOME";
+    field public static final String CATEGORY_INFO = "android.intent.category.INFO";
+    field public static final String CATEGORY_LAUNCHER = "android.intent.category.LAUNCHER";
+    field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+    field public static final String CATEGORY_LE_DESK_DOCK = "android.intent.category.LE_DESK_DOCK";
+    field public static final String CATEGORY_MONKEY = "android.intent.category.MONKEY";
+    field public static final String CATEGORY_OPENABLE = "android.intent.category.OPENABLE";
+    field public static final String CATEGORY_PREFERENCE = "android.intent.category.PREFERENCE";
+    field public static final String CATEGORY_SAMPLE_CODE = "android.intent.category.SAMPLE_CODE";
+    field public static final String CATEGORY_SECONDARY_HOME = "android.intent.category.SECONDARY_HOME";
+    field public static final String CATEGORY_SELECTED_ALTERNATIVE = "android.intent.category.SELECTED_ALTERNATIVE";
+    field public static final String CATEGORY_TAB = "android.intent.category.TAB";
+    field public static final String CATEGORY_TEST = "android.intent.category.TEST";
+    field public static final String CATEGORY_TYPED_OPENABLE = "android.intent.category.TYPED_OPENABLE";
+    field public static final String CATEGORY_UNIT_TEST = "android.intent.category.UNIT_TEST";
+    field public static final String CATEGORY_VOICE = "android.intent.category.VOICE";
+    field public static final String CATEGORY_VR_HOME = "android.intent.category.VR_HOME";
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.Intent> CREATOR;
+    field public static final String EXTRA_ALARM_COUNT = "android.intent.extra.ALARM_COUNT";
+    field public static final String EXTRA_ALLOW_MULTIPLE = "android.intent.extra.ALLOW_MULTIPLE";
+    field @Deprecated public static final String EXTRA_ALLOW_REPLACE = "android.intent.extra.ALLOW_REPLACE";
+    field public static final String EXTRA_ALTERNATE_INTENTS = "android.intent.extra.ALTERNATE_INTENTS";
+    field public static final String EXTRA_ASSIST_CONTEXT = "android.intent.extra.ASSIST_CONTEXT";
+    field public static final String EXTRA_ASSIST_INPUT_DEVICE_ID = "android.intent.extra.ASSIST_INPUT_DEVICE_ID";
+    field public static final String EXTRA_ASSIST_INPUT_HINT_KEYBOARD = "android.intent.extra.ASSIST_INPUT_HINT_KEYBOARD";
+    field public static final String EXTRA_ASSIST_PACKAGE = "android.intent.extra.ASSIST_PACKAGE";
+    field public static final String EXTRA_ASSIST_UID = "android.intent.extra.ASSIST_UID";
+    field public static final String EXTRA_ATTRIBUTION_TAGS = "android.intent.extra.ATTRIBUTION_TAGS";
+    field public static final String EXTRA_AUTO_LAUNCH_SINGLE_CHOICE = "android.intent.extra.AUTO_LAUNCH_SINGLE_CHOICE";
+    field public static final String EXTRA_BCC = "android.intent.extra.BCC";
+    field public static final String EXTRA_BUG_REPORT = "android.intent.extra.BUG_REPORT";
+    field public static final String EXTRA_CC = "android.intent.extra.CC";
+    field @Deprecated public static final String EXTRA_CHANGED_COMPONENT_NAME = "android.intent.extra.changed_component_name";
+    field public static final String EXTRA_CHANGED_COMPONENT_NAME_LIST = "android.intent.extra.changed_component_name_list";
+    field public static final String EXTRA_CHANGED_PACKAGE_LIST = "android.intent.extra.changed_package_list";
+    field public static final String EXTRA_CHANGED_UID_LIST = "android.intent.extra.changed_uid_list";
+    field public static final String EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER = "android.intent.extra.CHOOSER_REFINEMENT_INTENT_SENDER";
+    field public static final String EXTRA_CHOOSER_TARGETS = "android.intent.extra.CHOOSER_TARGETS";
+    field public static final String EXTRA_CHOSEN_COMPONENT = "android.intent.extra.CHOSEN_COMPONENT";
+    field public static final String EXTRA_CHOSEN_COMPONENT_INTENT_SENDER = "android.intent.extra.CHOSEN_COMPONENT_INTENT_SENDER";
+    field public static final String EXTRA_COMPONENT_NAME = "android.intent.extra.COMPONENT_NAME";
+    field public static final String EXTRA_CONTENT_ANNOTATIONS = "android.intent.extra.CONTENT_ANNOTATIONS";
+    field public static final String EXTRA_CONTENT_QUERY = "android.intent.extra.CONTENT_QUERY";
+    field public static final String EXTRA_DATA_REMOVED = "android.intent.extra.DATA_REMOVED";
+    field public static final String EXTRA_DOCK_STATE = "android.intent.extra.DOCK_STATE";
+    field public static final int EXTRA_DOCK_STATE_CAR = 2; // 0x2
+    field public static final int EXTRA_DOCK_STATE_DESK = 1; // 0x1
+    field public static final int EXTRA_DOCK_STATE_HE_DESK = 4; // 0x4
+    field public static final int EXTRA_DOCK_STATE_LE_DESK = 3; // 0x3
+    field public static final int EXTRA_DOCK_STATE_UNDOCKED = 0; // 0x0
+    field public static final String EXTRA_DONT_KILL_APP = "android.intent.extra.DONT_KILL_APP";
+    field public static final String EXTRA_DURATION_MILLIS = "android.intent.extra.DURATION_MILLIS";
+    field public static final String EXTRA_EMAIL = "android.intent.extra.EMAIL";
+    field public static final String EXTRA_END_TIME = "android.intent.extra.END_TIME";
+    field public static final String EXTRA_EXCLUDE_COMPONENTS = "android.intent.extra.EXCLUDE_COMPONENTS";
+    field public static final String EXTRA_FROM_STORAGE = "android.intent.extra.FROM_STORAGE";
+    field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
+    field public static final String EXTRA_INDEX = "android.intent.extra.INDEX";
+    field public static final String EXTRA_INITIAL_INTENTS = "android.intent.extra.INITIAL_INTENTS";
+    field public static final String EXTRA_INSTALLER_PACKAGE_NAME = "android.intent.extra.INSTALLER_PACKAGE_NAME";
+    field public static final String EXTRA_INTENT = "android.intent.extra.INTENT";
+    field public static final String EXTRA_KEY_EVENT = "android.intent.extra.KEY_EVENT";
+    field public static final String EXTRA_LOCAL_ONLY = "android.intent.extra.LOCAL_ONLY";
+    field public static final String EXTRA_LOCUS_ID = "android.intent.extra.LOCUS_ID";
+    field public static final String EXTRA_MIME_TYPES = "android.intent.extra.MIME_TYPES";
+    field public static final String EXTRA_NOT_UNKNOWN_SOURCE = "android.intent.extra.NOT_UNKNOWN_SOURCE";
+    field public static final String EXTRA_ORIGINATING_URI = "android.intent.extra.ORIGINATING_URI";
+    field public static final String EXTRA_PACKAGE_NAME = "android.intent.extra.PACKAGE_NAME";
+    field public static final String EXTRA_PERMISSION_GROUP_NAME = "android.intent.extra.PERMISSION_GROUP_NAME";
+    field public static final String EXTRA_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER";
+    field public static final String EXTRA_PROCESS_TEXT = "android.intent.extra.PROCESS_TEXT";
+    field public static final String EXTRA_PROCESS_TEXT_READONLY = "android.intent.extra.PROCESS_TEXT_READONLY";
+    field public static final String EXTRA_QUICK_VIEW_FEATURES = "android.intent.extra.QUICK_VIEW_FEATURES";
+    field public static final String EXTRA_QUIET_MODE = "android.intent.extra.QUIET_MODE";
+    field public static final String EXTRA_REFERRER = "android.intent.extra.REFERRER";
+    field public static final String EXTRA_REFERRER_NAME = "android.intent.extra.REFERRER_NAME";
+    field public static final String EXTRA_REMOTE_INTENT_TOKEN = "android.intent.extra.remote_intent_token";
+    field public static final String EXTRA_REPLACEMENT_EXTRAS = "android.intent.extra.REPLACEMENT_EXTRAS";
+    field public static final String EXTRA_REPLACING = "android.intent.extra.REPLACING";
+    field public static final String EXTRA_RESTRICTIONS_BUNDLE = "android.intent.extra.restrictions_bundle";
+    field public static final String EXTRA_RESTRICTIONS_INTENT = "android.intent.extra.restrictions_intent";
+    field public static final String EXTRA_RESTRICTIONS_LIST = "android.intent.extra.restrictions_list";
+    field public static final String EXTRA_RESULT_RECEIVER = "android.intent.extra.RESULT_RECEIVER";
+    field public static final String EXTRA_RETURN_RESULT = "android.intent.extra.RETURN_RESULT";
+    field @Deprecated public static final String EXTRA_SHORTCUT_ICON = "android.intent.extra.shortcut.ICON";
+    field @Deprecated public static final String EXTRA_SHORTCUT_ICON_RESOURCE = "android.intent.extra.shortcut.ICON_RESOURCE";
+    field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+    field @Deprecated public static final String EXTRA_SHORTCUT_INTENT = "android.intent.extra.shortcut.INTENT";
+    field @Deprecated public static final String EXTRA_SHORTCUT_NAME = "android.intent.extra.shortcut.NAME";
+    field public static final String EXTRA_SHUTDOWN_USERSPACE_ONLY = "android.intent.extra.SHUTDOWN_USERSPACE_ONLY";
+    field public static final String EXTRA_SPLIT_NAME = "android.intent.extra.SPLIT_NAME";
+    field public static final String EXTRA_START_TIME = "android.intent.extra.START_TIME";
+    field public static final String EXTRA_STREAM = "android.intent.extra.STREAM";
+    field public static final String EXTRA_SUBJECT = "android.intent.extra.SUBJECT";
+    field public static final String EXTRA_SUSPENDED_PACKAGE_EXTRAS = "android.intent.extra.SUSPENDED_PACKAGE_EXTRAS";
+    field public static final String EXTRA_TEMPLATE = "android.intent.extra.TEMPLATE";
+    field public static final String EXTRA_TEXT = "android.intent.extra.TEXT";
+    field public static final String EXTRA_TIME = "android.intent.extra.TIME";
+    field public static final String EXTRA_TIMEZONE = "time-zone";
+    field public static final String EXTRA_TITLE = "android.intent.extra.TITLE";
+    field public static final String EXTRA_UID = "android.intent.extra.UID";
+    field public static final String EXTRA_USER = "android.intent.extra.USER";
+    field public static final String EXTRA_USER_INITIATED = "android.intent.extra.USER_INITIATED";
+    field public static final int FILL_IN_ACTION = 1; // 0x1
+    field public static final int FILL_IN_CATEGORIES = 4; // 0x4
+    field public static final int FILL_IN_CLIP_DATA = 128; // 0x80
+    field public static final int FILL_IN_COMPONENT = 8; // 0x8
+    field public static final int FILL_IN_DATA = 2; // 0x2
+    field public static final int FILL_IN_IDENTIFIER = 256; // 0x100
+    field public static final int FILL_IN_PACKAGE = 16; // 0x10
+    field public static final int FILL_IN_SELECTOR = 64; // 0x40
+    field public static final int FILL_IN_SOURCE_BOUNDS = 32; // 0x20
+    field public static final int FLAG_ACTIVITY_BROUGHT_TO_FRONT = 4194304; // 0x400000
+    field public static final int FLAG_ACTIVITY_CLEAR_TASK = 32768; // 0x8000
+    field public static final int FLAG_ACTIVITY_CLEAR_TOP = 67108864; // 0x4000000
+    field @Deprecated public static final int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET = 524288; // 0x80000
+    field public static final int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS = 8388608; // 0x800000
+    field public static final int FLAG_ACTIVITY_FORWARD_RESULT = 33554432; // 0x2000000
+    field public static final int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY = 1048576; // 0x100000
+    field public static final int FLAG_ACTIVITY_LAUNCH_ADJACENT = 4096; // 0x1000
+    field public static final int FLAG_ACTIVITY_MATCH_EXTERNAL = 2048; // 0x800
+    field public static final int FLAG_ACTIVITY_MULTIPLE_TASK = 134217728; // 0x8000000
+    field public static final int FLAG_ACTIVITY_NEW_DOCUMENT = 524288; // 0x80000
+    field public static final int FLAG_ACTIVITY_NEW_TASK = 268435456; // 0x10000000
+    field public static final int FLAG_ACTIVITY_NO_ANIMATION = 65536; // 0x10000
+    field public static final int FLAG_ACTIVITY_NO_HISTORY = 1073741824; // 0x40000000
+    field public static final int FLAG_ACTIVITY_NO_USER_ACTION = 262144; // 0x40000
+    field public static final int FLAG_ACTIVITY_PREVIOUS_IS_TOP = 16777216; // 0x1000000
+    field public static final int FLAG_ACTIVITY_REORDER_TO_FRONT = 131072; // 0x20000
+    field public static final int FLAG_ACTIVITY_REQUIRE_DEFAULT = 512; // 0x200
+    field public static final int FLAG_ACTIVITY_REQUIRE_NON_BROWSER = 1024; // 0x400
+    field public static final int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED = 2097152; // 0x200000
+    field public static final int FLAG_ACTIVITY_RETAIN_IN_RECENTS = 8192; // 0x2000
+    field public static final int FLAG_ACTIVITY_SINGLE_TOP = 536870912; // 0x20000000
+    field public static final int FLAG_ACTIVITY_TASK_ON_HOME = 16384; // 0x4000
+    field public static final int FLAG_DEBUG_LOG_RESOLUTION = 8; // 0x8
+    field public static final int FLAG_DIRECT_BOOT_AUTO = 256; // 0x100
+    field public static final int FLAG_EXCLUDE_STOPPED_PACKAGES = 16; // 0x10
+    field public static final int FLAG_FROM_BACKGROUND = 4; // 0x4
+    field public static final int FLAG_GRANT_PERSISTABLE_URI_PERMISSION = 64; // 0x40
+    field public static final int FLAG_GRANT_PREFIX_URI_PERMISSION = 128; // 0x80
+    field public static final int FLAG_GRANT_READ_URI_PERMISSION = 1; // 0x1
+    field public static final int FLAG_GRANT_WRITE_URI_PERMISSION = 2; // 0x2
+    field public static final int FLAG_INCLUDE_STOPPED_PACKAGES = 32; // 0x20
+    field public static final int FLAG_RECEIVER_FOREGROUND = 268435456; // 0x10000000
+    field public static final int FLAG_RECEIVER_NO_ABORT = 134217728; // 0x8000000
+    field public static final int FLAG_RECEIVER_REGISTERED_ONLY = 1073741824; // 0x40000000
+    field public static final int FLAG_RECEIVER_REPLACE_PENDING = 536870912; // 0x20000000
+    field public static final int FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS = 2097152; // 0x200000
+    field public static final String METADATA_DOCK_HOME = "android.dock_home";
+    field public static final int URI_ALLOW_UNSAFE = 4; // 0x4
+    field public static final int URI_ANDROID_APP_SCHEME = 2; // 0x2
+    field public static final int URI_INTENT_SCHEME = 1; // 0x1
+  }
+
+  public static final class Intent.FilterComparison {
+    ctor public Intent.FilterComparison(android.content.Intent);
+    method public android.content.Intent getIntent();
+  }
+
+  public static class Intent.ShortcutIconResource implements android.os.Parcelable {
+    ctor public Intent.ShortcutIconResource();
+    method public int describeContents();
+    method public static android.content.Intent.ShortcutIconResource fromContext(android.content.Context, @AnyRes int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.Intent.ShortcutIconResource> CREATOR;
+    field public String packageName;
+    field public String resourceName;
+  }
+
+  public class IntentFilter implements android.os.Parcelable {
+    ctor public IntentFilter();
+    ctor public IntentFilter(String);
+    ctor public IntentFilter(String, String) throws android.content.IntentFilter.MalformedMimeTypeException;
+    ctor public IntentFilter(android.content.IntentFilter);
+    method public final java.util.Iterator<java.lang.String> actionsIterator();
+    method public final void addAction(String);
+    method public final void addCategory(String);
+    method public final void addDataAuthority(String, String);
+    method public final void addDataPath(String, int);
+    method public final void addDataScheme(String);
+    method public final void addDataSchemeSpecificPart(String, int);
+    method public final void addDataType(String) throws android.content.IntentFilter.MalformedMimeTypeException;
+    method public final java.util.Iterator<android.content.IntentFilter.AuthorityEntry> authoritiesIterator();
+    method public final java.util.Iterator<java.lang.String> categoriesIterator();
+    method public final int countActions();
+    method public final int countCategories();
+    method public final int countDataAuthorities();
+    method public final int countDataPaths();
+    method public final int countDataSchemeSpecificParts();
+    method public final int countDataSchemes();
+    method public final int countDataTypes();
+    method public static android.content.IntentFilter create(String, String);
+    method public final int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public final String getAction(int);
+    method public final String getCategory(int);
+    method public final android.content.IntentFilter.AuthorityEntry getDataAuthority(int);
+    method public final android.os.PatternMatcher getDataPath(int);
+    method public final String getDataScheme(int);
+    method public final android.os.PatternMatcher getDataSchemeSpecificPart(int);
+    method public final String getDataType(int);
+    method public final int getPriority();
+    method public final boolean hasAction(String);
+    method public final boolean hasCategory(String);
+    method public final boolean hasDataAuthority(android.net.Uri);
+    method public final boolean hasDataPath(String);
+    method public final boolean hasDataScheme(String);
+    method public final boolean hasDataSchemeSpecificPart(String);
+    method public final boolean hasDataType(String);
+    method public final int match(android.content.ContentResolver, android.content.Intent, boolean, String);
+    method public final int match(String, String, String, android.net.Uri, java.util.Set<java.lang.String>, String);
+    method public final boolean matchAction(String);
+    method public final String matchCategories(java.util.Set<java.lang.String>);
+    method public final int matchData(String, String, android.net.Uri);
+    method public final int matchDataAuthority(android.net.Uri);
+    method public final java.util.Iterator<android.os.PatternMatcher> pathsIterator();
+    method public void readFromXml(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public final java.util.Iterator<android.os.PatternMatcher> schemeSpecificPartsIterator();
+    method public final java.util.Iterator<java.lang.String> schemesIterator();
+    method public final void setPriority(int);
+    method public final java.util.Iterator<java.lang.String> typesIterator();
+    method public final void writeToParcel(android.os.Parcel, int);
+    method public void writeToXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.IntentFilter> CREATOR;
+    field public static final int MATCH_ADJUSTMENT_MASK = 65535; // 0xffff
+    field public static final int MATCH_ADJUSTMENT_NORMAL = 32768; // 0x8000
+    field public static final int MATCH_CATEGORY_EMPTY = 1048576; // 0x100000
+    field public static final int MATCH_CATEGORY_HOST = 3145728; // 0x300000
+    field public static final int MATCH_CATEGORY_MASK = 268369920; // 0xfff0000
+    field public static final int MATCH_CATEGORY_PATH = 5242880; // 0x500000
+    field public static final int MATCH_CATEGORY_PORT = 4194304; // 0x400000
+    field public static final int MATCH_CATEGORY_SCHEME = 2097152; // 0x200000
+    field public static final int MATCH_CATEGORY_SCHEME_SPECIFIC_PART = 5767168; // 0x580000
+    field public static final int MATCH_CATEGORY_TYPE = 6291456; // 0x600000
+    field public static final int NO_MATCH_ACTION = -3; // 0xfffffffd
+    field public static final int NO_MATCH_CATEGORY = -4; // 0xfffffffc
+    field public static final int NO_MATCH_DATA = -2; // 0xfffffffe
+    field public static final int NO_MATCH_TYPE = -1; // 0xffffffff
+    field public static final int SYSTEM_HIGH_PRIORITY = 1000; // 0x3e8
+    field public static final int SYSTEM_LOW_PRIORITY = -1000; // 0xfffffc18
+  }
+
+  public static final class IntentFilter.AuthorityEntry {
+    ctor public IntentFilter.AuthorityEntry(String, String);
+    method public String getHost();
+    method public int getPort();
+    method public int match(android.net.Uri);
+  }
+
+  public static class IntentFilter.MalformedMimeTypeException extends android.util.AndroidException {
+    ctor public IntentFilter.MalformedMimeTypeException();
+    ctor public IntentFilter.MalformedMimeTypeException(String);
+  }
+
+  public class IntentSender implements android.os.Parcelable {
+    method public int describeContents();
+    method public String getCreatorPackage();
+    method public int getCreatorUid();
+    method public android.os.UserHandle getCreatorUserHandle();
+    method @Deprecated public String getTargetPackage();
+    method public static android.content.IntentSender readIntentSenderOrNullFromParcel(android.os.Parcel);
+    method public void sendIntent(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler) throws android.content.IntentSender.SendIntentException;
+    method public void sendIntent(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler, String) throws android.content.IntentSender.SendIntentException;
+    method public static void writeIntentSenderOrNullToParcel(android.content.IntentSender, android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.IntentSender> CREATOR;
+  }
+
+  public static interface IntentSender.OnFinished {
+    method public void onSendFinished(android.content.IntentSender, android.content.Intent, int, String, android.os.Bundle);
+  }
+
+  public static class IntentSender.SendIntentException extends android.util.AndroidException {
+    ctor public IntentSender.SendIntentException();
+    ctor public IntentSender.SendIntentException(String);
+    ctor public IntentSender.SendIntentException(Exception);
+  }
+
+  @Deprecated public class Loader<D> {
+    ctor @Deprecated public Loader(android.content.Context);
+    method @Deprecated public void abandon();
+    method @Deprecated public boolean cancelLoad();
+    method @Deprecated public void commitContentChanged();
+    method @Deprecated public String dataToString(D);
+    method @Deprecated public void deliverCancellation();
+    method @Deprecated public void deliverResult(D);
+    method @Deprecated public void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated public void forceLoad();
+    method @Deprecated public android.content.Context getContext();
+    method @Deprecated public int getId();
+    method @Deprecated public boolean isAbandoned();
+    method @Deprecated public boolean isReset();
+    method @Deprecated public boolean isStarted();
+    method @Deprecated protected void onAbandon();
+    method @Deprecated protected boolean onCancelLoad();
+    method @Deprecated public void onContentChanged();
+    method @Deprecated protected void onForceLoad();
+    method @Deprecated protected void onReset();
+    method @Deprecated protected void onStartLoading();
+    method @Deprecated protected void onStopLoading();
+    method @Deprecated public void registerListener(int, android.content.Loader.OnLoadCompleteListener<D>);
+    method @Deprecated public void registerOnLoadCanceledListener(android.content.Loader.OnLoadCanceledListener<D>);
+    method @Deprecated public void reset();
+    method @Deprecated public void rollbackContentChanged();
+    method @Deprecated public final void startLoading();
+    method @Deprecated public void stopLoading();
+    method @Deprecated public boolean takeContentChanged();
+    method @Deprecated public void unregisterListener(android.content.Loader.OnLoadCompleteListener<D>);
+    method @Deprecated public void unregisterOnLoadCanceledListener(android.content.Loader.OnLoadCanceledListener<D>);
+  }
+
+  @Deprecated public final class Loader.ForceLoadContentObserver extends android.database.ContentObserver {
+    ctor @Deprecated public Loader.ForceLoadContentObserver();
+  }
+
+  @Deprecated public static interface Loader.OnLoadCanceledListener<D> {
+    method @Deprecated public void onLoadCanceled(android.content.Loader<D>);
+  }
+
+  @Deprecated public static interface Loader.OnLoadCompleteListener<D> {
+    method @Deprecated public void onLoadComplete(android.content.Loader<D>, D);
+  }
+
+  public final class LocusId implements android.os.Parcelable {
+    ctor public LocusId(@NonNull String);
+    method public int describeContents();
+    method @NonNull public String getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.LocusId> CREATOR;
+  }
+
+  public class MutableContextWrapper extends android.content.ContextWrapper {
+    ctor public MutableContextWrapper(android.content.Context);
+    method public void setBaseContext(android.content.Context);
+  }
+
+  public class OperationApplicationException extends java.lang.Exception {
+    ctor public OperationApplicationException();
+    ctor public OperationApplicationException(String);
+    ctor public OperationApplicationException(String, Throwable);
+    ctor public OperationApplicationException(Throwable);
+    ctor public OperationApplicationException(int);
+    ctor public OperationApplicationException(String, int);
+    method public int getNumSuccessfulYieldPoints();
+  }
+
+  public class PeriodicSync implements android.os.Parcelable {
+    ctor public PeriodicSync(android.accounts.Account, String, android.os.Bundle, long);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.PeriodicSync> CREATOR;
+    field public final android.accounts.Account account;
+    field public final String authority;
+    field public final android.os.Bundle extras;
+    field public final long period;
+  }
+
+  public class QuickViewConstants {
+    field public static final String FEATURE_DELETE = "android:delete";
+    field public static final String FEATURE_DOWNLOAD = "android:download";
+    field public static final String FEATURE_EDIT = "android:edit";
+    field public static final String FEATURE_PRINT = "android:print";
+    field public static final String FEATURE_SEND = "android:send";
+    field public static final String FEATURE_VIEW = "android:view";
+  }
+
+  public class ReceiverCallNotAllowedException extends android.util.AndroidRuntimeException {
+    ctor public ReceiverCallNotAllowedException(String);
+  }
+
+  public class RestrictionEntry implements android.os.Parcelable {
+    ctor public RestrictionEntry(int, String);
+    ctor public RestrictionEntry(String, String);
+    ctor public RestrictionEntry(String, boolean);
+    ctor public RestrictionEntry(String, String[]);
+    ctor public RestrictionEntry(String, int);
+    ctor public RestrictionEntry(android.os.Parcel);
+    method public static android.content.RestrictionEntry createBundleArrayEntry(String, android.content.RestrictionEntry[]);
+    method public static android.content.RestrictionEntry createBundleEntry(String, android.content.RestrictionEntry[]);
+    method public int describeContents();
+    method public String[] getAllSelectedStrings();
+    method public String[] getChoiceEntries();
+    method public String[] getChoiceValues();
+    method public String getDescription();
+    method public int getIntValue();
+    method public String getKey();
+    method public android.content.RestrictionEntry[] getRestrictions();
+    method public boolean getSelectedState();
+    method public String getSelectedString();
+    method public String getTitle();
+    method public int getType();
+    method public void setAllSelectedStrings(String[]);
+    method public void setChoiceEntries(String[]);
+    method public void setChoiceEntries(android.content.Context, @ArrayRes int);
+    method public void setChoiceValues(String[]);
+    method public void setChoiceValues(android.content.Context, @ArrayRes int);
+    method public void setDescription(String);
+    method public void setIntValue(int);
+    method public void setRestrictions(android.content.RestrictionEntry[]);
+    method public void setSelectedState(boolean);
+    method public void setSelectedString(String);
+    method public void setTitle(String);
+    method public void setType(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.RestrictionEntry> CREATOR;
+    field public static final int TYPE_BOOLEAN = 1; // 0x1
+    field public static final int TYPE_BUNDLE = 7; // 0x7
+    field public static final int TYPE_BUNDLE_ARRAY = 8; // 0x8
+    field public static final int TYPE_CHOICE = 2; // 0x2
+    field public static final int TYPE_INTEGER = 5; // 0x5
+    field public static final int TYPE_MULTI_SELECT = 4; // 0x4
+    field public static final int TYPE_NULL = 0; // 0x0
+    field public static final int TYPE_STRING = 6; // 0x6
+  }
+
+  public class RestrictionsManager {
+    method public static android.os.Bundle convertRestrictionsToBundle(java.util.List<android.content.RestrictionEntry>);
+    method public android.content.Intent createLocalApprovalIntent();
+    method public android.os.Bundle getApplicationRestrictions();
+    method public java.util.List<android.content.RestrictionEntry> getManifestRestrictions(String);
+    method public boolean hasRestrictionsProvider();
+    method public void notifyPermissionResponse(String, android.os.PersistableBundle);
+    method public void requestPermission(String, String, android.os.PersistableBundle);
+    field public static final String ACTION_PERMISSION_RESPONSE_RECEIVED = "android.content.action.PERMISSION_RESPONSE_RECEIVED";
+    field public static final String ACTION_REQUEST_LOCAL_APPROVAL = "android.content.action.REQUEST_LOCAL_APPROVAL";
+    field public static final String ACTION_REQUEST_PERMISSION = "android.content.action.REQUEST_PERMISSION";
+    field public static final String EXTRA_PACKAGE_NAME = "android.content.extra.PACKAGE_NAME";
+    field public static final String EXTRA_REQUEST_BUNDLE = "android.content.extra.REQUEST_BUNDLE";
+    field public static final String EXTRA_REQUEST_ID = "android.content.extra.REQUEST_ID";
+    field public static final String EXTRA_REQUEST_TYPE = "android.content.extra.REQUEST_TYPE";
+    field public static final String EXTRA_RESPONSE_BUNDLE = "android.content.extra.RESPONSE_BUNDLE";
+    field public static final String META_DATA_APP_RESTRICTIONS = "android.content.APP_RESTRICTIONS";
+    field public static final String REQUEST_KEY_APPROVE_LABEL = "android.request.approve_label";
+    field public static final String REQUEST_KEY_DATA = "android.request.data";
+    field public static final String REQUEST_KEY_DENY_LABEL = "android.request.deny_label";
+    field public static final String REQUEST_KEY_ICON = "android.request.icon";
+    field public static final String REQUEST_KEY_ID = "android.request.id";
+    field public static final String REQUEST_KEY_MESSAGE = "android.request.mesg";
+    field public static final String REQUEST_KEY_NEW_REQUEST = "android.request.new_request";
+    field public static final String REQUEST_KEY_TITLE = "android.request.title";
+    field public static final String REQUEST_TYPE_APPROVAL = "android.request.type.approval";
+    field public static final String RESPONSE_KEY_ERROR_CODE = "android.response.errorcode";
+    field public static final String RESPONSE_KEY_MESSAGE = "android.response.msg";
+    field public static final String RESPONSE_KEY_RESPONSE_TIMESTAMP = "android.response.timestamp";
+    field public static final String RESPONSE_KEY_RESULT = "android.response.result";
+    field public static final int RESULT_APPROVED = 1; // 0x1
+    field public static final int RESULT_DENIED = 2; // 0x2
+    field public static final int RESULT_ERROR = 5; // 0x5
+    field public static final int RESULT_ERROR_BAD_REQUEST = 1; // 0x1
+    field public static final int RESULT_ERROR_INTERNAL = 3; // 0x3
+    field public static final int RESULT_ERROR_NETWORK = 2; // 0x2
+    field public static final int RESULT_NO_RESPONSE = 3; // 0x3
+    field public static final int RESULT_UNKNOWN_REQUEST = 4; // 0x4
+  }
+
+  public class SearchRecentSuggestionsProvider extends android.content.ContentProvider {
+    ctor public SearchRecentSuggestionsProvider();
+    method public int delete(android.net.Uri, String, String[]);
+    method public String getType(android.net.Uri);
+    method public android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+    method public boolean onCreate();
+    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
+    method protected void setupSuggestions(String, int);
+    method public int update(android.net.Uri, android.content.ContentValues, String, String[]);
+    field public static final int DATABASE_MODE_2LINES = 2; // 0x2
+    field public static final int DATABASE_MODE_QUERIES = 1; // 0x1
+  }
+
+  public interface ServiceConnection {
+    method public default void onBindingDied(android.content.ComponentName);
+    method public default void onNullBinding(android.content.ComponentName);
+    method public void onServiceConnected(android.content.ComponentName, android.os.IBinder);
+    method public void onServiceDisconnected(android.content.ComponentName);
+  }
+
+  public interface SharedPreferences {
+    method public boolean contains(String);
+    method public android.content.SharedPreferences.Editor edit();
+    method public java.util.Map<java.lang.String,?> getAll();
+    method public boolean getBoolean(String, boolean);
+    method public float getFloat(String, float);
+    method public int getInt(String, int);
+    method public long getLong(String, long);
+    method @Nullable public String getString(String, @Nullable String);
+    method @Nullable public java.util.Set<java.lang.String> getStringSet(String, @Nullable java.util.Set<java.lang.String>);
+    method public void registerOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener);
+    method public void unregisterOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener);
+  }
+
+  public static interface SharedPreferences.Editor {
+    method public void apply();
+    method public android.content.SharedPreferences.Editor clear();
+    method public boolean commit();
+    method public android.content.SharedPreferences.Editor putBoolean(String, boolean);
+    method public android.content.SharedPreferences.Editor putFloat(String, float);
+    method public android.content.SharedPreferences.Editor putInt(String, int);
+    method public android.content.SharedPreferences.Editor putLong(String, long);
+    method public android.content.SharedPreferences.Editor putString(String, @Nullable String);
+    method public android.content.SharedPreferences.Editor putStringSet(String, @Nullable java.util.Set<java.lang.String>);
+    method public android.content.SharedPreferences.Editor remove(String);
+  }
+
+  public static interface SharedPreferences.OnSharedPreferenceChangeListener {
+    method public void onSharedPreferenceChanged(android.content.SharedPreferences, String);
+  }
+
+  public class SyncAdapterType implements android.os.Parcelable {
+    ctor public SyncAdapterType(String, String, boolean, boolean);
+    ctor public SyncAdapterType(android.os.Parcel);
+    method public boolean allowParallelSyncs();
+    method public int describeContents();
+    method public String getSettingsActivity();
+    method public boolean isAlwaysSyncable();
+    method public boolean isUserVisible();
+    method public static android.content.SyncAdapterType newKey(String, String);
+    method public boolean supportsUploading();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncAdapterType> CREATOR;
+    field public final String accountType;
+    field public final String authority;
+    field public final boolean isKey;
+  }
+
+  public class SyncContext {
+    method public android.os.IBinder getSyncContextBinder();
+    method public void onFinished(android.content.SyncResult);
+  }
+
+  public class SyncInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public final android.accounts.Account account;
+    field public final String authority;
+    field public final long startTime;
+  }
+
+  public class SyncRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncRequest> CREATOR;
+  }
+
+  public static class SyncRequest.Builder {
+    ctor public SyncRequest.Builder();
+    method public android.content.SyncRequest build();
+    method public android.content.SyncRequest.Builder setDisallowMetered(boolean);
+    method public android.content.SyncRequest.Builder setExpedited(boolean);
+    method public android.content.SyncRequest.Builder setExtras(android.os.Bundle);
+    method public android.content.SyncRequest.Builder setIgnoreBackoff(boolean);
+    method public android.content.SyncRequest.Builder setIgnoreSettings(boolean);
+    method public android.content.SyncRequest.Builder setManual(boolean);
+    method public android.content.SyncRequest.Builder setNoRetry(boolean);
+    method public android.content.SyncRequest.Builder setRequiresCharging(boolean);
+    method @NonNull public android.content.SyncRequest.Builder setScheduleAsExpeditedJob(boolean);
+    method public android.content.SyncRequest.Builder setSyncAdapter(android.accounts.Account, String);
+    method public android.content.SyncRequest.Builder syncOnce();
+    method public android.content.SyncRequest.Builder syncPeriodic(long, long);
+  }
+
+  public final class SyncResult implements android.os.Parcelable {
+    ctor public SyncResult();
+    method public void clear();
+    method public int describeContents();
+    method public boolean hasError();
+    method public boolean hasHardError();
+    method public boolean hasSoftError();
+    method public boolean madeSomeProgress();
+    method public String toDebugString();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.content.SyncResult ALREADY_IN_PROGRESS;
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncResult> CREATOR;
+    field public boolean databaseError;
+    field public long delayUntil;
+    field public boolean fullSyncRequested;
+    field public boolean moreRecordsToGet;
+    field public boolean partialSyncUnavailable;
+    field public final android.content.SyncStats stats;
+    field public final boolean syncAlreadyInProgress;
+    field public boolean tooManyDeletions;
+    field public boolean tooManyRetries;
+  }
+
+  public class SyncStats implements android.os.Parcelable {
+    ctor public SyncStats();
+    ctor public SyncStats(android.os.Parcel);
+    method public void clear();
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncStats> CREATOR;
+    field public long numAuthExceptions;
+    field public long numConflictDetectedExceptions;
+    field public long numDeletes;
+    field public long numEntries;
+    field public long numInserts;
+    field public long numIoExceptions;
+    field public long numParseExceptions;
+    field public long numSkippedEntries;
+    field public long numUpdates;
+  }
+
+  public interface SyncStatusObserver {
+    method public void onStatusChanged(int);
+  }
+
+  public class UriMatcher {
+    ctor public UriMatcher(int);
+    method public void addURI(String, String, int);
+    method public int match(android.net.Uri);
+    field public static final int NO_MATCH = -1; // 0xffffffff
+  }
+
+  public final class UriPermission implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getPersistedTime();
+    method public android.net.Uri getUri();
+    method public boolean isReadPermission();
+    method public boolean isWritePermission();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.UriPermission> CREATOR;
+    field public static final long INVALID_TIME = -9223372036854775808L; // 0x8000000000000000L
+  }
+
+}
+
+package android.content.pm {
+
+  public class ActivityInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+    ctor public ActivityInfo();
+    ctor public ActivityInfo(android.content.pm.ActivityInfo);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public final int getThemeResource();
+    field public static final int COLOR_MODE_DEFAULT = 0; // 0x0
+    field public static final int COLOR_MODE_HDR = 2; // 0x2
+    field public static final int COLOR_MODE_WIDE_COLOR_GAMUT = 1; // 0x1
+    field public static final int CONFIG_COLOR_MODE = 16384; // 0x4000
+    field public static final int CONFIG_DENSITY = 4096; // 0x1000
+    field public static final int CONFIG_FONT_SCALE = 1073741824; // 0x40000000
+    field public static final int CONFIG_FONT_WEIGHT_ADJUSTMENT = 268435456; // 0x10000000
+    field public static final int CONFIG_KEYBOARD = 16; // 0x10
+    field public static final int CONFIG_KEYBOARD_HIDDEN = 32; // 0x20
+    field public static final int CONFIG_LAYOUT_DIRECTION = 8192; // 0x2000
+    field public static final int CONFIG_LOCALE = 4; // 0x4
+    field public static final int CONFIG_MCC = 1; // 0x1
+    field public static final int CONFIG_MNC = 2; // 0x2
+    field public static final int CONFIG_NAVIGATION = 64; // 0x40
+    field public static final int CONFIG_ORIENTATION = 128; // 0x80
+    field public static final int CONFIG_SCREEN_LAYOUT = 256; // 0x100
+    field public static final int CONFIG_SCREEN_SIZE = 1024; // 0x400
+    field public static final int CONFIG_SMALLEST_SCREEN_SIZE = 2048; // 0x800
+    field public static final int CONFIG_TOUCHSCREEN = 8; // 0x8
+    field public static final int CONFIG_UI_MODE = 512; // 0x200
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ActivityInfo> CREATOR;
+    field public static final int DOCUMENT_LAUNCH_ALWAYS = 2; // 0x2
+    field public static final int DOCUMENT_LAUNCH_INTO_EXISTING = 1; // 0x1
+    field public static final int DOCUMENT_LAUNCH_NEVER = 3; // 0x3
+    field public static final int DOCUMENT_LAUNCH_NONE = 0; // 0x0
+    field public static final int FLAG_ALLOW_TASK_REPARENTING = 64; // 0x40
+    field public static final int FLAG_ALWAYS_RETAIN_TASK_STATE = 8; // 0x8
+    field public static final int FLAG_AUTO_REMOVE_FROM_RECENTS = 8192; // 0x2000
+    field public static final int FLAG_CLEAR_TASK_ON_LAUNCH = 4; // 0x4
+    field public static final int FLAG_ENABLE_VR_MODE = 32768; // 0x8000
+    field public static final int FLAG_EXCLUDE_FROM_RECENTS = 32; // 0x20
+    field public static final int FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS = 256; // 0x100
+    field public static final int FLAG_FINISH_ON_TASK_LAUNCH = 2; // 0x2
+    field public static final int FLAG_HARDWARE_ACCELERATED = 512; // 0x200
+    field public static final int FLAG_IMMERSIVE = 2048; // 0x800
+    field public static final int FLAG_MULTIPROCESS = 1; // 0x1
+    field public static final int FLAG_NO_HISTORY = 128; // 0x80
+    field public static final int FLAG_PREFER_MINIMAL_POST_PROCESSING = 33554432; // 0x2000000
+    field public static final int FLAG_RELINQUISH_TASK_IDENTITY = 4096; // 0x1000
+    field public static final int FLAG_RESUME_WHILE_PAUSING = 16384; // 0x4000
+    field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000
+    field public static final int FLAG_STATE_NOT_NEEDED = 16; // 0x10
+    field public static final int LAUNCH_MULTIPLE = 0; // 0x0
+    field public static final int LAUNCH_SINGLE_INSTANCE = 3; // 0x3
+    field public static final int LAUNCH_SINGLE_INSTANCE_PER_TASK = 4; // 0x4
+    field public static final int LAUNCH_SINGLE_TASK = 2; // 0x2
+    field public static final int LAUNCH_SINGLE_TOP = 1; // 0x1
+    field public static final int PERSIST_ACROSS_REBOOTS = 2; // 0x2
+    field public static final int PERSIST_NEVER = 1; // 0x1
+    field public static final int PERSIST_ROOT_ONLY = 0; // 0x0
+    field public static final int SCREEN_ORIENTATION_BEHIND = 3; // 0x3
+    field public static final int SCREEN_ORIENTATION_FULL_SENSOR = 10; // 0xa
+    field public static final int SCREEN_ORIENTATION_FULL_USER = 13; // 0xd
+    field public static final int SCREEN_ORIENTATION_LANDSCAPE = 0; // 0x0
+    field public static final int SCREEN_ORIENTATION_LOCKED = 14; // 0xe
+    field public static final int SCREEN_ORIENTATION_NOSENSOR = 5; // 0x5
+    field public static final int SCREEN_ORIENTATION_PORTRAIT = 1; // 0x1
+    field public static final int SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8; // 0x8
+    field public static final int SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9; // 0x9
+    field public static final int SCREEN_ORIENTATION_SENSOR = 4; // 0x4
+    field public static final int SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6; // 0x6
+    field public static final int SCREEN_ORIENTATION_SENSOR_PORTRAIT = 7; // 0x7
+    field public static final int SCREEN_ORIENTATION_UNSPECIFIED = -1; // 0xffffffff
+    field public static final int SCREEN_ORIENTATION_USER = 2; // 0x2
+    field public static final int SCREEN_ORIENTATION_USER_LANDSCAPE = 11; // 0xb
+    field public static final int SCREEN_ORIENTATION_USER_PORTRAIT = 12; // 0xc
+    field public static final int UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW = 1; // 0x1
+    field public int colorMode;
+    field public int configChanges;
+    field public int documentLaunchMode;
+    field public int flags;
+    field public int launchMode;
+    field public int maxRecents;
+    field public String parentActivityName;
+    field public String permission;
+    field public int persistableMode;
+    field public int screenOrientation;
+    field public int softInputMode;
+    field public String targetActivity;
+    field public String taskAffinity;
+    field public int theme;
+    field public int uiOptions;
+    field public android.content.pm.ActivityInfo.WindowLayout windowLayout;
+  }
+
+  public static final class ActivityInfo.WindowLayout {
+    ctor public ActivityInfo.WindowLayout(int, float, int, float, int, int, int);
+    field public final int gravity;
+    field public final int height;
+    field public final float heightFraction;
+    field public final int minHeight;
+    field public final int minWidth;
+    field public final int width;
+    field public final float widthFraction;
+  }
+
+  public final class ApkChecksum implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public java.security.cert.Certificate getInstallerCertificate() throws java.security.cert.CertificateException;
+    method @Nullable public String getInstallerPackageName();
+    method @Nullable public String getSplitName();
+    method public int getType();
+    method @NonNull public byte[] getValue();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ApkChecksum> CREATOR;
+  }
+
+  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    ctor public ApplicationInfo();
+    ctor public ApplicationInfo(android.content.pm.ApplicationInfo);
+    method public boolean areAttributionsUserVisible();
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public static CharSequence getCategoryTitle(android.content.Context, int);
+    method public int getGwpAsanMode();
+    method public int getMemtagMode();
+    method public int getNativeHeapZeroInitialized();
+    method public int getRequestRawExternalStorageAccess();
+    method public boolean isProfileable();
+    method public boolean isProfileableByShell();
+    method public boolean isResourceOverlay();
+    method public boolean isVirtualPreload();
+    method public CharSequence loadDescription(android.content.pm.PackageManager);
+    field public static final int CATEGORY_ACCESSIBILITY = 8; // 0x8
+    field public static final int CATEGORY_AUDIO = 1; // 0x1
+    field public static final int CATEGORY_GAME = 0; // 0x0
+    field public static final int CATEGORY_IMAGE = 3; // 0x3
+    field public static final int CATEGORY_MAPS = 6; // 0x6
+    field public static final int CATEGORY_NEWS = 5; // 0x5
+    field public static final int CATEGORY_PRODUCTIVITY = 7; // 0x7
+    field public static final int CATEGORY_SOCIAL = 4; // 0x4
+    field public static final int CATEGORY_UNDEFINED = -1; // 0xffffffff
+    field public static final int CATEGORY_VIDEO = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ApplicationInfo> CREATOR;
+    field public static final int FLAG_ALLOW_BACKUP = 32768; // 0x8000
+    field public static final int FLAG_ALLOW_CLEAR_USER_DATA = 64; // 0x40
+    field public static final int FLAG_ALLOW_TASK_REPARENTING = 32; // 0x20
+    field public static final int FLAG_DEBUGGABLE = 2; // 0x2
+    field public static final int FLAG_EXTERNAL_STORAGE = 262144; // 0x40000
+    field public static final int FLAG_EXTRACT_NATIVE_LIBS = 268435456; // 0x10000000
+    field public static final int FLAG_FACTORY_TEST = 16; // 0x10
+    field public static final int FLAG_FULL_BACKUP_ONLY = 67108864; // 0x4000000
+    field public static final int FLAG_HARDWARE_ACCELERATED = 536870912; // 0x20000000
+    field public static final int FLAG_HAS_CODE = 4; // 0x4
+    field public static final int FLAG_INSTALLED = 8388608; // 0x800000
+    field public static final int FLAG_IS_DATA_ONLY = 16777216; // 0x1000000
+    field @Deprecated public static final int FLAG_IS_GAME = 33554432; // 0x2000000
+    field public static final int FLAG_KILL_AFTER_RESTORE = 65536; // 0x10000
+    field public static final int FLAG_LARGE_HEAP = 1048576; // 0x100000
+    field public static final int FLAG_MULTIARCH = -2147483648; // 0x80000000
+    field public static final int FLAG_PERSISTENT = 8; // 0x8
+    field public static final int FLAG_RESIZEABLE_FOR_SCREENS = 4096; // 0x1000
+    field public static final int FLAG_RESTORE_ANY_VERSION = 131072; // 0x20000
+    field public static final int FLAG_STOPPED = 2097152; // 0x200000
+    field public static final int FLAG_SUPPORTS_LARGE_SCREENS = 2048; // 0x800
+    field public static final int FLAG_SUPPORTS_NORMAL_SCREENS = 1024; // 0x400
+    field public static final int FLAG_SUPPORTS_RTL = 4194304; // 0x400000
+    field @Deprecated public static final int FLAG_SUPPORTS_SCREEN_DENSITIES = 8192; // 0x2000
+    field public static final int FLAG_SUPPORTS_SMALL_SCREENS = 512; // 0x200
+    field public static final int FLAG_SUPPORTS_XLARGE_SCREENS = 524288; // 0x80000
+    field public static final int FLAG_SUSPENDED = 1073741824; // 0x40000000
+    field public static final int FLAG_SYSTEM = 1; // 0x1
+    field public static final int FLAG_TEST_ONLY = 256; // 0x100
+    field public static final int FLAG_UPDATED_SYSTEM_APP = 128; // 0x80
+    field public static final int FLAG_USES_CLEARTEXT_TRAFFIC = 134217728; // 0x8000000
+    field public static final int FLAG_VM_SAFE_MODE = 16384; // 0x4000
+    field public static final int GWP_ASAN_ALWAYS = 1; // 0x1
+    field public static final int GWP_ASAN_DEFAULT = -1; // 0xffffffff
+    field public static final int GWP_ASAN_NEVER = 0; // 0x0
+    field public static final int MEMTAG_ASYNC = 1; // 0x1
+    field public static final int MEMTAG_DEFAULT = -1; // 0xffffffff
+    field public static final int MEMTAG_OFF = 0; // 0x0
+    field public static final int MEMTAG_SYNC = 2; // 0x2
+    field public static final int RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT = 0; // 0x0
+    field public static final int RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED = 2; // 0x2
+    field public static final int RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED = 1; // 0x1
+    field public static final int ZEROINIT_DEFAULT = -1; // 0xffffffff
+    field public static final int ZEROINIT_DISABLED = 0; // 0x0
+    field public static final int ZEROINIT_ENABLED = 1; // 0x1
+    field public String appComponentFactory;
+    field public String backupAgentName;
+    field public int category;
+    field public String className;
+    field public int compatibleWidthLimitDp;
+    field public int compileSdkVersion;
+    field @Nullable public String compileSdkVersionCodename;
+    field public String dataDir;
+    field public int descriptionRes;
+    field public String deviceProtectedDataDir;
+    field public boolean enabled;
+    field public int flags;
+    field public int largestWidthLimitDp;
+    field public String manageSpaceActivityName;
+    field public int minSdkVersion;
+    field public String nativeLibraryDir;
+    field public String permission;
+    field public String processName;
+    field public String publicSourceDir;
+    field public int requiresSmallestWidthDp;
+    field public String[] sharedLibraryFiles;
+    field public String sourceDir;
+    field public String[] splitNames;
+    field public String[] splitPublicSourceDirs;
+    field public String[] splitSourceDirs;
+    field public java.util.UUID storageUuid;
+    field public int targetSdkVersion;
+    field public String taskAffinity;
+    field public int theme;
+    field public int uiOptions;
+    field public int uid;
+  }
+
+  public static class ApplicationInfo.DisplayNameComparator implements java.util.Comparator<android.content.pm.ApplicationInfo> {
+    ctor public ApplicationInfo.DisplayNameComparator(android.content.pm.PackageManager);
+    method public final int compare(android.content.pm.ApplicationInfo, android.content.pm.ApplicationInfo);
+  }
+
+  public final class Attribution implements android.os.Parcelable {
+    method public int describeContents();
+    method @IdRes public int getLabel();
+    method @NonNull public String getTag();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.Attribution> CREATOR;
+  }
+
+  public final class ChangedPackages implements android.os.Parcelable {
+    ctor public ChangedPackages(int, @NonNull java.util.List<java.lang.String>);
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getPackageNames();
+    method public int getSequenceNumber();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ChangedPackages> CREATOR;
+  }
+
+  public final class Checksum implements android.os.Parcelable {
+    ctor public Checksum(int, @NonNull byte[]);
+    method public int describeContents();
+    method public int getType();
+    method @NonNull public byte[] getValue();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.Checksum> CREATOR;
+    field public static final int TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256 = 32; // 0x20
+    field public static final int TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512 = 64; // 0x40
+    field @Deprecated public static final int TYPE_WHOLE_MD5 = 2; // 0x2
+    field public static final int TYPE_WHOLE_MERKLE_ROOT_4K_SHA256 = 1; // 0x1
+    field @Deprecated public static final int TYPE_WHOLE_SHA1 = 4; // 0x4
+    field @Deprecated public static final int TYPE_WHOLE_SHA256 = 8; // 0x8
+    field @Deprecated public static final int TYPE_WHOLE_SHA512 = 16; // 0x10
+  }
+
+  public class ComponentInfo extends android.content.pm.PackageItemInfo {
+    ctor public ComponentInfo();
+    ctor public ComponentInfo(android.content.pm.ComponentInfo);
+    ctor protected ComponentInfo(android.os.Parcel);
+    method public final int getBannerResource();
+    method public final int getIconResource();
+    method public final int getLogoResource();
+    method public boolean isEnabled();
+    field public android.content.pm.ApplicationInfo applicationInfo;
+    field public String[] attributionTags;
+    field public int descriptionRes;
+    field public boolean directBootAware;
+    field public boolean enabled;
+    field public boolean exported;
+    field public String processName;
+    field public String splitName;
+  }
+
+  public class ConfigurationInfo implements android.os.Parcelable {
+    ctor public ConfigurationInfo();
+    ctor public ConfigurationInfo(android.content.pm.ConfigurationInfo);
+    method public int describeContents();
+    method public String getGlEsVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ConfigurationInfo> CREATOR;
+    field public static final int GL_ES_VERSION_UNDEFINED = 0; // 0x0
+    field public static final int INPUT_FEATURE_FIVE_WAY_NAV = 2; // 0x2
+    field public static final int INPUT_FEATURE_HARD_KEYBOARD = 1; // 0x1
+    field public int reqGlEsVersion;
+    field public int reqInputFeatures;
+    field public int reqKeyboardType;
+    field public int reqNavigation;
+    field public int reqTouchScreen;
+  }
+
+  public class CrossProfileApps {
+    method public boolean canInteractAcrossProfiles();
+    method public boolean canRequestInteractAcrossProfiles();
+    method @NonNull public android.content.Intent createRequestInteractAcrossProfilesIntent();
+    method @NonNull public android.graphics.drawable.Drawable getProfileSwitchingIconDrawable(@NonNull android.os.UserHandle);
+    method @NonNull public CharSequence getProfileSwitchingLabel(@NonNull android.os.UserHandle);
+    method @NonNull public java.util.List<android.os.UserHandle> getTargetUserProfiles();
+    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_PROFILES, "android.permission.INTERACT_ACROSS_USERS"}) public void startActivity(@NonNull android.content.Intent, @NonNull android.os.UserHandle, @Nullable android.app.Activity);
+    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_PROFILES, "android.permission.INTERACT_ACROSS_USERS"}) public void startActivity(@NonNull android.content.Intent, @NonNull android.os.UserHandle, @Nullable android.app.Activity, @Nullable android.os.Bundle);
+    method public void startMainActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    field public static final String ACTION_CAN_INTERACT_ACROSS_PROFILES_CHANGED = "android.content.pm.action.CAN_INTERACT_ACROSS_PROFILES_CHANGED";
+  }
+
+  public final class FeatureGroupInfo implements android.os.Parcelable {
+    ctor public FeatureGroupInfo();
+    ctor public FeatureGroupInfo(android.content.pm.FeatureGroupInfo);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.FeatureGroupInfo> CREATOR;
+    field public android.content.pm.FeatureInfo[] features;
+  }
+
+  public class FeatureInfo implements android.os.Parcelable {
+    ctor public FeatureInfo();
+    ctor public FeatureInfo(android.content.pm.FeatureInfo);
+    method public int describeContents();
+    method public String getGlEsVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.FeatureInfo> CREATOR;
+    field public static final int FLAG_REQUIRED = 1; // 0x1
+    field public static final int GL_ES_VERSION_UNDEFINED = 0; // 0x0
+    field public int flags;
+    field public String name;
+    field public int reqGlEsVersion;
+    field public int version;
+  }
+
+  public final class InstallSourceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getInitiatingPackageName();
+    method @Nullable public android.content.pm.SigningInfo getInitiatingPackageSigningInfo();
+    method @Nullable public String getInstallingPackageName();
+    method @Nullable public String getOriginatingPackageName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstallSourceInfo> CREATOR;
+  }
+
+  public class InstrumentationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    ctor public InstrumentationInfo();
+    ctor public InstrumentationInfo(android.content.pm.InstrumentationInfo);
+    method public int describeContents();
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstrumentationInfo> CREATOR;
+    field public String dataDir;
+    field public boolean functionalTest;
+    field public boolean handleProfiling;
+    field public String publicSourceDir;
+    field public String sourceDir;
+    field public String[] splitNames;
+    field public String[] splitPublicSourceDirs;
+    field public String[] splitSourceDirs;
+    field public String targetPackage;
+    field public String targetProcesses;
+  }
+
+  public class LabeledIntent extends android.content.Intent {
+    ctor public LabeledIntent(android.content.Intent, String, int, int);
+    ctor public LabeledIntent(android.content.Intent, String, CharSequence, int);
+    ctor public LabeledIntent(String, int, int);
+    ctor public LabeledIntent(String, CharSequence, int);
+    method public int getIconResource();
+    method public int getLabelResource();
+    method public CharSequence getNonLocalizedLabel();
+    method public String getSourcePackage();
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LabeledIntent> CREATOR;
+  }
+
+  public class LauncherActivityInfo {
+    method @NonNull public android.content.pm.ActivityInfo getActivityInfo();
+    method public android.content.pm.ApplicationInfo getApplicationInfo();
+    method public android.graphics.drawable.Drawable getBadgedIcon(int);
+    method public android.content.ComponentName getComponentName();
+    method public long getFirstInstallTime();
+    method public android.graphics.drawable.Drawable getIcon(int);
+    method public CharSequence getLabel();
+    method @FloatRange(from=0.0, to=1.0) public float getLoadingProgress();
+    method public String getName();
+    method public android.os.UserHandle getUser();
+  }
+
+  public class LauncherApps {
+    method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(String, android.os.UserHandle);
+    method @NonNull public java.util.List<android.content.pm.PackageInstaller.SessionInfo> getAllPackageInstallerSessions();
+    method public android.content.pm.ApplicationInfo getApplicationInfo(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public android.content.pm.LauncherApps.PinItemRequest getPinItemRequest(android.content.Intent);
+    method public java.util.List<android.os.UserHandle> getProfiles();
+    method public android.graphics.drawable.Drawable getShortcutBadgedIconDrawable(android.content.pm.ShortcutInfo, int);
+    method @Nullable public android.content.IntentSender getShortcutConfigActivityIntent(@NonNull android.content.pm.LauncherActivityInfo);
+    method public java.util.List<android.content.pm.LauncherActivityInfo> getShortcutConfigActivityList(@Nullable String, @NonNull android.os.UserHandle);
+    method public android.graphics.drawable.Drawable getShortcutIconDrawable(@NonNull android.content.pm.ShortcutInfo, int);
+    method @Nullable public android.app.PendingIntent getShortcutIntent(@NonNull String, @NonNull String, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
+    method @Nullable public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(@NonNull android.content.pm.LauncherApps.ShortcutQuery, @NonNull android.os.UserHandle);
+    method @Nullable public android.os.Bundle getSuspendedPackageLauncherExtras(String, android.os.UserHandle);
+    method public boolean hasShortcutHostPermission();
+    method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle);
+    method public boolean isPackageEnabled(String, android.os.UserHandle);
+    method public void pinShortcuts(@NonNull String, @NonNull java.util.List<java.lang.String>, @NonNull android.os.UserHandle);
+    method public void registerCallback(android.content.pm.LauncherApps.Callback);
+    method public void registerCallback(android.content.pm.LauncherApps.Callback, android.os.Handler);
+    method public void registerPackageInstallerSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.content.pm.PackageInstaller.SessionCallback);
+    method public android.content.pm.LauncherActivityInfo resolveActivity(android.content.Intent, android.os.UserHandle);
+    method public boolean shouldHideFromSuggestions(@NonNull String, @NonNull android.os.UserHandle);
+    method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
+    method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
+    method public void startPackageInstallerSessionDetailsActivity(@NonNull android.content.pm.PackageInstaller.SessionInfo, @Nullable android.graphics.Rect, @Nullable android.os.Bundle);
+    method public void startShortcut(@NonNull String, @NonNull String, @Nullable android.graphics.Rect, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
+    method public void startShortcut(@NonNull android.content.pm.ShortcutInfo, @Nullable android.graphics.Rect, @Nullable android.os.Bundle);
+    method public void unregisterCallback(android.content.pm.LauncherApps.Callback);
+    method public void unregisterPackageInstallerSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback);
+    field public static final String ACTION_CONFIRM_PIN_APPWIDGET = "android.content.pm.action.CONFIRM_PIN_APPWIDGET";
+    field public static final String ACTION_CONFIRM_PIN_SHORTCUT = "android.content.pm.action.CONFIRM_PIN_SHORTCUT";
+    field public static final String EXTRA_PIN_ITEM_REQUEST = "android.content.pm.extra.PIN_ITEM_REQUEST";
+  }
+
+  public abstract static class LauncherApps.Callback {
+    ctor public LauncherApps.Callback();
+    method public abstract void onPackageAdded(String, android.os.UserHandle);
+    method public abstract void onPackageChanged(String, android.os.UserHandle);
+    method public void onPackageLoadingProgressChanged(@NonNull String, @NonNull android.os.UserHandle, float);
+    method public abstract void onPackageRemoved(String, android.os.UserHandle);
+    method public abstract void onPackagesAvailable(String[], android.os.UserHandle, boolean);
+    method public void onPackagesSuspended(String[], android.os.UserHandle);
+    method @Deprecated public void onPackagesSuspended(String[], android.os.UserHandle, @Nullable android.os.Bundle);
+    method public abstract void onPackagesUnavailable(String[], android.os.UserHandle, boolean);
+    method public void onPackagesUnsuspended(String[], android.os.UserHandle);
+    method public void onShortcutsChanged(@NonNull String, @NonNull java.util.List<android.content.pm.ShortcutInfo>, @NonNull android.os.UserHandle);
+  }
+
+  public static final class LauncherApps.PinItemRequest implements android.os.Parcelable {
+    method public boolean accept(@Nullable android.os.Bundle);
+    method public boolean accept();
+    method public int describeContents();
+    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo(android.content.Context);
+    method @Nullable public android.os.Bundle getExtras();
+    method public int getRequestType();
+    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
+    method public boolean isValid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.PinItemRequest> CREATOR;
+    field public static final int REQUEST_TYPE_APPWIDGET = 2; // 0x2
+    field public static final int REQUEST_TYPE_SHORTCUT = 1; // 0x1
+  }
+
+  public static class LauncherApps.ShortcutQuery {
+    ctor public LauncherApps.ShortcutQuery();
+    method public android.content.pm.LauncherApps.ShortcutQuery setActivity(@Nullable android.content.ComponentName);
+    method public android.content.pm.LauncherApps.ShortcutQuery setChangedSince(long);
+    method @NonNull public android.content.pm.LauncherApps.ShortcutQuery setLocusIds(@Nullable java.util.List<android.content.LocusId>);
+    method public android.content.pm.LauncherApps.ShortcutQuery setPackage(@Nullable String);
+    method public android.content.pm.LauncherApps.ShortcutQuery setQueryFlags(int);
+    method public android.content.pm.LauncherApps.ShortcutQuery setShortcutIds(@Nullable java.util.List<java.lang.String>);
+    field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4
+    field public static final int FLAG_MATCH_CACHED = 16; // 0x10
+    field public static final int FLAG_MATCH_DYNAMIC = 1; // 0x1
+    field public static final int FLAG_MATCH_MANIFEST = 8; // 0x8
+    field public static final int FLAG_MATCH_PINNED = 2; // 0x2
+    field public static final int FLAG_MATCH_PINNED_BY_ANY_LAUNCHER = 1024; // 0x400
+  }
+
+  public final class ModuleInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public CharSequence getName();
+    method @Nullable public String getPackageName();
+    method public boolean isHidden();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ModuleInfo> CREATOR;
+  }
+
+  public class PackageInfo implements android.os.Parcelable {
+    ctor public PackageInfo();
+    method public int describeContents();
+    method public long getLongVersionCode();
+    method public void setLongVersionCode(long);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageInfo> CREATOR;
+    field public static final int INSTALL_LOCATION_AUTO = 0; // 0x0
+    field public static final int INSTALL_LOCATION_INTERNAL_ONLY = 1; // 0x1
+    field public static final int INSTALL_LOCATION_PREFER_EXTERNAL = 2; // 0x2
+    field public static final int REQUESTED_PERMISSION_GRANTED = 2; // 0x2
+    field public static final int REQUESTED_PERMISSION_NEVER_FOR_LOCATION = 65536; // 0x10000
+    field public android.content.pm.ActivityInfo[] activities;
+    field public android.content.pm.ApplicationInfo applicationInfo;
+    field @Nullable public android.content.pm.Attribution[] attributions;
+    field public int baseRevisionCode;
+    field public android.content.pm.ConfigurationInfo[] configPreferences;
+    field public android.content.pm.FeatureGroupInfo[] featureGroups;
+    field public long firstInstallTime;
+    field public int[] gids;
+    field public int installLocation;
+    field public android.content.pm.InstrumentationInfo[] instrumentation;
+    field public boolean isApex;
+    field public long lastUpdateTime;
+    field public String packageName;
+    field public android.content.pm.PermissionInfo[] permissions;
+    field public android.content.pm.ProviderInfo[] providers;
+    field public android.content.pm.ActivityInfo[] receivers;
+    field public android.content.pm.FeatureInfo[] reqFeatures;
+    field public String[] requestedPermissions;
+    field public int[] requestedPermissionsFlags;
+    field public android.content.pm.ServiceInfo[] services;
+    field public String sharedUserId;
+    field public int sharedUserLabel;
+    field @Deprecated public android.content.pm.Signature[] signatures;
+    field public android.content.pm.SigningInfo signingInfo;
+    field public String[] splitNames;
+    field public int[] splitRevisionCodes;
+    field @Deprecated public int versionCode;
+    field public String versionName;
+  }
+
+  public class PackageInstaller {
+    method public void abandonSession(int);
+    method public int createSession(@NonNull android.content.pm.PackageInstaller.SessionParams) throws java.io.IOException;
+    method @Deprecated @Nullable public android.content.pm.PackageInstaller.SessionInfo getActiveStagedSession();
+    method @NonNull public java.util.List<android.content.pm.PackageInstaller.SessionInfo> getActiveStagedSessions();
+    method @NonNull public java.util.List<android.content.pm.PackageInstaller.SessionInfo> getAllSessions();
+    method @NonNull public java.util.List<android.content.pm.PackageInstaller.SessionInfo> getMySessions();
+    method @Nullable public android.content.pm.PackageInstaller.SessionInfo getSessionInfo(int);
+    method @NonNull public java.util.List<android.content.pm.PackageInstaller.SessionInfo> getStagedSessions();
+    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.INSTALL_EXISTING_PACKAGES"}) public void installExistingPackage(@NonNull String, int, @Nullable android.content.IntentSender);
+    method @NonNull public android.content.pm.PackageInstaller.Session openSession(int) throws java.io.IOException;
+    method public void registerSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback);
+    method public void registerSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DELETE_PACKAGES, android.Manifest.permission.REQUEST_DELETE_PACKAGES}) public void uninstall(@NonNull String, @NonNull android.content.IntentSender);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DELETE_PACKAGES, android.Manifest.permission.REQUEST_DELETE_PACKAGES}) public void uninstall(@NonNull android.content.pm.VersionedPackage, @NonNull android.content.IntentSender);
+    method @RequiresPermission(android.Manifest.permission.DELETE_PACKAGES) public void uninstallExistingPackage(@NonNull String, @Nullable android.content.IntentSender);
+    method public void unregisterSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback);
+    method public void updateSessionAppIcon(int, @Nullable android.graphics.Bitmap);
+    method public void updateSessionAppLabel(int, @Nullable CharSequence);
+    field public static final String ACTION_SESSION_COMMITTED = "android.content.pm.action.SESSION_COMMITTED";
+    field public static final String ACTION_SESSION_DETAILS = "android.content.pm.action.SESSION_DETAILS";
+    field public static final String ACTION_SESSION_UPDATED = "android.content.pm.action.SESSION_UPDATED";
+    field public static final String EXTRA_OTHER_PACKAGE_NAME = "android.content.pm.extra.OTHER_PACKAGE_NAME";
+    field public static final String EXTRA_PACKAGE_NAME = "android.content.pm.extra.PACKAGE_NAME";
+    field public static final String EXTRA_SESSION = "android.content.pm.extra.SESSION";
+    field public static final String EXTRA_SESSION_ID = "android.content.pm.extra.SESSION_ID";
+    field public static final String EXTRA_STATUS = "android.content.pm.extra.STATUS";
+    field public static final String EXTRA_STATUS_MESSAGE = "android.content.pm.extra.STATUS_MESSAGE";
+    field public static final String EXTRA_STORAGE_PATH = "android.content.pm.extra.STORAGE_PATH";
+    field public static final int STATUS_FAILURE = 1; // 0x1
+    field public static final int STATUS_FAILURE_ABORTED = 3; // 0x3
+    field public static final int STATUS_FAILURE_BLOCKED = 2; // 0x2
+    field public static final int STATUS_FAILURE_CONFLICT = 5; // 0x5
+    field public static final int STATUS_FAILURE_INCOMPATIBLE = 7; // 0x7
+    field public static final int STATUS_FAILURE_INVALID = 4; // 0x4
+    field public static final int STATUS_FAILURE_STORAGE = 6; // 0x6
+    field public static final int STATUS_PENDING_USER_ACTION = -1; // 0xffffffff
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public static class PackageInstaller.Session implements java.io.Closeable {
+    method public void abandon();
+    method public void addChildSessionId(int);
+    method public void close();
+    method public void commit(@NonNull android.content.IntentSender);
+    method public void fsync(@NonNull java.io.OutputStream) throws java.io.IOException;
+    method @NonNull public int[] getChildSessionIds();
+    method @NonNull public String[] getNames() throws java.io.IOException;
+    method public int getParentSessionId();
+    method public boolean isMultiPackage();
+    method public boolean isStaged();
+    method @NonNull public java.io.InputStream openRead(@NonNull String) throws java.io.IOException;
+    method @NonNull public java.io.OutputStream openWrite(@NonNull String, long, long) throws java.io.IOException;
+    method public void removeChildSessionId(int);
+    method public void removeSplit(@NonNull String) throws java.io.IOException;
+    method @Deprecated public void setChecksums(@NonNull String, @NonNull java.util.List<android.content.pm.Checksum>, @Nullable byte[]) throws java.io.IOException;
+    method public void setStagingProgress(float);
+    method public void transfer(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+  }
+
+  public abstract static class PackageInstaller.SessionCallback {
+    ctor public PackageInstaller.SessionCallback();
+    method public abstract void onActiveChanged(int, boolean);
+    method public abstract void onBadgingChanged(int);
+    method public abstract void onCreated(int);
+    method public abstract void onFinished(int, boolean);
+    method public abstract void onProgressChanged(int, float);
+  }
+
+  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
+    method @Nullable public android.content.Intent createDetailsIntent();
+    method public int describeContents();
+    method @Nullable public android.graphics.Bitmap getAppIcon();
+    method @Nullable public CharSequence getAppLabel();
+    method @Nullable public String getAppPackageName();
+    method @NonNull public int[] getChildSessionIds();
+    method public long getCreatedMillis();
+    method public int getInstallLocation();
+    method public int getInstallReason();
+    method @Nullable public String getInstallerAttributionTag();
+    method @Nullable public String getInstallerPackageName();
+    method public int getMode();
+    method public int getOriginatingUid();
+    method @Nullable public android.net.Uri getOriginatingUri();
+    method public int getParentSessionId();
+    method public float getProgress();
+    method @Nullable public android.net.Uri getReferrerUri();
+    method public int getRequireUserAction();
+    method public int getSessionId();
+    method public long getSize();
+    method public int getStagedSessionErrorCode();
+    method @NonNull public String getStagedSessionErrorMessage();
+    method public long getUpdatedMillis();
+    method @NonNull public android.os.UserHandle getUser();
+    method public boolean hasParentSessionId();
+    method public boolean isActive();
+    method public boolean isCommitted();
+    method public boolean isMultiPackage();
+    method public boolean isSealed();
+    method public boolean isStaged();
+    method public boolean isStagedSessionActive();
+    method public boolean isStagedSessionApplied();
+    method public boolean isStagedSessionFailed();
+    method public boolean isStagedSessionReady();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.content.pm.PackageInstaller.SessionInfo> CREATOR;
+    field public static final int INVALID_ID = -1; // 0xffffffff
+    field public static final int STAGED_SESSION_ACTIVATION_FAILED = 2; // 0x2
+    field public static final int STAGED_SESSION_CONFLICT = 4; // 0x4
+    field public static final int STAGED_SESSION_NO_ERROR = 0; // 0x0
+    field public static final int STAGED_SESSION_UNKNOWN = 3; // 0x3
+    field public static final int STAGED_SESSION_VERIFICATION_FAILED = 1; // 0x1
+  }
+
+  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
+    ctor public PackageInstaller.SessionParams(int);
+    method public int describeContents();
+    method public void setAppIcon(@Nullable android.graphics.Bitmap);
+    method public void setAppLabel(@Nullable CharSequence);
+    method public void setAppPackageName(@Nullable String);
+    method @Deprecated public void setAutoRevokePermissionsMode(boolean);
+    method public void setInstallLocation(int);
+    method public void setInstallReason(int);
+    method public void setInstallScenario(int);
+    method public void setMultiPackage();
+    method public void setOriginatingUid(int);
+    method public void setOriginatingUri(@Nullable android.net.Uri);
+    method public void setReferrerUri(@Nullable android.net.Uri);
+    method public void setRequireUserAction(int);
+    method public void setSize(long);
+    method public void setWhitelistedRestrictedPermissions(@Nullable java.util.Set<java.lang.String>);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.content.pm.PackageInstaller.SessionParams> CREATOR;
+    field public static final int MODE_FULL_INSTALL = 1; // 0x1
+    field public static final int MODE_INHERIT_EXISTING = 2; // 0x2
+    field @NonNull public static final java.util.Set<java.lang.String> RESTRICTED_PERMISSIONS_ALL;
+    field public static final int USER_ACTION_NOT_REQUIRED = 2; // 0x2
+    field public static final int USER_ACTION_REQUIRED = 1; // 0x1
+    field public static final int USER_ACTION_UNSPECIFIED = 0; // 0x0
+  }
+
+  public class PackageItemInfo {
+    ctor public PackageItemInfo();
+    ctor public PackageItemInfo(android.content.pm.PackageItemInfo);
+    ctor protected PackageItemInfo(android.os.Parcel);
+    method protected void dumpBack(android.util.Printer, String);
+    method protected void dumpFront(android.util.Printer, String);
+    method public android.graphics.drawable.Drawable loadBanner(android.content.pm.PackageManager);
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
+    method public android.graphics.drawable.Drawable loadLogo(android.content.pm.PackageManager);
+    method public android.graphics.drawable.Drawable loadUnbadgedIcon(android.content.pm.PackageManager);
+    method public android.content.res.XmlResourceParser loadXmlMetaData(android.content.pm.PackageManager, String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public int banner;
+    field public int icon;
+    field public int labelRes;
+    field public int logo;
+    field public android.os.Bundle metaData;
+    field public String name;
+    field public CharSequence nonLocalizedLabel;
+    field public String packageName;
+  }
+
+  public static class PackageItemInfo.DisplayNameComparator implements java.util.Comparator<android.content.pm.PackageItemInfo> {
+    ctor public PackageItemInfo.DisplayNameComparator(android.content.pm.PackageManager);
+    method public final int compare(android.content.pm.PackageItemInfo, android.content.pm.PackageItemInfo);
+  }
+
+  public abstract class PackageManager {
+    ctor @Deprecated public PackageManager();
+    method @Deprecated public abstract void addPackageToPreferred(@NonNull String);
+    method public abstract boolean addPermission(@NonNull android.content.pm.PermissionInfo);
+    method public abstract boolean addPermissionAsync(@NonNull android.content.pm.PermissionInfo);
+    method @Deprecated public abstract void addPreferredActivity(@NonNull android.content.IntentFilter, int, @Nullable android.content.ComponentName[], @NonNull android.content.ComponentName);
+    method @RequiresPermission(value="android.permission.WHITELIST_RESTRICTED_PERMISSIONS", conditional=true) public boolean addWhitelistedRestrictedPermission(@NonNull String, @NonNull String, int);
+    method public abstract boolean canRequestPackageInstalls();
+    method public abstract String[] canonicalToCurrentPackageNames(@NonNull String[]);
+    method @CheckResult public abstract int checkPermission(@NonNull String, @NonNull String);
+    method @CheckResult public abstract int checkSignatures(@NonNull String, @NonNull String);
+    method @CheckResult public abstract int checkSignatures(int, int);
+    method public abstract void clearInstantAppCookie();
+    method @Deprecated public abstract void clearPackagePreferredActivities(@NonNull String);
+    method public abstract String[] currentToCanonicalPackageNames(@NonNull String[]);
+    method public abstract void extendVerificationTimeout(int, int, long);
+    method @Nullable public abstract android.graphics.drawable.Drawable getActivityBanner(@NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract android.graphics.drawable.Drawable getActivityBanner(@NonNull android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.graphics.drawable.Drawable getActivityIcon(@NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.graphics.drawable.Drawable getActivityIcon(@NonNull android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.ActivityInfo getActivityInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract android.graphics.drawable.Drawable getActivityLogo(@NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract android.graphics.drawable.Drawable getActivityLogo(@NonNull android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract java.util.List<android.content.pm.PermissionGroupInfo> getAllPermissionGroups(int);
+    method @Nullable public abstract android.graphics.drawable.Drawable getApplicationBanner(@NonNull android.content.pm.ApplicationInfo);
+    method @Nullable public abstract android.graphics.drawable.Drawable getApplicationBanner(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract int getApplicationEnabledSetting(@NonNull String);
+    method @NonNull public abstract android.graphics.drawable.Drawable getApplicationIcon(@NonNull android.content.pm.ApplicationInfo);
+    method @NonNull public abstract android.graphics.drawable.Drawable getApplicationIcon(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.ApplicationInfo getApplicationInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract CharSequence getApplicationLabel(@NonNull android.content.pm.ApplicationInfo);
+    method @Nullable public abstract android.graphics.drawable.Drawable getApplicationLogo(@NonNull android.content.pm.ApplicationInfo);
+    method @Nullable public abstract android.graphics.drawable.Drawable getApplicationLogo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public CharSequence getBackgroundPermissionOptionLabel();
+    method @Nullable public abstract android.content.pm.ChangedPackages getChangedPackages(@IntRange(from=0) int);
+    method public abstract int getComponentEnabledSetting(@NonNull android.content.ComponentName);
+    method @NonNull public abstract android.graphics.drawable.Drawable getDefaultActivityIcon();
+    method @Nullable public abstract android.graphics.drawable.Drawable getDrawable(@NonNull String, @DrawableRes int, @Nullable android.content.pm.ApplicationInfo);
+    method public void getGroupOfPlatformPermission(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.String>);
+    method @NonNull public android.content.pm.InstallSourceInfo getInstallSourceInfo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
+    method @NonNull public java.util.List<android.content.pm.ModuleInfo> getInstalledModules(int);
+    method @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
+    method @Deprecated @Nullable public abstract String getInstallerPackageName(@NonNull String);
+    method @NonNull public abstract byte[] getInstantAppCookie();
+    method public abstract int getInstantAppCookieMaxBytes();
+    method @NonNull public abstract android.content.pm.InstrumentationInfo getInstrumentationInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract android.content.Intent getLaunchIntentForPackage(@NonNull String);
+    method @Nullable public abstract android.content.Intent getLeanbackLaunchIntentForPackage(@NonNull String);
+    method @NonNull public java.util.Set<java.lang.String> getMimeGroup(@NonNull String);
+    method @NonNull public android.content.pm.ModuleInfo getModuleInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract String getNameForUid(int);
+    method @Nullable public android.content.pm.PackageInfo getPackageArchiveInfo(@NonNull String, int);
+    method public abstract int[] getPackageGids(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract int[] getPackageGids(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract android.content.pm.PackageInfo getPackageInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract android.content.pm.PackageInfo getPackageInfo(@NonNull android.content.pm.VersionedPackage, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.PackageInstaller getPackageInstaller();
+    method public abstract int getPackageUid(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract String[] getPackagesForUid(int);
+    method @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getPackagesHoldingPermissions(@NonNull String[], int);
+    method @NonNull public abstract android.content.pm.PermissionGroupInfo getPermissionGroupInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract android.content.pm.PermissionInfo getPermissionInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public void getPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
+    method @Deprecated public abstract int getPreferredActivities(@NonNull java.util.List<android.content.IntentFilter>, @NonNull java.util.List<android.content.ComponentName>, @Nullable String);
+    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getPreferredPackages(int);
+    method @NonNull public android.content.pm.PackageManager.Property getProperty(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public android.content.pm.PackageManager.Property getProperty(@NonNull String, @NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.ProviderInfo getProviderInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.ActivityInfo getReceiverInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.res.Resources getResourcesForActivity(@NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.res.Resources getResourcesForApplication(@NonNull android.content.pm.ApplicationInfo) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public android.content.res.Resources getResourcesForApplication(@NonNull android.content.pm.ApplicationInfo, @Nullable android.content.res.Configuration) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.res.Resources getResourcesForApplication(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.ServiceInfo getServiceInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract java.util.List<android.content.pm.SharedLibraryInfo> getSharedLibraries(int);
+    method @Nullable public android.os.Bundle getSuspendedPackageAppExtras();
+    method public boolean getSyntheticAppDetailsActivityEnabled(@NonNull String);
+    method @NonNull public abstract android.content.pm.FeatureInfo[] getSystemAvailableFeatures();
+    method @Nullable public abstract String[] getSystemSharedLibraryNames();
+    method @IntRange(from=0) public int getTargetSdkVersion(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract CharSequence getText(@NonNull String, @StringRes int, @Nullable android.content.pm.ApplicationInfo);
+    method @NonNull public abstract android.graphics.drawable.Drawable getUserBadgedDrawableForDensity(@NonNull android.graphics.drawable.Drawable, @NonNull android.os.UserHandle, @Nullable android.graphics.Rect, int);
+    method @NonNull public abstract android.graphics.drawable.Drawable getUserBadgedIcon(@NonNull android.graphics.drawable.Drawable, @NonNull android.os.UserHandle);
+    method @NonNull public abstract CharSequence getUserBadgedLabel(@NonNull CharSequence, @NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission(value="android.permission.WHITELIST_RESTRICTED_PERMISSIONS", conditional=true) public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions(@NonNull String, int);
+    method @Nullable public abstract android.content.res.XmlResourceParser getXml(@NonNull String, @XmlRes int, @Nullable android.content.pm.ApplicationInfo);
+    method public boolean hasSigningCertificate(@NonNull String, @NonNull byte[], int);
+    method public boolean hasSigningCertificate(int, @NonNull byte[], int);
+    method public abstract boolean hasSystemFeature(@NonNull String);
+    method public abstract boolean hasSystemFeature(@NonNull String, int);
+    method @RequiresPermission(value="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS", conditional=true) public boolean isAutoRevokeWhitelisted(@NonNull String);
+    method public boolean isAutoRevokeWhitelisted();
+    method public boolean isDefaultApplicationIcon(@NonNull android.graphics.drawable.Drawable);
+    method public boolean isDeviceUpgrading();
+    method public abstract boolean isInstantApp();
+    method public abstract boolean isInstantApp(@NonNull String);
+    method public boolean isPackageSuspended(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public boolean isPackageSuspended();
+    method @CheckResult public abstract boolean isPermissionRevokedByPolicy(@NonNull String, @NonNull String);
+    method public abstract boolean isSafeMode();
+    method @NonNull public java.util.List<android.content.pm.PackageManager.Property> queryActivityProperty(@NonNull String);
+    method @NonNull public java.util.List<android.content.pm.PackageManager.Property> queryApplicationProperty(@NonNull String);
+    method @NonNull public abstract java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(@NonNull android.content.Intent, int);
+    method @NonNull public abstract java.util.List<android.content.pm.ProviderInfo> queryContentProviders(@Nullable String, int, int);
+    method @NonNull public abstract java.util.List<android.content.pm.InstrumentationInfo> queryInstrumentation(@NonNull String, int);
+    method @NonNull public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentActivities(@NonNull android.content.Intent, int);
+    method @NonNull public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentActivityOptions(@Nullable android.content.ComponentName, @Nullable android.content.Intent[], @NonNull android.content.Intent, int);
+    method @NonNull public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentContentProviders(@NonNull android.content.Intent, int);
+    method @NonNull public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentServices(@NonNull android.content.Intent, int);
+    method @NonNull public abstract java.util.List<android.content.pm.PermissionInfo> queryPermissionsByGroup(@Nullable String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public java.util.List<android.content.pm.PackageManager.Property> queryProviderProperty(@NonNull String);
+    method @NonNull public java.util.List<android.content.pm.PackageManager.Property> queryReceiverProperty(@NonNull String);
+    method @NonNull public java.util.List<android.content.pm.PackageManager.Property> queryServiceProperty(@NonNull String);
+    method @Deprecated public abstract void removePackageFromPreferred(@NonNull String);
+    method public abstract void removePermission(@NonNull String);
+    method @RequiresPermission(value="android.permission.WHITELIST_RESTRICTED_PERMISSIONS", conditional=true) public boolean removeWhitelistedRestrictedPermission(@NonNull String, @NonNull String, int);
+    method public void requestChecksums(@NonNull String, boolean, int, @NonNull java.util.List<java.security.cert.Certificate>, @NonNull android.content.pm.PackageManager.OnChecksumsReadyListener) throws java.security.cert.CertificateEncodingException, android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract android.content.pm.ResolveInfo resolveActivity(@NonNull android.content.Intent, int);
+    method @Nullable public abstract android.content.pm.ProviderInfo resolveContentProvider(@NonNull String, int);
+    method @Nullable public abstract android.content.pm.ResolveInfo resolveService(@NonNull android.content.Intent, int);
+    method public abstract void setApplicationCategoryHint(@NonNull String, int);
+    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public abstract void setApplicationEnabledSetting(@NonNull String, int, int);
+    method @RequiresPermission(value="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS", conditional=true) public boolean setAutoRevokeWhitelisted(@NonNull String, boolean);
+    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public abstract void setComponentEnabledSetting(@NonNull android.content.ComponentName, int, int);
+    method public abstract void setInstallerPackageName(@NonNull String, @Nullable String);
+    method public void setMimeGroup(@NonNull String, @NonNull java.util.Set<java.lang.String>);
+    method public abstract void updateInstantAppCookie(@Nullable byte[]);
+    method public abstract void verifyPendingInstall(int, int);
+    field public static final int CERT_INPUT_RAW_X509 = 0; // 0x0
+    field public static final int CERT_INPUT_SHA256 = 1; // 0x1
+    field public static final int COMPONENT_ENABLED_STATE_DEFAULT = 0; // 0x0
+    field public static final int COMPONENT_ENABLED_STATE_DISABLED = 2; // 0x2
+    field public static final int COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED = 4; // 0x4
+    field public static final int COMPONENT_ENABLED_STATE_DISABLED_USER = 3; // 0x3
+    field public static final int COMPONENT_ENABLED_STATE_ENABLED = 1; // 0x1
+    field public static final int DONT_KILL_APP = 1; // 0x1
+    field public static final String EXTRA_VERIFICATION_ID = "android.content.pm.extra.VERIFICATION_ID";
+    field public static final String EXTRA_VERIFICATION_RESULT = "android.content.pm.extra.VERIFICATION_RESULT";
+    field public static final String FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS = "android.software.activities_on_secondary_displays";
+    field public static final String FEATURE_APP_WIDGETS = "android.software.app_widgets";
+    field public static final String FEATURE_AUDIO_LOW_LATENCY = "android.hardware.audio.low_latency";
+    field public static final String FEATURE_AUDIO_OUTPUT = "android.hardware.audio.output";
+    field public static final String FEATURE_AUDIO_PRO = "android.hardware.audio.pro";
+    field public static final String FEATURE_AUTOFILL = "android.software.autofill";
+    field public static final String FEATURE_AUTOMOTIVE = "android.hardware.type.automotive";
+    field public static final String FEATURE_BACKUP = "android.software.backup";
+    field public static final String FEATURE_BLUETOOTH = "android.hardware.bluetooth";
+    field public static final String FEATURE_BLUETOOTH_LE = "android.hardware.bluetooth_le";
+    field public static final String FEATURE_CAMERA = "android.hardware.camera";
+    field public static final String FEATURE_CAMERA_ANY = "android.hardware.camera.any";
+    field public static final String FEATURE_CAMERA_AR = "android.hardware.camera.ar";
+    field public static final String FEATURE_CAMERA_AUTOFOCUS = "android.hardware.camera.autofocus";
+    field public static final String FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING = "android.hardware.camera.capability.manual_post_processing";
+    field public static final String FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR = "android.hardware.camera.capability.manual_sensor";
+    field public static final String FEATURE_CAMERA_CAPABILITY_RAW = "android.hardware.camera.capability.raw";
+    field public static final String FEATURE_CAMERA_CONCURRENT = "android.hardware.camera.concurrent";
+    field public static final String FEATURE_CAMERA_EXTERNAL = "android.hardware.camera.external";
+    field public static final String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash";
+    field public static final String FEATURE_CAMERA_FRONT = "android.hardware.camera.front";
+    field public static final String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full";
+    field public static final String FEATURE_CANT_SAVE_STATE = "android.software.cant_save_state";
+    field public static final String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup";
+    field public static final String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice";
+    field public static final String FEATURE_CONSUMER_IR = "android.hardware.consumerir";
+    field public static final String FEATURE_CONTROLS = "android.software.controls";
+    field public static final String FEATURE_DEVICE_ADMIN = "android.software.device_admin";
+    field public static final String FEATURE_EMBEDDED = "android.hardware.type.embedded";
+    field public static final String FEATURE_ETHERNET = "android.hardware.ethernet";
+    field public static final String FEATURE_FACE = "android.hardware.biometrics.face";
+    field public static final String FEATURE_FAKETOUCH = "android.hardware.faketouch";
+    field public static final String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT = "android.hardware.faketouch.multitouch.distinct";
+    field public static final String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND = "android.hardware.faketouch.multitouch.jazzhand";
+    field public static final String FEATURE_FINGERPRINT = "android.hardware.fingerprint";
+    field public static final String FEATURE_FREEFORM_WINDOW_MANAGEMENT = "android.software.freeform_window_management";
+    field public static final String FEATURE_GAMEPAD = "android.hardware.gamepad";
+    field public static final String FEATURE_HARDWARE_KEYSTORE = "android.hardware.hardware_keystore";
+    field public static final String FEATURE_HIFI_SENSORS = "android.hardware.sensor.hifi_sensors";
+    field public static final String FEATURE_HOME_SCREEN = "android.software.home_screen";
+    field public static final String FEATURE_IDENTITY_CREDENTIAL_HARDWARE = "android.hardware.identity_credential";
+    field public static final String FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS = "android.hardware.identity_credential_direct_access";
+    field public static final String FEATURE_INPUT_METHODS = "android.software.input_methods";
+    field public static final String FEATURE_IPSEC_TUNNELS = "android.software.ipsec_tunnels";
+    field public static final String FEATURE_IRIS = "android.hardware.biometrics.iris";
+    field public static final String FEATURE_KEYSTORE_APP_ATTEST_KEY = "android.hardware.keystore.app_attest_key";
+    field public static final String FEATURE_KEYSTORE_LIMITED_USE_KEY = "android.hardware.keystore.limited_use_key";
+    field public static final String FEATURE_KEYSTORE_SINGLE_USE_KEY = "android.hardware.keystore.single_use_key";
+    field public static final String FEATURE_LEANBACK = "android.software.leanback";
+    field public static final String FEATURE_LEANBACK_ONLY = "android.software.leanback_only";
+    field public static final String FEATURE_LIVE_TV = "android.software.live_tv";
+    field public static final String FEATURE_LIVE_WALLPAPER = "android.software.live_wallpaper";
+    field public static final String FEATURE_LOCATION = "android.hardware.location";
+    field public static final String FEATURE_LOCATION_GPS = "android.hardware.location.gps";
+    field public static final String FEATURE_LOCATION_NETWORK = "android.hardware.location.network";
+    field public static final String FEATURE_MANAGED_USERS = "android.software.managed_users";
+    field public static final String FEATURE_MICROPHONE = "android.hardware.microphone";
+    field public static final String FEATURE_MIDI = "android.software.midi";
+    field public static final String FEATURE_NFC = "android.hardware.nfc";
+    field public static final String FEATURE_NFC_BEAM = "android.sofware.nfc.beam";
+    field public static final String FEATURE_NFC_HOST_CARD_EMULATION = "android.hardware.nfc.hce";
+    field public static final String FEATURE_NFC_HOST_CARD_EMULATION_NFCF = "android.hardware.nfc.hcef";
+    field public static final String FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE = "android.hardware.nfc.ese";
+    field public static final String FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC = "android.hardware.nfc.uicc";
+    field public static final String FEATURE_OPENGLES_DEQP_LEVEL = "android.software.opengles.deqp.level";
+    field public static final String FEATURE_OPENGLES_EXTENSION_PACK = "android.hardware.opengles.aep";
+    field public static final String FEATURE_PC = "android.hardware.type.pc";
+    field public static final String FEATURE_PICTURE_IN_PICTURE = "android.software.picture_in_picture";
+    field public static final String FEATURE_PRINTING = "android.software.print";
+    field public static final String FEATURE_RAM_LOW = "android.hardware.ram.low";
+    field public static final String FEATURE_RAM_NORMAL = "android.hardware.ram.normal";
+    field public static final String FEATURE_SCREEN_LANDSCAPE = "android.hardware.screen.landscape";
+    field public static final String FEATURE_SCREEN_PORTRAIT = "android.hardware.screen.portrait";
+    field public static final String FEATURE_SECURELY_REMOVES_USERS = "android.software.securely_removes_users";
+    field public static final String FEATURE_SECURE_LOCK_SCREEN = "android.software.secure_lock_screen";
+    field public static final String FEATURE_SECURITY_MODEL_COMPATIBLE = "android.hardware.security.model.compatible";
+    field public static final String FEATURE_SENSOR_ACCELEROMETER = "android.hardware.sensor.accelerometer";
+    field public static final String FEATURE_SENSOR_AMBIENT_TEMPERATURE = "android.hardware.sensor.ambient_temperature";
+    field public static final String FEATURE_SENSOR_BAROMETER = "android.hardware.sensor.barometer";
+    field public static final String FEATURE_SENSOR_COMPASS = "android.hardware.sensor.compass";
+    field public static final String FEATURE_SENSOR_GYROSCOPE = "android.hardware.sensor.gyroscope";
+    field public static final String FEATURE_SENSOR_HEART_RATE = "android.hardware.sensor.heartrate";
+    field public static final String FEATURE_SENSOR_HEART_RATE_ECG = "android.hardware.sensor.heartrate.ecg";
+    field public static final String FEATURE_SENSOR_HINGE_ANGLE = "android.hardware.sensor.hinge_angle";
+    field public static final String FEATURE_SENSOR_LIGHT = "android.hardware.sensor.light";
+    field public static final String FEATURE_SENSOR_PROXIMITY = "android.hardware.sensor.proximity";
+    field public static final String FEATURE_SENSOR_RELATIVE_HUMIDITY = "android.hardware.sensor.relative_humidity";
+    field public static final String FEATURE_SENSOR_STEP_COUNTER = "android.hardware.sensor.stepcounter";
+    field public static final String FEATURE_SENSOR_STEP_DETECTOR = "android.hardware.sensor.stepdetector";
+    field public static final String FEATURE_SE_OMAPI_ESE = "android.hardware.se.omapi.ese";
+    field public static final String FEATURE_SE_OMAPI_SD = "android.hardware.se.omapi.sd";
+    field public static final String FEATURE_SE_OMAPI_UICC = "android.hardware.se.omapi.uicc";
+    field public static final String FEATURE_SIP = "android.software.sip";
+    field public static final String FEATURE_SIP_VOIP = "android.software.sip.voip";
+    field public static final String FEATURE_STRONGBOX_KEYSTORE = "android.hardware.strongbox_keystore";
+    field public static final String FEATURE_TELEPHONY = "android.hardware.telephony";
+    field public static final String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma";
+    field public static final String FEATURE_TELEPHONY_EUICC = "android.hardware.telephony.euicc";
+    field public static final String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm";
+    field public static final String FEATURE_TELEPHONY_IMS = "android.hardware.telephony.ims";
+    field public static final String FEATURE_TELEPHONY_MBMS = "android.hardware.telephony.mbms";
+    field @Deprecated public static final String FEATURE_TELEVISION = "android.hardware.type.television";
+    field public static final String FEATURE_TOUCHSCREEN = "android.hardware.touchscreen";
+    field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch";
+    field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT = "android.hardware.touchscreen.multitouch.distinct";
+    field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND = "android.hardware.touchscreen.multitouch.jazzhand";
+    field public static final String FEATURE_USB_ACCESSORY = "android.hardware.usb.accessory";
+    field public static final String FEATURE_USB_HOST = "android.hardware.usb.host";
+    field public static final String FEATURE_VERIFIED_BOOT = "android.software.verified_boot";
+    field public static final String FEATURE_VR_HEADTRACKING = "android.hardware.vr.headtracking";
+    field @Deprecated public static final String FEATURE_VR_MODE = "android.software.vr.mode";
+    field public static final String FEATURE_VR_MODE_HIGH_PERFORMANCE = "android.hardware.vr.high_performance";
+    field public static final String FEATURE_VULKAN_DEQP_LEVEL = "android.software.vulkan.deqp.level";
+    field public static final String FEATURE_VULKAN_HARDWARE_COMPUTE = "android.hardware.vulkan.compute";
+    field public static final String FEATURE_VULKAN_HARDWARE_LEVEL = "android.hardware.vulkan.level";
+    field public static final String FEATURE_VULKAN_HARDWARE_VERSION = "android.hardware.vulkan.version";
+    field public static final String FEATURE_WATCH = "android.hardware.type.watch";
+    field public static final String FEATURE_WEBVIEW = "android.software.webview";
+    field public static final String FEATURE_WIFI = "android.hardware.wifi";
+    field public static final String FEATURE_WIFI_AWARE = "android.hardware.wifi.aware";
+    field public static final String FEATURE_WIFI_DIRECT = "android.hardware.wifi.direct";
+    field public static final String FEATURE_WIFI_PASSPOINT = "android.hardware.wifi.passpoint";
+    field public static final String FEATURE_WIFI_RTT = "android.hardware.wifi.rtt";
+    field public static final int FLAG_PERMISSION_WHITELIST_INSTALLER = 2; // 0x2
+    field public static final int FLAG_PERMISSION_WHITELIST_SYSTEM = 1; // 0x1
+    field public static final int FLAG_PERMISSION_WHITELIST_UPGRADE = 4; // 0x4
+    field public static final int GET_ACTIVITIES = 1; // 0x1
+    field public static final int GET_ATTRIBUTIONS = -2147483648; // 0x80000000
+    field public static final int GET_CONFIGURATIONS = 16384; // 0x4000
+    field @Deprecated public static final int GET_DISABLED_COMPONENTS = 512; // 0x200
+    field @Deprecated public static final int GET_DISABLED_UNTIL_USED_COMPONENTS = 32768; // 0x8000
+    field public static final int GET_GIDS = 256; // 0x100
+    field public static final int GET_INSTRUMENTATION = 16; // 0x10
+    field @Deprecated public static final int GET_INTENT_FILTERS = 32; // 0x20
+    field public static final int GET_META_DATA = 128; // 0x80
+    field public static final int GET_PERMISSIONS = 4096; // 0x1000
+    field public static final int GET_PROVIDERS = 8; // 0x8
+    field public static final int GET_RECEIVERS = 2; // 0x2
+    field public static final int GET_RESOLVED_FILTER = 64; // 0x40
+    field public static final int GET_SERVICES = 4; // 0x4
+    field public static final int GET_SHARED_LIBRARY_FILES = 1024; // 0x400
+    field @Deprecated public static final int GET_SIGNATURES = 64; // 0x40
+    field public static final int GET_SIGNING_CERTIFICATES = 134217728; // 0x8000000
+    field @Deprecated public static final int GET_UNINSTALLED_PACKAGES = 8192; // 0x2000
+    field public static final int GET_URI_PERMISSION_PATTERNS = 2048; // 0x800
+    field public static final int INSTALL_REASON_DEVICE_RESTORE = 2; // 0x2
+    field public static final int INSTALL_REASON_DEVICE_SETUP = 3; // 0x3
+    field public static final int INSTALL_REASON_POLICY = 1; // 0x1
+    field public static final int INSTALL_REASON_UNKNOWN = 0; // 0x0
+    field public static final int INSTALL_REASON_USER = 4; // 0x4
+    field public static final int INSTALL_SCENARIO_BULK = 2; // 0x2
+    field public static final int INSTALL_SCENARIO_BULK_SECONDARY = 3; // 0x3
+    field public static final int INSTALL_SCENARIO_DEFAULT = 0; // 0x0
+    field public static final int INSTALL_SCENARIO_FAST = 1; // 0x1
+    field public static final int MATCH_ALL = 131072; // 0x20000
+    field public static final int MATCH_APEX = 1073741824; // 0x40000000
+    field public static final int MATCH_DEFAULT_ONLY = 65536; // 0x10000
+    field public static final int MATCH_DIRECT_BOOT_AUTO = 268435456; // 0x10000000
+    field public static final int MATCH_DIRECT_BOOT_AWARE = 524288; // 0x80000
+    field public static final int MATCH_DIRECT_BOOT_UNAWARE = 262144; // 0x40000
+    field public static final int MATCH_DISABLED_COMPONENTS = 512; // 0x200
+    field public static final int MATCH_DISABLED_UNTIL_USED_COMPONENTS = 32768; // 0x8000
+    field public static final int MATCH_SYSTEM_ONLY = 1048576; // 0x100000
+    field public static final int MATCH_UNINSTALLED_PACKAGES = 8192; // 0x2000
+    field public static final long MAXIMUM_VERIFICATION_TIMEOUT = 3600000L; // 0x36ee80L
+    field public static final int PERMISSION_DENIED = -1; // 0xffffffff
+    field public static final int PERMISSION_GRANTED = 0; // 0x0
+    field public static final String PROPERTY_MEDIA_CAPABILITIES = "android.media.PROPERTY_MEDIA_CAPABILITIES";
+    field public static final int SIGNATURE_FIRST_NOT_SIGNED = -1; // 0xffffffff
+    field public static final int SIGNATURE_MATCH = 0; // 0x0
+    field public static final int SIGNATURE_NEITHER_SIGNED = 1; // 0x1
+    field public static final int SIGNATURE_NO_MATCH = -3; // 0xfffffffd
+    field public static final int SIGNATURE_SECOND_NOT_SIGNED = -2; // 0xfffffffe
+    field public static final int SIGNATURE_UNKNOWN_PACKAGE = -4; // 0xfffffffc
+    field public static final int SYNCHRONOUS = 2; // 0x2
+    field @NonNull public static final java.util.List<java.security.cert.Certificate> TRUST_ALL;
+    field @NonNull public static final java.util.List<java.security.cert.Certificate> TRUST_NONE;
+    field public static final int VERIFICATION_ALLOW = 1; // 0x1
+    field public static final int VERIFICATION_REJECT = -1; // 0xffffffff
+    field public static final int VERSION_CODE_HIGHEST = -1; // 0xffffffff
+  }
+
+  public static class PackageManager.NameNotFoundException extends android.util.AndroidException {
+    ctor public PackageManager.NameNotFoundException();
+    ctor public PackageManager.NameNotFoundException(String);
+  }
+
+  @java.lang.FunctionalInterface public static interface PackageManager.OnChecksumsReadyListener {
+    method public void onChecksumsReady(@NonNull java.util.List<android.content.pm.ApkChecksum>);
+  }
+
+  public static final class PackageManager.Property implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getBoolean();
+    method @Nullable public String getClassName();
+    method public float getFloat();
+    method public int getInteger();
+    method @NonNull public String getName();
+    method @NonNull public String getPackageName();
+    method public int getResourceId();
+    method @Nullable public String getString();
+    method public boolean isBoolean();
+    method public boolean isFloat();
+    method public boolean isInteger();
+    method public boolean isResourceId();
+    method public boolean isString();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageManager.Property> CREATOR;
+  }
+
+  @Deprecated public class PackageStats implements android.os.Parcelable {
+    ctor @Deprecated public PackageStats(String);
+    ctor @Deprecated public PackageStats(android.os.Parcel);
+    ctor @Deprecated public PackageStats(android.content.pm.PackageStats);
+    method @Deprecated public int describeContents();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageStats> CREATOR;
+    field @Deprecated public long cacheSize;
+    field @Deprecated public long codeSize;
+    field @Deprecated public long dataSize;
+    field @Deprecated public long externalCacheSize;
+    field @Deprecated public long externalCodeSize;
+    field @Deprecated public long externalDataSize;
+    field @Deprecated public long externalMediaSize;
+    field @Deprecated public long externalObbSize;
+    field @Deprecated public String packageName;
+  }
+
+  public class PathPermission extends android.os.PatternMatcher {
+    ctor public PathPermission(String, int, String, String);
+    ctor public PathPermission(android.os.Parcel);
+    method public String getReadPermission();
+    method public String getWritePermission();
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PathPermission> CREATOR;
+  }
+
+  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    ctor @Deprecated public PermissionGroupInfo();
+    ctor @Deprecated public PermissionGroupInfo(@NonNull android.content.pm.PermissionGroupInfo);
+    method public int describeContents();
+    method @Nullable public CharSequence loadDescription(@NonNull android.content.pm.PackageManager);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PermissionGroupInfo> CREATOR;
+    field public static final int FLAG_PERSONAL_INFO = 1; // 0x1
+    field @StringRes public int descriptionRes;
+    field public int flags;
+    field @Nullable public CharSequence nonLocalizedDescription;
+    field public int priority;
+  }
+
+  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    ctor @Deprecated public PermissionInfo();
+    ctor @Deprecated public PermissionInfo(@NonNull android.content.pm.PermissionInfo);
+    method public int describeContents();
+    method public int getProtection();
+    method public int getProtectionFlags();
+    method @Nullable public CharSequence loadDescription(@NonNull android.content.pm.PackageManager);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PermissionInfo> CREATOR;
+    field public static final int FLAG_COSTS_MONEY = 1; // 0x1
+    field public static final int FLAG_HARD_RESTRICTED = 4; // 0x4
+    field public static final int FLAG_IMMUTABLY_RESTRICTED = 16; // 0x10
+    field public static final int FLAG_INSTALLED = 1073741824; // 0x40000000
+    field public static final int FLAG_SOFT_RESTRICTED = 8; // 0x8
+    field public static final int PROTECTION_DANGEROUS = 1; // 0x1
+    field public static final int PROTECTION_FLAG_APPOP = 64; // 0x40
+    field public static final int PROTECTION_FLAG_DEVELOPMENT = 32; // 0x20
+    field public static final int PROTECTION_FLAG_INSTALLER = 256; // 0x100
+    field public static final int PROTECTION_FLAG_INSTANT = 4096; // 0x1000
+    field public static final int PROTECTION_FLAG_PRE23 = 128; // 0x80
+    field public static final int PROTECTION_FLAG_PREINSTALLED = 1024; // 0x400
+    field public static final int PROTECTION_FLAG_PRIVILEGED = 16; // 0x10
+    field public static final int PROTECTION_FLAG_RUNTIME_ONLY = 8192; // 0x2000
+    field public static final int PROTECTION_FLAG_SETUP = 2048; // 0x800
+    field @Deprecated public static final int PROTECTION_FLAG_SYSTEM = 16; // 0x10
+    field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200
+    field public static final int PROTECTION_INTERNAL = 4; // 0x4
+    field @Deprecated public static final int PROTECTION_MASK_BASE = 15; // 0xf
+    field @Deprecated public static final int PROTECTION_MASK_FLAGS = 65520; // 0xfff0
+    field public static final int PROTECTION_NORMAL = 0; // 0x0
+    field public static final int PROTECTION_SIGNATURE = 2; // 0x2
+    field @Deprecated public static final int PROTECTION_SIGNATURE_OR_SYSTEM = 3; // 0x3
+    field @StringRes public int descriptionRes;
+    field public int flags;
+    field @Nullable public String group;
+    field @Nullable public CharSequence nonLocalizedDescription;
+    field @Deprecated public int protectionLevel;
+  }
+
+  public final class ProviderInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+    ctor public ProviderInfo();
+    ctor public ProviderInfo(android.content.pm.ProviderInfo);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ProviderInfo> CREATOR;
+    field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000
+    field public String authority;
+    field public int flags;
+    field public boolean forceUriPermissions;
+    field public boolean grantUriPermissions;
+    field public int initOrder;
+    field @Deprecated public boolean isSyncable;
+    field public boolean multiprocess;
+    field public android.content.pm.PathPermission[] pathPermissions;
+    field public String readPermission;
+    field public android.os.PatternMatcher[] uriPermissionPatterns;
+    field public String writePermission;
+  }
+
+  public class ResolveInfo implements android.os.Parcelable {
+    ctor public ResolveInfo();
+    ctor public ResolveInfo(android.content.pm.ResolveInfo);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public final int getIconResource();
+    method public boolean isCrossProfileIntentForwarderActivity();
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ResolveInfo> CREATOR;
+    field public android.content.pm.ActivityInfo activityInfo;
+    field public android.content.IntentFilter filter;
+    field public int icon;
+    field public boolean isDefault;
+    field public boolean isInstantAppAvailable;
+    field public int labelRes;
+    field public int match;
+    field public CharSequence nonLocalizedLabel;
+    field public int preferredOrder;
+    field public int priority;
+    field public android.content.pm.ProviderInfo providerInfo;
+    field public String resolvePackageName;
+    field public android.content.pm.ServiceInfo serviceInfo;
+    field public int specificIndex;
+  }
+
+  public static class ResolveInfo.DisplayNameComparator implements java.util.Comparator<android.content.pm.ResolveInfo> {
+    ctor public ResolveInfo.DisplayNameComparator(android.content.pm.PackageManager);
+    method public final int compare(android.content.pm.ResolveInfo, android.content.pm.ResolveInfo);
+  }
+
+  public class ServiceInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+    ctor public ServiceInfo();
+    ctor public ServiceInfo(android.content.pm.ServiceInfo);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public int getForegroundServiceType();
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ServiceInfo> CREATOR;
+    field public static final int FLAG_EXTERNAL_SERVICE = 4; // 0x4
+    field public static final int FLAG_ISOLATED_PROCESS = 2; // 0x2
+    field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000
+    field public static final int FLAG_STOP_WITH_TASK = 1; // 0x1
+    field public static final int FLAG_USE_APP_ZYGOTE = 8; // 0x8
+    field public static final int FOREGROUND_SERVICE_TYPE_CAMERA = 64; // 0x40
+    field public static final int FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE = 16; // 0x10
+    field public static final int FOREGROUND_SERVICE_TYPE_DATA_SYNC = 1; // 0x1
+    field public static final int FOREGROUND_SERVICE_TYPE_LOCATION = 8; // 0x8
+    field public static final int FOREGROUND_SERVICE_TYPE_MANIFEST = -1; // 0xffffffff
+    field public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK = 2; // 0x2
+    field public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION = 32; // 0x20
+    field public static final int FOREGROUND_SERVICE_TYPE_MICROPHONE = 128; // 0x80
+    field public static final int FOREGROUND_SERVICE_TYPE_NONE = 0; // 0x0
+    field public static final int FOREGROUND_SERVICE_TYPE_PHONE_CALL = 4; // 0x4
+    field public int flags;
+    field public String permission;
+  }
+
+  public final class SharedLibraryInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.pm.VersionedPackage getDeclaringPackage();
+    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getDependentPackages();
+    method @IntRange(from=0xffffffff) public long getLongVersion();
+    method public String getName();
+    method public int getType();
+    method @Deprecated @IntRange(from=0xffffffff) public int getVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SharedLibraryInfo> CREATOR;
+    field public static final int TYPE_BUILTIN = 0; // 0x0
+    field public static final int TYPE_DYNAMIC = 1; // 0x1
+    field public static final int TYPE_STATIC = 2; // 0x2
+    field public static final int VERSION_UNDEFINED = -1; // 0xffffffff
+  }
+
+  public final class ShortcutInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.content.ComponentName getActivity();
+    method @Nullable public java.util.Set<java.lang.String> getCategories();
+    method @Nullable public CharSequence getDisabledMessage();
+    method public int getDisabledReason();
+    method @Nullable public android.os.PersistableBundle getExtras();
+    method @NonNull public String getId();
+    method @Nullable public android.content.Intent getIntent();
+    method @Nullable public android.content.Intent[] getIntents();
+    method public long getLastChangedTimestamp();
+    method @Nullable public android.content.LocusId getLocusId();
+    method @Nullable public CharSequence getLongLabel();
+    method @NonNull public String getPackage();
+    method public int getRank();
+    method @Nullable public CharSequence getShortLabel();
+    method public android.os.UserHandle getUserHandle();
+    method public boolean hasKeyFieldsOnly();
+    method public boolean isCached();
+    method public boolean isDeclaredInManifest();
+    method public boolean isDynamic();
+    method public boolean isEnabled();
+    method public boolean isImmutable();
+    method public boolean isPinned();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutInfo> CREATOR;
+    field public static final int DISABLED_REASON_APP_CHANGED = 2; // 0x2
+    field public static final int DISABLED_REASON_BACKUP_NOT_SUPPORTED = 101; // 0x65
+    field public static final int DISABLED_REASON_BY_APP = 1; // 0x1
+    field public static final int DISABLED_REASON_NOT_DISABLED = 0; // 0x0
+    field public static final int DISABLED_REASON_OTHER_RESTORE_ISSUE = 103; // 0x67
+    field public static final int DISABLED_REASON_SIGNATURE_MISMATCH = 102; // 0x66
+    field public static final int DISABLED_REASON_UNKNOWN = 3; // 0x3
+    field public static final int DISABLED_REASON_VERSION_LOWER = 100; // 0x64
+    field public static final String SHORTCUT_CATEGORY_CONVERSATION = "android.shortcut.conversation";
+  }
+
+  public static class ShortcutInfo.Builder {
+    ctor public ShortcutInfo.Builder(android.content.Context, String);
+    method @NonNull public android.content.pm.ShortcutInfo build();
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setActivity(@NonNull android.content.ComponentName);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setCategories(java.util.Set<java.lang.String>);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setDisabledMessage(@NonNull CharSequence);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setExtras(@NonNull android.os.PersistableBundle);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setIntent(@NonNull android.content.Intent);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setIntents(@NonNull android.content.Intent[]);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setLocusId(@NonNull android.content.LocusId);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setLongLabel(@NonNull CharSequence);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setLongLived(boolean);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setPerson(@NonNull android.app.Person);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setPersons(@NonNull android.app.Person[]);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setRank(int);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setShortLabel(@NonNull CharSequence);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setStartingTheme(int);
+  }
+
+  public class ShortcutManager {
+    method @WorkerThread public boolean addDynamicShortcuts(@NonNull java.util.List<android.content.pm.ShortcutInfo>);
+    method @WorkerThread public android.content.Intent createShortcutResultIntent(@NonNull android.content.pm.ShortcutInfo);
+    method public void disableShortcuts(@NonNull java.util.List<java.lang.String>);
+    method public void disableShortcuts(@NonNull java.util.List<java.lang.String>, CharSequence);
+    method public void enableShortcuts(@NonNull java.util.List<java.lang.String>);
+    method @NonNull @WorkerThread public java.util.List<android.content.pm.ShortcutInfo> getDynamicShortcuts();
+    method public int getIconMaxHeight();
+    method public int getIconMaxWidth();
+    method @NonNull @WorkerThread public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
+    method public int getMaxShortcutCountPerActivity();
+    method @NonNull @WorkerThread public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
+    method @NonNull @WorkerThread public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(int);
+    method public boolean isRateLimitingActive();
+    method public boolean isRequestPinShortcutSupported();
+    method public void pushDynamicShortcut(@NonNull android.content.pm.ShortcutInfo);
+    method public void removeAllDynamicShortcuts();
+    method public void removeDynamicShortcuts(@NonNull java.util.List<java.lang.String>);
+    method public void removeLongLivedShortcuts(@NonNull java.util.List<java.lang.String>);
+    method public void reportShortcutUsed(String);
+    method @WorkerThread public boolean requestPinShortcut(@NonNull android.content.pm.ShortcutInfo, @Nullable android.content.IntentSender);
+    method @WorkerThread public boolean setDynamicShortcuts(@NonNull java.util.List<android.content.pm.ShortcutInfo>);
+    method @WorkerThread public boolean updateShortcuts(@NonNull java.util.List<android.content.pm.ShortcutInfo>);
+    field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+    field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+    field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+    field public static final int FLAG_MATCH_PINNED = 4; // 0x4
+  }
+
+  public class Signature implements android.os.Parcelable {
+    ctor public Signature(byte[]);
+    ctor public Signature(String);
+    method public int describeContents();
+    method public byte[] toByteArray();
+    method public char[] toChars();
+    method public char[] toChars(char[], int[]);
+    method public String toCharsString();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.Signature> CREATOR;
+  }
+
+  public final class SigningInfo implements android.os.Parcelable {
+    ctor public SigningInfo();
+    ctor public SigningInfo(android.content.pm.SigningInfo);
+    method public int describeContents();
+    method public android.content.pm.Signature[] getApkContentsSigners();
+    method public android.content.pm.Signature[] getSigningCertificateHistory();
+    method public boolean hasMultipleSigners();
+    method public boolean hasPastSigningCertificates();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SigningInfo> CREATOR;
+  }
+
+  public final class VersionedPackage implements android.os.Parcelable {
+    ctor public VersionedPackage(@NonNull String, int);
+    ctor public VersionedPackage(@NonNull String, long);
+    method public int describeContents();
+    method public long getLongVersionCode();
+    method @NonNull public String getPackageName();
+    method @Deprecated public int getVersionCode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.VersionedPackage> CREATOR;
+  }
+
+}
+
+package android.content.pm.verify.domain {
+
+  public final class DomainVerificationManager {
+    method @Nullable public android.content.pm.verify.domain.DomainVerificationUserState getDomainVerificationUserState(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+  }
+
+  public final class DomainVerificationUserState implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
+    method @NonNull public String getPackageName();
+    method @NonNull public android.os.UserHandle getUser();
+    method @NonNull public boolean isLinkHandlingAllowed();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationUserState> CREATOR;
+    field public static final int DOMAIN_STATE_NONE = 0; // 0x0
+    field public static final int DOMAIN_STATE_SELECTED = 1; // 0x1
+    field public static final int DOMAIN_STATE_VERIFIED = 2; // 0x2
+  }
+
+}
+
+package android.content.res {
+
+  public class AssetFileDescriptor implements java.io.Closeable android.os.Parcelable {
+    ctor public AssetFileDescriptor(android.os.ParcelFileDescriptor, long, long);
+    ctor public AssetFileDescriptor(android.os.ParcelFileDescriptor, long, long, android.os.Bundle);
+    method public void close() throws java.io.IOException;
+    method public java.io.FileInputStream createInputStream() throws java.io.IOException;
+    method public java.io.FileOutputStream createOutputStream() throws java.io.IOException;
+    method public int describeContents();
+    method public long getDeclaredLength();
+    method public android.os.Bundle getExtras();
+    method public java.io.FileDescriptor getFileDescriptor();
+    method public long getLength();
+    method public android.os.ParcelFileDescriptor getParcelFileDescriptor();
+    method public long getStartOffset();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.res.AssetFileDescriptor> CREATOR;
+    field public static final long UNKNOWN_LENGTH = -1L; // 0xffffffffffffffffL
+  }
+
+  public static class AssetFileDescriptor.AutoCloseInputStream extends android.os.ParcelFileDescriptor.AutoCloseInputStream {
+    ctor public AssetFileDescriptor.AutoCloseInputStream(android.content.res.AssetFileDescriptor) throws java.io.IOException;
+  }
+
+  public static class AssetFileDescriptor.AutoCloseOutputStream extends android.os.ParcelFileDescriptor.AutoCloseOutputStream {
+    ctor public AssetFileDescriptor.AutoCloseOutputStream(android.content.res.AssetFileDescriptor) throws java.io.IOException;
+  }
+
+  public final class AssetManager implements java.lang.AutoCloseable {
+    method public void close();
+    method public String[] getLocales();
+    method @Nullable public String[] list(@NonNull String) throws java.io.IOException;
+    method @NonNull public java.io.InputStream open(@NonNull String) throws java.io.IOException;
+    method @NonNull public java.io.InputStream open(@NonNull String, int) throws java.io.IOException;
+    method @NonNull public android.content.res.AssetFileDescriptor openFd(@NonNull String) throws java.io.IOException;
+    method @NonNull public android.content.res.AssetFileDescriptor openNonAssetFd(@NonNull String) throws java.io.IOException;
+    method @NonNull public android.content.res.AssetFileDescriptor openNonAssetFd(int, @NonNull String) throws java.io.IOException;
+    method @NonNull public android.content.res.XmlResourceParser openXmlResourceParser(@NonNull String) throws java.io.IOException;
+    method @NonNull public android.content.res.XmlResourceParser openXmlResourceParser(int, @NonNull String) throws java.io.IOException;
+    field public static final int ACCESS_BUFFER = 3; // 0x3
+    field public static final int ACCESS_RANDOM = 1; // 0x1
+    field public static final int ACCESS_STREAMING = 2; // 0x2
+    field public static final int ACCESS_UNKNOWN = 0; // 0x0
+  }
+
+  public final class AssetManager.AssetInputStream extends java.io.InputStream {
+    method public int read() throws java.io.IOException;
+  }
+
+  public class ColorStateList implements android.os.Parcelable {
+    ctor public ColorStateList(int[][], @ColorInt int[]);
+    method @Deprecated @NonNull public static android.content.res.ColorStateList createFromXml(android.content.res.Resources, org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @NonNull public static android.content.res.ColorStateList createFromXml(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @Nullable android.content.res.Resources.Theme) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public int describeContents();
+    method public int getChangingConfigurations();
+    method public int getColorForState(@Nullable int[], int);
+    method @ColorInt public int getDefaultColor();
+    method public boolean isOpaque();
+    method public boolean isStateful();
+    method @NonNull public static android.content.res.ColorStateList valueOf(@ColorInt int);
+    method @NonNull public android.content.res.ColorStateList withAlpha(int);
+    method @NonNull public android.content.res.ColorStateList withLStar(float);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.res.ColorStateList> CREATOR;
+  }
+
+  public final class Configuration implements java.lang.Comparable<android.content.res.Configuration> android.os.Parcelable {
+    ctor public Configuration();
+    ctor public Configuration(android.content.res.Configuration);
+    method public int compareTo(android.content.res.Configuration);
+    method public int describeContents();
+    method public int diff(android.content.res.Configuration);
+    method public boolean equals(android.content.res.Configuration);
+    method public int getLayoutDirection();
+    method @NonNull public android.os.LocaleList getLocales();
+    method public boolean isLayoutSizeAtLeast(int);
+    method public boolean isNightModeActive();
+    method public boolean isScreenHdr();
+    method public boolean isScreenRound();
+    method public boolean isScreenWideColorGamut();
+    method public static boolean needNewResources(int, int);
+    method public void readFromParcel(android.os.Parcel);
+    method public void setLayoutDirection(java.util.Locale);
+    method public void setLocale(@Nullable java.util.Locale);
+    method public void setLocales(@Nullable android.os.LocaleList);
+    method public void setTo(android.content.res.Configuration);
+    method public void setToDefaults();
+    method public int updateFrom(@NonNull android.content.res.Configuration);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int COLOR_MODE_HDR_MASK = 12; // 0xc
+    field public static final int COLOR_MODE_HDR_NO = 4; // 0x4
+    field public static final int COLOR_MODE_HDR_SHIFT = 2; // 0x2
+    field public static final int COLOR_MODE_HDR_UNDEFINED = 0; // 0x0
+    field public static final int COLOR_MODE_HDR_YES = 8; // 0x8
+    field public static final int COLOR_MODE_UNDEFINED = 0; // 0x0
+    field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_MASK = 3; // 0x3
+    field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_NO = 1; // 0x1
+    field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED = 0; // 0x0
+    field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_YES = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.res.Configuration> CREATOR;
+    field public static final int DENSITY_DPI_UNDEFINED = 0; // 0x0
+    field public static final int FONT_WEIGHT_ADJUSTMENT_UNDEFINED = 2147483647; // 0x7fffffff
+    field public static final int HARDKEYBOARDHIDDEN_NO = 1; // 0x1
+    field public static final int HARDKEYBOARDHIDDEN_UNDEFINED = 0; // 0x0
+    field public static final int HARDKEYBOARDHIDDEN_YES = 2; // 0x2
+    field public static final int KEYBOARDHIDDEN_NO = 1; // 0x1
+    field public static final int KEYBOARDHIDDEN_UNDEFINED = 0; // 0x0
+    field public static final int KEYBOARDHIDDEN_YES = 2; // 0x2
+    field public static final int KEYBOARD_12KEY = 3; // 0x3
+    field public static final int KEYBOARD_NOKEYS = 1; // 0x1
+    field public static final int KEYBOARD_QWERTY = 2; // 0x2
+    field public static final int KEYBOARD_UNDEFINED = 0; // 0x0
+    field public static final int MNC_ZERO = 65535; // 0xffff
+    field public static final int NAVIGATIONHIDDEN_NO = 1; // 0x1
+    field public static final int NAVIGATIONHIDDEN_UNDEFINED = 0; // 0x0
+    field public static final int NAVIGATIONHIDDEN_YES = 2; // 0x2
+    field public static final int NAVIGATION_DPAD = 2; // 0x2
+    field public static final int NAVIGATION_NONAV = 1; // 0x1
+    field public static final int NAVIGATION_TRACKBALL = 3; // 0x3
+    field public static final int NAVIGATION_UNDEFINED = 0; // 0x0
+    field public static final int NAVIGATION_WHEEL = 4; // 0x4
+    field public static final int ORIENTATION_LANDSCAPE = 2; // 0x2
+    field public static final int ORIENTATION_PORTRAIT = 1; // 0x1
+    field @Deprecated public static final int ORIENTATION_SQUARE = 3; // 0x3
+    field public static final int ORIENTATION_UNDEFINED = 0; // 0x0
+    field public static final int SCREENLAYOUT_LAYOUTDIR_LTR = 64; // 0x40
+    field public static final int SCREENLAYOUT_LAYOUTDIR_MASK = 192; // 0xc0
+    field public static final int SCREENLAYOUT_LAYOUTDIR_RTL = 128; // 0x80
+    field public static final int SCREENLAYOUT_LAYOUTDIR_SHIFT = 6; // 0x6
+    field public static final int SCREENLAYOUT_LAYOUTDIR_UNDEFINED = 0; // 0x0
+    field public static final int SCREENLAYOUT_LONG_MASK = 48; // 0x30
+    field public static final int SCREENLAYOUT_LONG_NO = 16; // 0x10
+    field public static final int SCREENLAYOUT_LONG_UNDEFINED = 0; // 0x0
+    field public static final int SCREENLAYOUT_LONG_YES = 32; // 0x20
+    field public static final int SCREENLAYOUT_ROUND_MASK = 768; // 0x300
+    field public static final int SCREENLAYOUT_ROUND_NO = 256; // 0x100
+    field public static final int SCREENLAYOUT_ROUND_UNDEFINED = 0; // 0x0
+    field public static final int SCREENLAYOUT_ROUND_YES = 512; // 0x200
+    field public static final int SCREENLAYOUT_SIZE_LARGE = 3; // 0x3
+    field public static final int SCREENLAYOUT_SIZE_MASK = 15; // 0xf
+    field public static final int SCREENLAYOUT_SIZE_NORMAL = 2; // 0x2
+    field public static final int SCREENLAYOUT_SIZE_SMALL = 1; // 0x1
+    field public static final int SCREENLAYOUT_SIZE_UNDEFINED = 0; // 0x0
+    field public static final int SCREENLAYOUT_SIZE_XLARGE = 4; // 0x4
+    field public static final int SCREENLAYOUT_UNDEFINED = 0; // 0x0
+    field public static final int SCREEN_HEIGHT_DP_UNDEFINED = 0; // 0x0
+    field public static final int SCREEN_WIDTH_DP_UNDEFINED = 0; // 0x0
+    field public static final int SMALLEST_SCREEN_WIDTH_DP_UNDEFINED = 0; // 0x0
+    field public static final int TOUCHSCREEN_FINGER = 3; // 0x3
+    field public static final int TOUCHSCREEN_NOTOUCH = 1; // 0x1
+    field @Deprecated public static final int TOUCHSCREEN_STYLUS = 2; // 0x2
+    field public static final int TOUCHSCREEN_UNDEFINED = 0; // 0x0
+    field public static final int UI_MODE_NIGHT_MASK = 48; // 0x30
+    field public static final int UI_MODE_NIGHT_NO = 16; // 0x10
+    field public static final int UI_MODE_NIGHT_UNDEFINED = 0; // 0x0
+    field public static final int UI_MODE_NIGHT_YES = 32; // 0x20
+    field public static final int UI_MODE_TYPE_APPLIANCE = 5; // 0x5
+    field public static final int UI_MODE_TYPE_CAR = 3; // 0x3
+    field public static final int UI_MODE_TYPE_DESK = 2; // 0x2
+    field public static final int UI_MODE_TYPE_MASK = 15; // 0xf
+    field public static final int UI_MODE_TYPE_NORMAL = 1; // 0x1
+    field public static final int UI_MODE_TYPE_TELEVISION = 4; // 0x4
+    field public static final int UI_MODE_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int UI_MODE_TYPE_VR_HEADSET = 7; // 0x7
+    field public static final int UI_MODE_TYPE_WATCH = 6; // 0x6
+    field public int colorMode;
+    field public int densityDpi;
+    field public float fontScale;
+    field public int fontWeightAdjustment;
+    field public int hardKeyboardHidden;
+    field public int keyboard;
+    field public int keyboardHidden;
+    field @Deprecated public java.util.Locale locale;
+    field public int mcc;
+    field public int mnc;
+    field public int navigation;
+    field public int navigationHidden;
+    field public int orientation;
+    field public int screenHeightDp;
+    field public int screenLayout;
+    field public int screenWidthDp;
+    field public int smallestScreenWidthDp;
+    field public int touchscreen;
+    field public int uiMode;
+  }
+
+  public class ObbInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.res.ObbInfo> CREATOR;
+    field public static final int OBB_OVERLAY = 1; // 0x1
+    field public String filename;
+    field public int flags;
+    field public String packageName;
+    field public int version;
+  }
+
+  public class ObbScanner {
+    method public static android.content.res.ObbInfo getObbInfo(String) throws java.io.IOException;
+  }
+
+  public class Resources {
+    ctor @Deprecated public Resources(android.content.res.AssetManager, android.util.DisplayMetrics, android.content.res.Configuration);
+    method public void addLoaders(@NonNull android.content.res.loader.ResourcesLoader...);
+    method public final void finishPreloading();
+    method public final void flushLayoutCache();
+    method @NonNull public android.content.res.XmlResourceParser getAnimation(@AnimRes @AnimatorRes int) throws android.content.res.Resources.NotFoundException;
+    method public final android.content.res.AssetManager getAssets();
+    method @AnyRes public static int getAttributeSetSourceResId(@Nullable android.util.AttributeSet);
+    method public boolean getBoolean(@BoolRes int) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated @ColorInt public int getColor(@ColorRes int) throws android.content.res.Resources.NotFoundException;
+    method @ColorInt public int getColor(@ColorRes int, @Nullable android.content.res.Resources.Theme) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated @NonNull public android.content.res.ColorStateList getColorStateList(@ColorRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public android.content.res.ColorStateList getColorStateList(@ColorRes int, @Nullable android.content.res.Resources.Theme) throws android.content.res.Resources.NotFoundException;
+    method public android.content.res.Configuration getConfiguration();
+    method public float getDimension(@DimenRes int) throws android.content.res.Resources.NotFoundException;
+    method public int getDimensionPixelOffset(@DimenRes int) throws android.content.res.Resources.NotFoundException;
+    method public int getDimensionPixelSize(@DimenRes int) throws android.content.res.Resources.NotFoundException;
+    method public android.util.DisplayMetrics getDisplayMetrics();
+    method @Deprecated public android.graphics.drawable.Drawable getDrawable(@DrawableRes int) throws android.content.res.Resources.NotFoundException;
+    method public android.graphics.drawable.Drawable getDrawable(@DrawableRes int, @Nullable android.content.res.Resources.Theme) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated @Nullable public android.graphics.drawable.Drawable getDrawableForDensity(@DrawableRes int, int) throws android.content.res.Resources.NotFoundException;
+    method @Nullable public android.graphics.drawable.Drawable getDrawableForDensity(@DrawableRes int, int, @Nullable android.content.res.Resources.Theme);
+    method public float getFloat(@DimenRes int);
+    method @NonNull public android.graphics.Typeface getFont(@FontRes int) throws android.content.res.Resources.NotFoundException;
+    method public float getFraction(@FractionRes int, int, int);
+    method public int getIdentifier(String, String, String);
+    method @NonNull public int[] getIntArray(@ArrayRes int) throws android.content.res.Resources.NotFoundException;
+    method public int getInteger(@IntegerRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public android.content.res.XmlResourceParser getLayout(@LayoutRes int) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated public android.graphics.Movie getMovie(@RawRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public String getQuantityString(@PluralsRes int, int, java.lang.Object...) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public String getQuantityString(@PluralsRes int, int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public CharSequence getQuantityText(@PluralsRes int, int) throws android.content.res.Resources.NotFoundException;
+    method public String getResourceEntryName(@AnyRes int) throws android.content.res.Resources.NotFoundException;
+    method public String getResourceName(@AnyRes int) throws android.content.res.Resources.NotFoundException;
+    method public String getResourcePackageName(@AnyRes int) throws android.content.res.Resources.NotFoundException;
+    method public String getResourceTypeName(@AnyRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public String getString(@StringRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public String getString(@StringRes int, java.lang.Object...) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public String[] getStringArray(@ArrayRes int) throws android.content.res.Resources.NotFoundException;
+    method public static android.content.res.Resources getSystem();
+    method @NonNull public CharSequence getText(@StringRes int) throws android.content.res.Resources.NotFoundException;
+    method public CharSequence getText(@StringRes int, CharSequence);
+    method @NonNull public CharSequence[] getTextArray(@ArrayRes int) throws android.content.res.Resources.NotFoundException;
+    method public void getValue(@AnyRes int, android.util.TypedValue, boolean) throws android.content.res.Resources.NotFoundException;
+    method public void getValue(String, android.util.TypedValue, boolean) throws android.content.res.Resources.NotFoundException;
+    method public void getValueForDensity(@AnyRes int, int, android.util.TypedValue, boolean) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public android.content.res.XmlResourceParser getXml(@XmlRes int) throws android.content.res.Resources.NotFoundException;
+    method public final android.content.res.Resources.Theme newTheme();
+    method public android.content.res.TypedArray obtainAttributes(android.util.AttributeSet, @StyleableRes int[]);
+    method @NonNull public android.content.res.TypedArray obtainTypedArray(@ArrayRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public java.io.InputStream openRawResource(@RawRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public java.io.InputStream openRawResource(@RawRes int, android.util.TypedValue) throws android.content.res.Resources.NotFoundException;
+    method public android.content.res.AssetFileDescriptor openRawResourceFd(@RawRes int) throws android.content.res.Resources.NotFoundException;
+    method public void parseBundleExtra(String, android.util.AttributeSet, android.os.Bundle) throws org.xmlpull.v1.XmlPullParserException;
+    method public void parseBundleExtras(android.content.res.XmlResourceParser, android.os.Bundle) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void removeLoaders(@NonNull android.content.res.loader.ResourcesLoader...);
+    method @Deprecated public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics);
+    field @AnyRes public static final int ID_NULL = 0; // 0x0
+  }
+
+  public static class Resources.NotFoundException extends java.lang.RuntimeException {
+    ctor public Resources.NotFoundException();
+    ctor public Resources.NotFoundException(String);
+    ctor public Resources.NotFoundException(String, Exception);
+  }
+
+  public final class Resources.Theme {
+    method public void applyStyle(int, boolean);
+    method public void dump(int, String, String);
+    method @NonNull public int[] getAttributeResolutionStack(@AttrRes int, @StyleRes int, @StyleRes int);
+    method public int getChangingConfigurations();
+    method public android.graphics.drawable.Drawable getDrawable(@DrawableRes int) throws android.content.res.Resources.NotFoundException;
+    method @StyleRes public int getExplicitStyle(@Nullable android.util.AttributeSet);
+    method public android.content.res.Resources getResources();
+    method @NonNull public android.content.res.TypedArray obtainStyledAttributes(@NonNull @StyleableRes int[]);
+    method @NonNull public android.content.res.TypedArray obtainStyledAttributes(@StyleRes int, @NonNull @StyleableRes int[]) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public android.content.res.TypedArray obtainStyledAttributes(@Nullable android.util.AttributeSet, @NonNull @StyleableRes int[], @AttrRes int, @StyleRes int);
+    method public void rebase();
+    method public boolean resolveAttribute(int, android.util.TypedValue, boolean);
+    method public void setTo(android.content.res.Resources.Theme);
+  }
+
+  public class TypedArray implements java.lang.AutoCloseable {
+    method public void close();
+    method public boolean getBoolean(@StyleableRes int, boolean);
+    method public int getChangingConfigurations();
+    method @ColorInt public int getColor(@StyleableRes int, @ColorInt int);
+    method @Nullable public android.content.res.ColorStateList getColorStateList(@StyleableRes int);
+    method public float getDimension(@StyleableRes int, float);
+    method public int getDimensionPixelOffset(@StyleableRes int, int);
+    method public int getDimensionPixelSize(@StyleableRes int, int);
+    method @Nullable public android.graphics.drawable.Drawable getDrawable(@StyleableRes int);
+    method public float getFloat(@StyleableRes int, float);
+    method @Nullable public android.graphics.Typeface getFont(@StyleableRes int);
+    method public float getFraction(@StyleableRes int, int, int, float);
+    method public int getIndex(int);
+    method public int getIndexCount();
+    method public int getInt(@StyleableRes int, int);
+    method public int getInteger(@StyleableRes int, int);
+    method public int getLayoutDimension(@StyleableRes int, String);
+    method public int getLayoutDimension(@StyleableRes int, int);
+    method public String getNonResourceString(@StyleableRes int);
+    method public String getPositionDescription();
+    method @AnyRes public int getResourceId(@StyleableRes int, int);
+    method public android.content.res.Resources getResources();
+    method @AnyRes public int getSourceResourceId(@StyleableRes int, @AnyRes int);
+    method @Nullable public String getString(@StyleableRes int);
+    method public CharSequence getText(@StyleableRes int);
+    method public CharSequence[] getTextArray(@StyleableRes int);
+    method public int getType(@StyleableRes int);
+    method public boolean getValue(@StyleableRes int, android.util.TypedValue);
+    method public boolean hasValue(@StyleableRes int);
+    method public boolean hasValueOrEmpty(@StyleableRes int);
+    method public int length();
+    method public android.util.TypedValue peekValue(@StyleableRes int);
+    method public void recycle();
+  }
+
+  public interface XmlResourceParser extends org.xmlpull.v1.XmlPullParser android.util.AttributeSet java.lang.AutoCloseable {
+    method public void close();
+  }
+
+}
+
+package android.content.res.loader {
+
+  public interface AssetsProvider {
+    method @Nullable public default android.content.res.AssetFileDescriptor loadAssetFd(@NonNull String, int);
+  }
+
+  public class ResourcesLoader {
+    ctor public ResourcesLoader();
+    method public void addProvider(@NonNull android.content.res.loader.ResourcesProvider);
+    method public void clearProviders();
+    method @NonNull public java.util.List<android.content.res.loader.ResourcesProvider> getProviders();
+    method public void removeProvider(@NonNull android.content.res.loader.ResourcesProvider);
+    method public void setProviders(@NonNull java.util.List<android.content.res.loader.ResourcesProvider>);
+  }
+
+  public class ResourcesProvider implements java.lang.AutoCloseable java.io.Closeable {
+    method public void close();
+    method @NonNull public static android.content.res.loader.ResourcesProvider empty(@NonNull android.content.res.loader.AssetsProvider);
+    method @NonNull public static android.content.res.loader.ResourcesProvider loadFromApk(@NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method @NonNull public static android.content.res.loader.ResourcesProvider loadFromApk(@NonNull android.os.ParcelFileDescriptor, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
+    method @NonNull public static android.content.res.loader.ResourcesProvider loadFromDirectory(@NonNull String, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
+    method @NonNull public static android.content.res.loader.ResourcesProvider loadFromSplit(@NonNull android.content.Context, @NonNull String) throws java.io.IOException;
+    method @NonNull public static android.content.res.loader.ResourcesProvider loadFromTable(@NonNull android.os.ParcelFileDescriptor, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
+  }
+
+}
+
+package android.database {
+
+  public abstract class AbstractCursor implements android.database.CrossProcessCursor {
+    ctor public AbstractCursor();
+    method protected void checkPosition();
+    method public void close();
+    method public void copyStringToBuffer(int, android.database.CharArrayBuffer);
+    method public void deactivate();
+    method public void fillWindow(int, android.database.CursorWindow);
+    method protected void finalize();
+    method public byte[] getBlob(int);
+    method public int getColumnCount();
+    method public int getColumnIndex(String);
+    method public int getColumnIndexOrThrow(String);
+    method public String getColumnName(int);
+    method public android.os.Bundle getExtras();
+    method public android.net.Uri getNotificationUri();
+    method public final int getPosition();
+    method public int getType(int);
+    method @Deprecated protected Object getUpdatedField(int);
+    method public boolean getWantsAllOnMoveCalls();
+    method public android.database.CursorWindow getWindow();
+    method public final boolean isAfterLast();
+    method public final boolean isBeforeFirst();
+    method public boolean isClosed();
+    method @Deprecated protected boolean isFieldUpdated(int);
+    method public final boolean isFirst();
+    method public final boolean isLast();
+    method public final boolean move(int);
+    method public final boolean moveToFirst();
+    method public final boolean moveToLast();
+    method public final boolean moveToNext();
+    method public final boolean moveToPosition(int);
+    method public final boolean moveToPrevious();
+    method protected void onChange(boolean);
+    method public boolean onMove(int, int);
+    method public void registerContentObserver(android.database.ContentObserver);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public boolean requery();
+    method public android.os.Bundle respond(android.os.Bundle);
+    method public void setExtras(android.os.Bundle);
+    method public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+    method public void unregisterContentObserver(android.database.ContentObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+    field @Deprecated protected boolean mClosed;
+    field @Deprecated protected android.content.ContentResolver mContentResolver;
+    field @Deprecated protected int mPos;
+  }
+
+  protected static class AbstractCursor.SelfContentObserver extends android.database.ContentObserver {
+    ctor public AbstractCursor.SelfContentObserver(android.database.AbstractCursor);
+  }
+
+  public abstract class AbstractWindowedCursor extends android.database.AbstractCursor {
+    ctor public AbstractWindowedCursor();
+    method public double getDouble(int);
+    method public float getFloat(int);
+    method public int getInt(int);
+    method public long getLong(int);
+    method public short getShort(int);
+    method public String getString(int);
+    method public boolean hasWindow();
+    method @Deprecated public boolean isBlob(int);
+    method @Deprecated public boolean isFloat(int);
+    method @Deprecated public boolean isLong(int);
+    method public boolean isNull(int);
+    method @Deprecated public boolean isString(int);
+    method public void setWindow(android.database.CursorWindow);
+    field protected android.database.CursorWindow mWindow;
+  }
+
+  public final class CharArrayBuffer {
+    ctor public CharArrayBuffer(int);
+    ctor public CharArrayBuffer(char[]);
+    field public char[] data;
+    field public int sizeCopied;
+  }
+
+  public class ContentObservable extends android.database.Observable<android.database.ContentObserver> {
+    ctor public ContentObservable();
+    method @Deprecated public void dispatchChange(boolean);
+    method public void dispatchChange(boolean, android.net.Uri);
+    method @Deprecated public void notifyChange(boolean);
+    method public void registerObserver(android.database.ContentObserver);
+  }
+
+  public abstract class ContentObserver {
+    ctor public ContentObserver(android.os.Handler);
+    method public boolean deliverSelfNotifications();
+    method @Deprecated public final void dispatchChange(boolean);
+    method public final void dispatchChange(boolean, @Nullable android.net.Uri);
+    method public final void dispatchChange(boolean, @Nullable android.net.Uri, int);
+    method public final void dispatchChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int);
+    method public void onChange(boolean);
+    method public void onChange(boolean, @Nullable android.net.Uri);
+    method public void onChange(boolean, @Nullable android.net.Uri, int);
+    method public void onChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int);
+  }
+
+  public interface CrossProcessCursor extends android.database.Cursor {
+    method public void fillWindow(int, android.database.CursorWindow);
+    method public android.database.CursorWindow getWindow();
+    method public boolean onMove(int, int);
+  }
+
+  public class CrossProcessCursorWrapper extends android.database.CursorWrapper implements android.database.CrossProcessCursor {
+    ctor public CrossProcessCursorWrapper(android.database.Cursor);
+    method public void fillWindow(int, android.database.CursorWindow);
+    method public android.database.CursorWindow getWindow();
+    method public boolean onMove(int, int);
+  }
+
+  public interface Cursor extends java.io.Closeable {
+    method public void close();
+    method public void copyStringToBuffer(@IntRange(from=0) int, android.database.CharArrayBuffer);
+    method @Deprecated public void deactivate();
+    method public byte[] getBlob(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getColumnCount();
+    method @IntRange(from=0xffffffff) public int getColumnIndex(String);
+    method @IntRange(from=0) public int getColumnIndexOrThrow(String) throws java.lang.IllegalArgumentException;
+    method public String getColumnName(@IntRange(from=0) int);
+    method public String[] getColumnNames();
+    method @IntRange(from=0) public int getCount();
+    method public double getDouble(@IntRange(from=0) int);
+    method public android.os.Bundle getExtras();
+    method public float getFloat(@IntRange(from=0) int);
+    method public int getInt(@IntRange(from=0) int);
+    method public long getLong(@IntRange(from=0) int);
+    method public android.net.Uri getNotificationUri();
+    method @Nullable public default java.util.List<android.net.Uri> getNotificationUris();
+    method @IntRange(from=0xffffffff) public int getPosition();
+    method public short getShort(@IntRange(from=0) int);
+    method public String getString(@IntRange(from=0) int);
+    method public int getType(@IntRange(from=0) int);
+    method public boolean getWantsAllOnMoveCalls();
+    method public boolean isAfterLast();
+    method public boolean isBeforeFirst();
+    method public boolean isClosed();
+    method public boolean isFirst();
+    method public boolean isLast();
+    method public boolean isNull(@IntRange(from=0) int);
+    method public boolean move(int);
+    method public boolean moveToFirst();
+    method public boolean moveToLast();
+    method public boolean moveToNext();
+    method public boolean moveToPosition(@IntRange(from=0xffffffff) int);
+    method public boolean moveToPrevious();
+    method public void registerContentObserver(android.database.ContentObserver);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method @Deprecated public boolean requery();
+    method public android.os.Bundle respond(android.os.Bundle);
+    method public void setExtras(android.os.Bundle);
+    method public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+    method public default void setNotificationUris(@NonNull android.content.ContentResolver, @NonNull java.util.List<android.net.Uri>);
+    method public void unregisterContentObserver(android.database.ContentObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+    field public static final int FIELD_TYPE_BLOB = 4; // 0x4
+    field public static final int FIELD_TYPE_FLOAT = 2; // 0x2
+    field public static final int FIELD_TYPE_INTEGER = 1; // 0x1
+    field public static final int FIELD_TYPE_NULL = 0; // 0x0
+    field public static final int FIELD_TYPE_STRING = 3; // 0x3
+  }
+
+  public class CursorIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
+    ctor public CursorIndexOutOfBoundsException(int, int);
+    ctor public CursorIndexOutOfBoundsException(String);
+  }
+
+  public final class CursorJoiner implements java.lang.Iterable<android.database.CursorJoiner.Result> java.util.Iterator<android.database.CursorJoiner.Result> {
+    ctor public CursorJoiner(android.database.Cursor, String[], android.database.Cursor, String[]);
+    method public boolean hasNext();
+    method public java.util.Iterator<android.database.CursorJoiner.Result> iterator();
+    method public android.database.CursorJoiner.Result next();
+  }
+
+  public enum CursorJoiner.Result {
+    enum_constant public static final android.database.CursorJoiner.Result BOTH;
+    enum_constant public static final android.database.CursorJoiner.Result LEFT;
+    enum_constant public static final android.database.CursorJoiner.Result RIGHT;
+  }
+
+  public class CursorWindow extends android.database.sqlite.SQLiteClosable implements android.os.Parcelable {
+    ctor public CursorWindow(String);
+    ctor public CursorWindow(String, long);
+    ctor @Deprecated public CursorWindow(boolean);
+    method public boolean allocRow();
+    method public void clear();
+    method public void copyStringToBuffer(@IntRange(from=0) int, @IntRange(from=0) int, android.database.CharArrayBuffer);
+    method public int describeContents();
+    method public void freeLastRow();
+    method public byte[] getBlob(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public double getDouble(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public float getFloat(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public int getInt(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public long getLong(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @IntRange(from=0) public int getNumRows();
+    method public short getShort(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @IntRange(from=0) public int getStartPosition();
+    method public String getString(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public int getType(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @Deprecated public boolean isBlob(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @Deprecated public boolean isFloat(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @Deprecated public boolean isLong(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @Deprecated public boolean isNull(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @Deprecated public boolean isString(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public static android.database.CursorWindow newFromParcel(android.os.Parcel);
+    method protected void onAllReferencesReleased();
+    method public boolean putBlob(byte[], @IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean putDouble(double, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean putLong(long, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean putNull(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean putString(String, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean setNumColumns(@IntRange(from=0) int);
+    method public void setStartPosition(@IntRange(from=0) int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.database.CursorWindow> CREATOR;
+  }
+
+  public class CursorWrapper implements android.database.Cursor {
+    ctor public CursorWrapper(android.database.Cursor);
+    method public void close();
+    method public void copyStringToBuffer(int, android.database.CharArrayBuffer);
+    method @Deprecated public void deactivate();
+    method public byte[] getBlob(int);
+    method public int getColumnCount();
+    method public int getColumnIndex(String);
+    method public int getColumnIndexOrThrow(String) throws java.lang.IllegalArgumentException;
+    method public String getColumnName(int);
+    method public String[] getColumnNames();
+    method public int getCount();
+    method public double getDouble(int);
+    method public android.os.Bundle getExtras();
+    method public float getFloat(int);
+    method public int getInt(int);
+    method public long getLong(int);
+    method public android.net.Uri getNotificationUri();
+    method public int getPosition();
+    method public short getShort(int);
+    method public String getString(int);
+    method public int getType(int);
+    method public boolean getWantsAllOnMoveCalls();
+    method public android.database.Cursor getWrappedCursor();
+    method public boolean isAfterLast();
+    method public boolean isBeforeFirst();
+    method public boolean isClosed();
+    method public boolean isFirst();
+    method public boolean isLast();
+    method public boolean isNull(int);
+    method public boolean move(int);
+    method public boolean moveToFirst();
+    method public boolean moveToLast();
+    method public boolean moveToNext();
+    method public boolean moveToPosition(int);
+    method public boolean moveToPrevious();
+    method public void registerContentObserver(android.database.ContentObserver);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method @Deprecated public boolean requery();
+    method public android.os.Bundle respond(android.os.Bundle);
+    method public void setExtras(android.os.Bundle);
+    method public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+    method public void unregisterContentObserver(android.database.ContentObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  public class DataSetObservable extends android.database.Observable<android.database.DataSetObserver> {
+    ctor public DataSetObservable();
+    method public void notifyChanged();
+    method public void notifyInvalidated();
+  }
+
+  public abstract class DataSetObserver {
+    ctor public DataSetObserver();
+    method public void onChanged();
+    method public void onInvalidated();
+  }
+
+  public interface DatabaseErrorHandler {
+    method public void onCorruption(android.database.sqlite.SQLiteDatabase);
+  }
+
+  public class DatabaseUtils {
+    ctor public DatabaseUtils();
+    method public static void appendEscapedSQLString(StringBuilder, String);
+    method public static String[] appendSelectionArgs(String[], String[]);
+    method public static final void appendValueToSql(StringBuilder, Object);
+    method public static void bindObjectToProgram(android.database.sqlite.SQLiteProgram, int, Object);
+    method public static android.os.ParcelFileDescriptor blobFileDescriptorForQuery(android.database.sqlite.SQLiteDatabase, String, String[]);
+    method public static android.os.ParcelFileDescriptor blobFileDescriptorForQuery(android.database.sqlite.SQLiteStatement, String[]);
+    method public static String concatenateWhere(String, String);
+    method public static void createDbFromSqlStatements(android.content.Context, String, int, String);
+    method public static void cursorDoubleToContentValues(android.database.Cursor, String, android.content.ContentValues, String);
+    method public static void cursorDoubleToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorDoubleToCursorValues(android.database.Cursor, String, android.content.ContentValues);
+    method public static void cursorFloatToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorIntToContentValues(android.database.Cursor, String, android.content.ContentValues);
+    method public static void cursorIntToContentValues(android.database.Cursor, String, android.content.ContentValues, String);
+    method public static void cursorIntToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorLongToContentValues(android.database.Cursor, String, android.content.ContentValues);
+    method public static void cursorLongToContentValues(android.database.Cursor, String, android.content.ContentValues, String);
+    method public static void cursorLongToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorRowToContentValues(android.database.Cursor, android.content.ContentValues);
+    method public static void cursorShortToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorStringToContentValues(android.database.Cursor, String, android.content.ContentValues);
+    method public static void cursorStringToContentValues(android.database.Cursor, String, android.content.ContentValues, String);
+    method public static void cursorStringToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorStringToInsertHelper(android.database.Cursor, String, android.database.DatabaseUtils.InsertHelper, int);
+    method public static void dumpCurrentRow(android.database.Cursor);
+    method public static void dumpCurrentRow(android.database.Cursor, java.io.PrintStream);
+    method public static void dumpCurrentRow(android.database.Cursor, StringBuilder);
+    method public static String dumpCurrentRowToString(android.database.Cursor);
+    method public static void dumpCursor(android.database.Cursor);
+    method public static void dumpCursor(android.database.Cursor, java.io.PrintStream);
+    method public static void dumpCursor(android.database.Cursor, StringBuilder);
+    method public static String dumpCursorToString(android.database.Cursor);
+    method public static String getCollationKey(String);
+    method public static String getHexCollationKey(String);
+    method public static int getSqlStatementType(String);
+    method public static long longForQuery(android.database.sqlite.SQLiteDatabase, String, String[]);
+    method public static long longForQuery(android.database.sqlite.SQLiteStatement, String[]);
+    method public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, String);
+    method public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, String, String);
+    method public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, String, String, String[]);
+    method public static final void readExceptionFromParcel(android.os.Parcel);
+    method public static void readExceptionWithFileNotFoundExceptionFromParcel(android.os.Parcel) throws java.io.FileNotFoundException;
+    method public static void readExceptionWithOperationApplicationExceptionFromParcel(android.os.Parcel) throws android.content.OperationApplicationException;
+    method public static String sqlEscapeString(String);
+    method public static String stringForQuery(android.database.sqlite.SQLiteDatabase, String, String[]);
+    method public static String stringForQuery(android.database.sqlite.SQLiteStatement, String[]);
+    method public static final void writeExceptionToParcel(android.os.Parcel, Exception);
+    field public static final int STATEMENT_ABORT = 6; // 0x6
+    field public static final int STATEMENT_ATTACH = 3; // 0x3
+    field public static final int STATEMENT_BEGIN = 4; // 0x4
+    field public static final int STATEMENT_COMMIT = 5; // 0x5
+    field public static final int STATEMENT_DDL = 8; // 0x8
+    field public static final int STATEMENT_OTHER = 99; // 0x63
+    field public static final int STATEMENT_PRAGMA = 7; // 0x7
+    field public static final int STATEMENT_SELECT = 1; // 0x1
+    field public static final int STATEMENT_UNPREPARED = 9; // 0x9
+    field public static final int STATEMENT_UPDATE = 2; // 0x2
+  }
+
+  @Deprecated public static class DatabaseUtils.InsertHelper {
+    ctor @Deprecated public DatabaseUtils.InsertHelper(android.database.sqlite.SQLiteDatabase, String);
+    method @Deprecated public void bind(int, double);
+    method @Deprecated public void bind(int, float);
+    method @Deprecated public void bind(int, long);
+    method @Deprecated public void bind(int, int);
+    method @Deprecated public void bind(int, boolean);
+    method @Deprecated public void bind(int, byte[]);
+    method @Deprecated public void bind(int, String);
+    method @Deprecated public void bindNull(int);
+    method @Deprecated public void close();
+    method @Deprecated public long execute();
+    method @Deprecated public int getColumnIndex(String);
+    method @Deprecated public long insert(android.content.ContentValues);
+    method @Deprecated public void prepareForInsert();
+    method @Deprecated public void prepareForReplace();
+    method @Deprecated public long replace(android.content.ContentValues);
+  }
+
+  public final class DefaultDatabaseErrorHandler implements android.database.DatabaseErrorHandler {
+    ctor public DefaultDatabaseErrorHandler();
+    method public void onCorruption(android.database.sqlite.SQLiteDatabase);
+  }
+
+  public class MatrixCursor extends android.database.AbstractCursor {
+    ctor public MatrixCursor(String[], int);
+    ctor public MatrixCursor(String[]);
+    method public void addRow(Object[]);
+    method public void addRow(Iterable<?>);
+    method public String[] getColumnNames();
+    method public int getCount();
+    method public double getDouble(int);
+    method public float getFloat(int);
+    method public int getInt(int);
+    method public long getLong(int);
+    method public short getShort(int);
+    method public String getString(int);
+    method public boolean isNull(int);
+    method public android.database.MatrixCursor.RowBuilder newRow();
+  }
+
+  public class MatrixCursor.RowBuilder {
+    method public android.database.MatrixCursor.RowBuilder add(Object);
+    method public android.database.MatrixCursor.RowBuilder add(String, Object);
+  }
+
+  public class MergeCursor extends android.database.AbstractCursor {
+    ctor public MergeCursor(android.database.Cursor[]);
+    method public String[] getColumnNames();
+    method public int getCount();
+    method public double getDouble(int);
+    method public float getFloat(int);
+    method public int getInt(int);
+    method public long getLong(int);
+    method public short getShort(int);
+    method public String getString(int);
+    method public boolean isNull(int);
+  }
+
+  public abstract class Observable<T> {
+    ctor public Observable();
+    method public void registerObserver(T);
+    method public void unregisterAll();
+    method public void unregisterObserver(T);
+    field protected final java.util.ArrayList<T> mObservers;
+  }
+
+  public class SQLException extends java.lang.RuntimeException {
+    ctor public SQLException();
+    ctor public SQLException(String);
+    ctor public SQLException(String, Throwable);
+  }
+
+  public class StaleDataException extends java.lang.RuntimeException {
+    ctor public StaleDataException();
+    ctor public StaleDataException(String);
+  }
+
+}
+
+package android.database.sqlite {
+
+  public class SQLiteAbortException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteAbortException();
+    ctor public SQLiteAbortException(String);
+  }
+
+  public class SQLiteAccessPermException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteAccessPermException();
+    ctor public SQLiteAccessPermException(String);
+  }
+
+  public class SQLiteBindOrColumnIndexOutOfRangeException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteBindOrColumnIndexOutOfRangeException();
+    ctor public SQLiteBindOrColumnIndexOutOfRangeException(String);
+  }
+
+  public class SQLiteBlobTooBigException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteBlobTooBigException();
+    ctor public SQLiteBlobTooBigException(String);
+  }
+
+  public class SQLiteCantOpenDatabaseException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteCantOpenDatabaseException();
+    ctor public SQLiteCantOpenDatabaseException(String);
+  }
+
+  public abstract class SQLiteClosable implements java.io.Closeable {
+    ctor public SQLiteClosable();
+    method public void acquireReference();
+    method public void close();
+    method protected abstract void onAllReferencesReleased();
+    method @Deprecated protected void onAllReferencesReleasedFromContainer();
+    method public void releaseReference();
+    method @Deprecated public void releaseReferenceFromContainer();
+  }
+
+  public class SQLiteConstraintException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteConstraintException();
+    ctor public SQLiteConstraintException(String);
+  }
+
+  public class SQLiteCursor extends android.database.AbstractWindowedCursor {
+    ctor @Deprecated public SQLiteCursor(android.database.sqlite.SQLiteDatabase, android.database.sqlite.SQLiteCursorDriver, String, android.database.sqlite.SQLiteQuery);
+    ctor public SQLiteCursor(android.database.sqlite.SQLiteCursorDriver, String, android.database.sqlite.SQLiteQuery);
+    method public String[] getColumnNames();
+    method public int getCount();
+    method public android.database.sqlite.SQLiteDatabase getDatabase();
+    method public void setFillWindowForwardOnly(boolean);
+    method public void setSelectionArguments(String[]);
+  }
+
+  public interface SQLiteCursorDriver {
+    method public void cursorClosed();
+    method public void cursorDeactivated();
+    method public void cursorRequeried(android.database.Cursor);
+    method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase.CursorFactory, String[]);
+    method public void setBindArguments(String[]);
+  }
+
+  public final class SQLiteDatabase extends android.database.sqlite.SQLiteClosable {
+    method public void beginTransaction();
+    method public void beginTransactionNonExclusive();
+    method public void beginTransactionWithListener(android.database.sqlite.SQLiteTransactionListener);
+    method public void beginTransactionWithListenerNonExclusive(android.database.sqlite.SQLiteTransactionListener);
+    method public android.database.sqlite.SQLiteStatement compileStatement(String) throws android.database.SQLException;
+    method @NonNull public static android.database.sqlite.SQLiteDatabase create(@Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method @NonNull public static android.database.sqlite.SQLiteDatabase createInMemory(@NonNull android.database.sqlite.SQLiteDatabase.OpenParams);
+    method public int delete(String, String, String[]);
+    method public static boolean deleteDatabase(@NonNull java.io.File);
+    method public void disableWriteAheadLogging();
+    method public boolean enableWriteAheadLogging();
+    method public void endTransaction();
+    method public void execPerConnectionSQL(@NonNull String, @Nullable Object[]) throws android.database.SQLException;
+    method public void execSQL(String) throws android.database.SQLException;
+    method public void execSQL(String, Object[]) throws android.database.SQLException;
+    method public static String findEditTable(String);
+    method public java.util.List<android.util.Pair<java.lang.String,java.lang.String>> getAttachedDbs();
+    method public long getMaximumSize();
+    method public long getPageSize();
+    method public String getPath();
+    method @Deprecated public java.util.Map<java.lang.String,java.lang.String> getSyncedTables();
+    method public int getVersion();
+    method public boolean inTransaction();
+    method public long insert(String, String, android.content.ContentValues);
+    method public long insertOrThrow(String, String, android.content.ContentValues) throws android.database.SQLException;
+    method public long insertWithOnConflict(String, String, android.content.ContentValues, int);
+    method public boolean isDatabaseIntegrityOk();
+    method public boolean isDbLockedByCurrentThread();
+    method @Deprecated public boolean isDbLockedByOtherThreads();
+    method public boolean isOpen();
+    method public boolean isReadOnly();
+    method public boolean isWriteAheadLoggingEnabled();
+    method @Deprecated public void markTableSyncable(String, String);
+    method @Deprecated public void markTableSyncable(String, String, String);
+    method public boolean needUpgrade(int);
+    method protected void onAllReferencesReleased();
+    method public static android.database.sqlite.SQLiteDatabase openDatabase(@NonNull String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory, int);
+    method public static android.database.sqlite.SQLiteDatabase openDatabase(@NonNull java.io.File, @NonNull android.database.sqlite.SQLiteDatabase.OpenParams);
+    method public static android.database.sqlite.SQLiteDatabase openDatabase(@NonNull String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory, int, @Nullable android.database.DatabaseErrorHandler);
+    method public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(@NonNull java.io.File, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(@NonNull String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(@NonNull String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory, @Nullable android.database.DatabaseErrorHandler);
+    method public android.database.Cursor query(boolean, String, String[], String, String[], String, String, String, String);
+    method public android.database.Cursor query(boolean, String, String[], String, String[], String, String, String, String, android.os.CancellationSignal);
+    method public android.database.Cursor query(String, String[], String, String[], String, String, String);
+    method public android.database.Cursor query(String, String[], String, String[], String, String, String, String);
+    method public android.database.Cursor queryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory, boolean, String, String[], String, String[], String, String, String, String);
+    method public android.database.Cursor queryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory, boolean, String, String[], String, String[], String, String, String, String, android.os.CancellationSignal);
+    method public android.database.Cursor rawQuery(String, String[]);
+    method public android.database.Cursor rawQuery(String, String[], android.os.CancellationSignal);
+    method public android.database.Cursor rawQueryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory, String, String[], String);
+    method public android.database.Cursor rawQueryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory, String, String[], String, android.os.CancellationSignal);
+    method public static int releaseMemory();
+    method public long replace(String, String, android.content.ContentValues);
+    method public long replaceOrThrow(String, String, android.content.ContentValues) throws android.database.SQLException;
+    method public void setCustomAggregateFunction(@NonNull String, @NonNull java.util.function.BinaryOperator<java.lang.String>) throws android.database.sqlite.SQLiteException;
+    method public void setCustomScalarFunction(@NonNull String, @NonNull java.util.function.UnaryOperator<java.lang.String>) throws android.database.sqlite.SQLiteException;
+    method public void setForeignKeyConstraintsEnabled(boolean);
+    method public void setLocale(java.util.Locale);
+    method @Deprecated public void setLockingEnabled(boolean);
+    method public void setMaxSqlCacheSize(int);
+    method public long setMaximumSize(long);
+    method public void setPageSize(long);
+    method public void setTransactionSuccessful();
+    method public void setVersion(int);
+    method public int update(String, android.content.ContentValues, String, String[]);
+    method public int updateWithOnConflict(String, android.content.ContentValues, String, String[], int);
+    method public void validateSql(@NonNull String, @Nullable android.os.CancellationSignal);
+    method @Deprecated public boolean yieldIfContended();
+    method public boolean yieldIfContendedSafely();
+    method public boolean yieldIfContendedSafely(long);
+    field public static final int CONFLICT_ABORT = 2; // 0x2
+    field public static final int CONFLICT_FAIL = 3; // 0x3
+    field public static final int CONFLICT_IGNORE = 4; // 0x4
+    field public static final int CONFLICT_NONE = 0; // 0x0
+    field public static final int CONFLICT_REPLACE = 5; // 0x5
+    field public static final int CONFLICT_ROLLBACK = 1; // 0x1
+    field public static final int CREATE_IF_NECESSARY = 268435456; // 0x10000000
+    field public static final int ENABLE_WRITE_AHEAD_LOGGING = 536870912; // 0x20000000
+    field public static final int MAX_SQL_CACHE_SIZE = 100; // 0x64
+    field public static final int NO_LOCALIZED_COLLATORS = 16; // 0x10
+    field public static final int OPEN_READONLY = 1; // 0x1
+    field public static final int OPEN_READWRITE = 0; // 0x0
+    field public static final int SQLITE_MAX_LIKE_PATTERN_LENGTH = 50000; // 0xc350
+  }
+
+  public static interface SQLiteDatabase.CursorFactory {
+    method public android.database.Cursor newCursor(android.database.sqlite.SQLiteDatabase, android.database.sqlite.SQLiteCursorDriver, String, android.database.sqlite.SQLiteQuery);
+  }
+
+  public static final class SQLiteDatabase.OpenParams {
+    method @Nullable public android.database.sqlite.SQLiteDatabase.CursorFactory getCursorFactory();
+    method @Nullable public android.database.DatabaseErrorHandler getErrorHandler();
+    method public long getIdleConnectionTimeout();
+    method @Nullable public String getJournalMode();
+    method @IntRange(from=0xffffffff) public int getLookasideSlotCount();
+    method @IntRange(from=0xffffffff) public int getLookasideSlotSize();
+    method public int getOpenFlags();
+    method @Nullable public String getSynchronousMode();
+  }
+
+  public static final class SQLiteDatabase.OpenParams.Builder {
+    ctor public SQLiteDatabase.OpenParams.Builder();
+    ctor public SQLiteDatabase.OpenParams.Builder(android.database.sqlite.SQLiteDatabase.OpenParams);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder addOpenFlags(int);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams build();
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder removeOpenFlags(int);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setCursorFactory(@Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setErrorHandler(@Nullable android.database.DatabaseErrorHandler);
+    method @Deprecated @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setIdleConnectionTimeout(@IntRange(from=0) long);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setJournalMode(@NonNull String);
+    method public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setLookasideConfig(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setOpenFlags(int);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setSynchronousMode(@NonNull String);
+  }
+
+  public class SQLiteDatabaseCorruptException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteDatabaseCorruptException();
+    ctor public SQLiteDatabaseCorruptException(String);
+  }
+
+  public class SQLiteDatabaseLockedException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteDatabaseLockedException();
+    ctor public SQLiteDatabaseLockedException(String);
+  }
+
+  public class SQLiteDatatypeMismatchException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteDatatypeMismatchException();
+    ctor public SQLiteDatatypeMismatchException(String);
+  }
+
+  public class SQLiteDiskIOException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteDiskIOException();
+    ctor public SQLiteDiskIOException(String);
+  }
+
+  public class SQLiteDoneException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteDoneException();
+    ctor public SQLiteDoneException(String);
+  }
+
+  public class SQLiteException extends android.database.SQLException {
+    ctor public SQLiteException();
+    ctor public SQLiteException(String);
+    ctor public SQLiteException(String, Throwable);
+  }
+
+  public class SQLiteFullException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteFullException();
+    ctor public SQLiteFullException(String);
+  }
+
+  public class SQLiteMisuseException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteMisuseException();
+    ctor public SQLiteMisuseException(String);
+  }
+
+  public abstract class SQLiteOpenHelper implements java.lang.AutoCloseable {
+    ctor public SQLiteOpenHelper(@Nullable android.content.Context, @Nullable String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory, int);
+    ctor public SQLiteOpenHelper(@Nullable android.content.Context, @Nullable String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory, int, @Nullable android.database.DatabaseErrorHandler);
+    ctor public SQLiteOpenHelper(@Nullable android.content.Context, @Nullable String, int, @NonNull android.database.sqlite.SQLiteDatabase.OpenParams);
+    method public void close();
+    method public String getDatabaseName();
+    method public android.database.sqlite.SQLiteDatabase getReadableDatabase();
+    method public android.database.sqlite.SQLiteDatabase getWritableDatabase();
+    method public void onConfigure(android.database.sqlite.SQLiteDatabase);
+    method public abstract void onCreate(android.database.sqlite.SQLiteDatabase);
+    method public void onDowngrade(android.database.sqlite.SQLiteDatabase, int, int);
+    method public void onOpen(android.database.sqlite.SQLiteDatabase);
+    method public abstract void onUpgrade(android.database.sqlite.SQLiteDatabase, int, int);
+    method @Deprecated public void setIdleConnectionTimeout(@IntRange(from=0) long);
+    method public void setLookasideConfig(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public void setOpenParams(@NonNull android.database.sqlite.SQLiteDatabase.OpenParams);
+    method public void setWriteAheadLoggingEnabled(boolean);
+  }
+
+  public class SQLiteOutOfMemoryException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteOutOfMemoryException();
+    ctor public SQLiteOutOfMemoryException(String);
+  }
+
+  public abstract class SQLiteProgram extends android.database.sqlite.SQLiteClosable {
+    method public void bindAllArgsAsStrings(String[]);
+    method public void bindBlob(int, byte[]);
+    method public void bindDouble(int, double);
+    method public void bindLong(int, long);
+    method public void bindNull(int);
+    method public void bindString(int, String);
+    method public void clearBindings();
+    method @Deprecated public final int getUniqueId();
+    method protected void onAllReferencesReleased();
+  }
+
+  public final class SQLiteQuery extends android.database.sqlite.SQLiteProgram {
+  }
+
+  public class SQLiteQueryBuilder {
+    ctor public SQLiteQueryBuilder();
+    method public static void appendColumns(StringBuilder, String[]);
+    method public void appendWhere(@NonNull CharSequence);
+    method public void appendWhereEscapeString(@NonNull String);
+    method public void appendWhereStandalone(@NonNull CharSequence);
+    method public String buildQuery(String[], String, String, String, String, String);
+    method @Deprecated public String buildQuery(String[], String, String[], String, String, String, String);
+    method public static String buildQueryString(boolean, String, String[], String, String, String, String, String);
+    method public String buildUnionQuery(String[], String, String);
+    method public String buildUnionSubQuery(String, String[], java.util.Set<java.lang.String>, int, String, String, String, String);
+    method @Deprecated public String buildUnionSubQuery(String, String[], java.util.Set<java.lang.String>, int, String, String, String[], String, String);
+    method public int delete(@NonNull android.database.sqlite.SQLiteDatabase, @Nullable String, @Nullable String[]);
+    method @Nullable public android.database.sqlite.SQLiteDatabase.CursorFactory getCursorFactory();
+    method @Nullable public java.util.Collection<java.util.regex.Pattern> getProjectionGreylist();
+    method @Nullable public java.util.Map<java.lang.String,java.lang.String> getProjectionMap();
+    method @Nullable public String getTables();
+    method public long insert(@NonNull android.database.sqlite.SQLiteDatabase, @NonNull android.content.ContentValues);
+    method public boolean isDistinct();
+    method public boolean isStrict();
+    method public boolean isStrictColumns();
+    method public boolean isStrictGrammar();
+    method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String);
+    method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String, String);
+    method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String, String, android.os.CancellationSignal);
+    method public void setCursorFactory(@Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public void setDistinct(boolean);
+    method public void setProjectionGreylist(@Nullable java.util.Collection<java.util.regex.Pattern>);
+    method public void setProjectionMap(@Nullable java.util.Map<java.lang.String,java.lang.String>);
+    method public void setStrict(boolean);
+    method public void setStrictColumns(boolean);
+    method public void setStrictGrammar(boolean);
+    method public void setTables(@Nullable String);
+    method public int update(@NonNull android.database.sqlite.SQLiteDatabase, @NonNull android.content.ContentValues, @Nullable String, @Nullable String[]);
+  }
+
+  public class SQLiteReadOnlyDatabaseException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteReadOnlyDatabaseException();
+    ctor public SQLiteReadOnlyDatabaseException(String);
+  }
+
+  public final class SQLiteStatement extends android.database.sqlite.SQLiteProgram {
+    method public void execute();
+    method public long executeInsert();
+    method public int executeUpdateDelete();
+    method public android.os.ParcelFileDescriptor simpleQueryForBlobFileDescriptor();
+    method public long simpleQueryForLong();
+    method public String simpleQueryForString();
+  }
+
+  public class SQLiteTableLockedException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteTableLockedException();
+    ctor public SQLiteTableLockedException(String);
+  }
+
+  public interface SQLiteTransactionListener {
+    method public void onBegin();
+    method public void onCommit();
+    method public void onRollback();
+  }
+
+}
+
+package android.drm {
+
+  @Deprecated public class DrmConvertedStatus {
+    ctor @Deprecated public DrmConvertedStatus(int, byte[], int);
+    field @Deprecated public static final int STATUS_ERROR = 3; // 0x3
+    field @Deprecated public static final int STATUS_INPUTDATA_ERROR = 2; // 0x2
+    field @Deprecated public static final int STATUS_OK = 1; // 0x1
+    field @Deprecated public final byte[] convertedData;
+    field @Deprecated public final int offset;
+    field @Deprecated public final int statusCode;
+  }
+
+  @Deprecated public class DrmErrorEvent extends android.drm.DrmEvent {
+    ctor @Deprecated public DrmErrorEvent(int, int, String);
+    ctor @Deprecated public DrmErrorEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>);
+    field @Deprecated public static final int TYPE_ACQUIRE_DRM_INFO_FAILED = 2008; // 0x7d8
+    field @Deprecated public static final int TYPE_NOT_SUPPORTED = 2003; // 0x7d3
+    field @Deprecated public static final int TYPE_NO_INTERNET_CONNECTION = 2005; // 0x7d5
+    field @Deprecated public static final int TYPE_OUT_OF_MEMORY = 2004; // 0x7d4
+    field @Deprecated public static final int TYPE_PROCESS_DRM_INFO_FAILED = 2006; // 0x7d6
+    field @Deprecated public static final int TYPE_REMOVE_ALL_RIGHTS_FAILED = 2007; // 0x7d7
+    field @Deprecated public static final int TYPE_RIGHTS_NOT_INSTALLED = 2001; // 0x7d1
+    field @Deprecated public static final int TYPE_RIGHTS_RENEWAL_NOT_ALLOWED = 2002; // 0x7d2
+  }
+
+  @Deprecated public class DrmEvent {
+    ctor @Deprecated protected DrmEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>);
+    ctor @Deprecated protected DrmEvent(int, int, String);
+    method @Deprecated public Object getAttribute(String);
+    method @Deprecated public String getMessage();
+    method @Deprecated public int getType();
+    method @Deprecated public int getUniqueId();
+    field @Deprecated public static final String DRM_INFO_OBJECT = "drm_info_object";
+    field @Deprecated public static final String DRM_INFO_STATUS_OBJECT = "drm_info_status_object";
+    field @Deprecated public static final int TYPE_ALL_RIGHTS_REMOVED = 1001; // 0x3e9
+    field @Deprecated public static final int TYPE_DRM_INFO_PROCESSED = 1002; // 0x3ea
+  }
+
+  @Deprecated public class DrmInfo {
+    ctor @Deprecated public DrmInfo(int, byte[], String);
+    ctor @Deprecated public DrmInfo(int, String, String);
+    method @Deprecated public Object get(String);
+    method @Deprecated public byte[] getData();
+    method @Deprecated public int getInfoType();
+    method @Deprecated public String getMimeType();
+    method @Deprecated public java.util.Iterator<java.lang.Object> iterator();
+    method @Deprecated public java.util.Iterator<java.lang.String> keyIterator();
+    method @Deprecated public void put(String, Object);
+  }
+
+  @Deprecated public class DrmInfoEvent extends android.drm.DrmEvent {
+    ctor @Deprecated public DrmInfoEvent(int, int, String);
+    ctor @Deprecated public DrmInfoEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>);
+    field @Deprecated public static final int TYPE_ACCOUNT_ALREADY_REGISTERED = 5; // 0x5
+    field @Deprecated public static final int TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT = 1; // 0x1
+    field @Deprecated public static final int TYPE_REMOVE_RIGHTS = 2; // 0x2
+    field @Deprecated public static final int TYPE_RIGHTS_INSTALLED = 3; // 0x3
+    field @Deprecated public static final int TYPE_RIGHTS_REMOVED = 6; // 0x6
+    field @Deprecated public static final int TYPE_WAIT_FOR_RIGHTS = 4; // 0x4
+  }
+
+  @Deprecated public class DrmInfoRequest {
+    ctor @Deprecated public DrmInfoRequest(int, String);
+    method @Deprecated public Object get(String);
+    method @Deprecated public int getInfoType();
+    method @Deprecated public String getMimeType();
+    method @Deprecated public java.util.Iterator<java.lang.Object> iterator();
+    method @Deprecated public java.util.Iterator<java.lang.String> keyIterator();
+    method @Deprecated public void put(String, Object);
+    field @Deprecated public static final String ACCOUNT_ID = "account_id";
+    field @Deprecated public static final String SUBSCRIPTION_ID = "subscription_id";
+    field @Deprecated public static final int TYPE_REGISTRATION_INFO = 1; // 0x1
+    field @Deprecated public static final int TYPE_RIGHTS_ACQUISITION_INFO = 3; // 0x3
+    field @Deprecated public static final int TYPE_RIGHTS_ACQUISITION_PROGRESS_INFO = 4; // 0x4
+    field @Deprecated public static final int TYPE_UNREGISTRATION_INFO = 2; // 0x2
+  }
+
+  @Deprecated public class DrmInfoStatus {
+    ctor @Deprecated public DrmInfoStatus(int, int, android.drm.ProcessedData, String);
+    field @Deprecated public static final int STATUS_ERROR = 2; // 0x2
+    field @Deprecated public static final int STATUS_OK = 1; // 0x1
+    field @Deprecated public final android.drm.ProcessedData data;
+    field @Deprecated public final int infoType;
+    field @Deprecated public final String mimeType;
+    field @Deprecated public final int statusCode;
+  }
+
+  @Deprecated public class DrmManagerClient implements java.lang.AutoCloseable {
+    ctor @Deprecated public DrmManagerClient(android.content.Context);
+    method @Deprecated public android.drm.DrmInfo acquireDrmInfo(android.drm.DrmInfoRequest);
+    method @Deprecated public int acquireRights(android.drm.DrmInfoRequest);
+    method @Deprecated public boolean canHandle(String, String);
+    method @Deprecated public boolean canHandle(android.net.Uri, String);
+    method @Deprecated public int checkRightsStatus(String);
+    method @Deprecated public int checkRightsStatus(android.net.Uri);
+    method @Deprecated public int checkRightsStatus(String, int);
+    method @Deprecated public int checkRightsStatus(android.net.Uri, int);
+    method @Deprecated public void close();
+    method @Deprecated public android.drm.DrmConvertedStatus closeConvertSession(int);
+    method @Deprecated public android.drm.DrmConvertedStatus convertData(int, byte[]);
+    method @Deprecated public String[] getAvailableDrmEngines();
+    method @Deprecated @NonNull public java.util.Collection<android.drm.DrmSupportInfo> getAvailableDrmSupportInfo();
+    method @Deprecated public android.content.ContentValues getConstraints(String, int);
+    method @Deprecated public android.content.ContentValues getConstraints(android.net.Uri, int);
+    method @Deprecated public int getDrmObjectType(String, String);
+    method @Deprecated public int getDrmObjectType(android.net.Uri, String);
+    method @Deprecated public android.content.ContentValues getMetadata(String);
+    method @Deprecated public android.content.ContentValues getMetadata(android.net.Uri);
+    method @Deprecated public String getOriginalMimeType(String);
+    method @Deprecated public String getOriginalMimeType(android.net.Uri);
+    method @Deprecated public int openConvertSession(String);
+    method @Deprecated public int processDrmInfo(android.drm.DrmInfo);
+    method @Deprecated public void release();
+    method @Deprecated public int removeAllRights();
+    method @Deprecated public int removeRights(String);
+    method @Deprecated public int removeRights(android.net.Uri);
+    method @Deprecated public int saveRights(android.drm.DrmRights, String, String) throws java.io.IOException;
+    method @Deprecated public void setOnErrorListener(android.drm.DrmManagerClient.OnErrorListener);
+    method @Deprecated public void setOnEventListener(android.drm.DrmManagerClient.OnEventListener);
+    method @Deprecated public void setOnInfoListener(android.drm.DrmManagerClient.OnInfoListener);
+    field @Deprecated public static final int ERROR_NONE = 0; // 0x0
+    field @Deprecated public static final int ERROR_UNKNOWN = -2000; // 0xfffff830
+  }
+
+  @Deprecated public static interface DrmManagerClient.OnErrorListener {
+    method @Deprecated public void onError(android.drm.DrmManagerClient, android.drm.DrmErrorEvent);
+  }
+
+  @Deprecated public static interface DrmManagerClient.OnEventListener {
+    method @Deprecated public void onEvent(android.drm.DrmManagerClient, android.drm.DrmEvent);
+  }
+
+  @Deprecated public static interface DrmManagerClient.OnInfoListener {
+    method @Deprecated public void onInfo(android.drm.DrmManagerClient, android.drm.DrmInfoEvent);
+  }
+
+  @Deprecated public class DrmRights {
+    ctor @Deprecated public DrmRights(String, String);
+    ctor @Deprecated public DrmRights(String, String, String);
+    ctor @Deprecated public DrmRights(String, String, String, String);
+    ctor @Deprecated public DrmRights(java.io.File, String);
+    ctor @Deprecated public DrmRights(android.drm.ProcessedData, String);
+    method @Deprecated public String getAccountId();
+    method @Deprecated public byte[] getData();
+    method @Deprecated public String getMimeType();
+    method @Deprecated public String getSubscriptionId();
+  }
+
+  @Deprecated public class DrmStore {
+    ctor @Deprecated public DrmStore();
+  }
+
+  @Deprecated public static class DrmStore.Action {
+    ctor @Deprecated public DrmStore.Action();
+    field @Deprecated public static final int DEFAULT = 0; // 0x0
+    field @Deprecated public static final int DISPLAY = 7; // 0x7
+    field @Deprecated public static final int EXECUTE = 6; // 0x6
+    field @Deprecated public static final int OUTPUT = 4; // 0x4
+    field @Deprecated public static final int PLAY = 1; // 0x1
+    field @Deprecated public static final int PREVIEW = 5; // 0x5
+    field @Deprecated public static final int RINGTONE = 2; // 0x2
+    field @Deprecated public static final int TRANSFER = 3; // 0x3
+  }
+
+  @Deprecated public static interface DrmStore.ConstraintsColumns {
+    field @Deprecated public static final String EXTENDED_METADATA = "extended_metadata";
+    field @Deprecated public static final String LICENSE_AVAILABLE_TIME = "license_available_time";
+    field @Deprecated public static final String LICENSE_EXPIRY_TIME = "license_expiry_time";
+    field @Deprecated public static final String LICENSE_START_TIME = "license_start_time";
+    field @Deprecated public static final String MAX_REPEAT_COUNT = "max_repeat_count";
+    field @Deprecated public static final String REMAINING_REPEAT_COUNT = "remaining_repeat_count";
+  }
+
+  @Deprecated public static class DrmStore.DrmObjectType {
+    ctor @Deprecated public DrmStore.DrmObjectType();
+    field @Deprecated public static final int CONTENT = 1; // 0x1
+    field @Deprecated public static final int RIGHTS_OBJECT = 2; // 0x2
+    field @Deprecated public static final int TRIGGER_OBJECT = 3; // 0x3
+    field @Deprecated public static final int UNKNOWN = 0; // 0x0
+  }
+
+  @Deprecated public static class DrmStore.Playback {
+    ctor @Deprecated public DrmStore.Playback();
+    field @Deprecated public static final int PAUSE = 2; // 0x2
+    field @Deprecated public static final int RESUME = 3; // 0x3
+    field @Deprecated public static final int START = 0; // 0x0
+    field @Deprecated public static final int STOP = 1; // 0x1
+  }
+
+  @Deprecated public static class DrmStore.RightsStatus {
+    ctor @Deprecated public DrmStore.RightsStatus();
+    field @Deprecated public static final int RIGHTS_EXPIRED = 2; // 0x2
+    field @Deprecated public static final int RIGHTS_INVALID = 1; // 0x1
+    field @Deprecated public static final int RIGHTS_NOT_ACQUIRED = 3; // 0x3
+    field @Deprecated public static final int RIGHTS_VALID = 0; // 0x0
+  }
+
+  @Deprecated public class DrmSupportInfo {
+    ctor @Deprecated public DrmSupportInfo();
+    method @Deprecated public void addFileSuffix(String);
+    method @Deprecated public void addMimeType(String);
+    method @Deprecated public String getDescriprition();
+    method @Deprecated public String getDescription();
+    method @Deprecated public java.util.Iterator<java.lang.String> getFileSuffixIterator();
+    method @Deprecated public java.util.Iterator<java.lang.String> getMimeTypeIterator();
+    method @Deprecated public void setDescription(String);
+  }
+
+  @Deprecated public class DrmUtils {
+    ctor @Deprecated public DrmUtils();
+    method @Deprecated public static android.drm.DrmUtils.ExtendedMetadataParser getExtendedMetadataParser(byte[]);
+  }
+
+  @Deprecated public static class DrmUtils.ExtendedMetadataParser {
+    method @Deprecated public String get(String);
+    method @Deprecated public java.util.Iterator<java.lang.String> iterator();
+    method @Deprecated public java.util.Iterator<java.lang.String> keyIterator();
+  }
+
+  @Deprecated public class ProcessedData {
+    method @Deprecated public String getAccountId();
+    method @Deprecated public byte[] getData();
+    method @Deprecated public String getSubscriptionId();
+  }
+
+}
+
+package android.gesture {
+
+  public class Gesture implements android.os.Parcelable {
+    ctor public Gesture();
+    method public void addStroke(android.gesture.GestureStroke);
+    method public Object clone();
+    method public int describeContents();
+    method public android.graphics.RectF getBoundingBox();
+    method public long getID();
+    method public float getLength();
+    method public java.util.ArrayList<android.gesture.GestureStroke> getStrokes();
+    method public int getStrokesCount();
+    method public android.graphics.Bitmap toBitmap(int, int, int, int, int);
+    method public android.graphics.Bitmap toBitmap(int, int, int, int);
+    method public android.graphics.Path toPath();
+    method public android.graphics.Path toPath(android.graphics.Path);
+    method public android.graphics.Path toPath(int, int, int, int);
+    method public android.graphics.Path toPath(android.graphics.Path, int, int, int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.gesture.Gesture> CREATOR;
+  }
+
+  public final class GestureLibraries {
+    method public static android.gesture.GestureLibrary fromFile(String);
+    method public static android.gesture.GestureLibrary fromFile(java.io.File);
+    method @NonNull public static android.gesture.GestureLibrary fromFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
+    method public static android.gesture.GestureLibrary fromPrivateFile(android.content.Context, String);
+    method public static android.gesture.GestureLibrary fromRawResource(android.content.Context, @RawRes int);
+  }
+
+  public abstract class GestureLibrary {
+    ctor protected GestureLibrary();
+    method public void addGesture(String, android.gesture.Gesture);
+    method public java.util.Set<java.lang.String> getGestureEntries();
+    method public java.util.ArrayList<android.gesture.Gesture> getGestures(String);
+    method public int getOrientationStyle();
+    method public int getSequenceType();
+    method public boolean isReadOnly();
+    method public abstract boolean load();
+    method public java.util.ArrayList<android.gesture.Prediction> recognize(android.gesture.Gesture);
+    method public void removeEntry(String);
+    method public void removeGesture(String, android.gesture.Gesture);
+    method public abstract boolean save();
+    method public void setOrientationStyle(int);
+    method public void setSequenceType(int);
+    field protected final android.gesture.GestureStore mStore;
+  }
+
+  public class GestureOverlayView extends android.widget.FrameLayout {
+    ctor public GestureOverlayView(android.content.Context);
+    ctor public GestureOverlayView(android.content.Context, android.util.AttributeSet);
+    ctor public GestureOverlayView(android.content.Context, android.util.AttributeSet, int);
+    ctor public GestureOverlayView(android.content.Context, android.util.AttributeSet, int, int);
+    method public void addOnGestureListener(android.gesture.GestureOverlayView.OnGestureListener);
+    method public void addOnGesturePerformedListener(android.gesture.GestureOverlayView.OnGesturePerformedListener);
+    method public void addOnGesturingListener(android.gesture.GestureOverlayView.OnGesturingListener);
+    method public void cancelClearAnimation();
+    method public void cancelGesture();
+    method public void clear(boolean);
+    method public java.util.ArrayList<android.gesture.GesturePoint> getCurrentStroke();
+    method public long getFadeOffset();
+    method public android.gesture.Gesture getGesture();
+    method @ColorInt public int getGestureColor();
+    method public android.graphics.Path getGesturePath();
+    method public android.graphics.Path getGesturePath(android.graphics.Path);
+    method public float getGestureStrokeAngleThreshold();
+    method public float getGestureStrokeLengthThreshold();
+    method public float getGestureStrokeSquarenessTreshold();
+    method public int getGestureStrokeType();
+    method public float getGestureStrokeWidth();
+    method public int getOrientation();
+    method @ColorInt public int getUncertainGestureColor();
+    method public boolean isEventsInterceptionEnabled();
+    method public boolean isFadeEnabled();
+    method public boolean isGestureVisible();
+    method public boolean isGesturing();
+    method public void removeAllOnGestureListeners();
+    method public void removeAllOnGesturePerformedListeners();
+    method public void removeAllOnGesturingListeners();
+    method public void removeOnGestureListener(android.gesture.GestureOverlayView.OnGestureListener);
+    method public void removeOnGesturePerformedListener(android.gesture.GestureOverlayView.OnGesturePerformedListener);
+    method public void removeOnGesturingListener(android.gesture.GestureOverlayView.OnGesturingListener);
+    method public void setEventsInterceptionEnabled(boolean);
+    method public void setFadeEnabled(boolean);
+    method public void setFadeOffset(long);
+    method public void setGesture(android.gesture.Gesture);
+    method public void setGestureColor(@ColorInt int);
+    method public void setGestureStrokeAngleThreshold(float);
+    method public void setGestureStrokeLengthThreshold(float);
+    method public void setGestureStrokeSquarenessTreshold(float);
+    method public void setGestureStrokeType(int);
+    method public void setGestureStrokeWidth(float);
+    method public void setGestureVisible(boolean);
+    method public void setOrientation(int);
+    method public void setUncertainGestureColor(@ColorInt int);
+    field public static final int GESTURE_STROKE_TYPE_MULTIPLE = 1; // 0x1
+    field public static final int GESTURE_STROKE_TYPE_SINGLE = 0; // 0x0
+    field public static final int ORIENTATION_HORIZONTAL = 0; // 0x0
+    field public static final int ORIENTATION_VERTICAL = 1; // 0x1
+  }
+
+  public static interface GestureOverlayView.OnGestureListener {
+    method public void onGesture(android.gesture.GestureOverlayView, android.view.MotionEvent);
+    method public void onGestureCancelled(android.gesture.GestureOverlayView, android.view.MotionEvent);
+    method public void onGestureEnded(android.gesture.GestureOverlayView, android.view.MotionEvent);
+    method public void onGestureStarted(android.gesture.GestureOverlayView, android.view.MotionEvent);
+  }
+
+  public static interface GestureOverlayView.OnGesturePerformedListener {
+    method public void onGesturePerformed(android.gesture.GestureOverlayView, android.gesture.Gesture);
+  }
+
+  public static interface GestureOverlayView.OnGesturingListener {
+    method public void onGesturingEnded(android.gesture.GestureOverlayView);
+    method public void onGesturingStarted(android.gesture.GestureOverlayView);
+  }
+
+  public class GesturePoint {
+    ctor public GesturePoint(float, float, long);
+    method public Object clone();
+    field public final long timestamp;
+    field public final float x;
+    field public final float y;
+  }
+
+  public class GestureStore {
+    ctor public GestureStore();
+    method public void addGesture(String, android.gesture.Gesture);
+    method public java.util.Set<java.lang.String> getGestureEntries();
+    method public java.util.ArrayList<android.gesture.Gesture> getGestures(String);
+    method public int getOrientationStyle();
+    method public int getSequenceType();
+    method public boolean hasChanged();
+    method public void load(java.io.InputStream) throws java.io.IOException;
+    method public void load(java.io.InputStream, boolean) throws java.io.IOException;
+    method public java.util.ArrayList<android.gesture.Prediction> recognize(android.gesture.Gesture);
+    method public void removeEntry(String);
+    method public void removeGesture(String, android.gesture.Gesture);
+    method public void save(java.io.OutputStream) throws java.io.IOException;
+    method public void save(java.io.OutputStream, boolean) throws java.io.IOException;
+    method public void setOrientationStyle(int);
+    method public void setSequenceType(int);
+    field public static final int ORIENTATION_INVARIANT = 1; // 0x1
+    field public static final int ORIENTATION_SENSITIVE = 2; // 0x2
+    field public static final int SEQUENCE_INVARIANT = 1; // 0x1
+    field public static final int SEQUENCE_SENSITIVE = 2; // 0x2
+  }
+
+  public class GestureStroke {
+    ctor public GestureStroke(java.util.ArrayList<android.gesture.GesturePoint>);
+    method public void clearPath();
+    method public Object clone();
+    method public android.gesture.OrientedBoundingBox computeOrientedBoundingBox();
+    method public android.graphics.Path getPath();
+    method public android.graphics.Path toPath(float, float, int);
+    field public final android.graphics.RectF boundingBox;
+    field public final float length;
+    field public final float[] points;
+  }
+
+  public final class GestureUtils {
+    method public static android.gesture.OrientedBoundingBox computeOrientedBoundingBox(java.util.ArrayList<android.gesture.GesturePoint>);
+    method public static android.gesture.OrientedBoundingBox computeOrientedBoundingBox(float[]);
+    method public static float[] spatialSampling(android.gesture.Gesture, int);
+    method public static float[] spatialSampling(android.gesture.Gesture, int, boolean);
+    method public static float[] temporalSampling(android.gesture.GestureStroke, int);
+  }
+
+  public class OrientedBoundingBox {
+    field public final float centerX;
+    field public final float centerY;
+    field public final float height;
+    field public final float orientation;
+    field public final float squareness;
+    field public final float width;
+  }
+
+  public class Prediction {
+    field public final String name;
+    field public double score;
+  }
+
+}
+
+package android.graphics {
+
+  public final class Bitmap implements android.os.Parcelable {
+    method @NonNull public android.graphics.Bitmap asShared();
+    method @WorkerThread public boolean compress(android.graphics.Bitmap.CompressFormat, int, java.io.OutputStream);
+    method public android.graphics.Bitmap copy(android.graphics.Bitmap.Config, boolean);
+    method public void copyPixelsFromBuffer(java.nio.Buffer);
+    method public void copyPixelsToBuffer(java.nio.Buffer);
+    method public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap);
+    method public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap, int, int, int, int);
+    method public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap, int, int, int, int, @Nullable android.graphics.Matrix, boolean);
+    method public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config, boolean);
+    method public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config, boolean, @NonNull android.graphics.ColorSpace);
+    method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config, boolean);
+    method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config, boolean, @NonNull android.graphics.ColorSpace);
+    method public static android.graphics.Bitmap createBitmap(@ColorInt @NonNull int[], int, int, int, int, @NonNull android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createBitmap(@NonNull android.util.DisplayMetrics, @ColorInt @NonNull int[], int, int, int, int, @NonNull android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createBitmap(@ColorInt @NonNull int[], int, int, android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, @ColorInt @NonNull int[], int, int, @NonNull android.graphics.Bitmap.Config);
+    method @NonNull public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Picture);
+    method @NonNull public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Picture, int, int, @NonNull android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createScaledBitmap(@NonNull android.graphics.Bitmap, int, int, boolean);
+    method public int describeContents();
+    method public void eraseColor(@ColorInt int);
+    method public void eraseColor(@ColorLong long);
+    method @CheckResult public android.graphics.Bitmap extractAlpha();
+    method @CheckResult public android.graphics.Bitmap extractAlpha(android.graphics.Paint, int[]);
+    method public int getAllocationByteCount();
+    method public int getByteCount();
+    method @NonNull public android.graphics.Color getColor(int, int);
+    method @Nullable public android.graphics.ColorSpace getColorSpace();
+    method public android.graphics.Bitmap.Config getConfig();
+    method public int getDensity();
+    method public int getGenerationId();
+    method @NonNull public android.hardware.HardwareBuffer getHardwareBuffer();
+    method public int getHeight();
+    method public byte[] getNinePatchChunk();
+    method @ColorInt public int getPixel(int, int);
+    method public void getPixels(@ColorInt int[], int, int, int, int, int, int);
+    method public int getRowBytes();
+    method public int getScaledHeight(android.graphics.Canvas);
+    method public int getScaledHeight(android.util.DisplayMetrics);
+    method public int getScaledHeight(int);
+    method public int getScaledWidth(android.graphics.Canvas);
+    method public int getScaledWidth(android.util.DisplayMetrics);
+    method public int getScaledWidth(int);
+    method public int getWidth();
+    method public boolean hasAlpha();
+    method public boolean hasMipMap();
+    method public boolean isMutable();
+    method public boolean isPremultiplied();
+    method public boolean isRecycled();
+    method public void prepareToDraw();
+    method public void reconfigure(int, int, android.graphics.Bitmap.Config);
+    method public void recycle();
+    method public boolean sameAs(android.graphics.Bitmap);
+    method public void setColorSpace(@NonNull android.graphics.ColorSpace);
+    method public void setConfig(android.graphics.Bitmap.Config);
+    method public void setDensity(int);
+    method public void setHasAlpha(boolean);
+    method public void setHasMipMap(boolean);
+    method public void setHeight(int);
+    method public void setPixel(int, int, @ColorInt int);
+    method public void setPixels(@ColorInt int[], int, int, int, int, int, int);
+    method public void setPremultiplied(boolean);
+    method public void setWidth(int);
+    method @Nullable public static android.graphics.Bitmap wrapHardwareBuffer(@NonNull android.hardware.HardwareBuffer, @Nullable android.graphics.ColorSpace);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Bitmap> CREATOR;
+    field public static final int DENSITY_NONE = 0; // 0x0
+  }
+
+  public enum Bitmap.CompressFormat {
+    enum_constant public static final android.graphics.Bitmap.CompressFormat JPEG;
+    enum_constant public static final android.graphics.Bitmap.CompressFormat PNG;
+    enum_constant @Deprecated public static final android.graphics.Bitmap.CompressFormat WEBP;
+    enum_constant public static final android.graphics.Bitmap.CompressFormat WEBP_LOSSLESS;
+    enum_constant public static final android.graphics.Bitmap.CompressFormat WEBP_LOSSY;
+  }
+
+  public enum Bitmap.Config {
+    enum_constant public static final android.graphics.Bitmap.Config ALPHA_8;
+    enum_constant @Deprecated public static final android.graphics.Bitmap.Config ARGB_4444;
+    enum_constant public static final android.graphics.Bitmap.Config ARGB_8888;
+    enum_constant public static final android.graphics.Bitmap.Config HARDWARE;
+    enum_constant public static final android.graphics.Bitmap.Config RGBA_F16;
+    enum_constant public static final android.graphics.Bitmap.Config RGB_565;
+  }
+
+  public class BitmapFactory {
+    ctor public BitmapFactory();
+    method public static android.graphics.Bitmap decodeByteArray(byte[], int, int, android.graphics.BitmapFactory.Options);
+    method public static android.graphics.Bitmap decodeByteArray(byte[], int, int);
+    method public static android.graphics.Bitmap decodeFile(String, android.graphics.BitmapFactory.Options);
+    method public static android.graphics.Bitmap decodeFile(String);
+    method public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor, android.graphics.Rect, android.graphics.BitmapFactory.Options);
+    method public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor);
+    method public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int, android.graphics.BitmapFactory.Options);
+    method public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int);
+    method @Nullable public static android.graphics.Bitmap decodeResourceStream(@Nullable android.content.res.Resources, @Nullable android.util.TypedValue, @Nullable java.io.InputStream, @Nullable android.graphics.Rect, @Nullable android.graphics.BitmapFactory.Options);
+    method @Nullable public static android.graphics.Bitmap decodeStream(@Nullable java.io.InputStream, @Nullable android.graphics.Rect, @Nullable android.graphics.BitmapFactory.Options);
+    method public static android.graphics.Bitmap decodeStream(java.io.InputStream);
+  }
+
+  public static class BitmapFactory.Options {
+    ctor public BitmapFactory.Options();
+    method @Deprecated public void requestCancelDecode();
+    field public android.graphics.Bitmap inBitmap;
+    field public int inDensity;
+    field @Deprecated public boolean inDither;
+    field @Deprecated public boolean inInputShareable;
+    field public boolean inJustDecodeBounds;
+    field public boolean inMutable;
+    field @Deprecated public boolean inPreferQualityOverSpeed;
+    field public android.graphics.ColorSpace inPreferredColorSpace;
+    field public android.graphics.Bitmap.Config inPreferredConfig;
+    field public boolean inPremultiplied;
+    field @Deprecated public boolean inPurgeable;
+    field public int inSampleSize;
+    field public boolean inScaled;
+    field public int inScreenDensity;
+    field public int inTargetDensity;
+    field public byte[] inTempStorage;
+    field @Deprecated public boolean mCancel;
+    field public android.graphics.ColorSpace outColorSpace;
+    field public android.graphics.Bitmap.Config outConfig;
+    field public int outHeight;
+    field public String outMimeType;
+    field public int outWidth;
+  }
+
+  public final class BitmapRegionDecoder {
+    method public android.graphics.Bitmap decodeRegion(android.graphics.Rect, android.graphics.BitmapFactory.Options);
+    method public int getHeight();
+    method public int getWidth();
+    method public boolean isRecycled();
+    method @Deprecated @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull byte[], int, int, boolean) throws java.io.IOException;
+    method @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull byte[], int, int) throws java.io.IOException;
+    method @Deprecated @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull java.io.FileDescriptor, boolean) throws java.io.IOException;
+    method @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method @Deprecated @Nullable public static android.graphics.BitmapRegionDecoder newInstance(@NonNull java.io.InputStream, boolean) throws java.io.IOException;
+    method @Nullable public static android.graphics.BitmapRegionDecoder newInstance(@NonNull java.io.InputStream) throws java.io.IOException;
+    method @Deprecated @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull String, boolean) throws java.io.IOException;
+    method @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull String) throws java.io.IOException;
+    method public void recycle();
+  }
+
+  public class BitmapShader extends android.graphics.Shader {
+    ctor public BitmapShader(@NonNull android.graphics.Bitmap, @NonNull android.graphics.Shader.TileMode, @NonNull android.graphics.Shader.TileMode);
+  }
+
+  public enum BlendMode {
+    enum_constant public static final android.graphics.BlendMode CLEAR;
+    enum_constant public static final android.graphics.BlendMode COLOR;
+    enum_constant public static final android.graphics.BlendMode COLOR_BURN;
+    enum_constant public static final android.graphics.BlendMode COLOR_DODGE;
+    enum_constant public static final android.graphics.BlendMode DARKEN;
+    enum_constant public static final android.graphics.BlendMode DIFFERENCE;
+    enum_constant public static final android.graphics.BlendMode DST;
+    enum_constant public static final android.graphics.BlendMode DST_ATOP;
+    enum_constant public static final android.graphics.BlendMode DST_IN;
+    enum_constant public static final android.graphics.BlendMode DST_OUT;
+    enum_constant public static final android.graphics.BlendMode DST_OVER;
+    enum_constant public static final android.graphics.BlendMode EXCLUSION;
+    enum_constant public static final android.graphics.BlendMode HARD_LIGHT;
+    enum_constant public static final android.graphics.BlendMode HUE;
+    enum_constant public static final android.graphics.BlendMode LIGHTEN;
+    enum_constant public static final android.graphics.BlendMode LUMINOSITY;
+    enum_constant public static final android.graphics.BlendMode MODULATE;
+    enum_constant public static final android.graphics.BlendMode MULTIPLY;
+    enum_constant public static final android.graphics.BlendMode OVERLAY;
+    enum_constant public static final android.graphics.BlendMode PLUS;
+    enum_constant public static final android.graphics.BlendMode SATURATION;
+    enum_constant public static final android.graphics.BlendMode SCREEN;
+    enum_constant public static final android.graphics.BlendMode SOFT_LIGHT;
+    enum_constant public static final android.graphics.BlendMode SRC;
+    enum_constant public static final android.graphics.BlendMode SRC_ATOP;
+    enum_constant public static final android.graphics.BlendMode SRC_IN;
+    enum_constant public static final android.graphics.BlendMode SRC_OUT;
+    enum_constant public static final android.graphics.BlendMode SRC_OVER;
+    enum_constant public static final android.graphics.BlendMode XOR;
+  }
+
+  public final class BlendModeColorFilter extends android.graphics.ColorFilter {
+    ctor public BlendModeColorFilter(@ColorInt int, @NonNull android.graphics.BlendMode);
+    method @ColorInt public int getColor();
+    method public android.graphics.BlendMode getMode();
+  }
+
+  public class BlurMaskFilter extends android.graphics.MaskFilter {
+    ctor public BlurMaskFilter(float, android.graphics.BlurMaskFilter.Blur);
+  }
+
+  public enum BlurMaskFilter.Blur {
+    enum_constant public static final android.graphics.BlurMaskFilter.Blur INNER;
+    enum_constant public static final android.graphics.BlurMaskFilter.Blur NORMAL;
+    enum_constant public static final android.graphics.BlurMaskFilter.Blur OUTER;
+    enum_constant public static final android.graphics.BlurMaskFilter.Blur SOLID;
+  }
+
+  public class Camera {
+    ctor public Camera();
+    method public void applyToCanvas(android.graphics.Canvas);
+    method public float dotWithNormal(float, float, float);
+    method public float getLocationX();
+    method public float getLocationY();
+    method public float getLocationZ();
+    method public void getMatrix(android.graphics.Matrix);
+    method public void restore();
+    method public void rotate(float, float, float);
+    method public void rotateX(float);
+    method public void rotateY(float);
+    method public void rotateZ(float);
+    method public void save();
+    method public void setLocation(float, float, float);
+    method public void translate(float, float, float);
+  }
+
+  public class Canvas {
+    ctor public Canvas();
+    ctor public Canvas(@NonNull android.graphics.Bitmap);
+    method public boolean clipOutPath(@NonNull android.graphics.Path);
+    method public boolean clipOutRect(@NonNull android.graphics.RectF);
+    method public boolean clipOutRect(@NonNull android.graphics.Rect);
+    method public boolean clipOutRect(float, float, float, float);
+    method public boolean clipOutRect(int, int, int, int);
+    method @Deprecated public boolean clipPath(@NonNull android.graphics.Path, @NonNull android.graphics.Region.Op);
+    method public boolean clipPath(@NonNull android.graphics.Path);
+    method @Deprecated public boolean clipRect(@NonNull android.graphics.RectF, @NonNull android.graphics.Region.Op);
+    method @Deprecated public boolean clipRect(@NonNull android.graphics.Rect, @NonNull android.graphics.Region.Op);
+    method public boolean clipRect(@NonNull android.graphics.RectF);
+    method public boolean clipRect(@NonNull android.graphics.Rect);
+    method @Deprecated public boolean clipRect(float, float, float, float, @NonNull android.graphics.Region.Op);
+    method public boolean clipRect(float, float, float, float);
+    method public boolean clipRect(int, int, int, int);
+    method public void concat(@Nullable android.graphics.Matrix);
+    method public void disableZ();
+    method public void drawARGB(int, int, int, int);
+    method public void drawArc(@NonNull android.graphics.RectF, float, float, boolean, @NonNull android.graphics.Paint);
+    method public void drawArc(float, float, float, float, float, float, boolean, @NonNull android.graphics.Paint);
+    method public void drawBitmap(@NonNull android.graphics.Bitmap, float, float, @Nullable android.graphics.Paint);
+    method public void drawBitmap(@NonNull android.graphics.Bitmap, @Nullable android.graphics.Rect, @NonNull android.graphics.RectF, @Nullable android.graphics.Paint);
+    method public void drawBitmap(@NonNull android.graphics.Bitmap, @Nullable android.graphics.Rect, @NonNull android.graphics.Rect, @Nullable android.graphics.Paint);
+    method @Deprecated public void drawBitmap(@NonNull int[], int, int, float, float, int, int, boolean, @Nullable android.graphics.Paint);
+    method @Deprecated public void drawBitmap(@NonNull int[], int, int, int, int, int, int, boolean, @Nullable android.graphics.Paint);
+    method public void drawBitmap(@NonNull android.graphics.Bitmap, @NonNull android.graphics.Matrix, @Nullable android.graphics.Paint);
+    method public void drawBitmapMesh(@NonNull android.graphics.Bitmap, int, int, @NonNull float[], int, @Nullable int[], int, @Nullable android.graphics.Paint);
+    method public void drawCircle(float, float, float, @NonNull android.graphics.Paint);
+    method public void drawColor(@ColorInt int);
+    method public void drawColor(@ColorLong long);
+    method public void drawColor(@ColorInt int, @NonNull android.graphics.PorterDuff.Mode);
+    method public void drawColor(@ColorInt int, @NonNull android.graphics.BlendMode);
+    method public void drawColor(@ColorLong long, @NonNull android.graphics.BlendMode);
+    method public void drawDoubleRoundRect(@NonNull android.graphics.RectF, float, float, @NonNull android.graphics.RectF, float, float, @NonNull android.graphics.Paint);
+    method public void drawDoubleRoundRect(@NonNull android.graphics.RectF, @NonNull float[], @NonNull android.graphics.RectF, @NonNull float[], @NonNull android.graphics.Paint);
+    method public void drawGlyphs(@NonNull int[], @IntRange(from=0) int, @NonNull float[], @IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.graphics.fonts.Font, @NonNull android.graphics.Paint);
+    method public void drawLine(float, float, float, float, @NonNull android.graphics.Paint);
+    method public void drawLines(@NonNull @Size(multiple=4) float[], int, int, @NonNull android.graphics.Paint);
+    method public void drawLines(@NonNull @Size(multiple=4) float[], @NonNull android.graphics.Paint);
+    method public void drawOval(@NonNull android.graphics.RectF, @NonNull android.graphics.Paint);
+    method public void drawOval(float, float, float, float, @NonNull android.graphics.Paint);
+    method public void drawPaint(@NonNull android.graphics.Paint);
+    method public void drawPatch(@NonNull android.graphics.NinePatch, @NonNull android.graphics.Rect, @Nullable android.graphics.Paint);
+    method public void drawPatch(@NonNull android.graphics.NinePatch, @NonNull android.graphics.RectF, @Nullable android.graphics.Paint);
+    method public void drawPath(@NonNull android.graphics.Path, @NonNull android.graphics.Paint);
+    method public void drawPicture(@NonNull android.graphics.Picture);
+    method public void drawPicture(@NonNull android.graphics.Picture, @NonNull android.graphics.RectF);
+    method public void drawPicture(@NonNull android.graphics.Picture, @NonNull android.graphics.Rect);
+    method public void drawPoint(float, float, @NonNull android.graphics.Paint);
+    method public void drawPoints(@Size(multiple=2) float[], int, int, @NonNull android.graphics.Paint);
+    method public void drawPoints(@NonNull @Size(multiple=2) float[], @NonNull android.graphics.Paint);
+    method @Deprecated public void drawPosText(@NonNull char[], int, int, @NonNull @Size(multiple=2) float[], @NonNull android.graphics.Paint);
+    method @Deprecated public void drawPosText(@NonNull String, @NonNull @Size(multiple=2) float[], @NonNull android.graphics.Paint);
+    method public void drawRGB(int, int, int);
+    method public void drawRect(@NonNull android.graphics.RectF, @NonNull android.graphics.Paint);
+    method public void drawRect(@NonNull android.graphics.Rect, @NonNull android.graphics.Paint);
+    method public void drawRect(float, float, float, float, @NonNull android.graphics.Paint);
+    method public void drawRenderNode(@NonNull android.graphics.RenderNode);
+    method public void drawRoundRect(@NonNull android.graphics.RectF, float, float, @NonNull android.graphics.Paint);
+    method public void drawRoundRect(float, float, float, float, float, float, @NonNull android.graphics.Paint);
+    method public void drawText(@NonNull char[], int, int, float, float, @NonNull android.graphics.Paint);
+    method public void drawText(@NonNull String, float, float, @NonNull android.graphics.Paint);
+    method public void drawText(@NonNull String, int, int, float, float, @NonNull android.graphics.Paint);
+    method public void drawText(@NonNull CharSequence, int, int, float, float, @NonNull android.graphics.Paint);
+    method public void drawTextOnPath(@NonNull char[], int, int, @NonNull android.graphics.Path, float, float, @NonNull android.graphics.Paint);
+    method public void drawTextOnPath(@NonNull String, @NonNull android.graphics.Path, float, float, @NonNull android.graphics.Paint);
+    method public void drawTextRun(@NonNull char[], int, int, int, int, float, float, boolean, @NonNull android.graphics.Paint);
+    method public void drawTextRun(@NonNull CharSequence, int, int, int, int, float, float, boolean, @NonNull android.graphics.Paint);
+    method public void drawTextRun(@NonNull android.graphics.text.MeasuredText, int, int, int, int, float, float, boolean, @NonNull android.graphics.Paint);
+    method public void drawVertices(@NonNull android.graphics.Canvas.VertexMode, int, @NonNull float[], int, @Nullable float[], int, @Nullable int[], int, @Nullable short[], int, int, @NonNull android.graphics.Paint);
+    method public void enableZ();
+    method public boolean getClipBounds(@Nullable android.graphics.Rect);
+    method @NonNull public final android.graphics.Rect getClipBounds();
+    method public int getDensity();
+    method @Nullable public android.graphics.DrawFilter getDrawFilter();
+    method public int getHeight();
+    method @Deprecated public void getMatrix(@NonNull android.graphics.Matrix);
+    method @Deprecated @NonNull public final android.graphics.Matrix getMatrix();
+    method public int getMaximumBitmapHeight();
+    method public int getMaximumBitmapWidth();
+    method public int getSaveCount();
+    method public int getWidth();
+    method public boolean isHardwareAccelerated();
+    method public boolean isOpaque();
+    method @Deprecated public boolean quickReject(@NonNull android.graphics.RectF, @NonNull android.graphics.Canvas.EdgeType);
+    method public boolean quickReject(@NonNull android.graphics.RectF);
+    method @Deprecated public boolean quickReject(@NonNull android.graphics.Path, @NonNull android.graphics.Canvas.EdgeType);
+    method public boolean quickReject(@NonNull android.graphics.Path);
+    method @Deprecated public boolean quickReject(float, float, float, float, @NonNull android.graphics.Canvas.EdgeType);
+    method public boolean quickReject(float, float, float, float);
+    method public void restore();
+    method public void restoreToCount(int);
+    method public void rotate(float);
+    method public final void rotate(float, float, float);
+    method public int save();
+    method @Deprecated public int saveLayer(@Nullable android.graphics.RectF, @Nullable android.graphics.Paint, int);
+    method public int saveLayer(@Nullable android.graphics.RectF, @Nullable android.graphics.Paint);
+    method @Deprecated public int saveLayer(float, float, float, float, @Nullable android.graphics.Paint, int);
+    method public int saveLayer(float, float, float, float, @Nullable android.graphics.Paint);
+    method @Deprecated public int saveLayerAlpha(@Nullable android.graphics.RectF, int, int);
+    method public int saveLayerAlpha(@Nullable android.graphics.RectF, int);
+    method @Deprecated public int saveLayerAlpha(float, float, float, float, int, int);
+    method public int saveLayerAlpha(float, float, float, float, int);
+    method public void scale(float, float);
+    method public final void scale(float, float, float, float);
+    method public void setBitmap(@Nullable android.graphics.Bitmap);
+    method public void setDensity(int);
+    method public void setDrawFilter(@Nullable android.graphics.DrawFilter);
+    method public void setMatrix(@Nullable android.graphics.Matrix);
+    method public void skew(float, float);
+    method public void translate(float, float);
+    field public static final int ALL_SAVE_FLAG = 31; // 0x1f
+  }
+
+  @Deprecated public enum Canvas.EdgeType {
+    enum_constant @Deprecated public static final android.graphics.Canvas.EdgeType AA;
+    enum_constant @Deprecated public static final android.graphics.Canvas.EdgeType BW;
+  }
+
+  public enum Canvas.VertexMode {
+    enum_constant public static final android.graphics.Canvas.VertexMode TRIANGLES;
+    enum_constant public static final android.graphics.Canvas.VertexMode TRIANGLE_FAN;
+    enum_constant public static final android.graphics.Canvas.VertexMode TRIANGLE_STRIP;
+  }
+
+  @AnyThread public class Color {
+    ctor public Color();
+    method @ColorInt public static int HSVToColor(@Size(3) float[]);
+    method @ColorInt public static int HSVToColor(@IntRange(from=0, to=255) int, @Size(3) float[]);
+    method public static void RGBToHSV(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @Size(3) float[]);
+    method public float alpha();
+    method public static float alpha(@ColorLong long);
+    method @IntRange(from=0, to=255) public static int alpha(int);
+    method @ColorInt public static int argb(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int);
+    method @ColorInt public static int argb(float, float, float, float);
+    method public float blue();
+    method public static float blue(@ColorLong long);
+    method @IntRange(from=0, to=255) public static int blue(int);
+    method @NonNull public static android.graphics.ColorSpace colorSpace(@ColorLong long);
+    method public static void colorToHSV(@ColorInt int, @Size(3) float[]);
+    method @NonNull public android.graphics.Color convert(@NonNull android.graphics.ColorSpace);
+    method @ColorLong public static long convert(@ColorInt int, @NonNull android.graphics.ColorSpace);
+    method @ColorLong public static long convert(@ColorLong long, @NonNull android.graphics.ColorSpace);
+    method @ColorLong public static long convert(float, float, float, float, @NonNull android.graphics.ColorSpace, @NonNull android.graphics.ColorSpace);
+    method @ColorLong public static long convert(@ColorLong long, @NonNull android.graphics.ColorSpace.Connector);
+    method @ColorLong public static long convert(float, float, float, float, @NonNull android.graphics.ColorSpace.Connector);
+    method @NonNull public android.graphics.ColorSpace getColorSpace();
+    method public float getComponent(@IntRange(from=0, to=4) int);
+    method @IntRange(from=4, to=5) public int getComponentCount();
+    method @NonNull @Size(min=4, max=5) public float[] getComponents();
+    method @NonNull @Size(min=4) public float[] getComponents(@Nullable @Size(min=4) float[]);
+    method public android.graphics.ColorSpace.Model getModel();
+    method public float green();
+    method public static float green(@ColorLong long);
+    method @IntRange(from=0, to=255) public static int green(int);
+    method public static boolean isInColorSpace(@ColorLong long, @NonNull android.graphics.ColorSpace);
+    method public boolean isSrgb();
+    method public static boolean isSrgb(@ColorLong long);
+    method public boolean isWideGamut();
+    method public static boolean isWideGamut(@ColorLong long);
+    method public float luminance();
+    method public static float luminance(@ColorLong long);
+    method public static float luminance(@ColorInt int);
+    method @ColorLong public long pack();
+    method @ColorLong public static long pack(@ColorInt int);
+    method @ColorLong public static long pack(float, float, float);
+    method @ColorLong public static long pack(float, float, float, float);
+    method @ColorLong public static long pack(float, float, float, float, @NonNull android.graphics.ColorSpace);
+    method @ColorInt public static int parseColor(@Size(min=1) String);
+    method public float red();
+    method public static float red(@ColorLong long);
+    method @IntRange(from=0, to=255) public static int red(int);
+    method @ColorInt public static int rgb(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int);
+    method @ColorInt public static int rgb(float, float, float);
+    method @ColorInt public int toArgb();
+    method @ColorInt public static int toArgb(@ColorLong long);
+    method @NonNull public static android.graphics.Color valueOf(@ColorInt int);
+    method @NonNull public static android.graphics.Color valueOf(@ColorLong long);
+    method @NonNull public static android.graphics.Color valueOf(float, float, float);
+    method @NonNull public static android.graphics.Color valueOf(float, float, float, float);
+    method @NonNull public static android.graphics.Color valueOf(float, float, float, float, @NonNull android.graphics.ColorSpace);
+    method @NonNull public static android.graphics.Color valueOf(@NonNull @Size(min=4, max=5) float[], @NonNull android.graphics.ColorSpace);
+    field @ColorInt public static final int BLACK = -16777216; // 0xff000000
+    field @ColorInt public static final int BLUE = -16776961; // 0xff0000ff
+    field @ColorInt public static final int CYAN = -16711681; // 0xff00ffff
+    field @ColorInt public static final int DKGRAY = -12303292; // 0xff444444
+    field @ColorInt public static final int GRAY = -7829368; // 0xff888888
+    field @ColorInt public static final int GREEN = -16711936; // 0xff00ff00
+    field @ColorInt public static final int LTGRAY = -3355444; // 0xffcccccc
+    field @ColorInt public static final int MAGENTA = -65281; // 0xffff00ff
+    field @ColorInt public static final int RED = -65536; // 0xffff0000
+    field @ColorInt public static final int TRANSPARENT = 0; // 0x0
+    field @ColorInt public static final int WHITE = -1; // 0xffffffff
+    field @ColorInt public static final int YELLOW = -256; // 0xffffff00
+  }
+
+  public class ColorFilter {
+    ctor @Deprecated public ColorFilter();
+  }
+
+  public class ColorMatrixColorFilter extends android.graphics.ColorFilter {
+    ctor public ColorMatrixColorFilter(@NonNull android.graphics.ColorMatrix);
+    ctor public ColorMatrixColorFilter(@NonNull float[]);
+    method public void getColorMatrix(android.graphics.ColorMatrix);
+  }
+
+  @AnyThread public abstract class ColorSpace {
+    method @NonNull public static android.graphics.ColorSpace adapt(@NonNull android.graphics.ColorSpace, @NonNull @Size(min=2, max=3) float[]);
+    method @NonNull public static android.graphics.ColorSpace adapt(@NonNull android.graphics.ColorSpace, @NonNull @Size(min=2, max=3) float[], @NonNull android.graphics.ColorSpace.Adaptation);
+    method @NonNull @Size(3) public static float[] cctToXyz(@IntRange(from=1) int);
+    method @NonNull @Size(9) public static float[] chromaticAdaptation(@NonNull android.graphics.ColorSpace.Adaptation, @NonNull @Size(min=2, max=3) float[], @NonNull @Size(min=2, max=3) float[]);
+    method @NonNull public static android.graphics.ColorSpace.Connector connect(@NonNull android.graphics.ColorSpace, @NonNull android.graphics.ColorSpace);
+    method @NonNull public static android.graphics.ColorSpace.Connector connect(@NonNull android.graphics.ColorSpace, @NonNull android.graphics.ColorSpace, @NonNull android.graphics.ColorSpace.RenderIntent);
+    method @NonNull public static android.graphics.ColorSpace.Connector connect(@NonNull android.graphics.ColorSpace);
+    method @NonNull public static android.graphics.ColorSpace.Connector connect(@NonNull android.graphics.ColorSpace, @NonNull android.graphics.ColorSpace.RenderIntent);
+    method @NonNull @Size(min=3) public float[] fromXyz(float, float, float);
+    method @NonNull @Size(min=3) public abstract float[] fromXyz(@NonNull @Size(min=3) float[]);
+    method @NonNull public static android.graphics.ColorSpace get(@NonNull android.graphics.ColorSpace.Named);
+    method @IntRange(from=1, to=4) public int getComponentCount();
+    method @IntRange(from=android.graphics.ColorSpace.MIN_ID, to=android.graphics.ColorSpace.MAX_ID) public int getId();
+    method public abstract float getMaxValue(@IntRange(from=0, to=3) int);
+    method public abstract float getMinValue(@IntRange(from=0, to=3) int);
+    method @NonNull public android.graphics.ColorSpace.Model getModel();
+    method @NonNull public String getName();
+    method public boolean isSrgb();
+    method public abstract boolean isWideGamut();
+    method @Nullable public static android.graphics.ColorSpace match(@NonNull @Size(9) float[], @NonNull android.graphics.ColorSpace.Rgb.TransferParameters);
+    method @NonNull @Size(3) public float[] toXyz(float, float, float);
+    method @NonNull @Size(min=3) public abstract float[] toXyz(@NonNull @Size(min=3) float[]);
+    field public static final float[] ILLUMINANT_A;
+    field public static final float[] ILLUMINANT_B;
+    field public static final float[] ILLUMINANT_C;
+    field public static final float[] ILLUMINANT_D50;
+    field public static final float[] ILLUMINANT_D55;
+    field public static final float[] ILLUMINANT_D60;
+    field public static final float[] ILLUMINANT_D65;
+    field public static final float[] ILLUMINANT_D75;
+    field public static final float[] ILLUMINANT_E;
+    field public static final int MAX_ID = 63; // 0x3f
+    field public static final int MIN_ID = -1; // 0xffffffff
+  }
+
+  public enum ColorSpace.Adaptation {
+    enum_constant public static final android.graphics.ColorSpace.Adaptation BRADFORD;
+    enum_constant public static final android.graphics.ColorSpace.Adaptation CIECAT02;
+    enum_constant public static final android.graphics.ColorSpace.Adaptation VON_KRIES;
+  }
+
+  @AnyThread public static class ColorSpace.Connector {
+    method @NonNull public android.graphics.ColorSpace getDestination();
+    method public android.graphics.ColorSpace.RenderIntent getRenderIntent();
+    method @NonNull public android.graphics.ColorSpace getSource();
+    method @NonNull @Size(3) public float[] transform(float, float, float);
+    method @NonNull @Size(min=3) public float[] transform(@NonNull @Size(min=3) float[]);
+  }
+
+  public enum ColorSpace.Model {
+    method @IntRange(from=1, to=4) public int getComponentCount();
+    enum_constant public static final android.graphics.ColorSpace.Model CMYK;
+    enum_constant public static final android.graphics.ColorSpace.Model LAB;
+    enum_constant public static final android.graphics.ColorSpace.Model RGB;
+    enum_constant public static final android.graphics.ColorSpace.Model XYZ;
+  }
+
+  public enum ColorSpace.Named {
+    enum_constant public static final android.graphics.ColorSpace.Named ACES;
+    enum_constant public static final android.graphics.ColorSpace.Named ACESCG;
+    enum_constant public static final android.graphics.ColorSpace.Named ADOBE_RGB;
+    enum_constant public static final android.graphics.ColorSpace.Named BT2020;
+    enum_constant public static final android.graphics.ColorSpace.Named BT709;
+    enum_constant public static final android.graphics.ColorSpace.Named CIE_LAB;
+    enum_constant public static final android.graphics.ColorSpace.Named CIE_XYZ;
+    enum_constant public static final android.graphics.ColorSpace.Named DCI_P3;
+    enum_constant public static final android.graphics.ColorSpace.Named DISPLAY_P3;
+    enum_constant public static final android.graphics.ColorSpace.Named EXTENDED_SRGB;
+    enum_constant public static final android.graphics.ColorSpace.Named LINEAR_EXTENDED_SRGB;
+    enum_constant public static final android.graphics.ColorSpace.Named LINEAR_SRGB;
+    enum_constant public static final android.graphics.ColorSpace.Named NTSC_1953;
+    enum_constant public static final android.graphics.ColorSpace.Named PRO_PHOTO_RGB;
+    enum_constant public static final android.graphics.ColorSpace.Named SMPTE_C;
+    enum_constant public static final android.graphics.ColorSpace.Named SRGB;
+  }
+
+  public enum ColorSpace.RenderIntent {
+    enum_constant public static final android.graphics.ColorSpace.RenderIntent ABSOLUTE;
+    enum_constant public static final android.graphics.ColorSpace.RenderIntent PERCEPTUAL;
+    enum_constant public static final android.graphics.ColorSpace.RenderIntent RELATIVE;
+    enum_constant public static final android.graphics.ColorSpace.RenderIntent SATURATION;
+  }
+
+  @AnyThread public static class ColorSpace.Rgb extends android.graphics.ColorSpace {
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(9) float[], @NonNull java.util.function.DoubleUnaryOperator, @NonNull java.util.function.DoubleUnaryOperator);
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(min=6, max=9) float[], @NonNull @Size(min=2, max=3) float[], @NonNull java.util.function.DoubleUnaryOperator, @NonNull java.util.function.DoubleUnaryOperator, float, float);
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(9) float[], @NonNull android.graphics.ColorSpace.Rgb.TransferParameters);
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(min=6, max=9) float[], @NonNull @Size(min=2, max=3) float[], @NonNull android.graphics.ColorSpace.Rgb.TransferParameters);
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(9) float[], double);
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(min=6, max=9) float[], @NonNull @Size(min=2, max=3) float[], double);
+    method @NonNull @Size(3) public float[] fromLinear(float, float, float);
+    method @NonNull @Size(min=3) public float[] fromLinear(@NonNull @Size(min=3) float[]);
+    method @NonNull @Size(min=3) public float[] fromXyz(@NonNull @Size(min=3) float[]);
+    method @NonNull public java.util.function.DoubleUnaryOperator getEotf();
+    method @NonNull @Size(min=9) public float[] getInverseTransform(@NonNull @Size(min=9) float[]);
+    method @NonNull @Size(9) public float[] getInverseTransform();
+    method public float getMaxValue(int);
+    method public float getMinValue(int);
+    method @NonNull public java.util.function.DoubleUnaryOperator getOetf();
+    method @NonNull @Size(min=6) public float[] getPrimaries(@NonNull @Size(min=6) float[]);
+    method @NonNull @Size(6) public float[] getPrimaries();
+    method @Nullable public android.graphics.ColorSpace.Rgb.TransferParameters getTransferParameters();
+    method @NonNull @Size(min=9) public float[] getTransform(@NonNull @Size(min=9) float[]);
+    method @NonNull @Size(9) public float[] getTransform();
+    method @NonNull @Size(min=2) public float[] getWhitePoint(@NonNull @Size(min=2) float[]);
+    method @NonNull @Size(2) public float[] getWhitePoint();
+    method public boolean isWideGamut();
+    method @NonNull @Size(3) public float[] toLinear(float, float, float);
+    method @NonNull @Size(min=3) public float[] toLinear(@NonNull @Size(min=3) float[]);
+    method @NonNull @Size(min=3) public float[] toXyz(@NonNull @Size(min=3) float[]);
+  }
+
+  public static class ColorSpace.Rgb.TransferParameters {
+    ctor public ColorSpace.Rgb.TransferParameters(double, double, double, double, double);
+    ctor public ColorSpace.Rgb.TransferParameters(double, double, double, double, double, double, double);
+    field public final double a;
+    field public final double b;
+    field public final double c;
+    field public final double d;
+    field public final double e;
+    field public final double f;
+    field public final double g;
+  }
+
+  public class ComposePathEffect extends android.graphics.PathEffect {
+    ctor public ComposePathEffect(android.graphics.PathEffect, android.graphics.PathEffect);
+  }
+
+  public class ComposeShader extends android.graphics.Shader {
+    ctor @Deprecated public ComposeShader(@NonNull android.graphics.Shader, @NonNull android.graphics.Shader, @NonNull android.graphics.Xfermode);
+    ctor public ComposeShader(@NonNull android.graphics.Shader, @NonNull android.graphics.Shader, @NonNull android.graphics.PorterDuff.Mode);
+    ctor public ComposeShader(@NonNull android.graphics.Shader, @NonNull android.graphics.Shader, @NonNull android.graphics.BlendMode);
+  }
+
+  public class CornerPathEffect extends android.graphics.PathEffect {
+    ctor public CornerPathEffect(float);
+  }
+
+  public class DashPathEffect extends android.graphics.PathEffect {
+    ctor public DashPathEffect(float[], float);
+  }
+
+  public class DiscretePathEffect extends android.graphics.PathEffect {
+    ctor public DiscretePathEffect(float, float);
+  }
+
+  public class DrawFilter {
+    ctor public DrawFilter();
+  }
+
+  public class EmbossMaskFilter extends android.graphics.MaskFilter {
+    ctor @Deprecated public EmbossMaskFilter(float[], float, float, float);
+  }
+
+  public class HardwareRenderer {
+    ctor public HardwareRenderer();
+    method public void clearContent();
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest createRenderRequest();
+    method public void destroy();
+    method public boolean isOpaque();
+    method public void notifyFramePending();
+    method public void setContentRoot(@Nullable android.graphics.RenderNode);
+    method public void setLightSourceAlpha(@FloatRange(from=0.0f, to=1.0f) float, @FloatRange(from=0.0f, to=1.0f) float);
+    method public void setLightSourceGeometry(float, float, float, float);
+    method public void setName(@NonNull String);
+    method public void setOpaque(boolean);
+    method public void setSurface(@Nullable android.view.Surface);
+    method public void start();
+    method public void stop();
+    field public static final int SYNC_CONTEXT_IS_STOPPED = 4; // 0x4
+    field public static final int SYNC_FRAME_DROPPED = 8; // 0x8
+    field public static final int SYNC_LOST_SURFACE_REWARD_IF_FOUND = 2; // 0x2
+    field public static final int SYNC_OK = 0; // 0x0
+    field public static final int SYNC_REDRAW_REQUESTED = 1; // 0x1
+  }
+
+  public final class HardwareRenderer.FrameRenderRequest {
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest setFrameCommitCallback(@NonNull java.util.concurrent.Executor, @NonNull Runnable);
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest setVsyncTime(long);
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest setWaitForPresent(boolean);
+    method public int syncAndDraw();
+  }
+
+  public final class ImageDecoder implements java.lang.AutoCloseable {
+    method public void close();
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull android.content.res.Resources, int);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull android.content.ContentResolver, @NonNull android.net.Uri);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull android.content.res.AssetManager, @NonNull String);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull byte[], int, int) throws java.lang.ArrayIndexOutOfBoundsException;
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull byte[]);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull java.nio.ByteBuffer);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull java.io.File);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull java.util.concurrent.Callable<android.content.res.AssetFileDescriptor>);
+    method @NonNull @WorkerThread public static android.graphics.Bitmap decodeBitmap(@NonNull android.graphics.ImageDecoder.Source, @NonNull android.graphics.ImageDecoder.OnHeaderDecodedListener) throws java.io.IOException;
+    method @NonNull @WorkerThread public static android.graphics.Bitmap decodeBitmap(@NonNull android.graphics.ImageDecoder.Source) throws java.io.IOException;
+    method @NonNull @WorkerThread public static android.graphics.drawable.Drawable decodeDrawable(@NonNull android.graphics.ImageDecoder.Source, @NonNull android.graphics.ImageDecoder.OnHeaderDecodedListener) throws java.io.IOException;
+    method @NonNull @WorkerThread public static android.graphics.drawable.Drawable decodeDrawable(@NonNull android.graphics.ImageDecoder.Source) throws java.io.IOException;
+    method public int getAllocator();
+    method @Nullable public android.graphics.Rect getCrop();
+    method public int getMemorySizePolicy();
+    method @Nullable public android.graphics.ImageDecoder.OnPartialImageListener getOnPartialImageListener();
+    method @Nullable public android.graphics.PostProcessor getPostProcessor();
+    method public boolean isDecodeAsAlphaMaskEnabled();
+    method public static boolean isMimeTypeSupported(@NonNull String);
+    method public boolean isMutableRequired();
+    method public boolean isUnpremultipliedRequired();
+    method public void setAllocator(int);
+    method public void setCrop(@Nullable android.graphics.Rect);
+    method public void setDecodeAsAlphaMaskEnabled(boolean);
+    method public void setMemorySizePolicy(int);
+    method public void setMutableRequired(boolean);
+    method public void setOnPartialImageListener(@Nullable android.graphics.ImageDecoder.OnPartialImageListener);
+    method public void setPostProcessor(@Nullable android.graphics.PostProcessor);
+    method public void setTargetColorSpace(android.graphics.ColorSpace);
+    method public void setTargetSampleSize(@IntRange(from=1) int);
+    method public void setTargetSize(@IntRange(from=1) @Px int, @IntRange(from=1) @Px int);
+    method public void setUnpremultipliedRequired(boolean);
+    field public static final int ALLOCATOR_DEFAULT = 0; // 0x0
+    field public static final int ALLOCATOR_HARDWARE = 3; // 0x3
+    field public static final int ALLOCATOR_SHARED_MEMORY = 2; // 0x2
+    field public static final int ALLOCATOR_SOFTWARE = 1; // 0x1
+    field public static final int MEMORY_POLICY_DEFAULT = 1; // 0x1
+    field public static final int MEMORY_POLICY_LOW_RAM = 0; // 0x0
+  }
+
+  public static final class ImageDecoder.DecodeException extends java.io.IOException {
+    method public int getError();
+    method @NonNull public android.graphics.ImageDecoder.Source getSource();
+    field public static final int SOURCE_EXCEPTION = 1; // 0x1
+    field public static final int SOURCE_INCOMPLETE = 2; // 0x2
+    field public static final int SOURCE_MALFORMED_DATA = 3; // 0x3
+  }
+
+  public static class ImageDecoder.ImageInfo {
+    method @Nullable public android.graphics.ColorSpace getColorSpace();
+    method @NonNull public String getMimeType();
+    method @NonNull public android.util.Size getSize();
+    method public boolean isAnimated();
+  }
+
+  public static interface ImageDecoder.OnHeaderDecodedListener {
+    method public void onHeaderDecoded(@NonNull android.graphics.ImageDecoder, @NonNull android.graphics.ImageDecoder.ImageInfo, @NonNull android.graphics.ImageDecoder.Source);
+  }
+
+  public static interface ImageDecoder.OnPartialImageListener {
+    method public boolean onPartialImage(@NonNull android.graphics.ImageDecoder.DecodeException);
+  }
+
+  public abstract static class ImageDecoder.Source {
+  }
+
+  public class ImageFormat {
+    ctor public ImageFormat();
+    method public static int getBitsPerPixel(int);
+    field public static final int DEPTH16 = 1144402265; // 0x44363159
+    field public static final int DEPTH_JPEG = 1768253795; // 0x69656963
+    field public static final int DEPTH_POINT_CLOUD = 257; // 0x101
+    field public static final int FLEX_RGBA_8888 = 42; // 0x2a
+    field public static final int FLEX_RGB_888 = 41; // 0x29
+    field public static final int HEIC = 1212500294; // 0x48454946
+    field public static final int JPEG = 256; // 0x100
+    field public static final int NV16 = 16; // 0x10
+    field public static final int NV21 = 17; // 0x11
+    field public static final int PRIVATE = 34; // 0x22
+    field public static final int RAW10 = 37; // 0x25
+    field public static final int RAW12 = 38; // 0x26
+    field public static final int RAW_PRIVATE = 36; // 0x24
+    field public static final int RAW_SENSOR = 32; // 0x20
+    field public static final int RGB_565 = 4; // 0x4
+    field public static final int UNKNOWN = 0; // 0x0
+    field public static final int Y8 = 538982489; // 0x20203859
+    field public static final int YCBCR_P010 = 54; // 0x36
+    field public static final int YUV_420_888 = 35; // 0x23
+    field public static final int YUV_422_888 = 39; // 0x27
+    field public static final int YUV_444_888 = 40; // 0x28
+    field public static final int YUY2 = 20; // 0x14
+    field public static final int YV12 = 842094169; // 0x32315659
+  }
+
+  public final class Insets implements android.os.Parcelable {
+    method @NonNull public static android.graphics.Insets add(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
+    method public int describeContents();
+    method @NonNull public static android.graphics.Insets max(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
+    method @NonNull public static android.graphics.Insets min(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
+    method @NonNull public static android.graphics.Insets of(int, int, int, int);
+    method @NonNull public static android.graphics.Insets of(@Nullable android.graphics.Rect);
+    method @NonNull public static android.graphics.Insets subtract(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Insets> CREATOR;
+    field @NonNull public static final android.graphics.Insets NONE;
+    field public final int bottom;
+    field public final int left;
+    field public final int right;
+    field public final int top;
+  }
+
+  public class Interpolator {
+    ctor public Interpolator(int);
+    ctor public Interpolator(int, int);
+    method public final int getKeyFrameCount();
+    method public final int getValueCount();
+    method public void reset(int);
+    method public void reset(int, int);
+    method public void setKeyFrame(int, int, float[]);
+    method public void setKeyFrame(int, int, float[], float[]);
+    method public void setRepeatMirror(float, boolean);
+    method public android.graphics.Interpolator.Result timeToValues(float[]);
+    method public android.graphics.Interpolator.Result timeToValues(int, float[]);
+  }
+
+  public enum Interpolator.Result {
+    enum_constant public static final android.graphics.Interpolator.Result FREEZE_END;
+    enum_constant public static final android.graphics.Interpolator.Result FREEZE_START;
+    enum_constant public static final android.graphics.Interpolator.Result NORMAL;
+  }
+
+  public class LightingColorFilter extends android.graphics.ColorFilter {
+    ctor public LightingColorFilter(@ColorInt int, @ColorInt int);
+    method @ColorInt public int getColorAdd();
+    method @ColorInt public int getColorMultiply();
+  }
+
+  public class LinearGradient extends android.graphics.Shader {
+    ctor public LinearGradient(float, float, float, float, @ColorInt @NonNull int[], @Nullable float[], @NonNull android.graphics.Shader.TileMode);
+    ctor public LinearGradient(float, float, float, float, @ColorLong @NonNull long[], @Nullable float[], @NonNull android.graphics.Shader.TileMode);
+    ctor public LinearGradient(float, float, float, float, @ColorInt int, @ColorInt int, @NonNull android.graphics.Shader.TileMode);
+    ctor public LinearGradient(float, float, float, float, @ColorLong long, @ColorLong long, @NonNull android.graphics.Shader.TileMode);
+  }
+
+  public class MaskFilter {
+    ctor public MaskFilter();
+  }
+
+  public class Matrix {
+    ctor public Matrix();
+    ctor public Matrix(android.graphics.Matrix);
+    method public final void dump(@NonNull java.io.PrintWriter);
+    method public void getValues(float[]);
+    method public boolean invert(android.graphics.Matrix);
+    method public boolean isAffine();
+    method public boolean isIdentity();
+    method public void mapPoints(float[], int, float[], int, int);
+    method public void mapPoints(float[], float[]);
+    method public void mapPoints(float[]);
+    method public float mapRadius(float);
+    method public boolean mapRect(android.graphics.RectF, android.graphics.RectF);
+    method public boolean mapRect(android.graphics.RectF);
+    method public void mapVectors(float[], int, float[], int, int);
+    method public void mapVectors(float[], float[]);
+    method public void mapVectors(float[]);
+    method public boolean postConcat(android.graphics.Matrix);
+    method public boolean postRotate(float, float, float);
+    method public boolean postRotate(float);
+    method public boolean postScale(float, float, float, float);
+    method public boolean postScale(float, float);
+    method public boolean postSkew(float, float, float, float);
+    method public boolean postSkew(float, float);
+    method public boolean postTranslate(float, float);
+    method public boolean preConcat(android.graphics.Matrix);
+    method public boolean preRotate(float, float, float);
+    method public boolean preRotate(float);
+    method public boolean preScale(float, float, float, float);
+    method public boolean preScale(float, float);
+    method public boolean preSkew(float, float, float, float);
+    method public boolean preSkew(float, float);
+    method public boolean preTranslate(float, float);
+    method public boolean rectStaysRect();
+    method public void reset();
+    method public void set(android.graphics.Matrix);
+    method public boolean setConcat(android.graphics.Matrix, android.graphics.Matrix);
+    method public boolean setPolyToPoly(float[], int, float[], int, int);
+    method public boolean setRectToRect(android.graphics.RectF, android.graphics.RectF, android.graphics.Matrix.ScaleToFit);
+    method public void setRotate(float, float, float);
+    method public void setRotate(float);
+    method public void setScale(float, float, float, float);
+    method public void setScale(float, float);
+    method public void setSinCos(float, float, float, float);
+    method public void setSinCos(float, float);
+    method public void setSkew(float, float, float, float);
+    method public void setSkew(float, float);
+    method public void setTranslate(float, float);
+    method public void setValues(float[]);
+    method public String toShortString();
+    field @NonNull public static final android.graphics.Matrix IDENTITY_MATRIX;
+    field public static final int MPERSP_0 = 6; // 0x6
+    field public static final int MPERSP_1 = 7; // 0x7
+    field public static final int MPERSP_2 = 8; // 0x8
+    field public static final int MSCALE_X = 0; // 0x0
+    field public static final int MSCALE_Y = 4; // 0x4
+    field public static final int MSKEW_X = 1; // 0x1
+    field public static final int MSKEW_Y = 3; // 0x3
+    field public static final int MTRANS_X = 2; // 0x2
+    field public static final int MTRANS_Y = 5; // 0x5
+  }
+
+  public enum Matrix.ScaleToFit {
+    enum_constant public static final android.graphics.Matrix.ScaleToFit CENTER;
+    enum_constant public static final android.graphics.Matrix.ScaleToFit END;
+    enum_constant public static final android.graphics.Matrix.ScaleToFit FILL;
+    enum_constant public static final android.graphics.Matrix.ScaleToFit START;
+  }
+
+  @Deprecated public class Movie {
+    method @Deprecated public static android.graphics.Movie decodeByteArray(byte[], int, int);
+    method @Deprecated public static android.graphics.Movie decodeFile(String);
+    method @Deprecated public static android.graphics.Movie decodeStream(java.io.InputStream);
+    method @Deprecated public void draw(android.graphics.Canvas, float, float, android.graphics.Paint);
+    method @Deprecated public void draw(android.graphics.Canvas, float, float);
+    method @Deprecated public int duration();
+    method @Deprecated public int height();
+    method @Deprecated public boolean isOpaque();
+    method @Deprecated public boolean setTime(int);
+    method @Deprecated public int width();
+  }
+
+  public class NinePatch {
+    ctor public NinePatch(android.graphics.Bitmap, byte[]);
+    ctor public NinePatch(android.graphics.Bitmap, byte[], String);
+    method public void draw(android.graphics.Canvas, android.graphics.RectF);
+    method public void draw(android.graphics.Canvas, android.graphics.Rect);
+    method public void draw(android.graphics.Canvas, android.graphics.Rect, android.graphics.Paint);
+    method public android.graphics.Bitmap getBitmap();
+    method public int getDensity();
+    method public int getHeight();
+    method public String getName();
+    method public android.graphics.Paint getPaint();
+    method public final android.graphics.Region getTransparentRegion(android.graphics.Rect);
+    method public int getWidth();
+    method public final boolean hasAlpha();
+    method public static boolean isNinePatchChunk(byte[]);
+    method public void setPaint(android.graphics.Paint);
+  }
+
+  public final class Outline {
+    ctor public Outline();
+    ctor public Outline(@NonNull android.graphics.Outline);
+    method public boolean canClip();
+    method public float getAlpha();
+    method public float getRadius();
+    method public boolean getRect(@NonNull android.graphics.Rect);
+    method public boolean isEmpty();
+    method public void offset(int, int);
+    method public void set(@NonNull android.graphics.Outline);
+    method public void setAlpha(@FloatRange(from=0.0, to=1.0) float);
+    method @Deprecated public void setConvexPath(@NonNull android.graphics.Path);
+    method public void setEmpty();
+    method public void setOval(int, int, int, int);
+    method public void setOval(@NonNull android.graphics.Rect);
+    method public void setPath(@NonNull android.graphics.Path);
+    method public void setRect(int, int, int, int);
+    method public void setRect(@NonNull android.graphics.Rect);
+    method public void setRoundRect(int, int, int, int, float);
+    method public void setRoundRect(@NonNull android.graphics.Rect, float);
+  }
+
+  public class Paint {
+    ctor public Paint();
+    ctor public Paint(int);
+    ctor public Paint(android.graphics.Paint);
+    method public float ascent();
+    method public int breakText(char[], int, int, float, float[]);
+    method public int breakText(CharSequence, int, int, boolean, float, float[]);
+    method public int breakText(String, boolean, float, float[]);
+    method public void clearShadowLayer();
+    method public float descent();
+    method public boolean equalsForTextMeasurement(@NonNull android.graphics.Paint);
+    method public int getAlpha();
+    method @Nullable public android.graphics.BlendMode getBlendMode();
+    method @ColorInt public int getColor();
+    method public android.graphics.ColorFilter getColorFilter();
+    method @ColorLong public long getColorLong();
+    method public int getEndHyphenEdit();
+    method public boolean getFillPath(android.graphics.Path, android.graphics.Path);
+    method public int getFlags();
+    method public String getFontFeatureSettings();
+    method public float getFontMetrics(android.graphics.Paint.FontMetrics);
+    method public android.graphics.Paint.FontMetrics getFontMetrics();
+    method public int getFontMetricsInt(android.graphics.Paint.FontMetricsInt);
+    method public android.graphics.Paint.FontMetricsInt getFontMetricsInt();
+    method public float getFontSpacing();
+    method public String getFontVariationSettings();
+    method public int getHinting();
+    method public float getLetterSpacing();
+    method public android.graphics.MaskFilter getMaskFilter();
+    method public int getOffsetForAdvance(char[], int, int, int, int, boolean, float);
+    method public int getOffsetForAdvance(CharSequence, int, int, int, int, boolean, float);
+    method public android.graphics.PathEffect getPathEffect();
+    method public float getRunAdvance(char[], int, int, int, int, boolean, int);
+    method public float getRunAdvance(CharSequence, int, int, int, int, boolean, int);
+    method public android.graphics.Shader getShader();
+    method @ColorInt public int getShadowLayerColor();
+    method @ColorLong public long getShadowLayerColorLong();
+    method public float getShadowLayerDx();
+    method public float getShadowLayerDy();
+    method public float getShadowLayerRadius();
+    method public int getStartHyphenEdit();
+    method @Px public float getStrikeThruPosition();
+    method @Px public float getStrikeThruThickness();
+    method public android.graphics.Paint.Cap getStrokeCap();
+    method public android.graphics.Paint.Join getStrokeJoin();
+    method public float getStrokeMiter();
+    method public float getStrokeWidth();
+    method public android.graphics.Paint.Style getStyle();
+    method public android.graphics.Paint.Align getTextAlign();
+    method public void getTextBounds(String, int, int, android.graphics.Rect);
+    method public void getTextBounds(@NonNull CharSequence, int, int, @NonNull android.graphics.Rect);
+    method public void getTextBounds(char[], int, int, android.graphics.Rect);
+    method @NonNull public java.util.Locale getTextLocale();
+    method @NonNull @Size(min=1) public android.os.LocaleList getTextLocales();
+    method public void getTextPath(char[], int, int, float, float, android.graphics.Path);
+    method public void getTextPath(String, int, int, float, float, android.graphics.Path);
+    method public float getTextRunAdvances(@NonNull char[], @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, boolean, @Nullable float[], @IntRange(from=0) int);
+    method public int getTextRunCursor(@NonNull char[], @IntRange(from=0) int, @IntRange(from=0) int, boolean, @IntRange(from=0) int, int);
+    method public int getTextRunCursor(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, boolean, @IntRange(from=0) int, int);
+    method public float getTextScaleX();
+    method public float getTextSize();
+    method public float getTextSkewX();
+    method public int getTextWidths(char[], int, int, float[]);
+    method public int getTextWidths(CharSequence, int, int, float[]);
+    method public int getTextWidths(String, int, int, float[]);
+    method public int getTextWidths(String, float[]);
+    method public android.graphics.Typeface getTypeface();
+    method @Px public float getUnderlinePosition();
+    method @Px public float getUnderlineThickness();
+    method @Px public float getWordSpacing();
+    method public android.graphics.Xfermode getXfermode();
+    method public boolean hasGlyph(String);
+    method public final boolean isAntiAlias();
+    method public final boolean isDither();
+    method public boolean isElegantTextHeight();
+    method public final boolean isFakeBoldText();
+    method public final boolean isFilterBitmap();
+    method public final boolean isLinearText();
+    method public final boolean isStrikeThruText();
+    method public final boolean isSubpixelText();
+    method public final boolean isUnderlineText();
+    method public float measureText(char[], int, int);
+    method public float measureText(String, int, int);
+    method public float measureText(String);
+    method public float measureText(CharSequence, int, int);
+    method public void reset();
+    method public void set(android.graphics.Paint);
+    method public void setARGB(int, int, int, int);
+    method public void setAlpha(int);
+    method public void setAntiAlias(boolean);
+    method public void setBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setColor(@ColorInt int);
+    method public void setColor(@ColorLong long);
+    method public android.graphics.ColorFilter setColorFilter(android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setElegantTextHeight(boolean);
+    method public void setEndHyphenEdit(int);
+    method public void setFakeBoldText(boolean);
+    method public void setFilterBitmap(boolean);
+    method public void setFlags(int);
+    method public void setFontFeatureSettings(String);
+    method public boolean setFontVariationSettings(String);
+    method public void setHinting(int);
+    method public void setLetterSpacing(float);
+    method public void setLinearText(boolean);
+    method public android.graphics.MaskFilter setMaskFilter(android.graphics.MaskFilter);
+    method public android.graphics.PathEffect setPathEffect(android.graphics.PathEffect);
+    method public android.graphics.Shader setShader(android.graphics.Shader);
+    method public void setShadowLayer(float, float, float, @ColorInt int);
+    method public void setShadowLayer(float, float, float, @ColorLong long);
+    method public void setStartHyphenEdit(int);
+    method public void setStrikeThruText(boolean);
+    method public void setStrokeCap(android.graphics.Paint.Cap);
+    method public void setStrokeJoin(android.graphics.Paint.Join);
+    method public void setStrokeMiter(float);
+    method public void setStrokeWidth(float);
+    method public void setStyle(android.graphics.Paint.Style);
+    method public void setSubpixelText(boolean);
+    method public void setTextAlign(android.graphics.Paint.Align);
+    method public void setTextLocale(@NonNull java.util.Locale);
+    method public void setTextLocales(@NonNull @Size(min=1) android.os.LocaleList);
+    method public void setTextScaleX(float);
+    method public void setTextSize(float);
+    method public void setTextSkewX(float);
+    method public android.graphics.Typeface setTypeface(android.graphics.Typeface);
+    method public void setUnderlineText(boolean);
+    method public void setWordSpacing(@Px float);
+    method public android.graphics.Xfermode setXfermode(android.graphics.Xfermode);
+    field public static final int ANTI_ALIAS_FLAG = 1; // 0x1
+    field public static final int CURSOR_AFTER = 0; // 0x0
+    field public static final int CURSOR_AT = 4; // 0x4
+    field public static final int CURSOR_AT_OR_AFTER = 1; // 0x1
+    field public static final int CURSOR_AT_OR_BEFORE = 3; // 0x3
+    field public static final int CURSOR_BEFORE = 2; // 0x2
+    field public static final int DEV_KERN_TEXT_FLAG = 256; // 0x100
+    field public static final int DITHER_FLAG = 4; // 0x4
+    field public static final int EMBEDDED_BITMAP_TEXT_FLAG = 1024; // 0x400
+    field public static final int END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN = 3; // 0x3
+    field public static final int END_HYPHEN_EDIT_INSERT_HYPHEN = 2; // 0x2
+    field public static final int END_HYPHEN_EDIT_INSERT_MAQAF = 4; // 0x4
+    field public static final int END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN = 5; // 0x5
+    field public static final int END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN = 6; // 0x6
+    field public static final int END_HYPHEN_EDIT_NO_EDIT = 0; // 0x0
+    field public static final int END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN = 1; // 0x1
+    field public static final int FAKE_BOLD_TEXT_FLAG = 32; // 0x20
+    field public static final int FILTER_BITMAP_FLAG = 2; // 0x2
+    field public static final int HINTING_OFF = 0; // 0x0
+    field public static final int HINTING_ON = 1; // 0x1
+    field public static final int LINEAR_TEXT_FLAG = 64; // 0x40
+    field public static final int START_HYPHEN_EDIT_INSERT_HYPHEN = 1; // 0x1
+    field public static final int START_HYPHEN_EDIT_INSERT_ZWJ = 2; // 0x2
+    field public static final int START_HYPHEN_EDIT_NO_EDIT = 0; // 0x0
+    field public static final int STRIKE_THRU_TEXT_FLAG = 16; // 0x10
+    field public static final int SUBPIXEL_TEXT_FLAG = 128; // 0x80
+    field public static final int UNDERLINE_TEXT_FLAG = 8; // 0x8
+  }
+
+  public enum Paint.Align {
+    enum_constant public static final android.graphics.Paint.Align CENTER;
+    enum_constant public static final android.graphics.Paint.Align LEFT;
+    enum_constant public static final android.graphics.Paint.Align RIGHT;
+  }
+
+  public enum Paint.Cap {
+    enum_constant public static final android.graphics.Paint.Cap BUTT;
+    enum_constant public static final android.graphics.Paint.Cap ROUND;
+    enum_constant public static final android.graphics.Paint.Cap SQUARE;
+  }
+
+  public static class Paint.FontMetrics {
+    ctor public Paint.FontMetrics();
+    field public float ascent;
+    field public float bottom;
+    field public float descent;
+    field public float leading;
+    field public float top;
+  }
+
+  public static class Paint.FontMetricsInt {
+    ctor public Paint.FontMetricsInt();
+    field public int ascent;
+    field public int bottom;
+    field public int descent;
+    field public int leading;
+    field public int top;
+  }
+
+  public enum Paint.Join {
+    enum_constant public static final android.graphics.Paint.Join BEVEL;
+    enum_constant public static final android.graphics.Paint.Join MITER;
+    enum_constant public static final android.graphics.Paint.Join ROUND;
+  }
+
+  public enum Paint.Style {
+    enum_constant public static final android.graphics.Paint.Style FILL;
+    enum_constant public static final android.graphics.Paint.Style FILL_AND_STROKE;
+    enum_constant public static final android.graphics.Paint.Style STROKE;
+  }
+
+  public class PaintFlagsDrawFilter extends android.graphics.DrawFilter {
+    ctor public PaintFlagsDrawFilter(int, int);
+  }
+
+  public final class ParcelableColorSpace implements android.os.Parcelable {
+    ctor public ParcelableColorSpace(@NonNull android.graphics.ColorSpace);
+    method public int describeContents();
+    method @NonNull public android.graphics.ColorSpace getColorSpace();
+    method public static boolean isParcelable(@NonNull android.graphics.ColorSpace);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.ParcelableColorSpace> CREATOR;
+  }
+
+  public class Path {
+    ctor public Path();
+    ctor public Path(@Nullable android.graphics.Path);
+    method public void addArc(@NonNull android.graphics.RectF, float, float);
+    method public void addArc(float, float, float, float, float, float);
+    method public void addCircle(float, float, float, @NonNull android.graphics.Path.Direction);
+    method public void addOval(@NonNull android.graphics.RectF, @NonNull android.graphics.Path.Direction);
+    method public void addOval(float, float, float, float, @NonNull android.graphics.Path.Direction);
+    method public void addPath(@NonNull android.graphics.Path, float, float);
+    method public void addPath(@NonNull android.graphics.Path);
+    method public void addPath(@NonNull android.graphics.Path, @NonNull android.graphics.Matrix);
+    method public void addRect(@NonNull android.graphics.RectF, @NonNull android.graphics.Path.Direction);
+    method public void addRect(float, float, float, float, @NonNull android.graphics.Path.Direction);
+    method public void addRoundRect(@NonNull android.graphics.RectF, float, float, @NonNull android.graphics.Path.Direction);
+    method public void addRoundRect(float, float, float, float, float, float, @NonNull android.graphics.Path.Direction);
+    method public void addRoundRect(@NonNull android.graphics.RectF, @NonNull float[], @NonNull android.graphics.Path.Direction);
+    method public void addRoundRect(float, float, float, float, @NonNull float[], @NonNull android.graphics.Path.Direction);
+    method @NonNull @Size(min=6, multiple=3) public float[] approximate(@FloatRange(from=0) float);
+    method public void arcTo(@NonNull android.graphics.RectF, float, float, boolean);
+    method public void arcTo(@NonNull android.graphics.RectF, float, float);
+    method public void arcTo(float, float, float, float, float, float, boolean);
+    method public void close();
+    method public void computeBounds(@NonNull android.graphics.RectF, boolean);
+    method public void cubicTo(float, float, float, float, float, float);
+    method @NonNull public android.graphics.Path.FillType getFillType();
+    method public void incReserve(int);
+    method @Deprecated public boolean isConvex();
+    method public boolean isEmpty();
+    method public boolean isInverseFillType();
+    method public boolean isRect(@Nullable android.graphics.RectF);
+    method public void lineTo(float, float);
+    method public void moveTo(float, float);
+    method public void offset(float, float, @Nullable android.graphics.Path);
+    method public void offset(float, float);
+    method public boolean op(@NonNull android.graphics.Path, @NonNull android.graphics.Path.Op);
+    method public boolean op(@NonNull android.graphics.Path, @NonNull android.graphics.Path, @NonNull android.graphics.Path.Op);
+    method public void quadTo(float, float, float, float);
+    method public void rCubicTo(float, float, float, float, float, float);
+    method public void rLineTo(float, float);
+    method public void rMoveTo(float, float);
+    method public void rQuadTo(float, float, float, float);
+    method public void reset();
+    method public void rewind();
+    method public void set(@NonNull android.graphics.Path);
+    method public void setFillType(@NonNull android.graphics.Path.FillType);
+    method public void setLastPoint(float, float);
+    method public void toggleInverseFillType();
+    method public void transform(@NonNull android.graphics.Matrix, @Nullable android.graphics.Path);
+    method public void transform(@NonNull android.graphics.Matrix);
+  }
+
+  public enum Path.Direction {
+    enum_constant public static final android.graphics.Path.Direction CCW;
+    enum_constant public static final android.graphics.Path.Direction CW;
+  }
+
+  public enum Path.FillType {
+    enum_constant public static final android.graphics.Path.FillType EVEN_ODD;
+    enum_constant public static final android.graphics.Path.FillType INVERSE_EVEN_ODD;
+    enum_constant public static final android.graphics.Path.FillType INVERSE_WINDING;
+    enum_constant public static final android.graphics.Path.FillType WINDING;
+  }
+
+  public enum Path.Op {
+    enum_constant public static final android.graphics.Path.Op DIFFERENCE;
+    enum_constant public static final android.graphics.Path.Op INTERSECT;
+    enum_constant public static final android.graphics.Path.Op REVERSE_DIFFERENCE;
+    enum_constant public static final android.graphics.Path.Op UNION;
+    enum_constant public static final android.graphics.Path.Op XOR;
+  }
+
+  public class PathDashPathEffect extends android.graphics.PathEffect {
+    ctor public PathDashPathEffect(android.graphics.Path, float, float, android.graphics.PathDashPathEffect.Style);
+  }
+
+  public enum PathDashPathEffect.Style {
+    enum_constant public static final android.graphics.PathDashPathEffect.Style MORPH;
+    enum_constant public static final android.graphics.PathDashPathEffect.Style ROTATE;
+    enum_constant public static final android.graphics.PathDashPathEffect.Style TRANSLATE;
+  }
+
+  public class PathEffect {
+    ctor public PathEffect();
+  }
+
+  public class PathMeasure {
+    ctor public PathMeasure();
+    ctor public PathMeasure(android.graphics.Path, boolean);
+    method public float getLength();
+    method public boolean getMatrix(float, android.graphics.Matrix, int);
+    method public boolean getPosTan(float, float[], float[]);
+    method public boolean getSegment(float, float, android.graphics.Path, boolean);
+    method public boolean isClosed();
+    method public boolean nextContour();
+    method public void setPath(android.graphics.Path, boolean);
+    field public static final int POSITION_MATRIX_FLAG = 1; // 0x1
+    field public static final int TANGENT_MATRIX_FLAG = 2; // 0x2
+  }
+
+  public class Picture {
+    ctor public Picture();
+    ctor public Picture(android.graphics.Picture);
+    method @NonNull public android.graphics.Canvas beginRecording(int, int);
+    method public void draw(@NonNull android.graphics.Canvas);
+    method public void endRecording();
+    method public int getHeight();
+    method public int getWidth();
+    method public boolean requiresHardwareAcceleration();
+  }
+
+  public class PixelFormat {
+    ctor public PixelFormat();
+    method public static boolean formatHasAlpha(int);
+    method public static void getPixelFormatInfo(int, android.graphics.PixelFormat);
+    field @Deprecated public static final int A_8 = 8; // 0x8
+    field @Deprecated public static final int JPEG = 256; // 0x100
+    field @Deprecated public static final int LA_88 = 10; // 0xa
+    field @Deprecated public static final int L_8 = 9; // 0x9
+    field public static final int OPAQUE = -1; // 0xffffffff
+    field public static final int RGBA_1010102 = 43; // 0x2b
+    field @Deprecated public static final int RGBA_4444 = 7; // 0x7
+    field @Deprecated public static final int RGBA_5551 = 6; // 0x6
+    field public static final int RGBA_8888 = 1; // 0x1
+    field public static final int RGBA_F16 = 22; // 0x16
+    field public static final int RGBX_8888 = 2; // 0x2
+    field @Deprecated public static final int RGB_332 = 11; // 0xb
+    field public static final int RGB_565 = 4; // 0x4
+    field public static final int RGB_888 = 3; // 0x3
+    field public static final int TRANSLUCENT = -3; // 0xfffffffd
+    field public static final int TRANSPARENT = -2; // 0xfffffffe
+    field public static final int UNKNOWN = 0; // 0x0
+    field @Deprecated public static final int YCbCr_420_SP = 17; // 0x11
+    field @Deprecated public static final int YCbCr_422_I = 20; // 0x14
+    field @Deprecated public static final int YCbCr_422_SP = 16; // 0x10
+    field public int bitsPerPixel;
+    field public int bytesPerPixel;
+  }
+
+  public class Point implements android.os.Parcelable {
+    ctor public Point();
+    ctor public Point(int, int);
+    ctor public Point(@NonNull android.graphics.Point);
+    method public int describeContents();
+    method public final boolean equals(int, int);
+    method public final void negate();
+    method public final void offset(int, int);
+    method public void readFromParcel(@NonNull android.os.Parcel);
+    method public void set(int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Point> CREATOR;
+    field public int x;
+    field public int y;
+  }
+
+  public class PointF implements android.os.Parcelable {
+    ctor public PointF();
+    ctor public PointF(float, float);
+    ctor public PointF(@NonNull android.graphics.Point);
+    ctor public PointF(@NonNull android.graphics.PointF);
+    method public int describeContents();
+    method public final boolean equals(float, float);
+    method public final float length();
+    method public static float length(float, float);
+    method public final void negate();
+    method public final void offset(float, float);
+    method public void readFromParcel(@NonNull android.os.Parcel);
+    method public final void set(float, float);
+    method public final void set(@NonNull android.graphics.PointF);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.PointF> CREATOR;
+    field public float x;
+    field public float y;
+  }
+
+  public class PorterDuff {
+    ctor public PorterDuff();
+  }
+
+  public enum PorterDuff.Mode {
+    enum_constant public static final android.graphics.PorterDuff.Mode ADD;
+    enum_constant public static final android.graphics.PorterDuff.Mode CLEAR;
+    enum_constant public static final android.graphics.PorterDuff.Mode DARKEN;
+    enum_constant public static final android.graphics.PorterDuff.Mode DST;
+    enum_constant public static final android.graphics.PorterDuff.Mode DST_ATOP;
+    enum_constant public static final android.graphics.PorterDuff.Mode DST_IN;
+    enum_constant public static final android.graphics.PorterDuff.Mode DST_OUT;
+    enum_constant public static final android.graphics.PorterDuff.Mode DST_OVER;
+    enum_constant public static final android.graphics.PorterDuff.Mode LIGHTEN;
+    enum_constant public static final android.graphics.PorterDuff.Mode MULTIPLY;
+    enum_constant public static final android.graphics.PorterDuff.Mode OVERLAY;
+    enum_constant public static final android.graphics.PorterDuff.Mode SCREEN;
+    enum_constant public static final android.graphics.PorterDuff.Mode SRC;
+    enum_constant public static final android.graphics.PorterDuff.Mode SRC_ATOP;
+    enum_constant public static final android.graphics.PorterDuff.Mode SRC_IN;
+    enum_constant public static final android.graphics.PorterDuff.Mode SRC_OUT;
+    enum_constant public static final android.graphics.PorterDuff.Mode SRC_OVER;
+    enum_constant public static final android.graphics.PorterDuff.Mode XOR;
+  }
+
+  public class PorterDuffColorFilter extends android.graphics.ColorFilter {
+    ctor public PorterDuffColorFilter(@ColorInt int, @NonNull android.graphics.PorterDuff.Mode);
+  }
+
+  public class PorterDuffXfermode extends android.graphics.Xfermode {
+    ctor public PorterDuffXfermode(android.graphics.PorterDuff.Mode);
+  }
+
+  public interface PostProcessor {
+    method public int onPostProcess(@NonNull android.graphics.Canvas);
+  }
+
+  public class RadialGradient extends android.graphics.Shader {
+    ctor public RadialGradient(float, float, float, @ColorInt @NonNull int[], @Nullable float[], @NonNull android.graphics.Shader.TileMode);
+    ctor public RadialGradient(float, float, float, @ColorLong @NonNull long[], @Nullable float[], @NonNull android.graphics.Shader.TileMode);
+    ctor public RadialGradient(float, float, @FloatRange(from=0.0f) float, float, float, @FloatRange(from=0.0f, fromInclusive=false) float, @ColorLong @NonNull long[], @Nullable float[], @NonNull android.graphics.Shader.TileMode);
+    ctor public RadialGradient(float, float, float, @ColorInt int, @ColorInt int, @NonNull android.graphics.Shader.TileMode);
+    ctor public RadialGradient(float, float, float, @ColorLong long, @ColorLong long, @NonNull android.graphics.Shader.TileMode);
+  }
+
+  public final class RecordingCanvas extends android.graphics.Canvas {
+  }
+
+  public final class Rect implements android.os.Parcelable {
+    ctor public Rect();
+    ctor public Rect(int, int, int, int);
+    ctor public Rect(@Nullable android.graphics.Rect);
+    method public int centerX();
+    method public int centerY();
+    method public boolean contains(int, int);
+    method public boolean contains(int, int, int, int);
+    method public boolean contains(@NonNull android.graphics.Rect);
+    method public int describeContents();
+    method public float exactCenterX();
+    method public float exactCenterY();
+    method @NonNull public String flattenToString();
+    method public int height();
+    method public void inset(int, int);
+    method public void inset(@NonNull android.graphics.Insets);
+    method public void inset(int, int, int, int);
+    method @CheckResult public boolean intersect(int, int, int, int);
+    method @CheckResult public boolean intersect(@NonNull android.graphics.Rect);
+    method public boolean intersects(int, int, int, int);
+    method public static boolean intersects(@NonNull android.graphics.Rect, @NonNull android.graphics.Rect);
+    method public boolean isEmpty();
+    method public void offset(int, int);
+    method public void offsetTo(int, int);
+    method public void readFromParcel(@NonNull android.os.Parcel);
+    method public void set(int, int, int, int);
+    method public void set(@NonNull android.graphics.Rect);
+    method public void setEmpty();
+    method @CheckResult public boolean setIntersect(@NonNull android.graphics.Rect, @NonNull android.graphics.Rect);
+    method public void sort();
+    method @NonNull public String toShortString();
+    method @Nullable public static android.graphics.Rect unflattenFromString(@Nullable String);
+    method public void union(int, int, int, int);
+    method public void union(@NonNull android.graphics.Rect);
+    method public void union(int, int);
+    method public int width();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Rect> CREATOR;
+    field public int bottom;
+    field public int left;
+    field public int right;
+    field public int top;
+  }
+
+  public class RectF implements android.os.Parcelable {
+    ctor public RectF();
+    ctor public RectF(float, float, float, float);
+    ctor public RectF(@Nullable android.graphics.RectF);
+    ctor public RectF(@Nullable android.graphics.Rect);
+    method public final float centerX();
+    method public final float centerY();
+    method public boolean contains(float, float);
+    method public boolean contains(float, float, float, float);
+    method public boolean contains(@NonNull android.graphics.RectF);
+    method public int describeContents();
+    method public final float height();
+    method public void inset(float, float);
+    method public boolean intersect(float, float, float, float);
+    method public boolean intersect(@NonNull android.graphics.RectF);
+    method public boolean intersects(float, float, float, float);
+    method public static boolean intersects(@NonNull android.graphics.RectF, @NonNull android.graphics.RectF);
+    method public final boolean isEmpty();
+    method public void offset(float, float);
+    method public void offsetTo(float, float);
+    method public void readFromParcel(@NonNull android.os.Parcel);
+    method public void round(@NonNull android.graphics.Rect);
+    method public void roundOut(@NonNull android.graphics.Rect);
+    method public void set(float, float, float, float);
+    method public void set(@NonNull android.graphics.RectF);
+    method public void set(@NonNull android.graphics.Rect);
+    method public void setEmpty();
+    method public boolean setIntersect(@NonNull android.graphics.RectF, @NonNull android.graphics.RectF);
+    method public void sort();
+    method @NonNull public String toShortString();
+    method public void union(float, float, float, float);
+    method public void union(@NonNull android.graphics.RectF);
+    method public void union(float, float);
+    method public final float width();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.RectF> CREATOR;
+    field public float bottom;
+    field public float left;
+    field public float right;
+    field public float top;
+  }
+
+  public class Region implements android.os.Parcelable {
+    ctor public Region();
+    ctor public Region(@NonNull android.graphics.Region);
+    ctor public Region(@NonNull android.graphics.Rect);
+    ctor public Region(int, int, int, int);
+    method public boolean contains(int, int);
+    method public int describeContents();
+    method @NonNull public android.graphics.Path getBoundaryPath();
+    method public boolean getBoundaryPath(@NonNull android.graphics.Path);
+    method @NonNull public android.graphics.Rect getBounds();
+    method public boolean getBounds(@NonNull android.graphics.Rect);
+    method public boolean isComplex();
+    method public boolean isEmpty();
+    method public boolean isRect();
+    method public boolean op(@NonNull android.graphics.Rect, @NonNull android.graphics.Region.Op);
+    method public boolean op(int, int, int, int, @NonNull android.graphics.Region.Op);
+    method public boolean op(@NonNull android.graphics.Region, @NonNull android.graphics.Region.Op);
+    method public boolean op(@NonNull android.graphics.Rect, @NonNull android.graphics.Region, @NonNull android.graphics.Region.Op);
+    method public boolean op(@NonNull android.graphics.Region, @NonNull android.graphics.Region, @NonNull android.graphics.Region.Op);
+    method public boolean quickContains(@NonNull android.graphics.Rect);
+    method public boolean quickContains(int, int, int, int);
+    method public boolean quickReject(@NonNull android.graphics.Rect);
+    method public boolean quickReject(int, int, int, int);
+    method public boolean quickReject(android.graphics.Region);
+    method public boolean set(@NonNull android.graphics.Region);
+    method public boolean set(@NonNull android.graphics.Rect);
+    method public boolean set(int, int, int, int);
+    method public void setEmpty();
+    method public boolean setPath(@NonNull android.graphics.Path, @NonNull android.graphics.Region);
+    method public void translate(int, int);
+    method public void translate(int, int, android.graphics.Region);
+    method public final boolean union(@NonNull android.graphics.Rect);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Region> CREATOR;
+  }
+
+  public enum Region.Op {
+    enum_constant public static final android.graphics.Region.Op DIFFERENCE;
+    enum_constant public static final android.graphics.Region.Op INTERSECT;
+    enum_constant public static final android.graphics.Region.Op REPLACE;
+    enum_constant public static final android.graphics.Region.Op REVERSE_DIFFERENCE;
+    enum_constant public static final android.graphics.Region.Op UNION;
+    enum_constant public static final android.graphics.Region.Op XOR;
+  }
+
+  public class RegionIterator {
+    ctor public RegionIterator(android.graphics.Region);
+    method public final boolean next(android.graphics.Rect);
+  }
+
+  public final class RenderEffect {
+    method @NonNull public static android.graphics.RenderEffect createBitmapEffect(@NonNull android.graphics.Bitmap);
+    method @NonNull public static android.graphics.RenderEffect createBitmapEffect(@NonNull android.graphics.Bitmap, @Nullable android.graphics.Rect, @NonNull android.graphics.Rect);
+    method @NonNull public static android.graphics.RenderEffect createBlendModeEffect(@NonNull android.graphics.RenderEffect, @NonNull android.graphics.RenderEffect, @NonNull android.graphics.BlendMode);
+    method @NonNull public static android.graphics.RenderEffect createBlurEffect(float, float, @NonNull android.graphics.RenderEffect, @NonNull android.graphics.Shader.TileMode);
+    method @NonNull public static android.graphics.RenderEffect createBlurEffect(float, float, @NonNull android.graphics.Shader.TileMode);
+    method @NonNull public static android.graphics.RenderEffect createChainEffect(@NonNull android.graphics.RenderEffect, @NonNull android.graphics.RenderEffect);
+    method @NonNull public static android.graphics.RenderEffect createColorFilterEffect(@NonNull android.graphics.ColorFilter, @NonNull android.graphics.RenderEffect);
+    method @NonNull public static android.graphics.RenderEffect createColorFilterEffect(@NonNull android.graphics.ColorFilter);
+    method @NonNull public static android.graphics.RenderEffect createOffsetEffect(float, float);
+    method @NonNull public static android.graphics.RenderEffect createOffsetEffect(float, float, @NonNull android.graphics.RenderEffect);
+    method @NonNull public static android.graphics.RenderEffect createShaderEffect(@NonNull android.graphics.Shader);
+  }
+
+  public final class RenderNode {
+    ctor public RenderNode(@Nullable String);
+    method @NonNull public android.graphics.RecordingCanvas beginRecording(int, int);
+    method @NonNull public android.graphics.RecordingCanvas beginRecording();
+    method public long computeApproximateMemoryUsage();
+    method public void discardDisplayList();
+    method public void endRecording();
+    method public float getAlpha();
+    method @ColorInt public int getAmbientShadowColor();
+    method public int getBottom();
+    method @FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE) public float getCameraDistance();
+    method public boolean getClipToBounds();
+    method public boolean getClipToOutline();
+    method public float getElevation();
+    method public int getHeight();
+    method public void getInverseMatrix(@NonNull android.graphics.Matrix);
+    method public int getLeft();
+    method public void getMatrix(@NonNull android.graphics.Matrix);
+    method public float getPivotX();
+    method public float getPivotY();
+    method public int getRight();
+    method public float getRotationX();
+    method public float getRotationY();
+    method public float getRotationZ();
+    method public float getScaleX();
+    method public float getScaleY();
+    method @ColorInt public int getSpotShadowColor();
+    method public int getTop();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public float getTranslationZ();
+    method public long getUniqueId();
+    method public boolean getUseCompositingLayer();
+    method public int getWidth();
+    method public boolean hasDisplayList();
+    method public boolean hasIdentityMatrix();
+    method public boolean hasOverlappingRendering();
+    method public boolean hasShadow();
+    method public boolean isForceDarkAllowed();
+    method public boolean isPivotExplicitlySet();
+    method public boolean offsetLeftAndRight(int);
+    method public boolean offsetTopAndBottom(int);
+    method public boolean resetPivot();
+    method public boolean setAlpha(float);
+    method public boolean setAmbientShadowColor(@ColorInt int);
+    method public boolean setCameraDistance(@FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE) float);
+    method public boolean setClipRect(@Nullable android.graphics.Rect);
+    method public boolean setClipToBounds(boolean);
+    method public boolean setClipToOutline(boolean);
+    method public boolean setElevation(float);
+    method public boolean setForceDarkAllowed(boolean);
+    method public boolean setHasOverlappingRendering(boolean);
+    method public boolean setOutline(@Nullable android.graphics.Outline);
+    method public boolean setPivotX(float);
+    method public boolean setPivotY(float);
+    method public boolean setPosition(int, int, int, int);
+    method public boolean setPosition(@NonNull android.graphics.Rect);
+    method public boolean setProjectBackwards(boolean);
+    method public boolean setProjectionReceiver(boolean);
+    method public boolean setRenderEffect(@Nullable android.graphics.RenderEffect);
+    method public boolean setRotationX(float);
+    method public boolean setRotationY(float);
+    method public boolean setRotationZ(float);
+    method public boolean setScaleX(float);
+    method public boolean setScaleY(float);
+    method public boolean setSpotShadowColor(@ColorInt int);
+    method public boolean setTranslationX(float);
+    method public boolean setTranslationY(float);
+    method public boolean setTranslationZ(float);
+    method public boolean setUseCompositingLayer(boolean, @Nullable android.graphics.Paint);
+  }
+
+  public class Shader {
+    ctor @Deprecated public Shader();
+    method public boolean getLocalMatrix(@NonNull android.graphics.Matrix);
+    method public void setLocalMatrix(@Nullable android.graphics.Matrix);
+  }
+
+  public enum Shader.TileMode {
+    enum_constant public static final android.graphics.Shader.TileMode CLAMP;
+    enum_constant public static final android.graphics.Shader.TileMode DECAL;
+    enum_constant public static final android.graphics.Shader.TileMode MIRROR;
+    enum_constant public static final android.graphics.Shader.TileMode REPEAT;
+  }
+
+  public class SumPathEffect extends android.graphics.PathEffect {
+    ctor public SumPathEffect(android.graphics.PathEffect, android.graphics.PathEffect);
+  }
+
+  public class SurfaceTexture {
+    ctor public SurfaceTexture(int);
+    ctor public SurfaceTexture(int, boolean);
+    ctor public SurfaceTexture(boolean);
+    method public void attachToGLContext(int);
+    method public void detachFromGLContext();
+    method public long getTimestamp();
+    method public void getTransformMatrix(float[]);
+    method public boolean isReleased();
+    method public void release();
+    method public void releaseTexImage();
+    method public void setDefaultBufferSize(int, int);
+    method public void setOnFrameAvailableListener(@Nullable android.graphics.SurfaceTexture.OnFrameAvailableListener);
+    method public void setOnFrameAvailableListener(@Nullable android.graphics.SurfaceTexture.OnFrameAvailableListener, @Nullable android.os.Handler);
+    method public void updateTexImage();
+  }
+
+  public static interface SurfaceTexture.OnFrameAvailableListener {
+    method public void onFrameAvailable(android.graphics.SurfaceTexture);
+  }
+
+  @Deprecated public static class SurfaceTexture.OutOfResourcesException extends java.lang.Exception {
+    ctor @Deprecated public SurfaceTexture.OutOfResourcesException();
+    ctor @Deprecated public SurfaceTexture.OutOfResourcesException(String);
+  }
+
+  public class SweepGradient extends android.graphics.Shader {
+    ctor public SweepGradient(float, float, @ColorInt @NonNull int[], @Nullable float[]);
+    ctor public SweepGradient(float, float, @ColorLong @NonNull long[], @Nullable float[]);
+    ctor public SweepGradient(float, float, @ColorInt int, @ColorInt int);
+    ctor public SweepGradient(float, float, @ColorLong long, @ColorLong long);
+  }
+
+  public class Typeface {
+    method public static android.graphics.Typeface create(String, int);
+    method public static android.graphics.Typeface create(android.graphics.Typeface, int);
+    method @NonNull public static android.graphics.Typeface create(@Nullable android.graphics.Typeface, @IntRange(from=1, to=1000) int, boolean);
+    method public static android.graphics.Typeface createFromAsset(android.content.res.AssetManager, String);
+    method public static android.graphics.Typeface createFromFile(@Nullable java.io.File);
+    method public static android.graphics.Typeface createFromFile(@Nullable String);
+    method public static android.graphics.Typeface defaultFromStyle(int);
+    method public int getStyle();
+    method @IntRange(from=0, to=1000) public int getWeight();
+    method public final boolean isBold();
+    method public final boolean isItalic();
+    field public static final int BOLD = 1; // 0x1
+    field public static final int BOLD_ITALIC = 3; // 0x3
+    field public static final android.graphics.Typeface DEFAULT;
+    field public static final android.graphics.Typeface DEFAULT_BOLD;
+    field public static final int ITALIC = 2; // 0x2
+    field public static final android.graphics.Typeface MONOSPACE;
+    field public static final int NORMAL = 0; // 0x0
+    field public static final android.graphics.Typeface SANS_SERIF;
+    field public static final android.graphics.Typeface SERIF;
+  }
+
+  public static final class Typeface.Builder {
+    ctor public Typeface.Builder(@NonNull java.io.File);
+    ctor public Typeface.Builder(@NonNull java.io.FileDescriptor);
+    ctor public Typeface.Builder(@NonNull String);
+    ctor public Typeface.Builder(@NonNull android.content.res.AssetManager, @NonNull String);
+    method public android.graphics.Typeface build();
+    method public android.graphics.Typeface.Builder setFallback(@Nullable String);
+    method public android.graphics.Typeface.Builder setFontVariationSettings(@Nullable String);
+    method public android.graphics.Typeface.Builder setFontVariationSettings(@Nullable android.graphics.fonts.FontVariationAxis[]);
+    method public android.graphics.Typeface.Builder setItalic(boolean);
+    method public android.graphics.Typeface.Builder setTtcIndex(@IntRange(from=0) int);
+    method public android.graphics.Typeface.Builder setWeight(@IntRange(from=1, to=1000) int);
+  }
+
+  public static final class Typeface.CustomFallbackBuilder {
+    ctor public Typeface.CustomFallbackBuilder(@NonNull android.graphics.fonts.FontFamily);
+    method @NonNull public android.graphics.Typeface.CustomFallbackBuilder addCustomFallback(@NonNull android.graphics.fonts.FontFamily);
+    method @NonNull public android.graphics.Typeface build();
+    method @IntRange(from=64) public static int getMaxCustomFallbackCount();
+    method @NonNull public android.graphics.Typeface.CustomFallbackBuilder setStyle(@NonNull android.graphics.fonts.FontStyle);
+    method @NonNull public android.graphics.Typeface.CustomFallbackBuilder setSystemFallback(@NonNull String);
+  }
+
+  public class Xfermode {
+    ctor public Xfermode();
+  }
+
+  public class YuvImage {
+    ctor public YuvImage(byte[], int, int, int, int[]);
+    method public boolean compressToJpeg(android.graphics.Rect, int, java.io.OutputStream);
+    method public int getHeight();
+    method public int[] getStrides();
+    method public int getWidth();
+    method public byte[] getYuvData();
+    method public int getYuvFormat();
+  }
+
+}
+
+package android.graphics.drawable {
+
+  public class AdaptiveIconDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public AdaptiveIconDrawable(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable);
+    method public void draw(android.graphics.Canvas);
+    method public android.graphics.drawable.Drawable getBackground();
+    method public static float getExtraInsetFraction();
+    method public android.graphics.drawable.Drawable getForeground();
+    method public android.graphics.Path getIconMask();
+    method public int getOpacity();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setOpacity(int);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+  }
+
+  public interface Animatable {
+    method public boolean isRunning();
+    method public void start();
+    method public void stop();
+  }
+
+  public interface Animatable2 extends android.graphics.drawable.Animatable {
+    method public void clearAnimationCallbacks();
+    method public void registerAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+    method public boolean unregisterAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+  }
+
+  public abstract static class Animatable2.AnimationCallback {
+    ctor public Animatable2.AnimationCallback();
+    method public void onAnimationEnd(android.graphics.drawable.Drawable);
+    method public void onAnimationStart(android.graphics.drawable.Drawable);
+  }
+
+  public class AnimatedImageDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
+    ctor public AnimatedImageDrawable();
+    method public void clearAnimationCallbacks();
+    method public void draw(@NonNull android.graphics.Canvas);
+    method public int getOpacity();
+    method public int getRepeatCount();
+    method public final boolean isAutoMirrored();
+    method public boolean isRunning();
+    method public void registerAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+    method public void setAlpha(@IntRange(from=0, to=255) int);
+    method public void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method public void setRepeatCount(@IntRange(from=android.graphics.drawable.AnimatedImageDrawable.REPEAT_INFINITE) int);
+    method public void start();
+    method public void stop();
+    method public boolean unregisterAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+    field public static final int REPEAT_INFINITE = -1; // 0xffffffff
+  }
+
+  public class AnimatedStateListDrawable extends android.graphics.drawable.StateListDrawable {
+    ctor public AnimatedStateListDrawable();
+    method public void addState(@NonNull int[], @NonNull android.graphics.drawable.Drawable, int);
+    method public <T extends android.graphics.drawable.Drawable & android.graphics.drawable.Animatable> void addTransition(int, int, @NonNull T, boolean);
+  }
+
+  public class AnimatedVectorDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
+    ctor public AnimatedVectorDrawable();
+    method public void clearAnimationCallbacks();
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method public boolean isRunning();
+    method public void registerAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+    method public void reset();
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void start();
+    method public void stop();
+    method public boolean unregisterAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+  }
+
+  public class AnimationDrawable extends android.graphics.drawable.DrawableContainer implements android.graphics.drawable.Animatable java.lang.Runnable {
+    ctor public AnimationDrawable();
+    method public void addFrame(@NonNull android.graphics.drawable.Drawable, int);
+    method public int getDuration(int);
+    method public android.graphics.drawable.Drawable getFrame(int);
+    method public int getNumberOfFrames();
+    method public boolean isOneShot();
+    method public boolean isRunning();
+    method public void run();
+    method public void setOneShot(boolean);
+    method public void start();
+    method public void stop();
+  }
+
+  public class BitmapDrawable extends android.graphics.drawable.Drawable {
+    ctor @Deprecated public BitmapDrawable();
+    ctor @Deprecated public BitmapDrawable(android.content.res.Resources);
+    ctor @Deprecated public BitmapDrawable(android.graphics.Bitmap);
+    ctor public BitmapDrawable(android.content.res.Resources, android.graphics.Bitmap);
+    ctor @Deprecated public BitmapDrawable(String);
+    ctor public BitmapDrawable(android.content.res.Resources, String);
+    ctor @Deprecated public BitmapDrawable(java.io.InputStream);
+    ctor public BitmapDrawable(android.content.res.Resources, java.io.InputStream);
+    method public void draw(android.graphics.Canvas);
+    method public final android.graphics.Bitmap getBitmap();
+    method public final android.graphics.drawable.Drawable.ConstantState getConstantState();
+    method public int getGravity();
+    method public int getOpacity();
+    method public final android.graphics.Paint getPaint();
+    method public android.graphics.Shader.TileMode getTileModeX();
+    method public android.graphics.Shader.TileMode getTileModeY();
+    method public boolean hasAntiAlias();
+    method public boolean hasMipMap();
+    method public final boolean isAutoMirrored();
+    method public void setAlpha(int);
+    method public void setAntiAlias(boolean);
+    method public void setBitmap(@Nullable android.graphics.Bitmap);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setGravity(int);
+    method public void setMipMap(boolean);
+    method public void setTargetDensity(android.graphics.Canvas);
+    method public void setTargetDensity(android.util.DisplayMetrics);
+    method public void setTargetDensity(int);
+    method public void setTileModeX(android.graphics.Shader.TileMode);
+    method public void setTileModeXY(android.graphics.Shader.TileMode, android.graphics.Shader.TileMode);
+    method public final void setTileModeY(android.graphics.Shader.TileMode);
+  }
+
+  public class ClipDrawable extends android.graphics.drawable.DrawableWrapper {
+    ctor public ClipDrawable(android.graphics.drawable.Drawable, int, int);
+    field public static final int HORIZONTAL = 1; // 0x1
+    field public static final int VERTICAL = 2; // 0x2
+  }
+
+  public class ColorDrawable extends android.graphics.drawable.Drawable {
+    ctor public ColorDrawable();
+    ctor public ColorDrawable(@ColorInt int);
+    method public void draw(android.graphics.Canvas);
+    method @ColorInt public int getColor();
+    method public int getOpacity();
+    method public void setAlpha(int);
+    method public void setColor(@ColorInt int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+  }
+
+  public class ColorStateListDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public ColorStateListDrawable();
+    ctor public ColorStateListDrawable(@NonNull android.content.res.ColorStateList);
+    method public void clearAlpha();
+    method public void draw(@NonNull android.graphics.Canvas);
+    method @NonNull public android.content.res.ColorStateList getColorStateList();
+    method public int getOpacity();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void setAlpha(@IntRange(from=0, to=255) int);
+    method public void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method public void setColorStateList(@NonNull android.content.res.ColorStateList);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+  }
+
+  public abstract class Drawable {
+    ctor public Drawable();
+    method public void applyTheme(@NonNull android.content.res.Resources.Theme);
+    method public boolean canApplyTheme();
+    method public void clearColorFilter();
+    method public final void copyBounds(@NonNull android.graphics.Rect);
+    method @NonNull public final android.graphics.Rect copyBounds();
+    method @Nullable public static android.graphics.drawable.Drawable createFromPath(String);
+    method public static android.graphics.drawable.Drawable createFromResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, String);
+    method @Deprecated @Nullable public static android.graphics.drawable.Drawable createFromResourceStream(@Nullable android.content.res.Resources, @Nullable android.util.TypedValue, @Nullable java.io.InputStream, @Nullable String, @Nullable android.graphics.BitmapFactory.Options);
+    method public static android.graphics.drawable.Drawable createFromStream(java.io.InputStream, String);
+    method @NonNull public static android.graphics.drawable.Drawable createFromXml(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @NonNull public static android.graphics.drawable.Drawable createFromXml(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @Nullable android.content.res.Resources.Theme) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @NonNull public static android.graphics.drawable.Drawable createFromXmlInner(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @NonNull android.util.AttributeSet) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @NonNull public static android.graphics.drawable.Drawable createFromXmlInner(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @NonNull android.util.AttributeSet, @Nullable android.content.res.Resources.Theme) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public abstract void draw(@NonNull android.graphics.Canvas);
+    method @IntRange(from=0, to=255) public int getAlpha();
+    method @NonNull public final android.graphics.Rect getBounds();
+    method @Nullable public android.graphics.drawable.Drawable.Callback getCallback();
+    method public int getChangingConfigurations();
+    method @Nullable public android.graphics.ColorFilter getColorFilter();
+    method @Nullable public android.graphics.drawable.Drawable.ConstantState getConstantState();
+    method @NonNull public android.graphics.drawable.Drawable getCurrent();
+    method @NonNull public android.graphics.Rect getDirtyBounds();
+    method public void getHotspotBounds(@NonNull android.graphics.Rect);
+    method public int getIntrinsicHeight();
+    method public int getIntrinsicWidth();
+    method public int getLayoutDirection();
+    method @IntRange(from=0, to=10000) public final int getLevel();
+    method public int getMinimumHeight();
+    method public int getMinimumWidth();
+    method @Deprecated public abstract int getOpacity();
+    method @NonNull public android.graphics.Insets getOpticalInsets();
+    method public void getOutline(@NonNull android.graphics.Outline);
+    method public boolean getPadding(@NonNull android.graphics.Rect);
+    method @NonNull public int[] getState();
+    method @Nullable public android.graphics.Region getTransparentRegion();
+    method public boolean hasFocusStateSpecified();
+    method public void inflate(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @NonNull android.util.AttributeSet) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void inflate(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @NonNull android.util.AttributeSet, @Nullable android.content.res.Resources.Theme) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void invalidateSelf();
+    method public boolean isAutoMirrored();
+    method public boolean isFilterBitmap();
+    method public boolean isProjected();
+    method public boolean isStateful();
+    method public final boolean isVisible();
+    method public void jumpToCurrentState();
+    method @NonNull public android.graphics.drawable.Drawable mutate();
+    method protected void onBoundsChange(android.graphics.Rect);
+    method public boolean onLayoutDirectionChanged(int);
+    method protected boolean onLevelChange(int);
+    method protected boolean onStateChange(int[]);
+    method public static int resolveOpacity(int, int);
+    method public void scheduleSelf(@NonNull Runnable, long);
+    method public abstract void setAlpha(@IntRange(from=0, to=255) int);
+    method public void setAutoMirrored(boolean);
+    method public void setBounds(int, int, int, int);
+    method public void setBounds(@NonNull android.graphics.Rect);
+    method public final void setCallback(@Nullable android.graphics.drawable.Drawable.Callback);
+    method public void setChangingConfigurations(int);
+    method public abstract void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method @Deprecated public void setColorFilter(@ColorInt int, @NonNull android.graphics.PorterDuff.Mode);
+    method @Deprecated public void setDither(boolean);
+    method public void setFilterBitmap(boolean);
+    method public void setHotspot(float, float);
+    method public void setHotspotBounds(int, int, int, int);
+    method public final boolean setLayoutDirection(int);
+    method public final boolean setLevel(@IntRange(from=0, to=10000) int);
+    method public boolean setState(@NonNull int[]);
+    method public void setTint(@ColorInt int);
+    method public void setTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setTintList(@Nullable android.content.res.ColorStateList);
+    method public void setTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public boolean setVisible(boolean, boolean);
+    method public void unscheduleSelf(@NonNull Runnable);
+  }
+
+  public static interface Drawable.Callback {
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+  }
+
+  public abstract static class Drawable.ConstantState {
+    ctor public Drawable.ConstantState();
+    method public boolean canApplyTheme();
+    method public abstract int getChangingConfigurations();
+    method @NonNull public abstract android.graphics.drawable.Drawable newDrawable();
+    method @NonNull public android.graphics.drawable.Drawable newDrawable(@Nullable android.content.res.Resources);
+    method @NonNull public android.graphics.drawable.Drawable newDrawable(@Nullable android.content.res.Resources, @Nullable android.content.res.Resources.Theme);
+  }
+
+  public class DrawableContainer extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public DrawableContainer();
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public boolean selectDrawable(int);
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method protected void setConstantState(android.graphics.drawable.DrawableContainer.DrawableContainerState);
+    method public void setDither(boolean);
+    method public void setEnterFadeDuration(int);
+    method public void setExitFadeDuration(int);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+  }
+
+  public abstract static class DrawableContainer.DrawableContainerState extends android.graphics.drawable.Drawable.ConstantState {
+    method public final int addChild(android.graphics.drawable.Drawable);
+    method public boolean canConstantState();
+    method protected void computeConstantSize();
+    method public int getChangingConfigurations();
+    method public final android.graphics.drawable.Drawable getChild(int);
+    method public final int getChildCount();
+    method public final android.graphics.drawable.Drawable[] getChildren();
+    method public final int getConstantHeight();
+    method public final int getConstantMinimumHeight();
+    method public final int getConstantMinimumWidth();
+    method public final android.graphics.Rect getConstantPadding();
+    method public final int getConstantWidth();
+    method public final int getEnterFadeDuration();
+    method public final int getExitFadeDuration();
+    method public final int getOpacity();
+    method public void growArray(int, int);
+    method public final boolean isConstantSize();
+    method public final boolean isStateful();
+    method public final void setConstantSize(boolean);
+    method public final void setEnterFadeDuration(int);
+    method public final void setExitFadeDuration(int);
+    method public final void setVariablePadding(boolean);
+  }
+
+  public abstract class DrawableWrapper extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public DrawableWrapper(@Nullable android.graphics.drawable.Drawable);
+    method public void draw(@NonNull android.graphics.Canvas);
+    method @Nullable public android.graphics.drawable.Drawable getDrawable();
+    method public int getOpacity();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void setAlpha(int);
+    method public void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method public void setDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+  }
+
+  public class GradientDrawable extends android.graphics.drawable.Drawable {
+    ctor public GradientDrawable();
+    ctor public GradientDrawable(android.graphics.drawable.GradientDrawable.Orientation, @ColorInt int[]);
+    method public void draw(android.graphics.Canvas);
+    method @Nullable public android.content.res.ColorStateList getColor();
+    method @Nullable public int[] getColors();
+    method @Nullable public float[] getCornerRadii();
+    method public float getCornerRadius();
+    method public float getGradientCenterX();
+    method public float getGradientCenterY();
+    method public float getGradientRadius();
+    method public int getGradientType();
+    method @Px public int getInnerRadius();
+    method public float getInnerRadiusRatio();
+    method public int getOpacity();
+    method public android.graphics.drawable.GradientDrawable.Orientation getOrientation();
+    method public int getShape();
+    method @Px public int getThickness();
+    method public float getThicknessRatio();
+    method public boolean getUseLevel();
+    method public void setAlpha(int);
+    method public void setColor(@ColorInt int);
+    method public void setColor(@Nullable android.content.res.ColorStateList);
+    method public void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method public void setColors(@ColorInt @Nullable int[]);
+    method public void setColors(@ColorInt @Nullable int[], @Nullable float[]);
+    method public void setCornerRadii(@Nullable float[]);
+    method public void setCornerRadius(float);
+    method public void setDither(boolean);
+    method public void setGradientCenter(float, float);
+    method public void setGradientRadius(float);
+    method public void setGradientType(int);
+    method public void setInnerRadius(@Px int);
+    method public void setInnerRadiusRatio(@FloatRange(from=0.0f, fromInclusive=false) float);
+    method public void setOrientation(android.graphics.drawable.GradientDrawable.Orientation);
+    method public void setPadding(@Px int, @Px int, @Px int, @Px int);
+    method public void setShape(int);
+    method public void setSize(int, int);
+    method public void setStroke(int, @ColorInt int);
+    method public void setStroke(int, android.content.res.ColorStateList);
+    method public void setStroke(int, @ColorInt int, float, float);
+    method public void setStroke(int, android.content.res.ColorStateList, float, float);
+    method public void setThickness(@Px int);
+    method public void setThicknessRatio(@FloatRange(from=0.0f, fromInclusive=false) float);
+    method public void setUseLevel(boolean);
+    field public static final int LINE = 2; // 0x2
+    field public static final int LINEAR_GRADIENT = 0; // 0x0
+    field public static final int OVAL = 1; // 0x1
+    field public static final int RADIAL_GRADIENT = 1; // 0x1
+    field public static final int RECTANGLE = 0; // 0x0
+    field public static final int RING = 3; // 0x3
+    field public static final int SWEEP_GRADIENT = 2; // 0x2
+  }
+
+  public enum GradientDrawable.Orientation {
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation BL_TR;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation BOTTOM_TOP;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation BR_TL;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation LEFT_RIGHT;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation RIGHT_LEFT;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation TL_BR;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation TOP_BOTTOM;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation TR_BL;
+  }
+
+  public final class Icon implements android.os.Parcelable {
+    method public static android.graphics.drawable.Icon createWithAdaptiveBitmap(android.graphics.Bitmap);
+    method @NonNull public static android.graphics.drawable.Icon createWithAdaptiveBitmapContentUri(@NonNull String);
+    method @NonNull public static android.graphics.drawable.Icon createWithAdaptiveBitmapContentUri(@NonNull android.net.Uri);
+    method public static android.graphics.drawable.Icon createWithBitmap(android.graphics.Bitmap);
+    method public static android.graphics.drawable.Icon createWithContentUri(String);
+    method public static android.graphics.drawable.Icon createWithContentUri(android.net.Uri);
+    method public static android.graphics.drawable.Icon createWithData(byte[], int, int);
+    method public static android.graphics.drawable.Icon createWithFilePath(String);
+    method public static android.graphics.drawable.Icon createWithResource(android.content.Context, @DrawableRes int);
+    method public static android.graphics.drawable.Icon createWithResource(String, @DrawableRes int);
+    method public int describeContents();
+    method @DrawableRes public int getResId();
+    method @NonNull public String getResPackage();
+    method public int getType();
+    method @NonNull public android.net.Uri getUri();
+    method public android.graphics.drawable.Drawable loadDrawable(android.content.Context);
+    method public void loadDrawableAsync(android.content.Context, android.os.Message);
+    method public void loadDrawableAsync(android.content.Context, android.graphics.drawable.Icon.OnDrawableLoadedListener, android.os.Handler);
+    method public android.graphics.drawable.Icon setTint(@ColorInt int);
+    method @NonNull public android.graphics.drawable.Icon setTintBlendMode(@NonNull android.graphics.BlendMode);
+    method public android.graphics.drawable.Icon setTintList(android.content.res.ColorStateList);
+    method @NonNull public android.graphics.drawable.Icon setTintMode(@NonNull android.graphics.PorterDuff.Mode);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.drawable.Icon> CREATOR;
+    field public static final int TYPE_ADAPTIVE_BITMAP = 5; // 0x5
+    field public static final int TYPE_BITMAP = 1; // 0x1
+    field public static final int TYPE_DATA = 3; // 0x3
+    field public static final int TYPE_RESOURCE = 2; // 0x2
+    field public static final int TYPE_URI = 4; // 0x4
+    field public static final int TYPE_URI_ADAPTIVE_BITMAP = 6; // 0x6
+  }
+
+  public static interface Icon.OnDrawableLoadedListener {
+    method public void onDrawableLoaded(android.graphics.drawable.Drawable);
+  }
+
+  public class InsetDrawable extends android.graphics.drawable.DrawableWrapper {
+    ctor public InsetDrawable(@Nullable android.graphics.drawable.Drawable, int);
+    ctor public InsetDrawable(@Nullable android.graphics.drawable.Drawable, float);
+    ctor public InsetDrawable(@Nullable android.graphics.drawable.Drawable, int, int, int, int);
+    ctor public InsetDrawable(@Nullable android.graphics.drawable.Drawable, float, float, float, float);
+  }
+
+  public class LayerDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public LayerDrawable(@NonNull android.graphics.drawable.Drawable[]);
+    method public int addLayer(android.graphics.drawable.Drawable);
+    method public void draw(android.graphics.Canvas);
+    method public android.graphics.drawable.Drawable findDrawableByLayerId(int);
+    method public int findIndexByLayerId(int);
+    method public int getBottomPadding();
+    method public android.graphics.drawable.Drawable getDrawable(int);
+    method public int getEndPadding();
+    method public int getId(int);
+    method public int getLayerGravity(int);
+    method public int getLayerHeight(int);
+    method public int getLayerInsetBottom(int);
+    method public int getLayerInsetEnd(int);
+    method public int getLayerInsetLeft(int);
+    method public int getLayerInsetRight(int);
+    method public int getLayerInsetStart(int);
+    method public int getLayerInsetTop(int);
+    method public int getLayerWidth(int);
+    method public int getLeftPadding();
+    method public int getNumberOfLayers();
+    method public int getOpacity();
+    method public int getPaddingMode();
+    method public int getRightPadding();
+    method public int getStartPadding();
+    method public int getTopPadding();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setDrawable(int, android.graphics.drawable.Drawable);
+    method public boolean setDrawableByLayerId(int, android.graphics.drawable.Drawable);
+    method public void setId(int, int);
+    method public void setLayerGravity(int, int);
+    method public void setLayerHeight(int, int);
+    method public void setLayerInset(int, int, int, int, int);
+    method public void setLayerInsetBottom(int, int);
+    method public void setLayerInsetEnd(int, int);
+    method public void setLayerInsetLeft(int, int);
+    method public void setLayerInsetRelative(int, int, int, int, int);
+    method public void setLayerInsetRight(int, int);
+    method public void setLayerInsetStart(int, int);
+    method public void setLayerInsetTop(int, int);
+    method public void setLayerSize(int, int, int);
+    method public void setLayerWidth(int, int);
+    method public void setOpacity(int);
+    method public void setPadding(int, int, int, int);
+    method public void setPaddingMode(int);
+    method public void setPaddingRelative(int, int, int, int);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+    field public static final int INSET_UNDEFINED = -2147483648; // 0x80000000
+    field public static final int PADDING_MODE_NEST = 0; // 0x0
+    field public static final int PADDING_MODE_STACK = 1; // 0x1
+  }
+
+  public class LevelListDrawable extends android.graphics.drawable.DrawableContainer {
+    ctor public LevelListDrawable();
+    method public void addLevel(int, int, android.graphics.drawable.Drawable);
+  }
+
+  public class NinePatchDrawable extends android.graphics.drawable.Drawable {
+    ctor @Deprecated public NinePatchDrawable(android.graphics.Bitmap, byte[], android.graphics.Rect, String);
+    ctor public NinePatchDrawable(android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, String);
+    ctor @Deprecated public NinePatchDrawable(@NonNull android.graphics.NinePatch);
+    ctor public NinePatchDrawable(@Nullable android.content.res.Resources, @NonNull android.graphics.NinePatch);
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method @NonNull public android.graphics.Paint getPaint();
+    method public void setAlpha(int);
+    method public void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setTargetDensity(@NonNull android.graphics.Canvas);
+    method public void setTargetDensity(@NonNull android.util.DisplayMetrics);
+    method public void setTargetDensity(int);
+  }
+
+  public class PaintDrawable extends android.graphics.drawable.ShapeDrawable {
+    ctor public PaintDrawable();
+    ctor public PaintDrawable(int);
+    method public void setCornerRadii(float[]);
+    method public void setCornerRadius(float);
+  }
+
+  public class PictureDrawable extends android.graphics.drawable.Drawable {
+    ctor public PictureDrawable(android.graphics.Picture);
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method public android.graphics.Picture getPicture();
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setPicture(android.graphics.Picture);
+  }
+
+  public class RippleDrawable extends android.graphics.drawable.LayerDrawable {
+    ctor public RippleDrawable(@NonNull android.content.res.ColorStateList, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable);
+    method @NonNull public android.content.res.ColorStateList getEffectColor();
+    method public int getRadius();
+    method public void setColor(@NonNull android.content.res.ColorStateList);
+    method public void setEffectColor(@NonNull android.content.res.ColorStateList);
+    method public void setRadius(int);
+    field public static final int RADIUS_AUTO = -1; // 0xffffffff
+  }
+
+  public class RotateDrawable extends android.graphics.drawable.DrawableWrapper {
+    ctor public RotateDrawable();
+    method public float getFromDegrees();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getToDegrees();
+    method public boolean isPivotXRelative();
+    method public boolean isPivotYRelative();
+    method public void setFromDegrees(float);
+    method public void setPivotX(float);
+    method public void setPivotXRelative(boolean);
+    method public void setPivotY(float);
+    method public void setPivotYRelative(boolean);
+    method public void setToDegrees(float);
+  }
+
+  public class ScaleDrawable extends android.graphics.drawable.DrawableWrapper {
+    ctor public ScaleDrawable(android.graphics.drawable.Drawable, int, float, float);
+  }
+
+  public class ShapeDrawable extends android.graphics.drawable.Drawable {
+    ctor public ShapeDrawable();
+    ctor public ShapeDrawable(android.graphics.drawable.shapes.Shape);
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method public android.graphics.Paint getPaint();
+    method public android.graphics.drawable.ShapeDrawable.ShaderFactory getShaderFactory();
+    method public android.graphics.drawable.shapes.Shape getShape();
+    method protected boolean inflateTag(String, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet);
+    method protected void onDraw(android.graphics.drawable.shapes.Shape, android.graphics.Canvas, android.graphics.Paint);
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setIntrinsicHeight(int);
+    method public void setIntrinsicWidth(int);
+    method public void setPadding(int, int, int, int);
+    method public void setPadding(android.graphics.Rect);
+    method public void setShaderFactory(android.graphics.drawable.ShapeDrawable.ShaderFactory);
+    method public void setShape(android.graphics.drawable.shapes.Shape);
+  }
+
+  public abstract static class ShapeDrawable.ShaderFactory {
+    ctor public ShapeDrawable.ShaderFactory();
+    method public abstract android.graphics.Shader resize(int, int);
+  }
+
+  public class StateListDrawable extends android.graphics.drawable.DrawableContainer {
+    ctor public StateListDrawable();
+    method public void addState(int[], android.graphics.drawable.Drawable);
+    method public int findStateDrawableIndex(@NonNull int[]);
+    method public int getStateCount();
+    method @Nullable public android.graphics.drawable.Drawable getStateDrawable(int);
+    method @NonNull public int[] getStateSet(int);
+  }
+
+  public class TransitionDrawable extends android.graphics.drawable.LayerDrawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public TransitionDrawable(android.graphics.drawable.Drawable[]);
+    method public boolean isCrossFadeEnabled();
+    method public void resetTransition();
+    method public void reverseTransition(int);
+    method public void setCrossFadeEnabled(boolean);
+    method public void startTransition(int);
+  }
+
+  public class VectorDrawable extends android.graphics.drawable.Drawable {
+    ctor public VectorDrawable();
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+  }
+
+}
+
+package android.graphics.drawable.shapes {
+
+  public class ArcShape extends android.graphics.drawable.shapes.RectShape {
+    ctor public ArcShape(float, float);
+    method public android.graphics.drawable.shapes.ArcShape clone() throws java.lang.CloneNotSupportedException;
+    method public final float getStartAngle();
+    method public final float getSweepAngle();
+  }
+
+  public class OvalShape extends android.graphics.drawable.shapes.RectShape {
+    ctor public OvalShape();
+    method public android.graphics.drawable.shapes.OvalShape clone() throws java.lang.CloneNotSupportedException;
+  }
+
+  public class PathShape extends android.graphics.drawable.shapes.Shape {
+    ctor public PathShape(@NonNull android.graphics.Path, float, float);
+    method public android.graphics.drawable.shapes.PathShape clone() throws java.lang.CloneNotSupportedException;
+    method public void draw(android.graphics.Canvas, android.graphics.Paint);
+  }
+
+  public class RectShape extends android.graphics.drawable.shapes.Shape {
+    ctor public RectShape();
+    method public android.graphics.drawable.shapes.RectShape clone() throws java.lang.CloneNotSupportedException;
+    method public void draw(android.graphics.Canvas, android.graphics.Paint);
+    method protected final android.graphics.RectF rect();
+  }
+
+  public class RoundRectShape extends android.graphics.drawable.shapes.RectShape {
+    ctor public RoundRectShape(@Nullable float[], @Nullable android.graphics.RectF, @Nullable float[]);
+    method public android.graphics.drawable.shapes.RoundRectShape clone() throws java.lang.CloneNotSupportedException;
+  }
+
+  public abstract class Shape implements java.lang.Cloneable {
+    ctor public Shape();
+    method public android.graphics.drawable.shapes.Shape clone() throws java.lang.CloneNotSupportedException;
+    method public abstract void draw(android.graphics.Canvas, android.graphics.Paint);
+    method public final float getHeight();
+    method public void getOutline(@NonNull android.graphics.Outline);
+    method public final float getWidth();
+    method public boolean hasAlpha();
+    method protected void onResize(float, float);
+    method public final void resize(float, float);
+  }
+
+}
+
+package android.graphics.fonts {
+
+  public final class Font {
+    method @Nullable public android.graphics.fonts.FontVariationAxis[] getAxes();
+    method @NonNull public java.nio.ByteBuffer getBuffer();
+    method @Nullable public java.io.File getFile();
+    method public float getGlyphBounds(@IntRange(from=0) int, @NonNull android.graphics.Paint, @Nullable android.graphics.RectF);
+    method @NonNull public android.os.LocaleList getLocaleList();
+    method public void getMetrics(@NonNull android.graphics.Paint, @Nullable android.graphics.Paint.FontMetrics);
+    method public int getSourceIdentifier();
+    method @NonNull public android.graphics.fonts.FontStyle getStyle();
+    method @IntRange(from=0) public int getTtcIndex();
+  }
+
+  public static final class Font.Builder {
+    ctor public Font.Builder(@NonNull java.nio.ByteBuffer);
+    ctor public Font.Builder(@NonNull java.io.File);
+    ctor public Font.Builder(@NonNull android.os.ParcelFileDescriptor);
+    ctor public Font.Builder(@NonNull android.os.ParcelFileDescriptor, @IntRange(from=0) long, @IntRange(from=0xffffffff) long);
+    ctor public Font.Builder(@NonNull android.content.res.AssetManager, @NonNull String);
+    ctor public Font.Builder(@NonNull android.content.res.Resources, int);
+    ctor public Font.Builder(@NonNull android.graphics.fonts.Font);
+    method @NonNull public android.graphics.fonts.Font build() throws java.io.IOException;
+    method @NonNull public android.graphics.fonts.Font.Builder setFontVariationSettings(@Nullable String);
+    method @NonNull public android.graphics.fonts.Font.Builder setFontVariationSettings(@Nullable android.graphics.fonts.FontVariationAxis[]);
+    method @NonNull public android.graphics.fonts.Font.Builder setSlant(int);
+    method @NonNull public android.graphics.fonts.Font.Builder setTtcIndex(@IntRange(from=0) int);
+    method @NonNull public android.graphics.fonts.Font.Builder setWeight(@IntRange(from=android.graphics.fonts.FontStyle.FONT_WEIGHT_MIN, to=android.graphics.fonts.FontStyle.FONT_WEIGHT_MAX) int);
+  }
+
+  public final class FontFamily {
+    method @NonNull public android.graphics.fonts.Font getFont(@IntRange(from=0) int);
+    method @IntRange(from=1) public int getSize();
+  }
+
+  public static final class FontFamily.Builder {
+    ctor public FontFamily.Builder(@NonNull android.graphics.fonts.Font);
+    method @NonNull public android.graphics.fonts.FontFamily.Builder addFont(@NonNull android.graphics.fonts.Font);
+    method @NonNull public android.graphics.fonts.FontFamily build();
+  }
+
+  public final class FontStyle {
+    ctor public FontStyle();
+    ctor public FontStyle(int, int);
+    method public int getSlant();
+    method @IntRange(from=0, to=1000) public int getWeight();
+    field public static final int FONT_SLANT_ITALIC = 1; // 0x1
+    field public static final int FONT_SLANT_UPRIGHT = 0; // 0x0
+    field public static final int FONT_WEIGHT_BLACK = 900; // 0x384
+    field public static final int FONT_WEIGHT_BOLD = 700; // 0x2bc
+    field public static final int FONT_WEIGHT_EXTRA_BOLD = 800; // 0x320
+    field public static final int FONT_WEIGHT_EXTRA_LIGHT = 200; // 0xc8
+    field public static final int FONT_WEIGHT_LIGHT = 300; // 0x12c
+    field public static final int FONT_WEIGHT_MAX = 1000; // 0x3e8
+    field public static final int FONT_WEIGHT_MEDIUM = 500; // 0x1f4
+    field public static final int FONT_WEIGHT_MIN = 1; // 0x1
+    field public static final int FONT_WEIGHT_NORMAL = 400; // 0x190
+    field public static final int FONT_WEIGHT_SEMI_BOLD = 600; // 0x258
+    field public static final int FONT_WEIGHT_THIN = 100; // 0x64
+  }
+
+  public final class FontVariationAxis {
+    ctor public FontVariationAxis(@NonNull String, float);
+    method @Nullable public static android.graphics.fonts.FontVariationAxis[] fromFontVariationSettings(@Nullable String);
+    method public float getStyleValue();
+    method public String getTag();
+    method @NonNull public static String toFontVariationSettings(@Nullable android.graphics.fonts.FontVariationAxis[]);
+  }
+
+  public final class SystemFonts {
+    method @NonNull public static java.util.Set<android.graphics.fonts.Font> getAvailableFonts();
+  }
+
+}
+
+package android.graphics.pdf {
+
+  public class PdfDocument {
+    ctor public PdfDocument();
+    method public void close();
+    method public void finishPage(android.graphics.pdf.PdfDocument.Page);
+    method public java.util.List<android.graphics.pdf.PdfDocument.PageInfo> getPages();
+    method public android.graphics.pdf.PdfDocument.Page startPage(android.graphics.pdf.PdfDocument.PageInfo);
+    method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+  }
+
+  public static final class PdfDocument.Page {
+    method public android.graphics.Canvas getCanvas();
+    method public android.graphics.pdf.PdfDocument.PageInfo getInfo();
+  }
+
+  public static final class PdfDocument.PageInfo {
+    method public android.graphics.Rect getContentRect();
+    method public int getPageHeight();
+    method public int getPageNumber();
+    method public int getPageWidth();
+  }
+
+  public static final class PdfDocument.PageInfo.Builder {
+    ctor public PdfDocument.PageInfo.Builder(int, int, int);
+    method public android.graphics.pdf.PdfDocument.PageInfo create();
+    method public android.graphics.pdf.PdfDocument.PageInfo.Builder setContentRect(android.graphics.Rect);
+  }
+
+  public final class PdfRenderer implements java.lang.AutoCloseable {
+    ctor public PdfRenderer(@NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method public void close();
+    method public int getPageCount();
+    method public android.graphics.pdf.PdfRenderer.Page openPage(int);
+    method public boolean shouldScaleForPrinting();
+  }
+
+  public final class PdfRenderer.Page implements java.lang.AutoCloseable {
+    method public void close();
+    method public int getHeight();
+    method public int getIndex();
+    method public int getWidth();
+    method public void render(@NonNull android.graphics.Bitmap, @Nullable android.graphics.Rect, @Nullable android.graphics.Matrix, int);
+    field public static final int RENDER_MODE_FOR_DISPLAY = 1; // 0x1
+    field public static final int RENDER_MODE_FOR_PRINT = 2; // 0x2
+  }
+
+}
+
+package android.graphics.text {
+
+  public class LineBreaker {
+    method @NonNull public android.graphics.text.LineBreaker.Result computeLineBreaks(@NonNull android.graphics.text.MeasuredText, @NonNull android.graphics.text.LineBreaker.ParagraphConstraints, @IntRange(from=0) int);
+    field public static final int BREAK_STRATEGY_BALANCED = 2; // 0x2
+    field public static final int BREAK_STRATEGY_HIGH_QUALITY = 1; // 0x1
+    field public static final int BREAK_STRATEGY_SIMPLE = 0; // 0x0
+    field public static final int HYPHENATION_FREQUENCY_FULL = 2; // 0x2
+    field public static final int HYPHENATION_FREQUENCY_NONE = 0; // 0x0
+    field public static final int HYPHENATION_FREQUENCY_NORMAL = 1; // 0x1
+    field public static final int JUSTIFICATION_MODE_INTER_WORD = 1; // 0x1
+    field public static final int JUSTIFICATION_MODE_NONE = 0; // 0x0
+  }
+
+  public static final class LineBreaker.Builder {
+    ctor public LineBreaker.Builder();
+    method @NonNull public android.graphics.text.LineBreaker build();
+    method @NonNull public android.graphics.text.LineBreaker.Builder setBreakStrategy(int);
+    method @NonNull public android.graphics.text.LineBreaker.Builder setHyphenationFrequency(int);
+    method @NonNull public android.graphics.text.LineBreaker.Builder setIndents(@Nullable int[]);
+    method @NonNull public android.graphics.text.LineBreaker.Builder setJustificationMode(int);
+  }
+
+  public static class LineBreaker.ParagraphConstraints {
+    ctor public LineBreaker.ParagraphConstraints();
+    method @FloatRange(from=0) @Px public float getDefaultTabStop();
+    method @FloatRange(from=0.0f) @Px public float getFirstWidth();
+    method @IntRange(from=0) @Px public int getFirstWidthLineCount();
+    method @Nullable public float[] getTabStops();
+    method @FloatRange(from=0.0f) @Px public float getWidth();
+    method public void setIndent(@FloatRange(from=0.0f) @Px float, @IntRange(from=0) @Px int);
+    method public void setTabStops(@Nullable float[], @FloatRange(from=0) @Px float);
+    method public void setWidth(@FloatRange(from=0.0f) @Px float);
+  }
+
+  public static class LineBreaker.Result {
+    method public int getEndLineHyphenEdit(int);
+    method @Px public float getLineAscent(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getLineBreakOffset(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getLineCount();
+    method @Px public float getLineDescent(@IntRange(from=0) int);
+    method @Px public float getLineWidth(@IntRange(from=0) int);
+    method public int getStartLineHyphenEdit(int);
+    method public boolean hasLineTab(int);
+  }
+
+  public class MeasuredText {
+    method public void getBounds(@IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.graphics.Rect);
+    method @FloatRange(from=0.0f) @Px public float getCharWidthAt(@IntRange(from=0) int);
+    method @FloatRange(from=0.0) @Px public float getWidth(@IntRange(from=0) int, @IntRange(from=0) int);
+  }
+
+  public static final class MeasuredText.Builder {
+    ctor public MeasuredText.Builder(@NonNull char[]);
+    ctor public MeasuredText.Builder(@NonNull android.graphics.text.MeasuredText);
+    method @NonNull public android.graphics.text.MeasuredText.Builder appendReplacementRun(@NonNull android.graphics.Paint, @IntRange(from=0) int, @FloatRange(from=0) @Px float);
+    method @NonNull public android.graphics.text.MeasuredText.Builder appendStyleRun(@NonNull android.graphics.Paint, @IntRange(from=0) int, boolean);
+    method @NonNull public android.graphics.text.MeasuredText build();
+    method @NonNull public android.graphics.text.MeasuredText.Builder setComputeHyphenation(boolean);
+    method @NonNull public android.graphics.text.MeasuredText.Builder setComputeLayout(boolean);
+  }
+
+  public final class PositionedGlyphs {
+    method public float getAdvance();
+    method public float getAscent();
+    method public float getDescent();
+    method @NonNull public android.graphics.fonts.Font getFont(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getGlyphId(@IntRange(from=0) int);
+    method public float getGlyphX(@IntRange(from=0) int);
+    method public float getGlyphY(@IntRange(from=0) int);
+    method public float getOffsetX();
+    method public float getOffsetY();
+    method @IntRange(from=0) public int glyphCount();
+  }
+
+  public class TextRunShaper {
+    method @NonNull public static android.graphics.text.PositionedGlyphs shapeTextRun(@NonNull char[], int, int, int, int, float, float, boolean, @NonNull android.graphics.Paint);
+    method @NonNull public static android.graphics.text.PositionedGlyphs shapeTextRun(@NonNull CharSequence, int, int, int, int, float, float, boolean, @NonNull android.graphics.Paint);
+  }
+
+}
+
+package android.hardware {
+
+  public abstract class BatteryState {
+    ctor public BatteryState();
+    method @FloatRange(from=-1.0F, to=1.0f) public abstract float getCapacity();
+    method public abstract int getStatus();
+    method public abstract boolean isPresent();
+    field public static final int STATUS_CHARGING = 2; // 0x2
+    field public static final int STATUS_DISCHARGING = 3; // 0x3
+    field public static final int STATUS_FULL = 5; // 0x5
+    field public static final int STATUS_NOT_CHARGING = 4; // 0x4
+    field public static final int STATUS_UNKNOWN = 1; // 0x1
+  }
+
+  @Deprecated public class Camera {
+    method @Deprecated public final void addCallbackBuffer(byte[]);
+    method @Deprecated public final void autoFocus(android.hardware.Camera.AutoFocusCallback);
+    method @Deprecated public final void cancelAutoFocus();
+    method @Deprecated public final boolean enableShutterSound(boolean);
+    method @Deprecated protected void finalize();
+    method @Deprecated public static void getCameraInfo(int, android.hardware.Camera.CameraInfo);
+    method @Deprecated public static int getNumberOfCameras();
+    method @Deprecated public android.hardware.Camera.Parameters getParameters();
+    method @Deprecated public final void lock();
+    method @Deprecated public static android.hardware.Camera open(int);
+    method @Deprecated public static android.hardware.Camera open();
+    method @Deprecated public final void reconnect() throws java.io.IOException;
+    method @Deprecated public final void release();
+    method @Deprecated public void setAutoFocusMoveCallback(android.hardware.Camera.AutoFocusMoveCallback);
+    method @Deprecated public final void setDisplayOrientation(int);
+    method @Deprecated public final void setErrorCallback(android.hardware.Camera.ErrorCallback);
+    method @Deprecated public final void setFaceDetectionListener(android.hardware.Camera.FaceDetectionListener);
+    method @Deprecated public final void setOneShotPreviewCallback(android.hardware.Camera.PreviewCallback);
+    method @Deprecated public void setParameters(android.hardware.Camera.Parameters);
+    method @Deprecated public final void setPreviewCallback(android.hardware.Camera.PreviewCallback);
+    method @Deprecated public final void setPreviewCallbackWithBuffer(android.hardware.Camera.PreviewCallback);
+    method @Deprecated public final void setPreviewDisplay(android.view.SurfaceHolder) throws java.io.IOException;
+    method @Deprecated public final void setPreviewTexture(android.graphics.SurfaceTexture) throws java.io.IOException;
+    method @Deprecated public final void setZoomChangeListener(android.hardware.Camera.OnZoomChangeListener);
+    method @Deprecated public final void startFaceDetection();
+    method @Deprecated public final void startPreview();
+    method @Deprecated public final void startSmoothZoom(int);
+    method @Deprecated public final void stopFaceDetection();
+    method @Deprecated public final void stopPreview();
+    method @Deprecated public final void stopSmoothZoom();
+    method @Deprecated public final void takePicture(android.hardware.Camera.ShutterCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback);
+    method @Deprecated public final void takePicture(android.hardware.Camera.ShutterCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback);
+    method @Deprecated public final void unlock();
+    field @Deprecated public static final String ACTION_NEW_PICTURE = "android.hardware.action.NEW_PICTURE";
+    field @Deprecated public static final String ACTION_NEW_VIDEO = "android.hardware.action.NEW_VIDEO";
+    field @Deprecated public static final int CAMERA_ERROR_EVICTED = 2; // 0x2
+    field @Deprecated public static final int CAMERA_ERROR_SERVER_DIED = 100; // 0x64
+    field @Deprecated public static final int CAMERA_ERROR_UNKNOWN = 1; // 0x1
+  }
+
+  @Deprecated public static class Camera.Area {
+    ctor @Deprecated public Camera.Area(android.graphics.Rect, int);
+    field @Deprecated public android.graphics.Rect rect;
+    field @Deprecated public int weight;
+  }
+
+  @Deprecated public static interface Camera.AutoFocusCallback {
+    method @Deprecated public void onAutoFocus(boolean, android.hardware.Camera);
+  }
+
+  @Deprecated public static interface Camera.AutoFocusMoveCallback {
+    method @Deprecated public void onAutoFocusMoving(boolean, android.hardware.Camera);
+  }
+
+  @Deprecated public static class Camera.CameraInfo {
+    ctor @Deprecated public Camera.CameraInfo();
+    field @Deprecated public static final int CAMERA_FACING_BACK = 0; // 0x0
+    field @Deprecated public static final int CAMERA_FACING_FRONT = 1; // 0x1
+    field @Deprecated public boolean canDisableShutterSound;
+    field @Deprecated public int facing;
+    field @Deprecated public int orientation;
+  }
+
+  @Deprecated public static interface Camera.ErrorCallback {
+    method @Deprecated public void onError(int, android.hardware.Camera);
+  }
+
+  @Deprecated public static class Camera.Face {
+    ctor @Deprecated public Camera.Face();
+    field @Deprecated public int id;
+    field @Deprecated public android.graphics.Point leftEye;
+    field @Deprecated public android.graphics.Point mouth;
+    field @Deprecated public android.graphics.Rect rect;
+    field @Deprecated public android.graphics.Point rightEye;
+    field @Deprecated public int score;
+  }
+
+  @Deprecated public static interface Camera.FaceDetectionListener {
+    method @Deprecated public void onFaceDetection(android.hardware.Camera.Face[], android.hardware.Camera);
+  }
+
+  @Deprecated public static interface Camera.OnZoomChangeListener {
+    method @Deprecated public void onZoomChange(int, boolean, android.hardware.Camera);
+  }
+
+  @Deprecated public class Camera.Parameters {
+    method @Deprecated public String flatten();
+    method @Deprecated public String get(String);
+    method @Deprecated public String getAntibanding();
+    method @Deprecated public boolean getAutoExposureLock();
+    method @Deprecated public boolean getAutoWhiteBalanceLock();
+    method @Deprecated public String getColorEffect();
+    method @Deprecated public int getExposureCompensation();
+    method @Deprecated public float getExposureCompensationStep();
+    method @Deprecated public String getFlashMode();
+    method @Deprecated public float getFocalLength();
+    method @Deprecated public java.util.List<android.hardware.Camera.Area> getFocusAreas();
+    method @Deprecated public void getFocusDistances(float[]);
+    method @Deprecated public String getFocusMode();
+    method @Deprecated public float getHorizontalViewAngle();
+    method @Deprecated public int getInt(String);
+    method @Deprecated public int getJpegQuality();
+    method @Deprecated public int getJpegThumbnailQuality();
+    method @Deprecated public android.hardware.Camera.Size getJpegThumbnailSize();
+    method @Deprecated public int getMaxExposureCompensation();
+    method @Deprecated public int getMaxNumDetectedFaces();
+    method @Deprecated public int getMaxNumFocusAreas();
+    method @Deprecated public int getMaxNumMeteringAreas();
+    method @Deprecated public int getMaxZoom();
+    method @Deprecated public java.util.List<android.hardware.Camera.Area> getMeteringAreas();
+    method @Deprecated public int getMinExposureCompensation();
+    method @Deprecated public int getPictureFormat();
+    method @Deprecated public android.hardware.Camera.Size getPictureSize();
+    method @Deprecated public android.hardware.Camera.Size getPreferredPreviewSizeForVideo();
+    method @Deprecated public int getPreviewFormat();
+    method @Deprecated public void getPreviewFpsRange(int[]);
+    method @Deprecated public int getPreviewFrameRate();
+    method @Deprecated public android.hardware.Camera.Size getPreviewSize();
+    method @Deprecated public String getSceneMode();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedAntibanding();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedColorEffects();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedFlashModes();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedFocusModes();
+    method @Deprecated public java.util.List<android.hardware.Camera.Size> getSupportedJpegThumbnailSizes();
+    method @Deprecated public java.util.List<java.lang.Integer> getSupportedPictureFormats();
+    method @Deprecated public java.util.List<android.hardware.Camera.Size> getSupportedPictureSizes();
+    method @Deprecated public java.util.List<java.lang.Integer> getSupportedPreviewFormats();
+    method @Deprecated public java.util.List<int[]> getSupportedPreviewFpsRange();
+    method @Deprecated public java.util.List<java.lang.Integer> getSupportedPreviewFrameRates();
+    method @Deprecated public java.util.List<android.hardware.Camera.Size> getSupportedPreviewSizes();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedSceneModes();
+    method @Deprecated public java.util.List<android.hardware.Camera.Size> getSupportedVideoSizes();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedWhiteBalance();
+    method @Deprecated public float getVerticalViewAngle();
+    method @Deprecated public boolean getVideoStabilization();
+    method @Deprecated public String getWhiteBalance();
+    method @Deprecated public int getZoom();
+    method @Deprecated public java.util.List<java.lang.Integer> getZoomRatios();
+    method @Deprecated public boolean isAutoExposureLockSupported();
+    method @Deprecated public boolean isAutoWhiteBalanceLockSupported();
+    method @Deprecated public boolean isSmoothZoomSupported();
+    method @Deprecated public boolean isVideoSnapshotSupported();
+    method @Deprecated public boolean isVideoStabilizationSupported();
+    method @Deprecated public boolean isZoomSupported();
+    method @Deprecated public void remove(String);
+    method @Deprecated public void removeGpsData();
+    method @Deprecated public void set(String, String);
+    method @Deprecated public void set(String, int);
+    method @Deprecated public void setAntibanding(String);
+    method @Deprecated public void setAutoExposureLock(boolean);
+    method @Deprecated public void setAutoWhiteBalanceLock(boolean);
+    method @Deprecated public void setColorEffect(String);
+    method @Deprecated public void setExposureCompensation(int);
+    method @Deprecated public void setFlashMode(String);
+    method @Deprecated public void setFocusAreas(java.util.List<android.hardware.Camera.Area>);
+    method @Deprecated public void setFocusMode(String);
+    method @Deprecated public void setGpsAltitude(double);
+    method @Deprecated public void setGpsLatitude(double);
+    method @Deprecated public void setGpsLongitude(double);
+    method @Deprecated public void setGpsProcessingMethod(String);
+    method @Deprecated public void setGpsTimestamp(long);
+    method @Deprecated public void setJpegQuality(int);
+    method @Deprecated public void setJpegThumbnailQuality(int);
+    method @Deprecated public void setJpegThumbnailSize(int, int);
+    method @Deprecated public void setMeteringAreas(java.util.List<android.hardware.Camera.Area>);
+    method @Deprecated public void setPictureFormat(int);
+    method @Deprecated public void setPictureSize(int, int);
+    method @Deprecated public void setPreviewFormat(int);
+    method @Deprecated public void setPreviewFpsRange(int, int);
+    method @Deprecated public void setPreviewFrameRate(int);
+    method @Deprecated public void setPreviewSize(int, int);
+    method @Deprecated public void setRecordingHint(boolean);
+    method @Deprecated public void setRotation(int);
+    method @Deprecated public void setSceneMode(String);
+    method @Deprecated public void setVideoStabilization(boolean);
+    method @Deprecated public void setWhiteBalance(String);
+    method @Deprecated public void setZoom(int);
+    method @Deprecated public void unflatten(String);
+    field @Deprecated public static final String ANTIBANDING_50HZ = "50hz";
+    field @Deprecated public static final String ANTIBANDING_60HZ = "60hz";
+    field @Deprecated public static final String ANTIBANDING_AUTO = "auto";
+    field @Deprecated public static final String ANTIBANDING_OFF = "off";
+    field @Deprecated public static final String EFFECT_AQUA = "aqua";
+    field @Deprecated public static final String EFFECT_BLACKBOARD = "blackboard";
+    field @Deprecated public static final String EFFECT_MONO = "mono";
+    field @Deprecated public static final String EFFECT_NEGATIVE = "negative";
+    field @Deprecated public static final String EFFECT_NONE = "none";
+    field @Deprecated public static final String EFFECT_POSTERIZE = "posterize";
+    field @Deprecated public static final String EFFECT_SEPIA = "sepia";
+    field @Deprecated public static final String EFFECT_SOLARIZE = "solarize";
+    field @Deprecated public static final String EFFECT_WHITEBOARD = "whiteboard";
+    field @Deprecated public static final String FLASH_MODE_AUTO = "auto";
+    field @Deprecated public static final String FLASH_MODE_OFF = "off";
+    field @Deprecated public static final String FLASH_MODE_ON = "on";
+    field @Deprecated public static final String FLASH_MODE_RED_EYE = "red-eye";
+    field @Deprecated public static final String FLASH_MODE_TORCH = "torch";
+    field @Deprecated public static final int FOCUS_DISTANCE_FAR_INDEX = 2; // 0x2
+    field @Deprecated public static final int FOCUS_DISTANCE_NEAR_INDEX = 0; // 0x0
+    field @Deprecated public static final int FOCUS_DISTANCE_OPTIMAL_INDEX = 1; // 0x1
+    field @Deprecated public static final String FOCUS_MODE_AUTO = "auto";
+    field @Deprecated public static final String FOCUS_MODE_CONTINUOUS_PICTURE = "continuous-picture";
+    field @Deprecated public static final String FOCUS_MODE_CONTINUOUS_VIDEO = "continuous-video";
+    field @Deprecated public static final String FOCUS_MODE_EDOF = "edof";
+    field @Deprecated public static final String FOCUS_MODE_FIXED = "fixed";
+    field @Deprecated public static final String FOCUS_MODE_INFINITY = "infinity";
+    field @Deprecated public static final String FOCUS_MODE_MACRO = "macro";
+    field @Deprecated public static final int PREVIEW_FPS_MAX_INDEX = 1; // 0x1
+    field @Deprecated public static final int PREVIEW_FPS_MIN_INDEX = 0; // 0x0
+    field @Deprecated public static final String SCENE_MODE_ACTION = "action";
+    field @Deprecated public static final String SCENE_MODE_AUTO = "auto";
+    field @Deprecated public static final String SCENE_MODE_BARCODE = "barcode";
+    field @Deprecated public static final String SCENE_MODE_BEACH = "beach";
+    field @Deprecated public static final String SCENE_MODE_CANDLELIGHT = "candlelight";
+    field @Deprecated public static final String SCENE_MODE_FIREWORKS = "fireworks";
+    field @Deprecated public static final String SCENE_MODE_HDR = "hdr";
+    field @Deprecated public static final String SCENE_MODE_LANDSCAPE = "landscape";
+    field @Deprecated public static final String SCENE_MODE_NIGHT = "night";
+    field @Deprecated public static final String SCENE_MODE_NIGHT_PORTRAIT = "night-portrait";
+    field @Deprecated public static final String SCENE_MODE_PARTY = "party";
+    field @Deprecated public static final String SCENE_MODE_PORTRAIT = "portrait";
+    field @Deprecated public static final String SCENE_MODE_SNOW = "snow";
+    field @Deprecated public static final String SCENE_MODE_SPORTS = "sports";
+    field @Deprecated public static final String SCENE_MODE_STEADYPHOTO = "steadyphoto";
+    field @Deprecated public static final String SCENE_MODE_SUNSET = "sunset";
+    field @Deprecated public static final String SCENE_MODE_THEATRE = "theatre";
+    field @Deprecated public static final String WHITE_BALANCE_AUTO = "auto";
+    field @Deprecated public static final String WHITE_BALANCE_CLOUDY_DAYLIGHT = "cloudy-daylight";
+    field @Deprecated public static final String WHITE_BALANCE_DAYLIGHT = "daylight";
+    field @Deprecated public static final String WHITE_BALANCE_FLUORESCENT = "fluorescent";
+    field @Deprecated public static final String WHITE_BALANCE_INCANDESCENT = "incandescent";
+    field @Deprecated public static final String WHITE_BALANCE_SHADE = "shade";
+    field @Deprecated public static final String WHITE_BALANCE_TWILIGHT = "twilight";
+    field @Deprecated public static final String WHITE_BALANCE_WARM_FLUORESCENT = "warm-fluorescent";
+  }
+
+  @Deprecated public static interface Camera.PictureCallback {
+    method @Deprecated public void onPictureTaken(byte[], android.hardware.Camera);
+  }
+
+  @Deprecated public static interface Camera.PreviewCallback {
+    method @Deprecated public void onPreviewFrame(byte[], android.hardware.Camera);
+  }
+
+  @Deprecated public static interface Camera.ShutterCallback {
+    method @Deprecated public void onShutter();
+  }
+
+  @Deprecated public class Camera.Size {
+    ctor @Deprecated public Camera.Size(int, int);
+    field @Deprecated public int height;
+    field @Deprecated public int width;
+  }
+
+  public final class ConsumerIrManager {
+    method public android.hardware.ConsumerIrManager.CarrierFrequencyRange[] getCarrierFrequencies();
+    method public boolean hasIrEmitter();
+    method public void transmit(int, int[]);
+  }
+
+  public final class ConsumerIrManager.CarrierFrequencyRange {
+    ctor public ConsumerIrManager.CarrierFrequencyRange(int, int);
+    method public int getMaxFrequency();
+    method public int getMinFrequency();
+  }
+
+  public class GeomagneticField {
+    ctor public GeomagneticField(float, float, float, long);
+    method public float getDeclination();
+    method public float getFieldStrength();
+    method public float getHorizontalStrength();
+    method public float getInclination();
+    method public float getX();
+    method public float getY();
+    method public float getZ();
+  }
+
+  public final class HardwareBuffer implements java.lang.AutoCloseable android.os.Parcelable {
+    method public void close();
+    method @NonNull public static android.hardware.HardwareBuffer create(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int, long);
+    method public int describeContents();
+    method public int getFormat();
+    method public int getHeight();
+    method public int getLayers();
+    method public long getUsage();
+    method public int getWidth();
+    method public boolean isClosed();
+    method public static boolean isSupported(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int, long);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int BLOB = 33; // 0x21
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.HardwareBuffer> CREATOR;
+    field public static final int DS_24UI8 = 50; // 0x32
+    field public static final int DS_FP32UI8 = 52; // 0x34
+    field public static final int D_16 = 48; // 0x30
+    field public static final int D_24 = 49; // 0x31
+    field public static final int D_FP32 = 51; // 0x33
+    field public static final int RGBA_1010102 = 43; // 0x2b
+    field public static final int RGBA_8888 = 1; // 0x1
+    field public static final int RGBA_FP16 = 22; // 0x16
+    field public static final int RGBX_8888 = 2; // 0x2
+    field public static final int RGB_565 = 4; // 0x4
+    field public static final int RGB_888 = 3; // 0x3
+    field public static final int S_UI8 = 53; // 0x35
+    field public static final long USAGE_CPU_READ_OFTEN = 3L; // 0x3L
+    field public static final long USAGE_CPU_READ_RARELY = 2L; // 0x2L
+    field public static final long USAGE_CPU_WRITE_OFTEN = 48L; // 0x30L
+    field public static final long USAGE_CPU_WRITE_RARELY = 32L; // 0x20L
+    field public static final long USAGE_GPU_COLOR_OUTPUT = 512L; // 0x200L
+    field public static final long USAGE_GPU_CUBE_MAP = 33554432L; // 0x2000000L
+    field public static final long USAGE_GPU_DATA_BUFFER = 16777216L; // 0x1000000L
+    field public static final long USAGE_GPU_MIPMAP_COMPLETE = 67108864L; // 0x4000000L
+    field public static final long USAGE_GPU_SAMPLED_IMAGE = 256L; // 0x100L
+    field public static final long USAGE_PROTECTED_CONTENT = 16384L; // 0x4000L
+    field public static final long USAGE_SENSOR_DIRECT_DATA = 8388608L; // 0x800000L
+    field public static final long USAGE_VIDEO_ENCODE = 65536L; // 0x10000L
+    field public static final int YCBCR_420_888 = 35; // 0x23
+  }
+
+  public final class Sensor {
+    method public int getFifoMaxEventCount();
+    method public int getFifoReservedEventCount();
+    method public int getHighestDirectReportRateLevel();
+    method public int getId();
+    method public int getMaxDelay();
+    method public float getMaximumRange();
+    method public int getMinDelay();
+    method public String getName();
+    method public float getPower();
+    method public int getReportingMode();
+    method public float getResolution();
+    method public String getStringType();
+    method public int getType();
+    method public String getVendor();
+    method public int getVersion();
+    method public boolean isAdditionalInfoSupported();
+    method public boolean isDirectChannelTypeSupported(int);
+    method public boolean isDynamicSensor();
+    method public boolean isWakeUpSensor();
+    field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0
+    field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2
+    field public static final int REPORTING_MODE_ON_CHANGE = 1; // 0x1
+    field public static final int REPORTING_MODE_SPECIAL_TRIGGER = 3; // 0x3
+    field public static final String STRING_TYPE_ACCELEROMETER = "android.sensor.accelerometer";
+    field public static final String STRING_TYPE_ACCELEROMETER_UNCALIBRATED = "android.sensor.accelerometer_uncalibrated";
+    field public static final String STRING_TYPE_AMBIENT_TEMPERATURE = "android.sensor.ambient_temperature";
+    field public static final String STRING_TYPE_GAME_ROTATION_VECTOR = "android.sensor.game_rotation_vector";
+    field public static final String STRING_TYPE_GEOMAGNETIC_ROTATION_VECTOR = "android.sensor.geomagnetic_rotation_vector";
+    field public static final String STRING_TYPE_GRAVITY = "android.sensor.gravity";
+    field public static final String STRING_TYPE_GYROSCOPE = "android.sensor.gyroscope";
+    field public static final String STRING_TYPE_GYROSCOPE_UNCALIBRATED = "android.sensor.gyroscope_uncalibrated";
+    field public static final String STRING_TYPE_HEART_BEAT = "android.sensor.heart_beat";
+    field public static final String STRING_TYPE_HEART_RATE = "android.sensor.heart_rate";
+    field public static final String STRING_TYPE_HINGE_ANGLE = "android.sensor.hinge_angle";
+    field public static final String STRING_TYPE_LIGHT = "android.sensor.light";
+    field public static final String STRING_TYPE_LINEAR_ACCELERATION = "android.sensor.linear_acceleration";
+    field public static final String STRING_TYPE_LOW_LATENCY_OFFBODY_DETECT = "android.sensor.low_latency_offbody_detect";
+    field public static final String STRING_TYPE_MAGNETIC_FIELD = "android.sensor.magnetic_field";
+    field public static final String STRING_TYPE_MAGNETIC_FIELD_UNCALIBRATED = "android.sensor.magnetic_field_uncalibrated";
+    field public static final String STRING_TYPE_MOTION_DETECT = "android.sensor.motion_detect";
+    field @Deprecated public static final String STRING_TYPE_ORIENTATION = "android.sensor.orientation";
+    field public static final String STRING_TYPE_POSE_6DOF = "android.sensor.pose_6dof";
+    field public static final String STRING_TYPE_PRESSURE = "android.sensor.pressure";
+    field public static final String STRING_TYPE_PROXIMITY = "android.sensor.proximity";
+    field public static final String STRING_TYPE_RELATIVE_HUMIDITY = "android.sensor.relative_humidity";
+    field public static final String STRING_TYPE_ROTATION_VECTOR = "android.sensor.rotation_vector";
+    field public static final String STRING_TYPE_SIGNIFICANT_MOTION = "android.sensor.significant_motion";
+    field public static final String STRING_TYPE_STATIONARY_DETECT = "android.sensor.stationary_detect";
+    field public static final String STRING_TYPE_STEP_COUNTER = "android.sensor.step_counter";
+    field public static final String STRING_TYPE_STEP_DETECTOR = "android.sensor.step_detector";
+    field @Deprecated public static final String STRING_TYPE_TEMPERATURE = "android.sensor.temperature";
+    field public static final int TYPE_ACCELEROMETER = 1; // 0x1
+    field public static final int TYPE_ACCELEROMETER_UNCALIBRATED = 35; // 0x23
+    field public static final int TYPE_ALL = -1; // 0xffffffff
+    field public static final int TYPE_AMBIENT_TEMPERATURE = 13; // 0xd
+    field public static final int TYPE_DEVICE_PRIVATE_BASE = 65536; // 0x10000
+    field public static final int TYPE_GAME_ROTATION_VECTOR = 15; // 0xf
+    field public static final int TYPE_GEOMAGNETIC_ROTATION_VECTOR = 20; // 0x14
+    field public static final int TYPE_GRAVITY = 9; // 0x9
+    field public static final int TYPE_GYROSCOPE = 4; // 0x4
+    field public static final int TYPE_GYROSCOPE_UNCALIBRATED = 16; // 0x10
+    field public static final int TYPE_HEART_BEAT = 31; // 0x1f
+    field public static final int TYPE_HEART_RATE = 21; // 0x15
+    field public static final int TYPE_HINGE_ANGLE = 36; // 0x24
+    field public static final int TYPE_LIGHT = 5; // 0x5
+    field public static final int TYPE_LINEAR_ACCELERATION = 10; // 0xa
+    field public static final int TYPE_LOW_LATENCY_OFFBODY_DETECT = 34; // 0x22
+    field public static final int TYPE_MAGNETIC_FIELD = 2; // 0x2
+    field public static final int TYPE_MAGNETIC_FIELD_UNCALIBRATED = 14; // 0xe
+    field public static final int TYPE_MOTION_DETECT = 30; // 0x1e
+    field @Deprecated public static final int TYPE_ORIENTATION = 3; // 0x3
+    field public static final int TYPE_POSE_6DOF = 28; // 0x1c
+    field public static final int TYPE_PRESSURE = 6; // 0x6
+    field public static final int TYPE_PROXIMITY = 8; // 0x8
+    field public static final int TYPE_RELATIVE_HUMIDITY = 12; // 0xc
+    field public static final int TYPE_ROTATION_VECTOR = 11; // 0xb
+    field public static final int TYPE_SIGNIFICANT_MOTION = 17; // 0x11
+    field public static final int TYPE_STATIONARY_DETECT = 29; // 0x1d
+    field public static final int TYPE_STEP_COUNTER = 19; // 0x13
+    field public static final int TYPE_STEP_DETECTOR = 18; // 0x12
+    field @Deprecated public static final int TYPE_TEMPERATURE = 7; // 0x7
+  }
+
+  public class SensorAdditionalInfo {
+    field public static final int TYPE_FRAME_BEGIN = 0; // 0x0
+    field public static final int TYPE_FRAME_END = 1; // 0x1
+    field public static final int TYPE_INTERNAL_TEMPERATURE = 65537; // 0x10001
+    field public static final int TYPE_SAMPLING = 65540; // 0x10004
+    field public static final int TYPE_SENSOR_PLACEMENT = 65539; // 0x10003
+    field public static final int TYPE_UNTRACKED_DELAY = 65536; // 0x10000
+    field public static final int TYPE_VEC3_CALIBRATION = 65538; // 0x10002
+    field public final float[] floatValues;
+    field public final int[] intValues;
+    field public final android.hardware.Sensor sensor;
+    field public final int serial;
+    field public final int type;
+  }
+
+  public final class SensorDirectChannel implements java.nio.channels.Channel {
+    method public void close();
+    method public int configure(android.hardware.Sensor, int);
+    method public boolean isOpen();
+    field public static final int RATE_FAST = 2; // 0x2
+    field public static final int RATE_NORMAL = 1; // 0x1
+    field public static final int RATE_STOP = 0; // 0x0
+    field public static final int RATE_VERY_FAST = 3; // 0x3
+    field public static final int TYPE_HARDWARE_BUFFER = 2; // 0x2
+    field public static final int TYPE_MEMORY_FILE = 1; // 0x1
+  }
+
+  public class SensorEvent {
+    field public int accuracy;
+    field public android.hardware.Sensor sensor;
+    field public long timestamp;
+    field public final float[] values;
+  }
+
+  public abstract class SensorEventCallback implements android.hardware.SensorEventListener2 {
+    ctor public SensorEventCallback();
+    method public void onAccuracyChanged(android.hardware.Sensor, int);
+    method public void onFlushCompleted(android.hardware.Sensor);
+    method public void onSensorAdditionalInfo(android.hardware.SensorAdditionalInfo);
+    method public void onSensorChanged(android.hardware.SensorEvent);
+  }
+
+  public interface SensorEventListener {
+    method public void onAccuracyChanged(android.hardware.Sensor, int);
+    method public void onSensorChanged(android.hardware.SensorEvent);
+  }
+
+  public interface SensorEventListener2 extends android.hardware.SensorEventListener {
+    method public void onFlushCompleted(android.hardware.Sensor);
+  }
+
+  @Deprecated public interface SensorListener {
+    method @Deprecated public void onAccuracyChanged(int, int);
+    method @Deprecated public void onSensorChanged(int, float[]);
+  }
+
+  public abstract class SensorManager {
+    method public boolean cancelTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor);
+    method public android.hardware.SensorDirectChannel createDirectChannel(android.os.MemoryFile);
+    method public android.hardware.SensorDirectChannel createDirectChannel(android.hardware.HardwareBuffer);
+    method public boolean flush(android.hardware.SensorEventListener);
+    method public static float getAltitude(float, float);
+    method public static void getAngleChange(float[], float[], float[]);
+    method public android.hardware.Sensor getDefaultSensor(int);
+    method public android.hardware.Sensor getDefaultSensor(int, boolean);
+    method public java.util.List<android.hardware.Sensor> getDynamicSensorList(int);
+    method public static float getInclination(float[]);
+    method public static float[] getOrientation(float[], float[]);
+    method public static void getQuaternionFromVector(float[], float[]);
+    method public static boolean getRotationMatrix(float[], float[], float[], float[]);
+    method public static void getRotationMatrixFromVector(float[], float[]);
+    method public java.util.List<android.hardware.Sensor> getSensorList(int);
+    method @Deprecated public int getSensors();
+    method public boolean isDynamicSensorDiscoverySupported();
+    method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback);
+    method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler);
+    method @Deprecated public boolean registerListener(android.hardware.SensorListener, int);
+    method @Deprecated public boolean registerListener(android.hardware.SensorListener, int, int);
+    method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int);
+    method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int);
+    method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, android.os.Handler);
+    method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler);
+    method public static boolean remapCoordinateSystem(float[], int, int, float[]);
+    method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor);
+    method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback);
+    method @Deprecated public void unregisterListener(android.hardware.SensorListener);
+    method @Deprecated public void unregisterListener(android.hardware.SensorListener, int);
+    method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor);
+    method public void unregisterListener(android.hardware.SensorEventListener);
+    field public static final int AXIS_MINUS_X = 129; // 0x81
+    field public static final int AXIS_MINUS_Y = 130; // 0x82
+    field public static final int AXIS_MINUS_Z = 131; // 0x83
+    field public static final int AXIS_X = 1; // 0x1
+    field public static final int AXIS_Y = 2; // 0x2
+    field public static final int AXIS_Z = 3; // 0x3
+    field @Deprecated public static final int DATA_X = 0; // 0x0
+    field @Deprecated public static final int DATA_Y = 1; // 0x1
+    field @Deprecated public static final int DATA_Z = 2; // 0x2
+    field public static final float GRAVITY_DEATH_STAR_I = 3.5303614E-7f;
+    field public static final float GRAVITY_EARTH = 9.80665f;
+    field public static final float GRAVITY_JUPITER = 23.12f;
+    field public static final float GRAVITY_MARS = 3.71f;
+    field public static final float GRAVITY_MERCURY = 3.7f;
+    field public static final float GRAVITY_MOON = 1.6f;
+    field public static final float GRAVITY_NEPTUNE = 11.0f;
+    field public static final float GRAVITY_PLUTO = 0.6f;
+    field public static final float GRAVITY_SATURN = 8.96f;
+    field public static final float GRAVITY_SUN = 275.0f;
+    field public static final float GRAVITY_THE_ISLAND = 4.815162f;
+    field public static final float GRAVITY_URANUS = 8.69f;
+    field public static final float GRAVITY_VENUS = 8.87f;
+    field public static final float LIGHT_CLOUDY = 100.0f;
+    field public static final float LIGHT_FULLMOON = 0.25f;
+    field public static final float LIGHT_NO_MOON = 0.001f;
+    field public static final float LIGHT_OVERCAST = 10000.0f;
+    field public static final float LIGHT_SHADE = 20000.0f;
+    field public static final float LIGHT_SUNLIGHT = 110000.0f;
+    field public static final float LIGHT_SUNLIGHT_MAX = 120000.0f;
+    field public static final float LIGHT_SUNRISE = 400.0f;
+    field public static final float MAGNETIC_FIELD_EARTH_MAX = 60.0f;
+    field public static final float MAGNETIC_FIELD_EARTH_MIN = 30.0f;
+    field public static final float PRESSURE_STANDARD_ATMOSPHERE = 1013.25f;
+    field @Deprecated public static final int RAW_DATA_INDEX = 3; // 0x3
+    field @Deprecated public static final int RAW_DATA_X = 3; // 0x3
+    field @Deprecated public static final int RAW_DATA_Y = 4; // 0x4
+    field @Deprecated public static final int RAW_DATA_Z = 5; // 0x5
+    field @Deprecated public static final int SENSOR_ACCELEROMETER = 2; // 0x2
+    field @Deprecated public static final int SENSOR_ALL = 127; // 0x7f
+    field public static final int SENSOR_DELAY_FASTEST = 0; // 0x0
+    field public static final int SENSOR_DELAY_GAME = 1; // 0x1
+    field public static final int SENSOR_DELAY_NORMAL = 3; // 0x3
+    field public static final int SENSOR_DELAY_UI = 2; // 0x2
+    field @Deprecated public static final int SENSOR_LIGHT = 16; // 0x10
+    field @Deprecated public static final int SENSOR_MAGNETIC_FIELD = 8; // 0x8
+    field @Deprecated public static final int SENSOR_MAX = 64; // 0x40
+    field @Deprecated public static final int SENSOR_MIN = 1; // 0x1
+    field @Deprecated public static final int SENSOR_ORIENTATION = 1; // 0x1
+    field @Deprecated public static final int SENSOR_ORIENTATION_RAW = 128; // 0x80
+    field @Deprecated public static final int SENSOR_PROXIMITY = 32; // 0x20
+    field public static final int SENSOR_STATUS_ACCURACY_HIGH = 3; // 0x3
+    field public static final int SENSOR_STATUS_ACCURACY_LOW = 1; // 0x1
+    field public static final int SENSOR_STATUS_ACCURACY_MEDIUM = 2; // 0x2
+    field public static final int SENSOR_STATUS_NO_CONTACT = -1; // 0xffffffff
+    field public static final int SENSOR_STATUS_UNRELIABLE = 0; // 0x0
+    field @Deprecated public static final int SENSOR_TEMPERATURE = 4; // 0x4
+    field @Deprecated public static final int SENSOR_TRICORDER = 64; // 0x40
+    field public static final float STANDARD_GRAVITY = 9.80665f;
+  }
+
+  public abstract static class SensorManager.DynamicSensorCallback {
+    ctor public SensorManager.DynamicSensorCallback();
+    method public void onDynamicSensorConnected(android.hardware.Sensor);
+    method public void onDynamicSensorDisconnected(android.hardware.Sensor);
+  }
+
+  public final class SensorPrivacyManager {
+    method public boolean supportsSensorToggle(int);
+  }
+
+  public static class SensorPrivacyManager.Sensors {
+    field public static final int CAMERA = 2; // 0x2
+    field public static final int MICROPHONE = 1; // 0x1
+  }
+
+  public final class TriggerEvent {
+    field public android.hardware.Sensor sensor;
+    field public long timestamp;
+    field public final float[] values;
+  }
+
+  public abstract class TriggerEventListener {
+    ctor public TriggerEventListener();
+    method public abstract void onTrigger(android.hardware.TriggerEvent);
+  }
+
+}
+
+package android.hardware.biometrics {
+
+  public class BiometricManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public int canAuthenticate();
+    method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public int canAuthenticate(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public android.hardware.biometrics.BiometricManager.Strings getStrings(int);
+    field public static final int BIOMETRIC_ERROR_HW_UNAVAILABLE = 1; // 0x1
+    field public static final int BIOMETRIC_ERROR_NONE_ENROLLED = 11; // 0xb
+    field public static final int BIOMETRIC_ERROR_NO_HARDWARE = 12; // 0xc
+    field public static final int BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
+    field public static final int BIOMETRIC_SUCCESS = 0; // 0x0
+  }
+
+  public static interface BiometricManager.Authenticators {
+    field public static final int BIOMETRIC_STRONG = 15; // 0xf
+    field public static final int BIOMETRIC_WEAK = 255; // 0xff
+    field public static final int DEVICE_CREDENTIAL = 32768; // 0x8000
+  }
+
+  public static class BiometricManager.Strings {
+    method @Nullable @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public CharSequence getButtonLabel();
+    method @Nullable @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public CharSequence getPromptMessage();
+    method @Nullable @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public CharSequence getSettingName();
+  }
+
+  public class BiometricPrompt {
+    method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public void authenticate(@NonNull android.hardware.biometrics.BiometricPrompt.CryptoObject, @NonNull android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.biometrics.BiometricPrompt.AuthenticationCallback);
+    method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public void authenticate(@NonNull android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.biometrics.BiometricPrompt.AuthenticationCallback);
+    method @Nullable public int getAllowedAuthenticators();
+    method @Nullable public CharSequence getDescription();
+    method @Nullable public CharSequence getNegativeButtonText();
+    method @Nullable public CharSequence getSubtitle();
+    method @NonNull public CharSequence getTitle();
+    method public boolean isConfirmationRequired();
+    field public static final int AUTHENTICATION_RESULT_TYPE_BIOMETRIC = 2; // 0x2
+    field public static final int AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL = 1; // 0x1
+    field public static final int BIOMETRIC_ACQUIRED_GOOD = 0; // 0x0
+    field public static final int BIOMETRIC_ACQUIRED_IMAGER_DIRTY = 3; // 0x3
+    field public static final int BIOMETRIC_ACQUIRED_INSUFFICIENT = 2; // 0x2
+    field public static final int BIOMETRIC_ACQUIRED_PARTIAL = 1; // 0x1
+    field public static final int BIOMETRIC_ACQUIRED_TOO_FAST = 5; // 0x5
+    field public static final int BIOMETRIC_ACQUIRED_TOO_SLOW = 4; // 0x4
+    field public static final int BIOMETRIC_ERROR_CANCELED = 5; // 0x5
+    field public static final int BIOMETRIC_ERROR_HW_NOT_PRESENT = 12; // 0xc
+    field public static final int BIOMETRIC_ERROR_HW_UNAVAILABLE = 1; // 0x1
+    field public static final int BIOMETRIC_ERROR_LOCKOUT = 7; // 0x7
+    field public static final int BIOMETRIC_ERROR_LOCKOUT_PERMANENT = 9; // 0x9
+    field public static final int BIOMETRIC_ERROR_NO_BIOMETRICS = 11; // 0xb
+    field public static final int BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL = 14; // 0xe
+    field public static final int BIOMETRIC_ERROR_NO_SPACE = 4; // 0x4
+    field public static final int BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
+    field public static final int BIOMETRIC_ERROR_TIMEOUT = 3; // 0x3
+    field public static final int BIOMETRIC_ERROR_UNABLE_TO_PROCESS = 2; // 0x2
+    field public static final int BIOMETRIC_ERROR_USER_CANCELED = 10; // 0xa
+    field public static final int BIOMETRIC_ERROR_VENDOR = 8; // 0x8
+  }
+
+  public abstract static class BiometricPrompt.AuthenticationCallback {
+    ctor public BiometricPrompt.AuthenticationCallback();
+    method public void onAuthenticationError(int, CharSequence);
+    method public void onAuthenticationFailed();
+    method public void onAuthenticationHelp(int, CharSequence);
+    method public void onAuthenticationSucceeded(android.hardware.biometrics.BiometricPrompt.AuthenticationResult);
+  }
+
+  public static class BiometricPrompt.AuthenticationResult {
+    method public int getAuthenticationType();
+    method public android.hardware.biometrics.BiometricPrompt.CryptoObject getCryptoObject();
+  }
+
+  public static class BiometricPrompt.Builder {
+    ctor public BiometricPrompt.Builder(android.content.Context);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt build();
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setAllowedAuthenticators(int);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setConfirmationRequired(boolean);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setDescription(@NonNull CharSequence);
+    method @Deprecated @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setDeviceCredentialAllowed(boolean);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setNegativeButton(@NonNull CharSequence, @NonNull java.util.concurrent.Executor, @NonNull android.content.DialogInterface.OnClickListener);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setSubtitle(@NonNull CharSequence);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setTitle(@NonNull CharSequence);
+  }
+
+  public static final class BiometricPrompt.CryptoObject {
+    ctor public BiometricPrompt.CryptoObject(@NonNull java.security.Signature);
+    ctor public BiometricPrompt.CryptoObject(@NonNull javax.crypto.Cipher);
+    ctor public BiometricPrompt.CryptoObject(@NonNull javax.crypto.Mac);
+    ctor public BiometricPrompt.CryptoObject(@NonNull android.security.identity.IdentityCredential);
+    method public javax.crypto.Cipher getCipher();
+    method @Nullable public android.security.identity.IdentityCredential getIdentityCredential();
+    method public javax.crypto.Mac getMac();
+    method public java.security.Signature getSignature();
+  }
+
+}
+
+package android.hardware.camera2 {
+
+  public class CameraAccessException extends android.util.AndroidException {
+    ctor public CameraAccessException(int);
+    ctor public CameraAccessException(int, String);
+    ctor public CameraAccessException(int, String, Throwable);
+    ctor public CameraAccessException(int, Throwable);
+    method public final int getReason();
+    field public static final int CAMERA_DISABLED = 1; // 0x1
+    field public static final int CAMERA_DISCONNECTED = 2; // 0x2
+    field public static final int CAMERA_ERROR = 3; // 0x3
+    field public static final int CAMERA_IN_USE = 4; // 0x4
+    field public static final int MAX_CAMERAS_IN_USE = 5; // 0x5
+  }
+
+  public abstract class CameraCaptureSession implements java.lang.AutoCloseable {
+    ctor public CameraCaptureSession();
+    method public abstract void abortCaptures() throws android.hardware.camera2.CameraAccessException;
+    method public abstract int capture(@NonNull android.hardware.camera2.CaptureRequest, @Nullable android.hardware.camera2.CameraCaptureSession.CaptureCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public abstract int captureBurst(@NonNull java.util.List<android.hardware.camera2.CaptureRequest>, @Nullable android.hardware.camera2.CameraCaptureSession.CaptureCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public int captureBurstRequests(@NonNull java.util.List<android.hardware.camera2.CaptureRequest>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.CaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public int captureSingleRequest(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.CaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public abstract void close();
+    method public abstract void finalizeOutputConfigurations(java.util.List<android.hardware.camera2.params.OutputConfiguration>) throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public abstract android.hardware.camera2.CameraDevice getDevice();
+    method @Nullable public abstract android.view.Surface getInputSurface();
+    method public abstract boolean isReprocessable();
+    method public abstract void prepare(@NonNull android.view.Surface) throws android.hardware.camera2.CameraAccessException;
+    method public abstract int setRepeatingBurst(@NonNull java.util.List<android.hardware.camera2.CaptureRequest>, @Nullable android.hardware.camera2.CameraCaptureSession.CaptureCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public int setRepeatingBurstRequests(@NonNull java.util.List<android.hardware.camera2.CaptureRequest>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.CaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public abstract int setRepeatingRequest(@NonNull android.hardware.camera2.CaptureRequest, @Nullable android.hardware.camera2.CameraCaptureSession.CaptureCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public int setSingleRepeatingRequest(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.CaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public abstract void stopRepeating() throws android.hardware.camera2.CameraAccessException;
+    method public boolean supportsOfflineProcessing(@NonNull android.view.Surface);
+    method @Nullable public android.hardware.camera2.CameraOfflineSession switchToOffline(@NonNull java.util.Collection<android.view.Surface>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraOfflineSession.CameraOfflineSessionCallback) throws android.hardware.camera2.CameraAccessException;
+    method public void updateOutputConfiguration(android.hardware.camera2.params.OutputConfiguration) throws android.hardware.camera2.CameraAccessException;
+  }
+
+  public abstract static class CameraCaptureSession.CaptureCallback {
+    ctor public CameraCaptureSession.CaptureCallback();
+    method public void onCaptureBufferLost(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.hardware.camera2.CaptureRequest, @NonNull android.view.Surface, long);
+    method public void onCaptureCompleted(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.hardware.camera2.CaptureRequest, @NonNull android.hardware.camera2.TotalCaptureResult);
+    method public void onCaptureFailed(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.hardware.camera2.CaptureRequest, @NonNull android.hardware.camera2.CaptureFailure);
+    method public void onCaptureProgressed(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.hardware.camera2.CaptureRequest, @NonNull android.hardware.camera2.CaptureResult);
+    method public void onCaptureSequenceAborted(@NonNull android.hardware.camera2.CameraCaptureSession, int);
+    method public void onCaptureSequenceCompleted(@NonNull android.hardware.camera2.CameraCaptureSession, int, long);
+    method public void onCaptureStarted(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.hardware.camera2.CaptureRequest, long, long);
+  }
+
+  public abstract static class CameraCaptureSession.StateCallback {
+    ctor public CameraCaptureSession.StateCallback();
+    method public void onActive(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public void onCaptureQueueEmpty(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public void onClosed(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public abstract void onConfigureFailed(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public abstract void onConfigured(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public void onReady(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public void onSurfacePrepared(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.view.Surface);
+  }
+
+  public final class CameraCharacteristics extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CameraCharacteristics.Key<?>> {
+    method @Nullable public <T> T get(android.hardware.camera2.CameraCharacteristics.Key<T>);
+    method @NonNull public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailableCaptureRequestKeys();
+    method @NonNull public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getAvailableCaptureResultKeys();
+    method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailablePhysicalCameraRequestKeys();
+    method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailableSessionKeys();
+    method @NonNull public java.util.List<android.hardware.camera2.CameraCharacteristics.Key<?>> getKeys();
+    method @NonNull public java.util.List<android.hardware.camera2.CameraCharacteristics.Key<?>> getKeysNeedingPermission();
+    method @NonNull public java.util.Set<java.lang.String> getPhysicalCameraIds();
+    method @Nullable public android.hardware.camera2.params.RecommendedStreamConfigurationMap getRecommendedStreamConfigurationMap(int);
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>[]> CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_COMPENSATION_RANGE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Rational> CONTROL_AE_COMPENSATION_STEP;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> CONTROL_AE_LOCK_AVAILABLE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AF_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_EFFECTS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.Capability[]> CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_CAPABILITIES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_SCENE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AWB_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> CONTROL_AWB_LOCK_AVAILABLE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AF;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AWB;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Float>> CONTROL_ZOOM_RATIO_RANGE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> DEPTH_DEPTH_IS_EXCLUSIVE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> DISTORTION_CORRECTION_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> EDGE_AVAILABLE_EDGE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> FLASH_INFO_AVAILABLE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.DeviceStateSensorOrientationMap> INFO_DEVICE_STATE_SENSOR_ORIENTATION_MAP;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> INFO_SUPPORTED_HARDWARE_LEVEL;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.String> INFO_VERSION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size[]> JPEG_AVAILABLE_THUMBNAIL_SIZES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_DISTORTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_DISTORTION_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_FACING;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_APERTURES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_FILTER_DENSITIES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_FOCAL_LENGTHS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_INFO_FOCUS_DISTANCE_CALIBRATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_HYPERFOCAL_DISTANCE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INTRINSIC_CALIBRATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_POSE_REFERENCE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_ROTATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_TRANSLATION;
+    field @Deprecated @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_RADIAL_DISTORTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REPROCESS_MAX_CAPTURE_STALL;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> REQUEST_AVAILABLE_CAPABILITIES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_INPUT_STREAMS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_PROC;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_PROC_STALLING;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_RAW;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_PARTIAL_RESULT_COUNT;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> REQUEST_PIPELINE_MAX_DEPTH;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> SCALER_AVAILABLE_MAX_DIGITAL_ZOOM;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SCALER_AVAILABLE_ROTATE_AND_CROP_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SCALER_CROPPING_TYPE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size> SCALER_DEFAULT_SECURE_IMAGE_SIZE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_CONCURRENT_STREAM_COMBINATIONS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_MAXIMUM_RESOLUTION_STREAM_COMBINATIONS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_STREAM_COMBINATIONS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MultiResolutionStreamConfigurationMap> SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.StreamConfigurationMap> SCALER_STREAM_CONFIGURATION_MAP;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.StreamConfigurationMap> SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SENSOR_AVAILABLE_TEST_PATTERN_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_BLACK_LEVEL_PATTERN;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM1;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM2;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_COLOR_TRANSFORM1;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_COLOR_TRANSFORM2;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_FORWARD_MATRIX1;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_FORWARD_MATRIX2;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size> SENSOR_INFO_BINNING_FACTOR;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_COLOR_FILTER_ARRANGEMENT;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Long>> SENSOR_INFO_EXPOSURE_TIME_RANGE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> SENSOR_INFO_LENS_SHADING_APPLIED;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Long> SENSOR_INFO_MAX_FRAME_DURATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.SizeF> SENSOR_INFO_PHYSICAL_SIZE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size> SENSOR_INFO_PIXEL_ARRAY_SIZE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size> SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> SENSOR_INFO_SENSITIVITY_RANGE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_TIMESTAMP_SOURCE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_WHITE_LEVEL;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_MAX_ANALOG_SENSITIVITY;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_ORIENTATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_REFERENCE_ILLUMINANT1;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> SENSOR_REFERENCE_ILLUMINANT2;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SHADING_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<boolean[]> STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> STATISTICS_INFO_MAX_FACE_COUNT;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SYNC_MAX_LATENCY;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> TONEMAP_AVAILABLE_TONE_MAP_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> TONEMAP_MAX_CURVE_POINTS;
+  }
+
+  public static final class CameraCharacteristics.Key<T> {
+    ctor public CameraCharacteristics.Key(@NonNull String, @NonNull Class<T>);
+    method @NonNull public String getName();
+  }
+
+  public abstract class CameraConstrainedHighSpeedCaptureSession extends android.hardware.camera2.CameraCaptureSession {
+    ctor public CameraConstrainedHighSpeedCaptureSession();
+    method @NonNull public abstract java.util.List<android.hardware.camera2.CaptureRequest> createHighSpeedRequestList(@NonNull android.hardware.camera2.CaptureRequest) throws android.hardware.camera2.CameraAccessException;
+  }
+
+  public abstract class CameraDevice implements java.lang.AutoCloseable {
+    method public abstract void close();
+    method @NonNull public abstract android.hardware.camera2.CaptureRequest.Builder createCaptureRequest(int) throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public android.hardware.camera2.CaptureRequest.Builder createCaptureRequest(int, java.util.Set<java.lang.String>) throws android.hardware.camera2.CameraAccessException;
+    method @Deprecated public abstract void createCaptureSession(@NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public void createCaptureSession(android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException;
+    method @Deprecated public abstract void createCaptureSessionByOutputConfigurations(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method @Deprecated public abstract void createConstrainedHighSpeedCaptureSession(@NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public void createExtensionSession(@NonNull android.hardware.camera2.params.ExtensionSessionConfiguration) throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public abstract android.hardware.camera2.CaptureRequest.Builder createReprocessCaptureRequest(@NonNull android.hardware.camera2.TotalCaptureResult) throws android.hardware.camera2.CameraAccessException;
+    method @Deprecated public abstract void createReprocessableCaptureSession(@NonNull android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method @Deprecated public abstract void createReprocessableCaptureSessionByConfigurations(@NonNull android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public int getCameraAudioRestriction() throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public abstract String getId();
+    method public boolean isSessionConfigurationSupported(@NonNull android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException;
+    method public void setCameraAudioRestriction(int) throws android.hardware.camera2.CameraAccessException;
+    field public static final int AUDIO_RESTRICTION_NONE = 0; // 0x0
+    field public static final int AUDIO_RESTRICTION_VIBRATION = 1; // 0x1
+    field public static final int AUDIO_RESTRICTION_VIBRATION_SOUND = 3; // 0x3
+    field public static final int TEMPLATE_MANUAL = 6; // 0x6
+    field public static final int TEMPLATE_PREVIEW = 1; // 0x1
+    field public static final int TEMPLATE_RECORD = 3; // 0x3
+    field public static final int TEMPLATE_STILL_CAPTURE = 2; // 0x2
+    field public static final int TEMPLATE_VIDEO_SNAPSHOT = 4; // 0x4
+    field public static final int TEMPLATE_ZERO_SHUTTER_LAG = 5; // 0x5
+  }
+
+  public abstract static class CameraDevice.StateCallback {
+    ctor public CameraDevice.StateCallback();
+    method public void onClosed(@NonNull android.hardware.camera2.CameraDevice);
+    method public abstract void onDisconnected(@NonNull android.hardware.camera2.CameraDevice);
+    method public abstract void onError(@NonNull android.hardware.camera2.CameraDevice, int);
+    method public abstract void onOpened(@NonNull android.hardware.camera2.CameraDevice);
+    field public static final int ERROR_CAMERA_DEVICE = 4; // 0x4
+    field public static final int ERROR_CAMERA_DISABLED = 3; // 0x3
+    field public static final int ERROR_CAMERA_IN_USE = 1; // 0x1
+    field public static final int ERROR_CAMERA_SERVICE = 5; // 0x5
+    field public static final int ERROR_MAX_CAMERAS_IN_USE = 2; // 0x2
+  }
+
+  public final class CameraExtensionCharacteristics {
+    method @Nullable public android.util.Range<java.lang.Long> getEstimatedCaptureLatencyRangeMillis(int, @NonNull android.util.Size, int);
+    method @NonNull public <T> java.util.List<android.util.Size> getExtensionSupportedSizes(int, @NonNull Class<T>);
+    method @NonNull public java.util.List<android.util.Size> getExtensionSupportedSizes(int, int);
+    method @NonNull public java.util.List<java.lang.Integer> getSupportedExtensions();
+    field public static final int EXTENSION_AUTOMATIC = 0; // 0x0
+    field public static final int EXTENSION_BEAUTY = 1; // 0x1
+    field public static final int EXTENSION_BOKEH = 2; // 0x2
+    field public static final int EXTENSION_HDR = 3; // 0x3
+    field public static final int EXTENSION_NIGHT = 4; // 0x4
+  }
+
+  public abstract class CameraExtensionSession implements java.lang.AutoCloseable {
+    method public int capture(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraExtensionSession.ExtensionCaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public void close() throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public android.hardware.camera2.CameraDevice getDevice();
+    method public int setRepeatingRequest(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraExtensionSession.ExtensionCaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public void stopRepeating() throws android.hardware.camera2.CameraAccessException;
+  }
+
+  public abstract static class CameraExtensionSession.ExtensionCaptureCallback {
+    ctor public CameraExtensionSession.ExtensionCaptureCallback();
+    method public void onCaptureFailed(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest);
+    method public void onCaptureProcessStarted(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest);
+    method public void onCaptureSequenceAborted(@NonNull android.hardware.camera2.CameraExtensionSession, int);
+    method public void onCaptureSequenceCompleted(@NonNull android.hardware.camera2.CameraExtensionSession, int);
+    method public void onCaptureStarted(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest, long);
+  }
+
+  public abstract static class CameraExtensionSession.StateCallback {
+    ctor public CameraExtensionSession.StateCallback();
+    method public void onClosed(@NonNull android.hardware.camera2.CameraExtensionSession);
+    method public abstract void onConfigureFailed(@NonNull android.hardware.camera2.CameraExtensionSession);
+    method public abstract void onConfigured(@NonNull android.hardware.camera2.CameraExtensionSession);
+  }
+
+  public final class CameraManager {
+    method @NonNull public android.hardware.camera2.CameraCharacteristics getCameraCharacteristics(@NonNull String) throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public android.hardware.camera2.CameraExtensionCharacteristics getCameraExtensionCharacteristics(@NonNull String) throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public String[] getCameraIdList() throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public java.util.Set<java.util.Set<java.lang.String>> getConcurrentCameraIds() throws android.hardware.camera2.CameraAccessException;
+    method @RequiresPermission(android.Manifest.permission.CAMERA) public boolean isConcurrentSessionConfigurationSupported(@NonNull java.util.Map<java.lang.String,android.hardware.camera2.params.SessionConfiguration>) throws android.hardware.camera2.CameraAccessException;
+    method @RequiresPermission(android.Manifest.permission.CAMERA) public void openCamera(@NonNull String, @NonNull android.hardware.camera2.CameraDevice.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method @RequiresPermission(android.Manifest.permission.CAMERA) public void openCamera(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException;
+    method public void registerAvailabilityCallback(@NonNull android.hardware.camera2.CameraManager.AvailabilityCallback, @Nullable android.os.Handler);
+    method public void registerAvailabilityCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraManager.AvailabilityCallback);
+    method public void registerTorchCallback(@NonNull android.hardware.camera2.CameraManager.TorchCallback, @Nullable android.os.Handler);
+    method public void registerTorchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraManager.TorchCallback);
+    method public void setTorchMode(@NonNull String, boolean) throws android.hardware.camera2.CameraAccessException;
+    method public void unregisterAvailabilityCallback(@NonNull android.hardware.camera2.CameraManager.AvailabilityCallback);
+    method public void unregisterTorchCallback(@NonNull android.hardware.camera2.CameraManager.TorchCallback);
+  }
+
+  public abstract static class CameraManager.AvailabilityCallback {
+    ctor public CameraManager.AvailabilityCallback();
+    method public void onCameraAccessPrioritiesChanged();
+    method public void onCameraAvailable(@NonNull String);
+    method public void onCameraUnavailable(@NonNull String);
+    method public void onPhysicalCameraAvailable(@NonNull String, @NonNull String);
+    method public void onPhysicalCameraUnavailable(@NonNull String, @NonNull String);
+  }
+
+  public abstract static class CameraManager.TorchCallback {
+    ctor public CameraManager.TorchCallback();
+    method public void onTorchModeChanged(@NonNull String, boolean);
+    method public void onTorchModeUnavailable(@NonNull String);
+  }
+
+  public abstract class CameraMetadata<TKey> {
+    method @NonNull public java.util.List<TKey> getKeys();
+    field public static final int COLOR_CORRECTION_ABERRATION_MODE_FAST = 1; // 0x1
+    field public static final int COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int COLOR_CORRECTION_ABERRATION_MODE_OFF = 0; // 0x0
+    field public static final int COLOR_CORRECTION_MODE_FAST = 1; // 0x1
+    field public static final int COLOR_CORRECTION_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int COLOR_CORRECTION_MODE_TRANSFORM_MATRIX = 0; // 0x0
+    field public static final int CONTROL_AE_ANTIBANDING_MODE_50HZ = 1; // 0x1
+    field public static final int CONTROL_AE_ANTIBANDING_MODE_60HZ = 2; // 0x2
+    field public static final int CONTROL_AE_ANTIBANDING_MODE_AUTO = 3; // 0x3
+    field public static final int CONTROL_AE_ANTIBANDING_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_AE_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_AE_MODE_ON = 1; // 0x1
+    field public static final int CONTROL_AE_MODE_ON_ALWAYS_FLASH = 3; // 0x3
+    field public static final int CONTROL_AE_MODE_ON_AUTO_FLASH = 2; // 0x2
+    field public static final int CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE = 4; // 0x4
+    field public static final int CONTROL_AE_MODE_ON_EXTERNAL_FLASH = 5; // 0x5
+    field public static final int CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL = 2; // 0x2
+    field public static final int CONTROL_AE_PRECAPTURE_TRIGGER_IDLE = 0; // 0x0
+    field public static final int CONTROL_AE_PRECAPTURE_TRIGGER_START = 1; // 0x1
+    field public static final int CONTROL_AE_STATE_CONVERGED = 2; // 0x2
+    field public static final int CONTROL_AE_STATE_FLASH_REQUIRED = 4; // 0x4
+    field public static final int CONTROL_AE_STATE_INACTIVE = 0; // 0x0
+    field public static final int CONTROL_AE_STATE_LOCKED = 3; // 0x3
+    field public static final int CONTROL_AE_STATE_PRECAPTURE = 5; // 0x5
+    field public static final int CONTROL_AE_STATE_SEARCHING = 1; // 0x1
+    field public static final int CONTROL_AF_MODE_AUTO = 1; // 0x1
+    field public static final int CONTROL_AF_MODE_CONTINUOUS_PICTURE = 4; // 0x4
+    field public static final int CONTROL_AF_MODE_CONTINUOUS_VIDEO = 3; // 0x3
+    field public static final int CONTROL_AF_MODE_EDOF = 5; // 0x5
+    field public static final int CONTROL_AF_MODE_MACRO = 2; // 0x2
+    field public static final int CONTROL_AF_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_AF_SCENE_CHANGE_DETECTED = 1; // 0x1
+    field public static final int CONTROL_AF_SCENE_CHANGE_NOT_DETECTED = 0; // 0x0
+    field public static final int CONTROL_AF_STATE_ACTIVE_SCAN = 3; // 0x3
+    field public static final int CONTROL_AF_STATE_FOCUSED_LOCKED = 4; // 0x4
+    field public static final int CONTROL_AF_STATE_INACTIVE = 0; // 0x0
+    field public static final int CONTROL_AF_STATE_NOT_FOCUSED_LOCKED = 5; // 0x5
+    field public static final int CONTROL_AF_STATE_PASSIVE_FOCUSED = 2; // 0x2
+    field public static final int CONTROL_AF_STATE_PASSIVE_SCAN = 1; // 0x1
+    field public static final int CONTROL_AF_STATE_PASSIVE_UNFOCUSED = 6; // 0x6
+    field public static final int CONTROL_AF_TRIGGER_CANCEL = 2; // 0x2
+    field public static final int CONTROL_AF_TRIGGER_IDLE = 0; // 0x0
+    field public static final int CONTROL_AF_TRIGGER_START = 1; // 0x1
+    field public static final int CONTROL_AWB_MODE_AUTO = 1; // 0x1
+    field public static final int CONTROL_AWB_MODE_CLOUDY_DAYLIGHT = 6; // 0x6
+    field public static final int CONTROL_AWB_MODE_DAYLIGHT = 5; // 0x5
+    field public static final int CONTROL_AWB_MODE_FLUORESCENT = 3; // 0x3
+    field public static final int CONTROL_AWB_MODE_INCANDESCENT = 2; // 0x2
+    field public static final int CONTROL_AWB_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_AWB_MODE_SHADE = 8; // 0x8
+    field public static final int CONTROL_AWB_MODE_TWILIGHT = 7; // 0x7
+    field public static final int CONTROL_AWB_MODE_WARM_FLUORESCENT = 4; // 0x4
+    field public static final int CONTROL_AWB_STATE_CONVERGED = 2; // 0x2
+    field public static final int CONTROL_AWB_STATE_INACTIVE = 0; // 0x0
+    field public static final int CONTROL_AWB_STATE_LOCKED = 3; // 0x3
+    field public static final int CONTROL_AWB_STATE_SEARCHING = 1; // 0x1
+    field public static final int CONTROL_CAPTURE_INTENT_CUSTOM = 0; // 0x0
+    field public static final int CONTROL_CAPTURE_INTENT_MANUAL = 6; // 0x6
+    field public static final int CONTROL_CAPTURE_INTENT_MOTION_TRACKING = 7; // 0x7
+    field public static final int CONTROL_CAPTURE_INTENT_PREVIEW = 1; // 0x1
+    field public static final int CONTROL_CAPTURE_INTENT_STILL_CAPTURE = 2; // 0x2
+    field public static final int CONTROL_CAPTURE_INTENT_VIDEO_RECORD = 3; // 0x3
+    field public static final int CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT = 4; // 0x4
+    field public static final int CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG = 5; // 0x5
+    field public static final int CONTROL_EFFECT_MODE_AQUA = 8; // 0x8
+    field public static final int CONTROL_EFFECT_MODE_BLACKBOARD = 7; // 0x7
+    field public static final int CONTROL_EFFECT_MODE_MONO = 1; // 0x1
+    field public static final int CONTROL_EFFECT_MODE_NEGATIVE = 2; // 0x2
+    field public static final int CONTROL_EFFECT_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_EFFECT_MODE_POSTERIZE = 5; // 0x5
+    field public static final int CONTROL_EFFECT_MODE_SEPIA = 4; // 0x4
+    field public static final int CONTROL_EFFECT_MODE_SOLARIZE = 3; // 0x3
+    field public static final int CONTROL_EFFECT_MODE_WHITEBOARD = 6; // 0x6
+    field public static final int CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS = 2; // 0x2
+    field public static final int CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE = 1; // 0x1
+    field public static final int CONTROL_EXTENDED_SCENE_MODE_DISABLED = 0; // 0x0
+    field public static final int CONTROL_MODE_AUTO = 1; // 0x1
+    field public static final int CONTROL_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_MODE_OFF_KEEP_STATE = 3; // 0x3
+    field public static final int CONTROL_MODE_USE_EXTENDED_SCENE_MODE = 4; // 0x4
+    field public static final int CONTROL_MODE_USE_SCENE_MODE = 2; // 0x2
+    field public static final int CONTROL_SCENE_MODE_ACTION = 2; // 0x2
+    field public static final int CONTROL_SCENE_MODE_BARCODE = 16; // 0x10
+    field public static final int CONTROL_SCENE_MODE_BEACH = 8; // 0x8
+    field public static final int CONTROL_SCENE_MODE_CANDLELIGHT = 15; // 0xf
+    field public static final int CONTROL_SCENE_MODE_DISABLED = 0; // 0x0
+    field public static final int CONTROL_SCENE_MODE_FACE_PRIORITY = 1; // 0x1
+    field public static final int CONTROL_SCENE_MODE_FIREWORKS = 12; // 0xc
+    field public static final int CONTROL_SCENE_MODE_HDR = 18; // 0x12
+    field @Deprecated public static final int CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO = 17; // 0x11
+    field public static final int CONTROL_SCENE_MODE_LANDSCAPE = 4; // 0x4
+    field public static final int CONTROL_SCENE_MODE_NIGHT = 5; // 0x5
+    field public static final int CONTROL_SCENE_MODE_NIGHT_PORTRAIT = 6; // 0x6
+    field public static final int CONTROL_SCENE_MODE_PARTY = 14; // 0xe
+    field public static final int CONTROL_SCENE_MODE_PORTRAIT = 3; // 0x3
+    field public static final int CONTROL_SCENE_MODE_SNOW = 9; // 0x9
+    field public static final int CONTROL_SCENE_MODE_SPORTS = 13; // 0xd
+    field public static final int CONTROL_SCENE_MODE_STEADYPHOTO = 11; // 0xb
+    field public static final int CONTROL_SCENE_MODE_SUNSET = 10; // 0xa
+    field public static final int CONTROL_SCENE_MODE_THEATRE = 7; // 0x7
+    field public static final int CONTROL_VIDEO_STABILIZATION_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_VIDEO_STABILIZATION_MODE_ON = 1; // 0x1
+    field public static final int DISTORTION_CORRECTION_MODE_FAST = 1; // 0x1
+    field public static final int DISTORTION_CORRECTION_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int DISTORTION_CORRECTION_MODE_OFF = 0; // 0x0
+    field public static final int EDGE_MODE_FAST = 1; // 0x1
+    field public static final int EDGE_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int EDGE_MODE_OFF = 0; // 0x0
+    field public static final int EDGE_MODE_ZERO_SHUTTER_LAG = 3; // 0x3
+    field public static final int FLASH_MODE_OFF = 0; // 0x0
+    field public static final int FLASH_MODE_SINGLE = 1; // 0x1
+    field public static final int FLASH_MODE_TORCH = 2; // 0x2
+    field public static final int FLASH_STATE_CHARGING = 1; // 0x1
+    field public static final int FLASH_STATE_FIRED = 3; // 0x3
+    field public static final int FLASH_STATE_PARTIAL = 4; // 0x4
+    field public static final int FLASH_STATE_READY = 2; // 0x2
+    field public static final int FLASH_STATE_UNAVAILABLE = 0; // 0x0
+    field public static final int HOT_PIXEL_MODE_FAST = 1; // 0x1
+    field public static final int HOT_PIXEL_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int HOT_PIXEL_MODE_OFF = 0; // 0x0
+    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_3 = 3; // 0x3
+    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL = 4; // 0x4
+    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1; // 0x1
+    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY = 2; // 0x2
+    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0; // 0x0
+    field public static final int LENS_FACING_BACK = 1; // 0x1
+    field public static final int LENS_FACING_EXTERNAL = 2; // 0x2
+    field public static final int LENS_FACING_FRONT = 0; // 0x0
+    field public static final int LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE = 1; // 0x1
+    field public static final int LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED = 2; // 0x2
+    field public static final int LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED = 0; // 0x0
+    field public static final int LENS_OPTICAL_STABILIZATION_MODE_OFF = 0; // 0x0
+    field public static final int LENS_OPTICAL_STABILIZATION_MODE_ON = 1; // 0x1
+    field public static final int LENS_POSE_REFERENCE_GYROSCOPE = 1; // 0x1
+    field public static final int LENS_POSE_REFERENCE_PRIMARY_CAMERA = 0; // 0x0
+    field public static final int LENS_POSE_REFERENCE_UNDEFINED = 2; // 0x2
+    field public static final int LENS_STATE_MOVING = 1; // 0x1
+    field public static final int LENS_STATE_STATIONARY = 0; // 0x0
+    field public static final int LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE = 0; // 0x0
+    field public static final int LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED = 1; // 0x1
+    field public static final int NOISE_REDUCTION_MODE_FAST = 1; // 0x1
+    field public static final int NOISE_REDUCTION_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int NOISE_REDUCTION_MODE_MINIMAL = 3; // 0x3
+    field public static final int NOISE_REDUCTION_MODE_OFF = 0; // 0x0
+    field public static final int NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG = 4; // 0x4
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE = 0; // 0x0
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE = 6; // 0x6
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO = 9; // 0x9
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT = 8; // 0x8
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA = 11; // 0xb
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING = 2; // 0x2
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR = 1; // 0x1
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME = 12; // 0xc
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING = 10; // 0xa
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING = 15; // 0xf
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING = 4; // 0x4
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_RAW = 3; // 0x3
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS = 5; // 0x5
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_REMOSAIC_REPROCESSING = 17; // 0x11
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA = 13; // 0xd
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA = 14; // 0xe
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR = 16; // 0x10
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING = 7; // 0x7
+    field public static final int SCALER_CROPPING_TYPE_CENTER_ONLY = 0; // 0x0
+    field public static final int SCALER_CROPPING_TYPE_FREEFORM = 1; // 0x1
+    field public static final int SCALER_ROTATE_AND_CROP_180 = 2; // 0x2
+    field public static final int SCALER_ROTATE_AND_CROP_270 = 3; // 0x3
+    field public static final int SCALER_ROTATE_AND_CROP_90 = 1; // 0x1
+    field public static final int SCALER_ROTATE_AND_CROP_AUTO = 4; // 0x4
+    field public static final int SCALER_ROTATE_AND_CROP_NONE = 0; // 0x0
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR = 3; // 0x3
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG = 2; // 0x2
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG = 1; // 0x1
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO = 5; // 0x5
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR = 6; // 0x6
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB = 4; // 0x4
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB = 0; // 0x0
+    field public static final int SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME = 1; // 0x1
+    field public static final int SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN = 0; // 0x0
+    field public static final int SENSOR_PIXEL_MODE_DEFAULT = 0; // 0x0
+    field public static final int SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION = 1; // 0x1
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER = 10; // 0xa
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT = 14; // 0xe
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_D50 = 23; // 0x17
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_D55 = 20; // 0x14
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_D65 = 21; // 0x15
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_D75 = 22; // 0x16
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT = 1; // 0x1
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT = 12; // 0xc
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT = 13; // 0xd
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER = 9; // 0x9
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_FLASH = 4; // 0x4
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT = 2; // 0x2
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN = 24; // 0x18
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_SHADE = 11; // 0xb
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A = 17; // 0x11
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B = 18; // 0x12
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C = 19; // 0x13
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN = 3; // 0x3
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT = 15; // 0xf
+    field public static final int SENSOR_TEST_PATTERN_MODE_COLOR_BARS = 2; // 0x2
+    field public static final int SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY = 3; // 0x3
+    field public static final int SENSOR_TEST_PATTERN_MODE_CUSTOM1 = 256; // 0x100
+    field public static final int SENSOR_TEST_PATTERN_MODE_OFF = 0; // 0x0
+    field public static final int SENSOR_TEST_PATTERN_MODE_PN9 = 4; // 0x4
+    field public static final int SENSOR_TEST_PATTERN_MODE_SOLID_COLOR = 1; // 0x1
+    field public static final int SHADING_MODE_FAST = 1; // 0x1
+    field public static final int SHADING_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int SHADING_MODE_OFF = 0; // 0x0
+    field public static final int STATISTICS_FACE_DETECT_MODE_FULL = 2; // 0x2
+    field public static final int STATISTICS_FACE_DETECT_MODE_OFF = 0; // 0x0
+    field public static final int STATISTICS_FACE_DETECT_MODE_SIMPLE = 1; // 0x1
+    field public static final int STATISTICS_LENS_SHADING_MAP_MODE_OFF = 0; // 0x0
+    field public static final int STATISTICS_LENS_SHADING_MAP_MODE_ON = 1; // 0x1
+    field public static final int STATISTICS_OIS_DATA_MODE_OFF = 0; // 0x0
+    field public static final int STATISTICS_OIS_DATA_MODE_ON = 1; // 0x1
+    field public static final int STATISTICS_SCENE_FLICKER_50HZ = 1; // 0x1
+    field public static final int STATISTICS_SCENE_FLICKER_60HZ = 2; // 0x2
+    field public static final int STATISTICS_SCENE_FLICKER_NONE = 0; // 0x0
+    field public static final int SYNC_MAX_LATENCY_PER_FRAME_CONTROL = 0; // 0x0
+    field public static final int SYNC_MAX_LATENCY_UNKNOWN = -1; // 0xffffffff
+    field public static final int TONEMAP_MODE_CONTRAST_CURVE = 0; // 0x0
+    field public static final int TONEMAP_MODE_FAST = 1; // 0x1
+    field public static final int TONEMAP_MODE_GAMMA_VALUE = 3; // 0x3
+    field public static final int TONEMAP_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int TONEMAP_MODE_PRESET_CURVE = 4; // 0x4
+    field public static final int TONEMAP_PRESET_CURVE_REC709 = 1; // 0x1
+    field public static final int TONEMAP_PRESET_CURVE_SRGB = 0; // 0x0
+  }
+
+  public abstract class CameraOfflineSession extends android.hardware.camera2.CameraCaptureSession {
+    ctor public CameraOfflineSession();
+  }
+
+  public abstract static class CameraOfflineSession.CameraOfflineSessionCallback {
+    ctor public CameraOfflineSession.CameraOfflineSessionCallback();
+    method public abstract void onClosed(@NonNull android.hardware.camera2.CameraOfflineSession);
+    method public abstract void onError(@NonNull android.hardware.camera2.CameraOfflineSession, int);
+    method public abstract void onIdle(@NonNull android.hardware.camera2.CameraOfflineSession);
+    method public abstract void onReady(@NonNull android.hardware.camera2.CameraOfflineSession);
+    method public abstract void onSwitchFailed(@NonNull android.hardware.camera2.CameraOfflineSession);
+    field public static final int STATUS_INTERNAL_ERROR = 0; // 0x0
+  }
+
+  public class CaptureFailure {
+    method public long getFrameNumber();
+    method @Nullable public String getPhysicalCameraId();
+    method public int getReason();
+    method @NonNull public android.hardware.camera2.CaptureRequest getRequest();
+    method public int getSequenceId();
+    method public boolean wasImageCaptured();
+    field public static final int REASON_ERROR = 0; // 0x0
+    field public static final int REASON_FLUSHED = 1; // 0x1
+  }
+
+  public final class CaptureRequest extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CaptureRequest.Key<?>> implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public <T> T get(android.hardware.camera2.CaptureRequest.Key<T>);
+    method @NonNull public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getKeys();
+    method @Nullable public Object getTag();
+    method public boolean isReprocess();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> BLACK_LEVEL_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> COLOR_CORRECTION_ABERRATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.RggbChannelVector> COLOR_CORRECTION_GAINS;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> COLOR_CORRECTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.ColorSpaceTransform> COLOR_CORRECTION_TRANSFORM;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_ANTIBANDING_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_EXPOSURE_COMPENSATION;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_AE_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_PRECAPTURE_TRIGGER;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_TARGET_FPS_RANGE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AF_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AF_TRIGGER;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_AWB_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AWB_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EXTENDED_SCENE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_SCENE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_VIDEO_STABILIZATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> CONTROL_ZOOM_RATIO;
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.camera2.CaptureRequest> CREATOR;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> DISTORTION_CORRECTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> EDGE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> FLASH_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> HOT_PIXEL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.location.Location> JPEG_GPS_LOCATION;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> JPEG_ORIENTATION;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Byte> JPEG_QUALITY;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Byte> JPEG_THUMBNAIL_QUALITY;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.util.Size> JPEG_THUMBNAIL_SIZE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_APERTURE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FILTER_DENSITY;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FOCAL_LENGTH;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FOCUS_DISTANCE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> NOISE_REDUCTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.graphics.Rect> SCALER_CROP_REGION;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SCALER_ROTATE_AND_CROP;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Long> SENSOR_EXPOSURE_TIME;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Long> SENSOR_FRAME_DURATION;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SENSOR_PIXEL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SENSOR_SENSITIVITY;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<int[]> SENSOR_TEST_PATTERN_DATA;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SENSOR_TEST_PATTERN_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SHADING_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_FACE_DETECT_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> STATISTICS_HOT_PIXEL_MAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_LENS_SHADING_MAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_OIS_DATA_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.TonemapCurve> TONEMAP_CURVE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> TONEMAP_GAMMA;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> TONEMAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
+  }
+
+  public static final class CaptureRequest.Builder {
+    method public void addTarget(@NonNull android.view.Surface);
+    method @NonNull public android.hardware.camera2.CaptureRequest build();
+    method @Nullable public <T> T get(android.hardware.camera2.CaptureRequest.Key<T>);
+    method @Nullable public <T> T getPhysicalCameraKey(android.hardware.camera2.CaptureRequest.Key<T>, @NonNull String);
+    method public void removeTarget(@NonNull android.view.Surface);
+    method public <T> void set(@NonNull android.hardware.camera2.CaptureRequest.Key<T>, T);
+    method public <T> android.hardware.camera2.CaptureRequest.Builder setPhysicalCameraKey(@NonNull android.hardware.camera2.CaptureRequest.Key<T>, T, @NonNull String);
+    method public void setTag(@Nullable Object);
+  }
+
+  public static final class CaptureRequest.Key<T> {
+    ctor public CaptureRequest.Key(@NonNull String, @NonNull Class<T>);
+    method @NonNull public String getName();
+  }
+
+  public class CaptureResult extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CaptureResult.Key<?>> {
+    method @Nullable public <T> T get(android.hardware.camera2.CaptureResult.Key<T>);
+    method @NonNull public String getCameraId();
+    method public long getFrameNumber();
+    method @NonNull public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getKeys();
+    method @NonNull public android.hardware.camera2.CaptureRequest getRequest();
+    method public int getSequenceId();
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> BLACK_LEVEL_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> COLOR_CORRECTION_ABERRATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.RggbChannelVector> COLOR_CORRECTION_GAINS;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> COLOR_CORRECTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.ColorSpaceTransform> COLOR_CORRECTION_TRANSFORM;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_ANTIBANDING_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_EXPOSURE_COMPENSATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_AE_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_PRECAPTURE_TRIGGER;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_STATE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_TARGET_FPS_RANGE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_SCENE_CHANGE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_STATE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_TRIGGER;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_AWB_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_STATE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EXTENDED_SCENE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_SCENE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_VIDEO_STABILIZATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> CONTROL_ZOOM_RATIO;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> DISTORTION_CORRECTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> EDGE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> FLASH_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> FLASH_STATE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> HOT_PIXEL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.location.Location> JPEG_GPS_LOCATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> JPEG_ORIENTATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> JPEG_QUALITY;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> JPEG_THUMBNAIL_QUALITY;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Size> JPEG_THUMBNAIL_SIZE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_APERTURE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_DISTORTION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FILTER_DENSITY;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCAL_LENGTH;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCUS_DISTANCE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Float,java.lang.Float>> LENS_FOCUS_RANGE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_INTRINSIC_CALIBRATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_ROTATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_TRANSLATION;
+    field @Deprecated @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_RADIAL_DISTORTION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_STATE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.String> LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> NOISE_REDUCTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> REQUEST_PIPELINE_DEPTH;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Rect> SCALER_CROP_REGION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SCALER_ROTATE_AND_CROP;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> SENSOR_DYNAMIC_BLACK_LEVEL;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_DYNAMIC_WHITE_LEVEL;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_EXPOSURE_TIME;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_FRAME_DURATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> SENSOR_GREEN_SPLIT;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Rational[]> SENSOR_NEUTRAL_COLOR_POINT;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Double,java.lang.Double>[]> SENSOR_NOISE_PROFILE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_PIXEL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> SENSOR_RAW_BINNING_FACTOR_USED;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_ROLLING_SHUTTER_SKEW;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_SENSITIVITY;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<int[]> SENSOR_TEST_PATTERN_DATA;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_TEST_PATTERN_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_TIMESTAMP;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SHADING_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.Face[]> STATISTICS_FACES;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_FACE_DETECT_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Point[]> STATISTICS_HOT_PIXEL_MAP;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> STATISTICS_HOT_PIXEL_MAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.LensShadingMap> STATISTICS_LENS_SHADING_CORRECTION_MAP;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_LENS_SHADING_MAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_OIS_DATA_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.OisSample[]> STATISTICS_OIS_SAMPLES;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_SCENE_FLICKER;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.TonemapCurve> TONEMAP_CURVE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> TONEMAP_GAMMA;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
+  }
+
+  public static final class CaptureResult.Key<T> {
+    ctor public CaptureResult.Key(@NonNull String, @NonNull Class<T>);
+    method @NonNull public String getName();
+  }
+
+  public final class DngCreator implements java.lang.AutoCloseable {
+    ctor public DngCreator(@NonNull android.hardware.camera2.CameraCharacteristics, @NonNull android.hardware.camera2.CaptureResult);
+    method public void close();
+    method @NonNull public android.hardware.camera2.DngCreator setDescription(@NonNull String);
+    method @NonNull public android.hardware.camera2.DngCreator setLocation(@NonNull android.location.Location);
+    method @NonNull public android.hardware.camera2.DngCreator setOrientation(int);
+    method @NonNull public android.hardware.camera2.DngCreator setThumbnail(@NonNull android.graphics.Bitmap);
+    method @NonNull public android.hardware.camera2.DngCreator setThumbnail(@NonNull android.media.Image);
+    method public void writeByteBuffer(@NonNull java.io.OutputStream, @NonNull android.util.Size, @NonNull java.nio.ByteBuffer, @IntRange(from=0) long) throws java.io.IOException;
+    method public void writeImage(@NonNull java.io.OutputStream, @NonNull android.media.Image) throws java.io.IOException;
+    method public void writeInputStream(@NonNull java.io.OutputStream, @NonNull android.util.Size, @NonNull java.io.InputStream, @IntRange(from=0) long) throws java.io.IOException;
+    field public static final int MAX_THUMBNAIL_DIMENSION = 256; // 0x100
+  }
+
+  public class MultiResolutionImageReader implements java.lang.AutoCloseable {
+    ctor public MultiResolutionImageReader(@NonNull java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>, int, @IntRange(from=1) int);
+    method public void close();
+    method protected void finalize();
+    method public void flush();
+    method @NonNull public android.hardware.camera2.params.MultiResolutionStreamInfo getStreamInfoForImageReader(@NonNull android.media.ImageReader);
+    method @NonNull public android.view.Surface getSurface();
+    method public void setOnImageAvailableListener(@Nullable android.media.ImageReader.OnImageAvailableListener, @Nullable java.util.concurrent.Executor);
+  }
+
+  public final class TotalCaptureResult extends android.hardware.camera2.CaptureResult {
+    method @NonNull public java.util.List<android.hardware.camera2.CaptureResult> getPartialResults();
+    method @Deprecated public java.util.Map<java.lang.String,android.hardware.camera2.CaptureResult> getPhysicalCameraResults();
+    method @NonNull public java.util.Map<java.lang.String,android.hardware.camera2.TotalCaptureResult> getPhysicalCameraTotalResults();
+  }
+
+}
+
+package android.hardware.camera2.params {
+
+  public final class BlackLevelPattern {
+    method public void copyTo(int[], int);
+    method public int getOffsetForIndex(int, int);
+    field public static final int COUNT = 4; // 0x4
+  }
+
+  public final class Capability {
+    method @NonNull public android.util.Size getMaxStreamingSize();
+    method public int getMode();
+    method @NonNull public android.util.Range<java.lang.Float> getZoomRatioRange();
+  }
+
+  public final class ColorSpaceTransform {
+    ctor public ColorSpaceTransform(android.util.Rational[]);
+    ctor public ColorSpaceTransform(int[]);
+    method public void copyElements(android.util.Rational[], int);
+    method public void copyElements(int[], int);
+    method public android.util.Rational getElement(int, int);
+  }
+
+  public final class DeviceStateSensorOrientationMap {
+    method public int getSensorOrientation(long);
+    field public static final long FOLDED = 4L; // 0x4L
+    field public static final long NORMAL = 0L; // 0x0L
+  }
+
+  public final class ExtensionSessionConfiguration {
+    ctor public ExtensionSessionConfiguration(int, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraExtensionSession.StateCallback);
+    method @NonNull public java.util.concurrent.Executor getExecutor();
+    method public int getExtension();
+    method @NonNull public java.util.List<android.hardware.camera2.params.OutputConfiguration> getOutputConfigurations();
+    method @NonNull public android.hardware.camera2.CameraExtensionSession.StateCallback getStateCallback();
+  }
+
+  public final class Face {
+    method public android.graphics.Rect getBounds();
+    method public int getId();
+    method public android.graphics.Point getLeftEyePosition();
+    method public android.graphics.Point getMouthPosition();
+    method public android.graphics.Point getRightEyePosition();
+    method public int getScore();
+    field public static final int ID_UNSUPPORTED = -1; // 0xffffffff
+    field public static final int SCORE_MAX = 100; // 0x64
+    field public static final int SCORE_MIN = 1; // 0x1
+  }
+
+  public final class InputConfiguration {
+    ctor public InputConfiguration(int, int, int);
+    ctor public InputConfiguration(@NonNull java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>, int);
+    method public int getFormat();
+    method public int getHeight();
+    method public int getWidth();
+    method public boolean isMultiResolution();
+  }
+
+  public final class LensShadingMap {
+    method public void copyGainFactors(float[], int);
+    method public int getColumnCount();
+    method public float getGainFactor(int, int, int);
+    method public int getGainFactorCount();
+    method public android.hardware.camera2.params.RggbChannelVector getGainFactorVector(int, int);
+    method public int getRowCount();
+    field public static final float MINIMUM_GAIN_FACTOR = 1.0f;
+  }
+
+  public final class MandatoryStreamCombination {
+    method @NonNull public CharSequence getDescription();
+    method @NonNull public java.util.List<android.hardware.camera2.params.MandatoryStreamCombination.MandatoryStreamInformation> getStreamsInformation();
+    method public boolean isReprocessable();
+  }
+
+  public static final class MandatoryStreamCombination.MandatoryStreamInformation {
+    method @NonNull public java.util.List<android.util.Size> getAvailableSizes();
+    method public int getFormat();
+    method public boolean isInput();
+    method public boolean isMaximumSize();
+    method public boolean isUltraHighResolution();
+  }
+
+  public final class MeteringRectangle {
+    ctor public MeteringRectangle(int, int, int, int, int);
+    ctor public MeteringRectangle(android.graphics.Point, android.util.Size, int);
+    ctor public MeteringRectangle(android.graphics.Rect, int);
+    method public boolean equals(android.hardware.camera2.params.MeteringRectangle);
+    method public int getHeight();
+    method public int getMeteringWeight();
+    method public android.graphics.Rect getRect();
+    method public android.util.Size getSize();
+    method public android.graphics.Point getUpperLeftPoint();
+    method public int getWidth();
+    method public int getX();
+    method public int getY();
+    field public static final int METERING_WEIGHT_DONT_CARE = 0; // 0x0
+    field public static final int METERING_WEIGHT_MAX = 1000; // 0x3e8
+    field public static final int METERING_WEIGHT_MIN = 0; // 0x0
+  }
+
+  public final class MultiResolutionStreamConfigurationMap {
+    method @NonNull public int[] getInputFormats();
+    method @NonNull public java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo> getInputInfo(int);
+    method @NonNull public int[] getOutputFormats();
+    method @NonNull public java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo> getOutputInfo(int);
+  }
+
+  public class MultiResolutionStreamInfo {
+    ctor public MultiResolutionStreamInfo(@IntRange(from=1) int, @IntRange(from=1) int, @NonNull String);
+    method @IntRange(from=1) public int getHeight();
+    method @NonNull public String getPhysicalCameraId();
+    method @IntRange(from=1) public int getWidth();
+  }
+
+  public final class OisSample {
+    ctor public OisSample(long, float, float);
+    method public long getTimestamp();
+    method public float getXshift();
+    method public float getYshift();
+  }
+
+  public final class OutputConfiguration implements android.os.Parcelable {
+    ctor public OutputConfiguration(@NonNull android.view.Surface);
+    ctor public OutputConfiguration(int, @NonNull android.view.Surface);
+    ctor public OutputConfiguration(@NonNull android.util.Size, @NonNull Class<T>);
+    method public void addSensorPixelModeUsed(int);
+    method public void addSurface(@NonNull android.view.Surface);
+    method @NonNull public static java.util.Collection<android.hardware.camera2.params.OutputConfiguration> createInstancesForMultiResolutionOutput(@NonNull android.hardware.camera2.MultiResolutionImageReader);
+    method public int describeContents();
+    method public void enableSurfaceSharing();
+    method public int getMaxSharedSurfaceCount();
+    method @Nullable public android.view.Surface getSurface();
+    method public int getSurfaceGroupId();
+    method @NonNull public java.util.List<android.view.Surface> getSurfaces();
+    method public void removeSensorPixelModeUsed(int);
+    method public void removeSurface(@NonNull android.view.Surface);
+    method public void setPhysicalCameraId(@Nullable String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.camera2.params.OutputConfiguration> CREATOR;
+    field public static final int SURFACE_GROUP_ID_NONE = -1; // 0xffffffff
+  }
+
+  public final class RecommendedStreamConfigurationMap {
+    method @Nullable public java.util.Set<android.util.Size> getHighResolutionOutputSizes(int);
+    method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getHighSpeedVideoFpsRanges();
+    method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getHighSpeedVideoFpsRangesFor(@NonNull android.util.Size);
+    method @Nullable public java.util.Set<android.util.Size> getHighSpeedVideoSizes();
+    method @Nullable public java.util.Set<android.util.Size> getHighSpeedVideoSizesFor(@NonNull android.util.Range<java.lang.Integer>);
+    method @Nullable public java.util.Set<java.lang.Integer> getInputFormats();
+    method @Nullable public java.util.Set<android.util.Size> getInputSizes(int);
+    method @NonNull public java.util.Set<java.lang.Integer> getOutputFormats();
+    method @IntRange(from=0) public long getOutputMinFrameDuration(int, @NonNull android.util.Size);
+    method @IntRange(from=0) public <T> long getOutputMinFrameDuration(@NonNull Class<T>, @NonNull android.util.Size);
+    method @Nullable public java.util.Set<android.util.Size> getOutputSizes(int);
+    method @Nullable public <T> java.util.Set<android.util.Size> getOutputSizes(@NonNull Class<T>);
+    method @IntRange(from=0) public long getOutputStallDuration(int, @NonNull android.util.Size);
+    method @IntRange(from=0) public <T> long getOutputStallDuration(@NonNull Class<T>, @NonNull android.util.Size);
+    method public int getRecommendedUseCase();
+    method @Nullable public java.util.Set<java.lang.Integer> getValidOutputFormatsForInput(int);
+    method public boolean isOutputSupportedFor(int);
+    method public boolean isOutputSupportedFor(@NonNull android.view.Surface);
+    field public static final int USECASE_LOW_LATENCY_SNAPSHOT = 6; // 0x6
+    field public static final int USECASE_PREVIEW = 0; // 0x0
+    field public static final int USECASE_RAW = 5; // 0x5
+    field public static final int USECASE_RECORD = 1; // 0x1
+    field public static final int USECASE_SNAPSHOT = 3; // 0x3
+    field public static final int USECASE_VIDEO_SNAPSHOT = 2; // 0x2
+    field public static final int USECASE_ZSL = 4; // 0x4
+  }
+
+  public final class RggbChannelVector {
+    ctor public RggbChannelVector(float, float, float, float);
+    method public void copyTo(float[], int);
+    method public float getBlue();
+    method public float getComponent(int);
+    method public float getGreenEven();
+    method public float getGreenOdd();
+    method public float getRed();
+    field public static final int BLUE = 3; // 0x3
+    field public static final int COUNT = 4; // 0x4
+    field public static final int GREEN_EVEN = 1; // 0x1
+    field public static final int GREEN_ODD = 2; // 0x2
+    field public static final int RED = 0; // 0x0
+  }
+
+  public final class SessionConfiguration implements android.os.Parcelable {
+    ctor public SessionConfiguration(int, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback);
+    method public int describeContents();
+    method public java.util.concurrent.Executor getExecutor();
+    method public android.hardware.camera2.params.InputConfiguration getInputConfiguration();
+    method public java.util.List<android.hardware.camera2.params.OutputConfiguration> getOutputConfigurations();
+    method public android.hardware.camera2.CaptureRequest getSessionParameters();
+    method public int getSessionType();
+    method public android.hardware.camera2.CameraCaptureSession.StateCallback getStateCallback();
+    method public void setInputConfiguration(@NonNull android.hardware.camera2.params.InputConfiguration);
+    method public void setSessionParameters(android.hardware.camera2.CaptureRequest);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.camera2.params.SessionConfiguration> CREATOR;
+    field public static final int SESSION_HIGH_SPEED = 1; // 0x1
+    field public static final int SESSION_REGULAR = 0; // 0x0
+  }
+
+  public final class StreamConfigurationMap {
+    method public android.util.Size[] getHighResolutionOutputSizes(int);
+    method public android.util.Range<java.lang.Integer>[] getHighSpeedVideoFpsRanges();
+    method public android.util.Range<java.lang.Integer>[] getHighSpeedVideoFpsRangesFor(android.util.Size);
+    method public android.util.Size[] getHighSpeedVideoSizes();
+    method public android.util.Size[] getHighSpeedVideoSizesFor(android.util.Range<java.lang.Integer>);
+    method public int[] getInputFormats();
+    method public android.util.Size[] getInputSizes(int);
+    method public int[] getOutputFormats();
+    method public long getOutputMinFrameDuration(int, android.util.Size);
+    method public <T> long getOutputMinFrameDuration(Class<T>, android.util.Size);
+    method public <T> android.util.Size[] getOutputSizes(Class<T>);
+    method public android.util.Size[] getOutputSizes(int);
+    method public long getOutputStallDuration(int, android.util.Size);
+    method public <T> long getOutputStallDuration(Class<T>, android.util.Size);
+    method public int[] getValidOutputFormatsForInput(int);
+    method public boolean isOutputSupportedFor(int);
+    method public static <T> boolean isOutputSupportedFor(Class<T>);
+    method public boolean isOutputSupportedFor(android.view.Surface);
+  }
+
+  public final class TonemapCurve {
+    ctor public TonemapCurve(float[], float[], float[]);
+    method public void copyColorCurve(int, float[], int);
+    method public android.graphics.PointF getPoint(int, int);
+    method public int getPointCount(int);
+    field public static final int CHANNEL_BLUE = 2; // 0x2
+    field public static final int CHANNEL_GREEN = 1; // 0x1
+    field public static final int CHANNEL_RED = 0; // 0x0
+    field public static final float LEVEL_BLACK = 0.0f;
+    field public static final float LEVEL_WHITE = 1.0f;
+    field public static final int POINT_SIZE = 2; // 0x2
+  }
+
+}
+
+package android.hardware.display {
+
+  public final class DeviceProductInfo implements android.os.Parcelable {
+    ctor public DeviceProductInfo(@Nullable String, @NonNull String, @NonNull String, @IntRange(from=1990) int, int);
+    method public int describeContents();
+    method public int getConnectionToSinkType();
+    method @IntRange(from=0xffffffff, to=53) public int getManufactureWeek();
+    method @IntRange(from=0xffffffff) public int getManufactureYear();
+    method @NonNull public String getManufacturerPnpId();
+    method @IntRange(from=0xffffffff) public int getModelYear();
+    method @Nullable public String getName();
+    method @NonNull public String getProductId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CONNECTION_TO_SINK_BUILT_IN = 1; // 0x1
+    field public static final int CONNECTION_TO_SINK_DIRECT = 2; // 0x2
+    field public static final int CONNECTION_TO_SINK_TRANSITIVE = 3; // 0x3
+    field public static final int CONNECTION_TO_SINK_UNKNOWN = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.DeviceProductInfo> CREATOR;
+  }
+
+  public final class DisplayManager {
+    method public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull String, int, int, int, @Nullable android.view.Surface, int);
+    method public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull String, int, int, int, @Nullable android.view.Surface, int, @Nullable android.hardware.display.VirtualDisplay.Callback, @Nullable android.os.Handler);
+    method public android.view.Display getDisplay(int);
+    method public android.view.Display[] getDisplays();
+    method public android.view.Display[] getDisplays(String);
+    method public int getMatchContentFrameRateUserPreference();
+    method public void registerDisplayListener(android.hardware.display.DisplayManager.DisplayListener, android.os.Handler);
+    method public void unregisterDisplayListener(android.hardware.display.DisplayManager.DisplayListener);
+    field public static final String DISPLAY_CATEGORY_PRESENTATION = "android.hardware.display.category.PRESENTATION";
+    field public static final int MATCH_CONTENT_FRAMERATE_ALWAYS = 2; // 0x2
+    field public static final int MATCH_CONTENT_FRAMERATE_NEVER = 0; // 0x0
+    field public static final int MATCH_CONTENT_FRAMERATE_SEAMLESSS_ONLY = 1; // 0x1
+    field public static final int MATCH_CONTENT_FRAMERATE_UNKNOWN = -1; // 0xffffffff
+    field public static final int VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR = 16; // 0x10
+    field public static final int VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY = 8; // 0x8
+    field public static final int VIRTUAL_DISPLAY_FLAG_PRESENTATION = 2; // 0x2
+    field public static final int VIRTUAL_DISPLAY_FLAG_PUBLIC = 1; // 0x1
+    field public static final int VIRTUAL_DISPLAY_FLAG_SECURE = 4; // 0x4
+  }
+
+  public static interface DisplayManager.DisplayListener {
+    method public void onDisplayAdded(int);
+    method public void onDisplayChanged(int);
+    method public void onDisplayRemoved(int);
+  }
+
+  public final class VirtualDisplay {
+    method public android.view.Display getDisplay();
+    method public android.view.Surface getSurface();
+    method public void release();
+    method public void resize(int, int, int);
+    method public void setSurface(android.view.Surface);
+  }
+
+  public abstract static class VirtualDisplay.Callback {
+    ctor public VirtualDisplay.Callback();
+    method public void onPaused();
+    method public void onResumed();
+    method public void onStopped();
+  }
+
+}
+
+package android.hardware.fingerprint {
+
+  @Deprecated public class FingerprintManager {
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.USE_BIOMETRIC, android.Manifest.permission.USE_FINGERPRINT}) public void authenticate(@Nullable android.hardware.fingerprint.FingerprintManager.CryptoObject, @Nullable android.os.CancellationSignal, int, @NonNull android.hardware.fingerprint.FingerprintManager.AuthenticationCallback, @Nullable android.os.Handler);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public boolean hasEnrolledFingerprints();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public boolean isHardwareDetected();
+    field public static final int FINGERPRINT_ACQUIRED_GOOD = 0; // 0x0
+    field public static final int FINGERPRINT_ACQUIRED_IMAGER_DIRTY = 3; // 0x3
+    field public static final int FINGERPRINT_ACQUIRED_INSUFFICIENT = 2; // 0x2
+    field public static final int FINGERPRINT_ACQUIRED_PARTIAL = 1; // 0x1
+    field public static final int FINGERPRINT_ACQUIRED_TOO_FAST = 5; // 0x5
+    field public static final int FINGERPRINT_ACQUIRED_TOO_SLOW = 4; // 0x4
+    field public static final int FINGERPRINT_ERROR_CANCELED = 5; // 0x5
+    field public static final int FINGERPRINT_ERROR_HW_NOT_PRESENT = 12; // 0xc
+    field public static final int FINGERPRINT_ERROR_HW_UNAVAILABLE = 1; // 0x1
+    field public static final int FINGERPRINT_ERROR_LOCKOUT = 7; // 0x7
+    field public static final int FINGERPRINT_ERROR_LOCKOUT_PERMANENT = 9; // 0x9
+    field public static final int FINGERPRINT_ERROR_NO_FINGERPRINTS = 11; // 0xb
+    field public static final int FINGERPRINT_ERROR_NO_SPACE = 4; // 0x4
+    field public static final int FINGERPRINT_ERROR_TIMEOUT = 3; // 0x3
+    field public static final int FINGERPRINT_ERROR_UNABLE_TO_PROCESS = 2; // 0x2
+    field public static final int FINGERPRINT_ERROR_USER_CANCELED = 10; // 0xa
+    field public static final int FINGERPRINT_ERROR_VENDOR = 8; // 0x8
+  }
+
+  @Deprecated public abstract static class FingerprintManager.AuthenticationCallback {
+    ctor @Deprecated public FingerprintManager.AuthenticationCallback();
+    method @Deprecated public void onAuthenticationError(int, CharSequence);
+    method @Deprecated public void onAuthenticationFailed();
+    method @Deprecated public void onAuthenticationHelp(int, CharSequence);
+    method @Deprecated public void onAuthenticationSucceeded(android.hardware.fingerprint.FingerprintManager.AuthenticationResult);
+  }
+
+  @Deprecated public static class FingerprintManager.AuthenticationResult {
+    method @Deprecated public android.hardware.fingerprint.FingerprintManager.CryptoObject getCryptoObject();
+  }
+
+  @Deprecated public static final class FingerprintManager.CryptoObject {
+    ctor @Deprecated public FingerprintManager.CryptoObject(@NonNull java.security.Signature);
+    ctor @Deprecated public FingerprintManager.CryptoObject(@NonNull javax.crypto.Cipher);
+    ctor @Deprecated public FingerprintManager.CryptoObject(@NonNull javax.crypto.Mac);
+    method @Deprecated public javax.crypto.Cipher getCipher();
+    method @Deprecated public javax.crypto.Mac getMac();
+    method @Deprecated public java.security.Signature getSignature();
+  }
+
+}
+
+package android.hardware.input {
+
+  public final class InputManager {
+    method public android.view.InputDevice getInputDevice(int);
+    method public int[] getInputDeviceIds();
+    method @FloatRange(from=0, to=1) public float getMaximumObscuringOpacityForTouch();
+    method public void registerInputDeviceListener(android.hardware.input.InputManager.InputDeviceListener, android.os.Handler);
+    method public void unregisterInputDeviceListener(android.hardware.input.InputManager.InputDeviceListener);
+    method @Nullable public android.view.VerifiedInputEvent verifyInputEvent(@NonNull android.view.InputEvent);
+    field public static final String ACTION_QUERY_KEYBOARD_LAYOUTS = "android.hardware.input.action.QUERY_KEYBOARD_LAYOUTS";
+    field public static final String META_DATA_KEYBOARD_LAYOUTS = "android.hardware.input.metadata.KEYBOARD_LAYOUTS";
+  }
+
+  public static interface InputManager.InputDeviceListener {
+    method public void onInputDeviceAdded(int);
+    method public void onInputDeviceChanged(int);
+    method public void onInputDeviceRemoved(int);
+  }
+
+}
+
+package android.hardware.lights {
+
+  public final class Light implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getId();
+    method @NonNull public String getName();
+    method public int getOrdinal();
+    method public int getType();
+    method public boolean hasBrightnessControl();
+    method public boolean hasRgbControl();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.lights.Light> CREATOR;
+    field public static final int LIGHT_CAPABILITY_BRIGHTNESS = 1; // 0x1
+    field public static final int LIGHT_CAPABILITY_RGB = 0; // 0x0
+    field public static final int LIGHT_TYPE_INPUT = 10001; // 0x2711
+    field public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
+    field public static final int LIGHT_TYPE_PLAYER_ID = 10002; // 0x2712
+  }
+
+  public final class LightState implements android.os.Parcelable {
+    method public int describeContents();
+    method @ColorInt public int getColor();
+    method public int getPlayerId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.lights.LightState> CREATOR;
+  }
+
+  public static final class LightState.Builder {
+    ctor public LightState.Builder();
+    method @NonNull public android.hardware.lights.LightState build();
+    method @NonNull public android.hardware.lights.LightState.Builder setColor(@ColorInt int);
+    method @NonNull public android.hardware.lights.LightState.Builder setPlayerId(int);
+  }
+
+  public abstract class LightsManager {
+    method @NonNull public abstract android.hardware.lights.LightState getLightState(@NonNull android.hardware.lights.Light);
+    method @NonNull public abstract java.util.List<android.hardware.lights.Light> getLights();
+    method @NonNull public abstract android.hardware.lights.LightsManager.LightsSession openSession();
+  }
+
+  public abstract static class LightsManager.LightsSession implements java.lang.AutoCloseable {
+    method public abstract void close();
+    method public abstract void requestLights(@NonNull android.hardware.lights.LightsRequest);
+  }
+
+  public final class LightsRequest {
+    method @NonNull public java.util.List<android.hardware.lights.LightState> getLightStates();
+    method @NonNull public java.util.List<java.lang.Integer> getLights();
+    method @NonNull public java.util.Map<android.hardware.lights.Light,android.hardware.lights.LightState> getLightsAndStates();
+  }
+
+  public static final class LightsRequest.Builder {
+    ctor public LightsRequest.Builder();
+    method @NonNull public android.hardware.lights.LightsRequest.Builder addLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
+    method @NonNull public android.hardware.lights.LightsRequest build();
+    method @NonNull public android.hardware.lights.LightsRequest.Builder clearLight(@NonNull android.hardware.lights.Light);
+  }
+
+}
+
+package android.hardware.usb {
+
+  public class UsbAccessory implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getDescription();
+    method @NonNull public String getManufacturer();
+    method @NonNull public String getModel();
+    method @Nullable public String getSerial();
+    method @Nullable public String getUri();
+    method @Nullable public String getVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbAccessory> CREATOR;
+  }
+
+  public class UsbConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getId();
+    method @NonNull public android.hardware.usb.UsbInterface getInterface(int);
+    method public int getInterfaceCount();
+    method public int getMaxPower();
+    method @Nullable public String getName();
+    method public boolean isRemoteWakeup();
+    method public boolean isSelfPowered();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbConfiguration> CREATOR;
+  }
+
+  public final class UsbConstants {
+    ctor public UsbConstants();
+    field public static final int USB_CLASS_APP_SPEC = 254; // 0xfe
+    field public static final int USB_CLASS_AUDIO = 1; // 0x1
+    field public static final int USB_CLASS_CDC_DATA = 10; // 0xa
+    field public static final int USB_CLASS_COMM = 2; // 0x2
+    field public static final int USB_CLASS_CONTENT_SEC = 13; // 0xd
+    field public static final int USB_CLASS_CSCID = 11; // 0xb
+    field public static final int USB_CLASS_HID = 3; // 0x3
+    field public static final int USB_CLASS_HUB = 9; // 0x9
+    field public static final int USB_CLASS_MASS_STORAGE = 8; // 0x8
+    field public static final int USB_CLASS_MISC = 239; // 0xef
+    field public static final int USB_CLASS_PER_INTERFACE = 0; // 0x0
+    field public static final int USB_CLASS_PHYSICA = 5; // 0x5
+    field public static final int USB_CLASS_PRINTER = 7; // 0x7
+    field public static final int USB_CLASS_STILL_IMAGE = 6; // 0x6
+    field public static final int USB_CLASS_VENDOR_SPEC = 255; // 0xff
+    field public static final int USB_CLASS_VIDEO = 14; // 0xe
+    field public static final int USB_CLASS_WIRELESS_CONTROLLER = 224; // 0xe0
+    field public static final int USB_DIR_IN = 128; // 0x80
+    field public static final int USB_DIR_OUT = 0; // 0x0
+    field public static final int USB_ENDPOINT_DIR_MASK = 128; // 0x80
+    field public static final int USB_ENDPOINT_NUMBER_MASK = 15; // 0xf
+    field public static final int USB_ENDPOINT_XFERTYPE_MASK = 3; // 0x3
+    field public static final int USB_ENDPOINT_XFER_BULK = 2; // 0x2
+    field public static final int USB_ENDPOINT_XFER_CONTROL = 0; // 0x0
+    field public static final int USB_ENDPOINT_XFER_INT = 3; // 0x3
+    field public static final int USB_ENDPOINT_XFER_ISOC = 1; // 0x1
+    field public static final int USB_INTERFACE_SUBCLASS_BOOT = 1; // 0x1
+    field public static final int USB_SUBCLASS_VENDOR_SPEC = 255; // 0xff
+    field public static final int USB_TYPE_CLASS = 32; // 0x20
+    field public static final int USB_TYPE_MASK = 96; // 0x60
+    field public static final int USB_TYPE_RESERVED = 96; // 0x60
+    field public static final int USB_TYPE_STANDARD = 0; // 0x0
+    field public static final int USB_TYPE_VENDOR = 64; // 0x40
+  }
+
+  public class UsbDevice implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.hardware.usb.UsbConfiguration getConfiguration(int);
+    method public int getConfigurationCount();
+    method public int getDeviceClass();
+    method public int getDeviceId();
+    method public static int getDeviceId(String);
+    method @NonNull public String getDeviceName();
+    method public static String getDeviceName(int);
+    method public int getDeviceProtocol();
+    method public int getDeviceSubclass();
+    method @NonNull public android.hardware.usb.UsbInterface getInterface(int);
+    method public int getInterfaceCount();
+    method @Nullable public String getManufacturerName();
+    method public int getProductId();
+    method @Nullable public String getProductName();
+    method @Nullable public String getSerialNumber();
+    method public int getVendorId();
+    method @NonNull public String getVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbDevice> CREATOR;
+  }
+
+  public class UsbDeviceConnection {
+    method public int bulkTransfer(android.hardware.usb.UsbEndpoint, byte[], int, int);
+    method public int bulkTransfer(android.hardware.usb.UsbEndpoint, byte[], int, int, int);
+    method public boolean claimInterface(android.hardware.usb.UsbInterface, boolean);
+    method public void close();
+    method public int controlTransfer(int, int, int, int, byte[], int, int);
+    method public int controlTransfer(int, int, int, int, byte[], int, int, int);
+    method public int getFileDescriptor();
+    method public byte[] getRawDescriptors();
+    method public String getSerial();
+    method public boolean releaseInterface(android.hardware.usb.UsbInterface);
+    method public android.hardware.usb.UsbRequest requestWait();
+    method public android.hardware.usb.UsbRequest requestWait(long) throws java.util.concurrent.TimeoutException;
+    method public boolean setConfiguration(android.hardware.usb.UsbConfiguration);
+    method public boolean setInterface(android.hardware.usb.UsbInterface);
+  }
+
+  public class UsbEndpoint implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAddress();
+    method public int getAttributes();
+    method public int getDirection();
+    method public int getEndpointNumber();
+    method public int getInterval();
+    method public int getMaxPacketSize();
+    method public int getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbEndpoint> CREATOR;
+  }
+
+  public class UsbInterface implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAlternateSetting();
+    method public android.hardware.usb.UsbEndpoint getEndpoint(int);
+    method public int getEndpointCount();
+    method public int getId();
+    method public int getInterfaceClass();
+    method public int getInterfaceProtocol();
+    method public int getInterfaceSubclass();
+    method @Nullable public String getName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbInterface> CREATOR;
+  }
+
+  public class UsbManager {
+    method public android.hardware.usb.UsbAccessory[] getAccessoryList();
+    method public java.util.HashMap<java.lang.String,android.hardware.usb.UsbDevice> getDeviceList();
+    method public boolean hasPermission(android.hardware.usb.UsbDevice);
+    method public boolean hasPermission(android.hardware.usb.UsbAccessory);
+    method public android.os.ParcelFileDescriptor openAccessory(android.hardware.usb.UsbAccessory);
+    method public android.hardware.usb.UsbDeviceConnection openDevice(android.hardware.usb.UsbDevice);
+    method public void requestPermission(android.hardware.usb.UsbDevice, android.app.PendingIntent);
+    method public void requestPermission(android.hardware.usb.UsbAccessory, android.app.PendingIntent);
+    field public static final String ACTION_USB_ACCESSORY_ATTACHED = "android.hardware.usb.action.USB_ACCESSORY_ATTACHED";
+    field public static final String ACTION_USB_ACCESSORY_DETACHED = "android.hardware.usb.action.USB_ACCESSORY_DETACHED";
+    field public static final String ACTION_USB_DEVICE_ATTACHED = "android.hardware.usb.action.USB_DEVICE_ATTACHED";
+    field public static final String ACTION_USB_DEVICE_DETACHED = "android.hardware.usb.action.USB_DEVICE_DETACHED";
+    field public static final String EXTRA_ACCESSORY = "accessory";
+    field public static final String EXTRA_DEVICE = "device";
+    field public static final String EXTRA_PERMISSION_GRANTED = "permission";
+  }
+
+  public class UsbRequest {
+    ctor public UsbRequest();
+    method public boolean cancel();
+    method public void close();
+    method public Object getClientData();
+    method public android.hardware.usb.UsbEndpoint getEndpoint();
+    method public boolean initialize(android.hardware.usb.UsbDeviceConnection, android.hardware.usb.UsbEndpoint);
+    method @Deprecated public boolean queue(java.nio.ByteBuffer, int);
+    method public boolean queue(@Nullable java.nio.ByteBuffer);
+    method public void setClientData(Object);
+  }
+
+}
+
+package android.inputmethodservice {
+
+  public abstract class AbstractInputMethodService extends android.app.Service implements android.view.KeyEvent.Callback {
+    ctor public AbstractInputMethodService();
+    method public android.view.KeyEvent.DispatcherState getKeyDispatcherState();
+    method public final boolean isUiContext();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl onCreateInputMethodInterface();
+    method public abstract android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl onCreateInputMethodSessionInterface();
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.view.MotionEvent);
+  }
+
+  public abstract class AbstractInputMethodService.AbstractInputMethodImpl implements android.view.inputmethod.InputMethod {
+    ctor public AbstractInputMethodService.AbstractInputMethodImpl();
+    method @MainThread public void createSession(android.view.inputmethod.InputMethod.SessionCallback);
+    method @MainThread public void revokeSession(android.view.inputmethod.InputMethodSession);
+    method @MainThread public void setSessionEnabled(android.view.inputmethod.InputMethodSession, boolean);
+  }
+
+  public abstract class AbstractInputMethodService.AbstractInputMethodSessionImpl implements android.view.inputmethod.InputMethodSession {
+    ctor public AbstractInputMethodService.AbstractInputMethodSessionImpl();
+    method public void dispatchGenericMotionEvent(int, android.view.MotionEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public void dispatchKeyEvent(int, android.view.KeyEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public void dispatchTrackballEvent(int, android.view.MotionEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public boolean isEnabled();
+    method public boolean isRevoked();
+    method public void revokeSelf();
+    method public void setEnabled(boolean);
+  }
+
+  public class ExtractEditText extends android.widget.EditText {
+    ctor public ExtractEditText(android.content.Context);
+    ctor public ExtractEditText(android.content.Context, android.util.AttributeSet);
+    ctor public ExtractEditText(android.content.Context, android.util.AttributeSet, int);
+    ctor public ExtractEditText(android.content.Context, android.util.AttributeSet, int, int);
+    method public void finishInternalChanges();
+    method public boolean hasVerticalScrollBar();
+    method public void startInternalChanges();
+  }
+
+  @UiContext public class InputMethodService extends android.inputmethodservice.AbstractInputMethodService {
+    ctor public InputMethodService();
+    method @Deprecated public boolean enableHardwareAcceleration();
+    method public int getBackDisposition();
+    method public int getCandidatesHiddenVisibility();
+    method public android.view.inputmethod.InputBinding getCurrentInputBinding();
+    method public android.view.inputmethod.InputConnection getCurrentInputConnection();
+    method public android.view.inputmethod.EditorInfo getCurrentInputEditorInfo();
+    method public boolean getCurrentInputStarted();
+    method @Deprecated public int getInputMethodWindowRecommendedHeight();
+    method public android.view.LayoutInflater getLayoutInflater();
+    method public int getMaxWidth();
+    method public CharSequence getTextForImeAction(int);
+    method public android.app.Dialog getWindow();
+    method public void hideStatusIcon();
+    method public void hideWindow();
+    method public boolean isExtractViewShown();
+    method public boolean isFullscreenMode();
+    method public boolean isInputViewShown();
+    method public boolean isShowInputRequested();
+    method public void onAppPrivateCommand(String, android.os.Bundle);
+    method public void onBindInput();
+    method public void onComputeInsets(android.inputmethodservice.InputMethodService.Insets);
+    method public void onConfigureWindow(android.view.Window, boolean, boolean);
+    method public android.view.View onCreateCandidatesView();
+    method public android.view.View onCreateExtractTextView();
+    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest onCreateInlineSuggestionsRequest(@NonNull android.os.Bundle);
+    method public android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl onCreateInputMethodInterface();
+    method public android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl onCreateInputMethodSessionInterface();
+    method public android.view.View onCreateInputView();
+    method protected void onCurrentInputMethodSubtypeChanged(android.view.inputmethod.InputMethodSubtype);
+    method public void onDisplayCompletions(android.view.inputmethod.CompletionInfo[]);
+    method public boolean onEvaluateFullscreenMode();
+    method @CallSuper public boolean onEvaluateInputViewShown();
+    method public boolean onExtractTextContextMenuItem(int);
+    method public void onExtractedCursorMovement(int, int);
+    method public void onExtractedSelectionChanged(int, int);
+    method public void onExtractedTextClicked();
+    method public void onExtractingInputChanged(android.view.inputmethod.EditorInfo);
+    method public void onFinishCandidatesView(boolean);
+    method public void onFinishInput();
+    method public void onFinishInputView(boolean);
+    method public void onInitializeInterface();
+    method public boolean onInlineSuggestionsResponse(@NonNull android.view.inputmethod.InlineSuggestionsResponse);
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public boolean onShowInputRequested(int, boolean);
+    method public void onStartCandidatesView(android.view.inputmethod.EditorInfo, boolean);
+    method public void onStartInput(android.view.inputmethod.EditorInfo, boolean);
+    method public void onStartInputView(android.view.inputmethod.EditorInfo, boolean);
+    method public void onUnbindInput();
+    method @Deprecated public void onUpdateCursor(android.graphics.Rect);
+    method public void onUpdateCursorAnchorInfo(android.view.inputmethod.CursorAnchorInfo);
+    method public void onUpdateExtractedText(int, android.view.inputmethod.ExtractedText);
+    method public void onUpdateExtractingViews(android.view.inputmethod.EditorInfo);
+    method public void onUpdateExtractingVisibility(android.view.inputmethod.EditorInfo);
+    method public void onUpdateSelection(int, int, int, int, int, int);
+    method @Deprecated public void onViewClicked(boolean);
+    method public void onWindowHidden();
+    method public void onWindowShown();
+    method public void requestHideSelf(int);
+    method public final void requestShowSelf(int);
+    method public boolean sendDefaultEditorAction(boolean);
+    method public void sendDownUpKeyEvents(int);
+    method public void sendKeyChar(char);
+    method public void setBackDisposition(int);
+    method public void setCandidatesView(android.view.View);
+    method public void setCandidatesViewShown(boolean);
+    method public void setExtractView(android.view.View);
+    method public void setExtractViewShown(boolean);
+    method public void setInputView(android.view.View);
+    method public final boolean shouldOfferSwitchingToNextInputMethod();
+    method public void showStatusIcon(@DrawableRes int);
+    method public void showWindow(boolean);
+    method public void switchInputMethod(String);
+    method public final void switchInputMethod(String, android.view.inputmethod.InputMethodSubtype);
+    method public final boolean switchToNextInputMethod(boolean);
+    method public final boolean switchToPreviousInputMethod();
+    method public void updateFullscreenMode();
+    method public void updateInputViewShown();
+    field public static final int BACK_DISPOSITION_ADJUST_NOTHING = 3; // 0x3
+    field public static final int BACK_DISPOSITION_DEFAULT = 0; // 0x0
+    field @Deprecated public static final int BACK_DISPOSITION_WILL_DISMISS = 2; // 0x2
+    field @Deprecated public static final int BACK_DISPOSITION_WILL_NOT_DISMISS = 1; // 0x1
+  }
+
+  public class InputMethodService.InputMethodImpl extends android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl {
+    ctor public InputMethodService.InputMethodImpl();
+    method @MainThread public void attachToken(android.os.IBinder);
+    method @MainThread public void bindInput(android.view.inputmethod.InputBinding);
+    method @MainThread public void changeInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
+    method @MainThread public void hideSoftInput(int, android.os.ResultReceiver);
+    method @MainThread public void restartInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+    method @MainThread public void showSoftInput(int, android.os.ResultReceiver);
+    method @MainThread public void startInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+    method @MainThread public void unbindInput();
+  }
+
+  public class InputMethodService.InputMethodSessionImpl extends android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl {
+    ctor public InputMethodService.InputMethodSessionImpl();
+    method public void appPrivateCommand(String, android.os.Bundle);
+    method public void displayCompletions(android.view.inputmethod.CompletionInfo[]);
+    method public void finishInput();
+    method @Deprecated public void toggleSoftInput(int, int);
+    method public void updateCursor(android.graphics.Rect);
+    method public void updateCursorAnchorInfo(android.view.inputmethod.CursorAnchorInfo);
+    method public void updateExtractedText(int, android.view.inputmethod.ExtractedText);
+    method public void updateSelection(int, int, int, int, int, int);
+    method public void viewClicked(boolean);
+  }
+
+  public static final class InputMethodService.Insets {
+    ctor public InputMethodService.Insets();
+    field public static final int TOUCHABLE_INSETS_CONTENT = 1; // 0x1
+    field public static final int TOUCHABLE_INSETS_FRAME = 0; // 0x0
+    field public static final int TOUCHABLE_INSETS_REGION = 3; // 0x3
+    field public static final int TOUCHABLE_INSETS_VISIBLE = 2; // 0x2
+    field public int contentTopInsets;
+    field public int touchableInsets;
+    field public final android.graphics.Region touchableRegion;
+    field public int visibleTopInsets;
+  }
+
+  @Deprecated public class Keyboard {
+    ctor @Deprecated public Keyboard(android.content.Context, int);
+    ctor @Deprecated public Keyboard(android.content.Context, @XmlRes int, int, int, int);
+    ctor @Deprecated public Keyboard(android.content.Context, @XmlRes int, int);
+    ctor @Deprecated public Keyboard(android.content.Context, int, CharSequence, int, int);
+    method @Deprecated protected android.inputmethodservice.Keyboard.Key createKeyFromXml(android.content.res.Resources, android.inputmethodservice.Keyboard.Row, int, int, android.content.res.XmlResourceParser);
+    method @Deprecated protected android.inputmethodservice.Keyboard.Row createRowFromXml(android.content.res.Resources, android.content.res.XmlResourceParser);
+    method @Deprecated public int getHeight();
+    method @Deprecated protected int getHorizontalGap();
+    method @Deprecated protected int getKeyHeight();
+    method @Deprecated protected int getKeyWidth();
+    method @Deprecated public java.util.List<android.inputmethodservice.Keyboard.Key> getKeys();
+    method @Deprecated public int getMinWidth();
+    method @Deprecated public java.util.List<android.inputmethodservice.Keyboard.Key> getModifierKeys();
+    method @Deprecated public int[] getNearestKeys(int, int);
+    method @Deprecated public int getShiftKeyIndex();
+    method @Deprecated protected int getVerticalGap();
+    method @Deprecated public boolean isShifted();
+    method @Deprecated protected void setHorizontalGap(int);
+    method @Deprecated protected void setKeyHeight(int);
+    method @Deprecated protected void setKeyWidth(int);
+    method @Deprecated public boolean setShifted(boolean);
+    method @Deprecated protected void setVerticalGap(int);
+    field @Deprecated public static final int EDGE_BOTTOM = 8; // 0x8
+    field @Deprecated public static final int EDGE_LEFT = 1; // 0x1
+    field @Deprecated public static final int EDGE_RIGHT = 2; // 0x2
+    field @Deprecated public static final int EDGE_TOP = 4; // 0x4
+    field @Deprecated public static final int KEYCODE_ALT = -6; // 0xfffffffa
+    field @Deprecated public static final int KEYCODE_CANCEL = -3; // 0xfffffffd
+    field @Deprecated public static final int KEYCODE_DELETE = -5; // 0xfffffffb
+    field @Deprecated public static final int KEYCODE_DONE = -4; // 0xfffffffc
+    field @Deprecated public static final int KEYCODE_MODE_CHANGE = -2; // 0xfffffffe
+    field @Deprecated public static final int KEYCODE_SHIFT = -1; // 0xffffffff
+  }
+
+  @Deprecated public static class Keyboard.Key {
+    ctor @Deprecated public Keyboard.Key(android.inputmethodservice.Keyboard.Row);
+    ctor @Deprecated public Keyboard.Key(android.content.res.Resources, android.inputmethodservice.Keyboard.Row, int, int, android.content.res.XmlResourceParser);
+    method @Deprecated public int[] getCurrentDrawableState();
+    method @Deprecated public boolean isInside(int, int);
+    method @Deprecated public void onPressed();
+    method @Deprecated public void onReleased(boolean);
+    method @Deprecated public int squaredDistanceFrom(int, int);
+    field @Deprecated public int[] codes;
+    field @Deprecated public int edgeFlags;
+    field @Deprecated public int gap;
+    field @Deprecated public int height;
+    field @Deprecated public android.graphics.drawable.Drawable icon;
+    field @Deprecated public android.graphics.drawable.Drawable iconPreview;
+    field @Deprecated public CharSequence label;
+    field @Deprecated public boolean modifier;
+    field @Deprecated public boolean on;
+    field @Deprecated public CharSequence popupCharacters;
+    field @Deprecated public int popupResId;
+    field @Deprecated public boolean pressed;
+    field @Deprecated public boolean repeatable;
+    field @Deprecated public boolean sticky;
+    field @Deprecated public CharSequence text;
+    field @Deprecated public int width;
+    field @Deprecated public int x;
+    field @Deprecated public int y;
+  }
+
+  @Deprecated public static class Keyboard.Row {
+    ctor @Deprecated public Keyboard.Row(android.inputmethodservice.Keyboard);
+    ctor @Deprecated public Keyboard.Row(android.content.res.Resources, android.inputmethodservice.Keyboard, android.content.res.XmlResourceParser);
+    field @Deprecated public int defaultHeight;
+    field @Deprecated public int defaultHorizontalGap;
+    field @Deprecated public int defaultWidth;
+    field @Deprecated public int mode;
+    field @Deprecated public int rowEdgeFlags;
+    field @Deprecated public int verticalGap;
+  }
+
+  @Deprecated public class KeyboardView extends android.view.View implements android.view.View.OnClickListener {
+    ctor @Deprecated public KeyboardView(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public KeyboardView(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public KeyboardView(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public void closing();
+    method @Deprecated public android.inputmethodservice.Keyboard getKeyboard();
+    method @Deprecated protected android.inputmethodservice.KeyboardView.OnKeyboardActionListener getOnKeyboardActionListener();
+    method @Deprecated public boolean handleBack();
+    method @Deprecated public void invalidateAllKeys();
+    method @Deprecated public void invalidateKey(int);
+    method @Deprecated public boolean isPreviewEnabled();
+    method @Deprecated public boolean isProximityCorrectionEnabled();
+    method @Deprecated public boolean isShifted();
+    method public void onClick(android.view.View);
+    method @Deprecated public void onDetachedFromWindow();
+    method @Deprecated public void onDraw(android.graphics.Canvas);
+    method @Deprecated protected boolean onLongPress(android.inputmethodservice.Keyboard.Key);
+    method @Deprecated public void onMeasure(int, int);
+    method @Deprecated public void onSizeChanged(int, int, int, int);
+    method @Deprecated public void setKeyboard(android.inputmethodservice.Keyboard);
+    method @Deprecated public void setOnKeyboardActionListener(android.inputmethodservice.KeyboardView.OnKeyboardActionListener);
+    method @Deprecated public void setPopupOffset(int, int);
+    method @Deprecated public void setPopupParent(android.view.View);
+    method @Deprecated public void setPreviewEnabled(boolean);
+    method @Deprecated public void setProximityCorrectionEnabled(boolean);
+    method @Deprecated public boolean setShifted(boolean);
+    method @Deprecated public void setVerticalCorrection(int);
+    method @Deprecated protected void swipeDown();
+    method @Deprecated protected void swipeLeft();
+    method @Deprecated protected void swipeRight();
+    method @Deprecated protected void swipeUp();
+  }
+
+  @Deprecated public static interface KeyboardView.OnKeyboardActionListener {
+    method @Deprecated public void onKey(int, int[]);
+    method @Deprecated public void onPress(int);
+    method @Deprecated public void onRelease(int);
+    method @Deprecated public void onText(CharSequence);
+    method @Deprecated public void swipeDown();
+    method @Deprecated public void swipeLeft();
+    method @Deprecated public void swipeRight();
+    method @Deprecated public void swipeUp();
+  }
+
+}
+
+package android.location {
+
+  public class Address implements android.os.Parcelable {
+    ctor public Address(java.util.Locale);
+    method public void clearLatitude();
+    method public void clearLongitude();
+    method public int describeContents();
+    method public String getAddressLine(int);
+    method public String getAdminArea();
+    method public String getCountryCode();
+    method public String getCountryName();
+    method public android.os.Bundle getExtras();
+    method public String getFeatureName();
+    method public double getLatitude();
+    method public java.util.Locale getLocale();
+    method public String getLocality();
+    method public double getLongitude();
+    method public int getMaxAddressLineIndex();
+    method public String getPhone();
+    method public String getPostalCode();
+    method public String getPremises();
+    method public String getSubAdminArea();
+    method public String getSubLocality();
+    method public String getSubThoroughfare();
+    method public String getThoroughfare();
+    method public String getUrl();
+    method public boolean hasLatitude();
+    method public boolean hasLongitude();
+    method public void setAddressLine(int, String);
+    method public void setAdminArea(String);
+    method public void setCountryCode(String);
+    method public void setCountryName(String);
+    method public void setExtras(android.os.Bundle);
+    method public void setFeatureName(String);
+    method public void setLatitude(double);
+    method public void setLocality(String);
+    method public void setLongitude(double);
+    method public void setPhone(String);
+    method public void setPostalCode(String);
+    method public void setPremises(String);
+    method public void setSubAdminArea(String);
+    method public void setSubLocality(String);
+    method public void setSubThoroughfare(String);
+    method public void setThoroughfare(String);
+    method public void setUrl(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.Address> CREATOR;
+  }
+
+  public class Criteria implements android.os.Parcelable {
+    ctor public Criteria();
+    ctor public Criteria(android.location.Criteria);
+    method public int describeContents();
+    method public int getAccuracy();
+    method public int getBearingAccuracy();
+    method public int getHorizontalAccuracy();
+    method public int getPowerRequirement();
+    method public int getSpeedAccuracy();
+    method public int getVerticalAccuracy();
+    method public boolean isAltitudeRequired();
+    method public boolean isBearingRequired();
+    method public boolean isCostAllowed();
+    method public boolean isSpeedRequired();
+    method public void setAccuracy(int);
+    method public void setAltitudeRequired(boolean);
+    method public void setBearingAccuracy(int);
+    method public void setBearingRequired(boolean);
+    method public void setCostAllowed(boolean);
+    method public void setHorizontalAccuracy(int);
+    method public void setPowerRequirement(int);
+    method public void setSpeedAccuracy(int);
+    method public void setSpeedRequired(boolean);
+    method public void setVerticalAccuracy(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACCURACY_COARSE = 2; // 0x2
+    field public static final int ACCURACY_FINE = 1; // 0x1
+    field public static final int ACCURACY_HIGH = 3; // 0x3
+    field public static final int ACCURACY_LOW = 1; // 0x1
+    field public static final int ACCURACY_MEDIUM = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.Criteria> CREATOR;
+    field public static final int NO_REQUIREMENT = 0; // 0x0
+    field public static final int POWER_HIGH = 3; // 0x3
+    field public static final int POWER_LOW = 1; // 0x1
+    field public static final int POWER_MEDIUM = 2; // 0x2
+  }
+
+  public final class Geocoder {
+    ctor public Geocoder(android.content.Context, java.util.Locale);
+    ctor public Geocoder(android.content.Context);
+    method public java.util.List<android.location.Address> getFromLocation(double, double, int) throws java.io.IOException;
+    method public java.util.List<android.location.Address> getFromLocationName(String, int) throws java.io.IOException;
+    method public java.util.List<android.location.Address> getFromLocationName(String, int, double, double, double, double) throws java.io.IOException;
+    method public static boolean isPresent();
+  }
+
+  public final class GnssAntennaInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0f) public double getCarrierFrequencyMHz();
+    method @NonNull public android.location.GnssAntennaInfo.PhaseCenterOffset getPhaseCenterOffset();
+    method @Nullable public android.location.GnssAntennaInfo.SphericalCorrections getPhaseCenterVariationCorrections();
+    method @Nullable public android.location.GnssAntennaInfo.SphericalCorrections getSignalGainCorrections();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo> CREATOR;
+  }
+
+  public static class GnssAntennaInfo.Builder {
+    ctor @Deprecated public GnssAntennaInfo.Builder();
+    ctor public GnssAntennaInfo.Builder(double, @NonNull android.location.GnssAntennaInfo.PhaseCenterOffset);
+    ctor public GnssAntennaInfo.Builder(@NonNull android.location.GnssAntennaInfo);
+    method @NonNull public android.location.GnssAntennaInfo build();
+    method @NonNull public android.location.GnssAntennaInfo.Builder setCarrierFrequencyMHz(@FloatRange(from=0.0f) double);
+    method @NonNull public android.location.GnssAntennaInfo.Builder setPhaseCenterOffset(@NonNull android.location.GnssAntennaInfo.PhaseCenterOffset);
+    method @NonNull public android.location.GnssAntennaInfo.Builder setPhaseCenterVariationCorrections(@Nullable android.location.GnssAntennaInfo.SphericalCorrections);
+    method @NonNull public android.location.GnssAntennaInfo.Builder setSignalGainCorrections(@Nullable android.location.GnssAntennaInfo.SphericalCorrections);
+  }
+
+  public static interface GnssAntennaInfo.Listener {
+    method public void onGnssAntennaInfoReceived(@NonNull java.util.List<android.location.GnssAntennaInfo>);
+  }
+
+  public static final class GnssAntennaInfo.PhaseCenterOffset implements android.os.Parcelable {
+    ctor public GnssAntennaInfo.PhaseCenterOffset(double, double, double, double, double, double);
+    method public int describeContents();
+    method @FloatRange public double getXOffsetMm();
+    method @FloatRange public double getXOffsetUncertaintyMm();
+    method @FloatRange public double getYOffsetMm();
+    method @FloatRange public double getYOffsetUncertaintyMm();
+    method @FloatRange public double getZOffsetMm();
+    method @FloatRange public double getZOffsetUncertaintyMm();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.PhaseCenterOffset> CREATOR;
+  }
+
+  public static final class GnssAntennaInfo.SphericalCorrections implements android.os.Parcelable {
+    ctor public GnssAntennaInfo.SphericalCorrections(@NonNull double[][], @NonNull double[][]);
+    method public int describeContents();
+    method @NonNull public double[][] getCorrectionUncertaintiesArray();
+    method @NonNull public double[][] getCorrectionsArray();
+    method @FloatRange(from=0.0f, to=180.0f) public double getDeltaPhi();
+    method @FloatRange(from=0.0f, to=360.0f) public double getDeltaTheta();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.SphericalCorrections> CREATOR;
+  }
+
+  public final class GnssCapabilities implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean hasAntennaInfo();
+    method @Deprecated public boolean hasGnssAntennaInfo();
+    method public boolean hasMeasurements();
+    method public boolean hasNavigationMessages();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssCapabilities> CREATOR;
+  }
+
+  public static final class GnssCapabilities.Builder {
+    ctor public GnssCapabilities.Builder();
+    ctor public GnssCapabilities.Builder(@NonNull android.location.GnssCapabilities);
+    method @NonNull public android.location.GnssCapabilities build();
+    method @NonNull public android.location.GnssCapabilities.Builder setHasAntennaInfo(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurements(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasNavigationMessages(boolean);
+  }
+
+  public final class GnssClock implements android.os.Parcelable {
+    method public int describeContents();
+    method public double getBiasNanos();
+    method @FloatRange(from=0.0f) public double getBiasUncertaintyNanos();
+    method public double getDriftNanosPerSecond();
+    method @FloatRange(from=0.0f) public double getDriftUncertaintyNanosPerSecond();
+    method public long getElapsedRealtimeNanos();
+    method @FloatRange(from=0.0f) public double getElapsedRealtimeUncertaintyNanos();
+    method public long getFullBiasNanos();
+    method public int getHardwareClockDiscontinuityCount();
+    method public int getLeapSecond();
+    method @FloatRange(from=0.0) public double getReferenceCarrierFrequencyHzForIsb();
+    method @NonNull public String getReferenceCodeTypeForIsb();
+    method public int getReferenceConstellationTypeForIsb();
+    method public long getTimeNanos();
+    method @FloatRange(from=0.0f) public double getTimeUncertaintyNanos();
+    method public boolean hasBiasNanos();
+    method public boolean hasBiasUncertaintyNanos();
+    method public boolean hasDriftNanosPerSecond();
+    method public boolean hasDriftUncertaintyNanosPerSecond();
+    method public boolean hasElapsedRealtimeNanos();
+    method public boolean hasElapsedRealtimeUncertaintyNanos();
+    method public boolean hasFullBiasNanos();
+    method public boolean hasLeapSecond();
+    method public boolean hasReferenceCarrierFrequencyHzForIsb();
+    method public boolean hasReferenceCodeTypeForIsb();
+    method public boolean hasReferenceConstellationTypeForIsb();
+    method public boolean hasTimeUncertaintyNanos();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssClock> CREATOR;
+  }
+
+  public final class GnssMeasurement implements android.os.Parcelable {
+    method public int describeContents();
+    method public double getAccumulatedDeltaRangeMeters();
+    method public int getAccumulatedDeltaRangeState();
+    method public double getAccumulatedDeltaRangeUncertaintyMeters();
+    method public double getAutomaticGainControlLevelDb();
+    method @FloatRange(from=0, to=63) public double getBasebandCn0DbHz();
+    method @Deprecated public long getCarrierCycles();
+    method public float getCarrierFrequencyHz();
+    method @Deprecated public double getCarrierPhase();
+    method @Deprecated public double getCarrierPhaseUncertainty();
+    method @FloatRange(from=0, to=63) public double getCn0DbHz();
+    method @NonNull public String getCodeType();
+    method public int getConstellationType();
+    method public double getFullInterSignalBiasNanos();
+    method @FloatRange(from=0.0) public double getFullInterSignalBiasUncertaintyNanos();
+    method public int getMultipathIndicator();
+    method public double getPseudorangeRateMetersPerSecond();
+    method public double getPseudorangeRateUncertaintyMetersPerSecond();
+    method public long getReceivedSvTimeNanos();
+    method public long getReceivedSvTimeUncertaintyNanos();
+    method public double getSatelliteInterSignalBiasNanos();
+    method @FloatRange(from=0.0) public double getSatelliteInterSignalBiasUncertaintyNanos();
+    method public double getSnrInDb();
+    method public int getState();
+    method public int getSvid();
+    method public double getTimeOffsetNanos();
+    method public boolean hasAutomaticGainControlLevelDb();
+    method public boolean hasBasebandCn0DbHz();
+    method @Deprecated public boolean hasCarrierCycles();
+    method public boolean hasCarrierFrequencyHz();
+    method @Deprecated public boolean hasCarrierPhase();
+    method @Deprecated public boolean hasCarrierPhaseUncertainty();
+    method public boolean hasCodeType();
+    method public boolean hasFullInterSignalBiasNanos();
+    method public boolean hasFullInterSignalBiasUncertaintyNanos();
+    method public boolean hasSatelliteInterSignalBiasNanos();
+    method public boolean hasSatelliteInterSignalBiasUncertaintyNanos();
+    method public boolean hasSnrInDb();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ADR_STATE_CYCLE_SLIP = 4; // 0x4
+    field public static final int ADR_STATE_HALF_CYCLE_REPORTED = 16; // 0x10
+    field public static final int ADR_STATE_HALF_CYCLE_RESOLVED = 8; // 0x8
+    field public static final int ADR_STATE_RESET = 2; // 0x2
+    field public static final int ADR_STATE_UNKNOWN = 0; // 0x0
+    field public static final int ADR_STATE_VALID = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurement> CREATOR;
+    field public static final int MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
+    field public static final int MULTIPATH_INDICATOR_NOT_DETECTED = 2; // 0x2
+    field public static final int MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
+    field public static final int STATE_2ND_CODE_LOCK = 65536; // 0x10000
+    field public static final int STATE_BDS_D2_BIT_SYNC = 256; // 0x100
+    field public static final int STATE_BDS_D2_SUBFRAME_SYNC = 512; // 0x200
+    field public static final int STATE_BIT_SYNC = 2; // 0x2
+    field public static final int STATE_CODE_LOCK = 1; // 0x1
+    field public static final int STATE_GAL_E1BC_CODE_LOCK = 1024; // 0x400
+    field public static final int STATE_GAL_E1B_PAGE_SYNC = 4096; // 0x1000
+    field public static final int STATE_GAL_E1C_2ND_CODE_LOCK = 2048; // 0x800
+    field public static final int STATE_GLO_STRING_SYNC = 64; // 0x40
+    field public static final int STATE_GLO_TOD_DECODED = 128; // 0x80
+    field public static final int STATE_GLO_TOD_KNOWN = 32768; // 0x8000
+    field public static final int STATE_MSEC_AMBIGUOUS = 16; // 0x10
+    field public static final int STATE_SBAS_SYNC = 8192; // 0x2000
+    field public static final int STATE_SUBFRAME_SYNC = 4; // 0x4
+    field public static final int STATE_SYMBOL_SYNC = 32; // 0x20
+    field public static final int STATE_TOW_DECODED = 8; // 0x8
+    field public static final int STATE_TOW_KNOWN = 16384; // 0x4000
+    field public static final int STATE_UNKNOWN = 0; // 0x0
+  }
+
+  public final class GnssMeasurementRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isFullTracking();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurementRequest> CREATOR;
+  }
+
+  public static final class GnssMeasurementRequest.Builder {
+    ctor public GnssMeasurementRequest.Builder();
+    ctor public GnssMeasurementRequest.Builder(@NonNull android.location.GnssMeasurementRequest);
+    method @NonNull public android.location.GnssMeasurementRequest build();
+    method @NonNull public android.location.GnssMeasurementRequest.Builder setFullTracking(boolean);
+  }
+
+  public final class GnssMeasurementsEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.location.GnssClock getClock();
+    method @NonNull public java.util.Collection<android.location.GnssMeasurement> getMeasurements();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurementsEvent> CREATOR;
+  }
+
+  public abstract static class GnssMeasurementsEvent.Callback {
+    ctor public GnssMeasurementsEvent.Callback();
+    method public void onGnssMeasurementsReceived(android.location.GnssMeasurementsEvent);
+    method @Deprecated public void onStatusChanged(int);
+    field @Deprecated public static final int STATUS_LOCATION_DISABLED = 2; // 0x2
+    field @Deprecated public static final int STATUS_NOT_ALLOWED = 3; // 0x3
+    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
+    field @Deprecated public static final int STATUS_READY = 1; // 0x1
+  }
+
+  public final class GnssNavigationMessage implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public byte[] getData();
+    method @IntRange(from=0xffffffff, to=120) public int getMessageId();
+    method public int getStatus();
+    method @IntRange(from=1) public int getSubmessageId();
+    method @IntRange(from=1, to=200) public int getSvid();
+    method public int getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssNavigationMessage> CREATOR;
+    field public static final int STATUS_PARITY_PASSED = 1; // 0x1
+    field public static final int STATUS_PARITY_REBUILT = 2; // 0x2
+    field public static final int STATUS_UNKNOWN = 0; // 0x0
+    field public static final int TYPE_BDS_CNAV1 = 1283; // 0x503
+    field public static final int TYPE_BDS_CNAV2 = 1284; // 0x504
+    field public static final int TYPE_BDS_D1 = 1281; // 0x501
+    field public static final int TYPE_BDS_D2 = 1282; // 0x502
+    field public static final int TYPE_GAL_F = 1538; // 0x602
+    field public static final int TYPE_GAL_I = 1537; // 0x601
+    field public static final int TYPE_GLO_L1CA = 769; // 0x301
+    field public static final int TYPE_GPS_CNAV2 = 260; // 0x104
+    field public static final int TYPE_GPS_L1CA = 257; // 0x101
+    field public static final int TYPE_GPS_L2CNAV = 258; // 0x102
+    field public static final int TYPE_GPS_L5CNAV = 259; // 0x103
+    field public static final int TYPE_IRN_L5CA = 1793; // 0x701
+    field public static final int TYPE_QZS_L1CA = 1025; // 0x401
+    field public static final int TYPE_SBS = 513; // 0x201
+    field public static final int TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  public abstract static class GnssNavigationMessage.Callback {
+    ctor public GnssNavigationMessage.Callback();
+    method public void onGnssNavigationMessageReceived(android.location.GnssNavigationMessage);
+    method @Deprecated public void onStatusChanged(int);
+    field @Deprecated public static final int STATUS_LOCATION_DISABLED = 2; // 0x2
+    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
+    field @Deprecated public static final int STATUS_READY = 1; // 0x1
+  }
+
+  public final class GnssStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0, to=360) public float getAzimuthDegrees(@IntRange(from=0) int);
+    method @FloatRange(from=0, to=63) public float getBasebandCn0DbHz(@IntRange(from=0) int);
+    method @FloatRange(from=0) public float getCarrierFrequencyHz(@IntRange(from=0) int);
+    method @FloatRange(from=0, to=63) public float getCn0DbHz(@IntRange(from=0) int);
+    method public int getConstellationType(@IntRange(from=0) int);
+    method @FloatRange(from=0xffffffa6, to=90) public float getElevationDegrees(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getSatelliteCount();
+    method @IntRange(from=1, to=200) public int getSvid(@IntRange(from=0) int);
+    method public boolean hasAlmanacData(@IntRange(from=0) int);
+    method public boolean hasBasebandCn0DbHz(@IntRange(from=0) int);
+    method public boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+    method public boolean hasEphemerisData(@IntRange(from=0) int);
+    method public boolean usedInFix(@IntRange(from=0) int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+    field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+    field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+    field public static final int CONSTELLATION_GPS = 1; // 0x1
+    field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+    field public static final int CONSTELLATION_QZSS = 4; // 0x4
+    field public static final int CONSTELLATION_SBAS = 2; // 0x2
+    field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssStatus> CREATOR;
+  }
+
+  public static final class GnssStatus.Builder {
+    ctor public GnssStatus.Builder();
+    method @NonNull public android.location.GnssStatus.Builder addSatellite(int, @IntRange(from=1, to=200) int, @FloatRange(from=0, to=63) float, @FloatRange(from=0xffffffa6, to=90) float, @FloatRange(from=0, to=360) float, boolean, boolean, boolean, boolean, @FloatRange(from=0) float, boolean, @FloatRange(from=0, to=63) float);
+    method @NonNull public android.location.GnssStatus build();
+    method @NonNull public android.location.GnssStatus.Builder clearSatellites();
+  }
+
+  public abstract static class GnssStatus.Callback {
+    ctor public GnssStatus.Callback();
+    method public void onFirstFix(int);
+    method public void onSatelliteStatusChanged(@NonNull android.location.GnssStatus);
+    method public void onStarted();
+    method public void onStopped();
+  }
+
+  @Deprecated public final class GpsSatellite {
+    method @Deprecated public float getAzimuth();
+    method @Deprecated public float getElevation();
+    method @Deprecated public int getPrn();
+    method @Deprecated public float getSnr();
+    method @Deprecated public boolean hasAlmanac();
+    method @Deprecated public boolean hasEphemeris();
+    method @Deprecated public boolean usedInFix();
+  }
+
+  @Deprecated public final class GpsStatus {
+    method @Deprecated @NonNull public static android.location.GpsStatus create(@NonNull android.location.GnssStatus, int);
+    method @Deprecated public int getMaxSatellites();
+    method @Deprecated public Iterable<android.location.GpsSatellite> getSatellites();
+    method @Deprecated public int getTimeToFirstFix();
+    field @Deprecated public static final int GPS_EVENT_FIRST_FIX = 3; // 0x3
+    field @Deprecated public static final int GPS_EVENT_SATELLITE_STATUS = 4; // 0x4
+    field @Deprecated public static final int GPS_EVENT_STARTED = 1; // 0x1
+    field @Deprecated public static final int GPS_EVENT_STOPPED = 2; // 0x2
+  }
+
+  @Deprecated public static interface GpsStatus.Listener {
+    method @Deprecated public void onGpsStatusChanged(int);
+  }
+
+  @Deprecated public static interface GpsStatus.NmeaListener {
+    method @Deprecated public void onNmeaReceived(long, String);
+  }
+
+  public class Location implements android.os.Parcelable {
+    ctor public Location(String);
+    ctor public Location(android.location.Location);
+    method public float bearingTo(android.location.Location);
+    method public static String convert(double, int);
+    method public static double convert(String);
+    method public int describeContents();
+    method public static void distanceBetween(double, double, double, double, float[]);
+    method public float distanceTo(android.location.Location);
+    method public void dump(android.util.Printer, String);
+    method public float getAccuracy();
+    method public double getAltitude();
+    method public float getBearing();
+    method public float getBearingAccuracyDegrees();
+    method public long getElapsedRealtimeNanos();
+    method public double getElapsedRealtimeUncertaintyNanos();
+    method public android.os.Bundle getExtras();
+    method public double getLatitude();
+    method public double getLongitude();
+    method public String getProvider();
+    method public float getSpeed();
+    method public float getSpeedAccuracyMetersPerSecond();
+    method public long getTime();
+    method public float getVerticalAccuracyMeters();
+    method public boolean hasAccuracy();
+    method public boolean hasAltitude();
+    method public boolean hasBearing();
+    method public boolean hasBearingAccuracy();
+    method public boolean hasElapsedRealtimeUncertaintyNanos();
+    method public boolean hasSpeed();
+    method public boolean hasSpeedAccuracy();
+    method public boolean hasVerticalAccuracy();
+    method @Deprecated public boolean isFromMockProvider();
+    method public boolean isMock();
+    method @Deprecated public void removeAccuracy();
+    method @Deprecated public void removeAltitude();
+    method @Deprecated public void removeBearing();
+    method @Deprecated public void removeSpeed();
+    method public void reset();
+    method public void set(android.location.Location);
+    method public void setAccuracy(float);
+    method public void setAltitude(double);
+    method public void setBearing(float);
+    method public void setBearingAccuracyDegrees(float);
+    method public void setElapsedRealtimeNanos(long);
+    method public void setElapsedRealtimeUncertaintyNanos(double);
+    method public void setExtras(@Nullable android.os.Bundle);
+    method public void setLatitude(double);
+    method public void setLongitude(double);
+    method public void setMock(boolean);
+    method public void setProvider(String);
+    method public void setSpeed(float);
+    method public void setSpeedAccuracyMetersPerSecond(float);
+    method public void setTime(long);
+    method public void setVerticalAccuracyMeters(float);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.Location> CREATOR;
+    field public static final int FORMAT_DEGREES = 0; // 0x0
+    field public static final int FORMAT_MINUTES = 1; // 0x1
+    field public static final int FORMAT_SECONDS = 2; // 0x2
+  }
+
+  public interface LocationListener {
+    method public default void onFlushComplete(int);
+    method public void onLocationChanged(@NonNull android.location.Location);
+    method public default void onLocationChanged(@NonNull java.util.List<android.location.Location>);
+    method public default void onProviderDisabled(@NonNull String);
+    method public default void onProviderEnabled(@NonNull String);
+    method @Deprecated public default void onStatusChanged(String, int, android.os.Bundle);
+  }
+
+  public class LocationManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addGpsStatusListener(android.location.GpsStatus.Listener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.GpsStatus.NmeaListener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.OnNmeaMessageListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.OnNmeaMessageListener, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.OnNmeaMessageListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void addProximityAlert(double, double, float, long, @NonNull android.app.PendingIntent);
+    method public void addTestProvider(@NonNull String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int);
+    method public void addTestProvider(@NonNull String, @NonNull android.location.provider.ProviderProperties);
+    method public void addTestProvider(@NonNull String, @NonNull android.location.provider.ProviderProperties, @NonNull java.util.Set<java.lang.String>);
+    method @Deprecated public void clearTestProviderEnabled(@NonNull String);
+    method @Deprecated public void clearTestProviderLocation(@NonNull String);
+    method @Deprecated public void clearTestProviderStatus(@NonNull String);
+    method @NonNull public java.util.List<java.lang.String> getAllProviders();
+    method @Nullable public String getBestProvider(@NonNull android.location.Criteria, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull String, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Location>);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull String, @NonNull android.location.LocationRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Location>);
+    method @Nullable public java.util.List<android.location.GnssAntennaInfo> getGnssAntennaInfos();
+    method @NonNull public android.location.GnssCapabilities getGnssCapabilities();
+    method @Nullable public String getGnssHardwareModelName();
+    method public int getGnssYearOfHardware();
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.location.GpsStatus getGpsStatus(@Nullable android.location.GpsStatus);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.location.Location getLastKnownLocation(@NonNull String);
+    method @Deprecated @Nullable public android.location.LocationProvider getProvider(@NonNull String);
+    method @Nullable public android.location.provider.ProviderProperties getProviderProperties(@NonNull String);
+    method @NonNull public java.util.List<java.lang.String> getProviders(boolean);
+    method @NonNull public java.util.List<java.lang.String> getProviders(@NonNull android.location.Criteria, boolean);
+    method public boolean hasProvider(@NonNull String);
+    method public boolean isLocationEnabled();
+    method public boolean isProviderEnabled(@NonNull String);
+    method public boolean registerAntennaInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssAntennaInfo.Listener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
+    method @Deprecated public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssNavigationMessageCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssNavigationMessage.Callback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull android.location.GnssStatus.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull android.location.GnssStatus.Callback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssStatus.Callback);
+    method @Deprecated public void removeGpsStatusListener(android.location.GpsStatus.Listener);
+    method @Deprecated public void removeNmeaListener(@NonNull android.location.GpsStatus.NmeaListener);
+    method public void removeNmeaListener(@NonNull android.location.OnNmeaMessageListener);
+    method @RequiresPermission(anyOf={"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}, apis="..22") public void removeProximityAlert(@NonNull android.app.PendingIntent);
+    method public void removeTestProvider(@NonNull String);
+    method @RequiresPermission(anyOf={"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}, apis="..22") public void removeUpdates(@NonNull android.location.LocationListener);
+    method public void removeUpdates(@NonNull android.app.PendingIntent);
+    method public void requestFlush(@NonNull String, @NonNull android.location.LocationListener, int);
+    method public void requestFlush(@NonNull String, @NonNull android.app.PendingIntent, int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.location.LocationListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.app.PendingIntent);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, @NonNull android.location.LocationRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, @NonNull android.location.LocationRequest, @NonNull android.app.PendingIntent);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull String, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull android.location.Criteria, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull String, @NonNull android.app.PendingIntent);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull android.location.Criteria, @NonNull android.app.PendingIntent);
+    method public boolean sendExtraCommand(@NonNull String, @NonNull String, @Nullable android.os.Bundle);
+    method public void setTestProviderEnabled(@NonNull String, boolean);
+    method public void setTestProviderLocation(@NonNull String, @NonNull android.location.Location);
+    method @Deprecated public void setTestProviderStatus(@NonNull String, int, @Nullable android.os.Bundle, long);
+    method public void unregisterAntennaInfoListener(@NonNull android.location.GnssAntennaInfo.Listener);
+    method public void unregisterGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback);
+    method public void unregisterGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback);
+    method public void unregisterGnssStatusCallback(@NonNull android.location.GnssStatus.Callback);
+    field public static final String ACTION_GNSS_CAPABILITIES_CHANGED = "android.location.action.GNSS_CAPABILITIES_CHANGED";
+    field public static final String EXTRA_GNSS_CAPABILITIES = "android.location.extra.GNSS_CAPABILITIES";
+    field public static final String EXTRA_LOCATION_ENABLED = "android.location.extra.LOCATION_ENABLED";
+    field public static final String EXTRA_PROVIDER_ENABLED = "android.location.extra.PROVIDER_ENABLED";
+    field public static final String EXTRA_PROVIDER_NAME = "android.location.extra.PROVIDER_NAME";
+    field public static final String FUSED_PROVIDER = "fused";
+    field public static final String GPS_PROVIDER = "gps";
+    field public static final String KEY_FLUSH_COMPLETE = "flushComplete";
+    field public static final String KEY_LOCATIONS = "locations";
+    field public static final String KEY_LOCATION_CHANGED = "location";
+    field public static final String KEY_PROVIDER_ENABLED = "providerEnabled";
+    field public static final String KEY_PROXIMITY_ENTERING = "entering";
+    field @Deprecated public static final String KEY_STATUS_CHANGED = "status";
+    field public static final String MODE_CHANGED_ACTION = "android.location.MODE_CHANGED";
+    field public static final String NETWORK_PROVIDER = "network";
+    field public static final String PASSIVE_PROVIDER = "passive";
+    field public static final String PROVIDERS_CHANGED_ACTION = "android.location.PROVIDERS_CHANGED";
+  }
+
+  @Deprecated public class LocationProvider {
+    method @Deprecated public int getAccuracy();
+    method @Deprecated public String getName();
+    method @Deprecated public int getPowerRequirement();
+    method @Deprecated public boolean hasMonetaryCost();
+    method @Deprecated public boolean meetsCriteria(android.location.Criteria);
+    method @Deprecated public boolean requiresCell();
+    method @Deprecated public boolean requiresNetwork();
+    method @Deprecated public boolean requiresSatellite();
+    method @Deprecated public boolean supportsAltitude();
+    method @Deprecated public boolean supportsBearing();
+    method @Deprecated public boolean supportsSpeed();
+    field @Deprecated public static final int AVAILABLE = 2; // 0x2
+    field @Deprecated public static final int OUT_OF_SERVICE = 0; // 0x0
+    field @Deprecated public static final int TEMPORARILY_UNAVAILABLE = 1; // 0x1
+  }
+
+  public final class LocationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=1) public long getDurationMillis();
+    method @IntRange(from=0) public long getIntervalMillis();
+    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
+    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMaxUpdates();
+    method @FloatRange(from=0, to=java.lang.Float.MAX_VALUE) public float getMinUpdateDistanceMeters();
+    method @IntRange(from=0) public long getMinUpdateIntervalMillis();
+    method public int getQuality();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.LocationRequest> CREATOR;
+    field public static final long PASSIVE_INTERVAL = 9223372036854775807L; // 0x7fffffffffffffffL
+    field public static final int QUALITY_BALANCED_POWER_ACCURACY = 102; // 0x66
+    field public static final int QUALITY_HIGH_ACCURACY = 100; // 0x64
+    field public static final int QUALITY_LOW_POWER = 104; // 0x68
+  }
+
+  public static final class LocationRequest.Builder {
+    ctor public LocationRequest.Builder(long);
+    ctor public LocationRequest.Builder(@NonNull android.location.LocationRequest);
+    method @NonNull public android.location.LocationRequest build();
+    method @NonNull public android.location.LocationRequest.Builder clearMinUpdateIntervalMillis();
+    method @NonNull public android.location.LocationRequest.Builder setDurationMillis(@IntRange(from=1) long);
+    method @NonNull public android.location.LocationRequest.Builder setIntervalMillis(@IntRange(from=0) long);
+    method @NonNull public android.location.LocationRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
+    method @NonNull public android.location.LocationRequest.Builder setMaxUpdates(@IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.location.LocationRequest.Builder setMinUpdateDistanceMeters(@FloatRange(from=0, to=java.lang.Float.MAX_VALUE) float);
+    method @NonNull public android.location.LocationRequest.Builder setMinUpdateIntervalMillis(@IntRange(from=0) long);
+    method @NonNull public android.location.LocationRequest.Builder setQuality(int);
+  }
+
+  public interface OnNmeaMessageListener {
+    method public void onNmeaMessage(String, long);
+  }
+
+  public abstract class SettingInjectorService extends android.app.Service {
+    ctor public SettingInjectorService(String);
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method protected abstract boolean onGetEnabled();
+    method protected abstract String onGetSummary();
+    method public final void onStart(android.content.Intent, int);
+    method public final int onStartCommand(android.content.Intent, int, int);
+    method public static final void refreshSettings(@NonNull android.content.Context);
+    field public static final String ACTION_INJECTED_SETTING_CHANGED = "android.location.InjectedSettingChanged";
+    field public static final String ACTION_SERVICE_INTENT = "android.location.SettingInjectorService";
+    field public static final String ATTRIBUTES_NAME = "injected-location-setting";
+    field public static final String META_DATA_NAME = "android.location.SettingInjectorService";
+  }
+
+}
+
+package android.location.provider {
+
+  public final class ProviderProperties implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAccuracy();
+    method public int getPowerUsage();
+    method public boolean hasAltitudeSupport();
+    method public boolean hasBearingSupport();
+    method public boolean hasCellRequirement();
+    method public boolean hasMonetaryCost();
+    method public boolean hasNetworkRequirement();
+    method public boolean hasSatelliteRequirement();
+    method public boolean hasSpeedSupport();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int ACCURACY_COARSE = 2; // 0x2
+    field public static final int ACCURACY_FINE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderProperties> CREATOR;
+    field public static final int POWER_USAGE_HIGH = 3; // 0x3
+    field public static final int POWER_USAGE_LOW = 1; // 0x1
+    field public static final int POWER_USAGE_MEDIUM = 2; // 0x2
+  }
+
+  public static final class ProviderProperties.Builder {
+    ctor public ProviderProperties.Builder();
+    ctor public ProviderProperties.Builder(@NonNull android.location.provider.ProviderProperties);
+    method @NonNull public android.location.provider.ProviderProperties build();
+    method @NonNull public android.location.provider.ProviderProperties.Builder setAccuracy(int);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasAltitudeSupport(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasBearingSupport(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasCellRequirement(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasMonetaryCost(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasNetworkRequirement(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasSatelliteRequirement(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasSpeedSupport(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setPowerUsage(int);
+  }
+
+}
+
+package android.media {
+
+  public class AsyncPlayer {
+    ctor public AsyncPlayer(String);
+    method @Deprecated public void play(android.content.Context, android.net.Uri, boolean, int);
+    method public void play(@NonNull android.content.Context, @NonNull android.net.Uri, boolean, @NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method public void stop();
+  }
+
+  public final class AudioAttributes implements android.os.Parcelable {
+    method public boolean areHapticChannelsMuted();
+    method public int describeContents();
+    method public int getAllowedCapturePolicy();
+    method public int getContentType();
+    method public int getFlags();
+    method public int getSpatializationBehavior();
+    method public int getUsage();
+    method public int getVolumeControlStream();
+    method public boolean isContentSpatialized();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ALLOW_CAPTURE_BY_ALL = 1; // 0x1
+    field public static final int ALLOW_CAPTURE_BY_NONE = 3; // 0x3
+    field public static final int ALLOW_CAPTURE_BY_SYSTEM = 2; // 0x2
+    field public static final int CONTENT_TYPE_MOVIE = 3; // 0x3
+    field public static final int CONTENT_TYPE_MUSIC = 2; // 0x2
+    field public static final int CONTENT_TYPE_SONIFICATION = 4; // 0x4
+    field public static final int CONTENT_TYPE_SPEECH = 1; // 0x1
+    field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioAttributes> CREATOR;
+    field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1
+    field public static final int FLAG_HW_AV_SYNC = 16; // 0x10
+    field @Deprecated public static final int FLAG_LOW_LATENCY = 256; // 0x100
+    field public static final int SPATIALIZATION_BEHAVIOR_AUTO = 0; // 0x0
+    field public static final int SPATIALIZATION_BEHAVIOR_NEVER = 1; // 0x1
+    field public static final int USAGE_ALARM = 4; // 0x4
+    field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb
+    field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc
+    field public static final int USAGE_ASSISTANCE_SONIFICATION = 13; // 0xd
+    field public static final int USAGE_ASSISTANT = 16; // 0x10
+    field public static final int USAGE_GAME = 14; // 0xe
+    field public static final int USAGE_MEDIA = 1; // 0x1
+    field public static final int USAGE_NOTIFICATION = 5; // 0x5
+    field public static final int USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9; // 0x9
+    field public static final int USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8; // 0x8
+    field public static final int USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7; // 0x7
+    field public static final int USAGE_NOTIFICATION_EVENT = 10; // 0xa
+    field public static final int USAGE_NOTIFICATION_RINGTONE = 6; // 0x6
+    field public static final int USAGE_UNKNOWN = 0; // 0x0
+    field public static final int USAGE_VOICE_COMMUNICATION = 2; // 0x2
+    field public static final int USAGE_VOICE_COMMUNICATION_SIGNALLING = 3; // 0x3
+  }
+
+  public static class AudioAttributes.Builder {
+    ctor public AudioAttributes.Builder();
+    ctor public AudioAttributes.Builder(android.media.AudioAttributes);
+    method public android.media.AudioAttributes build();
+    method @NonNull public android.media.AudioAttributes.Builder setAllowedCapturePolicy(int);
+    method public android.media.AudioAttributes.Builder setContentType(int);
+    method public android.media.AudioAttributes.Builder setFlags(int);
+    method @NonNull public android.media.AudioAttributes.Builder setHapticChannelsMuted(boolean);
+    method @NonNull public android.media.AudioAttributes.Builder setIsContentSpatialized(boolean);
+    method public android.media.AudioAttributes.Builder setLegacyStreamType(int);
+    method @NonNull public android.media.AudioAttributes.Builder setSpatializationBehavior(int);
+    method public android.media.AudioAttributes.Builder setUsage(int);
+  }
+
+  public class AudioDescriptor {
+    method @NonNull public byte[] getDescriptor();
+    method public int getEncapsulationType();
+    method public int getStandard();
+    field public static final int STANDARD_EDID = 1; // 0x1
+    field public static final int STANDARD_NONE = 0; // 0x0
+  }
+
+  public abstract class AudioDeviceCallback {
+    ctor public AudioDeviceCallback();
+    method public void onAudioDevicesAdded(android.media.AudioDeviceInfo[]);
+    method public void onAudioDevicesRemoved(android.media.AudioDeviceInfo[]);
+  }
+
+  public final class AudioDeviceInfo {
+    method @NonNull public String getAddress();
+    method @NonNull public java.util.List<android.media.AudioDescriptor> getAudioDescriptors();
+    method @NonNull public java.util.List<android.media.AudioProfile> getAudioProfiles();
+    method @NonNull public int[] getChannelCounts();
+    method @NonNull public int[] getChannelIndexMasks();
+    method @NonNull public int[] getChannelMasks();
+    method @NonNull public int[] getEncapsulationMetadataTypes();
+    method @NonNull public int[] getEncapsulationModes();
+    method @NonNull public int[] getEncodings();
+    method public int getId();
+    method public CharSequence getProductName();
+    method @NonNull public int[] getSampleRates();
+    method public int getType();
+    method public boolean isSink();
+    method public boolean isSource();
+    field public static final int TYPE_AUX_LINE = 19; // 0x13
+    field public static final int TYPE_BLE_HEADSET = 26; // 0x1a
+    field public static final int TYPE_BLE_SPEAKER = 27; // 0x1b
+    field public static final int TYPE_BLUETOOTH_A2DP = 8; // 0x8
+    field public static final int TYPE_BLUETOOTH_SCO = 7; // 0x7
+    field public static final int TYPE_BUILTIN_EARPIECE = 1; // 0x1
+    field public static final int TYPE_BUILTIN_MIC = 15; // 0xf
+    field public static final int TYPE_BUILTIN_SPEAKER = 2; // 0x2
+    field public static final int TYPE_BUILTIN_SPEAKER_SAFE = 24; // 0x18
+    field public static final int TYPE_BUS = 21; // 0x15
+    field public static final int TYPE_DOCK = 13; // 0xd
+    field public static final int TYPE_FM = 14; // 0xe
+    field public static final int TYPE_FM_TUNER = 16; // 0x10
+    field public static final int TYPE_HDMI = 9; // 0x9
+    field public static final int TYPE_HDMI_ARC = 10; // 0xa
+    field public static final int TYPE_HDMI_EARC = 29; // 0x1d
+    field public static final int TYPE_HEARING_AID = 23; // 0x17
+    field public static final int TYPE_IP = 20; // 0x14
+    field public static final int TYPE_LINE_ANALOG = 5; // 0x5
+    field public static final int TYPE_LINE_DIGITAL = 6; // 0x6
+    field public static final int TYPE_REMOTE_SUBMIX = 25; // 0x19
+    field public static final int TYPE_TELEPHONY = 18; // 0x12
+    field public static final int TYPE_TV_TUNER = 17; // 0x11
+    field public static final int TYPE_UNKNOWN = 0; // 0x0
+    field public static final int TYPE_USB_ACCESSORY = 12; // 0xc
+    field public static final int TYPE_USB_DEVICE = 11; // 0xb
+    field public static final int TYPE_USB_HEADSET = 22; // 0x16
+    field public static final int TYPE_WIRED_HEADPHONES = 4; // 0x4
+    field public static final int TYPE_WIRED_HEADSET = 3; // 0x3
+  }
+
+  public final class AudioFocusRequest {
+    method public boolean acceptsDelayedFocusGain();
+    method @NonNull public android.media.AudioAttributes getAudioAttributes();
+    method public int getFocusGain();
+    method public boolean willPauseWhenDucked();
+  }
+
+  public static final class AudioFocusRequest.Builder {
+    ctor public AudioFocusRequest.Builder(int);
+    ctor public AudioFocusRequest.Builder(@NonNull android.media.AudioFocusRequest);
+    method public android.media.AudioFocusRequest build();
+    method @NonNull public android.media.AudioFocusRequest.Builder setAcceptsDelayedFocusGain(boolean);
+    method @NonNull public android.media.AudioFocusRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
+    method @NonNull public android.media.AudioFocusRequest.Builder setFocusGain(int);
+    method @NonNull public android.media.AudioFocusRequest.Builder setForceDucking(boolean);
+    method @NonNull public android.media.AudioFocusRequest.Builder setOnAudioFocusChangeListener(@NonNull android.media.AudioManager.OnAudioFocusChangeListener);
+    method @NonNull public android.media.AudioFocusRequest.Builder setOnAudioFocusChangeListener(@NonNull android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.os.Handler);
+    method @NonNull public android.media.AudioFocusRequest.Builder setWillPauseWhenDucked(boolean);
+  }
+
+  public final class AudioFormat implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getChannelCount();
+    method public int getChannelIndexMask();
+    method public int getChannelMask();
+    method public int getEncoding();
+    method @IntRange(from=1) public int getFrameSizeInBytes();
+    method public int getSampleRate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final int CHANNEL_CONFIGURATION_DEFAULT = 1; // 0x1
+    field @Deprecated public static final int CHANNEL_CONFIGURATION_INVALID = 0; // 0x0
+    field @Deprecated public static final int CHANNEL_CONFIGURATION_MONO = 2; // 0x2
+    field @Deprecated public static final int CHANNEL_CONFIGURATION_STEREO = 3; // 0x3
+    field public static final int CHANNEL_INVALID = 0; // 0x0
+    field public static final int CHANNEL_IN_BACK = 32; // 0x20
+    field public static final int CHANNEL_IN_BACK_PROCESSED = 512; // 0x200
+    field public static final int CHANNEL_IN_DEFAULT = 1; // 0x1
+    field public static final int CHANNEL_IN_FRONT = 16; // 0x10
+    field public static final int CHANNEL_IN_FRONT_PROCESSED = 256; // 0x100
+    field public static final int CHANNEL_IN_LEFT = 4; // 0x4
+    field public static final int CHANNEL_IN_LEFT_PROCESSED = 64; // 0x40
+    field public static final int CHANNEL_IN_MONO = 16; // 0x10
+    field public static final int CHANNEL_IN_PRESSURE = 1024; // 0x400
+    field public static final int CHANNEL_IN_RIGHT = 8; // 0x8
+    field public static final int CHANNEL_IN_RIGHT_PROCESSED = 128; // 0x80
+    field public static final int CHANNEL_IN_STEREO = 12; // 0xc
+    field public static final int CHANNEL_IN_VOICE_DNLINK = 32768; // 0x8000
+    field public static final int CHANNEL_IN_VOICE_UPLINK = 16384; // 0x4000
+    field public static final int CHANNEL_IN_X_AXIS = 2048; // 0x800
+    field public static final int CHANNEL_IN_Y_AXIS = 4096; // 0x1000
+    field public static final int CHANNEL_IN_Z_AXIS = 8192; // 0x2000
+    field public static final int CHANNEL_OUT_5POINT1 = 252; // 0xfc
+    field public static final int CHANNEL_OUT_5POINT1POINT2 = 3145980; // 0x3000fc
+    field public static final int CHANNEL_OUT_5POINT1POINT4 = 737532; // 0xb40fc
+    field @Deprecated public static final int CHANNEL_OUT_7POINT1 = 1020; // 0x3fc
+    field public static final int CHANNEL_OUT_7POINT1POINT2 = 3152124; // 0x3018fc
+    field public static final int CHANNEL_OUT_7POINT1POINT4 = 743676; // 0xb58fc
+    field public static final int CHANNEL_OUT_7POINT1_SURROUND = 6396; // 0x18fc
+    field public static final int CHANNEL_OUT_9POINT1POINT4 = 202070268; // 0xc0b58fc
+    field public static final int CHANNEL_OUT_9POINT1POINT6 = 205215996; // 0xc3b58fc
+    field public static final int CHANNEL_OUT_BACK_CENTER = 1024; // 0x400
+    field public static final int CHANNEL_OUT_BACK_LEFT = 64; // 0x40
+    field public static final int CHANNEL_OUT_BACK_RIGHT = 128; // 0x80
+    field public static final int CHANNEL_OUT_BOTTOM_FRONT_CENTER = 8388608; // 0x800000
+    field public static final int CHANNEL_OUT_BOTTOM_FRONT_LEFT = 4194304; // 0x400000
+    field public static final int CHANNEL_OUT_BOTTOM_FRONT_RIGHT = 16777216; // 0x1000000
+    field public static final int CHANNEL_OUT_DEFAULT = 1; // 0x1
+    field public static final int CHANNEL_OUT_FRONT_CENTER = 16; // 0x10
+    field public static final int CHANNEL_OUT_FRONT_LEFT = 4; // 0x4
+    field public static final int CHANNEL_OUT_FRONT_LEFT_OF_CENTER = 256; // 0x100
+    field public static final int CHANNEL_OUT_FRONT_RIGHT = 8; // 0x8
+    field public static final int CHANNEL_OUT_FRONT_RIGHT_OF_CENTER = 512; // 0x200
+    field public static final int CHANNEL_OUT_FRONT_WIDE_LEFT = 67108864; // 0x4000000
+    field public static final int CHANNEL_OUT_FRONT_WIDE_RIGHT = 134217728; // 0x8000000
+    field public static final int CHANNEL_OUT_LOW_FREQUENCY = 32; // 0x20
+    field public static final int CHANNEL_OUT_LOW_FREQUENCY_2 = 33554432; // 0x2000000
+    field public static final int CHANNEL_OUT_MONO = 4; // 0x4
+    field public static final int CHANNEL_OUT_QUAD = 204; // 0xcc
+    field public static final int CHANNEL_OUT_SIDE_LEFT = 2048; // 0x800
+    field public static final int CHANNEL_OUT_SIDE_RIGHT = 4096; // 0x1000
+    field public static final int CHANNEL_OUT_STEREO = 12; // 0xc
+    field public static final int CHANNEL_OUT_SURROUND = 1052; // 0x41c
+    field public static final int CHANNEL_OUT_TOP_BACK_CENTER = 262144; // 0x40000
+    field public static final int CHANNEL_OUT_TOP_BACK_LEFT = 131072; // 0x20000
+    field public static final int CHANNEL_OUT_TOP_BACK_RIGHT = 524288; // 0x80000
+    field public static final int CHANNEL_OUT_TOP_CENTER = 8192; // 0x2000
+    field public static final int CHANNEL_OUT_TOP_FRONT_CENTER = 32768; // 0x8000
+    field public static final int CHANNEL_OUT_TOP_FRONT_LEFT = 16384; // 0x4000
+    field public static final int CHANNEL_OUT_TOP_FRONT_RIGHT = 65536; // 0x10000
+    field public static final int CHANNEL_OUT_TOP_SIDE_LEFT = 1048576; // 0x100000
+    field public static final int CHANNEL_OUT_TOP_SIDE_RIGHT = 2097152; // 0x200000
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFormat> CREATOR;
+    field public static final int ENCODING_AAC_ELD = 15; // 0xf
+    field public static final int ENCODING_AAC_HE_V1 = 11; // 0xb
+    field public static final int ENCODING_AAC_HE_V2 = 12; // 0xc
+    field public static final int ENCODING_AAC_LC = 10; // 0xa
+    field public static final int ENCODING_AAC_XHE = 16; // 0x10
+    field public static final int ENCODING_AC3 = 5; // 0x5
+    field public static final int ENCODING_AC4 = 17; // 0x11
+    field public static final int ENCODING_DEFAULT = 1; // 0x1
+    field public static final int ENCODING_DOLBY_MAT = 19; // 0x13
+    field public static final int ENCODING_DOLBY_TRUEHD = 14; // 0xe
+    field public static final int ENCODING_DRA = 28; // 0x1c
+    field public static final int ENCODING_DTS = 7; // 0x7
+    field public static final int ENCODING_DTS_HD = 8; // 0x8
+    field public static final int ENCODING_DTS_UHD = 27; // 0x1b
+    field public static final int ENCODING_E_AC3 = 6; // 0x6
+    field public static final int ENCODING_E_AC3_JOC = 18; // 0x12
+    field public static final int ENCODING_IEC61937 = 13; // 0xd
+    field public static final int ENCODING_INVALID = 0; // 0x0
+    field public static final int ENCODING_MP3 = 9; // 0x9
+    field public static final int ENCODING_MPEGH_BL_L3 = 23; // 0x17
+    field public static final int ENCODING_MPEGH_BL_L4 = 24; // 0x18
+    field public static final int ENCODING_MPEGH_LC_L3 = 25; // 0x19
+    field public static final int ENCODING_MPEGH_LC_L4 = 26; // 0x1a
+    field public static final int ENCODING_OPUS = 20; // 0x14
+    field public static final int ENCODING_PCM_16BIT = 2; // 0x2
+    field public static final int ENCODING_PCM_24BIT_PACKED = 21; // 0x15
+    field public static final int ENCODING_PCM_32BIT = 22; // 0x16
+    field public static final int ENCODING_PCM_8BIT = 3; // 0x3
+    field public static final int ENCODING_PCM_FLOAT = 4; // 0x4
+    field public static final int SAMPLE_RATE_UNSPECIFIED = 0; // 0x0
+  }
+
+  public static class AudioFormat.Builder {
+    ctor public AudioFormat.Builder();
+    ctor public AudioFormat.Builder(android.media.AudioFormat);
+    method public android.media.AudioFormat build();
+    method @NonNull public android.media.AudioFormat.Builder setChannelIndexMask(int);
+    method @NonNull public android.media.AudioFormat.Builder setChannelMask(int);
+    method public android.media.AudioFormat.Builder setEncoding(int) throws java.lang.IllegalArgumentException;
+    method public android.media.AudioFormat.Builder setSampleRate(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public class AudioManager {
+    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener);
+    method public int abandonAudioFocusRequest(@NonNull android.media.AudioFocusRequest);
+    method public void addOnCommunicationDeviceChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnCommunicationDeviceChangedListener);
+    method public void addOnModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnModeChangedListener);
+    method public void adjustStreamVolume(int, int, int);
+    method public void adjustSuggestedStreamVolume(int, int, int);
+    method public void adjustVolume(int, int);
+    method public void clearCommunicationDevice();
+    method public void dispatchMediaKeyEvent(android.view.KeyEvent);
+    method public int generateAudioSessionId();
+    method @NonNull public java.util.List<android.media.AudioPlaybackConfiguration> getActivePlaybackConfigurations();
+    method @NonNull public java.util.List<android.media.AudioRecordingConfiguration> getActiveRecordingConfigurations();
+    method public int getAllowedCapturePolicy();
+    method public int getAudioHwSyncForSession(int);
+    method @NonNull public java.util.List<android.media.AudioDeviceInfo> getAvailableCommunicationDevices();
+    method @Nullable public android.media.AudioDeviceInfo getCommunicationDevice();
+    method public android.media.AudioDeviceInfo[] getDevices(int);
+    method public int getEncodedSurroundMode();
+    method public java.util.List<android.media.MicrophoneInfo> getMicrophones() throws java.io.IOException;
+    method public int getMode();
+    method public String getParameters(String);
+    method public static int getPlaybackOffloadSupport(@NonNull android.media.AudioFormat, @NonNull android.media.AudioAttributes);
+    method public String getProperty(String);
+    method public int getRingerMode();
+    method @Deprecated public int getRouting(int);
+    method @NonNull public android.media.Spatializer getSpatializer();
+    method public int getStreamMaxVolume(int);
+    method public int getStreamMinVolume(int);
+    method public int getStreamVolume(int);
+    method public float getStreamVolumeDb(int, int, int);
+    method @Deprecated public int getVibrateSetting(int);
+    method @Deprecated public boolean isBluetoothA2dpOn();
+    method public boolean isBluetoothScoAvailableOffCall();
+    method public boolean isBluetoothScoOn();
+    method public boolean isCallScreeningModeSupported();
+    method public static boolean isHapticPlaybackSupported();
+    method public boolean isMicrophoneMute();
+    method public boolean isMusicActive();
+    method public static boolean isOffloadedPlaybackSupported(@NonNull android.media.AudioFormat, @NonNull android.media.AudioAttributes);
+    method public boolean isSpeakerphoneOn();
+    method public boolean isStreamMute(int);
+    method public boolean isSurroundFormatEnabled(int);
+    method public boolean isVolumeFixed();
+    method @Deprecated public boolean isWiredHeadsetOn();
+    method public void loadSoundEffects();
+    method public void playSoundEffect(int);
+    method public void playSoundEffect(int, float);
+    method public void registerAudioDeviceCallback(android.media.AudioDeviceCallback, @Nullable android.os.Handler);
+    method public void registerAudioPlaybackCallback(@NonNull android.media.AudioManager.AudioPlaybackCallback, @Nullable android.os.Handler);
+    method public void registerAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback, @Nullable android.os.Handler);
+    method @Deprecated public void registerMediaButtonEventReceiver(android.content.ComponentName);
+    method @Deprecated public void registerMediaButtonEventReceiver(android.app.PendingIntent);
+    method @Deprecated public void registerRemoteControlClient(android.media.RemoteControlClient);
+    method @Deprecated public boolean registerRemoteController(android.media.RemoteController);
+    method public void removeOnCommunicationDeviceChangedListener(@NonNull android.media.AudioManager.OnCommunicationDeviceChangedListener);
+    method public void removeOnModeChangedListener(@NonNull android.media.AudioManager.OnModeChangedListener);
+    method @Deprecated public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, int, int);
+    method public int requestAudioFocus(@NonNull android.media.AudioFocusRequest);
+    method public void setAllowedCapturePolicy(int);
+    method @Deprecated public void setBluetoothA2dpOn(boolean);
+    method public void setBluetoothScoOn(boolean);
+    method public boolean setCommunicationDevice(@NonNull android.media.AudioDeviceInfo);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public boolean setEncodedSurroundMode(int);
+    method public void setMicrophoneMute(boolean);
+    method public void setMode(int);
+    method public void setParameters(String);
+    method public void setRingerMode(int);
+    method @Deprecated public void setRouting(int, int, int);
+    method public void setSpeakerphoneOn(boolean);
+    method @Deprecated public void setStreamMute(int, boolean);
+    method @Deprecated public void setStreamSolo(int, boolean);
+    method public void setStreamVolume(int, int, int);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public boolean setSurroundFormatEnabled(int, boolean);
+    method @Deprecated public void setVibrateSetting(int, int);
+    method @Deprecated public void setWiredHeadsetOn(boolean);
+    method @Deprecated public boolean shouldVibrate(int);
+    method public void startBluetoothSco();
+    method public void stopBluetoothSco();
+    method public void unloadSoundEffects();
+    method public void unregisterAudioDeviceCallback(android.media.AudioDeviceCallback);
+    method public void unregisterAudioPlaybackCallback(@NonNull android.media.AudioManager.AudioPlaybackCallback);
+    method public void unregisterAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback);
+    method @Deprecated public void unregisterMediaButtonEventReceiver(android.content.ComponentName);
+    method @Deprecated public void unregisterMediaButtonEventReceiver(android.app.PendingIntent);
+    method @Deprecated public void unregisterRemoteControlClient(android.media.RemoteControlClient);
+    method @Deprecated public void unregisterRemoteController(android.media.RemoteController);
+    field public static final String ACTION_AUDIO_BECOMING_NOISY = "android.media.AUDIO_BECOMING_NOISY";
+    field public static final String ACTION_HDMI_AUDIO_PLUG = "android.media.action.HDMI_AUDIO_PLUG";
+    field public static final String ACTION_HEADSET_PLUG = "android.intent.action.HEADSET_PLUG";
+    field public static final String ACTION_MICROPHONE_MUTE_CHANGED = "android.media.action.MICROPHONE_MUTE_CHANGED";
+    field @Deprecated public static final String ACTION_SCO_AUDIO_STATE_CHANGED = "android.media.SCO_AUDIO_STATE_CHANGED";
+    field public static final String ACTION_SCO_AUDIO_STATE_UPDATED = "android.media.ACTION_SCO_AUDIO_STATE_UPDATED";
+    field public static final String ACTION_SPEAKERPHONE_STATE_CHANGED = "android.media.action.SPEAKERPHONE_STATE_CHANGED";
+    field public static final int ADJUST_LOWER = -1; // 0xffffffff
+    field public static final int ADJUST_MUTE = -100; // 0xffffff9c
+    field public static final int ADJUST_RAISE = 1; // 0x1
+    field public static final int ADJUST_SAME = 0; // 0x0
+    field public static final int ADJUST_TOGGLE_MUTE = 101; // 0x65
+    field public static final int ADJUST_UNMUTE = 100; // 0x64
+    field public static final int AUDIOFOCUS_GAIN = 1; // 0x1
+    field public static final int AUDIOFOCUS_GAIN_TRANSIENT = 2; // 0x2
+    field public static final int AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE = 4; // 0x4
+    field public static final int AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK = 3; // 0x3
+    field public static final int AUDIOFOCUS_LOSS = -1; // 0xffffffff
+    field public static final int AUDIOFOCUS_LOSS_TRANSIENT = -2; // 0xfffffffe
+    field public static final int AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK = -3; // 0xfffffffd
+    field public static final int AUDIOFOCUS_NONE = 0; // 0x0
+    field public static final int AUDIOFOCUS_REQUEST_DELAYED = 2; // 0x2
+    field public static final int AUDIOFOCUS_REQUEST_FAILED = 0; // 0x0
+    field public static final int AUDIOFOCUS_REQUEST_GRANTED = 1; // 0x1
+    field public static final int AUDIO_SESSION_ID_GENERATE = 0; // 0x0
+    field public static final int ENCODED_SURROUND_OUTPUT_ALWAYS = 2; // 0x2
+    field public static final int ENCODED_SURROUND_OUTPUT_AUTO = 0; // 0x0
+    field public static final int ENCODED_SURROUND_OUTPUT_MANUAL = 3; // 0x3
+    field public static final int ENCODED_SURROUND_OUTPUT_NEVER = 1; // 0x1
+    field public static final int ENCODED_SURROUND_OUTPUT_UNKNOWN = -1; // 0xffffffff
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa
+    field public static final String EXTRA_AUDIO_PLUG_STATE = "android.media.extra.AUDIO_PLUG_STATE";
+    field public static final String EXTRA_ENCODINGS = "android.media.extra.ENCODINGS";
+    field public static final String EXTRA_MAX_CHANNEL_COUNT = "android.media.extra.MAX_CHANNEL_COUNT";
+    field public static final String EXTRA_RINGER_MODE = "android.media.EXTRA_RINGER_MODE";
+    field public static final String EXTRA_SCO_AUDIO_PREVIOUS_STATE = "android.media.extra.SCO_AUDIO_PREVIOUS_STATE";
+    field public static final String EXTRA_SCO_AUDIO_STATE = "android.media.extra.SCO_AUDIO_STATE";
+    field @Deprecated public static final String EXTRA_VIBRATE_SETTING = "android.media.EXTRA_VIBRATE_SETTING";
+    field @Deprecated public static final String EXTRA_VIBRATE_TYPE = "android.media.EXTRA_VIBRATE_TYPE";
+    field public static final int FLAG_ALLOW_RINGER_MODES = 2; // 0x2
+    field public static final int FLAG_PLAY_SOUND = 4; // 0x4
+    field public static final int FLAG_REMOVE_SOUND_AND_VIBRATE = 8; // 0x8
+    field public static final int FLAG_SHOW_UI = 1; // 0x1
+    field public static final int FLAG_VIBRATE = 16; // 0x10
+    field public static final int FX_BACK = 10; // 0xa
+    field public static final int FX_FOCUS_NAVIGATION_DOWN = 2; // 0x2
+    field public static final int FX_FOCUS_NAVIGATION_LEFT = 3; // 0x3
+    field public static final int FX_FOCUS_NAVIGATION_RIGHT = 4; // 0x4
+    field public static final int FX_FOCUS_NAVIGATION_UP = 1; // 0x1
+    field public static final int FX_KEYPRESS_DELETE = 7; // 0x7
+    field public static final int FX_KEYPRESS_INVALID = 9; // 0x9
+    field public static final int FX_KEYPRESS_RETURN = 8; // 0x8
+    field public static final int FX_KEYPRESS_SPACEBAR = 6; // 0x6
+    field public static final int FX_KEYPRESS_STANDARD = 5; // 0x5
+    field public static final int FX_KEY_CLICK = 0; // 0x0
+    field public static final int GET_DEVICES_ALL = 3; // 0x3
+    field public static final int GET_DEVICES_INPUTS = 1; // 0x1
+    field public static final int GET_DEVICES_OUTPUTS = 2; // 0x2
+    field public static final int MODE_CALL_SCREENING = 4; // 0x4
+    field public static final int MODE_CURRENT = -1; // 0xffffffff
+    field public static final int MODE_INVALID = -2; // 0xfffffffe
+    field public static final int MODE_IN_CALL = 2; // 0x2
+    field public static final int MODE_IN_COMMUNICATION = 3; // 0x3
+    field public static final int MODE_NORMAL = 0; // 0x0
+    field public static final int MODE_RINGTONE = 1; // 0x1
+    field @Deprecated public static final int NUM_STREAMS = 5; // 0x5
+    field public static final int PLAYBACK_OFFLOAD_GAPLESS_SUPPORTED = 2; // 0x2
+    field public static final int PLAYBACK_OFFLOAD_NOT_SUPPORTED = 0; // 0x0
+    field public static final int PLAYBACK_OFFLOAD_SUPPORTED = 1; // 0x1
+    field public static final String PROPERTY_OUTPUT_FRAMES_PER_BUFFER = "android.media.property.OUTPUT_FRAMES_PER_BUFFER";
+    field public static final String PROPERTY_OUTPUT_SAMPLE_RATE = "android.media.property.OUTPUT_SAMPLE_RATE";
+    field public static final String PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED = "android.media.property.SUPPORT_AUDIO_SOURCE_UNPROCESSED";
+    field public static final String PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND = "android.media.property.SUPPORT_MIC_NEAR_ULTRASOUND";
+    field public static final String PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND = "android.media.property.SUPPORT_SPEAKER_NEAR_ULTRASOUND";
+    field public static final String RINGER_MODE_CHANGED_ACTION = "android.media.RINGER_MODE_CHANGED";
+    field public static final int RINGER_MODE_NORMAL = 2; // 0x2
+    field public static final int RINGER_MODE_SILENT = 0; // 0x0
+    field public static final int RINGER_MODE_VIBRATE = 1; // 0x1
+    field @Deprecated public static final int ROUTE_ALL = -1; // 0xffffffff
+    field @Deprecated public static final int ROUTE_BLUETOOTH = 4; // 0x4
+    field @Deprecated public static final int ROUTE_BLUETOOTH_A2DP = 16; // 0x10
+    field @Deprecated public static final int ROUTE_BLUETOOTH_SCO = 4; // 0x4
+    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
+    field @Deprecated public static final int ROUTE_HEADSET = 8; // 0x8
+    field @Deprecated public static final int ROUTE_SPEAKER = 2; // 0x2
+    field public static final int SCO_AUDIO_STATE_CONNECTED = 1; // 0x1
+    field public static final int SCO_AUDIO_STATE_CONNECTING = 2; // 0x2
+    field public static final int SCO_AUDIO_STATE_DISCONNECTED = 0; // 0x0
+    field public static final int SCO_AUDIO_STATE_ERROR = -1; // 0xffffffff
+    field public static final int STREAM_ACCESSIBILITY = 10; // 0xa
+    field public static final int STREAM_ALARM = 4; // 0x4
+    field public static final int STREAM_DTMF = 8; // 0x8
+    field public static final int STREAM_MUSIC = 3; // 0x3
+    field public static final int STREAM_NOTIFICATION = 5; // 0x5
+    field public static final int STREAM_RING = 2; // 0x2
+    field public static final int STREAM_SYSTEM = 1; // 0x1
+    field public static final int STREAM_VOICE_CALL = 0; // 0x0
+    field public static final int USE_DEFAULT_STREAM_TYPE = -2147483648; // 0x80000000
+    field @Deprecated public static final String VIBRATE_SETTING_CHANGED_ACTION = "android.media.VIBRATE_SETTING_CHANGED";
+    field @Deprecated public static final int VIBRATE_SETTING_OFF = 0; // 0x0
+    field @Deprecated public static final int VIBRATE_SETTING_ON = 1; // 0x1
+    field @Deprecated public static final int VIBRATE_SETTING_ONLY_SILENT = 2; // 0x2
+    field @Deprecated public static final int VIBRATE_TYPE_NOTIFICATION = 1; // 0x1
+    field @Deprecated public static final int VIBRATE_TYPE_RINGER = 0; // 0x0
+  }
+
+  public abstract static class AudioManager.AudioPlaybackCallback {
+    ctor public AudioManager.AudioPlaybackCallback();
+    method public void onPlaybackConfigChanged(java.util.List<android.media.AudioPlaybackConfiguration>);
+  }
+
+  public abstract static class AudioManager.AudioRecordingCallback {
+    ctor public AudioManager.AudioRecordingCallback();
+    method public void onRecordingConfigChanged(java.util.List<android.media.AudioRecordingConfiguration>);
+  }
+
+  public static interface AudioManager.OnAudioFocusChangeListener {
+    method public void onAudioFocusChange(int);
+  }
+
+  public static interface AudioManager.OnCommunicationDeviceChangedListener {
+    method public void onCommunicationDeviceChanged(@Nullable android.media.AudioDeviceInfo);
+  }
+
+  public static interface AudioManager.OnModeChangedListener {
+    method public void onModeChanged(int);
+  }
+
+  public final class AudioMetadata {
+    method @NonNull public static android.media.AudioMetadataMap createMap();
+  }
+
+  public static class AudioMetadata.Format {
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Boolean> KEY_ATMOS_PRESENT;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_AUDIO_ENCODING;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_BIT_RATE;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_BIT_WIDTH;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_CHANNEL_MASK;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.String> KEY_MIME;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_PRESENTATION_CONTENT_CLASSIFIER;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_PRESENTATION_ID;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.String> KEY_PRESENTATION_LANGUAGE;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_PROGRAM_ID;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_SAMPLE_RATE;
+  }
+
+  public static interface AudioMetadata.Key<T> {
+    method @NonNull public String getName();
+    method @NonNull public Class<T> getValueClass();
+  }
+
+  public interface AudioMetadataMap extends android.media.AudioMetadataReadMap {
+    method @Nullable public <T> T remove(@NonNull android.media.AudioMetadata.Key<T>);
+    method @Nullable public <T> T set(@NonNull android.media.AudioMetadata.Key<T>, @NonNull T);
+  }
+
+  public interface AudioMetadataReadMap {
+    method public <T> boolean containsKey(@NonNull android.media.AudioMetadata.Key<T>);
+    method @NonNull public android.media.AudioMetadataMap dup();
+    method @Nullable public <T> T get(@NonNull android.media.AudioMetadata.Key<T>);
+    method @IntRange(from=0) public int size();
+  }
+
+  public final class AudioPlaybackCaptureConfiguration {
+    method @NonNull public int[] getExcludeUids();
+    method @NonNull public int[] getExcludeUsages();
+    method @NonNull public int[] getMatchingUids();
+    method @NonNull public int[] getMatchingUsages();
+    method @NonNull public android.media.projection.MediaProjection getMediaProjection();
+  }
+
+  public static final class AudioPlaybackCaptureConfiguration.Builder {
+    ctor public AudioPlaybackCaptureConfiguration.Builder(@NonNull android.media.projection.MediaProjection);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUid(int);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUsage(int);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration build();
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUid(int);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUsage(int);
+  }
+
+  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.AudioAttributes getAudioAttributes();
+    method @Nullable public android.media.AudioDeviceInfo getAudioDeviceInfo();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioPlaybackConfiguration> CREATOR;
+  }
+
+  public final class AudioPresentation {
+    method public java.util.Map<java.util.Locale,java.lang.String> getLabels();
+    method public java.util.Locale getLocale();
+    method public int getMasteringIndication();
+    method public int getPresentationId();
+    method public int getProgramId();
+    method public boolean hasAudioDescription();
+    method public boolean hasDialogueEnhancement();
+    method public boolean hasSpokenSubtitles();
+    field public static final int CONTENT_COMMENTARY = 5; // 0x5
+    field public static final int CONTENT_DIALOG = 4; // 0x4
+    field public static final int CONTENT_EMERGENCY = 6; // 0x6
+    field public static final int CONTENT_HEARING_IMPAIRED = 3; // 0x3
+    field public static final int CONTENT_MAIN = 0; // 0x0
+    field public static final int CONTENT_MUSIC_AND_EFFECTS = 1; // 0x1
+    field public static final int CONTENT_UNKNOWN = -1; // 0xffffffff
+    field public static final int CONTENT_VISUALLY_IMPAIRED = 2; // 0x2
+    field public static final int CONTENT_VOICEOVER = 7; // 0x7
+    field public static final int MASTERED_FOR_3D = 3; // 0x3
+    field public static final int MASTERED_FOR_HEADPHONE = 4; // 0x4
+    field public static final int MASTERED_FOR_STEREO = 1; // 0x1
+    field public static final int MASTERED_FOR_SURROUND = 2; // 0x2
+    field public static final int MASTERING_NOT_INDICATED = 0; // 0x0
+  }
+
+  public static final class AudioPresentation.Builder {
+    ctor public AudioPresentation.Builder(int);
+    method @NonNull public android.media.AudioPresentation build();
+    method @NonNull public android.media.AudioPresentation.Builder setHasAudioDescription(boolean);
+    method @NonNull public android.media.AudioPresentation.Builder setHasDialogueEnhancement(boolean);
+    method @NonNull public android.media.AudioPresentation.Builder setHasSpokenSubtitles(boolean);
+    method @NonNull public android.media.AudioPresentation.Builder setLabels(@NonNull java.util.Map<android.icu.util.ULocale,java.lang.CharSequence>);
+    method @NonNull public android.media.AudioPresentation.Builder setLocale(@NonNull android.icu.util.ULocale);
+    method @NonNull public android.media.AudioPresentation.Builder setMasteringIndication(int);
+    method @NonNull public android.media.AudioPresentation.Builder setProgramId(int);
+  }
+
+  public class AudioProfile {
+    method @NonNull public int[] getChannelIndexMasks();
+    method @NonNull public int[] getChannelMasks();
+    method public int getEncapsulationType();
+    method public int getFormat();
+    method @NonNull public int[] getSampleRates();
+    field public static final int AUDIO_ENCAPSULATION_TYPE_IEC61937 = 1; // 0x1
+    field public static final int AUDIO_ENCAPSULATION_TYPE_NONE = 0; // 0x0
+  }
+
+  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
+    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(int, int, int, int, int) throws java.lang.IllegalArgumentException;
+    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+    method @Deprecated public void addOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler);
+    method protected void finalize();
+    method public java.util.List<android.media.MicrophoneInfo> getActiveMicrophones() throws java.io.IOException;
+    method @Nullable public android.media.AudioRecordingConfiguration getActiveRecordingConfiguration();
+    method public int getAudioFormat();
+    method public int getAudioSessionId();
+    method public int getAudioSource();
+    method public int getBufferSizeInFrames();
+    method public int getChannelConfiguration();
+    method public int getChannelCount();
+    method @NonNull public android.media.AudioFormat getFormat();
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method public android.os.PersistableBundle getMetrics();
+    method public static int getMinBufferSize(int, int, int);
+    method public int getNotificationMarkerPosition();
+    method public int getPositionNotificationPeriod();
+    method public android.media.AudioDeviceInfo getPreferredDevice();
+    method public int getRecordingState();
+    method public android.media.AudioDeviceInfo getRoutedDevice();
+    method public int getSampleRate();
+    method public int getState();
+    method public int getTimestamp(@NonNull android.media.AudioTimestamp, int);
+    method public boolean isPrivacySensitive();
+    method public int read(@NonNull byte[], int, int);
+    method public int read(@NonNull byte[], int, int, int);
+    method public int read(@NonNull short[], int, int);
+    method public int read(@NonNull short[], int, int, int);
+    method public int read(@NonNull float[], int, int, int);
+    method public int read(@NonNull java.nio.ByteBuffer, int);
+    method public int read(@NonNull java.nio.ByteBuffer, int, int);
+    method public void registerAudioRecordingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioRecordingCallback);
+    method public void release();
+    method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener);
+    method @Deprecated public void removeOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener);
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+    method public int setNotificationMarkerPosition(int);
+    method public int setPositionNotificationPeriod(int);
+    method public boolean setPreferredDevice(android.media.AudioDeviceInfo);
+    method public boolean setPreferredMicrophoneDirection(int);
+    method public boolean setPreferredMicrophoneFieldDimension(@FloatRange(from=-1.0, to=1.0) float);
+    method public void setRecordPositionUpdateListener(android.media.AudioRecord.OnRecordPositionUpdateListener);
+    method public void setRecordPositionUpdateListener(android.media.AudioRecord.OnRecordPositionUpdateListener, android.os.Handler);
+    method public void startRecording() throws java.lang.IllegalStateException;
+    method public void startRecording(android.media.MediaSyncEvent) throws java.lang.IllegalStateException;
+    method public void stop() throws java.lang.IllegalStateException;
+    method public void unregisterAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback);
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe
+    field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa
+    field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd
+    field public static final int READ_BLOCKING = 0; // 0x0
+    field public static final int READ_NON_BLOCKING = 1; // 0x1
+    field public static final int RECORDSTATE_RECORDING = 3; // 0x3
+    field public static final int RECORDSTATE_STOPPED = 1; // 0x1
+    field public static final int STATE_INITIALIZED = 1; // 0x1
+    field public static final int STATE_UNINITIALIZED = 0; // 0x0
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public static class AudioRecord.Builder {
+    ctor public AudioRecord.Builder();
+    method @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public android.media.AudioRecord build() throws java.lang.UnsupportedOperationException;
+    method public android.media.AudioRecord.Builder setAudioFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioRecord.Builder setAudioPlaybackCaptureConfig(@NonNull android.media.AudioPlaybackCaptureConfiguration);
+    method public android.media.AudioRecord.Builder setAudioSource(int) throws java.lang.IllegalArgumentException;
+    method public android.media.AudioRecord.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioRecord.Builder setContext(@NonNull android.content.Context);
+    method @NonNull public android.media.AudioRecord.Builder setPrivacySensitive(boolean);
+  }
+
+  public static final class AudioRecord.MetricsConstants {
+    field public static final String CHANNELS = "android.media.audiorecord.channels";
+    field public static final String ENCODING = "android.media.audiorecord.encoding";
+    field @Deprecated public static final String LATENCY = "android.media.audiorecord.latency";
+    field public static final String SAMPLERATE = "android.media.audiorecord.samplerate";
+    field public static final String SOURCE = "android.media.audiorecord.source";
+  }
+
+  public static interface AudioRecord.OnRecordPositionUpdateListener {
+    method public void onMarkerReached(android.media.AudioRecord);
+    method public void onPeriodicNotification(android.media.AudioRecord);
+  }
+
+  @Deprecated public static interface AudioRecord.OnRoutingChangedListener extends android.media.AudioRouting.OnRoutingChangedListener {
+    method @Deprecated public void onRoutingChanged(android.media.AudioRecord);
+    method @Deprecated public default void onRoutingChanged(android.media.AudioRouting);
+  }
+
+  public final class AudioRecordingConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.AudioDeviceInfo getAudioDevice();
+    method public int getAudioSource();
+    method public int getClientAudioSessionId();
+    method public int getClientAudioSource();
+    method @NonNull public java.util.List<android.media.audiofx.AudioEffect.Descriptor> getClientEffects();
+    method public android.media.AudioFormat getClientFormat();
+    method @NonNull public java.util.List<android.media.audiofx.AudioEffect.Descriptor> getEffects();
+    method public android.media.AudioFormat getFormat();
+    method public boolean isClientSilenced();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioRecordingConfiguration> CREATOR;
+  }
+
+  public interface AudioRecordingMonitor {
+    method @Nullable public android.media.AudioRecordingConfiguration getActiveRecordingConfiguration();
+    method public void registerAudioRecordingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioRecordingCallback);
+    method public void unregisterAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback);
+  }
+
+  public interface AudioRouting {
+    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+    method public android.media.AudioDeviceInfo getPreferredDevice();
+    method public android.media.AudioDeviceInfo getRoutedDevice();
+    method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener);
+    method public boolean setPreferredDevice(android.media.AudioDeviceInfo);
+  }
+
+  public static interface AudioRouting.OnRoutingChangedListener {
+    method public void onRoutingChanged(android.media.AudioRouting);
+  }
+
+  public final class AudioTimestamp {
+    ctor public AudioTimestamp();
+    field public static final int TIMEBASE_BOOTTIME = 1; // 0x1
+    field public static final int TIMEBASE_MONOTONIC = 0; // 0x0
+    field public long framePosition;
+    field public long nanoTime;
+  }
+
+  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
+    ctor @Deprecated public AudioTrack(int, int, int, int, int, int) throws java.lang.IllegalArgumentException;
+    ctor @Deprecated public AudioTrack(int, int, int, int, int, int, int) throws java.lang.IllegalArgumentException;
+    ctor public AudioTrack(android.media.AudioAttributes, android.media.AudioFormat, int, int, int) throws java.lang.IllegalArgumentException;
+    method public void addOnCodecFormatChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioTrack.OnCodecFormatChangedListener);
+    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+    method @Deprecated public void addOnRoutingChangedListener(android.media.AudioTrack.OnRoutingChangedListener, android.os.Handler);
+    method public int attachAuxEffect(int);
+    method @NonNull public android.media.VolumeShaper createVolumeShaper(@NonNull android.media.VolumeShaper.Configuration);
+    method protected void finalize();
+    method public void flush();
+    method @NonNull public android.media.AudioAttributes getAudioAttributes();
+    method public float getAudioDescriptionMixLeveldB();
+    method public int getAudioFormat();
+    method public int getAudioSessionId();
+    method @IntRange(from=0) public int getBufferCapacityInFrames();
+    method @IntRange(from=0) public int getBufferSizeInFrames();
+    method public int getChannelConfiguration();
+    method public int getChannelCount();
+    method public int getDualMonoMode();
+    method @NonNull public android.media.AudioFormat getFormat();
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method public static float getMaxVolume();
+    method public android.os.PersistableBundle getMetrics();
+    method public static int getMinBufferSize(int, int, int);
+    method public static float getMinVolume();
+    method @Deprecated protected int getNativeFrameCount();
+    method public static int getNativeOutputSampleRate(int);
+    method public int getNotificationMarkerPosition();
+    method @IntRange(from=0) public int getOffloadDelay();
+    method @IntRange(from=0) public int getOffloadPadding();
+    method public int getPerformanceMode();
+    method public int getPlayState();
+    method public int getPlaybackHeadPosition();
+    method @NonNull public android.media.PlaybackParams getPlaybackParams();
+    method public int getPlaybackRate();
+    method public int getPositionNotificationPeriod();
+    method public android.media.AudioDeviceInfo getPreferredDevice();
+    method public android.media.AudioDeviceInfo getRoutedDevice();
+    method public int getSampleRate();
+    method @IntRange(from=1) public int getStartThresholdInFrames();
+    method public int getState();
+    method public int getStreamType();
+    method public boolean getTimestamp(android.media.AudioTimestamp);
+    method public int getUnderrunCount();
+    method public static boolean isDirectPlaybackSupported(@NonNull android.media.AudioFormat, @NonNull android.media.AudioAttributes);
+    method public boolean isOffloadedPlayback();
+    method public void pause() throws java.lang.IllegalStateException;
+    method public void play() throws java.lang.IllegalStateException;
+    method public void registerStreamEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioTrack.StreamEventCallback);
+    method public void release();
+    method public int reloadStaticData();
+    method public void removeOnCodecFormatChangedListener(@NonNull android.media.AudioTrack.OnCodecFormatChangedListener);
+    method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener);
+    method @Deprecated public void removeOnRoutingChangedListener(android.media.AudioTrack.OnRoutingChangedListener);
+    method public boolean setAudioDescriptionMixLeveldB(@FloatRange(to=48.0f, toInclusive=true) float);
+    method public int setAuxEffectSendLevel(@FloatRange(from=0.0) float);
+    method public int setBufferSizeInFrames(@IntRange(from=0) int);
+    method public boolean setDualMonoMode(int);
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+    method public int setLoopPoints(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0xffffffff) int);
+    method public int setNotificationMarkerPosition(int);
+    method public void setOffloadDelayPadding(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public void setOffloadEndOfStream();
+    method public int setPlaybackHeadPosition(@IntRange(from=0) int);
+    method public void setPlaybackParams(@NonNull android.media.PlaybackParams);
+    method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener);
+    method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener, android.os.Handler);
+    method public int setPlaybackRate(int);
+    method public int setPositionNotificationPeriod(int);
+    method public boolean setPreferredDevice(android.media.AudioDeviceInfo);
+    method public int setPresentation(@NonNull android.media.AudioPresentation);
+    method @IntRange(from=1) public int setStartThresholdInFrames(@IntRange(from=1) int);
+    method @Deprecated protected void setState(int);
+    method @Deprecated public int setStereoVolume(float, float);
+    method public int setVolume(float);
+    method public void stop() throws java.lang.IllegalStateException;
+    method public void unregisterStreamEventCallback(@NonNull android.media.AudioTrack.StreamEventCallback);
+    method public int write(@NonNull byte[], int, int);
+    method public int write(@NonNull byte[], int, int, int);
+    method public int write(@NonNull short[], int, int);
+    method public int write(@NonNull short[], int, int, int);
+    method public int write(@NonNull float[], int, int, int);
+    method public int write(@NonNull java.nio.ByteBuffer, int, int);
+    method public int write(@NonNull java.nio.ByteBuffer, int, int, long);
+    field public static final int DUAL_MONO_MODE_LL = 2; // 0x2
+    field public static final int DUAL_MONO_MODE_LR = 1; // 0x1
+    field public static final int DUAL_MONO_MODE_OFF = 0; // 0x0
+    field public static final int DUAL_MONO_MODE_RR = 3; // 0x3
+    field public static final int ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR = 2; // 0x2
+    field public static final int ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER = 1; // 0x1
+    field public static final int ENCAPSULATION_MODE_ELEMENTARY_STREAM = 1; // 0x1
+    field public static final int ENCAPSULATION_MODE_NONE = 0; // 0x0
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe
+    field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa
+    field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd
+    field public static final int MODE_STATIC = 0; // 0x0
+    field public static final int MODE_STREAM = 1; // 0x1
+    field public static final int PERFORMANCE_MODE_LOW_LATENCY = 1; // 0x1
+    field public static final int PERFORMANCE_MODE_NONE = 0; // 0x0
+    field public static final int PERFORMANCE_MODE_POWER_SAVING = 2; // 0x2
+    field public static final int PLAYSTATE_PAUSED = 2; // 0x2
+    field public static final int PLAYSTATE_PLAYING = 3; // 0x3
+    field public static final int PLAYSTATE_STOPPED = 1; // 0x1
+    field public static final int STATE_INITIALIZED = 1; // 0x1
+    field public static final int STATE_NO_STATIC_DATA = 2; // 0x2
+    field public static final int STATE_UNINITIALIZED = 0; // 0x0
+    field public static final int SUCCESS = 0; // 0x0
+    field public static final int WRITE_BLOCKING = 0; // 0x0
+    field public static final int WRITE_NON_BLOCKING = 1; // 0x1
+  }
+
+  public static class AudioTrack.Builder {
+    ctor public AudioTrack.Builder();
+    method @NonNull public android.media.AudioTrack build() throws java.lang.UnsupportedOperationException;
+    method @NonNull public android.media.AudioTrack.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioTrack.Builder setAudioFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioTrack.Builder setBufferSizeInBytes(@IntRange(from=0) int) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioTrack.Builder setEncapsulationMode(int);
+    method @NonNull public android.media.AudioTrack.Builder setOffloadedPlayback(boolean);
+    method @NonNull public android.media.AudioTrack.Builder setPerformanceMode(int);
+    method @NonNull public android.media.AudioTrack.Builder setSessionId(@IntRange(from=1) int) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioTrack.Builder setTransferMode(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public static final class AudioTrack.MetricsConstants {
+    field @Deprecated public static final String CHANNELMASK = "android.media.audiorecord.channelmask";
+    field public static final String CONTENTTYPE = "android.media.audiotrack.type";
+    field @Deprecated public static final String SAMPLERATE = "android.media.audiorecord.samplerate";
+    field public static final String STREAMTYPE = "android.media.audiotrack.streamtype";
+    field public static final String USAGE = "android.media.audiotrack.usage";
+  }
+
+  public static interface AudioTrack.OnCodecFormatChangedListener {
+    method public void onCodecFormatChanged(@NonNull android.media.AudioTrack, @Nullable android.media.AudioMetadataReadMap);
+  }
+
+  public static interface AudioTrack.OnPlaybackPositionUpdateListener {
+    method public void onMarkerReached(android.media.AudioTrack);
+    method public void onPeriodicNotification(android.media.AudioTrack);
+  }
+
+  @Deprecated public static interface AudioTrack.OnRoutingChangedListener extends android.media.AudioRouting.OnRoutingChangedListener {
+    method @Deprecated public void onRoutingChanged(android.media.AudioTrack);
+    method @Deprecated public default void onRoutingChanged(android.media.AudioRouting);
+  }
+
+  public abstract static class AudioTrack.StreamEventCallback {
+    ctor public AudioTrack.StreamEventCallback();
+    method public void onDataRequest(@NonNull android.media.AudioTrack, @IntRange(from=0) int);
+    method public void onPresentationEnded(@NonNull android.media.AudioTrack);
+    method public void onTearDown(@NonNull android.media.AudioTrack);
+  }
+
+  public class CamcorderProfile {
+    method @Deprecated public static android.media.CamcorderProfile get(int);
+    method @Deprecated public static android.media.CamcorderProfile get(int, int);
+    method @Nullable public static android.media.EncoderProfiles getAll(@NonNull String, int);
+    method public static boolean hasProfile(int);
+    method public static boolean hasProfile(int, int);
+    field public static final int QUALITY_1080P = 6; // 0x6
+    field public static final int QUALITY_2160P = 8; // 0x8
+    field public static final int QUALITY_2K = 12; // 0xc
+    field public static final int QUALITY_480P = 4; // 0x4
+    field public static final int QUALITY_4KDCI = 10; // 0xa
+    field public static final int QUALITY_720P = 5; // 0x5
+    field public static final int QUALITY_8KUHD = 13; // 0xd
+    field public static final int QUALITY_CIF = 3; // 0x3
+    field public static final int QUALITY_HIGH = 1; // 0x1
+    field public static final int QUALITY_HIGH_SPEED_1080P = 2004; // 0x7d4
+    field public static final int QUALITY_HIGH_SPEED_2160P = 2005; // 0x7d5
+    field public static final int QUALITY_HIGH_SPEED_480P = 2002; // 0x7d2
+    field public static final int QUALITY_HIGH_SPEED_4KDCI = 2008; // 0x7d8
+    field public static final int QUALITY_HIGH_SPEED_720P = 2003; // 0x7d3
+    field public static final int QUALITY_HIGH_SPEED_CIF = 2006; // 0x7d6
+    field public static final int QUALITY_HIGH_SPEED_HIGH = 2001; // 0x7d1
+    field public static final int QUALITY_HIGH_SPEED_LOW = 2000; // 0x7d0
+    field public static final int QUALITY_HIGH_SPEED_VGA = 2007; // 0x7d7
+    field public static final int QUALITY_LOW = 0; // 0x0
+    field public static final int QUALITY_QCIF = 2; // 0x2
+    field public static final int QUALITY_QHD = 11; // 0xb
+    field public static final int QUALITY_QVGA = 7; // 0x7
+    field public static final int QUALITY_TIME_LAPSE_1080P = 1006; // 0x3ee
+    field public static final int QUALITY_TIME_LAPSE_2160P = 1008; // 0x3f0
+    field public static final int QUALITY_TIME_LAPSE_2K = 1012; // 0x3f4
+    field public static final int QUALITY_TIME_LAPSE_480P = 1004; // 0x3ec
+    field public static final int QUALITY_TIME_LAPSE_4KDCI = 1010; // 0x3f2
+    field public static final int QUALITY_TIME_LAPSE_720P = 1005; // 0x3ed
+    field public static final int QUALITY_TIME_LAPSE_8KUHD = 1013; // 0x3f5
+    field public static final int QUALITY_TIME_LAPSE_CIF = 1003; // 0x3eb
+    field public static final int QUALITY_TIME_LAPSE_HIGH = 1001; // 0x3e9
+    field public static final int QUALITY_TIME_LAPSE_LOW = 1000; // 0x3e8
+    field public static final int QUALITY_TIME_LAPSE_QCIF = 1002; // 0x3ea
+    field public static final int QUALITY_TIME_LAPSE_QHD = 1011; // 0x3f3
+    field public static final int QUALITY_TIME_LAPSE_QVGA = 1007; // 0x3ef
+    field public static final int QUALITY_TIME_LAPSE_VGA = 1009; // 0x3f1
+    field public static final int QUALITY_VGA = 9; // 0x9
+    field public int audioBitRate;
+    field public int audioChannels;
+    field public int audioCodec;
+    field public int audioSampleRate;
+    field public int duration;
+    field public int fileFormat;
+    field public int quality;
+    field public int videoBitRate;
+    field public int videoCodec;
+    field public int videoFrameHeight;
+    field public int videoFrameRate;
+    field public int videoFrameWidth;
+  }
+
+  public class CameraProfile {
+    ctor public CameraProfile();
+    method public static int getJpegEncodingQualityParameter(int);
+    method public static int getJpegEncodingQualityParameter(int, int);
+    field public static final int QUALITY_HIGH = 2; // 0x2
+    field public static final int QUALITY_LOW = 0; // 0x0
+    field public static final int QUALITY_MEDIUM = 1; // 0x1
+  }
+
+  public final class DeniedByServerException extends android.media.MediaDrmException {
+    ctor public DeniedByServerException(String);
+  }
+
+  public abstract class DrmInitData {
+    method @Deprecated public abstract android.media.DrmInitData.SchemeInitData get(java.util.UUID);
+    method @NonNull public android.media.DrmInitData.SchemeInitData getSchemeInitDataAt(int);
+    method public int getSchemeInitDataCount();
+  }
+
+  public static final class DrmInitData.SchemeInitData {
+    ctor public DrmInitData.SchemeInitData(@NonNull java.util.UUID, @NonNull String, @NonNull byte[]);
+    field @NonNull public static final java.util.UUID UUID_NIL;
+    field public final byte[] data;
+    field public final String mimeType;
+    field @NonNull public final java.util.UUID uuid;
+  }
+
+  public final class EncoderProfiles {
+    method @NonNull public java.util.List<android.media.EncoderProfiles.AudioProfile> getAudioProfiles();
+    method public int getDefaultDurationSeconds();
+    method public int getRecommendedFileFormat();
+    method @NonNull public java.util.List<android.media.EncoderProfiles.VideoProfile> getVideoProfiles();
+  }
+
+  public static final class EncoderProfiles.AudioProfile {
+    method public int getBitrate();
+    method public int getChannels();
+    method public int getCodec();
+    method @NonNull public String getMediaType();
+    method public int getProfile();
+    method public int getSampleRate();
+  }
+
+  public static final class EncoderProfiles.VideoProfile {
+    method public int getBitrate();
+    method public int getCodec();
+    method public int getFrameRate();
+    method public int getHeight();
+    method @NonNull public String getMediaType();
+    method public int getProfile();
+    method public int getWidth();
+  }
+
+  public class ExifInterface {
+    ctor public ExifInterface(@NonNull java.io.File) throws java.io.IOException;
+    ctor public ExifInterface(@NonNull String) throws java.io.IOException;
+    ctor public ExifInterface(@NonNull java.io.FileDescriptor) throws java.io.IOException;
+    ctor public ExifInterface(@NonNull java.io.InputStream) throws java.io.IOException;
+    ctor public ExifInterface(@NonNull java.io.InputStream, int) throws java.io.IOException;
+    method public double getAltitude(double);
+    method @Nullable public String getAttribute(@NonNull String);
+    method @Nullable public byte[] getAttributeBytes(@NonNull String);
+    method public double getAttributeDouble(@NonNull String, double);
+    method public int getAttributeInt(@NonNull String, int);
+    method @Nullable public long[] getAttributeRange(@NonNull String);
+    method public long getDateTime();
+    method public long getDateTimeDigitized();
+    method public long getDateTimeOriginal();
+    method public long getGpsDateTime();
+    method public boolean getLatLong(float[]);
+    method public byte[] getThumbnail();
+    method public android.graphics.Bitmap getThumbnailBitmap();
+    method public byte[] getThumbnailBytes();
+    method @Nullable public long[] getThumbnailRange();
+    method public boolean hasAttribute(@NonNull String);
+    method public boolean hasThumbnail();
+    method public static boolean isSupportedMimeType(@NonNull String);
+    method public boolean isThumbnailCompressed();
+    method public void saveAttributes() throws java.io.IOException;
+    method public void setAttribute(@NonNull String, @Nullable String);
+    field public static final int ORIENTATION_FLIP_HORIZONTAL = 2; // 0x2
+    field public static final int ORIENTATION_FLIP_VERTICAL = 4; // 0x4
+    field public static final int ORIENTATION_NORMAL = 1; // 0x1
+    field public static final int ORIENTATION_ROTATE_180 = 3; // 0x3
+    field public static final int ORIENTATION_ROTATE_270 = 8; // 0x8
+    field public static final int ORIENTATION_ROTATE_90 = 6; // 0x6
+    field public static final int ORIENTATION_TRANSPOSE = 5; // 0x5
+    field public static final int ORIENTATION_TRANSVERSE = 7; // 0x7
+    field public static final int ORIENTATION_UNDEFINED = 0; // 0x0
+    field public static final int STREAM_TYPE_EXIF_DATA_ONLY = 1; // 0x1
+    field public static final int STREAM_TYPE_FULL_IMAGE_DATA = 0; // 0x0
+    field @Deprecated public static final String TAG_APERTURE = "FNumber";
+    field public static final String TAG_APERTURE_VALUE = "ApertureValue";
+    field public static final String TAG_ARTIST = "Artist";
+    field public static final String TAG_BITS_PER_SAMPLE = "BitsPerSample";
+    field public static final String TAG_BRIGHTNESS_VALUE = "BrightnessValue";
+    field public static final String TAG_CFA_PATTERN = "CFAPattern";
+    field public static final String TAG_COLOR_SPACE = "ColorSpace";
+    field public static final String TAG_COMPONENTS_CONFIGURATION = "ComponentsConfiguration";
+    field public static final String TAG_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel";
+    field public static final String TAG_COMPRESSION = "Compression";
+    field public static final String TAG_CONTRAST = "Contrast";
+    field public static final String TAG_COPYRIGHT = "Copyright";
+    field public static final String TAG_CUSTOM_RENDERED = "CustomRendered";
+    field public static final String TAG_DATETIME = "DateTime";
+    field public static final String TAG_DATETIME_DIGITIZED = "DateTimeDigitized";
+    field public static final String TAG_DATETIME_ORIGINAL = "DateTimeOriginal";
+    field public static final String TAG_DEFAULT_CROP_SIZE = "DefaultCropSize";
+    field public static final String TAG_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription";
+    field public static final String TAG_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio";
+    field public static final String TAG_DNG_VERSION = "DNGVersion";
+    field public static final String TAG_EXIF_VERSION = "ExifVersion";
+    field public static final String TAG_EXPOSURE_BIAS_VALUE = "ExposureBiasValue";
+    field public static final String TAG_EXPOSURE_INDEX = "ExposureIndex";
+    field public static final String TAG_EXPOSURE_MODE = "ExposureMode";
+    field public static final String TAG_EXPOSURE_PROGRAM = "ExposureProgram";
+    field public static final String TAG_EXPOSURE_TIME = "ExposureTime";
+    field public static final String TAG_FILE_SOURCE = "FileSource";
+    field public static final String TAG_FLASH = "Flash";
+    field public static final String TAG_FLASHPIX_VERSION = "FlashpixVersion";
+    field public static final String TAG_FLASH_ENERGY = "FlashEnergy";
+    field public static final String TAG_FOCAL_LENGTH = "FocalLength";
+    field public static final String TAG_FOCAL_LENGTH_IN_35MM_FILM = "FocalLengthIn35mmFilm";
+    field public static final String TAG_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit";
+    field public static final String TAG_FOCAL_PLANE_X_RESOLUTION = "FocalPlaneXResolution";
+    field public static final String TAG_FOCAL_PLANE_Y_RESOLUTION = "FocalPlaneYResolution";
+    field public static final String TAG_F_NUMBER = "FNumber";
+    field public static final String TAG_GAIN_CONTROL = "GainControl";
+    field public static final String TAG_GPS_ALTITUDE = "GPSAltitude";
+    field public static final String TAG_GPS_ALTITUDE_REF = "GPSAltitudeRef";
+    field public static final String TAG_GPS_AREA_INFORMATION = "GPSAreaInformation";
+    field public static final String TAG_GPS_DATESTAMP = "GPSDateStamp";
+    field public static final String TAG_GPS_DEST_BEARING = "GPSDestBearing";
+    field public static final String TAG_GPS_DEST_BEARING_REF = "GPSDestBearingRef";
+    field public static final String TAG_GPS_DEST_DISTANCE = "GPSDestDistance";
+    field public static final String TAG_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef";
+    field public static final String TAG_GPS_DEST_LATITUDE = "GPSDestLatitude";
+    field public static final String TAG_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef";
+    field public static final String TAG_GPS_DEST_LONGITUDE = "GPSDestLongitude";
+    field public static final String TAG_GPS_DEST_LONGITUDE_REF = "GPSDestLongitudeRef";
+    field public static final String TAG_GPS_DIFFERENTIAL = "GPSDifferential";
+    field public static final String TAG_GPS_DOP = "GPSDOP";
+    field public static final String TAG_GPS_IMG_DIRECTION = "GPSImgDirection";
+    field public static final String TAG_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef";
+    field public static final String TAG_GPS_LATITUDE = "GPSLatitude";
+    field public static final String TAG_GPS_LATITUDE_REF = "GPSLatitudeRef";
+    field public static final String TAG_GPS_LONGITUDE = "GPSLongitude";
+    field public static final String TAG_GPS_LONGITUDE_REF = "GPSLongitudeRef";
+    field public static final String TAG_GPS_MAP_DATUM = "GPSMapDatum";
+    field public static final String TAG_GPS_MEASURE_MODE = "GPSMeasureMode";
+    field public static final String TAG_GPS_PROCESSING_METHOD = "GPSProcessingMethod";
+    field public static final String TAG_GPS_SATELLITES = "GPSSatellites";
+    field public static final String TAG_GPS_SPEED = "GPSSpeed";
+    field public static final String TAG_GPS_SPEED_REF = "GPSSpeedRef";
+    field public static final String TAG_GPS_STATUS = "GPSStatus";
+    field public static final String TAG_GPS_TIMESTAMP = "GPSTimeStamp";
+    field public static final String TAG_GPS_TRACK = "GPSTrack";
+    field public static final String TAG_GPS_TRACK_REF = "GPSTrackRef";
+    field public static final String TAG_GPS_VERSION_ID = "GPSVersionID";
+    field public static final String TAG_IMAGE_DESCRIPTION = "ImageDescription";
+    field public static final String TAG_IMAGE_LENGTH = "ImageLength";
+    field public static final String TAG_IMAGE_UNIQUE_ID = "ImageUniqueID";
+    field public static final String TAG_IMAGE_WIDTH = "ImageWidth";
+    field public static final String TAG_INTEROPERABILITY_INDEX = "InteroperabilityIndex";
+    field @Deprecated public static final String TAG_ISO = "ISOSpeedRatings";
+    field public static final String TAG_ISO_SPEED_RATINGS = "ISOSpeedRatings";
+    field public static final String TAG_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat";
+    field public static final String TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength";
+    field public static final String TAG_LIGHT_SOURCE = "LightSource";
+    field public static final String TAG_MAKE = "Make";
+    field public static final String TAG_MAKER_NOTE = "MakerNote";
+    field public static final String TAG_MAX_APERTURE_VALUE = "MaxApertureValue";
+    field public static final String TAG_METERING_MODE = "MeteringMode";
+    field public static final String TAG_MODEL = "Model";
+    field public static final String TAG_NEW_SUBFILE_TYPE = "NewSubfileType";
+    field public static final String TAG_OECF = "OECF";
+    field public static final String TAG_OFFSET_TIME = "OffsetTime";
+    field public static final String TAG_OFFSET_TIME_DIGITIZED = "OffsetTimeDigitized";
+    field public static final String TAG_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal";
+    field public static final String TAG_ORF_ASPECT_FRAME = "AspectFrame";
+    field public static final String TAG_ORF_PREVIEW_IMAGE_LENGTH = "PreviewImageLength";
+    field public static final String TAG_ORF_PREVIEW_IMAGE_START = "PreviewImageStart";
+    field public static final String TAG_ORF_THUMBNAIL_IMAGE = "ThumbnailImage";
+    field public static final String TAG_ORIENTATION = "Orientation";
+    field public static final String TAG_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation";
+    field public static final String TAG_PIXEL_X_DIMENSION = "PixelXDimension";
+    field public static final String TAG_PIXEL_Y_DIMENSION = "PixelYDimension";
+    field public static final String TAG_PLANAR_CONFIGURATION = "PlanarConfiguration";
+    field public static final String TAG_PRIMARY_CHROMATICITIES = "PrimaryChromaticities";
+    field public static final String TAG_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite";
+    field public static final String TAG_RELATED_SOUND_FILE = "RelatedSoundFile";
+    field public static final String TAG_RESOLUTION_UNIT = "ResolutionUnit";
+    field public static final String TAG_ROWS_PER_STRIP = "RowsPerStrip";
+    field public static final String TAG_RW2_ISO = "ISO";
+    field public static final String TAG_RW2_JPG_FROM_RAW = "JpgFromRaw";
+    field public static final String TAG_RW2_SENSOR_BOTTOM_BORDER = "SensorBottomBorder";
+    field public static final String TAG_RW2_SENSOR_LEFT_BORDER = "SensorLeftBorder";
+    field public static final String TAG_RW2_SENSOR_RIGHT_BORDER = "SensorRightBorder";
+    field public static final String TAG_RW2_SENSOR_TOP_BORDER = "SensorTopBorder";
+    field public static final String TAG_SAMPLES_PER_PIXEL = "SamplesPerPixel";
+    field public static final String TAG_SATURATION = "Saturation";
+    field public static final String TAG_SCENE_CAPTURE_TYPE = "SceneCaptureType";
+    field public static final String TAG_SCENE_TYPE = "SceneType";
+    field public static final String TAG_SENSING_METHOD = "SensingMethod";
+    field public static final String TAG_SHARPNESS = "Sharpness";
+    field public static final String TAG_SHUTTER_SPEED_VALUE = "ShutterSpeedValue";
+    field public static final String TAG_SOFTWARE = "Software";
+    field public static final String TAG_SPATIAL_FREQUENCY_RESPONSE = "SpatialFrequencyResponse";
+    field public static final String TAG_SPECTRAL_SENSITIVITY = "SpectralSensitivity";
+    field public static final String TAG_STRIP_BYTE_COUNTS = "StripByteCounts";
+    field public static final String TAG_STRIP_OFFSETS = "StripOffsets";
+    field public static final String TAG_SUBFILE_TYPE = "SubfileType";
+    field public static final String TAG_SUBJECT_AREA = "SubjectArea";
+    field public static final String TAG_SUBJECT_DISTANCE = "SubjectDistance";
+    field public static final String TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange";
+    field public static final String TAG_SUBJECT_LOCATION = "SubjectLocation";
+    field public static final String TAG_SUBSEC_TIME = "SubSecTime";
+    field @Deprecated public static final String TAG_SUBSEC_TIME_DIG = "SubSecTimeDigitized";
+    field public static final String TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized";
+    field @Deprecated public static final String TAG_SUBSEC_TIME_ORIG = "SubSecTimeOriginal";
+    field public static final String TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal";
+    field public static final String TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength";
+    field public static final String TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth";
+    field public static final String TAG_THUMBNAIL_ORIENTATION = "ThumbnailOrientation";
+    field public static final String TAG_TRANSFER_FUNCTION = "TransferFunction";
+    field public static final String TAG_USER_COMMENT = "UserComment";
+    field public static final String TAG_WHITE_BALANCE = "WhiteBalance";
+    field public static final String TAG_WHITE_POINT = "WhitePoint";
+    field public static final String TAG_XMP = "Xmp";
+    field public static final String TAG_X_RESOLUTION = "XResolution";
+    field public static final String TAG_Y_CB_CR_COEFFICIENTS = "YCbCrCoefficients";
+    field public static final String TAG_Y_CB_CR_POSITIONING = "YCbCrPositioning";
+    field public static final String TAG_Y_CB_CR_SUB_SAMPLING = "YCbCrSubSampling";
+    field public static final String TAG_Y_RESOLUTION = "YResolution";
+    field public static final int WHITEBALANCE_AUTO = 0; // 0x0
+    field public static final int WHITEBALANCE_MANUAL = 1; // 0x1
+  }
+
+  public class FaceDetector {
+    ctor public FaceDetector(int, int, int);
+    method public int findFaces(android.graphics.Bitmap, android.media.FaceDetector.Face[]);
+  }
+
+  public class FaceDetector.Face {
+    method public float confidence();
+    method public float eyesDistance();
+    method public void getMidPoint(android.graphics.PointF);
+    method public float pose(int);
+    field public static final float CONFIDENCE_THRESHOLD = 0.4f;
+    field public static final int EULER_X = 0; // 0x0
+    field public static final int EULER_Y = 1; // 0x1
+    field public static final int EULER_Z = 2; // 0x2
+  }
+
+  public abstract class Image implements java.lang.AutoCloseable {
+    method public abstract void close();
+    method public android.graphics.Rect getCropRect();
+    method public abstract int getFormat();
+    method @Nullable public android.hardware.HardwareBuffer getHardwareBuffer();
+    method public abstract int getHeight();
+    method public abstract android.media.Image.Plane[] getPlanes();
+    method public abstract long getTimestamp();
+    method public abstract int getWidth();
+    method public void setCropRect(android.graphics.Rect);
+    method public void setTimestamp(long);
+  }
+
+  public abstract static class Image.Plane {
+    method public abstract java.nio.ByteBuffer getBuffer();
+    method public abstract int getPixelStride();
+    method public abstract int getRowStride();
+  }
+
+  public class ImageReader implements java.lang.AutoCloseable {
+    method public android.media.Image acquireLatestImage();
+    method public android.media.Image acquireNextImage();
+    method public void close();
+    method public void discardFreeBuffers();
+    method public int getHeight();
+    method public int getImageFormat();
+    method public int getMaxImages();
+    method public android.view.Surface getSurface();
+    method public int getWidth();
+    method @NonNull public static android.media.ImageReader newInstance(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int);
+    method @NonNull public static android.media.ImageReader newInstance(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int, long);
+    method public void setOnImageAvailableListener(android.media.ImageReader.OnImageAvailableListener, android.os.Handler);
+  }
+
+  public static interface ImageReader.OnImageAvailableListener {
+    method public void onImageAvailable(android.media.ImageReader);
+  }
+
+  public class ImageWriter implements java.lang.AutoCloseable {
+    method public void close();
+    method public android.media.Image dequeueInputImage();
+    method public int getFormat();
+    method public int getMaxImages();
+    method @NonNull public static android.media.ImageWriter newInstance(@NonNull android.view.Surface, @IntRange(from=1) int);
+    method @NonNull public static android.media.ImageWriter newInstance(@NonNull android.view.Surface, @IntRange(from=1) int, int);
+    method public void queueInputImage(android.media.Image);
+    method public void setOnImageReleasedListener(android.media.ImageWriter.OnImageReleasedListener, android.os.Handler);
+  }
+
+  public static interface ImageWriter.OnImageReleasedListener {
+    method public void onImageReleased(android.media.ImageWriter);
+  }
+
+  public class JetPlayer {
+    method public boolean clearQueue();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method public boolean closeJetFile();
+    method protected void finalize();
+    method public static android.media.JetPlayer getJetPlayer();
+    method public static int getMaxTracks();
+    method public boolean loadJetFile(String);
+    method public boolean loadJetFile(android.content.res.AssetFileDescriptor);
+    method public boolean pause();
+    method public boolean play();
+    method public boolean queueJetSegment(int, int, int, int, int, byte);
+    method public boolean queueJetSegmentMuteArray(int, int, int, int, boolean[], byte);
+    method public void release();
+    method public void setEventListener(android.media.JetPlayer.OnJetEventListener);
+    method public void setEventListener(android.media.JetPlayer.OnJetEventListener, android.os.Handler);
+    method public boolean setMuteArray(boolean[], boolean);
+    method public boolean setMuteFlag(int, boolean, boolean);
+    method public boolean setMuteFlags(int, boolean);
+    method public boolean triggerClip(int);
+  }
+
+  public static interface JetPlayer.OnJetEventListener {
+    method public void onJetEvent(android.media.JetPlayer, short, byte, byte, byte, byte);
+    method public void onJetNumQueuedSegmentUpdate(android.media.JetPlayer, int);
+    method public void onJetPauseUpdate(android.media.JetPlayer, int);
+    method public void onJetUserIdUpdate(android.media.JetPlayer, int, int);
+  }
+
+  public class MediaActionSound {
+    ctor public MediaActionSound();
+    method public void load(int);
+    method public void play(int);
+    method public void release();
+    field public static final int FOCUS_COMPLETE = 1; // 0x1
+    field public static final int SHUTTER_CLICK = 0; // 0x0
+    field public static final int START_VIDEO_RECORDING = 2; // 0x2
+    field public static final int STOP_VIDEO_RECORDING = 3; // 0x3
+  }
+
+  public final class MediaCas implements java.lang.AutoCloseable {
+    ctor public MediaCas(int) throws android.media.MediaCasException.UnsupportedCasException;
+    ctor public MediaCas(@NonNull android.content.Context, int, @Nullable String, int) throws android.media.MediaCasException.UnsupportedCasException;
+    ctor public MediaCas(@NonNull android.content.Context, int, @Nullable String, int, @Nullable android.os.Handler, @Nullable android.media.MediaCas.EventListener) throws android.media.MediaCasException.UnsupportedCasException;
+    method public void close();
+    method public static android.media.MediaCas.PluginDescriptor[] enumeratePlugins();
+    method protected void finalize();
+    method public static boolean isSystemIdSupported(int);
+    method public android.media.MediaCas.Session openSession() throws android.media.MediaCasException;
+    method @Nullable public android.media.MediaCas.Session openSession(int, int) throws android.media.MediaCasException;
+    method public void processEmm(@NonNull byte[], int, int) throws android.media.MediaCasException;
+    method public void processEmm(@NonNull byte[]) throws android.media.MediaCasException;
+    method public void provision(@NonNull String) throws android.media.MediaCasException;
+    method public void refreshEntitlements(int, @Nullable byte[]) throws android.media.MediaCasException;
+    method public void sendEvent(int, int, @Nullable byte[]) throws android.media.MediaCasException;
+    method public void setEventListener(@Nullable android.media.MediaCas.EventListener, @Nullable android.os.Handler);
+    method public void setPrivateData(@NonNull byte[]) throws android.media.MediaCasException;
+    field public static final int PLUGIN_STATUS_PHYSICAL_MODULE_CHANGED = 0; // 0x0
+    field public static final int PLUGIN_STATUS_SESSION_NUMBER_CHANGED = 1; // 0x1
+    field public static final int SCRAMBLING_MODE_AES128 = 9; // 0x9
+    field public static final int SCRAMBLING_MODE_AES_ECB = 10; // 0xa
+    field public static final int SCRAMBLING_MODE_AES_SCTE52 = 11; // 0xb
+    field public static final int SCRAMBLING_MODE_DVB_CISSA_V1 = 6; // 0x6
+    field public static final int SCRAMBLING_MODE_DVB_CSA1 = 1; // 0x1
+    field public static final int SCRAMBLING_MODE_DVB_CSA2 = 2; // 0x2
+    field public static final int SCRAMBLING_MODE_DVB_CSA3_ENHANCE = 5; // 0x5
+    field public static final int SCRAMBLING_MODE_DVB_CSA3_MINIMAL = 4; // 0x4
+    field public static final int SCRAMBLING_MODE_DVB_CSA3_STANDARD = 3; // 0x3
+    field public static final int SCRAMBLING_MODE_DVB_IDSA = 7; // 0x7
+    field public static final int SCRAMBLING_MODE_MULTI2 = 8; // 0x8
+    field public static final int SCRAMBLING_MODE_RESERVED = 0; // 0x0
+    field public static final int SCRAMBLING_MODE_TDES_ECB = 12; // 0xc
+    field public static final int SCRAMBLING_MODE_TDES_SCTE52 = 13; // 0xd
+    field public static final int SESSION_USAGE_LIVE = 0; // 0x0
+    field public static final int SESSION_USAGE_PLAYBACK = 1; // 0x1
+    field public static final int SESSION_USAGE_RECORD = 2; // 0x2
+    field public static final int SESSION_USAGE_TIMESHIFT = 3; // 0x3
+  }
+
+  public static interface MediaCas.EventListener {
+    method public void onEvent(@NonNull android.media.MediaCas, int, int, @Nullable byte[]);
+    method public default void onPluginStatusUpdate(@NonNull android.media.MediaCas, int, int);
+    method public default void onResourceLost(@NonNull android.media.MediaCas);
+    method public default void onSessionEvent(@NonNull android.media.MediaCas, @NonNull android.media.MediaCas.Session, int, int, @Nullable byte[]);
+  }
+
+  public static class MediaCas.PluginDescriptor {
+    method @NonNull public String getName();
+    method public int getSystemId();
+  }
+
+  public final class MediaCas.Session implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public byte[] getSessionId();
+    method public void processEcm(@NonNull byte[], int, int) throws android.media.MediaCasException;
+    method public void processEcm(@NonNull byte[]) throws android.media.MediaCasException;
+    method public void sendSessionEvent(int, int, @Nullable byte[]) throws android.media.MediaCasException;
+    method public void setPrivateData(@NonNull byte[]) throws android.media.MediaCasException;
+  }
+
+  public class MediaCasException extends java.lang.Exception {
+  }
+
+  public static final class MediaCasException.DeniedByServerException extends android.media.MediaCasException {
+  }
+
+  public static final class MediaCasException.InsufficientResourceException extends android.media.MediaCasException {
+  }
+
+  public static final class MediaCasException.NotProvisionedException extends android.media.MediaCasException {
+  }
+
+  public static final class MediaCasException.ResourceBusyException extends android.media.MediaCasException {
+  }
+
+  public static final class MediaCasException.UnsupportedCasException extends android.media.MediaCasException {
+  }
+
+  public class MediaCasStateException extends java.lang.IllegalStateException {
+    method @NonNull public String getDiagnosticInfo();
+  }
+
+  public final class MediaCodec {
+    method public void configure(@Nullable android.media.MediaFormat, @Nullable android.view.Surface, @Nullable android.media.MediaCrypto, int);
+    method public void configure(@Nullable android.media.MediaFormat, @Nullable android.view.Surface, int, @Nullable android.media.MediaDescrambler);
+    method @NonNull public static android.media.MediaCodec createByCodecName(@NonNull String) throws java.io.IOException;
+    method @NonNull public static android.media.MediaCodec createDecoderByType(@NonNull String) throws java.io.IOException;
+    method @NonNull public static android.media.MediaCodec createEncoderByType(@NonNull String) throws java.io.IOException;
+    method @NonNull public android.view.Surface createInputSurface();
+    method @NonNull public static android.view.Surface createPersistentInputSurface();
+    method public int dequeueInputBuffer(long);
+    method public int dequeueOutputBuffer(@NonNull android.media.MediaCodec.BufferInfo, long);
+    method protected void finalize();
+    method public void flush();
+    method @NonNull public String getCanonicalName();
+    method @NonNull public android.media.MediaCodecInfo getCodecInfo();
+    method @Nullable public java.nio.ByteBuffer getInputBuffer(int);
+    method @Deprecated @NonNull public java.nio.ByteBuffer[] getInputBuffers();
+    method @NonNull public android.media.MediaFormat getInputFormat();
+    method @Nullable public android.media.Image getInputImage(int);
+    method public android.os.PersistableBundle getMetrics();
+    method @NonNull public String getName();
+    method @Nullable public java.nio.ByteBuffer getOutputBuffer(int);
+    method @Deprecated @NonNull public java.nio.ByteBuffer[] getOutputBuffers();
+    method @NonNull public android.media.MediaFormat getOutputFormat();
+    method @NonNull public android.media.MediaFormat getOutputFormat(int);
+    method @NonNull public android.media.MediaCodec.OutputFrame getOutputFrame(int);
+    method @Nullable public android.media.Image getOutputImage(int);
+    method @Nullable public android.media.MediaCodec.ParameterDescriptor getParameterDescriptor(@NonNull String);
+    method @NonNull public android.media.MediaCodec.QueueRequest getQueueRequest(int);
+    method @NonNull public java.util.List<java.lang.String> getSupportedVendorParameters();
+    method @Nullable public static android.media.Image mapHardwareBuffer(@NonNull android.hardware.HardwareBuffer);
+    method public void queueInputBuffer(int, int, int, long, int) throws android.media.MediaCodec.CryptoException;
+    method public void queueSecureInputBuffer(int, int, @NonNull android.media.MediaCodec.CryptoInfo, long, int) throws android.media.MediaCodec.CryptoException;
+    method public void release();
+    method public void releaseOutputBuffer(int, boolean);
+    method public void releaseOutputBuffer(int, long);
+    method public void reset();
+    method public void setAudioPresentation(@NonNull android.media.AudioPresentation);
+    method public void setCallback(@Nullable android.media.MediaCodec.Callback, @Nullable android.os.Handler);
+    method public void setCallback(@Nullable android.media.MediaCodec.Callback);
+    method public void setInputSurface(@NonNull android.view.Surface);
+    method public void setOnFirstTunnelFrameReadyListener(@Nullable android.os.Handler, @Nullable android.media.MediaCodec.OnFirstTunnelFrameReadyListener);
+    method public void setOnFrameRenderedListener(@Nullable android.media.MediaCodec.OnFrameRenderedListener, @Nullable android.os.Handler);
+    method public void setOutputSurface(@NonNull android.view.Surface);
+    method public void setParameters(@Nullable android.os.Bundle);
+    method public void setVideoScalingMode(int);
+    method public void signalEndOfInputStream();
+    method public void start();
+    method public void stop();
+    method public void subscribeToVendorParameters(@NonNull java.util.List<java.lang.String>);
+    method public void unsubscribeFromVendorParameters(@NonNull java.util.List<java.lang.String>);
+    field public static final int BUFFER_FLAG_CODEC_CONFIG = 2; // 0x2
+    field public static final int BUFFER_FLAG_END_OF_STREAM = 4; // 0x4
+    field public static final int BUFFER_FLAG_KEY_FRAME = 1; // 0x1
+    field public static final int BUFFER_FLAG_PARTIAL_FRAME = 8; // 0x8
+    field @Deprecated public static final int BUFFER_FLAG_SYNC_FRAME = 1; // 0x1
+    field public static final int CONFIGURE_FLAG_ENCODE = 1; // 0x1
+    field public static final int CONFIGURE_FLAG_USE_BLOCK_MODEL = 2; // 0x2
+    field public static final int CRYPTO_MODE_AES_CBC = 2; // 0x2
+    field public static final int CRYPTO_MODE_AES_CTR = 1; // 0x1
+    field public static final int CRYPTO_MODE_UNENCRYPTED = 0; // 0x0
+    field @Deprecated public static final int INFO_OUTPUT_BUFFERS_CHANGED = -3; // 0xfffffffd
+    field public static final int INFO_OUTPUT_FORMAT_CHANGED = -2; // 0xfffffffe
+    field public static final int INFO_TRY_AGAIN_LATER = -1; // 0xffffffff
+    field public static final String PARAMETER_KEY_HDR10_PLUS_INFO = "hdr10-plus-info";
+    field public static final String PARAMETER_KEY_LOW_LATENCY = "low-latency";
+    field public static final String PARAMETER_KEY_OFFSET_TIME = "time-offset-us";
+    field public static final String PARAMETER_KEY_REQUEST_SYNC_FRAME = "request-sync";
+    field public static final String PARAMETER_KEY_SUSPEND = "drop-input-frames";
+    field public static final String PARAMETER_KEY_SUSPEND_TIME = "drop-start-time-us";
+    field public static final String PARAMETER_KEY_TUNNEL_PEEK = "tunnel-peek";
+    field public static final String PARAMETER_KEY_VIDEO_BITRATE = "video-bitrate";
+    field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
+    field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2
+  }
+
+  public static final class MediaCodec.BufferInfo {
+    ctor public MediaCodec.BufferInfo();
+    method public void set(int, int, long, int);
+    field public int flags;
+    field public int offset;
+    field public long presentationTimeUs;
+    field public int size;
+  }
+
+  public abstract static class MediaCodec.Callback {
+    ctor public MediaCodec.Callback();
+    method public abstract void onError(@NonNull android.media.MediaCodec, @NonNull android.media.MediaCodec.CodecException);
+    method public abstract void onInputBufferAvailable(@NonNull android.media.MediaCodec, int);
+    method public abstract void onOutputBufferAvailable(@NonNull android.media.MediaCodec, int, @NonNull android.media.MediaCodec.BufferInfo);
+    method public abstract void onOutputFormatChanged(@NonNull android.media.MediaCodec, @NonNull android.media.MediaFormat);
+  }
+
+  public static final class MediaCodec.CodecException extends java.lang.IllegalStateException {
+    method @NonNull public String getDiagnosticInfo();
+    method public int getErrorCode();
+    method public boolean isRecoverable();
+    method public boolean isTransient();
+    field public static final int ERROR_INSUFFICIENT_RESOURCE = 1100; // 0x44c
+    field public static final int ERROR_RECLAIMED = 1101; // 0x44d
+  }
+
+  public static final class MediaCodec.CryptoException extends java.lang.RuntimeException {
+    ctor public MediaCodec.CryptoException(int, @Nullable String);
+    method public int getErrorCode();
+    field @Deprecated public static final int ERROR_FRAME_TOO_LARGE = 8; // 0x8
+    field @Deprecated public static final int ERROR_INSUFFICIENT_OUTPUT_PROTECTION = 4; // 0x4
+    field @Deprecated public static final int ERROR_INSUFFICIENT_SECURITY = 7; // 0x7
+    field @Deprecated public static final int ERROR_KEY_EXPIRED = 2; // 0x2
+    field @Deprecated public static final int ERROR_LOST_STATE = 9; // 0x9
+    field @Deprecated public static final int ERROR_NO_KEY = 1; // 0x1
+    field @Deprecated public static final int ERROR_RESOURCE_BUSY = 3; // 0x3
+    field @Deprecated public static final int ERROR_SESSION_NOT_OPENED = 5; // 0x5
+    field @Deprecated public static final int ERROR_UNSUPPORTED_OPERATION = 6; // 0x6
+  }
+
+  public static final class MediaCodec.CryptoInfo {
+    ctor public MediaCodec.CryptoInfo();
+    method @NonNull public android.media.MediaCodec.CryptoInfo.Pattern getPattern();
+    method public void set(int, @NonNull int[], @NonNull int[], @NonNull byte[], @NonNull byte[], int);
+    method public void setPattern(android.media.MediaCodec.CryptoInfo.Pattern);
+    field public byte[] iv;
+    field public byte[] key;
+    field public int mode;
+    field public int[] numBytesOfClearData;
+    field public int[] numBytesOfEncryptedData;
+    field public int numSubSamples;
+  }
+
+  public static final class MediaCodec.CryptoInfo.Pattern {
+    ctor public MediaCodec.CryptoInfo.Pattern(int, int);
+    method public int getEncryptBlocks();
+    method public int getSkipBlocks();
+    method public void set(int, int);
+  }
+
+  public class MediaCodec.IncompatibleWithBlockModelException extends java.lang.RuntimeException {
+  }
+
+  public static final class MediaCodec.LinearBlock {
+    method protected void finalize();
+    method public static boolean isCodecCopyFreeCompatible(@NonNull String[]);
+    method public boolean isMappable();
+    method @NonNull public java.nio.ByteBuffer map();
+    method @Nullable public static android.media.MediaCodec.LinearBlock obtain(int, @NonNull String[]);
+    method public void recycle();
+  }
+
+  public static final class MediaCodec.MetricsConstants {
+    field public static final String CODEC = "android.media.mediacodec.codec";
+    field public static final String ENCODER = "android.media.mediacodec.encoder";
+    field public static final String HEIGHT = "android.media.mediacodec.height";
+    field public static final String MIME_TYPE = "android.media.mediacodec.mime";
+    field public static final String MODE = "android.media.mediacodec.mode";
+    field public static final String MODE_AUDIO = "audio";
+    field public static final String MODE_VIDEO = "video";
+    field public static final String ROTATION = "android.media.mediacodec.rotation";
+    field public static final String SECURE = "android.media.mediacodec.secure";
+    field public static final String WIDTH = "android.media.mediacodec.width";
+  }
+
+  public static interface MediaCodec.OnFirstTunnelFrameReadyListener {
+    method public void onFirstTunnelFrameReady(@NonNull android.media.MediaCodec);
+  }
+
+  public static interface MediaCodec.OnFrameRenderedListener {
+    method public void onFrameRendered(@NonNull android.media.MediaCodec, long, long);
+  }
+
+  public static final class MediaCodec.OutputFrame {
+    method @NonNull public java.util.Set<java.lang.String> getChangedKeys();
+    method public int getFlags();
+    method @NonNull public android.media.MediaFormat getFormat();
+    method @Nullable public android.hardware.HardwareBuffer getHardwareBuffer();
+    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
+    method public long getPresentationTimeUs();
+  }
+
+  public static class MediaCodec.ParameterDescriptor {
+    method @NonNull public String getName();
+    method public int getType();
+  }
+
+  public final class MediaCodec.QueueRequest {
+    method public void queue();
+    method @NonNull public android.media.MediaCodec.QueueRequest setByteBufferParameter(@NonNull String, @NonNull java.nio.ByteBuffer);
+    method @NonNull public android.media.MediaCodec.QueueRequest setEncryptedLinearBlock(@NonNull android.media.MediaCodec.LinearBlock, int, int, @NonNull android.media.MediaCodec.CryptoInfo);
+    method @NonNull public android.media.MediaCodec.QueueRequest setFlags(int);
+    method @NonNull public android.media.MediaCodec.QueueRequest setFloatParameter(@NonNull String, float);
+    method @NonNull public android.media.MediaCodec.QueueRequest setHardwareBuffer(@NonNull android.hardware.HardwareBuffer);
+    method @NonNull public android.media.MediaCodec.QueueRequest setIntegerParameter(@NonNull String, int);
+    method @NonNull public android.media.MediaCodec.QueueRequest setLinearBlock(@NonNull android.media.MediaCodec.LinearBlock, int, int);
+    method @NonNull public android.media.MediaCodec.QueueRequest setLongParameter(@NonNull String, long);
+    method @NonNull public android.media.MediaCodec.QueueRequest setPresentationTimeUs(long);
+    method @NonNull public android.media.MediaCodec.QueueRequest setStringParameter(@NonNull String, @NonNull String);
+  }
+
+  public final class MediaCodecInfo {
+    method @NonNull public String getCanonicalName();
+    method public android.media.MediaCodecInfo.CodecCapabilities getCapabilitiesForType(String);
+    method @NonNull public String getName();
+    method public String[] getSupportedTypes();
+    method public boolean isAlias();
+    method public boolean isEncoder();
+    method public boolean isHardwareAccelerated();
+    method public boolean isSoftwareOnly();
+    method public boolean isVendor();
+  }
+
+  public static final class MediaCodecInfo.AudioCapabilities {
+    method public android.util.Range<java.lang.Integer> getBitrateRange();
+    method @NonNull public android.util.Range<java.lang.Integer>[] getInputChannelCountRanges();
+    method @IntRange(from=1, to=255) public int getMaxInputChannelCount();
+    method @IntRange(from=1, to=255) public int getMinInputChannelCount();
+    method public android.util.Range<java.lang.Integer>[] getSupportedSampleRateRanges();
+    method public int[] getSupportedSampleRates();
+    method public boolean isSampleRateSupported(int);
+  }
+
+  public static final class MediaCodecInfo.CodecCapabilities {
+    ctor public MediaCodecInfo.CodecCapabilities();
+    method public static android.media.MediaCodecInfo.CodecCapabilities createFromProfileLevel(String, int, int);
+    method public android.media.MediaCodecInfo.AudioCapabilities getAudioCapabilities();
+    method public android.media.MediaFormat getDefaultFormat();
+    method public android.media.MediaCodecInfo.EncoderCapabilities getEncoderCapabilities();
+    method public int getMaxSupportedInstances();
+    method public String getMimeType();
+    method public android.media.MediaCodecInfo.VideoCapabilities getVideoCapabilities();
+    method public boolean isFeatureRequired(String);
+    method public boolean isFeatureSupported(String);
+    method public boolean isFormatSupported(android.media.MediaFormat);
+    field @Deprecated public static final int COLOR_Format12bitRGB444 = 3; // 0x3
+    field @Deprecated public static final int COLOR_Format16bitARGB1555 = 5; // 0x5
+    field @Deprecated public static final int COLOR_Format16bitARGB4444 = 4; // 0x4
+    field @Deprecated public static final int COLOR_Format16bitBGR565 = 7; // 0x7
+    field public static final int COLOR_Format16bitRGB565 = 6; // 0x6
+    field @Deprecated public static final int COLOR_Format18BitBGR666 = 41; // 0x29
+    field @Deprecated public static final int COLOR_Format18bitARGB1665 = 9; // 0x9
+    field @Deprecated public static final int COLOR_Format18bitRGB666 = 8; // 0x8
+    field @Deprecated public static final int COLOR_Format19bitARGB1666 = 10; // 0xa
+    field @Deprecated public static final int COLOR_Format24BitABGR6666 = 43; // 0x2b
+    field @Deprecated public static final int COLOR_Format24BitARGB6666 = 42; // 0x2a
+    field @Deprecated public static final int COLOR_Format24bitARGB1887 = 13; // 0xd
+    field public static final int COLOR_Format24bitBGR888 = 12; // 0xc
+    field @Deprecated public static final int COLOR_Format24bitRGB888 = 11; // 0xb
+    field @Deprecated public static final int COLOR_Format25bitARGB1888 = 14; // 0xe
+    field public static final int COLOR_Format32bitABGR8888 = 2130747392; // 0x7f00a000
+    field @Deprecated public static final int COLOR_Format32bitARGB8888 = 16; // 0x10
+    field @Deprecated public static final int COLOR_Format32bitBGRA8888 = 15; // 0xf
+    field @Deprecated public static final int COLOR_Format8bitRGB332 = 2; // 0x2
+    field @Deprecated public static final int COLOR_FormatCbYCrY = 27; // 0x1b
+    field @Deprecated public static final int COLOR_FormatCrYCbY = 28; // 0x1c
+    field public static final int COLOR_FormatL16 = 36; // 0x24
+    field @Deprecated public static final int COLOR_FormatL2 = 33; // 0x21
+    field @Deprecated public static final int COLOR_FormatL24 = 37; // 0x25
+    field @Deprecated public static final int COLOR_FormatL32 = 38; // 0x26
+    field @Deprecated public static final int COLOR_FormatL4 = 34; // 0x22
+    field public static final int COLOR_FormatL8 = 35; // 0x23
+    field @Deprecated public static final int COLOR_FormatMonochrome = 1; // 0x1
+    field public static final int COLOR_FormatRGBAFlexible = 2134288520; // 0x7f36a888
+    field public static final int COLOR_FormatRGBFlexible = 2134292616; // 0x7f36b888
+    field public static final int COLOR_FormatRawBayer10bit = 31; // 0x1f
+    field public static final int COLOR_FormatRawBayer8bit = 30; // 0x1e
+    field public static final int COLOR_FormatRawBayer8bitcompressed = 32; // 0x20
+    field public static final int COLOR_FormatSurface = 2130708361; // 0x7f000789
+    field @Deprecated public static final int COLOR_FormatYCbYCr = 25; // 0x19
+    field @Deprecated public static final int COLOR_FormatYCrYCb = 26; // 0x1a
+    field @Deprecated public static final int COLOR_FormatYUV411PackedPlanar = 18; // 0x12
+    field @Deprecated public static final int COLOR_FormatYUV411Planar = 17; // 0x11
+    field public static final int COLOR_FormatYUV420Flexible = 2135033992; // 0x7f420888
+    field @Deprecated public static final int COLOR_FormatYUV420PackedPlanar = 20; // 0x14
+    field @Deprecated public static final int COLOR_FormatYUV420PackedSemiPlanar = 39; // 0x27
+    field @Deprecated public static final int COLOR_FormatYUV420Planar = 19; // 0x13
+    field @Deprecated public static final int COLOR_FormatYUV420SemiPlanar = 21; // 0x15
+    field public static final int COLOR_FormatYUV422Flexible = 2135042184; // 0x7f422888
+    field @Deprecated public static final int COLOR_FormatYUV422PackedPlanar = 23; // 0x17
+    field @Deprecated public static final int COLOR_FormatYUV422PackedSemiPlanar = 40; // 0x28
+    field @Deprecated public static final int COLOR_FormatYUV422Planar = 22; // 0x16
+    field @Deprecated public static final int COLOR_FormatYUV422SemiPlanar = 24; // 0x18
+    field public static final int COLOR_FormatYUV444Flexible = 2135181448; // 0x7f444888
+    field @Deprecated public static final int COLOR_FormatYUV444Interleaved = 29; // 0x1d
+    field @Deprecated public static final int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00
+    field @Deprecated public static final int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100
+    field public static final String FEATURE_AdaptivePlayback = "adaptive-playback";
+    field public static final String FEATURE_DynamicTimestamp = "dynamic-timestamp";
+    field public static final String FEATURE_FrameParsing = "frame-parsing";
+    field public static final String FEATURE_IntraRefresh = "intra-refresh";
+    field public static final String FEATURE_LowLatency = "low-latency";
+    field public static final String FEATURE_MultipleFrames = "multiple-frames";
+    field public static final String FEATURE_PartialFrame = "partial-frame";
+    field public static final String FEATURE_QpBounds = "qp-bounds";
+    field public static final String FEATURE_SecurePlayback = "secure-playback";
+    field public static final String FEATURE_TunneledPlayback = "tunneled-playback";
+    field public int[] colorFormats;
+    field public android.media.MediaCodecInfo.CodecProfileLevel[] profileLevels;
+  }
+
+  public static final class MediaCodecInfo.CodecProfileLevel {
+    ctor public MediaCodecInfo.CodecProfileLevel();
+    field public static final int AACObjectELD = 39; // 0x27
+    field public static final int AACObjectERLC = 17; // 0x11
+    field public static final int AACObjectERScalable = 20; // 0x14
+    field public static final int AACObjectHE = 5; // 0x5
+    field public static final int AACObjectHE_PS = 29; // 0x1d
+    field public static final int AACObjectLC = 2; // 0x2
+    field public static final int AACObjectLD = 23; // 0x17
+    field public static final int AACObjectLTP = 4; // 0x4
+    field public static final int AACObjectMain = 1; // 0x1
+    field public static final int AACObjectSSR = 3; // 0x3
+    field public static final int AACObjectScalable = 6; // 0x6
+    field public static final int AACObjectXHE = 42; // 0x2a
+    field public static final int AV1Level2 = 1; // 0x1
+    field public static final int AV1Level21 = 2; // 0x2
+    field public static final int AV1Level22 = 4; // 0x4
+    field public static final int AV1Level23 = 8; // 0x8
+    field public static final int AV1Level3 = 16; // 0x10
+    field public static final int AV1Level31 = 32; // 0x20
+    field public static final int AV1Level32 = 64; // 0x40
+    field public static final int AV1Level33 = 128; // 0x80
+    field public static final int AV1Level4 = 256; // 0x100
+    field public static final int AV1Level41 = 512; // 0x200
+    field public static final int AV1Level42 = 1024; // 0x400
+    field public static final int AV1Level43 = 2048; // 0x800
+    field public static final int AV1Level5 = 4096; // 0x1000
+    field public static final int AV1Level51 = 8192; // 0x2000
+    field public static final int AV1Level52 = 16384; // 0x4000
+    field public static final int AV1Level53 = 32768; // 0x8000
+    field public static final int AV1Level6 = 65536; // 0x10000
+    field public static final int AV1Level61 = 131072; // 0x20000
+    field public static final int AV1Level62 = 262144; // 0x40000
+    field public static final int AV1Level63 = 524288; // 0x80000
+    field public static final int AV1Level7 = 1048576; // 0x100000
+    field public static final int AV1Level71 = 2097152; // 0x200000
+    field public static final int AV1Level72 = 4194304; // 0x400000
+    field public static final int AV1Level73 = 8388608; // 0x800000
+    field public static final int AV1ProfileMain10 = 2; // 0x2
+    field public static final int AV1ProfileMain10HDR10 = 4096; // 0x1000
+    field public static final int AV1ProfileMain10HDR10Plus = 8192; // 0x2000
+    field public static final int AV1ProfileMain8 = 1; // 0x1
+    field public static final int AVCLevel1 = 1; // 0x1
+    field public static final int AVCLevel11 = 4; // 0x4
+    field public static final int AVCLevel12 = 8; // 0x8
+    field public static final int AVCLevel13 = 16; // 0x10
+    field public static final int AVCLevel1b = 2; // 0x2
+    field public static final int AVCLevel2 = 32; // 0x20
+    field public static final int AVCLevel21 = 64; // 0x40
+    field public static final int AVCLevel22 = 128; // 0x80
+    field public static final int AVCLevel3 = 256; // 0x100
+    field public static final int AVCLevel31 = 512; // 0x200
+    field public static final int AVCLevel32 = 1024; // 0x400
+    field public static final int AVCLevel4 = 2048; // 0x800
+    field public static final int AVCLevel41 = 4096; // 0x1000
+    field public static final int AVCLevel42 = 8192; // 0x2000
+    field public static final int AVCLevel5 = 16384; // 0x4000
+    field public static final int AVCLevel51 = 32768; // 0x8000
+    field public static final int AVCLevel52 = 65536; // 0x10000
+    field public static final int AVCLevel6 = 131072; // 0x20000
+    field public static final int AVCLevel61 = 262144; // 0x40000
+    field public static final int AVCLevel62 = 524288; // 0x80000
+    field public static final int AVCProfileBaseline = 1; // 0x1
+    field public static final int AVCProfileConstrainedBaseline = 65536; // 0x10000
+    field public static final int AVCProfileConstrainedHigh = 524288; // 0x80000
+    field public static final int AVCProfileExtended = 4; // 0x4
+    field public static final int AVCProfileHigh = 8; // 0x8
+    field public static final int AVCProfileHigh10 = 16; // 0x10
+    field public static final int AVCProfileHigh422 = 32; // 0x20
+    field public static final int AVCProfileHigh444 = 64; // 0x40
+    field public static final int AVCProfileMain = 2; // 0x2
+    field public static final int DolbyVisionLevelFhd24 = 4; // 0x4
+    field public static final int DolbyVisionLevelFhd30 = 8; // 0x8
+    field public static final int DolbyVisionLevelFhd60 = 16; // 0x10
+    field public static final int DolbyVisionLevelHd24 = 1; // 0x1
+    field public static final int DolbyVisionLevelHd30 = 2; // 0x2
+    field public static final int DolbyVisionLevelUhd24 = 32; // 0x20
+    field public static final int DolbyVisionLevelUhd30 = 64; // 0x40
+    field public static final int DolbyVisionLevelUhd48 = 128; // 0x80
+    field public static final int DolbyVisionLevelUhd60 = 256; // 0x100
+    field public static final int DolbyVisionProfileDvav110 = 1024; // 0x400
+    field public static final int DolbyVisionProfileDvavPen = 2; // 0x2
+    field public static final int DolbyVisionProfileDvavPer = 1; // 0x1
+    field public static final int DolbyVisionProfileDvavSe = 512; // 0x200
+    field public static final int DolbyVisionProfileDvheDen = 8; // 0x8
+    field public static final int DolbyVisionProfileDvheDer = 4; // 0x4
+    field public static final int DolbyVisionProfileDvheDtb = 128; // 0x80
+    field public static final int DolbyVisionProfileDvheDth = 64; // 0x40
+    field public static final int DolbyVisionProfileDvheDtr = 16; // 0x10
+    field public static final int DolbyVisionProfileDvheSt = 256; // 0x100
+    field public static final int DolbyVisionProfileDvheStn = 32; // 0x20
+    field public static final int H263Level10 = 1; // 0x1
+    field public static final int H263Level20 = 2; // 0x2
+    field public static final int H263Level30 = 4; // 0x4
+    field public static final int H263Level40 = 8; // 0x8
+    field public static final int H263Level45 = 16; // 0x10
+    field public static final int H263Level50 = 32; // 0x20
+    field public static final int H263Level60 = 64; // 0x40
+    field public static final int H263Level70 = 128; // 0x80
+    field public static final int H263ProfileBackwardCompatible = 4; // 0x4
+    field public static final int H263ProfileBaseline = 1; // 0x1
+    field public static final int H263ProfileH320Coding = 2; // 0x2
+    field public static final int H263ProfileHighCompression = 32; // 0x20
+    field public static final int H263ProfileHighLatency = 256; // 0x100
+    field public static final int H263ProfileISWV2 = 8; // 0x8
+    field public static final int H263ProfileISWV3 = 16; // 0x10
+    field public static final int H263ProfileInterlace = 128; // 0x80
+    field public static final int H263ProfileInternet = 64; // 0x40
+    field public static final int HEVCHighTierLevel1 = 2; // 0x2
+    field public static final int HEVCHighTierLevel2 = 8; // 0x8
+    field public static final int HEVCHighTierLevel21 = 32; // 0x20
+    field public static final int HEVCHighTierLevel3 = 128; // 0x80
+    field public static final int HEVCHighTierLevel31 = 512; // 0x200
+    field public static final int HEVCHighTierLevel4 = 2048; // 0x800
+    field public static final int HEVCHighTierLevel41 = 8192; // 0x2000
+    field public static final int HEVCHighTierLevel5 = 32768; // 0x8000
+    field public static final int HEVCHighTierLevel51 = 131072; // 0x20000
+    field public static final int HEVCHighTierLevel52 = 524288; // 0x80000
+    field public static final int HEVCHighTierLevel6 = 2097152; // 0x200000
+    field public static final int HEVCHighTierLevel61 = 8388608; // 0x800000
+    field public static final int HEVCHighTierLevel62 = 33554432; // 0x2000000
+    field public static final int HEVCMainTierLevel1 = 1; // 0x1
+    field public static final int HEVCMainTierLevel2 = 4; // 0x4
+    field public static final int HEVCMainTierLevel21 = 16; // 0x10
+    field public static final int HEVCMainTierLevel3 = 64; // 0x40
+    field public static final int HEVCMainTierLevel31 = 256; // 0x100
+    field public static final int HEVCMainTierLevel4 = 1024; // 0x400
+    field public static final int HEVCMainTierLevel41 = 4096; // 0x1000
+    field public static final int HEVCMainTierLevel5 = 16384; // 0x4000
+    field public static final int HEVCMainTierLevel51 = 65536; // 0x10000
+    field public static final int HEVCMainTierLevel52 = 262144; // 0x40000
+    field public static final int HEVCMainTierLevel6 = 1048576; // 0x100000
+    field public static final int HEVCMainTierLevel61 = 4194304; // 0x400000
+    field public static final int HEVCMainTierLevel62 = 16777216; // 0x1000000
+    field public static final int HEVCProfileMain = 1; // 0x1
+    field public static final int HEVCProfileMain10 = 2; // 0x2
+    field public static final int HEVCProfileMain10HDR10 = 4096; // 0x1000
+    field public static final int HEVCProfileMain10HDR10Plus = 8192; // 0x2000
+    field public static final int HEVCProfileMainStill = 4; // 0x4
+    field public static final int MPEG2LevelH14 = 2; // 0x2
+    field public static final int MPEG2LevelHL = 3; // 0x3
+    field public static final int MPEG2LevelHP = 4; // 0x4
+    field public static final int MPEG2LevelLL = 0; // 0x0
+    field public static final int MPEG2LevelML = 1; // 0x1
+    field public static final int MPEG2Profile422 = 2; // 0x2
+    field public static final int MPEG2ProfileHigh = 5; // 0x5
+    field public static final int MPEG2ProfileMain = 1; // 0x1
+    field public static final int MPEG2ProfileSNR = 3; // 0x3
+    field public static final int MPEG2ProfileSimple = 0; // 0x0
+    field public static final int MPEG2ProfileSpatial = 4; // 0x4
+    field public static final int MPEG4Level0 = 1; // 0x1
+    field public static final int MPEG4Level0b = 2; // 0x2
+    field public static final int MPEG4Level1 = 4; // 0x4
+    field public static final int MPEG4Level2 = 8; // 0x8
+    field public static final int MPEG4Level3 = 16; // 0x10
+    field public static final int MPEG4Level3b = 24; // 0x18
+    field public static final int MPEG4Level4 = 32; // 0x20
+    field public static final int MPEG4Level4a = 64; // 0x40
+    field public static final int MPEG4Level5 = 128; // 0x80
+    field public static final int MPEG4Level6 = 256; // 0x100
+    field public static final int MPEG4ProfileAdvancedCoding = 4096; // 0x1000
+    field public static final int MPEG4ProfileAdvancedCore = 8192; // 0x2000
+    field public static final int MPEG4ProfileAdvancedRealTime = 1024; // 0x400
+    field public static final int MPEG4ProfileAdvancedScalable = 16384; // 0x4000
+    field public static final int MPEG4ProfileAdvancedSimple = 32768; // 0x8000
+    field public static final int MPEG4ProfileBasicAnimated = 256; // 0x100
+    field public static final int MPEG4ProfileCore = 4; // 0x4
+    field public static final int MPEG4ProfileCoreScalable = 2048; // 0x800
+    field public static final int MPEG4ProfileHybrid = 512; // 0x200
+    field public static final int MPEG4ProfileMain = 8; // 0x8
+    field public static final int MPEG4ProfileNbit = 16; // 0x10
+    field public static final int MPEG4ProfileScalableTexture = 32; // 0x20
+    field public static final int MPEG4ProfileSimple = 1; // 0x1
+    field public static final int MPEG4ProfileSimpleFBA = 128; // 0x80
+    field public static final int MPEG4ProfileSimpleFace = 64; // 0x40
+    field public static final int MPEG4ProfileSimpleScalable = 2; // 0x2
+    field public static final int VP8Level_Version0 = 1; // 0x1
+    field public static final int VP8Level_Version1 = 2; // 0x2
+    field public static final int VP8Level_Version2 = 4; // 0x4
+    field public static final int VP8Level_Version3 = 8; // 0x8
+    field public static final int VP8ProfileMain = 1; // 0x1
+    field public static final int VP9Level1 = 1; // 0x1
+    field public static final int VP9Level11 = 2; // 0x2
+    field public static final int VP9Level2 = 4; // 0x4
+    field public static final int VP9Level21 = 8; // 0x8
+    field public static final int VP9Level3 = 16; // 0x10
+    field public static final int VP9Level31 = 32; // 0x20
+    field public static final int VP9Level4 = 64; // 0x40
+    field public static final int VP9Level41 = 128; // 0x80
+    field public static final int VP9Level5 = 256; // 0x100
+    field public static final int VP9Level51 = 512; // 0x200
+    field public static final int VP9Level52 = 1024; // 0x400
+    field public static final int VP9Level6 = 2048; // 0x800
+    field public static final int VP9Level61 = 4096; // 0x1000
+    field public static final int VP9Level62 = 8192; // 0x2000
+    field public static final int VP9Profile0 = 1; // 0x1
+    field public static final int VP9Profile1 = 2; // 0x2
+    field public static final int VP9Profile2 = 4; // 0x4
+    field public static final int VP9Profile2HDR = 4096; // 0x1000
+    field public static final int VP9Profile2HDR10Plus = 16384; // 0x4000
+    field public static final int VP9Profile3 = 8; // 0x8
+    field public static final int VP9Profile3HDR = 8192; // 0x2000
+    field public static final int VP9Profile3HDR10Plus = 32768; // 0x8000
+    field public int level;
+    field public int profile;
+  }
+
+  public static final class MediaCodecInfo.EncoderCapabilities {
+    method public android.util.Range<java.lang.Integer> getComplexityRange();
+    method public android.util.Range<java.lang.Integer> getQualityRange();
+    method public boolean isBitrateModeSupported(int);
+    field public static final int BITRATE_MODE_CBR = 2; // 0x2
+    field public static final int BITRATE_MODE_CBR_FD = 3; // 0x3
+    field public static final int BITRATE_MODE_CQ = 0; // 0x0
+    field public static final int BITRATE_MODE_VBR = 1; // 0x1
+  }
+
+  public static final class MediaCodecInfo.VideoCapabilities {
+    method public boolean areSizeAndRateSupported(int, int, double);
+    method @Nullable public android.util.Range<java.lang.Double> getAchievableFrameRatesFor(int, int);
+    method public android.util.Range<java.lang.Integer> getBitrateRange();
+    method public int getHeightAlignment();
+    method public android.util.Range<java.lang.Integer> getSupportedFrameRates();
+    method public android.util.Range<java.lang.Double> getSupportedFrameRatesFor(int, int);
+    method public android.util.Range<java.lang.Integer> getSupportedHeights();
+    method public android.util.Range<java.lang.Integer> getSupportedHeightsFor(int);
+    method @Nullable public java.util.List<android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint> getSupportedPerformancePoints();
+    method public android.util.Range<java.lang.Integer> getSupportedWidths();
+    method public android.util.Range<java.lang.Integer> getSupportedWidthsFor(int);
+    method public int getWidthAlignment();
+    method public boolean isSizeSupported(int, int);
+  }
+
+  public static final class MediaCodecInfo.VideoCapabilities.PerformancePoint {
+    ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(int, int, int);
+    method public boolean covers(@NonNull android.media.MediaFormat);
+    method public boolean covers(@NonNull android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint);
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_100;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_120;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_200;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_24;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_240;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_25;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_30;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_50;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_60;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_100;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_120;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_200;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_24;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_240;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_25;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_30;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_50;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_60;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_24;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_25;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_30;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_48;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_50;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_60;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_100;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_120;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_200;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_24;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_240;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_25;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_30;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_50;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_60;
+  }
+
+  public final class MediaCodecList {
+    ctor public MediaCodecList(int);
+    method public String findDecoderForFormat(android.media.MediaFormat);
+    method public String findEncoderForFormat(android.media.MediaFormat);
+    method @Deprecated public static int getCodecCount();
+    method @Deprecated public static android.media.MediaCodecInfo getCodecInfoAt(int);
+    method public android.media.MediaCodecInfo[] getCodecInfos();
+    field public static final int ALL_CODECS = 1; // 0x1
+    field public static final int REGULAR_CODECS = 0; // 0x0
+  }
+
+  public final class MediaCrypto {
+    ctor public MediaCrypto(@NonNull java.util.UUID, @NonNull byte[]) throws android.media.MediaCryptoException;
+    method protected void finalize();
+    method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID);
+    method public void release();
+    method public boolean requiresSecureDecoderComponent(@NonNull String);
+    method public void setMediaDrmSession(@NonNull byte[]) throws android.media.MediaCryptoException;
+  }
+
+  public final class MediaCryptoException extends java.lang.Exception {
+    ctor public MediaCryptoException(@Nullable String);
+  }
+
+  public abstract class MediaDataSource implements java.io.Closeable {
+    ctor public MediaDataSource();
+    method public abstract long getSize() throws java.io.IOException;
+    method public abstract int readAt(long, byte[], int, int) throws java.io.IOException;
+  }
+
+  public final class MediaDescrambler implements java.lang.AutoCloseable {
+    ctor public MediaDescrambler(int) throws android.media.MediaCasException.UnsupportedCasException;
+    method public void close();
+    method public int descramble(@NonNull java.nio.ByteBuffer, @NonNull java.nio.ByteBuffer, @NonNull android.media.MediaCodec.CryptoInfo);
+    method protected void finalize();
+    method public boolean requiresSecureDecoderComponent(@NonNull String);
+    method public void setMediaCasSession(@NonNull android.media.MediaCas.Session);
+    field public static final byte SCRAMBLE_CONTROL_EVEN_KEY = 2; // 0x2
+    field public static final byte SCRAMBLE_CONTROL_ODD_KEY = 3; // 0x3
+    field public static final byte SCRAMBLE_CONTROL_RESERVED = 1; // 0x1
+    field public static final byte SCRAMBLE_CONTROL_UNSCRAMBLED = 0; // 0x0
+    field public static final byte SCRAMBLE_FLAG_PES_HEADER = 1; // 0x1
+  }
+
+  public class MediaDescription implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public CharSequence getDescription();
+    method @Nullable public android.os.Bundle getExtras();
+    method @Nullable public android.graphics.Bitmap getIconBitmap();
+    method @Nullable public android.net.Uri getIconUri();
+    method @Nullable public String getMediaId();
+    method @Nullable public android.net.Uri getMediaUri();
+    method @Nullable public CharSequence getSubtitle();
+    method @Nullable public CharSequence getTitle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final long BT_FOLDER_TYPE_ALBUMS = 2L; // 0x2L
+    field public static final long BT_FOLDER_TYPE_ARTISTS = 3L; // 0x3L
+    field public static final long BT_FOLDER_TYPE_GENRES = 4L; // 0x4L
+    field public static final long BT_FOLDER_TYPE_MIXED = 0L; // 0x0L
+    field public static final long BT_FOLDER_TYPE_PLAYLISTS = 5L; // 0x5L
+    field public static final long BT_FOLDER_TYPE_TITLES = 1L; // 0x1L
+    field public static final long BT_FOLDER_TYPE_YEARS = 6L; // 0x6L
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaDescription> CREATOR;
+    field public static final String EXTRA_BT_FOLDER_TYPE = "android.media.extra.BT_FOLDER_TYPE";
+  }
+
+  public static class MediaDescription.Builder {
+    ctor public MediaDescription.Builder();
+    method public android.media.MediaDescription build();
+    method public android.media.MediaDescription.Builder setDescription(@Nullable CharSequence);
+    method public android.media.MediaDescription.Builder setExtras(@Nullable android.os.Bundle);
+    method public android.media.MediaDescription.Builder setIconBitmap(@Nullable android.graphics.Bitmap);
+    method public android.media.MediaDescription.Builder setIconUri(@Nullable android.net.Uri);
+    method public android.media.MediaDescription.Builder setMediaId(@Nullable String);
+    method public android.media.MediaDescription.Builder setMediaUri(@Nullable android.net.Uri);
+    method public android.media.MediaDescription.Builder setSubtitle(@Nullable CharSequence);
+    method public android.media.MediaDescription.Builder setTitle(@Nullable CharSequence);
+  }
+
+  public final class MediaDrm implements java.lang.AutoCloseable {
+    ctor public MediaDrm(@NonNull java.util.UUID) throws android.media.UnsupportedSchemeException;
+    method public void clearOnEventListener();
+    method public void clearOnExpirationUpdateListener();
+    method public void clearOnKeyStatusChangeListener();
+    method public void clearOnSessionLostStateListener();
+    method public void close();
+    method public void closeSession(@NonNull byte[]);
+    method @android.media.MediaDrm.HdcpLevel public int getConnectedHdcpLevel();
+    method public android.media.MediaDrm.CryptoSession getCryptoSession(@NonNull byte[], @NonNull String, @NonNull String);
+    method @NonNull public android.media.MediaDrm.KeyRequest getKeyRequest(@NonNull byte[], @Nullable byte[], @Nullable String, int, @Nullable java.util.HashMap<java.lang.String,java.lang.String>) throws android.media.NotProvisionedException;
+    method @NonNull public java.util.List<android.media.MediaDrm.LogMessage> getLogMessages();
+    method @android.media.MediaDrm.HdcpLevel public int getMaxHdcpLevel();
+    method public static int getMaxSecurityLevel();
+    method public int getMaxSessionCount();
+    method public android.os.PersistableBundle getMetrics();
+    method @NonNull public java.util.List<byte[]> getOfflineLicenseKeySetIds();
+    method public int getOfflineLicenseState(@NonNull byte[]);
+    method public int getOpenSessionCount();
+    method @Nullable public android.media.MediaDrm.PlaybackComponent getPlaybackComponent(@NonNull byte[]);
+    method @NonNull public byte[] getPropertyByteArray(String);
+    method @NonNull public String getPropertyString(@NonNull String);
+    method @NonNull public android.media.MediaDrm.ProvisionRequest getProvisionRequest();
+    method @NonNull public byte[] getSecureStop(@NonNull byte[]);
+    method @NonNull public java.util.List<byte[]> getSecureStopIds();
+    method @NonNull public java.util.List<byte[]> getSecureStops();
+    method @android.media.MediaDrm.SecurityLevel public int getSecurityLevel(@NonNull byte[]);
+    method @NonNull public static java.util.List<java.util.UUID> getSupportedCryptoSchemes();
+    method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID);
+    method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID, @NonNull String);
+    method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID, @NonNull String, @android.media.MediaDrm.SecurityLevel int);
+    method @NonNull public byte[] openSession() throws android.media.NotProvisionedException, android.media.ResourceBusyException;
+    method @NonNull public byte[] openSession(@android.media.MediaDrm.SecurityLevel int) throws android.media.NotProvisionedException, android.media.ResourceBusyException;
+    method @Nullable public byte[] provideKeyResponse(@NonNull byte[], @NonNull byte[]) throws android.media.DeniedByServerException, android.media.NotProvisionedException;
+    method public void provideProvisionResponse(@NonNull byte[]) throws android.media.DeniedByServerException;
+    method @NonNull public java.util.HashMap<java.lang.String,java.lang.String> queryKeyStatus(@NonNull byte[]);
+    method @Deprecated public void release();
+    method @Deprecated public void releaseAllSecureStops();
+    method public void releaseSecureStops(@NonNull byte[]);
+    method public void removeAllSecureStops();
+    method public void removeKeys(@NonNull byte[]);
+    method public void removeOfflineLicense(@NonNull byte[]);
+    method public void removeSecureStop(@NonNull byte[]);
+    method public boolean requiresSecureDecoder(@NonNull String);
+    method public boolean requiresSecureDecoder(@NonNull String, @android.media.MediaDrm.SecurityLevel int);
+    method public void restoreKeys(@NonNull byte[], @NonNull byte[]);
+    method public void setOnEventListener(@Nullable android.media.MediaDrm.OnEventListener);
+    method public void setOnEventListener(@Nullable android.media.MediaDrm.OnEventListener, @Nullable android.os.Handler);
+    method public void setOnEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaDrm.OnEventListener);
+    method public void setOnExpirationUpdateListener(@Nullable android.media.MediaDrm.OnExpirationUpdateListener, @Nullable android.os.Handler);
+    method public void setOnExpirationUpdateListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaDrm.OnExpirationUpdateListener);
+    method public void setOnKeyStatusChangeListener(@Nullable android.media.MediaDrm.OnKeyStatusChangeListener, @Nullable android.os.Handler);
+    method public void setOnKeyStatusChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaDrm.OnKeyStatusChangeListener);
+    method public void setOnSessionLostStateListener(@Nullable android.media.MediaDrm.OnSessionLostStateListener, @Nullable android.os.Handler);
+    method public void setOnSessionLostStateListener(@NonNull java.util.concurrent.Executor, @Nullable android.media.MediaDrm.OnSessionLostStateListener);
+    method public void setPropertyByteArray(@NonNull String, @NonNull byte[]);
+    method public void setPropertyString(@NonNull String, @NonNull String);
+    field @Deprecated public static final int EVENT_KEY_EXPIRED = 3; // 0x3
+    field public static final int EVENT_KEY_REQUIRED = 2; // 0x2
+    field @Deprecated public static final int EVENT_PROVISION_REQUIRED = 1; // 0x1
+    field public static final int EVENT_SESSION_RECLAIMED = 5; // 0x5
+    field public static final int EVENT_VENDOR_DEFINED = 4; // 0x4
+    field public static final int HDCP_LEVEL_UNKNOWN = 0; // 0x0
+    field public static final int HDCP_NONE = 1; // 0x1
+    field public static final int HDCP_NO_DIGITAL_OUTPUT = 2147483647; // 0x7fffffff
+    field public static final int HDCP_V1 = 2; // 0x2
+    field public static final int HDCP_V2 = 3; // 0x3
+    field public static final int HDCP_V2_1 = 4; // 0x4
+    field public static final int HDCP_V2_2 = 5; // 0x5
+    field public static final int HDCP_V2_3 = 6; // 0x6
+    field public static final int KEY_TYPE_OFFLINE = 2; // 0x2
+    field public static final int KEY_TYPE_RELEASE = 3; // 0x3
+    field public static final int KEY_TYPE_STREAMING = 1; // 0x1
+    field public static final int OFFLINE_LICENSE_STATE_RELEASED = 2; // 0x2
+    field public static final int OFFLINE_LICENSE_STATE_UNKNOWN = 0; // 0x0
+    field public static final int OFFLINE_LICENSE_STATE_USABLE = 1; // 0x1
+    field public static final String PROPERTY_ALGORITHMS = "algorithms";
+    field public static final String PROPERTY_DESCRIPTION = "description";
+    field public static final String PROPERTY_DEVICE_UNIQUE_ID = "deviceUniqueId";
+    field public static final String PROPERTY_VENDOR = "vendor";
+    field public static final String PROPERTY_VERSION = "version";
+    field public static final int SECURITY_LEVEL_HW_SECURE_ALL = 5; // 0x5
+    field public static final int SECURITY_LEVEL_HW_SECURE_CRYPTO = 3; // 0x3
+    field public static final int SECURITY_LEVEL_HW_SECURE_DECODE = 4; // 0x4
+    field public static final int SECURITY_LEVEL_SW_SECURE_CRYPTO = 1; // 0x1
+    field public static final int SECURITY_LEVEL_SW_SECURE_DECODE = 2; // 0x2
+    field public static final int SECURITY_LEVEL_UNKNOWN = 0; // 0x0
+  }
+
+  public final class MediaDrm.CryptoSession {
+    method @NonNull public byte[] decrypt(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
+    method @NonNull public byte[] encrypt(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
+    method @NonNull public byte[] sign(@NonNull byte[], @NonNull byte[]);
+    method public boolean verify(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
+  }
+
+  public static final class MediaDrm.ErrorCodes {
+    field public static final int ERROR_CERTIFICATE_MALFORMED = 10; // 0xa
+    field public static final int ERROR_CERTIFICATE_MISSING = 11; // 0xb
+    field public static final int ERROR_CRYPTO_LIBRARY = 12; // 0xc
+    field public static final int ERROR_FRAME_TOO_LARGE = 8; // 0x8
+    field public static final int ERROR_GENERIC_OEM = 13; // 0xd
+    field public static final int ERROR_GENERIC_PLUGIN = 14; // 0xe
+    field public static final int ERROR_INIT_DATA = 15; // 0xf
+    field public static final int ERROR_INSUFFICIENT_OUTPUT_PROTECTION = 4; // 0x4
+    field public static final int ERROR_INSUFFICIENT_SECURITY = 7; // 0x7
+    field public static final int ERROR_KEY_EXPIRED = 2; // 0x2
+    field public static final int ERROR_KEY_NOT_LOADED = 16; // 0x10
+    field public static final int ERROR_LICENSE_PARSE = 17; // 0x11
+    field public static final int ERROR_LICENSE_POLICY = 18; // 0x12
+    field public static final int ERROR_LICENSE_RELEASE = 19; // 0x13
+    field public static final int ERROR_LICENSE_REQUEST_REJECTED = 20; // 0x14
+    field public static final int ERROR_LICENSE_RESTORE = 21; // 0x15
+    field public static final int ERROR_LICENSE_STATE = 22; // 0x16
+    field public static final int ERROR_LOST_STATE = 9; // 0x9
+    field public static final int ERROR_MEDIA_FRAMEWORK = 23; // 0x17
+    field public static final int ERROR_NO_KEY = 1; // 0x1
+    field public static final int ERROR_PROVISIONING_CERTIFICATE = 24; // 0x18
+    field public static final int ERROR_PROVISIONING_CONFIG = 25; // 0x19
+    field public static final int ERROR_PROVISIONING_PARSE = 26; // 0x1a
+    field public static final int ERROR_PROVISIONING_REQUEST_REJECTED = 27; // 0x1b
+    field public static final int ERROR_PROVISIONING_RETRY = 28; // 0x1c
+    field public static final int ERROR_RESOURCE_BUSY = 3; // 0x3
+    field public static final int ERROR_RESOURCE_CONTENTION = 29; // 0x1d
+    field public static final int ERROR_SECURE_STOP_RELEASE = 30; // 0x1e
+    field public static final int ERROR_SESSION_NOT_OPENED = 5; // 0x5
+    field public static final int ERROR_STORAGE_READ = 31; // 0x1f
+    field public static final int ERROR_STORAGE_WRITE = 32; // 0x20
+    field public static final int ERROR_UNKNOWN = 0; // 0x0
+    field public static final int ERROR_UNSUPPORTED_OPERATION = 6; // 0x6
+    field public static final int ERROR_ZERO_SUBSAMPLES = 33; // 0x21
+  }
+
+  @Deprecated @IntDef({android.media.MediaDrm.HDCP_LEVEL_UNKNOWN, android.media.MediaDrm.HDCP_NONE, android.media.MediaDrm.HDCP_V1, android.media.MediaDrm.HDCP_V2, android.media.MediaDrm.HDCP_V2_1, android.media.MediaDrm.HDCP_V2_2, android.media.MediaDrm.HDCP_V2_3, android.media.MediaDrm.HDCP_NO_DIGITAL_OUTPUT}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaDrm.HdcpLevel {
+  }
+
+  public static final class MediaDrm.KeyRequest {
+    method @NonNull public byte[] getData();
+    method @NonNull public String getDefaultUrl();
+    method public int getRequestType();
+    field public static final int REQUEST_TYPE_INITIAL = 0; // 0x0
+    field public static final int REQUEST_TYPE_NONE = 3; // 0x3
+    field public static final int REQUEST_TYPE_RELEASE = 2; // 0x2
+    field public static final int REQUEST_TYPE_RENEWAL = 1; // 0x1
+    field public static final int REQUEST_TYPE_UPDATE = 4; // 0x4
+  }
+
+  public static final class MediaDrm.KeyStatus {
+    method @NonNull public byte[] getKeyId();
+    method public int getStatusCode();
+    field public static final int STATUS_EXPIRED = 1; // 0x1
+    field public static final int STATUS_INTERNAL_ERROR = 4; // 0x4
+    field public static final int STATUS_OUTPUT_NOT_ALLOWED = 2; // 0x2
+    field public static final int STATUS_PENDING = 3; // 0x3
+    field public static final int STATUS_USABLE = 0; // 0x0
+    field public static final int STATUS_USABLE_IN_FUTURE = 5; // 0x5
+  }
+
+  public static final class MediaDrm.LogMessage {
+    method @NonNull public String getMessage();
+    method public int getPriority();
+    method public long getTimestampMillis();
+  }
+
+  public static final class MediaDrm.MediaDrmStateException extends java.lang.IllegalStateException {
+    method @NonNull public String getDiagnosticInfo();
+    method public int getErrorCode();
+    method public boolean isTransient();
+  }
+
+  public static final class MediaDrm.MetricsConstants {
+    field public static final String CLOSE_SESSION_ERROR_COUNT = "drm.mediadrm.close_session.error.count";
+    field public static final String CLOSE_SESSION_ERROR_LIST = "drm.mediadrm.close_session.error.list";
+    field public static final String CLOSE_SESSION_OK_COUNT = "drm.mediadrm.close_session.ok.count";
+    field public static final String EVENT_KEY_EXPIRED_COUNT = "drm.mediadrm.event.KEY_EXPIRED.count";
+    field public static final String EVENT_KEY_NEEDED_COUNT = "drm.mediadrm.event.KEY_NEEDED.count";
+    field public static final String EVENT_PROVISION_REQUIRED_COUNT = "drm.mediadrm.event.PROVISION_REQUIRED.count";
+    field public static final String EVENT_SESSION_RECLAIMED_COUNT = "drm.mediadrm.event.SESSION_RECLAIMED.count";
+    field public static final String EVENT_VENDOR_DEFINED_COUNT = "drm.mediadrm.event.VENDOR_DEFINED.count";
+    field public static final String GET_DEVICE_UNIQUE_ID_ERROR_COUNT = "drm.mediadrm.get_device_unique_id.error.count";
+    field public static final String GET_DEVICE_UNIQUE_ID_ERROR_LIST = "drm.mediadrm.get_device_unique_id.error.list";
+    field public static final String GET_DEVICE_UNIQUE_ID_OK_COUNT = "drm.mediadrm.get_device_unique_id.ok.count";
+    field public static final String GET_KEY_REQUEST_ERROR_COUNT = "drm.mediadrm.get_key_request.error.count";
+    field public static final String GET_KEY_REQUEST_ERROR_LIST = "drm.mediadrm.get_key_request.error.list";
+    field public static final String GET_KEY_REQUEST_OK_COUNT = "drm.mediadrm.get_key_request.ok.count";
+    field public static final String GET_KEY_REQUEST_OK_TIME_MICROS = "drm.mediadrm.get_key_request.ok.average_time_micros";
+    field public static final String GET_PROVISION_REQUEST_ERROR_COUNT = "drm.mediadrm.get_provision_request.error.count";
+    field public static final String GET_PROVISION_REQUEST_ERROR_LIST = "drm.mediadrm.get_provision_request.error.list";
+    field public static final String GET_PROVISION_REQUEST_OK_COUNT = "drm.mediadrm.get_provision_request.ok.count";
+    field public static final String KEY_STATUS_EXPIRED_COUNT = "drm.mediadrm.key_status.EXPIRED.count";
+    field public static final String KEY_STATUS_INTERNAL_ERROR_COUNT = "drm.mediadrm.key_status.INTERNAL_ERROR.count";
+    field public static final String KEY_STATUS_OUTPUT_NOT_ALLOWED_COUNT = "drm.mediadrm.key_status_change.OUTPUT_NOT_ALLOWED.count";
+    field public static final String KEY_STATUS_PENDING_COUNT = "drm.mediadrm.key_status_change.PENDING.count";
+    field public static final String KEY_STATUS_USABLE_COUNT = "drm.mediadrm.key_status_change.USABLE.count";
+    field public static final String OPEN_SESSION_ERROR_COUNT = "drm.mediadrm.open_session.error.count";
+    field public static final String OPEN_SESSION_ERROR_LIST = "drm.mediadrm.open_session.error.list";
+    field public static final String OPEN_SESSION_OK_COUNT = "drm.mediadrm.open_session.ok.count";
+    field public static final String PROVIDE_KEY_RESPONSE_ERROR_COUNT = "drm.mediadrm.provide_key_response.error.count";
+    field public static final String PROVIDE_KEY_RESPONSE_ERROR_LIST = "drm.mediadrm.provide_key_response.error.list";
+    field public static final String PROVIDE_KEY_RESPONSE_OK_COUNT = "drm.mediadrm.provide_key_response.ok.count";
+    field public static final String PROVIDE_KEY_RESPONSE_OK_TIME_MICROS = "drm.mediadrm.provide_key_response.ok.average_time_micros";
+    field public static final String PROVIDE_PROVISION_RESPONSE_ERROR_COUNT = "drm.mediadrm.provide_provision_response.error.count";
+    field public static final String PROVIDE_PROVISION_RESPONSE_ERROR_LIST = "drm.mediadrm.provide_provision_response.error.list";
+    field public static final String PROVIDE_PROVISION_RESPONSE_OK_COUNT = "drm.mediadrm.provide_provision_response.ok.count";
+    field public static final String SESSION_END_TIMES_MS = "drm.mediadrm.session_end_times_ms";
+    field public static final String SESSION_START_TIMES_MS = "drm.mediadrm.session_start_times_ms";
+  }
+
+  public static interface MediaDrm.OnEventListener {
+    method public void onEvent(@NonNull android.media.MediaDrm, @Nullable byte[], int, int, @Nullable byte[]);
+  }
+
+  public static interface MediaDrm.OnExpirationUpdateListener {
+    method public void onExpirationUpdate(@NonNull android.media.MediaDrm, @NonNull byte[], long);
+  }
+
+  public static interface MediaDrm.OnKeyStatusChangeListener {
+    method public void onKeyStatusChange(@NonNull android.media.MediaDrm, @NonNull byte[], @NonNull java.util.List<android.media.MediaDrm.KeyStatus>, boolean);
+  }
+
+  public static interface MediaDrm.OnSessionLostStateListener {
+    method public void onSessionLostState(@NonNull android.media.MediaDrm, @NonNull byte[]);
+  }
+
+  public final class MediaDrm.PlaybackComponent {
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+  }
+
+  public static final class MediaDrm.ProvisionRequest {
+    method @NonNull public byte[] getData();
+    method @NonNull public String getDefaultUrl();
+  }
+
+  @Deprecated @IntDef({android.media.MediaDrm.SECURITY_LEVEL_UNKNOWN, android.media.MediaDrm.SECURITY_LEVEL_SW_SECURE_CRYPTO, android.media.MediaDrm.SECURITY_LEVEL_SW_SECURE_DECODE, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_CRYPTO, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_DECODE, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_ALL}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaDrm.SecurityLevel {
+  }
+
+  public static final class MediaDrm.SessionException extends java.lang.RuntimeException {
+    ctor public MediaDrm.SessionException(int, @Nullable String);
+    method @Deprecated public int getErrorCode();
+    method public boolean isTransient();
+    field @Deprecated public static final int ERROR_RESOURCE_CONTENTION = 1; // 0x1
+    field @Deprecated public static final int ERROR_UNKNOWN = 0; // 0x0
+  }
+
+  public class MediaDrmException extends java.lang.Exception {
+    ctor public MediaDrmException(String);
+  }
+
+  public class MediaDrmResetException extends java.lang.IllegalStateException {
+    ctor public MediaDrmResetException(String);
+  }
+
+  public final class MediaExtractor {
+    ctor public MediaExtractor();
+    method public boolean advance();
+    method protected void finalize();
+    method @NonNull public java.util.List<android.media.AudioPresentation> getAudioPresentations(int);
+    method public long getCachedDuration();
+    method public android.media.MediaExtractor.CasInfo getCasInfo(int);
+    method public android.media.DrmInitData getDrmInitData();
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method public android.os.PersistableBundle getMetrics();
+    method @Nullable public java.util.Map<java.util.UUID,byte[]> getPsshInfo();
+    method public boolean getSampleCryptoInfo(@NonNull android.media.MediaCodec.CryptoInfo);
+    method public int getSampleFlags();
+    method public long getSampleSize();
+    method public long getSampleTime();
+    method public int getSampleTrackIndex();
+    method public int getTrackCount();
+    method @NonNull public android.media.MediaFormat getTrackFormat(int);
+    method public boolean hasCacheReachedEndOfStream();
+    method public int readSampleData(@NonNull java.nio.ByteBuffer, int);
+    method public void release();
+    method public void seekTo(long, int);
+    method public void selectTrack(int);
+    method public void setDataSource(@NonNull android.media.MediaDataSource) throws java.io.IOException;
+    method public void setDataSource(@NonNull android.content.Context, @NonNull android.net.Uri, @Nullable java.util.Map<java.lang.String,java.lang.String>) throws java.io.IOException;
+    method public void setDataSource(@NonNull String, @Nullable java.util.Map<java.lang.String,java.lang.String>) throws java.io.IOException;
+    method public void setDataSource(@NonNull String) throws java.io.IOException;
+    method public void setDataSource(@NonNull android.content.res.AssetFileDescriptor) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setDataSource(@NonNull java.io.FileDescriptor) throws java.io.IOException;
+    method public void setDataSource(@NonNull java.io.FileDescriptor, long, long) throws java.io.IOException;
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+    method public void setMediaCas(@NonNull android.media.MediaCas);
+    method public void unselectTrack(int);
+    field public static final int SAMPLE_FLAG_ENCRYPTED = 2; // 0x2
+    field public static final int SAMPLE_FLAG_PARTIAL_FRAME = 4; // 0x4
+    field public static final int SAMPLE_FLAG_SYNC = 1; // 0x1
+    field public static final int SEEK_TO_CLOSEST_SYNC = 2; // 0x2
+    field public static final int SEEK_TO_NEXT_SYNC = 1; // 0x1
+    field public static final int SEEK_TO_PREVIOUS_SYNC = 0; // 0x0
+  }
+
+  public static final class MediaExtractor.CasInfo {
+    method @Nullable public byte[] getPrivateData();
+    method public android.media.MediaCas.Session getSession();
+    method public int getSystemId();
+  }
+
+  public static final class MediaExtractor.MetricsConstants {
+    field public static final String FORMAT = "android.media.mediaextractor.fmt";
+    field public static final String MIME_TYPE = "android.media.mediaextractor.mime";
+    field public static final String TRACKS = "android.media.mediaextractor.ntrk";
+  }
+
+  public final class MediaFormat {
+    ctor public MediaFormat();
+    ctor public MediaFormat(@NonNull android.media.MediaFormat);
+    method public boolean containsFeature(@NonNull String);
+    method public boolean containsKey(@NonNull String);
+    method @NonNull public static android.media.MediaFormat createAudioFormat(@NonNull String, int, int);
+    method @NonNull public static android.media.MediaFormat createSubtitleFormat(@NonNull String, String);
+    method @NonNull public static android.media.MediaFormat createVideoFormat(@NonNull String, int, int);
+    method @Nullable public java.nio.ByteBuffer getByteBuffer(@NonNull String);
+    method @NonNull public java.nio.ByteBuffer getByteBuffer(@NonNull String, @NonNull java.nio.ByteBuffer);
+    method public boolean getFeatureEnabled(@NonNull String);
+    method @NonNull public java.util.Set<java.lang.String> getFeatures();
+    method public float getFloat(@NonNull String);
+    method public float getFloat(@NonNull String, float);
+    method public int getInteger(@NonNull String);
+    method public int getInteger(@NonNull String, int);
+    method @NonNull public java.util.Set<java.lang.String> getKeys();
+    method public long getLong(@NonNull String);
+    method public long getLong(@NonNull String, long);
+    method @Nullable public Number getNumber(@NonNull String);
+    method @NonNull public Number getNumber(@NonNull String, @NonNull Number);
+    method @Nullable public String getString(@NonNull String);
+    method @NonNull public String getString(@NonNull String, @NonNull String);
+    method public int getValueTypeForKey(@NonNull String);
+    method public void removeFeature(@NonNull String);
+    method public void removeKey(@NonNull String);
+    method public void setByteBuffer(@NonNull String, @Nullable java.nio.ByteBuffer);
+    method public void setFeatureEnabled(@NonNull String, boolean);
+    method public void setFloat(@NonNull String, float);
+    method public void setInteger(@NonNull String, int);
+    method public void setLong(@NonNull String, long);
+    method public void setString(@NonNull String, @Nullable String);
+    field public static final int COLOR_RANGE_FULL = 1; // 0x1
+    field public static final int COLOR_RANGE_LIMITED = 2; // 0x2
+    field public static final int COLOR_STANDARD_BT2020 = 6; // 0x6
+    field public static final int COLOR_STANDARD_BT601_NTSC = 4; // 0x4
+    field public static final int COLOR_STANDARD_BT601_PAL = 2; // 0x2
+    field public static final int COLOR_STANDARD_BT709 = 1; // 0x1
+    field public static final int COLOR_TRANSFER_HLG = 7; // 0x7
+    field public static final int COLOR_TRANSFER_LINEAR = 1; // 0x1
+    field public static final int COLOR_TRANSFER_SDR_VIDEO = 3; // 0x3
+    field public static final int COLOR_TRANSFER_ST2084 = 6; // 0x6
+    field public static final String KEY_AAC_DRC_ALBUM_MODE = "aac-drc-album-mode";
+    field public static final String KEY_AAC_DRC_ATTENUATION_FACTOR = "aac-drc-cut-level";
+    field public static final String KEY_AAC_DRC_BOOST_FACTOR = "aac-drc-boost-level";
+    field public static final String KEY_AAC_DRC_EFFECT_TYPE = "aac-drc-effect-type";
+    field public static final String KEY_AAC_DRC_HEAVY_COMPRESSION = "aac-drc-heavy-compression";
+    field public static final String KEY_AAC_DRC_OUTPUT_LOUDNESS = "aac-drc-output-loudness";
+    field public static final String KEY_AAC_DRC_TARGET_REFERENCE_LEVEL = "aac-target-ref-level";
+    field public static final String KEY_AAC_ENCODED_TARGET_LEVEL = "aac-encoded-target-level";
+    field public static final String KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT = "aac-max-output-channel_count";
+    field public static final String KEY_AAC_PROFILE = "aac-profile";
+    field public static final String KEY_AAC_SBR_MODE = "aac-sbr-mode";
+    field public static final String KEY_ALLOW_FRAME_DROP = "allow-frame-drop";
+    field public static final String KEY_AUDIO_SESSION_ID = "audio-session-id";
+    field public static final String KEY_BITRATE_MODE = "bitrate-mode";
+    field public static final String KEY_BIT_RATE = "bitrate";
+    field public static final String KEY_CAPTION_SERVICE_NUMBER = "caption-service-number";
+    field public static final String KEY_CAPTURE_RATE = "capture-rate";
+    field public static final String KEY_CHANNEL_COUNT = "channel-count";
+    field public static final String KEY_CHANNEL_MASK = "channel-mask";
+    field public static final String KEY_CODECS_STRING = "codecs-string";
+    field public static final String KEY_COLOR_FORMAT = "color-format";
+    field public static final String KEY_COLOR_RANGE = "color-range";
+    field public static final String KEY_COLOR_STANDARD = "color-standard";
+    field public static final String KEY_COLOR_TRANSFER = "color-transfer";
+    field public static final String KEY_COLOR_TRANSFER_REQUEST = "color-transfer-request";
+    field public static final String KEY_COMPLEXITY = "complexity";
+    field public static final String KEY_CREATE_INPUT_SURFACE_SUSPENDED = "create-input-buffers-suspended";
+    field public static final String KEY_DURATION = "durationUs";
+    field public static final String KEY_ENCODER_DELAY = "encoder-delay";
+    field public static final String KEY_ENCODER_PADDING = "encoder-padding";
+    field public static final String KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level";
+    field public static final String KEY_FRAME_RATE = "frame-rate";
+    field public static final String KEY_GRID_COLUMNS = "grid-cols";
+    field public static final String KEY_GRID_ROWS = "grid-rows";
+    field public static final String KEY_HAPTIC_CHANNEL_COUNT = "haptic-channel-count";
+    field public static final String KEY_HARDWARE_AV_SYNC_ID = "hw-av-sync-id";
+    field public static final String KEY_HDR10_PLUS_INFO = "hdr10-plus-info";
+    field public static final String KEY_HDR_STATIC_INFO = "hdr-static-info";
+    field public static final String KEY_HEIGHT = "height";
+    field public static final String KEY_INTRA_REFRESH_PERIOD = "intra-refresh-period";
+    field public static final String KEY_IS_ADTS = "is-adts";
+    field public static final String KEY_IS_AUTOSELECT = "is-autoselect";
+    field public static final String KEY_IS_DEFAULT = "is-default";
+    field public static final String KEY_IS_FORCED_SUBTITLE = "is-forced-subtitle";
+    field public static final String KEY_I_FRAME_INTERVAL = "i-frame-interval";
+    field public static final String KEY_LANGUAGE = "language";
+    field public static final String KEY_LATENCY = "latency";
+    field public static final String KEY_LEVEL = "level";
+    field public static final String KEY_LOW_LATENCY = "low-latency";
+    field public static final String KEY_MAX_B_FRAMES = "max-bframes";
+    field public static final String KEY_MAX_FPS_TO_ENCODER = "max-fps-to-encoder";
+    field public static final String KEY_MAX_HEIGHT = "max-height";
+    field public static final String KEY_MAX_INPUT_SIZE = "max-input-size";
+    field public static final String KEY_MAX_OUTPUT_CHANNEL_COUNT = "max-output-channel-count";
+    field public static final String KEY_MAX_PTS_GAP_TO_ENCODER = "max-pts-gap-to-encoder";
+    field public static final String KEY_MAX_WIDTH = "max-width";
+    field public static final String KEY_MIME = "mime";
+    field public static final String KEY_MPEGH_COMPATIBLE_SETS = "mpegh-compatible-sets";
+    field public static final String KEY_MPEGH_PROFILE_LEVEL_INDICATION = "mpegh-profile-level-indication";
+    field public static final String KEY_MPEGH_REFERENCE_CHANNEL_LAYOUT = "mpegh-reference-channel-layout";
+    field public static final String KEY_OPERATING_RATE = "operating-rate";
+    field public static final String KEY_OUTPUT_REORDER_DEPTH = "output-reorder-depth";
+    field public static final String KEY_PCM_ENCODING = "pcm-encoding";
+    field public static final String KEY_PIXEL_ASPECT_RATIO_HEIGHT = "sar-height";
+    field public static final String KEY_PIXEL_ASPECT_RATIO_WIDTH = "sar-width";
+    field public static final String KEY_PREPEND_HEADER_TO_SYNC_FRAMES = "prepend-sps-pps-to-idr-frames";
+    field public static final String KEY_PRIORITY = "priority";
+    field public static final String KEY_PROFILE = "profile";
+    field public static final String KEY_PUSH_BLANK_BUFFERS_ON_STOP = "push-blank-buffers-on-shutdown";
+    field public static final String KEY_QUALITY = "quality";
+    field public static final String KEY_REPEAT_PREVIOUS_FRAME_AFTER = "repeat-previous-frame-after";
+    field public static final String KEY_ROTATION = "rotation-degrees";
+    field public static final String KEY_SAMPLE_RATE = "sample-rate";
+    field public static final String KEY_SLICE_HEIGHT = "slice-height";
+    field public static final String KEY_SLOW_MOTION_MARKERS = "slow-motion-markers";
+    field public static final String KEY_STRIDE = "stride";
+    field public static final String KEY_TEMPORAL_LAYERING = "ts-schema";
+    field public static final String KEY_TILE_HEIGHT = "tile-height";
+    field public static final String KEY_TILE_WIDTH = "tile-width";
+    field public static final String KEY_TRACK_ID = "track-id";
+    field public static final String KEY_VIDEO_QP_B_MAX = "video-qp-b-max";
+    field public static final String KEY_VIDEO_QP_B_MIN = "video-qp-b-min";
+    field public static final String KEY_VIDEO_QP_I_MAX = "video-qp-i-max";
+    field public static final String KEY_VIDEO_QP_I_MIN = "video-qp-i-min";
+    field public static final String KEY_VIDEO_QP_MAX = "video-qp-max";
+    field public static final String KEY_VIDEO_QP_MIN = "video-qp-min";
+    field public static final String KEY_VIDEO_QP_P_MAX = "video-qp-p-max";
+    field public static final String KEY_VIDEO_QP_P_MIN = "video-qp-p-min";
+    field public static final String KEY_WIDTH = "width";
+    field public static final String MIMETYPE_AUDIO_AAC = "audio/mp4a-latm";
+    field public static final String MIMETYPE_AUDIO_AC3 = "audio/ac3";
+    field public static final String MIMETYPE_AUDIO_AC4 = "audio/ac4";
+    field public static final String MIMETYPE_AUDIO_AMR_NB = "audio/3gpp";
+    field public static final String MIMETYPE_AUDIO_AMR_WB = "audio/amr-wb";
+    field public static final String MIMETYPE_AUDIO_EAC3 = "audio/eac3";
+    field public static final String MIMETYPE_AUDIO_EAC3_JOC = "audio/eac3-joc";
+    field public static final String MIMETYPE_AUDIO_FLAC = "audio/flac";
+    field public static final String MIMETYPE_AUDIO_G711_ALAW = "audio/g711-alaw";
+    field public static final String MIMETYPE_AUDIO_G711_MLAW = "audio/g711-mlaw";
+    field public static final String MIMETYPE_AUDIO_MPEG = "audio/mpeg";
+    field public static final String MIMETYPE_AUDIO_MPEGH_MHA1 = "audio/mha1";
+    field public static final String MIMETYPE_AUDIO_MPEGH_MHM1 = "audio/mhm1";
+    field public static final String MIMETYPE_AUDIO_MSGSM = "audio/gsm";
+    field public static final String MIMETYPE_AUDIO_OPUS = "audio/opus";
+    field public static final String MIMETYPE_AUDIO_QCELP = "audio/qcelp";
+    field public static final String MIMETYPE_AUDIO_RAW = "audio/raw";
+    field public static final String MIMETYPE_AUDIO_SCRAMBLED = "audio/scrambled";
+    field public static final String MIMETYPE_AUDIO_VORBIS = "audio/vorbis";
+    field public static final String MIMETYPE_IMAGE_ANDROID_HEIC = "image/vnd.android.heic";
+    field public static final String MIMETYPE_TEXT_CEA_608 = "text/cea-608";
+    field public static final String MIMETYPE_TEXT_CEA_708 = "text/cea-708";
+    field public static final String MIMETYPE_TEXT_SUBRIP = "application/x-subrip";
+    field public static final String MIMETYPE_TEXT_VTT = "text/vtt";
+    field public static final String MIMETYPE_VIDEO_AV1 = "video/av01";
+    field public static final String MIMETYPE_VIDEO_AVC = "video/avc";
+    field public static final String MIMETYPE_VIDEO_DOLBY_VISION = "video/dolby-vision";
+    field public static final String MIMETYPE_VIDEO_H263 = "video/3gpp";
+    field public static final String MIMETYPE_VIDEO_HEVC = "video/hevc";
+    field public static final String MIMETYPE_VIDEO_MPEG2 = "video/mpeg2";
+    field public static final String MIMETYPE_VIDEO_MPEG4 = "video/mp4v-es";
+    field public static final String MIMETYPE_VIDEO_RAW = "video/raw";
+    field public static final String MIMETYPE_VIDEO_SCRAMBLED = "video/scrambled";
+    field public static final String MIMETYPE_VIDEO_VP8 = "video/x-vnd.on2.vp8";
+    field public static final String MIMETYPE_VIDEO_VP9 = "video/x-vnd.on2.vp9";
+    field public static final int TYPE_BYTE_BUFFER = 5; // 0x5
+    field public static final int TYPE_FLOAT = 3; // 0x3
+    field public static final int TYPE_INTEGER = 1; // 0x1
+    field public static final int TYPE_LONG = 2; // 0x2
+    field public static final int TYPE_NULL = 0; // 0x0
+    field public static final int TYPE_STRING = 4; // 0x4
+  }
+
+  public final class MediaMetadata implements android.os.Parcelable {
+    method public boolean containsKey(String);
+    method public int describeContents();
+    method public android.graphics.Bitmap getBitmap(String);
+    method @IntRange(from=1) public int getBitmapDimensionLimit();
+    method @NonNull public android.media.MediaDescription getDescription();
+    method public long getLong(String);
+    method public android.media.Rating getRating(String);
+    method public String getString(String);
+    method public CharSequence getText(String);
+    method public java.util.Set<java.lang.String> keySet();
+    method public int size();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaMetadata> CREATOR;
+    field public static final String METADATA_KEY_ALBUM = "android.media.metadata.ALBUM";
+    field public static final String METADATA_KEY_ALBUM_ART = "android.media.metadata.ALBUM_ART";
+    field public static final String METADATA_KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST";
+    field public static final String METADATA_KEY_ALBUM_ART_URI = "android.media.metadata.ALBUM_ART_URI";
+    field public static final String METADATA_KEY_ART = "android.media.metadata.ART";
+    field public static final String METADATA_KEY_ARTIST = "android.media.metadata.ARTIST";
+    field public static final String METADATA_KEY_ART_URI = "android.media.metadata.ART_URI";
+    field public static final String METADATA_KEY_AUTHOR = "android.media.metadata.AUTHOR";
+    field public static final String METADATA_KEY_BT_FOLDER_TYPE = "android.media.metadata.BT_FOLDER_TYPE";
+    field public static final String METADATA_KEY_COMPILATION = "android.media.metadata.COMPILATION";
+    field public static final String METADATA_KEY_COMPOSER = "android.media.metadata.COMPOSER";
+    field public static final String METADATA_KEY_DATE = "android.media.metadata.DATE";
+    field public static final String METADATA_KEY_DISC_NUMBER = "android.media.metadata.DISC_NUMBER";
+    field public static final String METADATA_KEY_DISPLAY_DESCRIPTION = "android.media.metadata.DISPLAY_DESCRIPTION";
+    field public static final String METADATA_KEY_DISPLAY_ICON = "android.media.metadata.DISPLAY_ICON";
+    field public static final String METADATA_KEY_DISPLAY_ICON_URI = "android.media.metadata.DISPLAY_ICON_URI";
+    field public static final String METADATA_KEY_DISPLAY_SUBTITLE = "android.media.metadata.DISPLAY_SUBTITLE";
+    field public static final String METADATA_KEY_DISPLAY_TITLE = "android.media.metadata.DISPLAY_TITLE";
+    field public static final String METADATA_KEY_DURATION = "android.media.metadata.DURATION";
+    field public static final String METADATA_KEY_GENRE = "android.media.metadata.GENRE";
+    field public static final String METADATA_KEY_MEDIA_ID = "android.media.metadata.MEDIA_ID";
+    field public static final String METADATA_KEY_MEDIA_URI = "android.media.metadata.MEDIA_URI";
+    field public static final String METADATA_KEY_NUM_TRACKS = "android.media.metadata.NUM_TRACKS";
+    field public static final String METADATA_KEY_RATING = "android.media.metadata.RATING";
+    field public static final String METADATA_KEY_TITLE = "android.media.metadata.TITLE";
+    field public static final String METADATA_KEY_TRACK_NUMBER = "android.media.metadata.TRACK_NUMBER";
+    field public static final String METADATA_KEY_USER_RATING = "android.media.metadata.USER_RATING";
+    field public static final String METADATA_KEY_WRITER = "android.media.metadata.WRITER";
+    field public static final String METADATA_KEY_YEAR = "android.media.metadata.YEAR";
+  }
+
+  public static final class MediaMetadata.Builder {
+    ctor public MediaMetadata.Builder();
+    ctor public MediaMetadata.Builder(android.media.MediaMetadata);
+    method public android.media.MediaMetadata build();
+    method public android.media.MediaMetadata.Builder putBitmap(String, android.graphics.Bitmap);
+    method public android.media.MediaMetadata.Builder putLong(String, long);
+    method public android.media.MediaMetadata.Builder putRating(String, android.media.Rating);
+    method public android.media.MediaMetadata.Builder putString(String, String);
+    method public android.media.MediaMetadata.Builder putText(String, CharSequence);
+    method @NonNull public android.media.MediaMetadata.Builder setBitmapDimensionLimit(@IntRange(from=1) int);
+  }
+
+  @Deprecated public abstract class MediaMetadataEditor {
+    method @Deprecated public void addEditableKey(int);
+    method @Deprecated public abstract void apply();
+    method @Deprecated public void clear();
+    method @Deprecated public android.graphics.Bitmap getBitmap(int, android.graphics.Bitmap) throws java.lang.IllegalArgumentException;
+    method @Deprecated public int[] getEditableKeys();
+    method @Deprecated public long getLong(int, long) throws java.lang.IllegalArgumentException;
+    method @Deprecated public Object getObject(int, Object) throws java.lang.IllegalArgumentException;
+    method @Deprecated public String getString(int, String) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.MediaMetadataEditor putBitmap(int, android.graphics.Bitmap) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.MediaMetadataEditor putLong(int, long) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.MediaMetadataEditor putObject(int, Object) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.MediaMetadataEditor putString(int, String) throws java.lang.IllegalArgumentException;
+    method @Deprecated public void removeEditableKeys();
+    field @Deprecated public static final int BITMAP_KEY_ARTWORK = 100; // 0x64
+    field @Deprecated public static final int RATING_KEY_BY_OTHERS = 101; // 0x65
+    field @Deprecated public static final int RATING_KEY_BY_USER = 268435457; // 0x10000001
+  }
+
+  public class MediaMetadataRetriever implements java.lang.AutoCloseable {
+    ctor public MediaMetadataRetriever();
+    method public void close();
+    method @Nullable public String extractMetadata(int);
+    method @Nullable public byte[] getEmbeddedPicture();
+    method @Nullable public android.graphics.Bitmap getFrameAtIndex(int, @NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method @Nullable public android.graphics.Bitmap getFrameAtIndex(int);
+    method @Nullable public android.graphics.Bitmap getFrameAtTime(long, int);
+    method @Nullable public android.graphics.Bitmap getFrameAtTime(long, int, @NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method @Nullable public android.graphics.Bitmap getFrameAtTime(long);
+    method @Nullable public android.graphics.Bitmap getFrameAtTime();
+    method @NonNull public java.util.List<android.graphics.Bitmap> getFramesAtIndex(int, int, @NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method @NonNull public java.util.List<android.graphics.Bitmap> getFramesAtIndex(int, int);
+    method @Nullable public android.graphics.Bitmap getImageAtIndex(int, @NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method @Nullable public android.graphics.Bitmap getImageAtIndex(int);
+    method @Nullable public android.graphics.Bitmap getPrimaryImage(@NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method @Nullable public android.graphics.Bitmap getPrimaryImage();
+    method @Nullable public android.graphics.Bitmap getScaledFrameAtTime(long, int, @IntRange(from=1) int, @IntRange(from=1) int);
+    method @Nullable public android.graphics.Bitmap getScaledFrameAtTime(long, int, @IntRange(from=1) int, @IntRange(from=1) int, @NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method public void release();
+    method public void setDataSource(String) throws java.lang.IllegalArgumentException;
+    method public void setDataSource(String, java.util.Map<java.lang.String,java.lang.String>) throws java.lang.IllegalArgumentException;
+    method public void setDataSource(java.io.FileDescriptor, long, long) throws java.lang.IllegalArgumentException;
+    method public void setDataSource(java.io.FileDescriptor) throws java.lang.IllegalArgumentException;
+    method public void setDataSource(android.content.Context, android.net.Uri) throws java.lang.IllegalArgumentException, java.lang.SecurityException;
+    method public void setDataSource(android.media.MediaDataSource) throws java.lang.IllegalArgumentException;
+    field public static final int METADATA_KEY_ALBUM = 1; // 0x1
+    field public static final int METADATA_KEY_ALBUMARTIST = 13; // 0xd
+    field public static final int METADATA_KEY_ARTIST = 2; // 0x2
+    field public static final int METADATA_KEY_AUTHOR = 3; // 0x3
+    field public static final int METADATA_KEY_BITRATE = 20; // 0x14
+    field public static final int METADATA_KEY_BITS_PER_SAMPLE = 39; // 0x27
+    field public static final int METADATA_KEY_CAPTURE_FRAMERATE = 25; // 0x19
+    field public static final int METADATA_KEY_CD_TRACK_NUMBER = 0; // 0x0
+    field public static final int METADATA_KEY_COLOR_RANGE = 37; // 0x25
+    field public static final int METADATA_KEY_COLOR_STANDARD = 35; // 0x23
+    field public static final int METADATA_KEY_COLOR_TRANSFER = 36; // 0x24
+    field public static final int METADATA_KEY_COMPILATION = 15; // 0xf
+    field public static final int METADATA_KEY_COMPOSER = 4; // 0x4
+    field public static final int METADATA_KEY_DATE = 5; // 0x5
+    field public static final int METADATA_KEY_DISC_NUMBER = 14; // 0xe
+    field public static final int METADATA_KEY_DURATION = 9; // 0x9
+    field public static final int METADATA_KEY_EXIF_LENGTH = 34; // 0x22
+    field public static final int METADATA_KEY_EXIF_OFFSET = 33; // 0x21
+    field public static final int METADATA_KEY_GENRE = 6; // 0x6
+    field public static final int METADATA_KEY_HAS_AUDIO = 16; // 0x10
+    field public static final int METADATA_KEY_HAS_IMAGE = 26; // 0x1a
+    field public static final int METADATA_KEY_HAS_VIDEO = 17; // 0x11
+    field public static final int METADATA_KEY_IMAGE_COUNT = 27; // 0x1b
+    field public static final int METADATA_KEY_IMAGE_HEIGHT = 30; // 0x1e
+    field public static final int METADATA_KEY_IMAGE_PRIMARY = 28; // 0x1c
+    field public static final int METADATA_KEY_IMAGE_ROTATION = 31; // 0x1f
+    field public static final int METADATA_KEY_IMAGE_WIDTH = 29; // 0x1d
+    field public static final int METADATA_KEY_LOCATION = 23; // 0x17
+    field public static final int METADATA_KEY_MIMETYPE = 12; // 0xc
+    field public static final int METADATA_KEY_NUM_TRACKS = 10; // 0xa
+    field public static final int METADATA_KEY_SAMPLERATE = 38; // 0x26
+    field public static final int METADATA_KEY_TITLE = 7; // 0x7
+    field public static final int METADATA_KEY_VIDEO_FRAME_COUNT = 32; // 0x20
+    field public static final int METADATA_KEY_VIDEO_HEIGHT = 19; // 0x13
+    field public static final int METADATA_KEY_VIDEO_ROTATION = 24; // 0x18
+    field public static final int METADATA_KEY_VIDEO_WIDTH = 18; // 0x12
+    field public static final int METADATA_KEY_WRITER = 11; // 0xb
+    field public static final int METADATA_KEY_XMP_LENGTH = 42; // 0x2a
+    field public static final int METADATA_KEY_XMP_OFFSET = 41; // 0x29
+    field public static final int METADATA_KEY_YEAR = 8; // 0x8
+    field public static final int OPTION_CLOSEST = 3; // 0x3
+    field public static final int OPTION_CLOSEST_SYNC = 2; // 0x2
+    field public static final int OPTION_NEXT_SYNC = 1; // 0x1
+    field public static final int OPTION_PREVIOUS_SYNC = 0; // 0x0
+  }
+
+  public static final class MediaMetadataRetriever.BitmapParams {
+    ctor public MediaMetadataRetriever.BitmapParams();
+    method @NonNull public android.graphics.Bitmap.Config getActualConfig();
+    method @NonNull public android.graphics.Bitmap.Config getPreferredConfig();
+    method public void setPreferredConfig(@NonNull android.graphics.Bitmap.Config);
+  }
+
+  public final class MediaMuxer {
+    ctor public MediaMuxer(@NonNull String, int) throws java.io.IOException;
+    ctor public MediaMuxer(@NonNull java.io.FileDescriptor, int) throws java.io.IOException;
+    method public int addTrack(@NonNull android.media.MediaFormat);
+    method public void release();
+    method public void setLocation(float, float);
+    method public void setOrientationHint(int);
+    method public void start();
+    method public void stop();
+    method public void writeSampleData(int, @NonNull java.nio.ByteBuffer, @NonNull android.media.MediaCodec.BufferInfo);
+  }
+
+  public static final class MediaMuxer.OutputFormat {
+    field public static final int MUXER_OUTPUT_3GPP = 2; // 0x2
+    field public static final int MUXER_OUTPUT_HEIF = 3; // 0x3
+    field public static final int MUXER_OUTPUT_MPEG_4 = 0; // 0x0
+    field public static final int MUXER_OUTPUT_OGG = 4; // 0x4
+    field public static final int MUXER_OUTPUT_WEBM = 1; // 0x1
+  }
+
+  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
+    ctor public MediaPlayer();
+    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+    method public void addTimedTextSource(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void addTimedTextSource(android.content.Context, android.net.Uri, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void addTimedTextSource(java.io.FileDescriptor, String) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void addTimedTextSource(java.io.FileDescriptor, long, long, String) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void attachAuxEffect(int);
+    method public void clearOnMediaTimeDiscontinuityListener();
+    method public void clearOnSubtitleDataListener();
+    method public static android.media.MediaPlayer create(android.content.Context, android.net.Uri);
+    method public static android.media.MediaPlayer create(android.content.Context, android.net.Uri, android.view.SurfaceHolder);
+    method public static android.media.MediaPlayer create(android.content.Context, android.net.Uri, android.view.SurfaceHolder, android.media.AudioAttributes, int);
+    method public static android.media.MediaPlayer create(android.content.Context, int);
+    method public static android.media.MediaPlayer create(android.content.Context, int, android.media.AudioAttributes, int);
+    method @NonNull public android.media.VolumeShaper createVolumeShaper(@NonNull android.media.VolumeShaper.Configuration);
+    method public void deselectTrack(int) throws java.lang.IllegalStateException;
+    method protected void finalize();
+    method public int getAudioSessionId();
+    method public int getCurrentPosition();
+    method public android.media.MediaPlayer.DrmInfo getDrmInfo();
+    method @NonNull public String getDrmPropertyString(@NonNull String) throws android.media.MediaPlayer.NoDrmSchemeException;
+    method public int getDuration();
+    method @NonNull public android.media.MediaDrm.KeyRequest getKeyRequest(@Nullable byte[], @Nullable byte[], @Nullable String, int, @Nullable java.util.Map<java.lang.String,java.lang.String>) throws android.media.MediaPlayer.NoDrmSchemeException;
+    method public android.os.PersistableBundle getMetrics();
+    method @NonNull public android.media.PlaybackParams getPlaybackParams();
+    method public android.media.AudioDeviceInfo getPreferredDevice();
+    method public android.media.AudioDeviceInfo getRoutedDevice();
+    method public int getSelectedTrack(int) throws java.lang.IllegalStateException;
+    method @NonNull public android.media.SyncParams getSyncParams();
+    method @Nullable public android.media.MediaTimestamp getTimestamp();
+    method public android.media.MediaPlayer.TrackInfo[] getTrackInfo() throws java.lang.IllegalStateException;
+    method public int getVideoHeight();
+    method public int getVideoWidth();
+    method public boolean isLooping();
+    method public boolean isPlaying();
+    method public void pause() throws java.lang.IllegalStateException;
+    method public void prepare() throws java.io.IOException, java.lang.IllegalStateException;
+    method public void prepareAsync() throws java.lang.IllegalStateException;
+    method public void prepareDrm(@NonNull java.util.UUID) throws android.media.MediaPlayer.ProvisioningNetworkErrorException, android.media.MediaPlayer.ProvisioningServerErrorException, android.media.ResourceBusyException, android.media.UnsupportedSchemeException;
+    method public byte[] provideKeyResponse(@Nullable byte[], @NonNull byte[]) throws android.media.DeniedByServerException, android.media.MediaPlayer.NoDrmSchemeException;
+    method public void release();
+    method public void releaseDrm() throws android.media.MediaPlayer.NoDrmSchemeException;
+    method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener);
+    method public void reset();
+    method public void restoreKeys(@NonNull byte[]) throws android.media.MediaPlayer.NoDrmSchemeException;
+    method public void seekTo(long, int);
+    method public void seekTo(int) throws java.lang.IllegalStateException;
+    method public void selectTrack(int) throws java.lang.IllegalStateException;
+    method public void setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method public void setAudioSessionId(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method @Deprecated public void setAudioStreamType(int);
+    method public void setAuxEffectSendLevel(float);
+    method public void setDataSource(@NonNull android.content.Context, @NonNull android.net.Uri) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.SecurityException;
+    method public void setDataSource(@NonNull android.content.Context, @NonNull android.net.Uri, @Nullable java.util.Map<java.lang.String,java.lang.String>, @Nullable java.util.List<java.net.HttpCookie>) throws java.io.IOException;
+    method public void setDataSource(@NonNull android.content.Context, @NonNull android.net.Uri, @Nullable java.util.Map<java.lang.String,java.lang.String>) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.SecurityException;
+    method public void setDataSource(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.SecurityException;
+    method public void setDataSource(@NonNull android.content.res.AssetFileDescriptor) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setDataSource(java.io.FileDescriptor) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setDataSource(java.io.FileDescriptor, long, long) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setDataSource(android.media.MediaDataSource) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setDisplay(android.view.SurfaceHolder);
+    method public void setDrmPropertyString(@NonNull String, @NonNull String) throws android.media.MediaPlayer.NoDrmSchemeException;
+    method public void setLooping(boolean);
+    method public void setNextMediaPlayer(android.media.MediaPlayer);
+    method public void setOnBufferingUpdateListener(android.media.MediaPlayer.OnBufferingUpdateListener);
+    method public void setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener);
+    method public void setOnDrmConfigHelper(android.media.MediaPlayer.OnDrmConfigHelper);
+    method public void setOnDrmInfoListener(android.media.MediaPlayer.OnDrmInfoListener);
+    method public void setOnDrmInfoListener(android.media.MediaPlayer.OnDrmInfoListener, android.os.Handler);
+    method public void setOnDrmPreparedListener(android.media.MediaPlayer.OnDrmPreparedListener);
+    method public void setOnDrmPreparedListener(android.media.MediaPlayer.OnDrmPreparedListener, android.os.Handler);
+    method public void setOnErrorListener(android.media.MediaPlayer.OnErrorListener);
+    method public void setOnInfoListener(android.media.MediaPlayer.OnInfoListener);
+    method public void setOnMediaTimeDiscontinuityListener(@NonNull android.media.MediaPlayer.OnMediaTimeDiscontinuityListener, @NonNull android.os.Handler);
+    method public void setOnMediaTimeDiscontinuityListener(@NonNull android.media.MediaPlayer.OnMediaTimeDiscontinuityListener);
+    method public void setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener);
+    method public void setOnSeekCompleteListener(android.media.MediaPlayer.OnSeekCompleteListener);
+    method public void setOnSubtitleDataListener(@NonNull android.media.MediaPlayer.OnSubtitleDataListener, @NonNull android.os.Handler);
+    method public void setOnSubtitleDataListener(@NonNull android.media.MediaPlayer.OnSubtitleDataListener);
+    method public void setOnTimedMetaDataAvailableListener(android.media.MediaPlayer.OnTimedMetaDataAvailableListener);
+    method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener);
+    method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
+    method public void setPlaybackParams(@NonNull android.media.PlaybackParams);
+    method public boolean setPreferredDevice(android.media.AudioDeviceInfo);
+    method public void setScreenOnWhilePlaying(boolean);
+    method public void setSurface(android.view.Surface);
+    method public void setSyncParams(@NonNull android.media.SyncParams);
+    method public void setVideoScalingMode(int);
+    method public void setVolume(float, float);
+    method public void setWakeMode(android.content.Context, int);
+    method public void start() throws java.lang.IllegalStateException;
+    method public void stop() throws java.lang.IllegalStateException;
+    field public static final int MEDIA_ERROR_IO = -1004; // 0xfffffc14
+    field public static final int MEDIA_ERROR_MALFORMED = -1007; // 0xfffffc11
+    field public static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200; // 0xc8
+    field public static final int MEDIA_ERROR_SERVER_DIED = 100; // 0x64
+    field public static final int MEDIA_ERROR_TIMED_OUT = -110; // 0xffffff92
+    field public static final int MEDIA_ERROR_UNKNOWN = 1; // 0x1
+    field public static final int MEDIA_ERROR_UNSUPPORTED = -1010; // 0xfffffc0e
+    field public static final int MEDIA_INFO_AUDIO_NOT_PLAYING = 804; // 0x324
+    field public static final int MEDIA_INFO_BAD_INTERLEAVING = 800; // 0x320
+    field public static final int MEDIA_INFO_BUFFERING_END = 702; // 0x2be
+    field public static final int MEDIA_INFO_BUFFERING_START = 701; // 0x2bd
+    field public static final int MEDIA_INFO_METADATA_UPDATE = 802; // 0x322
+    field public static final int MEDIA_INFO_NOT_SEEKABLE = 801; // 0x321
+    field public static final int MEDIA_INFO_STARTED_AS_NEXT = 2; // 0x2
+    field public static final int MEDIA_INFO_SUBTITLE_TIMED_OUT = 902; // 0x386
+    field public static final int MEDIA_INFO_UNKNOWN = 1; // 0x1
+    field public static final int MEDIA_INFO_UNSUPPORTED_SUBTITLE = 901; // 0x385
+    field public static final int MEDIA_INFO_VIDEO_NOT_PLAYING = 805; // 0x325
+    field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3
+    field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc
+    field @Deprecated public static final String MEDIA_MIMETYPE_TEXT_SUBRIP = "application/x-subrip";
+    field public static final int PREPARE_DRM_STATUS_PREPARATION_ERROR = 3; // 0x3
+    field public static final int PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR = 1; // 0x1
+    field public static final int PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR = 2; // 0x2
+    field public static final int PREPARE_DRM_STATUS_SUCCESS = 0; // 0x0
+    field public static final int SEEK_CLOSEST = 3; // 0x3
+    field public static final int SEEK_CLOSEST_SYNC = 2; // 0x2
+    field public static final int SEEK_NEXT_SYNC = 1; // 0x1
+    field public static final int SEEK_PREVIOUS_SYNC = 0; // 0x0
+    field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
+    field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2
+  }
+
+  public static final class MediaPlayer.DrmInfo {
+    method public java.util.Map<java.util.UUID,byte[]> getPssh();
+    method public java.util.UUID[] getSupportedSchemes();
+  }
+
+  public static final class MediaPlayer.MetricsConstants {
+    field public static final String CODEC_AUDIO = "android.media.mediaplayer.audio.codec";
+    field public static final String CODEC_VIDEO = "android.media.mediaplayer.video.codec";
+    field public static final String DURATION = "android.media.mediaplayer.durationMs";
+    field public static final String ERRORS = "android.media.mediaplayer.err";
+    field public static final String ERROR_CODE = "android.media.mediaplayer.errcode";
+    field public static final String FRAMES = "android.media.mediaplayer.frames";
+    field public static final String FRAMES_DROPPED = "android.media.mediaplayer.dropped";
+    field public static final String HEIGHT = "android.media.mediaplayer.height";
+    field public static final String MIME_TYPE_AUDIO = "android.media.mediaplayer.audio.mime";
+    field public static final String MIME_TYPE_VIDEO = "android.media.mediaplayer.video.mime";
+    field public static final String PLAYING = "android.media.mediaplayer.playingMs";
+    field public static final String WIDTH = "android.media.mediaplayer.width";
+  }
+
+  public static final class MediaPlayer.NoDrmSchemeException extends android.media.MediaDrmException {
+    ctor public MediaPlayer.NoDrmSchemeException(String);
+  }
+
+  public static interface MediaPlayer.OnBufferingUpdateListener {
+    method public void onBufferingUpdate(android.media.MediaPlayer, int);
+  }
+
+  public static interface MediaPlayer.OnCompletionListener {
+    method public void onCompletion(android.media.MediaPlayer);
+  }
+
+  public static interface MediaPlayer.OnDrmConfigHelper {
+    method public void onDrmConfig(android.media.MediaPlayer);
+  }
+
+  public static interface MediaPlayer.OnDrmInfoListener {
+    method public void onDrmInfo(android.media.MediaPlayer, android.media.MediaPlayer.DrmInfo);
+  }
+
+  public static interface MediaPlayer.OnDrmPreparedListener {
+    method public void onDrmPrepared(android.media.MediaPlayer, int);
+  }
+
+  public static interface MediaPlayer.OnErrorListener {
+    method public boolean onError(android.media.MediaPlayer, int, int);
+  }
+
+  public static interface MediaPlayer.OnInfoListener {
+    method public boolean onInfo(android.media.MediaPlayer, int, int);
+  }
+
+  public static interface MediaPlayer.OnMediaTimeDiscontinuityListener {
+    method public void onMediaTimeDiscontinuity(@NonNull android.media.MediaPlayer, @NonNull android.media.MediaTimestamp);
+  }
+
+  public static interface MediaPlayer.OnPreparedListener {
+    method public void onPrepared(android.media.MediaPlayer);
+  }
+
+  public static interface MediaPlayer.OnSeekCompleteListener {
+    method public void onSeekComplete(android.media.MediaPlayer);
+  }
+
+  public static interface MediaPlayer.OnSubtitleDataListener {
+    method public void onSubtitleData(@NonNull android.media.MediaPlayer, @NonNull android.media.SubtitleData);
+  }
+
+  public static interface MediaPlayer.OnTimedMetaDataAvailableListener {
+    method public void onTimedMetaDataAvailable(android.media.MediaPlayer, android.media.TimedMetaData);
+  }
+
+  public static interface MediaPlayer.OnTimedTextListener {
+    method public void onTimedText(android.media.MediaPlayer, android.media.TimedText);
+  }
+
+  public static interface MediaPlayer.OnVideoSizeChangedListener {
+    method public void onVideoSizeChanged(android.media.MediaPlayer, int, int);
+  }
+
+  public static final class MediaPlayer.ProvisioningNetworkErrorException extends android.media.MediaDrmException {
+    ctor public MediaPlayer.ProvisioningNetworkErrorException(String);
+  }
+
+  public static final class MediaPlayer.ProvisioningServerErrorException extends android.media.MediaDrmException {
+    ctor public MediaPlayer.ProvisioningServerErrorException(String);
+  }
+
+  public static class MediaPlayer.TrackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.MediaFormat getFormat();
+    method public String getLanguage();
+    method public int getTrackType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int MEDIA_TRACK_TYPE_AUDIO = 2; // 0x2
+    field public static final int MEDIA_TRACK_TYPE_METADATA = 5; // 0x5
+    field public static final int MEDIA_TRACK_TYPE_SUBTITLE = 4; // 0x4
+    field public static final int MEDIA_TRACK_TYPE_TIMEDTEXT = 3; // 0x3
+    field public static final int MEDIA_TRACK_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int MEDIA_TRACK_TYPE_VIDEO = 1; // 0x1
+  }
+
+  public class MediaRecorder implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
+    ctor @Deprecated public MediaRecorder();
+    ctor public MediaRecorder(@NonNull android.content.Context);
+    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+    method protected void finalize();
+    method public java.util.List<android.media.MicrophoneInfo> getActiveMicrophones() throws java.io.IOException;
+    method @Nullable public android.media.AudioRecordingConfiguration getActiveRecordingConfiguration();
+    method public static final int getAudioSourceMax();
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method public int getMaxAmplitude() throws java.lang.IllegalStateException;
+    method public android.os.PersistableBundle getMetrics();
+    method public android.media.AudioDeviceInfo getPreferredDevice();
+    method public android.media.AudioDeviceInfo getRoutedDevice();
+    method public android.view.Surface getSurface();
+    method public boolean isPrivacySensitive();
+    method public void pause() throws java.lang.IllegalStateException;
+    method public void prepare() throws java.io.IOException, java.lang.IllegalStateException;
+    method public void registerAudioRecordingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioRecordingCallback);
+    method public void release();
+    method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener);
+    method public void reset();
+    method public void resume() throws java.lang.IllegalStateException;
+    method public void setAudioChannels(int);
+    method public void setAudioEncoder(int) throws java.lang.IllegalStateException;
+    method public void setAudioEncodingBitRate(int);
+    method public void setAudioProfile(@NonNull android.media.EncoderProfiles.AudioProfile);
+    method public void setAudioSamplingRate(int);
+    method public void setAudioSource(int) throws java.lang.IllegalStateException;
+    method @Deprecated public void setCamera(android.hardware.Camera);
+    method public void setCaptureRate(double);
+    method public void setInputSurface(@NonNull android.view.Surface);
+    method public void setLocation(float, float);
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+    method public void setMaxDuration(int) throws java.lang.IllegalArgumentException;
+    method public void setMaxFileSize(long) throws java.lang.IllegalArgumentException;
+    method public void setNextOutputFile(java.io.FileDescriptor) throws java.io.IOException;
+    method public void setNextOutputFile(java.io.File) throws java.io.IOException;
+    method public void setOnErrorListener(android.media.MediaRecorder.OnErrorListener);
+    method public void setOnInfoListener(android.media.MediaRecorder.OnInfoListener);
+    method public void setOrientationHint(int);
+    method public void setOutputFile(java.io.FileDescriptor) throws java.lang.IllegalStateException;
+    method public void setOutputFile(java.io.File);
+    method public void setOutputFile(String) throws java.lang.IllegalStateException;
+    method public void setOutputFormat(int) throws java.lang.IllegalStateException;
+    method public boolean setPreferredDevice(android.media.AudioDeviceInfo);
+    method public boolean setPreferredMicrophoneDirection(int);
+    method public boolean setPreferredMicrophoneFieldDimension(@FloatRange(from=-1.0, to=1.0) float);
+    method public void setPreviewDisplay(android.view.Surface);
+    method public void setPrivacySensitive(boolean);
+    method public void setProfile(android.media.CamcorderProfile);
+    method public void setVideoEncoder(int) throws java.lang.IllegalStateException;
+    method public void setVideoEncodingBitRate(int);
+    method public void setVideoEncodingProfileLevel(int, int);
+    method public void setVideoFrameRate(int) throws java.lang.IllegalStateException;
+    method public void setVideoProfile(@NonNull android.media.EncoderProfiles.VideoProfile);
+    method public void setVideoSize(int, int) throws java.lang.IllegalStateException;
+    method public void setVideoSource(int) throws java.lang.IllegalStateException;
+    method public void start() throws java.lang.IllegalStateException;
+    method public void stop() throws java.lang.IllegalStateException;
+    method public void unregisterAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback);
+    field public static final int MEDIA_ERROR_SERVER_DIED = 100; // 0x64
+    field public static final int MEDIA_RECORDER_ERROR_UNKNOWN = 1; // 0x1
+    field public static final int MEDIA_RECORDER_INFO_MAX_DURATION_REACHED = 800; // 0x320
+    field public static final int MEDIA_RECORDER_INFO_MAX_FILESIZE_APPROACHING = 802; // 0x322
+    field public static final int MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED = 801; // 0x321
+    field public static final int MEDIA_RECORDER_INFO_NEXT_OUTPUT_FILE_STARTED = 803; // 0x323
+    field public static final int MEDIA_RECORDER_INFO_UNKNOWN = 1; // 0x1
+  }
+
+  public final class MediaRecorder.AudioEncoder {
+    field public static final int AAC = 3; // 0x3
+    field public static final int AAC_ELD = 5; // 0x5
+    field public static final int AMR_NB = 1; // 0x1
+    field public static final int AMR_WB = 2; // 0x2
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int HE_AAC = 4; // 0x4
+    field public static final int OPUS = 7; // 0x7
+    field public static final int VORBIS = 6; // 0x6
+  }
+
+  public final class MediaRecorder.AudioSource {
+    field public static final int CAMCORDER = 5; // 0x5
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int MIC = 1; // 0x1
+    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int REMOTE_SUBMIX = 8; // 0x8
+    field public static final int UNPROCESSED = 9; // 0x9
+    field public static final int VOICE_CALL = 4; // 0x4
+    field public static final int VOICE_COMMUNICATION = 7; // 0x7
+    field public static final int VOICE_DOWNLINK = 3; // 0x3
+    field public static final int VOICE_PERFORMANCE = 10; // 0xa
+    field public static final int VOICE_RECOGNITION = 6; // 0x6
+    field public static final int VOICE_UPLINK = 2; // 0x2
+  }
+
+  public static final class MediaRecorder.MetricsConstants {
+    field public static final String AUDIO_BITRATE = "android.media.mediarecorder.audio-bitrate";
+    field public static final String AUDIO_CHANNELS = "android.media.mediarecorder.audio-channels";
+    field public static final String AUDIO_SAMPLERATE = "android.media.mediarecorder.audio-samplerate";
+    field public static final String AUDIO_TIMESCALE = "android.media.mediarecorder.audio-timescale";
+    field public static final String CAPTURE_FPS = "android.media.mediarecorder.capture-fps";
+    field public static final String CAPTURE_FPS_ENABLE = "android.media.mediarecorder.capture-fpsenable";
+    field public static final String FRAMERATE = "android.media.mediarecorder.frame-rate";
+    field public static final String HEIGHT = "android.media.mediarecorder.height";
+    field public static final String MOVIE_TIMESCALE = "android.media.mediarecorder.movie-timescale";
+    field public static final String ROTATION = "android.media.mediarecorder.rotation";
+    field public static final String VIDEO_BITRATE = "android.media.mediarecorder.video-bitrate";
+    field public static final String VIDEO_IFRAME_INTERVAL = "android.media.mediarecorder.video-iframe-interval";
+    field public static final String VIDEO_LEVEL = "android.media.mediarecorder.video-encoder-level";
+    field public static final String VIDEO_PROFILE = "android.media.mediarecorder.video-encoder-profile";
+    field public static final String VIDEO_TIMESCALE = "android.media.mediarecorder.video-timescale";
+    field public static final String WIDTH = "android.media.mediarecorder.width";
+  }
+
+  public static interface MediaRecorder.OnErrorListener {
+    method public void onError(android.media.MediaRecorder, int, int);
+  }
+
+  public static interface MediaRecorder.OnInfoListener {
+    method public void onInfo(android.media.MediaRecorder, int, int);
+  }
+
+  public final class MediaRecorder.OutputFormat {
+    field public static final int AAC_ADTS = 6; // 0x6
+    field public static final int AMR_NB = 3; // 0x3
+    field public static final int AMR_WB = 4; // 0x4
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int MPEG_2_TS = 8; // 0x8
+    field public static final int MPEG_4 = 2; // 0x2
+    field public static final int OGG = 11; // 0xb
+    field @Deprecated public static final int RAW_AMR = 3; // 0x3
+    field public static final int THREE_GPP = 1; // 0x1
+    field public static final int WEBM = 9; // 0x9
+  }
+
+  public final class MediaRecorder.VideoEncoder {
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int H263 = 1; // 0x1
+    field public static final int H264 = 2; // 0x2
+    field public static final int HEVC = 5; // 0x5
+    field public static final int MPEG_4_SP = 3; // 0x3
+    field public static final int VP8 = 4; // 0x4
+  }
+
+  public final class MediaRecorder.VideoSource {
+    field public static final int CAMERA = 1; // 0x1
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int SURFACE = 2; // 0x2
+  }
+
+  public final class MediaRoute2Info implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getClientPackageName();
+    method public int getConnectionState();
+    method @Nullable public CharSequence getDescription();
+    method @Nullable public android.os.Bundle getExtras();
+    method @NonNull public java.util.List<java.lang.String> getFeatures();
+    method @Nullable public android.net.Uri getIconUri();
+    method @NonNull public String getId();
+    method @NonNull public CharSequence getName();
+    method public int getVolume();
+    method public int getVolumeHandling();
+    method public int getVolumeMax();
+    method public boolean isSystemRoute();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CONNECTION_STATE_CONNECTED = 2; // 0x2
+    field public static final int CONNECTION_STATE_CONNECTING = 1; // 0x1
+    field public static final int CONNECTION_STATE_DISCONNECTED = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaRoute2Info> CREATOR;
+    field public static final String FEATURE_LIVE_AUDIO = "android.media.route.feature.LIVE_AUDIO";
+    field public static final String FEATURE_LIVE_VIDEO = "android.media.route.feature.LIVE_VIDEO";
+    field public static final String FEATURE_REMOTE_AUDIO_PLAYBACK = "android.media.route.feature.REMOTE_AUDIO_PLAYBACK";
+    field public static final String FEATURE_REMOTE_PLAYBACK = "android.media.route.feature.REMOTE_PLAYBACK";
+    field public static final String FEATURE_REMOTE_VIDEO_PLAYBACK = "android.media.route.feature.REMOTE_VIDEO_PLAYBACK";
+    field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
+    field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
+  }
+
+  public static final class MediaRoute2Info.Builder {
+    ctor public MediaRoute2Info.Builder(@NonNull String, @NonNull CharSequence);
+    ctor public MediaRoute2Info.Builder(@NonNull android.media.MediaRoute2Info);
+    method @NonNull public android.media.MediaRoute2Info.Builder addFeature(@NonNull String);
+    method @NonNull public android.media.MediaRoute2Info.Builder addFeatures(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.media.MediaRoute2Info build();
+    method @NonNull public android.media.MediaRoute2Info.Builder clearFeatures();
+    method @NonNull public android.media.MediaRoute2Info.Builder setClientPackageName(@Nullable String);
+    method @NonNull public android.media.MediaRoute2Info.Builder setConnectionState(int);
+    method @NonNull public android.media.MediaRoute2Info.Builder setDescription(@Nullable CharSequence);
+    method @NonNull public android.media.MediaRoute2Info.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.media.MediaRoute2Info.Builder setIconUri(@Nullable android.net.Uri);
+    method @NonNull public android.media.MediaRoute2Info.Builder setVolume(int);
+    method @NonNull public android.media.MediaRoute2Info.Builder setVolumeHandling(int);
+    method @NonNull public android.media.MediaRoute2Info.Builder setVolumeMax(int);
+  }
+
+  public abstract class MediaRoute2ProviderService extends android.app.Service {
+    ctor public MediaRoute2ProviderService();
+    method @NonNull public final java.util.List<android.media.RoutingSessionInfo> getAllSessionInfo();
+    method @Nullable public final android.media.RoutingSessionInfo getSessionInfo(@NonNull String);
+    method public final void notifyRequestFailed(long, int);
+    method public final void notifyRoutes(@NonNull java.util.Collection<android.media.MediaRoute2Info>);
+    method public final void notifySessionCreated(long, @NonNull android.media.RoutingSessionInfo);
+    method public final void notifySessionReleased(@NonNull String);
+    method public final void notifySessionUpdated(@NonNull android.media.RoutingSessionInfo);
+    method @CallSuper @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onCreateSession(long, @NonNull String, @NonNull String, @Nullable android.os.Bundle);
+    method public abstract void onDeselectRoute(long, @NonNull String, @NonNull String);
+    method public void onDiscoveryPreferenceChanged(@NonNull android.media.RouteDiscoveryPreference);
+    method public abstract void onReleaseSession(long, @NonNull String);
+    method public abstract void onSelectRoute(long, @NonNull String, @NonNull String);
+    method public abstract void onSetRouteVolume(long, @NonNull String, int);
+    method public abstract void onSetSessionVolume(long, @NonNull String, int);
+    method public abstract void onTransferToRoute(long, @NonNull String, @NonNull String);
+    field public static final int REASON_INVALID_COMMAND = 4; // 0x4
+    field public static final int REASON_NETWORK_ERROR = 2; // 0x2
+    field public static final int REASON_REJECTED = 1; // 0x1
+    field public static final int REASON_ROUTE_NOT_AVAILABLE = 3; // 0x3
+    field public static final int REASON_UNKNOWN_ERROR = 0; // 0x0
+    field public static final long REQUEST_ID_NONE = 0L; // 0x0L
+    field public static final String SERVICE_INTERFACE = "android.media.MediaRoute2ProviderService";
+  }
+
+  public class MediaRouter {
+    method public void addCallback(int, android.media.MediaRouter.Callback);
+    method public void addCallback(int, android.media.MediaRouter.Callback, int);
+    method public void addUserRoute(android.media.MediaRouter.UserRouteInfo);
+    method public void clearUserRoutes();
+    method public android.media.MediaRouter.RouteCategory createRouteCategory(CharSequence, boolean);
+    method public android.media.MediaRouter.RouteCategory createRouteCategory(int, boolean);
+    method public android.media.MediaRouter.UserRouteInfo createUserRoute(android.media.MediaRouter.RouteCategory);
+    method public android.media.MediaRouter.RouteCategory getCategoryAt(int);
+    method public int getCategoryCount();
+    method public android.media.MediaRouter.RouteInfo getDefaultRoute();
+    method public android.media.MediaRouter.RouteInfo getRouteAt(int);
+    method public int getRouteCount();
+    method public android.media.MediaRouter.RouteInfo getSelectedRoute(int);
+    method public void removeCallback(android.media.MediaRouter.Callback);
+    method public void removeUserRoute(android.media.MediaRouter.UserRouteInfo);
+    method public void selectRoute(int, @NonNull android.media.MediaRouter.RouteInfo);
+    field public static final int CALLBACK_FLAG_PERFORM_ACTIVE_SCAN = 1; // 0x1
+    field public static final int CALLBACK_FLAG_UNFILTERED_EVENTS = 2; // 0x2
+    field public static final int ROUTE_TYPE_LIVE_AUDIO = 1; // 0x1
+    field public static final int ROUTE_TYPE_LIVE_VIDEO = 2; // 0x2
+    field public static final int ROUTE_TYPE_USER = 8388608; // 0x800000
+  }
+
+  public abstract static class MediaRouter.Callback {
+    ctor public MediaRouter.Callback();
+    method public abstract void onRouteAdded(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteGrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup, int);
+    method public void onRoutePresentationDisplayChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteRemoved(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteSelected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteUngrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup);
+    method public abstract void onRouteUnselected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteVolumeChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+  }
+
+  public static class MediaRouter.RouteCategory {
+    method public CharSequence getName();
+    method public CharSequence getName(android.content.Context);
+    method public java.util.List<android.media.MediaRouter.RouteInfo> getRoutes(java.util.List<android.media.MediaRouter.RouteInfo>);
+    method public int getSupportedTypes();
+    method public boolean isGroupable();
+  }
+
+  public static class MediaRouter.RouteGroup extends android.media.MediaRouter.RouteInfo {
+    method public void addRoute(android.media.MediaRouter.RouteInfo);
+    method public void addRoute(android.media.MediaRouter.RouteInfo, int);
+    method public android.media.MediaRouter.RouteInfo getRouteAt(int);
+    method public int getRouteCount();
+    method public void removeRoute(android.media.MediaRouter.RouteInfo);
+    method public void removeRoute(int);
+    method public void setIconDrawable(android.graphics.drawable.Drawable);
+    method public void setIconResource(@DrawableRes int);
+  }
+
+  public static class MediaRouter.RouteInfo {
+    method public android.media.MediaRouter.RouteCategory getCategory();
+    method public CharSequence getDescription();
+    method public int getDeviceType();
+    method public android.media.MediaRouter.RouteGroup getGroup();
+    method public android.graphics.drawable.Drawable getIconDrawable();
+    method public CharSequence getName();
+    method public CharSequence getName(android.content.Context);
+    method public int getPlaybackStream();
+    method public int getPlaybackType();
+    method public android.view.Display getPresentationDisplay();
+    method public CharSequence getStatus();
+    method public int getSupportedTypes();
+    method public Object getTag();
+    method public int getVolume();
+    method public int getVolumeHandling();
+    method public int getVolumeMax();
+    method public boolean isConnecting();
+    method public boolean isEnabled();
+    method public void requestSetVolume(int);
+    method public void requestUpdateVolume(int);
+    method public void setTag(Object);
+    field public static final int DEVICE_TYPE_BLUETOOTH = 3; // 0x3
+    field public static final int DEVICE_TYPE_SPEAKER = 2; // 0x2
+    field public static final int DEVICE_TYPE_TV = 1; // 0x1
+    field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int PLAYBACK_TYPE_LOCAL = 0; // 0x0
+    field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
+    field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
+    field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
+  }
+
+  public static class MediaRouter.SimpleCallback extends android.media.MediaRouter.Callback {
+    ctor public MediaRouter.SimpleCallback();
+    method public void onRouteAdded(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public void onRouteChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public void onRouteGrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup, int);
+    method public void onRouteRemoved(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public void onRouteSelected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
+    method public void onRouteUngrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup);
+    method public void onRouteUnselected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
+    method public void onRouteVolumeChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+  }
+
+  public static class MediaRouter.UserRouteInfo extends android.media.MediaRouter.RouteInfo {
+    method public android.media.RemoteControlClient getRemoteControlClient();
+    method public void setDescription(CharSequence);
+    method public void setIconDrawable(android.graphics.drawable.Drawable);
+    method public void setIconResource(@DrawableRes int);
+    method public void setName(CharSequence);
+    method public void setName(int);
+    method public void setPlaybackStream(int);
+    method public void setPlaybackType(int);
+    method public void setRemoteControlClient(android.media.RemoteControlClient);
+    method public void setStatus(CharSequence);
+    method public void setVolume(int);
+    method public void setVolumeCallback(android.media.MediaRouter.VolumeCallback);
+    method public void setVolumeHandling(int);
+    method public void setVolumeMax(int);
+  }
+
+  public abstract static class MediaRouter.VolumeCallback {
+    ctor public MediaRouter.VolumeCallback();
+    method public abstract void onVolumeSetRequest(android.media.MediaRouter.RouteInfo, int);
+    method public abstract void onVolumeUpdateRequest(android.media.MediaRouter.RouteInfo, int);
+  }
+
+  public final class MediaRouter2 {
+    method @Nullable public android.media.MediaRouter2.RoutingController getController(@NonNull String);
+    method @NonNull public java.util.List<android.media.MediaRouter2.RoutingController> getControllers();
+    method @NonNull public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context);
+    method @NonNull public java.util.List<android.media.MediaRoute2Info> getRoutes();
+    method @NonNull public android.media.MediaRouter2.RoutingController getSystemController();
+    method public void registerControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.ControllerCallback);
+    method public void registerRouteCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.RouteCallback, @NonNull android.media.RouteDiscoveryPreference);
+    method public void registerTransferCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.TransferCallback);
+    method public void setOnGetControllerHintsListener(@Nullable android.media.MediaRouter2.OnGetControllerHintsListener);
+    method public void stop();
+    method public void transferTo(@NonNull android.media.MediaRoute2Info);
+    method public void unregisterControllerCallback(@NonNull android.media.MediaRouter2.ControllerCallback);
+    method public void unregisterRouteCallback(@NonNull android.media.MediaRouter2.RouteCallback);
+    method public void unregisterTransferCallback(@NonNull android.media.MediaRouter2.TransferCallback);
+  }
+
+  public abstract static class MediaRouter2.ControllerCallback {
+    ctor public MediaRouter2.ControllerCallback();
+    method public void onControllerUpdated(@NonNull android.media.MediaRouter2.RoutingController);
+  }
+
+  public static interface MediaRouter2.OnGetControllerHintsListener {
+    method @Nullable public android.os.Bundle onGetControllerHints(@NonNull android.media.MediaRoute2Info);
+  }
+
+  public abstract static class MediaRouter2.RouteCallback {
+    ctor public MediaRouter2.RouteCallback();
+    method public void onRoutesAdded(@NonNull java.util.List<android.media.MediaRoute2Info>);
+    method public void onRoutesChanged(@NonNull java.util.List<android.media.MediaRoute2Info>);
+    method public void onRoutesRemoved(@NonNull java.util.List<android.media.MediaRoute2Info>);
+  }
+
+  public class MediaRouter2.RoutingController {
+    method public void deselectRoute(@NonNull android.media.MediaRoute2Info);
+    method @Nullable public android.os.Bundle getControlHints();
+    method @NonNull public java.util.List<android.media.MediaRoute2Info> getDeselectableRoutes();
+    method @NonNull public String getId();
+    method @NonNull public java.util.List<android.media.MediaRoute2Info> getSelectableRoutes();
+    method @NonNull public java.util.List<android.media.MediaRoute2Info> getSelectedRoutes();
+    method public int getVolume();
+    method public int getVolumeHandling();
+    method public int getVolumeMax();
+    method public boolean isReleased();
+    method public void release();
+    method public void selectRoute(@NonNull android.media.MediaRoute2Info);
+    method public void setVolume(int);
+  }
+
+  public abstract static class MediaRouter2.TransferCallback {
+    ctor public MediaRouter2.TransferCallback();
+    method public void onStop(@NonNull android.media.MediaRouter2.RoutingController);
+    method public void onTransfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRouter2.RoutingController);
+    method public void onTransferFailure(@NonNull android.media.MediaRoute2Info);
+  }
+
+  public class MediaScannerConnection implements android.content.ServiceConnection {
+    ctor public MediaScannerConnection(android.content.Context, android.media.MediaScannerConnection.MediaScannerConnectionClient);
+    method public void connect();
+    method public void disconnect();
+    method public boolean isConnected();
+    method public void onServiceConnected(android.content.ComponentName, android.os.IBinder);
+    method public void onServiceDisconnected(android.content.ComponentName);
+    method public void scanFile(String, String);
+    method public static void scanFile(android.content.Context, String[], String[], android.media.MediaScannerConnection.OnScanCompletedListener);
+  }
+
+  public static interface MediaScannerConnection.MediaScannerConnectionClient extends android.media.MediaScannerConnection.OnScanCompletedListener {
+    method public void onMediaScannerConnected();
+  }
+
+  public static interface MediaScannerConnection.OnScanCompletedListener {
+    method public void onScanCompleted(String, android.net.Uri);
+  }
+
+  public final class MediaSync {
+    ctor public MediaSync();
+    method @NonNull public android.view.Surface createInputSurface();
+    method protected void finalize();
+    method public void flush();
+    method @NonNull public android.media.PlaybackParams getPlaybackParams();
+    method @NonNull public android.media.SyncParams getSyncParams();
+    method @Nullable public android.media.MediaTimestamp getTimestamp();
+    method public void queueAudio(@NonNull java.nio.ByteBuffer, int, long);
+    method public void release();
+    method public void setAudioTrack(@Nullable android.media.AudioTrack);
+    method public void setCallback(@Nullable android.media.MediaSync.Callback, @Nullable android.os.Handler);
+    method public void setOnErrorListener(@Nullable android.media.MediaSync.OnErrorListener, @Nullable android.os.Handler);
+    method public void setPlaybackParams(@NonNull android.media.PlaybackParams);
+    method public void setSurface(@Nullable android.view.Surface);
+    method public void setSyncParams(@NonNull android.media.SyncParams);
+    field public static final int MEDIASYNC_ERROR_AUDIOTRACK_FAIL = 1; // 0x1
+    field public static final int MEDIASYNC_ERROR_SURFACE_FAIL = 2; // 0x2
+  }
+
+  public abstract static class MediaSync.Callback {
+    ctor public MediaSync.Callback();
+    method public abstract void onAudioBufferConsumed(@NonNull android.media.MediaSync, @NonNull java.nio.ByteBuffer, int);
+  }
+
+  public static interface MediaSync.OnErrorListener {
+    method public void onError(@NonNull android.media.MediaSync, int, int);
+  }
+
+  public class MediaSyncEvent implements android.os.Parcelable {
+    method public static android.media.MediaSyncEvent createEvent(int) throws java.lang.IllegalArgumentException;
+    method public int describeContents();
+    method public int getAudioSessionId();
+    method public int getType();
+    method public android.media.MediaSyncEvent setAudioSessionId(int) throws java.lang.IllegalArgumentException;
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaSyncEvent> CREATOR;
+    field public static final int SYNC_EVENT_NONE = 0; // 0x0
+    field public static final int SYNC_EVENT_PRESENTATION_COMPLETE = 1; // 0x1
+  }
+
+  public final class MediaTimestamp {
+    ctor public MediaTimestamp(long, long, @FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE) float);
+    method public long getAnchorMediaTimeUs();
+    method public long getAnchorSystemNanoTime();
+    method @Deprecated public long getAnchorSytemNanoTime();
+    method @FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE) public float getMediaClockRate();
+    field public static final android.media.MediaTimestamp TIMESTAMP_UNKNOWN;
+  }
+
+  public interface MicrophoneDirection {
+    method public boolean setPreferredMicrophoneDirection(int);
+    method public boolean setPreferredMicrophoneFieldDimension(@FloatRange(from=-1.0, to=1.0) float);
+    field public static final int MIC_DIRECTION_AWAY_FROM_USER = 2; // 0x2
+    field public static final int MIC_DIRECTION_EXTERNAL = 3; // 0x3
+    field public static final int MIC_DIRECTION_TOWARDS_USER = 1; // 0x1
+    field public static final int MIC_DIRECTION_UNSPECIFIED = 0; // 0x0
+  }
+
+  public final class MicrophoneInfo {
+    method @NonNull public String getAddress();
+    method public java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>> getChannelMapping();
+    method public String getDescription();
+    method public int getDirectionality();
+    method public java.util.List<android.util.Pair<java.lang.Float,java.lang.Float>> getFrequencyResponse();
+    method public int getGroup();
+    method public int getId();
+    method public int getIndexInTheGroup();
+    method public int getLocation();
+    method public float getMaxSpl();
+    method public float getMinSpl();
+    method public android.media.MicrophoneInfo.Coordinate3F getOrientation();
+    method public android.media.MicrophoneInfo.Coordinate3F getPosition();
+    method public float getSensitivity();
+    method public int getType();
+    field public static final int CHANNEL_MAPPING_DIRECT = 1; // 0x1
+    field public static final int CHANNEL_MAPPING_PROCESSED = 2; // 0x2
+    field public static final int DIRECTIONALITY_BI_DIRECTIONAL = 2; // 0x2
+    field public static final int DIRECTIONALITY_CARDIOID = 3; // 0x3
+    field public static final int DIRECTIONALITY_HYPER_CARDIOID = 4; // 0x4
+    field public static final int DIRECTIONALITY_OMNI = 1; // 0x1
+    field public static final int DIRECTIONALITY_SUPER_CARDIOID = 5; // 0x5
+    field public static final int DIRECTIONALITY_UNKNOWN = 0; // 0x0
+    field public static final int GROUP_UNKNOWN = -1; // 0xffffffff
+    field public static final int INDEX_IN_THE_GROUP_UNKNOWN = -1; // 0xffffffff
+    field public static final int LOCATION_MAINBODY = 1; // 0x1
+    field public static final int LOCATION_MAINBODY_MOVABLE = 2; // 0x2
+    field public static final int LOCATION_PERIPHERAL = 3; // 0x3
+    field public static final int LOCATION_UNKNOWN = 0; // 0x0
+    field public static final android.media.MicrophoneInfo.Coordinate3F ORIENTATION_UNKNOWN;
+    field public static final android.media.MicrophoneInfo.Coordinate3F POSITION_UNKNOWN;
+    field public static final float SENSITIVITY_UNKNOWN = -3.4028235E38f;
+    field public static final float SPL_UNKNOWN = -3.4028235E38f;
+  }
+
+  public static final class MicrophoneInfo.Coordinate3F {
+    field public final float x;
+    field public final float y;
+    field public final float z;
+  }
+
+  public final class NotProvisionedException extends android.media.MediaDrmException {
+    ctor public NotProvisionedException(String);
+  }
+
+  public final class PlaybackParams implements android.os.Parcelable {
+    ctor public PlaybackParams();
+    method public android.media.PlaybackParams allowDefaults();
+    method public int describeContents();
+    method public int getAudioFallbackMode();
+    method public float getPitch();
+    method public float getSpeed();
+    method public android.media.PlaybackParams setAudioFallbackMode(int);
+    method public android.media.PlaybackParams setPitch(float);
+    method public android.media.PlaybackParams setSpeed(float);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AUDIO_FALLBACK_MODE_DEFAULT = 0; // 0x0
+    field public static final int AUDIO_FALLBACK_MODE_FAIL = 2; // 0x2
+    field public static final int AUDIO_FALLBACK_MODE_MUTE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.PlaybackParams> CREATOR;
+  }
+
+  public final class Rating implements android.os.Parcelable {
+    method public int describeContents();
+    method public float getPercentRating();
+    method public int getRatingStyle();
+    method public float getStarRating();
+    method public boolean hasHeart();
+    method public boolean isRated();
+    method public boolean isThumbUp();
+    method public static android.media.Rating newHeartRating(boolean);
+    method public static android.media.Rating newPercentageRating(float);
+    method public static android.media.Rating newStarRating(int, float);
+    method public static android.media.Rating newThumbRating(boolean);
+    method public static android.media.Rating newUnratedRating(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.Rating> CREATOR;
+    field public static final int RATING_3_STARS = 3; // 0x3
+    field public static final int RATING_4_STARS = 4; // 0x4
+    field public static final int RATING_5_STARS = 5; // 0x5
+    field public static final int RATING_HEART = 1; // 0x1
+    field public static final int RATING_NONE = 0; // 0x0
+    field public static final int RATING_PERCENTAGE = 6; // 0x6
+    field public static final int RATING_THUMB_UP_DOWN = 2; // 0x2
+  }
+
+  @Deprecated public class RemoteControlClient {
+    ctor @Deprecated public RemoteControlClient(android.app.PendingIntent);
+    ctor @Deprecated public RemoteControlClient(android.app.PendingIntent, android.os.Looper);
+    method @Deprecated public android.media.RemoteControlClient.MetadataEditor editMetadata(boolean);
+    method @Deprecated public android.media.session.MediaSession getMediaSession();
+    method @Deprecated public void setMetadataUpdateListener(android.media.RemoteControlClient.OnMetadataUpdateListener);
+    method @Deprecated public void setOnGetPlaybackPositionListener(android.media.RemoteControlClient.OnGetPlaybackPositionListener);
+    method @Deprecated public void setPlaybackPositionUpdateListener(android.media.RemoteControlClient.OnPlaybackPositionUpdateListener);
+    method @Deprecated public void setPlaybackState(int);
+    method @Deprecated public void setPlaybackState(int, long, float);
+    method @Deprecated public void setTransportControlFlags(int);
+    field @Deprecated public static final int FLAG_KEY_MEDIA_FAST_FORWARD = 64; // 0x40
+    field @Deprecated public static final int FLAG_KEY_MEDIA_NEXT = 128; // 0x80
+    field @Deprecated public static final int FLAG_KEY_MEDIA_PAUSE = 16; // 0x10
+    field @Deprecated public static final int FLAG_KEY_MEDIA_PLAY = 4; // 0x4
+    field @Deprecated public static final int FLAG_KEY_MEDIA_PLAY_PAUSE = 8; // 0x8
+    field @Deprecated public static final int FLAG_KEY_MEDIA_POSITION_UPDATE = 256; // 0x100
+    field @Deprecated public static final int FLAG_KEY_MEDIA_PREVIOUS = 1; // 0x1
+    field @Deprecated public static final int FLAG_KEY_MEDIA_RATING = 512; // 0x200
+    field @Deprecated public static final int FLAG_KEY_MEDIA_REWIND = 2; // 0x2
+    field @Deprecated public static final int FLAG_KEY_MEDIA_STOP = 32; // 0x20
+    field @Deprecated public static final int PLAYSTATE_BUFFERING = 8; // 0x8
+    field @Deprecated public static final int PLAYSTATE_ERROR = 9; // 0x9
+    field @Deprecated public static final int PLAYSTATE_FAST_FORWARDING = 4; // 0x4
+    field @Deprecated public static final int PLAYSTATE_PAUSED = 2; // 0x2
+    field @Deprecated public static final int PLAYSTATE_PLAYING = 3; // 0x3
+    field @Deprecated public static final int PLAYSTATE_REWINDING = 5; // 0x5
+    field @Deprecated public static final int PLAYSTATE_SKIPPING_BACKWARDS = 7; // 0x7
+    field @Deprecated public static final int PLAYSTATE_SKIPPING_FORWARDS = 6; // 0x6
+    field @Deprecated public static final int PLAYSTATE_STOPPED = 1; // 0x1
+  }
+
+  @Deprecated public class RemoteControlClient.MetadataEditor extends android.media.MediaMetadataEditor {
+    method @Deprecated public void apply();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public android.media.RemoteControlClient.MetadataEditor putBitmap(int, android.graphics.Bitmap) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.RemoteControlClient.MetadataEditor putLong(int, long) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.RemoteControlClient.MetadataEditor putObject(int, Object) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.RemoteControlClient.MetadataEditor putString(int, String) throws java.lang.IllegalArgumentException;
+    field @Deprecated public static final int BITMAP_KEY_ARTWORK = 100; // 0x64
+  }
+
+  @Deprecated public static interface RemoteControlClient.OnGetPlaybackPositionListener {
+    method @Deprecated public long onGetPlaybackPosition();
+  }
+
+  @Deprecated public static interface RemoteControlClient.OnMetadataUpdateListener {
+    method @Deprecated public void onMetadataUpdate(int, Object);
+  }
+
+  @Deprecated public static interface RemoteControlClient.OnPlaybackPositionUpdateListener {
+    method @Deprecated public void onPlaybackPositionUpdate(long);
+  }
+
+  @Deprecated public final class RemoteController {
+    ctor @Deprecated public RemoteController(android.content.Context, android.media.RemoteController.OnClientUpdateListener) throws java.lang.IllegalArgumentException;
+    ctor @Deprecated public RemoteController(android.content.Context, android.media.RemoteController.OnClientUpdateListener, android.os.Looper) throws java.lang.IllegalArgumentException;
+    method @Deprecated public boolean clearArtworkConfiguration();
+    method @Deprecated public android.media.RemoteController.MetadataEditor editMetadata();
+    method @Deprecated public long getEstimatedMediaPosition();
+    method @Deprecated public boolean seekTo(long) throws java.lang.IllegalArgumentException;
+    method @Deprecated public boolean sendMediaKeyEvent(android.view.KeyEvent) throws java.lang.IllegalArgumentException;
+    method @Deprecated public boolean setArtworkConfiguration(int, int) throws java.lang.IllegalArgumentException;
+    method @Deprecated public boolean setSynchronizationMode(int) throws java.lang.IllegalArgumentException;
+    field @Deprecated public static final int POSITION_SYNCHRONIZATION_CHECK = 1; // 0x1
+    field @Deprecated public static final int POSITION_SYNCHRONIZATION_NONE = 0; // 0x0
+  }
+
+  @Deprecated public class RemoteController.MetadataEditor extends android.media.MediaMetadataEditor {
+    method @Deprecated public void apply();
+  }
+
+  @Deprecated public static interface RemoteController.OnClientUpdateListener {
+    method @Deprecated public void onClientChange(boolean);
+    method @Deprecated public void onClientMetadataUpdate(android.media.RemoteController.MetadataEditor);
+    method @Deprecated public void onClientPlaybackStateUpdate(int);
+    method @Deprecated public void onClientPlaybackStateUpdate(int, long, long, float);
+    method @Deprecated public void onClientTransportControlUpdate(int);
+  }
+
+  public final class ResourceBusyException extends android.media.MediaDrmException {
+    ctor public ResourceBusyException(String);
+  }
+
+  public class Ringtone {
+    method protected void finalize();
+    method public android.media.AudioAttributes getAudioAttributes();
+    method @Deprecated public int getStreamType();
+    method public String getTitle(android.content.Context);
+    method public float getVolume();
+    method public boolean isHapticGeneratorEnabled();
+    method public boolean isLooping();
+    method public boolean isPlaying();
+    method public void play();
+    method public void setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method public boolean setHapticGeneratorEnabled(boolean);
+    method public void setLooping(boolean);
+    method @Deprecated public void setStreamType(int);
+    method public void setVolume(float);
+    method public void stop();
+  }
+
+  public class RingtoneManager {
+    ctor public RingtoneManager(android.app.Activity);
+    ctor public RingtoneManager(android.content.Context);
+    method public static android.net.Uri getActualDefaultRingtoneUri(android.content.Context, int);
+    method public android.database.Cursor getCursor();
+    method public static int getDefaultType(android.net.Uri);
+    method public static android.net.Uri getDefaultUri(int);
+    method @Deprecated public boolean getIncludeDrm();
+    method public android.media.Ringtone getRingtone(int);
+    method public static android.media.Ringtone getRingtone(android.content.Context, android.net.Uri);
+    method public int getRingtonePosition(android.net.Uri);
+    method public android.net.Uri getRingtoneUri(int);
+    method public boolean getStopPreviousRingtone();
+    method public static android.net.Uri getValidRingtoneUri(android.content.Context);
+    method public boolean hasHapticChannels(int);
+    method public static boolean hasHapticChannels(@NonNull android.net.Uri);
+    method public int inferStreamType();
+    method public static boolean isDefault(android.net.Uri);
+    method @Nullable public static android.content.res.AssetFileDescriptor openDefaultRingtoneUri(@NonNull android.content.Context, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method public static void setActualDefaultRingtoneUri(android.content.Context, int, android.net.Uri);
+    method @Deprecated public void setIncludeDrm(boolean);
+    method public void setStopPreviousRingtone(boolean);
+    method public void setType(int);
+    method public void stopPreviousRingtone();
+    field public static final String ACTION_RINGTONE_PICKER = "android.intent.action.RINGTONE_PICKER";
+    field public static final String EXTRA_RINGTONE_DEFAULT_URI = "android.intent.extra.ringtone.DEFAULT_URI";
+    field public static final String EXTRA_RINGTONE_EXISTING_URI = "android.intent.extra.ringtone.EXISTING_URI";
+    field @Deprecated public static final String EXTRA_RINGTONE_INCLUDE_DRM = "android.intent.extra.ringtone.INCLUDE_DRM";
+    field public static final String EXTRA_RINGTONE_PICKED_URI = "android.intent.extra.ringtone.PICKED_URI";
+    field public static final String EXTRA_RINGTONE_SHOW_DEFAULT = "android.intent.extra.ringtone.SHOW_DEFAULT";
+    field public static final String EXTRA_RINGTONE_SHOW_SILENT = "android.intent.extra.ringtone.SHOW_SILENT";
+    field public static final String EXTRA_RINGTONE_TITLE = "android.intent.extra.ringtone.TITLE";
+    field public static final String EXTRA_RINGTONE_TYPE = "android.intent.extra.ringtone.TYPE";
+    field public static final int ID_COLUMN_INDEX = 0; // 0x0
+    field public static final int TITLE_COLUMN_INDEX = 1; // 0x1
+    field public static final int TYPE_ALARM = 4; // 0x4
+    field public static final int TYPE_ALL = 7; // 0x7
+    field public static final int TYPE_NOTIFICATION = 2; // 0x2
+    field public static final int TYPE_RINGTONE = 1; // 0x1
+    field public static final int URI_COLUMN_INDEX = 2; // 0x2
+  }
+
+  public final class RouteDiscoveryPreference implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getPreferredFeatures();
+    method public boolean shouldPerformActiveScan();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.RouteDiscoveryPreference> CREATOR;
+  }
+
+  public static final class RouteDiscoveryPreference.Builder {
+    ctor public RouteDiscoveryPreference.Builder(@NonNull java.util.List<java.lang.String>, boolean);
+    ctor public RouteDiscoveryPreference.Builder(@NonNull android.media.RouteDiscoveryPreference);
+    method @NonNull public android.media.RouteDiscoveryPreference build();
+    method @NonNull public android.media.RouteDiscoveryPreference.Builder setPreferredFeatures(@NonNull java.util.List<java.lang.String>);
+    method @NonNull public android.media.RouteDiscoveryPreference.Builder setShouldPerformActiveScan(boolean);
+  }
+
+  public final class RoutingSessionInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getClientPackageName();
+    method @Nullable public android.os.Bundle getControlHints();
+    method @NonNull public java.util.List<java.lang.String> getDeselectableRoutes();
+    method @NonNull public String getId();
+    method @Nullable public CharSequence getName();
+    method @NonNull public java.util.List<java.lang.String> getSelectableRoutes();
+    method @NonNull public java.util.List<java.lang.String> getSelectedRoutes();
+    method @NonNull public java.util.List<java.lang.String> getTransferableRoutes();
+    method public int getVolume();
+    method public int getVolumeHandling();
+    method public int getVolumeMax();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.RoutingSessionInfo> CREATOR;
+  }
+
+  public static final class RoutingSessionInfo.Builder {
+    ctor public RoutingSessionInfo.Builder(@NonNull String, @NonNull String);
+    ctor public RoutingSessionInfo.Builder(@NonNull android.media.RoutingSessionInfo);
+    method @NonNull public android.media.RoutingSessionInfo.Builder addDeselectableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder addSelectableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder addSelectedRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder addTransferableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo build();
+    method @NonNull public android.media.RoutingSessionInfo.Builder clearDeselectableRoutes();
+    method @NonNull public android.media.RoutingSessionInfo.Builder clearSelectableRoutes();
+    method @NonNull public android.media.RoutingSessionInfo.Builder clearSelectedRoutes();
+    method @NonNull public android.media.RoutingSessionInfo.Builder clearTransferableRoutes();
+    method @NonNull public android.media.RoutingSessionInfo.Builder removeDeselectableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder removeSelectableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder removeSelectedRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder removeTransferableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder setControlHints(@Nullable android.os.Bundle);
+    method @NonNull public android.media.RoutingSessionInfo.Builder setName(@Nullable CharSequence);
+    method @NonNull public android.media.RoutingSessionInfo.Builder setVolume(int);
+    method @NonNull public android.media.RoutingSessionInfo.Builder setVolumeHandling(int);
+    method @NonNull public android.media.RoutingSessionInfo.Builder setVolumeMax(int);
+  }
+
+  public class SoundPool {
+    ctor @Deprecated public SoundPool(int, int, int);
+    method public final void autoPause();
+    method public final void autoResume();
+    method protected void finalize();
+    method public int load(String, int);
+    method public int load(android.content.Context, int, int);
+    method public int load(android.content.res.AssetFileDescriptor, int);
+    method public int load(java.io.FileDescriptor, long, long, int);
+    method public final void pause(int);
+    method public final int play(int, float, float, int, int, float);
+    method public final void release();
+    method public final void resume(int);
+    method public final void setLoop(int, int);
+    method public void setOnLoadCompleteListener(android.media.SoundPool.OnLoadCompleteListener);
+    method public final void setPriority(int, int);
+    method public final void setRate(int, float);
+    method public final void setVolume(int, float, float);
+    method public final void stop(int);
+    method public final boolean unload(int);
+  }
+
+  public static class SoundPool.Builder {
+    ctor public SoundPool.Builder();
+    method public android.media.SoundPool build();
+    method public android.media.SoundPool.Builder setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method public android.media.SoundPool.Builder setMaxStreams(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public static interface SoundPool.OnLoadCompleteListener {
+    method public void onLoadComplete(android.media.SoundPool, int, int);
+  }
+
+  public class Spatializer {
+    method public void addOnSpatializerStateChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerStateChangedListener);
+    method public boolean canBeSpatialized(@NonNull android.media.AudioAttributes, @NonNull android.media.AudioFormat);
+    method public int getImmersiveAudioLevel();
+    method public boolean isAvailable();
+    method public boolean isEnabled();
+    method public void removeOnSpatializerStateChangedListener(@NonNull android.media.Spatializer.OnSpatializerStateChangedListener);
+    field public static final int SPATIALIZER_IMMERSIVE_LEVEL_MULTICHANNEL = 1; // 0x1
+    field public static final int SPATIALIZER_IMMERSIVE_LEVEL_NONE = 0; // 0x0
+    field public static final int SPATIALIZER_IMMERSIVE_LEVEL_OTHER = -1; // 0xffffffff
+  }
+
+  public static interface Spatializer.OnSpatializerStateChangedListener {
+    method public void onSpatializerAvailableChanged(@NonNull android.media.Spatializer, boolean);
+    method public void onSpatializerEnabledChanged(@NonNull android.media.Spatializer, boolean);
+  }
+
+  public final class SubtitleData {
+    ctor public SubtitleData(int, long, long, @NonNull byte[]);
+    method @NonNull public byte[] getData();
+    method public long getDurationUs();
+    method public long getStartTimeUs();
+    method public int getTrackIndex();
+  }
+
+  public final class SyncParams {
+    ctor public SyncParams();
+    method public android.media.SyncParams allowDefaults();
+    method public int getAudioAdjustMode();
+    method public float getFrameRate();
+    method public int getSyncSource();
+    method public float getTolerance();
+    method public android.media.SyncParams setAudioAdjustMode(int);
+    method public android.media.SyncParams setFrameRate(float);
+    method public android.media.SyncParams setSyncSource(int);
+    method public android.media.SyncParams setTolerance(float);
+    field public static final int AUDIO_ADJUST_MODE_DEFAULT = 0; // 0x0
+    field public static final int AUDIO_ADJUST_MODE_RESAMPLE = 2; // 0x2
+    field public static final int AUDIO_ADJUST_MODE_STRETCH = 1; // 0x1
+    field public static final int SYNC_SOURCE_AUDIO = 2; // 0x2
+    field public static final int SYNC_SOURCE_DEFAULT = 0; // 0x0
+    field public static final int SYNC_SOURCE_SYSTEM_CLOCK = 1; // 0x1
+    field public static final int SYNC_SOURCE_VSYNC = 3; // 0x3
+  }
+
+  public class ThumbnailUtils {
+    ctor public ThumbnailUtils();
+    method @Deprecated @Nullable public static android.graphics.Bitmap createAudioThumbnail(@NonNull String, int);
+    method @NonNull public static android.graphics.Bitmap createAudioThumbnail(@NonNull java.io.File, @NonNull android.util.Size, @Nullable android.os.CancellationSignal) throws java.io.IOException;
+    method @Deprecated @Nullable public static android.graphics.Bitmap createImageThumbnail(@NonNull String, int);
+    method @NonNull public static android.graphics.Bitmap createImageThumbnail(@NonNull java.io.File, @NonNull android.util.Size, @Nullable android.os.CancellationSignal) throws java.io.IOException;
+    method @Deprecated @Nullable public static android.graphics.Bitmap createVideoThumbnail(@NonNull String, int);
+    method @NonNull public static android.graphics.Bitmap createVideoThumbnail(@NonNull java.io.File, @NonNull android.util.Size, @Nullable android.os.CancellationSignal) throws java.io.IOException;
+    method public static android.graphics.Bitmap extractThumbnail(android.graphics.Bitmap, int, int);
+    method public static android.graphics.Bitmap extractThumbnail(android.graphics.Bitmap, int, int, int);
+    field public static final int OPTIONS_RECYCLE_INPUT = 2; // 0x2
+  }
+
+  public final class TimedMetaData {
+    ctor public TimedMetaData(long, @NonNull byte[]);
+    method public byte[] getMetaData();
+    method public long getTimestamp();
+  }
+
+  public final class TimedText {
+    method public android.graphics.Rect getBounds();
+    method public String getText();
+  }
+
+  public class ToneGenerator {
+    ctor public ToneGenerator(int, int);
+    method protected void finalize();
+    method public final int getAudioSessionId();
+    method public void release();
+    method public boolean startTone(int);
+    method public boolean startTone(int, int);
+    method public void stopTone();
+    field public static final int MAX_VOLUME = 100; // 0x64
+    field public static final int MIN_VOLUME = 0; // 0x0
+    field public static final int TONE_CDMA_ABBR_ALERT = 97; // 0x61
+    field public static final int TONE_CDMA_ABBR_INTERCEPT = 37; // 0x25
+    field public static final int TONE_CDMA_ABBR_REORDER = 39; // 0x27
+    field public static final int TONE_CDMA_ALERT_AUTOREDIAL_LITE = 87; // 0x57
+    field public static final int TONE_CDMA_ALERT_CALL_GUARD = 93; // 0x5d
+    field public static final int TONE_CDMA_ALERT_INCALL_LITE = 91; // 0x5b
+    field public static final int TONE_CDMA_ALERT_NETWORK_LITE = 86; // 0x56
+    field public static final int TONE_CDMA_ANSWER = 42; // 0x2a
+    field public static final int TONE_CDMA_CALLDROP_LITE = 95; // 0x5f
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP = 46; // 0x2e
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL = 45; // 0x2d
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT3 = 48; // 0x30
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT5 = 50; // 0x32
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT6 = 51; // 0x33
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT7 = 52; // 0x34
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING = 49; // 0x31
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI = 47; // 0x2f
+    field public static final int TONE_CDMA_CONFIRM = 41; // 0x29
+    field public static final int TONE_CDMA_DIAL_TONE_LITE = 34; // 0x22
+    field public static final int TONE_CDMA_EMERGENCY_RINGBACK = 92; // 0x5c
+    field public static final int TONE_CDMA_HIGH_L = 53; // 0x35
+    field public static final int TONE_CDMA_HIGH_PBX_L = 71; // 0x47
+    field public static final int TONE_CDMA_HIGH_PBX_SLS = 80; // 0x50
+    field public static final int TONE_CDMA_HIGH_PBX_SS = 74; // 0x4a
+    field public static final int TONE_CDMA_HIGH_PBX_SSL = 77; // 0x4d
+    field public static final int TONE_CDMA_HIGH_PBX_S_X4 = 83; // 0x53
+    field public static final int TONE_CDMA_HIGH_SLS = 65; // 0x41
+    field public static final int TONE_CDMA_HIGH_SS = 56; // 0x38
+    field public static final int TONE_CDMA_HIGH_SSL = 59; // 0x3b
+    field public static final int TONE_CDMA_HIGH_SS_2 = 62; // 0x3e
+    field public static final int TONE_CDMA_HIGH_S_X4 = 68; // 0x44
+    field public static final int TONE_CDMA_INTERCEPT = 36; // 0x24
+    field public static final int TONE_CDMA_KEYPAD_VOLUME_KEY_LITE = 89; // 0x59
+    field public static final int TONE_CDMA_LOW_L = 55; // 0x37
+    field public static final int TONE_CDMA_LOW_PBX_L = 73; // 0x49
+    field public static final int TONE_CDMA_LOW_PBX_SLS = 82; // 0x52
+    field public static final int TONE_CDMA_LOW_PBX_SS = 76; // 0x4c
+    field public static final int TONE_CDMA_LOW_PBX_SSL = 79; // 0x4f
+    field public static final int TONE_CDMA_LOW_PBX_S_X4 = 85; // 0x55
+    field public static final int TONE_CDMA_LOW_SLS = 67; // 0x43
+    field public static final int TONE_CDMA_LOW_SS = 58; // 0x3a
+    field public static final int TONE_CDMA_LOW_SSL = 61; // 0x3d
+    field public static final int TONE_CDMA_LOW_SS_2 = 64; // 0x40
+    field public static final int TONE_CDMA_LOW_S_X4 = 70; // 0x46
+    field public static final int TONE_CDMA_MED_L = 54; // 0x36
+    field public static final int TONE_CDMA_MED_PBX_L = 72; // 0x48
+    field public static final int TONE_CDMA_MED_PBX_SLS = 81; // 0x51
+    field public static final int TONE_CDMA_MED_PBX_SS = 75; // 0x4b
+    field public static final int TONE_CDMA_MED_PBX_SSL = 78; // 0x4e
+    field public static final int TONE_CDMA_MED_PBX_S_X4 = 84; // 0x54
+    field public static final int TONE_CDMA_MED_SLS = 66; // 0x42
+    field public static final int TONE_CDMA_MED_SS = 57; // 0x39
+    field public static final int TONE_CDMA_MED_SSL = 60; // 0x3c
+    field public static final int TONE_CDMA_MED_SS_2 = 63; // 0x3f
+    field public static final int TONE_CDMA_MED_S_X4 = 69; // 0x45
+    field public static final int TONE_CDMA_NETWORK_BUSY = 40; // 0x28
+    field public static final int TONE_CDMA_NETWORK_BUSY_ONE_SHOT = 96; // 0x60
+    field public static final int TONE_CDMA_NETWORK_CALLWAITING = 43; // 0x2b
+    field public static final int TONE_CDMA_NETWORK_USA_RINGBACK = 35; // 0x23
+    field public static final int TONE_CDMA_ONE_MIN_BEEP = 88; // 0x58
+    field public static final int TONE_CDMA_PIP = 44; // 0x2c
+    field public static final int TONE_CDMA_PRESSHOLDKEY_LITE = 90; // 0x5a
+    field public static final int TONE_CDMA_REORDER = 38; // 0x26
+    field public static final int TONE_CDMA_SIGNAL_OFF = 98; // 0x62
+    field public static final int TONE_CDMA_SOFT_ERROR_LITE = 94; // 0x5e
+    field public static final int TONE_DTMF_0 = 0; // 0x0
+    field public static final int TONE_DTMF_1 = 1; // 0x1
+    field public static final int TONE_DTMF_2 = 2; // 0x2
+    field public static final int TONE_DTMF_3 = 3; // 0x3
+    field public static final int TONE_DTMF_4 = 4; // 0x4
+    field public static final int TONE_DTMF_5 = 5; // 0x5
+    field public static final int TONE_DTMF_6 = 6; // 0x6
+    field public static final int TONE_DTMF_7 = 7; // 0x7
+    field public static final int TONE_DTMF_8 = 8; // 0x8
+    field public static final int TONE_DTMF_9 = 9; // 0x9
+    field public static final int TONE_DTMF_A = 12; // 0xc
+    field public static final int TONE_DTMF_B = 13; // 0xd
+    field public static final int TONE_DTMF_C = 14; // 0xe
+    field public static final int TONE_DTMF_D = 15; // 0xf
+    field public static final int TONE_DTMF_P = 11; // 0xb
+    field public static final int TONE_DTMF_S = 10; // 0xa
+    field public static final int TONE_PROP_ACK = 25; // 0x19
+    field public static final int TONE_PROP_BEEP = 24; // 0x18
+    field public static final int TONE_PROP_BEEP2 = 28; // 0x1c
+    field public static final int TONE_PROP_NACK = 26; // 0x1a
+    field public static final int TONE_PROP_PROMPT = 27; // 0x1b
+    field public static final int TONE_SUP_BUSY = 17; // 0x11
+    field public static final int TONE_SUP_CALL_WAITING = 22; // 0x16
+    field public static final int TONE_SUP_CONFIRM = 32; // 0x20
+    field public static final int TONE_SUP_CONGESTION = 18; // 0x12
+    field public static final int TONE_SUP_CONGESTION_ABBREV = 31; // 0x1f
+    field public static final int TONE_SUP_DIAL = 16; // 0x10
+    field public static final int TONE_SUP_ERROR = 21; // 0x15
+    field public static final int TONE_SUP_INTERCEPT = 29; // 0x1d
+    field public static final int TONE_SUP_INTERCEPT_ABBREV = 30; // 0x1e
+    field public static final int TONE_SUP_PIP = 33; // 0x21
+    field public static final int TONE_SUP_RADIO_ACK = 19; // 0x13
+    field public static final int TONE_SUP_RADIO_NOTAVAIL = 20; // 0x14
+    field public static final int TONE_SUP_RINGTONE = 23; // 0x17
+  }
+
+  public final class UnsupportedSchemeException extends android.media.MediaDrmException {
+    ctor public UnsupportedSchemeException(String);
+  }
+
+  public interface VolumeAutomation {
+    method @NonNull public android.media.VolumeShaper createVolumeShaper(@NonNull android.media.VolumeShaper.Configuration);
+  }
+
+  public abstract class VolumeProvider {
+    ctor public VolumeProvider(int, int, int);
+    ctor public VolumeProvider(int, int, int, @Nullable String);
+    method public final int getCurrentVolume();
+    method public final int getMaxVolume();
+    method public final int getVolumeControl();
+    method @Nullable public final String getVolumeControlId();
+    method public void onAdjustVolume(int);
+    method public void onSetVolumeTo(int);
+    method public final void setCurrentVolume(int);
+    field public static final int VOLUME_CONTROL_ABSOLUTE = 2; // 0x2
+    field public static final int VOLUME_CONTROL_FIXED = 0; // 0x0
+    field public static final int VOLUME_CONTROL_RELATIVE = 1; // 0x1
+  }
+
+  public final class VolumeShaper implements java.lang.AutoCloseable {
+    method public void apply(@NonNull android.media.VolumeShaper.Operation);
+    method public void close();
+    method protected void finalize();
+    method public float getVolume();
+    method public void replace(@NonNull android.media.VolumeShaper.Configuration, @NonNull android.media.VolumeShaper.Operation, boolean);
+  }
+
+  public static final class VolumeShaper.Configuration implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getDuration();
+    method public int getInterpolatorType();
+    method public static int getMaximumCurvePoints();
+    method public float[] getTimes();
+    method public float[] getVolumes();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.VolumeShaper.Configuration> CREATOR;
+    field public static final android.media.VolumeShaper.Configuration CUBIC_RAMP;
+    field public static final int INTERPOLATOR_TYPE_CUBIC = 2; // 0x2
+    field public static final int INTERPOLATOR_TYPE_CUBIC_MONOTONIC = 3; // 0x3
+    field public static final int INTERPOLATOR_TYPE_LINEAR = 1; // 0x1
+    field public static final int INTERPOLATOR_TYPE_STEP = 0; // 0x0
+    field public static final android.media.VolumeShaper.Configuration LINEAR_RAMP;
+    field public static final android.media.VolumeShaper.Configuration SCURVE_RAMP;
+    field public static final android.media.VolumeShaper.Configuration SINE_RAMP;
+  }
+
+  public static final class VolumeShaper.Configuration.Builder {
+    ctor public VolumeShaper.Configuration.Builder();
+    ctor public VolumeShaper.Configuration.Builder(@NonNull android.media.VolumeShaper.Configuration);
+    method @NonNull public android.media.VolumeShaper.Configuration build();
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder invertVolumes();
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder reflectTimes();
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder scaleToEndVolume(float);
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder scaleToStartVolume(float);
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder setCurve(@NonNull float[], @NonNull float[]);
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder setDuration(long);
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder setInterpolatorType(int);
+  }
+
+  public static final class VolumeShaper.Operation implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.VolumeShaper.Operation> CREATOR;
+    field public static final android.media.VolumeShaper.Operation PLAY;
+    field public static final android.media.VolumeShaper.Operation REVERSE;
+  }
+
+}
+
+package android.media.audiofx {
+
+  public class AcousticEchoCanceler extends android.media.audiofx.AudioEffect {
+    method public static android.media.audiofx.AcousticEchoCanceler create(int);
+    method public static boolean isAvailable();
+  }
+
+  public class AudioEffect {
+    method protected void finalize();
+    method public android.media.audiofx.AudioEffect.Descriptor getDescriptor() throws java.lang.IllegalStateException;
+    method public boolean getEnabled() throws java.lang.IllegalStateException;
+    method public int getId() throws java.lang.IllegalStateException;
+    method public boolean hasControl() throws java.lang.IllegalStateException;
+    method public static android.media.audiofx.AudioEffect.Descriptor[] queryEffects();
+    method public void release();
+    method public void setControlStatusListener(android.media.audiofx.AudioEffect.OnControlStatusChangeListener);
+    method public void setEnableStatusListener(android.media.audiofx.AudioEffect.OnEnableStatusChangeListener);
+    method public int setEnabled(boolean) throws java.lang.IllegalStateException;
+    field public static final String ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION = "android.media.action.CLOSE_AUDIO_EFFECT_CONTROL_SESSION";
+    field public static final String ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL = "android.media.action.DISPLAY_AUDIO_EFFECT_CONTROL_PANEL";
+    field public static final String ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION = "android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION";
+    field public static final int ALREADY_EXISTS = -2; // 0xfffffffe
+    field public static final int CONTENT_TYPE_GAME = 2; // 0x2
+    field public static final int CONTENT_TYPE_MOVIE = 1; // 0x1
+    field public static final int CONTENT_TYPE_MUSIC = 0; // 0x0
+    field public static final int CONTENT_TYPE_VOICE = 3; // 0x3
+    field public static final String EFFECT_AUXILIARY = "Auxiliary";
+    field public static final String EFFECT_INSERT = "Insert";
+    field public static final String EFFECT_POST_PROCESSING = "Post Processing";
+    field public static final String EFFECT_PRE_PROCESSING = "Pre Processing";
+    field public static final java.util.UUID EFFECT_TYPE_AEC;
+    field public static final java.util.UUID EFFECT_TYPE_AGC;
+    field public static final java.util.UUID EFFECT_TYPE_BASS_BOOST;
+    field public static final java.util.UUID EFFECT_TYPE_DYNAMICS_PROCESSING;
+    field public static final java.util.UUID EFFECT_TYPE_ENV_REVERB;
+    field public static final java.util.UUID EFFECT_TYPE_EQUALIZER;
+    field @NonNull public static final java.util.UUID EFFECT_TYPE_HAPTIC_GENERATOR;
+    field public static final java.util.UUID EFFECT_TYPE_LOUDNESS_ENHANCER;
+    field public static final java.util.UUID EFFECT_TYPE_NS;
+    field public static final java.util.UUID EFFECT_TYPE_PRESET_REVERB;
+    field public static final java.util.UUID EFFECT_TYPE_VIRTUALIZER;
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_BAD_VALUE = -4; // 0xfffffffc
+    field public static final int ERROR_DEAD_OBJECT = -7; // 0xfffffff9
+    field public static final int ERROR_INVALID_OPERATION = -5; // 0xfffffffb
+    field public static final int ERROR_NO_INIT = -3; // 0xfffffffd
+    field public static final int ERROR_NO_MEMORY = -6; // 0xfffffffa
+    field public static final String EXTRA_AUDIO_SESSION = "android.media.extra.AUDIO_SESSION";
+    field public static final String EXTRA_CONTENT_TYPE = "android.media.extra.CONTENT_TYPE";
+    field public static final String EXTRA_PACKAGE_NAME = "android.media.extra.PACKAGE_NAME";
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public static class AudioEffect.Descriptor {
+    ctor public AudioEffect.Descriptor();
+    ctor public AudioEffect.Descriptor(String, String, String, String, String);
+    field public String connectMode;
+    field public String implementor;
+    field public String name;
+    field public java.util.UUID type;
+    field public java.util.UUID uuid;
+  }
+
+  public static interface AudioEffect.OnControlStatusChangeListener {
+    method public void onControlStatusChange(android.media.audiofx.AudioEffect, boolean);
+  }
+
+  public static interface AudioEffect.OnEnableStatusChangeListener {
+    method public void onEnableStatusChange(android.media.audiofx.AudioEffect, boolean);
+  }
+
+  public class AutomaticGainControl extends android.media.audiofx.AudioEffect {
+    method public static android.media.audiofx.AutomaticGainControl create(int);
+    method public static boolean isAvailable();
+  }
+
+  public class BassBoost extends android.media.audiofx.AudioEffect {
+    ctor public BassBoost(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public android.media.audiofx.BassBoost.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getRoundedStrength() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public boolean getStrengthSupported();
+    method public void setParameterListener(android.media.audiofx.BassBoost.OnParameterChangeListener);
+    method public void setProperties(android.media.audiofx.BassBoost.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setStrength(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_STRENGTH = 1; // 0x1
+    field public static final int PARAM_STRENGTH_SUPPORTED = 0; // 0x0
+  }
+
+  public static interface BassBoost.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.BassBoost, int, int, short);
+  }
+
+  public static class BassBoost.Settings {
+    ctor public BassBoost.Settings();
+    ctor public BassBoost.Settings(String);
+    field public short strength;
+  }
+
+  public final class DynamicsProcessing extends android.media.audiofx.AudioEffect {
+    ctor public DynamicsProcessing(int);
+    ctor public DynamicsProcessing(int, int, @Nullable android.media.audiofx.DynamicsProcessing.Config);
+    method public android.media.audiofx.DynamicsProcessing.Channel getChannelByChannelIndex(int);
+    method public int getChannelCount();
+    method public android.media.audiofx.DynamicsProcessing.Config getConfig();
+    method public float getInputGainByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.Limiter getLimiterByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.MbcBand getMbcBandByChannelIndex(int, int);
+    method public android.media.audiofx.DynamicsProcessing.Mbc getMbcByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPostEqBandByChannelIndex(int, int);
+    method public android.media.audiofx.DynamicsProcessing.Eq getPostEqByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPreEqBandByChannelIndex(int, int);
+    method public android.media.audiofx.DynamicsProcessing.Eq getPreEqByChannelIndex(int);
+    method public void setAllChannelsTo(android.media.audiofx.DynamicsProcessing.Channel);
+    method public void setChannelTo(int, android.media.audiofx.DynamicsProcessing.Channel);
+    method public void setInputGainAllChannelsTo(float);
+    method public void setInputGainbyChannel(int, float);
+    method public void setLimiterAllChannelsTo(android.media.audiofx.DynamicsProcessing.Limiter);
+    method public void setLimiterByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Limiter);
+    method public void setMbcAllChannelsTo(android.media.audiofx.DynamicsProcessing.Mbc);
+    method public void setMbcBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public void setMbcBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public void setMbcByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Mbc);
+    method public void setPostEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPostEqBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPostEqBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPostEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPreEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPreEqBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPreEqBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPreEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+    field public static final int VARIANT_FAVOR_FREQUENCY_RESOLUTION = 0; // 0x0
+    field public static final int VARIANT_FAVOR_TIME_RESOLUTION = 1; // 0x1
+  }
+
+  public static class DynamicsProcessing.BandBase {
+    ctor public DynamicsProcessing.BandBase(boolean, float);
+    method public float getCutoffFrequency();
+    method public boolean isEnabled();
+    method public void setCutoffFrequency(float);
+    method public void setEnabled(boolean);
+  }
+
+  public static class DynamicsProcessing.BandStage extends android.media.audiofx.DynamicsProcessing.Stage {
+    ctor public DynamicsProcessing.BandStage(boolean, boolean, int);
+    method public int getBandCount();
+  }
+
+  public static final class DynamicsProcessing.Channel {
+    ctor public DynamicsProcessing.Channel(float, boolean, int, boolean, int, boolean, int, boolean);
+    ctor public DynamicsProcessing.Channel(android.media.audiofx.DynamicsProcessing.Channel);
+    method public float getInputGain();
+    method public android.media.audiofx.DynamicsProcessing.Limiter getLimiter();
+    method public android.media.audiofx.DynamicsProcessing.Mbc getMbc();
+    method public android.media.audiofx.DynamicsProcessing.MbcBand getMbcBand(int);
+    method public android.media.audiofx.DynamicsProcessing.Eq getPostEq();
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPostEqBand(int);
+    method public android.media.audiofx.DynamicsProcessing.Eq getPreEq();
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPreEqBand(int);
+    method public void setInputGain(float);
+    method public void setLimiter(android.media.audiofx.DynamicsProcessing.Limiter);
+    method public void setMbc(android.media.audiofx.DynamicsProcessing.Mbc);
+    method public void setMbcBand(int, android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public void setPostEq(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPostEqBand(int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPreEq(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPreEqBand(int, android.media.audiofx.DynamicsProcessing.EqBand);
+  }
+
+  public static final class DynamicsProcessing.Config {
+    method public android.media.audiofx.DynamicsProcessing.Channel getChannelByChannelIndex(int);
+    method public float getInputGainByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.Limiter getLimiterByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.MbcBand getMbcBandByChannelIndex(int, int);
+    method public int getMbcBandCount();
+    method public android.media.audiofx.DynamicsProcessing.Mbc getMbcByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPostEqBandByChannelIndex(int, int);
+    method public int getPostEqBandCount();
+    method public android.media.audiofx.DynamicsProcessing.Eq getPostEqByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPreEqBandByChannelIndex(int, int);
+    method public int getPreEqBandCount();
+    method public android.media.audiofx.DynamicsProcessing.Eq getPreEqByChannelIndex(int);
+    method public float getPreferredFrameDuration();
+    method public int getVariant();
+    method public boolean isLimiterInUse();
+    method public boolean isMbcInUse();
+    method public boolean isPostEqInUse();
+    method public boolean isPreEqInUse();
+    method public void setAllChannelsTo(android.media.audiofx.DynamicsProcessing.Channel);
+    method public void setChannelTo(int, android.media.audiofx.DynamicsProcessing.Channel);
+    method public void setInputGainAllChannelsTo(float);
+    method public void setInputGainByChannelIndex(int, float);
+    method public void setLimiterAllChannelsTo(android.media.audiofx.DynamicsProcessing.Limiter);
+    method public void setLimiterByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Limiter);
+    method public void setMbcAllChannelsTo(android.media.audiofx.DynamicsProcessing.Mbc);
+    method public void setMbcBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public void setMbcBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public void setMbcByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Mbc);
+    method public void setPostEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPostEqBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPostEqBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPostEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPreEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPreEqBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPreEqBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPreEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+  }
+
+  public static final class DynamicsProcessing.Config.Builder {
+    ctor public DynamicsProcessing.Config.Builder(int, int, boolean, int, boolean, int, boolean, int, boolean);
+    method public android.media.audiofx.DynamicsProcessing.Config build();
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setAllChannelsTo(android.media.audiofx.DynamicsProcessing.Channel);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setChannelTo(int, android.media.audiofx.DynamicsProcessing.Channel);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setInputGainAllChannelsTo(float);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setInputGainByChannelIndex(int, float);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setLimiterAllChannelsTo(android.media.audiofx.DynamicsProcessing.Limiter);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setLimiterByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Limiter);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setMbcAllChannelsTo(android.media.audiofx.DynamicsProcessing.Mbc);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setMbcByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Mbc);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setPostEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setPostEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setPreEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setPreEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setPreferredFrameDuration(float);
+  }
+
+  public static final class DynamicsProcessing.Eq extends android.media.audiofx.DynamicsProcessing.BandStage {
+    ctor public DynamicsProcessing.Eq(boolean, boolean, int);
+    ctor public DynamicsProcessing.Eq(android.media.audiofx.DynamicsProcessing.Eq);
+    method public android.media.audiofx.DynamicsProcessing.EqBand getBand(int);
+    method public void setBand(int, android.media.audiofx.DynamicsProcessing.EqBand);
+  }
+
+  public static final class DynamicsProcessing.EqBand extends android.media.audiofx.DynamicsProcessing.BandBase {
+    ctor public DynamicsProcessing.EqBand(boolean, float, float);
+    ctor public DynamicsProcessing.EqBand(android.media.audiofx.DynamicsProcessing.EqBand);
+    method public float getGain();
+    method public void setGain(float);
+  }
+
+  public static final class DynamicsProcessing.Limiter extends android.media.audiofx.DynamicsProcessing.Stage {
+    ctor public DynamicsProcessing.Limiter(boolean, boolean, int, float, float, float, float, float);
+    ctor public DynamicsProcessing.Limiter(android.media.audiofx.DynamicsProcessing.Limiter);
+    method public float getAttackTime();
+    method public int getLinkGroup();
+    method public float getPostGain();
+    method public float getRatio();
+    method public float getReleaseTime();
+    method public float getThreshold();
+    method public void setAttackTime(float);
+    method public void setLinkGroup(int);
+    method public void setPostGain(float);
+    method public void setRatio(float);
+    method public void setReleaseTime(float);
+    method public void setThreshold(float);
+  }
+
+  public static final class DynamicsProcessing.Mbc extends android.media.audiofx.DynamicsProcessing.BandStage {
+    ctor public DynamicsProcessing.Mbc(boolean, boolean, int);
+    ctor public DynamicsProcessing.Mbc(android.media.audiofx.DynamicsProcessing.Mbc);
+    method public android.media.audiofx.DynamicsProcessing.MbcBand getBand(int);
+    method public void setBand(int, android.media.audiofx.DynamicsProcessing.MbcBand);
+  }
+
+  public static final class DynamicsProcessing.MbcBand extends android.media.audiofx.DynamicsProcessing.BandBase {
+    ctor public DynamicsProcessing.MbcBand(boolean, float, float, float, float, float, float, float, float, float, float);
+    ctor public DynamicsProcessing.MbcBand(android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public float getAttackTime();
+    method public float getExpanderRatio();
+    method public float getKneeWidth();
+    method public float getNoiseGateThreshold();
+    method public float getPostGain();
+    method public float getPreGain();
+    method public float getRatio();
+    method public float getReleaseTime();
+    method public float getThreshold();
+    method public void setAttackTime(float);
+    method public void setExpanderRatio(float);
+    method public void setKneeWidth(float);
+    method public void setNoiseGateThreshold(float);
+    method public void setPostGain(float);
+    method public void setPreGain(float);
+    method public void setRatio(float);
+    method public void setReleaseTime(float);
+    method public void setThreshold(float);
+  }
+
+  public static class DynamicsProcessing.Stage {
+    ctor public DynamicsProcessing.Stage(boolean, boolean);
+    method public boolean isEnabled();
+    method public boolean isInUse();
+    method public void setEnabled(boolean);
+  }
+
+  public class EnvironmentalReverb extends android.media.audiofx.AudioEffect {
+    ctor public EnvironmentalReverb(int, int) throws java.lang.IllegalArgumentException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public short getDecayHFRatio() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public int getDecayTime() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getDensity() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getDiffusion() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public android.media.audiofx.EnvironmentalReverb.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public int getReflectionsDelay() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getReflectionsLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public int getReverbDelay() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getReverbLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getRoomHFLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getRoomLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setDecayHFRatio(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setDecayTime(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setDensity(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setDiffusion(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setParameterListener(android.media.audiofx.EnvironmentalReverb.OnParameterChangeListener);
+    method public void setProperties(android.media.audiofx.EnvironmentalReverb.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setReflectionsDelay(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setReflectionsLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setReverbDelay(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setReverbLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setRoomHFLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setRoomLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_DECAY_HF_RATIO = 3; // 0x3
+    field public static final int PARAM_DECAY_TIME = 2; // 0x2
+    field public static final int PARAM_DENSITY = 9; // 0x9
+    field public static final int PARAM_DIFFUSION = 8; // 0x8
+    field public static final int PARAM_REFLECTIONS_DELAY = 5; // 0x5
+    field public static final int PARAM_REFLECTIONS_LEVEL = 4; // 0x4
+    field public static final int PARAM_REVERB_DELAY = 7; // 0x7
+    field public static final int PARAM_REVERB_LEVEL = 6; // 0x6
+    field public static final int PARAM_ROOM_HF_LEVEL = 1; // 0x1
+    field public static final int PARAM_ROOM_LEVEL = 0; // 0x0
+  }
+
+  public static interface EnvironmentalReverb.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.EnvironmentalReverb, int, int, int);
+  }
+
+  public static class EnvironmentalReverb.Settings {
+    ctor public EnvironmentalReverb.Settings();
+    ctor public EnvironmentalReverb.Settings(String);
+    field public short decayHFRatio;
+    field public int decayTime;
+    field public short density;
+    field public short diffusion;
+    field public int reflectionsDelay;
+    field public short reflectionsLevel;
+    field public int reverbDelay;
+    field public short reverbLevel;
+    field public short roomHFLevel;
+    field public short roomLevel;
+  }
+
+  public class Equalizer extends android.media.audiofx.AudioEffect {
+    ctor public Equalizer(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public short getBand(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public int[] getBandFreqRange(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getBandLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short[] getBandLevelRange() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public int getCenterFreq(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getCurrentPreset() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getNumberOfBands() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getNumberOfPresets() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public String getPresetName(short);
+    method public android.media.audiofx.Equalizer.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setBandLevel(short, short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setParameterListener(android.media.audiofx.Equalizer.OnParameterChangeListener);
+    method public void setProperties(android.media.audiofx.Equalizer.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void usePreset(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_BAND_FREQ_RANGE = 4; // 0x4
+    field public static final int PARAM_BAND_LEVEL = 2; // 0x2
+    field public static final int PARAM_CENTER_FREQ = 3; // 0x3
+    field public static final int PARAM_CURRENT_PRESET = 6; // 0x6
+    field public static final int PARAM_GET_BAND = 5; // 0x5
+    field public static final int PARAM_GET_NUM_OF_PRESETS = 7; // 0x7
+    field public static final int PARAM_GET_PRESET_NAME = 8; // 0x8
+    field public static final int PARAM_LEVEL_RANGE = 1; // 0x1
+    field public static final int PARAM_NUM_BANDS = 0; // 0x0
+    field public static final int PARAM_STRING_SIZE_MAX = 32; // 0x20
+  }
+
+  public static interface Equalizer.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.Equalizer, int, int, int, int);
+  }
+
+  public static class Equalizer.Settings {
+    ctor public Equalizer.Settings();
+    ctor public Equalizer.Settings(String);
+    field public short[] bandLevels;
+    field public short curPreset;
+    field public short numBands;
+  }
+
+  public class HapticGenerator extends android.media.audiofx.AudioEffect implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public static android.media.audiofx.HapticGenerator create(int);
+    method public static boolean isAvailable();
+    method public int setEnabled(boolean);
+  }
+
+  public class LoudnessEnhancer extends android.media.audiofx.AudioEffect {
+    ctor public LoudnessEnhancer(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public float getTargetGain() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setTargetGain(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_TARGET_GAIN_MB = 0; // 0x0
+  }
+
+  public class NoiseSuppressor extends android.media.audiofx.AudioEffect {
+    method public static android.media.audiofx.NoiseSuppressor create(int);
+    method public static boolean isAvailable();
+  }
+
+  public class PresetReverb extends android.media.audiofx.AudioEffect {
+    ctor public PresetReverb(int, int) throws java.lang.IllegalArgumentException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public short getPreset() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public android.media.audiofx.PresetReverb.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setParameterListener(android.media.audiofx.PresetReverb.OnParameterChangeListener);
+    method public void setPreset(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setProperties(android.media.audiofx.PresetReverb.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_PRESET = 0; // 0x0
+    field public static final short PRESET_LARGEHALL = 5; // 0x5
+    field public static final short PRESET_LARGEROOM = 3; // 0x3
+    field public static final short PRESET_MEDIUMHALL = 4; // 0x4
+    field public static final short PRESET_MEDIUMROOM = 2; // 0x2
+    field public static final short PRESET_NONE = 0; // 0x0
+    field public static final short PRESET_PLATE = 6; // 0x6
+    field public static final short PRESET_SMALLROOM = 1; // 0x1
+  }
+
+  public static interface PresetReverb.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.PresetReverb, int, int, short);
+  }
+
+  public static class PresetReverb.Settings {
+    ctor public PresetReverb.Settings();
+    ctor public PresetReverb.Settings(String);
+    field public short preset;
+  }
+
+  public class Virtualizer extends android.media.audiofx.AudioEffect {
+    ctor public Virtualizer(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public boolean canVirtualize(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public boolean forceVirtualizationMode(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public android.media.audiofx.Virtualizer.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getRoundedStrength() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public boolean getSpeakerAngles(int, int, int[]) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public boolean getStrengthSupported();
+    method public int getVirtualizationMode() throws java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setParameterListener(android.media.audiofx.Virtualizer.OnParameterChangeListener);
+    method public void setProperties(android.media.audiofx.Virtualizer.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setStrength(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_STRENGTH = 1; // 0x1
+    field public static final int PARAM_STRENGTH_SUPPORTED = 0; // 0x0
+    field public static final int VIRTUALIZATION_MODE_AUTO = 1; // 0x1
+    field public static final int VIRTUALIZATION_MODE_BINAURAL = 2; // 0x2
+    field public static final int VIRTUALIZATION_MODE_OFF = 0; // 0x0
+    field public static final int VIRTUALIZATION_MODE_TRANSAURAL = 3; // 0x3
+  }
+
+  public static interface Virtualizer.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.Virtualizer, int, int, short);
+  }
+
+  public static class Virtualizer.Settings {
+    ctor public Virtualizer.Settings();
+    ctor public Virtualizer.Settings(String);
+    field public short strength;
+  }
+
+  public class Visualizer {
+    ctor public Visualizer(int) throws java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method protected void finalize();
+    method public int getCaptureSize() throws java.lang.IllegalStateException;
+    method public static int[] getCaptureSizeRange();
+    method public boolean getEnabled();
+    method public int getFft(byte[]) throws java.lang.IllegalStateException;
+    method public static int getMaxCaptureRate();
+    method public int getMeasurementMode() throws java.lang.IllegalStateException;
+    method public int getMeasurementPeakRms(android.media.audiofx.Visualizer.MeasurementPeakRms);
+    method public int getSamplingRate() throws java.lang.IllegalStateException;
+    method public int getScalingMode() throws java.lang.IllegalStateException;
+    method public int getWaveForm(byte[]) throws java.lang.IllegalStateException;
+    method public void release();
+    method public int setCaptureSize(int) throws java.lang.IllegalStateException;
+    method public int setDataCaptureListener(android.media.audiofx.Visualizer.OnDataCaptureListener, int, boolean, boolean);
+    method public int setEnabled(boolean) throws java.lang.IllegalStateException;
+    method public int setMeasurementMode(int) throws java.lang.IllegalStateException;
+    method public int setScalingMode(int) throws java.lang.IllegalStateException;
+    field public static final int ALREADY_EXISTS = -2; // 0xfffffffe
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_BAD_VALUE = -4; // 0xfffffffc
+    field public static final int ERROR_DEAD_OBJECT = -7; // 0xfffffff9
+    field public static final int ERROR_INVALID_OPERATION = -5; // 0xfffffffb
+    field public static final int ERROR_NO_INIT = -3; // 0xfffffffd
+    field public static final int ERROR_NO_MEMORY = -6; // 0xfffffffa
+    field public static final int MEASUREMENT_MODE_NONE = 0; // 0x0
+    field public static final int MEASUREMENT_MODE_PEAK_RMS = 1; // 0x1
+    field public static final int SCALING_MODE_AS_PLAYED = 1; // 0x1
+    field public static final int SCALING_MODE_NORMALIZED = 0; // 0x0
+    field public static final int STATE_ENABLED = 2; // 0x2
+    field public static final int STATE_INITIALIZED = 1; // 0x1
+    field public static final int STATE_UNINITIALIZED = 0; // 0x0
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public static final class Visualizer.MeasurementPeakRms {
+    ctor public Visualizer.MeasurementPeakRms();
+    field public int mPeak;
+    field public int mRms;
+  }
+
+  public static interface Visualizer.OnDataCaptureListener {
+    method public void onFftDataCapture(android.media.audiofx.Visualizer, byte[], int);
+    method public void onWaveFormDataCapture(android.media.audiofx.Visualizer, byte[], int);
+  }
+
+}
+
+package android.media.browse {
+
+  public final class MediaBrowser {
+    ctor public MediaBrowser(android.content.Context, android.content.ComponentName, android.media.browse.MediaBrowser.ConnectionCallback, android.os.Bundle);
+    method public void connect();
+    method public void disconnect();
+    method @Nullable public android.os.Bundle getExtras();
+    method public void getItem(@NonNull String, @NonNull android.media.browse.MediaBrowser.ItemCallback);
+    method @NonNull public String getRoot();
+    method @NonNull public android.content.ComponentName getServiceComponent();
+    method @NonNull public android.media.session.MediaSession.Token getSessionToken();
+    method public boolean isConnected();
+    method public void subscribe(@NonNull String, @NonNull android.media.browse.MediaBrowser.SubscriptionCallback);
+    method public void subscribe(@NonNull String, @NonNull android.os.Bundle, @NonNull android.media.browse.MediaBrowser.SubscriptionCallback);
+    method public void unsubscribe(@NonNull String);
+    method public void unsubscribe(@NonNull String, @NonNull android.media.browse.MediaBrowser.SubscriptionCallback);
+    field public static final String EXTRA_PAGE = "android.media.browse.extra.PAGE";
+    field public static final String EXTRA_PAGE_SIZE = "android.media.browse.extra.PAGE_SIZE";
+  }
+
+  public static class MediaBrowser.ConnectionCallback {
+    ctor public MediaBrowser.ConnectionCallback();
+    method public void onConnected();
+    method public void onConnectionFailed();
+    method public void onConnectionSuspended();
+  }
+
+  public abstract static class MediaBrowser.ItemCallback {
+    ctor public MediaBrowser.ItemCallback();
+    method public void onError(@NonNull String);
+    method public void onItemLoaded(android.media.browse.MediaBrowser.MediaItem);
+  }
+
+  public static class MediaBrowser.MediaItem implements android.os.Parcelable {
+    ctor public MediaBrowser.MediaItem(@NonNull android.media.MediaDescription, int);
+    method public int describeContents();
+    method @NonNull public android.media.MediaDescription getDescription();
+    method public int getFlags();
+    method @Nullable public String getMediaId();
+    method public boolean isBrowsable();
+    method public boolean isPlayable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.browse.MediaBrowser.MediaItem> CREATOR;
+    field public static final int FLAG_BROWSABLE = 1; // 0x1
+    field public static final int FLAG_PLAYABLE = 2; // 0x2
+  }
+
+  public abstract static class MediaBrowser.SubscriptionCallback {
+    ctor public MediaBrowser.SubscriptionCallback();
+    method public void onChildrenLoaded(@NonNull String, @NonNull java.util.List<android.media.browse.MediaBrowser.MediaItem>);
+    method public void onChildrenLoaded(@NonNull String, @NonNull java.util.List<android.media.browse.MediaBrowser.MediaItem>, @NonNull android.os.Bundle);
+    method public void onError(@NonNull String);
+    method public void onError(@NonNull String, @NonNull android.os.Bundle);
+  }
+
+}
+
+package android.media.effect {
+
+  public abstract class Effect {
+    ctor public Effect();
+    method public abstract void apply(int, int, int, int);
+    method public abstract String getName();
+    method public abstract void release();
+    method public abstract void setParameter(String, Object);
+    method public void setUpdateListener(android.media.effect.EffectUpdateListener);
+  }
+
+  public class EffectContext {
+    method public static android.media.effect.EffectContext createWithCurrentGlContext();
+    method public android.media.effect.EffectFactory getFactory();
+    method public void release();
+  }
+
+  public class EffectFactory {
+    method public android.media.effect.Effect createEffect(String);
+    method public static boolean isEffectSupported(String);
+    field public static final String EFFECT_AUTOFIX = "android.media.effect.effects.AutoFixEffect";
+    field public static final String EFFECT_BACKDROPPER = "android.media.effect.effects.BackDropperEffect";
+    field public static final String EFFECT_BITMAPOVERLAY = "android.media.effect.effects.BitmapOverlayEffect";
+    field public static final String EFFECT_BLACKWHITE = "android.media.effect.effects.BlackWhiteEffect";
+    field public static final String EFFECT_BRIGHTNESS = "android.media.effect.effects.BrightnessEffect";
+    field public static final String EFFECT_CONTRAST = "android.media.effect.effects.ContrastEffect";
+    field public static final String EFFECT_CROP = "android.media.effect.effects.CropEffect";
+    field public static final String EFFECT_CROSSPROCESS = "android.media.effect.effects.CrossProcessEffect";
+    field public static final String EFFECT_DOCUMENTARY = "android.media.effect.effects.DocumentaryEffect";
+    field public static final String EFFECT_DUOTONE = "android.media.effect.effects.DuotoneEffect";
+    field public static final String EFFECT_FILLLIGHT = "android.media.effect.effects.FillLightEffect";
+    field public static final String EFFECT_FISHEYE = "android.media.effect.effects.FisheyeEffect";
+    field public static final String EFFECT_FLIP = "android.media.effect.effects.FlipEffect";
+    field public static final String EFFECT_GRAIN = "android.media.effect.effects.GrainEffect";
+    field public static final String EFFECT_GRAYSCALE = "android.media.effect.effects.GrayscaleEffect";
+    field public static final String EFFECT_LOMOISH = "android.media.effect.effects.LomoishEffect";
+    field public static final String EFFECT_NEGATIVE = "android.media.effect.effects.NegativeEffect";
+    field public static final String EFFECT_POSTERIZE = "android.media.effect.effects.PosterizeEffect";
+    field public static final String EFFECT_REDEYE = "android.media.effect.effects.RedEyeEffect";
+    field public static final String EFFECT_ROTATE = "android.media.effect.effects.RotateEffect";
+    field public static final String EFFECT_SATURATE = "android.media.effect.effects.SaturateEffect";
+    field public static final String EFFECT_SEPIA = "android.media.effect.effects.SepiaEffect";
+    field public static final String EFFECT_SHARPEN = "android.media.effect.effects.SharpenEffect";
+    field public static final String EFFECT_STRAIGHTEN = "android.media.effect.effects.StraightenEffect";
+    field public static final String EFFECT_TEMPERATURE = "android.media.effect.effects.ColorTemperatureEffect";
+    field public static final String EFFECT_TINT = "android.media.effect.effects.TintEffect";
+    field public static final String EFFECT_VIGNETTE = "android.media.effect.effects.VignetteEffect";
+  }
+
+  public interface EffectUpdateListener {
+    method public void onEffectUpdated(android.media.effect.Effect, Object);
+  }
+
+}
+
+package android.media.metrics {
+
+  public abstract class Event {
+    method @NonNull public android.os.Bundle getMetricsBundle();
+    method @IntRange(from=0xffffffff) public long getTimeSinceCreatedMillis();
+  }
+
+  public final class LogSessionId {
+    method @NonNull public String getStringId();
+    field @NonNull public static final android.media.metrics.LogSessionId LOG_SESSION_ID_NONE;
+  }
+
+  public final class MediaMetricsManager {
+    method @NonNull public android.media.metrics.PlaybackSession createPlaybackSession();
+    method @NonNull public android.media.metrics.RecordingSession createRecordingSession();
+    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
+  }
+
+  public final class NetworkEvent extends android.media.metrics.Event implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getNetworkType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.NetworkEvent> CREATOR;
+    field public static final int NETWORK_TYPE_2G = 4; // 0x4
+    field public static final int NETWORK_TYPE_3G = 5; // 0x5
+    field public static final int NETWORK_TYPE_4G = 6; // 0x6
+    field public static final int NETWORK_TYPE_5G_NSA = 7; // 0x7
+    field public static final int NETWORK_TYPE_5G_SA = 8; // 0x8
+    field public static final int NETWORK_TYPE_ETHERNET = 3; // 0x3
+    field public static final int NETWORK_TYPE_OFFLINE = 9; // 0x9
+    field public static final int NETWORK_TYPE_OTHER = 1; // 0x1
+    field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int NETWORK_TYPE_WIFI = 2; // 0x2
+  }
+
+  public static final class NetworkEvent.Builder {
+    ctor public NetworkEvent.Builder();
+    method @NonNull public android.media.metrics.NetworkEvent build();
+    method @NonNull public android.media.metrics.NetworkEvent.Builder setMetricsBundle(@NonNull android.os.Bundle);
+    method @NonNull public android.media.metrics.NetworkEvent.Builder setNetworkType(int);
+    method @NonNull public android.media.metrics.NetworkEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long);
+  }
+
+  public final class PlaybackErrorEvent extends android.media.metrics.Event implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getErrorCode();
+    method @IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) public int getSubErrorCode();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.PlaybackErrorEvent> CREATOR;
+    field public static final int ERROR_AUDIO_TRACK_INIT_FAILED = 17; // 0x11
+    field public static final int ERROR_AUDIO_TRACK_OTHER = 19; // 0x13
+    field public static final int ERROR_AUDIO_TRACK_WRITE_FAILED = 18; // 0x12
+    field public static final int ERROR_DECODER_INIT_FAILED = 13; // 0xd
+    field public static final int ERROR_DECODING_FAILED = 14; // 0xe
+    field public static final int ERROR_DECODING_FORMAT_EXCEEDS_CAPABILITIES = 15; // 0xf
+    field public static final int ERROR_DECODING_FORMAT_UNSUPPORTED = 35; // 0x23
+    field public static final int ERROR_DECODING_OTHER = 16; // 0x10
+    field public static final int ERROR_DRM_CONTENT_ERROR = 28; // 0x1c
+    field public static final int ERROR_DRM_DEVICE_REVOKED = 29; // 0x1d
+    field public static final int ERROR_DRM_DISALLOWED_OPERATION = 26; // 0x1a
+    field public static final int ERROR_DRM_LICENSE_ACQUISITION_FAILED = 25; // 0x19
+    field public static final int ERROR_DRM_OTHER = 30; // 0x1e
+    field public static final int ERROR_DRM_PROVISIONING_FAILED = 24; // 0x18
+    field public static final int ERROR_DRM_SCHEME_UNSUPPORTED = 23; // 0x17
+    field public static final int ERROR_DRM_SYSTEM_ERROR = 27; // 0x1b
+    field public static final int ERROR_IO_BAD_HTTP_STATUS = 5; // 0x5
+    field public static final int ERROR_IO_CONNECTION_CLOSED = 8; // 0x8
+    field public static final int ERROR_IO_CONNECTION_TIMEOUT = 7; // 0x7
+    field public static final int ERROR_IO_DNS_FAILED = 6; // 0x6
+    field public static final int ERROR_IO_FILE_NOT_FOUND = 31; // 0x1f
+    field public static final int ERROR_IO_NETWORK_CONNECTION_FAILED = 4; // 0x4
+    field public static final int ERROR_IO_NETWORK_UNAVAILABLE = 3; // 0x3
+    field public static final int ERROR_IO_NO_PERMISSION = 32; // 0x20
+    field public static final int ERROR_IO_OTHER = 9; // 0x9
+    field public static final int ERROR_OTHER = 1; // 0x1
+    field public static final int ERROR_PARSING_CONTAINER_MALFORMED = 11; // 0xb
+    field public static final int ERROR_PARSING_CONTAINER_UNSUPPORTED = 34; // 0x22
+    field public static final int ERROR_PARSING_MANIFEST_MALFORMED = 10; // 0xa
+    field public static final int ERROR_PARSING_MANIFEST_UNSUPPORTED = 33; // 0x21
+    field public static final int ERROR_PARSING_OTHER = 12; // 0xc
+    field public static final int ERROR_PLAYER_BEHIND_LIVE_WINDOW = 21; // 0x15
+    field public static final int ERROR_PLAYER_OTHER = 22; // 0x16
+    field public static final int ERROR_PLAYER_REMOTE = 20; // 0x14
+    field public static final int ERROR_RUNTIME = 2; // 0x2
+    field public static final int ERROR_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class PlaybackErrorEvent.Builder {
+    ctor public PlaybackErrorEvent.Builder();
+    method @NonNull public android.media.metrics.PlaybackErrorEvent build();
+    method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setErrorCode(int);
+    method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setException(@NonNull Exception);
+    method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setMetricsBundle(@NonNull android.os.Bundle);
+    method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setSubErrorCode(@IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long);
+  }
+
+  public final class PlaybackMetrics implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getAudioUnderrunCount();
+    method public int getContentType();
+    method @NonNull public byte[] getDrmSessionId();
+    method public int getDrmType();
+    method @NonNull public long[] getExperimentIds();
+    method @IntRange(from=0xffffffff) public long getLocalBytesRead();
+    method @IntRange(from=0xffffffff) public long getMediaDurationMillis();
+    method @NonNull public android.os.Bundle getMetricsBundle();
+    method @IntRange(from=0xffffffff) public long getNetworkBytesRead();
+    method @IntRange(from=0xffffffff) public long getNetworkTransferDurationMillis();
+    method public int getPlaybackType();
+    method @Nullable public String getPlayerName();
+    method @Nullable public String getPlayerVersion();
+    method public int getStreamSource();
+    method public int getStreamType();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getVideoFramesDropped();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getVideoFramesPlayed();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CONTENT_TYPE_AD = 2; // 0x2
+    field public static final int CONTENT_TYPE_MAIN = 1; // 0x1
+    field public static final int CONTENT_TYPE_OTHER = 3; // 0x3
+    field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.PlaybackMetrics> CREATOR;
+    field public static final int DRM_TYPE_CLEARKEY = 6; // 0x6
+    field public static final int DRM_TYPE_NONE = 0; // 0x0
+    field public static final int DRM_TYPE_OTHER = 1; // 0x1
+    field public static final int DRM_TYPE_PLAY_READY = 2; // 0x2
+    field public static final int DRM_TYPE_WIDEVINE_L1 = 3; // 0x3
+    field public static final int DRM_TYPE_WIDEVINE_L3 = 4; // 0x4
+    field public static final int DRM_TYPE_WV_L3_FALLBACK = 5; // 0x5
+    field public static final int PLAYBACK_TYPE_LIVE = 2; // 0x2
+    field public static final int PLAYBACK_TYPE_OTHER = 3; // 0x3
+    field public static final int PLAYBACK_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int PLAYBACK_TYPE_VOD = 1; // 0x1
+    field public static final int STREAM_SOURCE_DEVICE = 2; // 0x2
+    field public static final int STREAM_SOURCE_MIXED = 3; // 0x3
+    field public static final int STREAM_SOURCE_NETWORK = 1; // 0x1
+    field public static final int STREAM_SOURCE_UNKNOWN = 0; // 0x0
+    field public static final int STREAM_TYPE_DASH = 3; // 0x3
+    field public static final int STREAM_TYPE_HLS = 4; // 0x4
+    field public static final int STREAM_TYPE_OTHER = 1; // 0x1
+    field public static final int STREAM_TYPE_PROGRESSIVE = 2; // 0x2
+    field public static final int STREAM_TYPE_SS = 5; // 0x5
+    field public static final int STREAM_TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class PlaybackMetrics.Builder {
+    ctor public PlaybackMetrics.Builder();
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder addExperimentId(long);
+    method @NonNull public android.media.metrics.PlaybackMetrics build();
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setAudioUnderrunCount(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setContentType(int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setDrmSessionId(@NonNull byte[]);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setDrmType(int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setLocalBytesRead(@IntRange(from=0xffffffff) long);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setMediaDurationMillis(@IntRange(from=0xffffffff) long);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setMetricsBundle(@NonNull android.os.Bundle);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setNetworkBytesRead(@IntRange(from=0xffffffff) long);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setNetworkTransferDurationMillis(@IntRange(from=0xffffffff) long);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setPlaybackType(int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setPlayerName(@NonNull String);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setPlayerVersion(@NonNull String);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setStreamSource(int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setStreamType(int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setVideoFramesDropped(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setVideoFramesPlayed(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+  }
+
+  public final class PlaybackSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public android.media.metrics.LogSessionId getSessionId();
+    method public void reportNetworkEvent(@NonNull android.media.metrics.NetworkEvent);
+    method public void reportPlaybackErrorEvent(@NonNull android.media.metrics.PlaybackErrorEvent);
+    method public void reportPlaybackMetrics(@NonNull android.media.metrics.PlaybackMetrics);
+    method public void reportPlaybackStateEvent(@NonNull android.media.metrics.PlaybackStateEvent);
+    method public void reportTrackChangeEvent(@NonNull android.media.metrics.TrackChangeEvent);
+  }
+
+  public final class PlaybackStateEvent extends android.media.metrics.Event implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getState();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.PlaybackStateEvent> CREATOR;
+    field public static final int STATE_ABANDONED = 15; // 0xf
+    field public static final int STATE_BUFFERING = 6; // 0x6
+    field public static final int STATE_ENDED = 11; // 0xb
+    field public static final int STATE_FAILED = 13; // 0xd
+    field public static final int STATE_INTERRUPTED_BY_AD = 14; // 0xe
+    field public static final int STATE_JOINING_BACKGROUND = 1; // 0x1
+    field public static final int STATE_JOINING_FOREGROUND = 2; // 0x2
+    field public static final int STATE_NOT_STARTED = 0; // 0x0
+    field public static final int STATE_PAUSED = 4; // 0x4
+    field public static final int STATE_PAUSED_BUFFERING = 7; // 0x7
+    field public static final int STATE_PLAYING = 3; // 0x3
+    field public static final int STATE_SEEKING = 5; // 0x5
+    field public static final int STATE_STOPPED = 12; // 0xc
+    field public static final int STATE_SUPPRESSED = 9; // 0x9
+    field public static final int STATE_SUPPRESSED_BUFFERING = 10; // 0xa
+  }
+
+  public static final class PlaybackStateEvent.Builder {
+    ctor public PlaybackStateEvent.Builder();
+    method @NonNull public android.media.metrics.PlaybackStateEvent build();
+    method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setMetricsBundle(@NonNull android.os.Bundle);
+    method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setState(int);
+    method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long);
+  }
+
+  public final class RecordingSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public android.media.metrics.LogSessionId getSessionId();
+  }
+
+  public final class TrackChangeEvent extends android.media.metrics.Event implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getAudioSampleRate();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getBitrate();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getChannelCount();
+    method @Nullable public String getCodecName();
+    method @Nullable public String getContainerMimeType();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getHeight();
+    method @Nullable public String getLanguage();
+    method @Nullable public String getLanguageRegion();
+    method @Nullable public String getSampleMimeType();
+    method public int getTrackChangeReason();
+    method public int getTrackState();
+    method public int getTrackType();
+    method @FloatRange(from=0xffffffff, to=java.lang.Float.MAX_VALUE) public float getVideoFrameRate();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getWidth();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.TrackChangeEvent> CREATOR;
+    field public static final int TRACK_CHANGE_REASON_ADAPTIVE = 4; // 0x4
+    field public static final int TRACK_CHANGE_REASON_INITIAL = 2; // 0x2
+    field public static final int TRACK_CHANGE_REASON_MANUAL = 3; // 0x3
+    field public static final int TRACK_CHANGE_REASON_OTHER = 1; // 0x1
+    field public static final int TRACK_CHANGE_REASON_UNKNOWN = 0; // 0x0
+    field public static final int TRACK_STATE_OFF = 0; // 0x0
+    field public static final int TRACK_STATE_ON = 1; // 0x1
+    field public static final int TRACK_TYPE_AUDIO = 0; // 0x0
+    field public static final int TRACK_TYPE_TEXT = 2; // 0x2
+    field public static final int TRACK_TYPE_VIDEO = 1; // 0x1
+  }
+
+  public static final class TrackChangeEvent.Builder {
+    ctor public TrackChangeEvent.Builder(int);
+    method @NonNull public android.media.metrics.TrackChangeEvent build();
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setAudioSampleRate(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setBitrate(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setChannelCount(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setCodecName(@NonNull String);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setContainerMimeType(@NonNull String);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setHeight(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setLanguage(@NonNull String);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setLanguageRegion(@NonNull String);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setMetricsBundle(@NonNull android.os.Bundle);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setSampleMimeType(@NonNull String);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTrackChangeReason(int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTrackState(int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setVideoFrameRate(@FloatRange(from=0xffffffff, to=java.lang.Float.MAX_VALUE) float);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setWidth(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+  }
+
+}
+
+package android.media.midi {
+
+  public final class MidiDevice implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public android.media.midi.MidiDevice.MidiConnection connectPorts(android.media.midi.MidiInputPort, int);
+    method public android.media.midi.MidiDeviceInfo getInfo();
+    method public android.media.midi.MidiInputPort openInputPort(int);
+    method public android.media.midi.MidiOutputPort openOutputPort(int);
+  }
+
+  public class MidiDevice.MidiConnection implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+  }
+
+  public final class MidiDeviceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getId();
+    method public int getInputPortCount();
+    method public int getOutputPortCount();
+    method public android.media.midi.MidiDeviceInfo.PortInfo[] getPorts();
+    method public android.os.Bundle getProperties();
+    method public int getType();
+    method public boolean isPrivate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceInfo> CREATOR;
+    field public static final String PROPERTY_BLUETOOTH_DEVICE = "bluetooth_device";
+    field public static final String PROPERTY_MANUFACTURER = "manufacturer";
+    field public static final String PROPERTY_NAME = "name";
+    field public static final String PROPERTY_PRODUCT = "product";
+    field public static final String PROPERTY_SERIAL_NUMBER = "serial_number";
+    field public static final String PROPERTY_USB_DEVICE = "usb_device";
+    field public static final String PROPERTY_VERSION = "version";
+    field public static final int TYPE_BLUETOOTH = 3; // 0x3
+    field public static final int TYPE_USB = 1; // 0x1
+    field public static final int TYPE_VIRTUAL = 2; // 0x2
+  }
+
+  public static final class MidiDeviceInfo.PortInfo {
+    method public String getName();
+    method public int getPortNumber();
+    method public int getType();
+    field public static final int TYPE_INPUT = 1; // 0x1
+    field public static final int TYPE_OUTPUT = 2; // 0x2
+  }
+
+  public abstract class MidiDeviceService extends android.app.Service {
+    ctor public MidiDeviceService();
+    method public final android.media.midi.MidiDeviceInfo getDeviceInfo();
+    method public final android.media.midi.MidiReceiver[] getOutputPortReceivers();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onClose();
+    method public void onDeviceStatusChanged(android.media.midi.MidiDeviceStatus);
+    method public abstract android.media.midi.MidiReceiver[] onGetInputPortReceivers();
+    field public static final String SERVICE_INTERFACE = "android.media.midi.MidiDeviceService";
+  }
+
+  public final class MidiDeviceStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.midi.MidiDeviceInfo getDeviceInfo();
+    method public int getOutputPortOpenCount(int);
+    method public boolean isInputPortOpen(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceStatus> CREATOR;
+  }
+
+  public final class MidiInputPort extends android.media.midi.MidiReceiver implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public int getPortNumber();
+    method public void onSend(byte[], int, int, long) throws java.io.IOException;
+  }
+
+  public final class MidiManager {
+    method public android.media.midi.MidiDeviceInfo[] getDevices();
+    method public void openBluetoothDevice(android.bluetooth.BluetoothDevice, android.media.midi.MidiManager.OnDeviceOpenedListener, android.os.Handler);
+    method public void openDevice(android.media.midi.MidiDeviceInfo, android.media.midi.MidiManager.OnDeviceOpenedListener, android.os.Handler);
+    method public void registerDeviceCallback(android.media.midi.MidiManager.DeviceCallback, android.os.Handler);
+    method public void unregisterDeviceCallback(android.media.midi.MidiManager.DeviceCallback);
+  }
+
+  public static class MidiManager.DeviceCallback {
+    ctor public MidiManager.DeviceCallback();
+    method public void onDeviceAdded(android.media.midi.MidiDeviceInfo);
+    method public void onDeviceRemoved(android.media.midi.MidiDeviceInfo);
+    method public void onDeviceStatusChanged(android.media.midi.MidiDeviceStatus);
+  }
+
+  public static interface MidiManager.OnDeviceOpenedListener {
+    method public void onDeviceOpened(android.media.midi.MidiDevice);
+  }
+
+  public final class MidiOutputPort extends android.media.midi.MidiSender implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public int getPortNumber();
+    method public void onConnect(android.media.midi.MidiReceiver);
+    method public void onDisconnect(android.media.midi.MidiReceiver);
+  }
+
+  public abstract class MidiReceiver {
+    ctor public MidiReceiver();
+    ctor public MidiReceiver(int);
+    method public void flush() throws java.io.IOException;
+    method public final int getMaxMessageSize();
+    method public void onFlush() throws java.io.IOException;
+    method public abstract void onSend(byte[], int, int, long) throws java.io.IOException;
+    method public void send(byte[], int, int) throws java.io.IOException;
+    method public void send(byte[], int, int, long) throws java.io.IOException;
+  }
+
+  public abstract class MidiSender {
+    ctor public MidiSender();
+    method public void connect(android.media.midi.MidiReceiver);
+    method public void disconnect(android.media.midi.MidiReceiver);
+    method public abstract void onConnect(android.media.midi.MidiReceiver);
+    method public abstract void onDisconnect(android.media.midi.MidiReceiver);
+  }
+
+}
+
+package android.media.projection {
+
+  public final class MediaProjection {
+    method public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull String, int, int, int, int, @Nullable android.view.Surface, @Nullable android.hardware.display.VirtualDisplay.Callback, @Nullable android.os.Handler);
+    method public void registerCallback(android.media.projection.MediaProjection.Callback, android.os.Handler);
+    method public void stop();
+    method public void unregisterCallback(android.media.projection.MediaProjection.Callback);
+  }
+
+  public abstract static class MediaProjection.Callback {
+    ctor public MediaProjection.Callback();
+    method public void onStop();
+  }
+
+  public final class MediaProjectionManager {
+    method public android.content.Intent createScreenCaptureIntent();
+    method public android.media.projection.MediaProjection getMediaProjection(int, @NonNull android.content.Intent);
+  }
+
+}
+
+package android.media.session {
+
+  public final class MediaController {
+    ctor public MediaController(@NonNull android.content.Context, @NonNull android.media.session.MediaSession.Token);
+    method public void adjustVolume(int, int);
+    method public boolean dispatchMediaButtonEvent(@NonNull android.view.KeyEvent);
+    method @Nullable public android.os.Bundle getExtras();
+    method public long getFlags();
+    method @Nullable public android.media.MediaMetadata getMetadata();
+    method public String getPackageName();
+    method @Nullable public android.media.session.MediaController.PlaybackInfo getPlaybackInfo();
+    method @Nullable public android.media.session.PlaybackState getPlaybackState();
+    method @Nullable public java.util.List<android.media.session.MediaSession.QueueItem> getQueue();
+    method @Nullable public CharSequence getQueueTitle();
+    method public int getRatingType();
+    method @Nullable public android.app.PendingIntent getSessionActivity();
+    method @NonNull public android.os.Bundle getSessionInfo();
+    method @NonNull public android.media.session.MediaSession.Token getSessionToken();
+    method @NonNull public String getTag();
+    method @NonNull public android.media.session.MediaController.TransportControls getTransportControls();
+    method public void registerCallback(@NonNull android.media.session.MediaController.Callback);
+    method public void registerCallback(@NonNull android.media.session.MediaController.Callback, @Nullable android.os.Handler);
+    method public void sendCommand(@NonNull String, @Nullable android.os.Bundle, @Nullable android.os.ResultReceiver);
+    method public void setVolumeTo(int, int);
+    method public void unregisterCallback(@NonNull android.media.session.MediaController.Callback);
+  }
+
+  public abstract static class MediaController.Callback {
+    ctor public MediaController.Callback();
+    method public void onAudioInfoChanged(android.media.session.MediaController.PlaybackInfo);
+    method public void onExtrasChanged(@Nullable android.os.Bundle);
+    method public void onMetadataChanged(@Nullable android.media.MediaMetadata);
+    method public void onPlaybackStateChanged(@Nullable android.media.session.PlaybackState);
+    method public void onQueueChanged(@Nullable java.util.List<android.media.session.MediaSession.QueueItem>);
+    method public void onQueueTitleChanged(@Nullable CharSequence);
+    method public void onSessionDestroyed();
+    method public void onSessionEvent(@NonNull String, @Nullable android.os.Bundle);
+  }
+
+  public static final class MediaController.PlaybackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.AudioAttributes getAudioAttributes();
+    method public int getCurrentVolume();
+    method public int getMaxVolume();
+    method public int getPlaybackType();
+    method public int getVolumeControl();
+    method @Nullable public String getVolumeControlId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.session.MediaController.PlaybackInfo> CREATOR;
+    field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1
+    field public static final int PLAYBACK_TYPE_REMOTE = 2; // 0x2
+  }
+
+  public final class MediaController.TransportControls {
+    method public void fastForward();
+    method public void pause();
+    method public void play();
+    method public void playFromMediaId(String, android.os.Bundle);
+    method public void playFromSearch(String, android.os.Bundle);
+    method public void playFromUri(android.net.Uri, android.os.Bundle);
+    method public void prepare();
+    method public void prepareFromMediaId(String, android.os.Bundle);
+    method public void prepareFromSearch(String, android.os.Bundle);
+    method public void prepareFromUri(android.net.Uri, android.os.Bundle);
+    method public void rewind();
+    method public void seekTo(long);
+    method public void sendCustomAction(@NonNull android.media.session.PlaybackState.CustomAction, @Nullable android.os.Bundle);
+    method public void sendCustomAction(@NonNull String, @Nullable android.os.Bundle);
+    method public void setPlaybackSpeed(float);
+    method public void setRating(android.media.Rating);
+    method public void skipToNext();
+    method public void skipToPrevious();
+    method public void skipToQueueItem(long);
+    method public void stop();
+  }
+
+  public final class MediaSession {
+    ctor public MediaSession(@NonNull android.content.Context, @NonNull String);
+    ctor public MediaSession(@NonNull android.content.Context, @NonNull String, @Nullable android.os.Bundle);
+    method @NonNull public android.media.session.MediaController getController();
+    method @NonNull public android.media.session.MediaSessionManager.RemoteUserInfo getCurrentControllerInfo();
+    method @NonNull public android.media.session.MediaSession.Token getSessionToken();
+    method public boolean isActive();
+    method public void release();
+    method public void sendSessionEvent(@NonNull String, @Nullable android.os.Bundle);
+    method public void setActive(boolean);
+    method public void setCallback(@Nullable android.media.session.MediaSession.Callback);
+    method public void setCallback(@Nullable android.media.session.MediaSession.Callback, @Nullable android.os.Handler);
+    method public void setExtras(@Nullable android.os.Bundle);
+    method public void setFlags(int);
+    method public void setMediaButtonBroadcastReceiver(@Nullable android.content.ComponentName);
+    method @Deprecated public void setMediaButtonReceiver(@Nullable android.app.PendingIntent);
+    method public void setMetadata(@Nullable android.media.MediaMetadata);
+    method public void setPlaybackState(@Nullable android.media.session.PlaybackState);
+    method public void setPlaybackToLocal(android.media.AudioAttributes);
+    method public void setPlaybackToRemote(@NonNull android.media.VolumeProvider);
+    method public void setQueue(@Nullable java.util.List<android.media.session.MediaSession.QueueItem>);
+    method public void setQueueTitle(@Nullable CharSequence);
+    method public void setRatingType(int);
+    method public void setSessionActivity(@Nullable android.app.PendingIntent);
+    field @Deprecated public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
+    field @Deprecated public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
+  }
+
+  public abstract static class MediaSession.Callback {
+    ctor public MediaSession.Callback();
+    method public void onCommand(@NonNull String, @Nullable android.os.Bundle, @Nullable android.os.ResultReceiver);
+    method public void onCustomAction(@NonNull String, @Nullable android.os.Bundle);
+    method public void onFastForward();
+    method public boolean onMediaButtonEvent(@NonNull android.content.Intent);
+    method public void onPause();
+    method public void onPlay();
+    method public void onPlayFromMediaId(String, android.os.Bundle);
+    method public void onPlayFromSearch(String, android.os.Bundle);
+    method public void onPlayFromUri(android.net.Uri, android.os.Bundle);
+    method public void onPrepare();
+    method public void onPrepareFromMediaId(String, android.os.Bundle);
+    method public void onPrepareFromSearch(String, android.os.Bundle);
+    method public void onPrepareFromUri(android.net.Uri, android.os.Bundle);
+    method public void onRewind();
+    method public void onSeekTo(long);
+    method public void onSetPlaybackSpeed(float);
+    method public void onSetRating(@NonNull android.media.Rating);
+    method public void onSkipToNext();
+    method public void onSkipToPrevious();
+    method public void onSkipToQueueItem(long);
+    method public void onStop();
+  }
+
+  public static final class MediaSession.QueueItem implements android.os.Parcelable {
+    ctor public MediaSession.QueueItem(android.media.MediaDescription, long);
+    method public int describeContents();
+    method public android.media.MediaDescription getDescription();
+    method public long getQueueId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.session.MediaSession.QueueItem> CREATOR;
+    field public static final int UNKNOWN_ID = -1; // 0xffffffff
+  }
+
+  public static final class MediaSession.Token implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.session.MediaSession.Token> CREATOR;
+  }
+
+  public final class MediaSessionManager {
+    method public void addOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener, @Nullable android.content.ComponentName);
+    method public void addOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener, @Nullable android.content.ComponentName, @Nullable android.os.Handler);
+    method public void addOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener);
+    method public void addOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener, @NonNull android.os.Handler);
+    method @NonNull public java.util.List<android.media.session.MediaController> getActiveSessions(@Nullable android.content.ComponentName);
+    method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens();
+    method public boolean isTrustedForMediaControl(@NonNull android.media.session.MediaSessionManager.RemoteUserInfo);
+    method @Deprecated public void notifySession2Created(@NonNull android.media.Session2Token);
+    method public void removeOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener);
+    method public void removeOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener);
+  }
+
+  public static interface MediaSessionManager.OnActiveSessionsChangedListener {
+    method public void onActiveSessionsChanged(@Nullable java.util.List<android.media.session.MediaController>);
+  }
+
+  public static interface MediaSessionManager.OnSession2TokensChangedListener {
+    method public void onSession2TokensChanged(@NonNull java.util.List<android.media.Session2Token>);
+  }
+
+  public static final class MediaSessionManager.RemoteUserInfo {
+    ctor public MediaSessionManager.RemoteUserInfo(@NonNull String, int, int);
+    method public String getPackageName();
+    method public int getPid();
+    method public int getUid();
+  }
+
+  public final class PlaybackState implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getActions();
+    method public long getActiveQueueItemId();
+    method public long getBufferedPosition();
+    method public java.util.List<android.media.session.PlaybackState.CustomAction> getCustomActions();
+    method public CharSequence getErrorMessage();
+    method @Nullable public android.os.Bundle getExtras();
+    method public long getLastPositionUpdateTime();
+    method public float getPlaybackSpeed();
+    method public long getPosition();
+    method public int getState();
+    method public boolean isActive();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final long ACTION_FAST_FORWARD = 64L; // 0x40L
+    field public static final long ACTION_PAUSE = 2L; // 0x2L
+    field public static final long ACTION_PLAY = 4L; // 0x4L
+    field public static final long ACTION_PLAY_FROM_MEDIA_ID = 1024L; // 0x400L
+    field public static final long ACTION_PLAY_FROM_SEARCH = 2048L; // 0x800L
+    field public static final long ACTION_PLAY_FROM_URI = 8192L; // 0x2000L
+    field public static final long ACTION_PLAY_PAUSE = 512L; // 0x200L
+    field public static final long ACTION_PREPARE = 16384L; // 0x4000L
+    field public static final long ACTION_PREPARE_FROM_MEDIA_ID = 32768L; // 0x8000L
+    field public static final long ACTION_PREPARE_FROM_SEARCH = 65536L; // 0x10000L
+    field public static final long ACTION_PREPARE_FROM_URI = 131072L; // 0x20000L
+    field public static final long ACTION_REWIND = 8L; // 0x8L
+    field public static final long ACTION_SEEK_TO = 256L; // 0x100L
+    field public static final long ACTION_SET_PLAYBACK_SPEED = 4194304L; // 0x400000L
+    field public static final long ACTION_SET_RATING = 128L; // 0x80L
+    field public static final long ACTION_SKIP_TO_NEXT = 32L; // 0x20L
+    field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L
+    field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
+    field public static final long ACTION_STOP = 1L; // 0x1L
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.session.PlaybackState> CREATOR;
+    field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
+    field public static final int STATE_BUFFERING = 6; // 0x6
+    field public static final int STATE_CONNECTING = 8; // 0x8
+    field public static final int STATE_ERROR = 7; // 0x7
+    field public static final int STATE_FAST_FORWARDING = 4; // 0x4
+    field public static final int STATE_NONE = 0; // 0x0
+    field public static final int STATE_PAUSED = 2; // 0x2
+    field public static final int STATE_PLAYING = 3; // 0x3
+    field public static final int STATE_REWINDING = 5; // 0x5
+    field public static final int STATE_SKIPPING_TO_NEXT = 10; // 0xa
+    field public static final int STATE_SKIPPING_TO_PREVIOUS = 9; // 0x9
+    field public static final int STATE_SKIPPING_TO_QUEUE_ITEM = 11; // 0xb
+    field public static final int STATE_STOPPED = 1; // 0x1
+  }
+
+  public static final class PlaybackState.Builder {
+    ctor public PlaybackState.Builder();
+    ctor public PlaybackState.Builder(android.media.session.PlaybackState);
+    method public android.media.session.PlaybackState.Builder addCustomAction(String, String, int);
+    method public android.media.session.PlaybackState.Builder addCustomAction(android.media.session.PlaybackState.CustomAction);
+    method public android.media.session.PlaybackState build();
+    method public android.media.session.PlaybackState.Builder setActions(long);
+    method public android.media.session.PlaybackState.Builder setActiveQueueItemId(long);
+    method public android.media.session.PlaybackState.Builder setBufferedPosition(long);
+    method public android.media.session.PlaybackState.Builder setErrorMessage(CharSequence);
+    method public android.media.session.PlaybackState.Builder setExtras(android.os.Bundle);
+    method public android.media.session.PlaybackState.Builder setState(int, long, float, long);
+    method public android.media.session.PlaybackState.Builder setState(int, long, float);
+  }
+
+  public static final class PlaybackState.CustomAction implements android.os.Parcelable {
+    method public int describeContents();
+    method public String getAction();
+    method public android.os.Bundle getExtras();
+    method public int getIcon();
+    method public CharSequence getName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.session.PlaybackState.CustomAction> CREATOR;
+  }
+
+  public static final class PlaybackState.CustomAction.Builder {
+    ctor public PlaybackState.CustomAction.Builder(String, CharSequence, @DrawableRes int);
+    method public android.media.session.PlaybackState.CustomAction build();
+    method public android.media.session.PlaybackState.CustomAction.Builder setExtras(android.os.Bundle);
+  }
+
+}
+
+package android.media.tv {
+
+  public final class TvContentRating {
+    method public boolean contains(@NonNull android.media.tv.TvContentRating);
+    method public static android.media.tv.TvContentRating createRating(String, String, String, java.lang.String...);
+    method public String flattenToString();
+    method public String getDomain();
+    method public String getMainRating();
+    method public String getRatingSystem();
+    method public java.util.List<java.lang.String> getSubRatings();
+    method public static android.media.tv.TvContentRating unflattenFromString(String);
+    field public static final android.media.tv.TvContentRating UNRATED;
+  }
+
+  public final class TvContract {
+    method public static android.net.Uri buildChannelLogoUri(long);
+    method public static android.net.Uri buildChannelLogoUri(android.net.Uri);
+    method public static android.net.Uri buildChannelUri(long);
+    method public static android.net.Uri buildChannelUriForPassthroughInput(String);
+    method public static android.net.Uri buildChannelsUriForInput(@Nullable String);
+    method public static String buildInputId(android.content.ComponentName);
+    method public static android.net.Uri buildPreviewProgramUri(long);
+    method public static android.net.Uri buildPreviewProgramsUriForChannel(long);
+    method public static android.net.Uri buildPreviewProgramsUriForChannel(android.net.Uri);
+    method public static android.net.Uri buildProgramUri(long);
+    method public static android.net.Uri buildProgramsUriForChannel(long);
+    method public static android.net.Uri buildProgramsUriForChannel(android.net.Uri);
+    method public static android.net.Uri buildProgramsUriForChannel(long, long, long);
+    method public static android.net.Uri buildProgramsUriForChannel(android.net.Uri, long, long);
+    method public static android.net.Uri buildRecordedProgramUri(long);
+    method public static android.net.Uri buildWatchNextProgramUri(long);
+    method public static boolean isChannelUri(@NonNull android.net.Uri);
+    method public static boolean isChannelUriForPassthroughInput(@NonNull android.net.Uri);
+    method public static boolean isChannelUriForTunerInput(@NonNull android.net.Uri);
+    method public static boolean isProgramUri(@NonNull android.net.Uri);
+    method public static boolean isRecordedProgramUri(@NonNull android.net.Uri);
+    method public static void requestChannelBrowsable(android.content.Context, long);
+    field public static final String ACTION_INITIALIZE_PROGRAMS = "android.media.tv.action.INITIALIZE_PROGRAMS";
+    field public static final String ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT = "android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT";
+    field public static final String ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED";
+    field public static final String ACTION_REQUEST_CHANNEL_BROWSABLE = "android.media.tv.action.REQUEST_CHANNEL_BROWSABLE";
+    field public static final String ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED";
+    field public static final String AUTHORITY = "android.media.tv";
+    field public static final String EXTRA_CHANNEL_ID = "android.media.tv.extra.CHANNEL_ID";
+    field public static final String EXTRA_PREVIEW_PROGRAM_ID = "android.media.tv.extra.PREVIEW_PROGRAM_ID";
+    field public static final String EXTRA_WATCH_NEXT_PROGRAM_ID = "android.media.tv.extra.WATCH_NEXT_PROGRAM_ID";
+  }
+
+  public static interface TvContract.BaseTvColumns extends android.provider.BaseColumns {
+    field public static final String COLUMN_PACKAGE_NAME = "package_name";
+  }
+
+  public static final class TvContract.Channels implements android.media.tv.TvContract.BaseTvColumns {
+    method @Nullable public static String getVideoResolution(String);
+    field public static final String COLUMN_APP_LINK_COLOR = "app_link_color";
+    field public static final String COLUMN_APP_LINK_ICON_URI = "app_link_icon_uri";
+    field public static final String COLUMN_APP_LINK_INTENT_URI = "app_link_intent_uri";
+    field public static final String COLUMN_APP_LINK_POSTER_ART_URI = "app_link_poster_art_uri";
+    field public static final String COLUMN_APP_LINK_TEXT = "app_link_text";
+    field public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre";
+    field public static final String COLUMN_BROWSABLE = "browsable";
+    field public static final String COLUMN_CHANNEL_LIST_ID = "channel_list_id";
+    field public static final String COLUMN_DESCRIPTION = "description";
+    field public static final String COLUMN_DISPLAY_NAME = "display_name";
+    field public static final String COLUMN_DISPLAY_NUMBER = "display_number";
+    field public static final String COLUMN_GLOBAL_CONTENT_ID = "global_content_id";
+    field public static final String COLUMN_INPUT_ID = "input_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id";
+    field public static final String COLUMN_LOCKED = "locked";
+    field public static final String COLUMN_NETWORK_AFFILIATION = "network_affiliation";
+    field public static final String COLUMN_ORIGINAL_NETWORK_ID = "original_network_id";
+    field public static final String COLUMN_REMOTE_CONTROL_KEY_PRESET_NUMBER = "remote_control_key_preset_number";
+    field public static final String COLUMN_SCRAMBLED = "scrambled";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SERVICE_ID = "service_id";
+    field public static final String COLUMN_SERVICE_TYPE = "service_type";
+    field public static final String COLUMN_TRANSIENT = "transient";
+    field public static final String COLUMN_TRANSPORT_STREAM_ID = "transport_stream_id";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_FORMAT = "video_format";
+    field public static final String COLUMN_VIDEO_RESOLUTION = "video_resolution";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/channel";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/channel";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String SERVICE_TYPE_AUDIO = "SERVICE_TYPE_AUDIO";
+    field public static final String SERVICE_TYPE_AUDIO_VIDEO = "SERVICE_TYPE_AUDIO_VIDEO";
+    field public static final String SERVICE_TYPE_OTHER = "SERVICE_TYPE_OTHER";
+    field public static final String TYPE_1SEG = "TYPE_1SEG";
+    field public static final String TYPE_ATSC3_T = "TYPE_ATSC3_T";
+    field public static final String TYPE_ATSC_C = "TYPE_ATSC_C";
+    field public static final String TYPE_ATSC_M_H = "TYPE_ATSC_M_H";
+    field public static final String TYPE_ATSC_T = "TYPE_ATSC_T";
+    field public static final String TYPE_CMMB = "TYPE_CMMB";
+    field public static final String TYPE_DTMB = "TYPE_DTMB";
+    field public static final String TYPE_DVB_C = "TYPE_DVB_C";
+    field public static final String TYPE_DVB_C2 = "TYPE_DVB_C2";
+    field public static final String TYPE_DVB_H = "TYPE_DVB_H";
+    field public static final String TYPE_DVB_S = "TYPE_DVB_S";
+    field public static final String TYPE_DVB_S2 = "TYPE_DVB_S2";
+    field public static final String TYPE_DVB_SH = "TYPE_DVB_SH";
+    field public static final String TYPE_DVB_T = "TYPE_DVB_T";
+    field public static final String TYPE_DVB_T2 = "TYPE_DVB_T2";
+    field public static final String TYPE_ISDB_C = "TYPE_ISDB_C";
+    field public static final String TYPE_ISDB_S = "TYPE_ISDB_S";
+    field public static final String TYPE_ISDB_S3 = "TYPE_ISDB_S3";
+    field public static final String TYPE_ISDB_T = "TYPE_ISDB_T";
+    field public static final String TYPE_ISDB_TB = "TYPE_ISDB_TB";
+    field public static final String TYPE_NTSC = "TYPE_NTSC";
+    field public static final String TYPE_OTHER = "TYPE_OTHER";
+    field public static final String TYPE_PAL = "TYPE_PAL";
+    field public static final String TYPE_PREVIEW = "TYPE_PREVIEW";
+    field public static final String TYPE_SECAM = "TYPE_SECAM";
+    field public static final String TYPE_S_DMB = "TYPE_S_DMB";
+    field public static final String TYPE_T_DMB = "TYPE_T_DMB";
+    field public static final String VIDEO_FORMAT_1080I = "VIDEO_FORMAT_1080I";
+    field public static final String VIDEO_FORMAT_1080P = "VIDEO_FORMAT_1080P";
+    field public static final String VIDEO_FORMAT_2160P = "VIDEO_FORMAT_2160P";
+    field public static final String VIDEO_FORMAT_240P = "VIDEO_FORMAT_240P";
+    field public static final String VIDEO_FORMAT_360P = "VIDEO_FORMAT_360P";
+    field public static final String VIDEO_FORMAT_4320P = "VIDEO_FORMAT_4320P";
+    field public static final String VIDEO_FORMAT_480I = "VIDEO_FORMAT_480I";
+    field public static final String VIDEO_FORMAT_480P = "VIDEO_FORMAT_480P";
+    field public static final String VIDEO_FORMAT_576I = "VIDEO_FORMAT_576I";
+    field public static final String VIDEO_FORMAT_576P = "VIDEO_FORMAT_576P";
+    field public static final String VIDEO_FORMAT_720P = "VIDEO_FORMAT_720P";
+    field public static final String VIDEO_RESOLUTION_ED = "VIDEO_RESOLUTION_ED";
+    field public static final String VIDEO_RESOLUTION_FHD = "VIDEO_RESOLUTION_FHD";
+    field public static final String VIDEO_RESOLUTION_HD = "VIDEO_RESOLUTION_HD";
+    field public static final String VIDEO_RESOLUTION_SD = "VIDEO_RESOLUTION_SD";
+    field public static final String VIDEO_RESOLUTION_UHD = "VIDEO_RESOLUTION_UHD";
+  }
+
+  public static final class TvContract.Channels.Logo {
+    field public static final String CONTENT_DIRECTORY = "logo";
+  }
+
+  public static final class TvContract.PreviewPrograms implements android.media.tv.TvContract.BaseTvColumns {
+    field public static final int ASPECT_RATIO_16_9 = 0; // 0x0
+    field public static final int ASPECT_RATIO_1_1 = 3; // 0x3
+    field public static final int ASPECT_RATIO_2_3 = 4; // 0x4
+    field public static final int ASPECT_RATIO_3_2 = 1; // 0x1
+    field public static final int ASPECT_RATIO_4_3 = 2; // 0x2
+    field public static final int AVAILABILITY_AVAILABLE = 0; // 0x0
+    field public static final int AVAILABILITY_FREE_WITH_SUBSCRIPTION = 1; // 0x1
+    field public static final int AVAILABILITY_PAID_CONTENT = 2; // 0x2
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_AUTHOR = "author";
+    field public static final String COLUMN_AVAILABILITY = "availability";
+    field public static final String COLUMN_BROWSABLE = "browsable";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_ID = "content_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_DURATION_MILLIS = "duration_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INTENT_URI = "intent_uri";
+    field public static final String COLUMN_INTERACTION_COUNT = "interaction_count";
+    field public static final String COLUMN_INTERACTION_TYPE = "interaction_type";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id";
+    field public static final String COLUMN_ITEM_COUNT = "item_count";
+    field public static final String COLUMN_LAST_PLAYBACK_POSITION_MILLIS = "last_playback_position_millis";
+    field public static final String COLUMN_LIVE = "live";
+    field public static final String COLUMN_LOGO_URI = "logo_uri";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_OFFER_PRICE = "offer_price";
+    field public static final String COLUMN_POSTER_ART_ASPECT_RATIO = "poster_art_aspect_ratio";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_PREVIEW_VIDEO_URI = "preview_video_uri";
+    field public static final String COLUMN_RELEASE_DATE = "release_date";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_SPLIT_ID = "split_id";
+    field public static final String COLUMN_STARTING_PRICE = "starting_price";
+    field public static final String COLUMN_THUMBNAIL_ASPECT_RATIO = "poster_thumbnail_aspect_ratio";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_TRANSIENT = "transient";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String COLUMN_WEIGHT = "weight";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/preview_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/preview_program";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final int INTERACTION_TYPE_FANS = 3; // 0x3
+    field public static final int INTERACTION_TYPE_FOLLOWERS = 2; // 0x2
+    field public static final int INTERACTION_TYPE_LIKES = 4; // 0x4
+    field public static final int INTERACTION_TYPE_LISTENS = 1; // 0x1
+    field public static final int INTERACTION_TYPE_THUMBS = 5; // 0x5
+    field public static final int INTERACTION_TYPE_VIEWERS = 6; // 0x6
+    field public static final int INTERACTION_TYPE_VIEWS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+    field public static final int TYPE_ALBUM = 8; // 0x8
+    field public static final int TYPE_ARTIST = 9; // 0x9
+    field public static final int TYPE_CHANNEL = 6; // 0x6
+    field public static final int TYPE_CLIP = 4; // 0x4
+    field public static final int TYPE_EVENT = 5; // 0x5
+    field public static final int TYPE_MOVIE = 0; // 0x0
+    field public static final int TYPE_PLAYLIST = 10; // 0xa
+    field public static final int TYPE_STATION = 11; // 0xb
+    field public static final int TYPE_TRACK = 7; // 0x7
+    field public static final int TYPE_TV_EPISODE = 3; // 0x3
+    field public static final int TYPE_TV_SEASON = 2; // 0x2
+    field public static final int TYPE_TV_SERIES = 1; // 0x1
+  }
+
+  public static final class TvContract.Programs implements android.media.tv.TvContract.BaseTvColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field @Deprecated public static final String COLUMN_EPISODE_NUMBER = "episode_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_EVENT_ID = "event_id";
+    field public static final String COLUMN_GLOBAL_CONTENT_ID = "global_content_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_RECORDING_PROHIBITED = "recording_prohibited";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field @Deprecated public static final String COLUMN_SEASON_NUMBER = "season_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_SPLIT_ID = "split_id";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/program";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+  }
+
+  public static final class TvContract.Programs.Genres {
+    method public static String[] decode(@NonNull String);
+    method public static String encode(@NonNull java.lang.String...);
+    method public static boolean isCanonical(String);
+    field public static final String ANIMAL_WILDLIFE = "ANIMAL_WILDLIFE";
+    field public static final String ARTS = "ARTS";
+    field public static final String COMEDY = "COMEDY";
+    field public static final String DRAMA = "DRAMA";
+    field public static final String EDUCATION = "EDUCATION";
+    field public static final String ENTERTAINMENT = "ENTERTAINMENT";
+    field public static final String FAMILY_KIDS = "FAMILY_KIDS";
+    field public static final String GAMING = "GAMING";
+    field public static final String LIFE_STYLE = "LIFE_STYLE";
+    field public static final String MOVIES = "MOVIES";
+    field public static final String MUSIC = "MUSIC";
+    field public static final String NEWS = "NEWS";
+    field public static final String PREMIER = "PREMIER";
+    field public static final String SHOPPING = "SHOPPING";
+    field public static final String SPORTS = "SPORTS";
+    field public static final String TECH_SCIENCE = "TECH_SCIENCE";
+    field public static final String TRAVEL = "TRAVEL";
+  }
+
+  public static final class TvContract.RecordedPrograms implements android.media.tv.TvContract.BaseTvColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INPUT_ID = "input_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_RECORDING_DATA_BYTES = "recording_data_bytes";
+    field public static final String COLUMN_RECORDING_DATA_URI = "recording_data_uri";
+    field public static final String COLUMN_RECORDING_DURATION_MILLIS = "recording_duration_millis";
+    field public static final String COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS = "recording_expire_time_utc_millis";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_SPLIT_ID = "split_id";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/recorded_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/recorded_program";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+  }
+
+  public static final class TvContract.WatchNextPrograms implements android.media.tv.TvContract.BaseTvColumns {
+    field public static final int ASPECT_RATIO_16_9 = 0; // 0x0
+    field public static final int ASPECT_RATIO_1_1 = 3; // 0x3
+    field public static final int ASPECT_RATIO_2_3 = 4; // 0x4
+    field public static final int ASPECT_RATIO_3_2 = 1; // 0x1
+    field public static final int ASPECT_RATIO_4_3 = 2; // 0x2
+    field public static final int AVAILABILITY_AVAILABLE = 0; // 0x0
+    field public static final int AVAILABILITY_FREE_WITH_SUBSCRIPTION = 1; // 0x1
+    field public static final int AVAILABILITY_PAID_CONTENT = 2; // 0x2
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_AUTHOR = "author";
+    field public static final String COLUMN_AVAILABILITY = "availability";
+    field public static final String COLUMN_BROWSABLE = "browsable";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CONTENT_ID = "content_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_DURATION_MILLIS = "duration_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INTENT_URI = "intent_uri";
+    field public static final String COLUMN_INTERACTION_COUNT = "interaction_count";
+    field public static final String COLUMN_INTERACTION_TYPE = "interaction_type";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id";
+    field public static final String COLUMN_ITEM_COUNT = "item_count";
+    field public static final String COLUMN_LAST_ENGAGEMENT_TIME_UTC_MILLIS = "last_engagement_time_utc_millis";
+    field public static final String COLUMN_LAST_PLAYBACK_POSITION_MILLIS = "last_playback_position_millis";
+    field public static final String COLUMN_LIVE = "live";
+    field public static final String COLUMN_LOGO_URI = "logo_uri";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_OFFER_PRICE = "offer_price";
+    field public static final String COLUMN_POSTER_ART_ASPECT_RATIO = "poster_art_aspect_ratio";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_PREVIEW_VIDEO_URI = "preview_video_uri";
+    field public static final String COLUMN_RELEASE_DATE = "release_date";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_SPLIT_ID = "split_id";
+    field public static final String COLUMN_STARTING_PRICE = "starting_price";
+    field public static final String COLUMN_THUMBNAIL_ASPECT_RATIO = "poster_thumbnail_aspect_ratio";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_TRANSIENT = "transient";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String COLUMN_WATCH_NEXT_TYPE = "watch_next_type";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watch_next_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watch_next_program";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final int INTERACTION_TYPE_FANS = 3; // 0x3
+    field public static final int INTERACTION_TYPE_FOLLOWERS = 2; // 0x2
+    field public static final int INTERACTION_TYPE_LIKES = 4; // 0x4
+    field public static final int INTERACTION_TYPE_LISTENS = 1; // 0x1
+    field public static final int INTERACTION_TYPE_THUMBS = 5; // 0x5
+    field public static final int INTERACTION_TYPE_VIEWERS = 6; // 0x6
+    field public static final int INTERACTION_TYPE_VIEWS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+    field public static final int TYPE_ALBUM = 8; // 0x8
+    field public static final int TYPE_ARTIST = 9; // 0x9
+    field public static final int TYPE_CHANNEL = 6; // 0x6
+    field public static final int TYPE_CLIP = 4; // 0x4
+    field public static final int TYPE_EVENT = 5; // 0x5
+    field public static final int TYPE_MOVIE = 0; // 0x0
+    field public static final int TYPE_PLAYLIST = 10; // 0xa
+    field public static final int TYPE_STATION = 11; // 0xb
+    field public static final int TYPE_TRACK = 7; // 0x7
+    field public static final int TYPE_TV_EPISODE = 3; // 0x3
+    field public static final int TYPE_TV_SEASON = 2; // 0x2
+    field public static final int TYPE_TV_SERIES = 1; // 0x1
+    field public static final int WATCH_NEXT_TYPE_CONTINUE = 0; // 0x0
+    field public static final int WATCH_NEXT_TYPE_NEW = 2; // 0x2
+    field public static final int WATCH_NEXT_TYPE_NEXT = 1; // 0x1
+    field public static final int WATCH_NEXT_TYPE_WATCHLIST = 3; // 0x3
+  }
+
+  public final class TvInputInfo implements android.os.Parcelable {
+    method public boolean canPauseRecording();
+    method public boolean canRecord();
+    method @Deprecated public android.content.Intent createSettingsIntent();
+    method public android.content.Intent createSetupIntent();
+    method public int describeContents();
+    method public android.os.Bundle getExtras();
+    method public String getId();
+    method public String getParentId();
+    method public android.content.pm.ServiceInfo getServiceInfo();
+    method public int getTunerCount();
+    method public int getType();
+    method public boolean isHidden(android.content.Context);
+    method public boolean isPassthroughInput();
+    method public CharSequence loadCustomLabel(android.content.Context);
+    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context);
+    method public CharSequence loadLabel(@NonNull android.content.Context);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputInfo> CREATOR;
+    field public static final String EXTRA_INPUT_ID = "android.media.tv.extra.INPUT_ID";
+    field public static final int TYPE_COMPONENT = 1004; // 0x3ec
+    field public static final int TYPE_COMPOSITE = 1001; // 0x3e9
+    field public static final int TYPE_DISPLAY_PORT = 1008; // 0x3f0
+    field public static final int TYPE_DVI = 1006; // 0x3ee
+    field public static final int TYPE_HDMI = 1007; // 0x3ef
+    field public static final int TYPE_OTHER = 1000; // 0x3e8
+    field public static final int TYPE_SCART = 1003; // 0x3eb
+    field public static final int TYPE_SVIDEO = 1002; // 0x3ea
+    field public static final int TYPE_TUNER = 0; // 0x0
+    field public static final int TYPE_VGA = 1005; // 0x3ed
+  }
+
+  public static final class TvInputInfo.Builder {
+    ctor public TvInputInfo.Builder(android.content.Context, android.content.ComponentName);
+    method public android.media.tv.TvInputInfo build();
+    method @NonNull public android.media.tv.TvInputInfo.Builder setCanPauseRecording(boolean);
+    method public android.media.tv.TvInputInfo.Builder setCanRecord(boolean);
+    method public android.media.tv.TvInputInfo.Builder setExtras(android.os.Bundle);
+    method public android.media.tv.TvInputInfo.Builder setTunerCount(int);
+  }
+
+  public final class TvInputManager {
+    method public java.util.List<android.media.tv.TvContentRating> getBlockedRatings();
+    method public int getInputState(@NonNull String);
+    method @Nullable public android.media.tv.TvInputInfo getTvInputInfo(@NonNull String);
+    method public java.util.List<android.media.tv.TvInputInfo> getTvInputList();
+    method public boolean isParentalControlsEnabled();
+    method public boolean isRatingBlocked(@NonNull android.media.tv.TvContentRating);
+    method public void registerCallback(@NonNull android.media.tv.TvInputManager.TvInputCallback, @NonNull android.os.Handler);
+    method public void unregisterCallback(@NonNull android.media.tv.TvInputManager.TvInputCallback);
+    method public void updateTvInputInfo(@NonNull android.media.tv.TvInputInfo);
+    field public static final String ACTION_BLOCKED_RATINGS_CHANGED = "android.media.tv.action.BLOCKED_RATINGS_CHANGED";
+    field public static final String ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED = "android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED";
+    field public static final String ACTION_QUERY_CONTENT_RATING_SYSTEMS = "android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS";
+    field public static final String ACTION_SETUP_INPUTS = "android.media.tv.action.SETUP_INPUTS";
+    field public static final String ACTION_VIEW_RECORDING_SCHEDULES = "android.media.tv.action.VIEW_RECORDING_SCHEDULES";
+    field public static final int INPUT_STATE_CONNECTED = 0; // 0x0
+    field public static final int INPUT_STATE_CONNECTED_STANDBY = 1; // 0x1
+    field public static final int INPUT_STATE_DISCONNECTED = 2; // 0x2
+    field public static final String META_DATA_CONTENT_RATING_SYSTEMS = "android.media.tv.metadata.CONTENT_RATING_SYSTEMS";
+    field public static final int RECORDING_ERROR_INSUFFICIENT_SPACE = 1; // 0x1
+    field public static final int RECORDING_ERROR_RESOURCE_BUSY = 2; // 0x2
+    field public static final int RECORDING_ERROR_UNKNOWN = 0; // 0x0
+    field public static final long TIME_SHIFT_INVALID_TIME = -9223372036854775808L; // 0x8000000000000000L
+    field public static final int TIME_SHIFT_STATUS_AVAILABLE = 3; // 0x3
+    field public static final int TIME_SHIFT_STATUS_UNAVAILABLE = 2; // 0x2
+    field public static final int TIME_SHIFT_STATUS_UNKNOWN = 0; // 0x0
+    field public static final int TIME_SHIFT_STATUS_UNSUPPORTED = 1; // 0x1
+    field public static final int VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY = 4; // 0x4
+    field public static final int VIDEO_UNAVAILABLE_REASON_BUFFERING = 3; // 0x3
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT = 16; // 0x10
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID = 15; // 0xf
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE = 14; // 0xe
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_INSUFFICIENT_OUTPUT_PROTECTION = 7; // 0x7
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_LICENSE_EXPIRED = 10; // 0xa
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION = 11; // 0xb
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING = 12; // 0xc
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD = 13; // 0xd
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_PVR_RECORDING_NOT_ALLOWED = 8; // 0x8
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING = 17; // 0x11
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN = 18; // 0x12
+    field public static final int VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE = 6; // 0x6
+    field public static final int VIDEO_UNAVAILABLE_REASON_NOT_CONNECTED = 5; // 0x5
+    field public static final int VIDEO_UNAVAILABLE_REASON_TUNING = 1; // 0x1
+    field public static final int VIDEO_UNAVAILABLE_REASON_UNKNOWN = 0; // 0x0
+    field public static final int VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL = 2; // 0x2
+  }
+
+  public abstract static class TvInputManager.TvInputCallback {
+    ctor public TvInputManager.TvInputCallback();
+    method public void onInputAdded(String);
+    method public void onInputRemoved(String);
+    method public void onInputStateChanged(String, int);
+    method public void onInputUpdated(String);
+    method public void onTvInputInfoUpdated(android.media.tv.TvInputInfo);
+  }
+
+  public abstract class TvInputService extends android.app.Service {
+    ctor public TvInputService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public android.media.tv.TvInputService.RecordingSession onCreateRecordingSession(@NonNull String);
+    method @Nullable public android.media.tv.TvInputService.RecordingSession onCreateRecordingSession(@NonNull String, @NonNull String);
+    method @Nullable public abstract android.media.tv.TvInputService.Session onCreateSession(@NonNull String);
+    method @Nullable public android.media.tv.TvInputService.Session onCreateSession(@NonNull String, @NonNull String);
+    field public static final int PRIORITY_HINT_USE_CASE_TYPE_BACKGROUND = 100; // 0x64
+    field public static final int PRIORITY_HINT_USE_CASE_TYPE_LIVE = 400; // 0x190
+    field public static final int PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK = 300; // 0x12c
+    field public static final int PRIORITY_HINT_USE_CASE_TYPE_RECORD = 500; // 0x1f4
+    field public static final int PRIORITY_HINT_USE_CASE_TYPE_SCAN = 200; // 0xc8
+    field public static final String SERVICE_INTERFACE = "android.media.tv.TvInputService";
+    field public static final String SERVICE_META_DATA = "android.media.tv.input";
+  }
+
+  public abstract static class TvInputService.HardwareSession extends android.media.tv.TvInputService.Session {
+    ctor public TvInputService.HardwareSession(android.content.Context);
+    method public abstract String getHardwareInputId();
+    method public void onHardwareVideoAvailable();
+    method public void onHardwareVideoUnavailable(int);
+    method public final boolean onSetSurface(android.view.Surface);
+  }
+
+  public abstract static class TvInputService.RecordingSession {
+    ctor public TvInputService.RecordingSession(android.content.Context);
+    method public void notifyError(int);
+    method public void notifyRecordingStopped(android.net.Uri);
+    method public void notifyTuned(android.net.Uri);
+    method public void onAppPrivateCommand(@NonNull String, android.os.Bundle);
+    method public void onPauseRecording(@NonNull android.os.Bundle);
+    method public abstract void onRelease();
+    method public void onResumeRecording(@NonNull android.os.Bundle);
+    method public abstract void onStartRecording(@Nullable android.net.Uri);
+    method public void onStartRecording(@Nullable android.net.Uri, @NonNull android.os.Bundle);
+    method public abstract void onStopRecording();
+    method public abstract void onTune(android.net.Uri);
+    method public void onTune(android.net.Uri, android.os.Bundle);
+  }
+
+  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
+    ctor public TvInputService.Session(android.content.Context);
+    method public void layoutSurface(int, int, int, int);
+    method public void notifyChannelRetuned(android.net.Uri);
+    method public void notifyContentAllowed();
+    method public void notifyContentBlocked(@NonNull android.media.tv.TvContentRating);
+    method public void notifyTimeShiftStatusChanged(int);
+    method public void notifyTrackSelected(int, String);
+    method public void notifyTracksChanged(java.util.List<android.media.tv.TvTrackInfo>);
+    method public void notifyVideoAvailable();
+    method public void notifyVideoUnavailable(int);
+    method public void onAppPrivateCommand(@NonNull String, android.os.Bundle);
+    method public android.view.View onCreateOverlayView();
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public void onOverlayViewSizeChanged(int, int);
+    method public abstract void onRelease();
+    method public boolean onSelectTrack(int, @Nullable String);
+    method public abstract void onSetCaptionEnabled(boolean);
+    method public abstract void onSetStreamVolume(@FloatRange(from=0.0, to=1.0) float);
+    method public abstract boolean onSetSurface(@Nullable android.view.Surface);
+    method public void onSurfaceChanged(int, int, int);
+    method public long onTimeShiftGetCurrentPosition();
+    method public long onTimeShiftGetStartPosition();
+    method public void onTimeShiftPause();
+    method public void onTimeShiftPlay(android.net.Uri);
+    method public void onTimeShiftResume();
+    method public void onTimeShiftSeekTo(long);
+    method public void onTimeShiftSetPlaybackParams(android.media.PlaybackParams);
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.view.MotionEvent);
+    method public abstract boolean onTune(android.net.Uri);
+    method public boolean onTune(android.net.Uri, android.os.Bundle);
+    method public void onUnblockContent(android.media.tv.TvContentRating);
+    method public void setOverlayViewEnabled(boolean);
+  }
+
+  public class TvRecordingClient {
+    ctor public TvRecordingClient(android.content.Context, String, @NonNull android.media.tv.TvRecordingClient.RecordingCallback, android.os.Handler);
+    method public void pauseRecording();
+    method public void pauseRecording(@NonNull android.os.Bundle);
+    method public void release();
+    method public void resumeRecording();
+    method public void resumeRecording(@NonNull android.os.Bundle);
+    method public void sendAppPrivateCommand(@NonNull String, android.os.Bundle);
+    method public void startRecording(@Nullable android.net.Uri);
+    method public void startRecording(@Nullable android.net.Uri, @NonNull android.os.Bundle);
+    method public void stopRecording();
+    method public void tune(String, android.net.Uri);
+    method public void tune(String, android.net.Uri, android.os.Bundle);
+  }
+
+  public abstract static class TvRecordingClient.RecordingCallback {
+    ctor public TvRecordingClient.RecordingCallback();
+    method public void onConnectionFailed(String);
+    method public void onDisconnected(String);
+    method public void onError(int);
+    method public void onRecordingStopped(android.net.Uri);
+    method public void onTuned(android.net.Uri);
+  }
+
+  public final class TvTrackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAudioChannelCount();
+    method public int getAudioSampleRate();
+    method public CharSequence getDescription();
+    method @Nullable public String getEncoding();
+    method public android.os.Bundle getExtra();
+    method public String getId();
+    method public String getLanguage();
+    method public int getType();
+    method public byte getVideoActiveFormatDescription();
+    method public float getVideoFrameRate();
+    method public int getVideoHeight();
+    method public float getVideoPixelAspectRatio();
+    method public int getVideoWidth();
+    method public boolean isAudioDescription();
+    method public boolean isEncrypted();
+    method public boolean isHardOfHearing();
+    method public boolean isSpokenSubtitle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvTrackInfo> CREATOR;
+    field public static final int TYPE_AUDIO = 0; // 0x0
+    field public static final int TYPE_SUBTITLE = 2; // 0x2
+    field public static final int TYPE_VIDEO = 1; // 0x1
+  }
+
+  public static final class TvTrackInfo.Builder {
+    ctor public TvTrackInfo.Builder(int, @NonNull String);
+    method @NonNull public android.media.tv.TvTrackInfo build();
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setAudioChannelCount(int);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setAudioDescription(boolean);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setAudioSampleRate(int);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setDescription(@NonNull CharSequence);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setEncoding(@Nullable String);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setEncrypted(boolean);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setExtra(@NonNull android.os.Bundle);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setHardOfHearing(boolean);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setLanguage(@NonNull String);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setSpokenSubtitle(boolean);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoActiveFormatDescription(byte);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoFrameRate(float);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoHeight(int);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoPixelAspectRatio(float);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoWidth(int);
+  }
+
+  public class TvView extends android.view.ViewGroup {
+    ctor public TvView(android.content.Context);
+    ctor public TvView(android.content.Context, android.util.AttributeSet);
+    ctor public TvView(android.content.Context, android.util.AttributeSet, int);
+    method public boolean dispatchUnhandledInputEvent(android.view.InputEvent);
+    method public String getSelectedTrack(int);
+    method public java.util.List<android.media.tv.TvTrackInfo> getTracks(int);
+    method public boolean onUnhandledInputEvent(android.view.InputEvent);
+    method public void reset();
+    method public void selectTrack(int, String);
+    method public void sendAppPrivateCommand(@NonNull String, android.os.Bundle);
+    method public void setCallback(@Nullable android.media.tv.TvView.TvInputCallback);
+    method public void setCaptionEnabled(boolean);
+    method public void setOnUnhandledInputEventListener(android.media.tv.TvView.OnUnhandledInputEventListener);
+    method public void setStreamVolume(@FloatRange(from=0.0, to=1.0) float);
+    method public void setTimeShiftPositionCallback(@Nullable android.media.tv.TvView.TimeShiftPositionCallback);
+    method public void setZOrderMediaOverlay(boolean);
+    method public void setZOrderOnTop(boolean);
+    method public void timeShiftPause();
+    method public void timeShiftPlay(String, android.net.Uri);
+    method public void timeShiftResume();
+    method public void timeShiftSeekTo(long);
+    method public void timeShiftSetPlaybackParams(@NonNull android.media.PlaybackParams);
+    method public void tune(@NonNull String, android.net.Uri);
+    method public void tune(String, android.net.Uri, android.os.Bundle);
+  }
+
+  public static interface TvView.OnUnhandledInputEventListener {
+    method public boolean onUnhandledInputEvent(android.view.InputEvent);
+  }
+
+  public abstract static class TvView.TimeShiftPositionCallback {
+    ctor public TvView.TimeShiftPositionCallback();
+    method public void onTimeShiftCurrentPositionChanged(String, long);
+    method public void onTimeShiftStartPositionChanged(String, long);
+  }
+
+  public abstract static class TvView.TvInputCallback {
+    ctor public TvView.TvInputCallback();
+    method public void onChannelRetuned(String, android.net.Uri);
+    method public void onConnectionFailed(String);
+    method public void onContentAllowed(String);
+    method public void onContentBlocked(String, android.media.tv.TvContentRating);
+    method public void onDisconnected(String);
+    method public void onTimeShiftStatusChanged(String, int);
+    method public void onTrackSelected(String, int, String);
+    method public void onTracksChanged(String, java.util.List<android.media.tv.TvTrackInfo>);
+    method public void onVideoAvailable(String);
+    method public void onVideoSizeChanged(String, int, int);
+    method public void onVideoUnavailable(String, int);
+  }
+
+}
+
+package android.mtp {
+
+  public final class MtpConstants {
+    ctor public MtpConstants();
+    method public static boolean isAbstractObject(int);
+    field public static final int ASSOCIATION_TYPE_GENERIC_FOLDER = 1; // 0x1
+    field public static final int FORMAT_3GP_CONTAINER = 47492; // 0xb984
+    field public static final int FORMAT_AAC = 47363; // 0xb903
+    field public static final int FORMAT_ABSTRACT_AUDIO_ALBUM = 47619; // 0xba03
+    field public static final int FORMAT_ABSTRACT_AUDIO_PLAYLIST = 47625; // 0xba09
+    field public static final int FORMAT_ABSTRACT_AV_PLAYLIST = 47621; // 0xba05
+    field public static final int FORMAT_ABSTRACT_DOCUMENT = 47745; // 0xba81
+    field public static final int FORMAT_ABSTRACT_IMAGE_ALBUM = 47618; // 0xba02
+    field public static final int FORMAT_ABSTRACT_MEDIACAST = 47627; // 0xba0b
+    field public static final int FORMAT_ABSTRACT_MULTIMEDIA_ALBUM = 47617; // 0xba01
+    field public static final int FORMAT_ABSTRACT_VIDEO_ALBUM = 47620; // 0xba04
+    field public static final int FORMAT_ABSTRACT_VIDEO_PLAYLIST = 47626; // 0xba0a
+    field public static final int FORMAT_AIFF = 12295; // 0x3007
+    field public static final int FORMAT_ASF = 12300; // 0x300c
+    field public static final int FORMAT_ASSOCIATION = 12289; // 0x3001
+    field public static final int FORMAT_ASX_PLAYLIST = 47635; // 0xba13
+    field public static final int FORMAT_AUDIBLE = 47364; // 0xb904
+    field public static final int FORMAT_AVI = 12298; // 0x300a
+    field public static final int FORMAT_BMP = 14340; // 0x3804
+    field public static final int FORMAT_DEFINED = 14336; // 0x3800
+    field public static final int FORMAT_DNG = 14353; // 0x3811
+    field public static final int FORMAT_DPOF = 12294; // 0x3006
+    field public static final int FORMAT_EXECUTABLE = 12291; // 0x3003
+    field public static final int FORMAT_EXIF_JPEG = 14337; // 0x3801
+    field public static final int FORMAT_FLAC = 47366; // 0xb906
+    field public static final int FORMAT_GIF = 14343; // 0x3807
+    field public static final int FORMAT_HTML = 12293; // 0x3005
+    field public static final int FORMAT_JFIF = 14344; // 0x3808
+    field public static final int FORMAT_JP2 = 14351; // 0x380f
+    field public static final int FORMAT_JPX = 14352; // 0x3810
+    field public static final int FORMAT_M3U_PLAYLIST = 47633; // 0xba11
+    field public static final int FORMAT_MP2 = 47491; // 0xb983
+    field public static final int FORMAT_MP3 = 12297; // 0x3009
+    field public static final int FORMAT_MP4_CONTAINER = 47490; // 0xb982
+    field public static final int FORMAT_MPEG = 12299; // 0x300b
+    field public static final int FORMAT_MPL_PLAYLIST = 47634; // 0xba12
+    field public static final int FORMAT_MS_EXCEL_SPREADSHEET = 47749; // 0xba85
+    field public static final int FORMAT_MS_POWERPOINT_PRESENTATION = 47750; // 0xba86
+    field public static final int FORMAT_MS_WORD_DOCUMENT = 47747; // 0xba83
+    field public static final int FORMAT_OGG = 47362; // 0xb902
+    field public static final int FORMAT_PICT = 14346; // 0x380a
+    field public static final int FORMAT_PLS_PLAYLIST = 47636; // 0xba14
+    field public static final int FORMAT_PNG = 14347; // 0x380b
+    field public static final int FORMAT_SCRIPT = 12290; // 0x3002
+    field public static final int FORMAT_TEXT = 12292; // 0x3004
+    field public static final int FORMAT_TIFF = 14349; // 0x380d
+    field public static final int FORMAT_TIFF_EP = 14338; // 0x3802
+    field public static final int FORMAT_UNDEFINED = 12288; // 0x3000
+    field public static final int FORMAT_UNDEFINED_AUDIO = 47360; // 0xb900
+    field public static final int FORMAT_UNDEFINED_COLLECTION = 47616; // 0xba00
+    field public static final int FORMAT_UNDEFINED_DOCUMENT = 47744; // 0xba80
+    field public static final int FORMAT_UNDEFINED_FIRMWARE = 47106; // 0xb802
+    field public static final int FORMAT_UNDEFINED_VIDEO = 47488; // 0xb980
+    field public static final int FORMAT_WAV = 12296; // 0x3008
+    field public static final int FORMAT_WINDOWS_IMAGE_FORMAT = 47233; // 0xb881
+    field public static final int FORMAT_WMA = 47361; // 0xb901
+    field public static final int FORMAT_WMV = 47489; // 0xb981
+    field public static final int FORMAT_WPL_PLAYLIST = 47632; // 0xba10
+    field public static final int FORMAT_XML_DOCUMENT = 47746; // 0xba82
+    field public static final int OPERATION_CLOSE_SESSION = 4099; // 0x1003
+    field public static final int OPERATION_COPY_OBJECT = 4122; // 0x101a
+    field public static final int OPERATION_DELETE_OBJECT = 4107; // 0x100b
+    field public static final int OPERATION_FORMAT_STORE = 4111; // 0x100f
+    field public static final int OPERATION_GET_DEVICE_INFO = 4097; // 0x1001
+    field public static final int OPERATION_GET_DEVICE_PROP_DESC = 4116; // 0x1014
+    field public static final int OPERATION_GET_DEVICE_PROP_VALUE = 4117; // 0x1015
+    field public static final int OPERATION_GET_NUM_OBJECTS = 4102; // 0x1006
+    field public static final int OPERATION_GET_OBJECT = 4105; // 0x1009
+    field public static final int OPERATION_GET_OBJECT_HANDLES = 4103; // 0x1007
+    field public static final int OPERATION_GET_OBJECT_INFO = 4104; // 0x1008
+    field public static final int OPERATION_GET_OBJECT_PROPS_SUPPORTED = 38913; // 0x9801
+    field public static final int OPERATION_GET_OBJECT_PROP_DESC = 38914; // 0x9802
+    field public static final int OPERATION_GET_OBJECT_PROP_VALUE = 38915; // 0x9803
+    field public static final int OPERATION_GET_OBJECT_REFERENCES = 38928; // 0x9810
+    field public static final int OPERATION_GET_PARTIAL_OBJECT = 4123; // 0x101b
+    field public static final int OPERATION_GET_PARTIAL_OBJECT_64 = 38337; // 0x95c1
+    field public static final int OPERATION_GET_STORAGE_INFO = 4101; // 0x1005
+    field public static final int OPERATION_GET_STORAGE_I_DS = 4100; // 0x1004
+    field public static final int OPERATION_GET_THUMB = 4106; // 0x100a
+    field public static final int OPERATION_INITIATE_CAPTURE = 4110; // 0x100e
+    field public static final int OPERATION_INITIATE_OPEN_CAPTURE = 4124; // 0x101c
+    field public static final int OPERATION_MOVE_OBJECT = 4121; // 0x1019
+    field public static final int OPERATION_OPEN_SESSION = 4098; // 0x1002
+    field public static final int OPERATION_POWER_DOWN = 4115; // 0x1013
+    field public static final int OPERATION_RESET_DEVICE = 4112; // 0x1010
+    field public static final int OPERATION_RESET_DEVICE_PROP_VALUE = 4119; // 0x1017
+    field public static final int OPERATION_SELF_TEST = 4113; // 0x1011
+    field public static final int OPERATION_SEND_OBJECT = 4109; // 0x100d
+    field public static final int OPERATION_SEND_OBJECT_INFO = 4108; // 0x100c
+    field public static final int OPERATION_SET_DEVICE_PROP_VALUE = 4118; // 0x1016
+    field public static final int OPERATION_SET_OBJECT_PROP_VALUE = 38916; // 0x9804
+    field public static final int OPERATION_SET_OBJECT_PROTECTION = 4114; // 0x1012
+    field public static final int OPERATION_SET_OBJECT_REFERENCES = 38929; // 0x9811
+    field public static final int OPERATION_SKIP = 38944; // 0x9820
+    field public static final int OPERATION_TERMINATE_OPEN_CAPTURE = 4120; // 0x1018
+    field public static final int PROTECTION_STATUS_NONE = 0; // 0x0
+    field public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 32771; // 0x8003
+    field public static final int PROTECTION_STATUS_READ_ONLY = 32769; // 0x8001
+    field public static final int PROTECTION_STATUS_READ_ONLY_DATA = 32770; // 0x8002
+  }
+
+  public final class MtpDevice {
+    ctor public MtpDevice(@NonNull android.hardware.usb.UsbDevice);
+    method public void close();
+    method public boolean deleteObject(int);
+    method public int getDeviceId();
+    method @Nullable public android.mtp.MtpDeviceInfo getDeviceInfo();
+    method @NonNull public String getDeviceName();
+    method @Nullable public byte[] getObject(int, int);
+    method @Nullable public int[] getObjectHandles(int, int, int);
+    method @Nullable public android.mtp.MtpObjectInfo getObjectInfo(int);
+    method public long getParent(int);
+    method public long getPartialObject(int, long, long, @NonNull byte[]) throws java.io.IOException;
+    method public long getPartialObject64(int, long, long, @NonNull byte[]) throws java.io.IOException;
+    method public long getStorageId(int);
+    method @Nullable public int[] getStorageIds();
+    method @Nullable public android.mtp.MtpStorageInfo getStorageInfo(int);
+    method @Nullable public byte[] getThumbnail(int);
+    method public boolean importFile(int, @NonNull String);
+    method public boolean importFile(int, @NonNull android.os.ParcelFileDescriptor);
+    method public boolean open(@NonNull android.hardware.usb.UsbDeviceConnection);
+    method @NonNull public android.mtp.MtpEvent readEvent(@Nullable android.os.CancellationSignal) throws java.io.IOException;
+    method public boolean sendObject(int, long, @NonNull android.os.ParcelFileDescriptor);
+    method @Nullable public android.mtp.MtpObjectInfo sendObjectInfo(@NonNull android.mtp.MtpObjectInfo);
+  }
+
+  public class MtpDeviceInfo {
+    method @NonNull public final int[] getEventsSupported();
+    method @NonNull public final String getManufacturer();
+    method @NonNull public final String getModel();
+    method @NonNull public final int[] getOperationsSupported();
+    method @NonNull public final String getSerialNumber();
+    method @NonNull public final String getVersion();
+    method public boolean isEventSupported(int);
+    method public boolean isOperationSupported(int);
+  }
+
+  public class MtpEvent {
+    method public int getDevicePropCode();
+    method public int getEventCode();
+    method public int getObjectFormatCode();
+    method public int getObjectHandle();
+    method public int getObjectPropCode();
+    method public int getParameter1();
+    method public int getParameter2();
+    method public int getParameter3();
+    method public int getStorageId();
+    method public int getTransactionId();
+    field public static final int EVENT_CANCEL_TRANSACTION = 16385; // 0x4001
+    field public static final int EVENT_CAPTURE_COMPLETE = 16397; // 0x400d
+    field public static final int EVENT_DEVICE_INFO_CHANGED = 16392; // 0x4008
+    field public static final int EVENT_DEVICE_PROP_CHANGED = 16390; // 0x4006
+    field public static final int EVENT_DEVICE_RESET = 16395; // 0x400b
+    field public static final int EVENT_OBJECT_ADDED = 16386; // 0x4002
+    field public static final int EVENT_OBJECT_INFO_CHANGED = 16391; // 0x4007
+    field public static final int EVENT_OBJECT_PROP_CHANGED = 51201; // 0xc801
+    field public static final int EVENT_OBJECT_PROP_DESC_CHANGED = 51202; // 0xc802
+    field public static final int EVENT_OBJECT_REFERENCES_CHANGED = 51203; // 0xc803
+    field public static final int EVENT_OBJECT_REMOVED = 16387; // 0x4003
+    field public static final int EVENT_REQUEST_OBJECT_TRANSFER = 16393; // 0x4009
+    field public static final int EVENT_STORAGE_INFO_CHANGED = 16396; // 0x400c
+    field public static final int EVENT_STORE_ADDED = 16388; // 0x4004
+    field public static final int EVENT_STORE_FULL = 16394; // 0x400a
+    field public static final int EVENT_STORE_REMOVED = 16389; // 0x4005
+    field public static final int EVENT_UNDEFINED = 16384; // 0x4000
+    field public static final int EVENT_UNREPORTED_STATUS = 16398; // 0x400e
+  }
+
+  public final class MtpObjectInfo {
+    method public int getAssociationDesc();
+    method public int getAssociationType();
+    method public int getCompressedSize();
+    method public long getCompressedSizeLong();
+    method public long getDateCreated();
+    method public long getDateModified();
+    method public int getFormat();
+    method public int getImagePixDepth();
+    method public long getImagePixDepthLong();
+    method public int getImagePixHeight();
+    method public long getImagePixHeightLong();
+    method public int getImagePixWidth();
+    method public long getImagePixWidthLong();
+    method @NonNull public String getKeywords();
+    method @NonNull public String getName();
+    method public int getObjectHandle();
+    method public int getParent();
+    method public int getProtectionStatus();
+    method public int getSequenceNumber();
+    method public long getSequenceNumberLong();
+    method public int getStorageId();
+    method public int getThumbCompressedSize();
+    method public long getThumbCompressedSizeLong();
+    method public int getThumbFormat();
+    method public int getThumbPixHeight();
+    method public long getThumbPixHeightLong();
+    method public int getThumbPixWidth();
+    method public long getThumbPixWidthLong();
+  }
+
+  public static class MtpObjectInfo.Builder {
+    ctor public MtpObjectInfo.Builder();
+    ctor public MtpObjectInfo.Builder(android.mtp.MtpObjectInfo);
+    method public android.mtp.MtpObjectInfo build();
+    method public android.mtp.MtpObjectInfo.Builder setAssociationDesc(int);
+    method public android.mtp.MtpObjectInfo.Builder setAssociationType(int);
+    method public android.mtp.MtpObjectInfo.Builder setCompressedSize(long);
+    method public android.mtp.MtpObjectInfo.Builder setDateCreated(long);
+    method public android.mtp.MtpObjectInfo.Builder setDateModified(long);
+    method public android.mtp.MtpObjectInfo.Builder setFormat(int);
+    method public android.mtp.MtpObjectInfo.Builder setImagePixDepth(long);
+    method public android.mtp.MtpObjectInfo.Builder setImagePixHeight(long);
+    method public android.mtp.MtpObjectInfo.Builder setImagePixWidth(long);
+    method public android.mtp.MtpObjectInfo.Builder setKeywords(@NonNull String);
+    method public android.mtp.MtpObjectInfo.Builder setName(@NonNull String);
+    method public android.mtp.MtpObjectInfo.Builder setObjectHandle(int);
+    method public android.mtp.MtpObjectInfo.Builder setParent(int);
+    method public android.mtp.MtpObjectInfo.Builder setProtectionStatus(int);
+    method public android.mtp.MtpObjectInfo.Builder setSequenceNumber(long);
+    method public android.mtp.MtpObjectInfo.Builder setStorageId(int);
+    method public android.mtp.MtpObjectInfo.Builder setThumbCompressedSize(long);
+    method public android.mtp.MtpObjectInfo.Builder setThumbFormat(int);
+    method public android.mtp.MtpObjectInfo.Builder setThumbPixHeight(long);
+    method public android.mtp.MtpObjectInfo.Builder setThumbPixWidth(long);
+  }
+
+  public final class MtpStorageInfo {
+    method @NonNull public String getDescription();
+    method public long getFreeSpace();
+    method public long getMaxCapacity();
+    method public int getStorageId();
+    method @NonNull public String getVolumeIdentifier();
+  }
+
+}
+
+package android.net {
+
+  public class Credentials {
+    ctor public Credentials(int, int, int);
+    method public int getGid();
+    method public int getPid();
+    method public int getUid();
+  }
+
+  public final class Ikev2VpnProfile extends android.net.PlatformVpnProfile {
+    method @NonNull public java.util.List<java.lang.String> getAllowedAlgorithms();
+    method public int getMaxMtu();
+    method @Nullable public String getPassword();
+    method @Nullable public byte[] getPresharedKey();
+    method @Nullable public android.net.ProxyInfo getProxyInfo();
+    method @Nullable public java.security.PrivateKey getRsaPrivateKey();
+    method @NonNull public String getServerAddr();
+    method @Nullable public java.security.cert.X509Certificate getServerRootCaCert();
+    method @Nullable public java.security.cert.X509Certificate getUserCert();
+    method @NonNull public String getUserIdentity();
+    method @Nullable public String getUsername();
+    method public boolean isBypassable();
+    method public boolean isMetered();
+  }
+
+  public static final class Ikev2VpnProfile.Builder {
+    ctor public Ikev2VpnProfile.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.net.Ikev2VpnProfile build();
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setAllowedAlgorithms(@NonNull java.util.List<java.lang.String>);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setAuthDigitalSignature(@NonNull java.security.cert.X509Certificate, @NonNull java.security.PrivateKey, @Nullable java.security.cert.X509Certificate);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setAuthPsk(@NonNull byte[]);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setAuthUsernamePassword(@NonNull String, @NonNull String, @Nullable java.security.cert.X509Certificate);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setBypassable(boolean);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setMaxMtu(int);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setMetered(boolean);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setProxy(@Nullable android.net.ProxyInfo);
+  }
+
+  public final class IpSecAlgorithm implements android.os.Parcelable {
+    ctor public IpSecAlgorithm(@NonNull String, @NonNull byte[]);
+    ctor public IpSecAlgorithm(@NonNull String, @NonNull byte[], int);
+    method public int describeContents();
+    method @NonNull public byte[] getKey();
+    method @NonNull public String getName();
+    method @NonNull public static java.util.Set<java.lang.String> getSupportedAlgorithms();
+    method public int getTruncationLengthBits();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final String AUTH_AES_CMAC = "cmac(aes)";
+    field public static final String AUTH_AES_XCBC = "xcbc(aes)";
+    field public static final String AUTH_CRYPT_AES_GCM = "rfc4106(gcm(aes))";
+    field public static final String AUTH_CRYPT_CHACHA20_POLY1305 = "rfc7539esp(chacha20,poly1305)";
+    field public static final String AUTH_HMAC_MD5 = "hmac(md5)";
+    field public static final String AUTH_HMAC_SHA1 = "hmac(sha1)";
+    field public static final String AUTH_HMAC_SHA256 = "hmac(sha256)";
+    field public static final String AUTH_HMAC_SHA384 = "hmac(sha384)";
+    field public static final String AUTH_HMAC_SHA512 = "hmac(sha512)";
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.IpSecAlgorithm> CREATOR;
+    field public static final String CRYPT_AES_CBC = "cbc(aes)";
+    field public static final String CRYPT_AES_CTR = "rfc3686(ctr(aes))";
+  }
+
+  public final class IpSecManager {
+    method @NonNull public android.net.IpSecManager.SecurityParameterIndex allocateSecurityParameterIndex(@NonNull java.net.InetAddress) throws android.net.IpSecManager.ResourceUnavailableException;
+    method @NonNull public android.net.IpSecManager.SecurityParameterIndex allocateSecurityParameterIndex(@NonNull java.net.InetAddress, int) throws android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException;
+    method public void applyTransportModeTransform(@NonNull java.net.Socket, int, @NonNull android.net.IpSecTransform) throws java.io.IOException;
+    method public void applyTransportModeTransform(@NonNull java.net.DatagramSocket, int, @NonNull android.net.IpSecTransform) throws java.io.IOException;
+    method public void applyTransportModeTransform(@NonNull java.io.FileDescriptor, int, @NonNull android.net.IpSecTransform) throws java.io.IOException;
+    method @NonNull public android.net.IpSecManager.UdpEncapsulationSocket openUdpEncapsulationSocket(int) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException;
+    method @NonNull public android.net.IpSecManager.UdpEncapsulationSocket openUdpEncapsulationSocket() throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException;
+    method public void removeTransportModeTransforms(@NonNull java.net.Socket) throws java.io.IOException;
+    method public void removeTransportModeTransforms(@NonNull java.net.DatagramSocket) throws java.io.IOException;
+    method public void removeTransportModeTransforms(@NonNull java.io.FileDescriptor) throws java.io.IOException;
+    field public static final int DIRECTION_IN = 0; // 0x0
+    field public static final int DIRECTION_OUT = 1; // 0x1
+  }
+
+  public static final class IpSecManager.ResourceUnavailableException extends android.util.AndroidException {
+  }
+
+  public static final class IpSecManager.SecurityParameterIndex implements java.lang.AutoCloseable {
+    method public void close();
+    method public int getSpi();
+  }
+
+  public static final class IpSecManager.SpiUnavailableException extends android.util.AndroidException {
+    method public int getSpi();
+  }
+
+  public static final class IpSecManager.UdpEncapsulationSocket implements java.lang.AutoCloseable {
+    method public void close() throws java.io.IOException;
+    method public java.io.FileDescriptor getFileDescriptor();
+    method public int getPort();
+  }
+
+  public final class IpSecTransform implements java.lang.AutoCloseable {
+    method public void close();
+  }
+
+  public static class IpSecTransform.Builder {
+    ctor public IpSecTransform.Builder(@NonNull android.content.Context);
+    method @NonNull public android.net.IpSecTransform buildTransportModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException;
+    method @NonNull public android.net.IpSecTransform.Builder setAuthenticatedEncryption(@NonNull android.net.IpSecAlgorithm);
+    method @NonNull public android.net.IpSecTransform.Builder setAuthentication(@NonNull android.net.IpSecAlgorithm);
+    method @NonNull public android.net.IpSecTransform.Builder setEncryption(@NonNull android.net.IpSecAlgorithm);
+    method @NonNull public android.net.IpSecTransform.Builder setIpv4Encapsulation(@NonNull android.net.IpSecManager.UdpEncapsulationSocket, int);
+  }
+
+  public class LocalServerSocket implements java.io.Closeable {
+    ctor public LocalServerSocket(String) throws java.io.IOException;
+    ctor public LocalServerSocket(java.io.FileDescriptor) throws java.io.IOException;
+    method public android.net.LocalSocket accept() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public java.io.FileDescriptor getFileDescriptor();
+    method public android.net.LocalSocketAddress getLocalSocketAddress();
+  }
+
+  public class LocalSocket implements java.io.Closeable {
+    ctor public LocalSocket();
+    ctor public LocalSocket(int);
+    method public void bind(android.net.LocalSocketAddress) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void connect(android.net.LocalSocketAddress) throws java.io.IOException;
+    method public void connect(android.net.LocalSocketAddress, int) throws java.io.IOException;
+    method public java.io.FileDescriptor[] getAncillaryFileDescriptors() throws java.io.IOException;
+    method public java.io.FileDescriptor getFileDescriptor();
+    method public java.io.InputStream getInputStream() throws java.io.IOException;
+    method public android.net.LocalSocketAddress getLocalSocketAddress();
+    method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+    method public android.net.Credentials getPeerCredentials() throws java.io.IOException;
+    method public int getReceiveBufferSize() throws java.io.IOException;
+    method public android.net.LocalSocketAddress getRemoteSocketAddress();
+    method public int getSendBufferSize() throws java.io.IOException;
+    method public int getSoTimeout() throws java.io.IOException;
+    method public boolean isBound();
+    method public boolean isClosed();
+    method public boolean isConnected();
+    method public boolean isInputShutdown();
+    method public boolean isOutputShutdown();
+    method public void setFileDescriptorsForSend(java.io.FileDescriptor[]);
+    method public void setReceiveBufferSize(int) throws java.io.IOException;
+    method public void setSendBufferSize(int) throws java.io.IOException;
+    method public void setSoTimeout(int) throws java.io.IOException;
+    method public void shutdownInput() throws java.io.IOException;
+    method public void shutdownOutput() throws java.io.IOException;
+    field public static final int SOCKET_DGRAM = 1; // 0x1
+    field public static final int SOCKET_SEQPACKET = 3; // 0x3
+    field public static final int SOCKET_STREAM = 2; // 0x2
+  }
+
+  public class LocalSocketAddress {
+    ctor public LocalSocketAddress(String, android.net.LocalSocketAddress.Namespace);
+    ctor public LocalSocketAddress(String);
+    method public String getName();
+    method public android.net.LocalSocketAddress.Namespace getNamespace();
+  }
+
+  public enum LocalSocketAddress.Namespace {
+    enum_constant public static final android.net.LocalSocketAddress.Namespace ABSTRACT;
+    enum_constant public static final android.net.LocalSocketAddress.Namespace FILESYSTEM;
+    enum_constant public static final android.net.LocalSocketAddress.Namespace RESERVED;
+  }
+
+  public class MailTo {
+    method public String getBody();
+    method public String getCc();
+    method public java.util.Map<java.lang.String,java.lang.String> getHeaders();
+    method public String getSubject();
+    method public String getTo();
+    method public static boolean isMailTo(String);
+    method public static android.net.MailTo parse(String) throws android.net.ParseException;
+    field public static final String MAILTO_SCHEME = "mailto:";
+  }
+
+  public abstract class NetworkSpecifier {
+    ctor public NetworkSpecifier();
+  }
+
+  public abstract class PlatformVpnProfile {
+    method public final int getType();
+    method @NonNull public final String getTypeString();
+    field public static final int TYPE_IKEV2_IPSEC_PSK = 7; // 0x7
+    field public static final int TYPE_IKEV2_IPSEC_RSA = 8; // 0x8
+    field public static final int TYPE_IKEV2_IPSEC_USER_PASS = 6; // 0x6
+  }
+
+  public final class Proxy {
+    ctor public Proxy();
+    method @Deprecated public static String getDefaultHost();
+    method @Deprecated public static int getDefaultPort();
+    method @Deprecated public static String getHost(android.content.Context);
+    method @Deprecated public static int getPort(android.content.Context);
+    field public static final String PROXY_CHANGE_ACTION = "android.intent.action.PROXY_CHANGE";
+  }
+
+  @Deprecated public class SSLCertificateSocketFactory extends javax.net.ssl.SSLSocketFactory {
+    ctor @Deprecated public SSLCertificateSocketFactory(int);
+    method @Deprecated public java.net.Socket createSocket(java.net.Socket, String, int, boolean) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket(java.net.InetAddress, int) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket(String, int, java.net.InetAddress, int) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket(String, int) throws java.io.IOException;
+    method @Deprecated public static javax.net.SocketFactory getDefault(int);
+    method @Deprecated public static javax.net.ssl.SSLSocketFactory getDefault(int, android.net.SSLSessionCache);
+    method @Deprecated public String[] getDefaultCipherSuites();
+    method @Deprecated public static javax.net.ssl.SSLSocketFactory getInsecure(int, android.net.SSLSessionCache);
+    method @Deprecated public byte[] getNpnSelectedProtocol(java.net.Socket);
+    method @Deprecated public String[] getSupportedCipherSuites();
+    method @Deprecated public void setHostname(java.net.Socket, String);
+    method @Deprecated public void setKeyManagers(javax.net.ssl.KeyManager[]);
+    method @Deprecated public void setNpnProtocols(byte[][]);
+    method @Deprecated public void setTrustManagers(javax.net.ssl.TrustManager[]);
+    method @Deprecated public void setUseSessionTickets(java.net.Socket, boolean);
+  }
+
+  public final class SSLSessionCache {
+    ctor public SSLSessionCache(java.io.File) throws java.io.IOException;
+    ctor public SSLSessionCache(android.content.Context);
+  }
+
+  public final class TelephonyNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getSubscriptionId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TelephonyNetworkSpecifier> CREATOR;
+  }
+
+  public static final class TelephonyNetworkSpecifier.Builder {
+    ctor public TelephonyNetworkSpecifier.Builder();
+    method @NonNull public android.net.TelephonyNetworkSpecifier build();
+    method @NonNull public android.net.TelephonyNetworkSpecifier.Builder setSubscriptionId(int);
+  }
+
+  public class TrafficStats {
+    ctor public TrafficStats();
+    method public static void clearThreadStatsTag();
+    method public static void clearThreadStatsUid();
+    method public static int getAndSetThreadStatsTag(int);
+    method public static long getMobileRxBytes();
+    method public static long getMobileRxPackets();
+    method public static long getMobileTxBytes();
+    method public static long getMobileTxPackets();
+    method public static long getRxBytes(@NonNull String);
+    method public static long getRxPackets(@NonNull String);
+    method public static int getThreadStatsTag();
+    method public static int getThreadStatsUid();
+    method public static long getTotalRxBytes();
+    method public static long getTotalRxPackets();
+    method public static long getTotalTxBytes();
+    method public static long getTotalTxPackets();
+    method public static long getTxBytes(@NonNull String);
+    method public static long getTxPackets(@NonNull String);
+    method public static long getUidRxBytes(int);
+    method public static long getUidRxPackets(int);
+    method @Deprecated public static long getUidTcpRxBytes(int);
+    method @Deprecated public static long getUidTcpRxSegments(int);
+    method @Deprecated public static long getUidTcpTxBytes(int);
+    method @Deprecated public static long getUidTcpTxSegments(int);
+    method public static long getUidTxBytes(int);
+    method public static long getUidTxPackets(int);
+    method @Deprecated public static long getUidUdpRxBytes(int);
+    method @Deprecated public static long getUidUdpRxPackets(int);
+    method @Deprecated public static long getUidUdpTxBytes(int);
+    method @Deprecated public static long getUidUdpTxPackets(int);
+    method public static void incrementOperationCount(int);
+    method public static void incrementOperationCount(int, int);
+    method public static void setThreadStatsTag(int);
+    method public static void setThreadStatsUid(int);
+    method public static void tagDatagramSocket(java.net.DatagramSocket) throws java.net.SocketException;
+    method public static void tagFileDescriptor(java.io.FileDescriptor) throws java.io.IOException;
+    method public static void tagSocket(java.net.Socket) throws java.net.SocketException;
+    method public static void untagDatagramSocket(java.net.DatagramSocket) throws java.net.SocketException;
+    method public static void untagFileDescriptor(java.io.FileDescriptor) throws java.io.IOException;
+    method public static void untagSocket(java.net.Socket) throws java.net.SocketException;
+    field public static final int UNSUPPORTED = -1; // 0xffffffff
+  }
+
+  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
+    method public abstract android.net.Uri.Builder buildUpon();
+    method public int compareTo(android.net.Uri);
+    method public static String decode(String);
+    method public static String encode(String);
+    method public static String encode(String, String);
+    method public static android.net.Uri fromFile(java.io.File);
+    method public static android.net.Uri fromParts(String, String, String);
+    method @Nullable public abstract String getAuthority();
+    method public boolean getBooleanQueryParameter(String, boolean);
+    method @Nullable public abstract String getEncodedAuthority();
+    method @Nullable public abstract String getEncodedFragment();
+    method @Nullable public abstract String getEncodedPath();
+    method @Nullable public abstract String getEncodedQuery();
+    method public abstract String getEncodedSchemeSpecificPart();
+    method @Nullable public abstract String getEncodedUserInfo();
+    method @Nullable public abstract String getFragment();
+    method @Nullable public abstract String getHost();
+    method @Nullable public abstract String getLastPathSegment();
+    method @Nullable public abstract String getPath();
+    method public abstract java.util.List<java.lang.String> getPathSegments();
+    method public abstract int getPort();
+    method @Nullable public abstract String getQuery();
+    method @Nullable public String getQueryParameter(String);
+    method public java.util.Set<java.lang.String> getQueryParameterNames();
+    method public java.util.List<java.lang.String> getQueryParameters(String);
+    method @Nullable public abstract String getScheme();
+    method public abstract String getSchemeSpecificPart();
+    method @Nullable public abstract String getUserInfo();
+    method public boolean isAbsolute();
+    method public abstract boolean isHierarchical();
+    method public boolean isOpaque();
+    method public abstract boolean isRelative();
+    method public android.net.Uri normalizeScheme();
+    method public static android.net.Uri parse(String);
+    method public abstract String toString();
+    method public static android.net.Uri withAppendedPath(android.net.Uri, String);
+    method public static void writeToParcel(android.os.Parcel, android.net.Uri);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.Uri> CREATOR;
+    field public static final android.net.Uri EMPTY;
+  }
+
+  public static final class Uri.Builder {
+    ctor public Uri.Builder();
+    method public android.net.Uri.Builder appendEncodedPath(String);
+    method public android.net.Uri.Builder appendPath(String);
+    method public android.net.Uri.Builder appendQueryParameter(String, String);
+    method public android.net.Uri.Builder authority(String);
+    method public android.net.Uri build();
+    method public android.net.Uri.Builder clearQuery();
+    method public android.net.Uri.Builder encodedAuthority(String);
+    method public android.net.Uri.Builder encodedFragment(String);
+    method public android.net.Uri.Builder encodedOpaquePart(String);
+    method public android.net.Uri.Builder encodedPath(String);
+    method public android.net.Uri.Builder encodedQuery(String);
+    method public android.net.Uri.Builder fragment(String);
+    method public android.net.Uri.Builder opaquePart(String);
+    method public android.net.Uri.Builder path(String);
+    method public android.net.Uri.Builder query(String);
+    method public android.net.Uri.Builder scheme(String);
+  }
+
+  public class UrlQuerySanitizer {
+    ctor public UrlQuerySanitizer();
+    ctor public UrlQuerySanitizer(String);
+    method protected void addSanitizedEntry(String, String);
+    method protected void clear();
+    method protected int decodeHexDigit(char);
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllButNulAndAngleBracketsLegal();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllButNulLegal();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllButWhitespaceLegal();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllIllegal();
+    method public boolean getAllowUnregisteredParamaters();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAmpAndSpaceLegal();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAmpLegal();
+    method public android.net.UrlQuerySanitizer.ValueSanitizer getEffectiveValueSanitizer(String);
+    method public java.util.List<android.net.UrlQuerySanitizer.ParameterValuePair> getParameterList();
+    method public java.util.Set<java.lang.String> getParameterSet();
+    method public boolean getPreferFirstRepeatedParameter();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getSpaceLegal();
+    method public android.net.UrlQuerySanitizer.ValueSanitizer getUnregisteredParameterValueSanitizer();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getUrlAndSpaceLegal();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getUrlLegal();
+    method public String getValue(String);
+    method public android.net.UrlQuerySanitizer.ValueSanitizer getValueSanitizer(String);
+    method public boolean hasParameter(String);
+    method protected boolean isHexDigit(char);
+    method protected void parseEntry(String, String);
+    method public void parseQuery(String);
+    method public void parseUrl(String);
+    method public void registerParameter(String, android.net.UrlQuerySanitizer.ValueSanitizer);
+    method public void registerParameters(String[], android.net.UrlQuerySanitizer.ValueSanitizer);
+    method public void setAllowUnregisteredParamaters(boolean);
+    method public void setPreferFirstRepeatedParameter(boolean);
+    method public void setUnregisteredParameterValueSanitizer(android.net.UrlQuerySanitizer.ValueSanitizer);
+    method public String unescape(String);
+  }
+
+  public static class UrlQuerySanitizer.IllegalCharacterValueSanitizer implements android.net.UrlQuerySanitizer.ValueSanitizer {
+    ctor public UrlQuerySanitizer.IllegalCharacterValueSanitizer(int);
+    method public String sanitize(String);
+    field public static final int ALL_BUT_NUL_AND_ANGLE_BRACKETS_LEGAL = 1439; // 0x59f
+    field public static final int ALL_BUT_NUL_LEGAL = 1535; // 0x5ff
+    field public static final int ALL_BUT_WHITESPACE_LEGAL = 1532; // 0x5fc
+    field public static final int ALL_ILLEGAL = 0; // 0x0
+    field public static final int ALL_OK = 2047; // 0x7ff
+    field public static final int ALL_WHITESPACE_OK = 3; // 0x3
+    field public static final int AMP_AND_SPACE_LEGAL = 129; // 0x81
+    field public static final int AMP_LEGAL = 128; // 0x80
+    field public static final int AMP_OK = 128; // 0x80
+    field public static final int DQUOTE_OK = 8; // 0x8
+    field public static final int GT_OK = 64; // 0x40
+    field public static final int LT_OK = 32; // 0x20
+    field public static final int NON_7_BIT_ASCII_OK = 4; // 0x4
+    field public static final int NUL_OK = 512; // 0x200
+    field public static final int OTHER_WHITESPACE_OK = 2; // 0x2
+    field public static final int PCT_OK = 256; // 0x100
+    field public static final int SCRIPT_URL_OK = 1024; // 0x400
+    field public static final int SPACE_LEGAL = 1; // 0x1
+    field public static final int SPACE_OK = 1; // 0x1
+    field public static final int SQUOTE_OK = 16; // 0x10
+    field public static final int URL_AND_SPACE_LEGAL = 405; // 0x195
+    field public static final int URL_LEGAL = 404; // 0x194
+  }
+
+  public class UrlQuerySanitizer.ParameterValuePair {
+    ctor public UrlQuerySanitizer.ParameterValuePair(String, String);
+    field public String mParameter;
+    field public String mValue;
+  }
+
+  public static interface UrlQuerySanitizer.ValueSanitizer {
+    method public String sanitize(String);
+  }
+
+  public class VpnManager {
+    method public void deleteProvisionedVpnProfile();
+    method @Nullable public android.content.Intent provisionVpnProfile(@NonNull android.net.PlatformVpnProfile);
+    method public void startProvisionedVpnProfile();
+    method public void stopProvisionedVpnProfile();
+  }
+
+  public class VpnService extends android.app.Service {
+    ctor public VpnService();
+    method public final boolean isAlwaysOn();
+    method public final boolean isLockdownEnabled();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onRevoke();
+    method public static android.content.Intent prepare(android.content.Context);
+    method public boolean protect(int);
+    method public boolean protect(java.net.Socket);
+    method public boolean protect(java.net.DatagramSocket);
+    method public boolean setUnderlyingNetworks(android.net.Network[]);
+    field public static final String SERVICE_INTERFACE = "android.net.VpnService";
+    field public static final String SERVICE_META_DATA_SUPPORTS_ALWAYS_ON = "android.net.VpnService.SUPPORTS_ALWAYS_ON";
+  }
+
+  public class VpnService.Builder {
+    ctor public VpnService.Builder();
+    method @NonNull public android.net.VpnService.Builder addAddress(@NonNull java.net.InetAddress, int);
+    method @NonNull public android.net.VpnService.Builder addAddress(@NonNull String, int);
+    method @NonNull public android.net.VpnService.Builder addAllowedApplication(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public android.net.VpnService.Builder addDisallowedApplication(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public android.net.VpnService.Builder addDnsServer(@NonNull java.net.InetAddress);
+    method @NonNull public android.net.VpnService.Builder addDnsServer(@NonNull String);
+    method @NonNull public android.net.VpnService.Builder addRoute(@NonNull java.net.InetAddress, int);
+    method @NonNull public android.net.VpnService.Builder addRoute(@NonNull String, int);
+    method @NonNull public android.net.VpnService.Builder addSearchDomain(@NonNull String);
+    method @NonNull public android.net.VpnService.Builder allowBypass();
+    method @NonNull public android.net.VpnService.Builder allowFamily(int);
+    method @Nullable public android.os.ParcelFileDescriptor establish();
+    method @NonNull public android.net.VpnService.Builder setBlocking(boolean);
+    method @NonNull public android.net.VpnService.Builder setConfigureIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.net.VpnService.Builder setHttpProxy(@NonNull android.net.ProxyInfo);
+    method @NonNull public android.net.VpnService.Builder setMetered(boolean);
+    method @NonNull public android.net.VpnService.Builder setMtu(int);
+    method @NonNull public android.net.VpnService.Builder setSession(@NonNull String);
+    method @NonNull public android.net.VpnService.Builder setUnderlyingNetworks(@Nullable android.net.Network[]);
+  }
+
+}
+
+package android.net.http {
+
+  public final class HttpResponseCache extends java.net.ResponseCache implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public void delete() throws java.io.IOException;
+    method public void flush();
+    method public java.net.CacheResponse get(java.net.URI, String, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public int getHitCount();
+    method public static android.net.http.HttpResponseCache getInstalled();
+    method public int getNetworkCount();
+    method public int getRequestCount();
+    method public static android.net.http.HttpResponseCache install(java.io.File, long) throws java.io.IOException;
+    method public long maxSize();
+    method public java.net.CacheRequest put(java.net.URI, java.net.URLConnection) throws java.io.IOException;
+    method public long size();
+  }
+
+  public class SslCertificate {
+    ctor @Deprecated public SslCertificate(String, String, String, String);
+    ctor @Deprecated public SslCertificate(String, String, java.util.Date, java.util.Date);
+    ctor public SslCertificate(java.security.cert.X509Certificate);
+    method public android.net.http.SslCertificate.DName getIssuedBy();
+    method public android.net.http.SslCertificate.DName getIssuedTo();
+    method @Deprecated public String getValidNotAfter();
+    method public java.util.Date getValidNotAfterDate();
+    method @Deprecated public String getValidNotBefore();
+    method public java.util.Date getValidNotBeforeDate();
+    method @Nullable public java.security.cert.X509Certificate getX509Certificate();
+    method public static android.net.http.SslCertificate restoreState(android.os.Bundle);
+    method public static android.os.Bundle saveState(android.net.http.SslCertificate);
+  }
+
+  public class SslCertificate.DName {
+    ctor public SslCertificate.DName(String);
+    method public String getCName();
+    method public String getDName();
+    method public String getOName();
+    method public String getUName();
+  }
+
+  public class SslError {
+    ctor @Deprecated public SslError(int, android.net.http.SslCertificate);
+    ctor @Deprecated public SslError(int, java.security.cert.X509Certificate);
+    ctor public SslError(int, android.net.http.SslCertificate, String);
+    ctor public SslError(int, java.security.cert.X509Certificate, String);
+    method public boolean addError(int);
+    method public android.net.http.SslCertificate getCertificate();
+    method public int getPrimaryError();
+    method public String getUrl();
+    method public boolean hasError(int);
+    field public static final int SSL_DATE_INVALID = 4; // 0x4
+    field public static final int SSL_EXPIRED = 1; // 0x1
+    field public static final int SSL_IDMISMATCH = 2; // 0x2
+    field public static final int SSL_INVALID = 5; // 0x5
+    field @Deprecated public static final int SSL_MAX_ERROR = 6; // 0x6
+    field public static final int SSL_NOTYETVALID = 0; // 0x0
+    field public static final int SSL_UNTRUSTED = 3; // 0x3
+  }
+
+  public class X509TrustManagerExtensions {
+    ctor public X509TrustManagerExtensions(javax.net.ssl.X509TrustManager) throws java.lang.IllegalArgumentException;
+    method public java.util.List<java.security.cert.X509Certificate> checkServerTrusted(java.security.cert.X509Certificate[], String, String) throws java.security.cert.CertificateException;
+    method public boolean isSameTrustConfiguration(String, String);
+    method public boolean isUserAddedCertificate(java.security.cert.X509Certificate);
+  }
+
+}
+
+package android.net.nsd {
+
+  public final class NsdManager {
+    method public void discoverServices(String, int, android.net.nsd.NsdManager.DiscoveryListener);
+    method public void registerService(android.net.nsd.NsdServiceInfo, int, android.net.nsd.NsdManager.RegistrationListener);
+    method public void resolveService(android.net.nsd.NsdServiceInfo, android.net.nsd.NsdManager.ResolveListener);
+    method public void stopServiceDiscovery(android.net.nsd.NsdManager.DiscoveryListener);
+    method public void unregisterService(android.net.nsd.NsdManager.RegistrationListener);
+    field public static final String ACTION_NSD_STATE_CHANGED = "android.net.nsd.STATE_CHANGED";
+    field public static final String EXTRA_NSD_STATE = "nsd_state";
+    field public static final int FAILURE_ALREADY_ACTIVE = 3; // 0x3
+    field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0
+    field public static final int FAILURE_MAX_LIMIT = 4; // 0x4
+    field public static final int NSD_STATE_DISABLED = 1; // 0x1
+    field public static final int NSD_STATE_ENABLED = 2; // 0x2
+    field public static final int PROTOCOL_DNS_SD = 1; // 0x1
+  }
+
+  public static interface NsdManager.DiscoveryListener {
+    method public void onDiscoveryStarted(String);
+    method public void onDiscoveryStopped(String);
+    method public void onServiceFound(android.net.nsd.NsdServiceInfo);
+    method public void onServiceLost(android.net.nsd.NsdServiceInfo);
+    method public void onStartDiscoveryFailed(String, int);
+    method public void onStopDiscoveryFailed(String, int);
+  }
+
+  public static interface NsdManager.RegistrationListener {
+    method public void onRegistrationFailed(android.net.nsd.NsdServiceInfo, int);
+    method public void onServiceRegistered(android.net.nsd.NsdServiceInfo);
+    method public void onServiceUnregistered(android.net.nsd.NsdServiceInfo);
+    method public void onUnregistrationFailed(android.net.nsd.NsdServiceInfo, int);
+  }
+
+  public static interface NsdManager.ResolveListener {
+    method public void onResolveFailed(android.net.nsd.NsdServiceInfo, int);
+    method public void onServiceResolved(android.net.nsd.NsdServiceInfo);
+  }
+
+  public final class NsdServiceInfo implements android.os.Parcelable {
+    ctor public NsdServiceInfo();
+    method public int describeContents();
+    method public java.util.Map<java.lang.String,byte[]> getAttributes();
+    method public java.net.InetAddress getHost();
+    method public int getPort();
+    method public String getServiceName();
+    method public String getServiceType();
+    method public void removeAttribute(String);
+    method public void setAttribute(String, String);
+    method public void setHost(java.net.InetAddress);
+    method public void setPort(int);
+    method public void setServiceName(String);
+    method public void setServiceType(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.NsdServiceInfo> CREATOR;
+  }
+
+}
+
+package android.net.rtp {
+
+  @Deprecated public class AudioCodec {
+    method @Deprecated public static android.net.rtp.AudioCodec getCodec(int, String, String);
+    method @Deprecated public static android.net.rtp.AudioCodec[] getCodecs();
+    field @Deprecated public static final android.net.rtp.AudioCodec AMR;
+    field @Deprecated public static final android.net.rtp.AudioCodec GSM;
+    field @Deprecated public static final android.net.rtp.AudioCodec GSM_EFR;
+    field @Deprecated public static final android.net.rtp.AudioCodec PCMA;
+    field @Deprecated public static final android.net.rtp.AudioCodec PCMU;
+    field @Deprecated public final String fmtp;
+    field @Deprecated public final String rtpmap;
+    field @Deprecated public final int type;
+  }
+
+  @Deprecated public class AudioGroup {
+    ctor @Deprecated public AudioGroup();
+    ctor @Deprecated public AudioGroup(@NonNull android.content.Context);
+    method @Deprecated public void clear();
+    method @Deprecated public int getMode();
+    method @Deprecated public android.net.rtp.AudioStream[] getStreams();
+    method @Deprecated public void sendDtmf(int);
+    method @Deprecated public void setMode(int);
+    field @Deprecated public static final int MODE_ECHO_SUPPRESSION = 3; // 0x3
+    field @Deprecated public static final int MODE_MUTED = 1; // 0x1
+    field @Deprecated public static final int MODE_NORMAL = 2; // 0x2
+    field @Deprecated public static final int MODE_ON_HOLD = 0; // 0x0
+  }
+
+  @Deprecated public class AudioStream extends android.net.rtp.RtpStream {
+    ctor @Deprecated public AudioStream(java.net.InetAddress) throws java.net.SocketException;
+    method @Deprecated public android.net.rtp.AudioCodec getCodec();
+    method @Deprecated public int getDtmfType();
+    method @Deprecated public android.net.rtp.AudioGroup getGroup();
+    method @Deprecated public final boolean isBusy();
+    method @Deprecated public void join(android.net.rtp.AudioGroup);
+    method @Deprecated public void setCodec(android.net.rtp.AudioCodec);
+    method @Deprecated public void setDtmfType(int);
+  }
+
+  @Deprecated public class RtpStream {
+    method @Deprecated public void associate(java.net.InetAddress, int);
+    method @Deprecated public java.net.InetAddress getLocalAddress();
+    method @Deprecated public int getLocalPort();
+    method @Deprecated public int getMode();
+    method @Deprecated public java.net.InetAddress getRemoteAddress();
+    method @Deprecated public int getRemotePort();
+    method @Deprecated public boolean isBusy();
+    method @Deprecated public void release();
+    method @Deprecated public void setMode(int);
+    field @Deprecated public static final int MODE_NORMAL = 0; // 0x0
+    field @Deprecated public static final int MODE_RECEIVE_ONLY = 2; // 0x2
+    field @Deprecated public static final int MODE_SEND_ONLY = 1; // 0x1
+  }
+
+}
+
+package android.net.sip {
+
+  @Deprecated public class SipAudioCall {
+    ctor @Deprecated public SipAudioCall(android.content.Context, android.net.sip.SipProfile);
+    method @Deprecated public void answerCall(int) throws android.net.sip.SipException;
+    method @Deprecated public void attachCall(android.net.sip.SipSession, String) throws android.net.sip.SipException;
+    method @Deprecated public void close();
+    method @Deprecated public void continueCall(int) throws android.net.sip.SipException;
+    method @Deprecated public void endCall() throws android.net.sip.SipException;
+    method @Deprecated public android.net.sip.SipProfile getLocalProfile();
+    method @Deprecated public android.net.sip.SipProfile getPeerProfile();
+    method @Deprecated public int getState();
+    method @Deprecated public void holdCall(int) throws android.net.sip.SipException;
+    method @Deprecated public boolean isInCall();
+    method @Deprecated public boolean isMuted();
+    method @Deprecated public boolean isOnHold();
+    method @Deprecated public void makeCall(android.net.sip.SipProfile, android.net.sip.SipSession, int) throws android.net.sip.SipException;
+    method @Deprecated public void sendDtmf(int);
+    method @Deprecated public void sendDtmf(int, android.os.Message);
+    method @Deprecated public void setListener(android.net.sip.SipAudioCall.Listener);
+    method @Deprecated public void setListener(android.net.sip.SipAudioCall.Listener, boolean);
+    method @Deprecated public void setSpeakerMode(boolean);
+    method @Deprecated public void startAudio();
+    method @Deprecated public void toggleMute();
+  }
+
+  @Deprecated public static class SipAudioCall.Listener {
+    ctor @Deprecated public SipAudioCall.Listener();
+    method @Deprecated public void onCallBusy(android.net.sip.SipAudioCall);
+    method @Deprecated public void onCallEnded(android.net.sip.SipAudioCall);
+    method @Deprecated public void onCallEstablished(android.net.sip.SipAudioCall);
+    method @Deprecated public void onCallHeld(android.net.sip.SipAudioCall);
+    method @Deprecated public void onCalling(android.net.sip.SipAudioCall);
+    method @Deprecated public void onChanged(android.net.sip.SipAudioCall);
+    method @Deprecated public void onError(android.net.sip.SipAudioCall, int, String);
+    method @Deprecated public void onReadyToCall(android.net.sip.SipAudioCall);
+    method @Deprecated public void onRinging(android.net.sip.SipAudioCall, android.net.sip.SipProfile);
+    method @Deprecated public void onRingingBack(android.net.sip.SipAudioCall);
+  }
+
+  @Deprecated public class SipErrorCode {
+    method @Deprecated public static String toString(int);
+    field @Deprecated public static final int CLIENT_ERROR = -4; // 0xfffffffc
+    field @Deprecated public static final int CROSS_DOMAIN_AUTHENTICATION = -11; // 0xfffffff5
+    field @Deprecated public static final int DATA_CONNECTION_LOST = -10; // 0xfffffff6
+    field @Deprecated public static final int INVALID_CREDENTIALS = -8; // 0xfffffff8
+    field @Deprecated public static final int INVALID_REMOTE_URI = -6; // 0xfffffffa
+    field @Deprecated public static final int IN_PROGRESS = -9; // 0xfffffff7
+    field @Deprecated public static final int NO_ERROR = 0; // 0x0
+    field @Deprecated public static final int PEER_NOT_REACHABLE = -7; // 0xfffffff9
+    field @Deprecated public static final int SERVER_ERROR = -2; // 0xfffffffe
+    field @Deprecated public static final int SERVER_UNREACHABLE = -12; // 0xfffffff4
+    field @Deprecated public static final int SOCKET_ERROR = -1; // 0xffffffff
+    field @Deprecated public static final int TIME_OUT = -5; // 0xfffffffb
+    field @Deprecated public static final int TRANSACTION_TERMINTED = -3; // 0xfffffffd
+  }
+
+  @Deprecated public class SipException extends java.lang.Exception {
+    ctor @Deprecated public SipException();
+    ctor @Deprecated public SipException(String);
+    ctor @Deprecated public SipException(String, Throwable);
+  }
+
+  @Deprecated public class SipManager {
+    method @Deprecated public void close(String) throws android.net.sip.SipException;
+    method @Deprecated public android.net.sip.SipSession createSipSession(android.net.sip.SipProfile, android.net.sip.SipSession.Listener) throws android.net.sip.SipException;
+    method @Deprecated public static String getCallId(android.content.Intent);
+    method @Deprecated public static String getOfferSessionDescription(android.content.Intent);
+    method @Deprecated public android.net.sip.SipSession getSessionFor(android.content.Intent) throws android.net.sip.SipException;
+    method @Deprecated public static boolean isApiSupported(android.content.Context);
+    method @Deprecated public static boolean isIncomingCallIntent(android.content.Intent);
+    method @Deprecated public boolean isOpened(String) throws android.net.sip.SipException;
+    method @Deprecated public boolean isRegistered(String) throws android.net.sip.SipException;
+    method @Deprecated public static boolean isSipWifiOnly(android.content.Context);
+    method @Deprecated public static boolean isVoipSupported(android.content.Context);
+    method @Deprecated public android.net.sip.SipAudioCall makeAudioCall(android.net.sip.SipProfile, android.net.sip.SipProfile, android.net.sip.SipAudioCall.Listener, int) throws android.net.sip.SipException;
+    method @Deprecated public android.net.sip.SipAudioCall makeAudioCall(String, String, android.net.sip.SipAudioCall.Listener, int) throws android.net.sip.SipException;
+    method @Deprecated public static android.net.sip.SipManager newInstance(android.content.Context);
+    method @Deprecated public void open(android.net.sip.SipProfile) throws android.net.sip.SipException;
+    method @Deprecated public void open(android.net.sip.SipProfile, android.app.PendingIntent, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+    method @Deprecated public void register(android.net.sip.SipProfile, int, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+    method @Deprecated public void setRegistrationListener(String, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+    method @Deprecated public android.net.sip.SipAudioCall takeAudioCall(android.content.Intent, android.net.sip.SipAudioCall.Listener) throws android.net.sip.SipException;
+    method @Deprecated public void unregister(android.net.sip.SipProfile, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+    field @Deprecated public static final String EXTRA_CALL_ID = "android:sipCallID";
+    field @Deprecated public static final String EXTRA_OFFER_SD = "android:sipOfferSD";
+    field @Deprecated public static final int INCOMING_CALL_RESULT_CODE = 101; // 0x65
+  }
+
+  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
+    method @Deprecated public int describeContents();
+    method @Deprecated public String getAuthUserName();
+    method @Deprecated public boolean getAutoRegistration();
+    method @Deprecated public String getDisplayName();
+    method @Deprecated public String getPassword();
+    method @Deprecated public int getPort();
+    method @Deprecated public String getProfileName();
+    method @Deprecated public String getProtocol();
+    method @Deprecated public String getProxyAddress();
+    method @Deprecated public boolean getSendKeepAlive();
+    method @Deprecated public String getSipDomain();
+    method @Deprecated public String getUriString();
+    method @Deprecated public String getUserName();
+    method @Deprecated public void setCallingUid(int);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final android.os.Parcelable.Creator<android.net.sip.SipProfile> CREATOR;
+  }
+
+  @Deprecated public static class SipProfile.Builder {
+    ctor @Deprecated public SipProfile.Builder(android.net.sip.SipProfile);
+    ctor @Deprecated public SipProfile.Builder(String) throws java.text.ParseException;
+    ctor @Deprecated public SipProfile.Builder(String, String) throws java.text.ParseException;
+    method @Deprecated public android.net.sip.SipProfile build();
+    method @Deprecated public android.net.sip.SipProfile.Builder setAuthUserName(String);
+    method @Deprecated public android.net.sip.SipProfile.Builder setAutoRegistration(boolean);
+    method @Deprecated public android.net.sip.SipProfile.Builder setDisplayName(String);
+    method @Deprecated public android.net.sip.SipProfile.Builder setOutboundProxy(String);
+    method @Deprecated public android.net.sip.SipProfile.Builder setPassword(String);
+    method @Deprecated public android.net.sip.SipProfile.Builder setPort(int) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.net.sip.SipProfile.Builder setProfileName(String);
+    method @Deprecated public android.net.sip.SipProfile.Builder setProtocol(String) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.net.sip.SipProfile.Builder setSendKeepAlive(boolean);
+  }
+
+  @Deprecated public interface SipRegistrationListener {
+    method @Deprecated public void onRegistering(String);
+    method @Deprecated public void onRegistrationDone(String, long);
+    method @Deprecated public void onRegistrationFailed(String, int, String);
+  }
+
+  @Deprecated public final class SipSession {
+    method @Deprecated public void answerCall(String, int);
+    method @Deprecated public void changeCall(String, int);
+    method @Deprecated public void endCall();
+    method @Deprecated public String getCallId();
+    method @Deprecated public String getLocalIp();
+    method @Deprecated public android.net.sip.SipProfile getLocalProfile();
+    method @Deprecated public android.net.sip.SipProfile getPeerProfile();
+    method @Deprecated public int getState();
+    method @Deprecated public boolean isInCall();
+    method @Deprecated public void makeCall(android.net.sip.SipProfile, String, int);
+    method @Deprecated public void register(int);
+    method @Deprecated public void setListener(android.net.sip.SipSession.Listener);
+    method @Deprecated public void unregister();
+  }
+
+  @Deprecated public static class SipSession.Listener {
+    ctor @Deprecated public SipSession.Listener();
+    method @Deprecated public void onCallBusy(android.net.sip.SipSession);
+    method @Deprecated public void onCallChangeFailed(android.net.sip.SipSession, int, String);
+    method @Deprecated public void onCallEnded(android.net.sip.SipSession);
+    method @Deprecated public void onCallEstablished(android.net.sip.SipSession, String);
+    method @Deprecated public void onCalling(android.net.sip.SipSession);
+    method @Deprecated public void onError(android.net.sip.SipSession, int, String);
+    method @Deprecated public void onRegistering(android.net.sip.SipSession);
+    method @Deprecated public void onRegistrationDone(android.net.sip.SipSession, int);
+    method @Deprecated public void onRegistrationFailed(android.net.sip.SipSession, int, String);
+    method @Deprecated public void onRegistrationTimeout(android.net.sip.SipSession);
+    method @Deprecated public void onRinging(android.net.sip.SipSession, android.net.sip.SipProfile, String);
+    method @Deprecated public void onRingingBack(android.net.sip.SipSession);
+  }
+
+  @Deprecated public static class SipSession.State {
+    method @Deprecated public static String toString(int);
+    field @Deprecated public static final int DEREGISTERING = 2; // 0x2
+    field @Deprecated public static final int INCOMING_CALL = 3; // 0x3
+    field @Deprecated public static final int INCOMING_CALL_ANSWERING = 4; // 0x4
+    field @Deprecated public static final int IN_CALL = 8; // 0x8
+    field @Deprecated public static final int NOT_DEFINED = 101; // 0x65
+    field @Deprecated public static final int OUTGOING_CALL = 5; // 0x5
+    field @Deprecated public static final int OUTGOING_CALL_CANCELING = 7; // 0x7
+    field @Deprecated public static final int OUTGOING_CALL_RING_BACK = 6; // 0x6
+    field @Deprecated public static final int PINGING = 9; // 0x9
+    field @Deprecated public static final int READY_TO_CALL = 0; // 0x0
+    field @Deprecated public static final int REGISTERING = 1; // 0x1
+  }
+
+}
+
+package android.net.vcn {
+
+  public final class VcnConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Set<android.net.vcn.VcnGatewayConnectionConfig> getGatewayConnectionConfigs();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnConfig> CREATOR;
+  }
+
+  public static final class VcnConfig.Builder {
+    ctor public VcnConfig.Builder(@NonNull android.content.Context);
+    method @NonNull public android.net.vcn.VcnConfig.Builder addGatewayConnectionConfig(@NonNull android.net.vcn.VcnGatewayConnectionConfig);
+    method @NonNull public android.net.vcn.VcnConfig build();
+  }
+
+  public final class VcnGatewayConnectionConfig {
+    method @NonNull public int[] getExposedCapabilities();
+    method @NonNull public String getGatewayConnectionName();
+    method @IntRange(from=0x500) public int getMaxMtu();
+    method @NonNull public long[] getRetryIntervalsMillis();
+  }
+
+  public static final class VcnGatewayConnectionConfig.Builder {
+    ctor public VcnGatewayConnectionConfig.Builder(@NonNull String, @NonNull android.net.ipsec.ike.IkeTunnelConnectionParams);
+    method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder addExposedCapability(int);
+    method @NonNull public android.net.vcn.VcnGatewayConnectionConfig build();
+    method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder removeExposedCapability(int);
+    method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setMaxMtu(@IntRange(from=0x500) int);
+    method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setRetryIntervalsMillis(@NonNull long[]);
+  }
+
+  public class VcnManager {
+    method @RequiresPermission("carrier privileges") public void clearVcnConfig(@NonNull android.os.ParcelUuid) throws java.io.IOException;
+    method @NonNull public java.util.List<android.os.ParcelUuid> getConfiguredSubscriptionGroups();
+    method public void registerVcnStatusCallback(@NonNull android.os.ParcelUuid, @NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnStatusCallback);
+    method @RequiresPermission("carrier privileges") public void setVcnConfig(@NonNull android.os.ParcelUuid, @NonNull android.net.vcn.VcnConfig) throws java.io.IOException;
+    method public void unregisterVcnStatusCallback(@NonNull android.net.vcn.VcnManager.VcnStatusCallback);
+    field public static final int VCN_ERROR_CODE_CONFIG_ERROR = 1; // 0x1
+    field public static final int VCN_ERROR_CODE_INTERNAL_ERROR = 0; // 0x0
+    field public static final int VCN_ERROR_CODE_NETWORK_ERROR = 2; // 0x2
+    field public static final int VCN_STATUS_CODE_ACTIVE = 2; // 0x2
+    field public static final int VCN_STATUS_CODE_INACTIVE = 1; // 0x1
+    field public static final int VCN_STATUS_CODE_NOT_CONFIGURED = 0; // 0x0
+    field public static final int VCN_STATUS_CODE_SAFE_MODE = 3; // 0x3
+  }
+
+  public abstract static class VcnManager.VcnStatusCallback {
+    ctor public VcnManager.VcnStatusCallback();
+    method public abstract void onGatewayConnectionError(@NonNull String, int, @Nullable Throwable);
+    method public abstract void onStatusChanged(int);
+  }
+
+}
+
+package android.nfc {
+
+  public class FormatException extends java.lang.Exception {
+    ctor public FormatException();
+    ctor public FormatException(String);
+    ctor public FormatException(String, Throwable);
+  }
+
+  public final class NdefMessage implements android.os.Parcelable {
+    ctor public NdefMessage(byte[]) throws android.nfc.FormatException;
+    ctor public NdefMessage(android.nfc.NdefRecord, android.nfc.NdefRecord...);
+    ctor public NdefMessage(android.nfc.NdefRecord[]);
+    method public int describeContents();
+    method public int getByteArrayLength();
+    method public android.nfc.NdefRecord[] getRecords();
+    method public byte[] toByteArray();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.NdefMessage> CREATOR;
+  }
+
+  public final class NdefRecord implements android.os.Parcelable {
+    ctor public NdefRecord(short, byte[], byte[], byte[]);
+    ctor @Deprecated public NdefRecord(byte[]) throws android.nfc.FormatException;
+    method public static android.nfc.NdefRecord createApplicationRecord(String);
+    method public static android.nfc.NdefRecord createExternal(String, String, byte[]);
+    method public static android.nfc.NdefRecord createMime(String, byte[]);
+    method public static android.nfc.NdefRecord createTextRecord(String, String);
+    method public static android.nfc.NdefRecord createUri(android.net.Uri);
+    method public static android.nfc.NdefRecord createUri(String);
+    method public int describeContents();
+    method public byte[] getId();
+    method public byte[] getPayload();
+    method public short getTnf();
+    method public byte[] getType();
+    method @Deprecated public byte[] toByteArray();
+    method public String toMimeType();
+    method public android.net.Uri toUri();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.NdefRecord> CREATOR;
+    field public static final byte[] RTD_ALTERNATIVE_CARRIER;
+    field public static final byte[] RTD_HANDOVER_CARRIER;
+    field public static final byte[] RTD_HANDOVER_REQUEST;
+    field public static final byte[] RTD_HANDOVER_SELECT;
+    field public static final byte[] RTD_SMART_POSTER;
+    field public static final byte[] RTD_TEXT;
+    field public static final byte[] RTD_URI;
+    field public static final short TNF_ABSOLUTE_URI = 3; // 0x3
+    field public static final short TNF_EMPTY = 0; // 0x0
+    field public static final short TNF_EXTERNAL_TYPE = 4; // 0x4
+    field public static final short TNF_MIME_MEDIA = 2; // 0x2
+    field public static final short TNF_UNCHANGED = 6; // 0x6
+    field public static final short TNF_UNKNOWN = 5; // 0x5
+    field public static final short TNF_WELL_KNOWN = 1; // 0x1
+  }
+
+  public final class NfcAdapter {
+    method public void disableForegroundDispatch(android.app.Activity);
+    method @Deprecated public void disableForegroundNdefPush(android.app.Activity);
+    method public void disableReaderMode(android.app.Activity);
+    method public void enableForegroundDispatch(android.app.Activity, android.app.PendingIntent, android.content.IntentFilter[], String[][]);
+    method @Deprecated public void enableForegroundNdefPush(android.app.Activity, android.nfc.NdefMessage);
+    method public void enableReaderMode(android.app.Activity, android.nfc.NfcAdapter.ReaderCallback, int, android.os.Bundle);
+    method public static android.nfc.NfcAdapter getDefaultAdapter(android.content.Context);
+    method public boolean ignore(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler);
+    method @Deprecated public boolean invokeBeam(android.app.Activity);
+    method public boolean isEnabled();
+    method @Deprecated public boolean isNdefPushEnabled();
+    method public boolean isSecureNfcEnabled();
+    method public boolean isSecureNfcSupported();
+    method @Deprecated public void setBeamPushUris(android.net.Uri[], android.app.Activity);
+    method @Deprecated public void setBeamPushUrisCallback(android.nfc.NfcAdapter.CreateBeamUrisCallback, android.app.Activity);
+    method @Deprecated public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...);
+    method @Deprecated public void setNdefPushMessageCallback(android.nfc.NfcAdapter.CreateNdefMessageCallback, android.app.Activity, android.app.Activity...);
+    method @Deprecated public void setOnNdefPushCompleteCallback(android.nfc.NfcAdapter.OnNdefPushCompleteCallback, android.app.Activity, android.app.Activity...);
+    field public static final String ACTION_ADAPTER_STATE_CHANGED = "android.nfc.action.ADAPTER_STATE_CHANGED";
+    field public static final String ACTION_NDEF_DISCOVERED = "android.nfc.action.NDEF_DISCOVERED";
+    field @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public static final String ACTION_PREFERRED_PAYMENT_CHANGED = "android.nfc.action.PREFERRED_PAYMENT_CHANGED";
+    field public static final String ACTION_TAG_DISCOVERED = "android.nfc.action.TAG_DISCOVERED";
+    field public static final String ACTION_TECH_DISCOVERED = "android.nfc.action.TECH_DISCOVERED";
+    field @RequiresPermission(android.Manifest.permission.NFC_TRANSACTION_EVENT) public static final String ACTION_TRANSACTION_DETECTED = "android.nfc.action.TRANSACTION_DETECTED";
+    field public static final String EXTRA_ADAPTER_STATE = "android.nfc.extra.ADAPTER_STATE";
+    field public static final String EXTRA_AID = "android.nfc.extra.AID";
+    field public static final String EXTRA_DATA = "android.nfc.extra.DATA";
+    field public static final String EXTRA_ID = "android.nfc.extra.ID";
+    field public static final String EXTRA_NDEF_MESSAGES = "android.nfc.extra.NDEF_MESSAGES";
+    field public static final String EXTRA_PREFERRED_PAYMENT_CHANGED_REASON = "android.nfc.extra.PREFERRED_PAYMENT_CHANGED_REASON";
+    field public static final String EXTRA_READER_PRESENCE_CHECK_DELAY = "presence";
+    field public static final String EXTRA_SECURE_ELEMENT_NAME = "android.nfc.extra.SECURE_ELEMENT_NAME";
+    field public static final String EXTRA_TAG = "android.nfc.extra.TAG";
+    field public static final int FLAG_READER_NFC_A = 1; // 0x1
+    field public static final int FLAG_READER_NFC_B = 2; // 0x2
+    field public static final int FLAG_READER_NFC_BARCODE = 16; // 0x10
+    field public static final int FLAG_READER_NFC_F = 4; // 0x4
+    field public static final int FLAG_READER_NFC_V = 8; // 0x8
+    field public static final int FLAG_READER_NO_PLATFORM_SOUNDS = 256; // 0x100
+    field public static final int FLAG_READER_SKIP_NDEF_CHECK = 128; // 0x80
+    field public static final int PREFERRED_PAYMENT_CHANGED = 2; // 0x2
+    field public static final int PREFERRED_PAYMENT_LOADED = 1; // 0x1
+    field public static final int PREFERRED_PAYMENT_UPDATED = 3; // 0x3
+    field public static final int STATE_OFF = 1; // 0x1
+    field public static final int STATE_ON = 3; // 0x3
+    field public static final int STATE_TURNING_OFF = 4; // 0x4
+    field public static final int STATE_TURNING_ON = 2; // 0x2
+  }
+
+  @Deprecated public static interface NfcAdapter.CreateBeamUrisCallback {
+    method @Deprecated public android.net.Uri[] createBeamUris(android.nfc.NfcEvent);
+  }
+
+  @Deprecated public static interface NfcAdapter.CreateNdefMessageCallback {
+    method @Deprecated public android.nfc.NdefMessage createNdefMessage(android.nfc.NfcEvent);
+  }
+
+  @Deprecated public static interface NfcAdapter.OnNdefPushCompleteCallback {
+    method @Deprecated public void onNdefPushComplete(android.nfc.NfcEvent);
+  }
+
+  public static interface NfcAdapter.OnTagRemovedListener {
+    method public void onTagRemoved();
+  }
+
+  public static interface NfcAdapter.ReaderCallback {
+    method public void onTagDiscovered(android.nfc.Tag);
+  }
+
+  public final class NfcEvent {
+    field public final android.nfc.NfcAdapter nfcAdapter;
+    field public final int peerLlcpMajorVersion;
+    field public final int peerLlcpMinorVersion;
+  }
+
+  public final class NfcManager {
+    method public android.nfc.NfcAdapter getDefaultAdapter();
+  }
+
+  public final class Tag implements android.os.Parcelable {
+    method public int describeContents();
+    method public byte[] getId();
+    method public String[] getTechList();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.Tag> CREATOR;
+  }
+
+  public class TagLostException extends java.io.IOException {
+    ctor public TagLostException();
+    ctor public TagLostException(String);
+  }
+
+}
+
+package android.nfc.cardemulation {
+
+  public final class CardEmulation {
+    method public boolean categoryAllowsForegroundPreference(String);
+    method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public java.util.List<java.lang.String> getAidsForPreferredPaymentService();
+    method public java.util.List<java.lang.String> getAidsForService(android.content.ComponentName, String);
+    method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public CharSequence getDescriptionForPreferredPaymentService();
+    method public static android.nfc.cardemulation.CardEmulation getInstance(android.nfc.NfcAdapter);
+    method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public String getRouteDestinationForPreferredPaymentService();
+    method public int getSelectionModeForCategory(String);
+    method public boolean isDefaultServiceForAid(android.content.ComponentName, String);
+    method public boolean isDefaultServiceForCategory(android.content.ComponentName, String);
+    method public boolean registerAidsForService(android.content.ComponentName, String, java.util.List<java.lang.String>);
+    method public boolean removeAidsForService(android.content.ComponentName, String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NFC) public boolean setOffHostForService(@NonNull android.content.ComponentName, @NonNull String);
+    method public boolean setPreferredService(android.app.Activity, android.content.ComponentName);
+    method public boolean supportsAidPrefixRegistration();
+    method @NonNull @RequiresPermission(android.Manifest.permission.NFC) public boolean unsetOffHostForService(@NonNull android.content.ComponentName);
+    method public boolean unsetPreferredService(android.app.Activity);
+    field public static final String ACTION_CHANGE_DEFAULT = "android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT";
+    field public static final String CATEGORY_OTHER = "other";
+    field public static final String CATEGORY_PAYMENT = "payment";
+    field public static final String EXTRA_CATEGORY = "category";
+    field public static final String EXTRA_SERVICE_COMPONENT = "component";
+    field public static final int SELECTION_MODE_ALWAYS_ASK = 1; // 0x1
+    field public static final int SELECTION_MODE_ASK_IF_CONFLICT = 2; // 0x2
+    field public static final int SELECTION_MODE_PREFER_DEFAULT = 0; // 0x0
+  }
+
+  public abstract class HostApduService extends android.app.Service {
+    ctor public HostApduService();
+    method public final void notifyUnhandled();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract void onDeactivated(int);
+    method public abstract byte[] processCommandApdu(byte[], android.os.Bundle);
+    method public final void sendResponseApdu(byte[]);
+    field public static final int DEACTIVATION_DESELECTED = 1; // 0x1
+    field public static final int DEACTIVATION_LINK_LOSS = 0; // 0x0
+    field public static final String SERVICE_INTERFACE = "android.nfc.cardemulation.action.HOST_APDU_SERVICE";
+    field public static final String SERVICE_META_DATA = "android.nfc.cardemulation.host_apdu_service";
+  }
+
+  public abstract class HostNfcFService extends android.app.Service {
+    ctor public HostNfcFService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract void onDeactivated(int);
+    method public abstract byte[] processNfcFPacket(byte[], android.os.Bundle);
+    method public final void sendResponsePacket(byte[]);
+    field public static final int DEACTIVATION_LINK_LOSS = 0; // 0x0
+    field public static final String SERVICE_INTERFACE = "android.nfc.cardemulation.action.HOST_NFCF_SERVICE";
+    field public static final String SERVICE_META_DATA = "android.nfc.cardemulation.host_nfcf_service";
+  }
+
+  public final class NfcFCardEmulation {
+    method public boolean disableService(android.app.Activity) throws java.lang.RuntimeException;
+    method public boolean enableService(android.app.Activity, android.content.ComponentName) throws java.lang.RuntimeException;
+    method public static android.nfc.cardemulation.NfcFCardEmulation getInstance(android.nfc.NfcAdapter);
+    method public String getNfcid2ForService(android.content.ComponentName) throws java.lang.RuntimeException;
+    method public String getSystemCodeForService(android.content.ComponentName) throws java.lang.RuntimeException;
+    method public boolean registerSystemCodeForService(android.content.ComponentName, String) throws java.lang.RuntimeException;
+    method public boolean setNfcid2ForService(android.content.ComponentName, String) throws java.lang.RuntimeException;
+    method public boolean unregisterSystemCodeForService(android.content.ComponentName) throws java.lang.RuntimeException;
+  }
+
+  public abstract class OffHostApduService extends android.app.Service {
+    ctor public OffHostApduService();
+    field public static final String SERVICE_INTERFACE = "android.nfc.cardemulation.action.OFF_HOST_APDU_SERVICE";
+    field public static final String SERVICE_META_DATA = "android.nfc.cardemulation.off_host_apdu_service";
+  }
+
+}
+
+package android.nfc.tech {
+
+  public final class IsoDep implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.IsoDep get(android.nfc.Tag);
+    method public byte[] getHiLayerResponse();
+    method public byte[] getHistoricalBytes();
+    method public int getMaxTransceiveLength();
+    method public android.nfc.Tag getTag();
+    method public int getTimeout();
+    method public boolean isConnected();
+    method public boolean isExtendedLengthApduSupported();
+    method public void setTimeout(int);
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+  }
+
+  public final class MifareClassic implements android.nfc.tech.TagTechnology {
+    method public boolean authenticateSectorWithKeyA(int, byte[]) throws java.io.IOException;
+    method public boolean authenticateSectorWithKeyB(int, byte[]) throws java.io.IOException;
+    method public int blockToSector(int);
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public void decrement(int, int) throws java.io.IOException;
+    method public static android.nfc.tech.MifareClassic get(android.nfc.Tag);
+    method public int getBlockCount();
+    method public int getBlockCountInSector(int);
+    method public int getMaxTransceiveLength();
+    method public int getSectorCount();
+    method public int getSize();
+    method public android.nfc.Tag getTag();
+    method public int getTimeout();
+    method public int getType();
+    method public void increment(int, int) throws java.io.IOException;
+    method public boolean isConnected();
+    method public byte[] readBlock(int) throws java.io.IOException;
+    method public void restore(int) throws java.io.IOException;
+    method public int sectorToBlock(int);
+    method public void setTimeout(int);
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+    method public void transfer(int) throws java.io.IOException;
+    method public void writeBlock(int, byte[]) throws java.io.IOException;
+    field public static final int BLOCK_SIZE = 16; // 0x10
+    field public static final byte[] KEY_DEFAULT;
+    field public static final byte[] KEY_MIFARE_APPLICATION_DIRECTORY;
+    field public static final byte[] KEY_NFC_FORUM;
+    field public static final int SIZE_1K = 1024; // 0x400
+    field public static final int SIZE_2K = 2048; // 0x800
+    field public static final int SIZE_4K = 4096; // 0x1000
+    field public static final int SIZE_MINI = 320; // 0x140
+    field public static final int TYPE_CLASSIC = 0; // 0x0
+    field public static final int TYPE_PLUS = 1; // 0x1
+    field public static final int TYPE_PRO = 2; // 0x2
+    field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class MifareUltralight implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.MifareUltralight get(android.nfc.Tag);
+    method public int getMaxTransceiveLength();
+    method public android.nfc.Tag getTag();
+    method public int getTimeout();
+    method public int getType();
+    method public boolean isConnected();
+    method public byte[] readPages(int) throws java.io.IOException;
+    method public void setTimeout(int);
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+    method public void writePage(int, byte[]) throws java.io.IOException;
+    field public static final int PAGE_SIZE = 4; // 0x4
+    field public static final int TYPE_ULTRALIGHT = 1; // 0x1
+    field public static final int TYPE_ULTRALIGHT_C = 2; // 0x2
+    field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class Ndef implements android.nfc.tech.TagTechnology {
+    method public boolean canMakeReadOnly();
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.Ndef get(android.nfc.Tag);
+    method public android.nfc.NdefMessage getCachedNdefMessage();
+    method public int getMaxSize();
+    method public android.nfc.NdefMessage getNdefMessage() throws android.nfc.FormatException, java.io.IOException;
+    method public android.nfc.Tag getTag();
+    method public String getType();
+    method public boolean isConnected();
+    method public boolean isWritable();
+    method public boolean makeReadOnly() throws java.io.IOException;
+    method public void writeNdefMessage(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException;
+    field public static final String MIFARE_CLASSIC = "com.nxp.ndef.mifareclassic";
+    field public static final String NFC_FORUM_TYPE_1 = "org.nfcforum.ndef.type1";
+    field public static final String NFC_FORUM_TYPE_2 = "org.nfcforum.ndef.type2";
+    field public static final String NFC_FORUM_TYPE_3 = "org.nfcforum.ndef.type3";
+    field public static final String NFC_FORUM_TYPE_4 = "org.nfcforum.ndef.type4";
+  }
+
+  public final class NdefFormatable implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public void format(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException;
+    method public void formatReadOnly(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException;
+    method public static android.nfc.tech.NdefFormatable get(android.nfc.Tag);
+    method public android.nfc.Tag getTag();
+    method public boolean isConnected();
+  }
+
+  public final class NfcA implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.NfcA get(android.nfc.Tag);
+    method public byte[] getAtqa();
+    method public int getMaxTransceiveLength();
+    method public short getSak();
+    method public android.nfc.Tag getTag();
+    method public int getTimeout();
+    method public boolean isConnected();
+    method public void setTimeout(int);
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+  }
+
+  public final class NfcB implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.NfcB get(android.nfc.Tag);
+    method public byte[] getApplicationData();
+    method public int getMaxTransceiveLength();
+    method public byte[] getProtocolInfo();
+    method public android.nfc.Tag getTag();
+    method public boolean isConnected();
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+  }
+
+  public final class NfcBarcode implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.NfcBarcode get(android.nfc.Tag);
+    method public byte[] getBarcode();
+    method public android.nfc.Tag getTag();
+    method public int getType();
+    method public boolean isConnected();
+    field public static final int TYPE_KOVIO = 1; // 0x1
+    field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class NfcF implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.NfcF get(android.nfc.Tag);
+    method public byte[] getManufacturer();
+    method public int getMaxTransceiveLength();
+    method public byte[] getSystemCode();
+    method public android.nfc.Tag getTag();
+    method public int getTimeout();
+    method public boolean isConnected();
+    method public void setTimeout(int);
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+  }
+
+  public final class NfcV implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.NfcV get(android.nfc.Tag);
+    method public byte getDsfId();
+    method public int getMaxTransceiveLength();
+    method public byte getResponseFlags();
+    method public android.nfc.Tag getTag();
+    method public boolean isConnected();
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+  }
+
+  public interface TagTechnology extends java.io.Closeable {
+    method public void connect() throws java.io.IOException;
+    method public android.nfc.Tag getTag();
+    method public boolean isConnected();
+  }
+
+}
+
+package android.opengl {
+
+  public class EGL14 {
+    ctor public EGL14();
+    method public static boolean eglBindAPI(int);
+    method public static boolean eglBindTexImage(android.opengl.EGLDisplay, android.opengl.EGLSurface, int);
+    method public static boolean eglChooseConfig(android.opengl.EGLDisplay, int[], int, android.opengl.EGLConfig[], int, int, int[], int);
+    method public static boolean eglCopyBuffers(android.opengl.EGLDisplay, android.opengl.EGLSurface, int);
+    method public static android.opengl.EGLContext eglCreateContext(android.opengl.EGLDisplay, android.opengl.EGLConfig, android.opengl.EGLContext, int[], int);
+    method public static android.opengl.EGLSurface eglCreatePbufferFromClientBuffer(android.opengl.EGLDisplay, int, int, android.opengl.EGLConfig, int[], int);
+    method public static android.opengl.EGLSurface eglCreatePbufferSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int[], int);
+    method @Deprecated public static android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int);
+    method public static android.opengl.EGLSurface eglCreateWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, Object, int[], int);
+    method public static boolean eglDestroyContext(android.opengl.EGLDisplay, android.opengl.EGLContext);
+    method public static boolean eglDestroySurface(android.opengl.EGLDisplay, android.opengl.EGLSurface);
+    method public static boolean eglGetConfigAttrib(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int);
+    method public static boolean eglGetConfigs(android.opengl.EGLDisplay, android.opengl.EGLConfig[], int, int, int[], int);
+    method public static android.opengl.EGLContext eglGetCurrentContext();
+    method public static android.opengl.EGLDisplay eglGetCurrentDisplay();
+    method public static android.opengl.EGLSurface eglGetCurrentSurface(int);
+    method public static android.opengl.EGLDisplay eglGetDisplay(int);
+    method public static int eglGetError();
+    method public static boolean eglInitialize(android.opengl.EGLDisplay, int[], int, int[], int);
+    method public static boolean eglMakeCurrent(android.opengl.EGLDisplay, android.opengl.EGLSurface, android.opengl.EGLSurface, android.opengl.EGLContext);
+    method public static int eglQueryAPI();
+    method public static boolean eglQueryContext(android.opengl.EGLDisplay, android.opengl.EGLContext, int, int[], int);
+    method public static String eglQueryString(android.opengl.EGLDisplay, int);
+    method public static boolean eglQuerySurface(android.opengl.EGLDisplay, android.opengl.EGLSurface, int, int[], int);
+    method public static boolean eglReleaseTexImage(android.opengl.EGLDisplay, android.opengl.EGLSurface, int);
+    method public static boolean eglReleaseThread();
+    method public static boolean eglSurfaceAttrib(android.opengl.EGLDisplay, android.opengl.EGLSurface, int, int);
+    method public static boolean eglSwapBuffers(android.opengl.EGLDisplay, android.opengl.EGLSurface);
+    method public static boolean eglSwapInterval(android.opengl.EGLDisplay, int);
+    method public static boolean eglTerminate(android.opengl.EGLDisplay);
+    method public static boolean eglWaitClient();
+    method public static boolean eglWaitGL();
+    method public static boolean eglWaitNative(int);
+    field public static final int EGL_ALPHA_MASK_SIZE = 12350; // 0x303e
+    field public static final int EGL_ALPHA_SIZE = 12321; // 0x3021
+    field public static final int EGL_BACK_BUFFER = 12420; // 0x3084
+    field public static final int EGL_BAD_ACCESS = 12290; // 0x3002
+    field public static final int EGL_BAD_ALLOC = 12291; // 0x3003
+    field public static final int EGL_BAD_ATTRIBUTE = 12292; // 0x3004
+    field public static final int EGL_BAD_CONFIG = 12293; // 0x3005
+    field public static final int EGL_BAD_CONTEXT = 12294; // 0x3006
+    field public static final int EGL_BAD_CURRENT_SURFACE = 12295; // 0x3007
+    field public static final int EGL_BAD_DISPLAY = 12296; // 0x3008
+    field public static final int EGL_BAD_MATCH = 12297; // 0x3009
+    field public static final int EGL_BAD_NATIVE_PIXMAP = 12298; // 0x300a
+    field public static final int EGL_BAD_NATIVE_WINDOW = 12299; // 0x300b
+    field public static final int EGL_BAD_PARAMETER = 12300; // 0x300c
+    field public static final int EGL_BAD_SURFACE = 12301; // 0x300d
+    field public static final int EGL_BIND_TO_TEXTURE_RGB = 12345; // 0x3039
+    field public static final int EGL_BIND_TO_TEXTURE_RGBA = 12346; // 0x303a
+    field public static final int EGL_BLUE_SIZE = 12322; // 0x3022
+    field public static final int EGL_BUFFER_DESTROYED = 12437; // 0x3095
+    field public static final int EGL_BUFFER_PRESERVED = 12436; // 0x3094
+    field public static final int EGL_BUFFER_SIZE = 12320; // 0x3020
+    field public static final int EGL_CLIENT_APIS = 12429; // 0x308d
+    field public static final int EGL_COLOR_BUFFER_TYPE = 12351; // 0x303f
+    field public static final int EGL_CONFIG_CAVEAT = 12327; // 0x3027
+    field public static final int EGL_CONFIG_ID = 12328; // 0x3028
+    field public static final int EGL_CONFORMANT = 12354; // 0x3042
+    field public static final int EGL_CONTEXT_CLIENT_TYPE = 12439; // 0x3097
+    field public static final int EGL_CONTEXT_CLIENT_VERSION = 12440; // 0x3098
+    field public static final int EGL_CONTEXT_LOST = 12302; // 0x300e
+    field public static final int EGL_CORE_NATIVE_ENGINE = 12379; // 0x305b
+    field public static final int EGL_DEFAULT_DISPLAY = 0; // 0x0
+    field public static final int EGL_DEPTH_SIZE = 12325; // 0x3025
+    field public static final int EGL_DISPLAY_SCALING = 10000; // 0x2710
+    field public static final int EGL_DRAW = 12377; // 0x3059
+    field public static final int EGL_EXTENSIONS = 12373; // 0x3055
+    field public static final int EGL_FALSE = 0; // 0x0
+    field public static final int EGL_GREEN_SIZE = 12323; // 0x3023
+    field public static final int EGL_HEIGHT = 12374; // 0x3056
+    field public static final int EGL_HORIZONTAL_RESOLUTION = 12432; // 0x3090
+    field public static final int EGL_LARGEST_PBUFFER = 12376; // 0x3058
+    field public static final int EGL_LEVEL = 12329; // 0x3029
+    field public static final int EGL_LUMINANCE_BUFFER = 12431; // 0x308f
+    field public static final int EGL_LUMINANCE_SIZE = 12349; // 0x303d
+    field public static final int EGL_MATCH_NATIVE_PIXMAP = 12353; // 0x3041
+    field public static final int EGL_MAX_PBUFFER_HEIGHT = 12330; // 0x302a
+    field public static final int EGL_MAX_PBUFFER_PIXELS = 12331; // 0x302b
+    field public static final int EGL_MAX_PBUFFER_WIDTH = 12332; // 0x302c
+    field public static final int EGL_MAX_SWAP_INTERVAL = 12348; // 0x303c
+    field public static final int EGL_MIN_SWAP_INTERVAL = 12347; // 0x303b
+    field public static final int EGL_MIPMAP_LEVEL = 12419; // 0x3083
+    field public static final int EGL_MIPMAP_TEXTURE = 12418; // 0x3082
+    field public static final int EGL_MULTISAMPLE_RESOLVE = 12441; // 0x3099
+    field public static final int EGL_MULTISAMPLE_RESOLVE_BOX = 12443; // 0x309b
+    field public static final int EGL_MULTISAMPLE_RESOLVE_BOX_BIT = 512; // 0x200
+    field public static final int EGL_MULTISAMPLE_RESOLVE_DEFAULT = 12442; // 0x309a
+    field public static final int EGL_NATIVE_RENDERABLE = 12333; // 0x302d
+    field public static final int EGL_NATIVE_VISUAL_ID = 12334; // 0x302e
+    field public static final int EGL_NATIVE_VISUAL_TYPE = 12335; // 0x302f
+    field public static final int EGL_NONE = 12344; // 0x3038
+    field public static final int EGL_NON_CONFORMANT_CONFIG = 12369; // 0x3051
+    field public static final int EGL_NOT_INITIALIZED = 12289; // 0x3001
+    field public static android.opengl.EGLContext EGL_NO_CONTEXT;
+    field public static android.opengl.EGLDisplay EGL_NO_DISPLAY;
+    field public static android.opengl.EGLSurface EGL_NO_SURFACE;
+    field public static final int EGL_NO_TEXTURE = 12380; // 0x305c
+    field public static final int EGL_OPENGL_API = 12450; // 0x30a2
+    field public static final int EGL_OPENGL_BIT = 8; // 0x8
+    field public static final int EGL_OPENGL_ES2_BIT = 4; // 0x4
+    field public static final int EGL_OPENGL_ES_API = 12448; // 0x30a0
+    field public static final int EGL_OPENGL_ES_BIT = 1; // 0x1
+    field public static final int EGL_OPENVG_API = 12449; // 0x30a1
+    field public static final int EGL_OPENVG_BIT = 2; // 0x2
+    field public static final int EGL_OPENVG_IMAGE = 12438; // 0x3096
+    field public static final int EGL_PBUFFER_BIT = 1; // 0x1
+    field public static final int EGL_PIXEL_ASPECT_RATIO = 12434; // 0x3092
+    field public static final int EGL_PIXMAP_BIT = 2; // 0x2
+    field public static final int EGL_READ = 12378; // 0x305a
+    field public static final int EGL_RED_SIZE = 12324; // 0x3024
+    field public static final int EGL_RENDERABLE_TYPE = 12352; // 0x3040
+    field public static final int EGL_RENDER_BUFFER = 12422; // 0x3086
+    field public static final int EGL_RGB_BUFFER = 12430; // 0x308e
+    field public static final int EGL_SAMPLES = 12337; // 0x3031
+    field public static final int EGL_SAMPLE_BUFFERS = 12338; // 0x3032
+    field public static final int EGL_SINGLE_BUFFER = 12421; // 0x3085
+    field public static final int EGL_SLOW_CONFIG = 12368; // 0x3050
+    field public static final int EGL_STENCIL_SIZE = 12326; // 0x3026
+    field public static final int EGL_SUCCESS = 12288; // 0x3000
+    field public static final int EGL_SURFACE_TYPE = 12339; // 0x3033
+    field public static final int EGL_SWAP_BEHAVIOR = 12435; // 0x3093
+    field public static final int EGL_SWAP_BEHAVIOR_PRESERVED_BIT = 1024; // 0x400
+    field public static final int EGL_TEXTURE_2D = 12383; // 0x305f
+    field public static final int EGL_TEXTURE_FORMAT = 12416; // 0x3080
+    field public static final int EGL_TEXTURE_RGB = 12381; // 0x305d
+    field public static final int EGL_TEXTURE_RGBA = 12382; // 0x305e
+    field public static final int EGL_TEXTURE_TARGET = 12417; // 0x3081
+    field public static final int EGL_TRANSPARENT_BLUE_VALUE = 12341; // 0x3035
+    field public static final int EGL_TRANSPARENT_GREEN_VALUE = 12342; // 0x3036
+    field public static final int EGL_TRANSPARENT_RED_VALUE = 12343; // 0x3037
+    field public static final int EGL_TRANSPARENT_RGB = 12370; // 0x3052
+    field public static final int EGL_TRANSPARENT_TYPE = 12340; // 0x3034
+    field public static final int EGL_TRUE = 1; // 0x1
+    field public static final int EGL_VENDOR = 12371; // 0x3053
+    field public static final int EGL_VERSION = 12372; // 0x3054
+    field public static final int EGL_VERTICAL_RESOLUTION = 12433; // 0x3091
+    field public static final int EGL_VG_ALPHA_FORMAT = 12424; // 0x3088
+    field public static final int EGL_VG_ALPHA_FORMAT_NONPRE = 12427; // 0x308b
+    field public static final int EGL_VG_ALPHA_FORMAT_PRE = 12428; // 0x308c
+    field public static final int EGL_VG_ALPHA_FORMAT_PRE_BIT = 64; // 0x40
+    field public static final int EGL_VG_COLORSPACE = 12423; // 0x3087
+    field public static final int EGL_VG_COLORSPACE_LINEAR = 12426; // 0x308a
+    field public static final int EGL_VG_COLORSPACE_LINEAR_BIT = 32; // 0x20
+    field public static final int EGL_VG_COLORSPACE_sRGB = 12425; // 0x3089
+    field public static final int EGL_WIDTH = 12375; // 0x3057
+    field public static final int EGL_WINDOW_BIT = 4; // 0x4
+  }
+
+  public final class EGL15 {
+    method public static int eglClientWaitSync(android.opengl.EGLDisplay, android.opengl.EGLSync, int, long);
+    method public static android.opengl.EGLImage eglCreateImage(android.opengl.EGLDisplay, android.opengl.EGLContext, int, long, long[], int);
+    method public static android.opengl.EGLSurface eglCreatePlatformPixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, java.nio.Buffer, long[], int);
+    method public static android.opengl.EGLSurface eglCreatePlatformWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, java.nio.Buffer, long[], int);
+    method public static android.opengl.EGLSync eglCreateSync(android.opengl.EGLDisplay, int, long[], int);
+    method public static boolean eglDestroyImage(android.opengl.EGLDisplay, android.opengl.EGLImage);
+    method public static boolean eglDestroySync(android.opengl.EGLDisplay, android.opengl.EGLSync);
+    method public static android.opengl.EGLDisplay eglGetPlatformDisplay(int, long, long[], int);
+    method public static boolean eglGetSyncAttrib(android.opengl.EGLDisplay, android.opengl.EGLSync, int, long[], int);
+    method public static boolean eglWaitSync(android.opengl.EGLDisplay, android.opengl.EGLSync, int);
+    field public static final int EGL_CL_EVENT_HANDLE = 12444; // 0x309c
+    field public static final int EGL_CONDITION_SATISFIED = 12534; // 0x30f6
+    field public static final int EGL_CONTEXT_MAJOR_VERSION = 12440; // 0x3098
+    field public static final int EGL_CONTEXT_MINOR_VERSION = 12539; // 0x30fb
+    field public static final int EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT = 2; // 0x2
+    field public static final int EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT = 1; // 0x1
+    field public static final int EGL_CONTEXT_OPENGL_DEBUG = 12720; // 0x31b0
+    field public static final int EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE = 12721; // 0x31b1
+    field public static final int EGL_CONTEXT_OPENGL_PROFILE_MASK = 12541; // 0x30fd
+    field public static final int EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY = 12733; // 0x31bd
+    field public static final int EGL_CONTEXT_OPENGL_ROBUST_ACCESS = 12722; // 0x31b2
+    field public static final long EGL_FOREVER = -1L; // 0xffffffffffffffffL
+    field public static final int EGL_GL_COLORSPACE = 12445; // 0x309d
+    field public static final int EGL_GL_COLORSPACE_LINEAR = 12426; // 0x308a
+    field public static final int EGL_GL_COLORSPACE_SRGB = 12425; // 0x3089
+    field public static final int EGL_GL_RENDERBUFFER = 12473; // 0x30b9
+    field public static final int EGL_GL_TEXTURE_2D = 12465; // 0x30b1
+    field public static final int EGL_GL_TEXTURE_3D = 12466; // 0x30b2
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 12468; // 0x30b4
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 12470; // 0x30b6
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 12472; // 0x30b8
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X = 12467; // 0x30b3
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 12469; // 0x30b5
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 12471; // 0x30b7
+    field public static final int EGL_GL_TEXTURE_LEVEL = 12476; // 0x30bc
+    field public static final int EGL_GL_TEXTURE_ZOFFSET = 12477; // 0x30bd
+    field public static final int EGL_IMAGE_PRESERVED = 12498; // 0x30d2
+    field public static final int EGL_LOSE_CONTEXT_ON_RESET = 12735; // 0x31bf
+    field public static final android.opengl.EGLContext EGL_NO_CONTEXT;
+    field public static final android.opengl.EGLDisplay EGL_NO_DISPLAY;
+    field public static final android.opengl.EGLImage EGL_NO_IMAGE;
+    field public static final int EGL_NO_RESET_NOTIFICATION = 12734; // 0x31be
+    field public static final android.opengl.EGLSurface EGL_NO_SURFACE;
+    field public static final android.opengl.EGLSync EGL_NO_SYNC;
+    field public static final int EGL_OPENGL_ES3_BIT = 64; // 0x40
+    field public static final int EGL_PLATFORM_ANDROID_KHR = 12609; // 0x3141
+    field public static final int EGL_SIGNALED = 12530; // 0x30f2
+    field public static final int EGL_SYNC_CL_EVENT = 12542; // 0x30fe
+    field public static final int EGL_SYNC_CL_EVENT_COMPLETE = 12543; // 0x30ff
+    field public static final int EGL_SYNC_CONDITION = 12536; // 0x30f8
+    field public static final int EGL_SYNC_FENCE = 12537; // 0x30f9
+    field public static final int EGL_SYNC_FLUSH_COMMANDS_BIT = 1; // 0x1
+    field public static final int EGL_SYNC_PRIOR_COMMANDS_COMPLETE = 12528; // 0x30f0
+    field public static final int EGL_SYNC_STATUS = 12529; // 0x30f1
+    field public static final int EGL_SYNC_TYPE = 12535; // 0x30f7
+    field public static final int EGL_TIMEOUT_EXPIRED = 12533; // 0x30f5
+    field public static final int EGL_UNSIGNALED = 12531; // 0x30f3
+  }
+
+  public class EGLConfig extends android.opengl.EGLObjectHandle {
+  }
+
+  public class EGLContext extends android.opengl.EGLObjectHandle {
+  }
+
+  public class EGLDisplay extends android.opengl.EGLObjectHandle {
+  }
+
+  public class EGLExt {
+    ctor public EGLExt();
+    method public static boolean eglPresentationTimeANDROID(android.opengl.EGLDisplay, android.opengl.EGLSurface, long);
+    field public static final int EGL_CONTEXT_FLAGS_KHR = 12540; // 0x30fc
+    field public static final int EGL_CONTEXT_MAJOR_VERSION_KHR = 12440; // 0x3098
+    field public static final int EGL_CONTEXT_MINOR_VERSION_KHR = 12539; // 0x30fb
+    field public static final int EGL_OPENGL_ES3_BIT_KHR = 64; // 0x40
+    field public static final int EGL_RECORDABLE_ANDROID = 12610; // 0x3142
+  }
+
+  public class EGLImage extends android.opengl.EGLObjectHandle {
+  }
+
+  public abstract class EGLObjectHandle {
+    ctor @Deprecated protected EGLObjectHandle(int);
+    ctor protected EGLObjectHandle(long);
+    method @Deprecated public int getHandle();
+    method public long getNativeHandle();
+  }
+
+  public class EGLSurface extends android.opengl.EGLObjectHandle {
+  }
+
+  public class EGLSync extends android.opengl.EGLObjectHandle {
+  }
+
+  public class ETC1 {
+    ctor public ETC1();
+    method public static void decodeBlock(java.nio.Buffer, java.nio.Buffer);
+    method public static void decodeImage(java.nio.Buffer, java.nio.Buffer, int, int, int, int);
+    method public static void encodeBlock(java.nio.Buffer, int, java.nio.Buffer);
+    method public static void encodeImage(java.nio.Buffer, int, int, int, int, java.nio.Buffer);
+    method public static void formatHeader(java.nio.Buffer, int, int);
+    method public static int getEncodedDataSize(int, int);
+    method public static int getHeight(java.nio.Buffer);
+    method public static int getWidth(java.nio.Buffer);
+    method public static boolean isValid(java.nio.Buffer);
+    field public static final int DECODED_BLOCK_SIZE = 48; // 0x30
+    field public static final int ENCODED_BLOCK_SIZE = 8; // 0x8
+    field public static final int ETC1_RGB8_OES = 36196; // 0x8d64
+    field public static final int ETC_PKM_HEADER_SIZE = 16; // 0x10
+  }
+
+  public class ETC1Util {
+    ctor public ETC1Util();
+    method public static android.opengl.ETC1Util.ETC1Texture compressTexture(java.nio.Buffer, int, int, int, int);
+    method public static android.opengl.ETC1Util.ETC1Texture createTexture(java.io.InputStream) throws java.io.IOException;
+    method public static boolean isETC1Supported();
+    method public static void loadTexture(int, int, int, int, int, java.io.InputStream) throws java.io.IOException;
+    method public static void loadTexture(int, int, int, int, int, android.opengl.ETC1Util.ETC1Texture);
+    method public static void writeTexture(android.opengl.ETC1Util.ETC1Texture, java.io.OutputStream) throws java.io.IOException;
+  }
+
+  public static class ETC1Util.ETC1Texture {
+    ctor public ETC1Util.ETC1Texture(int, int, java.nio.ByteBuffer);
+    method public java.nio.ByteBuffer getData();
+    method public int getHeight();
+    method public int getWidth();
+  }
+
+  public class GLDebugHelper {
+    ctor public GLDebugHelper();
+    method public static javax.microedition.khronos.opengles.GL wrap(javax.microedition.khronos.opengles.GL, int, java.io.Writer);
+    method public static javax.microedition.khronos.egl.EGL wrap(javax.microedition.khronos.egl.EGL, int, java.io.Writer);
+    field public static final int CONFIG_CHECK_GL_ERROR = 1; // 0x1
+    field public static final int CONFIG_CHECK_THREAD = 2; // 0x2
+    field public static final int CONFIG_LOG_ARGUMENT_NAMES = 4; // 0x4
+    field public static final int ERROR_WRONG_THREAD = 28672; // 0x7000
+  }
+
+  public class GLES10 {
+    ctor public GLES10();
+    method public static void glActiveTexture(int);
+    method public static void glAlphaFunc(int, float);
+    method public static void glAlphaFuncx(int, int);
+    method public static void glBindTexture(int, int);
+    method public static void glBlendFunc(int, int);
+    method public static void glClear(int);
+    method public static void glClearColor(float, float, float, float);
+    method public static void glClearColorx(int, int, int, int);
+    method public static void glClearDepthf(float);
+    method public static void glClearDepthx(int);
+    method public static void glClearStencil(int);
+    method public static void glClientActiveTexture(int);
+    method public static void glColor4f(float, float, float, float);
+    method public static void glColor4x(int, int, int, int);
+    method public static void glColorMask(boolean, boolean, boolean, boolean);
+    method public static void glColorPointer(int, int, int, java.nio.Buffer);
+    method public static void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCompressedTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+    method public static void glCopyTexSubImage2D(int, int, int, int, int, int, int, int);
+    method public static void glCullFace(int);
+    method public static void glDeleteTextures(int, int[], int);
+    method public static void glDeleteTextures(int, java.nio.IntBuffer);
+    method public static void glDepthFunc(int);
+    method public static void glDepthMask(boolean);
+    method public static void glDepthRangef(float, float);
+    method public static void glDepthRangex(int, int);
+    method public static void glDisable(int);
+    method public static void glDisableClientState(int);
+    method public static void glDrawArrays(int, int, int);
+    method public static void glDrawElements(int, int, int, java.nio.Buffer);
+    method public static void glEnable(int);
+    method public static void glEnableClientState(int);
+    method public static void glFinish();
+    method public static void glFlush();
+    method public static void glFogf(int, float);
+    method public static void glFogfv(int, float[], int);
+    method public static void glFogfv(int, java.nio.FloatBuffer);
+    method public static void glFogx(int, int);
+    method public static void glFogxv(int, int[], int);
+    method public static void glFogxv(int, java.nio.IntBuffer);
+    method public static void glFrontFace(int);
+    method public static void glFrustumf(float, float, float, float, float, float);
+    method public static void glFrustumx(int, int, int, int, int, int);
+    method public static void glGenTextures(int, int[], int);
+    method public static void glGenTextures(int, java.nio.IntBuffer);
+    method public static int glGetError();
+    method public static void glGetIntegerv(int, int[], int);
+    method public static void glGetIntegerv(int, java.nio.IntBuffer);
+    method public static String glGetString(int);
+    method public static void glHint(int, int);
+    method public static void glLightModelf(int, float);
+    method public static void glLightModelfv(int, float[], int);
+    method public static void glLightModelfv(int, java.nio.FloatBuffer);
+    method public static void glLightModelx(int, int);
+    method public static void glLightModelxv(int, int[], int);
+    method public static void glLightModelxv(int, java.nio.IntBuffer);
+    method public static void glLightf(int, int, float);
+    method public static void glLightfv(int, int, float[], int);
+    method public static void glLightfv(int, int, java.nio.FloatBuffer);
+    method public static void glLightx(int, int, int);
+    method public static void glLightxv(int, int, int[], int);
+    method public static void glLightxv(int, int, java.nio.IntBuffer);
+    method public static void glLineWidth(float);
+    method public static void glLineWidthx(int);
+    method public static void glLoadIdentity();
+    method public static void glLoadMatrixf(float[], int);
+    method public static void glLoadMatrixf(java.nio.FloatBuffer);
+    method public static void glLoadMatrixx(int[], int);
+    method public static void glLoadMatrixx(java.nio.IntBuffer);
+    method public static void glLogicOp(int);
+    method public static void glMaterialf(int, int, float);
+    method public static void glMaterialfv(int, int, float[], int);
+    method public static void glMaterialfv(int, int, java.nio.FloatBuffer);
+    method public static void glMaterialx(int, int, int);
+    method public static void glMaterialxv(int, int, int[], int);
+    method public static void glMaterialxv(int, int, java.nio.IntBuffer);
+    method public static void glMatrixMode(int);
+    method public static void glMultMatrixf(float[], int);
+    method public static void glMultMatrixf(java.nio.FloatBuffer);
+    method public static void glMultMatrixx(int[], int);
+    method public static void glMultMatrixx(java.nio.IntBuffer);
+    method public static void glMultiTexCoord4f(int, float, float, float, float);
+    method public static void glMultiTexCoord4x(int, int, int, int, int);
+    method public static void glNormal3f(float, float, float);
+    method public static void glNormal3x(int, int, int);
+    method public static void glNormalPointer(int, int, java.nio.Buffer);
+    method public static void glOrthof(float, float, float, float, float, float);
+    method public static void glOrthox(int, int, int, int, int, int);
+    method public static void glPixelStorei(int, int);
+    method public static void glPointSize(float);
+    method public static void glPointSizex(int);
+    method public static void glPolygonOffset(float, float);
+    method public static void glPolygonOffsetx(int, int);
+    method public static void glPopMatrix();
+    method public static void glPushMatrix();
+    method public static void glReadPixels(int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glRotatef(float, float, float, float);
+    method public static void glRotatex(int, int, int, int);
+    method public static void glSampleCoverage(float, boolean);
+    method public static void glSampleCoveragex(int, boolean);
+    method public static void glScalef(float, float, float);
+    method public static void glScalex(int, int, int);
+    method public static void glScissor(int, int, int, int);
+    method public static void glShadeModel(int);
+    method public static void glStencilFunc(int, int, int);
+    method public static void glStencilMask(int);
+    method public static void glStencilOp(int, int, int);
+    method public static void glTexCoordPointer(int, int, int, java.nio.Buffer);
+    method public static void glTexEnvf(int, int, float);
+    method public static void glTexEnvfv(int, int, float[], int);
+    method public static void glTexEnvfv(int, int, java.nio.FloatBuffer);
+    method public static void glTexEnvx(int, int, int);
+    method public static void glTexEnvxv(int, int, int[], int);
+    method public static void glTexEnvxv(int, int, java.nio.IntBuffer);
+    method public static void glTexImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glTexParameterf(int, int, float);
+    method public static void glTexParameterx(int, int, int);
+    method public static void glTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glTranslatef(float, float, float);
+    method public static void glTranslatex(int, int, int);
+    method public static void glVertexPointer(int, int, int, java.nio.Buffer);
+    method public static void glViewport(int, int, int, int);
+    field public static final int GL_ADD = 260; // 0x104
+    field public static final int GL_ALIASED_LINE_WIDTH_RANGE = 33902; // 0x846e
+    field public static final int GL_ALIASED_POINT_SIZE_RANGE = 33901; // 0x846d
+    field public static final int GL_ALPHA = 6406; // 0x1906
+    field public static final int GL_ALPHA_BITS = 3413; // 0xd55
+    field public static final int GL_ALPHA_TEST = 3008; // 0xbc0
+    field public static final int GL_ALWAYS = 519; // 0x207
+    field public static final int GL_AMBIENT = 4608; // 0x1200
+    field public static final int GL_AMBIENT_AND_DIFFUSE = 5634; // 0x1602
+    field public static final int GL_AND = 5377; // 0x1501
+    field public static final int GL_AND_INVERTED = 5380; // 0x1504
+    field public static final int GL_AND_REVERSE = 5378; // 0x1502
+    field public static final int GL_BACK = 1029; // 0x405
+    field public static final int GL_BLEND = 3042; // 0xbe2
+    field public static final int GL_BLUE_BITS = 3412; // 0xd54
+    field public static final int GL_BYTE = 5120; // 0x1400
+    field public static final int GL_CCW = 2305; // 0x901
+    field public static final int GL_CLAMP_TO_EDGE = 33071; // 0x812f
+    field public static final int GL_CLEAR = 5376; // 0x1500
+    field public static final int GL_COLOR_ARRAY = 32886; // 0x8076
+    field public static final int GL_COLOR_BUFFER_BIT = 16384; // 0x4000
+    field public static final int GL_COLOR_LOGIC_OP = 3058; // 0xbf2
+    field public static final int GL_COLOR_MATERIAL = 2903; // 0xb57
+    field public static final int GL_COMPRESSED_TEXTURE_FORMATS = 34467; // 0x86a3
+    field public static final int GL_CONSTANT_ATTENUATION = 4615; // 0x1207
+    field public static final int GL_COPY = 5379; // 0x1503
+    field public static final int GL_COPY_INVERTED = 5388; // 0x150c
+    field public static final int GL_CULL_FACE = 2884; // 0xb44
+    field public static final int GL_CW = 2304; // 0x900
+    field public static final int GL_DECAL = 8449; // 0x2101
+    field public static final int GL_DECR = 7683; // 0x1e03
+    field public static final int GL_DEPTH_BITS = 3414; // 0xd56
+    field public static final int GL_DEPTH_BUFFER_BIT = 256; // 0x100
+    field public static final int GL_DEPTH_TEST = 2929; // 0xb71
+    field public static final int GL_DIFFUSE = 4609; // 0x1201
+    field public static final int GL_DITHER = 3024; // 0xbd0
+    field public static final int GL_DONT_CARE = 4352; // 0x1100
+    field public static final int GL_DST_ALPHA = 772; // 0x304
+    field public static final int GL_DST_COLOR = 774; // 0x306
+    field public static final int GL_EMISSION = 5632; // 0x1600
+    field public static final int GL_EQUAL = 514; // 0x202
+    field public static final int GL_EQUIV = 5385; // 0x1509
+    field public static final int GL_EXP = 2048; // 0x800
+    field public static final int GL_EXP2 = 2049; // 0x801
+    field public static final int GL_EXTENSIONS = 7939; // 0x1f03
+    field public static final int GL_FALSE = 0; // 0x0
+    field public static final int GL_FASTEST = 4353; // 0x1101
+    field public static final int GL_FIXED = 5132; // 0x140c
+    field public static final int GL_FLAT = 7424; // 0x1d00
+    field public static final int GL_FLOAT = 5126; // 0x1406
+    field public static final int GL_FOG = 2912; // 0xb60
+    field public static final int GL_FOG_COLOR = 2918; // 0xb66
+    field public static final int GL_FOG_DENSITY = 2914; // 0xb62
+    field public static final int GL_FOG_END = 2916; // 0xb64
+    field public static final int GL_FOG_HINT = 3156; // 0xc54
+    field public static final int GL_FOG_MODE = 2917; // 0xb65
+    field public static final int GL_FOG_START = 2915; // 0xb63
+    field public static final int GL_FRONT = 1028; // 0x404
+    field public static final int GL_FRONT_AND_BACK = 1032; // 0x408
+    field public static final int GL_GEQUAL = 518; // 0x206
+    field public static final int GL_GREATER = 516; // 0x204
+    field public static final int GL_GREEN_BITS = 3411; // 0xd53
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 35739; // 0x8b9b
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 35738; // 0x8b9a
+    field public static final int GL_INCR = 7682; // 0x1e02
+    field public static final int GL_INVALID_ENUM = 1280; // 0x500
+    field public static final int GL_INVALID_OPERATION = 1282; // 0x502
+    field public static final int GL_INVALID_VALUE = 1281; // 0x501
+    field public static final int GL_INVERT = 5386; // 0x150a
+    field public static final int GL_KEEP = 7680; // 0x1e00
+    field public static final int GL_LEQUAL = 515; // 0x203
+    field public static final int GL_LESS = 513; // 0x201
+    field public static final int GL_LIGHT0 = 16384; // 0x4000
+    field public static final int GL_LIGHT1 = 16385; // 0x4001
+    field public static final int GL_LIGHT2 = 16386; // 0x4002
+    field public static final int GL_LIGHT3 = 16387; // 0x4003
+    field public static final int GL_LIGHT4 = 16388; // 0x4004
+    field public static final int GL_LIGHT5 = 16389; // 0x4005
+    field public static final int GL_LIGHT6 = 16390; // 0x4006
+    field public static final int GL_LIGHT7 = 16391; // 0x4007
+    field public static final int GL_LIGHTING = 2896; // 0xb50
+    field public static final int GL_LIGHT_MODEL_AMBIENT = 2899; // 0xb53
+    field public static final int GL_LIGHT_MODEL_TWO_SIDE = 2898; // 0xb52
+    field public static final int GL_LINEAR = 9729; // 0x2601
+    field public static final int GL_LINEAR_ATTENUATION = 4616; // 0x1208
+    field public static final int GL_LINEAR_MIPMAP_LINEAR = 9987; // 0x2703
+    field public static final int GL_LINEAR_MIPMAP_NEAREST = 9985; // 0x2701
+    field public static final int GL_LINES = 1; // 0x1
+    field public static final int GL_LINE_LOOP = 2; // 0x2
+    field public static final int GL_LINE_SMOOTH = 2848; // 0xb20
+    field public static final int GL_LINE_SMOOTH_HINT = 3154; // 0xc52
+    field public static final int GL_LINE_STRIP = 3; // 0x3
+    field public static final int GL_LUMINANCE = 6409; // 0x1909
+    field public static final int GL_LUMINANCE_ALPHA = 6410; // 0x190a
+    field public static final int GL_MAX_ELEMENTS_INDICES = 33001; // 0x80e9
+    field public static final int GL_MAX_ELEMENTS_VERTICES = 33000; // 0x80e8
+    field public static final int GL_MAX_LIGHTS = 3377; // 0xd31
+    field public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 3382; // 0xd36
+    field public static final int GL_MAX_PROJECTION_STACK_DEPTH = 3384; // 0xd38
+    field public static final int GL_MAX_TEXTURE_SIZE = 3379; // 0xd33
+    field public static final int GL_MAX_TEXTURE_STACK_DEPTH = 3385; // 0xd39
+    field public static final int GL_MAX_TEXTURE_UNITS = 34018; // 0x84e2
+    field public static final int GL_MAX_VIEWPORT_DIMS = 3386; // 0xd3a
+    field public static final int GL_MODELVIEW = 5888; // 0x1700
+    field public static final int GL_MODULATE = 8448; // 0x2100
+    field public static final int GL_MULTISAMPLE = 32925; // 0x809d
+    field public static final int GL_NAND = 5390; // 0x150e
+    field public static final int GL_NEAREST = 9728; // 0x2600
+    field public static final int GL_NEAREST_MIPMAP_LINEAR = 9986; // 0x2702
+    field public static final int GL_NEAREST_MIPMAP_NEAREST = 9984; // 0x2700
+    field public static final int GL_NEVER = 512; // 0x200
+    field public static final int GL_NICEST = 4354; // 0x1102
+    field public static final int GL_NOOP = 5381; // 0x1505
+    field public static final int GL_NOR = 5384; // 0x1508
+    field public static final int GL_NORMALIZE = 2977; // 0xba1
+    field public static final int GL_NORMAL_ARRAY = 32885; // 0x8075
+    field public static final int GL_NOTEQUAL = 517; // 0x205
+    field public static final int GL_NO_ERROR = 0; // 0x0
+    field public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 34466; // 0x86a2
+    field public static final int GL_ONE = 1; // 0x1
+    field public static final int GL_ONE_MINUS_DST_ALPHA = 773; // 0x305
+    field public static final int GL_ONE_MINUS_DST_COLOR = 775; // 0x307
+    field public static final int GL_ONE_MINUS_SRC_ALPHA = 771; // 0x303
+    field public static final int GL_ONE_MINUS_SRC_COLOR = 769; // 0x301
+    field public static final int GL_OR = 5383; // 0x1507
+    field public static final int GL_OR_INVERTED = 5389; // 0x150d
+    field public static final int GL_OR_REVERSE = 5387; // 0x150b
+    field public static final int GL_OUT_OF_MEMORY = 1285; // 0x505
+    field public static final int GL_PACK_ALIGNMENT = 3333; // 0xd05
+    field public static final int GL_PALETTE4_R5_G6_B5_OES = 35730; // 0x8b92
+    field public static final int GL_PALETTE4_RGB5_A1_OES = 35732; // 0x8b94
+    field public static final int GL_PALETTE4_RGB8_OES = 35728; // 0x8b90
+    field public static final int GL_PALETTE4_RGBA4_OES = 35731; // 0x8b93
+    field public static final int GL_PALETTE4_RGBA8_OES = 35729; // 0x8b91
+    field public static final int GL_PALETTE8_R5_G6_B5_OES = 35735; // 0x8b97
+    field public static final int GL_PALETTE8_RGB5_A1_OES = 35737; // 0x8b99
+    field public static final int GL_PALETTE8_RGB8_OES = 35733; // 0x8b95
+    field public static final int GL_PALETTE8_RGBA4_OES = 35736; // 0x8b98
+    field public static final int GL_PALETTE8_RGBA8_OES = 35734; // 0x8b96
+    field public static final int GL_PERSPECTIVE_CORRECTION_HINT = 3152; // 0xc50
+    field public static final int GL_POINTS = 0; // 0x0
+    field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+    field public static final int GL_POINT_SIZE = 2833; // 0xb11
+    field public static final int GL_POINT_SMOOTH = 2832; // 0xb10
+    field public static final int GL_POINT_SMOOTH_HINT = 3153; // 0xc51
+    field public static final int GL_POLYGON_OFFSET_FILL = 32823; // 0x8037
+    field public static final int GL_POLYGON_SMOOTH_HINT = 3155; // 0xc53
+    field public static final int GL_POSITION = 4611; // 0x1203
+    field public static final int GL_PROJECTION = 5889; // 0x1701
+    field public static final int GL_QUADRATIC_ATTENUATION = 4617; // 0x1209
+    field public static final int GL_RED_BITS = 3410; // 0xd52
+    field public static final int GL_RENDERER = 7937; // 0x1f01
+    field public static final int GL_REPEAT = 10497; // 0x2901
+    field public static final int GL_REPLACE = 7681; // 0x1e01
+    field public static final int GL_RESCALE_NORMAL = 32826; // 0x803a
+    field public static final int GL_RGB = 6407; // 0x1907
+    field public static final int GL_RGBA = 6408; // 0x1908
+    field public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 32926; // 0x809e
+    field public static final int GL_SAMPLE_ALPHA_TO_ONE = 32927; // 0x809f
+    field public static final int GL_SAMPLE_COVERAGE = 32928; // 0x80a0
+    field public static final int GL_SCISSOR_TEST = 3089; // 0xc11
+    field public static final int GL_SET = 5391; // 0x150f
+    field public static final int GL_SHININESS = 5633; // 0x1601
+    field public static final int GL_SHORT = 5122; // 0x1402
+    field public static final int GL_SMOOTH = 7425; // 0x1d01
+    field public static final int GL_SMOOTH_LINE_WIDTH_RANGE = 2850; // 0xb22
+    field public static final int GL_SMOOTH_POINT_SIZE_RANGE = 2834; // 0xb12
+    field public static final int GL_SPECULAR = 4610; // 0x1202
+    field public static final int GL_SPOT_CUTOFF = 4614; // 0x1206
+    field public static final int GL_SPOT_DIRECTION = 4612; // 0x1204
+    field public static final int GL_SPOT_EXPONENT = 4613; // 0x1205
+    field public static final int GL_SRC_ALPHA = 770; // 0x302
+    field public static final int GL_SRC_ALPHA_SATURATE = 776; // 0x308
+    field public static final int GL_SRC_COLOR = 768; // 0x300
+    field public static final int GL_STACK_OVERFLOW = 1283; // 0x503
+    field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504
+    field public static final int GL_STENCIL_BITS = 3415; // 0xd57
+    field public static final int GL_STENCIL_BUFFER_BIT = 1024; // 0x400
+    field public static final int GL_STENCIL_TEST = 2960; // 0xb90
+    field public static final int GL_SUBPIXEL_BITS = 3408; // 0xd50
+    field public static final int GL_TEXTURE = 5890; // 0x1702
+    field public static final int GL_TEXTURE0 = 33984; // 0x84c0
+    field public static final int GL_TEXTURE1 = 33985; // 0x84c1
+    field public static final int GL_TEXTURE10 = 33994; // 0x84ca
+    field public static final int GL_TEXTURE11 = 33995; // 0x84cb
+    field public static final int GL_TEXTURE12 = 33996; // 0x84cc
+    field public static final int GL_TEXTURE13 = 33997; // 0x84cd
+    field public static final int GL_TEXTURE14 = 33998; // 0x84ce
+    field public static final int GL_TEXTURE15 = 33999; // 0x84cf
+    field public static final int GL_TEXTURE16 = 34000; // 0x84d0
+    field public static final int GL_TEXTURE17 = 34001; // 0x84d1
+    field public static final int GL_TEXTURE18 = 34002; // 0x84d2
+    field public static final int GL_TEXTURE19 = 34003; // 0x84d3
+    field public static final int GL_TEXTURE2 = 33986; // 0x84c2
+    field public static final int GL_TEXTURE20 = 34004; // 0x84d4
+    field public static final int GL_TEXTURE21 = 34005; // 0x84d5
+    field public static final int GL_TEXTURE22 = 34006; // 0x84d6
+    field public static final int GL_TEXTURE23 = 34007; // 0x84d7
+    field public static final int GL_TEXTURE24 = 34008; // 0x84d8
+    field public static final int GL_TEXTURE25 = 34009; // 0x84d9
+    field public static final int GL_TEXTURE26 = 34010; // 0x84da
+    field public static final int GL_TEXTURE27 = 34011; // 0x84db
+    field public static final int GL_TEXTURE28 = 34012; // 0x84dc
+    field public static final int GL_TEXTURE29 = 34013; // 0x84dd
+    field public static final int GL_TEXTURE3 = 33987; // 0x84c3
+    field public static final int GL_TEXTURE30 = 34014; // 0x84de
+    field public static final int GL_TEXTURE31 = 34015; // 0x84df
+    field public static final int GL_TEXTURE4 = 33988; // 0x84c4
+    field public static final int GL_TEXTURE5 = 33989; // 0x84c5
+    field public static final int GL_TEXTURE6 = 33990; // 0x84c6
+    field public static final int GL_TEXTURE7 = 33991; // 0x84c7
+    field public static final int GL_TEXTURE8 = 33992; // 0x84c8
+    field public static final int GL_TEXTURE9 = 33993; // 0x84c9
+    field public static final int GL_TEXTURE_2D = 3553; // 0xde1
+    field public static final int GL_TEXTURE_COORD_ARRAY = 32888; // 0x8078
+    field public static final int GL_TEXTURE_ENV = 8960; // 0x2300
+    field public static final int GL_TEXTURE_ENV_COLOR = 8705; // 0x2201
+    field public static final int GL_TEXTURE_ENV_MODE = 8704; // 0x2200
+    field public static final int GL_TEXTURE_MAG_FILTER = 10240; // 0x2800
+    field public static final int GL_TEXTURE_MIN_FILTER = 10241; // 0x2801
+    field public static final int GL_TEXTURE_WRAP_S = 10242; // 0x2802
+    field public static final int GL_TEXTURE_WRAP_T = 10243; // 0x2803
+    field public static final int GL_TRIANGLES = 4; // 0x4
+    field public static final int GL_TRIANGLE_FAN = 6; // 0x6
+    field public static final int GL_TRIANGLE_STRIP = 5; // 0x5
+    field public static final int GL_TRUE = 1; // 0x1
+    field public static final int GL_UNPACK_ALIGNMENT = 3317; // 0xcf5
+    field public static final int GL_UNSIGNED_BYTE = 5121; // 0x1401
+    field public static final int GL_UNSIGNED_SHORT = 5123; // 0x1403
+    field public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 32819; // 0x8033
+    field public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 32820; // 0x8034
+    field public static final int GL_UNSIGNED_SHORT_5_6_5 = 33635; // 0x8363
+    field public static final int GL_VENDOR = 7936; // 0x1f00
+    field public static final int GL_VERSION = 7938; // 0x1f02
+    field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074
+    field public static final int GL_XOR = 5382; // 0x1506
+    field public static final int GL_ZERO = 0; // 0x0
+  }
+
+  public class GLES10Ext {
+    ctor public GLES10Ext();
+    method public static int glQueryMatrixxOES(int[], int, int[], int);
+    method public static int glQueryMatrixxOES(java.nio.IntBuffer, java.nio.IntBuffer);
+  }
+
+  public class GLES11 extends android.opengl.GLES10 {
+    ctor public GLES11();
+    method public static void glBindBuffer(int, int);
+    method public static void glBufferData(int, int, java.nio.Buffer, int);
+    method public static void glBufferSubData(int, int, int, java.nio.Buffer);
+    method public static void glClipPlanef(int, float[], int);
+    method public static void glClipPlanef(int, java.nio.FloatBuffer);
+    method public static void glClipPlanex(int, int[], int);
+    method public static void glClipPlanex(int, java.nio.IntBuffer);
+    method public static void glColor4ub(byte, byte, byte, byte);
+    method public static void glColorPointer(int, int, int, int);
+    method public static void glDeleteBuffers(int, int[], int);
+    method public static void glDeleteBuffers(int, java.nio.IntBuffer);
+    method public static void glDrawElements(int, int, int, int);
+    method public static void glGenBuffers(int, int[], int);
+    method public static void glGenBuffers(int, java.nio.IntBuffer);
+    method public static void glGetBooleanv(int, boolean[], int);
+    method public static void glGetBooleanv(int, java.nio.IntBuffer);
+    method public static void glGetBufferParameteriv(int, int, int[], int);
+    method public static void glGetBufferParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glGetClipPlanef(int, float[], int);
+    method public static void glGetClipPlanef(int, java.nio.FloatBuffer);
+    method public static void glGetClipPlanex(int, int[], int);
+    method public static void glGetClipPlanex(int, java.nio.IntBuffer);
+    method public static void glGetFixedv(int, int[], int);
+    method public static void glGetFixedv(int, java.nio.IntBuffer);
+    method public static void glGetFloatv(int, float[], int);
+    method public static void glGetFloatv(int, java.nio.FloatBuffer);
+    method public static void glGetLightfv(int, int, float[], int);
+    method public static void glGetLightfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetLightxv(int, int, int[], int);
+    method public static void glGetLightxv(int, int, java.nio.IntBuffer);
+    method public static void glGetMaterialfv(int, int, float[], int);
+    method public static void glGetMaterialfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetMaterialxv(int, int, int[], int);
+    method public static void glGetMaterialxv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexEnvfv(int, int, float[], int);
+    method public static void glGetTexEnvfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetTexEnviv(int, int, int[], int);
+    method public static void glGetTexEnviv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexEnvxv(int, int, int[], int);
+    method public static void glGetTexEnvxv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterfv(int, int, float[], int);
+    method public static void glGetTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetTexParameteriv(int, int, int[], int);
+    method public static void glGetTexParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterxv(int, int, int[], int);
+    method public static void glGetTexParameterxv(int, int, java.nio.IntBuffer);
+    method public static boolean glIsBuffer(int);
+    method public static boolean glIsEnabled(int);
+    method public static boolean glIsTexture(int);
+    method public static void glNormalPointer(int, int, int);
+    method public static void glPointParameterf(int, float);
+    method public static void glPointParameterfv(int, float[], int);
+    method public static void glPointParameterfv(int, java.nio.FloatBuffer);
+    method public static void glPointParameterx(int, int);
+    method public static void glPointParameterxv(int, int[], int);
+    method public static void glPointParameterxv(int, java.nio.IntBuffer);
+    method public static void glPointSizePointerOES(int, int, java.nio.Buffer);
+    method public static void glTexCoordPointer(int, int, int, int);
+    method public static void glTexEnvi(int, int, int);
+    method public static void glTexEnviv(int, int, int[], int);
+    method public static void glTexEnviv(int, int, java.nio.IntBuffer);
+    method public static void glTexParameterfv(int, int, float[], int);
+    method public static void glTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glTexParameteri(int, int, int);
+    method public static void glTexParameteriv(int, int, int[], int);
+    method public static void glTexParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glTexParameterxv(int, int, int[], int);
+    method public static void glTexParameterxv(int, int, java.nio.IntBuffer);
+    method public static void glVertexPointer(int, int, int, int);
+    field public static final int GL_ACTIVE_TEXTURE = 34016; // 0x84e0
+    field public static final int GL_ADD_SIGNED = 34164; // 0x8574
+    field public static final int GL_ALPHA_SCALE = 3356; // 0xd1c
+    field public static final int GL_ALPHA_TEST_FUNC = 3009; // 0xbc1
+    field public static final int GL_ALPHA_TEST_REF = 3010; // 0xbc2
+    field public static final int GL_ARRAY_BUFFER = 34962; // 0x8892
+    field public static final int GL_ARRAY_BUFFER_BINDING = 34964; // 0x8894
+    field public static final int GL_BLEND_DST = 3040; // 0xbe0
+    field public static final int GL_BLEND_SRC = 3041; // 0xbe1
+    field public static final int GL_BUFFER_ACCESS = 35003; // 0x88bb
+    field public static final int GL_BUFFER_SIZE = 34660; // 0x8764
+    field public static final int GL_BUFFER_USAGE = 34661; // 0x8765
+    field public static final int GL_CLIENT_ACTIVE_TEXTURE = 34017; // 0x84e1
+    field public static final int GL_CLIP_PLANE0 = 12288; // 0x3000
+    field public static final int GL_CLIP_PLANE1 = 12289; // 0x3001
+    field public static final int GL_CLIP_PLANE2 = 12290; // 0x3002
+    field public static final int GL_CLIP_PLANE3 = 12291; // 0x3003
+    field public static final int GL_CLIP_PLANE4 = 12292; // 0x3004
+    field public static final int GL_CLIP_PLANE5 = 12293; // 0x3005
+    field public static final int GL_COLOR_ARRAY_BUFFER_BINDING = 34968; // 0x8898
+    field public static final int GL_COLOR_ARRAY_POINTER = 32912; // 0x8090
+    field public static final int GL_COLOR_ARRAY_SIZE = 32897; // 0x8081
+    field public static final int GL_COLOR_ARRAY_STRIDE = 32899; // 0x8083
+    field public static final int GL_COLOR_ARRAY_TYPE = 32898; // 0x8082
+    field public static final int GL_COLOR_CLEAR_VALUE = 3106; // 0xc22
+    field public static final int GL_COLOR_WRITEMASK = 3107; // 0xc23
+    field public static final int GL_COMBINE = 34160; // 0x8570
+    field public static final int GL_COMBINE_ALPHA = 34162; // 0x8572
+    field public static final int GL_COMBINE_RGB = 34161; // 0x8571
+    field public static final int GL_CONSTANT = 34166; // 0x8576
+    field public static final int GL_COORD_REPLACE_OES = 34914; // 0x8862
+    field public static final int GL_CULL_FACE_MODE = 2885; // 0xb45
+    field public static final int GL_CURRENT_COLOR = 2816; // 0xb00
+    field public static final int GL_CURRENT_NORMAL = 2818; // 0xb02
+    field public static final int GL_CURRENT_TEXTURE_COORDS = 2819; // 0xb03
+    field public static final int GL_DEPTH_CLEAR_VALUE = 2931; // 0xb73
+    field public static final int GL_DEPTH_FUNC = 2932; // 0xb74
+    field public static final int GL_DEPTH_RANGE = 2928; // 0xb70
+    field public static final int GL_DEPTH_WRITEMASK = 2930; // 0xb72
+    field public static final int GL_DOT3_RGB = 34478; // 0x86ae
+    field public static final int GL_DOT3_RGBA = 34479; // 0x86af
+    field public static final int GL_DYNAMIC_DRAW = 35048; // 0x88e8
+    field public static final int GL_ELEMENT_ARRAY_BUFFER = 34963; // 0x8893
+    field public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 34965; // 0x8895
+    field public static final int GL_FRONT_FACE = 2886; // 0xb46
+    field public static final int GL_GENERATE_MIPMAP = 33169; // 0x8191
+    field public static final int GL_GENERATE_MIPMAP_HINT = 33170; // 0x8192
+    field public static final int GL_INTERPOLATE = 34165; // 0x8575
+    field public static final int GL_LINE_WIDTH = 2849; // 0xb21
+    field public static final int GL_LOGIC_OP_MODE = 3056; // 0xbf0
+    field public static final int GL_MATRIX_MODE = 2976; // 0xba0
+    field public static final int GL_MAX_CLIP_PLANES = 3378; // 0xd32
+    field public static final int GL_MODELVIEW_MATRIX = 2982; // 0xba6
+    field public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 35213; // 0x898d
+    field public static final int GL_MODELVIEW_STACK_DEPTH = 2979; // 0xba3
+    field public static final int GL_NORMAL_ARRAY_BUFFER_BINDING = 34967; // 0x8897
+    field public static final int GL_NORMAL_ARRAY_POINTER = 32911; // 0x808f
+    field public static final int GL_NORMAL_ARRAY_STRIDE = 32895; // 0x807f
+    field public static final int GL_NORMAL_ARRAY_TYPE = 32894; // 0x807e
+    field public static final int GL_OPERAND0_ALPHA = 34200; // 0x8598
+    field public static final int GL_OPERAND0_RGB = 34192; // 0x8590
+    field public static final int GL_OPERAND1_ALPHA = 34201; // 0x8599
+    field public static final int GL_OPERAND1_RGB = 34193; // 0x8591
+    field public static final int GL_OPERAND2_ALPHA = 34202; // 0x859a
+    field public static final int GL_OPERAND2_RGB = 34194; // 0x8592
+    field public static final int GL_POINT_DISTANCE_ATTENUATION = 33065; // 0x8129
+    field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+    field public static final int GL_POINT_SIZE = 2833; // 0xb11
+    field public static final int GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 35743; // 0x8b9f
+    field public static final int GL_POINT_SIZE_ARRAY_OES = 35740; // 0x8b9c
+    field public static final int GL_POINT_SIZE_ARRAY_POINTER_OES = 35212; // 0x898c
+    field public static final int GL_POINT_SIZE_ARRAY_STRIDE_OES = 35211; // 0x898b
+    field public static final int GL_POINT_SIZE_ARRAY_TYPE_OES = 35210; // 0x898a
+    field public static final int GL_POINT_SIZE_MAX = 33063; // 0x8127
+    field public static final int GL_POINT_SIZE_MIN = 33062; // 0x8126
+    field public static final int GL_POINT_SPRITE_OES = 34913; // 0x8861
+    field public static final int GL_POLYGON_OFFSET_FACTOR = 32824; // 0x8038
+    field public static final int GL_POLYGON_OFFSET_UNITS = 10752; // 0x2a00
+    field public static final int GL_PREVIOUS = 34168; // 0x8578
+    field public static final int GL_PRIMARY_COLOR = 34167; // 0x8577
+    field public static final int GL_PROJECTION_MATRIX = 2983; // 0xba7
+    field public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 35214; // 0x898e
+    field public static final int GL_PROJECTION_STACK_DEPTH = 2980; // 0xba4
+    field public static final int GL_RGB_SCALE = 34163; // 0x8573
+    field public static final int GL_SAMPLES = 32937; // 0x80a9
+    field public static final int GL_SAMPLE_BUFFERS = 32936; // 0x80a8
+    field public static final int GL_SAMPLE_COVERAGE_INVERT = 32939; // 0x80ab
+    field public static final int GL_SAMPLE_COVERAGE_VALUE = 32938; // 0x80aa
+    field public static final int GL_SCISSOR_BOX = 3088; // 0xc10
+    field public static final int GL_SHADE_MODEL = 2900; // 0xb54
+    field public static final int GL_SRC0_ALPHA = 34184; // 0x8588
+    field public static final int GL_SRC0_RGB = 34176; // 0x8580
+    field public static final int GL_SRC1_ALPHA = 34185; // 0x8589
+    field public static final int GL_SRC1_RGB = 34177; // 0x8581
+    field public static final int GL_SRC2_ALPHA = 34186; // 0x858a
+    field public static final int GL_SRC2_RGB = 34178; // 0x8582
+    field public static final int GL_STATIC_DRAW = 35044; // 0x88e4
+    field public static final int GL_STENCIL_CLEAR_VALUE = 2961; // 0xb91
+    field public static final int GL_STENCIL_FAIL = 2964; // 0xb94
+    field public static final int GL_STENCIL_FUNC = 2962; // 0xb92
+    field public static final int GL_STENCIL_PASS_DEPTH_FAIL = 2965; // 0xb95
+    field public static final int GL_STENCIL_PASS_DEPTH_PASS = 2966; // 0xb96
+    field public static final int GL_STENCIL_REF = 2967; // 0xb97
+    field public static final int GL_STENCIL_VALUE_MASK = 2963; // 0xb93
+    field public static final int GL_STENCIL_WRITEMASK = 2968; // 0xb98
+    field public static final int GL_SUBTRACT = 34023; // 0x84e7
+    field public static final int GL_TEXTURE_BINDING_2D = 32873; // 0x8069
+    field public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 34970; // 0x889a
+    field public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 32914; // 0x8092
+    field public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 32904; // 0x8088
+    field public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 32906; // 0x808a
+    field public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 32905; // 0x8089
+    field public static final int GL_TEXTURE_MATRIX = 2984; // 0xba8
+    field public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 35215; // 0x898f
+    field public static final int GL_TEXTURE_STACK_DEPTH = 2981; // 0xba5
+    field public static final int GL_VERTEX_ARRAY_BUFFER_BINDING = 34966; // 0x8896
+    field public static final int GL_VERTEX_ARRAY_POINTER = 32910; // 0x808e
+    field public static final int GL_VERTEX_ARRAY_SIZE = 32890; // 0x807a
+    field public static final int GL_VERTEX_ARRAY_STRIDE = 32892; // 0x807c
+    field public static final int GL_VERTEX_ARRAY_TYPE = 32891; // 0x807b
+    field public static final int GL_VIEWPORT = 2978; // 0xba2
+    field public static final int GL_WRITE_ONLY = 35001; // 0x88b9
+  }
+
+  public class GLES11Ext {
+    ctor public GLES11Ext();
+    method public static void glAlphaFuncxOES(int, int);
+    method public static void glBindFramebufferOES(int, int);
+    method public static void glBindRenderbufferOES(int, int);
+    method public static void glBlendEquationOES(int);
+    method public static void glBlendEquationSeparateOES(int, int);
+    method public static void glBlendFuncSeparateOES(int, int, int, int);
+    method public static int glCheckFramebufferStatusOES(int);
+    method public static void glClearColorxOES(int, int, int, int);
+    method public static void glClearDepthfOES(float);
+    method public static void glClearDepthxOES(int);
+    method public static void glClipPlanefOES(int, float[], int);
+    method public static void glClipPlanefOES(int, java.nio.FloatBuffer);
+    method public static void glClipPlanexOES(int, int[], int);
+    method public static void glClipPlanexOES(int, java.nio.IntBuffer);
+    method public static void glColor4xOES(int, int, int, int);
+    method public static void glCurrentPaletteMatrixOES(int);
+    method public static void glDeleteFramebuffersOES(int, int[], int);
+    method public static void glDeleteFramebuffersOES(int, java.nio.IntBuffer);
+    method public static void glDeleteRenderbuffersOES(int, int[], int);
+    method public static void glDeleteRenderbuffersOES(int, java.nio.IntBuffer);
+    method public static void glDepthRangefOES(float, float);
+    method public static void glDepthRangexOES(int, int);
+    method public static void glDrawTexfOES(float, float, float, float, float);
+    method public static void glDrawTexfvOES(float[], int);
+    method public static void glDrawTexfvOES(java.nio.FloatBuffer);
+    method public static void glDrawTexiOES(int, int, int, int, int);
+    method public static void glDrawTexivOES(int[], int);
+    method public static void glDrawTexivOES(java.nio.IntBuffer);
+    method public static void glDrawTexsOES(short, short, short, short, short);
+    method public static void glDrawTexsvOES(short[], int);
+    method public static void glDrawTexsvOES(java.nio.ShortBuffer);
+    method public static void glDrawTexxOES(int, int, int, int, int);
+    method public static void glDrawTexxvOES(int[], int);
+    method public static void glDrawTexxvOES(java.nio.IntBuffer);
+    method public static void glEGLImageTargetRenderbufferStorageOES(int, java.nio.Buffer);
+    method public static void glEGLImageTargetTexture2DOES(int, java.nio.Buffer);
+    method public static void glFogxOES(int, int);
+    method public static void glFogxvOES(int, int[], int);
+    method public static void glFogxvOES(int, java.nio.IntBuffer);
+    method public static void glFramebufferRenderbufferOES(int, int, int, int);
+    method public static void glFramebufferTexture2DOES(int, int, int, int, int);
+    method public static void glFrustumfOES(float, float, float, float, float, float);
+    method public static void glFrustumxOES(int, int, int, int, int, int);
+    method public static void glGenFramebuffersOES(int, int[], int);
+    method public static void glGenFramebuffersOES(int, java.nio.IntBuffer);
+    method public static void glGenRenderbuffersOES(int, int[], int);
+    method public static void glGenRenderbuffersOES(int, java.nio.IntBuffer);
+    method public static void glGenerateMipmapOES(int);
+    method public static void glGetClipPlanefOES(int, float[], int);
+    method public static void glGetClipPlanefOES(int, java.nio.FloatBuffer);
+    method public static void glGetClipPlanexOES(int, int[], int);
+    method public static void glGetClipPlanexOES(int, java.nio.IntBuffer);
+    method public static void glGetFixedvOES(int, int[], int);
+    method public static void glGetFixedvOES(int, java.nio.IntBuffer);
+    method public static void glGetFramebufferAttachmentParameterivOES(int, int, int, int[], int);
+    method public static void glGetFramebufferAttachmentParameterivOES(int, int, int, java.nio.IntBuffer);
+    method public static void glGetLightxvOES(int, int, int[], int);
+    method public static void glGetLightxvOES(int, int, java.nio.IntBuffer);
+    method public static void glGetMaterialxvOES(int, int, int[], int);
+    method public static void glGetMaterialxvOES(int, int, java.nio.IntBuffer);
+    method public static void glGetRenderbufferParameterivOES(int, int, int[], int);
+    method public static void glGetRenderbufferParameterivOES(int, int, java.nio.IntBuffer);
+    method public static void glGetTexEnvxvOES(int, int, int[], int);
+    method public static void glGetTexEnvxvOES(int, int, java.nio.IntBuffer);
+    method public static void glGetTexGenfvOES(int, int, float[], int);
+    method public static void glGetTexGenfvOES(int, int, java.nio.FloatBuffer);
+    method public static void glGetTexGenivOES(int, int, int[], int);
+    method public static void glGetTexGenivOES(int, int, java.nio.IntBuffer);
+    method public static void glGetTexGenxvOES(int, int, int[], int);
+    method public static void glGetTexGenxvOES(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterxvOES(int, int, int[], int);
+    method public static void glGetTexParameterxvOES(int, int, java.nio.IntBuffer);
+    method public static boolean glIsFramebufferOES(int);
+    method public static boolean glIsRenderbufferOES(int);
+    method public static void glLightModelxOES(int, int);
+    method public static void glLightModelxvOES(int, int[], int);
+    method public static void glLightModelxvOES(int, java.nio.IntBuffer);
+    method public static void glLightxOES(int, int, int);
+    method public static void glLightxvOES(int, int, int[], int);
+    method public static void glLightxvOES(int, int, java.nio.IntBuffer);
+    method public static void glLineWidthxOES(int);
+    method public static void glLoadMatrixxOES(int[], int);
+    method public static void glLoadMatrixxOES(java.nio.IntBuffer);
+    method public static void glLoadPaletteFromModelViewMatrixOES();
+    method public static void glMaterialxOES(int, int, int);
+    method public static void glMaterialxvOES(int, int, int[], int);
+    method public static void glMaterialxvOES(int, int, java.nio.IntBuffer);
+    method public static void glMatrixIndexPointerOES(int, int, int, java.nio.Buffer);
+    method public static void glMultMatrixxOES(int[], int);
+    method public static void glMultMatrixxOES(java.nio.IntBuffer);
+    method public static void glMultiTexCoord4xOES(int, int, int, int, int);
+    method public static void glNormal3xOES(int, int, int);
+    method public static void glOrthofOES(float, float, float, float, float, float);
+    method public static void glOrthoxOES(int, int, int, int, int, int);
+    method public static void glPointParameterxOES(int, int);
+    method public static void glPointParameterxvOES(int, int[], int);
+    method public static void glPointParameterxvOES(int, java.nio.IntBuffer);
+    method public static void glPointSizexOES(int);
+    method public static void glPolygonOffsetxOES(int, int);
+    method public static void glRenderbufferStorageOES(int, int, int, int);
+    method public static void glRotatexOES(int, int, int, int);
+    method public static void glSampleCoveragexOES(int, boolean);
+    method public static void glScalexOES(int, int, int);
+    method public static void glTexEnvxOES(int, int, int);
+    method public static void glTexEnvxvOES(int, int, int[], int);
+    method public static void glTexEnvxvOES(int, int, java.nio.IntBuffer);
+    method public static void glTexGenfOES(int, int, float);
+    method public static void glTexGenfvOES(int, int, float[], int);
+    method public static void glTexGenfvOES(int, int, java.nio.FloatBuffer);
+    method public static void glTexGeniOES(int, int, int);
+    method public static void glTexGenivOES(int, int, int[], int);
+    method public static void glTexGenivOES(int, int, java.nio.IntBuffer);
+    method public static void glTexGenxOES(int, int, int);
+    method public static void glTexGenxvOES(int, int, int[], int);
+    method public static void glTexGenxvOES(int, int, java.nio.IntBuffer);
+    method public static void glTexParameterxOES(int, int, int);
+    method public static void glTexParameterxvOES(int, int, int[], int);
+    method public static void glTexParameterxvOES(int, int, java.nio.IntBuffer);
+    method public static void glTranslatexOES(int, int, int);
+    method public static void glWeightPointerOES(int, int, int, java.nio.Buffer);
+    field public static final int GL_3DC_XY_AMD = 34810; // 0x87fa
+    field public static final int GL_3DC_X_AMD = 34809; // 0x87f9
+    field public static final int GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = 35987; // 0x8c93
+    field public static final int GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 34798; // 0x87ee
+    field public static final int GL_ATC_RGB_AMD = 35986; // 0x8c92
+    field public static final int GL_BGRA = 32993; // 0x80e1
+    field public static final int GL_BLEND_DST_ALPHA_OES = 32970; // 0x80ca
+    field public static final int GL_BLEND_DST_RGB_OES = 32968; // 0x80c8
+    field public static final int GL_BLEND_EQUATION_ALPHA_OES = 34877; // 0x883d
+    field public static final int GL_BLEND_EQUATION_OES = 32777; // 0x8009
+    field public static final int GL_BLEND_EQUATION_RGB_OES = 32777; // 0x8009
+    field public static final int GL_BLEND_SRC_ALPHA_OES = 32971; // 0x80cb
+    field public static final int GL_BLEND_SRC_RGB_OES = 32969; // 0x80c9
+    field public static final int GL_BUFFER_ACCESS_OES = 35003; // 0x88bb
+    field public static final int GL_BUFFER_MAPPED_OES = 35004; // 0x88bc
+    field public static final int GL_BUFFER_MAP_POINTER_OES = 35005; // 0x88bd
+    field public static final int GL_COLOR_ATTACHMENT0_OES = 36064; // 0x8ce0
+    field public static final int GL_CURRENT_PALETTE_MATRIX_OES = 34883; // 0x8843
+    field public static final int GL_DECR_WRAP_OES = 34056; // 0x8508
+    field public static final int GL_DEPTH24_STENCIL8_OES = 35056; // 0x88f0
+    field public static final int GL_DEPTH_ATTACHMENT_OES = 36096; // 0x8d00
+    field public static final int GL_DEPTH_COMPONENT16_OES = 33189; // 0x81a5
+    field public static final int GL_DEPTH_COMPONENT24_OES = 33190; // 0x81a6
+    field public static final int GL_DEPTH_COMPONENT32_OES = 33191; // 0x81a7
+    field public static final int GL_DEPTH_STENCIL_OES = 34041; // 0x84f9
+    field public static final int GL_ETC1_RGB8_OES = 36196; // 0x8d64
+    field public static final int GL_FIXED_OES = 5132; // 0x140c
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 36049; // 0x8cd1
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 36048; // 0x8cd0
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 36051; // 0x8cd3
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 36050; // 0x8cd2
+    field public static final int GL_FRAMEBUFFER_BINDING_OES = 36006; // 0x8ca6
+    field public static final int GL_FRAMEBUFFER_COMPLETE_OES = 36053; // 0x8cd5
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 36054; // 0x8cd6
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 36057; // 0x8cd9
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 36058; // 0x8cda
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 36055; // 0x8cd7
+    field public static final int GL_FRAMEBUFFER_OES = 36160; // 0x8d40
+    field public static final int GL_FRAMEBUFFER_UNSUPPORTED_OES = 36061; // 0x8cdd
+    field public static final int GL_FUNC_ADD_OES = 32774; // 0x8006
+    field public static final int GL_FUNC_REVERSE_SUBTRACT_OES = 32779; // 0x800b
+    field public static final int GL_FUNC_SUBTRACT_OES = 32778; // 0x800a
+    field public static final int GL_INCR_WRAP_OES = 34055; // 0x8507
+    field public static final int GL_INVALID_FRAMEBUFFER_OPERATION_OES = 1286; // 0x506
+    field public static final int GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 35742; // 0x8b9e
+    field public static final int GL_MATRIX_INDEX_ARRAY_OES = 34884; // 0x8844
+    field public static final int GL_MATRIX_INDEX_ARRAY_POINTER_OES = 34889; // 0x8849
+    field public static final int GL_MATRIX_INDEX_ARRAY_SIZE_OES = 34886; // 0x8846
+    field public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 34888; // 0x8848
+    field public static final int GL_MATRIX_INDEX_ARRAY_TYPE_OES = 34887; // 0x8847
+    field public static final int GL_MATRIX_PALETTE_OES = 34880; // 0x8840
+    field public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 34076; // 0x851c
+    field public static final int GL_MAX_PALETTE_MATRICES_OES = 34882; // 0x8842
+    field public static final int GL_MAX_RENDERBUFFER_SIZE_OES = 34024; // 0x84e8
+    field public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 34047; // 0x84ff
+    field public static final int GL_MAX_VERTEX_UNITS_OES = 34468; // 0x86a4
+    field public static final int GL_MIRRORED_REPEAT_OES = 33648; // 0x8370
+    field public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 35213; // 0x898d
+    field public static final int GL_NONE_OES = 0; // 0x0
+    field public static final int GL_NORMAL_MAP_OES = 34065; // 0x8511
+    field public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 35214; // 0x898e
+    field public static final int GL_REFLECTION_MAP_OES = 34066; // 0x8512
+    field public static final int GL_RENDERBUFFER_ALPHA_SIZE_OES = 36179; // 0x8d53
+    field public static final int GL_RENDERBUFFER_BINDING_OES = 36007; // 0x8ca7
+    field public static final int GL_RENDERBUFFER_BLUE_SIZE_OES = 36178; // 0x8d52
+    field public static final int GL_RENDERBUFFER_DEPTH_SIZE_OES = 36180; // 0x8d54
+    field public static final int GL_RENDERBUFFER_GREEN_SIZE_OES = 36177; // 0x8d51
+    field public static final int GL_RENDERBUFFER_HEIGHT_OES = 36163; // 0x8d43
+    field public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 36164; // 0x8d44
+    field public static final int GL_RENDERBUFFER_OES = 36161; // 0x8d41
+    field public static final int GL_RENDERBUFFER_RED_SIZE_OES = 36176; // 0x8d50
+    field public static final int GL_RENDERBUFFER_STENCIL_SIZE_OES = 36181; // 0x8d55
+    field public static final int GL_RENDERBUFFER_WIDTH_OES = 36162; // 0x8d42
+    field public static final int GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 36200; // 0x8d68
+    field public static final int GL_RGB565_OES = 36194; // 0x8d62
+    field public static final int GL_RGB5_A1_OES = 32855; // 0x8057
+    field public static final int GL_RGB8_OES = 32849; // 0x8051
+    field public static final int GL_RGBA4_OES = 32854; // 0x8056
+    field public static final int GL_RGBA8_OES = 32856; // 0x8058
+    field public static final int GL_SAMPLER_EXTERNAL_OES = 36198; // 0x8d66
+    field public static final int GL_STENCIL_ATTACHMENT_OES = 36128; // 0x8d20
+    field public static final int GL_STENCIL_INDEX1_OES = 36166; // 0x8d46
+    field public static final int GL_STENCIL_INDEX4_OES = 36167; // 0x8d47
+    field public static final int GL_STENCIL_INDEX8_OES = 36168; // 0x8d48
+    field public static final int GL_TEXTURE_BINDING_CUBE_MAP_OES = 34068; // 0x8514
+    field public static final int GL_TEXTURE_BINDING_EXTERNAL_OES = 36199; // 0x8d67
+    field public static final int GL_TEXTURE_CROP_RECT_OES = 35741; // 0x8b9d
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 34070; // 0x8516
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 34072; // 0x8518
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 34074; // 0x851a
+    field public static final int GL_TEXTURE_CUBE_MAP_OES = 34067; // 0x8513
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 34069; // 0x8515
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 34071; // 0x8517
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 34073; // 0x8519
+    field public static final int GL_TEXTURE_EXTERNAL_OES = 36197; // 0x8d65
+    field public static final int GL_TEXTURE_GEN_MODE_OES = 9472; // 0x2500
+    field public static final int GL_TEXTURE_GEN_STR_OES = 36192; // 0x8d60
+    field public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 35215; // 0x898f
+    field public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 34046; // 0x84fe
+    field public static final int GL_UNSIGNED_INT_24_8_OES = 34042; // 0x84fa
+    field public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 34974; // 0x889e
+    field public static final int GL_WEIGHT_ARRAY_OES = 34477; // 0x86ad
+    field public static final int GL_WEIGHT_ARRAY_POINTER_OES = 34476; // 0x86ac
+    field public static final int GL_WEIGHT_ARRAY_SIZE_OES = 34475; // 0x86ab
+    field public static final int GL_WEIGHT_ARRAY_STRIDE_OES = 34474; // 0x86aa
+    field public static final int GL_WEIGHT_ARRAY_TYPE_OES = 34473; // 0x86a9
+    field public static final int GL_WRITE_ONLY_OES = 35001; // 0x88b9
+  }
+
+  public class GLES20 {
+    ctor public GLES20();
+    method public static void glActiveTexture(int);
+    method public static void glAttachShader(int, int);
+    method public static void glBindAttribLocation(int, int, String);
+    method public static void glBindBuffer(int, int);
+    method public static void glBindFramebuffer(int, int);
+    method public static void glBindRenderbuffer(int, int);
+    method public static void glBindTexture(int, int);
+    method public static void glBlendColor(float, float, float, float);
+    method public static void glBlendEquation(int);
+    method public static void glBlendEquationSeparate(int, int);
+    method public static void glBlendFunc(int, int);
+    method public static void glBlendFuncSeparate(int, int, int, int);
+    method public static void glBufferData(int, int, java.nio.Buffer, int);
+    method public static void glBufferSubData(int, int, int, java.nio.Buffer);
+    method public static int glCheckFramebufferStatus(int);
+    method public static void glClear(int);
+    method public static void glClearColor(float, float, float, float);
+    method public static void glClearDepthf(float);
+    method public static void glClearStencil(int);
+    method public static void glColorMask(boolean, boolean, boolean, boolean);
+    method public static void glCompileShader(int);
+    method public static void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCompressedTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+    method public static void glCopyTexSubImage2D(int, int, int, int, int, int, int, int);
+    method public static int glCreateProgram();
+    method public static int glCreateShader(int);
+    method public static void glCullFace(int);
+    method public static void glDeleteBuffers(int, int[], int);
+    method public static void glDeleteBuffers(int, java.nio.IntBuffer);
+    method public static void glDeleteFramebuffers(int, int[], int);
+    method public static void glDeleteFramebuffers(int, java.nio.IntBuffer);
+    method public static void glDeleteProgram(int);
+    method public static void glDeleteRenderbuffers(int, int[], int);
+    method public static void glDeleteRenderbuffers(int, java.nio.IntBuffer);
+    method public static void glDeleteShader(int);
+    method public static void glDeleteTextures(int, int[], int);
+    method public static void glDeleteTextures(int, java.nio.IntBuffer);
+    method public static void glDepthFunc(int);
+    method public static void glDepthMask(boolean);
+    method public static void glDepthRangef(float, float);
+    method public static void glDetachShader(int, int);
+    method public static void glDisable(int);
+    method public static void glDisableVertexAttribArray(int);
+    method public static void glDrawArrays(int, int, int);
+    method public static void glDrawElements(int, int, int, int);
+    method public static void glDrawElements(int, int, int, java.nio.Buffer);
+    method public static void glEnable(int);
+    method public static void glEnableVertexAttribArray(int);
+    method public static void glFinish();
+    method public static void glFlush();
+    method public static void glFramebufferRenderbuffer(int, int, int, int);
+    method public static void glFramebufferTexture2D(int, int, int, int, int);
+    method public static void glFrontFace(int);
+    method public static void glGenBuffers(int, int[], int);
+    method public static void glGenBuffers(int, java.nio.IntBuffer);
+    method public static void glGenFramebuffers(int, int[], int);
+    method public static void glGenFramebuffers(int, java.nio.IntBuffer);
+    method public static void glGenRenderbuffers(int, int[], int);
+    method public static void glGenRenderbuffers(int, java.nio.IntBuffer);
+    method public static void glGenTextures(int, int[], int);
+    method public static void glGenTextures(int, java.nio.IntBuffer);
+    method public static void glGenerateMipmap(int);
+    method public static void glGetActiveAttrib(int, int, int, int[], int, int[], int, int[], int, byte[], int);
+    method public static String glGetActiveAttrib(int, int, int[], int, int[], int);
+    method public static String glGetActiveAttrib(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static void glGetActiveUniform(int, int, int, int[], int, int[], int, int[], int, byte[], int);
+    method public static String glGetActiveUniform(int, int, int[], int, int[], int);
+    method public static String glGetActiveUniform(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static void glGetAttachedShaders(int, int, int[], int, int[], int);
+    method public static void glGetAttachedShaders(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static int glGetAttribLocation(int, String);
+    method public static void glGetBooleanv(int, boolean[], int);
+    method public static void glGetBooleanv(int, java.nio.IntBuffer);
+    method public static void glGetBufferParameteriv(int, int, int[], int);
+    method public static void glGetBufferParameteriv(int, int, java.nio.IntBuffer);
+    method public static int glGetError();
+    method public static void glGetFloatv(int, float[], int);
+    method public static void glGetFloatv(int, java.nio.FloatBuffer);
+    method public static void glGetFramebufferAttachmentParameteriv(int, int, int, int[], int);
+    method public static void glGetFramebufferAttachmentParameteriv(int, int, int, java.nio.IntBuffer);
+    method public static void glGetIntegerv(int, int[], int);
+    method public static void glGetIntegerv(int, java.nio.IntBuffer);
+    method public static String glGetProgramInfoLog(int);
+    method public static void glGetProgramiv(int, int, int[], int);
+    method public static void glGetProgramiv(int, int, java.nio.IntBuffer);
+    method public static void glGetRenderbufferParameteriv(int, int, int[], int);
+    method public static void glGetRenderbufferParameteriv(int, int, java.nio.IntBuffer);
+    method public static String glGetShaderInfoLog(int);
+    method public static void glGetShaderPrecisionFormat(int, int, int[], int, int[], int);
+    method public static void glGetShaderPrecisionFormat(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static void glGetShaderSource(int, int, int[], int, byte[], int);
+    method public static String glGetShaderSource(int);
+    method public static void glGetShaderiv(int, int, int[], int);
+    method public static void glGetShaderiv(int, int, java.nio.IntBuffer);
+    method public static String glGetString(int);
+    method public static void glGetTexParameterfv(int, int, float[], int);
+    method public static void glGetTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetTexParameteriv(int, int, int[], int);
+    method public static void glGetTexParameteriv(int, int, java.nio.IntBuffer);
+    method public static int glGetUniformLocation(int, String);
+    method public static void glGetUniformfv(int, int, float[], int);
+    method public static void glGetUniformfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetUniformiv(int, int, int[], int);
+    method public static void glGetUniformiv(int, int, java.nio.IntBuffer);
+    method public static void glGetVertexAttribfv(int, int, float[], int);
+    method public static void glGetVertexAttribfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetVertexAttribiv(int, int, int[], int);
+    method public static void glGetVertexAttribiv(int, int, java.nio.IntBuffer);
+    method public static void glHint(int, int);
+    method public static boolean glIsBuffer(int);
+    method public static boolean glIsEnabled(int);
+    method public static boolean glIsFramebuffer(int);
+    method public static boolean glIsProgram(int);
+    method public static boolean glIsRenderbuffer(int);
+    method public static boolean glIsShader(int);
+    method public static boolean glIsTexture(int);
+    method public static void glLineWidth(float);
+    method public static void glLinkProgram(int);
+    method public static void glPixelStorei(int, int);
+    method public static void glPolygonOffset(float, float);
+    method public static void glReadPixels(int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glReleaseShaderCompiler();
+    method public static void glRenderbufferStorage(int, int, int, int);
+    method public static void glSampleCoverage(float, boolean);
+    method public static void glScissor(int, int, int, int);
+    method public static void glShaderBinary(int, int[], int, int, java.nio.Buffer, int);
+    method public static void glShaderBinary(int, java.nio.IntBuffer, int, java.nio.Buffer, int);
+    method public static void glShaderSource(int, String);
+    method public static void glStencilFunc(int, int, int);
+    method public static void glStencilFuncSeparate(int, int, int, int);
+    method public static void glStencilMask(int);
+    method public static void glStencilMaskSeparate(int, int);
+    method public static void glStencilOp(int, int, int);
+    method public static void glStencilOpSeparate(int, int, int, int);
+    method public static void glTexImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glTexParameterf(int, int, float);
+    method public static void glTexParameterfv(int, int, float[], int);
+    method public static void glTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glTexParameteri(int, int, int);
+    method public static void glTexParameteriv(int, int, int[], int);
+    method public static void glTexParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glUniform1f(int, float);
+    method public static void glUniform1fv(int, int, float[], int);
+    method public static void glUniform1fv(int, int, java.nio.FloatBuffer);
+    method public static void glUniform1i(int, int);
+    method public static void glUniform1iv(int, int, int[], int);
+    method public static void glUniform1iv(int, int, java.nio.IntBuffer);
+    method public static void glUniform2f(int, float, float);
+    method public static void glUniform2fv(int, int, float[], int);
+    method public static void glUniform2fv(int, int, java.nio.FloatBuffer);
+    method public static void glUniform2i(int, int, int);
+    method public static void glUniform2iv(int, int, int[], int);
+    method public static void glUniform2iv(int, int, java.nio.IntBuffer);
+    method public static void glUniform3f(int, float, float, float);
+    method public static void glUniform3fv(int, int, float[], int);
+    method public static void glUniform3fv(int, int, java.nio.FloatBuffer);
+    method public static void glUniform3i(int, int, int, int);
+    method public static void glUniform3iv(int, int, int[], int);
+    method public static void glUniform3iv(int, int, java.nio.IntBuffer);
+    method public static void glUniform4f(int, float, float, float, float);
+    method public static void glUniform4fv(int, int, float[], int);
+    method public static void glUniform4fv(int, int, java.nio.FloatBuffer);
+    method public static void glUniform4i(int, int, int, int, int);
+    method public static void glUniform4iv(int, int, int[], int);
+    method public static void glUniform4iv(int, int, java.nio.IntBuffer);
+    method public static void glUniformMatrix2fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix2fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix3fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix3fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix4fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix4fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUseProgram(int);
+    method public static void glValidateProgram(int);
+    method public static void glVertexAttrib1f(int, float);
+    method public static void glVertexAttrib1fv(int, float[], int);
+    method public static void glVertexAttrib1fv(int, java.nio.FloatBuffer);
+    method public static void glVertexAttrib2f(int, float, float);
+    method public static void glVertexAttrib2fv(int, float[], int);
+    method public static void glVertexAttrib2fv(int, java.nio.FloatBuffer);
+    method public static void glVertexAttrib3f(int, float, float, float);
+    method public static void glVertexAttrib3fv(int, float[], int);
+    method public static void glVertexAttrib3fv(int, java.nio.FloatBuffer);
+    method public static void glVertexAttrib4f(int, float, float, float, float);
+    method public static void glVertexAttrib4fv(int, float[], int);
+    method public static void glVertexAttrib4fv(int, java.nio.FloatBuffer);
+    method public static void glVertexAttribPointer(int, int, int, boolean, int, int);
+    method public static void glVertexAttribPointer(int, int, int, boolean, int, java.nio.Buffer);
+    method public static void glViewport(int, int, int, int);
+    field public static final int GL_ACTIVE_ATTRIBUTES = 35721; // 0x8b89
+    field public static final int GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 35722; // 0x8b8a
+    field public static final int GL_ACTIVE_TEXTURE = 34016; // 0x84e0
+    field public static final int GL_ACTIVE_UNIFORMS = 35718; // 0x8b86
+    field public static final int GL_ACTIVE_UNIFORM_MAX_LENGTH = 35719; // 0x8b87
+    field public static final int GL_ALIASED_LINE_WIDTH_RANGE = 33902; // 0x846e
+    field public static final int GL_ALIASED_POINT_SIZE_RANGE = 33901; // 0x846d
+    field public static final int GL_ALPHA = 6406; // 0x1906
+    field public static final int GL_ALPHA_BITS = 3413; // 0xd55
+    field public static final int GL_ALWAYS = 519; // 0x207
+    field public static final int GL_ARRAY_BUFFER = 34962; // 0x8892
+    field public static final int GL_ARRAY_BUFFER_BINDING = 34964; // 0x8894
+    field public static final int GL_ATTACHED_SHADERS = 35717; // 0x8b85
+    field public static final int GL_BACK = 1029; // 0x405
+    field public static final int GL_BLEND = 3042; // 0xbe2
+    field public static final int GL_BLEND_COLOR = 32773; // 0x8005
+    field public static final int GL_BLEND_DST_ALPHA = 32970; // 0x80ca
+    field public static final int GL_BLEND_DST_RGB = 32968; // 0x80c8
+    field public static final int GL_BLEND_EQUATION = 32777; // 0x8009
+    field public static final int GL_BLEND_EQUATION_ALPHA = 34877; // 0x883d
+    field public static final int GL_BLEND_EQUATION_RGB = 32777; // 0x8009
+    field public static final int GL_BLEND_SRC_ALPHA = 32971; // 0x80cb
+    field public static final int GL_BLEND_SRC_RGB = 32969; // 0x80c9
+    field public static final int GL_BLUE_BITS = 3412; // 0xd54
+    field public static final int GL_BOOL = 35670; // 0x8b56
+    field public static final int GL_BOOL_VEC2 = 35671; // 0x8b57
+    field public static final int GL_BOOL_VEC3 = 35672; // 0x8b58
+    field public static final int GL_BOOL_VEC4 = 35673; // 0x8b59
+    field public static final int GL_BUFFER_SIZE = 34660; // 0x8764
+    field public static final int GL_BUFFER_USAGE = 34661; // 0x8765
+    field public static final int GL_BYTE = 5120; // 0x1400
+    field public static final int GL_CCW = 2305; // 0x901
+    field public static final int GL_CLAMP_TO_EDGE = 33071; // 0x812f
+    field public static final int GL_COLOR_ATTACHMENT0 = 36064; // 0x8ce0
+    field public static final int GL_COLOR_BUFFER_BIT = 16384; // 0x4000
+    field public static final int GL_COLOR_CLEAR_VALUE = 3106; // 0xc22
+    field public static final int GL_COLOR_WRITEMASK = 3107; // 0xc23
+    field public static final int GL_COMPILE_STATUS = 35713; // 0x8b81
+    field public static final int GL_COMPRESSED_TEXTURE_FORMATS = 34467; // 0x86a3
+    field public static final int GL_CONSTANT_ALPHA = 32771; // 0x8003
+    field public static final int GL_CONSTANT_COLOR = 32769; // 0x8001
+    field public static final int GL_CULL_FACE = 2884; // 0xb44
+    field public static final int GL_CULL_FACE_MODE = 2885; // 0xb45
+    field public static final int GL_CURRENT_PROGRAM = 35725; // 0x8b8d
+    field public static final int GL_CURRENT_VERTEX_ATTRIB = 34342; // 0x8626
+    field public static final int GL_CW = 2304; // 0x900
+    field public static final int GL_DECR = 7683; // 0x1e03
+    field public static final int GL_DECR_WRAP = 34056; // 0x8508
+    field public static final int GL_DELETE_STATUS = 35712; // 0x8b80
+    field public static final int GL_DEPTH_ATTACHMENT = 36096; // 0x8d00
+    field public static final int GL_DEPTH_BITS = 3414; // 0xd56
+    field public static final int GL_DEPTH_BUFFER_BIT = 256; // 0x100
+    field public static final int GL_DEPTH_CLEAR_VALUE = 2931; // 0xb73
+    field public static final int GL_DEPTH_COMPONENT = 6402; // 0x1902
+    field public static final int GL_DEPTH_COMPONENT16 = 33189; // 0x81a5
+    field public static final int GL_DEPTH_FUNC = 2932; // 0xb74
+    field public static final int GL_DEPTH_RANGE = 2928; // 0xb70
+    field public static final int GL_DEPTH_TEST = 2929; // 0xb71
+    field public static final int GL_DEPTH_WRITEMASK = 2930; // 0xb72
+    field public static final int GL_DITHER = 3024; // 0xbd0
+    field public static final int GL_DONT_CARE = 4352; // 0x1100
+    field public static final int GL_DST_ALPHA = 772; // 0x304
+    field public static final int GL_DST_COLOR = 774; // 0x306
+    field public static final int GL_DYNAMIC_DRAW = 35048; // 0x88e8
+    field public static final int GL_ELEMENT_ARRAY_BUFFER = 34963; // 0x8893
+    field public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 34965; // 0x8895
+    field public static final int GL_EQUAL = 514; // 0x202
+    field public static final int GL_EXTENSIONS = 7939; // 0x1f03
+    field public static final int GL_FALSE = 0; // 0x0
+    field public static final int GL_FASTEST = 4353; // 0x1101
+    field public static final int GL_FIXED = 5132; // 0x140c
+    field public static final int GL_FLOAT = 5126; // 0x1406
+    field public static final int GL_FLOAT_MAT2 = 35674; // 0x8b5a
+    field public static final int GL_FLOAT_MAT3 = 35675; // 0x8b5b
+    field public static final int GL_FLOAT_MAT4 = 35676; // 0x8b5c
+    field public static final int GL_FLOAT_VEC2 = 35664; // 0x8b50
+    field public static final int GL_FLOAT_VEC3 = 35665; // 0x8b51
+    field public static final int GL_FLOAT_VEC4 = 35666; // 0x8b52
+    field public static final int GL_FRAGMENT_SHADER = 35632; // 0x8b30
+    field public static final int GL_FRAMEBUFFER = 36160; // 0x8d40
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049; // 0x8cd1
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048; // 0x8cd0
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051; // 0x8cd3
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050; // 0x8cd2
+    field public static final int GL_FRAMEBUFFER_BINDING = 36006; // 0x8ca6
+    field public static final int GL_FRAMEBUFFER_COMPLETE = 36053; // 0x8cd5
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054; // 0x8cd6
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057; // 0x8cd9
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055; // 0x8cd7
+    field public static final int GL_FRAMEBUFFER_UNSUPPORTED = 36061; // 0x8cdd
+    field public static final int GL_FRONT = 1028; // 0x404
+    field public static final int GL_FRONT_AND_BACK = 1032; // 0x408
+    field public static final int GL_FRONT_FACE = 2886; // 0xb46
+    field public static final int GL_FUNC_ADD = 32774; // 0x8006
+    field public static final int GL_FUNC_REVERSE_SUBTRACT = 32779; // 0x800b
+    field public static final int GL_FUNC_SUBTRACT = 32778; // 0x800a
+    field public static final int GL_GENERATE_MIPMAP_HINT = 33170; // 0x8192
+    field public static final int GL_GEQUAL = 518; // 0x206
+    field public static final int GL_GREATER = 516; // 0x204
+    field public static final int GL_GREEN_BITS = 3411; // 0xd53
+    field public static final int GL_HIGH_FLOAT = 36338; // 0x8df2
+    field public static final int GL_HIGH_INT = 36341; // 0x8df5
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT = 35739; // 0x8b9b
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE = 35738; // 0x8b9a
+    field public static final int GL_INCR = 7682; // 0x1e02
+    field public static final int GL_INCR_WRAP = 34055; // 0x8507
+    field public static final int GL_INFO_LOG_LENGTH = 35716; // 0x8b84
+    field public static final int GL_INT = 5124; // 0x1404
+    field public static final int GL_INT_VEC2 = 35667; // 0x8b53
+    field public static final int GL_INT_VEC3 = 35668; // 0x8b54
+    field public static final int GL_INT_VEC4 = 35669; // 0x8b55
+    field public static final int GL_INVALID_ENUM = 1280; // 0x500
+    field public static final int GL_INVALID_FRAMEBUFFER_OPERATION = 1286; // 0x506
+    field public static final int GL_INVALID_OPERATION = 1282; // 0x502
+    field public static final int GL_INVALID_VALUE = 1281; // 0x501
+    field public static final int GL_INVERT = 5386; // 0x150a
+    field public static final int GL_KEEP = 7680; // 0x1e00
+    field public static final int GL_LEQUAL = 515; // 0x203
+    field public static final int GL_LESS = 513; // 0x201
+    field public static final int GL_LINEAR = 9729; // 0x2601
+    field public static final int GL_LINEAR_MIPMAP_LINEAR = 9987; // 0x2703
+    field public static final int GL_LINEAR_MIPMAP_NEAREST = 9985; // 0x2701
+    field public static final int GL_LINES = 1; // 0x1
+    field public static final int GL_LINE_LOOP = 2; // 0x2
+    field public static final int GL_LINE_STRIP = 3; // 0x3
+    field public static final int GL_LINE_WIDTH = 2849; // 0xb21
+    field public static final int GL_LINK_STATUS = 35714; // 0x8b82
+    field public static final int GL_LOW_FLOAT = 36336; // 0x8df0
+    field public static final int GL_LOW_INT = 36339; // 0x8df3
+    field public static final int GL_LUMINANCE = 6409; // 0x1909
+    field public static final int GL_LUMINANCE_ALPHA = 6410; // 0x190a
+    field public static final int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661; // 0x8b4d
+    field public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE = 34076; // 0x851c
+    field public static final int GL_MAX_FRAGMENT_UNIFORM_VECTORS = 36349; // 0x8dfd
+    field public static final int GL_MAX_RENDERBUFFER_SIZE = 34024; // 0x84e8
+    field public static final int GL_MAX_TEXTURE_IMAGE_UNITS = 34930; // 0x8872
+    field public static final int GL_MAX_TEXTURE_SIZE = 3379; // 0xd33
+    field public static final int GL_MAX_VARYING_VECTORS = 36348; // 0x8dfc
+    field public static final int GL_MAX_VERTEX_ATTRIBS = 34921; // 0x8869
+    field public static final int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660; // 0x8b4c
+    field public static final int GL_MAX_VERTEX_UNIFORM_VECTORS = 36347; // 0x8dfb
+    field public static final int GL_MAX_VIEWPORT_DIMS = 3386; // 0xd3a
+    field public static final int GL_MEDIUM_FLOAT = 36337; // 0x8df1
+    field public static final int GL_MEDIUM_INT = 36340; // 0x8df4
+    field public static final int GL_MIRRORED_REPEAT = 33648; // 0x8370
+    field public static final int GL_NEAREST = 9728; // 0x2600
+    field public static final int GL_NEAREST_MIPMAP_LINEAR = 9986; // 0x2702
+    field public static final int GL_NEAREST_MIPMAP_NEAREST = 9984; // 0x2700
+    field public static final int GL_NEVER = 512; // 0x200
+    field public static final int GL_NICEST = 4354; // 0x1102
+    field public static final int GL_NONE = 0; // 0x0
+    field public static final int GL_NOTEQUAL = 517; // 0x205
+    field public static final int GL_NO_ERROR = 0; // 0x0
+    field public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 34466; // 0x86a2
+    field public static final int GL_NUM_SHADER_BINARY_FORMATS = 36345; // 0x8df9
+    field public static final int GL_ONE = 1; // 0x1
+    field public static final int GL_ONE_MINUS_CONSTANT_ALPHA = 32772; // 0x8004
+    field public static final int GL_ONE_MINUS_CONSTANT_COLOR = 32770; // 0x8002
+    field public static final int GL_ONE_MINUS_DST_ALPHA = 773; // 0x305
+    field public static final int GL_ONE_MINUS_DST_COLOR = 775; // 0x307
+    field public static final int GL_ONE_MINUS_SRC_ALPHA = 771; // 0x303
+    field public static final int GL_ONE_MINUS_SRC_COLOR = 769; // 0x301
+    field public static final int GL_OUT_OF_MEMORY = 1285; // 0x505
+    field public static final int GL_PACK_ALIGNMENT = 3333; // 0xd05
+    field public static final int GL_POINTS = 0; // 0x0
+    field public static final int GL_POLYGON_OFFSET_FACTOR = 32824; // 0x8038
+    field public static final int GL_POLYGON_OFFSET_FILL = 32823; // 0x8037
+    field public static final int GL_POLYGON_OFFSET_UNITS = 10752; // 0x2a00
+    field public static final int GL_RED_BITS = 3410; // 0xd52
+    field public static final int GL_RENDERBUFFER = 36161; // 0x8d41
+    field public static final int GL_RENDERBUFFER_ALPHA_SIZE = 36179; // 0x8d53
+    field public static final int GL_RENDERBUFFER_BINDING = 36007; // 0x8ca7
+    field public static final int GL_RENDERBUFFER_BLUE_SIZE = 36178; // 0x8d52
+    field public static final int GL_RENDERBUFFER_DEPTH_SIZE = 36180; // 0x8d54
+    field public static final int GL_RENDERBUFFER_GREEN_SIZE = 36177; // 0x8d51
+    field public static final int GL_RENDERBUFFER_HEIGHT = 36163; // 0x8d43
+    field public static final int GL_RENDERBUFFER_INTERNAL_FORMAT = 36164; // 0x8d44
+    field public static final int GL_RENDERBUFFER_RED_SIZE = 36176; // 0x8d50
+    field public static final int GL_RENDERBUFFER_STENCIL_SIZE = 36181; // 0x8d55
+    field public static final int GL_RENDERBUFFER_WIDTH = 36162; // 0x8d42
+    field public static final int GL_RENDERER = 7937; // 0x1f01
+    field public static final int GL_REPEAT = 10497; // 0x2901
+    field public static final int GL_REPLACE = 7681; // 0x1e01
+    field public static final int GL_RGB = 6407; // 0x1907
+    field public static final int GL_RGB565 = 36194; // 0x8d62
+    field public static final int GL_RGB5_A1 = 32855; // 0x8057
+    field public static final int GL_RGBA = 6408; // 0x1908
+    field public static final int GL_RGBA4 = 32854; // 0x8056
+    field public static final int GL_SAMPLER_2D = 35678; // 0x8b5e
+    field public static final int GL_SAMPLER_CUBE = 35680; // 0x8b60
+    field public static final int GL_SAMPLES = 32937; // 0x80a9
+    field public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 32926; // 0x809e
+    field public static final int GL_SAMPLE_BUFFERS = 32936; // 0x80a8
+    field public static final int GL_SAMPLE_COVERAGE = 32928; // 0x80a0
+    field public static final int GL_SAMPLE_COVERAGE_INVERT = 32939; // 0x80ab
+    field public static final int GL_SAMPLE_COVERAGE_VALUE = 32938; // 0x80aa
+    field public static final int GL_SCISSOR_BOX = 3088; // 0xc10
+    field public static final int GL_SCISSOR_TEST = 3089; // 0xc11
+    field public static final int GL_SHADER_BINARY_FORMATS = 36344; // 0x8df8
+    field public static final int GL_SHADER_COMPILER = 36346; // 0x8dfa
+    field public static final int GL_SHADER_SOURCE_LENGTH = 35720; // 0x8b88
+    field public static final int GL_SHADER_TYPE = 35663; // 0x8b4f
+    field public static final int GL_SHADING_LANGUAGE_VERSION = 35724; // 0x8b8c
+    field public static final int GL_SHORT = 5122; // 0x1402
+    field public static final int GL_SRC_ALPHA = 770; // 0x302
+    field public static final int GL_SRC_ALPHA_SATURATE = 776; // 0x308
+    field public static final int GL_SRC_COLOR = 768; // 0x300
+    field public static final int GL_STATIC_DRAW = 35044; // 0x88e4
+    field public static final int GL_STENCIL_ATTACHMENT = 36128; // 0x8d20
+    field public static final int GL_STENCIL_BACK_FAIL = 34817; // 0x8801
+    field public static final int GL_STENCIL_BACK_FUNC = 34816; // 0x8800
+    field public static final int GL_STENCIL_BACK_PASS_DEPTH_FAIL = 34818; // 0x8802
+    field public static final int GL_STENCIL_BACK_PASS_DEPTH_PASS = 34819; // 0x8803
+    field public static final int GL_STENCIL_BACK_REF = 36003; // 0x8ca3
+    field public static final int GL_STENCIL_BACK_VALUE_MASK = 36004; // 0x8ca4
+    field public static final int GL_STENCIL_BACK_WRITEMASK = 36005; // 0x8ca5
+    field public static final int GL_STENCIL_BITS = 3415; // 0xd57
+    field public static final int GL_STENCIL_BUFFER_BIT = 1024; // 0x400
+    field public static final int GL_STENCIL_CLEAR_VALUE = 2961; // 0xb91
+    field public static final int GL_STENCIL_FAIL = 2964; // 0xb94
+    field public static final int GL_STENCIL_FUNC = 2962; // 0xb92
+    field @Deprecated public static final int GL_STENCIL_INDEX = 6401; // 0x1901
+    field public static final int GL_STENCIL_INDEX8 = 36168; // 0x8d48
+    field public static final int GL_STENCIL_PASS_DEPTH_FAIL = 2965; // 0xb95
+    field public static final int GL_STENCIL_PASS_DEPTH_PASS = 2966; // 0xb96
+    field public static final int GL_STENCIL_REF = 2967; // 0xb97
+    field public static final int GL_STENCIL_TEST = 2960; // 0xb90
+    field public static final int GL_STENCIL_VALUE_MASK = 2963; // 0xb93
+    field public static final int GL_STENCIL_WRITEMASK = 2968; // 0xb98
+    field public static final int GL_STREAM_DRAW = 35040; // 0x88e0
+    field public static final int GL_SUBPIXEL_BITS = 3408; // 0xd50
+    field public static final int GL_TEXTURE = 5890; // 0x1702
+    field public static final int GL_TEXTURE0 = 33984; // 0x84c0
+    field public static final int GL_TEXTURE1 = 33985; // 0x84c1
+    field public static final int GL_TEXTURE10 = 33994; // 0x84ca
+    field public static final int GL_TEXTURE11 = 33995; // 0x84cb
+    field public static final int GL_TEXTURE12 = 33996; // 0x84cc
+    field public static final int GL_TEXTURE13 = 33997; // 0x84cd
+    field public static final int GL_TEXTURE14 = 33998; // 0x84ce
+    field public static final int GL_TEXTURE15 = 33999; // 0x84cf
+    field public static final int GL_TEXTURE16 = 34000; // 0x84d0
+    field public static final int GL_TEXTURE17 = 34001; // 0x84d1
+    field public static final int GL_TEXTURE18 = 34002; // 0x84d2
+    field public static final int GL_TEXTURE19 = 34003; // 0x84d3
+    field public static final int GL_TEXTURE2 = 33986; // 0x84c2
+    field public static final int GL_TEXTURE20 = 34004; // 0x84d4
+    field public static final int GL_TEXTURE21 = 34005; // 0x84d5
+    field public static final int GL_TEXTURE22 = 34006; // 0x84d6
+    field public static final int GL_TEXTURE23 = 34007; // 0x84d7
+    field public static final int GL_TEXTURE24 = 34008; // 0x84d8
+    field public static final int GL_TEXTURE25 = 34009; // 0x84d9
+    field public static final int GL_TEXTURE26 = 34010; // 0x84da
+    field public static final int GL_TEXTURE27 = 34011; // 0x84db
+    field public static final int GL_TEXTURE28 = 34012; // 0x84dc
+    field public static final int GL_TEXTURE29 = 34013; // 0x84dd
+    field public static final int GL_TEXTURE3 = 33987; // 0x84c3
+    field public static final int GL_TEXTURE30 = 34014; // 0x84de
+    field public static final int GL_TEXTURE31 = 34015; // 0x84df
+    field public static final int GL_TEXTURE4 = 33988; // 0x84c4
+    field public static final int GL_TEXTURE5 = 33989; // 0x84c5
+    field public static final int GL_TEXTURE6 = 33990; // 0x84c6
+    field public static final int GL_TEXTURE7 = 33991; // 0x84c7
+    field public static final int GL_TEXTURE8 = 33992; // 0x84c8
+    field public static final int GL_TEXTURE9 = 33993; // 0x84c9
+    field public static final int GL_TEXTURE_2D = 3553; // 0xde1
+    field public static final int GL_TEXTURE_BINDING_2D = 32873; // 0x8069
+    field public static final int GL_TEXTURE_BINDING_CUBE_MAP = 34068; // 0x8514
+    field public static final int GL_TEXTURE_CUBE_MAP = 34067; // 0x8513
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070; // 0x8516
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072; // 0x8518
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074; // 0x851a
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069; // 0x8515
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 34071; // 0x8517
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073; // 0x8519
+    field public static final int GL_TEXTURE_MAG_FILTER = 10240; // 0x2800
+    field public static final int GL_TEXTURE_MIN_FILTER = 10241; // 0x2801
+    field public static final int GL_TEXTURE_WRAP_S = 10242; // 0x2802
+    field public static final int GL_TEXTURE_WRAP_T = 10243; // 0x2803
+    field public static final int GL_TRIANGLES = 4; // 0x4
+    field public static final int GL_TRIANGLE_FAN = 6; // 0x6
+    field public static final int GL_TRIANGLE_STRIP = 5; // 0x5
+    field public static final int GL_TRUE = 1; // 0x1
+    field public static final int GL_UNPACK_ALIGNMENT = 3317; // 0xcf5
+    field public static final int GL_UNSIGNED_BYTE = 5121; // 0x1401
+    field public static final int GL_UNSIGNED_INT = 5125; // 0x1405
+    field public static final int GL_UNSIGNED_SHORT = 5123; // 0x1403
+    field public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 32819; // 0x8033
+    field public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 32820; // 0x8034
+    field public static final int GL_UNSIGNED_SHORT_5_6_5 = 33635; // 0x8363
+    field public static final int GL_VALIDATE_STATUS = 35715; // 0x8b83
+    field public static final int GL_VENDOR = 7936; // 0x1f00
+    field public static final int GL_VERSION = 7938; // 0x1f02
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975; // 0x889f
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_ENABLED = 34338; // 0x8622
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922; // 0x886a
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_POINTER = 34373; // 0x8645
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_SIZE = 34339; // 0x8623
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_STRIDE = 34340; // 0x8624
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_TYPE = 34341; // 0x8625
+    field public static final int GL_VERTEX_SHADER = 35633; // 0x8b31
+    field public static final int GL_VIEWPORT = 2978; // 0xba2
+    field public static final int GL_ZERO = 0; // 0x0
+  }
+
+  public class GLES30 extends android.opengl.GLES20 {
+    ctor public GLES30();
+    method public static void glBeginQuery(int, int);
+    method public static void glBeginTransformFeedback(int);
+    method public static void glBindBufferBase(int, int, int);
+    method public static void glBindBufferRange(int, int, int, int, int);
+    method public static void glBindSampler(int, int);
+    method public static void glBindTransformFeedback(int, int);
+    method public static void glBindVertexArray(int);
+    method public static void glBlitFramebuffer(int, int, int, int, int, int, int, int, int, int);
+    method public static void glClearBufferfi(int, int, float, int);
+    method public static void glClearBufferfv(int, int, float[], int);
+    method public static void glClearBufferfv(int, int, java.nio.FloatBuffer);
+    method public static void glClearBufferiv(int, int, int[], int);
+    method public static void glClearBufferiv(int, int, java.nio.IntBuffer);
+    method public static void glClearBufferuiv(int, int, int[], int);
+    method public static void glClearBufferuiv(int, int, java.nio.IntBuffer);
+    method public static int glClientWaitSync(long, int, long);
+    method public static void glCompressedTexImage3D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCompressedTexImage3D(int, int, int, int, int, int, int, int, int);
+    method public static void glCompressedTexSubImage3D(int, int, int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCompressedTexSubImage3D(int, int, int, int, int, int, int, int, int, int, int);
+    method public static void glCopyBufferSubData(int, int, int, int, int);
+    method public static void glCopyTexSubImage3D(int, int, int, int, int, int, int, int, int);
+    method public static void glDeleteQueries(int, int[], int);
+    method public static void glDeleteQueries(int, java.nio.IntBuffer);
+    method public static void glDeleteSamplers(int, int[], int);
+    method public static void glDeleteSamplers(int, java.nio.IntBuffer);
+    method public static void glDeleteSync(long);
+    method public static void glDeleteTransformFeedbacks(int, int[], int);
+    method public static void glDeleteTransformFeedbacks(int, java.nio.IntBuffer);
+    method public static void glDeleteVertexArrays(int, int[], int);
+    method public static void glDeleteVertexArrays(int, java.nio.IntBuffer);
+    method public static void glDrawArraysInstanced(int, int, int, int);
+    method public static void glDrawBuffers(int, int[], int);
+    method public static void glDrawBuffers(int, java.nio.IntBuffer);
+    method public static void glDrawElementsInstanced(int, int, int, java.nio.Buffer, int);
+    method public static void glDrawElementsInstanced(int, int, int, int, int);
+    method public static void glDrawRangeElements(int, int, int, int, int, java.nio.Buffer);
+    method public static void glDrawRangeElements(int, int, int, int, int, int);
+    method public static void glEndQuery(int);
+    method public static void glEndTransformFeedback();
+    method public static long glFenceSync(int, int);
+    method public static void glFlushMappedBufferRange(int, int, int);
+    method public static void glFramebufferTextureLayer(int, int, int, int, int);
+    method public static void glGenQueries(int, int[], int);
+    method public static void glGenQueries(int, java.nio.IntBuffer);
+    method public static void glGenSamplers(int, int[], int);
+    method public static void glGenSamplers(int, java.nio.IntBuffer);
+    method public static void glGenTransformFeedbacks(int, int[], int);
+    method public static void glGenTransformFeedbacks(int, java.nio.IntBuffer);
+    method public static void glGenVertexArrays(int, int[], int);
+    method public static void glGenVertexArrays(int, java.nio.IntBuffer);
+    method public static void glGetActiveUniformBlockName(int, int, int, int[], int, byte[], int);
+    method public static void glGetActiveUniformBlockName(int, int, java.nio.Buffer, java.nio.Buffer);
+    method public static String glGetActiveUniformBlockName(int, int);
+    method public static void glGetActiveUniformBlockiv(int, int, int, int[], int);
+    method public static void glGetActiveUniformBlockiv(int, int, int, java.nio.IntBuffer);
+    method public static void glGetActiveUniformsiv(int, int, int[], int, int, int[], int);
+    method public static void glGetActiveUniformsiv(int, int, java.nio.IntBuffer, int, java.nio.IntBuffer);
+    method public static void glGetBufferParameteri64v(int, int, long[], int);
+    method public static void glGetBufferParameteri64v(int, int, java.nio.LongBuffer);
+    method public static java.nio.Buffer glGetBufferPointerv(int, int);
+    method public static int glGetFragDataLocation(int, String);
+    method public static void glGetInteger64i_v(int, int, long[], int);
+    method public static void glGetInteger64i_v(int, int, java.nio.LongBuffer);
+    method public static void glGetInteger64v(int, long[], int);
+    method public static void glGetInteger64v(int, java.nio.LongBuffer);
+    method public static void glGetIntegeri_v(int, int, int[], int);
+    method public static void glGetIntegeri_v(int, int, java.nio.IntBuffer);
+    method public static void glGetInternalformativ(int, int, int, int, int[], int);
+    method public static void glGetInternalformativ(int, int, int, int, java.nio.IntBuffer);
+    method public static void glGetProgramBinary(int, int, int[], int, int[], int, java.nio.Buffer);
+    method public static void glGetProgramBinary(int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.Buffer);
+    method public static void glGetQueryObjectuiv(int, int, int[], int);
+    method public static void glGetQueryObjectuiv(int, int, java.nio.IntBuffer);
+    method public static void glGetQueryiv(int, int, int[], int);
+    method public static void glGetQueryiv(int, int, java.nio.IntBuffer);
+    method public static void glGetSamplerParameterfv(int, int, float[], int);
+    method public static void glGetSamplerParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetSamplerParameteriv(int, int, int[], int);
+    method public static void glGetSamplerParameteriv(int, int, java.nio.IntBuffer);
+    method public static String glGetStringi(int, int);
+    method public static void glGetSynciv(long, int, int, int[], int, int[], int);
+    method public static void glGetSynciv(long, int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static void glGetTransformFeedbackVarying(int, int, int, int[], int, int[], int, int[], int, byte[], int);
+    method @Deprecated public static void glGetTransformFeedbackVarying(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, byte);
+    method public static void glGetTransformFeedbackVarying(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer);
+    method public static String glGetTransformFeedbackVarying(int, int, int[], int, int[], int);
+    method public static String glGetTransformFeedbackVarying(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static int glGetUniformBlockIndex(int, String);
+    method public static void glGetUniformIndices(int, String[], int[], int);
+    method public static void glGetUniformIndices(int, String[], java.nio.IntBuffer);
+    method public static void glGetUniformuiv(int, int, int[], int);
+    method public static void glGetUniformuiv(int, int, java.nio.IntBuffer);
+    method public static void glGetVertexAttribIiv(int, int, int[], int);
+    method public static void glGetVertexAttribIiv(int, int, java.nio.IntBuffer);
+    method public static void glGetVertexAttribIuiv(int, int, int[], int);
+    method public static void glGetVertexAttribIuiv(int, int, java.nio.IntBuffer);
+    method public static void glInvalidateFramebuffer(int, int, int[], int);
+    method public static void glInvalidateFramebuffer(int, int, java.nio.IntBuffer);
+    method public static void glInvalidateSubFramebuffer(int, int, int[], int, int, int, int, int);
+    method public static void glInvalidateSubFramebuffer(int, int, java.nio.IntBuffer, int, int, int, int);
+    method public static boolean glIsQuery(int);
+    method public static boolean glIsSampler(int);
+    method public static boolean glIsSync(long);
+    method public static boolean glIsTransformFeedback(int);
+    method public static boolean glIsVertexArray(int);
+    method public static java.nio.Buffer glMapBufferRange(int, int, int, int);
+    method public static void glPauseTransformFeedback();
+    method public static void glProgramBinary(int, int, java.nio.Buffer, int);
+    method public static void glProgramParameteri(int, int, int);
+    method public static void glReadBuffer(int);
+    method public static void glReadPixels(int, int, int, int, int, int, int);
+    method public static void glRenderbufferStorageMultisample(int, int, int, int, int);
+    method public static void glResumeTransformFeedback();
+    method public static void glSamplerParameterf(int, int, float);
+    method public static void glSamplerParameterfv(int, int, float[], int);
+    method public static void glSamplerParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glSamplerParameteri(int, int, int);
+    method public static void glSamplerParameteriv(int, int, int[], int);
+    method public static void glSamplerParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glTexImage3D(int, int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glTexImage3D(int, int, int, int, int, int, int, int, int, int);
+    method public static void glTexStorage2D(int, int, int, int, int);
+    method public static void glTexStorage3D(int, int, int, int, int, int);
+    method public static void glTexSubImage3D(int, int, int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glTexSubImage3D(int, int, int, int, int, int, int, int, int, int, int);
+    method public static void glTransformFeedbackVaryings(int, String[], int);
+    method public static void glUniform1ui(int, int);
+    method public static void glUniform1uiv(int, int, int[], int);
+    method public static void glUniform1uiv(int, int, java.nio.IntBuffer);
+    method public static void glUniform2ui(int, int, int);
+    method public static void glUniform2uiv(int, int, int[], int);
+    method public static void glUniform2uiv(int, int, java.nio.IntBuffer);
+    method public static void glUniform3ui(int, int, int, int);
+    method public static void glUniform3uiv(int, int, int[], int);
+    method public static void glUniform3uiv(int, int, java.nio.IntBuffer);
+    method public static void glUniform4ui(int, int, int, int, int);
+    method public static void glUniform4uiv(int, int, int[], int);
+    method public static void glUniform4uiv(int, int, java.nio.IntBuffer);
+    method public static void glUniformBlockBinding(int, int, int);
+    method public static void glUniformMatrix2x3fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix2x3fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix2x4fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix2x4fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix3x2fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix3x2fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix3x4fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix3x4fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix4x2fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix4x2fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix4x3fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix4x3fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static boolean glUnmapBuffer(int);
+    method public static void glVertexAttribDivisor(int, int);
+    method public static void glVertexAttribI4i(int, int, int, int, int);
+    method public static void glVertexAttribI4iv(int, int[], int);
+    method public static void glVertexAttribI4iv(int, java.nio.IntBuffer);
+    method public static void glVertexAttribI4ui(int, int, int, int, int);
+    method public static void glVertexAttribI4uiv(int, int[], int);
+    method public static void glVertexAttribI4uiv(int, java.nio.IntBuffer);
+    method public static void glVertexAttribIPointer(int, int, int, int, java.nio.Buffer);
+    method public static void glVertexAttribIPointer(int, int, int, int, int);
+    method public static void glWaitSync(long, int, long);
+    field public static final int GL_ACTIVE_UNIFORM_BLOCKS = 35382; // 0x8a36
+    field public static final int GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 35381; // 0x8a35
+    field public static final int GL_ALREADY_SIGNALED = 37146; // 0x911a
+    field public static final int GL_ANY_SAMPLES_PASSED = 35887; // 0x8c2f
+    field public static final int GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 36202; // 0x8d6a
+    field public static final int GL_BLUE = 6405; // 0x1905
+    field public static final int GL_BUFFER_ACCESS_FLAGS = 37151; // 0x911f
+    field public static final int GL_BUFFER_MAPPED = 35004; // 0x88bc
+    field public static final int GL_BUFFER_MAP_LENGTH = 37152; // 0x9120
+    field public static final int GL_BUFFER_MAP_OFFSET = 37153; // 0x9121
+    field public static final int GL_BUFFER_MAP_POINTER = 35005; // 0x88bd
+    field public static final int GL_COLOR = 6144; // 0x1800
+    field public static final int GL_COLOR_ATTACHMENT1 = 36065; // 0x8ce1
+    field public static final int GL_COLOR_ATTACHMENT10 = 36074; // 0x8cea
+    field public static final int GL_COLOR_ATTACHMENT11 = 36075; // 0x8ceb
+    field public static final int GL_COLOR_ATTACHMENT12 = 36076; // 0x8cec
+    field public static final int GL_COLOR_ATTACHMENT13 = 36077; // 0x8ced
+    field public static final int GL_COLOR_ATTACHMENT14 = 36078; // 0x8cee
+    field public static final int GL_COLOR_ATTACHMENT15 = 36079; // 0x8cef
+    field public static final int GL_COLOR_ATTACHMENT2 = 36066; // 0x8ce2
+    field public static final int GL_COLOR_ATTACHMENT3 = 36067; // 0x8ce3
+    field public static final int GL_COLOR_ATTACHMENT4 = 36068; // 0x8ce4
+    field public static final int GL_COLOR_ATTACHMENT5 = 36069; // 0x8ce5
+    field public static final int GL_COLOR_ATTACHMENT6 = 36070; // 0x8ce6
+    field public static final int GL_COLOR_ATTACHMENT7 = 36071; // 0x8ce7
+    field public static final int GL_COLOR_ATTACHMENT8 = 36072; // 0x8ce8
+    field public static final int GL_COLOR_ATTACHMENT9 = 36073; // 0x8ce9
+    field public static final int GL_COMPARE_REF_TO_TEXTURE = 34894; // 0x884e
+    field public static final int GL_COMPRESSED_R11_EAC = 37488; // 0x9270
+    field public static final int GL_COMPRESSED_RG11_EAC = 37490; // 0x9272
+    field public static final int GL_COMPRESSED_RGB8_ETC2 = 37492; // 0x9274
+    field public static final int GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37494; // 0x9276
+    field public static final int GL_COMPRESSED_RGBA8_ETC2_EAC = 37496; // 0x9278
+    field public static final int GL_COMPRESSED_SIGNED_R11_EAC = 37489; // 0x9271
+    field public static final int GL_COMPRESSED_SIGNED_RG11_EAC = 37491; // 0x9273
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37497; // 0x9279
+    field public static final int GL_COMPRESSED_SRGB8_ETC2 = 37493; // 0x9275
+    field public static final int GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37495; // 0x9277
+    field public static final int GL_CONDITION_SATISFIED = 37148; // 0x911c
+    field public static final int GL_COPY_READ_BUFFER = 36662; // 0x8f36
+    field public static final int GL_COPY_READ_BUFFER_BINDING = 36662; // 0x8f36
+    field public static final int GL_COPY_WRITE_BUFFER = 36663; // 0x8f37
+    field public static final int GL_COPY_WRITE_BUFFER_BINDING = 36663; // 0x8f37
+    field public static final int GL_CURRENT_QUERY = 34917; // 0x8865
+    field public static final int GL_DEPTH = 6145; // 0x1801
+    field public static final int GL_DEPTH24_STENCIL8 = 35056; // 0x88f0
+    field public static final int GL_DEPTH32F_STENCIL8 = 36013; // 0x8cad
+    field public static final int GL_DEPTH_COMPONENT24 = 33190; // 0x81a6
+    field public static final int GL_DEPTH_COMPONENT32F = 36012; // 0x8cac
+    field public static final int GL_DEPTH_STENCIL = 34041; // 0x84f9
+    field public static final int GL_DEPTH_STENCIL_ATTACHMENT = 33306; // 0x821a
+    field public static final int GL_DRAW_BUFFER0 = 34853; // 0x8825
+    field public static final int GL_DRAW_BUFFER1 = 34854; // 0x8826
+    field public static final int GL_DRAW_BUFFER10 = 34863; // 0x882f
+    field public static final int GL_DRAW_BUFFER11 = 34864; // 0x8830
+    field public static final int GL_DRAW_BUFFER12 = 34865; // 0x8831
+    field public static final int GL_DRAW_BUFFER13 = 34866; // 0x8832
+    field public static final int GL_DRAW_BUFFER14 = 34867; // 0x8833
+    field public static final int GL_DRAW_BUFFER15 = 34868; // 0x8834
+    field public static final int GL_DRAW_BUFFER2 = 34855; // 0x8827
+    field public static final int GL_DRAW_BUFFER3 = 34856; // 0x8828
+    field public static final int GL_DRAW_BUFFER4 = 34857; // 0x8829
+    field public static final int GL_DRAW_BUFFER5 = 34858; // 0x882a
+    field public static final int GL_DRAW_BUFFER6 = 34859; // 0x882b
+    field public static final int GL_DRAW_BUFFER7 = 34860; // 0x882c
+    field public static final int GL_DRAW_BUFFER8 = 34861; // 0x882d
+    field public static final int GL_DRAW_BUFFER9 = 34862; // 0x882e
+    field public static final int GL_DRAW_FRAMEBUFFER = 36009; // 0x8ca9
+    field public static final int GL_DRAW_FRAMEBUFFER_BINDING = 36006; // 0x8ca6
+    field public static final int GL_DYNAMIC_COPY = 35050; // 0x88ea
+    field public static final int GL_DYNAMIC_READ = 35049; // 0x88e9
+    field public static final int GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 36269; // 0x8dad
+    field public static final int GL_FLOAT_MAT2x3 = 35685; // 0x8b65
+    field public static final int GL_FLOAT_MAT2x4 = 35686; // 0x8b66
+    field public static final int GL_FLOAT_MAT3x2 = 35687; // 0x8b67
+    field public static final int GL_FLOAT_MAT3x4 = 35688; // 0x8b68
+    field public static final int GL_FLOAT_MAT4x2 = 35689; // 0x8b69
+    field public static final int GL_FLOAT_MAT4x3 = 35690; // 0x8b6a
+    field public static final int GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 35723; // 0x8b8b
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 33301; // 0x8215
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 33300; // 0x8214
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 33296; // 0x8210
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 33297; // 0x8211
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 33302; // 0x8216
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 33299; // 0x8213
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 33298; // 0x8212
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 33303; // 0x8217
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 36052; // 0x8cd4
+    field public static final int GL_FRAMEBUFFER_DEFAULT = 33304; // 0x8218
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 36182; // 0x8d56
+    field public static final int GL_FRAMEBUFFER_UNDEFINED = 33305; // 0x8219
+    field public static final int GL_GREEN = 6404; // 0x1904
+    field public static final int GL_HALF_FLOAT = 5131; // 0x140b
+    field public static final int GL_INTERLEAVED_ATTRIBS = 35980; // 0x8c8c
+    field public static final int GL_INT_2_10_10_10_REV = 36255; // 0x8d9f
+    field public static final int GL_INT_SAMPLER_2D = 36298; // 0x8dca
+    field public static final int GL_INT_SAMPLER_2D_ARRAY = 36303; // 0x8dcf
+    field public static final int GL_INT_SAMPLER_3D = 36299; // 0x8dcb
+    field public static final int GL_INT_SAMPLER_CUBE = 36300; // 0x8dcc
+    field public static final int GL_INVALID_INDEX = -1; // 0xffffffff
+    field public static final int GL_MAJOR_VERSION = 33307; // 0x821b
+    field public static final int GL_MAP_FLUSH_EXPLICIT_BIT = 16; // 0x10
+    field public static final int GL_MAP_INVALIDATE_BUFFER_BIT = 8; // 0x8
+    field public static final int GL_MAP_INVALIDATE_RANGE_BIT = 4; // 0x4
+    field public static final int GL_MAP_READ_BIT = 1; // 0x1
+    field public static final int GL_MAP_UNSYNCHRONIZED_BIT = 32; // 0x20
+    field public static final int GL_MAP_WRITE_BIT = 2; // 0x2
+    field public static final int GL_MAX = 32776; // 0x8008
+    field public static final int GL_MAX_3D_TEXTURE_SIZE = 32883; // 0x8073
+    field public static final int GL_MAX_ARRAY_TEXTURE_LAYERS = 35071; // 0x88ff
+    field public static final int GL_MAX_COLOR_ATTACHMENTS = 36063; // 0x8cdf
+    field public static final int GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 35379; // 0x8a33
+    field public static final int GL_MAX_COMBINED_UNIFORM_BLOCKS = 35374; // 0x8a2e
+    field public static final int GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 35377; // 0x8a31
+    field public static final int GL_MAX_DRAW_BUFFERS = 34852; // 0x8824
+    field public static final int GL_MAX_ELEMENTS_INDICES = 33001; // 0x80e9
+    field public static final int GL_MAX_ELEMENTS_VERTICES = 33000; // 0x80e8
+    field public static final int GL_MAX_ELEMENT_INDEX = 36203; // 0x8d6b
+    field public static final int GL_MAX_FRAGMENT_INPUT_COMPONENTS = 37157; // 0x9125
+    field public static final int GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 35373; // 0x8a2d
+    field public static final int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 35657; // 0x8b49
+    field public static final int GL_MAX_PROGRAM_TEXEL_OFFSET = 35077; // 0x8905
+    field public static final int GL_MAX_SAMPLES = 36183; // 0x8d57
+    field public static final int GL_MAX_SERVER_WAIT_TIMEOUT = 37137; // 0x9111
+    field public static final int GL_MAX_TEXTURE_LOD_BIAS = 34045; // 0x84fd
+    field public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 35978; // 0x8c8a
+    field public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 35979; // 0x8c8b
+    field public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 35968; // 0x8c80
+    field public static final int GL_MAX_UNIFORM_BLOCK_SIZE = 35376; // 0x8a30
+    field public static final int GL_MAX_UNIFORM_BUFFER_BINDINGS = 35375; // 0x8a2f
+    field public static final int GL_MAX_VARYING_COMPONENTS = 35659; // 0x8b4b
+    field public static final int GL_MAX_VERTEX_OUTPUT_COMPONENTS = 37154; // 0x9122
+    field public static final int GL_MAX_VERTEX_UNIFORM_BLOCKS = 35371; // 0x8a2b
+    field public static final int GL_MAX_VERTEX_UNIFORM_COMPONENTS = 35658; // 0x8b4a
+    field public static final int GL_MIN = 32775; // 0x8007
+    field public static final int GL_MINOR_VERSION = 33308; // 0x821c
+    field public static final int GL_MIN_PROGRAM_TEXEL_OFFSET = 35076; // 0x8904
+    field public static final int GL_NUM_EXTENSIONS = 33309; // 0x821d
+    field public static final int GL_NUM_PROGRAM_BINARY_FORMATS = 34814; // 0x87fe
+    field public static final int GL_NUM_SAMPLE_COUNTS = 37760; // 0x9380
+    field public static final int GL_OBJECT_TYPE = 37138; // 0x9112
+    field public static final int GL_PACK_ROW_LENGTH = 3330; // 0xd02
+    field public static final int GL_PACK_SKIP_PIXELS = 3332; // 0xd04
+    field public static final int GL_PACK_SKIP_ROWS = 3331; // 0xd03
+    field public static final int GL_PIXEL_PACK_BUFFER = 35051; // 0x88eb
+    field public static final int GL_PIXEL_PACK_BUFFER_BINDING = 35053; // 0x88ed
+    field public static final int GL_PIXEL_UNPACK_BUFFER = 35052; // 0x88ec
+    field public static final int GL_PIXEL_UNPACK_BUFFER_BINDING = 35055; // 0x88ef
+    field public static final int GL_PRIMITIVE_RESTART_FIXED_INDEX = 36201; // 0x8d69
+    field public static final int GL_PROGRAM_BINARY_FORMATS = 34815; // 0x87ff
+    field public static final int GL_PROGRAM_BINARY_LENGTH = 34625; // 0x8741
+    field public static final int GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 33367; // 0x8257
+    field public static final int GL_QUERY_RESULT = 34918; // 0x8866
+    field public static final int GL_QUERY_RESULT_AVAILABLE = 34919; // 0x8867
+    field public static final int GL_R11F_G11F_B10F = 35898; // 0x8c3a
+    field public static final int GL_R16F = 33325; // 0x822d
+    field public static final int GL_R16I = 33331; // 0x8233
+    field public static final int GL_R16UI = 33332; // 0x8234
+    field public static final int GL_R32F = 33326; // 0x822e
+    field public static final int GL_R32I = 33333; // 0x8235
+    field public static final int GL_R32UI = 33334; // 0x8236
+    field public static final int GL_R8 = 33321; // 0x8229
+    field public static final int GL_R8I = 33329; // 0x8231
+    field public static final int GL_R8UI = 33330; // 0x8232
+    field public static final int GL_R8_SNORM = 36756; // 0x8f94
+    field public static final int GL_RASTERIZER_DISCARD = 35977; // 0x8c89
+    field public static final int GL_READ_BUFFER = 3074; // 0xc02
+    field public static final int GL_READ_FRAMEBUFFER = 36008; // 0x8ca8
+    field public static final int GL_READ_FRAMEBUFFER_BINDING = 36010; // 0x8caa
+    field public static final int GL_RED = 6403; // 0x1903
+    field public static final int GL_RED_INTEGER = 36244; // 0x8d94
+    field public static final int GL_RENDERBUFFER_SAMPLES = 36011; // 0x8cab
+    field public static final int GL_RG = 33319; // 0x8227
+    field public static final int GL_RG16F = 33327; // 0x822f
+    field public static final int GL_RG16I = 33337; // 0x8239
+    field public static final int GL_RG16UI = 33338; // 0x823a
+    field public static final int GL_RG32F = 33328; // 0x8230
+    field public static final int GL_RG32I = 33339; // 0x823b
+    field public static final int GL_RG32UI = 33340; // 0x823c
+    field public static final int GL_RG8 = 33323; // 0x822b
+    field public static final int GL_RG8I = 33335; // 0x8237
+    field public static final int GL_RG8UI = 33336; // 0x8238
+    field public static final int GL_RG8_SNORM = 36757; // 0x8f95
+    field public static final int GL_RGB10_A2 = 32857; // 0x8059
+    field public static final int GL_RGB10_A2UI = 36975; // 0x906f
+    field public static final int GL_RGB16F = 34843; // 0x881b
+    field public static final int GL_RGB16I = 36233; // 0x8d89
+    field public static final int GL_RGB16UI = 36215; // 0x8d77
+    field public static final int GL_RGB32F = 34837; // 0x8815
+    field public static final int GL_RGB32I = 36227; // 0x8d83
+    field public static final int GL_RGB32UI = 36209; // 0x8d71
+    field public static final int GL_RGB8 = 32849; // 0x8051
+    field public static final int GL_RGB8I = 36239; // 0x8d8f
+    field public static final int GL_RGB8UI = 36221; // 0x8d7d
+    field public static final int GL_RGB8_SNORM = 36758; // 0x8f96
+    field public static final int GL_RGB9_E5 = 35901; // 0x8c3d
+    field public static final int GL_RGBA16F = 34842; // 0x881a
+    field public static final int GL_RGBA16I = 36232; // 0x8d88
+    field public static final int GL_RGBA16UI = 36214; // 0x8d76
+    field public static final int GL_RGBA32F = 34836; // 0x8814
+    field public static final int GL_RGBA32I = 36226; // 0x8d82
+    field public static final int GL_RGBA32UI = 36208; // 0x8d70
+    field public static final int GL_RGBA8 = 32856; // 0x8058
+    field public static final int GL_RGBA8I = 36238; // 0x8d8e
+    field public static final int GL_RGBA8UI = 36220; // 0x8d7c
+    field public static final int GL_RGBA8_SNORM = 36759; // 0x8f97
+    field public static final int GL_RGBA_INTEGER = 36249; // 0x8d99
+    field public static final int GL_RGB_INTEGER = 36248; // 0x8d98
+    field public static final int GL_RG_INTEGER = 33320; // 0x8228
+    field public static final int GL_SAMPLER_2D_ARRAY = 36289; // 0x8dc1
+    field public static final int GL_SAMPLER_2D_ARRAY_SHADOW = 36292; // 0x8dc4
+    field public static final int GL_SAMPLER_2D_SHADOW = 35682; // 0x8b62
+    field public static final int GL_SAMPLER_3D = 35679; // 0x8b5f
+    field public static final int GL_SAMPLER_BINDING = 35097; // 0x8919
+    field public static final int GL_SAMPLER_CUBE_SHADOW = 36293; // 0x8dc5
+    field public static final int GL_SEPARATE_ATTRIBS = 35981; // 0x8c8d
+    field public static final int GL_SIGNALED = 37145; // 0x9119
+    field public static final int GL_SIGNED_NORMALIZED = 36764; // 0x8f9c
+    field public static final int GL_SRGB = 35904; // 0x8c40
+    field public static final int GL_SRGB8 = 35905; // 0x8c41
+    field public static final int GL_SRGB8_ALPHA8 = 35907; // 0x8c43
+    field public static final int GL_STATIC_COPY = 35046; // 0x88e6
+    field public static final int GL_STATIC_READ = 35045; // 0x88e5
+    field public static final int GL_STENCIL = 6146; // 0x1802
+    field public static final int GL_STREAM_COPY = 35042; // 0x88e2
+    field public static final int GL_STREAM_READ = 35041; // 0x88e1
+    field public static final int GL_SYNC_CONDITION = 37139; // 0x9113
+    field public static final int GL_SYNC_FENCE = 37142; // 0x9116
+    field public static final int GL_SYNC_FLAGS = 37141; // 0x9115
+    field public static final int GL_SYNC_FLUSH_COMMANDS_BIT = 1; // 0x1
+    field public static final int GL_SYNC_GPU_COMMANDS_COMPLETE = 37143; // 0x9117
+    field public static final int GL_SYNC_STATUS = 37140; // 0x9114
+    field public static final int GL_TEXTURE_2D_ARRAY = 35866; // 0x8c1a
+    field public static final int GL_TEXTURE_3D = 32879; // 0x806f
+    field public static final int GL_TEXTURE_BASE_LEVEL = 33084; // 0x813c
+    field public static final int GL_TEXTURE_BINDING_2D_ARRAY = 35869; // 0x8c1d
+    field public static final int GL_TEXTURE_BINDING_3D = 32874; // 0x806a
+    field public static final int GL_TEXTURE_COMPARE_FUNC = 34893; // 0x884d
+    field public static final int GL_TEXTURE_COMPARE_MODE = 34892; // 0x884c
+    field public static final int GL_TEXTURE_IMMUTABLE_FORMAT = 37167; // 0x912f
+    field public static final int GL_TEXTURE_IMMUTABLE_LEVELS = 33503; // 0x82df
+    field public static final int GL_TEXTURE_MAX_LEVEL = 33085; // 0x813d
+    field public static final int GL_TEXTURE_MAX_LOD = 33083; // 0x813b
+    field public static final int GL_TEXTURE_MIN_LOD = 33082; // 0x813a
+    field public static final int GL_TEXTURE_SWIZZLE_A = 36421; // 0x8e45
+    field public static final int GL_TEXTURE_SWIZZLE_B = 36420; // 0x8e44
+    field public static final int GL_TEXTURE_SWIZZLE_G = 36419; // 0x8e43
+    field public static final int GL_TEXTURE_SWIZZLE_R = 36418; // 0x8e42
+    field public static final int GL_TEXTURE_WRAP_R = 32882; // 0x8072
+    field public static final int GL_TIMEOUT_EXPIRED = 37147; // 0x911b
+    field public static final long GL_TIMEOUT_IGNORED = -1L; // 0xffffffffffffffffL
+    field public static final int GL_TRANSFORM_FEEDBACK = 36386; // 0x8e22
+    field public static final int GL_TRANSFORM_FEEDBACK_ACTIVE = 36388; // 0x8e24
+    field public static final int GL_TRANSFORM_FEEDBACK_BINDING = 36389; // 0x8e25
+    field public static final int GL_TRANSFORM_FEEDBACK_BUFFER = 35982; // 0x8c8e
+    field public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 35983; // 0x8c8f
+    field public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 35967; // 0x8c7f
+    field public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 35973; // 0x8c85
+    field public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START = 35972; // 0x8c84
+    field public static final int GL_TRANSFORM_FEEDBACK_PAUSED = 36387; // 0x8e23
+    field public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 35976; // 0x8c88
+    field public static final int GL_TRANSFORM_FEEDBACK_VARYINGS = 35971; // 0x8c83
+    field public static final int GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 35958; // 0x8c76
+    field public static final int GL_UNIFORM_ARRAY_STRIDE = 35388; // 0x8a3c
+    field public static final int GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 35394; // 0x8a42
+    field public static final int GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 35395; // 0x8a43
+    field public static final int GL_UNIFORM_BLOCK_BINDING = 35391; // 0x8a3f
+    field public static final int GL_UNIFORM_BLOCK_DATA_SIZE = 35392; // 0x8a40
+    field public static final int GL_UNIFORM_BLOCK_INDEX = 35386; // 0x8a3a
+    field public static final int GL_UNIFORM_BLOCK_NAME_LENGTH = 35393; // 0x8a41
+    field public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 35398; // 0x8a46
+    field public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 35396; // 0x8a44
+    field public static final int GL_UNIFORM_BUFFER = 35345; // 0x8a11
+    field public static final int GL_UNIFORM_BUFFER_BINDING = 35368; // 0x8a28
+    field public static final int GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 35380; // 0x8a34
+    field public static final int GL_UNIFORM_BUFFER_SIZE = 35370; // 0x8a2a
+    field public static final int GL_UNIFORM_BUFFER_START = 35369; // 0x8a29
+    field public static final int GL_UNIFORM_IS_ROW_MAJOR = 35390; // 0x8a3e
+    field public static final int GL_UNIFORM_MATRIX_STRIDE = 35389; // 0x8a3d
+    field public static final int GL_UNIFORM_NAME_LENGTH = 35385; // 0x8a39
+    field public static final int GL_UNIFORM_OFFSET = 35387; // 0x8a3b
+    field public static final int GL_UNIFORM_SIZE = 35384; // 0x8a38
+    field public static final int GL_UNIFORM_TYPE = 35383; // 0x8a37
+    field public static final int GL_UNPACK_IMAGE_HEIGHT = 32878; // 0x806e
+    field public static final int GL_UNPACK_ROW_LENGTH = 3314; // 0xcf2
+    field public static final int GL_UNPACK_SKIP_IMAGES = 32877; // 0x806d
+    field public static final int GL_UNPACK_SKIP_PIXELS = 3316; // 0xcf4
+    field public static final int GL_UNPACK_SKIP_ROWS = 3315; // 0xcf3
+    field public static final int GL_UNSIGNALED = 37144; // 0x9118
+    field public static final int GL_UNSIGNED_INT_10F_11F_11F_REV = 35899; // 0x8c3b
+    field public static final int GL_UNSIGNED_INT_24_8 = 34042; // 0x84fa
+    field public static final int GL_UNSIGNED_INT_2_10_10_10_REV = 33640; // 0x8368
+    field public static final int GL_UNSIGNED_INT_5_9_9_9_REV = 35902; // 0x8c3e
+    field public static final int GL_UNSIGNED_INT_SAMPLER_2D = 36306; // 0x8dd2
+    field public static final int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 36311; // 0x8dd7
+    field public static final int GL_UNSIGNED_INT_SAMPLER_3D = 36307; // 0x8dd3
+    field public static final int GL_UNSIGNED_INT_SAMPLER_CUBE = 36308; // 0x8dd4
+    field public static final int GL_UNSIGNED_INT_VEC2 = 36294; // 0x8dc6
+    field public static final int GL_UNSIGNED_INT_VEC3 = 36295; // 0x8dc7
+    field public static final int GL_UNSIGNED_INT_VEC4 = 36296; // 0x8dc8
+    field public static final int GL_UNSIGNED_NORMALIZED = 35863; // 0x8c17
+    field public static final int GL_VERTEX_ARRAY_BINDING = 34229; // 0x85b5
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 35070; // 0x88fe
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER = 35069; // 0x88fd
+    field public static final int GL_WAIT_FAILED = 37149; // 0x911d
+  }
+
+  public class GLES31 extends android.opengl.GLES30 {
+    method public static void glActiveShaderProgram(int, int);
+    method public static void glBindImageTexture(int, int, int, boolean, int, int, int);
+    method public static void glBindProgramPipeline(int);
+    method public static void glBindVertexBuffer(int, int, long, int);
+    method public static int glCreateShaderProgramv(int, String[]);
+    method public static void glDeleteProgramPipelines(int, int[], int);
+    method public static void glDeleteProgramPipelines(int, java.nio.IntBuffer);
+    method public static void glDispatchCompute(int, int, int);
+    method public static void glDispatchComputeIndirect(long);
+    method public static void glDrawArraysIndirect(int, long);
+    method public static void glDrawElementsIndirect(int, int, long);
+    method public static void glFramebufferParameteri(int, int, int);
+    method public static void glGenProgramPipelines(int, int[], int);
+    method public static void glGenProgramPipelines(int, java.nio.IntBuffer);
+    method public static void glGetBooleani_v(int, int, boolean[], int);
+    method public static void glGetBooleani_v(int, int, java.nio.IntBuffer);
+    method public static void glGetFramebufferParameteriv(int, int, int[], int);
+    method public static void glGetFramebufferParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glGetMultisamplefv(int, int, float[], int);
+    method public static void glGetMultisamplefv(int, int, java.nio.FloatBuffer);
+    method public static void glGetProgramInterfaceiv(int, int, int, int[], int);
+    method public static void glGetProgramInterfaceiv(int, int, int, java.nio.IntBuffer);
+    method public static String glGetProgramPipelineInfoLog(int);
+    method public static void glGetProgramPipelineiv(int, int, int[], int);
+    method public static void glGetProgramPipelineiv(int, int, java.nio.IntBuffer);
+    method public static int glGetProgramResourceIndex(int, int, String);
+    method public static int glGetProgramResourceLocation(int, int, String);
+    method public static String glGetProgramResourceName(int, int, int);
+    method public static void glGetProgramResourceiv(int, int, int, int, int[], int, int, int[], int, int[], int);
+    method public static void glGetProgramResourceiv(int, int, int, int, java.nio.IntBuffer, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static void glGetTexLevelParameterfv(int, int, int, float[], int);
+    method public static void glGetTexLevelParameterfv(int, int, int, java.nio.FloatBuffer);
+    method public static void glGetTexLevelParameteriv(int, int, int, int[], int);
+    method public static void glGetTexLevelParameteriv(int, int, int, java.nio.IntBuffer);
+    method public static boolean glIsProgramPipeline(int);
+    method public static void glMemoryBarrier(int);
+    method public static void glMemoryBarrierByRegion(int);
+    method public static void glProgramUniform1f(int, int, float);
+    method public static void glProgramUniform1fv(int, int, int, float[], int);
+    method public static void glProgramUniform1fv(int, int, int, java.nio.FloatBuffer);
+    method public static void glProgramUniform1i(int, int, int);
+    method public static void glProgramUniform1iv(int, int, int, int[], int);
+    method public static void glProgramUniform1iv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform1ui(int, int, int);
+    method public static void glProgramUniform1uiv(int, int, int, int[], int);
+    method public static void glProgramUniform1uiv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform2f(int, int, float, float);
+    method public static void glProgramUniform2fv(int, int, int, float[], int);
+    method public static void glProgramUniform2fv(int, int, int, java.nio.FloatBuffer);
+    method public static void glProgramUniform2i(int, int, int, int);
+    method public static void glProgramUniform2iv(int, int, int, int[], int);
+    method public static void glProgramUniform2iv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform2ui(int, int, int, int);
+    method public static void glProgramUniform2uiv(int, int, int, int[], int);
+    method public static void glProgramUniform2uiv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform3f(int, int, float, float, float);
+    method public static void glProgramUniform3fv(int, int, int, float[], int);
+    method public static void glProgramUniform3fv(int, int, int, java.nio.FloatBuffer);
+    method public static void glProgramUniform3i(int, int, int, int, int);
+    method public static void glProgramUniform3iv(int, int, int, int[], int);
+    method public static void glProgramUniform3iv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform3ui(int, int, int, int, int);
+    method public static void glProgramUniform3uiv(int, int, int, int[], int);
+    method public static void glProgramUniform3uiv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform4f(int, int, float, float, float, float);
+    method public static void glProgramUniform4fv(int, int, int, float[], int);
+    method public static void glProgramUniform4fv(int, int, int, java.nio.FloatBuffer);
+    method public static void glProgramUniform4i(int, int, int, int, int, int);
+    method public static void glProgramUniform4iv(int, int, int, int[], int);
+    method public static void glProgramUniform4iv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform4ui(int, int, int, int, int, int);
+    method public static void glProgramUniform4uiv(int, int, int, int[], int);
+    method public static void glProgramUniform4uiv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniformMatrix2fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix2fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix2x3fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix2x3fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix2x4fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix2x4fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix3fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix3fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix3x2fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix3x2fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix3x4fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix3x4fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix4fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix4fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix4x2fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix4x2fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix4x3fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix4x3fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glSampleMaski(int, int);
+    method public static void glTexStorage2DMultisample(int, int, int, int, int, boolean);
+    method public static void glUseProgramStages(int, int, int);
+    method public static void glValidateProgramPipeline(int);
+    method public static void glVertexAttribBinding(int, int);
+    method public static void glVertexAttribFormat(int, int, int, boolean, int);
+    method public static void glVertexAttribIFormat(int, int, int, int);
+    method public static void glVertexBindingDivisor(int, int);
+    field public static final int GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 37593; // 0x92d9
+    field public static final int GL_ACTIVE_PROGRAM = 33369; // 0x8259
+    field public static final int GL_ACTIVE_RESOURCES = 37621; // 0x92f5
+    field public static final int GL_ACTIVE_VARIABLES = 37637; // 0x9305
+    field public static final int GL_ALL_BARRIER_BITS = -1; // 0xffffffff
+    field public static final int GL_ALL_SHADER_BITS = -1; // 0xffffffff
+    field public static final int GL_ARRAY_SIZE = 37627; // 0x92fb
+    field public static final int GL_ARRAY_STRIDE = 37630; // 0x92fe
+    field public static final int GL_ATOMIC_COUNTER_BARRIER_BIT = 4096; // 0x1000
+    field public static final int GL_ATOMIC_COUNTER_BUFFER = 37568; // 0x92c0
+    field public static final int GL_ATOMIC_COUNTER_BUFFER_BINDING = 37569; // 0x92c1
+    field public static final int GL_ATOMIC_COUNTER_BUFFER_INDEX = 37633; // 0x9301
+    field public static final int GL_ATOMIC_COUNTER_BUFFER_SIZE = 37571; // 0x92c3
+    field public static final int GL_ATOMIC_COUNTER_BUFFER_START = 37570; // 0x92c2
+    field public static final int GL_BLOCK_INDEX = 37629; // 0x92fd
+    field public static final int GL_BUFFER_BINDING = 37634; // 0x9302
+    field public static final int GL_BUFFER_DATA_SIZE = 37635; // 0x9303
+    field public static final int GL_BUFFER_UPDATE_BARRIER_BIT = 512; // 0x200
+    field public static final int GL_BUFFER_VARIABLE = 37605; // 0x92e5
+    field public static final int GL_COMMAND_BARRIER_BIT = 64; // 0x40
+    field public static final int GL_COMPUTE_SHADER = 37305; // 0x91b9
+    field public static final int GL_COMPUTE_SHADER_BIT = 32; // 0x20
+    field public static final int GL_COMPUTE_WORK_GROUP_SIZE = 33383; // 0x8267
+    field public static final int GL_DEPTH_STENCIL_TEXTURE_MODE = 37098; // 0x90ea
+    field public static final int GL_DISPATCH_INDIRECT_BUFFER = 37102; // 0x90ee
+    field public static final int GL_DISPATCH_INDIRECT_BUFFER_BINDING = 37103; // 0x90ef
+    field public static final int GL_DRAW_INDIRECT_BUFFER = 36671; // 0x8f3f
+    field public static final int GL_DRAW_INDIRECT_BUFFER_BINDING = 36675; // 0x8f43
+    field public static final int GL_ELEMENT_ARRAY_BARRIER_BIT = 2; // 0x2
+    field public static final int GL_FRAGMENT_SHADER_BIT = 2; // 0x2
+    field public static final int GL_FRAMEBUFFER_BARRIER_BIT = 1024; // 0x400
+    field public static final int GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 37652; // 0x9314
+    field public static final int GL_FRAMEBUFFER_DEFAULT_HEIGHT = 37649; // 0x9311
+    field public static final int GL_FRAMEBUFFER_DEFAULT_SAMPLES = 37651; // 0x9313
+    field public static final int GL_FRAMEBUFFER_DEFAULT_WIDTH = 37648; // 0x9310
+    field public static final int GL_IMAGE_2D = 36941; // 0x904d
+    field public static final int GL_IMAGE_2D_ARRAY = 36947; // 0x9053
+    field public static final int GL_IMAGE_3D = 36942; // 0x904e
+    field public static final int GL_IMAGE_BINDING_ACCESS = 36670; // 0x8f3e
+    field public static final int GL_IMAGE_BINDING_FORMAT = 36974; // 0x906e
+    field public static final int GL_IMAGE_BINDING_LAYER = 36669; // 0x8f3d
+    field public static final int GL_IMAGE_BINDING_LAYERED = 36668; // 0x8f3c
+    field public static final int GL_IMAGE_BINDING_LEVEL = 36667; // 0x8f3b
+    field public static final int GL_IMAGE_BINDING_NAME = 36666; // 0x8f3a
+    field public static final int GL_IMAGE_CUBE = 36944; // 0x9050
+    field public static final int GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 37065; // 0x90c9
+    field public static final int GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 37064; // 0x90c8
+    field public static final int GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 37063; // 0x90c7
+    field public static final int GL_INT_IMAGE_2D = 36952; // 0x9058
+    field public static final int GL_INT_IMAGE_2D_ARRAY = 36958; // 0x905e
+    field public static final int GL_INT_IMAGE_3D = 36953; // 0x9059
+    field public static final int GL_INT_IMAGE_CUBE = 36955; // 0x905b
+    field public static final int GL_INT_SAMPLER_2D_MULTISAMPLE = 37129; // 0x9109
+    field public static final int GL_IS_ROW_MAJOR = 37632; // 0x9300
+    field public static final int GL_LOCATION = 37646; // 0x930e
+    field public static final int GL_MATRIX_STRIDE = 37631; // 0x92ff
+    field public static final int GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 37596; // 0x92dc
+    field public static final int GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 37592; // 0x92d8
+    field public static final int GL_MAX_COLOR_TEXTURE_SAMPLES = 37134; // 0x910e
+    field public static final int GL_MAX_COMBINED_ATOMIC_COUNTERS = 37591; // 0x92d7
+    field public static final int GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 37585; // 0x92d1
+    field public static final int GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 33382; // 0x8266
+    field public static final int GL_MAX_COMBINED_IMAGE_UNIFORMS = 37071; // 0x90cf
+    field public static final int GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 36665; // 0x8f39
+    field public static final int GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 37084; // 0x90dc
+    field public static final int GL_MAX_COMPUTE_ATOMIC_COUNTERS = 33381; // 0x8265
+    field public static final int GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 33380; // 0x8264
+    field public static final int GL_MAX_COMPUTE_IMAGE_UNIFORMS = 37309; // 0x91bd
+    field public static final int GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 37083; // 0x90db
+    field public static final int GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 33378; // 0x8262
+    field public static final int GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 37308; // 0x91bc
+    field public static final int GL_MAX_COMPUTE_UNIFORM_BLOCKS = 37307; // 0x91bb
+    field public static final int GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 33379; // 0x8263
+    field public static final int GL_MAX_COMPUTE_WORK_GROUP_COUNT = 37310; // 0x91be
+    field public static final int GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 37099; // 0x90eb
+    field public static final int GL_MAX_COMPUTE_WORK_GROUP_SIZE = 37311; // 0x91bf
+    field public static final int GL_MAX_DEPTH_TEXTURE_SAMPLES = 37135; // 0x910f
+    field public static final int GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 37590; // 0x92d6
+    field public static final int GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 37584; // 0x92d0
+    field public static final int GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 37070; // 0x90ce
+    field public static final int GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 37082; // 0x90da
+    field public static final int GL_MAX_FRAMEBUFFER_HEIGHT = 37654; // 0x9316
+    field public static final int GL_MAX_FRAMEBUFFER_SAMPLES = 37656; // 0x9318
+    field public static final int GL_MAX_FRAMEBUFFER_WIDTH = 37653; // 0x9315
+    field public static final int GL_MAX_IMAGE_UNITS = 36664; // 0x8f38
+    field public static final int GL_MAX_INTEGER_SAMPLES = 37136; // 0x9110
+    field public static final int GL_MAX_NAME_LENGTH = 37622; // 0x92f6
+    field public static final int GL_MAX_NUM_ACTIVE_VARIABLES = 37623; // 0x92f7
+    field public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 36447; // 0x8e5f
+    field public static final int GL_MAX_SAMPLE_MASK_WORDS = 36441; // 0x8e59
+    field public static final int GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 37086; // 0x90de
+    field public static final int GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 37085; // 0x90dd
+    field public static final int GL_MAX_UNIFORM_LOCATIONS = 33390; // 0x826e
+    field public static final int GL_MAX_VERTEX_ATOMIC_COUNTERS = 37586; // 0x92d2
+    field public static final int GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 37580; // 0x92cc
+    field public static final int GL_MAX_VERTEX_ATTRIB_BINDINGS = 33498; // 0x82da
+    field public static final int GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 33497; // 0x82d9
+    field public static final int GL_MAX_VERTEX_ATTRIB_STRIDE = 33509; // 0x82e5
+    field public static final int GL_MAX_VERTEX_IMAGE_UNIFORMS = 37066; // 0x90ca
+    field public static final int GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 37078; // 0x90d6
+    field public static final int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 36446; // 0x8e5e
+    field public static final int GL_NAME_LENGTH = 37625; // 0x92f9
+    field public static final int GL_NUM_ACTIVE_VARIABLES = 37636; // 0x9304
+    field public static final int GL_OFFSET = 37628; // 0x92fc
+    field public static final int GL_PIXEL_BUFFER_BARRIER_BIT = 128; // 0x80
+    field public static final int GL_PROGRAM_INPUT = 37603; // 0x92e3
+    field public static final int GL_PROGRAM_OUTPUT = 37604; // 0x92e4
+    field public static final int GL_PROGRAM_PIPELINE_BINDING = 33370; // 0x825a
+    field public static final int GL_PROGRAM_SEPARABLE = 33368; // 0x8258
+    field public static final int GL_READ_ONLY = 35000; // 0x88b8
+    field public static final int GL_READ_WRITE = 35002; // 0x88ba
+    field public static final int GL_REFERENCED_BY_COMPUTE_SHADER = 37643; // 0x930b
+    field public static final int GL_REFERENCED_BY_FRAGMENT_SHADER = 37642; // 0x930a
+    field public static final int GL_REFERENCED_BY_VERTEX_SHADER = 37638; // 0x9306
+    field public static final int GL_SAMPLER_2D_MULTISAMPLE = 37128; // 0x9108
+    field public static final int GL_SAMPLE_MASK = 36433; // 0x8e51
+    field public static final int GL_SAMPLE_MASK_VALUE = 36434; // 0x8e52
+    field public static final int GL_SAMPLE_POSITION = 36432; // 0x8e50
+    field public static final int GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 32; // 0x20
+    field public static final int GL_SHADER_STORAGE_BARRIER_BIT = 8192; // 0x2000
+    field public static final int GL_SHADER_STORAGE_BLOCK = 37606; // 0x92e6
+    field public static final int GL_SHADER_STORAGE_BUFFER = 37074; // 0x90d2
+    field public static final int GL_SHADER_STORAGE_BUFFER_BINDING = 37075; // 0x90d3
+    field public static final int GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 37087; // 0x90df
+    field public static final int GL_SHADER_STORAGE_BUFFER_SIZE = 37077; // 0x90d5
+    field public static final int GL_SHADER_STORAGE_BUFFER_START = 37076; // 0x90d4
+    field public static final int GL_STENCIL_INDEX = 6401; // 0x1901
+    field public static final int GL_TEXTURE_2D_MULTISAMPLE = 37120; // 0x9100
+    field public static final int GL_TEXTURE_ALPHA_SIZE = 32863; // 0x805f
+    field public static final int GL_TEXTURE_ALPHA_TYPE = 35859; // 0x8c13
+    field public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE = 37124; // 0x9104
+    field public static final int GL_TEXTURE_BLUE_SIZE = 32862; // 0x805e
+    field public static final int GL_TEXTURE_BLUE_TYPE = 35858; // 0x8c12
+    field public static final int GL_TEXTURE_COMPRESSED = 34465; // 0x86a1
+    field public static final int GL_TEXTURE_DEPTH = 32881; // 0x8071
+    field public static final int GL_TEXTURE_DEPTH_SIZE = 34890; // 0x884a
+    field public static final int GL_TEXTURE_DEPTH_TYPE = 35862; // 0x8c16
+    field public static final int GL_TEXTURE_FETCH_BARRIER_BIT = 8; // 0x8
+    field public static final int GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 37127; // 0x9107
+    field public static final int GL_TEXTURE_GREEN_SIZE = 32861; // 0x805d
+    field public static final int GL_TEXTURE_GREEN_TYPE = 35857; // 0x8c11
+    field public static final int GL_TEXTURE_HEIGHT = 4097; // 0x1001
+    field public static final int GL_TEXTURE_INTERNAL_FORMAT = 4099; // 0x1003
+    field public static final int GL_TEXTURE_RED_SIZE = 32860; // 0x805c
+    field public static final int GL_TEXTURE_RED_TYPE = 35856; // 0x8c10
+    field public static final int GL_TEXTURE_SAMPLES = 37126; // 0x9106
+    field public static final int GL_TEXTURE_SHARED_SIZE = 35903; // 0x8c3f
+    field public static final int GL_TEXTURE_STENCIL_SIZE = 35057; // 0x88f1
+    field public static final int GL_TEXTURE_UPDATE_BARRIER_BIT = 256; // 0x100
+    field public static final int GL_TEXTURE_WIDTH = 4096; // 0x1000
+    field public static final int GL_TOP_LEVEL_ARRAY_SIZE = 37644; // 0x930c
+    field public static final int GL_TOP_LEVEL_ARRAY_STRIDE = 37645; // 0x930d
+    field public static final int GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 2048; // 0x800
+    field public static final int GL_TRANSFORM_FEEDBACK_VARYING = 37620; // 0x92f4
+    field public static final int GL_TYPE = 37626; // 0x92fa
+    field public static final int GL_UNIFORM = 37601; // 0x92e1
+    field public static final int GL_UNIFORM_BARRIER_BIT = 4; // 0x4
+    field public static final int GL_UNIFORM_BLOCK = 37602; // 0x92e2
+    field public static final int GL_UNSIGNED_INT_ATOMIC_COUNTER = 37595; // 0x92db
+    field public static final int GL_UNSIGNED_INT_IMAGE_2D = 36963; // 0x9063
+    field public static final int GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 36969; // 0x9069
+    field public static final int GL_UNSIGNED_INT_IMAGE_3D = 36964; // 0x9064
+    field public static final int GL_UNSIGNED_INT_IMAGE_CUBE = 36966; // 0x9066
+    field public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 37130; // 0x910a
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 1; // 0x1
+    field public static final int GL_VERTEX_ATTRIB_BINDING = 33492; // 0x82d4
+    field public static final int GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 33493; // 0x82d5
+    field public static final int GL_VERTEX_BINDING_BUFFER = 36687; // 0x8f4f
+    field public static final int GL_VERTEX_BINDING_DIVISOR = 33494; // 0x82d6
+    field public static final int GL_VERTEX_BINDING_OFFSET = 33495; // 0x82d7
+    field public static final int GL_VERTEX_BINDING_STRIDE = 33496; // 0x82d8
+    field public static final int GL_VERTEX_SHADER_BIT = 1; // 0x1
+    field public static final int GL_WRITE_ONLY = 35001; // 0x88b9
+  }
+
+  public class GLES31Ext {
+    method public static void glBlendBarrierKHR();
+    method public static void glBlendEquationSeparateiEXT(int, int, int);
+    method public static void glBlendEquationiEXT(int, int);
+    method public static void glBlendFuncSeparateiEXT(int, int, int, int, int);
+    method public static void glBlendFunciEXT(int, int, int);
+    method public static void glColorMaskiEXT(int, boolean, boolean, boolean, boolean);
+    method public static void glCopyImageSubDataEXT(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
+    method public static void glDebugMessageCallbackKHR(android.opengl.GLES31Ext.DebugProcKHR);
+    method public static void glDebugMessageControlKHR(int, int, int, int, int[], int, boolean);
+    method public static void glDebugMessageControlKHR(int, int, int, int, java.nio.IntBuffer, boolean);
+    method public static void glDebugMessageInsertKHR(int, int, int, int, String);
+    method public static void glDisableiEXT(int, int);
+    method public static void glEnableiEXT(int, int);
+    method public static void glFramebufferTextureEXT(int, int, int, int);
+    method public static android.opengl.GLES31Ext.DebugProcKHR glGetDebugMessageCallbackKHR();
+    method public static int glGetDebugMessageLogKHR(int, int, int[], int, int[], int, int[], int, int[], int, int[], int, byte[], int);
+    method public static int glGetDebugMessageLogKHR(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer);
+    method public static String[] glGetDebugMessageLogKHR(int, int[], int, int[], int, int[], int, int[], int);
+    method public static String[] glGetDebugMessageLogKHR(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static String glGetObjectLabelKHR(int, int);
+    method public static String glGetObjectPtrLabelKHR(long);
+    method public static void glGetSamplerParameterIivEXT(int, int, int[], int);
+    method public static void glGetSamplerParameterIivEXT(int, int, java.nio.IntBuffer);
+    method public static void glGetSamplerParameterIuivEXT(int, int, int[], int);
+    method public static void glGetSamplerParameterIuivEXT(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterIivEXT(int, int, int[], int);
+    method public static void glGetTexParameterIivEXT(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterIuivEXT(int, int, int[], int);
+    method public static void glGetTexParameterIuivEXT(int, int, java.nio.IntBuffer);
+    method public static boolean glIsEnablediEXT(int, int);
+    method public static void glMinSampleShadingOES(float);
+    method public static void glObjectLabelKHR(int, int, int, String);
+    method public static void glObjectPtrLabelKHR(long, String);
+    method public static void glPatchParameteriEXT(int, int);
+    method public static void glPopDebugGroupKHR();
+    method public static void glPrimitiveBoundingBoxEXT(float, float, float, float, float, float, float, float);
+    method public static void glPushDebugGroupKHR(int, int, int, String);
+    method public static void glSamplerParameterIivEXT(int, int, int[], int);
+    method public static void glSamplerParameterIivEXT(int, int, java.nio.IntBuffer);
+    method public static void glSamplerParameterIuivEXT(int, int, int[], int);
+    method public static void glSamplerParameterIuivEXT(int, int, java.nio.IntBuffer);
+    method public static void glTexBufferEXT(int, int, int);
+    method public static void glTexBufferRangeEXT(int, int, int, int, int);
+    method public static void glTexParameterIivEXT(int, int, int[], int);
+    method public static void glTexParameterIivEXT(int, int, java.nio.IntBuffer);
+    method public static void glTexParameterIuivEXT(int, int, int[], int);
+    method public static void glTexParameterIuivEXT(int, int, java.nio.IntBuffer);
+    method public static void glTexStorage3DMultisampleOES(int, int, int, int, int, int, boolean);
+    field public static final int GL_BLEND_ADVANCED_COHERENT_KHR = 37509; // 0x9285
+    field public static final int GL_BUFFER_KHR = 33504; // 0x82e0
+    field public static final int GL_CLAMP_TO_BORDER_EXT = 33069; // 0x812d
+    field public static final int GL_COLORBURN_KHR = 37530; // 0x929a
+    field public static final int GL_COLORDODGE_KHR = 37529; // 0x9299
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 37819; // 0x93bb
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 37816; // 0x93b8
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 37817; // 0x93b9
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 37818; // 0x93ba
+    field public static final int GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 37820; // 0x93bc
+    field public static final int GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 37821; // 0x93bd
+    field public static final int GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 37808; // 0x93b0
+    field public static final int GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 37809; // 0x93b1
+    field public static final int GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 37810; // 0x93b2
+    field public static final int GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 37811; // 0x93b3
+    field public static final int GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 37812; // 0x93b4
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 37813; // 0x93b5
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 37814; // 0x93b6
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 37815; // 0x93b7
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 37851; // 0x93db
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 37848; // 0x93d8
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 37849; // 0x93d9
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 37850; // 0x93da
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 37852; // 0x93dc
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 37853; // 0x93dd
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 37840; // 0x93d0
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 37841; // 0x93d1
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 37842; // 0x93d2
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 37843; // 0x93d3
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 37844; // 0x93d4
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 37845; // 0x93d5
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 37846; // 0x93d6
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 37847; // 0x93d7
+    field public static final int GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 2; // 0x2
+    field public static final int GL_DARKEN_KHR = 37527; // 0x9297
+    field public static final int GL_DEBUG_CALLBACK_FUNCTION_KHR = 33348; // 0x8244
+    field public static final int GL_DEBUG_CALLBACK_USER_PARAM_KHR = 33349; // 0x8245
+    field public static final int GL_DEBUG_GROUP_STACK_DEPTH_KHR = 33389; // 0x826d
+    field public static final int GL_DEBUG_LOGGED_MESSAGES_KHR = 37189; // 0x9145
+    field public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 33347; // 0x8243
+    field public static final int GL_DEBUG_OUTPUT_KHR = 37600; // 0x92e0
+    field public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 33346; // 0x8242
+    field public static final int GL_DEBUG_SEVERITY_HIGH_KHR = 37190; // 0x9146
+    field public static final int GL_DEBUG_SEVERITY_LOW_KHR = 37192; // 0x9148
+    field public static final int GL_DEBUG_SEVERITY_MEDIUM_KHR = 37191; // 0x9147
+    field public static final int GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 33387; // 0x826b
+    field public static final int GL_DEBUG_SOURCE_API_KHR = 33350; // 0x8246
+    field public static final int GL_DEBUG_SOURCE_APPLICATION_KHR = 33354; // 0x824a
+    field public static final int GL_DEBUG_SOURCE_OTHER_KHR = 33355; // 0x824b
+    field public static final int GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 33352; // 0x8248
+    field public static final int GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 33353; // 0x8249
+    field public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 33351; // 0x8247
+    field public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 33357; // 0x824d
+    field public static final int GL_DEBUG_TYPE_ERROR_KHR = 33356; // 0x824c
+    field public static final int GL_DEBUG_TYPE_MARKER_KHR = 33384; // 0x8268
+    field public static final int GL_DEBUG_TYPE_OTHER_KHR = 33361; // 0x8251
+    field public static final int GL_DEBUG_TYPE_PERFORMANCE_KHR = 33360; // 0x8250
+    field public static final int GL_DEBUG_TYPE_POP_GROUP_KHR = 33386; // 0x826a
+    field public static final int GL_DEBUG_TYPE_PORTABILITY_KHR = 33359; // 0x824f
+    field public static final int GL_DEBUG_TYPE_PUSH_GROUP_KHR = 33385; // 0x8269
+    field public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 33358; // 0x824e
+    field public static final int GL_DECODE_EXT = 35401; // 0x8a49
+    field public static final int GL_DIFFERENCE_KHR = 37534; // 0x929e
+    field public static final int GL_EXCLUSION_KHR = 37536; // 0x92a0
+    field public static final int GL_FIRST_VERTEX_CONVENTION_EXT = 36429; // 0x8e4d
+    field public static final int GL_FRACTIONAL_EVEN_EXT = 36476; // 0x8e7c
+    field public static final int GL_FRACTIONAL_ODD_EXT = 36475; // 0x8e7b
+    field public static final int GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 36445; // 0x8e5d
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 36263; // 0x8da7
+    field public static final int GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 37650; // 0x9312
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 36264; // 0x8da8
+    field public static final int GL_GEOMETRY_LINKED_INPUT_TYPE_EXT = 35095; // 0x8917
+    field public static final int GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 35096; // 0x8918
+    field public static final int GL_GEOMETRY_LINKED_VERTICES_OUT_EXT = 35094; // 0x8916
+    field public static final int GL_GEOMETRY_SHADER_BIT_EXT = 4; // 0x4
+    field public static final int GL_GEOMETRY_SHADER_EXT = 36313; // 0x8dd9
+    field public static final int GL_GEOMETRY_SHADER_INVOCATIONS_EXT = 34943; // 0x887f
+    field public static final int GL_HARDLIGHT_KHR = 37531; // 0x929b
+    field public static final int GL_HSL_COLOR_KHR = 37551; // 0x92af
+    field public static final int GL_HSL_HUE_KHR = 37549; // 0x92ad
+    field public static final int GL_HSL_LUMINOSITY_KHR = 37552; // 0x92b0
+    field public static final int GL_HSL_SATURATION_KHR = 37550; // 0x92ae
+    field public static final int GL_IMAGE_BUFFER_EXT = 36945; // 0x9051
+    field public static final int GL_IMAGE_CUBE_MAP_ARRAY_EXT = 36948; // 0x9054
+    field public static final int GL_INT_IMAGE_BUFFER_EXT = 36956; // 0x905c
+    field public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 36959; // 0x905f
+    field public static final int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 37132; // 0x910c
+    field public static final int GL_INT_SAMPLER_BUFFER_EXT = 36304; // 0x8dd0
+    field public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 36878; // 0x900e
+    field public static final int GL_ISOLINES_EXT = 36474; // 0x8e7a
+    field public static final int GL_IS_PER_PATCH_EXT = 37607; // 0x92e7
+    field public static final int GL_LAST_VERTEX_CONVENTION_EXT = 36430; // 0x8e4e
+    field public static final int GL_LAYER_PROVOKING_VERTEX_EXT = 33374; // 0x825e
+    field public static final int GL_LIGHTEN_KHR = 37528; // 0x9298
+    field public static final int GL_LINES_ADJACENCY_EXT = 10; // 0xa
+    field public static final int GL_LINE_STRIP_ADJACENCY_EXT = 11; // 0xb
+    field public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 35378; // 0x8a32
+    field public static final int GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 36382; // 0x8e1e
+    field public static final int GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 36383; // 0x8e1f
+    field public static final int GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 33388; // 0x826c
+    field public static final int GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 37188; // 0x9144
+    field public static final int GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 37187; // 0x9143
+    field public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 36444; // 0x8e5c
+    field public static final int GL_MAX_FRAMEBUFFER_LAYERS_EXT = 37655; // 0x9317
+    field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 37589; // 0x92d5
+    field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 37583; // 0x92cf
+    field public static final int GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 37069; // 0x90cd
+    field public static final int GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 37155; // 0x9123
+    field public static final int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 37156; // 0x9124
+    field public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 36320; // 0x8de0
+    field public static final int GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 36442; // 0x8e5a
+    field public static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 37079; // 0x90d7
+    field public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 35881; // 0x8c29
+    field public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 36321; // 0x8de1
+    field public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 35372; // 0x8a2c
+    field public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 36319; // 0x8ddf
+    field public static final int GL_MAX_LABEL_LENGTH_KHR = 33512; // 0x82e8
+    field public static final int GL_MAX_PATCH_VERTICES_EXT = 36477; // 0x8e7d
+    field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 37587; // 0x92d3
+    field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 37581; // 0x92cd
+    field public static final int GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 37067; // 0x90cb
+    field public static final int GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 34924; // 0x886c
+    field public static final int GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 36483; // 0x8e83
+    field public static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 37080; // 0x90d8
+    field public static final int GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 36481; // 0x8e81
+    field public static final int GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 36485; // 0x8e85
+    field public static final int GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 36489; // 0x8e89
+    field public static final int GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 36479; // 0x8e7f
+    field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 37588; // 0x92d4
+    field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 37582; // 0x92ce
+    field public static final int GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 37068; // 0x90cc
+    field public static final int GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 34925; // 0x886d
+    field public static final int GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 36486; // 0x8e86
+    field public static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 37081; // 0x90d9
+    field public static final int GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 36482; // 0x8e82
+    field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 36490; // 0x8e8a
+    field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 36480; // 0x8e80
+    field public static final int GL_MAX_TESS_GEN_LEVEL_EXT = 36478; // 0x8e7e
+    field public static final int GL_MAX_TESS_PATCH_COMPONENTS_EXT = 36484; // 0x8e84
+    field public static final int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 35883; // 0x8c2b
+    field public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 36443; // 0x8e5b
+    field public static final int GL_MIN_SAMPLE_SHADING_VALUE_OES = 35895; // 0x8c37
+    field public static final int GL_MULTIPLY_KHR = 37524; // 0x9294
+    field public static final int GL_OVERLAY_KHR = 37526; // 0x9296
+    field public static final int GL_PATCHES_EXT = 14; // 0xe
+    field public static final int GL_PATCH_VERTICES_EXT = 36466; // 0x8e72
+    field public static final int GL_PRIMITIVES_GENERATED_EXT = 35975; // 0x8c87
+    field public static final int GL_PRIMITIVE_BOUNDING_BOX_EXT = 37566; // 0x92be
+    field public static final int GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 33313; // 0x8221
+    field public static final int GL_PROGRAM_KHR = 33506; // 0x82e2
+    field public static final int GL_QUADS_EXT = 7; // 0x7
+    field public static final int GL_QUERY_KHR = 33507; // 0x82e3
+    field public static final int GL_REFERENCED_BY_GEOMETRY_SHADER_EXT = 37641; // 0x9309
+    field public static final int GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 37639; // 0x9307
+    field public static final int GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 37640; // 0x9308
+    field public static final int GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 37131; // 0x910b
+    field public static final int GL_SAMPLER_BUFFER_EXT = 36290; // 0x8dc2
+    field public static final int GL_SAMPLER_CUBE_MAP_ARRAY_EXT = 36876; // 0x900c
+    field public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 36877; // 0x900d
+    field public static final int GL_SAMPLER_KHR = 33510; // 0x82e6
+    field public static final int GL_SAMPLE_SHADING_OES = 35894; // 0x8c36
+    field public static final int GL_SCREEN_KHR = 37525; // 0x9295
+    field public static final int GL_SHADER_KHR = 33505; // 0x82e1
+    field public static final int GL_SKIP_DECODE_EXT = 35402; // 0x8a4a
+    field public static final int GL_SOFTLIGHT_KHR = 37532; // 0x929c
+    field public static final int GL_STACK_OVERFLOW_KHR = 1283; // 0x503
+    field public static final int GL_STACK_UNDERFLOW_KHR = 1284; // 0x504
+    field public static final int GL_STENCIL_INDEX8_OES = 36168; // 0x8d48
+    field public static final int GL_STENCIL_INDEX_OES = 6401; // 0x1901
+    field public static final int GL_TESS_CONTROL_OUTPUT_VERTICES_EXT = 36469; // 0x8e75
+    field public static final int GL_TESS_CONTROL_SHADER_BIT_EXT = 8; // 0x8
+    field public static final int GL_TESS_CONTROL_SHADER_EXT = 36488; // 0x8e88
+    field public static final int GL_TESS_EVALUATION_SHADER_BIT_EXT = 16; // 0x10
+    field public static final int GL_TESS_EVALUATION_SHADER_EXT = 36487; // 0x8e87
+    field public static final int GL_TESS_GEN_MODE_EXT = 36470; // 0x8e76
+    field public static final int GL_TESS_GEN_POINT_MODE_EXT = 36473; // 0x8e79
+    field public static final int GL_TESS_GEN_SPACING_EXT = 36471; // 0x8e77
+    field public static final int GL_TESS_GEN_VERTEX_ORDER_EXT = 36472; // 0x8e78
+    field public static final int GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 37122; // 0x9102
+    field public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 37125; // 0x9105
+    field public static final int GL_TEXTURE_BINDING_BUFFER_EXT = 35884; // 0x8c2c
+    field public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 36874; // 0x900a
+    field public static final int GL_TEXTURE_BORDER_COLOR_EXT = 4100; // 0x1004
+    field public static final int GL_TEXTURE_BUFFER_BINDING_EXT = 35882; // 0x8c2a
+    field public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 35885; // 0x8c2d
+    field public static final int GL_TEXTURE_BUFFER_EXT = 35882; // 0x8c2a
+    field public static final int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 37279; // 0x919f
+    field public static final int GL_TEXTURE_BUFFER_OFFSET_EXT = 37277; // 0x919d
+    field public static final int GL_TEXTURE_BUFFER_SIZE_EXT = 37278; // 0x919e
+    field public static final int GL_TEXTURE_CUBE_MAP_ARRAY_EXT = 36873; // 0x9009
+    field public static final int GL_TEXTURE_SRGB_DECODE_EXT = 35400; // 0x8a48
+    field public static final int GL_TRIANGLES_ADJACENCY_EXT = 12; // 0xc
+    field public static final int GL_TRIANGLE_STRIP_ADJACENCY_EXT = 13; // 0xd
+    field public static final int GL_UNDEFINED_VERTEX_EXT = 33376; // 0x8260
+    field public static final int GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 36967; // 0x9067
+    field public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 36970; // 0x906a
+    field public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 37133; // 0x910d
+    field public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 36312; // 0x8dd8
+    field public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 36879; // 0x900f
+    field public static final int GL_VERTEX_ARRAY_KHR = 32884; // 0x8074
+  }
+
+  public static interface GLES31Ext.DebugProcKHR {
+    method public void onMessage(int, int, int, int, String);
+  }
+
+  public class GLES32 extends android.opengl.GLES31 {
+    method public static void glBlendBarrier();
+    method public static void glBlendEquationSeparatei(int, int, int);
+    method public static void glBlendEquationi(int, int);
+    method public static void glBlendFuncSeparatei(int, int, int, int, int);
+    method public static void glBlendFunci(int, int, int);
+    method public static void glColorMaski(int, boolean, boolean, boolean, boolean);
+    method public static void glCopyImageSubData(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
+    method public static void glDebugMessageCallback(android.opengl.GLES32.DebugProc);
+    method public static void glDebugMessageControl(int, int, int, int, int[], int, boolean);
+    method public static void glDebugMessageControl(int, int, int, int, java.nio.IntBuffer, boolean);
+    method public static void glDebugMessageInsert(int, int, int, int, int, String);
+    method public static void glDisablei(int, int);
+    method public static void glDrawElementsBaseVertex(int, int, int, java.nio.Buffer, int);
+    method public static void glDrawElementsInstancedBaseVertex(int, int, int, java.nio.Buffer, int, int);
+    method public static void glDrawElementsInstancedBaseVertex(int, int, int, int, int, int);
+    method public static void glDrawRangeElementsBaseVertex(int, int, int, int, int, java.nio.Buffer, int);
+    method public static void glEnablei(int, int);
+    method public static void glFramebufferTexture(int, int, int, int);
+    method public static int glGetDebugMessageLog(int, int, int[], int, int[], int, int[], int, int[], int, int[], int, byte[], int);
+    method public static int glGetDebugMessageLog(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer);
+    method public static String[] glGetDebugMessageLog(int, int[], int, int[], int, int[], int, int[], int);
+    method public static String[] glGetDebugMessageLog(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static int glGetGraphicsResetStatus();
+    method public static String glGetObjectLabel(int, int);
+    method public static String glGetObjectPtrLabel(long);
+    method public static long glGetPointerv(int);
+    method public static void glGetSamplerParameterIiv(int, int, int[], int);
+    method public static void glGetSamplerParameterIiv(int, int, java.nio.IntBuffer);
+    method public static void glGetSamplerParameterIuiv(int, int, int[], int);
+    method public static void glGetSamplerParameterIuiv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterIiv(int, int, int[], int);
+    method public static void glGetTexParameterIiv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterIuiv(int, int, int[], int);
+    method public static void glGetTexParameterIuiv(int, int, java.nio.IntBuffer);
+    method public static void glGetnUniformfv(int, int, int, float[], int);
+    method public static void glGetnUniformfv(int, int, int, java.nio.FloatBuffer);
+    method public static void glGetnUniformiv(int, int, int, int[], int);
+    method public static void glGetnUniformiv(int, int, int, java.nio.IntBuffer);
+    method public static void glGetnUniformuiv(int, int, int, int[], int);
+    method public static void glGetnUniformuiv(int, int, int, java.nio.IntBuffer);
+    method public static boolean glIsEnabledi(int, int);
+    method public static void glMinSampleShading(float);
+    method public static void glObjectLabel(int, int, int, String);
+    method public static void glObjectPtrLabel(long, String);
+    method public static void glPatchParameteri(int, int);
+    method public static void glPopDebugGroup();
+    method public static void glPrimitiveBoundingBox(float, float, float, float, float, float, float, float);
+    method public static void glPushDebugGroup(int, int, int, String);
+    method public static void glReadnPixels(int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glSamplerParameterIiv(int, int, int[], int);
+    method public static void glSamplerParameterIiv(int, int, java.nio.IntBuffer);
+    method public static void glSamplerParameterIuiv(int, int, int[], int);
+    method public static void glSamplerParameterIuiv(int, int, java.nio.IntBuffer);
+    method public static void glTexBuffer(int, int, int);
+    method public static void glTexBufferRange(int, int, int, int, int);
+    method public static void glTexParameterIiv(int, int, int[], int);
+    method public static void glTexParameterIiv(int, int, java.nio.IntBuffer);
+    method public static void glTexParameterIuiv(int, int, int[], int);
+    method public static void glTexParameterIuiv(int, int, java.nio.IntBuffer);
+    method public static void glTexStorage3DMultisample(int, int, int, int, int, int, boolean);
+    field public static final int GL_BUFFER = 33504; // 0x82e0
+    field public static final int GL_CLAMP_TO_BORDER = 33069; // 0x812d
+    field public static final int GL_COLORBURN = 37530; // 0x929a
+    field public static final int GL_COLORDODGE = 37529; // 0x9299
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x10 = 37819; // 0x93bb
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x5 = 37816; // 0x93b8
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x6 = 37817; // 0x93b9
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x8 = 37818; // 0x93ba
+    field public static final int GL_COMPRESSED_RGBA_ASTC_12x10 = 37820; // 0x93bc
+    field public static final int GL_COMPRESSED_RGBA_ASTC_12x12 = 37821; // 0x93bd
+    field public static final int GL_COMPRESSED_RGBA_ASTC_4x4 = 37808; // 0x93b0
+    field public static final int GL_COMPRESSED_RGBA_ASTC_5x4 = 37809; // 0x93b1
+    field public static final int GL_COMPRESSED_RGBA_ASTC_5x5 = 37810; // 0x93b2
+    field public static final int GL_COMPRESSED_RGBA_ASTC_6x5 = 37811; // 0x93b3
+    field public static final int GL_COMPRESSED_RGBA_ASTC_6x6 = 37812; // 0x93b4
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x5 = 37813; // 0x93b5
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x6 = 37814; // 0x93b6
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x8 = 37815; // 0x93b7
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 37851; // 0x93db
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 37848; // 0x93d8
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 37849; // 0x93d9
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 37850; // 0x93da
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 37852; // 0x93dc
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 37853; // 0x93dd
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 37840; // 0x93d0
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 37841; // 0x93d1
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 37842; // 0x93d2
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 37843; // 0x93d3
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 37844; // 0x93d4
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 37845; // 0x93d5
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 37846; // 0x93d6
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 37847; // 0x93d7
+    field public static final int GL_CONTEXT_FLAGS = 33310; // 0x821e
+    field public static final int GL_CONTEXT_FLAG_DEBUG_BIT = 2; // 0x2
+    field public static final int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 4; // 0x4
+    field public static final int GL_CONTEXT_LOST = 1287; // 0x507
+    field public static final int GL_DARKEN = 37527; // 0x9297
+    field public static final int GL_DEBUG_CALLBACK_FUNCTION = 33348; // 0x8244
+    field public static final int GL_DEBUG_CALLBACK_USER_PARAM = 33349; // 0x8245
+    field public static final int GL_DEBUG_GROUP_STACK_DEPTH = 33389; // 0x826d
+    field public static final int GL_DEBUG_LOGGED_MESSAGES = 37189; // 0x9145
+    field public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 33347; // 0x8243
+    field public static final int GL_DEBUG_OUTPUT = 37600; // 0x92e0
+    field public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS = 33346; // 0x8242
+    field public static final int GL_DEBUG_SEVERITY_HIGH = 37190; // 0x9146
+    field public static final int GL_DEBUG_SEVERITY_LOW = 37192; // 0x9148
+    field public static final int GL_DEBUG_SEVERITY_MEDIUM = 37191; // 0x9147
+    field public static final int GL_DEBUG_SEVERITY_NOTIFICATION = 33387; // 0x826b
+    field public static final int GL_DEBUG_SOURCE_API = 33350; // 0x8246
+    field public static final int GL_DEBUG_SOURCE_APPLICATION = 33354; // 0x824a
+    field public static final int GL_DEBUG_SOURCE_OTHER = 33355; // 0x824b
+    field public static final int GL_DEBUG_SOURCE_SHADER_COMPILER = 33352; // 0x8248
+    field public static final int GL_DEBUG_SOURCE_THIRD_PARTY = 33353; // 0x8249
+    field public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM = 33351; // 0x8247
+    field public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 33357; // 0x824d
+    field public static final int GL_DEBUG_TYPE_ERROR = 33356; // 0x824c
+    field public static final int GL_DEBUG_TYPE_MARKER = 33384; // 0x8268
+    field public static final int GL_DEBUG_TYPE_OTHER = 33361; // 0x8251
+    field public static final int GL_DEBUG_TYPE_PERFORMANCE = 33360; // 0x8250
+    field public static final int GL_DEBUG_TYPE_POP_GROUP = 33386; // 0x826a
+    field public static final int GL_DEBUG_TYPE_PORTABILITY = 33359; // 0x824f
+    field public static final int GL_DEBUG_TYPE_PUSH_GROUP = 33385; // 0x8269
+    field public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 33358; // 0x824e
+    field public static final int GL_DIFFERENCE = 37534; // 0x929e
+    field public static final int GL_EXCLUSION = 37536; // 0x92a0
+    field public static final int GL_FIRST_VERTEX_CONVENTION = 36429; // 0x8e4d
+    field public static final int GL_FRACTIONAL_EVEN = 36476; // 0x8e7c
+    field public static final int GL_FRACTIONAL_ODD = 36475; // 0x8e7b
+    field public static final int GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 36445; // 0x8e5d
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 36263; // 0x8da7
+    field public static final int GL_FRAMEBUFFER_DEFAULT_LAYERS = 37650; // 0x9312
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 36264; // 0x8da8
+    field public static final int GL_GEOMETRY_INPUT_TYPE = 35095; // 0x8917
+    field public static final int GL_GEOMETRY_OUTPUT_TYPE = 35096; // 0x8918
+    field public static final int GL_GEOMETRY_SHADER = 36313; // 0x8dd9
+    field public static final int GL_GEOMETRY_SHADER_BIT = 4; // 0x4
+    field public static final int GL_GEOMETRY_SHADER_INVOCATIONS = 34943; // 0x887f
+    field public static final int GL_GEOMETRY_VERTICES_OUT = 35094; // 0x8916
+    field public static final int GL_GUILTY_CONTEXT_RESET = 33363; // 0x8253
+    field public static final int GL_HARDLIGHT = 37531; // 0x929b
+    field public static final int GL_HSL_COLOR = 37551; // 0x92af
+    field public static final int GL_HSL_HUE = 37549; // 0x92ad
+    field public static final int GL_HSL_LUMINOSITY = 37552; // 0x92b0
+    field public static final int GL_HSL_SATURATION = 37550; // 0x92ae
+    field public static final int GL_IMAGE_BUFFER = 36945; // 0x9051
+    field public static final int GL_IMAGE_CUBE_MAP_ARRAY = 36948; // 0x9054
+    field public static final int GL_INNOCENT_CONTEXT_RESET = 33364; // 0x8254
+    field public static final int GL_INT_IMAGE_BUFFER = 36956; // 0x905c
+    field public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY = 36959; // 0x905f
+    field public static final int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37132; // 0x910c
+    field public static final int GL_INT_SAMPLER_BUFFER = 36304; // 0x8dd0
+    field public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY = 36878; // 0x900e
+    field public static final int GL_ISOLINES = 36474; // 0x8e7a
+    field public static final int GL_IS_PER_PATCH = 37607; // 0x92e7
+    field public static final int GL_LAST_VERTEX_CONVENTION = 36430; // 0x8e4e
+    field public static final int GL_LAYER_PROVOKING_VERTEX = 33374; // 0x825e
+    field public static final int GL_LIGHTEN = 37528; // 0x9298
+    field public static final int GL_LINES_ADJACENCY = 10; // 0xa
+    field public static final int GL_LINE_STRIP_ADJACENCY = 11; // 0xb
+    field public static final int GL_LOSE_CONTEXT_ON_RESET = 33362; // 0x8252
+    field public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 35378; // 0x8a32
+    field public static final int GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 36382; // 0x8e1e
+    field public static final int GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 36383; // 0x8e1f
+    field public static final int GL_MAX_DEBUG_GROUP_STACK_DEPTH = 33388; // 0x826c
+    field public static final int GL_MAX_DEBUG_LOGGED_MESSAGES = 37188; // 0x9144
+    field public static final int GL_MAX_DEBUG_MESSAGE_LENGTH = 37187; // 0x9143
+    field public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 36444; // 0x8e5c
+    field public static final int GL_MAX_FRAMEBUFFER_LAYERS = 37655; // 0x9317
+    field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 37589; // 0x92d5
+    field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 37583; // 0x92cf
+    field public static final int GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 37069; // 0x90cd
+    field public static final int GL_MAX_GEOMETRY_INPUT_COMPONENTS = 37155; // 0x9123
+    field public static final int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 37156; // 0x9124
+    field public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES = 36320; // 0x8de0
+    field public static final int GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 36442; // 0x8e5a
+    field public static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 37079; // 0x90d7
+    field public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 35881; // 0x8c29
+    field public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 36321; // 0x8de1
+    field public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 35372; // 0x8a2c
+    field public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 36319; // 0x8ddf
+    field public static final int GL_MAX_LABEL_LENGTH = 33512; // 0x82e8
+    field public static final int GL_MAX_PATCH_VERTICES = 36477; // 0x8e7d
+    field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 37587; // 0x92d3
+    field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 37581; // 0x92cd
+    field public static final int GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 37067; // 0x90cb
+    field public static final int GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 34924; // 0x886c
+    field public static final int GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 36483; // 0x8e83
+    field public static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 37080; // 0x90d8
+    field public static final int GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 36481; // 0x8e81
+    field public static final int GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 36485; // 0x8e85
+    field public static final int GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 36489; // 0x8e89
+    field public static final int GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 36479; // 0x8e7f
+    field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 37588; // 0x92d4
+    field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 37582; // 0x92ce
+    field public static final int GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 37068; // 0x90cc
+    field public static final int GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 34925; // 0x886d
+    field public static final int GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 36486; // 0x8e86
+    field public static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 37081; // 0x90d9
+    field public static final int GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 36482; // 0x8e82
+    field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 36490; // 0x8e8a
+    field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 36480; // 0x8e80
+    field public static final int GL_MAX_TESS_GEN_LEVEL = 36478; // 0x8e7e
+    field public static final int GL_MAX_TESS_PATCH_COMPONENTS = 36484; // 0x8e84
+    field public static final int GL_MAX_TEXTURE_BUFFER_SIZE = 35883; // 0x8c2b
+    field public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 36443; // 0x8e5b
+    field public static final int GL_MIN_SAMPLE_SHADING_VALUE = 35895; // 0x8c37
+    field public static final int GL_MULTIPLY = 37524; // 0x9294
+    field public static final int GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 37762; // 0x9382
+    field public static final int GL_MULTISAMPLE_LINE_WIDTH_RANGE = 37761; // 0x9381
+    field public static final int GL_NO_RESET_NOTIFICATION = 33377; // 0x8261
+    field public static final int GL_OVERLAY = 37526; // 0x9296
+    field public static final int GL_PATCHES = 14; // 0xe
+    field public static final int GL_PATCH_VERTICES = 36466; // 0x8e72
+    field public static final int GL_PRIMITIVES_GENERATED = 35975; // 0x8c87
+    field public static final int GL_PRIMITIVE_BOUNDING_BOX = 37566; // 0x92be
+    field public static final int GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 33313; // 0x8221
+    field public static final int GL_PROGRAM = 33506; // 0x82e2
+    field public static final int GL_PROGRAM_PIPELINE = 33508; // 0x82e4
+    field public static final int GL_QUADS = 7; // 0x7
+    field public static final int GL_QUERY = 33507; // 0x82e3
+    field public static final int GL_REFERENCED_BY_GEOMETRY_SHADER = 37641; // 0x9309
+    field public static final int GL_REFERENCED_BY_TESS_CONTROL_SHADER = 37639; // 0x9307
+    field public static final int GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 37640; // 0x9308
+    field public static final int GL_RESET_NOTIFICATION_STRATEGY = 33366; // 0x8256
+    field public static final int GL_SAMPLER = 33510; // 0x82e6
+    field public static final int GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 37131; // 0x910b
+    field public static final int GL_SAMPLER_BUFFER = 36290; // 0x8dc2
+    field public static final int GL_SAMPLER_CUBE_MAP_ARRAY = 36876; // 0x900c
+    field public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 36877; // 0x900d
+    field public static final int GL_SAMPLE_SHADING = 35894; // 0x8c36
+    field public static final int GL_SCREEN = 37525; // 0x9295
+    field public static final int GL_SHADER = 33505; // 0x82e1
+    field public static final int GL_SOFTLIGHT = 37532; // 0x929c
+    field public static final int GL_STACK_OVERFLOW = 1283; // 0x503
+    field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504
+    field public static final int GL_TESS_CONTROL_OUTPUT_VERTICES = 36469; // 0x8e75
+    field public static final int GL_TESS_CONTROL_SHADER = 36488; // 0x8e88
+    field public static final int GL_TESS_CONTROL_SHADER_BIT = 8; // 0x8
+    field public static final int GL_TESS_EVALUATION_SHADER = 36487; // 0x8e87
+    field public static final int GL_TESS_EVALUATION_SHADER_BIT = 16; // 0x10
+    field public static final int GL_TESS_GEN_MODE = 36470; // 0x8e76
+    field public static final int GL_TESS_GEN_POINT_MODE = 36473; // 0x8e79
+    field public static final int GL_TESS_GEN_SPACING = 36471; // 0x8e77
+    field public static final int GL_TESS_GEN_VERTEX_ORDER = 36472; // 0x8e78
+    field public static final int GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 37122; // 0x9102
+    field public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 37125; // 0x9105
+    field public static final int GL_TEXTURE_BINDING_BUFFER = 35884; // 0x8c2c
+    field public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 36874; // 0x900a
+    field public static final int GL_TEXTURE_BORDER_COLOR = 4100; // 0x1004
+    field public static final int GL_TEXTURE_BUFFER = 35882; // 0x8c2a
+    field public static final int GL_TEXTURE_BUFFER_BINDING = 35882; // 0x8c2a
+    field public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 35885; // 0x8c2d
+    field public static final int GL_TEXTURE_BUFFER_OFFSET = 37277; // 0x919d
+    field public static final int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 37279; // 0x919f
+    field public static final int GL_TEXTURE_BUFFER_SIZE = 37278; // 0x919e
+    field public static final int GL_TEXTURE_CUBE_MAP_ARRAY = 36873; // 0x9009
+    field public static final int GL_TRIANGLES_ADJACENCY = 12; // 0xc
+    field public static final int GL_TRIANGLE_STRIP_ADJACENCY = 13; // 0xd
+    field public static final int GL_UNDEFINED_VERTEX = 33376; // 0x8260
+    field public static final int GL_UNKNOWN_CONTEXT_RESET = 33365; // 0x8255
+    field public static final int GL_UNSIGNED_INT_IMAGE_BUFFER = 36967; // 0x9067
+    field public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 36970; // 0x906a
+    field public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37133; // 0x910d
+    field public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER = 36312; // 0x8dd8
+    field public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 36879; // 0x900f
+    field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074
+  }
+
+  public static interface GLES32.DebugProc {
+    method public void onMessage(int, int, int, int, String);
+  }
+
+  public class GLException extends java.lang.RuntimeException {
+    ctor public GLException(int);
+    ctor public GLException(int, String);
+  }
+
+  public class GLSurfaceView extends android.view.SurfaceView implements android.view.SurfaceHolder.Callback2 {
+    ctor public GLSurfaceView(android.content.Context);
+    ctor public GLSurfaceView(android.content.Context, android.util.AttributeSet);
+    method public int getDebugFlags();
+    method public boolean getPreserveEGLContextOnPause();
+    method public int getRenderMode();
+    method public void onPause();
+    method public void onResume();
+    method public void queueEvent(Runnable);
+    method public void requestRender();
+    method public void setDebugFlags(int);
+    method public void setEGLConfigChooser(android.opengl.GLSurfaceView.EGLConfigChooser);
+    method public void setEGLConfigChooser(boolean);
+    method public void setEGLConfigChooser(int, int, int, int, int, int);
+    method public void setEGLContextClientVersion(int);
+    method public void setEGLContextFactory(android.opengl.GLSurfaceView.EGLContextFactory);
+    method public void setEGLWindowSurfaceFactory(android.opengl.GLSurfaceView.EGLWindowSurfaceFactory);
+    method public void setGLWrapper(android.opengl.GLSurfaceView.GLWrapper);
+    method public void setPreserveEGLContextOnPause(boolean);
+    method public void setRenderMode(int);
+    method public void setRenderer(android.opengl.GLSurfaceView.Renderer);
+    method public void surfaceChanged(android.view.SurfaceHolder, int, int, int);
+    method public void surfaceCreated(android.view.SurfaceHolder);
+    method public void surfaceDestroyed(android.view.SurfaceHolder);
+    method @Deprecated public void surfaceRedrawNeeded(android.view.SurfaceHolder);
+    field public static final int DEBUG_CHECK_GL_ERROR = 1; // 0x1
+    field public static final int DEBUG_LOG_GL_CALLS = 2; // 0x2
+    field public static final int RENDERMODE_CONTINUOUSLY = 1; // 0x1
+    field public static final int RENDERMODE_WHEN_DIRTY = 0; // 0x0
+  }
+
+  public static interface GLSurfaceView.EGLConfigChooser {
+    method public javax.microedition.khronos.egl.EGLConfig chooseConfig(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay);
+  }
+
+  public static interface GLSurfaceView.EGLContextFactory {
+    method public javax.microedition.khronos.egl.EGLContext createContext(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig);
+    method public void destroyContext(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext);
+  }
+
+  public static interface GLSurfaceView.EGLWindowSurfaceFactory {
+    method public javax.microedition.khronos.egl.EGLSurface createWindowSurface(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, Object);
+    method public void destroySurface(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
+  }
+
+  public static interface GLSurfaceView.GLWrapper {
+    method public javax.microedition.khronos.opengles.GL wrap(javax.microedition.khronos.opengles.GL);
+  }
+
+  public static interface GLSurfaceView.Renderer {
+    method public void onDrawFrame(javax.microedition.khronos.opengles.GL10);
+    method public void onSurfaceChanged(javax.microedition.khronos.opengles.GL10, int, int);
+    method public void onSurfaceCreated(javax.microedition.khronos.opengles.GL10, javax.microedition.khronos.egl.EGLConfig);
+  }
+
+  public class GLU {
+    ctor public GLU();
+    method public static String gluErrorString(int);
+    method public static void gluLookAt(javax.microedition.khronos.opengles.GL10, float, float, float, float, float, float, float, float, float);
+    method public static void gluOrtho2D(javax.microedition.khronos.opengles.GL10, float, float, float, float);
+    method public static void gluPerspective(javax.microedition.khronos.opengles.GL10, float, float, float, float);
+    method public static int gluProject(float, float, float, float[], int, float[], int, int[], int, float[], int);
+    method public static int gluUnProject(float, float, float, float[], int, float[], int, int[], int, float[], int);
+  }
+
+  public final class GLUtils {
+    method public static String getEGLErrorString(int);
+    method public static int getInternalFormat(android.graphics.Bitmap);
+    method public static int getType(android.graphics.Bitmap);
+    method public static void texImage2D(int, int, int, android.graphics.Bitmap, int);
+    method public static void texImage2D(int, int, int, android.graphics.Bitmap, int, int);
+    method public static void texImage2D(int, int, android.graphics.Bitmap, int);
+    method public static void texSubImage2D(int, int, int, int, android.graphics.Bitmap);
+    method public static void texSubImage2D(int, int, int, int, android.graphics.Bitmap, int, int);
+  }
+
+  public class Matrix {
+    ctor @Deprecated public Matrix();
+    method public static void frustumM(float[], int, float, float, float, float, float, float);
+    method public static boolean invertM(float[], int, float[], int);
+    method public static float length(float, float, float);
+    method public static void multiplyMM(float[], int, float[], int, float[], int);
+    method public static void multiplyMV(float[], int, float[], int, float[], int);
+    method public static void orthoM(float[], int, float, float, float, float, float, float);
+    method public static void perspectiveM(float[], int, float, float, float, float);
+    method public static void rotateM(float[], int, float[], int, float, float, float, float);
+    method public static void rotateM(float[], int, float, float, float, float);
+    method public static void scaleM(float[], int, float[], int, float, float, float);
+    method public static void scaleM(float[], int, float, float, float);
+    method public static void setIdentityM(float[], int);
+    method public static void setLookAtM(float[], int, float, float, float, float, float, float, float, float, float);
+    method public static void setRotateEulerM(float[], int, float, float, float);
+    method public static void setRotateM(float[], int, float, float, float, float);
+    method public static void translateM(float[], int, float[], int, float, float, float);
+    method public static void translateM(float[], int, float, float, float);
+    method public static void transposeM(float[], int, float[], int);
+  }
+
+  public class Visibility {
+    ctor public Visibility();
+    method public static void computeBoundingSphere(float[], int, int, float[], int);
+    method public static int frustumCullSpheres(float[], int, float[], int, int, int[], int, int);
+    method public static int visibilityTest(float[], int, float[], int, char[], int, int);
+  }
+
+}
+
+package android.os {
+
+  @Deprecated public abstract class AsyncTask<Params, Progress, Result> {
+    ctor @Deprecated public AsyncTask();
+    method @Deprecated public final boolean cancel(boolean);
+    method @Deprecated @WorkerThread protected abstract Result doInBackground(Params...);
+    method @Deprecated @MainThread public final android.os.AsyncTask<Params,Progress,Result> execute(Params...);
+    method @Deprecated @MainThread public static void execute(Runnable);
+    method @Deprecated @MainThread public final android.os.AsyncTask<Params,Progress,Result> executeOnExecutor(java.util.concurrent.Executor, Params...);
+    method @Deprecated public final Result get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method @Deprecated public final Result get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method @Deprecated public final android.os.AsyncTask.Status getStatus();
+    method @Deprecated public final boolean isCancelled();
+    method @Deprecated @MainThread protected void onCancelled(Result);
+    method @Deprecated @MainThread protected void onCancelled();
+    method @Deprecated @MainThread protected void onPostExecute(Result);
+    method @Deprecated @MainThread protected void onPreExecute();
+    method @Deprecated @MainThread protected void onProgressUpdate(Progress...);
+    method @Deprecated @WorkerThread protected final void publishProgress(Progress...);
+    field @Deprecated public static final java.util.concurrent.Executor SERIAL_EXECUTOR;
+    field @Deprecated public static final java.util.concurrent.Executor THREAD_POOL_EXECUTOR;
+  }
+
+  @Deprecated public enum AsyncTask.Status {
+    enum_constant @Deprecated public static final android.os.AsyncTask.Status FINISHED;
+    enum_constant @Deprecated public static final android.os.AsyncTask.Status PENDING;
+    enum_constant @Deprecated public static final android.os.AsyncTask.Status RUNNING;
+  }
+
+  public class BadParcelableException extends android.util.AndroidRuntimeException {
+    ctor public BadParcelableException(String);
+    ctor public BadParcelableException(Exception);
+  }
+
+  public class BaseBundle {
+    method public void clear();
+    method public boolean containsKey(String);
+    method @Nullable public Object get(String);
+    method public boolean getBoolean(String);
+    method public boolean getBoolean(String, boolean);
+    method @Nullable public boolean[] getBooleanArray(@Nullable String);
+    method public double getDouble(String);
+    method public double getDouble(String, double);
+    method @Nullable public double[] getDoubleArray(@Nullable String);
+    method public int getInt(String);
+    method public int getInt(String, int);
+    method @Nullable public int[] getIntArray(@Nullable String);
+    method public long getLong(String);
+    method public long getLong(String, long);
+    method @Nullable public long[] getLongArray(@Nullable String);
+    method @Nullable public String getString(@Nullable String);
+    method public String getString(@Nullable String, String);
+    method @Nullable public String[] getStringArray(@Nullable String);
+    method public boolean isEmpty();
+    method public java.util.Set<java.lang.String> keySet();
+    method public void putAll(android.os.PersistableBundle);
+    method public void putBoolean(@Nullable String, boolean);
+    method public void putBooleanArray(@Nullable String, @Nullable boolean[]);
+    method public void putDouble(@Nullable String, double);
+    method public void putDoubleArray(@Nullable String, @Nullable double[]);
+    method public void putInt(@Nullable String, int);
+    method public void putIntArray(@Nullable String, @Nullable int[]);
+    method public void putLong(@Nullable String, long);
+    method public void putLongArray(@Nullable String, @Nullable long[]);
+    method public void putString(@Nullable String, @Nullable String);
+    method public void putStringArray(@Nullable String, @Nullable String[]);
+    method public void remove(String);
+    method public int size();
+  }
+
+  public class BatteryManager {
+    method public long computeChargeTimeRemaining();
+    method public int getIntProperty(int);
+    method public long getLongProperty(int);
+    method public boolean isCharging();
+    field public static final String ACTION_CHARGING = "android.os.action.CHARGING";
+    field public static final String ACTION_DISCHARGING = "android.os.action.DISCHARGING";
+    field public static final int BATTERY_HEALTH_COLD = 7; // 0x7
+    field public static final int BATTERY_HEALTH_DEAD = 4; // 0x4
+    field public static final int BATTERY_HEALTH_GOOD = 2; // 0x2
+    field public static final int BATTERY_HEALTH_OVERHEAT = 3; // 0x3
+    field public static final int BATTERY_HEALTH_OVER_VOLTAGE = 5; // 0x5
+    field public static final int BATTERY_HEALTH_UNKNOWN = 1; // 0x1
+    field public static final int BATTERY_HEALTH_UNSPECIFIED_FAILURE = 6; // 0x6
+    field public static final int BATTERY_PLUGGED_AC = 1; // 0x1
+    field public static final int BATTERY_PLUGGED_USB = 2; // 0x2
+    field public static final int BATTERY_PLUGGED_WIRELESS = 4; // 0x4
+    field public static final int BATTERY_PROPERTY_CAPACITY = 4; // 0x4
+    field public static final int BATTERY_PROPERTY_CHARGE_COUNTER = 1; // 0x1
+    field public static final int BATTERY_PROPERTY_CURRENT_AVERAGE = 3; // 0x3
+    field public static final int BATTERY_PROPERTY_CURRENT_NOW = 2; // 0x2
+    field public static final int BATTERY_PROPERTY_ENERGY_COUNTER = 5; // 0x5
+    field public static final int BATTERY_PROPERTY_STATUS = 6; // 0x6
+    field public static final int BATTERY_STATUS_CHARGING = 2; // 0x2
+    field public static final int BATTERY_STATUS_DISCHARGING = 3; // 0x3
+    field public static final int BATTERY_STATUS_FULL = 5; // 0x5
+    field public static final int BATTERY_STATUS_NOT_CHARGING = 4; // 0x4
+    field public static final int BATTERY_STATUS_UNKNOWN = 1; // 0x1
+    field public static final String EXTRA_BATTERY_LOW = "battery_low";
+    field public static final String EXTRA_HEALTH = "health";
+    field public static final String EXTRA_ICON_SMALL = "icon-small";
+    field public static final String EXTRA_LEVEL = "level";
+    field public static final String EXTRA_PLUGGED = "plugged";
+    field public static final String EXTRA_PRESENT = "present";
+    field public static final String EXTRA_SCALE = "scale";
+    field public static final String EXTRA_STATUS = "status";
+    field public static final String EXTRA_TECHNOLOGY = "technology";
+    field public static final String EXTRA_TEMPERATURE = "temperature";
+    field public static final String EXTRA_VOLTAGE = "voltage";
+  }
+
+  public class Binder implements android.os.IBinder {
+    ctor public Binder();
+    ctor public Binder(@Nullable String);
+    method public void attachInterface(@Nullable android.os.IInterface, @Nullable String);
+    method public static final long clearCallingIdentity();
+    method public static final long clearCallingWorkSource();
+    method public void dump(@NonNull java.io.FileDescriptor, @Nullable String[]);
+    method protected void dump(@NonNull java.io.FileDescriptor, @NonNull java.io.PrintWriter, @Nullable String[]);
+    method public void dumpAsync(@NonNull java.io.FileDescriptor, @Nullable String[]);
+    method public static final void flushPendingCommands();
+    method public static final int getCallingPid();
+    method public static final int getCallingUid();
+    method public static final int getCallingUidOrThrow();
+    method @NonNull public static final android.os.UserHandle getCallingUserHandle();
+    method public static final int getCallingWorkSourceUid();
+    method @Nullable public String getInterfaceDescriptor();
+    method public boolean isBinderAlive();
+    method public static final void joinThreadPool();
+    method public void linkToDeath(@NonNull android.os.IBinder.DeathRecipient, int);
+    method protected boolean onTransact(int, @NonNull android.os.Parcel, @Nullable android.os.Parcel, int) throws android.os.RemoteException;
+    method public boolean pingBinder();
+    method @Nullable public android.os.IInterface queryLocalInterface(@NonNull String);
+    method public static final void restoreCallingIdentity(long);
+    method public static final void restoreCallingWorkSource(long);
+    method public static final long setCallingWorkSourceUid(int);
+    method public final boolean transact(int, @NonNull android.os.Parcel, @Nullable android.os.Parcel, int) throws android.os.RemoteException;
+    method public boolean unlinkToDeath(@NonNull android.os.IBinder.DeathRecipient, int);
+  }
+
+  public final class BugreportManager {
+    method @WorkerThread public void cancelBugreport();
+    method @WorkerThread public void startConnectivityBugreport(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.concurrent.Executor, @NonNull android.os.BugreportManager.BugreportCallback);
+  }
+
+  public abstract static class BugreportManager.BugreportCallback {
+    ctor public BugreportManager.BugreportCallback();
+    method public void onEarlyReportFinished();
+    method public void onError(int);
+    method public void onFinished();
+    method public void onProgress(@FloatRange(from=0.0f, to=100.0f) float);
+    field public static final int BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS = 5; // 0x5
+    field public static final int BUGREPORT_ERROR_INVALID_INPUT = 1; // 0x1
+    field public static final int BUGREPORT_ERROR_RUNTIME = 2; // 0x2
+    field public static final int BUGREPORT_ERROR_USER_CONSENT_TIMED_OUT = 4; // 0x4
+    field public static final int BUGREPORT_ERROR_USER_DENIED_CONSENT = 3; // 0x3
+  }
+
+  public class Build {
+    ctor public Build();
+    method @NonNull public static java.util.List<android.os.Build.Partition> getFingerprintedPartitions();
+    method public static String getRadioVersion();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public static String getSerial();
+    field public static final String BOARD;
+    field public static final String BOOTLOADER;
+    field public static final String BRAND;
+    field @Deprecated public static final String CPU_ABI;
+    field @Deprecated public static final String CPU_ABI2;
+    field public static final String DEVICE;
+    field public static final String DISPLAY;
+    field public static final String FINGERPRINT;
+    field public static final String HARDWARE;
+    field public static final String HOST;
+    field public static final String ID;
+    field public static final String MANUFACTURER;
+    field public static final String MODEL;
+    field @NonNull public static final String ODM_SKU;
+    field public static final String PRODUCT;
+    field @Deprecated public static final String RADIO;
+    field @Deprecated public static final String SERIAL;
+    field @NonNull public static final String SKU;
+    field @NonNull public static final String SOC_MANUFACTURER;
+    field @NonNull public static final String SOC_MODEL;
+    field public static final String[] SUPPORTED_32_BIT_ABIS;
+    field public static final String[] SUPPORTED_64_BIT_ABIS;
+    field public static final String[] SUPPORTED_ABIS;
+    field public static final String TAGS;
+    field public static final long TIME;
+    field public static final String TYPE;
+    field public static final String UNKNOWN = "unknown";
+    field public static final String USER;
+  }
+
+  public static class Build.Partition {
+    method public long getBuildTimeMillis();
+    method @NonNull public String getFingerprint();
+    method @NonNull public String getName();
+    field public static final String PARTITION_NAME_SYSTEM = "system";
+  }
+
+  public static class Build.VERSION {
+    ctor public Build.VERSION();
+    field public static final String BASE_OS;
+    field public static final String CODENAME;
+    field public static final String INCREMENTAL;
+    field public static final int MEDIA_PERFORMANCE_CLASS;
+    field public static final int PREVIEW_SDK_INT;
+    field public static final String RELEASE;
+    field @NonNull public static final String RELEASE_OR_CODENAME;
+    field @Deprecated public static final String SDK;
+    field public static final int SDK_INT;
+    field public static final String SECURITY_PATCH;
+  }
+
+  public static class Build.VERSION_CODES {
+    ctor public Build.VERSION_CODES();
+    field public static final int BASE = 1; // 0x1
+    field public static final int BASE_1_1 = 2; // 0x2
+    field public static final int CUPCAKE = 3; // 0x3
+    field public static final int CUR_DEVELOPMENT = 10000; // 0x2710
+    field public static final int DONUT = 4; // 0x4
+    field public static final int ECLAIR = 5; // 0x5
+    field public static final int ECLAIR_0_1 = 6; // 0x6
+    field public static final int ECLAIR_MR1 = 7; // 0x7
+    field public static final int FROYO = 8; // 0x8
+    field public static final int GINGERBREAD = 9; // 0x9
+    field public static final int GINGERBREAD_MR1 = 10; // 0xa
+    field public static final int HONEYCOMB = 11; // 0xb
+    field public static final int HONEYCOMB_MR1 = 12; // 0xc
+    field public static final int HONEYCOMB_MR2 = 13; // 0xd
+    field public static final int ICE_CREAM_SANDWICH = 14; // 0xe
+    field public static final int ICE_CREAM_SANDWICH_MR1 = 15; // 0xf
+    field public static final int JELLY_BEAN = 16; // 0x10
+    field public static final int JELLY_BEAN_MR1 = 17; // 0x11
+    field public static final int JELLY_BEAN_MR2 = 18; // 0x12
+    field public static final int KITKAT = 19; // 0x13
+    field public static final int KITKAT_WATCH = 20; // 0x14
+    field public static final int LOLLIPOP = 21; // 0x15
+    field public static final int LOLLIPOP_MR1 = 22; // 0x16
+    field public static final int M = 23; // 0x17
+    field public static final int N = 24; // 0x18
+    field public static final int N_MR1 = 25; // 0x19
+    field public static final int O = 26; // 0x1a
+    field public static final int O_MR1 = 27; // 0x1b
+    field public static final int P = 28; // 0x1c
+    field public static final int Q = 29; // 0x1d
+    field public static final int R = 30; // 0x1e
+    field public static final int S = 31; // 0x1f
+    field public static final int S_V2 = 32; // 0x20
+  }
+
+  public final class Bundle extends android.os.BaseBundle implements java.lang.Cloneable android.os.Parcelable {
+    ctor public Bundle();
+    ctor public Bundle(ClassLoader);
+    ctor public Bundle(int);
+    ctor public Bundle(android.os.Bundle);
+    ctor public Bundle(android.os.PersistableBundle);
+    method public Object clone();
+    method public android.os.Bundle deepCopy();
+    method public int describeContents();
+    method @Nullable public android.os.IBinder getBinder(@Nullable String);
+    method @Nullable public android.os.Bundle getBundle(@Nullable String);
+    method public byte getByte(String);
+    method public Byte getByte(String, byte);
+    method @Nullable public byte[] getByteArray(@Nullable String);
+    method public char getChar(String);
+    method public char getChar(String, char);
+    method @Nullable public char[] getCharArray(@Nullable String);
+    method @Nullable public CharSequence getCharSequence(@Nullable String);
+    method public CharSequence getCharSequence(@Nullable String, CharSequence);
+    method @Nullable public CharSequence[] getCharSequenceArray(@Nullable String);
+    method @Nullable public java.util.ArrayList<java.lang.CharSequence> getCharSequenceArrayList(@Nullable String);
+    method public ClassLoader getClassLoader();
+    method public float getFloat(String);
+    method public float getFloat(String, float);
+    method @Nullable public float[] getFloatArray(@Nullable String);
+    method @Nullable public java.util.ArrayList<java.lang.Integer> getIntegerArrayList(@Nullable String);
+    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@Nullable String);
+    method @Nullable public android.os.Parcelable[] getParcelableArray(@Nullable String);
+    method @Nullable public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayList(@Nullable String);
+    method @Nullable public java.io.Serializable getSerializable(@Nullable String);
+    method public short getShort(String);
+    method public short getShort(String, short);
+    method @Nullable public short[] getShortArray(@Nullable String);
+    method @Nullable public android.util.Size getSize(@Nullable String);
+    method @Nullable public android.util.SizeF getSizeF(@Nullable String);
+    method @Nullable public <T extends android.os.Parcelable> android.util.SparseArray<T> getSparseParcelableArray(@Nullable String);
+    method @Nullable public java.util.ArrayList<java.lang.String> getStringArrayList(@Nullable String);
+    method public boolean hasFileDescriptors();
+    method public void putAll(android.os.Bundle);
+    method public void putBinder(@Nullable String, @Nullable android.os.IBinder);
+    method public void putBundle(@Nullable String, @Nullable android.os.Bundle);
+    method public void putByte(@Nullable String, byte);
+    method public void putByteArray(@Nullable String, @Nullable byte[]);
+    method public void putChar(@Nullable String, char);
+    method public void putCharArray(@Nullable String, @Nullable char[]);
+    method public void putCharSequence(@Nullable String, @Nullable CharSequence);
+    method public void putCharSequenceArray(@Nullable String, @Nullable CharSequence[]);
+    method public void putCharSequenceArrayList(@Nullable String, @Nullable java.util.ArrayList<java.lang.CharSequence>);
+    method public void putFloat(@Nullable String, float);
+    method public void putFloatArray(@Nullable String, @Nullable float[]);
+    method public void putIntegerArrayList(@Nullable String, @Nullable java.util.ArrayList<java.lang.Integer>);
+    method public void putParcelable(@Nullable String, @Nullable android.os.Parcelable);
+    method public void putParcelableArray(@Nullable String, @Nullable android.os.Parcelable[]);
+    method public void putParcelableArrayList(@Nullable String, @Nullable java.util.ArrayList<? extends android.os.Parcelable>);
+    method public void putSerializable(@Nullable String, @Nullable java.io.Serializable);
+    method public void putShort(@Nullable String, short);
+    method public void putShortArray(@Nullable String, @Nullable short[]);
+    method public void putSize(@Nullable String, @Nullable android.util.Size);
+    method public void putSizeF(@Nullable String, @Nullable android.util.SizeF);
+    method public void putSparseParcelableArray(@Nullable String, @Nullable android.util.SparseArray<? extends android.os.Parcelable>);
+    method public void putStringArrayList(@Nullable String, @Nullable java.util.ArrayList<java.lang.String>);
+    method public void readFromParcel(android.os.Parcel);
+    method public void setClassLoader(ClassLoader);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.Bundle> CREATOR;
+    field public static final android.os.Bundle EMPTY;
+  }
+
+  public final class CancellationSignal {
+    ctor public CancellationSignal();
+    method public void cancel();
+    method public boolean isCanceled();
+    method public void setOnCancelListener(android.os.CancellationSignal.OnCancelListener);
+    method public void throwIfCanceled();
+  }
+
+  public static interface CancellationSignal.OnCancelListener {
+    method public void onCancel();
+  }
+
+  public abstract class CombinedVibration implements android.os.Parcelable {
+    method @NonNull public static android.os.CombinedVibration createParallel(@NonNull android.os.VibrationEffect);
+    method public int describeContents();
+    method @NonNull public static android.os.CombinedVibration.ParallelCombination startParallel();
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.CombinedVibration> CREATOR;
+  }
+
+  public static final class CombinedVibration.ParallelCombination {
+    method @NonNull public android.os.CombinedVibration.ParallelCombination addVibrator(int, @NonNull android.os.VibrationEffect);
+    method @NonNull public android.os.CombinedVibration combine();
+  }
+
+  public class ConditionVariable {
+    ctor public ConditionVariable();
+    ctor public ConditionVariable(boolean);
+    method public void block();
+    method public boolean block(long);
+    method public void close();
+    method public void open();
+  }
+
+  public abstract class CountDownTimer {
+    ctor public CountDownTimer(long, long);
+    method public final void cancel();
+    method public abstract void onFinish();
+    method public abstract void onTick(long);
+    method public final android.os.CountDownTimer start();
+  }
+
+  public final class CpuUsageInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getActive();
+    method public long getTotal();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.CpuUsageInfo> CREATOR;
+  }
+
+  public class DeadObjectException extends android.os.RemoteException {
+    ctor public DeadObjectException();
+    ctor public DeadObjectException(String);
+  }
+
+  public class DeadSystemException extends android.os.DeadObjectException {
+    ctor public DeadSystemException();
+  }
+
+  public final class Debug {
+    method public static void attachJvmtiAgent(@NonNull String, @Nullable String, @Nullable ClassLoader) throws java.io.IOException;
+    method @Deprecated public static void changeDebugPort(int);
+    method public static void dumpHprofData(String) throws java.io.IOException;
+    method public static boolean dumpService(String, java.io.FileDescriptor, String[]);
+    method public static void enableEmulatorTraceOutput();
+    method public static int getBinderDeathObjectCount();
+    method public static int getBinderLocalObjectCount();
+    method public static int getBinderProxyObjectCount();
+    method public static int getBinderReceivedTransactions();
+    method public static int getBinderSentTransactions();
+    method @Deprecated public static int getGlobalAllocCount();
+    method @Deprecated public static int getGlobalAllocSize();
+    method @Deprecated public static int getGlobalClassInitCount();
+    method @Deprecated public static int getGlobalClassInitTime();
+    method @Deprecated public static int getGlobalExternalAllocCount();
+    method @Deprecated public static int getGlobalExternalAllocSize();
+    method @Deprecated public static int getGlobalExternalFreedCount();
+    method @Deprecated public static int getGlobalExternalFreedSize();
+    method @Deprecated public static int getGlobalFreedCount();
+    method @Deprecated public static int getGlobalFreedSize();
+    method @Deprecated public static int getGlobalGcInvocationCount();
+    method public static int getLoadedClassCount();
+    method public static void getMemoryInfo(android.os.Debug.MemoryInfo);
+    method public static long getNativeHeapAllocatedSize();
+    method public static long getNativeHeapFreeSize();
+    method public static long getNativeHeapSize();
+    method public static long getPss();
+    method public static String getRuntimeStat(String);
+    method public static java.util.Map<java.lang.String,java.lang.String> getRuntimeStats();
+    method @Deprecated public static int getThreadAllocCount();
+    method @Deprecated public static int getThreadAllocSize();
+    method @Deprecated public static int getThreadExternalAllocCount();
+    method @Deprecated public static int getThreadExternalAllocSize();
+    method @Deprecated public static int getThreadGcInvocationCount();
+    method public static boolean isDebuggerConnected();
+    method public static void printLoadedClasses(int);
+    method @Deprecated public static void resetAllCounts();
+    method @Deprecated public static void resetGlobalAllocCount();
+    method @Deprecated public static void resetGlobalAllocSize();
+    method @Deprecated public static void resetGlobalClassInitCount();
+    method @Deprecated public static void resetGlobalClassInitTime();
+    method @Deprecated public static void resetGlobalExternalAllocCount();
+    method @Deprecated public static void resetGlobalExternalAllocSize();
+    method @Deprecated public static void resetGlobalExternalFreedCount();
+    method @Deprecated public static void resetGlobalExternalFreedSize();
+    method @Deprecated public static void resetGlobalFreedCount();
+    method @Deprecated public static void resetGlobalFreedSize();
+    method @Deprecated public static void resetGlobalGcInvocationCount();
+    method @Deprecated public static void resetThreadAllocCount();
+    method @Deprecated public static void resetThreadAllocSize();
+    method @Deprecated public static void resetThreadExternalAllocCount();
+    method @Deprecated public static void resetThreadExternalAllocSize();
+    method @Deprecated public static void resetThreadGcInvocationCount();
+    method @Deprecated public static int setAllocationLimit(int);
+    method @Deprecated public static int setGlobalAllocationLimit(int);
+    method @Deprecated public static void startAllocCounting();
+    method public static void startMethodTracing();
+    method public static void startMethodTracing(String);
+    method public static void startMethodTracing(String, int);
+    method public static void startMethodTracing(String, int, int);
+    method public static void startMethodTracingSampling(String, int, int);
+    method public static void startNativeTracing();
+    method @Deprecated public static void stopAllocCounting();
+    method public static void stopMethodTracing();
+    method public static void stopNativeTracing();
+    method public static long threadCpuTimeNanos();
+    method public static void waitForDebugger();
+    method public static boolean waitingForDebugger();
+    field public static final int SHOW_CLASSLOADER = 2; // 0x2
+    field public static final int SHOW_FULL_DETAIL = 1; // 0x1
+    field public static final int SHOW_INITIALIZED = 4; // 0x4
+    field @Deprecated public static final int TRACE_COUNT_ALLOCS = 1; // 0x1
+  }
+
+  @Deprecated public static class Debug.InstructionCount {
+    ctor @Deprecated public Debug.InstructionCount();
+    method @Deprecated public boolean collect();
+    method @Deprecated public int globalMethodInvocations();
+    method @Deprecated public int globalTotal();
+    method @Deprecated public boolean resetAndStart();
+  }
+
+  public static class Debug.MemoryInfo implements android.os.Parcelable {
+    ctor public Debug.MemoryInfo();
+    method public int describeContents();
+    method public String getMemoryStat(String);
+    method public java.util.Map<java.lang.String,java.lang.String> getMemoryStats();
+    method public int getTotalPrivateClean();
+    method public int getTotalPrivateDirty();
+    method public int getTotalPss();
+    method public int getTotalSharedClean();
+    method public int getTotalSharedDirty();
+    method public int getTotalSwappablePss();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.Debug.MemoryInfo> CREATOR;
+    field public int dalvikPrivateDirty;
+    field public int dalvikPss;
+    field public int dalvikSharedDirty;
+    field public int nativePrivateDirty;
+    field public int nativePss;
+    field public int nativeSharedDirty;
+    field public int otherPrivateDirty;
+    field public int otherPss;
+    field public int otherSharedDirty;
+  }
+
+  public class DropBoxManager {
+    ctor protected DropBoxManager();
+    method public void addData(@NonNull String, @Nullable byte[], int);
+    method public void addFile(@NonNull String, @NonNull java.io.File, int) throws java.io.IOException;
+    method public void addText(@NonNull String, @NonNull String);
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.READ_LOGS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.DropBoxManager.Entry getNextEntry(String, long);
+    method public boolean isTagEnabled(String);
+    field public static final String ACTION_DROPBOX_ENTRY_ADDED = "android.intent.action.DROPBOX_ENTRY_ADDED";
+    field public static final String EXTRA_DROPPED_COUNT = "android.os.extra.DROPPED_COUNT";
+    field public static final String EXTRA_TAG = "tag";
+    field public static final String EXTRA_TIME = "time";
+    field public static final int IS_EMPTY = 1; // 0x1
+    field public static final int IS_GZIPPED = 4; // 0x4
+    field public static final int IS_TEXT = 2; // 0x2
+  }
+
+  public static class DropBoxManager.Entry implements java.io.Closeable android.os.Parcelable {
+    ctor public DropBoxManager.Entry(@NonNull String, long);
+    ctor public DropBoxManager.Entry(@NonNull String, long, @NonNull String);
+    ctor public DropBoxManager.Entry(@NonNull String, long, @Nullable byte[], int);
+    ctor public DropBoxManager.Entry(@NonNull String, long, @Nullable android.os.ParcelFileDescriptor, int);
+    ctor public DropBoxManager.Entry(@NonNull String, long, @NonNull java.io.File, int) throws java.io.IOException;
+    method public void close();
+    method public int describeContents();
+    method public int getFlags();
+    method @Nullable public java.io.InputStream getInputStream() throws java.io.IOException;
+    method @NonNull public String getTag();
+    method @Nullable public String getText(int);
+    method public long getTimeMillis();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.DropBoxManager.Entry> CREATOR;
+  }
+
+  public class Environment {
+    ctor public Environment();
+    method public static java.io.File getDataDirectory();
+    method public static java.io.File getDownloadCacheDirectory();
+    method public static java.io.File getExternalStorageDirectory();
+    method public static java.io.File getExternalStoragePublicDirectory(String);
+    method public static String getExternalStorageState();
+    method public static String getExternalStorageState(java.io.File);
+    method @NonNull public static java.io.File getRootDirectory();
+    method @NonNull public static java.io.File getStorageDirectory();
+    method @Deprecated public static String getStorageState(java.io.File);
+    method public static boolean isExternalStorageEmulated();
+    method public static boolean isExternalStorageEmulated(@NonNull java.io.File);
+    method public static boolean isExternalStorageLegacy();
+    method public static boolean isExternalStorageLegacy(@NonNull java.io.File);
+    method public static boolean isExternalStorageManager();
+    method public static boolean isExternalStorageManager(@NonNull java.io.File);
+    method public static boolean isExternalStorageRemovable();
+    method public static boolean isExternalStorageRemovable(@NonNull java.io.File);
+    field public static String DIRECTORY_ALARMS;
+    field public static String DIRECTORY_AUDIOBOOKS;
+    field public static String DIRECTORY_DCIM;
+    field public static String DIRECTORY_DOCUMENTS;
+    field public static String DIRECTORY_DOWNLOADS;
+    field public static String DIRECTORY_MOVIES;
+    field public static String DIRECTORY_MUSIC;
+    field public static String DIRECTORY_NOTIFICATIONS;
+    field public static String DIRECTORY_PICTURES;
+    field public static String DIRECTORY_PODCASTS;
+    field @NonNull public static String DIRECTORY_RECORDINGS;
+    field public static String DIRECTORY_RINGTONES;
+    field public static String DIRECTORY_SCREENSHOTS;
+    field public static final String MEDIA_BAD_REMOVAL = "bad_removal";
+    field public static final String MEDIA_CHECKING = "checking";
+    field public static final String MEDIA_EJECTING = "ejecting";
+    field public static final String MEDIA_MOUNTED = "mounted";
+    field public static final String MEDIA_MOUNTED_READ_ONLY = "mounted_ro";
+    field public static final String MEDIA_NOFS = "nofs";
+    field public static final String MEDIA_REMOVED = "removed";
+    field public static final String MEDIA_SHARED = "shared";
+    field public static final String MEDIA_UNKNOWN = "unknown";
+    field public static final String MEDIA_UNMOUNTABLE = "unmountable";
+    field public static final String MEDIA_UNMOUNTED = "unmounted";
+  }
+
+  public abstract class FileObserver {
+    ctor @Deprecated public FileObserver(String);
+    ctor public FileObserver(@NonNull java.io.File);
+    ctor public FileObserver(@NonNull java.util.List<java.io.File>);
+    ctor @Deprecated public FileObserver(String, int);
+    ctor public FileObserver(@NonNull java.io.File, int);
+    ctor public FileObserver(@NonNull java.util.List<java.io.File>, int);
+    method protected void finalize();
+    method public abstract void onEvent(int, @Nullable String);
+    method public void startWatching();
+    method public void stopWatching();
+    field public static final int ACCESS = 1; // 0x1
+    field public static final int ALL_EVENTS = 4095; // 0xfff
+    field public static final int ATTRIB = 4; // 0x4
+    field public static final int CLOSE_NOWRITE = 16; // 0x10
+    field public static final int CLOSE_WRITE = 8; // 0x8
+    field public static final int CREATE = 256; // 0x100
+    field public static final int DELETE = 512; // 0x200
+    field public static final int DELETE_SELF = 1024; // 0x400
+    field public static final int MODIFY = 2; // 0x2
+    field public static final int MOVED_FROM = 64; // 0x40
+    field public static final int MOVED_TO = 128; // 0x80
+    field public static final int MOVE_SELF = 2048; // 0x800
+    field public static final int OPEN = 32; // 0x20
+  }
+
+  public class FileUriExposedException extends java.lang.RuntimeException {
+    ctor public FileUriExposedException(String);
+  }
+
+  public final class FileUtils {
+    method @Deprecated public static void closeQuietly(@Nullable AutoCloseable);
+    method @Deprecated public static void closeQuietly(@Nullable java.io.FileDescriptor);
+    method public static long copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream) throws java.io.IOException;
+    method public static long copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream, @Nullable android.os.CancellationSignal, @Nullable java.util.concurrent.Executor, @Nullable android.os.FileUtils.ProgressListener) throws java.io.IOException;
+    method public static long copy(@NonNull java.io.FileDescriptor, @NonNull java.io.FileDescriptor) throws java.io.IOException;
+    method public static long copy(@NonNull java.io.FileDescriptor, @NonNull java.io.FileDescriptor, @Nullable android.os.CancellationSignal, @Nullable java.util.concurrent.Executor, @Nullable android.os.FileUtils.ProgressListener) throws java.io.IOException;
+  }
+
+  public static interface FileUtils.ProgressListener {
+    method public void onProgress(long);
+  }
+
+  public class Handler {
+    ctor @Deprecated public Handler();
+    ctor @Deprecated public Handler(@Nullable android.os.Handler.Callback);
+    ctor public Handler(@NonNull android.os.Looper);
+    ctor public Handler(@NonNull android.os.Looper, @Nullable android.os.Handler.Callback);
+    method @NonNull public static android.os.Handler createAsync(@NonNull android.os.Looper);
+    method @NonNull public static android.os.Handler createAsync(@NonNull android.os.Looper, @NonNull android.os.Handler.Callback);
+    method public void dispatchMessage(@NonNull android.os.Message);
+    method public final void dump(@NonNull android.util.Printer, @NonNull String);
+    method @NonNull public final android.os.Looper getLooper();
+    method @NonNull public String getMessageName(@NonNull android.os.Message);
+    method public void handleMessage(@NonNull android.os.Message);
+    method public final boolean hasCallbacks(@NonNull Runnable);
+    method public final boolean hasMessages(int);
+    method public final boolean hasMessages(int, @Nullable Object);
+    method @NonNull public final android.os.Message obtainMessage();
+    method @NonNull public final android.os.Message obtainMessage(int);
+    method @NonNull public final android.os.Message obtainMessage(int, @Nullable Object);
+    method @NonNull public final android.os.Message obtainMessage(int, int, int);
+    method @NonNull public final android.os.Message obtainMessage(int, int, int, @Nullable Object);
+    method public final boolean post(@NonNull Runnable);
+    method public final boolean postAtFrontOfQueue(@NonNull Runnable);
+    method public final boolean postAtTime(@NonNull Runnable, long);
+    method public final boolean postAtTime(@NonNull Runnable, @Nullable Object, long);
+    method public final boolean postDelayed(@NonNull Runnable, long);
+    method public final boolean postDelayed(@NonNull Runnable, @Nullable Object, long);
+    method public final void removeCallbacks(@NonNull Runnable);
+    method public final void removeCallbacks(@NonNull Runnable, @Nullable Object);
+    method public final void removeCallbacksAndMessages(@Nullable Object);
+    method public final void removeMessages(int);
+    method public final void removeMessages(int, @Nullable Object);
+    method public final boolean sendEmptyMessage(int);
+    method public final boolean sendEmptyMessageAtTime(int, long);
+    method public final boolean sendEmptyMessageDelayed(int, long);
+    method public final boolean sendMessage(@NonNull android.os.Message);
+    method public final boolean sendMessageAtFrontOfQueue(@NonNull android.os.Message);
+    method public boolean sendMessageAtTime(@NonNull android.os.Message, long);
+    method public final boolean sendMessageDelayed(@NonNull android.os.Message, long);
+  }
+
+  public static interface Handler.Callback {
+    method public boolean handleMessage(@NonNull android.os.Message);
+  }
+
+  public class HandlerThread extends java.lang.Thread {
+    ctor public HandlerThread(String);
+    ctor public HandlerThread(String, int);
+    method public android.os.Looper getLooper();
+    method public int getThreadId();
+    method protected void onLooperPrepared();
+    method public boolean quit();
+    method public boolean quitSafely();
+  }
+
+  public class HardwarePropertiesManager {
+    method @NonNull public android.os.CpuUsageInfo[] getCpuUsages();
+    method @NonNull public float[] getDeviceTemperatures(int, int);
+    method @NonNull public float[] getFanSpeeds();
+    field public static final int DEVICE_TEMPERATURE_BATTERY = 2; // 0x2
+    field public static final int DEVICE_TEMPERATURE_CPU = 0; // 0x0
+    field public static final int DEVICE_TEMPERATURE_GPU = 1; // 0x1
+    field public static final int DEVICE_TEMPERATURE_SKIN = 3; // 0x3
+    field public static final int TEMPERATURE_CURRENT = 0; // 0x0
+    field public static final int TEMPERATURE_SHUTDOWN = 2; // 0x2
+    field public static final int TEMPERATURE_THROTTLING = 1; // 0x1
+    field public static final int TEMPERATURE_THROTTLING_BELOW_VR_MIN = 3; // 0x3
+    field public static final float UNDEFINED_TEMPERATURE = -3.4028235E38f;
+  }
+
+  public interface IBinder {
+    method public void dump(@NonNull java.io.FileDescriptor, @Nullable String[]) throws android.os.RemoteException;
+    method public void dumpAsync(@NonNull java.io.FileDescriptor, @Nullable String[]) throws android.os.RemoteException;
+    method @Nullable public String getInterfaceDescriptor() throws android.os.RemoteException;
+    method public static int getSuggestedMaxIpcSizeBytes();
+    method public boolean isBinderAlive();
+    method public void linkToDeath(@NonNull android.os.IBinder.DeathRecipient, int) throws android.os.RemoteException;
+    method public boolean pingBinder();
+    method @Nullable public android.os.IInterface queryLocalInterface(@NonNull String);
+    method public boolean transact(int, @NonNull android.os.Parcel, @Nullable android.os.Parcel, int) throws android.os.RemoteException;
+    method public boolean unlinkToDeath(@NonNull android.os.IBinder.DeathRecipient, int);
+    field public static final int DUMP_TRANSACTION = 1598311760; // 0x5f444d50
+    field public static final int FIRST_CALL_TRANSACTION = 1; // 0x1
+    field public static final int FLAG_ONEWAY = 1; // 0x1
+    field public static final int INTERFACE_TRANSACTION = 1598968902; // 0x5f4e5446
+    field public static final int LAST_CALL_TRANSACTION = 16777215; // 0xffffff
+    field public static final int LIKE_TRANSACTION = 1598835019; // 0x5f4c494b
+    field public static final int PING_TRANSACTION = 1599098439; // 0x5f504e47
+    field public static final int TWEET_TRANSACTION = 1599362900; // 0x5f545754
+  }
+
+  public static interface IBinder.DeathRecipient {
+    method public void binderDied();
+  }
+
+  public interface IInterface {
+    method public android.os.IBinder asBinder();
+  }
+
+  public class LimitExceededException extends java.lang.IllegalStateException {
+    ctor public LimitExceededException();
+    ctor public LimitExceededException(@NonNull String);
+  }
+
+  public final class LocaleList implements android.os.Parcelable {
+    ctor public LocaleList(@NonNull java.util.Locale...);
+    method public int describeContents();
+    method @NonNull public static android.os.LocaleList forLanguageTags(@Nullable String);
+    method public java.util.Locale get(int);
+    method @NonNull @Size(min=1) public static android.os.LocaleList getAdjustedDefault();
+    method @NonNull @Size(min=1) public static android.os.LocaleList getDefault();
+    method @NonNull public static android.os.LocaleList getEmptyLocaleList();
+    method @Nullable public java.util.Locale getFirstMatch(String[]);
+    method @IntRange(from=0xffffffff) public int indexOf(java.util.Locale);
+    method public boolean isEmpty();
+    method public static boolean isPseudoLocale(@Nullable android.icu.util.ULocale);
+    method public static void setDefault(@NonNull @Size(min=1) android.os.LocaleList);
+    method @IntRange(from=0) public int size();
+    method @NonNull public String toLanguageTags();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.LocaleList> CREATOR;
+  }
+
+  public final class Looper {
+    method public void dump(@NonNull android.util.Printer, @NonNull String);
+    method public static android.os.Looper getMainLooper();
+    method @NonNull public android.os.MessageQueue getQueue();
+    method @NonNull public Thread getThread();
+    method public boolean isCurrentThread();
+    method public static void loop();
+    method @Nullable public static android.os.Looper myLooper();
+    method @NonNull public static android.os.MessageQueue myQueue();
+    method public static void prepare();
+    method @Deprecated public static void prepareMainLooper();
+    method public void quit();
+    method public void quitSafely();
+    method public void setMessageLogging(@Nullable android.util.Printer);
+  }
+
+  public class MemoryFile {
+    ctor public MemoryFile(String, int) throws java.io.IOException;
+    method @Deprecated public boolean allowPurging(boolean) throws java.io.IOException;
+    method public void close();
+    method public java.io.InputStream getInputStream();
+    method public java.io.OutputStream getOutputStream();
+    method @Deprecated public boolean isPurgingAllowed();
+    method public int length();
+    method public int readBytes(byte[], int, int, int) throws java.io.IOException;
+    method public void writeBytes(byte[], int, int, int) throws java.io.IOException;
+  }
+
+  public final class Message implements android.os.Parcelable {
+    ctor public Message();
+    method public void copyFrom(android.os.Message);
+    method public int describeContents();
+    method public Runnable getCallback();
+    method public android.os.Bundle getData();
+    method public android.os.Handler getTarget();
+    method public long getWhen();
+    method public boolean isAsynchronous();
+    method public static android.os.Message obtain();
+    method public static android.os.Message obtain(android.os.Message);
+    method public static android.os.Message obtain(android.os.Handler);
+    method public static android.os.Message obtain(android.os.Handler, Runnable);
+    method public static android.os.Message obtain(android.os.Handler, int);
+    method public static android.os.Message obtain(android.os.Handler, int, Object);
+    method public static android.os.Message obtain(android.os.Handler, int, int, int);
+    method public static android.os.Message obtain(android.os.Handler, int, int, int, Object);
+    method public android.os.Bundle peekData();
+    method public void recycle();
+    method public void sendToTarget();
+    method public void setAsynchronous(boolean);
+    method public void setData(android.os.Bundle);
+    method public void setTarget(android.os.Handler);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.Message> CREATOR;
+    field public int arg1;
+    field public int arg2;
+    field public Object obj;
+    field public android.os.Messenger replyTo;
+    field public int sendingUid;
+    field public int what;
+  }
+
+  public final class MessageQueue {
+    method public void addIdleHandler(@NonNull android.os.MessageQueue.IdleHandler);
+    method public void addOnFileDescriptorEventListener(@NonNull java.io.FileDescriptor, int, @NonNull android.os.MessageQueue.OnFileDescriptorEventListener);
+    method public boolean isIdle();
+    method public void removeIdleHandler(@NonNull android.os.MessageQueue.IdleHandler);
+    method public void removeOnFileDescriptorEventListener(@NonNull java.io.FileDescriptor);
+  }
+
+  public static interface MessageQueue.IdleHandler {
+    method public boolean queueIdle();
+  }
+
+  public static interface MessageQueue.OnFileDescriptorEventListener {
+    method public int onFileDescriptorEvents(@NonNull java.io.FileDescriptor, int);
+    field public static final int EVENT_ERROR = 4; // 0x4
+    field public static final int EVENT_INPUT = 1; // 0x1
+    field public static final int EVENT_OUTPUT = 2; // 0x2
+  }
+
+  public final class Messenger implements android.os.Parcelable {
+    ctor public Messenger(android.os.Handler);
+    ctor public Messenger(android.os.IBinder);
+    method public int describeContents();
+    method public android.os.IBinder getBinder();
+    method public static android.os.Messenger readMessengerOrNullFromParcel(android.os.Parcel);
+    method public void send(android.os.Message) throws android.os.RemoteException;
+    method public static void writeMessengerOrNullToParcel(android.os.Messenger, android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.Messenger> CREATOR;
+  }
+
+  public class NetworkOnMainThreadException extends java.lang.RuntimeException {
+    ctor public NetworkOnMainThreadException();
+  }
+
+  public class OperationCanceledException extends java.lang.RuntimeException {
+    ctor public OperationCanceledException();
+    ctor public OperationCanceledException(String);
+  }
+
+  public interface OutcomeReceiver<R, E extends java.lang.Throwable> {
+    method public default void onError(@NonNull E);
+    method public void onResult(@NonNull R);
+  }
+
+  public final class Parcel {
+    method public void appendFrom(android.os.Parcel, int, int);
+    method @Nullable public android.os.IBinder[] createBinderArray();
+    method @Nullable public java.util.ArrayList<android.os.IBinder> createBinderArrayList();
+    method @Nullable public boolean[] createBooleanArray();
+    method @Nullable public byte[] createByteArray();
+    method @Nullable public char[] createCharArray();
+    method @Nullable public double[] createDoubleArray();
+    method @Nullable public float[] createFloatArray();
+    method @Nullable public int[] createIntArray();
+    method @Nullable public long[] createLongArray();
+    method @Nullable public String[] createStringArray();
+    method @Nullable public java.util.ArrayList<java.lang.String> createStringArrayList();
+    method @Nullable public <T> T[] createTypedArray(@NonNull android.os.Parcelable.Creator<T>);
+    method @Nullable public <T> java.util.ArrayList<T> createTypedArrayList(@NonNull android.os.Parcelable.Creator<T>);
+    method @Nullable public <T extends android.os.Parcelable> android.util.ArrayMap<java.lang.String,T> createTypedArrayMap(@NonNull android.os.Parcelable.Creator<T>);
+    method @Nullable public <T extends android.os.Parcelable> android.util.SparseArray<T> createTypedSparseArray(@NonNull android.os.Parcelable.Creator<T>);
+    method public int dataAvail();
+    method public int dataCapacity();
+    method public int dataPosition();
+    method public int dataSize();
+    method public void enforceInterface(@NonNull String);
+    method public boolean hasFileDescriptors();
+    method public byte[] marshall();
+    method @NonNull public static android.os.Parcel obtain();
+    method @Nullable public Object[] readArray(@Nullable ClassLoader);
+    method @Nullable public java.util.ArrayList readArrayList(@Nullable ClassLoader);
+    method public void readBinderArray(@NonNull android.os.IBinder[]);
+    method public void readBinderList(@NonNull java.util.List<android.os.IBinder>);
+    method public boolean readBoolean();
+    method public void readBooleanArray(@NonNull boolean[]);
+    method @Nullable public android.os.Bundle readBundle();
+    method @Nullable public android.os.Bundle readBundle(@Nullable ClassLoader);
+    method public byte readByte();
+    method public void readByteArray(@NonNull byte[]);
+    method public void readCharArray(@NonNull char[]);
+    method public double readDouble();
+    method public void readDoubleArray(@NonNull double[]);
+    method public void readException();
+    method public void readException(int, String);
+    method public android.os.ParcelFileDescriptor readFileDescriptor();
+    method public float readFloat();
+    method public void readFloatArray(@NonNull float[]);
+    method @Nullable public java.util.HashMap readHashMap(@Nullable ClassLoader);
+    method public int readInt();
+    method public void readIntArray(@NonNull int[]);
+    method public void readList(@NonNull java.util.List, @Nullable ClassLoader);
+    method public long readLong();
+    method public void readLongArray(@NonNull long[]);
+    method public void readMap(@NonNull java.util.Map, @Nullable ClassLoader);
+    method @Nullable public <T extends android.os.Parcelable> T readParcelable(@Nullable ClassLoader);
+    method @Nullable public android.os.Parcelable[] readParcelableArray(@Nullable ClassLoader);
+    method @Nullable public android.os.Parcelable.Creator<?> readParcelableCreator(@Nullable ClassLoader);
+    method @NonNull public <T extends android.os.Parcelable> java.util.List<T> readParcelableList(@NonNull java.util.List<T>, @Nullable ClassLoader);
+    method @Nullable public android.os.PersistableBundle readPersistableBundle();
+    method @Nullable public android.os.PersistableBundle readPersistableBundle(@Nullable ClassLoader);
+    method @Nullable public java.io.Serializable readSerializable();
+    method @NonNull public android.util.Size readSize();
+    method @NonNull public android.util.SizeF readSizeF();
+    method @Nullable public <T> android.util.SparseArray<T> readSparseArray(@Nullable ClassLoader);
+    method @Nullable public android.util.SparseBooleanArray readSparseBooleanArray();
+    method @Nullable public String readString();
+    method public void readStringArray(@NonNull String[]);
+    method public void readStringList(@NonNull java.util.List<java.lang.String>);
+    method public android.os.IBinder readStrongBinder();
+    method public <T> void readTypedArray(@NonNull T[], @NonNull android.os.Parcelable.Creator<T>);
+    method public <T> void readTypedList(@NonNull java.util.List<T>, @NonNull android.os.Parcelable.Creator<T>);
+    method @Nullable public <T> T readTypedObject(@NonNull android.os.Parcelable.Creator<T>);
+    method @Nullable public Object readValue(@Nullable ClassLoader);
+    method public void recycle();
+    method public void setDataCapacity(int);
+    method public void setDataPosition(int);
+    method public void setDataSize(int);
+    method public void unmarshall(@NonNull byte[], int, int);
+    method public void writeArray(@Nullable Object[]);
+    method public void writeBinderArray(@Nullable android.os.IBinder[]);
+    method public void writeBinderList(@Nullable java.util.List<android.os.IBinder>);
+    method public void writeBoolean(boolean);
+    method public void writeBooleanArray(@Nullable boolean[]);
+    method public void writeBundle(@Nullable android.os.Bundle);
+    method public void writeByte(byte);
+    method public void writeByteArray(@Nullable byte[]);
+    method public void writeByteArray(@Nullable byte[], int, int);
+    method public void writeCharArray(@Nullable char[]);
+    method public void writeDouble(double);
+    method public void writeDoubleArray(@Nullable double[]);
+    method public void writeException(@NonNull Exception);
+    method public void writeFileDescriptor(@NonNull java.io.FileDescriptor);
+    method public void writeFloat(float);
+    method public void writeFloatArray(@Nullable float[]);
+    method public void writeInt(int);
+    method public void writeIntArray(@Nullable int[]);
+    method public void writeInterfaceToken(@NonNull String);
+    method public void writeList(@Nullable java.util.List);
+    method public void writeLong(long);
+    method public void writeLongArray(@Nullable long[]);
+    method public void writeMap(@Nullable java.util.Map);
+    method public void writeNoException();
+    method public void writeParcelable(@Nullable android.os.Parcelable, int);
+    method public <T extends android.os.Parcelable> void writeParcelableArray(@Nullable T[], int);
+    method public void writeParcelableCreator(@NonNull android.os.Parcelable);
+    method public <T extends android.os.Parcelable> void writeParcelableList(@Nullable java.util.List<T>, int);
+    method public void writePersistableBundle(@Nullable android.os.PersistableBundle);
+    method public void writeSerializable(@Nullable java.io.Serializable);
+    method public void writeSize(@NonNull android.util.Size);
+    method public void writeSizeF(@NonNull android.util.SizeF);
+    method public <T> void writeSparseArray(@Nullable android.util.SparseArray<T>);
+    method public void writeSparseBooleanArray(@Nullable android.util.SparseBooleanArray);
+    method public void writeString(@Nullable String);
+    method public void writeStringArray(@Nullable String[]);
+    method public void writeStringList(@Nullable java.util.List<java.lang.String>);
+    method public void writeStrongBinder(android.os.IBinder);
+    method public void writeStrongInterface(android.os.IInterface);
+    method public <T extends android.os.Parcelable> void writeTypedArray(@Nullable T[], int);
+    method public <T extends android.os.Parcelable> void writeTypedArrayMap(@Nullable android.util.ArrayMap<java.lang.String,T>, int);
+    method public <T extends android.os.Parcelable> void writeTypedList(@Nullable java.util.List<T>);
+    method public <T extends android.os.Parcelable> void writeTypedObject(@Nullable T, int);
+    method public <T extends android.os.Parcelable> void writeTypedSparseArray(@Nullable android.util.SparseArray<T>, int);
+    method public void writeValue(@Nullable Object);
+    field public static final android.os.Parcelable.Creator<java.lang.String> STRING_CREATOR;
+  }
+
+  public class ParcelFileDescriptor implements java.io.Closeable android.os.Parcelable {
+    ctor public ParcelFileDescriptor(android.os.ParcelFileDescriptor);
+    method public static android.os.ParcelFileDescriptor adoptFd(int);
+    method public boolean canDetectErrors();
+    method public void checkError() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void closeWithError(String) throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor[] createPipe() throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor[] createReliablePipe() throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor[] createReliableSocketPair() throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor[] createSocketPair() throws java.io.IOException;
+    method public int describeContents();
+    method public int detachFd();
+    method public static android.os.ParcelFileDescriptor dup(java.io.FileDescriptor) throws java.io.IOException;
+    method public android.os.ParcelFileDescriptor dup() throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor fromDatagramSocket(java.net.DatagramSocket);
+    method public static android.os.ParcelFileDescriptor fromFd(int) throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor fromSocket(java.net.Socket);
+    method public int getFd();
+    method public java.io.FileDescriptor getFileDescriptor();
+    method public long getStatSize();
+    method public static android.os.ParcelFileDescriptor open(java.io.File, int) throws java.io.FileNotFoundException;
+    method public static android.os.ParcelFileDescriptor open(java.io.File, int, android.os.Handler, android.os.ParcelFileDescriptor.OnCloseListener) throws java.io.IOException;
+    method public static int parseMode(String);
+    method @NonNull public static android.os.ParcelFileDescriptor wrap(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.Handler, @NonNull android.os.ParcelFileDescriptor.OnCloseListener) throws java.io.IOException;
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelFileDescriptor> CREATOR;
+    field public static final int MODE_APPEND = 33554432; // 0x2000000
+    field public static final int MODE_CREATE = 134217728; // 0x8000000
+    field public static final int MODE_READ_ONLY = 268435456; // 0x10000000
+    field public static final int MODE_READ_WRITE = 805306368; // 0x30000000
+    field public static final int MODE_TRUNCATE = 67108864; // 0x4000000
+    field @Deprecated public static final int MODE_WORLD_READABLE = 1; // 0x1
+    field @Deprecated public static final int MODE_WORLD_WRITEABLE = 2; // 0x2
+    field public static final int MODE_WRITE_ONLY = 536870912; // 0x20000000
+  }
+
+  public static class ParcelFileDescriptor.AutoCloseInputStream extends java.io.FileInputStream {
+    ctor public ParcelFileDescriptor.AutoCloseInputStream(android.os.ParcelFileDescriptor);
+  }
+
+  public static class ParcelFileDescriptor.AutoCloseOutputStream extends java.io.FileOutputStream {
+    ctor public ParcelFileDescriptor.AutoCloseOutputStream(android.os.ParcelFileDescriptor);
+  }
+
+  public static class ParcelFileDescriptor.FileDescriptorDetachedException extends java.io.IOException {
+    ctor public ParcelFileDescriptor.FileDescriptorDetachedException();
+  }
+
+  public static interface ParcelFileDescriptor.OnCloseListener {
+    method public void onClose(java.io.IOException);
+  }
+
+  public class ParcelFormatException extends java.lang.RuntimeException {
+    ctor public ParcelFormatException();
+    ctor public ParcelFormatException(String);
+  }
+
+  public final class ParcelUuid implements android.os.Parcelable {
+    ctor public ParcelUuid(java.util.UUID);
+    method public int describeContents();
+    method public static android.os.ParcelUuid fromString(String);
+    method public java.util.UUID getUuid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelUuid> CREATOR;
+  }
+
+  public interface Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CONTENTS_FILE_DESCRIPTOR = 1; // 0x1
+    field public static final int PARCELABLE_WRITE_RETURN_VALUE = 1; // 0x1
+  }
+
+  public static interface Parcelable.ClassLoaderCreator<T> extends android.os.Parcelable.Creator<T> {
+    method public T createFromParcel(android.os.Parcel, ClassLoader);
+  }
+
+  public static interface Parcelable.Creator<T> {
+    method public T createFromParcel(android.os.Parcel);
+    method public T[] newArray(int);
+  }
+
+  public class PatternMatcher implements android.os.Parcelable {
+    ctor public PatternMatcher(String, int);
+    ctor public PatternMatcher(android.os.Parcel);
+    method public int describeContents();
+    method public final String getPath();
+    method public final int getType();
+    method public boolean match(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.PatternMatcher> CREATOR;
+    field public static final int PATTERN_ADVANCED_GLOB = 3; // 0x3
+    field public static final int PATTERN_LITERAL = 0; // 0x0
+    field public static final int PATTERN_PREFIX = 1; // 0x1
+    field public static final int PATTERN_SIMPLE_GLOB = 2; // 0x2
+    field public static final int PATTERN_SUFFIX = 4; // 0x4
+  }
+
+  public final class PerformanceHintManager {
+    method @Nullable public android.os.PerformanceHintManager.Session createHintSession(@NonNull int[], long);
+    method public long getPreferredUpdateRateNanos();
+  }
+
+  public static class PerformanceHintManager.Session implements java.io.Closeable {
+    method public void close();
+    method public void reportActualWorkDuration(long);
+    method public void updateTargetWorkDuration(long);
+  }
+
+  public final class PersistableBundle extends android.os.BaseBundle implements java.lang.Cloneable android.os.Parcelable {
+    ctor public PersistableBundle();
+    ctor public PersistableBundle(int);
+    ctor public PersistableBundle(android.os.PersistableBundle);
+    method public Object clone();
+    method public android.os.PersistableBundle deepCopy();
+    method public int describeContents();
+    method @Nullable public android.os.PersistableBundle getPersistableBundle(@Nullable String);
+    method public void putPersistableBundle(@Nullable String, @Nullable android.os.PersistableBundle);
+    method @NonNull public static android.os.PersistableBundle readFromStream(@NonNull java.io.InputStream) throws java.io.IOException;
+    method public void writeToParcel(android.os.Parcel, int);
+    method public void writeToStream(@NonNull java.io.OutputStream) throws java.io.IOException;
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.PersistableBundle> CREATOR;
+    field public static final android.os.PersistableBundle EMPTY;
+  }
+
+  public final class PowerManager {
+    method public void addThermalStatusListener(@NonNull android.os.PowerManager.OnThermalStatusChangedListener);
+    method public void addThermalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.PowerManager.OnThermalStatusChangedListener);
+    method @Nullable public java.time.Duration getBatteryDischargePrediction();
+    method public int getCurrentThermalStatus();
+    method public int getLocationPowerSaveMode();
+    method public float getThermalHeadroom(@IntRange(from=0, to=60) int);
+    method public boolean isBatteryDischargePredictionPersonalized();
+    method public boolean isDeviceIdleMode();
+    method public boolean isIgnoringBatteryOptimizations(String);
+    method public boolean isInteractive();
+    method public boolean isPowerSaveMode();
+    method public boolean isRebootingUserspaceSupported();
+    method @Deprecated public boolean isScreenOn();
+    method public boolean isSustainedPerformanceModeSupported();
+    method public boolean isWakeLockLevelSupported(int);
+    method public android.os.PowerManager.WakeLock newWakeLock(int, String);
+    method @RequiresPermission(android.Manifest.permission.REBOOT) public void reboot(@Nullable String);
+    method public void removeThermalStatusListener(@NonNull android.os.PowerManager.OnThermalStatusChangedListener);
+    field public static final int ACQUIRE_CAUSES_WAKEUP = 268435456; // 0x10000000
+    field public static final String ACTION_DEVICE_IDLE_MODE_CHANGED = "android.os.action.DEVICE_IDLE_MODE_CHANGED";
+    field public static final String ACTION_POWER_SAVE_MODE_CHANGED = "android.os.action.POWER_SAVE_MODE_CHANGED";
+    field @Deprecated public static final int FULL_WAKE_LOCK = 26; // 0x1a
+    field public static final int LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF = 2; // 0x2
+    field public static final int LOCATION_MODE_FOREGROUND_ONLY = 3; // 0x3
+    field public static final int LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF = 1; // 0x1
+    field public static final int LOCATION_MODE_NO_CHANGE = 0; // 0x0
+    field public static final int LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF = 4; // 0x4
+    field public static final int ON_AFTER_RELEASE = 536870912; // 0x20000000
+    field public static final int PARTIAL_WAKE_LOCK = 1; // 0x1
+    field public static final int PROXIMITY_SCREEN_OFF_WAKE_LOCK = 32; // 0x20
+    field public static final int RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY = 1; // 0x1
+    field @Deprecated public static final int SCREEN_BRIGHT_WAKE_LOCK = 10; // 0xa
+    field @Deprecated public static final int SCREEN_DIM_WAKE_LOCK = 6; // 0x6
+    field public static final int THERMAL_STATUS_CRITICAL = 4; // 0x4
+    field public static final int THERMAL_STATUS_EMERGENCY = 5; // 0x5
+    field public static final int THERMAL_STATUS_LIGHT = 1; // 0x1
+    field public static final int THERMAL_STATUS_MODERATE = 2; // 0x2
+    field public static final int THERMAL_STATUS_NONE = 0; // 0x0
+    field public static final int THERMAL_STATUS_SEVERE = 3; // 0x3
+    field public static final int THERMAL_STATUS_SHUTDOWN = 6; // 0x6
+  }
+
+  public static interface PowerManager.OnThermalStatusChangedListener {
+    method public void onThermalStatusChanged(int);
+  }
+
+  public final class PowerManager.WakeLock {
+    method public void acquire();
+    method public void acquire(long);
+    method public boolean isHeld();
+    method public void release();
+    method public void release(int);
+    method public void setReferenceCounted(boolean);
+    method public void setWorkSource(android.os.WorkSource);
+  }
+
+  public class Process {
+    ctor public Process();
+    method public static final long getElapsedCpuTime();
+    method public static final int[] getExclusiveCores();
+    method public static final int getGidForName(String);
+    method public static final long getStartElapsedRealtime();
+    method public static final long getStartUptimeMillis();
+    method public static final int getThreadPriority(int) throws java.lang.IllegalArgumentException;
+    method public static final int getUidForName(String);
+    method public static final boolean is64Bit();
+    method public static boolean isApplicationUid(int);
+    method public static final boolean isIsolated();
+    method public static final void killProcess(int);
+    method public static final int myPid();
+    method public static final int myTid();
+    method public static final int myUid();
+    method public static android.os.UserHandle myUserHandle();
+    method public static final void sendSignal(int, int);
+    method public static final void setThreadPriority(int, int) throws java.lang.IllegalArgumentException, java.lang.SecurityException;
+    method public static final void setThreadPriority(int) throws java.lang.IllegalArgumentException, java.lang.SecurityException;
+    method @Deprecated public static final boolean supportsProcesses();
+    field public static final int BLUETOOTH_UID = 1002; // 0x3ea
+    field public static final int FIRST_APPLICATION_UID = 10000; // 0x2710
+    field public static final int INVALID_UID = -1; // 0xffffffff
+    field public static final int LAST_APPLICATION_UID = 19999; // 0x4e1f
+    field public static final int PHONE_UID = 1001; // 0x3e9
+    field public static final int ROOT_UID = 0; // 0x0
+    field public static final int SHELL_UID = 2000; // 0x7d0
+    field public static final int SIGNAL_KILL = 9; // 0x9
+    field public static final int SIGNAL_QUIT = 3; // 0x3
+    field public static final int SIGNAL_USR1 = 10; // 0xa
+    field public static final int SYSTEM_UID = 1000; // 0x3e8
+    field public static final int THREAD_PRIORITY_AUDIO = -16; // 0xfffffff0
+    field public static final int THREAD_PRIORITY_BACKGROUND = 10; // 0xa
+    field public static final int THREAD_PRIORITY_DEFAULT = 0; // 0x0
+    field public static final int THREAD_PRIORITY_DISPLAY = -4; // 0xfffffffc
+    field public static final int THREAD_PRIORITY_FOREGROUND = -2; // 0xfffffffe
+    field public static final int THREAD_PRIORITY_LESS_FAVORABLE = 1; // 0x1
+    field public static final int THREAD_PRIORITY_LOWEST = 19; // 0x13
+    field public static final int THREAD_PRIORITY_MORE_FAVORABLE = -1; // 0xffffffff
+    field public static final int THREAD_PRIORITY_URGENT_AUDIO = -19; // 0xffffffed
+    field public static final int THREAD_PRIORITY_URGENT_DISPLAY = -8; // 0xfffffff8
+    field public static final int THREAD_PRIORITY_VIDEO = -10; // 0xfffffff6
+    field public static final int WIFI_UID = 1010; // 0x3f2
+  }
+
+  public abstract class ProxyFileDescriptorCallback {
+    ctor public ProxyFileDescriptorCallback();
+    method public void onFsync() throws android.system.ErrnoException;
+    method public long onGetSize() throws android.system.ErrnoException;
+    method public int onRead(long, int, byte[]) throws android.system.ErrnoException;
+    method public abstract void onRelease();
+    method public int onWrite(long, int, byte[]) throws android.system.ErrnoException;
+  }
+
+  public class RecoverySystem {
+    method @RequiresPermission("android.permission.RECOVERY") public static void installPackage(android.content.Context, java.io.File) throws java.io.IOException;
+    method public static void rebootWipeCache(android.content.Context) throws java.io.IOException;
+    method public static void rebootWipeUserData(android.content.Context) throws java.io.IOException;
+    method public static void verifyPackage(java.io.File, android.os.RecoverySystem.ProgressListener, java.io.File) throws java.security.GeneralSecurityException, java.io.IOException;
+  }
+
+  public static interface RecoverySystem.ProgressListener {
+    method public void onProgress(int);
+  }
+
+  public class RemoteCallbackList<E extends android.os.IInterface> {
+    ctor public RemoteCallbackList();
+    method public int beginBroadcast();
+    method public void finishBroadcast();
+    method public Object getBroadcastCookie(int);
+    method public E getBroadcastItem(int);
+    method public Object getRegisteredCallbackCookie(int);
+    method public int getRegisteredCallbackCount();
+    method public E getRegisteredCallbackItem(int);
+    method public void kill();
+    method public void onCallbackDied(E);
+    method public void onCallbackDied(E, Object);
+    method public boolean register(E);
+    method public boolean register(E, Object);
+    method public boolean unregister(E);
+  }
+
+  public class RemoteException extends android.util.AndroidException {
+    ctor public RemoteException();
+    ctor public RemoteException(String);
+    method @NonNull public RuntimeException rethrowAsRuntimeException();
+    method @NonNull public RuntimeException rethrowFromSystemServer();
+  }
+
+  public class ResultReceiver implements android.os.Parcelable {
+    ctor public ResultReceiver(android.os.Handler);
+    method public int describeContents();
+    method protected void onReceiveResult(int, android.os.Bundle);
+    method public void send(int, android.os.Bundle);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.ResultReceiver> CREATOR;
+  }
+
+  public final class SharedMemory implements java.io.Closeable android.os.Parcelable {
+    method public void close();
+    method @NonNull public static android.os.SharedMemory create(@Nullable String, int) throws android.system.ErrnoException;
+    method public int describeContents();
+    method public int getSize();
+    method @NonNull public java.nio.ByteBuffer map(int, int, int) throws android.system.ErrnoException;
+    method @NonNull public java.nio.ByteBuffer mapReadOnly() throws android.system.ErrnoException;
+    method @NonNull public java.nio.ByteBuffer mapReadWrite() throws android.system.ErrnoException;
+    method public boolean setProtect(int);
+    method public static void unmap(@NonNull java.nio.ByteBuffer);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.SharedMemory> CREATOR;
+  }
+
+  public class StatFs {
+    ctor public StatFs(String);
+    method @Deprecated public int getAvailableBlocks();
+    method public long getAvailableBlocksLong();
+    method public long getAvailableBytes();
+    method @Deprecated public int getBlockCount();
+    method public long getBlockCountLong();
+    method @Deprecated public int getBlockSize();
+    method public long getBlockSizeLong();
+    method @Deprecated public int getFreeBlocks();
+    method public long getFreeBlocksLong();
+    method public long getFreeBytes();
+    method public long getTotalBytes();
+    method public void restat(String);
+  }
+
+  public final class StrictMode {
+    method public static android.os.StrictMode.ThreadPolicy allowThreadDiskReads();
+    method public static android.os.StrictMode.ThreadPolicy allowThreadDiskWrites();
+    method public static void enableDefaults();
+    method public static android.os.StrictMode.ThreadPolicy getThreadPolicy();
+    method public static android.os.StrictMode.VmPolicy getVmPolicy();
+    method public static void noteSlowCall(String);
+    method public static void setThreadPolicy(android.os.StrictMode.ThreadPolicy);
+    method public static void setVmPolicy(android.os.StrictMode.VmPolicy);
+  }
+
+  public static interface StrictMode.OnThreadViolationListener {
+    method public void onThreadViolation(android.os.strictmode.Violation);
+  }
+
+  public static interface StrictMode.OnVmViolationListener {
+    method public void onVmViolation(android.os.strictmode.Violation);
+  }
+
+  public static final class StrictMode.ThreadPolicy {
+    field public static final android.os.StrictMode.ThreadPolicy LAX;
+  }
+
+  public static final class StrictMode.ThreadPolicy.Builder {
+    ctor public StrictMode.ThreadPolicy.Builder();
+    ctor public StrictMode.ThreadPolicy.Builder(android.os.StrictMode.ThreadPolicy);
+    method public android.os.StrictMode.ThreadPolicy build();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectAll();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectCustomSlowCalls();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectDiskReads();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectDiskWrites();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectNetwork();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectResourceMismatches();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectUnbufferedIo();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDeath();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDeathOnNetwork();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDialog();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDropBox();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyFlashScreen();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.StrictMode.OnThreadViolationListener);
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyLog();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitAll();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitCustomSlowCalls();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitDiskReads();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitDiskWrites();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitNetwork();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitResourceMismatches();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitUnbufferedIo();
+  }
+
+  public static final class StrictMode.VmPolicy {
+    field public static final android.os.StrictMode.VmPolicy LAX;
+  }
+
+  public static final class StrictMode.VmPolicy.Builder {
+    ctor public StrictMode.VmPolicy.Builder();
+    ctor public StrictMode.VmPolicy.Builder(android.os.StrictMode.VmPolicy);
+    method public android.os.StrictMode.VmPolicy build();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectActivityLeaks();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectAll();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectCleartextNetwork();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectContentUriWithoutPermission();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectCredentialProtectedWhileLocked();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectFileUriExposure();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectImplicitDirectBoot();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectIncorrectContextUse();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectLeakedClosableObjects();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectLeakedRegistrationObjects();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectLeakedSqlLiteObjects();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectNonSdkApiUsage();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectUnsafeIntentLaunch();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectUntaggedSockets();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDeath();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDeathOnCleartextNetwork();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDeathOnFileUriExposure();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDropBox();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.StrictMode.OnVmViolationListener);
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyLog();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder permitNonSdkApiUsage();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder permitUnsafeIntentLaunch();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder setClassInstanceLimit(Class, int);
+  }
+
+  public final class SystemClock {
+    method @NonNull public static java.time.Clock currentGnssTimeClock();
+    method public static long currentThreadTimeMillis();
+    method public static long elapsedRealtime();
+    method public static long elapsedRealtimeNanos();
+    method public static boolean setCurrentTimeMillis(long);
+    method public static void sleep(long);
+    method public static long uptimeMillis();
+  }
+
+  public class TestLooperManager {
+    method public void execute(android.os.Message);
+    method public android.os.MessageQueue getMessageQueue();
+    method public boolean hasMessages(android.os.Handler, Object, int);
+    method public boolean hasMessages(android.os.Handler, Object, Runnable);
+    method public android.os.Message next();
+    method public void recycle(android.os.Message);
+    method public void release();
+  }
+
+  public abstract class TokenWatcher {
+    ctor public TokenWatcher(android.os.Handler, String);
+    method public void acquire(android.os.IBinder, String);
+    method public abstract void acquired();
+    method public void cleanup(android.os.IBinder, boolean);
+    method public void dump();
+    method public void dump(java.io.PrintWriter);
+    method public boolean isAcquired();
+    method public void release(android.os.IBinder);
+    method public abstract void released();
+  }
+
+  public final class Trace {
+    method public static void beginAsyncSection(@NonNull String, int);
+    method public static void beginSection(@NonNull String);
+    method public static void endAsyncSection(@NonNull String, int);
+    method public static void endSection();
+    method public static boolean isEnabled();
+    method public static void setCounter(@NonNull String, long);
+  }
+
+  public class TransactionTooLargeException extends android.os.RemoteException {
+    ctor public TransactionTooLargeException();
+    ctor public TransactionTooLargeException(String);
+  }
+
+  public final class UserHandle implements android.os.Parcelable {
+    ctor public UserHandle(android.os.Parcel);
+    method public int describeContents();
+    method public static android.os.UserHandle getUserHandleForUid(int);
+    method public static android.os.UserHandle readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    method public static void writeToParcel(android.os.UserHandle, android.os.Parcel);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserHandle> CREATOR;
+  }
+
+  public class UserManager {
+    method public static android.content.Intent createUserCreationIntent(@Nullable String, @Nullable String, @Nullable String, @Nullable android.os.PersistableBundle);
+    method @WorkerThread public android.os.Bundle getApplicationRestrictions(String);
+    method public long getSerialNumberForUser(android.os.UserHandle);
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.CREATE_USERS"}) public int getUserCount();
+    method public long getUserCreationTime(android.os.UserHandle);
+    method public android.os.UserHandle getUserForSerialNumber(long);
+    method @NonNull @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED, "android.permission.CREATE_USERS"}, conditional=true) public String getUserName();
+    method public java.util.List<android.os.UserHandle> getUserProfiles();
+    method public android.os.Bundle getUserRestrictions();
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public android.os.Bundle getUserRestrictions(android.os.UserHandle);
+    method public boolean hasUserRestriction(String);
+    method public boolean isDemoUser();
+    method public static boolean isHeadlessSystemUserMode();
+    method public boolean isManagedProfile();
+    method public boolean isQuietModeEnabled(android.os.UserHandle);
+    method public boolean isSystemUser();
+    method public boolean isUserAGoat();
+    method public boolean isUserForeground();
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserRunning(android.os.UserHandle);
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserRunningOrStopping(android.os.UserHandle);
+    method public boolean isUserUnlocked();
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserUnlocked(android.os.UserHandle);
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.MODIFY_QUIET_MODE"}, conditional=true) public boolean requestQuietModeEnabled(boolean, @NonNull android.os.UserHandle);
+    method public boolean requestQuietModeEnabled(boolean, @NonNull android.os.UserHandle, int);
+    method @Deprecated public boolean setRestrictionsChallenge(String);
+    method @Deprecated @RequiresPermission("android.permission.MANAGE_USERS") public void setUserRestriction(String, boolean);
+    method @Deprecated public void setUserRestrictions(android.os.Bundle);
+    method @Deprecated public void setUserRestrictions(android.os.Bundle, android.os.UserHandle);
+    method public static boolean supportsMultipleUsers();
+    field public static final String ALLOW_PARENT_PROFILE_APP_LINKING = "allow_parent_profile_app_linking";
+    field @Deprecated public static final String DISALLOW_ADD_MANAGED_PROFILE = "no_add_managed_profile";
+    field public static final String DISALLOW_ADD_USER = "no_add_user";
+    field public static final String DISALLOW_ADJUST_VOLUME = "no_adjust_volume";
+    field public static final String DISALLOW_AIRPLANE_MODE = "no_airplane_mode";
+    field public static final String DISALLOW_AMBIENT_DISPLAY = "no_ambient_display";
+    field public static final String DISALLOW_APPS_CONTROL = "no_control_apps";
+    field public static final String DISALLOW_AUTOFILL = "no_autofill";
+    field public static final String DISALLOW_BLUETOOTH = "no_bluetooth";
+    field public static final String DISALLOW_BLUETOOTH_SHARING = "no_bluetooth_sharing";
+    field public static final String DISALLOW_CAMERA_TOGGLE = "disallow_camera_toggle";
+    field public static final String DISALLOW_CONFIG_BLUETOOTH = "no_config_bluetooth";
+    field public static final String DISALLOW_CONFIG_BRIGHTNESS = "no_config_brightness";
+    field public static final String DISALLOW_CONFIG_CELL_BROADCASTS = "no_config_cell_broadcasts";
+    field public static final String DISALLOW_CONFIG_CREDENTIALS = "no_config_credentials";
+    field public static final String DISALLOW_CONFIG_DATE_TIME = "no_config_date_time";
+    field public static final String DISALLOW_CONFIG_LOCALE = "no_config_locale";
+    field public static final String DISALLOW_CONFIG_LOCATION = "no_config_location";
+    field public static final String DISALLOW_CONFIG_MOBILE_NETWORKS = "no_config_mobile_networks";
+    field public static final String DISALLOW_CONFIG_PRIVATE_DNS = "disallow_config_private_dns";
+    field public static final String DISALLOW_CONFIG_SCREEN_TIMEOUT = "no_config_screen_timeout";
+    field public static final String DISALLOW_CONFIG_TETHERING = "no_config_tethering";
+    field public static final String DISALLOW_CONFIG_VPN = "no_config_vpn";
+    field public static final String DISALLOW_CONFIG_WIFI = "no_config_wifi";
+    field public static final String DISALLOW_CONTENT_CAPTURE = "no_content_capture";
+    field public static final String DISALLOW_CONTENT_SUGGESTIONS = "no_content_suggestions";
+    field public static final String DISALLOW_CREATE_WINDOWS = "no_create_windows";
+    field public static final String DISALLOW_CROSS_PROFILE_COPY_PASTE = "no_cross_profile_copy_paste";
+    field public static final String DISALLOW_DATA_ROAMING = "no_data_roaming";
+    field public static final String DISALLOW_DEBUGGING_FEATURES = "no_debugging_features";
+    field public static final String DISALLOW_FACTORY_RESET = "no_factory_reset";
+    field public static final String DISALLOW_FUN = "no_fun";
+    field public static final String DISALLOW_INSTALL_APPS = "no_install_apps";
+    field public static final String DISALLOW_INSTALL_UNKNOWN_SOURCES = "no_install_unknown_sources";
+    field public static final String DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY = "no_install_unknown_sources_globally";
+    field public static final String DISALLOW_MICROPHONE_TOGGLE = "disallow_microphone_toggle";
+    field public static final String DISALLOW_MODIFY_ACCOUNTS = "no_modify_accounts";
+    field public static final String DISALLOW_MOUNT_PHYSICAL_MEDIA = "no_physical_media";
+    field public static final String DISALLOW_NETWORK_RESET = "no_network_reset";
+    field public static final String DISALLOW_OUTGOING_BEAM = "no_outgoing_beam";
+    field public static final String DISALLOW_OUTGOING_CALLS = "no_outgoing_calls";
+    field public static final String DISALLOW_PRINTING = "no_printing";
+    field @Deprecated public static final String DISALLOW_REMOVE_MANAGED_PROFILE = "no_remove_managed_profile";
+    field public static final String DISALLOW_REMOVE_USER = "no_remove_user";
+    field public static final String DISALLOW_SAFE_BOOT = "no_safe_boot";
+    field public static final String DISALLOW_SET_USER_ICON = "no_set_user_icon";
+    field public static final String DISALLOW_SET_WALLPAPER = "no_set_wallpaper";
+    field public static final String DISALLOW_SHARE_INTO_MANAGED_PROFILE = "no_sharing_into_profile";
+    field public static final String DISALLOW_SHARE_LOCATION = "no_share_location";
+    field public static final String DISALLOW_SMS = "no_sms";
+    field public static final String DISALLOW_SYSTEM_ERROR_DIALOGS = "no_system_error_dialogs";
+    field public static final String DISALLOW_UNIFIED_PASSWORD = "no_unified_password";
+    field public static final String DISALLOW_UNINSTALL_APPS = "no_uninstall_apps";
+    field public static final String DISALLOW_UNMUTE_MICROPHONE = "no_unmute_microphone";
+    field public static final String DISALLOW_USB_FILE_TRANSFER = "no_usb_file_transfer";
+    field public static final String DISALLOW_USER_SWITCH = "no_user_switch";
+    field public static final String ENSURE_VERIFY_APPS = "ensure_verify_apps";
+    field public static final String KEY_RESTRICTIONS_PENDING = "restrictions_pending";
+    field public static final int QUIET_MODE_DISABLE_ONLY_IF_CREDENTIAL_NOT_REQUIRED = 1; // 0x1
+    field public static final int USER_CREATION_FAILED_NOT_PERMITTED = 1; // 0x1
+    field public static final int USER_CREATION_FAILED_NO_MORE_USERS = 2; // 0x2
+    field public static final int USER_OPERATION_ERROR_CURRENT_USER = 4; // 0x4
+    field public static final int USER_OPERATION_ERROR_LOW_STORAGE = 5; // 0x5
+    field public static final int USER_OPERATION_ERROR_MANAGED_PROFILE = 2; // 0x2
+    field public static final int USER_OPERATION_ERROR_MAX_RUNNING_USERS = 3; // 0x3
+    field public static final int USER_OPERATION_ERROR_MAX_USERS = 6; // 0x6
+    field public static final int USER_OPERATION_ERROR_UNKNOWN = 1; // 0x1
+    field public static final int USER_OPERATION_SUCCESS = 0; // 0x0
+  }
+
+  public static class UserManager.UserOperationException extends java.lang.RuntimeException {
+    method public int getUserOperationResult();
+  }
+
+  public final class VibrationAttributes implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getFlags();
+    method public int getUsage();
+    method public int getUsageClass();
+    method public boolean isFlagSet(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationAttributes> CREATOR;
+    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 1; // 0x1
+    field public static final int USAGE_ALARM = 17; // 0x11
+    field public static final int USAGE_CLASS_ALARM = 1; // 0x1
+    field public static final int USAGE_CLASS_FEEDBACK = 2; // 0x2
+    field public static final int USAGE_CLASS_MASK = 15; // 0xf
+    field public static final int USAGE_CLASS_UNKNOWN = 0; // 0x0
+    field public static final int USAGE_COMMUNICATION_REQUEST = 65; // 0x41
+    field public static final int USAGE_HARDWARE_FEEDBACK = 50; // 0x32
+    field public static final int USAGE_NOTIFICATION = 49; // 0x31
+    field public static final int USAGE_PHYSICAL_EMULATION = 34; // 0x22
+    field public static final int USAGE_RINGTONE = 33; // 0x21
+    field public static final int USAGE_TOUCH = 18; // 0x12
+    field public static final int USAGE_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class VibrationAttributes.Builder {
+    ctor public VibrationAttributes.Builder();
+    ctor public VibrationAttributes.Builder(@Nullable android.os.VibrationAttributes);
+    method @NonNull public android.os.VibrationAttributes build();
+    method @NonNull public android.os.VibrationAttributes.Builder setFlags(int, int);
+    method @NonNull public android.os.VibrationAttributes.Builder setUsage(int);
+  }
+
+  public abstract class VibrationEffect implements android.os.Parcelable {
+    method public static android.os.VibrationEffect createOneShot(long, int);
+    method @NonNull public static android.os.VibrationEffect createPredefined(int);
+    method public static android.os.VibrationEffect createWaveform(long[], int);
+    method public static android.os.VibrationEffect createWaveform(long[], int[], int);
+    method public int describeContents();
+    method @NonNull public static android.os.VibrationEffect.Composition startComposition();
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect> CREATOR;
+    field public static final int DEFAULT_AMPLITUDE = -1; // 0xffffffff
+    field public static final int EFFECT_CLICK = 0; // 0x0
+    field public static final int EFFECT_DOUBLE_CLICK = 1; // 0x1
+    field public static final int EFFECT_HEAVY_CLICK = 5; // 0x5
+    field public static final int EFFECT_TICK = 2; // 0x2
+  }
+
+  public static final class VibrationEffect.Composition {
+    method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int);
+    method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float);
+    method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float, @IntRange(from=0) int);
+    method @NonNull public android.os.VibrationEffect compose();
+    field public static final int PRIMITIVE_CLICK = 1; // 0x1
+    field public static final int PRIMITIVE_LOW_TICK = 8; // 0x8
+    field public static final int PRIMITIVE_QUICK_FALL = 6; // 0x6
+    field public static final int PRIMITIVE_QUICK_RISE = 4; // 0x4
+    field public static final int PRIMITIVE_SLOW_RISE = 5; // 0x5
+    field public static final int PRIMITIVE_SPIN = 3; // 0x3
+    field public static final int PRIMITIVE_THUD = 2; // 0x2
+    field public static final int PRIMITIVE_TICK = 7; // 0x7
+  }
+
+  public abstract class Vibrator {
+    method public final int areAllEffectsSupported(@NonNull int...);
+    method public final boolean areAllPrimitivesSupported(@NonNull int...);
+    method @NonNull public int[] areEffectsSupported(@NonNull int...);
+    method @NonNull public boolean[] arePrimitivesSupported(@NonNull int...);
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public abstract void cancel();
+    method public int getId();
+    method @NonNull public int[] getPrimitiveDurations(@NonNull int...);
+    method public abstract boolean hasAmplitudeControl();
+    method public abstract boolean hasVibrator();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long, android.media.AudioAttributes);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long[], int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long[], int, android.media.AudioAttributes);
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(android.os.VibrationEffect);
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(android.os.VibrationEffect, android.media.AudioAttributes);
+    field public static final int VIBRATION_EFFECT_SUPPORT_NO = 2; // 0x2
+    field public static final int VIBRATION_EFFECT_SUPPORT_UNKNOWN = 0; // 0x0
+    field public static final int VIBRATION_EFFECT_SUPPORT_YES = 1; // 0x1
+  }
+
+  public abstract class VibratorManager {
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public abstract void cancel();
+    method @NonNull public abstract android.os.Vibrator getDefaultVibrator();
+    method @NonNull public abstract android.os.Vibrator getVibrator(int);
+    method @NonNull public abstract int[] getVibratorIds();
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public final void vibrate(@NonNull android.os.CombinedVibration);
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public final void vibrate(@NonNull android.os.CombinedVibration, @Nullable android.os.VibrationAttributes);
+  }
+
+  public class WorkSource implements android.os.Parcelable {
+    ctor public WorkSource();
+    ctor public WorkSource(android.os.WorkSource);
+    method public boolean add(android.os.WorkSource);
+    method public void clear();
+    method public int describeContents();
+    method public boolean diff(android.os.WorkSource);
+    method public boolean remove(android.os.WorkSource);
+    method public void set(android.os.WorkSource);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource> CREATOR;
+  }
+
+}
+
+package android.os.health {
+
+  public class HealthStats {
+    method public String getDataType();
+    method public long getMeasurement(int);
+    method public int getMeasurementKeyAt(int);
+    method public int getMeasurementKeyCount();
+    method public java.util.Map<java.lang.String,java.lang.Long> getMeasurements(int);
+    method public int getMeasurementsKeyAt(int);
+    method public int getMeasurementsKeyCount();
+    method public java.util.Map<java.lang.String,android.os.health.HealthStats> getStats(int);
+    method public int getStatsKeyAt(int);
+    method public int getStatsKeyCount();
+    method public android.os.health.TimerStat getTimer(int);
+    method public int getTimerCount(int);
+    method public int getTimerKeyAt(int);
+    method public int getTimerKeyCount();
+    method public long getTimerTime(int);
+    method public java.util.Map<java.lang.String,android.os.health.TimerStat> getTimers(int);
+    method public int getTimersKeyAt(int);
+    method public int getTimersKeyCount();
+    method public boolean hasMeasurement(int);
+    method public boolean hasMeasurements(int);
+    method public boolean hasStats(int);
+    method public boolean hasTimer(int);
+    method public boolean hasTimers(int);
+  }
+
+  public final class PackageHealthStats {
+    field public static final int MEASUREMENTS_WAKEUP_ALARMS_COUNT = 40002; // 0x9c42
+    field public static final int STATS_SERVICES = 40001; // 0x9c41
+  }
+
+  public final class PidHealthStats {
+    field public static final int MEASUREMENT_WAKE_NESTING_COUNT = 20001; // 0x4e21
+    field public static final int MEASUREMENT_WAKE_START_MS = 20003; // 0x4e23
+    field public static final int MEASUREMENT_WAKE_SUM_MS = 20002; // 0x4e22
+  }
+
+  public final class ProcessHealthStats {
+    field public static final int MEASUREMENT_ANR_COUNT = 30005; // 0x7535
+    field public static final int MEASUREMENT_CRASHES_COUNT = 30004; // 0x7534
+    field public static final int MEASUREMENT_FOREGROUND_MS = 30006; // 0x7536
+    field public static final int MEASUREMENT_STARTS_COUNT = 30003; // 0x7533
+    field public static final int MEASUREMENT_SYSTEM_TIME_MS = 30002; // 0x7532
+    field public static final int MEASUREMENT_USER_TIME_MS = 30001; // 0x7531
+  }
+
+  public final class ServiceHealthStats {
+    field public static final int MEASUREMENT_LAUNCH_COUNT = 50002; // 0xc352
+    field public static final int MEASUREMENT_START_SERVICE_COUNT = 50001; // 0xc351
+  }
+
+  public class SystemHealthManager {
+    method public android.os.health.HealthStats takeMyUidSnapshot();
+    method public android.os.health.HealthStats takeUidSnapshot(int);
+    method public android.os.health.HealthStats[] takeUidSnapshots(int[]);
+  }
+
+  public final class TimerStat implements android.os.Parcelable {
+    ctor public TimerStat();
+    ctor public TimerStat(int, long);
+    ctor public TimerStat(android.os.Parcel);
+    method public int describeContents();
+    method public int getCount();
+    method public long getTime();
+    method public void setCount(int);
+    method public void setTime(long);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.health.TimerStat> CREATOR;
+  }
+
+  public final class UidHealthStats {
+    field public static final int MEASUREMENT_BLUETOOTH_IDLE_MS = 10020; // 0x2724
+    field public static final int MEASUREMENT_BLUETOOTH_POWER_MAMS = 10023; // 0x2727
+    field public static final int MEASUREMENT_BLUETOOTH_RX_BYTES = 10052; // 0x2744
+    field public static final int MEASUREMENT_BLUETOOTH_RX_MS = 10021; // 0x2725
+    field public static final int MEASUREMENT_BLUETOOTH_RX_PACKETS = 10058; // 0x274a
+    field public static final int MEASUREMENT_BLUETOOTH_TX_BYTES = 10053; // 0x2745
+    field public static final int MEASUREMENT_BLUETOOTH_TX_MS = 10022; // 0x2726
+    field public static final int MEASUREMENT_BLUETOOTH_TX_PACKETS = 10059; // 0x274b
+    field public static final int MEASUREMENT_BUTTON_USER_ACTIVITY_COUNT = 10046; // 0x273e
+    field @Deprecated public static final int MEASUREMENT_CPU_POWER_MAMS = 10064; // 0x2750
+    field public static final int MEASUREMENT_MOBILE_IDLE_MS = 10024; // 0x2728
+    field public static final int MEASUREMENT_MOBILE_POWER_MAMS = 10027; // 0x272b
+    field public static final int MEASUREMENT_MOBILE_RX_BYTES = 10048; // 0x2740
+    field public static final int MEASUREMENT_MOBILE_RX_MS = 10025; // 0x2729
+    field public static final int MEASUREMENT_MOBILE_RX_PACKETS = 10054; // 0x2746
+    field public static final int MEASUREMENT_MOBILE_TX_BYTES = 10049; // 0x2741
+    field public static final int MEASUREMENT_MOBILE_TX_MS = 10026; // 0x272a
+    field public static final int MEASUREMENT_MOBILE_TX_PACKETS = 10055; // 0x2747
+    field public static final int MEASUREMENT_OTHER_USER_ACTIVITY_COUNT = 10045; // 0x273d
+    field public static final int MEASUREMENT_REALTIME_BATTERY_MS = 10001; // 0x2711
+    field public static final int MEASUREMENT_REALTIME_SCREEN_OFF_BATTERY_MS = 10003; // 0x2713
+    field public static final int MEASUREMENT_SYSTEM_CPU_TIME_MS = 10063; // 0x274f
+    field public static final int MEASUREMENT_TOUCH_USER_ACTIVITY_COUNT = 10047; // 0x273f
+    field public static final int MEASUREMENT_UPTIME_BATTERY_MS = 10002; // 0x2712
+    field public static final int MEASUREMENT_UPTIME_SCREEN_OFF_BATTERY_MS = 10004; // 0x2714
+    field public static final int MEASUREMENT_USER_CPU_TIME_MS = 10062; // 0x274e
+    field public static final int MEASUREMENT_WIFI_FULL_LOCK_MS = 10029; // 0x272d
+    field public static final int MEASUREMENT_WIFI_IDLE_MS = 10016; // 0x2720
+    field public static final int MEASUREMENT_WIFI_MULTICAST_MS = 10031; // 0x272f
+    field public static final int MEASUREMENT_WIFI_POWER_MAMS = 10019; // 0x2723
+    field public static final int MEASUREMENT_WIFI_RUNNING_MS = 10028; // 0x272c
+    field public static final int MEASUREMENT_WIFI_RX_BYTES = 10050; // 0x2742
+    field public static final int MEASUREMENT_WIFI_RX_MS = 10017; // 0x2721
+    field public static final int MEASUREMENT_WIFI_RX_PACKETS = 10056; // 0x2748
+    field public static final int MEASUREMENT_WIFI_TX_BYTES = 10051; // 0x2743
+    field public static final int MEASUREMENT_WIFI_TX_MS = 10018; // 0x2722
+    field public static final int MEASUREMENT_WIFI_TX_PACKETS = 10057; // 0x2749
+    field public static final int STATS_PACKAGES = 10015; // 0x271f
+    field public static final int STATS_PIDS = 10013; // 0x271d
+    field public static final int STATS_PROCESSES = 10014; // 0x271e
+    field public static final int TIMERS_JOBS = 10010; // 0x271a
+    field public static final int TIMERS_SENSORS = 10012; // 0x271c
+    field public static final int TIMERS_SYNCS = 10009; // 0x2719
+    field public static final int TIMERS_WAKELOCKS_DRAW = 10008; // 0x2718
+    field public static final int TIMERS_WAKELOCKS_FULL = 10005; // 0x2715
+    field public static final int TIMERS_WAKELOCKS_PARTIAL = 10006; // 0x2716
+    field public static final int TIMERS_WAKELOCKS_WINDOW = 10007; // 0x2717
+    field public static final int TIMER_AUDIO = 10032; // 0x2730
+    field public static final int TIMER_BLUETOOTH_SCAN = 10037; // 0x2735
+    field public static final int TIMER_CAMERA = 10035; // 0x2733
+    field public static final int TIMER_FLASHLIGHT = 10034; // 0x2732
+    field public static final int TIMER_FOREGROUND_ACTIVITY = 10036; // 0x2734
+    field public static final int TIMER_GPS_SENSOR = 10011; // 0x271b
+    field public static final int TIMER_MOBILE_RADIO_ACTIVE = 10061; // 0x274d
+    field public static final int TIMER_PROCESS_STATE_BACKGROUND_MS = 10042; // 0x273a
+    field public static final int TIMER_PROCESS_STATE_CACHED_MS = 10043; // 0x273b
+    field public static final int TIMER_PROCESS_STATE_FOREGROUND_MS = 10041; // 0x2739
+    field public static final int TIMER_PROCESS_STATE_FOREGROUND_SERVICE_MS = 10039; // 0x2737
+    field public static final int TIMER_PROCESS_STATE_TOP_MS = 10038; // 0x2736
+    field public static final int TIMER_PROCESS_STATE_TOP_SLEEPING_MS = 10040; // 0x2738
+    field public static final int TIMER_VIBRATOR = 10044; // 0x273c
+    field public static final int TIMER_VIDEO = 10033; // 0x2731
+    field public static final int TIMER_WIFI_SCAN = 10030; // 0x272e
+  }
+
+}
+
+package android.os.storage {
+
+  public abstract class OnObbStateChangeListener {
+    ctor public OnObbStateChangeListener();
+    method public void onObbStateChange(String, int);
+    field public static final int ERROR_ALREADY_MOUNTED = 24; // 0x18
+    field public static final int ERROR_COULD_NOT_MOUNT = 21; // 0x15
+    field public static final int ERROR_COULD_NOT_UNMOUNT = 22; // 0x16
+    field public static final int ERROR_INTERNAL = 20; // 0x14
+    field public static final int ERROR_NOT_MOUNTED = 23; // 0x17
+    field public static final int ERROR_PERMISSION_DENIED = 25; // 0x19
+    field public static final int MOUNTED = 1; // 0x1
+    field public static final int UNMOUNTED = 2; // 0x2
+  }
+
+  public class StorageManager {
+    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long) throws java.io.IOException;
+    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long) throws java.io.IOException;
+    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID) throws java.io.IOException;
+    method @WorkerThread public long getCacheQuotaBytes(@NonNull java.util.UUID) throws java.io.IOException;
+    method @WorkerThread public long getCacheSizeBytes(@NonNull java.util.UUID) throws java.io.IOException;
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_EXTERNAL_STORAGE) public android.app.PendingIntent getManageSpaceActivityIntent(@NonNull String, int);
+    method public String getMountedObbPath(String);
+    method @NonNull public android.os.storage.StorageVolume getPrimaryStorageVolume();
+    method @NonNull public java.util.List<android.os.storage.StorageVolume> getRecentStorageVolumes();
+    method @Nullable public android.os.storage.StorageVolume getStorageVolume(@NonNull java.io.File);
+    method @NonNull public android.os.storage.StorageVolume getStorageVolume(@NonNull android.net.Uri);
+    method @NonNull public java.util.List<android.os.storage.StorageVolume> getStorageVolumes();
+    method @NonNull public java.util.UUID getUuidForPath(@NonNull java.io.File) throws java.io.IOException;
+    method public boolean isAllocationSupported(@NonNull java.io.FileDescriptor);
+    method public boolean isCacheBehaviorGroup(java.io.File) throws java.io.IOException;
+    method public boolean isCacheBehaviorTombstone(java.io.File) throws java.io.IOException;
+    method public boolean isCheckpointSupported();
+    method public boolean isEncrypted(java.io.File);
+    method public boolean isObbMounted(String);
+    method public boolean mountObb(String, String, android.os.storage.OnObbStateChangeListener);
+    method @NonNull public android.os.ParcelFileDescriptor openProxyFileDescriptor(int, android.os.ProxyFileDescriptorCallback, android.os.Handler) throws java.io.IOException;
+    method public void registerStorageVolumeCallback(@NonNull java.util.concurrent.Executor, @NonNull android.os.storage.StorageManager.StorageVolumeCallback);
+    method public void setCacheBehaviorGroup(java.io.File, boolean) throws java.io.IOException;
+    method public void setCacheBehaviorTombstone(java.io.File, boolean) throws java.io.IOException;
+    method public boolean unmountObb(String, boolean, android.os.storage.OnObbStateChangeListener);
+    method public void unregisterStorageVolumeCallback(@NonNull android.os.storage.StorageManager.StorageVolumeCallback);
+    field @RequiresPermission(android.Manifest.permission.MANAGE_EXTERNAL_STORAGE) public static final String ACTION_CLEAR_APP_CACHE = "android.os.storage.action.CLEAR_APP_CACHE";
+    field public static final String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE";
+    field public static final String EXTRA_REQUESTED_BYTES = "android.os.storage.extra.REQUESTED_BYTES";
+    field public static final String EXTRA_UUID = "android.os.storage.extra.UUID";
+    field public static final java.util.UUID UUID_DEFAULT;
+  }
+
+  public static class StorageManager.StorageVolumeCallback {
+    ctor public StorageManager.StorageVolumeCallback();
+    method public void onStateChanged(@NonNull android.os.storage.StorageVolume);
+  }
+
+  public final class StorageVolume implements android.os.Parcelable {
+    method @Deprecated @Nullable public android.content.Intent createAccessIntent(String);
+    method @NonNull public android.content.Intent createOpenDocumentTreeIntent();
+    method public int describeContents();
+    method public String getDescription(android.content.Context);
+    method @Nullable public java.io.File getDirectory();
+    method @Nullable public String getMediaStoreVolumeName();
+    method public String getState();
+    method @Nullable public java.util.UUID getStorageUuid();
+    method @Nullable public String getUuid();
+    method public boolean isEmulated();
+    method public boolean isPrimary();
+    method public boolean isRemovable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.storage.StorageVolume> CREATOR;
+    field public static final String EXTRA_STORAGE_VOLUME = "android.os.storage.extra.STORAGE_VOLUME";
+  }
+
+}
+
+package android.os.strictmode {
+
+  public final class CleartextNetworkViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class ContentUriWithoutPermissionViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class CredentialProtectedWhileLockedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class CustomViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class DiskReadViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class DiskWriteViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class FileUriExposedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class ImplicitDirectBootViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class IncorrectContextUseViolation extends android.os.strictmode.Violation {
+    ctor public IncorrectContextUseViolation(@NonNull String, @NonNull Throwable);
+  }
+
+  public class InstanceCountViolation extends android.os.strictmode.Violation {
+    method public long getNumberOfInstances();
+  }
+
+  public final class IntentReceiverLeakedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class LeakedClosableViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class NetworkViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class NonSdkApiUsedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class ResourceMismatchViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class ServiceConnectionLeakedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class SqliteObjectLeakedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class UnbufferedIoViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class UnsafeIntentLaunchViolation extends android.os.strictmode.Violation {
+    ctor public UnsafeIntentLaunchViolation(@NonNull android.content.Intent);
+    method @Nullable public android.content.Intent getIntent();
+  }
+
+  public final class UntaggedSocketViolation extends android.os.strictmode.Violation {
+  }
+
+  public abstract class Violation extends java.lang.Throwable {
+  }
+
+  public final class WebViewMethodCalledOnWrongThreadViolation extends android.os.strictmode.Violation {
+  }
+
+}
+
+package android.preference {
+
+  @Deprecated public class CheckBoxPreference extends android.preference.TwoStatePreference {
+    ctor @Deprecated public CheckBoxPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public CheckBoxPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public CheckBoxPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public CheckBoxPreference(android.content.Context);
+  }
+
+  @Deprecated public abstract class DialogPreference extends android.preference.Preference implements android.content.DialogInterface.OnClickListener android.content.DialogInterface.OnDismissListener android.preference.PreferenceManager.OnActivityDestroyListener {
+    ctor @Deprecated public DialogPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public DialogPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public DialogPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public DialogPreference(android.content.Context);
+    method @Deprecated public android.app.Dialog getDialog();
+    method @Deprecated public android.graphics.drawable.Drawable getDialogIcon();
+    method @Deprecated public int getDialogLayoutResource();
+    method @Deprecated public CharSequence getDialogMessage();
+    method @Deprecated public CharSequence getDialogTitle();
+    method @Deprecated public CharSequence getNegativeButtonText();
+    method @Deprecated public CharSequence getPositiveButtonText();
+    method @Deprecated public void onActivityDestroy();
+    method @Deprecated @CallSuper protected void onBindDialogView(android.view.View);
+    method @Deprecated public void onClick(android.content.DialogInterface, int);
+    method @Deprecated protected android.view.View onCreateDialogView();
+    method @Deprecated protected void onDialogClosed(boolean);
+    method @Deprecated public void onDismiss(android.content.DialogInterface);
+    method @Deprecated protected void onPrepareDialogBuilder(android.app.AlertDialog.Builder);
+    method @Deprecated public void setDialogIcon(android.graphics.drawable.Drawable);
+    method @Deprecated public void setDialogIcon(@DrawableRes int);
+    method @Deprecated public void setDialogLayoutResource(int);
+    method @Deprecated public void setDialogMessage(CharSequence);
+    method @Deprecated public void setDialogMessage(int);
+    method @Deprecated public void setDialogTitle(CharSequence);
+    method @Deprecated public void setDialogTitle(int);
+    method @Deprecated public void setNegativeButtonText(CharSequence);
+    method @Deprecated public void setNegativeButtonText(@StringRes int);
+    method @Deprecated public void setPositiveButtonText(CharSequence);
+    method @Deprecated public void setPositiveButtonText(@StringRes int);
+    method @Deprecated protected void showDialog(android.os.Bundle);
+  }
+
+  @Deprecated public class EditTextPreference extends android.preference.DialogPreference {
+    ctor @Deprecated public EditTextPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public EditTextPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public EditTextPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public EditTextPreference(android.content.Context);
+    method @Deprecated public android.widget.EditText getEditText();
+    method @Deprecated public String getText();
+    method @Deprecated protected void onAddEditTextToDialogView(android.view.View, android.widget.EditText);
+    method @Deprecated public void setText(String);
+  }
+
+  @Deprecated public class ListPreference extends android.preference.DialogPreference {
+    ctor @Deprecated public ListPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public ListPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public ListPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public ListPreference(android.content.Context);
+    method @Deprecated public int findIndexOfValue(String);
+    method @Deprecated public CharSequence[] getEntries();
+    method @Deprecated public CharSequence getEntry();
+    method @Deprecated public CharSequence[] getEntryValues();
+    method @Deprecated public String getValue();
+    method @Deprecated public void setEntries(CharSequence[]);
+    method @Deprecated public void setEntries(@ArrayRes int);
+    method @Deprecated public void setEntryValues(CharSequence[]);
+    method @Deprecated public void setEntryValues(@ArrayRes int);
+    method @Deprecated public void setValue(String);
+    method @Deprecated public void setValueIndex(int);
+  }
+
+  @Deprecated public class MultiSelectListPreference extends android.preference.DialogPreference {
+    ctor @Deprecated public MultiSelectListPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public MultiSelectListPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public MultiSelectListPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public MultiSelectListPreference(android.content.Context);
+    method @Deprecated public int findIndexOfValue(String);
+    method @Deprecated public CharSequence[] getEntries();
+    method @Deprecated public CharSequence[] getEntryValues();
+    method @Deprecated public java.util.Set<java.lang.String> getValues();
+    method @Deprecated public void setEntries(CharSequence[]);
+    method @Deprecated public void setEntries(@ArrayRes int);
+    method @Deprecated public void setEntryValues(CharSequence[]);
+    method @Deprecated public void setEntryValues(@ArrayRes int);
+    method @Deprecated public void setValues(java.util.Set<java.lang.String>);
+  }
+
+  @Deprecated public class Preference implements java.lang.Comparable<android.preference.Preference> {
+    ctor @Deprecated public Preference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public Preference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public Preference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public Preference(android.content.Context);
+    method @Deprecated protected boolean callChangeListener(Object);
+    method @Deprecated public int compareTo(android.preference.Preference);
+    method @Deprecated protected android.preference.Preference findPreferenceInHierarchy(String);
+    method @Deprecated public android.content.Context getContext();
+    method @Deprecated public String getDependency();
+    method @Deprecated public android.content.SharedPreferences.Editor getEditor();
+    method @Deprecated public android.os.Bundle getExtras();
+    method @Deprecated public String getFragment();
+    method @Deprecated public android.graphics.drawable.Drawable getIcon();
+    method @Deprecated public android.content.Intent getIntent();
+    method @Deprecated public String getKey();
+    method @Deprecated @LayoutRes public int getLayoutResource();
+    method @Deprecated public android.preference.Preference.OnPreferenceChangeListener getOnPreferenceChangeListener();
+    method @Deprecated public android.preference.Preference.OnPreferenceClickListener getOnPreferenceClickListener();
+    method @Deprecated public int getOrder();
+    method @Deprecated @Nullable public android.preference.PreferenceGroup getParent();
+    method @Deprecated protected boolean getPersistedBoolean(boolean);
+    method @Deprecated protected float getPersistedFloat(float);
+    method @Deprecated protected int getPersistedInt(int);
+    method @Deprecated protected long getPersistedLong(long);
+    method @Deprecated protected String getPersistedString(String);
+    method @Deprecated public java.util.Set<java.lang.String> getPersistedStringSet(java.util.Set<java.lang.String>);
+    method @Deprecated @Nullable public android.preference.PreferenceDataStore getPreferenceDataStore();
+    method @Deprecated public android.preference.PreferenceManager getPreferenceManager();
+    method @Deprecated public android.content.SharedPreferences getSharedPreferences();
+    method @Deprecated public boolean getShouldDisableView();
+    method @Deprecated public CharSequence getSummary();
+    method @Deprecated public CharSequence getTitle();
+    method @Deprecated @StringRes public int getTitleRes();
+    method @Deprecated public android.view.View getView(android.view.View, android.view.ViewGroup);
+    method @Deprecated @LayoutRes public int getWidgetLayoutResource();
+    method @Deprecated public boolean hasKey();
+    method @Deprecated public boolean isEnabled();
+    method @Deprecated public boolean isIconSpaceReserved();
+    method @Deprecated public boolean isPersistent();
+    method @Deprecated public boolean isRecycleEnabled();
+    method @Deprecated public boolean isSelectable();
+    method @Deprecated public boolean isSingleLineTitle();
+    method @Deprecated protected void notifyChanged();
+    method @Deprecated public void notifyDependencyChange(boolean);
+    method @Deprecated protected void notifyHierarchyChanged();
+    method @Deprecated protected void onAttachedToActivity();
+    method @Deprecated protected void onAttachedToHierarchy(android.preference.PreferenceManager);
+    method @Deprecated @CallSuper protected void onBindView(android.view.View);
+    method @Deprecated protected void onClick();
+    method @Deprecated @CallSuper protected android.view.View onCreateView(android.view.ViewGroup);
+    method @Deprecated public void onDependencyChanged(android.preference.Preference, boolean);
+    method @Deprecated protected Object onGetDefaultValue(android.content.res.TypedArray, int);
+    method @Deprecated public void onParentChanged(android.preference.Preference, boolean);
+    method @Deprecated @CallSuper protected void onPrepareForRemoval();
+    method @Deprecated protected void onRestoreInstanceState(android.os.Parcelable);
+    method @Deprecated protected android.os.Parcelable onSaveInstanceState();
+    method @Deprecated protected void onSetInitialValue(boolean, Object);
+    method @Deprecated public android.os.Bundle peekExtras();
+    method @Deprecated protected boolean persistBoolean(boolean);
+    method @Deprecated protected boolean persistFloat(float);
+    method @Deprecated protected boolean persistInt(int);
+    method @Deprecated protected boolean persistLong(long);
+    method @Deprecated protected boolean persistString(String);
+    method @Deprecated public boolean persistStringSet(java.util.Set<java.lang.String>);
+    method @Deprecated public void restoreHierarchyState(android.os.Bundle);
+    method @Deprecated public void saveHierarchyState(android.os.Bundle);
+    method @Deprecated public void setDefaultValue(Object);
+    method @Deprecated public void setDependency(String);
+    method @Deprecated public void setEnabled(boolean);
+    method @Deprecated public void setFragment(String);
+    method @Deprecated public void setIcon(android.graphics.drawable.Drawable);
+    method @Deprecated public void setIcon(@DrawableRes int);
+    method @Deprecated public void setIconSpaceReserved(boolean);
+    method @Deprecated public void setIntent(android.content.Intent);
+    method @Deprecated public void setKey(String);
+    method @Deprecated public void setLayoutResource(@LayoutRes int);
+    method @Deprecated public void setOnPreferenceChangeListener(android.preference.Preference.OnPreferenceChangeListener);
+    method @Deprecated public void setOnPreferenceClickListener(android.preference.Preference.OnPreferenceClickListener);
+    method @Deprecated public void setOrder(int);
+    method @Deprecated public void setPersistent(boolean);
+    method @Deprecated public void setPreferenceDataStore(android.preference.PreferenceDataStore);
+    method @Deprecated @CallSuper public void setRecycleEnabled(boolean);
+    method @Deprecated public void setSelectable(boolean);
+    method @Deprecated public void setShouldDisableView(boolean);
+    method @Deprecated public void setSingleLineTitle(boolean);
+    method @Deprecated public void setSummary(CharSequence);
+    method @Deprecated public void setSummary(@StringRes int);
+    method @Deprecated public void setTitle(CharSequence);
+    method @Deprecated public void setTitle(@StringRes int);
+    method @Deprecated public void setWidgetLayoutResource(@LayoutRes int);
+    method @Deprecated public boolean shouldCommit();
+    method @Deprecated public boolean shouldDisableDependents();
+    method @Deprecated protected boolean shouldPersist();
+    field @Deprecated public static final int DEFAULT_ORDER = 2147483647; // 0x7fffffff
+  }
+
+  @Deprecated public static class Preference.BaseSavedState extends android.view.AbsSavedState {
+    ctor @Deprecated public Preference.BaseSavedState(android.os.Parcel);
+    ctor @Deprecated public Preference.BaseSavedState(android.os.Parcelable);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.preference.Preference.BaseSavedState> CREATOR;
+  }
+
+  @Deprecated public static interface Preference.OnPreferenceChangeListener {
+    method @Deprecated public boolean onPreferenceChange(android.preference.Preference, Object);
+  }
+
+  @Deprecated public static interface Preference.OnPreferenceClickListener {
+    method @Deprecated public boolean onPreferenceClick(android.preference.Preference);
+  }
+
+  @Deprecated public abstract class PreferenceActivity extends android.app.ListActivity implements android.preference.PreferenceFragment.OnPreferenceStartFragmentCallback {
+    ctor @Deprecated public PreferenceActivity();
+    method @Deprecated public void addPreferencesFromIntent(android.content.Intent);
+    method @Deprecated public void addPreferencesFromResource(int);
+    method @Deprecated public android.preference.Preference findPreference(CharSequence);
+    method @Deprecated public void finishPreferencePanel(android.app.Fragment, int, android.content.Intent);
+    method @Deprecated public android.preference.PreferenceManager getPreferenceManager();
+    method @Deprecated public android.preference.PreferenceScreen getPreferenceScreen();
+    method @Deprecated public boolean hasHeaders();
+    method @Deprecated public void invalidateHeaders();
+    method @Deprecated public boolean isMultiPane();
+    method @Deprecated protected boolean isValidFragment(String);
+    method @Deprecated public void loadHeadersFromResource(@XmlRes int, java.util.List<android.preference.PreferenceActivity.Header>);
+    method @Deprecated public void onBuildHeaders(java.util.List<android.preference.PreferenceActivity.Header>);
+    method @Deprecated public android.content.Intent onBuildStartFragmentIntent(String, android.os.Bundle, @StringRes int, int);
+    method @Deprecated public android.preference.PreferenceActivity.Header onGetInitialHeader();
+    method @Deprecated public android.preference.PreferenceActivity.Header onGetNewHeader();
+    method @Deprecated public void onHeaderClick(android.preference.PreferenceActivity.Header, int);
+    method @Deprecated public boolean onIsHidingHeaders();
+    method @Deprecated public boolean onIsMultiPane();
+    method @Deprecated public boolean onPreferenceStartFragment(android.preference.PreferenceFragment, android.preference.Preference);
+    method @Deprecated public boolean onPreferenceTreeClick(android.preference.PreferenceScreen, android.preference.Preference);
+    method @Deprecated public void setListFooter(android.view.View);
+    method @Deprecated public void setParentTitle(CharSequence, CharSequence, android.view.View.OnClickListener);
+    method @Deprecated public void setPreferenceScreen(android.preference.PreferenceScreen);
+    method @Deprecated public void showBreadCrumbs(CharSequence, CharSequence);
+    method @Deprecated public void startPreferenceFragment(android.app.Fragment, boolean);
+    method @Deprecated public void startPreferencePanel(String, android.os.Bundle, @StringRes int, CharSequence, android.app.Fragment, int);
+    method @Deprecated public void startWithFragment(String, android.os.Bundle, android.app.Fragment, int);
+    method @Deprecated public void startWithFragment(String, android.os.Bundle, android.app.Fragment, int, @StringRes int, @StringRes int);
+    method @Deprecated public void switchToHeader(String, android.os.Bundle);
+    method @Deprecated public void switchToHeader(android.preference.PreferenceActivity.Header);
+    field @Deprecated public static final String EXTRA_NO_HEADERS = ":android:no_headers";
+    field @Deprecated public static final String EXTRA_SHOW_FRAGMENT = ":android:show_fragment";
+    field @Deprecated public static final String EXTRA_SHOW_FRAGMENT_ARGUMENTS = ":android:show_fragment_args";
+    field @Deprecated public static final String EXTRA_SHOW_FRAGMENT_SHORT_TITLE = ":android:show_fragment_short_title";
+    field @Deprecated public static final String EXTRA_SHOW_FRAGMENT_TITLE = ":android:show_fragment_title";
+    field @Deprecated public static final long HEADER_ID_UNDEFINED = -1L; // 0xffffffffffffffffL
+  }
+
+  @Deprecated public static final class PreferenceActivity.Header implements android.os.Parcelable {
+    ctor @Deprecated public PreferenceActivity.Header();
+    method @Deprecated public int describeContents();
+    method @Deprecated public CharSequence getBreadCrumbShortTitle(android.content.res.Resources);
+    method @Deprecated public CharSequence getBreadCrumbTitle(android.content.res.Resources);
+    method @Deprecated public CharSequence getSummary(android.content.res.Resources);
+    method @Deprecated public CharSequence getTitle(android.content.res.Resources);
+    method @Deprecated public void readFromParcel(android.os.Parcel);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.preference.PreferenceActivity.Header> CREATOR;
+    field @Deprecated public CharSequence breadCrumbShortTitle;
+    field @Deprecated @StringRes public int breadCrumbShortTitleRes;
+    field @Deprecated public CharSequence breadCrumbTitle;
+    field @Deprecated @StringRes public int breadCrumbTitleRes;
+    field @Deprecated public android.os.Bundle extras;
+    field @Deprecated public String fragment;
+    field @Deprecated public android.os.Bundle fragmentArguments;
+    field @Deprecated public int iconRes;
+    field @Deprecated public long id;
+    field @Deprecated public android.content.Intent intent;
+    field @Deprecated public CharSequence summary;
+    field @Deprecated @StringRes public int summaryRes;
+    field @Deprecated public CharSequence title;
+    field @Deprecated @StringRes public int titleRes;
+  }
+
+  @Deprecated public class PreferenceCategory extends android.preference.PreferenceGroup {
+    ctor @Deprecated public PreferenceCategory(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public PreferenceCategory(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public PreferenceCategory(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public PreferenceCategory(android.content.Context);
+  }
+
+  @Deprecated public interface PreferenceDataStore {
+    method @Deprecated public default boolean getBoolean(String, boolean);
+    method @Deprecated public default float getFloat(String, float);
+    method @Deprecated public default int getInt(String, int);
+    method @Deprecated public default long getLong(String, long);
+    method @Deprecated @Nullable public default String getString(String, @Nullable String);
+    method @Deprecated @Nullable public default java.util.Set<java.lang.String> getStringSet(String, @Nullable java.util.Set<java.lang.String>);
+    method @Deprecated public default void putBoolean(String, boolean);
+    method @Deprecated public default void putFloat(String, float);
+    method @Deprecated public default void putInt(String, int);
+    method @Deprecated public default void putLong(String, long);
+    method @Deprecated public default void putString(String, @Nullable String);
+    method @Deprecated public default void putStringSet(String, @Nullable java.util.Set<java.lang.String>);
+  }
+
+  @Deprecated public abstract class PreferenceFragment extends android.app.Fragment {
+    ctor @Deprecated public PreferenceFragment();
+    method @Deprecated public void addPreferencesFromIntent(android.content.Intent);
+    method @Deprecated public void addPreferencesFromResource(@XmlRes int);
+    method @Deprecated public android.preference.Preference findPreference(CharSequence);
+    method @Deprecated public android.preference.PreferenceManager getPreferenceManager();
+    method @Deprecated public android.preference.PreferenceScreen getPreferenceScreen();
+    method @Deprecated public boolean onPreferenceTreeClick(android.preference.PreferenceScreen, android.preference.Preference);
+    method @Deprecated public void setPreferenceScreen(android.preference.PreferenceScreen);
+  }
+
+  @Deprecated public static interface PreferenceFragment.OnPreferenceStartFragmentCallback {
+    method @Deprecated public boolean onPreferenceStartFragment(android.preference.PreferenceFragment, android.preference.Preference);
+  }
+
+  @Deprecated public abstract class PreferenceGroup extends android.preference.Preference {
+    ctor @Deprecated public PreferenceGroup(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public PreferenceGroup(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public PreferenceGroup(android.content.Context, android.util.AttributeSet);
+    method @Deprecated public void addItemFromInflater(android.preference.Preference);
+    method @Deprecated public boolean addPreference(android.preference.Preference);
+    method @Deprecated protected void dispatchRestoreInstanceState(android.os.Bundle);
+    method @Deprecated protected void dispatchSaveInstanceState(android.os.Bundle);
+    method @Deprecated public android.preference.Preference findPreference(CharSequence);
+    method @Deprecated public android.preference.Preference getPreference(int);
+    method @Deprecated public int getPreferenceCount();
+    method @Deprecated protected boolean isOnSameScreenAsChildren();
+    method @Deprecated public boolean isOrderingAsAdded();
+    method @Deprecated protected boolean onPrepareAddPreference(android.preference.Preference);
+    method @Deprecated public void removeAll();
+    method @Deprecated public boolean removePreference(android.preference.Preference);
+    method @Deprecated public void setOrderingAsAdded(boolean);
+  }
+
+  @Deprecated public class PreferenceManager {
+    method @Deprecated public android.preference.PreferenceScreen createPreferenceScreen(android.content.Context);
+    method @Deprecated @Nullable public android.preference.Preference findPreference(CharSequence);
+    method @Deprecated public static android.content.SharedPreferences getDefaultSharedPreferences(android.content.Context);
+    method @Deprecated public static String getDefaultSharedPreferencesName(android.content.Context);
+    method @Deprecated @Nullable public android.preference.PreferenceDataStore getPreferenceDataStore();
+    method @Deprecated public android.content.SharedPreferences getSharedPreferences();
+    method @Deprecated public int getSharedPreferencesMode();
+    method @Deprecated public String getSharedPreferencesName();
+    method @Deprecated public boolean isStorageDefault();
+    method @Deprecated public boolean isStorageDeviceProtected();
+    method @Deprecated public static void setDefaultValues(android.content.Context, @XmlRes int, boolean);
+    method @Deprecated public static void setDefaultValues(android.content.Context, String, int, int, boolean);
+    method @Deprecated public void setPreferenceDataStore(android.preference.PreferenceDataStore);
+    method @Deprecated public void setSharedPreferencesMode(int);
+    method @Deprecated public void setSharedPreferencesName(String);
+    method @Deprecated public void setStorageDefault();
+    method @Deprecated public void setStorageDeviceProtected();
+    field @Deprecated public static final String KEY_HAS_SET_DEFAULT_VALUES = "_has_set_default_values";
+    field @Deprecated public static final String METADATA_KEY_PREFERENCES = "android.preference";
+  }
+
+  @Deprecated public static interface PreferenceManager.OnActivityDestroyListener {
+    method @Deprecated public void onActivityDestroy();
+  }
+
+  @Deprecated public static interface PreferenceManager.OnActivityResultListener {
+    method @Deprecated public boolean onActivityResult(int, int, android.content.Intent);
+  }
+
+  @Deprecated public static interface PreferenceManager.OnActivityStopListener {
+    method @Deprecated public void onActivityStop();
+  }
+
+  @Deprecated public final class PreferenceScreen extends android.preference.PreferenceGroup implements android.widget.AdapterView.OnItemClickListener android.content.DialogInterface.OnDismissListener {
+    method @Deprecated public void bind(android.widget.ListView);
+    method @Deprecated public android.app.Dialog getDialog();
+    method @Deprecated public android.widget.ListAdapter getRootAdapter();
+    method @Deprecated protected android.widget.ListAdapter onCreateRootAdapter();
+    method @Deprecated public void onDismiss(android.content.DialogInterface);
+    method @Deprecated public void onItemClick(android.widget.AdapterView, android.view.View, int, long);
+  }
+
+  @Deprecated public class RingtonePreference extends android.preference.Preference implements android.preference.PreferenceManager.OnActivityResultListener {
+    ctor @Deprecated public RingtonePreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public RingtonePreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public RingtonePreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public RingtonePreference(android.content.Context);
+    method @Deprecated public int getRingtoneType();
+    method @Deprecated public boolean getShowDefault();
+    method @Deprecated public boolean getShowSilent();
+    method @Deprecated public boolean onActivityResult(int, int, android.content.Intent);
+    method @Deprecated protected void onPrepareRingtonePickerIntent(android.content.Intent);
+    method @Deprecated protected android.net.Uri onRestoreRingtone();
+    method @Deprecated protected void onSaveRingtone(android.net.Uri);
+    method @Deprecated public void setRingtoneType(int);
+    method @Deprecated public void setShowDefault(boolean);
+    method @Deprecated public void setShowSilent(boolean);
+  }
+
+  @Deprecated public class SwitchPreference extends android.preference.TwoStatePreference {
+    ctor @Deprecated public SwitchPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public SwitchPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public SwitchPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public SwitchPreference(android.content.Context);
+    method @Deprecated public CharSequence getSwitchTextOff();
+    method @Deprecated public CharSequence getSwitchTextOn();
+    method @Deprecated public void setSwitchTextOff(CharSequence);
+    method @Deprecated public void setSwitchTextOff(@StringRes int);
+    method @Deprecated public void setSwitchTextOn(CharSequence);
+    method @Deprecated public void setSwitchTextOn(@StringRes int);
+  }
+
+  @Deprecated public abstract class TwoStatePreference extends android.preference.Preference {
+    ctor @Deprecated public TwoStatePreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public TwoStatePreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public TwoStatePreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public TwoStatePreference(android.content.Context);
+    method @Deprecated public boolean getDisableDependentsState();
+    method @Deprecated public CharSequence getSummaryOff();
+    method @Deprecated public CharSequence getSummaryOn();
+    method @Deprecated public boolean isChecked();
+    method @Deprecated public void setChecked(boolean);
+    method @Deprecated public void setDisableDependentsState(boolean);
+    method @Deprecated public void setSummaryOff(CharSequence);
+    method @Deprecated public void setSummaryOff(@StringRes int);
+    method @Deprecated public void setSummaryOn(CharSequence);
+    method @Deprecated public void setSummaryOn(@StringRes int);
+  }
+
+}
+
+package android.print {
+
+  public final class PageRange implements android.os.Parcelable {
+    ctor public PageRange(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public int describeContents();
+    method @IntRange(from=0) public int getEnd();
+    method @IntRange(from=0) public int getStart();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.print.PageRange ALL_PAGES;
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PageRange> CREATOR;
+  }
+
+  public final class PrintAttributes implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0) public int getColorMode();
+    method @IntRange(from=0) public int getDuplexMode();
+    method @Nullable public android.print.PrintAttributes.MediaSize getMediaSize();
+    method @Nullable public android.print.PrintAttributes.Margins getMinMargins();
+    method @Nullable public android.print.PrintAttributes.Resolution getResolution();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int COLOR_MODE_COLOR = 2; // 0x2
+    field public static final int COLOR_MODE_MONOCHROME = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintAttributes> CREATOR;
+    field public static final int DUPLEX_MODE_LONG_EDGE = 2; // 0x2
+    field public static final int DUPLEX_MODE_NONE = 1; // 0x1
+    field public static final int DUPLEX_MODE_SHORT_EDGE = 4; // 0x4
+  }
+
+  public static final class PrintAttributes.Builder {
+    ctor public PrintAttributes.Builder();
+    method @NonNull public android.print.PrintAttributes build();
+    method @NonNull public android.print.PrintAttributes.Builder setColorMode(int);
+    method @NonNull public android.print.PrintAttributes.Builder setDuplexMode(int);
+    method @NonNull public android.print.PrintAttributes.Builder setMediaSize(@NonNull android.print.PrintAttributes.MediaSize);
+    method @NonNull public android.print.PrintAttributes.Builder setMinMargins(@NonNull android.print.PrintAttributes.Margins);
+    method @NonNull public android.print.PrintAttributes.Builder setResolution(@NonNull android.print.PrintAttributes.Resolution);
+  }
+
+  public static final class PrintAttributes.Margins {
+    ctor public PrintAttributes.Margins(int, int, int, int);
+    method public int getBottomMils();
+    method public int getLeftMils();
+    method public int getRightMils();
+    method public int getTopMils();
+    field public static final android.print.PrintAttributes.Margins NO_MARGINS;
+  }
+
+  public static final class PrintAttributes.MediaSize {
+    ctor public PrintAttributes.MediaSize(@NonNull String, @NonNull String, @IntRange(from=1) int, @IntRange(from=1) int);
+    method @NonNull public android.print.PrintAttributes.MediaSize asLandscape();
+    method @NonNull public android.print.PrintAttributes.MediaSize asPortrait();
+    method @IntRange(from=1) public int getHeightMils();
+    method @NonNull public String getId();
+    method @NonNull public String getLabel(@NonNull android.content.pm.PackageManager);
+    method @IntRange(from=1) public int getWidthMils();
+    method public boolean isPortrait();
+    field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_C;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_D;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_E;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_F;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A0;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A1;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A10;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A2;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A3;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A4;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A5;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A6;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A7;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A8;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A9;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B0;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B1;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B10;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B2;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B3;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B4;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B5;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B6;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B7;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B8;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B9;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C0;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C1;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C10;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C2;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C3;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C4;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C5;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C6;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C7;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C8;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C9;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B0;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B1;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B10;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B2;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B3;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B4;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B5;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B6;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B7;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B8;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B9;
+    field public static final android.print.PrintAttributes.MediaSize JIS_EXEC;
+    field public static final android.print.PrintAttributes.MediaSize JPN_CHOU2;
+    field public static final android.print.PrintAttributes.MediaSize JPN_CHOU3;
+    field public static final android.print.PrintAttributes.MediaSize JPN_CHOU4;
+    field public static final android.print.PrintAttributes.MediaSize JPN_HAGAKI;
+    field public static final android.print.PrintAttributes.MediaSize JPN_KAHU;
+    field public static final android.print.PrintAttributes.MediaSize JPN_KAKU2;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize JPN_OE_PHOTO_L;
+    field public static final android.print.PrintAttributes.MediaSize JPN_OUFUKU;
+    field public static final android.print.PrintAttributes.MediaSize JPN_YOU4;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_A;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_B;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_C;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_D;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_E;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_E1;
+    field public static final android.print.PrintAttributes.MediaSize NA_FOOLSCAP;
+    field public static final android.print.PrintAttributes.MediaSize NA_GOVT_LETTER;
+    field public static final android.print.PrintAttributes.MediaSize NA_INDEX_3X5;
+    field public static final android.print.PrintAttributes.MediaSize NA_INDEX_4X6;
+    field public static final android.print.PrintAttributes.MediaSize NA_INDEX_5X8;
+    field public static final android.print.PrintAttributes.MediaSize NA_JUNIOR_LEGAL;
+    field public static final android.print.PrintAttributes.MediaSize NA_LEDGER;
+    field public static final android.print.PrintAttributes.MediaSize NA_LEGAL;
+    field public static final android.print.PrintAttributes.MediaSize NA_LETTER;
+    field public static final android.print.PrintAttributes.MediaSize NA_MONARCH;
+    field public static final android.print.PrintAttributes.MediaSize NA_QUARTO;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_SUPER_B;
+    field public static final android.print.PrintAttributes.MediaSize NA_TABLOID;
+    field public static final android.print.PrintAttributes.MediaSize OM_DAI_PA_KAI;
+    field public static final android.print.PrintAttributes.MediaSize OM_JUURO_KU_KAI;
+    field public static final android.print.PrintAttributes.MediaSize OM_PA_KAI;
+    field public static final android.print.PrintAttributes.MediaSize PRC_1;
+    field public static final android.print.PrintAttributes.MediaSize PRC_10;
+    field public static final android.print.PrintAttributes.MediaSize PRC_16K;
+    field public static final android.print.PrintAttributes.MediaSize PRC_2;
+    field public static final android.print.PrintAttributes.MediaSize PRC_3;
+    field public static final android.print.PrintAttributes.MediaSize PRC_4;
+    field public static final android.print.PrintAttributes.MediaSize PRC_5;
+    field public static final android.print.PrintAttributes.MediaSize PRC_6;
+    field public static final android.print.PrintAttributes.MediaSize PRC_7;
+    field public static final android.print.PrintAttributes.MediaSize PRC_8;
+    field public static final android.print.PrintAttributes.MediaSize PRC_9;
+    field public static final android.print.PrintAttributes.MediaSize ROC_16K;
+    field public static final android.print.PrintAttributes.MediaSize ROC_8K;
+    field public static final android.print.PrintAttributes.MediaSize UNKNOWN_LANDSCAPE;
+    field public static final android.print.PrintAttributes.MediaSize UNKNOWN_PORTRAIT;
+  }
+
+  public static final class PrintAttributes.Resolution {
+    ctor public PrintAttributes.Resolution(@NonNull String, @NonNull String, @IntRange(from=1) int, @IntRange(from=1) int);
+    method @IntRange(from=1) public int getHorizontalDpi();
+    method @NonNull public String getId();
+    method @NonNull public String getLabel();
+    method @IntRange(from=1) public int getVerticalDpi();
+  }
+
+  public abstract class PrintDocumentAdapter {
+    ctor public PrintDocumentAdapter();
+    method public void onFinish();
+    method public abstract void onLayout(android.print.PrintAttributes, android.print.PrintAttributes, android.os.CancellationSignal, android.print.PrintDocumentAdapter.LayoutResultCallback, android.os.Bundle);
+    method public void onStart();
+    method public abstract void onWrite(android.print.PageRange[], android.os.ParcelFileDescriptor, android.os.CancellationSignal, android.print.PrintDocumentAdapter.WriteResultCallback);
+    field public static final String EXTRA_PRINT_PREVIEW = "EXTRA_PRINT_PREVIEW";
+  }
+
+  public abstract static class PrintDocumentAdapter.LayoutResultCallback {
+    method public void onLayoutCancelled();
+    method public void onLayoutFailed(CharSequence);
+    method public void onLayoutFinished(android.print.PrintDocumentInfo, boolean);
+  }
+
+  public abstract static class PrintDocumentAdapter.WriteResultCallback {
+    method public void onWriteCancelled();
+    method public void onWriteFailed(CharSequence);
+    method public void onWriteFinished(android.print.PageRange[]);
+  }
+
+  public final class PrintDocumentInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getContentType();
+    method @IntRange(from=0) public long getDataSize();
+    method @NonNull public String getName();
+    method @IntRange(from=0xffffffff) public int getPageCount();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CONTENT_TYPE_DOCUMENT = 0; // 0x0
+    field public static final int CONTENT_TYPE_PHOTO = 1; // 0x1
+    field public static final int CONTENT_TYPE_UNKNOWN = -1; // 0xffffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintDocumentInfo> CREATOR;
+    field public static final int PAGE_COUNT_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public static final class PrintDocumentInfo.Builder {
+    ctor public PrintDocumentInfo.Builder(@NonNull String);
+    method @NonNull public android.print.PrintDocumentInfo build();
+    method @NonNull public android.print.PrintDocumentInfo.Builder setContentType(int);
+    method @NonNull public android.print.PrintDocumentInfo.Builder setPageCount(@IntRange(from=0xffffffff) int);
+  }
+
+  public final class PrintJob {
+    method public void cancel();
+    method @Nullable public android.print.PrintJobId getId();
+    method @NonNull public android.print.PrintJobInfo getInfo();
+    method public boolean isBlocked();
+    method public boolean isCancelled();
+    method public boolean isCompleted();
+    method public boolean isFailed();
+    method public boolean isQueued();
+    method public boolean isStarted();
+    method public void restart();
+  }
+
+  public final class PrintJobId implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintJobId> CREATOR;
+  }
+
+  public final class PrintJobInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAdvancedIntOption(String);
+    method public String getAdvancedStringOption(String);
+    method @NonNull public android.print.PrintAttributes getAttributes();
+    method @IntRange(from=0) public int getCopies();
+    method public long getCreationTime();
+    method @Nullable public android.print.PrintJobId getId();
+    method @NonNull public String getLabel();
+    method @Nullable public android.print.PageRange[] getPages();
+    method @Nullable public android.print.PrinterId getPrinterId();
+    method public int getState();
+    method public boolean hasAdvancedOption(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintJobInfo> CREATOR;
+    field public static final int STATE_BLOCKED = 4; // 0x4
+    field public static final int STATE_CANCELED = 7; // 0x7
+    field public static final int STATE_COMPLETED = 5; // 0x5
+    field public static final int STATE_CREATED = 1; // 0x1
+    field public static final int STATE_FAILED = 6; // 0x6
+    field public static final int STATE_QUEUED = 2; // 0x2
+    field public static final int STATE_STARTED = 3; // 0x3
+  }
+
+  public static final class PrintJobInfo.Builder {
+    ctor public PrintJobInfo.Builder(@Nullable android.print.PrintJobInfo);
+    method @NonNull public android.print.PrintJobInfo build();
+    method public void putAdvancedOption(@NonNull String, @Nullable String);
+    method public void putAdvancedOption(@NonNull String, int);
+    method public void setAttributes(@NonNull android.print.PrintAttributes);
+    method public void setCopies(@IntRange(from=1) int);
+    method public void setPages(@NonNull android.print.PageRange[]);
+  }
+
+  public final class PrintManager {
+    method @NonNull public java.util.List<android.print.PrintJob> getPrintJobs();
+    method @NonNull public android.print.PrintJob print(@NonNull String, @NonNull android.print.PrintDocumentAdapter, @Nullable android.print.PrintAttributes);
+  }
+
+  public final class PrinterCapabilitiesInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getColorModes();
+    method @NonNull public android.print.PrintAttributes getDefaults();
+    method public int getDuplexModes();
+    method @NonNull public java.util.List<android.print.PrintAttributes.MediaSize> getMediaSizes();
+    method @NonNull public android.print.PrintAttributes.Margins getMinMargins();
+    method @NonNull public java.util.List<android.print.PrintAttributes.Resolution> getResolutions();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrinterCapabilitiesInfo> CREATOR;
+  }
+
+  public static final class PrinterCapabilitiesInfo.Builder {
+    ctor public PrinterCapabilitiesInfo.Builder(@NonNull android.print.PrinterId);
+    method @NonNull public android.print.PrinterCapabilitiesInfo.Builder addMediaSize(@NonNull android.print.PrintAttributes.MediaSize, boolean);
+    method @NonNull public android.print.PrinterCapabilitiesInfo.Builder addResolution(@NonNull android.print.PrintAttributes.Resolution, boolean);
+    method @NonNull public android.print.PrinterCapabilitiesInfo build();
+    method @NonNull public android.print.PrinterCapabilitiesInfo.Builder setColorModes(int, int);
+    method @NonNull public android.print.PrinterCapabilitiesInfo.Builder setDuplexModes(int, int);
+    method @NonNull public android.print.PrinterCapabilitiesInfo.Builder setMinMargins(@NonNull android.print.PrintAttributes.Margins);
+  }
+
+  public final class PrinterId implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getLocalId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrinterId> CREATOR;
+  }
+
+  public final class PrinterInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.print.PrinterCapabilitiesInfo getCapabilities();
+    method @Nullable public String getDescription();
+    method @NonNull public android.print.PrinterId getId();
+    method @NonNull public String getName();
+    method public int getStatus();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrinterInfo> CREATOR;
+    field public static final int STATUS_BUSY = 2; // 0x2
+    field public static final int STATUS_IDLE = 1; // 0x1
+    field public static final int STATUS_UNAVAILABLE = 3; // 0x3
+  }
+
+  public static final class PrinterInfo.Builder {
+    ctor public PrinterInfo.Builder(@NonNull android.print.PrinterId, @NonNull String, int);
+    ctor public PrinterInfo.Builder(@NonNull android.print.PrinterInfo);
+    method @NonNull public android.print.PrinterInfo build();
+    method @NonNull public android.print.PrinterInfo.Builder setCapabilities(@NonNull android.print.PrinterCapabilitiesInfo);
+    method @NonNull public android.print.PrinterInfo.Builder setDescription(@NonNull String);
+    method @NonNull public android.print.PrinterInfo.Builder setHasCustomPrinterIcon(boolean);
+    method @NonNull public android.print.PrinterInfo.Builder setIconResourceId(@DrawableRes int);
+    method @NonNull public android.print.PrinterInfo.Builder setInfoIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.print.PrinterInfo.Builder setName(@NonNull String);
+    method @NonNull public android.print.PrinterInfo.Builder setStatus(int);
+  }
+
+}
+
+package android.print.pdf {
+
+  public class PrintedPdfDocument extends android.graphics.pdf.PdfDocument {
+    ctor public PrintedPdfDocument(@NonNull android.content.Context, @NonNull android.print.PrintAttributes);
+    method @NonNull public android.graphics.Rect getPageContentRect();
+    method @IntRange(from=0) public int getPageHeight();
+    method @IntRange(from=0) public int getPageWidth();
+    method @NonNull public android.graphics.pdf.PdfDocument.Page startPage(@IntRange(from=0) int);
+  }
+
+}
+
+package android.printservice {
+
+  public final class CustomPrinterIconCallback {
+    method public boolean onCustomPrinterIconLoaded(@Nullable android.graphics.drawable.Icon);
+  }
+
+  public final class PrintDocument {
+    method @Nullable public android.os.ParcelFileDescriptor getData();
+    method @NonNull public android.print.PrintDocumentInfo getInfo();
+  }
+
+  public final class PrintJob {
+    method @MainThread public boolean block(@Nullable String);
+    method @MainThread public boolean cancel();
+    method @MainThread public boolean complete();
+    method @MainThread public boolean fail(@Nullable String);
+    method @MainThread public int getAdvancedIntOption(String);
+    method @MainThread public String getAdvancedStringOption(String);
+    method @MainThread @NonNull public android.printservice.PrintDocument getDocument();
+    method @MainThread public android.print.PrintJobId getId();
+    method @MainThread @NonNull public android.print.PrintJobInfo getInfo();
+    method @MainThread @Nullable public String getTag();
+    method @MainThread public boolean hasAdvancedOption(String);
+    method @MainThread public boolean isBlocked();
+    method @MainThread public boolean isCancelled();
+    method @MainThread public boolean isCompleted();
+    method @MainThread public boolean isFailed();
+    method @MainThread public boolean isQueued();
+    method @MainThread public boolean isStarted();
+    method @MainThread public void setProgress(@FloatRange(from=0.0, to=1.0) float);
+    method @MainThread public void setStatus(@Nullable CharSequence);
+    method @MainThread public void setStatus(@StringRes int);
+    method @MainThread public boolean setTag(@NonNull String);
+    method @MainThread public boolean start();
+  }
+
+  public abstract class PrintService extends android.app.Service {
+    ctor public PrintService();
+    method protected final void attachBaseContext(android.content.Context);
+    method @NonNull public final android.print.PrinterId generatePrinterId(String);
+    method public final java.util.List<android.printservice.PrintJob> getActivePrintJobs();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method protected void onConnected();
+    method @Nullable protected abstract android.printservice.PrinterDiscoverySession onCreatePrinterDiscoverySession();
+    method protected void onDisconnected();
+    method protected abstract void onPrintJobQueued(android.printservice.PrintJob);
+    method protected abstract void onRequestCancelPrintJob(android.printservice.PrintJob);
+    field public static final String EXTRA_CAN_SELECT_PRINTER = "android.printservice.extra.CAN_SELECT_PRINTER";
+    field public static final String EXTRA_PRINTER_INFO = "android.intent.extra.print.EXTRA_PRINTER_INFO";
+    field public static final String EXTRA_PRINT_DOCUMENT_INFO = "android.printservice.extra.PRINT_DOCUMENT_INFO";
+    field public static final String EXTRA_PRINT_JOB_INFO = "android.intent.extra.print.PRINT_JOB_INFO";
+    field public static final String EXTRA_SELECT_PRINTER = "android.printservice.extra.SELECT_PRINTER";
+    field public static final String SERVICE_INTERFACE = "android.printservice.PrintService";
+    field public static final String SERVICE_META_DATA = "android.printservice";
+  }
+
+  public abstract class PrinterDiscoverySession {
+    ctor public PrinterDiscoverySession();
+    method public final void addPrinters(@NonNull java.util.List<android.print.PrinterInfo>);
+    method @NonNull public final java.util.List<android.print.PrinterInfo> getPrinters();
+    method @NonNull public final java.util.List<android.print.PrinterId> getTrackedPrinters();
+    method public final boolean isDestroyed();
+    method public final boolean isPrinterDiscoveryStarted();
+    method public abstract void onDestroy();
+    method public void onRequestCustomPrinterIcon(@NonNull android.print.PrinterId, @NonNull android.os.CancellationSignal, @NonNull android.printservice.CustomPrinterIconCallback);
+    method public abstract void onStartPrinterDiscovery(@NonNull java.util.List<android.print.PrinterId>);
+    method public abstract void onStartPrinterStateTracking(@NonNull android.print.PrinterId);
+    method public abstract void onStopPrinterDiscovery();
+    method public abstract void onStopPrinterStateTracking(@NonNull android.print.PrinterId);
+    method public abstract void onValidatePrinters(@NonNull java.util.List<android.print.PrinterId>);
+    method public final void removePrinters(@NonNull java.util.List<android.print.PrinterId>);
+  }
+
+}
+
+package android.provider {
+
+  public final class AlarmClock {
+    ctor public AlarmClock();
+    field public static final String ACTION_DISMISS_ALARM = "android.intent.action.DISMISS_ALARM";
+    field public static final String ACTION_DISMISS_TIMER = "android.intent.action.DISMISS_TIMER";
+    field public static final String ACTION_SET_ALARM = "android.intent.action.SET_ALARM";
+    field public static final String ACTION_SET_TIMER = "android.intent.action.SET_TIMER";
+    field public static final String ACTION_SHOW_ALARMS = "android.intent.action.SHOW_ALARMS";
+    field public static final String ACTION_SHOW_TIMERS = "android.intent.action.SHOW_TIMERS";
+    field public static final String ACTION_SNOOZE_ALARM = "android.intent.action.SNOOZE_ALARM";
+    field public static final String ALARM_SEARCH_MODE_ALL = "android.all";
+    field public static final String ALARM_SEARCH_MODE_LABEL = "android.label";
+    field public static final String ALARM_SEARCH_MODE_NEXT = "android.next";
+    field public static final String ALARM_SEARCH_MODE_TIME = "android.time";
+    field public static final String EXTRA_ALARM_SEARCH_MODE = "android.intent.extra.alarm.SEARCH_MODE";
+    field public static final String EXTRA_ALARM_SNOOZE_DURATION = "android.intent.extra.alarm.SNOOZE_DURATION";
+    field public static final String EXTRA_DAYS = "android.intent.extra.alarm.DAYS";
+    field public static final String EXTRA_HOUR = "android.intent.extra.alarm.HOUR";
+    field public static final String EXTRA_IS_PM = "android.intent.extra.alarm.IS_PM";
+    field public static final String EXTRA_LENGTH = "android.intent.extra.alarm.LENGTH";
+    field public static final String EXTRA_MESSAGE = "android.intent.extra.alarm.MESSAGE";
+    field public static final String EXTRA_MINUTES = "android.intent.extra.alarm.MINUTES";
+    field public static final String EXTRA_RINGTONE = "android.intent.extra.alarm.RINGTONE";
+    field public static final String EXTRA_SKIP_UI = "android.intent.extra.alarm.SKIP_UI";
+    field public static final String EXTRA_VIBRATE = "android.intent.extra.alarm.VIBRATE";
+    field public static final String VALUE_RINGTONE_SILENT = "silent";
+  }
+
+  public interface BaseColumns {
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  public class BlockedNumberContract {
+    method public static boolean canCurrentUserBlockNumbers(android.content.Context);
+    method @WorkerThread public static boolean isBlocked(android.content.Context, String);
+    method @WorkerThread public static int unblock(android.content.Context, String);
+    field public static final String AUTHORITY = "com.android.blockednumber";
+    field public static final android.net.Uri AUTHORITY_URI;
+  }
+
+  public static class BlockedNumberContract.BlockedNumbers {
+    field public static final String COLUMN_E164_NUMBER = "e164_number";
+    field public static final String COLUMN_ID = "_id";
+    field public static final String COLUMN_ORIGINAL_NUMBER = "original_number";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/blocked_number";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/blocked_number";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public class Browser {
+    ctor public Browser();
+    method public static final void sendString(android.content.Context, String);
+    field public static final String EXTRA_APPLICATION_ID = "com.android.browser.application_id";
+    field public static final String EXTRA_CREATE_NEW_TAB = "create_new_tab";
+    field public static final String EXTRA_HEADERS = "com.android.browser.headers";
+    field public static final String INITIAL_ZOOM_LEVEL = "browser.initialZoomLevel";
+  }
+
+  public final class CalendarContract {
+    method public static boolean startViewCalendarEventInManagedProfile(@NonNull android.content.Context, long, long, long, boolean, int);
+    field public static final String ACCOUNT_TYPE_LOCAL = "LOCAL";
+    field public static final String ACTION_EVENT_REMINDER = "android.intent.action.EVENT_REMINDER";
+    field public static final String ACTION_HANDLE_CUSTOM_EVENT = "android.provider.calendar.action.HANDLE_CUSTOM_EVENT";
+    field public static final String ACTION_VIEW_MANAGED_PROFILE_CALENDAR_EVENT = "android.provider.calendar.action.VIEW_MANAGED_PROFILE_CALENDAR_EVENT";
+    field public static final String AUTHORITY = "com.android.calendar";
+    field public static final String CALLER_IS_SYNCADAPTER = "caller_is_syncadapter";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String EXTRA_CUSTOM_APP_URI = "customAppUri";
+    field public static final String EXTRA_EVENT_ALL_DAY = "allDay";
+    field public static final String EXTRA_EVENT_BEGIN_TIME = "beginTime";
+    field public static final String EXTRA_EVENT_END_TIME = "endTime";
+    field public static final String EXTRA_EVENT_ID = "id";
+  }
+
+  public static final class CalendarContract.Attendees implements android.provider.BaseColumns android.provider.CalendarContract.AttendeesColumns android.provider.CalendarContract.EventsColumns {
+    method public static android.database.Cursor query(android.content.ContentResolver, long, String[]);
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.AttendeesColumns {
+    field public static final String ATTENDEE_EMAIL = "attendeeEmail";
+    field public static final String ATTENDEE_IDENTITY = "attendeeIdentity";
+    field public static final String ATTENDEE_ID_NAMESPACE = "attendeeIdNamespace";
+    field public static final String ATTENDEE_NAME = "attendeeName";
+    field public static final String ATTENDEE_RELATIONSHIP = "attendeeRelationship";
+    field public static final String ATTENDEE_STATUS = "attendeeStatus";
+    field public static final int ATTENDEE_STATUS_ACCEPTED = 1; // 0x1
+    field public static final int ATTENDEE_STATUS_DECLINED = 2; // 0x2
+    field public static final int ATTENDEE_STATUS_INVITED = 3; // 0x3
+    field public static final int ATTENDEE_STATUS_NONE = 0; // 0x0
+    field public static final int ATTENDEE_STATUS_TENTATIVE = 4; // 0x4
+    field public static final String ATTENDEE_TYPE = "attendeeType";
+    field public static final String EVENT_ID = "event_id";
+    field public static final int RELATIONSHIP_ATTENDEE = 1; // 0x1
+    field public static final int RELATIONSHIP_NONE = 0; // 0x0
+    field public static final int RELATIONSHIP_ORGANIZER = 2; // 0x2
+    field public static final int RELATIONSHIP_PERFORMER = 3; // 0x3
+    field public static final int RELATIONSHIP_SPEAKER = 4; // 0x4
+    field public static final int TYPE_NONE = 0; // 0x0
+    field public static final int TYPE_OPTIONAL = 2; // 0x2
+    field public static final int TYPE_REQUIRED = 1; // 0x1
+    field public static final int TYPE_RESOURCE = 3; // 0x3
+  }
+
+  public static final class CalendarContract.CalendarAlerts implements android.provider.BaseColumns android.provider.CalendarContract.CalendarAlertsColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri CONTENT_URI_BY_INSTANCE;
+  }
+
+  protected static interface CalendarContract.CalendarAlertsColumns {
+    field public static final String ALARM_TIME = "alarmTime";
+    field public static final String BEGIN = "begin";
+    field public static final String CREATION_TIME = "creationTime";
+    field public static final String DEFAULT_SORT_ORDER = "begin ASC,title ASC";
+    field public static final String END = "end";
+    field public static final String EVENT_ID = "event_id";
+    field public static final String MINUTES = "minutes";
+    field public static final String NOTIFY_TIME = "notifyTime";
+    field public static final String RECEIVED_TIME = "receivedTime";
+    field public static final String STATE = "state";
+    field public static final int STATE_DISMISSED = 2; // 0x2
+    field public static final int STATE_FIRED = 1; // 0x1
+    field public static final int STATE_SCHEDULED = 0; // 0x0
+  }
+
+  public static final class CalendarContract.CalendarCache implements android.provider.CalendarContract.CalendarCacheColumns {
+    field public static final String KEY_TIMEZONE_INSTANCES = "timezoneInstances";
+    field public static final String KEY_TIMEZONE_INSTANCES_PREVIOUS = "timezoneInstancesPrevious";
+    field public static final String KEY_TIMEZONE_TYPE = "timezoneType";
+    field public static final String TIMEZONE_TYPE_AUTO = "auto";
+    field public static final String TIMEZONE_TYPE_HOME = "home";
+    field public static final android.net.Uri URI;
+  }
+
+  protected static interface CalendarContract.CalendarCacheColumns {
+    field public static final String KEY = "key";
+    field public static final String VALUE = "value";
+  }
+
+  protected static interface CalendarContract.CalendarColumns {
+    field public static final String ALLOWED_ATTENDEE_TYPES = "allowedAttendeeTypes";
+    field public static final String ALLOWED_AVAILABILITY = "allowedAvailability";
+    field public static final String ALLOWED_REMINDERS = "allowedReminders";
+    field public static final String CALENDAR_ACCESS_LEVEL = "calendar_access_level";
+    field public static final String CALENDAR_COLOR = "calendar_color";
+    field public static final String CALENDAR_COLOR_KEY = "calendar_color_index";
+    field public static final String CALENDAR_DISPLAY_NAME = "calendar_displayName";
+    field public static final String CALENDAR_TIME_ZONE = "calendar_timezone";
+    field public static final int CAL_ACCESS_CONTRIBUTOR = 500; // 0x1f4
+    field public static final int CAL_ACCESS_EDITOR = 600; // 0x258
+    field public static final int CAL_ACCESS_FREEBUSY = 100; // 0x64
+    field public static final int CAL_ACCESS_NONE = 0; // 0x0
+    field public static final int CAL_ACCESS_OVERRIDE = 400; // 0x190
+    field public static final int CAL_ACCESS_OWNER = 700; // 0x2bc
+    field public static final int CAL_ACCESS_READ = 200; // 0xc8
+    field public static final int CAL_ACCESS_RESPOND = 300; // 0x12c
+    field public static final int CAL_ACCESS_ROOT = 800; // 0x320
+    field public static final String CAN_MODIFY_TIME_ZONE = "canModifyTimeZone";
+    field public static final String CAN_ORGANIZER_RESPOND = "canOrganizerRespond";
+    field public static final String IS_PRIMARY = "isPrimary";
+    field public static final String MAX_REMINDERS = "maxReminders";
+    field public static final String OWNER_ACCOUNT = "ownerAccount";
+    field public static final String SYNC_EVENTS = "sync_events";
+    field public static final String VISIBLE = "visible";
+  }
+
+  public static final class CalendarContract.CalendarEntity implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.SyncColumns {
+    method public static android.content.EntityIterator newEntityIterator(android.database.Cursor);
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.CalendarSyncColumns {
+    field public static final String CAL_SYNC1 = "cal_sync1";
+    field public static final String CAL_SYNC10 = "cal_sync10";
+    field public static final String CAL_SYNC2 = "cal_sync2";
+    field public static final String CAL_SYNC3 = "cal_sync3";
+    field public static final String CAL_SYNC4 = "cal_sync4";
+    field public static final String CAL_SYNC5 = "cal_sync5";
+    field public static final String CAL_SYNC6 = "cal_sync6";
+    field public static final String CAL_SYNC7 = "cal_sync7";
+    field public static final String CAL_SYNC8 = "cal_sync8";
+    field public static final String CAL_SYNC9 = "cal_sync9";
+  }
+
+  public static final class CalendarContract.Calendars implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.SyncColumns {
+    field public static final String CALENDAR_LOCATION = "calendar_location";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "calendar_displayName";
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+    field public static final String NAME = "name";
+  }
+
+  public static final class CalendarContract.Colors implements android.provider.CalendarContract.ColorsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.ColorsColumns extends android.provider.SyncStateContract.Columns {
+    field public static final String COLOR = "color";
+    field public static final String COLOR_KEY = "color_index";
+    field public static final String COLOR_TYPE = "color_type";
+    field public static final int TYPE_CALENDAR = 0; // 0x0
+    field public static final int TYPE_EVENT = 1; // 0x1
+  }
+
+  public static final class CalendarContract.EventDays implements android.provider.CalendarContract.EventDaysColumns {
+    method public static android.database.Cursor query(android.content.ContentResolver, int, int, String[]);
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.EventDaysColumns {
+    field public static final String ENDDAY = "endDay";
+    field public static final String STARTDAY = "startDay";
+  }
+
+  public static final class CalendarContract.Events implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.SyncColumns {
+    field public static final android.net.Uri CONTENT_EXCEPTION_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.EventsColumns {
+    field public static final int ACCESS_CONFIDENTIAL = 1; // 0x1
+    field public static final int ACCESS_DEFAULT = 0; // 0x0
+    field public static final String ACCESS_LEVEL = "accessLevel";
+    field public static final int ACCESS_PRIVATE = 2; // 0x2
+    field public static final int ACCESS_PUBLIC = 3; // 0x3
+    field public static final String ALL_DAY = "allDay";
+    field public static final String AVAILABILITY = "availability";
+    field public static final int AVAILABILITY_BUSY = 0; // 0x0
+    field public static final int AVAILABILITY_FREE = 1; // 0x1
+    field public static final int AVAILABILITY_TENTATIVE = 2; // 0x2
+    field public static final String CALENDAR_ID = "calendar_id";
+    field public static final String CAN_INVITE_OTHERS = "canInviteOthers";
+    field public static final String CUSTOM_APP_PACKAGE = "customAppPackage";
+    field public static final String CUSTOM_APP_URI = "customAppUri";
+    field public static final String DESCRIPTION = "description";
+    field public static final String DISPLAY_COLOR = "displayColor";
+    field public static final String DTEND = "dtend";
+    field public static final String DTSTART = "dtstart";
+    field public static final String DURATION = "duration";
+    field public static final String EVENT_COLOR = "eventColor";
+    field public static final String EVENT_COLOR_KEY = "eventColor_index";
+    field public static final String EVENT_END_TIMEZONE = "eventEndTimezone";
+    field public static final String EVENT_LOCATION = "eventLocation";
+    field public static final String EVENT_TIMEZONE = "eventTimezone";
+    field public static final String EXDATE = "exdate";
+    field public static final String EXRULE = "exrule";
+    field public static final String GUESTS_CAN_INVITE_OTHERS = "guestsCanInviteOthers";
+    field public static final String GUESTS_CAN_MODIFY = "guestsCanModify";
+    field public static final String GUESTS_CAN_SEE_GUESTS = "guestsCanSeeGuests";
+    field public static final String HAS_ALARM = "hasAlarm";
+    field public static final String HAS_ATTENDEE_DATA = "hasAttendeeData";
+    field public static final String HAS_EXTENDED_PROPERTIES = "hasExtendedProperties";
+    field public static final String IS_ORGANIZER = "isOrganizer";
+    field public static final String LAST_DATE = "lastDate";
+    field public static final String LAST_SYNCED = "lastSynced";
+    field public static final String ORGANIZER = "organizer";
+    field public static final String ORIGINAL_ALL_DAY = "originalAllDay";
+    field public static final String ORIGINAL_ID = "original_id";
+    field public static final String ORIGINAL_INSTANCE_TIME = "originalInstanceTime";
+    field public static final String ORIGINAL_SYNC_ID = "original_sync_id";
+    field public static final String RDATE = "rdate";
+    field public static final String RRULE = "rrule";
+    field public static final String SELF_ATTENDEE_STATUS = "selfAttendeeStatus";
+    field public static final String STATUS = "eventStatus";
+    field public static final int STATUS_CANCELED = 2; // 0x2
+    field public static final int STATUS_CONFIRMED = 1; // 0x1
+    field public static final int STATUS_TENTATIVE = 0; // 0x0
+    field public static final String SYNC_DATA1 = "sync_data1";
+    field public static final String SYNC_DATA10 = "sync_data10";
+    field public static final String SYNC_DATA2 = "sync_data2";
+    field public static final String SYNC_DATA3 = "sync_data3";
+    field public static final String SYNC_DATA4 = "sync_data4";
+    field public static final String SYNC_DATA5 = "sync_data5";
+    field public static final String SYNC_DATA6 = "sync_data6";
+    field public static final String SYNC_DATA7 = "sync_data7";
+    field public static final String SYNC_DATA8 = "sync_data8";
+    field public static final String SYNC_DATA9 = "sync_data9";
+    field public static final String TITLE = "title";
+    field public static final String UID_2445 = "uid2445";
+  }
+
+  public static final class CalendarContract.EventsEntity implements android.provider.BaseColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.SyncColumns {
+    method public static android.content.EntityIterator newEntityIterator(android.database.Cursor, android.content.ContentResolver);
+    method public static android.content.EntityIterator newEntityIterator(android.database.Cursor, android.content.ContentProviderClient);
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public static final class CalendarContract.ExtendedProperties implements android.provider.BaseColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.ExtendedPropertiesColumns {
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.ExtendedPropertiesColumns {
+    field public static final String EVENT_ID = "event_id";
+    field public static final String NAME = "name";
+    field public static final String VALUE = "value";
+  }
+
+  public static final class CalendarContract.Instances implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns {
+    method public static android.database.Cursor query(android.content.ContentResolver, String[], long, long);
+    method public static android.database.Cursor query(android.content.ContentResolver, String[], long, long, String);
+    field public static final String BEGIN = "begin";
+    field public static final android.net.Uri CONTENT_BY_DAY_URI;
+    field public static final android.net.Uri CONTENT_SEARCH_BY_DAY_URI;
+    field public static final android.net.Uri CONTENT_SEARCH_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String END = "end";
+    field public static final String END_DAY = "endDay";
+    field public static final String END_MINUTE = "endMinute";
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_BY_DAY_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_SEARCH_BY_DAY_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_SEARCH_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+    field public static final String EVENT_ID = "event_id";
+    field public static final String START_DAY = "startDay";
+    field public static final String START_MINUTE = "startMinute";
+  }
+
+  public static final class CalendarContract.Reminders implements android.provider.BaseColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.RemindersColumns {
+    method public static android.database.Cursor query(android.content.ContentResolver, long, String[]);
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.RemindersColumns {
+    field public static final String EVENT_ID = "event_id";
+    field public static final String METHOD = "method";
+    field public static final int METHOD_ALARM = 4; // 0x4
+    field public static final int METHOD_ALERT = 1; // 0x1
+    field public static final int METHOD_DEFAULT = 0; // 0x0
+    field public static final int METHOD_EMAIL = 2; // 0x2
+    field public static final int METHOD_SMS = 3; // 0x3
+    field public static final String MINUTES = "minutes";
+    field public static final int MINUTES_DEFAULT = -1; // 0xffffffff
+  }
+
+  protected static interface CalendarContract.SyncColumns extends android.provider.CalendarContract.CalendarSyncColumns {
+    field public static final String ACCOUNT_NAME = "account_name";
+    field public static final String ACCOUNT_TYPE = "account_type";
+    field public static final String CAN_PARTIALLY_UPDATE = "canPartiallyUpdate";
+    field public static final String DELETED = "deleted";
+    field public static final String DIRTY = "dirty";
+    field public static final String MUTATORS = "mutators";
+    field public static final String _SYNC_ID = "_sync_id";
+  }
+
+  public static final class CalendarContract.SyncState implements android.provider.SyncStateContract.Columns {
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public class CallLog {
+    ctor public CallLog();
+    field public static final String AUTHORITY = "call_log";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public static class CallLog.Calls implements android.provider.BaseColumns {
+    ctor public CallLog.Calls();
+    method public static String getLastOutgoingCall(android.content.Context);
+    field public static final int ANSWERED_EXTERNALLY_TYPE = 7; // 0x7
+    field public static final long AUTO_MISSED_EMERGENCY_CALL = 1L; // 0x1L
+    field public static final long AUTO_MISSED_MAXIMUM_DIALING = 4L; // 0x4L
+    field public static final long AUTO_MISSED_MAXIMUM_RINGING = 2L; // 0x2L
+    field public static final int BLOCKED_TYPE = 6; // 0x6
+    field public static final String BLOCK_REASON = "block_reason";
+    field public static final int BLOCK_REASON_BLOCKED_NUMBER = 3; // 0x3
+    field public static final int BLOCK_REASON_CALL_SCREENING_SERVICE = 1; // 0x1
+    field public static final int BLOCK_REASON_DIRECT_TO_VOICEMAIL = 2; // 0x2
+    field public static final int BLOCK_REASON_NOT_BLOCKED = 0; // 0x0
+    field public static final int BLOCK_REASON_NOT_IN_CONTACTS = 7; // 0x7
+    field public static final int BLOCK_REASON_PAY_PHONE = 6; // 0x6
+    field public static final int BLOCK_REASON_RESTRICTED_NUMBER = 5; // 0x5
+    field public static final int BLOCK_REASON_UNKNOWN_NUMBER = 4; // 0x4
+    field public static final String CACHED_FORMATTED_NUMBER = "formatted_number";
+    field public static final String CACHED_LOOKUP_URI = "lookup_uri";
+    field public static final String CACHED_MATCHED_NUMBER = "matched_number";
+    field public static final String CACHED_NAME = "name";
+    field public static final String CACHED_NORMALIZED_NUMBER = "normalized_number";
+    field public static final String CACHED_NUMBER_LABEL = "numberlabel";
+    field public static final String CACHED_NUMBER_TYPE = "numbertype";
+    field public static final String CACHED_PHOTO_ID = "photo_id";
+    field public static final String CACHED_PHOTO_URI = "photo_uri";
+    field public static final String CALL_SCREENING_APP_NAME = "call_screening_app_name";
+    field public static final String CALL_SCREENING_COMPONENT_NAME = "call_screening_component_name";
+    field public static final String COMPOSER_PHOTO_URI = "composer_photo_uri";
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/calls";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/calls";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri CONTENT_URI_WITH_VOICEMAIL;
+    field public static final String COUNTRY_ISO = "countryiso";
+    field public static final String DATA_USAGE = "data_usage";
+    field public static final String DATE = "date";
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+    field public static final String DURATION = "duration";
+    field public static final String EXTRA_CALL_TYPE_FILTER = "android.provider.extra.CALL_TYPE_FILTER";
+    field public static final String FEATURES = "features";
+    field public static final int FEATURES_ASSISTED_DIALING_USED = 16; // 0x10
+    field public static final int FEATURES_HD_CALL = 4; // 0x4
+    field public static final int FEATURES_PULLED_EXTERNALLY = 2; // 0x2
+    field public static final int FEATURES_RTT = 32; // 0x20
+    field public static final int FEATURES_VIDEO = 1; // 0x1
+    field public static final int FEATURES_VOLTE = 64; // 0x40
+    field public static final int FEATURES_WIFI = 8; // 0x8
+    field public static final String GEOCODED_LOCATION = "geocoded_location";
+    field public static final int INCOMING_TYPE = 1; // 0x1
+    field public static final String IS_READ = "is_read";
+    field public static final String LAST_MODIFIED = "last_modified";
+    field public static final String LIMIT_PARAM_KEY = "limit";
+    field public static final String LOCATION = "location";
+    field public static final String MISSED_REASON = "missed_reason";
+    field public static final long MISSED_REASON_NOT_MISSED = 0L; // 0x0L
+    field public static final int MISSED_TYPE = 3; // 0x3
+    field public static final String NEW = "new";
+    field public static final String NUMBER = "number";
+    field public static final String NUMBER_PRESENTATION = "presentation";
+    field public static final String OFFSET_PARAM_KEY = "offset";
+    field public static final int OUTGOING_TYPE = 2; // 0x2
+    field public static final String PHONE_ACCOUNT_COMPONENT_NAME = "subscription_component_name";
+    field public static final String PHONE_ACCOUNT_ID = "subscription_id";
+    field public static final String POST_DIAL_DIGITS = "post_dial_digits";
+    field public static final int PRESENTATION_ALLOWED = 1; // 0x1
+    field public static final int PRESENTATION_PAYPHONE = 4; // 0x4
+    field public static final int PRESENTATION_RESTRICTED = 2; // 0x2
+    field public static final int PRESENTATION_UNKNOWN = 3; // 0x3
+    field public static final String PRIORITY = "priority";
+    field public static final int PRIORITY_NORMAL = 0; // 0x0
+    field public static final int PRIORITY_URGENT = 1; // 0x1
+    field public static final int REJECTED_TYPE = 5; // 0x5
+    field public static final String SUBJECT = "subject";
+    field public static final String TRANSCRIPTION = "transcription";
+    field public static final String TYPE = "type";
+    field public static final long USER_MISSED_CALL_FILTERS_TIMEOUT = 4194304L; // 0x400000L
+    field public static final long USER_MISSED_CALL_SCREENING_SERVICE_SILENCED = 2097152L; // 0x200000L
+    field public static final long USER_MISSED_DND_MODE = 262144L; // 0x40000L
+    field public static final long USER_MISSED_LOW_RING_VOLUME = 524288L; // 0x80000L
+    field public static final long USER_MISSED_NO_ANSWER = 65536L; // 0x10000L
+    field public static final long USER_MISSED_NO_VIBRATE = 1048576L; // 0x100000L
+    field public static final long USER_MISSED_SHORT_RING = 131072L; // 0x20000L
+    field public static final String VIA_NUMBER = "via_number";
+    field public static final int VOICEMAIL_TYPE = 4; // 0x4
+    field public static final String VOICEMAIL_URI = "voicemail_uri";
+  }
+
+  public static class CallLog.Locations implements android.provider.BaseColumns {
+    field public static final String AUTHORITY = "call_composer_locations";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/call_composer_location";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/call_composer_location";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final String LATITUDE = "latitude";
+    field public static final String LONGITUDE = "longitude";
+  }
+
+  @Deprecated public class Contacts {
+    field @Deprecated public static final String AUTHORITY = "contacts";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final int KIND_EMAIL = 1; // 0x1
+    field @Deprecated public static final int KIND_IM = 3; // 0x3
+    field @Deprecated public static final int KIND_ORGANIZATION = 4; // 0x4
+    field @Deprecated public static final int KIND_PHONE = 5; // 0x5
+    field @Deprecated public static final int KIND_POSTAL = 2; // 0x2
+  }
+
+  @Deprecated public static final class Contacts.ContactMethods implements android.provider.BaseColumns android.provider.Contacts.ContactMethodsColumns android.provider.Contacts.PeopleColumns {
+    method @Deprecated public void addPostalLocation(android.content.Context, long, double, double);
+    method @Deprecated public static Object decodeImProtocol(String);
+    method @Deprecated public static String encodeCustomImProtocol(String);
+    method @Deprecated public static String encodePredefinedImProtocol(int);
+    method @Deprecated public static CharSequence getDisplayLabel(android.content.Context, int, int, CharSequence);
+    field @Deprecated public static final String CONTENT_EMAIL_ITEM_TYPE = "vnd.android.cursor.item/email";
+    field @Deprecated public static final String CONTENT_EMAIL_TYPE = "vnd.android.cursor.dir/email";
+    field @Deprecated public static final android.net.Uri CONTENT_EMAIL_URI;
+    field @Deprecated public static final String CONTENT_IM_ITEM_TYPE = "vnd.android.cursor.item/jabber-im";
+    field @Deprecated public static final String CONTENT_POSTAL_ITEM_TYPE = "vnd.android.cursor.item/postal-address";
+    field @Deprecated public static final String CONTENT_POSTAL_TYPE = "vnd.android.cursor.dir/postal-address";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact-methods";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final String PERSON_ID = "person";
+    field @Deprecated public static final String POSTAL_LOCATION_LATITUDE = "data";
+    field @Deprecated public static final String POSTAL_LOCATION_LONGITUDE = "aux_data";
+    field @Deprecated public static final int PROTOCOL_AIM = 0; // 0x0
+    field @Deprecated public static final int PROTOCOL_GOOGLE_TALK = 5; // 0x5
+    field @Deprecated public static final int PROTOCOL_ICQ = 6; // 0x6
+    field @Deprecated public static final int PROTOCOL_JABBER = 7; // 0x7
+    field @Deprecated public static final int PROTOCOL_MSN = 1; // 0x1
+    field @Deprecated public static final int PROTOCOL_QQ = 4; // 0x4
+    field @Deprecated public static final int PROTOCOL_SKYPE = 3; // 0x3
+    field @Deprecated public static final int PROTOCOL_YAHOO = 2; // 0x2
+  }
+
+  @Deprecated public static interface Contacts.ContactMethodsColumns {
+    field @Deprecated public static final String AUX_DATA = "aux_data";
+    field @Deprecated public static final String DATA = "data";
+    field @Deprecated public static final String ISPRIMARY = "isprimary";
+    field @Deprecated public static final String KIND = "kind";
+    field @Deprecated public static final String LABEL = "label";
+    field @Deprecated public static final String TYPE = "type";
+    field @Deprecated public static final int TYPE_CUSTOM = 0; // 0x0
+    field @Deprecated public static final int TYPE_HOME = 1; // 0x1
+    field @Deprecated public static final int TYPE_OTHER = 3; // 0x3
+    field @Deprecated public static final int TYPE_WORK = 2; // 0x2
+  }
+
+  @Deprecated public static final class Contacts.Extensions implements android.provider.BaseColumns android.provider.Contacts.ExtensionsColumns {
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_extensions";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_extensions";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "person, name ASC";
+    field @Deprecated public static final String PERSON_ID = "person";
+  }
+
+  @Deprecated public static interface Contacts.ExtensionsColumns {
+    field @Deprecated public static final String NAME = "name";
+    field @Deprecated public static final String VALUE = "value";
+  }
+
+  @Deprecated public static final class Contacts.GroupMembership implements android.provider.BaseColumns android.provider.Contacts.GroupsColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "groupmembership";
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contactsgroupmembership";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contactsgroupmembership";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "group_id ASC";
+    field @Deprecated public static final String GROUP_ID = "group_id";
+    field @Deprecated public static final String GROUP_SYNC_ACCOUNT = "group_sync_account";
+    field @Deprecated public static final String GROUP_SYNC_ACCOUNT_TYPE = "group_sync_account_type";
+    field @Deprecated public static final String GROUP_SYNC_ID = "group_sync_id";
+    field @Deprecated public static final String PERSON_ID = "person";
+    field @Deprecated public static final android.net.Uri RAW_CONTENT_URI;
+  }
+
+  @Deprecated public static final class Contacts.Groups implements android.provider.BaseColumns android.provider.Contacts.GroupsColumns {
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contactsgroup";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contactsgroup";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final android.net.Uri DELETED_CONTENT_URI;
+    field @Deprecated public static final String GROUP_ANDROID_STARRED = "Starred in Android";
+    field @Deprecated public static final String GROUP_MY_CONTACTS = "Contacts";
+  }
+
+  @Deprecated public static interface Contacts.GroupsColumns {
+    field @Deprecated public static final String NAME = "name";
+    field @Deprecated public static final String NOTES = "notes";
+    field @Deprecated public static final String SHOULD_SYNC = "should_sync";
+    field @Deprecated public static final String SYSTEM_ID = "system_id";
+  }
+
+  @Deprecated public static final class Contacts.Intents {
+    ctor @Deprecated public Contacts.Intents();
+    field @Deprecated public static final String ATTACH_IMAGE = "com.android.contacts.action.ATTACH_IMAGE";
+    field @Deprecated public static final String EXTRA_CREATE_DESCRIPTION = "com.android.contacts.action.CREATE_DESCRIPTION";
+    field @Deprecated public static final String EXTRA_FORCE_CREATE = "com.android.contacts.action.FORCE_CREATE";
+    field @Deprecated public static final String SEARCH_SUGGESTION_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CLICKED";
+    field @Deprecated public static final String SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED";
+    field @Deprecated public static final String SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED";
+    field @Deprecated public static final String SHOW_OR_CREATE_CONTACT = "com.android.contacts.action.SHOW_OR_CREATE_CONTACT";
+  }
+
+  @Deprecated public static final class Contacts.Intents.Insert {
+    ctor @Deprecated public Contacts.Intents.Insert();
+    field @Deprecated public static final String ACTION = "android.intent.action.INSERT";
+    field @Deprecated public static final String COMPANY = "company";
+    field @Deprecated public static final String EMAIL = "email";
+    field @Deprecated public static final String EMAIL_ISPRIMARY = "email_isprimary";
+    field @Deprecated public static final String EMAIL_TYPE = "email_type";
+    field @Deprecated public static final String FULL_MODE = "full_mode";
+    field @Deprecated public static final String IM_HANDLE = "im_handle";
+    field @Deprecated public static final String IM_ISPRIMARY = "im_isprimary";
+    field @Deprecated public static final String IM_PROTOCOL = "im_protocol";
+    field @Deprecated public static final String JOB_TITLE = "job_title";
+    field @Deprecated public static final String NAME = "name";
+    field @Deprecated public static final String NOTES = "notes";
+    field @Deprecated public static final String PHONE = "phone";
+    field @Deprecated public static final String PHONETIC_NAME = "phonetic_name";
+    field @Deprecated public static final String PHONE_ISPRIMARY = "phone_isprimary";
+    field @Deprecated public static final String PHONE_TYPE = "phone_type";
+    field @Deprecated public static final String POSTAL = "postal";
+    field @Deprecated public static final String POSTAL_ISPRIMARY = "postal_isprimary";
+    field @Deprecated public static final String POSTAL_TYPE = "postal_type";
+    field @Deprecated public static final String SECONDARY_EMAIL = "secondary_email";
+    field @Deprecated public static final String SECONDARY_EMAIL_TYPE = "secondary_email_type";
+    field @Deprecated public static final String SECONDARY_PHONE = "secondary_phone";
+    field @Deprecated public static final String SECONDARY_PHONE_TYPE = "secondary_phone_type";
+    field @Deprecated public static final String TERTIARY_EMAIL = "tertiary_email";
+    field @Deprecated public static final String TERTIARY_EMAIL_TYPE = "tertiary_email_type";
+    field @Deprecated public static final String TERTIARY_PHONE = "tertiary_phone";
+    field @Deprecated public static final String TERTIARY_PHONE_TYPE = "tertiary_phone_type";
+  }
+
+  @Deprecated public static final class Contacts.Intents.UI {
+    ctor @Deprecated public Contacts.Intents.UI();
+    field @Deprecated public static final String FILTER_CONTACTS_ACTION = "com.android.contacts.action.FILTER_CONTACTS";
+    field @Deprecated public static final String FILTER_TEXT_EXTRA_KEY = "com.android.contacts.extra.FILTER_TEXT";
+    field @Deprecated public static final String GROUP_NAME_EXTRA_KEY = "com.android.contacts.extra.GROUP";
+    field @Deprecated public static final String LIST_ALL_CONTACTS_ACTION = "com.android.contacts.action.LIST_ALL_CONTACTS";
+    field @Deprecated public static final String LIST_CONTACTS_WITH_PHONES_ACTION = "com.android.contacts.action.LIST_CONTACTS_WITH_PHONES";
+    field @Deprecated public static final String LIST_DEFAULT = "com.android.contacts.action.LIST_DEFAULT";
+    field @Deprecated public static final String LIST_FREQUENT_ACTION = "com.android.contacts.action.LIST_FREQUENT";
+    field @Deprecated public static final String LIST_GROUP_ACTION = "com.android.contacts.action.LIST_GROUP";
+    field @Deprecated public static final String LIST_STARRED_ACTION = "com.android.contacts.action.LIST_STARRED";
+    field @Deprecated public static final String LIST_STREQUENT_ACTION = "com.android.contacts.action.LIST_STREQUENT";
+    field @Deprecated public static final String TITLE_EXTRA_KEY = "com.android.contacts.extra.TITLE_EXTRA";
+  }
+
+  @Deprecated public static interface Contacts.OrganizationColumns {
+    field @Deprecated public static final String COMPANY = "company";
+    field @Deprecated public static final String ISPRIMARY = "isprimary";
+    field @Deprecated public static final String LABEL = "label";
+    field @Deprecated public static final String PERSON_ID = "person";
+    field @Deprecated public static final String TITLE = "title";
+    field @Deprecated public static final String TYPE = "type";
+    field @Deprecated public static final int TYPE_CUSTOM = 0; // 0x0
+    field @Deprecated public static final int TYPE_OTHER = 2; // 0x2
+    field @Deprecated public static final int TYPE_WORK = 1; // 0x1
+  }
+
+  @Deprecated public static final class Contacts.Organizations implements android.provider.BaseColumns android.provider.Contacts.OrganizationColumns {
+    method @Deprecated public static CharSequence getDisplayLabel(android.content.Context, int, CharSequence);
+    field @Deprecated public static final String CONTENT_DIRECTORY = "organizations";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "company, title, isprimary ASC";
+  }
+
+  @Deprecated public static final class Contacts.People implements android.provider.BaseColumns android.provider.Contacts.PeopleColumns android.provider.Contacts.PhonesColumns android.provider.Contacts.PresenceColumns {
+    method @Deprecated public static android.net.Uri addToGroup(android.content.ContentResolver, long, String);
+    method @Deprecated public static android.net.Uri addToGroup(android.content.ContentResolver, long, long);
+    method @Deprecated public static android.net.Uri addToMyContactsGroup(android.content.ContentResolver, long);
+    method @Deprecated public static android.net.Uri createPersonInMyContactsGroup(android.content.ContentResolver, android.content.ContentValues);
+    method @Deprecated public static android.graphics.Bitmap loadContactPhoto(android.content.Context, android.net.Uri, int, android.graphics.BitmapFactory.Options);
+    method @Deprecated public static void markAsContacted(android.content.ContentResolver, long);
+    method @Deprecated public static java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri);
+    method @Deprecated public static android.database.Cursor queryGroups(android.content.ContentResolver, long);
+    method @Deprecated public static void setPhotoData(android.content.ContentResolver, android.net.Uri, byte[]);
+    field @Deprecated public static final android.net.Uri CONTENT_FILTER_URI;
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/person";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/person";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final android.net.Uri DELETED_CONTENT_URI;
+    field @Deprecated public static final String PRIMARY_EMAIL_ID = "primary_email";
+    field @Deprecated public static final String PRIMARY_ORGANIZATION_ID = "primary_organization";
+    field @Deprecated public static final String PRIMARY_PHONE_ID = "primary_phone";
+  }
+
+  @Deprecated public static final class Contacts.People.ContactMethods implements android.provider.BaseColumns android.provider.Contacts.ContactMethodsColumns android.provider.Contacts.PeopleColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "contact_methods";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "data ASC";
+  }
+
+  @Deprecated public static class Contacts.People.Extensions implements android.provider.BaseColumns android.provider.Contacts.ExtensionsColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "extensions";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final String PERSON_ID = "person";
+  }
+
+  @Deprecated public static final class Contacts.People.Phones implements android.provider.BaseColumns android.provider.Contacts.PeopleColumns android.provider.Contacts.PhonesColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "phones";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "number ASC";
+  }
+
+  @Deprecated public static interface Contacts.PeopleColumns {
+    field @Deprecated public static final String CUSTOM_RINGTONE = "custom_ringtone";
+    field @Deprecated public static final String DISPLAY_NAME = "display_name";
+    field @Deprecated public static final String LAST_TIME_CONTACTED = "last_time_contacted";
+    field @Deprecated public static final String NAME = "name";
+    field @Deprecated public static final String NOTES = "notes";
+    field @Deprecated public static final String PHONETIC_NAME = "phonetic_name";
+    field @Deprecated public static final String PHOTO_VERSION = "photo_version";
+    field @Deprecated public static final String SEND_TO_VOICEMAIL = "send_to_voicemail";
+    field @Deprecated public static final String STARRED = "starred";
+    field @Deprecated public static final String TIMES_CONTACTED = "times_contacted";
+  }
+
+  @Deprecated public static final class Contacts.Phones implements android.provider.BaseColumns android.provider.Contacts.PeopleColumns android.provider.Contacts.PhonesColumns {
+    method @Deprecated public static CharSequence getDisplayLabel(android.content.Context, int, CharSequence, CharSequence[]);
+    method @Deprecated public static CharSequence getDisplayLabel(android.content.Context, int, CharSequence);
+    field @Deprecated public static final android.net.Uri CONTENT_FILTER_URL;
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/phone";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/phone";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final String PERSON_ID = "person";
+  }
+
+  @Deprecated public static interface Contacts.PhonesColumns {
+    field @Deprecated public static final String ISPRIMARY = "isprimary";
+    field @Deprecated public static final String LABEL = "label";
+    field @Deprecated public static final String NUMBER = "number";
+    field @Deprecated public static final String NUMBER_KEY = "number_key";
+    field @Deprecated public static final String TYPE = "type";
+    field @Deprecated public static final int TYPE_CUSTOM = 0; // 0x0
+    field @Deprecated public static final int TYPE_FAX_HOME = 5; // 0x5
+    field @Deprecated public static final int TYPE_FAX_WORK = 4; // 0x4
+    field @Deprecated public static final int TYPE_HOME = 1; // 0x1
+    field @Deprecated public static final int TYPE_MOBILE = 2; // 0x2
+    field @Deprecated public static final int TYPE_OTHER = 7; // 0x7
+    field @Deprecated public static final int TYPE_PAGER = 6; // 0x6
+    field @Deprecated public static final int TYPE_WORK = 3; // 0x3
+  }
+
+  @Deprecated public static final class Contacts.Photos implements android.provider.BaseColumns android.provider.Contacts.PhotosColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "photo";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "person ASC";
+  }
+
+  @Deprecated public static interface Contacts.PhotosColumns {
+    field @Deprecated public static final String DATA = "data";
+    field @Deprecated public static final String DOWNLOAD_REQUIRED = "download_required";
+    field @Deprecated public static final String EXISTS_ON_SERVER = "exists_on_server";
+    field @Deprecated public static final String LOCAL_VERSION = "local_version";
+    field @Deprecated public static final String PERSON_ID = "person";
+    field @Deprecated public static final String SYNC_ERROR = "sync_error";
+  }
+
+  @Deprecated public static interface Contacts.PresenceColumns {
+    field @Deprecated public static final int AVAILABLE = 5; // 0x5
+    field @Deprecated public static final int AWAY = 2; // 0x2
+    field @Deprecated public static final int DO_NOT_DISTURB = 4; // 0x4
+    field @Deprecated public static final int IDLE = 3; // 0x3
+    field @Deprecated public static final String IM_ACCOUNT = "im_account";
+    field @Deprecated public static final String IM_HANDLE = "im_handle";
+    field @Deprecated public static final String IM_PROTOCOL = "im_protocol";
+    field @Deprecated public static final int INVISIBLE = 1; // 0x1
+    field @Deprecated public static final int OFFLINE = 0; // 0x0
+    field @Deprecated public static final String PRESENCE_CUSTOM_STATUS = "status";
+    field @Deprecated public static final String PRESENCE_STATUS = "mode";
+    field @Deprecated public static final String PRIORITY = "priority";
+  }
+
+  @Deprecated public static final class Contacts.Settings implements android.provider.BaseColumns android.provider.Contacts.SettingsColumns {
+    method @Deprecated public static String getSetting(android.content.ContentResolver, String, String);
+    method @Deprecated public static void setSetting(android.content.ContentResolver, String, String, String);
+    field @Deprecated public static final String CONTENT_DIRECTORY = "settings";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "key ASC";
+    field @Deprecated public static final String SYNC_EVERYTHING = "syncEverything";
+  }
+
+  @Deprecated public static interface Contacts.SettingsColumns {
+    field @Deprecated public static final String KEY = "key";
+    field @Deprecated public static final String VALUE = "value";
+    field @Deprecated public static final String _SYNC_ACCOUNT = "_sync_account";
+    field @Deprecated public static final String _SYNC_ACCOUNT_TYPE = "_sync_account_type";
+  }
+
+  public final class ContactsContract {
+    ctor public ContactsContract();
+    method public static boolean isProfileId(long);
+    field public static final String AUTHORITY = "com.android.contacts";
+    field public static final android.net.Uri AUTHORITY_URI;
+    field public static final String CALLER_IS_SYNCADAPTER = "caller_is_syncadapter";
+    field public static final String DEFERRED_SNIPPETING = "deferred_snippeting";
+    field public static final String DEFERRED_SNIPPETING_QUERY = "deferred_snippeting_query";
+    field public static final String DIRECTORY_PARAM_KEY = "directory";
+    field public static final String LIMIT_PARAM_KEY = "limit";
+    field public static final String PRIMARY_ACCOUNT_NAME = "name_for_primary_account";
+    field public static final String PRIMARY_ACCOUNT_TYPE = "type_for_primary_account";
+    field public static final String REMOVE_DUPLICATE_ENTRIES = "remove_duplicate_entries";
+    field public static final String STREQUENT_PHONE_ONLY = "strequent_phone_only";
+  }
+
+  public static final class ContactsContract.AggregationExceptions implements android.provider.BaseColumns {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/aggregation_exception";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/aggregation_exception";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String RAW_CONTACT_ID1 = "raw_contact_id1";
+    field public static final String RAW_CONTACT_ID2 = "raw_contact_id2";
+    field public static final String TYPE = "type";
+    field public static final int TYPE_AUTOMATIC = 0; // 0x0
+    field public static final int TYPE_KEEP_SEPARATE = 2; // 0x2
+    field public static final int TYPE_KEEP_TOGETHER = 1; // 0x1
+  }
+
+  protected static interface ContactsContract.BaseSyncColumns {
+    field public static final String SYNC1 = "sync1";
+    field public static final String SYNC2 = "sync2";
+    field public static final String SYNC3 = "sync3";
+    field public static final String SYNC4 = "sync4";
+  }
+
+  public static final class ContactsContract.CommonDataKinds {
+  }
+
+  public static interface ContactsContract.CommonDataKinds.BaseTypes {
+    field public static final int TYPE_CUSTOM = 0; // 0x0
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Callable implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    ctor public ContactsContract.CommonDataKinds.Callable();
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri ENTERPRISE_CONTENT_FILTER_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+  }
+
+  protected static interface ContactsContract.CommonDataKinds.CommonColumns extends android.provider.ContactsContract.CommonDataKinds.BaseTypes {
+    field public static final String DATA = "data1";
+    field public static final String LABEL = "data3";
+    field public static final String TYPE = "data2";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Contactables implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    ctor public ContactsContract.CommonDataKinds.Contactables();
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String VISIBLE_CONTACTS_ONLY = "visible_contacts_only";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Email implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String ADDRESS = "data1";
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/email_v2";
+    field public static final android.net.Uri CONTENT_LOOKUP_URI;
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/email_v2";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DISPLAY_NAME = "data4";
+    field public static final android.net.Uri ENTERPRISE_CONTENT_FILTER_URI;
+    field public static final android.net.Uri ENTERPRISE_CONTENT_LOOKUP_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final int TYPE_HOME = 1; // 0x1
+    field public static final int TYPE_MOBILE = 4; // 0x4
+    field public static final int TYPE_OTHER = 3; // 0x3
+    field public static final int TYPE_WORK = 2; // 0x2
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Event implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeResource(Integer);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_event";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String START_DATE = "data1";
+    field public static final int TYPE_ANNIVERSARY = 1; // 0x1
+    field public static final int TYPE_BIRTHDAY = 3; // 0x3
+    field public static final int TYPE_OTHER = 2; // 0x2
+  }
+
+  public static final class ContactsContract.CommonDataKinds.GroupMembership implements android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/group_membership";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String GROUP_ROW_ID = "data1";
+    field public static final String GROUP_SOURCE_ID = "group_sourceid";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Identity implements android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/identity";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String IDENTITY = "data1";
+    field public static final String NAMESPACE = "data2";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Im implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getProtocolLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getProtocolLabelResource(int);
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/im";
+    field public static final String CUSTOM_PROTOCOL = "data6";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String PROTOCOL = "data5";
+    field @Deprecated public static final int PROTOCOL_AIM = 0; // 0x0
+    field public static final int PROTOCOL_CUSTOM = -1; // 0xffffffff
+    field @Deprecated public static final int PROTOCOL_GOOGLE_TALK = 5; // 0x5
+    field @Deprecated public static final int PROTOCOL_ICQ = 6; // 0x6
+    field @Deprecated public static final int PROTOCOL_JABBER = 7; // 0x7
+    field @Deprecated public static final int PROTOCOL_MSN = 1; // 0x1
+    field @Deprecated public static final int PROTOCOL_NETMEETING = 8; // 0x8
+    field @Deprecated public static final int PROTOCOL_QQ = 4; // 0x4
+    field @Deprecated public static final int PROTOCOL_SKYPE = 3; // 0x3
+    field @Deprecated public static final int PROTOCOL_YAHOO = 2; // 0x2
+    field public static final int TYPE_HOME = 1; // 0x1
+    field public static final int TYPE_OTHER = 3; // 0x3
+    field public static final int TYPE_WORK = 2; // 0x2
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Nickname implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/nickname";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String NAME = "data1";
+    field public static final int TYPE_DEFAULT = 1; // 0x1
+    field public static final int TYPE_INITIALS = 5; // 0x5
+    field public static final int TYPE_MAIDEN_NAME = 3; // 0x3
+    field @Deprecated public static final int TYPE_MAINDEN_NAME = 3; // 0x3
+    field public static final int TYPE_OTHER_NAME = 2; // 0x2
+    field public static final int TYPE_SHORT_NAME = 4; // 0x4
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Note implements android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/note";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String NOTE = "data1";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Organization implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String COMPANY = "data1";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/organization";
+    field public static final String DEPARTMENT = "data5";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String JOB_DESCRIPTION = "data6";
+    field public static final String OFFICE_LOCATION = "data9";
+    field public static final String PHONETIC_NAME = "data8";
+    field public static final String PHONETIC_NAME_STYLE = "data10";
+    field public static final String SYMBOL = "data7";
+    field public static final String TITLE = "data4";
+    field public static final int TYPE_OTHER = 2; // 0x2
+    field public static final int TYPE_WORK = 1; // 0x1
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Phone implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/phone_v2";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/phone_v2";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri ENTERPRISE_CONTENT_FILTER_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String NORMALIZED_NUMBER = "data4";
+    field public static final String NUMBER = "data1";
+    field public static final String SEARCH_DISPLAY_NAME_KEY = "search_display_name";
+    field public static final String SEARCH_PHONE_NUMBER_KEY = "search_phone_number";
+    field public static final int TYPE_ASSISTANT = 19; // 0x13
+    field public static final int TYPE_CALLBACK = 8; // 0x8
+    field public static final int TYPE_CAR = 9; // 0x9
+    field public static final int TYPE_COMPANY_MAIN = 10; // 0xa
+    field public static final int TYPE_FAX_HOME = 5; // 0x5
+    field public static final int TYPE_FAX_WORK = 4; // 0x4
+    field public static final int TYPE_HOME = 1; // 0x1
+    field public static final int TYPE_ISDN = 11; // 0xb
+    field public static final int TYPE_MAIN = 12; // 0xc
+    field public static final int TYPE_MMS = 20; // 0x14
+    field public static final int TYPE_MOBILE = 2; // 0x2
+    field public static final int TYPE_OTHER = 7; // 0x7
+    field public static final int TYPE_OTHER_FAX = 13; // 0xd
+    field public static final int TYPE_PAGER = 6; // 0x6
+    field public static final int TYPE_RADIO = 14; // 0xe
+    field public static final int TYPE_TELEX = 15; // 0xf
+    field public static final int TYPE_TTY_TDD = 16; // 0x10
+    field public static final int TYPE_WORK = 3; // 0x3
+    field public static final int TYPE_WORK_MOBILE = 17; // 0x11
+    field public static final int TYPE_WORK_PAGER = 18; // 0x12
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Photo implements android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/photo";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String PHOTO = "data15";
+    field public static final String PHOTO_FILE_ID = "data14";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Relation implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/relation";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String NAME = "data1";
+    field public static final int TYPE_ASSISTANT = 1; // 0x1
+    field public static final int TYPE_BROTHER = 2; // 0x2
+    field public static final int TYPE_CHILD = 3; // 0x3
+    field public static final int TYPE_DOMESTIC_PARTNER = 4; // 0x4
+    field public static final int TYPE_FATHER = 5; // 0x5
+    field public static final int TYPE_FRIEND = 6; // 0x6
+    field public static final int TYPE_MANAGER = 7; // 0x7
+    field public static final int TYPE_MOTHER = 8; // 0x8
+    field public static final int TYPE_PARENT = 9; // 0x9
+    field public static final int TYPE_PARTNER = 10; // 0xa
+    field public static final int TYPE_REFERRED_BY = 11; // 0xb
+    field public static final int TYPE_RELATIVE = 12; // 0xc
+    field public static final int TYPE_SISTER = 13; // 0xd
+    field public static final int TYPE_SPOUSE = 14; // 0xe
+  }
+
+  public static final class ContactsContract.CommonDataKinds.SipAddress implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/sip_address";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String SIP_ADDRESS = "data1";
+    field public static final int TYPE_HOME = 1; // 0x1
+    field public static final int TYPE_OTHER = 3; // 0x3
+    field public static final int TYPE_WORK = 2; // 0x2
+  }
+
+  public static final class ContactsContract.CommonDataKinds.StructuredName implements android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/name";
+    field public static final String DISPLAY_NAME = "data1";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String FAMILY_NAME = "data3";
+    field public static final String FULL_NAME_STYLE = "data10";
+    field public static final String GIVEN_NAME = "data2";
+    field public static final String MIDDLE_NAME = "data5";
+    field public static final String PHONETIC_FAMILY_NAME = "data9";
+    field public static final String PHONETIC_GIVEN_NAME = "data7";
+    field public static final String PHONETIC_MIDDLE_NAME = "data8";
+    field public static final String PHONETIC_NAME_STYLE = "data11";
+    field public static final String PREFIX = "data4";
+    field public static final String SUFFIX = "data6";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.StructuredPostal implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String CITY = "data7";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/postal-address_v2";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/postal-address_v2";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String COUNTRY = "data10";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String FORMATTED_ADDRESS = "data1";
+    field public static final String NEIGHBORHOOD = "data6";
+    field public static final String POBOX = "data5";
+    field public static final String POSTCODE = "data9";
+    field public static final String REGION = "data8";
+    field public static final String STREET = "data4";
+    field public static final int TYPE_HOME = 1; // 0x1
+    field public static final int TYPE_OTHER = 3; // 0x3
+    field public static final int TYPE_WORK = 2; // 0x2
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Website implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/website";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final int TYPE_BLOG = 2; // 0x2
+    field public static final int TYPE_FTP = 6; // 0x6
+    field public static final int TYPE_HOME = 4; // 0x4
+    field public static final int TYPE_HOMEPAGE = 1; // 0x1
+    field public static final int TYPE_OTHER = 7; // 0x7
+    field public static final int TYPE_PROFILE = 3; // 0x3
+    field public static final int TYPE_WORK = 5; // 0x5
+    field public static final String URL = "data1";
+  }
+
+  protected static interface ContactsContract.ContactNameColumns {
+    field public static final String DISPLAY_NAME_ALTERNATIVE = "display_name_alt";
+    field public static final String DISPLAY_NAME_PRIMARY = "display_name";
+    field public static final String DISPLAY_NAME_SOURCE = "display_name_source";
+    field public static final String PHONETIC_NAME = "phonetic_name";
+    field public static final String PHONETIC_NAME_STYLE = "phonetic_name_style";
+    field public static final String SORT_KEY_ALTERNATIVE = "sort_key_alt";
+    field public static final String SORT_KEY_PRIMARY = "sort_key";
+  }
+
+  protected static interface ContactsContract.ContactOptionsColumns {
+    field public static final String CUSTOM_RINGTONE = "custom_ringtone";
+    field @Deprecated public static final String LAST_TIME_CONTACTED = "last_time_contacted";
+    field public static final String PINNED = "pinned";
+    field public static final String SEND_TO_VOICEMAIL = "send_to_voicemail";
+    field public static final String STARRED = "starred";
+    field @Deprecated public static final String TIMES_CONTACTED = "times_contacted";
+  }
+
+  protected static interface ContactsContract.ContactStatusColumns {
+    field public static final String CONTACT_CHAT_CAPABILITY = "contact_chat_capability";
+    field public static final String CONTACT_PRESENCE = "contact_presence";
+    field public static final String CONTACT_STATUS = "contact_status";
+    field public static final String CONTACT_STATUS_ICON = "contact_status_icon";
+    field public static final String CONTACT_STATUS_LABEL = "contact_status_label";
+    field public static final String CONTACT_STATUS_RES_PACKAGE = "contact_status_res_package";
+    field public static final String CONTACT_STATUS_TIMESTAMP = "contact_status_ts";
+  }
+
+  public static class ContactsContract.Contacts implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns {
+    method public static android.net.Uri getLookupUri(android.content.ContentResolver, android.net.Uri);
+    method public static android.net.Uri getLookupUri(long, String);
+    method public static boolean isEnterpriseContactId(long);
+    method public static android.net.Uri lookupContact(android.content.ContentResolver, android.net.Uri);
+    method @Deprecated public static void markAsContacted(android.content.ContentResolver, long);
+    method public static java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri, boolean);
+    method public static java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri);
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field @Deprecated public static final android.net.Uri CONTENT_FREQUENT_URI;
+    field public static final android.net.Uri CONTENT_GROUP_URI;
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact";
+    field public static final android.net.Uri CONTENT_LOOKUP_URI;
+    field public static final android.net.Uri CONTENT_MULTI_VCARD_URI;
+    field public static final android.net.Uri CONTENT_STREQUENT_FILTER_URI;
+    field public static final android.net.Uri CONTENT_STREQUENT_URI;
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String CONTENT_VCARD_TYPE = "text/x-vcard";
+    field public static final android.net.Uri CONTENT_VCARD_URI;
+    field public static final android.net.Uri ENTERPRISE_CONTENT_FILTER_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String QUERY_PARAMETER_VCARD_NO_PHOTO = "no_photo";
+  }
+
+  public static final class ContactsContract.Contacts.AggregationSuggestions implements android.provider.BaseColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns {
+    field public static final String CONTENT_DIRECTORY = "suggestions";
+  }
+
+  public static final class ContactsContract.Contacts.AggregationSuggestions.Builder {
+    ctor public ContactsContract.Contacts.AggregationSuggestions.Builder();
+    method public android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder addNameParameter(String);
+    method public android.net.Uri build();
+    method public android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder setContactId(long);
+    method public android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder setLimit(int);
+  }
+
+  public static final class ContactsContract.Contacts.Data implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns {
+    field public static final String CONTENT_DIRECTORY = "data";
+  }
+
+  public static final class ContactsContract.Contacts.Entity implements android.provider.BaseColumns android.provider.ContactsContract.BaseSyncColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.DataUsageStatColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.StatusColumns android.provider.ContactsContract.SyncColumns {
+    field public static final String CONTENT_DIRECTORY = "entities";
+    field public static final String DATA_ID = "data_id";
+    field public static final String RAW_CONTACT_ID = "raw_contact_id";
+  }
+
+  public static final class ContactsContract.Contacts.Photo implements android.provider.BaseColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_DIRECTORY = "photo";
+    field public static final String DISPLAY_PHOTO = "display_photo";
+    field public static final String PHOTO = "data15";
+    field public static final String PHOTO_FILE_ID = "data14";
+  }
+
+  protected static interface ContactsContract.ContactsColumns {
+    field public static final String CONTACT_LAST_UPDATED_TIMESTAMP = "contact_last_updated_timestamp";
+    field public static final String DISPLAY_NAME = "display_name";
+    field public static final String HAS_PHONE_NUMBER = "has_phone_number";
+    field public static final String IN_DEFAULT_DIRECTORY = "in_default_directory";
+    field public static final String IN_VISIBLE_GROUP = "in_visible_group";
+    field public static final String IS_USER_PROFILE = "is_user_profile";
+    field public static final String LOOKUP_KEY = "lookup";
+    field public static final String NAME_RAW_CONTACT_ID = "name_raw_contact_id";
+    field public static final String PHOTO_FILE_ID = "photo_file_id";
+    field public static final String PHOTO_ID = "photo_id";
+    field public static final String PHOTO_THUMBNAIL_URI = "photo_thumb_uri";
+    field public static final String PHOTO_URI = "photo_uri";
+  }
+
+  public static final class ContactsContract.Data implements android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static android.net.Uri getContactLookupUri(android.content.ContentResolver, android.net.Uri);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/data";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String VISIBLE_CONTACTS_ONLY = "visible_contacts_only";
+  }
+
+  protected static interface ContactsContract.DataColumns {
+    field @Deprecated public static final String CARRIER_PRESENCE = "carrier_presence";
+    field @Deprecated public static final int CARRIER_PRESENCE_VT_CAPABLE = 1; // 0x1
+    field public static final String DATA1 = "data1";
+    field public static final String DATA10 = "data10";
+    field public static final String DATA11 = "data11";
+    field public static final String DATA12 = "data12";
+    field public static final String DATA13 = "data13";
+    field public static final String DATA14 = "data14";
+    field public static final String DATA15 = "data15";
+    field public static final String DATA2 = "data2";
+    field public static final String DATA3 = "data3";
+    field public static final String DATA4 = "data4";
+    field public static final String DATA5 = "data5";
+    field public static final String DATA6 = "data6";
+    field public static final String DATA7 = "data7";
+    field public static final String DATA8 = "data8";
+    field public static final String DATA9 = "data9";
+    field public static final String DATA_VERSION = "data_version";
+    field public static final String IS_PRIMARY = "is_primary";
+    field public static final String IS_READ_ONLY = "is_read_only";
+    field public static final String IS_SUPER_PRIMARY = "is_super_primary";
+    field public static final String MIMETYPE = "mimetype";
+    field public static final String PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME = "preferred_phone_account_component_name";
+    field public static final String PREFERRED_PHONE_ACCOUNT_ID = "preferred_phone_account_id";
+    field public static final String RAW_CONTACT_ID = "raw_contact_id";
+    field public static final String RES_PACKAGE = "res_package";
+    field public static final String SYNC1 = "data_sync1";
+    field public static final String SYNC2 = "data_sync2";
+    field public static final String SYNC3 = "data_sync3";
+    field public static final String SYNC4 = "data_sync4";
+  }
+
+  protected static interface ContactsContract.DataColumnsWithJoins extends android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.DataUsageStatColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.StatusColumns {
+  }
+
+  @Deprecated public static final class ContactsContract.DataUsageFeedback {
+    ctor @Deprecated public ContactsContract.DataUsageFeedback();
+    field @Deprecated public static final android.net.Uri DELETE_USAGE_URI;
+    field @Deprecated public static final android.net.Uri FEEDBACK_URI;
+    field @Deprecated public static final String USAGE_TYPE = "type";
+    field @Deprecated public static final String USAGE_TYPE_CALL = "call";
+    field @Deprecated public static final String USAGE_TYPE_LONG_TEXT = "long_text";
+    field @Deprecated public static final String USAGE_TYPE_SHORT_TEXT = "short_text";
+  }
+
+  protected static interface ContactsContract.DataUsageStatColumns {
+    field @Deprecated public static final String LAST_TIME_USED = "last_time_used";
+    field @Deprecated public static final String TIMES_USED = "times_used";
+  }
+
+  public static final class ContactsContract.DeletedContacts implements android.provider.ContactsContract.DeletedContactsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final long DAYS_KEPT_MILLISECONDS = 2592000000L; // 0x9a7ec800L
+  }
+
+  protected static interface ContactsContract.DeletedContactsColumns {
+    field public static final String CONTACT_DELETED_TIMESTAMP = "contact_deleted_timestamp";
+    field public static final String CONTACT_ID = "contact_id";
+  }
+
+  public static final class ContactsContract.Directory implements android.provider.BaseColumns {
+    method public static boolean isEnterpriseDirectoryId(long);
+    method public static boolean isRemoteDirectoryId(long);
+    method public static void notifyDirectoryChange(android.content.ContentResolver);
+    field public static final String ACCOUNT_NAME = "accountName";
+    field public static final String ACCOUNT_TYPE = "accountType";
+    field public static final String CALLER_PACKAGE_PARAM_KEY = "callerPackage";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_directory";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_directories";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final long DEFAULT = 0L; // 0x0L
+    field public static final String DIRECTORY_AUTHORITY = "authority";
+    field public static final String DISPLAY_NAME = "displayName";
+    field public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+    field public static final long ENTERPRISE_DEFAULT = 1000000000L; // 0x3b9aca00L
+    field public static final long ENTERPRISE_LOCAL_INVISIBLE = 1000000001L; // 0x3b9aca01L
+    field public static final String EXPORT_SUPPORT = "exportSupport";
+    field public static final int EXPORT_SUPPORT_ANY_ACCOUNT = 2; // 0x2
+    field public static final int EXPORT_SUPPORT_NONE = 0; // 0x0
+    field public static final int EXPORT_SUPPORT_SAME_ACCOUNT_ONLY = 1; // 0x1
+    field public static final long LOCAL_INVISIBLE = 1L; // 0x1L
+    field public static final String PACKAGE_NAME = "packageName";
+    field public static final String PHOTO_SUPPORT = "photoSupport";
+    field public static final int PHOTO_SUPPORT_FULL = 3; // 0x3
+    field public static final int PHOTO_SUPPORT_FULL_SIZE_ONLY = 2; // 0x2
+    field public static final int PHOTO_SUPPORT_NONE = 0; // 0x0
+    field public static final int PHOTO_SUPPORT_THUMBNAIL_ONLY = 1; // 0x1
+    field public static final String SHORTCUT_SUPPORT = "shortcutSupport";
+    field public static final int SHORTCUT_SUPPORT_DATA_ITEMS_ONLY = 1; // 0x1
+    field public static final int SHORTCUT_SUPPORT_FULL = 2; // 0x2
+    field public static final int SHORTCUT_SUPPORT_NONE = 0; // 0x0
+    field public static final String TYPE_RESOURCE_ID = "typeResourceId";
+  }
+
+  public static interface ContactsContract.DisplayNameSources {
+    field public static final int EMAIL = 10; // 0xa
+    field public static final int NICKNAME = 35; // 0x23
+    field public static final int ORGANIZATION = 30; // 0x1e
+    field public static final int PHONE = 20; // 0x14
+    field public static final int STRUCTURED_NAME = 40; // 0x28
+    field public static final int STRUCTURED_PHONETIC_NAME = 37; // 0x25
+    field public static final int UNDEFINED = 0; // 0x0
+  }
+
+  public static final class ContactsContract.DisplayPhoto {
+    field public static final android.net.Uri CONTENT_MAX_DIMENSIONS_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DISPLAY_MAX_DIM = "display_max_dim";
+    field public static final String THUMBNAIL_MAX_DIM = "thumbnail_max_dim";
+  }
+
+  public static interface ContactsContract.FullNameStyle {
+    field public static final int CHINESE = 3; // 0x3
+    field public static final int CJK = 2; // 0x2
+    field public static final int JAPANESE = 4; // 0x4
+    field public static final int KOREAN = 5; // 0x5
+    field public static final int UNDEFINED = 0; // 0x0
+    field public static final int WESTERN = 1; // 0x1
+  }
+
+  public static final class ContactsContract.Groups implements android.provider.BaseColumns android.provider.ContactsContract.GroupsColumns android.provider.ContactsContract.SyncColumns {
+    method public static android.content.EntityIterator newEntityIterator(android.database.Cursor);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/group";
+    field public static final android.net.Uri CONTENT_SUMMARY_URI;
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/group";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface ContactsContract.GroupsColumns {
+    field public static final String AUTO_ADD = "auto_add";
+    field public static final String DATA_SET = "data_set";
+    field public static final String DELETED = "deleted";
+    field public static final String FAVORITES = "favorites";
+    field public static final String GROUP_IS_READ_ONLY = "group_is_read_only";
+    field public static final String GROUP_VISIBLE = "group_visible";
+    field public static final String NOTES = "notes";
+    field public static final String RES_PACKAGE = "res_package";
+    field public static final String SHOULD_SYNC = "should_sync";
+    field public static final String SUMMARY_COUNT = "summ_count";
+    field public static final String SUMMARY_WITH_PHONES = "summ_phones";
+    field public static final String SYSTEM_ID = "system_id";
+    field public static final String TITLE = "title";
+    field public static final String TITLE_RES = "title_res";
+  }
+
+  public static final class ContactsContract.Intents {
+    ctor public ContactsContract.Intents();
+    field public static final String ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS = "android.provider.action.VOICE_SEND_MESSAGE_TO_CONTACTS";
+    field public static final String ATTACH_IMAGE = "com.android.contacts.action.ATTACH_IMAGE";
+    field public static final String CONTACTS_DATABASE_CREATED = "android.provider.Contacts.DATABASE_CREATED";
+    field public static final String EXTRA_CREATE_DESCRIPTION = "com.android.contacts.action.CREATE_DESCRIPTION";
+    field public static final String EXTRA_FORCE_CREATE = "com.android.contacts.action.FORCE_CREATE";
+    field public static final String EXTRA_RECIPIENT_CONTACT_CHAT_ID = "android.provider.extra.RECIPIENT_CONTACT_CHAT_ID";
+    field public static final String EXTRA_RECIPIENT_CONTACT_NAME = "android.provider.extra.RECIPIENT_CONTACT_NAME";
+    field public static final String EXTRA_RECIPIENT_CONTACT_URI = "android.provider.extra.RECIPIENT_CONTACT_URI";
+    field public static final String INVITE_CONTACT = "com.android.contacts.action.INVITE_CONTACT";
+    field public static final String METADATA_ACCOUNT_TYPE = "android.provider.account_type";
+    field public static final String METADATA_MIMETYPE = "android.provider.mimetype";
+    field public static final String SEARCH_SUGGESTION_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CLICKED";
+    field public static final String SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED";
+    field public static final String SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED";
+    field public static final String SHOW_OR_CREATE_CONTACT = "com.android.contacts.action.SHOW_OR_CREATE_CONTACT";
+  }
+
+  public static final class ContactsContract.Intents.Insert {
+    ctor public ContactsContract.Intents.Insert();
+    field public static final String ACTION = "android.intent.action.INSERT";
+    field public static final String COMPANY = "company";
+    field public static final String DATA = "data";
+    field public static final String EMAIL = "email";
+    field public static final String EMAIL_ISPRIMARY = "email_isprimary";
+    field public static final String EMAIL_TYPE = "email_type";
+    field public static final String EXTRA_ACCOUNT = "android.provider.extra.ACCOUNT";
+    field public static final String EXTRA_DATA_SET = "android.provider.extra.DATA_SET";
+    field public static final String FULL_MODE = "full_mode";
+    field public static final String IM_HANDLE = "im_handle";
+    field public static final String IM_ISPRIMARY = "im_isprimary";
+    field public static final String IM_PROTOCOL = "im_protocol";
+    field public static final String JOB_TITLE = "job_title";
+    field public static final String NAME = "name";
+    field public static final String NOTES = "notes";
+    field public static final String PHONE = "phone";
+    field public static final String PHONETIC_NAME = "phonetic_name";
+    field public static final String PHONE_ISPRIMARY = "phone_isprimary";
+    field public static final String PHONE_TYPE = "phone_type";
+    field public static final String POSTAL = "postal";
+    field public static final String POSTAL_ISPRIMARY = "postal_isprimary";
+    field public static final String POSTAL_TYPE = "postal_type";
+    field public static final String SECONDARY_EMAIL = "secondary_email";
+    field public static final String SECONDARY_EMAIL_TYPE = "secondary_email_type";
+    field public static final String SECONDARY_PHONE = "secondary_phone";
+    field public static final String SECONDARY_PHONE_TYPE = "secondary_phone_type";
+    field public static final String TERTIARY_EMAIL = "tertiary_email";
+    field public static final String TERTIARY_EMAIL_TYPE = "tertiary_email_type";
+    field public static final String TERTIARY_PHONE = "tertiary_phone";
+    field public static final String TERTIARY_PHONE_TYPE = "tertiary_phone_type";
+  }
+
+  public static final class ContactsContract.PhoneLookup implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactsColumns android.provider.ContactsContract.PhoneLookupColumns {
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final android.net.Uri ENTERPRISE_CONTENT_FILTER_URI;
+    field public static final String QUERY_PARAMETER_SIP_ADDRESS = "sip";
+  }
+
+  protected static interface ContactsContract.PhoneLookupColumns {
+    field public static final String CONTACT_ID = "contact_id";
+    field public static final String DATA_ID = "data_id";
+    field public static final String LABEL = "label";
+    field public static final String NORMALIZED_NUMBER = "normalized_number";
+    field public static final String NUMBER = "number";
+    field public static final String TYPE = "type";
+  }
+
+  public static interface ContactsContract.PhoneticNameStyle {
+    field public static final int JAPANESE = 4; // 0x4
+    field public static final int KOREAN = 5; // 0x5
+    field public static final int PINYIN = 3; // 0x3
+    field public static final int UNDEFINED = 0; // 0x0
+  }
+
+  public static final class ContactsContract.PinnedPositions {
+    ctor public ContactsContract.PinnedPositions();
+    method public static void pin(android.content.ContentResolver, long, int);
+    method public static void undemote(android.content.ContentResolver, long);
+    field public static final int DEMOTED = -1; // 0xffffffff
+    field public static final int UNPINNED = 0; // 0x0
+  }
+
+  @Deprecated public static final class ContactsContract.Presence extends android.provider.ContactsContract.StatusUpdates {
+    ctor @Deprecated public ContactsContract.Presence();
+  }
+
+  protected static interface ContactsContract.PresenceColumns {
+    field public static final String CUSTOM_PROTOCOL = "custom_protocol";
+    field public static final String DATA_ID = "presence_data_id";
+    field public static final String IM_ACCOUNT = "im_account";
+    field public static final String IM_HANDLE = "im_handle";
+    field public static final String PROTOCOL = "protocol";
+  }
+
+  public static final class ContactsContract.Profile implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns {
+    field public static final android.net.Uri CONTENT_RAW_CONTACTS_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri CONTENT_VCARD_URI;
+    field public static final long MIN_ID = 9223372034707292160L; // 0x7fffffff80000000L
+  }
+
+  public static final class ContactsContract.ProfileSyncState implements android.provider.SyncStateContract.Columns {
+    method public static byte[] get(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.util.Pair<android.net.Uri,byte[]> getWithUri(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.content.ContentProviderOperation newSetOperation(android.accounts.Account, byte[]);
+    method public static void set(android.content.ContentProviderClient, android.accounts.Account, byte[]) throws android.os.RemoteException;
+    field public static final String CONTENT_DIRECTORY = "syncstate";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public static final class ContactsContract.ProviderStatus {
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/provider_status";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATABASE_CREATION_TIMESTAMP = "database_creation_timestamp";
+    field public static final String STATUS = "status";
+    field public static final int STATUS_BUSY = 1; // 0x1
+    field public static final int STATUS_EMPTY = 2; // 0x2
+    field public static final int STATUS_NORMAL = 0; // 0x0
+  }
+
+  public static final class ContactsContract.QuickContact {
+    ctor public ContactsContract.QuickContact();
+    method public static void showQuickContact(android.content.Context, android.view.View, android.net.Uri, int, String[]);
+    method public static void showQuickContact(android.content.Context, android.graphics.Rect, android.net.Uri, int, String[]);
+    method public static void showQuickContact(android.content.Context, android.view.View, android.net.Uri, String[], String);
+    method public static void showQuickContact(android.content.Context, android.graphics.Rect, android.net.Uri, String[], String);
+    field public static final String ACTION_QUICK_CONTACT = "android.provider.action.QUICK_CONTACT";
+    field public static final String EXTRA_EXCLUDE_MIMES = "android.provider.extra.EXCLUDE_MIMES";
+    field public static final String EXTRA_MODE = "android.provider.extra.MODE";
+    field public static final String EXTRA_PRIORITIZED_MIMETYPE = "android.provider.extra.PRIORITIZED_MIMETYPE";
+    field public static final int MODE_LARGE = 3; // 0x3
+    field public static final int MODE_MEDIUM = 2; // 0x2
+    field public static final int MODE_SMALL = 1; // 0x1
+  }
+
+  public static final class ContactsContract.RawContacts implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.SyncColumns {
+    method public static android.net.Uri getContactLookupUri(android.content.ContentResolver, android.net.Uri);
+    method @Nullable public static String getLocalAccountName(@NonNull android.content.Context);
+    method @Nullable public static String getLocalAccountType(@NonNull android.content.Context);
+    method public static android.content.EntityIterator newEntityIterator(android.database.Cursor);
+    field public static final int AGGREGATION_MODE_DEFAULT = 0; // 0x0
+    field public static final int AGGREGATION_MODE_DISABLED = 3; // 0x3
+    field @Deprecated public static final int AGGREGATION_MODE_IMMEDIATE = 1; // 0x1
+    field public static final int AGGREGATION_MODE_SUSPENDED = 2; // 0x2
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/raw_contact";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/raw_contact";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public static final class ContactsContract.RawContacts.Data implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns {
+    field public static final String CONTENT_DIRECTORY = "data";
+  }
+
+  public static final class ContactsContract.RawContacts.DisplayPhoto {
+    field public static final String CONTENT_DIRECTORY = "display_photo";
+  }
+
+  public static final class ContactsContract.RawContacts.Entity implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns {
+    field public static final String CONTENT_DIRECTORY = "entity";
+    field public static final String DATA_ID = "data_id";
+  }
+
+  protected static interface ContactsContract.RawContactsColumns {
+    field public static final String ACCOUNT_TYPE_AND_DATA_SET = "account_type_and_data_set";
+    field public static final String AGGREGATION_MODE = "aggregation_mode";
+    field public static final String BACKUP_ID = "backup_id";
+    field public static final String CONTACT_ID = "contact_id";
+    field public static final String DATA_SET = "data_set";
+    field public static final String DELETED = "deleted";
+    field @Deprecated public static final String METADATA_DIRTY = "metadata_dirty";
+    field public static final String RAW_CONTACT_IS_READ_ONLY = "raw_contact_is_read_only";
+    field public static final String RAW_CONTACT_IS_USER_PROFILE = "raw_contact_is_user_profile";
+  }
+
+  public static final class ContactsContract.RawContactsEntity implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.RawContactsColumns {
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/raw_contact_entity";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATA_ID = "data_id";
+    field public static final android.net.Uri PROFILE_CONTENT_URI;
+  }
+
+  public static class ContactsContract.SearchSnippets {
+    ctor public ContactsContract.SearchSnippets();
+    field public static final String DEFERRED_SNIPPETING_KEY = "deferred_snippeting";
+    field public static final String SNIPPET = "snippet";
+  }
+
+  public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/setting";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/setting";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface ContactsContract.SettingsColumns {
+    field public static final String ACCOUNT_NAME = "account_name";
+    field public static final String ACCOUNT_TYPE = "account_type";
+    field public static final String ANY_UNSYNCED = "any_unsynced";
+    field public static final String DATA_SET = "data_set";
+    field public static final String SHOULD_SYNC = "should_sync";
+    field public static final String UNGROUPED_COUNT = "summ_count";
+    field public static final String UNGROUPED_VISIBLE = "ungrouped_visible";
+    field public static final String UNGROUPED_WITH_PHONES = "summ_phones";
+  }
+
+  public static final class ContactsContract.SimAccount implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getAccountName();
+    method @NonNull public String getAccountType();
+    method public int getEfType();
+    method public int getSimSlotIndex();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int ADN_EF_TYPE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.provider.ContactsContract.SimAccount> CREATOR;
+    field public static final int FDN_EF_TYPE = 2; // 0x2
+    field public static final int SDN_EF_TYPE = 3; // 0x3
+    field public static final int UNKNOWN_EF_TYPE = 0; // 0x0
+  }
+
+  public static final class ContactsContract.SimContacts {
+    method @NonNull public static java.util.List<android.provider.ContactsContract.SimAccount> getSimAccounts(@NonNull android.content.ContentResolver);
+    field public static final String ACTION_SIM_ACCOUNTS_CHANGED = "android.provider.action.SIM_ACCOUNTS_CHANGED";
+  }
+
+  protected static interface ContactsContract.StatusColumns {
+    field public static final int AVAILABLE = 5; // 0x5
+    field public static final int AWAY = 2; // 0x2
+    field public static final int CAPABILITY_HAS_CAMERA = 4; // 0x4
+    field public static final int CAPABILITY_HAS_VIDEO = 2; // 0x2
+    field public static final int CAPABILITY_HAS_VOICE = 1; // 0x1
+    field public static final String CHAT_CAPABILITY = "chat_capability";
+    field public static final int DO_NOT_DISTURB = 4; // 0x4
+    field public static final int IDLE = 3; // 0x3
+    field public static final int INVISIBLE = 1; // 0x1
+    field public static final int OFFLINE = 0; // 0x0
+    field public static final String PRESENCE = "mode";
+    field @Deprecated public static final String PRESENCE_CUSTOM_STATUS = "status";
+    field @Deprecated public static final String PRESENCE_STATUS = "mode";
+    field public static final String STATUS = "status";
+    field public static final String STATUS_ICON = "status_icon";
+    field public static final String STATUS_LABEL = "status_label";
+    field public static final String STATUS_RES_PACKAGE = "status_res_package";
+    field public static final String STATUS_TIMESTAMP = "status_ts";
+  }
+
+  public static class ContactsContract.StatusUpdates implements android.provider.ContactsContract.PresenceColumns android.provider.ContactsContract.StatusColumns {
+    method public static final int getPresenceIconResourceId(int);
+    method public static final int getPresencePrecedence(int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/status-update";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/status-update";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri PROFILE_CONTENT_URI;
+  }
+
+  protected static interface ContactsContract.SyncColumns extends android.provider.ContactsContract.BaseSyncColumns {
+    field public static final String ACCOUNT_NAME = "account_name";
+    field public static final String ACCOUNT_TYPE = "account_type";
+    field public static final String DIRTY = "dirty";
+    field public static final String SOURCE_ID = "sourceid";
+    field public static final String VERSION = "version";
+  }
+
+  public static final class ContactsContract.SyncState implements android.provider.SyncStateContract.Columns {
+    method public static byte[] get(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.util.Pair<android.net.Uri,byte[]> getWithUri(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.content.ContentProviderOperation newSetOperation(android.accounts.Account, byte[]);
+    method public static void set(android.content.ContentProviderClient, android.accounts.Account, byte[]) throws android.os.RemoteException;
+    field public static final String CONTENT_DIRECTORY = "syncstate";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public final class DocumentsContract {
+    method public static android.net.Uri buildChildDocumentsUri(String, String);
+    method public static android.net.Uri buildChildDocumentsUriUsingTree(android.net.Uri, String);
+    method public static android.net.Uri buildDocumentUri(String, String);
+    method public static android.net.Uri buildDocumentUriUsingTree(android.net.Uri, String);
+    method public static android.net.Uri buildRecentDocumentsUri(String, String);
+    method public static android.net.Uri buildRootUri(String, String);
+    method public static android.net.Uri buildRootsUri(String);
+    method public static android.net.Uri buildSearchDocumentsUri(String, String, String);
+    method public static android.net.Uri buildTreeDocumentUri(String, String);
+    method @Nullable public static android.net.Uri copyDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method @Nullable public static android.net.Uri createDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull String, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public static android.content.IntentSender createWebLinkIntent(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
+    method public static boolean deleteDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method public static void ejectRoot(@NonNull android.content.ContentResolver, @NonNull android.net.Uri);
+    method @Nullable public static android.provider.DocumentsContract.Path findDocumentPath(@NonNull android.content.ContentResolver, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method public static String getDocumentId(android.net.Uri);
+    method @Nullable public static android.os.Bundle getDocumentMetadata(@NonNull android.content.ContentResolver, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method @Nullable public static android.graphics.Bitmap getDocumentThumbnail(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull android.graphics.Point, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public static String getRootId(android.net.Uri);
+    method public static String getSearchDocumentsQuery(android.net.Uri);
+    method public static String getTreeDocumentId(android.net.Uri);
+    method public static boolean isChildDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method public static boolean isDocumentUri(android.content.Context, @Nullable android.net.Uri);
+    method public static boolean isRootUri(@NonNull android.content.Context, @Nullable android.net.Uri);
+    method public static boolean isRootsUri(@NonNull android.content.Context, @Nullable android.net.Uri);
+    method public static boolean isTreeUri(android.net.Uri);
+    method @Nullable public static android.net.Uri moveDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method public static boolean removeDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method @Nullable public static android.net.Uri renameDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    field public static final String ACTION_DOCUMENT_SETTINGS = "android.provider.action.DOCUMENT_SETTINGS";
+    field public static final String EXTRA_ERROR = "error";
+    field public static final String EXTRA_EXCLUDE_SELF = "android.provider.extra.EXCLUDE_SELF";
+    field public static final String EXTRA_INFO = "info";
+    field public static final String EXTRA_INITIAL_URI = "android.provider.extra.INITIAL_URI";
+    field public static final String EXTRA_LOADING = "loading";
+    field public static final String EXTRA_ORIENTATION = "android.provider.extra.ORIENTATION";
+    field public static final String EXTRA_PROMPT = "android.provider.extra.PROMPT";
+    field public static final String METADATA_EXIF = "android:documentExif";
+    field public static final String METADATA_TREE_COUNT = "android:metadataTreeCount";
+    field public static final String METADATA_TREE_SIZE = "android:metadataTreeSize";
+    field public static final String METADATA_TYPES = "android:documentMetadataTypes";
+    field public static final String PROVIDER_INTERFACE = "android.content.action.DOCUMENTS_PROVIDER";
+    field public static final String QUERY_ARG_DISPLAY_NAME = "android:query-arg-display-name";
+    field public static final String QUERY_ARG_EXCLUDE_MEDIA = "android:query-arg-exclude-media";
+    field public static final String QUERY_ARG_FILE_SIZE_OVER = "android:query-arg-file-size-over";
+    field public static final String QUERY_ARG_LAST_MODIFIED_AFTER = "android:query-arg-last-modified-after";
+    field public static final String QUERY_ARG_MIME_TYPES = "android:query-arg-mime-types";
+  }
+
+  public static final class DocumentsContract.Document {
+    field public static final String COLUMN_DISPLAY_NAME = "_display_name";
+    field public static final String COLUMN_DOCUMENT_ID = "document_id";
+    field public static final String COLUMN_FLAGS = "flags";
+    field public static final String COLUMN_ICON = "icon";
+    field public static final String COLUMN_LAST_MODIFIED = "last_modified";
+    field public static final String COLUMN_MIME_TYPE = "mime_type";
+    field public static final String COLUMN_SIZE = "_size";
+    field public static final String COLUMN_SUMMARY = "summary";
+    field public static final int FLAG_DIR_BLOCKS_OPEN_DOCUMENT_TREE = 32768; // 0x8000
+    field public static final int FLAG_DIR_PREFERS_GRID = 16; // 0x10
+    field public static final int FLAG_DIR_PREFERS_LAST_MODIFIED = 32; // 0x20
+    field public static final int FLAG_DIR_SUPPORTS_CREATE = 8; // 0x8
+    field public static final int FLAG_PARTIAL = 8192; // 0x2000
+    field public static final int FLAG_SUPPORTS_COPY = 128; // 0x80
+    field public static final int FLAG_SUPPORTS_DELETE = 4; // 0x4
+    field public static final int FLAG_SUPPORTS_METADATA = 16384; // 0x4000
+    field public static final int FLAG_SUPPORTS_MOVE = 256; // 0x100
+    field public static final int FLAG_SUPPORTS_REMOVE = 1024; // 0x400
+    field public static final int FLAG_SUPPORTS_RENAME = 64; // 0x40
+    field public static final int FLAG_SUPPORTS_SETTINGS = 2048; // 0x800
+    field public static final int FLAG_SUPPORTS_THUMBNAIL = 1; // 0x1
+    field public static final int FLAG_SUPPORTS_WRITE = 2; // 0x2
+    field public static final int FLAG_VIRTUAL_DOCUMENT = 512; // 0x200
+    field public static final int FLAG_WEB_LINKABLE = 4096; // 0x1000
+    field public static final String MIME_TYPE_DIR = "vnd.android.document/directory";
+  }
+
+  public static final class DocumentsContract.Path implements android.os.Parcelable {
+    ctor public DocumentsContract.Path(@Nullable String, java.util.List<java.lang.String>);
+    method public int describeContents();
+    method public java.util.List<java.lang.String> getPath();
+    method @Nullable public String getRootId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.provider.DocumentsContract.Path> CREATOR;
+  }
+
+  public static final class DocumentsContract.Root {
+    field public static final String COLUMN_AVAILABLE_BYTES = "available_bytes";
+    field public static final String COLUMN_CAPACITY_BYTES = "capacity_bytes";
+    field public static final String COLUMN_DOCUMENT_ID = "document_id";
+    field public static final String COLUMN_FLAGS = "flags";
+    field public static final String COLUMN_ICON = "icon";
+    field public static final String COLUMN_MIME_TYPES = "mime_types";
+    field public static final String COLUMN_QUERY_ARGS = "query_args";
+    field public static final String COLUMN_ROOT_ID = "root_id";
+    field public static final String COLUMN_SUMMARY = "summary";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final int FLAG_EMPTY = 64; // 0x40
+    field public static final int FLAG_LOCAL_ONLY = 2; // 0x2
+    field public static final int FLAG_SUPPORTS_CREATE = 1; // 0x1
+    field public static final int FLAG_SUPPORTS_EJECT = 32; // 0x20
+    field public static final int FLAG_SUPPORTS_IS_CHILD = 16; // 0x10
+    field public static final int FLAG_SUPPORTS_RECENTS = 4; // 0x4
+    field public static final int FLAG_SUPPORTS_SEARCH = 8; // 0x8
+    field public static final String MIME_TYPE_ITEM = "vnd.android.document/root";
+  }
+
+  public abstract class DocumentsProvider extends android.content.ContentProvider {
+    ctor public DocumentsProvider();
+    method public String copyDocument(String, String) throws java.io.FileNotFoundException;
+    method public String createDocument(String, String, String) throws java.io.FileNotFoundException;
+    method public android.content.IntentSender createWebLinkIntent(String, @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
+    method public final int delete(android.net.Uri, String, String[]);
+    method public void deleteDocument(String) throws java.io.FileNotFoundException;
+    method public void ejectRoot(String);
+    method public android.provider.DocumentsContract.Path findDocumentPath(@Nullable String, String) throws java.io.FileNotFoundException;
+    method @Nullable public android.os.Bundle getDocumentMetadata(@NonNull String) throws java.io.FileNotFoundException;
+    method public String[] getDocumentStreamTypes(String, String);
+    method public String getDocumentType(String) throws java.io.FileNotFoundException;
+    method public final String getType(android.net.Uri);
+    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+    method public boolean isChildDocument(String, String);
+    method public String moveDocument(String, String, String) throws java.io.FileNotFoundException;
+    method public final android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, String) throws java.io.FileNotFoundException;
+    method public final android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, String, android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public abstract android.os.ParcelFileDescriptor openDocument(String, String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public android.content.res.AssetFileDescriptor openDocumentThumbnail(String, android.graphics.Point, android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public final android.os.ParcelFileDescriptor openFile(android.net.Uri, String) throws java.io.FileNotFoundException;
+    method public final android.os.ParcelFileDescriptor openFile(android.net.Uri, String, android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public final android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, String, android.os.Bundle) throws java.io.FileNotFoundException;
+    method public final android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public android.content.res.AssetFileDescriptor openTypedDocument(String, String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public final android.database.Cursor query(android.net.Uri, String[], String, String[], String);
+    method public final android.database.Cursor query(android.net.Uri, String[], android.os.Bundle, android.os.CancellationSignal);
+    method public abstract android.database.Cursor queryChildDocuments(String, String[], String) throws java.io.FileNotFoundException;
+    method public android.database.Cursor queryChildDocuments(String, @Nullable String[], @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
+    method public abstract android.database.Cursor queryDocument(String, String[]) throws java.io.FileNotFoundException;
+    method public android.database.Cursor queryRecentDocuments(String, String[]) throws java.io.FileNotFoundException;
+    method @Nullable public android.database.Cursor queryRecentDocuments(@NonNull String, @Nullable String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public abstract android.database.Cursor queryRoots(String[]) throws java.io.FileNotFoundException;
+    method public android.database.Cursor querySearchDocuments(String, String, String[]) throws java.io.FileNotFoundException;
+    method @Nullable public android.database.Cursor querySearchDocuments(@NonNull String, @Nullable String[], @NonNull android.os.Bundle) throws java.io.FileNotFoundException;
+    method public void removeDocument(String, String) throws java.io.FileNotFoundException;
+    method public String renameDocument(String, String) throws java.io.FileNotFoundException;
+    method public final void revokeDocumentPermission(String);
+    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
+  }
+
+  @Deprecated public final class FontRequest {
+    ctor @Deprecated public FontRequest(@NonNull String, @NonNull String, @NonNull String);
+    ctor @Deprecated public FontRequest(@NonNull String, @NonNull String, @NonNull String, @NonNull java.util.List<java.util.List<byte[]>>);
+    method @Deprecated public java.util.List<java.util.List<byte[]>> getCertificates();
+    method @Deprecated public String getProviderAuthority();
+    method @Deprecated public String getProviderPackage();
+    method @Deprecated public String getQuery();
+  }
+
+  @Deprecated public class FontsContract {
+    method @Deprecated public static android.graphics.Typeface buildTypeface(@NonNull android.content.Context, @Nullable android.os.CancellationSignal, @NonNull android.provider.FontsContract.FontInfo[]);
+    method @Deprecated @NonNull public static android.provider.FontsContract.FontFamilyResult fetchFonts(@NonNull android.content.Context, @Nullable android.os.CancellationSignal, @NonNull android.provider.FontRequest) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public static void requestFonts(@NonNull android.content.Context, @NonNull android.provider.FontRequest, @NonNull android.os.Handler, @Nullable android.os.CancellationSignal, @NonNull android.provider.FontsContract.FontRequestCallback);
+  }
+
+  @Deprecated public static final class FontsContract.Columns implements android.provider.BaseColumns {
+    field @Deprecated public static final String FILE_ID = "file_id";
+    field @Deprecated public static final String ITALIC = "font_italic";
+    field @Deprecated public static final String RESULT_CODE = "result_code";
+    field @Deprecated public static final int RESULT_CODE_FONT_NOT_FOUND = 1; // 0x1
+    field @Deprecated public static final int RESULT_CODE_FONT_UNAVAILABLE = 2; // 0x2
+    field @Deprecated public static final int RESULT_CODE_MALFORMED_QUERY = 3; // 0x3
+    field @Deprecated public static final int RESULT_CODE_OK = 0; // 0x0
+    field @Deprecated public static final String TTC_INDEX = "font_ttc_index";
+    field @Deprecated public static final String VARIATION_SETTINGS = "font_variation_settings";
+    field @Deprecated public static final String WEIGHT = "font_weight";
+  }
+
+  @Deprecated public static class FontsContract.FontFamilyResult {
+    method @Deprecated @NonNull public android.provider.FontsContract.FontInfo[] getFonts();
+    method @Deprecated public int getStatusCode();
+    field @Deprecated public static final int STATUS_OK = 0; // 0x0
+    field @Deprecated public static final int STATUS_REJECTED = 3; // 0x3
+    field @Deprecated public static final int STATUS_UNEXPECTED_DATA_PROVIDED = 2; // 0x2
+    field @Deprecated public static final int STATUS_WRONG_CERTIFICATES = 1; // 0x1
+  }
+
+  @Deprecated public static class FontsContract.FontInfo {
+    method @Deprecated @Nullable public android.graphics.fonts.FontVariationAxis[] getAxes();
+    method @Deprecated public int getResultCode();
+    method @Deprecated @IntRange(from=0) public int getTtcIndex();
+    method @Deprecated @NonNull public android.net.Uri getUri();
+    method @Deprecated @IntRange(from=1, to=1000) public int getWeight();
+    method @Deprecated public boolean isItalic();
+  }
+
+  @Deprecated public static class FontsContract.FontRequestCallback {
+    ctor @Deprecated public FontsContract.FontRequestCallback();
+    method @Deprecated public void onTypefaceRequestFailed(int);
+    method @Deprecated public void onTypefaceRetrieved(android.graphics.Typeface);
+    field @Deprecated public static final int FAIL_REASON_FONT_LOAD_ERROR = -3; // 0xfffffffd
+    field @Deprecated public static final int FAIL_REASON_FONT_NOT_FOUND = 1; // 0x1
+    field @Deprecated public static final int FAIL_REASON_FONT_UNAVAILABLE = 2; // 0x2
+    field @Deprecated public static final int FAIL_REASON_MALFORMED_QUERY = 3; // 0x3
+    field @Deprecated public static final int FAIL_REASON_PROVIDER_NOT_FOUND = -1; // 0xffffffff
+    field @Deprecated public static final int FAIL_REASON_WRONG_CERTIFICATES = -2; // 0xfffffffe
+  }
+
+  @Deprecated public final class LiveFolders implements android.provider.BaseColumns {
+    field @Deprecated public static final String ACTION_CREATE_LIVE_FOLDER = "android.intent.action.CREATE_LIVE_FOLDER";
+    field @Deprecated public static final String DESCRIPTION = "description";
+    field @Deprecated public static final int DISPLAY_MODE_GRID = 1; // 0x1
+    field @Deprecated public static final int DISPLAY_MODE_LIST = 2; // 0x2
+    field @Deprecated public static final String EXTRA_LIVE_FOLDER_BASE_INTENT = "android.intent.extra.livefolder.BASE_INTENT";
+    field @Deprecated public static final String EXTRA_LIVE_FOLDER_DISPLAY_MODE = "android.intent.extra.livefolder.DISPLAY_MODE";
+    field @Deprecated public static final String EXTRA_LIVE_FOLDER_ICON = "android.intent.extra.livefolder.ICON";
+    field @Deprecated public static final String EXTRA_LIVE_FOLDER_NAME = "android.intent.extra.livefolder.NAME";
+    field @Deprecated public static final String ICON_BITMAP = "icon_bitmap";
+    field @Deprecated public static final String ICON_PACKAGE = "icon_package";
+    field @Deprecated public static final String ICON_RESOURCE = "icon_resource";
+    field @Deprecated public static final String INTENT = "intent";
+    field @Deprecated public static final String NAME = "name";
+  }
+
+  public interface OpenableColumns {
+    field public static final String DISPLAY_NAME = "_display_name";
+    field public static final String SIZE = "_size";
+  }
+
+  public class SearchRecentSuggestions {
+    ctor public SearchRecentSuggestions(android.content.Context, String, int);
+    method public void clearHistory();
+    method public void saveRecentQuery(String, String);
+    method protected void truncateHistory(android.content.ContentResolver, int);
+    field public static final String[] QUERIES_PROJECTION_1LINE;
+    field public static final String[] QUERIES_PROJECTION_2LINE;
+    field public static final int QUERIES_PROJECTION_DATE_INDEX = 1; // 0x1
+    field public static final int QUERIES_PROJECTION_DISPLAY1_INDEX = 3; // 0x3
+    field public static final int QUERIES_PROJECTION_DISPLAY2_INDEX = 4; // 0x4
+    field public static final int QUERIES_PROJECTION_QUERY_INDEX = 2; // 0x2
+  }
+
+  public final class Settings {
+    ctor public Settings();
+    method public static boolean canDrawOverlays(android.content.Context);
+    field public static final String ACTION_ACCESSIBILITY_SETTINGS = "android.settings.ACCESSIBILITY_SETTINGS";
+    field public static final String ACTION_ADD_ACCOUNT = "android.settings.ADD_ACCOUNT_SETTINGS";
+    field public static final String ACTION_AIRPLANE_MODE_SETTINGS = "android.settings.AIRPLANE_MODE_SETTINGS";
+    field public static final String ACTION_APN_SETTINGS = "android.settings.APN_SETTINGS";
+    field public static final String ACTION_APPLICATION_DETAILS_SETTINGS = "android.settings.APPLICATION_DETAILS_SETTINGS";
+    field public static final String ACTION_APPLICATION_DEVELOPMENT_SETTINGS = "android.settings.APPLICATION_DEVELOPMENT_SETTINGS";
+    field public static final String ACTION_APPLICATION_SETTINGS = "android.settings.APPLICATION_SETTINGS";
+    field public static final String ACTION_APP_NOTIFICATION_BUBBLE_SETTINGS = "android.settings.APP_NOTIFICATION_BUBBLE_SETTINGS";
+    field public static final String ACTION_APP_NOTIFICATION_SETTINGS = "android.settings.APP_NOTIFICATION_SETTINGS";
+    field public static final String ACTION_APP_OPEN_BY_DEFAULT_SETTINGS = "android.settings.APP_OPEN_BY_DEFAULT_SETTINGS";
+    field public static final String ACTION_APP_SEARCH_SETTINGS = "android.settings.APP_SEARCH_SETTINGS";
+    field public static final String ACTION_APP_USAGE_SETTINGS = "android.settings.action.APP_USAGE_SETTINGS";
+    field public static final String ACTION_AUTO_ROTATE_SETTINGS = "android.settings.AUTO_ROTATE_SETTINGS";
+    field public static final String ACTION_BATTERY_SAVER_SETTINGS = "android.settings.BATTERY_SAVER_SETTINGS";
+    field public static final String ACTION_BIOMETRIC_ENROLL = "android.settings.BIOMETRIC_ENROLL";
+    field public static final String ACTION_BLUETOOTH_SETTINGS = "android.settings.BLUETOOTH_SETTINGS";
+    field public static final String ACTION_CAPTIONING_SETTINGS = "android.settings.CAPTIONING_SETTINGS";
+    field public static final String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS";
+    field public static final String ACTION_CHANNEL_NOTIFICATION_SETTINGS = "android.settings.CHANNEL_NOTIFICATION_SETTINGS";
+    field public static final String ACTION_CONDITION_PROVIDER_SETTINGS = "android.settings.ACTION_CONDITION_PROVIDER_SETTINGS";
+    field public static final String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS";
+    field public static final String ACTION_DATA_USAGE_SETTINGS = "android.settings.DATA_USAGE_SETTINGS";
+    field public static final String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS";
+    field public static final String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS";
+    field public static final String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS";
+    field public static final String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS";
+    field @Deprecated public static final String ACTION_FINGERPRINT_ENROLL = "android.settings.FINGERPRINT_ENROLL";
+    field public static final String ACTION_HARD_KEYBOARD_SETTINGS = "android.settings.HARD_KEYBOARD_SETTINGS";
+    field public static final String ACTION_HOME_SETTINGS = "android.settings.HOME_SETTINGS";
+    field public static final String ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS = "android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS";
+    field public static final String ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS = "android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS";
+    field public static final String ACTION_INPUT_METHOD_SETTINGS = "android.settings.INPUT_METHOD_SETTINGS";
+    field public static final String ACTION_INPUT_METHOD_SUBTYPE_SETTINGS = "android.settings.INPUT_METHOD_SUBTYPE_SETTINGS";
+    field public static final String ACTION_INTERNAL_STORAGE_SETTINGS = "android.settings.INTERNAL_STORAGE_SETTINGS";
+    field public static final String ACTION_LOCALE_SETTINGS = "android.settings.LOCALE_SETTINGS";
+    field public static final String ACTION_LOCATION_SOURCE_SETTINGS = "android.settings.LOCATION_SOURCE_SETTINGS";
+    field public static final String ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS = "android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS";
+    field public static final String ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION = "android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION";
+    field public static final String ACTION_MANAGE_ALL_SIM_PROFILES_SETTINGS = "android.settings.MANAGE_ALL_SIM_PROFILES_SETTINGS";
+    field public static final String ACTION_MANAGE_APPLICATIONS_SETTINGS = "android.settings.MANAGE_APPLICATIONS_SETTINGS";
+    field public static final String ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION = "android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION";
+    field public static final String ACTION_MANAGE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_DEFAULT_APPS_SETTINGS";
+    field public static final String ACTION_MANAGE_OVERLAY_PERMISSION = "android.settings.action.MANAGE_OVERLAY_PERMISSION";
+    field public static final String ACTION_MANAGE_UNKNOWN_APP_SOURCES = "android.settings.MANAGE_UNKNOWN_APP_SOURCES";
+    field public static final String ACTION_MANAGE_WRITE_SETTINGS = "android.settings.action.MANAGE_WRITE_SETTINGS";
+    field public static final String ACTION_MEMORY_CARD_SETTINGS = "android.settings.MEMORY_CARD_SETTINGS";
+    field public static final String ACTION_NETWORK_OPERATOR_SETTINGS = "android.settings.NETWORK_OPERATOR_SETTINGS";
+    field public static final String ACTION_NFCSHARING_SETTINGS = "android.settings.NFCSHARING_SETTINGS";
+    field public static final String ACTION_NFC_PAYMENT_SETTINGS = "android.settings.NFC_PAYMENT_SETTINGS";
+    field public static final String ACTION_NFC_SETTINGS = "android.settings.NFC_SETTINGS";
+    field public static final String ACTION_NIGHT_DISPLAY_SETTINGS = "android.settings.NIGHT_DISPLAY_SETTINGS";
+    field public static final String ACTION_NOTIFICATION_ASSISTANT_SETTINGS = "android.settings.NOTIFICATION_ASSISTANT_SETTINGS";
+    field public static final String ACTION_NOTIFICATION_LISTENER_DETAIL_SETTINGS = "android.settings.NOTIFICATION_LISTENER_DETAIL_SETTINGS";
+    field public static final String ACTION_NOTIFICATION_LISTENER_SETTINGS = "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS";
+    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS";
+    field public static final String ACTION_PRINT_SETTINGS = "android.settings.ACTION_PRINT_SETTINGS";
+    field public static final String ACTION_PRIVACY_SETTINGS = "android.settings.PRIVACY_SETTINGS";
+    field public static final String ACTION_PROCESS_WIFI_EASY_CONNECT_URI = "android.settings.PROCESS_WIFI_EASY_CONNECT_URI";
+    field public static final String ACTION_QUICK_ACCESS_WALLET_SETTINGS = "android.settings.QUICK_ACCESS_WALLET_SETTINGS";
+    field public static final String ACTION_QUICK_LAUNCH_SETTINGS = "android.settings.QUICK_LAUNCH_SETTINGS";
+    field public static final String ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS = "android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS";
+    field public static final String ACTION_REQUEST_MANAGE_MEDIA = "android.settings.REQUEST_MANAGE_MEDIA";
+    field public static final String ACTION_REQUEST_SCHEDULE_EXACT_ALARM = "android.settings.REQUEST_SCHEDULE_EXACT_ALARM";
+    field public static final String ACTION_REQUEST_SET_AUTOFILL_SERVICE = "android.settings.REQUEST_SET_AUTOFILL_SERVICE";
+    field public static final String ACTION_SEARCH_SETTINGS = "android.search.action.SEARCH_SETTINGS";
+    field public static final String ACTION_SECURITY_SETTINGS = "android.settings.SECURITY_SETTINGS";
+    field public static final String ACTION_SETTINGS = "android.settings.SETTINGS";
+    field public static final String ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY = "android.settings.SETTINGS_EMBED_DEEP_LINK_ACTIVITY";
+    field public static final String ACTION_SHOW_REGULATORY_INFO = "android.settings.SHOW_REGULATORY_INFO";
+    field public static final String ACTION_SHOW_WORK_POLICY_INFO = "android.settings.SHOW_WORK_POLICY_INFO";
+    field public static final String ACTION_SOUND_SETTINGS = "android.settings.SOUND_SETTINGS";
+    field @Deprecated public static final String ACTION_STORAGE_VOLUME_ACCESS_SETTINGS = "android.settings.STORAGE_VOLUME_ACCESS_SETTINGS";
+    field public static final String ACTION_SYNC_SETTINGS = "android.settings.SYNC_SETTINGS";
+    field public static final String ACTION_USAGE_ACCESS_SETTINGS = "android.settings.USAGE_ACCESS_SETTINGS";
+    field public static final String ACTION_USER_DICTIONARY_SETTINGS = "android.settings.USER_DICTIONARY_SETTINGS";
+    field public static final String ACTION_VOICE_CONTROL_AIRPLANE_MODE = "android.settings.VOICE_CONTROL_AIRPLANE_MODE";
+    field public static final String ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE = "android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE";
+    field public static final String ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE = "android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE";
+    field public static final String ACTION_VOICE_INPUT_SETTINGS = "android.settings.VOICE_INPUT_SETTINGS";
+    field public static final String ACTION_VPN_SETTINGS = "android.settings.VPN_SETTINGS";
+    field public static final String ACTION_VR_LISTENER_SETTINGS = "android.settings.VR_LISTENER_SETTINGS";
+    field public static final String ACTION_WEBVIEW_SETTINGS = "android.settings.WEBVIEW_SETTINGS";
+    field public static final String ACTION_WIFI_ADD_NETWORKS = "android.settings.WIFI_ADD_NETWORKS";
+    field public static final String ACTION_WIFI_IP_SETTINGS = "android.settings.WIFI_IP_SETTINGS";
+    field public static final String ACTION_WIFI_SETTINGS = "android.settings.WIFI_SETTINGS";
+    field public static final String ACTION_WIRELESS_SETTINGS = "android.settings.WIRELESS_SETTINGS";
+    field public static final String ACTION_ZEN_MODE_PRIORITY_SETTINGS = "android.settings.ZEN_MODE_PRIORITY_SETTINGS";
+    field public static final int ADD_WIFI_RESULT_ADD_OR_UPDATE_FAILED = 1; // 0x1
+    field public static final int ADD_WIFI_RESULT_ALREADY_EXISTS = 2; // 0x2
+    field public static final int ADD_WIFI_RESULT_SUCCESS = 0; // 0x0
+    field public static final String AUTHORITY = "settings";
+    field public static final String EXTRA_ACCOUNT_TYPES = "account_types";
+    field public static final String EXTRA_AIRPLANE_MODE_ENABLED = "airplane_mode_enabled";
+    field public static final String EXTRA_APP_PACKAGE = "android.provider.extra.APP_PACKAGE";
+    field public static final String EXTRA_AUTHORITIES = "authorities";
+    field public static final String EXTRA_BATTERY_SAVER_MODE_ENABLED = "android.settings.extra.battery_saver_mode_enabled";
+    field public static final String EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED = "android.provider.extra.BIOMETRIC_AUTHENTICATORS_ALLOWED";
+    field public static final String EXTRA_CHANNEL_FILTER_LIST = "android.provider.extra.CHANNEL_FILTER_LIST";
+    field public static final String EXTRA_CHANNEL_ID = "android.provider.extra.CHANNEL_ID";
+    field public static final String EXTRA_CONVERSATION_ID = "android.provider.extra.CONVERSATION_ID";
+    field public static final String EXTRA_DO_NOT_DISTURB_MODE_ENABLED = "android.settings.extra.do_not_disturb_mode_enabled";
+    field public static final String EXTRA_DO_NOT_DISTURB_MODE_MINUTES = "android.settings.extra.do_not_disturb_mode_minutes";
+    field public static final String EXTRA_EASY_CONNECT_ATTEMPTED_SSID = "android.provider.extra.EASY_CONNECT_ATTEMPTED_SSID";
+    field public static final String EXTRA_EASY_CONNECT_BAND_LIST = "android.provider.extra.EASY_CONNECT_BAND_LIST";
+    field public static final String EXTRA_EASY_CONNECT_CHANNEL_LIST = "android.provider.extra.EASY_CONNECT_CHANNEL_LIST";
+    field public static final String EXTRA_EASY_CONNECT_ERROR_CODE = "android.provider.extra.EASY_CONNECT_ERROR_CODE";
+    field public static final String EXTRA_INPUT_METHOD_ID = "input_method_id";
+    field public static final String EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME = "android.provider.extra.NOTIFICATION_LISTENER_COMPONENT_NAME";
+    field public static final String EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY = "android.provider.extra.SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY";
+    field public static final String EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI = "android.provider.extra.SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI";
+    field public static final String EXTRA_SUB_ID = "android.provider.extra.SUB_ID";
+    field public static final String EXTRA_WIFI_NETWORK_LIST = "android.provider.extra.WIFI_NETWORK_LIST";
+    field public static final String EXTRA_WIFI_NETWORK_RESULT_LIST = "android.provider.extra.WIFI_NETWORK_RESULT_LIST";
+    field public static final String INTENT_CATEGORY_USAGE_ACCESS_CONFIG = "android.intent.category.USAGE_ACCESS_CONFIG";
+    field public static final String METADATA_USAGE_ACCESS_REASON = "android.settings.metadata.USAGE_ACCESS_REASON";
+  }
+
+  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
+    ctor public Settings.Global();
+    method public static float getFloat(android.content.ContentResolver, String, float);
+    method public static float getFloat(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static int getInt(android.content.ContentResolver, String, int);
+    method public static int getInt(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static long getLong(android.content.ContentResolver, String, long);
+    method public static long getLong(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static String getString(android.content.ContentResolver, String);
+    method public static android.net.Uri getUriFor(String);
+    method public static boolean putFloat(android.content.ContentResolver, String, float);
+    method public static boolean putInt(android.content.ContentResolver, String, int);
+    method public static boolean putLong(android.content.ContentResolver, String, long);
+    method public static boolean putString(android.content.ContentResolver, String, String);
+    field public static final String ADB_ENABLED = "adb_enabled";
+    field public static final String AIRPLANE_MODE_ON = "airplane_mode_on";
+    field public static final String AIRPLANE_MODE_RADIOS = "airplane_mode_radios";
+    field public static final String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities";
+    field public static final String ANIMATOR_DURATION_SCALE = "animator_duration_scale";
+    field public static final String APPLY_RAMPING_RINGER = "apply_ramping_ringer";
+    field public static final String AUTO_TIME = "auto_time";
+    field public static final String AUTO_TIME_ZONE = "auto_time_zone";
+    field public static final String BLUETOOTH_ON = "bluetooth_on";
+    field public static final String BOOT_COUNT = "boot_count";
+    field public static final String CONTACT_METADATA_SYNC_ENABLED = "contact_metadata_sync_enabled";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATA_ROAMING = "data_roaming";
+    field public static final String DEBUG_APP = "debug_app";
+    field public static final String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled";
+    field public static final String DEVICE_NAME = "device_name";
+    field public static final String DEVICE_PROVISIONED = "device_provisioned";
+    field public static final String HTTP_PROXY = "http_proxy";
+    field @Deprecated public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
+    field public static final String MODE_RINGER = "mode_ringer";
+    field public static final String NETWORK_PREFERENCE = "network_preference";
+    field public static final String RADIO_BLUETOOTH = "bluetooth";
+    field public static final String RADIO_CELL = "cell";
+    field public static final String RADIO_NFC = "nfc";
+    field public static final String RADIO_WIFI = "wifi";
+    field @Deprecated public static final String SHOW_PROCESSES = "show_processes";
+    field public static final String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
+    field public static final String TRANSITION_ANIMATION_SCALE = "transition_animation_scale";
+    field public static final String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled";
+    field public static final String USE_GOOGLE_MAIL = "use_google_mail";
+    field public static final String WAIT_FOR_DEBUGGER = "wait_for_debugger";
+    field public static final String WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN = "wifi_device_owner_configs_lockdown";
+    field public static final String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
+    field public static final String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay";
+    field @Deprecated public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept";
+    field public static final String WIFI_ON = "wifi_on";
+    field @Deprecated public static final String WIFI_SLEEP_POLICY = "wifi_sleep_policy";
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_DEFAULT = 0; // 0x0
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_NEVER = 2; // 0x2
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED = 1; // 0x1
+    field public static final String WIFI_WATCHDOG_ON = "wifi_watchdog_on";
+    field public static final String WINDOW_ANIMATION_SCALE = "window_animation_scale";
+  }
+
+  public static class Settings.NameValueTable implements android.provider.BaseColumns {
+    ctor public Settings.NameValueTable();
+    method public static android.net.Uri getUriFor(android.net.Uri, String);
+    method protected static boolean putString(android.content.ContentResolver, android.net.Uri, String, String);
+    field public static final String NAME = "name";
+    field public static final String VALUE = "value";
+  }
+
+  public static final class Settings.Panel {
+    field public static final String ACTION_INTERNET_CONNECTIVITY = "android.settings.panel.action.INTERNET_CONNECTIVITY";
+    field public static final String ACTION_NFC = "android.settings.panel.action.NFC";
+    field public static final String ACTION_VOLUME = "android.settings.panel.action.VOLUME";
+    field public static final String ACTION_WIFI = "android.settings.panel.action.WIFI";
+  }
+
+  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
+    ctor public Settings.Secure();
+    method public static float getFloat(android.content.ContentResolver, String, float);
+    method public static float getFloat(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static int getInt(android.content.ContentResolver, String, int);
+    method public static int getInt(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static long getLong(android.content.ContentResolver, String, long);
+    method public static long getLong(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static String getString(android.content.ContentResolver, String);
+    method public static android.net.Uri getUriFor(String);
+    method @Deprecated public static boolean isLocationProviderEnabled(android.content.ContentResolver, String);
+    method public static boolean putFloat(android.content.ContentResolver, String, float);
+    method public static boolean putInt(android.content.ContentResolver, String, int);
+    method public static boolean putLong(android.content.ContentResolver, String, long);
+    method public static boolean putString(android.content.ContentResolver, String, String);
+    method @Deprecated public static void setLocationProviderEnabled(android.content.ContentResolver, String, boolean);
+    field public static final String ACCESSIBILITY_DISPLAY_INVERSION_ENABLED = "accessibility_display_inversion_enabled";
+    field public static final String ACCESSIBILITY_ENABLED = "accessibility_enabled";
+    field @Deprecated public static final String ACCESSIBILITY_SPEAK_PASSWORD = "speak_password";
+    field @Deprecated public static final String ADB_ENABLED = "adb_enabled";
+    field public static final String ALLOWED_GEOLOCATION_ORIGINS = "allowed_geolocation_origins";
+    field @Deprecated public static final String ALLOW_MOCK_LOCATION = "mock_location";
+    field public static final String ANDROID_ID = "android_id";
+    field @Deprecated public static final String BACKGROUND_DATA = "background_data";
+    field @Deprecated public static final String BLUETOOTH_ON = "bluetooth_on";
+    field public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DATA_ROAMING = "data_roaming";
+    field public static final String DEFAULT_INPUT_METHOD = "default_input_method";
+    field @Deprecated public static final String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled";
+    field @Deprecated public static final String DEVICE_PROVISIONED = "device_provisioned";
+    field public static final String ENABLED_ACCESSIBILITY_SERVICES = "enabled_accessibility_services";
+    field public static final String ENABLED_INPUT_METHODS = "enabled_input_methods";
+    field @Deprecated public static final String HTTP_PROXY = "http_proxy";
+    field public static final String INPUT_METHOD_SELECTOR_VISIBILITY = "input_method_selector_visibility";
+    field @Deprecated public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
+    field @Deprecated public static final String LOCATION_MODE = "location_mode";
+    field @Deprecated public static final int LOCATION_MODE_BATTERY_SAVING = 2; // 0x2
+    field @Deprecated public static final int LOCATION_MODE_HIGH_ACCURACY = 3; // 0x3
+    field public static final int LOCATION_MODE_OFF = 0; // 0x0
+    field @Deprecated public static final int LOCATION_MODE_SENSORS_ONLY = 1; // 0x1
+    field @Deprecated public static final String LOCATION_PROVIDERS_ALLOWED = "location_providers_allowed";
+    field @Deprecated public static final String LOCK_PATTERN_ENABLED = "lock_pattern_autolock";
+    field @Deprecated public static final String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED = "lock_pattern_tactile_feedback_enabled";
+    field @Deprecated public static final String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
+    field @Deprecated public static final String LOGGING_ID = "logging_id";
+    field @Deprecated public static final String NETWORK_PREFERENCE = "network_preference";
+    field public static final String PARENTAL_CONTROL_ENABLED = "parental_control_enabled";
+    field public static final String PARENTAL_CONTROL_LAST_UPDATE = "parental_control_last_update";
+    field public static final String PARENTAL_CONTROL_REDIRECT_URL = "parental_control_redirect_url";
+    field public static final String RTT_CALLING_MODE = "rtt_calling_mode";
+    field public static final String SECURE_FRP_MODE = "secure_frp_mode";
+    field public static final String SELECTED_INPUT_METHOD_SUBTYPE = "selected_input_method_subtype";
+    field public static final String SETTINGS_CLASSNAME = "settings_classname";
+    field public static final String SKIP_FIRST_USE_HINTS = "skip_first_use_hints";
+    field public static final String TOUCH_EXPLORATION_ENABLED = "touch_exploration_enabled";
+    field @Deprecated public static final String TTS_DEFAULT_COUNTRY = "tts_default_country";
+    field @Deprecated public static final String TTS_DEFAULT_LANG = "tts_default_lang";
+    field public static final String TTS_DEFAULT_PITCH = "tts_default_pitch";
+    field public static final String TTS_DEFAULT_RATE = "tts_default_rate";
+    field public static final String TTS_DEFAULT_SYNTH = "tts_default_synth";
+    field @Deprecated public static final String TTS_DEFAULT_VARIANT = "tts_default_variant";
+    field public static final String TTS_ENABLED_PLUGINS = "tts_enabled_plugins";
+    field @Deprecated public static final String TTS_USE_DEFAULTS = "tts_use_defaults";
+    field @Deprecated public static final String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled";
+    field @Deprecated public static final String USE_GOOGLE_MAIL = "use_google_mail";
+    field @Deprecated public static final String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
+    field @Deprecated public static final String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay";
+    field @Deprecated public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept";
+    field @Deprecated public static final String WIFI_ON = "wifi_on";
+    field @Deprecated public static final String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE = "wifi_watchdog_acceptable_packet_loss_percentage";
+    field @Deprecated public static final String WIFI_WATCHDOG_AP_COUNT = "wifi_watchdog_ap_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS = "wifi_watchdog_background_check_delay_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED = "wifi_watchdog_background_check_enabled";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS = "wifi_watchdog_background_check_timeout_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT = "wifi_watchdog_initial_ignored_ping_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_MAX_AP_CHECKS = "wifi_watchdog_max_ap_checks";
+    field @Deprecated public static final String WIFI_WATCHDOG_ON = "wifi_watchdog_on";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_COUNT = "wifi_watchdog_ping_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_DELAY_MS = "wifi_watchdog_ping_delay_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_TIMEOUT_MS = "wifi_watchdog_ping_timeout_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_WATCH_LIST = "wifi_watchdog_watch_list";
+  }
+
+  public static class Settings.SettingNotFoundException extends android.util.AndroidException {
+    ctor public Settings.SettingNotFoundException(String);
+  }
+
+  public static final class Settings.System extends android.provider.Settings.NameValueTable {
+    ctor public Settings.System();
+    method public static boolean canWrite(android.content.Context);
+    method public static void getConfiguration(android.content.ContentResolver, android.content.res.Configuration);
+    method public static float getFloat(android.content.ContentResolver, String, float);
+    method public static float getFloat(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static int getInt(android.content.ContentResolver, String, int);
+    method public static int getInt(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static long getLong(android.content.ContentResolver, String, long);
+    method public static long getLong(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method @Deprecated public static boolean getShowGTalkServiceStatus(android.content.ContentResolver);
+    method public static String getString(android.content.ContentResolver, String);
+    method public static android.net.Uri getUriFor(String);
+    method public static boolean putConfiguration(android.content.ContentResolver, android.content.res.Configuration);
+    method public static boolean putFloat(android.content.ContentResolver, String, float);
+    method public static boolean putInt(android.content.ContentResolver, String, int);
+    method public static boolean putLong(android.content.ContentResolver, String, long);
+    method public static boolean putString(android.content.ContentResolver, String, String);
+    method @Deprecated public static void setShowGTalkServiceStatus(android.content.ContentResolver, boolean);
+    field public static final String ACCELEROMETER_ROTATION = "accelerometer_rotation";
+    field @Deprecated public static final String ADB_ENABLED = "adb_enabled";
+    field @Deprecated public static final String AIRPLANE_MODE_ON = "airplane_mode_on";
+    field @Deprecated public static final String AIRPLANE_MODE_RADIOS = "airplane_mode_radios";
+    field public static final String ALARM_ALERT = "alarm_alert";
+    field @Deprecated public static final String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities";
+    field @Deprecated public static final String ANDROID_ID = "android_id";
+    field @Deprecated public static final String ANIMATOR_DURATION_SCALE = "animator_duration_scale";
+    field @Deprecated public static final String AUTO_TIME = "auto_time";
+    field @Deprecated public static final String AUTO_TIME_ZONE = "auto_time_zone";
+    field public static final String BLUETOOTH_DISCOVERABILITY = "bluetooth_discoverability";
+    field public static final String BLUETOOTH_DISCOVERABILITY_TIMEOUT = "bluetooth_discoverability_timeout";
+    field @Deprecated public static final String BLUETOOTH_ON = "bluetooth_on";
+    field public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DATA_ROAMING = "data_roaming";
+    field @Deprecated public static final String DATE_FORMAT = "date_format";
+    field @Deprecated public static final String DEBUG_APP = "debug_app";
+    field public static final android.net.Uri DEFAULT_ALARM_ALERT_URI;
+    field public static final android.net.Uri DEFAULT_NOTIFICATION_URI;
+    field public static final android.net.Uri DEFAULT_RINGTONE_URI;
+    field @Deprecated public static final String DEVICE_PROVISIONED = "device_provisioned";
+    field @Deprecated public static final String DIM_SCREEN = "dim_screen";
+    field public static final String DTMF_TONE_TYPE_WHEN_DIALING = "dtmf_tone_type";
+    field public static final String DTMF_TONE_WHEN_DIALING = "dtmf_tone";
+    field public static final String END_BUTTON_BEHAVIOR = "end_button_behavior";
+    field public static final String FONT_SCALE = "font_scale";
+    field public static final String HAPTIC_FEEDBACK_ENABLED = "haptic_feedback_enabled";
+    field @Deprecated public static final String HTTP_PROXY = "http_proxy";
+    field @Deprecated public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
+    field @Deprecated public static final String LOCATION_PROVIDERS_ALLOWED = "location_providers_allowed";
+    field @Deprecated public static final String LOCK_PATTERN_ENABLED = "lock_pattern_autolock";
+    field @Deprecated public static final String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED = "lock_pattern_tactile_feedback_enabled";
+    field @Deprecated public static final String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
+    field @Deprecated public static final String LOGGING_ID = "logging_id";
+    field @Deprecated public static final String MODE_RINGER = "mode_ringer";
+    field public static final String MODE_RINGER_STREAMS_AFFECTED = "mode_ringer_streams_affected";
+    field public static final String MUTE_STREAMS_AFFECTED = "mute_streams_affected";
+    field @Deprecated public static final String NETWORK_PREFERENCE = "network_preference";
+    field @Deprecated public static final String NEXT_ALARM_FORMATTED = "next_alarm_formatted";
+    field public static final String NOTIFICATION_SOUND = "notification_sound";
+    field @Deprecated public static final String PARENTAL_CONTROL_ENABLED = "parental_control_enabled";
+    field @Deprecated public static final String PARENTAL_CONTROL_LAST_UPDATE = "parental_control_last_update";
+    field @Deprecated public static final String PARENTAL_CONTROL_REDIRECT_URL = "parental_control_redirect_url";
+    field @Deprecated public static final String RADIO_BLUETOOTH = "bluetooth";
+    field @Deprecated public static final String RADIO_CELL = "cell";
+    field @Deprecated public static final String RADIO_NFC = "nfc";
+    field @Deprecated public static final String RADIO_WIFI = "wifi";
+    field public static final String RINGTONE = "ringtone";
+    field public static final String SCREEN_BRIGHTNESS = "screen_brightness";
+    field public static final String SCREEN_BRIGHTNESS_MODE = "screen_brightness_mode";
+    field public static final int SCREEN_BRIGHTNESS_MODE_AUTOMATIC = 1; // 0x1
+    field public static final int SCREEN_BRIGHTNESS_MODE_MANUAL = 0; // 0x0
+    field public static final String SCREEN_OFF_TIMEOUT = "screen_off_timeout";
+    field @Deprecated public static final String SETTINGS_CLASSNAME = "settings_classname";
+    field public static final String SETUP_WIZARD_HAS_RUN = "setup_wizard_has_run";
+    field public static final String SHOW_GTALK_SERVICE_STATUS = "SHOW_GTALK_SERVICE_STATUS";
+    field @Deprecated public static final String SHOW_PROCESSES = "show_processes";
+    field @Deprecated public static final String SHOW_WEB_SUGGESTIONS = "show_web_suggestions";
+    field public static final String SOUND_EFFECTS_ENABLED = "sound_effects_enabled";
+    field @Deprecated public static final String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
+    field public static final String TEXT_AUTO_CAPS = "auto_caps";
+    field public static final String TEXT_AUTO_PUNCTUATE = "auto_punctuate";
+    field public static final String TEXT_AUTO_REPLACE = "auto_replace";
+    field public static final String TEXT_SHOW_PASSWORD = "show_password";
+    field public static final String TIME_12_24 = "time_12_24";
+    field @Deprecated public static final String TRANSITION_ANIMATION_SCALE = "transition_animation_scale";
+    field @Deprecated public static final String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled";
+    field public static final String USER_ROTATION = "user_rotation";
+    field @Deprecated public static final String USE_GOOGLE_MAIL = "use_google_mail";
+    field public static final String VIBRATE_ON = "vibrate_on";
+    field public static final String VIBRATE_WHEN_RINGING = "vibrate_when_ringing";
+    field @Deprecated public static final String WAIT_FOR_DEBUGGER = "wait_for_debugger";
+    field @Deprecated public static final String WALLPAPER_ACTIVITY = "wallpaper_activity";
+    field @Deprecated public static final String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
+    field @Deprecated public static final String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay";
+    field @Deprecated public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept";
+    field @Deprecated public static final String WIFI_ON = "wifi_on";
+    field @Deprecated public static final String WIFI_SLEEP_POLICY = "wifi_sleep_policy";
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_DEFAULT = 0; // 0x0
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_NEVER = 2; // 0x2
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED = 1; // 0x1
+    field @Deprecated public static final String WIFI_STATIC_DNS1 = "wifi_static_dns1";
+    field @Deprecated public static final String WIFI_STATIC_DNS2 = "wifi_static_dns2";
+    field @Deprecated public static final String WIFI_STATIC_GATEWAY = "wifi_static_gateway";
+    field @Deprecated public static final String WIFI_STATIC_IP = "wifi_static_ip";
+    field @Deprecated public static final String WIFI_STATIC_NETMASK = "wifi_static_netmask";
+    field @Deprecated public static final String WIFI_USE_STATIC_IP = "wifi_use_static_ip";
+    field @Deprecated public static final String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE = "wifi_watchdog_acceptable_packet_loss_percentage";
+    field @Deprecated public static final String WIFI_WATCHDOG_AP_COUNT = "wifi_watchdog_ap_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS = "wifi_watchdog_background_check_delay_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED = "wifi_watchdog_background_check_enabled";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS = "wifi_watchdog_background_check_timeout_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT = "wifi_watchdog_initial_ignored_ping_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_MAX_AP_CHECKS = "wifi_watchdog_max_ap_checks";
+    field @Deprecated public static final String WIFI_WATCHDOG_ON = "wifi_watchdog_on";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_COUNT = "wifi_watchdog_ping_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_DELAY_MS = "wifi_watchdog_ping_delay_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_TIMEOUT_MS = "wifi_watchdog_ping_timeout_ms";
+    field @Deprecated public static final String WINDOW_ANIMATION_SCALE = "window_animation_scale";
+  }
+
+  public class SettingsSlicesContract {
+    field public static final String AUTHORITY = "android.settings.slices";
+    field public static final android.net.Uri BASE_URI;
+    field public static final String KEY_AIRPLANE_MODE = "airplane_mode";
+    field public static final String KEY_BATTERY_SAVER = "battery_saver";
+    field public static final String KEY_BLUETOOTH = "bluetooth";
+    field public static final String KEY_LOCATION = "location";
+    field public static final String KEY_WIFI = "wifi";
+    field public static final String PATH_SETTING_ACTION = "action";
+    field public static final String PATH_SETTING_INTENT = "intent";
+  }
+
+  public final class SimPhonebookContract {
+    field public static final String AUTHORITY = "com.android.simphonebook";
+    field @NonNull public static final android.net.Uri AUTHORITY_URI;
+  }
+
+  public static final class SimPhonebookContract.ElementaryFiles {
+    method @NonNull public static android.net.Uri getItemUri(int, int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/sim-elementary-file";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/sim-elementary-file";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final int EF_ADN = 1; // 0x1
+    field public static final int EF_FDN = 2; // 0x2
+    field public static final int EF_SDN = 3; // 0x3
+    field public static final String EF_TYPE = "ef_type";
+    field public static final int EF_UNKNOWN = 0; // 0x0
+    field public static final String MAX_RECORDS = "max_records";
+    field public static final String NAME_MAX_LENGTH = "name_max_length";
+    field public static final String PHONE_NUMBER_MAX_LENGTH = "phone_number_max_length";
+    field public static final String RECORD_COUNT = "record_count";
+    field public static final String SLOT_INDEX = "slot_index";
+    field public static final String SUBSCRIPTION_ID = "subscription_id";
+  }
+
+  public static final class SimPhonebookContract.SimRecords {
+    method @NonNull public static android.net.Uri getContentUri(int, int);
+    method @IntRange(from=0) @WorkerThread public static int getEncodedNameLength(@NonNull android.content.ContentResolver, @NonNull String);
+    method @NonNull public static android.net.Uri getItemUri(int, int, @IntRange(from=1) int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/sim-contact_v2";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/sim-contact_v2";
+    field public static final String ELEMENTARY_FILE_TYPE = "elementary_file_type";
+    field public static final int ERROR_NAME_UNSUPPORTED = -1; // 0xffffffff
+    field public static final String NAME = "name";
+    field public static final String PHONE_NUMBER = "phone_number";
+    field public static final String RECORD_NUMBER = "record_number";
+    field public static final String SUBSCRIPTION_ID = "subscription_id";
+  }
+
+  public class SyncStateContract {
+    ctor public SyncStateContract();
+  }
+
+  public static interface SyncStateContract.Columns extends android.provider.BaseColumns {
+    field public static final String ACCOUNT_NAME = "account_name";
+    field public static final String ACCOUNT_TYPE = "account_type";
+    field public static final String DATA = "data";
+  }
+
+  public static class SyncStateContract.Constants implements android.provider.SyncStateContract.Columns {
+    ctor public SyncStateContract.Constants();
+    field public static final String CONTENT_DIRECTORY = "syncstate";
+  }
+
+  public static final class SyncStateContract.Helpers {
+    ctor public SyncStateContract.Helpers();
+    method public static byte[] get(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.util.Pair<android.net.Uri,byte[]> getWithUri(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.net.Uri insert(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account, byte[]) throws android.os.RemoteException;
+    method public static android.content.ContentProviderOperation newSetOperation(android.net.Uri, android.accounts.Account, byte[]);
+    method public static android.content.ContentProviderOperation newUpdateOperation(android.net.Uri, byte[]);
+    method public static void set(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account, byte[]) throws android.os.RemoteException;
+    method public static void update(android.content.ContentProviderClient, android.net.Uri, byte[]) throws android.os.RemoteException;
+  }
+
+  public final class Telephony {
+  }
+
+  public static interface Telephony.BaseMmsColumns extends android.provider.BaseColumns {
+    field public static final String CONTENT_CLASS = "ct_cls";
+    field public static final String CONTENT_LOCATION = "ct_l";
+    field public static final String CONTENT_TYPE = "ct_t";
+    field public static final String CREATOR = "creator";
+    field public static final String DATE = "date";
+    field public static final String DATE_SENT = "date_sent";
+    field public static final String DELIVERY_REPORT = "d_rpt";
+    field public static final String DELIVERY_TIME = "d_tm";
+    field public static final String EXPIRY = "exp";
+    field public static final String LOCKED = "locked";
+    field public static final String MESSAGE_BOX = "msg_box";
+    field public static final int MESSAGE_BOX_ALL = 0; // 0x0
+    field public static final int MESSAGE_BOX_DRAFTS = 3; // 0x3
+    field public static final int MESSAGE_BOX_FAILED = 5; // 0x5
+    field public static final int MESSAGE_BOX_INBOX = 1; // 0x1
+    field public static final int MESSAGE_BOX_OUTBOX = 4; // 0x4
+    field public static final int MESSAGE_BOX_SENT = 2; // 0x2
+    field public static final String MESSAGE_CLASS = "m_cls";
+    field public static final String MESSAGE_ID = "m_id";
+    field public static final String MESSAGE_SIZE = "m_size";
+    field public static final String MESSAGE_TYPE = "m_type";
+    field public static final String MMS_VERSION = "v";
+    field public static final String PRIORITY = "pri";
+    field public static final String READ = "read";
+    field public static final String READ_REPORT = "rr";
+    field public static final String READ_STATUS = "read_status";
+    field public static final String REPORT_ALLOWED = "rpt_a";
+    field public static final String RESPONSE_STATUS = "resp_st";
+    field public static final String RESPONSE_TEXT = "resp_txt";
+    field public static final String RETRIEVE_STATUS = "retr_st";
+    field public static final String RETRIEVE_TEXT = "retr_txt";
+    field public static final String RETRIEVE_TEXT_CHARSET = "retr_txt_cs";
+    field public static final String SEEN = "seen";
+    field public static final String STATUS = "st";
+    field public static final String SUBJECT = "sub";
+    field public static final String SUBJECT_CHARSET = "sub_cs";
+    field public static final String SUBSCRIPTION_ID = "sub_id";
+    field public static final String TEXT_ONLY = "text_only";
+    field public static final String THREAD_ID = "thread_id";
+    field public static final String TRANSACTION_ID = "tr_id";
+  }
+
+  public static interface Telephony.CanonicalAddressesColumns extends android.provider.BaseColumns {
+    field public static final String ADDRESS = "address";
+  }
+
+  public static final class Telephony.CarrierId implements android.provider.BaseColumns {
+    method @NonNull public static android.net.Uri getSpecificCarrierIdUriForSubscriptionId(int);
+    method public static android.net.Uri getUriForSubscriptionId(int);
+    field public static final String CARRIER_ID = "carrier_id";
+    field public static final String CARRIER_NAME = "carrier_name";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String SPECIFIC_CARRIER_ID = "specific_carrier_id";
+    field public static final String SPECIFIC_CARRIER_ID_NAME = "specific_carrier_id_name";
+  }
+
+  public static final class Telephony.Carriers implements android.provider.BaseColumns {
+    field public static final String APN = "apn";
+    field public static final String AUTH_TYPE = "authtype";
+    field @Deprecated public static final String BEARER = "bearer";
+    field public static final String CARRIER_ENABLED = "carrier_enabled";
+    field public static final String CARRIER_ID = "carrier_id";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final String CURRENT = "current";
+    field public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final String MCC = "mcc";
+    field public static final String MMSC = "mmsc";
+    field public static final String MMSPORT = "mmsport";
+    field public static final String MMSPROXY = "mmsproxy";
+    field @Deprecated public static final String MNC = "mnc";
+    field @Deprecated public static final String MVNO_MATCH_DATA = "mvno_match_data";
+    field @Deprecated public static final String MVNO_TYPE = "mvno_type";
+    field public static final String NAME = "name";
+    field public static final String NETWORK_TYPE_BITMASK = "network_type_bitmask";
+    field @Deprecated public static final String NUMERIC = "numeric";
+    field public static final String PASSWORD = "password";
+    field public static final String PORT = "port";
+    field public static final String PROTOCOL = "protocol";
+    field public static final String PROXY = "proxy";
+    field public static final String ROAMING_PROTOCOL = "roaming_protocol";
+    field public static final String SERVER = "server";
+    field @NonNull public static final android.net.Uri SIM_APN_URI;
+    field public static final String SUBSCRIPTION_ID = "sub_id";
+    field public static final String TYPE = "type";
+    field public static final String USER = "user";
+  }
+
+  public static final class Telephony.Mms implements android.provider.Telephony.BaseMmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+    field public static final android.net.Uri REPORT_REQUEST_URI;
+    field public static final android.net.Uri REPORT_STATUS_URI;
+  }
+
+  public static final class Telephony.Mms.Addr implements android.provider.BaseColumns {
+    method @NonNull public static android.net.Uri getAddrUriForMessage(@NonNull String);
+    field public static final String ADDRESS = "address";
+    field public static final String CHARSET = "charset";
+    field public static final String CONTACT_ID = "contact_id";
+    field public static final String MSG_ID = "msg_id";
+    field public static final String TYPE = "type";
+  }
+
+  public static final class Telephony.Mms.Draft implements android.provider.Telephony.BaseMmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Mms.Inbox implements android.provider.Telephony.BaseMmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Mms.Intents {
+    field public static final String CONTENT_CHANGED_ACTION = "android.intent.action.CONTENT_CHANGED";
+    field public static final String DELETED_CONTENTS = "deleted_contents";
+  }
+
+  public static final class Telephony.Mms.Outbox implements android.provider.Telephony.BaseMmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Mms.Part implements android.provider.BaseColumns {
+    method @NonNull public static android.net.Uri getPartUriForMessage(@NonNull String);
+    field public static final String CHARSET = "chset";
+    field public static final String CONTENT_DISPOSITION = "cd";
+    field public static final String CONTENT_ID = "cid";
+    field public static final String CONTENT_LOCATION = "cl";
+    field public static final String CONTENT_TYPE = "ct";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final String CT_START = "ctt_s";
+    field public static final String CT_TYPE = "ctt_t";
+    field public static final String FILENAME = "fn";
+    field public static final String MSG_ID = "mid";
+    field public static final String NAME = "name";
+    field public static final String SEQ = "seq";
+    field public static final String TEXT = "text";
+    field public static final String _DATA = "_data";
+  }
+
+  public static final class Telephony.Mms.Rate {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String SENT_TIME = "sent_time";
+  }
+
+  public static final class Telephony.Mms.Sent implements android.provider.Telephony.BaseMmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.MmsSms implements android.provider.BaseColumns {
+    field public static final android.net.Uri CONTENT_CONVERSATIONS_URI;
+    field public static final android.net.Uri CONTENT_DRAFT_URI;
+    field public static final android.net.Uri CONTENT_FILTER_BYPHONE_URI;
+    field public static final android.net.Uri CONTENT_LOCKED_URI;
+    field public static final android.net.Uri CONTENT_UNDELIVERED_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final int ERR_TYPE_GENERIC = 1; // 0x1
+    field public static final int ERR_TYPE_GENERIC_PERMANENT = 10; // 0xa
+    field public static final int ERR_TYPE_MMS_PROTO_PERMANENT = 12; // 0xc
+    field public static final int ERR_TYPE_MMS_PROTO_TRANSIENT = 3; // 0x3
+    field public static final int ERR_TYPE_SMS_PROTO_PERMANENT = 11; // 0xb
+    field public static final int ERR_TYPE_SMS_PROTO_TRANSIENT = 2; // 0x2
+    field public static final int ERR_TYPE_TRANSPORT_FAILURE = 4; // 0x4
+    field public static final int MMS_PROTO = 1; // 0x1
+    field public static final int NO_ERROR = 0; // 0x0
+    field public static final android.net.Uri SEARCH_URI;
+    field public static final int SMS_PROTO = 0; // 0x0
+    field public static final String TYPE_DISCRIMINATOR_COLUMN = "transport_type";
+  }
+
+  public static final class Telephony.MmsSms.PendingMessages implements android.provider.BaseColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DUE_TIME = "due_time";
+    field public static final String ERROR_CODE = "err_code";
+    field public static final String ERROR_TYPE = "err_type";
+    field public static final String LAST_TRY = "last_try";
+    field public static final String MSG_ID = "msg_id";
+    field public static final String MSG_TYPE = "msg_type";
+    field public static final String PROTO_TYPE = "proto_type";
+    field public static final String RETRY_INDEX = "retry_index";
+    field public static final String SUBSCRIPTION_ID = "pending_sub_id";
+  }
+
+  public static final class Telephony.ServiceStateTable {
+    method public static android.net.Uri getUriForSubscriptionId(int);
+    method public static android.net.Uri getUriForSubscriptionIdAndField(int, String);
+    field public static final String AUTHORITY = "service-state";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATA_NETWORK_TYPE = "data_network_type";
+    field public static final String DATA_REG_STATE = "data_reg_state";
+    field public static final String DUPLEX_MODE = "duplex_mode";
+    field public static final String IS_MANUAL_NETWORK_SELECTION = "is_manual_network_selection";
+    field public static final String VOICE_OPERATOR_NUMERIC = "voice_operator_numeric";
+    field public static final String VOICE_REG_STATE = "voice_reg_state";
+  }
+
+  public static final class Telephony.Sms implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    method public static String getDefaultSmsPackage(android.content.Context);
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Sms.Conversations implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+    field public static final String MESSAGE_COUNT = "msg_count";
+    field public static final String SNIPPET = "snippet";
+  }
+
+  public static final class Telephony.Sms.Draft implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Sms.Inbox implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Sms.Intents {
+    method public static android.telephony.SmsMessage[] getMessagesFromIntent(android.content.Intent);
+    field public static final String ACTION_CHANGE_DEFAULT = "android.provider.Telephony.ACTION_CHANGE_DEFAULT";
+    field public static final String ACTION_DEFAULT_SMS_PACKAGE_CHANGED = "android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED";
+    field public static final String ACTION_EXTERNAL_PROVIDER_CHANGE = "android.provider.action.EXTERNAL_PROVIDER_CHANGE";
+    field public static final String DATA_SMS_RECEIVED_ACTION = "android.intent.action.DATA_SMS_RECEIVED";
+    field public static final String EXTRA_IS_DEFAULT_SMS_APP = "android.provider.extra.IS_DEFAULT_SMS_APP";
+    field public static final String EXTRA_PACKAGE_NAME = "package";
+    field public static final int RESULT_SMS_DATABASE_ERROR = 10; // 0xa
+    field public static final int RESULT_SMS_DISPATCH_FAILURE = 6; // 0x6
+    field public static final int RESULT_SMS_DUPLICATED = 5; // 0x5
+    field public static final int RESULT_SMS_GENERIC_ERROR = 2; // 0x2
+    field public static final int RESULT_SMS_HANDLED = 1; // 0x1
+    field public static final int RESULT_SMS_INVALID_URI = 11; // 0xb
+    field public static final int RESULT_SMS_NULL_MESSAGE = 8; // 0x8
+    field public static final int RESULT_SMS_NULL_PDU = 7; // 0x7
+    field public static final int RESULT_SMS_OUT_OF_MEMORY = 3; // 0x3
+    field public static final int RESULT_SMS_RECEIVED_WHILE_ENCRYPTED = 9; // 0x9
+    field public static final int RESULT_SMS_UNSUPPORTED = 4; // 0x4
+    field @Deprecated public static final String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE";
+    field public static final String SIM_FULL_ACTION = "android.provider.Telephony.SIM_FULL";
+    field public static final String SMS_CB_RECEIVED_ACTION = "android.provider.Telephony.SMS_CB_RECEIVED";
+    field public static final String SMS_DELIVER_ACTION = "android.provider.Telephony.SMS_DELIVER";
+    field public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED";
+    field public static final String SMS_REJECTED_ACTION = "android.provider.Telephony.SMS_REJECTED";
+    field public static final String SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION = "android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED";
+    field public static final String WAP_PUSH_DELIVER_ACTION = "android.provider.Telephony.WAP_PUSH_DELIVER";
+    field public static final String WAP_PUSH_RECEIVED_ACTION = "android.provider.Telephony.WAP_PUSH_RECEIVED";
+  }
+
+  public static final class Telephony.Sms.Outbox implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Sms.Sent implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static interface Telephony.TextBasedSmsColumns {
+    field public static final String ADDRESS = "address";
+    field public static final String BODY = "body";
+    field public static final String CREATOR = "creator";
+    field public static final String DATE = "date";
+    field public static final String DATE_SENT = "date_sent";
+    field public static final String ERROR_CODE = "error_code";
+    field public static final String LOCKED = "locked";
+    field public static final int MESSAGE_TYPE_ALL = 0; // 0x0
+    field public static final int MESSAGE_TYPE_DRAFT = 3; // 0x3
+    field public static final int MESSAGE_TYPE_FAILED = 5; // 0x5
+    field public static final int MESSAGE_TYPE_INBOX = 1; // 0x1
+    field public static final int MESSAGE_TYPE_OUTBOX = 4; // 0x4
+    field public static final int MESSAGE_TYPE_QUEUED = 6; // 0x6
+    field public static final int MESSAGE_TYPE_SENT = 2; // 0x2
+    field public static final String PERSON = "person";
+    field public static final String PROTOCOL = "protocol";
+    field public static final String READ = "read";
+    field public static final String REPLY_PATH_PRESENT = "reply_path_present";
+    field public static final String SEEN = "seen";
+    field public static final String SERVICE_CENTER = "service_center";
+    field public static final String STATUS = "status";
+    field public static final int STATUS_COMPLETE = 0; // 0x0
+    field public static final int STATUS_FAILED = 64; // 0x40
+    field public static final int STATUS_NONE = -1; // 0xffffffff
+    field public static final int STATUS_PENDING = 32; // 0x20
+    field public static final String SUBJECT = "subject";
+    field public static final String SUBSCRIPTION_ID = "sub_id";
+    field public static final String THREAD_ID = "thread_id";
+    field public static final String TYPE = "type";
+  }
+
+  public static final class Telephony.Threads implements android.provider.Telephony.ThreadsColumns {
+    method public static long getOrCreateThreadId(android.content.Context, String);
+    method public static long getOrCreateThreadId(android.content.Context, java.util.Set<java.lang.String>);
+    field public static final int BROADCAST_THREAD = 1; // 0x1
+    field public static final int COMMON_THREAD = 0; // 0x0
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri OBSOLETE_THREADS_URI;
+  }
+
+  public static interface Telephony.ThreadsColumns extends android.provider.BaseColumns {
+    field public static final String ARCHIVED = "archived";
+    field public static final String DATE = "date";
+    field public static final String ERROR = "error";
+    field public static final String HAS_ATTACHMENT = "has_attachment";
+    field public static final String MESSAGE_COUNT = "message_count";
+    field public static final String READ = "read";
+    field public static final String RECIPIENT_IDS = "recipient_ids";
+    field public static final String SNIPPET = "snippet";
+    field public static final String SNIPPET_CHARSET = "snippet_cs";
+    field public static final String TYPE = "type";
+  }
+
+  public class UserDictionary {
+    ctor public UserDictionary();
+    field public static final String AUTHORITY = "user_dictionary";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public static class UserDictionary.Words implements android.provider.BaseColumns {
+    ctor public UserDictionary.Words();
+    method @Deprecated public static void addWord(android.content.Context, String, int, int);
+    method public static void addWord(android.content.Context, String, int, String, java.util.Locale);
+    field public static final String APP_ID = "appid";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.google.userword";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.google.userword";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "frequency DESC";
+    field public static final String FREQUENCY = "frequency";
+    field public static final String LOCALE = "locale";
+    field @Deprecated public static final int LOCALE_TYPE_ALL = 0; // 0x0
+    field @Deprecated public static final int LOCALE_TYPE_CURRENT = 1; // 0x1
+    field public static final String SHORTCUT = "shortcut";
+    field public static final String WORD = "word";
+    field public static final String _ID = "_id";
+  }
+
+  public class VoicemailContract {
+    field public static final String ACTION_FETCH_VOICEMAIL = "android.intent.action.FETCH_VOICEMAIL";
+    field public static final String ACTION_NEW_VOICEMAIL = "android.intent.action.NEW_VOICEMAIL";
+    field public static final String ACTION_SYNC_VOICEMAIL = "android.provider.action.SYNC_VOICEMAIL";
+    field public static final String AUTHORITY = "com.android.voicemail";
+    field public static final String EXTRA_PHONE_ACCOUNT_HANDLE = "android.provider.extra.PHONE_ACCOUNT_HANDLE";
+    field public static final String EXTRA_SELF_CHANGE = "com.android.voicemail.extra.SELF_CHANGE";
+    field public static final String PARAM_KEY_SOURCE_PACKAGE = "source_package";
+  }
+
+  public static final class VoicemailContract.Status implements android.provider.BaseColumns {
+    method public static android.net.Uri buildSourceUri(String);
+    field public static final String CONFIGURATION_STATE = "configuration_state";
+    field public static final int CONFIGURATION_STATE_CAN_BE_CONFIGURED = 2; // 0x2
+    field public static final int CONFIGURATION_STATE_CONFIGURING = 3; // 0x3
+    field public static final int CONFIGURATION_STATE_DISABLED = 5; // 0x5
+    field public static final int CONFIGURATION_STATE_FAILED = 4; // 0x4
+    field public static final int CONFIGURATION_STATE_NOT_CONFIGURED = 1; // 0x1
+    field public static final int CONFIGURATION_STATE_OK = 0; // 0x0
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATA_CHANNEL_STATE = "data_channel_state";
+    field public static final int DATA_CHANNEL_STATE_BAD_CONFIGURATION = 3; // 0x3
+    field public static final int DATA_CHANNEL_STATE_COMMUNICATION_ERROR = 4; // 0x4
+    field public static final int DATA_CHANNEL_STATE_NO_CONNECTION = 1; // 0x1
+    field public static final int DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED = 2; // 0x2
+    field public static final int DATA_CHANNEL_STATE_OK = 0; // 0x0
+    field public static final int DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR = 6; // 0x6
+    field public static final int DATA_CHANNEL_STATE_SERVER_ERROR = 5; // 0x5
+    field public static final String DIR_TYPE = "vnd.android.cursor.dir/voicemail.source.status";
+    field public static final String ITEM_TYPE = "vnd.android.cursor.item/voicemail.source.status";
+    field public static final String NOTIFICATION_CHANNEL_STATE = "notification_channel_state";
+    field public static final int NOTIFICATION_CHANNEL_STATE_MESSAGE_WAITING = 2; // 0x2
+    field public static final int NOTIFICATION_CHANNEL_STATE_NO_CONNECTION = 1; // 0x1
+    field public static final int NOTIFICATION_CHANNEL_STATE_OK = 0; // 0x0
+    field public static final String PHONE_ACCOUNT_COMPONENT_NAME = "phone_account_component_name";
+    field public static final String PHONE_ACCOUNT_ID = "phone_account_id";
+    field public static final String QUOTA_OCCUPIED = "quota_occupied";
+    field public static final String QUOTA_TOTAL = "quota_total";
+    field public static final int QUOTA_UNAVAILABLE = -1; // 0xffffffff
+    field public static final String SETTINGS_URI = "settings_uri";
+    field public static final String SOURCE_PACKAGE = "source_package";
+    field public static final String SOURCE_TYPE = "source_type";
+    field public static final String VOICEMAIL_ACCESS_URI = "voicemail_access_uri";
+  }
+
+  public static final class VoicemailContract.Voicemails implements android.provider.BaseColumns android.provider.OpenableColumns {
+    method public static android.net.Uri buildSourceUri(String);
+    field public static final String ARCHIVED = "archived";
+    field public static final String BACKED_UP = "backed_up";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATE = "date";
+    field public static final String DELETED = "deleted";
+    field public static final String DIRTY = "dirty";
+    field public static final int DIRTY_RETAIN = -1; // 0xffffffff
+    field public static final String DIR_TYPE = "vnd.android.cursor.dir/voicemails";
+    field public static final String DURATION = "duration";
+    field public static final String HAS_CONTENT = "has_content";
+    field public static final String IS_OMTP_VOICEMAIL = "is_omtp_voicemail";
+    field public static final String IS_READ = "is_read";
+    field public static final String ITEM_TYPE = "vnd.android.cursor.item/voicemail";
+    field public static final String LAST_MODIFIED = "last_modified";
+    field public static final String MIME_TYPE = "mime_type";
+    field public static final String NEW = "new";
+    field public static final String NUMBER = "number";
+    field public static final String PHONE_ACCOUNT_COMPONENT_NAME = "subscription_component_name";
+    field public static final String PHONE_ACCOUNT_ID = "subscription_id";
+    field public static final String RESTORED = "restored";
+    field public static final String SOURCE_DATA = "source_data";
+    field public static final String SOURCE_PACKAGE = "source_package";
+    field public static final String TRANSCRIPTION = "transcription";
+  }
+
+}
+
+package android.renderscript {
+
+  @Deprecated public class Allocation extends android.renderscript.BaseObj {
+    method @Deprecated public void copy1DRangeFrom(int, int, Object);
+    method @Deprecated public void copy1DRangeFrom(int, int, int[]);
+    method @Deprecated public void copy1DRangeFrom(int, int, short[]);
+    method @Deprecated public void copy1DRangeFrom(int, int, byte[]);
+    method @Deprecated public void copy1DRangeFrom(int, int, float[]);
+    method @Deprecated public void copy1DRangeFrom(int, int, android.renderscript.Allocation, int);
+    method @Deprecated public void copy1DRangeFromUnchecked(int, int, Object);
+    method @Deprecated public void copy1DRangeFromUnchecked(int, int, int[]);
+    method @Deprecated public void copy1DRangeFromUnchecked(int, int, short[]);
+    method @Deprecated public void copy1DRangeFromUnchecked(int, int, byte[]);
+    method @Deprecated public void copy1DRangeFromUnchecked(int, int, float[]);
+    method @Deprecated public void copy1DRangeTo(int, int, Object);
+    method @Deprecated public void copy1DRangeTo(int, int, int[]);
+    method @Deprecated public void copy1DRangeTo(int, int, short[]);
+    method @Deprecated public void copy1DRangeTo(int, int, byte[]);
+    method @Deprecated public void copy1DRangeTo(int, int, float[]);
+    method @Deprecated public void copy1DRangeToUnchecked(int, int, Object);
+    method @Deprecated public void copy1DRangeToUnchecked(int, int, int[]);
+    method @Deprecated public void copy1DRangeToUnchecked(int, int, short[]);
+    method @Deprecated public void copy1DRangeToUnchecked(int, int, byte[]);
+    method @Deprecated public void copy1DRangeToUnchecked(int, int, float[]);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, Object);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, byte[]);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, short[]);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, int[]);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, float[]);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, android.renderscript.Allocation, int, int);
+    method @Deprecated public void copy2DRangeFrom(int, int, android.graphics.Bitmap);
+    method @Deprecated public void copy2DRangeTo(int, int, int, int, Object);
+    method @Deprecated public void copy2DRangeTo(int, int, int, int, byte[]);
+    method @Deprecated public void copy2DRangeTo(int, int, int, int, short[]);
+    method @Deprecated public void copy2DRangeTo(int, int, int, int, int[]);
+    method @Deprecated public void copy2DRangeTo(int, int, int, int, float[]);
+    method @Deprecated public void copy3DRangeFrom(int, int, int, int, int, int, Object);
+    method @Deprecated public void copy3DRangeFrom(int, int, int, int, int, int, android.renderscript.Allocation, int, int, int);
+    method @Deprecated public void copy3DRangeTo(int, int, int, int, int, int, Object);
+    method @Deprecated public void copyFrom(android.renderscript.BaseObj[]);
+    method @Deprecated public void copyFrom(Object);
+    method @Deprecated public void copyFrom(int[]);
+    method @Deprecated public void copyFrom(short[]);
+    method @Deprecated public void copyFrom(byte[]);
+    method @Deprecated public void copyFrom(float[]);
+    method @Deprecated public void copyFrom(android.graphics.Bitmap);
+    method @Deprecated public void copyFrom(android.renderscript.Allocation);
+    method @Deprecated public void copyFromUnchecked(Object);
+    method @Deprecated public void copyFromUnchecked(int[]);
+    method @Deprecated public void copyFromUnchecked(short[]);
+    method @Deprecated public void copyFromUnchecked(byte[]);
+    method @Deprecated public void copyFromUnchecked(float[]);
+    method @Deprecated public void copyTo(android.graphics.Bitmap);
+    method @Deprecated public void copyTo(Object);
+    method @Deprecated public void copyTo(byte[]);
+    method @Deprecated public void copyTo(short[]);
+    method @Deprecated public void copyTo(int[]);
+    method @Deprecated public void copyTo(float[]);
+    method @Deprecated public static android.renderscript.Allocation[] createAllocations(android.renderscript.RenderScript, android.renderscript.Type, int, int);
+    method @Deprecated public static android.renderscript.Allocation createCubemapFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap, android.renderscript.Allocation.MipmapControl, int);
+    method @Deprecated public static android.renderscript.Allocation createCubemapFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap);
+    method @Deprecated public static android.renderscript.Allocation createCubemapFromCubeFaces(android.renderscript.RenderScript, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.renderscript.Allocation.MipmapControl, int);
+    method @Deprecated public static android.renderscript.Allocation createCubemapFromCubeFaces(android.renderscript.RenderScript, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap);
+    method @Deprecated public static android.renderscript.Allocation createFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap, android.renderscript.Allocation.MipmapControl, int);
+    method @Deprecated public static android.renderscript.Allocation createFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap);
+    method @Deprecated public static android.renderscript.Allocation createFromBitmapResource(android.renderscript.RenderScript, android.content.res.Resources, int, android.renderscript.Allocation.MipmapControl, int);
+    method @Deprecated public static android.renderscript.Allocation createFromBitmapResource(android.renderscript.RenderScript, android.content.res.Resources, int);
+    method @Deprecated public static android.renderscript.Allocation createFromString(android.renderscript.RenderScript, String, int);
+    method @Deprecated public static android.renderscript.Allocation createSized(android.renderscript.RenderScript, android.renderscript.Element, int, int);
+    method @Deprecated public static android.renderscript.Allocation createSized(android.renderscript.RenderScript, android.renderscript.Element, int);
+    method @Deprecated public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type, android.renderscript.Allocation.MipmapControl, int);
+    method @Deprecated public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type, int);
+    method @Deprecated public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type);
+    method @Deprecated public void generateMipmaps();
+    method @Deprecated public java.nio.ByteBuffer getByteBuffer();
+    method @Deprecated public int getBytesSize();
+    method @Deprecated public android.renderscript.Element getElement();
+    method @Deprecated public long getStride();
+    method @Deprecated public android.view.Surface getSurface();
+    method @Deprecated public long getTimeStamp();
+    method @Deprecated public android.renderscript.Type getType();
+    method @Deprecated public int getUsage();
+    method @Deprecated public void ioReceive();
+    method @Deprecated public void ioSend();
+    method @Deprecated public void resize(int);
+    method @Deprecated public void setAutoPadding(boolean);
+    method @Deprecated public void setFromFieldPacker(int, android.renderscript.FieldPacker);
+    method @Deprecated public void setFromFieldPacker(int, int, android.renderscript.FieldPacker);
+    method @Deprecated public void setFromFieldPacker(int, int, int, int, android.renderscript.FieldPacker);
+    method @Deprecated public void setOnBufferAvailableListener(android.renderscript.Allocation.OnBufferAvailableListener);
+    method @Deprecated public void setSurface(android.view.Surface);
+    method @Deprecated public void syncAll(int);
+    field @Deprecated public static final int USAGE_GRAPHICS_CONSTANTS = 8; // 0x8
+    field @Deprecated public static final int USAGE_GRAPHICS_RENDER_TARGET = 16; // 0x10
+    field @Deprecated public static final int USAGE_GRAPHICS_TEXTURE = 2; // 0x2
+    field @Deprecated public static final int USAGE_GRAPHICS_VERTEX = 4; // 0x4
+    field @Deprecated public static final int USAGE_IO_INPUT = 32; // 0x20
+    field @Deprecated public static final int USAGE_IO_OUTPUT = 64; // 0x40
+    field @Deprecated public static final int USAGE_SCRIPT = 1; // 0x1
+    field @Deprecated public static final int USAGE_SHARED = 128; // 0x80
+  }
+
+  @Deprecated public enum Allocation.MipmapControl {
+    enum_constant @Deprecated public static final android.renderscript.Allocation.MipmapControl MIPMAP_FULL;
+    enum_constant @Deprecated public static final android.renderscript.Allocation.MipmapControl MIPMAP_NONE;
+    enum_constant @Deprecated public static final android.renderscript.Allocation.MipmapControl MIPMAP_ON_SYNC_TO_TEXTURE;
+  }
+
+  @Deprecated public static interface Allocation.OnBufferAvailableListener {
+    method @Deprecated public void onBufferAvailable(android.renderscript.Allocation);
+  }
+
+  @Deprecated public class AllocationAdapter extends android.renderscript.Allocation {
+    method @Deprecated public static android.renderscript.AllocationAdapter create1D(android.renderscript.RenderScript, android.renderscript.Allocation);
+    method @Deprecated public static android.renderscript.AllocationAdapter create2D(android.renderscript.RenderScript, android.renderscript.Allocation);
+    method @Deprecated public static android.renderscript.AllocationAdapter createTyped(android.renderscript.RenderScript, android.renderscript.Allocation, android.renderscript.Type);
+    method @Deprecated public void resize(int);
+    method @Deprecated public void setFace(android.renderscript.Type.CubemapFace);
+    method @Deprecated public void setLOD(int);
+    method @Deprecated public void setX(int);
+    method @Deprecated public void setY(int);
+    method @Deprecated public void setZ(int);
+  }
+
+  @Deprecated public class BaseObj {
+    method @Deprecated public void destroy();
+    method @Deprecated public String getName();
+    method @Deprecated public void setName(String);
+  }
+
+  @Deprecated public class Byte2 {
+    ctor @Deprecated public Byte2();
+    ctor @Deprecated public Byte2(byte, byte);
+    field @Deprecated public byte x;
+    field @Deprecated public byte y;
+  }
+
+  @Deprecated public class Byte3 {
+    ctor @Deprecated public Byte3();
+    ctor @Deprecated public Byte3(byte, byte, byte);
+    field @Deprecated public byte x;
+    field @Deprecated public byte y;
+    field @Deprecated public byte z;
+  }
+
+  @Deprecated public class Byte4 {
+    ctor @Deprecated public Byte4();
+    ctor @Deprecated public Byte4(byte, byte, byte, byte);
+    field @Deprecated public byte w;
+    field @Deprecated public byte x;
+    field @Deprecated public byte y;
+    field @Deprecated public byte z;
+  }
+
+  @Deprecated public class Double2 {
+    ctor @Deprecated public Double2();
+    ctor @Deprecated public Double2(double, double);
+    field @Deprecated public double x;
+    field @Deprecated public double y;
+  }
+
+  @Deprecated public class Double3 {
+    ctor @Deprecated public Double3();
+    ctor @Deprecated public Double3(double, double, double);
+    field @Deprecated public double x;
+    field @Deprecated public double y;
+    field @Deprecated public double z;
+  }
+
+  @Deprecated public class Double4 {
+    ctor @Deprecated public Double4();
+    ctor @Deprecated public Double4(double, double, double, double);
+    field @Deprecated public double w;
+    field @Deprecated public double x;
+    field @Deprecated public double y;
+    field @Deprecated public double z;
+  }
+
+  @Deprecated public class Element extends android.renderscript.BaseObj {
+    method @Deprecated public static android.renderscript.Element ALLOCATION(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element A_8(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element BOOLEAN(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element ELEMENT(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F16(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F16_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F16_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F16_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F32(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F32_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F32_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F32_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F64(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F64_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F64_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F64_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element FONT(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I16(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I16_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I16_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I16_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I32(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I32_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I32_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I32_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I64(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I64_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I64_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I64_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I8(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I8_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I8_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I8_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element MATRIX4X4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element MATRIX_2X2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element MATRIX_3X3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element MATRIX_4X4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element MESH(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element PROGRAM_FRAGMENT(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element PROGRAM_RASTER(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element PROGRAM_STORE(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element PROGRAM_VERTEX(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element RGBA_4444(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element RGBA_5551(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element RGBA_8888(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element RGB_565(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element RGB_888(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element SAMPLER(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element SCRIPT(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element TYPE(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U16(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U16_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U16_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U16_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U32(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U32_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U32_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U32_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U64(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U64_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U64_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U64_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U8(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U8_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U8_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U8_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element YUV(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element createPixel(android.renderscript.RenderScript, android.renderscript.Element.DataType, android.renderscript.Element.DataKind);
+    method @Deprecated public static android.renderscript.Element createVector(android.renderscript.RenderScript, android.renderscript.Element.DataType, int);
+    method @Deprecated public int getBytesSize();
+    method @Deprecated public android.renderscript.Element.DataKind getDataKind();
+    method @Deprecated public android.renderscript.Element.DataType getDataType();
+    method @Deprecated public android.renderscript.Element getSubElement(int);
+    method @Deprecated public int getSubElementArraySize(int);
+    method @Deprecated public int getSubElementCount();
+    method @Deprecated public String getSubElementName(int);
+    method @Deprecated public int getSubElementOffsetBytes(int);
+    method @Deprecated public int getVectorSize();
+    method @Deprecated public boolean isCompatible(android.renderscript.Element);
+    method @Deprecated public boolean isComplex();
+  }
+
+  @Deprecated public static class Element.Builder {
+    ctor @Deprecated public Element.Builder(android.renderscript.RenderScript);
+    method @Deprecated public android.renderscript.Element.Builder add(android.renderscript.Element, String, int);
+    method @Deprecated public android.renderscript.Element.Builder add(android.renderscript.Element, String);
+    method @Deprecated public android.renderscript.Element create();
+  }
+
+  @Deprecated public enum Element.DataKind {
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_A;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_DEPTH;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_L;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_LA;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_RGB;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_RGBA;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_YUV;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind USER;
+  }
+
+  @Deprecated public enum Element.DataType {
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType BOOLEAN;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType FLOAT_16;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType FLOAT_32;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType FLOAT_64;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType MATRIX_2X2;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType MATRIX_3X3;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType MATRIX_4X4;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType NONE;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_ALLOCATION;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_ELEMENT;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_FONT;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_MESH;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_PROGRAM_FRAGMENT;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_PROGRAM_RASTER;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_PROGRAM_STORE;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_PROGRAM_VERTEX;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_SAMPLER;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_SCRIPT;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_TYPE;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType SIGNED_16;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType SIGNED_32;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType SIGNED_64;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType SIGNED_8;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_16;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_32;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_4_4_4_4;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_5_5_5_1;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_5_6_5;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_64;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_8;
+  }
+
+  @Deprecated public class FieldPacker {
+    ctor @Deprecated public FieldPacker(int);
+    ctor @Deprecated public FieldPacker(byte[]);
+    method @Deprecated public void addBoolean(boolean);
+    method @Deprecated public void addF32(float);
+    method @Deprecated public void addF32(android.renderscript.Float2);
+    method @Deprecated public void addF32(android.renderscript.Float3);
+    method @Deprecated public void addF32(android.renderscript.Float4);
+    method @Deprecated public void addF64(double);
+    method @Deprecated public void addF64(android.renderscript.Double2);
+    method @Deprecated public void addF64(android.renderscript.Double3);
+    method @Deprecated public void addF64(android.renderscript.Double4);
+    method @Deprecated public void addI16(short);
+    method @Deprecated public void addI16(android.renderscript.Short2);
+    method @Deprecated public void addI16(android.renderscript.Short3);
+    method @Deprecated public void addI16(android.renderscript.Short4);
+    method @Deprecated public void addI32(int);
+    method @Deprecated public void addI32(android.renderscript.Int2);
+    method @Deprecated public void addI32(android.renderscript.Int3);
+    method @Deprecated public void addI32(android.renderscript.Int4);
+    method @Deprecated public void addI64(long);
+    method @Deprecated public void addI64(android.renderscript.Long2);
+    method @Deprecated public void addI64(android.renderscript.Long3);
+    method @Deprecated public void addI64(android.renderscript.Long4);
+    method @Deprecated public void addI8(byte);
+    method @Deprecated public void addI8(android.renderscript.Byte2);
+    method @Deprecated public void addI8(android.renderscript.Byte3);
+    method @Deprecated public void addI8(android.renderscript.Byte4);
+    method @Deprecated public void addMatrix(android.renderscript.Matrix4f);
+    method @Deprecated public void addMatrix(android.renderscript.Matrix3f);
+    method @Deprecated public void addMatrix(android.renderscript.Matrix2f);
+    method @Deprecated public void addObj(android.renderscript.BaseObj);
+    method @Deprecated public void addU16(int);
+    method @Deprecated public void addU16(android.renderscript.Int2);
+    method @Deprecated public void addU16(android.renderscript.Int3);
+    method @Deprecated public void addU16(android.renderscript.Int4);
+    method @Deprecated public void addU32(long);
+    method @Deprecated public void addU32(android.renderscript.Long2);
+    method @Deprecated public void addU32(android.renderscript.Long3);
+    method @Deprecated public void addU32(android.renderscript.Long4);
+    method @Deprecated public void addU64(long);
+    method @Deprecated public void addU64(android.renderscript.Long2);
+    method @Deprecated public void addU64(android.renderscript.Long3);
+    method @Deprecated public void addU64(android.renderscript.Long4);
+    method @Deprecated public void addU8(short);
+    method @Deprecated public void addU8(android.renderscript.Short2);
+    method @Deprecated public void addU8(android.renderscript.Short3);
+    method @Deprecated public void addU8(android.renderscript.Short4);
+    method @Deprecated public void align(int);
+    method @Deprecated public final byte[] getData();
+    method @Deprecated public void reset();
+    method @Deprecated public void reset(int);
+    method @Deprecated public void skip(int);
+    method @Deprecated public boolean subBoolean();
+    method @Deprecated public android.renderscript.Byte2 subByte2();
+    method @Deprecated public android.renderscript.Byte3 subByte3();
+    method @Deprecated public android.renderscript.Byte4 subByte4();
+    method @Deprecated public android.renderscript.Double2 subDouble2();
+    method @Deprecated public android.renderscript.Double3 subDouble3();
+    method @Deprecated public android.renderscript.Double4 subDouble4();
+    method @Deprecated public float subF32();
+    method @Deprecated public double subF64();
+    method @Deprecated public android.renderscript.Float2 subFloat2();
+    method @Deprecated public android.renderscript.Float3 subFloat3();
+    method @Deprecated public android.renderscript.Float4 subFloat4();
+    method @Deprecated public short subI16();
+    method @Deprecated public int subI32();
+    method @Deprecated public long subI64();
+    method @Deprecated public byte subI8();
+    method @Deprecated public android.renderscript.Int2 subInt2();
+    method @Deprecated public android.renderscript.Int3 subInt3();
+    method @Deprecated public android.renderscript.Int4 subInt4();
+    method @Deprecated public android.renderscript.Long2 subLong2();
+    method @Deprecated public android.renderscript.Long3 subLong3();
+    method @Deprecated public android.renderscript.Long4 subLong4();
+    method @Deprecated public android.renderscript.Matrix2f subMatrix2f();
+    method @Deprecated public android.renderscript.Matrix3f subMatrix3f();
+    method @Deprecated public android.renderscript.Matrix4f subMatrix4f();
+    method @Deprecated public android.renderscript.Short2 subShort2();
+    method @Deprecated public android.renderscript.Short3 subShort3();
+    method @Deprecated public android.renderscript.Short4 subShort4();
+    method @Deprecated public void subalign(int);
+  }
+
+  @Deprecated public class Float2 {
+    ctor @Deprecated public Float2();
+    ctor @Deprecated public Float2(float, float);
+    field @Deprecated public float x;
+    field @Deprecated public float y;
+  }
+
+  @Deprecated public class Float3 {
+    ctor @Deprecated public Float3();
+    ctor @Deprecated public Float3(float, float, float);
+    field @Deprecated public float x;
+    field @Deprecated public float y;
+    field @Deprecated public float z;
+  }
+
+  @Deprecated public class Float4 {
+    ctor @Deprecated public Float4();
+    ctor @Deprecated public Float4(float, float, float, float);
+    field @Deprecated public float w;
+    field @Deprecated public float x;
+    field @Deprecated public float y;
+    field @Deprecated public float z;
+  }
+
+  @Deprecated public class Int2 {
+    ctor @Deprecated public Int2();
+    ctor @Deprecated public Int2(int, int);
+    field @Deprecated public int x;
+    field @Deprecated public int y;
+  }
+
+  @Deprecated public class Int3 {
+    ctor @Deprecated public Int3();
+    ctor @Deprecated public Int3(int, int, int);
+    field @Deprecated public int x;
+    field @Deprecated public int y;
+    field @Deprecated public int z;
+  }
+
+  @Deprecated public class Int4 {
+    ctor @Deprecated public Int4();
+    ctor @Deprecated public Int4(int, int, int, int);
+    field @Deprecated public int w;
+    field @Deprecated public int x;
+    field @Deprecated public int y;
+    field @Deprecated public int z;
+  }
+
+  @Deprecated public class Long2 {
+    ctor @Deprecated public Long2();
+    ctor @Deprecated public Long2(long, long);
+    field @Deprecated public long x;
+    field @Deprecated public long y;
+  }
+
+  @Deprecated public class Long3 {
+    ctor @Deprecated public Long3();
+    ctor @Deprecated public Long3(long, long, long);
+    field @Deprecated public long x;
+    field @Deprecated public long y;
+    field @Deprecated public long z;
+  }
+
+  @Deprecated public class Long4 {
+    ctor @Deprecated public Long4();
+    ctor @Deprecated public Long4(long, long, long, long);
+    field @Deprecated public long w;
+    field @Deprecated public long x;
+    field @Deprecated public long y;
+    field @Deprecated public long z;
+  }
+
+  @Deprecated public class Matrix2f {
+    ctor @Deprecated public Matrix2f();
+    ctor @Deprecated public Matrix2f(float[]);
+    method @Deprecated public float get(int, int);
+    method @Deprecated public float[] getArray();
+    method @Deprecated public void load(android.renderscript.Matrix2f);
+    method @Deprecated public void loadIdentity();
+    method @Deprecated public void loadMultiply(android.renderscript.Matrix2f, android.renderscript.Matrix2f);
+    method @Deprecated public void loadRotate(float);
+    method @Deprecated public void loadScale(float, float);
+    method @Deprecated public void multiply(android.renderscript.Matrix2f);
+    method @Deprecated public void rotate(float);
+    method @Deprecated public void scale(float, float);
+    method @Deprecated public void set(int, int, float);
+    method @Deprecated public void transpose();
+  }
+
+  @Deprecated public class Matrix3f {
+    ctor @Deprecated public Matrix3f();
+    ctor @Deprecated public Matrix3f(float[]);
+    method @Deprecated public float get(int, int);
+    method @Deprecated public float[] getArray();
+    method @Deprecated public void load(android.renderscript.Matrix3f);
+    method @Deprecated public void loadIdentity();
+    method @Deprecated public void loadMultiply(android.renderscript.Matrix3f, android.renderscript.Matrix3f);
+    method @Deprecated public void loadRotate(float, float, float, float);
+    method @Deprecated public void loadRotate(float);
+    method @Deprecated public void loadScale(float, float);
+    method @Deprecated public void loadScale(float, float, float);
+    method @Deprecated public void loadTranslate(float, float);
+    method @Deprecated public void multiply(android.renderscript.Matrix3f);
+    method @Deprecated public void rotate(float, float, float, float);
+    method @Deprecated public void rotate(float);
+    method @Deprecated public void scale(float, float);
+    method @Deprecated public void scale(float, float, float);
+    method @Deprecated public void set(int, int, float);
+    method @Deprecated public void translate(float, float);
+    method @Deprecated public void transpose();
+  }
+
+  @Deprecated public class Matrix4f {
+    ctor @Deprecated public Matrix4f();
+    ctor @Deprecated public Matrix4f(float[]);
+    method @Deprecated public float get(int, int);
+    method @Deprecated public float[] getArray();
+    method @Deprecated public boolean inverse();
+    method @Deprecated public boolean inverseTranspose();
+    method @Deprecated public void load(android.renderscript.Matrix4f);
+    method @Deprecated public void loadFrustum(float, float, float, float, float, float);
+    method @Deprecated public void loadIdentity();
+    method @Deprecated public void loadMultiply(android.renderscript.Matrix4f, android.renderscript.Matrix4f);
+    method @Deprecated public void loadOrtho(float, float, float, float, float, float);
+    method @Deprecated public void loadOrthoWindow(int, int);
+    method @Deprecated public void loadPerspective(float, float, float, float);
+    method @Deprecated public void loadProjectionNormalized(int, int);
+    method @Deprecated public void loadRotate(float, float, float, float);
+    method @Deprecated public void loadScale(float, float, float);
+    method @Deprecated public void loadTranslate(float, float, float);
+    method @Deprecated public void multiply(android.renderscript.Matrix4f);
+    method @Deprecated public void rotate(float, float, float, float);
+    method @Deprecated public void scale(float, float, float);
+    method @Deprecated public void set(int, int, float);
+    method @Deprecated public void translate(float, float, float);
+    method @Deprecated public void transpose();
+  }
+
+  @Deprecated public class RSDriverException extends android.renderscript.RSRuntimeException {
+    ctor @Deprecated public RSDriverException(String);
+  }
+
+  @Deprecated public class RSIllegalArgumentException extends android.renderscript.RSRuntimeException {
+    ctor @Deprecated public RSIllegalArgumentException(String);
+  }
+
+  @Deprecated public class RSInvalidStateException extends android.renderscript.RSRuntimeException {
+    ctor @Deprecated public RSInvalidStateException(String);
+  }
+
+  @Deprecated public class RSRuntimeException extends java.lang.RuntimeException {
+    ctor @Deprecated public RSRuntimeException(String);
+  }
+
+  @Deprecated public class RenderScript {
+    method @Deprecated public void contextDump();
+    method @Deprecated public static android.renderscript.RenderScript create(android.content.Context);
+    method @Deprecated public static android.renderscript.RenderScript create(android.content.Context, android.renderscript.RenderScript.ContextType);
+    method @Deprecated public static android.renderscript.RenderScript create(android.content.Context, android.renderscript.RenderScript.ContextType, int);
+    method @Deprecated public static android.renderscript.RenderScript createMultiContext(android.content.Context, android.renderscript.RenderScript.ContextType, int, int);
+    method @Deprecated public void destroy();
+    method @Deprecated public void finish();
+    method @Deprecated public final android.content.Context getApplicationContext();
+    method @Deprecated public android.renderscript.RenderScript.RSErrorHandler getErrorHandler();
+    method @Deprecated public android.renderscript.RenderScript.RSMessageHandler getMessageHandler();
+    method @Deprecated public static long getMinorVersion();
+    method @Deprecated public static void releaseAllContexts();
+    method @Deprecated public void sendMessage(int, int[]);
+    method @Deprecated public void setErrorHandler(android.renderscript.RenderScript.RSErrorHandler);
+    method @Deprecated public void setMessageHandler(android.renderscript.RenderScript.RSMessageHandler);
+    method @Deprecated public void setPriority(android.renderscript.RenderScript.Priority);
+    field @Deprecated public static final int CREATE_FLAG_LOW_LATENCY = 2; // 0x2
+    field @Deprecated public static final int CREATE_FLAG_LOW_POWER = 4; // 0x4
+    field @Deprecated public static final int CREATE_FLAG_NONE = 0; // 0x0
+  }
+
+  @Deprecated public enum RenderScript.ContextType {
+    enum_constant @Deprecated public static final android.renderscript.RenderScript.ContextType DEBUG;
+    enum_constant @Deprecated public static final android.renderscript.RenderScript.ContextType NORMAL;
+    enum_constant @Deprecated public static final android.renderscript.RenderScript.ContextType PROFILE;
+  }
+
+  @Deprecated public enum RenderScript.Priority {
+    enum_constant @Deprecated public static final android.renderscript.RenderScript.Priority LOW;
+    enum_constant @Deprecated public static final android.renderscript.RenderScript.Priority NORMAL;
+  }
+
+  @Deprecated public static class RenderScript.RSErrorHandler implements java.lang.Runnable {
+    ctor @Deprecated public RenderScript.RSErrorHandler();
+    method @Deprecated public void run();
+    field @Deprecated protected String mErrorMessage;
+    field @Deprecated protected int mErrorNum;
+  }
+
+  @Deprecated public static class RenderScript.RSMessageHandler implements java.lang.Runnable {
+    ctor @Deprecated public RenderScript.RSMessageHandler();
+    method @Deprecated public void run();
+    field @Deprecated protected int[] mData;
+    field @Deprecated protected int mID;
+    field @Deprecated protected int mLength;
+  }
+
+  @Deprecated public class Sampler extends android.renderscript.BaseObj {
+    method @Deprecated public static android.renderscript.Sampler CLAMP_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler CLAMP_LINEAR_MIP_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler CLAMP_NEAREST(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler MIRRORED_REPEAT_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler MIRRORED_REPEAT_LINEAR_MIP_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler MIRRORED_REPEAT_NEAREST(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler WRAP_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler WRAP_LINEAR_MIP_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler WRAP_NEAREST(android.renderscript.RenderScript);
+    method @Deprecated public float getAnisotropy();
+    method @Deprecated public android.renderscript.Sampler.Value getMagnification();
+    method @Deprecated public android.renderscript.Sampler.Value getMinification();
+    method @Deprecated public android.renderscript.Sampler.Value getWrapS();
+    method @Deprecated public android.renderscript.Sampler.Value getWrapT();
+  }
+
+  @Deprecated public static class Sampler.Builder {
+    ctor @Deprecated public Sampler.Builder(android.renderscript.RenderScript);
+    method @Deprecated public android.renderscript.Sampler create();
+    method @Deprecated public void setAnisotropy(float);
+    method @Deprecated public void setMagnification(android.renderscript.Sampler.Value);
+    method @Deprecated public void setMinification(android.renderscript.Sampler.Value);
+    method @Deprecated public void setWrapS(android.renderscript.Sampler.Value);
+    method @Deprecated public void setWrapT(android.renderscript.Sampler.Value);
+  }
+
+  @Deprecated public enum Sampler.Value {
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value CLAMP;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value LINEAR;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value LINEAR_MIP_LINEAR;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value LINEAR_MIP_NEAREST;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value MIRRORED_REPEAT;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value NEAREST;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value WRAP;
+  }
+
+  @Deprecated public class Script extends android.renderscript.BaseObj {
+    method @Deprecated public void bindAllocation(android.renderscript.Allocation, int);
+    method @Deprecated protected android.renderscript.Script.FieldID createFieldID(int, android.renderscript.Element);
+    method @Deprecated protected android.renderscript.Script.InvokeID createInvokeID(int);
+    method @Deprecated protected android.renderscript.Script.KernelID createKernelID(int, int, android.renderscript.Element, android.renderscript.Element);
+    method @Deprecated protected void forEach(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker);
+    method @Deprecated protected void forEach(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker, android.renderscript.Script.LaunchOptions);
+    method @Deprecated protected void forEach(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.FieldPacker);
+    method @Deprecated protected void forEach(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.FieldPacker, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public boolean getVarB(int);
+    method @Deprecated public double getVarD(int);
+    method @Deprecated public float getVarF(int);
+    method @Deprecated public int getVarI(int);
+    method @Deprecated public long getVarJ(int);
+    method @Deprecated public void getVarV(int, android.renderscript.FieldPacker);
+    method @Deprecated protected void invoke(int);
+    method @Deprecated protected void invoke(int, android.renderscript.FieldPacker);
+    method @Deprecated protected void reduce(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void setTimeZone(String);
+    method @Deprecated public void setVar(int, float);
+    method @Deprecated public void setVar(int, double);
+    method @Deprecated public void setVar(int, int);
+    method @Deprecated public void setVar(int, long);
+    method @Deprecated public void setVar(int, boolean);
+    method @Deprecated public void setVar(int, android.renderscript.BaseObj);
+    method @Deprecated public void setVar(int, android.renderscript.FieldPacker);
+    method @Deprecated public void setVar(int, android.renderscript.FieldPacker, android.renderscript.Element, int[]);
+  }
+
+  @Deprecated public static class Script.Builder {
+  }
+
+  @Deprecated public static class Script.FieldBase {
+    ctor @Deprecated protected Script.FieldBase();
+    method @Deprecated public android.renderscript.Allocation getAllocation();
+    method @Deprecated public android.renderscript.Element getElement();
+    method @Deprecated public android.renderscript.Type getType();
+    method @Deprecated protected void init(android.renderscript.RenderScript, int);
+    method @Deprecated protected void init(android.renderscript.RenderScript, int, int);
+    method @Deprecated public void updateAllocation();
+    field @Deprecated protected android.renderscript.Allocation mAllocation;
+    field @Deprecated protected android.renderscript.Element mElement;
+  }
+
+  @Deprecated public static final class Script.FieldID extends android.renderscript.BaseObj {
+  }
+
+  @Deprecated public static final class Script.InvokeID extends android.renderscript.BaseObj {
+  }
+
+  @Deprecated public static final class Script.KernelID extends android.renderscript.BaseObj {
+  }
+
+  @Deprecated public static final class Script.LaunchOptions {
+    ctor @Deprecated public Script.LaunchOptions();
+    method @Deprecated public int getXEnd();
+    method @Deprecated public int getXStart();
+    method @Deprecated public int getYEnd();
+    method @Deprecated public int getYStart();
+    method @Deprecated public int getZEnd();
+    method @Deprecated public int getZStart();
+    method @Deprecated public android.renderscript.Script.LaunchOptions setX(int, int);
+    method @Deprecated public android.renderscript.Script.LaunchOptions setY(int, int);
+    method @Deprecated public android.renderscript.Script.LaunchOptions setZ(int, int);
+  }
+
+  @Deprecated public class ScriptC extends android.renderscript.Script {
+    ctor @Deprecated protected ScriptC(int, android.renderscript.RenderScript);
+    ctor @Deprecated protected ScriptC(long, android.renderscript.RenderScript);
+    ctor @Deprecated protected ScriptC(android.renderscript.RenderScript, android.content.res.Resources, int);
+    ctor @Deprecated protected ScriptC(android.renderscript.RenderScript, String, byte[], byte[]);
+  }
+
+  @Deprecated public final class ScriptGroup extends android.renderscript.BaseObj {
+    method @Deprecated public Object[] execute(java.lang.Object...);
+    method @Deprecated public void execute();
+    method @Deprecated public void setInput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
+    method @Deprecated public void setOutput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
+  }
+
+  @Deprecated public static final class ScriptGroup.Binding {
+    ctor @Deprecated public ScriptGroup.Binding(android.renderscript.Script.FieldID, Object);
+  }
+
+  @Deprecated public static final class ScriptGroup.Builder {
+    ctor @Deprecated public ScriptGroup.Builder(android.renderscript.RenderScript);
+    method @Deprecated public android.renderscript.ScriptGroup.Builder addConnection(android.renderscript.Type, android.renderscript.Script.KernelID, android.renderscript.Script.FieldID);
+    method @Deprecated public android.renderscript.ScriptGroup.Builder addConnection(android.renderscript.Type, android.renderscript.Script.KernelID, android.renderscript.Script.KernelID);
+    method @Deprecated public android.renderscript.ScriptGroup.Builder addKernel(android.renderscript.Script.KernelID);
+    method @Deprecated public android.renderscript.ScriptGroup create();
+  }
+
+  @Deprecated public static final class ScriptGroup.Builder2 {
+    ctor @Deprecated public ScriptGroup.Builder2(android.renderscript.RenderScript);
+    method @Deprecated public android.renderscript.ScriptGroup.Input addInput();
+    method @Deprecated public android.renderscript.ScriptGroup.Closure addInvoke(android.renderscript.Script.InvokeID, java.lang.Object...);
+    method @Deprecated public android.renderscript.ScriptGroup.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object...);
+    method @Deprecated public android.renderscript.ScriptGroup create(String, android.renderscript.ScriptGroup.Future...);
+  }
+
+  @Deprecated public static final class ScriptGroup.Closure extends android.renderscript.BaseObj {
+    method @Deprecated public android.renderscript.ScriptGroup.Future getGlobal(android.renderscript.Script.FieldID);
+    method @Deprecated public android.renderscript.ScriptGroup.Future getReturn();
+  }
+
+  @Deprecated public static final class ScriptGroup.Future {
+  }
+
+  @Deprecated public static final class ScriptGroup.Input {
+  }
+
+  @Deprecated public abstract class ScriptIntrinsic extends android.renderscript.Script {
+  }
+
+  @Deprecated public final class ScriptIntrinsic3DLUT extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsic3DLUT create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setLUT(android.renderscript.Allocation);
+  }
+
+  @Deprecated public final class ScriptIntrinsicBLAS extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public void BNNM(android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation, int, int);
+    method @Deprecated public void CGBMV(int, int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Float2, android.renderscript.Allocation, int);
+    method @Deprecated public void CGEMM(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Float2, android.renderscript.Allocation);
+    method @Deprecated public void CGEMV(int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Float2, android.renderscript.Allocation, int);
+    method @Deprecated public void CGERC(android.renderscript.Float2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CGERU(android.renderscript.Float2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CHBMV(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Float2, android.renderscript.Allocation, int);
+    method @Deprecated public void CHEMM(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Float2, android.renderscript.Allocation);
+    method @Deprecated public void CHEMV(int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Float2, android.renderscript.Allocation, int);
+    method @Deprecated public void CHER(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CHER2(int, android.renderscript.Float2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CHER2K(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void CHERK(int, int, float, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void CHPMV(int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Float2, android.renderscript.Allocation, int);
+    method @Deprecated public void CHPR(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CHPR2(int, android.renderscript.Float2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CSYMM(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Float2, android.renderscript.Allocation);
+    method @Deprecated public void CSYR2K(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Float2, android.renderscript.Allocation);
+    method @Deprecated public void CSYRK(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Float2, android.renderscript.Allocation);
+    method @Deprecated public void CTBMV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void CTBSV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void CTPMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void CTPSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void CTRMM(int, int, int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void CTRMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void CTRSM(int, int, int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void CTRSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DGBMV(int, int, int, double, android.renderscript.Allocation, android.renderscript.Allocation, int, double, android.renderscript.Allocation, int);
+    method @Deprecated public void DGEMM(int, int, double, android.renderscript.Allocation, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void DGEMV(int, double, android.renderscript.Allocation, android.renderscript.Allocation, int, double, android.renderscript.Allocation, int);
+    method @Deprecated public void DGER(double, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void DSBMV(int, int, double, android.renderscript.Allocation, android.renderscript.Allocation, int, double, android.renderscript.Allocation, int);
+    method @Deprecated public void DSPMV(int, double, android.renderscript.Allocation, android.renderscript.Allocation, int, double, android.renderscript.Allocation, int);
+    method @Deprecated public void DSPR(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void DSPR2(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void DSYMM(int, int, double, android.renderscript.Allocation, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void DSYMV(int, double, android.renderscript.Allocation, android.renderscript.Allocation, int, double, android.renderscript.Allocation, int);
+    method @Deprecated public void DSYR(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void DSYR2(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void DSYR2K(int, int, double, android.renderscript.Allocation, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void DSYRK(int, int, double, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void DTBMV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DTBSV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DTPMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DTPSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DTRMM(int, int, int, int, double, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void DTRMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DTRSM(int, int, int, int, double, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void DTRSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void SGBMV(int, int, int, float, android.renderscript.Allocation, android.renderscript.Allocation, int, float, android.renderscript.Allocation, int);
+    method @Deprecated public void SGEMM(int, int, float, android.renderscript.Allocation, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void SGEMV(int, float, android.renderscript.Allocation, android.renderscript.Allocation, int, float, android.renderscript.Allocation, int);
+    method @Deprecated public void SGER(float, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void SSBMV(int, int, float, android.renderscript.Allocation, android.renderscript.Allocation, int, float, android.renderscript.Allocation, int);
+    method @Deprecated public void SSPMV(int, float, android.renderscript.Allocation, android.renderscript.Allocation, int, float, android.renderscript.Allocation, int);
+    method @Deprecated public void SSPR(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void SSPR2(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void SSYMM(int, int, float, android.renderscript.Allocation, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void SSYMV(int, float, android.renderscript.Allocation, android.renderscript.Allocation, int, float, android.renderscript.Allocation, int);
+    method @Deprecated public void SSYR(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void SSYR2(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void SSYR2K(int, int, float, android.renderscript.Allocation, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void SSYRK(int, int, float, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void STBMV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void STBSV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void STPMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void STPSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void STRMM(int, int, int, int, float, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void STRMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void STRSM(int, int, int, int, float, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void STRSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZGBMV(int, int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Double2, android.renderscript.Allocation, int);
+    method @Deprecated public void ZGEMM(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Double2, android.renderscript.Allocation);
+    method @Deprecated public void ZGEMV(int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Double2, android.renderscript.Allocation, int);
+    method @Deprecated public void ZGERC(android.renderscript.Double2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZGERU(android.renderscript.Double2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZHBMV(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Double2, android.renderscript.Allocation, int);
+    method @Deprecated public void ZHEMM(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Double2, android.renderscript.Allocation);
+    method @Deprecated public void ZHEMV(int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Double2, android.renderscript.Allocation, int);
+    method @Deprecated public void ZHER(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZHER2(int, android.renderscript.Double2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZHER2K(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void ZHERK(int, int, double, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void ZHPMV(int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Double2, android.renderscript.Allocation, int);
+    method @Deprecated public void ZHPR(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZHPR2(int, android.renderscript.Double2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZSYMM(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Double2, android.renderscript.Allocation);
+    method @Deprecated public void ZSYR2K(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Double2, android.renderscript.Allocation);
+    method @Deprecated public void ZSYRK(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Double2, android.renderscript.Allocation);
+    method @Deprecated public void ZTBMV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZTBSV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZTPMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZTPSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZTRMM(int, int, int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void ZTRMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZTRSM(int, int, int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void ZTRSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public static android.renderscript.ScriptIntrinsicBLAS create(android.renderscript.RenderScript);
+    field @Deprecated public static final int CONJ_TRANSPOSE = 113; // 0x71
+    field @Deprecated public static final int LEFT = 141; // 0x8d
+    field @Deprecated public static final int LOWER = 122; // 0x7a
+    field @Deprecated public static final int NON_UNIT = 131; // 0x83
+    field @Deprecated public static final int NO_TRANSPOSE = 111; // 0x6f
+    field @Deprecated public static final int RIGHT = 142; // 0x8e
+    field @Deprecated public static final int TRANSPOSE = 112; // 0x70
+    field @Deprecated public static final int UNIT = 132; // 0x84
+    field @Deprecated public static final int UPPER = 121; // 0x79
+  }
+
+  @Deprecated public class ScriptIntrinsicBlend extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicBlend create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEachAdd(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachAdd(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachClear(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachClear(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachDst(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachDst(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachDstAtop(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachDstAtop(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachDstIn(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachDstIn(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachDstOut(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachDstOut(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachDstOver(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachDstOver(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachMultiply(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachMultiply(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSrc(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSrc(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSrcAtop(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSrcAtop(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSrcIn(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSrcIn(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSrcOut(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSrcOut(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSrcOver(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSrcOver(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSubtract(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSubtract(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachXor(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachXor(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDAdd();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDClear();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDDst();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDDstAtop();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDDstIn();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDDstOut();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDDstOver();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDMultiply();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSrc();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSrcAtop();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSrcIn();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSrcOut();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSrcOver();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSubtract();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDXor();
+  }
+
+  @Deprecated public final class ScriptIntrinsicBlur extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicBlur create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setInput(android.renderscript.Allocation);
+    method @Deprecated public void setRadius(float);
+  }
+
+  @Deprecated public final class ScriptIntrinsicColorMatrix extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicColorMatrix create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public static android.renderscript.ScriptIntrinsicColorMatrix create(android.renderscript.RenderScript);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setAdd(android.renderscript.Float4);
+    method @Deprecated public void setAdd(float, float, float, float);
+    method @Deprecated public void setColorMatrix(android.renderscript.Matrix4f);
+    method @Deprecated public void setColorMatrix(android.renderscript.Matrix3f);
+    method @Deprecated public void setGreyscale();
+    method @Deprecated public void setRGBtoYUV();
+    method @Deprecated public void setYUVtoRGB();
+  }
+
+  @Deprecated public final class ScriptIntrinsicConvolve3x3 extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicConvolve3x3 create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setCoefficients(float[]);
+    method @Deprecated public void setInput(android.renderscript.Allocation);
+  }
+
+  @Deprecated public final class ScriptIntrinsicConvolve5x5 extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicConvolve5x5 create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setCoefficients(float[]);
+    method @Deprecated public void setInput(android.renderscript.Allocation);
+  }
+
+  @Deprecated public final class ScriptIntrinsicHistogram extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicHistogram create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEach_Dot(android.renderscript.Allocation);
+    method @Deprecated public void forEach_Dot(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID_Separate();
+    method @Deprecated public void setDotCoefficients(float, float, float, float);
+    method @Deprecated public void setOutput(android.renderscript.Allocation);
+  }
+
+  @Deprecated public final class ScriptIntrinsicLUT extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicLUT create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setAlpha(int, int);
+    method @Deprecated public void setBlue(int, int);
+    method @Deprecated public void setGreen(int, int);
+    method @Deprecated public void setRed(int, int);
+  }
+
+  @Deprecated public final class ScriptIntrinsicResize extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicResize create(android.renderscript.RenderScript);
+    method @Deprecated public void forEach_bicubic(android.renderscript.Allocation);
+    method @Deprecated public void forEach_bicubic(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID_bicubic();
+    method @Deprecated public void setInput(android.renderscript.Allocation);
+  }
+
+  @Deprecated public final class ScriptIntrinsicYuvToRGB extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicYuvToRGB create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setInput(android.renderscript.Allocation);
+  }
+
+  @Deprecated public class Short2 {
+    ctor @Deprecated public Short2();
+    ctor @Deprecated public Short2(short, short);
+    field @Deprecated public short x;
+    field @Deprecated public short y;
+  }
+
+  @Deprecated public class Short3 {
+    ctor @Deprecated public Short3();
+    ctor @Deprecated public Short3(short, short, short);
+    field @Deprecated public short x;
+    field @Deprecated public short y;
+    field @Deprecated public short z;
+  }
+
+  @Deprecated public class Short4 {
+    ctor @Deprecated public Short4();
+    ctor @Deprecated public Short4(short, short, short, short);
+    field @Deprecated public short w;
+    field @Deprecated public short x;
+    field @Deprecated public short y;
+    field @Deprecated public short z;
+  }
+
+  @Deprecated public class Type extends android.renderscript.BaseObj {
+    method @Deprecated public static android.renderscript.Type createX(android.renderscript.RenderScript, android.renderscript.Element, int);
+    method @Deprecated public static android.renderscript.Type createXY(android.renderscript.RenderScript, android.renderscript.Element, int, int);
+    method @Deprecated public static android.renderscript.Type createXYZ(android.renderscript.RenderScript, android.renderscript.Element, int, int, int);
+    method @Deprecated public int getCount();
+    method @Deprecated public android.renderscript.Element getElement();
+    method @Deprecated public int getX();
+    method @Deprecated public int getY();
+    method @Deprecated public int getYuv();
+    method @Deprecated public int getZ();
+    method @Deprecated public boolean hasFaces();
+    method @Deprecated public boolean hasMipmaps();
+  }
+
+  @Deprecated public static class Type.Builder {
+    ctor @Deprecated public Type.Builder(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public android.renderscript.Type create();
+    method @Deprecated public android.renderscript.Type.Builder setFaces(boolean);
+    method @Deprecated public android.renderscript.Type.Builder setMipmaps(boolean);
+    method @Deprecated public android.renderscript.Type.Builder setX(int);
+    method @Deprecated public android.renderscript.Type.Builder setY(int);
+    method @Deprecated public android.renderscript.Type.Builder setYuvFormat(int);
+    method @Deprecated public android.renderscript.Type.Builder setZ(int);
+  }
+
+  @Deprecated public enum Type.CubemapFace {
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace NEGATIVE_X;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace NEGATIVE_Y;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace NEGATIVE_Z;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITIVE_X;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITIVE_Y;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITIVE_Z;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITVE_X;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITVE_Y;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITVE_Z;
+  }
+
+}
+
+package android.sax {
+
+  public class Element {
+    method public android.sax.Element getChild(String);
+    method public android.sax.Element getChild(String, String);
+    method public android.sax.Element requireChild(String);
+    method public android.sax.Element requireChild(String, String);
+    method public void setElementListener(android.sax.ElementListener);
+    method public void setEndElementListener(android.sax.EndElementListener);
+    method public void setEndTextElementListener(android.sax.EndTextElementListener);
+    method public void setStartElementListener(android.sax.StartElementListener);
+    method public void setTextElementListener(android.sax.TextElementListener);
+  }
+
+  public interface ElementListener extends android.sax.StartElementListener android.sax.EndElementListener {
+  }
+
+  public interface EndElementListener {
+    method public void end();
+  }
+
+  public interface EndTextElementListener {
+    method public void end(String);
+  }
+
+  public class RootElement extends android.sax.Element {
+    ctor public RootElement(String, String);
+    ctor public RootElement(String);
+    method public org.xml.sax.ContentHandler getContentHandler();
+  }
+
+  public interface StartElementListener {
+    method public void start(org.xml.sax.Attributes);
+  }
+
+  public interface TextElementListener extends android.sax.StartElementListener android.sax.EndTextElementListener {
+  }
+
+}
+
+package android.se.omapi {
+
+  public final class Channel implements java.nio.channels.Channel {
+    method public void close();
+    method @Nullable public byte[] getSelectResponse();
+    method @NonNull public android.se.omapi.Session getSession();
+    method public boolean isBasicChannel();
+    method public boolean isOpen();
+    method public boolean selectNext() throws java.io.IOException;
+    method @NonNull public byte[] transmit(@NonNull byte[]) throws java.io.IOException;
+  }
+
+  public final class Reader {
+    method public void closeSessions();
+    method @NonNull public String getName();
+    method @NonNull public android.se.omapi.SEService getSEService();
+    method public boolean isSecureElementPresent();
+    method @NonNull public android.se.omapi.Session openSession() throws java.io.IOException;
+  }
+
+  public final class SEService {
+    ctor public SEService(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.se.omapi.SEService.OnConnectedListener);
+    method @NonNull public android.se.omapi.Reader[] getReaders();
+    method @NonNull public android.se.omapi.Reader getUiccReader(int);
+    method @NonNull public String getVersion();
+    method public boolean isConnected();
+    method public void shutdown();
+    field public static final String ACTION_SECURE_ELEMENT_STATE_CHANGED = "android.se.omapi.action.SECURE_ELEMENT_STATE_CHANGED";
+    field public static final String EXTRA_READER_NAME = "android.se.omapi.extra.READER_NAME";
+    field public static final String EXTRA_READER_STATE = "android.se.omapi.extra.READER_STATE";
+  }
+
+  public static interface SEService.OnConnectedListener {
+    method public void onConnected();
+  }
+
+  public final class Session {
+    method public void close();
+    method public void closeChannels();
+    method @Nullable public byte[] getATR();
+    method @NonNull public android.se.omapi.Reader getReader();
+    method public boolean isClosed();
+    method @Nullable public android.se.omapi.Channel openBasicChannel(@Nullable byte[], @Nullable byte) throws java.io.IOException;
+    method @Nullable public android.se.omapi.Channel openBasicChannel(@Nullable byte[]) throws java.io.IOException;
+    method @Nullable public android.se.omapi.Channel openLogicalChannel(@Nullable byte[], @Nullable byte) throws java.io.IOException;
+    method @Nullable public android.se.omapi.Channel openLogicalChannel(@Nullable byte[]) throws java.io.IOException;
+  }
+
+}
+
+package android.security {
+
+  public final class AppUriAuthenticationPolicy implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.String,java.util.Map<android.net.Uri,java.lang.String>> getAppAndUriMappings();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.security.AppUriAuthenticationPolicy> CREATOR;
+  }
+
+  public static final class AppUriAuthenticationPolicy.Builder {
+    ctor public AppUriAuthenticationPolicy.Builder();
+    method @NonNull public android.security.AppUriAuthenticationPolicy.Builder addAppAndUriMapping(@NonNull String, @NonNull android.net.Uri, @NonNull String);
+    method @NonNull public android.security.AppUriAuthenticationPolicy build();
+  }
+
+  public final class AttestedKeyPair {
+    ctor public AttestedKeyPair(@Nullable java.security.KeyPair, @NonNull java.util.List<java.security.cert.Certificate>);
+    method @NonNull public java.util.List<java.security.cert.Certificate> getAttestationRecord();
+    method @Nullable public java.security.KeyPair getKeyPair();
+  }
+
+  public class ConfirmationAlreadyPresentingException extends java.lang.Exception {
+    ctor public ConfirmationAlreadyPresentingException();
+    ctor public ConfirmationAlreadyPresentingException(String);
+  }
+
+  public abstract class ConfirmationCallback {
+    ctor public ConfirmationCallback();
+    method public void onCanceled();
+    method public void onConfirmed(@NonNull byte[]);
+    method public void onDismissed();
+    method public void onError(Throwable);
+  }
+
+  public class ConfirmationNotAvailableException extends java.lang.Exception {
+    ctor public ConfirmationNotAvailableException();
+    ctor public ConfirmationNotAvailableException(String);
+  }
+
+  public class ConfirmationPrompt {
+    method public void cancelPrompt();
+    method public static boolean isSupported(android.content.Context);
+    method public void presentPrompt(@NonNull java.util.concurrent.Executor, @NonNull android.security.ConfirmationCallback) throws android.security.ConfirmationAlreadyPresentingException, android.security.ConfirmationNotAvailableException;
+  }
+
+  public static final class ConfirmationPrompt.Builder {
+    ctor public ConfirmationPrompt.Builder(android.content.Context);
+    method public android.security.ConfirmationPrompt build();
+    method public android.security.ConfirmationPrompt.Builder setExtraData(byte[]);
+    method public android.security.ConfirmationPrompt.Builder setPromptText(CharSequence);
+  }
+
+  public final class FileIntegrityManager {
+    method public boolean isApkVeritySupported();
+    method @RequiresPermission(anyOf={android.Manifest.permission.INSTALL_PACKAGES, android.Manifest.permission.REQUEST_INSTALL_PACKAGES}) public boolean isAppSourceCertificateTrusted(@NonNull java.security.cert.X509Certificate) throws java.security.cert.CertificateEncodingException;
+  }
+
+  public final class KeyChain {
+    ctor public KeyChain();
+    method public static void choosePrivateKeyAlias(@NonNull android.app.Activity, @NonNull android.security.KeyChainAliasCallback, @Nullable String[], @Nullable java.security.Principal[], @Nullable String, int, @Nullable String);
+    method public static void choosePrivateKeyAlias(@NonNull android.app.Activity, @NonNull android.security.KeyChainAliasCallback, @Nullable String[], @Nullable java.security.Principal[], @Nullable android.net.Uri, @Nullable String);
+    method @NonNull public static android.content.Intent createInstallIntent();
+    method @NonNull public static android.content.Intent createManageCredentialsIntent(@NonNull android.security.AppUriAuthenticationPolicy);
+    method @Nullable @WorkerThread public static java.security.cert.X509Certificate[] getCertificateChain(@NonNull android.content.Context, @NonNull String) throws java.lang.InterruptedException, android.security.KeyChainException;
+    method @NonNull @WorkerThread public static android.security.AppUriAuthenticationPolicy getCredentialManagementAppPolicy(@NonNull android.content.Context) throws java.lang.SecurityException;
+    method @Nullable @WorkerThread public static java.security.PrivateKey getPrivateKey(@NonNull android.content.Context, @NonNull String) throws java.lang.InterruptedException, android.security.KeyChainException;
+    method @Deprecated public static boolean isBoundKeyAlgorithm(@NonNull String);
+    method @WorkerThread public static boolean isCredentialManagementApp(@NonNull android.content.Context);
+    method public static boolean isKeyAlgorithmSupported(@NonNull String);
+    method @RequiresPermission(value="android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP", conditional=true) @WorkerThread public static boolean removeCredentialManagementApp(@NonNull android.content.Context);
+    field public static final String ACTION_KEYCHAIN_CHANGED = "android.security.action.KEYCHAIN_CHANGED";
+    field public static final String ACTION_KEY_ACCESS_CHANGED = "android.security.action.KEY_ACCESS_CHANGED";
+    field @Deprecated public static final String ACTION_STORAGE_CHANGED = "android.security.STORAGE_CHANGED";
+    field public static final String ACTION_TRUST_STORE_CHANGED = "android.security.action.TRUST_STORE_CHANGED";
+    field public static final String EXTRA_CERTIFICATE = "CERT";
+    field public static final String EXTRA_KEY_ACCESSIBLE = "android.security.extra.KEY_ACCESSIBLE";
+    field public static final String EXTRA_KEY_ALIAS = "android.security.extra.KEY_ALIAS";
+    field public static final String EXTRA_NAME = "name";
+    field public static final String EXTRA_PKCS12 = "PKCS12";
+    field public static final String KEY_ALIAS_SELECTION_DENIED = "android:alias-selection-denied";
+  }
+
+  public interface KeyChainAliasCallback {
+    method public void alias(@Nullable String);
+  }
+
+  public class KeyChainException extends java.lang.Exception {
+    ctor public KeyChainException();
+    ctor public KeyChainException(String);
+    ctor public KeyChainException(String, Throwable);
+    ctor public KeyChainException(Throwable);
+  }
+
+  @Deprecated public final class KeyPairGeneratorSpec implements java.security.spec.AlgorithmParameterSpec {
+    method @Deprecated @NonNull public java.security.spec.AlgorithmParameterSpec getAlgorithmParameterSpec();
+    method @Deprecated public android.content.Context getContext();
+    method @Deprecated @NonNull public java.util.Date getEndDate();
+    method @Deprecated public int getKeySize();
+    method @Deprecated @Nullable public String getKeyType();
+    method @Deprecated public String getKeystoreAlias();
+    method @Deprecated @NonNull public java.math.BigInteger getSerialNumber();
+    method @Deprecated @NonNull public java.util.Date getStartDate();
+    method @Deprecated @NonNull public javax.security.auth.x500.X500Principal getSubjectDN();
+    method @Deprecated public boolean isEncryptionRequired();
+  }
+
+  @Deprecated public static final class KeyPairGeneratorSpec.Builder {
+    ctor @Deprecated public KeyPairGeneratorSpec.Builder(@NonNull android.content.Context);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec build();
+    method @Deprecated public android.security.KeyPairGeneratorSpec.Builder setAlgorithmParameterSpec(@NonNull java.security.spec.AlgorithmParameterSpec);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setAlias(@NonNull String);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setEncryptionRequired();
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setEndDate(@NonNull java.util.Date);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setKeySize(int);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setKeyType(@NonNull String) throws java.security.NoSuchAlgorithmException;
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setSerialNumber(@NonNull java.math.BigInteger);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setStartDate(@NonNull java.util.Date);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setSubject(@NonNull javax.security.auth.x500.X500Principal);
+  }
+
+  @Deprecated public final class KeyStoreParameter implements java.security.KeyStore.ProtectionParameter {
+    method @Deprecated public boolean isEncryptionRequired();
+  }
+
+  @Deprecated public static final class KeyStoreParameter.Builder {
+    ctor @Deprecated public KeyStoreParameter.Builder(@NonNull android.content.Context);
+    method @Deprecated @NonNull public android.security.KeyStoreParameter build();
+    method @Deprecated @NonNull public android.security.KeyStoreParameter.Builder setEncryptionRequired(boolean);
+  }
+
+  public class NetworkSecurityPolicy {
+    method public static android.security.NetworkSecurityPolicy getInstance();
+    method public boolean isCleartextTrafficPermitted();
+    method public boolean isCleartextTrafficPermitted(String);
+  }
+
+}
+
+package android.security.identity {
+
+  public class AccessControlProfile {
+  }
+
+  public static final class AccessControlProfile.Builder {
+    ctor public AccessControlProfile.Builder(@NonNull android.security.identity.AccessControlProfileId);
+    method @NonNull public android.security.identity.AccessControlProfile build();
+    method @NonNull public android.security.identity.AccessControlProfile.Builder setReaderCertificate(@NonNull java.security.cert.X509Certificate);
+    method @NonNull public android.security.identity.AccessControlProfile.Builder setUserAuthenticationRequired(boolean);
+    method @NonNull public android.security.identity.AccessControlProfile.Builder setUserAuthenticationTimeout(long);
+  }
+
+  public class AccessControlProfileId {
+    ctor public AccessControlProfileId(int);
+    method public int getId();
+  }
+
+  public class AlreadyPersonalizedException extends android.security.identity.IdentityCredentialException {
+    ctor public AlreadyPersonalizedException(@NonNull String);
+    ctor public AlreadyPersonalizedException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class CipherSuiteNotSupportedException extends android.security.identity.IdentityCredentialException {
+    ctor public CipherSuiteNotSupportedException(@NonNull String);
+    ctor public CipherSuiteNotSupportedException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class DocTypeNotSupportedException extends android.security.identity.IdentityCredentialException {
+    ctor public DocTypeNotSupportedException(@NonNull String);
+    ctor public DocTypeNotSupportedException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class EphemeralPublicKeyNotFoundException extends android.security.identity.IdentityCredentialException {
+    ctor public EphemeralPublicKeyNotFoundException(@NonNull String);
+    ctor public EphemeralPublicKeyNotFoundException(@NonNull String, @NonNull Throwable);
+  }
+
+  public abstract class IdentityCredential {
+    method @NonNull public abstract java.security.KeyPair createEphemeralKeyPair();
+    method @NonNull public abstract byte[] decryptMessageFromReader(@NonNull byte[]) throws android.security.identity.MessageDecryptionException;
+    method @NonNull public byte[] delete(@NonNull byte[]);
+    method @NonNull public abstract byte[] encryptMessageToReader(@NonNull byte[]);
+    method @NonNull public abstract java.util.Collection<java.security.cert.X509Certificate> getAuthKeysNeedingCertification();
+    method @NonNull public abstract int[] getAuthenticationDataUsageCount();
+    method @NonNull public abstract java.util.Collection<java.security.cert.X509Certificate> getCredentialKeyCertificateChain();
+    method @NonNull public abstract android.security.identity.ResultData getEntries(@Nullable byte[], @NonNull java.util.Map<java.lang.String,java.util.Collection<java.lang.String>>, @Nullable byte[], @Nullable byte[]) throws android.security.identity.EphemeralPublicKeyNotFoundException, android.security.identity.InvalidReaderSignatureException, android.security.identity.InvalidRequestMessageException, android.security.identity.NoAuthenticationKeyAvailableException, android.security.identity.SessionTranscriptMismatchException;
+    method @NonNull public byte[] proveOwnership(@NonNull byte[]);
+    method public abstract void setAllowUsingExhaustedKeys(boolean);
+    method public void setAllowUsingExpiredKeys(boolean);
+    method public abstract void setAvailableAuthenticationKeys(int, int);
+    method public abstract void setReaderEphemeralPublicKey(@NonNull java.security.PublicKey) throws java.security.InvalidKeyException;
+    method @Deprecated public abstract void storeStaticAuthenticationData(@NonNull java.security.cert.X509Certificate, @NonNull byte[]) throws android.security.identity.UnknownAuthenticationKeyException;
+    method public void storeStaticAuthenticationData(@NonNull java.security.cert.X509Certificate, @NonNull java.time.Instant, @NonNull byte[]) throws android.security.identity.UnknownAuthenticationKeyException;
+    method @NonNull public byte[] update(@NonNull android.security.identity.PersonalizationData);
+  }
+
+  public class IdentityCredentialException extends java.lang.Exception {
+    ctor public IdentityCredentialException(@NonNull String);
+    ctor public IdentityCredentialException(@NonNull String, @NonNull Throwable);
+  }
+
+  public abstract class IdentityCredentialStore {
+    method @NonNull public abstract android.security.identity.WritableIdentityCredential createCredential(@NonNull String, @NonNull String) throws android.security.identity.AlreadyPersonalizedException, android.security.identity.DocTypeNotSupportedException;
+    method @Deprecated @Nullable public abstract byte[] deleteCredentialByName(@NonNull String);
+    method @Nullable public abstract android.security.identity.IdentityCredential getCredentialByName(@NonNull String, int) throws android.security.identity.CipherSuiteNotSupportedException;
+    method @Nullable public static android.security.identity.IdentityCredentialStore getDirectAccessInstance(@NonNull android.content.Context);
+    method @Nullable public static android.security.identity.IdentityCredentialStore getInstance(@NonNull android.content.Context);
+    method @NonNull public abstract String[] getSupportedDocTypes();
+    field public static final int CIPHERSUITE_ECDHE_HKDF_ECDSA_WITH_AES_256_GCM_SHA256 = 1; // 0x1
+  }
+
+  public class InvalidReaderSignatureException extends android.security.identity.IdentityCredentialException {
+    ctor public InvalidReaderSignatureException(@NonNull String);
+    ctor public InvalidReaderSignatureException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class InvalidRequestMessageException extends android.security.identity.IdentityCredentialException {
+    ctor public InvalidRequestMessageException(@NonNull String);
+    ctor public InvalidRequestMessageException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class MessageDecryptionException extends android.security.identity.IdentityCredentialException {
+    ctor public MessageDecryptionException(@NonNull String);
+    ctor public MessageDecryptionException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class NoAuthenticationKeyAvailableException extends android.security.identity.IdentityCredentialException {
+    ctor public NoAuthenticationKeyAvailableException(@NonNull String);
+    ctor public NoAuthenticationKeyAvailableException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class PersonalizationData {
+  }
+
+  public static final class PersonalizationData.Builder {
+    ctor public PersonalizationData.Builder();
+    method @NonNull public android.security.identity.PersonalizationData.Builder addAccessControlProfile(@NonNull android.security.identity.AccessControlProfile);
+    method @NonNull public android.security.identity.PersonalizationData build();
+    method @NonNull public android.security.identity.PersonalizationData.Builder putEntry(@NonNull String, @NonNull String, @NonNull java.util.Collection<android.security.identity.AccessControlProfileId>, @NonNull byte[]);
+  }
+
+  public abstract class ResultData {
+    method @NonNull public abstract byte[] getAuthenticatedData();
+    method @Nullable public abstract byte[] getEntry(@NonNull String, @NonNull String);
+    method @Nullable public abstract java.util.Collection<java.lang.String> getEntryNames(@NonNull String);
+    method @Nullable public abstract byte[] getMessageAuthenticationCode();
+    method @NonNull public abstract java.util.Collection<java.lang.String> getNamespaces();
+    method @Nullable public abstract java.util.Collection<java.lang.String> getRetrievedEntryNames(@NonNull String);
+    method @NonNull public abstract byte[] getStaticAuthenticationData();
+    method public abstract int getStatus(@NonNull String, @NonNull String);
+    field public static final int STATUS_NOT_IN_REQUEST_MESSAGE = 3; // 0x3
+    field public static final int STATUS_NOT_REQUESTED = 2; // 0x2
+    field public static final int STATUS_NO_ACCESS_CONTROL_PROFILES = 6; // 0x6
+    field public static final int STATUS_NO_SUCH_ENTRY = 1; // 0x1
+    field public static final int STATUS_OK = 0; // 0x0
+    field public static final int STATUS_READER_AUTHENTICATION_FAILED = 5; // 0x5
+    field public static final int STATUS_USER_AUTHENTICATION_FAILED = 4; // 0x4
+  }
+
+  public class SessionTranscriptMismatchException extends android.security.identity.IdentityCredentialException {
+    ctor public SessionTranscriptMismatchException(@NonNull String);
+    ctor public SessionTranscriptMismatchException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class UnknownAuthenticationKeyException extends android.security.identity.IdentityCredentialException {
+    ctor public UnknownAuthenticationKeyException(@NonNull String);
+    ctor public UnknownAuthenticationKeyException(@NonNull String, @NonNull Throwable);
+  }
+
+  public abstract class WritableIdentityCredential {
+    method @NonNull public abstract java.util.Collection<java.security.cert.X509Certificate> getCredentialKeyCertificateChain(@NonNull byte[]);
+    method @NonNull public abstract byte[] personalize(@NonNull android.security.identity.PersonalizationData);
+  }
+
+}
+
+package android.security.keystore {
+
+  public class BackendBusyException extends java.security.ProviderException {
+    ctor public BackendBusyException(long);
+    ctor public BackendBusyException(long, @NonNull String);
+    ctor public BackendBusyException(long, @NonNull String, @NonNull Throwable);
+    method public long getBackOffHintMillis();
+  }
+
+  public class KeyExpiredException extends java.security.InvalidKeyException {
+    ctor public KeyExpiredException();
+    ctor public KeyExpiredException(String);
+    ctor public KeyExpiredException(String, Throwable);
+  }
+
+  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    method @Nullable public java.security.spec.AlgorithmParameterSpec getAlgorithmParameterSpec();
+    method @Nullable public String getAttestKeyAlias();
+    method public byte[] getAttestationChallenge();
+    method @NonNull public String[] getBlockModes();
+    method @NonNull public java.util.Date getCertificateNotAfter();
+    method @NonNull public java.util.Date getCertificateNotBefore();
+    method @NonNull public java.math.BigInteger getCertificateSerialNumber();
+    method @NonNull public javax.security.auth.x500.X500Principal getCertificateSubject();
+    method @NonNull public String[] getDigests();
+    method @NonNull public String[] getEncryptionPaddings();
+    method public int getKeySize();
+    method @Nullable public java.util.Date getKeyValidityForConsumptionEnd();
+    method @Nullable public java.util.Date getKeyValidityForOriginationEnd();
+    method @Nullable public java.util.Date getKeyValidityStart();
+    method @NonNull public String getKeystoreAlias();
+    method public int getMaxUsageCount();
+    method public int getPurposes();
+    method @NonNull public String[] getSignaturePaddings();
+    method public int getUserAuthenticationType();
+    method public int getUserAuthenticationValidityDurationSeconds();
+    method public boolean isDevicePropertiesAttestationIncluded();
+    method @NonNull public boolean isDigestsSpecified();
+    method public boolean isInvalidatedByBiometricEnrollment();
+    method public boolean isRandomizedEncryptionRequired();
+    method public boolean isStrongBoxBacked();
+    method public boolean isUnlockedDeviceRequired();
+    method public boolean isUserAuthenticationRequired();
+    method public boolean isUserAuthenticationValidWhileOnBody();
+    method public boolean isUserConfirmationRequired();
+    method public boolean isUserPresenceRequired();
+  }
+
+  public static final class KeyGenParameterSpec.Builder {
+    ctor public KeyGenParameterSpec.Builder(@NonNull String, int);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec build();
+    method public android.security.keystore.KeyGenParameterSpec.Builder setAlgorithmParameterSpec(@NonNull java.security.spec.AlgorithmParameterSpec);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestKeyAlias(@Nullable String);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationChallenge(byte[]);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setBlockModes(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setCertificateNotAfter(@NonNull java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setCertificateNotBefore(@NonNull java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setCertificateSerialNumber(@NonNull java.math.BigInteger);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setCertificateSubject(@NonNull javax.security.auth.x500.X500Principal);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setDevicePropertiesAttestationIncluded(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setDigests(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setEncryptionPaddings(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setInvalidatedByBiometricEnrollment(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setIsStrongBoxBacked(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setKeySize(int);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setKeyValidityEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setKeyValidityForConsumptionEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setKeyValidityForOriginationEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setKeyValidityStart(java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setMaxUsageCount(int);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setRandomizedEncryptionRequired(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setSignaturePaddings(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUnlockedDeviceRequired(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationParameters(@IntRange(from=0) int, int);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationRequired(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationValidWhileOnBody(boolean);
+    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationValidityDurationSeconds(@IntRange(from=0xffffffff) int);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserConfirmationRequired(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserPresenceRequired(boolean);
+  }
+
+  public class KeyInfo implements java.security.spec.KeySpec {
+    method @NonNull public String[] getBlockModes();
+    method @NonNull public String[] getDigests();
+    method @NonNull public String[] getEncryptionPaddings();
+    method public int getKeySize();
+    method @Nullable public java.util.Date getKeyValidityForConsumptionEnd();
+    method @Nullable public java.util.Date getKeyValidityForOriginationEnd();
+    method @Nullable public java.util.Date getKeyValidityStart();
+    method public String getKeystoreAlias();
+    method public int getOrigin();
+    method public int getPurposes();
+    method public int getRemainingUsageCount();
+    method public int getSecurityLevel();
+    method @NonNull public String[] getSignaturePaddings();
+    method public int getUserAuthenticationType();
+    method public int getUserAuthenticationValidityDurationSeconds();
+    method @Deprecated public boolean isInsideSecureHardware();
+    method public boolean isInvalidatedByBiometricEnrollment();
+    method public boolean isTrustedUserPresenceRequired();
+    method public boolean isUserAuthenticationRequired();
+    method public boolean isUserAuthenticationRequirementEnforcedBySecureHardware();
+    method public boolean isUserAuthenticationValidWhileOnBody();
+    method public boolean isUserConfirmationRequired();
+  }
+
+  public class KeyNotYetValidException extends java.security.InvalidKeyException {
+    ctor public KeyNotYetValidException();
+    ctor public KeyNotYetValidException(String);
+    ctor public KeyNotYetValidException(String, Throwable);
+  }
+
+  public class KeyPermanentlyInvalidatedException extends java.security.InvalidKeyException {
+    ctor public KeyPermanentlyInvalidatedException();
+    ctor public KeyPermanentlyInvalidatedException(String);
+    ctor public KeyPermanentlyInvalidatedException(String, Throwable);
+  }
+
+  public abstract class KeyProperties {
+    field public static final int AUTH_BIOMETRIC_STRONG = 2; // 0x2
+    field public static final int AUTH_DEVICE_CREDENTIAL = 1; // 0x1
+    field public static final String BLOCK_MODE_CBC = "CBC";
+    field public static final String BLOCK_MODE_CTR = "CTR";
+    field public static final String BLOCK_MODE_ECB = "ECB";
+    field public static final String BLOCK_MODE_GCM = "GCM";
+    field public static final String DIGEST_MD5 = "MD5";
+    field public static final String DIGEST_NONE = "NONE";
+    field public static final String DIGEST_SHA1 = "SHA-1";
+    field public static final String DIGEST_SHA224 = "SHA-224";
+    field public static final String DIGEST_SHA256 = "SHA-256";
+    field public static final String DIGEST_SHA384 = "SHA-384";
+    field public static final String DIGEST_SHA512 = "SHA-512";
+    field public static final String ENCRYPTION_PADDING_NONE = "NoPadding";
+    field public static final String ENCRYPTION_PADDING_PKCS7 = "PKCS7Padding";
+    field public static final String ENCRYPTION_PADDING_RSA_OAEP = "OAEPPadding";
+    field public static final String ENCRYPTION_PADDING_RSA_PKCS1 = "PKCS1Padding";
+    field @Deprecated public static final String KEY_ALGORITHM_3DES = "DESede";
+    field public static final String KEY_ALGORITHM_AES = "AES";
+    field public static final String KEY_ALGORITHM_EC = "EC";
+    field public static final String KEY_ALGORITHM_HMAC_SHA1 = "HmacSHA1";
+    field public static final String KEY_ALGORITHM_HMAC_SHA224 = "HmacSHA224";
+    field public static final String KEY_ALGORITHM_HMAC_SHA256 = "HmacSHA256";
+    field public static final String KEY_ALGORITHM_HMAC_SHA384 = "HmacSHA384";
+    field public static final String KEY_ALGORITHM_HMAC_SHA512 = "HmacSHA512";
+    field public static final String KEY_ALGORITHM_RSA = "RSA";
+    field public static final int ORIGIN_GENERATED = 1; // 0x1
+    field public static final int ORIGIN_IMPORTED = 2; // 0x2
+    field public static final int ORIGIN_SECURELY_IMPORTED = 8; // 0x8
+    field public static final int ORIGIN_UNKNOWN = 4; // 0x4
+    field public static final int PURPOSE_AGREE_KEY = 64; // 0x40
+    field public static final int PURPOSE_ATTEST_KEY = 128; // 0x80
+    field public static final int PURPOSE_DECRYPT = 2; // 0x2
+    field public static final int PURPOSE_ENCRYPT = 1; // 0x1
+    field public static final int PURPOSE_SIGN = 4; // 0x4
+    field public static final int PURPOSE_VERIFY = 8; // 0x8
+    field public static final int PURPOSE_WRAP_KEY = 32; // 0x20
+    field public static final int SECURITY_LEVEL_SOFTWARE = 0; // 0x0
+    field public static final int SECURITY_LEVEL_STRONGBOX = 2; // 0x2
+    field public static final int SECURITY_LEVEL_TRUSTED_ENVIRONMENT = 1; // 0x1
+    field public static final int SECURITY_LEVEL_UNKNOWN = -2; // 0xfffffffe
+    field public static final int SECURITY_LEVEL_UNKNOWN_SECURE = -1; // 0xffffffff
+    field public static final String SIGNATURE_PADDING_RSA_PKCS1 = "PKCS1";
+    field public static final String SIGNATURE_PADDING_RSA_PSS = "PSS";
+    field public static final int UNRESTRICTED_USAGE_COUNT = -1; // 0xffffffff
+  }
+
+  public final class KeyProtection implements java.security.KeyStore.ProtectionParameter {
+    method @NonNull public String[] getBlockModes();
+    method @NonNull public String[] getDigests();
+    method @NonNull public String[] getEncryptionPaddings();
+    method @Nullable public java.util.Date getKeyValidityForConsumptionEnd();
+    method @Nullable public java.util.Date getKeyValidityForOriginationEnd();
+    method @Nullable public java.util.Date getKeyValidityStart();
+    method public int getMaxUsageCount();
+    method public int getPurposes();
+    method @NonNull public String[] getSignaturePaddings();
+    method public int getUserAuthenticationType();
+    method public int getUserAuthenticationValidityDurationSeconds();
+    method public boolean isDigestsSpecified();
+    method public boolean isInvalidatedByBiometricEnrollment();
+    method public boolean isRandomizedEncryptionRequired();
+    method public boolean isUnlockedDeviceRequired();
+    method public boolean isUserAuthenticationRequired();
+    method public boolean isUserAuthenticationValidWhileOnBody();
+    method public boolean isUserConfirmationRequired();
+    method public boolean isUserPresenceRequired();
+  }
+
+  public static final class KeyProtection.Builder {
+    ctor public KeyProtection.Builder(int);
+    method @NonNull public android.security.keystore.KeyProtection build();
+    method @NonNull public android.security.keystore.KeyProtection.Builder setBlockModes(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setDigests(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setEncryptionPaddings(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setInvalidatedByBiometricEnrollment(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setIsStrongBoxBacked(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setKeyValidityEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setKeyValidityForConsumptionEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setKeyValidityForOriginationEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setKeyValidityStart(java.util.Date);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setMaxUsageCount(int);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setRandomizedEncryptionRequired(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setSignaturePaddings(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUnlockedDeviceRequired(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationParameters(@IntRange(from=0) int, int);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationRequired(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationValidWhileOnBody(boolean);
+    method @Deprecated @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationValidityDurationSeconds(@IntRange(from=0xffffffff) int);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUserConfirmationRequired(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUserPresenceRequired(boolean);
+  }
+
+  public class SecureKeyImportUnavailableException extends java.security.ProviderException {
+    ctor public SecureKeyImportUnavailableException();
+    ctor public SecureKeyImportUnavailableException(String);
+    ctor public SecureKeyImportUnavailableException(String, Throwable);
+    ctor public SecureKeyImportUnavailableException(Throwable);
+  }
+
+  public class StrongBoxUnavailableException extends java.security.ProviderException {
+    ctor public StrongBoxUnavailableException();
+    ctor public StrongBoxUnavailableException(String);
+    ctor public StrongBoxUnavailableException(String, Throwable);
+    ctor public StrongBoxUnavailableException(Throwable);
+  }
+
+  public class UserNotAuthenticatedException extends java.security.InvalidKeyException {
+    ctor public UserNotAuthenticatedException();
+    ctor public UserNotAuthenticatedException(String);
+    ctor public UserNotAuthenticatedException(String, Throwable);
+  }
+
+  public class UserPresenceUnavailableException extends java.security.InvalidKeyException {
+    ctor public UserPresenceUnavailableException();
+    ctor public UserPresenceUnavailableException(String);
+    ctor public UserPresenceUnavailableException(String, Throwable);
+  }
+
+  public class WrappedKeyEntry implements java.security.KeyStore.Entry {
+    ctor public WrappedKeyEntry(byte[], String, String, java.security.spec.AlgorithmParameterSpec);
+    method public java.security.spec.AlgorithmParameterSpec getAlgorithmParameterSpec();
+    method public String getTransformation();
+    method public byte[] getWrappedKeyBytes();
+    method public String getWrappingKeyAlias();
+  }
+
+}
+
+package android.service.autofill {
+
+  public abstract class AutofillService extends android.app.Service {
+    ctor public AutofillService();
+    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public void onConnected();
+    method public void onDisconnected();
+    method public abstract void onFillRequest(@NonNull android.service.autofill.FillRequest, @NonNull android.os.CancellationSignal, @NonNull android.service.autofill.FillCallback);
+    method public abstract void onSaveRequest(@NonNull android.service.autofill.SaveRequest, @NonNull android.service.autofill.SaveCallback);
+    method public void onSavedDatasetsInfoRequest(@NonNull android.service.autofill.SavedDatasetsInfoCallback);
+    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillService";
+    field public static final String SERVICE_META_DATA = "android.autofill";
+  }
+
+  public final class BatchUpdates implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.BatchUpdates> CREATOR;
+  }
+
+  public static class BatchUpdates.Builder {
+    ctor public BatchUpdates.Builder();
+    method public android.service.autofill.BatchUpdates build();
+    method public android.service.autofill.BatchUpdates.Builder transformChild(int, @NonNull android.service.autofill.Transformation);
+    method public android.service.autofill.BatchUpdates.Builder updateTemplate(@NonNull android.widget.RemoteViews);
+  }
+
+  public final class CharSequenceTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.CharSequenceTransformation> CREATOR;
+  }
+
+  public static class CharSequenceTransformation.Builder {
+    ctor public CharSequenceTransformation.Builder(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern, @NonNull String);
+    method public android.service.autofill.CharSequenceTransformation.Builder addField(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern, @NonNull String);
+    method public android.service.autofill.CharSequenceTransformation build();
+  }
+
+  public final class CustomDescription implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.CustomDescription> CREATOR;
+  }
+
+  public static class CustomDescription.Builder {
+    ctor public CustomDescription.Builder(@NonNull android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.CustomDescription.Builder addChild(int, @NonNull android.service.autofill.Transformation);
+    method @NonNull public android.service.autofill.CustomDescription.Builder addOnClickAction(int, @NonNull android.service.autofill.OnClickAction);
+    method @NonNull public android.service.autofill.CustomDescription.Builder batchUpdate(@NonNull android.service.autofill.Validator, @NonNull android.service.autofill.BatchUpdates);
+    method @NonNull public android.service.autofill.CustomDescription build();
+  }
+
+  public final class Dataset implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.Dataset> CREATOR;
+  }
+
+  public static final class Dataset.Builder {
+    ctor public Dataset.Builder(@NonNull android.widget.RemoteViews);
+    ctor public Dataset.Builder();
+    method @NonNull public android.service.autofill.Dataset build();
+    method @NonNull public android.service.autofill.Dataset.Builder setAuthentication(@Nullable android.content.IntentSender);
+    method @NonNull public android.service.autofill.Dataset.Builder setId(@Nullable String);
+    method @NonNull public android.service.autofill.Dataset.Builder setInlinePresentation(@NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setInlinePresentation(@NonNull android.service.autofill.InlinePresentation, @NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @NonNull android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @NonNull android.widget.RemoteViews, @NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @NonNull android.widget.RemoteViews, @NonNull android.service.autofill.InlinePresentation, @NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.widget.RemoteViews, @NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.widget.RemoteViews, @NonNull android.service.autofill.InlinePresentation, @NonNull android.service.autofill.InlinePresentation);
+  }
+
+  public final class DateTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    ctor public DateTransformation(@NonNull android.view.autofill.AutofillId, @NonNull android.icu.text.DateFormat);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.DateTransformation> CREATOR;
+  }
+
+  public final class DateValueSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
+    ctor public DateValueSanitizer(@NonNull android.icu.text.DateFormat);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.DateValueSanitizer> CREATOR;
+  }
+
+  public final class FieldClassification {
+    method @NonNull public java.util.List<android.service.autofill.FieldClassification.Match> getMatches();
+  }
+
+  public static final class FieldClassification.Match {
+    method @NonNull public String getCategoryId();
+    method public float getScore();
+  }
+
+  public final class FillCallback {
+    method public void onFailure(@Nullable CharSequence);
+    method public void onSuccess(@Nullable android.service.autofill.FillResponse);
+  }
+
+  public final class FillContext implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.autofill.AutofillId getFocusedId();
+    method public int getRequestId();
+    method @NonNull public android.app.assist.AssistStructure getStructure();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillContext> CREATOR;
+  }
+
+  public final class FillEventHistory implements android.os.Parcelable {
+    method public int describeContents();
+    method @Deprecated @Nullable public android.os.Bundle getClientState();
+    method @Nullable public java.util.List<android.service.autofill.FillEventHistory.Event> getEvents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillEventHistory> CREATOR;
+  }
+
+  public static final class FillEventHistory.Event {
+    method @NonNull public java.util.Map<android.view.autofill.AutofillId,java.lang.String> getChangedFields();
+    method @Nullable public android.os.Bundle getClientState();
+    method @Nullable public String getDatasetId();
+    method @NonNull public java.util.Map<android.view.autofill.AutofillId,android.service.autofill.FieldClassification> getFieldsClassification();
+    method @NonNull public java.util.Set<java.lang.String> getIgnoredDatasetIds();
+    method @NonNull public java.util.Map<android.view.autofill.AutofillId,java.util.Set<java.lang.String>> getManuallyEnteredField();
+    method public int getNoSaveUiReason();
+    method @NonNull public java.util.Set<java.lang.String> getSelectedDatasetIds();
+    method public int getType();
+    field public static final int NO_SAVE_UI_REASON_DATASET_MATCH = 6; // 0x6
+    field public static final int NO_SAVE_UI_REASON_FIELD_VALIDATION_FAILED = 5; // 0x5
+    field public static final int NO_SAVE_UI_REASON_HAS_EMPTY_REQUIRED = 3; // 0x3
+    field public static final int NO_SAVE_UI_REASON_NONE = 0; // 0x0
+    field public static final int NO_SAVE_UI_REASON_NO_SAVE_INFO = 1; // 0x1
+    field public static final int NO_SAVE_UI_REASON_NO_VALUE_CHANGED = 4; // 0x4
+    field public static final int NO_SAVE_UI_REASON_WITH_DELAY_SAVE_FLAG = 2; // 0x2
+    field public static final int TYPE_AUTHENTICATION_SELECTED = 2; // 0x2
+    field public static final int TYPE_CONTEXT_COMMITTED = 4; // 0x4
+    field public static final int TYPE_DATASETS_SHOWN = 5; // 0x5
+    field public static final int TYPE_DATASET_AUTHENTICATION_SELECTED = 1; // 0x1
+    field public static final int TYPE_DATASET_SELECTED = 0; // 0x0
+    field public static final int TYPE_SAVE_SHOWN = 3; // 0x3
+  }
+
+  public final class FillRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.os.Bundle getClientState();
+    method @NonNull public java.util.List<android.service.autofill.FillContext> getFillContexts();
+    method public int getFlags();
+    method public int getId();
+    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillRequest> CREATOR;
+    field public static final int FLAG_COMPATIBILITY_MODE_REQUEST = 2; // 0x2
+    field public static final int FLAG_MANUAL_REQUEST = 1; // 0x1
+  }
+
+  public final class FillResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillResponse> CREATOR;
+    field public static final int FLAG_DISABLE_ACTIVITY_ONLY = 2; // 0x2
+    field public static final int FLAG_TRACK_CONTEXT_COMMITED = 1; // 0x1
+  }
+
+  public static final class FillResponse.Builder {
+    ctor public FillResponse.Builder();
+    method @NonNull public android.service.autofill.FillResponse.Builder addDataset(@Nullable android.service.autofill.Dataset);
+    method @NonNull public android.service.autofill.FillResponse build();
+    method @NonNull public android.service.autofill.FillResponse.Builder disableAutofill(long);
+    method @NonNull public android.service.autofill.FillResponse.Builder setAuthentication(@NonNull android.view.autofill.AutofillId[], @Nullable android.content.IntentSender, @Nullable android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.FillResponse.Builder setAuthentication(@NonNull android.view.autofill.AutofillId[], @Nullable android.content.IntentSender, @Nullable android.widget.RemoteViews, @Nullable android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.FillResponse.Builder setAuthentication(@NonNull android.view.autofill.AutofillId[], @Nullable android.content.IntentSender, @Nullable android.widget.RemoteViews, @Nullable android.service.autofill.InlinePresentation, @Nullable android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.FillResponse.Builder setClientState(@Nullable android.os.Bundle);
+    method @NonNull public android.service.autofill.FillResponse.Builder setFieldClassificationIds(@NonNull android.view.autofill.AutofillId...);
+    method @NonNull public android.service.autofill.FillResponse.Builder setFlags(int);
+    method @NonNull public android.service.autofill.FillResponse.Builder setFooter(@NonNull android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.FillResponse.Builder setHeader(@NonNull android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.FillResponse.Builder setIgnoredIds(android.view.autofill.AutofillId...);
+    method @NonNull public android.service.autofill.FillResponse.Builder setPresentationCancelIds(@Nullable int[]);
+    method @NonNull public android.service.autofill.FillResponse.Builder setSaveInfo(@NonNull android.service.autofill.SaveInfo);
+    method @NonNull public android.service.autofill.FillResponse.Builder setUserData(@NonNull android.service.autofill.UserData);
+  }
+
+  public final class ImageTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.ImageTransformation> CREATOR;
+  }
+
+  public static class ImageTransformation.Builder {
+    ctor @Deprecated public ImageTransformation.Builder(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern, @DrawableRes int);
+    ctor public ImageTransformation.Builder(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern, @DrawableRes int, @NonNull CharSequence);
+    method @Deprecated public android.service.autofill.ImageTransformation.Builder addOption(@NonNull java.util.regex.Pattern, @DrawableRes int);
+    method public android.service.autofill.ImageTransformation.Builder addOption(@NonNull java.util.regex.Pattern, @DrawableRes int, @NonNull CharSequence);
+    method public android.service.autofill.ImageTransformation build();
+  }
+
+  public final class InlinePresentation implements android.os.Parcelable {
+    ctor public InlinePresentation(@NonNull android.app.slice.Slice, @NonNull android.widget.inline.InlinePresentationSpec, boolean);
+    method @NonNull public static android.service.autofill.InlinePresentation createTooltipPresentation(@NonNull android.app.slice.Slice, @NonNull android.widget.inline.InlinePresentationSpec);
+    method public int describeContents();
+    method @NonNull public android.widget.inline.InlinePresentationSpec getInlinePresentationSpec();
+    method @NonNull public android.app.slice.Slice getSlice();
+    method public boolean isPinned();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.InlinePresentation> CREATOR;
+  }
+
+  public final class LuhnChecksumValidator implements android.os.Parcelable android.service.autofill.Validator {
+    ctor public LuhnChecksumValidator(@NonNull android.view.autofill.AutofillId...);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.LuhnChecksumValidator> CREATOR;
+  }
+
+  public interface OnClickAction {
+  }
+
+  public final class RegexValidator implements android.os.Parcelable android.service.autofill.Validator {
+    ctor public RegexValidator(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.RegexValidator> CREATOR;
+  }
+
+  public interface Sanitizer {
+  }
+
+  public final class SaveCallback {
+    method public void onFailure(CharSequence);
+    method public void onSuccess();
+    method public void onSuccess(@NonNull android.content.IntentSender);
+  }
+
+  public final class SaveInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.SaveInfo> CREATOR;
+    field public static final int FLAG_DELAY_SAVE = 4; // 0x4
+    field public static final int FLAG_DONT_SAVE_ON_FINISH = 2; // 0x2
+    field public static final int FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE = 1; // 0x1
+    field public static final int NEGATIVE_BUTTON_STYLE_CANCEL = 0; // 0x0
+    field public static final int NEGATIVE_BUTTON_STYLE_NEVER = 2; // 0x2
+    field public static final int NEGATIVE_BUTTON_STYLE_REJECT = 1; // 0x1
+    field public static final int POSITIVE_BUTTON_STYLE_CONTINUE = 1; // 0x1
+    field public static final int POSITIVE_BUTTON_STYLE_SAVE = 0; // 0x0
+    field public static final int SAVE_DATA_TYPE_ADDRESS = 2; // 0x2
+    field public static final int SAVE_DATA_TYPE_CREDIT_CARD = 4; // 0x4
+    field public static final int SAVE_DATA_TYPE_DEBIT_CARD = 32; // 0x20
+    field public static final int SAVE_DATA_TYPE_EMAIL_ADDRESS = 16; // 0x10
+    field public static final int SAVE_DATA_TYPE_GENERIC = 0; // 0x0
+    field public static final int SAVE_DATA_TYPE_GENERIC_CARD = 128; // 0x80
+    field public static final int SAVE_DATA_TYPE_PASSWORD = 1; // 0x1
+    field public static final int SAVE_DATA_TYPE_PAYMENT_CARD = 64; // 0x40
+    field public static final int SAVE_DATA_TYPE_USERNAME = 8; // 0x8
+  }
+
+  public static final class SaveInfo.Builder {
+    ctor public SaveInfo.Builder(int, @NonNull android.view.autofill.AutofillId[]);
+    ctor public SaveInfo.Builder(int);
+    method @NonNull public android.service.autofill.SaveInfo.Builder addSanitizer(@NonNull android.service.autofill.Sanitizer, @NonNull android.view.autofill.AutofillId...);
+    method public android.service.autofill.SaveInfo build();
+    method @NonNull public android.service.autofill.SaveInfo.Builder setCustomDescription(@NonNull android.service.autofill.CustomDescription);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setDescription(@Nullable CharSequence);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setFlags(int);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setNegativeAction(int, @Nullable android.content.IntentSender);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setOptionalIds(@NonNull android.view.autofill.AutofillId[]);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setPositiveAction(int);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setTriggerId(@NonNull android.view.autofill.AutofillId);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setValidator(@NonNull android.service.autofill.Validator);
+  }
+
+  public final class SaveRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.os.Bundle getClientState();
+    method @Nullable public java.util.List<java.lang.String> getDatasetIds();
+    method @NonNull public java.util.List<android.service.autofill.FillContext> getFillContexts();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.SaveRequest> CREATOR;
+  }
+
+  public final class SavedDatasetsInfo {
+    ctor public SavedDatasetsInfo(@NonNull String, @IntRange(from=0) int);
+    method @IntRange(from=0) public int getCount();
+    method @NonNull public String getType();
+    field public static final String TYPE_OTHER = "other";
+    field public static final String TYPE_PASSWORDS = "passwords";
+  }
+
+  public interface SavedDatasetsInfoCallback {
+    method public void onError(int);
+    method public void onSuccess(@NonNull java.util.Set<android.service.autofill.SavedDatasetsInfo>);
+    field public static final int ERROR_NEEDS_USER_ACTION = 2; // 0x2
+    field public static final int ERROR_OTHER = 0; // 0x0
+    field public static final int ERROR_UNSUPPORTED = 1; // 0x1
+  }
+
+  public final class TextValueSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
+    ctor public TextValueSanitizer(@NonNull java.util.regex.Pattern, @NonNull String);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.TextValueSanitizer> CREATOR;
+  }
+
+  public interface Transformation {
+  }
+
+  public final class UserData implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getFieldClassificationAlgorithm();
+    method @Nullable public String getFieldClassificationAlgorithmForCategory(@NonNull String);
+    method public String getId();
+    method public static int getMaxCategoryCount();
+    method public static int getMaxFieldClassificationIdsSize();
+    method public static int getMaxUserDataSize();
+    method public static int getMaxValueLength();
+    method public static int getMinValueLength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.UserData> CREATOR;
+  }
+
+  public static final class UserData.Builder {
+    ctor public UserData.Builder(@NonNull String, @NonNull String, @NonNull String);
+    method @NonNull public android.service.autofill.UserData.Builder add(@NonNull String, @NonNull String);
+    method @NonNull public android.service.autofill.UserData build();
+    method @NonNull public android.service.autofill.UserData.Builder setFieldClassificationAlgorithm(@Nullable String, @Nullable android.os.Bundle);
+    method @NonNull public android.service.autofill.UserData.Builder setFieldClassificationAlgorithmForCategory(@NonNull String, @Nullable String, @Nullable android.os.Bundle);
+  }
+
+  public interface Validator {
+  }
+
+  public final class Validators {
+    method @NonNull public static android.service.autofill.Validator and(@NonNull android.service.autofill.Validator...);
+    method @NonNull public static android.service.autofill.Validator not(@NonNull android.service.autofill.Validator);
+    method @NonNull public static android.service.autofill.Validator or(@NonNull android.service.autofill.Validator...);
+  }
+
+  public final class VisibilitySetterAction implements android.service.autofill.OnClickAction android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.VisibilitySetterAction> CREATOR;
+  }
+
+  public static final class VisibilitySetterAction.Builder {
+    ctor public VisibilitySetterAction.Builder(@IdRes int, int);
+    method @NonNull public android.service.autofill.VisibilitySetterAction build();
+    method @NonNull public android.service.autofill.VisibilitySetterAction.Builder setVisibility(@IdRes int, int);
+  }
+
+}
+
+package android.service.carrier {
+
+  public class CarrierIdentifier implements android.os.Parcelable {
+    ctor public CarrierIdentifier(String, String, @Nullable String, @Nullable String, @Nullable String, @Nullable String);
+    ctor public CarrierIdentifier(@NonNull String, @NonNull String, @Nullable String, @Nullable String, @Nullable String, @Nullable String, int, int);
+    ctor public CarrierIdentifier(byte[], @Nullable String, @Nullable String);
+    method public int describeContents();
+    method public int getCarrierId();
+    method @Nullable public String getGid1();
+    method @Nullable public String getGid2();
+    method @Nullable public String getImsi();
+    method public String getMcc();
+    method public String getMnc();
+    method public int getSpecificCarrierId();
+    method @Nullable public String getSpn();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.carrier.CarrierIdentifier> CREATOR;
+  }
+
+  public class CarrierMessagingClientService extends android.app.Service {
+    ctor public CarrierMessagingClientService();
+    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
+  }
+
+  public abstract class CarrierMessagingService extends android.app.Service {
+    ctor public CarrierMessagingService();
+    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public void onDownloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>);
+    method @Deprecated public void onFilterSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Boolean>);
+    method public void onReceiveTextSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>);
+    method @Deprecated public void onSendDataSms(@NonNull byte[], int, @NonNull String, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>);
+    method public void onSendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>);
+    method public void onSendMms(@NonNull android.net.Uri, int, @Nullable android.net.Uri, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMmsResult>);
+    method @Deprecated public void onSendMultipartTextSms(@NonNull java.util.List<java.lang.String>, int, @NonNull String, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>);
+    method public void onSendMultipartTextSms(@NonNull java.util.List<java.lang.String>, int, @NonNull String, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>);
+    method @Deprecated public void onSendTextSms(@NonNull String, int, @NonNull String, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>);
+    method public void onSendTextSms(@NonNull String, int, @NonNull String, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>);
+    field public static final int DOWNLOAD_STATUS_ERROR = 2; // 0x2
+    field public static final int DOWNLOAD_STATUS_OK = 0; // 0x0
+    field public static final int DOWNLOAD_STATUS_RETRY_ON_CARRIER_NETWORK = 1; // 0x1
+    field public static final int RECEIVE_OPTIONS_DEFAULT = 0; // 0x0
+    field public static final int RECEIVE_OPTIONS_DROP = 1; // 0x1
+    field public static final int RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE = 2; // 0x2
+    field public static final int SEND_FLAG_REQUEST_DELIVERY_STATUS = 1; // 0x1
+    field public static final int SEND_STATUS_ERROR = 2; // 0x2
+    field public static final int SEND_STATUS_OK = 0; // 0x0
+    field public static final int SEND_STATUS_RETRY_ON_CARRIER_NETWORK = 1; // 0x1
+    field public static final String SERVICE_INTERFACE = "android.service.carrier.CarrierMessagingService";
+  }
+
+  public static interface CarrierMessagingService.ResultCallback<T> {
+    method public void onReceiveResult(@NonNull T) throws android.os.RemoteException;
+  }
+
+  public static final class CarrierMessagingService.SendMmsResult {
+    ctor public CarrierMessagingService.SendMmsResult(int, @Nullable byte[]);
+    method @Nullable public byte[] getSendConfPdu();
+    method public int getSendStatus();
+  }
+
+  public static final class CarrierMessagingService.SendMultipartSmsResult {
+    ctor public CarrierMessagingService.SendMultipartSmsResult(int, @Nullable int[]);
+    method @Nullable public int[] getMessageRefs();
+    method public int getSendStatus();
+  }
+
+  public static final class CarrierMessagingService.SendSmsResult {
+    ctor public CarrierMessagingService.SendSmsResult(int, int);
+    method public int getMessageRef();
+    method public int getSendStatus();
+  }
+
+  public abstract class CarrierService extends android.app.Service {
+    ctor public CarrierService();
+    method public final void notifyCarrierNetworkChange(boolean);
+    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
+    method public abstract android.os.PersistableBundle onLoadConfig(android.service.carrier.CarrierIdentifier);
+    field public static final String CARRIER_SERVICE_INTERFACE = "android.service.carrier.CarrierService";
+  }
+
+  public final class MessagePdu implements android.os.Parcelable {
+    ctor public MessagePdu(@NonNull java.util.List<byte[]>);
+    method public int describeContents();
+    method @NonNull public java.util.List<byte[]> getPdus();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.carrier.MessagePdu> CREATOR;
+  }
+
+}
+
+package android.service.chooser {
+
+  @Deprecated public final class ChooserTarget implements android.os.Parcelable {
+    ctor @Deprecated public ChooserTarget(CharSequence, android.graphics.drawable.Icon, float, android.content.ComponentName, @Nullable android.os.Bundle);
+    method @Deprecated public int describeContents();
+    method @Deprecated public android.content.ComponentName getComponentName();
+    method @Deprecated public android.graphics.drawable.Icon getIcon();
+    method @Deprecated public android.os.Bundle getIntentExtras();
+    method @Deprecated public float getScore();
+    method @Deprecated public CharSequence getTitle();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.service.chooser.ChooserTarget> CREATOR;
+  }
+
+  @Deprecated public abstract class ChooserTargetService extends android.app.Service {
+    ctor @Deprecated public ChooserTargetService();
+    method @Deprecated public android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated public abstract java.util.List<android.service.chooser.ChooserTarget> onGetChooserTargets(android.content.ComponentName, android.content.IntentFilter);
+    field @Deprecated public static final String BIND_PERMISSION = "android.permission.BIND_CHOOSER_TARGET_SERVICE";
+    field @Deprecated public static final String META_DATA_NAME = "android.service.chooser.chooser_target_service";
+    field @Deprecated public static final String SERVICE_INTERFACE = "android.service.chooser.ChooserTargetService";
+  }
+
+}
+
+package android.service.controls {
+
+  public final class Control implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.app.PendingIntent getAppIntent();
+    method @NonNull public String getControlId();
+    method @NonNull public android.service.controls.templates.ControlTemplate getControlTemplate();
+    method @Nullable public android.content.res.ColorStateList getCustomColor();
+    method @Nullable public android.graphics.drawable.Icon getCustomIcon();
+    method public int getDeviceType();
+    method public int getStatus();
+    method @NonNull public CharSequence getStatusText();
+    method @Nullable public CharSequence getStructure();
+    method @NonNull public CharSequence getSubtitle();
+    method @NonNull public CharSequence getTitle();
+    method @Nullable public CharSequence getZone();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.controls.Control> CREATOR;
+    field public static final int STATUS_DISABLED = 4; // 0x4
+    field public static final int STATUS_ERROR = 3; // 0x3
+    field public static final int STATUS_NOT_FOUND = 2; // 0x2
+    field public static final int STATUS_OK = 1; // 0x1
+    field public static final int STATUS_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class Control.StatefulBuilder {
+    ctor public Control.StatefulBuilder(@NonNull String, @NonNull android.app.PendingIntent);
+    ctor public Control.StatefulBuilder(@NonNull android.service.controls.Control);
+    method @NonNull public android.service.controls.Control build();
+    method @NonNull public android.service.controls.Control.StatefulBuilder setAppIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setControlId(@NonNull String);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setControlTemplate(@NonNull android.service.controls.templates.ControlTemplate);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setCustomColor(@Nullable android.content.res.ColorStateList);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setCustomIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setDeviceType(int);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setStatus(int);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setStatusText(@NonNull CharSequence);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setStructure(@Nullable CharSequence);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setSubtitle(@NonNull CharSequence);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setTitle(@NonNull CharSequence);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setZone(@Nullable CharSequence);
+  }
+
+  public static final class Control.StatelessBuilder {
+    ctor public Control.StatelessBuilder(@NonNull String, @NonNull android.app.PendingIntent);
+    ctor public Control.StatelessBuilder(@NonNull android.service.controls.Control);
+    method @NonNull public android.service.controls.Control build();
+    method @NonNull public android.service.controls.Control.StatelessBuilder setAppIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setControlId(@NonNull String);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setCustomColor(@Nullable android.content.res.ColorStateList);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setCustomIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setDeviceType(int);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setStructure(@Nullable CharSequence);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setSubtitle(@NonNull CharSequence);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setTitle(@NonNull CharSequence);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setZone(@Nullable CharSequence);
+  }
+
+  public abstract class ControlsProviderService extends android.app.Service {
+    ctor public ControlsProviderService();
+    method @NonNull public abstract java.util.concurrent.Flow.Publisher<android.service.controls.Control> createPublisherFor(@NonNull java.util.List<java.lang.String>);
+    method @NonNull public abstract java.util.concurrent.Flow.Publisher<android.service.controls.Control> createPublisherForAllAvailable();
+    method @Nullable public java.util.concurrent.Flow.Publisher<android.service.controls.Control> createPublisherForSuggested();
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public final boolean onUnbind(@NonNull android.content.Intent);
+    method public abstract void performControlAction(@NonNull String, @NonNull android.service.controls.actions.ControlAction, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method public static void requestAddControl(@NonNull android.content.Context, @NonNull android.content.ComponentName, @NonNull android.service.controls.Control);
+    field public static final String SERVICE_CONTROLS = "android.service.controls.ControlsProviderService";
+    field @NonNull public static final String TAG = "ControlsProviderService";
+  }
+
+  public class DeviceTypes {
+    method public static boolean validDeviceType(int);
+    field public static final int TYPE_AC_HEATER = 1; // 0x1
+    field public static final int TYPE_AC_UNIT = 2; // 0x2
+    field public static final int TYPE_AIR_FRESHENER = 3; // 0x3
+    field public static final int TYPE_AIR_PURIFIER = 4; // 0x4
+    field public static final int TYPE_AWNING = 33; // 0x21
+    field public static final int TYPE_BLINDS = 34; // 0x22
+    field public static final int TYPE_CAMERA = 50; // 0x32
+    field public static final int TYPE_CLOSET = 35; // 0x23
+    field public static final int TYPE_COFFEE_MAKER = 5; // 0x5
+    field public static final int TYPE_CURTAIN = 36; // 0x24
+    field public static final int TYPE_DEHUMIDIFIER = 6; // 0x6
+    field public static final int TYPE_DISHWASHER = 24; // 0x18
+    field public static final int TYPE_DISPLAY = 7; // 0x7
+    field public static final int TYPE_DOOR = 37; // 0x25
+    field public static final int TYPE_DOORBELL = 51; // 0x33
+    field public static final int TYPE_DRAWER = 38; // 0x26
+    field public static final int TYPE_DRYER = 25; // 0x19
+    field public static final int TYPE_FAN = 8; // 0x8
+    field public static final int TYPE_GARAGE = 39; // 0x27
+    field public static final int TYPE_GATE = 40; // 0x28
+    field public static final int TYPE_GENERIC_ARM_DISARM = -5; // 0xfffffffb
+    field public static final int TYPE_GENERIC_LOCK_UNLOCK = -4; // 0xfffffffc
+    field public static final int TYPE_GENERIC_ON_OFF = -1; // 0xffffffff
+    field public static final int TYPE_GENERIC_OPEN_CLOSE = -3; // 0xfffffffd
+    field public static final int TYPE_GENERIC_START_STOP = -2; // 0xfffffffe
+    field public static final int TYPE_GENERIC_TEMP_SETTING = -6; // 0xfffffffa
+    field public static final int TYPE_GENERIC_VIEWSTREAM = -7; // 0xfffffff9
+    field public static final int TYPE_HEATER = 47; // 0x2f
+    field public static final int TYPE_HOOD = 10; // 0xa
+    field public static final int TYPE_HUMIDIFIER = 11; // 0xb
+    field public static final int TYPE_KETTLE = 12; // 0xc
+    field public static final int TYPE_LIGHT = 13; // 0xd
+    field public static final int TYPE_LOCK = 45; // 0x2d
+    field public static final int TYPE_MICROWAVE = 14; // 0xe
+    field public static final int TYPE_MOP = 26; // 0x1a
+    field public static final int TYPE_MOWER = 27; // 0x1b
+    field public static final int TYPE_MULTICOOKER = 28; // 0x1c
+    field public static final int TYPE_OUTLET = 15; // 0xf
+    field public static final int TYPE_PERGOLA = 41; // 0x29
+    field public static final int TYPE_RADIATOR = 16; // 0x10
+    field public static final int TYPE_REFRIGERATOR = 48; // 0x30
+    field public static final int TYPE_REMOTE_CONTROL = 17; // 0x11
+    field public static final int TYPE_ROUTINE = 52; // 0x34
+    field public static final int TYPE_SECURITY_SYSTEM = 46; // 0x2e
+    field public static final int TYPE_SET_TOP = 18; // 0x12
+    field public static final int TYPE_SHOWER = 29; // 0x1d
+    field public static final int TYPE_SHUTTER = 42; // 0x2a
+    field public static final int TYPE_SPRINKLER = 30; // 0x1e
+    field public static final int TYPE_STANDMIXER = 19; // 0x13
+    field public static final int TYPE_STYLER = 20; // 0x14
+    field public static final int TYPE_SWITCH = 21; // 0x15
+    field public static final int TYPE_THERMOSTAT = 49; // 0x31
+    field public static final int TYPE_TV = 22; // 0x16
+    field public static final int TYPE_UNKNOWN = 0; // 0x0
+    field public static final int TYPE_VACUUM = 32; // 0x20
+    field public static final int TYPE_VALVE = 44; // 0x2c
+    field public static final int TYPE_WASHER = 31; // 0x1f
+    field public static final int TYPE_WATER_HEATER = 23; // 0x17
+    field public static final int TYPE_WINDOW = 43; // 0x2b
+  }
+
+}
+
+package android.service.controls.actions {
+
+  public final class BooleanAction extends android.service.controls.actions.ControlAction {
+    ctor public BooleanAction(@NonNull String, boolean);
+    ctor public BooleanAction(@NonNull String, boolean, @Nullable String);
+    method public int getActionType();
+    method public boolean getNewState();
+  }
+
+  public final class CommandAction extends android.service.controls.actions.ControlAction {
+    ctor public CommandAction(@NonNull String, @Nullable String);
+    ctor public CommandAction(@NonNull String);
+    method public int getActionType();
+  }
+
+  public abstract class ControlAction {
+    method public abstract int getActionType();
+    method @Nullable public String getChallengeValue();
+    method @NonNull public static android.service.controls.actions.ControlAction getErrorAction();
+    method @NonNull public String getTemplateId();
+    method public static final boolean isValidResponse(int);
+    field public static final int RESPONSE_CHALLENGE_ACK = 3; // 0x3
+    field public static final int RESPONSE_CHALLENGE_PASSPHRASE = 5; // 0x5
+    field public static final int RESPONSE_CHALLENGE_PIN = 4; // 0x4
+    field public static final int RESPONSE_FAIL = 2; // 0x2
+    field public static final int RESPONSE_OK = 1; // 0x1
+    field public static final int RESPONSE_UNKNOWN = 0; // 0x0
+    field public static final int TYPE_BOOLEAN = 1; // 0x1
+    field public static final int TYPE_COMMAND = 5; // 0x5
+    field public static final int TYPE_ERROR = -1; // 0xffffffff
+    field public static final int TYPE_FLOAT = 2; // 0x2
+    field public static final int TYPE_MODE = 4; // 0x4
+  }
+
+  public final class FloatAction extends android.service.controls.actions.ControlAction {
+    ctor public FloatAction(@NonNull String, float);
+    ctor public FloatAction(@NonNull String, float, @Nullable String);
+    method public int getActionType();
+    method public float getNewValue();
+  }
+
+  public final class ModeAction extends android.service.controls.actions.ControlAction {
+    ctor public ModeAction(@NonNull String, int, @Nullable String);
+    ctor public ModeAction(@NonNull String, int);
+    method public int getActionType();
+    method public int getNewMode();
+  }
+
+}
+
+package android.service.controls.templates {
+
+  public final class ControlButton implements android.os.Parcelable {
+    ctor public ControlButton(boolean, @NonNull CharSequence);
+    method public int describeContents();
+    method @NonNull public CharSequence getActionDescription();
+    method public boolean isChecked();
+    method @NonNull public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.controls.templates.ControlButton> CREATOR;
+  }
+
+  public abstract class ControlTemplate {
+    method @NonNull public static android.service.controls.templates.ControlTemplate getErrorTemplate();
+    method @NonNull public static android.service.controls.templates.ControlTemplate getNoTemplateObject();
+    method @NonNull public String getTemplateId();
+    method public abstract int getTemplateType();
+    field public static final int TYPE_ERROR = -1; // 0xffffffff
+    field public static final int TYPE_NO_TEMPLATE = 0; // 0x0
+    field public static final int TYPE_RANGE = 2; // 0x2
+    field public static final int TYPE_STATELESS = 8; // 0x8
+    field public static final int TYPE_TEMPERATURE = 7; // 0x7
+    field public static final int TYPE_THUMBNAIL = 3; // 0x3
+    field public static final int TYPE_TOGGLE = 1; // 0x1
+    field public static final int TYPE_TOGGLE_RANGE = 6; // 0x6
+  }
+
+  public final class RangeTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public RangeTemplate(@NonNull String, float, float, float, float, @Nullable CharSequence);
+    method public float getCurrentValue();
+    method @NonNull public CharSequence getFormatString();
+    method public float getMaxValue();
+    method public float getMinValue();
+    method public float getStepValue();
+    method public int getTemplateType();
+  }
+
+  public final class StatelessTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public StatelessTemplate(@NonNull String);
+    method public int getTemplateType();
+  }
+
+  public final class TemperatureControlTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public TemperatureControlTemplate(@NonNull String, @NonNull android.service.controls.templates.ControlTemplate, int, int, int);
+    method public int getCurrentActiveMode();
+    method public int getCurrentMode();
+    method public int getModes();
+    method @NonNull public android.service.controls.templates.ControlTemplate getTemplate();
+    method public int getTemplateType();
+    field public static final int FLAG_MODE_COOL = 8; // 0x8
+    field public static final int FLAG_MODE_ECO = 32; // 0x20
+    field public static final int FLAG_MODE_HEAT = 4; // 0x4
+    field public static final int FLAG_MODE_HEAT_COOL = 16; // 0x10
+    field public static final int FLAG_MODE_OFF = 2; // 0x2
+    field public static final int MODE_COOL = 3; // 0x3
+    field public static final int MODE_ECO = 5; // 0x5
+    field public static final int MODE_HEAT = 2; // 0x2
+    field public static final int MODE_HEAT_COOL = 4; // 0x4
+    field public static final int MODE_OFF = 1; // 0x1
+    field public static final int MODE_UNKNOWN = 0; // 0x0
+  }
+
+  public final class ThumbnailTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public ThumbnailTemplate(@NonNull String, boolean, @NonNull android.graphics.drawable.Icon, @NonNull CharSequence);
+    method @NonNull public CharSequence getContentDescription();
+    method public int getTemplateType();
+    method @NonNull public android.graphics.drawable.Icon getThumbnail();
+    method public boolean isActive();
+  }
+
+  public final class ToggleRangeTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public ToggleRangeTemplate(@NonNull String, @NonNull android.service.controls.templates.ControlButton, @NonNull android.service.controls.templates.RangeTemplate);
+    ctor public ToggleRangeTemplate(@NonNull String, boolean, @NonNull CharSequence, @NonNull android.service.controls.templates.RangeTemplate);
+    method @NonNull public CharSequence getActionDescription();
+    method @NonNull public android.service.controls.templates.RangeTemplate getRange();
+    method public int getTemplateType();
+    method public boolean isChecked();
+  }
+
+  public final class ToggleTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public ToggleTemplate(@NonNull String, @NonNull android.service.controls.templates.ControlButton);
+    method @NonNull public CharSequence getContentDescription();
+    method public int getTemplateType();
+    method public boolean isChecked();
+  }
+
+}
+
+package android.service.dreams {
+
+  public class DreamService extends android.app.Service implements android.view.Window.Callback {
+    ctor public DreamService();
+    method public void addContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+    method public boolean dispatchKeyEvent(android.view.KeyEvent);
+    method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+    method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public boolean dispatchTouchEvent(android.view.MotionEvent);
+    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+    method public <T extends android.view.View> T findViewById(@IdRes int);
+    method public final void finish();
+    method public android.view.Window getWindow();
+    method public android.view.WindowManager getWindowManager();
+    method public boolean isFullscreen();
+    method public boolean isInteractive();
+    method public boolean isScreenBright();
+    method public void onActionModeFinished(android.view.ActionMode);
+    method public void onActionModeStarted(android.view.ActionMode);
+    method public void onAttachedToWindow();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public void onContentChanged();
+    method public boolean onCreatePanelMenu(int, android.view.Menu);
+    method public android.view.View onCreatePanelView(int);
+    method public void onDetachedFromWindow();
+    method public void onDreamingStarted();
+    method public void onDreamingStopped();
+    method public boolean onMenuItemSelected(int, android.view.MenuItem);
+    method public boolean onMenuOpened(int, android.view.Menu);
+    method public void onPanelClosed(int, android.view.Menu);
+    method public boolean onPreparePanel(int, android.view.View, android.view.Menu);
+    method public boolean onSearchRequested(android.view.SearchEvent);
+    method public boolean onSearchRequested();
+    method public void onWakeUp();
+    method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+    method public void onWindowFocusChanged(boolean);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
+    method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
+    method public void setContentView(@LayoutRes int);
+    method public void setContentView(android.view.View);
+    method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public void setFullscreen(boolean);
+    method public void setInteractive(boolean);
+    method public void setScreenBright(boolean);
+    method public final void wakeUp();
+    field public static final String DREAM_META_DATA = "android.service.dream";
+    field public static final String SERVICE_INTERFACE = "android.service.dreams.DreamService";
+  }
+
+}
+
+package android.service.media {
+
+  public abstract class CameraPrewarmService extends android.app.Service {
+    ctor public CameraPrewarmService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract void onCooldown(boolean);
+    method public abstract void onPrewarm();
+  }
+
+  public abstract class MediaBrowserService extends android.app.Service {
+    ctor public MediaBrowserService();
+    method public void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method public final android.os.Bundle getBrowserRootHints();
+    method public final android.media.session.MediaSessionManager.RemoteUserInfo getCurrentBrowserInfo();
+    method @Nullable public android.media.session.MediaSession.Token getSessionToken();
+    method public void notifyChildrenChanged(@NonNull String);
+    method public void notifyChildrenChanged(@NonNull String, @NonNull android.os.Bundle);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public abstract android.service.media.MediaBrowserService.BrowserRoot onGetRoot(@NonNull String, int, @Nullable android.os.Bundle);
+    method public abstract void onLoadChildren(@NonNull String, @NonNull android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>);
+    method public void onLoadChildren(@NonNull String, @NonNull android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>, @NonNull android.os.Bundle);
+    method public void onLoadItem(String, android.service.media.MediaBrowserService.Result<android.media.browse.MediaBrowser.MediaItem>);
+    method public void setSessionToken(android.media.session.MediaSession.Token);
+    field public static final String SERVICE_INTERFACE = "android.media.browse.MediaBrowserService";
+  }
+
+  public static final class MediaBrowserService.BrowserRoot {
+    ctor public MediaBrowserService.BrowserRoot(@NonNull String, @Nullable android.os.Bundle);
+    method public android.os.Bundle getExtras();
+    method public String getRootId();
+    field public static final String EXTRA_OFFLINE = "android.service.media.extra.OFFLINE";
+    field public static final String EXTRA_RECENT = "android.service.media.extra.RECENT";
+    field public static final String EXTRA_SUGGESTED = "android.service.media.extra.SUGGESTED";
+  }
+
+  public class MediaBrowserService.Result<T> {
+    method public void detach();
+    method public void sendResult(T);
+  }
+
+}
+
+package android.service.notification {
+
+  public final class Condition implements android.os.Parcelable {
+    ctor public Condition(android.net.Uri, String, int);
+    ctor public Condition(android.net.Uri, String, String, String, int, int, int);
+    ctor public Condition(android.os.Parcel);
+    method public android.service.notification.Condition copy();
+    method public int describeContents();
+    method public static boolean isValidId(android.net.Uri, String);
+    method public static android.net.Uri.Builder newId(android.content.Context);
+    method public static String relevanceToString(int);
+    method public static String stateToString(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Condition> CREATOR;
+    field public static final int FLAG_RELEVANT_ALWAYS = 2; // 0x2
+    field public static final int FLAG_RELEVANT_NOW = 1; // 0x1
+    field public static final String SCHEME = "condition";
+    field public static final int STATE_ERROR = 3; // 0x3
+    field public static final int STATE_FALSE = 0; // 0x0
+    field public static final int STATE_TRUE = 1; // 0x1
+    field public static final int STATE_UNKNOWN = 2; // 0x2
+    field public final int flags;
+    field public final int icon;
+    field public final android.net.Uri id;
+    field public final String line1;
+    field public final String line2;
+    field public final int state;
+    field public final String summary;
+  }
+
+  @Deprecated public abstract class ConditionProviderService extends android.app.Service {
+    ctor @Deprecated public ConditionProviderService();
+    method @Deprecated public final void notifyCondition(android.service.notification.Condition);
+    method @Deprecated public final void notifyConditions(android.service.notification.Condition...);
+    method @Deprecated public android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated public abstract void onConnected();
+    method @Deprecated public void onRequestConditions(int);
+    method @Deprecated public abstract void onSubscribe(android.net.Uri);
+    method @Deprecated public abstract void onUnsubscribe(android.net.Uri);
+    method @Deprecated public static final void requestRebind(android.content.ComponentName);
+    method @Deprecated public final void requestUnbind();
+    field @Deprecated public static final String EXTRA_RULE_ID = "android.service.notification.extra.RULE_ID";
+    field @Deprecated public static final String META_DATA_CONFIGURATION_ACTIVITY = "android.service.zen.automatic.configurationActivity";
+    field @Deprecated public static final String META_DATA_RULE_INSTANCE_LIMIT = "android.service.zen.automatic.ruleInstanceLimit";
+    field @Deprecated public static final String META_DATA_RULE_TYPE = "android.service.zen.automatic.ruleType";
+    field @Deprecated public static final String SERVICE_INTERFACE = "android.service.notification.ConditionProviderService";
+  }
+
+  public abstract class NotificationListenerService extends android.app.Service {
+    ctor public NotificationListenerService();
+    method public final void cancelAllNotifications();
+    method @Deprecated public final void cancelNotification(String, String, int);
+    method public final void cancelNotification(String);
+    method public final void cancelNotifications(String[]);
+    method public final void clearRequestedListenerHints();
+    method public android.service.notification.StatusBarNotification[] getActiveNotifications();
+    method public android.service.notification.StatusBarNotification[] getActiveNotifications(String[]);
+    method public final int getCurrentInterruptionFilter();
+    method public final int getCurrentListenerHints();
+    method public android.service.notification.NotificationListenerService.RankingMap getCurrentRanking();
+    method public final java.util.List<android.app.NotificationChannelGroup> getNotificationChannelGroups(@NonNull String, @NonNull android.os.UserHandle);
+    method public final java.util.List<android.app.NotificationChannel> getNotificationChannels(@NonNull String, @NonNull android.os.UserHandle);
+    method public final android.service.notification.StatusBarNotification[] getSnoozedNotifications();
+    method public final void migrateNotificationFilter(int, @Nullable java.util.List<java.lang.String>);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onInterruptionFilterChanged(int);
+    method public void onListenerConnected();
+    method public void onListenerDisconnected();
+    method public void onListenerHintsChanged(int);
+    method public void onNotificationChannelGroupModified(String, android.os.UserHandle, android.app.NotificationChannelGroup, int);
+    method public void onNotificationChannelModified(String, android.os.UserHandle, android.app.NotificationChannel, int);
+    method public void onNotificationPosted(android.service.notification.StatusBarNotification);
+    method public void onNotificationPosted(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap);
+    method public void onNotificationRankingUpdate(android.service.notification.NotificationListenerService.RankingMap);
+    method public void onNotificationRemoved(android.service.notification.StatusBarNotification);
+    method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap);
+    method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap, int);
+    method public void onSilentStatusBarIconsVisibilityChanged(boolean);
+    method public final void requestInterruptionFilter(int);
+    method public final void requestListenerHints(int);
+    method public static void requestRebind(android.content.ComponentName);
+    method public final void requestUnbind();
+    method public final void setNotificationsShown(String[]);
+    method public final void snoozeNotification(String, long);
+    method public final void updateNotificationChannel(@NonNull String, @NonNull android.os.UserHandle, @NonNull android.app.NotificationChannel);
+    field public static final int FLAG_FILTER_TYPE_ALERTING = 2; // 0x2
+    field public static final int FLAG_FILTER_TYPE_CONVERSATIONS = 1; // 0x1
+    field public static final int FLAG_FILTER_TYPE_ONGOING = 8; // 0x8
+    field public static final int FLAG_FILTER_TYPE_SILENT = 4; // 0x4
+    field public static final int HINT_HOST_DISABLE_CALL_EFFECTS = 4; // 0x4
+    field public static final int HINT_HOST_DISABLE_EFFECTS = 1; // 0x1
+    field public static final int HINT_HOST_DISABLE_NOTIFICATION_EFFECTS = 2; // 0x2
+    field public static final int INTERRUPTION_FILTER_ALARMS = 4; // 0x4
+    field public static final int INTERRUPTION_FILTER_ALL = 1; // 0x1
+    field public static final int INTERRUPTION_FILTER_NONE = 3; // 0x3
+    field public static final int INTERRUPTION_FILTER_PRIORITY = 2; // 0x2
+    field public static final int INTERRUPTION_FILTER_UNKNOWN = 0; // 0x0
+    field public static final String META_DATA_DEFAULT_FILTER_TYPES = "android.service.notification.default_filter_types";
+    field public static final String META_DATA_DISABLED_FILTER_TYPES = "android.service.notification.disabled_filter_types";
+    field public static final int NOTIFICATION_CHANNEL_OR_GROUP_ADDED = 1; // 0x1
+    field public static final int NOTIFICATION_CHANNEL_OR_GROUP_DELETED = 3; // 0x3
+    field public static final int NOTIFICATION_CHANNEL_OR_GROUP_UPDATED = 2; // 0x2
+    field public static final int REASON_APP_CANCEL = 8; // 0x8
+    field public static final int REASON_APP_CANCEL_ALL = 9; // 0x9
+    field public static final int REASON_CANCEL = 2; // 0x2
+    field public static final int REASON_CANCEL_ALL = 3; // 0x3
+    field public static final int REASON_CHANNEL_BANNED = 17; // 0x11
+    field public static final int REASON_CHANNEL_REMOVED = 20; // 0x14
+    field public static final int REASON_CLEAR_DATA = 21; // 0x15
+    field public static final int REASON_CLICK = 1; // 0x1
+    field public static final int REASON_ERROR = 4; // 0x4
+    field public static final int REASON_GROUP_OPTIMIZATION = 13; // 0xd
+    field public static final int REASON_GROUP_SUMMARY_CANCELED = 12; // 0xc
+    field public static final int REASON_LISTENER_CANCEL = 10; // 0xa
+    field public static final int REASON_LISTENER_CANCEL_ALL = 11; // 0xb
+    field public static final int REASON_PACKAGE_BANNED = 7; // 0x7
+    field public static final int REASON_PACKAGE_CHANGED = 5; // 0x5
+    field public static final int REASON_PACKAGE_SUSPENDED = 14; // 0xe
+    field public static final int REASON_PROFILE_TURNED_OFF = 15; // 0xf
+    field public static final int REASON_SNOOZED = 18; // 0x12
+    field public static final int REASON_TIMEOUT = 19; // 0x13
+    field public static final int REASON_UNAUTOBUNDLED = 16; // 0x10
+    field public static final int REASON_USER_STOPPED = 6; // 0x6
+    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationListenerService";
+    field @Deprecated public static final int SUPPRESSED_EFFECT_SCREEN_OFF = 1; // 0x1
+    field @Deprecated public static final int SUPPRESSED_EFFECT_SCREEN_ON = 2; // 0x2
+  }
+
+  public static class NotificationListenerService.Ranking {
+    ctor public NotificationListenerService.Ranking();
+    method public boolean canBubble();
+    method public boolean canShowBadge();
+    method public android.app.NotificationChannel getChannel();
+    method @Nullable public android.content.pm.ShortcutInfo getConversationShortcutInfo();
+    method public int getImportance();
+    method public CharSequence getImportanceExplanation();
+    method public String getKey();
+    method public long getLastAudiblyAlertedMillis();
+    method public int getLockscreenVisibilityOverride();
+    method public String getOverrideGroupKey();
+    method public int getRank();
+    method @NonNull public java.util.List<android.app.Notification.Action> getSmartActions();
+    method @NonNull public java.util.List<java.lang.CharSequence> getSmartReplies();
+    method public int getSuppressedVisualEffects();
+    method public int getUserSentiment();
+    method public boolean isAmbient();
+    method public boolean isConversation();
+    method public boolean isSuspended();
+    method public boolean matchesInterruptionFilter();
+    field public static final int USER_SENTIMENT_NEGATIVE = -1; // 0xffffffff
+    field public static final int USER_SENTIMENT_NEUTRAL = 0; // 0x0
+    field public static final int USER_SENTIMENT_POSITIVE = 1; // 0x1
+    field public static final int VISIBILITY_NO_OVERRIDE = -1000; // 0xfffffc18
+  }
+
+  public static class NotificationListenerService.RankingMap implements android.os.Parcelable {
+    method public int describeContents();
+    method public String[] getOrderedKeys();
+    method public boolean getRanking(String, android.service.notification.NotificationListenerService.Ranking);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationListenerService.RankingMap> CREATOR;
+  }
+
+  public class StatusBarNotification implements android.os.Parcelable {
+    ctor @Deprecated public StatusBarNotification(String, String, int, String, int, int, int, android.app.Notification, android.os.UserHandle, long);
+    ctor public StatusBarNotification(android.os.Parcel);
+    method public android.service.notification.StatusBarNotification clone();
+    method public int describeContents();
+    method public String getGroupKey();
+    method public int getId();
+    method public String getKey();
+    method public android.app.Notification getNotification();
+    method @NonNull public String getOpPkg();
+    method public String getOverrideGroupKey();
+    method public String getPackageName();
+    method public long getPostTime();
+    method public String getTag();
+    method public int getUid();
+    method public android.os.UserHandle getUser();
+    method @Deprecated public int getUserId();
+    method public boolean isAppGroup();
+    method public boolean isClearable();
+    method public boolean isGroup();
+    method public boolean isOngoing();
+    method public void setOverrideGroupKey(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.StatusBarNotification> CREATOR;
+  }
+
+  public final class ZenPolicy implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getPriorityCallSenders();
+    method public int getPriorityCategoryAlarms();
+    method public int getPriorityCategoryCalls();
+    method public int getPriorityCategoryConversations();
+    method public int getPriorityCategoryEvents();
+    method public int getPriorityCategoryMedia();
+    method public int getPriorityCategoryMessages();
+    method public int getPriorityCategoryReminders();
+    method public int getPriorityCategoryRepeatCallers();
+    method public int getPriorityCategorySystem();
+    method public int getPriorityConversationSenders();
+    method public int getPriorityMessageSenders();
+    method public int getVisualEffectAmbient();
+    method public int getVisualEffectBadge();
+    method public int getVisualEffectFullScreenIntent();
+    method public int getVisualEffectLights();
+    method public int getVisualEffectNotificationList();
+    method public int getVisualEffectPeek();
+    method public int getVisualEffectStatusBar();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CONVERSATION_SENDERS_ANYONE = 1; // 0x1
+    field public static final int CONVERSATION_SENDERS_IMPORTANT = 2; // 0x2
+    field public static final int CONVERSATION_SENDERS_NONE = 3; // 0x3
+    field public static final int CONVERSATION_SENDERS_UNSET = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.ZenPolicy> CREATOR;
+    field public static final int PEOPLE_TYPE_ANYONE = 1; // 0x1
+    field public static final int PEOPLE_TYPE_CONTACTS = 2; // 0x2
+    field public static final int PEOPLE_TYPE_NONE = 4; // 0x4
+    field public static final int PEOPLE_TYPE_STARRED = 3; // 0x3
+    field public static final int PEOPLE_TYPE_UNSET = 0; // 0x0
+    field public static final int STATE_ALLOW = 1; // 0x1
+    field public static final int STATE_DISALLOW = 2; // 0x2
+    field public static final int STATE_UNSET = 0; // 0x0
+  }
+
+  public static final class ZenPolicy.Builder {
+    ctor public ZenPolicy.Builder();
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowAlarms(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowAllSounds();
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowCalls(int);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowConversations(int);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowEvents(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowMedia(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowMessages(int);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowReminders(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowRepeatCallers(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowSystem(boolean);
+    method @NonNull public android.service.notification.ZenPolicy build();
+    method @NonNull public android.service.notification.ZenPolicy.Builder disallowAllSounds();
+    method @NonNull public android.service.notification.ZenPolicy.Builder hideAllVisualEffects();
+    method @NonNull public android.service.notification.ZenPolicy.Builder showAllVisualEffects();
+    method @NonNull public android.service.notification.ZenPolicy.Builder showBadges(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showFullScreenIntent(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showInAmbientDisplay(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showInNotificationList(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showLights(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showPeeking(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showStatusBarIcons(boolean);
+  }
+
+}
+
+package android.service.quickaccesswallet {
+
+  public interface GetWalletCardsCallback {
+    method public void onFailure(@NonNull android.service.quickaccesswallet.GetWalletCardsError);
+    method public void onSuccess(@NonNull android.service.quickaccesswallet.GetWalletCardsResponse);
+  }
+
+  public final class GetWalletCardsError implements android.os.Parcelable {
+    ctor public GetWalletCardsError(@Nullable android.graphics.drawable.Icon, @Nullable CharSequence);
+    method public int describeContents();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @Nullable public CharSequence getMessage();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsError> CREATOR;
+  }
+
+  public final class GetWalletCardsRequest implements android.os.Parcelable {
+    ctor public GetWalletCardsRequest(int, int, int, int);
+    method public int describeContents();
+    method public int getCardHeightPx();
+    method public int getCardWidthPx();
+    method public int getIconSizePx();
+    method public int getMaxCards();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsRequest> CREATOR;
+  }
+
+  public final class GetWalletCardsResponse implements android.os.Parcelable {
+    ctor public GetWalletCardsResponse(@NonNull java.util.List<android.service.quickaccesswallet.WalletCard>, int);
+    method public int describeContents();
+    method public int getSelectedIndex();
+    method @NonNull public java.util.List<android.service.quickaccesswallet.WalletCard> getWalletCards();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsResponse> CREATOR;
+  }
+
+  public abstract class QuickAccessWalletService extends android.app.Service {
+    ctor public QuickAccessWalletService();
+    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onWalletCardSelected(@NonNull android.service.quickaccesswallet.SelectWalletCardRequest);
+    method public abstract void onWalletCardsRequested(@NonNull android.service.quickaccesswallet.GetWalletCardsRequest, @NonNull android.service.quickaccesswallet.GetWalletCardsCallback);
+    method public abstract void onWalletDismissed();
+    method public final void sendWalletServiceEvent(@NonNull android.service.quickaccesswallet.WalletServiceEvent);
+    field public static final String ACTION_VIEW_WALLET = "android.service.quickaccesswallet.action.VIEW_WALLET";
+    field public static final String ACTION_VIEW_WALLET_SETTINGS = "android.service.quickaccesswallet.action.VIEW_WALLET_SETTINGS";
+    field public static final String SERVICE_INTERFACE = "android.service.quickaccesswallet.QuickAccessWalletService";
+    field public static final String SERVICE_META_DATA = "android.quickaccesswallet";
+  }
+
+  public final class SelectWalletCardRequest implements android.os.Parcelable {
+    ctor public SelectWalletCardRequest(@NonNull String);
+    method public int describeContents();
+    method @NonNull public String getCardId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.SelectWalletCardRequest> CREATOR;
+  }
+
+  public final class WalletCard implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.graphics.drawable.Icon getCardIcon();
+    method @NonNull public String getCardId();
+    method @NonNull public android.graphics.drawable.Icon getCardImage();
+    method @Nullable public CharSequence getCardLabel();
+    method @NonNull public CharSequence getContentDescription();
+    method @NonNull public android.app.PendingIntent getPendingIntent();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.WalletCard> CREATOR;
+  }
+
+  public static final class WalletCard.Builder {
+    ctor public WalletCard.Builder(@NonNull String, @NonNull android.graphics.drawable.Icon, @NonNull CharSequence, @NonNull android.app.PendingIntent);
+    method @NonNull public android.service.quickaccesswallet.WalletCard build();
+    method @NonNull public android.service.quickaccesswallet.WalletCard.Builder setCardIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.service.quickaccesswallet.WalletCard.Builder setCardLabel(@Nullable CharSequence);
+  }
+
+  public final class WalletServiceEvent implements android.os.Parcelable {
+    ctor public WalletServiceEvent(int);
+    method public int describeContents();
+    method public int getEventType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.WalletServiceEvent> CREATOR;
+    field public static final int TYPE_NFC_PAYMENT_STARTED = 1; // 0x1
+  }
+
+}
+
+package android.service.quicksettings {
+
+  public final class Tile implements android.os.Parcelable {
+    method public int describeContents();
+    method public CharSequence getContentDescription();
+    method public android.graphics.drawable.Icon getIcon();
+    method public CharSequence getLabel();
+    method public int getState();
+    method @Nullable public CharSequence getStateDescription();
+    method @Nullable public CharSequence getSubtitle();
+    method public void setContentDescription(CharSequence);
+    method public void setIcon(android.graphics.drawable.Icon);
+    method public void setLabel(CharSequence);
+    method public void setState(int);
+    method public void setStateDescription(@Nullable CharSequence);
+    method public void setSubtitle(@Nullable CharSequence);
+    method public void updateTile();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quicksettings.Tile> CREATOR;
+    field public static final int STATE_ACTIVE = 2; // 0x2
+    field public static final int STATE_INACTIVE = 1; // 0x1
+    field public static final int STATE_UNAVAILABLE = 0; // 0x0
+  }
+
+  public class TileService extends android.app.Service {
+    ctor public TileService();
+    method public final android.service.quicksettings.Tile getQsTile();
+    method public final boolean isLocked();
+    method public final boolean isSecure();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onClick();
+    method public void onStartListening();
+    method public void onStopListening();
+    method public void onTileAdded();
+    method public void onTileRemoved();
+    method public static final void requestListeningState(android.content.Context, android.content.ComponentName);
+    method public final void showDialog(android.app.Dialog);
+    method public final void startActivityAndCollapse(android.content.Intent);
+    method public final void unlockAndRun(Runnable);
+    field public static final String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE";
+    field public static final String ACTION_QS_TILE_PREFERENCES = "android.service.quicksettings.action.QS_TILE_PREFERENCES";
+    field public static final String META_DATA_ACTIVE_TILE = "android.service.quicksettings.ACTIVE_TILE";
+    field public static final String META_DATA_TOGGLEABLE_TILE = "android.service.quicksettings.TOGGLEABLE_TILE";
+  }
+
+}
+
+package android.service.restrictions {
+
+  public abstract class RestrictionsReceiver extends android.content.BroadcastReceiver {
+    ctor public RestrictionsReceiver();
+    method public void onReceive(android.content.Context, android.content.Intent);
+    method public abstract void onRequestPermission(android.content.Context, String, String, String, android.os.PersistableBundle);
+  }
+
+}
+
+package android.service.textservice {
+
+  public abstract class SpellCheckerService extends android.app.Service {
+    ctor public SpellCheckerService();
+    method public abstract android.service.textservice.SpellCheckerService.Session createSession();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    field public static final String SERVICE_INTERFACE = "android.service.textservice.SpellCheckerService";
+  }
+
+  public abstract static class SpellCheckerService.Session {
+    ctor public SpellCheckerService.Session();
+    method public android.os.Bundle getBundle();
+    method public String getLocale();
+    method public int getSupportedAttributes();
+    method public void onCancel();
+    method public void onClose();
+    method public abstract void onCreate();
+    method public android.view.textservice.SentenceSuggestionsInfo[] onGetSentenceSuggestionsMultiple(android.view.textservice.TextInfo[], int);
+    method public abstract android.view.textservice.SuggestionsInfo onGetSuggestions(android.view.textservice.TextInfo, int);
+    method public android.view.textservice.SuggestionsInfo[] onGetSuggestionsMultiple(android.view.textservice.TextInfo[], int, boolean);
+  }
+
+}
+
+package android.service.voice {
+
+  public final class VisibleActivityInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.service.voice.VoiceInteractionSession.ActivityId getActivityId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisibleActivityInfo> CREATOR;
+  }
+
+  public class VoiceInteractionService extends android.app.Service {
+    ctor public VoiceInteractionService();
+    method public int getDisabledShowContext();
+    method public static boolean isActiveService(android.content.Context, android.content.ComponentName);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @NonNull public java.util.Set<java.lang.String> onGetSupportedVoiceActions(@NonNull java.util.Set<java.lang.String>);
+    method public void onLaunchVoiceAssistFromKeyguard();
+    method public void onReady();
+    method public void onShutdown();
+    method public void setDisabledShowContext(int);
+    method public final void setUiHints(@NonNull android.os.Bundle);
+    method public void showSession(android.os.Bundle, int);
+    field public static final String SERVICE_INTERFACE = "android.service.voice.VoiceInteractionService";
+    field public static final String SERVICE_META_DATA = "android.voice_interaction";
+  }
+
+  public class VoiceInteractionSession implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback {
+    ctor public VoiceInteractionSession(android.content.Context);
+    ctor public VoiceInteractionSession(android.content.Context, android.os.Handler);
+    method public void closeSystemDialogs();
+    method public void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method public void finish();
+    method public android.content.Context getContext();
+    method public int getDisabledShowContext();
+    method public android.view.LayoutInflater getLayoutInflater();
+    method public int getUserDisabledShowContext();
+    method public android.app.Dialog getWindow();
+    method public void hide();
+    method public void onAssistStructureFailure(Throwable);
+    method public void onBackPressed();
+    method public void onCancelRequest(android.service.voice.VoiceInteractionSession.Request);
+    method public void onCloseSystemDialogs();
+    method public void onComputeInsets(android.service.voice.VoiceInteractionSession.Insets);
+    method public void onConfigurationChanged(android.content.res.Configuration);
+    method public void onCreate();
+    method public android.view.View onCreateContentView();
+    method public void onDestroy();
+    method public void onDirectActionsInvalidated(@NonNull android.service.voice.VoiceInteractionSession.ActivityId);
+    method public boolean[] onGetSupportedCommands(String[]);
+    method @Deprecated public void onHandleAssist(@Nullable android.os.Bundle, @Nullable android.app.assist.AssistStructure, @Nullable android.app.assist.AssistContent);
+    method public void onHandleAssist(@NonNull android.service.voice.VoiceInteractionSession.AssistState);
+    method @Deprecated public void onHandleAssistSecondary(@Nullable android.os.Bundle, @Nullable android.app.assist.AssistStructure, @Nullable android.app.assist.AssistContent, int, int);
+    method public void onHandleScreenshot(@Nullable android.graphics.Bitmap);
+    method public void onHide();
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public void onLockscreenShown();
+    method public void onLowMemory();
+    method public void onPrepareShow(android.os.Bundle, int);
+    method public void onRequestAbortVoice(android.service.voice.VoiceInteractionSession.AbortVoiceRequest);
+    method public void onRequestCommand(android.service.voice.VoiceInteractionSession.CommandRequest);
+    method public void onRequestCompleteVoice(android.service.voice.VoiceInteractionSession.CompleteVoiceRequest);
+    method public void onRequestConfirmation(android.service.voice.VoiceInteractionSession.ConfirmationRequest);
+    method public void onRequestPickOption(android.service.voice.VoiceInteractionSession.PickOptionRequest);
+    method public void onShow(android.os.Bundle, int);
+    method public void onTaskFinished(android.content.Intent, int);
+    method public void onTaskStarted(android.content.Intent, int);
+    method public void onTrimMemory(int);
+    method public final void performDirectAction(@NonNull android.app.DirectAction, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.Bundle>);
+    method public final void registerVisibleActivityCallback(@NonNull java.util.concurrent.Executor, @NonNull android.service.voice.VoiceInteractionSession.VisibleActivityCallback);
+    method public final void requestDirectActions(@NonNull android.service.voice.VoiceInteractionSession.ActivityId, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.app.DirectAction>>);
+    method public void setContentView(android.view.View);
+    method public void setDisabledShowContext(int);
+    method public void setKeepAwake(boolean);
+    method public void setTheme(int);
+    method public void setUiEnabled(boolean);
+    method public void show(android.os.Bundle, int);
+    method public void startAssistantActivity(android.content.Intent);
+    method public void startVoiceActivity(android.content.Intent);
+    method public final void unregisterVisibleActivityCallback(@NonNull android.service.voice.VoiceInteractionSession.VisibleActivityCallback);
+    field public static final int SHOW_SOURCE_ACTIVITY = 16; // 0x10
+    field public static final int SHOW_SOURCE_APPLICATION = 8; // 0x8
+    field public static final int SHOW_SOURCE_ASSIST_GESTURE = 4; // 0x4
+    field public static final int SHOW_SOURCE_AUTOMOTIVE_SYSTEM_UI = 128; // 0x80
+    field public static final int SHOW_SOURCE_NOTIFICATION = 64; // 0x40
+    field public static final int SHOW_SOURCE_PUSH_TO_TALK = 32; // 0x20
+    field public static final int SHOW_WITH_ASSIST = 1; // 0x1
+    field public static final int SHOW_WITH_SCREENSHOT = 2; // 0x2
+  }
+
+  public static final class VoiceInteractionSession.AbortVoiceRequest extends android.service.voice.VoiceInteractionSession.Request {
+    method @Deprecated @Nullable public CharSequence getMessage();
+    method @Nullable public android.app.VoiceInteractor.Prompt getVoicePrompt();
+    method public void sendAbortResult(android.os.Bundle);
+  }
+
+  public static class VoiceInteractionSession.ActivityId {
+  }
+
+  public static final class VoiceInteractionSession.AssistState {
+    method @NonNull public android.service.voice.VoiceInteractionSession.ActivityId getActivityId();
+    method @Nullable public android.app.assist.AssistContent getAssistContent();
+    method @Nullable public android.os.Bundle getAssistData();
+    method @Nullable public android.app.assist.AssistStructure getAssistStructure();
+    method @IntRange(from=0) public int getCount();
+    method @IntRange(from=0xffffffff) public int getIndex();
+    method public boolean isFocused();
+  }
+
+  public static final class VoiceInteractionSession.CommandRequest extends android.service.voice.VoiceInteractionSession.Request {
+    method public String getCommand();
+    method public void sendIntermediateResult(android.os.Bundle);
+    method public void sendResult(android.os.Bundle);
+  }
+
+  public static final class VoiceInteractionSession.CompleteVoiceRequest extends android.service.voice.VoiceInteractionSession.Request {
+    method @Deprecated @Nullable public CharSequence getMessage();
+    method @Nullable public android.app.VoiceInteractor.Prompt getVoicePrompt();
+    method public void sendCompleteResult(android.os.Bundle);
+  }
+
+  public static final class VoiceInteractionSession.ConfirmationRequest extends android.service.voice.VoiceInteractionSession.Request {
+    method @Deprecated @Nullable public CharSequence getPrompt();
+    method @Nullable public android.app.VoiceInteractor.Prompt getVoicePrompt();
+    method public void sendConfirmationResult(boolean, android.os.Bundle);
+  }
+
+  public static final class VoiceInteractionSession.Insets {
+    ctor public VoiceInteractionSession.Insets();
+    field public static final int TOUCHABLE_INSETS_CONTENT = 1; // 0x1
+    field public static final int TOUCHABLE_INSETS_FRAME = 0; // 0x0
+    field public static final int TOUCHABLE_INSETS_REGION = 3; // 0x3
+    field public final android.graphics.Rect contentInsets;
+    field public int touchableInsets;
+    field public final android.graphics.Region touchableRegion;
+  }
+
+  public static final class VoiceInteractionSession.PickOptionRequest extends android.service.voice.VoiceInteractionSession.Request {
+    method public android.app.VoiceInteractor.PickOptionRequest.Option[] getOptions();
+    method @Deprecated @Nullable public CharSequence getPrompt();
+    method @Nullable public android.app.VoiceInteractor.Prompt getVoicePrompt();
+    method public void sendIntermediatePickOptionResult(android.app.VoiceInteractor.PickOptionRequest.Option[], android.os.Bundle);
+    method public void sendPickOptionResult(android.app.VoiceInteractor.PickOptionRequest.Option[], android.os.Bundle);
+  }
+
+  public static class VoiceInteractionSession.Request {
+    method public void cancel();
+    method public String getCallingPackage();
+    method public int getCallingUid();
+    method public android.os.Bundle getExtras();
+    method public boolean isActive();
+  }
+
+  public static interface VoiceInteractionSession.VisibleActivityCallback {
+    method public default void onInvisible(@NonNull android.service.voice.VoiceInteractionSession.ActivityId);
+    method public default void onVisible(@NonNull android.service.voice.VisibleActivityInfo);
+  }
+
+  public abstract class VoiceInteractionSessionService extends android.app.Service {
+    ctor public VoiceInteractionSessionService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract android.service.voice.VoiceInteractionSession onNewSession(android.os.Bundle);
+  }
+
+}
+
+package android.service.vr {
+
+  public abstract class VrListenerService extends android.app.Service {
+    ctor public VrListenerService();
+    method public static final boolean isVrModePackageEnabled(@NonNull android.content.Context, @NonNull android.content.ComponentName);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onCurrentVrActivityChanged(android.content.ComponentName);
+    field public static final String SERVICE_INTERFACE = "android.service.vr.VrListenerService";
+  }
+
+}
+
+package android.service.wallpaper {
+
+  public abstract class WallpaperService extends android.app.Service {
+    ctor public WallpaperService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract android.service.wallpaper.WallpaperService.Engine onCreateEngine();
+    field public static final String SERVICE_INTERFACE = "android.service.wallpaper.WallpaperService";
+    field public static final String SERVICE_META_DATA = "android.service.wallpaper";
+  }
+
+  public class WallpaperService.Engine {
+    ctor public WallpaperService.Engine();
+    method protected void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method public int getDesiredMinimumHeight();
+    method public int getDesiredMinimumWidth();
+    method @Nullable public android.content.Context getDisplayContext();
+    method public android.view.SurfaceHolder getSurfaceHolder();
+    method public boolean isPreview();
+    method public boolean isVisible();
+    method public void notifyColorsChanged();
+    method public void onApplyWindowInsets(android.view.WindowInsets);
+    method public android.os.Bundle onCommand(String, int, int, int, android.os.Bundle, boolean);
+    method @Nullable public android.app.WallpaperColors onComputeColors();
+    method public void onCreate(android.view.SurfaceHolder);
+    method public void onDesiredSizeChanged(int, int);
+    method public void onDestroy();
+    method public void onOffsetsChanged(float, float, float, float, int, int);
+    method public void onSurfaceChanged(android.view.SurfaceHolder, int, int, int);
+    method public void onSurfaceCreated(android.view.SurfaceHolder);
+    method public void onSurfaceDestroyed(android.view.SurfaceHolder);
+    method public void onSurfaceRedrawNeeded(android.view.SurfaceHolder);
+    method public void onTouchEvent(android.view.MotionEvent);
+    method public void onVisibilityChanged(boolean);
+    method public void onZoomChanged(@FloatRange(from=0.0f, to=1.0f) float);
+    method public void setOffsetNotificationsEnabled(boolean);
+    method public void setTouchEventsEnabled(boolean);
+  }
+
+}
+
+package android.speech {
+
+  public interface RecognitionListener {
+    method public void onBeginningOfSpeech();
+    method public void onBufferReceived(byte[]);
+    method public void onEndOfSpeech();
+    method public void onError(int);
+    method public void onEvent(int, android.os.Bundle);
+    method public void onPartialResults(android.os.Bundle);
+    method public void onReadyForSpeech(android.os.Bundle);
+    method public void onResults(android.os.Bundle);
+    method public void onRmsChanged(float);
+  }
+
+  public abstract class RecognitionService extends android.app.Service {
+    ctor public RecognitionService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method protected abstract void onCancel(android.speech.RecognitionService.Callback);
+    method protected abstract void onStartListening(android.content.Intent, android.speech.RecognitionService.Callback);
+    method protected abstract void onStopListening(android.speech.RecognitionService.Callback);
+    field public static final String SERVICE_INTERFACE = "android.speech.RecognitionService";
+    field public static final String SERVICE_META_DATA = "android.speech";
+  }
+
+  public class RecognitionService.Callback {
+    method public void beginningOfSpeech() throws android.os.RemoteException;
+    method public void bufferReceived(byte[]) throws android.os.RemoteException;
+    method public void endOfSpeech() throws android.os.RemoteException;
+    method public void error(int) throws android.os.RemoteException;
+    method @NonNull public android.content.AttributionSource getCallingAttributionSource();
+    method public int getCallingUid();
+    method public void partialResults(android.os.Bundle) throws android.os.RemoteException;
+    method public void readyForSpeech(android.os.Bundle) throws android.os.RemoteException;
+    method public void results(android.os.Bundle) throws android.os.RemoteException;
+    method public void rmsChanged(float) throws android.os.RemoteException;
+  }
+
+  public class RecognizerIntent {
+    method public static final android.content.Intent getVoiceDetailsIntent(android.content.Context);
+    field public static final String ACTION_GET_LANGUAGE_DETAILS = "android.speech.action.GET_LANGUAGE_DETAILS";
+    field public static final String ACTION_RECOGNIZE_SPEECH = "android.speech.action.RECOGNIZE_SPEECH";
+    field public static final String ACTION_VOICE_SEARCH_HANDS_FREE = "android.speech.action.VOICE_SEARCH_HANDS_FREE";
+    field public static final String ACTION_WEB_SEARCH = "android.speech.action.WEB_SEARCH";
+    field public static final String DETAILS_META_DATA = "android.speech.DETAILS";
+    field public static final String EXTRA_AUDIO_INJECT_SOURCE = "android.speech.extra.AUDIO_INJECT_SOURCE";
+    field public static final String EXTRA_CALLING_PACKAGE = "calling_package";
+    field public static final String EXTRA_CONFIDENCE_SCORES = "android.speech.extra.CONFIDENCE_SCORES";
+    field public static final String EXTRA_LANGUAGE = "android.speech.extra.LANGUAGE";
+    field public static final String EXTRA_LANGUAGE_MODEL = "android.speech.extra.LANGUAGE_MODEL";
+    field public static final String EXTRA_LANGUAGE_PREFERENCE = "android.speech.extra.LANGUAGE_PREFERENCE";
+    field public static final String EXTRA_MAX_RESULTS = "android.speech.extra.MAX_RESULTS";
+    field public static final String EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE = "android.speech.extra.ONLY_RETURN_LANGUAGE_PREFERENCE";
+    field public static final String EXTRA_ORIGIN = "android.speech.extra.ORIGIN";
+    field public static final String EXTRA_PARTIAL_RESULTS = "android.speech.extra.PARTIAL_RESULTS";
+    field public static final String EXTRA_PREFER_OFFLINE = "android.speech.extra.PREFER_OFFLINE";
+    field public static final String EXTRA_PROMPT = "android.speech.extra.PROMPT";
+    field public static final String EXTRA_RESULTS = "android.speech.extra.RESULTS";
+    field public static final String EXTRA_RESULTS_PENDINGINTENT = "android.speech.extra.RESULTS_PENDINGINTENT";
+    field public static final String EXTRA_RESULTS_PENDINGINTENT_BUNDLE = "android.speech.extra.RESULTS_PENDINGINTENT_BUNDLE";
+    field public static final String EXTRA_SECURE = "android.speech.extras.EXTRA_SECURE";
+    field public static final String EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS = "android.speech.extras.SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS";
+    field public static final String EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS = "android.speech.extras.SPEECH_INPUT_MINIMUM_LENGTH_MILLIS";
+    field public static final String EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS = "android.speech.extras.SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS";
+    field public static final String EXTRA_SUPPORTED_LANGUAGES = "android.speech.extra.SUPPORTED_LANGUAGES";
+    field public static final String EXTRA_WEB_SEARCH_ONLY = "android.speech.extra.WEB_SEARCH_ONLY";
+    field public static final String LANGUAGE_MODEL_FREE_FORM = "free_form";
+    field public static final String LANGUAGE_MODEL_WEB_SEARCH = "web_search";
+    field public static final int RESULT_AUDIO_ERROR = 5; // 0x5
+    field public static final int RESULT_CLIENT_ERROR = 2; // 0x2
+    field public static final int RESULT_NETWORK_ERROR = 4; // 0x4
+    field public static final int RESULT_NO_MATCH = 1; // 0x1
+    field public static final int RESULT_SERVER_ERROR = 3; // 0x3
+  }
+
+  public class RecognizerResultsIntent {
+    field public static final String ACTION_VOICE_SEARCH_RESULTS = "android.speech.action.VOICE_SEARCH_RESULTS";
+    field public static final String EXTRA_VOICE_SEARCH_RESULT_HTML = "android.speech.extras.VOICE_SEARCH_RESULT_HTML";
+    field public static final String EXTRA_VOICE_SEARCH_RESULT_HTML_BASE_URLS = "android.speech.extras.VOICE_SEARCH_RESULT_HTML_BASE_URLS";
+    field public static final String EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS = "android.speech.extras.EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS";
+    field public static final String EXTRA_VOICE_SEARCH_RESULT_STRINGS = "android.speech.extras.VOICE_SEARCH_RESULT_STRINGS";
+    field public static final String EXTRA_VOICE_SEARCH_RESULT_URLS = "android.speech.extras.VOICE_SEARCH_RESULT_URLS";
+    field public static final String URI_SCHEME_INLINE = "inline";
+  }
+
+  public class SpeechRecognizer {
+    method @MainThread public void cancel();
+    method @MainThread @NonNull public static android.speech.SpeechRecognizer createOnDeviceSpeechRecognizer(@NonNull android.content.Context);
+    method @MainThread public static android.speech.SpeechRecognizer createSpeechRecognizer(android.content.Context);
+    method @MainThread public static android.speech.SpeechRecognizer createSpeechRecognizer(android.content.Context, android.content.ComponentName);
+    method public void destroy();
+    method public static boolean isOnDeviceRecognitionAvailable(@NonNull android.content.Context);
+    method public static boolean isRecognitionAvailable(@NonNull android.content.Context);
+    method @MainThread public void setRecognitionListener(android.speech.RecognitionListener);
+    method @MainThread public void startListening(android.content.Intent);
+    method @MainThread public void stopListening();
+    field public static final String CONFIDENCE_SCORES = "confidence_scores";
+    field public static final int ERROR_AUDIO = 3; // 0x3
+    field public static final int ERROR_CLIENT = 5; // 0x5
+    field public static final int ERROR_INSUFFICIENT_PERMISSIONS = 9; // 0x9
+    field public static final int ERROR_LANGUAGE_NOT_SUPPORTED = 12; // 0xc
+    field public static final int ERROR_LANGUAGE_UNAVAILABLE = 13; // 0xd
+    field public static final int ERROR_NETWORK = 2; // 0x2
+    field public static final int ERROR_NETWORK_TIMEOUT = 1; // 0x1
+    field public static final int ERROR_NO_MATCH = 7; // 0x7
+    field public static final int ERROR_RECOGNIZER_BUSY = 8; // 0x8
+    field public static final int ERROR_SERVER = 4; // 0x4
+    field public static final int ERROR_SERVER_DISCONNECTED = 11; // 0xb
+    field public static final int ERROR_SPEECH_TIMEOUT = 6; // 0x6
+    field public static final int ERROR_TOO_MANY_REQUESTS = 10; // 0xa
+    field public static final String RESULTS_RECOGNITION = "results_recognition";
+  }
+
+}
+
+package android.speech.tts {
+
+  public interface SynthesisCallback {
+    method public int audioAvailable(byte[], int, int);
+    method public int done();
+    method public void error();
+    method public void error(int);
+    method public int getMaxBufferSize();
+    method public boolean hasFinished();
+    method public boolean hasStarted();
+    method public default void rangeStart(int, int, int);
+    method public int start(int, int, @IntRange(from=1, to=2) int);
+  }
+
+  public final class SynthesisRequest {
+    ctor public SynthesisRequest(String, android.os.Bundle);
+    ctor public SynthesisRequest(CharSequence, android.os.Bundle);
+    method public int getCallerUid();
+    method public CharSequence getCharSequenceText();
+    method public String getCountry();
+    method public String getLanguage();
+    method public android.os.Bundle getParams();
+    method public int getPitch();
+    method public int getSpeechRate();
+    method @Deprecated public String getText();
+    method public String getVariant();
+    method public String getVoiceName();
+  }
+
+  public class TextToSpeech {
+    ctor public TextToSpeech(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener);
+    ctor public TextToSpeech(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener, String);
+    method public int addEarcon(String, String, @RawRes int);
+    method @Deprecated public int addEarcon(String, String);
+    method public int addEarcon(String, java.io.File);
+    method public int addEarcon(@NonNull String, @NonNull android.net.Uri);
+    method public int addSpeech(String, String, @RawRes int);
+    method public int addSpeech(CharSequence, String, @RawRes int);
+    method public int addSpeech(String, String);
+    method public int addSpeech(CharSequence, java.io.File);
+    method public int addSpeech(@NonNull CharSequence, @NonNull android.net.Uri);
+    method @Deprecated public boolean areDefaultsEnforced();
+    method public java.util.Set<java.util.Locale> getAvailableLanguages();
+    method public String getDefaultEngine();
+    method @Deprecated public java.util.Locale getDefaultLanguage();
+    method public android.speech.tts.Voice getDefaultVoice();
+    method public java.util.List<android.speech.tts.TextToSpeech.EngineInfo> getEngines();
+    method @Deprecated public java.util.Set<java.lang.String> getFeatures(java.util.Locale);
+    method @Deprecated public java.util.Locale getLanguage();
+    method public static int getMaxSpeechInputLength();
+    method public android.speech.tts.Voice getVoice();
+    method public java.util.Set<android.speech.tts.Voice> getVoices();
+    method public int isLanguageAvailable(java.util.Locale);
+    method public boolean isSpeaking();
+    method public int playEarcon(String, int, android.os.Bundle, String);
+    method @Deprecated public int playEarcon(String, int, java.util.HashMap<java.lang.String,java.lang.String>);
+    method @Deprecated public int playSilence(long, int, java.util.HashMap<java.lang.String,java.lang.String>);
+    method public int playSilentUtterance(long, int, String);
+    method public int setAudioAttributes(android.media.AudioAttributes);
+    method @Deprecated public int setEngineByPackageName(String);
+    method public int setLanguage(java.util.Locale);
+    method @Deprecated public int setOnUtteranceCompletedListener(android.speech.tts.TextToSpeech.OnUtteranceCompletedListener);
+    method public int setOnUtteranceProgressListener(android.speech.tts.UtteranceProgressListener);
+    method public int setPitch(float);
+    method public int setSpeechRate(float);
+    method public int setVoice(android.speech.tts.Voice);
+    method public void shutdown();
+    method public int speak(CharSequence, int, android.os.Bundle, String);
+    method @Deprecated public int speak(String, int, java.util.HashMap<java.lang.String,java.lang.String>);
+    method public int stop();
+    method public int synthesizeToFile(@NonNull CharSequence, @NonNull android.os.Bundle, @NonNull android.os.ParcelFileDescriptor, @NonNull String);
+    method public int synthesizeToFile(CharSequence, android.os.Bundle, java.io.File, String);
+    method @Deprecated public int synthesizeToFile(String, java.util.HashMap<java.lang.String,java.lang.String>, String);
+    field public static final String ACTION_TTS_QUEUE_PROCESSING_COMPLETED = "android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED";
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_INVALID_REQUEST = -8; // 0xfffffff8
+    field public static final int ERROR_NETWORK = -6; // 0xfffffffa
+    field public static final int ERROR_NETWORK_TIMEOUT = -7; // 0xfffffff9
+    field public static final int ERROR_NOT_INSTALLED_YET = -9; // 0xfffffff7
+    field public static final int ERROR_OUTPUT = -5; // 0xfffffffb
+    field public static final int ERROR_SERVICE = -4; // 0xfffffffc
+    field public static final int ERROR_SYNTHESIS = -3; // 0xfffffffd
+    field public static final int LANG_AVAILABLE = 0; // 0x0
+    field public static final int LANG_COUNTRY_AVAILABLE = 1; // 0x1
+    field public static final int LANG_COUNTRY_VAR_AVAILABLE = 2; // 0x2
+    field public static final int LANG_MISSING_DATA = -1; // 0xffffffff
+    field public static final int LANG_NOT_SUPPORTED = -2; // 0xfffffffe
+    field public static final int QUEUE_ADD = 1; // 0x1
+    field public static final int QUEUE_FLUSH = 0; // 0x0
+    field public static final int STOPPED = -2; // 0xfffffffe
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public class TextToSpeech.Engine {
+    ctor public TextToSpeech.Engine();
+    field public static final String ACTION_CHECK_TTS_DATA = "android.speech.tts.engine.CHECK_TTS_DATA";
+    field public static final String ACTION_GET_SAMPLE_TEXT = "android.speech.tts.engine.GET_SAMPLE_TEXT";
+    field public static final String ACTION_INSTALL_TTS_DATA = "android.speech.tts.engine.INSTALL_TTS_DATA";
+    field public static final String ACTION_TTS_DATA_INSTALLED = "android.speech.tts.engine.TTS_DATA_INSTALLED";
+    field @Deprecated public static final int CHECK_VOICE_DATA_BAD_DATA = -1; // 0xffffffff
+    field public static final int CHECK_VOICE_DATA_FAIL = 0; // 0x0
+    field @Deprecated public static final int CHECK_VOICE_DATA_MISSING_DATA = -2; // 0xfffffffe
+    field @Deprecated public static final int CHECK_VOICE_DATA_MISSING_VOLUME = -3; // 0xfffffffd
+    field public static final int CHECK_VOICE_DATA_PASS = 1; // 0x1
+    field public static final int DEFAULT_STREAM = 3; // 0x3
+    field public static final String EXTRA_AVAILABLE_VOICES = "availableVoices";
+    field @Deprecated public static final String EXTRA_CHECK_VOICE_DATA_FOR = "checkVoiceDataFor";
+    field public static final String EXTRA_SAMPLE_TEXT = "sampleText";
+    field @Deprecated public static final String EXTRA_TTS_DATA_INSTALLED = "dataInstalled";
+    field public static final String EXTRA_UNAVAILABLE_VOICES = "unavailableVoices";
+    field @Deprecated public static final String EXTRA_VOICE_DATA_FILES = "dataFiles";
+    field @Deprecated public static final String EXTRA_VOICE_DATA_FILES_INFO = "dataFilesInfo";
+    field @Deprecated public static final String EXTRA_VOICE_DATA_ROOT_DIRECTORY = "dataRoot";
+    field public static final String INTENT_ACTION_TTS_SERVICE = "android.intent.action.TTS_SERVICE";
+    field @Deprecated public static final String KEY_FEATURE_EMBEDDED_SYNTHESIS = "embeddedTts";
+    field public static final String KEY_FEATURE_NETWORK_RETRIES_COUNT = "networkRetriesCount";
+    field @Deprecated public static final String KEY_FEATURE_NETWORK_SYNTHESIS = "networkTts";
+    field public static final String KEY_FEATURE_NETWORK_TIMEOUT_MS = "networkTimeoutMs";
+    field public static final String KEY_FEATURE_NOT_INSTALLED = "notInstalled";
+    field public static final String KEY_PARAM_PAN = "pan";
+    field public static final String KEY_PARAM_SESSION_ID = "sessionId";
+    field public static final String KEY_PARAM_STREAM = "streamType";
+    field public static final String KEY_PARAM_UTTERANCE_ID = "utteranceId";
+    field public static final String KEY_PARAM_VOLUME = "volume";
+    field public static final String SERVICE_META_DATA = "android.speech.tts";
+  }
+
+  public static class TextToSpeech.EngineInfo {
+    ctor public TextToSpeech.EngineInfo();
+    field public int icon;
+    field public String label;
+    field public String name;
+  }
+
+  public static interface TextToSpeech.OnInitListener {
+    method public void onInit(int);
+  }
+
+  @Deprecated public static interface TextToSpeech.OnUtteranceCompletedListener {
+    method @Deprecated public void onUtteranceCompleted(String);
+  }
+
+  public abstract class TextToSpeechService extends android.app.Service {
+    ctor public TextToSpeechService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public String onGetDefaultVoiceNameFor(String, String, String);
+    method protected java.util.Set<java.lang.String> onGetFeaturesForLanguage(String, String, String);
+    method protected abstract String[] onGetLanguage();
+    method public java.util.List<android.speech.tts.Voice> onGetVoices();
+    method protected abstract int onIsLanguageAvailable(String, String, String);
+    method public int onIsValidVoiceName(String);
+    method protected abstract int onLoadLanguage(String, String, String);
+    method public int onLoadVoice(String);
+    method protected abstract void onStop();
+    method protected abstract void onSynthesizeText(android.speech.tts.SynthesisRequest, android.speech.tts.SynthesisCallback);
+  }
+
+  public abstract class UtteranceProgressListener {
+    ctor public UtteranceProgressListener();
+    method public void onAudioAvailable(String, byte[]);
+    method public void onBeginSynthesis(String, int, int, int);
+    method public abstract void onDone(String);
+    method @Deprecated public abstract void onError(String);
+    method public void onError(String, int);
+    method public void onRangeStart(String, int, int, int);
+    method public abstract void onStart(String);
+    method public void onStop(String, boolean);
+  }
+
+  public class Voice implements android.os.Parcelable {
+    ctor public Voice(String, java.util.Locale, int, int, boolean, java.util.Set<java.lang.String>);
+    method public int describeContents();
+    method public java.util.Set<java.lang.String> getFeatures();
+    method public int getLatency();
+    method public java.util.Locale getLocale();
+    method public String getName();
+    method public int getQuality();
+    method public boolean isNetworkConnectionRequired();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.speech.tts.Voice> CREATOR;
+    field public static final int LATENCY_HIGH = 400; // 0x190
+    field public static final int LATENCY_LOW = 200; // 0xc8
+    field public static final int LATENCY_NORMAL = 300; // 0x12c
+    field public static final int LATENCY_VERY_HIGH = 500; // 0x1f4
+    field public static final int LATENCY_VERY_LOW = 100; // 0x64
+    field public static final int QUALITY_HIGH = 400; // 0x190
+    field public static final int QUALITY_LOW = 200; // 0xc8
+    field public static final int QUALITY_NORMAL = 300; // 0x12c
+    field public static final int QUALITY_VERY_HIGH = 500; // 0x1f4
+    field public static final int QUALITY_VERY_LOW = 100; // 0x64
+  }
+
+}
+
+package android.telecom {
+
+  public final class Call {
+    method public void addConferenceParticipants(@NonNull java.util.List<android.net.Uri>);
+    method public void answer(int);
+    method public void conference(android.telecom.Call);
+    method public void deflect(android.net.Uri);
+    method public void disconnect();
+    method public java.util.List<java.lang.String> getCannedTextResponses();
+    method public java.util.List<android.telecom.Call> getChildren();
+    method public java.util.List<android.telecom.Call> getConferenceableCalls();
+    method public android.telecom.Call.Details getDetails();
+    method @Nullable public android.telecom.Call getGenericConferenceActiveChildCall();
+    method public android.telecom.Call getParent();
+    method public String getRemainingPostDialSequence();
+    method @Nullable public android.telecom.Call.RttCall getRttCall();
+    method @Deprecated public int getState();
+    method public android.telecom.InCallService.VideoCall getVideoCall();
+    method public void handoverTo(android.telecom.PhoneAccountHandle, int, android.os.Bundle);
+    method public void hold();
+    method public boolean isRttActive();
+    method public void mergeConference();
+    method public void phoneAccountSelected(android.telecom.PhoneAccountHandle, boolean);
+    method public void playDtmfTone(char);
+    method public void postDialContinue(boolean);
+    method public void pullExternalCall();
+    method public void putExtras(android.os.Bundle);
+    method public void registerCallback(android.telecom.Call.Callback);
+    method public void registerCallback(android.telecom.Call.Callback, android.os.Handler);
+    method public void reject(boolean, String);
+    method public void reject(int);
+    method public void removeExtras(java.util.List<java.lang.String>);
+    method public void removeExtras(java.lang.String...);
+    method public void respondToRttRequest(int, boolean);
+    method public void sendCallEvent(String, android.os.Bundle);
+    method public void sendRttRequest();
+    method public void splitFromConference();
+    method public void stopDtmfTone();
+    method public void stopRtt();
+    method public void swapConference();
+    method public void unhold();
+    method public void unregisterCallback(android.telecom.Call.Callback);
+    field @Deprecated public static final String AVAILABLE_PHONE_ACCOUNTS = "selectPhoneAccountAccounts";
+    field public static final String EVENT_CLEAR_DIAGNOSTIC_MESSAGE = "android.telecom.event.CLEAR_DIAGNOSTIC_MESSAGE";
+    field public static final String EVENT_DISPLAY_DIAGNOSTIC_MESSAGE = "android.telecom.event.DISPLAY_DIAGNOSTIC_MESSAGE";
+    field public static final String EXTRA_DIAGNOSTIC_MESSAGE = "android.telecom.extra.DIAGNOSTIC_MESSAGE";
+    field public static final String EXTRA_DIAGNOSTIC_MESSAGE_ID = "android.telecom.extra.DIAGNOSTIC_MESSAGE_ID";
+    field public static final String EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS = "android.telecom.extra.LAST_EMERGENCY_CALLBACK_TIME_MILLIS";
+    field public static final String EXTRA_SILENT_RINGING_REQUESTED = "android.telecom.extra.SILENT_RINGING_REQUESTED";
+    field public static final String EXTRA_SUGGESTED_PHONE_ACCOUNTS = "android.telecom.extra.SUGGESTED_PHONE_ACCOUNTS";
+    field public static final int REJECT_REASON_DECLINED = 1; // 0x1
+    field public static final int REJECT_REASON_UNWANTED = 2; // 0x2
+    field public static final int STATE_ACTIVE = 4; // 0x4
+    field public static final int STATE_AUDIO_PROCESSING = 12; // 0xc
+    field public static final int STATE_CONNECTING = 9; // 0x9
+    field public static final int STATE_DIALING = 1; // 0x1
+    field public static final int STATE_DISCONNECTED = 7; // 0x7
+    field public static final int STATE_DISCONNECTING = 10; // 0xa
+    field public static final int STATE_HOLDING = 3; // 0x3
+    field public static final int STATE_NEW = 0; // 0x0
+    field public static final int STATE_PULLING_CALL = 11; // 0xb
+    field public static final int STATE_RINGING = 2; // 0x2
+    field public static final int STATE_SELECT_PHONE_ACCOUNT = 8; // 0x8
+    field public static final int STATE_SIMULATED_RINGING = 13; // 0xd
+  }
+
+  public abstract static class Call.Callback {
+    ctor public Call.Callback();
+    method public void onCallDestroyed(android.telecom.Call);
+    method public void onCannedTextResponsesLoaded(android.telecom.Call, java.util.List<java.lang.String>);
+    method public void onChildrenChanged(android.telecom.Call, java.util.List<android.telecom.Call>);
+    method public void onConferenceableCallsChanged(android.telecom.Call, java.util.List<android.telecom.Call>);
+    method public void onConnectionEvent(android.telecom.Call, String, android.os.Bundle);
+    method public void onDetailsChanged(android.telecom.Call, android.telecom.Call.Details);
+    method public void onHandoverComplete(android.telecom.Call);
+    method public void onHandoverFailed(android.telecom.Call, int);
+    method public void onParentChanged(android.telecom.Call, android.telecom.Call);
+    method public void onPostDialWait(android.telecom.Call, String);
+    method public void onRttInitiationFailure(android.telecom.Call, int);
+    method public void onRttModeChanged(android.telecom.Call, int);
+    method public void onRttRequest(android.telecom.Call, int);
+    method public void onRttStatusChanged(android.telecom.Call, boolean, android.telecom.Call.RttCall);
+    method public void onStateChanged(android.telecom.Call, int);
+    method public void onVideoCallChanged(android.telecom.Call, android.telecom.InCallService.VideoCall);
+    field public static final int HANDOVER_FAILURE_DEST_APP_REJECTED = 1; // 0x1
+    field public static final int HANDOVER_FAILURE_NOT_SUPPORTED = 2; // 0x2
+    field public static final int HANDOVER_FAILURE_ONGOING_EMERGENCY_CALL = 4; // 0x4
+    field public static final int HANDOVER_FAILURE_UNKNOWN = 5; // 0x5
+    field public static final int HANDOVER_FAILURE_USER_REJECTED = 3; // 0x3
+  }
+
+  public static class Call.Details {
+    method public static boolean can(int, int);
+    method public boolean can(int);
+    method public static String capabilitiesToString(int);
+    method public android.telecom.PhoneAccountHandle getAccountHandle();
+    method public int getCallCapabilities();
+    method public int getCallDirection();
+    method public int getCallProperties();
+    method public String getCallerDisplayName();
+    method public int getCallerDisplayNamePresentation();
+    method public int getCallerNumberVerificationStatus();
+    method public final long getConnectTimeMillis();
+    method @Nullable public String getContactDisplayName();
+    method public long getCreationTimeMillis();
+    method public android.telecom.DisconnectCause getDisconnectCause();
+    method public android.os.Bundle getExtras();
+    method public android.telecom.GatewayInfo getGatewayInfo();
+    method public android.net.Uri getHandle();
+    method public int getHandlePresentation();
+    method public android.os.Bundle getIntentExtras();
+    method public final int getState();
+    method public android.telecom.StatusHints getStatusHints();
+    method public int getVideoState();
+    method public static boolean hasProperty(int, int);
+    method public boolean hasProperty(int);
+    method public static String propertiesToString(int);
+    field public static final int CAPABILITY_ADD_PARTICIPANT = 33554432; // 0x2000000
+    field public static final int CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO = 4194304; // 0x400000
+    field public static final int CAPABILITY_CAN_PAUSE_VIDEO = 1048576; // 0x100000
+    field public static final int CAPABILITY_CAN_PULL_CALL = 8388608; // 0x800000
+    field public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE = 8192; // 0x2000
+    field public static final int CAPABILITY_HOLD = 1; // 0x1
+    field public static final int CAPABILITY_MANAGE_CONFERENCE = 128; // 0x80
+    field public static final int CAPABILITY_MERGE_CONFERENCE = 4; // 0x4
+    field public static final int CAPABILITY_MUTE = 64; // 0x40
+    field public static final int CAPABILITY_RESPOND_VIA_TEXT = 32; // 0x20
+    field public static final int CAPABILITY_SEPARATE_FROM_CONFERENCE = 4096; // 0x1000
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL = 768; // 0x300
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX = 256; // 0x100
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX = 512; // 0x200
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL = 3072; // 0xc00
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_RX = 1024; // 0x400
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 2048; // 0x800
+    field public static final int CAPABILITY_SUPPORT_DEFLECT = 16777216; // 0x1000000
+    field public static final int CAPABILITY_SUPPORT_HOLD = 2; // 0x2
+    field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
+    field public static final int DIRECTION_INCOMING = 0; // 0x0
+    field public static final int DIRECTION_OUTGOING = 1; // 0x1
+    field public static final int DIRECTION_UNKNOWN = -1; // 0xffffffff
+    field public static final int PROPERTY_ASSISTED_DIALING = 512; // 0x200
+    field public static final int PROPERTY_CONFERENCE = 1; // 0x1
+    field public static final int PROPERTY_CROSS_SIM = 16384; // 0x4000
+    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 4; // 0x4
+    field public static final int PROPERTY_ENTERPRISE_CALL = 32; // 0x20
+    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
+    field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 128; // 0x80
+    field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10
+    field public static final int PROPERTY_IS_ADHOC_CONFERENCE = 8192; // 0x2000
+    field public static final int PROPERTY_IS_EXTERNAL_CALL = 64; // 0x40
+    field public static final int PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL = 2048; // 0x800
+    field public static final int PROPERTY_RTT = 1024; // 0x400
+    field public static final int PROPERTY_SELF_MANAGED = 256; // 0x100
+    field public static final int PROPERTY_VOIP_AUDIO_MODE = 4096; // 0x1000
+    field public static final int PROPERTY_WIFI = 8; // 0x8
+  }
+
+  public static final class Call.RttCall {
+    method public int getRttAudioMode();
+    method public String read();
+    method public String readImmediately() throws java.io.IOException;
+    method public void setRttMode(int);
+    method public void write(String) throws java.io.IOException;
+    field public static final int RTT_MODE_FULL = 1; // 0x1
+    field public static final int RTT_MODE_HCO = 2; // 0x2
+    field public static final int RTT_MODE_VCO = 3; // 0x3
+  }
+
+  public final class CallAudioState implements android.os.Parcelable {
+    ctor public CallAudioState(boolean, int, int);
+    method public static String audioRouteToString(int);
+    method public int describeContents();
+    method public android.bluetooth.BluetoothDevice getActiveBluetoothDevice();
+    method public int getRoute();
+    method public java.util.Collection<android.bluetooth.BluetoothDevice> getSupportedBluetoothDevices();
+    method public int getSupportedRouteMask();
+    method public boolean isMuted();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.CallAudioState> CREATOR;
+    field public static final int ROUTE_BLUETOOTH = 2; // 0x2
+    field public static final int ROUTE_EARPIECE = 1; // 0x1
+    field public static final int ROUTE_SPEAKER = 8; // 0x8
+    field public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
+    field public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
+  }
+
+  public abstract class CallRedirectionService extends android.app.Service {
+    ctor public CallRedirectionService();
+    method public final void cancelCall();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onPlaceCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
+    method public final boolean onUnbind(@NonNull android.content.Intent);
+    method public final void placeCallUnmodified();
+    method public final void redirectCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
+    field public static final String SERVICE_INTERFACE = "android.telecom.CallRedirectionService";
+  }
+
+  public abstract class CallScreeningService extends android.app.Service {
+    ctor public CallScreeningService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract void onScreenCall(@NonNull android.telecom.Call.Details);
+    method public final void respondToCall(@NonNull android.telecom.Call.Details, @NonNull android.telecom.CallScreeningService.CallResponse);
+    field public static final String SERVICE_INTERFACE = "android.telecom.CallScreeningService";
+  }
+
+  public static class CallScreeningService.CallResponse {
+    method public int getCallComposerAttachmentsToShow();
+    method public boolean getDisallowCall();
+    method public boolean getRejectCall();
+    method public boolean getSilenceCall();
+    method public boolean getSkipCallLog();
+    method public boolean getSkipNotification();
+    field public static final int CALL_COMPOSER_ATTACHMENT_LOCATION = 2; // 0x2
+    field public static final int CALL_COMPOSER_ATTACHMENT_PICTURE = 1; // 0x1
+    field public static final int CALL_COMPOSER_ATTACHMENT_PRIORITY = 8; // 0x8
+    field public static final int CALL_COMPOSER_ATTACHMENT_SUBJECT = 4; // 0x4
+  }
+
+  public static class CallScreeningService.CallResponse.Builder {
+    ctor public CallScreeningService.CallResponse.Builder();
+    method public android.telecom.CallScreeningService.CallResponse build();
+    method @NonNull public android.telecom.CallScreeningService.CallResponse.Builder setCallComposerAttachmentsToShow(int);
+    method public android.telecom.CallScreeningService.CallResponse.Builder setDisallowCall(boolean);
+    method public android.telecom.CallScreeningService.CallResponse.Builder setRejectCall(boolean);
+    method @NonNull public android.telecom.CallScreeningService.CallResponse.Builder setSilenceCall(boolean);
+    method public android.telecom.CallScreeningService.CallResponse.Builder setSkipCallLog(boolean);
+    method public android.telecom.CallScreeningService.CallResponse.Builder setSkipNotification(boolean);
+  }
+
+  public abstract class Conference extends android.telecom.Conferenceable {
+    ctor public Conference(android.telecom.PhoneAccountHandle);
+    method public final boolean addConnection(android.telecom.Connection);
+    method @NonNull public static android.telecom.Conference createFailedConference(@NonNull android.telecom.DisconnectCause, @NonNull android.telecom.PhoneAccountHandle);
+    method public final void destroy();
+    method public final android.telecom.CallAudioState getCallAudioState();
+    method public final java.util.List<android.telecom.Connection> getConferenceableConnections();
+    method public final int getConnectionCapabilities();
+    method public final int getConnectionProperties();
+    method public final long getConnectionStartElapsedRealtimeMillis();
+    method @IntRange(from=0) public final long getConnectionTime();
+    method public final java.util.List<android.telecom.Connection> getConnections();
+    method public final android.telecom.DisconnectCause getDisconnectCause();
+    method public final android.os.Bundle getExtras();
+    method public final android.telecom.PhoneAccountHandle getPhoneAccountHandle();
+    method public final int getState();
+    method public final android.telecom.StatusHints getStatusHints();
+    method public android.telecom.Connection.VideoProvider getVideoProvider();
+    method public int getVideoState();
+    method public final boolean isRingbackRequested();
+    method public void onAddConferenceParticipants(@NonNull java.util.List<android.net.Uri>);
+    method public void onAnswer(int);
+    method public void onCallAudioStateChanged(android.telecom.CallAudioState);
+    method public void onConnectionAdded(android.telecom.Connection);
+    method public void onDisconnect();
+    method public void onExtrasChanged(android.os.Bundle);
+    method public void onHold();
+    method public void onMerge(android.telecom.Connection);
+    method public void onMerge();
+    method public void onPlayDtmfTone(char);
+    method public void onReject();
+    method public void onSeparate(android.telecom.Connection);
+    method public void onStopDtmfTone();
+    method public void onSwap();
+    method public void onUnhold();
+    method public final void putExtras(@NonNull android.os.Bundle);
+    method public final void removeConnection(android.telecom.Connection);
+    method public final void removeExtras(java.util.List<java.lang.String>);
+    method public final void removeExtras(java.lang.String...);
+    method public void sendConferenceEvent(@NonNull String, @Nullable android.os.Bundle);
+    method public final void setActive();
+    method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>);
+    method public final void setConnectionCapabilities(int);
+    method public final void setConnectionProperties(int);
+    method @Deprecated public final void setConnectionStartElapsedRealTime(long);
+    method public final void setConnectionStartElapsedRealtimeMillis(long);
+    method public final void setConnectionTime(@IntRange(from=0) long);
+    method public final void setDialing();
+    method public final void setDisconnected(android.telecom.DisconnectCause);
+    method public final void setExtras(@Nullable android.os.Bundle);
+    method public final void setOnHold();
+    method public final void setRingbackRequested(boolean);
+    method public final void setRinging();
+    method public final void setStatusHints(android.telecom.StatusHints);
+    method public final void setVideoProvider(android.telecom.Connection, android.telecom.Connection.VideoProvider);
+    method public final void setVideoState(android.telecom.Connection, int);
+    field public static final long CONNECT_TIME_NOT_SPECIFIED = 0L; // 0x0L
+  }
+
+  public abstract class Conferenceable {
+  }
+
+  public abstract class Connection extends android.telecom.Conferenceable {
+    ctor public Connection();
+    method public static String capabilitiesToString(int);
+    method public static android.telecom.Connection createCanceledConnection();
+    method public static android.telecom.Connection createFailedConnection(android.telecom.DisconnectCause);
+    method public final void destroy();
+    method public final android.net.Uri getAddress();
+    method public final int getAddressPresentation();
+    method public final boolean getAudioModeIsVoip();
+    method public final android.telecom.CallAudioState getCallAudioState();
+    method public final String getCallerDisplayName();
+    method public final int getCallerDisplayNamePresentation();
+    method public final int getCallerNumberVerificationStatus();
+    method public final android.telecom.Conference getConference();
+    method public final java.util.List<android.telecom.Conferenceable> getConferenceables();
+    method public final int getConnectionCapabilities();
+    method public final int getConnectionProperties();
+    method public final android.telecom.DisconnectCause getDisconnectCause();
+    method public final android.os.Bundle getExtras();
+    method public final int getState();
+    method public final android.telecom.StatusHints getStatusHints();
+    method public final android.telecom.Connection.VideoProvider getVideoProvider();
+    method public final int getVideoState();
+    method public void handleRttUpgradeResponse(@Nullable android.telecom.Connection.RttTextStream);
+    method public final boolean isRingbackRequested();
+    method public final void notifyConferenceMergeFailed();
+    method public void onAbort();
+    method public void onAddConferenceParticipants(@NonNull java.util.List<android.net.Uri>);
+    method public void onAnswer(int);
+    method public void onAnswer();
+    method public void onCallAudioStateChanged(android.telecom.CallAudioState);
+    method public void onCallEvent(String, android.os.Bundle);
+    method public void onDeflect(android.net.Uri);
+    method public void onDisconnect();
+    method public void onExtrasChanged(android.os.Bundle);
+    method public void onHandoverComplete();
+    method public void onHold();
+    method public void onPlayDtmfTone(char);
+    method public void onPostDialContinue(boolean);
+    method public void onPullExternalCall();
+    method public void onReject();
+    method public void onReject(int);
+    method public void onReject(String);
+    method public void onSeparate();
+    method public void onShowIncomingCallUi();
+    method public void onSilence();
+    method public void onStartRtt(@NonNull android.telecom.Connection.RttTextStream);
+    method public void onStateChanged(int);
+    method public void onStopDtmfTone();
+    method public void onStopRtt();
+    method public void onTrackedByNonUiService(boolean);
+    method public void onUnhold();
+    method public void onUsingAlternativeUi(boolean);
+    method public static String propertiesToString(int);
+    method public final void putExtras(@NonNull android.os.Bundle);
+    method public final void removeExtras(java.util.List<java.lang.String>);
+    method public final void removeExtras(java.lang.String...);
+    method public void requestBluetoothAudio(@NonNull android.bluetooth.BluetoothDevice);
+    method public void sendConnectionEvent(String, android.os.Bundle);
+    method public final void sendRemoteRttRequest();
+    method public final void sendRttInitiationFailure(int);
+    method public final void sendRttInitiationSuccess();
+    method public final void sendRttSessionRemotelyTerminated();
+    method public final void setActive();
+    method public final void setAddress(android.net.Uri, int);
+    method public final void setAudioModeIsVoip(boolean);
+    method public final void setAudioRoute(int);
+    method public final void setCallerDisplayName(String, int);
+    method public final void setCallerNumberVerificationStatus(int);
+    method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>);
+    method public final void setConferenceables(java.util.List<android.telecom.Conferenceable>);
+    method public final void setConnectionCapabilities(int);
+    method public final void setConnectionProperties(int);
+    method public final void setDialing();
+    method public final void setDisconnected(android.telecom.DisconnectCause);
+    method public final void setExtras(@Nullable android.os.Bundle);
+    method public final void setInitialized();
+    method public final void setInitializing();
+    method public final void setNextPostDialChar(char);
+    method public final void setOnHold();
+    method public final void setPostDialWait(String);
+    method public final void setPulling();
+    method public final void setRingbackRequested(boolean);
+    method public final void setRinging();
+    method public final void setStatusHints(android.telecom.StatusHints);
+    method public final void setVideoProvider(android.telecom.Connection.VideoProvider);
+    method public final void setVideoState(int);
+    method public static String stateToString(int);
+    field public static final int AUDIO_CODEC_AMR = 1; // 0x1
+    field public static final int AUDIO_CODEC_AMR_WB = 2; // 0x2
+    field public static final int AUDIO_CODEC_EVRC = 4; // 0x4
+    field public static final int AUDIO_CODEC_EVRC_B = 5; // 0x5
+    field public static final int AUDIO_CODEC_EVRC_NW = 7; // 0x7
+    field public static final int AUDIO_CODEC_EVRC_WB = 6; // 0x6
+    field public static final int AUDIO_CODEC_EVS_FB = 20; // 0x14
+    field public static final int AUDIO_CODEC_EVS_NB = 17; // 0x11
+    field public static final int AUDIO_CODEC_EVS_SWB = 19; // 0x13
+    field public static final int AUDIO_CODEC_EVS_WB = 18; // 0x12
+    field public static final int AUDIO_CODEC_G711A = 13; // 0xd
+    field public static final int AUDIO_CODEC_G711AB = 15; // 0xf
+    field public static final int AUDIO_CODEC_G711U = 11; // 0xb
+    field public static final int AUDIO_CODEC_G722 = 14; // 0xe
+    field public static final int AUDIO_CODEC_G723 = 12; // 0xc
+    field public static final int AUDIO_CODEC_G729 = 16; // 0x10
+    field public static final int AUDIO_CODEC_GSM_EFR = 8; // 0x8
+    field public static final int AUDIO_CODEC_GSM_FR = 9; // 0x9
+    field public static final int AUDIO_CODEC_GSM_HR = 10; // 0xa
+    field public static final int AUDIO_CODEC_NONE = 0; // 0x0
+    field public static final int AUDIO_CODEC_QCELP13K = 3; // 0x3
+    field public static final int CAPABILITY_ADD_PARTICIPANT = 67108864; // 0x4000000
+    field public static final int CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO = 8388608; // 0x800000
+    field public static final int CAPABILITY_CAN_PAUSE_VIDEO = 1048576; // 0x100000
+    field public static final int CAPABILITY_CAN_PULL_CALL = 16777216; // 0x1000000
+    field public static final int CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION = 4194304; // 0x400000
+    field @Deprecated public static final int CAPABILITY_CAN_UPGRADE_TO_VIDEO = 524288; // 0x80000
+    field public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE = 8192; // 0x2000
+    field public static final int CAPABILITY_HOLD = 1; // 0x1
+    field public static final int CAPABILITY_MANAGE_CONFERENCE = 128; // 0x80
+    field public static final int CAPABILITY_MERGE_CONFERENCE = 4; // 0x4
+    field public static final int CAPABILITY_MUTE = 64; // 0x40
+    field public static final int CAPABILITY_RESPOND_VIA_TEXT = 32; // 0x20
+    field public static final int CAPABILITY_SEPARATE_FROM_CONFERENCE = 4096; // 0x1000
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL = 768; // 0x300
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX = 256; // 0x100
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX = 512; // 0x200
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL = 3072; // 0xc00
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_RX = 1024; // 0x400
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 2048; // 0x800
+    field public static final int CAPABILITY_SUPPORT_DEFLECT = 33554432; // 0x2000000
+    field public static final int CAPABILITY_SUPPORT_HOLD = 2; // 0x2
+    field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
+    field public static final String EVENT_CALL_HOLD_FAILED = "android.telecom.event.CALL_HOLD_FAILED";
+    field public static final String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
+    field public static final String EVENT_CALL_PULL_FAILED = "android.telecom.event.CALL_PULL_FAILED";
+    field public static final String EVENT_CALL_REMOTELY_HELD = "android.telecom.event.CALL_REMOTELY_HELD";
+    field public static final String EVENT_CALL_REMOTELY_UNHELD = "android.telecom.event.CALL_REMOTELY_UNHELD";
+    field public static final String EVENT_CALL_SWITCH_FAILED = "android.telecom.event.CALL_SWITCH_FAILED";
+    field public static final String EVENT_MERGE_COMPLETE = "android.telecom.event.MERGE_COMPLETE";
+    field public static final String EVENT_MERGE_START = "android.telecom.event.MERGE_START";
+    field public static final String EVENT_ON_HOLD_TONE_END = "android.telecom.event.ON_HOLD_TONE_END";
+    field public static final String EVENT_ON_HOLD_TONE_START = "android.telecom.event.ON_HOLD_TONE_START";
+    field public static final String EVENT_RTT_AUDIO_INDICATION_CHANGED = "android.telecom.event.RTT_AUDIO_INDICATION_CHANGED";
+    field public static final String EXTRA_ANSWERING_DROPS_FG_CALL = "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
+    field public static final String EXTRA_ANSWERING_DROPS_FG_CALL_APP_NAME = "android.telecom.extra.ANSWERING_DROPS_FG_CALL_APP_NAME";
+    field public static final String EXTRA_AUDIO_CODEC = "android.telecom.extra.AUDIO_CODEC";
+    field public static final String EXTRA_AUDIO_CODEC_BANDWIDTH_KHZ = "android.telecom.extra.AUDIO_CODEC_BANDWIDTH_KHZ";
+    field public static final String EXTRA_AUDIO_CODEC_BITRATE_KBPS = "android.telecom.extra.AUDIO_CODEC_BITRATE_KBPS";
+    field public static final String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
+    field public static final String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS";
+    field public static final String EXTRA_IS_RTT_AUDIO_PRESENT = "android.telecom.extra.IS_RTT_AUDIO_PRESENT";
+    field public static final String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
+    field public static final String EXTRA_SIP_INVITE = "android.telecom.extra.SIP_INVITE";
+    field public static final int PROPERTY_ASSISTED_DIALING = 512; // 0x200
+    field public static final int PROPERTY_CROSS_SIM = 8192; // 0x2000
+    field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 32; // 0x20
+    field public static final int PROPERTY_HIGH_DEF_AUDIO = 4; // 0x4
+    field public static final int PROPERTY_IS_ADHOC_CONFERENCE = 4096; // 0x1000
+    field public static final int PROPERTY_IS_EXTERNAL_CALL = 16; // 0x10
+    field public static final int PROPERTY_IS_RTT = 256; // 0x100
+    field public static final int PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL = 1024; // 0x400
+    field public static final int PROPERTY_SELF_MANAGED = 128; // 0x80
+    field public static final int PROPERTY_WIFI = 8; // 0x8
+    field public static final int STATE_ACTIVE = 4; // 0x4
+    field public static final int STATE_DIALING = 3; // 0x3
+    field public static final int STATE_DISCONNECTED = 6; // 0x6
+    field public static final int STATE_HOLDING = 5; // 0x5
+    field public static final int STATE_INITIALIZING = 0; // 0x0
+    field public static final int STATE_NEW = 1; // 0x1
+    field public static final int STATE_PULLING_CALL = 7; // 0x7
+    field public static final int STATE_RINGING = 2; // 0x2
+    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
+    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
+    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
+  }
+
+  public static final class Connection.RttModifyStatus {
+    field public static final int SESSION_MODIFY_REQUEST_FAIL = 2; // 0x2
+    field public static final int SESSION_MODIFY_REQUEST_INVALID = 3; // 0x3
+    field public static final int SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE = 5; // 0x5
+    field public static final int SESSION_MODIFY_REQUEST_SUCCESS = 1; // 0x1
+    field public static final int SESSION_MODIFY_REQUEST_TIMED_OUT = 4; // 0x4
+  }
+
+  public static final class Connection.RttTextStream {
+    method public String read() throws java.io.IOException;
+    method public String readImmediately() throws java.io.IOException;
+    method public void write(String) throws java.io.IOException;
+  }
+
+  public abstract static class Connection.VideoProvider {
+    ctor public Connection.VideoProvider();
+    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
+    method public void changePeerDimensions(int, int);
+    method public void changeVideoQuality(int);
+    method public void handleCallSessionEvent(int);
+    method public abstract void onRequestCameraCapabilities();
+    method public abstract void onRequestConnectionDataUsage();
+    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
+    method public abstract void onSetCamera(String);
+    method public abstract void onSetDeviceOrientation(int);
+    method public abstract void onSetDisplaySurface(android.view.Surface);
+    method public abstract void onSetPauseImage(android.net.Uri);
+    method public abstract void onSetPreviewSurface(android.view.Surface);
+    method public abstract void onSetZoom(float);
+    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
+    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public void setCallDataUsage(long);
+    field public static final int SESSION_EVENT_CAMERA_FAILURE = 5; // 0x5
+    field public static final int SESSION_EVENT_CAMERA_PERMISSION_ERROR = 7; // 0x7
+    field public static final int SESSION_EVENT_CAMERA_READY = 6; // 0x6
+    field public static final int SESSION_EVENT_RX_PAUSE = 1; // 0x1
+    field public static final int SESSION_EVENT_RX_RESUME = 2; // 0x2
+    field public static final int SESSION_EVENT_TX_START = 3; // 0x3
+    field public static final int SESSION_EVENT_TX_STOP = 4; // 0x4
+    field public static final int SESSION_MODIFY_REQUEST_FAIL = 2; // 0x2
+    field public static final int SESSION_MODIFY_REQUEST_INVALID = 3; // 0x3
+    field public static final int SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE = 5; // 0x5
+    field public static final int SESSION_MODIFY_REQUEST_SUCCESS = 1; // 0x1
+    field public static final int SESSION_MODIFY_REQUEST_TIMED_OUT = 4; // 0x4
+  }
+
+  public final class ConnectionRequest implements android.os.Parcelable {
+    ctor public ConnectionRequest(android.telecom.PhoneAccountHandle, android.net.Uri, android.os.Bundle);
+    ctor public ConnectionRequest(android.telecom.PhoneAccountHandle, android.net.Uri, android.os.Bundle, int);
+    method public int describeContents();
+    method public android.telecom.PhoneAccountHandle getAccountHandle();
+    method public android.net.Uri getAddress();
+    method public android.os.Bundle getExtras();
+    method @Nullable public java.util.List<android.net.Uri> getParticipants();
+    method public android.telecom.Connection.RttTextStream getRttTextStream();
+    method public int getVideoState();
+    method public boolean isAdhocConferenceCall();
+    method public boolean isRequestingRtt();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ConnectionRequest> CREATOR;
+  }
+
+  public abstract class ConnectionService extends android.app.Service {
+    ctor public ConnectionService();
+    method public final void addConference(android.telecom.Conference);
+    method public final void addExistingConnection(android.telecom.PhoneAccountHandle, android.telecom.Connection);
+    method public final void conferenceRemoteConnections(android.telecom.RemoteConnection, android.telecom.RemoteConnection);
+    method public final void connectionServiceFocusReleased();
+    method @Nullable public final android.telecom.RemoteConference createRemoteIncomingConference(@Nullable android.telecom.PhoneAccountHandle, @Nullable android.telecom.ConnectionRequest);
+    method @Nullable public final android.telecom.RemoteConnection createRemoteIncomingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+    method @Nullable public final android.telecom.RemoteConference createRemoteOutgoingConference(@Nullable android.telecom.PhoneAccountHandle, @Nullable android.telecom.ConnectionRequest);
+    method @Nullable public final android.telecom.RemoteConnection createRemoteOutgoingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+    method public final java.util.Collection<android.telecom.Conference> getAllConferences();
+    method public final java.util.Collection<android.telecom.Connection> getAllConnections();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public void onConference(android.telecom.Connection, android.telecom.Connection);
+    method public void onConnectionServiceFocusGained();
+    method public void onConnectionServiceFocusLost();
+    method @Nullable public android.telecom.Conference onCreateIncomingConference(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+    method public void onCreateIncomingConferenceFailed(@Nullable android.telecom.PhoneAccountHandle, @Nullable android.telecom.ConnectionRequest);
+    method public android.telecom.Connection onCreateIncomingConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method public void onCreateIncomingConnectionFailed(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method public android.telecom.Connection onCreateIncomingHandoverConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method @Nullable public android.telecom.Conference onCreateOutgoingConference(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+    method public void onCreateOutgoingConferenceFailed(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+    method public android.telecom.Connection onCreateOutgoingConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method public void onCreateOutgoingConnectionFailed(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method public android.telecom.Connection onCreateOutgoingHandoverConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method public void onHandoverFailed(android.telecom.ConnectionRequest, int);
+    method public void onRemoteConferenceAdded(android.telecom.RemoteConference);
+    method public void onRemoteExistingConnectionAdded(android.telecom.RemoteConnection);
+    field public static final String SERVICE_INTERFACE = "android.telecom.ConnectionService";
+  }
+
+  public final class DisconnectCause implements android.os.Parcelable {
+    ctor public DisconnectCause(int);
+    ctor public DisconnectCause(int, String);
+    ctor public DisconnectCause(int, CharSequence, CharSequence, String);
+    ctor public DisconnectCause(int, CharSequence, CharSequence, String, int);
+    method public int describeContents();
+    method public int getCode();
+    method public CharSequence getDescription();
+    method public CharSequence getLabel();
+    method public String getReason();
+    method public int getTone();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ANSWERED_ELSEWHERE = 11; // 0xb
+    field public static final int BUSY = 7; // 0x7
+    field public static final int CALL_PULLED = 12; // 0xc
+    field public static final int CANCELED = 4; // 0x4
+    field public static final int CONNECTION_MANAGER_NOT_SUPPORTED = 10; // 0xa
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.DisconnectCause> CREATOR;
+    field public static final int ERROR = 1; // 0x1
+    field public static final int LOCAL = 2; // 0x2
+    field public static final int MISSED = 5; // 0x5
+    field public static final int OTHER = 9; // 0x9
+    field public static final String REASON_EMERGENCY_CALL_PLACED = "REASON_EMERGENCY_CALL_PLACED";
+    field public static final String REASON_EMULATING_SINGLE_CALL = "EMULATING_SINGLE_CALL";
+    field public static final String REASON_IMS_ACCESS_BLOCKED = "REASON_IMS_ACCESS_BLOCKED";
+    field public static final String REASON_WIFI_ON_BUT_WFC_OFF = "REASON_WIFI_ON_BUT_WFC_OFF";
+    field public static final int REJECTED = 6; // 0x6
+    field public static final int REMOTE = 3; // 0x3
+    field public static final int RESTRICTED = 8; // 0x8
+    field public static final int UNKNOWN = 0; // 0x0
+  }
+
+  public class GatewayInfo implements android.os.Parcelable {
+    ctor public GatewayInfo(String, android.net.Uri, android.net.Uri);
+    method public int describeContents();
+    method public android.net.Uri getGatewayAddress();
+    method public String getGatewayProviderPackageName();
+    method public android.net.Uri getOriginalAddress();
+    method public boolean isEmpty();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.GatewayInfo> CREATOR;
+  }
+
+  public abstract class InCallService extends android.app.Service {
+    ctor public InCallService();
+    method public final boolean canAddCall();
+    method public final android.telecom.CallAudioState getCallAudioState();
+    method public final java.util.List<android.telecom.Call> getCalls();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onBringToForeground(boolean);
+    method public void onCallAdded(android.telecom.Call);
+    method public void onCallAudioStateChanged(android.telecom.CallAudioState);
+    method public void onCallRemoved(android.telecom.Call);
+    method public void onCanAddCallChanged(boolean);
+    method public void onConnectionEvent(android.telecom.Call, String, android.os.Bundle);
+    method public void onSilenceRinger();
+    method public final void requestBluetoothAudio(@NonNull android.bluetooth.BluetoothDevice);
+    method public final void setAudioRoute(int);
+    method public final void setMuted(boolean);
+    field public static final String SERVICE_INTERFACE = "android.telecom.InCallService";
+  }
+
+  public abstract static class InCallService.VideoCall {
+    ctor public InCallService.VideoCall();
+    method public abstract void registerCallback(android.telecom.InCallService.VideoCall.Callback);
+    method public abstract void registerCallback(android.telecom.InCallService.VideoCall.Callback, android.os.Handler);
+    method public abstract void requestCallDataUsage();
+    method public abstract void requestCameraCapabilities();
+    method public abstract void sendSessionModifyRequest(android.telecom.VideoProfile);
+    method public abstract void sendSessionModifyResponse(android.telecom.VideoProfile);
+    method public abstract void setCamera(String);
+    method public abstract void setDeviceOrientation(int);
+    method public abstract void setDisplaySurface(android.view.Surface);
+    method public abstract void setPauseImage(android.net.Uri);
+    method public abstract void setPreviewSurface(android.view.Surface);
+    method public abstract void setZoom(float);
+    method public abstract void unregisterCallback(android.telecom.InCallService.VideoCall.Callback);
+  }
+
+  public abstract static class InCallService.VideoCall.Callback {
+    ctor public InCallService.VideoCall.Callback();
+    method public abstract void onCallDataUsageChanged(long);
+    method public abstract void onCallSessionEvent(int);
+    method public abstract void onCameraCapabilitiesChanged(android.telecom.VideoProfile.CameraCapabilities);
+    method public abstract void onPeerDimensionsChanged(int, int);
+    method public abstract void onSessionModifyRequestReceived(android.telecom.VideoProfile);
+    method public abstract void onSessionModifyResponseReceived(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public abstract void onVideoQualityChanged(int);
+  }
+
+  public final class PhoneAccount implements android.os.Parcelable {
+    method public static android.telecom.PhoneAccount.Builder builder(android.telecom.PhoneAccountHandle, CharSequence);
+    method public int describeContents();
+    method public android.telecom.PhoneAccountHandle getAccountHandle();
+    method public android.net.Uri getAddress();
+    method public int getCapabilities();
+    method public android.os.Bundle getExtras();
+    method public int getHighlightColor();
+    method public android.graphics.drawable.Icon getIcon();
+    method public CharSequence getLabel();
+    method public CharSequence getShortDescription();
+    method public android.net.Uri getSubscriptionAddress();
+    method public java.util.List<java.lang.String> getSupportedUriSchemes();
+    method public boolean hasCapabilities(int);
+    method public boolean isEnabled();
+    method public boolean supportsUriScheme(String);
+    method public android.telecom.PhoneAccount.Builder toBuilder();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CAPABILITY_ADHOC_CONFERENCE_CALLING = 16384; // 0x4000
+    field public static final int CAPABILITY_CALL_COMPOSER = 32768; // 0x8000
+    field public static final int CAPABILITY_CALL_PROVIDER = 2; // 0x2
+    field public static final int CAPABILITY_CALL_SUBJECT = 64; // 0x40
+    field public static final int CAPABILITY_CONNECTION_MANAGER = 1; // 0x1
+    field public static final int CAPABILITY_PLACE_EMERGENCY_CALLS = 16; // 0x10
+    field public static final int CAPABILITY_RTT = 4096; // 0x1000
+    field public static final int CAPABILITY_SELF_MANAGED = 2048; // 0x800
+    field public static final int CAPABILITY_SIM_SUBSCRIPTION = 4; // 0x4
+    field public static final int CAPABILITY_SUPPORTS_VIDEO_CALLING = 1024; // 0x400
+    field public static final int CAPABILITY_VIDEO_CALLING = 8; // 0x8
+    field public static final int CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE = 256; // 0x100
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.PhoneAccount> CREATOR;
+    field public static final String EXTRA_ADD_SELF_MANAGED_CALLS_TO_INCALLSERVICE = "android.telecom.extra.ADD_SELF_MANAGED_CALLS_TO_INCALLSERVICE";
+    field public static final String EXTRA_ALWAYS_USE_VOIP_AUDIO_MODE = "android.telecom.extra.ALWAYS_USE_VOIP_AUDIO_MODE";
+    field public static final String EXTRA_CALL_SUBJECT_CHARACTER_ENCODING = "android.telecom.extra.CALL_SUBJECT_CHARACTER_ENCODING";
+    field public static final String EXTRA_CALL_SUBJECT_MAX_LENGTH = "android.telecom.extra.CALL_SUBJECT_MAX_LENGTH";
+    field public static final String EXTRA_LOG_SELF_MANAGED_CALLS = "android.telecom.extra.LOG_SELF_MANAGED_CALLS";
+    field public static final String EXTRA_SUPPORTS_HANDOVER_FROM = "android.telecom.extra.SUPPORTS_HANDOVER_FROM";
+    field public static final String EXTRA_SUPPORTS_HANDOVER_TO = "android.telecom.extra.SUPPORTS_HANDOVER_TO";
+    field public static final int NO_HIGHLIGHT_COLOR = 0; // 0x0
+    field public static final int NO_RESOURCE_ID = -1; // 0xffffffff
+    field public static final String SCHEME_SIP = "sip";
+    field public static final String SCHEME_TEL = "tel";
+    field public static final String SCHEME_VOICEMAIL = "voicemail";
+  }
+
+  public static class PhoneAccount.Builder {
+    ctor public PhoneAccount.Builder(android.telecom.PhoneAccountHandle, CharSequence);
+    ctor public PhoneAccount.Builder(android.telecom.PhoneAccount);
+    method public android.telecom.PhoneAccount.Builder addSupportedUriScheme(String);
+    method public android.telecom.PhoneAccount build();
+    method public android.telecom.PhoneAccount.Builder setAddress(android.net.Uri);
+    method public android.telecom.PhoneAccount.Builder setCapabilities(int);
+    method public android.telecom.PhoneAccount.Builder setExtras(android.os.Bundle);
+    method public android.telecom.PhoneAccount.Builder setHighlightColor(int);
+    method public android.telecom.PhoneAccount.Builder setIcon(android.graphics.drawable.Icon);
+    method public android.telecom.PhoneAccount.Builder setShortDescription(CharSequence);
+    method public android.telecom.PhoneAccount.Builder setSubscriptionAddress(android.net.Uri);
+    method public android.telecom.PhoneAccount.Builder setSupportedUriSchemes(java.util.List<java.lang.String>);
+  }
+
+  public final class PhoneAccountHandle implements android.os.Parcelable {
+    ctor public PhoneAccountHandle(@NonNull android.content.ComponentName, @NonNull String);
+    ctor public PhoneAccountHandle(@NonNull android.content.ComponentName, @NonNull String, @NonNull android.os.UserHandle);
+    method public int describeContents();
+    method public android.content.ComponentName getComponentName();
+    method public String getId();
+    method public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountHandle> CREATOR;
+  }
+
+  public final class PhoneAccountSuggestion implements android.os.Parcelable {
+    ctor public PhoneAccountSuggestion(@NonNull android.telecom.PhoneAccountHandle, int, boolean);
+    method public int describeContents();
+    method @NonNull public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
+    method public int getReason();
+    method public boolean shouldAutoSelect();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountSuggestion> CREATOR;
+    field public static final int REASON_FREQUENT = 2; // 0x2
+    field public static final int REASON_INTRA_CARRIER = 1; // 0x1
+    field public static final int REASON_NONE = 0; // 0x0
+    field public static final int REASON_OTHER = 4; // 0x4
+    field public static final int REASON_USER_SET = 3; // 0x3
+  }
+
+  public final class RemoteConference {
+    method public void disconnect();
+    method public java.util.List<android.telecom.RemoteConnection> getConferenceableConnections();
+    method public int getConnectionCapabilities();
+    method public int getConnectionProperties();
+    method public java.util.List<android.telecom.RemoteConnection> getConnections();
+    method public android.telecom.DisconnectCause getDisconnectCause();
+    method public android.os.Bundle getExtras();
+    method public int getState();
+    method public void hold();
+    method public void merge();
+    method public void playDtmfTone(char);
+    method public void registerCallback(android.telecom.RemoteConference.Callback);
+    method public void registerCallback(android.telecom.RemoteConference.Callback, android.os.Handler);
+    method public void separate(android.telecom.RemoteConnection);
+    method public void setCallAudioState(android.telecom.CallAudioState);
+    method public void stopDtmfTone();
+    method public void swap();
+    method public void unhold();
+    method public void unregisterCallback(android.telecom.RemoteConference.Callback);
+  }
+
+  public abstract static class RemoteConference.Callback {
+    ctor public RemoteConference.Callback();
+    method public void onConferenceableConnectionsChanged(android.telecom.RemoteConference, java.util.List<android.telecom.RemoteConnection>);
+    method public void onConnectionAdded(android.telecom.RemoteConference, android.telecom.RemoteConnection);
+    method public void onConnectionCapabilitiesChanged(android.telecom.RemoteConference, int);
+    method public void onConnectionPropertiesChanged(android.telecom.RemoteConference, int);
+    method public void onConnectionRemoved(android.telecom.RemoteConference, android.telecom.RemoteConnection);
+    method public void onDestroyed(android.telecom.RemoteConference);
+    method public void onDisconnected(android.telecom.RemoteConference, android.telecom.DisconnectCause);
+    method public void onExtrasChanged(android.telecom.RemoteConference, @Nullable android.os.Bundle);
+    method public void onStateChanged(android.telecom.RemoteConference, int, int);
+  }
+
+  public final class RemoteConnection {
+    method public void abort();
+    method public void addConferenceParticipants(@NonNull java.util.List<android.net.Uri>);
+    method public void answer();
+    method public void disconnect();
+    method public android.net.Uri getAddress();
+    method public int getAddressPresentation();
+    method public CharSequence getCallerDisplayName();
+    method public int getCallerDisplayNamePresentation();
+    method public android.telecom.RemoteConference getConference();
+    method public java.util.List<android.telecom.RemoteConnection> getConferenceableConnections();
+    method public int getConnectionCapabilities();
+    method public int getConnectionProperties();
+    method public android.telecom.DisconnectCause getDisconnectCause();
+    method public android.os.Bundle getExtras();
+    method public int getState();
+    method public android.telecom.StatusHints getStatusHints();
+    method public android.telecom.RemoteConnection.VideoProvider getVideoProvider();
+    method public int getVideoState();
+    method public void hold();
+    method public boolean isRingbackRequested();
+    method public boolean isVoipAudioMode();
+    method public void playDtmfTone(char);
+    method public void postDialContinue(boolean);
+    method public void pullExternalCall();
+    method public void registerCallback(android.telecom.RemoteConnection.Callback);
+    method public void registerCallback(android.telecom.RemoteConnection.Callback, android.os.Handler);
+    method public void reject();
+    method public void setCallAudioState(android.telecom.CallAudioState);
+    method public void stopDtmfTone();
+    method public void unhold();
+    method public void unregisterCallback(android.telecom.RemoteConnection.Callback);
+  }
+
+  public abstract static class RemoteConnection.Callback {
+    ctor public RemoteConnection.Callback();
+    method public void onAddressChanged(android.telecom.RemoteConnection, android.net.Uri, int);
+    method public void onCallerDisplayNameChanged(android.telecom.RemoteConnection, String, int);
+    method public void onConferenceChanged(android.telecom.RemoteConnection, android.telecom.RemoteConference);
+    method public void onConferenceableConnectionsChanged(android.telecom.RemoteConnection, java.util.List<android.telecom.RemoteConnection>);
+    method public void onConnectionCapabilitiesChanged(android.telecom.RemoteConnection, int);
+    method public void onConnectionEvent(android.telecom.RemoteConnection, String, android.os.Bundle);
+    method public void onConnectionPropertiesChanged(android.telecom.RemoteConnection, int);
+    method public void onDestroyed(android.telecom.RemoteConnection);
+    method public void onDisconnected(android.telecom.RemoteConnection, android.telecom.DisconnectCause);
+    method public void onExtrasChanged(android.telecom.RemoteConnection, @Nullable android.os.Bundle);
+    method public void onPostDialChar(android.telecom.RemoteConnection, char);
+    method public void onPostDialWait(android.telecom.RemoteConnection, String);
+    method public void onRingbackRequested(android.telecom.RemoteConnection, boolean);
+    method public void onStateChanged(android.telecom.RemoteConnection, int);
+    method public void onStatusHintsChanged(android.telecom.RemoteConnection, android.telecom.StatusHints);
+    method public void onVideoProviderChanged(android.telecom.RemoteConnection, android.telecom.RemoteConnection.VideoProvider);
+    method public void onVideoStateChanged(android.telecom.RemoteConnection, int);
+    method public void onVoipAudioChanged(android.telecom.RemoteConnection, boolean);
+  }
+
+  public static class RemoteConnection.VideoProvider {
+    method public void registerCallback(android.telecom.RemoteConnection.VideoProvider.Callback);
+    method public void requestCallDataUsage();
+    method public void requestCameraCapabilities();
+    method public void sendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public void sendSessionModifyResponse(android.telecom.VideoProfile);
+    method public void setCamera(String);
+    method public void setDeviceOrientation(int);
+    method public void setDisplaySurface(android.view.Surface);
+    method public void setPauseImage(android.net.Uri);
+    method public void setPreviewSurface(android.view.Surface);
+    method public void setZoom(float);
+    method public void unregisterCallback(android.telecom.RemoteConnection.VideoProvider.Callback);
+  }
+
+  public abstract static class RemoteConnection.VideoProvider.Callback {
+    ctor public RemoteConnection.VideoProvider.Callback();
+    method public void onCallDataUsageChanged(android.telecom.RemoteConnection.VideoProvider, long);
+    method public void onCallSessionEvent(android.telecom.RemoteConnection.VideoProvider, int);
+    method public void onCameraCapabilitiesChanged(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile.CameraCapabilities);
+    method public void onPeerDimensionsChanged(android.telecom.RemoteConnection.VideoProvider, int, int);
+    method public void onSessionModifyRequestReceived(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile);
+    method public void onSessionModifyResponseReceived(android.telecom.RemoteConnection.VideoProvider, int, android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public void onVideoQualityChanged(android.telecom.RemoteConnection.VideoProvider, int);
+  }
+
+  public final class StatusHints implements android.os.Parcelable {
+    ctor public StatusHints(CharSequence, android.graphics.drawable.Icon, android.os.Bundle);
+    method public int describeContents();
+    method public android.os.Bundle getExtras();
+    method public android.graphics.drawable.Icon getIcon();
+    method public CharSequence getLabel();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StatusHints> CREATOR;
+  }
+
+  public class TelecomManager {
+    method public void acceptHandover(android.net.Uri, int, android.telecom.PhoneAccountHandle);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ANSWER_PHONE_CALLS, android.Manifest.permission.MODIFY_PHONE_STATE}) public void acceptRingingCall();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ANSWER_PHONE_CALLS, android.Manifest.permission.MODIFY_PHONE_STATE}) public void acceptRingingCall(int);
+    method public void addNewIncomingCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
+    method public void addNewIncomingConference(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void cancelMissedCallsNotification();
+    method public android.content.Intent createManageBlockedNumbersIntent();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ANSWER_PHONE_CALLS) public boolean endCall();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.net.Uri getAdnUriForPhoneAccount(android.telecom.PhoneAccountHandle);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts();
+    method public String getDefaultDialerPackage();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telecom.PhoneAccountHandle getDefaultOutgoingPhoneAccount(String);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.READ_SMS, android.Manifest.permission.READ_PHONE_NUMBERS}, conditional=true) public String getLine1Number(android.telecom.PhoneAccountHandle);
+    method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getSelfManagedPhoneAccounts();
+    method public android.telecom.PhoneAccountHandle getSimCallManager();
+    method @Nullable public android.telecom.PhoneAccountHandle getSimCallManagerForSubscription(int);
+    method @Nullable public String getSystemDialerPackage();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telecom.PhoneAccountHandle getUserSelectedOutgoingPhoneAccount();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVoiceMailNumber(android.telecom.PhoneAccountHandle);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handleMmi(String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handleMmi(String, android.telecom.PhoneAccountHandle);
+    method public boolean hasManageOngoingCallsPermission();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isInCall();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isInManagedCall();
+    method public boolean isIncomingCallPermitted(android.telecom.PhoneAccountHandle);
+    method public boolean isOutgoingCallPermitted(android.telecom.PhoneAccountHandle);
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PHONE_STATE}) public boolean isTtySupported();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVoiceMailNumber(android.telecom.PhoneAccountHandle, String);
+    method @RequiresPermission(anyOf={android.Manifest.permission.CALL_PHONE, android.Manifest.permission.MANAGE_OWN_CALLS}) public void placeCall(android.net.Uri, android.os.Bundle);
+    method public void registerPhoneAccount(android.telecom.PhoneAccount);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void showInCallScreen(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void silenceRinger();
+    method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void startConference(@NonNull java.util.List<android.net.Uri>, @NonNull android.os.Bundle);
+    method public void unregisterPhoneAccount(android.telecom.PhoneAccountHandle);
+    field public static final String ACTION_CHANGE_DEFAULT_DIALER = "android.telecom.action.CHANGE_DEFAULT_DIALER";
+    field public static final String ACTION_CHANGE_PHONE_ACCOUNTS = "android.telecom.action.CHANGE_PHONE_ACCOUNTS";
+    field public static final String ACTION_CONFIGURE_PHONE_ACCOUNT = "android.telecom.action.CONFIGURE_PHONE_ACCOUNT";
+    field public static final String ACTION_DEFAULT_CALL_SCREENING_APP_CHANGED = "android.telecom.action.DEFAULT_CALL_SCREENING_APP_CHANGED";
+    field public static final String ACTION_DEFAULT_DIALER_CHANGED = "android.telecom.action.DEFAULT_DIALER_CHANGED";
+    field @Deprecated public static final String ACTION_INCOMING_CALL = "android.telecom.action.INCOMING_CALL";
+    field public static final String ACTION_PHONE_ACCOUNT_REGISTERED = "android.telecom.action.PHONE_ACCOUNT_REGISTERED";
+    field public static final String ACTION_PHONE_ACCOUNT_UNREGISTERED = "android.telecom.action.PHONE_ACCOUNT_UNREGISTERED";
+    field public static final String ACTION_POST_CALL = "android.telecom.action.POST_CALL";
+    field public static final String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS = "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS";
+    field public static final String ACTION_SHOW_CALL_SETTINGS = "android.telecom.action.SHOW_CALL_SETTINGS";
+    field public static final String ACTION_SHOW_MISSED_CALLS_NOTIFICATION = "android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION";
+    field public static final String ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS = "android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS";
+    field public static final char DTMF_CHARACTER_PAUSE = 44; // 0x002c ','
+    field public static final char DTMF_CHARACTER_WAIT = 59; // 0x003b ';'
+    field public static final int DURATION_LONG = 3; // 0x3
+    field public static final int DURATION_MEDIUM = 2; // 0x2
+    field public static final int DURATION_SHORT = 1; // 0x1
+    field public static final int DURATION_VERY_SHORT = 0; // 0x0
+    field public static final String EXTRA_CALL_BACK_NUMBER = "android.telecom.extra.CALL_BACK_NUMBER";
+    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telecom.extra.CALL_DISCONNECT_CAUSE";
+    field public static final String EXTRA_CALL_DISCONNECT_MESSAGE = "android.telecom.extra.CALL_DISCONNECT_MESSAGE";
+    field public static final String EXTRA_CALL_DURATION = "android.telecom.extra.CALL_DURATION";
+    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telecom.extra.CALL_NETWORK_TYPE";
+    field public static final String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
+    field public static final String EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME = "android.telecom.extra.CHANGE_DEFAULT_DIALER_PACKAGE_NAME";
+    field public static final String EXTRA_DEFAULT_CALL_SCREENING_APP_COMPONENT_NAME = "android.telecom.extra.DEFAULT_CALL_SCREENING_APP_COMPONENT_NAME";
+    field public static final String EXTRA_DISCONNECT_CAUSE = "android.telecom.extra.DISCONNECT_CAUSE";
+    field public static final String EXTRA_HANDLE = "android.telecom.extra.HANDLE";
+    field public static final String EXTRA_HAS_PICTURE = "android.telecom.extra.HAS_PICTURE";
+    field public static final String EXTRA_INCOMING_CALL_ADDRESS = "android.telecom.extra.INCOMING_CALL_ADDRESS";
+    field public static final String EXTRA_INCOMING_CALL_EXTRAS = "android.telecom.extra.INCOMING_CALL_EXTRAS";
+    field public static final String EXTRA_INCOMING_VIDEO_STATE = "android.telecom.extra.INCOMING_VIDEO_STATE";
+    field public static final String EXTRA_IS_DEFAULT_CALL_SCREENING_APP = "android.telecom.extra.IS_DEFAULT_CALL_SCREENING_APP";
+    field public static final String EXTRA_LOCATION = "android.telecom.extra.LOCATION";
+    field public static final String EXTRA_NOTIFICATION_COUNT = "android.telecom.extra.NOTIFICATION_COUNT";
+    field public static final String EXTRA_NOTIFICATION_PHONE_NUMBER = "android.telecom.extra.NOTIFICATION_PHONE_NUMBER";
+    field public static final String EXTRA_OUTGOING_CALL_EXTRAS = "android.telecom.extra.OUTGOING_CALL_EXTRAS";
+    field public static final String EXTRA_OUTGOING_PICTURE = "android.telecom.extra.OUTGOING_PICTURE";
+    field public static final String EXTRA_PHONE_ACCOUNT_HANDLE = "android.telecom.extra.PHONE_ACCOUNT_HANDLE";
+    field public static final String EXTRA_PICTURE_URI = "android.telecom.extra.PICTURE_URI";
+    field public static final String EXTRA_PRIORITY = "android.telecom.extra.PRIORITY";
+    field public static final String EXTRA_START_CALL_WITH_RTT = "android.telecom.extra.START_CALL_WITH_RTT";
+    field public static final String EXTRA_START_CALL_WITH_SPEAKERPHONE = "android.telecom.extra.START_CALL_WITH_SPEAKERPHONE";
+    field public static final String EXTRA_START_CALL_WITH_VIDEO_STATE = "android.telecom.extra.START_CALL_WITH_VIDEO_STATE";
+    field public static final String EXTRA_USE_ASSISTED_DIALING = "android.telecom.extra.USE_ASSISTED_DIALING";
+    field public static final String GATEWAY_ORIGINAL_ADDRESS = "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS";
+    field public static final String GATEWAY_PROVIDER_PACKAGE = "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE";
+    field public static final String METADATA_INCLUDE_EXTERNAL_CALLS = "android.telecom.INCLUDE_EXTERNAL_CALLS";
+    field public static final String METADATA_INCLUDE_SELF_MANAGED_CALLS = "android.telecom.INCLUDE_SELF_MANAGED_CALLS";
+    field public static final String METADATA_IN_CALL_SERVICE_CAR_MODE_UI = "android.telecom.IN_CALL_SERVICE_CAR_MODE_UI";
+    field public static final String METADATA_IN_CALL_SERVICE_RINGING = "android.telecom.IN_CALL_SERVICE_RINGING";
+    field public static final String METADATA_IN_CALL_SERVICE_UI = "android.telecom.IN_CALL_SERVICE_UI";
+    field public static final int PRESENTATION_ALLOWED = 1; // 0x1
+    field public static final int PRESENTATION_PAYPHONE = 4; // 0x4
+    field public static final int PRESENTATION_RESTRICTED = 2; // 0x2
+    field public static final int PRESENTATION_UNKNOWN = 3; // 0x3
+    field public static final int PRIORITY_NORMAL = 0; // 0x0
+    field public static final int PRIORITY_URGENT = 1; // 0x1
+  }
+
+  public class VideoProfile implements android.os.Parcelable {
+    ctor public VideoProfile(int);
+    ctor public VideoProfile(int, int);
+    method public int describeContents();
+    method public int getQuality();
+    method public int getVideoState();
+    method public static boolean isAudioOnly(int);
+    method public static boolean isBidirectional(int);
+    method public static boolean isPaused(int);
+    method public static boolean isReceptionEnabled(int);
+    method public static boolean isTransmissionEnabled(int);
+    method public static boolean isVideo(int);
+    method public static String videoStateToString(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.VideoProfile> CREATOR;
+    field public static final int QUALITY_DEFAULT = 4; // 0x4
+    field public static final int QUALITY_HIGH = 1; // 0x1
+    field public static final int QUALITY_LOW = 3; // 0x3
+    field public static final int QUALITY_MEDIUM = 2; // 0x2
+    field public static final int STATE_AUDIO_ONLY = 0; // 0x0
+    field public static final int STATE_BIDIRECTIONAL = 3; // 0x3
+    field public static final int STATE_PAUSED = 4; // 0x4
+    field public static final int STATE_RX_ENABLED = 2; // 0x2
+    field public static final int STATE_TX_ENABLED = 1; // 0x1
+  }
+
+  public static final class VideoProfile.CameraCapabilities implements android.os.Parcelable {
+    ctor public VideoProfile.CameraCapabilities(@IntRange(from=0) int, @IntRange(from=0) int);
+    ctor public VideoProfile.CameraCapabilities(@IntRange(from=0) int, @IntRange(from=0) int, boolean, @FloatRange(from=1.0f) float);
+    method public int describeContents();
+    method public int getHeight();
+    method public float getMaxZoom();
+    method public int getWidth();
+    method public boolean isZoomSupported();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.VideoProfile.CameraCapabilities> CREATOR;
+  }
+
+}
+
+package android.telephony {
+
+  public final class AccessNetworkConstants {
+    field public static final int TRANSPORT_TYPE_WLAN = 2; // 0x2
+    field public static final int TRANSPORT_TYPE_WWAN = 1; // 0x1
+  }
+
+  public static final class AccessNetworkConstants.AccessNetworkType {
+    field public static final int CDMA2000 = 4; // 0x4
+    field public static final int EUTRAN = 3; // 0x3
+    field public static final int GERAN = 1; // 0x1
+    field public static final int IWLAN = 5; // 0x5
+    field public static final int NGRAN = 6; // 0x6
+    field public static final int UNKNOWN = 0; // 0x0
+    field public static final int UTRAN = 2; // 0x2
+  }
+
+  public static final class AccessNetworkConstants.EutranBand {
+    field public static final int BAND_1 = 1; // 0x1
+    field public static final int BAND_10 = 10; // 0xa
+    field public static final int BAND_11 = 11; // 0xb
+    field public static final int BAND_12 = 12; // 0xc
+    field public static final int BAND_13 = 13; // 0xd
+    field public static final int BAND_14 = 14; // 0xe
+    field public static final int BAND_17 = 17; // 0x11
+    field public static final int BAND_18 = 18; // 0x12
+    field public static final int BAND_19 = 19; // 0x13
+    field public static final int BAND_2 = 2; // 0x2
+    field public static final int BAND_20 = 20; // 0x14
+    field public static final int BAND_21 = 21; // 0x15
+    field public static final int BAND_22 = 22; // 0x16
+    field public static final int BAND_23 = 23; // 0x17
+    field public static final int BAND_24 = 24; // 0x18
+    field public static final int BAND_25 = 25; // 0x19
+    field public static final int BAND_26 = 26; // 0x1a
+    field public static final int BAND_27 = 27; // 0x1b
+    field public static final int BAND_28 = 28; // 0x1c
+    field public static final int BAND_3 = 3; // 0x3
+    field public static final int BAND_30 = 30; // 0x1e
+    field public static final int BAND_31 = 31; // 0x1f
+    field public static final int BAND_33 = 33; // 0x21
+    field public static final int BAND_34 = 34; // 0x22
+    field public static final int BAND_35 = 35; // 0x23
+    field public static final int BAND_36 = 36; // 0x24
+    field public static final int BAND_37 = 37; // 0x25
+    field public static final int BAND_38 = 38; // 0x26
+    field public static final int BAND_39 = 39; // 0x27
+    field public static final int BAND_4 = 4; // 0x4
+    field public static final int BAND_40 = 40; // 0x28
+    field public static final int BAND_41 = 41; // 0x29
+    field public static final int BAND_42 = 42; // 0x2a
+    field public static final int BAND_43 = 43; // 0x2b
+    field public static final int BAND_44 = 44; // 0x2c
+    field public static final int BAND_45 = 45; // 0x2d
+    field public static final int BAND_46 = 46; // 0x2e
+    field public static final int BAND_47 = 47; // 0x2f
+    field public static final int BAND_48 = 48; // 0x30
+    field public static final int BAND_49 = 49; // 0x31
+    field public static final int BAND_5 = 5; // 0x5
+    field public static final int BAND_50 = 50; // 0x32
+    field public static final int BAND_51 = 51; // 0x33
+    field public static final int BAND_52 = 52; // 0x34
+    field public static final int BAND_53 = 53; // 0x35
+    field public static final int BAND_6 = 6; // 0x6
+    field public static final int BAND_65 = 65; // 0x41
+    field public static final int BAND_66 = 66; // 0x42
+    field public static final int BAND_68 = 68; // 0x44
+    field public static final int BAND_7 = 7; // 0x7
+    field public static final int BAND_70 = 70; // 0x46
+    field public static final int BAND_71 = 71; // 0x47
+    field public static final int BAND_72 = 72; // 0x48
+    field public static final int BAND_73 = 73; // 0x49
+    field public static final int BAND_74 = 74; // 0x4a
+    field public static final int BAND_8 = 8; // 0x8
+    field public static final int BAND_85 = 85; // 0x55
+    field public static final int BAND_87 = 87; // 0x57
+    field public static final int BAND_88 = 88; // 0x58
+    field public static final int BAND_9 = 9; // 0x9
+  }
+
+  public static final class AccessNetworkConstants.GeranBand {
+    field public static final int BAND_450 = 3; // 0x3
+    field public static final int BAND_480 = 4; // 0x4
+    field public static final int BAND_710 = 5; // 0x5
+    field public static final int BAND_750 = 6; // 0x6
+    field public static final int BAND_850 = 8; // 0x8
+    field public static final int BAND_DCS1800 = 12; // 0xc
+    field public static final int BAND_E900 = 10; // 0xa
+    field public static final int BAND_ER900 = 14; // 0xe
+    field public static final int BAND_P900 = 9; // 0x9
+    field public static final int BAND_PCS1900 = 13; // 0xd
+    field public static final int BAND_R900 = 11; // 0xb
+    field public static final int BAND_T380 = 1; // 0x1
+    field public static final int BAND_T410 = 2; // 0x2
+    field public static final int BAND_T810 = 7; // 0x7
+  }
+
+  public static final class AccessNetworkConstants.NgranBands {
+    field public static final int BAND_1 = 1; // 0x1
+    field public static final int BAND_12 = 12; // 0xc
+    field public static final int BAND_14 = 14; // 0xe
+    field public static final int BAND_18 = 18; // 0x12
+    field public static final int BAND_2 = 2; // 0x2
+    field public static final int BAND_20 = 20; // 0x14
+    field public static final int BAND_25 = 25; // 0x19
+    field public static final int BAND_257 = 257; // 0x101
+    field public static final int BAND_258 = 258; // 0x102
+    field public static final int BAND_26 = 26; // 0x1a
+    field public static final int BAND_260 = 260; // 0x104
+    field public static final int BAND_261 = 261; // 0x105
+    field public static final int BAND_28 = 28; // 0x1c
+    field public static final int BAND_29 = 29; // 0x1d
+    field public static final int BAND_3 = 3; // 0x3
+    field public static final int BAND_30 = 30; // 0x1e
+    field public static final int BAND_34 = 34; // 0x22
+    field public static final int BAND_38 = 38; // 0x26
+    field public static final int BAND_39 = 39; // 0x27
+    field public static final int BAND_40 = 40; // 0x28
+    field public static final int BAND_41 = 41; // 0x29
+    field public static final int BAND_46 = 46; // 0x2e
+    field public static final int BAND_48 = 48; // 0x30
+    field public static final int BAND_5 = 5; // 0x5
+    field public static final int BAND_50 = 50; // 0x32
+    field public static final int BAND_51 = 51; // 0x33
+    field public static final int BAND_53 = 53; // 0x35
+    field public static final int BAND_65 = 65; // 0x41
+    field public static final int BAND_66 = 66; // 0x42
+    field public static final int BAND_7 = 7; // 0x7
+    field public static final int BAND_70 = 70; // 0x46
+    field public static final int BAND_71 = 71; // 0x47
+    field public static final int BAND_74 = 74; // 0x4a
+    field public static final int BAND_75 = 75; // 0x4b
+    field public static final int BAND_76 = 76; // 0x4c
+    field public static final int BAND_77 = 77; // 0x4d
+    field public static final int BAND_78 = 78; // 0x4e
+    field public static final int BAND_79 = 79; // 0x4f
+    field public static final int BAND_8 = 8; // 0x8
+    field public static final int BAND_80 = 80; // 0x50
+    field public static final int BAND_81 = 81; // 0x51
+    field public static final int BAND_82 = 82; // 0x52
+    field public static final int BAND_83 = 83; // 0x53
+    field public static final int BAND_84 = 84; // 0x54
+    field public static final int BAND_86 = 86; // 0x56
+    field public static final int BAND_89 = 89; // 0x59
+    field public static final int BAND_90 = 90; // 0x5a
+    field public static final int BAND_91 = 91; // 0x5b
+    field public static final int BAND_92 = 92; // 0x5c
+    field public static final int BAND_93 = 93; // 0x5d
+    field public static final int BAND_94 = 94; // 0x5e
+    field public static final int BAND_95 = 95; // 0x5f
+    field public static final int BAND_96 = 96; // 0x60
+  }
+
+  public static final class AccessNetworkConstants.UtranBand {
+    field public static final int BAND_1 = 1; // 0x1
+    field public static final int BAND_10 = 10; // 0xa
+    field public static final int BAND_11 = 11; // 0xb
+    field public static final int BAND_12 = 12; // 0xc
+    field public static final int BAND_13 = 13; // 0xd
+    field public static final int BAND_14 = 14; // 0xe
+    field public static final int BAND_19 = 19; // 0x13
+    field public static final int BAND_2 = 2; // 0x2
+    field public static final int BAND_20 = 20; // 0x14
+    field public static final int BAND_21 = 21; // 0x15
+    field public static final int BAND_22 = 22; // 0x16
+    field public static final int BAND_25 = 25; // 0x19
+    field public static final int BAND_26 = 26; // 0x1a
+    field public static final int BAND_3 = 3; // 0x3
+    field public static final int BAND_4 = 4; // 0x4
+    field public static final int BAND_5 = 5; // 0x5
+    field public static final int BAND_6 = 6; // 0x6
+    field public static final int BAND_7 = 7; // 0x7
+    field public static final int BAND_8 = 8; // 0x8
+    field public static final int BAND_9 = 9; // 0x9
+    field public static final int BAND_A = 101; // 0x65
+    field public static final int BAND_B = 102; // 0x66
+    field public static final int BAND_C = 103; // 0x67
+    field public static final int BAND_D = 104; // 0x68
+    field public static final int BAND_E = 105; // 0x69
+    field public static final int BAND_F = 106; // 0x6a
+  }
+
+  public final class AvailableNetworkInfo implements android.os.Parcelable {
+    ctor public AvailableNetworkInfo(int, int, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<java.lang.Integer>);
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.Integer> getBands();
+    method @NonNull public java.util.List<java.lang.String> getMccMncs();
+    method public int getPriority();
+    method public int getSubId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.AvailableNetworkInfo> CREATOR;
+    field public static final int PRIORITY_HIGH = 1; // 0x1
+    field public static final int PRIORITY_LOW = 3; // 0x3
+    field public static final int PRIORITY_MED = 2; // 0x2
+  }
+
+  public final class BarringInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.telephony.BarringInfo.BarringServiceInfo getBarringServiceInfo(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int BARRING_SERVICE_TYPE_CS_FALLBACK = 5; // 0x5
+    field public static final int BARRING_SERVICE_TYPE_CS_SERVICE = 0; // 0x0
+    field public static final int BARRING_SERVICE_TYPE_CS_VOICE = 2; // 0x2
+    field public static final int BARRING_SERVICE_TYPE_EMERGENCY = 8; // 0x8
+    field public static final int BARRING_SERVICE_TYPE_MMTEL_VIDEO = 7; // 0x7
+    field public static final int BARRING_SERVICE_TYPE_MMTEL_VOICE = 6; // 0x6
+    field public static final int BARRING_SERVICE_TYPE_MO_DATA = 4; // 0x4
+    field public static final int BARRING_SERVICE_TYPE_MO_SIGNALLING = 3; // 0x3
+    field public static final int BARRING_SERVICE_TYPE_PS_SERVICE = 1; // 0x1
+    field public static final int BARRING_SERVICE_TYPE_SMS = 9; // 0x9
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.BarringInfo> CREATOR;
+  }
+
+  public static final class BarringInfo.BarringServiceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getBarringType();
+    method public int getConditionalBarringFactor();
+    method public int getConditionalBarringTimeSeconds();
+    method public boolean isBarred();
+    method public boolean isConditionallyBarred();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int BARRING_TYPE_CONDITIONAL = 1; // 0x1
+    field public static final int BARRING_TYPE_NONE = 0; // 0x0
+    field public static final int BARRING_TYPE_UNCONDITIONAL = 2; // 0x2
+    field public static final int BARRING_TYPE_UNKNOWN = -1; // 0xffffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.BarringInfo.BarringServiceInfo> CREATOR;
+  }
+
+  public class CarrierConfigManager {
+    method @Nullable public android.os.PersistableBundle getConfig();
+    method @Nullable public android.os.PersistableBundle getConfigByComponentForSubId(@NonNull String, int);
+    method @Nullable public android.os.PersistableBundle getConfigForSubId(int);
+    method public static boolean isConfigForIdentifiedCarrier(android.os.PersistableBundle);
+    method public void notifyConfigChangedForSubId(int);
+    field public static final String ACTION_CARRIER_CONFIG_CHANGED = "android.telephony.action.CARRIER_CONFIG_CHANGED";
+    field public static final int CARRIER_NR_AVAILABILITY_NSA = 1; // 0x1
+    field public static final int CARRIER_NR_AVAILABILITY_SA = 2; // 0x2
+    field public static final int CROSS_SIM_SPN_FORMAT_CARRIER_NAME_ONLY = 0; // 0x0
+    field public static final int CROSS_SIM_SPN_FORMAT_CARRIER_NAME_WITH_BRANDING = 1; // 0x1
+    field public static final int DATA_CYCLE_THRESHOLD_DISABLED = -2; // 0xfffffffe
+    field public static final int DATA_CYCLE_USE_PLATFORM_DEFAULT = -1; // 0xffffffff
+    field public static final String ENABLE_EAP_METHOD_PREFIX_BOOL = "enable_eap_method_prefix_bool";
+    field public static final String EXTRA_REBROADCAST_ON_UNLOCK = "android.telephony.extra.REBROADCAST_ON_UNLOCK";
+    field public static final String EXTRA_SLOT_INDEX = "android.telephony.extra.SLOT_INDEX";
+    field public static final String EXTRA_SUBSCRIPTION_INDEX = "android.telephony.extra.SUBSCRIPTION_INDEX";
+    field public static final String IMSI_KEY_AVAILABILITY_INT = "imsi_key_availability_int";
+    field public static final String KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAY = "5g_nr_ssrsrp_thresholds_int_array";
+    field public static final String KEY_5G_NR_SSRSRQ_THRESHOLDS_INT_ARRAY = "5g_nr_ssrsrq_thresholds_int_array";
+    field public static final String KEY_5G_NR_SSSINR_THRESHOLDS_INT_ARRAY = "5g_nr_sssinr_thresholds_int_array";
+    field public static final String KEY_ADDITIONAL_CALL_SETTING_BOOL = "additional_call_setting_bool";
+    field public static final String KEY_ALLOW_ADDING_APNS_BOOL = "allow_adding_apns_bool";
+    field public static final String KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL = "allow_add_call_during_video_call";
+    field public static final String KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL = "allow_emergency_numbers_in_call_log_bool";
+    field public static final String KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL = "allow_emergency_video_calls_bool";
+    field public static final String KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL = "allow_hold_call_during_emergency_bool";
+    field public static final String KEY_ALLOW_HOLD_VIDEO_CALL_BOOL = "allow_hold_video_call_bool";
+    field public static final String KEY_ALLOW_LOCAL_DTMF_TONES_BOOL = "allow_local_dtmf_tones_bool";
+    field public static final String KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL = "allow_merge_wifi_calls_when_vowifi_off_bool";
+    field public static final String KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL = "allow_non_emergency_calls_in_ecm_bool";
+    field public static final String KEY_ALLOW_VIDEO_CALLING_FALLBACK_BOOL = "allow_video_calling_fallback_bool";
+    field public static final String KEY_ALWAYS_SHOW_DATA_RAT_ICON_BOOL = "always_show_data_rat_icon_bool";
+    field @Deprecated public static final String KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL = "always_show_emergency_alert_onoff_bool";
+    field public static final String KEY_ALWAYS_SHOW_PRIMARY_SIGNAL_BAR_IN_OPPORTUNISTIC_NETWORK_BOOLEAN = "always_show_primary_signal_bar_in_opportunistic_network_boolean";
+    field public static final String KEY_APN_EXPAND_BOOL = "apn_expand_bool";
+    field public static final String KEY_APN_SETTINGS_DEFAULT_APN_TYPES_STRING_ARRAY = "apn_settings_default_apn_types_string_array";
+    field public static final String KEY_AUTO_RETRY_ENABLED_BOOL = "auto_retry_enabled_bool";
+    field public static final String KEY_CALL_BARRING_DEFAULT_SERVICE_CLASS_INT = "call_barring_default_service_class_int";
+    field public static final String KEY_CALL_BARRING_SUPPORTS_DEACTIVATE_ALL_BOOL = "call_barring_supports_deactivate_all_bool";
+    field public static final String KEY_CALL_BARRING_SUPPORTS_PASSWORD_CHANGE_BOOL = "call_barring_supports_password_change_bool";
+    field public static final String KEY_CALL_BARRING_VISIBILITY_BOOL = "call_barring_visibility_bool";
+    field public static final String KEY_CALL_COMPOSER_PICTURE_SERVER_URL_STRING = "call_composer_picture_server_url_string";
+    field public static final String KEY_CALL_FORWARDING_BLOCKS_WHILE_ROAMING_STRING_ARRAY = "call_forwarding_blocks_while_roaming_string_array";
+    field public static final String KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING = "call_redirection_service_component_name_string";
+    field public static final String KEY_CARRIER_ALLOW_DEFLECT_IMS_CALL_BOOL = "carrier_allow_deflect_ims_call_bool";
+    field public static final String KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL = "carrier_allow_turnoff_ims_bool";
+    field public static final String KEY_CARRIER_APP_REQUIRED_DURING_SIM_SETUP_BOOL = "carrier_app_required_during_setup_bool";
+    field public static final String KEY_CARRIER_CALL_SCREENING_APP_STRING = "call_screening_app";
+    field public static final String KEY_CARRIER_CERTIFICATE_STRING_ARRAY = "carrier_certificate_string_array";
+    field public static final String KEY_CARRIER_CONFIG_APPLIED_BOOL = "carrier_config_applied_bool";
+    field public static final String KEY_CARRIER_CONFIG_VERSION_STRING = "carrier_config_version_string";
+    field public static final String KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL = "carrier_cross_sim_ims_available_bool";
+    field public static final String KEY_CARRIER_DATA_CALL_PERMANENT_FAILURE_STRINGS = "carrier_data_call_permanent_failure_strings";
+    field public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY = "carrier_default_actions_on_dcfailure_string_array";
+    field public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE = "carrier_default_actions_on_default_network_available_string_array";
+    field public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY = "carrier_default_actions_on_redirection_string_array";
+    field public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET = "carrier_default_actions_on_reset_string_array";
+    field public static final String KEY_CARRIER_DEFAULT_REDIRECTION_URL_STRING_ARRAY = "carrier_default_redirection_url_string_array";
+    field public static final String KEY_CARRIER_DEFAULT_WFC_IMS_ENABLED_BOOL = "carrier_default_wfc_ims_enabled_bool";
+    field public static final String KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT = "carrier_default_wfc_ims_mode_int";
+    field public static final String KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT = "carrier_default_wfc_ims_roaming_mode_int";
+    field @Deprecated public static final String KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL = "carrier_force_disable_etws_cmas_test_bool";
+    field public static final String KEY_CARRIER_IMS_GBA_REQUIRED_BOOL = "carrier_ims_gba_required_bool";
+    field public static final String KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL = "carrier_instant_lettering_available_bool";
+    field public static final String KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING = "carrier_instant_lettering_encoding_string";
+    field public static final String KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING = "carrier_instant_lettering_escaped_chars_string";
+    field public static final String KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING = "carrier_instant_lettering_invalid_chars_string";
+    field public static final String KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT = "carrier_instant_lettering_length_limit_int";
+    field public static final String KEY_CARRIER_NAME_OVERRIDE_BOOL = "carrier_name_override_bool";
+    field public static final String KEY_CARRIER_NAME_STRING = "carrier_name_string";
+    field public static final String KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY = "carrier_nr_availabilities_int_array";
+    field public static final String KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL = "carrier_provisions_wifi_merged_networks_bool";
+    field public static final String KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL = "carrier_rcs_provisioning_required_bool";
+    field public static final String KEY_CARRIER_SETTINGS_ACTIVITY_COMPONENT_NAME_STRING = "carrier_settings_activity_component_name_string";
+    field public static final String KEY_CARRIER_SETTINGS_ENABLE_BOOL = "carrier_settings_enable_bool";
+    field public static final String KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL = "carrier_supports_ss_over_ut_bool";
+    field public static final String KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL = "carrier_use_ims_first_for_emergency_bool";
+    field public static final String KEY_CARRIER_USSD_METHOD_INT = "carrier_ussd_method_int";
+    field public static final String KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL = "carrier_ut_provisioning_required_bool";
+    field public static final String KEY_CARRIER_VOLTE_AVAILABLE_BOOL = "carrier_volte_available_bool";
+    field public static final String KEY_CARRIER_VOLTE_OVERRIDE_WFC_PROVISIONING_BOOL = "carrier_volte_override_wfc_provisioning_bool";
+    field public static final String KEY_CARRIER_VOLTE_PROVISIONED_BOOL = "carrier_volte_provisioned_bool";
+    field public static final String KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL = "carrier_volte_provisioning_required_bool";
+    field public static final String KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL = "carrier_volte_tty_supported_bool";
+    field public static final String KEY_CARRIER_VT_AVAILABLE_BOOL = "carrier_vt_available_bool";
+    field @Deprecated public static final String KEY_CARRIER_VVM_PACKAGE_NAME_STRING = "carrier_vvm_package_name_string";
+    field public static final String KEY_CARRIER_VVM_PACKAGE_NAME_STRING_ARRAY = "carrier_vvm_package_name_string_array";
+    field public static final String KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL = "carrier_wfc_ims_available_bool";
+    field public static final String KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL = "carrier_wfc_supports_wifi_only_bool";
+    field public static final String KEY_CDMA_3WAYCALL_FLASH_DELAY_INT = "cdma_3waycall_flash_delay_int";
+    field public static final String KEY_CDMA_DTMF_TONE_DELAY_INT = "cdma_dtmf_tone_delay_int";
+    field public static final String KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY = "cdma_nonroaming_networks_string_array";
+    field public static final String KEY_CDMA_ROAMING_MODE_INT = "cdma_roaming_mode_int";
+    field public static final String KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY = "cdma_roaming_networks_string_array";
+    field public static final String KEY_CHECK_PRICING_WITH_CARRIER_FOR_DATA_ROAMING_BOOL = "check_pricing_with_carrier_data_roaming_bool";
+    field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_BOOL = "ci_action_on_sys_update_bool";
+    field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING = "ci_action_on_sys_update_extra_string";
+    field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING = "ci_action_on_sys_update_extra_val_string";
+    field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING = "ci_action_on_sys_update_intent_string";
+    field public static final String KEY_CONFIG_IMS_MMTEL_PACKAGE_OVERRIDE_STRING = "config_ims_mmtel_package_override_string";
+    field @Deprecated public static final String KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING = "config_ims_package_override_string";
+    field public static final String KEY_CONFIG_IMS_RCS_PACKAGE_OVERRIDE_STRING = "config_ims_rcs_package_override_string";
+    field public static final String KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING = "config_plans_package_override_string";
+    field public static final String KEY_CONFIG_TELEPHONY_USE_OWN_NUMBER_FOR_VOICEMAIL_BOOL = "config_telephony_use_own_number_for_voicemail_bool";
+    field public static final String KEY_CONFIG_WIFI_DISABLE_IN_ECBM = "config_wifi_disable_in_ecbm";
+    field public static final String KEY_CROSS_SIM_SPN_FORMAT_INT = "cross_sim_spn_format_int";
+    field public static final String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool";
+    field public static final String KEY_DATA_LIMIT_NOTIFICATION_BOOL = "data_limit_notification_bool";
+    field public static final String KEY_DATA_LIMIT_THRESHOLD_BYTES_LONG = "data_limit_threshold_bytes_long";
+    field public static final String KEY_DATA_RAPID_NOTIFICATION_BOOL = "data_rapid_notification_bool";
+    field public static final String KEY_DATA_SWITCH_VALIDATION_TIMEOUT_LONG = "data_switch_validation_timeout_long";
+    field public static final String KEY_DATA_WARNING_NOTIFICATION_BOOL = "data_warning_notification_bool";
+    field public static final String KEY_DATA_WARNING_THRESHOLD_BYTES_LONG = "data_warning_threshold_bytes_long";
+    field public static final String KEY_DEFAULT_SIM_CALL_MANAGER_STRING = "default_sim_call_manager_string";
+    field public static final String KEY_DEFAULT_VM_NUMBER_ROAMING_AND_IMS_UNREGISTERED_STRING = "default_vm_number_roaming_and_ims_unregistered_string";
+    field public static final String KEY_DEFAULT_VM_NUMBER_STRING = "default_vm_number_string";
+    field public static final String KEY_DIAL_STRING_REPLACE_STRING_ARRAY = "dial_string_replace_string_array";
+    field public static final String KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL = "disable_cdma_activation_code_bool";
+    field public static final String KEY_DISABLE_CHARGE_INDICATION_BOOL = "disable_charge_indication_bool";
+    field public static final String KEY_DISABLE_SUPPLEMENTARY_SERVICES_IN_AIRPLANE_MODE_BOOL = "disable_supplementary_services_in_airplane_mode_bool";
+    field public static final String KEY_DISCONNECT_CAUSE_PLAY_BUSYTONE_INT_ARRAY = "disconnect_cause_play_busytone_int_array";
+    field public static final String KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL = "display_call_strength_indicator_bool";
+    field public static final String KEY_DISPLAY_HD_AUDIO_PROPERTY_BOOL = "display_hd_audio_property_bool";
+    field public static final String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL = "drop_video_call_when_answering_audio_call_bool";
+    field public static final String KEY_DTMF_TYPE_ENABLED_BOOL = "dtmf_type_enabled_bool";
+    field public static final String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int";
+    field public static final String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool";
+    field public static final String KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL = "editable_voicemail_number_bool";
+    field public static final String KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL = "editable_voicemail_number_setting_bool";
+    field public static final String KEY_EDITABLE_WFC_MODE_BOOL = "editable_wfc_mode_bool";
+    field public static final String KEY_EDITABLE_WFC_ROAMING_MODE_BOOL = "editable_wfc_roaming_mode_bool";
+    field public static final String KEY_EMERGENCY_NOTIFICATION_DELAY_INT = "emergency_notification_delay_int";
+    field public static final String KEY_EMERGENCY_NUMBER_PREFIX_STRING_ARRAY = "emergency_number_prefix_string_array";
+    field public static final String KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL = "enable_dialer_key_vibration_bool";
+    field public static final String KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL = "enhanced_4g_lte_on_by_default_bool";
+    field public static final String KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT = "enhanced_4g_lte_title_variant_int";
+    field public static final String KEY_FORCE_HOME_NETWORK_BOOL = "force_home_network_bool";
+    field public static final String KEY_GSM_DTMF_TONE_DELAY_INT = "gsm_dtmf_tone_delay_int";
+    field public static final String KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY = "gsm_nonroaming_networks_string_array";
+    field public static final String KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY = "gsm_roaming_networks_string_array";
+    field public static final String KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL = "has_in_call_noise_suppression_bool";
+    field public static final String KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL = "hide_carrier_network_settings_bool";
+    field public static final String KEY_HIDE_ENABLE_2G = "hide_enable_2g_bool";
+    field public static final String KEY_HIDE_ENHANCED_4G_LTE_BOOL = "hide_enhanced_4g_lte_bool";
+    field public static final String KEY_HIDE_IMS_APN_BOOL = "hide_ims_apn_bool";
+    field public static final String KEY_HIDE_LTE_PLUS_DATA_ICON_BOOL = "hide_lte_plus_data_icon_bool";
+    field public static final String KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL = "hide_preferred_network_type_bool";
+    field public static final String KEY_HIDE_PRESET_APN_DETAILS_BOOL = "hide_preset_apn_details_bool";
+    field public static final String KEY_HIDE_SIM_LOCK_SETTINGS_BOOL = "hide_sim_lock_settings_bool";
+    field public static final String KEY_HIDE_TTY_HCO_VCO_WITH_RTT_BOOL = "hide_tty_hco_vco_with_rtt";
+    field public static final String KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS = "ignore_data_enabled_changed_for_video_calls";
+    field public static final String KEY_IGNORE_RTT_MODE_SETTING_BOOL = "ignore_rtt_mode_setting_bool";
+    field public static final String KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL = "ignore_sim_network_locked_events_bool";
+    field public static final String KEY_IMS_CONFERENCE_SIZE_LIMIT_INT = "ims_conference_size_limit_int";
+    field public static final String KEY_IMS_DTMF_TONE_DELAY_INT = "ims_dtmf_tone_delay_int";
+    field public static final String KEY_IS_IMS_CONFERENCE_SIZE_ENFORCED_BOOL = "is_ims_conference_size_enforced_bool";
+    field public static final String KEY_LTE_ENABLED_BOOL = "lte_enabled_bool";
+    field public static final String KEY_LTE_RSRQ_THRESHOLDS_INT_ARRAY = "lte_rsrq_thresholds_int_array";
+    field public static final String KEY_LTE_RSSNR_THRESHOLDS_INT_ARRAY = "lte_rssnr_thresholds_int_array";
+    field public static final String KEY_MDN_IS_ADDITIONAL_VOICEMAIL_NUMBER_BOOL = "mdn_is_additional_voicemail_number_bool";
+    field public static final String KEY_MMS_ALIAS_ENABLED_BOOL = "aliasEnabled";
+    field public static final String KEY_MMS_ALIAS_MAX_CHARS_INT = "aliasMaxChars";
+    field public static final String KEY_MMS_ALIAS_MIN_CHARS_INT = "aliasMinChars";
+    field public static final String KEY_MMS_ALLOW_ATTACH_AUDIO_BOOL = "allowAttachAudio";
+    field public static final String KEY_MMS_APPEND_TRANSACTION_ID_BOOL = "enabledTransID";
+    field public static final String KEY_MMS_CLOSE_CONNECTION_BOOL = "mmsCloseConnection";
+    field public static final String KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING = "emailGatewayNumber";
+    field public static final String KEY_MMS_GROUP_MMS_ENABLED_BOOL = "enableGroupMms";
+    field public static final String KEY_MMS_HTTP_PARAMS_STRING = "httpParams";
+    field public static final String KEY_MMS_HTTP_SOCKET_TIMEOUT_INT = "httpSocketTimeout";
+    field public static final String KEY_MMS_MAX_IMAGE_HEIGHT_INT = "maxImageHeight";
+    field public static final String KEY_MMS_MAX_IMAGE_WIDTH_INT = "maxImageWidth";
+    field public static final String KEY_MMS_MAX_MESSAGE_SIZE_INT = "maxMessageSize";
+    field public static final String KEY_MMS_MESSAGE_TEXT_MAX_SIZE_INT = "maxMessageTextSize";
+    field public static final String KEY_MMS_MMS_DELIVERY_REPORT_ENABLED_BOOL = "enableMMSDeliveryReports";
+    field public static final String KEY_MMS_MMS_ENABLED_BOOL = "enabledMMS";
+    field public static final String KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL = "enableMMSReadReports";
+    field public static final String KEY_MMS_MULTIPART_SMS_ENABLED_BOOL = "enableMultipartSMS";
+    field public static final String KEY_MMS_NAI_SUFFIX_STRING = "naiSuffix";
+    field public static final String KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL = "enabledNotifyWapMMSC";
+    field public static final String KEY_MMS_RECIPIENT_LIMIT_INT = "recipientLimit";
+    field public static final String KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL = "sendMultipartSmsAsSeparateMessages";
+    field public static final String KEY_MMS_SHOW_CELL_BROADCAST_APP_LINKS_BOOL = "config_cellBroadcastAppLinks";
+    field public static final String KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL = "enableSMSDeliveryReports";
+    field public static final String KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT = "smsToMmsTextLengthThreshold";
+    field public static final String KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT = "smsToMmsTextThreshold";
+    field public static final String KEY_MMS_SUBJECT_MAX_LENGTH_INT = "maxSubjectLength";
+    field public static final String KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL = "supportHttpCharsetHeader";
+    field public static final String KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL = "supportMmsContentDisposition";
+    field public static final String KEY_MMS_UA_PROF_TAG_NAME_STRING = "uaProfTagName";
+    field public static final String KEY_MMS_UA_PROF_URL_STRING = "uaProfUrl";
+    field public static final String KEY_MMS_USER_AGENT_STRING = "userAgent";
+    field public static final String KEY_MONTHLY_DATA_CYCLE_DAY_INT = "monthly_data_cycle_day_int";
+    field public static final String KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL = "only_auto_select_in_home_network";
+    field public static final String KEY_ONLY_SINGLE_DC_ALLOWED_INT_ARRAY = "only_single_dc_allowed_int_array";
+    field public static final String KEY_OPERATOR_SELECTION_EXPAND_BOOL = "operator_selection_expand_bool";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG = "opportunistic_network_backoff_time_long";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_EXIT_HYSTERESIS_TIME_LONG = "opportunistic_network_data_switch_exit_hysteresis_time_long";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_HYSTERESIS_TIME_LONG = "opportunistic_network_data_switch_hysteresis_time_long";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_ENTRY_OR_EXIT_HYSTERESIS_TIME_LONG = "opportunistic_network_entry_or_exit_hysteresis_time_long";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_BANDWIDTH_INT = "opportunistic_network_entry_threshold_bandwidth_int";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_RSRP_INT = "opportunistic_network_entry_threshold_rsrp_int";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_RSSNR_INT = "opportunistic_network_entry_threshold_rssnr_int";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSRP_INT = "opportunistic_network_exit_threshold_rsrp_int";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSSNR_INT = "opportunistic_network_exit_threshold_rssnr_int";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG = "opportunistic_network_max_backoff_time_long";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_PING_PONG_TIME_LONG = "opportunistic_network_ping_pong_time_long";
+    field public static final String KEY_PING_TEST_BEFORE_DATA_SWITCH_BOOL = "ping_test_before_data_switch_bool";
+    field public static final String KEY_PREFER_2G_BOOL = "prefer_2g_bool";
+    field public static final String KEY_PREVENT_CLIR_ACTIVATION_AND_DEACTIVATION_CODE_BOOL = "prevent_clir_activation_and_deactivation_code_bool";
+    field public static final String KEY_RADIO_RESTART_FAILURE_CAUSES_INT_ARRAY = "radio_restart_failure_causes_int_array";
+    field public static final String KEY_RCS_CONFIG_SERVER_URL_STRING = "rcs_config_server_url_string";
+    field public static final String KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY = "read_only_apn_fields_string_array";
+    field public static final String KEY_READ_ONLY_APN_TYPES_STRING_ARRAY = "read_only_apn_types_string_array";
+    field public static final String KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL = "require_entitlement_checks_bool";
+    field @Deprecated public static final String KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL = "restart_radio_on_pdp_fail_regular_deactivation_bool";
+    field public static final String KEY_RTT_AUTO_UPGRADE_BOOL = "rtt_auto_upgrade_bool";
+    field public static final String KEY_RTT_DOWNGRADE_SUPPORTED_BOOL = "rtt_downgrade_supported_bool";
+    field public static final String KEY_RTT_SUPPORTED_BOOL = "rtt_supported_bool";
+    field public static final String KEY_RTT_SUPPORTED_FOR_VT_BOOL = "rtt_supported_for_vt_bool";
+    field public static final String KEY_RTT_SUPPORTED_WHILE_ROAMING_BOOL = "rtt_supported_while_roaming_bool";
+    field public static final String KEY_RTT_UPGRADE_SUPPORTED_BOOL = "rtt_upgrade_supported_bool";
+    field public static final String KEY_RTT_UPGRADE_SUPPORTED_FOR_DOWNGRADED_VT_CALL_BOOL = "rtt_upgrade_supported_for_downgraded_vt_call";
+    field public static final String KEY_SHOW_4G_FOR_3G_DATA_ICON_BOOL = "show_4g_for_3g_data_icon_bool";
+    field public static final String KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL = "show_4g_for_lte_data_icon_bool";
+    field public static final String KEY_SHOW_APN_SETTING_CDMA_BOOL = "show_apn_setting_cdma_bool";
+    field public static final String KEY_SHOW_BLOCKING_PAY_PHONE_OPTION_BOOL = "show_blocking_pay_phone_option_bool";
+    field public static final String KEY_SHOW_CALL_BLOCKING_DISABLED_NOTIFICATION_ALWAYS_BOOL = "show_call_blocking_disabled_notification_always_bool";
+    field public static final String KEY_SHOW_CDMA_CHOICES_BOOL = "show_cdma_choices_bool";
+    field public static final String KEY_SHOW_FORWARDED_NUMBER_BOOL = "show_forwarded_number_bool";
+    field public static final String KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL = "show_iccid_in_sim_status_bool";
+    field public static final String KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL = "show_ims_registration_status_bool";
+    field public static final String KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL = "show_onscreen_dial_button_bool";
+    field public static final String KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL = "show_signal_strength_in_sim_status_bool";
+    field public static final String KEY_SHOW_VIDEO_CALL_CHARGES_ALERT_DIALOG_BOOL = "show_video_call_charges_alert_dialog_bool";
+    field public static final String KEY_SHOW_WFC_LOCATION_PRIVACY_POLICY_BOOL = "show_wfc_location_privacy_policy_bool";
+    field public static final String KEY_SIMPLIFIED_NETWORK_SETTINGS_BOOL = "simplified_network_settings_bool";
+    field public static final String KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL = "sim_network_unlock_allow_dismiss_bool";
+    field public static final String KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL = "sms_requires_destination_number_conversion_bool";
+    field public static final String KEY_SUPPORTS_CALL_COMPOSER_BOOL = "supports_call_composer_bool";
+    field public static final String KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_DTMF_BOOL = "supports_device_to_device_communication_using_dtmf_bool";
+    field public static final String KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_RTP_BOOL = "supports_device_to_device_communication_using_rtp_bool";
+    field public static final String KEY_SUPPORTS_SDP_NEGOTIATION_OF_D2D_RTP_HEADER_EXTENSIONS_BOOL = "supports_sdp_negotiation_of_d2d_rtp_header_extensions_bool";
+    field public static final String KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL = "support_3gpp_call_forwarding_while_roaming_bool";
+    field public static final String KEY_SUPPORT_ADD_CONFERENCE_PARTICIPANTS_BOOL = "support_add_conference_participants_bool";
+    field public static final String KEY_SUPPORT_ADHOC_CONFERENCE_CALLS_BOOL = "support_adhoc_conference_calls_bool";
+    field public static final String KEY_SUPPORT_CLIR_NETWORK_DEFAULT_BOOL = "support_clir_network_default_bool";
+    field public static final String KEY_SUPPORT_CONFERENCE_CALL_BOOL = "support_conference_call_bool";
+    field public static final String KEY_SUPPORT_EMERGENCY_SMS_OVER_IMS_BOOL = "support_emergency_sms_over_ims_bool";
+    field public static final String KEY_SUPPORT_ENHANCED_CALL_BLOCKING_BOOL = "support_enhanced_call_blocking_bool";
+    field public static final String KEY_SUPPORT_IMS_CONFERENCE_EVENT_PACKAGE_BOOL = "support_ims_conference_event_package_bool";
+    field public static final String KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL = "support_pause_ims_video_calls_bool";
+    field public static final String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL = "support_swap_after_merge_bool";
+    field public static final String KEY_SUPPORT_TDSCDMA_BOOL = "support_tdscdma_bool";
+    field public static final String KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY = "support_tdscdma_roaming_networks_string_array";
+    field public static final String KEY_SWITCH_DATA_TO_PRIMARY_IF_PRIMARY_IS_OOS_BOOL = "switch_data_to_primary_if_primary_is_oos_bool";
+    field public static final String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL = "treat_downgraded_video_calls_as_video_calls_bool";
+    field public static final String KEY_TTY_SUPPORTED_BOOL = "tty_supported_bool";
+    field public static final String KEY_UNLOGGABLE_NUMBERS_STRING_ARRAY = "unloggable_numbers_string_array";
+    field public static final String KEY_USE_ACS_FOR_RCS_BOOL = "use_acs_for_rcs_bool";
+    field public static final String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool";
+    field public static final String KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL = "use_ip_for_calling_indicator_bool";
+    field public static final String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool";
+    field @Deprecated public static final String KEY_USE_RCS_PRESENCE_BOOL = "use_rcs_presence_bool";
+    field public static final String KEY_USE_RCS_SIP_OPTIONS_BOOL = "use_rcs_sip_options_bool";
+    field public static final String KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL = "use_wfc_home_network_mode_in_roaming_network_bool";
+    field public static final String KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL = "voicemail_notification_persistent_bool";
+    field public static final String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL = "voice_privacy_disable_ui_bool";
+    field public static final String KEY_VOLTE_REPLACEMENT_RAT_INT = "volte_replacement_rat_int";
+    field public static final String KEY_VT_UPGRADE_SUPPORTED_FOR_DOWNGRADED_RTT_CALL_BOOL = "vt_upgrade_supported_for_downgraded_rtt_call";
+    field public static final String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = "vvm_cellular_data_required_bool";
+    field public static final String KEY_VVM_CLIENT_PREFIX_STRING = "vvm_client_prefix_string";
+    field public static final String KEY_VVM_DESTINATION_NUMBER_STRING = "vvm_destination_number_string";
+    field public static final String KEY_VVM_DISABLED_CAPABILITIES_STRING_ARRAY = "vvm_disabled_capabilities_string_array";
+    field public static final String KEY_VVM_LEGACY_MODE_ENABLED_BOOL = "vvm_legacy_mode_enabled_bool";
+    field public static final String KEY_VVM_PORT_NUMBER_INT = "vvm_port_number_int";
+    field public static final String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch_bool";
+    field public static final String KEY_VVM_SSL_ENABLED_BOOL = "vvm_ssl_enabled_bool";
+    field public static final String KEY_VVM_TYPE_STRING = "vvm_type_string";
+    field public static final String KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING = "wfc_emergency_address_carrier_app_string";
+    field public static final String KEY_WORLD_MODE_ENABLED_BOOL = "world_mode_enabled_bool";
+    field public static final String KEY_WORLD_PHONE_BOOL = "world_phone_bool";
+    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
+    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
+    field public static final int USSD_OVER_CS_ONLY = 2; // 0x2
+    field public static final int USSD_OVER_CS_PREFERRED = 0; // 0x0
+    field public static final int USSD_OVER_IMS_ONLY = 3; // 0x3
+    field public static final int USSD_OVER_IMS_PREFERRED = 1; // 0x1
+  }
+
+  public static final class CarrierConfigManager.Apn {
+    field @Deprecated public static final String KEY_PREFIX = "apn.";
+    field public static final String KEY_SETTINGS_DEFAULT_PROTOCOL_STRING = "apn.settings_default_protocol_string";
+    field public static final String KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING = "apn.settings_default_roaming_protocol_string";
+    field public static final String PROTOCOL_IPV4 = "IP";
+    field public static final String PROTOCOL_IPV4V6 = "IPV4V6";
+    field public static final String PROTOCOL_IPV6 = "IPV6";
+  }
+
+  public static final class CarrierConfigManager.Gps {
+    field public static final String KEY_PERSIST_LPP_MODE_BOOL = "gps.persist_lpp_mode_bool";
+    field public static final String KEY_PREFIX = "gps.";
+  }
+
+  public static final class CarrierConfigManager.Ims {
+    field public static final String KEY_ENABLE_PRESENCE_CAPABILITY_EXCHANGE_BOOL = "ims.enable_presence_capability_exchange_bool";
+    field public static final String KEY_ENABLE_PRESENCE_GROUP_SUBSCRIBE_BOOL = "ims.enable_presence_group_subscribe_bool";
+    field public static final String KEY_ENABLE_PRESENCE_PUBLISH_BOOL = "ims.enable_presence_publish_bool";
+    field public static final String KEY_IMS_SINGLE_REGISTRATION_REQUIRED_BOOL = "ims.ims_single_registration_required_bool";
+    field public static final String KEY_NON_RCS_CAPABILITIES_CACHE_EXPIRATION_SEC_INT = "ims.non_rcs_capabilities_cache_expiration_sec_int";
+    field public static final String KEY_PREFIX = "ims.";
+    field public static final String KEY_RCS_BULK_CAPABILITY_EXCHANGE_BOOL = "ims.rcs_bulk_capability_exchange_bool";
+    field public static final String KEY_RCS_FEATURE_TAG_ALLOWED_STRING_ARRAY = "ims.rcs_feature_tag_allowed_string_array";
+    field public static final String KEY_WIFI_OFF_DEFERRING_TIME_MILLIS_INT = "ims.wifi_off_deferring_time_millis_int";
+  }
+
+  public static final class CarrierConfigManager.ImsServiceEntitlement {
+    field public static final String KEY_ENTITLEMENT_SERVER_URL_STRING = "imsserviceentitlement.entitlement_server_url_string";
+    field public static final String KEY_FCM_SENDER_ID_STRING = "imsserviceentitlement.fcm_sender_id_string";
+    field public static final String KEY_IMS_PROVISIONING_BOOL = "imsserviceentitlement.ims_provisioning_bool";
+    field public static final String KEY_PREFIX = "imsserviceentitlement.";
+    field public static final String KEY_SHOW_VOWIFI_WEBVIEW_BOOL = "imsserviceentitlement.show_vowifi_webview_bool";
+  }
+
+  public static final class CarrierConfigManager.Iwlan {
+    field public static final int AUTHENTICATION_METHOD_CERT = 1; // 0x1
+    field public static final int AUTHENTICATION_METHOD_EAP_ONLY = 0; // 0x0
+    field public static final int EPDG_ADDRESS_CELLULAR_LOC = 3; // 0x3
+    field public static final int EPDG_ADDRESS_PCO = 2; // 0x2
+    field public static final int EPDG_ADDRESS_PLMN = 1; // 0x1
+    field public static final int EPDG_ADDRESS_STATIC = 0; // 0x0
+    field public static final int ID_TYPE_FQDN = 2; // 0x2
+    field public static final int ID_TYPE_KEY_ID = 11; // 0xb
+    field public static final int ID_TYPE_RFC822_ADDR = 3; // 0x3
+    field public static final String KEY_ADD_KE_TO_CHILD_SESSION_REKEY_BOOL = "iwlan.add_ke_to_child_session_rekey_bool";
+    field public static final String KEY_CHILD_SA_REKEY_HARD_TIMER_SEC_INT = "iwlan.child_sa_rekey_hard_timer_sec_int";
+    field public static final String KEY_CHILD_SA_REKEY_SOFT_TIMER_SEC_INT = "iwlan.child_sa_rekey_soft_timer_sec_int";
+    field public static final String KEY_CHILD_SESSION_AES_CBC_KEY_SIZE_INT_ARRAY = "iwlan.child_session_aes_cbc_key_size_int_array";
+    field public static final String KEY_CHILD_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY = "iwlan.child_session_aes_ctr_key_size_int_array";
+    field public static final String KEY_DIFFIE_HELLMAN_GROUPS_INT_ARRAY = "iwlan.diffie_hellman_groups_int_array";
+    field public static final String KEY_DPD_TIMER_SEC_INT = "iwlan.dpd_timer_sec_int";
+    field public static final String KEY_EPDG_ADDRESS_PRIORITY_INT_ARRAY = "iwlan.epdg_address_priority_int_array";
+    field public static final String KEY_EPDG_AUTHENTICATION_METHOD_INT = "iwlan.epdg_authentication_method_int";
+    field public static final String KEY_EPDG_PCO_ID_IPV4_INT = "iwlan.epdg_pco_id_ipv4_int";
+    field public static final String KEY_EPDG_PCO_ID_IPV6_INT = "iwlan.epdg_pco_id_ipv6_int";
+    field public static final String KEY_EPDG_STATIC_ADDRESS_ROAMING_STRING = "iwlan.epdg_static_address_roaming_string";
+    field public static final String KEY_EPDG_STATIC_ADDRESS_STRING = "iwlan.epdg_static_address_string";
+    field public static final String KEY_IKE_LOCAL_ID_TYPE_INT = "iwlan.ike_local_id_type_int";
+    field public static final String KEY_IKE_REKEY_HARD_TIMER_SEC_INT = "iwlan.ike_rekey_hard_timer_in_sec";
+    field public static final String KEY_IKE_REKEY_SOFT_TIMER_SEC_INT = "iwlan.ike_rekey_soft_timer_sec_int";
+    field public static final String KEY_IKE_REMOTE_ID_TYPE_INT = "iwlan.ike_remote_id_type_int";
+    field public static final String KEY_IKE_SESSION_AES_CBC_KEY_SIZE_INT_ARRAY = "iwlan.ike_session_encryption_aes_cbc_key_size_int_array";
+    field public static final String KEY_IKE_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY = "iwlan.ike_session_encryption_aes_ctr_key_size_int_array";
+    field public static final String KEY_MAX_RETRIES_INT = "iwlan.max_retries_int";
+    field public static final String KEY_MCC_MNCS_STRING_ARRAY = "iwlan.mcc_mncs_string_array";
+    field public static final String KEY_NATT_KEEP_ALIVE_TIMER_SEC_INT = "iwlan.natt_keep_alive_timer_sec_int";
+    field public static final String KEY_PREFIX = "iwlan.";
+    field public static final String KEY_RETRANSMIT_TIMER_MSEC_INT_ARRAY = "iwlan.retransmit_timer_sec_int_array";
+    field public static final String KEY_SUPPORTED_CHILD_SESSION_ENCRYPTION_ALGORITHMS_INT_ARRAY = "iwlan.supported_child_session_encryption_algorithms_int_array";
+    field public static final String KEY_SUPPORTED_IKE_SESSION_ENCRYPTION_ALGORITHMS_INT_ARRAY = "iwlan.supported_ike_session_encryption_algorithms_int_array";
+    field public static final String KEY_SUPPORTED_INTEGRITY_ALGORITHMS_INT_ARRAY = "iwlan.supported_integrity_algorithms_int_array";
+    field public static final String KEY_SUPPORTED_PRF_ALGORITHMS_INT_ARRAY = "iwlan.supported_prf_algorithms_int_array";
+  }
+
+  public abstract class CellIdentity implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public CharSequence getOperatorAlphaLong();
+    method @Nullable public CharSequence getOperatorAlphaShort();
+    method @CallSuper public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentity> CREATOR;
+  }
+
+  public final class CellIdentityCdma extends android.telephony.CellIdentity {
+    method public int getBasestationId();
+    method public int getLatitude();
+    method public int getLongitude();
+    method public int getNetworkId();
+    method public int getSystemId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityCdma> CREATOR;
+  }
+
+  public final class CellIdentityGsm extends android.telephony.CellIdentity {
+    method @NonNull public java.util.Set<java.lang.String> getAdditionalPlmns();
+    method public int getArfcn();
+    method public int getBsic();
+    method public int getCid();
+    method public int getLac();
+    method @Deprecated public int getMcc();
+    method @Nullable public String getMccString();
+    method @Deprecated public int getMnc();
+    method @Nullable public String getMncString();
+    method @Nullable public String getMobileNetworkOperator();
+    method @Deprecated public int getPsc();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityGsm> CREATOR;
+  }
+
+  public final class CellIdentityLte extends android.telephony.CellIdentity {
+    method @NonNull public java.util.Set<java.lang.String> getAdditionalPlmns();
+    method @NonNull public int[] getBands();
+    method public int getBandwidth();
+    method public int getCi();
+    method @Nullable public android.telephony.ClosedSubscriberGroupInfo getClosedSubscriberGroupInfo();
+    method public int getEarfcn();
+    method @Deprecated public int getMcc();
+    method @Nullable public String getMccString();
+    method @Deprecated public int getMnc();
+    method @Nullable public String getMncString();
+    method @Nullable public String getMobileNetworkOperator();
+    method public int getPci();
+    method public int getTac();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityLte> CREATOR;
+  }
+
+  public final class CellIdentityNr extends android.telephony.CellIdentity {
+    method @NonNull public java.util.Set<java.lang.String> getAdditionalPlmns();
+    method @NonNull public int[] getBands();
+    method @Nullable public String getMccString();
+    method @Nullable public String getMncString();
+    method public long getNci();
+    method @IntRange(from=0, to=3279165) public int getNrarfcn();
+    method @IntRange(from=0, to=1007) public int getPci();
+    method @IntRange(from=0, to=16777215) public int getTac();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityNr> CREATOR;
+  }
+
+  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
+    method @NonNull public java.util.Set<java.lang.String> getAdditionalPlmns();
+    method public int getCid();
+    method @Nullable public android.telephony.ClosedSubscriberGroupInfo getClosedSubscriberGroupInfo();
+    method public int getCpid();
+    method public int getLac();
+    method @Nullable public String getMccString();
+    method @Nullable public String getMncString();
+    method @Nullable public String getMobileNetworkOperator();
+    method public int getUarfcn();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityTdscdma> CREATOR;
+  }
+
+  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
+    method @NonNull public java.util.Set<java.lang.String> getAdditionalPlmns();
+    method public int getCid();
+    method @Nullable public android.telephony.ClosedSubscriberGroupInfo getClosedSubscriberGroupInfo();
+    method public int getLac();
+    method @Deprecated public int getMcc();
+    method @Nullable public String getMccString();
+    method @Deprecated public int getMnc();
+    method @Nullable public String getMncString();
+    method @Nullable public String getMobileNetworkOperator();
+    method public int getPsc();
+    method public int getUarfcn();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityWcdma> CREATOR;
+  }
+
+  public abstract class CellInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCellConnectionStatus();
+    method @NonNull public abstract android.telephony.CellIdentity getCellIdentity();
+    method @NonNull public abstract android.telephony.CellSignalStrength getCellSignalStrength();
+    method @Deprecated public long getTimeStamp();
+    method public long getTimestampMillis();
+    method public boolean isRegistered();
+    field public static final int CONNECTION_NONE = 0; // 0x0
+    field public static final int CONNECTION_PRIMARY_SERVING = 1; // 0x1
+    field public static final int CONNECTION_SECONDARY_SERVING = 2; // 0x2
+    field public static final int CONNECTION_UNKNOWN = 2147483647; // 0x7fffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfo> CREATOR;
+    field public static final int UNAVAILABLE = 2147483647; // 0x7fffffff
+    field public static final long UNAVAILABLE_LONG = 9223372036854775807L; // 0x7fffffffffffffffL
+  }
+
+  public final class CellInfoCdma extends android.telephony.CellInfo implements android.os.Parcelable {
+    method @NonNull public android.telephony.CellIdentityCdma getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrengthCdma getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoCdma> CREATOR;
+  }
+
+  public final class CellInfoGsm extends android.telephony.CellInfo implements android.os.Parcelable {
+    method @NonNull public android.telephony.CellIdentityGsm getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrengthGsm getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoGsm> CREATOR;
+  }
+
+  public final class CellInfoLte extends android.telephony.CellInfo implements android.os.Parcelable {
+    method @NonNull public android.telephony.CellIdentityLte getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrengthLte getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoLte> CREATOR;
+  }
+
+  public final class CellInfoNr extends android.telephony.CellInfo {
+    method @NonNull public android.telephony.CellIdentity getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrength getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoNr> CREATOR;
+  }
+
+  public final class CellInfoTdscdma extends android.telephony.CellInfo implements android.os.Parcelable {
+    method @NonNull public android.telephony.CellIdentityTdscdma getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrengthTdscdma getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoTdscdma> CREATOR;
+  }
+
+  public final class CellInfoWcdma extends android.telephony.CellInfo implements android.os.Parcelable {
+    method public android.telephony.CellIdentityWcdma getCellIdentity();
+    method public android.telephony.CellSignalStrengthWcdma getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoWcdma> CREATOR;
+  }
+
+  @Deprecated public abstract class CellLocation {
+    ctor @Deprecated public CellLocation();
+    method @Deprecated public static android.telephony.CellLocation getEmpty();
+    method @Deprecated public static void requestLocationUpdate();
+  }
+
+  public abstract class CellSignalStrength {
+    method public abstract boolean equals(Object);
+    method public abstract int getAsuLevel();
+    method public abstract int getDbm();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public abstract int getLevel();
+    method public abstract int hashCode();
+    field public static final int SIGNAL_STRENGTH_GOOD = 3; // 0x3
+    field public static final int SIGNAL_STRENGTH_GREAT = 4; // 0x4
+    field public static final int SIGNAL_STRENGTH_MODERATE = 2; // 0x2
+    field public static final int SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0; // 0x0
+    field public static final int SIGNAL_STRENGTH_POOR = 1; // 0x1
+  }
+
+  public final class CellSignalStrengthCdma extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method public int getCdmaDbm();
+    method public int getCdmaEcio();
+    method public int getCdmaLevel();
+    method public int getDbm();
+    method public int getEvdoDbm();
+    method public int getEvdoEcio();
+    method public int getEvdoLevel();
+    method public int getEvdoSnr();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public int getLevel();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthCdma> CREATOR;
+  }
+
+  public final class CellSignalStrengthGsm extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method public int getBitErrorRate();
+    method public int getDbm();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public int getLevel();
+    method public int getRssi();
+    method public int getTimingAdvance();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthGsm> CREATOR;
+  }
+
+  public final class CellSignalStrengthLte extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method @IntRange(from=0, to=15) public int getCqi();
+    method @IntRange(from=1, to=6) public int getCqiTableIndex();
+    method public int getDbm();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public int getLevel();
+    method public int getRsrp();
+    method public int getRsrq();
+    method public int getRssi();
+    method public int getRssnr();
+    method public int getTimingAdvance();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthLte> CREATOR;
+  }
+
+  public final class CellSignalStrengthNr extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method @IntRange(from=0, to=15) @NonNull public java.util.List<java.lang.Integer> getCsiCqiReport();
+    method @IntRange(from=1, to=3) public int getCsiCqiTableIndex();
+    method public int getCsiRsrp();
+    method public int getCsiRsrq();
+    method public int getCsiSinr();
+    method public int getDbm();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public int getLevel();
+    method public int getSsRsrp();
+    method public int getSsRsrq();
+    method public int getSsSinr();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthNr> CREATOR;
+  }
+
+  public final class CellSignalStrengthTdscdma extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method public int getDbm();
+    method @IntRange(from=0, to=4) public int getLevel();
+    method public int getRscp();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthTdscdma> CREATOR;
+  }
+
+  public final class CellSignalStrengthWcdma extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method public int getDbm();
+    method public int getEcNo();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public int getLevel();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthWcdma> CREATOR;
+  }
+
+  public final class ClosedSubscriberGroupInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0, to=134217727) public int getCsgIdentity();
+    method public boolean getCsgIndicator();
+    method @NonNull public String getHomeNodebName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ClosedSubscriberGroupInfo> CREATOR;
+  }
+
+  public final class DataFailCause {
+    field public static final int ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 2219; // 0x8ab
+    field public static final int ACCESS_BLOCK = 2087; // 0x827
+    field public static final int ACCESS_BLOCK_ALL = 2088; // 0x828
+    field public static final int ACCESS_CLASS_DSAC_REJECTION = 2108; // 0x83c
+    field public static final int ACCESS_CONTROL_LIST_CHECK_FAILURE = 2128; // 0x850
+    field public static final int ACTIVATION_REJECTED_BCM_VIOLATION = 48; // 0x30
+    field public static final int ACTIVATION_REJECT_GGSN = 30; // 0x1e
+    field public static final int ACTIVATION_REJECT_UNSPECIFIED = 31; // 0x1f
+    field public static final int ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED = 65; // 0x41
+    field public static final int ALL_MATCHING_RULES_FAILED = 2254; // 0x8ce
+    field public static final int APN_DISABLED = 2045; // 0x7fd
+    field public static final int APN_DISALLOWED_ON_ROAMING = 2059; // 0x80b
+    field public static final int APN_MISMATCH = 2054; // 0x806
+    field public static final int APN_PARAMETERS_CHANGED = 2060; // 0x80c
+    field public static final int APN_PENDING_HANDOVER = 2041; // 0x7f9
+    field public static final int APN_TYPE_CONFLICT = 112; // 0x70
+    field public static final int AUTH_FAILURE_ON_EMERGENCY_CALL = 122; // 0x7a
+    field public static final int BEARER_HANDLING_NOT_SUPPORTED = 60; // 0x3c
+    field public static final int CALL_DISALLOWED_IN_ROAMING = 2068; // 0x814
+    field public static final int CALL_PREEMPT_BY_EMERGENCY_APN = 127; // 0x7f
+    field public static final int CANNOT_ENCODE_OTA_MESSAGE = 2159; // 0x86f
+    field public static final int CDMA_ALERT_STOP = 2077; // 0x81d
+    field public static final int CDMA_INCOMING_CALL = 2076; // 0x81c
+    field public static final int CDMA_INTERCEPT = 2073; // 0x819
+    field public static final int CDMA_LOCK = 2072; // 0x818
+    field public static final int CDMA_RELEASE_DUE_TO_SO_REJECTION = 2075; // 0x81b
+    field public static final int CDMA_REORDER = 2074; // 0x81a
+    field public static final int CDMA_RETRY_ORDER = 2086; // 0x826
+    field public static final int CHANNEL_ACQUISITION_FAILURE = 2078; // 0x81e
+    field public static final int CLOSE_IN_PROGRESS = 2030; // 0x7ee
+    field public static final int COLLISION_WITH_NETWORK_INITIATED_REQUEST = 56; // 0x38
+    field public static final int COMPANION_IFACE_IN_USE = 118; // 0x76
+    field public static final int CONCURRENT_SERVICES_INCOMPATIBLE = 2083; // 0x823
+    field public static final int CONCURRENT_SERVICES_NOT_ALLOWED = 2091; // 0x82b
+    field public static final int CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 2080; // 0x820
+    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
+    field public static final int CONGESTION = 2106; // 0x83a
+    field public static final int CONNECTION_RELEASED = 2113; // 0x841
+    field public static final int CS_DOMAIN_NOT_AVAILABLE = 2181; // 0x885
+    field public static final int CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 2188; // 0x88c
+    field public static final int DATA_PLAN_EXPIRED = 2198; // 0x896
+    field public static final int DATA_ROAMING_SETTINGS_DISABLED = 2064; // 0x810
+    field public static final int DATA_SETTINGS_DISABLED = 2063; // 0x80f
+    field public static final int DBM_OR_SMS_IN_PROGRESS = 2211; // 0x8a3
+    field public static final int DDS_SWITCHED = 2065; // 0x811
+    field public static final int DDS_SWITCH_IN_PROGRESS = 2067; // 0x813
+    field public static final int DRB_RELEASED_BY_RRC = 2112; // 0x840
+    field public static final int DS_EXPLICIT_DEACTIVATION = 2125; // 0x84d
+    field public static final int DUAL_SWITCH = 2227; // 0x8b3
+    field public static final int DUN_CALL_DISALLOWED = 2056; // 0x808
+    field public static final int DUPLICATE_BEARER_ID = 2118; // 0x846
+    field public static final int EHRPD_TO_HRPD_FALLBACK = 2049; // 0x801
+    field public static final int EMBMS_NOT_ENABLED = 2193; // 0x891
+    field public static final int EMBMS_REGULAR_DEACTIVATION = 2195; // 0x893
+    field public static final int EMERGENCY_IFACE_ONLY = 116; // 0x74
+    field public static final int EMERGENCY_MODE = 2221; // 0x8ad
+    field public static final int EMM_ACCESS_BARRED = 115; // 0x73
+    field public static final int EMM_ACCESS_BARRED_INFINITE_RETRY = 121; // 0x79
+    field public static final int EMM_ATTACH_FAILED = 2115; // 0x843
+    field public static final int EMM_ATTACH_STARTED = 2116; // 0x844
+    field public static final int EMM_DETACHED = 2114; // 0x842
+    field public static final int EMM_T3417_EXPIRED = 2130; // 0x852
+    field public static final int EMM_T3417_EXT_EXPIRED = 2131; // 0x853
+    field public static final int EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 2178; // 0x882
+    field public static final int EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 2179; // 0x883
+    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
+    field public static final int ESM_BAD_OTA_MESSAGE = 2122; // 0x84a
+    field public static final int ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 2120; // 0x848
+    field public static final int ESM_COLLISION_SCENARIOS = 2119; // 0x847
+    field public static final int ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 2124; // 0x84c
+    field public static final int ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 2123; // 0x84b
+    field public static final int ESM_FAILURE = 2182; // 0x886
+    field public static final int ESM_INFO_NOT_RECEIVED = 53; // 0x35
+    field public static final int ESM_LOCAL_CAUSE_NONE = 2126; // 0x84e
+    field public static final int ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 2121; // 0x849
+    field public static final int ESM_PROCEDURE_TIME_OUT = 2155; // 0x86b
+    field public static final int ESM_UNKNOWN_EPS_BEARER_CONTEXT = 2111; // 0x83f
+    field public static final int EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 2201; // 0x899
+    field public static final int EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 2200; // 0x898
+    field public static final int EVDO_HDR_CHANGED = 2202; // 0x89a
+    field public static final int EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 2206; // 0x89e
+    field public static final int EVDO_HDR_EXITED = 2203; // 0x89b
+    field public static final int EVDO_HDR_NO_SESSION = 2204; // 0x89c
+    field public static final int EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 2205; // 0x89d
+    field public static final int FADE = 2217; // 0x8a9
+    field public static final int FAILED_TO_ACQUIRE_COLOCATED_HDR = 2207; // 0x89f
+    field public static final int FEATURE_NOT_SUPP = 40; // 0x28
+    field public static final int FILTER_SEMANTIC_ERROR = 44; // 0x2c
+    field public static final int FILTER_SYTAX_ERROR = 45; // 0x2d
+    field public static final int FORBIDDEN_APN_NAME = 2066; // 0x812
+    field public static final int GPRS_REGISTRATION_FAIL = -2; // 0xfffffffe
+    field public static final int GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 2097; // 0x831
+    field public static final int GPRS_SERVICES_NOT_ALLOWED = 2098; // 0x832
+    field public static final int GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 2103; // 0x837
+    field public static final int HANDOFF_PREFERENCE_CHANGED = 2251; // 0x8cb
+    field public static final int HDR_ACCESS_FAILURE = 2213; // 0x8a5
+    field public static final int HDR_FADE = 2212; // 0x8a4
+    field public static final int HDR_NO_LOCK_GRANTED = 2210; // 0x8a2
+    field public static final int IFACE_AND_POL_FAMILY_MISMATCH = 120; // 0x78
+    field public static final int IFACE_MISMATCH = 117; // 0x75
+    field public static final int ILLEGAL_ME = 2096; // 0x830
+    field public static final int ILLEGAL_MS = 2095; // 0x82f
+    field public static final int IMEI_NOT_ACCEPTED = 2177; // 0x881
+    field public static final int IMPLICITLY_DETACHED = 2100; // 0x834
+    field public static final int IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 2176; // 0x880
+    field public static final int INCOMING_CALL_REJECTED = 2092; // 0x82c
+    field public static final int INSUFFICIENT_RESOURCES = 26; // 0x1a
+    field public static final int INTERFACE_IN_USE = 2058; // 0x80a
+    field public static final int INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 114; // 0x72
+    field public static final int INTERNAL_EPC_NONEPC_TRANSITION = 2057; // 0x809
+    field public static final int INVALID_CONNECTION_ID = 2156; // 0x86c
+    field public static final int INVALID_DNS_ADDR = 123; // 0x7b
+    field public static final int INVALID_EMM_STATE = 2190; // 0x88e
+    field public static final int INVALID_MANDATORY_INFO = 96; // 0x60
+    field public static final int INVALID_MODE = 2223; // 0x8af
+    field public static final int INVALID_PCSCF_ADDR = 113; // 0x71
+    field public static final int INVALID_PCSCF_OR_DNS_ADDRESS = 124; // 0x7c
+    field public static final int INVALID_PRIMARY_NSAPI = 2158; // 0x86e
+    field public static final int INVALID_SIM_STATE = 2224; // 0x8b0
+    field public static final int INVALID_TRANSACTION_ID = 81; // 0x51
+    field public static final int IPV6_ADDRESS_TRANSFER_FAILED = 2047; // 0x7ff
+    field public static final int IPV6_PREFIX_UNAVAILABLE = 2250; // 0x8ca
+    field public static final int IP_ADDRESS_MISMATCH = 119; // 0x77
+    field public static final int IP_VERSION_MISMATCH = 2055; // 0x807
+    field public static final int IRAT_HANDOVER_FAILED = 2194; // 0x892
+    field public static final int IS707B_MAX_ACCESS_PROBES = 2089; // 0x829
+    field public static final int IWLAN_AUTHORIZATION_REJECTED = 9003; // 0x232b
+    field public static final int IWLAN_DNS_RESOLUTION_NAME_FAILURE = 16388; // 0x4004
+    field public static final int IWLAN_DNS_RESOLUTION_TIMEOUT = 16389; // 0x4005
+    field public static final int IWLAN_IKEV2_AUTH_FAILURE = 16385; // 0x4001
+    field public static final int IWLAN_IKEV2_CERT_INVALID = 16387; // 0x4003
+    field public static final int IWLAN_IKEV2_CONFIG_FAILURE = 16384; // 0x4000
+    field public static final int IWLAN_IKEV2_MSG_TIMEOUT = 16386; // 0x4002
+    field public static final int IWLAN_ILLEGAL_ME = 9006; // 0x232e
+    field public static final int IWLAN_IMEI_NOT_ACCEPTED = 11005; // 0x2afd
+    field public static final int IWLAN_MAX_CONNECTION_REACHED = 8193; // 0x2001
+    field public static final int IWLAN_NETWORK_FAILURE = 10500; // 0x2904
+    field public static final int IWLAN_NON_3GPP_ACCESS_TO_EPC_NOT_ALLOWED = 9000; // 0x2328
+    field public static final int IWLAN_NO_APN_SUBSCRIPTION = 9002; // 0x232a
+    field public static final int IWLAN_PDN_CONNECTION_REJECTION = 8192; // 0x2000
+    field public static final int IWLAN_PLMN_NOT_ALLOWED = 11011; // 0x2b03
+    field public static final int IWLAN_RAT_TYPE_NOT_ALLOWED = 11001; // 0x2af9
+    field public static final int IWLAN_SEMANTIC_ERRORS_IN_PACKET_FILTERS = 8244; // 0x2034
+    field public static final int IWLAN_SEMANTIC_ERROR_IN_THE_TFT_OPERATION = 8241; // 0x2031
+    field public static final int IWLAN_SYNTACTICAL_ERRORS_IN_PACKET_FILTERS = 8245; // 0x2035
+    field public static final int IWLAN_SYNTACTICAL_ERROR_IN_THE_TFT_OPERATION = 8242; // 0x2032
+    field public static final int IWLAN_UNAUTHENTICATED_EMERGENCY_NOT_SUPPORTED = 11055; // 0x2b2f
+    field public static final int IWLAN_USER_UNKNOWN = 9001; // 0x2329
+    field public static final int LIMITED_TO_IPV4 = 2234; // 0x8ba
+    field public static final int LIMITED_TO_IPV6 = 2235; // 0x8bb
+    field public static final int LLC_SNDCP = 25; // 0x19
+    field public static final int LOCAL_END = 2215; // 0x8a7
+    field public static final int LOCATION_AREA_NOT_ALLOWED = 2102; // 0x836
+    field public static final int LOST_CONNECTION = 65540; // 0x10004
+    field public static final int LOWER_LAYER_REGISTRATION_FAILURE = 2197; // 0x895
+    field public static final int LOW_POWER_MODE_OR_POWERING_DOWN = 2044; // 0x7fc
+    field public static final int LTE_NAS_SERVICE_REQUEST_FAILED = 2117; // 0x845
+    field public static final int LTE_THROTTLING_NOT_REQUIRED = 2127; // 0x84f
+    field public static final int MAC_FAILURE = 2183; // 0x887
+    field public static final int MATCH_ALL_RULE_NOT_ALLOWED = 2253; // 0x8cd
+    field public static final int MAXIMIUM_NSAPIS_EXCEEDED = 2157; // 0x86d
+    field public static final int MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 2166; // 0x876
+    field public static final int MAX_ACCESS_PROBE = 2079; // 0x81f
+    field public static final int MAX_IPV4_CONNECTIONS = 2052; // 0x804
+    field public static final int MAX_IPV6_CONNECTIONS = 2053; // 0x805
+    field public static final int MAX_PPP_INACTIVITY_TIMER_EXPIRED = 2046; // 0x7fe
+    field public static final int MESSAGE_INCORRECT_SEMANTIC = 95; // 0x5f
+    field public static final int MESSAGE_TYPE_UNSUPPORTED = 97; // 0x61
+    field public static final int MIP_CONFIG_FAILURE = 2050; // 0x802
+    field public static final int MIP_FA_ADMIN_PROHIBITED = 2001; // 0x7d1
+    field public static final int MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 2012; // 0x7dc
+    field public static final int MIP_FA_ENCAPSULATION_UNAVAILABLE = 2008; // 0x7d8
+    field public static final int MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 2004; // 0x7d4
+    field public static final int MIP_FA_INSUFFICIENT_RESOURCES = 2002; // 0x7d2
+    field public static final int MIP_FA_MALFORMED_REPLY = 2007; // 0x7d7
+    field public static final int MIP_FA_MALFORMED_REQUEST = 2006; // 0x7d6
+    field public static final int MIP_FA_MISSING_CHALLENGE = 2017; // 0x7e1
+    field public static final int MIP_FA_MISSING_HOME_ADDRESS = 2015; // 0x7df
+    field public static final int MIP_FA_MISSING_HOME_AGENT = 2014; // 0x7de
+    field public static final int MIP_FA_MISSING_NAI = 2013; // 0x7dd
+    field public static final int MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2003; // 0x7d3
+    field public static final int MIP_FA_REASON_UNSPECIFIED = 2000; // 0x7d0
+    field public static final int MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 2005; // 0x7d5
+    field public static final int MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 2011; // 0x7db
+    field public static final int MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 2010; // 0x7da
+    field public static final int MIP_FA_STALE_CHALLENGE = 2018; // 0x7e2
+    field public static final int MIP_FA_UNKNOWN_CHALLENGE = 2016; // 0x7e0
+    field public static final int MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 2009; // 0x7d9
+    field public static final int MIP_HA_ADMIN_PROHIBITED = 2020; // 0x7e4
+    field public static final int MIP_HA_ENCAPSULATION_UNAVAILABLE = 2029; // 0x7ed
+    field public static final int MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 2023; // 0x7e7
+    field public static final int MIP_HA_INSUFFICIENT_RESOURCES = 2021; // 0x7e5
+    field public static final int MIP_HA_MALFORMED_REQUEST = 2025; // 0x7e9
+    field public static final int MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2022; // 0x7e6
+    field public static final int MIP_HA_REASON_UNSPECIFIED = 2019; // 0x7e3
+    field public static final int MIP_HA_REGISTRATION_ID_MISMATCH = 2024; // 0x7e8
+    field public static final int MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 2028; // 0x7ec
+    field public static final int MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 2027; // 0x7eb
+    field public static final int MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 2026; // 0x7ea
+    field public static final int MISSING_UNKNOWN_APN = 27; // 0x1b
+    field public static final int MODEM_APP_PREEMPTED = 2032; // 0x7f0
+    field public static final int MODEM_RESTART = 2037; // 0x7f5
+    field public static final int MSC_TEMPORARILY_NOT_REACHABLE = 2180; // 0x884
+    field public static final int MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 101; // 0x65
+    field public static final int MSG_TYPE_NONCOMPATIBLE_STATE = 98; // 0x62
+    field public static final int MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 2099; // 0x833
+    field public static final int MULTIPLE_PDP_CALL_NOT_ALLOWED = 2192; // 0x890
+    field public static final int MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 55; // 0x37
+    field public static final int NAS_LAYER_FAILURE = 2191; // 0x88f
+    field public static final int NAS_REQUEST_REJECTED_BY_NETWORK = 2167; // 0x877
+    field public static final int NAS_SIGNALLING = 14; // 0xe
+    field public static final int NETWORK_FAILURE = 38; // 0x26
+    field public static final int NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 2154; // 0x86a
+    field public static final int NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 2153; // 0x869
+    field public static final int NETWORK_INITIATED_TERMINATION = 2031; // 0x7ef
+    field public static final int NONE = 0; // 0x0
+    field public static final int NON_IP_NOT_SUPPORTED = 2069; // 0x815
+    field public static final int NORMAL_RELEASE = 2218; // 0x8aa
+    field public static final int NO_CDMA_SERVICE = 2084; // 0x824
+    field public static final int NO_COLLOCATED_HDR = 2225; // 0x8b1
+    field public static final int NO_EPS_BEARER_CONTEXT_ACTIVATED = 2189; // 0x88d
+    field public static final int NO_GPRS_CONTEXT = 2094; // 0x82e
+    field public static final int NO_HYBRID_HDR_SERVICE = 2209; // 0x8a1
+    field public static final int NO_PDP_CONTEXT_ACTIVATED = 2107; // 0x83b
+    field public static final int NO_RESPONSE_FROM_BASE_STATION = 2081; // 0x821
+    field public static final int NO_SERVICE = 2216; // 0x8a8
+    field public static final int NO_SERVICE_ON_GATEWAY = 2093; // 0x82d
+    field public static final int NSAPI_IN_USE = 35; // 0x23
+    field public static final int NULL_APN_DISALLOWED = 2061; // 0x80d
+    field public static final int OEM_DCFAILCAUSE_1 = 4097; // 0x1001
+    field public static final int OEM_DCFAILCAUSE_10 = 4106; // 0x100a
+    field public static final int OEM_DCFAILCAUSE_11 = 4107; // 0x100b
+    field public static final int OEM_DCFAILCAUSE_12 = 4108; // 0x100c
+    field public static final int OEM_DCFAILCAUSE_13 = 4109; // 0x100d
+    field public static final int OEM_DCFAILCAUSE_14 = 4110; // 0x100e
+    field public static final int OEM_DCFAILCAUSE_15 = 4111; // 0x100f
+    field public static final int OEM_DCFAILCAUSE_2 = 4098; // 0x1002
+    field public static final int OEM_DCFAILCAUSE_3 = 4099; // 0x1003
+    field public static final int OEM_DCFAILCAUSE_4 = 4100; // 0x1004
+    field public static final int OEM_DCFAILCAUSE_5 = 4101; // 0x1005
+    field public static final int OEM_DCFAILCAUSE_6 = 4102; // 0x1006
+    field public static final int OEM_DCFAILCAUSE_7 = 4103; // 0x1007
+    field public static final int OEM_DCFAILCAUSE_8 = 4104; // 0x1008
+    field public static final int OEM_DCFAILCAUSE_9 = 4105; // 0x1009
+    field public static final int ONLY_IPV4V6_ALLOWED = 57; // 0x39
+    field public static final int ONLY_IPV4_ALLOWED = 50; // 0x32
+    field public static final int ONLY_IPV6_ALLOWED = 51; // 0x33
+    field public static final int ONLY_NON_IP_ALLOWED = 58; // 0x3a
+    field public static final int ONLY_SINGLE_BEARER_ALLOWED = 52; // 0x34
+    field public static final int OPERATOR_BARRED = 8; // 0x8
+    field public static final int OTASP_COMMIT_IN_PROGRESS = 2208; // 0x8a0
+    field public static final int PDN_CONN_DOES_NOT_EXIST = 54; // 0x36
+    field public static final int PDN_INACTIVITY_TIMER_EXPIRED = 2051; // 0x803
+    field public static final int PDN_IPV4_CALL_DISALLOWED = 2033; // 0x7f1
+    field public static final int PDN_IPV4_CALL_THROTTLED = 2034; // 0x7f2
+    field public static final int PDN_IPV6_CALL_DISALLOWED = 2035; // 0x7f3
+    field public static final int PDN_IPV6_CALL_THROTTLED = 2036; // 0x7f4
+    field public static final int PDN_NON_IP_CALL_DISALLOWED = 2071; // 0x817
+    field public static final int PDN_NON_IP_CALL_THROTTLED = 2070; // 0x816
+    field public static final int PDP_ACTIVATE_MAX_RETRY_FAILED = 2109; // 0x83d
+    field public static final int PDP_DUPLICATE = 2104; // 0x838
+    field public static final int PDP_ESTABLISH_TIMEOUT_EXPIRED = 2161; // 0x871
+    field public static final int PDP_INACTIVE_TIMEOUT_EXPIRED = 2163; // 0x873
+    field public static final int PDP_LOWERLAYER_ERROR = 2164; // 0x874
+    field public static final int PDP_MODIFY_COLLISION = 2165; // 0x875
+    field public static final int PDP_MODIFY_TIMEOUT_EXPIRED = 2162; // 0x872
+    field public static final int PDP_PPP_NOT_SUPPORTED = 2038; // 0x7f6
+    field public static final int PDP_WITHOUT_ACTIVE_TFT = 46; // 0x2e
+    field public static final int PHONE_IN_USE = 2222; // 0x8ae
+    field public static final int PHYSICAL_LINK_CLOSE_IN_PROGRESS = 2040; // 0x7f8
+    field public static final int PLMN_NOT_ALLOWED = 2101; // 0x835
+    field public static final int PPP_AUTH_FAILURE = 2229; // 0x8b5
+    field public static final int PPP_CHAP_FAILURE = 2232; // 0x8b8
+    field public static final int PPP_CLOSE_IN_PROGRESS = 2233; // 0x8b9
+    field public static final int PPP_OPTION_MISMATCH = 2230; // 0x8b6
+    field public static final int PPP_PAP_FAILURE = 2231; // 0x8b7
+    field public static final int PPP_TIMEOUT = 2228; // 0x8b4
+    field public static final int PREF_RADIO_TECH_CHANGED = -4; // 0xfffffffc
+    field public static final int PROFILE_BEARER_INCOMPATIBLE = 2042; // 0x7fa
+    field public static final int PROTOCOL_ERRORS = 111; // 0x6f
+    field public static final int QOS_NOT_ACCEPTED = 37; // 0x25
+    field public static final int RADIO_ACCESS_BEARER_FAILURE = 2110; // 0x83e
+    field public static final int RADIO_ACCESS_BEARER_SETUP_FAILURE = 2160; // 0x870
+    field public static final int RADIO_NOT_AVAILABLE = 65537; // 0x10001
+    field public static final int RADIO_POWER_OFF = -5; // 0xfffffffb
+    field public static final int REDIRECTION_OR_HANDOFF_IN_PROGRESS = 2220; // 0x8ac
+    field public static final int REGISTRATION_FAIL = -1; // 0xffffffff
+    field public static final int REGULAR_DEACTIVATION = 36; // 0x24
+    field public static final int REJECTED_BY_BASE_STATION = 2082; // 0x822
+    field public static final int RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 2173; // 0x87d
+    field public static final int RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 2174; // 0x87e
+    field public static final int RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 2171; // 0x87b
+    field public static final int RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 2175; // 0x87f
+    field public static final int RRC_CONNECTION_ABORT_REQUEST = 2151; // 0x867
+    field public static final int RRC_CONNECTION_ACCESS_BARRED = 2139; // 0x85b
+    field public static final int RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 2137; // 0x859
+    field public static final int RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 2138; // 0x85a
+    field public static final int RRC_CONNECTION_CELL_NOT_CAMPED = 2144; // 0x860
+    field public static final int RRC_CONNECTION_CELL_RESELECTION = 2140; // 0x85c
+    field public static final int RRC_CONNECTION_CONFIG_FAILURE = 2141; // 0x85d
+    field public static final int RRC_CONNECTION_INVALID_REQUEST = 2168; // 0x878
+    field public static final int RRC_CONNECTION_LINK_FAILURE = 2143; // 0x85f
+    field public static final int RRC_CONNECTION_NORMAL_RELEASE = 2147; // 0x863
+    field public static final int RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 2150; // 0x866
+    field public static final int RRC_CONNECTION_RADIO_LINK_FAILURE = 2148; // 0x864
+    field public static final int RRC_CONNECTION_REESTABLISHMENT_FAILURE = 2149; // 0x865
+    field public static final int RRC_CONNECTION_REJECT_BY_NETWORK = 2146; // 0x862
+    field public static final int RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 2172; // 0x87c
+    field public static final int RRC_CONNECTION_RF_UNAVAILABLE = 2170; // 0x87a
+    field public static final int RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 2152; // 0x868
+    field public static final int RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 2145; // 0x861
+    field public static final int RRC_CONNECTION_TIMER_EXPIRED = 2142; // 0x85e
+    field public static final int RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 2169; // 0x879
+    field public static final int RRC_UPLINK_CONNECTION_RELEASE = 2134; // 0x856
+    field public static final int RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 2132; // 0x854
+    field public static final int RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 2133; // 0x855
+    field public static final int RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 2136; // 0x858
+    field public static final int RRC_UPLINK_RADIO_LINK_FAILURE = 2135; // 0x857
+    field public static final int RUIM_NOT_PRESENT = 2085; // 0x825
+    field public static final int SECURITY_MODE_REJECTED = 2186; // 0x88a
+    field public static final int SERVICE_NOT_ALLOWED_ON_PLMN = 2129; // 0x851
+    field public static final int SERVICE_OPTION_NOT_SUBSCRIBED = 33; // 0x21
+    field public static final int SERVICE_OPTION_NOT_SUPPORTED = 32; // 0x20
+    field public static final int SERVICE_OPTION_OUT_OF_ORDER = 34; // 0x22
+    field public static final int SIGNAL_LOST = -3; // 0xfffffffd
+    field public static final int SIM_CARD_CHANGED = 2043; // 0x7fb
+    field public static final int SLICE_REJECTED = 2252; // 0x8cc
+    field public static final int SYNCHRONIZATION_FAILURE = 2184; // 0x888
+    field public static final int TEST_LOOPBACK_REGULAR_DEACTIVATION = 2196; // 0x894
+    field public static final int TETHERED_CALL_ACTIVE = -6; // 0xfffffffa
+    field public static final int TFT_SEMANTIC_ERROR = 41; // 0x29
+    field public static final int TFT_SYTAX_ERROR = 42; // 0x2a
+    field public static final int THERMAL_EMERGENCY = 2090; // 0x82a
+    field public static final int THERMAL_MITIGATION = 2062; // 0x80e
+    field public static final int TRAT_SWAP_FAILED = 2048; // 0x800
+    field public static final int UE_INITIATED_DETACH_OR_DISCONNECT = 128; // 0x80
+    field public static final int UE_IS_ENTERING_POWERSAVE_MODE = 2226; // 0x8b2
+    field public static final int UE_RAT_CHANGE = 2105; // 0x839
+    field public static final int UE_SECURITY_CAPABILITIES_MISMATCH = 2185; // 0x889
+    field public static final int UMTS_HANDOVER_TO_IWLAN = 2199; // 0x897
+    field public static final int UMTS_REACTIVATION_REQ = 39; // 0x27
+    field public static final int UNACCEPTABLE_NETWORK_PARAMETER = 65538; // 0x10002
+    field public static final int UNACCEPTABLE_NON_EPS_AUTHENTICATION = 2187; // 0x88b
+    field public static final int UNKNOWN = 65536; // 0x10000
+    field public static final int UNKNOWN_INFO_ELEMENT = 99; // 0x63
+    field public static final int UNKNOWN_PDP_ADDRESS_TYPE = 28; // 0x1c
+    field public static final int UNKNOWN_PDP_CONTEXT = 43; // 0x2b
+    field public static final int UNPREFERRED_RAT = 2039; // 0x7f7
+    field public static final int UNSUPPORTED_1X_PREV = 2214; // 0x8a6
+    field public static final int UNSUPPORTED_APN_IN_CURRENT_PLMN = 66; // 0x42
+    field public static final int UNSUPPORTED_QCI_VALUE = 59; // 0x3b
+    field public static final int USER_AUTHENTICATION = 29; // 0x1d
+    field public static final int VSNCP_ADMINISTRATIVELY_PROHIBITED = 2245; // 0x8c5
+    field public static final int VSNCP_APN_UNAUTHORIZED = 2238; // 0x8be
+    field public static final int VSNCP_GEN_ERROR = 2237; // 0x8bd
+    field public static final int VSNCP_INSUFFICIENT_PARAMETERS = 2243; // 0x8c3
+    field public static final int VSNCP_NO_PDN_GATEWAY_ADDRESS = 2240; // 0x8c0
+    field public static final int VSNCP_PDN_EXISTS_FOR_THIS_APN = 2248; // 0x8c8
+    field public static final int VSNCP_PDN_GATEWAY_REJECT = 2242; // 0x8c2
+    field public static final int VSNCP_PDN_GATEWAY_UNREACHABLE = 2241; // 0x8c1
+    field public static final int VSNCP_PDN_ID_IN_USE = 2246; // 0x8c6
+    field public static final int VSNCP_PDN_LIMIT_EXCEEDED = 2239; // 0x8bf
+    field public static final int VSNCP_RECONNECT_NOT_ALLOWED = 2249; // 0x8c9
+    field public static final int VSNCP_RESOURCE_UNAVAILABLE = 2244; // 0x8c4
+    field public static final int VSNCP_SUBSCRIBER_LIMITATION = 2247; // 0x8c7
+    field public static final int VSNCP_TIMEOUT = 2236; // 0x8bc
+  }
+
+  public final class DisconnectCause {
+    field public static final int ALREADY_DIALING = 72; // 0x48
+    field public static final int ANSWERED_ELSEWHERE = 52; // 0x34
+    field public static final int BUSY = 4; // 0x4
+    field public static final int CALLING_DISABLED = 74; // 0x4a
+    field public static final int CALL_BARRED = 20; // 0x14
+    field public static final int CALL_PULLED = 51; // 0x33
+    field public static final int CANT_CALL_WHILE_RINGING = 73; // 0x49
+    field public static final int CDMA_ACCESS_BLOCKED = 35; // 0x23
+    field public static final int CDMA_ACCESS_FAILURE = 32; // 0x20
+    field public static final int CDMA_ALREADY_ACTIVATED = 49; // 0x31
+    field public static final int CDMA_DROP = 27; // 0x1b
+    field public static final int CDMA_INTERCEPT = 28; // 0x1c
+    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 26; // 0x1a
+    field public static final int CDMA_NOT_EMERGENCY = 34; // 0x22
+    field public static final int CDMA_PREEMPTED = 33; // 0x21
+    field public static final int CDMA_REORDER = 29; // 0x1d
+    field public static final int CDMA_RETRY_ORDER = 31; // 0x1f
+    field public static final int CDMA_SO_REJECT = 30; // 0x1e
+    field public static final int CONGESTION = 5; // 0x5
+    field public static final int CS_RESTRICTED = 22; // 0x16
+    field public static final int CS_RESTRICTED_EMERGENCY = 24; // 0x18
+    field public static final int CS_RESTRICTED_NORMAL = 23; // 0x17
+    field public static final int DATA_DISABLED = 54; // 0x36
+    field public static final int DATA_LIMIT_REACHED = 55; // 0x37
+    field public static final int DIALED_CALL_FORWARDING_WHILE_ROAMING = 57; // 0x39
+    field public static final int DIALED_MMI = 39; // 0x27
+    field public static final int DIAL_LOW_BATTERY = 62; // 0x3e
+    field public static final int DIAL_MODIFIED_TO_DIAL = 48; // 0x30
+    field public static final int DIAL_MODIFIED_TO_DIAL_VIDEO = 66; // 0x42
+    field public static final int DIAL_MODIFIED_TO_SS = 47; // 0x2f
+    field public static final int DIAL_MODIFIED_TO_USSD = 46; // 0x2e
+    field public static final int DIAL_VIDEO_MODIFIED_TO_DIAL = 69; // 0x45
+    field public static final int DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO = 70; // 0x46
+    field public static final int DIAL_VIDEO_MODIFIED_TO_SS = 67; // 0x43
+    field public static final int DIAL_VIDEO_MODIFIED_TO_USSD = 68; // 0x44
+    field public static final int EMERGENCY_CALL_OVER_WFC_NOT_AVAILABLE = 78; // 0x4e
+    field public static final int EMERGENCY_PERM_FAILURE = 64; // 0x40
+    field public static final int EMERGENCY_TEMP_FAILURE = 63; // 0x3f
+    field public static final int ERROR_UNSPECIFIED = 36; // 0x24
+    field public static final int FDN_BLOCKED = 21; // 0x15
+    field public static final int ICC_ERROR = 19; // 0x13
+    field public static final int IMEI_NOT_ACCEPTED = 58; // 0x3a
+    field public static final int IMS_ACCESS_BLOCKED = 60; // 0x3c
+    field public static final int IMS_MERGED_SUCCESSFULLY = 45; // 0x2d
+    field public static final int IMS_SIP_ALTERNATE_EMERGENCY_CALL = 71; // 0x47
+    field public static final int INCOMING_AUTO_REJECTED = 81; // 0x51
+    field public static final int INCOMING_MISSED = 1; // 0x1
+    field public static final int INCOMING_REJECTED = 16; // 0x10
+    field public static final int INVALID_CREDENTIALS = 10; // 0xa
+    field public static final int INVALID_NUMBER = 7; // 0x7
+    field public static final int LIMIT_EXCEEDED = 15; // 0xf
+    field public static final int LOCAL = 3; // 0x3
+    field public static final int LOST_SIGNAL = 14; // 0xe
+    field public static final int LOW_BATTERY = 61; // 0x3d
+    field public static final int MAXIMUM_NUMBER_OF_CALLS_REACHED = 53; // 0x35
+    field public static final int MEDIA_TIMEOUT = 77; // 0x4d
+    field public static final int MMI = 6; // 0x6
+    field public static final int NORMAL = 2; // 0x2
+    field public static final int NORMAL_UNSPECIFIED = 65; // 0x41
+    field public static final int NOT_DISCONNECTED = 0; // 0x0
+    field public static final int NOT_VALID = -1; // 0xffffffff
+    field public static final int NO_PHONE_NUMBER_SUPPLIED = 38; // 0x26
+    field public static final int NUMBER_UNREACHABLE = 8; // 0x8
+    field public static final int OTASP_PROVISIONING_IN_PROCESS = 76; // 0x4c
+    field public static final int OUTGOING_CANCELED = 44; // 0x2c
+    field public static final int OUTGOING_EMERGENCY_CALL_PLACED = 80; // 0x50
+    field public static final int OUTGOING_FAILURE = 43; // 0x2b
+    field public static final int OUT_OF_NETWORK = 11; // 0xb
+    field public static final int OUT_OF_SERVICE = 18; // 0x12
+    field public static final int POWER_OFF = 17; // 0x11
+    field public static final int SERVER_ERROR = 12; // 0xc
+    field public static final int SERVER_UNREACHABLE = 9; // 0x9
+    field public static final int TIMED_OUT = 13; // 0xd
+    field public static final int TOO_MANY_ONGOING_CALLS = 75; // 0x4b
+    field public static final int UNOBTAINABLE_NUMBER = 25; // 0x19
+    field public static final int VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED = 50; // 0x32
+    field public static final int VOICEMAIL_NUMBER_MISSING = 40; // 0x28
+    field public static final int WFC_SERVICE_NOT_AVAILABLE_IN_THIS_LOCATION = 79; // 0x4f
+    field public static final int WIFI_LOST = 59; // 0x3b
+  }
+
+  public class IccOpenLogicalChannelResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getChannel();
+    method public byte[] getSelectResponse();
+    method public int getStatus();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.IccOpenLogicalChannelResponse> CREATOR;
+    field public static final int INVALID_CHANNEL = -1; // 0xffffffff
+    field public static final int STATUS_MISSING_RESOURCE = 2; // 0x2
+    field public static final int STATUS_NO_ERROR = 1; // 0x1
+    field public static final int STATUS_NO_SUCH_ELEMENT = 3; // 0x3
+    field public static final int STATUS_UNKNOWN_ERROR = 4; // 0x4
+  }
+
+  public class MbmsDownloadSession implements java.lang.AutoCloseable {
+    method public void addProgressListener(@NonNull android.telephony.mbms.DownloadRequest, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.DownloadProgressListener);
+    method public void addServiceAnnouncement(@NonNull byte[]);
+    method public void addStatusListener(@NonNull android.telephony.mbms.DownloadRequest, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.DownloadStatusListener);
+    method public void cancelDownload(@NonNull android.telephony.mbms.DownloadRequest);
+    method public void close();
+    method public static android.telephony.MbmsDownloadSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsDownloadSessionCallback);
+    method @Nullable public static android.telephony.MbmsDownloadSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, int, @NonNull android.telephony.mbms.MbmsDownloadSessionCallback);
+    method public void download(@NonNull android.telephony.mbms.DownloadRequest);
+    method public static int getMaximumServiceAnnouncementSize();
+    method @Nullable public java.io.File getTempFileRootDirectory();
+    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads();
+    method public void removeProgressListener(@NonNull android.telephony.mbms.DownloadRequest, @NonNull android.telephony.mbms.DownloadProgressListener);
+    method public void removeStatusListener(@NonNull android.telephony.mbms.DownloadRequest, @NonNull android.telephony.mbms.DownloadStatusListener);
+    method public void requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo);
+    method public void requestUpdateFileServices(@NonNull java.util.List<java.lang.String>);
+    method public void resetDownloadKnowledge(android.telephony.mbms.DownloadRequest);
+    method public void setTempFileRootDirectory(@NonNull java.io.File);
+    field public static final String DEFAULT_TOP_LEVEL_TEMP_DIRECTORY = "androidMbmsTempFileRoot";
+    field public static final String EXTRA_MBMS_COMPLETED_FILE_URI = "android.telephony.extra.MBMS_COMPLETED_FILE_URI";
+    field public static final String EXTRA_MBMS_DOWNLOAD_REQUEST = "android.telephony.extra.MBMS_DOWNLOAD_REQUEST";
+    field public static final String EXTRA_MBMS_DOWNLOAD_RESULT = "android.telephony.extra.MBMS_DOWNLOAD_RESULT";
+    field public static final String EXTRA_MBMS_FILE_INFO = "android.telephony.extra.MBMS_FILE_INFO";
+    field public static final int RESULT_CANCELLED = 2; // 0x2
+    field public static final int RESULT_DOWNLOAD_FAILURE = 6; // 0x6
+    field public static final int RESULT_EXPIRED = 3; // 0x3
+    field public static final int RESULT_FILE_ROOT_UNREACHABLE = 8; // 0x8
+    field public static final int RESULT_IO_ERROR = 4; // 0x4
+    field public static final int RESULT_OUT_OF_STORAGE = 7; // 0x7
+    field public static final int RESULT_SERVICE_ID_NOT_DEFINED = 5; // 0x5
+    field public static final int RESULT_SUCCESSFUL = 1; // 0x1
+    field public static final int STATUS_ACTIVELY_DOWNLOADING = 1; // 0x1
+    field public static final int STATUS_PENDING_DOWNLOAD = 2; // 0x2
+    field public static final int STATUS_PENDING_DOWNLOAD_WINDOW = 4; // 0x4
+    field public static final int STATUS_PENDING_REPAIR = 3; // 0x3
+    field public static final int STATUS_UNKNOWN = 0; // 0x0
+  }
+
+  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @Nullable public static android.telephony.MbmsGroupCallSession create(@NonNull android.content.Context, int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsGroupCallSessionCallback);
+    method @Nullable public static android.telephony.MbmsGroupCallSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsGroupCallSessionCallback);
+    method @Nullable public android.telephony.mbms.GroupCall startGroupCall(long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.GroupCallCallback);
+  }
+
+  public class MbmsStreamingSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @Nullable public static android.telephony.MbmsStreamingSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, int, @NonNull android.telephony.mbms.MbmsStreamingSessionCallback);
+    method public static android.telephony.MbmsStreamingSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsStreamingSessionCallback);
+    method public void requestUpdateStreamingServices(java.util.List<java.lang.String>);
+    method @Nullable public android.telephony.mbms.StreamingService startStreaming(android.telephony.mbms.StreamingServiceInfo, @NonNull java.util.concurrent.Executor, android.telephony.mbms.StreamingServiceCallback);
+  }
+
+  @Deprecated public class NeighboringCellInfo implements android.os.Parcelable {
+    ctor @Deprecated public NeighboringCellInfo();
+    ctor @Deprecated public NeighboringCellInfo(int, int);
+    ctor @Deprecated public NeighboringCellInfo(int, String, int);
+    ctor @Deprecated public NeighboringCellInfo(android.os.Parcel);
+    method @Deprecated public int describeContents();
+    method @Deprecated public int getCid();
+    method @Deprecated public int getLac();
+    method @Deprecated public int getNetworkType();
+    method @Deprecated public int getPsc();
+    method @Deprecated public int getRssi();
+    method @Deprecated public void setCid(int);
+    method @Deprecated public void setRssi(int);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telephony.NeighboringCellInfo> CREATOR;
+    field @Deprecated public static final int UNKNOWN_CID = -1; // 0xffffffff
+    field @Deprecated public static final int UNKNOWN_RSSI = 99; // 0x63
+  }
+
+  public final class NetworkRegistrationInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAccessNetworkTechnology();
+    method @NonNull public java.util.List<java.lang.Integer> getAvailableServices();
+    method @Nullable public android.telephony.CellIdentity getCellIdentity();
+    method public int getDomain();
+    method @Nullable public String getRegisteredPlmn();
+    method public int getTransportType();
+    method public boolean isRegistered();
+    method public boolean isRoaming();
+    method public boolean isSearching();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NetworkRegistrationInfo> CREATOR;
+    field public static final int DOMAIN_CS = 1; // 0x1
+    field public static final int DOMAIN_CS_PS = 3; // 0x3
+    field public static final int DOMAIN_PS = 2; // 0x2
+    field public static final int DOMAIN_UNKNOWN = 0; // 0x0
+    field public static final int NR_STATE_CONNECTED = 3; // 0x3
+    field public static final int NR_STATE_NONE = 0; // 0x0
+    field public static final int NR_STATE_NOT_RESTRICTED = 2; // 0x2
+    field public static final int NR_STATE_RESTRICTED = 1; // 0x1
+    field public static final int SERVICE_TYPE_DATA = 2; // 0x2
+    field public static final int SERVICE_TYPE_EMERGENCY = 5; // 0x5
+    field public static final int SERVICE_TYPE_SMS = 3; // 0x3
+    field public static final int SERVICE_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int SERVICE_TYPE_VIDEO = 4; // 0x4
+    field public static final int SERVICE_TYPE_VOICE = 1; // 0x1
+  }
+
+  public class NetworkScan {
+    method public void stopScan();
+    field public static final int ERROR_INTERRUPTED = 10002; // 0x2712
+    field public static final int ERROR_INVALID_SCAN = 2; // 0x2
+    field public static final int ERROR_INVALID_SCANID = 10001; // 0x2711
+    field public static final int ERROR_MODEM_ERROR = 1; // 0x1
+    field public static final int ERROR_MODEM_UNAVAILABLE = 3; // 0x3
+    field public static final int ERROR_RADIO_INTERFACE_ERROR = 10000; // 0x2710
+    field public static final int ERROR_UNSUPPORTED = 4; // 0x4
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public final class NetworkScanRequest implements android.os.Parcelable {
+    ctor public NetworkScanRequest(int, android.telephony.RadioAccessSpecifier[], int, int, boolean, int, java.util.ArrayList<java.lang.String>);
+    method public int describeContents();
+    method public boolean getIncrementalResults();
+    method public int getIncrementalResultsPeriodicity();
+    method public int getMaxSearchTime();
+    method public java.util.ArrayList<java.lang.String> getPlmns();
+    method public int getScanType();
+    method public int getSearchPeriodicity();
+    method public android.telephony.RadioAccessSpecifier[] getSpecifiers();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NetworkScanRequest> CREATOR;
+    field public static final int SCAN_TYPE_ONE_SHOT = 0; // 0x0
+    field public static final int SCAN_TYPE_PERIODIC = 1; // 0x1
+  }
+
+  public class PhoneNumberFormattingTextWatcher implements android.text.TextWatcher {
+    ctor public PhoneNumberFormattingTextWatcher();
+    ctor public PhoneNumberFormattingTextWatcher(String);
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public void onTextChanged(CharSequence, int, int, int);
+  }
+
+  public class PhoneNumberUtils {
+    ctor public PhoneNumberUtils();
+    method public static void addTtsSpan(android.text.Spannable, int, int);
+    method public static boolean areSamePhoneNumber(@NonNull String, @NonNull String, @NonNull String);
+    method @Deprecated public static String calledPartyBCDFragmentToString(byte[], int, int);
+    method public static String calledPartyBCDFragmentToString(byte[], int, int, int);
+    method @Deprecated public static String calledPartyBCDToString(byte[], int, int);
+    method public static String calledPartyBCDToString(byte[], int, int, int);
+    method @Deprecated public static boolean compare(String, String);
+    method @Deprecated public static boolean compare(android.content.Context, String, String);
+    method public static String convertKeypadLettersToDigits(String);
+    method public static android.text.style.TtsSpan createTtsSpan(String);
+    method public static CharSequence createTtsSpannable(CharSequence);
+    method public static String extractNetworkPortion(String);
+    method public static String extractPostDialPortion(String);
+    method @Deprecated public static void formatJapaneseNumber(android.text.Editable);
+    method @Deprecated public static void formatNanpNumber(android.text.Editable);
+    method @Deprecated public static String formatNumber(String);
+    method @Deprecated public static void formatNumber(android.text.Editable, int);
+    method public static String formatNumber(String, String);
+    method public static String formatNumber(String, String, String);
+    method public static String formatNumberToE164(String, String);
+    method public static String formatNumberToRFC3966(String, String);
+    method @Deprecated public static int getFormatTypeForLocale(java.util.Locale);
+    method public static String getNumberFromIntent(android.content.Intent, android.content.Context);
+    method public static String getStrippedReversed(String);
+    method public static final boolean is12Key(char);
+    method public static final boolean isDialable(char);
+    method @Deprecated public static boolean isEmergencyNumber(String);
+    method public static boolean isGlobalPhoneNumber(String);
+    method public static boolean isISODigit(char);
+    method @Deprecated public static boolean isLocalEmergencyNumber(android.content.Context, String);
+    method public static final boolean isNonSeparator(char);
+    method public static final boolean isReallyDialable(char);
+    method public static final boolean isStartsPostDial(char);
+    method public static boolean isVoiceMailNumber(String);
+    method public static boolean isWellFormedSmsAddress(String);
+    method public static byte[] networkPortionToCalledPartyBCD(String);
+    method public static byte[] networkPortionToCalledPartyBCDWithLength(String);
+    method public static String normalizeNumber(String);
+    method @Deprecated public static byte[] numberToCalledPartyBCD(String);
+    method public static byte[] numberToCalledPartyBCD(String, int);
+    method public static String replaceUnicodeDigits(String);
+    method public static String stringFromStringAndTOA(String, int);
+    method public static String stripSeparators(String);
+    method public static String toCallerIDMinMatch(String);
+    method public static int toaFromString(String);
+    field public static final int BCD_EXTENDED_TYPE_CALLED_PARTY = 2; // 0x2
+    field public static final int BCD_EXTENDED_TYPE_EF_ADN = 1; // 0x1
+    field public static final int FORMAT_JAPAN = 2; // 0x2
+    field public static final int FORMAT_NANP = 1; // 0x1
+    field public static final int FORMAT_UNKNOWN = 0; // 0x0
+    field public static final char PAUSE = 44; // 0x002c ','
+    field public static final int TOA_International = 145; // 0x91
+    field public static final int TOA_Unknown = 129; // 0x81
+    field public static final char WAIT = 59; // 0x003b ';'
+    field public static final char WILD = 78; // 0x004e 'N'
+  }
+
+  @Deprecated public class PhoneStateListener {
+    ctor @Deprecated public PhoneStateListener();
+    ctor @Deprecated public PhoneStateListener(@NonNull java.util.concurrent.Executor);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onActiveDataSubscriptionIdChanged(int);
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onBarringInfoChanged(@NonNull android.telephony.BarringInfo);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallDisconnectCauseChanged(int, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onCallForwardingIndicatorChanged(boolean);
+    method @Deprecated @RequiresPermission(value=android.Manifest.permission.READ_PHONE_STATE, conditional=true) public void onCallStateChanged(int, String);
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onCellInfoChanged(java.util.List<android.telephony.CellInfo>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void onCellLocationChanged(android.telephony.CellLocation);
+    method @Deprecated public void onDataActivity(int);
+    method @Deprecated public void onDataConnectionStateChanged(int);
+    method @Deprecated public void onDataConnectionStateChanged(int, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onDisplayInfoChanged(@NonNull android.telephony.TelephonyDisplayInfo);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onEmergencyNumberListChanged(@NonNull java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onImsCallDisconnectCauseChanged(@NonNull android.telephony.ims.ImsReasonInfo);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onMessageWaitingIndicatorChanged(boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseDataConnectionStateChanged(@NonNull android.telephony.PreciseDataConnectionState);
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onRegistrationFailed(@NonNull android.telephony.CellIdentity, @NonNull String, int, int, int);
+    method @Deprecated public void onServiceStateChanged(android.telephony.ServiceState);
+    method @Deprecated public void onSignalStrengthChanged(int);
+    method @Deprecated public void onSignalStrengthsChanged(android.telephony.SignalStrength);
+    method @Deprecated public void onUserMobileDataStateChanged(boolean);
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE = 4194304; // 0x400000
+    field @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int LISTEN_BARRING_INFO = -2147483648; // 0x80000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_DISCONNECT_CAUSES = 33554432; // 0x2000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_CALL_FORWARDING_INDICATOR = 8; // 0x8
+    field @Deprecated public static final int LISTEN_CALL_STATE = 32; // 0x20
+    field @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int LISTEN_CELL_INFO = 1024; // 0x400
+    field @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int LISTEN_CELL_LOCATION = 16; // 0x10
+    field @Deprecated public static final int LISTEN_DATA_ACTIVITY = 128; // 0x80
+    field @Deprecated public static final int LISTEN_DATA_CONNECTION_STATE = 64; // 0x40
+    field @Deprecated public static final int LISTEN_DISPLAY_INFO_CHANGED = 1048576; // 0x100000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_EMERGENCY_NUMBER_LIST = 16777216; // 0x1000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_IMS_CALL_DISCONNECT_CAUSES = 134217728; // 0x8000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_MESSAGE_WAITING_INDICATOR = 4; // 0x4
+    field @Deprecated public static final int LISTEN_NONE = 0; // 0x0
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_DATA_CONNECTION_STATE = 4096; // 0x1000
+    field @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int LISTEN_REGISTRATION_FAILURE = 1073741824; // 0x40000000
+    field @Deprecated public static final int LISTEN_SERVICE_STATE = 1; // 0x1
+    field @Deprecated public static final int LISTEN_SIGNAL_STRENGTH = 2; // 0x2
+    field @Deprecated public static final int LISTEN_SIGNAL_STRENGTHS = 256; // 0x100
+    field @Deprecated public static final int LISTEN_USER_MOBILE_DATA_STATE = 524288; // 0x80000
+  }
+
+  public final class PhysicalChannelConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=1, to=261) public int getBand();
+    method @IntRange(from=1) public int getCellBandwidthDownlinkKhz();
+    method @IntRange(from=1) public int getCellBandwidthUplinkKhz();
+    method public int getConnectionStatus();
+    method @IntRange(from=0) public int getDownlinkChannelNumber();
+    method @IntRange(from=0) public int getDownlinkFrequencyKhz();
+    method public int getNetworkType();
+    method @IntRange(from=0, to=1007) public int getPhysicalCellId();
+    method @IntRange(from=0) public int getUplinkChannelNumber();
+    method @IntRange(from=0) public int getUplinkFrequencyKhz();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int BAND_UNKNOWN = 0; // 0x0
+    field public static final int CELL_BANDWIDTH_UNKNOWN = 0; // 0x0
+    field public static final int CHANNEL_NUMBER_UNKNOWN = 2147483647; // 0x7fffffff
+    field public static final int CONNECTION_PRIMARY_SERVING = 1; // 0x1
+    field public static final int CONNECTION_SECONDARY_SERVING = 2; // 0x2
+    field public static final int CONNECTION_UNKNOWN = -1; // 0xffffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhysicalChannelConfig> CREATOR;
+    field public static final int FREQUENCY_UNKNOWN = -1; // 0xffffffff
+    field public static final int PHYSICAL_CELL_ID_MAXIMUM_VALUE = 1007; // 0x3ef
+    field public static final int PHYSICAL_CELL_ID_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class PreciseDataConnectionState implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.telephony.data.ApnSetting getApnSetting();
+    method public int getId();
+    method public int getLastCauseCode();
+    method @Nullable public android.net.LinkProperties getLinkProperties();
+    method public int getNetworkType();
+    method public int getState();
+    method public int getTransportType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseDataConnectionState> CREATOR;
+  }
+
+  public final class RadioAccessSpecifier implements android.os.Parcelable {
+    ctor public RadioAccessSpecifier(int, int[], int[]);
+    method public int describeContents();
+    method public int[] getBands();
+    method public int[] getChannels();
+    method public int getRadioAccessNetwork();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.RadioAccessSpecifier> CREATOR;
+  }
+
+  public class ServiceState implements android.os.Parcelable {
+    ctor public ServiceState();
+    ctor public ServiceState(android.telephony.ServiceState);
+    ctor @Deprecated public ServiceState(android.os.Parcel);
+    method protected void copyFrom(android.telephony.ServiceState);
+    method public int describeContents();
+    method public int getCdmaNetworkId();
+    method public int getCdmaSystemId();
+    method public int[] getCellBandwidths();
+    method public int getChannelNumber();
+    method public int getDuplexMode();
+    method public boolean getIsManualSelection();
+    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoList();
+    method public String getOperatorAlphaLong();
+    method public String getOperatorAlphaShort();
+    method public String getOperatorNumeric();
+    method public boolean getRoaming();
+    method public int getState();
+    method public boolean isSearching();
+    method public void setIsManualSelection(boolean);
+    method public void setOperatorName(String, String, String);
+    method public void setRoaming(boolean);
+    method public void setState(int);
+    method public void setStateOff();
+    method public void setStateOutOfService();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ServiceState> CREATOR;
+    field public static final int DUPLEX_MODE_FDD = 1; // 0x1
+    field public static final int DUPLEX_MODE_TDD = 2; // 0x2
+    field public static final int DUPLEX_MODE_UNKNOWN = 0; // 0x0
+    field public static final int STATE_EMERGENCY_ONLY = 2; // 0x2
+    field public static final int STATE_IN_SERVICE = 0; // 0x0
+    field public static final int STATE_OUT_OF_SERVICE = 1; // 0x1
+    field public static final int STATE_POWER_OFF = 3; // 0x3
+    field public static final int UNKNOWN_ID = -1; // 0xffffffff
+  }
+
+  public class SignalStrength implements android.os.Parcelable {
+    ctor public SignalStrength(@NonNull android.telephony.SignalStrength);
+    method public int describeContents();
+    method @Deprecated public int getCdmaDbm();
+    method @Deprecated public int getCdmaEcio();
+    method @NonNull public java.util.List<android.telephony.CellSignalStrength> getCellSignalStrengths();
+    method @NonNull public <T extends android.telephony.CellSignalStrength> java.util.List<T> getCellSignalStrengths(@NonNull Class<T>);
+    method @Deprecated public int getEvdoDbm();
+    method @Deprecated public int getEvdoEcio();
+    method @Deprecated public int getEvdoSnr();
+    method @Deprecated public int getGsmBitErrorRate();
+    method @Deprecated public int getGsmSignalStrength();
+    method public int getLevel();
+    method public long getTimestampMillis();
+    method @Deprecated public boolean isGsm();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SignalStrength> CREATOR;
+    field public static final int INVALID = 2147483647; // 0x7fffffff
+  }
+
+  public final class SignalStrengthUpdateRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Collection<android.telephony.SignalThresholdInfo> getSignalThresholdInfos();
+    method public boolean isReportingRequestedWhileIdle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SignalStrengthUpdateRequest> CREATOR;
+  }
+
+  public static final class SignalStrengthUpdateRequest.Builder {
+    ctor public SignalStrengthUpdateRequest.Builder();
+    method @NonNull public android.telephony.SignalStrengthUpdateRequest build();
+    method @NonNull public android.telephony.SignalStrengthUpdateRequest.Builder setReportingRequestedWhileIdle(boolean);
+    method @NonNull public android.telephony.SignalStrengthUpdateRequest.Builder setSignalThresholdInfos(@NonNull java.util.Collection<android.telephony.SignalThresholdInfo>);
+  }
+
+  public final class SignalThresholdInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public static int getMaximumNumberOfThresholdsAllowed();
+    method public static int getMinimumNumberOfThresholdsAllowed();
+    method public int getRadioAccessNetworkType();
+    method public int getSignalMeasurementType();
+    method @NonNull public int[] getThresholds();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SignalThresholdInfo> CREATOR;
+    field public static final int SIGNAL_MEASUREMENT_TYPE_RSCP = 2; // 0x2
+    field public static final int SIGNAL_MEASUREMENT_TYPE_RSRP = 3; // 0x3
+    field public static final int SIGNAL_MEASUREMENT_TYPE_RSRQ = 4; // 0x4
+    field public static final int SIGNAL_MEASUREMENT_TYPE_RSSI = 1; // 0x1
+    field public static final int SIGNAL_MEASUREMENT_TYPE_RSSNR = 5; // 0x5
+    field public static final int SIGNAL_MEASUREMENT_TYPE_SSRSRP = 6; // 0x6
+    field public static final int SIGNAL_MEASUREMENT_TYPE_SSRSRQ = 7; // 0x7
+    field public static final int SIGNAL_MEASUREMENT_TYPE_SSSINR = 8; // 0x8
+    field public static final int SIGNAL_MEASUREMENT_TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class SignalThresholdInfo.Builder {
+    ctor public SignalThresholdInfo.Builder();
+    method @NonNull public android.telephony.SignalThresholdInfo build();
+    method @NonNull public android.telephony.SignalThresholdInfo.Builder setRadioAccessNetworkType(int);
+    method @NonNull public android.telephony.SignalThresholdInfo.Builder setSignalMeasurementType(int);
+    method @NonNull public android.telephony.SignalThresholdInfo.Builder setThresholds(@NonNull int[]);
+  }
+
+  public final class SmsManager {
+    method public String createAppSpecificSmsToken(android.app.PendingIntent);
+    method @Nullable public String createAppSpecificSmsTokenWithPackageInfo(@Nullable String, @NonNull android.app.PendingIntent);
+    method @NonNull public android.telephony.SmsManager createForSubscriptionId(int);
+    method public java.util.ArrayList<java.lang.String> divideMessage(String);
+    method public void downloadMultimediaMessage(android.content.Context, String, android.net.Uri, android.os.Bundle, android.app.PendingIntent);
+    method public void downloadMultimediaMessage(@NonNull android.content.Context, @NonNull String, @NonNull android.net.Uri, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent, long);
+    method @NonNull public android.os.Bundle getCarrierConfigValues();
+    method @Deprecated public static android.telephony.SmsManager getDefault();
+    method public static int getDefaultSmsSubscriptionId();
+    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.READ_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public int getSmsCapacityOnIcc();
+    method @Deprecated public static android.telephony.SmsManager getSmsManagerForSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.SMS_FINANCIAL_TRANSACTIONS) public void getSmsMessagesForFinancialApp(android.os.Bundle, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.SmsManager.FinancialSmsCallback);
+    method @Nullable @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getSmscAddress();
+    method public int getSubscriptionId();
+    method public void injectSmsPdu(byte[], String, android.app.PendingIntent);
+    method public void sendDataMessage(String, String, short, byte[], android.app.PendingIntent, android.app.PendingIntent);
+    method public void sendMultimediaMessage(android.content.Context, android.net.Uri, String, android.os.Bundle, android.app.PendingIntent);
+    method public void sendMultimediaMessage(@NonNull android.content.Context, @NonNull android.net.Uri, @Nullable String, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent, long);
+    method public void sendMultipartTextMessage(String, String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>);
+    method public void sendMultipartTextMessage(@NonNull String, @Nullable String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, long);
+    method public void sendMultipartTextMessage(@NonNull String, @Nullable String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String, @Nullable String);
+    method public void sendTextMessage(String, String, String, android.app.PendingIntent, android.app.PendingIntent);
+    method public void sendTextMessage(@NonNull String, @Nullable String, @NonNull String, @Nullable android.app.PendingIntent, @Nullable android.app.PendingIntent, long);
+    method @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.SEND_SMS}) public void sendTextMessageWithoutPersisting(String, String, String, android.app.PendingIntent, android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSmscAddress(@NonNull String);
+    field public static final String EXTRA_MMS_DATA = "android.telephony.extra.MMS_DATA";
+    field public static final String EXTRA_MMS_HTTP_STATUS = "android.telephony.extra.MMS_HTTP_STATUS";
+    field public static final String MMS_CONFIG_ALIAS_ENABLED = "aliasEnabled";
+    field public static final String MMS_CONFIG_ALIAS_MAX_CHARS = "aliasMaxChars";
+    field public static final String MMS_CONFIG_ALIAS_MIN_CHARS = "aliasMinChars";
+    field public static final String MMS_CONFIG_ALLOW_ATTACH_AUDIO = "allowAttachAudio";
+    field public static final String MMS_CONFIG_APPEND_TRANSACTION_ID = "enabledTransID";
+    field public static final String MMS_CONFIG_EMAIL_GATEWAY_NUMBER = "emailGatewayNumber";
+    field public static final String MMS_CONFIG_GROUP_MMS_ENABLED = "enableGroupMms";
+    field public static final String MMS_CONFIG_HTTP_PARAMS = "httpParams";
+    field public static final String MMS_CONFIG_HTTP_SOCKET_TIMEOUT = "httpSocketTimeout";
+    field public static final String MMS_CONFIG_MAX_IMAGE_HEIGHT = "maxImageHeight";
+    field public static final String MMS_CONFIG_MAX_IMAGE_WIDTH = "maxImageWidth";
+    field public static final String MMS_CONFIG_MAX_MESSAGE_SIZE = "maxMessageSize";
+    field public static final String MMS_CONFIG_MESSAGE_TEXT_MAX_SIZE = "maxMessageTextSize";
+    field public static final String MMS_CONFIG_MMS_DELIVERY_REPORT_ENABLED = "enableMMSDeliveryReports";
+    field public static final String MMS_CONFIG_MMS_ENABLED = "enabledMMS";
+    field public static final String MMS_CONFIG_MMS_READ_REPORT_ENABLED = "enableMMSReadReports";
+    field public static final String MMS_CONFIG_MULTIPART_SMS_ENABLED = "enableMultipartSMS";
+    field public static final String MMS_CONFIG_NAI_SUFFIX = "naiSuffix";
+    field public static final String MMS_CONFIG_NOTIFY_WAP_MMSC_ENABLED = "enabledNotifyWapMMSC";
+    field public static final String MMS_CONFIG_RECIPIENT_LIMIT = "recipientLimit";
+    field public static final String MMS_CONFIG_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES = "sendMultipartSmsAsSeparateMessages";
+    field public static final String MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS = "config_cellBroadcastAppLinks";
+    field public static final String MMS_CONFIG_SMS_DELIVERY_REPORT_ENABLED = "enableSMSDeliveryReports";
+    field public static final String MMS_CONFIG_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD = "smsToMmsTextLengthThreshold";
+    field public static final String MMS_CONFIG_SMS_TO_MMS_TEXT_THRESHOLD = "smsToMmsTextThreshold";
+    field public static final String MMS_CONFIG_SUBJECT_MAX_LENGTH = "maxSubjectLength";
+    field public static final String MMS_CONFIG_SUPPORT_HTTP_CHARSET_HEADER = "supportHttpCharsetHeader";
+    field public static final String MMS_CONFIG_SUPPORT_MMS_CONTENT_DISPOSITION = "supportMmsContentDisposition";
+    field public static final String MMS_CONFIG_UA_PROF_TAG_NAME = "uaProfTagName";
+    field public static final String MMS_CONFIG_UA_PROF_URL = "uaProfUrl";
+    field public static final String MMS_CONFIG_USER_AGENT = "userAgent";
+    field public static final int MMS_ERROR_CONFIGURATION_ERROR = 7; // 0x7
+    field public static final int MMS_ERROR_HTTP_FAILURE = 4; // 0x4
+    field public static final int MMS_ERROR_INVALID_APN = 2; // 0x2
+    field public static final int MMS_ERROR_IO_ERROR = 5; // 0x5
+    field public static final int MMS_ERROR_NO_DATA_NETWORK = 8; // 0x8
+    field public static final int MMS_ERROR_RETRY = 6; // 0x6
+    field public static final int MMS_ERROR_UNABLE_CONNECT_MMS = 3; // 0x3
+    field public static final int MMS_ERROR_UNSPECIFIED = 1; // 0x1
+    field public static final int RESULT_BLUETOOTH_DISCONNECTED = 27; // 0x1b
+    field public static final int RESULT_CANCELLED = 23; // 0x17
+    field public static final int RESULT_ENCODING_ERROR = 18; // 0x12
+    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 6; // 0x6
+    field public static final int RESULT_ERROR_GENERIC_FAILURE = 1; // 0x1
+    field public static final int RESULT_ERROR_LIMIT_EXCEEDED = 5; // 0x5
+    field public static final int RESULT_ERROR_NONE = 0; // 0x0
+    field public static final int RESULT_ERROR_NO_SERVICE = 4; // 0x4
+    field public static final int RESULT_ERROR_NULL_PDU = 3; // 0x3
+    field public static final int RESULT_ERROR_RADIO_OFF = 2; // 0x2
+    field public static final int RESULT_ERROR_SHORT_CODE_NEVER_ALLOWED = 8; // 0x8
+    field public static final int RESULT_ERROR_SHORT_CODE_NOT_ALLOWED = 7; // 0x7
+    field public static final int RESULT_INTERNAL_ERROR = 21; // 0x15
+    field public static final int RESULT_INVALID_ARGUMENTS = 11; // 0xb
+    field public static final int RESULT_INVALID_BLUETOOTH_ADDRESS = 26; // 0x1a
+    field public static final int RESULT_INVALID_SMSC_ADDRESS = 19; // 0x13
+    field public static final int RESULT_INVALID_SMS_FORMAT = 14; // 0xe
+    field public static final int RESULT_INVALID_STATE = 12; // 0xc
+    field public static final int RESULT_MODEM_ERROR = 16; // 0x10
+    field public static final int RESULT_NETWORK_ERROR = 17; // 0x11
+    field public static final int RESULT_NETWORK_REJECT = 10; // 0xa
+    field public static final int RESULT_NO_BLUETOOTH_SERVICE = 25; // 0x19
+    field public static final int RESULT_NO_DEFAULT_SMS_APP = 32; // 0x20
+    field public static final int RESULT_NO_MEMORY = 13; // 0xd
+    field public static final int RESULT_NO_RESOURCES = 22; // 0x16
+    field public static final int RESULT_OPERATION_NOT_ALLOWED = 20; // 0x14
+    field public static final int RESULT_RADIO_NOT_AVAILABLE = 9; // 0x9
+    field public static final int RESULT_RECEIVE_DISPATCH_FAILURE = 500; // 0x1f4
+    field public static final int RESULT_RECEIVE_INJECTED_NULL_PDU = 501; // 0x1f5
+    field public static final int RESULT_RECEIVE_NULL_MESSAGE_FROM_RIL = 503; // 0x1f7
+    field public static final int RESULT_RECEIVE_RUNTIME_EXCEPTION = 502; // 0x1f6
+    field public static final int RESULT_RECEIVE_SQL_EXCEPTION = 505; // 0x1f9
+    field public static final int RESULT_RECEIVE_URI_EXCEPTION = 506; // 0x1fa
+    field public static final int RESULT_RECEIVE_WHILE_ENCRYPTED = 504; // 0x1f8
+    field public static final int RESULT_REMOTE_EXCEPTION = 31; // 0x1f
+    field public static final int RESULT_REQUEST_NOT_SUPPORTED = 24; // 0x18
+    field public static final int RESULT_RIL_ACCESS_BARRED = 122; // 0x7a
+    field public static final int RESULT_RIL_BLOCKED_DUE_TO_CALL = 123; // 0x7b
+    field public static final int RESULT_RIL_CANCELLED = 119; // 0x77
+    field public static final int RESULT_RIL_ENCODING_ERR = 109; // 0x6d
+    field public static final int RESULT_RIL_INTERNAL_ERR = 113; // 0x71
+    field public static final int RESULT_RIL_INVALID_ARGUMENTS = 104; // 0x68
+    field public static final int RESULT_RIL_INVALID_MODEM_STATE = 115; // 0x73
+    field public static final int RESULT_RIL_INVALID_SMSC_ADDRESS = 110; // 0x6e
+    field public static final int RESULT_RIL_INVALID_SMS_FORMAT = 107; // 0x6b
+    field public static final int RESULT_RIL_INVALID_STATE = 103; // 0x67
+    field public static final int RESULT_RIL_MODEM_ERR = 111; // 0x6f
+    field public static final int RESULT_RIL_NETWORK_ERR = 112; // 0x70
+    field public static final int RESULT_RIL_NETWORK_NOT_READY = 116; // 0x74
+    field public static final int RESULT_RIL_NETWORK_REJECT = 102; // 0x66
+    field public static final int RESULT_RIL_NO_MEMORY = 105; // 0x69
+    field public static final int RESULT_RIL_NO_RESOURCES = 118; // 0x76
+    field public static final int RESULT_RIL_OPERATION_NOT_ALLOWED = 117; // 0x75
+    field public static final int RESULT_RIL_RADIO_NOT_AVAILABLE = 100; // 0x64
+    field public static final int RESULT_RIL_REQUEST_NOT_SUPPORTED = 114; // 0x72
+    field public static final int RESULT_RIL_REQUEST_RATE_LIMITED = 106; // 0x6a
+    field public static final int RESULT_RIL_SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED = 121; // 0x79
+    field public static final int RESULT_RIL_SIM_ABSENT = 120; // 0x78
+    field public static final int RESULT_RIL_SMS_SEND_FAIL_RETRY = 101; // 0x65
+    field public static final int RESULT_RIL_SYSTEM_ERR = 108; // 0x6c
+    field public static final int RESULT_SMS_BLOCKED_DURING_EMERGENCY = 29; // 0x1d
+    field public static final int RESULT_SMS_SEND_RETRY_FAILED = 30; // 0x1e
+    field public static final int RESULT_SYSTEM_ERROR = 15; // 0xf
+    field public static final int RESULT_UNEXPECTED_EVENT_STOP_SENDING = 28; // 0x1c
+    field public static final int STATUS_ON_ICC_FREE = 0; // 0x0
+    field public static final int STATUS_ON_ICC_READ = 1; // 0x1
+    field public static final int STATUS_ON_ICC_SENT = 5; // 0x5
+    field public static final int STATUS_ON_ICC_UNREAD = 3; // 0x3
+    field public static final int STATUS_ON_ICC_UNSENT = 7; // 0x7
+  }
+
+  public abstract static class SmsManager.FinancialSmsCallback {
+    ctor public SmsManager.FinancialSmsCallback();
+    method public abstract void onFinancialSmsMessages(android.database.CursorWindow);
+  }
+
+  public class SmsMessage {
+    method public static int[] calculateLength(CharSequence, boolean);
+    method public static int[] calculateLength(String, boolean);
+    method @Deprecated public static android.telephony.SmsMessage createFromPdu(byte[]);
+    method public static android.telephony.SmsMessage createFromPdu(byte[], String);
+    method public String getDisplayMessageBody();
+    method public String getDisplayOriginatingAddress();
+    method public String getEmailBody();
+    method public String getEmailFrom();
+    method public int getIndexOnIcc();
+    method @Deprecated public int getIndexOnSim();
+    method public String getMessageBody();
+    method public android.telephony.SmsMessage.MessageClass getMessageClass();
+    method @Nullable public String getOriginatingAddress();
+    method public byte[] getPdu();
+    method public int getProtocolIdentifier();
+    method public String getPseudoSubject();
+    method public String getServiceCenterAddress();
+    method public int getStatus();
+    method public int getStatusOnIcc();
+    method @Deprecated public int getStatusOnSim();
+    method public static android.telephony.SmsMessage.SubmitPdu getSubmitPdu(String, String, String, boolean);
+    method public static android.telephony.SmsMessage.SubmitPdu getSubmitPdu(String, String, short, byte[], boolean);
+    method public static int getTPLayerLengthForPDU(String);
+    method public long getTimestampMillis();
+    method public byte[] getUserData();
+    method public boolean isCphsMwiMessage();
+    method public boolean isEmail();
+    method public boolean isMWIClearMessage();
+    method public boolean isMWISetMessage();
+    method public boolean isMwiDontStore();
+    method public boolean isReplace();
+    method public boolean isReplyPathPresent();
+    method public boolean isStatusReportMessage();
+    field public static final int ENCODING_16BIT = 3; // 0x3
+    field public static final int ENCODING_7BIT = 1; // 0x1
+    field public static final int ENCODING_8BIT = 2; // 0x2
+    field public static final int ENCODING_UNKNOWN = 0; // 0x0
+    field public static final String FORMAT_3GPP = "3gpp";
+    field public static final String FORMAT_3GPP2 = "3gpp2";
+    field public static final int MAX_USER_DATA_BYTES = 140; // 0x8c
+    field public static final int MAX_USER_DATA_BYTES_WITH_HEADER = 134; // 0x86
+    field public static final int MAX_USER_DATA_SEPTETS = 160; // 0xa0
+    field public static final int MAX_USER_DATA_SEPTETS_WITH_HEADER = 153; // 0x99
+  }
+
+  public enum SmsMessage.MessageClass {
+    enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_0;
+    enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_1;
+    enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_2;
+    enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_3;
+    enum_constant public static final android.telephony.SmsMessage.MessageClass UNKNOWN;
+  }
+
+  public static class SmsMessage.SubmitPdu {
+    field public byte[] encodedMessage;
+    field public byte[] encodedScAddress;
+  }
+
+  public class SubscriptionInfo implements android.os.Parcelable {
+    method public android.graphics.Bitmap createIconBitmap(android.content.Context);
+    method public int describeContents();
+    method public int getCardId();
+    method public int getCarrierId();
+    method public CharSequence getCarrierName();
+    method public String getCountryIso();
+    method public int getDataRoaming();
+    method public CharSequence getDisplayName();
+    method @Nullable public android.os.ParcelUuid getGroupUuid();
+    method public String getIccId();
+    method public int getIconTint();
+    method @Deprecated public int getMcc();
+    method @Nullable public String getMccString();
+    method @Deprecated public int getMnc();
+    method @Nullable public String getMncString();
+    method public String getNumber();
+    method public int getSimSlotIndex();
+    method public int getSubscriptionId();
+    method public int getSubscriptionType();
+    method public boolean isEmbedded();
+    method public boolean isOpportunistic();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SubscriptionInfo> CREATOR;
+  }
+
+  public class SubscriptionManager {
+    method public void addOnOpportunisticSubscriptionsChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.SubscriptionManager.OnOpportunisticSubscriptionsChangedListener);
+    method @Deprecated public void addOnSubscriptionsChangedListener(android.telephony.SubscriptionManager.OnSubscriptionsChangedListener);
+    method public void addOnSubscriptionsChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.SubscriptionManager.OnSubscriptionsChangedListener);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void addSubscriptionsIntoGroup(@NonNull java.util.List<java.lang.Integer>, @NonNull android.os.ParcelUuid);
+    method public boolean canManageSubscription(android.telephony.SubscriptionInfo);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.os.ParcelUuid createSubscriptionGroup(@NonNull java.util.List<java.lang.Integer>);
+    method @Deprecated public static android.telephony.SubscriptionManager from(android.content.Context);
+    method public java.util.List<android.telephony.SubscriptionInfo> getAccessibleSubscriptionInfoList();
+    method public static int getActiveDataSubscriptionId();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfo(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getActiveSubscriptionInfoCount();
+    method public int getActiveSubscriptionInfoCountMax();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForSimSlotIndex(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telephony.SubscriptionInfo> getActiveSubscriptionInfoList();
+    method @NonNull public java.util.List<android.telephony.SubscriptionInfo> getCompleteActiveSubscriptionInfoList();
+    method public static int getDefaultDataSubscriptionId();
+    method public static int getDefaultSmsSubscriptionId();
+    method public static int getDefaultSubscriptionId();
+    method public static int getDefaultVoiceSubscriptionId();
+    method @NonNull public java.util.List<android.net.Uri> getDeviceToDeviceStatusSharingContacts(int);
+    method public int getDeviceToDeviceStatusSharingPreference(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telephony.SubscriptionInfo> getOpportunisticSubscriptions();
+    method public static int getSlotIndex(int);
+    method @Nullable public int[] getSubscriptionIds(int);
+    method @NonNull public java.util.List<android.telephony.SubscriptionPlan> getSubscriptionPlans(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telephony.SubscriptionInfo> getSubscriptionsInGroup(@NonNull android.os.ParcelUuid);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isActiveSubscriptionId(int);
+    method public boolean isNetworkRoaming(int);
+    method public static boolean isUsableSubscriptionId(int);
+    method public static boolean isValidSubscriptionId(int);
+    method public void removeOnOpportunisticSubscriptionsChangedListener(@NonNull android.telephony.SubscriptionManager.OnOpportunisticSubscriptionsChangedListener);
+    method public void removeOnSubscriptionsChangedListener(android.telephony.SubscriptionManager.OnSubscriptionsChangedListener);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void removeSubscriptionsFromGroup(@NonNull java.util.List<java.lang.Integer>, @NonNull android.os.ParcelUuid);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDeviceToDeviceStatusSharingContacts(int, @NonNull java.util.List<android.net.Uri>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDeviceToDeviceStatusSharingPreference(int, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunistic(boolean, int);
+    method public void setSubscriptionOverrideCongested(int, boolean, long);
+    method public void setSubscriptionOverrideCongested(int, boolean, @NonNull int[], long);
+    method public void setSubscriptionOverrideUnmetered(int, boolean, long);
+    method public void setSubscriptionOverrideUnmetered(int, boolean, @NonNull int[], long);
+    method public void setSubscriptionPlans(int, @NonNull java.util.List<android.telephony.SubscriptionPlan>);
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void switchToSubscription(int, @NonNull android.app.PendingIntent);
+    field public static final String ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED = "android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED";
+    field public static final String ACTION_DEFAULT_SUBSCRIPTION_CHANGED = "android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED";
+    field public static final String ACTION_MANAGE_SUBSCRIPTION_PLANS = "android.telephony.action.MANAGE_SUBSCRIPTION_PLANS";
+    field public static final String ACTION_REFRESH_SUBSCRIPTION_PLANS = "android.telephony.action.REFRESH_SUBSCRIPTION_PLANS";
+    field public static final int D2D_SHARING_ALL = 3; // 0x3
+    field public static final int D2D_SHARING_ALL_CONTACTS = 1; // 0x1
+    field public static final int D2D_SHARING_DISABLED = 0; // 0x0
+    field public static final int D2D_SHARING_SELECTED_CONTACTS = 2; // 0x2
+    field public static final String D2D_STATUS_SHARING = "d2d_sharing_status";
+    field public static final String D2D_STATUS_SHARING_SELECTED_CONTACTS = "d2d_sharing_contacts";
+    field public static final int DATA_ROAMING_DISABLE = 0; // 0x0
+    field public static final int DATA_ROAMING_ENABLE = 1; // 0x1
+    field public static final int DEFAULT_SUBSCRIPTION_ID = 2147483647; // 0x7fffffff
+    field public static final String EXTRA_SLOT_INDEX = "android.telephony.extra.SLOT_INDEX";
+    field public static final String EXTRA_SUBSCRIPTION_INDEX = "android.telephony.extra.SUBSCRIPTION_INDEX";
+    field public static final int INVALID_SIM_SLOT_INDEX = -1; // 0xffffffff
+    field public static final int INVALID_SUBSCRIPTION_ID = -1; // 0xffffffff
+    field public static final int SUBSCRIPTION_TYPE_LOCAL_SIM = 0; // 0x0
+    field public static final int SUBSCRIPTION_TYPE_REMOTE_SIM = 1; // 0x1
+  }
+
+  public static class SubscriptionManager.OnOpportunisticSubscriptionsChangedListener {
+    ctor public SubscriptionManager.OnOpportunisticSubscriptionsChangedListener();
+    method public void onOpportunisticSubscriptionsChanged();
+  }
+
+  public static class SubscriptionManager.OnSubscriptionsChangedListener {
+    ctor public SubscriptionManager.OnSubscriptionsChangedListener();
+    method public void onSubscriptionsChanged();
+  }
+
+  public final class SubscriptionPlan implements android.os.Parcelable {
+    method public java.util.Iterator<android.util.Range<java.time.ZonedDateTime>> cycleIterator();
+    method public int describeContents();
+    method public int getDataLimitBehavior();
+    method public long getDataLimitBytes();
+    method public long getDataUsageBytes();
+    method public long getDataUsageTime();
+    method @NonNull public int[] getNetworkTypes();
+    method @Nullable public CharSequence getSummary();
+    method @Nullable public CharSequence getTitle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final long BYTES_UNKNOWN = -1L; // 0xffffffffffffffffL
+    field public static final long BYTES_UNLIMITED = 9223372036854775807L; // 0x7fffffffffffffffL
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SubscriptionPlan> CREATOR;
+    field public static final int LIMIT_BEHAVIOR_BILLED = 1; // 0x1
+    field public static final int LIMIT_BEHAVIOR_DISABLED = 0; // 0x0
+    field public static final int LIMIT_BEHAVIOR_THROTTLED = 2; // 0x2
+    field public static final int LIMIT_BEHAVIOR_UNKNOWN = -1; // 0xffffffff
+    field public static final long TIME_UNKNOWN = -1L; // 0xffffffffffffffffL
+  }
+
+  public static class SubscriptionPlan.Builder {
+    method public android.telephony.SubscriptionPlan build();
+    method public static android.telephony.SubscriptionPlan.Builder createNonrecurring(java.time.ZonedDateTime, java.time.ZonedDateTime);
+    method public static android.telephony.SubscriptionPlan.Builder createRecurring(java.time.ZonedDateTime, java.time.Period);
+    method @NonNull public android.telephony.SubscriptionPlan.Builder resetNetworkTypes();
+    method public android.telephony.SubscriptionPlan.Builder setDataLimit(long, int);
+    method public android.telephony.SubscriptionPlan.Builder setDataUsage(long, long);
+    method @NonNull public android.telephony.SubscriptionPlan.Builder setNetworkTypes(@NonNull int[]);
+    method public android.telephony.SubscriptionPlan.Builder setSummary(@Nullable CharSequence);
+    method public android.telephony.SubscriptionPlan.Builder setTitle(@Nullable CharSequence);
+  }
+
+  public class TelephonyCallback {
+    ctor public TelephonyCallback();
+  }
+
+  public static interface TelephonyCallback.ActiveDataSubscriptionIdListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onActiveDataSubscriptionIdChanged(int);
+  }
+
+  public static interface TelephonyCallback.BarringInfoListener {
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onBarringInfoChanged(@NonNull android.telephony.BarringInfo);
+  }
+
+  public static interface TelephonyCallback.CallDisconnectCauseListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallDisconnectCauseChanged(int, int);
+  }
+
+  public static interface TelephonyCallback.CallForwardingIndicatorListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onCallForwardingIndicatorChanged(boolean);
+  }
+
+  public static interface TelephonyCallback.CallStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onCallStateChanged(int);
+  }
+
+  public static interface TelephonyCallback.CarrierNetworkListener {
+    method public void onCarrierNetworkChange(boolean);
+  }
+
+  public static interface TelephonyCallback.CellInfoListener {
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onCellInfoChanged(@NonNull java.util.List<android.telephony.CellInfo>);
+  }
+
+  public static interface TelephonyCallback.CellLocationListener {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void onCellLocationChanged(@NonNull android.telephony.CellLocation);
+  }
+
+  public static interface TelephonyCallback.DataActivationStateListener {
+    method public void onDataActivationStateChanged(int);
+  }
+
+  public static interface TelephonyCallback.DataActivityListener {
+    method public void onDataActivity(int);
+  }
+
+  public static interface TelephonyCallback.DataConnectionStateListener {
+    method public void onDataConnectionStateChanged(int, int);
+  }
+
+  public static interface TelephonyCallback.DisplayInfoListener {
+    method public void onDisplayInfoChanged(@NonNull android.telephony.TelephonyDisplayInfo);
+  }
+
+  public static interface TelephonyCallback.EmergencyNumberListListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onEmergencyNumberListChanged(@NonNull java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>>);
+  }
+
+  public static interface TelephonyCallback.ImsCallDisconnectCauseListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onImsCallDisconnectCauseChanged(@NonNull android.telephony.ims.ImsReasonInfo);
+  }
+
+  public static interface TelephonyCallback.MessageWaitingIndicatorListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onMessageWaitingIndicatorChanged(boolean);
+  }
+
+  public static interface TelephonyCallback.PhysicalChannelConfigListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPhysicalChannelConfigChanged(@NonNull java.util.List<android.telephony.PhysicalChannelConfig>);
+  }
+
+  public static interface TelephonyCallback.PreciseDataConnectionStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseDataConnectionStateChanged(@NonNull android.telephony.PreciseDataConnectionState);
+  }
+
+  public static interface TelephonyCallback.RegistrationFailedListener {
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onRegistrationFailed(@NonNull android.telephony.CellIdentity, @NonNull String, int, int, int);
+  }
+
+  public static interface TelephonyCallback.ServiceStateListener {
+    method public void onServiceStateChanged(@NonNull android.telephony.ServiceState);
+  }
+
+  public static interface TelephonyCallback.SignalStrengthsListener {
+    method public void onSignalStrengthsChanged(@NonNull android.telephony.SignalStrength);
+  }
+
+  public static interface TelephonyCallback.UserMobileDataStateListener {
+    method public void onUserMobileDataStateChanged(boolean);
+  }
+
+  public final class TelephonyDisplayInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getNetworkType();
+    method public int getOverrideNetworkType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyDisplayInfo> CREATOR;
+    field public static final int OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO = 2; // 0x2
+    field public static final int OVERRIDE_NETWORK_TYPE_LTE_CA = 1; // 0x1
+    field public static final int OVERRIDE_NETWORK_TYPE_NONE = 0; // 0x0
+    field public static final int OVERRIDE_NETWORK_TYPE_NR_ADVANCED = 5; // 0x5
+    field public static final int OVERRIDE_NETWORK_TYPE_NR_NSA = 3; // 0x3
+    field @Deprecated public static final int OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE = 4; // 0x4
+  }
+
+  public class TelephonyManager {
+    method public boolean canChangeDtmfToneLength();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void clearSignalStrengthUpdateRequest(@NonNull android.telephony.SignalStrengthUpdateRequest);
+    method @Nullable public android.telephony.TelephonyManager createForPhoneAccountHandle(android.telecom.PhoneAccountHandle);
+    method public android.telephony.TelephonyManager createForSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean doesSwitchMultiSimConfigTriggerReboot();
+    method public int getActiveModemCount();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public java.util.List<android.telephony.CellInfo> getAllCellInfo();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getCallComposerStatus();
+    method @Deprecated @RequiresPermission(value=android.Manifest.permission.READ_PHONE_STATE, conditional=true) public int getCallState();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getCallStateForSubscription();
+    method public int getCardIdForDefaultEuicc();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @WorkerThread public android.os.PersistableBundle getCarrierConfig();
+    method public int getCarrierIdFromSimMccMnc();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.telephony.CellLocation getCellLocation();
+    method public int getDataActivity();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getDataNetworkType();
+    method public int getDataState();
+    method @Deprecated @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getDeviceId();
+    method @Deprecated @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getDeviceId(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getEmergencyNumberList();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getEmergencyNumberList(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<java.lang.String> getEquivalentHomePlmns();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String[] getForbiddenPlmns();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getGroupIdLevel1();
+    method public String getIccAuthentication(int, int, String);
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getImei();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getImei(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.READ_SMS, android.Manifest.permission.READ_PHONE_NUMBERS}) public String getLine1Number();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public String getManualNetworkSelectionPlmn();
+    method @Nullable public String getManufacturerCode();
+    method @Nullable public String getManufacturerCode(int);
+    method public static long getMaximumCallComposerPictureSize();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getMeid();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getMeid(int);
+    method public String getMmsUAProfUrl();
+    method public String getMmsUserAgent();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getNai();
+    method public String getNetworkCountryIso();
+    method @NonNull public String getNetworkCountryIso(int);
+    method public String getNetworkOperator();
+    method public String getNetworkOperatorName();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public int getNetworkSelectionMode();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getNetworkSlicingConfiguration(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.data.NetworkSlicingConfig,android.telephony.TelephonyManager.NetworkSlicingException>);
+    method public String getNetworkSpecifier();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getNetworkType();
+    method @Nullable @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
+    method @Deprecated public int getPhoneCount();
+    method public int getPhoneType();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PHONE_STATE}) public int getPreferredOpportunisticDataSubscription();
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_COARSE_LOCATION}) public android.telephony.ServiceState getServiceState();
+    method @Nullable public android.telephony.SignalStrength getSignalStrength();
+    method public int getSimCarrierId();
+    method @Nullable public CharSequence getSimCarrierIdName();
+    method public String getSimCountryIso();
+    method public String getSimOperator();
+    method public String getSimOperatorName();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getSimSerialNumber();
+    method public int getSimSpecificCarrierId();
+    method @Nullable public CharSequence getSimSpecificCarrierIdName();
+    method public int getSimState();
+    method public int getSimState(int);
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getSubscriberId();
+    method public int getSubscriptionId();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getSubscriptionId(@NonNull android.telecom.PhoneAccountHandle);
+    method public int getSupportedModemCount();
+    method @Nullable public String getTypeAllocationCode();
+    method @Nullable public String getTypeAllocationCode(int);
+    method @NonNull @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public java.util.List<android.telephony.UiccCardInfo> getUiccCardsInfo();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVisualVoicemailPackageName();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVoiceMailAlphaTag();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVoiceMailNumber();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getVoiceNetworkType();
+    method @Nullable public android.net.Uri getVoicemailRingtoneUri(android.telecom.PhoneAccountHandle);
+    method public boolean hasCarrierPrivileges();
+    method public boolean hasIccCard();
+    method @Deprecated public boolean iccCloseLogicalChannel(int);
+    method @Deprecated public byte[] iccExchangeSimIO(int, int, int, int, int, String);
+    method @Deprecated public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(String);
+    method @Deprecated public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(String, int);
+    method @Deprecated public String iccTransmitApduBasicChannel(int, int, int, int, int, String);
+    method @Deprecated public String iccTransmitApduLogicalChannel(int, int, int, int, int, int, String);
+    method public boolean isConcurrentVoiceAndDataSupported();
+    method public boolean isDataCapable();
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public boolean isDataConnectionAllowed();
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabled();
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabledForReason(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataRoamingEnabled();
+    method public boolean isEmergencyNumber(@NonNull String);
+    method public boolean isHearingAidCompatibilitySupported();
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public boolean isManualNetworkSelectionAllowed();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isModemEnabledForSlot(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int isMultiSimSupported();
+    method public boolean isNetworkRoaming();
+    method public boolean isRadioInterfaceCapabilitySupported(@NonNull String);
+    method public boolean isRttSupported();
+    method public boolean isSmsCapable();
+    method @Deprecated public boolean isTtyModeSupported();
+    method public boolean isVoiceCapable();
+    method public boolean isVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle);
+    method public boolean isWorldPhone();
+    method @Deprecated public void listen(android.telephony.PhoneStateListener, int);
+    method public void registerTelephonyCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestCellInfoUpdate(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CellInfoCallback);
+    method @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.telephony.NetworkScan requestNetworkScan(android.telephony.NetworkScanRequest, java.util.concurrent.Executor, android.telephony.TelephonyScanManager.NetworkScanCallback);
+    method public void sendDialerSpecialCode(String);
+    method @Deprecated public String sendEnvelopeWithStatus(String);
+    method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
+    method public void sendVisualVoicemailSms(String, int, String, android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallComposerStatus(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabledForReason(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setForbiddenPlmns(@NonNull java.util.List<java.lang.String>);
+    method public boolean setLine1NumberForDisplay(String, String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNetworkSelectionModeAutomatic();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setNetworkSelectionModeManual(String, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setNetworkSelectionModeManual(@NonNull String, boolean, int);
+    method public boolean setOperatorBrandOverride(String);
+    method public boolean setPreferredNetworkTypeToGlobal();
+    method public void setPreferredOpportunisticDataSubscription(int, boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSignalStrengthUpdateRequest(@NonNull android.telephony.SignalStrengthUpdateRequest);
+    method public void setVisualVoicemailSmsFilterSettings(android.telephony.VisualVoicemailSmsFilterSettings);
+    method public boolean setVoiceMailNumber(String, String);
+    method @Deprecated public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri);
+    method @Deprecated public void setVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void switchMultiSimConfig(int);
+    method public void unregisterTelephonyCallback(@NonNull android.telephony.TelephonyCallback);
+    method public void updateAvailableNetworks(@NonNull java.util.List<android.telephony.AvailableNetworkInfo>, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
+    method public void uploadCallComposerPicture(@NonNull java.nio.file.Path, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.os.ParcelUuid,android.telephony.TelephonyManager.CallComposerException>);
+    method public void uploadCallComposerPicture(@NonNull java.io.InputStream, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.os.ParcelUuid,android.telephony.TelephonyManager.CallComposerException>);
+    field public static final String ACTION_CARRIER_MESSAGING_CLIENT_SERVICE = "android.telephony.action.CARRIER_MESSAGING_CLIENT_SERVICE";
+    field public static final String ACTION_CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE = "android.telephony.action.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE";
+    field public static final String ACTION_CARRIER_SIGNAL_PCO_VALUE = "android.telephony.action.CARRIER_SIGNAL_PCO_VALUE";
+    field public static final String ACTION_CARRIER_SIGNAL_REDIRECTED = "android.telephony.action.CARRIER_SIGNAL_REDIRECTED";
+    field public static final String ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED = "android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED";
+    field public static final String ACTION_CARRIER_SIGNAL_RESET = "android.telephony.action.CARRIER_SIGNAL_RESET";
+    field public static final String ACTION_CONFIGURE_VOICEMAIL = "android.telephony.action.CONFIGURE_VOICEMAIL";
+    field public static final String ACTION_MULTI_SIM_CONFIG_CHANGED = "android.telephony.action.MULTI_SIM_CONFIG_CHANGED";
+    field public static final String ACTION_NETWORK_COUNTRY_CHANGED = "android.telephony.action.NETWORK_COUNTRY_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE";
+    field public static final String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE";
+    field public static final String ACTION_SECRET_CODE = "android.telephony.action.SECRET_CODE";
+    field public static final String ACTION_SHOW_VOICEMAIL_NOTIFICATION = "android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION";
+    field public static final String ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED";
+    field public static final String ACTION_SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED";
+    field public static final int APPTYPE_CSIM = 4; // 0x4
+    field public static final int APPTYPE_ISIM = 5; // 0x5
+    field public static final int APPTYPE_RUIM = 3; // 0x3
+    field public static final int APPTYPE_SIM = 1; // 0x1
+    field public static final int APPTYPE_UNKNOWN = 0; // 0x0
+    field public static final int APPTYPE_USIM = 2; // 0x2
+    field public static final int AUTHTYPE_EAP_AKA = 129; // 0x81
+    field public static final int AUTHTYPE_EAP_SIM = 128; // 0x80
+    field public static final int CALL_COMPOSER_STATUS_OFF = 0; // 0x0
+    field public static final int CALL_COMPOSER_STATUS_ON = 1; // 0x1
+    field public static final int CALL_STATE_IDLE = 0; // 0x0
+    field public static final int CALL_STATE_OFFHOOK = 2; // 0x2
+    field public static final int CALL_STATE_RINGING = 1; // 0x1
+    field public static final String CAPABILITY_SLICING_CONFIG_SUPPORTED = "CAPABILITY_SLICING_CONFIG_SUPPORTED";
+    field public static final int CDMA_ROAMING_MODE_AFFILIATED = 1; // 0x1
+    field public static final int CDMA_ROAMING_MODE_ANY = 2; // 0x2
+    field public static final int CDMA_ROAMING_MODE_HOME = 0; // 0x0
+    field public static final int CDMA_ROAMING_MODE_RADIO_DEFAULT = -1; // 0xffffffff
+    field public static final int DATA_ACTIVITY_DORMANT = 4; // 0x4
+    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
+    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
+    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
+    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
+    field public static final int DATA_CONNECTED = 2; // 0x2
+    field public static final int DATA_CONNECTING = 1; // 0x1
+    field public static final int DATA_DISCONNECTED = 0; // 0x0
+    field public static final int DATA_DISCONNECTING = 4; // 0x4
+    field public static final int DATA_ENABLED_REASON_CARRIER = 2; // 0x2
+    field public static final int DATA_ENABLED_REASON_POLICY = 1; // 0x1
+    field public static final int DATA_ENABLED_REASON_THERMAL = 3; // 0x3
+    field public static final int DATA_ENABLED_REASON_USER = 0; // 0x0
+    field public static final int DATA_SUSPENDED = 3; // 0x3
+    field public static final int DATA_UNKNOWN = -1; // 0xffffffff
+    field public static final int ERI_FLASH = 2; // 0x2
+    field public static final int ERI_OFF = 1; // 0x1
+    field public static final int ERI_ON = 0; // 0x0
+    field public static final String EXTRA_ACTIVE_SIM_SUPPORTED_COUNT = "android.telephony.extra.ACTIVE_SIM_SUPPORTED_COUNT";
+    field public static final String EXTRA_APN_PROTOCOL = "android.telephony.extra.APN_PROTOCOL";
+    field public static final String EXTRA_APN_TYPE = "android.telephony.extra.APN_TYPE";
+    field public static final String EXTRA_CALL_VOICEMAIL_INTENT = "android.telephony.extra.CALL_VOICEMAIL_INTENT";
+    field public static final String EXTRA_CARRIER_ID = "android.telephony.extra.CARRIER_ID";
+    field public static final String EXTRA_CARRIER_NAME = "android.telephony.extra.CARRIER_NAME";
+    field public static final String EXTRA_DATA_FAIL_CAUSE = "android.telephony.extra.DATA_FAIL_CAUSE";
+    field public static final String EXTRA_DEFAULT_NETWORK_AVAILABLE = "android.telephony.extra.DEFAULT_NETWORK_AVAILABLE";
+    field public static final String EXTRA_HIDE_PUBLIC_SETTINGS = "android.telephony.extra.HIDE_PUBLIC_SETTINGS";
+    field @Deprecated public static final String EXTRA_INCOMING_NUMBER = "incoming_number";
+    field public static final String EXTRA_IS_REFRESH = "android.telephony.extra.IS_REFRESH";
+    field public static final String EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT = "android.telephony.extra.LAUNCH_VOICEMAIL_SETTINGS_INTENT";
+    field public static final String EXTRA_NETWORK_COUNTRY = "android.telephony.extra.NETWORK_COUNTRY";
+    field public static final String EXTRA_NOTIFICATION_COUNT = "android.telephony.extra.NOTIFICATION_COUNT";
+    field public static final String EXTRA_PCO_ID = "android.telephony.extra.PCO_ID";
+    field public static final String EXTRA_PCO_VALUE = "android.telephony.extra.PCO_VALUE";
+    field public static final String EXTRA_PHONE_ACCOUNT_HANDLE = "android.telephony.extra.PHONE_ACCOUNT_HANDLE";
+    field public static final String EXTRA_REDIRECTION_URL = "android.telephony.extra.REDIRECTION_URL";
+    field public static final String EXTRA_SPECIFIC_CARRIER_ID = "android.telephony.extra.SPECIFIC_CARRIER_ID";
+    field public static final String EXTRA_SPECIFIC_CARRIER_NAME = "android.telephony.extra.SPECIFIC_CARRIER_NAME";
+    field public static final String EXTRA_STATE = "state";
+    field public static final String EXTRA_STATE_IDLE;
+    field public static final String EXTRA_STATE_OFFHOOK;
+    field public static final String EXTRA_STATE_RINGING;
+    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.extra.SUBSCRIPTION_ID";
+    field public static final String EXTRA_VOICEMAIL_NUMBER = "android.telephony.extra.VOICEMAIL_NUMBER";
+    field public static final String METADATA_HIDE_VOICEMAIL_SETTINGS_MENU = "android.telephony.HIDE_VOICEMAIL_SETTINGS_MENU";
+    field public static final int MULTISIM_ALLOWED = 0; // 0x0
+    field public static final int MULTISIM_NOT_SUPPORTED_BY_CARRIER = 2; // 0x2
+    field public static final int MULTISIM_NOT_SUPPORTED_BY_HARDWARE = 1; // 0x1
+    field public static final int NETWORK_SELECTION_MODE_AUTO = 1; // 0x1
+    field public static final int NETWORK_SELECTION_MODE_MANUAL = 2; // 0x2
+    field public static final int NETWORK_SELECTION_MODE_UNKNOWN = 0; // 0x0
+    field public static final int NETWORK_TYPE_1xRTT = 7; // 0x7
+    field public static final int NETWORK_TYPE_CDMA = 4; // 0x4
+    field public static final int NETWORK_TYPE_EDGE = 2; // 0x2
+    field public static final int NETWORK_TYPE_EHRPD = 14; // 0xe
+    field public static final int NETWORK_TYPE_EVDO_0 = 5; // 0x5
+    field public static final int NETWORK_TYPE_EVDO_A = 6; // 0x6
+    field public static final int NETWORK_TYPE_EVDO_B = 12; // 0xc
+    field public static final int NETWORK_TYPE_GPRS = 1; // 0x1
+    field public static final int NETWORK_TYPE_GSM = 16; // 0x10
+    field public static final int NETWORK_TYPE_HSDPA = 8; // 0x8
+    field public static final int NETWORK_TYPE_HSPA = 10; // 0xa
+    field public static final int NETWORK_TYPE_HSPAP = 15; // 0xf
+    field public static final int NETWORK_TYPE_HSUPA = 9; // 0x9
+    field public static final int NETWORK_TYPE_IDEN = 11; // 0xb
+    field public static final int NETWORK_TYPE_IWLAN = 18; // 0x12
+    field public static final int NETWORK_TYPE_LTE = 13; // 0xd
+    field public static final int NETWORK_TYPE_NR = 20; // 0x14
+    field public static final int NETWORK_TYPE_TD_SCDMA = 17; // 0x11
+    field public static final int NETWORK_TYPE_UMTS = 3; // 0x3
+    field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int PHONE_TYPE_CDMA = 2; // 0x2
+    field public static final int PHONE_TYPE_GSM = 1; // 0x1
+    field public static final int PHONE_TYPE_NONE = 0; // 0x0
+    field public static final int PHONE_TYPE_SIP = 3; // 0x3
+    field public static final int SET_OPPORTUNISTIC_SUB_INACTIVE_SUBSCRIPTION = 2; // 0x2
+    field public static final int SET_OPPORTUNISTIC_SUB_NO_OPPORTUNISTIC_SUB_AVAILABLE = 3; // 0x3
+    field public static final int SET_OPPORTUNISTIC_SUB_REMOTE_SERVICE_EXCEPTION = 4; // 0x4
+    field public static final int SET_OPPORTUNISTIC_SUB_SUCCESS = 0; // 0x0
+    field public static final int SET_OPPORTUNISTIC_SUB_VALIDATION_FAILED = 1; // 0x1
+    field public static final int SIM_STATE_ABSENT = 1; // 0x1
+    field public static final int SIM_STATE_CARD_IO_ERROR = 8; // 0x8
+    field public static final int SIM_STATE_CARD_RESTRICTED = 9; // 0x9
+    field public static final int SIM_STATE_NETWORK_LOCKED = 4; // 0x4
+    field public static final int SIM_STATE_NOT_READY = 6; // 0x6
+    field public static final int SIM_STATE_PERM_DISABLED = 7; // 0x7
+    field public static final int SIM_STATE_PIN_REQUIRED = 2; // 0x2
+    field public static final int SIM_STATE_PUK_REQUIRED = 3; // 0x3
+    field public static final int SIM_STATE_READY = 5; // 0x5
+    field public static final int SIM_STATE_UNKNOWN = 0; // 0x0
+    field public static final int UNINITIALIZED_CARD_ID = -2; // 0xfffffffe
+    field public static final int UNKNOWN_CARRIER_ID = -1; // 0xffffffff
+    field public static final int UNSUPPORTED_CARD_ID = -1; // 0xffffffff
+    field public static final int UPDATE_AVAILABLE_NETWORKS_ABORTED = 2; // 0x2
+    field public static final int UPDATE_AVAILABLE_NETWORKS_DISABLE_MODEM_FAIL = 5; // 0x5
+    field public static final int UPDATE_AVAILABLE_NETWORKS_ENABLE_MODEM_FAIL = 6; // 0x6
+    field public static final int UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS = 3; // 0x3
+    field public static final int UPDATE_AVAILABLE_NETWORKS_MULTIPLE_NETWORKS_NOT_SUPPORTED = 7; // 0x7
+    field public static final int UPDATE_AVAILABLE_NETWORKS_NO_CARRIER_PRIVILEGE = 4; // 0x4
+    field public static final int UPDATE_AVAILABLE_NETWORKS_NO_OPPORTUNISTIC_SUB_AVAILABLE = 8; // 0x8
+    field public static final int UPDATE_AVAILABLE_NETWORKS_REMOTE_SERVICE_EXCEPTION = 9; // 0x9
+    field public static final int UPDATE_AVAILABLE_NETWORKS_SERVICE_IS_DISABLED = 10; // 0xa
+    field public static final int UPDATE_AVAILABLE_NETWORKS_SUCCESS = 0; // 0x0
+    field public static final int UPDATE_AVAILABLE_NETWORKS_UNKNOWN_FAILURE = 1; // 0x1
+    field public static final int USSD_ERROR_SERVICE_UNAVAIL = -2; // 0xfffffffe
+    field public static final int USSD_RETURN_FAILURE = -1; // 0xffffffff
+    field public static final String VVM_TYPE_CVVM = "vvm_type_cvvm";
+    field public static final String VVM_TYPE_OMTP = "vvm_type_omtp";
+  }
+
+  public static class TelephonyManager.CallComposerException extends java.lang.Exception {
+    ctor public TelephonyManager.CallComposerException(int, @Nullable java.io.IOException);
+    method public int getErrorCode();
+    method @Nullable public java.io.IOException getIOException();
+    field public static final int ERROR_AUTHENTICATION_FAILED = 3; // 0x3
+    field public static final int ERROR_FILE_TOO_LARGE = 2; // 0x2
+    field public static final int ERROR_INPUT_CLOSED = 4; // 0x4
+    field public static final int ERROR_IO_EXCEPTION = 5; // 0x5
+    field public static final int ERROR_NETWORK_UNAVAILABLE = 6; // 0x6
+    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
+    field public static final int ERROR_UNKNOWN = 0; // 0x0
+  }
+
+  public abstract static class TelephonyManager.CellInfoCallback {
+    ctor public TelephonyManager.CellInfoCallback();
+    method public abstract void onCellInfo(@NonNull java.util.List<android.telephony.CellInfo>);
+    method public void onError(int, @Nullable Throwable);
+    field public static final int ERROR_MODEM_ERROR = 2; // 0x2
+    field public static final int ERROR_TIMEOUT = 1; // 0x1
+  }
+
+  public class TelephonyManager.ModemErrorException extends android.telephony.TelephonyManager.NetworkSlicingException {
+  }
+
+  public static class TelephonyManager.NetworkSlicingException extends java.lang.Exception {
+  }
+
+  public class TelephonyManager.TimeoutException extends android.telephony.TelephonyManager.NetworkSlicingException {
+  }
+
+  public abstract static class TelephonyManager.UssdResponseCallback {
+    ctor public TelephonyManager.UssdResponseCallback();
+    method public void onReceiveUssdResponse(android.telephony.TelephonyManager, String, CharSequence);
+    method public void onReceiveUssdResponseFailed(android.telephony.TelephonyManager, String, int);
+  }
+
+  public final class TelephonyScanManager {
+    ctor public TelephonyScanManager();
+  }
+
+  public abstract static class TelephonyScanManager.NetworkScanCallback {
+    ctor public TelephonyScanManager.NetworkScanCallback();
+    method public void onComplete();
+    method public void onError(int);
+    method public void onResults(java.util.List<android.telephony.CellInfo>);
+  }
+
+  public final class UiccCardInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCardId();
+    method @Nullable public String getEid();
+    method @Nullable public String getIccId();
+    method public int getSlotIndex();
+    method public boolean isEuicc();
+    method public boolean isRemovable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccCardInfo> CREATOR;
+  }
+
+  public abstract class VisualVoicemailService extends android.app.Service {
+    ctor public VisualVoicemailService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @MainThread public abstract void onCellServiceConnected(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telecom.PhoneAccountHandle);
+    method @MainThread public abstract void onSimRemoved(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telecom.PhoneAccountHandle);
+    method @MainThread public abstract void onSmsReceived(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telephony.VisualVoicemailSms);
+    method @MainThread public abstract void onStopped(android.telephony.VisualVoicemailService.VisualVoicemailTask);
+    field public static final String SERVICE_INTERFACE = "android.telephony.VisualVoicemailService";
+  }
+
+  public static class VisualVoicemailService.VisualVoicemailTask {
+    method public final void finish();
+  }
+
+  public final class VisualVoicemailSms implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.os.Bundle getFields();
+    method public String getMessageBody();
+    method public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
+    method public String getPrefix();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSms> CREATOR;
+  }
+
+  public final class VisualVoicemailSmsFilterSettings implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSmsFilterSettings> CREATOR;
+    field public static final int DESTINATION_PORT_ANY = -1; // 0xffffffff
+    field public static final int DESTINATION_PORT_DATA_SMS = -2; // 0xfffffffe
+    field public final String clientPrefix;
+    field public final int destinationPort;
+    field public final java.util.List<java.lang.String> originatingNumbers;
+  }
+
+  public static class VisualVoicemailSmsFilterSettings.Builder {
+    ctor public VisualVoicemailSmsFilterSettings.Builder();
+    method public android.telephony.VisualVoicemailSmsFilterSettings build();
+    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setClientPrefix(String);
+    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setDestinationPort(int);
+    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setOriginatingNumbers(java.util.List<java.lang.String>);
+  }
+
+}
+
+package android.telephony.cdma {
+
+  @Deprecated public class CdmaCellLocation extends android.telephony.CellLocation {
+    ctor @Deprecated public CdmaCellLocation();
+    ctor @Deprecated public CdmaCellLocation(android.os.Bundle);
+    method @Deprecated public static double convertQuartSecToDecDegrees(int);
+    method @Deprecated public void fillInNotifierBundle(android.os.Bundle);
+    method @Deprecated public int getBaseStationId();
+    method @Deprecated public int getBaseStationLatitude();
+    method @Deprecated public int getBaseStationLongitude();
+    method @Deprecated public int getNetworkId();
+    method @Deprecated public int getSystemId();
+    method @Deprecated public void setCellLocationData(int, int, int);
+    method @Deprecated public void setCellLocationData(int, int, int, int, int);
+    method @Deprecated public void setStateInvalid();
+  }
+
+}
+
+package android.telephony.data {
+
+  public class ApnSetting implements android.os.Parcelable {
+    method public int describeContents();
+    method public String getApnName();
+    method public int getApnTypeBitmask();
+    method public int getAuthType();
+    method public int getCarrierId();
+    method public String getEntryName();
+    method public int getId();
+    method @Deprecated public java.net.InetAddress getMmsProxyAddress();
+    method public String getMmsProxyAddressAsString();
+    method public int getMmsProxyPort();
+    method public android.net.Uri getMmsc();
+    method public int getMvnoType();
+    method public int getNetworkTypeBitmask();
+    method public String getOperatorNumeric();
+    method public String getPassword();
+    method public int getProtocol();
+    method @Deprecated public java.net.InetAddress getProxyAddress();
+    method public String getProxyAddressAsString();
+    method public int getProxyPort();
+    method public int getRoamingProtocol();
+    method public String getUser();
+    method public boolean isEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int AUTH_TYPE_CHAP = 2; // 0x2
+    field public static final int AUTH_TYPE_NONE = 0; // 0x0
+    field public static final int AUTH_TYPE_PAP = 1; // 0x1
+    field public static final int AUTH_TYPE_PAP_OR_CHAP = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ApnSetting> CREATOR;
+    field public static final int MVNO_TYPE_GID = 2; // 0x2
+    field public static final int MVNO_TYPE_ICCID = 3; // 0x3
+    field public static final int MVNO_TYPE_IMSI = 1; // 0x1
+    field public static final int MVNO_TYPE_SPN = 0; // 0x0
+    field public static final int PROTOCOL_IP = 0; // 0x0
+    field public static final int PROTOCOL_IPV4V6 = 2; // 0x2
+    field public static final int PROTOCOL_IPV6 = 1; // 0x1
+    field public static final int PROTOCOL_NON_IP = 4; // 0x4
+    field public static final int PROTOCOL_PPP = 3; // 0x3
+    field public static final int PROTOCOL_UNSTRUCTURED = 5; // 0x5
+    field public static final int TYPE_BIP = 8192; // 0x2000
+    field public static final int TYPE_CBS = 128; // 0x80
+    field public static final int TYPE_DEFAULT = 17; // 0x11
+    field public static final int TYPE_DUN = 8; // 0x8
+    field public static final int TYPE_EMERGENCY = 512; // 0x200
+    field public static final int TYPE_FOTA = 32; // 0x20
+    field public static final int TYPE_HIPRI = 16; // 0x10
+    field public static final int TYPE_IA = 256; // 0x100
+    field public static final int TYPE_IMS = 64; // 0x40
+    field public static final int TYPE_MCX = 1024; // 0x400
+    field public static final int TYPE_MMS = 2; // 0x2
+    field public static final int TYPE_SUPL = 4; // 0x4
+    field public static final int TYPE_VSIM = 4096; // 0x1000
+    field public static final int TYPE_XCAP = 2048; // 0x800
+  }
+
+  public static class ApnSetting.Builder {
+    ctor public ApnSetting.Builder();
+    method public android.telephony.data.ApnSetting build();
+    method @NonNull public android.telephony.data.ApnSetting.Builder setApnName(@Nullable String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setApnTypeBitmask(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setAuthType(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setCarrierEnabled(boolean);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setCarrierId(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setEntryName(@Nullable String);
+    method @Deprecated public android.telephony.data.ApnSetting.Builder setMmsProxyAddress(java.net.InetAddress);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMmsProxyAddress(@Nullable String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMmsProxyPort(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMmsc(@Nullable android.net.Uri);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMvnoType(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setNetworkTypeBitmask(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setOperatorNumeric(@Nullable String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setPassword(@Nullable String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setProtocol(int);
+    method @Deprecated public android.telephony.data.ApnSetting.Builder setProxyAddress(java.net.InetAddress);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setProxyAddress(@Nullable String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setProxyPort(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setRoamingProtocol(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setUser(@Nullable String);
+  }
+
+  public final class NetworkSliceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0xffffffff, to=0xfffffe) public int getMappedHplmnSliceDifferentiator();
+    method public int getMappedHplmnSliceServiceType();
+    method @IntRange(from=0xffffffff, to=0xfffffe) public int getSliceDifferentiator();
+    method public int getSliceServiceType();
+    method public int getStatus();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NetworkSliceInfo> CREATOR;
+    field public static final int SLICE_DIFFERENTIATOR_NO_SLICE = -1; // 0xffffffff
+    field public static final int SLICE_SERVICE_TYPE_EMBB = 1; // 0x1
+    field public static final int SLICE_SERVICE_TYPE_MIOT = 3; // 0x3
+    field public static final int SLICE_SERVICE_TYPE_NONE = 0; // 0x0
+    field public static final int SLICE_SERVICE_TYPE_URLLC = 2; // 0x2
+    field public static final int SLICE_STATUS_ALLOWED = 2; // 0x2
+    field public static final int SLICE_STATUS_CONFIGURED = 1; // 0x1
+    field public static final int SLICE_STATUS_DEFAULT_CONFIGURED = 5; // 0x5
+    field public static final int SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_PLMN = 3; // 0x3
+    field public static final int SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_REGISTERED_AREA = 4; // 0x4
+    field public static final int SLICE_STATUS_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class NetworkSliceInfo.Builder {
+    ctor public NetworkSliceInfo.Builder();
+    method @NonNull public android.telephony.data.NetworkSliceInfo build();
+    method @NonNull public android.telephony.data.NetworkSliceInfo.Builder setMappedHplmnSliceDifferentiator(@IntRange(from=0xffffffff, to=0xfffffe) int);
+    method @NonNull public android.telephony.data.NetworkSliceInfo.Builder setMappedHplmnSliceServiceType(int);
+    method @NonNull public android.telephony.data.NetworkSliceInfo.Builder setSliceDifferentiator(@IntRange(from=0xffffffff, to=0xfffffe) int);
+    method @NonNull public android.telephony.data.NetworkSliceInfo.Builder setSliceServiceType(int);
+    method @NonNull public android.telephony.data.NetworkSliceInfo.Builder setStatus(int);
+  }
+
+  public final class NetworkSlicingConfig implements android.os.Parcelable {
+    ctor public NetworkSlicingConfig();
+    method public int describeContents();
+    method @NonNull public java.util.List<android.telephony.data.NetworkSliceInfo> getSliceInfo();
+    method @NonNull public java.util.List<android.telephony.data.UrspRule> getUrspRules();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NetworkSlicingConfig> CREATOR;
+  }
+
+  public final class RouteSelectionDescriptor implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getDataNetworkName();
+    method @IntRange(from=0x0, to=0xff) public int getPrecedence();
+    method public int getSessionType();
+    method @NonNull public java.util.List<android.telephony.data.NetworkSliceInfo> getSliceInfo();
+    method public int getSscMode();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.RouteSelectionDescriptor> CREATOR;
+    field public static final int ROUTE_SSC_MODE_1 = 1; // 0x1
+    field public static final int ROUTE_SSC_MODE_2 = 2; // 0x2
+    field public static final int ROUTE_SSC_MODE_3 = 3; // 0x3
+    field public static final int SESSION_TYPE_IPV4 = 0; // 0x0
+    field public static final int SESSION_TYPE_IPV4V6 = 2; // 0x2
+    field public static final int SESSION_TYPE_IPV6 = 1; // 0x1
+  }
+
+  public final class TrafficDescriptor implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getDataNetworkName();
+    method @Nullable public byte[] getOsAppId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.TrafficDescriptor> CREATOR;
+  }
+
+  public static final class TrafficDescriptor.Builder {
+    ctor public TrafficDescriptor.Builder();
+    method @NonNull public android.telephony.data.TrafficDescriptor build();
+    method @NonNull public android.telephony.data.TrafficDescriptor.Builder setDataNetworkName(@NonNull String);
+    method @NonNull public android.telephony.data.TrafficDescriptor.Builder setOsAppId(@NonNull byte[]);
+  }
+
+  public final class UrspRule implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0x0, to=0xff) public int getPrecedence();
+    method @NonNull public java.util.List<android.telephony.data.RouteSelectionDescriptor> getRouteSelectionDescriptor();
+    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.UrspRule> CREATOR;
+  }
+
+}
+
+package android.telephony.emergency {
+
+  public final class EmergencyNumber implements java.lang.Comparable<android.telephony.emergency.EmergencyNumber> android.os.Parcelable {
+    method public int compareTo(@NonNull android.telephony.emergency.EmergencyNumber);
+    method public int describeContents();
+    method @NonNull public String getCountryIso();
+    method public int getEmergencyCallRouting();
+    method @NonNull public java.util.List<java.lang.Integer> getEmergencyNumberSources();
+    method @NonNull public java.util.List<java.lang.Integer> getEmergencyServiceCategories();
+    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
+    method @NonNull public String getMnc();
+    method @NonNull public String getNumber();
+    method public boolean isFromSources(int);
+    method public boolean isInEmergencyServiceCategories(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.emergency.EmergencyNumber> CREATOR;
+    field public static final int EMERGENCY_CALL_ROUTING_EMERGENCY = 1; // 0x1
+    field public static final int EMERGENCY_CALL_ROUTING_NORMAL = 2; // 0x2
+    field public static final int EMERGENCY_CALL_ROUTING_UNKNOWN = 0; // 0x0
+    field public static final int EMERGENCY_NUMBER_SOURCE_DATABASE = 16; // 0x10
+    field public static final int EMERGENCY_NUMBER_SOURCE_DEFAULT = 8; // 0x8
+    field public static final int EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG = 4; // 0x4
+    field public static final int EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING = 1; // 0x1
+    field public static final int EMERGENCY_NUMBER_SOURCE_SIM = 2; // 0x2
+    field public static final int EMERGENCY_SERVICE_CATEGORY_AIEC = 64; // 0x40
+    field public static final int EMERGENCY_SERVICE_CATEGORY_AMBULANCE = 2; // 0x2
+    field public static final int EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE = 4; // 0x4
+    field public static final int EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD = 8; // 0x8
+    field public static final int EMERGENCY_SERVICE_CATEGORY_MIEC = 32; // 0x20
+    field public static final int EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE = 16; // 0x10
+    field public static final int EMERGENCY_SERVICE_CATEGORY_POLICE = 1; // 0x1
+    field public static final int EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED = 0; // 0x0
+  }
+
+}
+
+package android.telephony.euicc {
+
+  public final class DownloadableSubscription implements android.os.Parcelable {
+    method public int describeContents();
+    method public static android.telephony.euicc.DownloadableSubscription forActivationCode(String);
+    method @Nullable public String getConfirmationCode();
+    method @Nullable public String getEncodedActivationCode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.DownloadableSubscription> CREATOR;
+  }
+
+  public static final class DownloadableSubscription.Builder {
+    ctor public DownloadableSubscription.Builder(@NonNull android.telephony.euicc.DownloadableSubscription);
+    ctor public DownloadableSubscription.Builder(@NonNull String);
+    method @NonNull public android.telephony.euicc.DownloadableSubscription build();
+    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setConfirmationCode(@NonNull String);
+    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setEncodedActivationCode(@NonNull String);
+  }
+
+  public final class EuiccInfo implements android.os.Parcelable {
+    ctor public EuiccInfo(@Nullable String);
+    method public int describeContents();
+    method @Nullable public String getOsVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccInfo> CREATOR;
+  }
+
+  public class EuiccManager {
+    method @NonNull public android.telephony.euicc.EuiccManager createForCardId(int);
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void deleteSubscription(int, android.app.PendingIntent);
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void downloadSubscription(android.telephony.euicc.DownloadableSubscription, boolean, android.app.PendingIntent);
+    method @Nullable public String getEid();
+    method @Nullable public android.telephony.euicc.EuiccInfo getEuiccInfo();
+    method public boolean isEnabled();
+    method public void startResolutionActivity(android.app.Activity, int, android.content.Intent, android.app.PendingIntent) throws android.content.IntentSender.SendIntentException;
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void switchToSubscription(int, android.app.PendingIntent);
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void updateSubscriptionNickname(int, @Nullable String, @NonNull android.app.PendingIntent);
+    field public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.telephony.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
+    field public static final String ACTION_NOTIFY_CARRIER_SETUP_INCOMPLETE = "android.telephony.euicc.action.NOTIFY_CARRIER_SETUP_INCOMPLETE";
+    field public static final String ACTION_START_EUICC_ACTIVATION = "android.telephony.euicc.action.START_EUICC_ACTIVATION";
+    field public static final int EMBEDDED_SUBSCRIPTION_RESULT_ERROR = 2; // 0x2
+    field public static final int EMBEDDED_SUBSCRIPTION_RESULT_OK = 0; // 0x0
+    field public static final int EMBEDDED_SUBSCRIPTION_RESULT_RESOLVABLE_ERROR = 1; // 0x1
+    field public static final int ERROR_ADDRESS_MISSING = 10011; // 0x271b
+    field public static final int ERROR_CARRIER_LOCKED = 10000; // 0x2710
+    field public static final int ERROR_CERTIFICATE_ERROR = 10012; // 0x271c
+    field public static final int ERROR_CONNECTION_ERROR = 10014; // 0x271e
+    field public static final int ERROR_DISALLOWED_BY_PPR = 10010; // 0x271a
+    field public static final int ERROR_EUICC_INSUFFICIENT_MEMORY = 10004; // 0x2714
+    field public static final int ERROR_EUICC_MISSING = 10006; // 0x2716
+    field public static final int ERROR_INCOMPATIBLE_CARRIER = 10003; // 0x2713
+    field public static final int ERROR_INSTALL_PROFILE = 10009; // 0x2719
+    field public static final int ERROR_INVALID_ACTIVATION_CODE = 10001; // 0x2711
+    field public static final int ERROR_INVALID_CONFIRMATION_CODE = 10002; // 0x2712
+    field public static final int ERROR_INVALID_RESPONSE = 10015; // 0x271f
+    field public static final int ERROR_NO_PROFILES_AVAILABLE = 10013; // 0x271d
+    field public static final int ERROR_OPERATION_BUSY = 10016; // 0x2720
+    field public static final int ERROR_SIM_MISSING = 10008; // 0x2718
+    field public static final int ERROR_TIME_OUT = 10005; // 0x2715
+    field public static final int ERROR_UNSUPPORTED_VERSION = 10007; // 0x2717
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DETAILED_CODE";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_ERROR_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_ERROR_CODE";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_OPERATION_CODE";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE";
+    field public static final String EXTRA_USE_QR_SCANNER = "android.telephony.euicc.extra.USE_QR_SCANNER";
+    field public static final String META_DATA_CARRIER_ICON = "android.telephony.euicc.carriericon";
+    field public static final int OPERATION_APDU = 8; // 0x8
+    field public static final int OPERATION_DOWNLOAD = 5; // 0x5
+    field public static final int OPERATION_EUICC_CARD = 3; // 0x3
+    field public static final int OPERATION_EUICC_GSMA = 7; // 0x7
+    field public static final int OPERATION_HTTP = 11; // 0xb
+    field public static final int OPERATION_METADATA = 6; // 0x6
+    field public static final int OPERATION_SIM_SLOT = 2; // 0x2
+    field public static final int OPERATION_SMDX = 9; // 0x9
+    field public static final int OPERATION_SMDX_SUBJECT_REASON_CODE = 10; // 0xa
+    field public static final int OPERATION_SWITCH = 4; // 0x4
+    field public static final int OPERATION_SYSTEM = 1; // 0x1
+  }
+
+}
+
+package android.telephony.gsm {
+
+  @Deprecated public class GsmCellLocation extends android.telephony.CellLocation {
+    ctor @Deprecated public GsmCellLocation();
+    ctor @Deprecated public GsmCellLocation(android.os.Bundle);
+    method @Deprecated public void fillInNotifierBundle(android.os.Bundle);
+    method @Deprecated public int getCid();
+    method @Deprecated public int getLac();
+    method @Deprecated public int getPsc();
+    method @Deprecated public void setLacAndCid(int, int);
+    method @Deprecated public void setStateInvalid();
+  }
+
+  @Deprecated public final class SmsManager {
+    method @Deprecated public java.util.ArrayList<java.lang.String> divideMessage(String);
+    method @Deprecated public static android.telephony.gsm.SmsManager getDefault();
+    method @Deprecated public void sendDataMessage(String, String, short, byte[], android.app.PendingIntent, android.app.PendingIntent);
+    method @Deprecated public void sendMultipartTextMessage(String, String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>);
+    method @Deprecated public void sendTextMessage(String, String, String, android.app.PendingIntent, android.app.PendingIntent);
+    field @Deprecated public static final int RESULT_ERROR_GENERIC_FAILURE = 1; // 0x1
+    field @Deprecated public static final int RESULT_ERROR_NO_SERVICE = 4; // 0x4
+    field @Deprecated public static final int RESULT_ERROR_NULL_PDU = 3; // 0x3
+    field @Deprecated public static final int RESULT_ERROR_RADIO_OFF = 2; // 0x2
+    field @Deprecated public static final int STATUS_ON_SIM_FREE = 0; // 0x0
+    field @Deprecated public static final int STATUS_ON_SIM_READ = 1; // 0x1
+    field @Deprecated public static final int STATUS_ON_SIM_SENT = 5; // 0x5
+    field @Deprecated public static final int STATUS_ON_SIM_UNREAD = 3; // 0x3
+    field @Deprecated public static final int STATUS_ON_SIM_UNSENT = 7; // 0x7
+  }
+
+  @Deprecated public class SmsMessage {
+    ctor @Deprecated public SmsMessage();
+    method @Deprecated public static int[] calculateLength(CharSequence, boolean);
+    method @Deprecated public static int[] calculateLength(String, boolean);
+    method @Deprecated public static android.telephony.gsm.SmsMessage createFromPdu(byte[]);
+    method @Deprecated public String getDisplayMessageBody();
+    method @Deprecated public String getDisplayOriginatingAddress();
+    method @Deprecated public String getEmailBody();
+    method @Deprecated public String getEmailFrom();
+    method @Deprecated public int getIndexOnSim();
+    method @Deprecated public String getMessageBody();
+    method @Deprecated public android.telephony.gsm.SmsMessage.MessageClass getMessageClass();
+    method @Deprecated public String getOriginatingAddress();
+    method @Deprecated public byte[] getPdu();
+    method @Deprecated public int getProtocolIdentifier();
+    method @Deprecated public String getPseudoSubject();
+    method @Deprecated public String getServiceCenterAddress();
+    method @Deprecated public int getStatus();
+    method @Deprecated public int getStatusOnSim();
+    method @Deprecated public static android.telephony.gsm.SmsMessage.SubmitPdu getSubmitPdu(String, String, String, boolean);
+    method @Deprecated public static android.telephony.gsm.SmsMessage.SubmitPdu getSubmitPdu(String, String, short, byte[], boolean);
+    method @Deprecated public static int getTPLayerLengthForPDU(String);
+    method @Deprecated public long getTimestampMillis();
+    method @Deprecated public byte[] getUserData();
+    method @Deprecated public boolean isCphsMwiMessage();
+    method @Deprecated public boolean isEmail();
+    method @Deprecated public boolean isMWIClearMessage();
+    method @Deprecated public boolean isMWISetMessage();
+    method @Deprecated public boolean isMwiDontStore();
+    method @Deprecated public boolean isReplace();
+    method @Deprecated public boolean isReplyPathPresent();
+    method @Deprecated public boolean isStatusReportMessage();
+    field @Deprecated public static final int ENCODING_16BIT = 3; // 0x3
+    field @Deprecated public static final int ENCODING_7BIT = 1; // 0x1
+    field @Deprecated public static final int ENCODING_8BIT = 2; // 0x2
+    field @Deprecated public static final int ENCODING_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final int MAX_USER_DATA_BYTES = 140; // 0x8c
+    field @Deprecated public static final int MAX_USER_DATA_SEPTETS = 160; // 0xa0
+    field @Deprecated public static final int MAX_USER_DATA_SEPTETS_WITH_HEADER = 153; // 0x99
+  }
+
+  @Deprecated public enum SmsMessage.MessageClass {
+    enum_constant @Deprecated public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_0;
+    enum_constant @Deprecated public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_1;
+    enum_constant @Deprecated public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_2;
+    enum_constant @Deprecated public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_3;
+    enum_constant @Deprecated public static final android.telephony.gsm.SmsMessage.MessageClass UNKNOWN;
+  }
+
+  @Deprecated public static class SmsMessage.SubmitPdu {
+    ctor @Deprecated public SmsMessage.SubmitPdu();
+    field @Deprecated public byte[] encodedMessage;
+    field @Deprecated public byte[] encodedScAddress;
+  }
+
+}
+
+package android.telephony.ims {
+
+  public final class ImsException extends java.lang.Exception {
+    method public int getCode();
+    field public static final int CODE_ERROR_INVALID_SUBSCRIPTION = 3; // 0x3
+    field public static final int CODE_ERROR_SERVICE_UNAVAILABLE = 1; // 0x1
+    field public static final int CODE_ERROR_UNSPECIFIED = 0; // 0x0
+    field public static final int CODE_ERROR_UNSUPPORTED_OPERATION = 2; // 0x2
+  }
+
+  public class ImsManager {
+    method @NonNull public android.telephony.ims.ImsMmTelManager getImsMmTelManager(int);
+    method @NonNull public android.telephony.ims.ImsRcsManager getImsRcsManager(int);
+    field public static final String ACTION_WFC_IMS_REGISTRATION_ERROR = "android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR";
+    field public static final String EXTRA_WFC_REGISTRATION_FAILURE_MESSAGE = "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_MESSAGE";
+    field public static final String EXTRA_WFC_REGISTRATION_FAILURE_TITLE = "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_TITLE";
+  }
+
+  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public int getVoWiFiModeSetting();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isAdvancedCallingSettingEnabled();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isCrossSimCallingEnabled() throws android.telephony.ims.ImsException;
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isTtyOverVolteEnabled();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isVoWiFiRoamingSettingEnabled();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isVoWiFiSettingEnabled();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isVtSettingEnabled();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void registerMmTelCapabilityCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.CapabilityCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void unregisterMmTelCapabilityCallback(@NonNull android.telephony.ims.ImsMmTelManager.CapabilityCallback);
+    field public static final int WIFI_MODE_CELLULAR_PREFERRED = 1; // 0x1
+    field public static final int WIFI_MODE_WIFI_ONLY = 0; // 0x0
+    field public static final int WIFI_MODE_WIFI_PREFERRED = 2; // 0x2
+  }
+
+  public static class ImsMmTelManager.CapabilityCallback {
+    ctor public ImsMmTelManager.CapabilityCallback();
+    method public void onCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
+  }
+
+  public class ImsRcsManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @NonNull public android.telephony.ims.RcsUceAdapter getUceAdapter();
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
+    field public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN = "android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN";
+  }
+
+  public final class ImsReasonInfo implements android.os.Parcelable {
+    ctor public ImsReasonInfo(int, int, @Nullable String);
+    method public int describeContents();
+    method public int getCode();
+    method public int getExtraCode();
+    method @Nullable public String getExtraMessage();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CODE_ACCESS_CLASS_BLOCKED = 1512; // 0x5e8
+    field public static final int CODE_ANSWERED_ELSEWHERE = 1014; // 0x3f6
+    field public static final int CODE_BLACKLISTED_CALL_ID = 506; // 0x1fa
+    field public static final int CODE_CALL_BARRED = 240; // 0xf0
+    field public static final int CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE = 1100; // 0x44c
+    field public static final int CODE_CALL_END_CAUSE_CALL_PULL = 1016; // 0x3f8
+    field public static final int CODE_CALL_PULL_OUT_OF_SYNC = 1015; // 0x3f7
+    field public static final int CODE_DATA_DISABLED = 1406; // 0x57e
+    field public static final int CODE_DATA_LIMIT_REACHED = 1405; // 0x57d
+    field public static final int CODE_DIAL_MODIFIED_TO_DIAL = 246; // 0xf6
+    field public static final int CODE_DIAL_MODIFIED_TO_DIAL_VIDEO = 247; // 0xf7
+    field public static final int CODE_DIAL_MODIFIED_TO_SS = 245; // 0xf5
+    field public static final int CODE_DIAL_MODIFIED_TO_USSD = 244; // 0xf4
+    field public static final int CODE_DIAL_VIDEO_MODIFIED_TO_DIAL = 248; // 0xf8
+    field public static final int CODE_DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO = 249; // 0xf9
+    field public static final int CODE_DIAL_VIDEO_MODIFIED_TO_SS = 250; // 0xfa
+    field public static final int CODE_DIAL_VIDEO_MODIFIED_TO_USSD = 251; // 0xfb
+    field public static final int CODE_ECBM_NOT_SUPPORTED = 901; // 0x385
+    field public static final int CODE_EMERGENCY_PERM_FAILURE = 364; // 0x16c
+    field public static final int CODE_EMERGENCY_TEMP_FAILURE = 363; // 0x16b
+    field public static final int CODE_EPDG_TUNNEL_ESTABLISH_FAILURE = 1400; // 0x578
+    field public static final int CODE_EPDG_TUNNEL_LOST_CONNECTION = 1402; // 0x57a
+    field public static final int CODE_EPDG_TUNNEL_REKEY_FAILURE = 1401; // 0x579
+    field public static final int CODE_FDN_BLOCKED = 241; // 0xf1
+    field public static final int CODE_IKEV2_AUTH_FAILURE = 1408; // 0x580
+    field public static final int CODE_IMEI_NOT_ACCEPTED = 243; // 0xf3
+    field public static final int CODE_IWLAN_DPD_FAILURE = 1300; // 0x514
+    field public static final int CODE_LOCAL_CALL_BUSY = 142; // 0x8e
+    field public static final int CODE_LOCAL_CALL_CS_RETRY_REQUIRED = 146; // 0x92
+    field public static final int CODE_LOCAL_CALL_DECLINE = 143; // 0x8f
+    field public static final int CODE_LOCAL_CALL_EXCEEDED = 141; // 0x8d
+    field public static final int CODE_LOCAL_CALL_RESOURCE_RESERVATION_FAILED = 145; // 0x91
+    field public static final int CODE_LOCAL_CALL_TERMINATED = 148; // 0x94
+    field public static final int CODE_LOCAL_CALL_VCC_ON_PROGRESSING = 144; // 0x90
+    field public static final int CODE_LOCAL_CALL_VOLTE_RETRY_REQUIRED = 147; // 0x93
+    field public static final int CODE_LOCAL_ENDED_BY_CONFERENCE_MERGE = 108; // 0x6c
+    field public static final int CODE_LOCAL_HO_NOT_FEASIBLE = 149; // 0x95
+    field public static final int CODE_LOCAL_ILLEGAL_ARGUMENT = 101; // 0x65
+    field public static final int CODE_LOCAL_ILLEGAL_STATE = 102; // 0x66
+    field public static final int CODE_LOCAL_IMS_SERVICE_DOWN = 106; // 0x6a
+    field public static final int CODE_LOCAL_INTERNAL_ERROR = 103; // 0x67
+    field public static final int CODE_LOCAL_LOW_BATTERY = 112; // 0x70
+    field public static final int CODE_LOCAL_NETWORK_IP_CHANGED = 124; // 0x7c
+    field public static final int CODE_LOCAL_NETWORK_NO_LTE_COVERAGE = 122; // 0x7a
+    field public static final int CODE_LOCAL_NETWORK_NO_SERVICE = 121; // 0x79
+    field public static final int CODE_LOCAL_NETWORK_ROAMING = 123; // 0x7b
+    field public static final int CODE_LOCAL_NOT_REGISTERED = 132; // 0x84
+    field public static final int CODE_LOCAL_NO_PENDING_CALL = 107; // 0x6b
+    field public static final int CODE_LOCAL_POWER_OFF = 111; // 0x6f
+    field public static final int CODE_LOCAL_SERVICE_UNAVAILABLE = 131; // 0x83
+    field public static final int CODE_LOW_BATTERY = 505; // 0x1f9
+    field public static final int CODE_MAXIMUM_NUMBER_OF_CALLS_REACHED = 1403; // 0x57b
+    field public static final int CODE_MEDIA_INIT_FAILED = 401; // 0x191
+    field public static final int CODE_MEDIA_NOT_ACCEPTABLE = 403; // 0x193
+    field public static final int CODE_MEDIA_NO_DATA = 402; // 0x192
+    field public static final int CODE_MEDIA_UNSPECIFIED = 404; // 0x194
+    field public static final int CODE_MULTIENDPOINT_NOT_SUPPORTED = 902; // 0x386
+    field public static final int CODE_NETWORK_CONGESTION = 1624; // 0x658
+    field public static final int CODE_NETWORK_DETACH = 1513; // 0x5e9
+    field public static final int CODE_NETWORK_REJECT = 1504; // 0x5e0
+    field public static final int CODE_NETWORK_RESP_TIMEOUT = 1503; // 0x5df
+    field public static final int CODE_NO_CSFB_IN_CS_ROAM = 1516; // 0x5ec
+    field public static final int CODE_NO_VALID_SIM = 1501; // 0x5dd
+    field public static final int CODE_OEM_CAUSE_1 = 61441; // 0xf001
+    field public static final int CODE_OEM_CAUSE_10 = 61450; // 0xf00a
+    field public static final int CODE_OEM_CAUSE_11 = 61451; // 0xf00b
+    field public static final int CODE_OEM_CAUSE_12 = 61452; // 0xf00c
+    field public static final int CODE_OEM_CAUSE_13 = 61453; // 0xf00d
+    field public static final int CODE_OEM_CAUSE_14 = 61454; // 0xf00e
+    field public static final int CODE_OEM_CAUSE_15 = 61455; // 0xf00f
+    field public static final int CODE_OEM_CAUSE_2 = 61442; // 0xf002
+    field public static final int CODE_OEM_CAUSE_3 = 61443; // 0xf003
+    field public static final int CODE_OEM_CAUSE_4 = 61444; // 0xf004
+    field public static final int CODE_OEM_CAUSE_5 = 61445; // 0xf005
+    field public static final int CODE_OEM_CAUSE_6 = 61446; // 0xf006
+    field public static final int CODE_OEM_CAUSE_7 = 61447; // 0xf007
+    field public static final int CODE_OEM_CAUSE_8 = 61448; // 0xf008
+    field public static final int CODE_OEM_CAUSE_9 = 61449; // 0xf009
+    field public static final int CODE_RADIO_ACCESS_FAILURE = 1505; // 0x5e1
+    field public static final int CODE_RADIO_INTERNAL_ERROR = 1502; // 0x5de
+    field public static final int CODE_RADIO_LINK_FAILURE = 1506; // 0x5e2
+    field public static final int CODE_RADIO_LINK_LOST = 1507; // 0x5e3
+    field public static final int CODE_RADIO_OFF = 1500; // 0x5dc
+    field public static final int CODE_RADIO_RELEASE_ABNORMAL = 1511; // 0x5e7
+    field public static final int CODE_RADIO_RELEASE_NORMAL = 1510; // 0x5e6
+    field public static final int CODE_RADIO_SETUP_FAILURE = 1509; // 0x5e5
+    field public static final int CODE_RADIO_UPLINK_FAILURE = 1508; // 0x5e4
+    field public static final int CODE_REGISTRATION_ERROR = 1000; // 0x3e8
+    field public static final int CODE_REJECTED_ELSEWHERE = 1017; // 0x3f9
+    field public static final int CODE_REJECT_1X_COLLISION = 1603; // 0x643
+    field public static final int CODE_REJECT_CALL_ON_OTHER_SUB = 1602; // 0x642
+    field public static final int CODE_REJECT_CALL_TYPE_NOT_ALLOWED = 1605; // 0x645
+    field public static final int CODE_REJECT_CONFERENCE_TTY_NOT_ALLOWED = 1617; // 0x651
+    field public static final int CODE_REJECT_INTERNAL_ERROR = 1612; // 0x64c
+    field public static final int CODE_REJECT_MAX_CALL_LIMIT_REACHED = 1608; // 0x648
+    field public static final int CODE_REJECT_ONGOING_CALL_SETUP = 1607; // 0x647
+    field public static final int CODE_REJECT_ONGOING_CALL_TRANSFER = 1611; // 0x64b
+    field public static final int CODE_REJECT_ONGOING_CALL_UPGRADE = 1616; // 0x650
+    field public static final int CODE_REJECT_ONGOING_CALL_WAITING_DISABLED = 1601; // 0x641
+    field public static final int CODE_REJECT_ONGOING_CONFERENCE_CALL = 1618; // 0x652
+    field public static final int CODE_REJECT_ONGOING_CS_CALL = 1621; // 0x655
+    field public static final int CODE_REJECT_ONGOING_E911_CALL = 1606; // 0x646
+    field public static final int CODE_REJECT_ONGOING_ENCRYPTED_CALL = 1620; // 0x654
+    field public static final int CODE_REJECT_ONGOING_HANDOVER = 1614; // 0x64e
+    field public static final int CODE_REJECT_QOS_FAILURE = 1613; // 0x64d
+    field public static final int CODE_REJECT_SERVICE_NOT_REGISTERED = 1604; // 0x644
+    field public static final int CODE_REJECT_UNKNOWN = 1600; // 0x640
+    field public static final int CODE_REJECT_UNSUPPORTED_SDP_HEADERS = 1610; // 0x64a
+    field public static final int CODE_REJECT_UNSUPPORTED_SIP_HEADERS = 1609; // 0x649
+    field public static final int CODE_REJECT_VT_AVPF_NOT_ALLOWED = 1619; // 0x653
+    field public static final int CODE_REJECT_VT_TTY_NOT_ALLOWED = 1615; // 0x64f
+    field public static final int CODE_REMOTE_CALL_DECLINE = 1404; // 0x57c
+    field public static final int CODE_SESSION_MODIFICATION_FAILED = 1517; // 0x5ed
+    field public static final int CODE_SIP_ALTERNATE_EMERGENCY_CALL = 1514; // 0x5ea
+    field public static final int CODE_SIP_AMBIGUOUS = 376; // 0x178
+    field public static final int CODE_SIP_BAD_ADDRESS = 337; // 0x151
+    field public static final int CODE_SIP_BAD_REQUEST = 331; // 0x14b
+    field public static final int CODE_SIP_BUSY = 338; // 0x152
+    field public static final int CODE_SIP_CALL_OR_TRANS_DOES_NOT_EXIST = 372; // 0x174
+    field public static final int CODE_SIP_CLIENT_ERROR = 342; // 0x156
+    field public static final int CODE_SIP_EXTENSION_REQUIRED = 370; // 0x172
+    field public static final int CODE_SIP_FORBIDDEN = 332; // 0x14c
+    field public static final int CODE_SIP_GLOBAL_ERROR = 362; // 0x16a
+    field public static final int CODE_SIP_INTERVAL_TOO_BRIEF = 371; // 0x173
+    field public static final int CODE_SIP_LOOP_DETECTED = 373; // 0x175
+    field public static final int CODE_SIP_METHOD_NOT_ALLOWED = 366; // 0x16e
+    field public static final int CODE_SIP_NOT_ACCEPTABLE = 340; // 0x154
+    field public static final int CODE_SIP_NOT_FOUND = 333; // 0x14d
+    field public static final int CODE_SIP_NOT_REACHABLE = 341; // 0x155
+    field public static final int CODE_SIP_NOT_SUPPORTED = 334; // 0x14e
+    field public static final int CODE_SIP_PROXY_AUTHENTICATION_REQUIRED = 367; // 0x16f
+    field public static final int CODE_SIP_REDIRECTED = 321; // 0x141
+    field public static final int CODE_SIP_REQUEST_CANCELLED = 339; // 0x153
+    field public static final int CODE_SIP_REQUEST_ENTITY_TOO_LARGE = 368; // 0x170
+    field public static final int CODE_SIP_REQUEST_PENDING = 377; // 0x179
+    field public static final int CODE_SIP_REQUEST_TIMEOUT = 335; // 0x14f
+    field public static final int CODE_SIP_REQUEST_URI_TOO_LARGE = 369; // 0x171
+    field public static final int CODE_SIP_SERVER_ERROR = 354; // 0x162
+    field public static final int CODE_SIP_SERVER_INTERNAL_ERROR = 351; // 0x15f
+    field public static final int CODE_SIP_SERVER_TIMEOUT = 353; // 0x161
+    field public static final int CODE_SIP_SERVICE_UNAVAILABLE = 352; // 0x160
+    field public static final int CODE_SIP_TEMPRARILY_UNAVAILABLE = 336; // 0x150
+    field public static final int CODE_SIP_TOO_MANY_HOPS = 374; // 0x176
+    field public static final int CODE_SIP_TRANSACTION_DOES_NOT_EXIST = 343; // 0x157
+    field public static final int CODE_SIP_UNDECIPHERABLE = 378; // 0x17a
+    field public static final int CODE_SIP_USER_MARKED_UNWANTED = 365; // 0x16d
+    field public static final int CODE_SIP_USER_REJECTED = 361; // 0x169
+    field public static final int CODE_SUPP_SVC_CANCELLED = 1202; // 0x4b2
+    field public static final int CODE_SUPP_SVC_FAILED = 1201; // 0x4b1
+    field public static final int CODE_SUPP_SVC_REINVITE_COLLISION = 1203; // 0x4b3
+    field public static final int CODE_TIMEOUT_1XX_WAITING = 201; // 0xc9
+    field public static final int CODE_TIMEOUT_NO_ANSWER = 202; // 0xca
+    field public static final int CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE = 203; // 0xcb
+    field public static final int CODE_UNSPECIFIED = 0; // 0x0
+    field public static final int CODE_USER_CANCELLED_SESSION_MODIFICATION = 512; // 0x200
+    field public static final int CODE_USER_DECLINE = 504; // 0x1f8
+    field public static final int CODE_USER_IGNORE = 503; // 0x1f7
+    field public static final int CODE_USER_NOANSWER = 502; // 0x1f6
+    field public static final int CODE_USER_REJECTED_SESSION_MODIFICATION = 511; // 0x1ff
+    field public static final int CODE_USER_TERMINATED = 501; // 0x1f5
+    field public static final int CODE_USER_TERMINATED_BY_REMOTE = 510; // 0x1fe
+    field public static final int CODE_UT_CB_PASSWORD_MISMATCH = 821; // 0x335
+    field public static final int CODE_UT_NETWORK_ERROR = 804; // 0x324
+    field public static final int CODE_UT_NOT_SUPPORTED = 801; // 0x321
+    field public static final int CODE_UT_OPERATION_NOT_ALLOWED = 803; // 0x323
+    field public static final int CODE_UT_SERVICE_UNAVAILABLE = 802; // 0x322
+    field public static final int CODE_UT_SS_MODIFIED_TO_DIAL = 822; // 0x336
+    field public static final int CODE_UT_SS_MODIFIED_TO_DIAL_VIDEO = 825; // 0x339
+    field public static final int CODE_UT_SS_MODIFIED_TO_SS = 824; // 0x338
+    field public static final int CODE_UT_SS_MODIFIED_TO_USSD = 823; // 0x337
+    field public static final int CODE_WIFI_LOST = 1407; // 0x57f
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsReasonInfo> CREATOR;
+    field public static final int EXTRA_CODE_CALL_RETRY_BY_SETTINGS = 3; // 0x3
+    field public static final int EXTRA_CODE_CALL_RETRY_EMERGENCY = 4; // 0x4
+    field public static final int EXTRA_CODE_CALL_RETRY_NORMAL = 1; // 0x1
+    field public static final int EXTRA_CODE_CALL_RETRY_SILENT_REDIAL = 2; // 0x2
+  }
+
+  public final class ImsRegistrationAttributes implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAttributeFlags();
+    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
+    method public int getTransportType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int ATTR_EPDG_OVER_CELL_INTERNET = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsRegistrationAttributes> CREATOR;
+  }
+
+  public class RcsUceAdapter {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isUceSettingEnabled() throws android.telephony.ims.ImsException;
+  }
+
+  public interface RegistrationManager {
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
+    field public static final int REGISTRATION_STATE_NOT_REGISTERED = 0; // 0x0
+    field public static final int REGISTRATION_STATE_REGISTERED = 2; // 0x2
+    field public static final int REGISTRATION_STATE_REGISTERING = 1; // 0x1
+  }
+
+  public static class RegistrationManager.RegistrationCallback {
+    ctor public RegistrationManager.RegistrationCallback();
+    method @Deprecated public void onRegistered(int);
+    method public void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
+    method @Deprecated public void onRegistering(int);
+    method public void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
+    method public void onTechnologyChangeFailed(int, @NonNull android.telephony.ims.ImsReasonInfo);
+    method public void onUnregistered(@NonNull android.telephony.ims.ImsReasonInfo);
+  }
+
+}
+
+package android.telephony.ims.feature {
+
+  public class MmTelFeature {
+  }
+
+  public static class MmTelFeature.MmTelCapabilities {
+    method public final boolean isCapable(int);
+    field public static final int CAPABILITY_TYPE_CALL_COMPOSER = 16; // 0x10
+    field public static final int CAPABILITY_TYPE_SMS = 8; // 0x8
+    field public static final int CAPABILITY_TYPE_UT = 4; // 0x4
+    field public static final int CAPABILITY_TYPE_VIDEO = 2; // 0x2
+    field public static final int CAPABILITY_TYPE_VOICE = 1; // 0x1
+  }
+
+}
+
+package android.telephony.mbms {
+
+  public class DownloadProgressListener {
+    ctor public DownloadProgressListener();
+    method public void onProgressUpdated(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo, int, int, int, int);
+  }
+
+  public final class DownloadRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.net.Uri getDestinationUri();
+    method public String getFileServiceId();
+    method public static int getMaxAppIntentSize();
+    method public static int getMaxDestinationUriSize();
+    method public android.net.Uri getSourceUri();
+    method public int getSubscriptionId();
+    method public byte[] toByteArray();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.DownloadRequest> CREATOR;
+  }
+
+  public static class DownloadRequest.Builder {
+    ctor public DownloadRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri);
+    method public android.telephony.mbms.DownloadRequest build();
+    method public static android.telephony.mbms.DownloadRequest.Builder fromDownloadRequest(android.telephony.mbms.DownloadRequest);
+    method public static android.telephony.mbms.DownloadRequest.Builder fromSerializedRequest(byte[]);
+    method public android.telephony.mbms.DownloadRequest.Builder setAppIntent(android.content.Intent);
+    method public android.telephony.mbms.DownloadRequest.Builder setServiceInfo(android.telephony.mbms.FileServiceInfo);
+    method public android.telephony.mbms.DownloadRequest.Builder setSubscriptionId(int);
+  }
+
+  public class DownloadStatusListener {
+    ctor public DownloadStatusListener();
+    method public void onStatusUpdated(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo, int);
+  }
+
+  public final class FileInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public String getMimeType();
+    method public android.net.Uri getUri();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.FileInfo> CREATOR;
+  }
+
+  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.util.List<android.telephony.mbms.FileInfo> getFiles();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.FileServiceInfo> CREATOR;
+  }
+
+  public class GroupCall implements java.lang.AutoCloseable {
+    method public void close();
+    method public long getTmgi();
+    method public void updateGroupCall(@NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
+    field public static final int REASON_BY_USER_REQUEST = 1; // 0x1
+    field public static final int REASON_FREQUENCY_CONFLICT = 3; // 0x3
+    field public static final int REASON_LEFT_MBMS_BROADCAST_AREA = 6; // 0x6
+    field public static final int REASON_NONE = 0; // 0x0
+    field public static final int REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE = 5; // 0x5
+    field public static final int REASON_OUT_OF_MEMORY = 4; // 0x4
+    field public static final int STATE_STALLED = 3; // 0x3
+    field public static final int STATE_STARTED = 2; // 0x2
+    field public static final int STATE_STOPPED = 1; // 0x1
+  }
+
+  public interface GroupCallCallback {
+    method public default void onBroadcastSignalStrengthUpdated(@IntRange(from=0xffffffff, to=4) int);
+    method public default void onError(int, @Nullable String);
+    method public default void onGroupCallStateChanged(int, int);
+    field public static final int SIGNAL_STRENGTH_UNAVAILABLE = -1; // 0xffffffff
+  }
+
+  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
+    ctor public MbmsDownloadReceiver();
+    method public void onReceive(android.content.Context, android.content.Intent);
+  }
+
+  public class MbmsDownloadSessionCallback {
+    ctor public MbmsDownloadSessionCallback();
+    method public void onError(int, String);
+    method public void onFileServicesUpdated(java.util.List<android.telephony.mbms.FileServiceInfo>);
+    method public void onMiddlewareReady();
+  }
+
+  public class MbmsErrors {
+    field public static final int ERROR_MIDDLEWARE_LOST = 3; // 0x3
+    field public static final int ERROR_MIDDLEWARE_NOT_BOUND = 2; // 0x2
+    field public static final int ERROR_NO_UNIQUE_MIDDLEWARE = 1; // 0x1
+    field public static final int SUCCESS = 0; // 0x0
+    field public static final int UNKNOWN = -1; // 0xffffffff
+  }
+
+  public static class MbmsErrors.DownloadErrors {
+    field public static final int ERROR_CANNOT_CHANGE_TEMP_FILE_ROOT = 401; // 0x191
+    field public static final int ERROR_MALFORMED_SERVICE_ANNOUNCEMENT = 404; // 0x194
+    field public static final int ERROR_UNKNOWN_DOWNLOAD_REQUEST = 402; // 0x192
+    field public static final int ERROR_UNKNOWN_FILE_INFO = 403; // 0x193
+  }
+
+  public static class MbmsErrors.GeneralErrors {
+    field public static final int ERROR_CARRIER_CHANGE_NOT_ALLOWED = 207; // 0xcf
+    field public static final int ERROR_IN_E911 = 204; // 0xcc
+    field public static final int ERROR_MIDDLEWARE_NOT_YET_READY = 201; // 0xc9
+    field public static final int ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE = 203; // 0xcb
+    field public static final int ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE = 205; // 0xcd
+    field public static final int ERROR_OUT_OF_MEMORY = 202; // 0xca
+    field public static final int ERROR_UNABLE_TO_READ_SIM = 206; // 0xce
+  }
+
+  public static class MbmsErrors.GroupCallErrors {
+    field public static final int ERROR_DUPLICATE_START_GROUP_CALL = 502; // 0x1f6
+    field public static final int ERROR_UNABLE_TO_START_SERVICE = 501; // 0x1f5
+  }
+
+  public static class MbmsErrors.InitializationErrors {
+    field public static final int ERROR_APP_PERMISSIONS_NOT_GRANTED = 102; // 0x66
+    field public static final int ERROR_DUPLICATE_INITIALIZE = 101; // 0x65
+    field public static final int ERROR_UNABLE_TO_INITIALIZE = 103; // 0x67
+  }
+
+  public static class MbmsErrors.StreamingErrors {
+    field public static final int ERROR_CONCURRENT_SERVICE_LIMIT_REACHED = 301; // 0x12d
+    field public static final int ERROR_DUPLICATE_START_STREAM = 303; // 0x12f
+    field public static final int ERROR_UNABLE_TO_START_SERVICE = 302; // 0x12e
+  }
+
+  public interface MbmsGroupCallSessionCallback {
+    method public default void onAvailableSaisUpdated(@NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.util.List<java.lang.Integer>>);
+    method public default void onError(int, @Nullable String);
+    method public default void onMiddlewareReady();
+    method public default void onServiceInterfaceAvailable(@NonNull String, int);
+  }
+
+  public class MbmsStreamingSessionCallback {
+    ctor public MbmsStreamingSessionCallback();
+    method public void onError(int, @Nullable String);
+    method public void onMiddlewareReady();
+    method public void onStreamingServicesUpdated(java.util.List<android.telephony.mbms.StreamingServiceInfo>);
+  }
+
+  public class ServiceInfo {
+    method public java.util.List<java.util.Locale> getLocales();
+    method @NonNull public CharSequence getNameForLocale(@NonNull java.util.Locale);
+    method @NonNull public java.util.Set<java.util.Locale> getNamedContentLocales();
+    method public String getServiceClassName();
+    method public String getServiceId();
+    method public java.util.Date getSessionEndTime();
+    method public java.util.Date getSessionStartTime();
+  }
+
+  public class StreamingService implements java.lang.AutoCloseable {
+    method public void close();
+    method public android.telephony.mbms.StreamingServiceInfo getInfo();
+    method @Nullable public android.net.Uri getPlaybackUri();
+    field public static final int BROADCAST_METHOD = 1; // 0x1
+    field public static final int REASON_BY_USER_REQUEST = 1; // 0x1
+    field public static final int REASON_END_OF_SESSION = 2; // 0x2
+    field public static final int REASON_FREQUENCY_CONFLICT = 3; // 0x3
+    field public static final int REASON_LEFT_MBMS_BROADCAST_AREA = 6; // 0x6
+    field public static final int REASON_NONE = 0; // 0x0
+    field public static final int REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE = 5; // 0x5
+    field public static final int REASON_OUT_OF_MEMORY = 4; // 0x4
+    field public static final int STATE_STALLED = 3; // 0x3
+    field public static final int STATE_STARTED = 2; // 0x2
+    field public static final int STATE_STOPPED = 1; // 0x1
+    field public static final int UNICAST_METHOD = 2; // 0x2
+  }
+
+  public class StreamingServiceCallback {
+    ctor public StreamingServiceCallback();
+    method public void onBroadcastSignalStrengthUpdated(int);
+    method public void onError(int, @Nullable String);
+    method public void onMediaDescriptionUpdated();
+    method public void onStreamMethodUpdated(int);
+    method public void onStreamStateUpdated(int, int);
+    field public static final int SIGNAL_STRENGTH_UNAVAILABLE = -1; // 0xffffffff
+  }
+
+  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.StreamingServiceInfo> CREATOR;
+  }
+
+}
+
+package android.text {
+
+  @Deprecated public class AlteredCharSequence implements java.lang.CharSequence android.text.GetChars {
+    method @Deprecated public char charAt(int);
+    method @Deprecated public void getChars(int, int, char[], int);
+    method @Deprecated public int length();
+    method @Deprecated public static android.text.AlteredCharSequence make(CharSequence, char[], int, int);
+    method @Deprecated public CharSequence subSequence(int, int);
+  }
+
+  @Deprecated public class AndroidCharacter {
+    ctor @Deprecated public AndroidCharacter();
+    method @Deprecated public static void getDirectionalities(char[], byte[], int);
+    method @Deprecated public static int getEastAsianWidth(char);
+    method @Deprecated public static void getEastAsianWidths(char[], int, int, byte[]);
+    method @Deprecated public static char getMirror(char);
+    method @Deprecated public static boolean mirror(char[], int, int);
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_AMBIGUOUS = 1; // 0x1
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_FULL_WIDTH = 3; // 0x3
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_HALF_WIDTH = 2; // 0x2
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_NARROW = 4; // 0x4
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_NEUTRAL = 0; // 0x0
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_WIDE = 5; // 0x5
+  }
+
+  public class Annotation implements android.text.ParcelableSpan {
+    ctor public Annotation(String, String);
+    ctor public Annotation(android.os.Parcel);
+    method public int describeContents();
+    method public String getKey();
+    method public int getSpanTypeId();
+    method public String getValue();
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class AutoText {
+    method public static String get(CharSequence, int, int, android.view.View);
+    method public static int getSize(android.view.View);
+  }
+
+  public final class BidiFormatter {
+    method public static android.text.BidiFormatter getInstance();
+    method public static android.text.BidiFormatter getInstance(boolean);
+    method public static android.text.BidiFormatter getInstance(java.util.Locale);
+    method public boolean getStereoReset();
+    method public boolean isRtl(String);
+    method public boolean isRtl(CharSequence);
+    method public boolean isRtlContext();
+    method @Nullable public String unicodeWrap(@Nullable String, android.text.TextDirectionHeuristic, boolean);
+    method @Nullable public CharSequence unicodeWrap(@Nullable CharSequence, android.text.TextDirectionHeuristic, boolean);
+    method public String unicodeWrap(String, android.text.TextDirectionHeuristic);
+    method public CharSequence unicodeWrap(CharSequence, android.text.TextDirectionHeuristic);
+    method public String unicodeWrap(String, boolean);
+    method public CharSequence unicodeWrap(CharSequence, boolean);
+    method public String unicodeWrap(String);
+    method public CharSequence unicodeWrap(CharSequence);
+  }
+
+  public static final class BidiFormatter.Builder {
+    ctor public BidiFormatter.Builder();
+    ctor public BidiFormatter.Builder(boolean);
+    ctor public BidiFormatter.Builder(java.util.Locale);
+    method public android.text.BidiFormatter build();
+    method public android.text.BidiFormatter.Builder setTextDirectionHeuristic(android.text.TextDirectionHeuristic);
+    method public android.text.BidiFormatter.Builder stereoReset(boolean);
+  }
+
+  public class BoringLayout extends android.text.Layout implements android.text.TextUtils.EllipsizeCallback {
+    ctor public BoringLayout(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean);
+    ctor public BoringLayout(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean, android.text.TextUtils.TruncateAt, int);
+    method public void ellipsized(int, int);
+    method public int getBottomPadding();
+    method public int getEllipsisCount(int);
+    method public int getEllipsisStart(int);
+    method public boolean getLineContainsTab(int);
+    method public int getLineCount();
+    method public int getLineDescent(int);
+    method public final android.text.Layout.Directions getLineDirections(int);
+    method public int getLineStart(int);
+    method public int getLineTop(int);
+    method public int getParagraphDirection(int);
+    method public int getTopPadding();
+    method public static android.text.BoringLayout.Metrics isBoring(CharSequence, android.text.TextPaint);
+    method public static android.text.BoringLayout.Metrics isBoring(CharSequence, android.text.TextPaint, android.text.BoringLayout.Metrics);
+    method public static android.text.BoringLayout make(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean);
+    method public static android.text.BoringLayout make(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean, android.text.TextUtils.TruncateAt, int);
+    method public android.text.BoringLayout replaceOrMake(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean);
+    method public android.text.BoringLayout replaceOrMake(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean, android.text.TextUtils.TruncateAt, int);
+  }
+
+  public static class BoringLayout.Metrics extends android.graphics.Paint.FontMetricsInt {
+    ctor public BoringLayout.Metrics();
+    field public int width;
+  }
+
+  @Deprecated public abstract class ClipboardManager {
+    ctor @Deprecated public ClipboardManager();
+    method @Deprecated public abstract CharSequence getText();
+    method @Deprecated public abstract boolean hasText();
+    method @Deprecated public abstract void setText(CharSequence);
+  }
+
+  public class DynamicLayout extends android.text.Layout {
+    ctor @Deprecated public DynamicLayout(@NonNull CharSequence, @NonNull android.text.TextPaint, @IntRange(from=0) int, @NonNull android.text.Layout.Alignment, @FloatRange(from=0.0) float, float, boolean);
+    ctor @Deprecated public DynamicLayout(@NonNull CharSequence, @NonNull CharSequence, @NonNull android.text.TextPaint, @IntRange(from=0) int, @NonNull android.text.Layout.Alignment, @FloatRange(from=0.0) float, float, boolean);
+    ctor @Deprecated public DynamicLayout(@NonNull CharSequence, @NonNull CharSequence, @NonNull android.text.TextPaint, @IntRange(from=0) int, @NonNull android.text.Layout.Alignment, @FloatRange(from=0.0) float, float, boolean, @Nullable android.text.TextUtils.TruncateAt, @IntRange(from=0) int);
+    method public int getBottomPadding();
+    method public int getEllipsisCount(int);
+    method public int getEllipsisStart(int);
+    method public boolean getLineContainsTab(int);
+    method public int getLineCount();
+    method public int getLineDescent(int);
+    method public final android.text.Layout.Directions getLineDirections(int);
+    method public int getLineStart(int);
+    method public int getLineTop(int);
+    method public int getParagraphDirection(int);
+    method public int getTopPadding();
+  }
+
+  public static final class DynamicLayout.Builder {
+    method @NonNull public android.text.DynamicLayout build();
+    method @NonNull public static android.text.DynamicLayout.Builder obtain(@NonNull CharSequence, @NonNull android.text.TextPaint, @IntRange(from=0) int);
+    method @NonNull public android.text.DynamicLayout.Builder setAlignment(@NonNull android.text.Layout.Alignment);
+    method @NonNull public android.text.DynamicLayout.Builder setBreakStrategy(int);
+    method @NonNull public android.text.DynamicLayout.Builder setDisplayText(@NonNull CharSequence);
+    method public android.text.DynamicLayout.Builder setEllipsize(@Nullable android.text.TextUtils.TruncateAt);
+    method @NonNull public android.text.DynamicLayout.Builder setEllipsizedWidth(@IntRange(from=0) int);
+    method @NonNull public android.text.DynamicLayout.Builder setHyphenationFrequency(int);
+    method @NonNull public android.text.DynamicLayout.Builder setIncludePad(boolean);
+    method @NonNull public android.text.DynamicLayout.Builder setJustificationMode(int);
+    method @NonNull public android.text.DynamicLayout.Builder setLineSpacing(float, @FloatRange(from=0.0) float);
+    method @NonNull public android.text.DynamicLayout.Builder setTextDirection(@NonNull android.text.TextDirectionHeuristic);
+    method @NonNull public android.text.DynamicLayout.Builder setUseLineSpacingFromFallbacks(boolean);
+  }
+
+  public interface Editable extends java.lang.CharSequence java.lang.Appendable android.text.GetChars android.text.Spannable {
+    method public android.text.Editable append(CharSequence);
+    method public android.text.Editable append(CharSequence, int, int);
+    method public android.text.Editable append(char);
+    method public void clear();
+    method public void clearSpans();
+    method public android.text.Editable delete(int, int);
+    method public android.text.InputFilter[] getFilters();
+    method public android.text.Editable insert(int, CharSequence, int, int);
+    method public android.text.Editable insert(int, CharSequence);
+    method public android.text.Editable replace(int, int, CharSequence, int, int);
+    method public android.text.Editable replace(int, int, CharSequence);
+    method public void setFilters(android.text.InputFilter[]);
+  }
+
+  public static class Editable.Factory {
+    ctor public Editable.Factory();
+    method public static android.text.Editable.Factory getInstance();
+    method public android.text.Editable newEditable(CharSequence);
+  }
+
+  public interface GetChars extends java.lang.CharSequence {
+    method public void getChars(int, int, char[], int);
+  }
+
+  public class Html {
+    method public static String escapeHtml(CharSequence);
+    method @Deprecated public static android.text.Spanned fromHtml(String);
+    method public static android.text.Spanned fromHtml(String, int);
+    method @Deprecated public static android.text.Spanned fromHtml(String, android.text.Html.ImageGetter, android.text.Html.TagHandler);
+    method public static android.text.Spanned fromHtml(String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler);
+    method @Deprecated public static String toHtml(android.text.Spanned);
+    method public static String toHtml(android.text.Spanned, int);
+    field public static final int FROM_HTML_MODE_COMPACT = 63; // 0x3f
+    field public static final int FROM_HTML_MODE_LEGACY = 0; // 0x0
+    field public static final int FROM_HTML_OPTION_USE_CSS_COLORS = 256; // 0x100
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE = 32; // 0x20
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_DIV = 16; // 0x10
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_HEADING = 2; // 0x2
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST = 8; // 0x8
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM = 4; // 0x4
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH = 1; // 0x1
+    field public static final int TO_HTML_PARAGRAPH_LINES_CONSECUTIVE = 0; // 0x0
+    field public static final int TO_HTML_PARAGRAPH_LINES_INDIVIDUAL = 1; // 0x1
+  }
+
+  public static interface Html.ImageGetter {
+    method public android.graphics.drawable.Drawable getDrawable(String);
+  }
+
+  public static interface Html.TagHandler {
+    method public void handleTag(boolean, String, android.text.Editable, org.xml.sax.XMLReader);
+  }
+
+  public interface InputFilter {
+    method public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
+  }
+
+  public static class InputFilter.AllCaps implements android.text.InputFilter {
+    ctor public InputFilter.AllCaps();
+    ctor public InputFilter.AllCaps(@NonNull java.util.Locale);
+    method public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
+  }
+
+  public static class InputFilter.LengthFilter implements android.text.InputFilter {
+    ctor public InputFilter.LengthFilter(int);
+    method public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
+    method public int getMax();
+  }
+
+  public interface InputType {
+    field public static final int TYPE_CLASS_DATETIME = 4; // 0x4
+    field public static final int TYPE_CLASS_NUMBER = 2; // 0x2
+    field public static final int TYPE_CLASS_PHONE = 3; // 0x3
+    field public static final int TYPE_CLASS_TEXT = 1; // 0x1
+    field public static final int TYPE_DATETIME_VARIATION_DATE = 16; // 0x10
+    field public static final int TYPE_DATETIME_VARIATION_NORMAL = 0; // 0x0
+    field public static final int TYPE_DATETIME_VARIATION_TIME = 32; // 0x20
+    field public static final int TYPE_MASK_CLASS = 15; // 0xf
+    field public static final int TYPE_MASK_FLAGS = 16773120; // 0xfff000
+    field public static final int TYPE_MASK_VARIATION = 4080; // 0xff0
+    field public static final int TYPE_NULL = 0; // 0x0
+    field public static final int TYPE_NUMBER_FLAG_DECIMAL = 8192; // 0x2000
+    field public static final int TYPE_NUMBER_FLAG_SIGNED = 4096; // 0x1000
+    field public static final int TYPE_NUMBER_VARIATION_NORMAL = 0; // 0x0
+    field public static final int TYPE_NUMBER_VARIATION_PASSWORD = 16; // 0x10
+    field public static final int TYPE_TEXT_FLAG_AUTO_COMPLETE = 65536; // 0x10000
+    field public static final int TYPE_TEXT_FLAG_AUTO_CORRECT = 32768; // 0x8000
+    field public static final int TYPE_TEXT_FLAG_CAP_CHARACTERS = 4096; // 0x1000
+    field public static final int TYPE_TEXT_FLAG_CAP_SENTENCES = 16384; // 0x4000
+    field public static final int TYPE_TEXT_FLAG_CAP_WORDS = 8192; // 0x2000
+    field public static final int TYPE_TEXT_FLAG_IME_MULTI_LINE = 262144; // 0x40000
+    field public static final int TYPE_TEXT_FLAG_MULTI_LINE = 131072; // 0x20000
+    field public static final int TYPE_TEXT_FLAG_NO_SUGGESTIONS = 524288; // 0x80000
+    field public static final int TYPE_TEXT_VARIATION_EMAIL_ADDRESS = 32; // 0x20
+    field public static final int TYPE_TEXT_VARIATION_EMAIL_SUBJECT = 48; // 0x30
+    field public static final int TYPE_TEXT_VARIATION_FILTER = 176; // 0xb0
+    field public static final int TYPE_TEXT_VARIATION_LONG_MESSAGE = 80; // 0x50
+    field public static final int TYPE_TEXT_VARIATION_NORMAL = 0; // 0x0
+    field public static final int TYPE_TEXT_VARIATION_PASSWORD = 128; // 0x80
+    field public static final int TYPE_TEXT_VARIATION_PERSON_NAME = 96; // 0x60
+    field public static final int TYPE_TEXT_VARIATION_PHONETIC = 192; // 0xc0
+    field public static final int TYPE_TEXT_VARIATION_POSTAL_ADDRESS = 112; // 0x70
+    field public static final int TYPE_TEXT_VARIATION_SHORT_MESSAGE = 64; // 0x40
+    field public static final int TYPE_TEXT_VARIATION_URI = 16; // 0x10
+    field public static final int TYPE_TEXT_VARIATION_VISIBLE_PASSWORD = 144; // 0x90
+    field public static final int TYPE_TEXT_VARIATION_WEB_EDIT_TEXT = 160; // 0xa0
+    field public static final int TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS = 208; // 0xd0
+    field public static final int TYPE_TEXT_VARIATION_WEB_PASSWORD = 224; // 0xe0
+  }
+
+  public abstract class Layout {
+    ctor protected Layout(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float);
+    method public void draw(android.graphics.Canvas);
+    method public void draw(android.graphics.Canvas, android.graphics.Path, android.graphics.Paint, int);
+    method public final android.text.Layout.Alignment getAlignment();
+    method public abstract int getBottomPadding();
+    method public void getCursorPath(int, android.graphics.Path, CharSequence);
+    method public static float getDesiredWidth(CharSequence, android.text.TextPaint);
+    method public static float getDesiredWidth(CharSequence, int, int, android.text.TextPaint);
+    method public abstract int getEllipsisCount(int);
+    method public abstract int getEllipsisStart(int);
+    method public int getEllipsizedWidth();
+    method public int getHeight();
+    method public final int getLineAscent(int);
+    method public final int getLineBaseline(int);
+    method public final int getLineBottom(int);
+    method public int getLineBounds(int, android.graphics.Rect);
+    method public abstract boolean getLineContainsTab(int);
+    method public abstract int getLineCount();
+    method public abstract int getLineDescent(int);
+    method public abstract android.text.Layout.Directions getLineDirections(int);
+    method public final int getLineEnd(int);
+    method public int getLineForOffset(int);
+    method public int getLineForVertical(int);
+    method public float getLineLeft(int);
+    method public float getLineMax(int);
+    method public float getLineRight(int);
+    method public abstract int getLineStart(int);
+    method public abstract int getLineTop(int);
+    method public int getLineVisibleEnd(int);
+    method public float getLineWidth(int);
+    method public int getOffsetForHorizontal(int, float);
+    method public int getOffsetToLeftOf(int);
+    method public int getOffsetToRightOf(int);
+    method public final android.text.TextPaint getPaint();
+    method public final android.text.Layout.Alignment getParagraphAlignment(int);
+    method public abstract int getParagraphDirection(int);
+    method public final int getParagraphLeft(int);
+    method public final int getParagraphRight(int);
+    method public float getPrimaryHorizontal(int);
+    method public float getSecondaryHorizontal(int);
+    method public void getSelectionPath(int, int, android.graphics.Path);
+    method public final float getSpacingAdd();
+    method public final float getSpacingMultiplier();
+    method public final CharSequence getText();
+    method public abstract int getTopPadding();
+    method public final int getWidth();
+    method public final void increaseWidthTo(int);
+    method public boolean isRtlCharAt(int);
+    method protected final boolean isSpanned();
+    field public static final int BREAK_STRATEGY_BALANCED = 2; // 0x2
+    field public static final int BREAK_STRATEGY_HIGH_QUALITY = 1; // 0x1
+    field public static final int BREAK_STRATEGY_SIMPLE = 0; // 0x0
+    field public static final float DEFAULT_LINESPACING_ADDITION = 0.0f;
+    field public static final float DEFAULT_LINESPACING_MULTIPLIER = 1.0f;
+    field public static final int DIR_LEFT_TO_RIGHT = 1; // 0x1
+    field public static final int DIR_RIGHT_TO_LEFT = -1; // 0xffffffff
+    field public static final int HYPHENATION_FREQUENCY_FULL = 2; // 0x2
+    field public static final int HYPHENATION_FREQUENCY_NONE = 0; // 0x0
+    field public static final int HYPHENATION_FREQUENCY_NORMAL = 1; // 0x1
+    field public static final int JUSTIFICATION_MODE_INTER_WORD = 1; // 0x1
+    field public static final int JUSTIFICATION_MODE_NONE = 0; // 0x0
+  }
+
+  public enum Layout.Alignment {
+    enum_constant public static final android.text.Layout.Alignment ALIGN_CENTER;
+    enum_constant public static final android.text.Layout.Alignment ALIGN_NORMAL;
+    enum_constant public static final android.text.Layout.Alignment ALIGN_OPPOSITE;
+  }
+
+  public static class Layout.Directions {
+  }
+
+  @Deprecated public abstract class LoginFilter implements android.text.InputFilter {
+    method @Deprecated public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
+    method @Deprecated public abstract boolean isAllowed(char);
+    method @Deprecated public void onInvalidCharacter(char);
+    method @Deprecated public void onStart();
+    method @Deprecated public void onStop();
+  }
+
+  @Deprecated public static class LoginFilter.PasswordFilterGMail extends android.text.LoginFilter {
+    ctor @Deprecated public LoginFilter.PasswordFilterGMail();
+    ctor @Deprecated public LoginFilter.PasswordFilterGMail(boolean);
+    method @Deprecated public boolean isAllowed(char);
+  }
+
+  @Deprecated public static class LoginFilter.UsernameFilterGMail extends android.text.LoginFilter {
+    ctor @Deprecated public LoginFilter.UsernameFilterGMail();
+    ctor @Deprecated public LoginFilter.UsernameFilterGMail(boolean);
+    method @Deprecated public boolean isAllowed(char);
+  }
+
+  @Deprecated public static class LoginFilter.UsernameFilterGeneric extends android.text.LoginFilter {
+    ctor @Deprecated public LoginFilter.UsernameFilterGeneric();
+    ctor @Deprecated public LoginFilter.UsernameFilterGeneric(boolean);
+    method @Deprecated public boolean isAllowed(char);
+  }
+
+  public interface NoCopySpan {
+  }
+
+  public static class NoCopySpan.Concrete implements android.text.NoCopySpan {
+    ctor public NoCopySpan.Concrete();
+  }
+
+  public interface ParcelableSpan extends android.os.Parcelable {
+    method public int getSpanTypeId();
+  }
+
+  public class PrecomputedText implements android.text.Spannable {
+    method public char charAt(int);
+    method public static android.text.PrecomputedText create(@NonNull CharSequence, @NonNull android.text.PrecomputedText.Params);
+    method public void getBounds(@IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.graphics.Rect);
+    method @IntRange(from=0) public int getParagraphCount();
+    method @IntRange(from=0) public int getParagraphEnd(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getParagraphStart(@IntRange(from=0) int);
+    method @NonNull public android.text.PrecomputedText.Params getParams();
+    method public int getSpanEnd(Object);
+    method public int getSpanFlags(Object);
+    method public int getSpanStart(Object);
+    method public <T> T[] getSpans(int, int, Class<T>);
+    method @FloatRange(from=0) public float getWidth(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public int length();
+    method public int nextSpanTransition(int, int, Class);
+    method public void removeSpan(Object);
+    method public void setSpan(Object, int, int, int);
+    method public CharSequence subSequence(int, int);
+  }
+
+  public static final class PrecomputedText.Params {
+    method public int getBreakStrategy();
+    method public int getHyphenationFrequency();
+    method @NonNull public android.text.TextDirectionHeuristic getTextDirection();
+    method @NonNull public android.text.TextPaint getTextPaint();
+  }
+
+  public static class PrecomputedText.Params.Builder {
+    ctor public PrecomputedText.Params.Builder(@NonNull android.text.TextPaint);
+    ctor public PrecomputedText.Params.Builder(@NonNull android.text.PrecomputedText.Params);
+    method @NonNull public android.text.PrecomputedText.Params build();
+    method public android.text.PrecomputedText.Params.Builder setBreakStrategy(int);
+    method public android.text.PrecomputedText.Params.Builder setHyphenationFrequency(int);
+    method public android.text.PrecomputedText.Params.Builder setTextDirection(@NonNull android.text.TextDirectionHeuristic);
+  }
+
+  public class Selection {
+    method public static boolean extendDown(android.text.Spannable, android.text.Layout);
+    method public static boolean extendLeft(android.text.Spannable, android.text.Layout);
+    method public static boolean extendRight(android.text.Spannable, android.text.Layout);
+    method public static final void extendSelection(android.text.Spannable, int);
+    method public static boolean extendToLeftEdge(android.text.Spannable, android.text.Layout);
+    method public static boolean extendToRightEdge(android.text.Spannable, android.text.Layout);
+    method public static boolean extendUp(android.text.Spannable, android.text.Layout);
+    method public static final int getSelectionEnd(CharSequence);
+    method public static final int getSelectionStart(CharSequence);
+    method public static boolean moveDown(android.text.Spannable, android.text.Layout);
+    method public static boolean moveLeft(android.text.Spannable, android.text.Layout);
+    method public static boolean moveRight(android.text.Spannable, android.text.Layout);
+    method public static boolean moveToLeftEdge(android.text.Spannable, android.text.Layout);
+    method public static boolean moveToRightEdge(android.text.Spannable, android.text.Layout);
+    method public static boolean moveUp(android.text.Spannable, android.text.Layout);
+    method public static final void removeSelection(android.text.Spannable);
+    method public static final void selectAll(android.text.Spannable);
+    method public static void setSelection(android.text.Spannable, int, int);
+    method public static final void setSelection(android.text.Spannable, int);
+    field public static final Object SELECTION_END;
+    field public static final Object SELECTION_START;
+  }
+
+  public interface SpanWatcher extends android.text.NoCopySpan {
+    method public void onSpanAdded(android.text.Spannable, Object, int, int);
+    method public void onSpanChanged(android.text.Spannable, Object, int, int, int, int);
+    method public void onSpanRemoved(android.text.Spannable, Object, int, int);
+  }
+
+  public interface Spannable extends android.text.Spanned {
+    method public void removeSpan(Object);
+    method public void setSpan(Object, int, int, int);
+  }
+
+  public static class Spannable.Factory {
+    ctor public Spannable.Factory();
+    method public static android.text.Spannable.Factory getInstance();
+    method public android.text.Spannable newSpannable(CharSequence);
+  }
+
+  public class SpannableString implements java.lang.CharSequence android.text.GetChars android.text.Spannable {
+    ctor public SpannableString(CharSequence);
+    method public final char charAt(int);
+    method public final void getChars(int, int, char[], int);
+    method public int getSpanEnd(Object);
+    method public int getSpanFlags(Object);
+    method public int getSpanStart(Object);
+    method public <T> T[] getSpans(int, int, Class<T>);
+    method public final int length();
+    method public int nextSpanTransition(int, int, Class);
+    method public void removeSpan(Object);
+    method public void setSpan(Object, int, int, int);
+    method public final CharSequence subSequence(int, int);
+    method public final String toString();
+    method public static android.text.SpannableString valueOf(CharSequence);
+  }
+
+  public class SpannableStringBuilder implements java.lang.Appendable java.lang.CharSequence android.text.Editable android.text.GetChars android.text.Spannable {
+    ctor public SpannableStringBuilder();
+    ctor public SpannableStringBuilder(CharSequence);
+    ctor public SpannableStringBuilder(CharSequence, int, int);
+    method public android.text.SpannableStringBuilder append(CharSequence);
+    method public android.text.SpannableStringBuilder append(CharSequence, Object, int);
+    method public android.text.SpannableStringBuilder append(CharSequence, int, int);
+    method public android.text.SpannableStringBuilder append(char);
+    method public char charAt(int);
+    method public void clear();
+    method public void clearSpans();
+    method public android.text.SpannableStringBuilder delete(int, int);
+    method public void getChars(int, int, char[], int);
+    method public android.text.InputFilter[] getFilters();
+    method public int getSpanEnd(Object);
+    method public int getSpanFlags(Object);
+    method public int getSpanStart(Object);
+    method public <T> T[] getSpans(int, int, @Nullable Class<T>);
+    method @Deprecated public int getTextRunCursor(int, int, int, int, int, android.graphics.Paint);
+    method public int getTextWatcherDepth();
+    method public android.text.SpannableStringBuilder insert(int, CharSequence, int, int);
+    method public android.text.SpannableStringBuilder insert(int, CharSequence);
+    method public int length();
+    method public int nextSpanTransition(int, int, Class);
+    method public void removeSpan(Object);
+    method public android.text.SpannableStringBuilder replace(int, int, CharSequence);
+    method public android.text.SpannableStringBuilder replace(int, int, CharSequence, int, int);
+    method public void setFilters(android.text.InputFilter[]);
+    method public void setSpan(Object, int, int, int);
+    method public CharSequence subSequence(int, int);
+    method public static android.text.SpannableStringBuilder valueOf(CharSequence);
+  }
+
+  public interface Spanned extends java.lang.CharSequence {
+    method public int getSpanEnd(Object);
+    method public int getSpanFlags(Object);
+    method public int getSpanStart(Object);
+    method public <T> T[] getSpans(int, int, Class<T>);
+    method public int nextSpanTransition(int, int, Class);
+    field public static final int SPAN_COMPOSING = 256; // 0x100
+    field public static final int SPAN_EXCLUSIVE_EXCLUSIVE = 33; // 0x21
+    field public static final int SPAN_EXCLUSIVE_INCLUSIVE = 34; // 0x22
+    field public static final int SPAN_INCLUSIVE_EXCLUSIVE = 17; // 0x11
+    field public static final int SPAN_INCLUSIVE_INCLUSIVE = 18; // 0x12
+    field public static final int SPAN_INTERMEDIATE = 512; // 0x200
+    field public static final int SPAN_MARK_MARK = 17; // 0x11
+    field public static final int SPAN_MARK_POINT = 18; // 0x12
+    field public static final int SPAN_PARAGRAPH = 51; // 0x33
+    field public static final int SPAN_POINT_MARK = 33; // 0x21
+    field public static final int SPAN_POINT_MARK_MASK = 51; // 0x33
+    field public static final int SPAN_POINT_POINT = 34; // 0x22
+    field public static final int SPAN_PRIORITY = 16711680; // 0xff0000
+    field public static final int SPAN_PRIORITY_SHIFT = 16; // 0x10
+    field public static final int SPAN_USER = -16777216; // 0xff000000
+    field public static final int SPAN_USER_SHIFT = 24; // 0x18
+  }
+
+  public final class SpannedString implements java.lang.CharSequence android.text.GetChars android.text.Spanned {
+    ctor public SpannedString(CharSequence);
+    method public final char charAt(int);
+    method public final void getChars(int, int, char[], int);
+    method public int getSpanEnd(Object);
+    method public int getSpanFlags(Object);
+    method public int getSpanStart(Object);
+    method public <T> T[] getSpans(int, int, Class<T>);
+    method public final int length();
+    method public int nextSpanTransition(int, int, Class);
+    method public CharSequence subSequence(int, int);
+    method public static android.text.SpannedString valueOf(CharSequence);
+  }
+
+  public class StaticLayout extends android.text.Layout {
+    ctor @Deprecated public StaticLayout(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean);
+    ctor @Deprecated public StaticLayout(CharSequence, int, int, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean);
+    ctor @Deprecated public StaticLayout(CharSequence, int, int, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean, android.text.TextUtils.TruncateAt, int);
+    method public int getBottomPadding();
+    method public int getEllipsisCount(int);
+    method public int getEllipsisStart(int);
+    method public boolean getLineContainsTab(int);
+    method public int getLineCount();
+    method public int getLineDescent(int);
+    method public final android.text.Layout.Directions getLineDirections(int);
+    method public int getLineStart(int);
+    method public int getLineTop(int);
+    method public int getParagraphDirection(int);
+    method public int getTopPadding();
+  }
+
+  public static final class StaticLayout.Builder {
+    method @NonNull public android.text.StaticLayout build();
+    method @NonNull public static android.text.StaticLayout.Builder obtain(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.text.TextPaint, @IntRange(from=0) int);
+    method @NonNull public android.text.StaticLayout.Builder setAlignment(@NonNull android.text.Layout.Alignment);
+    method @NonNull public android.text.StaticLayout.Builder setBreakStrategy(int);
+    method @NonNull public android.text.StaticLayout.Builder setEllipsize(@Nullable android.text.TextUtils.TruncateAt);
+    method @NonNull public android.text.StaticLayout.Builder setEllipsizedWidth(@IntRange(from=0) int);
+    method @NonNull public android.text.StaticLayout.Builder setHyphenationFrequency(int);
+    method @NonNull public android.text.StaticLayout.Builder setIncludePad(boolean);
+    method @NonNull public android.text.StaticLayout.Builder setIndents(@Nullable int[], @Nullable int[]);
+    method @NonNull public android.text.StaticLayout.Builder setJustificationMode(int);
+    method @NonNull public android.text.StaticLayout.Builder setLineSpacing(float, @FloatRange(from=0.0) float);
+    method @NonNull public android.text.StaticLayout.Builder setMaxLines(@IntRange(from=0) int);
+    method public android.text.StaticLayout.Builder setText(CharSequence);
+    method @NonNull public android.text.StaticLayout.Builder setTextDirection(@NonNull android.text.TextDirectionHeuristic);
+    method @NonNull public android.text.StaticLayout.Builder setUseLineSpacingFromFallbacks(boolean);
+  }
+
+  public interface TextDirectionHeuristic {
+    method public boolean isRtl(char[], int, int);
+    method public boolean isRtl(CharSequence, int, int);
+  }
+
+  public class TextDirectionHeuristics {
+    ctor public TextDirectionHeuristics();
+    field public static final android.text.TextDirectionHeuristic ANYRTL_LTR;
+    field public static final android.text.TextDirectionHeuristic FIRSTSTRONG_LTR;
+    field public static final android.text.TextDirectionHeuristic FIRSTSTRONG_RTL;
+    field public static final android.text.TextDirectionHeuristic LOCALE;
+    field public static final android.text.TextDirectionHeuristic LTR;
+    field public static final android.text.TextDirectionHeuristic RTL;
+  }
+
+  public class TextPaint extends android.graphics.Paint {
+    ctor public TextPaint();
+    ctor public TextPaint(int);
+    ctor public TextPaint(android.graphics.Paint);
+    method public void set(android.text.TextPaint);
+    field public int baselineShift;
+    field @ColorInt public int bgColor;
+    field public float density;
+    field public int[] drawableState;
+    field @ColorInt public int linkColor;
+    field @ColorInt public int underlineColor;
+    field @Px public float underlineThickness;
+  }
+
+  public class TextShaper {
+    method public static void shapeText(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.text.TextDirectionHeuristic, @NonNull android.text.TextPaint, @NonNull android.text.TextShaper.GlyphsConsumer);
+  }
+
+  public static interface TextShaper.GlyphsConsumer {
+    method public void accept(@IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.graphics.text.PositionedGlyphs, @NonNull android.text.TextPaint);
+  }
+
+  public class TextUtils {
+    method @Deprecated public static CharSequence commaEllipsize(CharSequence, android.text.TextPaint, float, String, String);
+    method public static CharSequence concat(java.lang.CharSequence...);
+    method public static void copySpansFrom(android.text.Spanned, int, int, Class, android.text.Spannable, int);
+    method public static void dumpSpans(CharSequence, android.util.Printer, String);
+    method public static CharSequence ellipsize(CharSequence, android.text.TextPaint, float, android.text.TextUtils.TruncateAt);
+    method public static CharSequence ellipsize(CharSequence, android.text.TextPaint, float, android.text.TextUtils.TruncateAt, boolean, @Nullable android.text.TextUtils.EllipsizeCallback);
+    method public static boolean equals(CharSequence, CharSequence);
+    method public static CharSequence expandTemplate(CharSequence, java.lang.CharSequence...);
+    method public static int getCapsMode(CharSequence, int, int);
+    method public static void getChars(CharSequence, int, int, char[], int);
+    method public static int getLayoutDirectionFromLocale(java.util.Locale);
+    method public static int getOffsetAfter(CharSequence, int);
+    method public static int getOffsetBefore(CharSequence, int);
+    method @Deprecated public static CharSequence getReverse(CharSequence, int, int);
+    method public static int getTrimmedLength(CharSequence);
+    method public static String htmlEncode(String);
+    method public static int indexOf(CharSequence, char);
+    method public static int indexOf(CharSequence, char, int);
+    method public static int indexOf(CharSequence, char, int, int);
+    method public static int indexOf(CharSequence, CharSequence);
+    method public static int indexOf(CharSequence, CharSequence, int);
+    method public static int indexOf(CharSequence, CharSequence, int, int);
+    method public static boolean isDigitsOnly(CharSequence);
+    method public static boolean isEmpty(@Nullable CharSequence);
+    method public static boolean isGraphic(CharSequence);
+    method @Deprecated public static boolean isGraphic(char);
+    method public static String join(@NonNull CharSequence, @NonNull Object[]);
+    method public static String join(@NonNull CharSequence, @NonNull Iterable);
+    method public static int lastIndexOf(CharSequence, char);
+    method public static int lastIndexOf(CharSequence, char, int);
+    method public static int lastIndexOf(CharSequence, char, int, int);
+    method public static CharSequence listEllipsize(@Nullable android.content.Context, @Nullable java.util.List<java.lang.CharSequence>, @NonNull String, @NonNull android.text.TextPaint, @FloatRange(from=0.0, fromInclusive=false) float, @PluralsRes int);
+    method @NonNull public static CharSequence makeSafeForPresentation(@NonNull String, @IntRange(from=0) int, @FloatRange(from=0) float, int);
+    method public static boolean regionMatches(CharSequence, int, CharSequence, int, int);
+    method public static CharSequence replace(CharSequence, String[], CharSequence[]);
+    method public static String[] split(String, String);
+    method public static String[] split(String, java.util.regex.Pattern);
+    method public static CharSequence stringOrSpannedString(CharSequence);
+    method public static String substring(CharSequence, int, int);
+    method public static void writeToParcel(@Nullable CharSequence, @NonNull android.os.Parcel, int);
+    field public static final int CAP_MODE_CHARACTERS = 4096; // 0x1000
+    field public static final int CAP_MODE_SENTENCES = 16384; // 0x4000
+    field public static final int CAP_MODE_WORDS = 8192; // 0x2000
+    field public static final android.os.Parcelable.Creator<java.lang.CharSequence> CHAR_SEQUENCE_CREATOR;
+    field public static final int SAFE_STRING_FLAG_FIRST_LINE = 4; // 0x4
+    field public static final int SAFE_STRING_FLAG_SINGLE_LINE = 2; // 0x2
+    field public static final int SAFE_STRING_FLAG_TRIM = 1; // 0x1
+  }
+
+  public static interface TextUtils.EllipsizeCallback {
+    method public void ellipsized(int, int);
+  }
+
+  public static class TextUtils.SimpleStringSplitter implements java.util.Iterator<java.lang.String> android.text.TextUtils.StringSplitter {
+    ctor public TextUtils.SimpleStringSplitter(char);
+    method public boolean hasNext();
+    method public java.util.Iterator<java.lang.String> iterator();
+    method public String next();
+    method public void setString(String);
+  }
+
+  public static interface TextUtils.StringSplitter extends java.lang.Iterable<java.lang.String> {
+    method public void setString(String);
+  }
+
+  public enum TextUtils.TruncateAt {
+    enum_constant public static final android.text.TextUtils.TruncateAt END;
+    enum_constant public static final android.text.TextUtils.TruncateAt MARQUEE;
+    enum_constant public static final android.text.TextUtils.TruncateAt MIDDLE;
+    enum_constant public static final android.text.TextUtils.TruncateAt START;
+  }
+
+  public interface TextWatcher extends android.text.NoCopySpan {
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public void onTextChanged(CharSequence, int, int, int);
+  }
+
+}
+
+package android.text.format {
+
+  public class DateFormat {
+    ctor public DateFormat();
+    method public static CharSequence format(CharSequence, long);
+    method public static CharSequence format(CharSequence, java.util.Date);
+    method public static CharSequence format(CharSequence, java.util.Calendar);
+    method public static String getBestDateTimePattern(java.util.Locale, String);
+    method public static java.text.DateFormat getDateFormat(android.content.Context);
+    method public static char[] getDateFormatOrder(android.content.Context);
+    method public static java.text.DateFormat getLongDateFormat(android.content.Context);
+    method public static java.text.DateFormat getMediumDateFormat(android.content.Context);
+    method public static java.text.DateFormat getTimeFormat(android.content.Context);
+    method public static boolean is24HourFormat(android.content.Context);
+  }
+
+  public class DateUtils {
+    ctor public DateUtils();
+    method public static String formatDateRange(android.content.Context, long, long, int);
+    method public static java.util.Formatter formatDateRange(android.content.Context, java.util.Formatter, long, long, int);
+    method public static java.util.Formatter formatDateRange(android.content.Context, java.util.Formatter, long, long, int, String);
+    method public static String formatDateTime(android.content.Context, long, int);
+    method public static String formatElapsedTime(long);
+    method public static String formatElapsedTime(StringBuilder, long);
+    method public static final CharSequence formatSameDayTime(long, long, int, int);
+    method @Deprecated public static String getAMPMString(int);
+    method @Deprecated public static String getDayOfWeekString(int, int);
+    method @Deprecated public static String getMonthString(int, int);
+    method public static CharSequence getRelativeDateTimeString(android.content.Context, long, long, long, int);
+    method public static CharSequence getRelativeTimeSpanString(long);
+    method public static CharSequence getRelativeTimeSpanString(long, long, long);
+    method public static CharSequence getRelativeTimeSpanString(long, long, long, int);
+    method public static CharSequence getRelativeTimeSpanString(android.content.Context, long, boolean);
+    method public static CharSequence getRelativeTimeSpanString(android.content.Context, long);
+    method public static boolean isToday(long);
+    field @Deprecated public static final String ABBREV_MONTH_FORMAT = "%b";
+    field public static final String ABBREV_WEEKDAY_FORMAT = "%a";
+    field public static final long DAY_IN_MILLIS = 86400000L; // 0x5265c00L
+    field @Deprecated public static final int FORMAT_12HOUR = 64; // 0x40
+    field @Deprecated public static final int FORMAT_24HOUR = 128; // 0x80
+    field public static final int FORMAT_ABBREV_ALL = 524288; // 0x80000
+    field public static final int FORMAT_ABBREV_MONTH = 65536; // 0x10000
+    field public static final int FORMAT_ABBREV_RELATIVE = 262144; // 0x40000
+    field public static final int FORMAT_ABBREV_TIME = 16384; // 0x4000
+    field public static final int FORMAT_ABBREV_WEEKDAY = 32768; // 0x8000
+    field @Deprecated public static final int FORMAT_CAP_AMPM = 256; // 0x100
+    field @Deprecated public static final int FORMAT_CAP_MIDNIGHT = 4096; // 0x1000
+    field @Deprecated public static final int FORMAT_CAP_NOON = 1024; // 0x400
+    field @Deprecated public static final int FORMAT_CAP_NOON_MIDNIGHT = 5120; // 0x1400
+    field public static final int FORMAT_NO_MIDNIGHT = 2048; // 0x800
+    field public static final int FORMAT_NO_MONTH_DAY = 32; // 0x20
+    field public static final int FORMAT_NO_NOON = 512; // 0x200
+    field @Deprecated public static final int FORMAT_NO_NOON_MIDNIGHT = 2560; // 0xa00
+    field public static final int FORMAT_NO_YEAR = 8; // 0x8
+    field public static final int FORMAT_NUMERIC_DATE = 131072; // 0x20000
+    field public static final int FORMAT_SHOW_DATE = 16; // 0x10
+    field public static final int FORMAT_SHOW_TIME = 1; // 0x1
+    field public static final int FORMAT_SHOW_WEEKDAY = 2; // 0x2
+    field public static final int FORMAT_SHOW_YEAR = 4; // 0x4
+    field @Deprecated public static final int FORMAT_UTC = 8192; // 0x2000
+    field public static final long HOUR_IN_MILLIS = 3600000L; // 0x36ee80L
+    field @Deprecated public static final String HOUR_MINUTE_24 = "%H:%M";
+    field @Deprecated public static final int LENGTH_LONG = 10; // 0xa
+    field @Deprecated public static final int LENGTH_MEDIUM = 20; // 0x14
+    field @Deprecated public static final int LENGTH_SHORT = 30; // 0x1e
+    field @Deprecated public static final int LENGTH_SHORTER = 40; // 0x28
+    field @Deprecated public static final int LENGTH_SHORTEST = 50; // 0x32
+    field public static final long MINUTE_IN_MILLIS = 60000L; // 0xea60L
+    field public static final String MONTH_DAY_FORMAT = "%-d";
+    field public static final String MONTH_FORMAT = "%B";
+    field public static final String NUMERIC_MONTH_FORMAT = "%m";
+    field public static final long SECOND_IN_MILLIS = 1000L; // 0x3e8L
+    field public static final String WEEKDAY_FORMAT = "%A";
+    field public static final long WEEK_IN_MILLIS = 604800000L; // 0x240c8400L
+    field public static final String YEAR_FORMAT = "%Y";
+    field public static final String YEAR_FORMAT_TWO_DIGITS = "%g";
+    field @Deprecated public static final long YEAR_IN_MILLIS = 31449600000L; // 0x7528ad000L
+    field @Deprecated public static final int[] sameMonthTable;
+    field @Deprecated public static final int[] sameYearTable;
+  }
+
+  public final class Formatter {
+    ctor public Formatter();
+    method public static String formatFileSize(@Nullable android.content.Context, long);
+    method @Deprecated public static String formatIpAddress(int);
+    method public static String formatShortFileSize(@Nullable android.content.Context, long);
+  }
+
+  @Deprecated public class Time {
+    ctor @Deprecated public Time(String);
+    ctor @Deprecated public Time();
+    ctor @Deprecated public Time(android.text.format.Time);
+    method @Deprecated public boolean after(android.text.format.Time);
+    method @Deprecated public boolean before(android.text.format.Time);
+    method @Deprecated public void clear(String);
+    method @Deprecated public static int compare(android.text.format.Time, android.text.format.Time);
+    method @Deprecated public String format(String);
+    method @Deprecated public String format2445();
+    method @Deprecated public String format3339(boolean);
+    method @Deprecated public int getActualMaximum(int);
+    method @Deprecated public static String getCurrentTimezone();
+    method @Deprecated public static int getJulianDay(long, long);
+    method @Deprecated public static int getJulianMondayFromWeeksSinceEpoch(int);
+    method @Deprecated public int getWeekNumber();
+    method @Deprecated public static int getWeeksSinceEpochFromJulianDay(int, int);
+    method @Deprecated public static boolean isEpoch(android.text.format.Time);
+    method @Deprecated public long normalize(boolean);
+    method @Deprecated public boolean parse(String);
+    method @Deprecated public boolean parse3339(String);
+    method @Deprecated public void set(long);
+    method @Deprecated public void set(android.text.format.Time);
+    method @Deprecated public void set(int, int, int, int, int, int);
+    method @Deprecated public void set(int, int, int);
+    method @Deprecated public long setJulianDay(int);
+    method @Deprecated public void setToNow();
+    method @Deprecated public void switchTimezone(String);
+    method @Deprecated public long toMillis(boolean);
+    field @Deprecated public static final int EPOCH_JULIAN_DAY = 2440588; // 0x253d8c
+    field @Deprecated public static final int FRIDAY = 5; // 0x5
+    field @Deprecated public static final int HOUR = 3; // 0x3
+    field @Deprecated public static final int MINUTE = 2; // 0x2
+    field @Deprecated public static final int MONDAY = 1; // 0x1
+    field @Deprecated public static final int MONDAY_BEFORE_JULIAN_EPOCH = 2440585; // 0x253d89
+    field @Deprecated public static final int MONTH = 5; // 0x5
+    field @Deprecated public static final int MONTH_DAY = 4; // 0x4
+    field @Deprecated public static final int SATURDAY = 6; // 0x6
+    field @Deprecated public static final int SECOND = 1; // 0x1
+    field @Deprecated public static final int SUNDAY = 0; // 0x0
+    field @Deprecated public static final int THURSDAY = 4; // 0x4
+    field @Deprecated public static final String TIMEZONE_UTC = "UTC";
+    field @Deprecated public static final int TUESDAY = 2; // 0x2
+    field @Deprecated public static final int WEDNESDAY = 3; // 0x3
+    field @Deprecated public static final int WEEK_DAY = 7; // 0x7
+    field @Deprecated public static final int WEEK_NUM = 9; // 0x9
+    field @Deprecated public static final int YEAR = 6; // 0x6
+    field @Deprecated public static final int YEAR_DAY = 8; // 0x8
+    field @Deprecated public boolean allDay;
+    field @Deprecated public long gmtoff;
+    field @Deprecated public int hour;
+    field @Deprecated public int isDst;
+    field @Deprecated public int minute;
+    field @Deprecated public int month;
+    field @Deprecated public int monthDay;
+    field @Deprecated public int second;
+    field @Deprecated public String timezone;
+    field @Deprecated public int weekDay;
+    field @Deprecated public int year;
+    field @Deprecated public int yearDay;
+  }
+
+}
+
+package android.text.method {
+
+  public class ArrowKeyMovementMethod extends android.text.method.BaseMovementMethod implements android.text.method.MovementMethod {
+    ctor public ArrowKeyMovementMethod();
+    method public static android.text.method.MovementMethod getInstance();
+  }
+
+  public abstract class BaseKeyListener extends android.text.method.MetaKeyKeyListener implements android.text.method.KeyListener {
+    ctor public BaseKeyListener();
+    method public boolean backspace(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+    method public boolean forwardDelete(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+    method public boolean onKeyOther(android.view.View, android.text.Editable, android.view.KeyEvent);
+  }
+
+  public class BaseMovementMethod implements android.text.method.MovementMethod {
+    ctor public BaseMovementMethod();
+    method protected boolean bottom(android.widget.TextView, android.text.Spannable);
+    method public boolean canSelectArbitrarily();
+    method protected boolean down(android.widget.TextView, android.text.Spannable);
+    method protected boolean end(android.widget.TextView, android.text.Spannable);
+    method protected int getMovementMetaState(android.text.Spannable, android.view.KeyEvent);
+    method protected boolean handleMovementKey(android.widget.TextView, android.text.Spannable, int, int, android.view.KeyEvent);
+    method protected boolean home(android.widget.TextView, android.text.Spannable);
+    method public void initialize(android.widget.TextView, android.text.Spannable);
+    method protected boolean left(android.widget.TextView, android.text.Spannable);
+    method protected boolean lineEnd(android.widget.TextView, android.text.Spannable);
+    method protected boolean lineStart(android.widget.TextView, android.text.Spannable);
+    method public boolean onGenericMotionEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method public boolean onKeyDown(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+    method public boolean onKeyOther(android.widget.TextView, android.text.Spannable, android.view.KeyEvent);
+    method public boolean onKeyUp(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+    method public void onTakeFocus(android.widget.TextView, android.text.Spannable, int);
+    method public boolean onTouchEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method protected boolean pageDown(android.widget.TextView, android.text.Spannable);
+    method protected boolean pageUp(android.widget.TextView, android.text.Spannable);
+    method protected boolean right(android.widget.TextView, android.text.Spannable);
+    method protected boolean top(android.widget.TextView, android.text.Spannable);
+    method protected boolean up(android.widget.TextView, android.text.Spannable);
+  }
+
+  public class CharacterPickerDialog extends android.app.Dialog implements android.widget.AdapterView.OnItemClickListener android.view.View.OnClickListener {
+    ctor public CharacterPickerDialog(android.content.Context, android.view.View, android.text.Editable, String, boolean);
+    method public void onClick(android.view.View);
+    method public void onItemClick(android.widget.AdapterView, android.view.View, int, long);
+  }
+
+  public class DateKeyListener extends android.text.method.NumberKeyListener {
+    ctor @Deprecated public DateKeyListener();
+    ctor public DateKeyListener(@Nullable java.util.Locale);
+    method @NonNull protected char[] getAcceptedChars();
+    method public int getInputType();
+    method @Deprecated @NonNull public static android.text.method.DateKeyListener getInstance();
+    method @NonNull public static android.text.method.DateKeyListener getInstance(@Nullable java.util.Locale);
+    field @Deprecated public static final char[] CHARACTERS;
+  }
+
+  public class DateTimeKeyListener extends android.text.method.NumberKeyListener {
+    ctor @Deprecated public DateTimeKeyListener();
+    ctor public DateTimeKeyListener(@Nullable java.util.Locale);
+    method @NonNull protected char[] getAcceptedChars();
+    method public int getInputType();
+    method @Deprecated @NonNull public static android.text.method.DateTimeKeyListener getInstance();
+    method @NonNull public static android.text.method.DateTimeKeyListener getInstance(@Nullable java.util.Locale);
+    field @Deprecated public static final char[] CHARACTERS;
+  }
+
+  public class DialerKeyListener extends android.text.method.NumberKeyListener {
+    ctor public DialerKeyListener();
+    method protected char[] getAcceptedChars();
+    method public int getInputType();
+    method public static android.text.method.DialerKeyListener getInstance();
+    field public static final char[] CHARACTERS;
+  }
+
+  public class DigitsKeyListener extends android.text.method.NumberKeyListener {
+    ctor @Deprecated public DigitsKeyListener();
+    ctor @Deprecated public DigitsKeyListener(boolean, boolean);
+    ctor public DigitsKeyListener(@Nullable java.util.Locale);
+    ctor public DigitsKeyListener(@Nullable java.util.Locale, boolean, boolean);
+    method protected char[] getAcceptedChars();
+    method public int getInputType();
+    method @Deprecated @NonNull public static android.text.method.DigitsKeyListener getInstance();
+    method @Deprecated @NonNull public static android.text.method.DigitsKeyListener getInstance(boolean, boolean);
+    method @NonNull public static android.text.method.DigitsKeyListener getInstance(@Nullable java.util.Locale);
+    method @NonNull public static android.text.method.DigitsKeyListener getInstance(@Nullable java.util.Locale, boolean, boolean);
+    method @NonNull public static android.text.method.DigitsKeyListener getInstance(@NonNull String);
+  }
+
+  public class HideReturnsTransformationMethod extends android.text.method.ReplacementTransformationMethod {
+    ctor public HideReturnsTransformationMethod();
+    method public static android.text.method.HideReturnsTransformationMethod getInstance();
+    method protected char[] getOriginal();
+    method protected char[] getReplacement();
+  }
+
+  public interface KeyListener {
+    method public void clearMetaKeyState(android.view.View, android.text.Editable, int);
+    method public int getInputType();
+    method public boolean onKeyDown(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+    method public boolean onKeyOther(android.view.View, android.text.Editable, android.view.KeyEvent);
+    method public boolean onKeyUp(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+  }
+
+  public class LinkMovementMethod extends android.text.method.ScrollingMovementMethod {
+    ctor public LinkMovementMethod();
+    method public static android.text.method.MovementMethod getInstance();
+  }
+
+  public abstract class MetaKeyKeyListener {
+    ctor public MetaKeyKeyListener();
+    method public static void adjustMetaAfterKeypress(android.text.Spannable);
+    method public static long adjustMetaAfterKeypress(long);
+    method public void clearMetaKeyState(android.view.View, android.text.Editable, int);
+    method public static void clearMetaKeyState(android.text.Editable, int);
+    method public long clearMetaKeyState(long, int);
+    method public static final int getMetaState(CharSequence);
+    method public static final int getMetaState(CharSequence, android.view.KeyEvent);
+    method public static final int getMetaState(CharSequence, int);
+    method public static final int getMetaState(CharSequence, int, android.view.KeyEvent);
+    method public static final int getMetaState(long);
+    method public static final int getMetaState(long, int);
+    method public static long handleKeyDown(long, int, android.view.KeyEvent);
+    method public static long handleKeyUp(long, int, android.view.KeyEvent);
+    method public static boolean isMetaTracker(CharSequence, Object);
+    method public static boolean isSelectingMetaTracker(CharSequence, Object);
+    method public boolean onKeyDown(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+    method public boolean onKeyUp(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+    method protected static void resetLockedMeta(android.text.Spannable);
+    method public static long resetLockedMeta(long);
+    method public static void resetMetaState(android.text.Spannable);
+    field public static final int META_ALT_LOCKED = 512; // 0x200
+    field public static final int META_ALT_ON = 2; // 0x2
+    field public static final int META_CAP_LOCKED = 256; // 0x100
+    field public static final int META_SHIFT_ON = 1; // 0x1
+    field public static final int META_SYM_LOCKED = 1024; // 0x400
+    field public static final int META_SYM_ON = 4; // 0x4
+  }
+
+  public interface MovementMethod {
+    method public boolean canSelectArbitrarily();
+    method public void initialize(android.widget.TextView, android.text.Spannable);
+    method public boolean onGenericMotionEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method public boolean onKeyDown(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+    method public boolean onKeyOther(android.widget.TextView, android.text.Spannable, android.view.KeyEvent);
+    method public boolean onKeyUp(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+    method public void onTakeFocus(android.widget.TextView, android.text.Spannable, int);
+    method public boolean onTouchEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+  }
+
+  public class MultiTapKeyListener extends android.text.method.BaseKeyListener implements android.text.SpanWatcher {
+    ctor public MultiTapKeyListener(android.text.method.TextKeyListener.Capitalize, boolean);
+    method public int getInputType();
+    method public static android.text.method.MultiTapKeyListener getInstance(boolean, android.text.method.TextKeyListener.Capitalize);
+    method public void onSpanAdded(android.text.Spannable, Object, int, int);
+    method public void onSpanChanged(android.text.Spannable, Object, int, int, int, int);
+    method public void onSpanRemoved(android.text.Spannable, Object, int, int);
+  }
+
+  public abstract class NumberKeyListener extends android.text.method.BaseKeyListener implements android.text.InputFilter {
+    ctor public NumberKeyListener();
+    method public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
+    method @NonNull protected abstract char[] getAcceptedChars();
+    method protected int lookup(android.view.KeyEvent, android.text.Spannable);
+    method protected static boolean ok(char[], char);
+  }
+
+  public class PasswordTransformationMethod implements android.text.TextWatcher android.text.method.TransformationMethod {
+    ctor public PasswordTransformationMethod();
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public static android.text.method.PasswordTransformationMethod getInstance();
+    method public CharSequence getTransformation(CharSequence, android.view.View);
+    method public void onFocusChanged(android.view.View, CharSequence, boolean, int, android.graphics.Rect);
+    method public void onTextChanged(CharSequence, int, int, int);
+  }
+
+  public class QwertyKeyListener extends android.text.method.BaseKeyListener {
+    ctor public QwertyKeyListener(android.text.method.TextKeyListener.Capitalize, boolean);
+    method public int getInputType();
+    method public static android.text.method.QwertyKeyListener getInstance(boolean, android.text.method.TextKeyListener.Capitalize);
+    method public static android.text.method.QwertyKeyListener getInstanceForFullKeyboard();
+    method public static void markAsReplaced(android.text.Spannable, int, int, String);
+  }
+
+  public abstract class ReplacementTransformationMethod implements android.text.method.TransformationMethod {
+    ctor public ReplacementTransformationMethod();
+    method protected abstract char[] getOriginal();
+    method protected abstract char[] getReplacement();
+    method public CharSequence getTransformation(CharSequence, android.view.View);
+    method public void onFocusChanged(android.view.View, CharSequence, boolean, int, android.graphics.Rect);
+  }
+
+  public class ScrollingMovementMethod extends android.text.method.BaseMovementMethod implements android.text.method.MovementMethod {
+    ctor public ScrollingMovementMethod();
+    method public static android.text.method.MovementMethod getInstance();
+  }
+
+  public class SingleLineTransformationMethod extends android.text.method.ReplacementTransformationMethod {
+    ctor public SingleLineTransformationMethod();
+    method public static android.text.method.SingleLineTransformationMethod getInstance();
+    method protected char[] getOriginal();
+    method protected char[] getReplacement();
+  }
+
+  public class TextKeyListener extends android.text.method.BaseKeyListener implements android.text.SpanWatcher {
+    ctor public TextKeyListener(android.text.method.TextKeyListener.Capitalize, boolean);
+    method public static void clear(android.text.Editable);
+    method public int getInputType();
+    method public static android.text.method.TextKeyListener getInstance(boolean, android.text.method.TextKeyListener.Capitalize);
+    method public static android.text.method.TextKeyListener getInstance();
+    method public void onSpanAdded(android.text.Spannable, Object, int, int);
+    method public void onSpanChanged(android.text.Spannable, Object, int, int, int, int);
+    method public void onSpanRemoved(android.text.Spannable, Object, int, int);
+    method public void release();
+    method public static boolean shouldCap(android.text.method.TextKeyListener.Capitalize, CharSequence, int);
+  }
+
+  public enum TextKeyListener.Capitalize {
+    enum_constant public static final android.text.method.TextKeyListener.Capitalize CHARACTERS;
+    enum_constant public static final android.text.method.TextKeyListener.Capitalize NONE;
+    enum_constant public static final android.text.method.TextKeyListener.Capitalize SENTENCES;
+    enum_constant public static final android.text.method.TextKeyListener.Capitalize WORDS;
+  }
+
+  public class TimeKeyListener extends android.text.method.NumberKeyListener {
+    ctor @Deprecated public TimeKeyListener();
+    ctor public TimeKeyListener(@Nullable java.util.Locale);
+    method @NonNull protected char[] getAcceptedChars();
+    method public int getInputType();
+    method @Deprecated @NonNull public static android.text.method.TimeKeyListener getInstance();
+    method @NonNull public static android.text.method.TimeKeyListener getInstance(@Nullable java.util.Locale);
+    field @Deprecated public static final char[] CHARACTERS;
+  }
+
+  public class Touch {
+    method public static int getInitialScrollX(android.widget.TextView, android.text.Spannable);
+    method public static int getInitialScrollY(android.widget.TextView, android.text.Spannable);
+    method public static boolean onTouchEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method public static void scrollTo(android.widget.TextView, android.text.Layout, int, int);
+  }
+
+  public interface TransformationMethod {
+    method public CharSequence getTransformation(CharSequence, android.view.View);
+    method public void onFocusChanged(android.view.View, CharSequence, boolean, int, android.graphics.Rect);
+  }
+
+}
+
+package android.text.style {
+
+  public class AbsoluteSizeSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public AbsoluteSizeSpan(int);
+    ctor public AbsoluteSizeSpan(int, boolean);
+    ctor public AbsoluteSizeSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public boolean getDip();
+    method public int getSize();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void updateMeasureState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public interface AlignmentSpan extends android.text.style.ParagraphStyle {
+    method public android.text.Layout.Alignment getAlignment();
+  }
+
+  public static class AlignmentSpan.Standard implements android.text.style.AlignmentSpan android.text.ParcelableSpan {
+    ctor public AlignmentSpan.Standard(@NonNull android.text.Layout.Alignment);
+    ctor public AlignmentSpan.Standard(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public android.text.Layout.Alignment getAlignment();
+    method public int getSpanTypeId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class BackgroundColorSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+    ctor public BackgroundColorSpan(@ColorInt int);
+    ctor public BackgroundColorSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method @ColorInt public int getBackgroundColor();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class BulletSpan implements android.text.style.LeadingMarginSpan android.text.ParcelableSpan {
+    ctor public BulletSpan();
+    ctor public BulletSpan(int);
+    ctor public BulletSpan(int, @ColorInt int);
+    ctor public BulletSpan(int, @ColorInt int, @IntRange(from=0) int);
+    ctor public BulletSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public void drawLeadingMargin(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, int, int, int, int, int, @NonNull CharSequence, int, int, boolean, @Nullable android.text.Layout);
+    method public int getBulletRadius();
+    method public int getColor();
+    method public int getGapWidth();
+    method public int getLeadingMargin(boolean);
+    method public int getSpanTypeId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int STANDARD_GAP_WIDTH = 2; // 0x2
+  }
+
+  public abstract class CharacterStyle {
+    ctor public CharacterStyle();
+    method public android.text.style.CharacterStyle getUnderlying();
+    method public abstract void updateDrawState(android.text.TextPaint);
+    method public static android.text.style.CharacterStyle wrap(android.text.style.CharacterStyle);
+  }
+
+  public abstract class ClickableSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
+    ctor public ClickableSpan();
+    method public abstract void onClick(@NonNull android.view.View);
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+  }
+
+  public class DrawableMarginSpan implements android.text.style.LeadingMarginSpan android.text.style.LineHeightSpan {
+    ctor public DrawableMarginSpan(@NonNull android.graphics.drawable.Drawable);
+    ctor public DrawableMarginSpan(@NonNull android.graphics.drawable.Drawable, int);
+    method public void chooseHeight(@NonNull CharSequence, int, int, int, int, @NonNull android.graphics.Paint.FontMetricsInt);
+    method public void drawLeadingMargin(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, int, int, int, int, int, @NonNull CharSequence, int, int, boolean, @NonNull android.text.Layout);
+    method public int getLeadingMargin(boolean);
+  }
+
+  public abstract class DynamicDrawableSpan extends android.text.style.ReplacementSpan {
+    ctor public DynamicDrawableSpan();
+    ctor protected DynamicDrawableSpan(int);
+    method public void draw(@NonNull android.graphics.Canvas, CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, float, int, int, int, @NonNull android.graphics.Paint);
+    method public abstract android.graphics.drawable.Drawable getDrawable();
+    method public int getSize(@NonNull android.graphics.Paint, CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @Nullable android.graphics.Paint.FontMetricsInt);
+    method public int getVerticalAlignment();
+    field public static final int ALIGN_BASELINE = 1; // 0x1
+    field public static final int ALIGN_BOTTOM = 0; // 0x0
+    field public static final int ALIGN_CENTER = 2; // 0x2
+    field protected final int mVerticalAlignment;
+  }
+
+  public class EasyEditSpan implements android.text.ParcelableSpan {
+    ctor public EasyEditSpan();
+    ctor public EasyEditSpan(android.app.PendingIntent);
+    ctor public EasyEditSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final String EXTRA_TEXT_CHANGED_TYPE = "android.text.style.EXTRA_TEXT_CHANGED_TYPE";
+    field public static final int TEXT_DELETED = 1; // 0x1
+    field public static final int TEXT_MODIFIED = 2; // 0x2
+  }
+
+  public class ForegroundColorSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+    ctor public ForegroundColorSpan(@ColorInt int);
+    ctor public ForegroundColorSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method @ColorInt public int getForegroundColor();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class IconMarginSpan implements android.text.style.LeadingMarginSpan android.text.style.LineHeightSpan {
+    ctor public IconMarginSpan(@NonNull android.graphics.Bitmap);
+    ctor public IconMarginSpan(@NonNull android.graphics.Bitmap, @IntRange(from=0) int);
+    method public void chooseHeight(CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
+    method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, CharSequence, int, int, boolean, android.text.Layout);
+    method public int getLeadingMargin(boolean);
+  }
+
+  public class ImageSpan extends android.text.style.DynamicDrawableSpan {
+    ctor @Deprecated public ImageSpan(@NonNull android.graphics.Bitmap);
+    ctor @Deprecated public ImageSpan(@NonNull android.graphics.Bitmap, int);
+    ctor public ImageSpan(@NonNull android.content.Context, @NonNull android.graphics.Bitmap);
+    ctor public ImageSpan(@NonNull android.content.Context, @NonNull android.graphics.Bitmap, int);
+    ctor public ImageSpan(@NonNull android.graphics.drawable.Drawable);
+    ctor public ImageSpan(@NonNull android.graphics.drawable.Drawable, int);
+    ctor public ImageSpan(@NonNull android.graphics.drawable.Drawable, @NonNull String);
+    ctor public ImageSpan(@NonNull android.graphics.drawable.Drawable, @NonNull String, int);
+    ctor public ImageSpan(@NonNull android.content.Context, @NonNull android.net.Uri);
+    ctor public ImageSpan(@NonNull android.content.Context, @NonNull android.net.Uri, int);
+    ctor public ImageSpan(@NonNull android.content.Context, @DrawableRes int);
+    ctor public ImageSpan(@NonNull android.content.Context, @DrawableRes int, int);
+    method public android.graphics.drawable.Drawable getDrawable();
+    method @Nullable public String getSource();
+  }
+
+  public interface LeadingMarginSpan extends android.text.style.ParagraphStyle {
+    method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, CharSequence, int, int, boolean, android.text.Layout);
+    method public int getLeadingMargin(boolean);
+  }
+
+  public static interface LeadingMarginSpan.LeadingMarginSpan2 extends android.text.style.LeadingMarginSpan android.text.style.WrapTogetherSpan {
+    method public int getLeadingMarginLineCount();
+  }
+
+  public static class LeadingMarginSpan.Standard implements android.text.style.LeadingMarginSpan android.text.ParcelableSpan {
+    ctor public LeadingMarginSpan.Standard(int, int);
+    ctor public LeadingMarginSpan.Standard(int);
+    ctor public LeadingMarginSpan.Standard(android.os.Parcel);
+    method public int describeContents();
+    method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, CharSequence, int, int, boolean, android.text.Layout);
+    method public int getLeadingMargin(boolean);
+    method public int getSpanTypeId();
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public interface LineBackgroundSpan extends android.text.style.ParagraphStyle {
+    method public void drawBackground(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, @Px int, @Px int, @Px int, @Px int, @Px int, @NonNull CharSequence, int, int, int);
+  }
+
+  public static class LineBackgroundSpan.Standard implements android.text.style.LineBackgroundSpan android.text.ParcelableSpan {
+    ctor public LineBackgroundSpan.Standard(@ColorInt int);
+    ctor public LineBackgroundSpan.Standard(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public void drawBackground(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, @Px int, @Px int, @Px int, @Px int, @Px int, @NonNull CharSequence, int, int, int);
+    method @ColorInt public final int getColor();
+    method public int getSpanTypeId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public interface LineHeightSpan extends android.text.style.ParagraphStyle android.text.style.WrapTogetherSpan {
+    method public void chooseHeight(CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
+  }
+
+  public static class LineHeightSpan.Standard implements android.text.style.LineHeightSpan android.text.ParcelableSpan {
+    ctor public LineHeightSpan.Standard(@IntRange(from=1) @Px int);
+    ctor public LineHeightSpan.Standard(@NonNull android.os.Parcel);
+    method public void chooseHeight(@NonNull CharSequence, int, int, int, int, @NonNull android.graphics.Paint.FontMetricsInt);
+    method public int describeContents();
+    method @Px public int getHeight();
+    method public int getSpanTypeId();
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public static interface LineHeightSpan.WithDensity extends android.text.style.LineHeightSpan {
+    method public void chooseHeight(CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt, android.text.TextPaint);
+  }
+
+  public class LocaleSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public LocaleSpan(@Nullable java.util.Locale);
+    ctor public LocaleSpan(@NonNull android.os.LocaleList);
+    ctor public LocaleSpan(android.os.Parcel);
+    method public int describeContents();
+    method @Nullable public java.util.Locale getLocale();
+    method @NonNull public android.os.LocaleList getLocales();
+    method public int getSpanTypeId();
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class MaskFilterSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
+    ctor public MaskFilterSpan(android.graphics.MaskFilter);
+    method public android.graphics.MaskFilter getMaskFilter();
+    method public void updateDrawState(android.text.TextPaint);
+  }
+
+  public abstract class MetricAffectingSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateLayout {
+    ctor public MetricAffectingSpan();
+    method public android.text.style.MetricAffectingSpan getUnderlying();
+    method public abstract void updateMeasureState(@NonNull android.text.TextPaint);
+  }
+
+  public interface ParagraphStyle {
+  }
+
+  public class QuoteSpan implements android.text.style.LeadingMarginSpan android.text.ParcelableSpan {
+    ctor public QuoteSpan();
+    ctor public QuoteSpan(@ColorInt int);
+    ctor public QuoteSpan(@ColorInt int, @IntRange(from=0) int, @IntRange(from=0) int);
+    ctor public QuoteSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public void drawLeadingMargin(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, int, int, int, int, int, @NonNull CharSequence, int, int, boolean, @NonNull android.text.Layout);
+    method @ColorInt public int getColor();
+    method public int getGapWidth();
+    method public int getLeadingMargin(boolean);
+    method public int getSpanTypeId();
+    method public int getStripeWidth();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @ColorInt public static final int STANDARD_COLOR = -16776961; // 0xff0000ff
+    field public static final int STANDARD_GAP_WIDTH_PX = 2; // 0x2
+    field public static final int STANDARD_STRIPE_WIDTH_PX = 2; // 0x2
+  }
+
+  public class RelativeSizeSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public RelativeSizeSpan(@FloatRange(from=0) float);
+    ctor public RelativeSizeSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public float getSizeChange();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void updateMeasureState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public abstract class ReplacementSpan extends android.text.style.MetricAffectingSpan {
+    ctor public ReplacementSpan();
+    method public abstract void draw(@NonNull android.graphics.Canvas, CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, float, int, int, int, @NonNull android.graphics.Paint);
+    method @Nullable public CharSequence getContentDescription();
+    method public abstract int getSize(@NonNull android.graphics.Paint, CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @Nullable android.graphics.Paint.FontMetricsInt);
+    method public void setContentDescription(@Nullable CharSequence);
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+  }
+
+  public class ScaleXSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public ScaleXSpan(@FloatRange(from=0) float);
+    ctor public ScaleXSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public float getScaleX();
+    method public int getSpanTypeId();
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class StrikethroughSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+    ctor public StrikethroughSpan();
+    ctor public StrikethroughSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class StyleSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public StyleSpan(int);
+    ctor public StyleSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public int getStyle();
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class SubscriptSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public SubscriptSpan();
+    ctor public SubscriptSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void updateMeasureState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class SuggestionSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan {
+    ctor public SuggestionSpan(android.content.Context, String[], int);
+    ctor public SuggestionSpan(java.util.Locale, String[], int);
+    ctor public SuggestionSpan(android.content.Context, java.util.Locale, String[], int, Class<?>);
+    ctor public SuggestionSpan(android.os.Parcel);
+    method public int describeContents();
+    method public int getFlags();
+    method @Deprecated @NonNull public String getLocale();
+    method @Nullable public java.util.Locale getLocaleObject();
+    method public int getSpanTypeId();
+    method public String[] getSuggestions();
+    method @ColorInt public int getUnderlineColor();
+    method public void setFlags(int);
+    method public void updateDrawState(android.text.TextPaint);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final String ACTION_SUGGESTION_PICKED = "android.text.style.SUGGESTION_PICKED";
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.style.SuggestionSpan> CREATOR;
+    field public static final int FLAG_AUTO_CORRECTION = 4; // 0x4
+    field public static final int FLAG_EASY_CORRECT = 1; // 0x1
+    field public static final int FLAG_GRAMMAR_ERROR = 8; // 0x8
+    field public static final int FLAG_MISSPELLED = 2; // 0x2
+    field public static final int SUGGESTIONS_MAX_SIZE = 5; // 0x5
+    field @Deprecated public static final String SUGGESTION_SPAN_PICKED_AFTER = "after";
+    field @Deprecated public static final String SUGGESTION_SPAN_PICKED_BEFORE = "before";
+    field @Deprecated public static final String SUGGESTION_SPAN_PICKED_HASHCODE = "hashcode";
+  }
+
+  public class SuperscriptSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public SuperscriptSpan();
+    ctor public SuperscriptSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void updateMeasureState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public interface TabStopSpan extends android.text.style.ParagraphStyle {
+    method public int getTabStop();
+  }
+
+  public static class TabStopSpan.Standard implements android.text.style.TabStopSpan {
+    ctor public TabStopSpan.Standard(@IntRange(from=0) int);
+    method public int getTabStop();
+  }
+
+  public class TextAppearanceSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public TextAppearanceSpan(android.content.Context, int);
+    ctor public TextAppearanceSpan(android.content.Context, int, int);
+    ctor public TextAppearanceSpan(String, int, int, android.content.res.ColorStateList, android.content.res.ColorStateList);
+    ctor public TextAppearanceSpan(android.os.Parcel);
+    method public int describeContents();
+    method public String getFamily();
+    method @Nullable public String getFontFeatureSettings();
+    method @Nullable public String getFontVariationSettings();
+    method public android.content.res.ColorStateList getLinkTextColor();
+    method public int getShadowColor();
+    method public float getShadowDx();
+    method public float getShadowDy();
+    method public float getShadowRadius();
+    method public int getSpanTypeId();
+    method public android.content.res.ColorStateList getTextColor();
+    method public int getTextFontWeight();
+    method @Nullable public android.os.LocaleList getTextLocales();
+    method public int getTextSize();
+    method public int getTextStyle();
+    method @Nullable public android.graphics.Typeface getTypeface();
+    method public boolean isElegantTextHeight();
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class TtsSpan implements android.text.ParcelableSpan {
+    ctor public TtsSpan(String, android.os.PersistableBundle);
+    ctor public TtsSpan(android.os.Parcel);
+    method public int describeContents();
+    method public android.os.PersistableBundle getArgs();
+    method public int getSpanTypeId();
+    method public String getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final String ANIMACY_ANIMATE = "android.animate";
+    field public static final String ANIMACY_INANIMATE = "android.inanimate";
+    field public static final String ARG_ANIMACY = "android.arg.animacy";
+    field public static final String ARG_CASE = "android.arg.case";
+    field public static final String ARG_COUNTRY_CODE = "android.arg.country_code";
+    field public static final String ARG_CURRENCY = "android.arg.money";
+    field public static final String ARG_DAY = "android.arg.day";
+    field public static final String ARG_DENOMINATOR = "android.arg.denominator";
+    field public static final String ARG_DIGITS = "android.arg.digits";
+    field public static final String ARG_DOMAIN = "android.arg.domain";
+    field public static final String ARG_EXTENSION = "android.arg.extension";
+    field public static final String ARG_FRACTIONAL_PART = "android.arg.fractional_part";
+    field public static final String ARG_FRAGMENT_ID = "android.arg.fragment_id";
+    field public static final String ARG_GENDER = "android.arg.gender";
+    field public static final String ARG_HOURS = "android.arg.hours";
+    field public static final String ARG_INTEGER_PART = "android.arg.integer_part";
+    field public static final String ARG_MINUTES = "android.arg.minutes";
+    field public static final String ARG_MONTH = "android.arg.month";
+    field public static final String ARG_MULTIPLICITY = "android.arg.multiplicity";
+    field public static final String ARG_NUMBER = "android.arg.number";
+    field public static final String ARG_NUMBER_PARTS = "android.arg.number_parts";
+    field public static final String ARG_NUMERATOR = "android.arg.numerator";
+    field public static final String ARG_PASSWORD = "android.arg.password";
+    field public static final String ARG_PATH = "android.arg.path";
+    field public static final String ARG_PORT = "android.arg.port";
+    field public static final String ARG_PROTOCOL = "android.arg.protocol";
+    field public static final String ARG_QUANTITY = "android.arg.quantity";
+    field public static final String ARG_QUERY_STRING = "android.arg.query_string";
+    field public static final String ARG_TEXT = "android.arg.text";
+    field public static final String ARG_UNIT = "android.arg.unit";
+    field public static final String ARG_USERNAME = "android.arg.username";
+    field public static final String ARG_VERBATIM = "android.arg.verbatim";
+    field public static final String ARG_WEEKDAY = "android.arg.weekday";
+    field public static final String ARG_YEAR = "android.arg.year";
+    field public static final String CASE_ABLATIVE = "android.ablative";
+    field public static final String CASE_ACCUSATIVE = "android.accusative";
+    field public static final String CASE_DATIVE = "android.dative";
+    field public static final String CASE_GENITIVE = "android.genitive";
+    field public static final String CASE_INSTRUMENTAL = "android.instrumental";
+    field public static final String CASE_LOCATIVE = "android.locative";
+    field public static final String CASE_NOMINATIVE = "android.nominative";
+    field public static final String CASE_VOCATIVE = "android.vocative";
+    field public static final String GENDER_FEMALE = "android.female";
+    field public static final String GENDER_MALE = "android.male";
+    field public static final String GENDER_NEUTRAL = "android.neutral";
+    field public static final int MONTH_APRIL = 3; // 0x3
+    field public static final int MONTH_AUGUST = 7; // 0x7
+    field public static final int MONTH_DECEMBER = 11; // 0xb
+    field public static final int MONTH_FEBRUARY = 1; // 0x1
+    field public static final int MONTH_JANUARY = 0; // 0x0
+    field public static final int MONTH_JULY = 6; // 0x6
+    field public static final int MONTH_JUNE = 5; // 0x5
+    field public static final int MONTH_MARCH = 2; // 0x2
+    field public static final int MONTH_MAY = 4; // 0x4
+    field public static final int MONTH_NOVEMBER = 10; // 0xa
+    field public static final int MONTH_OCTOBER = 9; // 0x9
+    field public static final int MONTH_SEPTEMBER = 8; // 0x8
+    field public static final String MULTIPLICITY_DUAL = "android.dual";
+    field public static final String MULTIPLICITY_PLURAL = "android.plural";
+    field public static final String MULTIPLICITY_SINGLE = "android.single";
+    field public static final String TYPE_CARDINAL = "android.type.cardinal";
+    field public static final String TYPE_DATE = "android.type.date";
+    field public static final String TYPE_DECIMAL = "android.type.decimal";
+    field public static final String TYPE_DIGITS = "android.type.digits";
+    field public static final String TYPE_ELECTRONIC = "android.type.electronic";
+    field public static final String TYPE_FRACTION = "android.type.fraction";
+    field public static final String TYPE_MEASURE = "android.type.measure";
+    field public static final String TYPE_MONEY = "android.type.money";
+    field public static final String TYPE_ORDINAL = "android.type.ordinal";
+    field public static final String TYPE_TELEPHONE = "android.type.telephone";
+    field public static final String TYPE_TEXT = "android.type.text";
+    field public static final String TYPE_TIME = "android.type.time";
+    field public static final String TYPE_VERBATIM = "android.type.verbatim";
+    field public static final int WEEKDAY_FRIDAY = 6; // 0x6
+    field public static final int WEEKDAY_MONDAY = 2; // 0x2
+    field public static final int WEEKDAY_SATURDAY = 7; // 0x7
+    field public static final int WEEKDAY_SUNDAY = 1; // 0x1
+    field public static final int WEEKDAY_THURSDAY = 5; // 0x5
+    field public static final int WEEKDAY_TUESDAY = 3; // 0x3
+    field public static final int WEEKDAY_WEDNESDAY = 4; // 0x4
+  }
+
+  public static class TtsSpan.Builder<C extends android.text.style.TtsSpan.Builder<?>> {
+    ctor public TtsSpan.Builder(String);
+    method public android.text.style.TtsSpan build();
+    method public C setIntArgument(String, int);
+    method public C setLongArgument(String, long);
+    method public C setStringArgument(String, String);
+  }
+
+  public static class TtsSpan.CardinalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.CardinalBuilder> {
+    ctor public TtsSpan.CardinalBuilder();
+    ctor public TtsSpan.CardinalBuilder(long);
+    ctor public TtsSpan.CardinalBuilder(String);
+    method public android.text.style.TtsSpan.CardinalBuilder setNumber(long);
+    method public android.text.style.TtsSpan.CardinalBuilder setNumber(String);
+  }
+
+  public static class TtsSpan.DateBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.DateBuilder> {
+    ctor public TtsSpan.DateBuilder();
+    ctor public TtsSpan.DateBuilder(Integer, Integer, Integer, Integer);
+    method public android.text.style.TtsSpan.DateBuilder setDay(int);
+    method public android.text.style.TtsSpan.DateBuilder setMonth(int);
+    method public android.text.style.TtsSpan.DateBuilder setWeekday(int);
+    method public android.text.style.TtsSpan.DateBuilder setYear(int);
+  }
+
+  public static class TtsSpan.DecimalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.DecimalBuilder> {
+    ctor public TtsSpan.DecimalBuilder();
+    ctor public TtsSpan.DecimalBuilder(double, int, int);
+    ctor public TtsSpan.DecimalBuilder(String, String);
+    method public android.text.style.TtsSpan.DecimalBuilder setArgumentsFromDouble(double, int, int);
+    method public android.text.style.TtsSpan.DecimalBuilder setFractionalPart(String);
+    method public android.text.style.TtsSpan.DecimalBuilder setIntegerPart(long);
+    method public android.text.style.TtsSpan.DecimalBuilder setIntegerPart(String);
+  }
+
+  public static class TtsSpan.DigitsBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.DigitsBuilder> {
+    ctor public TtsSpan.DigitsBuilder();
+    ctor public TtsSpan.DigitsBuilder(String);
+    method public android.text.style.TtsSpan.DigitsBuilder setDigits(String);
+  }
+
+  public static class TtsSpan.ElectronicBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.ElectronicBuilder> {
+    ctor public TtsSpan.ElectronicBuilder();
+    method public android.text.style.TtsSpan.ElectronicBuilder setDomain(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setEmailArguments(String, String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setFragmentId(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setPassword(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setPath(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setPort(int);
+    method public android.text.style.TtsSpan.ElectronicBuilder setProtocol(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setQueryString(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setUsername(String);
+  }
+
+  public static class TtsSpan.FractionBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.FractionBuilder> {
+    ctor public TtsSpan.FractionBuilder();
+    ctor public TtsSpan.FractionBuilder(long, long, long);
+    method public android.text.style.TtsSpan.FractionBuilder setDenominator(long);
+    method public android.text.style.TtsSpan.FractionBuilder setDenominator(String);
+    method public android.text.style.TtsSpan.FractionBuilder setIntegerPart(long);
+    method public android.text.style.TtsSpan.FractionBuilder setIntegerPart(String);
+    method public android.text.style.TtsSpan.FractionBuilder setNumerator(long);
+    method public android.text.style.TtsSpan.FractionBuilder setNumerator(String);
+  }
+
+  public static class TtsSpan.MeasureBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.MeasureBuilder> {
+    ctor public TtsSpan.MeasureBuilder();
+    method public android.text.style.TtsSpan.MeasureBuilder setDenominator(long);
+    method public android.text.style.TtsSpan.MeasureBuilder setDenominator(String);
+    method public android.text.style.TtsSpan.MeasureBuilder setFractionalPart(String);
+    method public android.text.style.TtsSpan.MeasureBuilder setIntegerPart(long);
+    method public android.text.style.TtsSpan.MeasureBuilder setIntegerPart(String);
+    method public android.text.style.TtsSpan.MeasureBuilder setNumber(long);
+    method public android.text.style.TtsSpan.MeasureBuilder setNumber(String);
+    method public android.text.style.TtsSpan.MeasureBuilder setNumerator(long);
+    method public android.text.style.TtsSpan.MeasureBuilder setNumerator(String);
+    method public android.text.style.TtsSpan.MeasureBuilder setUnit(String);
+  }
+
+  public static class TtsSpan.MoneyBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.MoneyBuilder> {
+    ctor public TtsSpan.MoneyBuilder();
+    method public android.text.style.TtsSpan.MoneyBuilder setCurrency(String);
+    method public android.text.style.TtsSpan.MoneyBuilder setFractionalPart(String);
+    method public android.text.style.TtsSpan.MoneyBuilder setIntegerPart(long);
+    method public android.text.style.TtsSpan.MoneyBuilder setIntegerPart(String);
+    method public android.text.style.TtsSpan.MoneyBuilder setQuantity(String);
+  }
+
+  public static class TtsSpan.OrdinalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.OrdinalBuilder> {
+    ctor public TtsSpan.OrdinalBuilder();
+    ctor public TtsSpan.OrdinalBuilder(long);
+    ctor public TtsSpan.OrdinalBuilder(String);
+    method public android.text.style.TtsSpan.OrdinalBuilder setNumber(long);
+    method public android.text.style.TtsSpan.OrdinalBuilder setNumber(String);
+  }
+
+  public static class TtsSpan.SemioticClassBuilder<C extends android.text.style.TtsSpan.SemioticClassBuilder<?>> extends android.text.style.TtsSpan.Builder<C> {
+    ctor public TtsSpan.SemioticClassBuilder(String);
+    method public C setAnimacy(String);
+    method public C setCase(String);
+    method public C setGender(String);
+    method public C setMultiplicity(String);
+  }
+
+  public static class TtsSpan.TelephoneBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.TelephoneBuilder> {
+    ctor public TtsSpan.TelephoneBuilder();
+    ctor public TtsSpan.TelephoneBuilder(String);
+    method public android.text.style.TtsSpan.TelephoneBuilder setCountryCode(String);
+    method public android.text.style.TtsSpan.TelephoneBuilder setExtension(String);
+    method public android.text.style.TtsSpan.TelephoneBuilder setNumberParts(String);
+  }
+
+  public static class TtsSpan.TextBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.TextBuilder> {
+    ctor public TtsSpan.TextBuilder();
+    ctor public TtsSpan.TextBuilder(String);
+    method public android.text.style.TtsSpan.TextBuilder setText(String);
+  }
+
+  public static class TtsSpan.TimeBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.TimeBuilder> {
+    ctor public TtsSpan.TimeBuilder();
+    ctor public TtsSpan.TimeBuilder(int, int);
+    method public android.text.style.TtsSpan.TimeBuilder setHours(int);
+    method public android.text.style.TtsSpan.TimeBuilder setMinutes(int);
+  }
+
+  public static class TtsSpan.VerbatimBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.VerbatimBuilder> {
+    ctor public TtsSpan.VerbatimBuilder();
+    ctor public TtsSpan.VerbatimBuilder(String);
+    method public android.text.style.TtsSpan.VerbatimBuilder setVerbatim(String);
+  }
+
+  public class TypefaceSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public TypefaceSpan(@Nullable String);
+    ctor public TypefaceSpan(@NonNull android.graphics.Typeface);
+    ctor public TypefaceSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method @Nullable public String getFamily();
+    method public int getSpanTypeId();
+    method @Nullable public android.graphics.Typeface getTypeface();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void updateMeasureState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class URLSpan extends android.text.style.ClickableSpan implements android.text.ParcelableSpan {
+    ctor public URLSpan(String);
+    ctor public URLSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public String getURL();
+    method public void onClick(android.view.View);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class UnderlineSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+    ctor public UnderlineSpan();
+    ctor public UnderlineSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public interface UpdateAppearance {
+  }
+
+  public interface UpdateLayout extends android.text.style.UpdateAppearance {
+  }
+
+  public interface WrapTogetherSpan extends android.text.style.ParagraphStyle {
+  }
+
+}
+
+package android.text.util {
+
+  public class Linkify {
+    ctor public Linkify();
+    method public static final boolean addLinks(@NonNull android.text.Spannable, int);
+    method public static final boolean addLinks(@NonNull android.text.Spannable, int, @Nullable java.util.function.Function<java.lang.String,android.text.style.URLSpan>);
+    method public static final boolean addLinks(@NonNull android.widget.TextView, int);
+    method public static final void addLinks(@NonNull android.widget.TextView, @NonNull java.util.regex.Pattern, @Nullable String);
+    method public static final void addLinks(@NonNull android.widget.TextView, @NonNull java.util.regex.Pattern, @Nullable String, @Nullable android.text.util.Linkify.MatchFilter, @Nullable android.text.util.Linkify.TransformFilter);
+    method public static final void addLinks(@NonNull android.widget.TextView, @NonNull java.util.regex.Pattern, @Nullable String, @Nullable String[], @Nullable android.text.util.Linkify.MatchFilter, @Nullable android.text.util.Linkify.TransformFilter);
+    method public static final boolean addLinks(@NonNull android.text.Spannable, @NonNull java.util.regex.Pattern, @Nullable String);
+    method public static final boolean addLinks(@NonNull android.text.Spannable, @NonNull java.util.regex.Pattern, @Nullable String, @Nullable android.text.util.Linkify.MatchFilter, @Nullable android.text.util.Linkify.TransformFilter);
+    method public static final boolean addLinks(@NonNull android.text.Spannable, @NonNull java.util.regex.Pattern, @Nullable String, @Nullable String[], @Nullable android.text.util.Linkify.MatchFilter, @Nullable android.text.util.Linkify.TransformFilter);
+    method public static final boolean addLinks(@NonNull android.text.Spannable, @NonNull java.util.regex.Pattern, @Nullable String, @Nullable String[], @Nullable android.text.util.Linkify.MatchFilter, @Nullable android.text.util.Linkify.TransformFilter, @Nullable java.util.function.Function<java.lang.String,android.text.style.URLSpan>);
+    field public static final int ALL = 15; // 0xf
+    field public static final int EMAIL_ADDRESSES = 2; // 0x2
+    field @Deprecated public static final int MAP_ADDRESSES = 8; // 0x8
+    field public static final int PHONE_NUMBERS = 4; // 0x4
+    field public static final int WEB_URLS = 1; // 0x1
+    field public static final android.text.util.Linkify.MatchFilter sPhoneNumberMatchFilter;
+    field public static final android.text.util.Linkify.TransformFilter sPhoneNumberTransformFilter;
+    field public static final android.text.util.Linkify.MatchFilter sUrlMatchFilter;
+  }
+
+  public static interface Linkify.MatchFilter {
+    method public boolean acceptMatch(CharSequence, int, int);
+  }
+
+  public static interface Linkify.TransformFilter {
+    method public String transformUrl(java.util.regex.Matcher, String);
+  }
+
+  public class Rfc822Token {
+    ctor public Rfc822Token(@Nullable String, @Nullable String, @Nullable String);
+    method @Nullable public String getAddress();
+    method @Nullable public String getComment();
+    method @Nullable public String getName();
+    method public static String quoteComment(String);
+    method public static String quoteName(String);
+    method public static String quoteNameIfNecessary(String);
+    method public void setAddress(@Nullable String);
+    method public void setComment(@Nullable String);
+    method public void setName(@Nullable String);
+  }
+
+  public class Rfc822Tokenizer implements android.widget.MultiAutoCompleteTextView.Tokenizer {
+    ctor public Rfc822Tokenizer();
+    method public int findTokenEnd(CharSequence, int);
+    method public int findTokenStart(CharSequence, int);
+    method public CharSequence terminateToken(CharSequence);
+    method public static void tokenize(CharSequence, java.util.Collection<android.text.util.Rfc822Token>);
+    method public static android.text.util.Rfc822Token[] tokenize(CharSequence);
+  }
+
+}
+
+package android.transition {
+
+  public class ArcMotion extends android.transition.PathMotion {
+    ctor public ArcMotion();
+    ctor public ArcMotion(android.content.Context, android.util.AttributeSet);
+    method public float getMaximumAngle();
+    method public float getMinimumHorizontalAngle();
+    method public float getMinimumVerticalAngle();
+    method public android.graphics.Path getPath(float, float, float, float);
+    method public void setMaximumAngle(float);
+    method public void setMinimumHorizontalAngle(float);
+    method public void setMinimumVerticalAngle(float);
+  }
+
+  public class AutoTransition extends android.transition.TransitionSet {
+    ctor public AutoTransition();
+    ctor public AutoTransition(android.content.Context, android.util.AttributeSet);
+  }
+
+  public class ChangeBounds extends android.transition.Transition {
+    ctor public ChangeBounds();
+    ctor public ChangeBounds(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+    method public boolean getResizeClip();
+    method @Deprecated public void setReparent(boolean);
+    method public void setResizeClip(boolean);
+  }
+
+  public class ChangeClipBounds extends android.transition.Transition {
+    ctor public ChangeClipBounds();
+    ctor public ChangeClipBounds(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+  }
+
+  public class ChangeImageTransform extends android.transition.Transition {
+    ctor public ChangeImageTransform();
+    ctor public ChangeImageTransform(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+  }
+
+  public class ChangeScroll extends android.transition.Transition {
+    ctor public ChangeScroll();
+    ctor public ChangeScroll(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+  }
+
+  public class ChangeTransform extends android.transition.Transition {
+    ctor public ChangeTransform();
+    ctor public ChangeTransform(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+    method public boolean getReparent();
+    method public boolean getReparentWithOverlay();
+    method public void setReparent(boolean);
+    method public void setReparentWithOverlay(boolean);
+  }
+
+  public class CircularPropagation extends android.transition.VisibilityPropagation {
+    ctor public CircularPropagation();
+    method public long getStartDelay(android.view.ViewGroup, android.transition.Transition, android.transition.TransitionValues, android.transition.TransitionValues);
+    method public void setPropagationSpeed(float);
+  }
+
+  public class Explode extends android.transition.Visibility {
+    ctor public Explode();
+    ctor public Explode(android.content.Context, android.util.AttributeSet);
+  }
+
+  public class Fade extends android.transition.Visibility {
+    ctor public Fade();
+    ctor public Fade(int);
+    ctor public Fade(android.content.Context, android.util.AttributeSet);
+    field public static final int IN = 1; // 0x1
+    field public static final int OUT = 2; // 0x2
+  }
+
+  public abstract class PathMotion {
+    ctor public PathMotion();
+    ctor public PathMotion(android.content.Context, android.util.AttributeSet);
+    method public abstract android.graphics.Path getPath(float, float, float, float);
+  }
+
+  public class PatternPathMotion extends android.transition.PathMotion {
+    ctor public PatternPathMotion();
+    ctor public PatternPathMotion(android.content.Context, android.util.AttributeSet);
+    ctor public PatternPathMotion(android.graphics.Path);
+    method public android.graphics.Path getPath(float, float, float, float);
+    method public android.graphics.Path getPatternPath();
+    method public void setPatternPath(android.graphics.Path);
+  }
+
+  public final class Scene {
+    ctor public Scene(android.view.ViewGroup);
+    ctor public Scene(android.view.ViewGroup, android.view.View);
+    ctor @Deprecated public Scene(android.view.ViewGroup, android.view.ViewGroup);
+    method public void enter();
+    method public void exit();
+    method @Nullable public static android.transition.Scene getCurrentScene(@NonNull android.view.ViewGroup);
+    method public static android.transition.Scene getSceneForLayout(android.view.ViewGroup, int, android.content.Context);
+    method public android.view.ViewGroup getSceneRoot();
+    method public void setEnterAction(Runnable);
+    method public void setExitAction(Runnable);
+  }
+
+  public class SidePropagation extends android.transition.VisibilityPropagation {
+    ctor public SidePropagation();
+    method public long getStartDelay(android.view.ViewGroup, android.transition.Transition, android.transition.TransitionValues, android.transition.TransitionValues);
+    method public void setPropagationSpeed(float);
+    method public void setSide(int);
+  }
+
+  public class Slide extends android.transition.Visibility {
+    ctor public Slide();
+    ctor public Slide(int);
+    ctor public Slide(android.content.Context, android.util.AttributeSet);
+    method public int getSlideEdge();
+    method public void setSlideEdge(int);
+  }
+
+  public abstract class Transition implements java.lang.Cloneable {
+    ctor public Transition();
+    ctor public Transition(android.content.Context, android.util.AttributeSet);
+    method public android.transition.Transition addListener(android.transition.Transition.TransitionListener);
+    method public android.transition.Transition addTarget(int);
+    method public android.transition.Transition addTarget(String);
+    method public android.transition.Transition addTarget(Class);
+    method public android.transition.Transition addTarget(android.view.View);
+    method public boolean canRemoveViews();
+    method public abstract void captureEndValues(android.transition.TransitionValues);
+    method public abstract void captureStartValues(android.transition.TransitionValues);
+    method public android.transition.Transition clone();
+    method public android.animation.Animator createAnimator(android.view.ViewGroup, android.transition.TransitionValues, android.transition.TransitionValues);
+    method public android.transition.Transition excludeChildren(int, boolean);
+    method public android.transition.Transition excludeChildren(android.view.View, boolean);
+    method public android.transition.Transition excludeChildren(Class, boolean);
+    method public android.transition.Transition excludeTarget(int, boolean);
+    method public android.transition.Transition excludeTarget(String, boolean);
+    method public android.transition.Transition excludeTarget(android.view.View, boolean);
+    method public android.transition.Transition excludeTarget(Class, boolean);
+    method public long getDuration();
+    method public android.graphics.Rect getEpicenter();
+    method public android.transition.Transition.EpicenterCallback getEpicenterCallback();
+    method public android.animation.TimeInterpolator getInterpolator();
+    method public String getName();
+    method public android.transition.PathMotion getPathMotion();
+    method public android.transition.TransitionPropagation getPropagation();
+    method public long getStartDelay();
+    method public java.util.List<java.lang.Integer> getTargetIds();
+    method public java.util.List<java.lang.String> getTargetNames();
+    method public java.util.List<java.lang.Class> getTargetTypes();
+    method public java.util.List<android.view.View> getTargets();
+    method public String[] getTransitionProperties();
+    method public android.transition.TransitionValues getTransitionValues(android.view.View, boolean);
+    method public boolean isTransitionRequired(@Nullable android.transition.TransitionValues, @Nullable android.transition.TransitionValues);
+    method public android.transition.Transition removeListener(android.transition.Transition.TransitionListener);
+    method public android.transition.Transition removeTarget(int);
+    method public android.transition.Transition removeTarget(String);
+    method public android.transition.Transition removeTarget(android.view.View);
+    method public android.transition.Transition removeTarget(Class);
+    method public android.transition.Transition setDuration(long);
+    method public void setEpicenterCallback(android.transition.Transition.EpicenterCallback);
+    method public android.transition.Transition setInterpolator(android.animation.TimeInterpolator);
+    method public void setMatchOrder(int...);
+    method public void setPathMotion(android.transition.PathMotion);
+    method public void setPropagation(android.transition.TransitionPropagation);
+    method public android.transition.Transition setStartDelay(long);
+    field public static final int MATCH_ID = 3; // 0x3
+    field public static final int MATCH_INSTANCE = 1; // 0x1
+    field public static final int MATCH_ITEM_ID = 4; // 0x4
+    field public static final int MATCH_NAME = 2; // 0x2
+  }
+
+  public abstract static class Transition.EpicenterCallback {
+    ctor public Transition.EpicenterCallback();
+    method public abstract android.graphics.Rect onGetEpicenter(android.transition.Transition);
+  }
+
+  public static interface Transition.TransitionListener {
+    method public void onTransitionCancel(android.transition.Transition);
+    method public void onTransitionEnd(android.transition.Transition);
+    method public void onTransitionPause(android.transition.Transition);
+    method public void onTransitionResume(android.transition.Transition);
+    method public void onTransitionStart(android.transition.Transition);
+  }
+
+  public class TransitionInflater {
+    method public static android.transition.TransitionInflater from(android.content.Context);
+    method public android.transition.Transition inflateTransition(@TransitionRes int);
+    method public android.transition.TransitionManager inflateTransitionManager(@TransitionRes int, android.view.ViewGroup);
+  }
+
+  public abstract class TransitionListenerAdapter implements android.transition.Transition.TransitionListener {
+    ctor public TransitionListenerAdapter();
+    method public void onTransitionCancel(android.transition.Transition);
+    method public void onTransitionEnd(android.transition.Transition);
+    method public void onTransitionPause(android.transition.Transition);
+    method public void onTransitionResume(android.transition.Transition);
+    method public void onTransitionStart(android.transition.Transition);
+  }
+
+  public class TransitionManager {
+    ctor public TransitionManager();
+    method public static void beginDelayedTransition(android.view.ViewGroup);
+    method public static void beginDelayedTransition(android.view.ViewGroup, android.transition.Transition);
+    method public static void endTransitions(android.view.ViewGroup);
+    method public static void go(android.transition.Scene);
+    method public static void go(android.transition.Scene, android.transition.Transition);
+    method public void setTransition(android.transition.Scene, android.transition.Transition);
+    method public void setTransition(android.transition.Scene, android.transition.Scene, android.transition.Transition);
+    method public void transitionTo(android.transition.Scene);
+  }
+
+  public abstract class TransitionPropagation {
+    ctor public TransitionPropagation();
+    method public abstract void captureValues(android.transition.TransitionValues);
+    method public abstract String[] getPropagationProperties();
+    method public abstract long getStartDelay(android.view.ViewGroup, android.transition.Transition, android.transition.TransitionValues, android.transition.TransitionValues);
+  }
+
+  public class TransitionSet extends android.transition.Transition {
+    ctor public TransitionSet();
+    ctor public TransitionSet(android.content.Context, android.util.AttributeSet);
+    method public android.transition.TransitionSet addListener(android.transition.Transition.TransitionListener);
+    method public android.transition.TransitionSet addTarget(android.view.View);
+    method public android.transition.TransitionSet addTarget(int);
+    method public android.transition.TransitionSet addTarget(String);
+    method public android.transition.TransitionSet addTarget(Class);
+    method public android.transition.TransitionSet addTransition(android.transition.Transition);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+    method public android.transition.TransitionSet clone();
+    method public int getOrdering();
+    method public android.transition.Transition getTransitionAt(int);
+    method public int getTransitionCount();
+    method public android.transition.TransitionSet removeListener(android.transition.Transition.TransitionListener);
+    method public android.transition.TransitionSet removeTarget(int);
+    method public android.transition.TransitionSet removeTarget(android.view.View);
+    method public android.transition.TransitionSet removeTarget(Class);
+    method public android.transition.TransitionSet removeTarget(String);
+    method public android.transition.TransitionSet removeTransition(android.transition.Transition);
+    method public android.transition.TransitionSet setDuration(long);
+    method public android.transition.TransitionSet setInterpolator(android.animation.TimeInterpolator);
+    method public android.transition.TransitionSet setOrdering(int);
+    method public android.transition.TransitionSet setStartDelay(long);
+    field public static final int ORDERING_SEQUENTIAL = 1; // 0x1
+    field public static final int ORDERING_TOGETHER = 0; // 0x0
+  }
+
+  public class TransitionValues {
+    ctor @Deprecated public TransitionValues();
+    ctor public TransitionValues(@NonNull android.view.View);
+    field @NonNull public final java.util.Map<java.lang.String,java.lang.Object> values;
+    field @NonNull public android.view.View view;
+  }
+
+  public abstract class Visibility extends android.transition.Transition {
+    ctor public Visibility();
+    ctor public Visibility(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+    method public int getMode();
+    method public boolean isVisible(android.transition.TransitionValues);
+    method public android.animation.Animator onAppear(android.view.ViewGroup, android.transition.TransitionValues, int, android.transition.TransitionValues, int);
+    method public android.animation.Animator onAppear(android.view.ViewGroup, android.view.View, android.transition.TransitionValues, android.transition.TransitionValues);
+    method public android.animation.Animator onDisappear(android.view.ViewGroup, android.transition.TransitionValues, int, android.transition.TransitionValues, int);
+    method public android.animation.Animator onDisappear(android.view.ViewGroup, android.view.View, android.transition.TransitionValues, android.transition.TransitionValues);
+    method public void setMode(int);
+    field public static final int MODE_IN = 1; // 0x1
+    field public static final int MODE_OUT = 2; // 0x2
+  }
+
+  public abstract class VisibilityPropagation extends android.transition.TransitionPropagation {
+    ctor public VisibilityPropagation();
+    method public void captureValues(android.transition.TransitionValues);
+    method public String[] getPropagationProperties();
+    method public int getViewVisibility(android.transition.TransitionValues);
+    method public int getViewX(android.transition.TransitionValues);
+    method public int getViewY(android.transition.TransitionValues);
+  }
+
+}
+
+package android.util {
+
+  public class AndroidException extends java.lang.Exception {
+    ctor public AndroidException();
+    ctor public AndroidException(String);
+    ctor public AndroidException(String, Throwable);
+    ctor public AndroidException(Exception);
+  }
+
+  public class AndroidRuntimeException extends java.lang.RuntimeException {
+    ctor public AndroidRuntimeException();
+    ctor public AndroidRuntimeException(String);
+    ctor public AndroidRuntimeException(String, Throwable);
+    ctor public AndroidRuntimeException(Exception);
+  }
+
+  public final class ArrayMap<K, V> implements java.util.Map<K,V> {
+    ctor public ArrayMap();
+    ctor public ArrayMap(int);
+    ctor public ArrayMap(android.util.ArrayMap<K,V>);
+    method public void clear();
+    method public boolean containsAll(java.util.Collection<?>);
+    method public boolean containsKey(Object);
+    method public boolean containsValue(Object);
+    method public void ensureCapacity(int);
+    method public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method public V get(Object);
+    method public int indexOfKey(Object);
+    method public int indexOfValue(Object);
+    method public boolean isEmpty();
+    method public K keyAt(int);
+    method public java.util.Set<K> keySet();
+    method public V put(K, V);
+    method public void putAll(android.util.ArrayMap<? extends K,? extends V>);
+    method public void putAll(java.util.Map<? extends K,? extends V>);
+    method public V remove(Object);
+    method public boolean removeAll(java.util.Collection<?>);
+    method public V removeAt(int);
+    method public boolean retainAll(java.util.Collection<?>);
+    method public V setValueAt(int, V);
+    method public int size();
+    method public V valueAt(int);
+    method public java.util.Collection<V> values();
+  }
+
+  public final class ArraySet<E> implements java.util.Collection<E> java.util.Set<E> {
+    ctor public ArraySet();
+    ctor public ArraySet(int);
+    ctor public ArraySet(android.util.ArraySet<E>);
+    ctor public ArraySet(java.util.Collection<? extends E>);
+    ctor public ArraySet(@Nullable E[]);
+    method public boolean add(E);
+    method public void addAll(android.util.ArraySet<? extends E>);
+    method public boolean addAll(java.util.Collection<? extends E>);
+    method public void clear();
+    method public boolean contains(Object);
+    method public boolean containsAll(java.util.Collection<?>);
+    method public void ensureCapacity(int);
+    method public int indexOf(Object);
+    method public boolean isEmpty();
+    method public java.util.Iterator<E> iterator();
+    method public boolean remove(Object);
+    method public boolean removeAll(android.util.ArraySet<? extends E>);
+    method public boolean removeAll(java.util.Collection<?>);
+    method public E removeAt(int);
+    method public boolean retainAll(java.util.Collection<?>);
+    method public int size();
+    method public Object[] toArray();
+    method public <T> T[] toArray(T[]);
+    method public E valueAt(int);
+  }
+
+  public class AtomicFile {
+    ctor public AtomicFile(java.io.File);
+    method public void delete();
+    method public void failWrite(java.io.FileOutputStream);
+    method public void finishWrite(java.io.FileOutputStream);
+    method public java.io.File getBaseFile();
+    method public long getLastModifiedTime();
+    method public java.io.FileInputStream openRead() throws java.io.FileNotFoundException;
+    method public byte[] readFully() throws java.io.IOException;
+    method public java.io.FileOutputStream startWrite() throws java.io.IOException;
+  }
+
+  public interface AttributeSet {
+    method public boolean getAttributeBooleanValue(String, String, boolean);
+    method public boolean getAttributeBooleanValue(int, boolean);
+    method public int getAttributeCount();
+    method public float getAttributeFloatValue(String, String, float);
+    method public float getAttributeFloatValue(int, float);
+    method public int getAttributeIntValue(String, String, int);
+    method public int getAttributeIntValue(int, int);
+    method public int getAttributeListValue(String, String, String[], int);
+    method public int getAttributeListValue(int, String[], int);
+    method public String getAttributeName(int);
+    method public int getAttributeNameResource(int);
+    method public default String getAttributeNamespace(int);
+    method public int getAttributeResourceValue(String, String, int);
+    method public int getAttributeResourceValue(int, int);
+    method public int getAttributeUnsignedIntValue(String, String, int);
+    method public int getAttributeUnsignedIntValue(int, int);
+    method public String getAttributeValue(int);
+    method public String getAttributeValue(String, String);
+    method public String getClassAttribute();
+    method public String getIdAttribute();
+    method public int getIdAttributeResourceValue(int);
+    method public String getPositionDescription();
+    method public int getStyleAttribute();
+  }
+
+  public class Base64 {
+    method public static byte[] decode(String, int);
+    method public static byte[] decode(byte[], int);
+    method public static byte[] decode(byte[], int, int, int);
+    method public static byte[] encode(byte[], int);
+    method public static byte[] encode(byte[], int, int, int);
+    method public static String encodeToString(byte[], int);
+    method public static String encodeToString(byte[], int, int, int);
+    field public static final int CRLF = 4; // 0x4
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int NO_CLOSE = 16; // 0x10
+    field public static final int NO_PADDING = 1; // 0x1
+    field public static final int NO_WRAP = 2; // 0x2
+    field public static final int URL_SAFE = 8; // 0x8
+  }
+
+  public class Base64DataException extends java.io.IOException {
+    ctor public Base64DataException(String);
+  }
+
+  public class Base64InputStream extends java.io.FilterInputStream {
+    ctor public Base64InputStream(java.io.InputStream, int);
+    method public int available();
+    method public void reset();
+  }
+
+  public class Base64OutputStream extends java.io.FilterOutputStream {
+    ctor public Base64OutputStream(java.io.OutputStream, int);
+  }
+
+  public final class CloseGuard {
+    ctor public CloseGuard();
+    method public void close();
+    method public void open(@NonNull String);
+    method public void warnIfOpen();
+  }
+
+  @Deprecated public final class Config {
+    field @Deprecated public static final boolean DEBUG = false;
+    field @Deprecated public static final boolean LOGD = true;
+    field @Deprecated public static final boolean LOGV = false;
+    field @Deprecated public static final boolean PROFILE = false;
+    field @Deprecated public static final boolean RELEASE = true;
+  }
+
+  public class DebugUtils {
+    method public static boolean isObjectSelected(Object);
+  }
+
+  public class DisplayMetrics {
+    ctor public DisplayMetrics();
+    method public boolean equals(android.util.DisplayMetrics);
+    method public void setTo(android.util.DisplayMetrics);
+    method public void setToDefaults();
+    field public static final int DENSITY_140 = 140; // 0x8c
+    field public static final int DENSITY_180 = 180; // 0xb4
+    field public static final int DENSITY_200 = 200; // 0xc8
+    field public static final int DENSITY_220 = 220; // 0xdc
+    field public static final int DENSITY_260 = 260; // 0x104
+    field public static final int DENSITY_280 = 280; // 0x118
+    field public static final int DENSITY_300 = 300; // 0x12c
+    field public static final int DENSITY_340 = 340; // 0x154
+    field public static final int DENSITY_360 = 360; // 0x168
+    field public static final int DENSITY_400 = 400; // 0x190
+    field public static final int DENSITY_420 = 420; // 0x1a4
+    field public static final int DENSITY_440 = 440; // 0x1b8
+    field public static final int DENSITY_450 = 450; // 0x1c2
+    field public static final int DENSITY_560 = 560; // 0x230
+    field public static final int DENSITY_600 = 600; // 0x258
+    field public static final int DENSITY_DEFAULT = 160; // 0xa0
+    field public static final int DENSITY_DEVICE_STABLE;
+    field public static final int DENSITY_HIGH = 240; // 0xf0
+    field public static final int DENSITY_LOW = 120; // 0x78
+    field public static final int DENSITY_MEDIUM = 160; // 0xa0
+    field public static final int DENSITY_TV = 213; // 0xd5
+    field public static final int DENSITY_XHIGH = 320; // 0x140
+    field public static final int DENSITY_XXHIGH = 480; // 0x1e0
+    field public static final int DENSITY_XXXHIGH = 640; // 0x280
+    field public float density;
+    field public int densityDpi;
+    field public int heightPixels;
+    field public float scaledDensity;
+    field public int widthPixels;
+    field public float xdpi;
+    field public float ydpi;
+  }
+
+  public class EventLog {
+    method public static int getTagCode(String);
+    method public static String getTagName(int);
+    method public static void readEvents(int[], java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
+    method public static int writeEvent(int, int);
+    method public static int writeEvent(int, long);
+    method public static int writeEvent(int, float);
+    method public static int writeEvent(int, String);
+    method public static int writeEvent(int, java.lang.Object...);
+  }
+
+  public static final class EventLog.Event {
+    method public Object getData();
+    method public int getProcessId();
+    method public int getTag();
+    method public int getThreadId();
+    method public long getTimeNanos();
+  }
+
+  @Deprecated public class EventLogTags {
+    ctor @Deprecated public EventLogTags() throws java.io.IOException;
+    ctor @Deprecated public EventLogTags(java.io.BufferedReader) throws java.io.IOException;
+    method @Deprecated public android.util.EventLogTags.Description get(String);
+    method @Deprecated public android.util.EventLogTags.Description get(int);
+  }
+
+  @Deprecated public static class EventLogTags.Description {
+    field @Deprecated public final String mName;
+    field @Deprecated public final int mTag;
+  }
+
+  @Deprecated public class FloatMath {
+  }
+
+  public abstract class FloatProperty<T> extends android.util.Property<T,java.lang.Float> {
+    ctor public FloatProperty(String);
+    method public final void set(T, Float);
+    method public abstract void setValue(T, float);
+  }
+
+  public final class Half extends java.lang.Number implements java.lang.Comparable<android.util.Half> {
+    ctor public Half(@HalfFloat short);
+    ctor public Half(float);
+    ctor public Half(double);
+    ctor public Half(@NonNull String) throws java.lang.NumberFormatException;
+    method @HalfFloat public static short abs(@HalfFloat short);
+    method @HalfFloat public static short ceil(@HalfFloat short);
+    method public static int compare(@HalfFloat short, @HalfFloat short);
+    method public int compareTo(@NonNull android.util.Half);
+    method @HalfFloat public static short copySign(@HalfFloat short, @HalfFloat short);
+    method public double doubleValue();
+    method public static boolean equals(@HalfFloat short, @HalfFloat short);
+    method public float floatValue();
+    method @HalfFloat public static short floor(@HalfFloat short);
+    method public static int getExponent(@HalfFloat short);
+    method public static int getSign(@HalfFloat short);
+    method public static int getSignificand(@HalfFloat short);
+    method public static boolean greater(@HalfFloat short, @HalfFloat short);
+    method public static boolean greaterEquals(@HalfFloat short, @HalfFloat short);
+    method public static int halfToIntBits(@HalfFloat short);
+    method public static int halfToRawIntBits(@HalfFloat short);
+    method @HalfFloat public static short halfToShortBits(@HalfFloat short);
+    method @HalfFloat public short halfValue();
+    method public static int hashCode(@HalfFloat short);
+    method @HalfFloat public static short intBitsToHalf(int);
+    method public int intValue();
+    method public static boolean isInfinite(@HalfFloat short);
+    method public boolean isNaN();
+    method public static boolean isNaN(@HalfFloat short);
+    method public static boolean isNormalized(@HalfFloat short);
+    method public static boolean less(@HalfFloat short, @HalfFloat short);
+    method public static boolean lessEquals(@HalfFloat short, @HalfFloat short);
+    method public long longValue();
+    method @HalfFloat public static short max(@HalfFloat short, @HalfFloat short);
+    method @HalfFloat public static short min(@HalfFloat short, @HalfFloat short);
+    method @HalfFloat public static short parseHalf(@NonNull String) throws java.lang.NumberFormatException;
+    method @HalfFloat public static short round(@HalfFloat short);
+    method public static float toFloat(@HalfFloat short);
+    method @HalfFloat public static short toHalf(float);
+    method @NonNull public static String toHexString(@HalfFloat short);
+    method @NonNull public static String toString(@HalfFloat short);
+    method @HalfFloat public static short trunc(@HalfFloat short);
+    method @NonNull public static android.util.Half valueOf(@HalfFloat short);
+    method @NonNull public static android.util.Half valueOf(float);
+    method @NonNull public static android.util.Half valueOf(@NonNull String);
+    field @HalfFloat public static final short EPSILON = 5120; // 0x1400
+    field @HalfFloat public static final short LOWEST_VALUE = -1025; // 0xfffffbff
+    field public static final int MAX_EXPONENT = 15; // 0xf
+    field @HalfFloat public static final short MAX_VALUE = 31743; // 0x7bff
+    field public static final int MIN_EXPONENT = -14; // 0xfffffff2
+    field @HalfFloat public static final short MIN_NORMAL = 1024; // 0x400
+    field @HalfFloat public static final short MIN_VALUE = 1; // 0x1
+    field @HalfFloat public static final short NEGATIVE_INFINITY = -1024; // 0xfffffc00
+    field @HalfFloat public static final short NEGATIVE_ZERO = -32768; // 0xffff8000
+    field @HalfFloat public static final short NaN = 32256; // 0x7e00
+    field @HalfFloat public static final short POSITIVE_INFINITY = 31744; // 0x7c00
+    field @HalfFloat public static final short POSITIVE_ZERO = 0; // 0x0
+    field public static final int SIZE = 16; // 0x10
+  }
+
+  public abstract class IntProperty<T> extends android.util.Property<T,java.lang.Integer> {
+    ctor public IntProperty(String);
+    method public final void set(T, Integer);
+    method public abstract void setValue(T, int);
+  }
+
+  public final class JsonReader implements java.io.Closeable {
+    ctor public JsonReader(java.io.Reader);
+    method public void beginArray() throws java.io.IOException;
+    method public void beginObject() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void endArray() throws java.io.IOException;
+    method public void endObject() throws java.io.IOException;
+    method public boolean hasNext() throws java.io.IOException;
+    method public boolean isLenient();
+    method public boolean nextBoolean() throws java.io.IOException;
+    method public double nextDouble() throws java.io.IOException;
+    method public int nextInt() throws java.io.IOException;
+    method public long nextLong() throws java.io.IOException;
+    method public String nextName() throws java.io.IOException;
+    method public void nextNull() throws java.io.IOException;
+    method public String nextString() throws java.io.IOException;
+    method public android.util.JsonToken peek() throws java.io.IOException;
+    method public void setLenient(boolean);
+    method public void skipValue() throws java.io.IOException;
+  }
+
+  public enum JsonToken {
+    enum_constant public static final android.util.JsonToken BEGIN_ARRAY;
+    enum_constant public static final android.util.JsonToken BEGIN_OBJECT;
+    enum_constant public static final android.util.JsonToken BOOLEAN;
+    enum_constant public static final android.util.JsonToken END_ARRAY;
+    enum_constant public static final android.util.JsonToken END_DOCUMENT;
+    enum_constant public static final android.util.JsonToken END_OBJECT;
+    enum_constant public static final android.util.JsonToken NAME;
+    enum_constant public static final android.util.JsonToken NULL;
+    enum_constant public static final android.util.JsonToken NUMBER;
+    enum_constant public static final android.util.JsonToken STRING;
+  }
+
+  public final class JsonWriter implements java.io.Closeable {
+    ctor public JsonWriter(java.io.Writer);
+    method public android.util.JsonWriter beginArray() throws java.io.IOException;
+    method public android.util.JsonWriter beginObject() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public android.util.JsonWriter endArray() throws java.io.IOException;
+    method public android.util.JsonWriter endObject() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public boolean isLenient();
+    method public android.util.JsonWriter name(String) throws java.io.IOException;
+    method public android.util.JsonWriter nullValue() throws java.io.IOException;
+    method public void setIndent(String);
+    method public void setLenient(boolean);
+    method public android.util.JsonWriter value(String) throws java.io.IOException;
+    method public android.util.JsonWriter value(boolean) throws java.io.IOException;
+    method public android.util.JsonWriter value(double) throws java.io.IOException;
+    method public android.util.JsonWriter value(long) throws java.io.IOException;
+    method public android.util.JsonWriter value(Number) throws java.io.IOException;
+  }
+
+  public final class LayoutDirection {
+    field public static final int INHERIT = 2; // 0x2
+    field public static final int LOCALE = 3; // 0x3
+    field public static final int LTR = 0; // 0x0
+    field public static final int RTL = 1; // 0x1
+  }
+
+  public final class Log {
+    method public static int d(@Nullable String, @NonNull String);
+    method public static int d(@Nullable String, @Nullable String, @Nullable Throwable);
+    method public static int e(@Nullable String, @NonNull String);
+    method public static int e(@Nullable String, @Nullable String, @Nullable Throwable);
+    method @NonNull public static String getStackTraceString(@Nullable Throwable);
+    method public static int i(@Nullable String, @NonNull String);
+    method public static int i(@Nullable String, @Nullable String, @Nullable Throwable);
+    method public static boolean isLoggable(@Nullable @Size(max=23, apis="..23") String, int);
+    method public static int println(int, @Nullable String, @NonNull String);
+    method public static int v(@Nullable String, @NonNull String);
+    method public static int v(@Nullable String, @Nullable String, @Nullable Throwable);
+    method public static int w(@Nullable String, @NonNull String);
+    method public static int w(@Nullable String, @Nullable String, @Nullable Throwable);
+    method public static int w(@Nullable String, @Nullable Throwable);
+    method public static int wtf(@Nullable String, @Nullable String);
+    method public static int wtf(@Nullable String, @NonNull Throwable);
+    method public static int wtf(@Nullable String, @Nullable String, @Nullable Throwable);
+    field public static final int ASSERT = 7; // 0x7
+    field public static final int DEBUG = 3; // 0x3
+    field public static final int ERROR = 6; // 0x6
+    field public static final int INFO = 4; // 0x4
+    field public static final int VERBOSE = 2; // 0x2
+    field public static final int WARN = 5; // 0x5
+  }
+
+  public class LogPrinter implements android.util.Printer {
+    ctor public LogPrinter(int, String);
+    method public void println(String);
+  }
+
+  public class LongSparseArray<E> implements java.lang.Cloneable {
+    ctor public LongSparseArray();
+    ctor public LongSparseArray(int);
+    method public void append(long, E);
+    method public void clear();
+    method public android.util.LongSparseArray<E> clone();
+    method public void delete(long);
+    method public E get(long);
+    method public E get(long, E);
+    method public int indexOfKey(long);
+    method public int indexOfValue(E);
+    method public long keyAt(int);
+    method public void put(long, E);
+    method public void remove(long);
+    method public void removeAt(int);
+    method public void setValueAt(int, E);
+    method public int size();
+    method public E valueAt(int);
+  }
+
+  public class LruCache<K, V> {
+    ctor public LruCache(int);
+    method protected V create(K);
+    method public final int createCount();
+    method protected void entryRemoved(boolean, K, V, V);
+    method public final void evictAll();
+    method public final int evictionCount();
+    method public final V get(K);
+    method public final int hitCount();
+    method public final int maxSize();
+    method public final int missCount();
+    method public final V put(K, V);
+    method public final int putCount();
+    method public final V remove(K);
+    method public void resize(int);
+    method public final int size();
+    method protected int sizeOf(K, V);
+    method public final java.util.Map<K,V> snapshot();
+    method public final String toString();
+    method public void trimToSize(int);
+  }
+
+  public final class MalformedJsonException extends java.io.IOException {
+    ctor public MalformedJsonException(String);
+  }
+
+  public class MonthDisplayHelper {
+    ctor public MonthDisplayHelper(int, int, int);
+    ctor public MonthDisplayHelper(int, int);
+    method public int getColumnOf(int);
+    method public int getDayAt(int, int);
+    method public int[] getDigitsForRow(int);
+    method public int getFirstDayOfMonth();
+    method public int getMonth();
+    method public int getNumberOfDaysInMonth();
+    method public int getOffset();
+    method public int getRowOf(int);
+    method public int getWeekStartDay();
+    method public int getYear();
+    method public boolean isWithinCurrentMonth(int, int);
+    method public void nextMonth();
+    method public void previousMonth();
+  }
+
+  @Deprecated public final class MutableBoolean {
+    ctor @Deprecated public MutableBoolean(boolean);
+    field @Deprecated public boolean value;
+  }
+
+  @Deprecated public final class MutableByte {
+    ctor @Deprecated public MutableByte(byte);
+    field @Deprecated public byte value;
+  }
+
+  @Deprecated public final class MutableChar {
+    ctor @Deprecated public MutableChar(char);
+    field @Deprecated public char value;
+  }
+
+  @Deprecated public final class MutableDouble {
+    ctor @Deprecated public MutableDouble(double);
+    field @Deprecated public double value;
+  }
+
+  @Deprecated public final class MutableFloat {
+    ctor @Deprecated public MutableFloat(float);
+    field @Deprecated public float value;
+  }
+
+  @Deprecated public final class MutableInt {
+    ctor @Deprecated public MutableInt(int);
+    field @Deprecated public int value;
+  }
+
+  @Deprecated public final class MutableLong {
+    ctor @Deprecated public MutableLong(long);
+    field @Deprecated public long value;
+  }
+
+  @Deprecated public final class MutableShort {
+    ctor @Deprecated public MutableShort(short);
+    field @Deprecated public short value;
+  }
+
+  public class NoSuchPropertyException extends java.lang.RuntimeException {
+    ctor public NoSuchPropertyException(String);
+  }
+
+  public class Pair<F, S> {
+    ctor public Pair(F, S);
+    method public static <A, B> android.util.Pair<A,B> create(A, B);
+    field public final F first;
+    field public final S second;
+  }
+
+  public class Patterns {
+    method public static final String concatGroups(java.util.regex.Matcher);
+    method public static final String digitsAndPlusOnly(java.util.regex.Matcher);
+    field public static final java.util.regex.Pattern DOMAIN_NAME;
+    field public static final java.util.regex.Pattern EMAIL_ADDRESS;
+    field @Deprecated public static final String GOOD_IRI_CHAR = "a-zA-Z0-9\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef";
+    field @Deprecated public static final java.util.regex.Pattern IP_ADDRESS;
+    field public static final java.util.regex.Pattern PHONE;
+    field @Deprecated public static final java.util.regex.Pattern TOP_LEVEL_DOMAIN;
+    field @Deprecated public static final String TOP_LEVEL_DOMAIN_STR = "((aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(biz|b[abdefghijmnorstvwyz])|(cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(edu|e[cegrstu])|f[ijkmor]|(gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(info|int|i[delmnoqrst])|(jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(name|net|n[acefgilopruz])|(org|om)|(pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae|\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435|\u0440\u0444|\u0441\u0440\u0431|\u05d8\u05e2\u05e1\u05d8|\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc|\u0625\u062e\u062a\u0628\u0627\u0631|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0633\u0648\u0631\u064a\u0629|\u0641\u0644\u0633\u0637\u064a\u0646|\u0642\u0637\u0631|\u0645\u0635\u0631|\u092a\u0930\u0940\u0915\u094d\u0937\u093e|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e44\u0e17\u0e22|\u30c6\u30b9\u30c8|\u4e2d\u56fd|\u4e2d\u570b|\u53f0\u6e7e|\u53f0\u7063|\u65b0\u52a0\u5761|\u6d4b\u8bd5|\u6e2c\u8a66|\u9999\u6e2f|\ud14c\uc2a4\ud2b8|\ud55c\uad6d|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)|y[et]|z[amw])";
+    field @Deprecated public static final String TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL = "(?:(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(?:biz|b[abdefghijmnorstvwyz])|(?:cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(?:edu|e[cegrstu])|f[ijkmor]|(?:gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(?:info|int|i[delmnoqrst])|(?:jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(?:mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(?:name|net|n[acefgilopruz])|(?:org|om)|(?:pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(?:tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(?:\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae|\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435|\u0440\u0444|\u0441\u0440\u0431|\u05d8\u05e2\u05e1\u05d8|\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc|\u0625\u062e\u062a\u0628\u0627\u0631|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0633\u0648\u0631\u064a\u0629|\u0641\u0644\u0633\u0637\u064a\u0646|\u0642\u0637\u0631|\u0645\u0635\u0631|\u092a\u0930\u0940\u0915\u094d\u0937\u093e|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e44\u0e17\u0e22|\u30c6\u30b9\u30c8|\u4e2d\u56fd|\u4e2d\u570b|\u53f0\u6e7e|\u53f0\u7063|\u65b0\u52a0\u5761|\u6d4b\u8bd5|\u6e2c\u8a66|\u9999\u6e2f|\ud14c\uc2a4\ud2b8|\ud55c\uad6d|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)|y[et]|z[amw]))";
+    field public static final java.util.regex.Pattern WEB_URL;
+  }
+
+  public class PrintStreamPrinter implements android.util.Printer {
+    ctor public PrintStreamPrinter(java.io.PrintStream);
+    method public void println(String);
+  }
+
+  public class PrintWriterPrinter implements android.util.Printer {
+    ctor public PrintWriterPrinter(java.io.PrintWriter);
+    method public void println(String);
+  }
+
+  public interface Printer {
+    method public void println(String);
+  }
+
+  public abstract class Property<T, V> {
+    ctor public Property(Class<V>, String);
+    method public abstract V get(T);
+    method public String getName();
+    method public Class<V> getType();
+    method public boolean isReadOnly();
+    method public static <T, V> android.util.Property<T,V> of(Class<T>, Class<V>, String);
+    method public void set(T, V);
+  }
+
+  public final class Range<T extends java.lang.Comparable<? super T>> {
+    ctor public Range(T, T);
+    method public T clamp(T);
+    method public boolean contains(T);
+    method public boolean contains(android.util.Range<T>);
+    method public static <T extends java.lang.Comparable<? super T>> android.util.Range<T> create(T, T);
+    method public android.util.Range<T> extend(android.util.Range<T>);
+    method public android.util.Range<T> extend(T, T);
+    method public android.util.Range<T> extend(T);
+    method public T getLower();
+    method public T getUpper();
+    method public android.util.Range<T> intersect(android.util.Range<T>);
+    method public android.util.Range<T> intersect(T, T);
+  }
+
+  public final class Rational extends java.lang.Number implements java.lang.Comparable<android.util.Rational> {
+    ctor public Rational(int, int);
+    method public int compareTo(android.util.Rational);
+    method public double doubleValue();
+    method public float floatValue();
+    method public int getDenominator();
+    method public int getNumerator();
+    method public int intValue();
+    method public boolean isFinite();
+    method public boolean isInfinite();
+    method public boolean isNaN();
+    method public boolean isZero();
+    method public long longValue();
+    method public static android.util.Rational parseRational(String) throws java.lang.NumberFormatException;
+    field public static final android.util.Rational NEGATIVE_INFINITY;
+    field public static final android.util.Rational NaN;
+    field public static final android.util.Rational POSITIVE_INFINITY;
+    field public static final android.util.Rational ZERO;
+  }
+
+  public final class Size {
+    ctor public Size(int, int);
+    method public int getHeight();
+    method public int getWidth();
+    method public static android.util.Size parseSize(String) throws java.lang.NumberFormatException;
+  }
+
+  public final class SizeF implements android.os.Parcelable {
+    ctor public SizeF(float, float);
+    method public int describeContents();
+    method public float getHeight();
+    method public float getWidth();
+    method public static android.util.SizeF parseSizeF(String) throws java.lang.NumberFormatException;
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.util.SizeF> CREATOR;
+  }
+
+  public class SparseArray<E> implements java.lang.Cloneable {
+    ctor public SparseArray();
+    ctor public SparseArray(int);
+    method public void append(int, E);
+    method public void clear();
+    method public android.util.SparseArray<E> clone();
+    method public boolean contains(int);
+    method public boolean contentEquals(@Nullable android.util.SparseArray<?>);
+    method public int contentHashCode();
+    method public void delete(int);
+    method public E get(int);
+    method public E get(int, E);
+    method public int indexOfKey(int);
+    method public int indexOfValue(E);
+    method public int keyAt(int);
+    method public void put(int, E);
+    method public void remove(int);
+    method public void removeAt(int);
+    method public void removeAtRange(int, int);
+    method public void set(int, E);
+    method public void setValueAt(int, E);
+    method public int size();
+    method public E valueAt(int);
+  }
+
+  public class SparseBooleanArray implements java.lang.Cloneable {
+    ctor public SparseBooleanArray();
+    ctor public SparseBooleanArray(int);
+    method public void append(int, boolean);
+    method public void clear();
+    method public android.util.SparseBooleanArray clone();
+    method public void delete(int);
+    method public boolean get(int);
+    method public boolean get(int, boolean);
+    method public int indexOfKey(int);
+    method public int indexOfValue(boolean);
+    method public int keyAt(int);
+    method public void put(int, boolean);
+    method public void removeAt(int);
+    method public void setValueAt(int, boolean);
+    method public int size();
+    method public boolean valueAt(int);
+  }
+
+  public class SparseIntArray implements java.lang.Cloneable {
+    ctor public SparseIntArray();
+    ctor public SparseIntArray(int);
+    method public void append(int, int);
+    method public void clear();
+    method public android.util.SparseIntArray clone();
+    method public void delete(int);
+    method public int get(int);
+    method public int get(int, int);
+    method public int indexOfKey(int);
+    method public int indexOfValue(int);
+    method public int keyAt(int);
+    method public void put(int, int);
+    method public void removeAt(int);
+    method public void setValueAt(int, int);
+    method public int size();
+    method public int valueAt(int);
+  }
+
+  public class SparseLongArray implements java.lang.Cloneable {
+    ctor public SparseLongArray();
+    ctor public SparseLongArray(int);
+    method public void append(int, long);
+    method public void clear();
+    method public android.util.SparseLongArray clone();
+    method public void delete(int);
+    method public long get(int);
+    method public long get(int, long);
+    method public int indexOfKey(int);
+    method public int indexOfValue(long);
+    method public int keyAt(int);
+    method public void put(int, long);
+    method public void removeAt(int);
+    method public int size();
+    method public long valueAt(int);
+  }
+
+  public class StateSet {
+    method public static String dump(int[]);
+    method public static boolean isWildCard(int[]);
+    method public static boolean stateSetMatches(int[], int[]);
+    method public static boolean stateSetMatches(int[], int);
+    method public static int[] trimStateSet(int[], int);
+    field public static final int[] NOTHING;
+    field public static final int[] WILD_CARD;
+  }
+
+  public class StringBuilderPrinter implements android.util.Printer {
+    ctor public StringBuilderPrinter(StringBuilder);
+    method public void println(String);
+  }
+
+  public class TimeFormatException extends java.lang.RuntimeException {
+  }
+
+  public class TimeUtils {
+    method public static java.util.TimeZone getTimeZone(int, boolean, long, String);
+    method public static String getTimeZoneDatabaseVersion();
+    method @Nullable public static java.util.List<java.lang.String> getTimeZoneIdsForCountryCode(@NonNull String);
+    method public static boolean isTimeBetween(@NonNull java.time.LocalTime, @NonNull java.time.LocalTime, @NonNull java.time.LocalTime);
+  }
+
+  @Deprecated public class TimingLogger {
+    ctor @Deprecated public TimingLogger(String, String);
+    method @Deprecated public void addSplit(String);
+    method @Deprecated public void dumpToLog();
+    method @Deprecated public void reset(String, String);
+    method @Deprecated public void reset();
+  }
+
+  public class TypedValue {
+    ctor public TypedValue();
+    method public static float applyDimension(int, float, android.util.DisplayMetrics);
+    method public final CharSequence coerceToString();
+    method public static final String coerceToString(int, int);
+    method public static float complexToDimension(int, android.util.DisplayMetrics);
+    method public static int complexToDimensionPixelOffset(int, android.util.DisplayMetrics);
+    method public static int complexToDimensionPixelSize(int, android.util.DisplayMetrics);
+    method public static float complexToFloat(int);
+    method public static float complexToFraction(int, float, float);
+    method public int getComplexUnit();
+    method public float getDimension(android.util.DisplayMetrics);
+    method public final float getFloat();
+    method public float getFraction(float, float);
+    method public boolean isColorType();
+    method public void setTo(android.util.TypedValue);
+    field public static final int COMPLEX_MANTISSA_MASK = 16777215; // 0xffffff
+    field public static final int COMPLEX_MANTISSA_SHIFT = 8; // 0x8
+    field public static final int COMPLEX_RADIX_0p23 = 3; // 0x3
+    field public static final int COMPLEX_RADIX_16p7 = 1; // 0x1
+    field public static final int COMPLEX_RADIX_23p0 = 0; // 0x0
+    field public static final int COMPLEX_RADIX_8p15 = 2; // 0x2
+    field public static final int COMPLEX_RADIX_MASK = 3; // 0x3
+    field public static final int COMPLEX_RADIX_SHIFT = 4; // 0x4
+    field public static final int COMPLEX_UNIT_DIP = 1; // 0x1
+    field public static final int COMPLEX_UNIT_FRACTION = 0; // 0x0
+    field public static final int COMPLEX_UNIT_FRACTION_PARENT = 1; // 0x1
+    field public static final int COMPLEX_UNIT_IN = 4; // 0x4
+    field public static final int COMPLEX_UNIT_MASK = 15; // 0xf
+    field public static final int COMPLEX_UNIT_MM = 5; // 0x5
+    field public static final int COMPLEX_UNIT_PT = 3; // 0x3
+    field public static final int COMPLEX_UNIT_PX = 0; // 0x0
+    field public static final int COMPLEX_UNIT_SHIFT = 0; // 0x0
+    field public static final int COMPLEX_UNIT_SP = 2; // 0x2
+    field public static final int DATA_NULL_EMPTY = 1; // 0x1
+    field public static final int DATA_NULL_UNDEFINED = 0; // 0x0
+    field public static final int DENSITY_DEFAULT = 0; // 0x0
+    field public static final int DENSITY_NONE = 65535; // 0xffff
+    field public static final int TYPE_ATTRIBUTE = 2; // 0x2
+    field public static final int TYPE_DIMENSION = 5; // 0x5
+    field public static final int TYPE_FIRST_COLOR_INT = 28; // 0x1c
+    field public static final int TYPE_FIRST_INT = 16; // 0x10
+    field public static final int TYPE_FLOAT = 4; // 0x4
+    field public static final int TYPE_FRACTION = 6; // 0x6
+    field public static final int TYPE_INT_BOOLEAN = 18; // 0x12
+    field public static final int TYPE_INT_COLOR_ARGB4 = 30; // 0x1e
+    field public static final int TYPE_INT_COLOR_ARGB8 = 28; // 0x1c
+    field public static final int TYPE_INT_COLOR_RGB4 = 31; // 0x1f
+    field public static final int TYPE_INT_COLOR_RGB8 = 29; // 0x1d
+    field public static final int TYPE_INT_DEC = 16; // 0x10
+    field public static final int TYPE_INT_HEX = 17; // 0x11
+    field public static final int TYPE_LAST_COLOR_INT = 31; // 0x1f
+    field public static final int TYPE_LAST_INT = 31; // 0x1f
+    field public static final int TYPE_NULL = 0; // 0x0
+    field public static final int TYPE_REFERENCE = 1; // 0x1
+    field public static final int TYPE_STRING = 3; // 0x3
+    field public int assetCookie;
+    field public int changingConfigurations;
+    field public int data;
+    field public int density;
+    field @AnyRes public int resourceId;
+    field public int sourceResourceId;
+    field public CharSequence string;
+    field public int type;
+  }
+
+  public class Xml {
+    method public static android.util.AttributeSet asAttributeSet(org.xmlpull.v1.XmlPullParser);
+    method public static android.util.Xml.Encoding findEncodingByName(String) throws java.io.UnsupportedEncodingException;
+    method public static org.xmlpull.v1.XmlPullParser newPullParser();
+    method public static org.xmlpull.v1.XmlSerializer newSerializer();
+    method public static void parse(String, org.xml.sax.ContentHandler) throws org.xml.sax.SAXException;
+    method public static void parse(java.io.Reader, org.xml.sax.ContentHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    method public static void parse(java.io.InputStream, android.util.Xml.Encoding, org.xml.sax.ContentHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    field public static String FEATURE_RELAXED;
+  }
+
+  public enum Xml.Encoding {
+    enum_constant public static final android.util.Xml.Encoding ISO_8859_1;
+    enum_constant public static final android.util.Xml.Encoding US_ASCII;
+    enum_constant public static final android.util.Xml.Encoding UTF_16;
+    enum_constant public static final android.util.Xml.Encoding UTF_8;
+  }
+
+}
+
+package android.util.proto {
+
+  public final class ProtoOutputStream {
+    ctor public ProtoOutputStream();
+    ctor public ProtoOutputStream(int);
+    ctor public ProtoOutputStream(@NonNull java.io.OutputStream);
+    method public static int checkFieldId(long, long);
+    method public void dump(@NonNull String);
+    method public void end(long);
+    method public void flush();
+    method @NonNull public byte[] getBytes();
+    method @Nullable public static String getFieldCountString(long);
+    method @NonNull public static String getFieldIdString(long);
+    method @Nullable public static String getFieldTypeString(long);
+    method public int getRawSize();
+    method @Nullable public static String getWireTypeString(int);
+    method public static long makeFieldId(int, long);
+    method public static long makeToken(int, boolean, int, int, int);
+    method public long start(long);
+    method @NonNull public static String token2String(long);
+    method public void write(long, double);
+    method public void write(long, float);
+    method public void write(long, int);
+    method public void write(long, long);
+    method public void write(long, boolean);
+    method public void write(long, @Nullable String);
+    method public void write(long, @Nullable byte[]);
+    method public void writeTag(int, int);
+    field public static final long FIELD_COUNT_MASK = 16492674416640L; // 0xf0000000000L
+    field public static final long FIELD_COUNT_PACKED = 5497558138880L; // 0x50000000000L
+    field public static final long FIELD_COUNT_REPEATED = 2199023255552L; // 0x20000000000L
+    field public static final int FIELD_COUNT_SHIFT = 40; // 0x28
+    field public static final long FIELD_COUNT_SINGLE = 1099511627776L; // 0x10000000000L
+    field public static final long FIELD_COUNT_UNKNOWN = 0L; // 0x0L
+    field public static final int FIELD_ID_SHIFT = 3; // 0x3
+    field public static final long FIELD_TYPE_BOOL = 34359738368L; // 0x800000000L
+    field public static final long FIELD_TYPE_BYTES = 51539607552L; // 0xc00000000L
+    field public static final long FIELD_TYPE_DOUBLE = 4294967296L; // 0x100000000L
+    field public static final long FIELD_TYPE_ENUM = 60129542144L; // 0xe00000000L
+    field public static final long FIELD_TYPE_FIXED32 = 30064771072L; // 0x700000000L
+    field public static final long FIELD_TYPE_FIXED64 = 25769803776L; // 0x600000000L
+    field public static final long FIELD_TYPE_FLOAT = 8589934592L; // 0x200000000L
+    field public static final long FIELD_TYPE_INT32 = 21474836480L; // 0x500000000L
+    field public static final long FIELD_TYPE_INT64 = 12884901888L; // 0x300000000L
+    field public static final long FIELD_TYPE_MASK = 1095216660480L; // 0xff00000000L
+    field public static final long FIELD_TYPE_MESSAGE = 47244640256L; // 0xb00000000L
+    field public static final long FIELD_TYPE_SFIXED32 = 64424509440L; // 0xf00000000L
+    field public static final long FIELD_TYPE_SFIXED64 = 68719476736L; // 0x1000000000L
+    field public static final int FIELD_TYPE_SHIFT = 32; // 0x20
+    field public static final long FIELD_TYPE_SINT32 = 73014444032L; // 0x1100000000L
+    field public static final long FIELD_TYPE_SINT64 = 77309411328L; // 0x1200000000L
+    field public static final long FIELD_TYPE_STRING = 38654705664L; // 0x900000000L
+    field public static final long FIELD_TYPE_UINT32 = 55834574848L; // 0xd00000000L
+    field public static final long FIELD_TYPE_UINT64 = 17179869184L; // 0x400000000L
+    field public static final int WIRE_TYPE_END_GROUP = 4; // 0x4
+    field public static final int WIRE_TYPE_FIXED32 = 5; // 0x5
+    field public static final int WIRE_TYPE_FIXED64 = 1; // 0x1
+    field public static final int WIRE_TYPE_LENGTH_DELIMITED = 2; // 0x2
+    field public static final int WIRE_TYPE_MASK = 7; // 0x7
+    field public static final int WIRE_TYPE_START_GROUP = 3; // 0x3
+    field public static final int WIRE_TYPE_VARINT = 0; // 0x0
+  }
+
+}
+
+package android.view {
+
+  public abstract class AbsSavedState implements android.os.Parcelable {
+    ctor protected AbsSavedState(android.os.Parcelable);
+    ctor protected AbsSavedState(android.os.Parcel);
+    ctor protected AbsSavedState(android.os.Parcel, ClassLoader);
+    method public int describeContents();
+    method public final android.os.Parcelable getSuperState();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.AbsSavedState> CREATOR;
+    field public static final android.view.AbsSavedState EMPTY_STATE;
+  }
+
+  public abstract class ActionMode {
+    ctor public ActionMode();
+    method public abstract void finish();
+    method public abstract android.view.View getCustomView();
+    method public abstract android.view.Menu getMenu();
+    method public abstract android.view.MenuInflater getMenuInflater();
+    method public abstract CharSequence getSubtitle();
+    method public Object getTag();
+    method public abstract CharSequence getTitle();
+    method public boolean getTitleOptionalHint();
+    method public int getType();
+    method public void hide(long);
+    method public abstract void invalidate();
+    method public void invalidateContentRect();
+    method public boolean isTitleOptional();
+    method public void onWindowFocusChanged(boolean);
+    method public abstract void setCustomView(android.view.View);
+    method public abstract void setSubtitle(CharSequence);
+    method public abstract void setSubtitle(@StringRes int);
+    method public void setTag(Object);
+    method public abstract void setTitle(CharSequence);
+    method public abstract void setTitle(@StringRes int);
+    method public void setTitleOptionalHint(boolean);
+    method public void setType(int);
+    field public static final int DEFAULT_HIDE_DURATION = -1; // 0xffffffff
+    field public static final int TYPE_FLOATING = 1; // 0x1
+    field public static final int TYPE_PRIMARY = 0; // 0x0
+  }
+
+  public static interface ActionMode.Callback {
+    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
+    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
+    method public void onDestroyActionMode(android.view.ActionMode);
+    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
+  }
+
+  public abstract static class ActionMode.Callback2 implements android.view.ActionMode.Callback {
+    ctor public ActionMode.Callback2();
+    method public void onGetContentRect(android.view.ActionMode, android.view.View, android.graphics.Rect);
+  }
+
+  public abstract class ActionProvider {
+    ctor public ActionProvider(android.content.Context);
+    method public boolean hasSubMenu();
+    method public boolean isVisible();
+    method @Deprecated public abstract android.view.View onCreateActionView();
+    method public android.view.View onCreateActionView(android.view.MenuItem);
+    method public boolean onPerformDefaultAction();
+    method public void onPrepareSubMenu(android.view.SubMenu);
+    method public boolean overridesItemVisibility();
+    method public void refreshVisibility();
+    method public void setVisibilityListener(android.view.ActionProvider.VisibilityListener);
+  }
+
+  public static interface ActionProvider.VisibilityListener {
+    method public void onActionProviderVisibilityChanged(boolean);
+  }
+
+  @UiThread public interface AttachedSurfaceControl {
+    method public default void addOnBufferTransformHintChangedListener(@NonNull android.view.AttachedSurfaceControl.OnBufferTransformHintChangedListener);
+    method public boolean applyTransactionOnDraw(@NonNull android.view.SurfaceControl.Transaction);
+    method @Nullable public android.view.SurfaceControl.Transaction buildReparentTransaction(@NonNull android.view.SurfaceControl);
+    method public default int getBufferTransformHint();
+    method public default void removeOnBufferTransformHintChangedListener(@NonNull android.view.AttachedSurfaceControl.OnBufferTransformHintChangedListener);
+  }
+
+  @UiThread public static interface AttachedSurfaceControl.OnBufferTransformHintChangedListener {
+    method public void onBufferTransformHintChanged(int);
+  }
+
+  public final class Choreographer {
+    method public static android.view.Choreographer getInstance();
+    method public void postFrameCallback(android.view.Choreographer.FrameCallback);
+    method public void postFrameCallbackDelayed(android.view.Choreographer.FrameCallback, long);
+    method public void removeFrameCallback(android.view.Choreographer.FrameCallback);
+  }
+
+  public static interface Choreographer.FrameCallback {
+    method public void doFrame(long);
+  }
+
+  public interface CollapsibleActionView {
+    method public void onActionViewCollapsed();
+    method public void onActionViewExpanded();
+  }
+
+  public final class ContentInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.ClipData getClip();
+    method @Nullable public android.os.Bundle getExtras();
+    method public int getFlags();
+    method @Nullable public android.net.Uri getLinkUri();
+    method public int getSource();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.ContentInfo> CREATOR;
+    field public static final int FLAG_CONVERT_TO_PLAIN_TEXT = 1; // 0x1
+    field public static final int SOURCE_APP = 0; // 0x0
+    field public static final int SOURCE_AUTOFILL = 4; // 0x4
+    field public static final int SOURCE_CLIPBOARD = 1; // 0x1
+    field public static final int SOURCE_DRAG_AND_DROP = 3; // 0x3
+    field public static final int SOURCE_INPUT_METHOD = 2; // 0x2
+    field public static final int SOURCE_PROCESS_TEXT = 5; // 0x5
+  }
+
+  public static final class ContentInfo.Builder {
+    ctor public ContentInfo.Builder(@NonNull android.view.ContentInfo);
+    ctor public ContentInfo.Builder(@NonNull android.content.ClipData, int);
+    method @NonNull public android.view.ContentInfo build();
+    method @NonNull public android.view.ContentInfo.Builder setClip(@NonNull android.content.ClipData);
+    method @NonNull public android.view.ContentInfo.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.ContentInfo.Builder setFlags(int);
+    method @NonNull public android.view.ContentInfo.Builder setLinkUri(@Nullable android.net.Uri);
+    method @NonNull public android.view.ContentInfo.Builder setSource(int);
+  }
+
+  public interface ContextMenu extends android.view.Menu {
+    method public void clearHeader();
+    method public android.view.ContextMenu setHeaderIcon(@DrawableRes int);
+    method public android.view.ContextMenu setHeaderIcon(android.graphics.drawable.Drawable);
+    method public android.view.ContextMenu setHeaderTitle(@StringRes int);
+    method public android.view.ContextMenu setHeaderTitle(CharSequence);
+    method public android.view.ContextMenu setHeaderView(android.view.View);
+  }
+
+  public static interface ContextMenu.ContextMenuInfo {
+  }
+
+  public class ContextThemeWrapper extends android.content.ContextWrapper {
+    ctor public ContextThemeWrapper();
+    ctor public ContextThemeWrapper(android.content.Context, @StyleRes int);
+    ctor public ContextThemeWrapper(android.content.Context, android.content.res.Resources.Theme);
+    method public void applyOverrideConfiguration(android.content.res.Configuration);
+    method protected void onApplyThemeResource(android.content.res.Resources.Theme, int, boolean);
+    method public void setTheme(@Nullable android.content.res.Resources.Theme);
+  }
+
+  public final class Display {
+    method public long getAppVsyncOffsetNanos();
+    method public void getCurrentSizeRange(android.graphics.Point, android.graphics.Point);
+    method @Nullable public android.view.DisplayCutout getCutout();
+    method @Nullable public android.hardware.display.DeviceProductInfo getDeviceProductInfo();
+    method public int getDisplayId();
+    method public int getFlags();
+    method public android.view.Display.HdrCapabilities getHdrCapabilities();
+    method @Deprecated public int getHeight();
+    method @Deprecated public void getMetrics(android.util.DisplayMetrics);
+    method public android.view.Display.Mode getMode();
+    method public String getName();
+    method @Deprecated public int getOrientation();
+    method @Deprecated public int getPixelFormat();
+    method @Nullable public android.graphics.ColorSpace getPreferredWideGamutColorSpace();
+    method public long getPresentationDeadlineNanos();
+    method @Deprecated public void getRealMetrics(android.util.DisplayMetrics);
+    method @Deprecated public void getRealSize(android.graphics.Point);
+    method @Deprecated public void getRectSize(android.graphics.Rect);
+    method public float getRefreshRate();
+    method public int getRotation();
+    method @Nullable public android.view.RoundedCorner getRoundedCorner(int);
+    method @Deprecated public void getSize(android.graphics.Point);
+    method public int getState();
+    method public android.view.Display.Mode[] getSupportedModes();
+    method @Deprecated public float[] getSupportedRefreshRates();
+    method @Deprecated public int getWidth();
+    method public boolean isHdr();
+    method public boolean isMinimalPostProcessingSupported();
+    method public boolean isValid();
+    method public boolean isWideColorGamut();
+    field public static final int DEFAULT_DISPLAY = 0; // 0x0
+    field public static final int FLAG_PRESENTATION = 8; // 0x8
+    field public static final int FLAG_PRIVATE = 4; // 0x4
+    field public static final int FLAG_ROUND = 16; // 0x10
+    field public static final int FLAG_SECURE = 2; // 0x2
+    field public static final int FLAG_SUPPORTS_PROTECTED_BUFFERS = 1; // 0x1
+    field public static final int INVALID_DISPLAY = -1; // 0xffffffff
+    field public static final int STATE_DOZE = 3; // 0x3
+    field public static final int STATE_DOZE_SUSPEND = 4; // 0x4
+    field public static final int STATE_OFF = 1; // 0x1
+    field public static final int STATE_ON = 2; // 0x2
+    field public static final int STATE_ON_SUSPEND = 6; // 0x6
+    field public static final int STATE_UNKNOWN = 0; // 0x0
+    field public static final int STATE_VR = 5; // 0x5
+  }
+
+  public static final class Display.HdrCapabilities implements android.os.Parcelable {
+    method public int describeContents();
+    method public float getDesiredMaxAverageLuminance();
+    method public float getDesiredMaxLuminance();
+    method public float getDesiredMinLuminance();
+    method public int[] getSupportedHdrTypes();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.Display.HdrCapabilities> CREATOR;
+    field public static final int HDR_TYPE_DOLBY_VISION = 1; // 0x1
+    field public static final int HDR_TYPE_HDR10 = 2; // 0x2
+    field public static final int HDR_TYPE_HDR10_PLUS = 4; // 0x4
+    field public static final int HDR_TYPE_HLG = 3; // 0x3
+    field public static final float INVALID_LUMINANCE = -1.0f;
+  }
+
+  public static final class Display.Mode implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public float[] getAlternativeRefreshRates();
+    method public int getModeId();
+    method public int getPhysicalHeight();
+    method public int getPhysicalWidth();
+    method public float getRefreshRate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR;
+  }
+
+  public final class DisplayCutout {
+    ctor public DisplayCutout(@NonNull android.graphics.Insets, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect);
+    ctor public DisplayCutout(@NonNull android.graphics.Insets, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @NonNull android.graphics.Insets);
+    ctor @Deprecated public DisplayCutout(@Nullable android.graphics.Rect, @Nullable java.util.List<android.graphics.Rect>);
+    method @NonNull public android.graphics.Rect getBoundingRectBottom();
+    method @NonNull public android.graphics.Rect getBoundingRectLeft();
+    method @NonNull public android.graphics.Rect getBoundingRectRight();
+    method @NonNull public android.graphics.Rect getBoundingRectTop();
+    method @NonNull public java.util.List<android.graphics.Rect> getBoundingRects();
+    method @Nullable public android.graphics.Path getCutoutPath();
+    method public int getSafeInsetBottom();
+    method public int getSafeInsetLeft();
+    method public int getSafeInsetRight();
+    method public int getSafeInsetTop();
+    method @NonNull public android.graphics.Insets getWaterfallInsets();
+  }
+
+  public final class DragAndDropPermissions implements android.os.Parcelable {
+    method public int describeContents();
+    method public void release();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR;
+  }
+
+  public class DragEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAction();
+    method public android.content.ClipData getClipData();
+    method public android.content.ClipDescription getClipDescription();
+    method public Object getLocalState();
+    method public boolean getResult();
+    method public float getX();
+    method public float getY();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_DRAG_ENDED = 4; // 0x4
+    field public static final int ACTION_DRAG_ENTERED = 5; // 0x5
+    field public static final int ACTION_DRAG_EXITED = 6; // 0x6
+    field public static final int ACTION_DRAG_LOCATION = 2; // 0x2
+    field public static final int ACTION_DRAG_STARTED = 1; // 0x1
+    field public static final int ACTION_DROP = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.DragEvent> CREATOR;
+  }
+
+  public class FocusFinder {
+    method public android.view.View findNearestTouchable(android.view.ViewGroup, int, int, int, int[]);
+    method public final android.view.View findNextFocus(android.view.ViewGroup, android.view.View, int);
+    method public android.view.View findNextFocusFromRect(android.view.ViewGroup, android.graphics.Rect, int);
+    method public android.view.View findNextKeyboardNavigationCluster(@NonNull android.view.View, @Nullable android.view.View, int);
+    method public static android.view.FocusFinder getInstance();
+  }
+
+  public final class FrameMetrics {
+    ctor public FrameMetrics(android.view.FrameMetrics);
+    method public long getMetric(int);
+    field public static final int ANIMATION_DURATION = 2; // 0x2
+    field public static final int COMMAND_ISSUE_DURATION = 6; // 0x6
+    field public static final int DEADLINE = 13; // 0xd
+    field public static final int DRAW_DURATION = 4; // 0x4
+    field public static final int FIRST_DRAW_FRAME = 9; // 0x9
+    field public static final int GPU_DURATION = 12; // 0xc
+    field public static final int INPUT_HANDLING_DURATION = 1; // 0x1
+    field public static final int INTENDED_VSYNC_TIMESTAMP = 10; // 0xa
+    field public static final int LAYOUT_MEASURE_DURATION = 3; // 0x3
+    field public static final int SWAP_BUFFERS_DURATION = 7; // 0x7
+    field public static final int SYNC_DURATION = 5; // 0x5
+    field public static final int TOTAL_DURATION = 8; // 0x8
+    field public static final int UNKNOWN_DELAY_DURATION = 0; // 0x0
+    field public static final int VSYNC_TIMESTAMP = 11; // 0xb
+  }
+
+  public abstract class FrameStats {
+    ctor public FrameStats();
+    method public final long getEndTimeNano();
+    method public final int getFrameCount();
+    method public final long getFramePresentedTimeNano(int);
+    method public final long getRefreshPeriodNano();
+    method public final long getStartTimeNano();
+    field public static final long UNDEFINED_TIME_NANO = -1L; // 0xffffffffffffffffL
+  }
+
+  public class GestureDetector {
+    ctor @Deprecated public GestureDetector(android.view.GestureDetector.OnGestureListener, android.os.Handler);
+    ctor @Deprecated public GestureDetector(android.view.GestureDetector.OnGestureListener);
+    ctor public GestureDetector(@UiContext android.content.Context, android.view.GestureDetector.OnGestureListener);
+    ctor public GestureDetector(@UiContext android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler);
+    ctor public GestureDetector(@UiContext android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean);
+    method public boolean isLongpressEnabled();
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public void setContextClickListener(android.view.GestureDetector.OnContextClickListener);
+    method public void setIsLongpressEnabled(boolean);
+    method public void setOnDoubleTapListener(android.view.GestureDetector.OnDoubleTapListener);
+  }
+
+  public static interface GestureDetector.OnContextClickListener {
+    method public boolean onContextClick(android.view.MotionEvent);
+  }
+
+  public static interface GestureDetector.OnDoubleTapListener {
+    method public boolean onDoubleTap(android.view.MotionEvent);
+    method public boolean onDoubleTapEvent(android.view.MotionEvent);
+    method public boolean onSingleTapConfirmed(android.view.MotionEvent);
+  }
+
+  public static interface GestureDetector.OnGestureListener {
+    method public boolean onDown(android.view.MotionEvent);
+    method public boolean onFling(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method public void onLongPress(android.view.MotionEvent);
+    method public boolean onScroll(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method public void onShowPress(android.view.MotionEvent);
+    method public boolean onSingleTapUp(android.view.MotionEvent);
+  }
+
+  public static class GestureDetector.SimpleOnGestureListener implements android.view.GestureDetector.OnContextClickListener android.view.GestureDetector.OnDoubleTapListener android.view.GestureDetector.OnGestureListener {
+    ctor public GestureDetector.SimpleOnGestureListener();
+    method public boolean onContextClick(android.view.MotionEvent);
+    method public boolean onDoubleTap(android.view.MotionEvent);
+    method public boolean onDoubleTapEvent(android.view.MotionEvent);
+    method public boolean onDown(android.view.MotionEvent);
+    method public boolean onFling(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method public void onLongPress(android.view.MotionEvent);
+    method public boolean onScroll(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method public void onShowPress(android.view.MotionEvent);
+    method public boolean onSingleTapConfirmed(android.view.MotionEvent);
+    method public boolean onSingleTapUp(android.view.MotionEvent);
+  }
+
+  public class Gravity {
+    ctor public Gravity();
+    method public static void apply(int, int, int, android.graphics.Rect, android.graphics.Rect);
+    method public static void apply(int, int, int, android.graphics.Rect, android.graphics.Rect, int);
+    method public static void apply(int, int, int, android.graphics.Rect, int, int, android.graphics.Rect);
+    method public static void apply(int, int, int, android.graphics.Rect, int, int, android.graphics.Rect, int);
+    method public static void applyDisplay(int, android.graphics.Rect, android.graphics.Rect);
+    method public static void applyDisplay(int, android.graphics.Rect, android.graphics.Rect, int);
+    method public static int getAbsoluteGravity(int, int);
+    method public static boolean isHorizontal(int);
+    method public static boolean isVertical(int);
+    field public static final int AXIS_CLIP = 8; // 0x8
+    field public static final int AXIS_PULL_AFTER = 4; // 0x4
+    field public static final int AXIS_PULL_BEFORE = 2; // 0x2
+    field public static final int AXIS_SPECIFIED = 1; // 0x1
+    field public static final int AXIS_X_SHIFT = 0; // 0x0
+    field public static final int AXIS_Y_SHIFT = 4; // 0x4
+    field public static final int BOTTOM = 80; // 0x50
+    field public static final int CENTER = 17; // 0x11
+    field public static final int CENTER_HORIZONTAL = 1; // 0x1
+    field public static final int CENTER_VERTICAL = 16; // 0x10
+    field public static final int CLIP_HORIZONTAL = 8; // 0x8
+    field public static final int CLIP_VERTICAL = 128; // 0x80
+    field public static final int DISPLAY_CLIP_HORIZONTAL = 16777216; // 0x1000000
+    field public static final int DISPLAY_CLIP_VERTICAL = 268435456; // 0x10000000
+    field public static final int END = 8388613; // 0x800005
+    field public static final int FILL = 119; // 0x77
+    field public static final int FILL_HORIZONTAL = 7; // 0x7
+    field public static final int FILL_VERTICAL = 112; // 0x70
+    field public static final int HORIZONTAL_GRAVITY_MASK = 7; // 0x7
+    field public static final int LEFT = 3; // 0x3
+    field public static final int NO_GRAVITY = 0; // 0x0
+    field public static final int RELATIVE_HORIZONTAL_GRAVITY_MASK = 8388615; // 0x800007
+    field public static final int RELATIVE_LAYOUT_DIRECTION = 8388608; // 0x800000
+    field public static final int RIGHT = 5; // 0x5
+    field public static final int START = 8388611; // 0x800003
+    field public static final int TOP = 48; // 0x30
+    field public static final int VERTICAL_GRAVITY_MASK = 112; // 0x70
+  }
+
+  public class HapticFeedbackConstants {
+    field public static final int CLOCK_TICK = 4; // 0x4
+    field public static final int CONFIRM = 16; // 0x10
+    field public static final int CONTEXT_CLICK = 6; // 0x6
+    field public static final int FLAG_IGNORE_GLOBAL_SETTING = 2; // 0x2
+    field public static final int FLAG_IGNORE_VIEW_SETTING = 1; // 0x1
+    field public static final int GESTURE_END = 13; // 0xd
+    field public static final int GESTURE_START = 12; // 0xc
+    field public static final int KEYBOARD_PRESS = 3; // 0x3
+    field public static final int KEYBOARD_RELEASE = 7; // 0x7
+    field public static final int KEYBOARD_TAP = 3; // 0x3
+    field public static final int LONG_PRESS = 0; // 0x0
+    field public static final int REJECT = 17; // 0x11
+    field public static final int TEXT_HANDLE_MOVE = 9; // 0x9
+    field public static final int VIRTUAL_KEY = 1; // 0x1
+    field public static final int VIRTUAL_KEY_RELEASE = 8; // 0x8
+  }
+
+  public class InflateException extends java.lang.RuntimeException {
+    ctor public InflateException();
+    ctor public InflateException(String, Throwable);
+    ctor public InflateException(String);
+    ctor public InflateException(Throwable);
+  }
+
+  public final class InputDevice implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.hardware.BatteryState getBatteryState();
+    method public int getControllerNumber();
+    method public String getDescriptor();
+    method public static android.view.InputDevice getDevice(int);
+    method public static int[] getDeviceIds();
+    method public int getId();
+    method public android.view.KeyCharacterMap getKeyCharacterMap();
+    method public int getKeyboardType();
+    method @NonNull public android.hardware.lights.LightsManager getLightsManager();
+    method public android.view.InputDevice.MotionRange getMotionRange(int);
+    method public android.view.InputDevice.MotionRange getMotionRange(int, int);
+    method public java.util.List<android.view.InputDevice.MotionRange> getMotionRanges();
+    method public String getName();
+    method public int getProductId();
+    method @NonNull public android.hardware.SensorManager getSensorManager();
+    method public int getSources();
+    method public int getVendorId();
+    method @Deprecated public android.os.Vibrator getVibrator();
+    method @NonNull public android.os.VibratorManager getVibratorManager();
+    method public boolean[] hasKeys(int...);
+    method public boolean hasMicrophone();
+    method public boolean isEnabled();
+    method public boolean isExternal();
+    method public boolean isVirtual();
+    method public boolean supportsSource(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.InputDevice> CREATOR;
+    field public static final int KEYBOARD_TYPE_ALPHABETIC = 2; // 0x2
+    field public static final int KEYBOARD_TYPE_NONE = 0; // 0x0
+    field public static final int KEYBOARD_TYPE_NON_ALPHABETIC = 1; // 0x1
+    field @Deprecated public static final int MOTION_RANGE_ORIENTATION = 8; // 0x8
+    field @Deprecated public static final int MOTION_RANGE_PRESSURE = 2; // 0x2
+    field @Deprecated public static final int MOTION_RANGE_SIZE = 3; // 0x3
+    field @Deprecated public static final int MOTION_RANGE_TOOL_MAJOR = 6; // 0x6
+    field @Deprecated public static final int MOTION_RANGE_TOOL_MINOR = 7; // 0x7
+    field @Deprecated public static final int MOTION_RANGE_TOUCH_MAJOR = 4; // 0x4
+    field @Deprecated public static final int MOTION_RANGE_TOUCH_MINOR = 5; // 0x5
+    field @Deprecated public static final int MOTION_RANGE_X = 0; // 0x0
+    field @Deprecated public static final int MOTION_RANGE_Y = 1; // 0x1
+    field public static final int SOURCE_ANY = -256; // 0xffffff00
+    field public static final int SOURCE_BLUETOOTH_STYLUS = 49154; // 0xc002
+    field public static final int SOURCE_CLASS_BUTTON = 1; // 0x1
+    field public static final int SOURCE_CLASS_JOYSTICK = 16; // 0x10
+    field public static final int SOURCE_CLASS_MASK = 255; // 0xff
+    field public static final int SOURCE_CLASS_NONE = 0; // 0x0
+    field public static final int SOURCE_CLASS_POINTER = 2; // 0x2
+    field public static final int SOURCE_CLASS_POSITION = 8; // 0x8
+    field public static final int SOURCE_CLASS_TRACKBALL = 4; // 0x4
+    field public static final int SOURCE_DPAD = 513; // 0x201
+    field public static final int SOURCE_GAMEPAD = 1025; // 0x401
+    field public static final int SOURCE_HDMI = 33554433; // 0x2000001
+    field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010
+    field public static final int SOURCE_KEYBOARD = 257; // 0x101
+    field public static final int SOURCE_MOUSE = 8194; // 0x2002
+    field public static final int SOURCE_MOUSE_RELATIVE = 131076; // 0x20004
+    field public static final int SOURCE_ROTARY_ENCODER = 4194304; // 0x400000
+    field public static final int SOURCE_SENSOR = 67108864; // 0x4000000
+    field public static final int SOURCE_STYLUS = 16386; // 0x4002
+    field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008
+    field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002
+    field public static final int SOURCE_TOUCH_NAVIGATION = 2097152; // 0x200000
+    field public static final int SOURCE_TRACKBALL = 65540; // 0x10004
+    field public static final int SOURCE_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class InputDevice.MotionRange {
+    method public int getAxis();
+    method public float getFlat();
+    method public float getFuzz();
+    method public float getMax();
+    method public float getMin();
+    method public float getRange();
+    method public float getResolution();
+    method public int getSource();
+    method public boolean isFromSource(int);
+  }
+
+  public abstract class InputEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public final android.view.InputDevice getDevice();
+    method public abstract int getDeviceId();
+    method public abstract long getEventTime();
+    method public abstract int getSource();
+    method public boolean isFromSource(int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.InputEvent> CREATOR;
+  }
+
+  public final class InputQueue {
+  }
+
+  public static interface InputQueue.Callback {
+    method public void onInputQueueCreated(android.view.InputQueue);
+    method public void onInputQueueDestroyed(android.view.InputQueue);
+  }
+
+  public class KeyCharacterMap implements android.os.Parcelable {
+    method public int describeContents();
+    method public static boolean deviceHasKey(int);
+    method public static boolean[] deviceHasKeys(int[]);
+    method public int get(int, int);
+    method public static int getDeadChar(int, int);
+    method public char getDisplayLabel(int);
+    method public android.view.KeyEvent[] getEvents(char[]);
+    method @Deprecated public boolean getKeyData(int, android.view.KeyCharacterMap.KeyData);
+    method public int getKeyboardType();
+    method public char getMatch(int, char[]);
+    method public char getMatch(int, char[], int);
+    method public int getModifierBehavior();
+    method public char getNumber(int);
+    method public boolean isPrintingKey(int);
+    method public static android.view.KeyCharacterMap load(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ALPHA = 3; // 0x3
+    field @Deprecated public static final int BUILT_IN_KEYBOARD = 0; // 0x0
+    field public static final int COMBINING_ACCENT = -2147483648; // 0x80000000
+    field public static final int COMBINING_ACCENT_MASK = 2147483647; // 0x7fffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyCharacterMap> CREATOR;
+    field public static final int FULL = 4; // 0x4
+    field public static final char HEX_INPUT = 61184; // 0xef00 '\uef00'
+    field public static final int MODIFIER_BEHAVIOR_CHORDED = 0; // 0x0
+    field public static final int MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED = 1; // 0x1
+    field public static final int NUMERIC = 1; // 0x1
+    field public static final char PICKER_DIALOG_INPUT = 61185; // 0xef01 '\uef01'
+    field public static final int PREDICTIVE = 2; // 0x2
+    field public static final int SPECIAL_FUNCTION = 5; // 0x5
+    field public static final int VIRTUAL_KEYBOARD = -1; // 0xffffffff
+  }
+
+  @Deprecated public static class KeyCharacterMap.KeyData {
+    ctor @Deprecated public KeyCharacterMap.KeyData();
+    field @Deprecated public static final int META_LENGTH = 4; // 0x4
+    field @Deprecated public char displayLabel;
+    field @Deprecated public char[] meta;
+    field @Deprecated public char number;
+  }
+
+  public static class KeyCharacterMap.UnavailableException extends android.util.AndroidRuntimeException {
+    ctor public KeyCharacterMap.UnavailableException(String);
+  }
+
+  public class KeyEvent extends android.view.InputEvent implements android.os.Parcelable {
+    ctor public KeyEvent(int, int);
+    ctor public KeyEvent(long, long, int, int, int);
+    ctor public KeyEvent(long, long, int, int, int, int);
+    ctor public KeyEvent(long, long, int, int, int, int, int, int);
+    ctor public KeyEvent(long, long, int, int, int, int, int, int, int);
+    ctor public KeyEvent(long, long, int, int, int, int, int, int, int, int);
+    ctor public KeyEvent(long, String, int, int);
+    ctor public KeyEvent(android.view.KeyEvent);
+    ctor @Deprecated public KeyEvent(android.view.KeyEvent, long, int);
+    method public static android.view.KeyEvent changeAction(android.view.KeyEvent, int);
+    method public static android.view.KeyEvent changeFlags(android.view.KeyEvent, int);
+    method public static android.view.KeyEvent changeTimeRepeat(android.view.KeyEvent, long, int);
+    method public static android.view.KeyEvent changeTimeRepeat(android.view.KeyEvent, long, int, int);
+    method @Deprecated public final boolean dispatch(android.view.KeyEvent.Callback);
+    method public final boolean dispatch(android.view.KeyEvent.Callback, android.view.KeyEvent.DispatcherState, Object);
+    method public final int getAction();
+    method @Deprecated public final String getCharacters();
+    method public static int getDeadChar(int, int);
+    method public final int getDeviceId();
+    method public char getDisplayLabel();
+    method public final long getDownTime();
+    method public final long getEventTime();
+    method public final int getFlags();
+    method public final android.view.KeyCharacterMap getKeyCharacterMap();
+    method public final int getKeyCode();
+    method @Deprecated public boolean getKeyData(android.view.KeyCharacterMap.KeyData);
+    method public char getMatch(char[]);
+    method public char getMatch(char[], int);
+    method public static int getMaxKeyCode();
+    method public final int getMetaState();
+    method public static int getModifierMetaStateMask();
+    method public final int getModifiers();
+    method public char getNumber();
+    method public final int getRepeatCount();
+    method public final int getScanCode();
+    method public final int getSource();
+    method public int getUnicodeChar();
+    method public int getUnicodeChar(int);
+    method public final boolean hasModifiers(int);
+    method public final boolean hasNoModifiers();
+    method public final boolean isAltPressed();
+    method public final boolean isCanceled();
+    method public final boolean isCapsLockOn();
+    method public final boolean isCtrlPressed();
+    method public final boolean isFunctionPressed();
+    method public static final boolean isGamepadButton(int);
+    method public final boolean isLongPress();
+    method public static final boolean isMediaSessionKey(int);
+    method public final boolean isMetaPressed();
+    method public static boolean isModifierKey(int);
+    method public final boolean isNumLockOn();
+    method public boolean isPrintingKey();
+    method public final boolean isScrollLockOn();
+    method public final boolean isShiftPressed();
+    method public final boolean isSymPressed();
+    method public final boolean isSystem();
+    method public final boolean isTracking();
+    method public static int keyCodeFromString(@NonNull String);
+    method public static String keyCodeToString(int);
+    method public static boolean metaStateHasModifiers(int, int);
+    method public static boolean metaStateHasNoModifiers(int);
+    method public static int normalizeMetaState(int);
+    method public final void setSource(int);
+    method public final void startTracking();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_DOWN = 0; // 0x0
+    field @Deprecated public static final int ACTION_MULTIPLE = 2; // 0x2
+    field public static final int ACTION_UP = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyEvent> CREATOR;
+    field public static final int FLAG_CANCELED = 32; // 0x20
+    field public static final int FLAG_CANCELED_LONG_PRESS = 256; // 0x100
+    field public static final int FLAG_EDITOR_ACTION = 16; // 0x10
+    field public static final int FLAG_FALLBACK = 1024; // 0x400
+    field public static final int FLAG_FROM_SYSTEM = 8; // 0x8
+    field public static final int FLAG_KEEP_TOUCH_MODE = 4; // 0x4
+    field public static final int FLAG_LONG_PRESS = 128; // 0x80
+    field public static final int FLAG_SOFT_KEYBOARD = 2; // 0x2
+    field public static final int FLAG_TRACKING = 512; // 0x200
+    field public static final int FLAG_VIRTUAL_HARD_KEY = 64; // 0x40
+    field @Deprecated public static final int FLAG_WOKE_HERE = 1; // 0x1
+    field public static final int KEYCODE_0 = 7; // 0x7
+    field public static final int KEYCODE_1 = 8; // 0x8
+    field public static final int KEYCODE_11 = 227; // 0xe3
+    field public static final int KEYCODE_12 = 228; // 0xe4
+    field public static final int KEYCODE_2 = 9; // 0x9
+    field public static final int KEYCODE_3 = 10; // 0xa
+    field public static final int KEYCODE_3D_MODE = 206; // 0xce
+    field public static final int KEYCODE_4 = 11; // 0xb
+    field public static final int KEYCODE_5 = 12; // 0xc
+    field public static final int KEYCODE_6 = 13; // 0xd
+    field public static final int KEYCODE_7 = 14; // 0xe
+    field public static final int KEYCODE_8 = 15; // 0xf
+    field public static final int KEYCODE_9 = 16; // 0x10
+    field public static final int KEYCODE_A = 29; // 0x1d
+    field public static final int KEYCODE_ALL_APPS = 284; // 0x11c
+    field public static final int KEYCODE_ALT_LEFT = 57; // 0x39
+    field public static final int KEYCODE_ALT_RIGHT = 58; // 0x3a
+    field public static final int KEYCODE_APOSTROPHE = 75; // 0x4b
+    field public static final int KEYCODE_APP_SWITCH = 187; // 0xbb
+    field public static final int KEYCODE_ASSIST = 219; // 0xdb
+    field public static final int KEYCODE_AT = 77; // 0x4d
+    field public static final int KEYCODE_AVR_INPUT = 182; // 0xb6
+    field public static final int KEYCODE_AVR_POWER = 181; // 0xb5
+    field public static final int KEYCODE_B = 30; // 0x1e
+    field public static final int KEYCODE_BACK = 4; // 0x4
+    field public static final int KEYCODE_BACKSLASH = 73; // 0x49
+    field public static final int KEYCODE_BOOKMARK = 174; // 0xae
+    field public static final int KEYCODE_BREAK = 121; // 0x79
+    field public static final int KEYCODE_BRIGHTNESS_DOWN = 220; // 0xdc
+    field public static final int KEYCODE_BRIGHTNESS_UP = 221; // 0xdd
+    field public static final int KEYCODE_BUTTON_1 = 188; // 0xbc
+    field public static final int KEYCODE_BUTTON_10 = 197; // 0xc5
+    field public static final int KEYCODE_BUTTON_11 = 198; // 0xc6
+    field public static final int KEYCODE_BUTTON_12 = 199; // 0xc7
+    field public static final int KEYCODE_BUTTON_13 = 200; // 0xc8
+    field public static final int KEYCODE_BUTTON_14 = 201; // 0xc9
+    field public static final int KEYCODE_BUTTON_15 = 202; // 0xca
+    field public static final int KEYCODE_BUTTON_16 = 203; // 0xcb
+    field public static final int KEYCODE_BUTTON_2 = 189; // 0xbd
+    field public static final int KEYCODE_BUTTON_3 = 190; // 0xbe
+    field public static final int KEYCODE_BUTTON_4 = 191; // 0xbf
+    field public static final int KEYCODE_BUTTON_5 = 192; // 0xc0
+    field public static final int KEYCODE_BUTTON_6 = 193; // 0xc1
+    field public static final int KEYCODE_BUTTON_7 = 194; // 0xc2
+    field public static final int KEYCODE_BUTTON_8 = 195; // 0xc3
+    field public static final int KEYCODE_BUTTON_9 = 196; // 0xc4
+    field public static final int KEYCODE_BUTTON_A = 96; // 0x60
+    field public static final int KEYCODE_BUTTON_B = 97; // 0x61
+    field public static final int KEYCODE_BUTTON_C = 98; // 0x62
+    field public static final int KEYCODE_BUTTON_L1 = 102; // 0x66
+    field public static final int KEYCODE_BUTTON_L2 = 104; // 0x68
+    field public static final int KEYCODE_BUTTON_MODE = 110; // 0x6e
+    field public static final int KEYCODE_BUTTON_R1 = 103; // 0x67
+    field public static final int KEYCODE_BUTTON_R2 = 105; // 0x69
+    field public static final int KEYCODE_BUTTON_SELECT = 109; // 0x6d
+    field public static final int KEYCODE_BUTTON_START = 108; // 0x6c
+    field public static final int KEYCODE_BUTTON_THUMBL = 106; // 0x6a
+    field public static final int KEYCODE_BUTTON_THUMBR = 107; // 0x6b
+    field public static final int KEYCODE_BUTTON_X = 99; // 0x63
+    field public static final int KEYCODE_BUTTON_Y = 100; // 0x64
+    field public static final int KEYCODE_BUTTON_Z = 101; // 0x65
+    field public static final int KEYCODE_C = 31; // 0x1f
+    field public static final int KEYCODE_CALCULATOR = 210; // 0xd2
+    field public static final int KEYCODE_CALENDAR = 208; // 0xd0
+    field public static final int KEYCODE_CALL = 5; // 0x5
+    field public static final int KEYCODE_CAMERA = 27; // 0x1b
+    field public static final int KEYCODE_CAPS_LOCK = 115; // 0x73
+    field public static final int KEYCODE_CAPTIONS = 175; // 0xaf
+    field public static final int KEYCODE_CHANNEL_DOWN = 167; // 0xa7
+    field public static final int KEYCODE_CHANNEL_UP = 166; // 0xa6
+    field public static final int KEYCODE_CLEAR = 28; // 0x1c
+    field public static final int KEYCODE_COMMA = 55; // 0x37
+    field public static final int KEYCODE_CONTACTS = 207; // 0xcf
+    field public static final int KEYCODE_COPY = 278; // 0x116
+    field public static final int KEYCODE_CTRL_LEFT = 113; // 0x71
+    field public static final int KEYCODE_CTRL_RIGHT = 114; // 0x72
+    field public static final int KEYCODE_CUT = 277; // 0x115
+    field public static final int KEYCODE_D = 32; // 0x20
+    field public static final int KEYCODE_DEL = 67; // 0x43
+    field public static final int KEYCODE_DPAD_CENTER = 23; // 0x17
+    field public static final int KEYCODE_DPAD_DOWN = 20; // 0x14
+    field public static final int KEYCODE_DPAD_DOWN_LEFT = 269; // 0x10d
+    field public static final int KEYCODE_DPAD_DOWN_RIGHT = 271; // 0x10f
+    field public static final int KEYCODE_DPAD_LEFT = 21; // 0x15
+    field public static final int KEYCODE_DPAD_RIGHT = 22; // 0x16
+    field public static final int KEYCODE_DPAD_UP = 19; // 0x13
+    field public static final int KEYCODE_DPAD_UP_LEFT = 268; // 0x10c
+    field public static final int KEYCODE_DPAD_UP_RIGHT = 270; // 0x10e
+    field public static final int KEYCODE_DVR = 173; // 0xad
+    field public static final int KEYCODE_E = 33; // 0x21
+    field public static final int KEYCODE_EISU = 212; // 0xd4
+    field public static final int KEYCODE_ENDCALL = 6; // 0x6
+    field public static final int KEYCODE_ENTER = 66; // 0x42
+    field public static final int KEYCODE_ENVELOPE = 65; // 0x41
+    field public static final int KEYCODE_EQUALS = 70; // 0x46
+    field public static final int KEYCODE_ESCAPE = 111; // 0x6f
+    field public static final int KEYCODE_EXPLORER = 64; // 0x40
+    field public static final int KEYCODE_F = 34; // 0x22
+    field public static final int KEYCODE_F1 = 131; // 0x83
+    field public static final int KEYCODE_F10 = 140; // 0x8c
+    field public static final int KEYCODE_F11 = 141; // 0x8d
+    field public static final int KEYCODE_F12 = 142; // 0x8e
+    field public static final int KEYCODE_F2 = 132; // 0x84
+    field public static final int KEYCODE_F3 = 133; // 0x85
+    field public static final int KEYCODE_F4 = 134; // 0x86
+    field public static final int KEYCODE_F5 = 135; // 0x87
+    field public static final int KEYCODE_F6 = 136; // 0x88
+    field public static final int KEYCODE_F7 = 137; // 0x89
+    field public static final int KEYCODE_F8 = 138; // 0x8a
+    field public static final int KEYCODE_F9 = 139; // 0x8b
+    field public static final int KEYCODE_FOCUS = 80; // 0x50
+    field public static final int KEYCODE_FORWARD = 125; // 0x7d
+    field public static final int KEYCODE_FORWARD_DEL = 112; // 0x70
+    field public static final int KEYCODE_FUNCTION = 119; // 0x77
+    field public static final int KEYCODE_G = 35; // 0x23
+    field public static final int KEYCODE_GRAVE = 68; // 0x44
+    field public static final int KEYCODE_GUIDE = 172; // 0xac
+    field public static final int KEYCODE_H = 36; // 0x24
+    field public static final int KEYCODE_HEADSETHOOK = 79; // 0x4f
+    field public static final int KEYCODE_HELP = 259; // 0x103
+    field public static final int KEYCODE_HENKAN = 214; // 0xd6
+    field public static final int KEYCODE_HOME = 3; // 0x3
+    field public static final int KEYCODE_I = 37; // 0x25
+    field public static final int KEYCODE_INFO = 165; // 0xa5
+    field public static final int KEYCODE_INSERT = 124; // 0x7c
+    field public static final int KEYCODE_J = 38; // 0x26
+    field public static final int KEYCODE_K = 39; // 0x27
+    field public static final int KEYCODE_KANA = 218; // 0xda
+    field public static final int KEYCODE_KATAKANA_HIRAGANA = 215; // 0xd7
+    field public static final int KEYCODE_L = 40; // 0x28
+    field public static final int KEYCODE_LANGUAGE_SWITCH = 204; // 0xcc
+    field public static final int KEYCODE_LAST_CHANNEL = 229; // 0xe5
+    field public static final int KEYCODE_LEFT_BRACKET = 71; // 0x47
+    field public static final int KEYCODE_M = 41; // 0x29
+    field public static final int KEYCODE_MANNER_MODE = 205; // 0xcd
+    field public static final int KEYCODE_MEDIA_AUDIO_TRACK = 222; // 0xde
+    field public static final int KEYCODE_MEDIA_CLOSE = 128; // 0x80
+    field public static final int KEYCODE_MEDIA_EJECT = 129; // 0x81
+    field public static final int KEYCODE_MEDIA_FAST_FORWARD = 90; // 0x5a
+    field public static final int KEYCODE_MEDIA_NEXT = 87; // 0x57
+    field public static final int KEYCODE_MEDIA_PAUSE = 127; // 0x7f
+    field public static final int KEYCODE_MEDIA_PLAY = 126; // 0x7e
+    field public static final int KEYCODE_MEDIA_PLAY_PAUSE = 85; // 0x55
+    field public static final int KEYCODE_MEDIA_PREVIOUS = 88; // 0x58
+    field public static final int KEYCODE_MEDIA_RECORD = 130; // 0x82
+    field public static final int KEYCODE_MEDIA_REWIND = 89; // 0x59
+    field public static final int KEYCODE_MEDIA_SKIP_BACKWARD = 273; // 0x111
+    field public static final int KEYCODE_MEDIA_SKIP_FORWARD = 272; // 0x110
+    field public static final int KEYCODE_MEDIA_STEP_BACKWARD = 275; // 0x113
+    field public static final int KEYCODE_MEDIA_STEP_FORWARD = 274; // 0x112
+    field public static final int KEYCODE_MEDIA_STOP = 86; // 0x56
+    field public static final int KEYCODE_MEDIA_TOP_MENU = 226; // 0xe2
+    field public static final int KEYCODE_MENU = 82; // 0x52
+    field public static final int KEYCODE_META_LEFT = 117; // 0x75
+    field public static final int KEYCODE_META_RIGHT = 118; // 0x76
+    field public static final int KEYCODE_MINUS = 69; // 0x45
+    field public static final int KEYCODE_MOVE_END = 123; // 0x7b
+    field public static final int KEYCODE_MOVE_HOME = 122; // 0x7a
+    field public static final int KEYCODE_MUHENKAN = 213; // 0xd5
+    field public static final int KEYCODE_MUSIC = 209; // 0xd1
+    field public static final int KEYCODE_MUTE = 91; // 0x5b
+    field public static final int KEYCODE_N = 42; // 0x2a
+    field public static final int KEYCODE_NAVIGATE_IN = 262; // 0x106
+    field public static final int KEYCODE_NAVIGATE_NEXT = 261; // 0x105
+    field public static final int KEYCODE_NAVIGATE_OUT = 263; // 0x107
+    field public static final int KEYCODE_NAVIGATE_PREVIOUS = 260; // 0x104
+    field public static final int KEYCODE_NOTIFICATION = 83; // 0x53
+    field public static final int KEYCODE_NUM = 78; // 0x4e
+    field public static final int KEYCODE_NUMPAD_0 = 144; // 0x90
+    field public static final int KEYCODE_NUMPAD_1 = 145; // 0x91
+    field public static final int KEYCODE_NUMPAD_2 = 146; // 0x92
+    field public static final int KEYCODE_NUMPAD_3 = 147; // 0x93
+    field public static final int KEYCODE_NUMPAD_4 = 148; // 0x94
+    field public static final int KEYCODE_NUMPAD_5 = 149; // 0x95
+    field public static final int KEYCODE_NUMPAD_6 = 150; // 0x96
+    field public static final int KEYCODE_NUMPAD_7 = 151; // 0x97
+    field public static final int KEYCODE_NUMPAD_8 = 152; // 0x98
+    field public static final int KEYCODE_NUMPAD_9 = 153; // 0x99
+    field public static final int KEYCODE_NUMPAD_ADD = 157; // 0x9d
+    field public static final int KEYCODE_NUMPAD_COMMA = 159; // 0x9f
+    field public static final int KEYCODE_NUMPAD_DIVIDE = 154; // 0x9a
+    field public static final int KEYCODE_NUMPAD_DOT = 158; // 0x9e
+    field public static final int KEYCODE_NUMPAD_ENTER = 160; // 0xa0
+    field public static final int KEYCODE_NUMPAD_EQUALS = 161; // 0xa1
+    field public static final int KEYCODE_NUMPAD_LEFT_PAREN = 162; // 0xa2
+    field public static final int KEYCODE_NUMPAD_MULTIPLY = 155; // 0x9b
+    field public static final int KEYCODE_NUMPAD_RIGHT_PAREN = 163; // 0xa3
+    field public static final int KEYCODE_NUMPAD_SUBTRACT = 156; // 0x9c
+    field public static final int KEYCODE_NUM_LOCK = 143; // 0x8f
+    field public static final int KEYCODE_O = 43; // 0x2b
+    field public static final int KEYCODE_P = 44; // 0x2c
+    field public static final int KEYCODE_PAGE_DOWN = 93; // 0x5d
+    field public static final int KEYCODE_PAGE_UP = 92; // 0x5c
+    field public static final int KEYCODE_PAIRING = 225; // 0xe1
+    field public static final int KEYCODE_PASTE = 279; // 0x117
+    field public static final int KEYCODE_PERIOD = 56; // 0x38
+    field public static final int KEYCODE_PICTSYMBOLS = 94; // 0x5e
+    field public static final int KEYCODE_PLUS = 81; // 0x51
+    field public static final int KEYCODE_POUND = 18; // 0x12
+    field public static final int KEYCODE_POWER = 26; // 0x1a
+    field public static final int KEYCODE_PROFILE_SWITCH = 288; // 0x120
+    field public static final int KEYCODE_PROG_BLUE = 186; // 0xba
+    field public static final int KEYCODE_PROG_GREEN = 184; // 0xb8
+    field public static final int KEYCODE_PROG_RED = 183; // 0xb7
+    field public static final int KEYCODE_PROG_YELLOW = 185; // 0xb9
+    field public static final int KEYCODE_Q = 45; // 0x2d
+    field public static final int KEYCODE_R = 46; // 0x2e
+    field public static final int KEYCODE_REFRESH = 285; // 0x11d
+    field public static final int KEYCODE_RIGHT_BRACKET = 72; // 0x48
+    field public static final int KEYCODE_RO = 217; // 0xd9
+    field public static final int KEYCODE_S = 47; // 0x2f
+    field public static final int KEYCODE_SCROLL_LOCK = 116; // 0x74
+    field public static final int KEYCODE_SEARCH = 84; // 0x54
+    field public static final int KEYCODE_SEMICOLON = 74; // 0x4a
+    field public static final int KEYCODE_SETTINGS = 176; // 0xb0
+    field public static final int KEYCODE_SHIFT_LEFT = 59; // 0x3b
+    field public static final int KEYCODE_SHIFT_RIGHT = 60; // 0x3c
+    field public static final int KEYCODE_SLASH = 76; // 0x4c
+    field public static final int KEYCODE_SLEEP = 223; // 0xdf
+    field public static final int KEYCODE_SOFT_LEFT = 1; // 0x1
+    field public static final int KEYCODE_SOFT_RIGHT = 2; // 0x2
+    field public static final int KEYCODE_SOFT_SLEEP = 276; // 0x114
+    field public static final int KEYCODE_SPACE = 62; // 0x3e
+    field public static final int KEYCODE_STAR = 17; // 0x11
+    field public static final int KEYCODE_STB_INPUT = 180; // 0xb4
+    field public static final int KEYCODE_STB_POWER = 179; // 0xb3
+    field public static final int KEYCODE_STEM_1 = 265; // 0x109
+    field public static final int KEYCODE_STEM_2 = 266; // 0x10a
+    field public static final int KEYCODE_STEM_3 = 267; // 0x10b
+    field public static final int KEYCODE_STEM_PRIMARY = 264; // 0x108
+    field public static final int KEYCODE_SWITCH_CHARSET = 95; // 0x5f
+    field public static final int KEYCODE_SYM = 63; // 0x3f
+    field public static final int KEYCODE_SYSRQ = 120; // 0x78
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_DOWN = 281; // 0x119
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_LEFT = 282; // 0x11a
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_RIGHT = 283; // 0x11b
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_UP = 280; // 0x118
+    field public static final int KEYCODE_T = 48; // 0x30
+    field public static final int KEYCODE_TAB = 61; // 0x3d
+    field public static final int KEYCODE_THUMBS_DOWN = 287; // 0x11f
+    field public static final int KEYCODE_THUMBS_UP = 286; // 0x11e
+    field public static final int KEYCODE_TV = 170; // 0xaa
+    field public static final int KEYCODE_TV_ANTENNA_CABLE = 242; // 0xf2
+    field public static final int KEYCODE_TV_AUDIO_DESCRIPTION = 252; // 0xfc
+    field public static final int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN = 254; // 0xfe
+    field public static final int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP = 253; // 0xfd
+    field public static final int KEYCODE_TV_CONTENTS_MENU = 256; // 0x100
+    field public static final int KEYCODE_TV_DATA_SERVICE = 230; // 0xe6
+    field public static final int KEYCODE_TV_INPUT = 178; // 0xb2
+    field public static final int KEYCODE_TV_INPUT_COMPONENT_1 = 249; // 0xf9
+    field public static final int KEYCODE_TV_INPUT_COMPONENT_2 = 250; // 0xfa
+    field public static final int KEYCODE_TV_INPUT_COMPOSITE_1 = 247; // 0xf7
+    field public static final int KEYCODE_TV_INPUT_COMPOSITE_2 = 248; // 0xf8
+    field public static final int KEYCODE_TV_INPUT_HDMI_1 = 243; // 0xf3
+    field public static final int KEYCODE_TV_INPUT_HDMI_2 = 244; // 0xf4
+    field public static final int KEYCODE_TV_INPUT_HDMI_3 = 245; // 0xf5
+    field public static final int KEYCODE_TV_INPUT_HDMI_4 = 246; // 0xf6
+    field public static final int KEYCODE_TV_INPUT_VGA_1 = 251; // 0xfb
+    field public static final int KEYCODE_TV_MEDIA_CONTEXT_MENU = 257; // 0x101
+    field public static final int KEYCODE_TV_NETWORK = 241; // 0xf1
+    field public static final int KEYCODE_TV_NUMBER_ENTRY = 234; // 0xea
+    field public static final int KEYCODE_TV_POWER = 177; // 0xb1
+    field public static final int KEYCODE_TV_RADIO_SERVICE = 232; // 0xe8
+    field public static final int KEYCODE_TV_SATELLITE = 237; // 0xed
+    field public static final int KEYCODE_TV_SATELLITE_BS = 238; // 0xee
+    field public static final int KEYCODE_TV_SATELLITE_CS = 239; // 0xef
+    field public static final int KEYCODE_TV_SATELLITE_SERVICE = 240; // 0xf0
+    field public static final int KEYCODE_TV_TELETEXT = 233; // 0xe9
+    field public static final int KEYCODE_TV_TERRESTRIAL_ANALOG = 235; // 0xeb
+    field public static final int KEYCODE_TV_TERRESTRIAL_DIGITAL = 236; // 0xec
+    field public static final int KEYCODE_TV_TIMER_PROGRAMMING = 258; // 0x102
+    field public static final int KEYCODE_TV_ZOOM_MODE = 255; // 0xff
+    field public static final int KEYCODE_U = 49; // 0x31
+    field public static final int KEYCODE_UNKNOWN = 0; // 0x0
+    field public static final int KEYCODE_V = 50; // 0x32
+    field public static final int KEYCODE_VOICE_ASSIST = 231; // 0xe7
+    field public static final int KEYCODE_VOLUME_DOWN = 25; // 0x19
+    field public static final int KEYCODE_VOLUME_MUTE = 164; // 0xa4
+    field public static final int KEYCODE_VOLUME_UP = 24; // 0x18
+    field public static final int KEYCODE_W = 51; // 0x33
+    field public static final int KEYCODE_WAKEUP = 224; // 0xe0
+    field public static final int KEYCODE_WINDOW = 171; // 0xab
+    field public static final int KEYCODE_X = 52; // 0x34
+    field public static final int KEYCODE_Y = 53; // 0x35
+    field public static final int KEYCODE_YEN = 216; // 0xd8
+    field public static final int KEYCODE_Z = 54; // 0x36
+    field public static final int KEYCODE_ZENKAKU_HANKAKU = 211; // 0xd3
+    field public static final int KEYCODE_ZOOM_IN = 168; // 0xa8
+    field public static final int KEYCODE_ZOOM_OUT = 169; // 0xa9
+    field @Deprecated public static final int MAX_KEYCODE = 84; // 0x54
+    field public static final int META_ALT_LEFT_ON = 16; // 0x10
+    field public static final int META_ALT_MASK = 50; // 0x32
+    field public static final int META_ALT_ON = 2; // 0x2
+    field public static final int META_ALT_RIGHT_ON = 32; // 0x20
+    field public static final int META_CAPS_LOCK_ON = 1048576; // 0x100000
+    field public static final int META_CTRL_LEFT_ON = 8192; // 0x2000
+    field public static final int META_CTRL_MASK = 28672; // 0x7000
+    field public static final int META_CTRL_ON = 4096; // 0x1000
+    field public static final int META_CTRL_RIGHT_ON = 16384; // 0x4000
+    field public static final int META_FUNCTION_ON = 8; // 0x8
+    field public static final int META_META_LEFT_ON = 131072; // 0x20000
+    field public static final int META_META_MASK = 458752; // 0x70000
+    field public static final int META_META_ON = 65536; // 0x10000
+    field public static final int META_META_RIGHT_ON = 262144; // 0x40000
+    field public static final int META_NUM_LOCK_ON = 2097152; // 0x200000
+    field public static final int META_SCROLL_LOCK_ON = 4194304; // 0x400000
+    field public static final int META_SHIFT_LEFT_ON = 64; // 0x40
+    field public static final int META_SHIFT_MASK = 193; // 0xc1
+    field public static final int META_SHIFT_ON = 1; // 0x1
+    field public static final int META_SHIFT_RIGHT_ON = 128; // 0x80
+    field public static final int META_SYM_ON = 4; // 0x4
+  }
+
+  public static interface KeyEvent.Callback {
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+  }
+
+  public static class KeyEvent.DispatcherState {
+    ctor public KeyEvent.DispatcherState();
+    method public void handleUpEvent(android.view.KeyEvent);
+    method public boolean isTracking(android.view.KeyEvent);
+    method public void performedLongPress(android.view.KeyEvent);
+    method public void reset();
+    method public void reset(Object);
+    method public void startTracking(android.view.KeyEvent, Object);
+  }
+
+  public final class KeyboardShortcutGroup implements android.os.Parcelable {
+    ctor public KeyboardShortcutGroup(@Nullable CharSequence, @NonNull java.util.List<android.view.KeyboardShortcutInfo>);
+    ctor public KeyboardShortcutGroup(@Nullable CharSequence);
+    method public void addItem(android.view.KeyboardShortcutInfo);
+    method public int describeContents();
+    method public java.util.List<android.view.KeyboardShortcutInfo> getItems();
+    method public CharSequence getLabel();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyboardShortcutGroup> CREATOR;
+  }
+
+  public final class KeyboardShortcutInfo implements android.os.Parcelable {
+    ctor public KeyboardShortcutInfo(CharSequence, int, int);
+    ctor public KeyboardShortcutInfo(CharSequence, char, int);
+    method public int describeContents();
+    method public char getBaseCharacter();
+    method public int getKeycode();
+    method @Nullable public CharSequence getLabel();
+    method public int getModifiers();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyboardShortcutInfo> CREATOR;
+  }
+
+  public abstract class LayoutInflater {
+    ctor protected LayoutInflater(android.content.Context);
+    ctor protected LayoutInflater(android.view.LayoutInflater, android.content.Context);
+    method public abstract android.view.LayoutInflater cloneInContext(android.content.Context);
+    method public final android.view.View createView(String, String, android.util.AttributeSet) throws java.lang.ClassNotFoundException, android.view.InflateException;
+    method @Nullable public final android.view.View createView(@NonNull android.content.Context, @NonNull String, @Nullable String, @Nullable android.util.AttributeSet) throws java.lang.ClassNotFoundException, android.view.InflateException;
+    method public static android.view.LayoutInflater from(@UiContext android.content.Context);
+    method public android.content.Context getContext();
+    method public final android.view.LayoutInflater.Factory getFactory();
+    method public final android.view.LayoutInflater.Factory2 getFactory2();
+    method public android.view.LayoutInflater.Filter getFilter();
+    method public android.view.View inflate(@LayoutRes int, @Nullable android.view.ViewGroup);
+    method public android.view.View inflate(org.xmlpull.v1.XmlPullParser, @Nullable android.view.ViewGroup);
+    method public android.view.View inflate(@LayoutRes int, @Nullable android.view.ViewGroup, boolean);
+    method public android.view.View inflate(org.xmlpull.v1.XmlPullParser, @Nullable android.view.ViewGroup, boolean);
+    method protected android.view.View onCreateView(String, android.util.AttributeSet) throws java.lang.ClassNotFoundException;
+    method protected android.view.View onCreateView(android.view.View, String, android.util.AttributeSet) throws java.lang.ClassNotFoundException;
+    method @Nullable public android.view.View onCreateView(@NonNull android.content.Context, @Nullable android.view.View, @NonNull String, @Nullable android.util.AttributeSet) throws java.lang.ClassNotFoundException;
+    method public void setFactory(android.view.LayoutInflater.Factory);
+    method public void setFactory2(android.view.LayoutInflater.Factory2);
+    method public void setFilter(android.view.LayoutInflater.Filter);
+  }
+
+  public static interface LayoutInflater.Factory {
+    method @Nullable public android.view.View onCreateView(@NonNull String, @NonNull android.content.Context, @NonNull android.util.AttributeSet);
+  }
+
+  public static interface LayoutInflater.Factory2 extends android.view.LayoutInflater.Factory {
+    method @Nullable public android.view.View onCreateView(@Nullable android.view.View, @NonNull String, @NonNull android.content.Context, @NonNull android.util.AttributeSet);
+  }
+
+  public static interface LayoutInflater.Filter {
+    method public boolean onLoadClass(Class);
+  }
+
+  public interface Menu {
+    method public android.view.MenuItem add(CharSequence);
+    method public android.view.MenuItem add(@StringRes int);
+    method public android.view.MenuItem add(int, int, int, CharSequence);
+    method public android.view.MenuItem add(int, int, int, @StringRes int);
+    method public int addIntentOptions(int, int, int, android.content.ComponentName, android.content.Intent[], android.content.Intent, int, android.view.MenuItem[]);
+    method public android.view.SubMenu addSubMenu(CharSequence);
+    method public android.view.SubMenu addSubMenu(@StringRes int);
+    method public android.view.SubMenu addSubMenu(int, int, int, CharSequence);
+    method public android.view.SubMenu addSubMenu(int, int, int, @StringRes int);
+    method public void clear();
+    method public void close();
+    method public android.view.MenuItem findItem(int);
+    method public android.view.MenuItem getItem(int);
+    method public boolean hasVisibleItems();
+    method public boolean isShortcutKey(int, android.view.KeyEvent);
+    method public boolean performIdentifierAction(int, int);
+    method public boolean performShortcut(int, android.view.KeyEvent, int);
+    method public void removeGroup(int);
+    method public void removeItem(int);
+    method public void setGroupCheckable(int, boolean, boolean);
+    method public default void setGroupDividerEnabled(boolean);
+    method public void setGroupEnabled(int, boolean);
+    method public void setGroupVisible(int, boolean);
+    method public void setQwertyMode(boolean);
+    method public int size();
+    field public static final int CATEGORY_ALTERNATIVE = 262144; // 0x40000
+    field public static final int CATEGORY_CONTAINER = 65536; // 0x10000
+    field public static final int CATEGORY_SECONDARY = 196608; // 0x30000
+    field public static final int CATEGORY_SYSTEM = 131072; // 0x20000
+    field public static final int FIRST = 1; // 0x1
+    field public static final int FLAG_ALWAYS_PERFORM_CLOSE = 2; // 0x2
+    field public static final int FLAG_APPEND_TO_GROUP = 1; // 0x1
+    field public static final int FLAG_PERFORM_NO_CLOSE = 1; // 0x1
+    field public static final int NONE = 0; // 0x0
+    field public static final int SUPPORTED_MODIFIERS_MASK = 69647; // 0x1100f
+  }
+
+  public class MenuInflater {
+    ctor public MenuInflater(android.content.Context);
+    method public void inflate(@MenuRes int, android.view.Menu);
+  }
+
+  public interface MenuItem {
+    method public boolean collapseActionView();
+    method public boolean expandActionView();
+    method public android.view.ActionProvider getActionProvider();
+    method public android.view.View getActionView();
+    method public default int getAlphabeticModifiers();
+    method public char getAlphabeticShortcut();
+    method public default CharSequence getContentDescription();
+    method public int getGroupId();
+    method public android.graphics.drawable.Drawable getIcon();
+    method @Nullable public default android.graphics.BlendMode getIconTintBlendMode();
+    method @Nullable public default android.content.res.ColorStateList getIconTintList();
+    method @Nullable public default android.graphics.PorterDuff.Mode getIconTintMode();
+    method public android.content.Intent getIntent();
+    method public int getItemId();
+    method public android.view.ContextMenu.ContextMenuInfo getMenuInfo();
+    method public default int getNumericModifiers();
+    method public char getNumericShortcut();
+    method public int getOrder();
+    method public android.view.SubMenu getSubMenu();
+    method public CharSequence getTitle();
+    method public CharSequence getTitleCondensed();
+    method public default CharSequence getTooltipText();
+    method public boolean hasSubMenu();
+    method public boolean isActionViewExpanded();
+    method public boolean isCheckable();
+    method public boolean isChecked();
+    method public boolean isEnabled();
+    method public boolean isVisible();
+    method public android.view.MenuItem setActionProvider(android.view.ActionProvider);
+    method public android.view.MenuItem setActionView(android.view.View);
+    method public android.view.MenuItem setActionView(@LayoutRes int);
+    method public android.view.MenuItem setAlphabeticShortcut(char);
+    method public default android.view.MenuItem setAlphabeticShortcut(char, int);
+    method public android.view.MenuItem setCheckable(boolean);
+    method public android.view.MenuItem setChecked(boolean);
+    method public default android.view.MenuItem setContentDescription(CharSequence);
+    method public android.view.MenuItem setEnabled(boolean);
+    method public android.view.MenuItem setIcon(android.graphics.drawable.Drawable);
+    method public android.view.MenuItem setIcon(@DrawableRes int);
+    method @NonNull public default android.view.MenuItem setIconTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public default android.view.MenuItem setIconTintList(@Nullable android.content.res.ColorStateList);
+    method @NonNull public default android.view.MenuItem setIconTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public android.view.MenuItem setIntent(android.content.Intent);
+    method public android.view.MenuItem setNumericShortcut(char);
+    method public default android.view.MenuItem setNumericShortcut(char, int);
+    method public android.view.MenuItem setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener);
+    method public android.view.MenuItem setOnMenuItemClickListener(android.view.MenuItem.OnMenuItemClickListener);
+    method public android.view.MenuItem setShortcut(char, char);
+    method public default android.view.MenuItem setShortcut(char, char, int, int);
+    method public void setShowAsAction(int);
+    method public android.view.MenuItem setShowAsActionFlags(int);
+    method public android.view.MenuItem setTitle(CharSequence);
+    method public android.view.MenuItem setTitle(@StringRes int);
+    method public android.view.MenuItem setTitleCondensed(CharSequence);
+    method public default android.view.MenuItem setTooltipText(CharSequence);
+    method public android.view.MenuItem setVisible(boolean);
+    field public static final int SHOW_AS_ACTION_ALWAYS = 2; // 0x2
+    field public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8; // 0x8
+    field public static final int SHOW_AS_ACTION_IF_ROOM = 1; // 0x1
+    field public static final int SHOW_AS_ACTION_NEVER = 0; // 0x0
+    field public static final int SHOW_AS_ACTION_WITH_TEXT = 4; // 0x4
+  }
+
+  public static interface MenuItem.OnActionExpandListener {
+    method public boolean onMenuItemActionCollapse(android.view.MenuItem);
+    method public boolean onMenuItemActionExpand(android.view.MenuItem);
+  }
+
+  public static interface MenuItem.OnMenuItemClickListener {
+    method public boolean onMenuItemClick(android.view.MenuItem);
+  }
+
+  public final class MotionEvent extends android.view.InputEvent implements android.os.Parcelable {
+    method public static String actionToString(int);
+    method public void addBatch(long, float, float, float, float, int);
+    method public void addBatch(long, android.view.MotionEvent.PointerCoords[], int);
+    method public static int axisFromString(String);
+    method public static String axisToString(int);
+    method public int findPointerIndex(int);
+    method public int getAction();
+    method public int getActionButton();
+    method public int getActionIndex();
+    method public int getActionMasked();
+    method public float getAxisValue(int);
+    method public float getAxisValue(int, int);
+    method public int getButtonState();
+    method public int getClassification();
+    method public int getDeviceId();
+    method public long getDownTime();
+    method public int getEdgeFlags();
+    method public long getEventTime();
+    method public int getFlags();
+    method public float getHistoricalAxisValue(int, int);
+    method public float getHistoricalAxisValue(int, int, int);
+    method public long getHistoricalEventTime(int);
+    method public float getHistoricalOrientation(int);
+    method public float getHistoricalOrientation(int, int);
+    method public void getHistoricalPointerCoords(int, int, android.view.MotionEvent.PointerCoords);
+    method public float getHistoricalPressure(int);
+    method public float getHistoricalPressure(int, int);
+    method public float getHistoricalSize(int);
+    method public float getHistoricalSize(int, int);
+    method public float getHistoricalToolMajor(int);
+    method public float getHistoricalToolMajor(int, int);
+    method public float getHistoricalToolMinor(int);
+    method public float getHistoricalToolMinor(int, int);
+    method public float getHistoricalTouchMajor(int);
+    method public float getHistoricalTouchMajor(int, int);
+    method public float getHistoricalTouchMinor(int);
+    method public float getHistoricalTouchMinor(int, int);
+    method public float getHistoricalX(int);
+    method public float getHistoricalX(int, int);
+    method public float getHistoricalY(int);
+    method public float getHistoricalY(int, int);
+    method public int getHistorySize();
+    method public int getMetaState();
+    method public float getOrientation();
+    method public float getOrientation(int);
+    method public void getPointerCoords(int, android.view.MotionEvent.PointerCoords);
+    method public int getPointerCount();
+    method public int getPointerId(int);
+    method public void getPointerProperties(int, android.view.MotionEvent.PointerProperties);
+    method public float getPressure();
+    method public float getPressure(int);
+    method public float getRawX();
+    method public float getRawX(int);
+    method public float getRawY();
+    method public float getRawY(int);
+    method public float getSize();
+    method public float getSize(int);
+    method public int getSource();
+    method public float getToolMajor();
+    method public float getToolMajor(int);
+    method public float getToolMinor();
+    method public float getToolMinor(int);
+    method public int getToolType(int);
+    method public float getTouchMajor();
+    method public float getTouchMajor(int);
+    method public float getTouchMinor();
+    method public float getTouchMinor(int);
+    method public float getX();
+    method public float getX(int);
+    method public float getXPrecision();
+    method public float getY();
+    method public float getY(int);
+    method public float getYPrecision();
+    method public boolean isButtonPressed(int);
+    method public static android.view.MotionEvent obtain(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int);
+    method @Deprecated public static android.view.MotionEvent obtain(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int);
+    method public static android.view.MotionEvent obtain(long, long, int, float, float, float, float, int, float, float, int, int);
+    method @Deprecated public static android.view.MotionEvent obtain(long, long, int, int, float, float, float, float, int, float, float, int, int);
+    method public static android.view.MotionEvent obtain(long, long, int, float, float, int);
+    method public static android.view.MotionEvent obtain(android.view.MotionEvent);
+    method public static android.view.MotionEvent obtainNoHistory(android.view.MotionEvent);
+    method public void offsetLocation(float, float);
+    method public void recycle();
+    method public void setAction(int);
+    method public void setEdgeFlags(int);
+    method public void setLocation(float, float);
+    method public void setSource(int);
+    method public void transform(android.graphics.Matrix);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_BUTTON_PRESS = 11; // 0xb
+    field public static final int ACTION_BUTTON_RELEASE = 12; // 0xc
+    field public static final int ACTION_CANCEL = 3; // 0x3
+    field public static final int ACTION_DOWN = 0; // 0x0
+    field public static final int ACTION_HOVER_ENTER = 9; // 0x9
+    field public static final int ACTION_HOVER_EXIT = 10; // 0xa
+    field public static final int ACTION_HOVER_MOVE = 7; // 0x7
+    field public static final int ACTION_MASK = 255; // 0xff
+    field public static final int ACTION_MOVE = 2; // 0x2
+    field public static final int ACTION_OUTSIDE = 4; // 0x4
+    field @Deprecated public static final int ACTION_POINTER_1_DOWN = 5; // 0x5
+    field @Deprecated public static final int ACTION_POINTER_1_UP = 6; // 0x6
+    field @Deprecated public static final int ACTION_POINTER_2_DOWN = 261; // 0x105
+    field @Deprecated public static final int ACTION_POINTER_2_UP = 262; // 0x106
+    field @Deprecated public static final int ACTION_POINTER_3_DOWN = 517; // 0x205
+    field @Deprecated public static final int ACTION_POINTER_3_UP = 518; // 0x206
+    field public static final int ACTION_POINTER_DOWN = 5; // 0x5
+    field @Deprecated public static final int ACTION_POINTER_ID_MASK = 65280; // 0xff00
+    field @Deprecated public static final int ACTION_POINTER_ID_SHIFT = 8; // 0x8
+    field public static final int ACTION_POINTER_INDEX_MASK = 65280; // 0xff00
+    field public static final int ACTION_POINTER_INDEX_SHIFT = 8; // 0x8
+    field public static final int ACTION_POINTER_UP = 6; // 0x6
+    field public static final int ACTION_SCROLL = 8; // 0x8
+    field public static final int ACTION_UP = 1; // 0x1
+    field public static final int AXIS_BRAKE = 23; // 0x17
+    field public static final int AXIS_DISTANCE = 24; // 0x18
+    field public static final int AXIS_GAS = 22; // 0x16
+    field public static final int AXIS_GENERIC_1 = 32; // 0x20
+    field public static final int AXIS_GENERIC_10 = 41; // 0x29
+    field public static final int AXIS_GENERIC_11 = 42; // 0x2a
+    field public static final int AXIS_GENERIC_12 = 43; // 0x2b
+    field public static final int AXIS_GENERIC_13 = 44; // 0x2c
+    field public static final int AXIS_GENERIC_14 = 45; // 0x2d
+    field public static final int AXIS_GENERIC_15 = 46; // 0x2e
+    field public static final int AXIS_GENERIC_16 = 47; // 0x2f
+    field public static final int AXIS_GENERIC_2 = 33; // 0x21
+    field public static final int AXIS_GENERIC_3 = 34; // 0x22
+    field public static final int AXIS_GENERIC_4 = 35; // 0x23
+    field public static final int AXIS_GENERIC_5 = 36; // 0x24
+    field public static final int AXIS_GENERIC_6 = 37; // 0x25
+    field public static final int AXIS_GENERIC_7 = 38; // 0x26
+    field public static final int AXIS_GENERIC_8 = 39; // 0x27
+    field public static final int AXIS_GENERIC_9 = 40; // 0x28
+    field public static final int AXIS_HAT_X = 15; // 0xf
+    field public static final int AXIS_HAT_Y = 16; // 0x10
+    field public static final int AXIS_HSCROLL = 10; // 0xa
+    field public static final int AXIS_LTRIGGER = 17; // 0x11
+    field public static final int AXIS_ORIENTATION = 8; // 0x8
+    field public static final int AXIS_PRESSURE = 2; // 0x2
+    field public static final int AXIS_RELATIVE_X = 27; // 0x1b
+    field public static final int AXIS_RELATIVE_Y = 28; // 0x1c
+    field public static final int AXIS_RTRIGGER = 18; // 0x12
+    field public static final int AXIS_RUDDER = 20; // 0x14
+    field public static final int AXIS_RX = 12; // 0xc
+    field public static final int AXIS_RY = 13; // 0xd
+    field public static final int AXIS_RZ = 14; // 0xe
+    field public static final int AXIS_SCROLL = 26; // 0x1a
+    field public static final int AXIS_SIZE = 3; // 0x3
+    field public static final int AXIS_THROTTLE = 19; // 0x13
+    field public static final int AXIS_TILT = 25; // 0x19
+    field public static final int AXIS_TOOL_MAJOR = 6; // 0x6
+    field public static final int AXIS_TOOL_MINOR = 7; // 0x7
+    field public static final int AXIS_TOUCH_MAJOR = 4; // 0x4
+    field public static final int AXIS_TOUCH_MINOR = 5; // 0x5
+    field public static final int AXIS_VSCROLL = 9; // 0x9
+    field public static final int AXIS_WHEEL = 21; // 0x15
+    field public static final int AXIS_X = 0; // 0x0
+    field public static final int AXIS_Y = 1; // 0x1
+    field public static final int AXIS_Z = 11; // 0xb
+    field public static final int BUTTON_BACK = 8; // 0x8
+    field public static final int BUTTON_FORWARD = 16; // 0x10
+    field public static final int BUTTON_PRIMARY = 1; // 0x1
+    field public static final int BUTTON_SECONDARY = 2; // 0x2
+    field public static final int BUTTON_STYLUS_PRIMARY = 32; // 0x20
+    field public static final int BUTTON_STYLUS_SECONDARY = 64; // 0x40
+    field public static final int BUTTON_TERTIARY = 4; // 0x4
+    field public static final int CLASSIFICATION_AMBIGUOUS_GESTURE = 1; // 0x1
+    field public static final int CLASSIFICATION_DEEP_PRESS = 2; // 0x2
+    field public static final int CLASSIFICATION_NONE = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.MotionEvent> CREATOR;
+    field public static final int EDGE_BOTTOM = 2; // 0x2
+    field public static final int EDGE_LEFT = 4; // 0x4
+    field public static final int EDGE_RIGHT = 8; // 0x8
+    field public static final int EDGE_TOP = 1; // 0x1
+    field public static final int FLAG_WINDOW_IS_OBSCURED = 1; // 0x1
+    field public static final int FLAG_WINDOW_IS_PARTIALLY_OBSCURED = 2; // 0x2
+    field public static final int INVALID_POINTER_ID = -1; // 0xffffffff
+    field public static final int TOOL_TYPE_ERASER = 4; // 0x4
+    field public static final int TOOL_TYPE_FINGER = 1; // 0x1
+    field public static final int TOOL_TYPE_MOUSE = 3; // 0x3
+    field public static final int TOOL_TYPE_STYLUS = 2; // 0x2
+    field public static final int TOOL_TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class MotionEvent.PointerCoords {
+    ctor public MotionEvent.PointerCoords();
+    ctor public MotionEvent.PointerCoords(android.view.MotionEvent.PointerCoords);
+    method public void clear();
+    method public void copyFrom(android.view.MotionEvent.PointerCoords);
+    method public float getAxisValue(int);
+    method public void setAxisValue(int, float);
+    field public float orientation;
+    field public float pressure;
+    field public float size;
+    field public float toolMajor;
+    field public float toolMinor;
+    field public float touchMajor;
+    field public float touchMinor;
+    field public float x;
+    field public float y;
+  }
+
+  public static final class MotionEvent.PointerProperties {
+    ctor public MotionEvent.PointerProperties();
+    ctor public MotionEvent.PointerProperties(android.view.MotionEvent.PointerProperties);
+    method public void clear();
+    method public void copyFrom(android.view.MotionEvent.PointerProperties);
+    field public int id;
+    field public int toolType;
+  }
+
+  public interface OnReceiveContentListener {
+    method @Nullable public android.view.ContentInfo onReceiveContent(@NonNull android.view.View, @NonNull android.view.ContentInfo);
+  }
+
+  public abstract class OrientationEventListener {
+    ctor public OrientationEventListener(android.content.Context);
+    ctor public OrientationEventListener(android.content.Context, int);
+    method public boolean canDetectOrientation();
+    method public void disable();
+    method public void enable();
+    method public abstract void onOrientationChanged(int);
+    field public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
+  }
+
+  @Deprecated public abstract class OrientationListener implements android.hardware.SensorListener {
+    ctor @Deprecated public OrientationListener(android.content.Context);
+    ctor @Deprecated public OrientationListener(android.content.Context, int);
+    method @Deprecated public void disable();
+    method @Deprecated public void enable();
+    method @Deprecated public void onAccuracyChanged(int, int);
+    method @Deprecated public abstract void onOrientationChanged(int);
+    method @Deprecated public void onSensorChanged(int, float[]);
+    field @Deprecated public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class PixelCopy {
+    method public static void request(@NonNull android.view.SurfaceView, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    method public static void request(@NonNull android.view.SurfaceView, @Nullable android.graphics.Rect, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    method public static void request(@NonNull android.view.Surface, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    method public static void request(@NonNull android.view.Surface, @Nullable android.graphics.Rect, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    method public static void request(@NonNull android.view.Window, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    method public static void request(@NonNull android.view.Window, @Nullable android.graphics.Rect, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    field public static final int ERROR_DESTINATION_INVALID = 5; // 0x5
+    field public static final int ERROR_SOURCE_INVALID = 4; // 0x4
+    field public static final int ERROR_SOURCE_NO_DATA = 3; // 0x3
+    field public static final int ERROR_TIMEOUT = 2; // 0x2
+    field public static final int ERROR_UNKNOWN = 1; // 0x1
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public static interface PixelCopy.OnPixelCopyFinishedListener {
+    method public void onPixelCopyFinished(int);
+  }
+
+  public final class PointerIcon implements android.os.Parcelable {
+    method public static android.view.PointerIcon create(@NonNull android.graphics.Bitmap, float, float);
+    method public int describeContents();
+    method public static android.view.PointerIcon getSystemIcon(@NonNull android.content.Context, int);
+    method public static android.view.PointerIcon load(@NonNull android.content.res.Resources, @XmlRes int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.PointerIcon> CREATOR;
+    field public static final int TYPE_ALIAS = 1010; // 0x3f2
+    field public static final int TYPE_ALL_SCROLL = 1013; // 0x3f5
+    field public static final int TYPE_ARROW = 1000; // 0x3e8
+    field public static final int TYPE_CELL = 1006; // 0x3ee
+    field public static final int TYPE_CONTEXT_MENU = 1001; // 0x3e9
+    field public static final int TYPE_COPY = 1011; // 0x3f3
+    field public static final int TYPE_CROSSHAIR = 1007; // 0x3ef
+    field public static final int TYPE_DEFAULT = 1000; // 0x3e8
+    field public static final int TYPE_GRAB = 1020; // 0x3fc
+    field public static final int TYPE_GRABBING = 1021; // 0x3fd
+    field public static final int TYPE_HAND = 1002; // 0x3ea
+    field public static final int TYPE_HELP = 1003; // 0x3eb
+    field public static final int TYPE_HORIZONTAL_DOUBLE_ARROW = 1014; // 0x3f6
+    field public static final int TYPE_NO_DROP = 1012; // 0x3f4
+    field public static final int TYPE_NULL = 0; // 0x0
+    field public static final int TYPE_TEXT = 1008; // 0x3f0
+    field public static final int TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW = 1017; // 0x3f9
+    field public static final int TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW = 1016; // 0x3f8
+    field public static final int TYPE_VERTICAL_DOUBLE_ARROW = 1015; // 0x3f7
+    field public static final int TYPE_VERTICAL_TEXT = 1009; // 0x3f1
+    field public static final int TYPE_WAIT = 1004; // 0x3ec
+    field public static final int TYPE_ZOOM_IN = 1018; // 0x3fa
+    field public static final int TYPE_ZOOM_OUT = 1019; // 0x3fb
+  }
+
+  public final class RoundedCorner implements android.os.Parcelable {
+    ctor public RoundedCorner(int, int, int, int);
+    method public int describeContents();
+    method @NonNull public android.graphics.Point getCenter();
+    method public int getPosition();
+    method public int getRadius();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.RoundedCorner> CREATOR;
+    field public static final int POSITION_BOTTOM_LEFT = 3; // 0x3
+    field public static final int POSITION_BOTTOM_RIGHT = 2; // 0x2
+    field public static final int POSITION_TOP_LEFT = 0; // 0x0
+    field public static final int POSITION_TOP_RIGHT = 1; // 0x1
+  }
+
+  public class ScaleGestureDetector {
+    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener);
+    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener, android.os.Handler);
+    method public float getCurrentSpan();
+    method public float getCurrentSpanX();
+    method public float getCurrentSpanY();
+    method public long getEventTime();
+    method public float getFocusX();
+    method public float getFocusY();
+    method public float getPreviousSpan();
+    method public float getPreviousSpanX();
+    method public float getPreviousSpanY();
+    method public float getScaleFactor();
+    method public long getTimeDelta();
+    method public boolean isInProgress();
+    method public boolean isQuickScaleEnabled();
+    method public boolean isStylusScaleEnabled();
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public void setQuickScaleEnabled(boolean);
+    method public void setStylusScaleEnabled(boolean);
+  }
+
+  public static interface ScaleGestureDetector.OnScaleGestureListener {
+    method public boolean onScale(android.view.ScaleGestureDetector);
+    method public boolean onScaleBegin(android.view.ScaleGestureDetector);
+    method public void onScaleEnd(android.view.ScaleGestureDetector);
+  }
+
+  public static class ScaleGestureDetector.SimpleOnScaleGestureListener implements android.view.ScaleGestureDetector.OnScaleGestureListener {
+    ctor public ScaleGestureDetector.SimpleOnScaleGestureListener();
+    method public boolean onScale(android.view.ScaleGestureDetector);
+    method public boolean onScaleBegin(android.view.ScaleGestureDetector);
+    method public void onScaleEnd(android.view.ScaleGestureDetector);
+  }
+
+  @UiThread public interface ScrollCaptureCallback {
+    method public void onScrollCaptureEnd(@NonNull Runnable);
+    method public void onScrollCaptureImageRequest(@NonNull android.view.ScrollCaptureSession, @NonNull android.os.CancellationSignal, @NonNull android.graphics.Rect, @NonNull java.util.function.Consumer<android.graphics.Rect>);
+    method public void onScrollCaptureSearch(@NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.graphics.Rect>);
+    method public void onScrollCaptureStart(@NonNull android.view.ScrollCaptureSession, @NonNull android.os.CancellationSignal, @NonNull Runnable);
+  }
+
+  public class ScrollCaptureSession {
+    ctor public ScrollCaptureSession(@NonNull android.view.Surface, @NonNull android.graphics.Rect, @NonNull android.graphics.Point);
+    method @NonNull public android.graphics.Point getPositionInWindow();
+    method @NonNull public android.graphics.Rect getScrollBounds();
+    method @NonNull public android.view.Surface getSurface();
+  }
+
+  public final class ScrollCaptureTarget {
+    ctor public ScrollCaptureTarget(@NonNull android.view.View, @NonNull android.graphics.Rect, @NonNull android.graphics.Point, @NonNull android.view.ScrollCaptureCallback);
+    method @NonNull public android.view.ScrollCaptureCallback getCallback();
+    method @NonNull public android.view.View getContainingView();
+    method public int getHint();
+    method @NonNull public android.graphics.Rect getLocalVisibleRect();
+    method @NonNull public android.graphics.Point getPositionInWindow();
+    method @Nullable public android.graphics.Rect getScrollBounds();
+    method public void setScrollBounds(@Nullable android.graphics.Rect);
+    method @UiThread public void updatePositionInWindow();
+  }
+
+  public class SearchEvent {
+    ctor public SearchEvent(android.view.InputDevice);
+    method public android.view.InputDevice getInputDevice();
+  }
+
+  public class SoundEffectConstants {
+    method public static int getConstantForFocusDirection(int, boolean);
+    method public static int getContantForFocusDirection(int);
+    field public static final int CLICK = 0; // 0x0
+    field public static final int NAVIGATION_DOWN = 4; // 0x4
+    field public static final int NAVIGATION_LEFT = 1; // 0x1
+    field public static final int NAVIGATION_REPEAT_DOWN = 8; // 0x8
+    field public static final int NAVIGATION_REPEAT_LEFT = 5; // 0x5
+    field public static final int NAVIGATION_REPEAT_RIGHT = 7; // 0x7
+    field public static final int NAVIGATION_REPEAT_UP = 6; // 0x6
+    field public static final int NAVIGATION_RIGHT = 3; // 0x3
+    field public static final int NAVIGATION_UP = 2; // 0x2
+  }
+
+  public interface SubMenu extends android.view.Menu {
+    method public void clearHeader();
+    method public android.view.MenuItem getItem();
+    method public android.view.SubMenu setHeaderIcon(@DrawableRes int);
+    method public android.view.SubMenu setHeaderIcon(android.graphics.drawable.Drawable);
+    method public android.view.SubMenu setHeaderTitle(@StringRes int);
+    method public android.view.SubMenu setHeaderTitle(CharSequence);
+    method public android.view.SubMenu setHeaderView(android.view.View);
+    method public android.view.SubMenu setIcon(@DrawableRes int);
+    method public android.view.SubMenu setIcon(android.graphics.drawable.Drawable);
+  }
+
+  public class Surface implements android.os.Parcelable {
+    ctor public Surface(@NonNull android.view.SurfaceControl);
+    ctor public Surface(android.graphics.SurfaceTexture);
+    method public int describeContents();
+    method public boolean isValid();
+    method public android.graphics.Canvas lockCanvas(android.graphics.Rect) throws java.lang.IllegalArgumentException, android.view.Surface.OutOfResourcesException;
+    method public android.graphics.Canvas lockHardwareCanvas();
+    method public void readFromParcel(android.os.Parcel);
+    method public void release();
+    method public void setFrameRate(@FloatRange(from=0.0) float, int, int);
+    method public void setFrameRate(@FloatRange(from=0.0) float, int);
+    method @Deprecated public void unlockCanvas(android.graphics.Canvas);
+    method public void unlockCanvasAndPost(android.graphics.Canvas);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CHANGE_FRAME_RATE_ALWAYS = 1; // 0x1
+    field public static final int CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.Surface> CREATOR;
+    field public static final int FRAME_RATE_COMPATIBILITY_DEFAULT = 0; // 0x0
+    field public static final int FRAME_RATE_COMPATIBILITY_FIXED_SOURCE = 1; // 0x1
+    field public static final int ROTATION_0 = 0; // 0x0
+    field public static final int ROTATION_180 = 2; // 0x2
+    field public static final int ROTATION_270 = 3; // 0x3
+    field public static final int ROTATION_90 = 1; // 0x1
+  }
+
+  public static class Surface.OutOfResourcesException extends java.lang.RuntimeException {
+    ctor public Surface.OutOfResourcesException();
+    ctor public Surface.OutOfResourcesException(String);
+  }
+
+  public final class SurfaceControl implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isValid();
+    method public void readFromParcel(android.os.Parcel);
+    method public void release();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int BUFFER_TRANSFORM_IDENTITY = 0; // 0x0
+    field public static final int BUFFER_TRANSFORM_MIRROR_HORIZONTAL = 1; // 0x1
+    field public static final int BUFFER_TRANSFORM_MIRROR_VERTICAL = 2; // 0x2
+    field public static final int BUFFER_TRANSFORM_ROTATE_180 = 3; // 0x3
+    field public static final int BUFFER_TRANSFORM_ROTATE_270 = 7; // 0x7
+    field public static final int BUFFER_TRANSFORM_ROTATE_90 = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControl> CREATOR;
+  }
+
+  public static class SurfaceControl.Builder {
+    ctor public SurfaceControl.Builder();
+    method @NonNull public android.view.SurfaceControl build();
+    method @NonNull public android.view.SurfaceControl.Builder setBufferSize(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.SurfaceControl.Builder setFormat(int);
+    method @NonNull public android.view.SurfaceControl.Builder setName(@NonNull String);
+    method @NonNull public android.view.SurfaceControl.Builder setOpaque(boolean);
+    method @NonNull public android.view.SurfaceControl.Builder setParent(@Nullable android.view.SurfaceControl);
+  }
+
+  public static class SurfaceControl.Transaction implements java.io.Closeable android.os.Parcelable {
+    ctor public SurfaceControl.Transaction();
+    method public void apply();
+    method public void close();
+    method public int describeContents();
+    method @NonNull public android.view.SurfaceControl.Transaction merge(@NonNull android.view.SurfaceControl.Transaction);
+    method @NonNull public android.view.SurfaceControl.Transaction reparent(@NonNull android.view.SurfaceControl, @Nullable android.view.SurfaceControl);
+    method @NonNull public android.view.SurfaceControl.Transaction setAlpha(@NonNull android.view.SurfaceControl, @FloatRange(from=0.0, to=1.0) float);
+    method @NonNull public android.view.SurfaceControl.Transaction setBufferSize(@NonNull android.view.SurfaceControl, @IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.SurfaceControl.Transaction setFrameRate(@NonNull android.view.SurfaceControl, @FloatRange(from=0.0) float, int);
+    method @NonNull public android.view.SurfaceControl.Transaction setFrameRate(@NonNull android.view.SurfaceControl, @FloatRange(from=0.0) float, int, int);
+    method @NonNull public android.view.SurfaceControl.Transaction setGeometry(@NonNull android.view.SurfaceControl, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, int);
+    method @NonNull public android.view.SurfaceControl.Transaction setLayer(@NonNull android.view.SurfaceControl, @IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.view.SurfaceControl.Transaction setVisibility(@NonNull android.view.SurfaceControl, boolean);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControl.Transaction> CREATOR;
+  }
+
+  public class SurfaceControlViewHost {
+    ctor public SurfaceControlViewHost(@NonNull android.content.Context, @NonNull android.view.Display, @Nullable android.os.IBinder);
+    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage getSurfacePackage();
+    method @Nullable public android.view.View getView();
+    method public void relayout(int, int);
+    method public void release();
+    method public void setView(@NonNull android.view.View, int, int);
+  }
+
+  public static final class SurfaceControlViewHost.SurfacePackage implements android.os.Parcelable {
+    ctor public SurfaceControlViewHost.SurfacePackage(@NonNull android.view.SurfaceControlViewHost.SurfacePackage);
+    method public int describeContents();
+    method public void release();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControlViewHost.SurfacePackage> CREATOR;
+  }
+
+  public interface SurfaceHolder {
+    method public void addCallback(android.view.SurfaceHolder.Callback);
+    method public android.view.Surface getSurface();
+    method public android.graphics.Rect getSurfaceFrame();
+    method public boolean isCreating();
+    method public android.graphics.Canvas lockCanvas();
+    method public android.graphics.Canvas lockCanvas(android.graphics.Rect);
+    method public default android.graphics.Canvas lockHardwareCanvas();
+    method public void removeCallback(android.view.SurfaceHolder.Callback);
+    method public void setFixedSize(int, int);
+    method public void setFormat(int);
+    method public void setKeepScreenOn(boolean);
+    method public void setSizeFromLayout();
+    method @Deprecated public void setType(int);
+    method public void unlockCanvasAndPost(android.graphics.Canvas);
+    field @Deprecated public static final int SURFACE_TYPE_GPU = 2; // 0x2
+    field @Deprecated public static final int SURFACE_TYPE_HARDWARE = 1; // 0x1
+    field @Deprecated public static final int SURFACE_TYPE_NORMAL = 0; // 0x0
+    field @Deprecated public static final int SURFACE_TYPE_PUSH_BUFFERS = 3; // 0x3
+  }
+
+  public static class SurfaceHolder.BadSurfaceTypeException extends java.lang.RuntimeException {
+    ctor public SurfaceHolder.BadSurfaceTypeException();
+    ctor public SurfaceHolder.BadSurfaceTypeException(String);
+  }
+
+  public static interface SurfaceHolder.Callback {
+    method public void surfaceChanged(@NonNull android.view.SurfaceHolder, int, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public void surfaceCreated(@NonNull android.view.SurfaceHolder);
+    method public void surfaceDestroyed(@NonNull android.view.SurfaceHolder);
+  }
+
+  public static interface SurfaceHolder.Callback2 extends android.view.SurfaceHolder.Callback {
+    method public void surfaceRedrawNeeded(@NonNull android.view.SurfaceHolder);
+    method public default void surfaceRedrawNeededAsync(@NonNull android.view.SurfaceHolder, @NonNull Runnable);
+  }
+
+  public class SurfaceView extends android.view.View {
+    ctor public SurfaceView(android.content.Context);
+    ctor public SurfaceView(android.content.Context, android.util.AttributeSet);
+    ctor public SurfaceView(android.content.Context, android.util.AttributeSet, int);
+    ctor public SurfaceView(android.content.Context, android.util.AttributeSet, int, int);
+    method public android.view.SurfaceHolder getHolder();
+    method @Nullable public android.os.IBinder getHostToken();
+    method public android.view.SurfaceControl getSurfaceControl();
+    method public void setChildSurfacePackage(@NonNull android.view.SurfaceControlViewHost.SurfacePackage);
+    method public void setSecure(boolean);
+    method public void setZOrderMediaOverlay(boolean);
+    method public void setZOrderOnTop(boolean);
+  }
+
+  public class TextureView extends android.view.View {
+    ctor public TextureView(@NonNull android.content.Context);
+    ctor public TextureView(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public TextureView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public TextureView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, int);
+    method public final void draw(android.graphics.Canvas);
+    method @Nullable public android.graphics.Bitmap getBitmap();
+    method @Nullable public android.graphics.Bitmap getBitmap(int, int);
+    method @NonNull public android.graphics.Bitmap getBitmap(@NonNull android.graphics.Bitmap);
+    method @Nullable public android.graphics.SurfaceTexture getSurfaceTexture();
+    method @Nullable public android.view.TextureView.SurfaceTextureListener getSurfaceTextureListener();
+    method @NonNull public android.graphics.Matrix getTransform(@Nullable android.graphics.Matrix);
+    method public boolean isAvailable();
+    method @Nullable public android.graphics.Canvas lockCanvas();
+    method @Nullable public android.graphics.Canvas lockCanvas(@Nullable android.graphics.Rect);
+    method protected final void onDraw(android.graphics.Canvas);
+    method public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setOpaque(boolean);
+    method public void setSurfaceTexture(@NonNull android.graphics.SurfaceTexture);
+    method public void setSurfaceTextureListener(@Nullable android.view.TextureView.SurfaceTextureListener);
+    method public void setTransform(@Nullable android.graphics.Matrix);
+    method public void unlockCanvasAndPost(@NonNull android.graphics.Canvas);
+  }
+
+  public static interface TextureView.SurfaceTextureListener {
+    method public void onSurfaceTextureAvailable(@NonNull android.graphics.SurfaceTexture, int, int);
+    method public boolean onSurfaceTextureDestroyed(@NonNull android.graphics.SurfaceTexture);
+    method public void onSurfaceTextureSizeChanged(@NonNull android.graphics.SurfaceTexture, int, int);
+    method public void onSurfaceTextureUpdated(@NonNull android.graphics.SurfaceTexture);
+  }
+
+  public class TouchDelegate {
+    ctor public TouchDelegate(android.graphics.Rect, android.view.View);
+    method @NonNull public android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo getTouchDelegateInfo();
+    method public boolean onTouchEvent(@NonNull android.view.MotionEvent);
+    method public boolean onTouchExplorationHoverEvent(@NonNull android.view.MotionEvent);
+    field public static final int ABOVE = 1; // 0x1
+    field public static final int BELOW = 2; // 0x2
+    field public static final int TO_LEFT = 4; // 0x4
+    field public static final int TO_RIGHT = 8; // 0x8
+  }
+
+  public final class VelocityTracker {
+    method public void addMovement(android.view.MotionEvent);
+    method public void clear();
+    method public void computeCurrentVelocity(int);
+    method public void computeCurrentVelocity(int, float);
+    method public float getXVelocity();
+    method public float getXVelocity(int);
+    method public float getYVelocity();
+    method public float getYVelocity(int);
+    method public static android.view.VelocityTracker obtain();
+    method public void recycle();
+  }
+
+  public abstract class VerifiedInputEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getDeviceId();
+    method public int getDisplayId();
+    method public long getEventTimeNanos();
+    method public int getSource();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.VerifiedInputEvent> CREATOR;
+  }
+
+  public final class VerifiedKeyEvent extends android.view.VerifiedInputEvent implements android.os.Parcelable {
+    method public int getAction();
+    method public long getDownTimeNanos();
+    method @Nullable public Boolean getFlag(int);
+    method public int getKeyCode();
+    method public int getMetaState();
+    method public int getRepeatCount();
+    method public int getScanCode();
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.VerifiedKeyEvent> CREATOR;
+  }
+
+  public final class VerifiedMotionEvent extends android.view.VerifiedInputEvent implements android.os.Parcelable {
+    method public int getActionMasked();
+    method public int getButtonState();
+    method public long getDownTimeNanos();
+    method @Nullable public Boolean getFlag(int);
+    method public int getMetaState();
+    method public float getRawX();
+    method public float getRawY();
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.VerifiedMotionEvent> CREATOR;
+  }
+
+  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
+    ctor public View(android.content.Context);
+    ctor public View(android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public View(android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public View(android.content.Context, @Nullable android.util.AttributeSet, int, int);
+    method public void addChildrenForAccessibility(java.util.ArrayList<android.view.View>);
+    method public void addExtraDataToAccessibilityNodeInfo(@NonNull android.view.accessibility.AccessibilityNodeInfo, @NonNull String, @Nullable android.os.Bundle);
+    method public void addFocusables(java.util.ArrayList<android.view.View>, int);
+    method public void addFocusables(java.util.ArrayList<android.view.View>, int, int);
+    method public void addKeyboardNavigationClusters(@NonNull java.util.Collection<android.view.View>, int);
+    method public void addOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener);
+    method public void addOnLayoutChangeListener(android.view.View.OnLayoutChangeListener);
+    method public void addOnUnhandledKeyEventListener(android.view.View.OnUnhandledKeyEventListener);
+    method public void addTouchables(java.util.ArrayList<android.view.View>);
+    method public android.view.ViewPropertyAnimator animate();
+    method public void announceForAccessibility(CharSequence);
+    method public void autofill(android.view.autofill.AutofillValue);
+    method public void autofill(@NonNull android.util.SparseArray<android.view.autofill.AutofillValue>);
+    method protected boolean awakenScrollBars();
+    method protected boolean awakenScrollBars(int);
+    method protected boolean awakenScrollBars(int, boolean);
+    method public void bringToFront();
+    method @Deprecated public void buildDrawingCache();
+    method @Deprecated public void buildDrawingCache(boolean);
+    method public void buildLayer();
+    method public boolean callOnClick();
+    method public boolean canResolveLayoutDirection();
+    method public boolean canResolveTextAlignment();
+    method public boolean canResolveTextDirection();
+    method public boolean canScrollHorizontally(int);
+    method public boolean canScrollVertically(int);
+    method public final void cancelDragAndDrop();
+    method public void cancelLongPress();
+    method public final void cancelPendingInputEvents();
+    method public boolean checkInputConnectionProxy(android.view.View);
+    method public void clearAnimation();
+    method public void clearFocus();
+    method public void clearViewTranslationCallback();
+    method public static int combineMeasuredStates(int, int);
+    method protected int computeHorizontalScrollExtent();
+    method protected int computeHorizontalScrollOffset();
+    method protected int computeHorizontalScrollRange();
+    method public void computeScroll();
+    method public android.view.WindowInsets computeSystemWindowInsets(android.view.WindowInsets, android.graphics.Rect);
+    method protected int computeVerticalScrollExtent();
+    method protected int computeVerticalScrollOffset();
+    method protected int computeVerticalScrollRange();
+    method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo();
+    method public void createContextMenu(android.view.ContextMenu);
+    method @Deprecated public void destroyDrawingCache();
+    method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets);
+    method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent);
+    method public void dispatchConfigurationChanged(android.content.res.Configuration);
+    method public void dispatchCreateViewTranslationRequest(@NonNull java.util.Map<android.view.autofill.AutofillId,long[]>, @NonNull int[], @NonNull android.view.translation.TranslationCapability, @NonNull java.util.List<android.view.translation.ViewTranslationRequest>);
+    method public void dispatchDisplayHint(int);
+    method public boolean dispatchDragEvent(android.view.DragEvent);
+    method protected void dispatchDraw(android.graphics.Canvas);
+    method public void dispatchDrawableHotspotChanged(float, float);
+    method @CallSuper public void dispatchFinishTemporaryDetach();
+    method protected boolean dispatchGenericFocusedEvent(android.view.MotionEvent);
+    method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+    method protected boolean dispatchGenericPointerEvent(android.view.MotionEvent);
+    method protected boolean dispatchHoverEvent(android.view.MotionEvent);
+    method public boolean dispatchKeyEvent(android.view.KeyEvent);
+    method public boolean dispatchKeyEventPreIme(android.view.KeyEvent);
+    method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+    method public boolean dispatchNestedFling(float, float, boolean);
+    method public boolean dispatchNestedPreFling(float, float);
+    method public boolean dispatchNestedPrePerformAccessibilityAction(int, android.os.Bundle);
+    method public boolean dispatchNestedPreScroll(int, int, @Nullable @Size(2) int[], @Nullable @Size(2) int[]);
+    method public boolean dispatchNestedScroll(int, int, int, int, @Nullable @Size(2) int[]);
+    method public void dispatchPointerCaptureChanged(boolean);
+    method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public void dispatchProvideAutofillStructure(@NonNull android.view.ViewStructure, int);
+    method public void dispatchProvideStructure(android.view.ViewStructure);
+    method protected void dispatchRestoreInstanceState(android.util.SparseArray<android.os.Parcelable>);
+    method protected void dispatchSaveInstanceState(android.util.SparseArray<android.os.Parcelable>);
+    method public void dispatchScrollCaptureSearch(@NonNull android.graphics.Rect, @NonNull android.graphics.Point, @NonNull java.util.function.Consumer<android.view.ScrollCaptureTarget>);
+    method protected void dispatchSetActivated(boolean);
+    method protected void dispatchSetPressed(boolean);
+    method protected void dispatchSetSelected(boolean);
+    method @CallSuper public void dispatchStartTemporaryDetach();
+    method @Deprecated public void dispatchSystemUiVisibilityChanged(int);
+    method public boolean dispatchTouchEvent(android.view.MotionEvent);
+    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+    method public boolean dispatchUnhandledMove(android.view.View, int);
+    method protected void dispatchVisibilityChanged(@NonNull android.view.View, int);
+    method public void dispatchWindowFocusChanged(boolean);
+    method public void dispatchWindowInsetsAnimationEnd(@NonNull android.view.WindowInsetsAnimation);
+    method public void dispatchWindowInsetsAnimationPrepare(@NonNull android.view.WindowInsetsAnimation);
+    method @NonNull public android.view.WindowInsets dispatchWindowInsetsAnimationProgress(@NonNull android.view.WindowInsets, @NonNull java.util.List<android.view.WindowInsetsAnimation>);
+    method @NonNull public android.view.WindowInsetsAnimation.Bounds dispatchWindowInsetsAnimationStart(@NonNull android.view.WindowInsetsAnimation, @NonNull android.view.WindowInsetsAnimation.Bounds);
+    method @Deprecated public void dispatchWindowSystemUiVisiblityChanged(int);
+    method public void dispatchWindowVisibilityChanged(int);
+    method @CallSuper public void draw(android.graphics.Canvas);
+    method @CallSuper public void drawableHotspotChanged(float, float);
+    method @CallSuper protected void drawableStateChanged();
+    method public android.view.View findFocus();
+    method public final <T extends android.view.View> T findViewById(@IdRes int);
+    method public final <T extends android.view.View> T findViewWithTag(Object);
+    method public void findViewsWithText(java.util.ArrayList<android.view.View>, CharSequence, int);
+    method @Deprecated protected boolean fitSystemWindows(android.graphics.Rect);
+    method public android.view.View focusSearch(int);
+    method public void forceHasOverlappingRendering(boolean);
+    method public void forceLayout();
+    method public boolean gatherTransparentRegion(@Nullable android.graphics.Region);
+    method public void generateDisplayHash(@NonNull String, @Nullable android.graphics.Rect, @NonNull java.util.concurrent.Executor, @NonNull android.view.displayhash.DisplayHashResultCallback);
+    method public static int generateViewId();
+    method public CharSequence getAccessibilityClassName();
+    method public android.view.View.AccessibilityDelegate getAccessibilityDelegate();
+    method public int getAccessibilityLiveRegion();
+    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
+    method @Nullable public CharSequence getAccessibilityPaneTitle();
+    method @IdRes public int getAccessibilityTraversalAfter();
+    method @IdRes public int getAccessibilityTraversalBefore();
+    method public float getAlpha();
+    method public android.view.animation.Animation getAnimation();
+    method @Nullable public android.graphics.Matrix getAnimationMatrix();
+    method public android.os.IBinder getApplicationWindowToken();
+    method @NonNull public int[] getAttributeResolutionStack(@AttrRes int);
+    method @NonNull public java.util.Map<java.lang.Integer,java.lang.Integer> getAttributeSourceResourceMap();
+    method @Nullable public String[] getAutofillHints();
+    method public final android.view.autofill.AutofillId getAutofillId();
+    method public int getAutofillType();
+    method @Nullable public android.view.autofill.AutofillValue getAutofillValue();
+    method public android.graphics.drawable.Drawable getBackground();
+    method @Nullable public android.graphics.BlendMode getBackgroundTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getBackgroundTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getBackgroundTintMode();
+    method public int getBaseline();
+    method public final int getBottom();
+    method protected float getBottomFadingEdgeStrength();
+    method protected int getBottomPaddingOffset();
+    method public float getCameraDistance();
+    method public android.graphics.Rect getClipBounds();
+    method public boolean getClipBounds(android.graphics.Rect);
+    method public final boolean getClipToOutline();
+    method @Nullable public final android.view.contentcapture.ContentCaptureSession getContentCaptureSession();
+    method public CharSequence getContentDescription();
+    method @UiContext public final android.content.Context getContext();
+    method protected android.view.ContextMenu.ContextMenuInfo getContextMenuInfo();
+    method public final boolean getDefaultFocusHighlightEnabled();
+    method public static int getDefaultSize(int, int);
+    method public android.view.Display getDisplay();
+    method public final int[] getDrawableState();
+    method @Deprecated public android.graphics.Bitmap getDrawingCache();
+    method @Deprecated public android.graphics.Bitmap getDrawingCache(boolean);
+    method @Deprecated @ColorInt public int getDrawingCacheBackgroundColor();
+    method @Deprecated public int getDrawingCacheQuality();
+    method public void getDrawingRect(android.graphics.Rect);
+    method public long getDrawingTime();
+    method public float getElevation();
+    method @StyleRes public int getExplicitStyle();
+    method public boolean getFilterTouchesWhenObscured();
+    method public boolean getFitsSystemWindows();
+    method public int getFocusable();
+    method public java.util.ArrayList<android.view.View> getFocusables(int);
+    method public void getFocusedRect(android.graphics.Rect);
+    method public android.graphics.drawable.Drawable getForeground();
+    method public int getForegroundGravity();
+    method @Nullable public android.graphics.BlendMode getForegroundTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getForegroundTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getForegroundTintMode();
+    method public boolean getGlobalVisibleRect(android.graphics.Rect, android.graphics.Point);
+    method public final boolean getGlobalVisibleRect(android.graphics.Rect);
+    method public android.os.Handler getHandler();
+    method public final boolean getHasOverlappingRendering();
+    method public final int getHeight();
+    method public void getHitRect(android.graphics.Rect);
+    method public int getHorizontalFadingEdgeLength();
+    method protected int getHorizontalScrollbarHeight();
+    method @Nullable public android.graphics.drawable.Drawable getHorizontalScrollbarThumbDrawable();
+    method @Nullable public android.graphics.drawable.Drawable getHorizontalScrollbarTrackDrawable();
+    method @IdRes public int getId();
+    method public int getImportantForAccessibility();
+    method public int getImportantForAutofill();
+    method public int getImportantForContentCapture();
+    method public boolean getKeepScreenOn();
+    method public android.view.KeyEvent.DispatcherState getKeyDispatcherState();
+    method @IdRes public int getLabelFor();
+    method public int getLayerType();
+    method public int getLayoutDirection();
+    method public android.view.ViewGroup.LayoutParams getLayoutParams();
+    method public final int getLeft();
+    method protected float getLeftFadingEdgeStrength();
+    method protected int getLeftPaddingOffset();
+    method public final boolean getLocalVisibleRect(android.graphics.Rect);
+    method public void getLocationInSurface(@NonNull @Size(2) int[]);
+    method public void getLocationInWindow(@Size(2) int[]);
+    method public void getLocationOnScreen(@Size(2) int[]);
+    method public android.graphics.Matrix getMatrix();
+    method public final int getMeasuredHeight();
+    method public final int getMeasuredHeightAndState();
+    method public final int getMeasuredState();
+    method public final int getMeasuredWidth();
+    method public final int getMeasuredWidthAndState();
+    method public int getMinimumHeight();
+    method public int getMinimumWidth();
+    method @IdRes public int getNextClusterForwardId();
+    method @IdRes public int getNextFocusDownId();
+    method @IdRes public int getNextFocusForwardId();
+    method @IdRes public int getNextFocusLeftId();
+    method @IdRes public int getNextFocusRightId();
+    method @IdRes public int getNextFocusUpId();
+    method public android.view.View.OnFocusChangeListener getOnFocusChangeListener();
+    method @ColorInt public int getOutlineAmbientShadowColor();
+    method public android.view.ViewOutlineProvider getOutlineProvider();
+    method @ColorInt public int getOutlineSpotShadowColor();
+    method public int getOverScrollMode();
+    method public android.view.ViewOverlay getOverlay();
+    method public int getPaddingBottom();
+    method public int getPaddingEnd();
+    method public int getPaddingLeft();
+    method public int getPaddingRight();
+    method public int getPaddingStart();
+    method public int getPaddingTop();
+    method public final android.view.ViewParent getParent();
+    method public android.view.ViewParent getParentForAccessibility();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public android.view.PointerIcon getPointerIcon();
+    method @Nullable public String[] getReceiveContentMimeTypes();
+    method public android.content.res.Resources getResources();
+    method public final boolean getRevealOnFocusHint();
+    method public final int getRight();
+    method protected float getRightFadingEdgeStrength();
+    method protected int getRightPaddingOffset();
+    method @Nullable public android.view.AttachedSurfaceControl getRootSurfaceControl();
+    method public android.view.View getRootView();
+    method public android.view.WindowInsets getRootWindowInsets();
+    method public float getRotation();
+    method public float getRotationX();
+    method public float getRotationY();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getScrollBarDefaultDelayBeforeFade();
+    method public int getScrollBarFadeDuration();
+    method public int getScrollBarSize();
+    method public int getScrollBarStyle();
+    method public int getScrollCaptureHint();
+    method public int getScrollIndicators();
+    method public final int getScrollX();
+    method public final int getScrollY();
+    method @ColorInt public int getSolidColor();
+    method @LayoutRes public int getSourceLayoutResId();
+    method @Nullable public final CharSequence getStateDescription();
+    method public android.animation.StateListAnimator getStateListAnimator();
+    method protected int getSuggestedMinimumHeight();
+    method protected int getSuggestedMinimumWidth();
+    method @NonNull public java.util.List<android.graphics.Rect> getSystemGestureExclusionRects();
+    method @Deprecated public int getSystemUiVisibility();
+    method public Object getTag();
+    method public Object getTag(int);
+    method public int getTextAlignment();
+    method public int getTextDirection();
+    method @Nullable public CharSequence getTooltipText();
+    method public final int getTop();
+    method protected float getTopFadingEdgeStrength();
+    method protected int getTopPaddingOffset();
+    method public android.view.TouchDelegate getTouchDelegate();
+    method public java.util.ArrayList<android.view.View> getTouchables();
+    method public float getTransitionAlpha();
+    method public String getTransitionName();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public float getTranslationZ();
+    method public long getUniqueDrawingId();
+    method public int getVerticalFadingEdgeLength();
+    method public int getVerticalScrollbarPosition();
+    method @Nullable public android.graphics.drawable.Drawable getVerticalScrollbarThumbDrawable();
+    method @Nullable public android.graphics.drawable.Drawable getVerticalScrollbarTrackDrawable();
+    method public int getVerticalScrollbarWidth();
+    method @Nullable public android.view.translation.ViewTranslationResponse getViewTranslationResponse();
+    method public android.view.ViewTreeObserver getViewTreeObserver();
+    method public int getVisibility();
+    method public final int getWidth();
+    method protected int getWindowAttachCount();
+    method public android.view.WindowId getWindowId();
+    method @Nullable public android.view.WindowInsetsController getWindowInsetsController();
+    method @Deprecated public int getWindowSystemUiVisibility();
+    method public android.os.IBinder getWindowToken();
+    method public int getWindowVisibility();
+    method public void getWindowVisibleDisplayFrame(android.graphics.Rect);
+    method public float getX();
+    method public float getY();
+    method public float getZ();
+    method public boolean hasExplicitFocusable();
+    method public boolean hasFocus();
+    method public boolean hasFocusable();
+    method public boolean hasNestedScrollingParent();
+    method public boolean hasOnClickListeners();
+    method public boolean hasOnLongClickListeners();
+    method public boolean hasOverlappingRendering();
+    method public boolean hasPointerCapture();
+    method public boolean hasTransientState();
+    method public boolean hasWindowFocus();
+    method public static android.view.View inflate(android.content.Context, @LayoutRes int, android.view.ViewGroup);
+    method @Deprecated public void invalidate(android.graphics.Rect);
+    method @Deprecated public void invalidate(int, int, int, int);
+    method public void invalidate();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void invalidateOutline();
+    method public boolean isAccessibilityFocused();
+    method public boolean isAccessibilityHeading();
+    method public boolean isActivated();
+    method public boolean isAttachedToWindow();
+    method public boolean isClickable();
+    method public boolean isContextClickable();
+    method public boolean isDirty();
+    method @Deprecated public boolean isDrawingCacheEnabled();
+    method public boolean isDuplicateParentStateEnabled();
+    method public boolean isEnabled();
+    method public final boolean isFocusable();
+    method public final boolean isFocusableInTouchMode();
+    method public boolean isFocused();
+    method public final boolean isFocusedByDefault();
+    method public boolean isForceDarkAllowed();
+    method public boolean isHapticFeedbackEnabled();
+    method public boolean isHardwareAccelerated();
+    method public boolean isHorizontalFadingEdgeEnabled();
+    method public boolean isHorizontalScrollBarEnabled();
+    method public boolean isHovered();
+    method public boolean isImportantForAccessibility();
+    method public final boolean isImportantForAutofill();
+    method public final boolean isImportantForContentCapture();
+    method public boolean isInEditMode();
+    method public boolean isInLayout();
+    method public boolean isInTouchMode();
+    method public final boolean isKeyboardNavigationCluster();
+    method public boolean isLaidOut();
+    method public boolean isLayoutDirectionResolved();
+    method public boolean isLayoutRequested();
+    method public boolean isLongClickable();
+    method public boolean isNestedScrollingEnabled();
+    method public boolean isOpaque();
+    method protected boolean isPaddingOffsetRequired();
+    method public boolean isPaddingRelative();
+    method public boolean isPivotSet();
+    method public boolean isPressed();
+    method public boolean isSaveEnabled();
+    method public boolean isSaveFromParentEnabled();
+    method public boolean isScreenReaderFocusable();
+    method public boolean isScrollContainer();
+    method public boolean isScrollbarFadingEnabled();
+    method public boolean isSelected();
+    method public final boolean isShowingLayoutBounds();
+    method public boolean isShown();
+    method public boolean isSoundEffectsEnabled();
+    method public final boolean isTemporarilyDetached();
+    method public boolean isTextAlignmentResolved();
+    method public boolean isTextDirectionResolved();
+    method public boolean isVerticalFadingEdgeEnabled();
+    method public boolean isVerticalScrollBarEnabled();
+    method public boolean isVisibleToUserForAutofill(int);
+    method @CallSuper public void jumpDrawablesToCurrentState();
+    method public android.view.View keyboardNavigationClusterSearch(android.view.View, int);
+    method public void layout(int, int, int, int);
+    method public final void measure(int, int);
+    method protected static int[] mergeDrawableStates(int[], int[]);
+    method public void offsetLeftAndRight(int);
+    method public void offsetTopAndBottom(int);
+    method @CallSuper protected void onAnimationEnd();
+    method @CallSuper protected void onAnimationStart();
+    method public android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets);
+    method @CallSuper protected void onAttachedToWindow();
+    method public void onCancelPendingInputEvents();
+    method public boolean onCapturedPointerEvent(android.view.MotionEvent);
+    method public boolean onCheckIsTextEditor();
+    method protected void onConfigurationChanged(android.content.res.Configuration);
+    method protected void onCreateContextMenu(android.view.ContextMenu);
+    method protected int[] onCreateDrawableState(int);
+    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
+    method public void onCreateViewTranslationRequest(@NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
+    method public void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
+    method @CallSuper protected void onDetachedFromWindow();
+    method protected void onDisplayHint(int);
+    method public boolean onDragEvent(android.view.DragEvent);
+    method protected void onDraw(android.graphics.Canvas);
+    method public void onDrawForeground(android.graphics.Canvas);
+    method protected final void onDrawScrollBars(android.graphics.Canvas);
+    method public boolean onFilterTouchEventForSecurity(android.view.MotionEvent);
+    method @CallSuper protected void onFinishInflate();
+    method public void onFinishTemporaryDetach();
+    method @CallSuper protected void onFocusChanged(boolean, int, @Nullable android.graphics.Rect);
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public void onHoverChanged(boolean);
+    method public boolean onHoverEvent(android.view.MotionEvent);
+    method @CallSuper public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method @CallSuper public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyPreIme(int, android.view.KeyEvent);
+    method public boolean onKeyShortcut(int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method protected void onLayout(boolean, int, int, int, int);
+    method protected void onMeasure(int, int);
+    method protected void onOverScrolled(int, int, boolean, boolean);
+    method @CallSuper public void onPointerCaptureChange(boolean);
+    method @CallSuper public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public void onProvideAutofillStructure(android.view.ViewStructure, int);
+    method public void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
+    method public void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
+    method public void onProvideStructure(android.view.ViewStructure);
+    method public void onProvideVirtualStructure(android.view.ViewStructure);
+    method @Nullable public android.view.ContentInfo onReceiveContent(@NonNull android.view.ContentInfo);
+    method public android.view.PointerIcon onResolvePointerIcon(android.view.MotionEvent, int);
+    method @CallSuper protected void onRestoreInstanceState(android.os.Parcelable);
+    method public void onRtlPropertiesChanged(int);
+    method @CallSuper @Nullable protected android.os.Parcelable onSaveInstanceState();
+    method public void onScreenStateChanged(int);
+    method public void onScrollCaptureSearch(@NonNull android.graphics.Rect, @NonNull android.graphics.Point, @NonNull java.util.function.Consumer<android.view.ScrollCaptureTarget>);
+    method protected void onScrollChanged(int, int, int, int);
+    method protected boolean onSetAlpha(int);
+    method protected void onSizeChanged(int, int, int, int);
+    method public void onStartTemporaryDetach();
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.view.MotionEvent);
+    method public void onViewTranslationResponse(@NonNull android.view.translation.ViewTranslationResponse);
+    method public void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
+    method @CallSuper public void onVisibilityAggregated(boolean);
+    method protected void onVisibilityChanged(@NonNull android.view.View, int);
+    method public void onWindowFocusChanged(boolean);
+    method @Deprecated public void onWindowSystemUiVisibilityChanged(int);
+    method protected void onWindowVisibilityChanged(int);
+    method protected boolean overScrollBy(int, int, int, int, int, int, int, int, boolean);
+    method public boolean performAccessibilityAction(int, android.os.Bundle);
+    method public boolean performClick();
+    method public boolean performContextClick(float, float);
+    method public boolean performContextClick();
+    method public boolean performHapticFeedback(int);
+    method public boolean performHapticFeedback(int, int);
+    method public boolean performLongClick();
+    method public boolean performLongClick(float, float);
+    method @Nullable public android.view.ContentInfo performReceiveContent(@NonNull android.view.ContentInfo);
+    method public void playSoundEffect(int);
+    method public boolean post(Runnable);
+    method public boolean postDelayed(Runnable, long);
+    method public void postInvalidate();
+    method public void postInvalidate(int, int, int, int);
+    method public void postInvalidateDelayed(long);
+    method public void postInvalidateDelayed(long, int, int, int, int);
+    method public void postInvalidateOnAnimation();
+    method public void postInvalidateOnAnimation(int, int, int, int);
+    method public void postOnAnimation(Runnable);
+    method public void postOnAnimationDelayed(Runnable, long);
+    method public void refreshDrawableState();
+    method public void releasePointerCapture();
+    method public boolean removeCallbacks(Runnable);
+    method public void removeOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener);
+    method public void removeOnLayoutChangeListener(android.view.View.OnLayoutChangeListener);
+    method public void removeOnUnhandledKeyEventListener(android.view.View.OnUnhandledKeyEventListener);
+    method public void requestApplyInsets();
+    method @Deprecated public void requestFitSystemWindows();
+    method public final boolean requestFocus();
+    method public final boolean requestFocus(int);
+    method public boolean requestFocus(int, android.graphics.Rect);
+    method public final boolean requestFocusFromTouch();
+    method @CallSuper public void requestLayout();
+    method public void requestPointerCapture();
+    method public boolean requestRectangleOnScreen(android.graphics.Rect);
+    method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean);
+    method public final void requestUnbufferedDispatch(android.view.MotionEvent);
+    method public final void requestUnbufferedDispatch(int);
+    method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
+    method public void resetPivot();
+    method public static int resolveSize(int, int);
+    method public static int resolveSizeAndState(int, int, int);
+    method public boolean restoreDefaultFocus();
+    method public void restoreHierarchyState(android.util.SparseArray<android.os.Parcelable>);
+    method public final void saveAttributeDataForStyleable(@NonNull android.content.Context, @NonNull int[], @Nullable android.util.AttributeSet, @NonNull android.content.res.TypedArray, int, int);
+    method public void saveHierarchyState(android.util.SparseArray<android.os.Parcelable>);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void scrollBy(int, int);
+    method public void scrollTo(int, int);
+    method public void sendAccessibilityEvent(int);
+    method public void sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent);
+    method public void setAccessibilityDelegate(@Nullable android.view.View.AccessibilityDelegate);
+    method public void setAccessibilityHeading(boolean);
+    method public void setAccessibilityLiveRegion(int);
+    method public void setAccessibilityPaneTitle(@Nullable CharSequence);
+    method public void setAccessibilityTraversalAfter(@IdRes int);
+    method public void setAccessibilityTraversalBefore(@IdRes int);
+    method public void setActivated(boolean);
+    method public void setAllowClickWhenDisabled(boolean);
+    method public void setAlpha(@FloatRange(from=0.0, to=1.0) float);
+    method public void setAnimation(android.view.animation.Animation);
+    method public void setAnimationMatrix(@Nullable android.graphics.Matrix);
+    method public void setAutofillHints(@Nullable java.lang.String...);
+    method public void setAutofillId(@Nullable android.view.autofill.AutofillId);
+    method public void setBackground(android.graphics.drawable.Drawable);
+    method public void setBackgroundColor(@ColorInt int);
+    method @Deprecated public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setBackgroundResource(@DrawableRes int);
+    method public void setBackgroundTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setBackgroundTintList(@Nullable android.content.res.ColorStateList);
+    method public void setBackgroundTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public final void setBottom(int);
+    method public void setCameraDistance(float);
+    method public void setClickable(boolean);
+    method public void setClipBounds(android.graphics.Rect);
+    method public void setClipToOutline(boolean);
+    method public void setContentCaptureSession(@Nullable android.view.contentcapture.ContentCaptureSession);
+    method public void setContentDescription(CharSequence);
+    method public void setContextClickable(boolean);
+    method public void setDefaultFocusHighlightEnabled(boolean);
+    method @Deprecated public void setDrawingCacheBackgroundColor(@ColorInt int);
+    method @Deprecated public void setDrawingCacheEnabled(boolean);
+    method @Deprecated public void setDrawingCacheQuality(int);
+    method public void setDuplicateParentStateEnabled(boolean);
+    method public void setElevation(float);
+    method public void setEnabled(boolean);
+    method public void setFadingEdgeLength(int);
+    method public void setFilterTouchesWhenObscured(boolean);
+    method public void setFitsSystemWindows(boolean);
+    method public void setFocusable(boolean);
+    method public void setFocusable(int);
+    method public void setFocusableInTouchMode(boolean);
+    method public void setFocusedByDefault(boolean);
+    method public void setForceDarkAllowed(boolean);
+    method public void setForeground(android.graphics.drawable.Drawable);
+    method public void setForegroundGravity(int);
+    method public void setForegroundTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setForegroundTintList(@Nullable android.content.res.ColorStateList);
+    method public void setForegroundTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setHapticFeedbackEnabled(boolean);
+    method public void setHasTransientState(boolean);
+    method public void setHorizontalFadingEdgeEnabled(boolean);
+    method public void setHorizontalScrollBarEnabled(boolean);
+    method public void setHorizontalScrollbarThumbDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setHorizontalScrollbarTrackDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setHovered(boolean);
+    method public void setId(@IdRes int);
+    method public void setImportantForAccessibility(int);
+    method public void setImportantForAutofill(int);
+    method public void setImportantForContentCapture(int);
+    method public void setKeepScreenOn(boolean);
+    method public void setKeyboardNavigationCluster(boolean);
+    method public void setLabelFor(@IdRes int);
+    method public void setLayerPaint(@Nullable android.graphics.Paint);
+    method public void setLayerType(int, @Nullable android.graphics.Paint);
+    method public void setLayoutDirection(int);
+    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public final void setLeft(int);
+    method public final void setLeftTopRightBottom(int, int, int, int);
+    method public void setLongClickable(boolean);
+    method protected final void setMeasuredDimension(int, int);
+    method public void setMinimumHeight(int);
+    method public void setMinimumWidth(int);
+    method public void setNestedScrollingEnabled(boolean);
+    method public void setNextClusterForwardId(@IdRes int);
+    method public void setNextFocusDownId(@IdRes int);
+    method public void setNextFocusForwardId(@IdRes int);
+    method public void setNextFocusLeftId(@IdRes int);
+    method public void setNextFocusRightId(@IdRes int);
+    method public void setNextFocusUpId(@IdRes int);
+    method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener);
+    method public void setOnCapturedPointerListener(android.view.View.OnCapturedPointerListener);
+    method public void setOnClickListener(@Nullable android.view.View.OnClickListener);
+    method public void setOnContextClickListener(@Nullable android.view.View.OnContextClickListener);
+    method public void setOnCreateContextMenuListener(android.view.View.OnCreateContextMenuListener);
+    method public void setOnDragListener(android.view.View.OnDragListener);
+    method public void setOnFocusChangeListener(android.view.View.OnFocusChangeListener);
+    method public void setOnGenericMotionListener(android.view.View.OnGenericMotionListener);
+    method public void setOnHoverListener(android.view.View.OnHoverListener);
+    method public void setOnKeyListener(android.view.View.OnKeyListener);
+    method public void setOnLongClickListener(@Nullable android.view.View.OnLongClickListener);
+    method public void setOnReceiveContentListener(@Nullable String[], @Nullable android.view.OnReceiveContentListener);
+    method public void setOnScrollChangeListener(android.view.View.OnScrollChangeListener);
+    method @Deprecated public void setOnSystemUiVisibilityChangeListener(android.view.View.OnSystemUiVisibilityChangeListener);
+    method public void setOnTouchListener(android.view.View.OnTouchListener);
+    method public void setOutlineAmbientShadowColor(@ColorInt int);
+    method public void setOutlineProvider(android.view.ViewOutlineProvider);
+    method public void setOutlineSpotShadowColor(@ColorInt int);
+    method public void setOverScrollMode(int);
+    method public void setPadding(int, int, int, int);
+    method public void setPaddingRelative(int, int, int, int);
+    method public void setPivotX(float);
+    method public void setPivotY(float);
+    method public void setPointerIcon(android.view.PointerIcon);
+    method public void setPressed(boolean);
+    method public void setRenderEffect(@Nullable android.graphics.RenderEffect);
+    method public final void setRevealOnFocusHint(boolean);
+    method public final void setRight(int);
+    method public void setRotation(float);
+    method public void setRotationX(float);
+    method public void setRotationY(float);
+    method public void setSaveEnabled(boolean);
+    method public void setSaveFromParentEnabled(boolean);
+    method public void setScaleX(float);
+    method public void setScaleY(float);
+    method public void setScreenReaderFocusable(boolean);
+    method public void setScrollBarDefaultDelayBeforeFade(int);
+    method public void setScrollBarFadeDuration(int);
+    method public void setScrollBarSize(int);
+    method public void setScrollBarStyle(int);
+    method public final void setScrollCaptureCallback(@Nullable android.view.ScrollCaptureCallback);
+    method public void setScrollCaptureHint(int);
+    method public void setScrollContainer(boolean);
+    method public void setScrollIndicators(int);
+    method public void setScrollIndicators(int, int);
+    method public void setScrollX(int);
+    method public void setScrollY(int);
+    method public void setScrollbarFadingEnabled(boolean);
+    method public void setSelected(boolean);
+    method public void setSoundEffectsEnabled(boolean);
+    method public void setStateDescription(@Nullable CharSequence);
+    method public void setStateListAnimator(android.animation.StateListAnimator);
+    method public void setSystemGestureExclusionRects(@NonNull java.util.List<android.graphics.Rect>);
+    method @Deprecated public void setSystemUiVisibility(int);
+    method public void setTag(Object);
+    method public void setTag(int, Object);
+    method public void setTextAlignment(int);
+    method public void setTextDirection(int);
+    method public void setTooltipText(@Nullable CharSequence);
+    method public final void setTop(int);
+    method public void setTouchDelegate(android.view.TouchDelegate);
+    method public void setTransitionAlpha(float);
+    method public final void setTransitionName(String);
+    method public void setTransitionVisibility(int);
+    method public void setTranslationX(float);
+    method public void setTranslationY(float);
+    method public void setTranslationZ(float);
+    method public void setVerticalFadingEdgeEnabled(boolean);
+    method public void setVerticalScrollBarEnabled(boolean);
+    method public void setVerticalScrollbarPosition(int);
+    method public void setVerticalScrollbarThumbDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setVerticalScrollbarTrackDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setViewTranslationCallback(@NonNull android.view.translation.ViewTranslationCallback);
+    method public void setVisibility(int);
+    method @Deprecated public void setWillNotCacheDrawing(boolean);
+    method public void setWillNotDraw(boolean);
+    method public void setWindowInsetsAnimationCallback(@Nullable android.view.WindowInsetsAnimation.Callback);
+    method public void setX(float);
+    method public void setY(float);
+    method public void setZ(float);
+    method public boolean showContextMenu();
+    method public boolean showContextMenu(float, float);
+    method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int);
+    method public void startAnimation(android.view.animation.Animation);
+    method @Deprecated public final boolean startDrag(android.content.ClipData, android.view.View.DragShadowBuilder, Object, int);
+    method public final boolean startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, Object, int);
+    method public boolean startNestedScroll(int);
+    method public void stopNestedScroll();
+    method public void transformMatrixToGlobal(@NonNull android.graphics.Matrix);
+    method public void transformMatrixToLocal(@NonNull android.graphics.Matrix);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+    method public void unscheduleDrawable(android.graphics.drawable.Drawable);
+    method public final void updateDragShadow(android.view.View.DragShadowBuilder);
+    method @CallSuper protected boolean verifyDrawable(@NonNull android.graphics.drawable.Drawable);
+    method @Deprecated public boolean willNotCacheDrawing();
+    method public boolean willNotDraw();
+    field public static final int ACCESSIBILITY_LIVE_REGION_ASSERTIVE = 2; // 0x2
+    field public static final int ACCESSIBILITY_LIVE_REGION_NONE = 0; // 0x0
+    field public static final int ACCESSIBILITY_LIVE_REGION_POLITE = 1; // 0x1
+    field public static final android.util.Property<android.view.View,java.lang.Float> ALPHA;
+    field public static final int AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS = 1; // 0x1
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE = "creditCardExpirationDate";
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY = "creditCardExpirationDay";
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH = "creditCardExpirationMonth";
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR = "creditCardExpirationYear";
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_NUMBER = "creditCardNumber";
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE = "creditCardSecurityCode";
+    field public static final String AUTOFILL_HINT_EMAIL_ADDRESS = "emailAddress";
+    field public static final String AUTOFILL_HINT_NAME = "name";
+    field public static final String AUTOFILL_HINT_PASSWORD = "password";
+    field public static final String AUTOFILL_HINT_PHONE = "phone";
+    field public static final String AUTOFILL_HINT_POSTAL_ADDRESS = "postalAddress";
+    field public static final String AUTOFILL_HINT_POSTAL_CODE = "postalCode";
+    field public static final String AUTOFILL_HINT_USERNAME = "username";
+    field public static final int AUTOFILL_TYPE_DATE = 4; // 0x4
+    field public static final int AUTOFILL_TYPE_LIST = 3; // 0x3
+    field public static final int AUTOFILL_TYPE_NONE = 0; // 0x0
+    field public static final int AUTOFILL_TYPE_TEXT = 1; // 0x1
+    field public static final int AUTOFILL_TYPE_TOGGLE = 2; // 0x2
+    field public static final int DRAG_FLAG_ACCESSIBILITY_ACTION = 1024; // 0x400
+    field public static final int DRAG_FLAG_GLOBAL = 256; // 0x100
+    field public static final int DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION = 64; // 0x40
+    field public static final int DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION = 128; // 0x80
+    field public static final int DRAG_FLAG_GLOBAL_URI_READ = 1; // 0x1
+    field public static final int DRAG_FLAG_GLOBAL_URI_WRITE = 2; // 0x2
+    field public static final int DRAG_FLAG_OPAQUE = 512; // 0x200
+    field @Deprecated public static final int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0
+    field @Deprecated public static final int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000
+    field @Deprecated public static final int DRAWING_CACHE_QUALITY_LOW = 524288; // 0x80000
+    field protected static final int[] EMPTY_STATE_SET;
+    field protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET;
+    field protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] ENABLED_FOCUSED_STATE_SET;
+    field protected static final int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] ENABLED_SELECTED_STATE_SET;
+    field protected static final int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] ENABLED_STATE_SET;
+    field protected static final int[] ENABLED_WINDOW_FOCUSED_STATE_SET;
+    field public static final int FIND_VIEWS_WITH_CONTENT_DESCRIPTION = 2; // 0x2
+    field public static final int FIND_VIEWS_WITH_TEXT = 1; // 0x1
+    field public static final int FOCUSABLE = 1; // 0x1
+    field public static final int FOCUSABLES_ALL = 0; // 0x0
+    field public static final int FOCUSABLES_TOUCH_MODE = 1; // 0x1
+    field public static final int FOCUSABLE_AUTO = 16; // 0x10
+    field protected static final int[] FOCUSED_SELECTED_STATE_SET;
+    field protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] FOCUSED_STATE_SET;
+    field protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET;
+    field public static final int FOCUS_BACKWARD = 1; // 0x1
+    field public static final int FOCUS_DOWN = 130; // 0x82
+    field public static final int FOCUS_FORWARD = 2; // 0x2
+    field public static final int FOCUS_LEFT = 17; // 0x11
+    field public static final int FOCUS_RIGHT = 66; // 0x42
+    field public static final int FOCUS_UP = 33; // 0x21
+    field public static final int GONE = 8; // 0x8
+    field public static final int HAPTIC_FEEDBACK_ENABLED = 268435456; // 0x10000000
+    field public static final int IMPORTANT_FOR_ACCESSIBILITY_AUTO = 0; // 0x0
+    field public static final int IMPORTANT_FOR_ACCESSIBILITY_NO = 2; // 0x2
+    field public static final int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS = 4; // 0x4
+    field public static final int IMPORTANT_FOR_ACCESSIBILITY_YES = 1; // 0x1
+    field public static final int IMPORTANT_FOR_AUTOFILL_AUTO = 0; // 0x0
+    field public static final int IMPORTANT_FOR_AUTOFILL_NO = 2; // 0x2
+    field public static final int IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS = 8; // 0x8
+    field public static final int IMPORTANT_FOR_AUTOFILL_YES = 1; // 0x1
+    field public static final int IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS = 4; // 0x4
+    field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_AUTO = 0; // 0x0
+    field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO = 2; // 0x2
+    field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS = 8; // 0x8
+    field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES = 1; // 0x1
+    field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS = 4; // 0x4
+    field public static final int INVISIBLE = 4; // 0x4
+    field public static final int KEEP_SCREEN_ON = 67108864; // 0x4000000
+    field public static final int LAYER_TYPE_HARDWARE = 2; // 0x2
+    field public static final int LAYER_TYPE_NONE = 0; // 0x0
+    field public static final int LAYER_TYPE_SOFTWARE = 1; // 0x1
+    field public static final int LAYOUT_DIRECTION_INHERIT = 2; // 0x2
+    field public static final int LAYOUT_DIRECTION_LOCALE = 3; // 0x3
+    field public static final int LAYOUT_DIRECTION_LTR = 0; // 0x0
+    field public static final int LAYOUT_DIRECTION_RTL = 1; // 0x1
+    field public static final int MEASURED_HEIGHT_STATE_SHIFT = 16; // 0x10
+    field public static final int MEASURED_SIZE_MASK = 16777215; // 0xffffff
+    field public static final int MEASURED_STATE_MASK = -16777216; // 0xff000000
+    field public static final int MEASURED_STATE_TOO_SMALL = 16777216; // 0x1000000
+    field public static final int NOT_FOCUSABLE = 0; // 0x0
+    field public static final int NO_ID = -1; // 0xffffffff
+    field public static final int OVER_SCROLL_ALWAYS = 0; // 0x0
+    field public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1; // 0x1
+    field public static final int OVER_SCROLL_NEVER = 2; // 0x2
+    field protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_SELECTED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_FOCUSED_SELECTED_STATE_SET;
+    field protected static final int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_SELECTED_STATE_SET;
+    field protected static final int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_STATE_SET;
+    field protected static final int[] PRESSED_WINDOW_FOCUSED_STATE_SET;
+    field public static final android.util.Property<android.view.View,java.lang.Float> ROTATION;
+    field public static final android.util.Property<android.view.View,java.lang.Float> ROTATION_X;
+    field public static final android.util.Property<android.view.View,java.lang.Float> ROTATION_Y;
+    field public static final android.util.Property<android.view.View,java.lang.Float> SCALE_X;
+    field public static final android.util.Property<android.view.View,java.lang.Float> SCALE_Y;
+    field public static final int SCREEN_STATE_OFF = 0; // 0x0
+    field public static final int SCREEN_STATE_ON = 1; // 0x1
+    field public static final int SCROLLBARS_INSIDE_INSET = 16777216; // 0x1000000
+    field public static final int SCROLLBARS_INSIDE_OVERLAY = 0; // 0x0
+    field public static final int SCROLLBARS_OUTSIDE_INSET = 50331648; // 0x3000000
+    field public static final int SCROLLBARS_OUTSIDE_OVERLAY = 33554432; // 0x2000000
+    field public static final int SCROLLBAR_POSITION_DEFAULT = 0; // 0x0
+    field public static final int SCROLLBAR_POSITION_LEFT = 1; // 0x1
+    field public static final int SCROLLBAR_POSITION_RIGHT = 2; // 0x2
+    field public static final int SCROLL_AXIS_HORIZONTAL = 1; // 0x1
+    field public static final int SCROLL_AXIS_NONE = 0; // 0x0
+    field public static final int SCROLL_AXIS_VERTICAL = 2; // 0x2
+    field public static final int SCROLL_CAPTURE_HINT_AUTO = 0; // 0x0
+    field public static final int SCROLL_CAPTURE_HINT_EXCLUDE = 1; // 0x1
+    field public static final int SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS = 4; // 0x4
+    field public static final int SCROLL_CAPTURE_HINT_INCLUDE = 2; // 0x2
+    field public static final int SCROLL_INDICATOR_BOTTOM = 2; // 0x2
+    field public static final int SCROLL_INDICATOR_END = 32; // 0x20
+    field public static final int SCROLL_INDICATOR_LEFT = 4; // 0x4
+    field public static final int SCROLL_INDICATOR_RIGHT = 8; // 0x8
+    field public static final int SCROLL_INDICATOR_START = 16; // 0x10
+    field public static final int SCROLL_INDICATOR_TOP = 1; // 0x1
+    field protected static final int[] SELECTED_STATE_SET;
+    field protected static final int[] SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field public static final int SOUND_EFFECTS_ENABLED = 134217728; // 0x8000000
+    field @Deprecated public static final int STATUS_BAR_HIDDEN = 1; // 0x1
+    field @Deprecated public static final int STATUS_BAR_VISIBLE = 0; // 0x0
+    field @Deprecated public static final int SYSTEM_UI_FLAG_FULLSCREEN = 4; // 0x4
+    field @Deprecated public static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION = 2; // 0x2
+    field @Deprecated public static final int SYSTEM_UI_FLAG_IMMERSIVE = 2048; // 0x800
+    field @Deprecated public static final int SYSTEM_UI_FLAG_IMMERSIVE_STICKY = 4096; // 0x1000
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN = 1024; // 0x400
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION = 512; // 0x200
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LAYOUT_STABLE = 256; // 0x100
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR = 16; // 0x10
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR = 8192; // 0x2000
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LOW_PROFILE = 1; // 0x1
+    field @Deprecated public static final int SYSTEM_UI_FLAG_VISIBLE = 0; // 0x0
+    field @Deprecated public static final int SYSTEM_UI_LAYOUT_FLAGS = 1536; // 0x600
+    field public static final int TEXT_ALIGNMENT_CENTER = 4; // 0x4
+    field public static final int TEXT_ALIGNMENT_GRAVITY = 1; // 0x1
+    field public static final int TEXT_ALIGNMENT_INHERIT = 0; // 0x0
+    field public static final int TEXT_ALIGNMENT_TEXT_END = 3; // 0x3
+    field public static final int TEXT_ALIGNMENT_TEXT_START = 2; // 0x2
+    field public static final int TEXT_ALIGNMENT_VIEW_END = 6; // 0x6
+    field public static final int TEXT_ALIGNMENT_VIEW_START = 5; // 0x5
+    field public static final int TEXT_DIRECTION_ANY_RTL = 2; // 0x2
+    field public static final int TEXT_DIRECTION_FIRST_STRONG = 1; // 0x1
+    field public static final int TEXT_DIRECTION_FIRST_STRONG_LTR = 6; // 0x6
+    field public static final int TEXT_DIRECTION_FIRST_STRONG_RTL = 7; // 0x7
+    field public static final int TEXT_DIRECTION_INHERIT = 0; // 0x0
+    field public static final int TEXT_DIRECTION_LOCALE = 5; // 0x5
+    field public static final int TEXT_DIRECTION_LTR = 3; // 0x3
+    field public static final int TEXT_DIRECTION_RTL = 4; // 0x4
+    field public static final android.util.Property<android.view.View,java.lang.Float> TRANSLATION_X;
+    field public static final android.util.Property<android.view.View,java.lang.Float> TRANSLATION_Y;
+    field public static final android.util.Property<android.view.View,java.lang.Float> TRANSLATION_Z;
+    field protected static final String VIEW_LOG_TAG = "View";
+    field public static final int VISIBLE = 0; // 0x0
+    field protected static final int[] WINDOW_FOCUSED_STATE_SET;
+    field public static final android.util.Property<android.view.View,java.lang.Float> X;
+    field public static final android.util.Property<android.view.View,java.lang.Float> Y;
+    field public static final android.util.Property<android.view.View,java.lang.Float> Z;
+  }
+
+  public static class View.AccessibilityDelegate {
+    ctor public View.AccessibilityDelegate();
+    method public void addExtraDataToAccessibilityNodeInfo(@NonNull android.view.View, @NonNull android.view.accessibility.AccessibilityNodeInfo, @NonNull String, @Nullable android.os.Bundle);
+    method public boolean dispatchPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider(android.view.View);
+    method public void onInitializeAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public void onInitializeAccessibilityNodeInfo(android.view.View, android.view.accessibility.AccessibilityNodeInfo);
+    method public void onPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public boolean onRequestSendAccessibilityEvent(android.view.ViewGroup, android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public boolean performAccessibilityAction(android.view.View, int, android.os.Bundle);
+    method public void sendAccessibilityEvent(android.view.View, int);
+    method public void sendAccessibilityEventUnchecked(android.view.View, android.view.accessibility.AccessibilityEvent);
+  }
+
+  public static class View.BaseSavedState extends android.view.AbsSavedState {
+    ctor public View.BaseSavedState(android.os.Parcel);
+    ctor public View.BaseSavedState(android.os.Parcel, ClassLoader);
+    ctor public View.BaseSavedState(android.os.Parcelable);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.View.BaseSavedState> CREATOR;
+  }
+
+  public static class View.DragShadowBuilder {
+    ctor public View.DragShadowBuilder(android.view.View);
+    ctor public View.DragShadowBuilder();
+    method public final android.view.View getView();
+    method public void onDrawShadow(android.graphics.Canvas);
+    method public void onProvideShadowMetrics(android.graphics.Point, android.graphics.Point);
+  }
+
+  public static class View.MeasureSpec {
+    ctor public View.MeasureSpec();
+    method public static int getMode(int);
+    method public static int getSize(int);
+    method public static int makeMeasureSpec(@IntRange(from=0, to=0x40000000 - 1) int, int);
+    method public static String toString(int);
+    field public static final int AT_MOST = -2147483648; // 0x80000000
+    field public static final int EXACTLY = 1073741824; // 0x40000000
+    field public static final int UNSPECIFIED = 0; // 0x0
+  }
+
+  public static interface View.OnApplyWindowInsetsListener {
+    method public android.view.WindowInsets onApplyWindowInsets(android.view.View, android.view.WindowInsets);
+  }
+
+  public static interface View.OnAttachStateChangeListener {
+    method public void onViewAttachedToWindow(android.view.View);
+    method public void onViewDetachedFromWindow(android.view.View);
+  }
+
+  public static interface View.OnCapturedPointerListener {
+    method public boolean onCapturedPointer(android.view.View, android.view.MotionEvent);
+  }
+
+  public static interface View.OnClickListener {
+    method public void onClick(android.view.View);
+  }
+
+  public static interface View.OnContextClickListener {
+    method public boolean onContextClick(android.view.View);
+  }
+
+  public static interface View.OnCreateContextMenuListener {
+    method public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+  }
+
+  public static interface View.OnDragListener {
+    method public boolean onDrag(android.view.View, android.view.DragEvent);
+  }
+
+  public static interface View.OnFocusChangeListener {
+    method public void onFocusChange(android.view.View, boolean);
+  }
+
+  public static interface View.OnGenericMotionListener {
+    method public boolean onGenericMotion(android.view.View, android.view.MotionEvent);
+  }
+
+  public static interface View.OnHoverListener {
+    method public boolean onHover(android.view.View, android.view.MotionEvent);
+  }
+
+  public static interface View.OnKeyListener {
+    method public boolean onKey(android.view.View, int, android.view.KeyEvent);
+  }
+
+  public static interface View.OnLayoutChangeListener {
+    method public void onLayoutChange(android.view.View, int, int, int, int, int, int, int, int);
+  }
+
+  public static interface View.OnLongClickListener {
+    method public boolean onLongClick(android.view.View);
+  }
+
+  public static interface View.OnScrollChangeListener {
+    method public void onScrollChange(android.view.View, int, int, int, int);
+  }
+
+  @Deprecated public static interface View.OnSystemUiVisibilityChangeListener {
+    method @Deprecated public void onSystemUiVisibilityChange(int);
+  }
+
+  public static interface View.OnTouchListener {
+    method public boolean onTouch(android.view.View, android.view.MotionEvent);
+  }
+
+  public static interface View.OnUnhandledKeyEventListener {
+    method public boolean onUnhandledKeyEvent(android.view.View, android.view.KeyEvent);
+  }
+
+  public final class ViewAnimationUtils {
+    method public static android.animation.Animator createCircularReveal(android.view.View, int, int, float, float);
+  }
+
+  public class ViewConfiguration {
+    ctor @Deprecated public ViewConfiguration();
+    method public static android.view.ViewConfiguration get(@UiContext android.content.Context);
+    method @Deprecated @FloatRange(from=1.0) public static float getAmbiguousGestureMultiplier();
+    method public static long getDefaultActionModeHideDuration();
+    method public static int getDoubleTapTimeout();
+    method @Deprecated public static int getEdgeSlop();
+    method @Deprecated public static int getFadingEdgeLength();
+    method @Deprecated public static long getGlobalActionKeyTimeout();
+    method public static int getJumpTapTimeout();
+    method public static int getKeyRepeatDelay();
+    method public static int getKeyRepeatTimeout();
+    method public static int getLongPressTimeout();
+    method @Deprecated public static int getMaximumDrawingCacheSize();
+    method @Deprecated public static int getMaximumFlingVelocity();
+    method @Deprecated public static int getMinimumFlingVelocity();
+    method public static int getMultiPressTimeout();
+    method public static int getPressedStateDuration();
+    method @FloatRange(from=1.0) public float getScaledAmbiguousGestureMultiplier();
+    method public int getScaledDoubleTapSlop();
+    method public int getScaledEdgeSlop();
+    method public int getScaledFadingEdgeLength();
+    method public float getScaledHorizontalScrollFactor();
+    method public int getScaledHoverSlop();
+    method public int getScaledMaximumDrawingCacheSize();
+    method public int getScaledMaximumFlingVelocity();
+    method public int getScaledMinimumFlingVelocity();
+    method public int getScaledMinimumScalingSpan();
+    method public int getScaledOverflingDistance();
+    method public int getScaledOverscrollDistance();
+    method public int getScaledPagingTouchSlop();
+    method public int getScaledScrollBarSize();
+    method public int getScaledTouchSlop();
+    method public float getScaledVerticalScrollFactor();
+    method public int getScaledWindowTouchSlop();
+    method public static int getScrollBarFadeDuration();
+    method @Deprecated public static int getScrollBarSize();
+    method public static int getScrollDefaultDelay();
+    method public static float getScrollFriction();
+    method public static int getTapTimeout();
+    method @Deprecated public static int getTouchSlop();
+    method @Deprecated public static int getWindowTouchSlop();
+    method public static long getZoomControlsTimeout();
+    method public boolean hasPermanentMenuKey();
+    method public boolean shouldShowMenuShortcutsWhenKeyboardPresent();
+  }
+
+  public class ViewDebug {
+    ctor public ViewDebug();
+    method public static void dumpCapturedView(String, Object);
+    method @Deprecated public static void startHierarchyTracing(String, android.view.View);
+    method @Deprecated public static void startRecyclerTracing(String, android.view.View);
+    method @Deprecated public static void stopHierarchyTracing();
+    method @Deprecated public static void stopRecyclerTracing();
+    method @Deprecated public static void trace(android.view.View, android.view.ViewDebug.RecyclerTraceType, int...);
+    method @Deprecated public static void trace(android.view.View, android.view.ViewDebug.HierarchyTraceType);
+    field @Deprecated public static final boolean TRACE_HIERARCHY = false;
+    field @Deprecated public static final boolean TRACE_RECYCLER = false;
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD}) public static @interface ViewDebug.CapturedViewProperty {
+    method public abstract boolean retrieveReturn() default false;
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD}) public static @interface ViewDebug.ExportedProperty {
+    method public abstract String category() default "";
+    method public abstract boolean deepExport() default false;
+    method public abstract android.view.ViewDebug.FlagToString[] flagMapping() default {};
+    method public abstract boolean formatToHexString() default false;
+    method public abstract boolean hasAdjacentMapping() default false;
+    method public abstract android.view.ViewDebug.IntToString[] indexMapping() default {};
+    method public abstract android.view.ViewDebug.IntToString[] mapping() default {};
+    method public abstract String prefix() default "";
+    method public abstract boolean resolveId() default false;
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface ViewDebug.FlagToString {
+    method public abstract int equals();
+    method public abstract int mask();
+    method public abstract String name();
+    method public abstract boolean outputIf() default true;
+  }
+
+  @Deprecated public enum ViewDebug.HierarchyTraceType {
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType BUILD_CACHE;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType DRAW;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType INVALIDATE;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType INVALIDATE_CHILD;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType INVALIDATE_CHILD_IN_PARENT;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType ON_LAYOUT;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType ON_MEASURE;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType REQUEST_LAYOUT;
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface ViewDebug.IntToString {
+    method public abstract int from();
+    method public abstract String to();
+  }
+
+  @Deprecated public enum ViewDebug.RecyclerTraceType {
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType BIND_VIEW;
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType MOVE_FROM_ACTIVE_TO_SCRAP_HEAP;
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType MOVE_TO_SCRAP_HEAP;
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType NEW_VIEW;
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType RECYCLE_FROM_ACTIVE_HEAP;
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType RECYCLE_FROM_SCRAP_HEAP;
+  }
+
+  @UiThread public abstract class ViewGroup extends android.view.View implements android.view.ViewManager android.view.ViewParent {
+    ctor public ViewGroup(android.content.Context);
+    ctor public ViewGroup(android.content.Context, android.util.AttributeSet);
+    ctor public ViewGroup(android.content.Context, android.util.AttributeSet, int);
+    ctor public ViewGroup(android.content.Context, android.util.AttributeSet, int, int);
+    method public boolean addStatesFromChildren();
+    method public void addView(android.view.View);
+    method public void addView(android.view.View, int);
+    method public void addView(android.view.View, int, int);
+    method public void addView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public void addView(android.view.View, int, android.view.ViewGroup.LayoutParams);
+    method protected boolean addViewInLayout(android.view.View, int, android.view.ViewGroup.LayoutParams);
+    method protected boolean addViewInLayout(android.view.View, int, android.view.ViewGroup.LayoutParams, boolean);
+    method protected void attachLayoutAnimationParameters(android.view.View, android.view.ViewGroup.LayoutParams, int, int);
+    method protected void attachViewToParent(android.view.View, int, android.view.ViewGroup.LayoutParams);
+    method public void bringChildToFront(android.view.View);
+    method protected boolean canAnimate();
+    method protected boolean checkLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public void childDrawableStateChanged(android.view.View);
+    method public void childHasTransientStateChanged(android.view.View, boolean);
+    method protected void cleanupLayoutState(android.view.View);
+    method public void clearChildFocus(android.view.View);
+    method public void clearDisappearingChildren();
+    method protected void debug(int);
+    method protected void detachAllViewsFromParent();
+    method protected void detachViewFromParent(android.view.View);
+    method protected void detachViewFromParent(int);
+    method protected void detachViewsFromParent(int, int);
+    method protected void dispatchFreezeSelfOnly(android.util.SparseArray<android.os.Parcelable>);
+    method public void dispatchSetActivated(boolean);
+    method public void dispatchSetSelected(boolean);
+    method protected void dispatchThawSelfOnly(android.util.SparseArray<android.os.Parcelable>);
+    method protected boolean drawChild(android.graphics.Canvas, android.view.View, long);
+    method public void endViewTransition(android.view.View);
+    method public android.view.View focusSearch(android.view.View, int);
+    method public void focusableViewAvailable(android.view.View);
+    method protected android.view.ViewGroup.LayoutParams generateDefaultLayoutParams();
+    method public android.view.ViewGroup.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method protected android.view.ViewGroup.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public android.view.View getChildAt(int);
+    method public int getChildCount();
+    method protected int getChildDrawingOrder(int, int);
+    method public final int getChildDrawingOrder(int);
+    method public static int getChildMeasureSpec(int, int, int);
+    method protected boolean getChildStaticTransformation(android.view.View, android.view.animation.Transformation);
+    method public boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point);
+    method public boolean getClipChildren();
+    method public boolean getClipToPadding();
+    method public int getDescendantFocusability();
+    method public android.view.View getFocusedChild();
+    method public android.view.animation.LayoutAnimationController getLayoutAnimation();
+    method public android.view.animation.Animation.AnimationListener getLayoutAnimationListener();
+    method public int getLayoutMode();
+    method public android.animation.LayoutTransition getLayoutTransition();
+    method public int getNestedScrollAxes();
+    method public android.view.ViewGroupOverlay getOverlay();
+    method @Deprecated public int getPersistentDrawingCache();
+    method public boolean getTouchscreenBlocksFocus();
+    method public int indexOfChild(android.view.View);
+    method @Deprecated public final void invalidateChild(android.view.View, android.graphics.Rect);
+    method @Deprecated public android.view.ViewParent invalidateChildInParent(int[], android.graphics.Rect);
+    method @Deprecated public boolean isAlwaysDrawnWithCacheEnabled();
+    method @Deprecated public boolean isAnimationCacheEnabled();
+    method protected boolean isChildrenDrawingOrderEnabled();
+    method @Deprecated protected boolean isChildrenDrawnWithCacheEnabled();
+    method public boolean isLayoutSuppressed();
+    method public boolean isMotionEventSplittingEnabled();
+    method public boolean isTransitionGroup();
+    method public final void layout(int, int, int, int);
+    method protected void measureChild(android.view.View, int, int);
+    method protected void measureChildWithMargins(android.view.View, int, int, int, int);
+    method protected void measureChildren(int, int);
+    method public void notifySubtreeAccessibilityStateChanged(android.view.View, android.view.View, int);
+    method public final void offsetDescendantRectToMyCoords(android.view.View, android.graphics.Rect);
+    method public final void offsetRectIntoDescendantCoords(android.view.View, android.graphics.Rect);
+    method public boolean onInterceptHoverEvent(android.view.MotionEvent);
+    method public boolean onInterceptTouchEvent(android.view.MotionEvent);
+    method protected abstract void onLayout(boolean, int, int, int, int);
+    method public boolean onNestedFling(android.view.View, float, float, boolean);
+    method public boolean onNestedPreFling(android.view.View, float, float);
+    method public boolean onNestedPrePerformAccessibilityAction(android.view.View, int, android.os.Bundle);
+    method public void onNestedPreScroll(android.view.View, int, int, int[]);
+    method public void onNestedScroll(android.view.View, int, int, int, int);
+    method public void onNestedScrollAccepted(android.view.View, android.view.View, int);
+    method protected boolean onRequestFocusInDescendants(int, android.graphics.Rect);
+    method public boolean onRequestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public boolean onStartNestedScroll(android.view.View, android.view.View, int);
+    method public void onStopNestedScroll(android.view.View);
+    method public void onViewAdded(android.view.View);
+    method public void onViewRemoved(android.view.View);
+    method public void recomputeViewAttributes(android.view.View);
+    method public void removeAllViews();
+    method public void removeAllViewsInLayout();
+    method protected void removeDetachedView(android.view.View, boolean);
+    method public void removeView(android.view.View);
+    method public void removeViewAt(int);
+    method public void removeViewInLayout(android.view.View);
+    method public void removeViews(int, int);
+    method public void removeViewsInLayout(int, int);
+    method public void requestChildFocus(android.view.View, android.view.View);
+    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
+    method public void requestDisallowInterceptTouchEvent(boolean);
+    method public boolean requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public void requestTransparentRegion(android.view.View);
+    method public void scheduleLayoutAnimation();
+    method public void setAddStatesFromChildren(boolean);
+    method @Deprecated public void setAlwaysDrawnWithCacheEnabled(boolean);
+    method @Deprecated public void setAnimationCacheEnabled(boolean);
+    method @Deprecated protected void setChildrenDrawingCacheEnabled(boolean);
+    method protected void setChildrenDrawingOrderEnabled(boolean);
+    method @Deprecated protected void setChildrenDrawnWithCacheEnabled(boolean);
+    method public void setClipChildren(boolean);
+    method public void setClipToPadding(boolean);
+    method public void setDescendantFocusability(int);
+    method public void setLayoutAnimation(android.view.animation.LayoutAnimationController);
+    method public void setLayoutAnimationListener(android.view.animation.Animation.AnimationListener);
+    method public void setLayoutMode(int);
+    method public void setLayoutTransition(android.animation.LayoutTransition);
+    method public void setMotionEventSplittingEnabled(boolean);
+    method public void setOnHierarchyChangeListener(android.view.ViewGroup.OnHierarchyChangeListener);
+    method @Deprecated public void setPersistentDrawingCache(int);
+    method protected void setStaticTransformationsEnabled(boolean);
+    method public void setTouchscreenBlocksFocus(boolean);
+    method public void setTransitionGroup(boolean);
+    method public boolean shouldDelayChildPressedState();
+    method public boolean showContextMenuForChild(android.view.View);
+    method public boolean showContextMenuForChild(android.view.View, float, float);
+    method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback, int);
+    method public void startLayoutAnimation();
+    method public void startViewTransition(android.view.View);
+    method public void suppressLayout(boolean);
+    method public void updateViewLayout(android.view.View, android.view.ViewGroup.LayoutParams);
+    field protected static final int CLIP_TO_PADDING_MASK = 34; // 0x22
+    field public static final int FOCUS_AFTER_DESCENDANTS = 262144; // 0x40000
+    field public static final int FOCUS_BEFORE_DESCENDANTS = 131072; // 0x20000
+    field public static final int FOCUS_BLOCK_DESCENDANTS = 393216; // 0x60000
+    field public static final int LAYOUT_MODE_CLIP_BOUNDS = 0; // 0x0
+    field public static final int LAYOUT_MODE_OPTICAL_BOUNDS = 1; // 0x1
+    field @Deprecated public static final int PERSISTENT_ALL_CACHES = 3; // 0x3
+    field @Deprecated public static final int PERSISTENT_ANIMATION_CACHE = 1; // 0x1
+    field @Deprecated public static final int PERSISTENT_NO_CACHE = 0; // 0x0
+    field @Deprecated public static final int PERSISTENT_SCROLLING_CACHE = 2; // 0x2
+  }
+
+  public static class ViewGroup.LayoutParams {
+    ctor public ViewGroup.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public ViewGroup.LayoutParams(int, int);
+    ctor public ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams);
+    method public void resolveLayoutDirection(int);
+    method protected void setBaseAttributes(android.content.res.TypedArray, int, int);
+    field @Deprecated public static final int FILL_PARENT = -1; // 0xffffffff
+    field public static final int MATCH_PARENT = -1; // 0xffffffff
+    field public static final int WRAP_CONTENT = -2; // 0xfffffffe
+    field public int height;
+    field public android.view.animation.LayoutAnimationController.AnimationParameters layoutAnimationParameters;
+    field public int width;
+  }
+
+  public static class ViewGroup.MarginLayoutParams extends android.view.ViewGroup.LayoutParams {
+    ctor public ViewGroup.MarginLayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public ViewGroup.MarginLayoutParams(int, int);
+    ctor public ViewGroup.MarginLayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    ctor public ViewGroup.MarginLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public int getLayoutDirection();
+    method public int getMarginEnd();
+    method public int getMarginStart();
+    method public boolean isMarginRelative();
+    method public void setLayoutDirection(int);
+    method public void setMarginEnd(int);
+    method public void setMarginStart(int);
+    method public void setMargins(int, int, int, int);
+    field public int bottomMargin;
+    field public int leftMargin;
+    field public int rightMargin;
+    field public int topMargin;
+  }
+
+  public static interface ViewGroup.OnHierarchyChangeListener {
+    method public void onChildViewAdded(android.view.View, android.view.View);
+    method public void onChildViewRemoved(android.view.View, android.view.View);
+  }
+
+  public class ViewGroupOverlay extends android.view.ViewOverlay {
+    method public void add(@NonNull android.view.View);
+    method public void remove(@NonNull android.view.View);
+  }
+
+  public interface ViewManager {
+    method public void addView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public void removeView(android.view.View);
+    method public void updateViewLayout(android.view.View, android.view.ViewGroup.LayoutParams);
+  }
+
+  public abstract class ViewOutlineProvider {
+    ctor public ViewOutlineProvider();
+    method public abstract void getOutline(android.view.View, android.graphics.Outline);
+    field public static final android.view.ViewOutlineProvider BACKGROUND;
+    field public static final android.view.ViewOutlineProvider BOUNDS;
+    field public static final android.view.ViewOutlineProvider PADDED_BOUNDS;
+  }
+
+  public class ViewOverlay {
+    method public void add(@NonNull android.graphics.drawable.Drawable);
+    method public void clear();
+    method public void remove(@NonNull android.graphics.drawable.Drawable);
+  }
+
+  public interface ViewParent {
+    method public void bringChildToFront(android.view.View);
+    method public boolean canResolveLayoutDirection();
+    method public boolean canResolveTextAlignment();
+    method public boolean canResolveTextDirection();
+    method public void childDrawableStateChanged(android.view.View);
+    method public void childHasTransientStateChanged(android.view.View, boolean);
+    method public void clearChildFocus(android.view.View);
+    method public void createContextMenu(android.view.ContextMenu);
+    method public android.view.View focusSearch(android.view.View, int);
+    method public void focusableViewAvailable(android.view.View);
+    method public boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point);
+    method public int getLayoutDirection();
+    method public android.view.ViewParent getParent();
+    method public android.view.ViewParent getParentForAccessibility();
+    method public int getTextAlignment();
+    method public int getTextDirection();
+    method @Deprecated public void invalidateChild(android.view.View, android.graphics.Rect);
+    method @Deprecated public android.view.ViewParent invalidateChildInParent(int[], android.graphics.Rect);
+    method public boolean isLayoutDirectionResolved();
+    method public boolean isLayoutRequested();
+    method public boolean isTextAlignmentResolved();
+    method public boolean isTextDirectionResolved();
+    method public android.view.View keyboardNavigationClusterSearch(android.view.View, int);
+    method public void notifySubtreeAccessibilityStateChanged(android.view.View, @NonNull android.view.View, int);
+    method public default void onDescendantInvalidated(@NonNull android.view.View, @NonNull android.view.View);
+    method public boolean onNestedFling(android.view.View, float, float, boolean);
+    method public boolean onNestedPreFling(android.view.View, float, float);
+    method public boolean onNestedPrePerformAccessibilityAction(android.view.View, int, android.os.Bundle);
+    method public void onNestedPreScroll(android.view.View, int, int, int[]);
+    method public void onNestedScroll(android.view.View, int, int, int, int);
+    method public void onNestedScrollAccepted(android.view.View, android.view.View, int);
+    method public boolean onStartNestedScroll(android.view.View, android.view.View, int);
+    method public void onStopNestedScroll(android.view.View);
+    method public void recomputeViewAttributes(android.view.View);
+    method public void requestChildFocus(android.view.View, android.view.View);
+    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
+    method public void requestDisallowInterceptTouchEvent(boolean);
+    method public void requestFitSystemWindows();
+    method public void requestLayout();
+    method public boolean requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public void requestTransparentRegion(android.view.View);
+    method public boolean showContextMenuForChild(android.view.View);
+    method public boolean showContextMenuForChild(android.view.View, float, float);
+    method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback, int);
+  }
+
+  public class ViewPropertyAnimator {
+    method public android.view.ViewPropertyAnimator alpha(@FloatRange(from=0.0f, to=1.0f) float);
+    method public android.view.ViewPropertyAnimator alphaBy(float);
+    method public void cancel();
+    method public long getDuration();
+    method public android.animation.TimeInterpolator getInterpolator();
+    method public long getStartDelay();
+    method public android.view.ViewPropertyAnimator rotation(float);
+    method public android.view.ViewPropertyAnimator rotationBy(float);
+    method public android.view.ViewPropertyAnimator rotationX(float);
+    method public android.view.ViewPropertyAnimator rotationXBy(float);
+    method public android.view.ViewPropertyAnimator rotationY(float);
+    method public android.view.ViewPropertyAnimator rotationYBy(float);
+    method public android.view.ViewPropertyAnimator scaleX(float);
+    method public android.view.ViewPropertyAnimator scaleXBy(float);
+    method public android.view.ViewPropertyAnimator scaleY(float);
+    method public android.view.ViewPropertyAnimator scaleYBy(float);
+    method public android.view.ViewPropertyAnimator setDuration(long);
+    method public android.view.ViewPropertyAnimator setInterpolator(android.animation.TimeInterpolator);
+    method public android.view.ViewPropertyAnimator setListener(android.animation.Animator.AnimatorListener);
+    method public android.view.ViewPropertyAnimator setStartDelay(long);
+    method public android.view.ViewPropertyAnimator setUpdateListener(android.animation.ValueAnimator.AnimatorUpdateListener);
+    method public void start();
+    method public android.view.ViewPropertyAnimator translationX(float);
+    method public android.view.ViewPropertyAnimator translationXBy(float);
+    method public android.view.ViewPropertyAnimator translationY(float);
+    method public android.view.ViewPropertyAnimator translationYBy(float);
+    method public android.view.ViewPropertyAnimator translationZ(float);
+    method public android.view.ViewPropertyAnimator translationZBy(float);
+    method public android.view.ViewPropertyAnimator withEndAction(Runnable);
+    method public android.view.ViewPropertyAnimator withLayer();
+    method public android.view.ViewPropertyAnimator withStartAction(Runnable);
+    method public android.view.ViewPropertyAnimator x(float);
+    method public android.view.ViewPropertyAnimator xBy(float);
+    method public android.view.ViewPropertyAnimator y(float);
+    method public android.view.ViewPropertyAnimator yBy(float);
+    method public android.view.ViewPropertyAnimator z(float);
+    method public android.view.ViewPropertyAnimator zBy(float);
+  }
+
+  public abstract class ViewStructure {
+    ctor public ViewStructure();
+    method public abstract int addChildCount(int);
+    method public abstract void asyncCommit();
+    method public abstract android.view.ViewStructure asyncNewChild(int);
+    method @Nullable public abstract android.view.autofill.AutofillId getAutofillId();
+    method public abstract int getChildCount();
+    method public abstract android.os.Bundle getExtras();
+    method public abstract CharSequence getHint();
+    method public abstract CharSequence getText();
+    method public abstract int getTextSelectionEnd();
+    method public abstract int getTextSelectionStart();
+    method public abstract boolean hasExtras();
+    method public abstract android.view.ViewStructure newChild(int);
+    method public abstract android.view.ViewStructure.HtmlInfo.Builder newHtmlInfoBuilder(@NonNull String);
+    method public abstract void setAccessibilityFocused(boolean);
+    method public abstract void setActivated(boolean);
+    method public abstract void setAlpha(float);
+    method public abstract void setAutofillHints(@Nullable String[]);
+    method public abstract void setAutofillId(@NonNull android.view.autofill.AutofillId);
+    method public abstract void setAutofillId(@NonNull android.view.autofill.AutofillId, int);
+    method public abstract void setAutofillOptions(CharSequence[]);
+    method public abstract void setAutofillType(int);
+    method public abstract void setAutofillValue(android.view.autofill.AutofillValue);
+    method public abstract void setCheckable(boolean);
+    method public abstract void setChecked(boolean);
+    method public abstract void setChildCount(int);
+    method public abstract void setClassName(String);
+    method public abstract void setClickable(boolean);
+    method public abstract void setContentDescription(CharSequence);
+    method public abstract void setContextClickable(boolean);
+    method public abstract void setDataIsSensitive(boolean);
+    method public abstract void setDimens(int, int, int, int, int, int);
+    method public abstract void setElevation(float);
+    method public abstract void setEnabled(boolean);
+    method public abstract void setFocusable(boolean);
+    method public abstract void setFocused(boolean);
+    method public abstract void setHint(CharSequence);
+    method public void setHintIdEntry(@NonNull String);
+    method public abstract void setHtmlInfo(@NonNull android.view.ViewStructure.HtmlInfo);
+    method public abstract void setId(int, String, String, String);
+    method public void setImportantForAutofill(int);
+    method public abstract void setInputType(int);
+    method public abstract void setLocaleList(android.os.LocaleList);
+    method public abstract void setLongClickable(boolean);
+    method public void setMaxTextEms(int);
+    method public void setMaxTextLength(int);
+    method public void setMinTextEms(int);
+    method public abstract void setOpaque(boolean);
+    method public void setReceiveContentMimeTypes(@Nullable String[]);
+    method public abstract void setSelected(boolean);
+    method public abstract void setText(CharSequence);
+    method public abstract void setText(CharSequence, int, int);
+    method public void setTextIdEntry(@NonNull String);
+    method public abstract void setTextLines(int[], int[]);
+    method public abstract void setTextStyle(float, int, int, int);
+    method public abstract void setTransformation(android.graphics.Matrix);
+    method public abstract void setVisibility(int);
+    method public abstract void setWebDomain(@Nullable String);
+  }
+
+  public abstract static class ViewStructure.HtmlInfo {
+    ctor public ViewStructure.HtmlInfo();
+    method @Nullable public abstract java.util.List<android.util.Pair<java.lang.String,java.lang.String>> getAttributes();
+    method @NonNull public abstract String getTag();
+  }
+
+  public abstract static class ViewStructure.HtmlInfo.Builder {
+    ctor public ViewStructure.HtmlInfo.Builder();
+    method public abstract android.view.ViewStructure.HtmlInfo.Builder addAttribute(@NonNull String, @NonNull String);
+    method public abstract android.view.ViewStructure.HtmlInfo build();
+  }
+
+  @android.widget.RemoteViews.RemoteView public final class ViewStub extends android.view.View {
+    ctor public ViewStub(android.content.Context);
+    ctor public ViewStub(android.content.Context, @LayoutRes int);
+    ctor public ViewStub(android.content.Context, android.util.AttributeSet);
+    ctor public ViewStub(android.content.Context, android.util.AttributeSet, int);
+    ctor public ViewStub(android.content.Context, android.util.AttributeSet, int, int);
+    method @IdRes public int getInflatedId();
+    method public android.view.LayoutInflater getLayoutInflater();
+    method @LayoutRes public int getLayoutResource();
+    method public android.view.View inflate();
+    method public void setInflatedId(@IdRes int);
+    method public void setLayoutInflater(android.view.LayoutInflater);
+    method public void setLayoutResource(@LayoutRes int);
+    method public void setOnInflateListener(android.view.ViewStub.OnInflateListener);
+  }
+
+  public static interface ViewStub.OnInflateListener {
+    method public void onInflate(android.view.ViewStub, android.view.View);
+  }
+
+  public final class ViewTreeObserver {
+    method public void addOnDrawListener(android.view.ViewTreeObserver.OnDrawListener);
+    method public void addOnGlobalFocusChangeListener(android.view.ViewTreeObserver.OnGlobalFocusChangeListener);
+    method public void addOnGlobalLayoutListener(android.view.ViewTreeObserver.OnGlobalLayoutListener);
+    method public void addOnPreDrawListener(android.view.ViewTreeObserver.OnPreDrawListener);
+    method public void addOnScrollChangedListener(android.view.ViewTreeObserver.OnScrollChangedListener);
+    method public void addOnSystemGestureExclusionRectsChangedListener(@NonNull java.util.function.Consumer<java.util.List<android.graphics.Rect>>);
+    method public void addOnTouchModeChangeListener(android.view.ViewTreeObserver.OnTouchModeChangeListener);
+    method public void addOnWindowAttachListener(android.view.ViewTreeObserver.OnWindowAttachListener);
+    method public void addOnWindowFocusChangeListener(android.view.ViewTreeObserver.OnWindowFocusChangeListener);
+    method public void dispatchOnDraw();
+    method public void dispatchOnGlobalLayout();
+    method public boolean dispatchOnPreDraw();
+    method public boolean isAlive();
+    method public void registerFrameCommitCallback(@NonNull Runnable);
+    method @Deprecated public void removeGlobalOnLayoutListener(android.view.ViewTreeObserver.OnGlobalLayoutListener);
+    method public void removeOnDrawListener(android.view.ViewTreeObserver.OnDrawListener);
+    method public void removeOnGlobalFocusChangeListener(android.view.ViewTreeObserver.OnGlobalFocusChangeListener);
+    method public void removeOnGlobalLayoutListener(android.view.ViewTreeObserver.OnGlobalLayoutListener);
+    method public void removeOnPreDrawListener(android.view.ViewTreeObserver.OnPreDrawListener);
+    method public void removeOnScrollChangedListener(android.view.ViewTreeObserver.OnScrollChangedListener);
+    method public void removeOnSystemGestureExclusionRectsChangedListener(@NonNull java.util.function.Consumer<java.util.List<android.graphics.Rect>>);
+    method public void removeOnTouchModeChangeListener(android.view.ViewTreeObserver.OnTouchModeChangeListener);
+    method public void removeOnWindowAttachListener(android.view.ViewTreeObserver.OnWindowAttachListener);
+    method public void removeOnWindowFocusChangeListener(android.view.ViewTreeObserver.OnWindowFocusChangeListener);
+    method public boolean unregisterFrameCommitCallback(@NonNull Runnable);
+  }
+
+  public static interface ViewTreeObserver.OnDrawListener {
+    method public void onDraw();
+  }
+
+  public static interface ViewTreeObserver.OnGlobalFocusChangeListener {
+    method public void onGlobalFocusChanged(android.view.View, android.view.View);
+  }
+
+  public static interface ViewTreeObserver.OnGlobalLayoutListener {
+    method public void onGlobalLayout();
+  }
+
+  public static interface ViewTreeObserver.OnPreDrawListener {
+    method public boolean onPreDraw();
+  }
+
+  public static interface ViewTreeObserver.OnScrollChangedListener {
+    method public void onScrollChanged();
+  }
+
+  public static interface ViewTreeObserver.OnTouchModeChangeListener {
+    method public void onTouchModeChanged(boolean);
+  }
+
+  public static interface ViewTreeObserver.OnWindowAttachListener {
+    method public void onWindowAttached();
+    method public void onWindowDetached();
+  }
+
+  public static interface ViewTreeObserver.OnWindowFocusChangeListener {
+    method public void onWindowFocusChanged(boolean);
+  }
+
+  public abstract class Window {
+    ctor public Window(@UiContext android.content.Context);
+    method public abstract void addContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public void addFlags(int);
+    method public final void addOnFrameMetricsAvailableListener(@NonNull android.view.Window.OnFrameMetricsAvailableListener, android.os.Handler);
+    method public void clearFlags(int);
+    method public abstract void closeAllPanels();
+    method public abstract void closePanel(int);
+    method public <T extends android.view.View> T findViewById(@IdRes int);
+    method public boolean getAllowEnterTransitionOverlap();
+    method public boolean getAllowReturnTransitionOverlap();
+    method public final android.view.WindowManager.LayoutParams getAttributes();
+    method public final android.view.Window.Callback getCallback();
+    method public int getColorMode();
+    method public final android.view.Window getContainer();
+    method public android.transition.Scene getContentScene();
+    method @UiContext public final android.content.Context getContext();
+    method @Nullable public abstract android.view.View getCurrentFocus();
+    method @NonNull public abstract android.view.View getDecorView();
+    method public static int getDefaultFeatures(android.content.Context);
+    method public android.transition.Transition getEnterTransition();
+    method public android.transition.Transition getExitTransition();
+    method protected final int getFeatures();
+    method protected final int getForcedWindowFlags();
+    method @Nullable public android.view.WindowInsetsController getInsetsController();
+    method @NonNull public abstract android.view.LayoutInflater getLayoutInflater();
+    method protected final int getLocalFeatures();
+    method public android.media.session.MediaController getMediaController();
+    method @ColorInt public abstract int getNavigationBarColor();
+    method @ColorInt public int getNavigationBarDividerColor();
+    method public android.transition.Transition getReenterTransition();
+    method public android.transition.Transition getReturnTransition();
+    method @Nullable public android.view.AttachedSurfaceControl getRootSurfaceControl();
+    method public android.transition.Transition getSharedElementEnterTransition();
+    method public android.transition.Transition getSharedElementExitTransition();
+    method public android.transition.Transition getSharedElementReenterTransition();
+    method public android.transition.Transition getSharedElementReturnTransition();
+    method public boolean getSharedElementsUseOverlay();
+    method @ColorInt public abstract int getStatusBarColor();
+    method @NonNull public java.util.List<android.graphics.Rect> getSystemGestureExclusionRects();
+    method public long getTransitionBackgroundFadeDuration();
+    method public android.transition.TransitionManager getTransitionManager();
+    method public abstract int getVolumeControlStream();
+    method public android.view.WindowManager getWindowManager();
+    method public final android.content.res.TypedArray getWindowStyle();
+    method public final boolean hasChildren();
+    method public boolean hasFeature(int);
+    method protected final boolean hasSoftInputMode();
+    method public void injectInputEvent(android.view.InputEvent);
+    method public abstract void invalidatePanelMenu(int);
+    method public final boolean isActive();
+    method public abstract boolean isFloating();
+    method public boolean isNavigationBarContrastEnforced();
+    method public abstract boolean isShortcutKey(int, android.view.KeyEvent);
+    method public boolean isStatusBarContrastEnforced();
+    method public boolean isWideColorGamut();
+    method public final void makeActive();
+    method protected abstract void onActive();
+    method public abstract void onConfigurationChanged(android.content.res.Configuration);
+    method public abstract void openPanel(int, android.view.KeyEvent);
+    method public abstract android.view.View peekDecorView();
+    method public abstract boolean performContextMenuIdentifierAction(int, int);
+    method public abstract boolean performPanelIdentifierAction(int, int, int);
+    method public abstract boolean performPanelShortcut(int, int, android.view.KeyEvent, int);
+    method public void registerScrollCaptureCallback(@NonNull android.view.ScrollCaptureCallback);
+    method public final void removeOnFrameMetricsAvailableListener(android.view.Window.OnFrameMetricsAvailableListener);
+    method public boolean requestFeature(int);
+    method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
+    method public abstract void restoreHierarchyState(android.os.Bundle);
+    method public abstract android.os.Bundle saveHierarchyState();
+    method public void setAllowEnterTransitionOverlap(boolean);
+    method public void setAllowReturnTransitionOverlap(boolean);
+    method public void setAttributes(android.view.WindowManager.LayoutParams);
+    method public void setBackgroundBlurRadius(int);
+    method public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setBackgroundDrawableResource(@DrawableRes int);
+    method public void setCallback(android.view.Window.Callback);
+    method public abstract void setChildDrawable(int, android.graphics.drawable.Drawable);
+    method public abstract void setChildInt(int, int);
+    method public void setClipToOutline(boolean);
+    method public void setColorMode(int);
+    method public void setContainer(android.view.Window);
+    method public abstract void setContentView(@LayoutRes int);
+    method public abstract void setContentView(android.view.View);
+    method public abstract void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public abstract void setDecorCaptionShade(int);
+    method public void setDecorFitsSystemWindows(boolean);
+    method protected void setDefaultWindowFormat(int);
+    method public void setDimAmount(float);
+    method public void setElevation(float);
+    method public void setEnterTransition(android.transition.Transition);
+    method public void setExitTransition(android.transition.Transition);
+    method public abstract void setFeatureDrawable(int, android.graphics.drawable.Drawable);
+    method public abstract void setFeatureDrawableAlpha(int, int);
+    method public abstract void setFeatureDrawableResource(int, @DrawableRes int);
+    method public abstract void setFeatureDrawableUri(int, android.net.Uri);
+    method public abstract void setFeatureInt(int, int);
+    method public void setFlags(int, int);
+    method public void setFormat(int);
+    method public void setGravity(int);
+    method @RequiresPermission(android.Manifest.permission.HIDE_OVERLAY_WINDOWS) public final void setHideOverlayWindows(boolean);
+    method public void setIcon(@DrawableRes int);
+    method public void setLayout(int, int);
+    method public void setLocalFocus(boolean, boolean);
+    method public void setLogo(@DrawableRes int);
+    method public void setMediaController(android.media.session.MediaController);
+    method public abstract void setNavigationBarColor(@ColorInt int);
+    method public void setNavigationBarContrastEnforced(boolean);
+    method public void setNavigationBarDividerColor(@ColorInt int);
+    method public void setPreferMinimalPostProcessing(boolean);
+    method public void setReenterTransition(android.transition.Transition);
+    method public abstract void setResizingCaptionDrawable(android.graphics.drawable.Drawable);
+    method public final void setRestrictedCaptionAreaListener(android.view.Window.OnRestrictedCaptionAreaChangedListener);
+    method public void setReturnTransition(android.transition.Transition);
+    method public void setSharedElementEnterTransition(android.transition.Transition);
+    method public void setSharedElementExitTransition(android.transition.Transition);
+    method public void setSharedElementReenterTransition(android.transition.Transition);
+    method public void setSharedElementReturnTransition(android.transition.Transition);
+    method public void setSharedElementsUseOverlay(boolean);
+    method public void setSoftInputMode(int);
+    method public abstract void setStatusBarColor(@ColorInt int);
+    method public void setStatusBarContrastEnforced(boolean);
+    method public void setSustainedPerformanceMode(boolean);
+    method public void setSystemGestureExclusionRects(@NonNull java.util.List<android.graphics.Rect>);
+    method public abstract void setTitle(CharSequence);
+    method @Deprecated public abstract void setTitleColor(@ColorInt int);
+    method public void setTransitionBackgroundFadeDuration(long);
+    method public void setTransitionManager(android.transition.TransitionManager);
+    method public void setType(int);
+    method public void setUiOptions(int);
+    method public void setUiOptions(int, int);
+    method public abstract void setVolumeControlStream(int);
+    method public void setWindowAnimations(@StyleRes int);
+    method public void setWindowManager(android.view.WindowManager, android.os.IBinder, String);
+    method public void setWindowManager(android.view.WindowManager, android.os.IBinder, String, boolean);
+    method public abstract boolean superDispatchGenericMotionEvent(android.view.MotionEvent);
+    method public abstract boolean superDispatchKeyEvent(android.view.KeyEvent);
+    method public abstract boolean superDispatchKeyShortcutEvent(android.view.KeyEvent);
+    method public abstract boolean superDispatchTouchEvent(android.view.MotionEvent);
+    method public abstract boolean superDispatchTrackballEvent(android.view.MotionEvent);
+    method public abstract void takeInputQueue(android.view.InputQueue.Callback);
+    method public abstract void takeKeyEvents(boolean);
+    method public abstract void takeSurface(android.view.SurfaceHolder.Callback2);
+    method public abstract void togglePanel(int, android.view.KeyEvent);
+    method public void unregisterScrollCaptureCallback(@NonNull android.view.ScrollCaptureCallback);
+    field public static final int DECOR_CAPTION_SHADE_AUTO = 0; // 0x0
+    field public static final int DECOR_CAPTION_SHADE_DARK = 2; // 0x2
+    field public static final int DECOR_CAPTION_SHADE_LIGHT = 1; // 0x1
+    field @Deprecated protected static final int DEFAULT_FEATURES = 65; // 0x41
+    field public static final int FEATURE_ACTION_BAR = 8; // 0x8
+    field public static final int FEATURE_ACTION_BAR_OVERLAY = 9; // 0x9
+    field public static final int FEATURE_ACTION_MODE_OVERLAY = 10; // 0xa
+    field public static final int FEATURE_ACTIVITY_TRANSITIONS = 13; // 0xd
+    field public static final int FEATURE_CONTENT_TRANSITIONS = 12; // 0xc
+    field public static final int FEATURE_CONTEXT_MENU = 6; // 0x6
+    field public static final int FEATURE_CUSTOM_TITLE = 7; // 0x7
+    field @Deprecated public static final int FEATURE_INDETERMINATE_PROGRESS = 5; // 0x5
+    field public static final int FEATURE_LEFT_ICON = 3; // 0x3
+    field public static final int FEATURE_NO_TITLE = 1; // 0x1
+    field public static final int FEATURE_OPTIONS_PANEL = 0; // 0x0
+    field @Deprecated public static final int FEATURE_PROGRESS = 2; // 0x2
+    field public static final int FEATURE_RIGHT_ICON = 4; // 0x4
+    field @Deprecated public static final int FEATURE_SWIPE_TO_DISMISS = 11; // 0xb
+    field public static final int ID_ANDROID_CONTENT = 16908290; // 0x1020002
+    field public static final String NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME = "android:navigation:background";
+    field @Deprecated public static final int PROGRESS_END = 10000; // 0x2710
+    field @Deprecated public static final int PROGRESS_INDETERMINATE_OFF = -4; // 0xfffffffc
+    field @Deprecated public static final int PROGRESS_INDETERMINATE_ON = -3; // 0xfffffffd
+    field @Deprecated public static final int PROGRESS_SECONDARY_END = 30000; // 0x7530
+    field @Deprecated public static final int PROGRESS_SECONDARY_START = 20000; // 0x4e20
+    field @Deprecated public static final int PROGRESS_START = 0; // 0x0
+    field @Deprecated public static final int PROGRESS_VISIBILITY_OFF = -2; // 0xfffffffe
+    field @Deprecated public static final int PROGRESS_VISIBILITY_ON = -1; // 0xffffffff
+    field public static final String STATUS_BAR_BACKGROUND_TRANSITION_NAME = "android:status:background";
+  }
+
+  public static interface Window.Callback {
+    method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+    method public boolean dispatchKeyEvent(android.view.KeyEvent);
+    method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+    method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public boolean dispatchTouchEvent(android.view.MotionEvent);
+    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+    method public void onActionModeFinished(android.view.ActionMode);
+    method public void onActionModeStarted(android.view.ActionMode);
+    method public void onAttachedToWindow();
+    method public void onContentChanged();
+    method public boolean onCreatePanelMenu(int, @NonNull android.view.Menu);
+    method @Nullable public android.view.View onCreatePanelView(int);
+    method public void onDetachedFromWindow();
+    method public boolean onMenuItemSelected(int, @NonNull android.view.MenuItem);
+    method public boolean onMenuOpened(int, @NonNull android.view.Menu);
+    method public void onPanelClosed(int, @NonNull android.view.Menu);
+    method public default void onPointerCaptureChanged(boolean);
+    method public boolean onPreparePanel(int, @Nullable android.view.View, @NonNull android.view.Menu);
+    method public default void onProvideKeyboardShortcuts(java.util.List<android.view.KeyboardShortcutGroup>, @Nullable android.view.Menu, int);
+    method public boolean onSearchRequested();
+    method public boolean onSearchRequested(android.view.SearchEvent);
+    method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+    method public void onWindowFocusChanged(boolean);
+    method @Nullable public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method @Nullable public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
+  }
+
+  public static interface Window.OnFrameMetricsAvailableListener {
+    method public void onFrameMetricsAvailable(android.view.Window, android.view.FrameMetrics, int);
+  }
+
+  public static interface Window.OnRestrictedCaptionAreaChangedListener {
+    method public void onRestrictedCaptionAreaChanged(android.graphics.Rect);
+  }
+
+  public final class WindowAnimationFrameStats extends android.view.FrameStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowAnimationFrameStats> CREATOR;
+  }
+
+  public final class WindowContentFrameStats extends android.view.FrameStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getFramePostedTimeNano(int);
+    method public long getFrameReadyTimeNano(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowContentFrameStats> CREATOR;
+  }
+
+  public class WindowId implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isFocused();
+    method public void registerFocusObserver(android.view.WindowId.FocusObserver);
+    method public void unregisterFocusObserver(android.view.WindowId.FocusObserver);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowId> CREATOR;
+  }
+
+  public abstract static class WindowId.FocusObserver {
+    ctor public WindowId.FocusObserver();
+    method public abstract void onFocusGained(android.view.WindowId);
+    method public abstract void onFocusLost(android.view.WindowId);
+  }
+
+  public final class WindowInsets {
+    ctor public WindowInsets(android.view.WindowInsets);
+    method @Deprecated @NonNull public android.view.WindowInsets consumeDisplayCutout();
+    method @Deprecated @NonNull public android.view.WindowInsets consumeStableInsets();
+    method @Deprecated @NonNull public android.view.WindowInsets consumeSystemWindowInsets();
+    method @Nullable public android.view.DisplayCutout getDisplayCutout();
+    method @NonNull public android.graphics.Insets getInsets(int);
+    method @NonNull public android.graphics.Insets getInsetsIgnoringVisibility(int);
+    method @Deprecated @NonNull public android.graphics.Insets getMandatorySystemGestureInsets();
+    method @Nullable public android.graphics.Rect getPrivacyIndicatorBounds();
+    method @Nullable public android.view.RoundedCorner getRoundedCorner(int);
+    method @Deprecated public int getStableInsetBottom();
+    method @Deprecated public int getStableInsetLeft();
+    method @Deprecated public int getStableInsetRight();
+    method @Deprecated public int getStableInsetTop();
+    method @Deprecated @NonNull public android.graphics.Insets getStableInsets();
+    method @Deprecated @NonNull public android.graphics.Insets getSystemGestureInsets();
+    method @Deprecated public int getSystemWindowInsetBottom();
+    method @Deprecated public int getSystemWindowInsetLeft();
+    method @Deprecated public int getSystemWindowInsetRight();
+    method @Deprecated public int getSystemWindowInsetTop();
+    method @Deprecated @NonNull public android.graphics.Insets getSystemWindowInsets();
+    method @Deprecated @NonNull public android.graphics.Insets getTappableElementInsets();
+    method public boolean hasInsets();
+    method @Deprecated public boolean hasStableInsets();
+    method @Deprecated public boolean hasSystemWindowInsets();
+    method @NonNull public android.view.WindowInsets inset(@NonNull android.graphics.Insets);
+    method @NonNull public android.view.WindowInsets inset(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean isConsumed();
+    method public boolean isRound();
+    method public boolean isVisible(int);
+    method @Deprecated @NonNull public android.view.WindowInsets replaceSystemWindowInsets(int, int, int, int);
+    method @Deprecated @NonNull public android.view.WindowInsets replaceSystemWindowInsets(android.graphics.Rect);
+    field @NonNull public static final android.view.WindowInsets CONSUMED;
+  }
+
+  public static final class WindowInsets.Builder {
+    ctor public WindowInsets.Builder();
+    ctor public WindowInsets.Builder(@NonNull android.view.WindowInsets);
+    method @NonNull public android.view.WindowInsets build();
+    method @NonNull public android.view.WindowInsets.Builder setDisplayCutout(@Nullable android.view.DisplayCutout);
+    method @NonNull public android.view.WindowInsets.Builder setInsets(int, @NonNull android.graphics.Insets);
+    method @NonNull public android.view.WindowInsets.Builder setInsetsIgnoringVisibility(int, @NonNull android.graphics.Insets) throws java.lang.IllegalArgumentException;
+    method @Deprecated @NonNull public android.view.WindowInsets.Builder setMandatorySystemGestureInsets(@NonNull android.graphics.Insets);
+    method @NonNull public android.view.WindowInsets.Builder setPrivacyIndicatorBounds(@Nullable android.graphics.Rect);
+    method @NonNull public android.view.WindowInsets.Builder setRoundedCorner(int, @Nullable android.view.RoundedCorner);
+    method @Deprecated @NonNull public android.view.WindowInsets.Builder setStableInsets(@NonNull android.graphics.Insets);
+    method @Deprecated @NonNull public android.view.WindowInsets.Builder setSystemGestureInsets(@NonNull android.graphics.Insets);
+    method @Deprecated @NonNull public android.view.WindowInsets.Builder setSystemWindowInsets(@NonNull android.graphics.Insets);
+    method @Deprecated @NonNull public android.view.WindowInsets.Builder setTappableElementInsets(@NonNull android.graphics.Insets);
+    method @NonNull public android.view.WindowInsets.Builder setVisible(int, boolean);
+  }
+
+  public static final class WindowInsets.Side {
+    method public static int all();
+    field public static final int BOTTOM = 8; // 0x8
+    field public static final int LEFT = 1; // 0x1
+    field public static final int RIGHT = 4; // 0x4
+    field public static final int TOP = 2; // 0x2
+  }
+
+  public static final class WindowInsets.Type {
+    method public static int captionBar();
+    method public static int displayCutout();
+    method public static int ime();
+    method public static int mandatorySystemGestures();
+    method public static int navigationBars();
+    method public static int statusBars();
+    method public static int systemBars();
+    method public static int systemGestures();
+    method public static int tappableElement();
+  }
+
+  public final class WindowInsetsAnimation {
+    ctor public WindowInsetsAnimation(int, @Nullable android.view.animation.Interpolator, long);
+    method @FloatRange(from=0.0f, to=1.0f) public float getAlpha();
+    method public long getDurationMillis();
+    method @FloatRange(from=0.0f, to=1.0f) public float getFraction();
+    method public float getInterpolatedFraction();
+    method @Nullable public android.view.animation.Interpolator getInterpolator();
+    method public int getTypeMask();
+    method public void setAlpha(@FloatRange(from=0.0f, to=1.0f) float);
+    method public void setFraction(@FloatRange(from=0.0f, to=1.0f) float);
+  }
+
+  public static final class WindowInsetsAnimation.Bounds {
+    ctor public WindowInsetsAnimation.Bounds(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
+    method @NonNull public android.graphics.Insets getLowerBound();
+    method @NonNull public android.graphics.Insets getUpperBound();
+    method @NonNull public android.view.WindowInsetsAnimation.Bounds inset(@NonNull android.graphics.Insets);
+  }
+
+  public abstract static class WindowInsetsAnimation.Callback {
+    ctor public WindowInsetsAnimation.Callback(int);
+    method public final int getDispatchMode();
+    method public void onEnd(@NonNull android.view.WindowInsetsAnimation);
+    method public void onPrepare(@NonNull android.view.WindowInsetsAnimation);
+    method @NonNull public abstract android.view.WindowInsets onProgress(@NonNull android.view.WindowInsets, @NonNull java.util.List<android.view.WindowInsetsAnimation>);
+    method @NonNull public android.view.WindowInsetsAnimation.Bounds onStart(@NonNull android.view.WindowInsetsAnimation, @NonNull android.view.WindowInsetsAnimation.Bounds);
+    field public static final int DISPATCH_MODE_CONTINUE_ON_SUBTREE = 1; // 0x1
+    field public static final int DISPATCH_MODE_STOP = 0; // 0x0
+  }
+
+  public interface WindowInsetsAnimationControlListener {
+    method public void onCancelled(@Nullable android.view.WindowInsetsAnimationController);
+    method public void onFinished(@NonNull android.view.WindowInsetsAnimationController);
+    method public void onReady(@NonNull android.view.WindowInsetsAnimationController, int);
+  }
+
+  public interface WindowInsetsAnimationController {
+    method public void finish(boolean);
+    method public float getCurrentAlpha();
+    method @FloatRange(from=0.0f, to=1.0f) public float getCurrentFraction();
+    method @NonNull public android.graphics.Insets getCurrentInsets();
+    method @NonNull public android.graphics.Insets getHiddenStateInsets();
+    method @NonNull public android.graphics.Insets getShownStateInsets();
+    method public int getTypes();
+    method public boolean isCancelled();
+    method public boolean isFinished();
+    method public default boolean isReady();
+    method public void setInsetsAndAlpha(@Nullable android.graphics.Insets, @FloatRange(from=0.0f, to=1.0f) float, @FloatRange(from=0.0f, to=1.0f) float);
+  }
+
+  public interface WindowInsetsController {
+    method public void addOnControllableInsetsChangedListener(@NonNull android.view.WindowInsetsController.OnControllableInsetsChangedListener);
+    method public void controlWindowInsetsAnimation(int, long, @Nullable android.view.animation.Interpolator, @Nullable android.os.CancellationSignal, @NonNull android.view.WindowInsetsAnimationControlListener);
+    method public int getSystemBarsAppearance();
+    method public int getSystemBarsBehavior();
+    method public void hide(int);
+    method public void removeOnControllableInsetsChangedListener(@NonNull android.view.WindowInsetsController.OnControllableInsetsChangedListener);
+    method public void setSystemBarsAppearance(int, int);
+    method public void setSystemBarsBehavior(int);
+    method public void show(int);
+    field public static final int APPEARANCE_LIGHT_NAVIGATION_BARS = 16; // 0x10
+    field public static final int APPEARANCE_LIGHT_STATUS_BARS = 8; // 0x8
+    field public static final int BEHAVIOR_DEFAULT = 1; // 0x1
+    field @Deprecated public static final int BEHAVIOR_SHOW_BARS_BY_SWIPE = 1; // 0x1
+    field @Deprecated public static final int BEHAVIOR_SHOW_BARS_BY_TOUCH = 0; // 0x0
+    field public static final int BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE = 2; // 0x2
+  }
+
+  public static interface WindowInsetsController.OnControllableInsetsChangedListener {
+    method public void onControllableInsetsChanged(@NonNull android.view.WindowInsetsController, int);
+  }
+
+  public interface WindowManager extends android.view.ViewManager {
+    method public default void addCrossWindowBlurEnabledListener(@NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method public default void addCrossWindowBlurEnabledListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @NonNull public default android.view.WindowMetrics getCurrentWindowMetrics();
+    method @Deprecated public android.view.Display getDefaultDisplay();
+    method @NonNull public default android.view.WindowMetrics getMaximumWindowMetrics();
+    method public default boolean isCrossWindowBlurEnabled();
+    method public default void removeCrossWindowBlurEnabledListener(@NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method public void removeViewImmediate(android.view.View);
+  }
+
+  public static class WindowManager.BadTokenException extends java.lang.RuntimeException {
+    ctor public WindowManager.BadTokenException();
+    ctor public WindowManager.BadTokenException(String);
+  }
+
+  public static class WindowManager.InvalidDisplayException extends java.lang.RuntimeException {
+    ctor public WindowManager.InvalidDisplayException();
+    ctor public WindowManager.InvalidDisplayException(String);
+  }
+
+  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
+    ctor public WindowManager.LayoutParams();
+    ctor public WindowManager.LayoutParams(int);
+    ctor public WindowManager.LayoutParams(int, int);
+    ctor public WindowManager.LayoutParams(int, int, int);
+    ctor public WindowManager.LayoutParams(int, int, int, int, int);
+    ctor public WindowManager.LayoutParams(int, int, int, int, int, int, int);
+    ctor public WindowManager.LayoutParams(android.os.Parcel);
+    method public final int copyFrom(android.view.WindowManager.LayoutParams);
+    method public String debug(String);
+    method public int describeContents();
+    method public int getBlurBehindRadius();
+    method public int getColorMode();
+    method public int getFitInsetsSides();
+    method public int getFitInsetsTypes();
+    method public final CharSequence getTitle();
+    method public boolean isFitInsetsIgnoringVisibility();
+    method public static boolean mayUseInputMethod(int);
+    method public void setBlurBehindRadius(@IntRange(from=0) int);
+    method public void setColorMode(int);
+    method public void setFitInsetsIgnoringVisibility(boolean);
+    method public void setFitInsetsSides(int);
+    method public void setFitInsetsTypes(int);
+    method public final void setTitle(CharSequence);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ALPHA_CHANGED = 128; // 0x80
+    field public static final int ANIMATION_CHANGED = 16; // 0x10
+    field public static final float BRIGHTNESS_OVERRIDE_FULL = 1.0f;
+    field public static final float BRIGHTNESS_OVERRIDE_NONE = -1.0f;
+    field public static final float BRIGHTNESS_OVERRIDE_OFF = 0.0f;
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowManager.LayoutParams> CREATOR;
+    field public static final int DIM_AMOUNT_CHANGED = 32; // 0x20
+    field public static final int FIRST_APPLICATION_WINDOW = 1; // 0x1
+    field public static final int FIRST_SUB_WINDOW = 1000; // 0x3e8
+    field public static final int FIRST_SYSTEM_WINDOW = 2000; // 0x7d0
+    field public static final int FLAGS_CHANGED = 4; // 0x4
+    field public static final int FLAG_ALLOW_LOCK_WHILE_SCREEN_ON = 1; // 0x1
+    field public static final int FLAG_ALT_FOCUSABLE_IM = 131072; // 0x20000
+    field public static final int FLAG_BLUR_BEHIND = 4; // 0x4
+    field public static final int FLAG_DIM_BEHIND = 2; // 0x2
+    field @Deprecated public static final int FLAG_DISMISS_KEYGUARD = 4194304; // 0x400000
+    field @Deprecated public static final int FLAG_DITHER = 4096; // 0x1000
+    field public static final int FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS = -2147483648; // 0x80000000
+    field @Deprecated public static final int FLAG_FORCE_NOT_FULLSCREEN = 2048; // 0x800
+    field @Deprecated public static final int FLAG_FULLSCREEN = 1024; // 0x400
+    field public static final int FLAG_HARDWARE_ACCELERATED = 16777216; // 0x1000000
+    field public static final int FLAG_IGNORE_CHEEK_PRESSES = 32768; // 0x8000
+    field public static final int FLAG_KEEP_SCREEN_ON = 128; // 0x80
+    field @Deprecated public static final int FLAG_LAYOUT_ATTACHED_IN_DECOR = 1073741824; // 0x40000000
+    field @Deprecated public static final int FLAG_LAYOUT_INSET_DECOR = 65536; // 0x10000
+    field @Deprecated public static final int FLAG_LAYOUT_IN_OVERSCAN = 33554432; // 0x2000000
+    field public static final int FLAG_LAYOUT_IN_SCREEN = 256; // 0x100
+    field public static final int FLAG_LAYOUT_NO_LIMITS = 512; // 0x200
+    field public static final int FLAG_LOCAL_FOCUS_MODE = 268435456; // 0x10000000
+    field public static final int FLAG_NOT_FOCUSABLE = 8; // 0x8
+    field public static final int FLAG_NOT_TOUCHABLE = 16; // 0x10
+    field public static final int FLAG_NOT_TOUCH_MODAL = 32; // 0x20
+    field public static final int FLAG_SCALED = 16384; // 0x4000
+    field public static final int FLAG_SECURE = 8192; // 0x2000
+    field public static final int FLAG_SHOW_WALLPAPER = 1048576; // 0x100000
+    field @Deprecated public static final int FLAG_SHOW_WHEN_LOCKED = 524288; // 0x80000
+    field public static final int FLAG_SPLIT_TOUCH = 8388608; // 0x800000
+    field @Deprecated public static final int FLAG_TOUCHABLE_WHEN_WAKING = 64; // 0x40
+    field @Deprecated public static final int FLAG_TRANSLUCENT_NAVIGATION = 134217728; // 0x8000000
+    field @Deprecated public static final int FLAG_TRANSLUCENT_STATUS = 67108864; // 0x4000000
+    field @Deprecated public static final int FLAG_TURN_SCREEN_ON = 2097152; // 0x200000
+    field public static final int FLAG_WATCH_OUTSIDE_TOUCH = 262144; // 0x40000
+    field public static final int FORMAT_CHANGED = 8; // 0x8
+    field public static final int LAST_APPLICATION_WINDOW = 99; // 0x63
+    field public static final int LAST_SUB_WINDOW = 1999; // 0x7cf
+    field public static final int LAST_SYSTEM_WINDOW = 2999; // 0xbb7
+    field public static final int LAYOUT_CHANGED = 1; // 0x1
+    field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS = 3; // 0x3
+    field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT = 0; // 0x0
+    field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER = 2; // 0x2
+    field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES = 1; // 0x1
+    field public static final int MEMORY_TYPE_CHANGED = 256; // 0x100
+    field @Deprecated public static final int MEMORY_TYPE_GPU = 2; // 0x2
+    field @Deprecated public static final int MEMORY_TYPE_HARDWARE = 1; // 0x1
+    field @Deprecated public static final int MEMORY_TYPE_NORMAL = 0; // 0x0
+    field @Deprecated public static final int MEMORY_TYPE_PUSH_BUFFERS = 3; // 0x3
+    field public static final int ROTATION_ANIMATION_CHANGED = 4096; // 0x1000
+    field public static final int ROTATION_ANIMATION_CROSSFADE = 1; // 0x1
+    field public static final int ROTATION_ANIMATION_JUMPCUT = 2; // 0x2
+    field public static final int ROTATION_ANIMATION_ROTATE = 0; // 0x0
+    field public static final int ROTATION_ANIMATION_SEAMLESS = 3; // 0x3
+    field public static final int SCREEN_BRIGHTNESS_CHANGED = 2048; // 0x800
+    field public static final int SCREEN_ORIENTATION_CHANGED = 1024; // 0x400
+    field public static final int SOFT_INPUT_ADJUST_NOTHING = 48; // 0x30
+    field public static final int SOFT_INPUT_ADJUST_PAN = 32; // 0x20
+    field @Deprecated public static final int SOFT_INPUT_ADJUST_RESIZE = 16; // 0x10
+    field public static final int SOFT_INPUT_ADJUST_UNSPECIFIED = 0; // 0x0
+    field public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 256; // 0x100
+    field public static final int SOFT_INPUT_MASK_ADJUST = 240; // 0xf0
+    field public static final int SOFT_INPUT_MASK_STATE = 15; // 0xf
+    field public static final int SOFT_INPUT_MODE_CHANGED = 512; // 0x200
+    field public static final int SOFT_INPUT_STATE_ALWAYS_HIDDEN = 3; // 0x3
+    field public static final int SOFT_INPUT_STATE_ALWAYS_VISIBLE = 5; // 0x5
+    field public static final int SOFT_INPUT_STATE_HIDDEN = 2; // 0x2
+    field public static final int SOFT_INPUT_STATE_UNCHANGED = 1; // 0x1
+    field public static final int SOFT_INPUT_STATE_UNSPECIFIED = 0; // 0x0
+    field public static final int SOFT_INPUT_STATE_VISIBLE = 4; // 0x4
+    field public static final int TITLE_CHANGED = 64; // 0x40
+    field public static final int TYPE_ACCESSIBILITY_OVERLAY = 2032; // 0x7f0
+    field public static final int TYPE_APPLICATION = 2; // 0x2
+    field public static final int TYPE_APPLICATION_ATTACHED_DIALOG = 1003; // 0x3eb
+    field public static final int TYPE_APPLICATION_MEDIA = 1001; // 0x3e9
+    field public static final int TYPE_APPLICATION_OVERLAY = 2038; // 0x7f6
+    field public static final int TYPE_APPLICATION_PANEL = 1000; // 0x3e8
+    field public static final int TYPE_APPLICATION_STARTING = 3; // 0x3
+    field public static final int TYPE_APPLICATION_SUB_PANEL = 1002; // 0x3ea
+    field public static final int TYPE_BASE_APPLICATION = 1; // 0x1
+    field public static final int TYPE_CHANGED = 2; // 0x2
+    field public static final int TYPE_DRAWN_APPLICATION = 4; // 0x4
+    field public static final int TYPE_INPUT_METHOD = 2011; // 0x7db
+    field public static final int TYPE_INPUT_METHOD_DIALOG = 2012; // 0x7dc
+    field public static final int TYPE_KEYGUARD_DIALOG = 2009; // 0x7d9
+    field @Deprecated public static final int TYPE_PHONE = 2002; // 0x7d2
+    field @Deprecated public static final int TYPE_PRIORITY_PHONE = 2007; // 0x7d7
+    field public static final int TYPE_PRIVATE_PRESENTATION = 2030; // 0x7ee
+    field public static final int TYPE_SEARCH_BAR = 2001; // 0x7d1
+    field public static final int TYPE_STATUS_BAR = 2000; // 0x7d0
+    field @Deprecated public static final int TYPE_SYSTEM_ALERT = 2003; // 0x7d3
+    field public static final int TYPE_SYSTEM_DIALOG = 2008; // 0x7d8
+    field @Deprecated public static final int TYPE_SYSTEM_ERROR = 2010; // 0x7da
+    field @Deprecated public static final int TYPE_SYSTEM_OVERLAY = 2006; // 0x7d6
+    field @Deprecated public static final int TYPE_TOAST = 2005; // 0x7d5
+    field public static final int TYPE_WALLPAPER = 2013; // 0x7dd
+    field public float alpha;
+    field public float buttonBrightness;
+    field public float dimAmount;
+    field public int flags;
+    field public int format;
+    field public int gravity;
+    field public float horizontalMargin;
+    field public float horizontalWeight;
+    field public int layoutInDisplayCutoutMode;
+    field @Deprecated public int memoryType;
+    field public String packageName;
+    field public boolean preferMinimalPostProcessing;
+    field public int preferredDisplayModeId;
+    field @Deprecated public float preferredRefreshRate;
+    field public int rotationAnimation;
+    field public float screenBrightness;
+    field public int screenOrientation;
+    field public int softInputMode;
+    field @Deprecated public int systemUiVisibility;
+    field public android.os.IBinder token;
+    field public int type;
+    field public float verticalMargin;
+    field public float verticalWeight;
+    field public int windowAnimations;
+    field public int x;
+    field public int y;
+  }
+
+  public final class WindowMetrics {
+    ctor public WindowMetrics(@NonNull android.graphics.Rect, @NonNull android.view.WindowInsets);
+    method @NonNull public android.graphics.Rect getBounds();
+    method @NonNull public android.view.WindowInsets getWindowInsets();
+  }
+
+}
+
+package android.view.accessibility {
+
+  public final class AccessibilityEvent extends android.view.accessibility.AccessibilityRecord implements android.os.Parcelable {
+    ctor public AccessibilityEvent();
+    ctor public AccessibilityEvent(int);
+    ctor public AccessibilityEvent(@NonNull android.view.accessibility.AccessibilityEvent);
+    method public void appendRecord(android.view.accessibility.AccessibilityRecord);
+    method public int describeContents();
+    method public static String eventTypeToString(int);
+    method public int getAction();
+    method public int getContentChangeTypes();
+    method public long getEventTime();
+    method public int getEventType();
+    method public int getMovementGranularity();
+    method public CharSequence getPackageName();
+    method public android.view.accessibility.AccessibilityRecord getRecord(int);
+    method public int getRecordCount();
+    method public int getWindowChanges();
+    method public void initFromParcel(android.os.Parcel);
+    method public static android.view.accessibility.AccessibilityEvent obtain(int);
+    method public static android.view.accessibility.AccessibilityEvent obtain(android.view.accessibility.AccessibilityEvent);
+    method public static android.view.accessibility.AccessibilityEvent obtain();
+    method public void setAction(int);
+    method public void setContentChangeTypes(int);
+    method public void setEventTime(long);
+    method public void setEventType(int);
+    method public void setMovementGranularity(int);
+    method public void setPackageName(CharSequence);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
+    field public static final int CONTENT_CHANGE_TYPE_DRAG_CANCELLED = 512; // 0x200
+    field public static final int CONTENT_CHANGE_TYPE_DRAG_DROPPED = 256; // 0x100
+    field public static final int CONTENT_CHANGE_TYPE_DRAG_STARTED = 128; // 0x80
+    field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
+    field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
+    field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+    field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
+    field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
+    field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
+    field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityEvent> CREATOR;
+    field public static final int INVALID_POSITION = -1; // 0xffffffff
+    field @Deprecated public static final int MAX_TEXT_LENGTH = 500; // 0x1f4
+    field public static final int TYPES_ALL_MASK = -1; // 0xffffffff
+    field public static final int TYPE_ANNOUNCEMENT = 16384; // 0x4000
+    field public static final int TYPE_ASSIST_READING_CONTEXT = 16777216; // 0x1000000
+    field public static final int TYPE_GESTURE_DETECTION_END = 524288; // 0x80000
+    field public static final int TYPE_GESTURE_DETECTION_START = 262144; // 0x40000
+    field public static final int TYPE_NOTIFICATION_STATE_CHANGED = 64; // 0x40
+    field public static final int TYPE_TOUCH_EXPLORATION_GESTURE_END = 1024; // 0x400
+    field public static final int TYPE_TOUCH_EXPLORATION_GESTURE_START = 512; // 0x200
+    field public static final int TYPE_TOUCH_INTERACTION_END = 2097152; // 0x200000
+    field public static final int TYPE_TOUCH_INTERACTION_START = 1048576; // 0x100000
+    field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUSED = 32768; // 0x8000
+    field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED = 65536; // 0x10000
+    field public static final int TYPE_VIEW_CLICKED = 1; // 0x1
+    field public static final int TYPE_VIEW_CONTEXT_CLICKED = 8388608; // 0x800000
+    field public static final int TYPE_VIEW_FOCUSED = 8; // 0x8
+    field public static final int TYPE_VIEW_HOVER_ENTER = 128; // 0x80
+    field public static final int TYPE_VIEW_HOVER_EXIT = 256; // 0x100
+    field public static final int TYPE_VIEW_LONG_CLICKED = 2; // 0x2
+    field public static final int TYPE_VIEW_SCROLLED = 4096; // 0x1000
+    field public static final int TYPE_VIEW_SELECTED = 4; // 0x4
+    field public static final int TYPE_VIEW_TEXT_CHANGED = 16; // 0x10
+    field public static final int TYPE_VIEW_TEXT_SELECTION_CHANGED = 8192; // 0x2000
+    field public static final int TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY = 131072; // 0x20000
+    field public static final int TYPE_WINDOWS_CHANGED = 4194304; // 0x400000
+    field public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
+    field public static final int TYPE_WINDOW_STATE_CHANGED = 32; // 0x20
+    field public static final int WINDOWS_CHANGE_ACCESSIBILITY_FOCUSED = 128; // 0x80
+    field public static final int WINDOWS_CHANGE_ACTIVE = 32; // 0x20
+    field public static final int WINDOWS_CHANGE_ADDED = 1; // 0x1
+    field public static final int WINDOWS_CHANGE_BOUNDS = 8; // 0x8
+    field public static final int WINDOWS_CHANGE_CHILDREN = 512; // 0x200
+    field public static final int WINDOWS_CHANGE_FOCUSED = 64; // 0x40
+    field public static final int WINDOWS_CHANGE_LAYER = 16; // 0x10
+    field public static final int WINDOWS_CHANGE_PARENT = 256; // 0x100
+    field public static final int WINDOWS_CHANGE_PIP = 1024; // 0x400
+    field public static final int WINDOWS_CHANGE_REMOVED = 2; // 0x2
+    field public static final int WINDOWS_CHANGE_TITLE = 4; // 0x4
+  }
+
+  public interface AccessibilityEventSource {
+    method public void sendAccessibilityEvent(int);
+    method public void sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent);
+  }
+
+  public final class AccessibilityManager {
+    method public void addAccessibilityRequestPreparer(android.view.accessibility.AccessibilityRequestPreparer);
+    method public boolean addAccessibilityStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener);
+    method public void addAccessibilityStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener, @Nullable android.os.Handler);
+    method public boolean addTouchExplorationStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener);
+    method public void addTouchExplorationStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener, @Nullable android.os.Handler);
+    method @ColorInt public int getAccessibilityFocusColor();
+    method public int getAccessibilityFocusStrokeWidth();
+    method @Deprecated public java.util.List<android.content.pm.ServiceInfo> getAccessibilityServiceList();
+    method public java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getEnabledAccessibilityServiceList(int);
+    method public java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getInstalledAccessibilityServiceList();
+    method public int getRecommendedTimeoutMillis(int, int);
+    method public void interrupt();
+    method public static boolean isAccessibilityButtonSupported();
+    method public boolean isEnabled();
+    method public boolean isTouchExplorationEnabled();
+    method public void removeAccessibilityRequestPreparer(android.view.accessibility.AccessibilityRequestPreparer);
+    method public boolean removeAccessibilityStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener);
+    method public boolean removeTouchExplorationStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener);
+    method public void sendAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    field public static final int FLAG_CONTENT_CONTROLS = 4; // 0x4
+    field public static final int FLAG_CONTENT_ICONS = 1; // 0x1
+    field public static final int FLAG_CONTENT_TEXT = 2; // 0x2
+  }
+
+  public static interface AccessibilityManager.AccessibilityStateChangeListener {
+    method public void onAccessibilityStateChanged(boolean);
+  }
+
+  public static interface AccessibilityManager.TouchExplorationStateChangeListener {
+    method public void onTouchExplorationStateChanged(boolean);
+  }
+
+  public class AccessibilityNodeInfo implements android.os.Parcelable {
+    ctor public AccessibilityNodeInfo();
+    ctor public AccessibilityNodeInfo(@NonNull android.view.View);
+    ctor public AccessibilityNodeInfo(@NonNull android.view.View, int);
+    ctor public AccessibilityNodeInfo(@NonNull android.view.accessibility.AccessibilityNodeInfo);
+    method public void addAction(android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction);
+    method @Deprecated public void addAction(int);
+    method public void addChild(android.view.View);
+    method public void addChild(android.view.View, int);
+    method public boolean canOpenPopup();
+    method public int describeContents();
+    method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(String);
+    method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId(@NonNull String);
+    method public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
+    method public android.view.accessibility.AccessibilityNodeInfo focusSearch(int);
+    method public java.util.List<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction> getActionList();
+    method @Deprecated public int getActions();
+    method public java.util.List<java.lang.String> getAvailableExtraData();
+    method @Deprecated public void getBoundsInParent(android.graphics.Rect);
+    method public void getBoundsInScreen(android.graphics.Rect);
+    method public android.view.accessibility.AccessibilityNodeInfo getChild(int);
+    method public int getChildCount();
+    method public CharSequence getClassName();
+    method public android.view.accessibility.AccessibilityNodeInfo.CollectionInfo getCollectionInfo();
+    method public android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo getCollectionItemInfo();
+    method public CharSequence getContentDescription();
+    method public int getDrawingOrder();
+    method public CharSequence getError();
+    method @Nullable public android.view.accessibility.AccessibilityNodeInfo.ExtraRenderingInfo getExtraRenderingInfo();
+    method public android.os.Bundle getExtras();
+    method public CharSequence getHintText();
+    method public int getInputType();
+    method public android.view.accessibility.AccessibilityNodeInfo getLabelFor();
+    method public android.view.accessibility.AccessibilityNodeInfo getLabeledBy();
+    method public int getLiveRegion();
+    method public int getMaxTextLength();
+    method public int getMovementGranularities();
+    method public CharSequence getPackageName();
+    method @Nullable public CharSequence getPaneTitle();
+    method public android.view.accessibility.AccessibilityNodeInfo getParent();
+    method public android.view.accessibility.AccessibilityNodeInfo.RangeInfo getRangeInfo();
+    method @Nullable public CharSequence getStateDescription();
+    method public CharSequence getText();
+    method public int getTextSelectionEnd();
+    method public int getTextSelectionStart();
+    method @Nullable public CharSequence getTooltipText();
+    method @Nullable public android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo getTouchDelegateInfo();
+    method public android.view.accessibility.AccessibilityNodeInfo getTraversalAfter();
+    method public android.view.accessibility.AccessibilityNodeInfo getTraversalBefore();
+    method public String getViewIdResourceName();
+    method public android.view.accessibility.AccessibilityWindowInfo getWindow();
+    method public int getWindowId();
+    method public boolean isAccessibilityFocused();
+    method public boolean isCheckable();
+    method public boolean isChecked();
+    method public boolean isClickable();
+    method public boolean isContentInvalid();
+    method public boolean isContextClickable();
+    method public boolean isDismissable();
+    method public boolean isEditable();
+    method public boolean isEnabled();
+    method public boolean isFocusable();
+    method public boolean isFocused();
+    method public boolean isHeading();
+    method public boolean isImportantForAccessibility();
+    method public boolean isLongClickable();
+    method public boolean isMultiLine();
+    method public boolean isPassword();
+    method public boolean isScreenReaderFocusable();
+    method public boolean isScrollable();
+    method public boolean isSelected();
+    method public boolean isShowingHintText();
+    method public boolean isTextEntryKey();
+    method public boolean isVisibleToUser();
+    method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View);
+    method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View, int);
+    method public static android.view.accessibility.AccessibilityNodeInfo obtain();
+    method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.accessibility.AccessibilityNodeInfo);
+    method public boolean performAction(int);
+    method public boolean performAction(int, android.os.Bundle);
+    method public void recycle();
+    method public boolean refresh();
+    method public boolean refreshWithExtraData(String, android.os.Bundle);
+    method @Deprecated public void removeAction(int);
+    method public boolean removeAction(android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction);
+    method public boolean removeChild(android.view.View);
+    method public boolean removeChild(android.view.View, int);
+    method public void setAccessibilityFocused(boolean);
+    method public void setAvailableExtraData(java.util.List<java.lang.String>);
+    method @Deprecated public void setBoundsInParent(android.graphics.Rect);
+    method public void setBoundsInScreen(android.graphics.Rect);
+    method public void setCanOpenPopup(boolean);
+    method public void setCheckable(boolean);
+    method public void setChecked(boolean);
+    method public void setClassName(CharSequence);
+    method public void setClickable(boolean);
+    method public void setCollectionInfo(android.view.accessibility.AccessibilityNodeInfo.CollectionInfo);
+    method public void setCollectionItemInfo(android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo);
+    method public void setContentDescription(CharSequence);
+    method public void setContentInvalid(boolean);
+    method public void setContextClickable(boolean);
+    method public void setDismissable(boolean);
+    method public void setDrawingOrder(int);
+    method public void setEditable(boolean);
+    method public void setEnabled(boolean);
+    method public void setError(CharSequence);
+    method public void setFocusable(boolean);
+    method public void setFocused(boolean);
+    method public void setHeading(boolean);
+    method public void setHintText(CharSequence);
+    method public void setImportantForAccessibility(boolean);
+    method public void setInputType(int);
+    method public void setLabelFor(android.view.View);
+    method public void setLabelFor(android.view.View, int);
+    method public void setLabeledBy(android.view.View);
+    method public void setLabeledBy(android.view.View, int);
+    method public void setLiveRegion(int);
+    method public void setLongClickable(boolean);
+    method public void setMaxTextLength(int);
+    method public void setMovementGranularities(int);
+    method public void setMultiLine(boolean);
+    method public void setPackageName(CharSequence);
+    method public void setPaneTitle(@Nullable CharSequence);
+    method public void setParent(android.view.View);
+    method public void setParent(android.view.View, int);
+    method public void setPassword(boolean);
+    method public void setRangeInfo(android.view.accessibility.AccessibilityNodeInfo.RangeInfo);
+    method public void setScreenReaderFocusable(boolean);
+    method public void setScrollable(boolean);
+    method public void setSelected(boolean);
+    method public void setShowingHintText(boolean);
+    method public void setSource(android.view.View);
+    method public void setSource(android.view.View, int);
+    method public void setStateDescription(@Nullable CharSequence);
+    method public void setText(CharSequence);
+    method public void setTextEntryKey(boolean);
+    method public void setTextSelection(int, int);
+    method public void setTooltipText(@Nullable CharSequence);
+    method public void setTouchDelegateInfo(@NonNull android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo);
+    method public void setTraversalAfter(android.view.View);
+    method public void setTraversalAfter(android.view.View, int);
+    method public void setTraversalBefore(android.view.View);
+    method public void setTraversalBefore(android.view.View, int);
+    method public void setViewIdResourceName(String);
+    method public void setVisibleToUser(boolean);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_ACCESSIBILITY_FOCUS = 64; // 0x40
+    field public static final String ACTION_ARGUMENT_COLUMN_INT = "android.view.accessibility.action.ARGUMENT_COLUMN_INT";
+    field public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN = "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN";
+    field public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = "ACTION_ARGUMENT_HTML_ELEMENT_STRING";
+    field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
+    field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
+    field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+    field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
+    field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
+    field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
+    field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
+    field public static final String ACTION_ARGUMENT_SELECTION_START_INT = "ACTION_ARGUMENT_SELECTION_START_INT";
+    field public static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE = "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE";
+    field public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 128; // 0x80
+    field public static final int ACTION_CLEAR_FOCUS = 2; // 0x2
+    field public static final int ACTION_CLEAR_SELECTION = 8; // 0x8
+    field public static final int ACTION_CLICK = 16; // 0x10
+    field public static final int ACTION_COLLAPSE = 524288; // 0x80000
+    field public static final int ACTION_COPY = 16384; // 0x4000
+    field public static final int ACTION_CUT = 65536; // 0x10000
+    field public static final int ACTION_DISMISS = 1048576; // 0x100000
+    field public static final int ACTION_EXPAND = 262144; // 0x40000
+    field public static final int ACTION_FOCUS = 1; // 0x1
+    field public static final int ACTION_LONG_CLICK = 32; // 0x20
+    field public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 256; // 0x100
+    field public static final int ACTION_NEXT_HTML_ELEMENT = 1024; // 0x400
+    field public static final int ACTION_PASTE = 32768; // 0x8000
+    field public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 512; // 0x200
+    field public static final int ACTION_PREVIOUS_HTML_ELEMENT = 2048; // 0x800
+    field public static final int ACTION_SCROLL_BACKWARD = 8192; // 0x2000
+    field public static final int ACTION_SCROLL_FORWARD = 4096; // 0x1000
+    field public static final int ACTION_SELECT = 4; // 0x4
+    field public static final int ACTION_SET_SELECTION = 131072; // 0x20000
+    field public static final int ACTION_SET_TEXT = 2097152; // 0x200000
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo> CREATOR;
+    field public static final String EXTRA_DATA_RENDERING_INFO_KEY = "android.view.accessibility.extra.DATA_RENDERING_INFO_KEY";
+    field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH";
+    field public static final int EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH = 20000; // 0x4e20
+    field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX";
+    field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_KEY";
+    field public static final int FOCUS_ACCESSIBILITY = 2; // 0x2
+    field public static final int FOCUS_INPUT = 1; // 0x1
+    field public static final int MOVEMENT_GRANULARITY_CHARACTER = 1; // 0x1
+    field public static final int MOVEMENT_GRANULARITY_LINE = 4; // 0x4
+    field public static final int MOVEMENT_GRANULARITY_PAGE = 16; // 0x10
+    field public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 8; // 0x8
+    field public static final int MOVEMENT_GRANULARITY_WORD = 2; // 0x2
+  }
+
+  public static final class AccessibilityNodeInfo.AccessibilityAction implements android.os.Parcelable {
+    ctor public AccessibilityNodeInfo.AccessibilityAction(int, @Nullable CharSequence);
+    method public int describeContents();
+    method public int getId();
+    method public CharSequence getLabel();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_ACCESSIBILITY_FOCUS;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CLEAR_ACCESSIBILITY_FOCUS;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CLEAR_FOCUS;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CLEAR_SELECTION;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CLICK;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_COLLAPSE;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CONTEXT_CLICK;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_COPY;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CUT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DISMISS;
+    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DRAG_CANCEL;
+    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DRAG_DROP;
+    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DRAG_START;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_EXPAND;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_FOCUS;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_HIDE_TOOLTIP;
+    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_IME_ENTER;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_LONG_CLICK;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_MOVE_WINDOW;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_NEXT_AT_MOVEMENT_GRANULARITY;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_NEXT_HTML_ELEMENT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PAGE_DOWN;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PAGE_LEFT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PAGE_RIGHT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PAGE_UP;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PASTE;
+    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PRESS_AND_HOLD;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PREVIOUS_HTML_ELEMENT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_BACKWARD;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_DOWN;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_FORWARD;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_LEFT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_RIGHT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_TO_POSITION;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_UP;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SELECT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SET_PROGRESS;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SET_SELECTION;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SET_TEXT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SHOW_ON_SCREEN;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SHOW_TOOLTIP;
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction> CREATOR;
+  }
+
+  public static final class AccessibilityNodeInfo.CollectionInfo {
+    ctor public AccessibilityNodeInfo.CollectionInfo(int, int, boolean);
+    ctor public AccessibilityNodeInfo.CollectionInfo(int, int, boolean, int);
+    method public int getColumnCount();
+    method public int getRowCount();
+    method public int getSelectionMode();
+    method public boolean isHierarchical();
+    method public static android.view.accessibility.AccessibilityNodeInfo.CollectionInfo obtain(int, int, boolean);
+    method public static android.view.accessibility.AccessibilityNodeInfo.CollectionInfo obtain(int, int, boolean, int);
+    field public static final int SELECTION_MODE_MULTIPLE = 2; // 0x2
+    field public static final int SELECTION_MODE_NONE = 0; // 0x0
+    field public static final int SELECTION_MODE_SINGLE = 1; // 0x1
+  }
+
+  public static final class AccessibilityNodeInfo.CollectionItemInfo {
+    ctor public AccessibilityNodeInfo.CollectionItemInfo(int, int, int, int, boolean);
+    ctor public AccessibilityNodeInfo.CollectionItemInfo(int, int, int, int, boolean, boolean);
+    method public int getColumnIndex();
+    method public int getColumnSpan();
+    method public int getRowIndex();
+    method public int getRowSpan();
+    method @Deprecated public boolean isHeading();
+    method public boolean isSelected();
+    method public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(int, int, int, int, boolean);
+    method public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(int, int, int, int, boolean, boolean);
+  }
+
+  public static final class AccessibilityNodeInfo.ExtraRenderingInfo {
+    method @Nullable public android.util.Size getLayoutSize();
+    method public float getTextSizeInPx();
+    method public int getTextSizeUnit();
+  }
+
+  public static final class AccessibilityNodeInfo.RangeInfo {
+    ctor public AccessibilityNodeInfo.RangeInfo(int, float, float, float);
+    method public float getCurrent();
+    method public float getMax();
+    method public float getMin();
+    method public int getType();
+    method public static android.view.accessibility.AccessibilityNodeInfo.RangeInfo obtain(int, float, float, float);
+    field public static final int RANGE_TYPE_FLOAT = 1; // 0x1
+    field public static final int RANGE_TYPE_INT = 0; // 0x0
+    field public static final int RANGE_TYPE_PERCENT = 2; // 0x2
+  }
+
+  public static final class AccessibilityNodeInfo.TouchDelegateInfo implements android.os.Parcelable {
+    ctor public AccessibilityNodeInfo.TouchDelegateInfo(@NonNull java.util.Map<android.graphics.Region,android.view.View>);
+    method public int describeContents();
+    method @NonNull public android.graphics.Region getRegionAt(int);
+    method public int getRegionCount();
+    method @Nullable public android.view.accessibility.AccessibilityNodeInfo getTargetForRegion(@NonNull android.graphics.Region);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo> CREATOR;
+  }
+
+  public abstract class AccessibilityNodeProvider {
+    ctor public AccessibilityNodeProvider();
+    method public void addExtraDataToAccessibilityNodeInfo(int, android.view.accessibility.AccessibilityNodeInfo, String, android.os.Bundle);
+    method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(int);
+    method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(String, int);
+    method public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
+    method public boolean performAction(int, int, android.os.Bundle);
+    field public static final int HOST_VIEW_ID = -1; // 0xffffffff
+  }
+
+  public class AccessibilityRecord {
+    ctor public AccessibilityRecord();
+    ctor public AccessibilityRecord(@NonNull android.view.accessibility.AccessibilityRecord);
+    method public int getAddedCount();
+    method public CharSequence getBeforeText();
+    method public CharSequence getClassName();
+    method public CharSequence getContentDescription();
+    method public int getCurrentItemIndex();
+    method public int getFromIndex();
+    method public int getItemCount();
+    method public int getMaxScrollX();
+    method public int getMaxScrollY();
+    method public android.os.Parcelable getParcelableData();
+    method public int getRemovedCount();
+    method public int getScrollDeltaX();
+    method public int getScrollDeltaY();
+    method public int getScrollX();
+    method public int getScrollY();
+    method public android.view.accessibility.AccessibilityNodeInfo getSource();
+    method public java.util.List<java.lang.CharSequence> getText();
+    method public int getToIndex();
+    method public int getWindowId();
+    method public boolean isChecked();
+    method public boolean isEnabled();
+    method public boolean isFullScreen();
+    method public boolean isPassword();
+    method public boolean isScrollable();
+    method public static android.view.accessibility.AccessibilityRecord obtain(android.view.accessibility.AccessibilityRecord);
+    method public static android.view.accessibility.AccessibilityRecord obtain();
+    method public void recycle();
+    method public void setAddedCount(int);
+    method public void setBeforeText(CharSequence);
+    method public void setChecked(boolean);
+    method public void setClassName(CharSequence);
+    method public void setContentDescription(CharSequence);
+    method public void setCurrentItemIndex(int);
+    method public void setEnabled(boolean);
+    method public void setFromIndex(int);
+    method public void setFullScreen(boolean);
+    method public void setItemCount(int);
+    method public void setMaxScrollX(int);
+    method public void setMaxScrollY(int);
+    method public void setParcelableData(android.os.Parcelable);
+    method public void setPassword(boolean);
+    method public void setRemovedCount(int);
+    method public void setScrollDeltaX(int);
+    method public void setScrollDeltaY(int);
+    method public void setScrollX(int);
+    method public void setScrollY(int);
+    method public void setScrollable(boolean);
+    method public void setSource(android.view.View);
+    method public void setSource(@Nullable android.view.View, int);
+    method public void setToIndex(int);
+  }
+
+  public abstract class AccessibilityRequestPreparer {
+    ctor public AccessibilityRequestPreparer(android.view.View, int);
+    method @Nullable public android.view.View getView();
+    method public abstract void onPrepareExtraData(int, String, android.os.Bundle, android.os.Message);
+    field public static final int REQUEST_TYPE_EXTRA_DATA = 1; // 0x1
+  }
+
+  public final class AccessibilityWindowInfo implements android.os.Parcelable {
+    ctor public AccessibilityWindowInfo();
+    ctor public AccessibilityWindowInfo(@NonNull android.view.accessibility.AccessibilityWindowInfo);
+    method public int describeContents();
+    method public android.view.accessibility.AccessibilityNodeInfo getAnchor();
+    method public void getBoundsInScreen(android.graphics.Rect);
+    method public android.view.accessibility.AccessibilityWindowInfo getChild(int);
+    method public int getChildCount();
+    method public int getDisplayId();
+    method public int getId();
+    method public int getLayer();
+    method public android.view.accessibility.AccessibilityWindowInfo getParent();
+    method public void getRegionInScreen(@NonNull android.graphics.Region);
+    method public android.view.accessibility.AccessibilityNodeInfo getRoot();
+    method @Nullable public CharSequence getTitle();
+    method public int getType();
+    method public boolean isAccessibilityFocused();
+    method public boolean isActive();
+    method public boolean isFocused();
+    method public boolean isInPictureInPictureMode();
+    method public static android.view.accessibility.AccessibilityWindowInfo obtain();
+    method public static android.view.accessibility.AccessibilityWindowInfo obtain(android.view.accessibility.AccessibilityWindowInfo);
+    method public void recycle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityWindowInfo> CREATOR;
+    field public static final int TYPE_ACCESSIBILITY_OVERLAY = 4; // 0x4
+    field public static final int TYPE_APPLICATION = 1; // 0x1
+    field public static final int TYPE_INPUT_METHOD = 2; // 0x2
+    field public static final int TYPE_SPLIT_SCREEN_DIVIDER = 5; // 0x5
+    field public static final int TYPE_SYSTEM = 3; // 0x3
+  }
+
+  public class CaptioningManager {
+    method public void addCaptioningChangeListener(@NonNull android.view.accessibility.CaptioningManager.CaptioningChangeListener);
+    method public final float getFontScale();
+    method @Nullable public final java.util.Locale getLocale();
+    method @NonNull public android.view.accessibility.CaptioningManager.CaptionStyle getUserStyle();
+    method public final boolean isEnabled();
+    method public void removeCaptioningChangeListener(@NonNull android.view.accessibility.CaptioningManager.CaptioningChangeListener);
+  }
+
+  public static final class CaptioningManager.CaptionStyle {
+    method @Nullable public android.graphics.Typeface getTypeface();
+    method public boolean hasBackgroundColor();
+    method public boolean hasEdgeColor();
+    method public boolean hasEdgeType();
+    method public boolean hasForegroundColor();
+    method public boolean hasWindowColor();
+    field public static final int EDGE_TYPE_DEPRESSED = 4; // 0x4
+    field public static final int EDGE_TYPE_DROP_SHADOW = 2; // 0x2
+    field public static final int EDGE_TYPE_NONE = 0; // 0x0
+    field public static final int EDGE_TYPE_OUTLINE = 1; // 0x1
+    field public static final int EDGE_TYPE_RAISED = 3; // 0x3
+    field public static final int EDGE_TYPE_UNSPECIFIED = -1; // 0xffffffff
+    field public final int backgroundColor;
+    field public final int edgeColor;
+    field public final int edgeType;
+    field public final int foregroundColor;
+    field public final int windowColor;
+  }
+
+  public abstract static class CaptioningManager.CaptioningChangeListener {
+    ctor public CaptioningManager.CaptioningChangeListener();
+    method public void onEnabledChanged(boolean);
+    method public void onFontScaleChanged(float);
+    method public void onLocaleChanged(@Nullable java.util.Locale);
+    method public void onUserStyleChanged(@NonNull android.view.accessibility.CaptioningManager.CaptionStyle);
+  }
+
+}
+
+package android.view.animation {
+
+  public class AccelerateDecelerateInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public AccelerateDecelerateInterpolator();
+    ctor public AccelerateDecelerateInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class AccelerateInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public AccelerateInterpolator();
+    ctor public AccelerateInterpolator(float);
+    ctor public AccelerateInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class AlphaAnimation extends android.view.animation.Animation {
+    ctor public AlphaAnimation(android.content.Context, android.util.AttributeSet);
+    ctor public AlphaAnimation(float, float);
+  }
+
+  public abstract class Animation implements java.lang.Cloneable {
+    ctor public Animation();
+    ctor public Animation(android.content.Context, android.util.AttributeSet);
+    method protected void applyTransformation(float, android.view.animation.Transformation);
+    method public void cancel();
+    method protected android.view.animation.Animation clone() throws java.lang.CloneNotSupportedException;
+    method public long computeDurationHint();
+    method protected void ensureInterpolator();
+    method @Deprecated @ColorInt public int getBackgroundColor();
+    method @Deprecated public boolean getDetachWallpaper();
+    method public long getDuration();
+    method public boolean getFillAfter();
+    method public boolean getFillBefore();
+    method public android.view.animation.Interpolator getInterpolator();
+    method public int getRepeatCount();
+    method public int getRepeatMode();
+    method protected float getScaleFactor();
+    method public long getStartOffset();
+    method public long getStartTime();
+    method public boolean getTransformation(long, android.view.animation.Transformation);
+    method public boolean getTransformation(long, android.view.animation.Transformation, float);
+    method public int getZAdjustment();
+    method public boolean hasEnded();
+    method public boolean hasStarted();
+    method public void initialize(int, int, int, int);
+    method public boolean isFillEnabled();
+    method public boolean isInitialized();
+    method public void reset();
+    method protected float resolveSize(int, float, int, int);
+    method public void restrictDuration(long);
+    method public void scaleCurrentDuration(float);
+    method public void setAnimationListener(android.view.animation.Animation.AnimationListener);
+    method @Deprecated public void setBackgroundColor(@ColorInt int);
+    method @Deprecated public void setDetachWallpaper(boolean);
+    method public void setDuration(long);
+    method public void setFillAfter(boolean);
+    method public void setFillBefore(boolean);
+    method public void setFillEnabled(boolean);
+    method public void setInterpolator(android.content.Context, @AnimRes @InterpolatorRes int);
+    method public void setInterpolator(android.view.animation.Interpolator);
+    method public void setRepeatCount(int);
+    method public void setRepeatMode(int);
+    method public void setStartOffset(long);
+    method public void setStartTime(long);
+    method public void setZAdjustment(int);
+    method public void start();
+    method public void startNow();
+    method public boolean willChangeBounds();
+    method public boolean willChangeTransformationMatrix();
+    field public static final int ABSOLUTE = 0; // 0x0
+    field public static final int INFINITE = -1; // 0xffffffff
+    field public static final int RELATIVE_TO_PARENT = 2; // 0x2
+    field public static final int RELATIVE_TO_SELF = 1; // 0x1
+    field public static final int RESTART = 1; // 0x1
+    field public static final int REVERSE = 2; // 0x2
+    field public static final int START_ON_FIRST_FRAME = -1; // 0xffffffff
+    field public static final int ZORDER_BOTTOM = -1; // 0xffffffff
+    field public static final int ZORDER_NORMAL = 0; // 0x0
+    field public static final int ZORDER_TOP = 1; // 0x1
+  }
+
+  public static interface Animation.AnimationListener {
+    method public void onAnimationEnd(android.view.animation.Animation);
+    method public void onAnimationRepeat(android.view.animation.Animation);
+    method public void onAnimationStart(android.view.animation.Animation);
+  }
+
+  protected static class Animation.Description {
+    ctor protected Animation.Description();
+    field public int type;
+    field public float value;
+  }
+
+  public class AnimationSet extends android.view.animation.Animation {
+    ctor public AnimationSet(android.content.Context, android.util.AttributeSet);
+    ctor public AnimationSet(boolean);
+    method public void addAnimation(android.view.animation.Animation);
+    method protected android.view.animation.AnimationSet clone() throws java.lang.CloneNotSupportedException;
+    method public java.util.List<android.view.animation.Animation> getAnimations();
+  }
+
+  public class AnimationUtils {
+    ctor public AnimationUtils();
+    method public static long currentAnimationTimeMillis();
+    method public static android.view.animation.Animation loadAnimation(android.content.Context, @AnimRes int) throws android.content.res.Resources.NotFoundException;
+    method public static android.view.animation.Interpolator loadInterpolator(android.content.Context, @AnimRes @InterpolatorRes int) throws android.content.res.Resources.NotFoundException;
+    method public static android.view.animation.LayoutAnimationController loadLayoutAnimation(android.content.Context, @AnimRes int) throws android.content.res.Resources.NotFoundException;
+    method public static android.view.animation.Animation makeInAnimation(android.content.Context, boolean);
+    method public static android.view.animation.Animation makeInChildBottomAnimation(android.content.Context);
+    method public static android.view.animation.Animation makeOutAnimation(android.content.Context, boolean);
+  }
+
+  public class AnticipateInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public AnticipateInterpolator();
+    ctor public AnticipateInterpolator(float);
+    ctor public AnticipateInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class AnticipateOvershootInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public AnticipateOvershootInterpolator();
+    ctor public AnticipateOvershootInterpolator(float);
+    ctor public AnticipateOvershootInterpolator(float, float);
+    ctor public AnticipateOvershootInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public abstract class BaseInterpolator implements android.view.animation.Interpolator {
+    ctor public BaseInterpolator();
+  }
+
+  public class BounceInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public BounceInterpolator();
+    ctor public BounceInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class CycleInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public CycleInterpolator(float);
+    ctor public CycleInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class DecelerateInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public DecelerateInterpolator();
+    ctor public DecelerateInterpolator(float);
+    ctor public DecelerateInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class GridLayoutAnimationController extends android.view.animation.LayoutAnimationController {
+    ctor public GridLayoutAnimationController(android.content.Context, android.util.AttributeSet);
+    ctor public GridLayoutAnimationController(android.view.animation.Animation);
+    ctor public GridLayoutAnimationController(android.view.animation.Animation, float, float);
+    method public float getColumnDelay();
+    method public int getDirection();
+    method public int getDirectionPriority();
+    method public float getRowDelay();
+    method public void setColumnDelay(float);
+    method public void setDirection(int);
+    method public void setDirectionPriority(int);
+    method public void setRowDelay(float);
+    field public static final int DIRECTION_BOTTOM_TO_TOP = 2; // 0x2
+    field public static final int DIRECTION_HORIZONTAL_MASK = 1; // 0x1
+    field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1
+    field public static final int DIRECTION_TOP_TO_BOTTOM = 0; // 0x0
+    field public static final int DIRECTION_VERTICAL_MASK = 2; // 0x2
+    field public static final int PRIORITY_COLUMN = 1; // 0x1
+    field public static final int PRIORITY_NONE = 0; // 0x0
+    field public static final int PRIORITY_ROW = 2; // 0x2
+  }
+
+  public static class GridLayoutAnimationController.AnimationParameters extends android.view.animation.LayoutAnimationController.AnimationParameters {
+    ctor public GridLayoutAnimationController.AnimationParameters();
+    field public int column;
+    field public int columnsCount;
+    field public int row;
+    field public int rowsCount;
+  }
+
+  public interface Interpolator extends android.animation.TimeInterpolator {
+  }
+
+  public class LayoutAnimationController {
+    ctor public LayoutAnimationController(android.content.Context, android.util.AttributeSet);
+    ctor public LayoutAnimationController(android.view.animation.Animation);
+    ctor public LayoutAnimationController(android.view.animation.Animation, float);
+    method public android.view.animation.Animation getAnimation();
+    method public final android.view.animation.Animation getAnimationForView(android.view.View);
+    method public float getDelay();
+    method protected long getDelayForView(android.view.View);
+    method public android.view.animation.Interpolator getInterpolator();
+    method public int getOrder();
+    method protected int getTransformedIndex(android.view.animation.LayoutAnimationController.AnimationParameters);
+    method public boolean isDone();
+    method public void setAnimation(android.content.Context, @AnimRes int);
+    method public void setAnimation(android.view.animation.Animation);
+    method public void setDelay(float);
+    method public void setInterpolator(android.content.Context, @InterpolatorRes int);
+    method public void setInterpolator(android.view.animation.Interpolator);
+    method public void setOrder(int);
+    method public void start();
+    method public boolean willOverlap();
+    field public static final int ORDER_NORMAL = 0; // 0x0
+    field public static final int ORDER_RANDOM = 2; // 0x2
+    field public static final int ORDER_REVERSE = 1; // 0x1
+    field protected android.view.animation.Animation mAnimation;
+    field protected android.view.animation.Interpolator mInterpolator;
+    field protected java.util.Random mRandomizer;
+  }
+
+  public static class LayoutAnimationController.AnimationParameters {
+    ctor public LayoutAnimationController.AnimationParameters();
+    field public int count;
+    field public int index;
+  }
+
+  public class LinearInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public LinearInterpolator();
+    ctor public LinearInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class OvershootInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public OvershootInterpolator();
+    ctor public OvershootInterpolator(float);
+    ctor public OvershootInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class PathInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public PathInterpolator(android.graphics.Path);
+    ctor public PathInterpolator(float, float);
+    ctor public PathInterpolator(float, float, float, float);
+    ctor public PathInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class RotateAnimation extends android.view.animation.Animation {
+    ctor public RotateAnimation(android.content.Context, android.util.AttributeSet);
+    ctor public RotateAnimation(float, float);
+    ctor public RotateAnimation(float, float, float, float);
+    ctor public RotateAnimation(float, float, int, float, int, float);
+  }
+
+  public class ScaleAnimation extends android.view.animation.Animation {
+    ctor public ScaleAnimation(android.content.Context, android.util.AttributeSet);
+    ctor public ScaleAnimation(float, float, float, float);
+    ctor public ScaleAnimation(float, float, float, float, float, float);
+    ctor public ScaleAnimation(float, float, float, float, int, float, int, float);
+  }
+
+  public class Transformation {
+    ctor public Transformation();
+    method public void clear();
+    method public void compose(android.view.animation.Transformation);
+    method public float getAlpha();
+    method public android.graphics.Matrix getMatrix();
+    method public int getTransformationType();
+    method public void set(android.view.animation.Transformation);
+    method public void setAlpha(@FloatRange(from=0.0, to=1.0) float);
+    method public void setTransformationType(int);
+    method public String toShortString();
+    field public static final int TYPE_ALPHA = 1; // 0x1
+    field public static final int TYPE_BOTH = 3; // 0x3
+    field public static final int TYPE_IDENTITY = 0; // 0x0
+    field public static final int TYPE_MATRIX = 2; // 0x2
+    field protected float mAlpha;
+    field protected android.graphics.Matrix mMatrix;
+    field protected int mTransformationType;
+  }
+
+  public class TranslateAnimation extends android.view.animation.Animation {
+    ctor public TranslateAnimation(android.content.Context, android.util.AttributeSet);
+    ctor public TranslateAnimation(float, float, float, float);
+    ctor public TranslateAnimation(int, float, int, float, int, float, int, float);
+  }
+
+}
+
+package android.view.autofill {
+
+  public final class AutofillId implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.autofill.AutofillId> CREATOR;
+  }
+
+  public final class AutofillManager {
+    method public void cancel();
+    method public void commit();
+    method public void disableAutofillServices();
+    method @Nullable public android.content.ComponentName getAutofillServiceComponentName();
+    method @NonNull public java.util.List<java.lang.String> getAvailableFieldClassificationAlgorithms();
+    method @Nullable public String getDefaultFieldClassificationAlgorithm();
+    method @Nullable public android.view.autofill.AutofillId getNextAutofillId();
+    method @Nullable public android.service.autofill.UserData getUserData();
+    method @Nullable public String getUserDataId();
+    method public boolean hasEnabledAutofillServices();
+    method public boolean isAutofillSupported();
+    method public boolean isEnabled();
+    method public boolean isFieldClassificationEnabled();
+    method public void notifyValueChanged(android.view.View);
+    method public void notifyValueChanged(android.view.View, int, android.view.autofill.AutofillValue);
+    method public void notifyViewClicked(@NonNull android.view.View);
+    method public void notifyViewClicked(@NonNull android.view.View, int);
+    method public void notifyViewEntered(@NonNull android.view.View);
+    method public void notifyViewEntered(@NonNull android.view.View, int, @NonNull android.graphics.Rect);
+    method public void notifyViewExited(@NonNull android.view.View);
+    method public void notifyViewExited(@NonNull android.view.View, int);
+    method public void notifyViewVisibilityChanged(@NonNull android.view.View, boolean);
+    method public void notifyViewVisibilityChanged(@NonNull android.view.View, int, boolean);
+    method public void registerCallback(@Nullable android.view.autofill.AutofillManager.AutofillCallback);
+    method public void requestAutofill(@NonNull android.view.View);
+    method public void requestAutofill(@NonNull android.view.View, int, @NonNull android.graphics.Rect);
+    method public void setUserData(@Nullable android.service.autofill.UserData);
+    method public void unregisterCallback(@Nullable android.view.autofill.AutofillManager.AutofillCallback);
+    field public static final String EXTRA_ASSIST_STRUCTURE = "android.view.autofill.extra.ASSIST_STRUCTURE";
+    field public static final String EXTRA_AUTHENTICATION_RESULT = "android.view.autofill.extra.AUTHENTICATION_RESULT";
+    field public static final String EXTRA_AUTHENTICATION_RESULT_EPHEMERAL_DATASET = "android.view.autofill.extra.AUTHENTICATION_RESULT_EPHEMERAL_DATASET";
+    field public static final String EXTRA_CLIENT_STATE = "android.view.autofill.extra.CLIENT_STATE";
+    field public static final String EXTRA_INLINE_SUGGESTIONS_REQUEST = "android.view.autofill.extra.INLINE_SUGGESTIONS_REQUEST";
+  }
+
+  public abstract static class AutofillManager.AutofillCallback {
+    ctor public AutofillManager.AutofillCallback();
+    method public void onAutofillEvent(@NonNull android.view.View, int);
+    method public void onAutofillEvent(@NonNull android.view.View, int, int);
+    field public static final int EVENT_INPUT_HIDDEN = 2; // 0x2
+    field public static final int EVENT_INPUT_SHOWN = 1; // 0x1
+    field public static final int EVENT_INPUT_UNAVAILABLE = 3; // 0x3
+  }
+
+  public final class AutofillValue implements android.os.Parcelable {
+    method public int describeContents();
+    method public static android.view.autofill.AutofillValue forDate(long);
+    method public static android.view.autofill.AutofillValue forList(int);
+    method public static android.view.autofill.AutofillValue forText(@Nullable CharSequence);
+    method public static android.view.autofill.AutofillValue forToggle(boolean);
+    method public long getDateValue();
+    method public int getListValue();
+    method @NonNull public CharSequence getTextValue();
+    method public boolean getToggleValue();
+    method public boolean isDate();
+    method public boolean isList();
+    method public boolean isText();
+    method public boolean isToggle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.autofill.AutofillValue> CREATOR;
+  }
+
+}
+
+package android.view.contentcapture {
+
+  public final class ContentCaptureCondition implements android.os.Parcelable {
+    ctor public ContentCaptureCondition(@NonNull android.content.LocusId, int);
+    method public int describeContents();
+    method public int getFlags();
+    method @NonNull public android.content.LocusId getLocusId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureCondition> CREATOR;
+    field public static final int FLAG_IS_REGEX = 2; // 0x2
+  }
+
+  public final class ContentCaptureContext implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.view.contentcapture.ContentCaptureContext forLocusId(@NonNull String);
+    method @Nullable public android.os.Bundle getExtras();
+    method @Nullable public android.content.LocusId getLocusId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureContext> CREATOR;
+  }
+
+  public static final class ContentCaptureContext.Builder {
+    ctor public ContentCaptureContext.Builder(@NonNull android.content.LocusId);
+    method @NonNull public android.view.contentcapture.ContentCaptureContext build();
+    method @NonNull public android.view.contentcapture.ContentCaptureContext.Builder setExtras(@NonNull android.os.Bundle);
+  }
+
+  public final class ContentCaptureManager {
+    method @Nullable public java.util.Set<android.view.contentcapture.ContentCaptureCondition> getContentCaptureConditions();
+    method @Nullable public android.content.ComponentName getServiceComponentName();
+    method public boolean isContentCaptureEnabled();
+    method public void removeData(@NonNull android.view.contentcapture.DataRemovalRequest);
+    method public void setContentCaptureEnabled(boolean);
+    method public void shareData(@NonNull android.view.contentcapture.DataShareRequest, @NonNull java.util.concurrent.Executor, @NonNull android.view.contentcapture.DataShareWriteAdapter);
+    field public static final int DATA_SHARE_ERROR_CONCURRENT_REQUEST = 2; // 0x2
+    field public static final int DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED = 3; // 0x3
+    field public static final int DATA_SHARE_ERROR_UNKNOWN = 1; // 0x1
+  }
+
+  public abstract class ContentCaptureSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public final android.view.contentcapture.ContentCaptureSession createContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext);
+    method public final void destroy();
+    method @Nullable public final android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
+    method @NonNull public final android.view.contentcapture.ContentCaptureSessionId getContentCaptureSessionId();
+    method @NonNull public android.view.autofill.AutofillId newAutofillId(@NonNull android.view.autofill.AutofillId, long);
+    method @NonNull public final android.view.ViewStructure newViewStructure(@NonNull android.view.View);
+    method @NonNull public final android.view.ViewStructure newVirtualViewStructure(@NonNull android.view.autofill.AutofillId, long);
+    method public final void notifySessionPaused();
+    method public final void notifySessionResumed();
+    method public final void notifyViewAppeared(@NonNull android.view.ViewStructure);
+    method public final void notifyViewDisappeared(@NonNull android.view.autofill.AutofillId);
+    method public final void notifyViewInsetsChanged(@NonNull android.graphics.Insets);
+    method public final void notifyViewTextChanged(@NonNull android.view.autofill.AutofillId, @Nullable CharSequence);
+    method public final void notifyViewsDisappeared(@NonNull android.view.autofill.AutofillId, @NonNull long[]);
+    method public final void setContentCaptureContext(@Nullable android.view.contentcapture.ContentCaptureContext);
+  }
+
+  public final class ContentCaptureSessionId implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureSessionId> CREATOR;
+  }
+
+  public final class DataRemovalRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.view.contentcapture.DataRemovalRequest.LocusIdRequest> getLocusIdRequests();
+    method @NonNull public String getPackageName();
+    method public boolean isForEverything();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.DataRemovalRequest> CREATOR;
+    field public static final int FLAG_IS_PREFIX = 1; // 0x1
+  }
+
+  public static final class DataRemovalRequest.Builder {
+    ctor public DataRemovalRequest.Builder();
+    method @NonNull public android.view.contentcapture.DataRemovalRequest.Builder addLocusId(@NonNull android.content.LocusId, int);
+    method @NonNull public android.view.contentcapture.DataRemovalRequest build();
+    method @NonNull public android.view.contentcapture.DataRemovalRequest.Builder forEverything();
+  }
+
+  public final class DataRemovalRequest.LocusIdRequest {
+    method @NonNull public int getFlags();
+    method @NonNull public android.content.LocusId getLocusId();
+  }
+
+  public final class DataShareRequest implements android.os.Parcelable {
+    ctor public DataShareRequest(@Nullable android.content.LocusId, @NonNull String);
+    method public int describeContents();
+    method @Nullable public android.content.LocusId getLocusId();
+    method @NonNull public String getMimeType();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.DataShareRequest> CREATOR;
+  }
+
+  public interface DataShareWriteAdapter {
+    method public default void onError(int);
+    method public void onRejected();
+    method public void onWrite(@NonNull android.os.ParcelFileDescriptor);
+  }
+
+}
+
+package android.view.displayhash {
+
+  public final class DisplayHash implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.displayhash.DisplayHash> CREATOR;
+  }
+
+  public final class DisplayHashManager {
+    method @NonNull public java.util.Set<java.lang.String> getSupportedHashAlgorithms();
+    method @Nullable public android.view.displayhash.VerifiedDisplayHash verifyDisplayHash(@NonNull android.view.displayhash.DisplayHash);
+  }
+
+  public interface DisplayHashResultCallback {
+    method public void onDisplayHashError(int);
+    method public void onDisplayHashResult(@NonNull android.view.displayhash.DisplayHash);
+    field public static final int DISPLAY_HASH_ERROR_INVALID_BOUNDS = -2; // 0xfffffffe
+    field public static final int DISPLAY_HASH_ERROR_INVALID_HASH_ALGORITHM = -5; // 0xfffffffb
+    field public static final int DISPLAY_HASH_ERROR_MISSING_WINDOW = -3; // 0xfffffffd
+    field public static final int DISPLAY_HASH_ERROR_NOT_VISIBLE_ON_SCREEN = -4; // 0xfffffffc
+    field public static final int DISPLAY_HASH_ERROR_TOO_MANY_REQUESTS = -6; // 0xfffffffa
+    field public static final int DISPLAY_HASH_ERROR_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class VerifiedDisplayHash implements android.os.Parcelable {
+    ctor public VerifiedDisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[]);
+    method public int describeContents();
+    method @NonNull public android.graphics.Rect getBoundsInWindow();
+    method @NonNull public String getHashAlgorithm();
+    method @NonNull public byte[] getImageHash();
+    method public long getTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.displayhash.VerifiedDisplayHash> CREATOR;
+  }
+
+}
+
+package android.view.inputmethod {
+
+  public class BaseInputConnection implements android.view.inputmethod.InputConnection {
+    ctor public BaseInputConnection(android.view.View, boolean);
+    method public boolean beginBatchEdit();
+    method public boolean clearMetaKeyStates(int);
+    method @CallSuper public void closeConnection();
+    method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
+    method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
+    method public boolean commitText(CharSequence, int);
+    method public boolean deleteSurroundingText(int, int);
+    method public boolean deleteSurroundingTextInCodePoints(int, int);
+    method public boolean endBatchEdit();
+    method public boolean finishComposingText();
+    method public static int getComposingSpanEnd(android.text.Spannable);
+    method public static int getComposingSpanStart(android.text.Spannable);
+    method public int getCursorCapsMode(int);
+    method public android.text.Editable getEditable();
+    method public android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
+    method public android.os.Handler getHandler();
+    method public CharSequence getSelectedText(int);
+    method @Nullable public CharSequence getTextAfterCursor(@IntRange(from=0) int, int);
+    method @Nullable public CharSequence getTextBeforeCursor(@IntRange(from=0) int, int);
+    method public boolean performContextMenuAction(int);
+    method public boolean performEditorAction(int);
+    method public boolean performPrivateCommand(String, android.os.Bundle);
+    method public static final void removeComposingSpans(android.text.Spannable);
+    method public boolean reportFullscreenMode(boolean);
+    method public boolean requestCursorUpdates(int);
+    method public boolean sendKeyEvent(android.view.KeyEvent);
+    method public boolean setComposingRegion(int, int);
+    method public static void setComposingSpans(android.text.Spannable);
+    method public boolean setComposingText(CharSequence, int);
+    method public boolean setSelection(int, int);
+  }
+
+  public final class CompletionInfo implements android.os.Parcelable {
+    ctor public CompletionInfo(long, int, CharSequence);
+    ctor public CompletionInfo(long, int, CharSequence, CharSequence);
+    method public int describeContents();
+    method public long getId();
+    method public CharSequence getLabel();
+    method public int getPosition();
+    method public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.CompletionInfo> CREATOR;
+  }
+
+  public final class CorrectionInfo implements android.os.Parcelable {
+    ctor public CorrectionInfo(int, CharSequence, CharSequence);
+    method public int describeContents();
+    method public CharSequence getNewText();
+    method public int getOffset();
+    method public CharSequence getOldText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.CorrectionInfo> CREATOR;
+  }
+
+  public final class CursorAnchorInfo implements android.os.Parcelable {
+    ctor public CursorAnchorInfo(android.os.Parcel);
+    method public int describeContents();
+    method public android.graphics.RectF getCharacterBounds(int);
+    method public int getCharacterBoundsFlags(int);
+    method public CharSequence getComposingText();
+    method public int getComposingTextStart();
+    method public float getInsertionMarkerBaseline();
+    method public float getInsertionMarkerBottom();
+    method public int getInsertionMarkerFlags();
+    method public float getInsertionMarkerHorizontal();
+    method public float getInsertionMarkerTop();
+    method public android.graphics.Matrix getMatrix();
+    method public int getSelectionEnd();
+    method public int getSelectionStart();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.CursorAnchorInfo> CREATOR;
+    field public static final int FLAG_HAS_INVISIBLE_REGION = 2; // 0x2
+    field public static final int FLAG_HAS_VISIBLE_REGION = 1; // 0x1
+    field public static final int FLAG_IS_RTL = 4; // 0x4
+  }
+
+  public static final class CursorAnchorInfo.Builder {
+    ctor public CursorAnchorInfo.Builder();
+    method public android.view.inputmethod.CursorAnchorInfo.Builder addCharacterBounds(int, float, float, float, float, int);
+    method public android.view.inputmethod.CursorAnchorInfo build();
+    method public void reset();
+    method public android.view.inputmethod.CursorAnchorInfo.Builder setComposingText(int, CharSequence);
+    method public android.view.inputmethod.CursorAnchorInfo.Builder setInsertionMarkerLocation(float, float, float, float, int);
+    method public android.view.inputmethod.CursorAnchorInfo.Builder setMatrix(android.graphics.Matrix);
+    method public android.view.inputmethod.CursorAnchorInfo.Builder setSelectionRange(int, int);
+  }
+
+  public class EditorInfo implements android.text.InputType android.os.Parcelable {
+    ctor public EditorInfo();
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method @Nullable public CharSequence getInitialSelectedText(int);
+    method @Nullable public android.view.inputmethod.SurroundingText getInitialSurroundingText(@IntRange(from=0) int, @IntRange(from=0) int, int);
+    method @Nullable public CharSequence getInitialTextAfterCursor(@IntRange(from=0) int, int);
+    method @Nullable public CharSequence getInitialTextBeforeCursor(@IntRange(from=0) int, int);
+    method public final void makeCompatible(int);
+    method public void setInitialSurroundingSubText(@NonNull CharSequence, int);
+    method public void setInitialSurroundingText(@NonNull CharSequence);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.EditorInfo> CREATOR;
+    field public static final int IME_ACTION_DONE = 6; // 0x6
+    field public static final int IME_ACTION_GO = 2; // 0x2
+    field public static final int IME_ACTION_NEXT = 5; // 0x5
+    field public static final int IME_ACTION_NONE = 1; // 0x1
+    field public static final int IME_ACTION_PREVIOUS = 7; // 0x7
+    field public static final int IME_ACTION_SEARCH = 3; // 0x3
+    field public static final int IME_ACTION_SEND = 4; // 0x4
+    field public static final int IME_ACTION_UNSPECIFIED = 0; // 0x0
+    field public static final int IME_FLAG_FORCE_ASCII = -2147483648; // 0x80000000
+    field public static final int IME_FLAG_NAVIGATE_NEXT = 134217728; // 0x8000000
+    field public static final int IME_FLAG_NAVIGATE_PREVIOUS = 67108864; // 0x4000000
+    field public static final int IME_FLAG_NO_ACCESSORY_ACTION = 536870912; // 0x20000000
+    field public static final int IME_FLAG_NO_ENTER_ACTION = 1073741824; // 0x40000000
+    field public static final int IME_FLAG_NO_EXTRACT_UI = 268435456; // 0x10000000
+    field public static final int IME_FLAG_NO_FULLSCREEN = 33554432; // 0x2000000
+    field public static final int IME_FLAG_NO_PERSONALIZED_LEARNING = 16777216; // 0x1000000
+    field public static final int IME_MASK_ACTION = 255; // 0xff
+    field public static final int IME_NULL = 0; // 0x0
+    field public int actionId;
+    field public CharSequence actionLabel;
+    field @Nullable public String[] contentMimeTypes;
+    field public android.os.Bundle extras;
+    field public int fieldId;
+    field public String fieldName;
+    field @Nullable public android.os.LocaleList hintLocales;
+    field public CharSequence hintText;
+    field public int imeOptions;
+    field public int initialCapsMode;
+    field public int initialSelEnd;
+    field public int initialSelStart;
+    field public int inputType;
+    field public CharSequence label;
+    field public String packageName;
+    field public String privateImeOptions;
+  }
+
+  public class ExtractedText implements android.os.Parcelable {
+    ctor public ExtractedText();
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.ExtractedText> CREATOR;
+    field public static final int FLAG_SELECTING = 2; // 0x2
+    field public static final int FLAG_SINGLE_LINE = 1; // 0x1
+    field public int flags;
+    field public CharSequence hint;
+    field public int partialEndOffset;
+    field public int partialStartOffset;
+    field public int selectionEnd;
+    field public int selectionStart;
+    field public int startOffset;
+    field public CharSequence text;
+  }
+
+  public class ExtractedTextRequest implements android.os.Parcelable {
+    ctor public ExtractedTextRequest();
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.ExtractedTextRequest> CREATOR;
+    field public int flags;
+    field public int hintMaxChars;
+    field public int hintMaxLines;
+    field public int token;
+  }
+
+  public final class InlineSuggestion implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.inputmethod.InlineSuggestionInfo getInfo();
+    method public void inflate(@NonNull android.content.Context, @NonNull android.util.Size, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.widget.inline.InlineContentView>);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestion> CREATOR;
+  }
+
+  public final class InlineSuggestionInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String[] getAutofillHints();
+    method @NonNull public android.widget.inline.InlinePresentationSpec getInlinePresentationSpec();
+    method @NonNull public String getSource();
+    method @NonNull public String getType();
+    method public boolean isPinned();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionInfo> CREATOR;
+    field public static final String SOURCE_AUTOFILL = "android:autofill";
+    field public static final String SOURCE_PLATFORM = "android:platform";
+    field public static final String TYPE_ACTION = "android:autofill:action";
+    field public static final String TYPE_SUGGESTION = "android:autofill:suggestion";
+  }
+
+  public final class InlineSuggestionsRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getHostPackageName();
+    method @NonNull public java.util.List<android.widget.inline.InlinePresentationSpec> getInlinePresentationSpecs();
+    method @Nullable public android.widget.inline.InlinePresentationSpec getInlineTooltipPresentationSpec();
+    method public int getMaxSuggestionCount();
+    method @NonNull public android.os.LocaleList getSupportedLocales();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionsRequest> CREATOR;
+    field public static final int SUGGESTION_COUNT_UNLIMITED = 2147483647; // 0x7fffffff
+  }
+
+  public static final class InlineSuggestionsRequest.Builder {
+    ctor public InlineSuggestionsRequest.Builder(@NonNull java.util.List<android.widget.inline.InlinePresentationSpec>);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder addInlinePresentationSpecs(@NonNull android.widget.inline.InlinePresentationSpec);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest build();
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setInlinePresentationSpecs(@NonNull java.util.List<android.widget.inline.InlinePresentationSpec>);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setInlineTooltipPresentationSpec(@NonNull android.widget.inline.InlinePresentationSpec);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setMaxSuggestionCount(int);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setSupportedLocales(@NonNull android.os.LocaleList);
+  }
+
+  public final class InlineSuggestionsResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.view.inputmethod.InlineSuggestion> getInlineSuggestions();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionsResponse> CREATOR;
+  }
+
+  public final class InputBinding implements android.os.Parcelable {
+    ctor public InputBinding(android.view.inputmethod.InputConnection, android.os.IBinder, int, int);
+    ctor public InputBinding(android.view.inputmethod.InputConnection, android.view.inputmethod.InputBinding);
+    method public int describeContents();
+    method public android.view.inputmethod.InputConnection getConnection();
+    method public android.os.IBinder getConnectionToken();
+    method public int getPid();
+    method public int getUid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputBinding> CREATOR;
+  }
+
+  public interface InputConnection {
+    method public boolean beginBatchEdit();
+    method public boolean clearMetaKeyStates(int);
+    method public void closeConnection();
+    method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(@NonNull android.view.inputmethod.InputContentInfo, int, @Nullable android.os.Bundle);
+    method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
+    method public boolean commitText(CharSequence, int);
+    method public boolean deleteSurroundingText(int, int);
+    method public boolean deleteSurroundingTextInCodePoints(int, int);
+    method public boolean endBatchEdit();
+    method public boolean finishComposingText();
+    method public int getCursorCapsMode(int);
+    method public android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
+    method public android.os.Handler getHandler();
+    method public CharSequence getSelectedText(int);
+    method @Nullable public default android.view.inputmethod.SurroundingText getSurroundingText(@IntRange(from=0) int, @IntRange(from=0) int, int);
+    method @Nullable public CharSequence getTextAfterCursor(@IntRange(from=0) int, int);
+    method @Nullable public CharSequence getTextBeforeCursor(@IntRange(from=0) int, int);
+    method public boolean performContextMenuAction(int);
+    method public boolean performEditorAction(int);
+    method public boolean performPrivateCommand(String, android.os.Bundle);
+    method public default boolean performSpellCheck();
+    method public boolean reportFullscreenMode(boolean);
+    method public boolean requestCursorUpdates(int);
+    method public boolean sendKeyEvent(android.view.KeyEvent);
+    method public boolean setComposingRegion(int, int);
+    method public boolean setComposingText(CharSequence, int);
+    method public default boolean setImeConsumesInput(boolean);
+    method public boolean setSelection(int, int);
+    field public static final int CURSOR_UPDATE_IMMEDIATE = 1; // 0x1
+    field public static final int CURSOR_UPDATE_MONITOR = 2; // 0x2
+    field public static final int GET_EXTRACTED_TEXT_MONITOR = 1; // 0x1
+    field public static final int GET_TEXT_WITH_STYLES = 1; // 0x1
+    field public static final int INPUT_CONTENT_GRANT_READ_URI_PERMISSION = 1; // 0x1
+  }
+
+  public class InputConnectionWrapper implements android.view.inputmethod.InputConnection {
+    ctor public InputConnectionWrapper(android.view.inputmethod.InputConnection, boolean);
+    method public boolean beginBatchEdit();
+    method public boolean clearMetaKeyStates(int);
+    method public void closeConnection();
+    method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
+    method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
+    method public boolean commitText(CharSequence, int);
+    method public boolean deleteSurroundingText(int, int);
+    method public boolean deleteSurroundingTextInCodePoints(int, int);
+    method public boolean endBatchEdit();
+    method public boolean finishComposingText();
+    method public int getCursorCapsMode(int);
+    method public android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
+    method public android.os.Handler getHandler();
+    method public CharSequence getSelectedText(int);
+    method @Nullable public CharSequence getTextAfterCursor(@IntRange(from=0) int, int);
+    method @Nullable public CharSequence getTextBeforeCursor(@IntRange(from=0) int, int);
+    method public boolean performContextMenuAction(int);
+    method public boolean performEditorAction(int);
+    method public boolean performPrivateCommand(String, android.os.Bundle);
+    method public boolean reportFullscreenMode(boolean);
+    method public boolean requestCursorUpdates(int);
+    method public boolean sendKeyEvent(android.view.KeyEvent);
+    method public boolean setComposingRegion(int, int);
+    method public boolean setComposingText(CharSequence, int);
+    method public boolean setSelection(int, int);
+    method public void setTarget(android.view.inputmethod.InputConnection);
+  }
+
+  public final class InputContentInfo implements android.os.Parcelable {
+    ctor public InputContentInfo(@NonNull android.net.Uri, @NonNull android.content.ClipDescription);
+    ctor public InputContentInfo(@NonNull android.net.Uri, @NonNull android.content.ClipDescription, @Nullable android.net.Uri);
+    method public int describeContents();
+    method @NonNull public android.net.Uri getContentUri();
+    method @NonNull public android.content.ClipDescription getDescription();
+    method @Nullable public android.net.Uri getLinkUri();
+    method public void releasePermission();
+    method public void requestPermission();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputContentInfo> CREATOR;
+  }
+
+  public interface InputMethod {
+    method @MainThread public void attachToken(android.os.IBinder);
+    method @MainThread public void bindInput(android.view.inputmethod.InputBinding);
+    method @MainThread public void changeInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
+    method @MainThread public void createSession(android.view.inputmethod.InputMethod.SessionCallback);
+    method @MainThread public void hideSoftInput(int, android.os.ResultReceiver);
+    method @MainThread public void restartInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+    method @MainThread public void revokeSession(android.view.inputmethod.InputMethodSession);
+    method @MainThread public void setSessionEnabled(android.view.inputmethod.InputMethodSession, boolean);
+    method @MainThread public void showSoftInput(int, android.os.ResultReceiver);
+    method @MainThread public void startInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+    method @MainThread public void unbindInput();
+    field public static final String SERVICE_INTERFACE = "android.view.InputMethod";
+    field public static final String SERVICE_META_DATA = "android.view.im";
+    field public static final int SHOW_EXPLICIT = 1; // 0x1
+    field public static final int SHOW_FORCED = 2; // 0x2
+  }
+
+  public static interface InputMethod.SessionCallback {
+    method public void sessionCreated(android.view.inputmethod.InputMethodSession);
+  }
+
+  public final class InputMethodInfo implements android.os.Parcelable {
+    ctor public InputMethodInfo(android.content.Context, android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    ctor public InputMethodInfo(String, String, CharSequence, String);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public android.content.ComponentName getComponent();
+    method public int getConfigChanges();
+    method public String getId();
+    method public int getIsDefaultResourceId();
+    method public String getPackageName();
+    method public android.content.pm.ServiceInfo getServiceInfo();
+    method public String getServiceName();
+    method public String getSettingsActivity();
+    method public android.view.inputmethod.InputMethodSubtype getSubtypeAt(int);
+    method public int getSubtypeCount();
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    method public boolean shouldShowInInputMethodPicker();
+    method public boolean suppressesSpellChecker();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputMethodInfo> CREATOR;
+  }
+
+  public final class InputMethodManager {
+    method public void dispatchKeyEventFromInputMethod(@Nullable android.view.View, @NonNull android.view.KeyEvent);
+    method public void displayCompletions(android.view.View, android.view.inputmethod.CompletionInfo[]);
+    method public android.view.inputmethod.InputMethodSubtype getCurrentInputMethodSubtype();
+    method public java.util.List<android.view.inputmethod.InputMethodInfo> getEnabledInputMethodList();
+    method public java.util.List<android.view.inputmethod.InputMethodSubtype> getEnabledInputMethodSubtypeList(android.view.inputmethod.InputMethodInfo, boolean);
+    method public java.util.List<android.view.inputmethod.InputMethodInfo> getInputMethodList();
+    method public android.view.inputmethod.InputMethodSubtype getLastInputMethodSubtype();
+    method public java.util.Map<android.view.inputmethod.InputMethodInfo,java.util.List<android.view.inputmethod.InputMethodSubtype>> getShortcutInputMethodsAndSubtypes();
+    method @Deprecated public void hideSoftInputFromInputMethod(android.os.IBinder, int);
+    method public boolean hideSoftInputFromWindow(android.os.IBinder, int);
+    method public boolean hideSoftInputFromWindow(android.os.IBinder, int, android.os.ResultReceiver);
+    method @Deprecated public void hideStatusIcon(android.os.IBinder);
+    method public boolean isAcceptingText();
+    method public boolean isActive(android.view.View);
+    method public boolean isActive();
+    method public boolean isFullscreenMode();
+    method public boolean isInputMethodSuppressingSpellChecker();
+    method @Deprecated public boolean isWatchingCursor(android.view.View);
+    method public void restartInput(android.view.View);
+    method public void sendAppPrivateCommand(android.view.View, String, android.os.Bundle);
+    method @Deprecated public void setAdditionalInputMethodSubtypes(String, android.view.inputmethod.InputMethodSubtype[]);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setCurrentInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
+    method @Deprecated public void setInputMethod(android.os.IBinder, String);
+    method @Deprecated public void setInputMethodAndSubtype(@NonNull android.os.IBinder, String, android.view.inputmethod.InputMethodSubtype);
+    method @Deprecated public boolean shouldOfferSwitchingToNextInputMethod(android.os.IBinder);
+    method public void showInputMethodAndSubtypeEnabler(String);
+    method public void showInputMethodPicker();
+    method public boolean showSoftInput(android.view.View, int);
+    method public boolean showSoftInput(android.view.View, int, android.os.ResultReceiver);
+    method @Deprecated public void showSoftInputFromInputMethod(android.os.IBinder, int);
+    method @Deprecated public void showStatusIcon(android.os.IBinder, String, @DrawableRes int);
+    method @Deprecated public boolean switchToLastInputMethod(android.os.IBinder);
+    method @Deprecated public boolean switchToNextInputMethod(android.os.IBinder, boolean);
+    method @Deprecated public void toggleSoftInput(int, int);
+    method @Deprecated public void toggleSoftInputFromWindow(android.os.IBinder, int, int);
+    method @Deprecated public void updateCursor(android.view.View, int, int, int, int);
+    method public void updateCursorAnchorInfo(android.view.View, android.view.inputmethod.CursorAnchorInfo);
+    method public void updateExtractedText(android.view.View, int, android.view.inputmethod.ExtractedText);
+    method public void updateSelection(android.view.View, int, int, int, int);
+    method @Deprecated public void viewClicked(android.view.View);
+    field public static final int HIDE_IMPLICIT_ONLY = 1; // 0x1
+    field public static final int HIDE_NOT_ALWAYS = 2; // 0x2
+    field public static final int RESULT_HIDDEN = 3; // 0x3
+    field public static final int RESULT_SHOWN = 2; // 0x2
+    field public static final int RESULT_UNCHANGED_HIDDEN = 1; // 0x1
+    field public static final int RESULT_UNCHANGED_SHOWN = 0; // 0x0
+    field public static final int SHOW_FORCED = 2; // 0x2
+    field public static final int SHOW_IMPLICIT = 1; // 0x1
+  }
+
+  public interface InputMethodSession {
+    method public void appPrivateCommand(String, android.os.Bundle);
+    method public void dispatchGenericMotionEvent(int, android.view.MotionEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public void dispatchKeyEvent(int, android.view.KeyEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public void dispatchTrackballEvent(int, android.view.MotionEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public void displayCompletions(android.view.inputmethod.CompletionInfo[]);
+    method public void finishInput();
+    method @Deprecated public void toggleSoftInput(int, int);
+    method public void updateCursor(android.graphics.Rect);
+    method public void updateCursorAnchorInfo(android.view.inputmethod.CursorAnchorInfo);
+    method public void updateExtractedText(int, android.view.inputmethod.ExtractedText);
+    method public void updateSelection(int, int, int, int, int, int);
+    method public void viewClicked(boolean);
+  }
+
+  public static interface InputMethodSession.EventCallback {
+    method public void finishedEvent(int, boolean);
+  }
+
+  public final class InputMethodSubtype implements android.os.Parcelable {
+    ctor @Deprecated public InputMethodSubtype(int, int, String, String, String, boolean, boolean);
+    ctor @Deprecated public InputMethodSubtype(int, int, String, String, String, boolean, boolean, int);
+    method public boolean containsExtraValueKey(String);
+    method public int describeContents();
+    method @NonNull public CharSequence getDisplayName(android.content.Context, String, android.content.pm.ApplicationInfo);
+    method public String getExtraValue();
+    method public String getExtraValueOf(String);
+    method public int getIconResId();
+    method @NonNull public String getLanguageTag();
+    method @Deprecated @NonNull public String getLocale();
+    method public String getMode();
+    method public int getNameResId();
+    method public boolean isAsciiCapable();
+    method public boolean isAuxiliary();
+    method public boolean overridesImplicitlyEnabledSubtype();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputMethodSubtype> CREATOR;
+  }
+
+  public static class InputMethodSubtype.InputMethodSubtypeBuilder {
+    ctor public InputMethodSubtype.InputMethodSubtypeBuilder();
+    method public android.view.inputmethod.InputMethodSubtype build();
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setIsAsciiCapable(boolean);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setIsAuxiliary(boolean);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setLanguageTag(String);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setOverridesImplicitlyEnabledSubtype(boolean);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeExtraValue(String);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeIconResId(int);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeId(int);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeLocale(String);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeMode(String);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeNameResId(int);
+  }
+
+  public final class SurroundingText implements android.os.Parcelable {
+    ctor public SurroundingText(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0xffffffff) int);
+    method public int describeContents();
+    method @IntRange(from=0xffffffff) public int getOffset();
+    method @IntRange(from=0) public int getSelectionEnd();
+    method @IntRange(from=0) public int getSelectionStart();
+    method @NonNull public CharSequence getText();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.SurroundingText> CREATOR;
+  }
+
+}
+
+package android.view.inspector {
+
+  public interface InspectionCompanion<T> {
+    method public void mapProperties(@NonNull android.view.inspector.PropertyMapper);
+    method public void readProperties(@NonNull T, @NonNull android.view.inspector.PropertyReader);
+  }
+
+  public static class InspectionCompanion.UninitializedPropertyMapException extends java.lang.RuntimeException {
+    ctor public InspectionCompanion.UninitializedPropertyMapException();
+  }
+
+  public interface InspectionCompanionProvider {
+    method @Nullable public <T> android.view.inspector.InspectionCompanion<T> provide(@NonNull Class<T>);
+  }
+
+  public final class IntFlagMapping {
+    ctor public IntFlagMapping();
+    method public void add(int, int, @NonNull String);
+    method @NonNull public java.util.Set<java.lang.String> get(int);
+  }
+
+  public interface PropertyMapper {
+    method public int mapBoolean(@NonNull String, @AttrRes int);
+    method public int mapByte(@NonNull String, @AttrRes int);
+    method public int mapChar(@NonNull String, @AttrRes int);
+    method public int mapColor(@NonNull String, @AttrRes int);
+    method public int mapDouble(@NonNull String, @AttrRes int);
+    method public int mapFloat(@NonNull String, @AttrRes int);
+    method public int mapGravity(@NonNull String, @AttrRes int);
+    method public int mapInt(@NonNull String, @AttrRes int);
+    method public int mapIntEnum(@NonNull String, @AttrRes int, @NonNull java.util.function.IntFunction<java.lang.String>);
+    method public int mapIntFlag(@NonNull String, @AttrRes int, @NonNull java.util.function.IntFunction<java.util.Set<java.lang.String>>);
+    method public int mapLong(@NonNull String, @AttrRes int);
+    method public int mapObject(@NonNull String, @AttrRes int);
+    method public int mapResourceId(@NonNull String, @AttrRes int);
+    method public int mapShort(@NonNull String, @AttrRes int);
+  }
+
+  public static class PropertyMapper.PropertyConflictException extends java.lang.RuntimeException {
+    ctor public PropertyMapper.PropertyConflictException(@NonNull String, @NonNull String, @NonNull String);
+  }
+
+  public interface PropertyReader {
+    method public void readBoolean(int, boolean);
+    method public void readByte(int, byte);
+    method public void readChar(int, char);
+    method public void readColor(int, @ColorInt int);
+    method public void readColor(int, @ColorLong long);
+    method public void readColor(int, @Nullable android.graphics.Color);
+    method public void readDouble(int, double);
+    method public void readFloat(int, float);
+    method public void readGravity(int, int);
+    method public void readInt(int, int);
+    method public void readIntEnum(int, int);
+    method public void readIntFlag(int, int);
+    method public void readLong(int, long);
+    method public void readObject(int, @Nullable Object);
+    method public void readResourceId(int, @AnyRes int);
+    method public void readShort(int, short);
+  }
+
+  public static class PropertyReader.PropertyTypeMismatchException extends java.lang.RuntimeException {
+    ctor public PropertyReader.PropertyTypeMismatchException(int, @NonNull String, @NonNull String, @Nullable String);
+    ctor public PropertyReader.PropertyTypeMismatchException(int, @NonNull String, @NonNull String);
+  }
+
+  public class StaticInspectionCompanionProvider implements android.view.inspector.InspectionCompanionProvider {
+    ctor public StaticInspectionCompanionProvider();
+    method @Nullable public <T> android.view.inspector.InspectionCompanion<T> provide(@NonNull Class<T>);
+  }
+
+  public final class WindowInspector {
+    method @NonNull public static java.util.List<android.view.View> getGlobalWindowViews();
+  }
+
+}
+
+package android.view.textclassifier {
+
+  public final class ConversationAction implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.app.RemoteAction getAction();
+    method @FloatRange(from=0, to=1) public float getConfidenceScore();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public CharSequence getTextReply();
+    method @NonNull public String getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationAction> CREATOR;
+    field public static final String TYPE_CALL_PHONE = "call_phone";
+    field public static final String TYPE_CREATE_REMINDER = "create_reminder";
+    field public static final String TYPE_OPEN_URL = "open_url";
+    field public static final String TYPE_SEND_EMAIL = "send_email";
+    field public static final String TYPE_SEND_SMS = "send_sms";
+    field public static final String TYPE_SHARE_LOCATION = "share_location";
+    field public static final String TYPE_TEXT_REPLY = "text_reply";
+    field public static final String TYPE_TRACK_FLIGHT = "track_flight";
+    field public static final String TYPE_VIEW_CALENDAR = "view_calendar";
+    field public static final String TYPE_VIEW_MAP = "view_map";
+  }
+
+  public static final class ConversationAction.Builder {
+    ctor public ConversationAction.Builder(@NonNull String);
+    method @NonNull public android.view.textclassifier.ConversationAction build();
+    method @NonNull public android.view.textclassifier.ConversationAction.Builder setAction(@Nullable android.app.RemoteAction);
+    method @NonNull public android.view.textclassifier.ConversationAction.Builder setConfidenceScore(@FloatRange(from=0, to=1) float);
+    method @NonNull public android.view.textclassifier.ConversationAction.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.ConversationAction.Builder setTextReply(@Nullable CharSequence);
+  }
+
+  public final class ConversationActions implements android.os.Parcelable {
+    ctor public ConversationActions(@NonNull java.util.List<android.view.textclassifier.ConversationAction>, @Nullable String);
+    method public int describeContents();
+    method @NonNull public java.util.List<android.view.textclassifier.ConversationAction> getConversationActions();
+    method @Nullable public String getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions> CREATOR;
+  }
+
+  public static final class ConversationActions.Message implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.app.Person getAuthor();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public java.time.ZonedDateTime getReferenceTime();
+    method @Nullable public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions.Message> CREATOR;
+    field @NonNull public static final android.app.Person PERSON_USER_OTHERS;
+    field @NonNull public static final android.app.Person PERSON_USER_SELF;
+  }
+
+  public static final class ConversationActions.Message.Builder {
+    ctor public ConversationActions.Message.Builder(@NonNull android.app.Person);
+    method @NonNull public android.view.textclassifier.ConversationActions.Message build();
+    method @NonNull public android.view.textclassifier.ConversationActions.Message.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.ConversationActions.Message.Builder setReferenceTime(@Nullable java.time.ZonedDateTime);
+    method @NonNull public android.view.textclassifier.ConversationActions.Message.Builder setText(@Nullable CharSequence);
+  }
+
+  public static final class ConversationActions.Request implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCallingPackageName();
+    method @NonNull public java.util.List<android.view.textclassifier.ConversationActions.Message> getConversation();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public java.util.List<java.lang.String> getHints();
+    method @IntRange(from=0xffffffff) public int getMaxSuggestions();
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig getTypeConfig();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions.Request> CREATOR;
+    field public static final String HINT_FOR_IN_APP = "in_app";
+    field public static final String HINT_FOR_NOTIFICATION = "notification";
+  }
+
+  public static final class ConversationActions.Request.Builder {
+    ctor public ConversationActions.Request.Builder(@NonNull java.util.List<android.view.textclassifier.ConversationActions.Message>);
+    method @NonNull public android.view.textclassifier.ConversationActions.Request build();
+    method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setHints(@Nullable java.util.List<java.lang.String>);
+    method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setMaxSuggestions(@IntRange(from=0xffffffff) int);
+    method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setTypeConfig(@Nullable android.view.textclassifier.TextClassifier.EntityConfig);
+  }
+
+  public final class SelectionEvent implements android.os.Parcelable {
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionActionEvent(int, int, int);
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionActionEvent(int, int, int, @NonNull android.view.textclassifier.TextClassification);
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionModifiedEvent(int, int);
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionModifiedEvent(int, int, @NonNull android.view.textclassifier.TextClassification);
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionModifiedEvent(int, int, @NonNull android.view.textclassifier.TextSelection);
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionStartedEvent(int, int);
+    method public int describeContents();
+    method public long getDurationSincePreviousEvent();
+    method public long getDurationSinceSessionStart();
+    method public int getEnd();
+    method @NonNull public String getEntityType();
+    method public int getEventIndex();
+    method public long getEventTime();
+    method public int getEventType();
+    method public int getInvocationMethod();
+    method @NonNull public String getPackageName();
+    method @Nullable public String getResultId();
+    method @Nullable public android.view.textclassifier.TextClassificationSessionId getSessionId();
+    method public int getSmartEnd();
+    method public int getSmartStart();
+    method public int getStart();
+    method @NonNull public String getWidgetType();
+    method @Nullable public String getWidgetVersion();
+    method public static boolean isTerminal(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_ABANDON = 107; // 0x6b
+    field public static final int ACTION_COPY = 101; // 0x65
+    field public static final int ACTION_CUT = 103; // 0x67
+    field public static final int ACTION_DRAG = 106; // 0x6a
+    field public static final int ACTION_OTHER = 108; // 0x6c
+    field public static final int ACTION_OVERTYPE = 100; // 0x64
+    field public static final int ACTION_PASTE = 102; // 0x66
+    field public static final int ACTION_RESET = 201; // 0xc9
+    field public static final int ACTION_SELECT_ALL = 200; // 0xc8
+    field public static final int ACTION_SHARE = 104; // 0x68
+    field public static final int ACTION_SMART_SHARE = 105; // 0x69
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.SelectionEvent> CREATOR;
+    field public static final int EVENT_AUTO_SELECTION = 5; // 0x5
+    field public static final int EVENT_SELECTION_MODIFIED = 2; // 0x2
+    field public static final int EVENT_SELECTION_STARTED = 1; // 0x1
+    field public static final int EVENT_SMART_SELECTION_MULTI = 4; // 0x4
+    field public static final int EVENT_SMART_SELECTION_SINGLE = 3; // 0x3
+    field public static final int INVOCATION_LINK = 2; // 0x2
+    field public static final int INVOCATION_MANUAL = 1; // 0x1
+    field public static final int INVOCATION_UNKNOWN = 0; // 0x0
+  }
+
+  public final class TextClassification implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.util.List<android.app.RemoteAction> getActions();
+    method @FloatRange(from=0.0, to=1.0) public float getConfidenceScore(String);
+    method @NonNull public String getEntity(int);
+    method @IntRange(from=0) public int getEntityCount();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Deprecated @Nullable public android.graphics.drawable.Drawable getIcon();
+    method @Nullable public String getId();
+    method @Deprecated @Nullable public android.content.Intent getIntent();
+    method @Deprecated @Nullable public CharSequence getLabel();
+    method @Deprecated @Nullable public android.view.View.OnClickListener getOnClickListener();
+    method @Nullable public String getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassification> CREATOR;
+  }
+
+  public static final class TextClassification.Builder {
+    ctor public TextClassification.Builder();
+    method @NonNull public android.view.textclassifier.TextClassification.Builder addAction(@NonNull android.app.RemoteAction);
+    method @NonNull public android.view.textclassifier.TextClassification build();
+    method @NonNull public android.view.textclassifier.TextClassification.Builder setEntityType(@NonNull String, @FloatRange(from=0.0, to=1.0) float);
+    method @NonNull public android.view.textclassifier.TextClassification.Builder setExtras(@Nullable android.os.Bundle);
+    method @Deprecated @NonNull public android.view.textclassifier.TextClassification.Builder setIcon(@Nullable android.graphics.drawable.Drawable);
+    method @NonNull public android.view.textclassifier.TextClassification.Builder setId(@Nullable String);
+    method @Deprecated @NonNull public android.view.textclassifier.TextClassification.Builder setIntent(@Nullable android.content.Intent);
+    method @Deprecated @NonNull public android.view.textclassifier.TextClassification.Builder setLabel(@Nullable String);
+    method @Deprecated @NonNull public android.view.textclassifier.TextClassification.Builder setOnClickListener(@Nullable android.view.View.OnClickListener);
+    method @NonNull public android.view.textclassifier.TextClassification.Builder setText(@Nullable String);
+  }
+
+  public static final class TextClassification.Request implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCallingPackageName();
+    method @Nullable public android.os.LocaleList getDefaultLocales();
+    method @IntRange(from=0) public int getEndIndex();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public java.time.ZonedDateTime getReferenceTime();
+    method @IntRange(from=0) public int getStartIndex();
+    method @NonNull public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassification.Request> CREATOR;
+  }
+
+  public static final class TextClassification.Request.Builder {
+    ctor public TextClassification.Request.Builder(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.textclassifier.TextClassification.Request build();
+    method @NonNull public android.view.textclassifier.TextClassification.Request.Builder setDefaultLocales(@Nullable android.os.LocaleList);
+    method @NonNull public android.view.textclassifier.TextClassification.Request.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextClassification.Request.Builder setReferenceTime(@Nullable java.time.ZonedDateTime);
+  }
+
+  public final class TextClassificationContext implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getPackageName();
+    method @NonNull public String getWidgetType();
+    method @Nullable public String getWidgetVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassificationContext> CREATOR;
+  }
+
+  public static final class TextClassificationContext.Builder {
+    ctor public TextClassificationContext.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.view.textclassifier.TextClassificationContext build();
+    method public android.view.textclassifier.TextClassificationContext.Builder setWidgetVersion(@Nullable String);
+  }
+
+  public final class TextClassificationManager {
+    method @NonNull public android.view.textclassifier.TextClassifier createTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext);
+    method @NonNull public android.view.textclassifier.TextClassifier getTextClassifier();
+    method public void setTextClassificationSessionFactory(@Nullable android.view.textclassifier.TextClassificationSessionFactory);
+    method public void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
+  }
+
+  public interface TextClassificationSessionFactory {
+    method @NonNull public android.view.textclassifier.TextClassifier createTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext);
+  }
+
+  public final class TextClassificationSessionId implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getValue();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassificationSessionId> CREATOR;
+  }
+
+  public interface TextClassifier {
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextClassification classifyText(@NonNull android.view.textclassifier.TextClassification.Request);
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextClassification classifyText(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @Nullable android.os.LocaleList);
+    method public default void destroy();
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextLanguage detectLanguage(@NonNull android.view.textclassifier.TextLanguage.Request);
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextLinks generateLinks(@NonNull android.view.textclassifier.TextLinks.Request);
+    method @WorkerThread public default int getMaxGenerateLinksTextLength();
+    method public default boolean isDestroyed();
+    method public default void onSelectionEvent(@NonNull android.view.textclassifier.SelectionEvent);
+    method public default void onTextClassifierEvent(@NonNull android.view.textclassifier.TextClassifierEvent);
+    method @NonNull @WorkerThread public default android.view.textclassifier.ConversationActions suggestConversationActions(@NonNull android.view.textclassifier.ConversationActions.Request);
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextSelection suggestSelection(@NonNull android.view.textclassifier.TextSelection.Request);
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextSelection suggestSelection(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @Nullable android.os.LocaleList);
+    field public static final String EXTRA_FROM_TEXT_CLASSIFIER = "android.view.textclassifier.extra.FROM_TEXT_CLASSIFIER";
+    field public static final String HINT_TEXT_IS_EDITABLE = "android.text_is_editable";
+    field public static final String HINT_TEXT_IS_NOT_EDITABLE = "android.text_is_not_editable";
+    field public static final android.view.textclassifier.TextClassifier NO_OP;
+    field public static final String TYPE_ADDRESS = "address";
+    field public static final String TYPE_DATE = "date";
+    field public static final String TYPE_DATE_TIME = "datetime";
+    field public static final String TYPE_EMAIL = "email";
+    field public static final String TYPE_FLIGHT_NUMBER = "flight";
+    field public static final String TYPE_OTHER = "other";
+    field public static final String TYPE_PHONE = "phone";
+    field public static final String TYPE_UNKNOWN = "";
+    field public static final String TYPE_URL = "url";
+    field public static final String WIDGET_TYPE_CLIPBOARD = "clipboard";
+    field public static final String WIDGET_TYPE_CUSTOM_EDITTEXT = "customedit";
+    field public static final String WIDGET_TYPE_CUSTOM_TEXTVIEW = "customview";
+    field public static final String WIDGET_TYPE_CUSTOM_UNSELECTABLE_TEXTVIEW = "nosel-customview";
+    field public static final String WIDGET_TYPE_EDITTEXT = "edittext";
+    field public static final String WIDGET_TYPE_EDIT_WEBVIEW = "edit-webview";
+    field public static final String WIDGET_TYPE_NOTIFICATION = "notification";
+    field public static final String WIDGET_TYPE_TEXTVIEW = "textview";
+    field public static final String WIDGET_TYPE_UNKNOWN = "unknown";
+    field public static final String WIDGET_TYPE_UNSELECTABLE_TEXTVIEW = "nosel-textview";
+    field public static final String WIDGET_TYPE_WEBVIEW = "webview";
+  }
+
+  public static final class TextClassifier.EntityConfig implements android.os.Parcelable {
+    method @Deprecated public static android.view.textclassifier.TextClassifier.EntityConfig create(@Nullable java.util.Collection<java.lang.String>, @Nullable java.util.Collection<java.lang.String>, @Nullable java.util.Collection<java.lang.String>);
+    method @Deprecated public static android.view.textclassifier.TextClassifier.EntityConfig createWithExplicitEntityList(@Nullable java.util.Collection<java.lang.String>);
+    method @Deprecated public static android.view.textclassifier.TextClassifier.EntityConfig createWithHints(@Nullable java.util.Collection<java.lang.String>);
+    method public int describeContents();
+    method public java.util.Collection<java.lang.String> getHints();
+    method public java.util.Collection<java.lang.String> resolveEntityListModifications(@NonNull java.util.Collection<java.lang.String>);
+    method public boolean shouldIncludeTypesFromTextClassifier();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifier.EntityConfig> CREATOR;
+  }
+
+  public static final class TextClassifier.EntityConfig.Builder {
+    ctor public TextClassifier.EntityConfig.Builder();
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig build();
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder includeTypesFromTextClassifier(boolean);
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder setExcludedTypes(@Nullable java.util.Collection<java.lang.String>);
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder setHints(@Nullable java.util.Collection<java.lang.String>);
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder setIncludedTypes(@Nullable java.util.Collection<java.lang.String>);
+  }
+
+  public abstract class TextClassifierEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public int[] getActionIndices();
+    method @NonNull public String[] getEntityTypes();
+    method public int getEventCategory();
+    method @Nullable public android.view.textclassifier.TextClassificationContext getEventContext();
+    method public int getEventIndex();
+    method public int getEventType();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public android.icu.util.ULocale getLocale();
+    method @Nullable public String getModelName();
+    method @Nullable public String getResultId();
+    method @NonNull public float[] getScores();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CATEGORY_CONVERSATION_ACTIONS = 3; // 0x3
+    field public static final int CATEGORY_LANGUAGE_DETECTION = 4; // 0x4
+    field public static final int CATEGORY_LINKIFY = 2; // 0x2
+    field public static final int CATEGORY_SELECTION = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent> CREATOR;
+    field public static final int TYPE_ACTIONS_GENERATED = 20; // 0x14
+    field public static final int TYPE_ACTIONS_SHOWN = 6; // 0x6
+    field public static final int TYPE_AUTO_SELECTION = 5; // 0x5
+    field public static final int TYPE_COPY_ACTION = 9; // 0x9
+    field public static final int TYPE_CUT_ACTION = 11; // 0xb
+    field public static final int TYPE_LINKS_GENERATED = 21; // 0x15
+    field public static final int TYPE_LINK_CLICKED = 7; // 0x7
+    field public static final int TYPE_MANUAL_REPLY = 19; // 0x13
+    field public static final int TYPE_OTHER_ACTION = 16; // 0x10
+    field public static final int TYPE_OVERTYPE = 8; // 0x8
+    field public static final int TYPE_PASTE_ACTION = 10; // 0xa
+    field public static final int TYPE_SELECTION_DESTROYED = 15; // 0xf
+    field public static final int TYPE_SELECTION_DRAG = 14; // 0xe
+    field public static final int TYPE_SELECTION_MODIFIED = 2; // 0x2
+    field public static final int TYPE_SELECTION_RESET = 18; // 0x12
+    field public static final int TYPE_SELECTION_STARTED = 1; // 0x1
+    field public static final int TYPE_SELECT_ALL = 17; // 0x11
+    field public static final int TYPE_SHARE_ACTION = 12; // 0xc
+    field public static final int TYPE_SMART_ACTION = 13; // 0xd
+    field public static final int TYPE_SMART_SELECTION_MULTI = 4; // 0x4
+    field public static final int TYPE_SMART_SELECTION_SINGLE = 3; // 0x3
+  }
+
+  public abstract static class TextClassifierEvent.Builder<T extends android.view.textclassifier.TextClassifierEvent.Builder<T>> {
+    method @NonNull public T setActionIndices(@NonNull int...);
+    method @NonNull public T setEntityTypes(@NonNull java.lang.String...);
+    method @NonNull public T setEventContext(@Nullable android.view.textclassifier.TextClassificationContext);
+    method @NonNull public T setEventIndex(int);
+    method @NonNull public T setExtras(@NonNull android.os.Bundle);
+    method @NonNull public T setLocale(@Nullable android.icu.util.ULocale);
+    method @NonNull public T setModelName(@Nullable String);
+    method @NonNull public T setResultId(@Nullable String);
+    method @NonNull public T setScores(@NonNull float...);
+  }
+
+  public static final class TextClassifierEvent.ConversationActionsEvent extends android.view.textclassifier.TextClassifierEvent implements android.os.Parcelable {
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent.ConversationActionsEvent> CREATOR;
+  }
+
+  public static final class TextClassifierEvent.ConversationActionsEvent.Builder extends android.view.textclassifier.TextClassifierEvent.Builder<android.view.textclassifier.TextClassifierEvent.ConversationActionsEvent.Builder> {
+    ctor public TextClassifierEvent.ConversationActionsEvent.Builder(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.ConversationActionsEvent build();
+  }
+
+  public static final class TextClassifierEvent.LanguageDetectionEvent extends android.view.textclassifier.TextClassifierEvent implements android.os.Parcelable {
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent.LanguageDetectionEvent> CREATOR;
+  }
+
+  public static final class TextClassifierEvent.LanguageDetectionEvent.Builder extends android.view.textclassifier.TextClassifierEvent.Builder<android.view.textclassifier.TextClassifierEvent.LanguageDetectionEvent.Builder> {
+    ctor public TextClassifierEvent.LanguageDetectionEvent.Builder(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.LanguageDetectionEvent build();
+  }
+
+  public static final class TextClassifierEvent.TextLinkifyEvent extends android.view.textclassifier.TextClassifierEvent implements android.os.Parcelable {
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent.TextLinkifyEvent> CREATOR;
+  }
+
+  public static final class TextClassifierEvent.TextLinkifyEvent.Builder extends android.view.textclassifier.TextClassifierEvent.Builder<android.view.textclassifier.TextClassifierEvent.TextLinkifyEvent.Builder> {
+    ctor public TextClassifierEvent.TextLinkifyEvent.Builder(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextLinkifyEvent build();
+  }
+
+  public static final class TextClassifierEvent.TextSelectionEvent extends android.view.textclassifier.TextClassifierEvent implements android.os.Parcelable {
+    method public int getRelativeSuggestedWordEndIndex();
+    method public int getRelativeSuggestedWordStartIndex();
+    method public int getRelativeWordEndIndex();
+    method public int getRelativeWordStartIndex();
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent.TextSelectionEvent> CREATOR;
+  }
+
+  public static final class TextClassifierEvent.TextSelectionEvent.Builder extends android.view.textclassifier.TextClassifierEvent.Builder<android.view.textclassifier.TextClassifierEvent.TextSelectionEvent.Builder> {
+    ctor public TextClassifierEvent.TextSelectionEvent.Builder(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextSelectionEvent build();
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextSelectionEvent.Builder setRelativeSuggestedWordEndIndex(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextSelectionEvent.Builder setRelativeSuggestedWordStartIndex(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextSelectionEvent.Builder setRelativeWordEndIndex(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextSelectionEvent.Builder setRelativeWordStartIndex(int);
+  }
+
+  public final class TextLanguage implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0, to=1.0) public float getConfidenceScore(@NonNull android.icu.util.ULocale);
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public String getId();
+    method @NonNull public android.icu.util.ULocale getLocale(int);
+    method @IntRange(from=0) public int getLocaleHypothesisCount();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLanguage> CREATOR;
+  }
+
+  public static final class TextLanguage.Builder {
+    ctor public TextLanguage.Builder();
+    method @NonNull public android.view.textclassifier.TextLanguage build();
+    method @NonNull public android.view.textclassifier.TextLanguage.Builder putLocale(@NonNull android.icu.util.ULocale, @FloatRange(from=0.0, to=1.0) float);
+    method @NonNull public android.view.textclassifier.TextLanguage.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextLanguage.Builder setId(@Nullable String);
+  }
+
+  public static final class TextLanguage.Request implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCallingPackageName();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLanguage.Request> CREATOR;
+  }
+
+  public static final class TextLanguage.Request.Builder {
+    ctor public TextLanguage.Request.Builder(@NonNull CharSequence);
+    method @NonNull public android.view.textclassifier.TextLanguage.Request build();
+    method @NonNull public android.view.textclassifier.TextLanguage.Request.Builder setExtras(@NonNull android.os.Bundle);
+  }
+
+  public final class TextLinks implements android.os.Parcelable {
+    method public int apply(@NonNull android.text.Spannable, int, @Nullable java.util.function.Function<android.view.textclassifier.TextLinks.TextLink,android.view.textclassifier.TextLinks.TextLinkSpan>);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public java.util.Collection<android.view.textclassifier.TextLinks.TextLink> getLinks();
+    method @NonNull public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int APPLY_STRATEGY_IGNORE = 0; // 0x0
+    field public static final int APPLY_STRATEGY_REPLACE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks> CREATOR;
+    field public static final int STATUS_DIFFERENT_TEXT = 3; // 0x3
+    field public static final int STATUS_LINKS_APPLIED = 0; // 0x0
+    field public static final int STATUS_NO_LINKS_APPLIED = 2; // 0x2
+    field public static final int STATUS_NO_LINKS_FOUND = 1; // 0x1
+    field public static final int STATUS_UNSUPPORTED_CHARACTER = 4; // 0x4
+  }
+
+  public static final class TextLinks.Builder {
+    ctor public TextLinks.Builder(@NonNull String);
+    method @NonNull public android.view.textclassifier.TextLinks.Builder addLink(int, int, @NonNull java.util.Map<java.lang.String,java.lang.Float>);
+    method @NonNull public android.view.textclassifier.TextLinks.Builder addLink(int, int, @NonNull java.util.Map<java.lang.String,java.lang.Float>, @NonNull android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextLinks build();
+    method @NonNull public android.view.textclassifier.TextLinks.Builder clearTextLinks();
+    method @NonNull public android.view.textclassifier.TextLinks.Builder setExtras(@Nullable android.os.Bundle);
+  }
+
+  public static final class TextLinks.Request implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCallingPackageName();
+    method @Nullable public android.os.LocaleList getDefaultLocales();
+    method @Nullable public android.view.textclassifier.TextClassifier.EntityConfig getEntityConfig();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public java.time.ZonedDateTime getReferenceTime();
+    method @NonNull public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks.Request> CREATOR;
+  }
+
+  public static final class TextLinks.Request.Builder {
+    ctor public TextLinks.Request.Builder(@NonNull CharSequence);
+    method @NonNull public android.view.textclassifier.TextLinks.Request build();
+    method @NonNull public android.view.textclassifier.TextLinks.Request.Builder setDefaultLocales(@Nullable android.os.LocaleList);
+    method @NonNull public android.view.textclassifier.TextLinks.Request.Builder setEntityConfig(@Nullable android.view.textclassifier.TextClassifier.EntityConfig);
+    method public android.view.textclassifier.TextLinks.Request.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextLinks.Request.Builder setReferenceTime(@Nullable java.time.ZonedDateTime);
+  }
+
+  public static final class TextLinks.TextLink implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0, to=1.0) public float getConfidenceScore(String);
+    method public int getEnd();
+    method @NonNull public String getEntity(int);
+    method public int getEntityCount();
+    method @NonNull public android.os.Bundle getExtras();
+    method public int getStart();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks.TextLink> CREATOR;
+  }
+
+  public static class TextLinks.TextLinkSpan extends android.text.style.ClickableSpan {
+    ctor public TextLinks.TextLinkSpan(@NonNull android.view.textclassifier.TextLinks.TextLink);
+    method public final android.view.textclassifier.TextLinks.TextLink getTextLink();
+    method public void onClick(android.view.View);
+  }
+
+  public final class TextSelection implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0, to=1.0) public float getConfidenceScore(String);
+    method @NonNull public String getEntity(int);
+    method @IntRange(from=0) public int getEntityCount();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public String getId();
+    method public int getSelectionEndIndex();
+    method public int getSelectionStartIndex();
+    method @Nullable public android.view.textclassifier.TextClassification getTextClassification();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextSelection> CREATOR;
+  }
+
+  public static final class TextSelection.Builder {
+    ctor public TextSelection.Builder(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.textclassifier.TextSelection build();
+    method @NonNull public android.view.textclassifier.TextSelection.Builder setEntityType(@NonNull String, @FloatRange(from=0.0, to=1.0) float);
+    method @NonNull public android.view.textclassifier.TextSelection.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextSelection.Builder setId(@Nullable String);
+    method @NonNull public android.view.textclassifier.TextSelection.Builder setTextClassification(@Nullable android.view.textclassifier.TextClassification);
+  }
+
+  public static final class TextSelection.Request implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCallingPackageName();
+    method @Nullable public android.os.LocaleList getDefaultLocales();
+    method @IntRange(from=0) public int getEndIndex();
+    method @NonNull public android.os.Bundle getExtras();
+    method @IntRange(from=0) public int getStartIndex();
+    method @NonNull public CharSequence getText();
+    method public boolean shouldIncludeTextClassification();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextSelection.Request> CREATOR;
+  }
+
+  public static final class TextSelection.Request.Builder {
+    ctor public TextSelection.Request.Builder(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.textclassifier.TextSelection.Request build();
+    method @NonNull public android.view.textclassifier.TextSelection.Request.Builder setDefaultLocales(@Nullable android.os.LocaleList);
+    method @NonNull public android.view.textclassifier.TextSelection.Request.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextSelection.Request.Builder setIncludeTextClassification(boolean);
+  }
+
+}
+
+package android.view.textservice {
+
+  public final class SentenceSuggestionsInfo implements android.os.Parcelable {
+    ctor public SentenceSuggestionsInfo(android.view.textservice.SuggestionsInfo[], int[], int[]);
+    ctor public SentenceSuggestionsInfo(android.os.Parcel);
+    method public int describeContents();
+    method public int getLengthAt(int);
+    method public int getOffsetAt(int);
+    method public int getSuggestionsCount();
+    method public android.view.textservice.SuggestionsInfo getSuggestionsInfoAt(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SentenceSuggestionsInfo> CREATOR;
+  }
+
+  public final class SpellCheckerInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.content.ComponentName getComponent();
+    method public String getId();
+    method public String getPackageName();
+    method public android.content.pm.ServiceInfo getServiceInfo();
+    method public String getSettingsActivity();
+    method public android.view.textservice.SpellCheckerSubtype getSubtypeAt(int);
+    method public int getSubtypeCount();
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SpellCheckerInfo> CREATOR;
+  }
+
+  public class SpellCheckerSession {
+    method public void cancel();
+    method public void close();
+    method public void getSentenceSuggestions(android.view.textservice.TextInfo[], int);
+    method public android.view.textservice.SpellCheckerInfo getSpellChecker();
+    method @Deprecated public void getSuggestions(android.view.textservice.TextInfo, int);
+    method @Deprecated public void getSuggestions(android.view.textservice.TextInfo[], int, boolean);
+    method public boolean isSessionDisconnected();
+    field public static final String SERVICE_META_DATA = "android.view.textservice.scs";
+  }
+
+  public static interface SpellCheckerSession.SpellCheckerSessionListener {
+    method public void onGetSentenceSuggestions(android.view.textservice.SentenceSuggestionsInfo[]);
+    method public void onGetSuggestions(android.view.textservice.SuggestionsInfo[]);
+  }
+
+  public static class SpellCheckerSession.SpellCheckerSessionParams {
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public java.util.Locale getLocale();
+    method public int getSupportedAttributes();
+    method public boolean shouldReferToSpellCheckerLanguageSettings();
+  }
+
+  public static final class SpellCheckerSession.SpellCheckerSessionParams.Builder {
+    ctor public SpellCheckerSession.SpellCheckerSessionParams.Builder();
+    method @NonNull public android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams build();
+    method @NonNull public android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder setLocale(@Nullable java.util.Locale);
+    method @NonNull public android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder setShouldReferToSpellCheckerLanguageSettings(boolean);
+    method @NonNull public android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder setSupportedAttributes(int);
+  }
+
+  public final class SpellCheckerSubtype implements android.os.Parcelable {
+    ctor @Deprecated public SpellCheckerSubtype(int, String, String);
+    method public boolean containsExtraValueKey(String);
+    method public int describeContents();
+    method public CharSequence getDisplayName(android.content.Context, String, android.content.pm.ApplicationInfo);
+    method public String getExtraValue();
+    method public String getExtraValueOf(String);
+    method @NonNull public String getLanguageTag();
+    method @Deprecated @NonNull public String getLocale();
+    method public int getNameResId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SpellCheckerSubtype> CREATOR;
+  }
+
+  public final class SuggestionsInfo implements android.os.Parcelable {
+    ctor public SuggestionsInfo(int, String[]);
+    ctor public SuggestionsInfo(int, String[], int, int);
+    ctor public SuggestionsInfo(android.os.Parcel);
+    method public int describeContents();
+    method public int getCookie();
+    method public int getSequence();
+    method public String getSuggestionAt(int);
+    method public int getSuggestionsAttributes();
+    method public int getSuggestionsCount();
+    method public void setCookieAndSequence(int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SuggestionsInfo> CREATOR;
+    field public static final int RESULT_ATTR_DONT_SHOW_UI_FOR_SUGGESTIONS = 16; // 0x10
+    field public static final int RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS = 4; // 0x4
+    field public static final int RESULT_ATTR_IN_THE_DICTIONARY = 1; // 0x1
+    field public static final int RESULT_ATTR_LOOKS_LIKE_GRAMMAR_ERROR = 8; // 0x8
+    field public static final int RESULT_ATTR_LOOKS_LIKE_TYPO = 2; // 0x2
+  }
+
+  public final class TextInfo implements android.os.Parcelable {
+    ctor public TextInfo(String);
+    ctor public TextInfo(String, int, int);
+    ctor public TextInfo(CharSequence, int, int, int, int);
+    ctor public TextInfo(android.os.Parcel);
+    method public int describeContents();
+    method public CharSequence getCharSequence();
+    method public int getCookie();
+    method public int getSequence();
+    method public String getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.TextInfo> CREATOR;
+  }
+
+  public final class TextServicesManager {
+    method @Nullable public android.view.textservice.SpellCheckerInfo getCurrentSpellCheckerInfo();
+    method @NonNull public java.util.List<android.view.textservice.SpellCheckerInfo> getEnabledSpellCheckerInfos();
+    method public boolean isSpellCheckerEnabled();
+    method @Nullable public android.view.textservice.SpellCheckerSession newSpellCheckerSession(@Nullable android.os.Bundle, @Nullable java.util.Locale, @NonNull android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener, boolean);
+    method @Nullable public android.view.textservice.SpellCheckerSession newSpellCheckerSession(@NonNull android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams, @NonNull java.util.concurrent.Executor, @NonNull android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener);
+  }
+
+}
+
+package android.view.translation {
+
+  public final class TranslationCapability implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.translation.TranslationSpec getSourceSpec();
+    method public int getState();
+    method public int getSupportedTranslationFlags();
+    method @NonNull public android.view.translation.TranslationSpec getTargetSpec();
+    method public boolean isUiTranslationEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationCapability> CREATOR;
+    field public static final int STATE_AVAILABLE_TO_DOWNLOAD = 1; // 0x1
+    field public static final int STATE_DOWNLOADING = 2; // 0x2
+    field public static final int STATE_NOT_AVAILABLE = 4; // 0x4
+    field public static final int STATE_ON_DEVICE = 3; // 0x3
+  }
+
+  public final class TranslationContext implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.translation.TranslationSpec getSourceSpec();
+    method @NonNull public android.view.translation.TranslationSpec getTargetSpec();
+    method public int getTranslationFlags();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationContext> CREATOR;
+    field public static final int FLAG_DEFINITIONS = 4; // 0x4
+    field public static final int FLAG_LOW_LATENCY = 1; // 0x1
+    field public static final int FLAG_TRANSLITERATION = 2; // 0x2
+  }
+
+  public static final class TranslationContext.Builder {
+    ctor public TranslationContext.Builder(@NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec);
+    method @NonNull public android.view.translation.TranslationContext build();
+    method @NonNull public android.view.translation.TranslationContext.Builder setTranslationFlags(int);
+  }
+
+  public final class TranslationManager {
+    method public void addOnDeviceTranslationCapabilityUpdateListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.view.translation.TranslationCapability>);
+    method public void createOnDeviceTranslator(@NonNull android.view.translation.TranslationContext, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.view.translation.Translator>);
+    method @NonNull @WorkerThread public java.util.Set<android.view.translation.TranslationCapability> getOnDeviceTranslationCapabilities(int, int);
+    method @Nullable public android.app.PendingIntent getOnDeviceTranslationSettingsActivityIntent();
+    method public void removeOnDeviceTranslationCapabilityUpdateListener(@NonNull java.util.function.Consumer<android.view.translation.TranslationCapability>);
+  }
+
+  public final class TranslationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getFlags();
+    method @NonNull public java.util.List<android.view.translation.TranslationRequestValue> getTranslationRequestValues();
+    method @NonNull public java.util.List<android.view.translation.ViewTranslationRequest> getViewTranslationRequests();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationRequest> CREATOR;
+    field public static final int FLAG_DICTIONARY_RESULT = 2; // 0x2
+    field public static final int FLAG_PARTIAL_RESPONSES = 8; // 0x8
+    field public static final int FLAG_TRANSLATION_RESULT = 1; // 0x1
+    field public static final int FLAG_TRANSLITERATION_RESULT = 4; // 0x4
+  }
+
+  public static final class TranslationRequest.Builder {
+    ctor public TranslationRequest.Builder();
+    method @NonNull public android.view.translation.TranslationRequest build();
+    method @NonNull public android.view.translation.TranslationRequest.Builder setFlags(int);
+    method @NonNull public android.view.translation.TranslationRequest.Builder setTranslationRequestValues(@NonNull java.util.List<android.view.translation.TranslationRequestValue>);
+    method @NonNull public android.view.translation.TranslationRequest.Builder setViewTranslationRequests(@NonNull java.util.List<android.view.translation.ViewTranslationRequest>);
+  }
+
+  public final class TranslationRequestValue implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.view.translation.TranslationRequestValue forText(@NonNull CharSequence);
+    method @Nullable public CharSequence getText();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationRequestValue> CREATOR;
+  }
+
+  public final class TranslationResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.util.SparseArray<android.view.translation.TranslationResponseValue> getTranslationResponseValues();
+    method public int getTranslationStatus();
+    method @NonNull public android.util.SparseArray<android.view.translation.ViewTranslationResponse> getViewTranslationResponses();
+    method public boolean isFinalResponse();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationResponse> CREATOR;
+    field public static final int TRANSLATION_STATUS_CONTEXT_UNSUPPORTED = 2; // 0x2
+    field public static final int TRANSLATION_STATUS_SUCCESS = 0; // 0x0
+    field public static final int TRANSLATION_STATUS_UNKNOWN_ERROR = 1; // 0x1
+  }
+
+  public static final class TranslationResponse.Builder {
+    ctor public TranslationResponse.Builder(int);
+    method @NonNull public android.view.translation.TranslationResponse build();
+    method @NonNull public android.view.translation.TranslationResponse.Builder setFinalResponse(boolean);
+    method @NonNull public android.view.translation.TranslationResponse.Builder setTranslationResponseValue(int, @NonNull android.view.translation.TranslationResponseValue);
+    method @NonNull public android.view.translation.TranslationResponse.Builder setTranslationResponseValues(@NonNull android.util.SparseArray<android.view.translation.TranslationResponseValue>);
+    method @NonNull public android.view.translation.TranslationResponse.Builder setViewTranslationResponse(int, @NonNull android.view.translation.ViewTranslationResponse);
+    method @NonNull public android.view.translation.TranslationResponse.Builder setViewTranslationResponses(@NonNull android.util.SparseArray<android.view.translation.ViewTranslationResponse>);
+  }
+
+  public final class TranslationResponseValue implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.view.translation.TranslationResponseValue forError();
+    method @NonNull public android.os.Bundle getExtras();
+    method public int getStatusCode();
+    method @Nullable public CharSequence getText();
+    method @Nullable public CharSequence getTransliteration();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationResponseValue> CREATOR;
+    field public static final String EXTRA_DEFINITIONS = "android.view.translation.extra.DEFINITIONS";
+    field public static final int STATUS_ERROR = 1; // 0x1
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public static final class TranslationResponseValue.Builder {
+    ctor public TranslationResponseValue.Builder(int);
+    method @NonNull public android.view.translation.TranslationResponseValue build();
+    method @NonNull public android.view.translation.TranslationResponseValue.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.view.translation.TranslationResponseValue.Builder setText(@NonNull CharSequence);
+    method @NonNull public android.view.translation.TranslationResponseValue.Builder setTransliteration(@NonNull CharSequence);
+  }
+
+  public final class TranslationSpec implements android.os.Parcelable {
+    ctor public TranslationSpec(@NonNull android.icu.util.ULocale, int);
+    method public int describeContents();
+    method public int getDataFormat();
+    method @NonNull public android.icu.util.ULocale getLocale();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationSpec> CREATOR;
+    field public static final int DATA_FORMAT_TEXT = 1; // 0x1
+  }
+
+  public class Translator {
+    method public void destroy();
+    method public boolean isDestroyed();
+    method @Nullable public void translate(@NonNull android.view.translation.TranslationRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
+  }
+
+  public final class UiTranslationManager {
+    method public void registerUiTranslationStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.view.translation.UiTranslationStateCallback);
+    method public void unregisterUiTranslationStateCallback(@NonNull android.view.translation.UiTranslationStateCallback);
+  }
+
+  public interface UiTranslationStateCallback {
+    method public void onFinished();
+    method public void onPaused();
+    method public default void onResumed(@NonNull android.icu.util.ULocale, @NonNull android.icu.util.ULocale);
+    method public default void onStarted(@NonNull android.icu.util.ULocale, @NonNull android.icu.util.ULocale);
+  }
+
+  @UiThread public interface ViewTranslationCallback {
+    method public boolean onClearTranslation(@NonNull android.view.View);
+    method public boolean onHideTranslation(@NonNull android.view.View);
+    method public boolean onShowTranslation(@NonNull android.view.View);
+  }
+
+  public final class ViewTranslationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.autofill.AutofillId getAutofillId();
+    method @NonNull public java.util.Set<java.lang.String> getKeys();
+    method @NonNull public android.view.translation.TranslationRequestValue getValue(@NonNull String);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.ViewTranslationRequest> CREATOR;
+    field public static final String ID_TEXT = "android:text";
+  }
+
+  public static final class ViewTranslationRequest.Builder {
+    ctor public ViewTranslationRequest.Builder(@NonNull android.view.autofill.AutofillId);
+    ctor public ViewTranslationRequest.Builder(@NonNull android.view.autofill.AutofillId, long);
+    method @NonNull public android.view.translation.ViewTranslationRequest build();
+    method @NonNull public android.view.translation.ViewTranslationRequest.Builder setValue(@NonNull String, @NonNull android.view.translation.TranslationRequestValue);
+  }
+
+  public final class ViewTranslationResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.autofill.AutofillId getAutofillId();
+    method @NonNull public java.util.Set<java.lang.String> getKeys();
+    method @NonNull public android.view.translation.TranslationResponseValue getValue(@NonNull String);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.ViewTranslationResponse> CREATOR;
+  }
+
+  public static final class ViewTranslationResponse.Builder {
+    ctor public ViewTranslationResponse.Builder(@NonNull android.view.autofill.AutofillId);
+    method @NonNull public android.view.translation.ViewTranslationResponse build();
+    method public android.view.translation.ViewTranslationResponse.Builder setValue(String, android.view.translation.TranslationResponseValue);
+  }
+
+}
+
+package android.webkit {
+
+  public abstract class ClientCertRequest {
+    ctor public ClientCertRequest();
+    method public abstract void cancel();
+    method public abstract String getHost();
+    method @Nullable public abstract String[] getKeyTypes();
+    method public abstract int getPort();
+    method @Nullable public abstract java.security.Principal[] getPrincipals();
+    method public abstract void ignore();
+    method public abstract void proceed(java.security.PrivateKey, java.security.cert.X509Certificate[]);
+  }
+
+  public class ConsoleMessage {
+    ctor public ConsoleMessage(String, String, int, android.webkit.ConsoleMessage.MessageLevel);
+    method public int lineNumber();
+    method public String message();
+    method public android.webkit.ConsoleMessage.MessageLevel messageLevel();
+    method public String sourceId();
+  }
+
+  public enum ConsoleMessage.MessageLevel {
+    enum_constant public static final android.webkit.ConsoleMessage.MessageLevel DEBUG;
+    enum_constant public static final android.webkit.ConsoleMessage.MessageLevel ERROR;
+    enum_constant public static final android.webkit.ConsoleMessage.MessageLevel LOG;
+    enum_constant public static final android.webkit.ConsoleMessage.MessageLevel TIP;
+    enum_constant public static final android.webkit.ConsoleMessage.MessageLevel WARNING;
+  }
+
+  public abstract class CookieManager {
+    ctor @Deprecated public CookieManager();
+    method public abstract boolean acceptCookie();
+    method public abstract boolean acceptThirdPartyCookies(android.webkit.WebView);
+    method public static boolean allowFileSchemeCookies();
+    method public abstract void flush();
+    method public abstract String getCookie(String);
+    method public static android.webkit.CookieManager getInstance();
+    method public abstract boolean hasCookies();
+    method @Deprecated public abstract void removeAllCookie();
+    method public abstract void removeAllCookies(@Nullable android.webkit.ValueCallback<java.lang.Boolean>);
+    method @Deprecated public abstract void removeExpiredCookie();
+    method @Deprecated public abstract void removeSessionCookie();
+    method public abstract void removeSessionCookies(@Nullable android.webkit.ValueCallback<java.lang.Boolean>);
+    method public abstract void setAcceptCookie(boolean);
+    method @Deprecated public static void setAcceptFileSchemeCookies(boolean);
+    method public abstract void setAcceptThirdPartyCookies(android.webkit.WebView, boolean);
+    method public abstract void setCookie(String, String);
+    method public abstract void setCookie(String, String, @Nullable android.webkit.ValueCallback<java.lang.Boolean>);
+  }
+
+  @Deprecated public final class CookieSyncManager implements java.lang.Runnable {
+    method @Deprecated public static android.webkit.CookieSyncManager createInstance(android.content.Context);
+    method @Deprecated public static android.webkit.CookieSyncManager getInstance();
+    method @Deprecated public void resetSync();
+    method @Deprecated public void run();
+    method @Deprecated public void startSync();
+    method @Deprecated public void stopSync();
+    method @Deprecated public void sync();
+    method @Deprecated protected void syncFromRamToFlash();
+  }
+
+  public class DateSorter {
+    ctor public DateSorter(android.content.Context);
+    method public long getBoundary(int);
+    method public int getIndex(long);
+    method public String getLabel(int);
+    field public static final int DAY_COUNT = 5; // 0x5
+  }
+
+  public interface DownloadListener {
+    method public void onDownloadStart(String, String, String, String, long);
+  }
+
+  public class GeolocationPermissions {
+    method public void allow(String);
+    method public void clear(String);
+    method public void clearAll();
+    method public void getAllowed(String, android.webkit.ValueCallback<java.lang.Boolean>);
+    method public static android.webkit.GeolocationPermissions getInstance();
+    method public void getOrigins(android.webkit.ValueCallback<java.util.Set<java.lang.String>>);
+  }
+
+  public static interface GeolocationPermissions.Callback {
+    method public void invoke(String, boolean, boolean);
+  }
+
+  public class HttpAuthHandler extends android.os.Handler {
+    method public void cancel();
+    method public void proceed(String, String);
+    method public boolean useHttpAuthUsernamePassword();
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface JavascriptInterface {
+  }
+
+  public class JsPromptResult extends android.webkit.JsResult {
+    method public void confirm(String);
+  }
+
+  public class JsResult {
+    method public final void cancel();
+    method public final void confirm();
+  }
+
+  public class MimeTypeMap {
+    method @Nullable public String getExtensionFromMimeType(String);
+    method public static String getFileExtensionFromUrl(String);
+    method @Nullable public String getMimeTypeFromExtension(String);
+    method public static android.webkit.MimeTypeMap getSingleton();
+    method public boolean hasExtension(String);
+    method public boolean hasMimeType(String);
+  }
+
+  public abstract class PermissionRequest {
+    ctor public PermissionRequest();
+    method public abstract void deny();
+    method public abstract android.net.Uri getOrigin();
+    method public abstract String[] getResources();
+    method public abstract void grant(String[]);
+    field public static final String RESOURCE_AUDIO_CAPTURE = "android.webkit.resource.AUDIO_CAPTURE";
+    field public static final String RESOURCE_MIDI_SYSEX = "android.webkit.resource.MIDI_SYSEX";
+    field public static final String RESOURCE_PROTECTED_MEDIA_ID = "android.webkit.resource.PROTECTED_MEDIA_ID";
+    field public static final String RESOURCE_VIDEO_CAPTURE = "android.webkit.resource.VIDEO_CAPTURE";
+  }
+
+  public interface PluginStub {
+    method public android.view.View getEmbeddedView(int, android.content.Context);
+    method public android.view.View getFullScreenView(int, android.content.Context);
+  }
+
+  public abstract class RenderProcessGoneDetail {
+    ctor @Deprecated public RenderProcessGoneDetail();
+    method public abstract boolean didCrash();
+    method public abstract int rendererPriorityAtExit();
+  }
+
+  public abstract class SafeBrowsingResponse {
+    ctor @Deprecated public SafeBrowsingResponse();
+    method public abstract void backToSafety(boolean);
+    method public abstract void proceed(boolean);
+    method public abstract void showInterstitial(boolean);
+  }
+
+  public class ServiceWorkerClient {
+    ctor public ServiceWorkerClient();
+    method @Nullable public android.webkit.WebResourceResponse shouldInterceptRequest(android.webkit.WebResourceRequest);
+  }
+
+  public abstract class ServiceWorkerController {
+    ctor @Deprecated public ServiceWorkerController();
+    method @NonNull public static android.webkit.ServiceWorkerController getInstance();
+    method @NonNull public abstract android.webkit.ServiceWorkerWebSettings getServiceWorkerWebSettings();
+    method public abstract void setServiceWorkerClient(@Nullable android.webkit.ServiceWorkerClient);
+  }
+
+  public abstract class ServiceWorkerWebSettings {
+    ctor public ServiceWorkerWebSettings();
+    method public abstract boolean getAllowContentAccess();
+    method public abstract boolean getAllowFileAccess();
+    method public abstract boolean getBlockNetworkLoads();
+    method public abstract int getCacheMode();
+    method public abstract void setAllowContentAccess(boolean);
+    method public abstract void setAllowFileAccess(boolean);
+    method public abstract void setBlockNetworkLoads(boolean);
+    method public abstract void setCacheMode(int);
+  }
+
+  public class SslErrorHandler extends android.os.Handler {
+    method public void cancel();
+    method public void proceed();
+  }
+
+  public class TracingConfig {
+    method @NonNull public java.util.List<java.lang.String> getCustomIncludedCategories();
+    method public int getPredefinedCategories();
+    method public int getTracingMode();
+    field public static final int CATEGORIES_ALL = 1; // 0x1
+    field public static final int CATEGORIES_ANDROID_WEBVIEW = 2; // 0x2
+    field public static final int CATEGORIES_FRAME_VIEWER = 64; // 0x40
+    field public static final int CATEGORIES_INPUT_LATENCY = 8; // 0x8
+    field public static final int CATEGORIES_JAVASCRIPT_AND_RENDERING = 32; // 0x20
+    field public static final int CATEGORIES_NONE = 0; // 0x0
+    field public static final int CATEGORIES_RENDERING = 16; // 0x10
+    field public static final int CATEGORIES_WEB_DEVELOPER = 4; // 0x4
+    field public static final int RECORD_CONTINUOUSLY = 1; // 0x1
+    field public static final int RECORD_UNTIL_FULL = 0; // 0x0
+  }
+
+  public static class TracingConfig.Builder {
+    ctor public TracingConfig.Builder();
+    method public android.webkit.TracingConfig.Builder addCategories(int...);
+    method public android.webkit.TracingConfig.Builder addCategories(java.lang.String...);
+    method public android.webkit.TracingConfig.Builder addCategories(java.util.Collection<java.lang.String>);
+    method public android.webkit.TracingConfig build();
+    method public android.webkit.TracingConfig.Builder setTracingMode(int);
+  }
+
+  public abstract class TracingController {
+    ctor @Deprecated public TracingController();
+    method @NonNull public static android.webkit.TracingController getInstance();
+    method public abstract boolean isTracing();
+    method public abstract void start(@NonNull android.webkit.TracingConfig);
+    method public abstract boolean stop(@Nullable java.io.OutputStream, @NonNull java.util.concurrent.Executor);
+  }
+
+  public final class URLUtil {
+    ctor public URLUtil();
+    method public static String composeSearchUrl(String, String, String);
+    method public static byte[] decode(byte[]) throws java.lang.IllegalArgumentException;
+    method public static String guessFileName(String, @Nullable String, @Nullable String);
+    method public static String guessUrl(String);
+    method public static boolean isAboutUrl(String);
+    method public static boolean isAssetUrl(String);
+    method public static boolean isContentUrl(String);
+    method @Deprecated public static boolean isCookielessProxyUrl(String);
+    method public static boolean isDataUrl(String);
+    method public static boolean isFileUrl(String);
+    method public static boolean isHttpUrl(String);
+    method public static boolean isHttpsUrl(String);
+    method public static boolean isJavaScriptUrl(String);
+    method public static boolean isNetworkUrl(String);
+    method public static boolean isValidUrl(String);
+    method public static String stripAnchor(String);
+  }
+
+  public interface ValueCallback<T> {
+    method public void onReceiveValue(T);
+  }
+
+  public abstract class WebBackForwardList implements java.lang.Cloneable java.io.Serializable {
+    ctor public WebBackForwardList();
+    method protected abstract android.webkit.WebBackForwardList clone();
+    method public abstract int getCurrentIndex();
+    method @Nullable public abstract android.webkit.WebHistoryItem getCurrentItem();
+    method public abstract android.webkit.WebHistoryItem getItemAtIndex(int);
+    method public abstract int getSize();
+  }
+
+  public class WebChromeClient {
+    ctor public WebChromeClient();
+    method @Nullable public android.graphics.Bitmap getDefaultVideoPoster();
+    method @Nullable public android.view.View getVideoLoadingProgressView();
+    method public void getVisitedHistory(android.webkit.ValueCallback<java.lang.String[]>);
+    method public void onCloseWindow(android.webkit.WebView);
+    method @Deprecated public void onConsoleMessage(String, int, String);
+    method public boolean onConsoleMessage(android.webkit.ConsoleMessage);
+    method public boolean onCreateWindow(android.webkit.WebView, boolean, boolean, android.os.Message);
+    method @Deprecated public void onExceededDatabaseQuota(String, String, long, long, long, android.webkit.WebStorage.QuotaUpdater);
+    method public void onGeolocationPermissionsHidePrompt();
+    method public void onGeolocationPermissionsShowPrompt(String, android.webkit.GeolocationPermissions.Callback);
+    method public void onHideCustomView();
+    method public boolean onJsAlert(android.webkit.WebView, String, String, android.webkit.JsResult);
+    method public boolean onJsBeforeUnload(android.webkit.WebView, String, String, android.webkit.JsResult);
+    method public boolean onJsConfirm(android.webkit.WebView, String, String, android.webkit.JsResult);
+    method public boolean onJsPrompt(android.webkit.WebView, String, String, String, android.webkit.JsPromptResult);
+    method @Deprecated public boolean onJsTimeout();
+    method public void onPermissionRequest(android.webkit.PermissionRequest);
+    method public void onPermissionRequestCanceled(android.webkit.PermissionRequest);
+    method public void onProgressChanged(android.webkit.WebView, int);
+    method @Deprecated public void onReachedMaxAppCacheSize(long, long, android.webkit.WebStorage.QuotaUpdater);
+    method public void onReceivedIcon(android.webkit.WebView, android.graphics.Bitmap);
+    method public void onReceivedTitle(android.webkit.WebView, String);
+    method public void onReceivedTouchIconUrl(android.webkit.WebView, String, boolean);
+    method public void onRequestFocus(android.webkit.WebView);
+    method public void onShowCustomView(android.view.View, android.webkit.WebChromeClient.CustomViewCallback);
+    method @Deprecated public void onShowCustomView(android.view.View, int, android.webkit.WebChromeClient.CustomViewCallback);
+    method public boolean onShowFileChooser(android.webkit.WebView, android.webkit.ValueCallback<android.net.Uri[]>, android.webkit.WebChromeClient.FileChooserParams);
+  }
+
+  public static interface WebChromeClient.CustomViewCallback {
+    method public void onCustomViewHidden();
+  }
+
+  public abstract static class WebChromeClient.FileChooserParams {
+    ctor public WebChromeClient.FileChooserParams();
+    method public abstract android.content.Intent createIntent();
+    method public abstract String[] getAcceptTypes();
+    method @Nullable public abstract String getFilenameHint();
+    method public abstract int getMode();
+    method @Nullable public abstract CharSequence getTitle();
+    method public abstract boolean isCaptureEnabled();
+    method @Nullable public static android.net.Uri[] parseResult(int, android.content.Intent);
+    field public static final int MODE_OPEN = 0; // 0x0
+    field public static final int MODE_OPEN_MULTIPLE = 1; // 0x1
+    field public static final int MODE_SAVE = 3; // 0x3
+  }
+
+  public abstract class WebHistoryItem implements java.lang.Cloneable {
+    ctor public WebHistoryItem();
+    method protected abstract android.webkit.WebHistoryItem clone();
+    method @Nullable public abstract android.graphics.Bitmap getFavicon();
+    method public abstract String getOriginalUrl();
+    method public abstract String getTitle();
+    method public abstract String getUrl();
+  }
+
+  @Deprecated public abstract class WebIconDatabase {
+    ctor @Deprecated public WebIconDatabase();
+    method @Deprecated public abstract void close();
+    method @Deprecated public static android.webkit.WebIconDatabase getInstance();
+    method @Deprecated public abstract void open(String);
+    method @Deprecated public abstract void releaseIconForPageUrl(String);
+    method @Deprecated public abstract void removeAllIcons();
+    method @Deprecated public abstract void requestIconForPageUrl(String, android.webkit.WebIconDatabase.IconListener);
+    method @Deprecated public abstract void retainIconForPageUrl(String);
+  }
+
+  @Deprecated public static interface WebIconDatabase.IconListener {
+    method @Deprecated public void onReceivedIcon(String, android.graphics.Bitmap);
+  }
+
+  public class WebMessage {
+    ctor public WebMessage(String);
+    ctor public WebMessage(String, android.webkit.WebMessagePort[]);
+    method public String getData();
+    method @Nullable public android.webkit.WebMessagePort[] getPorts();
+  }
+
+  public abstract class WebMessagePort {
+    method public abstract void close();
+    method public abstract void postMessage(android.webkit.WebMessage);
+    method public abstract void setWebMessageCallback(android.webkit.WebMessagePort.WebMessageCallback);
+    method public abstract void setWebMessageCallback(android.webkit.WebMessagePort.WebMessageCallback, android.os.Handler);
+  }
+
+  public abstract static class WebMessagePort.WebMessageCallback {
+    ctor public WebMessagePort.WebMessageCallback();
+    method public void onMessage(android.webkit.WebMessagePort, android.webkit.WebMessage);
+  }
+
+  public abstract class WebResourceError {
+    method public abstract CharSequence getDescription();
+    method public abstract int getErrorCode();
+  }
+
+  public interface WebResourceRequest {
+    method public String getMethod();
+    method public java.util.Map<java.lang.String,java.lang.String> getRequestHeaders();
+    method public android.net.Uri getUrl();
+    method public boolean hasGesture();
+    method public boolean isForMainFrame();
+    method public boolean isRedirect();
+  }
+
+  public class WebResourceResponse {
+    ctor public WebResourceResponse(String, String, java.io.InputStream);
+    ctor public WebResourceResponse(String, String, int, @NonNull String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
+    method public java.io.InputStream getData();
+    method public String getEncoding();
+    method public String getMimeType();
+    method public String getReasonPhrase();
+    method public java.util.Map<java.lang.String,java.lang.String> getResponseHeaders();
+    method public int getStatusCode();
+    method public void setData(java.io.InputStream);
+    method public void setEncoding(String);
+    method public void setMimeType(String);
+    method public void setResponseHeaders(java.util.Map<java.lang.String,java.lang.String>);
+    method public void setStatusCodeAndReasonPhrase(int, @NonNull String);
+  }
+
+  public abstract class WebSettings {
+    ctor public WebSettings();
+    method @Deprecated public abstract boolean enableSmoothTransition();
+    method public abstract boolean getAllowContentAccess();
+    method public abstract boolean getAllowFileAccess();
+    method public abstract boolean getAllowFileAccessFromFileURLs();
+    method public abstract boolean getAllowUniversalAccessFromFileURLs();
+    method public abstract boolean getBlockNetworkImage();
+    method public abstract boolean getBlockNetworkLoads();
+    method public abstract boolean getBuiltInZoomControls();
+    method public abstract int getCacheMode();
+    method public abstract String getCursiveFontFamily();
+    method public abstract boolean getDatabaseEnabled();
+    method @Deprecated public abstract String getDatabasePath();
+    method public abstract int getDefaultFixedFontSize();
+    method public abstract int getDefaultFontSize();
+    method public abstract String getDefaultTextEncodingName();
+    method public static String getDefaultUserAgent(android.content.Context);
+    method @Deprecated public abstract android.webkit.WebSettings.ZoomDensity getDefaultZoom();
+    method public abstract int getDisabledActionModeMenuItems();
+    method public abstract boolean getDisplayZoomControls();
+    method public abstract boolean getDomStorageEnabled();
+    method public abstract String getFantasyFontFamily();
+    method public abstract String getFixedFontFamily();
+    method public int getForceDark();
+    method public abstract boolean getJavaScriptCanOpenWindowsAutomatically();
+    method public abstract boolean getJavaScriptEnabled();
+    method public abstract android.webkit.WebSettings.LayoutAlgorithm getLayoutAlgorithm();
+    method @Deprecated public abstract boolean getLightTouchEnabled();
+    method public abstract boolean getLoadWithOverviewMode();
+    method public abstract boolean getLoadsImagesAutomatically();
+    method public abstract boolean getMediaPlaybackRequiresUserGesture();
+    method public abstract int getMinimumFontSize();
+    method public abstract int getMinimumLogicalFontSize();
+    method public abstract int getMixedContentMode();
+    method public abstract boolean getOffscreenPreRaster();
+    method @Deprecated public abstract android.webkit.WebSettings.PluginState getPluginState();
+    method public abstract boolean getSafeBrowsingEnabled();
+    method public abstract String getSansSerifFontFamily();
+    method @Deprecated public abstract boolean getSaveFormData();
+    method @Deprecated public abstract boolean getSavePassword();
+    method public abstract String getSerifFontFamily();
+    method public abstract String getStandardFontFamily();
+    method @Deprecated public android.webkit.WebSettings.TextSize getTextSize();
+    method public abstract int getTextZoom();
+    method public abstract boolean getUseWideViewPort();
+    method public abstract String getUserAgentString();
+    method public abstract void setAllowContentAccess(boolean);
+    method public abstract void setAllowFileAccess(boolean);
+    method @Deprecated public abstract void setAllowFileAccessFromFileURLs(boolean);
+    method @Deprecated public abstract void setAllowUniversalAccessFromFileURLs(boolean);
+    method @Deprecated public abstract void setAppCacheEnabled(boolean);
+    method @Deprecated public abstract void setAppCacheMaxSize(long);
+    method @Deprecated public abstract void setAppCachePath(String);
+    method public abstract void setBlockNetworkImage(boolean);
+    method public abstract void setBlockNetworkLoads(boolean);
+    method public abstract void setBuiltInZoomControls(boolean);
+    method public abstract void setCacheMode(int);
+    method public abstract void setCursiveFontFamily(String);
+    method public abstract void setDatabaseEnabled(boolean);
+    method @Deprecated public abstract void setDatabasePath(String);
+    method public abstract void setDefaultFixedFontSize(int);
+    method public abstract void setDefaultFontSize(int);
+    method public abstract void setDefaultTextEncodingName(String);
+    method @Deprecated public abstract void setDefaultZoom(android.webkit.WebSettings.ZoomDensity);
+    method public abstract void setDisabledActionModeMenuItems(int);
+    method public abstract void setDisplayZoomControls(boolean);
+    method public abstract void setDomStorageEnabled(boolean);
+    method @Deprecated public abstract void setEnableSmoothTransition(boolean);
+    method public abstract void setFantasyFontFamily(String);
+    method public abstract void setFixedFontFamily(String);
+    method public void setForceDark(int);
+    method @Deprecated public abstract void setGeolocationDatabasePath(String);
+    method public abstract void setGeolocationEnabled(boolean);
+    method public abstract void setJavaScriptCanOpenWindowsAutomatically(boolean);
+    method public abstract void setJavaScriptEnabled(boolean);
+    method public abstract void setLayoutAlgorithm(android.webkit.WebSettings.LayoutAlgorithm);
+    method @Deprecated public abstract void setLightTouchEnabled(boolean);
+    method public abstract void setLoadWithOverviewMode(boolean);
+    method public abstract void setLoadsImagesAutomatically(boolean);
+    method public abstract void setMediaPlaybackRequiresUserGesture(boolean);
+    method public abstract void setMinimumFontSize(int);
+    method public abstract void setMinimumLogicalFontSize(int);
+    method public abstract void setMixedContentMode(int);
+    method public abstract void setNeedInitialFocus(boolean);
+    method public abstract void setOffscreenPreRaster(boolean);
+    method @Deprecated public abstract void setPluginState(android.webkit.WebSettings.PluginState);
+    method @Deprecated public abstract void setRenderPriority(android.webkit.WebSettings.RenderPriority);
+    method public abstract void setSafeBrowsingEnabled(boolean);
+    method public abstract void setSansSerifFontFamily(String);
+    method @Deprecated public abstract void setSaveFormData(boolean);
+    method @Deprecated public abstract void setSavePassword(boolean);
+    method public abstract void setSerifFontFamily(String);
+    method public abstract void setStandardFontFamily(String);
+    method public abstract void setSupportMultipleWindows(boolean);
+    method public abstract void setSupportZoom(boolean);
+    method @Deprecated public void setTextSize(android.webkit.WebSettings.TextSize);
+    method public abstract void setTextZoom(int);
+    method public abstract void setUseWideViewPort(boolean);
+    method public abstract void setUserAgentString(@Nullable String);
+    method public abstract boolean supportMultipleWindows();
+    method public abstract boolean supportZoom();
+    field public static final int FORCE_DARK_AUTO = 1; // 0x1
+    field public static final int FORCE_DARK_OFF = 0; // 0x0
+    field public static final int FORCE_DARK_ON = 2; // 0x2
+    field public static final int LOAD_CACHE_ELSE_NETWORK = 1; // 0x1
+    field public static final int LOAD_CACHE_ONLY = 3; // 0x3
+    field public static final int LOAD_DEFAULT = -1; // 0xffffffff
+    field @Deprecated public static final int LOAD_NORMAL = 0; // 0x0
+    field public static final int LOAD_NO_CACHE = 2; // 0x2
+    field public static final int MENU_ITEM_NONE = 0; // 0x0
+    field public static final int MENU_ITEM_PROCESS_TEXT = 4; // 0x4
+    field public static final int MENU_ITEM_SHARE = 1; // 0x1
+    field public static final int MENU_ITEM_WEB_SEARCH = 2; // 0x2
+    field public static final int MIXED_CONTENT_ALWAYS_ALLOW = 0; // 0x0
+    field public static final int MIXED_CONTENT_COMPATIBILITY_MODE = 2; // 0x2
+    field public static final int MIXED_CONTENT_NEVER_ALLOW = 1; // 0x1
+  }
+
+  public enum WebSettings.LayoutAlgorithm {
+    enum_constant @Deprecated public static final android.webkit.WebSettings.LayoutAlgorithm NARROW_COLUMNS;
+    enum_constant public static final android.webkit.WebSettings.LayoutAlgorithm NORMAL;
+    enum_constant @Deprecated public static final android.webkit.WebSettings.LayoutAlgorithm SINGLE_COLUMN;
+    enum_constant public static final android.webkit.WebSettings.LayoutAlgorithm TEXT_AUTOSIZING;
+  }
+
+  public enum WebSettings.PluginState {
+    enum_constant public static final android.webkit.WebSettings.PluginState OFF;
+    enum_constant public static final android.webkit.WebSettings.PluginState ON;
+    enum_constant public static final android.webkit.WebSettings.PluginState ON_DEMAND;
+  }
+
+  public enum WebSettings.RenderPriority {
+    enum_constant public static final android.webkit.WebSettings.RenderPriority HIGH;
+    enum_constant public static final android.webkit.WebSettings.RenderPriority LOW;
+    enum_constant public static final android.webkit.WebSettings.RenderPriority NORMAL;
+  }
+
+  @Deprecated public enum WebSettings.TextSize {
+    enum_constant @Deprecated public static final android.webkit.WebSettings.TextSize LARGER;
+    enum_constant @Deprecated public static final android.webkit.WebSettings.TextSize LARGEST;
+    enum_constant @Deprecated public static final android.webkit.WebSettings.TextSize NORMAL;
+    enum_constant @Deprecated public static final android.webkit.WebSettings.TextSize SMALLER;
+    enum_constant @Deprecated public static final android.webkit.WebSettings.TextSize SMALLEST;
+  }
+
+  public enum WebSettings.ZoomDensity {
+    enum_constant public static final android.webkit.WebSettings.ZoomDensity CLOSE;
+    enum_constant public static final android.webkit.WebSettings.ZoomDensity FAR;
+    enum_constant public static final android.webkit.WebSettings.ZoomDensity MEDIUM;
+  }
+
+  public class WebStorage {
+    method public void deleteAllData();
+    method public void deleteOrigin(String);
+    method public static android.webkit.WebStorage getInstance();
+    method public void getOrigins(android.webkit.ValueCallback<java.util.Map>);
+    method public void getQuotaForOrigin(String, android.webkit.ValueCallback<java.lang.Long>);
+    method public void getUsageForOrigin(String, android.webkit.ValueCallback<java.lang.Long>);
+    method @Deprecated public void setQuotaForOrigin(String, long);
+  }
+
+  public static class WebStorage.Origin {
+    method public String getOrigin();
+    method public long getQuota();
+    method public long getUsage();
+  }
+
+  @Deprecated public static interface WebStorage.QuotaUpdater {
+    method @Deprecated public void updateQuota(long);
+  }
+
+  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
+    ctor public WebView(@NonNull android.content.Context);
+    ctor public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, int);
+    ctor @Deprecated public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, boolean);
+    method public void addJavascriptInterface(@NonNull Object, @NonNull String);
+    method public boolean canGoBack();
+    method public boolean canGoBackOrForward(int);
+    method public boolean canGoForward();
+    method @Deprecated public boolean canZoomIn();
+    method @Deprecated public boolean canZoomOut();
+    method @Deprecated public android.graphics.Picture capturePicture();
+    method public void clearCache(boolean);
+    method public static void clearClientCertPreferences(@Nullable Runnable);
+    method public void clearFormData();
+    method public void clearHistory();
+    method public void clearMatches();
+    method public void clearSslPreferences();
+    method @Deprecated public void clearView();
+    method @NonNull public android.webkit.WebBackForwardList copyBackForwardList();
+    method @Deprecated public android.print.PrintDocumentAdapter createPrintDocumentAdapter();
+    method @NonNull public android.print.PrintDocumentAdapter createPrintDocumentAdapter(@NonNull String);
+    method @NonNull public android.webkit.WebMessagePort[] createWebMessageChannel();
+    method public void destroy();
+    method public static void disableWebView();
+    method public void documentHasImages(@NonNull android.os.Message);
+    method public static void enableSlowWholeDocumentDraw();
+    method public void evaluateJavascript(@NonNull String, @Nullable android.webkit.ValueCallback<java.lang.String>);
+    method @Deprecated @Nullable public static String findAddress(String);
+    method @Deprecated public int findAll(String);
+    method public void findAllAsync(@NonNull String);
+    method public void findNext(boolean);
+    method public void flingScroll(int, int);
+    method @Deprecated public void freeMemory();
+    method @Nullable public android.net.http.SslCertificate getCertificate();
+    method public int getContentHeight();
+    method @Nullable public static android.content.pm.PackageInfo getCurrentWebViewPackage();
+    method @Nullable public android.graphics.Bitmap getFavicon();
+    method @NonNull public android.webkit.WebView.HitTestResult getHitTestResult();
+    method @Deprecated @Nullable public String[] getHttpAuthUsernamePassword(String, String);
+    method @Nullable public String getOriginalUrl();
+    method public int getProgress();
+    method public boolean getRendererPriorityWaivedWhenNotVisible();
+    method public int getRendererRequestedPriority();
+    method @NonNull public static android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
+    method @Deprecated public float getScale();
+    method @NonNull public android.webkit.WebSettings getSettings();
+    method @NonNull public android.view.textclassifier.TextClassifier getTextClassifier();
+    method @Nullable public String getTitle();
+    method @Nullable public String getUrl();
+    method @Nullable public android.webkit.WebChromeClient getWebChromeClient();
+    method @NonNull public static ClassLoader getWebViewClassLoader();
+    method @NonNull public android.webkit.WebViewClient getWebViewClient();
+    method @NonNull public android.os.Looper getWebViewLooper();
+    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
+    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
+    method public void goBack();
+    method public void goBackOrForward(int);
+    method public void goForward();
+    method public void invokeZoomPicker();
+    method public boolean isPrivateBrowsingEnabled();
+    method public void loadData(@NonNull String, @Nullable String, @Nullable String);
+    method public void loadDataWithBaseURL(@Nullable String, @NonNull String, @Nullable String, @Nullable String, @Nullable String);
+    method public void loadUrl(@NonNull String, @NonNull java.util.Map<java.lang.String,java.lang.String>);
+    method public void loadUrl(@NonNull String);
+    method @Deprecated public void onChildViewAdded(android.view.View, android.view.View);
+    method @Deprecated public void onChildViewRemoved(android.view.View, android.view.View);
+    method @Deprecated public void onGlobalFocusChanged(android.view.View, android.view.View);
+    method public void onPause();
+    method public void onResume();
+    method @Deprecated public boolean overlayHorizontalScrollbar();
+    method @Deprecated public boolean overlayVerticalScrollbar();
+    method public boolean pageDown(boolean);
+    method public boolean pageUp(boolean);
+    method public void pauseTimers();
+    method public void postUrl(@NonNull String, @NonNull byte[]);
+    method public void postVisualStateCallback(long, @NonNull android.webkit.WebView.VisualStateCallback);
+    method public void postWebMessage(@NonNull android.webkit.WebMessage, @NonNull android.net.Uri);
+    method public void reload();
+    method public void removeJavascriptInterface(@NonNull String);
+    method public void requestFocusNodeHref(@Nullable android.os.Message);
+    method public void requestImageRef(@NonNull android.os.Message);
+    method @Nullable public android.webkit.WebBackForwardList restoreState(@NonNull android.os.Bundle);
+    method public void resumeTimers();
+    method @Deprecated public void savePassword(String, String, String);
+    method @Nullable public android.webkit.WebBackForwardList saveState(@NonNull android.os.Bundle);
+    method public void saveWebArchive(@NonNull String);
+    method public void saveWebArchive(@NonNull String, boolean, @Nullable android.webkit.ValueCallback<java.lang.String>);
+    method @Deprecated public void setCertificate(android.net.http.SslCertificate);
+    method public static void setDataDirectorySuffix(@NonNull String);
+    method public void setDownloadListener(@Nullable android.webkit.DownloadListener);
+    method public void setFindListener(@Nullable android.webkit.WebView.FindListener);
+    method @Deprecated public void setHorizontalScrollbarOverlay(boolean);
+    method @Deprecated public void setHttpAuthUsernamePassword(String, String, String, String);
+    method public void setInitialScale(int);
+    method @Deprecated public void setMapTrackballToArrowKeys(boolean);
+    method public void setNetworkAvailable(boolean);
+    method @Deprecated public void setPictureListener(android.webkit.WebView.PictureListener);
+    method public void setRendererPriorityPolicy(int, boolean);
+    method public static void setSafeBrowsingWhitelist(@NonNull java.util.List<java.lang.String>, @Nullable android.webkit.ValueCallback<java.lang.Boolean>);
+    method public void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
+    method @Deprecated public void setVerticalScrollbarOverlay(boolean);
+    method public void setWebChromeClient(@Nullable android.webkit.WebChromeClient);
+    method public static void setWebContentsDebuggingEnabled(boolean);
+    method public void setWebViewClient(@NonNull android.webkit.WebViewClient);
+    method public void setWebViewRenderProcessClient(@NonNull java.util.concurrent.Executor, @NonNull android.webkit.WebViewRenderProcessClient);
+    method public void setWebViewRenderProcessClient(@Nullable android.webkit.WebViewRenderProcessClient);
+    method @Deprecated public boolean shouldDelayChildPressedState();
+    method @Deprecated public boolean showFindDialog(@Nullable String, boolean);
+    method public static void startSafeBrowsing(@NonNull android.content.Context, @Nullable android.webkit.ValueCallback<java.lang.Boolean>);
+    method public void stopLoading();
+    method public void zoomBy(float);
+    method public boolean zoomIn();
+    method public boolean zoomOut();
+    field public static final int RENDERER_PRIORITY_BOUND = 1; // 0x1
+    field public static final int RENDERER_PRIORITY_IMPORTANT = 2; // 0x2
+    field public static final int RENDERER_PRIORITY_WAIVED = 0; // 0x0
+    field public static final String SCHEME_GEO = "geo:0,0?q=";
+    field public static final String SCHEME_MAILTO = "mailto:";
+    field public static final String SCHEME_TEL = "tel:";
+  }
+
+  public static interface WebView.FindListener {
+    method public void onFindResultReceived(int, int, boolean);
+  }
+
+  public static class WebView.HitTestResult {
+    method @Nullable public String getExtra();
+    method public int getType();
+    field @Deprecated public static final int ANCHOR_TYPE = 1; // 0x1
+    field public static final int EDIT_TEXT_TYPE = 9; // 0x9
+    field public static final int EMAIL_TYPE = 4; // 0x4
+    field public static final int GEO_TYPE = 3; // 0x3
+    field @Deprecated public static final int IMAGE_ANCHOR_TYPE = 6; // 0x6
+    field public static final int IMAGE_TYPE = 5; // 0x5
+    field public static final int PHONE_TYPE = 2; // 0x2
+    field public static final int SRC_ANCHOR_TYPE = 7; // 0x7
+    field public static final int SRC_IMAGE_ANCHOR_TYPE = 8; // 0x8
+    field public static final int UNKNOWN_TYPE = 0; // 0x0
+  }
+
+  @Deprecated public static interface WebView.PictureListener {
+    method @Deprecated public void onNewPicture(android.webkit.WebView, @Nullable android.graphics.Picture);
+  }
+
+  public abstract static class WebView.VisualStateCallback {
+    ctor public WebView.VisualStateCallback();
+    method public abstract void onComplete(long);
+  }
+
+  public class WebView.WebViewTransport {
+    ctor public WebView.WebViewTransport();
+    method @Nullable public android.webkit.WebView getWebView();
+    method public void setWebView(@Nullable android.webkit.WebView);
+  }
+
+  public class WebViewClient {
+    ctor public WebViewClient();
+    method public void doUpdateVisitedHistory(android.webkit.WebView, String, boolean);
+    method public void onFormResubmission(android.webkit.WebView, android.os.Message, android.os.Message);
+    method public void onLoadResource(android.webkit.WebView, String);
+    method public void onPageCommitVisible(android.webkit.WebView, String);
+    method public void onPageFinished(android.webkit.WebView, String);
+    method public void onPageStarted(android.webkit.WebView, String, android.graphics.Bitmap);
+    method public void onReceivedClientCertRequest(android.webkit.WebView, android.webkit.ClientCertRequest);
+    method @Deprecated public void onReceivedError(android.webkit.WebView, int, String, String);
+    method public void onReceivedError(android.webkit.WebView, android.webkit.WebResourceRequest, android.webkit.WebResourceError);
+    method public void onReceivedHttpAuthRequest(android.webkit.WebView, android.webkit.HttpAuthHandler, String, String);
+    method public void onReceivedHttpError(android.webkit.WebView, android.webkit.WebResourceRequest, android.webkit.WebResourceResponse);
+    method public void onReceivedLoginRequest(android.webkit.WebView, String, @Nullable String, String);
+    method public void onReceivedSslError(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError);
+    method public boolean onRenderProcessGone(android.webkit.WebView, android.webkit.RenderProcessGoneDetail);
+    method public void onSafeBrowsingHit(android.webkit.WebView, android.webkit.WebResourceRequest, int, android.webkit.SafeBrowsingResponse);
+    method public void onScaleChanged(android.webkit.WebView, float, float);
+    method @Deprecated public void onTooManyRedirects(android.webkit.WebView, android.os.Message, android.os.Message);
+    method public void onUnhandledKeyEvent(android.webkit.WebView, android.view.KeyEvent);
+    method @Deprecated @Nullable public android.webkit.WebResourceResponse shouldInterceptRequest(android.webkit.WebView, String);
+    method @Nullable public android.webkit.WebResourceResponse shouldInterceptRequest(android.webkit.WebView, android.webkit.WebResourceRequest);
+    method public boolean shouldOverrideKeyEvent(android.webkit.WebView, android.view.KeyEvent);
+    method @Deprecated public boolean shouldOverrideUrlLoading(android.webkit.WebView, String);
+    method public boolean shouldOverrideUrlLoading(android.webkit.WebView, android.webkit.WebResourceRequest);
+    field public static final int ERROR_AUTHENTICATION = -4; // 0xfffffffc
+    field public static final int ERROR_BAD_URL = -12; // 0xfffffff4
+    field public static final int ERROR_CONNECT = -6; // 0xfffffffa
+    field public static final int ERROR_FAILED_SSL_HANDSHAKE = -11; // 0xfffffff5
+    field public static final int ERROR_FILE = -13; // 0xfffffff3
+    field public static final int ERROR_FILE_NOT_FOUND = -14; // 0xfffffff2
+    field public static final int ERROR_HOST_LOOKUP = -2; // 0xfffffffe
+    field public static final int ERROR_IO = -7; // 0xfffffff9
+    field public static final int ERROR_PROXY_AUTHENTICATION = -5; // 0xfffffffb
+    field public static final int ERROR_REDIRECT_LOOP = -9; // 0xfffffff7
+    field public static final int ERROR_TIMEOUT = -8; // 0xfffffff8
+    field public static final int ERROR_TOO_MANY_REQUESTS = -15; // 0xfffffff1
+    field public static final int ERROR_UNKNOWN = -1; // 0xffffffff
+    field public static final int ERROR_UNSAFE_RESOURCE = -16; // 0xfffffff0
+    field public static final int ERROR_UNSUPPORTED_AUTH_SCHEME = -3; // 0xfffffffd
+    field public static final int ERROR_UNSUPPORTED_SCHEME = -10; // 0xfffffff6
+    field public static final int SAFE_BROWSING_THREAT_BILLING = 4; // 0x4
+    field public static final int SAFE_BROWSING_THREAT_MALWARE = 1; // 0x1
+    field public static final int SAFE_BROWSING_THREAT_PHISHING = 2; // 0x2
+    field public static final int SAFE_BROWSING_THREAT_UNKNOWN = 0; // 0x0
+    field public static final int SAFE_BROWSING_THREAT_UNWANTED_SOFTWARE = 3; // 0x3
+  }
+
+  public abstract class WebViewDatabase {
+    ctor @Deprecated public WebViewDatabase();
+    method @Deprecated public abstract void clearFormData();
+    method public abstract void clearHttpAuthUsernamePassword();
+    method @Deprecated public abstract void clearUsernamePassword();
+    method @Nullable public abstract String[] getHttpAuthUsernamePassword(String, String);
+    method public static android.webkit.WebViewDatabase getInstance(android.content.Context);
+    method @Deprecated public abstract boolean hasFormData();
+    method public abstract boolean hasHttpAuthUsernamePassword();
+    method @Deprecated public abstract boolean hasUsernamePassword();
+    method public abstract void setHttpAuthUsernamePassword(String, String, String, String);
+  }
+
+  @Deprecated public class WebViewFragment extends android.app.Fragment {
+    ctor @Deprecated public WebViewFragment();
+    method @Deprecated public android.webkit.WebView getWebView();
+  }
+
+  public abstract class WebViewRenderProcess {
+    ctor public WebViewRenderProcess();
+    method public abstract boolean terminate();
+  }
+
+  public abstract class WebViewRenderProcessClient {
+    ctor public WebViewRenderProcessClient();
+    method public abstract void onRenderProcessResponsive(@NonNull android.webkit.WebView, @Nullable android.webkit.WebViewRenderProcess);
+    method public abstract void onRenderProcessUnresponsive(@NonNull android.webkit.WebView, @Nullable android.webkit.WebViewRenderProcess);
+  }
+
+}
+
+package android.widget {
+
+  public abstract class AbsListView extends android.widget.AdapterView<android.widget.ListAdapter> implements android.widget.Filter.FilterListener android.text.TextWatcher android.view.ViewTreeObserver.OnGlobalLayoutListener android.view.ViewTreeObserver.OnTouchModeChangeListener {
+    ctor public AbsListView(android.content.Context);
+    ctor public AbsListView(android.content.Context, android.util.AttributeSet);
+    ctor public AbsListView(android.content.Context, android.util.AttributeSet, int);
+    ctor public AbsListView(android.content.Context, android.util.AttributeSet, int, int);
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public boolean canScrollList(int);
+    method public void clearChoices();
+    method public void clearTextFilter();
+    method public void deferNotifyDataSetChanged();
+    method public void fling(int);
+    method public android.widget.AbsListView.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method @ColorInt public int getBottomEdgeEffectColor();
+    method @ColorInt public int getCacheColorHint();
+    method public int getCheckedItemCount();
+    method public long[] getCheckedItemIds();
+    method public int getCheckedItemPosition();
+    method public android.util.SparseBooleanArray getCheckedItemPositions();
+    method public int getChoiceMode();
+    method public int getListPaddingBottom();
+    method public int getListPaddingLeft();
+    method public int getListPaddingRight();
+    method public int getListPaddingTop();
+    method public android.view.View getSelectedView();
+    method public android.graphics.drawable.Drawable getSelector();
+    method public CharSequence getTextFilter();
+    method @ColorInt public int getTopEdgeEffectColor();
+    method public int getTranscriptMode();
+    method protected void handleDataChanged();
+    method public boolean hasTextFilter();
+    method public void invalidateViews();
+    method public boolean isDrawSelectorOnTop();
+    method public boolean isFastScrollAlwaysVisible();
+    method public boolean isFastScrollEnabled();
+    method protected boolean isInFilterMode();
+    method public boolean isItemChecked(int);
+    method public boolean isScrollingCacheEnabled();
+    method public boolean isSmoothScrollbarEnabled();
+    method public boolean isStackFromBottom();
+    method public boolean isTextFilterEnabled();
+    method protected void layoutChildren();
+    method public void onFilterComplete(int);
+    method public void onGlobalLayout();
+    method public void onInitializeAccessibilityNodeInfoForItem(android.view.View, int, android.view.accessibility.AccessibilityNodeInfo);
+    method public boolean onRemoteAdapterConnected();
+    method public void onRemoteAdapterDisconnected();
+    method public void onRestoreInstanceState(android.os.Parcelable);
+    method public android.os.Parcelable onSaveInstanceState();
+    method public void onTextChanged(CharSequence, int, int, int);
+    method public void onTouchModeChanged(boolean);
+    method public int pointToPosition(int, int);
+    method public long pointToRowId(int, int);
+    method public void reclaimViews(java.util.List<android.view.View>);
+    method public void scrollListBy(int);
+    method public void setAdapter(android.widget.ListAdapter);
+    method public void setBottomEdgeEffectColor(@ColorInt int);
+    method public void setCacheColorHint(@ColorInt int);
+    method public void setChoiceMode(int);
+    method public void setDrawSelectorOnTop(boolean);
+    method public void setEdgeEffectColor(@ColorInt int);
+    method public void setFastScrollAlwaysVisible(boolean);
+    method public void setFastScrollEnabled(boolean);
+    method public void setFastScrollStyle(int);
+    method public void setFilterText(String);
+    method public void setFriction(float);
+    method public void setItemChecked(int, boolean);
+    method public void setMultiChoiceModeListener(android.widget.AbsListView.MultiChoiceModeListener);
+    method public void setOnScrollListener(android.widget.AbsListView.OnScrollListener);
+    method public void setRecyclerListener(android.widget.AbsListView.RecyclerListener);
+    method public void setRemoteViewsAdapter(android.content.Intent);
+    method public void setScrollIndicators(android.view.View, android.view.View);
+    method public void setScrollingCacheEnabled(boolean);
+    method public void setSelectionFromTop(int, int);
+    method public void setSelector(@DrawableRes int);
+    method public void setSelector(android.graphics.drawable.Drawable);
+    method public void setSmoothScrollbarEnabled(boolean);
+    method public void setStackFromBottom(boolean);
+    method public void setTextFilterEnabled(boolean);
+    method public void setTopEdgeEffectColor(@ColorInt int);
+    method public void setTranscriptMode(int);
+    method public void setVelocityScale(float);
+    method public void smoothScrollBy(int, int);
+    method public void smoothScrollToPosition(int);
+    method public void smoothScrollToPosition(int, int);
+    method public void smoothScrollToPositionFromTop(int, int, int);
+    method public void smoothScrollToPositionFromTop(int, int);
+    method public boolean verifyDrawable(@NonNull android.graphics.drawable.Drawable);
+    field public static final int CHOICE_MODE_MULTIPLE = 2; // 0x2
+    field public static final int CHOICE_MODE_MULTIPLE_MODAL = 3; // 0x3
+    field public static final int CHOICE_MODE_NONE = 0; // 0x0
+    field public static final int CHOICE_MODE_SINGLE = 1; // 0x1
+    field public static final int TRANSCRIPT_MODE_ALWAYS_SCROLL = 2; // 0x2
+    field public static final int TRANSCRIPT_MODE_DISABLED = 0; // 0x0
+    field public static final int TRANSCRIPT_MODE_NORMAL = 1; // 0x1
+  }
+
+  public static class AbsListView.LayoutParams extends android.view.ViewGroup.LayoutParams {
+    ctor public AbsListView.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public AbsListView.LayoutParams(int, int);
+    ctor public AbsListView.LayoutParams(int, int, int);
+    ctor public AbsListView.LayoutParams(android.view.ViewGroup.LayoutParams);
+  }
+
+  public static interface AbsListView.MultiChoiceModeListener extends android.view.ActionMode.Callback {
+    method public void onItemCheckedStateChanged(android.view.ActionMode, int, long, boolean);
+  }
+
+  public static interface AbsListView.OnScrollListener {
+    method public void onScroll(android.widget.AbsListView, int, int, int);
+    method public void onScrollStateChanged(android.widget.AbsListView, int);
+    field public static final int SCROLL_STATE_FLING = 2; // 0x2
+    field public static final int SCROLL_STATE_IDLE = 0; // 0x0
+    field public static final int SCROLL_STATE_TOUCH_SCROLL = 1; // 0x1
+  }
+
+  public static interface AbsListView.RecyclerListener {
+    method public void onMovedToScrapHeap(android.view.View);
+  }
+
+  public static interface AbsListView.SelectionBoundsAdjuster {
+    method public void adjustListItemSelectionBounds(android.graphics.Rect);
+  }
+
+  public abstract class AbsSeekBar extends android.widget.ProgressBar {
+    ctor public AbsSeekBar(android.content.Context);
+    ctor public AbsSeekBar(android.content.Context, android.util.AttributeSet);
+    ctor public AbsSeekBar(android.content.Context, android.util.AttributeSet, int);
+    ctor public AbsSeekBar(android.content.Context, android.util.AttributeSet, int, int);
+    method public int getKeyProgressIncrement();
+    method public boolean getSplitTrack();
+    method public android.graphics.drawable.Drawable getThumb();
+    method public int getThumbOffset();
+    method @Nullable public android.graphics.BlendMode getThumbTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getThumbTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getThumbTintMode();
+    method public android.graphics.drawable.Drawable getTickMark();
+    method @Nullable public android.graphics.BlendMode getTickMarkTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getTickMarkTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getTickMarkTintMode();
+    method public void setKeyProgressIncrement(int);
+    method public void setSplitTrack(boolean);
+    method public void setThumb(android.graphics.drawable.Drawable);
+    method public void setThumbOffset(int);
+    method public void setThumbTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setThumbTintList(@Nullable android.content.res.ColorStateList);
+    method public void setThumbTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setTickMark(android.graphics.drawable.Drawable);
+    method public void setTickMarkTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setTickMarkTintList(@Nullable android.content.res.ColorStateList);
+    method public void setTickMarkTintMode(@Nullable android.graphics.PorterDuff.Mode);
+  }
+
+  public abstract class AbsSpinner extends android.widget.AdapterView<android.widget.SpinnerAdapter> {
+    ctor public AbsSpinner(android.content.Context);
+    ctor public AbsSpinner(android.content.Context, android.util.AttributeSet);
+    ctor public AbsSpinner(android.content.Context, android.util.AttributeSet, int);
+    ctor public AbsSpinner(android.content.Context, android.util.AttributeSet, int, int);
+    method public android.widget.SpinnerAdapter getAdapter();
+    method public android.view.View getSelectedView();
+    method public void onRestoreInstanceState(android.os.Parcelable);
+    method public android.os.Parcelable onSaveInstanceState();
+    method public int pointToPosition(int, int);
+    method public void setAdapter(android.widget.SpinnerAdapter);
+    method public void setSelection(int, boolean);
+    method public void setSelection(int);
+  }
+
+  @Deprecated @android.widget.RemoteViews.RemoteView public class AbsoluteLayout extends android.view.ViewGroup {
+    ctor @Deprecated public AbsoluteLayout(android.content.Context);
+    ctor @Deprecated public AbsoluteLayout(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public AbsoluteLayout(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public AbsoluteLayout(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  @Deprecated public static class AbsoluteLayout.LayoutParams extends android.view.ViewGroup.LayoutParams {
+    ctor @Deprecated public AbsoluteLayout.LayoutParams(int, int, int, int);
+    ctor @Deprecated public AbsoluteLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public AbsoluteLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+    method @Deprecated public String debug(String);
+    field @Deprecated public int x;
+    field @Deprecated public int y;
+  }
+
+  public class ActionMenuView extends android.widget.LinearLayout {
+    ctor public ActionMenuView(android.content.Context);
+    ctor public ActionMenuView(android.content.Context, android.util.AttributeSet);
+    method public void dismissPopupMenus();
+    method protected android.widget.ActionMenuView.LayoutParams generateDefaultLayoutParams();
+    method public android.widget.ActionMenuView.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method protected android.widget.ActionMenuView.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public android.view.Menu getMenu();
+    method @Nullable public android.graphics.drawable.Drawable getOverflowIcon();
+    method public int getPopupTheme();
+    method public boolean hideOverflowMenu();
+    method public boolean isOverflowMenuShowing();
+    method public void onConfigurationChanged(android.content.res.Configuration);
+    method public void onDetachedFromWindow();
+    method public void setOnMenuItemClickListener(android.widget.ActionMenuView.OnMenuItemClickListener);
+    method public void setOverflowIcon(@Nullable android.graphics.drawable.Drawable);
+    method public void setPopupTheme(@StyleRes int);
+    method public boolean showOverflowMenu();
+  }
+
+  public static class ActionMenuView.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+    ctor public ActionMenuView.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public ActionMenuView.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public ActionMenuView.LayoutParams(android.widget.ActionMenuView.LayoutParams);
+    ctor public ActionMenuView.LayoutParams(int, int);
+  }
+
+  public static interface ActionMenuView.OnMenuItemClickListener {
+    method public boolean onMenuItemClick(android.view.MenuItem);
+  }
+
+  public interface Adapter {
+    method @Nullable public default CharSequence[] getAutofillOptions();
+    method public int getCount();
+    method public Object getItem(int);
+    method public long getItemId(int);
+    method public int getItemViewType(int);
+    method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+    method public int getViewTypeCount();
+    method public boolean hasStableIds();
+    method public boolean isEmpty();
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+    field public static final int IGNORE_ITEM_VIEW_TYPE = -1; // 0xffffffff
+    field public static final int NO_SELECTION = -2147483648; // 0x80000000
+  }
+
+  public abstract class AdapterView<T extends android.widget.Adapter> extends android.view.ViewGroup {
+    ctor public AdapterView(android.content.Context);
+    ctor public AdapterView(android.content.Context, android.util.AttributeSet);
+    ctor public AdapterView(android.content.Context, android.util.AttributeSet, int);
+    ctor public AdapterView(android.content.Context, android.util.AttributeSet, int, int);
+    method public abstract T getAdapter();
+    method public int getCount();
+    method public android.view.View getEmptyView();
+    method public int getFirstVisiblePosition();
+    method public Object getItemAtPosition(int);
+    method public long getItemIdAtPosition(int);
+    method public int getLastVisiblePosition();
+    method @Nullable public final android.widget.AdapterView.OnItemClickListener getOnItemClickListener();
+    method public final android.widget.AdapterView.OnItemLongClickListener getOnItemLongClickListener();
+    method @Nullable public final android.widget.AdapterView.OnItemSelectedListener getOnItemSelectedListener();
+    method public int getPositionForView(android.view.View);
+    method public Object getSelectedItem();
+    method public long getSelectedItemId();
+    method public int getSelectedItemPosition();
+    method public abstract android.view.View getSelectedView();
+    method public boolean performItemClick(android.view.View, int, long);
+    method public abstract void setAdapter(T);
+    method public void setEmptyView(android.view.View);
+    method public void setOnItemClickListener(@Nullable android.widget.AdapterView.OnItemClickListener);
+    method public void setOnItemLongClickListener(android.widget.AdapterView.OnItemLongClickListener);
+    method public void setOnItemSelectedListener(@Nullable android.widget.AdapterView.OnItemSelectedListener);
+    method public abstract void setSelection(int);
+    field public static final int INVALID_POSITION = -1; // 0xffffffff
+    field public static final long INVALID_ROW_ID = -9223372036854775808L; // 0x8000000000000000L
+    field public static final int ITEM_VIEW_TYPE_HEADER_OR_FOOTER = -2; // 0xfffffffe
+    field public static final int ITEM_VIEW_TYPE_IGNORE = -1; // 0xffffffff
+  }
+
+  public static class AdapterView.AdapterContextMenuInfo implements android.view.ContextMenu.ContextMenuInfo {
+    ctor public AdapterView.AdapterContextMenuInfo(android.view.View, int, long);
+    field public long id;
+    field public int position;
+    field public android.view.View targetView;
+  }
+
+  public static interface AdapterView.OnItemClickListener {
+    method public void onItemClick(android.widget.AdapterView<?>, android.view.View, int, long);
+  }
+
+  public static interface AdapterView.OnItemLongClickListener {
+    method public boolean onItemLongClick(android.widget.AdapterView<?>, android.view.View, int, long);
+  }
+
+  public static interface AdapterView.OnItemSelectedListener {
+    method public void onItemSelected(android.widget.AdapterView<?>, android.view.View, int, long);
+    method public void onNothingSelected(android.widget.AdapterView<?>);
+  }
+
+  public abstract class AdapterViewAnimator extends android.widget.AdapterView<android.widget.Adapter> implements android.widget.Advanceable {
+    ctor public AdapterViewAnimator(android.content.Context);
+    ctor public AdapterViewAnimator(android.content.Context, android.util.AttributeSet);
+    ctor public AdapterViewAnimator(android.content.Context, android.util.AttributeSet, int);
+    ctor public AdapterViewAnimator(android.content.Context, android.util.AttributeSet, int, int);
+    method public void advance();
+    method public void deferNotifyDataSetChanged();
+    method public void fyiWillBeAdvancedByHostKThx();
+    method public android.widget.Adapter getAdapter();
+    method public android.view.View getCurrentView();
+    method public int getDisplayedChild();
+    method public android.animation.ObjectAnimator getInAnimation();
+    method public android.animation.ObjectAnimator getOutAnimation();
+    method public android.view.View getSelectedView();
+    method public boolean onRemoteAdapterConnected();
+    method public void onRemoteAdapterDisconnected();
+    method public void onRestoreInstanceState(android.os.Parcelable);
+    method public android.os.Parcelable onSaveInstanceState();
+    method public void setAdapter(android.widget.Adapter);
+    method public void setAnimateFirstView(boolean);
+    method public void setDisplayedChild(int);
+    method public void setInAnimation(android.animation.ObjectAnimator);
+    method public void setInAnimation(android.content.Context, int);
+    method public void setOutAnimation(android.animation.ObjectAnimator);
+    method public void setOutAnimation(android.content.Context, int);
+    method public void setRemoteViewsAdapter(android.content.Intent);
+    method public void setSelection(int);
+    method public void showNext();
+    method public void showPrevious();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class AdapterViewFlipper extends android.widget.AdapterViewAnimator {
+    ctor public AdapterViewFlipper(android.content.Context);
+    ctor public AdapterViewFlipper(android.content.Context, android.util.AttributeSet);
+    ctor public AdapterViewFlipper(android.content.Context, android.util.AttributeSet, int);
+    ctor public AdapterViewFlipper(android.content.Context, android.util.AttributeSet, int, int);
+    method public int getFlipInterval();
+    method public boolean isAutoStart();
+    method public boolean isFlipping();
+    method public void setAutoStart(boolean);
+    method public void setFlipInterval(int);
+    method public void startFlipping();
+    method public void stopFlipping();
+  }
+
+  public interface Advanceable {
+    method public void advance();
+    method public void fyiWillBeAdvancedByHostKThx();
+  }
+
+  public class AlphabetIndexer extends android.database.DataSetObserver implements android.widget.SectionIndexer {
+    ctor public AlphabetIndexer(android.database.Cursor, int, CharSequence);
+    method protected int compare(String, String);
+    method public int getPositionForSection(int);
+    method public int getSectionForPosition(int);
+    method public Object[] getSections();
+    method public void setCursor(android.database.Cursor);
+    field protected CharSequence mAlphabet;
+    field protected int mColumnIndex;
+    field protected android.database.Cursor mDataCursor;
+  }
+
+  @Deprecated @android.widget.RemoteViews.RemoteView public class AnalogClock extends android.view.View {
+    ctor @Deprecated public AnalogClock(android.content.Context);
+    ctor @Deprecated public AnalogClock(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public AnalogClock(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public AnalogClock(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated @Nullable public android.graphics.BlendMode getDialTintBlendMode();
+    method @Deprecated @Nullable public android.content.res.ColorStateList getDialTintList();
+    method @Deprecated @Nullable public android.graphics.BlendMode getHourHandTintBlendMode();
+    method @Deprecated @Nullable public android.content.res.ColorStateList getHourHandTintList();
+    method @Deprecated @Nullable public android.graphics.BlendMode getMinuteHandTintBlendMode();
+    method @Deprecated @Nullable public android.content.res.ColorStateList getMinuteHandTintList();
+    method @Deprecated @Nullable public android.graphics.BlendMode getSecondHandTintBlendMode();
+    method @Deprecated @Nullable public android.content.res.ColorStateList getSecondHandTintList();
+    method @Deprecated @Nullable public String getTimeZone();
+    method @Deprecated public void setDial(@NonNull android.graphics.drawable.Icon);
+    method @Deprecated public void setDialTintBlendMode(@Nullable android.graphics.BlendMode);
+    method @Deprecated public void setDialTintList(@Nullable android.content.res.ColorStateList);
+    method @Deprecated public void setHourHand(@NonNull android.graphics.drawable.Icon);
+    method @Deprecated public void setHourHandTintBlendMode(@Nullable android.graphics.BlendMode);
+    method @Deprecated public void setHourHandTintList(@Nullable android.content.res.ColorStateList);
+    method @Deprecated public void setMinuteHand(@NonNull android.graphics.drawable.Icon);
+    method @Deprecated public void setMinuteHandTintBlendMode(@Nullable android.graphics.BlendMode);
+    method @Deprecated public void setMinuteHandTintList(@Nullable android.content.res.ColorStateList);
+    method @Deprecated public void setSecondHand(@Nullable android.graphics.drawable.Icon);
+    method @Deprecated public void setSecondHandTintBlendMode(@Nullable android.graphics.BlendMode);
+    method @Deprecated public void setSecondHandTintList(@Nullable android.content.res.ColorStateList);
+    method @Deprecated public void setTimeZone(@Nullable String);
+  }
+
+  public class ArrayAdapter<T> extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int);
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int, @IdRes int);
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int, @NonNull T[]);
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int, @IdRes int, @NonNull T[]);
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int, @NonNull java.util.List<T>);
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int, @IdRes int, @NonNull java.util.List<T>);
+    method public void add(@Nullable T);
+    method public void addAll(@NonNull java.util.Collection<? extends T>);
+    method public void addAll(T...);
+    method public void clear();
+    method @NonNull public static android.widget.ArrayAdapter<java.lang.CharSequence> createFromResource(@NonNull android.content.Context, @ArrayRes int, @LayoutRes int);
+    method @NonNull public android.content.Context getContext();
+    method public int getCount();
+    method @Nullable public android.content.res.Resources.Theme getDropDownViewTheme();
+    method @NonNull public android.widget.Filter getFilter();
+    method @Nullable public T getItem(int);
+    method public long getItemId(int);
+    method public int getPosition(@Nullable T);
+    method @NonNull public android.view.View getView(int, @Nullable android.view.View, @NonNull android.view.ViewGroup);
+    method public void insert(@Nullable T, int);
+    method public void remove(@Nullable T);
+    method public void setDropDownViewResource(@LayoutRes int);
+    method public void setDropDownViewTheme(@Nullable android.content.res.Resources.Theme);
+    method public void setNotifyOnChange(boolean);
+    method public void sort(@NonNull java.util.Comparator<? super T>);
+  }
+
+  public class AutoCompleteTextView extends android.widget.EditText implements android.widget.Filter.FilterListener {
+    ctor public AutoCompleteTextView(android.content.Context);
+    ctor public AutoCompleteTextView(android.content.Context, android.util.AttributeSet);
+    ctor public AutoCompleteTextView(android.content.Context, android.util.AttributeSet, int);
+    ctor public AutoCompleteTextView(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public AutoCompleteTextView(android.content.Context, android.util.AttributeSet, int, int, android.content.res.Resources.Theme);
+    method public void clearListSelection();
+    method protected CharSequence convertSelectionToString(Object);
+    method public void dismissDropDown();
+    method public boolean enoughToFilter();
+    method public android.widget.ListAdapter getAdapter();
+    method public CharSequence getCompletionHint();
+    method public int getDropDownAnchor();
+    method public android.graphics.drawable.Drawable getDropDownBackground();
+    method public int getDropDownHeight();
+    method public int getDropDownHorizontalOffset();
+    method public int getDropDownVerticalOffset();
+    method public int getDropDownWidth();
+    method protected android.widget.Filter getFilter();
+    method public int getInputMethodMode();
+    method @Deprecated public android.widget.AdapterView.OnItemClickListener getItemClickListener();
+    method @Deprecated public android.widget.AdapterView.OnItemSelectedListener getItemSelectedListener();
+    method public int getListSelection();
+    method public android.widget.AdapterView.OnItemClickListener getOnItemClickListener();
+    method public android.widget.AdapterView.OnItemSelectedListener getOnItemSelectedListener();
+    method public int getThreshold();
+    method public android.widget.AutoCompleteTextView.Validator getValidator();
+    method public boolean isPerformingCompletion();
+    method public boolean isPopupShowing();
+    method public void onFilterComplete(int);
+    method public void performCompletion();
+    method protected void performFiltering(CharSequence, int);
+    method public void performValidation();
+    method public final void refreshAutoCompleteResults();
+    method protected void replaceText(CharSequence);
+    method public <T extends android.widget.ListAdapter & android.widget.Filterable> void setAdapter(T);
+    method public void setCompletionHint(CharSequence);
+    method public void setDropDownAnchor(int);
+    method public void setDropDownBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setDropDownBackgroundResource(@DrawableRes int);
+    method public void setDropDownHeight(int);
+    method public void setDropDownHorizontalOffset(int);
+    method public void setDropDownVerticalOffset(int);
+    method public void setDropDownWidth(int);
+    method public void setInputMethodMode(int);
+    method public void setListSelection(int);
+    method public void setOnDismissListener(android.widget.AutoCompleteTextView.OnDismissListener);
+    method public void setOnItemClickListener(android.widget.AdapterView.OnItemClickListener);
+    method public void setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener);
+    method public void setText(CharSequence, boolean);
+    method public void setThreshold(int);
+    method public void setValidator(android.widget.AutoCompleteTextView.Validator);
+    method public void showDropDown();
+  }
+
+  public static interface AutoCompleteTextView.OnDismissListener {
+    method public void onDismiss();
+  }
+
+  public static interface AutoCompleteTextView.Validator {
+    method public CharSequence fixText(CharSequence);
+    method public boolean isValid(CharSequence);
+  }
+
+  public abstract class BaseAdapter implements android.widget.ListAdapter android.widget.SpinnerAdapter {
+    ctor public BaseAdapter();
+    method public boolean areAllItemsEnabled();
+    method public android.view.View getDropDownView(int, android.view.View, android.view.ViewGroup);
+    method public int getItemViewType(int);
+    method public int getViewTypeCount();
+    method public boolean hasStableIds();
+    method public boolean isEmpty();
+    method public boolean isEnabled(int);
+    method public void notifyDataSetChanged();
+    method public void notifyDataSetInvalidated();
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public void setAutofillOptions(@Nullable java.lang.CharSequence...);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  public abstract class BaseExpandableListAdapter implements android.widget.ExpandableListAdapter android.widget.HeterogeneousExpandableList {
+    ctor public BaseExpandableListAdapter();
+    method public boolean areAllItemsEnabled();
+    method public int getChildType(int, int);
+    method public int getChildTypeCount();
+    method public long getCombinedChildId(long, long);
+    method public long getCombinedGroupId(long);
+    method public int getGroupType(int);
+    method public int getGroupTypeCount();
+    method public boolean isEmpty();
+    method public void notifyDataSetChanged();
+    method public void notifyDataSetInvalidated();
+    method public void onGroupCollapsed(int);
+    method public void onGroupExpanded(int);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class Button extends android.widget.TextView {
+    ctor public Button(android.content.Context);
+    ctor public Button(android.content.Context, android.util.AttributeSet);
+    ctor public Button(android.content.Context, android.util.AttributeSet, int);
+    ctor public Button(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  public class CalendarView extends android.widget.FrameLayout {
+    ctor public CalendarView(@NonNull android.content.Context);
+    ctor public CalendarView(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public CalendarView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int);
+    ctor public CalendarView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int, @StyleRes int);
+    method public long getDate();
+    method @StyleRes public int getDateTextAppearance();
+    method public int getFirstDayOfWeek();
+    method @Deprecated @ColorInt public int getFocusedMonthDateColor();
+    method public long getMaxDate();
+    method public long getMinDate();
+    method @Deprecated public android.graphics.drawable.Drawable getSelectedDateVerticalBar();
+    method @Deprecated @ColorInt public int getSelectedWeekBackgroundColor();
+    method @Deprecated public boolean getShowWeekNumber();
+    method @Deprecated public int getShownWeekCount();
+    method @Deprecated @ColorInt public int getUnfocusedMonthDateColor();
+    method @StyleRes public int getWeekDayTextAppearance();
+    method @Deprecated @ColorInt public int getWeekNumberColor();
+    method @Deprecated @ColorInt public int getWeekSeparatorLineColor();
+    method public void setDate(long);
+    method public void setDate(long, boolean, boolean);
+    method public void setDateTextAppearance(@StyleRes int);
+    method public void setFirstDayOfWeek(int);
+    method @Deprecated public void setFocusedMonthDateColor(@ColorInt int);
+    method public void setMaxDate(long);
+    method public void setMinDate(long);
+    method public void setOnDateChangeListener(android.widget.CalendarView.OnDateChangeListener);
+    method @Deprecated public void setSelectedDateVerticalBar(@DrawableRes int);
+    method @Deprecated public void setSelectedDateVerticalBar(android.graphics.drawable.Drawable);
+    method @Deprecated public void setSelectedWeekBackgroundColor(@ColorInt int);
+    method @Deprecated public void setShowWeekNumber(boolean);
+    method @Deprecated public void setShownWeekCount(int);
+    method @Deprecated public void setUnfocusedMonthDateColor(@ColorInt int);
+    method public void setWeekDayTextAppearance(@StyleRes int);
+    method @Deprecated public void setWeekNumberColor(@ColorInt int);
+    method @Deprecated public void setWeekSeparatorLineColor(@ColorInt int);
+  }
+
+  public static interface CalendarView.OnDateChangeListener {
+    method public void onSelectedDayChange(@NonNull android.widget.CalendarView, int, int, int);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class CheckBox extends android.widget.CompoundButton {
+    ctor public CheckBox(android.content.Context);
+    ctor public CheckBox(android.content.Context, android.util.AttributeSet);
+    ctor public CheckBox(android.content.Context, android.util.AttributeSet, int);
+    ctor public CheckBox(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  public interface Checkable {
+    method public boolean isChecked();
+    method public void setChecked(boolean);
+    method public void toggle();
+  }
+
+  public class CheckedTextView extends android.widget.TextView implements android.widget.Checkable {
+    ctor public CheckedTextView(android.content.Context);
+    ctor public CheckedTextView(android.content.Context, android.util.AttributeSet);
+    ctor public CheckedTextView(android.content.Context, android.util.AttributeSet, int);
+    ctor public CheckedTextView(android.content.Context, android.util.AttributeSet, int, int);
+    method public android.graphics.drawable.Drawable getCheckMarkDrawable();
+    method @Nullable public android.graphics.BlendMode getCheckMarkTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getCheckMarkTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getCheckMarkTintMode();
+    method public boolean isChecked();
+    method public void setCheckMarkDrawable(@DrawableRes int);
+    method public void setCheckMarkDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setCheckMarkTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setCheckMarkTintList(@Nullable android.content.res.ColorStateList);
+    method public void setCheckMarkTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setChecked(boolean);
+    method public void toggle();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class Chronometer extends android.widget.TextView {
+    ctor public Chronometer(android.content.Context);
+    ctor public Chronometer(android.content.Context, android.util.AttributeSet);
+    ctor public Chronometer(android.content.Context, android.util.AttributeSet, int);
+    ctor public Chronometer(android.content.Context, android.util.AttributeSet, int, int);
+    method public long getBase();
+    method public String getFormat();
+    method public android.widget.Chronometer.OnChronometerTickListener getOnChronometerTickListener();
+    method public boolean isCountDown();
+    method public boolean isTheFinalCountDown();
+    method public void setBase(long);
+    method public void setCountDown(boolean);
+    method public void setFormat(String);
+    method public void setOnChronometerTickListener(android.widget.Chronometer.OnChronometerTickListener);
+    method public void start();
+    method public void stop();
+  }
+
+  public static interface Chronometer.OnChronometerTickListener {
+    method public void onChronometerTick(android.widget.Chronometer);
+  }
+
+  public abstract class CompoundButton extends android.widget.Button implements android.widget.Checkable {
+    ctor public CompoundButton(android.content.Context);
+    ctor public CompoundButton(android.content.Context, android.util.AttributeSet);
+    ctor public CompoundButton(android.content.Context, android.util.AttributeSet, int);
+    ctor public CompoundButton(android.content.Context, android.util.AttributeSet, int, int);
+    method @Nullable public android.graphics.drawable.Drawable getButtonDrawable();
+    method @Nullable public android.graphics.BlendMode getButtonTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getButtonTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getButtonTintMode();
+    method public boolean isChecked();
+    method public void setButtonDrawable(@DrawableRes int);
+    method public void setButtonDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setButtonIcon(@Nullable android.graphics.drawable.Icon);
+    method public void setButtonTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setButtonTintList(@Nullable android.content.res.ColorStateList);
+    method public void setButtonTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setChecked(boolean);
+    method public void setOnCheckedChangeListener(@Nullable android.widget.CompoundButton.OnCheckedChangeListener);
+    method public void toggle();
+  }
+
+  public static interface CompoundButton.OnCheckedChangeListener {
+    method public void onCheckedChanged(android.widget.CompoundButton, boolean);
+  }
+
+  public abstract class CursorAdapter extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
+    ctor @Deprecated public CursorAdapter(android.content.Context, android.database.Cursor);
+    ctor public CursorAdapter(android.content.Context, android.database.Cursor, boolean);
+    ctor public CursorAdapter(android.content.Context, android.database.Cursor, int);
+    method public abstract void bindView(android.view.View, android.content.Context, android.database.Cursor);
+    method public void changeCursor(android.database.Cursor);
+    method public CharSequence convertToString(android.database.Cursor);
+    method public int getCount();
+    method public android.database.Cursor getCursor();
+    method public android.content.res.Resources.Theme getDropDownViewTheme();
+    method public android.widget.Filter getFilter();
+    method public android.widget.FilterQueryProvider getFilterQueryProvider();
+    method public Object getItem(int);
+    method public long getItemId(int);
+    method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+    method @Deprecated protected void init(android.content.Context, android.database.Cursor, boolean);
+    method public android.view.View newDropDownView(android.content.Context, android.database.Cursor, android.view.ViewGroup);
+    method public abstract android.view.View newView(android.content.Context, android.database.Cursor, android.view.ViewGroup);
+    method protected void onContentChanged();
+    method @WorkerThread public android.database.Cursor runQueryOnBackgroundThread(CharSequence);
+    method public void setDropDownViewTheme(android.content.res.Resources.Theme);
+    method public void setFilterQueryProvider(android.widget.FilterQueryProvider);
+    method public android.database.Cursor swapCursor(android.database.Cursor);
+    field @Deprecated public static final int FLAG_AUTO_REQUERY = 1; // 0x1
+    field public static final int FLAG_REGISTER_CONTENT_OBSERVER = 2; // 0x2
+  }
+
+  public abstract class CursorTreeAdapter extends android.widget.BaseExpandableListAdapter implements android.widget.Filterable {
+    ctor public CursorTreeAdapter(android.database.Cursor, android.content.Context);
+    ctor public CursorTreeAdapter(android.database.Cursor, android.content.Context, boolean);
+    method protected abstract void bindChildView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+    method protected abstract void bindGroupView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+    method public void changeCursor(android.database.Cursor);
+    method public String convertToString(android.database.Cursor);
+    method public android.database.Cursor getChild(int, int);
+    method public long getChildId(int, int);
+    method public android.view.View getChildView(int, int, boolean, android.view.View, android.view.ViewGroup);
+    method public int getChildrenCount(int);
+    method protected abstract android.database.Cursor getChildrenCursor(android.database.Cursor);
+    method public android.database.Cursor getCursor();
+    method public android.widget.Filter getFilter();
+    method public android.widget.FilterQueryProvider getFilterQueryProvider();
+    method public android.database.Cursor getGroup(int);
+    method public int getGroupCount();
+    method public long getGroupId(int);
+    method public android.view.View getGroupView(int, boolean, android.view.View, android.view.ViewGroup);
+    method public boolean hasStableIds();
+    method public boolean isChildSelectable(int, int);
+    method protected abstract android.view.View newChildView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+    method protected abstract android.view.View newGroupView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+    method public void notifyDataSetChanged(boolean);
+    method public android.database.Cursor runQueryOnBackgroundThread(CharSequence);
+    method public void setChildrenCursor(int, android.database.Cursor);
+    method public void setFilterQueryProvider(android.widget.FilterQueryProvider);
+    method public void setGroupCursor(android.database.Cursor);
+  }
+
+  public class DatePicker extends android.widget.FrameLayout {
+    ctor public DatePicker(android.content.Context);
+    ctor public DatePicker(android.content.Context, android.util.AttributeSet);
+    ctor public DatePicker(android.content.Context, android.util.AttributeSet, int);
+    ctor public DatePicker(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public android.widget.CalendarView getCalendarView();
+    method @Deprecated public boolean getCalendarViewShown();
+    method public int getDayOfMonth();
+    method public int getFirstDayOfWeek();
+    method public long getMaxDate();
+    method public long getMinDate();
+    method public int getMonth();
+    method @Deprecated public boolean getSpinnersShown();
+    method public int getYear();
+    method public void init(int, int, int, android.widget.DatePicker.OnDateChangedListener);
+    method @Deprecated public void setCalendarViewShown(boolean);
+    method public void setFirstDayOfWeek(int);
+    method public void setMaxDate(long);
+    method public void setMinDate(long);
+    method public void setOnDateChangedListener(android.widget.DatePicker.OnDateChangedListener);
+    method @Deprecated public void setSpinnersShown(boolean);
+    method public void updateDate(int, int, int);
+  }
+
+  public static interface DatePicker.OnDateChangedListener {
+    method public void onDateChanged(android.widget.DatePicker, int, int, int);
+  }
+
+  @Deprecated public class DialerFilter extends android.widget.RelativeLayout {
+    ctor @Deprecated public DialerFilter(android.content.Context);
+    ctor @Deprecated public DialerFilter(android.content.Context, android.util.AttributeSet);
+    method @Deprecated public void append(String);
+    method @Deprecated public void clearText();
+    method @Deprecated public CharSequence getDigits();
+    method @Deprecated public CharSequence getFilterText();
+    method @Deprecated public CharSequence getLetters();
+    method @Deprecated public int getMode();
+    method @Deprecated public boolean isQwertyKeyboard();
+    method @Deprecated protected void onModeChange(int, int);
+    method @Deprecated public void removeFilterWatcher(android.text.TextWatcher);
+    method @Deprecated public void setDigitsWatcher(android.text.TextWatcher);
+    method @Deprecated public void setFilterWatcher(android.text.TextWatcher);
+    method @Deprecated public void setLettersWatcher(android.text.TextWatcher);
+    method @Deprecated public void setMode(int);
+    field @Deprecated public static final int DIGITS_AND_LETTERS = 1; // 0x1
+    field @Deprecated public static final int DIGITS_AND_LETTERS_NO_DIGITS = 2; // 0x2
+    field @Deprecated public static final int DIGITS_AND_LETTERS_NO_LETTERS = 3; // 0x3
+    field @Deprecated public static final int DIGITS_ONLY = 4; // 0x4
+    field @Deprecated public static final int LETTERS_ONLY = 5; // 0x5
+  }
+
+  @Deprecated public class DigitalClock extends android.widget.TextView {
+    ctor @Deprecated public DigitalClock(android.content.Context);
+    ctor @Deprecated public DigitalClock(android.content.Context, android.util.AttributeSet);
+  }
+
+  public class EdgeEffect {
+    ctor public EdgeEffect(android.content.Context);
+    ctor public EdgeEffect(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    method public boolean draw(android.graphics.Canvas);
+    method public void finish();
+    method @Nullable public android.graphics.BlendMode getBlendMode();
+    method @ColorInt public int getColor();
+    method public float getDistance();
+    method public int getMaxHeight();
+    method public boolean isFinished();
+    method public void onAbsorb(int);
+    method public void onPull(float);
+    method public void onPull(float, float);
+    method public float onPullDistance(float, float);
+    method public void onRelease();
+    method public void setBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setColor(@ColorInt int);
+    method public void setSize(int, int);
+    field public static final android.graphics.BlendMode DEFAULT_BLEND_MODE;
+  }
+
+  public class EditText extends android.widget.TextView {
+    ctor public EditText(android.content.Context);
+    ctor public EditText(android.content.Context, android.util.AttributeSet);
+    ctor public EditText(android.content.Context, android.util.AttributeSet, int);
+    ctor public EditText(android.content.Context, android.util.AttributeSet, int, int);
+    method public void extendSelection(int);
+    method public android.text.Editable getText();
+    method public void selectAll();
+    method public void setSelection(int, int);
+    method public void setSelection(int);
+  }
+
+  public interface ExpandableListAdapter {
+    method public boolean areAllItemsEnabled();
+    method public Object getChild(int, int);
+    method public long getChildId(int, int);
+    method public android.view.View getChildView(int, int, boolean, android.view.View, android.view.ViewGroup);
+    method public int getChildrenCount(int);
+    method public long getCombinedChildId(long, long);
+    method public long getCombinedGroupId(long);
+    method public Object getGroup(int);
+    method public int getGroupCount();
+    method public long getGroupId(int);
+    method public android.view.View getGroupView(int, boolean, android.view.View, android.view.ViewGroup);
+    method public boolean hasStableIds();
+    method public boolean isChildSelectable(int, int);
+    method public boolean isEmpty();
+    method public void onGroupCollapsed(int);
+    method public void onGroupExpanded(int);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  public class ExpandableListView extends android.widget.ListView {
+    ctor public ExpandableListView(android.content.Context);
+    ctor public ExpandableListView(android.content.Context, android.util.AttributeSet);
+    ctor public ExpandableListView(android.content.Context, android.util.AttributeSet, int);
+    ctor public ExpandableListView(android.content.Context, android.util.AttributeSet, int, int);
+    method public boolean collapseGroup(int);
+    method public boolean expandGroup(int);
+    method public boolean expandGroup(int, boolean);
+    method public android.widget.ExpandableListAdapter getExpandableListAdapter();
+    method public long getExpandableListPosition(int);
+    method public int getFlatListPosition(long);
+    method public static int getPackedPositionChild(long);
+    method public static long getPackedPositionForChild(int, int);
+    method public static long getPackedPositionForGroup(int);
+    method public static int getPackedPositionGroup(long);
+    method public static int getPackedPositionType(long);
+    method public long getSelectedId();
+    method public long getSelectedPosition();
+    method public boolean isGroupExpanded(int);
+    method public void setAdapter(android.widget.ExpandableListAdapter);
+    method public void setChildDivider(android.graphics.drawable.Drawable);
+    method public void setChildIndicator(android.graphics.drawable.Drawable);
+    method public void setChildIndicatorBounds(int, int);
+    method public void setChildIndicatorBoundsRelative(int, int);
+    method public void setGroupIndicator(android.graphics.drawable.Drawable);
+    method public void setIndicatorBounds(int, int);
+    method public void setIndicatorBoundsRelative(int, int);
+    method public void setOnChildClickListener(android.widget.ExpandableListView.OnChildClickListener);
+    method public void setOnGroupClickListener(android.widget.ExpandableListView.OnGroupClickListener);
+    method public void setOnGroupCollapseListener(android.widget.ExpandableListView.OnGroupCollapseListener);
+    method public void setOnGroupExpandListener(android.widget.ExpandableListView.OnGroupExpandListener);
+    method public boolean setSelectedChild(int, int, boolean);
+    method public void setSelectedGroup(int);
+    field public static final int CHILD_INDICATOR_INHERIT = -1; // 0xffffffff
+    field public static final int PACKED_POSITION_TYPE_CHILD = 1; // 0x1
+    field public static final int PACKED_POSITION_TYPE_GROUP = 0; // 0x0
+    field public static final int PACKED_POSITION_TYPE_NULL = 2; // 0x2
+    field public static final long PACKED_POSITION_VALUE_NULL = 4294967295L; // 0xffffffffL
+  }
+
+  public static class ExpandableListView.ExpandableListContextMenuInfo implements android.view.ContextMenu.ContextMenuInfo {
+    ctor public ExpandableListView.ExpandableListContextMenuInfo(android.view.View, long, long);
+    field public long id;
+    field public long packedPosition;
+    field public android.view.View targetView;
+  }
+
+  public static interface ExpandableListView.OnChildClickListener {
+    method public boolean onChildClick(android.widget.ExpandableListView, android.view.View, int, int, long);
+  }
+
+  public static interface ExpandableListView.OnGroupClickListener {
+    method public boolean onGroupClick(android.widget.ExpandableListView, android.view.View, int, long);
+  }
+
+  public static interface ExpandableListView.OnGroupCollapseListener {
+    method public void onGroupCollapse(int);
+  }
+
+  public static interface ExpandableListView.OnGroupExpandListener {
+    method public void onGroupExpand(int);
+  }
+
+  public abstract class Filter {
+    ctor public Filter();
+    method public CharSequence convertResultToString(Object);
+    method public final void filter(CharSequence);
+    method public final void filter(CharSequence, android.widget.Filter.FilterListener);
+    method protected abstract android.widget.Filter.FilterResults performFiltering(CharSequence);
+    method protected abstract void publishResults(CharSequence, android.widget.Filter.FilterResults);
+  }
+
+  public static interface Filter.FilterListener {
+    method public void onFilterComplete(int);
+  }
+
+  protected static class Filter.FilterResults {
+    ctor public Filter.FilterResults();
+    field public int count;
+    field public Object values;
+  }
+
+  public interface FilterQueryProvider {
+    method public android.database.Cursor runQuery(CharSequence);
+  }
+
+  public interface Filterable {
+    method public android.widget.Filter getFilter();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class FrameLayout extends android.view.ViewGroup {
+    ctor public FrameLayout(@NonNull android.content.Context);
+    ctor public FrameLayout(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public FrameLayout(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int);
+    ctor public FrameLayout(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int, @StyleRes int);
+    method protected android.widget.FrameLayout.LayoutParams generateDefaultLayoutParams();
+    method public android.widget.FrameLayout.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method @Deprecated public boolean getConsiderGoneChildrenWhenMeasuring();
+    method public boolean getMeasureAllChildren();
+    method public void setMeasureAllChildren(boolean);
+  }
+
+  public static class FrameLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+    ctor public FrameLayout.LayoutParams(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public FrameLayout.LayoutParams(int, int);
+    ctor public FrameLayout.LayoutParams(int, int, int);
+    ctor public FrameLayout.LayoutParams(@NonNull android.view.ViewGroup.LayoutParams);
+    ctor public FrameLayout.LayoutParams(@NonNull android.view.ViewGroup.MarginLayoutParams);
+    ctor public FrameLayout.LayoutParams(@NonNull android.widget.FrameLayout.LayoutParams);
+    field public static final int UNSPECIFIED_GRAVITY = -1; // 0xffffffff
+    field public int gravity;
+  }
+
+  @Deprecated public class Gallery extends android.widget.AbsSpinner implements android.view.GestureDetector.OnGestureListener {
+    ctor @Deprecated public Gallery(android.content.Context);
+    ctor @Deprecated public Gallery(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public Gallery(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public Gallery(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public boolean onDown(android.view.MotionEvent);
+    method @Deprecated public boolean onFling(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method @Deprecated public void onLongPress(@NonNull android.view.MotionEvent);
+    method @Deprecated public boolean onScroll(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method @Deprecated public void onShowPress(android.view.MotionEvent);
+    method @Deprecated public boolean onSingleTapUp(android.view.MotionEvent);
+    method @Deprecated public void setAnimationDuration(int);
+    method @Deprecated public void setCallbackDuringFling(boolean);
+    method @Deprecated public void setGravity(int);
+    method @Deprecated public void setSpacing(int);
+    method @Deprecated public void setUnselectedAlpha(float);
+  }
+
+  @Deprecated public static class Gallery.LayoutParams extends android.view.ViewGroup.LayoutParams {
+    ctor @Deprecated public Gallery.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public Gallery.LayoutParams(int, int);
+    ctor @Deprecated public Gallery.LayoutParams(android.view.ViewGroup.LayoutParams);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class GridLayout extends android.view.ViewGroup {
+    ctor public GridLayout(android.content.Context);
+    ctor public GridLayout(android.content.Context, android.util.AttributeSet);
+    ctor public GridLayout(android.content.Context, android.util.AttributeSet, int);
+    ctor public GridLayout(android.content.Context, android.util.AttributeSet, int, int);
+    method protected android.widget.GridLayout.LayoutParams generateDefaultLayoutParams();
+    method public android.widget.GridLayout.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method protected android.widget.GridLayout.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public int getAlignmentMode();
+    method public int getColumnCount();
+    method public int getOrientation();
+    method public int getRowCount();
+    method public boolean getUseDefaultMargins();
+    method public boolean isColumnOrderPreserved();
+    method public boolean isRowOrderPreserved();
+    method public void setAlignmentMode(int);
+    method public void setColumnCount(int);
+    method public void setColumnOrderPreserved(boolean);
+    method public void setOrientation(int);
+    method public void setRowCount(int);
+    method public void setRowOrderPreserved(boolean);
+    method public void setUseDefaultMargins(boolean);
+    method public static android.widget.GridLayout.Spec spec(int, int, android.widget.GridLayout.Alignment, float);
+    method public static android.widget.GridLayout.Spec spec(int, android.widget.GridLayout.Alignment, float);
+    method public static android.widget.GridLayout.Spec spec(int, int, float);
+    method public static android.widget.GridLayout.Spec spec(int, float);
+    method public static android.widget.GridLayout.Spec spec(int, int, android.widget.GridLayout.Alignment);
+    method public static android.widget.GridLayout.Spec spec(int, android.widget.GridLayout.Alignment);
+    method public static android.widget.GridLayout.Spec spec(int, int);
+    method public static android.widget.GridLayout.Spec spec(int);
+    field public static final int ALIGN_BOUNDS = 0; // 0x0
+    field public static final int ALIGN_MARGINS = 1; // 0x1
+    field public static final android.widget.GridLayout.Alignment BASELINE;
+    field public static final android.widget.GridLayout.Alignment BOTTOM;
+    field public static final android.widget.GridLayout.Alignment CENTER;
+    field public static final android.widget.GridLayout.Alignment END;
+    field public static final android.widget.GridLayout.Alignment FILL;
+    field public static final int HORIZONTAL = 0; // 0x0
+    field public static final android.widget.GridLayout.Alignment LEFT;
+    field public static final android.widget.GridLayout.Alignment RIGHT;
+    field public static final android.widget.GridLayout.Alignment START;
+    field public static final android.widget.GridLayout.Alignment TOP;
+    field public static final int UNDEFINED = -2147483648; // 0x80000000
+    field public static final int VERTICAL = 1; // 0x1
+  }
+
+  public abstract static class GridLayout.Alignment {
+  }
+
+  public static class GridLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+    ctor public GridLayout.LayoutParams(android.widget.GridLayout.Spec, android.widget.GridLayout.Spec);
+    ctor public GridLayout.LayoutParams();
+    ctor public GridLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public GridLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    ctor public GridLayout.LayoutParams(android.widget.GridLayout.LayoutParams);
+    ctor public GridLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+    method public void setGravity(int);
+    field public android.widget.GridLayout.Spec columnSpec;
+    field public android.widget.GridLayout.Spec rowSpec;
+  }
+
+  public static class GridLayout.Spec {
+  }
+
+  @android.widget.RemoteViews.RemoteView public class GridView extends android.widget.AbsListView {
+    ctor public GridView(android.content.Context);
+    ctor public GridView(android.content.Context, android.util.AttributeSet);
+    ctor public GridView(android.content.Context, android.util.AttributeSet, int);
+    ctor public GridView(android.content.Context, android.util.AttributeSet, int, int);
+    method public android.widget.ListAdapter getAdapter();
+    method public int getColumnWidth();
+    method public int getGravity();
+    method public int getHorizontalSpacing();
+    method public int getNumColumns();
+    method public int getRequestedColumnWidth();
+    method public int getRequestedHorizontalSpacing();
+    method public int getStretchMode();
+    method public int getVerticalSpacing();
+    method public void setColumnWidth(int);
+    method public void setGravity(int);
+    method public void setHorizontalSpacing(int);
+    method public void setNumColumns(int);
+    method public void setSelection(int);
+    method public void setStretchMode(int);
+    method public void setVerticalSpacing(int);
+    method public void smoothScrollByOffset(int);
+    field public static final int AUTO_FIT = -1; // 0xffffffff
+    field public static final int NO_STRETCH = 0; // 0x0
+    field public static final int STRETCH_COLUMN_WIDTH = 2; // 0x2
+    field public static final int STRETCH_SPACING = 1; // 0x1
+    field public static final int STRETCH_SPACING_UNIFORM = 3; // 0x3
+  }
+
+  public class HeaderViewListAdapter implements android.widget.Filterable android.widget.WrapperListAdapter {
+    ctor public HeaderViewListAdapter(java.util.ArrayList<android.widget.ListView.FixedViewInfo>, java.util.ArrayList<android.widget.ListView.FixedViewInfo>, android.widget.ListAdapter);
+    method public boolean areAllItemsEnabled();
+    method public int getCount();
+    method public android.widget.Filter getFilter();
+    method public int getFootersCount();
+    method public int getHeadersCount();
+    method public Object getItem(int);
+    method public long getItemId(int);
+    method public int getItemViewType(int);
+    method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+    method public int getViewTypeCount();
+    method public android.widget.ListAdapter getWrappedAdapter();
+    method public boolean hasStableIds();
+    method public boolean isEmpty();
+    method public boolean isEnabled(int);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public boolean removeFooter(android.view.View);
+    method public boolean removeHeader(android.view.View);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  public interface HeterogeneousExpandableList {
+    method public int getChildType(int, int);
+    method public int getChildTypeCount();
+    method public int getGroupType(int);
+    method public int getGroupTypeCount();
+  }
+
+  public class HorizontalScrollView extends android.widget.FrameLayout {
+    ctor public HorizontalScrollView(android.content.Context);
+    ctor public HorizontalScrollView(android.content.Context, android.util.AttributeSet);
+    ctor public HorizontalScrollView(android.content.Context, android.util.AttributeSet, int);
+    ctor public HorizontalScrollView(android.content.Context, android.util.AttributeSet, int, int);
+    method public boolean arrowScroll(int);
+    method protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect);
+    method public boolean executeKeyEvent(android.view.KeyEvent);
+    method public void fling(int);
+    method public boolean fullScroll(int);
+    method @ColorInt public int getLeftEdgeEffectColor();
+    method public int getMaxScrollAmount();
+    method @ColorInt public int getRightEdgeEffectColor();
+    method public boolean isFillViewport();
+    method public boolean isSmoothScrollingEnabled();
+    method public boolean pageScroll(int);
+    method public void setEdgeEffectColor(@ColorInt int);
+    method public void setFillViewport(boolean);
+    method public void setLeftEdgeEffectColor(@ColorInt int);
+    method public void setRightEdgeEffectColor(@ColorInt int);
+    method public void setSmoothScrollingEnabled(boolean);
+    method public final void smoothScrollBy(int, int);
+    method public final void smoothScrollTo(int, int);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class ImageButton extends android.widget.ImageView {
+    ctor public ImageButton(android.content.Context);
+    ctor public ImageButton(android.content.Context, android.util.AttributeSet);
+    ctor public ImageButton(android.content.Context, android.util.AttributeSet, int);
+    ctor public ImageButton(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  public class ImageSwitcher extends android.widget.ViewSwitcher {
+    ctor public ImageSwitcher(android.content.Context);
+    ctor public ImageSwitcher(android.content.Context, android.util.AttributeSet);
+    method public void setImageDrawable(android.graphics.drawable.Drawable);
+    method public void setImageResource(@DrawableRes int);
+    method public void setImageURI(android.net.Uri);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class ImageView extends android.view.View {
+    ctor public ImageView(android.content.Context);
+    ctor public ImageView(android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public ImageView(android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public ImageView(android.content.Context, @Nullable android.util.AttributeSet, int, int);
+    method public void animateTransform(@Nullable android.graphics.Matrix);
+    method public final void clearColorFilter();
+    method public boolean getAdjustViewBounds();
+    method public boolean getBaselineAlignBottom();
+    method public android.graphics.ColorFilter getColorFilter();
+    method public boolean getCropToPadding();
+    method public android.graphics.drawable.Drawable getDrawable();
+    method public int getImageAlpha();
+    method public android.graphics.Matrix getImageMatrix();
+    method @Nullable public android.graphics.BlendMode getImageTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getImageTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getImageTintMode();
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public android.widget.ImageView.ScaleType getScaleType();
+    method public int[] onCreateDrawableState(int);
+    method public void setAdjustViewBounds(boolean);
+    method @Deprecated public void setAlpha(int);
+    method public void setBaseline(int);
+    method public void setBaselineAlignBottom(boolean);
+    method public final void setColorFilter(int, android.graphics.PorterDuff.Mode);
+    method public final void setColorFilter(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setCropToPadding(boolean);
+    method protected boolean setFrame(int, int, int, int);
+    method public void setImageAlpha(int);
+    method public void setImageBitmap(android.graphics.Bitmap);
+    method public void setImageDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setImageIcon(@Nullable android.graphics.drawable.Icon);
+    method public void setImageLevel(int);
+    method public void setImageMatrix(android.graphics.Matrix);
+    method public void setImageResource(@DrawableRes int);
+    method public void setImageState(int[], boolean);
+    method public void setImageTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setImageTintList(@Nullable android.content.res.ColorStateList);
+    method public void setImageTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setImageURI(@Nullable android.net.Uri);
+    method public void setMaxHeight(int);
+    method public void setMaxWidth(int);
+    method public void setScaleType(android.widget.ImageView.ScaleType);
+  }
+
+  public enum ImageView.ScaleType {
+    enum_constant public static final android.widget.ImageView.ScaleType CENTER;
+    enum_constant public static final android.widget.ImageView.ScaleType CENTER_CROP;
+    enum_constant public static final android.widget.ImageView.ScaleType CENTER_INSIDE;
+    enum_constant public static final android.widget.ImageView.ScaleType FIT_CENTER;
+    enum_constant public static final android.widget.ImageView.ScaleType FIT_END;
+    enum_constant public static final android.widget.ImageView.ScaleType FIT_START;
+    enum_constant public static final android.widget.ImageView.ScaleType FIT_XY;
+    enum_constant public static final android.widget.ImageView.ScaleType MATRIX;
+  }
+
+  @android.widget.RemoteViews.RemoteView public class LinearLayout extends android.view.ViewGroup {
+    ctor public LinearLayout(android.content.Context);
+    ctor public LinearLayout(android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public LinearLayout(android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public LinearLayout(android.content.Context, android.util.AttributeSet, int, int);
+    method protected android.widget.LinearLayout.LayoutParams generateDefaultLayoutParams();
+    method public android.widget.LinearLayout.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method protected android.widget.LinearLayout.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public int getBaselineAlignedChildIndex();
+    method public android.graphics.drawable.Drawable getDividerDrawable();
+    method public int getDividerPadding();
+    method public int getGravity();
+    method public int getOrientation();
+    method public int getShowDividers();
+    method public float getWeightSum();
+    method public boolean isBaselineAligned();
+    method public boolean isMeasureWithLargestChildEnabled();
+    method public void setBaselineAligned(boolean);
+    method public void setBaselineAlignedChildIndex(int);
+    method public void setDividerDrawable(android.graphics.drawable.Drawable);
+    method public void setDividerPadding(int);
+    method public void setGravity(int);
+    method public void setHorizontalGravity(int);
+    method public void setMeasureWithLargestChildEnabled(boolean);
+    method public void setOrientation(int);
+    method public void setShowDividers(int);
+    method public void setVerticalGravity(int);
+    method public void setWeightSum(float);
+    field public static final int HORIZONTAL = 0; // 0x0
+    field public static final int SHOW_DIVIDER_BEGINNING = 1; // 0x1
+    field public static final int SHOW_DIVIDER_END = 4; // 0x4
+    field public static final int SHOW_DIVIDER_MIDDLE = 2; // 0x2
+    field public static final int SHOW_DIVIDER_NONE = 0; // 0x0
+    field public static final int VERTICAL = 1; // 0x1
+  }
+
+  public static class LinearLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+    ctor public LinearLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public LinearLayout.LayoutParams(int, int);
+    ctor public LinearLayout.LayoutParams(int, int, float);
+    ctor public LinearLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public LinearLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    ctor public LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams);
+    method public String debug(String);
+    field public int gravity;
+    field public float weight;
+  }
+
+  public interface ListAdapter extends android.widget.Adapter {
+    method public boolean areAllItemsEnabled();
+    method public boolean isEnabled(int);
+  }
+
+  public class ListPopupWindow {
+    ctor public ListPopupWindow(@NonNull android.content.Context);
+    ctor public ListPopupWindow(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public ListPopupWindow(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int);
+    ctor public ListPopupWindow(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int, @StyleRes int);
+    method public void clearListSelection();
+    method public android.view.View.OnTouchListener createDragToOpenListener(android.view.View);
+    method public void dismiss();
+    method @Nullable public android.view.View getAnchorView();
+    method @StyleRes public int getAnimationStyle();
+    method @Nullable public android.graphics.drawable.Drawable getBackground();
+    method @Nullable public android.graphics.Rect getEpicenterBounds();
+    method public int getHeight();
+    method public int getHorizontalOffset();
+    method public int getInputMethodMode();
+    method @Nullable public android.widget.ListView getListView();
+    method public int getPromptPosition();
+    method @Nullable public Object getSelectedItem();
+    method public long getSelectedItemId();
+    method public int getSelectedItemPosition();
+    method @Nullable public android.view.View getSelectedView();
+    method public int getSoftInputMode();
+    method public int getVerticalOffset();
+    method public int getWidth();
+    method public boolean isInputMethodNotNeeded();
+    method public boolean isModal();
+    method public boolean isShowing();
+    method public boolean onKeyDown(int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyPreIme(int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyUp(int, @NonNull android.view.KeyEvent);
+    method public boolean performItemClick(int);
+    method public void postShow();
+    method public void setAdapter(@Nullable android.widget.ListAdapter);
+    method public void setAnchorView(@Nullable android.view.View);
+    method public void setAnimationStyle(@StyleRes int);
+    method public void setBackgroundDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setContentWidth(int);
+    method public void setDropDownGravity(int);
+    method public void setEpicenterBounds(@Nullable android.graphics.Rect);
+    method public void setHeight(int);
+    method public void setHorizontalOffset(int);
+    method public void setInputMethodMode(int);
+    method public void setListSelector(android.graphics.drawable.Drawable);
+    method public void setModal(boolean);
+    method public void setOnDismissListener(@Nullable android.widget.PopupWindow.OnDismissListener);
+    method public void setOnItemClickListener(@Nullable android.widget.AdapterView.OnItemClickListener);
+    method public void setOnItemSelectedListener(@Nullable android.widget.AdapterView.OnItemSelectedListener);
+    method public void setPromptPosition(int);
+    method public void setPromptView(@Nullable android.view.View);
+    method public void setSelection(int);
+    method public void setSoftInputMode(int);
+    method public void setVerticalOffset(int);
+    method public void setWidth(int);
+    method public void setWindowLayoutType(int);
+    method public void show();
+    field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0
+    field public static final int INPUT_METHOD_NEEDED = 1; // 0x1
+    field public static final int INPUT_METHOD_NOT_NEEDED = 2; // 0x2
+    field public static final int MATCH_PARENT = -1; // 0xffffffff
+    field public static final int POSITION_PROMPT_ABOVE = 0; // 0x0
+    field public static final int POSITION_PROMPT_BELOW = 1; // 0x1
+    field public static final int WRAP_CONTENT = -2; // 0xfffffffe
+  }
+
+  @android.widget.RemoteViews.RemoteView public class ListView extends android.widget.AbsListView {
+    ctor public ListView(android.content.Context);
+    ctor public ListView(android.content.Context, android.util.AttributeSet);
+    ctor public ListView(android.content.Context, android.util.AttributeSet, int);
+    ctor public ListView(android.content.Context, android.util.AttributeSet, int, int);
+    method public void addFooterView(android.view.View, Object, boolean);
+    method public void addFooterView(android.view.View);
+    method public void addHeaderView(android.view.View, Object, boolean);
+    method public void addHeaderView(android.view.View);
+    method public boolean areFooterDividersEnabled();
+    method public boolean areHeaderDividersEnabled();
+    method public android.widget.ListAdapter getAdapter();
+    method @Deprecated public long[] getCheckItemIds();
+    method @Nullable public android.graphics.drawable.Drawable getDivider();
+    method public int getDividerHeight();
+    method public int getFooterViewsCount();
+    method public int getHeaderViewsCount();
+    method public boolean getItemsCanFocus();
+    method public int getMaxScrollAmount();
+    method public android.graphics.drawable.Drawable getOverscrollFooter();
+    method public android.graphics.drawable.Drawable getOverscrollHeader();
+    method public boolean removeFooterView(android.view.View);
+    method public boolean removeHeaderView(android.view.View);
+    method public void setDivider(@Nullable android.graphics.drawable.Drawable);
+    method public void setDividerHeight(int);
+    method public void setFooterDividersEnabled(boolean);
+    method public void setHeaderDividersEnabled(boolean);
+    method public void setItemsCanFocus(boolean);
+    method public void setOverscrollFooter(android.graphics.drawable.Drawable);
+    method public void setOverscrollHeader(android.graphics.drawable.Drawable);
+    method public void setSelection(int);
+    method public void setSelectionAfterHeaderView();
+    method public void smoothScrollByOffset(int);
+  }
+
+  public class ListView.FixedViewInfo {
+    ctor public ListView.FixedViewInfo();
+    field public Object data;
+    field public boolean isSelectable;
+    field public android.view.View view;
+  }
+
+  @UiThread public final class Magnifier {
+    ctor @Deprecated public Magnifier(@NonNull android.view.View);
+    method public void dismiss();
+    method @Px public float getCornerRadius();
+    method @Px public int getDefaultHorizontalSourceToMagnifierOffset();
+    method @Px public int getDefaultVerticalSourceToMagnifierOffset();
+    method @Px public float getElevation();
+    method @Px public int getHeight();
+    method @Nullable public android.graphics.drawable.Drawable getOverlay();
+    method @Nullable public android.graphics.Point getPosition();
+    method @Px public int getSourceHeight();
+    method @Nullable public android.graphics.Point getSourcePosition();
+    method @Px public int getSourceWidth();
+    method @Px public int getWidth();
+    method public float getZoom();
+    method public boolean isClippingEnabled();
+    method public void setZoom(@FloatRange(from=0.0f) float);
+    method public void show(@FloatRange(from=0) float, @FloatRange(from=0) float);
+    method public void show(@FloatRange(from=0) float, @FloatRange(from=0) float, float, float);
+    method public void update();
+    field public static final int SOURCE_BOUND_MAX_IN_SURFACE = 0; // 0x0
+    field public static final int SOURCE_BOUND_MAX_VISIBLE = 1; // 0x1
+  }
+
+  public static final class Magnifier.Builder {
+    ctor public Magnifier.Builder(@NonNull android.view.View);
+    method @NonNull public android.widget.Magnifier build();
+    method @NonNull public android.widget.Magnifier.Builder setClippingEnabled(boolean);
+    method @NonNull public android.widget.Magnifier.Builder setCornerRadius(@FloatRange(from=0) @Px float);
+    method @NonNull public android.widget.Magnifier.Builder setDefaultSourceToMagnifierOffset(@Px int, @Px int);
+    method @NonNull public android.widget.Magnifier.Builder setElevation(@FloatRange(from=0) @Px float);
+    method @NonNull public android.widget.Magnifier.Builder setInitialZoom(@FloatRange(from=0.0f) float);
+    method @NonNull public android.widget.Magnifier.Builder setOverlay(@Nullable android.graphics.drawable.Drawable);
+    method @NonNull public android.widget.Magnifier.Builder setSize(@IntRange(from=0) @Px int, @IntRange(from=0) @Px int);
+    method @NonNull public android.widget.Magnifier.Builder setSourceBounds(int, int, int, int);
+  }
+
+  public class MediaController extends android.widget.FrameLayout {
+    ctor public MediaController(android.content.Context, android.util.AttributeSet);
+    ctor public MediaController(android.content.Context, boolean);
+    ctor public MediaController(android.content.Context);
+    method public void hide();
+    method public boolean isShowing();
+    method public void onFinishInflate();
+    method public void setAnchorView(android.view.View);
+    method public void setMediaPlayer(android.widget.MediaController.MediaPlayerControl);
+    method public void setPrevNextListeners(android.view.View.OnClickListener, android.view.View.OnClickListener);
+    method public void show();
+    method public void show(int);
+  }
+
+  public static interface MediaController.MediaPlayerControl {
+    method public boolean canPause();
+    method public boolean canSeekBackward();
+    method public boolean canSeekForward();
+    method public int getAudioSessionId();
+    method public int getBufferPercentage();
+    method public int getCurrentPosition();
+    method public int getDuration();
+    method public boolean isPlaying();
+    method public void pause();
+    method public void seekTo(int);
+    method public void start();
+  }
+
+  public class MultiAutoCompleteTextView extends android.widget.AutoCompleteTextView {
+    ctor public MultiAutoCompleteTextView(android.content.Context);
+    ctor public MultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet);
+    ctor public MultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet, int);
+    ctor public MultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet, int, int);
+    method protected void performFiltering(CharSequence, int, int, int);
+    method public void setTokenizer(android.widget.MultiAutoCompleteTextView.Tokenizer);
+  }
+
+  public static class MultiAutoCompleteTextView.CommaTokenizer implements android.widget.MultiAutoCompleteTextView.Tokenizer {
+    ctor public MultiAutoCompleteTextView.CommaTokenizer();
+    method public int findTokenEnd(CharSequence, int);
+    method public int findTokenStart(CharSequence, int);
+    method public CharSequence terminateToken(CharSequence);
+  }
+
+  public static interface MultiAutoCompleteTextView.Tokenizer {
+    method public int findTokenEnd(CharSequence, int);
+    method public int findTokenStart(CharSequence, int);
+    method public CharSequence terminateToken(CharSequence);
+  }
+
+  public class NumberPicker extends android.widget.LinearLayout {
+    ctor public NumberPicker(android.content.Context);
+    ctor public NumberPicker(android.content.Context, android.util.AttributeSet);
+    ctor public NumberPicker(android.content.Context, android.util.AttributeSet, int);
+    ctor public NumberPicker(android.content.Context, android.util.AttributeSet, int, int);
+    method public String[] getDisplayedValues();
+    method public int getMaxValue();
+    method public int getMinValue();
+    method @Px public int getSelectionDividerHeight();
+    method @ColorInt public int getTextColor();
+    method @FloatRange(from=0.0, fromInclusive=false) public float getTextSize();
+    method public int getValue();
+    method public boolean getWrapSelectorWheel();
+    method public void setDisplayedValues(String[]);
+    method public void setFormatter(android.widget.NumberPicker.Formatter);
+    method public void setMaxValue(int);
+    method public void setMinValue(int);
+    method public void setOnLongPressUpdateInterval(long);
+    method public void setOnScrollListener(android.widget.NumberPicker.OnScrollListener);
+    method public void setOnValueChangedListener(android.widget.NumberPicker.OnValueChangeListener);
+    method public void setSelectionDividerHeight(@IntRange(from=0) @Px int);
+    method public void setTextColor(@ColorInt int);
+    method public void setTextSize(@FloatRange(from=0.0, fromInclusive=false) float);
+    method public void setValue(int);
+    method public void setWrapSelectorWheel(boolean);
+  }
+
+  public static interface NumberPicker.Formatter {
+    method public String format(int);
+  }
+
+  public static interface NumberPicker.OnScrollListener {
+    method public void onScrollStateChange(android.widget.NumberPicker, int);
+    field public static final int SCROLL_STATE_FLING = 2; // 0x2
+    field public static final int SCROLL_STATE_IDLE = 0; // 0x0
+    field public static final int SCROLL_STATE_TOUCH_SCROLL = 1; // 0x1
+  }
+
+  public static interface NumberPicker.OnValueChangeListener {
+    method public void onValueChange(android.widget.NumberPicker, int, int);
+  }
+
+  public class OverScroller {
+    ctor public OverScroller(android.content.Context);
+    ctor public OverScroller(android.content.Context, android.view.animation.Interpolator);
+    ctor @Deprecated public OverScroller(android.content.Context, android.view.animation.Interpolator, float, float);
+    ctor @Deprecated public OverScroller(android.content.Context, android.view.animation.Interpolator, float, float, boolean);
+    method public void abortAnimation();
+    method public boolean computeScrollOffset();
+    method public void fling(int, int, int, int, int, int, int, int);
+    method public void fling(int, int, int, int, int, int, int, int, int, int);
+    method public final void forceFinished(boolean);
+    method public float getCurrVelocity();
+    method public final int getCurrX();
+    method public final int getCurrY();
+    method public final int getFinalX();
+    method public final int getFinalY();
+    method public final int getStartX();
+    method public final int getStartY();
+    method public final boolean isFinished();
+    method public boolean isOverScrolled();
+    method public void notifyHorizontalEdgeReached(int, int, int);
+    method public void notifyVerticalEdgeReached(int, int, int);
+    method public final void setFriction(float);
+    method public boolean springBack(int, int, int, int, int, int);
+    method public void startScroll(int, int, int, int);
+    method public void startScroll(int, int, int, int, int);
+  }
+
+  public class PopupMenu {
+    ctor public PopupMenu(android.content.Context, android.view.View);
+    ctor public PopupMenu(android.content.Context, android.view.View, int);
+    ctor public PopupMenu(android.content.Context, android.view.View, int, int, int);
+    method public void dismiss();
+    method public android.view.View.OnTouchListener getDragToOpenListener();
+    method public int getGravity();
+    method public android.view.Menu getMenu();
+    method public android.view.MenuInflater getMenuInflater();
+    method public void inflate(@MenuRes int);
+    method public void setForceShowIcon(boolean);
+    method public void setGravity(int);
+    method public void setOnDismissListener(android.widget.PopupMenu.OnDismissListener);
+    method public void setOnMenuItemClickListener(android.widget.PopupMenu.OnMenuItemClickListener);
+    method public void show();
+  }
+
+  public static interface PopupMenu.OnDismissListener {
+    method public void onDismiss(android.widget.PopupMenu);
+  }
+
+  public static interface PopupMenu.OnMenuItemClickListener {
+    method public boolean onMenuItemClick(android.view.MenuItem);
+  }
+
+  public class PopupWindow {
+    ctor public PopupWindow(android.content.Context);
+    ctor public PopupWindow(android.content.Context, android.util.AttributeSet);
+    ctor public PopupWindow(android.content.Context, android.util.AttributeSet, int);
+    ctor public PopupWindow(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public PopupWindow();
+    ctor public PopupWindow(android.view.View);
+    ctor public PopupWindow(int, int);
+    ctor public PopupWindow(android.view.View, int, int);
+    ctor public PopupWindow(android.view.View, int, int, boolean);
+    method public void dismiss();
+    method public int getAnimationStyle();
+    method public android.graphics.drawable.Drawable getBackground();
+    method public android.view.View getContentView();
+    method public float getElevation();
+    method @Nullable public android.transition.Transition getEnterTransition();
+    method @Nullable public android.graphics.Rect getEpicenterBounds();
+    method @Nullable public android.transition.Transition getExitTransition();
+    method public int getHeight();
+    method public int getInputMethodMode();
+    method public int getMaxAvailableHeight(@NonNull android.view.View);
+    method public int getMaxAvailableHeight(@NonNull android.view.View, int);
+    method public int getMaxAvailableHeight(@NonNull android.view.View, int, boolean);
+    method public boolean getOverlapAnchor();
+    method public int getSoftInputMode();
+    method public int getWidth();
+    method public int getWindowLayoutType();
+    method public boolean isAboveAnchor();
+    method public boolean isAttachedInDecor();
+    method public boolean isClippedToScreen();
+    method public boolean isClippingEnabled();
+    method public boolean isFocusable();
+    method public boolean isLaidOutInScreen();
+    method public boolean isOutsideTouchable();
+    method public boolean isShowing();
+    method public boolean isSplitTouchEnabled();
+    method public boolean isTouchModal();
+    method public boolean isTouchable();
+    method public void setAnimationStyle(int);
+    method public void setAttachedInDecor(boolean);
+    method public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setClippingEnabled(boolean);
+    method public void setContentView(android.view.View);
+    method public void setElevation(float);
+    method public void setEnterTransition(@Nullable android.transition.Transition);
+    method public void setEpicenterBounds(@Nullable android.graphics.Rect);
+    method public void setExitTransition(@Nullable android.transition.Transition);
+    method public void setFocusable(boolean);
+    method public void setHeight(int);
+    method public void setIgnoreCheekPress();
+    method public void setInputMethodMode(int);
+    method public void setIsClippedToScreen(boolean);
+    method public void setIsLaidOutInScreen(boolean);
+    method public void setOnDismissListener(android.widget.PopupWindow.OnDismissListener);
+    method public void setOutsideTouchable(boolean);
+    method public void setOverlapAnchor(boolean);
+    method public void setSoftInputMode(int);
+    method public void setSplitTouchEnabled(boolean);
+    method public void setTouchInterceptor(android.view.View.OnTouchListener);
+    method public void setTouchModal(boolean);
+    method public void setTouchable(boolean);
+    method public void setWidth(int);
+    method @Deprecated public void setWindowLayoutMode(int, int);
+    method public void setWindowLayoutType(int);
+    method public void showAsDropDown(android.view.View);
+    method public void showAsDropDown(android.view.View, int, int);
+    method public void showAsDropDown(android.view.View, int, int, int);
+    method public void showAtLocation(android.view.View, int, int, int);
+    method public void update();
+    method public void update(int, int);
+    method public void update(int, int, int, int);
+    method public void update(int, int, int, int, boolean);
+    method public void update(android.view.View, int, int);
+    method public void update(android.view.View, int, int, int, int);
+    field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0
+    field public static final int INPUT_METHOD_NEEDED = 1; // 0x1
+    field public static final int INPUT_METHOD_NOT_NEEDED = 2; // 0x2
+  }
+
+  public static interface PopupWindow.OnDismissListener {
+    method public void onDismiss();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class ProgressBar extends android.view.View {
+    ctor public ProgressBar(android.content.Context);
+    ctor public ProgressBar(android.content.Context, android.util.AttributeSet);
+    ctor public ProgressBar(android.content.Context, android.util.AttributeSet, int);
+    ctor public ProgressBar(android.content.Context, android.util.AttributeSet, int, int);
+    method @Nullable public android.graphics.drawable.Drawable getCurrentDrawable();
+    method public android.graphics.drawable.Drawable getIndeterminateDrawable();
+    method @Nullable public android.graphics.BlendMode getIndeterminateTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getIndeterminateTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getIndeterminateTintMode();
+    method public android.view.animation.Interpolator getInterpolator();
+    method public int getMax();
+    method @Px public int getMaxHeight();
+    method @Px public int getMaxWidth();
+    method public int getMin();
+    method @Px public int getMinHeight();
+    method @Px public int getMinWidth();
+    method public int getProgress();
+    method @Nullable public android.graphics.BlendMode getProgressBackgroundTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getProgressBackgroundTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getProgressBackgroundTintMode();
+    method public android.graphics.drawable.Drawable getProgressDrawable();
+    method @Nullable public android.graphics.BlendMode getProgressTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getProgressTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getProgressTintMode();
+    method public int getSecondaryProgress();
+    method @Nullable public android.graphics.BlendMode getSecondaryProgressTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getSecondaryProgressTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getSecondaryProgressTintMode();
+    method public final void incrementProgressBy(int);
+    method public final void incrementSecondaryProgressBy(int);
+    method public boolean isAnimating();
+    method public boolean isIndeterminate();
+    method public void onRestoreInstanceState(android.os.Parcelable);
+    method public android.os.Parcelable onSaveInstanceState();
+    method public void setIndeterminate(boolean);
+    method public void setIndeterminateDrawable(android.graphics.drawable.Drawable);
+    method public void setIndeterminateDrawableTiled(android.graphics.drawable.Drawable);
+    method public void setIndeterminateTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setIndeterminateTintList(@Nullable android.content.res.ColorStateList);
+    method public void setIndeterminateTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setInterpolator(android.content.Context, @InterpolatorRes int);
+    method public void setInterpolator(android.view.animation.Interpolator);
+    method public void setMax(int);
+    method public void setMaxHeight(@Px int);
+    method public void setMaxWidth(@Px int);
+    method public void setMin(int);
+    method public void setMinHeight(@Px int);
+    method public void setMinWidth(@Px int);
+    method public void setProgress(int);
+    method public void setProgress(int, boolean);
+    method public void setProgressBackgroundTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setProgressBackgroundTintList(@Nullable android.content.res.ColorStateList);
+    method public void setProgressBackgroundTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setProgressDrawable(android.graphics.drawable.Drawable);
+    method public void setProgressDrawableTiled(android.graphics.drawable.Drawable);
+    method public void setProgressTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setProgressTintList(@Nullable android.content.res.ColorStateList);
+    method public void setProgressTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setSecondaryProgress(int);
+    method public void setSecondaryProgressTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setSecondaryProgressTintList(@Nullable android.content.res.ColorStateList);
+    method public void setSecondaryProgressTintMode(@Nullable android.graphics.PorterDuff.Mode);
+  }
+
+  public class QuickContactBadge extends android.widget.ImageView implements android.view.View.OnClickListener {
+    ctor public QuickContactBadge(android.content.Context);
+    ctor public QuickContactBadge(android.content.Context, android.util.AttributeSet);
+    ctor public QuickContactBadge(android.content.Context, android.util.AttributeSet, int);
+    ctor public QuickContactBadge(android.content.Context, android.util.AttributeSet, int, int);
+    method public void assignContactFromEmail(String, boolean);
+    method public void assignContactFromEmail(String, boolean, android.os.Bundle);
+    method public void assignContactFromPhone(String, boolean);
+    method public void assignContactFromPhone(String, boolean, android.os.Bundle);
+    method public void assignContactUri(android.net.Uri);
+    method public void onClick(android.view.View);
+    method public void setExcludeMimes(String[]);
+    method public void setImageToDefault();
+    method public void setMode(int);
+    method public void setOverlay(android.graphics.drawable.Drawable);
+    method public void setPrioritizedMimeType(String);
+    field protected String[] mExcludeMimes;
+  }
+
+  @android.widget.RemoteViews.RemoteView public class RadioButton extends android.widget.CompoundButton {
+    ctor public RadioButton(android.content.Context);
+    ctor public RadioButton(android.content.Context, android.util.AttributeSet);
+    ctor public RadioButton(android.content.Context, android.util.AttributeSet, int);
+    ctor public RadioButton(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class RadioGroup extends android.widget.LinearLayout {
+    ctor public RadioGroup(android.content.Context);
+    ctor public RadioGroup(android.content.Context, android.util.AttributeSet);
+    method public void check(@IdRes int);
+    method public void clearCheck();
+    method public android.widget.RadioGroup.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method @IdRes public int getCheckedRadioButtonId();
+    method public void setOnCheckedChangeListener(android.widget.RadioGroup.OnCheckedChangeListener);
+  }
+
+  public static class RadioGroup.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+    ctor public RadioGroup.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public RadioGroup.LayoutParams(int, int);
+    ctor public RadioGroup.LayoutParams(int, int, float);
+    ctor public RadioGroup.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public RadioGroup.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+  }
+
+  public static interface RadioGroup.OnCheckedChangeListener {
+    method public void onCheckedChanged(android.widget.RadioGroup, @IdRes int);
+  }
+
+  public class RatingBar extends android.widget.AbsSeekBar {
+    ctor public RatingBar(android.content.Context, android.util.AttributeSet, int);
+    ctor public RatingBar(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public RatingBar(android.content.Context, android.util.AttributeSet);
+    ctor public RatingBar(android.content.Context);
+    method public int getNumStars();
+    method public android.widget.RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener();
+    method public float getRating();
+    method public float getStepSize();
+    method public boolean isIndicator();
+    method public void setIsIndicator(boolean);
+    method public void setNumStars(int);
+    method public void setOnRatingBarChangeListener(android.widget.RatingBar.OnRatingBarChangeListener);
+    method public void setRating(float);
+    method public void setStepSize(float);
+  }
+
+  public static interface RatingBar.OnRatingBarChangeListener {
+    method public void onRatingChanged(android.widget.RatingBar, float, boolean);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class RelativeLayout extends android.view.ViewGroup {
+    ctor public RelativeLayout(android.content.Context);
+    ctor public RelativeLayout(android.content.Context, android.util.AttributeSet);
+    ctor public RelativeLayout(android.content.Context, android.util.AttributeSet, int);
+    ctor public RelativeLayout(android.content.Context, android.util.AttributeSet, int, int);
+    method public android.widget.RelativeLayout.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method public int getGravity();
+    method public int getIgnoreGravity();
+    method public void setGravity(int);
+    method public void setHorizontalGravity(int);
+    method public void setIgnoreGravity(int);
+    method public void setVerticalGravity(int);
+    field public static final int ABOVE = 2; // 0x2
+    field public static final int ALIGN_BASELINE = 4; // 0x4
+    field public static final int ALIGN_BOTTOM = 8; // 0x8
+    field public static final int ALIGN_END = 19; // 0x13
+    field public static final int ALIGN_LEFT = 5; // 0x5
+    field public static final int ALIGN_PARENT_BOTTOM = 12; // 0xc
+    field public static final int ALIGN_PARENT_END = 21; // 0x15
+    field public static final int ALIGN_PARENT_LEFT = 9; // 0x9
+    field public static final int ALIGN_PARENT_RIGHT = 11; // 0xb
+    field public static final int ALIGN_PARENT_START = 20; // 0x14
+    field public static final int ALIGN_PARENT_TOP = 10; // 0xa
+    field public static final int ALIGN_RIGHT = 7; // 0x7
+    field public static final int ALIGN_START = 18; // 0x12
+    field public static final int ALIGN_TOP = 6; // 0x6
+    field public static final int BELOW = 3; // 0x3
+    field public static final int CENTER_HORIZONTAL = 14; // 0xe
+    field public static final int CENTER_IN_PARENT = 13; // 0xd
+    field public static final int CENTER_VERTICAL = 15; // 0xf
+    field public static final int END_OF = 17; // 0x11
+    field public static final int LEFT_OF = 0; // 0x0
+    field public static final int RIGHT_OF = 1; // 0x1
+    field public static final int START_OF = 16; // 0x10
+    field public static final int TRUE = -1; // 0xffffffff
+  }
+
+  public static class RelativeLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+    ctor public RelativeLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public RelativeLayout.LayoutParams(int, int);
+    ctor public RelativeLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public RelativeLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    ctor public RelativeLayout.LayoutParams(android.widget.RelativeLayout.LayoutParams);
+    method public void addRule(int);
+    method public void addRule(int, int);
+    method public String debug(String);
+    method public int getRule(int);
+    method public int[] getRules();
+    method public void removeRule(int);
+    field public boolean alignWithParent;
+  }
+
+  public class RemoteViews implements android.view.LayoutInflater.Filter android.os.Parcelable {
+    ctor public RemoteViews(String, int);
+    ctor public RemoteViews(@NonNull String, @LayoutRes int, @IdRes int);
+    ctor public RemoteViews(android.widget.RemoteViews, android.widget.RemoteViews);
+    ctor public RemoteViews(@NonNull java.util.Map<android.util.SizeF,android.widget.RemoteViews>);
+    ctor public RemoteViews(android.widget.RemoteViews);
+    ctor public RemoteViews(android.os.Parcel);
+    method public void addStableView(@IdRes int, @NonNull android.widget.RemoteViews, int);
+    method public void addView(@IdRes int, android.widget.RemoteViews);
+    method public android.view.View apply(android.content.Context, android.view.ViewGroup);
+    method @Deprecated public android.widget.RemoteViews clone();
+    method public int describeContents();
+    method public int getLayoutId();
+    method public String getPackage();
+    method @IdRes public int getViewId();
+    method @Deprecated public boolean onLoadClass(Class);
+    method public void reapply(android.content.Context, android.view.View);
+    method public void removeAllViews(@IdRes int);
+    method public void setAccessibilityTraversalAfter(@IdRes int, @IdRes int);
+    method public void setAccessibilityTraversalBefore(@IdRes int, @IdRes int);
+    method public void setBitmap(@IdRes int, String, android.graphics.Bitmap);
+    method public void setBlendMode(@IdRes int, @NonNull String, @Nullable android.graphics.BlendMode);
+    method public void setBoolean(@IdRes int, String, boolean);
+    method public void setBundle(@IdRes int, String, android.os.Bundle);
+    method public void setByte(@IdRes int, String, byte);
+    method public void setChar(@IdRes int, String, char);
+    method public void setCharSequence(@IdRes int, String, CharSequence);
+    method public void setCharSequence(@IdRes int, @NonNull String, @StringRes int);
+    method public void setCharSequenceAttr(@IdRes int, @NonNull String, @AttrRes int);
+    method public void setChronometer(@IdRes int, long, String, boolean);
+    method public void setChronometerCountDown(@IdRes int, boolean);
+    method public void setColor(@IdRes int, @NonNull String, @ColorRes int);
+    method public void setColorAttr(@IdRes int, @NonNull String, @AttrRes int);
+    method public void setColorInt(@IdRes int, @NonNull String, @ColorInt int, @ColorInt int);
+    method public void setColorStateList(@IdRes int, @NonNull String, @Nullable android.content.res.ColorStateList);
+    method public void setColorStateList(@IdRes int, @NonNull String, @Nullable android.content.res.ColorStateList, @Nullable android.content.res.ColorStateList);
+    method public void setColorStateList(@IdRes int, @NonNull String, @ColorRes int);
+    method public void setColorStateListAttr(@IdRes int, @NonNull String, @AttrRes int);
+    method public void setCompoundButtonChecked(@IdRes int, boolean);
+    method public void setContentDescription(@IdRes int, CharSequence);
+    method public void setDisplayedChild(@IdRes int, int);
+    method public void setDouble(@IdRes int, String, double);
+    method public void setEmptyView(@IdRes int, @IdRes int);
+    method public void setFloat(@IdRes int, String, float);
+    method public void setFloatDimen(@IdRes int, @NonNull String, @DimenRes int);
+    method public void setFloatDimen(@IdRes int, @NonNull String, float, int);
+    method public void setFloatDimenAttr(@IdRes int, @NonNull String, @AttrRes int);
+    method public void setIcon(@IdRes int, String, android.graphics.drawable.Icon);
+    method public void setIcon(@IdRes int, @NonNull String, @Nullable android.graphics.drawable.Icon, @Nullable android.graphics.drawable.Icon);
+    method public void setImageViewBitmap(@IdRes int, android.graphics.Bitmap);
+    method public void setImageViewIcon(@IdRes int, android.graphics.drawable.Icon);
+    method public void setImageViewResource(@IdRes int, @DrawableRes int);
+    method public void setImageViewUri(@IdRes int, android.net.Uri);
+    method public void setInt(@IdRes int, String, int);
+    method public void setIntDimen(@IdRes int, @NonNull String, @DimenRes int);
+    method public void setIntDimen(@IdRes int, @NonNull String, float, int);
+    method public void setIntDimenAttr(@IdRes int, @NonNull String, @AttrRes int);
+    method public void setIntent(@IdRes int, String, android.content.Intent);
+    method public void setLabelFor(@IdRes int, @IdRes int);
+    method public void setLightBackgroundLayoutId(@LayoutRes int);
+    method public void setLong(@IdRes int, String, long);
+    method public void setOnCheckedChangeResponse(@IdRes int, @NonNull android.widget.RemoteViews.RemoteResponse);
+    method public void setOnClickFillInIntent(@IdRes int, android.content.Intent);
+    method public void setOnClickPendingIntent(@IdRes int, android.app.PendingIntent);
+    method public void setOnClickResponse(@IdRes int, @NonNull android.widget.RemoteViews.RemoteResponse);
+    method public void setPendingIntentTemplate(@IdRes int, android.app.PendingIntent);
+    method public void setProgressBar(@IdRes int, int, int, boolean);
+    method public void setRadioGroupChecked(@IdRes int, @IdRes int);
+    method public void setRelativeScrollPosition(@IdRes int, int);
+    method @Deprecated public void setRemoteAdapter(int, @IdRes int, android.content.Intent);
+    method public void setRemoteAdapter(@IdRes int, android.content.Intent);
+    method public void setRemoteAdapter(@IdRes int, @NonNull android.widget.RemoteViews.RemoteCollectionItems);
+    method public void setScrollPosition(@IdRes int, int);
+    method public void setShort(@IdRes int, String, short);
+    method public void setString(@IdRes int, String, String);
+    method public void setTextColor(@IdRes int, @ColorInt int);
+    method public void setTextViewCompoundDrawables(@IdRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
+    method public void setTextViewCompoundDrawablesRelative(@IdRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
+    method public void setTextViewText(@IdRes int, CharSequence);
+    method public void setTextViewTextSize(@IdRes int, int, float);
+    method public void setUri(@IdRes int, String, android.net.Uri);
+    method public void setViewLayoutHeight(@IdRes int, float, int);
+    method public void setViewLayoutHeightAttr(@IdRes int, @AttrRes int);
+    method public void setViewLayoutHeightDimen(@IdRes int, @DimenRes int);
+    method public void setViewLayoutMargin(@IdRes int, int, float, int);
+    method public void setViewLayoutMarginAttr(@IdRes int, int, @AttrRes int);
+    method public void setViewLayoutMarginDimen(@IdRes int, int, @DimenRes int);
+    method public void setViewLayoutWidth(@IdRes int, float, int);
+    method public void setViewLayoutWidthAttr(@IdRes int, @AttrRes int);
+    method public void setViewLayoutWidthDimen(@IdRes int, @DimenRes int);
+    method public void setViewOutlinePreferredRadius(@IdRes int, float, int);
+    method public void setViewOutlinePreferredRadiusAttr(@IdRes int, @AttrRes int);
+    method public void setViewOutlinePreferredRadiusDimen(@IdRes int, @DimenRes int);
+    method public void setViewPadding(@IdRes int, @Px int, @Px int, @Px int, @Px int);
+    method public void setViewVisibility(@IdRes int, int);
+    method public void showNext(@IdRes int);
+    method public void showPrevious(@IdRes int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.widget.RemoteViews> CREATOR;
+    field public static final String EXTRA_CHECKED = "android.widget.extra.CHECKED";
+    field public static final String EXTRA_SHARED_ELEMENT_BOUNDS = "android.widget.extra.SHARED_ELEMENT_BOUNDS";
+    field public static final int MARGIN_BOTTOM = 3; // 0x3
+    field public static final int MARGIN_END = 5; // 0x5
+    field public static final int MARGIN_LEFT = 0; // 0x0
+    field public static final int MARGIN_RIGHT = 2; // 0x2
+    field public static final int MARGIN_START = 4; // 0x4
+    field public static final int MARGIN_TOP = 1; // 0x1
+  }
+
+  public static class RemoteViews.ActionException extends java.lang.RuntimeException {
+    ctor public RemoteViews.ActionException(Exception);
+    ctor public RemoteViews.ActionException(String);
+  }
+
+  public static final class RemoteViews.RemoteCollectionItems implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getItemCount();
+    method public long getItemId(int);
+    method @NonNull public android.widget.RemoteViews getItemView(int);
+    method public int getViewTypeCount();
+    method public boolean hasStableIds();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.widget.RemoteViews.RemoteCollectionItems> CREATOR;
+  }
+
+  public static final class RemoteViews.RemoteCollectionItems.Builder {
+    ctor public RemoteViews.RemoteCollectionItems.Builder();
+    method @NonNull public android.widget.RemoteViews.RemoteCollectionItems.Builder addItem(long, @NonNull android.widget.RemoteViews);
+    method @NonNull public android.widget.RemoteViews.RemoteCollectionItems build();
+    method @NonNull public android.widget.RemoteViews.RemoteCollectionItems.Builder setHasStableIds(boolean);
+    method @NonNull public android.widget.RemoteViews.RemoteCollectionItems.Builder setViewTypeCount(int);
+  }
+
+  public static class RemoteViews.RemoteResponse {
+    ctor public RemoteViews.RemoteResponse();
+    method @NonNull public android.widget.RemoteViews.RemoteResponse addSharedElement(@IdRes int, @NonNull String);
+    method @NonNull public static android.widget.RemoteViews.RemoteResponse fromFillInIntent(@NonNull android.content.Intent);
+    method @NonNull public static android.widget.RemoteViews.RemoteResponse fromPendingIntent(@NonNull android.app.PendingIntent);
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface RemoteViews.RemoteView {
+  }
+
+  public static final class RemoteViews.RemoteViewOutlineProvider extends android.view.ViewOutlineProvider {
+    ctor public RemoteViews.RemoteViewOutlineProvider(float);
+    method public void getOutline(@NonNull android.view.View, @NonNull android.graphics.Outline);
+    method public float getRadius();
+  }
+
+  public abstract class RemoteViewsService extends android.app.Service {
+    ctor public RemoteViewsService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract android.widget.RemoteViewsService.RemoteViewsFactory onGetViewFactory(android.content.Intent);
+  }
+
+  public static interface RemoteViewsService.RemoteViewsFactory {
+    method public int getCount();
+    method public long getItemId(int);
+    method public android.widget.RemoteViews getLoadingView();
+    method public android.widget.RemoteViews getViewAt(int);
+    method public int getViewTypeCount();
+    method public boolean hasStableIds();
+    method public void onCreate();
+    method public void onDataSetChanged();
+    method public void onDestroy();
+  }
+
+  public abstract class ResourceCursorAdapter extends android.widget.CursorAdapter {
+    ctor @Deprecated public ResourceCursorAdapter(android.content.Context, int, android.database.Cursor);
+    ctor public ResourceCursorAdapter(android.content.Context, int, android.database.Cursor, boolean);
+    ctor public ResourceCursorAdapter(android.content.Context, int, android.database.Cursor, int);
+    method public android.view.View newView(android.content.Context, android.database.Cursor, android.view.ViewGroup);
+    method public void setDropDownViewResource(int);
+    method public void setViewResource(int);
+  }
+
+  public abstract class ResourceCursorTreeAdapter extends android.widget.CursorTreeAdapter {
+    ctor public ResourceCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, int, int);
+    ctor public ResourceCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, int);
+    ctor public ResourceCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int);
+    method public android.view.View newChildView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+    method public android.view.View newGroupView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+  }
+
+  public class ScrollView extends android.widget.FrameLayout {
+    ctor public ScrollView(android.content.Context);
+    ctor public ScrollView(android.content.Context, android.util.AttributeSet);
+    ctor public ScrollView(android.content.Context, android.util.AttributeSet, int);
+    ctor public ScrollView(android.content.Context, android.util.AttributeSet, int, int);
+    method public boolean arrowScroll(int);
+    method protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect);
+    method public boolean executeKeyEvent(android.view.KeyEvent);
+    method public void fling(int);
+    method public boolean fullScroll(int);
+    method @ColorInt public int getBottomEdgeEffectColor();
+    method public int getMaxScrollAmount();
+    method @ColorInt public int getTopEdgeEffectColor();
+    method public boolean isFillViewport();
+    method public boolean isSmoothScrollingEnabled();
+    method public boolean pageScroll(int);
+    method public void scrollToDescendant(@NonNull android.view.View);
+    method public void setBottomEdgeEffectColor(@ColorInt int);
+    method public void setEdgeEffectColor(@ColorInt int);
+    method public void setFillViewport(boolean);
+    method public void setSmoothScrollingEnabled(boolean);
+    method public void setTopEdgeEffectColor(@ColorInt int);
+    method public final void smoothScrollBy(int, int);
+    method public final void smoothScrollTo(int, int);
+  }
+
+  public class Scroller {
+    ctor public Scroller(android.content.Context);
+    ctor public Scroller(android.content.Context, android.view.animation.Interpolator);
+    ctor public Scroller(android.content.Context, android.view.animation.Interpolator, boolean);
+    method public void abortAnimation();
+    method public boolean computeScrollOffset();
+    method public void extendDuration(int);
+    method public void fling(int, int, int, int, int, int, int, int);
+    method public final void forceFinished(boolean);
+    method public float getCurrVelocity();
+    method public final int getCurrX();
+    method public final int getCurrY();
+    method public final int getDuration();
+    method public final int getFinalX();
+    method public final int getFinalY();
+    method public final int getStartX();
+    method public final int getStartY();
+    method public final boolean isFinished();
+    method public void setFinalX(int);
+    method public void setFinalY(int);
+    method public final void setFriction(float);
+    method public void startScroll(int, int, int, int);
+    method public void startScroll(int, int, int, int, int);
+    method public int timePassed();
+  }
+
+  public class SearchView extends android.widget.LinearLayout implements android.view.CollapsibleActionView {
+    ctor public SearchView(android.content.Context);
+    ctor public SearchView(android.content.Context, android.util.AttributeSet);
+    ctor public SearchView(android.content.Context, android.util.AttributeSet, int);
+    ctor public SearchView(android.content.Context, android.util.AttributeSet, int, int);
+    method public int getImeOptions();
+    method public int getInputType();
+    method public int getMaxWidth();
+    method public CharSequence getQuery();
+    method @Nullable public CharSequence getQueryHint();
+    method public android.widget.CursorAdapter getSuggestionsAdapter();
+    method @Deprecated public boolean isIconfiedByDefault();
+    method public boolean isIconified();
+    method public boolean isIconifiedByDefault();
+    method public boolean isQueryRefinementEnabled();
+    method public boolean isSubmitButtonEnabled();
+    method public void onActionViewCollapsed();
+    method public void onActionViewExpanded();
+    method public void setIconified(boolean);
+    method public void setIconifiedByDefault(boolean);
+    method public void setImeOptions(int);
+    method public void setInputType(int);
+    method public void setMaxWidth(int);
+    method public void setOnCloseListener(android.widget.SearchView.OnCloseListener);
+    method public void setOnQueryTextFocusChangeListener(android.view.View.OnFocusChangeListener);
+    method public void setOnQueryTextListener(android.widget.SearchView.OnQueryTextListener);
+    method public void setOnSearchClickListener(android.view.View.OnClickListener);
+    method public void setOnSuggestionListener(android.widget.SearchView.OnSuggestionListener);
+    method public void setQuery(CharSequence, boolean);
+    method public void setQueryHint(@Nullable CharSequence);
+    method public void setQueryRefinementEnabled(boolean);
+    method public void setSearchableInfo(android.app.SearchableInfo);
+    method public void setSubmitButtonEnabled(boolean);
+    method public void setSuggestionsAdapter(android.widget.CursorAdapter);
+  }
+
+  public static interface SearchView.OnCloseListener {
+    method public boolean onClose();
+  }
+
+  public static interface SearchView.OnQueryTextListener {
+    method public boolean onQueryTextChange(String);
+    method public boolean onQueryTextSubmit(String);
+  }
+
+  public static interface SearchView.OnSuggestionListener {
+    method public boolean onSuggestionClick(int);
+    method public boolean onSuggestionSelect(int);
+  }
+
+  public interface SectionIndexer {
+    method public int getPositionForSection(int);
+    method public int getSectionForPosition(int);
+    method public Object[] getSections();
+  }
+
+  public class SeekBar extends android.widget.AbsSeekBar {
+    ctor public SeekBar(android.content.Context);
+    ctor public SeekBar(android.content.Context, android.util.AttributeSet);
+    ctor public SeekBar(android.content.Context, android.util.AttributeSet, int);
+    ctor public SeekBar(android.content.Context, android.util.AttributeSet, int, int);
+    method public void setOnSeekBarChangeListener(android.widget.SeekBar.OnSeekBarChangeListener);
+  }
+
+  public static interface SeekBar.OnSeekBarChangeListener {
+    method public void onProgressChanged(android.widget.SeekBar, int, boolean);
+    method public void onStartTrackingTouch(android.widget.SeekBar);
+    method public void onStopTrackingTouch(android.widget.SeekBar);
+  }
+
+  public class ShareActionProvider extends android.view.ActionProvider {
+    ctor public ShareActionProvider(android.content.Context);
+    method public android.view.View onCreateActionView();
+    method public void setOnShareTargetSelectedListener(android.widget.ShareActionProvider.OnShareTargetSelectedListener);
+    method public void setShareHistoryFileName(String);
+    method public void setShareIntent(android.content.Intent);
+    field public static final String DEFAULT_SHARE_HISTORY_FILE_NAME = "share_history.xml";
+  }
+
+  public static interface ShareActionProvider.OnShareTargetSelectedListener {
+    method public boolean onShareTargetSelected(android.widget.ShareActionProvider, android.content.Intent);
+  }
+
+  public class SimpleAdapter extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
+    ctor public SimpleAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String,?>>, @LayoutRes int, String[], @IdRes int[]);
+    method public int getCount();
+    method public android.content.res.Resources.Theme getDropDownViewTheme();
+    method public android.widget.Filter getFilter();
+    method public Object getItem(int);
+    method public long getItemId(int);
+    method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+    method public android.widget.SimpleAdapter.ViewBinder getViewBinder();
+    method public void setDropDownViewResource(int);
+    method public void setDropDownViewTheme(android.content.res.Resources.Theme);
+    method public void setViewBinder(android.widget.SimpleAdapter.ViewBinder);
+    method public void setViewImage(android.widget.ImageView, int);
+    method public void setViewImage(android.widget.ImageView, String);
+    method public void setViewText(android.widget.TextView, String);
+  }
+
+  public static interface SimpleAdapter.ViewBinder {
+    method public boolean setViewValue(android.view.View, Object, String);
+  }
+
+  public class SimpleCursorAdapter extends android.widget.ResourceCursorAdapter {
+    ctor @Deprecated public SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, String[], int[]);
+    ctor public SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, String[], int[], int);
+    method public void bindView(android.view.View, android.content.Context, android.database.Cursor);
+    method public void changeCursorAndColumns(android.database.Cursor, String[], int[]);
+    method public android.widget.SimpleCursorAdapter.CursorToStringConverter getCursorToStringConverter();
+    method public int getStringConversionColumn();
+    method public android.widget.SimpleCursorAdapter.ViewBinder getViewBinder();
+    method public void setCursorToStringConverter(android.widget.SimpleCursorAdapter.CursorToStringConverter);
+    method public void setStringConversionColumn(int);
+    method public void setViewBinder(android.widget.SimpleCursorAdapter.ViewBinder);
+    method public void setViewImage(android.widget.ImageView, String);
+    method public void setViewText(android.widget.TextView, String);
+  }
+
+  public static interface SimpleCursorAdapter.CursorToStringConverter {
+    method public CharSequence convertToString(android.database.Cursor);
+  }
+
+  public static interface SimpleCursorAdapter.ViewBinder {
+    method public boolean setViewValue(android.view.View, android.database.Cursor, int);
+  }
+
+  public abstract class SimpleCursorTreeAdapter extends android.widget.ResourceCursorTreeAdapter {
+    ctor public SimpleCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, String[], int[], int, int, String[], int[]);
+    ctor public SimpleCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, String[], int[], int, String[], int[]);
+    ctor public SimpleCursorTreeAdapter(android.content.Context, android.database.Cursor, int, String[], int[], int, String[], int[]);
+    method protected void bindChildView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+    method protected void bindGroupView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+    method public android.widget.SimpleCursorTreeAdapter.ViewBinder getViewBinder();
+    method public void setViewBinder(android.widget.SimpleCursorTreeAdapter.ViewBinder);
+    method protected void setViewImage(android.widget.ImageView, String);
+    method public void setViewText(android.widget.TextView, String);
+  }
+
+  public static interface SimpleCursorTreeAdapter.ViewBinder {
+    method public boolean setViewValue(android.view.View, android.database.Cursor, int);
+  }
+
+  public class SimpleExpandableListAdapter extends android.widget.BaseExpandableListAdapter {
+    ctor public SimpleExpandableListAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String,?>>, int, String[], int[], java.util.List<? extends java.util.List<? extends java.util.Map<java.lang.String,?>>>, int, String[], int[]);
+    ctor public SimpleExpandableListAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String,?>>, int, int, String[], int[], java.util.List<? extends java.util.List<? extends java.util.Map<java.lang.String,?>>>, int, String[], int[]);
+    ctor public SimpleExpandableListAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String,?>>, int, int, String[], int[], java.util.List<? extends java.util.List<? extends java.util.Map<java.lang.String,?>>>, int, int, String[], int[]);
+    method public Object getChild(int, int);
+    method public long getChildId(int, int);
+    method public android.view.View getChildView(int, int, boolean, android.view.View, android.view.ViewGroup);
+    method public int getChildrenCount(int);
+    method public Object getGroup(int);
+    method public int getGroupCount();
+    method public long getGroupId(int);
+    method public android.view.View getGroupView(int, boolean, android.view.View, android.view.ViewGroup);
+    method public boolean hasStableIds();
+    method public boolean isChildSelectable(int, int);
+    method public android.view.View newChildView(boolean, android.view.ViewGroup);
+    method public android.view.View newGroupView(boolean, android.view.ViewGroup);
+  }
+
+  @Deprecated public class SlidingDrawer extends android.view.ViewGroup {
+    ctor @Deprecated public SlidingDrawer(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public SlidingDrawer(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public SlidingDrawer(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public void animateClose();
+    method @Deprecated public void animateOpen();
+    method @Deprecated public void animateToggle();
+    method @Deprecated public void close();
+    method @Deprecated public android.view.View getContent();
+    method @Deprecated public android.view.View getHandle();
+    method @Deprecated public boolean isMoving();
+    method @Deprecated public boolean isOpened();
+    method @Deprecated public void lock();
+    method @Deprecated public void open();
+    method @Deprecated public void setOnDrawerCloseListener(android.widget.SlidingDrawer.OnDrawerCloseListener);
+    method @Deprecated public void setOnDrawerOpenListener(android.widget.SlidingDrawer.OnDrawerOpenListener);
+    method @Deprecated public void setOnDrawerScrollListener(android.widget.SlidingDrawer.OnDrawerScrollListener);
+    method @Deprecated public void toggle();
+    method @Deprecated public void unlock();
+    field @Deprecated public static final int ORIENTATION_HORIZONTAL = 0; // 0x0
+    field @Deprecated public static final int ORIENTATION_VERTICAL = 1; // 0x1
+  }
+
+  @Deprecated public static interface SlidingDrawer.OnDrawerCloseListener {
+    method @Deprecated public void onDrawerClosed();
+  }
+
+  @Deprecated public static interface SlidingDrawer.OnDrawerOpenListener {
+    method @Deprecated public void onDrawerOpened();
+  }
+
+  @Deprecated public static interface SlidingDrawer.OnDrawerScrollListener {
+    method @Deprecated public void onScrollEnded();
+    method @Deprecated public void onScrollStarted();
+  }
+
+  public final class Space extends android.view.View {
+    ctor public Space(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public Space(android.content.Context, android.util.AttributeSet, int);
+    ctor public Space(android.content.Context, android.util.AttributeSet);
+    ctor public Space(android.content.Context);
+  }
+
+  public class Spinner extends android.widget.AbsSpinner implements android.content.DialogInterface.OnClickListener {
+    ctor public Spinner(android.content.Context);
+    ctor public Spinner(android.content.Context, int);
+    ctor public Spinner(android.content.Context, android.util.AttributeSet);
+    ctor public Spinner(android.content.Context, android.util.AttributeSet, int);
+    ctor public Spinner(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public Spinner(android.content.Context, android.util.AttributeSet, int, int, int);
+    ctor public Spinner(android.content.Context, android.util.AttributeSet, int, int, int, android.content.res.Resources.Theme);
+    method public int getDropDownHorizontalOffset();
+    method public int getDropDownVerticalOffset();
+    method public int getDropDownWidth();
+    method public int getGravity();
+    method public android.graphics.drawable.Drawable getPopupBackground();
+    method public android.content.Context getPopupContext();
+    method public CharSequence getPrompt();
+    method public void onClick(android.content.DialogInterface, int);
+    method public void setDropDownHorizontalOffset(int);
+    method public void setDropDownVerticalOffset(int);
+    method public void setDropDownWidth(int);
+    method public void setGravity(int);
+    method public void setPopupBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setPopupBackgroundResource(@DrawableRes int);
+    method public void setPrompt(CharSequence);
+    method public void setPromptId(int);
+    field public static final int MODE_DIALOG = 0; // 0x0
+    field public static final int MODE_DROPDOWN = 1; // 0x1
+  }
+
+  public interface SpinnerAdapter extends android.widget.Adapter {
+    method public android.view.View getDropDownView(int, android.view.View, android.view.ViewGroup);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class StackView extends android.widget.AdapterViewAnimator {
+    ctor public StackView(android.content.Context);
+    ctor public StackView(android.content.Context, android.util.AttributeSet);
+    ctor public StackView(android.content.Context, android.util.AttributeSet, int);
+    ctor public StackView(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class Switch extends android.widget.CompoundButton {
+    ctor public Switch(android.content.Context);
+    ctor public Switch(android.content.Context, android.util.AttributeSet);
+    ctor public Switch(android.content.Context, android.util.AttributeSet, int);
+    ctor public Switch(android.content.Context, android.util.AttributeSet, int, int);
+    method public boolean getShowText();
+    method public boolean getSplitTrack();
+    method public int getSwitchMinWidth();
+    method public int getSwitchPadding();
+    method public CharSequence getTextOff();
+    method public CharSequence getTextOn();
+    method public android.graphics.drawable.Drawable getThumbDrawable();
+    method public int getThumbTextPadding();
+    method @Nullable public android.graphics.BlendMode getThumbTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getThumbTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getThumbTintMode();
+    method public android.graphics.drawable.Drawable getTrackDrawable();
+    method @Nullable public android.graphics.BlendMode getTrackTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getTrackTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getTrackTintMode();
+    method public void onMeasure(int, int);
+    method public void setShowText(boolean);
+    method public void setSplitTrack(boolean);
+    method public void setSwitchMinWidth(int);
+    method public void setSwitchPadding(int);
+    method public void setSwitchTextAppearance(android.content.Context, @StyleRes int);
+    method public void setSwitchTypeface(android.graphics.Typeface, int);
+    method public void setSwitchTypeface(android.graphics.Typeface);
+    method public void setTextOff(CharSequence);
+    method public void setTextOn(CharSequence);
+    method public void setThumbDrawable(android.graphics.drawable.Drawable);
+    method public void setThumbIcon(@Nullable android.graphics.drawable.Icon);
+    method public void setThumbResource(@DrawableRes int);
+    method public void setThumbTextPadding(int);
+    method public void setThumbTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setThumbTintList(@Nullable android.content.res.ColorStateList);
+    method public void setThumbTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setTrackDrawable(android.graphics.drawable.Drawable);
+    method public void setTrackIcon(@Nullable android.graphics.drawable.Icon);
+    method public void setTrackResource(@DrawableRes int);
+    method public void setTrackTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setTrackTintList(@Nullable android.content.res.ColorStateList);
+    method public void setTrackTintMode(@Nullable android.graphics.PorterDuff.Mode);
+  }
+
+  @Deprecated public class TabHost extends android.widget.FrameLayout implements android.view.ViewTreeObserver.OnTouchModeChangeListener {
+    ctor @Deprecated public TabHost(android.content.Context);
+    ctor @Deprecated public TabHost(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public TabHost(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public TabHost(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public void addTab(android.widget.TabHost.TabSpec);
+    method @Deprecated public void clearAllTabs();
+    method @Deprecated @Nullable public int getCurrentTab();
+    method @Deprecated @Nullable public String getCurrentTabTag();
+    method @Deprecated @Nullable public android.view.View getCurrentTabView();
+    method @Deprecated public android.view.View getCurrentView();
+    method @Deprecated public android.widget.FrameLayout getTabContentView();
+    method @Deprecated public android.widget.TabWidget getTabWidget();
+    method @Deprecated @NonNull public android.widget.TabHost.TabSpec newTabSpec(@NonNull String);
+    method @Deprecated public void onTouchModeChanged(boolean);
+    method @Deprecated public void setCurrentTab(int);
+    method @Deprecated public void setCurrentTabByTag(String);
+    method @Deprecated public void setOnTabChangedListener(android.widget.TabHost.OnTabChangeListener);
+    method @Deprecated public void setup();
+    method @Deprecated public void setup(android.app.LocalActivityManager);
+  }
+
+  @Deprecated public static interface TabHost.OnTabChangeListener {
+    method @Deprecated public void onTabChanged(String);
+  }
+
+  @Deprecated public static interface TabHost.TabContentFactory {
+    method @Deprecated public android.view.View createTabContent(String);
+  }
+
+  @Deprecated public class TabHost.TabSpec {
+    method @Deprecated @NonNull public String getTag();
+    method @Deprecated public android.widget.TabHost.TabSpec setContent(int);
+    method @Deprecated public android.widget.TabHost.TabSpec setContent(android.widget.TabHost.TabContentFactory);
+    method @Deprecated public android.widget.TabHost.TabSpec setContent(android.content.Intent);
+    method @Deprecated public android.widget.TabHost.TabSpec setIndicator(CharSequence);
+    method @Deprecated public android.widget.TabHost.TabSpec setIndicator(CharSequence, android.graphics.drawable.Drawable);
+    method @Deprecated public android.widget.TabHost.TabSpec setIndicator(android.view.View);
+  }
+
+  @Deprecated public class TabWidget extends android.widget.LinearLayout implements android.view.View.OnFocusChangeListener {
+    ctor @Deprecated public TabWidget(android.content.Context);
+    ctor @Deprecated public TabWidget(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public TabWidget(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public TabWidget(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public void dispatchDraw(android.graphics.Canvas);
+    method @Deprecated public void focusCurrentTab(int);
+    method @Deprecated public android.view.View getChildTabViewAt(int);
+    method @Deprecated @Nullable public android.graphics.drawable.Drawable getLeftStripDrawable();
+    method @Deprecated @Nullable public android.graphics.drawable.Drawable getRightStripDrawable();
+    method @Deprecated public int getTabCount();
+    method @Deprecated public boolean isStripEnabled();
+    method @Deprecated public void onFocusChange(android.view.View, boolean);
+    method @Deprecated public void setCurrentTab(int);
+    method @Deprecated public void setDividerDrawable(@DrawableRes int);
+    method @Deprecated public void setLeftStripDrawable(@Nullable android.graphics.drawable.Drawable);
+    method @Deprecated public void setLeftStripDrawable(@DrawableRes int);
+    method @Deprecated public void setRightStripDrawable(@Nullable android.graphics.drawable.Drawable);
+    method @Deprecated public void setRightStripDrawable(@DrawableRes int);
+    method @Deprecated public void setStripEnabled(boolean);
+  }
+
+  public class TableLayout extends android.widget.LinearLayout {
+    ctor public TableLayout(android.content.Context);
+    ctor public TableLayout(android.content.Context, android.util.AttributeSet);
+    method public android.widget.TableLayout.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method public boolean isColumnCollapsed(int);
+    method public boolean isColumnShrinkable(int);
+    method public boolean isColumnStretchable(int);
+    method public boolean isShrinkAllColumns();
+    method public boolean isStretchAllColumns();
+    method public void setColumnCollapsed(int, boolean);
+    method public void setColumnShrinkable(int, boolean);
+    method public void setColumnStretchable(int, boolean);
+    method public void setShrinkAllColumns(boolean);
+    method public void setStretchAllColumns(boolean);
+  }
+
+  public static class TableLayout.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+    ctor public TableLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public TableLayout.LayoutParams(int, int);
+    ctor public TableLayout.LayoutParams(int, int, float);
+    ctor public TableLayout.LayoutParams();
+    ctor public TableLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public TableLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+  }
+
+  public class TableRow extends android.widget.LinearLayout {
+    ctor public TableRow(android.content.Context);
+    ctor public TableRow(android.content.Context, android.util.AttributeSet);
+    method public android.widget.TableRow.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method public android.view.View getVirtualChildAt(int);
+    method public int getVirtualChildCount();
+  }
+
+  public static class TableRow.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+    ctor public TableRow.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public TableRow.LayoutParams(int, int);
+    ctor public TableRow.LayoutParams(int, int, float);
+    ctor public TableRow.LayoutParams();
+    ctor public TableRow.LayoutParams(int);
+    ctor public TableRow.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public TableRow.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    field public int column;
+    field public int span;
+  }
+
+  @android.widget.RemoteViews.RemoteView public class TextClock extends android.widget.TextView {
+    ctor public TextClock(android.content.Context);
+    ctor public TextClock(android.content.Context, android.util.AttributeSet);
+    ctor public TextClock(android.content.Context, android.util.AttributeSet, int);
+    ctor public TextClock(android.content.Context, android.util.AttributeSet, int, int);
+    method public CharSequence getFormat12Hour();
+    method public CharSequence getFormat24Hour();
+    method public String getTimeZone();
+    method public boolean is24HourModeEnabled();
+    method public void refreshTime();
+    method public void setFormat12Hour(CharSequence);
+    method public void setFormat24Hour(CharSequence);
+    method public void setTimeZone(String);
+    field @Deprecated public static final CharSequence DEFAULT_FORMAT_12_HOUR;
+    field @Deprecated public static final CharSequence DEFAULT_FORMAT_24_HOUR;
+  }
+
+  public class TextSwitcher extends android.widget.ViewSwitcher {
+    ctor public TextSwitcher(android.content.Context);
+    ctor public TextSwitcher(android.content.Context, android.util.AttributeSet);
+    method public void setCurrentText(CharSequence);
+    method public void setText(CharSequence);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class TextView extends android.view.View implements android.view.ViewTreeObserver.OnPreDrawListener {
+    ctor public TextView(android.content.Context);
+    ctor public TextView(android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public TextView(android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public TextView(android.content.Context, @Nullable android.util.AttributeSet, int, int);
+    method public void addTextChangedListener(android.text.TextWatcher);
+    method public final void append(CharSequence);
+    method public void append(CharSequence, int, int);
+    method public void beginBatchEdit();
+    method public boolean bringPointIntoView(int);
+    method public void clearComposingText();
+    method public void debug(int);
+    method public boolean didTouchFocusSelect();
+    method public void endBatchEdit();
+    method public boolean extractText(android.view.inputmethod.ExtractedTextRequest, android.view.inputmethod.ExtractedText);
+    method public final int getAutoLinkMask();
+    method public int getAutoSizeMaxTextSize();
+    method public int getAutoSizeMinTextSize();
+    method public int getAutoSizeStepGranularity();
+    method public int[] getAutoSizeTextAvailableSizes();
+    method public int getAutoSizeTextType();
+    method public int getBreakStrategy();
+    method public int getCompoundDrawablePadding();
+    method @Nullable public android.graphics.BlendMode getCompoundDrawableTintBlendMode();
+    method public android.content.res.ColorStateList getCompoundDrawableTintList();
+    method public android.graphics.PorterDuff.Mode getCompoundDrawableTintMode();
+    method @NonNull public android.graphics.drawable.Drawable[] getCompoundDrawables();
+    method @NonNull public android.graphics.drawable.Drawable[] getCompoundDrawablesRelative();
+    method public int getCompoundPaddingBottom();
+    method public int getCompoundPaddingEnd();
+    method public int getCompoundPaddingLeft();
+    method public int getCompoundPaddingRight();
+    method public int getCompoundPaddingStart();
+    method public int getCompoundPaddingTop();
+    method @ColorInt public final int getCurrentHintTextColor();
+    method @ColorInt public final int getCurrentTextColor();
+    method public android.view.ActionMode.Callback getCustomInsertionActionModeCallback();
+    method public android.view.ActionMode.Callback getCustomSelectionActionModeCallback();
+    method protected boolean getDefaultEditable();
+    method protected android.text.method.MovementMethod getDefaultMovementMethod();
+    method public android.text.Editable getEditableText();
+    method public android.text.TextUtils.TruncateAt getEllipsize();
+    method public CharSequence getError();
+    method public int getExtendedPaddingBottom();
+    method public int getExtendedPaddingTop();
+    method public android.text.InputFilter[] getFilters();
+    method public int getFirstBaselineToTopHeight();
+    method @Nullable public String getFontFeatureSettings();
+    method @Nullable public String getFontVariationSettings();
+    method public boolean getFreezesText();
+    method public int getGravity();
+    method @ColorInt public int getHighlightColor();
+    method public CharSequence getHint();
+    method public final android.content.res.ColorStateList getHintTextColors();
+    method public int getHyphenationFrequency();
+    method public int getImeActionId();
+    method public CharSequence getImeActionLabel();
+    method @Nullable public android.os.LocaleList getImeHintLocales();
+    method public int getImeOptions();
+    method public boolean getIncludeFontPadding();
+    method public android.os.Bundle getInputExtras(boolean);
+    method public int getInputType();
+    method public int getJustificationMode();
+    method public final android.text.method.KeyListener getKeyListener();
+    method public int getLastBaselineToBottomHeight();
+    method public final android.text.Layout getLayout();
+    method public float getLetterSpacing();
+    method public int getLineBounds(int, android.graphics.Rect);
+    method public int getLineCount();
+    method public int getLineHeight();
+    method public float getLineSpacingExtra();
+    method public float getLineSpacingMultiplier();
+    method public final android.content.res.ColorStateList getLinkTextColors();
+    method public final boolean getLinksClickable();
+    method public int getMarqueeRepeatLimit();
+    method public int getMaxEms();
+    method public int getMaxHeight();
+    method public int getMaxLines();
+    method public int getMaxWidth();
+    method public int getMinEms();
+    method public int getMinHeight();
+    method public int getMinLines();
+    method public int getMinWidth();
+    method public final android.text.method.MovementMethod getMovementMethod();
+    method public int getOffsetForPosition(float, float);
+    method public android.text.TextPaint getPaint();
+    method public int getPaintFlags();
+    method public String getPrivateImeOptions();
+    method public int getSelectionEnd();
+    method public int getSelectionStart();
+    method @ColorInt public int getShadowColor();
+    method public float getShadowDx();
+    method public float getShadowDy();
+    method public float getShadowRadius();
+    method public final boolean getShowSoftInputOnFocus();
+    method public CharSequence getText();
+    method @NonNull public android.view.textclassifier.TextClassifier getTextClassifier();
+    method public final android.content.res.ColorStateList getTextColors();
+    method @Nullable public android.graphics.drawable.Drawable getTextCursorDrawable();
+    method @NonNull public android.text.TextDirectionHeuristic getTextDirectionHeuristic();
+    method @NonNull public java.util.Locale getTextLocale();
+    method @NonNull @Size(min=1) public android.os.LocaleList getTextLocales();
+    method @NonNull public android.text.PrecomputedText.Params getTextMetricsParams();
+    method public float getTextScaleX();
+    method @Nullable public android.graphics.drawable.Drawable getTextSelectHandle();
+    method @Nullable public android.graphics.drawable.Drawable getTextSelectHandleLeft();
+    method @Nullable public android.graphics.drawable.Drawable getTextSelectHandleRight();
+    method public float getTextSize();
+    method public int getTextSizeUnit();
+    method public int getTotalPaddingBottom();
+    method public int getTotalPaddingEnd();
+    method public int getTotalPaddingLeft();
+    method public int getTotalPaddingRight();
+    method public int getTotalPaddingStart();
+    method public int getTotalPaddingTop();
+    method public final android.text.method.TransformationMethod getTransformationMethod();
+    method public android.graphics.Typeface getTypeface();
+    method public android.text.style.URLSpan[] getUrls();
+    method public boolean hasSelection();
+    method public boolean isAllCaps();
+    method public boolean isCursorVisible();
+    method public boolean isElegantTextHeight();
+    method public boolean isFallbackLineSpacing();
+    method public final boolean isHorizontallyScrollable();
+    method public boolean isInputMethodTarget();
+    method public boolean isSingleLine();
+    method public boolean isSuggestionsEnabled();
+    method public boolean isTextSelectable();
+    method public int length();
+    method public boolean moveCursorToVisibleOffset();
+    method public void onBeginBatchEdit();
+    method public void onCommitCompletion(android.view.inputmethod.CompletionInfo);
+    method public void onCommitCorrection(android.view.inputmethod.CorrectionInfo);
+    method public void onEditorAction(int);
+    method public void onEndBatchEdit();
+    method public boolean onPreDraw();
+    method public boolean onPrivateIMECommand(String, android.os.Bundle);
+    method public void onRestoreInstanceState(android.os.Parcelable);
+    method public android.os.Parcelable onSaveInstanceState();
+    method @CallSuper protected void onSelectionChanged(int, int);
+    method protected void onTextChanged(CharSequence, int, int, int);
+    method public boolean onTextContextMenuItem(int);
+    method public void removeTextChangedListener(android.text.TextWatcher);
+    method public void setAllCaps(boolean);
+    method public final void setAutoLinkMask(int);
+    method public void setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int);
+    method public void setAutoSizeTextTypeUniformWithPresetSizes(@NonNull int[], int);
+    method public void setAutoSizeTextTypeWithDefaults(int);
+    method public void setBreakStrategy(int);
+    method public void setCompoundDrawablePadding(int);
+    method public void setCompoundDrawableTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setCompoundDrawableTintList(@Nullable android.content.res.ColorStateList);
+    method public void setCompoundDrawableTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setCompoundDrawables(@Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable);
+    method public void setCompoundDrawablesRelative(@Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable);
+    method public void setCompoundDrawablesRelativeWithIntrinsicBounds(@DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
+    method public void setCompoundDrawablesRelativeWithIntrinsicBounds(@Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable);
+    method public void setCompoundDrawablesWithIntrinsicBounds(@DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
+    method public void setCompoundDrawablesWithIntrinsicBounds(@Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable);
+    method public void setCursorVisible(boolean);
+    method public void setCustomInsertionActionModeCallback(android.view.ActionMode.Callback);
+    method public void setCustomSelectionActionModeCallback(android.view.ActionMode.Callback);
+    method public final void setEditableFactory(android.text.Editable.Factory);
+    method public void setElegantTextHeight(boolean);
+    method public void setEllipsize(android.text.TextUtils.TruncateAt);
+    method public void setEms(int);
+    method public void setError(CharSequence);
+    method public void setError(CharSequence, android.graphics.drawable.Drawable);
+    method public void setExtractedText(android.view.inputmethod.ExtractedText);
+    method public void setFallbackLineSpacing(boolean);
+    method public void setFilters(android.text.InputFilter[]);
+    method public void setFirstBaselineToTopHeight(@IntRange(from=0) @Px int);
+    method public void setFontFeatureSettings(@Nullable String);
+    method public boolean setFontVariationSettings(@Nullable String);
+    method protected boolean setFrame(int, int, int, int);
+    method public void setFreezesText(boolean);
+    method public void setGravity(int);
+    method public void setHeight(int);
+    method public void setHighlightColor(@ColorInt int);
+    method public final void setHint(CharSequence);
+    method public final void setHint(@StringRes int);
+    method public final void setHintTextColor(@ColorInt int);
+    method public final void setHintTextColor(android.content.res.ColorStateList);
+    method public void setHorizontallyScrolling(boolean);
+    method public void setHyphenationFrequency(int);
+    method public void setImeActionLabel(CharSequence, int);
+    method public void setImeHintLocales(@Nullable android.os.LocaleList);
+    method public void setImeOptions(int);
+    method public void setIncludeFontPadding(boolean);
+    method public void setInputExtras(@XmlRes int) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void setInputType(int);
+    method public void setJustificationMode(int);
+    method public void setKeyListener(android.text.method.KeyListener);
+    method public void setLastBaselineToBottomHeight(@IntRange(from=0) @Px int);
+    method public void setLetterSpacing(float);
+    method public void setLineHeight(@IntRange(from=0) @Px int);
+    method public void setLineSpacing(float, float);
+    method public void setLines(int);
+    method public final void setLinkTextColor(@ColorInt int);
+    method public final void setLinkTextColor(android.content.res.ColorStateList);
+    method public final void setLinksClickable(boolean);
+    method public void setMarqueeRepeatLimit(int);
+    method public void setMaxEms(int);
+    method public void setMaxHeight(int);
+    method public void setMaxLines(int);
+    method public void setMaxWidth(int);
+    method public void setMinEms(int);
+    method public void setMinHeight(int);
+    method public void setMinLines(int);
+    method public void setMinWidth(int);
+    method public final void setMovementMethod(android.text.method.MovementMethod);
+    method public void setOnEditorActionListener(android.widget.TextView.OnEditorActionListener);
+    method public void setPaintFlags(int);
+    method public void setPrivateImeOptions(String);
+    method public void setRawInputType(int);
+    method public void setScroller(android.widget.Scroller);
+    method public void setSelectAllOnFocus(boolean);
+    method public void setShadowLayer(float, float, float, int);
+    method public final void setShowSoftInputOnFocus(boolean);
+    method public void setSingleLine();
+    method public void setSingleLine(boolean);
+    method public final void setSpannableFactory(android.text.Spannable.Factory);
+    method public final void setText(CharSequence);
+    method public void setText(CharSequence, android.widget.TextView.BufferType);
+    method public final void setText(char[], int, int);
+    method public final void setText(@StringRes int);
+    method public final void setText(@StringRes int, android.widget.TextView.BufferType);
+    method public void setTextAppearance(@StyleRes int);
+    method @Deprecated public void setTextAppearance(android.content.Context, @StyleRes int);
+    method public void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
+    method public void setTextColor(@ColorInt int);
+    method public void setTextColor(android.content.res.ColorStateList);
+    method public void setTextCursorDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setTextCursorDrawable(@DrawableRes int);
+    method public void setTextIsSelectable(boolean);
+    method public final void setTextKeepState(CharSequence);
+    method public final void setTextKeepState(CharSequence, android.widget.TextView.BufferType);
+    method public void setTextLocale(@NonNull java.util.Locale);
+    method public void setTextLocales(@NonNull @Size(min=1) android.os.LocaleList);
+    method public void setTextMetricsParams(@NonNull android.text.PrecomputedText.Params);
+    method public void setTextScaleX(float);
+    method public void setTextSelectHandle(@NonNull android.graphics.drawable.Drawable);
+    method public void setTextSelectHandle(@DrawableRes int);
+    method public void setTextSelectHandleLeft(@NonNull android.graphics.drawable.Drawable);
+    method public void setTextSelectHandleLeft(@DrawableRes int);
+    method public void setTextSelectHandleRight(@NonNull android.graphics.drawable.Drawable);
+    method public void setTextSelectHandleRight(@DrawableRes int);
+    method public void setTextSize(float);
+    method public void setTextSize(int, float);
+    method public final void setTransformationMethod(android.text.method.TransformationMethod);
+    method public void setTypeface(@Nullable android.graphics.Typeface, int);
+    method public void setTypeface(@Nullable android.graphics.Typeface);
+    method public void setWidth(int);
+    field public static final int AUTO_SIZE_TEXT_TYPE_NONE = 0; // 0x0
+    field public static final int AUTO_SIZE_TEXT_TYPE_UNIFORM = 1; // 0x1
+  }
+
+  public enum TextView.BufferType {
+    enum_constant public static final android.widget.TextView.BufferType EDITABLE;
+    enum_constant public static final android.widget.TextView.BufferType NORMAL;
+    enum_constant public static final android.widget.TextView.BufferType SPANNABLE;
+  }
+
+  public static interface TextView.OnEditorActionListener {
+    method public boolean onEditorAction(android.widget.TextView, int, android.view.KeyEvent);
+  }
+
+  public static class TextView.SavedState extends android.view.View.BaseSavedState {
+    field @NonNull public static final android.os.Parcelable.Creator<android.widget.TextView.SavedState> CREATOR;
+  }
+
+  public interface ThemedSpinnerAdapter extends android.widget.SpinnerAdapter {
+    method @Nullable public android.content.res.Resources.Theme getDropDownViewTheme();
+    method public void setDropDownViewTheme(@Nullable android.content.res.Resources.Theme);
+  }
+
+  public class TimePicker extends android.widget.FrameLayout {
+    ctor public TimePicker(android.content.Context);
+    ctor public TimePicker(android.content.Context, android.util.AttributeSet);
+    ctor public TimePicker(android.content.Context, android.util.AttributeSet, int);
+    ctor public TimePicker(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated @NonNull public Integer getCurrentHour();
+    method @Deprecated @NonNull public Integer getCurrentMinute();
+    method public int getHour();
+    method public int getMinute();
+    method public boolean is24HourView();
+    method @Deprecated public void setCurrentHour(@NonNull Integer);
+    method @Deprecated public void setCurrentMinute(@NonNull Integer);
+    method public void setHour(@IntRange(from=0, to=23) int);
+    method public void setIs24HourView(@NonNull Boolean);
+    method public void setMinute(@IntRange(from=0, to=59) int);
+    method public void setOnTimeChangedListener(android.widget.TimePicker.OnTimeChangedListener);
+    method public boolean validateInput();
+  }
+
+  public static interface TimePicker.OnTimeChangedListener {
+    method public void onTimeChanged(android.widget.TimePicker, int, int);
+  }
+
+  public class Toast {
+    ctor public Toast(android.content.Context);
+    method public void addCallback(@NonNull android.widget.Toast.Callback);
+    method public void cancel();
+    method public int getDuration();
+    method public int getGravity();
+    method public float getHorizontalMargin();
+    method public float getVerticalMargin();
+    method @Deprecated @Nullable public android.view.View getView();
+    method public int getXOffset();
+    method public int getYOffset();
+    method public static android.widget.Toast makeText(android.content.Context, CharSequence, int);
+    method public static android.widget.Toast makeText(android.content.Context, @StringRes int, int) throws android.content.res.Resources.NotFoundException;
+    method public void removeCallback(@NonNull android.widget.Toast.Callback);
+    method public void setDuration(int);
+    method public void setGravity(int, int, int);
+    method public void setMargin(float, float);
+    method public void setText(@StringRes int);
+    method public void setText(CharSequence);
+    method @Deprecated public void setView(android.view.View);
+    method public void show();
+    field public static final int LENGTH_LONG = 1; // 0x1
+    field public static final int LENGTH_SHORT = 0; // 0x0
+  }
+
+  public abstract static class Toast.Callback {
+    ctor public Toast.Callback();
+    method public void onToastHidden();
+    method public void onToastShown();
+  }
+
+  public class ToggleButton extends android.widget.CompoundButton {
+    ctor public ToggleButton(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public ToggleButton(android.content.Context, android.util.AttributeSet, int);
+    ctor public ToggleButton(android.content.Context, android.util.AttributeSet);
+    ctor public ToggleButton(android.content.Context);
+    method @FloatRange(from=0.0, to=1.0) public float getDisabledAlpha();
+    method public CharSequence getTextOff();
+    method public CharSequence getTextOn();
+    method public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setTextOff(CharSequence);
+    method public void setTextOn(CharSequence);
+  }
+
+  public class Toolbar extends android.view.ViewGroup {
+    ctor public Toolbar(android.content.Context);
+    ctor public Toolbar(android.content.Context, android.util.AttributeSet);
+    ctor public Toolbar(android.content.Context, android.util.AttributeSet, int);
+    ctor public Toolbar(android.content.Context, android.util.AttributeSet, int, int);
+    method public void collapseActionView();
+    method public void dismissPopupMenus();
+    method protected android.widget.Toolbar.LayoutParams generateDefaultLayoutParams();
+    method public android.widget.Toolbar.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method protected android.widget.Toolbar.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+    method @Nullable public CharSequence getCollapseContentDescription();
+    method @Nullable public android.graphics.drawable.Drawable getCollapseIcon();
+    method public int getContentInsetEnd();
+    method public int getContentInsetEndWithActions();
+    method public int getContentInsetLeft();
+    method public int getContentInsetRight();
+    method public int getContentInsetStart();
+    method public int getContentInsetStartWithNavigation();
+    method public int getCurrentContentInsetEnd();
+    method public int getCurrentContentInsetLeft();
+    method public int getCurrentContentInsetRight();
+    method public int getCurrentContentInsetStart();
+    method public android.graphics.drawable.Drawable getLogo();
+    method public CharSequence getLogoDescription();
+    method public android.view.Menu getMenu();
+    method @Nullable public CharSequence getNavigationContentDescription();
+    method @Nullable public android.graphics.drawable.Drawable getNavigationIcon();
+    method @Nullable public android.graphics.drawable.Drawable getOverflowIcon();
+    method public int getPopupTheme();
+    method public CharSequence getSubtitle();
+    method public CharSequence getTitle();
+    method public int getTitleMarginBottom();
+    method public int getTitleMarginEnd();
+    method public int getTitleMarginStart();
+    method public int getTitleMarginTop();
+    method public boolean hasExpandedActionView();
+    method public boolean hideOverflowMenu();
+    method public void inflateMenu(@MenuRes int);
+    method public boolean isOverflowMenuShowing();
+    method public void setCollapseContentDescription(@StringRes int);
+    method public void setCollapseContentDescription(@Nullable CharSequence);
+    method public void setCollapseIcon(@DrawableRes int);
+    method public void setCollapseIcon(@Nullable android.graphics.drawable.Drawable);
+    method public void setContentInsetEndWithActions(int);
+    method public void setContentInsetStartWithNavigation(int);
+    method public void setContentInsetsAbsolute(int, int);
+    method public void setContentInsetsRelative(int, int);
+    method public void setLogo(@DrawableRes int);
+    method public void setLogo(android.graphics.drawable.Drawable);
+    method public void setLogoDescription(@StringRes int);
+    method public void setLogoDescription(CharSequence);
+    method public void setNavigationContentDescription(@StringRes int);
+    method public void setNavigationContentDescription(@Nullable CharSequence);
+    method public void setNavigationIcon(@DrawableRes int);
+    method public void setNavigationIcon(@Nullable android.graphics.drawable.Drawable);
+    method public void setNavigationOnClickListener(android.view.View.OnClickListener);
+    method public void setOnMenuItemClickListener(android.widget.Toolbar.OnMenuItemClickListener);
+    method public void setOverflowIcon(@Nullable android.graphics.drawable.Drawable);
+    method public void setPopupTheme(@StyleRes int);
+    method public void setSubtitle(@StringRes int);
+    method public void setSubtitle(CharSequence);
+    method public void setSubtitleTextAppearance(android.content.Context, @StyleRes int);
+    method public void setSubtitleTextColor(@ColorInt int);
+    method public void setTitle(@StringRes int);
+    method public void setTitle(CharSequence);
+    method public void setTitleMargin(int, int, int, int);
+    method public void setTitleMarginBottom(int);
+    method public void setTitleMarginEnd(int);
+    method public void setTitleMarginStart(int);
+    method public void setTitleMarginTop(int);
+    method public void setTitleTextAppearance(android.content.Context, @StyleRes int);
+    method public void setTitleTextColor(@ColorInt int);
+    method public boolean showOverflowMenu();
+  }
+
+  public static class Toolbar.LayoutParams extends android.app.ActionBar.LayoutParams {
+    ctor public Toolbar.LayoutParams(@NonNull android.content.Context, android.util.AttributeSet);
+    ctor public Toolbar.LayoutParams(int, int);
+    ctor public Toolbar.LayoutParams(int, int, int);
+    ctor public Toolbar.LayoutParams(int);
+    ctor public Toolbar.LayoutParams(android.widget.Toolbar.LayoutParams);
+    ctor public Toolbar.LayoutParams(android.app.ActionBar.LayoutParams);
+    ctor public Toolbar.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    ctor public Toolbar.LayoutParams(android.view.ViewGroup.LayoutParams);
+  }
+
+  public static interface Toolbar.OnMenuItemClickListener {
+    method public boolean onMenuItemClick(android.view.MenuItem);
+  }
+
+  @Deprecated public class TwoLineListItem extends android.widget.RelativeLayout {
+    ctor @Deprecated public TwoLineListItem(android.content.Context);
+    ctor @Deprecated public TwoLineListItem(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public TwoLineListItem(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public TwoLineListItem(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public android.widget.TextView getText1();
+    method @Deprecated public android.widget.TextView getText2();
+  }
+
+  public class VideoView extends android.view.SurfaceView implements android.widget.MediaController.MediaPlayerControl {
+    ctor public VideoView(android.content.Context);
+    ctor public VideoView(android.content.Context, android.util.AttributeSet);
+    ctor public VideoView(android.content.Context, android.util.AttributeSet, int);
+    ctor public VideoView(android.content.Context, android.util.AttributeSet, int, int);
+    method public void addSubtitleSource(java.io.InputStream, android.media.MediaFormat);
+    method public boolean canPause();
+    method public boolean canSeekBackward();
+    method public boolean canSeekForward();
+    method public int getAudioSessionId();
+    method public int getBufferPercentage();
+    method public int getCurrentPosition();
+    method public int getDuration();
+    method public boolean isPlaying();
+    method public void pause();
+    method public int resolveAdjustedSize(int, int);
+    method public void resume();
+    method public void seekTo(int);
+    method public void setAudioAttributes(@NonNull android.media.AudioAttributes);
+    method public void setAudioFocusRequest(int);
+    method public void setMediaController(android.widget.MediaController);
+    method public void setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener);
+    method public void setOnErrorListener(android.media.MediaPlayer.OnErrorListener);
+    method public void setOnInfoListener(android.media.MediaPlayer.OnInfoListener);
+    method public void setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener);
+    method public void setVideoPath(String);
+    method public void setVideoURI(android.net.Uri);
+    method public void setVideoURI(android.net.Uri, java.util.Map<java.lang.String,java.lang.String>);
+    method public void start();
+    method public void stopPlayback();
+    method public void suspend();
+  }
+
+  public class ViewAnimator extends android.widget.FrameLayout {
+    ctor public ViewAnimator(android.content.Context);
+    ctor public ViewAnimator(android.content.Context, android.util.AttributeSet);
+    method public boolean getAnimateFirstView();
+    method public android.view.View getCurrentView();
+    method public int getDisplayedChild();
+    method public android.view.animation.Animation getInAnimation();
+    method public android.view.animation.Animation getOutAnimation();
+    method public void setAnimateFirstView(boolean);
+    method public void setDisplayedChild(int);
+    method public void setInAnimation(android.view.animation.Animation);
+    method public void setInAnimation(android.content.Context, @AnimRes int);
+    method public void setOutAnimation(android.view.animation.Animation);
+    method public void setOutAnimation(android.content.Context, @AnimRes int);
+    method public void showNext();
+    method public void showPrevious();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class ViewFlipper extends android.widget.ViewAnimator {
+    ctor public ViewFlipper(android.content.Context);
+    ctor public ViewFlipper(android.content.Context, android.util.AttributeSet);
+    method @IntRange(from=0) public int getFlipInterval();
+    method public boolean isAutoStart();
+    method public boolean isFlipping();
+    method public void setAutoStart(boolean);
+    method public void setFlipInterval(@IntRange(from=0) int);
+    method public void startFlipping();
+    method public void stopFlipping();
+  }
+
+  public class ViewSwitcher extends android.widget.ViewAnimator {
+    ctor public ViewSwitcher(android.content.Context);
+    ctor public ViewSwitcher(android.content.Context, android.util.AttributeSet);
+    method public android.view.View getNextView();
+    method public void reset();
+    method public void setFactory(android.widget.ViewSwitcher.ViewFactory);
+  }
+
+  public static interface ViewSwitcher.ViewFactory {
+    method public android.view.View makeView();
+  }
+
+  public interface WrapperListAdapter extends android.widget.ListAdapter {
+    method public android.widget.ListAdapter getWrappedAdapter();
+  }
+
+  @Deprecated public class ZoomButton extends android.widget.ImageButton implements android.view.View.OnLongClickListener {
+    ctor @Deprecated public ZoomButton(android.content.Context);
+    ctor @Deprecated public ZoomButton(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public ZoomButton(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public ZoomButton(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public boolean onLongClick(android.view.View);
+    method @Deprecated public void setZoomSpeed(long);
+  }
+
+  @Deprecated public class ZoomButtonsController implements android.view.View.OnTouchListener {
+    ctor @Deprecated public ZoomButtonsController(android.view.View);
+    method @Deprecated public android.view.ViewGroup getContainer();
+    method @Deprecated public android.view.View getZoomControls();
+    method @Deprecated public boolean isAutoDismissed();
+    method @Deprecated public boolean isVisible();
+    method public boolean onTouch(android.view.View, android.view.MotionEvent);
+    method @Deprecated public void setAutoDismissed(boolean);
+    method @Deprecated public void setFocusable(boolean);
+    method @Deprecated public void setOnZoomListener(android.widget.ZoomButtonsController.OnZoomListener);
+    method @Deprecated public void setVisible(boolean);
+    method @Deprecated public void setZoomInEnabled(boolean);
+    method @Deprecated public void setZoomOutEnabled(boolean);
+    method @Deprecated public void setZoomSpeed(long);
+  }
+
+  @Deprecated public static interface ZoomButtonsController.OnZoomListener {
+    method @Deprecated public void onVisibilityChanged(boolean);
+    method @Deprecated public void onZoom(boolean);
+  }
+
+  @Deprecated public class ZoomControls extends android.widget.LinearLayout {
+    ctor @Deprecated public ZoomControls(android.content.Context);
+    ctor @Deprecated public ZoomControls(android.content.Context, android.util.AttributeSet);
+    method @Deprecated public void hide();
+    method @Deprecated public void setIsZoomInEnabled(boolean);
+    method @Deprecated public void setIsZoomOutEnabled(boolean);
+    method @Deprecated public void setOnZoomInClickListener(android.view.View.OnClickListener);
+    method @Deprecated public void setOnZoomOutClickListener(android.view.View.OnClickListener);
+    method @Deprecated public void setZoomSpeed(long);
+    method @Deprecated public void show();
+  }
+
+}
+
+package android.widget.inline {
+
+  public class InlineContentView extends android.view.ViewGroup {
+    method @Nullable public android.view.SurfaceControl getSurfaceControl();
+    method public boolean isZOrderedOnTop();
+    method public void onLayout(boolean, int, int, int, int);
+    method public void setSurfaceControlCallback(@Nullable android.widget.inline.InlineContentView.SurfaceControlCallback);
+    method public boolean setZOrderedOnTop(boolean);
+  }
+
+  public static interface InlineContentView.SurfaceControlCallback {
+    method public void onCreated(@NonNull android.view.SurfaceControl);
+    method public void onDestroyed(@NonNull android.view.SurfaceControl);
+  }
+
+  public final class InlinePresentationSpec implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.util.Size getMaxSize();
+    method @NonNull public android.util.Size getMinSize();
+    method @NonNull public android.os.Bundle getStyle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.widget.inline.InlinePresentationSpec> CREATOR;
+  }
+
+  public static final class InlinePresentationSpec.Builder {
+    ctor public InlinePresentationSpec.Builder(@NonNull android.util.Size, @NonNull android.util.Size);
+    method @NonNull public android.widget.inline.InlinePresentationSpec build();
+    method @NonNull public android.widget.inline.InlinePresentationSpec.Builder setStyle(@NonNull android.os.Bundle);
+  }
+
+}
+
+package android.window {
+
+  public interface SplashScreen {
+    method public void clearOnExitAnimationListener();
+    method public void setOnExitAnimationListener(@NonNull android.window.SplashScreen.OnExitAnimationListener);
+    method public void setSplashScreenTheme(@StyleRes int);
+  }
+
+  public static interface SplashScreen.OnExitAnimationListener {
+    method @UiThread public void onSplashScreenExit(@NonNull android.window.SplashScreenView);
+  }
+
+  public final class SplashScreenView extends android.widget.FrameLayout {
+    method @Nullable public java.time.Duration getIconAnimationDuration();
+    method @Nullable public java.time.Instant getIconAnimationStart();
+    method @Nullable public android.view.View getIconView();
+    method @UiThread public void remove();
+  }
+
+}
+
+package javax.microedition.khronos.egl {
+
+  public interface EGL {
+  }
+
+  public interface EGL10 extends javax.microedition.khronos.egl.EGL {
+    method public boolean eglChooseConfig(javax.microedition.khronos.egl.EGLDisplay, int[], javax.microedition.khronos.egl.EGLConfig[], int, int[]);
+    method public boolean eglCopyBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, Object);
+    method public javax.microedition.khronos.egl.EGLContext eglCreateContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, javax.microedition.khronos.egl.EGLContext, int[]);
+    method public javax.microedition.khronos.egl.EGLSurface eglCreatePbufferSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int[]);
+    method @Deprecated public javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, Object, int[]);
+    method public javax.microedition.khronos.egl.EGLSurface eglCreateWindowSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, Object, int[]);
+    method public boolean eglDestroyContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext);
+    method public boolean eglDestroySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
+    method public boolean eglGetConfigAttrib(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int, int[]);
+    method public boolean eglGetConfigs(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig[], int, int[]);
+    method public javax.microedition.khronos.egl.EGLContext eglGetCurrentContext();
+    method public javax.microedition.khronos.egl.EGLDisplay eglGetCurrentDisplay();
+    method public javax.microedition.khronos.egl.EGLSurface eglGetCurrentSurface(int);
+    method public javax.microedition.khronos.egl.EGLDisplay eglGetDisplay(Object);
+    method public int eglGetError();
+    method public boolean eglInitialize(javax.microedition.khronos.egl.EGLDisplay, int[]);
+    method public boolean eglMakeCurrent(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, javax.microedition.khronos.egl.EGLSurface, javax.microedition.khronos.egl.EGLContext);
+    method public boolean eglQueryContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext, int, int[]);
+    method public String eglQueryString(javax.microedition.khronos.egl.EGLDisplay, int);
+    method public boolean eglQuerySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, int, int[]);
+    method public boolean eglSwapBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
+    method public boolean eglTerminate(javax.microedition.khronos.egl.EGLDisplay);
+    method public boolean eglWaitGL();
+    method public boolean eglWaitNative(int, Object);
+    field public static final int EGL_ALPHA_FORMAT = 12424; // 0x3088
+    field public static final int EGL_ALPHA_MASK_SIZE = 12350; // 0x303e
+    field public static final int EGL_ALPHA_SIZE = 12321; // 0x3021
+    field public static final int EGL_BAD_ACCESS = 12290; // 0x3002
+    field public static final int EGL_BAD_ALLOC = 12291; // 0x3003
+    field public static final int EGL_BAD_ATTRIBUTE = 12292; // 0x3004
+    field public static final int EGL_BAD_CONFIG = 12293; // 0x3005
+    field public static final int EGL_BAD_CONTEXT = 12294; // 0x3006
+    field public static final int EGL_BAD_CURRENT_SURFACE = 12295; // 0x3007
+    field public static final int EGL_BAD_DISPLAY = 12296; // 0x3008
+    field public static final int EGL_BAD_MATCH = 12297; // 0x3009
+    field public static final int EGL_BAD_NATIVE_PIXMAP = 12298; // 0x300a
+    field public static final int EGL_BAD_NATIVE_WINDOW = 12299; // 0x300b
+    field public static final int EGL_BAD_PARAMETER = 12300; // 0x300c
+    field public static final int EGL_BAD_SURFACE = 12301; // 0x300d
+    field public static final int EGL_BLUE_SIZE = 12322; // 0x3022
+    field public static final int EGL_BUFFER_SIZE = 12320; // 0x3020
+    field public static final int EGL_COLORSPACE = 12423; // 0x3087
+    field public static final int EGL_COLOR_BUFFER_TYPE = 12351; // 0x303f
+    field public static final int EGL_CONFIG_CAVEAT = 12327; // 0x3027
+    field public static final int EGL_CONFIG_ID = 12328; // 0x3028
+    field public static final int EGL_CORE_NATIVE_ENGINE = 12379; // 0x305b
+    field public static final Object EGL_DEFAULT_DISPLAY;
+    field public static final int EGL_DEPTH_SIZE = 12325; // 0x3025
+    field public static final int EGL_DONT_CARE = -1; // 0xffffffff
+    field public static final int EGL_DRAW = 12377; // 0x3059
+    field public static final int EGL_EXTENSIONS = 12373; // 0x3055
+    field public static final int EGL_GREEN_SIZE = 12323; // 0x3023
+    field public static final int EGL_HEIGHT = 12374; // 0x3056
+    field public static final int EGL_HORIZONTAL_RESOLUTION = 12432; // 0x3090
+    field public static final int EGL_LARGEST_PBUFFER = 12376; // 0x3058
+    field public static final int EGL_LEVEL = 12329; // 0x3029
+    field public static final int EGL_LUMINANCE_BUFFER = 12431; // 0x308f
+    field public static final int EGL_LUMINANCE_SIZE = 12349; // 0x303d
+    field public static final int EGL_MAX_PBUFFER_HEIGHT = 12330; // 0x302a
+    field public static final int EGL_MAX_PBUFFER_PIXELS = 12331; // 0x302b
+    field public static final int EGL_MAX_PBUFFER_WIDTH = 12332; // 0x302c
+    field public static final int EGL_NATIVE_RENDERABLE = 12333; // 0x302d
+    field public static final int EGL_NATIVE_VISUAL_ID = 12334; // 0x302e
+    field public static final int EGL_NATIVE_VISUAL_TYPE = 12335; // 0x302f
+    field public static final int EGL_NONE = 12344; // 0x3038
+    field public static final int EGL_NON_CONFORMANT_CONFIG = 12369; // 0x3051
+    field public static final int EGL_NOT_INITIALIZED = 12289; // 0x3001
+    field public static final javax.microedition.khronos.egl.EGLContext EGL_NO_CONTEXT;
+    field public static final javax.microedition.khronos.egl.EGLDisplay EGL_NO_DISPLAY;
+    field public static final javax.microedition.khronos.egl.EGLSurface EGL_NO_SURFACE;
+    field public static final int EGL_PBUFFER_BIT = 1; // 0x1
+    field public static final int EGL_PIXEL_ASPECT_RATIO = 12434; // 0x3092
+    field public static final int EGL_PIXMAP_BIT = 2; // 0x2
+    field public static final int EGL_READ = 12378; // 0x305a
+    field public static final int EGL_RED_SIZE = 12324; // 0x3024
+    field public static final int EGL_RENDERABLE_TYPE = 12352; // 0x3040
+    field public static final int EGL_RENDER_BUFFER = 12422; // 0x3086
+    field public static final int EGL_RGB_BUFFER = 12430; // 0x308e
+    field public static final int EGL_SAMPLES = 12337; // 0x3031
+    field public static final int EGL_SAMPLE_BUFFERS = 12338; // 0x3032
+    field public static final int EGL_SINGLE_BUFFER = 12421; // 0x3085
+    field public static final int EGL_SLOW_CONFIG = 12368; // 0x3050
+    field public static final int EGL_STENCIL_SIZE = 12326; // 0x3026
+    field public static final int EGL_SUCCESS = 12288; // 0x3000
+    field public static final int EGL_SURFACE_TYPE = 12339; // 0x3033
+    field public static final int EGL_TRANSPARENT_BLUE_VALUE = 12341; // 0x3035
+    field public static final int EGL_TRANSPARENT_GREEN_VALUE = 12342; // 0x3036
+    field public static final int EGL_TRANSPARENT_RED_VALUE = 12343; // 0x3037
+    field public static final int EGL_TRANSPARENT_RGB = 12370; // 0x3052
+    field public static final int EGL_TRANSPARENT_TYPE = 12340; // 0x3034
+    field public static final int EGL_VENDOR = 12371; // 0x3053
+    field public static final int EGL_VERSION = 12372; // 0x3054
+    field public static final int EGL_VERTICAL_RESOLUTION = 12433; // 0x3091
+    field public static final int EGL_WIDTH = 12375; // 0x3057
+    field public static final int EGL_WINDOW_BIT = 4; // 0x4
+  }
+
+  public interface EGL11 extends javax.microedition.khronos.egl.EGL10 {
+    field public static final int EGL_CONTEXT_LOST = 12302; // 0x300e
+  }
+
+  public abstract class EGLConfig {
+    ctor public EGLConfig();
+  }
+
+  public abstract class EGLContext {
+    ctor public EGLContext();
+    method public static javax.microedition.khronos.egl.EGL getEGL();
+    method public abstract javax.microedition.khronos.opengles.GL getGL();
+  }
+
+  public abstract class EGLDisplay {
+    ctor public EGLDisplay();
+  }
+
+  public abstract class EGLSurface {
+    ctor public EGLSurface();
+  }
+
+}
+
+package javax.microedition.khronos.opengles {
+
+  public interface GL {
+  }
+
+  public interface GL10 extends javax.microedition.khronos.opengles.GL {
+    method public void glActiveTexture(int);
+    method public void glAlphaFunc(int, float);
+    method public void glAlphaFuncx(int, int);
+    method public void glBindTexture(int, int);
+    method public void glBlendFunc(int, int);
+    method public void glClear(int);
+    method public void glClearColor(float, float, float, float);
+    method public void glClearColorx(int, int, int, int);
+    method public void glClearDepthf(float);
+    method public void glClearDepthx(int);
+    method public void glClearStencil(int);
+    method public void glClientActiveTexture(int);
+    method public void glColor4f(float, float, float, float);
+    method public void glColor4x(int, int, int, int);
+    method public void glColorMask(boolean, boolean, boolean, boolean);
+    method public void glColorPointer(int, int, int, java.nio.Buffer);
+    method public void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+    method public void glCompressedTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+    method public void glCopyTexSubImage2D(int, int, int, int, int, int, int, int);
+    method public void glCullFace(int);
+    method public void glDeleteTextures(int, int[], int);
+    method public void glDeleteTextures(int, java.nio.IntBuffer);
+    method public void glDepthFunc(int);
+    method public void glDepthMask(boolean);
+    method public void glDepthRangef(float, float);
+    method public void glDepthRangex(int, int);
+    method public void glDisable(int);
+    method public void glDisableClientState(int);
+    method public void glDrawArrays(int, int, int);
+    method public void glDrawElements(int, int, int, java.nio.Buffer);
+    method public void glEnable(int);
+    method public void glEnableClientState(int);
+    method public void glFinish();
+    method public void glFlush();
+    method public void glFogf(int, float);
+    method public void glFogfv(int, float[], int);
+    method public void glFogfv(int, java.nio.FloatBuffer);
+    method public void glFogx(int, int);
+    method public void glFogxv(int, int[], int);
+    method public void glFogxv(int, java.nio.IntBuffer);
+    method public void glFrontFace(int);
+    method public void glFrustumf(float, float, float, float, float, float);
+    method public void glFrustumx(int, int, int, int, int, int);
+    method public void glGenTextures(int, int[], int);
+    method public void glGenTextures(int, java.nio.IntBuffer);
+    method public int glGetError();
+    method public void glGetIntegerv(int, int[], int);
+    method public void glGetIntegerv(int, java.nio.IntBuffer);
+    method public String glGetString(int);
+    method public void glHint(int, int);
+    method public void glLightModelf(int, float);
+    method public void glLightModelfv(int, float[], int);
+    method public void glLightModelfv(int, java.nio.FloatBuffer);
+    method public void glLightModelx(int, int);
+    method public void glLightModelxv(int, int[], int);
+    method public void glLightModelxv(int, java.nio.IntBuffer);
+    method public void glLightf(int, int, float);
+    method public void glLightfv(int, int, float[], int);
+    method public void glLightfv(int, int, java.nio.FloatBuffer);
+    method public void glLightx(int, int, int);
+    method public void glLightxv(int, int, int[], int);
+    method public void glLightxv(int, int, java.nio.IntBuffer);
+    method public void glLineWidth(float);
+    method public void glLineWidthx(int);
+    method public void glLoadIdentity();
+    method public void glLoadMatrixf(float[], int);
+    method public void glLoadMatrixf(java.nio.FloatBuffer);
+    method public void glLoadMatrixx(int[], int);
+    method public void glLoadMatrixx(java.nio.IntBuffer);
+    method public void glLogicOp(int);
+    method public void glMaterialf(int, int, float);
+    method public void glMaterialfv(int, int, float[], int);
+    method public void glMaterialfv(int, int, java.nio.FloatBuffer);
+    method public void glMaterialx(int, int, int);
+    method public void glMaterialxv(int, int, int[], int);
+    method public void glMaterialxv(int, int, java.nio.IntBuffer);
+    method public void glMatrixMode(int);
+    method public void glMultMatrixf(float[], int);
+    method public void glMultMatrixf(java.nio.FloatBuffer);
+    method public void glMultMatrixx(int[], int);
+    method public void glMultMatrixx(java.nio.IntBuffer);
+    method public void glMultiTexCoord4f(int, float, float, float, float);
+    method public void glMultiTexCoord4x(int, int, int, int, int);
+    method public void glNormal3f(float, float, float);
+    method public void glNormal3x(int, int, int);
+    method public void glNormalPointer(int, int, java.nio.Buffer);
+    method public void glOrthof(float, float, float, float, float, float);
+    method public void glOrthox(int, int, int, int, int, int);
+    method public void glPixelStorei(int, int);
+    method public void glPointSize(float);
+    method public void glPointSizex(int);
+    method public void glPolygonOffset(float, float);
+    method public void glPolygonOffsetx(int, int);
+    method public void glPopMatrix();
+    method public void glPushMatrix();
+    method public void glReadPixels(int, int, int, int, int, int, java.nio.Buffer);
+    method public void glRotatef(float, float, float, float);
+    method public void glRotatex(int, int, int, int);
+    method public void glSampleCoverage(float, boolean);
+    method public void glSampleCoveragex(int, boolean);
+    method public void glScalef(float, float, float);
+    method public void glScalex(int, int, int);
+    method public void glScissor(int, int, int, int);
+    method public void glShadeModel(int);
+    method public void glStencilFunc(int, int, int);
+    method public void glStencilMask(int);
+    method public void glStencilOp(int, int, int);
+    method public void glTexCoordPointer(int, int, int, java.nio.Buffer);
+    method public void glTexEnvf(int, int, float);
+    method public void glTexEnvfv(int, int, float[], int);
+    method public void glTexEnvfv(int, int, java.nio.FloatBuffer);
+    method public void glTexEnvx(int, int, int);
+    method public void glTexEnvxv(int, int, int[], int);
+    method public void glTexEnvxv(int, int, java.nio.IntBuffer);
+    method public void glTexImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public void glTexParameterf(int, int, float);
+    method public void glTexParameterx(int, int, int);
+    method public void glTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public void glTranslatef(float, float, float);
+    method public void glTranslatex(int, int, int);
+    method public void glVertexPointer(int, int, int, java.nio.Buffer);
+    method public void glViewport(int, int, int, int);
+    field public static final int GL_ADD = 260; // 0x104
+    field public static final int GL_ALIASED_LINE_WIDTH_RANGE = 33902; // 0x846e
+    field public static final int GL_ALIASED_POINT_SIZE_RANGE = 33901; // 0x846d
+    field public static final int GL_ALPHA = 6406; // 0x1906
+    field public static final int GL_ALPHA_BITS = 3413; // 0xd55
+    field public static final int GL_ALPHA_TEST = 3008; // 0xbc0
+    field public static final int GL_ALWAYS = 519; // 0x207
+    field public static final int GL_AMBIENT = 4608; // 0x1200
+    field public static final int GL_AMBIENT_AND_DIFFUSE = 5634; // 0x1602
+    field public static final int GL_AND = 5377; // 0x1501
+    field public static final int GL_AND_INVERTED = 5380; // 0x1504
+    field public static final int GL_AND_REVERSE = 5378; // 0x1502
+    field public static final int GL_BACK = 1029; // 0x405
+    field public static final int GL_BLEND = 3042; // 0xbe2
+    field public static final int GL_BLUE_BITS = 3412; // 0xd54
+    field public static final int GL_BYTE = 5120; // 0x1400
+    field public static final int GL_CCW = 2305; // 0x901
+    field public static final int GL_CLAMP_TO_EDGE = 33071; // 0x812f
+    field public static final int GL_CLEAR = 5376; // 0x1500
+    field public static final int GL_COLOR_ARRAY = 32886; // 0x8076
+    field public static final int GL_COLOR_BUFFER_BIT = 16384; // 0x4000
+    field public static final int GL_COLOR_LOGIC_OP = 3058; // 0xbf2
+    field public static final int GL_COLOR_MATERIAL = 2903; // 0xb57
+    field public static final int GL_COMPRESSED_TEXTURE_FORMATS = 34467; // 0x86a3
+    field public static final int GL_CONSTANT_ATTENUATION = 4615; // 0x1207
+    field public static final int GL_COPY = 5379; // 0x1503
+    field public static final int GL_COPY_INVERTED = 5388; // 0x150c
+    field public static final int GL_CULL_FACE = 2884; // 0xb44
+    field public static final int GL_CW = 2304; // 0x900
+    field public static final int GL_DECAL = 8449; // 0x2101
+    field public static final int GL_DECR = 7683; // 0x1e03
+    field public static final int GL_DEPTH_BITS = 3414; // 0xd56
+    field public static final int GL_DEPTH_BUFFER_BIT = 256; // 0x100
+    field public static final int GL_DEPTH_TEST = 2929; // 0xb71
+    field public static final int GL_DIFFUSE = 4609; // 0x1201
+    field public static final int GL_DITHER = 3024; // 0xbd0
+    field public static final int GL_DONT_CARE = 4352; // 0x1100
+    field public static final int GL_DST_ALPHA = 772; // 0x304
+    field public static final int GL_DST_COLOR = 774; // 0x306
+    field public static final int GL_EMISSION = 5632; // 0x1600
+    field public static final int GL_EQUAL = 514; // 0x202
+    field public static final int GL_EQUIV = 5385; // 0x1509
+    field public static final int GL_EXP = 2048; // 0x800
+    field public static final int GL_EXP2 = 2049; // 0x801
+    field public static final int GL_EXTENSIONS = 7939; // 0x1f03
+    field public static final int GL_FALSE = 0; // 0x0
+    field public static final int GL_FASTEST = 4353; // 0x1101
+    field public static final int GL_FIXED = 5132; // 0x140c
+    field public static final int GL_FLAT = 7424; // 0x1d00
+    field public static final int GL_FLOAT = 5126; // 0x1406
+    field public static final int GL_FOG = 2912; // 0xb60
+    field public static final int GL_FOG_COLOR = 2918; // 0xb66
+    field public static final int GL_FOG_DENSITY = 2914; // 0xb62
+    field public static final int GL_FOG_END = 2916; // 0xb64
+    field public static final int GL_FOG_HINT = 3156; // 0xc54
+    field public static final int GL_FOG_MODE = 2917; // 0xb65
+    field public static final int GL_FOG_START = 2915; // 0xb63
+    field public static final int GL_FRONT = 1028; // 0x404
+    field public static final int GL_FRONT_AND_BACK = 1032; // 0x408
+    field public static final int GL_GEQUAL = 518; // 0x206
+    field public static final int GL_GREATER = 516; // 0x204
+    field public static final int GL_GREEN_BITS = 3411; // 0xd53
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 35739; // 0x8b9b
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 35738; // 0x8b9a
+    field public static final int GL_INCR = 7682; // 0x1e02
+    field public static final int GL_INVALID_ENUM = 1280; // 0x500
+    field public static final int GL_INVALID_OPERATION = 1282; // 0x502
+    field public static final int GL_INVALID_VALUE = 1281; // 0x501
+    field public static final int GL_INVERT = 5386; // 0x150a
+    field public static final int GL_KEEP = 7680; // 0x1e00
+    field public static final int GL_LEQUAL = 515; // 0x203
+    field public static final int GL_LESS = 513; // 0x201
+    field public static final int GL_LIGHT0 = 16384; // 0x4000
+    field public static final int GL_LIGHT1 = 16385; // 0x4001
+    field public static final int GL_LIGHT2 = 16386; // 0x4002
+    field public static final int GL_LIGHT3 = 16387; // 0x4003
+    field public static final int GL_LIGHT4 = 16388; // 0x4004
+    field public static final int GL_LIGHT5 = 16389; // 0x4005
+    field public static final int GL_LIGHT6 = 16390; // 0x4006
+    field public static final int GL_LIGHT7 = 16391; // 0x4007
+    field public static final int GL_LIGHTING = 2896; // 0xb50
+    field public static final int GL_LIGHT_MODEL_AMBIENT = 2899; // 0xb53
+    field public static final int GL_LIGHT_MODEL_TWO_SIDE = 2898; // 0xb52
+    field public static final int GL_LINEAR = 9729; // 0x2601
+    field public static final int GL_LINEAR_ATTENUATION = 4616; // 0x1208
+    field public static final int GL_LINEAR_MIPMAP_LINEAR = 9987; // 0x2703
+    field public static final int GL_LINEAR_MIPMAP_NEAREST = 9985; // 0x2701
+    field public static final int GL_LINES = 1; // 0x1
+    field public static final int GL_LINE_LOOP = 2; // 0x2
+    field public static final int GL_LINE_SMOOTH = 2848; // 0xb20
+    field public static final int GL_LINE_SMOOTH_HINT = 3154; // 0xc52
+    field public static final int GL_LINE_STRIP = 3; // 0x3
+    field public static final int GL_LUMINANCE = 6409; // 0x1909
+    field public static final int GL_LUMINANCE_ALPHA = 6410; // 0x190a
+    field public static final int GL_MAX_ELEMENTS_INDICES = 33001; // 0x80e9
+    field public static final int GL_MAX_ELEMENTS_VERTICES = 33000; // 0x80e8
+    field public static final int GL_MAX_LIGHTS = 3377; // 0xd31
+    field public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 3382; // 0xd36
+    field public static final int GL_MAX_PROJECTION_STACK_DEPTH = 3384; // 0xd38
+    field public static final int GL_MAX_TEXTURE_SIZE = 3379; // 0xd33
+    field public static final int GL_MAX_TEXTURE_STACK_DEPTH = 3385; // 0xd39
+    field public static final int GL_MAX_TEXTURE_UNITS = 34018; // 0x84e2
+    field public static final int GL_MAX_VIEWPORT_DIMS = 3386; // 0xd3a
+    field public static final int GL_MODELVIEW = 5888; // 0x1700
+    field public static final int GL_MODULATE = 8448; // 0x2100
+    field public static final int GL_MULTISAMPLE = 32925; // 0x809d
+    field public static final int GL_NAND = 5390; // 0x150e
+    field public static final int GL_NEAREST = 9728; // 0x2600
+    field public static final int GL_NEAREST_MIPMAP_LINEAR = 9986; // 0x2702
+    field public static final int GL_NEAREST_MIPMAP_NEAREST = 9984; // 0x2700
+    field public static final int GL_NEVER = 512; // 0x200
+    field public static final int GL_NICEST = 4354; // 0x1102
+    field public static final int GL_NOOP = 5381; // 0x1505
+    field public static final int GL_NOR = 5384; // 0x1508
+    field public static final int GL_NORMALIZE = 2977; // 0xba1
+    field public static final int GL_NORMAL_ARRAY = 32885; // 0x8075
+    field public static final int GL_NOTEQUAL = 517; // 0x205
+    field public static final int GL_NO_ERROR = 0; // 0x0
+    field public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 34466; // 0x86a2
+    field public static final int GL_ONE = 1; // 0x1
+    field public static final int GL_ONE_MINUS_DST_ALPHA = 773; // 0x305
+    field public static final int GL_ONE_MINUS_DST_COLOR = 775; // 0x307
+    field public static final int GL_ONE_MINUS_SRC_ALPHA = 771; // 0x303
+    field public static final int GL_ONE_MINUS_SRC_COLOR = 769; // 0x301
+    field public static final int GL_OR = 5383; // 0x1507
+    field public static final int GL_OR_INVERTED = 5389; // 0x150d
+    field public static final int GL_OR_REVERSE = 5387; // 0x150b
+    field public static final int GL_OUT_OF_MEMORY = 1285; // 0x505
+    field public static final int GL_PACK_ALIGNMENT = 3333; // 0xd05
+    field public static final int GL_PALETTE4_R5_G6_B5_OES = 35730; // 0x8b92
+    field public static final int GL_PALETTE4_RGB5_A1_OES = 35732; // 0x8b94
+    field public static final int GL_PALETTE4_RGB8_OES = 35728; // 0x8b90
+    field public static final int GL_PALETTE4_RGBA4_OES = 35731; // 0x8b93
+    field public static final int GL_PALETTE4_RGBA8_OES = 35729; // 0x8b91
+    field public static final int GL_PALETTE8_R5_G6_B5_OES = 35735; // 0x8b97
+    field public static final int GL_PALETTE8_RGB5_A1_OES = 35737; // 0x8b99
+    field public static final int GL_PALETTE8_RGB8_OES = 35733; // 0x8b95
+    field public static final int GL_PALETTE8_RGBA4_OES = 35736; // 0x8b98
+    field public static final int GL_PALETTE8_RGBA8_OES = 35734; // 0x8b96
+    field public static final int GL_PERSPECTIVE_CORRECTION_HINT = 3152; // 0xc50
+    field public static final int GL_POINTS = 0; // 0x0
+    field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+    field public static final int GL_POINT_SIZE = 2833; // 0xb11
+    field public static final int GL_POINT_SMOOTH = 2832; // 0xb10
+    field public static final int GL_POINT_SMOOTH_HINT = 3153; // 0xc51
+    field public static final int GL_POLYGON_OFFSET_FILL = 32823; // 0x8037
+    field public static final int GL_POLYGON_SMOOTH_HINT = 3155; // 0xc53
+    field public static final int GL_POSITION = 4611; // 0x1203
+    field public static final int GL_PROJECTION = 5889; // 0x1701
+    field public static final int GL_QUADRATIC_ATTENUATION = 4617; // 0x1209
+    field public static final int GL_RED_BITS = 3410; // 0xd52
+    field public static final int GL_RENDERER = 7937; // 0x1f01
+    field public static final int GL_REPEAT = 10497; // 0x2901
+    field public static final int GL_REPLACE = 7681; // 0x1e01
+    field public static final int GL_RESCALE_NORMAL = 32826; // 0x803a
+    field public static final int GL_RGB = 6407; // 0x1907
+    field public static final int GL_RGBA = 6408; // 0x1908
+    field public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 32926; // 0x809e
+    field public static final int GL_SAMPLE_ALPHA_TO_ONE = 32927; // 0x809f
+    field public static final int GL_SAMPLE_COVERAGE = 32928; // 0x80a0
+    field public static final int GL_SCISSOR_TEST = 3089; // 0xc11
+    field public static final int GL_SET = 5391; // 0x150f
+    field public static final int GL_SHININESS = 5633; // 0x1601
+    field public static final int GL_SHORT = 5122; // 0x1402
+    field public static final int GL_SMOOTH = 7425; // 0x1d01
+    field public static final int GL_SMOOTH_LINE_WIDTH_RANGE = 2850; // 0xb22
+    field public static final int GL_SMOOTH_POINT_SIZE_RANGE = 2834; // 0xb12
+    field public static final int GL_SPECULAR = 4610; // 0x1202
+    field public static final int GL_SPOT_CUTOFF = 4614; // 0x1206
+    field public static final int GL_SPOT_DIRECTION = 4612; // 0x1204
+    field public static final int GL_SPOT_EXPONENT = 4613; // 0x1205
+    field public static final int GL_SRC_ALPHA = 770; // 0x302
+    field public static final int GL_SRC_ALPHA_SATURATE = 776; // 0x308
+    field public static final int GL_SRC_COLOR = 768; // 0x300
+    field public static final int GL_STACK_OVERFLOW = 1283; // 0x503
+    field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504
+    field public static final int GL_STENCIL_BITS = 3415; // 0xd57
+    field public static final int GL_STENCIL_BUFFER_BIT = 1024; // 0x400
+    field public static final int GL_STENCIL_TEST = 2960; // 0xb90
+    field public static final int GL_SUBPIXEL_BITS = 3408; // 0xd50
+    field public static final int GL_TEXTURE = 5890; // 0x1702
+    field public static final int GL_TEXTURE0 = 33984; // 0x84c0
+    field public static final int GL_TEXTURE1 = 33985; // 0x84c1
+    field public static final int GL_TEXTURE10 = 33994; // 0x84ca
+    field public static final int GL_TEXTURE11 = 33995; // 0x84cb
+    field public static final int GL_TEXTURE12 = 33996; // 0x84cc
+    field public static final int GL_TEXTURE13 = 33997; // 0x84cd
+    field public static final int GL_TEXTURE14 = 33998; // 0x84ce
+    field public static final int GL_TEXTURE15 = 33999; // 0x84cf
+    field public static final int GL_TEXTURE16 = 34000; // 0x84d0
+    field public static final int GL_TEXTURE17 = 34001; // 0x84d1
+    field public static final int GL_TEXTURE18 = 34002; // 0x84d2
+    field public static final int GL_TEXTURE19 = 34003; // 0x84d3
+    field public static final int GL_TEXTURE2 = 33986; // 0x84c2
+    field public static final int GL_TEXTURE20 = 34004; // 0x84d4
+    field public static final int GL_TEXTURE21 = 34005; // 0x84d5
+    field public static final int GL_TEXTURE22 = 34006; // 0x84d6
+    field public static final int GL_TEXTURE23 = 34007; // 0x84d7
+    field public static final int GL_TEXTURE24 = 34008; // 0x84d8
+    field public static final int GL_TEXTURE25 = 34009; // 0x84d9
+    field public static final int GL_TEXTURE26 = 34010; // 0x84da
+    field public static final int GL_TEXTURE27 = 34011; // 0x84db
+    field public static final int GL_TEXTURE28 = 34012; // 0x84dc
+    field public static final int GL_TEXTURE29 = 34013; // 0x84dd
+    field public static final int GL_TEXTURE3 = 33987; // 0x84c3
+    field public static final int GL_TEXTURE30 = 34014; // 0x84de
+    field public static final int GL_TEXTURE31 = 34015; // 0x84df
+    field public static final int GL_TEXTURE4 = 33988; // 0x84c4
+    field public static final int GL_TEXTURE5 = 33989; // 0x84c5
+    field public static final int GL_TEXTURE6 = 33990; // 0x84c6
+    field public static final int GL_TEXTURE7 = 33991; // 0x84c7
+    field public static final int GL_TEXTURE8 = 33992; // 0x84c8
+    field public static final int GL_TEXTURE9 = 33993; // 0x84c9
+    field public static final int GL_TEXTURE_2D = 3553; // 0xde1
+    field public static final int GL_TEXTURE_COORD_ARRAY = 32888; // 0x8078
+    field public static final int GL_TEXTURE_ENV = 8960; // 0x2300
+    field public static final int GL_TEXTURE_ENV_COLOR = 8705; // 0x2201
+    field public static final int GL_TEXTURE_ENV_MODE = 8704; // 0x2200
+    field public static final int GL_TEXTURE_MAG_FILTER = 10240; // 0x2800
+    field public static final int GL_TEXTURE_MIN_FILTER = 10241; // 0x2801
+    field public static final int GL_TEXTURE_WRAP_S = 10242; // 0x2802
+    field public static final int GL_TEXTURE_WRAP_T = 10243; // 0x2803
+    field public static final int GL_TRIANGLES = 4; // 0x4
+    field public static final int GL_TRIANGLE_FAN = 6; // 0x6
+    field public static final int GL_TRIANGLE_STRIP = 5; // 0x5
+    field public static final int GL_TRUE = 1; // 0x1
+    field public static final int GL_UNPACK_ALIGNMENT = 3317; // 0xcf5
+    field public static final int GL_UNSIGNED_BYTE = 5121; // 0x1401
+    field public static final int GL_UNSIGNED_SHORT = 5123; // 0x1403
+    field public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 32819; // 0x8033
+    field public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 32820; // 0x8034
+    field public static final int GL_UNSIGNED_SHORT_5_6_5 = 33635; // 0x8363
+    field public static final int GL_VENDOR = 7936; // 0x1f00
+    field public static final int GL_VERSION = 7938; // 0x1f02
+    field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074
+    field public static final int GL_XOR = 5382; // 0x1506
+    field public static final int GL_ZERO = 0; // 0x0
+  }
+
+  public interface GL10Ext extends javax.microedition.khronos.opengles.GL {
+    method public int glQueryMatrixxOES(int[], int, int[], int);
+    method public int glQueryMatrixxOES(java.nio.IntBuffer, java.nio.IntBuffer);
+  }
+
+  public interface GL11 extends javax.microedition.khronos.opengles.GL10 {
+    method public void glBindBuffer(int, int);
+    method public void glBufferData(int, int, java.nio.Buffer, int);
+    method public void glBufferSubData(int, int, int, java.nio.Buffer);
+    method public void glClipPlanef(int, float[], int);
+    method public void glClipPlanef(int, java.nio.FloatBuffer);
+    method public void glClipPlanex(int, int[], int);
+    method public void glClipPlanex(int, java.nio.IntBuffer);
+    method public void glColor4ub(byte, byte, byte, byte);
+    method public void glColorPointer(int, int, int, int);
+    method public void glDeleteBuffers(int, int[], int);
+    method public void glDeleteBuffers(int, java.nio.IntBuffer);
+    method public void glDrawElements(int, int, int, int);
+    method public void glGenBuffers(int, int[], int);
+    method public void glGenBuffers(int, java.nio.IntBuffer);
+    method public void glGetBooleanv(int, boolean[], int);
+    method public void glGetBooleanv(int, java.nio.IntBuffer);
+    method public void glGetBufferParameteriv(int, int, int[], int);
+    method public void glGetBufferParameteriv(int, int, java.nio.IntBuffer);
+    method public void glGetClipPlanef(int, float[], int);
+    method public void glGetClipPlanef(int, java.nio.FloatBuffer);
+    method public void glGetClipPlanex(int, int[], int);
+    method public void glGetClipPlanex(int, java.nio.IntBuffer);
+    method public void glGetFixedv(int, int[], int);
+    method public void glGetFixedv(int, java.nio.IntBuffer);
+    method public void glGetFloatv(int, float[], int);
+    method public void glGetFloatv(int, java.nio.FloatBuffer);
+    method public void glGetLightfv(int, int, float[], int);
+    method public void glGetLightfv(int, int, java.nio.FloatBuffer);
+    method public void glGetLightxv(int, int, int[], int);
+    method public void glGetLightxv(int, int, java.nio.IntBuffer);
+    method public void glGetMaterialfv(int, int, float[], int);
+    method public void glGetMaterialfv(int, int, java.nio.FloatBuffer);
+    method public void glGetMaterialxv(int, int, int[], int);
+    method public void glGetMaterialxv(int, int, java.nio.IntBuffer);
+    method public void glGetPointerv(int, java.nio.Buffer[]);
+    method public void glGetTexEnviv(int, int, int[], int);
+    method public void glGetTexEnviv(int, int, java.nio.IntBuffer);
+    method public void glGetTexEnvxv(int, int, int[], int);
+    method public void glGetTexEnvxv(int, int, java.nio.IntBuffer);
+    method public void glGetTexParameterfv(int, int, float[], int);
+    method public void glGetTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public void glGetTexParameteriv(int, int, int[], int);
+    method public void glGetTexParameteriv(int, int, java.nio.IntBuffer);
+    method public void glGetTexParameterxv(int, int, int[], int);
+    method public void glGetTexParameterxv(int, int, java.nio.IntBuffer);
+    method public boolean glIsBuffer(int);
+    method public boolean glIsEnabled(int);
+    method public boolean glIsTexture(int);
+    method public void glNormalPointer(int, int, int);
+    method public void glPointParameterf(int, float);
+    method public void glPointParameterfv(int, float[], int);
+    method public void glPointParameterfv(int, java.nio.FloatBuffer);
+    method public void glPointParameterx(int, int);
+    method public void glPointParameterxv(int, int[], int);
+    method public void glPointParameterxv(int, java.nio.IntBuffer);
+    method public void glPointSizePointerOES(int, int, java.nio.Buffer);
+    method public void glTexCoordPointer(int, int, int, int);
+    method public void glTexEnvi(int, int, int);
+    method public void glTexEnviv(int, int, int[], int);
+    method public void glTexEnviv(int, int, java.nio.IntBuffer);
+    method public void glTexParameterfv(int, int, float[], int);
+    method public void glTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public void glTexParameteri(int, int, int);
+    method public void glTexParameteriv(int, int, int[], int);
+    method public void glTexParameteriv(int, int, java.nio.IntBuffer);
+    method public void glTexParameterxv(int, int, int[], int);
+    method public void glTexParameterxv(int, int, java.nio.IntBuffer);
+    method public void glVertexPointer(int, int, int, int);
+    field public static final int GL_ACTIVE_TEXTURE = 34016; // 0x84e0
+    field public static final int GL_ADD_SIGNED = 34164; // 0x8574
+    field public static final int GL_ALPHA_SCALE = 3356; // 0xd1c
+    field public static final int GL_ALPHA_TEST_FUNC = 3009; // 0xbc1
+    field public static final int GL_ALPHA_TEST_REF = 3010; // 0xbc2
+    field public static final int GL_ARRAY_BUFFER = 34962; // 0x8892
+    field public static final int GL_ARRAY_BUFFER_BINDING = 34964; // 0x8894
+    field public static final int GL_BLEND_DST = 3040; // 0xbe0
+    field public static final int GL_BLEND_SRC = 3041; // 0xbe1
+    field public static final int GL_BUFFER_ACCESS = 35003; // 0x88bb
+    field public static final int GL_BUFFER_SIZE = 34660; // 0x8764
+    field public static final int GL_BUFFER_USAGE = 34661; // 0x8765
+    field public static final int GL_CLIENT_ACTIVE_TEXTURE = 34017; // 0x84e1
+    field public static final int GL_CLIP_PLANE0 = 12288; // 0x3000
+    field public static final int GL_CLIP_PLANE1 = 12289; // 0x3001
+    field public static final int GL_CLIP_PLANE2 = 12290; // 0x3002
+    field public static final int GL_CLIP_PLANE3 = 12291; // 0x3003
+    field public static final int GL_CLIP_PLANE4 = 12292; // 0x3004
+    field public static final int GL_CLIP_PLANE5 = 12293; // 0x3005
+    field public static final int GL_COLOR_ARRAY_BUFFER_BINDING = 34968; // 0x8898
+    field public static final int GL_COLOR_ARRAY_POINTER = 32912; // 0x8090
+    field public static final int GL_COLOR_ARRAY_SIZE = 32897; // 0x8081
+    field public static final int GL_COLOR_ARRAY_STRIDE = 32899; // 0x8083
+    field public static final int GL_COLOR_ARRAY_TYPE = 32898; // 0x8082
+    field public static final int GL_COLOR_CLEAR_VALUE = 3106; // 0xc22
+    field public static final int GL_COLOR_WRITEMASK = 3107; // 0xc23
+    field public static final int GL_COMBINE = 34160; // 0x8570
+    field public static final int GL_COMBINE_ALPHA = 34162; // 0x8572
+    field public static final int GL_COMBINE_RGB = 34161; // 0x8571
+    field public static final int GL_CONSTANT = 34166; // 0x8576
+    field public static final int GL_COORD_REPLACE_OES = 34914; // 0x8862
+    field public static final int GL_CULL_FACE_MODE = 2885; // 0xb45
+    field public static final int GL_CURRENT_COLOR = 2816; // 0xb00
+    field public static final int GL_CURRENT_NORMAL = 2818; // 0xb02
+    field public static final int GL_CURRENT_TEXTURE_COORDS = 2819; // 0xb03
+    field public static final int GL_DEPTH_CLEAR_VALUE = 2931; // 0xb73
+    field public static final int GL_DEPTH_FUNC = 2932; // 0xb74
+    field public static final int GL_DEPTH_RANGE = 2928; // 0xb70
+    field public static final int GL_DEPTH_WRITEMASK = 2930; // 0xb72
+    field public static final int GL_DOT3_RGB = 34478; // 0x86ae
+    field public static final int GL_DOT3_RGBA = 34479; // 0x86af
+    field public static final int GL_DYNAMIC_DRAW = 35048; // 0x88e8
+    field public static final int GL_ELEMENT_ARRAY_BUFFER = 34963; // 0x8893
+    field public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 34965; // 0x8895
+    field public static final int GL_FRONT_FACE = 2886; // 0xb46
+    field public static final int GL_GENERATE_MIPMAP = 33169; // 0x8191
+    field public static final int GL_GENERATE_MIPMAP_HINT = 33170; // 0x8192
+    field public static final int GL_INTERPOLATE = 34165; // 0x8575
+    field public static final int GL_LINE_WIDTH = 2849; // 0xb21
+    field public static final int GL_LOGIC_OP_MODE = 3056; // 0xbf0
+    field public static final int GL_MATRIX_MODE = 2976; // 0xba0
+    field public static final int GL_MAX_CLIP_PLANES = 3378; // 0xd32
+    field public static final int GL_MODELVIEW_MATRIX = 2982; // 0xba6
+    field public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 35213; // 0x898d
+    field public static final int GL_MODELVIEW_STACK_DEPTH = 2979; // 0xba3
+    field public static final int GL_NORMAL_ARRAY_BUFFER_BINDING = 34967; // 0x8897
+    field public static final int GL_NORMAL_ARRAY_POINTER = 32911; // 0x808f
+    field public static final int GL_NORMAL_ARRAY_STRIDE = 32895; // 0x807f
+    field public static final int GL_NORMAL_ARRAY_TYPE = 32894; // 0x807e
+    field public static final int GL_OPERAND0_ALPHA = 34200; // 0x8598
+    field public static final int GL_OPERAND0_RGB = 34192; // 0x8590
+    field public static final int GL_OPERAND1_ALPHA = 34201; // 0x8599
+    field public static final int GL_OPERAND1_RGB = 34193; // 0x8591
+    field public static final int GL_OPERAND2_ALPHA = 34202; // 0x859a
+    field public static final int GL_OPERAND2_RGB = 34194; // 0x8592
+    field public static final int GL_POINT_DISTANCE_ATTENUATION = 33065; // 0x8129
+    field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+    field public static final int GL_POINT_SIZE = 2833; // 0xb11
+    field public static final int GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 35743; // 0x8b9f
+    field public static final int GL_POINT_SIZE_ARRAY_OES = 35740; // 0x8b9c
+    field public static final int GL_POINT_SIZE_ARRAY_POINTER_OES = 35212; // 0x898c
+    field public static final int GL_POINT_SIZE_ARRAY_STRIDE_OES = 35211; // 0x898b
+    field public static final int GL_POINT_SIZE_ARRAY_TYPE_OES = 35210; // 0x898a
+    field public static final int GL_POINT_SIZE_MAX = 33063; // 0x8127
+    field public static final int GL_POINT_SIZE_MIN = 33062; // 0x8126
+    field public static final int GL_POINT_SPRITE_OES = 34913; // 0x8861
+    field public static final int GL_POLYGON_OFFSET_FACTOR = 32824; // 0x8038
+    field public static final int GL_POLYGON_OFFSET_UNITS = 10752; // 0x2a00
+    field public static final int GL_PREVIOUS = 34168; // 0x8578
+    field public static final int GL_PRIMARY_COLOR = 34167; // 0x8577
+    field public static final int GL_PROJECTION_MATRIX = 2983; // 0xba7
+    field public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 35214; // 0x898e
+    field public static final int GL_PROJECTION_STACK_DEPTH = 2980; // 0xba4
+    field public static final int GL_RGB_SCALE = 34163; // 0x8573
+    field public static final int GL_SAMPLES = 32937; // 0x80a9
+    field public static final int GL_SAMPLE_BUFFERS = 32936; // 0x80a8
+    field public static final int GL_SAMPLE_COVERAGE_INVERT = 32939; // 0x80ab
+    field public static final int GL_SAMPLE_COVERAGE_VALUE = 32938; // 0x80aa
+    field public static final int GL_SCISSOR_BOX = 3088; // 0xc10
+    field public static final int GL_SHADE_MODEL = 2900; // 0xb54
+    field public static final int GL_SRC0_ALPHA = 34184; // 0x8588
+    field public static final int GL_SRC0_RGB = 34176; // 0x8580
+    field public static final int GL_SRC1_ALPHA = 34185; // 0x8589
+    field public static final int GL_SRC1_RGB = 34177; // 0x8581
+    field public static final int GL_SRC2_ALPHA = 34186; // 0x858a
+    field public static final int GL_SRC2_RGB = 34178; // 0x8582
+    field public static final int GL_STATIC_DRAW = 35044; // 0x88e4
+    field public static final int GL_STENCIL_CLEAR_VALUE = 2961; // 0xb91
+    field public static final int GL_STENCIL_FAIL = 2964; // 0xb94
+    field public static final int GL_STENCIL_FUNC = 2962; // 0xb92
+    field public static final int GL_STENCIL_PASS_DEPTH_FAIL = 2965; // 0xb95
+    field public static final int GL_STENCIL_PASS_DEPTH_PASS = 2966; // 0xb96
+    field public static final int GL_STENCIL_REF = 2967; // 0xb97
+    field public static final int GL_STENCIL_VALUE_MASK = 2963; // 0xb93
+    field public static final int GL_STENCIL_WRITEMASK = 2968; // 0xb98
+    field public static final int GL_SUBTRACT = 34023; // 0x84e7
+    field public static final int GL_TEXTURE_BINDING_2D = 32873; // 0x8069
+    field public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 34970; // 0x889a
+    field public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 32914; // 0x8092
+    field public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 32904; // 0x8088
+    field public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 32906; // 0x808a
+    field public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 32905; // 0x8089
+    field public static final int GL_TEXTURE_MATRIX = 2984; // 0xba8
+    field public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 35215; // 0x898f
+    field public static final int GL_TEXTURE_STACK_DEPTH = 2981; // 0xba5
+    field public static final int GL_VERTEX_ARRAY_BUFFER_BINDING = 34966; // 0x8896
+    field public static final int GL_VERTEX_ARRAY_POINTER = 32910; // 0x808e
+    field public static final int GL_VERTEX_ARRAY_SIZE = 32890; // 0x807a
+    field public static final int GL_VERTEX_ARRAY_STRIDE = 32892; // 0x807c
+    field public static final int GL_VERTEX_ARRAY_TYPE = 32891; // 0x807b
+    field public static final int GL_VIEWPORT = 2978; // 0xba2
+    field public static final int GL_WRITE_ONLY = 35001; // 0x88b9
+  }
+
+  public interface GL11Ext extends javax.microedition.khronos.opengles.GL {
+    method public void glCurrentPaletteMatrixOES(int);
+    method public void glDrawTexfOES(float, float, float, float, float);
+    method public void glDrawTexfvOES(float[], int);
+    method public void glDrawTexfvOES(java.nio.FloatBuffer);
+    method public void glDrawTexiOES(int, int, int, int, int);
+    method public void glDrawTexivOES(int[], int);
+    method public void glDrawTexivOES(java.nio.IntBuffer);
+    method public void glDrawTexsOES(short, short, short, short, short);
+    method public void glDrawTexsvOES(short[], int);
+    method public void glDrawTexsvOES(java.nio.ShortBuffer);
+    method public void glDrawTexxOES(int, int, int, int, int);
+    method public void glDrawTexxvOES(int[], int);
+    method public void glDrawTexxvOES(java.nio.IntBuffer);
+    method public void glEnable(int);
+    method public void glEnableClientState(int);
+    method public void glLoadPaletteFromModelViewMatrixOES();
+    method public void glMatrixIndexPointerOES(int, int, int, java.nio.Buffer);
+    method public void glMatrixIndexPointerOES(int, int, int, int);
+    method public void glTexParameterfv(int, int, float[], int);
+    method public void glWeightPointerOES(int, int, int, java.nio.Buffer);
+    method public void glWeightPointerOES(int, int, int, int);
+    field public static final int GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 35742; // 0x8b9e
+    field public static final int GL_MATRIX_INDEX_ARRAY_OES = 34884; // 0x8844
+    field public static final int GL_MATRIX_INDEX_ARRAY_POINTER_OES = 34889; // 0x8849
+    field public static final int GL_MATRIX_INDEX_ARRAY_SIZE_OES = 34886; // 0x8846
+    field public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 34888; // 0x8848
+    field public static final int GL_MATRIX_INDEX_ARRAY_TYPE_OES = 34887; // 0x8847
+    field public static final int GL_MATRIX_PALETTE_OES = 34880; // 0x8840
+    field public static final int GL_MAX_PALETTE_MATRICES_OES = 34882; // 0x8842
+    field public static final int GL_MAX_VERTEX_UNITS_OES = 34468; // 0x86a4
+    field public static final int GL_TEXTURE_CROP_RECT_OES = 35741; // 0x8b9d
+    field public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 34974; // 0x889e
+    field public static final int GL_WEIGHT_ARRAY_OES = 34477; // 0x86ad
+    field public static final int GL_WEIGHT_ARRAY_POINTER_OES = 34476; // 0x86ac
+    field public static final int GL_WEIGHT_ARRAY_SIZE_OES = 34475; // 0x86ab
+    field public static final int GL_WEIGHT_ARRAY_STRIDE_OES = 34474; // 0x86aa
+    field public static final int GL_WEIGHT_ARRAY_TYPE_OES = 34473; // 0x86a9
+  }
+
+  public interface GL11ExtensionPack extends javax.microedition.khronos.opengles.GL {
+    method public void glBindFramebufferOES(int, int);
+    method public void glBindRenderbufferOES(int, int);
+    method public void glBindTexture(int, int);
+    method public void glBlendEquation(int);
+    method public void glBlendEquationSeparate(int, int);
+    method public void glBlendFuncSeparate(int, int, int, int);
+    method public int glCheckFramebufferStatusOES(int);
+    method public void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+    method public void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+    method public void glDeleteFramebuffersOES(int, int[], int);
+    method public void glDeleteFramebuffersOES(int, java.nio.IntBuffer);
+    method public void glDeleteRenderbuffersOES(int, int[], int);
+    method public void glDeleteRenderbuffersOES(int, java.nio.IntBuffer);
+    method public void glEnable(int);
+    method public void glFramebufferRenderbufferOES(int, int, int, int);
+    method public void glFramebufferTexture2DOES(int, int, int, int, int);
+    method public void glGenFramebuffersOES(int, int[], int);
+    method public void glGenFramebuffersOES(int, java.nio.IntBuffer);
+    method public void glGenRenderbuffersOES(int, int[], int);
+    method public void glGenRenderbuffersOES(int, java.nio.IntBuffer);
+    method public void glGenerateMipmapOES(int);
+    method public void glGetFramebufferAttachmentParameterivOES(int, int, int, int[], int);
+    method public void glGetFramebufferAttachmentParameterivOES(int, int, int, java.nio.IntBuffer);
+    method public void glGetIntegerv(int, int[], int);
+    method public void glGetIntegerv(int, java.nio.IntBuffer);
+    method public void glGetRenderbufferParameterivOES(int, int, int[], int);
+    method public void glGetRenderbufferParameterivOES(int, int, java.nio.IntBuffer);
+    method public void glGetTexGenfv(int, int, float[], int);
+    method public void glGetTexGenfv(int, int, java.nio.FloatBuffer);
+    method public void glGetTexGeniv(int, int, int[], int);
+    method public void glGetTexGeniv(int, int, java.nio.IntBuffer);
+    method public void glGetTexGenxv(int, int, int[], int);
+    method public void glGetTexGenxv(int, int, java.nio.IntBuffer);
+    method public boolean glIsFramebufferOES(int);
+    method public boolean glIsRenderbufferOES(int);
+    method public void glRenderbufferStorageOES(int, int, int, int);
+    method public void glStencilOp(int, int, int);
+    method public void glTexEnvf(int, int, float);
+    method public void glTexEnvfv(int, int, float[], int);
+    method public void glTexEnvfv(int, int, java.nio.FloatBuffer);
+    method public void glTexEnvx(int, int, int);
+    method public void glTexEnvxv(int, int, int[], int);
+    method public void glTexEnvxv(int, int, java.nio.IntBuffer);
+    method public void glTexGenf(int, int, float);
+    method public void glTexGenfv(int, int, float[], int);
+    method public void glTexGenfv(int, int, java.nio.FloatBuffer);
+    method public void glTexGeni(int, int, int);
+    method public void glTexGeniv(int, int, int[], int);
+    method public void glTexGeniv(int, int, java.nio.IntBuffer);
+    method public void glTexGenx(int, int, int);
+    method public void glTexGenxv(int, int, int[], int);
+    method public void glTexGenxv(int, int, java.nio.IntBuffer);
+    method public void glTexParameterf(int, int, float);
+    field public static final int GL_BLEND_DST_ALPHA = 32970; // 0x80ca
+    field public static final int GL_BLEND_DST_RGB = 32968; // 0x80c8
+    field public static final int GL_BLEND_EQUATION = 32777; // 0x8009
+    field public static final int GL_BLEND_EQUATION_ALPHA = 34877; // 0x883d
+    field public static final int GL_BLEND_EQUATION_RGB = 32777; // 0x8009
+    field public static final int GL_BLEND_SRC_ALPHA = 32971; // 0x80cb
+    field public static final int GL_BLEND_SRC_RGB = 32969; // 0x80c9
+    field public static final int GL_COLOR_ATTACHMENT0_OES = 36064; // 0x8ce0
+    field public static final int GL_COLOR_ATTACHMENT10_OES = 36074; // 0x8cea
+    field public static final int GL_COLOR_ATTACHMENT11_OES = 36075; // 0x8ceb
+    field public static final int GL_COLOR_ATTACHMENT12_OES = 36076; // 0x8cec
+    field public static final int GL_COLOR_ATTACHMENT13_OES = 36077; // 0x8ced
+    field public static final int GL_COLOR_ATTACHMENT14_OES = 36078; // 0x8cee
+    field public static final int GL_COLOR_ATTACHMENT15_OES = 36079; // 0x8cef
+    field public static final int GL_COLOR_ATTACHMENT1_OES = 36065; // 0x8ce1
+    field public static final int GL_COLOR_ATTACHMENT2_OES = 36066; // 0x8ce2
+    field public static final int GL_COLOR_ATTACHMENT3_OES = 36067; // 0x8ce3
+    field public static final int GL_COLOR_ATTACHMENT4_OES = 36068; // 0x8ce4
+    field public static final int GL_COLOR_ATTACHMENT5_OES = 36069; // 0x8ce5
+    field public static final int GL_COLOR_ATTACHMENT6_OES = 36070; // 0x8ce6
+    field public static final int GL_COLOR_ATTACHMENT7_OES = 36071; // 0x8ce7
+    field public static final int GL_COLOR_ATTACHMENT8_OES = 36072; // 0x8ce8
+    field public static final int GL_COLOR_ATTACHMENT9_OES = 36073; // 0x8ce9
+    field public static final int GL_DECR_WRAP = 34056; // 0x8508
+    field public static final int GL_DEPTH_ATTACHMENT_OES = 36096; // 0x8d00
+    field public static final int GL_DEPTH_COMPONENT = 6402; // 0x1902
+    field public static final int GL_DEPTH_COMPONENT16 = 33189; // 0x81a5
+    field public static final int GL_DEPTH_COMPONENT24 = 33190; // 0x81a6
+    field public static final int GL_DEPTH_COMPONENT32 = 33191; // 0x81a7
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 36049; // 0x8cd1
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 36048; // 0x8cd0
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 36051; // 0x8cd3
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 36050; // 0x8cd2
+    field public static final int GL_FRAMEBUFFER_BINDING_OES = 36006; // 0x8ca6
+    field public static final int GL_FRAMEBUFFER_COMPLETE_OES = 36053; // 0x8cd5
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 36054; // 0x8cd6
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 36057; // 0x8cd9
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 36059; // 0x8cdb
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 36058; // 0x8cda
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 36055; // 0x8cd7
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 36060; // 0x8cdc
+    field public static final int GL_FRAMEBUFFER_OES = 36160; // 0x8d40
+    field public static final int GL_FRAMEBUFFER_UNSUPPORTED_OES = 36061; // 0x8cdd
+    field public static final int GL_FUNC_ADD = 32774; // 0x8006
+    field public static final int GL_FUNC_REVERSE_SUBTRACT = 32779; // 0x800b
+    field public static final int GL_FUNC_SUBTRACT = 32778; // 0x800a
+    field public static final int GL_INCR_WRAP = 34055; // 0x8507
+    field public static final int GL_INVALID_FRAMEBUFFER_OPERATION_OES = 1286; // 0x506
+    field public static final int GL_MAX_COLOR_ATTACHMENTS_OES = 36063; // 0x8cdf
+    field public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE = 34076; // 0x851c
+    field public static final int GL_MAX_RENDERBUFFER_SIZE_OES = 34024; // 0x84e8
+    field public static final int GL_MIRRORED_REPEAT = 33648; // 0x8370
+    field public static final int GL_NORMAL_MAP = 34065; // 0x8511
+    field public static final int GL_REFLECTION_MAP = 34066; // 0x8512
+    field public static final int GL_RENDERBUFFER_ALPHA_SIZE_OES = 36179; // 0x8d53
+    field public static final int GL_RENDERBUFFER_BINDING_OES = 36007; // 0x8ca7
+    field public static final int GL_RENDERBUFFER_BLUE_SIZE_OES = 36178; // 0x8d52
+    field public static final int GL_RENDERBUFFER_DEPTH_SIZE_OES = 36180; // 0x8d54
+    field public static final int GL_RENDERBUFFER_GREEN_SIZE_OES = 36177; // 0x8d51
+    field public static final int GL_RENDERBUFFER_HEIGHT_OES = 36163; // 0x8d43
+    field public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 36164; // 0x8d44
+    field public static final int GL_RENDERBUFFER_OES = 36161; // 0x8d41
+    field public static final int GL_RENDERBUFFER_RED_SIZE_OES = 36176; // 0x8d50
+    field public static final int GL_RENDERBUFFER_STENCIL_SIZE_OES = 36181; // 0x8d55
+    field public static final int GL_RENDERBUFFER_WIDTH_OES = 36162; // 0x8d42
+    field public static final int GL_RGB565_OES = 36194; // 0x8d62
+    field public static final int GL_RGB5_A1 = 32855; // 0x8057
+    field public static final int GL_RGB8 = 32849; // 0x8051
+    field public static final int GL_RGBA4 = 32854; // 0x8056
+    field public static final int GL_RGBA8 = 32856; // 0x8058
+    field public static final int GL_STENCIL_ATTACHMENT_OES = 36128; // 0x8d20
+    field public static final int GL_STENCIL_INDEX = 6401; // 0x1901
+    field public static final int GL_STENCIL_INDEX1_OES = 36166; // 0x8d46
+    field public static final int GL_STENCIL_INDEX4_OES = 36167; // 0x8d47
+    field public static final int GL_STENCIL_INDEX8_OES = 36168; // 0x8d48
+    field public static final int GL_STR = -1; // 0xffffffff
+    field public static final int GL_TEXTURE_BINDING_CUBE_MAP = 34068; // 0x8514
+    field public static final int GL_TEXTURE_CUBE_MAP = 34067; // 0x8513
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070; // 0x8516
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072; // 0x8518
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074; // 0x851a
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069; // 0x8515
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 34071; // 0x8517
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073; // 0x8519
+    field public static final int GL_TEXTURE_GEN_MODE = 9472; // 0x2500
+    field public static final int GL_TEXTURE_GEN_STR = 36192; // 0x8d60
+  }
+
+}
+
+package org.apache.http.conn {
+
+  @Deprecated public class ConnectTimeoutException extends java.io.InterruptedIOException {
+    ctor @Deprecated public ConnectTimeoutException();
+    ctor @Deprecated public ConnectTimeoutException(String);
+  }
+
+}
+
+package org.apache.http.conn.scheme {
+
+  @Deprecated public interface HostNameResolver {
+    method @Deprecated public java.net.InetAddress resolve(String) throws java.io.IOException;
+  }
+
+  @Deprecated public interface LayeredSocketFactory extends org.apache.http.conn.scheme.SocketFactory {
+    method @Deprecated public java.net.Socket createSocket(java.net.Socket, String, int, boolean) throws java.io.IOException, java.net.UnknownHostException;
+  }
+
+  @Deprecated public interface SocketFactory {
+    method @Deprecated public java.net.Socket connectSocket(java.net.Socket, String, int, java.net.InetAddress, int, org.apache.http.params.HttpParams) throws org.apache.http.conn.ConnectTimeoutException, java.io.IOException, java.net.UnknownHostException;
+    method @Deprecated public java.net.Socket createSocket() throws java.io.IOException;
+    method @Deprecated public boolean isSecure(java.net.Socket) throws java.lang.IllegalArgumentException;
+  }
+
+}
+
+package org.apache.http.conn.ssl {
+
+  @Deprecated public abstract class AbstractVerifier implements org.apache.http.conn.ssl.X509HostnameVerifier {
+    ctor @Deprecated public AbstractVerifier();
+    method @Deprecated public static boolean acceptableCountryWildcard(String);
+    method @Deprecated public static int countDots(String);
+    method @Deprecated public static String[] getCNs(java.security.cert.X509Certificate);
+    method @Deprecated public static String[] getDNSSubjectAlts(java.security.cert.X509Certificate);
+    method @Deprecated public final void verify(String, javax.net.ssl.SSLSocket) throws java.io.IOException;
+    method @Deprecated public final boolean verify(String, javax.net.ssl.SSLSession);
+    method @Deprecated public final void verify(String, java.security.cert.X509Certificate) throws javax.net.ssl.SSLException;
+    method @Deprecated public final void verify(String, String[], String[], boolean) throws javax.net.ssl.SSLException;
+  }
+
+  @Deprecated public class AllowAllHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
+    ctor @Deprecated public AllowAllHostnameVerifier();
+    method @Deprecated public final String toString();
+    method @Deprecated public final void verify(String, String[], String[]);
+  }
+
+  @Deprecated public class BrowserCompatHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
+    ctor @Deprecated public BrowserCompatHostnameVerifier();
+    method @Deprecated public final String toString();
+    method @Deprecated public final void verify(String, String[], String[]) throws javax.net.ssl.SSLException;
+  }
+
+  @Deprecated public class SSLSocketFactory implements org.apache.http.conn.scheme.LayeredSocketFactory {
+    ctor @Deprecated public SSLSocketFactory(String, java.security.KeyStore, String, java.security.KeyStore, java.security.SecureRandom, org.apache.http.conn.scheme.HostNameResolver) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    ctor @Deprecated public SSLSocketFactory(java.security.KeyStore, String, java.security.KeyStore) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    ctor @Deprecated public SSLSocketFactory(java.security.KeyStore, String) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    ctor @Deprecated public SSLSocketFactory(java.security.KeyStore) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    method @Deprecated public java.net.Socket connectSocket(java.net.Socket, String, int, java.net.InetAddress, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket() throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket(java.net.Socket, String, int, boolean) throws java.io.IOException, java.net.UnknownHostException;
+    method @Deprecated public org.apache.http.conn.ssl.X509HostnameVerifier getHostnameVerifier();
+    method @Deprecated public static org.apache.http.conn.ssl.SSLSocketFactory getSocketFactory();
+    method @Deprecated public boolean isSecure(java.net.Socket) throws java.lang.IllegalArgumentException;
+    method @Deprecated public void setHostnameVerifier(org.apache.http.conn.ssl.X509HostnameVerifier);
+    field @Deprecated public static final org.apache.http.conn.ssl.X509HostnameVerifier ALLOW_ALL_HOSTNAME_VERIFIER;
+    field @Deprecated public static final org.apache.http.conn.ssl.X509HostnameVerifier BROWSER_COMPATIBLE_HOSTNAME_VERIFIER;
+    field @Deprecated public static final String SSL = "SSL";
+    field @Deprecated public static final String SSLV2 = "SSLv2";
+    field @Deprecated public static final org.apache.http.conn.ssl.X509HostnameVerifier STRICT_HOSTNAME_VERIFIER;
+    field @Deprecated public static final String TLS = "TLS";
+  }
+
+  @Deprecated public class StrictHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
+    ctor @Deprecated public StrictHostnameVerifier();
+    method @Deprecated public final String toString();
+    method @Deprecated public final void verify(String, String[], String[]) throws javax.net.ssl.SSLException;
+  }
+
+  @Deprecated public interface X509HostnameVerifier extends javax.net.ssl.HostnameVerifier {
+    method @Deprecated public void verify(String, javax.net.ssl.SSLSocket) throws java.io.IOException;
+    method @Deprecated public void verify(String, java.security.cert.X509Certificate) throws javax.net.ssl.SSLException;
+    method @Deprecated public void verify(String, String[], String[]) throws javax.net.ssl.SSLException;
+  }
+
+}
+
+package org.apache.http.params {
+
+  @Deprecated public interface CoreConnectionPNames {
+    field @Deprecated public static final String CONNECTION_TIMEOUT = "http.connection.timeout";
+    field @Deprecated public static final String MAX_HEADER_COUNT = "http.connection.max-header-count";
+    field @Deprecated public static final String MAX_LINE_LENGTH = "http.connection.max-line-length";
+    field @Deprecated public static final String SOCKET_BUFFER_SIZE = "http.socket.buffer-size";
+    field @Deprecated public static final String SO_LINGER = "http.socket.linger";
+    field @Deprecated public static final String SO_TIMEOUT = "http.socket.timeout";
+    field @Deprecated public static final String STALE_CONNECTION_CHECK = "http.connection.stalecheck";
+    field @Deprecated public static final String TCP_NODELAY = "http.tcp.nodelay";
+  }
+
+  @Deprecated public final class HttpConnectionParams implements org.apache.http.params.CoreConnectionPNames {
+    method @Deprecated public static int getConnectionTimeout(org.apache.http.params.HttpParams);
+    method @Deprecated public static int getLinger(org.apache.http.params.HttpParams);
+    method @Deprecated public static int getSoTimeout(org.apache.http.params.HttpParams);
+    method @Deprecated public static int getSocketBufferSize(org.apache.http.params.HttpParams);
+    method @Deprecated public static boolean getTcpNoDelay(org.apache.http.params.HttpParams);
+    method @Deprecated public static boolean isStaleCheckingEnabled(org.apache.http.params.HttpParams);
+    method @Deprecated public static void setConnectionTimeout(org.apache.http.params.HttpParams, int);
+    method @Deprecated public static void setLinger(org.apache.http.params.HttpParams, int);
+    method @Deprecated public static void setSoTimeout(org.apache.http.params.HttpParams, int);
+    method @Deprecated public static void setSocketBufferSize(org.apache.http.params.HttpParams, int);
+    method @Deprecated public static void setStaleCheckingEnabled(org.apache.http.params.HttpParams, boolean);
+    method @Deprecated public static void setTcpNoDelay(org.apache.http.params.HttpParams, boolean);
+  }
+
+  @Deprecated public interface HttpParams {
+    method @Deprecated public org.apache.http.params.HttpParams copy();
+    method @Deprecated public boolean getBooleanParameter(String, boolean);
+    method @Deprecated public double getDoubleParameter(String, double);
+    method @Deprecated public int getIntParameter(String, int);
+    method @Deprecated public long getLongParameter(String, long);
+    method @Deprecated public Object getParameter(String);
+    method @Deprecated public boolean isParameterFalse(String);
+    method @Deprecated public boolean isParameterTrue(String);
+    method @Deprecated public boolean removeParameter(String);
+    method @Deprecated public org.apache.http.params.HttpParams setBooleanParameter(String, boolean);
+    method @Deprecated public org.apache.http.params.HttpParams setDoubleParameter(String, double);
+    method @Deprecated public org.apache.http.params.HttpParams setIntParameter(String, int);
+    method @Deprecated public org.apache.http.params.HttpParams setLongParameter(String, long);
+    method @Deprecated public org.apache.http.params.HttpParams setParameter(String, Object);
+  }
+
+}
+
diff --git a/32/public/api/android.net.ipsec.ike-removed.txt b/32/public/api/android.net.ipsec.ike-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/android.net.ipsec.ike-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/android.net.ipsec.ike.txt b/32/public/api/android.net.ipsec.ike.txt
new file mode 100644
index 0000000..fb5b1f9
--- /dev/null
+++ b/32/public/api/android.net.ipsec.ike.txt
@@ -0,0 +1,420 @@
+// Signature format: 2.0
+package android.net.eap {
+
+  public final class EapSessionConfig {
+    method @Nullable public android.net.eap.EapSessionConfig.EapAkaConfig getEapAkaConfig();
+    method @Nullable public android.net.eap.EapSessionConfig.EapAkaPrimeConfig getEapAkaPrimeConfig();
+    method @NonNull public byte[] getEapIdentity();
+    method @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2Config();
+    method @Nullable public android.net.eap.EapSessionConfig.EapSimConfig getEapSimConfig();
+    method @Nullable public android.net.eap.EapSessionConfig.EapTtlsConfig getEapTtlsConfig();
+  }
+
+  public static final class EapSessionConfig.Builder {
+    ctor public EapSessionConfig.Builder();
+    method @NonNull public android.net.eap.EapSessionConfig build();
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaConfig(int, int);
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaPrimeConfig(int, int, @NonNull String, boolean);
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapIdentity(@NonNull byte[]);
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapMsChapV2Config(@NonNull String, @NonNull String);
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapSimConfig(int, int);
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapTtlsConfig(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig);
+  }
+
+  public static class EapSessionConfig.EapAkaConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
+    method public int getAppType();
+    method public int getSubId();
+  }
+
+  public static class EapSessionConfig.EapAkaPrimeConfig extends android.net.eap.EapSessionConfig.EapAkaConfig {
+    method public boolean allowsMismatchedNetworkNames();
+    method @NonNull public String getNetworkName();
+  }
+
+  public abstract static class EapSessionConfig.EapMethodConfig {
+    method public int getMethodType();
+    field public static final int EAP_TYPE_AKA = 23; // 0x17
+    field public static final int EAP_TYPE_AKA_PRIME = 50; // 0x32
+    field public static final int EAP_TYPE_MSCHAP_V2 = 26; // 0x1a
+    field public static final int EAP_TYPE_SIM = 18; // 0x12
+    field public static final int EAP_TYPE_TTLS = 21; // 0x15
+  }
+
+  public static class EapSessionConfig.EapMsChapV2Config extends android.net.eap.EapSessionConfig.EapMethodConfig {
+    method @NonNull public String getPassword();
+    method @NonNull public String getUsername();
+  }
+
+  public static class EapSessionConfig.EapSimConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
+    method public int getAppType();
+    method public int getSubId();
+  }
+
+  public static class EapSessionConfig.EapTtlsConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
+    method @NonNull public android.net.eap.EapSessionConfig getInnerEapSessionConfig();
+    method @Nullable public java.security.cert.X509Certificate getServerCaCert();
+  }
+
+}
+
+package android.net.ipsec.ike {
+
+  public final class ChildSaProposal extends android.net.ipsec.ike.SaProposal {
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedEncryptionAlgorithms();
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedIntegrityAlgorithms();
+  }
+
+  public static final class ChildSaProposal.Builder {
+    ctor public ChildSaProposal.Builder();
+    method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addDhGroup(int);
+    method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addEncryptionAlgorithm(int, int);
+    method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addIntegrityAlgorithm(int);
+    method @NonNull public android.net.ipsec.ike.ChildSaProposal build();
+  }
+
+  public interface ChildSessionCallback {
+    method public void onClosed();
+    method public default void onClosedWithException(@NonNull android.net.ipsec.ike.exceptions.IkeException);
+    method public void onIpSecTransformCreated(@NonNull android.net.IpSecTransform, int);
+    method public void onIpSecTransformDeleted(@NonNull android.net.IpSecTransform, int);
+    method public void onOpened(@NonNull android.net.ipsec.ike.ChildSessionConfiguration);
+  }
+
+  public final class ChildSessionConfiguration {
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors();
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors();
+  }
+
+  public static final class ChildSessionConfiguration.Builder {
+    ctor public ChildSessionConfiguration.Builder(@NonNull java.util.List<android.net.ipsec.ike.IkeTrafficSelector>, @NonNull java.util.List<android.net.ipsec.ike.IkeTrafficSelector>);
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration build();
+  }
+
+  public abstract class ChildSessionParams {
+    method @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getChildSaProposals();
+    method @IntRange(from=0x12c, to=0x3840) public int getHardLifetimeSeconds();
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors();
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors();
+    method @IntRange(from=0x78, to=0x3840) public int getSoftLifetimeSeconds();
+  }
+
+  public final class IkeDerAsn1DnIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeDerAsn1DnIdentification(@NonNull javax.security.auth.x500.X500Principal);
+    field @NonNull public final javax.security.auth.x500.X500Principal derAsn1Dn;
+  }
+
+  public class IkeFqdnIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeFqdnIdentification(@NonNull String);
+    field @NonNull public final String fqdn;
+  }
+
+  public abstract class IkeIdentification {
+  }
+
+  public final class IkeIpv4AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeIpv4AddrIdentification(@NonNull java.net.Inet4Address);
+    field @NonNull public final java.net.Inet4Address ipv4Address;
+  }
+
+  public class IkeIpv6AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeIpv6AddrIdentification(@NonNull java.net.Inet6Address);
+    field @NonNull public final java.net.Inet6Address ipv6Address;
+  }
+
+  public final class IkeKeyIdIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeKeyIdIdentification(@NonNull byte[]);
+    field @NonNull public final byte[] keyId;
+  }
+
+  public final class IkeRfc822AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeRfc822AddrIdentification(@NonNull String);
+    field @NonNull public final String rfc822Name;
+  }
+
+  public final class IkeSaProposal extends android.net.ipsec.ike.SaProposal {
+    method @NonNull public java.util.List<java.lang.Integer> getPseudorandomFunctions();
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedEncryptionAlgorithms();
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedIntegrityAlgorithms();
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedPseudorandomFunctions();
+  }
+
+  public static final class IkeSaProposal.Builder {
+    ctor public IkeSaProposal.Builder();
+    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addDhGroup(int);
+    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addEncryptionAlgorithm(int, int);
+    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addIntegrityAlgorithm(int);
+    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addPseudorandomFunction(int);
+    method @NonNull public android.net.ipsec.ike.IkeSaProposal build();
+  }
+
+  public final class IkeSession implements java.lang.AutoCloseable {
+    ctor public IkeSession(@NonNull android.content.Context, @NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull java.util.concurrent.Executor, @NonNull android.net.ipsec.ike.IkeSessionCallback, @NonNull android.net.ipsec.ike.ChildSessionCallback);
+    method public void close();
+    method public void closeChildSession(@NonNull android.net.ipsec.ike.ChildSessionCallback);
+    method public void finalize();
+    method public void kill();
+    method public void openChildSession(@NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull android.net.ipsec.ike.ChildSessionCallback);
+  }
+
+  public interface IkeSessionCallback {
+    method public void onClosed();
+    method public default void onClosedWithException(@NonNull android.net.ipsec.ike.exceptions.IkeException);
+    method public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeException);
+    method public void onOpened(@NonNull android.net.ipsec.ike.IkeSessionConfiguration);
+  }
+
+  public final class IkeSessionConfiguration {
+    method @NonNull public android.net.ipsec.ike.IkeSessionConnectionInfo getIkeSessionConnectionInfo();
+    method @NonNull public String getRemoteApplicationVersion();
+    method @NonNull public java.util.List<byte[]> getRemoteVendorIds();
+    method public boolean isIkeExtensionEnabled(int);
+    field public static final int EXTENSION_TYPE_FRAGMENTATION = 1; // 0x1
+    field public static final int EXTENSION_TYPE_MOBIKE = 2; // 0x2
+  }
+
+  public static final class IkeSessionConfiguration.Builder {
+    ctor public IkeSessionConfiguration.Builder(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addIkeExtension(int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addRemoteVendorId(@NonNull byte[]);
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration build();
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearIkeExtensions();
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearRemoteApplicationVersion();
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearRemoteVendorIds();
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder setRemoteApplicationVersion(@NonNull String);
+  }
+
+  public final class IkeSessionConnectionInfo {
+    ctor public IkeSessionConnectionInfo(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network);
+    method @NonNull public java.net.InetAddress getLocalAddress();
+    method @NonNull public android.net.Network getNetwork();
+    method @NonNull public java.net.InetAddress getRemoteAddress();
+  }
+
+  public final class IkeSessionParams {
+    method @IntRange(from=0x14, to=0x708) public int getDpdDelaySeconds();
+    method @IntRange(from=0x12c, to=0x15180) public int getHardLifetimeSeconds();
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getIkeSaProposals();
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getLocalAuthConfig();
+    method @NonNull public android.net.ipsec.ike.IkeIdentification getLocalIdentification();
+    method @IntRange(from=0xa, to=0xe10) public int getNattKeepAliveDelaySeconds();
+    method @Nullable public android.net.Network getNetwork();
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getRemoteAuthConfig();
+    method @NonNull public android.net.ipsec.ike.IkeIdentification getRemoteIdentification();
+    method @NonNull public int[] getRetransmissionTimeoutsMillis();
+    method @NonNull public String getServerHostname();
+    method @IntRange(from=0x78, to=0x15180) public int getSoftLifetimeSeconds();
+    method public boolean hasIkeOption(int);
+    field public static final int IKE_OPTION_ACCEPT_ANY_REMOTE_ID = 0; // 0x0
+    field public static final int IKE_OPTION_EAP_ONLY_AUTH = 1; // 0x1
+    field public static final int IKE_OPTION_FORCE_PORT_4500 = 3; // 0x3
+    field public static final int IKE_OPTION_MOBIKE = 2; // 0x2
+  }
+
+  public static final class IkeSessionParams.Builder {
+    ctor public IkeSessionParams.Builder();
+    ctor public IkeSessionParams.Builder(@NonNull android.net.ipsec.ike.IkeSessionParams);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeOption(int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams build();
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder removeIkeOption(int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.security.PrivateKey);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.util.List<java.security.cert.X509Certificate>, @NonNull java.security.PrivateKey);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthEap(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthPsk(@NonNull byte[]);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDpdDelaySeconds(@IntRange(from=0x14, to=0x708) int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x15180) int, @IntRange(from=0x78, to=0x15180) int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLocalIdentification(@NonNull android.net.ipsec.ike.IkeIdentification);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNattKeepAliveDelaySeconds(@IntRange(from=0xa, to=0xe10) int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNetwork(@Nullable android.net.Network);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRemoteIdentification(@NonNull android.net.ipsec.ike.IkeIdentification);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRetransmissionTimeoutsMillis(@NonNull int[]);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setServerHostname(@NonNull String);
+  }
+
+  public abstract static class IkeSessionParams.IkeAuthConfig {
+  }
+
+  public static class IkeSessionParams.IkeAuthDigitalSignLocalConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
+    method @NonNull public java.security.cert.X509Certificate getClientEndCertificate();
+    method @NonNull public java.util.List<java.security.cert.X509Certificate> getIntermediateCertificates();
+    method @NonNull public java.security.PrivateKey getPrivateKey();
+  }
+
+  public static class IkeSessionParams.IkeAuthDigitalSignRemoteConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
+    method @Nullable public java.security.cert.X509Certificate getRemoteCaCert();
+  }
+
+  public static class IkeSessionParams.IkeAuthEapConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
+    method @NonNull public android.net.eap.EapSessionConfig getEapConfig();
+  }
+
+  public static class IkeSessionParams.IkeAuthPskConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
+    method @NonNull public byte[] getPsk();
+  }
+
+  public final class IkeTrafficSelector {
+    ctor public IkeTrafficSelector(int, int, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress);
+    field public final int endPort;
+    field @NonNull public final java.net.InetAddress endingAddress;
+    field public final int startPort;
+    field @NonNull public final java.net.InetAddress startingAddress;
+  }
+
+  public final class IkeTunnelConnectionParams {
+    ctor public IkeTunnelConnectionParams(@NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.TunnelModeChildSessionParams);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams getIkeSessionParams();
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams getTunnelModeChildSessionParams();
+  }
+
+  public abstract class SaProposal {
+    method @NonNull public java.util.List<java.lang.Integer> getDhGroups();
+    method @NonNull public java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>> getEncryptionAlgorithms();
+    method @NonNull public java.util.List<java.lang.Integer> getIntegrityAlgorithms();
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedDhGroups();
+    field public static final int DH_GROUP_1024_BIT_MODP = 2; // 0x2
+    field public static final int DH_GROUP_1536_BIT_MODP = 5; // 0x5
+    field public static final int DH_GROUP_2048_BIT_MODP = 14; // 0xe
+    field public static final int DH_GROUP_3072_BIT_MODP = 15; // 0xf
+    field public static final int DH_GROUP_4096_BIT_MODP = 16; // 0x10
+    field public static final int DH_GROUP_CURVE_25519 = 31; // 0x1f
+    field public static final int DH_GROUP_NONE = 0; // 0x0
+    field public static final int ENCRYPTION_ALGORITHM_3DES = 3; // 0x3
+    field public static final int ENCRYPTION_ALGORITHM_AES_CBC = 12; // 0xc
+    field public static final int ENCRYPTION_ALGORITHM_AES_CTR = 13; // 0xd
+    field public static final int ENCRYPTION_ALGORITHM_AES_GCM_12 = 19; // 0x13
+    field public static final int ENCRYPTION_ALGORITHM_AES_GCM_16 = 20; // 0x14
+    field public static final int ENCRYPTION_ALGORITHM_AES_GCM_8 = 18; // 0x12
+    field public static final int ENCRYPTION_ALGORITHM_CHACHA20_POLY1305 = 28; // 0x1c
+    field public static final int INTEGRITY_ALGORITHM_AES_CMAC_96 = 8; // 0x8
+    field public static final int INTEGRITY_ALGORITHM_AES_XCBC_96 = 5; // 0x5
+    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA1_96 = 2; // 0x2
+    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_256_128 = 12; // 0xc
+    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_384_192 = 13; // 0xd
+    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_512_256 = 14; // 0xe
+    field public static final int INTEGRITY_ALGORITHM_NONE = 0; // 0x0
+    field public static final int KEY_LEN_AES_128 = 128; // 0x80
+    field public static final int KEY_LEN_AES_192 = 192; // 0xc0
+    field public static final int KEY_LEN_AES_256 = 256; // 0x100
+    field public static final int KEY_LEN_UNUSED = 0; // 0x0
+    field public static final int PSEUDORANDOM_FUNCTION_AES128_CMAC = 8; // 0x8
+    field public static final int PSEUDORANDOM_FUNCTION_AES128_XCBC = 4; // 0x4
+    field public static final int PSEUDORANDOM_FUNCTION_HMAC_SHA1 = 2; // 0x2
+    field public static final int PSEUDORANDOM_FUNCTION_SHA2_256 = 5; // 0x5
+    field public static final int PSEUDORANDOM_FUNCTION_SHA2_384 = 6; // 0x6
+    field public static final int PSEUDORANDOM_FUNCTION_SHA2_512 = 7; // 0x7
+  }
+
+  public final class TransportModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams {
+  }
+
+  public static final class TransportModeChildSessionParams.Builder {
+    ctor public TransportModeChildSessionParams.Builder();
+    ctor public TransportModeChildSessionParams.Builder(@NonNull android.net.ipsec.ike.TransportModeChildSessionParams);
+    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addChildSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
+    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
+    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
+    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams build();
+    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int);
+  }
+
+  public final class TunnelModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams {
+    method @NonNull public java.util.List<android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest> getConfigurationRequests();
+  }
+
+  public static final class TunnelModeChildSessionParams.Builder {
+    ctor public TunnelModeChildSessionParams.Builder();
+    ctor public TunnelModeChildSessionParams.Builder(@NonNull android.net.ipsec.ike.TunnelModeChildSessionParams);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addChildSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(int);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet4Address);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet6Address, int);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDhcpServerRequest(int);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDnsServerRequest(int);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams build();
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int);
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+    method @Nullable public java.net.Inet4Address getAddress();
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DhcpServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Netmask extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv6Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+    method @Nullable public java.net.Inet6Address getAddress();
+    method public int getPrefixLength();
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv6DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+  }
+
+  public static interface TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+  }
+
+}
+
+package android.net.ipsec.ike.exceptions {
+
+  public abstract class IkeException extends java.lang.Exception {
+  }
+
+  public final class IkeInternalException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException {
+    ctor public IkeInternalException(@NonNull Throwable);
+    ctor public IkeInternalException(@NonNull String, @NonNull Throwable);
+  }
+
+  public final class IkeNetworkLostException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException {
+    ctor public IkeNetworkLostException(@NonNull android.net.Network);
+    method @NonNull public android.net.Network getNetwork();
+  }
+
+  public abstract class IkeNonProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
+  }
+
+  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
+    method public int getErrorType();
+    field public static final int ERROR_TYPE_AUTHENTICATION_FAILED = 24; // 0x18
+    field public static final int ERROR_TYPE_CHILD_SA_NOT_FOUND = 44; // 0x2c
+    field public static final int ERROR_TYPE_FAILED_CP_REQUIRED = 37; // 0x25
+    field public static final int ERROR_TYPE_INTERNAL_ADDRESS_FAILURE = 36; // 0x24
+    field public static final int ERROR_TYPE_INVALID_IKE_SPI = 4; // 0x4
+    field public static final int ERROR_TYPE_INVALID_KE_PAYLOAD = 17; // 0x11
+    field public static final int ERROR_TYPE_INVALID_MAJOR_VERSION = 5; // 0x5
+    field public static final int ERROR_TYPE_INVALID_MESSAGE_ID = 9; // 0x9
+    field public static final int ERROR_TYPE_INVALID_SELECTORS = 39; // 0x27
+    field public static final int ERROR_TYPE_INVALID_SYNTAX = 7; // 0x7
+    field public static final int ERROR_TYPE_NO_ADDITIONAL_SAS = 35; // 0x23
+    field public static final int ERROR_TYPE_NO_PROPOSAL_CHOSEN = 14; // 0xe
+    field public static final int ERROR_TYPE_SINGLE_PAIR_REQUIRED = 34; // 0x22
+    field public static final int ERROR_TYPE_TEMPORARY_FAILURE = 43; // 0x2b
+    field public static final int ERROR_TYPE_TS_UNACCEPTABLE = 38; // 0x26
+    field public static final int ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD = 1; // 0x1
+  }
+
+  public final class InvalidKeException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
+    ctor public InvalidKeException(int);
+    method public int getDhGroup();
+  }
+
+  public final class InvalidMajorVersionException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
+    ctor public InvalidMajorVersionException(byte);
+    method public byte getMajorVersion();
+  }
+
+  public final class InvalidSelectorsException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
+    ctor public InvalidSelectorsException(int, @NonNull byte[]);
+    method @NonNull public byte[] getIpSecPacketInfo();
+    method public int getIpSecSpi();
+  }
+
+}
+
diff --git a/32/public/api/android.test.base-removed.txt b/32/public/api/android.test.base-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/android.test.base-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/android.test.base.txt b/32/public/api/android.test.base.txt
new file mode 100644
index 0000000..823e24d
--- /dev/null
+++ b/32/public/api/android.test.base.txt
@@ -0,0 +1,235 @@
+// Signature format: 2.0
+package android.test {
+
+  @Deprecated public class AndroidTestCase extends junit.framework.TestCase {
+    ctor @Deprecated public AndroidTestCase();
+    method @Deprecated public void assertActivityRequiresPermission(String, String, String);
+    method @Deprecated public void assertReadingContentUriRequiresPermission(android.net.Uri, String);
+    method @Deprecated public void assertWritingContentUriRequiresPermission(android.net.Uri, String);
+    method @Deprecated public android.content.Context getContext();
+    method @Deprecated public android.content.Context getTestContext();
+    method @Deprecated protected void scrubClass(Class<?>) throws java.lang.IllegalAccessException;
+    method @Deprecated public void setContext(android.content.Context);
+    method @Deprecated public void setTestContext(android.content.Context);
+    method @Deprecated @android.test.suitebuilder.annotation.Suppress public void testAndroidTestCaseSetupProperly();
+    field @Deprecated protected android.content.Context mContext;
+  }
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface FlakyTest {
+    method @Deprecated public abstract int tolerance() default 1;
+  }
+
+  @Deprecated public class InstrumentationTestCase extends junit.framework.TestCase {
+    ctor @Deprecated public InstrumentationTestCase();
+    method @Deprecated public android.app.Instrumentation getInstrumentation();
+    method @Deprecated public void injectInsrumentation(android.app.Instrumentation);
+    method @Deprecated public void injectInstrumentation(android.app.Instrumentation);
+    method @Deprecated public final <T extends android.app.Activity> T launchActivity(String, Class<T>, android.os.Bundle);
+    method @Deprecated public final <T extends android.app.Activity> T launchActivityWithIntent(String, Class<T>, android.content.Intent);
+    method @Deprecated public void runTestOnUiThread(Runnable) throws java.lang.Throwable;
+    method @Deprecated public void sendKeys(String);
+    method @Deprecated public void sendKeys(int...);
+    method @Deprecated public void sendRepeatedKeys(int...);
+  }
+
+  @Deprecated public class InstrumentationTestSuite extends junit.framework.TestSuite {
+    ctor @Deprecated public InstrumentationTestSuite(android.app.Instrumentation);
+    ctor @Deprecated public InstrumentationTestSuite(String, android.app.Instrumentation);
+    ctor @Deprecated public InstrumentationTestSuite(Class, android.app.Instrumentation);
+    method @Deprecated public void addTestSuite(Class);
+  }
+
+  @Deprecated public interface PerformanceTestCase {
+    method @Deprecated public boolean isPerformanceOnly();
+    method @Deprecated public int startPerformance(android.test.PerformanceTestCase.Intermediates);
+  }
+
+  @Deprecated public static interface PerformanceTestCase.Intermediates {
+    method @Deprecated public void addIntermediate(String);
+    method @Deprecated public void addIntermediate(String, long);
+    method @Deprecated public void finishTiming(boolean);
+    method @Deprecated public void setInternalIterations(int);
+    method @Deprecated public void startTiming(boolean);
+  }
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface RepetitiveTest {
+    method @Deprecated public abstract int numIterations() default 1;
+  }
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface UiThreadTest {
+  }
+
+}
+
+package android.test.suitebuilder.annotation {
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface LargeTest {
+  }
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface MediumTest {
+  }
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface SmallTest {
+  }
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface Smoke {
+  }
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface Suppress {
+  }
+
+}
+
+package com.android.internal.util {
+
+  @Deprecated public interface Predicate<T> {
+    method @Deprecated public boolean apply(T);
+  }
+
+}
+
+package junit.framework {
+
+  public class Assert {
+    ctor protected Assert();
+    method public static void assertEquals(String, Object, Object);
+    method public static void assertEquals(Object, Object);
+    method public static void assertEquals(String, String, String);
+    method public static void assertEquals(String, String);
+    method public static void assertEquals(String, double, double, double);
+    method public static void assertEquals(double, double, double);
+    method public static void assertEquals(String, float, float, float);
+    method public static void assertEquals(float, float, float);
+    method public static void assertEquals(String, long, long);
+    method public static void assertEquals(long, long);
+    method public static void assertEquals(String, boolean, boolean);
+    method public static void assertEquals(boolean, boolean);
+    method public static void assertEquals(String, byte, byte);
+    method public static void assertEquals(byte, byte);
+    method public static void assertEquals(String, char, char);
+    method public static void assertEquals(char, char);
+    method public static void assertEquals(String, short, short);
+    method public static void assertEquals(short, short);
+    method public static void assertEquals(String, int, int);
+    method public static void assertEquals(int, int);
+    method public static void assertFalse(String, boolean);
+    method public static void assertFalse(boolean);
+    method public static void assertNotNull(Object);
+    method public static void assertNotNull(String, Object);
+    method public static void assertNotSame(String, Object, Object);
+    method public static void assertNotSame(Object, Object);
+    method public static void assertNull(Object);
+    method public static void assertNull(String, Object);
+    method public static void assertSame(String, Object, Object);
+    method public static void assertSame(Object, Object);
+    method public static void assertTrue(String, boolean);
+    method public static void assertTrue(boolean);
+    method public static void fail(String);
+    method public static void fail();
+    method public static void failNotEquals(String, Object, Object);
+    method public static void failNotSame(String, Object, Object);
+    method public static void failSame(String);
+    method public static String format(String, Object, Object);
+  }
+
+  public class AssertionFailedError extends java.lang.AssertionError {
+    ctor public AssertionFailedError();
+    ctor public AssertionFailedError(String);
+  }
+
+  public class ComparisonFailure extends junit.framework.AssertionFailedError {
+    ctor public ComparisonFailure(String, String, String);
+    method public String getActual();
+    method public String getExpected();
+  }
+
+  public interface Protectable {
+    method public void protect() throws java.lang.Throwable;
+  }
+
+  public interface Test {
+    method public int countTestCases();
+    method public void run(junit.framework.TestResult);
+  }
+
+  public abstract class TestCase extends junit.framework.Assert implements junit.framework.Test {
+    ctor public TestCase();
+    ctor public TestCase(String);
+    method public int countTestCases();
+    method protected junit.framework.TestResult createResult();
+    method public String getName();
+    method public junit.framework.TestResult run();
+    method public void run(junit.framework.TestResult);
+    method public void runBare() throws java.lang.Throwable;
+    method protected void runTest() throws java.lang.Throwable;
+    method public void setName(String);
+    method protected void setUp() throws java.lang.Exception;
+    method protected void tearDown() throws java.lang.Exception;
+  }
+
+  public class TestFailure {
+    ctor public TestFailure(junit.framework.Test, Throwable);
+    method public String exceptionMessage();
+    method public junit.framework.Test failedTest();
+    method public boolean isFailure();
+    method public Throwable thrownException();
+    method public String trace();
+    field protected junit.framework.Test fFailedTest;
+    field protected Throwable fThrownException;
+  }
+
+  public interface TestListener {
+    method public void addError(junit.framework.Test, Throwable);
+    method public void addFailure(junit.framework.Test, junit.framework.AssertionFailedError);
+    method public void endTest(junit.framework.Test);
+    method public void startTest(junit.framework.Test);
+  }
+
+  public class TestResult {
+    ctor public TestResult();
+    method public void addError(junit.framework.Test, Throwable);
+    method public void addFailure(junit.framework.Test, junit.framework.AssertionFailedError);
+    method public void addListener(junit.framework.TestListener);
+    method public void endTest(junit.framework.Test);
+    method public int errorCount();
+    method public java.util.Enumeration<junit.framework.TestFailure> errors();
+    method public int failureCount();
+    method public java.util.Enumeration<junit.framework.TestFailure> failures();
+    method public void removeListener(junit.framework.TestListener);
+    method protected void run(junit.framework.TestCase);
+    method public int runCount();
+    method public void runProtected(junit.framework.Test, junit.framework.Protectable);
+    method public boolean shouldStop();
+    method public void startTest(junit.framework.Test);
+    method public void stop();
+    method public boolean wasSuccessful();
+    field protected java.util.Vector<junit.framework.TestFailure> fErrors;
+    field protected java.util.Vector<junit.framework.TestFailure> fFailures;
+    field protected java.util.Vector<junit.framework.TestListener> fListeners;
+    field protected int fRunTests;
+  }
+
+  public class TestSuite implements junit.framework.Test {
+    ctor public TestSuite();
+    ctor public TestSuite(Class<?>);
+    ctor public TestSuite(Class<? extends junit.framework.TestCase>, String);
+    ctor public TestSuite(String);
+    ctor public TestSuite(Class<?>...);
+    ctor public TestSuite(Class<? extends junit.framework.TestCase>[], String);
+    method public void addTest(junit.framework.Test);
+    method public void addTestSuite(Class<? extends junit.framework.TestCase>);
+    method public int countTestCases();
+    method public static junit.framework.Test createTest(Class<?>, String);
+    method public String getName();
+    method public static java.lang.reflect.Constructor<?> getTestConstructor(Class<?>) throws java.lang.NoSuchMethodException;
+    method public void run(junit.framework.TestResult);
+    method public void runTest(junit.framework.Test, junit.framework.TestResult);
+    method public void setName(String);
+    method public junit.framework.Test testAt(int);
+    method public int testCount();
+    method public java.util.Enumeration<junit.framework.Test> tests();
+    method public static junit.framework.Test warning(String);
+  }
+
+}
+
diff --git a/32/public/api/android.test.mock-removed.txt b/32/public/api/android.test.mock-removed.txt
new file mode 100644
index 0000000..1496c35
--- /dev/null
+++ b/32/public/api/android.test.mock-removed.txt
@@ -0,0 +1,16 @@
+// Signature format: 2.0
+package android.test.mock {
+
+  public class MockContext extends android.content.Context {
+    method public android.content.SharedPreferences getSharedPreferences(java.io.File, int);
+    method public java.io.File getSharedPreferencesPath(String);
+  }
+
+  @Deprecated public class MockPackageManager extends android.content.pm.PackageManager {
+    method @Deprecated public String getDefaultBrowserPackageName(int);
+    method @Deprecated public boolean setDefaultBrowserPackageName(String, int);
+    method public boolean setInstantAppCookie(@NonNull byte[]);
+  }
+
+}
+
diff --git a/32/public/api/android.test.mock.txt b/32/public/api/android.test.mock.txt
new file mode 100644
index 0000000..d1a68d4
--- /dev/null
+++ b/32/public/api/android.test.mock.txt
@@ -0,0 +1,306 @@
+// Signature format: 2.0
+package android.test.mock {
+
+  @Deprecated public class MockAccountManager {
+    method @Deprecated public static android.accounts.AccountManager newMockAccountManager(android.content.Context);
+  }
+
+  @Deprecated public class MockApplication extends android.app.Application {
+    ctor @Deprecated public MockApplication();
+  }
+
+  public class MockContentProvider extends android.content.ContentProvider {
+    ctor protected MockContentProvider();
+    ctor public MockContentProvider(android.content.Context);
+    ctor public MockContentProvider(android.content.Context, String, String, android.content.pm.PathPermission[]);
+    method public android.content.ContentProviderResult[] applyBatch(java.util.ArrayList<android.content.ContentProviderOperation>);
+    method @Deprecated public static void attachInfoForTesting(android.content.ContentProvider, android.content.Context, android.content.pm.ProviderInfo);
+    method public int delete(android.net.Uri, String, String[]);
+    method public String getType(android.net.Uri);
+    method public android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+    method public boolean onCreate();
+    method public android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, String, android.os.Bundle);
+    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
+    method public int update(android.net.Uri, android.content.ContentValues, String, String[]);
+  }
+
+  public class MockContentResolver extends android.content.ContentResolver {
+    ctor public MockContentResolver();
+    ctor public MockContentResolver(android.content.Context);
+    method public void addProvider(String, android.content.ContentProvider);
+  }
+
+  public class MockContext extends android.content.Context {
+    ctor public MockContext();
+    method public boolean bindService(android.content.Intent, android.content.ServiceConnection, int);
+    method public int checkCallingOrSelfPermission(String);
+    method public int checkCallingOrSelfUriPermission(android.net.Uri, int);
+    method public int checkCallingPermission(String);
+    method public int checkCallingUriPermission(android.net.Uri, int);
+    method public int checkPermission(String, int, int);
+    method public int checkSelfPermission(String);
+    method public int checkUriPermission(android.net.Uri, int, int, int);
+    method public int checkUriPermission(android.net.Uri, String, String, int, int, int);
+    method public void clearWallpaper();
+    method public android.content.Context createConfigurationContext(android.content.res.Configuration);
+    method public android.content.Context createContextForSplit(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public android.content.Context createDeviceProtectedStorageContext();
+    method public android.content.Context createDisplayContext(android.view.Display);
+    method public android.content.Context createPackageContext(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public String[] databaseList();
+    method public boolean deleteDatabase(String);
+    method public boolean deleteFile(String);
+    method public boolean deleteSharedPreferences(String);
+    method public void enforceCallingOrSelfPermission(String, String);
+    method public void enforceCallingOrSelfUriPermission(android.net.Uri, int, String);
+    method public void enforceCallingPermission(String, String);
+    method public void enforceCallingUriPermission(android.net.Uri, int, String);
+    method public void enforcePermission(String, int, int, String);
+    method public void enforceUriPermission(android.net.Uri, int, int, int, String);
+    method public void enforceUriPermission(android.net.Uri, String, String, int, int, int, String);
+    method public String[] fileList();
+    method public android.content.Context getApplicationContext();
+    method public android.content.pm.ApplicationInfo getApplicationInfo();
+    method public android.content.res.AssetManager getAssets();
+    method public java.io.File getCacheDir();
+    method public ClassLoader getClassLoader();
+    method public java.io.File getCodeCacheDir();
+    method public android.content.ContentResolver getContentResolver();
+    method public java.io.File getDataDir();
+    method public java.io.File getDatabasePath(String);
+    method public java.io.File getDir(String, int);
+    method public java.io.File getExternalCacheDir();
+    method public java.io.File[] getExternalCacheDirs();
+    method public java.io.File getExternalFilesDir(String);
+    method public java.io.File[] getExternalFilesDirs(String);
+    method public java.io.File[] getExternalMediaDirs();
+    method public java.io.File getFileStreamPath(String);
+    method public java.io.File getFilesDir();
+    method public android.os.Looper getMainLooper();
+    method public java.io.File getNoBackupFilesDir();
+    method public java.io.File getObbDir();
+    method public java.io.File[] getObbDirs();
+    method public String getPackageCodePath();
+    method public android.content.pm.PackageManager getPackageManager();
+    method public String getPackageName();
+    method public String getPackageResourcePath();
+    method public android.content.res.Resources getResources();
+    method public android.content.SharedPreferences getSharedPreferences(String, int);
+    method public Object getSystemService(String);
+    method public String getSystemServiceName(Class<?>);
+    method public android.content.res.Resources.Theme getTheme();
+    method public android.graphics.drawable.Drawable getWallpaper();
+    method public int getWallpaperDesiredMinimumHeight();
+    method public int getWallpaperDesiredMinimumWidth();
+    method public void grantUriPermission(String, android.net.Uri, int);
+    method public boolean isDeviceProtectedStorage();
+    method public boolean moveDatabaseFrom(android.content.Context, String);
+    method public boolean moveSharedPreferencesFrom(android.content.Context, String);
+    method public java.io.FileInputStream openFileInput(String) throws java.io.FileNotFoundException;
+    method public java.io.FileOutputStream openFileOutput(String, int) throws java.io.FileNotFoundException;
+    method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(String, int, android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, android.database.DatabaseErrorHandler);
+    method public android.graphics.drawable.Drawable peekWallpaper();
+    method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter);
+    method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, int);
+    method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, String, android.os.Handler);
+    method public android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, String, android.os.Handler, int);
+    method public void removeStickyBroadcast(android.content.Intent);
+    method public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+    method public void revokeUriPermission(android.net.Uri, int);
+    method public void revokeUriPermission(String, android.net.Uri, int);
+    method public void sendBroadcast(android.content.Intent);
+    method public void sendBroadcast(android.content.Intent, String);
+    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, String);
+    method public void sendOrderedBroadcast(android.content.Intent, String);
+    method public void sendOrderedBroadcast(android.content.Intent, String, android.content.BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle);
+    method public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, String, android.content.BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle);
+    method public void sendStickyBroadcast(android.content.Intent);
+    method public void sendStickyBroadcast(android.content.Intent, android.os.Bundle);
+    method public void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+    method public void sendStickyOrderedBroadcast(android.content.Intent, android.content.BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle);
+    method public void sendStickyOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, android.content.BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle);
+    method public void setTheme(int);
+    method public void setWallpaper(android.graphics.Bitmap) throws java.io.IOException;
+    method public void setWallpaper(java.io.InputStream) throws java.io.IOException;
+    method public void startActivities(android.content.Intent[]);
+    method public void startActivities(android.content.Intent[], android.os.Bundle);
+    method public void startActivity(android.content.Intent);
+    method public void startActivity(android.content.Intent, android.os.Bundle);
+    method public android.content.ComponentName startForegroundService(android.content.Intent);
+    method public boolean startInstrumentation(android.content.ComponentName, String, android.os.Bundle);
+    method public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+    method public void startIntentSender(android.content.IntentSender, android.content.Intent, int, int, int, android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method public android.content.ComponentName startService(android.content.Intent);
+    method public boolean stopService(android.content.Intent);
+    method public void unbindService(android.content.ServiceConnection);
+    method public void unregisterReceiver(android.content.BroadcastReceiver);
+  }
+
+  @Deprecated public class MockCursor implements android.database.Cursor {
+    ctor @Deprecated public MockCursor();
+    method @Deprecated public void close();
+    method @Deprecated public void copyStringToBuffer(int, android.database.CharArrayBuffer);
+    method @Deprecated public void deactivate();
+    method @Deprecated public byte[] getBlob(int);
+    method @Deprecated public int getColumnCount();
+    method @Deprecated public int getColumnIndex(String);
+    method @Deprecated public int getColumnIndexOrThrow(String);
+    method @Deprecated public String getColumnName(int);
+    method @Deprecated public String[] getColumnNames();
+    method @Deprecated public int getCount();
+    method @Deprecated public double getDouble(int);
+    method @Deprecated public android.os.Bundle getExtras();
+    method @Deprecated public float getFloat(int);
+    method @Deprecated public int getInt(int);
+    method @Deprecated public long getLong(int);
+    method @Deprecated public android.net.Uri getNotificationUri();
+    method @Deprecated public int getPosition();
+    method @Deprecated public short getShort(int);
+    method @Deprecated public String getString(int);
+    method @Deprecated public int getType(int);
+    method @Deprecated public boolean getWantsAllOnMoveCalls();
+    method @Deprecated public boolean isAfterLast();
+    method @Deprecated public boolean isBeforeFirst();
+    method @Deprecated public boolean isClosed();
+    method @Deprecated public boolean isFirst();
+    method @Deprecated public boolean isLast();
+    method @Deprecated public boolean isNull(int);
+    method @Deprecated public boolean move(int);
+    method @Deprecated public boolean moveToFirst();
+    method @Deprecated public boolean moveToLast();
+    method @Deprecated public boolean moveToNext();
+    method @Deprecated public boolean moveToPosition(int);
+    method @Deprecated public boolean moveToPrevious();
+    method @Deprecated public void registerContentObserver(android.database.ContentObserver);
+    method @Deprecated public void registerDataSetObserver(android.database.DataSetObserver);
+    method @Deprecated public boolean requery();
+    method @Deprecated public android.os.Bundle respond(android.os.Bundle);
+    method @Deprecated public void setExtras(android.os.Bundle);
+    method @Deprecated public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+    method @Deprecated public void unregisterContentObserver(android.database.ContentObserver);
+    method @Deprecated public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  @Deprecated public class MockDialogInterface implements android.content.DialogInterface {
+    ctor @Deprecated public MockDialogInterface();
+    method @Deprecated public void cancel();
+    method @Deprecated public void dismiss();
+  }
+
+  @Deprecated public class MockPackageManager extends android.content.pm.PackageManager {
+    ctor @Deprecated public MockPackageManager();
+    method @Deprecated public void addPackageToPreferred(String);
+    method @Deprecated public boolean addPermission(android.content.pm.PermissionInfo);
+    method @Deprecated public boolean addPermissionAsync(android.content.pm.PermissionInfo);
+    method @Deprecated public void addPreferredActivity(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName);
+    method @Deprecated public boolean canRequestPackageInstalls();
+    method @Deprecated public String[] canonicalToCurrentPackageNames(String[]);
+    method @Deprecated public int checkPermission(String, String);
+    method @Deprecated public int checkSignatures(String, String);
+    method @Deprecated public int checkSignatures(int, int);
+    method public void clearInstantAppCookie();
+    method @Deprecated public void clearPackagePreferredActivities(String);
+    method @Deprecated public String[] currentToCanonicalPackageNames(String[]);
+    method @Deprecated public void extendVerificationTimeout(int, int, long);
+    method @Deprecated public android.graphics.drawable.Drawable getActivityBanner(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.graphics.drawable.Drawable getActivityBanner(android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.graphics.drawable.Drawable getActivityIcon(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.graphics.drawable.Drawable getActivityIcon(android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.content.pm.ActivityInfo getActivityInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.graphics.drawable.Drawable getActivityLogo(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.graphics.drawable.Drawable getActivityLogo(android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public java.util.List<android.content.IntentFilter> getAllIntentFilters(String);
+    method @Deprecated public java.util.List<android.content.pm.PermissionGroupInfo> getAllPermissionGroups(int);
+    method @Deprecated public android.graphics.drawable.Drawable getApplicationBanner(android.content.pm.ApplicationInfo);
+    method @Deprecated public android.graphics.drawable.Drawable getApplicationBanner(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public int getApplicationEnabledSetting(String);
+    method @Deprecated public android.graphics.drawable.Drawable getApplicationIcon(android.content.pm.ApplicationInfo);
+    method @Deprecated public android.graphics.drawable.Drawable getApplicationIcon(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.content.pm.ApplicationInfo getApplicationInfo(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public CharSequence getApplicationLabel(android.content.pm.ApplicationInfo);
+    method @Deprecated public android.graphics.drawable.Drawable getApplicationLogo(android.content.pm.ApplicationInfo);
+    method @Deprecated public android.graphics.drawable.Drawable getApplicationLogo(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public android.content.pm.ChangedPackages getChangedPackages(int);
+    method @Deprecated public int getComponentEnabledSetting(android.content.ComponentName);
+    method @Deprecated public android.graphics.drawable.Drawable getDefaultActivityIcon();
+    method @Deprecated public android.graphics.drawable.Drawable getDrawable(String, int, android.content.pm.ApplicationInfo);
+    method @Deprecated public java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
+    method @Deprecated public java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
+    method @Deprecated public String getInstallerPackageName(String);
+    method public byte[] getInstantAppCookie();
+    method public int getInstantAppCookieMaxBytes();
+    method @Deprecated public android.content.pm.InstrumentationInfo getInstrumentationInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.content.Intent getLaunchIntentForPackage(String);
+    method @Deprecated public android.content.Intent getLeanbackLaunchIntentForPackage(String);
+    method @Deprecated public String getNameForUid(int);
+    method @Deprecated public int[] getPackageGids(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public int[] getPackageGids(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.content.pm.PackageInfo getPackageInfo(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.content.pm.PackageInfo getPackageInfo(android.content.pm.VersionedPackage, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public android.content.pm.PackageInstaller getPackageInstaller();
+    method @Deprecated public int getPackageUid(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public String[] getPackagesForUid(int);
+    method @Deprecated public java.util.List<android.content.pm.PackageInfo> getPackagesHoldingPermissions(String[], int);
+    method @Deprecated public android.content.pm.PermissionGroupInfo getPermissionGroupInfo(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.content.pm.PermissionInfo getPermissionInfo(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public int getPreferredActivities(java.util.List<android.content.IntentFilter>, java.util.List<android.content.ComponentName>, String);
+    method @Deprecated public java.util.List<android.content.pm.PackageInfo> getPreferredPackages(int);
+    method @Deprecated public android.content.pm.ProviderInfo getProviderInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.content.pm.ActivityInfo getReceiverInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.content.res.Resources getResourcesForActivity(android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.content.res.Resources getResourcesForApplication(android.content.pm.ApplicationInfo);
+    method @Deprecated public android.content.res.Resources getResourcesForApplication(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.content.pm.ServiceInfo getServiceInfo(android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated @NonNull public java.util.List<android.content.pm.SharedLibraryInfo> getSharedLibraries(int);
+    method @Deprecated public android.content.pm.FeatureInfo[] getSystemAvailableFeatures();
+    method @Deprecated public String[] getSystemSharedLibraryNames();
+    method @Deprecated public CharSequence getText(String, int, android.content.pm.ApplicationInfo);
+    method @Deprecated public android.graphics.drawable.Drawable getUserBadgedDrawableForDensity(android.graphics.drawable.Drawable, android.os.UserHandle, android.graphics.Rect, int);
+    method @Deprecated public android.graphics.drawable.Drawable getUserBadgedIcon(android.graphics.drawable.Drawable, android.os.UserHandle);
+    method @Deprecated public CharSequence getUserBadgedLabel(CharSequence, android.os.UserHandle);
+    method @Deprecated public android.content.res.XmlResourceParser getXml(String, int, android.content.pm.ApplicationInfo);
+    method @Deprecated public boolean hasSystemFeature(String);
+    method @Deprecated public boolean hasSystemFeature(String, int);
+    method public boolean isInstantApp();
+    method public boolean isInstantApp(String);
+    method @Deprecated public boolean isPermissionRevokedByPolicy(String, String);
+    method @Deprecated public boolean isSafeMode();
+    method @Deprecated public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
+    method @Deprecated public java.util.List<android.content.pm.ProviderInfo> queryContentProviders(String, int, int);
+    method @Deprecated public java.util.List<android.content.pm.InstrumentationInfo> queryInstrumentation(String, int);
+    method @Deprecated public java.util.List<android.content.pm.ResolveInfo> queryIntentActivities(android.content.Intent, int);
+    method @Deprecated public java.util.List<android.content.pm.ResolveInfo> queryIntentActivityOptions(android.content.ComponentName, android.content.Intent[], android.content.Intent, int);
+    method @Deprecated public java.util.List<android.content.pm.ResolveInfo> queryIntentContentProviders(android.content.Intent, int);
+    method @Deprecated public java.util.List<android.content.pm.ResolveInfo> queryIntentServices(android.content.Intent, int);
+    method @Deprecated public java.util.List<android.content.pm.PermissionInfo> queryPermissionsByGroup(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public void removePackageFromPreferred(String);
+    method @Deprecated public void removePermission(String);
+    method @Deprecated public android.content.pm.ResolveInfo resolveActivity(android.content.Intent, int);
+    method @Deprecated public android.content.pm.ProviderInfo resolveContentProvider(String, int);
+    method @Deprecated public android.content.pm.ResolveInfo resolveService(android.content.Intent, int);
+    method @Deprecated public android.content.pm.ResolveInfo resolveServiceAsUser(android.content.Intent, int, int);
+    method public void setApplicationCategoryHint(String, int);
+    method @Deprecated public void setApplicationEnabledSetting(String, int, int);
+    method @Deprecated public void setComponentEnabledSetting(android.content.ComponentName, int, int);
+    method @Deprecated public void setInstallerPackageName(String, String);
+    method public void updateInstantAppCookie(@NonNull byte[]);
+    method @Deprecated public void verifyPendingInstall(int, int);
+  }
+
+  @Deprecated public class MockResources extends android.content.res.Resources {
+    ctor @Deprecated public MockResources();
+    method @Deprecated public int getColor(int) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated public android.content.res.ColorStateList getColorStateList(int) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated public android.graphics.drawable.Drawable getDrawable(int) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated public android.graphics.Movie getMovie(int) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics);
+  }
+
+  @Deprecated public class MockService {
+    method @Deprecated public static <T extends android.app.Service> void attachForTesting(android.app.Service, android.content.Context, String, android.app.Application);
+  }
+
+}
+
diff --git a/32/public/api/android.test.runner-removed.txt b/32/public/api/android.test.runner-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/android.test.runner-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/android.test.runner.txt b/32/public/api/android.test.runner.txt
new file mode 100644
index 0000000..5407b68
--- /dev/null
+++ b/32/public/api/android.test.runner.txt
@@ -0,0 +1,348 @@
+// Signature format: 2.0
+package android.test {
+
+  @Deprecated public abstract class ActivityInstrumentationTestCase<T extends android.app.Activity> extends android.test.ActivityTestCase {
+    ctor @Deprecated public ActivityInstrumentationTestCase(String, Class<T>);
+    ctor @Deprecated public ActivityInstrumentationTestCase(String, Class<T>, boolean);
+    method @Deprecated public T getActivity();
+    method @Deprecated public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
+  }
+
+  @Deprecated public abstract class ActivityInstrumentationTestCase2<T extends android.app.Activity> extends android.test.ActivityTestCase {
+    ctor @Deprecated public ActivityInstrumentationTestCase2(String, Class<T>);
+    ctor @Deprecated public ActivityInstrumentationTestCase2(Class<T>);
+    method @Deprecated public T getActivity();
+    method @Deprecated public void setActivityInitialTouchMode(boolean);
+    method @Deprecated public void setActivityIntent(android.content.Intent);
+  }
+
+  @Deprecated public abstract class ActivityTestCase extends android.test.InstrumentationTestCase {
+    ctor @Deprecated public ActivityTestCase();
+    method @Deprecated protected android.app.Activity getActivity();
+    method @Deprecated protected void scrubClass(Class<?>) throws java.lang.IllegalAccessException;
+    method @Deprecated protected void setActivity(android.app.Activity);
+  }
+
+  @Deprecated public abstract class ActivityUnitTestCase<T extends android.app.Activity> extends android.test.ActivityTestCase {
+    ctor @Deprecated public ActivityUnitTestCase(Class<T>);
+    method @Deprecated public T getActivity();
+    method @Deprecated public int getFinishedActivityRequest();
+    method @Deprecated public int getRequestedOrientation();
+    method @Deprecated public android.content.Intent getStartedActivityIntent();
+    method @Deprecated public int getStartedActivityRequest();
+    method @Deprecated public boolean isFinishCalled();
+    method @Deprecated public void setActivityContext(android.content.Context);
+    method @Deprecated public void setApplication(android.app.Application);
+    method @Deprecated protected T startActivity(android.content.Intent, android.os.Bundle, Object);
+  }
+
+  @Deprecated public class AndroidTestRunner extends junit.runner.BaseTestRunner {
+    ctor @Deprecated public AndroidTestRunner();
+    method @Deprecated public void addTestListener(junit.framework.TestListener);
+    method @Deprecated public void clearTestListeners();
+    method @Deprecated protected junit.framework.TestResult createTestResult();
+    method @Deprecated public java.util.List<junit.framework.TestCase> getTestCases();
+    method @Deprecated public String getTestClassName();
+    method @Deprecated public junit.framework.TestResult getTestResult();
+    method @Deprecated protected Class loadSuiteClass(String) throws java.lang.ClassNotFoundException;
+    method @Deprecated protected void runFailed(String);
+    method @Deprecated public void runTest();
+    method @Deprecated public void runTest(junit.framework.TestResult);
+    method @Deprecated public void setContext(android.content.Context);
+    method @Deprecated public void setInstrumentaiton(android.app.Instrumentation);
+    method @Deprecated public void setInstrumentation(android.app.Instrumentation);
+    method @Deprecated public void setTest(junit.framework.Test);
+    method @Deprecated public void setTestClassName(String, String);
+    method @Deprecated public void testEnded(String);
+    method @Deprecated public void testFailed(int, junit.framework.Test, Throwable);
+    method @Deprecated public void testStarted(String);
+  }
+
+  @Deprecated public abstract class ApplicationTestCase<T extends android.app.Application> extends android.test.AndroidTestCase {
+    ctor @Deprecated public ApplicationTestCase(Class<T>);
+    method @Deprecated protected final void createApplication();
+    method @Deprecated public T getApplication();
+    method @Deprecated public android.content.Context getSystemContext();
+    method @Deprecated protected final void terminateApplication();
+    method @Deprecated public final void testApplicationTestCaseSetUpProperly() throws java.lang.Exception;
+  }
+
+  @Deprecated public class AssertionFailedError extends java.lang.Error {
+    ctor @Deprecated public AssertionFailedError();
+    ctor @Deprecated public AssertionFailedError(String);
+  }
+
+  @Deprecated public class ComparisonFailure extends android.test.AssertionFailedError {
+    ctor @Deprecated public ComparisonFailure(String, String, String);
+  }
+
+  @Deprecated public class InstrumentationTestRunner extends android.app.Instrumentation implements android.test.TestSuiteProvider {
+    ctor @Deprecated public InstrumentationTestRunner();
+    method @Deprecated protected void addTestListener(junit.framework.TestListener);
+    method @Deprecated public junit.framework.TestSuite getAllTests();
+    method @Deprecated protected android.test.AndroidTestRunner getAndroidTestRunner();
+    method @Deprecated public android.os.Bundle getArguments();
+    method @Deprecated public ClassLoader getLoader();
+    method @Deprecated public junit.framework.TestSuite getTestSuite();
+    field @Deprecated public static final String REPORT_KEY_NAME_CLASS = "class";
+    field @Deprecated public static final String REPORT_KEY_NAME_TEST = "test";
+    field @Deprecated public static final String REPORT_KEY_NUM_CURRENT = "current";
+    field @Deprecated public static final String REPORT_KEY_NUM_TOTAL = "numtests";
+    field @Deprecated public static final String REPORT_KEY_STACK = "stack";
+    field @Deprecated public static final String REPORT_VALUE_ID = "InstrumentationTestRunner";
+    field @Deprecated public static final int REPORT_VALUE_RESULT_ERROR = -1; // 0xffffffff
+    field @Deprecated public static final int REPORT_VALUE_RESULT_FAILURE = -2; // 0xfffffffe
+    field @Deprecated public static final int REPORT_VALUE_RESULT_OK = 0; // 0x0
+    field @Deprecated public static final int REPORT_VALUE_RESULT_START = 1; // 0x1
+  }
+
+  @Deprecated public class IsolatedContext extends android.content.ContextWrapper {
+    ctor @Deprecated public IsolatedContext(android.content.ContentResolver, android.content.Context);
+    method @Deprecated public java.util.List<android.content.Intent> getAndClearBroadcastIntents();
+  }
+
+  @Deprecated public class LaunchPerformanceBase extends android.app.Instrumentation {
+    ctor @Deprecated public LaunchPerformanceBase();
+    method @Deprecated protected void LaunchApp();
+    field @Deprecated protected android.content.Intent mIntent;
+    field @Deprecated protected android.os.Bundle mResults;
+  }
+
+  public class LoaderTestCase extends android.test.AndroidTestCase {
+    ctor public LoaderTestCase();
+    method public <T> T getLoaderResultSynchronously(android.content.Loader<T>);
+  }
+
+  @Deprecated public final class MoreAsserts {
+    method @Deprecated public static void assertAssignableFrom(Class<?>, Object);
+    method @Deprecated public static void assertAssignableFrom(Class<?>, Class<?>);
+    method @Deprecated public static java.util.regex.MatchResult assertContainsRegex(String, String, String);
+    method @Deprecated public static java.util.regex.MatchResult assertContainsRegex(String, String);
+    method @Deprecated public static void assertContentsInAnyOrder(String, Iterable<?>, java.lang.Object...);
+    method @Deprecated public static void assertContentsInAnyOrder(Iterable<?>, java.lang.Object...);
+    method @Deprecated public static void assertContentsInOrder(String, Iterable<?>, java.lang.Object...);
+    method @Deprecated public static void assertContentsInOrder(Iterable<?>, java.lang.Object...);
+    method @Deprecated public static void assertEmpty(String, Iterable<?>);
+    method @Deprecated public static void assertEmpty(Iterable<?>);
+    method @Deprecated public static void assertEmpty(String, java.util.Map<?,?>);
+    method @Deprecated public static void assertEmpty(java.util.Map<?,?>);
+    method @Deprecated public static void assertEquals(String, byte[], byte[]);
+    method @Deprecated public static void assertEquals(byte[], byte[]);
+    method @Deprecated public static void assertEquals(String, int[], int[]);
+    method @Deprecated public static void assertEquals(int[], int[]);
+    method @Deprecated public static void assertEquals(String, double[], double[]);
+    method @Deprecated public static void assertEquals(double[], double[]);
+    method @Deprecated public static void assertEquals(String, Object[], Object[]);
+    method @Deprecated public static void assertEquals(Object[], Object[]);
+    method @Deprecated public static void assertEquals(String, java.util.Set<?>, java.util.Set<?>);
+    method @Deprecated public static void assertEquals(java.util.Set<?>, java.util.Set<?>);
+    method @Deprecated public static java.util.regex.MatchResult assertMatchesRegex(String, String, String);
+    method @Deprecated public static java.util.regex.MatchResult assertMatchesRegex(String, String);
+    method @Deprecated public static void assertNotContainsRegex(String, String, String);
+    method @Deprecated public static void assertNotContainsRegex(String, String);
+    method @Deprecated public static void assertNotEmpty(String, Iterable<?>);
+    method @Deprecated public static void assertNotEmpty(Iterable<?>);
+    method @Deprecated public static void assertNotEmpty(String, java.util.Map<?,?>);
+    method @Deprecated public static void assertNotEmpty(java.util.Map<?,?>);
+    method @Deprecated public static void assertNotEqual(String, Object, Object);
+    method @Deprecated public static void assertNotEqual(Object, Object);
+    method @Deprecated public static void assertNotMatchesRegex(String, String, String);
+    method @Deprecated public static void assertNotMatchesRegex(String, String);
+    method @Deprecated public static void checkEqualsAndHashCodeMethods(String, Object, Object, boolean);
+    method @Deprecated public static void checkEqualsAndHashCodeMethods(Object, Object, boolean);
+  }
+
+  @Deprecated public abstract class ProviderTestCase<T extends android.content.ContentProvider> extends android.test.InstrumentationTestCase {
+    ctor @Deprecated public ProviderTestCase(Class<T>, String);
+    method @Deprecated public android.test.mock.MockContentResolver getMockContentResolver();
+    method @Deprecated public android.test.IsolatedContext getMockContext();
+    method @Deprecated public T getProvider();
+    method @Deprecated public static <T extends android.content.ContentProvider> android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, Class<T>, String, String, int, String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+  }
+
+  public abstract class ProviderTestCase2<T extends android.content.ContentProvider> extends android.test.AndroidTestCase {
+    ctor public ProviderTestCase2(Class<T>, String);
+    method public android.test.mock.MockContentResolver getMockContentResolver();
+    method public android.test.IsolatedContext getMockContext();
+    method public T getProvider();
+    method public static <T extends android.content.ContentProvider> android.content.ContentResolver newResolverWithContentProviderFromSql(android.content.Context, String, Class<T>, String, String, int, String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+  }
+
+  @Deprecated public class RenamingDelegatingContext extends android.content.ContextWrapper {
+    ctor @Deprecated public RenamingDelegatingContext(android.content.Context, String);
+    ctor @Deprecated public RenamingDelegatingContext(android.content.Context, android.content.Context, String);
+    method @Deprecated public String getDatabasePrefix();
+    method @Deprecated public void makeExistingFilesAndDbsAccessible();
+    method @Deprecated public static <T extends android.content.ContentProvider> T providerWithRenamedContext(Class<T>, android.content.Context, String) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @Deprecated public static <T extends android.content.ContentProvider> T providerWithRenamedContext(Class<T>, android.content.Context, String, boolean) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+  }
+
+  @Deprecated public abstract class ServiceTestCase<T extends android.app.Service> extends android.test.AndroidTestCase {
+    ctor @Deprecated public ServiceTestCase(Class<T>);
+    method @Deprecated protected android.os.IBinder bindService(android.content.Intent);
+    method @Deprecated public android.app.Application getApplication();
+    method @Deprecated public T getService();
+    method @Deprecated public android.content.Context getSystemContext();
+    method @Deprecated public void setApplication(android.app.Application);
+    method @Deprecated protected void setupService();
+    method @Deprecated protected void shutdownService();
+    method @Deprecated protected void startService(android.content.Intent);
+    method @Deprecated public void testServiceTestCaseSetUpProperly() throws java.lang.Exception;
+  }
+
+  @Deprecated public abstract class SingleLaunchActivityTestCase<T extends android.app.Activity> extends android.test.InstrumentationTestCase {
+    ctor @Deprecated public SingleLaunchActivityTestCase(String, Class<T>);
+    method @Deprecated public T getActivity();
+    method @Deprecated public void testActivityTestCaseSetUpProperly() throws java.lang.Exception;
+  }
+
+  @Deprecated public class SyncBaseInstrumentation extends android.test.InstrumentationTestCase {
+    ctor @Deprecated public SyncBaseInstrumentation();
+    method @Deprecated protected void cancelSyncsandDisableAutoSync();
+    method @Deprecated protected void syncProvider(android.net.Uri, String, String) throws java.lang.Exception;
+  }
+
+  @Deprecated public interface TestSuiteProvider {
+    method @Deprecated public junit.framework.TestSuite getTestSuite();
+  }
+
+  @Deprecated public class TouchUtils {
+    ctor @Deprecated public TouchUtils();
+    method @Deprecated public static void clickView(android.test.InstrumentationTestCase, android.view.View);
+    method @Deprecated public static void drag(android.test.ActivityInstrumentationTestCase, float, float, float, float, int);
+    method @Deprecated public static void drag(android.test.InstrumentationTestCase, float, float, float, float, int);
+    method @Deprecated public static void dragQuarterScreenDown(android.test.ActivityInstrumentationTestCase);
+    method @Deprecated public static void dragQuarterScreenDown(android.test.InstrumentationTestCase, android.app.Activity);
+    method @Deprecated public static void dragQuarterScreenUp(android.test.ActivityInstrumentationTestCase);
+    method @Deprecated public static void dragQuarterScreenUp(android.test.InstrumentationTestCase, android.app.Activity);
+    method @Deprecated public static int dragViewBy(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int);
+    method @Deprecated public static int dragViewBy(android.test.InstrumentationTestCase, android.view.View, int, int, int);
+    method @Deprecated public static int dragViewTo(android.test.ActivityInstrumentationTestCase, android.view.View, int, int, int);
+    method @Deprecated public static int dragViewTo(android.test.InstrumentationTestCase, android.view.View, int, int, int);
+    method @Deprecated public static void dragViewToBottom(android.test.ActivityInstrumentationTestCase, android.view.View);
+    method @Deprecated public static void dragViewToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.View);
+    method @Deprecated public static void dragViewToBottom(android.test.ActivityInstrumentationTestCase, android.view.View, int);
+    method @Deprecated public static void dragViewToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.View, int);
+    method @Deprecated public static void dragViewToTop(android.test.ActivityInstrumentationTestCase, android.view.View);
+    method @Deprecated public static void dragViewToTop(android.test.ActivityInstrumentationTestCase, android.view.View, int);
+    method @Deprecated public static void dragViewToTop(android.test.InstrumentationTestCase, android.view.View);
+    method @Deprecated public static void dragViewToTop(android.test.InstrumentationTestCase, android.view.View, int);
+    method @Deprecated public static int dragViewToX(android.test.ActivityInstrumentationTestCase, android.view.View, int, int);
+    method @Deprecated public static int dragViewToX(android.test.InstrumentationTestCase, android.view.View, int, int);
+    method @Deprecated public static int dragViewToY(android.test.ActivityInstrumentationTestCase, android.view.View, int, int);
+    method @Deprecated public static int dragViewToY(android.test.InstrumentationTestCase, android.view.View, int, int);
+    method @Deprecated public static void longClickView(android.test.ActivityInstrumentationTestCase, android.view.View);
+    method @Deprecated public static void longClickView(android.test.InstrumentationTestCase, android.view.View);
+    method @Deprecated public static void scrollToBottom(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup);
+    method @Deprecated public static void scrollToBottom(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup);
+    method @Deprecated public static void scrollToTop(android.test.ActivityInstrumentationTestCase, android.view.ViewGroup);
+    method @Deprecated public static void scrollToTop(android.test.InstrumentationTestCase, android.app.Activity, android.view.ViewGroup);
+    method @Deprecated public static void tapView(android.test.InstrumentationTestCase, android.view.View);
+    method @Deprecated public static void touchAndCancelView(android.test.InstrumentationTestCase, android.view.View);
+  }
+
+  @Deprecated public class ViewAsserts {
+    method @Deprecated public static void assertBaselineAligned(android.view.View, android.view.View);
+    method @Deprecated public static void assertBottomAligned(android.view.View, android.view.View);
+    method @Deprecated public static void assertBottomAligned(android.view.View, android.view.View, int);
+    method @Deprecated public static void assertGroupContains(android.view.ViewGroup, android.view.View);
+    method @Deprecated public static void assertGroupIntegrity(android.view.ViewGroup);
+    method @Deprecated public static void assertGroupNotContains(android.view.ViewGroup, android.view.View);
+    method @Deprecated public static void assertHasScreenCoordinates(android.view.View, android.view.View, int, int);
+    method @Deprecated public static void assertHorizontalCenterAligned(android.view.View, android.view.View);
+    method @Deprecated public static void assertLeftAligned(android.view.View, android.view.View);
+    method @Deprecated public static void assertLeftAligned(android.view.View, android.view.View, int);
+    method @Deprecated public static void assertOffScreenAbove(android.view.View, android.view.View);
+    method @Deprecated public static void assertOffScreenBelow(android.view.View, android.view.View);
+    method @Deprecated public static void assertOnScreen(android.view.View, android.view.View);
+    method @Deprecated public static void assertRightAligned(android.view.View, android.view.View);
+    method @Deprecated public static void assertRightAligned(android.view.View, android.view.View, int);
+    method @Deprecated public static void assertTopAligned(android.view.View, android.view.View);
+    method @Deprecated public static void assertTopAligned(android.view.View, android.view.View, int);
+    method @Deprecated public static void assertVerticalCenterAligned(android.view.View, android.view.View);
+  }
+
+}
+
+package android.test.suitebuilder {
+
+  @Deprecated public class TestMethod {
+    ctor @Deprecated public TestMethod(java.lang.reflect.Method, Class<? extends junit.framework.TestCase>);
+    ctor @Deprecated public TestMethod(String, Class<? extends junit.framework.TestCase>);
+    ctor @Deprecated public TestMethod(junit.framework.TestCase);
+    method @Deprecated public junit.framework.TestCase createTest() throws java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException;
+    method @Deprecated public <T extends java.lang.annotation.Annotation> T getAnnotation(Class<T>);
+    method @Deprecated public Class<? extends junit.framework.TestCase> getEnclosingClass();
+    method @Deprecated public String getEnclosingClassname();
+    method @Deprecated public String getName();
+  }
+
+  @Deprecated public class TestSuiteBuilder {
+    ctor @Deprecated public TestSuiteBuilder(Class);
+    ctor @Deprecated public TestSuiteBuilder(String, ClassLoader);
+    method @Deprecated public final junit.framework.TestSuite build();
+    method @Deprecated public android.test.suitebuilder.TestSuiteBuilder excludePackages(java.lang.String...);
+    method @Deprecated protected String getSuiteName();
+    method @Deprecated public final android.test.suitebuilder.TestSuiteBuilder includeAllPackagesUnderHere();
+    method @Deprecated public android.test.suitebuilder.TestSuiteBuilder includePackages(java.lang.String...);
+    method @Deprecated public android.test.suitebuilder.TestSuiteBuilder named(String);
+  }
+
+  @Deprecated public static class TestSuiteBuilder.FailedToCreateTests extends junit.framework.TestCase {
+    ctor @Deprecated public TestSuiteBuilder.FailedToCreateTests(Exception);
+    method @Deprecated public void testSuiteConstructionFailed();
+  }
+
+  @Deprecated public class UnitTestSuiteBuilder extends android.test.suitebuilder.TestSuiteBuilder {
+    ctor @Deprecated public UnitTestSuiteBuilder(Class);
+    ctor @Deprecated public UnitTestSuiteBuilder(String, ClassLoader);
+  }
+
+}
+
+package junit.runner {
+
+  public abstract class BaseTestRunner implements junit.framework.TestListener {
+    ctor public BaseTestRunner();
+    method public void addError(junit.framework.Test, Throwable);
+    method public void addFailure(junit.framework.Test, junit.framework.AssertionFailedError);
+    method protected void clearStatus();
+    method public String elapsedTimeAsString(long);
+    method public void endTest(junit.framework.Test);
+    method public String extractClassName(String);
+    method public static String getFilteredTrace(Throwable);
+    method public static String getFilteredTrace(String);
+    method @Deprecated public junit.runner.TestSuiteLoader getLoader();
+    method public static String getPreference(String);
+    method public static int getPreference(String, int);
+    method protected static java.util.Properties getPreferences();
+    method public junit.framework.Test getTest(String);
+    method @Deprecated public static boolean inVAJava();
+    method protected Class<?> loadSuiteClass(String) throws java.lang.ClassNotFoundException;
+    method protected String processArguments(String[]);
+    method protected abstract void runFailed(String);
+    method public static void savePreferences() throws java.io.IOException;
+    method public void setLoading(boolean);
+    method public void setPreference(String, String);
+    method protected static void setPreferences(java.util.Properties);
+    method protected static boolean showStackRaw();
+    method public void startTest(junit.framework.Test);
+    method public abstract void testEnded(String);
+    method public abstract void testFailed(int, junit.framework.Test, Throwable);
+    method public abstract void testStarted(String);
+    method public static String truncate(String);
+    method protected boolean useReloadingTestSuiteLoader();
+    field public static final String SUITE_METHODNAME = "suite";
+  }
+
+  public interface TestSuiteLoader {
+    method public Class load(String) throws java.lang.ClassNotFoundException;
+    method public Class reload(Class) throws java.lang.ClassNotFoundException;
+  }
+
+  public class Version {
+    method public static String id();
+  }
+
+}
+
diff --git a/32/public/api/android.txt b/32/public/api/android.txt
new file mode 100644
index 0000000..9c48c06
--- /dev/null
+++ b/32/public/api/android.txt
@@ -0,0 +1,86656 @@
+// Signature format: 2.0
+package android {
+
+  public final class Manifest {
+    ctor public Manifest();
+  }
+
+  public static final class Manifest.permission {
+    ctor public Manifest.permission();
+    field public static final String ACCEPT_HANDOVER = "android.permission.ACCEPT_HANDOVER";
+    field public static final String ACCESS_BACKGROUND_LOCATION = "android.permission.ACCESS_BACKGROUND_LOCATION";
+    field public static final String ACCESS_BLOBS_ACROSS_USERS = "android.permission.ACCESS_BLOBS_ACROSS_USERS";
+    field public static final String ACCESS_CHECKIN_PROPERTIES = "android.permission.ACCESS_CHECKIN_PROPERTIES";
+    field public static final String ACCESS_COARSE_LOCATION = "android.permission.ACCESS_COARSE_LOCATION";
+    field public static final String ACCESS_FINE_LOCATION = "android.permission.ACCESS_FINE_LOCATION";
+    field public static final String ACCESS_LOCATION_EXTRA_COMMANDS = "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS";
+    field public static final String ACCESS_MEDIA_LOCATION = "android.permission.ACCESS_MEDIA_LOCATION";
+    field public static final String ACCESS_NETWORK_STATE = "android.permission.ACCESS_NETWORK_STATE";
+    field public static final String ACCESS_NOTIFICATION_POLICY = "android.permission.ACCESS_NOTIFICATION_POLICY";
+    field public static final String ACCESS_WIFI_STATE = "android.permission.ACCESS_WIFI_STATE";
+    field public static final String ACCOUNT_MANAGER = "android.permission.ACCOUNT_MANAGER";
+    field public static final String ACTIVITY_RECOGNITION = "android.permission.ACTIVITY_RECOGNITION";
+    field public static final String ADD_VOICEMAIL = "com.android.voicemail.permission.ADD_VOICEMAIL";
+    field public static final String ANSWER_PHONE_CALLS = "android.permission.ANSWER_PHONE_CALLS";
+    field public static final String BATTERY_STATS = "android.permission.BATTERY_STATS";
+    field public static final String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
+    field public static final String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
+    field public static final String BIND_AUTOFILL_SERVICE = "android.permission.BIND_AUTOFILL_SERVICE";
+    field public static final String BIND_CALL_REDIRECTION_SERVICE = "android.permission.BIND_CALL_REDIRECTION_SERVICE";
+    field public static final String BIND_CARRIER_MESSAGING_CLIENT_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_CLIENT_SERVICE";
+    field @Deprecated public static final String BIND_CARRIER_MESSAGING_SERVICE = "android.permission.BIND_CARRIER_MESSAGING_SERVICE";
+    field public static final String BIND_CARRIER_SERVICES = "android.permission.BIND_CARRIER_SERVICES";
+    field @Deprecated public static final String BIND_CHOOSER_TARGET_SERVICE = "android.permission.BIND_CHOOSER_TARGET_SERVICE";
+    field public static final String BIND_COMPANION_DEVICE_SERVICE = "android.permission.BIND_COMPANION_DEVICE_SERVICE";
+    field public static final String BIND_CONDITION_PROVIDER_SERVICE = "android.permission.BIND_CONDITION_PROVIDER_SERVICE";
+    field public static final String BIND_CONTROLS = "android.permission.BIND_CONTROLS";
+    field public static final String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN";
+    field public static final String BIND_DREAM_SERVICE = "android.permission.BIND_DREAM_SERVICE";
+    field public static final String BIND_INCALL_SERVICE = "android.permission.BIND_INCALL_SERVICE";
+    field public static final String BIND_INPUT_METHOD = "android.permission.BIND_INPUT_METHOD";
+    field public static final String BIND_MIDI_DEVICE_SERVICE = "android.permission.BIND_MIDI_DEVICE_SERVICE";
+    field public static final String BIND_NFC_SERVICE = "android.permission.BIND_NFC_SERVICE";
+    field public static final String BIND_NOTIFICATION_LISTENER_SERVICE = "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE";
+    field public static final String BIND_PRINT_SERVICE = "android.permission.BIND_PRINT_SERVICE";
+    field public static final String BIND_QUICK_ACCESS_WALLET_SERVICE = "android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE";
+    field public static final String BIND_QUICK_SETTINGS_TILE = "android.permission.BIND_QUICK_SETTINGS_TILE";
+    field public static final String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS";
+    field public static final String BIND_SCREENING_SERVICE = "android.permission.BIND_SCREENING_SERVICE";
+    field public static final String BIND_TELECOM_CONNECTION_SERVICE = "android.permission.BIND_TELECOM_CONNECTION_SERVICE";
+    field public static final String BIND_TEXT_SERVICE = "android.permission.BIND_TEXT_SERVICE";
+    field public static final String BIND_TV_INPUT = "android.permission.BIND_TV_INPUT";
+    field public static final String BIND_VISUAL_VOICEMAIL_SERVICE = "android.permission.BIND_VISUAL_VOICEMAIL_SERVICE";
+    field public static final String BIND_VOICE_INTERACTION = "android.permission.BIND_VOICE_INTERACTION";
+    field public static final String BIND_VPN_SERVICE = "android.permission.BIND_VPN_SERVICE";
+    field public static final String BIND_VR_LISTENER_SERVICE = "android.permission.BIND_VR_LISTENER_SERVICE";
+    field public static final String BIND_WALLPAPER = "android.permission.BIND_WALLPAPER";
+    field public static final String BLUETOOTH = "android.permission.BLUETOOTH";
+    field public static final String BLUETOOTH_ADMIN = "android.permission.BLUETOOTH_ADMIN";
+    field public static final String BLUETOOTH_ADVERTISE = "android.permission.BLUETOOTH_ADVERTISE";
+    field public static final String BLUETOOTH_CONNECT = "android.permission.BLUETOOTH_CONNECT";
+    field public static final String BLUETOOTH_PRIVILEGED = "android.permission.BLUETOOTH_PRIVILEGED";
+    field public static final String BLUETOOTH_SCAN = "android.permission.BLUETOOTH_SCAN";
+    field public static final String BODY_SENSORS = "android.permission.BODY_SENSORS";
+    field public static final String BROADCAST_PACKAGE_REMOVED = "android.permission.BROADCAST_PACKAGE_REMOVED";
+    field public static final String BROADCAST_SMS = "android.permission.BROADCAST_SMS";
+    field public static final String BROADCAST_STICKY = "android.permission.BROADCAST_STICKY";
+    field public static final String BROADCAST_WAP_PUSH = "android.permission.BROADCAST_WAP_PUSH";
+    field public static final String CALL_COMPANION_APP = "android.permission.CALL_COMPANION_APP";
+    field public static final String CALL_PHONE = "android.permission.CALL_PHONE";
+    field public static final String CALL_PRIVILEGED = "android.permission.CALL_PRIVILEGED";
+    field public static final String CAMERA = "android.permission.CAMERA";
+    field public static final String CAPTURE_AUDIO_OUTPUT = "android.permission.CAPTURE_AUDIO_OUTPUT";
+    field public static final String CHANGE_COMPONENT_ENABLED_STATE = "android.permission.CHANGE_COMPONENT_ENABLED_STATE";
+    field public static final String CHANGE_CONFIGURATION = "android.permission.CHANGE_CONFIGURATION";
+    field public static final String CHANGE_NETWORK_STATE = "android.permission.CHANGE_NETWORK_STATE";
+    field public static final String CHANGE_WIFI_MULTICAST_STATE = "android.permission.CHANGE_WIFI_MULTICAST_STATE";
+    field public static final String CHANGE_WIFI_STATE = "android.permission.CHANGE_WIFI_STATE";
+    field public static final String CLEAR_APP_CACHE = "android.permission.CLEAR_APP_CACHE";
+    field public static final String CONTROL_LOCATION_UPDATES = "android.permission.CONTROL_LOCATION_UPDATES";
+    field public static final String DELETE_CACHE_FILES = "android.permission.DELETE_CACHE_FILES";
+    field public static final String DELETE_PACKAGES = "android.permission.DELETE_PACKAGES";
+    field public static final String DIAGNOSTIC = "android.permission.DIAGNOSTIC";
+    field public static final String DISABLE_KEYGUARD = "android.permission.DISABLE_KEYGUARD";
+    field public static final String DUMP = "android.permission.DUMP";
+    field public static final String EXPAND_STATUS_BAR = "android.permission.EXPAND_STATUS_BAR";
+    field public static final String FACTORY_TEST = "android.permission.FACTORY_TEST";
+    field public static final String FOREGROUND_SERVICE = "android.permission.FOREGROUND_SERVICE";
+    field public static final String GET_ACCOUNTS = "android.permission.GET_ACCOUNTS";
+    field public static final String GET_ACCOUNTS_PRIVILEGED = "android.permission.GET_ACCOUNTS_PRIVILEGED";
+    field public static final String GET_PACKAGE_SIZE = "android.permission.GET_PACKAGE_SIZE";
+    field @Deprecated public static final String GET_TASKS = "android.permission.GET_TASKS";
+    field public static final String GLOBAL_SEARCH = "android.permission.GLOBAL_SEARCH";
+    field public static final String HIDE_OVERLAY_WINDOWS = "android.permission.HIDE_OVERLAY_WINDOWS";
+    field public static final String HIGH_SAMPLING_RATE_SENSORS = "android.permission.HIGH_SAMPLING_RATE_SENSORS";
+    field public static final String INSTALL_LOCATION_PROVIDER = "android.permission.INSTALL_LOCATION_PROVIDER";
+    field public static final String INSTALL_PACKAGES = "android.permission.INSTALL_PACKAGES";
+    field public static final String INSTALL_SHORTCUT = "com.android.launcher.permission.INSTALL_SHORTCUT";
+    field public static final String INSTANT_APP_FOREGROUND_SERVICE = "android.permission.INSTANT_APP_FOREGROUND_SERVICE";
+    field public static final String INTERACT_ACROSS_PROFILES = "android.permission.INTERACT_ACROSS_PROFILES";
+    field public static final String INTERNET = "android.permission.INTERNET";
+    field public static final String KILL_BACKGROUND_PROCESSES = "android.permission.KILL_BACKGROUND_PROCESSES";
+    field public static final String LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK = "android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK";
+    field public static final String LOADER_USAGE_STATS = "android.permission.LOADER_USAGE_STATS";
+    field public static final String LOCATION_HARDWARE = "android.permission.LOCATION_HARDWARE";
+    field public static final String MANAGE_DOCUMENTS = "android.permission.MANAGE_DOCUMENTS";
+    field public static final String MANAGE_EXTERNAL_STORAGE = "android.permission.MANAGE_EXTERNAL_STORAGE";
+    field public static final String MANAGE_MEDIA = "android.permission.MANAGE_MEDIA";
+    field public static final String MANAGE_ONGOING_CALLS = "android.permission.MANAGE_ONGOING_CALLS";
+    field public static final String MANAGE_OWN_CALLS = "android.permission.MANAGE_OWN_CALLS";
+    field public static final String MASTER_CLEAR = "android.permission.MASTER_CLEAR";
+    field public static final String MEDIA_CONTENT_CONTROL = "android.permission.MEDIA_CONTENT_CONTROL";
+    field public static final String MODIFY_AUDIO_SETTINGS = "android.permission.MODIFY_AUDIO_SETTINGS";
+    field public static final String MODIFY_PHONE_STATE = "android.permission.MODIFY_PHONE_STATE";
+    field public static final String MOUNT_FORMAT_FILESYSTEMS = "android.permission.MOUNT_FORMAT_FILESYSTEMS";
+    field public static final String MOUNT_UNMOUNT_FILESYSTEMS = "android.permission.MOUNT_UNMOUNT_FILESYSTEMS";
+    field public static final String NFC = "android.permission.NFC";
+    field public static final String NFC_PREFERRED_PAYMENT_INFO = "android.permission.NFC_PREFERRED_PAYMENT_INFO";
+    field public static final String NFC_TRANSACTION_EVENT = "android.permission.NFC_TRANSACTION_EVENT";
+    field public static final String PACKAGE_USAGE_STATS = "android.permission.PACKAGE_USAGE_STATS";
+    field @Deprecated public static final String PERSISTENT_ACTIVITY = "android.permission.PERSISTENT_ACTIVITY";
+    field @Deprecated public static final String PROCESS_OUTGOING_CALLS = "android.permission.PROCESS_OUTGOING_CALLS";
+    field public static final String QUERY_ALL_PACKAGES = "android.permission.QUERY_ALL_PACKAGES";
+    field public static final String READ_CALENDAR = "android.permission.READ_CALENDAR";
+    field public static final String READ_CALL_LOG = "android.permission.READ_CALL_LOG";
+    field public static final String READ_CONTACTS = "android.permission.READ_CONTACTS";
+    field public static final String READ_EXTERNAL_STORAGE = "android.permission.READ_EXTERNAL_STORAGE";
+    field @Deprecated public static final String READ_INPUT_STATE = "android.permission.READ_INPUT_STATE";
+    field public static final String READ_LOGS = "android.permission.READ_LOGS";
+    field public static final String READ_PHONE_NUMBERS = "android.permission.READ_PHONE_NUMBERS";
+    field public static final String READ_PHONE_STATE = "android.permission.READ_PHONE_STATE";
+    field public static final String READ_PRECISE_PHONE_STATE = "android.permission.READ_PRECISE_PHONE_STATE";
+    field public static final String READ_SMS = "android.permission.READ_SMS";
+    field public static final String READ_SYNC_SETTINGS = "android.permission.READ_SYNC_SETTINGS";
+    field public static final String READ_SYNC_STATS = "android.permission.READ_SYNC_STATS";
+    field public static final String READ_VOICEMAIL = "com.android.voicemail.permission.READ_VOICEMAIL";
+    field public static final String REBOOT = "android.permission.REBOOT";
+    field public static final String RECEIVE_BOOT_COMPLETED = "android.permission.RECEIVE_BOOT_COMPLETED";
+    field public static final String RECEIVE_MMS = "android.permission.RECEIVE_MMS";
+    field public static final String RECEIVE_SMS = "android.permission.RECEIVE_SMS";
+    field public static final String RECEIVE_WAP_PUSH = "android.permission.RECEIVE_WAP_PUSH";
+    field public static final String RECORD_AUDIO = "android.permission.RECORD_AUDIO";
+    field public static final String REORDER_TASKS = "android.permission.REORDER_TASKS";
+    field public static final String REQUEST_COMPANION_PROFILE_WATCH = "android.permission.REQUEST_COMPANION_PROFILE_WATCH";
+    field public static final String REQUEST_COMPANION_RUN_IN_BACKGROUND = "android.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND";
+    field public static final String REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND = "android.permission.REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND";
+    field public static final String REQUEST_COMPANION_USE_DATA_IN_BACKGROUND = "android.permission.REQUEST_COMPANION_USE_DATA_IN_BACKGROUND";
+    field public static final String REQUEST_DELETE_PACKAGES = "android.permission.REQUEST_DELETE_PACKAGES";
+    field public static final String REQUEST_IGNORE_BATTERY_OPTIMIZATIONS = "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS";
+    field public static final String REQUEST_INSTALL_PACKAGES = "android.permission.REQUEST_INSTALL_PACKAGES";
+    field public static final String REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE = "android.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE";
+    field public static final String REQUEST_PASSWORD_COMPLEXITY = "android.permission.REQUEST_PASSWORD_COMPLEXITY";
+    field @Deprecated public static final String RESTART_PACKAGES = "android.permission.RESTART_PACKAGES";
+    field public static final String SCHEDULE_EXACT_ALARM = "android.permission.SCHEDULE_EXACT_ALARM";
+    field public static final String SEND_RESPOND_VIA_MESSAGE = "android.permission.SEND_RESPOND_VIA_MESSAGE";
+    field public static final String SEND_SMS = "android.permission.SEND_SMS";
+    field public static final String SET_ALARM = "com.android.alarm.permission.SET_ALARM";
+    field public static final String SET_ALWAYS_FINISH = "android.permission.SET_ALWAYS_FINISH";
+    field public static final String SET_ANIMATION_SCALE = "android.permission.SET_ANIMATION_SCALE";
+    field public static final String SET_DEBUG_APP = "android.permission.SET_DEBUG_APP";
+    field @Deprecated public static final String SET_PREFERRED_APPLICATIONS = "android.permission.SET_PREFERRED_APPLICATIONS";
+    field public static final String SET_PROCESS_LIMIT = "android.permission.SET_PROCESS_LIMIT";
+    field public static final String SET_TIME = "android.permission.SET_TIME";
+    field public static final String SET_TIME_ZONE = "android.permission.SET_TIME_ZONE";
+    field public static final String SET_WALLPAPER = "android.permission.SET_WALLPAPER";
+    field public static final String SET_WALLPAPER_HINTS = "android.permission.SET_WALLPAPER_HINTS";
+    field public static final String SIGNAL_PERSISTENT_PROCESSES = "android.permission.SIGNAL_PERSISTENT_PROCESSES";
+    field @Deprecated public static final String SMS_FINANCIAL_TRANSACTIONS = "android.permission.SMS_FINANCIAL_TRANSACTIONS";
+    field public static final String START_FOREGROUND_SERVICES_FROM_BACKGROUND = "android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND";
+    field public static final String START_VIEW_PERMISSION_USAGE = "android.permission.START_VIEW_PERMISSION_USAGE";
+    field public static final String STATUS_BAR = "android.permission.STATUS_BAR";
+    field public static final String SYSTEM_ALERT_WINDOW = "android.permission.SYSTEM_ALERT_WINDOW";
+    field public static final String TRANSMIT_IR = "android.permission.TRANSMIT_IR";
+    field public static final String UNINSTALL_SHORTCUT = "com.android.launcher.permission.UNINSTALL_SHORTCUT";
+    field public static final String UPDATE_DEVICE_STATS = "android.permission.UPDATE_DEVICE_STATS";
+    field public static final String UPDATE_PACKAGES_WITHOUT_USER_ACTION = "android.permission.UPDATE_PACKAGES_WITHOUT_USER_ACTION";
+    field public static final String USE_BIOMETRIC = "android.permission.USE_BIOMETRIC";
+    field @Deprecated public static final String USE_FINGERPRINT = "android.permission.USE_FINGERPRINT";
+    field public static final String USE_FULL_SCREEN_INTENT = "android.permission.USE_FULL_SCREEN_INTENT";
+    field public static final String USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER = "android.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER";
+    field public static final String USE_SIP = "android.permission.USE_SIP";
+    field public static final String UWB_RANGING = "android.permission.UWB_RANGING";
+    field public static final String VIBRATE = "android.permission.VIBRATE";
+    field public static final String WAKE_LOCK = "android.permission.WAKE_LOCK";
+    field public static final String WRITE_APN_SETTINGS = "android.permission.WRITE_APN_SETTINGS";
+    field public static final String WRITE_CALENDAR = "android.permission.WRITE_CALENDAR";
+    field public static final String WRITE_CALL_LOG = "android.permission.WRITE_CALL_LOG";
+    field public static final String WRITE_CONTACTS = "android.permission.WRITE_CONTACTS";
+    field public static final String WRITE_EXTERNAL_STORAGE = "android.permission.WRITE_EXTERNAL_STORAGE";
+    field public static final String WRITE_GSERVICES = "android.permission.WRITE_GSERVICES";
+    field public static final String WRITE_SECURE_SETTINGS = "android.permission.WRITE_SECURE_SETTINGS";
+    field public static final String WRITE_SETTINGS = "android.permission.WRITE_SETTINGS";
+    field public static final String WRITE_SYNC_SETTINGS = "android.permission.WRITE_SYNC_SETTINGS";
+    field public static final String WRITE_VOICEMAIL = "com.android.voicemail.permission.WRITE_VOICEMAIL";
+  }
+
+  public static final class Manifest.permission_group {
+    ctor public Manifest.permission_group();
+    field public static final String ACTIVITY_RECOGNITION = "android.permission-group.ACTIVITY_RECOGNITION";
+    field public static final String CALENDAR = "android.permission-group.CALENDAR";
+    field public static final String CALL_LOG = "android.permission-group.CALL_LOG";
+    field public static final String CAMERA = "android.permission-group.CAMERA";
+    field public static final String CONTACTS = "android.permission-group.CONTACTS";
+    field public static final String LOCATION = "android.permission-group.LOCATION";
+    field public static final String MICROPHONE = "android.permission-group.MICROPHONE";
+    field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES";
+    field public static final String PHONE = "android.permission-group.PHONE";
+    field public static final String SENSORS = "android.permission-group.SENSORS";
+    field public static final String SMS = "android.permission-group.SMS";
+    field public static final String STORAGE = "android.permission-group.STORAGE";
+  }
+
+  public final class R {
+    ctor public R();
+  }
+
+  public static final class R.anim {
+    ctor public R.anim();
+    field public static final int accelerate_decelerate_interpolator = 17432580; // 0x10a0004
+    field public static final int accelerate_interpolator = 17432581; // 0x10a0005
+    field public static final int anticipate_interpolator = 17432583; // 0x10a0007
+    field public static final int anticipate_overshoot_interpolator = 17432585; // 0x10a0009
+    field public static final int bounce_interpolator = 17432586; // 0x10a000a
+    field public static final int cycle_interpolator = 17432588; // 0x10a000c
+    field public static final int decelerate_interpolator = 17432582; // 0x10a0006
+    field public static final int fade_in = 17432576; // 0x10a0000
+    field public static final int fade_out = 17432577; // 0x10a0001
+    field public static final int linear_interpolator = 17432587; // 0x10a000b
+    field public static final int overshoot_interpolator = 17432584; // 0x10a0008
+    field public static final int slide_in_left = 17432578; // 0x10a0002
+    field public static final int slide_out_right = 17432579; // 0x10a0003
+  }
+
+  public static final class R.animator {
+    ctor public R.animator();
+    field public static final int fade_in = 17498112; // 0x10b0000
+    field public static final int fade_out = 17498113; // 0x10b0001
+  }
+
+  public static final class R.array {
+    ctor public R.array();
+    field public static final int emailAddressTypes = 17235968; // 0x1070000
+    field public static final int imProtocols = 17235969; // 0x1070001
+    field public static final int organizationTypes = 17235970; // 0x1070002
+    field public static final int phoneTypes = 17235971; // 0x1070003
+    field public static final int postalAddressTypes = 17235972; // 0x1070004
+  }
+
+  public static final class R.attr {
+    ctor public R.attr();
+    field public static final int absListViewStyle = 16842858; // 0x101006a
+    field public static final int accessibilityEventTypes = 16843648; // 0x1010380
+    field public static final int accessibilityFeedbackType = 16843650; // 0x1010382
+    field public static final int accessibilityFlags = 16843652; // 0x1010384
+    field public static final int accessibilityHeading = 16844160; // 0x1010580
+    field public static final int accessibilityLiveRegion = 16843758; // 0x10103ee
+    field public static final int accessibilityPaneTitle = 16844156; // 0x101057c
+    field public static final int accessibilityTraversalAfter = 16843986; // 0x10104d2
+    field public static final int accessibilityTraversalBefore = 16843985; // 0x10104d1
+    field public static final int accountPreferences = 16843423; // 0x101029f
+    field public static final int accountType = 16843407; // 0x101028f
+    field public static final int action = 16842797; // 0x101002d
+    field public static final int actionBarDivider = 16843675; // 0x101039b
+    field public static final int actionBarItemBackground = 16843676; // 0x101039c
+    field public static final int actionBarPopupTheme = 16843917; // 0x101048d
+    field public static final int actionBarSize = 16843499; // 0x10102eb
+    field public static final int actionBarSplitStyle = 16843656; // 0x1010388
+    field public static final int actionBarStyle = 16843470; // 0x10102ce
+    field public static final int actionBarTabBarStyle = 16843508; // 0x10102f4
+    field public static final int actionBarTabStyle = 16843507; // 0x10102f3
+    field public static final int actionBarTabTextStyle = 16843509; // 0x10102f5
+    field public static final int actionBarTheme = 16843825; // 0x1010431
+    field public static final int actionBarWidgetTheme = 16843671; // 0x1010397
+    field public static final int actionButtonStyle = 16843480; // 0x10102d8
+    field public static final int actionDropDownStyle = 16843479; // 0x10102d7
+    field public static final int actionLayout = 16843515; // 0x10102fb
+    field public static final int actionMenuTextAppearance = 16843616; // 0x1010360
+    field public static final int actionMenuTextColor = 16843617; // 0x1010361
+    field public static final int actionModeBackground = 16843483; // 0x10102db
+    field public static final int actionModeCloseButtonStyle = 16843511; // 0x10102f7
+    field public static final int actionModeCloseDrawable = 16843484; // 0x10102dc
+    field public static final int actionModeCopyDrawable = 16843538; // 0x1010312
+    field public static final int actionModeCutDrawable = 16843537; // 0x1010311
+    field public static final int actionModeFindDrawable = 16843898; // 0x101047a
+    field public static final int actionModePasteDrawable = 16843539; // 0x1010313
+    field public static final int actionModeSelectAllDrawable = 16843646; // 0x101037e
+    field public static final int actionModeShareDrawable = 16843897; // 0x1010479
+    field public static final int actionModeSplitBackground = 16843677; // 0x101039d
+    field public static final int actionModeStyle = 16843668; // 0x1010394
+    field public static final int actionModeWebSearchDrawable = 16843899; // 0x101047b
+    field public static final int actionOverflowButtonStyle = 16843510; // 0x10102f6
+    field public static final int actionOverflowMenuStyle = 16843844; // 0x1010444
+    field public static final int actionProviderClass = 16843657; // 0x1010389
+    field public static final int actionViewClass = 16843516; // 0x10102fc
+    field public static final int activatedBackgroundIndicator = 16843517; // 0x10102fd
+    field public static final int activityCloseEnterAnimation = 16842938; // 0x10100ba
+    field public static final int activityCloseExitAnimation = 16842939; // 0x10100bb
+    field public static final int activityOpenEnterAnimation = 16842936; // 0x10100b8
+    field public static final int activityOpenExitAnimation = 16842937; // 0x10100b9
+    field public static final int addPrintersActivity = 16843750; // 0x10103e6
+    field public static final int addStatesFromChildren = 16842992; // 0x10100f0
+    field public static final int adjustViewBounds = 16843038; // 0x101011e
+    field public static final int advancedPrintOptionsActivity = 16843761; // 0x10103f1
+    field public static final int alertDialogIcon = 16843605; // 0x1010355
+    field public static final int alertDialogStyle = 16842845; // 0x101005d
+    field public static final int alertDialogTheme = 16843529; // 0x1010309
+    field public static final int alignmentMode = 16843642; // 0x101037a
+    field public static final int allContactsName = 16843468; // 0x10102cc
+    field public static final int allowAudioPlaybackCapture = 16844289; // 0x1010601
+    field public static final int allowBackup = 16843392; // 0x1010280
+    field public static final int allowClearUserData = 16842757; // 0x1010005
+    field public static final int allowClickWhenDisabled = 16844312; // 0x1010618
+    field public static final int allowEmbedded = 16843765; // 0x10103f5
+    field public static final int allowNativeHeapPointerTagging = 16844306; // 0x1010612
+    field public static final int allowParallelSyncs = 16843570; // 0x1010332
+    field public static final int allowSingleTap = 16843353; // 0x1010259
+    field public static final int allowTaskReparenting = 16843268; // 0x1010204
+    field public static final int allowUndo = 16843999; // 0x10104df
+    field public static final int alpha = 16843551; // 0x101031f
+    field public static final int alphabeticModifiers = 16844110; // 0x101054e
+    field public static final int alphabeticShortcut = 16843235; // 0x10101e3
+    field public static final int alwaysDrawnWithCache = 16842991; // 0x10100ef
+    field public static final int alwaysRetainTaskState = 16843267; // 0x1010203
+    field @Deprecated public static final int amPmBackgroundColor = 16843941; // 0x10104a5
+    field @Deprecated public static final int amPmTextColor = 16843940; // 0x10104a4
+    field public static final int ambientShadowAlpha = 16843966; // 0x10104be
+    field public static final int angle = 16843168; // 0x10101a0
+    field public static final int animateFirstView = 16843477; // 0x10102d5
+    field public static final int animateLayoutChanges = 16843506; // 0x10102f2
+    field public static final int animateOnClick = 16843356; // 0x101025c
+    field public static final int animatedImageDrawable = 16844298; // 0x101060a
+    field public static final int animation = 16843213; // 0x10101cd
+    field public static final int animationCache = 16842989; // 0x10100ed
+    field public static final int animationDuration = 16843026; // 0x1010112
+    field public static final int animationOrder = 16843214; // 0x10101ce
+    field @Deprecated public static final int animationResolution = 16843546; // 0x101031a
+    field public static final int antialias = 16843034; // 0x101011a
+    field @Deprecated public static final int anyDensity = 16843372; // 0x101026c
+    field public static final int apduServiceBanner = 16843757; // 0x10103ed
+    field public static final int apiKey = 16843281; // 0x1010211
+    field public static final int appCategory = 16844101; // 0x1010545
+    field public static final int appComponentFactory = 16844154; // 0x101057a
+    field public static final int attributionTags = 16844354; // 0x1010642
+    field public static final int attributionsAreUserVisible = 16844363; // 0x101064b
+    field public static final int author = 16843444; // 0x10102b4
+    field public static final int authorities = 16842776; // 0x1010018
+    field public static final int autoAdvanceViewId = 16843535; // 0x101030f
+    field public static final int autoCompleteTextViewStyle = 16842859; // 0x101006b
+    field public static final int autoLink = 16842928; // 0x10100b0
+    field public static final int autoMirrored = 16843754; // 0x10103ea
+    field public static final int autoRemoveFromRecents = 16843847; // 0x1010447
+    field public static final int autoRevokePermissions = 16844307; // 0x1010613
+    field public static final int autoSizeMaxTextSize = 16844102; // 0x1010546
+    field public static final int autoSizeMinTextSize = 16844088; // 0x1010538
+    field public static final int autoSizePresetSizes = 16844087; // 0x1010537
+    field public static final int autoSizeStepGranularity = 16844086; // 0x1010536
+    field public static final int autoSizeTextType = 16844085; // 0x1010535
+    field public static final int autoStart = 16843445; // 0x10102b5
+    field @Deprecated public static final int autoText = 16843114; // 0x101016a
+    field public static final int autoUrlDetect = 16843404; // 0x101028c
+    field public static final int autoVerify = 16844014; // 0x10104ee
+    field public static final int autofillHints = 16844118; // 0x1010556
+    field public static final int autofilledHighlight = 16844136; // 0x1010568
+    field public static final int background = 16842964; // 0x10100d4
+    field public static final int backgroundDimAmount = 16842802; // 0x1010032
+    field public static final int backgroundDimEnabled = 16843295; // 0x101021f
+    field public static final int backgroundSplit = 16843659; // 0x101038b
+    field public static final int backgroundStacked = 16843658; // 0x101038a
+    field public static final int backgroundTint = 16843883; // 0x101046b
+    field public static final int backgroundTintMode = 16843884; // 0x101046c
+    field public static final int backupAgent = 16843391; // 0x101027f
+    field public static final int backupInForeground = 16844058; // 0x101051a
+    field public static final int banner = 16843762; // 0x10103f2
+    field public static final int baseline = 16843548; // 0x101031c
+    field public static final int baselineAlignBottom = 16843042; // 0x1010122
+    field public static final int baselineAligned = 16843046; // 0x1010126
+    field public static final int baselineAlignedChildIndex = 16843047; // 0x1010127
+    field public static final int bitmap = 16844054; // 0x1010516
+    field public static final int borderlessButtonStyle = 16843563; // 0x101032b
+    field public static final int bottom = 16843184; // 0x10101b0
+    field public static final int bottomBright = 16842957; // 0x10100cd
+    field public static final int bottomDark = 16842953; // 0x10100c9
+    field public static final int bottomLeftRadius = 16843179; // 0x10101ab
+    field public static final int bottomMedium = 16842958; // 0x10100ce
+    field public static final int bottomOffset = 16843351; // 0x1010257
+    field public static final int bottomRightRadius = 16843180; // 0x10101ac
+    field public static final int breadCrumbShortTitle = 16843524; // 0x1010304
+    field public static final int breadCrumbTitle = 16843523; // 0x1010303
+    field public static final int breakStrategy = 16843997; // 0x10104dd
+    field public static final int bufferType = 16843086; // 0x101014e
+    field public static final int button = 16843015; // 0x1010107
+    field public static final int buttonBarButtonStyle = 16843567; // 0x101032f
+    field public static final int buttonBarNegativeButtonStyle = 16843915; // 0x101048b
+    field public static final int buttonBarNeutralButtonStyle = 16843914; // 0x101048a
+    field public static final int buttonBarPositiveButtonStyle = 16843913; // 0x1010489
+    field public static final int buttonBarStyle = 16843566; // 0x101032e
+    field public static final int buttonCornerRadius = 16844149; // 0x1010575
+    field public static final int buttonGravity = 16844030; // 0x10104fe
+    field public static final int buttonStyle = 16842824; // 0x1010048
+    field public static final int buttonStyleInset = 16842826; // 0x101004a
+    field public static final int buttonStyleSmall = 16842825; // 0x1010049
+    field public static final int buttonStyleToggle = 16842827; // 0x101004b
+    field public static final int buttonTint = 16843887; // 0x101046f
+    field public static final int buttonTintMode = 16843888; // 0x1010470
+    field public static final int cacheColorHint = 16843009; // 0x1010101
+    field public static final int calendarTextColor = 16843931; // 0x101049b
+    field public static final int calendarViewShown = 16843596; // 0x101034c
+    field public static final int calendarViewStyle = 16843613; // 0x101035d
+    field public static final int canControlMagnification = 16844039; // 0x1010507
+    field public static final int canPauseRecording = 16844314; // 0x101061a
+    field public static final int canPerformGestures = 16844045; // 0x101050d
+    field public static final int canRecord = 16844060; // 0x101051c
+    field @Deprecated public static final int canRequestEnhancedWebAccessibility = 16843736; // 0x10103d8
+    field public static final int canRequestFilterKeyEvents = 16843737; // 0x10103d9
+    field public static final int canRequestFingerprintGestures = 16844109; // 0x101054d
+    field public static final int canRequestTouchExplorationMode = 16843735; // 0x10103d7
+    field public static final int canRetrieveWindowContent = 16843653; // 0x1010385
+    field public static final int canTakeScreenshot = 16844303; // 0x101060f
+    field public static final int candidatesTextStyleSpans = 16843312; // 0x1010230
+    field public static final int cantSaveState = 16844142; // 0x101056e
+    field @Deprecated public static final int capitalize = 16843113; // 0x1010169
+    field public static final int category = 16843752; // 0x10103e8
+    field public static final int centerBright = 16842956; // 0x10100cc
+    field public static final int centerColor = 16843275; // 0x101020b
+    field public static final int centerDark = 16842952; // 0x10100c8
+    field public static final int centerMedium = 16842959; // 0x10100cf
+    field public static final int centerX = 16843170; // 0x10101a2
+    field public static final int centerY = 16843171; // 0x10101a3
+    field public static final int certDigest = 16844104; // 0x1010548
+    field public static final int checkBoxPreferenceStyle = 16842895; // 0x101008f
+    field public static final int checkMark = 16843016; // 0x1010108
+    field public static final int checkMarkTint = 16843943; // 0x10104a7
+    field public static final int checkMarkTintMode = 16843944; // 0x10104a8
+    field public static final int checkable = 16843237; // 0x10101e5
+    field public static final int checkableBehavior = 16843232; // 0x10101e0
+    field public static final int checkboxStyle = 16842860; // 0x101006c
+    field public static final int checked = 16843014; // 0x1010106
+    field public static final int checkedButton = 16843080; // 0x1010148
+    field public static final int checkedTextViewStyle = 16843720; // 0x10103c8
+    field public static final int childDivider = 16843025; // 0x1010111
+    field public static final int childIndicator = 16843020; // 0x101010c
+    field public static final int childIndicatorEnd = 16843732; // 0x10103d4
+    field public static final int childIndicatorLeft = 16843023; // 0x101010f
+    field public static final int childIndicatorRight = 16843024; // 0x1010110
+    field public static final int childIndicatorStart = 16843731; // 0x10103d3
+    field public static final int choiceMode = 16843051; // 0x101012b
+    field public static final int classLoader = 16844139; // 0x101056b
+    field public static final int clearTaskOnLaunch = 16842773; // 0x1010015
+    field public static final int clickable = 16842981; // 0x10100e5
+    field public static final int clipChildren = 16842986; // 0x10100ea
+    field public static final int clipOrientation = 16843274; // 0x101020a
+    field public static final int clipToOutline = 16844328; // 0x1010628
+    field public static final int clipToPadding = 16842987; // 0x10100eb
+    field public static final int closeIcon = 16843905; // 0x1010481
+    field @Deprecated public static final int codes = 16843330; // 0x1010242
+    field public static final int collapseColumns = 16843083; // 0x101014b
+    field public static final int collapseContentDescription = 16843984; // 0x10104d0
+    field public static final int collapseIcon = 16844031; // 0x10104ff
+    field public static final int color = 16843173; // 0x10101a5
+    field public static final int colorAccent = 16843829; // 0x1010435
+    field public static final int colorActivatedHighlight = 16843664; // 0x1010390
+    field public static final int colorBackground = 16842801; // 0x1010031
+    field public static final int colorBackgroundCacheHint = 16843435; // 0x10102ab
+    field public static final int colorBackgroundFloating = 16844002; // 0x10104e2
+    field public static final int colorButtonNormal = 16843819; // 0x101042b
+    field public static final int colorControlActivated = 16843818; // 0x101042a
+    field public static final int colorControlHighlight = 16843820; // 0x101042c
+    field public static final int colorControlNormal = 16843817; // 0x1010429
+    field public static final int colorEdgeEffect = 16843982; // 0x10104ce
+    field public static final int colorError = 16844099; // 0x1010543
+    field public static final int colorFocusedHighlight = 16843663; // 0x101038f
+    field public static final int colorForeground = 16842800; // 0x1010030
+    field public static final int colorForegroundInverse = 16843270; // 0x1010206
+    field public static final int colorLongPressedHighlight = 16843662; // 0x101038e
+    field public static final int colorMode = 16844106; // 0x101054a
+    field public static final int colorMultiSelectHighlight = 16843665; // 0x1010391
+    field public static final int colorPressedHighlight = 16843661; // 0x101038d
+    field public static final int colorPrimary = 16843827; // 0x1010433
+    field public static final int colorPrimaryDark = 16843828; // 0x1010434
+    field public static final int colorSecondary = 16844080; // 0x1010530
+    field public static final int columnCount = 16843639; // 0x1010377
+    field public static final int columnDelay = 16843215; // 0x10101cf
+    field public static final int columnOrderPreserved = 16843640; // 0x1010378
+    field public static final int columnWidth = 16843031; // 0x1010117
+    field public static final int commitIcon = 16843909; // 0x1010485
+    field public static final int compatibleWidthLimitDp = 16843621; // 0x1010365
+    field public static final int completionHint = 16843122; // 0x1010172
+    field public static final int completionHintView = 16843123; // 0x1010173
+    field public static final int completionThreshold = 16843124; // 0x1010174
+    field public static final int configChanges = 16842783; // 0x101001f
+    field public static final int configure = 16843357; // 0x101025d
+    field public static final int constantSize = 16843158; // 0x1010196
+    field public static final int content = 16843355; // 0x101025b
+    field public static final int contentAgeHint = 16843961; // 0x10104b9
+    field public static final int contentAuthority = 16843408; // 0x1010290
+    field public static final int contentDescription = 16843379; // 0x1010273
+    field public static final int contentInsetEnd = 16843860; // 0x1010454
+    field public static final int contentInsetEndWithActions = 16844067; // 0x1010523
+    field public static final int contentInsetLeft = 16843861; // 0x1010455
+    field public static final int contentInsetRight = 16843862; // 0x1010456
+    field public static final int contentInsetStart = 16843859; // 0x1010453
+    field public static final int contentInsetStartWithNavigation = 16844066; // 0x1010522
+    field public static final int contextClickable = 16844007; // 0x10104e7
+    field public static final int contextDescription = 16844078; // 0x101052e
+    field public static final int contextPopupMenuStyle = 16844033; // 0x1010501
+    field public static final int contextUri = 16844077; // 0x101052d
+    field public static final int controlX1 = 16843772; // 0x10103fc
+    field public static final int controlX2 = 16843774; // 0x10103fe
+    field public static final int controlY1 = 16843773; // 0x10103fd
+    field public static final int controlY2 = 16843775; // 0x10103ff
+    field public static final int countDown = 16844059; // 0x101051b
+    field public static final int country = 16843962; // 0x10104ba
+    field public static final int cropToPadding = 16843043; // 0x1010123
+    field public static final int crossProfile = 16844302; // 0x101060e
+    field public static final int cursorVisible = 16843090; // 0x1010152
+    field public static final int customNavigationLayout = 16843474; // 0x10102d2
+    field public static final int customTokens = 16843579; // 0x101033b
+    field public static final int cycles = 16843220; // 0x10101d4
+    field public static final int dashGap = 16843175; // 0x10101a7
+    field public static final int dashWidth = 16843174; // 0x10101a6
+    field public static final int data = 16842798; // 0x101002e
+    field public static final int dataExtractionRules = 16844350; // 0x101063e
+    field public static final int datePickerDialogTheme = 16843948; // 0x10104ac
+    field public static final int datePickerMode = 16843955; // 0x10104b3
+    field public static final int datePickerStyle = 16843612; // 0x101035c
+    field public static final int dateTextAppearance = 16843593; // 0x1010349
+    field @Deprecated public static final int dayOfWeekBackground = 16843924; // 0x1010494
+    field @Deprecated public static final int dayOfWeekTextAppearance = 16843925; // 0x1010495
+    field public static final int debuggable = 16842767; // 0x101000f
+    field public static final int defaultFocusHighlightEnabled = 16844130; // 0x1010562
+    field public static final int defaultHeight = 16844021; // 0x10104f5
+    field public static final int defaultToDeviceProtectedStorage = 16844036; // 0x1010504
+    field public static final int defaultValue = 16843245; // 0x10101ed
+    field public static final int defaultWidth = 16844020; // 0x10104f4
+    field public static final int delay = 16843212; // 0x10101cc
+    field public static final int dependency = 16843244; // 0x10101ec
+    field public static final int descendantFocusability = 16842993; // 0x10100f1
+    field public static final int description = 16842784; // 0x1010020
+    field public static final int detachWallpaper = 16843430; // 0x10102a6
+    field public static final int detailColumn = 16843427; // 0x10102a3
+    field public static final int detailSocialSummary = 16843428; // 0x10102a4
+    field public static final int detailsElementBackground = 16843598; // 0x101034e
+    field public static final int dial = 16843010; // 0x1010102
+    field public static final int dialTint = 16844342; // 0x1010636
+    field public static final int dialTintMode = 16844343; // 0x1010637
+    field public static final int dialogCornerRadius = 16844145; // 0x1010571
+    field public static final int dialogIcon = 16843252; // 0x10101f4
+    field public static final int dialogLayout = 16843255; // 0x10101f7
+    field public static final int dialogMessage = 16843251; // 0x10101f3
+    field public static final int dialogPreferenceStyle = 16842897; // 0x1010091
+    field public static final int dialogPreferredPadding = 16843987; // 0x10104d3
+    field public static final int dialogTheme = 16843528; // 0x1010308
+    field public static final int dialogTitle = 16843250; // 0x10101f2
+    field public static final int digits = 16843110; // 0x1010166
+    field public static final int directBootAware = 16844037; // 0x1010505
+    field public static final int direction = 16843217; // 0x10101d1
+    field @Deprecated public static final int directionDescriptions = 16843681; // 0x10103a1
+    field public static final int directionPriority = 16843218; // 0x10101d2
+    field public static final int disableDependentsState = 16843249; // 0x10101f1
+    field public static final int disabledAlpha = 16842803; // 0x1010033
+    field public static final int displayOptions = 16843472; // 0x10102d0
+    field public static final int dither = 16843036; // 0x101011c
+    field public static final int divider = 16843049; // 0x1010129
+    field public static final int dividerHeight = 16843050; // 0x101012a
+    field public static final int dividerHorizontal = 16843564; // 0x101032c
+    field public static final int dividerPadding = 16843562; // 0x101032a
+    field public static final int dividerVertical = 16843530; // 0x101030a
+    field public static final int documentLaunchMode = 16843845; // 0x1010445
+    field public static final int drawSelectorOnTop = 16843004; // 0x10100fc
+    field public static final int drawable = 16843161; // 0x1010199
+    field public static final int drawableBottom = 16843118; // 0x101016e
+    field public static final int drawableEnd = 16843667; // 0x1010393
+    field public static final int drawableLeft = 16843119; // 0x101016f
+    field public static final int drawablePadding = 16843121; // 0x1010171
+    field public static final int drawableRight = 16843120; // 0x1010170
+    field public static final int drawableStart = 16843666; // 0x1010392
+    field public static final int drawableTint = 16843990; // 0x10104d6
+    field public static final int drawableTintMode = 16843991; // 0x10104d7
+    field public static final int drawableTop = 16843117; // 0x101016d
+    field public static final int drawingCacheQuality = 16842984; // 0x10100e8
+    field public static final int dropDownAnchor = 16843363; // 0x1010263
+    field public static final int dropDownHeight = 16843395; // 0x1010283
+    field public static final int dropDownHintAppearance = 16842888; // 0x1010088
+    field public static final int dropDownHorizontalOffset = 16843436; // 0x10102ac
+    field public static final int dropDownItemStyle = 16842886; // 0x1010086
+    field public static final int dropDownListViewStyle = 16842861; // 0x101006d
+    field public static final int dropDownSelector = 16843125; // 0x1010175
+    field public static final int dropDownSpinnerStyle = 16843478; // 0x10102d6
+    field public static final int dropDownVerticalOffset = 16843437; // 0x10102ad
+    field public static final int dropDownWidth = 16843362; // 0x1010262
+    field public static final int duplicateParentState = 16842985; // 0x10100e9
+    field public static final int duration = 16843160; // 0x1010198
+    field public static final int editTextBackground = 16843602; // 0x1010352
+    field public static final int editTextColor = 16843601; // 0x1010351
+    field public static final int editTextPreferenceStyle = 16842898; // 0x1010092
+    field public static final int editTextStyle = 16842862; // 0x101006e
+    field @Deprecated public static final int editable = 16843115; // 0x101016b
+    field public static final int editorExtras = 16843300; // 0x1010224
+    field public static final int effectColor = 16844361; // 0x1010649
+    field public static final int elegantTextHeight = 16843869; // 0x101045d
+    field public static final int elevation = 16843840; // 0x1010440
+    field public static final int ellipsize = 16842923; // 0x10100ab
+    field public static final int ems = 16843096; // 0x1010158
+    field public static final int enableVrMode = 16844069; // 0x1010525
+    field public static final int enabled = 16842766; // 0x101000e
+    field public static final int end = 16843996; // 0x10104dc
+    field public static final int endColor = 16843166; // 0x101019e
+    field public static final int endX = 16844050; // 0x1010512
+    field public static final int endY = 16844051; // 0x1010513
+    field @Deprecated public static final int endYear = 16843133; // 0x101017d
+    field public static final int enforceNavigationBarContrast = 16844293; // 0x1010605
+    field public static final int enforceStatusBarContrast = 16844292; // 0x1010604
+    field public static final int enterFadeDuration = 16843532; // 0x101030c
+    field public static final int entries = 16842930; // 0x10100b2
+    field public static final int entryValues = 16843256; // 0x10101f8
+    field public static final int eventsInterceptionEnabled = 16843389; // 0x101027d
+    field public static final int excludeClass = 16843842; // 0x1010442
+    field public static final int excludeFromRecents = 16842775; // 0x1010017
+    field public static final int excludeId = 16843841; // 0x1010441
+    field public static final int excludeName = 16843854; // 0x101044e
+    field public static final int exitFadeDuration = 16843533; // 0x101030d
+    field public static final int expandableListPreferredChildIndicatorLeft = 16842834; // 0x1010052
+    field public static final int expandableListPreferredChildIndicatorRight = 16842835; // 0x1010053
+    field public static final int expandableListPreferredChildPaddingLeft = 16842831; // 0x101004f
+    field public static final int expandableListPreferredItemIndicatorLeft = 16842832; // 0x1010050
+    field public static final int expandableListPreferredItemIndicatorRight = 16842833; // 0x1010051
+    field public static final int expandableListPreferredItemPaddingLeft = 16842830; // 0x101004e
+    field public static final int expandableListViewStyle = 16842863; // 0x101006f
+    field public static final int expandableListViewWhiteStyle = 16843446; // 0x10102b6
+    field public static final int exported = 16842768; // 0x1010010
+    field public static final int externalService = 16844046; // 0x101050e
+    field public static final int extraTension = 16843371; // 0x101026b
+    field public static final int extractNativeLibs = 16844010; // 0x10104ea
+    field public static final int factor = 16843219; // 0x10101d3
+    field public static final int fadeDuration = 16843384; // 0x1010278
+    field public static final int fadeEnabled = 16843390; // 0x101027e
+    field public static final int fadeOffset = 16843383; // 0x1010277
+    field public static final int fadeScrollbars = 16843434; // 0x10102aa
+    field public static final int fadingEdge = 16842975; // 0x10100df
+    field public static final int fadingEdgeLength = 16842976; // 0x10100e0
+    field public static final int fadingMode = 16843745; // 0x10103e1
+    field public static final int fallbackLineSpacing = 16844155; // 0x101057b
+    field public static final int fastScrollAlwaysVisible = 16843573; // 0x1010335
+    field public static final int fastScrollEnabled = 16843302; // 0x1010226
+    field public static final int fastScrollOverlayPosition = 16843578; // 0x101033a
+    field public static final int fastScrollPreviewBackgroundLeft = 16843575; // 0x1010337
+    field public static final int fastScrollPreviewBackgroundRight = 16843576; // 0x1010338
+    field public static final int fastScrollStyle = 16843767; // 0x10103f7
+    field public static final int fastScrollTextColor = 16843609; // 0x1010359
+    field public static final int fastScrollThumbDrawable = 16843574; // 0x1010336
+    field public static final int fastScrollTrackDrawable = 16843577; // 0x1010339
+    field public static final int fillAfter = 16843197; // 0x10101bd
+    field public static final int fillAlpha = 16843980; // 0x10104cc
+    field public static final int fillBefore = 16843196; // 0x10101bc
+    field public static final int fillColor = 16843780; // 0x1010404
+    field public static final int fillEnabled = 16843343; // 0x101024f
+    field public static final int fillType = 16844062; // 0x101051e
+    field public static final int fillViewport = 16843130; // 0x101017a
+    field public static final int filter = 16843035; // 0x101011b
+    field public static final int filterTouchesWhenObscured = 16843460; // 0x10102c4
+    field public static final int fingerprintAuthDrawable = 16844008; // 0x10104e8
+    field public static final int finishOnCloseSystemDialogs = 16843431; // 0x10102a7
+    field public static final int finishOnTaskLaunch = 16842772; // 0x1010014
+    field public static final int firstBaselineToTopHeight = 16844157; // 0x101057d
+    field public static final int firstDayOfWeek = 16843581; // 0x101033d
+    field public static final int fitsSystemWindows = 16842973; // 0x10100dd
+    field public static final int flipInterval = 16843129; // 0x1010179
+    field public static final int focusable = 16842970; // 0x10100da
+    field public static final int focusableInTouchMode = 16842971; // 0x10100db
+    field public static final int focusedByDefault = 16844100; // 0x1010544
+    field @Deprecated public static final int focusedMonthDateColor = 16843587; // 0x1010343
+    field public static final int font = 16844082; // 0x1010532
+    field public static final int fontFamily = 16843692; // 0x10103ac
+    field public static final int fontFeatureSettings = 16843959; // 0x10104b7
+    field @Deprecated public static final int fontProviderAuthority = 16844112; // 0x1010550
+    field @Deprecated public static final int fontProviderCerts = 16844125; // 0x101055d
+    field @Deprecated public static final int fontProviderPackage = 16844119; // 0x1010557
+    field @Deprecated public static final int fontProviderQuery = 16844113; // 0x1010551
+    field public static final int fontProviderSystemFontFamily = 16844322; // 0x1010622
+    field public static final int fontStyle = 16844095; // 0x101053f
+    field public static final int fontVariationSettings = 16844144; // 0x1010570
+    field public static final int fontWeight = 16844083; // 0x1010533
+    field public static final int footerDividersEnabled = 16843311; // 0x101022f
+    field public static final int forceDarkAllowed = 16844172; // 0x101058c
+    field public static final int forceHasOverlappingRendering = 16844065; // 0x1010521
+    field public static final int forceQueryable = 16844296; // 0x1010608
+    field public static final int forceUriPermissions = 16844191; // 0x101059f
+    field public static final int foreground = 16843017; // 0x1010109
+    field public static final int foregroundGravity = 16843264; // 0x1010200
+    field public static final int foregroundServiceType = 16844185; // 0x1010599
+    field public static final int foregroundTint = 16843885; // 0x101046d
+    field public static final int foregroundTintMode = 16843886; // 0x101046e
+    field public static final int format = 16843013; // 0x1010105
+    field public static final int format12Hour = 16843722; // 0x10103ca
+    field public static final int format24Hour = 16843723; // 0x10103cb
+    field public static final int fraction = 16843992; // 0x10104d8
+    field public static final int fragment = 16843491; // 0x10102e3
+    field public static final int fragmentAllowEnterTransitionOverlap = 16843976; // 0x10104c8
+    field public static final int fragmentAllowReturnTransitionOverlap = 16843977; // 0x10104c9
+    field public static final int fragmentCloseEnterAnimation = 16843495; // 0x10102e7
+    field public static final int fragmentCloseExitAnimation = 16843496; // 0x10102e8
+    field public static final int fragmentEnterTransition = 16843971; // 0x10104c3
+    field public static final int fragmentExitTransition = 16843970; // 0x10104c2
+    field public static final int fragmentFadeEnterAnimation = 16843497; // 0x10102e9
+    field public static final int fragmentFadeExitAnimation = 16843498; // 0x10102ea
+    field public static final int fragmentOpenEnterAnimation = 16843493; // 0x10102e5
+    field public static final int fragmentOpenExitAnimation = 16843494; // 0x10102e6
+    field public static final int fragmentReenterTransition = 16843975; // 0x10104c7
+    field public static final int fragmentReturnTransition = 16843973; // 0x10104c5
+    field public static final int fragmentSharedElementEnterTransition = 16843972; // 0x10104c4
+    field public static final int fragmentSharedElementReturnTransition = 16843974; // 0x10104c6
+    field public static final int freezesText = 16843116; // 0x101016c
+    field public static final int fromAlpha = 16843210; // 0x10101ca
+    field public static final int fromDegrees = 16843187; // 0x10101b3
+    field public static final int fromId = 16843850; // 0x101044a
+    field public static final int fromScene = 16843741; // 0x10103dd
+    field public static final int fromXDelta = 16843206; // 0x10101c6
+    field public static final int fromXScale = 16843202; // 0x10101c2
+    field public static final int fromYDelta = 16843208; // 0x10101c8
+    field public static final int fromYScale = 16843204; // 0x10101c4
+    field public static final int fullBackupContent = 16844011; // 0x10104eb
+    field public static final int fullBackupOnly = 16843891; // 0x1010473
+    field public static final int fullBright = 16842954; // 0x10100ca
+    field public static final int fullDark = 16842950; // 0x10100c6
+    field public static final int functionalTest = 16842787; // 0x1010023
+    field public static final int galleryItemBackground = 16842828; // 0x101004c
+    field public static final int galleryStyle = 16842864; // 0x1010070
+    field public static final int gestureColor = 16843381; // 0x1010275
+    field public static final int gestureStrokeAngleThreshold = 16843388; // 0x101027c
+    field public static final int gestureStrokeLengthThreshold = 16843386; // 0x101027a
+    field public static final int gestureStrokeSquarenessThreshold = 16843387; // 0x101027b
+    field public static final int gestureStrokeType = 16843385; // 0x1010279
+    field public static final int gestureStrokeWidth = 16843380; // 0x1010274
+    field public static final int glEsVersion = 16843393; // 0x1010281
+    field public static final int goIcon = 16843906; // 0x1010482
+    field public static final int gradientRadius = 16843172; // 0x10101a4
+    field public static final int grantUriPermissions = 16842779; // 0x101001b
+    field public static final int gravity = 16842927; // 0x10100af
+    field public static final int gridViewStyle = 16842865; // 0x1010071
+    field public static final int groupIndicator = 16843019; // 0x101010b
+    field public static final int gwpAsanMode = 16844310; // 0x1010616
+    field public static final int hand_hour = 16843011; // 0x1010103
+    field public static final int hand_hourTint = 16844344; // 0x1010638
+    field public static final int hand_hourTintMode = 16844345; // 0x1010639
+    field public static final int hand_minute = 16843012; // 0x1010104
+    field public static final int hand_minuteTint = 16844346; // 0x101063a
+    field public static final int hand_minuteTintMode = 16844347; // 0x101063b
+    field public static final int hand_second = 16844323; // 0x1010623
+    field public static final int hand_secondTint = 16844348; // 0x101063c
+    field public static final int hand_secondTintMode = 16844349; // 0x101063d
+    field public static final int handle = 16843354; // 0x101025a
+    field public static final int handleProfiling = 16842786; // 0x1010022
+    field public static final int hapticFeedbackEnabled = 16843358; // 0x101025e
+    field public static final int hardwareAccelerated = 16843475; // 0x10102d3
+    field public static final int hasCode = 16842764; // 0x101000c
+    field public static final int hasFragileUserData = 16844186; // 0x101059a
+    field @Deprecated public static final int headerAmPmTextAppearance = 16843936; // 0x10104a0
+    field public static final int headerBackground = 16843055; // 0x101012f
+    field @Deprecated public static final int headerDayOfMonthTextAppearance = 16843927; // 0x1010497
+    field public static final int headerDividersEnabled = 16843310; // 0x101022e
+    field @Deprecated public static final int headerMonthTextAppearance = 16843926; // 0x1010496
+    field @Deprecated public static final int headerTimeTextAppearance = 16843935; // 0x101049f
+    field @Deprecated public static final int headerYearTextAppearance = 16843928; // 0x1010498
+    field public static final int height = 16843093; // 0x1010155
+    field public static final int hideOnContentScroll = 16843843; // 0x1010443
+    field public static final int hint = 16843088; // 0x1010150
+    field public static final int homeAsUpIndicator = 16843531; // 0x101030b
+    field public static final int homeLayout = 16843549; // 0x101031d
+    field public static final int horizontalDivider = 16843053; // 0x101012d
+    field @Deprecated public static final int horizontalGap = 16843327; // 0x101023f
+    field public static final int horizontalScrollViewStyle = 16843603; // 0x1010353
+    field public static final int horizontalSpacing = 16843028; // 0x1010114
+    field public static final int host = 16842792; // 0x1010028
+    field public static final int hotSpotX = 16844055; // 0x1010517
+    field public static final int hotSpotY = 16844056; // 0x1010518
+    field public static final int htmlDescription = 16844299; // 0x101060b
+    field public static final int hyphenationFrequency = 16843998; // 0x10104de
+    field public static final int icon = 16842754; // 0x1010002
+    field @Deprecated public static final int iconPreview = 16843337; // 0x1010249
+    field public static final int iconSpaceReserved = 16844129; // 0x1010561
+    field public static final int iconTint = 16844126; // 0x101055e
+    field public static final int iconTintMode = 16844127; // 0x101055f
+    field public static final int iconifiedByDefault = 16843514; // 0x10102fa
+    field public static final int id = 16842960; // 0x10100d0
+    field public static final int identifier = 16844294; // 0x1010606
+    field public static final int ignoreGravity = 16843263; // 0x10101ff
+    field public static final int imageButtonStyle = 16842866; // 0x1010072
+    field public static final int imageWellStyle = 16842867; // 0x1010073
+    field public static final int imeActionId = 16843366; // 0x1010266
+    field public static final int imeActionLabel = 16843365; // 0x1010265
+    field public static final int imeExtractEnterAnimation = 16843368; // 0x1010268
+    field public static final int imeExtractExitAnimation = 16843369; // 0x1010269
+    field public static final int imeFullscreenBackground = 16843308; // 0x101022c
+    field public static final int imeOptions = 16843364; // 0x1010264
+    field public static final int imeSubtypeExtraValue = 16843502; // 0x10102ee
+    field public static final int imeSubtypeLocale = 16843500; // 0x10102ec
+    field public static final int imeSubtypeMode = 16843501; // 0x10102ed
+    field public static final int immersive = 16843456; // 0x10102c0
+    field public static final int importantForAccessibility = 16843690; // 0x10103aa
+    field public static final int importantForAutofill = 16844120; // 0x1010558
+    field public static final int importantForContentCapture = 16844295; // 0x1010607
+    field public static final int inAnimation = 16843127; // 0x1010177
+    field public static final int includeFontPadding = 16843103; // 0x101015f
+    field public static final int includeInGlobalSearch = 16843374; // 0x101026e
+    field public static final int indeterminate = 16843065; // 0x1010139
+    field public static final int indeterminateBehavior = 16843070; // 0x101013e
+    field public static final int indeterminateDrawable = 16843067; // 0x101013b
+    field public static final int indeterminateDuration = 16843069; // 0x101013d
+    field public static final int indeterminateOnly = 16843066; // 0x101013a
+    field public static final int indeterminateProgressStyle = 16843544; // 0x1010318
+    field public static final int indeterminateTint = 16843881; // 0x1010469
+    field public static final int indeterminateTintMode = 16843882; // 0x101046a
+    field public static final int indicatorEnd = 16843730; // 0x10103d2
+    field public static final int indicatorLeft = 16843021; // 0x101010d
+    field public static final int indicatorRight = 16843022; // 0x101010e
+    field public static final int indicatorStart = 16843729; // 0x10103d1
+    field public static final int inflatedId = 16842995; // 0x10100f3
+    field public static final int inheritShowWhenLocked = 16844188; // 0x101059c
+    field public static final int initOrder = 16842778; // 0x101001a
+    field public static final int initialKeyguardLayout = 16843714; // 0x10103c2
+    field public static final int initialLayout = 16843345; // 0x1010251
+    field public static final int innerRadius = 16843359; // 0x101025f
+    field public static final int innerRadiusRatio = 16843163; // 0x101019b
+    field @Deprecated public static final int inputMethod = 16843112; // 0x1010168
+    field public static final int inputType = 16843296; // 0x1010220
+    field public static final int inset = 16843957; // 0x10104b5
+    field public static final int insetBottom = 16843194; // 0x10101ba
+    field public static final int insetLeft = 16843191; // 0x10101b7
+    field public static final int insetRight = 16843192; // 0x10101b8
+    field public static final int insetTop = 16843193; // 0x10101b9
+    field public static final int installLocation = 16843447; // 0x10102b7
+    field public static final int interactiveUiTimeout = 16844181; // 0x1010595
+    field public static final int interpolator = 16843073; // 0x1010141
+    field public static final int isAccessibilityTool = 16844353; // 0x1010641
+    field public static final int isAlwaysSyncable = 16843571; // 0x1010333
+    field public static final int isAsciiCapable = 16843753; // 0x10103e9
+    field public static final int isAuxiliary = 16843647; // 0x101037f
+    field public static final int isDefault = 16843297; // 0x1010221
+    field public static final int isFeatureSplit = 16844123; // 0x101055b
+    field public static final int isGame = 16843764; // 0x10103f4
+    field public static final int isIndicator = 16843079; // 0x1010147
+    field public static final int isLightTheme = 16844176; // 0x1010590
+    field @Deprecated public static final int isModifier = 16843334; // 0x1010246
+    field @Deprecated public static final int isRepeatable = 16843336; // 0x1010248
+    field public static final int isScrollContainer = 16843342; // 0x101024e
+    field public static final int isSplitRequired = 16844177; // 0x1010591
+    field public static final int isStatic = 16844122; // 0x101055a
+    field @Deprecated public static final int isSticky = 16843335; // 0x1010247
+    field public static final int isolatedProcess = 16843689; // 0x10103a9
+    field public static final int isolatedSplits = 16844107; // 0x101054b
+    field public static final int itemBackground = 16843056; // 0x1010130
+    field public static final int itemIconDisabledAlpha = 16843057; // 0x1010131
+    field public static final int itemPadding = 16843565; // 0x101032d
+    field public static final int itemTextAppearance = 16843052; // 0x101012c
+    field public static final int justificationMode = 16844135; // 0x1010567
+    field public static final int keepScreenOn = 16843286; // 0x1010216
+    field public static final int key = 16843240; // 0x10101e8
+    field @Deprecated public static final int keyBackground = 16843315; // 0x1010233
+    field @Deprecated public static final int keyEdgeFlags = 16843333; // 0x1010245
+    field @Deprecated public static final int keyHeight = 16843326; // 0x101023e
+    field @Deprecated public static final int keyIcon = 16843340; // 0x101024c
+    field @Deprecated public static final int keyLabel = 16843339; // 0x101024b
+    field @Deprecated public static final int keyOutputText = 16843338; // 0x101024a
+    field @Deprecated public static final int keyPreviewHeight = 16843321; // 0x1010239
+    field @Deprecated public static final int keyPreviewLayout = 16843319; // 0x1010237
+    field @Deprecated public static final int keyPreviewOffset = 16843320; // 0x1010238
+    field public static final int keySet = 16843739; // 0x10103db
+    field @Deprecated public static final int keyTextColor = 16843318; // 0x1010236
+    field @Deprecated public static final int keyTextSize = 16843316; // 0x1010234
+    field @Deprecated public static final int keyWidth = 16843325; // 0x101023d
+    field public static final int keyboardLayout = 16843691; // 0x10103ab
+    field @Deprecated public static final int keyboardMode = 16843341; // 0x101024d
+    field public static final int keyboardNavigationCluster = 16844096; // 0x1010540
+    field public static final int keycode = 16842949; // 0x10100c5
+    field public static final int killAfterRestore = 16843420; // 0x101029c
+    field public static final int knownCerts = 16844330; // 0x101062a
+    field public static final int lStar = 16844359; // 0x1010647
+    field public static final int label = 16842753; // 0x1010001
+    field public static final int labelFor = 16843718; // 0x10103c6
+    field @Deprecated public static final int labelTextSize = 16843317; // 0x1010235
+    field public static final int languageTag = 16844040; // 0x1010508
+    field public static final int largeHeap = 16843610; // 0x101035a
+    field public static final int largeScreens = 16843398; // 0x1010286
+    field public static final int largestWidthLimitDp = 16843622; // 0x1010366
+    field public static final int lastBaselineToBottomHeight = 16844158; // 0x101057e
+    field public static final int launchMode = 16842781; // 0x101001d
+    field public static final int launchTaskBehindSourceAnimation = 16843922; // 0x1010492
+    field public static final int launchTaskBehindTargetAnimation = 16843921; // 0x1010491
+    field public static final int layerType = 16843604; // 0x1010354
+    field public static final int layout = 16842994; // 0x10100f2
+    field public static final int layoutAnimation = 16842988; // 0x10100ec
+    field public static final int layoutDirection = 16843698; // 0x10103b2
+    field public static final int layoutMode = 16843738; // 0x10103da
+    field public static final int layout_above = 16843140; // 0x1010184
+    field public static final int layout_alignBaseline = 16843142; // 0x1010186
+    field public static final int layout_alignBottom = 16843146; // 0x101018a
+    field public static final int layout_alignEnd = 16843706; // 0x10103ba
+    field public static final int layout_alignLeft = 16843143; // 0x1010187
+    field public static final int layout_alignParentBottom = 16843150; // 0x101018e
+    field public static final int layout_alignParentEnd = 16843708; // 0x10103bc
+    field public static final int layout_alignParentLeft = 16843147; // 0x101018b
+    field public static final int layout_alignParentRight = 16843149; // 0x101018d
+    field public static final int layout_alignParentStart = 16843707; // 0x10103bb
+    field public static final int layout_alignParentTop = 16843148; // 0x101018c
+    field public static final int layout_alignRight = 16843145; // 0x1010189
+    field public static final int layout_alignStart = 16843705; // 0x10103b9
+    field public static final int layout_alignTop = 16843144; // 0x1010188
+    field public static final int layout_alignWithParentIfMissing = 16843154; // 0x1010192
+    field public static final int layout_below = 16843141; // 0x1010185
+    field public static final int layout_centerHorizontal = 16843152; // 0x1010190
+    field public static final int layout_centerInParent = 16843151; // 0x101018f
+    field public static final int layout_centerVertical = 16843153; // 0x1010191
+    field public static final int layout_column = 16843084; // 0x101014c
+    field public static final int layout_columnSpan = 16843645; // 0x101037d
+    field public static final int layout_columnWeight = 16843865; // 0x1010459
+    field public static final int layout_gravity = 16842931; // 0x10100b3
+    field public static final int layout_height = 16842997; // 0x10100f5
+    field public static final int layout_margin = 16842998; // 0x10100f6
+    field public static final int layout_marginBottom = 16843002; // 0x10100fa
+    field public static final int layout_marginEnd = 16843702; // 0x10103b6
+    field public static final int layout_marginHorizontal = 16844091; // 0x101053b
+    field public static final int layout_marginLeft = 16842999; // 0x10100f7
+    field public static final int layout_marginRight = 16843001; // 0x10100f9
+    field public static final int layout_marginStart = 16843701; // 0x10103b5
+    field public static final int layout_marginTop = 16843000; // 0x10100f8
+    field public static final int layout_marginVertical = 16844092; // 0x101053c
+    field public static final int layout_row = 16843643; // 0x101037b
+    field public static final int layout_rowSpan = 16843644; // 0x101037c
+    field public static final int layout_rowWeight = 16843864; // 0x1010458
+    field public static final int layout_scale = 16843155; // 0x1010193
+    field public static final int layout_span = 16843085; // 0x101014d
+    field public static final int layout_toEndOf = 16843704; // 0x10103b8
+    field public static final int layout_toLeftOf = 16843138; // 0x1010182
+    field public static final int layout_toRightOf = 16843139; // 0x1010183
+    field public static final int layout_toStartOf = 16843703; // 0x10103b7
+    field public static final int layout_weight = 16843137; // 0x1010181
+    field public static final int layout_width = 16842996; // 0x10100f4
+    field public static final int layout_x = 16843135; // 0x101017f
+    field public static final int layout_y = 16843136; // 0x1010180
+    field public static final int left = 16843181; // 0x10101ad
+    field public static final int letterSpacing = 16843958; // 0x10104b6
+    field public static final int level = 16844032; // 0x1010500
+    field public static final int lineHeight = 16844159; // 0x101057f
+    field public static final int lineSpacingExtra = 16843287; // 0x1010217
+    field public static final int lineSpacingMultiplier = 16843288; // 0x1010218
+    field public static final int lines = 16843092; // 0x1010154
+    field public static final int linksClickable = 16842929; // 0x10100b1
+    field public static final int listChoiceBackgroundIndicator = 16843504; // 0x10102f0
+    field public static final int listChoiceIndicatorMultiple = 16843290; // 0x101021a
+    field public static final int listChoiceIndicatorSingle = 16843289; // 0x1010219
+    field public static final int listDivider = 16843284; // 0x1010214
+    field public static final int listDividerAlertDialog = 16843525; // 0x1010305
+    field public static final int listMenuViewStyle = 16844018; // 0x10104f2
+    field public static final int listPopupWindowStyle = 16843519; // 0x10102ff
+    field public static final int listPreferredItemHeight = 16842829; // 0x101004d
+    field public static final int listPreferredItemHeightLarge = 16843654; // 0x1010386
+    field public static final int listPreferredItemHeightSmall = 16843655; // 0x1010387
+    field public static final int listPreferredItemPaddingEnd = 16843710; // 0x10103be
+    field public static final int listPreferredItemPaddingLeft = 16843683; // 0x10103a3
+    field public static final int listPreferredItemPaddingRight = 16843684; // 0x10103a4
+    field public static final int listPreferredItemPaddingStart = 16843709; // 0x10103bd
+    field public static final int listSelector = 16843003; // 0x10100fb
+    field public static final int listSeparatorTextViewStyle = 16843272; // 0x1010208
+    field public static final int listViewStyle = 16842868; // 0x1010074
+    field public static final int listViewWhiteStyle = 16842869; // 0x1010075
+    field public static final int lockTaskMode = 16844013; // 0x10104ed
+    field public static final int logo = 16843454; // 0x10102be
+    field public static final int logoDescription = 16844009; // 0x10104e9
+    field public static final int longClickable = 16842982; // 0x10100e6
+    field public static final int loopViews = 16843527; // 0x1010307
+    field public static final int manageSpaceActivity = 16842756; // 0x1010004
+    field public static final int mapViewStyle = 16842890; // 0x101008a
+    field public static final int marqueeRepeatLimit = 16843293; // 0x101021d
+    field public static final int matchOrder = 16843855; // 0x101044f
+    field public static final int max = 16843062; // 0x1010136
+    field public static final int maxAspectRatio = 16844128; // 0x1010560
+    field public static final int maxButtonHeight = 16844029; // 0x10104fd
+    field public static final int maxDate = 16843584; // 0x1010340
+    field public static final int maxEms = 16843095; // 0x1010157
+    field public static final int maxHeight = 16843040; // 0x1010120
+    field public static final int maxItemsPerRow = 16843060; // 0x1010134
+    field public static final int maxLength = 16843104; // 0x1010160
+    field public static final int maxLevel = 16843186; // 0x10101b2
+    field public static final int maxLines = 16843091; // 0x1010153
+    field public static final int maxLongVersionCode = 16844163; // 0x1010583
+    field public static final int maxRecents = 16843846; // 0x1010446
+    field public static final int maxResizeHeight = 16844339; // 0x1010633
+    field public static final int maxResizeWidth = 16844338; // 0x1010632
+    field public static final int maxRows = 16843059; // 0x1010133
+    field public static final int maxSdkVersion = 16843377; // 0x1010271
+    field public static final int maxWidth = 16843039; // 0x101011f
+    field public static final int maximumAngle = 16843903; // 0x101047f
+    field public static final int measureAllChildren = 16843018; // 0x101010a
+    field public static final int measureWithLargestChild = 16843476; // 0x10102d4
+    field public static final int mediaRouteButtonStyle = 16843693; // 0x10103ad
+    field public static final int mediaRouteTypes = 16843694; // 0x10103ae
+    field public static final int memtagMode = 16844324; // 0x1010624
+    field public static final int menuCategory = 16843230; // 0x10101de
+    field public static final int mimeGroup = 16844309; // 0x1010615
+    field public static final int mimeType = 16842790; // 0x1010026
+    field public static final int min = 16844089; // 0x1010539
+    field public static final int minAspectRatio = 16844187; // 0x101059b
+    field public static final int minDate = 16843583; // 0x101033f
+    field public static final int minEms = 16843098; // 0x101015a
+    field public static final int minHeight = 16843072; // 0x1010140
+    field public static final int minLevel = 16843185; // 0x10101b1
+    field public static final int minLines = 16843094; // 0x1010156
+    field public static final int minResizeHeight = 16843670; // 0x1010396
+    field public static final int minResizeWidth = 16843669; // 0x1010395
+    field public static final int minSdkVersion = 16843276; // 0x101020c
+    field public static final int minWidth = 16843071; // 0x101013f
+    field public static final int minimumHorizontalAngle = 16843901; // 0x101047d
+    field public static final int minimumVerticalAngle = 16843902; // 0x101047e
+    field public static final int mipMap = 16843725; // 0x10103cd
+    field public static final int mirrorForRtl = 16843726; // 0x10103ce
+    field public static final int mode = 16843134; // 0x101017e
+    field public static final int moreIcon = 16843061; // 0x1010135
+    field public static final int multiArch = 16843918; // 0x101048e
+    field public static final int multiprocess = 16842771; // 0x1010013
+    field public static final int name = 16842755; // 0x1010003
+    field public static final int nativeHeapZeroInitialized = 16844325; // 0x1010625
+    field public static final int navigationBarColor = 16843858; // 0x1010452
+    field public static final int navigationBarDividerColor = 16844141; // 0x101056d
+    field public static final int navigationContentDescription = 16843969; // 0x10104c1
+    field public static final int navigationIcon = 16843968; // 0x10104c0
+    field public static final int navigationMode = 16843471; // 0x10102cf
+    field public static final int negativeButtonText = 16843254; // 0x10101f6
+    field public static final int nestedScrollingEnabled = 16843830; // 0x1010436
+    field public static final int networkSecurityConfig = 16844071; // 0x1010527
+    field public static final int nextClusterForward = 16844098; // 0x1010542
+    field public static final int nextFocusDown = 16842980; // 0x10100e4
+    field public static final int nextFocusForward = 16843580; // 0x101033c
+    field public static final int nextFocusLeft = 16842977; // 0x10100e1
+    field public static final int nextFocusRight = 16842978; // 0x10100e2
+    field public static final int nextFocusUp = 16842979; // 0x10100e3
+    field public static final int noHistory = 16843309; // 0x101022d
+    field public static final int nonInteractiveUiTimeout = 16844175; // 0x101058f
+    field public static final int normalScreens = 16843397; // 0x1010285
+    field public static final int notificationTimeout = 16843651; // 0x1010383
+    field public static final int numColumns = 16843032; // 0x1010118
+    field public static final int numStars = 16843076; // 0x1010144
+    field public static final int numberPickerStyle = 16844068; // 0x1010524
+    field public static final int numbersBackgroundColor = 16843938; // 0x10104a2
+    field public static final int numbersInnerTextColor = 16844001; // 0x10104e1
+    field public static final int numbersSelectorColor = 16843939; // 0x10104a3
+    field public static final int numbersTextColor = 16843937; // 0x10104a1
+    field @Deprecated public static final int numeric = 16843109; // 0x1010165
+    field public static final int numericModifiers = 16844111; // 0x101054f
+    field public static final int numericShortcut = 16843236; // 0x10101e4
+    field public static final int offset = 16844052; // 0x1010514
+    field @Deprecated public static final int onClick = 16843375; // 0x101026f
+    field public static final int oneshot = 16843159; // 0x1010197
+    field public static final int opacity = 16843550; // 0x101031e
+    field public static final int opticalInsetBottom = 16844171; // 0x101058b
+    field public static final int opticalInsetLeft = 16844168; // 0x1010588
+    field public static final int opticalInsetRight = 16844170; // 0x101058a
+    field public static final int opticalInsetTop = 16844169; // 0x1010589
+    field public static final int order = 16843242; // 0x10101ea
+    field public static final int orderInCategory = 16843231; // 0x10101df
+    field public static final int ordering = 16843490; // 0x10102e2
+    field public static final int orderingFromXml = 16843239; // 0x10101e7
+    field public static final int orientation = 16842948; // 0x10100c4
+    field public static final int outAnimation = 16843128; // 0x1010178
+    field public static final int outlineAmbientShadowColor = 16844162; // 0x1010582
+    field public static final int outlineProvider = 16843960; // 0x10104b8
+    field public static final int outlineSpotShadowColor = 16844161; // 0x1010581
+    field public static final int overScrollFooter = 16843459; // 0x10102c3
+    field public static final int overScrollHeader = 16843458; // 0x10102c2
+    field public static final int overScrollMode = 16843457; // 0x10102c1
+    field public static final int overlapAnchor = 16843874; // 0x1010462
+    field public static final int overridesImplicitlyEnabledSubtype = 16843682; // 0x10103a2
+    field public static final int packageNames = 16843649; // 0x1010381
+    field public static final int packageType = 16844167; // 0x1010587
+    field public static final int padding = 16842965; // 0x10100d5
+    field public static final int paddingBottom = 16842969; // 0x10100d9
+    field public static final int paddingEnd = 16843700; // 0x10103b4
+    field public static final int paddingHorizontal = 16844093; // 0x101053d
+    field public static final int paddingLeft = 16842966; // 0x10100d6
+    field public static final int paddingMode = 16843863; // 0x1010457
+    field public static final int paddingRight = 16842968; // 0x10100d8
+    field public static final int paddingStart = 16843699; // 0x10103b3
+    field public static final int paddingTop = 16842967; // 0x10100d7
+    field public static final int paddingVertical = 16844094; // 0x101053e
+    field public static final int panelBackground = 16842846; // 0x101005e
+    field public static final int panelColorBackground = 16842849; // 0x1010061
+    field public static final int panelColorForeground = 16842848; // 0x1010060
+    field public static final int panelFullBackground = 16842847; // 0x101005f
+    field public static final int panelTextAppearance = 16842850; // 0x1010062
+    field public static final int parentActivityName = 16843687; // 0x10103a7
+    field @Deprecated public static final int password = 16843100; // 0x101015c
+    field public static final int passwordsActivity = 16844351; // 0x101063f
+    field public static final int path = 16842794; // 0x101002a
+    field public static final int pathAdvancedPattern = 16844320; // 0x1010620
+    field public static final int pathData = 16843781; // 0x1010405
+    field public static final int pathPattern = 16842796; // 0x101002c
+    field public static final int pathPrefix = 16842795; // 0x101002b
+    field public static final int pathSuffix = 16844318; // 0x101061e
+    field public static final int patternPathData = 16843978; // 0x10104ca
+    field public static final int permission = 16842758; // 0x1010006
+    field public static final int permissionFlags = 16843719; // 0x10103c7
+    field public static final int permissionGroup = 16842762; // 0x101000a
+    field public static final int permissionGroupFlags = 16843717; // 0x10103c5
+    field public static final int persistableMode = 16843821; // 0x101042d
+    field public static final int persistent = 16842765; // 0x101000d
+    field public static final int persistentDrawingCache = 16842990; // 0x10100ee
+    field public static final int persistentWhenFeatureAvailable = 16844131; // 0x1010563
+    field @Deprecated public static final int phoneNumber = 16843111; // 0x1010167
+    field public static final int pivotX = 16843189; // 0x10101b5
+    field public static final int pivotY = 16843190; // 0x10101b6
+    field public static final int pointerIcon = 16844041; // 0x1010509
+    field public static final int popupAnimationStyle = 16843465; // 0x10102c9
+    field public static final int popupBackground = 16843126; // 0x1010176
+    field @Deprecated public static final int popupCharacters = 16843332; // 0x1010244
+    field public static final int popupElevation = 16843916; // 0x101048c
+    field public static final int popupEnterTransition = 16844063; // 0x101051f
+    field public static final int popupExitTransition = 16844064; // 0x1010520
+    field @Deprecated public static final int popupKeyboard = 16843331; // 0x1010243
+    field @Deprecated public static final int popupLayout = 16843323; // 0x101023b
+    field public static final int popupMenuStyle = 16843520; // 0x1010300
+    field public static final int popupTheme = 16843945; // 0x10104a9
+    field public static final int popupWindowStyle = 16842870; // 0x1010076
+    field public static final int port = 16842793; // 0x1010029
+    field public static final int positiveButtonText = 16843253; // 0x10101f5
+    field public static final int preferMinimalPostProcessing = 16844300; // 0x101060c
+    field public static final int preferenceCategoryStyle = 16842892; // 0x101008c
+    field public static final int preferenceFragmentStyle = 16844038; // 0x1010506
+    field public static final int preferenceInformationStyle = 16842893; // 0x101008d
+    field public static final int preferenceLayoutChild = 16842900; // 0x1010094
+    field public static final int preferenceScreenStyle = 16842891; // 0x101008b
+    field public static final int preferenceStyle = 16842894; // 0x101008e
+    field public static final int presentationTheme = 16843712; // 0x10103c0
+    field public static final int preserveLegacyExternalStorage = 16844308; // 0x1010614
+    field public static final int previewImage = 16843482; // 0x10102da
+    field public static final int previewLayout = 16844327; // 0x1010627
+    field public static final int primaryContentAlpha = 16844114; // 0x1010552
+    field public static final int priority = 16842780; // 0x101001c
+    field public static final int privateImeOptions = 16843299; // 0x1010223
+    field public static final int process = 16842769; // 0x1010011
+    field public static final int progress = 16843063; // 0x1010137
+    field public static final int progressBackgroundTint = 16843877; // 0x1010465
+    field public static final int progressBackgroundTintMode = 16843878; // 0x1010466
+    field public static final int progressBarPadding = 16843545; // 0x1010319
+    field public static final int progressBarStyle = 16842871; // 0x1010077
+    field public static final int progressBarStyleHorizontal = 16842872; // 0x1010078
+    field public static final int progressBarStyleInverse = 16843399; // 0x1010287
+    field public static final int progressBarStyleLarge = 16842874; // 0x101007a
+    field public static final int progressBarStyleLargeInverse = 16843401; // 0x1010289
+    field public static final int progressBarStyleSmall = 16842873; // 0x1010079
+    field public static final int progressBarStyleSmallInverse = 16843400; // 0x1010288
+    field public static final int progressBarStyleSmallTitle = 16843279; // 0x101020f
+    field public static final int progressDrawable = 16843068; // 0x101013c
+    field public static final int progressTint = 16843875; // 0x1010463
+    field public static final int progressTintMode = 16843876; // 0x1010464
+    field public static final int prompt = 16843131; // 0x101017b
+    field public static final int propertyName = 16843489; // 0x10102e1
+    field public static final int propertyXName = 16843892; // 0x1010474
+    field public static final int propertyYName = 16843893; // 0x1010475
+    field public static final int protectionLevel = 16842761; // 0x1010009
+    field public static final int publicKey = 16843686; // 0x10103a6
+    field public static final int queryActionMsg = 16843227; // 0x10101db
+    field public static final int queryAfterZeroResults = 16843394; // 0x1010282
+    field public static final int queryBackground = 16843911; // 0x1010487
+    field public static final int queryHint = 16843608; // 0x1010358
+    field public static final int quickContactBadgeStyleSmallWindowLarge = 16843443; // 0x10102b3
+    field public static final int quickContactBadgeStyleSmallWindowMedium = 16843442; // 0x10102b2
+    field public static final int quickContactBadgeStyleSmallWindowSmall = 16843441; // 0x10102b1
+    field public static final int quickContactBadgeStyleWindowLarge = 16843440; // 0x10102b0
+    field public static final int quickContactBadgeStyleWindowMedium = 16843439; // 0x10102af
+    field public static final int quickContactBadgeStyleWindowSmall = 16843438; // 0x10102ae
+    field public static final int radioButtonStyle = 16842878; // 0x101007e
+    field public static final int radius = 16843176; // 0x10101a8
+    field public static final int rating = 16843077; // 0x1010145
+    field public static final int ratingBarStyle = 16842876; // 0x101007c
+    field public static final int ratingBarStyleIndicator = 16843280; // 0x1010210
+    field public static final int ratingBarStyleSmall = 16842877; // 0x101007d
+    field public static final int readPermission = 16842759; // 0x1010007
+    field public static final int recognitionService = 16843932; // 0x101049c
+    field public static final int recreateOnConfigChanges = 16844103; // 0x1010547
+    field public static final int recycleEnabled = 16844121; // 0x1010559
+    field public static final int relinquishTaskIdentity = 16843894; // 0x1010476
+    field public static final int reparent = 16843964; // 0x10104bc
+    field public static final int reparentWithOverlay = 16843965; // 0x10104bd
+    field public static final int repeatCount = 16843199; // 0x10101bf
+    field public static final int repeatMode = 16843200; // 0x10101c0
+    field public static final int reqFiveWayNav = 16843314; // 0x1010232
+    field public static final int reqHardKeyboard = 16843305; // 0x1010229
+    field public static final int reqKeyboardType = 16843304; // 0x1010228
+    field public static final int reqNavigation = 16843306; // 0x101022a
+    field public static final int reqTouchScreen = 16843303; // 0x1010227
+    field public static final int requestLegacyExternalStorage = 16844291; // 0x1010603
+    field public static final int requestRawExternalStorageAccess = 16844357; // 0x1010645
+    field public static final int requireDeviceScreenOn = 16844317; // 0x101061d
+    field public static final int requireDeviceUnlock = 16843756; // 0x10103ec
+    field public static final int required = 16843406; // 0x101028e
+    field public static final int requiredAccountType = 16843734; // 0x10103d6
+    field public static final int requiredFeature = 16844116; // 0x1010554
+    field public static final int requiredForAllUsers = 16843728; // 0x10103d0
+    field public static final int requiredNotFeature = 16844117; // 0x1010555
+    field public static final int requiresFadingEdge = 16843685; // 0x10103a5
+    field public static final int requiresSmallestWidthDp = 16843620; // 0x1010364
+    field public static final int resizeClip = 16843983; // 0x10104cf
+    field public static final int resizeMode = 16843619; // 0x1010363
+    field public static final int resizeable = 16843405; // 0x101028d
+    field public static final int resizeableActivity = 16844022; // 0x10104f6
+    field public static final int resource = 16842789; // 0x1010025
+    field public static final int resourcesMap = 16844297; // 0x1010609
+    field public static final int restoreAnyVersion = 16843450; // 0x10102ba
+    field @Deprecated public static final int restoreNeedsApplication = 16843421; // 0x101029d
+    field public static final int restrictedAccountType = 16843733; // 0x10103d5
+    field public static final int restrictionType = 16843923; // 0x1010493
+    field public static final int resumeWhilePausing = 16843954; // 0x10104b2
+    field public static final int reversible = 16843851; // 0x101044b
+    field public static final int revisionCode = 16843989; // 0x10104d5
+    field public static final int right = 16843183; // 0x10101af
+    field public static final int ringtonePreferenceStyle = 16842899; // 0x1010093
+    field public static final int ringtoneType = 16843257; // 0x10101f9
+    field public static final int rollbackDataPolicy = 16844311; // 0x1010617
+    field public static final int rotation = 16843558; // 0x1010326
+    field public static final int rotationAnimation = 16844090; // 0x101053a
+    field public static final int rotationX = 16843559; // 0x1010327
+    field public static final int rotationY = 16843560; // 0x1010328
+    field public static final int roundIcon = 16844076; // 0x101052c
+    field public static final int rowCount = 16843637; // 0x1010375
+    field public static final int rowDelay = 16843216; // 0x10101d0
+    field @Deprecated public static final int rowEdgeFlags = 16843329; // 0x1010241
+    field public static final int rowHeight = 16843058; // 0x1010132
+    field public static final int rowOrderPreserved = 16843638; // 0x1010376
+    field public static final int saveEnabled = 16842983; // 0x10100e7
+    field public static final int scaleGravity = 16843262; // 0x10101fe
+    field public static final int scaleHeight = 16843261; // 0x10101fd
+    field public static final int scaleType = 16843037; // 0x101011d
+    field public static final int scaleWidth = 16843260; // 0x10101fc
+    field public static final int scaleX = 16843556; // 0x1010324
+    field public static final int scaleY = 16843557; // 0x1010325
+    field public static final int scheme = 16842791; // 0x1010027
+    field public static final int screenDensity = 16843467; // 0x10102cb
+    field public static final int screenOrientation = 16842782; // 0x101001e
+    field public static final int screenReaderFocusable = 16844148; // 0x1010574
+    field public static final int screenSize = 16843466; // 0x10102ca
+    field public static final int scrollHorizontally = 16843099; // 0x101015b
+    field public static final int scrollIndicators = 16844006; // 0x10104e6
+    field public static final int scrollViewStyle = 16842880; // 0x1010080
+    field public static final int scrollX = 16842962; // 0x10100d2
+    field public static final int scrollY = 16842963; // 0x10100d3
+    field public static final int scrollbarAlwaysDrawHorizontalTrack = 16842856; // 0x1010068
+    field public static final int scrollbarAlwaysDrawVerticalTrack = 16842857; // 0x1010069
+    field public static final int scrollbarDefaultDelayBeforeFade = 16843433; // 0x10102a9
+    field public static final int scrollbarFadeDuration = 16843432; // 0x10102a8
+    field public static final int scrollbarSize = 16842851; // 0x1010063
+    field public static final int scrollbarStyle = 16842879; // 0x101007f
+    field public static final int scrollbarThumbHorizontal = 16842852; // 0x1010064
+    field public static final int scrollbarThumbVertical = 16842853; // 0x1010065
+    field public static final int scrollbarTrackHorizontal = 16842854; // 0x1010066
+    field public static final int scrollbarTrackVertical = 16842855; // 0x1010067
+    field public static final int scrollbars = 16842974; // 0x10100de
+    field public static final int scrollingCache = 16843006; // 0x10100fe
+    field @Deprecated public static final int searchButtonText = 16843269; // 0x1010205
+    field public static final int searchHintIcon = 16843988; // 0x10104d4
+    field public static final int searchIcon = 16843907; // 0x1010483
+    field public static final int searchMode = 16843221; // 0x10101d5
+    field public static final int searchSettingsDescription = 16843402; // 0x101028a
+    field public static final int searchSuggestAuthority = 16843222; // 0x10101d6
+    field public static final int searchSuggestIntentAction = 16843225; // 0x10101d9
+    field public static final int searchSuggestIntentData = 16843226; // 0x10101da
+    field public static final int searchSuggestPath = 16843223; // 0x10101d7
+    field public static final int searchSuggestSelection = 16843224; // 0x10101d8
+    field public static final int searchSuggestThreshold = 16843373; // 0x101026d
+    field public static final int searchViewStyle = 16843904; // 0x1010480
+    field public static final int secondaryContentAlpha = 16844115; // 0x1010553
+    field public static final int secondaryProgress = 16843064; // 0x1010138
+    field public static final int secondaryProgressTint = 16843879; // 0x1010467
+    field public static final int secondaryProgressTintMode = 16843880; // 0x1010468
+    field public static final int secureElementName = 16844290; // 0x1010602
+    field public static final int seekBarStyle = 16842875; // 0x101007b
+    field public static final int segmentedButtonStyle = 16843568; // 0x1010330
+    field public static final int selectAllOnFocus = 16843102; // 0x101015e
+    field public static final int selectable = 16843238; // 0x10101e6
+    field public static final int selectableAsDefault = 16844352; // 0x1010640
+    field public static final int selectableItemBackground = 16843534; // 0x101030e
+    field public static final int selectableItemBackgroundBorderless = 16843868; // 0x101045c
+    field @Deprecated public static final int selectedDateVerticalBar = 16843591; // 0x1010347
+    field @Deprecated public static final int selectedWeekBackgroundColor = 16843586; // 0x1010342
+    field public static final int selectionDividerHeight = 16844184; // 0x1010598
+    field public static final int sessionService = 16843837; // 0x101043d
+    field public static final int settingsActivity = 16843301; // 0x1010225
+    field public static final int settingsSliceUri = 16844179; // 0x1010593
+    field public static final int setupActivity = 16843766; // 0x10103f6
+    field public static final int shadowColor = 16843105; // 0x1010161
+    field public static final int shadowDx = 16843106; // 0x1010162
+    field public static final int shadowDy = 16843107; // 0x1010163
+    field public static final int shadowRadius = 16843108; // 0x1010164
+    field public static final int shape = 16843162; // 0x101019a
+    field public static final int shareInterpolator = 16843195; // 0x10101bb
+    field @Deprecated public static final int sharedUserId = 16842763; // 0x101000b
+    field @Deprecated public static final int sharedUserLabel = 16843361; // 0x1010261
+    field public static final int shell = 16844180; // 0x1010594
+    field public static final int shortcutDisabledMessage = 16844075; // 0x101052b
+    field public static final int shortcutId = 16844072; // 0x1010528
+    field public static final int shortcutLongLabel = 16844074; // 0x101052a
+    field public static final int shortcutShortLabel = 16844073; // 0x1010529
+    field public static final int shouldDisableView = 16843246; // 0x10101ee
+    field public static final int shouldUseDefaultUnfoldTransition = 16844364; // 0x101064c
+    field public static final int showAsAction = 16843481; // 0x10102d9
+    field public static final int showDefault = 16843258; // 0x10101fa
+    field public static final int showDividers = 16843561; // 0x1010329
+    field public static final int showForAllUsers = 16844015; // 0x10104ef
+    field public static final int showInInputMethodPicker = 16844360; // 0x1010648
+    field public static final int showMetadataInPreview = 16844079; // 0x101052f
+    field @Deprecated public static final int showOnLockScreen = 16843721; // 0x10103c9
+    field public static final int showSilent = 16843259; // 0x10101fb
+    field public static final int showText = 16843949; // 0x10104ad
+    field @Deprecated public static final int showWeekNumber = 16843582; // 0x101033e
+    field public static final int showWhenLocked = 16844137; // 0x1010569
+    field @Deprecated public static final int shownWeekCount = 16843585; // 0x1010341
+    field public static final int shrinkColumns = 16843082; // 0x101014a
+    field @Deprecated public static final int singleLine = 16843101; // 0x101015d
+    field public static final int singleLineTitle = 16844124; // 0x101055c
+    field public static final int singleUser = 16843711; // 0x10103bf
+    field public static final int slideEdge = 16843824; // 0x1010430
+    field public static final int smallIcon = 16843422; // 0x101029e
+    field public static final int smallScreens = 16843396; // 0x1010284
+    field public static final int smoothScrollbar = 16843313; // 0x1010231
+    field public static final int soundEffectsEnabled = 16843285; // 0x1010215
+    field public static final int spacing = 16843027; // 0x1010113
+    field public static final int spinnerDropDownItemStyle = 16842887; // 0x1010087
+    field public static final int spinnerItemStyle = 16842889; // 0x1010089
+    field public static final int spinnerMode = 16843505; // 0x10102f1
+    field public static final int spinnerStyle = 16842881; // 0x1010081
+    field public static final int spinnersShown = 16843595; // 0x101034b
+    field public static final int splashScreenTheme = 16844337; // 0x1010631
+    field public static final int splitMotionEvents = 16843503; // 0x10102ef
+    field public static final int splitName = 16844105; // 0x1010549
+    field public static final int splitTrack = 16843852; // 0x101044c
+    field public static final int spotShadowAlpha = 16843967; // 0x10104bf
+    field public static final int src = 16843033; // 0x1010119
+    field public static final int ssp = 16843747; // 0x10103e3
+    field public static final int sspAdvancedPattern = 16844321; // 0x1010621
+    field public static final int sspPattern = 16843749; // 0x10103e5
+    field public static final int sspPrefix = 16843748; // 0x10103e4
+    field public static final int sspSuffix = 16844319; // 0x101061f
+    field public static final int stackFromBottom = 16843005; // 0x10100fd
+    field public static final int stackViewStyle = 16843838; // 0x101043e
+    field public static final int starStyle = 16842882; // 0x1010082
+    field public static final int start = 16843995; // 0x10104db
+    field public static final int startColor = 16843165; // 0x101019d
+    field public static final int startDelay = 16843746; // 0x10103e2
+    field public static final int startOffset = 16843198; // 0x10101be
+    field public static final int startX = 16844048; // 0x1010510
+    field public static final int startY = 16844049; // 0x1010511
+    field @Deprecated public static final int startYear = 16843132; // 0x101017c
+    field public static final int stateListAnimator = 16843848; // 0x1010448
+    field public static final int stateNotNeeded = 16842774; // 0x1010016
+    field public static final int state_above_anchor = 16842922; // 0x10100aa
+    field public static final int state_accelerated = 16843547; // 0x101031b
+    field public static final int state_activated = 16843518; // 0x10102fe
+    field public static final int state_active = 16842914; // 0x10100a2
+    field public static final int state_checkable = 16842911; // 0x101009f
+    field public static final int state_checked = 16842912; // 0x10100a0
+    field public static final int state_drag_can_accept = 16843624; // 0x1010368
+    field public static final int state_drag_hovered = 16843625; // 0x1010369
+    field public static final int state_empty = 16842921; // 0x10100a9
+    field public static final int state_enabled = 16842910; // 0x101009e
+    field public static final int state_expanded = 16842920; // 0x10100a8
+    field public static final int state_first = 16842916; // 0x10100a4
+    field public static final int state_focused = 16842908; // 0x101009c
+    field public static final int state_hovered = 16843623; // 0x1010367
+    field public static final int state_last = 16842918; // 0x10100a6
+    field @Deprecated public static final int state_long_pressable = 16843324; // 0x101023c
+    field public static final int state_middle = 16842917; // 0x10100a5
+    field public static final int state_multiline = 16843597; // 0x101034d
+    field public static final int state_pressed = 16842919; // 0x10100a7
+    field public static final int state_selected = 16842913; // 0x10100a1
+    field public static final int state_single = 16842915; // 0x10100a3
+    field public static final int state_window_focused = 16842909; // 0x101009d
+    field public static final int staticWallpaperPreview = 16843569; // 0x1010331
+    field public static final int statusBarColor = 16843857; // 0x1010451
+    field public static final int stepSize = 16843078; // 0x1010146
+    field public static final int stopWithTask = 16843626; // 0x101036a
+    field public static final int streamType = 16843273; // 0x1010209
+    field public static final int stretchColumns = 16843081; // 0x1010149
+    field public static final int stretchMode = 16843030; // 0x1010116
+    field public static final int strokeAlpha = 16843979; // 0x10104cb
+    field public static final int strokeColor = 16843782; // 0x1010406
+    field public static final int strokeLineCap = 16843787; // 0x101040b
+    field public static final int strokeLineJoin = 16843788; // 0x101040c
+    field public static final int strokeMiterLimit = 16843789; // 0x101040d
+    field public static final int strokeWidth = 16843783; // 0x1010407
+    field public static final int subMenuArrow = 16844019; // 0x10104f3
+    field public static final int submitBackground = 16843912; // 0x1010488
+    field public static final int subtitle = 16843473; // 0x10102d1
+    field public static final int subtitleTextAppearance = 16843823; // 0x101042f
+    field public static final int subtitleTextColor = 16844004; // 0x10104e4
+    field public static final int subtitleTextStyle = 16843513; // 0x10102f9
+    field public static final int subtypeExtraValue = 16843674; // 0x101039a
+    field public static final int subtypeId = 16843713; // 0x10103c1
+    field public static final int subtypeLocale = 16843673; // 0x1010399
+    field public static final int suggestActionMsg = 16843228; // 0x10101dc
+    field public static final int suggestActionMsgColumn = 16843229; // 0x10101dd
+    field public static final int suggestionRowLayout = 16843910; // 0x1010486
+    field public static final int summary = 16843241; // 0x10101e9
+    field public static final int summaryColumn = 16843426; // 0x10102a2
+    field public static final int summaryOff = 16843248; // 0x10101f0
+    field public static final int summaryOn = 16843247; // 0x10101ef
+    field public static final int supportsAssist = 16844016; // 0x10104f0
+    field public static final int supportsInlineSuggestions = 16844301; // 0x101060d
+    field public static final int supportsLaunchVoiceAssistFromKeyguard = 16844017; // 0x10104f1
+    field public static final int supportsLocalInteraction = 16844047; // 0x101050f
+    field public static final int supportsMultipleDisplays = 16844182; // 0x1010596
+    field public static final int supportsPictureInPicture = 16844023; // 0x10104f7
+    field public static final int supportsRtl = 16843695; // 0x10103af
+    field public static final int supportsSwitchingToNextInputMethod = 16843755; // 0x10103eb
+    field public static final int supportsUploading = 16843419; // 0x101029b
+    field public static final int suppressesSpellChecker = 16844355; // 0x1010643
+    field public static final int switchMinWidth = 16843632; // 0x1010370
+    field public static final int switchPadding = 16843633; // 0x1010371
+    field public static final int switchPreferenceStyle = 16843629; // 0x101036d
+    field public static final int switchStyle = 16843839; // 0x101043f
+    field public static final int switchTextAppearance = 16843630; // 0x101036e
+    field public static final int switchTextOff = 16843628; // 0x101036c
+    field public static final int switchTextOn = 16843627; // 0x101036b
+    field public static final int syncable = 16842777; // 0x1010019
+    field public static final int tabStripEnabled = 16843453; // 0x10102bd
+    field public static final int tabStripLeft = 16843451; // 0x10102bb
+    field public static final int tabStripRight = 16843452; // 0x10102bc
+    field public static final int tabWidgetStyle = 16842883; // 0x1010083
+    field public static final int tag = 16842961; // 0x10100d1
+    field public static final int targetActivity = 16843266; // 0x1010202
+    field public static final int targetCellHeight = 16844341; // 0x1010635
+    field public static final int targetCellWidth = 16844340; // 0x1010634
+    field public static final int targetClass = 16842799; // 0x101002f
+    field @Deprecated public static final int targetDescriptions = 16843680; // 0x10103a0
+    field public static final int targetId = 16843740; // 0x10103dc
+    field public static final int targetName = 16843853; // 0x101044d
+    field public static final int targetPackage = 16842785; // 0x1010021
+    field public static final int targetProcesses = 16844097; // 0x1010541
+    field @Deprecated public static final int targetSandboxVersion = 16844108; // 0x101054c
+    field public static final int targetSdkVersion = 16843376; // 0x1010270
+    field public static final int taskAffinity = 16842770; // 0x1010012
+    field public static final int taskCloseEnterAnimation = 16842942; // 0x10100be
+    field public static final int taskCloseExitAnimation = 16842943; // 0x10100bf
+    field public static final int taskOpenEnterAnimation = 16842940; // 0x10100bc
+    field public static final int taskOpenExitAnimation = 16842941; // 0x10100bd
+    field public static final int taskToBackEnterAnimation = 16842946; // 0x10100c2
+    field public static final int taskToBackExitAnimation = 16842947; // 0x10100c3
+    field public static final int taskToFrontEnterAnimation = 16842944; // 0x10100c0
+    field public static final int taskToFrontExitAnimation = 16842945; // 0x10100c1
+    field public static final int tension = 16843370; // 0x101026a
+    field public static final int testOnly = 16843378; // 0x1010272
+    field public static final int text = 16843087; // 0x101014f
+    field public static final int textAlignment = 16843697; // 0x10103b1
+    field public static final int textAllCaps = 16843660; // 0x101038c
+    field public static final int textAppearance = 16842804; // 0x1010034
+    field public static final int textAppearanceButton = 16843271; // 0x1010207
+    field public static final int textAppearanceInverse = 16842805; // 0x1010035
+    field public static final int textAppearanceLarge = 16842816; // 0x1010040
+    field public static final int textAppearanceLargeInverse = 16842819; // 0x1010043
+    field public static final int textAppearanceLargePopupMenu = 16843521; // 0x1010301
+    field public static final int textAppearanceListItem = 16843678; // 0x101039e
+    field public static final int textAppearanceListItemSecondary = 16843826; // 0x1010432
+    field public static final int textAppearanceListItemSmall = 16843679; // 0x101039f
+    field public static final int textAppearanceMedium = 16842817; // 0x1010041
+    field public static final int textAppearanceMediumInverse = 16842820; // 0x1010044
+    field public static final int textAppearancePopupMenuHeader = 16844034; // 0x1010502
+    field public static final int textAppearanceSearchResultSubtitle = 16843424; // 0x10102a0
+    field public static final int textAppearanceSearchResultTitle = 16843425; // 0x10102a1
+    field public static final int textAppearanceSmall = 16842818; // 0x1010042
+    field public static final int textAppearanceSmallInverse = 16842821; // 0x1010045
+    field public static final int textAppearanceSmallPopupMenu = 16843522; // 0x1010302
+    field public static final int textCheckMark = 16842822; // 0x1010046
+    field public static final int textCheckMarkInverse = 16842823; // 0x1010047
+    field public static final int textColor = 16842904; // 0x1010098
+    field public static final int textColorAlertDialogListItem = 16843526; // 0x1010306
+    field public static final int textColorHighlight = 16842905; // 0x1010099
+    field public static final int textColorHighlightInverse = 16843599; // 0x101034f
+    field public static final int textColorHint = 16842906; // 0x101009a
+    field public static final int textColorHintInverse = 16842815; // 0x101003f
+    field public static final int textColorLink = 16842907; // 0x101009b
+    field public static final int textColorLinkInverse = 16843600; // 0x1010350
+    field public static final int textColorPrimary = 16842806; // 0x1010036
+    field public static final int textColorPrimaryDisableOnly = 16842807; // 0x1010037
+    field public static final int textColorPrimaryInverse = 16842809; // 0x1010039
+    field public static final int textColorPrimaryInverseDisableOnly = 16843403; // 0x101028b
+    field public static final int textColorPrimaryInverseNoDisable = 16842813; // 0x101003d
+    field public static final int textColorPrimaryNoDisable = 16842811; // 0x101003b
+    field public static final int textColorSecondary = 16842808; // 0x1010038
+    field public static final int textColorSecondaryInverse = 16842810; // 0x101003a
+    field public static final int textColorSecondaryInverseNoDisable = 16842814; // 0x101003e
+    field public static final int textColorSecondaryNoDisable = 16842812; // 0x101003c
+    field public static final int textColorTertiary = 16843282; // 0x1010212
+    field public static final int textColorTertiaryInverse = 16843283; // 0x1010213
+    field public static final int textCursorDrawable = 16843618; // 0x1010362
+    field public static final int textDirection = 16843696; // 0x10103b0
+    field public static final int textEditNoPasteWindowLayout = 16843541; // 0x1010315
+    field public static final int textEditPasteWindowLayout = 16843540; // 0x1010314
+    field public static final int textEditSideNoPasteWindowLayout = 16843615; // 0x101035f
+    field public static final int textEditSidePasteWindowLayout = 16843614; // 0x101035e
+    field public static final int textEditSuggestionItemLayout = 16843636; // 0x1010374
+    field public static final int textFilterEnabled = 16843007; // 0x10100ff
+    field public static final int textFontWeight = 16844165; // 0x1010585
+    field public static final int textIsSelectable = 16843542; // 0x1010316
+    field public static final int textLocale = 16844178; // 0x1010592
+    field public static final int textOff = 16843045; // 0x1010125
+    field public static final int textOn = 16843044; // 0x1010124
+    field public static final int textScaleX = 16843089; // 0x1010151
+    field public static final int textSelectHandle = 16843463; // 0x10102c7
+    field public static final int textSelectHandleLeft = 16843461; // 0x10102c5
+    field public static final int textSelectHandleRight = 16843462; // 0x10102c6
+    field public static final int textSelectHandleWindowStyle = 16843464; // 0x10102c8
+    field public static final int textSize = 16842901; // 0x1010095
+    field public static final int textStyle = 16842903; // 0x1010097
+    field public static final int textSuggestionsWindowStyle = 16843635; // 0x1010373
+    field public static final int textViewStyle = 16842884; // 0x1010084
+    field public static final int theme = 16842752; // 0x1010000
+    field public static final int thickness = 16843360; // 0x1010260
+    field public static final int thicknessRatio = 16843164; // 0x101019c
+    field public static final int thumb = 16843074; // 0x1010142
+    field public static final int thumbOffset = 16843075; // 0x1010143
+    field public static final int thumbPosition = 16844005; // 0x10104e5
+    field public static final int thumbTextPadding = 16843634; // 0x1010372
+    field public static final int thumbTint = 16843889; // 0x1010471
+    field public static final int thumbTintMode = 16843890; // 0x1010472
+    field public static final int thumbnail = 16843429; // 0x10102a5
+    field public static final int tickMark = 16844042; // 0x101050a
+    field public static final int tickMarkTint = 16844043; // 0x101050b
+    field public static final int tickMarkTintMode = 16844044; // 0x101050c
+    field public static final int tileMode = 16843265; // 0x1010201
+    field public static final int tileModeX = 16843895; // 0x1010477
+    field public static final int tileModeY = 16843896; // 0x1010478
+    field public static final int timePickerDialogTheme = 16843934; // 0x101049e
+    field public static final int timePickerMode = 16843956; // 0x10104b4
+    field public static final int timePickerStyle = 16843933; // 0x101049d
+    field public static final int timeZone = 16843724; // 0x10103cc
+    field public static final int tint = 16843041; // 0x1010121
+    field public static final int tintMode = 16843771; // 0x10103fb
+    field public static final int title = 16843233; // 0x10101e1
+    field public static final int titleCondensed = 16843234; // 0x10101e2
+    field public static final int titleMargin = 16844024; // 0x10104f8
+    field public static final int titleMarginBottom = 16844028; // 0x10104fc
+    field public static final int titleMarginEnd = 16844026; // 0x10104fa
+    field public static final int titleMarginStart = 16844025; // 0x10104f9
+    field public static final int titleMarginTop = 16844027; // 0x10104fb
+    field public static final int titleTextAppearance = 16843822; // 0x101042e
+    field public static final int titleTextColor = 16844003; // 0x10104e3
+    field public static final int titleTextStyle = 16843512; // 0x10102f8
+    field public static final int toAlpha = 16843211; // 0x10101cb
+    field public static final int toDegrees = 16843188; // 0x10101b4
+    field public static final int toId = 16843849; // 0x1010449
+    field public static final int toScene = 16843742; // 0x10103de
+    field public static final int toXDelta = 16843207; // 0x10101c7
+    field public static final int toXScale = 16843203; // 0x10101c3
+    field public static final int toYDelta = 16843209; // 0x10101c9
+    field public static final int toYScale = 16843205; // 0x10101c5
+    field public static final int toolbarStyle = 16843946; // 0x10104aa
+    field public static final int tooltipText = 16844084; // 0x1010534
+    field public static final int top = 16843182; // 0x10101ae
+    field public static final int topBright = 16842955; // 0x10100cb
+    field public static final int topDark = 16842951; // 0x10100c7
+    field public static final int topLeftRadius = 16843177; // 0x10101a9
+    field public static final int topOffset = 16843352; // 0x1010258
+    field public static final int topRightRadius = 16843178; // 0x10101aa
+    field public static final int touchscreenBlocksFocus = 16843919; // 0x101048f
+    field public static final int track = 16843631; // 0x101036f
+    field public static final int trackTint = 16843993; // 0x10104d9
+    field public static final int trackTintMode = 16843994; // 0x10104da
+    field public static final int transcriptMode = 16843008; // 0x1010100
+    field public static final int transformPivotX = 16843552; // 0x1010320
+    field public static final int transformPivotY = 16843553; // 0x1010321
+    field public static final int transition = 16843743; // 0x10103df
+    field public static final int transitionGroup = 16843777; // 0x1010401
+    field public static final int transitionName = 16843776; // 0x1010400
+    field public static final int transitionOrdering = 16843744; // 0x10103e0
+    field public static final int transitionVisibilityMode = 16843900; // 0x101047c
+    field public static final int translateX = 16843866; // 0x101045a
+    field public static final int translateY = 16843867; // 0x101045b
+    field public static final int translationX = 16843554; // 0x1010322
+    field public static final int translationY = 16843555; // 0x1010323
+    field public static final int translationZ = 16843770; // 0x10103fa
+    field public static final int trimPathEnd = 16843785; // 0x1010409
+    field public static final int trimPathOffset = 16843786; // 0x101040a
+    field public static final int trimPathStart = 16843784; // 0x1010408
+    field public static final int ttcIndex = 16844143; // 0x101056f
+    field public static final int tunerCount = 16844061; // 0x101051d
+    field public static final int turnScreenOn = 16844138; // 0x101056a
+    field public static final int type = 16843169; // 0x10101a1
+    field public static final int typeface = 16842902; // 0x1010096
+    field public static final int uiOptions = 16843672; // 0x1010398
+    field public static final int uncertainGestureColor = 16843382; // 0x1010276
+    field @Deprecated public static final int unfocusedMonthDateColor = 16843588; // 0x1010344
+    field public static final int unselectedAlpha = 16843278; // 0x101020e
+    field public static final int updatePeriodMillis = 16843344; // 0x1010250
+    field public static final int use32bitAbi = 16844053; // 0x1010515
+    field public static final int useAppZygote = 16844183; // 0x1010597
+    field public static final int useDefaultMargins = 16843641; // 0x1010379
+    field public static final int useEmbeddedDex = 16844190; // 0x101059e
+    field public static final int useIntrinsicSizeAsMinimum = 16843536; // 0x1010310
+    field public static final int useLevel = 16843167; // 0x101019f
+    field public static final int userVisible = 16843409; // 0x1010291
+    field public static final int usesCleartextTraffic = 16844012; // 0x10104ec
+    field public static final int usesPermissionFlags = 16844356; // 0x1010644
+    field public static final int value = 16842788; // 0x1010024
+    field public static final int valueFrom = 16843486; // 0x10102de
+    field public static final int valueTo = 16843487; // 0x10102df
+    field public static final int valueType = 16843488; // 0x10102e0
+    field public static final int variablePadding = 16843157; // 0x1010195
+    field public static final int vendor = 16843751; // 0x10103e7
+    field public static final int version = 16844057; // 0x1010519
+    field public static final int versionCode = 16843291; // 0x101021b
+    field public static final int versionCodeMajor = 16844150; // 0x1010576
+    field public static final int versionMajor = 16844151; // 0x1010577
+    field public static final int versionName = 16843292; // 0x101021c
+    field @Deprecated public static final int verticalCorrection = 16843322; // 0x101023a
+    field public static final int verticalDivider = 16843054; // 0x101012e
+    field @Deprecated public static final int verticalGap = 16843328; // 0x1010240
+    field public static final int verticalScrollbarPosition = 16843572; // 0x1010334
+    field public static final int verticalSpacing = 16843029; // 0x1010115
+    field public static final int viewportHeight = 16843779; // 0x1010403
+    field public static final int viewportWidth = 16843778; // 0x1010402
+    field public static final int visibility = 16842972; // 0x10100dc
+    field public static final int visible = 16843156; // 0x1010194
+    field public static final int visibleToInstantApps = 16844081; // 0x1010531
+    field public static final int vmSafeMode = 16843448; // 0x10102b8
+    field public static final int voiceIcon = 16843908; // 0x1010484
+    field public static final int voiceLanguage = 16843349; // 0x1010255
+    field public static final int voiceLanguageModel = 16843347; // 0x1010253
+    field public static final int voiceMaxResults = 16843350; // 0x1010256
+    field public static final int voicePromptText = 16843348; // 0x1010254
+    field public static final int voiceSearchMode = 16843346; // 0x1010252
+    field public static final int wallpaperCloseEnterAnimation = 16843413; // 0x1010295
+    field public static final int wallpaperCloseExitAnimation = 16843414; // 0x1010296
+    field public static final int wallpaperIntraCloseEnterAnimation = 16843417; // 0x1010299
+    field public static final int wallpaperIntraCloseExitAnimation = 16843418; // 0x101029a
+    field public static final int wallpaperIntraOpenEnterAnimation = 16843415; // 0x1010297
+    field public static final int wallpaperIntraOpenExitAnimation = 16843416; // 0x1010298
+    field public static final int wallpaperOpenEnterAnimation = 16843411; // 0x1010293
+    field public static final int wallpaperOpenExitAnimation = 16843412; // 0x1010294
+    field public static final int webTextViewStyle = 16843449; // 0x10102b9
+    field public static final int webViewStyle = 16842885; // 0x1010085
+    field public static final int weekDayTextAppearance = 16843592; // 0x1010348
+    field @Deprecated public static final int weekNumberColor = 16843589; // 0x1010345
+    field @Deprecated public static final int weekSeparatorLineColor = 16843590; // 0x1010346
+    field public static final int weightSum = 16843048; // 0x1010128
+    field public static final int widgetCategory = 16843716; // 0x10103c4
+    field public static final int widgetFeatures = 16844153; // 0x1010579
+    field public static final int widgetLayout = 16843243; // 0x10101eb
+    field public static final int width = 16843097; // 0x1010159
+    field public static final int windowActionBar = 16843469; // 0x10102cd
+    field public static final int windowActionBarOverlay = 16843492; // 0x10102e4
+    field public static final int windowActionModeOverlay = 16843485; // 0x10102dd
+    field public static final int windowActivityTransitions = 16843981; // 0x10104cd
+    field public static final int windowAllowEnterTransitionOverlap = 16843836; // 0x101043c
+    field public static final int windowAllowReturnTransitionOverlap = 16843835; // 0x101043b
+    field public static final int windowAnimationStyle = 16842926; // 0x10100ae
+    field public static final int windowBackground = 16842836; // 0x1010054
+    field public static final int windowBackgroundBlurRadius = 16844331; // 0x101062b
+    field public static final int windowBackgroundFallback = 16844035; // 0x1010503
+    field public static final int windowBlurBehindEnabled = 16844316; // 0x101061c
+    field public static final int windowBlurBehindRadius = 16844315; // 0x101061b
+    field public static final int windowClipToOutline = 16843947; // 0x10104ab
+    field public static final int windowCloseOnTouchOutside = 16843611; // 0x101035b
+    field public static final int windowContentOverlay = 16842841; // 0x1010059
+    field public static final int windowContentTransitionManager = 16843769; // 0x10103f9
+    field public static final int windowContentTransitions = 16843768; // 0x10103f8
+    field public static final int windowDisablePreview = 16843298; // 0x1010222
+    field public static final int windowDrawsSystemBarBackgrounds = 16843856; // 0x1010450
+    field public static final int windowElevation = 16843920; // 0x1010490
+    field public static final int windowEnableSplitTouch = 16843543; // 0x1010317
+    field public static final int windowEnterAnimation = 16842932; // 0x10100b4
+    field public static final int windowEnterTransition = 16843831; // 0x1010437
+    field public static final int windowExitAnimation = 16842933; // 0x10100b5
+    field public static final int windowExitTransition = 16843832; // 0x1010438
+    field public static final int windowFrame = 16842837; // 0x1010055
+    field public static final int windowFullscreen = 16843277; // 0x101020d
+    field public static final int windowHideAnimation = 16842935; // 0x10100b7
+    field public static final int windowIsFloating = 16842839; // 0x1010057
+    field public static final int windowIsTranslucent = 16842840; // 0x1010058
+    field public static final int windowLayoutAffinity = 16844313; // 0x1010619
+    field public static final int windowLayoutInDisplayCutoutMode = 16844166; // 0x1010586
+    field public static final int windowLightNavigationBar = 16844140; // 0x101056c
+    field public static final int windowLightStatusBar = 16844000; // 0x10104e0
+    field public static final int windowMinWidthMajor = 16843606; // 0x1010356
+    field public static final int windowMinWidthMinor = 16843607; // 0x1010357
+    field public static final int windowNoDisplay = 16843294; // 0x101021e
+    field public static final int windowNoTitle = 16842838; // 0x1010056
+    field @Deprecated public static final int windowOverscan = 16843727; // 0x10103cf
+    field public static final int windowReenterTransition = 16843951; // 0x10104af
+    field public static final int windowReturnTransition = 16843950; // 0x10104ae
+    field public static final int windowSharedElementEnterTransition = 16843833; // 0x1010439
+    field public static final int windowSharedElementExitTransition = 16843834; // 0x101043a
+    field public static final int windowSharedElementReenterTransition = 16843953; // 0x10104b1
+    field public static final int windowSharedElementReturnTransition = 16843952; // 0x10104b0
+    field public static final int windowSharedElementsUseOverlay = 16843963; // 0x10104bb
+    field public static final int windowShowAnimation = 16842934; // 0x10100b6
+    field public static final int windowShowWallpaper = 16843410; // 0x1010292
+    field public static final int windowSoftInputMode = 16843307; // 0x101022b
+    field public static final int windowSplashScreenAnimatedIcon = 16844333; // 0x101062d
+    field public static final int windowSplashScreenAnimationDuration = 16844334; // 0x101062e
+    field public static final int windowSplashScreenBackground = 16844332; // 0x101062c
+    field public static final int windowSplashScreenBrandingImage = 16844335; // 0x101062f
+    field public static final int windowSplashScreenIconBackgroundColor = 16844336; // 0x1010630
+    field @Deprecated public static final int windowSplashscreenContent = 16844132; // 0x1010564
+    field @Deprecated public static final int windowSwipeToDismiss = 16843763; // 0x10103f3
+    field public static final int windowTitleBackgroundStyle = 16842844; // 0x101005c
+    field public static final int windowTitleSize = 16842842; // 0x101005a
+    field public static final int windowTitleStyle = 16842843; // 0x101005b
+    field public static final int windowTransitionBackgroundFadeDuration = 16843873; // 0x1010461
+    field public static final int windowTranslucentNavigation = 16843760; // 0x10103f0
+    field public static final int windowTranslucentStatus = 16843759; // 0x10103ef
+    field public static final int writePermission = 16842760; // 0x1010008
+    field public static final int x = 16842924; // 0x10100ac
+    field public static final int xlargeScreens = 16843455; // 0x10102bf
+    field public static final int y = 16842925; // 0x10100ad
+    field @Deprecated public static final int yearListItemTextAppearance = 16843929; // 0x1010499
+    field @Deprecated public static final int yearListSelectorColor = 16843930; // 0x101049a
+    field public static final int yesNoPreferenceStyle = 16842896; // 0x1010090
+    field public static final int zAdjustment = 16843201; // 0x10101c1
+    field public static final int zygotePreloadName = 16844189; // 0x101059d
+  }
+
+  public static final class R.bool {
+    ctor public R.bool();
+  }
+
+  public static final class R.color {
+    ctor public R.color();
+    field public static final int background_dark = 17170446; // 0x106000e
+    field public static final int background_light = 17170447; // 0x106000f
+    field public static final int black = 17170444; // 0x106000c
+    field public static final int darker_gray = 17170432; // 0x1060000
+    field public static final int holo_blue_bright = 17170459; // 0x106001b
+    field public static final int holo_blue_dark = 17170451; // 0x1060013
+    field public static final int holo_blue_light = 17170450; // 0x1060012
+    field public static final int holo_green_dark = 17170453; // 0x1060015
+    field public static final int holo_green_light = 17170452; // 0x1060014
+    field public static final int holo_orange_dark = 17170457; // 0x1060019
+    field public static final int holo_orange_light = 17170456; // 0x1060018
+    field public static final int holo_purple = 17170458; // 0x106001a
+    field public static final int holo_red_dark = 17170455; // 0x1060017
+    field public static final int holo_red_light = 17170454; // 0x1060016
+    field @Deprecated public static final int primary_text_dark = 17170433; // 0x1060001
+    field @Deprecated public static final int primary_text_dark_nodisable = 17170434; // 0x1060002
+    field @Deprecated public static final int primary_text_light = 17170435; // 0x1060003
+    field @Deprecated public static final int primary_text_light_nodisable = 17170436; // 0x1060004
+    field @Deprecated public static final int secondary_text_dark = 17170437; // 0x1060005
+    field @Deprecated public static final int secondary_text_dark_nodisable = 17170438; // 0x1060006
+    field @Deprecated public static final int secondary_text_light = 17170439; // 0x1060007
+    field @Deprecated public static final int secondary_text_light_nodisable = 17170440; // 0x1060008
+    field public static final int system_accent1_0 = 17170487; // 0x1060037
+    field public static final int system_accent1_10 = 17170488; // 0x1060038
+    field public static final int system_accent1_100 = 17170490; // 0x106003a
+    field public static final int system_accent1_1000 = 17170499; // 0x1060043
+    field public static final int system_accent1_200 = 17170491; // 0x106003b
+    field public static final int system_accent1_300 = 17170492; // 0x106003c
+    field public static final int system_accent1_400 = 17170493; // 0x106003d
+    field public static final int system_accent1_50 = 17170489; // 0x1060039
+    field public static final int system_accent1_500 = 17170494; // 0x106003e
+    field public static final int system_accent1_600 = 17170495; // 0x106003f
+    field public static final int system_accent1_700 = 17170496; // 0x1060040
+    field public static final int system_accent1_800 = 17170497; // 0x1060041
+    field public static final int system_accent1_900 = 17170498; // 0x1060042
+    field public static final int system_accent2_0 = 17170500; // 0x1060044
+    field public static final int system_accent2_10 = 17170501; // 0x1060045
+    field public static final int system_accent2_100 = 17170503; // 0x1060047
+    field public static final int system_accent2_1000 = 17170512; // 0x1060050
+    field public static final int system_accent2_200 = 17170504; // 0x1060048
+    field public static final int system_accent2_300 = 17170505; // 0x1060049
+    field public static final int system_accent2_400 = 17170506; // 0x106004a
+    field public static final int system_accent2_50 = 17170502; // 0x1060046
+    field public static final int system_accent2_500 = 17170507; // 0x106004b
+    field public static final int system_accent2_600 = 17170508; // 0x106004c
+    field public static final int system_accent2_700 = 17170509; // 0x106004d
+    field public static final int system_accent2_800 = 17170510; // 0x106004e
+    field public static final int system_accent2_900 = 17170511; // 0x106004f
+    field public static final int system_accent3_0 = 17170513; // 0x1060051
+    field public static final int system_accent3_10 = 17170514; // 0x1060052
+    field public static final int system_accent3_100 = 17170516; // 0x1060054
+    field public static final int system_accent3_1000 = 17170525; // 0x106005d
+    field public static final int system_accent3_200 = 17170517; // 0x1060055
+    field public static final int system_accent3_300 = 17170518; // 0x1060056
+    field public static final int system_accent3_400 = 17170519; // 0x1060057
+    field public static final int system_accent3_50 = 17170515; // 0x1060053
+    field public static final int system_accent3_500 = 17170520; // 0x1060058
+    field public static final int system_accent3_600 = 17170521; // 0x1060059
+    field public static final int system_accent3_700 = 17170522; // 0x106005a
+    field public static final int system_accent3_800 = 17170523; // 0x106005b
+    field public static final int system_accent3_900 = 17170524; // 0x106005c
+    field public static final int system_neutral1_0 = 17170461; // 0x106001d
+    field public static final int system_neutral1_10 = 17170462; // 0x106001e
+    field public static final int system_neutral1_100 = 17170464; // 0x1060020
+    field public static final int system_neutral1_1000 = 17170473; // 0x1060029
+    field public static final int system_neutral1_200 = 17170465; // 0x1060021
+    field public static final int system_neutral1_300 = 17170466; // 0x1060022
+    field public static final int system_neutral1_400 = 17170467; // 0x1060023
+    field public static final int system_neutral1_50 = 17170463; // 0x106001f
+    field public static final int system_neutral1_500 = 17170468; // 0x1060024
+    field public static final int system_neutral1_600 = 17170469; // 0x1060025
+    field public static final int system_neutral1_700 = 17170470; // 0x1060026
+    field public static final int system_neutral1_800 = 17170471; // 0x1060027
+    field public static final int system_neutral1_900 = 17170472; // 0x1060028
+    field public static final int system_neutral2_0 = 17170474; // 0x106002a
+    field public static final int system_neutral2_10 = 17170475; // 0x106002b
+    field public static final int system_neutral2_100 = 17170477; // 0x106002d
+    field public static final int system_neutral2_1000 = 17170486; // 0x1060036
+    field public static final int system_neutral2_200 = 17170478; // 0x106002e
+    field public static final int system_neutral2_300 = 17170479; // 0x106002f
+    field public static final int system_neutral2_400 = 17170480; // 0x1060030
+    field public static final int system_neutral2_50 = 17170476; // 0x106002c
+    field public static final int system_neutral2_500 = 17170481; // 0x1060031
+    field public static final int system_neutral2_600 = 17170482; // 0x1060032
+    field public static final int system_neutral2_700 = 17170483; // 0x1060033
+    field public static final int system_neutral2_800 = 17170484; // 0x1060034
+    field public static final int system_neutral2_900 = 17170485; // 0x1060035
+    field public static final int tab_indicator_text = 17170441; // 0x1060009
+    field @Deprecated public static final int tertiary_text_dark = 17170448; // 0x1060010
+    field @Deprecated public static final int tertiary_text_light = 17170449; // 0x1060011
+    field public static final int transparent = 17170445; // 0x106000d
+    field public static final int white = 17170443; // 0x106000b
+    field public static final int widget_edittext_dark = 17170442; // 0x106000a
+  }
+
+  public static final class R.dimen {
+    ctor public R.dimen();
+    field public static final int app_icon_size = 17104896; // 0x1050000
+    field public static final int dialog_min_width_major = 17104899; // 0x1050003
+    field public static final int dialog_min_width_minor = 17104900; // 0x1050004
+    field public static final int notification_large_icon_height = 17104902; // 0x1050006
+    field public static final int notification_large_icon_width = 17104901; // 0x1050005
+    field public static final int system_app_widget_background_radius = 17104904; // 0x1050008
+    field public static final int system_app_widget_inner_radius = 17104905; // 0x1050009
+    field public static final int thumbnail_height = 17104897; // 0x1050001
+    field public static final int thumbnail_width = 17104898; // 0x1050002
+  }
+
+  public static final class R.drawable {
+    ctor public R.drawable();
+    field public static final int alert_dark_frame = 17301504; // 0x1080000
+    field public static final int alert_light_frame = 17301505; // 0x1080001
+    field public static final int arrow_down_float = 17301506; // 0x1080002
+    field public static final int arrow_up_float = 17301507; // 0x1080003
+    field public static final int bottom_bar = 17301658; // 0x108009a
+    field public static final int btn_default = 17301508; // 0x1080004
+    field public static final int btn_default_small = 17301509; // 0x1080005
+    field public static final int btn_dialog = 17301527; // 0x1080017
+    field public static final int btn_dropdown = 17301510; // 0x1080006
+    field public static final int btn_minus = 17301511; // 0x1080007
+    field public static final int btn_plus = 17301512; // 0x1080008
+    field public static final int btn_radio = 17301513; // 0x1080009
+    field public static final int btn_star = 17301514; // 0x108000a
+    field public static final int btn_star_big_off = 17301515; // 0x108000b
+    field public static final int btn_star_big_on = 17301516; // 0x108000c
+    field public static final int button_onoff_indicator_off = 17301518; // 0x108000e
+    field public static final int button_onoff_indicator_on = 17301517; // 0x108000d
+    field public static final int checkbox_off_background = 17301519; // 0x108000f
+    field public static final int checkbox_on_background = 17301520; // 0x1080010
+    field public static final int dark_header = 17301669; // 0x10800a5
+    field public static final int dialog_frame = 17301521; // 0x1080011
+    field public static final int dialog_holo_dark_frame = 17301682; // 0x10800b2
+    field public static final int dialog_holo_light_frame = 17301683; // 0x10800b3
+    field public static final int divider_horizontal_bright = 17301522; // 0x1080012
+    field public static final int divider_horizontal_dark = 17301524; // 0x1080014
+    field public static final int divider_horizontal_dim_dark = 17301525; // 0x1080015
+    field public static final int divider_horizontal_textfield = 17301523; // 0x1080013
+    field public static final int edit_text = 17301526; // 0x1080016
+    field public static final int editbox_background = 17301528; // 0x1080018
+    field public static final int editbox_background_normal = 17301529; // 0x1080019
+    field public static final int editbox_dropdown_dark_frame = 17301530; // 0x108001a
+    field public static final int editbox_dropdown_light_frame = 17301531; // 0x108001b
+    field public static final int gallery_thumb = 17301532; // 0x108001c
+    field public static final int ic_btn_speak_now = 17301668; // 0x10800a4
+    field public static final int ic_delete = 17301533; // 0x108001d
+    field public static final int ic_dialog_alert = 17301543; // 0x1080027
+    field public static final int ic_dialog_dialer = 17301544; // 0x1080028
+    field public static final int ic_dialog_email = 17301545; // 0x1080029
+    field public static final int ic_dialog_info = 17301659; // 0x108009b
+    field public static final int ic_dialog_map = 17301546; // 0x108002a
+    field public static final int ic_input_add = 17301547; // 0x108002b
+    field public static final int ic_input_delete = 17301548; // 0x108002c
+    field public static final int ic_input_get = 17301549; // 0x108002d
+    field public static final int ic_lock_idle_alarm = 17301550; // 0x108002e
+    field public static final int ic_lock_idle_charging = 17301534; // 0x108001e
+    field public static final int ic_lock_idle_lock = 17301535; // 0x108001f
+    field public static final int ic_lock_idle_low_battery = 17301536; // 0x1080020
+    field public static final int ic_lock_lock = 17301551; // 0x108002f
+    field public static final int ic_lock_power_off = 17301552; // 0x1080030
+    field public static final int ic_lock_silent_mode = 17301553; // 0x1080031
+    field public static final int ic_lock_silent_mode_off = 17301554; // 0x1080032
+    field public static final int ic_media_ff = 17301537; // 0x1080021
+    field public static final int ic_media_next = 17301538; // 0x1080022
+    field public static final int ic_media_pause = 17301539; // 0x1080023
+    field public static final int ic_media_play = 17301540; // 0x1080024
+    field public static final int ic_media_previous = 17301541; // 0x1080025
+    field public static final int ic_media_rew = 17301542; // 0x1080026
+    field public static final int ic_menu_add = 17301555; // 0x1080033
+    field public static final int ic_menu_agenda = 17301556; // 0x1080034
+    field public static final int ic_menu_always_landscape_portrait = 17301557; // 0x1080035
+    field public static final int ic_menu_call = 17301558; // 0x1080036
+    field public static final int ic_menu_camera = 17301559; // 0x1080037
+    field public static final int ic_menu_close_clear_cancel = 17301560; // 0x1080038
+    field public static final int ic_menu_compass = 17301561; // 0x1080039
+    field public static final int ic_menu_crop = 17301562; // 0x108003a
+    field public static final int ic_menu_day = 17301563; // 0x108003b
+    field public static final int ic_menu_delete = 17301564; // 0x108003c
+    field public static final int ic_menu_directions = 17301565; // 0x108003d
+    field public static final int ic_menu_edit = 17301566; // 0x108003e
+    field public static final int ic_menu_gallery = 17301567; // 0x108003f
+    field public static final int ic_menu_help = 17301568; // 0x1080040
+    field public static final int ic_menu_info_details = 17301569; // 0x1080041
+    field public static final int ic_menu_manage = 17301570; // 0x1080042
+    field public static final int ic_menu_mapmode = 17301571; // 0x1080043
+    field public static final int ic_menu_month = 17301572; // 0x1080044
+    field public static final int ic_menu_more = 17301573; // 0x1080045
+    field public static final int ic_menu_my_calendar = 17301574; // 0x1080046
+    field public static final int ic_menu_mylocation = 17301575; // 0x1080047
+    field public static final int ic_menu_myplaces = 17301576; // 0x1080048
+    field public static final int ic_menu_preferences = 17301577; // 0x1080049
+    field public static final int ic_menu_recent_history = 17301578; // 0x108004a
+    field public static final int ic_menu_report_image = 17301579; // 0x108004b
+    field public static final int ic_menu_revert = 17301580; // 0x108004c
+    field public static final int ic_menu_rotate = 17301581; // 0x108004d
+    field public static final int ic_menu_save = 17301582; // 0x108004e
+    field public static final int ic_menu_search = 17301583; // 0x108004f
+    field public static final int ic_menu_send = 17301584; // 0x1080050
+    field public static final int ic_menu_set_as = 17301585; // 0x1080051
+    field public static final int ic_menu_share = 17301586; // 0x1080052
+    field public static final int ic_menu_slideshow = 17301587; // 0x1080053
+    field public static final int ic_menu_sort_alphabetically = 17301660; // 0x108009c
+    field public static final int ic_menu_sort_by_size = 17301661; // 0x108009d
+    field public static final int ic_menu_today = 17301588; // 0x1080054
+    field public static final int ic_menu_upload = 17301589; // 0x1080055
+    field public static final int ic_menu_upload_you_tube = 17301590; // 0x1080056
+    field public static final int ic_menu_view = 17301591; // 0x1080057
+    field public static final int ic_menu_week = 17301592; // 0x1080058
+    field public static final int ic_menu_zoom = 17301593; // 0x1080059
+    field public static final int ic_notification_clear_all = 17301594; // 0x108005a
+    field public static final int ic_notification_overlay = 17301595; // 0x108005b
+    field public static final int ic_partial_secure = 17301596; // 0x108005c
+    field public static final int ic_popup_disk_full = 17301597; // 0x108005d
+    field public static final int ic_popup_reminder = 17301598; // 0x108005e
+    field public static final int ic_popup_sync = 17301599; // 0x108005f
+    field public static final int ic_search_category_default = 17301600; // 0x1080060
+    field public static final int ic_secure = 17301601; // 0x1080061
+    field public static final int list_selector_background = 17301602; // 0x1080062
+    field public static final int menu_frame = 17301603; // 0x1080063
+    field public static final int menu_full_frame = 17301604; // 0x1080064
+    field public static final int menuitem_background = 17301605; // 0x1080065
+    field public static final int picture_frame = 17301606; // 0x1080066
+    field public static final int presence_audio_away = 17301679; // 0x10800af
+    field public static final int presence_audio_busy = 17301680; // 0x10800b0
+    field public static final int presence_audio_online = 17301681; // 0x10800b1
+    field public static final int presence_away = 17301607; // 0x1080067
+    field public static final int presence_busy = 17301608; // 0x1080068
+    field public static final int presence_invisible = 17301609; // 0x1080069
+    field public static final int presence_offline = 17301610; // 0x108006a
+    field public static final int presence_online = 17301611; // 0x108006b
+    field public static final int presence_video_away = 17301676; // 0x10800ac
+    field public static final int presence_video_busy = 17301677; // 0x10800ad
+    field public static final int presence_video_online = 17301678; // 0x10800ae
+    field public static final int progress_horizontal = 17301612; // 0x108006c
+    field public static final int progress_indeterminate_horizontal = 17301613; // 0x108006d
+    field public static final int radiobutton_off_background = 17301614; // 0x108006e
+    field public static final int radiobutton_on_background = 17301615; // 0x108006f
+    field public static final int screen_background_dark = 17301656; // 0x1080098
+    field public static final int screen_background_dark_transparent = 17301673; // 0x10800a9
+    field public static final int screen_background_light = 17301657; // 0x1080099
+    field public static final int screen_background_light_transparent = 17301674; // 0x10800aa
+    field public static final int spinner_background = 17301616; // 0x1080070
+    field public static final int spinner_dropdown_background = 17301617; // 0x1080071
+    field public static final int star_big_off = 17301619; // 0x1080073
+    field public static final int star_big_on = 17301618; // 0x1080072
+    field public static final int star_off = 17301621; // 0x1080075
+    field public static final int star_on = 17301620; // 0x1080074
+    field public static final int stat_notify_call_mute = 17301622; // 0x1080076
+    field public static final int stat_notify_chat = 17301623; // 0x1080077
+    field public static final int stat_notify_error = 17301624; // 0x1080078
+    field public static final int stat_notify_missed_call = 17301631; // 0x108007f
+    field public static final int stat_notify_more = 17301625; // 0x1080079
+    field public static final int stat_notify_sdcard = 17301626; // 0x108007a
+    field public static final int stat_notify_sdcard_prepare = 17301675; // 0x10800ab
+    field public static final int stat_notify_sdcard_usb = 17301627; // 0x108007b
+    field public static final int stat_notify_sync = 17301628; // 0x108007c
+    field public static final int stat_notify_sync_noanim = 17301629; // 0x108007d
+    field public static final int stat_notify_voicemail = 17301630; // 0x108007e
+    field public static final int stat_sys_data_bluetooth = 17301632; // 0x1080080
+    field public static final int stat_sys_download = 17301633; // 0x1080081
+    field public static final int stat_sys_download_done = 17301634; // 0x1080082
+    field public static final int stat_sys_headset = 17301635; // 0x1080083
+    field @Deprecated public static final int stat_sys_phone_call = 17301636; // 0x1080084
+    field @Deprecated public static final int stat_sys_phone_call_forward = 17301637; // 0x1080085
+    field @Deprecated public static final int stat_sys_phone_call_on_hold = 17301638; // 0x1080086
+    field public static final int stat_sys_speakerphone = 17301639; // 0x1080087
+    field public static final int stat_sys_upload = 17301640; // 0x1080088
+    field public static final int stat_sys_upload_done = 17301641; // 0x1080089
+    field @Deprecated public static final int stat_sys_vp_phone_call = 17301671; // 0x10800a7
+    field @Deprecated public static final int stat_sys_vp_phone_call_on_hold = 17301672; // 0x10800a8
+    field public static final int stat_sys_warning = 17301642; // 0x108008a
+    field public static final int status_bar_item_app_background = 17301643; // 0x108008b
+    field public static final int status_bar_item_background = 17301644; // 0x108008c
+    field public static final int sym_action_call = 17301645; // 0x108008d
+    field public static final int sym_action_chat = 17301646; // 0x108008e
+    field public static final int sym_action_email = 17301647; // 0x108008f
+    field public static final int sym_call_incoming = 17301648; // 0x1080090
+    field public static final int sym_call_missed = 17301649; // 0x1080091
+    field public static final int sym_call_outgoing = 17301650; // 0x1080092
+    field public static final int sym_contact_card = 17301652; // 0x1080094
+    field public static final int sym_def_app_icon = 17301651; // 0x1080093
+    field public static final int title_bar = 17301653; // 0x1080095
+    field public static final int title_bar_tall = 17301670; // 0x10800a6
+    field public static final int toast_frame = 17301654; // 0x1080096
+    field public static final int zoom_plate = 17301655; // 0x1080097
+  }
+
+  public static final class R.fraction {
+    ctor public R.fraction();
+  }
+
+  public static final class R.id {
+    ctor public R.id();
+    field public static final int accessibilityActionContextClick = 16908348; // 0x102003c
+    field public static final int accessibilityActionDragCancel = 16908375; // 0x1020057
+    field public static final int accessibilityActionDragDrop = 16908374; // 0x1020056
+    field public static final int accessibilityActionDragStart = 16908373; // 0x1020055
+    field public static final int accessibilityActionHideTooltip = 16908357; // 0x1020045
+    field public static final int accessibilityActionImeEnter = 16908372; // 0x1020054
+    field public static final int accessibilityActionMoveWindow = 16908354; // 0x1020042
+    field public static final int accessibilityActionPageDown = 16908359; // 0x1020047
+    field public static final int accessibilityActionPageLeft = 16908360; // 0x1020048
+    field public static final int accessibilityActionPageRight = 16908361; // 0x1020049
+    field public static final int accessibilityActionPageUp = 16908358; // 0x1020046
+    field public static final int accessibilityActionPressAndHold = 16908362; // 0x102004a
+    field public static final int accessibilityActionScrollDown = 16908346; // 0x102003a
+    field public static final int accessibilityActionScrollLeft = 16908345; // 0x1020039
+    field public static final int accessibilityActionScrollRight = 16908347; // 0x102003b
+    field public static final int accessibilityActionScrollToPosition = 16908343; // 0x1020037
+    field public static final int accessibilityActionScrollUp = 16908344; // 0x1020038
+    field public static final int accessibilityActionSetProgress = 16908349; // 0x102003d
+    field public static final int accessibilityActionShowOnScreen = 16908342; // 0x1020036
+    field public static final int accessibilityActionShowTooltip = 16908356; // 0x1020044
+    field public static final int accessibilitySystemActionBack = 16908363; // 0x102004b
+    field public static final int accessibilitySystemActionHome = 16908364; // 0x102004c
+    field public static final int accessibilitySystemActionLockScreen = 16908370; // 0x1020052
+    field public static final int accessibilitySystemActionNotifications = 16908366; // 0x102004e
+    field public static final int accessibilitySystemActionPowerDialog = 16908368; // 0x1020050
+    field public static final int accessibilitySystemActionQuickSettings = 16908367; // 0x102004f
+    field public static final int accessibilitySystemActionRecents = 16908365; // 0x102004d
+    field public static final int accessibilitySystemActionTakeScreenshot = 16908371; // 0x1020053
+    field public static final int accessibilitySystemActionToggleSplitScreen = 16908369; // 0x1020051
+    field public static final int addToDictionary = 16908330; // 0x102002a
+    field public static final int autofill = 16908355; // 0x1020043
+    field public static final int background = 16908288; // 0x1020000
+    field public static final int button1 = 16908313; // 0x1020019
+    field public static final int button2 = 16908314; // 0x102001a
+    field public static final int button3 = 16908315; // 0x102001b
+    field public static final int candidatesArea = 16908317; // 0x102001d
+    field public static final int checkbox = 16908289; // 0x1020001
+    field public static final int closeButton = 16908327; // 0x1020027
+    field public static final int content = 16908290; // 0x1020002
+    field public static final int copy = 16908321; // 0x1020021
+    field public static final int copyUrl = 16908323; // 0x1020023
+    field public static final int custom = 16908331; // 0x102002b
+    field public static final int cut = 16908320; // 0x1020020
+    field public static final int edit = 16908291; // 0x1020003
+    field public static final int empty = 16908292; // 0x1020004
+    field public static final int extractArea = 16908316; // 0x102001c
+    field public static final int hint = 16908293; // 0x1020005
+    field public static final int home = 16908332; // 0x102002c
+    field public static final int icon = 16908294; // 0x1020006
+    field public static final int icon1 = 16908295; // 0x1020007
+    field public static final int icon2 = 16908296; // 0x1020008
+    field public static final int icon_frame = 16908350; // 0x102003e
+    field public static final int input = 16908297; // 0x1020009
+    field public static final int inputArea = 16908318; // 0x102001e
+    field public static final int inputExtractEditText = 16908325; // 0x1020025
+    field @Deprecated public static final int keyboardView = 16908326; // 0x1020026
+    field public static final int list = 16908298; // 0x102000a
+    field public static final int list_container = 16908351; // 0x102003f
+    field public static final int mask = 16908334; // 0x102002e
+    field public static final int message = 16908299; // 0x102000b
+    field public static final int navigationBarBackground = 16908336; // 0x1020030
+    field public static final int paste = 16908322; // 0x1020022
+    field public static final int pasteAsPlainText = 16908337; // 0x1020031
+    field public static final int primary = 16908300; // 0x102000c
+    field public static final int progress = 16908301; // 0x102000d
+    field public static final int redo = 16908339; // 0x1020033
+    field public static final int replaceText = 16908340; // 0x1020034
+    field public static final int secondaryProgress = 16908303; // 0x102000f
+    field public static final int selectAll = 16908319; // 0x102001f
+    field public static final int selectTextMode = 16908333; // 0x102002d
+    field public static final int selectedIcon = 16908302; // 0x102000e
+    field public static final int shareText = 16908341; // 0x1020035
+    field public static final int startSelectingText = 16908328; // 0x1020028
+    field public static final int statusBarBackground = 16908335; // 0x102002f
+    field public static final int stopSelectingText = 16908329; // 0x1020029
+    field public static final int summary = 16908304; // 0x1020010
+    field public static final int switchInputMethod = 16908324; // 0x1020024
+    field public static final int switch_widget = 16908352; // 0x1020040
+    field public static final int tabcontent = 16908305; // 0x1020011
+    field public static final int tabhost = 16908306; // 0x1020012
+    field public static final int tabs = 16908307; // 0x1020013
+    field public static final int text1 = 16908308; // 0x1020014
+    field public static final int text2 = 16908309; // 0x1020015
+    field public static final int textAssist = 16908353; // 0x1020041
+    field public static final int title = 16908310; // 0x1020016
+    field public static final int toggle = 16908311; // 0x1020017
+    field public static final int undo = 16908338; // 0x1020032
+    field public static final int widget_frame = 16908312; // 0x1020018
+  }
+
+  public static final class R.integer {
+    ctor public R.integer();
+    field public static final int config_longAnimTime = 17694722; // 0x10e0002
+    field public static final int config_mediumAnimTime = 17694721; // 0x10e0001
+    field public static final int config_shortAnimTime = 17694720; // 0x10e0000
+    field public static final int status_bar_notification_info_maxnum = 17694723; // 0x10e0003
+  }
+
+  public static final class R.interpolator {
+    ctor public R.interpolator();
+    field public static final int accelerate_cubic = 17563650; // 0x10c0002
+    field public static final int accelerate_decelerate = 17563654; // 0x10c0006
+    field public static final int accelerate_quad = 17563648; // 0x10c0000
+    field public static final int accelerate_quint = 17563652; // 0x10c0004
+    field public static final int anticipate = 17563655; // 0x10c0007
+    field public static final int anticipate_overshoot = 17563657; // 0x10c0009
+    field public static final int bounce = 17563658; // 0x10c000a
+    field public static final int cycle = 17563660; // 0x10c000c
+    field public static final int decelerate_cubic = 17563651; // 0x10c0003
+    field public static final int decelerate_quad = 17563649; // 0x10c0001
+    field public static final int decelerate_quint = 17563653; // 0x10c0005
+    field public static final int fast_out_extra_slow_in = 17563674; // 0x10c001a
+    field public static final int fast_out_linear_in = 17563663; // 0x10c000f
+    field public static final int fast_out_slow_in = 17563661; // 0x10c000d
+    field public static final int linear = 17563659; // 0x10c000b
+    field public static final int linear_out_slow_in = 17563662; // 0x10c000e
+    field public static final int overshoot = 17563656; // 0x10c0008
+  }
+
+  public static final class R.layout {
+    ctor public R.layout();
+    field public static final int activity_list_item = 17367040; // 0x1090000
+    field public static final int browser_link_context_header = 17367054; // 0x109000e
+    field public static final int expandable_list_content = 17367041; // 0x1090001
+    field public static final int list_content = 17367060; // 0x1090014
+    field public static final int preference_category = 17367042; // 0x1090002
+    field public static final int select_dialog_item = 17367057; // 0x1090011
+    field public static final int select_dialog_multichoice = 17367059; // 0x1090013
+    field public static final int select_dialog_singlechoice = 17367058; // 0x1090012
+    field public static final int simple_dropdown_item_1line = 17367050; // 0x109000a
+    field public static final int simple_expandable_list_item_1 = 17367046; // 0x1090006
+    field public static final int simple_expandable_list_item_2 = 17367047; // 0x1090007
+    field public static final int simple_gallery_item = 17367051; // 0x109000b
+    field public static final int simple_list_item_1 = 17367043; // 0x1090003
+    field public static final int simple_list_item_2 = 17367044; // 0x1090004
+    field public static final int simple_list_item_activated_1 = 17367062; // 0x1090016
+    field public static final int simple_list_item_activated_2 = 17367063; // 0x1090017
+    field public static final int simple_list_item_checked = 17367045; // 0x1090005
+    field public static final int simple_list_item_multiple_choice = 17367056; // 0x1090010
+    field public static final int simple_list_item_single_choice = 17367055; // 0x109000f
+    field public static final int simple_selectable_list_item = 17367061; // 0x1090015
+    field public static final int simple_spinner_dropdown_item = 17367049; // 0x1090009
+    field public static final int simple_spinner_item = 17367048; // 0x1090008
+    field public static final int test_list_item = 17367052; // 0x109000c
+    field public static final int two_line_list_item = 17367053; // 0x109000d
+  }
+
+  public static final class R.menu {
+    ctor public R.menu();
+  }
+
+  public static final class R.mipmap {
+    ctor public R.mipmap();
+    field public static final int sym_def_app_icon = 17629184; // 0x10d0000
+  }
+
+  public static final class R.plurals {
+    ctor public R.plurals();
+  }
+
+  public static final class R.raw {
+    ctor public R.raw();
+  }
+
+  public static final class R.string {
+    ctor public R.string();
+    field public static final int VideoView_error_button = 17039376; // 0x1040010
+    field public static final int VideoView_error_text_invalid_progressive_playback = 17039381; // 0x1040015
+    field public static final int VideoView_error_text_unknown = 17039377; // 0x1040011
+    field public static final int VideoView_error_title = 17039378; // 0x1040012
+    field public static final int autofill = 17039386; // 0x104001a
+    field public static final int cancel = 17039360; // 0x1040000
+    field public static final int copy = 17039361; // 0x1040001
+    field public static final int copyUrl = 17039362; // 0x1040002
+    field public static final int cut = 17039363; // 0x1040003
+    field public static final int defaultMsisdnAlphaTag = 17039365; // 0x1040005
+    field public static final int defaultVoiceMailAlphaTag = 17039364; // 0x1040004
+    field public static final int dialog_alert_title = 17039380; // 0x1040014
+    field public static final int emptyPhoneNumber = 17039366; // 0x1040006
+    field public static final int fingerprint_icon_content_description = 17039384; // 0x1040018
+    field public static final int httpErrorBadUrl = 17039367; // 0x1040007
+    field public static final int httpErrorUnsupportedScheme = 17039368; // 0x1040008
+    field @Deprecated public static final int no = 17039369; // 0x1040009
+    field public static final int ok = 17039370; // 0x104000a
+    field public static final int paste = 17039371; // 0x104000b
+    field public static final int paste_as_plain_text = 17039385; // 0x1040019
+    field public static final int search_go = 17039372; // 0x104000c
+    field public static final int selectAll = 17039373; // 0x104000d
+    field public static final int selectTextMode = 17039382; // 0x1040016
+    field public static final int status_bar_notification_info_overflow = 17039383; // 0x1040017
+    field public static final int unknownName = 17039374; // 0x104000e
+    field public static final int untitled = 17039375; // 0x104000f
+    field @Deprecated public static final int yes = 17039379; // 0x1040013
+  }
+
+  public static final class R.style {
+    ctor public R.style();
+    field public static final int Animation = 16973824; // 0x1030000
+    field public static final int Animation_Activity = 16973825; // 0x1030001
+    field public static final int Animation_Dialog = 16973826; // 0x1030002
+    field public static final int Animation_InputMethod = 16973910; // 0x1030056
+    field public static final int Animation_Toast = 16973828; // 0x1030004
+    field public static final int Animation_Translucent = 16973827; // 0x1030003
+    field public static final int DeviceDefault_ButtonBar = 16974287; // 0x10301cf
+    field public static final int DeviceDefault_ButtonBar_AlertDialog = 16974288; // 0x10301d0
+    field public static final int DeviceDefault_Light_ButtonBar = 16974290; // 0x10301d2
+    field public static final int DeviceDefault_Light_ButtonBar_AlertDialog = 16974291; // 0x10301d3
+    field public static final int DeviceDefault_Light_SegmentedButton = 16974292; // 0x10301d4
+    field public static final int DeviceDefault_SegmentedButton = 16974289; // 0x10301d1
+    field public static final int Holo_ButtonBar = 16974053; // 0x10300e5
+    field public static final int Holo_ButtonBar_AlertDialog = 16974055; // 0x10300e7
+    field public static final int Holo_Light_ButtonBar = 16974054; // 0x10300e6
+    field public static final int Holo_Light_ButtonBar_AlertDialog = 16974056; // 0x10300e8
+    field public static final int Holo_Light_SegmentedButton = 16974058; // 0x10300ea
+    field public static final int Holo_SegmentedButton = 16974057; // 0x10300e9
+    field public static final int MediaButton = 16973879; // 0x1030037
+    field public static final int MediaButton_Ffwd = 16973883; // 0x103003b
+    field public static final int MediaButton_Next = 16973881; // 0x1030039
+    field public static final int MediaButton_Pause = 16973885; // 0x103003d
+    field public static final int MediaButton_Play = 16973882; // 0x103003a
+    field public static final int MediaButton_Previous = 16973880; // 0x1030038
+    field public static final int MediaButton_Rew = 16973884; // 0x103003c
+    field public static final int TextAppearance = 16973886; // 0x103003e
+    field public static final int TextAppearance_DeviceDefault = 16974253; // 0x10301ad
+    field public static final int TextAppearance_DeviceDefault_DialogWindowTitle = 16974264; // 0x10301b8
+    field public static final int TextAppearance_DeviceDefault_Inverse = 16974254; // 0x10301ae
+    field public static final int TextAppearance_DeviceDefault_Large = 16974255; // 0x10301af
+    field public static final int TextAppearance_DeviceDefault_Large_Inverse = 16974256; // 0x10301b0
+    field public static final int TextAppearance_DeviceDefault_Medium = 16974257; // 0x10301b1
+    field public static final int TextAppearance_DeviceDefault_Medium_Inverse = 16974258; // 0x10301b2
+    field public static final int TextAppearance_DeviceDefault_SearchResult_Subtitle = 16974262; // 0x10301b6
+    field public static final int TextAppearance_DeviceDefault_SearchResult_Title = 16974261; // 0x10301b5
+    field public static final int TextAppearance_DeviceDefault_Small = 16974259; // 0x10301b3
+    field public static final int TextAppearance_DeviceDefault_Small_Inverse = 16974260; // 0x10301b4
+    field public static final int TextAppearance_DeviceDefault_Widget = 16974265; // 0x10301b9
+    field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Menu = 16974286; // 0x10301ce
+    field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle = 16974279; // 0x10301c7
+    field @Deprecated public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse = 16974283; // 0x10301cb
+    field public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Title = 16974278; // 0x10301c6
+    field @Deprecated public static final int TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse = 16974282; // 0x10301ca
+    field public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle = 16974281; // 0x10301c9
+    field @Deprecated public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse = 16974285; // 0x10301cd
+    field public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Title = 16974280; // 0x10301c8
+    field @Deprecated public static final int TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse = 16974284; // 0x10301cc
+    field public static final int TextAppearance_DeviceDefault_Widget_Button = 16974266; // 0x10301ba
+    field public static final int TextAppearance_DeviceDefault_Widget_DropDownHint = 16974271; // 0x10301bf
+    field public static final int TextAppearance_DeviceDefault_Widget_DropDownItem = 16974272; // 0x10301c0
+    field public static final int TextAppearance_DeviceDefault_Widget_EditText = 16974274; // 0x10301c2
+    field public static final int TextAppearance_DeviceDefault_Widget_IconMenu_Item = 16974267; // 0x10301bb
+    field public static final int TextAppearance_DeviceDefault_Widget_PopupMenu = 16974275; // 0x10301c3
+    field public static final int TextAppearance_DeviceDefault_Widget_PopupMenu_Large = 16974276; // 0x10301c4
+    field public static final int TextAppearance_DeviceDefault_Widget_PopupMenu_Small = 16974277; // 0x10301c5
+    field public static final int TextAppearance_DeviceDefault_Widget_TabWidget = 16974268; // 0x10301bc
+    field public static final int TextAppearance_DeviceDefault_Widget_TextView = 16974269; // 0x10301bd
+    field public static final int TextAppearance_DeviceDefault_Widget_TextView_PopupMenu = 16974270; // 0x10301be
+    field public static final int TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem = 16974273; // 0x10301c1
+    field public static final int TextAppearance_DeviceDefault_WindowTitle = 16974263; // 0x10301b7
+    field public static final int TextAppearance_DialogWindowTitle = 16973889; // 0x1030041
+    field public static final int TextAppearance_Holo = 16974075; // 0x10300fb
+    field public static final int TextAppearance_Holo_DialogWindowTitle = 16974103; // 0x1030117
+    field public static final int TextAppearance_Holo_Inverse = 16974076; // 0x10300fc
+    field public static final int TextAppearance_Holo_Large = 16974077; // 0x10300fd
+    field public static final int TextAppearance_Holo_Large_Inverse = 16974078; // 0x10300fe
+    field public static final int TextAppearance_Holo_Medium = 16974079; // 0x10300ff
+    field public static final int TextAppearance_Holo_Medium_Inverse = 16974080; // 0x1030100
+    field public static final int TextAppearance_Holo_SearchResult_Subtitle = 16974084; // 0x1030104
+    field public static final int TextAppearance_Holo_SearchResult_Title = 16974083; // 0x1030103
+    field public static final int TextAppearance_Holo_Small = 16974081; // 0x1030101
+    field public static final int TextAppearance_Holo_Small_Inverse = 16974082; // 0x1030102
+    field public static final int TextAppearance_Holo_Widget = 16974085; // 0x1030105
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Menu = 16974112; // 0x1030120
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle = 16974099; // 0x1030113
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse = 16974109; // 0x103011d
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Title = 16974098; // 0x1030112
+    field public static final int TextAppearance_Holo_Widget_ActionBar_Title_Inverse = 16974108; // 0x103011c
+    field public static final int TextAppearance_Holo_Widget_ActionMode_Subtitle = 16974101; // 0x1030115
+    field public static final int TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse = 16974111; // 0x103011f
+    field public static final int TextAppearance_Holo_Widget_ActionMode_Title = 16974100; // 0x1030114
+    field public static final int TextAppearance_Holo_Widget_ActionMode_Title_Inverse = 16974110; // 0x103011e
+    field public static final int TextAppearance_Holo_Widget_Button = 16974086; // 0x1030106
+    field public static final int TextAppearance_Holo_Widget_DropDownHint = 16974091; // 0x103010b
+    field public static final int TextAppearance_Holo_Widget_DropDownItem = 16974092; // 0x103010c
+    field public static final int TextAppearance_Holo_Widget_EditText = 16974094; // 0x103010e
+    field public static final int TextAppearance_Holo_Widget_IconMenu_Item = 16974087; // 0x1030107
+    field public static final int TextAppearance_Holo_Widget_PopupMenu = 16974095; // 0x103010f
+    field public static final int TextAppearance_Holo_Widget_PopupMenu_Large = 16974096; // 0x1030110
+    field public static final int TextAppearance_Holo_Widget_PopupMenu_Small = 16974097; // 0x1030111
+    field public static final int TextAppearance_Holo_Widget_TabWidget = 16974088; // 0x1030108
+    field public static final int TextAppearance_Holo_Widget_TextView = 16974089; // 0x1030109
+    field public static final int TextAppearance_Holo_Widget_TextView_PopupMenu = 16974090; // 0x103010a
+    field public static final int TextAppearance_Holo_Widget_TextView_SpinnerItem = 16974093; // 0x103010d
+    field public static final int TextAppearance_Holo_WindowTitle = 16974102; // 0x1030116
+    field public static final int TextAppearance_Inverse = 16973887; // 0x103003f
+    field public static final int TextAppearance_Large = 16973890; // 0x1030042
+    field public static final int TextAppearance_Large_Inverse = 16973891; // 0x1030043
+    field public static final int TextAppearance_Material = 16974317; // 0x10301ed
+    field public static final int TextAppearance_Material_Body1 = 16974320; // 0x10301f0
+    field public static final int TextAppearance_Material_Body2 = 16974319; // 0x10301ef
+    field public static final int TextAppearance_Material_Button = 16974318; // 0x10301ee
+    field public static final int TextAppearance_Material_Caption = 16974321; // 0x10301f1
+    field public static final int TextAppearance_Material_DialogWindowTitle = 16974322; // 0x10301f2
+    field public static final int TextAppearance_Material_Display1 = 16974326; // 0x10301f6
+    field public static final int TextAppearance_Material_Display2 = 16974325; // 0x10301f5
+    field public static final int TextAppearance_Material_Display3 = 16974324; // 0x10301f4
+    field public static final int TextAppearance_Material_Display4 = 16974323; // 0x10301f3
+    field public static final int TextAppearance_Material_Headline = 16974327; // 0x10301f7
+    field public static final int TextAppearance_Material_Inverse = 16974328; // 0x10301f8
+    field public static final int TextAppearance_Material_Large = 16974329; // 0x10301f9
+    field public static final int TextAppearance_Material_Large_Inverse = 16974330; // 0x10301fa
+    field public static final int TextAppearance_Material_Medium = 16974331; // 0x10301fb
+    field public static final int TextAppearance_Material_Medium_Inverse = 16974332; // 0x10301fc
+    field public static final int TextAppearance_Material_Menu = 16974333; // 0x10301fd
+    field public static final int TextAppearance_Material_Notification = 16974334; // 0x10301fe
+    field public static final int TextAppearance_Material_Notification_Emphasis = 16974335; // 0x10301ff
+    field public static final int TextAppearance_Material_Notification_Info = 16974336; // 0x1030200
+    field public static final int TextAppearance_Material_Notification_Line2 = 16974337; // 0x1030201
+    field public static final int TextAppearance_Material_Notification_Time = 16974338; // 0x1030202
+    field public static final int TextAppearance_Material_Notification_Title = 16974339; // 0x1030203
+    field public static final int TextAppearance_Material_SearchResult_Subtitle = 16974340; // 0x1030204
+    field public static final int TextAppearance_Material_SearchResult_Title = 16974341; // 0x1030205
+    field public static final int TextAppearance_Material_Small = 16974342; // 0x1030206
+    field public static final int TextAppearance_Material_Small_Inverse = 16974343; // 0x1030207
+    field public static final int TextAppearance_Material_Subhead = 16974344; // 0x1030208
+    field public static final int TextAppearance_Material_Title = 16974345; // 0x1030209
+    field public static final int TextAppearance_Material_Widget = 16974347; // 0x103020b
+    field public static final int TextAppearance_Material_Widget_ActionBar_Menu = 16974348; // 0x103020c
+    field public static final int TextAppearance_Material_Widget_ActionBar_Subtitle = 16974349; // 0x103020d
+    field public static final int TextAppearance_Material_Widget_ActionBar_Subtitle_Inverse = 16974350; // 0x103020e
+    field public static final int TextAppearance_Material_Widget_ActionBar_Title = 16974351; // 0x103020f
+    field public static final int TextAppearance_Material_Widget_ActionBar_Title_Inverse = 16974352; // 0x1030210
+    field public static final int TextAppearance_Material_Widget_ActionMode_Subtitle = 16974353; // 0x1030211
+    field public static final int TextAppearance_Material_Widget_ActionMode_Subtitle_Inverse = 16974354; // 0x1030212
+    field public static final int TextAppearance_Material_Widget_ActionMode_Title = 16974355; // 0x1030213
+    field public static final int TextAppearance_Material_Widget_ActionMode_Title_Inverse = 16974356; // 0x1030214
+    field public static final int TextAppearance_Material_Widget_Button = 16974357; // 0x1030215
+    field public static final int TextAppearance_Material_Widget_Button_Borderless_Colored = 16974559; // 0x10302df
+    field public static final int TextAppearance_Material_Widget_Button_Colored = 16974558; // 0x10302de
+    field public static final int TextAppearance_Material_Widget_Button_Inverse = 16974548; // 0x10302d4
+    field public static final int TextAppearance_Material_Widget_DropDownHint = 16974358; // 0x1030216
+    field public static final int TextAppearance_Material_Widget_DropDownItem = 16974359; // 0x1030217
+    field public static final int TextAppearance_Material_Widget_EditText = 16974360; // 0x1030218
+    field public static final int TextAppearance_Material_Widget_IconMenu_Item = 16974361; // 0x1030219
+    field public static final int TextAppearance_Material_Widget_PopupMenu = 16974362; // 0x103021a
+    field public static final int TextAppearance_Material_Widget_PopupMenu_Large = 16974363; // 0x103021b
+    field public static final int TextAppearance_Material_Widget_PopupMenu_Small = 16974364; // 0x103021c
+    field public static final int TextAppearance_Material_Widget_TabWidget = 16974365; // 0x103021d
+    field public static final int TextAppearance_Material_Widget_TextView = 16974366; // 0x103021e
+    field public static final int TextAppearance_Material_Widget_TextView_PopupMenu = 16974367; // 0x103021f
+    field public static final int TextAppearance_Material_Widget_TextView_SpinnerItem = 16974368; // 0x1030220
+    field public static final int TextAppearance_Material_Widget_Toolbar_Subtitle = 16974369; // 0x1030221
+    field public static final int TextAppearance_Material_Widget_Toolbar_Title = 16974370; // 0x1030222
+    field public static final int TextAppearance_Material_WindowTitle = 16974346; // 0x103020a
+    field public static final int TextAppearance_Medium = 16973892; // 0x1030044
+    field public static final int TextAppearance_Medium_Inverse = 16973893; // 0x1030045
+    field public static final int TextAppearance_Small = 16973894; // 0x1030046
+    field public static final int TextAppearance_Small_Inverse = 16973895; // 0x1030047
+    field public static final int TextAppearance_StatusBar_EventContent = 16973927; // 0x1030067
+    field public static final int TextAppearance_StatusBar_EventContent_Title = 16973928; // 0x1030068
+    field public static final int TextAppearance_StatusBar_Icon = 16973926; // 0x1030066
+    field public static final int TextAppearance_StatusBar_Title = 16973925; // 0x1030065
+    field public static final int TextAppearance_SuggestionHighlight = 16974104; // 0x1030118
+    field public static final int TextAppearance_Theme = 16973888; // 0x1030040
+    field public static final int TextAppearance_Theme_Dialog = 16973896; // 0x1030048
+    field public static final int TextAppearance_Widget = 16973897; // 0x1030049
+    field public static final int TextAppearance_Widget_Button = 16973898; // 0x103004a
+    field public static final int TextAppearance_Widget_DropDownHint = 16973904; // 0x1030050
+    field public static final int TextAppearance_Widget_DropDownItem = 16973905; // 0x1030051
+    field public static final int TextAppearance_Widget_EditText = 16973900; // 0x103004c
+    field public static final int TextAppearance_Widget_IconMenu_Item = 16973899; // 0x103004b
+    field public static final int TextAppearance_Widget_PopupMenu_Large = 16973952; // 0x1030080
+    field public static final int TextAppearance_Widget_PopupMenu_Small = 16973953; // 0x1030081
+    field public static final int TextAppearance_Widget_TabWidget = 16973901; // 0x103004d
+    field public static final int TextAppearance_Widget_TextView = 16973902; // 0x103004e
+    field public static final int TextAppearance_Widget_TextView_PopupMenu = 16973903; // 0x103004f
+    field public static final int TextAppearance_Widget_TextView_SpinnerItem = 16973906; // 0x1030052
+    field public static final int TextAppearance_WindowTitle = 16973907; // 0x1030053
+    field public static final int Theme = 16973829; // 0x1030005
+    field public static final int ThemeOverlay = 16974407; // 0x1030247
+    field public static final int ThemeOverlay_DeviceDefault_Accent_DayNight = 16974564; // 0x10302e4
+    field public static final int ThemeOverlay_Material = 16974408; // 0x1030248
+    field public static final int ThemeOverlay_Material_ActionBar = 16974409; // 0x1030249
+    field public static final int ThemeOverlay_Material_Dark = 16974411; // 0x103024b
+    field public static final int ThemeOverlay_Material_Dark_ActionBar = 16974412; // 0x103024c
+    field public static final int ThemeOverlay_Material_Dialog = 16974550; // 0x10302d6
+    field public static final int ThemeOverlay_Material_Dialog_Alert = 16974551; // 0x10302d7
+    field public static final int ThemeOverlay_Material_Light = 16974410; // 0x103024a
+    field public static final int Theme_Black = 16973832; // 0x1030008
+    field public static final int Theme_Black_NoTitleBar = 16973833; // 0x1030009
+    field public static final int Theme_Black_NoTitleBar_Fullscreen = 16973834; // 0x103000a
+    field public static final int Theme_DeviceDefault = 16974120; // 0x1030128
+    field public static final int Theme_DeviceDefault_DayNight = 16974563; // 0x10302e3
+    field public static final int Theme_DeviceDefault_Dialog = 16974126; // 0x103012e
+    field public static final int Theme_DeviceDefault_DialogWhenLarge = 16974134; // 0x1030136
+    field public static final int Theme_DeviceDefault_DialogWhenLarge_NoActionBar = 16974135; // 0x1030137
+    field public static final int Theme_DeviceDefault_Dialog_Alert = 16974545; // 0x10302d1
+    field public static final int Theme_DeviceDefault_Dialog_MinWidth = 16974127; // 0x103012f
+    field public static final int Theme_DeviceDefault_Dialog_NoActionBar = 16974128; // 0x1030130
+    field public static final int Theme_DeviceDefault_Dialog_NoActionBar_MinWidth = 16974129; // 0x1030131
+    field public static final int Theme_DeviceDefault_InputMethod = 16974142; // 0x103013e
+    field public static final int Theme_DeviceDefault_Light = 16974123; // 0x103012b
+    field public static final int Theme_DeviceDefault_Light_DarkActionBar = 16974143; // 0x103013f
+    field public static final int Theme_DeviceDefault_Light_Dialog = 16974130; // 0x1030132
+    field public static final int Theme_DeviceDefault_Light_DialogWhenLarge = 16974136; // 0x1030138
+    field public static final int Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar = 16974137; // 0x1030139
+    field public static final int Theme_DeviceDefault_Light_Dialog_Alert = 16974546; // 0x10302d2
+    field public static final int Theme_DeviceDefault_Light_Dialog_MinWidth = 16974131; // 0x1030133
+    field public static final int Theme_DeviceDefault_Light_Dialog_NoActionBar = 16974132; // 0x1030134
+    field public static final int Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth = 16974133; // 0x1030135
+    field public static final int Theme_DeviceDefault_Light_NoActionBar = 16974124; // 0x103012c
+    field public static final int Theme_DeviceDefault_Light_NoActionBar_Fullscreen = 16974125; // 0x103012d
+    field public static final int Theme_DeviceDefault_Light_NoActionBar_Overscan = 16974304; // 0x10301e0
+    field public static final int Theme_DeviceDefault_Light_NoActionBar_TranslucentDecor = 16974308; // 0x10301e4
+    field public static final int Theme_DeviceDefault_Light_Panel = 16974139; // 0x103013b
+    field public static final int Theme_DeviceDefault_NoActionBar = 16974121; // 0x1030129
+    field public static final int Theme_DeviceDefault_NoActionBar_Fullscreen = 16974122; // 0x103012a
+    field public static final int Theme_DeviceDefault_NoActionBar_Overscan = 16974303; // 0x10301df
+    field public static final int Theme_DeviceDefault_NoActionBar_TranslucentDecor = 16974307; // 0x10301e3
+    field public static final int Theme_DeviceDefault_Panel = 16974138; // 0x103013a
+    field public static final int Theme_DeviceDefault_Settings = 16974371; // 0x1030223
+    field public static final int Theme_DeviceDefault_Wallpaper = 16974140; // 0x103013c
+    field public static final int Theme_DeviceDefault_Wallpaper_NoTitleBar = 16974141; // 0x103013d
+    field public static final int Theme_Dialog = 16973835; // 0x103000b
+    field @Deprecated public static final int Theme_Holo = 16973931; // 0x103006b
+    field @Deprecated public static final int Theme_Holo_Dialog = 16973935; // 0x103006f
+    field @Deprecated public static final int Theme_Holo_DialogWhenLarge = 16973943; // 0x1030077
+    field @Deprecated public static final int Theme_Holo_DialogWhenLarge_NoActionBar = 16973944; // 0x1030078
+    field @Deprecated public static final int Theme_Holo_Dialog_MinWidth = 16973936; // 0x1030070
+    field @Deprecated public static final int Theme_Holo_Dialog_NoActionBar = 16973937; // 0x1030071
+    field @Deprecated public static final int Theme_Holo_Dialog_NoActionBar_MinWidth = 16973938; // 0x1030072
+    field @Deprecated public static final int Theme_Holo_InputMethod = 16973951; // 0x103007f
+    field @Deprecated public static final int Theme_Holo_Light = 16973934; // 0x103006e
+    field @Deprecated public static final int Theme_Holo_Light_DarkActionBar = 16974105; // 0x1030119
+    field @Deprecated public static final int Theme_Holo_Light_Dialog = 16973939; // 0x1030073
+    field @Deprecated public static final int Theme_Holo_Light_DialogWhenLarge = 16973945; // 0x1030079
+    field @Deprecated public static final int Theme_Holo_Light_DialogWhenLarge_NoActionBar = 16973946; // 0x103007a
+    field @Deprecated public static final int Theme_Holo_Light_Dialog_MinWidth = 16973940; // 0x1030074
+    field @Deprecated public static final int Theme_Holo_Light_Dialog_NoActionBar = 16973941; // 0x1030075
+    field @Deprecated public static final int Theme_Holo_Light_Dialog_NoActionBar_MinWidth = 16973942; // 0x1030076
+    field @Deprecated public static final int Theme_Holo_Light_NoActionBar = 16974064; // 0x10300f0
+    field @Deprecated public static final int Theme_Holo_Light_NoActionBar_Fullscreen = 16974065; // 0x10300f1
+    field @Deprecated public static final int Theme_Holo_Light_NoActionBar_Overscan = 16974302; // 0x10301de
+    field @Deprecated public static final int Theme_Holo_Light_NoActionBar_TranslucentDecor = 16974306; // 0x10301e2
+    field @Deprecated public static final int Theme_Holo_Light_Panel = 16973948; // 0x103007c
+    field @Deprecated public static final int Theme_Holo_NoActionBar = 16973932; // 0x103006c
+    field @Deprecated public static final int Theme_Holo_NoActionBar_Fullscreen = 16973933; // 0x103006d
+    field @Deprecated public static final int Theme_Holo_NoActionBar_Overscan = 16974301; // 0x10301dd
+    field @Deprecated public static final int Theme_Holo_NoActionBar_TranslucentDecor = 16974305; // 0x10301e1
+    field @Deprecated public static final int Theme_Holo_Panel = 16973947; // 0x103007b
+    field @Deprecated public static final int Theme_Holo_Wallpaper = 16973949; // 0x103007d
+    field @Deprecated public static final int Theme_Holo_Wallpaper_NoTitleBar = 16973950; // 0x103007e
+    field public static final int Theme_InputMethod = 16973908; // 0x1030054
+    field public static final int Theme_Light = 16973836; // 0x103000c
+    field public static final int Theme_Light_NoTitleBar = 16973837; // 0x103000d
+    field public static final int Theme_Light_NoTitleBar_Fullscreen = 16973838; // 0x103000e
+    field public static final int Theme_Light_Panel = 16973914; // 0x103005a
+    field public static final int Theme_Light_WallpaperSettings = 16973922; // 0x1030062
+    field public static final int Theme_Material = 16974372; // 0x1030224
+    field public static final int Theme_Material_Dialog = 16974373; // 0x1030225
+    field public static final int Theme_Material_DialogWhenLarge = 16974379; // 0x103022b
+    field public static final int Theme_Material_DialogWhenLarge_NoActionBar = 16974380; // 0x103022c
+    field public static final int Theme_Material_Dialog_Alert = 16974374; // 0x1030226
+    field public static final int Theme_Material_Dialog_MinWidth = 16974375; // 0x1030227
+    field public static final int Theme_Material_Dialog_NoActionBar = 16974376; // 0x1030228
+    field public static final int Theme_Material_Dialog_NoActionBar_MinWidth = 16974377; // 0x1030229
+    field public static final int Theme_Material_Dialog_Presentation = 16974378; // 0x103022a
+    field public static final int Theme_Material_InputMethod = 16974381; // 0x103022d
+    field public static final int Theme_Material_Light = 16974391; // 0x1030237
+    field public static final int Theme_Material_Light_DarkActionBar = 16974392; // 0x1030238
+    field public static final int Theme_Material_Light_Dialog = 16974393; // 0x1030239
+    field public static final int Theme_Material_Light_DialogWhenLarge = 16974399; // 0x103023f
+    field public static final int Theme_Material_Light_DialogWhenLarge_DarkActionBar = 16974552; // 0x10302d8
+    field public static final int Theme_Material_Light_DialogWhenLarge_NoActionBar = 16974400; // 0x1030240
+    field public static final int Theme_Material_Light_Dialog_Alert = 16974394; // 0x103023a
+    field public static final int Theme_Material_Light_Dialog_MinWidth = 16974395; // 0x103023b
+    field public static final int Theme_Material_Light_Dialog_NoActionBar = 16974396; // 0x103023c
+    field public static final int Theme_Material_Light_Dialog_NoActionBar_MinWidth = 16974397; // 0x103023d
+    field public static final int Theme_Material_Light_Dialog_Presentation = 16974398; // 0x103023e
+    field public static final int Theme_Material_Light_LightStatusBar = 16974549; // 0x10302d5
+    field public static final int Theme_Material_Light_NoActionBar = 16974401; // 0x1030241
+    field public static final int Theme_Material_Light_NoActionBar_Fullscreen = 16974402; // 0x1030242
+    field @Deprecated public static final int Theme_Material_Light_NoActionBar_Overscan = 16974403; // 0x1030243
+    field public static final int Theme_Material_Light_NoActionBar_TranslucentDecor = 16974404; // 0x1030244
+    field public static final int Theme_Material_Light_Panel = 16974405; // 0x1030245
+    field public static final int Theme_Material_Light_Voice = 16974406; // 0x1030246
+    field public static final int Theme_Material_NoActionBar = 16974382; // 0x103022e
+    field public static final int Theme_Material_NoActionBar_Fullscreen = 16974383; // 0x103022f
+    field @Deprecated public static final int Theme_Material_NoActionBar_Overscan = 16974384; // 0x1030230
+    field public static final int Theme_Material_NoActionBar_TranslucentDecor = 16974385; // 0x1030231
+    field public static final int Theme_Material_Panel = 16974386; // 0x1030232
+    field public static final int Theme_Material_Settings = 16974387; // 0x1030233
+    field public static final int Theme_Material_Voice = 16974388; // 0x1030234
+    field public static final int Theme_Material_Wallpaper = 16974389; // 0x1030235
+    field public static final int Theme_Material_Wallpaper_NoTitleBar = 16974390; // 0x1030236
+    field public static final int Theme_NoDisplay = 16973909; // 0x1030055
+    field public static final int Theme_NoTitleBar = 16973830; // 0x1030006
+    field public static final int Theme_NoTitleBar_Fullscreen = 16973831; // 0x1030007
+    field public static final int Theme_NoTitleBar_OverlayActionModes = 16973930; // 0x103006a
+    field public static final int Theme_Panel = 16973913; // 0x1030059
+    field public static final int Theme_Translucent = 16973839; // 0x103000f
+    field public static final int Theme_Translucent_NoTitleBar = 16973840; // 0x1030010
+    field public static final int Theme_Translucent_NoTitleBar_Fullscreen = 16973841; // 0x1030011
+    field public static final int Theme_Wallpaper = 16973918; // 0x103005e
+    field public static final int Theme_WallpaperSettings = 16973921; // 0x1030061
+    field public static final int Theme_Wallpaper_NoTitleBar = 16973919; // 0x103005f
+    field public static final int Theme_Wallpaper_NoTitleBar_Fullscreen = 16973920; // 0x1030060
+    field public static final int Theme_WithActionBar = 16973929; // 0x1030069
+    field public static final int Widget = 16973842; // 0x1030012
+    field public static final int Widget_AbsListView = 16973843; // 0x1030013
+    field public static final int Widget_ActionBar = 16973954; // 0x1030082
+    field public static final int Widget_ActionBar_TabBar = 16974068; // 0x10300f4
+    field public static final int Widget_ActionBar_TabText = 16974067; // 0x10300f3
+    field public static final int Widget_ActionBar_TabView = 16974066; // 0x10300f2
+    field public static final int Widget_ActionButton = 16973956; // 0x1030084
+    field public static final int Widget_ActionButton_CloseMode = 16973960; // 0x1030088
+    field public static final int Widget_ActionButton_Overflow = 16973959; // 0x1030087
+    field public static final int Widget_AutoCompleteTextView = 16973863; // 0x1030027
+    field public static final int Widget_Button = 16973844; // 0x1030014
+    field public static final int Widget_Button_Inset = 16973845; // 0x1030015
+    field public static final int Widget_Button_Small = 16973846; // 0x1030016
+    field public static final int Widget_Button_Toggle = 16973847; // 0x1030017
+    field public static final int Widget_CalendarView = 16974059; // 0x10300eb
+    field public static final int Widget_CompoundButton = 16973848; // 0x1030018
+    field public static final int Widget_CompoundButton_CheckBox = 16973849; // 0x1030019
+    field public static final int Widget_CompoundButton_RadioButton = 16973850; // 0x103001a
+    field public static final int Widget_CompoundButton_Star = 16973851; // 0x103001b
+    field public static final int Widget_DatePicker = 16974062; // 0x10300ee
+    field public static final int Widget_DeviceDefault = 16974144; // 0x1030140
+    field public static final int Widget_DeviceDefault_ActionBar = 16974187; // 0x103016b
+    field public static final int Widget_DeviceDefault_ActionBar_Solid = 16974195; // 0x1030173
+    field public static final int Widget_DeviceDefault_ActionBar_TabBar = 16974194; // 0x1030172
+    field public static final int Widget_DeviceDefault_ActionBar_TabText = 16974193; // 0x1030171
+    field public static final int Widget_DeviceDefault_ActionBar_TabView = 16974192; // 0x1030170
+    field public static final int Widget_DeviceDefault_ActionButton = 16974182; // 0x1030166
+    field public static final int Widget_DeviceDefault_ActionButton_CloseMode = 16974186; // 0x103016a
+    field public static final int Widget_DeviceDefault_ActionButton_Overflow = 16974183; // 0x1030167
+    field public static final int Widget_DeviceDefault_ActionButton_TextButton = 16974184; // 0x1030168
+    field public static final int Widget_DeviceDefault_ActionMode = 16974185; // 0x1030169
+    field public static final int Widget_DeviceDefault_AutoCompleteTextView = 16974151; // 0x1030147
+    field public static final int Widget_DeviceDefault_Button = 16974145; // 0x1030141
+    field public static final int Widget_DeviceDefault_Button_Borderless = 16974188; // 0x103016c
+    field public static final int Widget_DeviceDefault_Button_Borderless_Colored = 16974561; // 0x10302e1
+    field public static final int Widget_DeviceDefault_Button_Borderless_Small = 16974149; // 0x1030145
+    field public static final int Widget_DeviceDefault_Button_Colored = 16974560; // 0x10302e0
+    field public static final int Widget_DeviceDefault_Button_Inset = 16974147; // 0x1030143
+    field public static final int Widget_DeviceDefault_Button_Small = 16974146; // 0x1030142
+    field public static final int Widget_DeviceDefault_Button_Toggle = 16974148; // 0x1030144
+    field public static final int Widget_DeviceDefault_CalendarView = 16974190; // 0x103016e
+    field public static final int Widget_DeviceDefault_CheckedTextView = 16974299; // 0x10301db
+    field public static final int Widget_DeviceDefault_CompoundButton_CheckBox = 16974152; // 0x1030148
+    field public static final int Widget_DeviceDefault_CompoundButton_RadioButton = 16974169; // 0x1030159
+    field public static final int Widget_DeviceDefault_CompoundButton_Star = 16974173; // 0x103015d
+    field public static final int Widget_DeviceDefault_DatePicker = 16974191; // 0x103016f
+    field public static final int Widget_DeviceDefault_DropDownItem = 16974177; // 0x1030161
+    field public static final int Widget_DeviceDefault_DropDownItem_Spinner = 16974178; // 0x1030162
+    field public static final int Widget_DeviceDefault_EditText = 16974154; // 0x103014a
+    field public static final int Widget_DeviceDefault_ExpandableListView = 16974155; // 0x103014b
+    field public static final int Widget_DeviceDefault_FastScroll = 16974313; // 0x10301e9
+    field public static final int Widget_DeviceDefault_GridView = 16974156; // 0x103014c
+    field public static final int Widget_DeviceDefault_HorizontalScrollView = 16974171; // 0x103015b
+    field public static final int Widget_DeviceDefault_ImageButton = 16974157; // 0x103014d
+    field public static final int Widget_DeviceDefault_Light = 16974196; // 0x1030174
+    field public static final int Widget_DeviceDefault_Light_ActionBar = 16974243; // 0x10301a3
+    field public static final int Widget_DeviceDefault_Light_ActionBar_Solid = 16974247; // 0x10301a7
+    field @Deprecated public static final int Widget_DeviceDefault_Light_ActionBar_Solid_Inverse = 16974248; // 0x10301a8
+    field public static final int Widget_DeviceDefault_Light_ActionBar_TabBar = 16974246; // 0x10301a6
+    field @Deprecated public static final int Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse = 16974249; // 0x10301a9
+    field public static final int Widget_DeviceDefault_Light_ActionBar_TabText = 16974245; // 0x10301a5
+    field @Deprecated public static final int Widget_DeviceDefault_Light_ActionBar_TabText_Inverse = 16974251; // 0x10301ab
+    field public static final int Widget_DeviceDefault_Light_ActionBar_TabView = 16974244; // 0x10301a4
+    field @Deprecated public static final int Widget_DeviceDefault_Light_ActionBar_TabView_Inverse = 16974250; // 0x10301aa
+    field public static final int Widget_DeviceDefault_Light_ActionButton = 16974239; // 0x103019f
+    field public static final int Widget_DeviceDefault_Light_ActionButton_CloseMode = 16974242; // 0x10301a2
+    field public static final int Widget_DeviceDefault_Light_ActionButton_Overflow = 16974240; // 0x10301a0
+    field public static final int Widget_DeviceDefault_Light_ActionMode = 16974241; // 0x10301a1
+    field @Deprecated public static final int Widget_DeviceDefault_Light_ActionMode_Inverse = 16974252; // 0x10301ac
+    field public static final int Widget_DeviceDefault_Light_AutoCompleteTextView = 16974203; // 0x103017b
+    field public static final int Widget_DeviceDefault_Light_Button = 16974197; // 0x1030175
+    field public static final int Widget_DeviceDefault_Light_Button_Borderless_Small = 16974201; // 0x1030179
+    field public static final int Widget_DeviceDefault_Light_Button_Inset = 16974199; // 0x1030177
+    field public static final int Widget_DeviceDefault_Light_Button_Small = 16974198; // 0x1030176
+    field public static final int Widget_DeviceDefault_Light_Button_Toggle = 16974200; // 0x1030178
+    field public static final int Widget_DeviceDefault_Light_CalendarView = 16974238; // 0x103019e
+    field public static final int Widget_DeviceDefault_Light_CheckedTextView = 16974300; // 0x10301dc
+    field public static final int Widget_DeviceDefault_Light_CompoundButton_CheckBox = 16974204; // 0x103017c
+    field public static final int Widget_DeviceDefault_Light_CompoundButton_RadioButton = 16974224; // 0x1030190
+    field public static final int Widget_DeviceDefault_Light_CompoundButton_Star = 16974228; // 0x1030194
+    field public static final int Widget_DeviceDefault_Light_DropDownItem = 16974232; // 0x1030198
+    field public static final int Widget_DeviceDefault_Light_DropDownItem_Spinner = 16974233; // 0x1030199
+    field public static final int Widget_DeviceDefault_Light_EditText = 16974206; // 0x103017e
+    field public static final int Widget_DeviceDefault_Light_ExpandableListView = 16974207; // 0x103017f
+    field public static final int Widget_DeviceDefault_Light_FastScroll = 16974315; // 0x10301eb
+    field public static final int Widget_DeviceDefault_Light_GridView = 16974208; // 0x1030180
+    field public static final int Widget_DeviceDefault_Light_HorizontalScrollView = 16974226; // 0x1030192
+    field public static final int Widget_DeviceDefault_Light_ImageButton = 16974209; // 0x1030181
+    field public static final int Widget_DeviceDefault_Light_ListPopupWindow = 16974235; // 0x103019b
+    field public static final int Widget_DeviceDefault_Light_ListView = 16974210; // 0x1030182
+    field public static final int Widget_DeviceDefault_Light_ListView_DropDown = 16974205; // 0x103017d
+    field public static final int Widget_DeviceDefault_Light_MediaRouteButton = 16974296; // 0x10301d8
+    field public static final int Widget_DeviceDefault_Light_PopupMenu = 16974236; // 0x103019c
+    field public static final int Widget_DeviceDefault_Light_PopupWindow = 16974211; // 0x1030183
+    field public static final int Widget_DeviceDefault_Light_ProgressBar = 16974212; // 0x1030184
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Horizontal = 16974213; // 0x1030185
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Inverse = 16974217; // 0x1030189
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Large = 16974216; // 0x1030188
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Large_Inverse = 16974219; // 0x103018b
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Small = 16974214; // 0x1030186
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Small_Inverse = 16974218; // 0x103018a
+    field public static final int Widget_DeviceDefault_Light_ProgressBar_Small_Title = 16974215; // 0x1030187
+    field public static final int Widget_DeviceDefault_Light_RatingBar = 16974221; // 0x103018d
+    field public static final int Widget_DeviceDefault_Light_RatingBar_Indicator = 16974222; // 0x103018e
+    field public static final int Widget_DeviceDefault_Light_RatingBar_Small = 16974223; // 0x103018f
+    field public static final int Widget_DeviceDefault_Light_ScrollView = 16974225; // 0x1030191
+    field public static final int Widget_DeviceDefault_Light_SeekBar = 16974220; // 0x103018c
+    field public static final int Widget_DeviceDefault_Light_Spinner = 16974227; // 0x1030193
+    field public static final int Widget_DeviceDefault_Light_StackView = 16974316; // 0x10301ec
+    field public static final int Widget_DeviceDefault_Light_Tab = 16974237; // 0x103019d
+    field public static final int Widget_DeviceDefault_Light_TabWidget = 16974229; // 0x1030195
+    field public static final int Widget_DeviceDefault_Light_TextView = 16974202; // 0x103017a
+    field public static final int Widget_DeviceDefault_Light_TextView_SpinnerItem = 16974234; // 0x103019a
+    field public static final int Widget_DeviceDefault_Light_WebTextView = 16974230; // 0x1030196
+    field public static final int Widget_DeviceDefault_Light_WebView = 16974231; // 0x1030197
+    field public static final int Widget_DeviceDefault_ListPopupWindow = 16974180; // 0x1030164
+    field public static final int Widget_DeviceDefault_ListView = 16974158; // 0x103014e
+    field public static final int Widget_DeviceDefault_ListView_DropDown = 16974153; // 0x1030149
+    field public static final int Widget_DeviceDefault_MediaRouteButton = 16974295; // 0x10301d7
+    field public static final int Widget_DeviceDefault_PopupMenu = 16974181; // 0x1030165
+    field public static final int Widget_DeviceDefault_PopupWindow = 16974159; // 0x103014f
+    field public static final int Widget_DeviceDefault_ProgressBar = 16974160; // 0x1030150
+    field public static final int Widget_DeviceDefault_ProgressBar_Horizontal = 16974161; // 0x1030151
+    field public static final int Widget_DeviceDefault_ProgressBar_Large = 16974164; // 0x1030154
+    field public static final int Widget_DeviceDefault_ProgressBar_Small = 16974162; // 0x1030152
+    field public static final int Widget_DeviceDefault_ProgressBar_Small_Title = 16974163; // 0x1030153
+    field public static final int Widget_DeviceDefault_RatingBar = 16974166; // 0x1030156
+    field public static final int Widget_DeviceDefault_RatingBar_Indicator = 16974167; // 0x1030157
+    field public static final int Widget_DeviceDefault_RatingBar_Small = 16974168; // 0x1030158
+    field public static final int Widget_DeviceDefault_ScrollView = 16974170; // 0x103015a
+    field public static final int Widget_DeviceDefault_SeekBar = 16974165; // 0x1030155
+    field public static final int Widget_DeviceDefault_Spinner = 16974172; // 0x103015c
+    field public static final int Widget_DeviceDefault_StackView = 16974314; // 0x10301ea
+    field public static final int Widget_DeviceDefault_Tab = 16974189; // 0x103016d
+    field public static final int Widget_DeviceDefault_TabWidget = 16974174; // 0x103015e
+    field public static final int Widget_DeviceDefault_TextView = 16974150; // 0x1030146
+    field public static final int Widget_DeviceDefault_TextView_SpinnerItem = 16974179; // 0x1030163
+    field public static final int Widget_DeviceDefault_WebTextView = 16974175; // 0x103015f
+    field public static final int Widget_DeviceDefault_WebView = 16974176; // 0x1030160
+    field public static final int Widget_DropDownItem = 16973867; // 0x103002b
+    field public static final int Widget_DropDownItem_Spinner = 16973868; // 0x103002c
+    field public static final int Widget_EditText = 16973859; // 0x1030023
+    field public static final int Widget_ExpandableListView = 16973860; // 0x1030024
+    field public static final int Widget_FastScroll = 16974309; // 0x10301e5
+    field public static final int Widget_FragmentBreadCrumbs = 16973961; // 0x1030089
+    field public static final int Widget_Gallery = 16973877; // 0x1030035
+    field public static final int Widget_GridView = 16973874; // 0x1030032
+    field public static final int Widget_Holo = 16973962; // 0x103008a
+    field public static final int Widget_Holo_ActionBar = 16974004; // 0x10300b4
+    field public static final int Widget_Holo_ActionBar_Solid = 16974113; // 0x1030121
+    field public static final int Widget_Holo_ActionBar_TabBar = 16974071; // 0x10300f7
+    field public static final int Widget_Holo_ActionBar_TabText = 16974070; // 0x10300f6
+    field public static final int Widget_Holo_ActionBar_TabView = 16974069; // 0x10300f5
+    field public static final int Widget_Holo_ActionButton = 16973999; // 0x10300af
+    field public static final int Widget_Holo_ActionButton_CloseMode = 16974003; // 0x10300b3
+    field public static final int Widget_Holo_ActionButton_Overflow = 16974000; // 0x10300b0
+    field public static final int Widget_Holo_ActionButton_TextButton = 16974001; // 0x10300b1
+    field public static final int Widget_Holo_ActionMode = 16974002; // 0x10300b2
+    field public static final int Widget_Holo_AutoCompleteTextView = 16973968; // 0x1030090
+    field public static final int Widget_Holo_Button = 16973963; // 0x103008b
+    field public static final int Widget_Holo_Button_Borderless = 16974050; // 0x10300e2
+    field public static final int Widget_Holo_Button_Borderless_Small = 16974106; // 0x103011a
+    field public static final int Widget_Holo_Button_Inset = 16973965; // 0x103008d
+    field public static final int Widget_Holo_Button_Small = 16973964; // 0x103008c
+    field public static final int Widget_Holo_Button_Toggle = 16973966; // 0x103008e
+    field public static final int Widget_Holo_CalendarView = 16974060; // 0x10300ec
+    field public static final int Widget_Holo_CheckedTextView = 16974297; // 0x10301d9
+    field public static final int Widget_Holo_CompoundButton_CheckBox = 16973969; // 0x1030091
+    field public static final int Widget_Holo_CompoundButton_RadioButton = 16973986; // 0x10300a2
+    field public static final int Widget_Holo_CompoundButton_Star = 16973990; // 0x10300a6
+    field public static final int Widget_Holo_DatePicker = 16974063; // 0x10300ef
+    field public static final int Widget_Holo_DropDownItem = 16973994; // 0x10300aa
+    field public static final int Widget_Holo_DropDownItem_Spinner = 16973995; // 0x10300ab
+    field public static final int Widget_Holo_EditText = 16973971; // 0x1030093
+    field public static final int Widget_Holo_ExpandableListView = 16973972; // 0x1030094
+    field public static final int Widget_Holo_GridView = 16973973; // 0x1030095
+    field public static final int Widget_Holo_HorizontalScrollView = 16973988; // 0x10300a4
+    field public static final int Widget_Holo_ImageButton = 16973974; // 0x1030096
+    field public static final int Widget_Holo_Light = 16974005; // 0x10300b5
+    field public static final int Widget_Holo_Light_ActionBar = 16974049; // 0x10300e1
+    field public static final int Widget_Holo_Light_ActionBar_Solid = 16974114; // 0x1030122
+    field public static final int Widget_Holo_Light_ActionBar_Solid_Inverse = 16974115; // 0x1030123
+    field public static final int Widget_Holo_Light_ActionBar_TabBar = 16974074; // 0x10300fa
+    field public static final int Widget_Holo_Light_ActionBar_TabBar_Inverse = 16974116; // 0x1030124
+    field public static final int Widget_Holo_Light_ActionBar_TabText = 16974073; // 0x10300f9
+    field public static final int Widget_Holo_Light_ActionBar_TabText_Inverse = 16974118; // 0x1030126
+    field public static final int Widget_Holo_Light_ActionBar_TabView = 16974072; // 0x10300f8
+    field public static final int Widget_Holo_Light_ActionBar_TabView_Inverse = 16974117; // 0x1030125
+    field public static final int Widget_Holo_Light_ActionButton = 16974045; // 0x10300dd
+    field public static final int Widget_Holo_Light_ActionButton_CloseMode = 16974048; // 0x10300e0
+    field public static final int Widget_Holo_Light_ActionButton_Overflow = 16974046; // 0x10300de
+    field public static final int Widget_Holo_Light_ActionMode = 16974047; // 0x10300df
+    field public static final int Widget_Holo_Light_ActionMode_Inverse = 16974119; // 0x1030127
+    field public static final int Widget_Holo_Light_AutoCompleteTextView = 16974011; // 0x10300bb
+    field public static final int Widget_Holo_Light_Button = 16974006; // 0x10300b6
+    field public static final int Widget_Holo_Light_Button_Borderless_Small = 16974107; // 0x103011b
+    field public static final int Widget_Holo_Light_Button_Inset = 16974008; // 0x10300b8
+    field public static final int Widget_Holo_Light_Button_Small = 16974007; // 0x10300b7
+    field public static final int Widget_Holo_Light_Button_Toggle = 16974009; // 0x10300b9
+    field public static final int Widget_Holo_Light_CalendarView = 16974061; // 0x10300ed
+    field public static final int Widget_Holo_Light_CheckedTextView = 16974298; // 0x10301da
+    field public static final int Widget_Holo_Light_CompoundButton_CheckBox = 16974012; // 0x10300bc
+    field public static final int Widget_Holo_Light_CompoundButton_RadioButton = 16974032; // 0x10300d0
+    field public static final int Widget_Holo_Light_CompoundButton_Star = 16974036; // 0x10300d4
+    field public static final int Widget_Holo_Light_DropDownItem = 16974040; // 0x10300d8
+    field public static final int Widget_Holo_Light_DropDownItem_Spinner = 16974041; // 0x10300d9
+    field public static final int Widget_Holo_Light_EditText = 16974014; // 0x10300be
+    field public static final int Widget_Holo_Light_ExpandableListView = 16974015; // 0x10300bf
+    field public static final int Widget_Holo_Light_GridView = 16974016; // 0x10300c0
+    field public static final int Widget_Holo_Light_HorizontalScrollView = 16974034; // 0x10300d2
+    field public static final int Widget_Holo_Light_ImageButton = 16974017; // 0x10300c1
+    field public static final int Widget_Holo_Light_ListPopupWindow = 16974043; // 0x10300db
+    field public static final int Widget_Holo_Light_ListView = 16974018; // 0x10300c2
+    field public static final int Widget_Holo_Light_ListView_DropDown = 16974013; // 0x10300bd
+    field public static final int Widget_Holo_Light_MediaRouteButton = 16974294; // 0x10301d6
+    field public static final int Widget_Holo_Light_PopupMenu = 16974044; // 0x10300dc
+    field public static final int Widget_Holo_Light_PopupWindow = 16974019; // 0x10300c3
+    field public static final int Widget_Holo_Light_ProgressBar = 16974020; // 0x10300c4
+    field public static final int Widget_Holo_Light_ProgressBar_Horizontal = 16974021; // 0x10300c5
+    field public static final int Widget_Holo_Light_ProgressBar_Inverse = 16974025; // 0x10300c9
+    field public static final int Widget_Holo_Light_ProgressBar_Large = 16974024; // 0x10300c8
+    field public static final int Widget_Holo_Light_ProgressBar_Large_Inverse = 16974027; // 0x10300cb
+    field public static final int Widget_Holo_Light_ProgressBar_Small = 16974022; // 0x10300c6
+    field public static final int Widget_Holo_Light_ProgressBar_Small_Inverse = 16974026; // 0x10300ca
+    field public static final int Widget_Holo_Light_ProgressBar_Small_Title = 16974023; // 0x10300c7
+    field public static final int Widget_Holo_Light_RatingBar = 16974029; // 0x10300cd
+    field public static final int Widget_Holo_Light_RatingBar_Indicator = 16974030; // 0x10300ce
+    field public static final int Widget_Holo_Light_RatingBar_Small = 16974031; // 0x10300cf
+    field public static final int Widget_Holo_Light_ScrollView = 16974033; // 0x10300d1
+    field public static final int Widget_Holo_Light_SeekBar = 16974028; // 0x10300cc
+    field public static final int Widget_Holo_Light_Spinner = 16974035; // 0x10300d3
+    field public static final int Widget_Holo_Light_Tab = 16974052; // 0x10300e4
+    field public static final int Widget_Holo_Light_TabWidget = 16974037; // 0x10300d5
+    field public static final int Widget_Holo_Light_TextView = 16974010; // 0x10300ba
+    field public static final int Widget_Holo_Light_TextView_SpinnerItem = 16974042; // 0x10300da
+    field public static final int Widget_Holo_Light_WebTextView = 16974038; // 0x10300d6
+    field public static final int Widget_Holo_Light_WebView = 16974039; // 0x10300d7
+    field public static final int Widget_Holo_ListPopupWindow = 16973997; // 0x10300ad
+    field public static final int Widget_Holo_ListView = 16973975; // 0x1030097
+    field public static final int Widget_Holo_ListView_DropDown = 16973970; // 0x1030092
+    field public static final int Widget_Holo_MediaRouteButton = 16974293; // 0x10301d5
+    field public static final int Widget_Holo_PopupMenu = 16973998; // 0x10300ae
+    field public static final int Widget_Holo_PopupWindow = 16973976; // 0x1030098
+    field public static final int Widget_Holo_ProgressBar = 16973977; // 0x1030099
+    field public static final int Widget_Holo_ProgressBar_Horizontal = 16973978; // 0x103009a
+    field public static final int Widget_Holo_ProgressBar_Large = 16973981; // 0x103009d
+    field public static final int Widget_Holo_ProgressBar_Small = 16973979; // 0x103009b
+    field public static final int Widget_Holo_ProgressBar_Small_Title = 16973980; // 0x103009c
+    field public static final int Widget_Holo_RatingBar = 16973983; // 0x103009f
+    field public static final int Widget_Holo_RatingBar_Indicator = 16973984; // 0x10300a0
+    field public static final int Widget_Holo_RatingBar_Small = 16973985; // 0x10300a1
+    field public static final int Widget_Holo_ScrollView = 16973987; // 0x10300a3
+    field public static final int Widget_Holo_SeekBar = 16973982; // 0x103009e
+    field public static final int Widget_Holo_Spinner = 16973989; // 0x10300a5
+    field public static final int Widget_Holo_Tab = 16974051; // 0x10300e3
+    field public static final int Widget_Holo_TabWidget = 16973991; // 0x10300a7
+    field public static final int Widget_Holo_TextView = 16973967; // 0x103008f
+    field public static final int Widget_Holo_TextView_SpinnerItem = 16973996; // 0x10300ac
+    field public static final int Widget_Holo_WebTextView = 16973992; // 0x10300a8
+    field public static final int Widget_Holo_WebView = 16973993; // 0x10300a9
+    field public static final int Widget_ImageButton = 16973862; // 0x1030026
+    field public static final int Widget_ImageWell = 16973861; // 0x1030025
+    field @Deprecated public static final int Widget_KeyboardView = 16973911; // 0x1030057
+    field public static final int Widget_ListPopupWindow = 16973957; // 0x1030085
+    field public static final int Widget_ListView = 16973870; // 0x103002e
+    field public static final int Widget_ListView_DropDown = 16973872; // 0x1030030
+    field public static final int Widget_ListView_Menu = 16973873; // 0x1030031
+    field public static final int Widget_ListView_White = 16973871; // 0x103002f
+    field public static final int Widget_Material = 16974413; // 0x103024d
+    field public static final int Widget_Material_ActionBar = 16974414; // 0x103024e
+    field public static final int Widget_Material_ActionBar_Solid = 16974415; // 0x103024f
+    field public static final int Widget_Material_ActionBar_TabBar = 16974416; // 0x1030250
+    field public static final int Widget_Material_ActionBar_TabText = 16974417; // 0x1030251
+    field public static final int Widget_Material_ActionBar_TabView = 16974418; // 0x1030252
+    field public static final int Widget_Material_ActionButton = 16974419; // 0x1030253
+    field public static final int Widget_Material_ActionButton_CloseMode = 16974420; // 0x1030254
+    field public static final int Widget_Material_ActionButton_Overflow = 16974421; // 0x1030255
+    field public static final int Widget_Material_ActionMode = 16974422; // 0x1030256
+    field public static final int Widget_Material_AutoCompleteTextView = 16974423; // 0x1030257
+    field public static final int Widget_Material_Button = 16974424; // 0x1030258
+    field public static final int Widget_Material_ButtonBar = 16974431; // 0x103025f
+    field public static final int Widget_Material_ButtonBar_AlertDialog = 16974432; // 0x1030260
+    field public static final int Widget_Material_Button_Borderless = 16974425; // 0x1030259
+    field public static final int Widget_Material_Button_Borderless_Colored = 16974426; // 0x103025a
+    field public static final int Widget_Material_Button_Borderless_Small = 16974427; // 0x103025b
+    field public static final int Widget_Material_Button_Colored = 16974547; // 0x10302d3
+    field public static final int Widget_Material_Button_Inset = 16974428; // 0x103025c
+    field public static final int Widget_Material_Button_Small = 16974429; // 0x103025d
+    field public static final int Widget_Material_Button_Toggle = 16974430; // 0x103025e
+    field public static final int Widget_Material_CalendarView = 16974433; // 0x1030261
+    field public static final int Widget_Material_CheckedTextView = 16974434; // 0x1030262
+    field public static final int Widget_Material_CompoundButton_CheckBox = 16974435; // 0x1030263
+    field public static final int Widget_Material_CompoundButton_RadioButton = 16974436; // 0x1030264
+    field public static final int Widget_Material_CompoundButton_Star = 16974437; // 0x1030265
+    field public static final int Widget_Material_CompoundButton_Switch = 16974554; // 0x10302da
+    field public static final int Widget_Material_DatePicker = 16974438; // 0x1030266
+    field public static final int Widget_Material_DropDownItem = 16974439; // 0x1030267
+    field public static final int Widget_Material_DropDownItem_Spinner = 16974440; // 0x1030268
+    field public static final int Widget_Material_EditText = 16974441; // 0x1030269
+    field public static final int Widget_Material_ExpandableListView = 16974442; // 0x103026a
+    field public static final int Widget_Material_FastScroll = 16974443; // 0x103026b
+    field public static final int Widget_Material_GridView = 16974444; // 0x103026c
+    field public static final int Widget_Material_HorizontalScrollView = 16974445; // 0x103026d
+    field public static final int Widget_Material_ImageButton = 16974446; // 0x103026e
+    field public static final int Widget_Material_Light = 16974478; // 0x103028e
+    field public static final int Widget_Material_Light_ActionBar = 16974479; // 0x103028f
+    field public static final int Widget_Material_Light_ActionBar_Solid = 16974480; // 0x1030290
+    field public static final int Widget_Material_Light_ActionBar_TabBar = 16974481; // 0x1030291
+    field public static final int Widget_Material_Light_ActionBar_TabText = 16974482; // 0x1030292
+    field public static final int Widget_Material_Light_ActionBar_TabView = 16974483; // 0x1030293
+    field public static final int Widget_Material_Light_ActionButton = 16974484; // 0x1030294
+    field public static final int Widget_Material_Light_ActionButton_CloseMode = 16974485; // 0x1030295
+    field public static final int Widget_Material_Light_ActionButton_Overflow = 16974486; // 0x1030296
+    field public static final int Widget_Material_Light_ActionMode = 16974487; // 0x1030297
+    field public static final int Widget_Material_Light_AutoCompleteTextView = 16974488; // 0x1030298
+    field public static final int Widget_Material_Light_Button = 16974489; // 0x1030299
+    field public static final int Widget_Material_Light_ButtonBar = 16974496; // 0x10302a0
+    field public static final int Widget_Material_Light_ButtonBar_AlertDialog = 16974497; // 0x10302a1
+    field public static final int Widget_Material_Light_Button_Borderless = 16974490; // 0x103029a
+    field public static final int Widget_Material_Light_Button_Borderless_Colored = 16974491; // 0x103029b
+    field public static final int Widget_Material_Light_Button_Borderless_Small = 16974492; // 0x103029c
+    field public static final int Widget_Material_Light_Button_Inset = 16974493; // 0x103029d
+    field public static final int Widget_Material_Light_Button_Small = 16974494; // 0x103029e
+    field public static final int Widget_Material_Light_Button_Toggle = 16974495; // 0x103029f
+    field public static final int Widget_Material_Light_CalendarView = 16974498; // 0x10302a2
+    field public static final int Widget_Material_Light_CheckedTextView = 16974499; // 0x10302a3
+    field public static final int Widget_Material_Light_CompoundButton_CheckBox = 16974500; // 0x10302a4
+    field public static final int Widget_Material_Light_CompoundButton_RadioButton = 16974501; // 0x10302a5
+    field public static final int Widget_Material_Light_CompoundButton_Star = 16974502; // 0x10302a6
+    field public static final int Widget_Material_Light_CompoundButton_Switch = 16974555; // 0x10302db
+    field public static final int Widget_Material_Light_DatePicker = 16974503; // 0x10302a7
+    field public static final int Widget_Material_Light_DropDownItem = 16974504; // 0x10302a8
+    field public static final int Widget_Material_Light_DropDownItem_Spinner = 16974505; // 0x10302a9
+    field public static final int Widget_Material_Light_EditText = 16974506; // 0x10302aa
+    field public static final int Widget_Material_Light_ExpandableListView = 16974507; // 0x10302ab
+    field public static final int Widget_Material_Light_FastScroll = 16974508; // 0x10302ac
+    field public static final int Widget_Material_Light_GridView = 16974509; // 0x10302ad
+    field public static final int Widget_Material_Light_HorizontalScrollView = 16974510; // 0x10302ae
+    field public static final int Widget_Material_Light_ImageButton = 16974511; // 0x10302af
+    field public static final int Widget_Material_Light_ListPopupWindow = 16974512; // 0x10302b0
+    field public static final int Widget_Material_Light_ListView = 16974513; // 0x10302b1
+    field public static final int Widget_Material_Light_ListView_DropDown = 16974514; // 0x10302b2
+    field public static final int Widget_Material_Light_MediaRouteButton = 16974515; // 0x10302b3
+    field public static final int Widget_Material_Light_NumberPicker = 16974557; // 0x10302dd
+    field public static final int Widget_Material_Light_PopupMenu = 16974516; // 0x10302b4
+    field public static final int Widget_Material_Light_PopupMenu_Overflow = 16974517; // 0x10302b5
+    field public static final int Widget_Material_Light_PopupWindow = 16974518; // 0x10302b6
+    field public static final int Widget_Material_Light_ProgressBar = 16974519; // 0x10302b7
+    field public static final int Widget_Material_Light_ProgressBar_Horizontal = 16974520; // 0x10302b8
+    field public static final int Widget_Material_Light_ProgressBar_Inverse = 16974521; // 0x10302b9
+    field public static final int Widget_Material_Light_ProgressBar_Large = 16974522; // 0x10302ba
+    field public static final int Widget_Material_Light_ProgressBar_Large_Inverse = 16974523; // 0x10302bb
+    field public static final int Widget_Material_Light_ProgressBar_Small = 16974524; // 0x10302bc
+    field public static final int Widget_Material_Light_ProgressBar_Small_Inverse = 16974525; // 0x10302bd
+    field public static final int Widget_Material_Light_ProgressBar_Small_Title = 16974526; // 0x10302be
+    field public static final int Widget_Material_Light_RatingBar = 16974527; // 0x10302bf
+    field public static final int Widget_Material_Light_RatingBar_Indicator = 16974528; // 0x10302c0
+    field public static final int Widget_Material_Light_RatingBar_Small = 16974529; // 0x10302c1
+    field public static final int Widget_Material_Light_ScrollView = 16974530; // 0x10302c2
+    field public static final int Widget_Material_Light_SearchView = 16974531; // 0x10302c3
+    field public static final int Widget_Material_Light_SeekBar = 16974532; // 0x10302c4
+    field public static final int Widget_Material_Light_SegmentedButton = 16974533; // 0x10302c5
+    field public static final int Widget_Material_Light_Spinner = 16974535; // 0x10302c7
+    field public static final int Widget_Material_Light_Spinner_Underlined = 16974536; // 0x10302c8
+    field public static final int Widget_Material_Light_StackView = 16974534; // 0x10302c6
+    field public static final int Widget_Material_Light_Tab = 16974537; // 0x10302c9
+    field public static final int Widget_Material_Light_TabWidget = 16974538; // 0x10302ca
+    field public static final int Widget_Material_Light_TextView = 16974539; // 0x10302cb
+    field public static final int Widget_Material_Light_TextView_SpinnerItem = 16974540; // 0x10302cc
+    field public static final int Widget_Material_Light_TimePicker = 16974541; // 0x10302cd
+    field public static final int Widget_Material_Light_WebTextView = 16974542; // 0x10302ce
+    field public static final int Widget_Material_Light_WebView = 16974543; // 0x10302cf
+    field public static final int Widget_Material_ListPopupWindow = 16974447; // 0x103026f
+    field public static final int Widget_Material_ListView = 16974448; // 0x1030270
+    field public static final int Widget_Material_ListView_DropDown = 16974449; // 0x1030271
+    field public static final int Widget_Material_MediaRouteButton = 16974450; // 0x1030272
+    field public static final int Widget_Material_NumberPicker = 16974556; // 0x10302dc
+    field public static final int Widget_Material_PopupMenu = 16974451; // 0x1030273
+    field public static final int Widget_Material_PopupMenu_Overflow = 16974452; // 0x1030274
+    field public static final int Widget_Material_PopupWindow = 16974453; // 0x1030275
+    field public static final int Widget_Material_ProgressBar = 16974454; // 0x1030276
+    field public static final int Widget_Material_ProgressBar_Horizontal = 16974455; // 0x1030277
+    field public static final int Widget_Material_ProgressBar_Large = 16974456; // 0x1030278
+    field public static final int Widget_Material_ProgressBar_Small = 16974457; // 0x1030279
+    field public static final int Widget_Material_ProgressBar_Small_Title = 16974458; // 0x103027a
+    field public static final int Widget_Material_RatingBar = 16974459; // 0x103027b
+    field public static final int Widget_Material_RatingBar_Indicator = 16974460; // 0x103027c
+    field public static final int Widget_Material_RatingBar_Small = 16974461; // 0x103027d
+    field public static final int Widget_Material_ScrollView = 16974462; // 0x103027e
+    field public static final int Widget_Material_SearchView = 16974463; // 0x103027f
+    field public static final int Widget_Material_SeekBar = 16974464; // 0x1030280
+    field public static final int Widget_Material_SeekBar_Discrete = 16974553; // 0x10302d9
+    field public static final int Widget_Material_SegmentedButton = 16974465; // 0x1030281
+    field public static final int Widget_Material_Spinner = 16974467; // 0x1030283
+    field public static final int Widget_Material_Spinner_Underlined = 16974468; // 0x1030284
+    field public static final int Widget_Material_StackView = 16974466; // 0x1030282
+    field public static final int Widget_Material_Tab = 16974469; // 0x1030285
+    field public static final int Widget_Material_TabWidget = 16974470; // 0x1030286
+    field public static final int Widget_Material_TextView = 16974471; // 0x1030287
+    field public static final int Widget_Material_TextView_SpinnerItem = 16974472; // 0x1030288
+    field public static final int Widget_Material_TimePicker = 16974473; // 0x1030289
+    field public static final int Widget_Material_Toolbar = 16974474; // 0x103028a
+    field public static final int Widget_Material_Toolbar_Button_Navigation = 16974475; // 0x103028b
+    field public static final int Widget_Material_WebTextView = 16974476; // 0x103028c
+    field public static final int Widget_Material_WebView = 16974477; // 0x103028d
+    field public static final int Widget_PopupMenu = 16973958; // 0x1030086
+    field public static final int Widget_PopupWindow = 16973878; // 0x1030036
+    field public static final int Widget_ProgressBar = 16973852; // 0x103001c
+    field public static final int Widget_ProgressBar_Horizontal = 16973855; // 0x103001f
+    field public static final int Widget_ProgressBar_Inverse = 16973915; // 0x103005b
+    field public static final int Widget_ProgressBar_Large = 16973853; // 0x103001d
+    field public static final int Widget_ProgressBar_Large_Inverse = 16973916; // 0x103005c
+    field public static final int Widget_ProgressBar_Small = 16973854; // 0x103001e
+    field public static final int Widget_ProgressBar_Small_Inverse = 16973917; // 0x103005d
+    field public static final int Widget_RatingBar = 16973857; // 0x1030021
+    field public static final int Widget_ScrollView = 16973869; // 0x103002d
+    field public static final int Widget_SeekBar = 16973856; // 0x1030020
+    field public static final int Widget_Spinner = 16973864; // 0x1030028
+    field public static final int Widget_Spinner_DropDown = 16973955; // 0x1030083
+    field public static final int Widget_StackView = 16974310; // 0x10301e6
+    field public static final int Widget_TabWidget = 16973876; // 0x1030034
+    field public static final int Widget_TextView = 16973858; // 0x1030022
+    field public static final int Widget_TextView_PopupMenu = 16973865; // 0x1030029
+    field public static final int Widget_TextView_SpinnerItem = 16973866; // 0x103002a
+    field public static final int Widget_Toolbar = 16974311; // 0x10301e7
+    field public static final int Widget_Toolbar_Button_Navigation = 16974312; // 0x10301e8
+    field public static final int Widget_WebView = 16973875; // 0x1030033
+  }
+
+  public static final class R.transition {
+    ctor public R.transition();
+    field public static final int explode = 17760259; // 0x10f0003
+    field public static final int fade = 17760258; // 0x10f0002
+    field public static final int move = 17760257; // 0x10f0001
+    field public static final int no_transition = 17760256; // 0x10f0000
+    field public static final int slide_bottom = 17760260; // 0x10f0004
+    field public static final int slide_left = 17760263; // 0x10f0007
+    field public static final int slide_right = 17760262; // 0x10f0006
+    field public static final int slide_top = 17760261; // 0x10f0005
+  }
+
+  public static final class R.xml {
+    ctor public R.xml();
+  }
+
+}
+
+package android.accessibilityservice {
+
+  public final class AccessibilityButtonController {
+    method public boolean isAccessibilityButtonAvailable();
+    method public void registerAccessibilityButtonCallback(@NonNull android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback);
+    method public void registerAccessibilityButtonCallback(@NonNull android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback, @NonNull android.os.Handler);
+    method public void unregisterAccessibilityButtonCallback(@NonNull android.accessibilityservice.AccessibilityButtonController.AccessibilityButtonCallback);
+  }
+
+  public abstract static class AccessibilityButtonController.AccessibilityButtonCallback {
+    ctor public AccessibilityButtonController.AccessibilityButtonCallback();
+    method public void onAvailabilityChanged(android.accessibilityservice.AccessibilityButtonController, boolean);
+    method public void onClicked(android.accessibilityservice.AccessibilityButtonController);
+  }
+
+  public final class AccessibilityGestureEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static String gestureIdToString(int);
+    method public int getDisplayId();
+    method public int getGestureId();
+    method @NonNull public java.util.List<android.view.MotionEvent> getMotionEvents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityGestureEvent> CREATOR;
+  }
+
+  public abstract class AccessibilityService extends android.app.Service {
+    ctor public AccessibilityService();
+    method public final void disableSelf();
+    method public final boolean dispatchGesture(@NonNull android.accessibilityservice.GestureDescription, @Nullable android.accessibilityservice.AccessibilityService.GestureResultCallback, @Nullable android.os.Handler);
+    method public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
+    method @NonNull public final android.accessibilityservice.AccessibilityButtonController getAccessibilityButtonController();
+    method @NonNull public final android.accessibilityservice.AccessibilityButtonController getAccessibilityButtonController(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public final android.accessibilityservice.FingerprintGestureController getFingerprintGestureController();
+    method @NonNull public final android.accessibilityservice.AccessibilityService.MagnificationController getMagnificationController();
+    method public android.view.accessibility.AccessibilityNodeInfo getRootInActiveWindow();
+    method public final android.accessibilityservice.AccessibilityServiceInfo getServiceInfo();
+    method @NonNull public final android.accessibilityservice.AccessibilityService.SoftKeyboardController getSoftKeyboardController();
+    method @NonNull public final java.util.List<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction> getSystemActions();
+    method public java.util.List<android.view.accessibility.AccessibilityWindowInfo> getWindows();
+    method @NonNull public final android.util.SparseArray<java.util.List<android.view.accessibility.AccessibilityWindowInfo>> getWindowsOnAllDisplays();
+    method public abstract void onAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated protected boolean onGesture(int);
+    method public boolean onGesture(@NonNull android.accessibilityservice.AccessibilityGestureEvent);
+    method public abstract void onInterrupt();
+    method protected boolean onKeyEvent(android.view.KeyEvent);
+    method protected void onServiceConnected();
+    method public void onSystemActionsChanged();
+    method public final boolean performGlobalAction(int);
+    method public void setAccessibilityFocusAppearance(int, @ColorInt int);
+    method public void setGestureDetectionPassthroughRegion(int, @NonNull android.graphics.Region);
+    method public final void setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo);
+    method public void setTouchExplorationPassthroughRegion(int, @NonNull android.graphics.Region);
+    method public void takeScreenshot(int, @NonNull java.util.concurrent.Executor, @NonNull android.accessibilityservice.AccessibilityService.TakeScreenshotCallback);
+    field public static final int ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR = 1; // 0x1
+    field public static final int ERROR_TAKE_SCREENSHOT_INTERVAL_TIME_SHORT = 3; // 0x3
+    field public static final int ERROR_TAKE_SCREENSHOT_INVALID_DISPLAY = 4; // 0x4
+    field public static final int ERROR_TAKE_SCREENSHOT_NO_ACCESSIBILITY_ACCESS = 2; // 0x2
+    field public static final int GESTURE_2_FINGER_DOUBLE_TAP = 20; // 0x14
+    field public static final int GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD = 40; // 0x28
+    field public static final int GESTURE_2_FINGER_SINGLE_TAP = 19; // 0x13
+    field public static final int GESTURE_2_FINGER_SWIPE_DOWN = 26; // 0x1a
+    field public static final int GESTURE_2_FINGER_SWIPE_LEFT = 27; // 0x1b
+    field public static final int GESTURE_2_FINGER_SWIPE_RIGHT = 28; // 0x1c
+    field public static final int GESTURE_2_FINGER_SWIPE_UP = 25; // 0x19
+    field public static final int GESTURE_2_FINGER_TRIPLE_TAP = 21; // 0x15
+    field public static final int GESTURE_2_FINGER_TRIPLE_TAP_AND_HOLD = 43; // 0x2b
+    field public static final int GESTURE_3_FINGER_DOUBLE_TAP = 23; // 0x17
+    field public static final int GESTURE_3_FINGER_DOUBLE_TAP_AND_HOLD = 41; // 0x29
+    field public static final int GESTURE_3_FINGER_SINGLE_TAP = 22; // 0x16
+    field public static final int GESTURE_3_FINGER_SINGLE_TAP_AND_HOLD = 44; // 0x2c
+    field public static final int GESTURE_3_FINGER_SWIPE_DOWN = 30; // 0x1e
+    field public static final int GESTURE_3_FINGER_SWIPE_LEFT = 31; // 0x1f
+    field public static final int GESTURE_3_FINGER_SWIPE_RIGHT = 32; // 0x20
+    field public static final int GESTURE_3_FINGER_SWIPE_UP = 29; // 0x1d
+    field public static final int GESTURE_3_FINGER_TRIPLE_TAP = 24; // 0x18
+    field public static final int GESTURE_3_FINGER_TRIPLE_TAP_AND_HOLD = 45; // 0x2d
+    field public static final int GESTURE_4_FINGER_DOUBLE_TAP = 38; // 0x26
+    field public static final int GESTURE_4_FINGER_DOUBLE_TAP_AND_HOLD = 42; // 0x2a
+    field public static final int GESTURE_4_FINGER_SINGLE_TAP = 37; // 0x25
+    field public static final int GESTURE_4_FINGER_SWIPE_DOWN = 34; // 0x22
+    field public static final int GESTURE_4_FINGER_SWIPE_LEFT = 35; // 0x23
+    field public static final int GESTURE_4_FINGER_SWIPE_RIGHT = 36; // 0x24
+    field public static final int GESTURE_4_FINGER_SWIPE_UP = 33; // 0x21
+    field public static final int GESTURE_4_FINGER_TRIPLE_TAP = 39; // 0x27
+    field public static final int GESTURE_DOUBLE_TAP = 17; // 0x11
+    field public static final int GESTURE_DOUBLE_TAP_AND_HOLD = 18; // 0x12
+    field public static final int GESTURE_SWIPE_DOWN = 2; // 0x2
+    field public static final int GESTURE_SWIPE_DOWN_AND_LEFT = 15; // 0xf
+    field public static final int GESTURE_SWIPE_DOWN_AND_RIGHT = 16; // 0x10
+    field public static final int GESTURE_SWIPE_DOWN_AND_UP = 8; // 0x8
+    field public static final int GESTURE_SWIPE_LEFT = 3; // 0x3
+    field public static final int GESTURE_SWIPE_LEFT_AND_DOWN = 10; // 0xa
+    field public static final int GESTURE_SWIPE_LEFT_AND_RIGHT = 5; // 0x5
+    field public static final int GESTURE_SWIPE_LEFT_AND_UP = 9; // 0x9
+    field public static final int GESTURE_SWIPE_RIGHT = 4; // 0x4
+    field public static final int GESTURE_SWIPE_RIGHT_AND_DOWN = 12; // 0xc
+    field public static final int GESTURE_SWIPE_RIGHT_AND_LEFT = 6; // 0x6
+    field public static final int GESTURE_SWIPE_RIGHT_AND_UP = 11; // 0xb
+    field public static final int GESTURE_SWIPE_UP = 1; // 0x1
+    field public static final int GESTURE_SWIPE_UP_AND_DOWN = 7; // 0x7
+    field public static final int GESTURE_SWIPE_UP_AND_LEFT = 13; // 0xd
+    field public static final int GESTURE_SWIPE_UP_AND_RIGHT = 14; // 0xe
+    field public static final int GESTURE_UNKNOWN = 0; // 0x0
+    field public static final int GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS = 14; // 0xe
+    field public static final int GLOBAL_ACTION_ACCESSIBILITY_BUTTON = 11; // 0xb
+    field public static final int GLOBAL_ACTION_ACCESSIBILITY_BUTTON_CHOOSER = 12; // 0xc
+    field public static final int GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT = 13; // 0xd
+    field public static final int GLOBAL_ACTION_BACK = 1; // 0x1
+    field public static final int GLOBAL_ACTION_DISMISS_NOTIFICATION_SHADE = 15; // 0xf
+    field public static final int GLOBAL_ACTION_HOME = 2; // 0x2
+    field public static final int GLOBAL_ACTION_KEYCODE_HEADSETHOOK = 10; // 0xa
+    field public static final int GLOBAL_ACTION_LOCK_SCREEN = 8; // 0x8
+    field public static final int GLOBAL_ACTION_NOTIFICATIONS = 4; // 0x4
+    field public static final int GLOBAL_ACTION_POWER_DIALOG = 6; // 0x6
+    field public static final int GLOBAL_ACTION_QUICK_SETTINGS = 5; // 0x5
+    field public static final int GLOBAL_ACTION_RECENTS = 3; // 0x3
+    field public static final int GLOBAL_ACTION_TAKE_SCREENSHOT = 9; // 0x9
+    field public static final int GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN = 7; // 0x7
+    field public static final String SERVICE_INTERFACE = "android.accessibilityservice.AccessibilityService";
+    field public static final String SERVICE_META_DATA = "android.accessibilityservice";
+    field public static final int SHOW_MODE_AUTO = 0; // 0x0
+    field public static final int SHOW_MODE_HIDDEN = 1; // 0x1
+    field public static final int SHOW_MODE_IGNORE_HARD_KEYBOARD = 2; // 0x2
+  }
+
+  public abstract static class AccessibilityService.GestureResultCallback {
+    ctor public AccessibilityService.GestureResultCallback();
+    method public void onCancelled(android.accessibilityservice.GestureDescription);
+    method public void onCompleted(android.accessibilityservice.GestureDescription);
+  }
+
+  public static final class AccessibilityService.MagnificationController {
+    method public void addListener(@NonNull android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener);
+    method public void addListener(@NonNull android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener, @Nullable android.os.Handler);
+    method public float getCenterX();
+    method public float getCenterY();
+    method @NonNull public android.graphics.Region getMagnificationRegion();
+    method public float getScale();
+    method public boolean removeListener(@NonNull android.accessibilityservice.AccessibilityService.MagnificationController.OnMagnificationChangedListener);
+    method public boolean reset(boolean);
+    method public boolean setCenter(float, float, boolean);
+    method public boolean setScale(float, boolean);
+  }
+
+  public static interface AccessibilityService.MagnificationController.OnMagnificationChangedListener {
+    method public void onMagnificationChanged(@NonNull android.accessibilityservice.AccessibilityService.MagnificationController, @NonNull android.graphics.Region, float, float, float);
+  }
+
+  public static final class AccessibilityService.ScreenshotResult {
+    method @NonNull public android.graphics.ColorSpace getColorSpace();
+    method @NonNull public android.hardware.HardwareBuffer getHardwareBuffer();
+    method public long getTimestamp();
+  }
+
+  public static final class AccessibilityService.SoftKeyboardController {
+    method public void addOnShowModeChangedListener(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener);
+    method public void addOnShowModeChangedListener(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener, @Nullable android.os.Handler);
+    method public int getShowMode();
+    method public boolean removeOnShowModeChangedListener(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController.OnShowModeChangedListener);
+    method public boolean setShowMode(int);
+    method public boolean switchToInputMethod(@NonNull String);
+  }
+
+  public static interface AccessibilityService.SoftKeyboardController.OnShowModeChangedListener {
+    method public void onShowModeChanged(@NonNull android.accessibilityservice.AccessibilityService.SoftKeyboardController, int);
+  }
+
+  public static interface AccessibilityService.TakeScreenshotCallback {
+    method public void onFailure(int);
+    method public void onSuccess(@NonNull android.accessibilityservice.AccessibilityService.ScreenshotResult);
+  }
+
+  public class AccessibilityServiceInfo implements android.os.Parcelable {
+    ctor public AccessibilityServiceInfo();
+    method public static String capabilityToString(int);
+    method public int describeContents();
+    method public static String feedbackTypeToString(int);
+    method public static String flagToString(int);
+    method @Deprecated public boolean getCanRetrieveWindowContent();
+    method public int getCapabilities();
+    method @Deprecated public String getDescription();
+    method public String getId();
+    method public int getInteractiveUiTimeoutMillis();
+    method public int getNonInteractiveUiTimeoutMillis();
+    method public android.content.pm.ResolveInfo getResolveInfo();
+    method public String getSettingsActivityName();
+    method public boolean isAccessibilityTool();
+    method public String loadDescription(android.content.pm.PackageManager);
+    method public CharSequence loadSummary(android.content.pm.PackageManager);
+    method public void setInteractiveUiTimeoutMillis(@IntRange(from=0) int);
+    method public void setNonInteractiveUiTimeoutMillis(@IntRange(from=0) int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CAPABILITY_CAN_CONTROL_MAGNIFICATION = 16; // 0x10
+    field public static final int CAPABILITY_CAN_PERFORM_GESTURES = 32; // 0x20
+    field @Deprecated public static final int CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 4; // 0x4
+    field public static final int CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS = 8; // 0x8
+    field public static final int CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES = 64; // 0x40
+    field public static final int CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION = 2; // 0x2
+    field public static final int CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT = 1; // 0x1
+    field public static final int CAPABILITY_CAN_TAKE_SCREENSHOT = 128; // 0x80
+    field @NonNull public static final android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityServiceInfo> CREATOR;
+    field public static final int DEFAULT = 1; // 0x1
+    field public static final int FEEDBACK_ALL_MASK = -1; // 0xffffffff
+    field public static final int FEEDBACK_AUDIBLE = 4; // 0x4
+    field public static final int FEEDBACK_BRAILLE = 32; // 0x20
+    field public static final int FEEDBACK_GENERIC = 16; // 0x10
+    field public static final int FEEDBACK_HAPTIC = 2; // 0x2
+    field public static final int FEEDBACK_SPOKEN = 1; // 0x1
+    field public static final int FEEDBACK_VISUAL = 8; // 0x8
+    field public static final int FLAG_ENABLE_ACCESSIBILITY_VOLUME = 128; // 0x80
+    field public static final int FLAG_INCLUDE_NOT_IMPORTANT_VIEWS = 2; // 0x2
+    field public static final int FLAG_REPORT_VIEW_IDS = 16; // 0x10
+    field public static final int FLAG_REQUEST_2_FINGER_PASSTHROUGH = 8192; // 0x2000
+    field public static final int FLAG_REQUEST_ACCESSIBILITY_BUTTON = 256; // 0x100
+    field @Deprecated public static final int FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY = 8; // 0x8
+    field public static final int FLAG_REQUEST_FILTER_KEY_EVENTS = 32; // 0x20
+    field public static final int FLAG_REQUEST_FINGERPRINT_GESTURES = 512; // 0x200
+    field public static final int FLAG_REQUEST_MULTI_FINGER_GESTURES = 4096; // 0x1000
+    field public static final int FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK = 1024; // 0x400
+    field public static final int FLAG_REQUEST_TOUCH_EXPLORATION_MODE = 4; // 0x4
+    field public static final int FLAG_RETRIEVE_INTERACTIVE_WINDOWS = 64; // 0x40
+    field public static final int FLAG_SEND_MOTION_EVENTS = 16384; // 0x4000
+    field public static final int FLAG_SERVICE_HANDLES_DOUBLE_TAP = 2048; // 0x800
+    field public int eventTypes;
+    field public int feedbackType;
+    field public int flags;
+    field public long notificationTimeout;
+    field public String[] packageNames;
+  }
+
+  public final class FingerprintGestureController {
+    method public boolean isGestureDetectionAvailable();
+    method public void registerFingerprintGestureCallback(@NonNull android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback, @Nullable android.os.Handler);
+    method public void unregisterFingerprintGestureCallback(android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback);
+    field public static final int FINGERPRINT_GESTURE_SWIPE_DOWN = 8; // 0x8
+    field public static final int FINGERPRINT_GESTURE_SWIPE_LEFT = 2; // 0x2
+    field public static final int FINGERPRINT_GESTURE_SWIPE_RIGHT = 1; // 0x1
+    field public static final int FINGERPRINT_GESTURE_SWIPE_UP = 4; // 0x4
+  }
+
+  public abstract static class FingerprintGestureController.FingerprintGestureCallback {
+    ctor public FingerprintGestureController.FingerprintGestureCallback();
+    method public void onGestureDetected(int);
+    method public void onGestureDetectionAvailabilityChanged(boolean);
+  }
+
+  public final class GestureDescription {
+    method public int getDisplayId();
+    method public static long getMaxGestureDuration();
+    method public static int getMaxStrokeCount();
+    method public android.accessibilityservice.GestureDescription.StrokeDescription getStroke(@IntRange(from=0) int);
+    method public int getStrokeCount();
+  }
+
+  public static class GestureDescription.Builder {
+    ctor public GestureDescription.Builder();
+    method public android.accessibilityservice.GestureDescription.Builder addStroke(@NonNull android.accessibilityservice.GestureDescription.StrokeDescription);
+    method public android.accessibilityservice.GestureDescription build();
+    method @NonNull public android.accessibilityservice.GestureDescription.Builder setDisplayId(int);
+  }
+
+  public static class GestureDescription.StrokeDescription {
+    ctor public GestureDescription.StrokeDescription(@NonNull android.graphics.Path, @IntRange(from=0) long, @IntRange(from=0) long);
+    ctor public GestureDescription.StrokeDescription(@NonNull android.graphics.Path, @IntRange(from=0) long, @IntRange(from=0) long, boolean);
+    method public android.accessibilityservice.GestureDescription.StrokeDescription continueStroke(android.graphics.Path, long, long, boolean);
+    method public long getDuration();
+    method public android.graphics.Path getPath();
+    method public long getStartTime();
+    method public boolean willContinue();
+  }
+
+}
+
+package android.accounts {
+
+  public abstract class AbstractAccountAuthenticator {
+    ctor public AbstractAccountAuthenticator(android.content.Context);
+    method public abstract android.os.Bundle addAccount(android.accounts.AccountAuthenticatorResponse, String, String, String[], android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle addAccountFromCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public abstract android.os.Bundle confirmCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public abstract android.os.Bundle editProperties(android.accounts.AccountAuthenticatorResponse, String);
+    method public android.os.Bundle finishSession(android.accounts.AccountAuthenticatorResponse, String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle getAccountCredentialsForCloning(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle getAccountRemovalAllowed(android.accounts.AccountAuthenticatorResponse, android.accounts.Account) throws android.accounts.NetworkErrorException;
+    method public abstract android.os.Bundle getAuthToken(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public abstract String getAuthTokenLabel(String);
+    method public final android.os.IBinder getIBinder();
+    method public abstract android.os.Bundle hasFeatures(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, String[]) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle isCredentialsUpdateSuggested(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, String) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle startAddAccountSession(android.accounts.AccountAuthenticatorResponse, String, String, String[], android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public android.os.Bundle startUpdateCredentialsSession(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    method public abstract android.os.Bundle updateCredentials(android.accounts.AccountAuthenticatorResponse, android.accounts.Account, String, android.os.Bundle) throws android.accounts.NetworkErrorException;
+    field public static final String KEY_CUSTOM_TOKEN_EXPIRY = "android.accounts.expiry";
+  }
+
+  public class Account implements android.os.Parcelable {
+    ctor public Account(String, String);
+    ctor public Account(android.os.Parcel);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.accounts.Account> CREATOR;
+    field public final String name;
+    field public final String type;
+  }
+
+  @Deprecated public class AccountAuthenticatorActivity extends android.app.Activity {
+    ctor @Deprecated public AccountAuthenticatorActivity();
+    method @Deprecated public final void setAccountAuthenticatorResult(android.os.Bundle);
+  }
+
+  public class AccountAuthenticatorResponse implements android.os.Parcelable {
+    ctor public AccountAuthenticatorResponse(android.os.Parcel);
+    method public int describeContents();
+    method public void onError(int, String);
+    method public void onRequestContinued();
+    method public void onResult(android.os.Bundle);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.accounts.AccountAuthenticatorResponse> CREATOR;
+  }
+
+  public class AccountManager {
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> addAccount(String, String, String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public boolean addAccountExplicitly(android.accounts.Account, String, android.os.Bundle);
+    method public boolean addAccountExplicitly(android.accounts.Account, String, android.os.Bundle, java.util.Map<java.lang.String,java.lang.Integer>);
+    method @RequiresPermission(value="android.permission.GET_ACCOUNTS", apis="..22") public void addOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener, android.os.Handler, boolean);
+    method public void addOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener, android.os.Handler, boolean, String[]);
+    method @RequiresPermission(value="android.permission.USE_CREDENTIALS", apis="..22") public String blockingGetAuthToken(android.accounts.Account, String, boolean) throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public void clearPassword(android.accounts.Account);
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> confirmCredentials(android.accounts.Account, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> editProperties(String, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method public android.accounts.AccountManagerFuture<android.os.Bundle> finishSession(android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method public static android.accounts.AccountManager get(android.content.Context);
+    method public int getAccountVisibility(android.accounts.Account, String);
+    method @NonNull @RequiresPermission(value="android.permission.GET_ACCOUNTS", apis="..22") public android.accounts.Account[] getAccounts();
+    method public java.util.Map<android.accounts.Account,java.lang.Integer> getAccountsAndVisibilityForPackage(String, String);
+    method @NonNull @RequiresPermission(value="android.permission.GET_ACCOUNTS", apis="..22") public android.accounts.Account[] getAccountsByType(String);
+    method public android.accounts.AccountManagerFuture<android.accounts.Account[]> getAccountsByTypeAndFeatures(String, String[], android.accounts.AccountManagerCallback<android.accounts.Account[]>, android.os.Handler);
+    method @NonNull public android.accounts.Account[] getAccountsByTypeForPackage(String, String);
+    method @RequiresPermission(value="android.permission.USE_CREDENTIALS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthToken(android.accounts.Account, String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @Deprecated @RequiresPermission(value="android.permission.USE_CREDENTIALS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthToken(android.accounts.Account, String, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.USE_CREDENTIALS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthToken(android.accounts.Account, String, android.os.Bundle, boolean, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> getAuthTokenByFeatures(String, String, String[], android.app.Activity, android.os.Bundle, android.os.Bundle, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method public android.accounts.AuthenticatorDescription[] getAuthenticatorTypes();
+    method public java.util.Map<java.lang.String,java.lang.Integer> getPackagesAndVisibilityForAccount(android.accounts.Account);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public String getPassword(android.accounts.Account);
+    method public String getPreviousName(android.accounts.Account);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public String getUserData(android.accounts.Account, String);
+    method public android.accounts.AccountManagerFuture<java.lang.Boolean> hasFeatures(android.accounts.Account, String[], android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler);
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_ACCOUNTS", "android.permission.USE_CREDENTIALS"}, apis="..22") public void invalidateAuthToken(String, String);
+    method public android.accounts.AccountManagerFuture<java.lang.Boolean> isCredentialsUpdateSuggested(android.accounts.Account, String, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler);
+    method @Deprecated public static android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.ArrayList<android.accounts.Account>, String[], boolean, String, String, String[], android.os.Bundle);
+    method public static android.content.Intent newChooseAccountIntent(android.accounts.Account, java.util.List<android.accounts.Account>, String[], String, String, String[], android.os.Bundle);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public boolean notifyAccountAuthenticated(android.accounts.Account);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public String peekAuthToken(android.accounts.Account, String);
+    method @Deprecated @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<java.lang.Boolean> removeAccount(android.accounts.Account, android.accounts.AccountManagerCallback<java.lang.Boolean>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> removeAccount(android.accounts.Account, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public boolean removeAccountExplicitly(android.accounts.Account);
+    method public void removeOnAccountsUpdatedListener(android.accounts.OnAccountsUpdateListener);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.accounts.Account> renameAccount(android.accounts.Account, @Size(min=1) String, android.accounts.AccountManagerCallback<android.accounts.Account>, android.os.Handler);
+    method public boolean setAccountVisibility(android.accounts.Account, String, int);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public void setAuthToken(android.accounts.Account, String, String);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public void setPassword(android.accounts.Account, String);
+    method @RequiresPermission(value="android.permission.AUTHENTICATE_ACCOUNTS", apis="..22") public void setUserData(android.accounts.Account, String, String);
+    method public android.accounts.AccountManagerFuture<android.os.Bundle> startAddAccountSession(String, String, String[], android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method public android.accounts.AccountManagerFuture<android.os.Bundle> startUpdateCredentialsSession(android.accounts.Account, String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    method @RequiresPermission(value="android.permission.MANAGE_ACCOUNTS", apis="..22") public android.accounts.AccountManagerFuture<android.os.Bundle> updateCredentials(android.accounts.Account, String, android.os.Bundle, android.app.Activity, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+    field public static final String ACTION_ACCOUNT_REMOVED = "android.accounts.action.ACCOUNT_REMOVED";
+    field public static final String ACTION_AUTHENTICATOR_INTENT = "android.accounts.AccountAuthenticator";
+    field public static final String AUTHENTICATOR_ATTRIBUTES_NAME = "account-authenticator";
+    field public static final String AUTHENTICATOR_META_DATA_NAME = "android.accounts.AccountAuthenticator";
+    field public static final int ERROR_CODE_BAD_ARGUMENTS = 7; // 0x7
+    field public static final int ERROR_CODE_BAD_AUTHENTICATION = 9; // 0x9
+    field public static final int ERROR_CODE_BAD_REQUEST = 8; // 0x8
+    field public static final int ERROR_CODE_CANCELED = 4; // 0x4
+    field public static final int ERROR_CODE_INVALID_RESPONSE = 5; // 0x5
+    field public static final int ERROR_CODE_NETWORK_ERROR = 3; // 0x3
+    field public static final int ERROR_CODE_REMOTE_EXCEPTION = 1; // 0x1
+    field public static final int ERROR_CODE_UNSUPPORTED_OPERATION = 6; // 0x6
+    field public static final String KEY_ACCOUNTS = "accounts";
+    field public static final String KEY_ACCOUNT_AUTHENTICATOR_RESPONSE = "accountAuthenticatorResponse";
+    field public static final String KEY_ACCOUNT_MANAGER_RESPONSE = "accountManagerResponse";
+    field public static final String KEY_ACCOUNT_NAME = "authAccount";
+    field public static final String KEY_ACCOUNT_SESSION_BUNDLE = "accountSessionBundle";
+    field public static final String KEY_ACCOUNT_STATUS_TOKEN = "accountStatusToken";
+    field public static final String KEY_ACCOUNT_TYPE = "accountType";
+    field public static final String KEY_ANDROID_PACKAGE_NAME = "androidPackageName";
+    field public static final String KEY_AUTHENTICATOR_TYPES = "authenticator_types";
+    field public static final String KEY_AUTHTOKEN = "authtoken";
+    field public static final String KEY_AUTH_FAILED_MESSAGE = "authFailedMessage";
+    field public static final String KEY_AUTH_TOKEN_LABEL = "authTokenLabelKey";
+    field public static final String KEY_BOOLEAN_RESULT = "booleanResult";
+    field public static final String KEY_CALLER_PID = "callerPid";
+    field public static final String KEY_CALLER_UID = "callerUid";
+    field public static final String KEY_ERROR_CODE = "errorCode";
+    field public static final String KEY_ERROR_MESSAGE = "errorMessage";
+    field public static final String KEY_INTENT = "intent";
+    field public static final String KEY_LAST_AUTHENTICATED_TIME = "lastAuthenticatedTime";
+    field public static final String KEY_PASSWORD = "password";
+    field public static final String KEY_USERDATA = "userdata";
+    field @Deprecated public static final String LOGIN_ACCOUNTS_CHANGED_ACTION = "android.accounts.LOGIN_ACCOUNTS_CHANGED";
+    field public static final String PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE = "android:accounts:key_legacy_not_visible";
+    field public static final String PACKAGE_NAME_KEY_LEGACY_VISIBLE = "android:accounts:key_legacy_visible";
+    field public static final int VISIBILITY_NOT_VISIBLE = 3; // 0x3
+    field public static final int VISIBILITY_UNDEFINED = 0; // 0x0
+    field public static final int VISIBILITY_USER_MANAGED_NOT_VISIBLE = 4; // 0x4
+    field public static final int VISIBILITY_USER_MANAGED_VISIBLE = 2; // 0x2
+    field public static final int VISIBILITY_VISIBLE = 1; // 0x1
+  }
+
+  public interface AccountManagerCallback<V> {
+    method public void run(android.accounts.AccountManagerFuture<V>);
+  }
+
+  public interface AccountManagerFuture<V> {
+    method public boolean cancel(boolean);
+    method public V getResult() throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
+    method public V getResult(long, java.util.concurrent.TimeUnit) throws android.accounts.AuthenticatorException, java.io.IOException, android.accounts.OperationCanceledException;
+    method public boolean isCancelled();
+    method public boolean isDone();
+  }
+
+  public class AccountsException extends java.lang.Exception {
+    ctor public AccountsException();
+    ctor public AccountsException(String);
+    ctor public AccountsException(String, Throwable);
+    ctor public AccountsException(Throwable);
+  }
+
+  public class AuthenticatorDescription implements android.os.Parcelable {
+    ctor public AuthenticatorDescription(String, String, int, int, int, int, boolean);
+    ctor public AuthenticatorDescription(String, String, int, int, int, int);
+    method public int describeContents();
+    method public static android.accounts.AuthenticatorDescription newKey(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.accounts.AuthenticatorDescription> CREATOR;
+    field public final int accountPreferencesId;
+    field public final boolean customTokens;
+    field public final int iconId;
+    field public final int labelId;
+    field public final String packageName;
+    field public final int smallIconId;
+    field public final String type;
+  }
+
+  public class AuthenticatorException extends android.accounts.AccountsException {
+    ctor public AuthenticatorException();
+    ctor public AuthenticatorException(String);
+    ctor public AuthenticatorException(String, Throwable);
+    ctor public AuthenticatorException(Throwable);
+  }
+
+  public class NetworkErrorException extends android.accounts.AccountsException {
+    ctor public NetworkErrorException();
+    ctor public NetworkErrorException(String);
+    ctor public NetworkErrorException(String, Throwable);
+    ctor public NetworkErrorException(Throwable);
+  }
+
+  public interface OnAccountsUpdateListener {
+    method public void onAccountsUpdated(android.accounts.Account[]);
+  }
+
+  public class OperationCanceledException extends android.accounts.AccountsException {
+    ctor public OperationCanceledException();
+    ctor public OperationCanceledException(String);
+    ctor public OperationCanceledException(String, Throwable);
+    ctor public OperationCanceledException(Throwable);
+  }
+
+}
+
+package android.animation {
+
+  public abstract class Animator implements java.lang.Cloneable {
+    ctor public Animator();
+    method public void addListener(android.animation.Animator.AnimatorListener);
+    method public void addPauseListener(android.animation.Animator.AnimatorPauseListener);
+    method public void cancel();
+    method public android.animation.Animator clone();
+    method public void end();
+    method public abstract long getDuration();
+    method public android.animation.TimeInterpolator getInterpolator();
+    method public java.util.ArrayList<android.animation.Animator.AnimatorListener> getListeners();
+    method public abstract long getStartDelay();
+    method public long getTotalDuration();
+    method public boolean isPaused();
+    method public abstract boolean isRunning();
+    method public boolean isStarted();
+    method public void pause();
+    method public void removeAllListeners();
+    method public void removeListener(android.animation.Animator.AnimatorListener);
+    method public void removePauseListener(android.animation.Animator.AnimatorPauseListener);
+    method public void resume();
+    method public abstract android.animation.Animator setDuration(long);
+    method public abstract void setInterpolator(android.animation.TimeInterpolator);
+    method public abstract void setStartDelay(long);
+    method public void setTarget(@Nullable Object);
+    method public void setupEndValues();
+    method public void setupStartValues();
+    method public void start();
+    field public static final long DURATION_INFINITE = -1L; // 0xffffffffffffffffL
+  }
+
+  public static interface Animator.AnimatorListener {
+    method public void onAnimationCancel(android.animation.Animator);
+    method public default void onAnimationEnd(android.animation.Animator, boolean);
+    method public void onAnimationEnd(android.animation.Animator);
+    method public void onAnimationRepeat(android.animation.Animator);
+    method public default void onAnimationStart(android.animation.Animator, boolean);
+    method public void onAnimationStart(android.animation.Animator);
+  }
+
+  public static interface Animator.AnimatorPauseListener {
+    method public void onAnimationPause(android.animation.Animator);
+    method public void onAnimationResume(android.animation.Animator);
+  }
+
+  public class AnimatorInflater {
+    ctor public AnimatorInflater();
+    method public static android.animation.Animator loadAnimator(android.content.Context, @AnimatorRes int) throws android.content.res.Resources.NotFoundException;
+    method public static android.animation.StateListAnimator loadStateListAnimator(android.content.Context, int) throws android.content.res.Resources.NotFoundException;
+  }
+
+  public abstract class AnimatorListenerAdapter implements android.animation.Animator.AnimatorListener android.animation.Animator.AnimatorPauseListener {
+    ctor public AnimatorListenerAdapter();
+    method public void onAnimationCancel(android.animation.Animator);
+    method public void onAnimationEnd(android.animation.Animator);
+    method public void onAnimationPause(android.animation.Animator);
+    method public void onAnimationRepeat(android.animation.Animator);
+    method public void onAnimationResume(android.animation.Animator);
+    method public void onAnimationStart(android.animation.Animator);
+  }
+
+  public final class AnimatorSet extends android.animation.Animator {
+    ctor public AnimatorSet();
+    method public android.animation.AnimatorSet clone();
+    method public java.util.ArrayList<android.animation.Animator> getChildAnimations();
+    method public long getCurrentPlayTime();
+    method public long getDuration();
+    method public long getStartDelay();
+    method public boolean isRunning();
+    method public android.animation.AnimatorSet.Builder play(android.animation.Animator);
+    method public void playSequentially(android.animation.Animator...);
+    method public void playSequentially(java.util.List<android.animation.Animator>);
+    method public void playTogether(android.animation.Animator...);
+    method public void playTogether(java.util.Collection<android.animation.Animator>);
+    method public void reverse();
+    method public void setCurrentPlayTime(long);
+    method public android.animation.AnimatorSet setDuration(long);
+    method public void setInterpolator(android.animation.TimeInterpolator);
+    method public void setStartDelay(long);
+  }
+
+  public class AnimatorSet.Builder {
+    method public android.animation.AnimatorSet.Builder after(android.animation.Animator);
+    method public android.animation.AnimatorSet.Builder after(long);
+    method public android.animation.AnimatorSet.Builder before(android.animation.Animator);
+    method public android.animation.AnimatorSet.Builder with(android.animation.Animator);
+  }
+
+  public class ArgbEvaluator implements android.animation.TypeEvaluator {
+    ctor public ArgbEvaluator();
+    method public Object evaluate(float, Object, Object);
+  }
+
+  public abstract class BidirectionalTypeConverter<T, V> extends android.animation.TypeConverter<T,V> {
+    ctor public BidirectionalTypeConverter(Class<T>, Class<V>);
+    method public abstract T convertBack(V);
+    method public android.animation.BidirectionalTypeConverter<V,T> invert();
+  }
+
+  public class FloatArrayEvaluator implements android.animation.TypeEvaluator<float[]> {
+    ctor public FloatArrayEvaluator();
+    ctor public FloatArrayEvaluator(float[]);
+    method public float[] evaluate(float, float[], float[]);
+  }
+
+  public class FloatEvaluator implements android.animation.TypeEvaluator<java.lang.Number> {
+    ctor public FloatEvaluator();
+    method public Float evaluate(float, Number, Number);
+  }
+
+  public class IntArrayEvaluator implements android.animation.TypeEvaluator<int[]> {
+    ctor public IntArrayEvaluator();
+    ctor public IntArrayEvaluator(int[]);
+    method public int[] evaluate(float, int[], int[]);
+  }
+
+  public class IntEvaluator implements android.animation.TypeEvaluator<java.lang.Integer> {
+    ctor public IntEvaluator();
+    method public Integer evaluate(float, Integer, Integer);
+  }
+
+  public abstract class Keyframe implements java.lang.Cloneable {
+    ctor public Keyframe();
+    method public abstract android.animation.Keyframe clone();
+    method public float getFraction();
+    method public android.animation.TimeInterpolator getInterpolator();
+    method public Class getType();
+    method public abstract Object getValue();
+    method public boolean hasValue();
+    method public static android.animation.Keyframe ofFloat(float, float);
+    method public static android.animation.Keyframe ofFloat(float);
+    method public static android.animation.Keyframe ofInt(float, int);
+    method public static android.animation.Keyframe ofInt(float);
+    method public static android.animation.Keyframe ofObject(float, Object);
+    method public static android.animation.Keyframe ofObject(float);
+    method public void setFraction(float);
+    method public void setInterpolator(android.animation.TimeInterpolator);
+    method public abstract void setValue(Object);
+  }
+
+  public class LayoutTransition {
+    ctor public LayoutTransition();
+    method public void addChild(android.view.ViewGroup, android.view.View);
+    method public void addTransitionListener(android.animation.LayoutTransition.TransitionListener);
+    method public void disableTransitionType(int);
+    method public void enableTransitionType(int);
+    method public android.animation.Animator getAnimator(int);
+    method public long getDuration(int);
+    method public android.animation.TimeInterpolator getInterpolator(int);
+    method public long getStagger(int);
+    method public long getStartDelay(int);
+    method public java.util.List<android.animation.LayoutTransition.TransitionListener> getTransitionListeners();
+    method @Deprecated public void hideChild(android.view.ViewGroup, android.view.View);
+    method public void hideChild(android.view.ViewGroup, android.view.View, int);
+    method public boolean isChangingLayout();
+    method public boolean isRunning();
+    method public boolean isTransitionTypeEnabled(int);
+    method public void removeChild(android.view.ViewGroup, android.view.View);
+    method public void removeTransitionListener(android.animation.LayoutTransition.TransitionListener);
+    method public void setAnimateParentHierarchy(boolean);
+    method public void setAnimator(int, android.animation.Animator);
+    method public void setDuration(long);
+    method public void setDuration(int, long);
+    method public void setInterpolator(int, android.animation.TimeInterpolator);
+    method public void setStagger(int, long);
+    method public void setStartDelay(int, long);
+    method @Deprecated public void showChild(android.view.ViewGroup, android.view.View);
+    method public void showChild(android.view.ViewGroup, android.view.View, int);
+    field public static final int APPEARING = 2; // 0x2
+    field public static final int CHANGE_APPEARING = 0; // 0x0
+    field public static final int CHANGE_DISAPPEARING = 1; // 0x1
+    field public static final int CHANGING = 4; // 0x4
+    field public static final int DISAPPEARING = 3; // 0x3
+  }
+
+  public static interface LayoutTransition.TransitionListener {
+    method public void endTransition(android.animation.LayoutTransition, android.view.ViewGroup, android.view.View, int);
+    method public void startTransition(android.animation.LayoutTransition, android.view.ViewGroup, android.view.View, int);
+  }
+
+  public final class ObjectAnimator extends android.animation.ValueAnimator {
+    ctor public ObjectAnimator();
+    method public android.animation.ObjectAnimator clone();
+    method @Nullable public String getPropertyName();
+    method @Nullable public Object getTarget();
+    method public static android.animation.ObjectAnimator ofArgb(Object, String, int...);
+    method public static <T> android.animation.ObjectAnimator ofArgb(T, android.util.Property<T,java.lang.Integer>, int...);
+    method public static android.animation.ObjectAnimator ofFloat(Object, String, float...);
+    method public static android.animation.ObjectAnimator ofFloat(Object, String, String, android.graphics.Path);
+    method public static <T> android.animation.ObjectAnimator ofFloat(T, android.util.Property<T,java.lang.Float>, float...);
+    method public static <T> android.animation.ObjectAnimator ofFloat(T, android.util.Property<T,java.lang.Float>, android.util.Property<T,java.lang.Float>, android.graphics.Path);
+    method public static android.animation.ObjectAnimator ofInt(Object, String, int...);
+    method public static android.animation.ObjectAnimator ofInt(Object, String, String, android.graphics.Path);
+    method public static <T> android.animation.ObjectAnimator ofInt(T, android.util.Property<T,java.lang.Integer>, int...);
+    method public static <T> android.animation.ObjectAnimator ofInt(T, android.util.Property<T,java.lang.Integer>, android.util.Property<T,java.lang.Integer>, android.graphics.Path);
+    method public static android.animation.ObjectAnimator ofMultiFloat(Object, String, float[][]);
+    method public static android.animation.ObjectAnimator ofMultiFloat(Object, String, android.graphics.Path);
+    method @java.lang.SafeVarargs public static <T> android.animation.ObjectAnimator ofMultiFloat(Object, String, android.animation.TypeConverter<T,float[]>, android.animation.TypeEvaluator<T>, T...);
+    method public static android.animation.ObjectAnimator ofMultiInt(Object, String, int[][]);
+    method public static android.animation.ObjectAnimator ofMultiInt(Object, String, android.graphics.Path);
+    method @java.lang.SafeVarargs public static <T> android.animation.ObjectAnimator ofMultiInt(Object, String, android.animation.TypeConverter<T,int[]>, android.animation.TypeEvaluator<T>, T...);
+    method public static android.animation.ObjectAnimator ofObject(Object, String, android.animation.TypeEvaluator, java.lang.Object...);
+    method @NonNull public static android.animation.ObjectAnimator ofObject(Object, String, @Nullable android.animation.TypeConverter<android.graphics.PointF,?>, android.graphics.Path);
+    method @NonNull @java.lang.SafeVarargs public static <T, V> android.animation.ObjectAnimator ofObject(T, android.util.Property<T,V>, android.animation.TypeEvaluator<V>, V...);
+    method @NonNull @java.lang.SafeVarargs public static <T, V, P> android.animation.ObjectAnimator ofObject(T, android.util.Property<T,P>, android.animation.TypeConverter<V,P>, android.animation.TypeEvaluator<V>, V...);
+    method @NonNull public static <T, V> android.animation.ObjectAnimator ofObject(T, @NonNull android.util.Property<T,V>, @Nullable android.animation.TypeConverter<android.graphics.PointF,V>, android.graphics.Path);
+    method @NonNull public static android.animation.ObjectAnimator ofPropertyValuesHolder(Object, android.animation.PropertyValuesHolder...);
+    method public void setAutoCancel(boolean);
+    method @NonNull public android.animation.ObjectAnimator setDuration(long);
+    method public void setProperty(@NonNull android.util.Property);
+    method public void setPropertyName(@NonNull String);
+  }
+
+  public class PointFEvaluator implements android.animation.TypeEvaluator<android.graphics.PointF> {
+    ctor public PointFEvaluator();
+    ctor public PointFEvaluator(android.graphics.PointF);
+    method public android.graphics.PointF evaluate(float, android.graphics.PointF, android.graphics.PointF);
+  }
+
+  public class PropertyValuesHolder implements java.lang.Cloneable {
+    method public android.animation.PropertyValuesHolder clone();
+    method public String getPropertyName();
+    method public static android.animation.PropertyValuesHolder ofFloat(String, float...);
+    method public static android.animation.PropertyValuesHolder ofFloat(android.util.Property<?,java.lang.Float>, float...);
+    method public static android.animation.PropertyValuesHolder ofInt(String, int...);
+    method public static android.animation.PropertyValuesHolder ofInt(android.util.Property<?,java.lang.Integer>, int...);
+    method public static android.animation.PropertyValuesHolder ofKeyframe(String, android.animation.Keyframe...);
+    method public static android.animation.PropertyValuesHolder ofKeyframe(android.util.Property, android.animation.Keyframe...);
+    method public static android.animation.PropertyValuesHolder ofMultiFloat(String, float[][]);
+    method public static android.animation.PropertyValuesHolder ofMultiFloat(String, android.graphics.Path);
+    method @java.lang.SafeVarargs public static <V> android.animation.PropertyValuesHolder ofMultiFloat(String, android.animation.TypeConverter<V,float[]>, android.animation.TypeEvaluator<V>, V...);
+    method public static <T> android.animation.PropertyValuesHolder ofMultiFloat(String, android.animation.TypeConverter<T,float[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
+    method public static android.animation.PropertyValuesHolder ofMultiInt(String, int[][]);
+    method public static android.animation.PropertyValuesHolder ofMultiInt(String, android.graphics.Path);
+    method @java.lang.SafeVarargs public static <V> android.animation.PropertyValuesHolder ofMultiInt(String, android.animation.TypeConverter<V,int[]>, android.animation.TypeEvaluator<V>, V...);
+    method public static <T> android.animation.PropertyValuesHolder ofMultiInt(String, android.animation.TypeConverter<T,int[]>, android.animation.TypeEvaluator<T>, android.animation.Keyframe...);
+    method public static android.animation.PropertyValuesHolder ofObject(String, android.animation.TypeEvaluator, java.lang.Object...);
+    method public static android.animation.PropertyValuesHolder ofObject(String, android.animation.TypeConverter<android.graphics.PointF,?>, android.graphics.Path);
+    method @java.lang.SafeVarargs public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property, android.animation.TypeEvaluator<V>, V...);
+    method @java.lang.SafeVarargs public static <T, V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?,V>, android.animation.TypeConverter<T,V>, android.animation.TypeEvaluator<T>, T...);
+    method public static <V> android.animation.PropertyValuesHolder ofObject(android.util.Property<?,V>, android.animation.TypeConverter<android.graphics.PointF,V>, android.graphics.Path);
+    method public void setConverter(android.animation.TypeConverter);
+    method public void setEvaluator(android.animation.TypeEvaluator);
+    method public void setFloatValues(float...);
+    method public void setIntValues(int...);
+    method public void setKeyframes(android.animation.Keyframe...);
+    method public void setObjectValues(java.lang.Object...);
+    method public void setProperty(android.util.Property);
+    method public void setPropertyName(String);
+  }
+
+  public class RectEvaluator implements android.animation.TypeEvaluator<android.graphics.Rect> {
+    ctor public RectEvaluator();
+    ctor public RectEvaluator(android.graphics.Rect);
+    method public android.graphics.Rect evaluate(float, android.graphics.Rect, android.graphics.Rect);
+  }
+
+  public class StateListAnimator implements java.lang.Cloneable {
+    ctor public StateListAnimator();
+    method public void addState(int[], android.animation.Animator);
+    method public android.animation.StateListAnimator clone();
+    method public void jumpToCurrentState();
+  }
+
+  public class TimeAnimator extends android.animation.ValueAnimator {
+    ctor public TimeAnimator();
+    method public void setTimeListener(android.animation.TimeAnimator.TimeListener);
+  }
+
+  public static interface TimeAnimator.TimeListener {
+    method public void onTimeUpdate(android.animation.TimeAnimator, long, long);
+  }
+
+  public interface TimeInterpolator {
+    method public float getInterpolation(float);
+  }
+
+  public abstract class TypeConverter<T, V> {
+    ctor public TypeConverter(Class<T>, Class<V>);
+    method public abstract V convert(T);
+  }
+
+  public interface TypeEvaluator<T> {
+    method public T evaluate(float, T, T);
+  }
+
+  public class ValueAnimator extends android.animation.Animator {
+    ctor public ValueAnimator();
+    method public void addUpdateListener(android.animation.ValueAnimator.AnimatorUpdateListener);
+    method public static boolean areAnimatorsEnabled();
+    method public android.animation.ValueAnimator clone();
+    method public float getAnimatedFraction();
+    method public Object getAnimatedValue();
+    method public Object getAnimatedValue(String);
+    method public long getCurrentPlayTime();
+    method public long getDuration();
+    method public static long getFrameDelay();
+    method public int getRepeatCount();
+    method public int getRepeatMode();
+    method public long getStartDelay();
+    method public android.animation.PropertyValuesHolder[] getValues();
+    method public boolean isRunning();
+    method public static android.animation.ValueAnimator ofArgb(int...);
+    method public static android.animation.ValueAnimator ofFloat(float...);
+    method public static android.animation.ValueAnimator ofInt(int...);
+    method public static android.animation.ValueAnimator ofObject(android.animation.TypeEvaluator, java.lang.Object...);
+    method public static android.animation.ValueAnimator ofPropertyValuesHolder(android.animation.PropertyValuesHolder...);
+    method public void removeAllUpdateListeners();
+    method public void removeUpdateListener(android.animation.ValueAnimator.AnimatorUpdateListener);
+    method public void reverse();
+    method public void setCurrentFraction(float);
+    method public void setCurrentPlayTime(long);
+    method public android.animation.ValueAnimator setDuration(long);
+    method public void setEvaluator(android.animation.TypeEvaluator);
+    method public void setFloatValues(float...);
+    method public static void setFrameDelay(long);
+    method public void setIntValues(int...);
+    method public void setInterpolator(android.animation.TimeInterpolator);
+    method public void setObjectValues(java.lang.Object...);
+    method public void setRepeatCount(int);
+    method public void setRepeatMode(int);
+    method public void setStartDelay(long);
+    method public void setValues(android.animation.PropertyValuesHolder...);
+    field public static final int INFINITE = -1; // 0xffffffff
+    field public static final int RESTART = 1; // 0x1
+    field public static final int REVERSE = 2; // 0x2
+  }
+
+  public static interface ValueAnimator.AnimatorUpdateListener {
+    method public void onAnimationUpdate(android.animation.ValueAnimator);
+  }
+
+}
+
+package android.annotation {
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.LOCAL_VARIABLE}) public @interface SuppressLint {
+    method public abstract String[] value();
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.FIELD}) public @interface TargetApi {
+    method public abstract int value();
+  }
+
+}
+
+package android.app {
+
+  public abstract class ActionBar {
+    ctor public ActionBar();
+    method public abstract void addOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener);
+    method @Deprecated public abstract void addTab(android.app.ActionBar.Tab);
+    method @Deprecated public abstract void addTab(android.app.ActionBar.Tab, boolean);
+    method @Deprecated public abstract void addTab(android.app.ActionBar.Tab, int);
+    method @Deprecated public abstract void addTab(android.app.ActionBar.Tab, int, boolean);
+    method public abstract android.view.View getCustomView();
+    method public abstract int getDisplayOptions();
+    method public float getElevation();
+    method public abstract int getHeight();
+    method public int getHideOffset();
+    method @Deprecated public abstract int getNavigationItemCount();
+    method @Deprecated public abstract int getNavigationMode();
+    method @Deprecated public abstract int getSelectedNavigationIndex();
+    method @Deprecated public abstract android.app.ActionBar.Tab getSelectedTab();
+    method public abstract CharSequence getSubtitle();
+    method @Deprecated public abstract android.app.ActionBar.Tab getTabAt(int);
+    method @Deprecated public abstract int getTabCount();
+    method public android.content.Context getThemedContext();
+    method public abstract CharSequence getTitle();
+    method public abstract void hide();
+    method public boolean isHideOnContentScrollEnabled();
+    method public abstract boolean isShowing();
+    method @Deprecated public abstract android.app.ActionBar.Tab newTab();
+    method @Deprecated public abstract void removeAllTabs();
+    method public abstract void removeOnMenuVisibilityListener(android.app.ActionBar.OnMenuVisibilityListener);
+    method @Deprecated public abstract void removeTab(android.app.ActionBar.Tab);
+    method @Deprecated public abstract void removeTabAt(int);
+    method @Deprecated public abstract void selectTab(android.app.ActionBar.Tab);
+    method public abstract void setBackgroundDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public abstract void setCustomView(android.view.View);
+    method public abstract void setCustomView(android.view.View, android.app.ActionBar.LayoutParams);
+    method public abstract void setCustomView(@LayoutRes int);
+    method public abstract void setDisplayHomeAsUpEnabled(boolean);
+    method public abstract void setDisplayOptions(int);
+    method public abstract void setDisplayOptions(int, int);
+    method public abstract void setDisplayShowCustomEnabled(boolean);
+    method public abstract void setDisplayShowHomeEnabled(boolean);
+    method public abstract void setDisplayShowTitleEnabled(boolean);
+    method public abstract void setDisplayUseLogoEnabled(boolean);
+    method public void setElevation(float);
+    method public void setHideOffset(int);
+    method public void setHideOnContentScrollEnabled(boolean);
+    method public void setHomeActionContentDescription(CharSequence);
+    method public void setHomeActionContentDescription(@StringRes int);
+    method public void setHomeAsUpIndicator(android.graphics.drawable.Drawable);
+    method public void setHomeAsUpIndicator(@DrawableRes int);
+    method public void setHomeButtonEnabled(boolean);
+    method public abstract void setIcon(@DrawableRes int);
+    method public abstract void setIcon(android.graphics.drawable.Drawable);
+    method @Deprecated public abstract void setListNavigationCallbacks(android.widget.SpinnerAdapter, android.app.ActionBar.OnNavigationListener);
+    method public abstract void setLogo(@DrawableRes int);
+    method public abstract void setLogo(android.graphics.drawable.Drawable);
+    method @Deprecated public abstract void setNavigationMode(int);
+    method @Deprecated public abstract void setSelectedNavigationItem(int);
+    method public void setSplitBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setStackedBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public abstract void setSubtitle(CharSequence);
+    method public abstract void setSubtitle(@StringRes int);
+    method public abstract void setTitle(CharSequence);
+    method public abstract void setTitle(@StringRes int);
+    method public abstract void show();
+    field public static final int DISPLAY_HOME_AS_UP = 4; // 0x4
+    field public static final int DISPLAY_SHOW_CUSTOM = 16; // 0x10
+    field public static final int DISPLAY_SHOW_HOME = 2; // 0x2
+    field public static final int DISPLAY_SHOW_TITLE = 8; // 0x8
+    field public static final int DISPLAY_USE_LOGO = 1; // 0x1
+    field @Deprecated public static final int NAVIGATION_MODE_LIST = 1; // 0x1
+    field @Deprecated public static final int NAVIGATION_MODE_STANDARD = 0; // 0x0
+    field @Deprecated public static final int NAVIGATION_MODE_TABS = 2; // 0x2
+  }
+
+  public static class ActionBar.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+    ctor public ActionBar.LayoutParams(@NonNull android.content.Context, android.util.AttributeSet);
+    ctor public ActionBar.LayoutParams(int, int);
+    ctor public ActionBar.LayoutParams(int, int, int);
+    ctor public ActionBar.LayoutParams(int);
+    ctor public ActionBar.LayoutParams(android.app.ActionBar.LayoutParams);
+    ctor public ActionBar.LayoutParams(android.view.ViewGroup.LayoutParams);
+    field public int gravity;
+  }
+
+  public static interface ActionBar.OnMenuVisibilityListener {
+    method public void onMenuVisibilityChanged(boolean);
+  }
+
+  @Deprecated public static interface ActionBar.OnNavigationListener {
+    method @Deprecated public boolean onNavigationItemSelected(int, long);
+  }
+
+  @Deprecated public abstract static class ActionBar.Tab {
+    ctor @Deprecated public ActionBar.Tab();
+    method @Deprecated public abstract CharSequence getContentDescription();
+    method @Deprecated public abstract android.view.View getCustomView();
+    method @Deprecated public abstract android.graphics.drawable.Drawable getIcon();
+    method @Deprecated public abstract int getPosition();
+    method @Deprecated public abstract Object getTag();
+    method @Deprecated public abstract CharSequence getText();
+    method @Deprecated public abstract void select();
+    method @Deprecated public abstract android.app.ActionBar.Tab setContentDescription(@StringRes int);
+    method @Deprecated public abstract android.app.ActionBar.Tab setContentDescription(CharSequence);
+    method @Deprecated public abstract android.app.ActionBar.Tab setCustomView(android.view.View);
+    method @Deprecated public abstract android.app.ActionBar.Tab setCustomView(@LayoutRes int);
+    method @Deprecated public abstract android.app.ActionBar.Tab setIcon(android.graphics.drawable.Drawable);
+    method @Deprecated public abstract android.app.ActionBar.Tab setIcon(@DrawableRes int);
+    method @Deprecated public abstract android.app.ActionBar.Tab setTabListener(android.app.ActionBar.TabListener);
+    method @Deprecated public abstract android.app.ActionBar.Tab setTag(Object);
+    method @Deprecated public abstract android.app.ActionBar.Tab setText(CharSequence);
+    method @Deprecated public abstract android.app.ActionBar.Tab setText(@StringRes int);
+    field @Deprecated public static final int INVALID_POSITION = -1; // 0xffffffff
+  }
+
+  @Deprecated public static interface ActionBar.TabListener {
+    method @Deprecated public void onTabReselected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
+    method @Deprecated public void onTabSelected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
+    method @Deprecated public void onTabUnselected(android.app.ActionBar.Tab, android.app.FragmentTransaction);
+  }
+
+  @UiContext public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
+    ctor public Activity();
+    method public void addContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public void closeContextMenu();
+    method public void closeOptionsMenu();
+    method public android.app.PendingIntent createPendingResult(int, @NonNull android.content.Intent, int);
+    method @Deprecated public final void dismissDialog(int);
+    method public final void dismissKeyboardShortcutsHelper();
+    method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+    method public boolean dispatchKeyEvent(android.view.KeyEvent);
+    method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+    method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public boolean dispatchTouchEvent(android.view.MotionEvent);
+    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+    method public void dump(@NonNull String, @Nullable java.io.FileDescriptor, @NonNull java.io.PrintWriter, @Nullable String[]);
+    method @Deprecated public void enterPictureInPictureMode();
+    method public boolean enterPictureInPictureMode(@NonNull android.app.PictureInPictureParams);
+    method public <T extends android.view.View> T findViewById(@IdRes int);
+    method public void finish();
+    method public void finishActivity(int);
+    method @Deprecated public void finishActivityFromChild(@NonNull android.app.Activity, int);
+    method public void finishAffinity();
+    method public void finishAfterTransition();
+    method public void finishAndRemoveTask();
+    method @Deprecated public void finishFromChild(android.app.Activity);
+    method @Nullable public android.app.ActionBar getActionBar();
+    method public final android.app.Application getApplication();
+    method @Nullable public android.content.ComponentName getCallingActivity();
+    method @Nullable public String getCallingPackage();
+    method public int getChangingConfigurations();
+    method public android.content.ComponentName getComponentName();
+    method public android.transition.Scene getContentScene();
+    method public android.transition.TransitionManager getContentTransitionManager();
+    method @Nullable public android.view.View getCurrentFocus();
+    method @Deprecated public android.app.FragmentManager getFragmentManager();
+    method public android.content.Intent getIntent();
+    method @Nullable public Object getLastNonConfigurationInstance();
+    method @NonNull public android.view.LayoutInflater getLayoutInflater();
+    method @Deprecated public android.app.LoaderManager getLoaderManager();
+    method @NonNull public String getLocalClassName();
+    method public int getMaxNumPictureInPictureActions();
+    method public final android.media.session.MediaController getMediaController();
+    method @NonNull public android.view.MenuInflater getMenuInflater();
+    method public final android.app.Activity getParent();
+    method @Nullable public android.content.Intent getParentActivityIntent();
+    method public android.content.SharedPreferences getPreferences(int);
+    method @Nullable public android.net.Uri getReferrer();
+    method public int getRequestedOrientation();
+    method public final android.view.SearchEvent getSearchEvent();
+    method @NonNull public final android.window.SplashScreen getSplashScreen();
+    method public int getTaskId();
+    method public final CharSequence getTitle();
+    method public final int getTitleColor();
+    method public android.app.VoiceInteractor getVoiceInteractor();
+    method public final int getVolumeControlStream();
+    method public android.view.Window getWindow();
+    method public android.view.WindowManager getWindowManager();
+    method public boolean hasWindowFocus();
+    method public void invalidateOptionsMenu();
+    method public boolean isActivityTransitionRunning();
+    method public boolean isChangingConfigurations();
+    method public final boolean isChild();
+    method public boolean isDestroyed();
+    method public boolean isFinishing();
+    method public boolean isImmersive();
+    method public boolean isInMultiWindowMode();
+    method public boolean isInPictureInPictureMode();
+    method public boolean isLaunchedFromBubble();
+    method public boolean isLocalVoiceInteractionSupported();
+    method public boolean isTaskRoot();
+    method public boolean isVoiceInteraction();
+    method public boolean isVoiceInteractionRoot();
+    method @Deprecated public final android.database.Cursor managedQuery(android.net.Uri, String[], String, String[], String);
+    method public boolean moveTaskToBack(boolean);
+    method public boolean navigateUpTo(android.content.Intent);
+    method @Deprecated public boolean navigateUpToFromChild(android.app.Activity, android.content.Intent);
+    method @CallSuper public void onActionModeFinished(android.view.ActionMode);
+    method @CallSuper public void onActionModeStarted(android.view.ActionMode);
+    method public void onActivityReenter(int, android.content.Intent);
+    method protected void onActivityResult(int, int, android.content.Intent);
+    method @Deprecated public void onAttachFragment(android.app.Fragment);
+    method public void onAttachedToWindow();
+    method public void onBackPressed();
+    method protected void onChildTitleChanged(android.app.Activity, CharSequence);
+    method public void onConfigurationChanged(@NonNull android.content.res.Configuration);
+    method public void onContentChanged();
+    method public boolean onContextItemSelected(@NonNull android.view.MenuItem);
+    method public void onContextMenuClosed(@NonNull android.view.Menu);
+    method @CallSuper @MainThread protected void onCreate(@Nullable android.os.Bundle);
+    method public void onCreate(@Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
+    method public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+    method @Nullable public CharSequence onCreateDescription();
+    method @Deprecated protected android.app.Dialog onCreateDialog(int);
+    method @Deprecated @Nullable protected android.app.Dialog onCreateDialog(int, android.os.Bundle);
+    method public void onCreateNavigateUpTaskStack(android.app.TaskStackBuilder);
+    method public boolean onCreateOptionsMenu(android.view.Menu);
+    method public boolean onCreatePanelMenu(int, @NonNull android.view.Menu);
+    method @Nullable public android.view.View onCreatePanelView(int);
+    method @Deprecated public boolean onCreateThumbnail(android.graphics.Bitmap, android.graphics.Canvas);
+    method @Nullable public android.view.View onCreateView(@NonNull String, @NonNull android.content.Context, @NonNull android.util.AttributeSet);
+    method @Nullable public android.view.View onCreateView(@Nullable android.view.View, @NonNull String, @NonNull android.content.Context, @NonNull android.util.AttributeSet);
+    method @CallSuper protected void onDestroy();
+    method public void onDetachedFromWindow();
+    method public void onEnterAnimationComplete();
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public void onGetDirectActions(@NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<java.util.List<android.app.DirectAction>>);
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyShortcut(int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public void onLocalVoiceInteractionStarted();
+    method public void onLocalVoiceInteractionStopped();
+    method public void onLowMemory();
+    method public boolean onMenuItemSelected(int, @NonNull android.view.MenuItem);
+    method public boolean onMenuOpened(int, @NonNull android.view.Menu);
+    method public void onMultiWindowModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public void onMultiWindowModeChanged(boolean);
+    method public boolean onNavigateUp();
+    method @Deprecated public boolean onNavigateUpFromChild(android.app.Activity);
+    method protected void onNewIntent(android.content.Intent);
+    method public boolean onOptionsItemSelected(@NonNull android.view.MenuItem);
+    method public void onOptionsMenuClosed(android.view.Menu);
+    method public void onPanelClosed(int, @NonNull android.view.Menu);
+    method @CallSuper protected void onPause();
+    method public void onPerformDirectAction(@NonNull String, @NonNull android.os.Bundle, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.os.Bundle>);
+    method public void onPictureInPictureModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public void onPictureInPictureModeChanged(boolean);
+    method public boolean onPictureInPictureRequested();
+    method public void onPictureInPictureUiStateChanged(@NonNull android.app.PictureInPictureUiState);
+    method @CallSuper protected void onPostCreate(@Nullable android.os.Bundle);
+    method public void onPostCreate(@Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
+    method @CallSuper protected void onPostResume();
+    method @Deprecated protected void onPrepareDialog(int, android.app.Dialog);
+    method @Deprecated protected void onPrepareDialog(int, android.app.Dialog, android.os.Bundle);
+    method public void onPrepareNavigateUpTaskStack(android.app.TaskStackBuilder);
+    method public boolean onPrepareOptionsMenu(android.view.Menu);
+    method public boolean onPreparePanel(int, @Nullable android.view.View, @NonNull android.view.Menu);
+    method public void onProvideAssistContent(android.app.assist.AssistContent);
+    method public void onProvideAssistData(android.os.Bundle);
+    method public android.net.Uri onProvideReferrer();
+    method public void onRequestPermissionsResult(int, @NonNull String[], @NonNull int[]);
+    method @CallSuper protected void onRestart();
+    method protected void onRestoreInstanceState(@NonNull android.os.Bundle);
+    method public void onRestoreInstanceState(@Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
+    method @CallSuper protected void onResume();
+    method public Object onRetainNonConfigurationInstance();
+    method protected void onSaveInstanceState(@NonNull android.os.Bundle);
+    method public void onSaveInstanceState(@NonNull android.os.Bundle, @NonNull android.os.PersistableBundle);
+    method public boolean onSearchRequested(@Nullable android.view.SearchEvent);
+    method public boolean onSearchRequested();
+    method @CallSuper protected void onStart();
+    method @Deprecated public void onStateNotSaved();
+    method @CallSuper protected void onStop();
+    method protected void onTitleChanged(CharSequence, int);
+    method public void onTopResumedActivityChanged(boolean);
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.view.MotionEvent);
+    method public void onTrimMemory(int);
+    method public void onUserInteraction();
+    method protected void onUserLeaveHint();
+    method @Deprecated @CallSuper public void onVisibleBehindCanceled();
+    method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+    method public void onWindowFocusChanged(boolean);
+    method @Nullable public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method @Nullable public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
+    method public void openContextMenu(android.view.View);
+    method public void openOptionsMenu();
+    method public void overridePendingTransition(int, int);
+    method public void postponeEnterTransition();
+    method public void recreate();
+    method public void registerActivityLifecycleCallbacks(@NonNull android.app.Application.ActivityLifecycleCallbacks);
+    method public void registerForContextMenu(android.view.View);
+    method public boolean releaseInstance();
+    method @Deprecated public final void removeDialog(int);
+    method public void reportFullyDrawn();
+    method public android.view.DragAndDropPermissions requestDragAndDropPermissions(android.view.DragEvent);
+    method public final void requestPermissions(@NonNull String[], int);
+    method public final void requestShowKeyboardShortcuts();
+    method @Deprecated public boolean requestVisibleBehind(boolean);
+    method public final boolean requestWindowFeature(int);
+    method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
+    method public final void runOnUiThread(Runnable);
+    method public void setActionBar(@Nullable android.widget.Toolbar);
+    method public void setContentTransitionManager(android.transition.TransitionManager);
+    method public void setContentView(@LayoutRes int);
+    method public void setContentView(android.view.View);
+    method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public final void setDefaultKeyMode(int);
+    method public void setEnterSharedElementCallback(android.app.SharedElementCallback);
+    method public void setExitSharedElementCallback(android.app.SharedElementCallback);
+    method public final void setFeatureDrawable(int, android.graphics.drawable.Drawable);
+    method public final void setFeatureDrawableAlpha(int, int);
+    method public final void setFeatureDrawableResource(int, @DrawableRes int);
+    method public final void setFeatureDrawableUri(int, android.net.Uri);
+    method public void setFinishOnTouchOutside(boolean);
+    method public void setImmersive(boolean);
+    method public void setInheritShowWhenLocked(boolean);
+    method public void setIntent(android.content.Intent);
+    method public void setLocusContext(@Nullable android.content.LocusId, @Nullable android.os.Bundle);
+    method public final void setMediaController(android.media.session.MediaController);
+    method public void setPictureInPictureParams(@NonNull android.app.PictureInPictureParams);
+    method @Deprecated public final void setProgress(int);
+    method @Deprecated public final void setProgressBarIndeterminate(boolean);
+    method @Deprecated public final void setProgressBarIndeterminateVisibility(boolean);
+    method @Deprecated public final void setProgressBarVisibility(boolean);
+    method public void setRequestedOrientation(int);
+    method public final void setResult(int);
+    method public final void setResult(int, android.content.Intent);
+    method @Deprecated public final void setSecondaryProgress(int);
+    method public void setShowWhenLocked(boolean);
+    method public void setTaskDescription(android.app.ActivityManager.TaskDescription);
+    method public void setTitle(CharSequence);
+    method public void setTitle(int);
+    method @Deprecated public void setTitleColor(int);
+    method public boolean setTranslucent(boolean);
+    method public void setTurnScreenOn(boolean);
+    method public void setVisible(boolean);
+    method public final void setVolumeControlStream(int);
+    method public void setVrModeEnabled(boolean, @NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public boolean shouldShowRequestPermissionRationale(@NonNull String);
+    method public boolean shouldUpRecreateTask(android.content.Intent);
+    method public boolean showAssist(android.os.Bundle);
+    method @Deprecated public final void showDialog(int);
+    method @Deprecated public final boolean showDialog(int, android.os.Bundle);
+    method public void showLockTaskEscapeMessage();
+    method @Nullable public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
+    method @Nullable public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int);
+    method public void startActivityForResult(@RequiresPermission android.content.Intent, int);
+    method public void startActivityForResult(@RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle);
+    method @Deprecated public void startActivityFromChild(@NonNull android.app.Activity, @RequiresPermission android.content.Intent, int);
+    method @Deprecated public void startActivityFromChild(@NonNull android.app.Activity, @RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle);
+    method @Deprecated public void startActivityFromFragment(@NonNull android.app.Fragment, @RequiresPermission android.content.Intent, int);
+    method @Deprecated public void startActivityFromFragment(@NonNull android.app.Fragment, @RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle);
+    method public boolean startActivityIfNeeded(@NonNull @RequiresPermission android.content.Intent, int);
+    method public boolean startActivityIfNeeded(@NonNull @RequiresPermission android.content.Intent, int, @Nullable android.os.Bundle);
+    method public void startIntentSenderForResult(android.content.IntentSender, int, @Nullable android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+    method public void startIntentSenderForResult(android.content.IntentSender, int, @Nullable android.content.Intent, int, int, int, @Nullable android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method @Deprecated public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+    method @Deprecated public void startIntentSenderFromChild(android.app.Activity, android.content.IntentSender, int, android.content.Intent, int, int, int, @Nullable android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method public void startLocalVoiceInteraction(android.os.Bundle);
+    method public void startLockTask();
+    method @Deprecated public void startManagingCursor(android.database.Cursor);
+    method public boolean startNextMatchingActivity(@NonNull @RequiresPermission android.content.Intent);
+    method public boolean startNextMatchingActivity(@NonNull @RequiresPermission android.content.Intent, @Nullable android.os.Bundle);
+    method public void startPostponedEnterTransition();
+    method public void startSearch(@Nullable String, boolean, @Nullable android.os.Bundle, boolean);
+    method public void stopLocalVoiceInteraction();
+    method public void stopLockTask();
+    method @Deprecated public void stopManagingCursor(android.database.Cursor);
+    method public void takeKeyEvents(boolean);
+    method public void triggerSearch(String, @Nullable android.os.Bundle);
+    method public void unregisterActivityLifecycleCallbacks(@NonNull android.app.Application.ActivityLifecycleCallbacks);
+    method public void unregisterForContextMenu(android.view.View);
+    field public static final int DEFAULT_KEYS_DIALER = 1; // 0x1
+    field public static final int DEFAULT_KEYS_DISABLE = 0; // 0x0
+    field public static final int DEFAULT_KEYS_SEARCH_GLOBAL = 4; // 0x4
+    field public static final int DEFAULT_KEYS_SEARCH_LOCAL = 3; // 0x3
+    field public static final int DEFAULT_KEYS_SHORTCUT = 2; // 0x2
+    field protected static final int[] FOCUSED_STATE_SET;
+    field public static final int RESULT_CANCELED = 0; // 0x0
+    field public static final int RESULT_FIRST_USER = 1; // 0x1
+    field public static final int RESULT_OK = -1; // 0xffffffff
+  }
+
+  @Deprecated public class ActivityGroup extends android.app.Activity {
+    ctor @Deprecated public ActivityGroup();
+    ctor @Deprecated public ActivityGroup(boolean);
+    method @Deprecated public android.app.Activity getCurrentActivity();
+    method @Deprecated public final android.app.LocalActivityManager getLocalActivityManager();
+  }
+
+  public class ActivityManager {
+    method public int addAppTask(@NonNull android.app.Activity, @NonNull android.content.Intent, @Nullable android.app.ActivityManager.TaskDescription, @NonNull android.graphics.Bitmap);
+    method public void appNotResponding(@NonNull String);
+    method public boolean clearApplicationUserData();
+    method public void clearWatchHeapLimit();
+    method @RequiresPermission(android.Manifest.permission.DUMP) public void dumpPackageState(java.io.FileDescriptor, String);
+    method public android.util.Size getAppTaskThumbnailSize();
+    method public java.util.List<android.app.ActivityManager.AppTask> getAppTasks();
+    method public android.content.pm.ConfigurationInfo getDeviceConfigurationInfo();
+    method @NonNull public java.util.List<android.app.ApplicationExitInfo> getHistoricalProcessExitReasons(@Nullable String, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public int getLargeMemoryClass();
+    method public int getLauncherLargeIconDensity();
+    method public int getLauncherLargeIconSize();
+    method public int getLockTaskModeState();
+    method public int getMemoryClass();
+    method public void getMemoryInfo(android.app.ActivityManager.MemoryInfo);
+    method public static void getMyMemoryState(android.app.ActivityManager.RunningAppProcessInfo);
+    method public android.os.Debug.MemoryInfo[] getProcessMemoryInfo(int[]);
+    method public java.util.List<android.app.ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState();
+    method @Deprecated public java.util.List<android.app.ActivityManager.RecentTaskInfo> getRecentTasks(int, int) throws java.lang.SecurityException;
+    method public java.util.List<android.app.ActivityManager.RunningAppProcessInfo> getRunningAppProcesses();
+    method public android.app.PendingIntent getRunningServiceControlPanel(android.content.ComponentName) throws java.lang.SecurityException;
+    method @Deprecated public java.util.List<android.app.ActivityManager.RunningServiceInfo> getRunningServices(int) throws java.lang.SecurityException;
+    method @Deprecated public java.util.List<android.app.ActivityManager.RunningTaskInfo> getRunningTasks(int) throws java.lang.SecurityException;
+    method public boolean isActivityStartAllowedOnDisplay(@NonNull android.content.Context, int, @NonNull android.content.Intent);
+    method public boolean isBackgroundRestricted();
+    method @Deprecated public boolean isInLockTaskMode();
+    method public static boolean isLowMemoryKillReportSupported();
+    method public boolean isLowRamDevice();
+    method @Deprecated public static boolean isRunningInTestHarness();
+    method public static boolean isRunningInUserTestHarness();
+    method public static boolean isUserAMonkey();
+    method @RequiresPermission(android.Manifest.permission.KILL_BACKGROUND_PROCESSES) public void killBackgroundProcesses(String);
+    method @RequiresPermission(android.Manifest.permission.REORDER_TASKS) public void moveTaskToFront(int, int);
+    method @RequiresPermission(android.Manifest.permission.REORDER_TASKS) public void moveTaskToFront(int, int, android.os.Bundle);
+    method @Deprecated public void restartPackage(String);
+    method public void setProcessStateSummary(@Nullable byte[]);
+    method public static void setVrThread(int);
+    method public void setWatchHeapLimit(long);
+    field public static final String ACTION_REPORT_HEAP_LIMIT = "android.app.action.REPORT_HEAP_LIMIT";
+    field public static final int LOCK_TASK_MODE_LOCKED = 1; // 0x1
+    field public static final int LOCK_TASK_MODE_NONE = 0; // 0x0
+    field public static final int LOCK_TASK_MODE_PINNED = 2; // 0x2
+    field public static final String META_HOME_ALTERNATE = "android.app.home.alternate";
+    field public static final int MOVE_TASK_NO_USER_ACTION = 2; // 0x2
+    field public static final int MOVE_TASK_WITH_HOME = 1; // 0x1
+    field public static final int RECENT_IGNORE_UNAVAILABLE = 2; // 0x2
+    field public static final int RECENT_WITH_EXCLUDED = 1; // 0x1
+  }
+
+  public static class ActivityManager.AppTask {
+    method public void finishAndRemoveTask();
+    method public android.app.ActivityManager.RecentTaskInfo getTaskInfo();
+    method public void moveToFront();
+    method public void setExcludeFromRecents(boolean);
+    method public void startActivity(android.content.Context, android.content.Intent, android.os.Bundle);
+  }
+
+  public static class ActivityManager.MemoryInfo implements android.os.Parcelable {
+    ctor public ActivityManager.MemoryInfo();
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.MemoryInfo> CREATOR;
+    field public long availMem;
+    field public boolean lowMemory;
+    field public long threshold;
+    field public long totalMem;
+  }
+
+  public static class ActivityManager.ProcessErrorStateInfo implements android.os.Parcelable {
+    ctor public ActivityManager.ProcessErrorStateInfo();
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CRASHED = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.ProcessErrorStateInfo> CREATOR;
+    field public static final int NOT_RESPONDING = 2; // 0x2
+    field public static final int NO_ERROR = 0; // 0x0
+    field public int condition;
+    field public byte[] crashData;
+    field public String longMsg;
+    field public int pid;
+    field public String processName;
+    field public String shortMsg;
+    field public String stackTrace;
+    field public String tag;
+    field public int uid;
+  }
+
+  public static class ActivityManager.RecentTaskInfo extends android.app.TaskInfo implements android.os.Parcelable {
+    ctor public ActivityManager.RecentTaskInfo();
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RecentTaskInfo> CREATOR;
+    field @Deprecated public int affiliatedTaskId;
+    field @Deprecated public CharSequence description;
+    field @Deprecated public int id;
+    field @Deprecated public int persistentId;
+  }
+
+  public static class ActivityManager.RunningAppProcessInfo implements android.os.Parcelable {
+    ctor public ActivityManager.RunningAppProcessInfo();
+    ctor public ActivityManager.RunningAppProcessInfo(String, int, String[]);
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningAppProcessInfo> CREATOR;
+    field @Deprecated public static final int IMPORTANCE_BACKGROUND = 400; // 0x190
+    field public static final int IMPORTANCE_CACHED = 400; // 0x190
+    field public static final int IMPORTANCE_CANT_SAVE_STATE = 350; // 0x15e
+    field @Deprecated public static final int IMPORTANCE_EMPTY = 500; // 0x1f4
+    field public static final int IMPORTANCE_FOREGROUND = 100; // 0x64
+    field public static final int IMPORTANCE_FOREGROUND_SERVICE = 125; // 0x7d
+    field public static final int IMPORTANCE_GONE = 1000; // 0x3e8
+    field public static final int IMPORTANCE_PERCEPTIBLE = 230; // 0xe6
+    field public static final int IMPORTANCE_PERCEPTIBLE_PRE_26 = 130; // 0x82
+    field public static final int IMPORTANCE_SERVICE = 300; // 0x12c
+    field public static final int IMPORTANCE_TOP_SLEEPING = 325; // 0x145
+    field @Deprecated public static final int IMPORTANCE_TOP_SLEEPING_PRE_28 = 150; // 0x96
+    field public static final int IMPORTANCE_VISIBLE = 200; // 0xc8
+    field public static final int REASON_PROVIDER_IN_USE = 1; // 0x1
+    field public static final int REASON_SERVICE_IN_USE = 2; // 0x2
+    field public static final int REASON_UNKNOWN = 0; // 0x0
+    field public int importance;
+    field public int importanceReasonCode;
+    field public android.content.ComponentName importanceReasonComponent;
+    field public int importanceReasonPid;
+    field public int lastTrimLevel;
+    field public int lru;
+    field public int pid;
+    field public String[] pkgList;
+    field public String processName;
+    field public int uid;
+  }
+
+  public static class ActivityManager.RunningServiceInfo implements android.os.Parcelable {
+    ctor public ActivityManager.RunningServiceInfo();
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningServiceInfo> CREATOR;
+    field public static final int FLAG_FOREGROUND = 2; // 0x2
+    field public static final int FLAG_PERSISTENT_PROCESS = 8; // 0x8
+    field public static final int FLAG_STARTED = 1; // 0x1
+    field public static final int FLAG_SYSTEM_PROCESS = 4; // 0x4
+    field public long activeSince;
+    field public int clientCount;
+    field public int clientLabel;
+    field public String clientPackage;
+    field public int crashCount;
+    field public int flags;
+    field public boolean foreground;
+    field public long lastActivityTime;
+    field public int pid;
+    field public String process;
+    field public long restarting;
+    field public android.content.ComponentName service;
+    field public boolean started;
+    field public int uid;
+  }
+
+  public static class ActivityManager.RunningTaskInfo extends android.app.TaskInfo implements android.os.Parcelable {
+    ctor public ActivityManager.RunningTaskInfo();
+    method public int describeContents();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningTaskInfo> CREATOR;
+    field @Deprecated public CharSequence description;
+    field @Deprecated public int id;
+    field @Deprecated public int numRunning;
+    field @Deprecated public android.graphics.Bitmap thumbnail;
+  }
+
+  public static class ActivityManager.TaskDescription implements android.os.Parcelable {
+    ctor public ActivityManager.TaskDescription(String, @DrawableRes int, int);
+    ctor public ActivityManager.TaskDescription(String, @DrawableRes int);
+    ctor public ActivityManager.TaskDescription(String);
+    ctor public ActivityManager.TaskDescription();
+    ctor @Deprecated public ActivityManager.TaskDescription(String, android.graphics.Bitmap, int);
+    ctor @Deprecated public ActivityManager.TaskDescription(String, android.graphics.Bitmap);
+    ctor public ActivityManager.TaskDescription(android.app.ActivityManager.TaskDescription);
+    method public int describeContents();
+    method @Deprecated public android.graphics.Bitmap getIcon();
+    method public String getLabel();
+    method public int getPrimaryColor();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.TaskDescription> CREATOR;
+  }
+
+  public class ActivityOptions {
+    method @Nullable public android.graphics.Rect getLaunchBounds();
+    method public int getLaunchDisplayId();
+    method public boolean getLockTaskMode();
+    method public static android.app.ActivityOptions makeBasic();
+    method public static android.app.ActivityOptions makeClipRevealAnimation(android.view.View, int, int, int, int);
+    method public static android.app.ActivityOptions makeCustomAnimation(android.content.Context, int, int);
+    method public static android.app.ActivityOptions makeScaleUpAnimation(android.view.View, int, int, int, int);
+    method public static android.app.ActivityOptions makeSceneTransitionAnimation(android.app.Activity, android.view.View, String);
+    method @java.lang.SafeVarargs public static android.app.ActivityOptions makeSceneTransitionAnimation(android.app.Activity, android.util.Pair<android.view.View,java.lang.String>...);
+    method public static android.app.ActivityOptions makeTaskLaunchBehind();
+    method public static android.app.ActivityOptions makeThumbnailScaleUpAnimation(android.view.View, android.graphics.Bitmap, int, int);
+    method public void requestUsageTimeReport(android.app.PendingIntent);
+    method public android.app.ActivityOptions setAppVerificationBundle(android.os.Bundle);
+    method public android.app.ActivityOptions setLaunchBounds(@Nullable android.graphics.Rect);
+    method public android.app.ActivityOptions setLaunchDisplayId(int);
+    method public android.app.ActivityOptions setLockTaskEnabled(boolean);
+    method public android.os.Bundle toBundle();
+    method public void update(android.app.ActivityOptions);
+    field public static final String EXTRA_USAGE_TIME_REPORT = "android.activity.usage_time";
+    field public static final String EXTRA_USAGE_TIME_REPORT_PACKAGES = "android.usage_time_packages";
+  }
+
+  public class AlarmManager {
+    method public boolean canScheduleExactAlarms();
+    method public void cancel(android.app.PendingIntent);
+    method public void cancel(android.app.AlarmManager.OnAlarmListener);
+    method public android.app.AlarmManager.AlarmClockInfo getNextAlarmClock();
+    method public void set(int, long, android.app.PendingIntent);
+    method public void set(int, long, String, android.app.AlarmManager.OnAlarmListener, android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.SCHEDULE_EXACT_ALARM) public void setAlarmClock(android.app.AlarmManager.AlarmClockInfo, android.app.PendingIntent);
+    method public void setAndAllowWhileIdle(int, long, android.app.PendingIntent);
+    method @RequiresPermission(value=android.Manifest.permission.SCHEDULE_EXACT_ALARM, conditional=true) public void setExact(int, long, android.app.PendingIntent);
+    method @RequiresPermission(value=android.Manifest.permission.SCHEDULE_EXACT_ALARM, conditional=true) public void setExact(int, long, String, android.app.AlarmManager.OnAlarmListener, android.os.Handler);
+    method @RequiresPermission(value=android.Manifest.permission.SCHEDULE_EXACT_ALARM, conditional=true) public void setExactAndAllowWhileIdle(int, long, android.app.PendingIntent);
+    method public void setInexactRepeating(int, long, long, android.app.PendingIntent);
+    method public void setRepeating(int, long, long, android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.SET_TIME) public void setTime(long);
+    method @RequiresPermission(android.Manifest.permission.SET_TIME_ZONE) public void setTimeZone(String);
+    method public void setWindow(int, long, long, android.app.PendingIntent);
+    method public void setWindow(int, long, long, String, android.app.AlarmManager.OnAlarmListener, android.os.Handler);
+    field public static final String ACTION_NEXT_ALARM_CLOCK_CHANGED = "android.app.action.NEXT_ALARM_CLOCK_CHANGED";
+    field public static final String ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED = "android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED";
+    field public static final int ELAPSED_REALTIME = 3; // 0x3
+    field public static final int ELAPSED_REALTIME_WAKEUP = 2; // 0x2
+    field public static final long INTERVAL_DAY = 86400000L; // 0x5265c00L
+    field public static final long INTERVAL_FIFTEEN_MINUTES = 900000L; // 0xdbba0L
+    field public static final long INTERVAL_HALF_DAY = 43200000L; // 0x2932e00L
+    field public static final long INTERVAL_HALF_HOUR = 1800000L; // 0x1b7740L
+    field public static final long INTERVAL_HOUR = 3600000L; // 0x36ee80L
+    field public static final int RTC = 1; // 0x1
+    field public static final int RTC_WAKEUP = 0; // 0x0
+  }
+
+  public static final class AlarmManager.AlarmClockInfo implements android.os.Parcelable {
+    ctor public AlarmManager.AlarmClockInfo(long, android.app.PendingIntent);
+    method public int describeContents();
+    method public android.app.PendingIntent getShowIntent();
+    method public long getTriggerTime();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AlarmManager.AlarmClockInfo> CREATOR;
+  }
+
+  public static interface AlarmManager.OnAlarmListener {
+    method public void onAlarm();
+  }
+
+  public class AlertDialog extends android.app.Dialog implements android.content.DialogInterface {
+    ctor protected AlertDialog(android.content.Context);
+    ctor protected AlertDialog(android.content.Context, boolean, android.content.DialogInterface.OnCancelListener);
+    ctor protected AlertDialog(android.content.Context, @StyleRes int);
+    method public android.widget.Button getButton(int);
+    method public android.widget.ListView getListView();
+    method public void setButton(int, CharSequence, android.os.Message);
+    method public void setButton(int, CharSequence, android.content.DialogInterface.OnClickListener);
+    method @Deprecated public void setButton(CharSequence, android.os.Message);
+    method @Deprecated public void setButton(CharSequence, android.content.DialogInterface.OnClickListener);
+    method @Deprecated public void setButton2(CharSequence, android.os.Message);
+    method @Deprecated public void setButton2(CharSequence, android.content.DialogInterface.OnClickListener);
+    method @Deprecated public void setButton3(CharSequence, android.os.Message);
+    method @Deprecated public void setButton3(CharSequence, android.content.DialogInterface.OnClickListener);
+    method public void setCustomTitle(android.view.View);
+    method public void setIcon(@DrawableRes int);
+    method public void setIcon(android.graphics.drawable.Drawable);
+    method public void setIconAttribute(@AttrRes int);
+    method public void setInverseBackgroundForced(boolean);
+    method public void setMessage(CharSequence);
+    method public void setView(android.view.View);
+    method public void setView(android.view.View, int, int, int, int);
+    field @Deprecated public static final int THEME_DEVICE_DEFAULT_DARK = 4; // 0x4
+    field @Deprecated public static final int THEME_DEVICE_DEFAULT_LIGHT = 5; // 0x5
+    field @Deprecated public static final int THEME_HOLO_DARK = 2; // 0x2
+    field @Deprecated public static final int THEME_HOLO_LIGHT = 3; // 0x3
+    field @Deprecated public static final int THEME_TRADITIONAL = 1; // 0x1
+  }
+
+  public static class AlertDialog.Builder {
+    ctor public AlertDialog.Builder(android.content.Context);
+    ctor public AlertDialog.Builder(android.content.Context, int);
+    method public android.app.AlertDialog create();
+    method public android.content.Context getContext();
+    method public android.app.AlertDialog.Builder setAdapter(android.widget.ListAdapter, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setCancelable(boolean);
+    method public android.app.AlertDialog.Builder setCursor(android.database.Cursor, android.content.DialogInterface.OnClickListener, String);
+    method public android.app.AlertDialog.Builder setCustomTitle(android.view.View);
+    method public android.app.AlertDialog.Builder setIcon(@DrawableRes int);
+    method public android.app.AlertDialog.Builder setIcon(android.graphics.drawable.Drawable);
+    method public android.app.AlertDialog.Builder setIconAttribute(@AttrRes int);
+    method @Deprecated public android.app.AlertDialog.Builder setInverseBackgroundForced(boolean);
+    method public android.app.AlertDialog.Builder setItems(@ArrayRes int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setItems(CharSequence[], android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setMessage(@StringRes int);
+    method public android.app.AlertDialog.Builder setMessage(CharSequence);
+    method public android.app.AlertDialog.Builder setMultiChoiceItems(@ArrayRes int, boolean[], android.content.DialogInterface.OnMultiChoiceClickListener);
+    method public android.app.AlertDialog.Builder setMultiChoiceItems(CharSequence[], boolean[], android.content.DialogInterface.OnMultiChoiceClickListener);
+    method public android.app.AlertDialog.Builder setMultiChoiceItems(android.database.Cursor, String, String, android.content.DialogInterface.OnMultiChoiceClickListener);
+    method public android.app.AlertDialog.Builder setNegativeButton(@StringRes int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setNegativeButton(CharSequence, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setNeutralButton(@StringRes int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setNeutralButton(CharSequence, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setOnCancelListener(android.content.DialogInterface.OnCancelListener);
+    method public android.app.AlertDialog.Builder setOnDismissListener(android.content.DialogInterface.OnDismissListener);
+    method public android.app.AlertDialog.Builder setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener);
+    method public android.app.AlertDialog.Builder setOnKeyListener(android.content.DialogInterface.OnKeyListener);
+    method public android.app.AlertDialog.Builder setPositiveButton(@StringRes int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setPositiveButton(CharSequence, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setSingleChoiceItems(@ArrayRes int, int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setSingleChoiceItems(android.database.Cursor, int, String, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setSingleChoiceItems(CharSequence[], int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setSingleChoiceItems(android.widget.ListAdapter, int, android.content.DialogInterface.OnClickListener);
+    method public android.app.AlertDialog.Builder setTitle(@StringRes int);
+    method public android.app.AlertDialog.Builder setTitle(CharSequence);
+    method public android.app.AlertDialog.Builder setView(int);
+    method public android.app.AlertDialog.Builder setView(android.view.View);
+    method public android.app.AlertDialog show();
+  }
+
+  @Deprecated public class AliasActivity extends android.app.Activity {
+    ctor @Deprecated public AliasActivity();
+  }
+
+  public class AppComponentFactory {
+    ctor public AppComponentFactory();
+    method @NonNull public android.app.Activity instantiateActivity(@NonNull ClassLoader, @NonNull String, @Nullable android.content.Intent) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @NonNull public android.app.Application instantiateApplication(@NonNull ClassLoader, @NonNull String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @NonNull public ClassLoader instantiateClassLoader(@NonNull ClassLoader, @NonNull android.content.pm.ApplicationInfo);
+    method @NonNull public android.content.ContentProvider instantiateProvider(@NonNull ClassLoader, @NonNull String) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @NonNull public android.content.BroadcastReceiver instantiateReceiver(@NonNull ClassLoader, @NonNull String, @Nullable android.content.Intent) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @NonNull public android.app.Service instantiateService(@NonNull ClassLoader, @NonNull String, @Nullable android.content.Intent) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+  }
+
+  public class AppOpsManager {
+    method @Deprecated public int checkOp(@NonNull String, int, @NonNull String);
+    method @Deprecated public int checkOpNoThrow(@NonNull String, int, @NonNull String);
+    method @Deprecated public void checkPackage(int, @NonNull String);
+    method @Deprecated public void finishOp(@NonNull String, int, @NonNull String);
+    method public void finishOp(@NonNull String, int, @NonNull String, @Nullable String);
+    method public void finishProxyOp(@NonNull String, int, @NonNull String, @Nullable String);
+    method public boolean isOpActive(@NonNull String, int, @NonNull String);
+    method @Deprecated public int noteOp(@NonNull String, int, @NonNull String);
+    method public int noteOp(@NonNull String, int, @Nullable String, @Nullable String, @Nullable String);
+    method @Deprecated public int noteOpNoThrow(@NonNull String, int, @NonNull String);
+    method public int noteOpNoThrow(@NonNull String, int, @NonNull String, @Nullable String, @Nullable String);
+    method @Deprecated public int noteProxyOp(@NonNull String, @NonNull String);
+    method public int noteProxyOp(@NonNull String, @Nullable String, int, @Nullable String, @Nullable String);
+    method @Deprecated public int noteProxyOpNoThrow(@NonNull String, @NonNull String);
+    method @Deprecated public int noteProxyOpNoThrow(@NonNull String, @Nullable String, int);
+    method public int noteProxyOpNoThrow(@NonNull String, @Nullable String, int, @Nullable String, @Nullable String);
+    method @Nullable public static String permissionToOp(@NonNull String);
+    method public void setOnOpNotedCallback(@Nullable java.util.concurrent.Executor, @Nullable android.app.AppOpsManager.OnOpNotedCallback);
+    method @Deprecated public int startOp(@NonNull String, int, @NonNull String);
+    method public int startOp(@NonNull String, int, @Nullable String, @Nullable String, @Nullable String);
+    method @Deprecated public int startOpNoThrow(@NonNull String, int, @NonNull String);
+    method public int startOpNoThrow(@NonNull String, int, @NonNull String, @NonNull String, @Nullable String);
+    method public int startProxyOp(@NonNull String, int, @NonNull String, @Nullable String, @Nullable String);
+    method public int startProxyOpNoThrow(@NonNull String, int, @NonNull String, @Nullable String, @Nullable String);
+    method public void startWatchingActive(@NonNull String[], @NonNull java.util.concurrent.Executor, @NonNull android.app.AppOpsManager.OnOpActiveChangedListener);
+    method public void startWatchingMode(@NonNull String, @Nullable String, @NonNull android.app.AppOpsManager.OnOpChangedListener);
+    method public void startWatchingMode(@NonNull String, @Nullable String, int, @NonNull android.app.AppOpsManager.OnOpChangedListener);
+    method public void stopWatchingActive(@NonNull android.app.AppOpsManager.OnOpActiveChangedListener);
+    method public void stopWatchingMode(@NonNull android.app.AppOpsManager.OnOpChangedListener);
+    method public int unsafeCheckOp(@NonNull String, int, @NonNull String);
+    method public int unsafeCheckOpNoThrow(@NonNull String, int, @NonNull String);
+    method public int unsafeCheckOpRaw(@NonNull String, int, @NonNull String);
+    method public int unsafeCheckOpRawNoThrow(@NonNull String, int, @NonNull String);
+    field public static final int MODE_ALLOWED = 0; // 0x0
+    field public static final int MODE_DEFAULT = 3; // 0x3
+    field public static final int MODE_ERRORED = 2; // 0x2
+    field public static final int MODE_FOREGROUND = 4; // 0x4
+    field public static final int MODE_IGNORED = 1; // 0x1
+    field public static final String OPSTR_ADD_VOICEMAIL = "android:add_voicemail";
+    field public static final String OPSTR_ANSWER_PHONE_CALLS = "android:answer_phone_calls";
+    field public static final String OPSTR_BODY_SENSORS = "android:body_sensors";
+    field public static final String OPSTR_CALL_PHONE = "android:call_phone";
+    field public static final String OPSTR_CAMERA = "android:camera";
+    field public static final String OPSTR_COARSE_LOCATION = "android:coarse_location";
+    field public static final String OPSTR_FINE_LOCATION = "android:fine_location";
+    field public static final String OPSTR_GET_USAGE_STATS = "android:get_usage_stats";
+    field public static final String OPSTR_MOCK_LOCATION = "android:mock_location";
+    field public static final String OPSTR_MONITOR_HIGH_POWER_LOCATION = "android:monitor_location_high_power";
+    field public static final String OPSTR_MONITOR_LOCATION = "android:monitor_location";
+    field public static final String OPSTR_PICTURE_IN_PICTURE = "android:picture_in_picture";
+    field public static final String OPSTR_PROCESS_OUTGOING_CALLS = "android:process_outgoing_calls";
+    field public static final String OPSTR_READ_CALENDAR = "android:read_calendar";
+    field public static final String OPSTR_READ_CALL_LOG = "android:read_call_log";
+    field public static final String OPSTR_READ_CELL_BROADCASTS = "android:read_cell_broadcasts";
+    field public static final String OPSTR_READ_CONTACTS = "android:read_contacts";
+    field public static final String OPSTR_READ_EXTERNAL_STORAGE = "android:read_external_storage";
+    field public static final String OPSTR_READ_PHONE_NUMBERS = "android:read_phone_numbers";
+    field public static final String OPSTR_READ_PHONE_STATE = "android:read_phone_state";
+    field public static final String OPSTR_READ_SMS = "android:read_sms";
+    field public static final String OPSTR_RECEIVE_MMS = "android:receive_mms";
+    field public static final String OPSTR_RECEIVE_SMS = "android:receive_sms";
+    field public static final String OPSTR_RECEIVE_WAP_PUSH = "android:receive_wap_push";
+    field public static final String OPSTR_RECORD_AUDIO = "android:record_audio";
+    field public static final String OPSTR_SEND_SMS = "android:send_sms";
+    field public static final String OPSTR_SYSTEM_ALERT_WINDOW = "android:system_alert_window";
+    field public static final String OPSTR_USE_FINGERPRINT = "android:use_fingerprint";
+    field public static final String OPSTR_USE_SIP = "android:use_sip";
+    field public static final String OPSTR_WRITE_CALENDAR = "android:write_calendar";
+    field public static final String OPSTR_WRITE_CALL_LOG = "android:write_call_log";
+    field public static final String OPSTR_WRITE_CONTACTS = "android:write_contacts";
+    field public static final String OPSTR_WRITE_EXTERNAL_STORAGE = "android:write_external_storage";
+    field public static final String OPSTR_WRITE_SETTINGS = "android:write_settings";
+    field public static final int WATCH_FOREGROUND_CHANGES = 1; // 0x1
+  }
+
+  public static interface AppOpsManager.OnOpActiveChangedListener {
+    method public void onOpActiveChanged(@NonNull String, int, @NonNull String, boolean);
+  }
+
+  public static interface AppOpsManager.OnOpChangedListener {
+    method public void onOpChanged(String, String);
+  }
+
+  public abstract static class AppOpsManager.OnOpNotedCallback {
+    ctor public AppOpsManager.OnOpNotedCallback();
+    method public abstract void onAsyncNoted(@NonNull android.app.AsyncNotedAppOp);
+    method public abstract void onNoted(@NonNull android.app.SyncNotedAppOp);
+    method public abstract void onSelfNoted(@NonNull android.app.SyncNotedAppOp);
+  }
+
+  public class Application extends android.content.ContextWrapper implements android.content.ComponentCallbacks2 {
+    ctor public Application();
+    method public static String getProcessName();
+    method @CallSuper public void onConfigurationChanged(@NonNull android.content.res.Configuration);
+    method @CallSuper public void onCreate();
+    method @CallSuper public void onLowMemory();
+    method @CallSuper public void onTerminate();
+    method @CallSuper public void onTrimMemory(int);
+    method public void registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks);
+    method public void registerOnProvideAssistDataListener(android.app.Application.OnProvideAssistDataListener);
+    method public void unregisterActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks);
+    method public void unregisterOnProvideAssistDataListener(android.app.Application.OnProvideAssistDataListener);
+  }
+
+  public static interface Application.ActivityLifecycleCallbacks {
+    method public void onActivityCreated(@NonNull android.app.Activity, @Nullable android.os.Bundle);
+    method public void onActivityDestroyed(@NonNull android.app.Activity);
+    method public void onActivityPaused(@NonNull android.app.Activity);
+    method public default void onActivityPostCreated(@NonNull android.app.Activity, @Nullable android.os.Bundle);
+    method public default void onActivityPostDestroyed(@NonNull android.app.Activity);
+    method public default void onActivityPostPaused(@NonNull android.app.Activity);
+    method public default void onActivityPostResumed(@NonNull android.app.Activity);
+    method public default void onActivityPostSaveInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle);
+    method public default void onActivityPostStarted(@NonNull android.app.Activity);
+    method public default void onActivityPostStopped(@NonNull android.app.Activity);
+    method public default void onActivityPreCreated(@NonNull android.app.Activity, @Nullable android.os.Bundle);
+    method public default void onActivityPreDestroyed(@NonNull android.app.Activity);
+    method public default void onActivityPrePaused(@NonNull android.app.Activity);
+    method public default void onActivityPreResumed(@NonNull android.app.Activity);
+    method public default void onActivityPreSaveInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle);
+    method public default void onActivityPreStarted(@NonNull android.app.Activity);
+    method public default void onActivityPreStopped(@NonNull android.app.Activity);
+    method public void onActivityResumed(@NonNull android.app.Activity);
+    method public void onActivitySaveInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle);
+    method public void onActivityStarted(@NonNull android.app.Activity);
+    method public void onActivityStopped(@NonNull android.app.Activity);
+  }
+
+  public static interface Application.OnProvideAssistDataListener {
+    method public void onProvideAssistData(android.app.Activity, android.os.Bundle);
+  }
+
+  public class ApplicationErrorReport implements android.os.Parcelable {
+    ctor public ApplicationErrorReport();
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public static android.content.ComponentName getErrorReportReceiver(android.content.Context, String, int);
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ApplicationErrorReport> CREATOR;
+    field public static final int TYPE_ANR = 2; // 0x2
+    field public static final int TYPE_BATTERY = 3; // 0x3
+    field public static final int TYPE_CRASH = 1; // 0x1
+    field public static final int TYPE_NONE = 0; // 0x0
+    field public static final int TYPE_RUNNING_SERVICE = 5; // 0x5
+    field public android.app.ApplicationErrorReport.AnrInfo anrInfo;
+    field public android.app.ApplicationErrorReport.BatteryInfo batteryInfo;
+    field public android.app.ApplicationErrorReport.CrashInfo crashInfo;
+    field public String installerPackageName;
+    field public String packageName;
+    field public String processName;
+    field public android.app.ApplicationErrorReport.RunningServiceInfo runningServiceInfo;
+    field public boolean systemApp;
+    field public long time;
+    field public int type;
+  }
+
+  public static class ApplicationErrorReport.AnrInfo {
+    ctor public ApplicationErrorReport.AnrInfo();
+    ctor public ApplicationErrorReport.AnrInfo(android.os.Parcel);
+    method public void dump(android.util.Printer, String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public String activity;
+    field public String cause;
+    field public String info;
+  }
+
+  public static class ApplicationErrorReport.BatteryInfo {
+    ctor public ApplicationErrorReport.BatteryInfo();
+    ctor public ApplicationErrorReport.BatteryInfo(android.os.Parcel);
+    method public void dump(android.util.Printer, String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public String checkinDetails;
+    field public long durationMicros;
+    field public String usageDetails;
+    field public int usagePercent;
+  }
+
+  public static class ApplicationErrorReport.CrashInfo {
+    ctor public ApplicationErrorReport.CrashInfo();
+    ctor public ApplicationErrorReport.CrashInfo(Throwable);
+    ctor public ApplicationErrorReport.CrashInfo(android.os.Parcel);
+    method public void dump(android.util.Printer, String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public String exceptionClassName;
+    field public String exceptionMessage;
+    field public String stackTrace;
+    field public String throwClassName;
+    field public String throwFileName;
+    field public int throwLineNumber;
+    field public String throwMethodName;
+  }
+
+  public static class ApplicationErrorReport.RunningServiceInfo {
+    ctor public ApplicationErrorReport.RunningServiceInfo();
+    ctor public ApplicationErrorReport.RunningServiceInfo(android.os.Parcel);
+    method public void dump(android.util.Printer, String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public long durationMillis;
+    field public String serviceDetails;
+  }
+
+  public final class ApplicationExitInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getDefiningUid();
+    method @Nullable public String getDescription();
+    method public int getImportance();
+    method public int getPackageUid();
+    method public int getPid();
+    method @NonNull public String getProcessName();
+    method @Nullable public byte[] getProcessStateSummary();
+    method public long getPss();
+    method public int getRealUid();
+    method public int getReason();
+    method public long getRss();
+    method public int getStatus();
+    method public long getTimestamp();
+    method @Nullable public java.io.InputStream getTraceInputStream() throws java.io.IOException;
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ApplicationExitInfo> CREATOR;
+    field public static final int REASON_ANR = 6; // 0x6
+    field public static final int REASON_CRASH = 4; // 0x4
+    field public static final int REASON_CRASH_NATIVE = 5; // 0x5
+    field public static final int REASON_DEPENDENCY_DIED = 12; // 0xc
+    field public static final int REASON_EXCESSIVE_RESOURCE_USAGE = 9; // 0x9
+    field public static final int REASON_EXIT_SELF = 1; // 0x1
+    field public static final int REASON_INITIALIZATION_FAILURE = 7; // 0x7
+    field public static final int REASON_LOW_MEMORY = 3; // 0x3
+    field public static final int REASON_OTHER = 13; // 0xd
+    field public static final int REASON_PERMISSION_CHANGE = 8; // 0x8
+    field public static final int REASON_SIGNALED = 2; // 0x2
+    field public static final int REASON_UNKNOWN = 0; // 0x0
+    field public static final int REASON_USER_REQUESTED = 10; // 0xa
+    field public static final int REASON_USER_STOPPED = 11; // 0xb
+  }
+
+  public final class AsyncNotedAppOp implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getAttributionTag();
+    method @NonNull public String getMessage();
+    method @IntRange(from=0) public int getNotingUid();
+    method @NonNull public String getOp();
+    method public long getTime();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AsyncNotedAppOp> CREATOR;
+  }
+
+  public final class AuthenticationRequiredException extends java.lang.SecurityException implements android.os.Parcelable {
+    ctor public AuthenticationRequiredException(Throwable, android.app.PendingIntent);
+    method public int describeContents();
+    method public android.app.PendingIntent getUserAction();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AuthenticationRequiredException> CREATOR;
+  }
+
+  public final class AutomaticZenRule implements android.os.Parcelable {
+    ctor @Deprecated public AutomaticZenRule(String, android.content.ComponentName, android.net.Uri, int, boolean);
+    ctor public AutomaticZenRule(@NonNull String, @Nullable android.content.ComponentName, @Nullable android.content.ComponentName, @NonNull android.net.Uri, @Nullable android.service.notification.ZenPolicy, int, boolean);
+    ctor public AutomaticZenRule(android.os.Parcel);
+    method public int describeContents();
+    method public android.net.Uri getConditionId();
+    method @Nullable public android.content.ComponentName getConfigurationActivity();
+    method public long getCreationTime();
+    method public int getInterruptionFilter();
+    method public String getName();
+    method public android.content.ComponentName getOwner();
+    method public android.service.notification.ZenPolicy getZenPolicy();
+    method public boolean isEnabled();
+    method public void setConditionId(android.net.Uri);
+    method public void setConfigurationActivity(@Nullable android.content.ComponentName);
+    method public void setEnabled(boolean);
+    method public void setInterruptionFilter(int);
+    method public void setName(String);
+    method public void setZenPolicy(android.service.notification.ZenPolicy);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AutomaticZenRule> CREATOR;
+  }
+
+  public final class BackgroundServiceStartNotAllowedException extends android.app.ServiceStartNotAllowedException implements android.os.Parcelable {
+    ctor public BackgroundServiceStartNotAllowedException(@NonNull String);
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.BackgroundServiceStartNotAllowedException> CREATOR;
+  }
+
+  public class DatePickerDialog extends android.app.AlertDialog implements android.widget.DatePicker.OnDateChangedListener android.content.DialogInterface.OnClickListener {
+    ctor public DatePickerDialog(@NonNull android.content.Context);
+    ctor public DatePickerDialog(@NonNull android.content.Context, @StyleRes int);
+    ctor public DatePickerDialog(@NonNull android.content.Context, @Nullable android.app.DatePickerDialog.OnDateSetListener, int, int, int);
+    ctor public DatePickerDialog(@NonNull android.content.Context, @StyleRes int, @Nullable android.app.DatePickerDialog.OnDateSetListener, int, int, int);
+    method @NonNull public android.widget.DatePicker getDatePicker();
+    method public void onClick(@NonNull android.content.DialogInterface, int);
+    method public void onDateChanged(@NonNull android.widget.DatePicker, int, int, int);
+    method public void setOnDateSetListener(@Nullable android.app.DatePickerDialog.OnDateSetListener);
+    method public void updateDate(int, int, int);
+  }
+
+  public static interface DatePickerDialog.OnDateSetListener {
+    method public void onDateSet(android.widget.DatePicker, int, int, int);
+  }
+
+  public class Dialog implements android.content.DialogInterface android.view.KeyEvent.Callback android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
+    ctor public Dialog(@NonNull @UiContext android.content.Context);
+    ctor public Dialog(@NonNull @UiContext android.content.Context, @StyleRes int);
+    ctor protected Dialog(@NonNull @UiContext android.content.Context, boolean, @Nullable android.content.DialogInterface.OnCancelListener);
+    method public void addContentView(@NonNull android.view.View, @Nullable android.view.ViewGroup.LayoutParams);
+    method public void cancel();
+    method public void closeOptionsMenu();
+    method public void create();
+    method public void dismiss();
+    method public boolean dispatchGenericMotionEvent(@NonNull android.view.MotionEvent);
+    method public boolean dispatchKeyEvent(@NonNull android.view.KeyEvent);
+    method public boolean dispatchKeyShortcutEvent(@NonNull android.view.KeyEvent);
+    method public boolean dispatchPopulateAccessibilityEvent(@NonNull android.view.accessibility.AccessibilityEvent);
+    method public boolean dispatchTouchEvent(@NonNull android.view.MotionEvent);
+    method public boolean dispatchTrackballEvent(@NonNull android.view.MotionEvent);
+    method public <T extends android.view.View> T findViewById(@IdRes int);
+    method @Nullable public android.app.ActionBar getActionBar();
+    method @NonNull @UiContext public final android.content.Context getContext();
+    method @Nullable public android.view.View getCurrentFocus();
+    method @NonNull public android.view.LayoutInflater getLayoutInflater();
+    method @Nullable public final android.app.Activity getOwnerActivity();
+    method @Nullable public final android.view.SearchEvent getSearchEvent();
+    method public final int getVolumeControlStream();
+    method @Nullable public android.view.Window getWindow();
+    method public void hide();
+    method public void invalidateOptionsMenu();
+    method public boolean isShowing();
+    method @CallSuper public void onActionModeFinished(android.view.ActionMode);
+    method @CallSuper public void onActionModeStarted(android.view.ActionMode);
+    method public void onAttachedToWindow();
+    method public void onBackPressed();
+    method public void onContentChanged();
+    method public boolean onContextItemSelected(@NonNull android.view.MenuItem);
+    method public void onContextMenuClosed(@NonNull android.view.Menu);
+    method protected void onCreate(android.os.Bundle);
+    method public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+    method public boolean onCreateOptionsMenu(@NonNull android.view.Menu);
+    method public boolean onCreatePanelMenu(int, @NonNull android.view.Menu);
+    method public android.view.View onCreatePanelView(int);
+    method public void onDetachedFromWindow();
+    method public boolean onGenericMotionEvent(@NonNull android.view.MotionEvent);
+    method public boolean onKeyDown(int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyShortcut(int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyUp(int, @NonNull android.view.KeyEvent);
+    method public boolean onMenuItemSelected(int, @NonNull android.view.MenuItem);
+    method public boolean onMenuOpened(int, @NonNull android.view.Menu);
+    method public boolean onOptionsItemSelected(@NonNull android.view.MenuItem);
+    method public void onOptionsMenuClosed(@NonNull android.view.Menu);
+    method public void onPanelClosed(int, @NonNull android.view.Menu);
+    method public boolean onPrepareOptionsMenu(@NonNull android.view.Menu);
+    method public boolean onPreparePanel(int, @Nullable android.view.View, @NonNull android.view.Menu);
+    method public void onRestoreInstanceState(@NonNull android.os.Bundle);
+    method @NonNull public android.os.Bundle onSaveInstanceState();
+    method public boolean onSearchRequested(@NonNull android.view.SearchEvent);
+    method public boolean onSearchRequested();
+    method protected void onStart();
+    method protected void onStop();
+    method public boolean onTouchEvent(@NonNull android.view.MotionEvent);
+    method public boolean onTrackballEvent(@NonNull android.view.MotionEvent);
+    method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+    method public void onWindowFocusChanged(boolean);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
+    method public void openContextMenu(@NonNull android.view.View);
+    method public void openOptionsMenu();
+    method public void registerForContextMenu(@NonNull android.view.View);
+    method public final boolean requestWindowFeature(int);
+    method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
+    method public void setCancelMessage(@Nullable android.os.Message);
+    method public void setCancelable(boolean);
+    method public void setCanceledOnTouchOutside(boolean);
+    method public void setContentView(@LayoutRes int);
+    method public void setContentView(@NonNull android.view.View);
+    method public void setContentView(@NonNull android.view.View, @Nullable android.view.ViewGroup.LayoutParams);
+    method public void setDismissMessage(@Nullable android.os.Message);
+    method public final void setFeatureDrawable(int, @Nullable android.graphics.drawable.Drawable);
+    method public final void setFeatureDrawableAlpha(int, int);
+    method public final void setFeatureDrawableResource(int, @DrawableRes int);
+    method public final void setFeatureDrawableUri(int, @Nullable android.net.Uri);
+    method public void setOnCancelListener(@Nullable android.content.DialogInterface.OnCancelListener);
+    method public void setOnDismissListener(@Nullable android.content.DialogInterface.OnDismissListener);
+    method public void setOnKeyListener(@Nullable android.content.DialogInterface.OnKeyListener);
+    method public void setOnShowListener(@Nullable android.content.DialogInterface.OnShowListener);
+    method public final void setOwnerActivity(@NonNull android.app.Activity);
+    method public void setTitle(@Nullable CharSequence);
+    method public void setTitle(@StringRes int);
+    method public final void setVolumeControlStream(int);
+    method public void show();
+    method public void takeKeyEvents(boolean);
+    method public void unregisterForContextMenu(@NonNull android.view.View);
+  }
+
+  @Deprecated public class DialogFragment extends android.app.Fragment implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
+    ctor @Deprecated public DialogFragment();
+    method @Deprecated public void dismiss();
+    method @Deprecated public void dismissAllowingStateLoss();
+    method @Deprecated public android.app.Dialog getDialog();
+    method @Deprecated public boolean getShowsDialog();
+    method @Deprecated public int getTheme();
+    method @Deprecated public boolean isCancelable();
+    method @Deprecated public void onCancel(android.content.DialogInterface);
+    method @Deprecated public android.app.Dialog onCreateDialog(android.os.Bundle);
+    method @Deprecated public void onDismiss(android.content.DialogInterface);
+    method public android.view.LayoutInflater onGetLayoutInflater(android.os.Bundle);
+    method @Deprecated public void setCancelable(boolean);
+    method @Deprecated public void setShowsDialog(boolean);
+    method @Deprecated public void setStyle(int, int);
+    method @Deprecated public void show(android.app.FragmentManager, String);
+    method @Deprecated public int show(android.app.FragmentTransaction, String);
+    field @Deprecated public static final int STYLE_NORMAL = 0; // 0x0
+    field @Deprecated public static final int STYLE_NO_FRAME = 2; // 0x2
+    field @Deprecated public static final int STYLE_NO_INPUT = 3; // 0x3
+    field @Deprecated public static final int STYLE_NO_TITLE = 1; // 0x1
+  }
+
+  public final class DirectAction implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.os.Bundle getExtras();
+    method @NonNull public String getId();
+    method @Nullable public android.content.LocusId getLocusId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.DirectAction> CREATOR;
+  }
+
+  public static final class DirectAction.Builder {
+    ctor public DirectAction.Builder(@NonNull String);
+    method @NonNull public android.app.DirectAction build();
+    method @NonNull public android.app.DirectAction.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.app.DirectAction.Builder setLocusId(@Nullable android.content.LocusId);
+  }
+
+  public class DownloadManager {
+    method @Deprecated public long addCompletedDownload(String, String, boolean, String, String, long, boolean);
+    method @Deprecated public long addCompletedDownload(String, String, boolean, String, String, long, boolean, android.net.Uri, android.net.Uri);
+    method public long enqueue(android.app.DownloadManager.Request);
+    method public static Long getMaxBytesOverMobile(android.content.Context);
+    method public String getMimeTypeForDownloadedFile(long);
+    method public static Long getRecommendedMaxBytesOverMobile(android.content.Context);
+    method public android.net.Uri getUriForDownloadedFile(long);
+    method public android.os.ParcelFileDescriptor openDownloadedFile(long) throws java.io.FileNotFoundException;
+    method public android.database.Cursor query(android.app.DownloadManager.Query);
+    method public int remove(long...);
+    field public static final String ACTION_DOWNLOAD_COMPLETE = "android.intent.action.DOWNLOAD_COMPLETE";
+    field public static final String ACTION_NOTIFICATION_CLICKED = "android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED";
+    field public static final String ACTION_VIEW_DOWNLOADS = "android.intent.action.VIEW_DOWNLOADS";
+    field public static final String COLUMN_BYTES_DOWNLOADED_SO_FAR = "bytes_so_far";
+    field public static final String COLUMN_DESCRIPTION = "description";
+    field public static final String COLUMN_ID = "_id";
+    field public static final String COLUMN_LAST_MODIFIED_TIMESTAMP = "last_modified_timestamp";
+    field @Deprecated public static final String COLUMN_LOCAL_FILENAME = "local_filename";
+    field public static final String COLUMN_LOCAL_URI = "local_uri";
+    field public static final String COLUMN_MEDIAPROVIDER_URI = "mediaprovider_uri";
+    field public static final String COLUMN_MEDIA_TYPE = "media_type";
+    field public static final String COLUMN_REASON = "reason";
+    field public static final String COLUMN_STATUS = "status";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_TOTAL_SIZE_BYTES = "total_size";
+    field public static final String COLUMN_URI = "uri";
+    field public static final int ERROR_CANNOT_RESUME = 1008; // 0x3f0
+    field public static final int ERROR_DEVICE_NOT_FOUND = 1007; // 0x3ef
+    field public static final int ERROR_FILE_ALREADY_EXISTS = 1009; // 0x3f1
+    field public static final int ERROR_FILE_ERROR = 1001; // 0x3e9
+    field public static final int ERROR_HTTP_DATA_ERROR = 1004; // 0x3ec
+    field public static final int ERROR_INSUFFICIENT_SPACE = 1006; // 0x3ee
+    field public static final int ERROR_TOO_MANY_REDIRECTS = 1005; // 0x3ed
+    field public static final int ERROR_UNHANDLED_HTTP_CODE = 1002; // 0x3ea
+    field public static final int ERROR_UNKNOWN = 1000; // 0x3e8
+    field public static final String EXTRA_DOWNLOAD_ID = "extra_download_id";
+    field public static final String EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS = "extra_click_download_ids";
+    field public static final String INTENT_EXTRAS_SORT_BY_SIZE = "android.app.DownloadManager.extra_sortBySize";
+    field public static final int PAUSED_QUEUED_FOR_WIFI = 3; // 0x3
+    field public static final int PAUSED_UNKNOWN = 4; // 0x4
+    field public static final int PAUSED_WAITING_FOR_NETWORK = 2; // 0x2
+    field public static final int PAUSED_WAITING_TO_RETRY = 1; // 0x1
+    field public static final int STATUS_FAILED = 16; // 0x10
+    field public static final int STATUS_PAUSED = 4; // 0x4
+    field public static final int STATUS_PENDING = 1; // 0x1
+    field public static final int STATUS_RUNNING = 2; // 0x2
+    field public static final int STATUS_SUCCESSFUL = 8; // 0x8
+  }
+
+  public static class DownloadManager.Query {
+    ctor public DownloadManager.Query();
+    method public android.app.DownloadManager.Query setFilterById(long...);
+    method public android.app.DownloadManager.Query setFilterByStatus(int);
+  }
+
+  public static class DownloadManager.Request {
+    ctor public DownloadManager.Request(android.net.Uri);
+    method public android.app.DownloadManager.Request addRequestHeader(String, String);
+    method @Deprecated public void allowScanningByMediaScanner();
+    method public android.app.DownloadManager.Request setAllowedNetworkTypes(int);
+    method public android.app.DownloadManager.Request setAllowedOverMetered(boolean);
+    method public android.app.DownloadManager.Request setAllowedOverRoaming(boolean);
+    method public android.app.DownloadManager.Request setDescription(CharSequence);
+    method public android.app.DownloadManager.Request setDestinationInExternalFilesDir(android.content.Context, String, String);
+    method public android.app.DownloadManager.Request setDestinationInExternalPublicDir(String, String);
+    method public android.app.DownloadManager.Request setDestinationUri(android.net.Uri);
+    method public android.app.DownloadManager.Request setMimeType(String);
+    method public android.app.DownloadManager.Request setNotificationVisibility(int);
+    method public android.app.DownloadManager.Request setRequiresCharging(boolean);
+    method public android.app.DownloadManager.Request setRequiresDeviceIdle(boolean);
+    method @Deprecated public android.app.DownloadManager.Request setShowRunningNotification(boolean);
+    method public android.app.DownloadManager.Request setTitle(CharSequence);
+    method @Deprecated public android.app.DownloadManager.Request setVisibleInDownloadsUi(boolean);
+    field public static final int NETWORK_MOBILE = 1; // 0x1
+    field public static final int NETWORK_WIFI = 2; // 0x2
+    field public static final int VISIBILITY_HIDDEN = 2; // 0x2
+    field public static final int VISIBILITY_VISIBLE = 0; // 0x0
+    field public static final int VISIBILITY_VISIBLE_NOTIFY_COMPLETED = 1; // 0x1
+    field public static final int VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION = 3; // 0x3
+  }
+
+  @Deprecated public class ExpandableListActivity extends android.app.Activity implements android.widget.ExpandableListView.OnChildClickListener android.widget.ExpandableListView.OnGroupCollapseListener android.widget.ExpandableListView.OnGroupExpandListener android.view.View.OnCreateContextMenuListener {
+    ctor @Deprecated public ExpandableListActivity();
+    method @Deprecated public android.widget.ExpandableListAdapter getExpandableListAdapter();
+    method @Deprecated public android.widget.ExpandableListView getExpandableListView();
+    method @Deprecated public long getSelectedId();
+    method @Deprecated public long getSelectedPosition();
+    method @Deprecated public boolean onChildClick(android.widget.ExpandableListView, android.view.View, int, int, long);
+    method @Deprecated public void onGroupCollapse(int);
+    method @Deprecated public void onGroupExpand(int);
+    method @Deprecated public void setListAdapter(android.widget.ExpandableListAdapter);
+    method @Deprecated public boolean setSelectedChild(int, int, boolean);
+    method @Deprecated public void setSelectedGroup(int);
+  }
+
+  public final class ForegroundServiceStartNotAllowedException extends android.app.ServiceStartNotAllowedException implements android.os.Parcelable {
+    ctor public ForegroundServiceStartNotAllowedException(@NonNull String);
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.ForegroundServiceStartNotAllowedException> CREATOR;
+  }
+
+  @Deprecated public class Fragment implements android.content.ComponentCallbacks2 android.view.View.OnCreateContextMenuListener {
+    ctor @Deprecated public Fragment();
+    method @Deprecated public void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated public final boolean equals(@Nullable Object);
+    method @Deprecated public final android.app.Activity getActivity();
+    method @Deprecated public boolean getAllowEnterTransitionOverlap();
+    method @Deprecated public boolean getAllowReturnTransitionOverlap();
+    method @Deprecated public final android.os.Bundle getArguments();
+    method @Deprecated public final android.app.FragmentManager getChildFragmentManager();
+    method @Deprecated public android.content.Context getContext();
+    method @Deprecated public android.transition.Transition getEnterTransition();
+    method @Deprecated public android.transition.Transition getExitTransition();
+    method @Deprecated public final android.app.FragmentManager getFragmentManager();
+    method @Deprecated @Nullable public final Object getHost();
+    method @Deprecated public final int getId();
+    method @Deprecated public final android.view.LayoutInflater getLayoutInflater();
+    method @Deprecated public android.app.LoaderManager getLoaderManager();
+    method @Deprecated public final android.app.Fragment getParentFragment();
+    method @Deprecated public android.transition.Transition getReenterTransition();
+    method @Deprecated public final android.content.res.Resources getResources();
+    method @Deprecated public final boolean getRetainInstance();
+    method @Deprecated public android.transition.Transition getReturnTransition();
+    method @Deprecated public android.transition.Transition getSharedElementEnterTransition();
+    method @Deprecated public android.transition.Transition getSharedElementReturnTransition();
+    method @Deprecated public final String getString(@StringRes int);
+    method @Deprecated public final String getString(@StringRes int, java.lang.Object...);
+    method @Deprecated public final String getTag();
+    method @Deprecated public final android.app.Fragment getTargetFragment();
+    method @Deprecated public final int getTargetRequestCode();
+    method @Deprecated public final CharSequence getText(@StringRes int);
+    method @Deprecated public boolean getUserVisibleHint();
+    method @Deprecated @Nullable public android.view.View getView();
+    method @Deprecated public final int hashCode();
+    method @Deprecated public static android.app.Fragment instantiate(android.content.Context, String);
+    method @Deprecated public static android.app.Fragment instantiate(android.content.Context, String, @Nullable android.os.Bundle);
+    method @Deprecated public final boolean isAdded();
+    method @Deprecated public final boolean isDetached();
+    method @Deprecated public final boolean isHidden();
+    method @Deprecated public final boolean isInLayout();
+    method @Deprecated public final boolean isRemoving();
+    method @Deprecated public final boolean isResumed();
+    method @Deprecated public final boolean isStateSaved();
+    method @Deprecated public final boolean isVisible();
+    method @Deprecated @CallSuper public void onActivityCreated(@Nullable android.os.Bundle);
+    method @Deprecated public void onActivityResult(int, int, android.content.Intent);
+    method @Deprecated @CallSuper public void onAttach(android.content.Context);
+    method @Deprecated @CallSuper public void onAttach(android.app.Activity);
+    method @Deprecated public void onAttachFragment(android.app.Fragment);
+    method @Deprecated @CallSuper public void onConfigurationChanged(android.content.res.Configuration);
+    method @Deprecated public boolean onContextItemSelected(android.view.MenuItem);
+    method @Deprecated @CallSuper public void onCreate(@Nullable android.os.Bundle);
+    method @Deprecated public android.animation.Animator onCreateAnimator(int, boolean, int);
+    method @Deprecated public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+    method @Deprecated public void onCreateOptionsMenu(android.view.Menu, android.view.MenuInflater);
+    method @Deprecated @Nullable public android.view.View onCreateView(android.view.LayoutInflater, @Nullable android.view.ViewGroup, android.os.Bundle);
+    method @Deprecated @CallSuper public void onDestroy();
+    method @Deprecated public void onDestroyOptionsMenu();
+    method @Deprecated @CallSuper public void onDestroyView();
+    method @Deprecated @CallSuper public void onDetach();
+    method @Deprecated public android.view.LayoutInflater onGetLayoutInflater(android.os.Bundle);
+    method @Deprecated public void onHiddenChanged(boolean);
+    method @Deprecated @CallSuper public void onInflate(android.util.AttributeSet, android.os.Bundle);
+    method @Deprecated @CallSuper public void onInflate(android.content.Context, android.util.AttributeSet, android.os.Bundle);
+    method @Deprecated @CallSuper public void onInflate(android.app.Activity, android.util.AttributeSet, android.os.Bundle);
+    method @Deprecated @CallSuper public void onLowMemory();
+    method @Deprecated public void onMultiWindowModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public void onMultiWindowModeChanged(boolean);
+    method @Deprecated public boolean onOptionsItemSelected(android.view.MenuItem);
+    method @Deprecated public void onOptionsMenuClosed(android.view.Menu);
+    method @Deprecated @CallSuper public void onPause();
+    method @Deprecated public void onPictureInPictureModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public void onPictureInPictureModeChanged(boolean);
+    method @Deprecated public void onPrepareOptionsMenu(android.view.Menu);
+    method @Deprecated public void onRequestPermissionsResult(int, @NonNull String[], @NonNull int[]);
+    method @Deprecated @CallSuper public void onResume();
+    method @Deprecated public void onSaveInstanceState(android.os.Bundle);
+    method @Deprecated @CallSuper public void onStart();
+    method @Deprecated @CallSuper public void onStop();
+    method @Deprecated @CallSuper public void onTrimMemory(int);
+    method @Deprecated public void onViewCreated(android.view.View, @Nullable android.os.Bundle);
+    method @Deprecated @CallSuper public void onViewStateRestored(android.os.Bundle);
+    method @Deprecated public void postponeEnterTransition();
+    method @Deprecated public void registerForContextMenu(android.view.View);
+    method @Deprecated public final void requestPermissions(@NonNull String[], int);
+    method @Deprecated public void setAllowEnterTransitionOverlap(boolean);
+    method @Deprecated public void setAllowReturnTransitionOverlap(boolean);
+    method @Deprecated public void setArguments(android.os.Bundle);
+    method @Deprecated public void setEnterSharedElementCallback(android.app.SharedElementCallback);
+    method @Deprecated public void setEnterTransition(android.transition.Transition);
+    method @Deprecated public void setExitSharedElementCallback(android.app.SharedElementCallback);
+    method @Deprecated public void setExitTransition(android.transition.Transition);
+    method @Deprecated public void setHasOptionsMenu(boolean);
+    method @Deprecated public void setInitialSavedState(android.app.Fragment.SavedState);
+    method @Deprecated public void setMenuVisibility(boolean);
+    method @Deprecated public void setReenterTransition(android.transition.Transition);
+    method @Deprecated public void setRetainInstance(boolean);
+    method @Deprecated public void setReturnTransition(android.transition.Transition);
+    method @Deprecated public void setSharedElementEnterTransition(android.transition.Transition);
+    method @Deprecated public void setSharedElementReturnTransition(android.transition.Transition);
+    method @Deprecated public void setTargetFragment(android.app.Fragment, int);
+    method @Deprecated public void setUserVisibleHint(boolean);
+    method @Deprecated public boolean shouldShowRequestPermissionRationale(@NonNull String);
+    method @Deprecated public void startActivity(android.content.Intent);
+    method @Deprecated public void startActivity(android.content.Intent, android.os.Bundle);
+    method @Deprecated public void startActivityForResult(android.content.Intent, int);
+    method @Deprecated public void startActivityForResult(android.content.Intent, int, android.os.Bundle);
+    method @Deprecated public void startIntentSenderForResult(android.content.IntentSender, int, @Nullable android.content.Intent, int, int, int, android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method @Deprecated public void startPostponedEnterTransition();
+    method @Deprecated public void unregisterForContextMenu(android.view.View);
+  }
+
+  @Deprecated public static class Fragment.InstantiationException extends android.util.AndroidRuntimeException {
+    ctor @Deprecated public Fragment.InstantiationException(String, Exception);
+  }
+
+  @Deprecated public static class Fragment.SavedState implements android.os.Parcelable {
+    method @Deprecated public int describeContents();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final android.os.Parcelable.ClassLoaderCreator<android.app.Fragment.SavedState> CREATOR;
+  }
+
+  @Deprecated public class FragmentBreadCrumbs extends android.view.ViewGroup implements android.app.FragmentManager.OnBackStackChangedListener {
+    ctor @Deprecated public FragmentBreadCrumbs(android.content.Context);
+    ctor @Deprecated public FragmentBreadCrumbs(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public FragmentBreadCrumbs(android.content.Context, android.util.AttributeSet, int);
+    method @Deprecated public void onBackStackChanged();
+    method @Deprecated public void setActivity(android.app.Activity);
+    method @Deprecated public void setMaxVisible(int);
+    method @Deprecated public void setOnBreadCrumbClickListener(android.app.FragmentBreadCrumbs.OnBreadCrumbClickListener);
+    method @Deprecated public void setParentTitle(CharSequence, CharSequence, android.view.View.OnClickListener);
+    method @Deprecated public void setTitle(CharSequence, CharSequence);
+  }
+
+  @Deprecated public static interface FragmentBreadCrumbs.OnBreadCrumbClickListener {
+    method @Deprecated public boolean onBreadCrumbClick(android.app.FragmentManager.BackStackEntry, int);
+  }
+
+  @Deprecated public abstract class FragmentContainer {
+    ctor @Deprecated public FragmentContainer();
+    method @Deprecated @Nullable public abstract <T extends android.view.View> T onFindViewById(@IdRes int);
+    method @Deprecated public abstract boolean onHasView();
+  }
+
+  @Deprecated public class FragmentController {
+    method @Deprecated public void attachHost(android.app.Fragment);
+    method @Deprecated public static final android.app.FragmentController createController(android.app.FragmentHostCallback<?>);
+    method @Deprecated public void dispatchActivityCreated();
+    method @Deprecated public void dispatchConfigurationChanged(android.content.res.Configuration);
+    method @Deprecated public boolean dispatchContextItemSelected(android.view.MenuItem);
+    method @Deprecated public void dispatchCreate();
+    method @Deprecated public boolean dispatchCreateOptionsMenu(android.view.Menu, android.view.MenuInflater);
+    method @Deprecated public void dispatchDestroy();
+    method @Deprecated public void dispatchDestroyView();
+    method @Deprecated public void dispatchLowMemory();
+    method @Deprecated public void dispatchMultiWindowModeChanged(boolean);
+    method @Deprecated public void dispatchMultiWindowModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public boolean dispatchOptionsItemSelected(android.view.MenuItem);
+    method @Deprecated public void dispatchOptionsMenuClosed(android.view.Menu);
+    method @Deprecated public void dispatchPause();
+    method @Deprecated public void dispatchPictureInPictureModeChanged(boolean);
+    method @Deprecated public void dispatchPictureInPictureModeChanged(boolean, android.content.res.Configuration);
+    method @Deprecated public boolean dispatchPrepareOptionsMenu(android.view.Menu);
+    method @Deprecated public void dispatchResume();
+    method @Deprecated public void dispatchStart();
+    method @Deprecated public void dispatchStop();
+    method @Deprecated public void dispatchTrimMemory(int);
+    method @Deprecated public void doLoaderDestroy();
+    method @Deprecated public void doLoaderStart();
+    method @Deprecated public void doLoaderStop(boolean);
+    method @Deprecated public void dumpLoaders(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated public boolean execPendingActions();
+    method @Deprecated @Nullable public android.app.Fragment findFragmentByWho(String);
+    method @Deprecated public android.app.FragmentManager getFragmentManager();
+    method @Deprecated public android.app.LoaderManager getLoaderManager();
+    method @Deprecated public void noteStateNotSaved();
+    method @Deprecated public android.view.View onCreateView(android.view.View, String, android.content.Context, android.util.AttributeSet);
+    method @Deprecated public void reportLoaderStart();
+    method @Deprecated public void restoreAllState(android.os.Parcelable, java.util.List<android.app.Fragment>);
+    method @Deprecated public void restoreAllState(android.os.Parcelable, android.app.FragmentManagerNonConfig);
+    method @Deprecated public void restoreLoaderNonConfig(android.util.ArrayMap<java.lang.String,android.app.LoaderManager>);
+    method @Deprecated public android.util.ArrayMap<java.lang.String,android.app.LoaderManager> retainLoaderNonConfig();
+    method @Deprecated public android.app.FragmentManagerNonConfig retainNestedNonConfig();
+    method @Deprecated public java.util.List<android.app.Fragment> retainNonConfig();
+    method @Deprecated public android.os.Parcelable saveAllState();
+  }
+
+  @Deprecated public abstract class FragmentHostCallback<E> extends android.app.FragmentContainer {
+    ctor @Deprecated public FragmentHostCallback(android.content.Context, android.os.Handler, int);
+    method @Deprecated public void onAttachFragment(android.app.Fragment);
+    method @Deprecated public void onDump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated @Nullable public <T extends android.view.View> T onFindViewById(int);
+    method @Deprecated @Nullable public abstract E onGetHost();
+    method @Deprecated public android.view.LayoutInflater onGetLayoutInflater();
+    method @Deprecated public int onGetWindowAnimations();
+    method @Deprecated public boolean onHasView();
+    method @Deprecated public boolean onHasWindowAnimations();
+    method @Deprecated public void onInvalidateOptionsMenu();
+    method @Deprecated public void onRequestPermissionsFromFragment(@NonNull android.app.Fragment, @NonNull String[], int);
+    method @Deprecated public boolean onShouldSaveFragmentState(android.app.Fragment);
+    method @Deprecated public void onStartActivityFromFragment(android.app.Fragment, android.content.Intent, int, android.os.Bundle);
+    method @Deprecated public void onStartIntentSenderFromFragment(android.app.Fragment, android.content.IntentSender, int, @Nullable android.content.Intent, int, int, int, android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method @Deprecated public boolean onUseFragmentManagerInflaterFactory();
+  }
+
+  @Deprecated public abstract class FragmentManager {
+    ctor @Deprecated public FragmentManager();
+    method @Deprecated public abstract void addOnBackStackChangedListener(android.app.FragmentManager.OnBackStackChangedListener);
+    method @Deprecated public abstract android.app.FragmentTransaction beginTransaction();
+    method @Deprecated public abstract void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated public static void enableDebugLogging(boolean);
+    method @Deprecated public abstract boolean executePendingTransactions();
+    method @Deprecated public abstract android.app.Fragment findFragmentById(int);
+    method @Deprecated public abstract android.app.Fragment findFragmentByTag(String);
+    method @Deprecated public abstract android.app.FragmentManager.BackStackEntry getBackStackEntryAt(int);
+    method @Deprecated public abstract int getBackStackEntryCount();
+    method @Deprecated public abstract android.app.Fragment getFragment(android.os.Bundle, String);
+    method @Deprecated public abstract java.util.List<android.app.Fragment> getFragments();
+    method @Deprecated public abstract android.app.Fragment getPrimaryNavigationFragment();
+    method @Deprecated public void invalidateOptionsMenu();
+    method @Deprecated public abstract boolean isDestroyed();
+    method @Deprecated public abstract boolean isStateSaved();
+    method @Deprecated public abstract void popBackStack();
+    method @Deprecated public abstract void popBackStack(String, int);
+    method @Deprecated public abstract void popBackStack(int, int);
+    method @Deprecated public abstract boolean popBackStackImmediate();
+    method @Deprecated public abstract boolean popBackStackImmediate(String, int);
+    method @Deprecated public abstract boolean popBackStackImmediate(int, int);
+    method @Deprecated public abstract void putFragment(android.os.Bundle, String, android.app.Fragment);
+    method @Deprecated public abstract void registerFragmentLifecycleCallbacks(android.app.FragmentManager.FragmentLifecycleCallbacks, boolean);
+    method @Deprecated public abstract void removeOnBackStackChangedListener(android.app.FragmentManager.OnBackStackChangedListener);
+    method @Deprecated public abstract android.app.Fragment.SavedState saveFragmentInstanceState(android.app.Fragment);
+    method @Deprecated public abstract void unregisterFragmentLifecycleCallbacks(android.app.FragmentManager.FragmentLifecycleCallbacks);
+    field @Deprecated public static final int POP_BACK_STACK_INCLUSIVE = 1; // 0x1
+  }
+
+  @Deprecated public static interface FragmentManager.BackStackEntry {
+    method @Deprecated public CharSequence getBreadCrumbShortTitle();
+    method @Deprecated public int getBreadCrumbShortTitleRes();
+    method @Deprecated public CharSequence getBreadCrumbTitle();
+    method @Deprecated public int getBreadCrumbTitleRes();
+    method @Deprecated public int getId();
+    method @Deprecated public String getName();
+  }
+
+  @Deprecated public abstract static class FragmentManager.FragmentLifecycleCallbacks {
+    ctor @Deprecated public FragmentManager.FragmentLifecycleCallbacks();
+    method @Deprecated public void onFragmentActivityCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
+    method @Deprecated public void onFragmentAttached(android.app.FragmentManager, android.app.Fragment, android.content.Context);
+    method @Deprecated public void onFragmentCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
+    method @Deprecated public void onFragmentDestroyed(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentDetached(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentPaused(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentPreAttached(android.app.FragmentManager, android.app.Fragment, android.content.Context);
+    method @Deprecated public void onFragmentPreCreated(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
+    method @Deprecated public void onFragmentResumed(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentSaveInstanceState(android.app.FragmentManager, android.app.Fragment, android.os.Bundle);
+    method @Deprecated public void onFragmentStarted(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentStopped(android.app.FragmentManager, android.app.Fragment);
+    method @Deprecated public void onFragmentViewCreated(android.app.FragmentManager, android.app.Fragment, android.view.View, android.os.Bundle);
+    method @Deprecated public void onFragmentViewDestroyed(android.app.FragmentManager, android.app.Fragment);
+  }
+
+  @Deprecated public static interface FragmentManager.OnBackStackChangedListener {
+    method @Deprecated public void onBackStackChanged();
+  }
+
+  @Deprecated public class FragmentManagerNonConfig {
+  }
+
+  @Deprecated public abstract class FragmentTransaction {
+    ctor @Deprecated public FragmentTransaction();
+    method @Deprecated public abstract android.app.FragmentTransaction add(android.app.Fragment, String);
+    method @Deprecated public abstract android.app.FragmentTransaction add(@IdRes int, android.app.Fragment);
+    method @Deprecated public abstract android.app.FragmentTransaction add(@IdRes int, android.app.Fragment, String);
+    method @Deprecated public abstract android.app.FragmentTransaction addSharedElement(android.view.View, String);
+    method @Deprecated public abstract android.app.FragmentTransaction addToBackStack(@Nullable String);
+    method @Deprecated public abstract android.app.FragmentTransaction attach(android.app.Fragment);
+    method @Deprecated public abstract int commit();
+    method @Deprecated public abstract int commitAllowingStateLoss();
+    method @Deprecated public abstract void commitNow();
+    method @Deprecated public abstract void commitNowAllowingStateLoss();
+    method @Deprecated public abstract android.app.FragmentTransaction detach(android.app.Fragment);
+    method @Deprecated public abstract android.app.FragmentTransaction disallowAddToBackStack();
+    method @Deprecated public abstract android.app.FragmentTransaction hide(android.app.Fragment);
+    method @Deprecated public abstract boolean isAddToBackStackAllowed();
+    method @Deprecated public abstract boolean isEmpty();
+    method @Deprecated public abstract android.app.FragmentTransaction remove(android.app.Fragment);
+    method @Deprecated public abstract android.app.FragmentTransaction replace(@IdRes int, android.app.Fragment);
+    method @Deprecated public abstract android.app.FragmentTransaction replace(@IdRes int, android.app.Fragment, String);
+    method @Deprecated public abstract android.app.FragmentTransaction runOnCommit(Runnable);
+    method @Deprecated public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(@StringRes int);
+    method @Deprecated public abstract android.app.FragmentTransaction setBreadCrumbShortTitle(CharSequence);
+    method @Deprecated public abstract android.app.FragmentTransaction setBreadCrumbTitle(@StringRes int);
+    method @Deprecated public abstract android.app.FragmentTransaction setBreadCrumbTitle(CharSequence);
+    method @Deprecated public abstract android.app.FragmentTransaction setCustomAnimations(@AnimatorRes int, @AnimatorRes int);
+    method @Deprecated public abstract android.app.FragmentTransaction setCustomAnimations(@AnimatorRes int, @AnimatorRes int, @AnimatorRes int, @AnimatorRes int);
+    method @Deprecated public abstract android.app.FragmentTransaction setPrimaryNavigationFragment(android.app.Fragment);
+    method @Deprecated public abstract android.app.FragmentTransaction setReorderingAllowed(boolean);
+    method @Deprecated public abstract android.app.FragmentTransaction setTransition(int);
+    method @Deprecated public abstract android.app.FragmentTransaction setTransitionStyle(@StyleRes int);
+    method @Deprecated public abstract android.app.FragmentTransaction show(android.app.Fragment);
+    field @Deprecated public static final int TRANSIT_ENTER_MASK = 4096; // 0x1000
+    field @Deprecated public static final int TRANSIT_EXIT_MASK = 8192; // 0x2000
+    field @Deprecated public static final int TRANSIT_FRAGMENT_CLOSE = 8194; // 0x2002
+    field @Deprecated public static final int TRANSIT_FRAGMENT_FADE = 4099; // 0x1003
+    field @Deprecated public static final int TRANSIT_FRAGMENT_OPEN = 4097; // 0x1001
+    field @Deprecated public static final int TRANSIT_NONE = 0; // 0x0
+    field @Deprecated public static final int TRANSIT_UNSET = -1; // 0xffffffff
+  }
+
+  public final class GameManager {
+    method public int getGameMode();
+    field public static final int GAME_MODE_BATTERY = 3; // 0x3
+    field public static final int GAME_MODE_PERFORMANCE = 2; // 0x2
+    field public static final int GAME_MODE_STANDARD = 1; // 0x1
+    field public static final int GAME_MODE_UNSUPPORTED = 0; // 0x0
+  }
+
+  public class Instrumentation {
+    ctor public Instrumentation();
+    method public android.os.TestLooperManager acquireLooperManager(android.os.Looper);
+    method public void addMonitor(android.app.Instrumentation.ActivityMonitor);
+    method public android.app.Instrumentation.ActivityMonitor addMonitor(android.content.IntentFilter, android.app.Instrumentation.ActivityResult, boolean);
+    method public android.app.Instrumentation.ActivityMonitor addMonitor(String, android.app.Instrumentation.ActivityResult, boolean);
+    method public void addResults(android.os.Bundle);
+    method public void callActivityOnCreate(android.app.Activity, android.os.Bundle);
+    method public void callActivityOnCreate(android.app.Activity, android.os.Bundle, android.os.PersistableBundle);
+    method public void callActivityOnDestroy(android.app.Activity);
+    method public void callActivityOnNewIntent(android.app.Activity, android.content.Intent);
+    method public void callActivityOnPause(android.app.Activity);
+    method public void callActivityOnPictureInPictureRequested(@NonNull android.app.Activity);
+    method public void callActivityOnPostCreate(@NonNull android.app.Activity, @Nullable android.os.Bundle);
+    method public void callActivityOnPostCreate(@NonNull android.app.Activity, @Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
+    method public void callActivityOnRestart(android.app.Activity);
+    method public void callActivityOnRestoreInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle);
+    method public void callActivityOnRestoreInstanceState(@NonNull android.app.Activity, @Nullable android.os.Bundle, @Nullable android.os.PersistableBundle);
+    method public void callActivityOnResume(android.app.Activity);
+    method public void callActivityOnSaveInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle);
+    method public void callActivityOnSaveInstanceState(@NonNull android.app.Activity, @NonNull android.os.Bundle, @NonNull android.os.PersistableBundle);
+    method public void callActivityOnStart(android.app.Activity);
+    method public void callActivityOnStop(android.app.Activity);
+    method public void callActivityOnUserLeaving(android.app.Activity);
+    method public void callApplicationOnCreate(android.app.Application);
+    method public boolean checkMonitorHit(android.app.Instrumentation.ActivityMonitor, int);
+    method public void endPerformanceSnapshot();
+    method public void finish(int, android.os.Bundle);
+    method public android.os.Bundle getAllocCounts();
+    method public android.os.Bundle getBinderCounts();
+    method public android.content.ComponentName getComponentName();
+    method public android.content.Context getContext();
+    method public String getProcessName();
+    method public android.content.Context getTargetContext();
+    method public android.app.UiAutomation getUiAutomation();
+    method public android.app.UiAutomation getUiAutomation(int);
+    method public boolean invokeContextMenuAction(android.app.Activity, int, int);
+    method public boolean invokeMenuActionSync(android.app.Activity, int, int);
+    method public boolean isProfiling();
+    method public android.app.Activity newActivity(Class<?>, android.content.Context, android.os.IBinder, android.app.Application, android.content.Intent, android.content.pm.ActivityInfo, CharSequence, android.app.Activity, String, Object) throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method public android.app.Activity newActivity(ClassLoader, String, android.content.Intent) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method public android.app.Application newApplication(ClassLoader, String, android.content.Context) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method public static android.app.Application newApplication(Class<?>, android.content.Context) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method public void onCreate(android.os.Bundle);
+    method public void onDestroy();
+    method public boolean onException(Object, Throwable);
+    method public void onStart();
+    method public void removeMonitor(android.app.Instrumentation.ActivityMonitor);
+    method public void runOnMainSync(Runnable);
+    method public void sendCharacterSync(int);
+    method public void sendKeyDownUpSync(int);
+    method public void sendKeySync(android.view.KeyEvent);
+    method public void sendPointerSync(android.view.MotionEvent);
+    method public void sendStatus(int, android.os.Bundle);
+    method public void sendStringSync(String);
+    method public void sendTrackballEventSync(android.view.MotionEvent);
+    method public void setAutomaticPerformanceSnapshots();
+    method public void setInTouchMode(boolean);
+    method public void start();
+    method public android.app.Activity startActivitySync(android.content.Intent);
+    method @NonNull public android.app.Activity startActivitySync(@NonNull android.content.Intent, @Nullable android.os.Bundle);
+    method @Deprecated public void startAllocCounting();
+    method public void startPerformanceSnapshot();
+    method public void startProfiling();
+    method @Deprecated public void stopAllocCounting();
+    method public void stopProfiling();
+    method public void waitForIdle(Runnable);
+    method public void waitForIdleSync();
+    method public android.app.Activity waitForMonitor(android.app.Instrumentation.ActivityMonitor);
+    method public android.app.Activity waitForMonitorWithTimeout(android.app.Instrumentation.ActivityMonitor, long);
+    field public static final String REPORT_KEY_IDENTIFIER = "id";
+    field public static final String REPORT_KEY_STREAMRESULT = "stream";
+  }
+
+  public static class Instrumentation.ActivityMonitor {
+    ctor public Instrumentation.ActivityMonitor(android.content.IntentFilter, android.app.Instrumentation.ActivityResult, boolean);
+    ctor public Instrumentation.ActivityMonitor(String, android.app.Instrumentation.ActivityResult, boolean);
+    ctor public Instrumentation.ActivityMonitor();
+    method public final android.content.IntentFilter getFilter();
+    method public final int getHits();
+    method public final android.app.Activity getLastActivity();
+    method public final android.app.Instrumentation.ActivityResult getResult();
+    method public final boolean isBlocking();
+    method public android.app.Instrumentation.ActivityResult onStartActivity(android.content.Intent);
+    method public final android.app.Activity waitForActivity();
+    method public final android.app.Activity waitForActivityWithTimeout(long);
+  }
+
+  public static final class Instrumentation.ActivityResult {
+    ctor public Instrumentation.ActivityResult(int, android.content.Intent);
+    method public int getResultCode();
+    method public android.content.Intent getResultData();
+  }
+
+  @Deprecated public abstract class IntentService extends android.app.Service {
+    ctor @Deprecated public IntentService(String);
+    method @Deprecated @Nullable public android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated @WorkerThread protected abstract void onHandleIntent(@Nullable android.content.Intent);
+    method @Deprecated public void onStart(@Nullable android.content.Intent, int);
+    method @Deprecated public void setIntentRedelivery(boolean);
+  }
+
+  public class KeyguardManager {
+    method @Deprecated public android.content.Intent createConfirmDeviceCredentialIntent(CharSequence, CharSequence);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DISABLE_KEYGUARD) public void exitKeyguardSecurely(android.app.KeyguardManager.OnKeyguardExitResult);
+    method @Deprecated public boolean inKeyguardRestrictedInputMode();
+    method public boolean isDeviceLocked();
+    method public boolean isDeviceSecure();
+    method public boolean isKeyguardLocked();
+    method public boolean isKeyguardSecure();
+    method @Deprecated public android.app.KeyguardManager.KeyguardLock newKeyguardLock(String);
+    method public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
+  }
+
+  public abstract static class KeyguardManager.KeyguardDismissCallback {
+    ctor public KeyguardManager.KeyguardDismissCallback();
+    method public void onDismissCancelled();
+    method public void onDismissError();
+    method public void onDismissSucceeded();
+  }
+
+  @Deprecated public class KeyguardManager.KeyguardLock {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DISABLE_KEYGUARD) public void disableKeyguard();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DISABLE_KEYGUARD) public void reenableKeyguard();
+  }
+
+  @Deprecated public static interface KeyguardManager.OnKeyguardExitResult {
+    method @Deprecated public void onKeyguardExitResult(boolean);
+  }
+
+  @Deprecated public abstract class LauncherActivity extends android.app.ListActivity {
+    ctor @Deprecated public LauncherActivity();
+    method @Deprecated protected android.content.Intent getTargetIntent();
+    method @Deprecated protected android.content.Intent intentForPosition(int);
+    method @Deprecated protected android.app.LauncherActivity.ListItem itemForPosition(int);
+    method @Deprecated public java.util.List<android.app.LauncherActivity.ListItem> makeListItems();
+    method @Deprecated protected java.util.List<android.content.pm.ResolveInfo> onQueryPackageManager(android.content.Intent);
+    method @Deprecated protected void onSetContentView();
+  }
+
+  @Deprecated public class LauncherActivity.IconResizer {
+    ctor @Deprecated public LauncherActivity.IconResizer();
+    method @Deprecated public android.graphics.drawable.Drawable createIconThumbnail(android.graphics.drawable.Drawable);
+  }
+
+  @Deprecated public static class LauncherActivity.ListItem {
+    ctor @Deprecated public LauncherActivity.ListItem();
+    field @Deprecated public String className;
+    field @Deprecated public android.os.Bundle extras;
+    field @Deprecated public android.graphics.drawable.Drawable icon;
+    field @Deprecated public CharSequence label;
+    field @Deprecated public String packageName;
+    field @Deprecated public android.content.pm.ResolveInfo resolveInfo;
+  }
+
+  @Deprecated public class ListActivity extends android.app.Activity {
+    ctor @Deprecated public ListActivity();
+    method @Deprecated public android.widget.ListAdapter getListAdapter();
+    method @Deprecated public android.widget.ListView getListView();
+    method @Deprecated public long getSelectedItemId();
+    method @Deprecated public int getSelectedItemPosition();
+    method @Deprecated protected void onListItemClick(android.widget.ListView, android.view.View, int, long);
+    method @Deprecated public void setListAdapter(android.widget.ListAdapter);
+    method @Deprecated public void setSelection(int);
+  }
+
+  @Deprecated public class ListFragment extends android.app.Fragment {
+    ctor @Deprecated public ListFragment();
+    method @Deprecated public android.widget.ListAdapter getListAdapter();
+    method @Deprecated public android.widget.ListView getListView();
+    method @Deprecated public long getSelectedItemId();
+    method @Deprecated public int getSelectedItemPosition();
+    method @Deprecated public void onListItemClick(android.widget.ListView, android.view.View, int, long);
+    method @Deprecated public void setEmptyText(CharSequence);
+    method @Deprecated public void setListAdapter(android.widget.ListAdapter);
+    method @Deprecated public void setListShown(boolean);
+    method @Deprecated public void setListShownNoAnimation(boolean);
+    method @Deprecated public void setSelection(int);
+  }
+
+  @Deprecated public abstract class LoaderManager {
+    ctor @Deprecated public LoaderManager();
+    method @Deprecated public abstract void destroyLoader(int);
+    method @Deprecated public abstract void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated public static void enableDebugLogging(boolean);
+    method @Deprecated public abstract <D> android.content.Loader<D> getLoader(int);
+    method @Deprecated public abstract <D> android.content.Loader<D> initLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+    method @Deprecated public abstract <D> android.content.Loader<D> restartLoader(int, android.os.Bundle, android.app.LoaderManager.LoaderCallbacks<D>);
+  }
+
+  @Deprecated public static interface LoaderManager.LoaderCallbacks<D> {
+    method @Deprecated public android.content.Loader<D> onCreateLoader(int, android.os.Bundle);
+    method @Deprecated public void onLoadFinished(android.content.Loader<D>, D);
+    method @Deprecated public void onLoaderReset(android.content.Loader<D>);
+  }
+
+  @Deprecated public class LocalActivityManager {
+    ctor @Deprecated public LocalActivityManager(android.app.Activity, boolean);
+    method @Deprecated public android.view.Window destroyActivity(String, boolean);
+    method @Deprecated public void dispatchCreate(android.os.Bundle);
+    method @Deprecated public void dispatchDestroy(boolean);
+    method @Deprecated public void dispatchPause(boolean);
+    method @Deprecated public void dispatchResume();
+    method @Deprecated public void dispatchStop();
+    method @Deprecated public android.app.Activity getActivity(String);
+    method @Deprecated public android.app.Activity getCurrentActivity();
+    method @Deprecated public String getCurrentId();
+    method @Deprecated public void removeAllActivities();
+    method @Deprecated public android.os.Bundle saveInstanceState();
+    method @Deprecated public android.view.Window startActivity(String, android.content.Intent);
+  }
+
+  public class MediaRouteActionProvider extends android.view.ActionProvider {
+    ctor public MediaRouteActionProvider(android.content.Context);
+    method public android.view.View onCreateActionView();
+    method public void setExtendedSettingsClickListener(android.view.View.OnClickListener);
+    method public void setRouteTypes(int);
+  }
+
+  public class MediaRouteButton extends android.view.View {
+    ctor public MediaRouteButton(android.content.Context);
+    ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet);
+    ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet, int);
+    ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet, int, int);
+    method public int getRouteTypes();
+    method public void onAttachedToWindow();
+    method public void onDetachedFromWindow();
+    method public void setExtendedSettingsClickListener(android.view.View.OnClickListener);
+    method public void setRouteTypes(int);
+    method public void showDialog();
+  }
+
+  public class NativeActivity extends android.app.Activity implements android.view.InputQueue.Callback android.view.SurfaceHolder.Callback2 android.view.ViewTreeObserver.OnGlobalLayoutListener {
+    ctor public NativeActivity();
+    method public void onGlobalLayout();
+    method public void onInputQueueCreated(android.view.InputQueue);
+    method public void onInputQueueDestroyed(android.view.InputQueue);
+    method public void surfaceChanged(android.view.SurfaceHolder, int, int, int);
+    method public void surfaceCreated(android.view.SurfaceHolder);
+    method public void surfaceDestroyed(android.view.SurfaceHolder);
+    method public void surfaceRedrawNeeded(android.view.SurfaceHolder);
+    field public static final String META_DATA_FUNC_NAME = "android.app.func_name";
+    field public static final String META_DATA_LIB_NAME = "android.app.lib_name";
+  }
+
+  public class Notification implements android.os.Parcelable {
+    ctor public Notification();
+    ctor @Deprecated public Notification(int, CharSequence, long);
+    ctor public Notification(android.os.Parcel);
+    method public android.app.Notification clone();
+    method public int describeContents();
+    method @Nullable public android.util.Pair<android.app.RemoteInput,android.app.Notification.Action> findRemoteInputActionPair(boolean);
+    method public boolean getAllowSystemGeneratedContextualActions();
+    method public int getBadgeIconType();
+    method @Nullable public android.app.Notification.BubbleMetadata getBubbleMetadata();
+    method public String getChannelId();
+    method @NonNull public java.util.List<android.app.Notification.Action> getContextualActions();
+    method public String getGroup();
+    method public int getGroupAlertBehavior();
+    method public android.graphics.drawable.Icon getLargeIcon();
+    method @Nullable public android.content.LocusId getLocusId();
+    method public CharSequence getSettingsText();
+    method public String getShortcutId();
+    method public android.graphics.drawable.Icon getSmallIcon();
+    method public String getSortKey();
+    method public long getTimeoutAfter();
+    method public boolean hasImage();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.media.AudioAttributes AUDIO_ATTRIBUTES_DEFAULT;
+    field public static final int BADGE_ICON_LARGE = 2; // 0x2
+    field public static final int BADGE_ICON_NONE = 0; // 0x0
+    field public static final int BADGE_ICON_SMALL = 1; // 0x1
+    field public static final String CATEGORY_ALARM = "alarm";
+    field public static final String CATEGORY_CALL = "call";
+    field public static final String CATEGORY_EMAIL = "email";
+    field public static final String CATEGORY_ERROR = "err";
+    field public static final String CATEGORY_EVENT = "event";
+    field public static final String CATEGORY_LOCATION_SHARING = "location_sharing";
+    field public static final String CATEGORY_MESSAGE = "msg";
+    field public static final String CATEGORY_MISSED_CALL = "missed_call";
+    field public static final String CATEGORY_NAVIGATION = "navigation";
+    field public static final String CATEGORY_PROGRESS = "progress";
+    field public static final String CATEGORY_PROMO = "promo";
+    field public static final String CATEGORY_RECOMMENDATION = "recommendation";
+    field public static final String CATEGORY_REMINDER = "reminder";
+    field public static final String CATEGORY_SERVICE = "service";
+    field public static final String CATEGORY_SOCIAL = "social";
+    field public static final String CATEGORY_STATUS = "status";
+    field public static final String CATEGORY_STOPWATCH = "stopwatch";
+    field public static final String CATEGORY_SYSTEM = "sys";
+    field public static final String CATEGORY_TRANSPORT = "transport";
+    field public static final String CATEGORY_WORKOUT = "workout";
+    field @ColorInt public static final int COLOR_DEFAULT = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification> CREATOR;
+    field public static final int DEFAULT_ALL = -1; // 0xffffffff
+    field public static final int DEFAULT_LIGHTS = 4; // 0x4
+    field public static final int DEFAULT_SOUND = 1; // 0x1
+    field public static final int DEFAULT_VIBRATE = 2; // 0x2
+    field public static final String EXTRA_ANSWER_COLOR = "android.answerColor";
+    field public static final String EXTRA_ANSWER_INTENT = "android.answerIntent";
+    field public static final String EXTRA_AUDIO_CONTENTS_URI = "android.audioContents";
+    field public static final String EXTRA_BACKGROUND_IMAGE_URI = "android.backgroundImageUri";
+    field public static final String EXTRA_BIG_TEXT = "android.bigText";
+    field public static final String EXTRA_CALL_IS_VIDEO = "android.callIsVideo";
+    field public static final String EXTRA_CALL_PERSON = "android.callPerson";
+    field public static final String EXTRA_CHANNEL_GROUP_ID = "android.intent.extra.CHANNEL_GROUP_ID";
+    field public static final String EXTRA_CHANNEL_ID = "android.intent.extra.CHANNEL_ID";
+    field public static final String EXTRA_CHRONOMETER_COUNT_DOWN = "android.chronometerCountDown";
+    field public static final String EXTRA_COLORIZED = "android.colorized";
+    field public static final String EXTRA_COMPACT_ACTIONS = "android.compactActions";
+    field public static final String EXTRA_CONVERSATION_TITLE = "android.conversationTitle";
+    field public static final String EXTRA_DECLINE_COLOR = "android.declineColor";
+    field public static final String EXTRA_DECLINE_INTENT = "android.declineIntent";
+    field public static final String EXTRA_HANG_UP_INTENT = "android.hangUpIntent";
+    field public static final String EXTRA_HISTORIC_MESSAGES = "android.messages.historic";
+    field public static final String EXTRA_INFO_TEXT = "android.infoText";
+    field public static final String EXTRA_IS_GROUP_CONVERSATION = "android.isGroupConversation";
+    field @Deprecated public static final String EXTRA_LARGE_ICON = "android.largeIcon";
+    field public static final String EXTRA_LARGE_ICON_BIG = "android.largeIcon.big";
+    field public static final String EXTRA_MEDIA_SESSION = "android.mediaSession";
+    field public static final String EXTRA_MESSAGES = "android.messages";
+    field public static final String EXTRA_MESSAGING_PERSON = "android.messagingUser";
+    field public static final String EXTRA_NOTIFICATION_ID = "android.intent.extra.NOTIFICATION_ID";
+    field public static final String EXTRA_NOTIFICATION_TAG = "android.intent.extra.NOTIFICATION_TAG";
+    field @Deprecated public static final String EXTRA_PEOPLE = "android.people";
+    field public static final String EXTRA_PEOPLE_LIST = "android.people.list";
+    field public static final String EXTRA_PICTURE = "android.picture";
+    field public static final String EXTRA_PICTURE_CONTENT_DESCRIPTION = "android.pictureContentDescription";
+    field public static final String EXTRA_PICTURE_ICON = "android.pictureIcon";
+    field public static final String EXTRA_PROGRESS = "android.progress";
+    field public static final String EXTRA_PROGRESS_INDETERMINATE = "android.progressIndeterminate";
+    field public static final String EXTRA_PROGRESS_MAX = "android.progressMax";
+    field public static final String EXTRA_REMOTE_INPUT_DRAFT = "android.remoteInputDraft";
+    field public static final String EXTRA_REMOTE_INPUT_HISTORY = "android.remoteInputHistory";
+    field @Deprecated public static final String EXTRA_SELF_DISPLAY_NAME = "android.selfDisplayName";
+    field public static final String EXTRA_SHOW_BIG_PICTURE_WHEN_COLLAPSED = "android.showBigPictureWhenCollapsed";
+    field public static final String EXTRA_SHOW_CHRONOMETER = "android.showChronometer";
+    field public static final String EXTRA_SHOW_WHEN = "android.showWhen";
+    field @Deprecated public static final String EXTRA_SMALL_ICON = "android.icon";
+    field public static final String EXTRA_SUB_TEXT = "android.subText";
+    field public static final String EXTRA_SUMMARY_TEXT = "android.summaryText";
+    field public static final String EXTRA_TEMPLATE = "android.template";
+    field public static final String EXTRA_TEXT = "android.text";
+    field public static final String EXTRA_TEXT_LINES = "android.textLines";
+    field public static final String EXTRA_TITLE = "android.title";
+    field public static final String EXTRA_TITLE_BIG = "android.title.big";
+    field public static final String EXTRA_VERIFICATION_ICON = "android.verificationIcon";
+    field public static final String EXTRA_VERIFICATION_TEXT = "android.verificationText";
+    field public static final int FLAG_AUTO_CANCEL = 16; // 0x10
+    field public static final int FLAG_BUBBLE = 4096; // 0x1000
+    field public static final int FLAG_FOREGROUND_SERVICE = 64; // 0x40
+    field public static final int FLAG_GROUP_SUMMARY = 512; // 0x200
+    field @Deprecated public static final int FLAG_HIGH_PRIORITY = 128; // 0x80
+    field public static final int FLAG_INSISTENT = 4; // 0x4
+    field public static final int FLAG_LOCAL_ONLY = 256; // 0x100
+    field public static final int FLAG_NO_CLEAR = 32; // 0x20
+    field public static final int FLAG_ONGOING_EVENT = 2; // 0x2
+    field public static final int FLAG_ONLY_ALERT_ONCE = 8; // 0x8
+    field @Deprecated public static final int FLAG_SHOW_LIGHTS = 1; // 0x1
+    field public static final int FOREGROUND_SERVICE_DEFAULT = 0; // 0x0
+    field public static final int FOREGROUND_SERVICE_DEFERRED = 2; // 0x2
+    field public static final int FOREGROUND_SERVICE_IMMEDIATE = 1; // 0x1
+    field public static final int GROUP_ALERT_ALL = 0; // 0x0
+    field public static final int GROUP_ALERT_CHILDREN = 2; // 0x2
+    field public static final int GROUP_ALERT_SUMMARY = 1; // 0x1
+    field public static final String INTENT_CATEGORY_NOTIFICATION_PREFERENCES = "android.intent.category.NOTIFICATION_PREFERENCES";
+    field @Deprecated public static final int PRIORITY_DEFAULT = 0; // 0x0
+    field @Deprecated public static final int PRIORITY_HIGH = 1; // 0x1
+    field @Deprecated public static final int PRIORITY_LOW = -1; // 0xffffffff
+    field @Deprecated public static final int PRIORITY_MAX = 2; // 0x2
+    field @Deprecated public static final int PRIORITY_MIN = -2; // 0xfffffffe
+    field @Deprecated public static final int STREAM_DEFAULT = -1; // 0xffffffff
+    field public static final int VISIBILITY_PRIVATE = 0; // 0x0
+    field public static final int VISIBILITY_PUBLIC = 1; // 0x1
+    field public static final int VISIBILITY_SECRET = -1; // 0xffffffff
+    field public android.app.Notification.Action[] actions;
+    field @Deprecated public android.media.AudioAttributes audioAttributes;
+    field @Deprecated public int audioStreamType;
+    field @Deprecated public android.widget.RemoteViews bigContentView;
+    field public String category;
+    field @ColorInt public int color;
+    field public android.app.PendingIntent contentIntent;
+    field @Deprecated public android.widget.RemoteViews contentView;
+    field @Deprecated public int defaults;
+    field public android.app.PendingIntent deleteIntent;
+    field public android.os.Bundle extras;
+    field public int flags;
+    field public android.app.PendingIntent fullScreenIntent;
+    field @Deprecated public android.widget.RemoteViews headsUpContentView;
+    field @Deprecated @DrawableRes public int icon;
+    field public int iconLevel;
+    field @Deprecated public android.graphics.Bitmap largeIcon;
+    field @Deprecated @ColorInt public int ledARGB;
+    field @Deprecated public int ledOffMS;
+    field @Deprecated public int ledOnMS;
+    field public int number;
+    field @Deprecated public int priority;
+    field public android.app.Notification publicVersion;
+    field @Deprecated public android.net.Uri sound;
+    field public CharSequence tickerText;
+    field @Deprecated public android.widget.RemoteViews tickerView;
+    field @Deprecated public long[] vibrate;
+    field public int visibility;
+    field public long when;
+  }
+
+  public static class Notification.Action implements android.os.Parcelable {
+    ctor @Deprecated public Notification.Action(int, CharSequence, android.app.PendingIntent);
+    method public android.app.Notification.Action clone();
+    method public int describeContents();
+    method public boolean getAllowGeneratedReplies();
+    method public android.app.RemoteInput[] getDataOnlyRemoteInputs();
+    method public android.os.Bundle getExtras();
+    method public android.graphics.drawable.Icon getIcon();
+    method public android.app.RemoteInput[] getRemoteInputs();
+    method public int getSemanticAction();
+    method public boolean isAuthenticationRequired();
+    method public boolean isContextual();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification.Action> CREATOR;
+    field public static final int SEMANTIC_ACTION_ARCHIVE = 5; // 0x5
+    field public static final int SEMANTIC_ACTION_CALL = 10; // 0xa
+    field public static final int SEMANTIC_ACTION_DELETE = 4; // 0x4
+    field public static final int SEMANTIC_ACTION_MARK_AS_READ = 2; // 0x2
+    field public static final int SEMANTIC_ACTION_MARK_AS_UNREAD = 3; // 0x3
+    field public static final int SEMANTIC_ACTION_MUTE = 6; // 0x6
+    field public static final int SEMANTIC_ACTION_NONE = 0; // 0x0
+    field public static final int SEMANTIC_ACTION_REPLY = 1; // 0x1
+    field public static final int SEMANTIC_ACTION_THUMBS_DOWN = 9; // 0x9
+    field public static final int SEMANTIC_ACTION_THUMBS_UP = 8; // 0x8
+    field public static final int SEMANTIC_ACTION_UNMUTE = 7; // 0x7
+    field public android.app.PendingIntent actionIntent;
+    field @Deprecated public int icon;
+    field public CharSequence title;
+  }
+
+  public static final class Notification.Action.Builder {
+    ctor @Deprecated public Notification.Action.Builder(int, CharSequence, android.app.PendingIntent);
+    ctor public Notification.Action.Builder(android.graphics.drawable.Icon, CharSequence, android.app.PendingIntent);
+    ctor public Notification.Action.Builder(android.app.Notification.Action);
+    method @NonNull public android.app.Notification.Action.Builder addExtras(android.os.Bundle);
+    method @NonNull public android.app.Notification.Action.Builder addRemoteInput(android.app.RemoteInput);
+    method @NonNull public android.app.Notification.Action build();
+    method @NonNull public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Extender);
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public android.app.Notification.Action.Builder setAllowGeneratedReplies(boolean);
+    method @NonNull public android.app.Notification.Action.Builder setAuthenticationRequired(boolean);
+    method @NonNull public android.app.Notification.Action.Builder setContextual(boolean);
+    method @NonNull public android.app.Notification.Action.Builder setSemanticAction(int);
+  }
+
+  public static interface Notification.Action.Extender {
+    method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Builder);
+  }
+
+  public static final class Notification.Action.WearableExtender implements android.app.Notification.Action.Extender {
+    ctor public Notification.Action.WearableExtender();
+    ctor public Notification.Action.WearableExtender(android.app.Notification.Action);
+    method public android.app.Notification.Action.WearableExtender clone();
+    method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Builder);
+    method @Deprecated public CharSequence getCancelLabel();
+    method @Deprecated public CharSequence getConfirmLabel();
+    method public boolean getHintDisplayActionInline();
+    method public boolean getHintLaunchesActivity();
+    method @Deprecated public CharSequence getInProgressLabel();
+    method public boolean isAvailableOffline();
+    method public android.app.Notification.Action.WearableExtender setAvailableOffline(boolean);
+    method @Deprecated public android.app.Notification.Action.WearableExtender setCancelLabel(CharSequence);
+    method @Deprecated public android.app.Notification.Action.WearableExtender setConfirmLabel(CharSequence);
+    method public android.app.Notification.Action.WearableExtender setHintDisplayActionInline(boolean);
+    method public android.app.Notification.Action.WearableExtender setHintLaunchesActivity(boolean);
+    method @Deprecated public android.app.Notification.Action.WearableExtender setInProgressLabel(CharSequence);
+  }
+
+  public static class Notification.BigPictureStyle extends android.app.Notification.Style {
+    ctor public Notification.BigPictureStyle();
+    ctor @Deprecated public Notification.BigPictureStyle(android.app.Notification.Builder);
+    method @NonNull public android.app.Notification.BigPictureStyle bigLargeIcon(@Nullable android.graphics.Bitmap);
+    method @NonNull public android.app.Notification.BigPictureStyle bigLargeIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.BigPictureStyle bigPicture(@Nullable android.graphics.Bitmap);
+    method @NonNull public android.app.Notification.BigPictureStyle bigPicture(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.BigPictureStyle setBigContentTitle(@Nullable CharSequence);
+    method @NonNull public android.app.Notification.BigPictureStyle setContentDescription(@Nullable CharSequence);
+    method @NonNull public android.app.Notification.BigPictureStyle setSummaryText(@Nullable CharSequence);
+    method @NonNull public android.app.Notification.BigPictureStyle showBigPictureWhenCollapsed(boolean);
+  }
+
+  public static class Notification.BigTextStyle extends android.app.Notification.Style {
+    ctor public Notification.BigTextStyle();
+    ctor @Deprecated public Notification.BigTextStyle(android.app.Notification.Builder);
+    method public android.app.Notification.BigTextStyle bigText(CharSequence);
+    method public android.app.Notification.BigTextStyle setBigContentTitle(CharSequence);
+    method public android.app.Notification.BigTextStyle setSummaryText(CharSequence);
+  }
+
+  public static final class Notification.BubbleMetadata implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getAutoExpandBubble();
+    method @Nullable public android.app.PendingIntent getDeleteIntent();
+    method @Dimension(unit=android.annotation.Dimension.DP) public int getDesiredHeight();
+    method @DimenRes public int getDesiredHeightResId();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @Nullable public android.app.PendingIntent getIntent();
+    method @Nullable public String getShortcutId();
+    method public boolean isBubbleSuppressable();
+    method public boolean isBubbleSuppressed();
+    method public boolean isNotificationSuppressed();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification.BubbleMetadata> CREATOR;
+  }
+
+  public static final class Notification.BubbleMetadata.Builder {
+    ctor @Deprecated public Notification.BubbleMetadata.Builder();
+    ctor public Notification.BubbleMetadata.Builder(@NonNull String);
+    ctor public Notification.BubbleMetadata.Builder(@NonNull android.app.PendingIntent, @NonNull android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.BubbleMetadata build();
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setAutoExpandBubble(boolean);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setDeleteIntent(@Nullable android.app.PendingIntent);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setDesiredHeight(@Dimension(unit=android.annotation.Dimension.DP) int);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setDesiredHeightResId(@DimenRes int);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setIcon(@NonNull android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setSuppressNotification(boolean);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setSuppressableBubble(boolean);
+  }
+
+  public static class Notification.Builder {
+    ctor public Notification.Builder(android.content.Context, String);
+    ctor @Deprecated public Notification.Builder(android.content.Context);
+    method @Deprecated public android.app.Notification.Builder addAction(int, CharSequence, android.app.PendingIntent);
+    method @NonNull public android.app.Notification.Builder addAction(android.app.Notification.Action);
+    method @NonNull public android.app.Notification.Builder addExtras(android.os.Bundle);
+    method @Deprecated public android.app.Notification.Builder addPerson(String);
+    method @NonNull public android.app.Notification.Builder addPerson(android.app.Person);
+    method @NonNull public android.app.Notification build();
+    method public android.widget.RemoteViews createBigContentView();
+    method public android.widget.RemoteViews createContentView();
+    method public android.widget.RemoteViews createHeadsUpContentView();
+    method @NonNull public android.app.Notification.Builder extend(android.app.Notification.Extender);
+    method public android.os.Bundle getExtras();
+    method @Deprecated public android.app.Notification getNotification();
+    method public android.app.Notification.Style getStyle();
+    method @NonNull public static android.app.Notification.Builder recoverBuilder(android.content.Context, android.app.Notification);
+    method @NonNull public android.app.Notification.Builder setActions(android.app.Notification.Action...);
+    method @NonNull public android.app.Notification.Builder setAllowSystemGeneratedContextualActions(boolean);
+    method @NonNull public android.app.Notification.Builder setAutoCancel(boolean);
+    method @NonNull public android.app.Notification.Builder setBadgeIconType(int);
+    method @NonNull public android.app.Notification.Builder setBubbleMetadata(@Nullable android.app.Notification.BubbleMetadata);
+    method @NonNull public android.app.Notification.Builder setCategory(String);
+    method @NonNull public android.app.Notification.Builder setChannelId(String);
+    method @NonNull public android.app.Notification.Builder setChronometerCountDown(boolean);
+    method @NonNull public android.app.Notification.Builder setColor(@ColorInt int);
+    method @NonNull public android.app.Notification.Builder setColorized(boolean);
+    method @Deprecated public android.app.Notification.Builder setContent(android.widget.RemoteViews);
+    method @Deprecated public android.app.Notification.Builder setContentInfo(CharSequence);
+    method @NonNull public android.app.Notification.Builder setContentIntent(android.app.PendingIntent);
+    method @NonNull public android.app.Notification.Builder setContentText(CharSequence);
+    method @NonNull public android.app.Notification.Builder setContentTitle(CharSequence);
+    method @NonNull public android.app.Notification.Builder setCustomBigContentView(android.widget.RemoteViews);
+    method @NonNull public android.app.Notification.Builder setCustomContentView(android.widget.RemoteViews);
+    method @NonNull public android.app.Notification.Builder setCustomHeadsUpContentView(android.widget.RemoteViews);
+    method @Deprecated public android.app.Notification.Builder setDefaults(int);
+    method @NonNull public android.app.Notification.Builder setDeleteIntent(android.app.PendingIntent);
+    method @NonNull public android.app.Notification.Builder setExtras(android.os.Bundle);
+    method @NonNull public android.app.Notification.Builder setFlag(int, boolean);
+    method @NonNull public android.app.Notification.Builder setForegroundServiceBehavior(int);
+    method @NonNull public android.app.Notification.Builder setFullScreenIntent(android.app.PendingIntent, boolean);
+    method @NonNull public android.app.Notification.Builder setGroup(String);
+    method @NonNull public android.app.Notification.Builder setGroupAlertBehavior(int);
+    method @NonNull public android.app.Notification.Builder setGroupSummary(boolean);
+    method @NonNull public android.app.Notification.Builder setLargeIcon(android.graphics.Bitmap);
+    method @NonNull public android.app.Notification.Builder setLargeIcon(android.graphics.drawable.Icon);
+    method @Deprecated public android.app.Notification.Builder setLights(@ColorInt int, int, int);
+    method @NonNull public android.app.Notification.Builder setLocalOnly(boolean);
+    method @NonNull public android.app.Notification.Builder setLocusId(@Nullable android.content.LocusId);
+    method @NonNull public android.app.Notification.Builder setNumber(int);
+    method @NonNull public android.app.Notification.Builder setOngoing(boolean);
+    method @NonNull public android.app.Notification.Builder setOnlyAlertOnce(boolean);
+    method @Deprecated public android.app.Notification.Builder setPriority(int);
+    method @NonNull public android.app.Notification.Builder setProgress(int, int, boolean);
+    method @NonNull public android.app.Notification.Builder setPublicVersion(android.app.Notification);
+    method @NonNull public android.app.Notification.Builder setRemoteInputHistory(CharSequence[]);
+    method @NonNull public android.app.Notification.Builder setSettingsText(CharSequence);
+    method @NonNull public android.app.Notification.Builder setShortcutId(String);
+    method @NonNull public android.app.Notification.Builder setShowWhen(boolean);
+    method @NonNull public android.app.Notification.Builder setSmallIcon(@DrawableRes int);
+    method @NonNull public android.app.Notification.Builder setSmallIcon(@DrawableRes int, int);
+    method @NonNull public android.app.Notification.Builder setSmallIcon(android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.Builder setSortKey(String);
+    method @Deprecated public android.app.Notification.Builder setSound(android.net.Uri);
+    method @Deprecated public android.app.Notification.Builder setSound(android.net.Uri, int);
+    method @Deprecated public android.app.Notification.Builder setSound(android.net.Uri, android.media.AudioAttributes);
+    method @NonNull public android.app.Notification.Builder setStyle(android.app.Notification.Style);
+    method @NonNull public android.app.Notification.Builder setSubText(CharSequence);
+    method @NonNull public android.app.Notification.Builder setTicker(CharSequence);
+    method @Deprecated public android.app.Notification.Builder setTicker(CharSequence, android.widget.RemoteViews);
+    method @NonNull public android.app.Notification.Builder setTimeoutAfter(long);
+    method @NonNull public android.app.Notification.Builder setUsesChronometer(boolean);
+    method @Deprecated public android.app.Notification.Builder setVibrate(long[]);
+    method @NonNull public android.app.Notification.Builder setVisibility(int);
+    method @NonNull public android.app.Notification.Builder setWhen(long);
+  }
+
+  public static class Notification.CallStyle extends android.app.Notification.Style {
+    method @NonNull public static android.app.Notification.CallStyle forIncomingCall(@NonNull android.app.Person, @NonNull android.app.PendingIntent, @NonNull android.app.PendingIntent);
+    method @NonNull public static android.app.Notification.CallStyle forOngoingCall(@NonNull android.app.Person, @NonNull android.app.PendingIntent);
+    method @NonNull public static android.app.Notification.CallStyle forScreeningCall(@NonNull android.app.Person, @NonNull android.app.PendingIntent, @NonNull android.app.PendingIntent);
+    method @NonNull public android.app.Notification.CallStyle setAnswerButtonColorHint(@ColorInt int);
+    method @NonNull public android.app.Notification.CallStyle setDeclineButtonColorHint(@ColorInt int);
+    method @NonNull public android.app.Notification.CallStyle setIsVideo(boolean);
+    method @NonNull public android.app.Notification.CallStyle setVerificationIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.CallStyle setVerificationText(@Nullable CharSequence);
+  }
+
+  public static final class Notification.CarExtender implements android.app.Notification.Extender {
+    ctor public Notification.CarExtender();
+    ctor public Notification.CarExtender(android.app.Notification);
+    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
+    method @ColorInt public int getColor();
+    method public android.graphics.Bitmap getLargeIcon();
+    method public android.app.Notification.CarExtender.UnreadConversation getUnreadConversation();
+    method public android.app.Notification.CarExtender setColor(@ColorInt int);
+    method public android.app.Notification.CarExtender setLargeIcon(android.graphics.Bitmap);
+    method public android.app.Notification.CarExtender setUnreadConversation(android.app.Notification.CarExtender.UnreadConversation);
+  }
+
+  public static class Notification.CarExtender.Builder {
+    ctor public Notification.CarExtender.Builder(String);
+    method public android.app.Notification.CarExtender.Builder addMessage(String);
+    method public android.app.Notification.CarExtender.UnreadConversation build();
+    method public android.app.Notification.CarExtender.Builder setLatestTimestamp(long);
+    method public android.app.Notification.CarExtender.Builder setReadPendingIntent(android.app.PendingIntent);
+    method public android.app.Notification.CarExtender.Builder setReplyAction(android.app.PendingIntent, android.app.RemoteInput);
+  }
+
+  public static class Notification.CarExtender.UnreadConversation {
+    method public long getLatestTimestamp();
+    method public String[] getMessages();
+    method public String getParticipant();
+    method public String[] getParticipants();
+    method public android.app.PendingIntent getReadPendingIntent();
+    method public android.app.RemoteInput getRemoteInput();
+    method public android.app.PendingIntent getReplyPendingIntent();
+  }
+
+  public static class Notification.DecoratedCustomViewStyle extends android.app.Notification.Style {
+    ctor public Notification.DecoratedCustomViewStyle();
+  }
+
+  public static class Notification.DecoratedMediaCustomViewStyle extends android.app.Notification.MediaStyle {
+    ctor public Notification.DecoratedMediaCustomViewStyle();
+  }
+
+  public static interface Notification.Extender {
+    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
+  }
+
+  public static class Notification.InboxStyle extends android.app.Notification.Style {
+    ctor public Notification.InboxStyle();
+    ctor @Deprecated public Notification.InboxStyle(android.app.Notification.Builder);
+    method public android.app.Notification.InboxStyle addLine(CharSequence);
+    method public android.app.Notification.InboxStyle setBigContentTitle(CharSequence);
+    method public android.app.Notification.InboxStyle setSummaryText(CharSequence);
+  }
+
+  public static class Notification.MediaStyle extends android.app.Notification.Style {
+    ctor public Notification.MediaStyle();
+    ctor @Deprecated public Notification.MediaStyle(android.app.Notification.Builder);
+    method public android.app.Notification.MediaStyle setMediaSession(android.media.session.MediaSession.Token);
+    method public android.app.Notification.MediaStyle setShowActionsInCompactView(int...);
+  }
+
+  public static class Notification.MessagingStyle extends android.app.Notification.Style {
+    ctor @Deprecated public Notification.MessagingStyle(@NonNull CharSequence);
+    ctor public Notification.MessagingStyle(@NonNull android.app.Person);
+    method public android.app.Notification.MessagingStyle addHistoricMessage(android.app.Notification.MessagingStyle.Message);
+    method @Deprecated public android.app.Notification.MessagingStyle addMessage(CharSequence, long, CharSequence);
+    method public android.app.Notification.MessagingStyle addMessage(@NonNull CharSequence, long, @Nullable android.app.Person);
+    method public android.app.Notification.MessagingStyle addMessage(android.app.Notification.MessagingStyle.Message);
+    method @Nullable public CharSequence getConversationTitle();
+    method public java.util.List<android.app.Notification.MessagingStyle.Message> getHistoricMessages();
+    method public java.util.List<android.app.Notification.MessagingStyle.Message> getMessages();
+    method @NonNull public android.app.Person getUser();
+    method @Deprecated public CharSequence getUserDisplayName();
+    method public boolean isGroupConversation();
+    method public android.app.Notification.MessagingStyle setConversationTitle(@Nullable CharSequence);
+    method public android.app.Notification.MessagingStyle setGroupConversation(boolean);
+    field public static final int MAXIMUM_RETAINED_MESSAGES = 25; // 0x19
+  }
+
+  public static final class Notification.MessagingStyle.Message {
+    ctor @Deprecated public Notification.MessagingStyle.Message(CharSequence, long, CharSequence);
+    ctor public Notification.MessagingStyle.Message(@NonNull CharSequence, long, @Nullable android.app.Person);
+    method public String getDataMimeType();
+    method public android.net.Uri getDataUri();
+    method public android.os.Bundle getExtras();
+    method @NonNull public static java.util.List<android.app.Notification.MessagingStyle.Message> getMessagesFromBundleArray(@Nullable android.os.Parcelable[]);
+    method @Deprecated public CharSequence getSender();
+    method @Nullable public android.app.Person getSenderPerson();
+    method public CharSequence getText();
+    method public long getTimestamp();
+    method public android.app.Notification.MessagingStyle.Message setData(String, android.net.Uri);
+  }
+
+  public abstract static class Notification.Style {
+    ctor public Notification.Style();
+    method public android.app.Notification build();
+    method protected void checkBuilder();
+    method protected android.widget.RemoteViews getStandardView(int);
+    method protected void internalSetBigContentTitle(CharSequence);
+    method protected void internalSetSummaryText(CharSequence);
+    method public void setBuilder(android.app.Notification.Builder);
+    field protected android.app.Notification.Builder mBuilder;
+  }
+
+  public static final class Notification.WearableExtender implements android.app.Notification.Extender {
+    ctor public Notification.WearableExtender();
+    ctor public Notification.WearableExtender(android.app.Notification);
+    method public android.app.Notification.WearableExtender addAction(android.app.Notification.Action);
+    method public android.app.Notification.WearableExtender addActions(java.util.List<android.app.Notification.Action>);
+    method @Deprecated public android.app.Notification.WearableExtender addPage(android.app.Notification);
+    method @Deprecated public android.app.Notification.WearableExtender addPages(java.util.List<android.app.Notification>);
+    method public android.app.Notification.WearableExtender clearActions();
+    method @Deprecated public android.app.Notification.WearableExtender clearPages();
+    method public android.app.Notification.WearableExtender clone();
+    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
+    method public java.util.List<android.app.Notification.Action> getActions();
+    method @Deprecated public android.graphics.Bitmap getBackground();
+    method public String getBridgeTag();
+    method public int getContentAction();
+    method @Deprecated public int getContentIcon();
+    method @Deprecated public int getContentIconGravity();
+    method public boolean getContentIntentAvailableOffline();
+    method @Deprecated public int getCustomContentHeight();
+    method @Deprecated public int getCustomSizePreset();
+    method public String getDismissalId();
+    method @Deprecated public android.app.PendingIntent getDisplayIntent();
+    method @Deprecated public int getGravity();
+    method @Deprecated public boolean getHintAmbientBigPicture();
+    method @Deprecated public boolean getHintAvoidBackgroundClipping();
+    method public boolean getHintContentIntentLaunchesActivity();
+    method @Deprecated public boolean getHintHideIcon();
+    method @Deprecated public int getHintScreenTimeout();
+    method @Deprecated public boolean getHintShowBackgroundOnly();
+    method @Deprecated public java.util.List<android.app.Notification> getPages();
+    method public boolean getStartScrollBottom();
+    method @Deprecated public android.app.Notification.WearableExtender setBackground(android.graphics.Bitmap);
+    method public android.app.Notification.WearableExtender setBridgeTag(String);
+    method public android.app.Notification.WearableExtender setContentAction(int);
+    method @Deprecated public android.app.Notification.WearableExtender setContentIcon(int);
+    method @Deprecated public android.app.Notification.WearableExtender setContentIconGravity(int);
+    method public android.app.Notification.WearableExtender setContentIntentAvailableOffline(boolean);
+    method @Deprecated public android.app.Notification.WearableExtender setCustomContentHeight(int);
+    method @Deprecated public android.app.Notification.WearableExtender setCustomSizePreset(int);
+    method public android.app.Notification.WearableExtender setDismissalId(String);
+    method @Deprecated public android.app.Notification.WearableExtender setDisplayIntent(android.app.PendingIntent);
+    method @Deprecated public android.app.Notification.WearableExtender setGravity(int);
+    method @Deprecated public android.app.Notification.WearableExtender setHintAmbientBigPicture(boolean);
+    method @Deprecated public android.app.Notification.WearableExtender setHintAvoidBackgroundClipping(boolean);
+    method public android.app.Notification.WearableExtender setHintContentIntentLaunchesActivity(boolean);
+    method @Deprecated public android.app.Notification.WearableExtender setHintHideIcon(boolean);
+    method @Deprecated public android.app.Notification.WearableExtender setHintScreenTimeout(int);
+    method @Deprecated public android.app.Notification.WearableExtender setHintShowBackgroundOnly(boolean);
+    method public android.app.Notification.WearableExtender setStartScrollBottom(boolean);
+    field @Deprecated public static final int SCREEN_TIMEOUT_LONG = -1; // 0xffffffff
+    field @Deprecated public static final int SCREEN_TIMEOUT_SHORT = 0; // 0x0
+    field @Deprecated public static final int SIZE_DEFAULT = 0; // 0x0
+    field @Deprecated public static final int SIZE_FULL_SCREEN = 5; // 0x5
+    field @Deprecated public static final int SIZE_LARGE = 4; // 0x4
+    field @Deprecated public static final int SIZE_MEDIUM = 3; // 0x3
+    field @Deprecated public static final int SIZE_SMALL = 2; // 0x2
+    field @Deprecated public static final int SIZE_XSMALL = 1; // 0x1
+    field public static final int UNSET_ACTION_INDEX = -1; // 0xffffffff
+  }
+
+  public final class NotificationChannel implements android.os.Parcelable {
+    ctor public NotificationChannel(String, CharSequence, int);
+    method public boolean canBubble();
+    method public boolean canBypassDnd();
+    method public boolean canShowBadge();
+    method public int describeContents();
+    method public void enableLights(boolean);
+    method public void enableVibration(boolean);
+    method public android.media.AudioAttributes getAudioAttributes();
+    method @Nullable public String getConversationId();
+    method public String getDescription();
+    method public String getGroup();
+    method public String getId();
+    method public int getImportance();
+    method public int getLightColor();
+    method public int getLockscreenVisibility();
+    method public CharSequence getName();
+    method @Nullable public String getParentChannelId();
+    method public android.net.Uri getSound();
+    method public long[] getVibrationPattern();
+    method public boolean hasUserSetImportance();
+    method public boolean hasUserSetSound();
+    method public boolean isConversation();
+    method public boolean isDemoted();
+    method public boolean isImportantConversation();
+    method public void setAllowBubbles(boolean);
+    method public void setBypassDnd(boolean);
+    method public void setConversationId(@NonNull String, @NonNull String);
+    method public void setDescription(String);
+    method public void setGroup(String);
+    method public void setImportance(int);
+    method public void setLightColor(int);
+    method public void setLockscreenVisibility(int);
+    method public void setName(CharSequence);
+    method public void setShowBadge(boolean);
+    method public void setSound(android.net.Uri, android.media.AudioAttributes);
+    method public void setVibrationPattern(long[]);
+    method public boolean shouldShowLights();
+    method public boolean shouldVibrate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.NotificationChannel> CREATOR;
+    field public static final String DEFAULT_CHANNEL_ID = "miscellaneous";
+    field public static final String EDIT_CONVERSATION = "conversation";
+    field public static final String EDIT_IMPORTANCE = "importance";
+    field public static final String EDIT_LAUNCHER = "launcher";
+    field public static final String EDIT_LOCKED_DEVICE = "locked";
+    field public static final String EDIT_SOUND = "sound";
+    field public static final String EDIT_VIBRATION = "vibration";
+    field public static final String EDIT_ZEN = "zen";
+  }
+
+  public final class NotificationChannelGroup implements android.os.Parcelable {
+    ctor public NotificationChannelGroup(String, CharSequence);
+    method public android.app.NotificationChannelGroup clone();
+    method public int describeContents();
+    method public java.util.List<android.app.NotificationChannel> getChannels();
+    method public String getDescription();
+    method public String getId();
+    method public CharSequence getName();
+    method public boolean isBlocked();
+    method public void setDescription(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.NotificationChannelGroup> CREATOR;
+  }
+
+  public class NotificationManager {
+    method public String addAutomaticZenRule(android.app.AutomaticZenRule);
+    method @Deprecated public boolean areBubblesAllowed();
+    method public boolean areBubblesEnabled();
+    method public boolean areNotificationsEnabled();
+    method public boolean areNotificationsPaused();
+    method public boolean canNotifyAsPackage(@NonNull String);
+    method public void cancel(int);
+    method public void cancel(@Nullable String, int);
+    method public void cancelAll();
+    method public void cancelAsPackage(@NonNull String, @Nullable String, int);
+    method public void createNotificationChannel(@NonNull android.app.NotificationChannel);
+    method public void createNotificationChannelGroup(@NonNull android.app.NotificationChannelGroup);
+    method public void createNotificationChannelGroups(@NonNull java.util.List<android.app.NotificationChannelGroup>);
+    method public void createNotificationChannels(@NonNull java.util.List<android.app.NotificationChannel>);
+    method public void deleteNotificationChannel(String);
+    method public void deleteNotificationChannelGroup(String);
+    method public android.service.notification.StatusBarNotification[] getActiveNotifications();
+    method public android.app.AutomaticZenRule getAutomaticZenRule(String);
+    method public java.util.Map<java.lang.String,android.app.AutomaticZenRule> getAutomaticZenRules();
+    method public int getBubblePreference();
+    method @NonNull public android.app.NotificationManager.Policy getConsolidatedNotificationPolicy();
+    method public final int getCurrentInterruptionFilter();
+    method public int getImportance();
+    method public android.app.NotificationChannel getNotificationChannel(String);
+    method @Nullable public android.app.NotificationChannel getNotificationChannel(@NonNull String, @NonNull String);
+    method public android.app.NotificationChannelGroup getNotificationChannelGroup(String);
+    method public java.util.List<android.app.NotificationChannelGroup> getNotificationChannelGroups();
+    method public java.util.List<android.app.NotificationChannel> getNotificationChannels();
+    method @Nullable public String getNotificationDelegate();
+    method public android.app.NotificationManager.Policy getNotificationPolicy();
+    method public boolean isNotificationListenerAccessGranted(android.content.ComponentName);
+    method public boolean isNotificationPolicyAccessGranted();
+    method public void notify(int, android.app.Notification);
+    method public void notify(String, int, android.app.Notification);
+    method public void notifyAsPackage(@NonNull String, @Nullable String, int, @NonNull android.app.Notification);
+    method public boolean removeAutomaticZenRule(String);
+    method public void setAutomaticZenRuleState(@NonNull String, @NonNull android.service.notification.Condition);
+    method public final void setInterruptionFilter(int);
+    method public void setNotificationDelegate(@Nullable String);
+    method public void setNotificationPolicy(@NonNull android.app.NotificationManager.Policy);
+    method public boolean shouldHideSilentStatusBarIcons();
+    method public boolean updateAutomaticZenRule(String, android.app.AutomaticZenRule);
+    field public static final String ACTION_APP_BLOCK_STATE_CHANGED = "android.app.action.APP_BLOCK_STATE_CHANGED";
+    field public static final String ACTION_AUTOMATIC_ZEN_RULE = "android.app.action.AUTOMATIC_ZEN_RULE";
+    field public static final String ACTION_AUTOMATIC_ZEN_RULE_STATUS_CHANGED = "android.app.action.AUTOMATIC_ZEN_RULE_STATUS_CHANGED";
+    field public static final String ACTION_INTERRUPTION_FILTER_CHANGED = "android.app.action.INTERRUPTION_FILTER_CHANGED";
+    field public static final String ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED = "android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED";
+    field public static final String ACTION_NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED = "android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED";
+    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED = "android.app.action.NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED";
+    field public static final String ACTION_NOTIFICATION_POLICY_CHANGED = "android.app.action.NOTIFICATION_POLICY_CHANGED";
+    field public static final int AUTOMATIC_RULE_STATUS_DISABLED = 2; // 0x2
+    field public static final int AUTOMATIC_RULE_STATUS_ENABLED = 1; // 0x1
+    field public static final int AUTOMATIC_RULE_STATUS_REMOVED = 3; // 0x3
+    field public static final int AUTOMATIC_RULE_STATUS_UNKNOWN = -1; // 0xffffffff
+    field public static final int BUBBLE_PREFERENCE_ALL = 1; // 0x1
+    field public static final int BUBBLE_PREFERENCE_NONE = 0; // 0x0
+    field public static final int BUBBLE_PREFERENCE_SELECTED = 2; // 0x2
+    field public static final String EXTRA_AUTOMATIC_RULE_ID = "android.app.extra.AUTOMATIC_RULE_ID";
+    field public static final String EXTRA_AUTOMATIC_ZEN_RULE_ID = "android.app.extra.AUTOMATIC_ZEN_RULE_ID";
+    field public static final String EXTRA_AUTOMATIC_ZEN_RULE_STATUS = "android.app.extra.AUTOMATIC_ZEN_RULE_STATUS";
+    field public static final String EXTRA_BLOCKED_STATE = "android.app.extra.BLOCKED_STATE";
+    field public static final String EXTRA_NOTIFICATION_CHANNEL_GROUP_ID = "android.app.extra.NOTIFICATION_CHANNEL_GROUP_ID";
+    field public static final String EXTRA_NOTIFICATION_CHANNEL_ID = "android.app.extra.NOTIFICATION_CHANNEL_ID";
+    field public static final int IMPORTANCE_DEFAULT = 3; // 0x3
+    field public static final int IMPORTANCE_HIGH = 4; // 0x4
+    field public static final int IMPORTANCE_LOW = 2; // 0x2
+    field public static final int IMPORTANCE_MAX = 5; // 0x5
+    field public static final int IMPORTANCE_MIN = 1; // 0x1
+    field public static final int IMPORTANCE_NONE = 0; // 0x0
+    field public static final int IMPORTANCE_UNSPECIFIED = -1000; // 0xfffffc18
+    field public static final int INTERRUPTION_FILTER_ALARMS = 4; // 0x4
+    field public static final int INTERRUPTION_FILTER_ALL = 1; // 0x1
+    field public static final int INTERRUPTION_FILTER_NONE = 3; // 0x3
+    field public static final int INTERRUPTION_FILTER_PRIORITY = 2; // 0x2
+    field public static final int INTERRUPTION_FILTER_UNKNOWN = 0; // 0x0
+    field public static final String META_DATA_AUTOMATIC_RULE_TYPE = "android.service.zen.automatic.ruleType";
+    field public static final String META_DATA_RULE_INSTANCE_LIMIT = "android.service.zen.automatic.ruleInstanceLimit";
+  }
+
+  public static class NotificationManager.Policy implements android.os.Parcelable {
+    ctor public NotificationManager.Policy(int, int, int);
+    ctor public NotificationManager.Policy(int, int, int, int);
+    ctor public NotificationManager.Policy(int, int, int, int, int);
+    method public int describeContents();
+    method public static String priorityCategoriesToString(int);
+    method public static String prioritySendersToString(int);
+    method public static String suppressedEffectsToString(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CONVERSATION_SENDERS_ANYONE = 1; // 0x1
+    field public static final int CONVERSATION_SENDERS_IMPORTANT = 2; // 0x2
+    field public static final int CONVERSATION_SENDERS_NONE = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.NotificationManager.Policy> CREATOR;
+    field public static final int PRIORITY_CATEGORY_ALARMS = 32; // 0x20
+    field public static final int PRIORITY_CATEGORY_CALLS = 8; // 0x8
+    field public static final int PRIORITY_CATEGORY_CONVERSATIONS = 256; // 0x100
+    field public static final int PRIORITY_CATEGORY_EVENTS = 2; // 0x2
+    field public static final int PRIORITY_CATEGORY_MEDIA = 64; // 0x40
+    field public static final int PRIORITY_CATEGORY_MESSAGES = 4; // 0x4
+    field public static final int PRIORITY_CATEGORY_REMINDERS = 1; // 0x1
+    field public static final int PRIORITY_CATEGORY_REPEAT_CALLERS = 16; // 0x10
+    field public static final int PRIORITY_CATEGORY_SYSTEM = 128; // 0x80
+    field public static final int PRIORITY_SENDERS_ANY = 0; // 0x0
+    field public static final int PRIORITY_SENDERS_CONTACTS = 1; // 0x1
+    field public static final int PRIORITY_SENDERS_STARRED = 2; // 0x2
+    field public static final int SUPPRESSED_EFFECT_AMBIENT = 128; // 0x80
+    field public static final int SUPPRESSED_EFFECT_BADGE = 64; // 0x40
+    field public static final int SUPPRESSED_EFFECT_FULL_SCREEN_INTENT = 4; // 0x4
+    field public static final int SUPPRESSED_EFFECT_LIGHTS = 8; // 0x8
+    field public static final int SUPPRESSED_EFFECT_NOTIFICATION_LIST = 256; // 0x100
+    field public static final int SUPPRESSED_EFFECT_PEEK = 16; // 0x10
+    field @Deprecated public static final int SUPPRESSED_EFFECT_SCREEN_OFF = 1; // 0x1
+    field @Deprecated public static final int SUPPRESSED_EFFECT_SCREEN_ON = 2; // 0x2
+    field public static final int SUPPRESSED_EFFECT_STATUS_BAR = 32; // 0x20
+    field public final int priorityCallSenders;
+    field public final int priorityCategories;
+    field public final int priorityConversationSenders;
+    field public final int priorityMessageSenders;
+    field public final int suppressedVisualEffects;
+  }
+
+  public final class PendingIntent implements android.os.Parcelable {
+    method public void cancel();
+    method public int describeContents();
+    method public static android.app.PendingIntent getActivities(android.content.Context, int, @NonNull android.content.Intent[], int);
+    method public static android.app.PendingIntent getActivities(android.content.Context, int, @NonNull android.content.Intent[], int, @Nullable android.os.Bundle);
+    method public static android.app.PendingIntent getActivity(android.content.Context, int, android.content.Intent, int);
+    method public static android.app.PendingIntent getActivity(android.content.Context, int, @NonNull android.content.Intent, int, @Nullable android.os.Bundle);
+    method public static android.app.PendingIntent getBroadcast(android.content.Context, int, @NonNull android.content.Intent, int);
+    method @Nullable public String getCreatorPackage();
+    method public int getCreatorUid();
+    method @NonNull public android.os.UserHandle getCreatorUserHandle();
+    method public static android.app.PendingIntent getForegroundService(android.content.Context, int, @NonNull android.content.Intent, int);
+    method @NonNull public android.content.IntentSender getIntentSender();
+    method public static android.app.PendingIntent getService(android.content.Context, int, @NonNull android.content.Intent, int);
+    method @Deprecated @Nullable public String getTargetPackage();
+    method public boolean isActivity();
+    method public boolean isBroadcast();
+    method public boolean isForegroundService();
+    method public boolean isImmutable();
+    method public boolean isService();
+    method @Nullable public static android.app.PendingIntent readPendingIntentOrNullFromParcel(@NonNull android.os.Parcel);
+    method public void send() throws android.app.PendingIntent.CanceledException;
+    method public void send(int) throws android.app.PendingIntent.CanceledException;
+    method public void send(android.content.Context, int, @Nullable android.content.Intent) throws android.app.PendingIntent.CanceledException;
+    method public void send(int, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler) throws android.app.PendingIntent.CanceledException;
+    method public void send(android.content.Context, int, @Nullable android.content.Intent, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler) throws android.app.PendingIntent.CanceledException;
+    method public void send(android.content.Context, int, @Nullable android.content.Intent, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler, @Nullable String) throws android.app.PendingIntent.CanceledException;
+    method public void send(android.content.Context, int, @Nullable android.content.Intent, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler, @Nullable String, @Nullable android.os.Bundle) throws android.app.PendingIntent.CanceledException;
+    method public static void writePendingIntentOrNullToParcel(@Nullable android.app.PendingIntent, @NonNull android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.PendingIntent> CREATOR;
+    field public static final int FLAG_CANCEL_CURRENT = 268435456; // 0x10000000
+    field public static final int FLAG_IMMUTABLE = 67108864; // 0x4000000
+    field public static final int FLAG_MUTABLE = 33554432; // 0x2000000
+    field public static final int FLAG_NO_CREATE = 536870912; // 0x20000000
+    field public static final int FLAG_ONE_SHOT = 1073741824; // 0x40000000
+    field public static final int FLAG_UPDATE_CURRENT = 134217728; // 0x8000000
+  }
+
+  public static class PendingIntent.CanceledException extends android.util.AndroidException {
+    ctor public PendingIntent.CanceledException();
+    ctor public PendingIntent.CanceledException(String);
+    ctor public PendingIntent.CanceledException(Exception);
+  }
+
+  public static interface PendingIntent.OnFinished {
+    method public void onSendFinished(android.app.PendingIntent, android.content.Intent, int, String, android.os.Bundle);
+  }
+
+  public final class Person implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @Nullable public String getKey();
+    method @Nullable public CharSequence getName();
+    method @Nullable public String getUri();
+    method public boolean isBot();
+    method public boolean isImportant();
+    method public android.app.Person.Builder toBuilder();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.Person> CREATOR;
+  }
+
+  public static class Person.Builder {
+    ctor public Person.Builder();
+    method @NonNull public android.app.Person build();
+    method @NonNull public android.app.Person.Builder setBot(boolean);
+    method @NonNull public android.app.Person.Builder setIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.Person.Builder setImportant(boolean);
+    method @NonNull public android.app.Person.Builder setKey(@Nullable String);
+    method @NonNull public android.app.Person.Builder setName(@Nullable CharSequence);
+    method @NonNull public android.app.Person.Builder setUri(@Nullable String);
+  }
+
+  public final class PictureInPictureParams implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureParams> CREATOR;
+  }
+
+  public static class PictureInPictureParams.Builder {
+    ctor public PictureInPictureParams.Builder();
+    method public android.app.PictureInPictureParams build();
+    method public android.app.PictureInPictureParams.Builder setActions(java.util.List<android.app.RemoteAction>);
+    method public android.app.PictureInPictureParams.Builder setAspectRatio(android.util.Rational);
+    method @NonNull public android.app.PictureInPictureParams.Builder setAutoEnterEnabled(boolean);
+    method @NonNull public android.app.PictureInPictureParams.Builder setSeamlessResizeEnabled(boolean);
+    method public android.app.PictureInPictureParams.Builder setSourceRectHint(android.graphics.Rect);
+  }
+
+  public final class PictureInPictureUiState implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isStashed();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureUiState> CREATOR;
+  }
+
+  public class Presentation extends android.app.Dialog {
+    ctor public Presentation(android.content.Context, android.view.Display);
+    ctor public Presentation(android.content.Context, android.view.Display, int);
+    method public android.view.Display getDisplay();
+    method public android.content.res.Resources getResources();
+    method public void onDisplayChanged();
+    method public void onDisplayRemoved();
+  }
+
+  @Deprecated public class ProgressDialog extends android.app.AlertDialog {
+    ctor @Deprecated public ProgressDialog(android.content.Context);
+    ctor @Deprecated public ProgressDialog(android.content.Context, int);
+    method @Deprecated public int getMax();
+    method @Deprecated public int getProgress();
+    method @Deprecated public int getSecondaryProgress();
+    method @Deprecated public void incrementProgressBy(int);
+    method @Deprecated public void incrementSecondaryProgressBy(int);
+    method @Deprecated public boolean isIndeterminate();
+    method @Deprecated public void onStart();
+    method @Deprecated public void setIndeterminate(boolean);
+    method @Deprecated public void setIndeterminateDrawable(android.graphics.drawable.Drawable);
+    method @Deprecated public void setMax(int);
+    method @Deprecated public void setProgress(int);
+    method @Deprecated public void setProgressDrawable(android.graphics.drawable.Drawable);
+    method @Deprecated public void setProgressNumberFormat(String);
+    method @Deprecated public void setProgressPercentFormat(java.text.NumberFormat);
+    method @Deprecated public void setProgressStyle(int);
+    method @Deprecated public void setSecondaryProgress(int);
+    method @Deprecated public static android.app.ProgressDialog show(android.content.Context, CharSequence, CharSequence);
+    method @Deprecated public static android.app.ProgressDialog show(android.content.Context, CharSequence, CharSequence, boolean);
+    method @Deprecated public static android.app.ProgressDialog show(android.content.Context, CharSequence, CharSequence, boolean, boolean);
+    method @Deprecated public static android.app.ProgressDialog show(android.content.Context, CharSequence, CharSequence, boolean, boolean, android.content.DialogInterface.OnCancelListener);
+    field @Deprecated public static final int STYLE_HORIZONTAL = 1; // 0x1
+    field @Deprecated public static final int STYLE_SPINNER = 0; // 0x0
+  }
+
+  public final class RecoverableSecurityException extends java.lang.SecurityException implements android.os.Parcelable {
+    ctor public RecoverableSecurityException(@NonNull Throwable, @NonNull CharSequence, @NonNull android.app.RemoteAction);
+    method public int describeContents();
+    method @NonNull public android.app.RemoteAction getUserAction();
+    method @NonNull public CharSequence getUserMessage();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.RecoverableSecurityException> CREATOR;
+  }
+
+  public final class RemoteAction implements android.os.Parcelable {
+    ctor public RemoteAction(@NonNull android.graphics.drawable.Icon, @NonNull CharSequence, @NonNull CharSequence, @NonNull android.app.PendingIntent);
+    method public android.app.RemoteAction clone();
+    method public int describeContents();
+    method public void dump(String, java.io.PrintWriter);
+    method @NonNull public android.app.PendingIntent getActionIntent();
+    method @NonNull public CharSequence getContentDescription();
+    method @NonNull public android.graphics.drawable.Icon getIcon();
+    method @NonNull public CharSequence getTitle();
+    method public boolean isEnabled();
+    method public void setEnabled(boolean);
+    method public void setShouldShowIcon(boolean);
+    method public boolean shouldShowIcon();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteAction> CREATOR;
+  }
+
+  public final class RemoteInput implements android.os.Parcelable {
+    method public static void addDataResultToIntent(android.app.RemoteInput, android.content.Intent, java.util.Map<java.lang.String,android.net.Uri>);
+    method public static void addResultsToIntent(android.app.RemoteInput[], android.content.Intent, android.os.Bundle);
+    method public int describeContents();
+    method public boolean getAllowFreeFormInput();
+    method public java.util.Set<java.lang.String> getAllowedDataTypes();
+    method public CharSequence[] getChoices();
+    method public static java.util.Map<java.lang.String,android.net.Uri> getDataResultsFromIntent(android.content.Intent, String);
+    method public int getEditChoicesBeforeSending();
+    method public android.os.Bundle getExtras();
+    method public CharSequence getLabel();
+    method public String getResultKey();
+    method public static android.os.Bundle getResultsFromIntent(android.content.Intent);
+    method public static int getResultsSource(android.content.Intent);
+    method public boolean isDataOnly();
+    method public static void setResultsSource(android.content.Intent, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteInput> CREATOR;
+    field public static final int EDIT_CHOICES_BEFORE_SENDING_AUTO = 0; // 0x0
+    field public static final int EDIT_CHOICES_BEFORE_SENDING_DISABLED = 1; // 0x1
+    field public static final int EDIT_CHOICES_BEFORE_SENDING_ENABLED = 2; // 0x2
+    field public static final String EXTRA_RESULTS_DATA = "android.remoteinput.resultsData";
+    field public static final String RESULTS_CLIP_LABEL = "android.remoteinput.results";
+    field public static final int SOURCE_CHOICE = 1; // 0x1
+    field public static final int SOURCE_FREE_FORM_INPUT = 0; // 0x0
+  }
+
+  public static final class RemoteInput.Builder {
+    ctor public RemoteInput.Builder(@NonNull String);
+    method @NonNull public android.app.RemoteInput.Builder addExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.app.RemoteInput build();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public android.app.RemoteInput.Builder setAllowDataType(@NonNull String, boolean);
+    method @NonNull public android.app.RemoteInput.Builder setAllowFreeFormInput(boolean);
+    method @NonNull public android.app.RemoteInput.Builder setChoices(@Nullable CharSequence[]);
+    method @NonNull public android.app.RemoteInput.Builder setEditChoicesBeforeSending(int);
+    method @NonNull public android.app.RemoteInput.Builder setLabel(@Nullable CharSequence);
+  }
+
+  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
+    method public android.content.ComponentName getGlobalSearchActivity();
+    method public android.app.SearchableInfo getSearchableInfo(android.content.ComponentName);
+    method public java.util.List<android.app.SearchableInfo> getSearchablesInGlobalSearch();
+    method @Deprecated public void onCancel(android.content.DialogInterface);
+    method @Deprecated public void onDismiss(android.content.DialogInterface);
+    method public void setOnCancelListener(android.app.SearchManager.OnCancelListener);
+    method public void setOnDismissListener(android.app.SearchManager.OnDismissListener);
+    method public void startSearch(String, boolean, android.content.ComponentName, android.os.Bundle, boolean);
+    method public void stopSearch();
+    method public void triggerSearch(String, android.content.ComponentName, android.os.Bundle);
+    field public static final String ACTION_KEY = "action_key";
+    field public static final String ACTION_MSG = "action_msg";
+    field public static final String APP_DATA = "app_data";
+    field public static final String CURSOR_EXTRA_KEY_IN_PROGRESS = "in_progress";
+    field public static final String EXTRA_DATA_KEY = "intent_extra_data_key";
+    field public static final String EXTRA_NEW_SEARCH = "new_search";
+    field public static final String EXTRA_SELECT_QUERY = "select_query";
+    field public static final String EXTRA_WEB_SEARCH_PENDINGINTENT = "web_search_pendingintent";
+    field public static final int FLAG_QUERY_REFINEMENT = 1; // 0x1
+    field public static final String INTENT_ACTION_GLOBAL_SEARCH = "android.search.action.GLOBAL_SEARCH";
+    field public static final String INTENT_ACTION_SEARCHABLES_CHANGED = "android.search.action.SEARCHABLES_CHANGED";
+    field public static final String INTENT_ACTION_SEARCH_SETTINGS = "android.search.action.SEARCH_SETTINGS";
+    field public static final String INTENT_ACTION_SEARCH_SETTINGS_CHANGED = "android.search.action.SETTINGS_CHANGED";
+    field public static final String INTENT_ACTION_WEB_SEARCH_SETTINGS = "android.search.action.WEB_SEARCH_SETTINGS";
+    field public static final String INTENT_GLOBAL_SEARCH_ACTIVITY_CHANGED = "android.search.action.GLOBAL_SEARCH_ACTIVITY_CHANGED";
+    field public static final char MENU_KEY = 115; // 0x0073 's'
+    field public static final int MENU_KEYCODE = 47; // 0x2f
+    field public static final String QUERY = "query";
+    field public static final String SHORTCUT_MIME_TYPE = "vnd.android.cursor.item/vnd.android.search.suggest";
+    field public static final String SUGGEST_COLUMN_AUDIO_CHANNEL_CONFIG = "suggest_audio_channel_config";
+    field public static final String SUGGEST_COLUMN_CONTENT_TYPE = "suggest_content_type";
+    field public static final String SUGGEST_COLUMN_DURATION = "suggest_duration";
+    field public static final String SUGGEST_COLUMN_FLAGS = "suggest_flags";
+    field public static final String SUGGEST_COLUMN_FORMAT = "suggest_format";
+    field public static final String SUGGEST_COLUMN_ICON_1 = "suggest_icon_1";
+    field public static final String SUGGEST_COLUMN_ICON_2 = "suggest_icon_2";
+    field public static final String SUGGEST_COLUMN_INTENT_ACTION = "suggest_intent_action";
+    field public static final String SUGGEST_COLUMN_INTENT_DATA = "suggest_intent_data";
+    field public static final String SUGGEST_COLUMN_INTENT_DATA_ID = "suggest_intent_data_id";
+    field public static final String SUGGEST_COLUMN_INTENT_EXTRA_DATA = "suggest_intent_extra_data";
+    field public static final String SUGGEST_COLUMN_IS_LIVE = "suggest_is_live";
+    field public static final String SUGGEST_COLUMN_LAST_ACCESS_HINT = "suggest_last_access_hint";
+    field public static final String SUGGEST_COLUMN_PRODUCTION_YEAR = "suggest_production_year";
+    field public static final String SUGGEST_COLUMN_PURCHASE_PRICE = "suggest_purchase_price";
+    field public static final String SUGGEST_COLUMN_QUERY = "suggest_intent_query";
+    field public static final String SUGGEST_COLUMN_RATING_SCORE = "suggest_rating_score";
+    field public static final String SUGGEST_COLUMN_RATING_STYLE = "suggest_rating_style";
+    field public static final String SUGGEST_COLUMN_RENTAL_PRICE = "suggest_rental_price";
+    field public static final String SUGGEST_COLUMN_RESULT_CARD_IMAGE = "suggest_result_card_image";
+    field public static final String SUGGEST_COLUMN_SHORTCUT_ID = "suggest_shortcut_id";
+    field public static final String SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING = "suggest_spinner_while_refreshing";
+    field public static final String SUGGEST_COLUMN_TEXT_1 = "suggest_text_1";
+    field public static final String SUGGEST_COLUMN_TEXT_2 = "suggest_text_2";
+    field public static final String SUGGEST_COLUMN_TEXT_2_URL = "suggest_text_2_url";
+    field public static final String SUGGEST_COLUMN_VIDEO_HEIGHT = "suggest_video_height";
+    field public static final String SUGGEST_COLUMN_VIDEO_WIDTH = "suggest_video_width";
+    field public static final String SUGGEST_MIME_TYPE = "vnd.android.cursor.dir/vnd.android.search.suggest";
+    field public static final String SUGGEST_NEVER_MAKE_SHORTCUT = "_-1";
+    field public static final String SUGGEST_PARAMETER_LIMIT = "limit";
+    field public static final String SUGGEST_URI_PATH_QUERY = "search_suggest_query";
+    field public static final String SUGGEST_URI_PATH_SHORTCUT = "search_suggest_shortcut";
+    field public static final String USER_QUERY = "user_query";
+  }
+
+  public static interface SearchManager.OnCancelListener {
+    method public void onCancel();
+  }
+
+  public static interface SearchManager.OnDismissListener {
+    method public void onDismiss();
+  }
+
+  public final class SearchableInfo implements android.os.Parcelable {
+    method public boolean autoUrlDetect();
+    method public int describeContents();
+    method public int getHintId();
+    method public int getImeOptions();
+    method public int getInputType();
+    method public android.content.ComponentName getSearchActivity();
+    method public int getSettingsDescriptionId();
+    method public String getSuggestAuthority();
+    method public String getSuggestIntentAction();
+    method public String getSuggestIntentData();
+    method public String getSuggestPackage();
+    method public String getSuggestPath();
+    method public String getSuggestSelection();
+    method public int getSuggestThreshold();
+    method @StringRes public int getVoiceLanguageId();
+    method @StringRes public int getVoiceLanguageModeId();
+    method public int getVoiceMaxResults();
+    method @StringRes public int getVoicePromptTextId();
+    method public boolean getVoiceSearchEnabled();
+    method public boolean getVoiceSearchLaunchRecognizer();
+    method public boolean getVoiceSearchLaunchWebSearch();
+    method public boolean queryAfterZeroResults();
+    method public boolean shouldIncludeInGlobalSearch();
+    method public boolean shouldRewriteQueryFromData();
+    method public boolean shouldRewriteQueryFromText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.SearchableInfo> CREATOR;
+  }
+
+  public abstract class Service extends android.content.ContextWrapper implements android.content.ComponentCallbacks2 {
+    ctor public Service();
+    method protected void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method public final android.app.Application getApplication();
+    method public final int getForegroundServiceType();
+    method @Nullable public abstract android.os.IBinder onBind(android.content.Intent);
+    method public void onConfigurationChanged(android.content.res.Configuration);
+    method public void onCreate();
+    method public void onDestroy();
+    method public void onLowMemory();
+    method public void onRebind(android.content.Intent);
+    method @Deprecated public void onStart(android.content.Intent, int);
+    method public int onStartCommand(android.content.Intent, int, int);
+    method public void onTaskRemoved(android.content.Intent);
+    method public void onTrimMemory(int);
+    method public boolean onUnbind(android.content.Intent);
+    method public final void startForeground(int, android.app.Notification);
+    method public final void startForeground(int, @NonNull android.app.Notification, int);
+    method public final void stopForeground(boolean);
+    method public final void stopForeground(int);
+    method public final void stopSelf();
+    method public final void stopSelf(int);
+    method public final boolean stopSelfResult(int);
+    field public static final int START_CONTINUATION_MASK = 15; // 0xf
+    field public static final int START_FLAG_REDELIVERY = 1; // 0x1
+    field public static final int START_FLAG_RETRY = 2; // 0x2
+    field public static final int START_NOT_STICKY = 2; // 0x2
+    field public static final int START_REDELIVER_INTENT = 3; // 0x3
+    field public static final int START_STICKY = 1; // 0x1
+    field public static final int START_STICKY_COMPATIBILITY = 0; // 0x0
+    field public static final int STOP_FOREGROUND_DETACH = 2; // 0x2
+    field public static final int STOP_FOREGROUND_REMOVE = 1; // 0x1
+  }
+
+  public abstract class ServiceStartNotAllowedException extends java.lang.IllegalStateException {
+  }
+
+  public abstract class SharedElementCallback {
+    ctor public SharedElementCallback();
+    method public android.os.Parcelable onCaptureSharedElementSnapshot(android.view.View, android.graphics.Matrix, android.graphics.RectF);
+    method public android.view.View onCreateSnapshotView(android.content.Context, android.os.Parcelable);
+    method public void onMapSharedElements(java.util.List<java.lang.String>, java.util.Map<java.lang.String,android.view.View>);
+    method public void onRejectSharedElements(java.util.List<android.view.View>);
+    method public void onSharedElementEnd(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>);
+    method public void onSharedElementStart(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>);
+    method public void onSharedElementsArrived(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.app.SharedElementCallback.OnSharedElementsReadyListener);
+  }
+
+  public static interface SharedElementCallback.OnSharedElementsReadyListener {
+    method public void onSharedElementsReady();
+  }
+
+  public class StatusBarManager {
+  }
+
+  public final class SyncNotedAppOp implements android.os.Parcelable {
+    ctor public SyncNotedAppOp(@IntRange(from=0L) int, @Nullable String);
+    method public int describeContents();
+    method @Nullable public String getAttributionTag();
+    method @NonNull public String getOp();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.SyncNotedAppOp> CREATOR;
+  }
+
+  @Deprecated public class TabActivity extends android.app.ActivityGroup {
+    ctor @Deprecated public TabActivity();
+    method @Deprecated public android.widget.TabHost getTabHost();
+    method @Deprecated public android.widget.TabWidget getTabWidget();
+    method @Deprecated public void setDefaultTab(String);
+    method @Deprecated public void setDefaultTab(int);
+  }
+
+  public class TaskInfo {
+    method public boolean isVisible();
+    field @Nullable public android.content.ComponentName baseActivity;
+    field @NonNull public android.content.Intent baseIntent;
+    field public boolean isRunning;
+    field public int numActivities;
+    field @Nullable public android.content.ComponentName origActivity;
+    field @Nullable public android.app.ActivityManager.TaskDescription taskDescription;
+    field public int taskId;
+    field @Nullable public android.content.ComponentName topActivity;
+  }
+
+  public class TaskStackBuilder {
+    method public android.app.TaskStackBuilder addNextIntent(android.content.Intent);
+    method public android.app.TaskStackBuilder addNextIntentWithParentStack(android.content.Intent);
+    method public android.app.TaskStackBuilder addParentStack(android.app.Activity);
+    method public android.app.TaskStackBuilder addParentStack(Class<?>);
+    method public android.app.TaskStackBuilder addParentStack(android.content.ComponentName);
+    method public static android.app.TaskStackBuilder create(android.content.Context);
+    method public android.content.Intent editIntentAt(int);
+    method public int getIntentCount();
+    method @NonNull public android.content.Intent[] getIntents();
+    method public android.app.PendingIntent getPendingIntent(int, int);
+    method public android.app.PendingIntent getPendingIntent(int, int, android.os.Bundle);
+    method public void startActivities();
+    method public void startActivities(android.os.Bundle);
+  }
+
+  public class TimePickerDialog extends android.app.AlertDialog implements android.content.DialogInterface.OnClickListener android.widget.TimePicker.OnTimeChangedListener {
+    ctor public TimePickerDialog(android.content.Context, android.app.TimePickerDialog.OnTimeSetListener, int, int, boolean);
+    ctor public TimePickerDialog(android.content.Context, int, android.app.TimePickerDialog.OnTimeSetListener, int, int, boolean);
+    method public void onClick(android.content.DialogInterface, int);
+    method public void onTimeChanged(android.widget.TimePicker, int, int);
+    method public void updateTime(int, int);
+  }
+
+  public static interface TimePickerDialog.OnTimeSetListener {
+    method public void onTimeSet(android.widget.TimePicker, int, int);
+  }
+
+  public final class UiAutomation {
+    method public void adoptShellPermissionIdentity();
+    method public void adoptShellPermissionIdentity(@Nullable java.lang.String...);
+    method public void clearWindowAnimationFrameStats();
+    method public boolean clearWindowContentFrameStats(int);
+    method public void dropShellPermissionIdentity();
+    method public android.view.accessibility.AccessibilityEvent executeAndWaitForEvent(Runnable, android.app.UiAutomation.AccessibilityEventFilter, long) throws java.util.concurrent.TimeoutException;
+    method public android.os.ParcelFileDescriptor executeShellCommand(String);
+    method @NonNull public android.os.ParcelFileDescriptor[] executeShellCommandRw(@NonNull String);
+    method public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
+    method public android.view.accessibility.AccessibilityNodeInfo getRootInActiveWindow();
+    method public android.accessibilityservice.AccessibilityServiceInfo getServiceInfo();
+    method public android.view.WindowAnimationFrameStats getWindowAnimationFrameStats();
+    method public android.view.WindowContentFrameStats getWindowContentFrameStats(int);
+    method public java.util.List<android.view.accessibility.AccessibilityWindowInfo> getWindows();
+    method @NonNull public android.util.SparseArray<java.util.List<android.view.accessibility.AccessibilityWindowInfo>> getWindowsOnAllDisplays();
+    method public void grantRuntimePermission(String, String);
+    method public void grantRuntimePermissionAsUser(String, String, android.os.UserHandle);
+    method public boolean injectInputEvent(android.view.InputEvent, boolean);
+    method public boolean performGlobalAction(int);
+    method public void revokeRuntimePermission(String, String);
+    method public void revokeRuntimePermissionAsUser(String, String, android.os.UserHandle);
+    method public void setOnAccessibilityEventListener(android.app.UiAutomation.OnAccessibilityEventListener);
+    method public boolean setRotation(int);
+    method public void setRunAsMonkey(boolean);
+    method public void setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo);
+    method public android.graphics.Bitmap takeScreenshot();
+    method public void waitForIdle(long, long) throws java.util.concurrent.TimeoutException;
+    field public static final int FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES = 1; // 0x1
+    field public static final int FLAG_DONT_USE_ACCESSIBILITY = 2; // 0x2
+    field public static final int ROTATION_FREEZE_0 = 0; // 0x0
+    field public static final int ROTATION_FREEZE_180 = 2; // 0x2
+    field public static final int ROTATION_FREEZE_270 = 3; // 0x3
+    field public static final int ROTATION_FREEZE_90 = 1; // 0x1
+    field public static final int ROTATION_FREEZE_CURRENT = -1; // 0xffffffff
+    field public static final int ROTATION_UNFREEZE = -2; // 0xfffffffe
+  }
+
+  public static interface UiAutomation.AccessibilityEventFilter {
+    method public boolean accept(android.view.accessibility.AccessibilityEvent);
+  }
+
+  public static interface UiAutomation.OnAccessibilityEventListener {
+    method public void onAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+  }
+
+  public class UiModeManager {
+    method public void disableCarMode(int);
+    method public void enableCarMode(int);
+    method public int getCurrentModeType();
+    method @NonNull public java.time.LocalTime getCustomNightModeEnd();
+    method @NonNull public java.time.LocalTime getCustomNightModeStart();
+    method public int getNightMode();
+    method public void setApplicationNightMode(int);
+    method public void setCustomNightModeEnd(@NonNull java.time.LocalTime);
+    method public void setCustomNightModeStart(@NonNull java.time.LocalTime);
+    method public void setNightMode(int);
+    field public static String ACTION_ENTER_CAR_MODE;
+    field public static String ACTION_ENTER_DESK_MODE;
+    field public static String ACTION_EXIT_CAR_MODE;
+    field public static String ACTION_EXIT_DESK_MODE;
+    field public static final int DISABLE_CAR_MODE_GO_HOME = 1; // 0x1
+    field public static final int ENABLE_CAR_MODE_ALLOW_SLEEP = 2; // 0x2
+    field public static final int ENABLE_CAR_MODE_GO_CAR_HOME = 1; // 0x1
+    field public static final int MODE_NIGHT_AUTO = 0; // 0x0
+    field public static final int MODE_NIGHT_CUSTOM = 3; // 0x3
+    field public static final int MODE_NIGHT_NO = 1; // 0x1
+    field public static final int MODE_NIGHT_YES = 2; // 0x2
+  }
+
+  public final class VoiceInteractor {
+    method public android.app.VoiceInteractor.Request getActiveRequest(String);
+    method public android.app.VoiceInteractor.Request[] getActiveRequests();
+    method public boolean isDestroyed();
+    method public void notifyDirectActionsChanged();
+    method public boolean registerOnDestroyedCallback(@NonNull java.util.concurrent.Executor, @NonNull Runnable);
+    method public boolean submitRequest(android.app.VoiceInteractor.Request);
+    method public boolean submitRequest(android.app.VoiceInteractor.Request, String);
+    method public boolean[] supportsCommands(String[]);
+    method public boolean unregisterOnDestroyedCallback(@NonNull Runnable);
+  }
+
+  public static class VoiceInteractor.AbortVoiceRequest extends android.app.VoiceInteractor.Request {
+    ctor public VoiceInteractor.AbortVoiceRequest(@Nullable android.app.VoiceInteractor.Prompt, @Nullable android.os.Bundle);
+    method public void onAbortResult(android.os.Bundle);
+  }
+
+  public static class VoiceInteractor.CommandRequest extends android.app.VoiceInteractor.Request {
+    ctor public VoiceInteractor.CommandRequest(String, android.os.Bundle);
+    method public void onCommandResult(boolean, android.os.Bundle);
+  }
+
+  public static class VoiceInteractor.CompleteVoiceRequest extends android.app.VoiceInteractor.Request {
+    ctor public VoiceInteractor.CompleteVoiceRequest(@Nullable android.app.VoiceInteractor.Prompt, @Nullable android.os.Bundle);
+    method public void onCompleteResult(android.os.Bundle);
+  }
+
+  public static class VoiceInteractor.ConfirmationRequest extends android.app.VoiceInteractor.Request {
+    ctor public VoiceInteractor.ConfirmationRequest(@Nullable android.app.VoiceInteractor.Prompt, @Nullable android.os.Bundle);
+    method public void onConfirmationResult(boolean, android.os.Bundle);
+  }
+
+  public static class VoiceInteractor.PickOptionRequest extends android.app.VoiceInteractor.Request {
+    ctor public VoiceInteractor.PickOptionRequest(@Nullable android.app.VoiceInteractor.Prompt, android.app.VoiceInteractor.PickOptionRequest.Option[], @Nullable android.os.Bundle);
+    method public void onPickOptionResult(boolean, android.app.VoiceInteractor.PickOptionRequest.Option[], android.os.Bundle);
+  }
+
+  public static final class VoiceInteractor.PickOptionRequest.Option implements android.os.Parcelable {
+    ctor public VoiceInteractor.PickOptionRequest.Option(CharSequence, int);
+    method public android.app.VoiceInteractor.PickOptionRequest.Option addSynonym(CharSequence);
+    method public int countSynonyms();
+    method public int describeContents();
+    method public android.os.Bundle getExtras();
+    method public int getIndex();
+    method public CharSequence getLabel();
+    method public CharSequence getSynonymAt(int);
+    method public void setExtras(android.os.Bundle);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.VoiceInteractor.PickOptionRequest.Option> CREATOR;
+  }
+
+  public static class VoiceInteractor.Prompt implements android.os.Parcelable {
+    ctor public VoiceInteractor.Prompt(@NonNull CharSequence[], @NonNull CharSequence);
+    ctor public VoiceInteractor.Prompt(@NonNull CharSequence);
+    method public int countVoicePrompts();
+    method public int describeContents();
+    method @NonNull public CharSequence getVisualPrompt();
+    method @NonNull public CharSequence getVoicePromptAt(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.VoiceInteractor.Prompt> CREATOR;
+  }
+
+  public abstract static class VoiceInteractor.Request {
+    method public void cancel();
+    method public android.app.Activity getActivity();
+    method public android.content.Context getContext();
+    method public String getName();
+    method public void onAttached(android.app.Activity);
+    method public void onCancel();
+    method public void onDetached();
+  }
+
+  public final class WallpaperColors implements android.os.Parcelable {
+    ctor public WallpaperColors(android.os.Parcel);
+    ctor public WallpaperColors(@NonNull android.graphics.Color, @Nullable android.graphics.Color, @Nullable android.graphics.Color);
+    ctor public WallpaperColors(@NonNull android.graphics.Color, @Nullable android.graphics.Color, @Nullable android.graphics.Color, int);
+    method public int describeContents();
+    method public static android.app.WallpaperColors fromBitmap(@NonNull android.graphics.Bitmap);
+    method public static android.app.WallpaperColors fromDrawable(android.graphics.drawable.Drawable);
+    method public int getColorHints();
+    method @NonNull public android.graphics.Color getPrimaryColor();
+    method @Nullable public android.graphics.Color getSecondaryColor();
+    method @Nullable public android.graphics.Color getTertiaryColor();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.WallpaperColors> CREATOR;
+    field public static final int HINT_SUPPORTS_DARK_TEXT = 1; // 0x1
+    field public static final int HINT_SUPPORTS_DARK_THEME = 2; // 0x2
+  }
+
+  public final class WallpaperInfo implements android.os.Parcelable {
+    ctor public WallpaperInfo(android.content.Context, android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public android.content.ComponentName getComponent();
+    method public String getPackageName();
+    method public android.content.pm.ServiceInfo getServiceInfo();
+    method public String getServiceName();
+    method public String getSettingsActivity();
+    method @Nullable public android.net.Uri getSettingsSliceUri();
+    method public boolean getShowMetadataInPreview();
+    method public CharSequence loadAuthor(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+    method public CharSequence loadContextDescription(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+    method public android.net.Uri loadContextUri(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+    method public CharSequence loadDescription(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    method public android.graphics.drawable.Drawable loadThumbnail(android.content.pm.PackageManager);
+    method public boolean shouldUseDefaultUnfoldTransition();
+    method public boolean supportsMultipleDisplays();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.WallpaperInfo> CREATOR;
+  }
+
+  public class WallpaperManager {
+    method public void addOnColorsChangedListener(@NonNull android.app.WallpaperManager.OnColorsChangedListener, @NonNull android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void clear() throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void clear(int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void clearWallpaper();
+    method public void clearWallpaperOffsets(android.os.IBinder);
+    method public void forgetLoadedWallpaper();
+    method public android.graphics.drawable.Drawable getBuiltInDrawable();
+    method public android.graphics.drawable.Drawable getBuiltInDrawable(int);
+    method public android.graphics.drawable.Drawable getBuiltInDrawable(int, int, boolean, float, float);
+    method public android.graphics.drawable.Drawable getBuiltInDrawable(int, int, boolean, float, float, int);
+    method public android.content.Intent getCropAndSetWallpaperIntent(android.net.Uri);
+    method public int getDesiredMinimumHeight();
+    method public int getDesiredMinimumWidth();
+    method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public android.graphics.drawable.Drawable getDrawable();
+    method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public android.graphics.drawable.Drawable getFastDrawable();
+    method public static android.app.WallpaperManager getInstance(android.content.Context);
+    method @Nullable public android.app.WallpaperColors getWallpaperColors(int);
+    method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public android.os.ParcelFileDescriptor getWallpaperFile(int);
+    method public int getWallpaperId(int);
+    method public android.app.WallpaperInfo getWallpaperInfo();
+    method public boolean hasResourceWallpaper(@RawRes int);
+    method public boolean isSetWallpaperAllowed();
+    method public boolean isWallpaperSupported();
+    method public android.graphics.drawable.Drawable peekDrawable();
+    method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public android.graphics.drawable.Drawable peekFastDrawable();
+    method public void removeOnColorsChangedListener(@NonNull android.app.WallpaperManager.OnColorsChangedListener);
+    method public void sendWallpaperCommand(android.os.IBinder, String, int, int, int, android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void setBitmap(android.graphics.Bitmap) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setBitmap(android.graphics.Bitmap, android.graphics.Rect, boolean) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setBitmap(android.graphics.Bitmap, android.graphics.Rect, boolean, int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_HINTS) public void setDisplayPadding(android.graphics.Rect);
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void setResource(@RawRes int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setResource(@RawRes int, int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public void setStream(java.io.InputStream) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStream(java.io.InputStream, android.graphics.Rect, boolean) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStream(java.io.InputStream, android.graphics.Rect, boolean, int) throws java.io.IOException;
+    method public void setWallpaperOffsetSteps(float, float);
+    method public void setWallpaperOffsets(android.os.IBinder, float, float);
+    method public void suggestDesiredDimensions(int, int);
+    field public static final String ACTION_CHANGE_LIVE_WALLPAPER = "android.service.wallpaper.CHANGE_LIVE_WALLPAPER";
+    field public static final String ACTION_CROP_AND_SET_WALLPAPER = "android.service.wallpaper.CROP_AND_SET_WALLPAPER";
+    field public static final String ACTION_LIVE_WALLPAPER_CHOOSER = "android.service.wallpaper.LIVE_WALLPAPER_CHOOSER";
+    field public static final String COMMAND_DROP = "android.home.drop";
+    field public static final String COMMAND_SECONDARY_TAP = "android.wallpaper.secondaryTap";
+    field public static final String COMMAND_TAP = "android.wallpaper.tap";
+    field public static final String EXTRA_LIVE_WALLPAPER_COMPONENT = "android.service.wallpaper.extra.LIVE_WALLPAPER_COMPONENT";
+    field public static final int FLAG_LOCK = 2; // 0x2
+    field public static final int FLAG_SYSTEM = 1; // 0x1
+    field public static final String WALLPAPER_PREVIEW_META_DATA = "android.wallpaper.preview";
+  }
+
+  public static interface WallpaperManager.OnColorsChangedListener {
+    method public void onColorsChanged(android.app.WallpaperColors, int);
+  }
+
+  public interface ZygotePreload {
+    method public void doPreload(@NonNull android.content.pm.ApplicationInfo);
+  }
+
+}
+
+package android.app.admin {
+
+  public final class ConnectEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable {
+    method public java.net.InetAddress getInetAddress();
+    method public int getPort();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ConnectEvent> CREATOR;
+  }
+
+  public class DelegatedAdminReceiver extends android.content.BroadcastReceiver {
+    ctor public DelegatedAdminReceiver();
+    method @Nullable public String onChoosePrivateKeyAlias(@NonNull android.content.Context, @NonNull android.content.Intent, int, @Nullable android.net.Uri, @Nullable String);
+    method public void onNetworkLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent, long, @IntRange(from=1) int);
+    method public final void onReceive(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onSecurityLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent);
+  }
+
+  public final class DeviceAdminInfo implements android.os.Parcelable {
+    ctor public DeviceAdminInfo(android.content.Context, android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public android.content.pm.ActivityInfo getActivityInfo();
+    method @NonNull public android.content.ComponentName getComponent();
+    method public String getPackageName();
+    method public String getReceiverName();
+    method public String getTagForPolicy(int);
+    method public boolean isVisible();
+    method public CharSequence loadDescription(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    method public boolean supportsTransferOwnership();
+    method public boolean usesPolicy(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DeviceAdminInfo> CREATOR;
+    field public static final int USES_ENCRYPTED_STORAGE = 7; // 0x7
+    field public static final int USES_POLICY_DISABLE_CAMERA = 8; // 0x8
+    field public static final int USES_POLICY_DISABLE_KEYGUARD_FEATURES = 9; // 0x9
+    field public static final int USES_POLICY_EXPIRE_PASSWORD = 6; // 0x6
+    field public static final int USES_POLICY_FORCE_LOCK = 3; // 0x3
+    field public static final int USES_POLICY_LIMIT_PASSWORD = 0; // 0x0
+    field public static final int USES_POLICY_RESET_PASSWORD = 2; // 0x2
+    field public static final int USES_POLICY_WATCH_LOGIN = 1; // 0x1
+    field public static final int USES_POLICY_WIPE_DATA = 4; // 0x4
+  }
+
+  public class DeviceAdminReceiver extends android.content.BroadcastReceiver {
+    ctor public DeviceAdminReceiver();
+    method @NonNull public android.app.admin.DevicePolicyManager getManager(@NonNull android.content.Context);
+    method @NonNull public android.content.ComponentName getWho(@NonNull android.content.Context);
+    method public void onBugreportFailed(@NonNull android.content.Context, @NonNull android.content.Intent, int);
+    method public void onBugreportShared(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull String);
+    method public void onBugreportSharingDeclined(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method @Nullable public String onChoosePrivateKeyAlias(@NonNull android.content.Context, @NonNull android.content.Intent, int, @Nullable android.net.Uri, @Nullable String);
+    method public void onComplianceAcknowledgementRequired(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method @Nullable public CharSequence onDisableRequested(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onDisabled(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onEnabled(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onLockTaskModeEntering(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull String);
+    method public void onLockTaskModeExiting(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onNetworkLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent, long, @IntRange(from=1) int);
+    method public void onOperationSafetyStateChanged(@NonNull android.content.Context, int, boolean);
+    method @Deprecated public void onPasswordChanged(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordChanged(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method @Deprecated public void onPasswordExpiring(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordExpiring(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method @Deprecated public void onPasswordFailed(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordFailed(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method @Deprecated public void onPasswordSucceeded(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordSucceeded(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onProfileProvisioningComplete(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method @Deprecated public void onReadyForUserInitialization(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onReceive(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onSecurityLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onSystemUpdatePending(@NonNull android.content.Context, @NonNull android.content.Intent, long);
+    method public void onTransferAffiliatedProfileOwnershipComplete(@NonNull android.content.Context, @NonNull android.os.UserHandle);
+    method public void onTransferOwnershipComplete(@NonNull android.content.Context, @Nullable android.os.PersistableBundle);
+    method public void onUserAdded(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserRemoved(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserStarted(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserStopped(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserSwitched(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    field public static final String ACTION_CHOOSE_PRIVATE_KEY_ALIAS = "android.app.action.CHOOSE_PRIVATE_KEY_ALIAS";
+    field public static final String ACTION_DEVICE_ADMIN_DISABLED = "android.app.action.DEVICE_ADMIN_DISABLED";
+    field public static final String ACTION_DEVICE_ADMIN_DISABLE_REQUESTED = "android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED";
+    field public static final String ACTION_DEVICE_ADMIN_ENABLED = "android.app.action.DEVICE_ADMIN_ENABLED";
+    field public static final String ACTION_LOCK_TASK_ENTERING = "android.app.action.LOCK_TASK_ENTERING";
+    field public static final String ACTION_LOCK_TASK_EXITING = "android.app.action.LOCK_TASK_EXITING";
+    field public static final String ACTION_NETWORK_LOGS_AVAILABLE = "android.app.action.NETWORK_LOGS_AVAILABLE";
+    field public static final String ACTION_PASSWORD_CHANGED = "android.app.action.ACTION_PASSWORD_CHANGED";
+    field public static final String ACTION_PASSWORD_EXPIRING = "android.app.action.ACTION_PASSWORD_EXPIRING";
+    field public static final String ACTION_PASSWORD_FAILED = "android.app.action.ACTION_PASSWORD_FAILED";
+    field public static final String ACTION_PASSWORD_SUCCEEDED = "android.app.action.ACTION_PASSWORD_SUCCEEDED";
+    field public static final String ACTION_PROFILE_PROVISIONING_COMPLETE = "android.app.action.PROFILE_PROVISIONING_COMPLETE";
+    field public static final String ACTION_SECURITY_LOGS_AVAILABLE = "android.app.action.SECURITY_LOGS_AVAILABLE";
+    field public static final int BUGREPORT_FAILURE_FAILED_COMPLETING = 0; // 0x0
+    field public static final int BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE = 1; // 0x1
+    field public static final String DEVICE_ADMIN_META_DATA = "android.app.device_admin";
+    field public static final String EXTRA_DISABLE_WARNING = "android.app.extra.DISABLE_WARNING";
+    field public static final String EXTRA_LOCK_TASK_PACKAGE = "android.app.extra.LOCK_TASK_PACKAGE";
+    field public static final String EXTRA_TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE = "android.app.extra.TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE";
+  }
+
+  public class DeviceAdminService extends android.app.Service {
+    ctor public DeviceAdminService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+  }
+
+  public class DevicePolicyManager {
+    method public void acknowledgeDeviceCompliant();
+    method public void addCrossProfileIntentFilter(@NonNull android.content.ComponentName, android.content.IntentFilter, int);
+    method public boolean addCrossProfileWidgetProvider(@NonNull android.content.ComponentName, String);
+    method public int addOverrideApn(@NonNull android.content.ComponentName, @NonNull android.telephony.data.ApnSetting);
+    method public void addPersistentPreferredActivity(@NonNull android.content.ComponentName, android.content.IntentFilter, @NonNull android.content.ComponentName);
+    method public void addUserRestriction(@NonNull android.content.ComponentName, String);
+    method public boolean bindDeviceAdminServiceAsUser(@NonNull android.content.ComponentName, android.content.Intent, @NonNull android.content.ServiceConnection, int, @NonNull android.os.UserHandle);
+    method public boolean canAdminGrantSensorsPermissions();
+    method public boolean canUsbDataSignalingBeDisabled();
+    method public void clearApplicationUserData(@NonNull android.content.ComponentName, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.app.admin.DevicePolicyManager.OnClearApplicationUserDataListener);
+    method public void clearCrossProfileIntentFilters(@NonNull android.content.ComponentName);
+    method @Deprecated public void clearDeviceOwnerApp(String);
+    method public void clearPackagePersistentPreferredActivities(@NonNull android.content.ComponentName, String);
+    method @Deprecated public void clearProfileOwner(@NonNull android.content.ComponentName);
+    method public boolean clearResetPasswordToken(android.content.ComponentName);
+    method public void clearUserRestriction(@NonNull android.content.ComponentName, String);
+    method public android.content.Intent createAdminSupportIntent(@NonNull String);
+    method @Nullable public android.os.UserHandle createAndManageUser(@NonNull android.content.ComponentName, @NonNull String, @NonNull android.content.ComponentName, @Nullable android.os.PersistableBundle, int);
+    method public void enableSystemApp(@NonNull android.content.ComponentName, String);
+    method public int enableSystemApp(@NonNull android.content.ComponentName, android.content.Intent);
+    method public android.security.AttestedKeyPair generateKeyPair(@Nullable android.content.ComponentName, @NonNull String, @NonNull android.security.keystore.KeyGenParameterSpec, int);
+    method @Nullable public String[] getAccountTypesWithManagementDisabled();
+    method @Nullable public java.util.List<android.content.ComponentName> getActiveAdmins();
+    method @NonNull public java.util.Set<java.lang.String> getAffiliationIds(@NonNull android.content.ComponentName);
+    method @Nullable public java.util.Set<java.lang.String> getAlwaysOnVpnLockdownWhitelist(@NonNull android.content.ComponentName);
+    method @Nullable public String getAlwaysOnVpnPackage(@NonNull android.content.ComponentName);
+    method @NonNull @WorkerThread public android.os.Bundle getApplicationRestrictions(@Nullable android.content.ComponentName, String);
+    method @Deprecated @Nullable public String getApplicationRestrictionsManagingPackage(@NonNull android.content.ComponentName);
+    method public boolean getAutoTimeEnabled(@NonNull android.content.ComponentName);
+    method @Deprecated public boolean getAutoTimeRequired();
+    method public boolean getAutoTimeZoneEnabled(@NonNull android.content.ComponentName);
+    method @NonNull public java.util.List<android.os.UserHandle> getBindDeviceAdminTargetUsers(@NonNull android.content.ComponentName);
+    method public boolean getBluetoothContactSharingDisabled(@NonNull android.content.ComponentName);
+    method public boolean getCameraDisabled(@Nullable android.content.ComponentName);
+    method @Deprecated @Nullable public String getCertInstallerPackage(@NonNull android.content.ComponentName) throws java.lang.SecurityException;
+    method @Nullable public java.util.Set<java.lang.String> getCrossProfileCalendarPackages(@NonNull android.content.ComponentName);
+    method public boolean getCrossProfileCallerIdDisabled(@NonNull android.content.ComponentName);
+    method public boolean getCrossProfileContactsSearchDisabled(@NonNull android.content.ComponentName);
+    method @NonNull public java.util.Set<java.lang.String> getCrossProfilePackages(@NonNull android.content.ComponentName);
+    method @NonNull public java.util.List<java.lang.String> getCrossProfileWidgetProviders(@NonNull android.content.ComponentName);
+    method public int getCurrentFailedPasswordAttempts();
+    method @Nullable public java.util.List<java.lang.String> getDelegatePackages(@NonNull android.content.ComponentName, @NonNull String);
+    method @NonNull public java.util.List<java.lang.String> getDelegatedScopes(@Nullable android.content.ComponentName, @NonNull String);
+    method public CharSequence getDeviceOwnerLockScreenInfo();
+    method public CharSequence getEndUserSessionMessage(@NonNull android.content.ComponentName);
+    method @NonNull public String getEnrollmentSpecificId();
+    method @Nullable public android.app.admin.FactoryResetProtectionPolicy getFactoryResetProtectionPolicy(@Nullable android.content.ComponentName);
+    method @Nullable public String getGlobalPrivateDnsHost(@NonNull android.content.ComponentName);
+    method public int getGlobalPrivateDnsMode(@NonNull android.content.ComponentName);
+    method @NonNull public java.util.List<byte[]> getInstalledCaCerts(@Nullable android.content.ComponentName);
+    method @Nullable public java.util.List<java.lang.String> getKeepUninstalledPackages(@Nullable android.content.ComponentName);
+    method @NonNull public java.util.Map<java.lang.Integer,java.util.Set<java.lang.String>> getKeyPairGrants(@NonNull String);
+    method public int getKeyguardDisabledFeatures(@Nullable android.content.ComponentName);
+    method public int getLockTaskFeatures(@NonNull android.content.ComponentName);
+    method @NonNull public String[] getLockTaskPackages(@NonNull android.content.ComponentName);
+    method @Nullable public CharSequence getLongSupportMessage(@NonNull android.content.ComponentName);
+    method public long getManagedProfileMaximumTimeOff(@NonNull android.content.ComponentName);
+    method public int getMaximumFailedPasswordsForWipe(@Nullable android.content.ComponentName);
+    method public long getMaximumTimeToLock(@Nullable android.content.ComponentName);
+    method @NonNull public java.util.List<java.lang.String> getMeteredDataDisabledPackages(@NonNull android.content.ComponentName);
+    method public int getNearbyAppStreamingPolicy();
+    method public int getNearbyNotificationStreamingPolicy();
+    method @Deprecated @ColorInt public int getOrganizationColor(@NonNull android.content.ComponentName);
+    method @Nullable public CharSequence getOrganizationName(@NonNull android.content.ComponentName);
+    method public java.util.List<android.telephony.data.ApnSetting> getOverrideApns(@NonNull android.content.ComponentName);
+    method @NonNull public android.app.admin.DevicePolicyManager getParentProfileInstance(@NonNull android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY) public int getPasswordComplexity();
+    method public long getPasswordExpiration(@Nullable android.content.ComponentName);
+    method public long getPasswordExpirationTimeout(@Nullable android.content.ComponentName);
+    method public int getPasswordHistoryLength(@Nullable android.content.ComponentName);
+    method public int getPasswordMaximumLength(int);
+    method @Deprecated public int getPasswordMinimumLength(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumLetters(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumLowerCase(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumNonLetter(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumNumeric(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumSymbols(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordMinimumUpperCase(@Nullable android.content.ComponentName);
+    method @Deprecated public int getPasswordQuality(@Nullable android.content.ComponentName);
+    method @Nullable public android.app.admin.SystemUpdateInfo getPendingSystemUpdate(@NonNull android.content.ComponentName);
+    method public int getPermissionGrantState(@Nullable android.content.ComponentName, @NonNull String, @NonNull String);
+    method public int getPermissionPolicy(android.content.ComponentName);
+    method @Nullable public java.util.List<java.lang.String> getPermittedAccessibilityServices(@NonNull android.content.ComponentName);
+    method @Nullable public java.util.List<java.lang.String> getPermittedCrossProfileNotificationListeners(@NonNull android.content.ComponentName);
+    method @Nullable public java.util.List<java.lang.String> getPermittedInputMethods(@NonNull android.content.ComponentName);
+    method public int getPersonalAppsSuspendedReasons(@NonNull android.content.ComponentName);
+    method public int getRequiredPasswordComplexity();
+    method public long getRequiredStrongAuthTimeout(@Nullable android.content.ComponentName);
+    method public boolean getScreenCaptureDisabled(@Nullable android.content.ComponentName);
+    method public java.util.List<android.os.UserHandle> getSecondaryUsers(@NonNull android.content.ComponentName);
+    method public CharSequence getShortSupportMessage(@NonNull android.content.ComponentName);
+    method public CharSequence getStartUserSessionMessage(@NonNull android.content.ComponentName);
+    method @Deprecated public boolean getStorageEncryption(@Nullable android.content.ComponentName);
+    method public int getStorageEncryptionStatus();
+    method @Nullable public android.app.admin.SystemUpdatePolicy getSystemUpdatePolicy();
+    method @Nullable public android.os.PersistableBundle getTransferOwnershipBundle();
+    method @Nullable public java.util.List<android.os.PersistableBundle> getTrustAgentConfiguration(@Nullable android.content.ComponentName, @NonNull android.content.ComponentName);
+    method @NonNull public java.util.List<java.lang.String> getUserControlDisabledPackages(@NonNull android.content.ComponentName);
+    method @NonNull public android.os.Bundle getUserRestrictions(@NonNull android.content.ComponentName);
+    method @Nullable public String getWifiMacAddress(@NonNull android.content.ComponentName);
+    method public boolean grantKeyPairToApp(@Nullable android.content.ComponentName, @NonNull String, @NonNull String);
+    method public boolean grantKeyPairToWifiAuth(@NonNull String);
+    method public boolean hasCaCertInstalled(@Nullable android.content.ComponentName, byte[]);
+    method public boolean hasGrantedPolicy(@NonNull android.content.ComponentName, int);
+    method public boolean hasKeyPair(@NonNull String);
+    method public boolean hasLockdownAdminConfiguredNetworks(@NonNull android.content.ComponentName);
+    method public boolean installCaCert(@Nullable android.content.ComponentName, byte[]);
+    method public boolean installExistingPackage(@NonNull android.content.ComponentName, String);
+    method public boolean installKeyPair(@Nullable android.content.ComponentName, @NonNull java.security.PrivateKey, @NonNull java.security.cert.Certificate, @NonNull String);
+    method public boolean installKeyPair(@Nullable android.content.ComponentName, @NonNull java.security.PrivateKey, @NonNull java.security.cert.Certificate[], @NonNull String, boolean);
+    method public boolean installKeyPair(@Nullable android.content.ComponentName, @NonNull java.security.PrivateKey, @NonNull java.security.cert.Certificate[], @NonNull String, int);
+    method public void installSystemUpdate(@NonNull android.content.ComponentName, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.app.admin.DevicePolicyManager.InstallSystemUpdateCallback);
+    method public boolean isActivePasswordSufficient();
+    method public boolean isActivePasswordSufficientForDeviceRequirement();
+    method public boolean isAdminActive(@NonNull android.content.ComponentName);
+    method public boolean isAffiliatedUser();
+    method public boolean isAlwaysOnVpnLockdownEnabled(@NonNull android.content.ComponentName);
+    method public boolean isApplicationHidden(@NonNull android.content.ComponentName, String);
+    method public boolean isBackupServiceEnabled(@NonNull android.content.ComponentName);
+    method @Deprecated public boolean isCallerApplicationRestrictionsManagingPackage();
+    method public boolean isCommonCriteriaModeEnabled(@Nullable android.content.ComponentName);
+    method public boolean isComplianceAcknowledgementRequired();
+    method public boolean isDeviceIdAttestationSupported();
+    method public boolean isDeviceOwnerApp(String);
+    method public boolean isEphemeralUser(@NonNull android.content.ComponentName);
+    method public boolean isKeyPairGrantedToWifiAuth(@NonNull String);
+    method public boolean isLockTaskPermitted(String);
+    method public boolean isLogoutEnabled();
+    method public boolean isManagedProfile(@NonNull android.content.ComponentName);
+    method public boolean isMasterVolumeMuted(@NonNull android.content.ComponentName);
+    method public boolean isNetworkLoggingEnabled(@Nullable android.content.ComponentName);
+    method public boolean isOrganizationOwnedDeviceWithManagedProfile();
+    method public boolean isOverrideApnEnabled(@NonNull android.content.ComponentName);
+    method public boolean isPackageSuspended(@NonNull android.content.ComponentName, String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public boolean isPreferentialNetworkServiceEnabled();
+    method public boolean isProfileOwnerApp(String);
+    method public boolean isProvisioningAllowed(@NonNull String);
+    method public boolean isResetPasswordTokenActive(android.content.ComponentName);
+    method public boolean isSafeOperation(int);
+    method public boolean isSecurityLoggingEnabled(@Nullable android.content.ComponentName);
+    method public boolean isUninstallBlocked(@Nullable android.content.ComponentName, String);
+    method public boolean isUniqueDeviceAttestationSupported();
+    method public boolean isUsbDataSignalingEnabled();
+    method public boolean isUsingUnifiedPassword(@NonNull android.content.ComponentName);
+    method @NonNull public java.util.List<android.os.UserHandle> listForegroundAffiliatedUsers();
+    method public void lockNow();
+    method public void lockNow(int);
+    method public int logoutUser(@NonNull android.content.ComponentName);
+    method public void reboot(@NonNull android.content.ComponentName);
+    method public void removeActiveAdmin(@NonNull android.content.ComponentName);
+    method public boolean removeCrossProfileWidgetProvider(@NonNull android.content.ComponentName, String);
+    method public boolean removeKeyPair(@Nullable android.content.ComponentName, @NonNull String);
+    method public boolean removeOverrideApn(@NonNull android.content.ComponentName, int);
+    method public boolean removeUser(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    method public boolean requestBugreport(@NonNull android.content.ComponentName);
+    method @Deprecated public boolean resetPassword(String, int);
+    method public boolean resetPasswordWithToken(@NonNull android.content.ComponentName, String, byte[], int);
+    method @Nullable public java.util.List<android.app.admin.NetworkEvent> retrieveNetworkLogs(@Nullable android.content.ComponentName, long);
+    method @Nullable public java.util.List<android.app.admin.SecurityLog.SecurityEvent> retrievePreRebootSecurityLogs(@NonNull android.content.ComponentName);
+    method @Nullable public java.util.List<android.app.admin.SecurityLog.SecurityEvent> retrieveSecurityLogs(@NonNull android.content.ComponentName);
+    method public boolean revokeKeyPairFromApp(@Nullable android.content.ComponentName, @NonNull String, @NonNull String);
+    method public boolean revokeKeyPairFromWifiAuth(@NonNull String);
+    method public void setAccountManagementDisabled(@NonNull android.content.ComponentName, String, boolean);
+    method public void setAffiliationIds(@NonNull android.content.ComponentName, @NonNull java.util.Set<java.lang.String>);
+    method public void setAlwaysOnVpnPackage(@NonNull android.content.ComponentName, @Nullable String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public void setAlwaysOnVpnPackage(@NonNull android.content.ComponentName, @Nullable String, boolean, @Nullable java.util.Set<java.lang.String>) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public boolean setApplicationHidden(@NonNull android.content.ComponentName, String, boolean);
+    method @WorkerThread public void setApplicationRestrictions(@Nullable android.content.ComponentName, String, android.os.Bundle);
+    method @Deprecated public void setApplicationRestrictionsManagingPackage(@NonNull android.content.ComponentName, @Nullable String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public void setAutoTimeEnabled(@NonNull android.content.ComponentName, boolean);
+    method @Deprecated public void setAutoTimeRequired(@NonNull android.content.ComponentName, boolean);
+    method public void setAutoTimeZoneEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setBackupServiceEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setBluetoothContactSharingDisabled(@NonNull android.content.ComponentName, boolean);
+    method public void setCameraDisabled(@NonNull android.content.ComponentName, boolean);
+    method @Deprecated public void setCertInstallerPackage(@NonNull android.content.ComponentName, @Nullable String) throws java.lang.SecurityException;
+    method public void setCommonCriteriaModeEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setConfiguredNetworksLockdownState(@NonNull android.content.ComponentName, boolean);
+    method public void setCrossProfileCalendarPackages(@NonNull android.content.ComponentName, @Nullable java.util.Set<java.lang.String>);
+    method public void setCrossProfileCallerIdDisabled(@NonNull android.content.ComponentName, boolean);
+    method public void setCrossProfileContactsSearchDisabled(@NonNull android.content.ComponentName, boolean);
+    method public void setCrossProfilePackages(@NonNull android.content.ComponentName, @NonNull java.util.Set<java.lang.String>);
+    method public void setDefaultSmsApplication(@NonNull android.content.ComponentName, @NonNull String);
+    method public void setDelegatedScopes(@NonNull android.content.ComponentName, @NonNull String, @NonNull java.util.List<java.lang.String>);
+    method public void setDeviceOwnerLockScreenInfo(@NonNull android.content.ComponentName, CharSequence);
+    method public void setEndUserSessionMessage(@NonNull android.content.ComponentName, @Nullable CharSequence);
+    method public void setFactoryResetProtectionPolicy(@NonNull android.content.ComponentName, @Nullable android.app.admin.FactoryResetProtectionPolicy);
+    method public int setGlobalPrivateDnsModeOpportunistic(@NonNull android.content.ComponentName);
+    method @WorkerThread public int setGlobalPrivateDnsModeSpecifiedHost(@NonNull android.content.ComponentName, @NonNull String);
+    method public void setGlobalSetting(@NonNull android.content.ComponentName, String, String);
+    method public void setKeepUninstalledPackages(@Nullable android.content.ComponentName, @NonNull java.util.List<java.lang.String>);
+    method public boolean setKeyPairCertificate(@Nullable android.content.ComponentName, @NonNull String, @NonNull java.util.List<java.security.cert.Certificate>, boolean);
+    method public boolean setKeyguardDisabled(@NonNull android.content.ComponentName, boolean);
+    method public void setKeyguardDisabledFeatures(@NonNull android.content.ComponentName, int);
+    method public void setLocationEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setLockTaskFeatures(@NonNull android.content.ComponentName, int);
+    method public void setLockTaskPackages(@NonNull android.content.ComponentName, @NonNull String[]) throws java.lang.SecurityException;
+    method public void setLogoutEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setLongSupportMessage(@NonNull android.content.ComponentName, @Nullable CharSequence);
+    method public void setManagedProfileMaximumTimeOff(@NonNull android.content.ComponentName, long);
+    method public void setMasterVolumeMuted(@NonNull android.content.ComponentName, boolean);
+    method public void setMaximumFailedPasswordsForWipe(@NonNull android.content.ComponentName, int);
+    method public void setMaximumTimeToLock(@NonNull android.content.ComponentName, long);
+    method @NonNull public java.util.List<java.lang.String> setMeteredDataDisabledPackages(@NonNull android.content.ComponentName, @NonNull java.util.List<java.lang.String>);
+    method public void setNearbyAppStreamingPolicy(int);
+    method public void setNearbyNotificationStreamingPolicy(int);
+    method public void setNetworkLoggingEnabled(@Nullable android.content.ComponentName, boolean);
+    method @Deprecated public void setOrganizationColor(@NonNull android.content.ComponentName, int);
+    method public void setOrganizationId(@NonNull String);
+    method public void setOrganizationName(@NonNull android.content.ComponentName, @Nullable CharSequence);
+    method public void setOverrideApnsEnabled(@NonNull android.content.ComponentName, boolean);
+    method @NonNull public String[] setPackagesSuspended(@NonNull android.content.ComponentName, @NonNull String[], boolean);
+    method public void setPasswordExpirationTimeout(@NonNull android.content.ComponentName, long);
+    method public void setPasswordHistoryLength(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumLength(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumLetters(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumLowerCase(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumNonLetter(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumNumeric(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumSymbols(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordMinimumUpperCase(@NonNull android.content.ComponentName, int);
+    method @Deprecated public void setPasswordQuality(@NonNull android.content.ComponentName, int);
+    method public boolean setPermissionGrantState(@NonNull android.content.ComponentName, @NonNull String, @NonNull String, int);
+    method public void setPermissionPolicy(@NonNull android.content.ComponentName, int);
+    method public boolean setPermittedAccessibilityServices(@NonNull android.content.ComponentName, java.util.List<java.lang.String>);
+    method public boolean setPermittedCrossProfileNotificationListeners(@NonNull android.content.ComponentName, @Nullable java.util.List<java.lang.String>);
+    method public boolean setPermittedInputMethods(@NonNull android.content.ComponentName, java.util.List<java.lang.String>);
+    method public void setPersonalAppsSuspended(@NonNull android.content.ComponentName, boolean);
+    method public void setPreferentialNetworkServiceEnabled(boolean);
+    method public void setProfileEnabled(@NonNull android.content.ComponentName);
+    method public void setProfileName(@NonNull android.content.ComponentName, String);
+    method public void setRecommendedGlobalProxy(@NonNull android.content.ComponentName, @Nullable android.net.ProxyInfo);
+    method public void setRequiredPasswordComplexity(int);
+    method public void setRequiredStrongAuthTimeout(@NonNull android.content.ComponentName, long);
+    method public boolean setResetPasswordToken(android.content.ComponentName, byte[]);
+    method public void setRestrictionsProvider(@NonNull android.content.ComponentName, @Nullable android.content.ComponentName);
+    method public void setScreenCaptureDisabled(@NonNull android.content.ComponentName, boolean);
+    method public void setSecureSetting(@NonNull android.content.ComponentName, String, String);
+    method public void setSecurityLoggingEnabled(@NonNull android.content.ComponentName, boolean);
+    method public void setShortSupportMessage(@NonNull android.content.ComponentName, @Nullable CharSequence);
+    method public void setStartUserSessionMessage(@NonNull android.content.ComponentName, @Nullable CharSequence);
+    method public boolean setStatusBarDisabled(@NonNull android.content.ComponentName, boolean);
+    method @Deprecated public int setStorageEncryption(@NonNull android.content.ComponentName, boolean);
+    method public void setSystemSetting(@NonNull android.content.ComponentName, @NonNull String, String);
+    method public void setSystemUpdatePolicy(@NonNull android.content.ComponentName, android.app.admin.SystemUpdatePolicy);
+    method public boolean setTime(@NonNull android.content.ComponentName, long);
+    method public boolean setTimeZone(@NonNull android.content.ComponentName, String);
+    method public void setTrustAgentConfiguration(@NonNull android.content.ComponentName, @NonNull android.content.ComponentName, android.os.PersistableBundle);
+    method public void setUninstallBlocked(@Nullable android.content.ComponentName, String, boolean);
+    method public void setUsbDataSignalingEnabled(boolean);
+    method public void setUserControlDisabledPackages(@NonNull android.content.ComponentName, @NonNull java.util.List<java.lang.String>);
+    method public void setUserIcon(@NonNull android.content.ComponentName, android.graphics.Bitmap);
+    method public int startUserInBackground(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    method public int stopUser(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    method public boolean switchUser(@NonNull android.content.ComponentName, @Nullable android.os.UserHandle);
+    method public void transferOwnership(@NonNull android.content.ComponentName, @NonNull android.content.ComponentName, @Nullable android.os.PersistableBundle);
+    method public void uninstallAllUserCaCerts(@Nullable android.content.ComponentName);
+    method public void uninstallCaCert(@Nullable android.content.ComponentName, byte[]);
+    method public boolean updateOverrideApn(@NonNull android.content.ComponentName, int, @NonNull android.telephony.data.ApnSetting);
+    method public void wipeData(int);
+    method public void wipeData(int, @NonNull CharSequence);
+    field public static final String ACTION_ADD_DEVICE_ADMIN = "android.app.action.ADD_DEVICE_ADMIN";
+    field public static final String ACTION_ADMIN_POLICY_COMPLIANCE = "android.app.action.ADMIN_POLICY_COMPLIANCE";
+    field public static final String ACTION_APPLICATION_DELEGATION_SCOPES_CHANGED = "android.app.action.APPLICATION_DELEGATION_SCOPES_CHANGED";
+    field public static final String ACTION_CHECK_POLICY_COMPLIANCE = "android.app.action.CHECK_POLICY_COMPLIANCE";
+    field public static final String ACTION_DEVICE_ADMIN_SERVICE = "android.app.action.DEVICE_ADMIN_SERVICE";
+    field public static final String ACTION_DEVICE_OWNER_CHANGED = "android.app.action.DEVICE_OWNER_CHANGED";
+    field public static final String ACTION_GET_PROVISIONING_MODE = "android.app.action.GET_PROVISIONING_MODE";
+    field public static final String ACTION_MANAGED_PROFILE_PROVISIONED = "android.app.action.MANAGED_PROFILE_PROVISIONED";
+    field public static final String ACTION_PROFILE_OWNER_CHANGED = "android.app.action.PROFILE_OWNER_CHANGED";
+    field public static final String ACTION_PROVISIONING_SUCCESSFUL = "android.app.action.PROVISIONING_SUCCESSFUL";
+    field @Deprecated public static final String ACTION_PROVISION_MANAGED_DEVICE = "android.app.action.PROVISION_MANAGED_DEVICE";
+    field public static final String ACTION_PROVISION_MANAGED_PROFILE = "android.app.action.PROVISION_MANAGED_PROFILE";
+    field public static final String ACTION_SET_NEW_PARENT_PROFILE_PASSWORD = "android.app.action.SET_NEW_PARENT_PROFILE_PASSWORD";
+    field public static final String ACTION_SET_NEW_PASSWORD = "android.app.action.SET_NEW_PASSWORD";
+    field public static final String ACTION_START_ENCRYPTION = "android.app.action.START_ENCRYPTION";
+    field public static final String ACTION_SYSTEM_UPDATE_POLICY_CHANGED = "android.app.action.SYSTEM_UPDATE_POLICY_CHANGED";
+    field public static final String DELEGATION_APP_RESTRICTIONS = "delegation-app-restrictions";
+    field public static final String DELEGATION_BLOCK_UNINSTALL = "delegation-block-uninstall";
+    field public static final String DELEGATION_CERT_INSTALL = "delegation-cert-install";
+    field public static final String DELEGATION_CERT_SELECTION = "delegation-cert-selection";
+    field public static final String DELEGATION_ENABLE_SYSTEM_APP = "delegation-enable-system-app";
+    field public static final String DELEGATION_INSTALL_EXISTING_PACKAGE = "delegation-install-existing-package";
+    field public static final String DELEGATION_KEEP_UNINSTALLED_PACKAGES = "delegation-keep-uninstalled-packages";
+    field public static final String DELEGATION_NETWORK_LOGGING = "delegation-network-logging";
+    field public static final String DELEGATION_PACKAGE_ACCESS = "delegation-package-access";
+    field public static final String DELEGATION_PERMISSION_GRANT = "delegation-permission-grant";
+    field public static final String DELEGATION_SECURITY_LOGGING = "delegation-security-logging";
+    field public static final int ENCRYPTION_STATUS_ACTIVATING = 2; // 0x2
+    field public static final int ENCRYPTION_STATUS_ACTIVE = 3; // 0x3
+    field public static final int ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY = 4; // 0x4
+    field public static final int ENCRYPTION_STATUS_ACTIVE_PER_USER = 5; // 0x5
+    field public static final int ENCRYPTION_STATUS_INACTIVE = 1; // 0x1
+    field public static final int ENCRYPTION_STATUS_UNSUPPORTED = 0; // 0x0
+    field public static final String EXTRA_ADD_EXPLANATION = "android.app.extra.ADD_EXPLANATION";
+    field public static final String EXTRA_DELEGATION_SCOPES = "android.app.extra.DELEGATION_SCOPES";
+    field public static final String EXTRA_DEVICE_ADMIN = "android.app.extra.DEVICE_ADMIN";
+    field public static final String EXTRA_DEVICE_PASSWORD_REQUIREMENT_ONLY = "android.app.extra.DEVICE_PASSWORD_REQUIREMENT_ONLY";
+    field @RequiresPermission(android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY) public static final String EXTRA_PASSWORD_COMPLEXITY = "android.app.extra.PASSWORD_COMPLEXITY";
+    field public static final String EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE = "android.app.extra.PROVISIONING_ACCOUNT_TO_MIGRATE";
+    field public static final String EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE";
+    field public static final String EXTRA_PROVISIONING_ALLOWED_PROVISIONING_MODES = "android.app.extra.PROVISIONING_ALLOWED_PROVISIONING_MODES";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE = "android.app.extra.PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION";
+    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME";
+    field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM = "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM";
+    field public static final String EXTRA_PROVISIONING_DISCLAIMERS = "android.app.extra.PROVISIONING_DISCLAIMERS";
+    field public static final String EXTRA_PROVISIONING_DISCLAIMER_CONTENT = "android.app.extra.PROVISIONING_DISCLAIMER_CONTENT";
+    field public static final String EXTRA_PROVISIONING_DISCLAIMER_HEADER = "android.app.extra.PROVISIONING_DISCLAIMER_HEADER";
+    field @Deprecated public static final String EXTRA_PROVISIONING_EMAIL_ADDRESS = "android.app.extra.PROVISIONING_EMAIL_ADDRESS";
+    field public static final String EXTRA_PROVISIONING_IMEI = "android.app.extra.PROVISIONING_IMEI";
+    field public static final String EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION = "android.app.extra.PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION";
+    field public static final String EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED = "android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED";
+    field public static final String EXTRA_PROVISIONING_LOCALE = "android.app.extra.PROVISIONING_LOCALE";
+    field public static final String EXTRA_PROVISIONING_LOCAL_TIME = "android.app.extra.PROVISIONING_LOCAL_TIME";
+    field public static final String EXTRA_PROVISIONING_LOGO_URI = "android.app.extra.PROVISIONING_LOGO_URI";
+    field @Deprecated public static final String EXTRA_PROVISIONING_MAIN_COLOR = "android.app.extra.PROVISIONING_MAIN_COLOR";
+    field public static final String EXTRA_PROVISIONING_MODE = "android.app.extra.PROVISIONING_MODE";
+    field public static final String EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT = "android.app.extra.PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT";
+    field public static final String EXTRA_PROVISIONING_SERIAL_NUMBER = "android.app.extra.PROVISIONING_SERIAL_NUMBER";
+    field public static final String EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS = "android.app.extra.PROVISIONING_SKIP_EDUCATION_SCREENS";
+    field public static final String EXTRA_PROVISIONING_SKIP_ENCRYPTION = "android.app.extra.PROVISIONING_SKIP_ENCRYPTION";
+    field @Deprecated public static final String EXTRA_PROVISIONING_SKIP_USER_CONSENT = "android.app.extra.PROVISIONING_SKIP_USER_CONSENT";
+    field public static final String EXTRA_PROVISIONING_TIME_ZONE = "android.app.extra.PROVISIONING_TIME_ZONE";
+    field public static final String EXTRA_PROVISIONING_WIFI_ANONYMOUS_IDENTITY = "android.app.extra.PROVISIONING_WIFI_ANONYMOUS_IDENTITY";
+    field public static final String EXTRA_PROVISIONING_WIFI_CA_CERTIFICATE = "android.app.extra.PROVISIONING_WIFI_CA_CERTIFICATE";
+    field public static final String EXTRA_PROVISIONING_WIFI_DOMAIN = "android.app.extra.PROVISIONING_WIFI_DOMAIN";
+    field public static final String EXTRA_PROVISIONING_WIFI_EAP_METHOD = "android.app.extra.PROVISIONING_WIFI_EAP_METHOD";
+    field public static final String EXTRA_PROVISIONING_WIFI_HIDDEN = "android.app.extra.PROVISIONING_WIFI_HIDDEN";
+    field public static final String EXTRA_PROVISIONING_WIFI_IDENTITY = "android.app.extra.PROVISIONING_WIFI_IDENTITY";
+    field public static final String EXTRA_PROVISIONING_WIFI_PAC_URL = "android.app.extra.PROVISIONING_WIFI_PAC_URL";
+    field public static final String EXTRA_PROVISIONING_WIFI_PASSWORD = "android.app.extra.PROVISIONING_WIFI_PASSWORD";
+    field public static final String EXTRA_PROVISIONING_WIFI_PHASE2_AUTH = "android.app.extra.PROVISIONING_WIFI_PHASE2_AUTH";
+    field public static final String EXTRA_PROVISIONING_WIFI_PROXY_BYPASS = "android.app.extra.PROVISIONING_WIFI_PROXY_BYPASS";
+    field public static final String EXTRA_PROVISIONING_WIFI_PROXY_HOST = "android.app.extra.PROVISIONING_WIFI_PROXY_HOST";
+    field public static final String EXTRA_PROVISIONING_WIFI_PROXY_PORT = "android.app.extra.PROVISIONING_WIFI_PROXY_PORT";
+    field public static final String EXTRA_PROVISIONING_WIFI_SECURITY_TYPE = "android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE";
+    field public static final String EXTRA_PROVISIONING_WIFI_SSID = "android.app.extra.PROVISIONING_WIFI_SSID";
+    field public static final String EXTRA_PROVISIONING_WIFI_USER_CERTIFICATE = "android.app.extra.PROVISIONING_WIFI_USER_CERTIFICATE";
+    field public static final int FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY = 1; // 0x1
+    field public static final int FLAG_MANAGED_CAN_ACCESS_PARENT = 2; // 0x2
+    field public static final int FLAG_PARENT_CAN_ACCESS_MANAGED = 1; // 0x1
+    field public static final int ID_TYPE_BASE_INFO = 1; // 0x1
+    field public static final int ID_TYPE_IMEI = 4; // 0x4
+    field public static final int ID_TYPE_INDIVIDUAL_ATTESTATION = 16; // 0x10
+    field public static final int ID_TYPE_MEID = 8; // 0x8
+    field public static final int ID_TYPE_SERIAL = 2; // 0x2
+    field public static final int INSTALLKEY_REQUEST_CREDENTIALS_ACCESS = 1; // 0x1
+    field public static final int INSTALLKEY_SET_USER_SELECTABLE = 2; // 0x2
+    field public static final int KEYGUARD_DISABLE_BIOMETRICS = 416; // 0x1a0
+    field public static final int KEYGUARD_DISABLE_FACE = 128; // 0x80
+    field public static final int KEYGUARD_DISABLE_FEATURES_ALL = 2147483647; // 0x7fffffff
+    field public static final int KEYGUARD_DISABLE_FEATURES_NONE = 0; // 0x0
+    field public static final int KEYGUARD_DISABLE_FINGERPRINT = 32; // 0x20
+    field public static final int KEYGUARD_DISABLE_IRIS = 256; // 0x100
+    field public static final int KEYGUARD_DISABLE_REMOTE_INPUT = 64; // 0x40
+    field public static final int KEYGUARD_DISABLE_SECURE_CAMERA = 2; // 0x2
+    field public static final int KEYGUARD_DISABLE_SECURE_NOTIFICATIONS = 4; // 0x4
+    field public static final int KEYGUARD_DISABLE_TRUST_AGENTS = 16; // 0x10
+    field public static final int KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS = 8; // 0x8
+    field public static final int KEYGUARD_DISABLE_WIDGETS_ALL = 1; // 0x1
+    field public static final int LEAVE_ALL_SYSTEM_APPS_ENABLED = 16; // 0x10
+    field public static final int LOCK_TASK_FEATURE_BLOCK_ACTIVITY_START_IN_TASK = 64; // 0x40
+    field public static final int LOCK_TASK_FEATURE_GLOBAL_ACTIONS = 16; // 0x10
+    field public static final int LOCK_TASK_FEATURE_HOME = 4; // 0x4
+    field public static final int LOCK_TASK_FEATURE_KEYGUARD = 32; // 0x20
+    field public static final int LOCK_TASK_FEATURE_NONE = 0; // 0x0
+    field public static final int LOCK_TASK_FEATURE_NOTIFICATIONS = 2; // 0x2
+    field public static final int LOCK_TASK_FEATURE_OVERVIEW = 8; // 0x8
+    field public static final int LOCK_TASK_FEATURE_SYSTEM_INFO = 1; // 0x1
+    field public static final int MAKE_USER_EPHEMERAL = 2; // 0x2
+    field public static final String MIME_TYPE_PROVISIONING_NFC = "application/com.android.managedprovisioning";
+    field public static final int NEARBY_STREAMING_DISABLED = 1; // 0x1
+    field public static final int NEARBY_STREAMING_ENABLED = 2; // 0x2
+    field public static final int NEARBY_STREAMING_NOT_CONTROLLED_BY_POLICY = 0; // 0x0
+    field public static final int NEARBY_STREAMING_SAME_MANAGED_ACCOUNT_ONLY = 3; // 0x3
+    field public static final int OPERATION_SAFETY_REASON_DRIVING_DISTRACTION = 1; // 0x1
+    field public static final int PASSWORD_COMPLEXITY_HIGH = 327680; // 0x50000
+    field public static final int PASSWORD_COMPLEXITY_LOW = 65536; // 0x10000
+    field public static final int PASSWORD_COMPLEXITY_MEDIUM = 196608; // 0x30000
+    field public static final int PASSWORD_COMPLEXITY_NONE = 0; // 0x0
+    field public static final int PASSWORD_QUALITY_ALPHABETIC = 262144; // 0x40000
+    field public static final int PASSWORD_QUALITY_ALPHANUMERIC = 327680; // 0x50000
+    field public static final int PASSWORD_QUALITY_BIOMETRIC_WEAK = 32768; // 0x8000
+    field public static final int PASSWORD_QUALITY_COMPLEX = 393216; // 0x60000
+    field public static final int PASSWORD_QUALITY_NUMERIC = 131072; // 0x20000
+    field public static final int PASSWORD_QUALITY_NUMERIC_COMPLEX = 196608; // 0x30000
+    field public static final int PASSWORD_QUALITY_SOMETHING = 65536; // 0x10000
+    field public static final int PASSWORD_QUALITY_UNSPECIFIED = 0; // 0x0
+    field public static final int PERMISSION_GRANT_STATE_DEFAULT = 0; // 0x0
+    field public static final int PERMISSION_GRANT_STATE_DENIED = 2; // 0x2
+    field public static final int PERMISSION_GRANT_STATE_GRANTED = 1; // 0x1
+    field public static final int PERMISSION_POLICY_AUTO_DENY = 2; // 0x2
+    field public static final int PERMISSION_POLICY_AUTO_GRANT = 1; // 0x1
+    field public static final int PERMISSION_POLICY_PROMPT = 0; // 0x0
+    field public static final int PERSONAL_APPS_NOT_SUSPENDED = 0; // 0x0
+    field public static final int PERSONAL_APPS_SUSPENDED_EXPLICITLY = 1; // 0x1
+    field public static final int PERSONAL_APPS_SUSPENDED_PROFILE_TIMEOUT = 2; // 0x2
+    field public static final String POLICY_DISABLE_CAMERA = "policy_disable_camera";
+    field public static final String POLICY_DISABLE_SCREEN_CAPTURE = "policy_disable_screen_capture";
+    field public static final int PRIVATE_DNS_MODE_OFF = 1; // 0x1
+    field public static final int PRIVATE_DNS_MODE_OPPORTUNISTIC = 2; // 0x2
+    field public static final int PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = 3; // 0x3
+    field public static final int PRIVATE_DNS_MODE_UNKNOWN = 0; // 0x0
+    field public static final int PRIVATE_DNS_SET_ERROR_FAILURE_SETTING = 2; // 0x2
+    field public static final int PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING = 1; // 0x1
+    field public static final int PRIVATE_DNS_SET_NO_ERROR = 0; // 0x0
+    field public static final int PROVISIONING_MODE_FULLY_MANAGED_DEVICE = 1; // 0x1
+    field public static final int PROVISIONING_MODE_MANAGED_PROFILE = 2; // 0x2
+    field public static final int PROVISIONING_MODE_MANAGED_PROFILE_ON_PERSONAL_DEVICE = 3; // 0x3
+    field public static final int RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT = 2; // 0x2
+    field public static final int RESET_PASSWORD_REQUIRE_ENTRY = 1; // 0x1
+    field public static final int SKIP_SETUP_WIZARD = 1; // 0x1
+    field public static final int WIPE_EUICC = 4; // 0x4
+    field public static final int WIPE_EXTERNAL_STORAGE = 1; // 0x1
+    field public static final int WIPE_RESET_PROTECTION_DATA = 2; // 0x2
+    field public static final int WIPE_SILENTLY = 8; // 0x8
+  }
+
+  public abstract static class DevicePolicyManager.InstallSystemUpdateCallback {
+    ctor public DevicePolicyManager.InstallSystemUpdateCallback();
+    method public void onInstallUpdateError(int, @NonNull String);
+    field public static final int UPDATE_ERROR_BATTERY_LOW = 5; // 0x5
+    field public static final int UPDATE_ERROR_FILE_NOT_FOUND = 4; // 0x4
+    field public static final int UPDATE_ERROR_INCORRECT_OS_VERSION = 2; // 0x2
+    field public static final int UPDATE_ERROR_UNKNOWN = 1; // 0x1
+    field public static final int UPDATE_ERROR_UPDATE_FILE_INVALID = 3; // 0x3
+  }
+
+  public static interface DevicePolicyManager.OnClearApplicationUserDataListener {
+    method public void onApplicationUserDataCleared(String, boolean);
+  }
+
+  public final class DnsEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable {
+    method public String getHostname();
+    method public java.util.List<java.net.InetAddress> getInetAddresses();
+    method public int getTotalResolvedAddressCount();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DnsEvent> CREATOR;
+  }
+
+  public final class FactoryResetProtectionPolicy implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getFactoryResetProtectionAccounts();
+    method public boolean isFactoryResetProtectionEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FactoryResetProtectionPolicy> CREATOR;
+  }
+
+  public static class FactoryResetProtectionPolicy.Builder {
+    ctor public FactoryResetProtectionPolicy.Builder();
+    method @NonNull public android.app.admin.FactoryResetProtectionPolicy build();
+    method @NonNull public android.app.admin.FactoryResetProtectionPolicy.Builder setFactoryResetProtectionAccounts(@NonNull java.util.List<java.lang.String>);
+    method @NonNull public android.app.admin.FactoryResetProtectionPolicy.Builder setFactoryResetProtectionEnabled(boolean);
+  }
+
+  public class FreezePeriod {
+    ctor public FreezePeriod(java.time.MonthDay, java.time.MonthDay);
+    method public java.time.MonthDay getEnd();
+    method public java.time.MonthDay getStart();
+  }
+
+  public abstract class NetworkEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getId();
+    method public String getPackageName();
+    method public long getTimestamp();
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.NetworkEvent> CREATOR;
+  }
+
+  public class SecurityLog {
+    ctor public SecurityLog();
+    field public static final int LEVEL_ERROR = 3; // 0x3
+    field public static final int LEVEL_INFO = 1; // 0x1
+    field public static final int LEVEL_WARNING = 2; // 0x2
+    field public static final int TAG_ADB_SHELL_CMD = 210002; // 0x33452
+    field public static final int TAG_ADB_SHELL_INTERACTIVE = 210001; // 0x33451
+    field public static final int TAG_APP_PROCESS_START = 210005; // 0x33455
+    field public static final int TAG_CAMERA_POLICY_SET = 210034; // 0x33472
+    field public static final int TAG_CERT_AUTHORITY_INSTALLED = 210029; // 0x3346d
+    field public static final int TAG_CERT_AUTHORITY_REMOVED = 210030; // 0x3346e
+    field public static final int TAG_CERT_VALIDATION_FAILURE = 210033; // 0x33471
+    field public static final int TAG_CRYPTO_SELF_TEST_COMPLETED = 210031; // 0x3346f
+    field public static final int TAG_KEYGUARD_DISABLED_FEATURES_SET = 210021; // 0x33465
+    field public static final int TAG_KEYGUARD_DISMISSED = 210006; // 0x33456
+    field public static final int TAG_KEYGUARD_DISMISS_AUTH_ATTEMPT = 210007; // 0x33457
+    field public static final int TAG_KEYGUARD_SECURED = 210008; // 0x33458
+    field public static final int TAG_KEY_DESTRUCTION = 210026; // 0x3346a
+    field public static final int TAG_KEY_GENERATED = 210024; // 0x33468
+    field public static final int TAG_KEY_IMPORT = 210025; // 0x33469
+    field public static final int TAG_KEY_INTEGRITY_VIOLATION = 210032; // 0x33470
+    field public static final int TAG_LOGGING_STARTED = 210011; // 0x3345b
+    field public static final int TAG_LOGGING_STOPPED = 210012; // 0x3345c
+    field public static final int TAG_LOG_BUFFER_SIZE_CRITICAL = 210015; // 0x3345f
+    field public static final int TAG_MAX_PASSWORD_ATTEMPTS_SET = 210020; // 0x33464
+    field public static final int TAG_MAX_SCREEN_LOCK_TIMEOUT_SET = 210019; // 0x33463
+    field public static final int TAG_MEDIA_MOUNT = 210013; // 0x3345d
+    field public static final int TAG_MEDIA_UNMOUNT = 210014; // 0x3345e
+    field public static final int TAG_OS_SHUTDOWN = 210010; // 0x3345a
+    field public static final int TAG_OS_STARTUP = 210009; // 0x33459
+    field public static final int TAG_PASSWORD_COMPLEXITY_REQUIRED = 210035; // 0x33473
+    field public static final int TAG_PASSWORD_COMPLEXITY_SET = 210017; // 0x33461
+    field public static final int TAG_PASSWORD_EXPIRATION_SET = 210016; // 0x33460
+    field public static final int TAG_PASSWORD_HISTORY_LENGTH_SET = 210018; // 0x33462
+    field public static final int TAG_REMOTE_LOCK = 210022; // 0x33466
+    field public static final int TAG_SYNC_RECV_FILE = 210003; // 0x33453
+    field public static final int TAG_SYNC_SEND_FILE = 210004; // 0x33454
+    field public static final int TAG_USER_RESTRICTION_ADDED = 210027; // 0x3346b
+    field public static final int TAG_USER_RESTRICTION_REMOVED = 210028; // 0x3346c
+    field public static final int TAG_WIPE_FAILURE = 210023; // 0x33467
+  }
+
+  public static final class SecurityLog.SecurityEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public Object getData();
+    method public long getId();
+    method public int getLogLevel();
+    method public int getTag();
+    method public long getTimeNanos();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SecurityLog.SecurityEvent> CREATOR;
+  }
+
+  public final class SystemUpdateInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getReceivedTime();
+    method public int getSecurityPatchState();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdateInfo> CREATOR;
+    field public static final int SECURITY_PATCH_STATE_FALSE = 1; // 0x1
+    field public static final int SECURITY_PATCH_STATE_TRUE = 2; // 0x2
+    field public static final int SECURITY_PATCH_STATE_UNKNOWN = 0; // 0x0
+  }
+
+  public final class SystemUpdatePolicy implements android.os.Parcelable {
+    method public static android.app.admin.SystemUpdatePolicy createAutomaticInstallPolicy();
+    method public static android.app.admin.SystemUpdatePolicy createPostponeInstallPolicy();
+    method public static android.app.admin.SystemUpdatePolicy createWindowedInstallPolicy(int, int);
+    method public int describeContents();
+    method public java.util.List<android.app.admin.FreezePeriod> getFreezePeriods();
+    method public int getInstallWindowEnd();
+    method public int getInstallWindowStart();
+    method public int getPolicyType();
+    method public android.app.admin.SystemUpdatePolicy setFreezePeriods(java.util.List<android.app.admin.FreezePeriod>);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdatePolicy> CREATOR;
+    field public static final int TYPE_INSTALL_AUTOMATIC = 1; // 0x1
+    field public static final int TYPE_INSTALL_WINDOWED = 2; // 0x2
+    field public static final int TYPE_POSTPONE = 3; // 0x3
+  }
+
+  public static final class SystemUpdatePolicy.ValidationFailedException extends java.lang.IllegalArgumentException implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getErrorCode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdatePolicy.ValidationFailedException> CREATOR;
+    field public static final int ERROR_COMBINED_FREEZE_PERIOD_TOO_CLOSE = 6; // 0x6
+    field public static final int ERROR_COMBINED_FREEZE_PERIOD_TOO_LONG = 5; // 0x5
+    field public static final int ERROR_DUPLICATE_OR_OVERLAP = 2; // 0x2
+    field public static final int ERROR_NEW_FREEZE_PERIOD_TOO_CLOSE = 4; // 0x4
+    field public static final int ERROR_NEW_FREEZE_PERIOD_TOO_LONG = 3; // 0x3
+    field public static final int ERROR_UNKNOWN = 1; // 0x1
+  }
+
+  public final class UnsafeStateException extends java.lang.IllegalStateException implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.Integer> getReasons();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.UnsafeStateException> CREATOR;
+  }
+
+}
+
+package android.app.appsearch {
+
+  public final class AppSearchBatchResult<KeyType, ValueType> {
+    method @NonNull public java.util.Map<KeyType,android.app.appsearch.AppSearchResult<ValueType>> getAll();
+    method @NonNull public java.util.Map<KeyType,android.app.appsearch.AppSearchResult<ValueType>> getFailures();
+    method @NonNull public java.util.Map<KeyType,ValueType> getSuccesses();
+    method public boolean isSuccess();
+  }
+
+  public static final class AppSearchBatchResult.Builder<KeyType, ValueType> {
+    ctor public AppSearchBatchResult.Builder();
+    method @NonNull public android.app.appsearch.AppSearchBatchResult<KeyType,ValueType> build();
+    method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setFailure(@NonNull KeyType, int, @Nullable String);
+    method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setResult(@NonNull KeyType, @NonNull android.app.appsearch.AppSearchResult<ValueType>);
+    method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setSuccess(@NonNull KeyType, @Nullable ValueType);
+  }
+
+  public class AppSearchManager {
+    method public void createGlobalSearchSession(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GlobalSearchSession>>);
+    method public void createSearchSession(@NonNull android.app.appsearch.AppSearchManager.SearchContext, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.AppSearchSession>>);
+  }
+
+  public static final class AppSearchManager.SearchContext {
+    method @NonNull public String getDatabaseName();
+  }
+
+  public static final class AppSearchManager.SearchContext.Builder {
+    ctor public AppSearchManager.SearchContext.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchManager.SearchContext build();
+  }
+
+  public final class AppSearchResult<ValueType> {
+    method @Nullable public String getErrorMessage();
+    method public int getResultCode();
+    method @Nullable public ValueType getResultValue();
+    method public boolean isSuccess();
+    method @NonNull public static <ValueType> android.app.appsearch.AppSearchResult<ValueType> newFailedResult(int, @Nullable String);
+    method @NonNull public static <ValueType> android.app.appsearch.AppSearchResult<ValueType> newSuccessfulResult(@Nullable ValueType);
+    field public static final int RESULT_INTERNAL_ERROR = 2; // 0x2
+    field public static final int RESULT_INVALID_ARGUMENT = 3; // 0x3
+    field public static final int RESULT_INVALID_SCHEMA = 7; // 0x7
+    field public static final int RESULT_IO_ERROR = 4; // 0x4
+    field public static final int RESULT_NOT_FOUND = 6; // 0x6
+    field public static final int RESULT_OK = 0; // 0x0
+    field public static final int RESULT_OUT_OF_SPACE = 5; // 0x5
+    field public static final int RESULT_SECURITY_ERROR = 8; // 0x8
+    field public static final int RESULT_UNKNOWN_ERROR = 1; // 0x1
+  }
+
+  public final class AppSearchSchema {
+    method @NonNull public java.util.List<android.app.appsearch.AppSearchSchema.PropertyConfig> getProperties();
+    method @NonNull public String getSchemaType();
+  }
+
+  public static final class AppSearchSchema.BooleanPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+  }
+
+  public static final class AppSearchSchema.BooleanPropertyConfig.Builder {
+    ctor public AppSearchSchema.BooleanPropertyConfig.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.BooleanPropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.BooleanPropertyConfig.Builder setCardinality(int);
+  }
+
+  public static final class AppSearchSchema.Builder {
+    ctor public AppSearchSchema.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.Builder addProperty(@NonNull android.app.appsearch.AppSearchSchema.PropertyConfig);
+    method @NonNull public android.app.appsearch.AppSearchSchema build();
+  }
+
+  public static final class AppSearchSchema.BytesPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+  }
+
+  public static final class AppSearchSchema.BytesPropertyConfig.Builder {
+    ctor public AppSearchSchema.BytesPropertyConfig.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.BytesPropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.BytesPropertyConfig.Builder setCardinality(int);
+  }
+
+  public static final class AppSearchSchema.DocumentPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+    method @NonNull public String getSchemaType();
+    method public boolean shouldIndexNestedProperties();
+  }
+
+  public static final class AppSearchSchema.DocumentPropertyConfig.Builder {
+    ctor public AppSearchSchema.DocumentPropertyConfig.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder setCardinality(int);
+    method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder setShouldIndexNestedProperties(boolean);
+  }
+
+  public static final class AppSearchSchema.DoublePropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+  }
+
+  public static final class AppSearchSchema.DoublePropertyConfig.Builder {
+    ctor public AppSearchSchema.DoublePropertyConfig.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.DoublePropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.DoublePropertyConfig.Builder setCardinality(int);
+  }
+
+  public static final class AppSearchSchema.LongPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+  }
+
+  public static final class AppSearchSchema.LongPropertyConfig.Builder {
+    ctor public AppSearchSchema.LongPropertyConfig.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder setCardinality(int);
+  }
+
+  public abstract static class AppSearchSchema.PropertyConfig {
+    method public int getCardinality();
+    method @NonNull public String getName();
+    field public static final int CARDINALITY_OPTIONAL = 2; // 0x2
+    field public static final int CARDINALITY_REPEATED = 1; // 0x1
+    field public static final int CARDINALITY_REQUIRED = 3; // 0x3
+  }
+
+  public static final class AppSearchSchema.StringPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+    method public int getIndexingType();
+    method public int getTokenizerType();
+    field public static final int INDEXING_TYPE_EXACT_TERMS = 1; // 0x1
+    field public static final int INDEXING_TYPE_NONE = 0; // 0x0
+    field public static final int INDEXING_TYPE_PREFIXES = 2; // 0x2
+    field public static final int TOKENIZER_TYPE_NONE = 0; // 0x0
+    field public static final int TOKENIZER_TYPE_PLAIN = 1; // 0x1
+  }
+
+  public static final class AppSearchSchema.StringPropertyConfig.Builder {
+    ctor public AppSearchSchema.StringPropertyConfig.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setCardinality(int);
+    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setIndexingType(int);
+    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setTokenizerType(int);
+  }
+
+  public final class AppSearchSession implements java.io.Closeable {
+    method public void close();
+    method public void getByDocumentId(@NonNull android.app.appsearch.GetByDocumentIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,android.app.appsearch.GenericDocument>);
+    method public void getNamespaces(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.Set<java.lang.String>>>);
+    method public void getSchema(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GetSchemaResponse>>);
+    method public void getStorageInfo(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.StorageInfo>>);
+    method public void put(@NonNull android.app.appsearch.PutDocumentsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,java.lang.Void>);
+    method public void remove(@NonNull android.app.appsearch.RemoveByDocumentIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,java.lang.Void>);
+    method public void remove(@NonNull String, @NonNull android.app.appsearch.SearchSpec, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>);
+    method public void reportUsage(@NonNull android.app.appsearch.ReportUsageRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>);
+    method @NonNull public android.app.appsearch.SearchResults search(@NonNull String, @NonNull android.app.appsearch.SearchSpec);
+    method public void setSchema(@NonNull android.app.appsearch.SetSchemaRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.SetSchemaResponse>>);
+  }
+
+  public interface BatchResultCallback<KeyType, ValueType> {
+    method public void onResult(@NonNull android.app.appsearch.AppSearchBatchResult<KeyType,ValueType>);
+    method public default void onSystemError(@Nullable Throwable);
+  }
+
+  public class GenericDocument {
+    ctor protected GenericDocument(@NonNull android.app.appsearch.GenericDocument);
+    method public long getCreationTimestampMillis();
+    method @NonNull public String getId();
+    method public static int getMaxIndexedProperties();
+    method @NonNull public String getNamespace();
+    method @Nullable public Object getProperty(@NonNull String);
+    method public boolean getPropertyBoolean(@NonNull String);
+    method @Nullable public boolean[] getPropertyBooleanArray(@NonNull String);
+    method @Nullable public byte[] getPropertyBytes(@NonNull String);
+    method @Nullable public byte[][] getPropertyBytesArray(@NonNull String);
+    method @Nullable public android.app.appsearch.GenericDocument getPropertyDocument(@NonNull String);
+    method @Nullable public android.app.appsearch.GenericDocument[] getPropertyDocumentArray(@NonNull String);
+    method public double getPropertyDouble(@NonNull String);
+    method @Nullable public double[] getPropertyDoubleArray(@NonNull String);
+    method public long getPropertyLong(@NonNull String);
+    method @Nullable public long[] getPropertyLongArray(@NonNull String);
+    method @NonNull public java.util.Set<java.lang.String> getPropertyNames();
+    method @Nullable public String getPropertyString(@NonNull String);
+    method @Nullable public String[] getPropertyStringArray(@NonNull String);
+    method @NonNull public String getSchemaType();
+    method public int getScore();
+    method public long getTtlMillis();
+  }
+
+  public static class GenericDocument.Builder<BuilderType extends android.app.appsearch.GenericDocument.Builder> {
+    ctor public GenericDocument.Builder(@NonNull String, @NonNull String, @NonNull String);
+    method @NonNull public android.app.appsearch.GenericDocument build();
+    method @NonNull public BuilderType setCreationTimestampMillis(long);
+    method @NonNull public BuilderType setPropertyBoolean(@NonNull String, @NonNull boolean...);
+    method @NonNull public BuilderType setPropertyBytes(@NonNull String, @NonNull byte[]...);
+    method @NonNull public BuilderType setPropertyDocument(@NonNull String, @NonNull android.app.appsearch.GenericDocument...);
+    method @NonNull public BuilderType setPropertyDouble(@NonNull String, @NonNull double...);
+    method @NonNull public BuilderType setPropertyLong(@NonNull String, @NonNull long...);
+    method @NonNull public BuilderType setPropertyString(@NonNull String, @NonNull java.lang.String...);
+    method @NonNull public BuilderType setScore(@IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public BuilderType setTtlMillis(long);
+  }
+
+  public final class GetByDocumentIdRequest {
+    method @NonNull public java.util.Set<java.lang.String> getIds();
+    method @NonNull public String getNamespace();
+    method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getProjections();
+    field public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*";
+  }
+
+  public static final class GetByDocumentIdRequest.Builder {
+    ctor public GetByDocumentIdRequest.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addIds(@NonNull java.lang.String...);
+    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addIds(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addProjection(@NonNull String, @NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.GetByDocumentIdRequest build();
+  }
+
+  public final class GetSchemaResponse {
+    method @NonNull public java.util.Set<android.app.appsearch.AppSearchSchema> getSchemas();
+    method @IntRange(from=0) public int getVersion();
+  }
+
+  public static final class GetSchemaResponse.Builder {
+    ctor public GetSchemaResponse.Builder();
+    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder addSchema(@NonNull android.app.appsearch.AppSearchSchema);
+    method @NonNull public android.app.appsearch.GetSchemaResponse build();
+    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setVersion(@IntRange(from=0) int);
+  }
+
+  public class GlobalSearchSession implements java.io.Closeable {
+    method public void close();
+    method public void reportSystemUsage(@NonNull android.app.appsearch.ReportSystemUsageRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>);
+    method @NonNull public android.app.appsearch.SearchResults search(@NonNull String, @NonNull android.app.appsearch.SearchSpec);
+  }
+
+  public abstract class Migrator {
+    ctor public Migrator();
+    method @NonNull @WorkerThread public abstract android.app.appsearch.GenericDocument onDowngrade(int, int, @NonNull android.app.appsearch.GenericDocument);
+    method @NonNull @WorkerThread public abstract android.app.appsearch.GenericDocument onUpgrade(int, int, @NonNull android.app.appsearch.GenericDocument);
+    method public abstract boolean shouldMigrate(int, int);
+  }
+
+  public class PackageIdentifier {
+    ctor public PackageIdentifier(@NonNull String, @NonNull byte[]);
+    method @NonNull public String getPackageName();
+    method @NonNull public byte[] getSha256Certificate();
+  }
+
+  public final class PutDocumentsRequest {
+    method @NonNull public java.util.List<android.app.appsearch.GenericDocument> getGenericDocuments();
+  }
+
+  public static final class PutDocumentsRequest.Builder {
+    ctor public PutDocumentsRequest.Builder();
+    method @NonNull public android.app.appsearch.PutDocumentsRequest.Builder addGenericDocuments(@NonNull android.app.appsearch.GenericDocument...);
+    method @NonNull public android.app.appsearch.PutDocumentsRequest.Builder addGenericDocuments(@NonNull java.util.Collection<? extends android.app.appsearch.GenericDocument>);
+    method @NonNull public android.app.appsearch.PutDocumentsRequest build();
+  }
+
+  public final class RemoveByDocumentIdRequest {
+    method @NonNull public java.util.Set<java.lang.String> getIds();
+    method @NonNull public String getNamespace();
+  }
+
+  public static final class RemoveByDocumentIdRequest.Builder {
+    ctor public RemoveByDocumentIdRequest.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest.Builder addIds(@NonNull java.lang.String...);
+    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest.Builder addIds(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest build();
+  }
+
+  public final class ReportSystemUsageRequest {
+    method @NonNull public String getDatabaseName();
+    method @NonNull public String getDocumentId();
+    method @NonNull public String getNamespace();
+    method @NonNull public String getPackageName();
+    method public long getUsageTimestampMillis();
+  }
+
+  public static final class ReportSystemUsageRequest.Builder {
+    ctor public ReportSystemUsageRequest.Builder(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
+    method @NonNull public android.app.appsearch.ReportSystemUsageRequest build();
+    method @NonNull public android.app.appsearch.ReportSystemUsageRequest.Builder setUsageTimestampMillis(long);
+  }
+
+  public final class ReportUsageRequest {
+    method @NonNull public String getDocumentId();
+    method @NonNull public String getNamespace();
+    method public long getUsageTimestampMillis();
+  }
+
+  public static final class ReportUsageRequest.Builder {
+    ctor public ReportUsageRequest.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.app.appsearch.ReportUsageRequest build();
+    method @NonNull public android.app.appsearch.ReportUsageRequest.Builder setUsageTimestampMillis(long);
+  }
+
+  public final class SearchResult {
+    method @NonNull public String getDatabaseName();
+    method @NonNull public android.app.appsearch.GenericDocument getGenericDocument();
+    method @NonNull public java.util.List<android.app.appsearch.SearchResult.MatchInfo> getMatchInfos();
+    method @NonNull public String getPackageName();
+    method public double getRankingSignal();
+  }
+
+  public static final class SearchResult.Builder {
+    ctor public SearchResult.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.app.appsearch.SearchResult.Builder addMatchInfo(@NonNull android.app.appsearch.SearchResult.MatchInfo);
+    method @NonNull public android.app.appsearch.SearchResult build();
+    method @NonNull public android.app.appsearch.SearchResult.Builder setGenericDocument(@NonNull android.app.appsearch.GenericDocument);
+    method @NonNull public android.app.appsearch.SearchResult.Builder setRankingSignal(double);
+  }
+
+  public static final class SearchResult.MatchInfo {
+    method @NonNull public CharSequence getExactMatch();
+    method @NonNull public android.app.appsearch.SearchResult.MatchRange getExactMatchRange();
+    method @NonNull public String getFullText();
+    method @NonNull public String getPropertyPath();
+    method @NonNull public CharSequence getSnippet();
+    method @NonNull public android.app.appsearch.SearchResult.MatchRange getSnippetRange();
+  }
+
+  public static final class SearchResult.MatchInfo.Builder {
+    ctor public SearchResult.MatchInfo.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.SearchResult.MatchInfo build();
+    method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setExactMatchRange(@NonNull android.app.appsearch.SearchResult.MatchRange);
+    method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setSnippetRange(@NonNull android.app.appsearch.SearchResult.MatchRange);
+  }
+
+  public static final class SearchResult.MatchRange {
+    ctor public SearchResult.MatchRange(int, int);
+    method public int getEnd();
+    method public int getStart();
+  }
+
+  public class SearchResults implements java.io.Closeable {
+    method public void close();
+    method public void getNextPage(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.List<android.app.appsearch.SearchResult>>>);
+  }
+
+  public final class SearchSpec {
+    method @NonNull public java.util.List<java.lang.String> getFilterNamespaces();
+    method @NonNull public java.util.List<java.lang.String> getFilterPackageNames();
+    method @NonNull public java.util.List<java.lang.String> getFilterSchemas();
+    method public int getMaxSnippetSize();
+    method public int getOrder();
+    method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getProjections();
+    method public int getRankingStrategy();
+    method public int getResultCountPerPage();
+    method public int getResultGroupingLimit();
+    method public int getResultGroupingTypeFlags();
+    method public int getSnippetCount();
+    method public int getSnippetCountPerProperty();
+    method public int getTermMatch();
+    field public static final int GROUPING_TYPE_PER_NAMESPACE = 2; // 0x2
+    field public static final int GROUPING_TYPE_PER_PACKAGE = 1; // 0x1
+    field public static final int ORDER_ASCENDING = 1; // 0x1
+    field public static final int ORDER_DESCENDING = 0; // 0x0
+    field public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*";
+    field public static final int RANKING_STRATEGY_CREATION_TIMESTAMP = 2; // 0x2
+    field public static final int RANKING_STRATEGY_DOCUMENT_SCORE = 1; // 0x1
+    field public static final int RANKING_STRATEGY_NONE = 0; // 0x0
+    field public static final int RANKING_STRATEGY_RELEVANCE_SCORE = 3; // 0x3
+    field public static final int RANKING_STRATEGY_SYSTEM_USAGE_COUNT = 6; // 0x6
+    field public static final int RANKING_STRATEGY_SYSTEM_USAGE_LAST_USED_TIMESTAMP = 7; // 0x7
+    field public static final int RANKING_STRATEGY_USAGE_COUNT = 4; // 0x4
+    field public static final int RANKING_STRATEGY_USAGE_LAST_USED_TIMESTAMP = 5; // 0x5
+    field public static final int TERM_MATCH_EXACT_ONLY = 1; // 0x1
+    field public static final int TERM_MATCH_PREFIX = 2; // 0x2
+  }
+
+  public static final class SearchSpec.Builder {
+    ctor public SearchSpec.Builder();
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterNamespaces(@NonNull java.lang.String...);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterNamespaces(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterPackageNames(@NonNull java.lang.String...);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterPackageNames(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterSchemas(@NonNull java.lang.String...);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterSchemas(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addProjection(@NonNull String, @NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SearchSpec build();
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setMaxSnippetSize(@IntRange(from=0, to=0x2710) int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setOrder(int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setRankingStrategy(int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setResultCountPerPage(@IntRange(from=0, to=0x2710) int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setResultGrouping(int, int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setSnippetCount(@IntRange(from=0, to=0x2710) int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setSnippetCountPerProperty(@IntRange(from=0, to=0x2710) int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setTermMatch(int);
+  }
+
+  public final class SetSchemaRequest {
+    method @NonNull public java.util.Map<java.lang.String,android.app.appsearch.Migrator> getMigrators();
+    method @NonNull public java.util.Set<android.app.appsearch.AppSearchSchema> getSchemas();
+    method @NonNull public java.util.Set<java.lang.String> getSchemasNotDisplayedBySystem();
+    method @NonNull public java.util.Map<java.lang.String,java.util.Set<android.app.appsearch.PackageIdentifier>> getSchemasVisibleToPackages();
+    method @IntRange(from=1) public int getVersion();
+    method public boolean isForceOverride();
+  }
+
+  public static final class SetSchemaRequest.Builder {
+    ctor public SetSchemaRequest.Builder();
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addSchemas(@NonNull android.app.appsearch.AppSearchSchema...);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addSchemas(@NonNull java.util.Collection<android.app.appsearch.AppSearchSchema>);
+    method @NonNull public android.app.appsearch.SetSchemaRequest build();
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setForceOverride(boolean);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setMigrator(@NonNull String, @NonNull android.app.appsearch.Migrator);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setMigrators(@NonNull java.util.Map<java.lang.String,android.app.appsearch.Migrator>);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setSchemaTypeDisplayedBySystem(@NonNull String, boolean);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setSchemaTypeVisibilityForPackage(@NonNull String, boolean, @NonNull android.app.appsearch.PackageIdentifier);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setVersion(@IntRange(from=1) int);
+  }
+
+  public class SetSchemaResponse {
+    method @NonNull public java.util.Set<java.lang.String> getDeletedTypes();
+    method @NonNull public java.util.Set<java.lang.String> getIncompatibleTypes();
+    method @NonNull public java.util.Set<java.lang.String> getMigratedTypes();
+    method @NonNull public java.util.List<android.app.appsearch.SetSchemaResponse.MigrationFailure> getMigrationFailures();
+  }
+
+  public static final class SetSchemaResponse.Builder {
+    ctor public SetSchemaResponse.Builder();
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addDeletedType(@NonNull String);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addDeletedTypes(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addIncompatibleType(@NonNull String);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addIncompatibleTypes(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigratedType(@NonNull String);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigratedTypes(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigrationFailure(@NonNull android.app.appsearch.SetSchemaResponse.MigrationFailure);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigrationFailures(@NonNull java.util.Collection<android.app.appsearch.SetSchemaResponse.MigrationFailure>);
+    method @NonNull public android.app.appsearch.SetSchemaResponse build();
+  }
+
+  public static class SetSchemaResponse.MigrationFailure {
+    ctor public SetSchemaResponse.MigrationFailure(@NonNull String, @NonNull String, @NonNull String, @NonNull android.app.appsearch.AppSearchResult<?>);
+    method @NonNull public android.app.appsearch.AppSearchResult<java.lang.Void> getAppSearchResult();
+    method @NonNull public String getDocumentId();
+    method @NonNull public String getNamespace();
+    method @NonNull public String getSchemaType();
+  }
+
+  public class StorageInfo {
+    method public int getAliveDocumentsCount();
+    method public int getAliveNamespacesCount();
+    method public long getSizeBytes();
+  }
+
+  public static final class StorageInfo.Builder {
+    ctor public StorageInfo.Builder();
+    method @NonNull public android.app.appsearch.StorageInfo build();
+    method @NonNull public android.app.appsearch.StorageInfo.Builder setAliveDocumentsCount(int);
+    method @NonNull public android.app.appsearch.StorageInfo.Builder setAliveNamespacesCount(int);
+    method @NonNull public android.app.appsearch.StorageInfo.Builder setSizeBytes(long);
+  }
+
+}
+
+package android.app.appsearch.exceptions {
+
+  public class AppSearchException extends java.lang.Exception {
+    ctor public AppSearchException(int);
+    ctor public AppSearchException(int, @Nullable String);
+    ctor public AppSearchException(int, @Nullable String, @Nullable Throwable);
+    method public int getResultCode();
+    method @NonNull public <T> android.app.appsearch.AppSearchResult<T> toAppSearchResult();
+  }
+
+}
+
+package android.app.assist {
+
+  public class AssistContent implements android.os.Parcelable {
+    ctor public AssistContent();
+    method public int describeContents();
+    method public android.content.ClipData getClipData();
+    method public android.os.Bundle getExtras();
+    method public android.content.Intent getIntent();
+    method public String getStructuredData();
+    method public android.net.Uri getWebUri();
+    method public boolean isAppProvidedIntent();
+    method public boolean isAppProvidedWebUri();
+    method public void setClipData(android.content.ClipData);
+    method public void setIntent(android.content.Intent);
+    method public void setStructuredData(String);
+    method public void setWebUri(android.net.Uri);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.AssistContent> CREATOR;
+  }
+
+  public class AssistStructure implements android.os.Parcelable {
+    ctor public AssistStructure();
+    method public int describeContents();
+    method public long getAcquisitionEndTime();
+    method public long getAcquisitionStartTime();
+    method public android.content.ComponentName getActivityComponent();
+    method public android.app.assist.AssistStructure.WindowNode getWindowNodeAt(int);
+    method public int getWindowNodeCount();
+    method public boolean isHomeActivity();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.AssistStructure> CREATOR;
+  }
+
+  public static class AssistStructure.ViewNode {
+    method public float getAlpha();
+    method @Nullable public String[] getAutofillHints();
+    method @Nullable public android.view.autofill.AutofillId getAutofillId();
+    method @Nullable public CharSequence[] getAutofillOptions();
+    method public int getAutofillType();
+    method @Nullable public android.view.autofill.AutofillValue getAutofillValue();
+    method public android.app.assist.AssistStructure.ViewNode getChildAt(int);
+    method public int getChildCount();
+    method @Nullable public String getClassName();
+    method @Nullable public CharSequence getContentDescription();
+    method public float getElevation();
+    method @Nullable public android.os.Bundle getExtras();
+    method public int getHeight();
+    method @Nullable public String getHint();
+    method @Nullable public String getHintIdEntry();
+    method @Nullable public android.view.ViewStructure.HtmlInfo getHtmlInfo();
+    method public int getId();
+    method @Nullable public String getIdEntry();
+    method @Nullable public String getIdPackage();
+    method @Nullable public String getIdType();
+    method public int getImportantForAutofill();
+    method public int getInputType();
+    method public int getLeft();
+    method @Nullable public android.os.LocaleList getLocaleList();
+    method public int getMaxTextEms();
+    method public int getMaxTextLength();
+    method public int getMinTextEms();
+    method @Nullable public String[] getReceiveContentMimeTypes();
+    method public int getScrollX();
+    method public int getScrollY();
+    method @Nullable public CharSequence getText();
+    method public int getTextBackgroundColor();
+    method public int getTextColor();
+    method @Nullable public String getTextIdEntry();
+    method @Nullable public int[] getTextLineBaselines();
+    method @Nullable public int[] getTextLineCharOffsets();
+    method public int getTextSelectionEnd();
+    method public int getTextSelectionStart();
+    method public float getTextSize();
+    method public int getTextStyle();
+    method public int getTop();
+    method public android.graphics.Matrix getTransformation();
+    method public int getVisibility();
+    method @Nullable public String getWebDomain();
+    method @Nullable public String getWebScheme();
+    method public int getWidth();
+    method public boolean isAccessibilityFocused();
+    method public boolean isActivated();
+    method public boolean isAssistBlocked();
+    method public boolean isCheckable();
+    method public boolean isChecked();
+    method public boolean isClickable();
+    method public boolean isContextClickable();
+    method public boolean isEnabled();
+    method public boolean isFocusable();
+    method public boolean isFocused();
+    method public boolean isLongClickable();
+    method public boolean isOpaque();
+    method public boolean isSelected();
+    field public static final int TEXT_COLOR_UNDEFINED = 1; // 0x1
+    field public static final int TEXT_STYLE_BOLD = 1; // 0x1
+    field public static final int TEXT_STYLE_ITALIC = 2; // 0x2
+    field public static final int TEXT_STYLE_STRIKE_THRU = 8; // 0x8
+    field public static final int TEXT_STYLE_UNDERLINE = 4; // 0x4
+  }
+
+  public static class AssistStructure.WindowNode {
+    method public int getDisplayId();
+    method public int getHeight();
+    method public int getLeft();
+    method public android.app.assist.AssistStructure.ViewNode getRootViewNode();
+    method public CharSequence getTitle();
+    method public int getTop();
+    method public int getWidth();
+  }
+
+}
+
+package android.app.backup {
+
+  public abstract class BackupAgent extends android.content.ContextWrapper {
+    ctor public BackupAgent();
+    method public final void fullBackupFile(java.io.File, android.app.backup.FullBackupDataOutput);
+    method public abstract void onBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method public void onCreate();
+    method public void onDestroy();
+    method public void onFullBackup(android.app.backup.FullBackupDataOutput) throws java.io.IOException;
+    method public void onQuotaExceeded(long, long);
+    method public abstract void onRestore(android.app.backup.BackupDataInput, int, android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method public void onRestore(android.app.backup.BackupDataInput, long, android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method public void onRestoreFile(android.os.ParcelFileDescriptor, long, java.io.File, int, long, long) throws java.io.IOException;
+    method public void onRestoreFinished();
+    field public static final int FLAG_CLIENT_SIDE_ENCRYPTION_ENABLED = 1; // 0x1
+    field public static final int FLAG_DEVICE_TO_DEVICE_TRANSFER = 2; // 0x2
+    field public static final int TYPE_DIRECTORY = 2; // 0x2
+    field public static final int TYPE_FILE = 1; // 0x1
+  }
+
+  public class BackupAgentHelper extends android.app.backup.BackupAgent {
+    ctor public BackupAgentHelper();
+    method public void addHelper(String, android.app.backup.BackupHelper);
+    method public void onBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method public void onRestore(android.app.backup.BackupDataInput, int, android.os.ParcelFileDescriptor) throws java.io.IOException;
+  }
+
+  public class BackupDataInput {
+    method public int getDataSize();
+    method public String getKey();
+    method public int readEntityData(byte[], int, int) throws java.io.IOException;
+    method public boolean readNextHeader() throws java.io.IOException;
+    method public void skipEntityData() throws java.io.IOException;
+  }
+
+  public class BackupDataInputStream extends java.io.InputStream {
+    method public String getKey();
+    method public int read() throws java.io.IOException;
+    method public int size();
+  }
+
+  public class BackupDataOutput {
+    method public long getQuota();
+    method public int getTransportFlags();
+    method public int writeEntityData(byte[], int) throws java.io.IOException;
+    method public int writeEntityHeader(String, int) throws java.io.IOException;
+  }
+
+  public interface BackupHelper {
+    method public void performBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor);
+    method public void restoreEntity(android.app.backup.BackupDataInputStream);
+    method public void writeNewStateDescription(android.os.ParcelFileDescriptor);
+  }
+
+  public class BackupManager {
+    ctor public BackupManager(android.content.Context);
+    method public void dataChanged();
+    method public static void dataChanged(String);
+    method @Nullable public android.os.UserHandle getUserForAncestralSerialNumber(long);
+    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver);
+  }
+
+  public class FileBackupHelper implements android.app.backup.BackupHelper {
+    ctor public FileBackupHelper(android.content.Context, java.lang.String...);
+    method public void performBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor);
+    method public void restoreEntity(android.app.backup.BackupDataInputStream);
+    method public void writeNewStateDescription(android.os.ParcelFileDescriptor);
+  }
+
+  public class FullBackupDataOutput {
+    method public long getQuota();
+    method public int getTransportFlags();
+  }
+
+  public abstract class RestoreObserver {
+    ctor public RestoreObserver();
+    method public void onUpdate(int, String);
+    method public void restoreFinished(int);
+    method public void restoreStarting(int);
+  }
+
+  public class SharedPreferencesBackupHelper implements android.app.backup.BackupHelper {
+    ctor public SharedPreferencesBackupHelper(android.content.Context, java.lang.String...);
+    method public void performBackup(android.os.ParcelFileDescriptor, android.app.backup.BackupDataOutput, android.os.ParcelFileDescriptor);
+    method public void restoreEntity(android.app.backup.BackupDataInputStream);
+    method public void writeNewStateDescription(android.os.ParcelFileDescriptor);
+  }
+
+}
+
+package android.app.blob {
+
+  public final class BlobHandle implements android.os.Parcelable {
+    method @NonNull public static android.app.blob.BlobHandle createWithSha256(@NonNull byte[], @NonNull CharSequence, long, @NonNull String);
+    method public int describeContents();
+    method public long getExpiryTimeMillis();
+    method @NonNull public CharSequence getLabel();
+    method @NonNull public byte[] getSha256Digest();
+    method @NonNull public String getTag();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.blob.BlobHandle> CREATOR;
+  }
+
+  public class BlobStoreManager {
+    method public void abandonSession(@IntRange(from=1) long) throws java.io.IOException;
+    method public void acquireLease(@NonNull android.app.blob.BlobHandle, @IdRes int, long) throws java.io.IOException;
+    method public void acquireLease(@NonNull android.app.blob.BlobHandle, @NonNull CharSequence, long) throws java.io.IOException;
+    method public void acquireLease(@NonNull android.app.blob.BlobHandle, @IdRes int) throws java.io.IOException;
+    method public void acquireLease(@NonNull android.app.blob.BlobHandle, @NonNull CharSequence) throws java.io.IOException;
+    method @IntRange(from=1) public long createSession(@NonNull android.app.blob.BlobHandle) throws java.io.IOException;
+    method @NonNull public java.util.List<android.app.blob.BlobHandle> getLeasedBlobs() throws java.io.IOException;
+    method @IntRange(from=0) public long getRemainingLeaseQuotaBytes();
+    method @NonNull public android.os.ParcelFileDescriptor openBlob(@NonNull android.app.blob.BlobHandle) throws java.io.IOException;
+    method @NonNull public android.app.blob.BlobStoreManager.Session openSession(@IntRange(from=1) long) throws java.io.IOException;
+    method public void releaseLease(@NonNull android.app.blob.BlobHandle) throws java.io.IOException;
+  }
+
+  public static class BlobStoreManager.Session implements java.io.Closeable {
+    method public void abandon() throws java.io.IOException;
+    method public void allowPackageAccess(@NonNull String, @NonNull byte[]) throws java.io.IOException;
+    method public void allowPublicAccess() throws java.io.IOException;
+    method public void allowSameSignatureAccess() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void commit(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>) throws java.io.IOException;
+    method public long getSize() throws java.io.IOException;
+    method public boolean isPackageAccessAllowed(@NonNull String, @NonNull byte[]) throws java.io.IOException;
+    method public boolean isPublicAccessAllowed() throws java.io.IOException;
+    method public boolean isSameSignatureAccessAllowed() throws java.io.IOException;
+    method @NonNull public android.os.ParcelFileDescriptor openRead() throws java.io.IOException;
+    method @NonNull public android.os.ParcelFileDescriptor openWrite(long, long) throws java.io.IOException;
+  }
+
+}
+
+package android.app.job {
+
+  public class JobInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getBackoffPolicy();
+    method @Nullable public android.content.ClipData getClipData();
+    method public int getClipGrantFlags();
+    method public long getEstimatedNetworkDownloadBytes();
+    method public long getEstimatedNetworkUploadBytes();
+    method @NonNull public android.os.PersistableBundle getExtras();
+    method public long getFlexMillis();
+    method public int getId();
+    method public long getInitialBackoffMillis();
+    method public long getIntervalMillis();
+    method public long getMaxExecutionDelayMillis();
+    method public static final long getMinFlexMillis();
+    method public long getMinLatencyMillis();
+    method public static final long getMinPeriodMillis();
+    method @Deprecated public int getNetworkType();
+    method @Nullable public android.net.NetworkRequest getRequiredNetwork();
+    method @NonNull public android.content.ComponentName getService();
+    method @NonNull public android.os.Bundle getTransientExtras();
+    method public long getTriggerContentMaxDelay();
+    method public long getTriggerContentUpdateDelay();
+    method @Nullable public android.app.job.JobInfo.TriggerContentUri[] getTriggerContentUris();
+    method public boolean isExpedited();
+    method public boolean isImportantWhileForeground();
+    method public boolean isPeriodic();
+    method public boolean isPersisted();
+    method public boolean isPrefetch();
+    method public boolean isRequireBatteryNotLow();
+    method public boolean isRequireCharging();
+    method public boolean isRequireDeviceIdle();
+    method public boolean isRequireStorageNotLow();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int BACKOFF_POLICY_EXPONENTIAL = 1; // 0x1
+    field public static final int BACKOFF_POLICY_LINEAR = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobInfo> CREATOR;
+    field public static final long DEFAULT_INITIAL_BACKOFF_MILLIS = 30000L; // 0x7530L
+    field public static final long MAX_BACKOFF_DELAY_MILLIS = 18000000L; // 0x112a880L
+    field public static final int NETWORK_BYTES_UNKNOWN = -1; // 0xffffffff
+    field public static final int NETWORK_TYPE_ANY = 1; // 0x1
+    field public static final int NETWORK_TYPE_CELLULAR = 4; // 0x4
+    field @Deprecated public static final int NETWORK_TYPE_METERED = 4; // 0x4
+    field public static final int NETWORK_TYPE_NONE = 0; // 0x0
+    field public static final int NETWORK_TYPE_NOT_ROAMING = 3; // 0x3
+    field public static final int NETWORK_TYPE_UNMETERED = 2; // 0x2
+  }
+
+  public static final class JobInfo.Builder {
+    ctor public JobInfo.Builder(int, @NonNull android.content.ComponentName);
+    method public android.app.job.JobInfo.Builder addTriggerContentUri(@NonNull android.app.job.JobInfo.TriggerContentUri);
+    method public android.app.job.JobInfo build();
+    method public android.app.job.JobInfo.Builder setBackoffCriteria(long, int);
+    method public android.app.job.JobInfo.Builder setClipData(@Nullable android.content.ClipData, int);
+    method public android.app.job.JobInfo.Builder setEstimatedNetworkBytes(long, long);
+    method @NonNull public android.app.job.JobInfo.Builder setExpedited(boolean);
+    method public android.app.job.JobInfo.Builder setExtras(@NonNull android.os.PersistableBundle);
+    method @Deprecated public android.app.job.JobInfo.Builder setImportantWhileForeground(boolean);
+    method public android.app.job.JobInfo.Builder setMinimumLatency(long);
+    method public android.app.job.JobInfo.Builder setOverrideDeadline(long);
+    method public android.app.job.JobInfo.Builder setPeriodic(long);
+    method public android.app.job.JobInfo.Builder setPeriodic(long, long);
+    method @RequiresPermission(android.Manifest.permission.RECEIVE_BOOT_COMPLETED) public android.app.job.JobInfo.Builder setPersisted(boolean);
+    method public android.app.job.JobInfo.Builder setPrefetch(boolean);
+    method public android.app.job.JobInfo.Builder setRequiredNetwork(@Nullable android.net.NetworkRequest);
+    method public android.app.job.JobInfo.Builder setRequiredNetworkType(int);
+    method public android.app.job.JobInfo.Builder setRequiresBatteryNotLow(boolean);
+    method public android.app.job.JobInfo.Builder setRequiresCharging(boolean);
+    method public android.app.job.JobInfo.Builder setRequiresDeviceIdle(boolean);
+    method public android.app.job.JobInfo.Builder setRequiresStorageNotLow(boolean);
+    method public android.app.job.JobInfo.Builder setTransientExtras(@NonNull android.os.Bundle);
+    method public android.app.job.JobInfo.Builder setTriggerContentMaxDelay(long);
+    method public android.app.job.JobInfo.Builder setTriggerContentUpdateDelay(long);
+  }
+
+  public static final class JobInfo.TriggerContentUri implements android.os.Parcelable {
+    ctor public JobInfo.TriggerContentUri(@NonNull android.net.Uri, int);
+    method public int describeContents();
+    method public int getFlags();
+    method public android.net.Uri getUri();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobInfo.TriggerContentUri> CREATOR;
+    field public static final int FLAG_NOTIFY_FOR_DESCENDANTS = 1; // 0x1
+  }
+
+  public class JobParameters implements android.os.Parcelable {
+    method public void completeWork(@NonNull android.app.job.JobWorkItem);
+    method @Nullable public android.app.job.JobWorkItem dequeueWork();
+    method public int describeContents();
+    method @Nullable public android.content.ClipData getClipData();
+    method public int getClipGrantFlags();
+    method @NonNull public android.os.PersistableBundle getExtras();
+    method public int getJobId();
+    method @Nullable public android.net.Network getNetwork();
+    method public int getStopReason();
+    method @NonNull public android.os.Bundle getTransientExtras();
+    method @Nullable public String[] getTriggeredContentAuthorities();
+    method @Nullable public android.net.Uri[] getTriggeredContentUris();
+    method public boolean isExpeditedJob();
+    method public boolean isOverrideDeadlineExpired();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobParameters> CREATOR;
+    field public static final int STOP_REASON_APP_STANDBY = 12; // 0xc
+    field public static final int STOP_REASON_BACKGROUND_RESTRICTION = 11; // 0xb
+    field public static final int STOP_REASON_CANCELLED_BY_APP = 1; // 0x1
+    field public static final int STOP_REASON_CONSTRAINT_BATTERY_NOT_LOW = 5; // 0x5
+    field public static final int STOP_REASON_CONSTRAINT_CHARGING = 6; // 0x6
+    field public static final int STOP_REASON_CONSTRAINT_CONNECTIVITY = 7; // 0x7
+    field public static final int STOP_REASON_CONSTRAINT_DEVICE_IDLE = 8; // 0x8
+    field public static final int STOP_REASON_CONSTRAINT_STORAGE_NOT_LOW = 9; // 0x9
+    field public static final int STOP_REASON_DEVICE_STATE = 4; // 0x4
+    field public static final int STOP_REASON_PREEMPT = 2; // 0x2
+    field public static final int STOP_REASON_QUOTA = 10; // 0xa
+    field public static final int STOP_REASON_SYSTEM_PROCESSING = 14; // 0xe
+    field public static final int STOP_REASON_TIMEOUT = 3; // 0x3
+    field public static final int STOP_REASON_UNDEFINED = 0; // 0x0
+    field public static final int STOP_REASON_USER = 13; // 0xd
+  }
+
+  public abstract class JobScheduler {
+    ctor public JobScheduler();
+    method public abstract void cancel(int);
+    method public abstract void cancelAll();
+    method public abstract int enqueue(@NonNull android.app.job.JobInfo, @NonNull android.app.job.JobWorkItem);
+    method @NonNull public abstract java.util.List<android.app.job.JobInfo> getAllPendingJobs();
+    method @Nullable public abstract android.app.job.JobInfo getPendingJob(int);
+    method public abstract int schedule(@NonNull android.app.job.JobInfo);
+    field public static final int RESULT_FAILURE = 0; // 0x0
+    field public static final int RESULT_SUCCESS = 1; // 0x1
+  }
+
+  public abstract class JobService extends android.app.Service {
+    ctor public JobService();
+    method public final void jobFinished(android.app.job.JobParameters, boolean);
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract boolean onStartJob(android.app.job.JobParameters);
+    method public abstract boolean onStopJob(android.app.job.JobParameters);
+    field public static final String PERMISSION_BIND = "android.permission.BIND_JOB_SERVICE";
+  }
+
+  public abstract class JobServiceEngine {
+    ctor public JobServiceEngine(android.app.Service);
+    method public final android.os.IBinder getBinder();
+    method public void jobFinished(android.app.job.JobParameters, boolean);
+    method public abstract boolean onStartJob(android.app.job.JobParameters);
+    method public abstract boolean onStopJob(android.app.job.JobParameters);
+  }
+
+  public final class JobWorkItem implements android.os.Parcelable {
+    ctor public JobWorkItem(android.content.Intent);
+    ctor public JobWorkItem(android.content.Intent, long, long);
+    method public int describeContents();
+    method public int getDeliveryCount();
+    method public long getEstimatedNetworkDownloadBytes();
+    method public long getEstimatedNetworkUploadBytes();
+    method public android.content.Intent getIntent();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobWorkItem> CREATOR;
+  }
+
+}
+
+package android.app.people {
+
+  public final class ConversationStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getActivity();
+    method public int getAvailability();
+    method @Nullable public CharSequence getDescription();
+    method public long getEndTimeMillis();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @NonNull public String getId();
+    method public long getStartTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int ACTIVITY_ANNIVERSARY = 2; // 0x2
+    field public static final int ACTIVITY_AUDIO = 4; // 0x4
+    field public static final int ACTIVITY_BIRTHDAY = 1; // 0x1
+    field public static final int ACTIVITY_GAME = 6; // 0x6
+    field public static final int ACTIVITY_LOCATION = 7; // 0x7
+    field public static final int ACTIVITY_NEW_STORY = 3; // 0x3
+    field public static final int ACTIVITY_OTHER = 0; // 0x0
+    field public static final int ACTIVITY_UPCOMING_BIRTHDAY = 8; // 0x8
+    field public static final int ACTIVITY_VIDEO = 5; // 0x5
+    field public static final int AVAILABILITY_AVAILABLE = 0; // 0x0
+    field public static final int AVAILABILITY_BUSY = 1; // 0x1
+    field public static final int AVAILABILITY_OFFLINE = 2; // 0x2
+    field public static final int AVAILABILITY_UNKNOWN = -1; // 0xffffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.people.ConversationStatus> CREATOR;
+  }
+
+  public static final class ConversationStatus.Builder {
+    ctor public ConversationStatus.Builder(@NonNull String, @NonNull int);
+    method @NonNull public android.app.people.ConversationStatus build();
+    method @NonNull public android.app.people.ConversationStatus.Builder setAvailability(int);
+    method @NonNull public android.app.people.ConversationStatus.Builder setDescription(@Nullable CharSequence);
+    method @NonNull public android.app.people.ConversationStatus.Builder setEndTimeMillis(long);
+    method @NonNull public android.app.people.ConversationStatus.Builder setIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.people.ConversationStatus.Builder setStartTimeMillis(long);
+  }
+
+  public final class PeopleManager {
+    method public void addOrUpdateStatus(@NonNull String, @NonNull android.app.people.ConversationStatus);
+    method public void clearStatus(@NonNull String, @NonNull String);
+    method public void clearStatuses(@NonNull String);
+    method @NonNull public java.util.List<android.app.people.ConversationStatus> getStatuses(@NonNull String);
+  }
+
+}
+
+package android.app.role {
+
+  public final class RoleManager {
+    method @NonNull public android.content.Intent createRequestRoleIntent(@NonNull String);
+    method public boolean isRoleAvailable(@NonNull String);
+    method public boolean isRoleHeld(@NonNull String);
+    field public static final String ROLE_ASSISTANT = "android.app.role.ASSISTANT";
+    field public static final String ROLE_BROWSER = "android.app.role.BROWSER";
+    field public static final String ROLE_CALL_REDIRECTION = "android.app.role.CALL_REDIRECTION";
+    field public static final String ROLE_CALL_SCREENING = "android.app.role.CALL_SCREENING";
+    field public static final String ROLE_DIALER = "android.app.role.DIALER";
+    field public static final String ROLE_EMERGENCY = "android.app.role.EMERGENCY";
+    field public static final String ROLE_HOME = "android.app.role.HOME";
+    field public static final String ROLE_SMS = "android.app.role.SMS";
+  }
+
+}
+
+package android.app.slice {
+
+  public final class Slice implements android.os.Parcelable {
+    ctor protected Slice(android.os.Parcel);
+    method public int describeContents();
+    method public java.util.List<java.lang.String> getHints();
+    method public java.util.List<android.app.slice.SliceItem> getItems();
+    method @Nullable public android.app.slice.SliceSpec getSpec();
+    method public android.net.Uri getUri();
+    method public boolean isCallerNeeded();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.slice.Slice> CREATOR;
+    field public static final String EXTRA_RANGE_VALUE = "android.app.slice.extra.RANGE_VALUE";
+    field public static final String EXTRA_TOGGLE_STATE = "android.app.slice.extra.TOGGLE_STATE";
+    field public static final String HINT_ACTIONS = "actions";
+    field public static final String HINT_ERROR = "error";
+    field public static final String HINT_HORIZONTAL = "horizontal";
+    field public static final String HINT_KEYWORDS = "keywords";
+    field public static final String HINT_LARGE = "large";
+    field public static final String HINT_LAST_UPDATED = "last_updated";
+    field public static final String HINT_LIST = "list";
+    field public static final String HINT_LIST_ITEM = "list_item";
+    field public static final String HINT_NO_TINT = "no_tint";
+    field public static final String HINT_PARTIAL = "partial";
+    field public static final String HINT_PERMISSION_REQUEST = "permission_request";
+    field public static final String HINT_SEE_MORE = "see_more";
+    field public static final String HINT_SELECTED = "selected";
+    field public static final String HINT_SHORTCUT = "shortcut";
+    field public static final String HINT_SUMMARY = "summary";
+    field public static final String HINT_TITLE = "title";
+    field public static final String HINT_TTL = "ttl";
+    field public static final String SUBTYPE_COLOR = "color";
+    field public static final String SUBTYPE_CONTENT_DESCRIPTION = "content_description";
+    field public static final String SUBTYPE_LAYOUT_DIRECTION = "layout_direction";
+    field public static final String SUBTYPE_MAX = "max";
+    field public static final String SUBTYPE_MESSAGE = "message";
+    field public static final String SUBTYPE_MILLIS = "millis";
+    field public static final String SUBTYPE_PRIORITY = "priority";
+    field public static final String SUBTYPE_RANGE = "range";
+    field public static final String SUBTYPE_SOURCE = "source";
+    field public static final String SUBTYPE_TOGGLE = "toggle";
+    field public static final String SUBTYPE_VALUE = "value";
+  }
+
+  public static class Slice.Builder {
+    ctor public Slice.Builder(@NonNull android.net.Uri, android.app.slice.SliceSpec);
+    ctor public Slice.Builder(@NonNull android.app.slice.Slice.Builder);
+    method public android.app.slice.Slice.Builder addAction(@NonNull android.app.PendingIntent, @NonNull android.app.slice.Slice, @Nullable String);
+    method public android.app.slice.Slice.Builder addBundle(android.os.Bundle, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addHints(java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addIcon(android.graphics.drawable.Icon, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addInt(int, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addLong(long, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addRemoteInput(android.app.RemoteInput, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice.Builder addSubSlice(@NonNull android.app.slice.Slice, @Nullable String);
+    method public android.app.slice.Slice.Builder addText(CharSequence, @Nullable String, java.util.List<java.lang.String>);
+    method public android.app.slice.Slice build();
+    method public android.app.slice.Slice.Builder setCallerNeeded(boolean);
+  }
+
+  public final class SliceItem implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.app.PendingIntent getAction();
+    method public android.os.Bundle getBundle();
+    method public String getFormat();
+    method @NonNull public java.util.List<java.lang.String> getHints();
+    method public android.graphics.drawable.Icon getIcon();
+    method public int getInt();
+    method public long getLong();
+    method public android.app.RemoteInput getRemoteInput();
+    method public android.app.slice.Slice getSlice();
+    method public String getSubType();
+    method public CharSequence getText();
+    method public boolean hasHint(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.slice.SliceItem> CREATOR;
+    field public static final String FORMAT_ACTION = "action";
+    field public static final String FORMAT_BUNDLE = "bundle";
+    field public static final String FORMAT_IMAGE = "image";
+    field public static final String FORMAT_INT = "int";
+    field public static final String FORMAT_LONG = "long";
+    field public static final String FORMAT_REMOTE_INPUT = "input";
+    field public static final String FORMAT_SLICE = "slice";
+    field public static final String FORMAT_TEXT = "text";
+  }
+
+  public class SliceManager {
+    method @Nullable public android.app.slice.Slice bindSlice(@NonNull android.net.Uri, @NonNull java.util.Set<android.app.slice.SliceSpec>);
+    method @Nullable public android.app.slice.Slice bindSlice(@NonNull android.content.Intent, @NonNull java.util.Set<android.app.slice.SliceSpec>);
+    method public int checkSlicePermission(@NonNull android.net.Uri, int, int);
+    method @NonNull public java.util.List<android.net.Uri> getPinnedSlices();
+    method @NonNull public java.util.Set<android.app.slice.SliceSpec> getPinnedSpecs(android.net.Uri);
+    method @NonNull @WorkerThread public java.util.Collection<android.net.Uri> getSliceDescendants(@NonNull android.net.Uri);
+    method public void grantSlicePermission(@NonNull String, @NonNull android.net.Uri);
+    method @Nullable public android.net.Uri mapIntentToUri(@NonNull android.content.Intent);
+    method public void pinSlice(@NonNull android.net.Uri, @NonNull java.util.Set<android.app.slice.SliceSpec>);
+    method public void revokeSlicePermission(@NonNull String, @NonNull android.net.Uri);
+    method public void unpinSlice(@NonNull android.net.Uri);
+    field public static final String CATEGORY_SLICE = "android.app.slice.category.SLICE";
+    field public static final String SLICE_METADATA_KEY = "android.metadata.SLICE_URI";
+  }
+
+  public class SliceMetrics {
+    ctor public SliceMetrics(@NonNull android.content.Context, @NonNull android.net.Uri);
+    method public void logHidden();
+    method public void logTouch(int, @NonNull android.net.Uri);
+    method public void logVisible();
+  }
+
+  public abstract class SliceProvider extends android.content.ContentProvider {
+    ctor public SliceProvider(@NonNull java.lang.String...);
+    ctor public SliceProvider();
+    method public final int delete(android.net.Uri, String, String[]);
+    method public final String getType(android.net.Uri);
+    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+    method public android.app.slice.Slice onBindSlice(android.net.Uri, java.util.Set<android.app.slice.SliceSpec>);
+    method @NonNull public android.app.PendingIntent onCreatePermissionRequest(android.net.Uri);
+    method @NonNull public java.util.Collection<android.net.Uri> onGetSliceDescendants(@NonNull android.net.Uri);
+    method @NonNull public android.net.Uri onMapIntentToUri(android.content.Intent);
+    method public void onSlicePinned(android.net.Uri);
+    method public void onSliceUnpinned(android.net.Uri);
+    method public final android.database.Cursor query(android.net.Uri, String[], String, String[], String);
+    method public final android.database.Cursor query(android.net.Uri, String[], String, String[], String, android.os.CancellationSignal);
+    method public final android.database.Cursor query(android.net.Uri, String[], android.os.Bundle, android.os.CancellationSignal);
+    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
+    field public static final String SLICE_TYPE = "vnd.android.slice";
+  }
+
+  public final class SliceSpec implements android.os.Parcelable {
+    ctor public SliceSpec(@NonNull String, int);
+    method public boolean canRender(@NonNull android.app.slice.SliceSpec);
+    method public int describeContents();
+    method public int getRevision();
+    method public String getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.slice.SliceSpec> CREATOR;
+  }
+
+}
+
+package android.app.usage {
+
+  public final class ConfigurationStats implements android.os.Parcelable {
+    ctor public ConfigurationStats(android.app.usage.ConfigurationStats);
+    method public int describeContents();
+    method public int getActivationCount();
+    method public android.content.res.Configuration getConfiguration();
+    method public long getFirstTimeStamp();
+    method public long getLastTimeActive();
+    method public long getLastTimeStamp();
+    method public long getTotalTimeActive();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.ConfigurationStats> CREATOR;
+  }
+
+  public final class EventStats implements android.os.Parcelable {
+    ctor public EventStats(android.app.usage.EventStats);
+    method public void add(android.app.usage.EventStats);
+    method public int describeContents();
+    method public int getCount();
+    method public int getEventType();
+    method public long getFirstTimeStamp();
+    method public long getLastEventTime();
+    method public long getLastTimeStamp();
+    method public long getTotalTime();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.EventStats> CREATOR;
+  }
+
+  public final class ExternalStorageStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getAppBytes();
+    method public long getAudioBytes();
+    method public long getImageBytes();
+    method public long getTotalBytes();
+    method public long getVideoBytes();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.ExternalStorageStats> CREATOR;
+  }
+
+  public final class NetworkStats implements java.lang.AutoCloseable {
+    method public void close();
+    method public boolean getNextBucket(android.app.usage.NetworkStats.Bucket);
+    method public boolean hasNextBucket();
+  }
+
+  public static class NetworkStats.Bucket {
+    ctor public NetworkStats.Bucket();
+    method public int getDefaultNetworkStatus();
+    method public long getEndTimeStamp();
+    method public int getMetered();
+    method public int getRoaming();
+    method public long getRxBytes();
+    method public long getRxPackets();
+    method public long getStartTimeStamp();
+    method public int getState();
+    method public int getTag();
+    method public long getTxBytes();
+    method public long getTxPackets();
+    method public int getUid();
+    field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
+    field public static final int DEFAULT_NETWORK_NO = 1; // 0x1
+    field public static final int DEFAULT_NETWORK_YES = 2; // 0x2
+    field public static final int METERED_ALL = -1; // 0xffffffff
+    field public static final int METERED_NO = 1; // 0x1
+    field public static final int METERED_YES = 2; // 0x2
+    field public static final int ROAMING_ALL = -1; // 0xffffffff
+    field public static final int ROAMING_NO = 1; // 0x1
+    field public static final int ROAMING_YES = 2; // 0x2
+    field public static final int STATE_ALL = -1; // 0xffffffff
+    field public static final int STATE_DEFAULT = 1; // 0x1
+    field public static final int STATE_FOREGROUND = 2; // 0x2
+    field public static final int TAG_NONE = 0; // 0x0
+    field public static final int UID_ALL = -1; // 0xffffffff
+    field public static final int UID_REMOVED = -4; // 0xfffffffc
+    field public static final int UID_TETHERING = -5; // 0xfffffffb
+  }
+
+  public class NetworkStatsManager {
+    method @WorkerThread public android.app.usage.NetworkStats queryDetails(int, String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats queryDetailsForUid(int, String, long, long, int) throws java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTag(int, String, long, long, int, int) throws java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats queryDetailsForUidTagState(int, String, long, long, int, int, int) throws java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats querySummary(int, String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForDevice(int, String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
+    method @WorkerThread public android.app.usage.NetworkStats.Bucket querySummaryForUser(int, String, long, long) throws android.os.RemoteException, java.lang.SecurityException;
+    method public void registerUsageCallback(int, String, long, android.app.usage.NetworkStatsManager.UsageCallback);
+    method public void registerUsageCallback(int, String, long, android.app.usage.NetworkStatsManager.UsageCallback, @Nullable android.os.Handler);
+    method public void unregisterUsageCallback(android.app.usage.NetworkStatsManager.UsageCallback);
+  }
+
+  public abstract static class NetworkStatsManager.UsageCallback {
+    ctor public NetworkStatsManager.UsageCallback();
+    method public abstract void onThresholdReached(int, String);
+  }
+
+  public final class StorageStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getAppBytes();
+    method public long getCacheBytes();
+    method public long getDataBytes();
+    method public long getExternalCacheBytes();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.StorageStats> CREATOR;
+  }
+
+  public class StorageStatsManager {
+    method @WorkerThread public long getFreeBytes(@NonNull java.util.UUID) throws java.io.IOException;
+    method @WorkerThread public long getTotalBytes(@NonNull java.util.UUID) throws java.io.IOException;
+    method @NonNull @WorkerThread public android.app.usage.ExternalStorageStats queryExternalStatsForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle) throws java.io.IOException;
+    method @NonNull @WorkerThread public android.app.usage.StorageStats queryStatsForPackage(@NonNull java.util.UUID, @NonNull String, @NonNull android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @WorkerThread public android.app.usage.StorageStats queryStatsForUid(@NonNull java.util.UUID, int) throws java.io.IOException;
+    method @NonNull @WorkerThread public android.app.usage.StorageStats queryStatsForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle) throws java.io.IOException;
+  }
+
+  public final class UsageEvents implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getNextEvent(android.app.usage.UsageEvents.Event);
+    method public boolean hasNextEvent();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.UsageEvents> CREATOR;
+  }
+
+  public static final class UsageEvents.Event {
+    ctor public UsageEvents.Event();
+    method public int getAppStandbyBucket();
+    method public String getClassName();
+    method public android.content.res.Configuration getConfiguration();
+    method public int getEventType();
+    method public String getPackageName();
+    method public String getShortcutId();
+    method public long getTimeStamp();
+    field public static final int ACTIVITY_PAUSED = 2; // 0x2
+    field public static final int ACTIVITY_RESUMED = 1; // 0x1
+    field public static final int ACTIVITY_STOPPED = 23; // 0x17
+    field public static final int CONFIGURATION_CHANGE = 5; // 0x5
+    field public static final int DEVICE_SHUTDOWN = 26; // 0x1a
+    field public static final int DEVICE_STARTUP = 27; // 0x1b
+    field public static final int FOREGROUND_SERVICE_START = 19; // 0x13
+    field public static final int FOREGROUND_SERVICE_STOP = 20; // 0x14
+    field public static final int KEYGUARD_HIDDEN = 18; // 0x12
+    field public static final int KEYGUARD_SHOWN = 17; // 0x11
+    field @Deprecated public static final int MOVE_TO_BACKGROUND = 2; // 0x2
+    field @Deprecated public static final int MOVE_TO_FOREGROUND = 1; // 0x1
+    field public static final int NONE = 0; // 0x0
+    field public static final int SCREEN_INTERACTIVE = 15; // 0xf
+    field public static final int SCREEN_NON_INTERACTIVE = 16; // 0x10
+    field public static final int SHORTCUT_INVOCATION = 8; // 0x8
+    field public static final int STANDBY_BUCKET_CHANGED = 11; // 0xb
+    field public static final int USER_INTERACTION = 7; // 0x7
+  }
+
+  public final class UsageStats implements android.os.Parcelable {
+    ctor public UsageStats(android.app.usage.UsageStats);
+    method public void add(android.app.usage.UsageStats);
+    method public int describeContents();
+    method public long getFirstTimeStamp();
+    method public long getLastTimeForegroundServiceUsed();
+    method public long getLastTimeStamp();
+    method public long getLastTimeUsed();
+    method public long getLastTimeVisible();
+    method public String getPackageName();
+    method public long getTotalTimeForegroundServiceUsed();
+    method public long getTotalTimeInForeground();
+    method public long getTotalTimeVisible();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.UsageStats> CREATOR;
+  }
+
+  public final class UsageStatsManager {
+    method public int getAppStandbyBucket();
+    method public boolean isAppInactive(String);
+    method public java.util.Map<java.lang.String,android.app.usage.UsageStats> queryAndAggregateUsageStats(long, long);
+    method public java.util.List<android.app.usage.ConfigurationStats> queryConfigurations(int, long, long);
+    method public java.util.List<android.app.usage.EventStats> queryEventStats(int, long, long);
+    method public android.app.usage.UsageEvents queryEvents(long, long);
+    method public android.app.usage.UsageEvents queryEventsForSelf(long, long);
+    method public java.util.List<android.app.usage.UsageStats> queryUsageStats(int, long, long);
+    field public static final int INTERVAL_BEST = 4; // 0x4
+    field public static final int INTERVAL_DAILY = 0; // 0x0
+    field public static final int INTERVAL_MONTHLY = 2; // 0x2
+    field public static final int INTERVAL_WEEKLY = 1; // 0x1
+    field public static final int INTERVAL_YEARLY = 3; // 0x3
+    field public static final int STANDBY_BUCKET_ACTIVE = 10; // 0xa
+    field public static final int STANDBY_BUCKET_FREQUENT = 30; // 0x1e
+    field public static final int STANDBY_BUCKET_RARE = 40; // 0x28
+    field public static final int STANDBY_BUCKET_RESTRICTED = 45; // 0x2d
+    field public static final int STANDBY_BUCKET_WORKING_SET = 20; // 0x14
+  }
+
+}
+
+package android.appwidget {
+
+  public class AppWidgetHost {
+    ctor public AppWidgetHost(android.content.Context, int);
+    method public int allocateAppWidgetId();
+    method protected void clearViews();
+    method public final android.appwidget.AppWidgetHostView createView(android.content.Context, int, android.appwidget.AppWidgetProviderInfo);
+    method public static void deleteAllHosts();
+    method public void deleteAppWidgetId(int);
+    method public void deleteHost();
+    method public int[] getAppWidgetIds();
+    method public void onAppWidgetRemoved(int);
+    method protected android.appwidget.AppWidgetHostView onCreateView(android.content.Context, int, android.appwidget.AppWidgetProviderInfo);
+    method protected void onProviderChanged(int, android.appwidget.AppWidgetProviderInfo);
+    method protected void onProvidersChanged();
+    method public final void startAppWidgetConfigureActivityForResult(@NonNull android.app.Activity, int, int, int, @Nullable android.os.Bundle);
+    method public void startListening();
+    method public void stopListening();
+  }
+
+  public class AppWidgetHostView extends android.widget.FrameLayout {
+    ctor public AppWidgetHostView(android.content.Context);
+    ctor public AppWidgetHostView(android.content.Context, int, int);
+    method public int getAppWidgetId();
+    method public android.appwidget.AppWidgetProviderInfo getAppWidgetInfo();
+    method public static android.graphics.Rect getDefaultPaddingForWidget(android.content.Context, android.content.ComponentName, android.graphics.Rect);
+    method protected android.view.View getDefaultView();
+    method protected android.view.View getErrorView();
+    method protected void prepareView(android.view.View);
+    method public void resetColorResources();
+    method public void setAppWidget(int, android.appwidget.AppWidgetProviderInfo);
+    method public void setColorResources(@NonNull android.util.SparseIntArray);
+    method public void setExecutor(java.util.concurrent.Executor);
+    method public void setOnLightBackground(boolean);
+    method public void updateAppWidget(android.widget.RemoteViews);
+    method public void updateAppWidgetOptions(android.os.Bundle);
+    method @Deprecated public void updateAppWidgetSize(android.os.Bundle, int, int, int, int);
+    method public void updateAppWidgetSize(@NonNull android.os.Bundle, @NonNull java.util.List<android.util.SizeF>);
+  }
+
+  public class AppWidgetManager {
+    method public boolean bindAppWidgetIdIfAllowed(int, android.content.ComponentName);
+    method public boolean bindAppWidgetIdIfAllowed(int, android.content.ComponentName, android.os.Bundle);
+    method public boolean bindAppWidgetIdIfAllowed(int, android.os.UserHandle, android.content.ComponentName, android.os.Bundle);
+    method public int[] getAppWidgetIds(android.content.ComponentName);
+    method public android.appwidget.AppWidgetProviderInfo getAppWidgetInfo(int);
+    method public android.os.Bundle getAppWidgetOptions(int);
+    method public java.util.List<android.appwidget.AppWidgetProviderInfo> getInstalledProviders();
+    method @NonNull public java.util.List<android.appwidget.AppWidgetProviderInfo> getInstalledProvidersForPackage(@NonNull String, @Nullable android.os.UserHandle);
+    method @NonNull public java.util.List<android.appwidget.AppWidgetProviderInfo> getInstalledProvidersForProfile(@Nullable android.os.UserHandle);
+    method public static android.appwidget.AppWidgetManager getInstance(android.content.Context);
+    method public boolean isRequestPinAppWidgetSupported();
+    method public void notifyAppWidgetViewDataChanged(int[], int);
+    method public void notifyAppWidgetViewDataChanged(int, int);
+    method public void partiallyUpdateAppWidget(int[], android.widget.RemoteViews);
+    method public void partiallyUpdateAppWidget(int, android.widget.RemoteViews);
+    method public boolean requestPinAppWidget(@NonNull android.content.ComponentName, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent);
+    method public void updateAppWidget(int[], android.widget.RemoteViews);
+    method public void updateAppWidget(int, android.widget.RemoteViews);
+    method public void updateAppWidget(android.content.ComponentName, android.widget.RemoteViews);
+    method public void updateAppWidgetOptions(int, android.os.Bundle);
+    method public void updateAppWidgetProviderInfo(android.content.ComponentName, @Nullable String);
+    field public static final String ACTION_APPWIDGET_BIND = "android.appwidget.action.APPWIDGET_BIND";
+    field public static final String ACTION_APPWIDGET_CONFIGURE = "android.appwidget.action.APPWIDGET_CONFIGURE";
+    field public static final String ACTION_APPWIDGET_DELETED = "android.appwidget.action.APPWIDGET_DELETED";
+    field public static final String ACTION_APPWIDGET_DISABLED = "android.appwidget.action.APPWIDGET_DISABLED";
+    field public static final String ACTION_APPWIDGET_ENABLED = "android.appwidget.action.APPWIDGET_ENABLED";
+    field public static final String ACTION_APPWIDGET_HOST_RESTORED = "android.appwidget.action.APPWIDGET_HOST_RESTORED";
+    field public static final String ACTION_APPWIDGET_OPTIONS_CHANGED = "android.appwidget.action.APPWIDGET_UPDATE_OPTIONS";
+    field public static final String ACTION_APPWIDGET_PICK = "android.appwidget.action.APPWIDGET_PICK";
+    field public static final String ACTION_APPWIDGET_RESTORED = "android.appwidget.action.APPWIDGET_RESTORED";
+    field public static final String ACTION_APPWIDGET_UPDATE = "android.appwidget.action.APPWIDGET_UPDATE";
+    field public static final String EXTRA_APPWIDGET_ID = "appWidgetId";
+    field public static final String EXTRA_APPWIDGET_IDS = "appWidgetIds";
+    field public static final String EXTRA_APPWIDGET_OLD_IDS = "appWidgetOldIds";
+    field public static final String EXTRA_APPWIDGET_OPTIONS = "appWidgetOptions";
+    field public static final String EXTRA_APPWIDGET_PREVIEW = "appWidgetPreview";
+    field public static final String EXTRA_APPWIDGET_PROVIDER = "appWidgetProvider";
+    field public static final String EXTRA_APPWIDGET_PROVIDER_PROFILE = "appWidgetProviderProfile";
+    field public static final String EXTRA_CUSTOM_EXTRAS = "customExtras";
+    field public static final String EXTRA_CUSTOM_INFO = "customInfo";
+    field public static final String EXTRA_HOST_ID = "hostId";
+    field public static final int INVALID_APPWIDGET_ID = 0; // 0x0
+    field public static final String META_DATA_APPWIDGET_PROVIDER = "android.appwidget.provider";
+    field public static final String OPTION_APPWIDGET_HOST_CATEGORY = "appWidgetCategory";
+    field public static final String OPTION_APPWIDGET_MAX_HEIGHT = "appWidgetMaxHeight";
+    field public static final String OPTION_APPWIDGET_MAX_WIDTH = "appWidgetMaxWidth";
+    field public static final String OPTION_APPWIDGET_MIN_HEIGHT = "appWidgetMinHeight";
+    field public static final String OPTION_APPWIDGET_MIN_WIDTH = "appWidgetMinWidth";
+    field public static final String OPTION_APPWIDGET_RESTORE_COMPLETED = "appWidgetRestoreCompleted";
+    field public static final String OPTION_APPWIDGET_SIZES = "appWidgetSizes";
+  }
+
+  public class AppWidgetProvider extends android.content.BroadcastReceiver {
+    ctor public AppWidgetProvider();
+    method public void onAppWidgetOptionsChanged(android.content.Context, android.appwidget.AppWidgetManager, int, android.os.Bundle);
+    method public void onDeleted(android.content.Context, int[]);
+    method public void onDisabled(android.content.Context);
+    method public void onEnabled(android.content.Context);
+    method public void onReceive(android.content.Context, android.content.Intent);
+    method public void onRestored(android.content.Context, int[], int[]);
+    method public void onUpdate(android.content.Context, android.appwidget.AppWidgetManager, int[]);
+  }
+
+  public class AppWidgetProviderInfo implements android.os.Parcelable {
+    ctor public AppWidgetProviderInfo();
+    ctor public AppWidgetProviderInfo(android.os.Parcel);
+    method public android.appwidget.AppWidgetProviderInfo clone();
+    method public int describeContents();
+    method @NonNull public android.content.pm.ActivityInfo getActivityInfo();
+    method public final android.os.UserHandle getProfile();
+    method @Nullable public final CharSequence loadDescription(@NonNull android.content.Context);
+    method public final android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
+    method public final String loadLabel(android.content.pm.PackageManager);
+    method public final android.graphics.drawable.Drawable loadPreviewImage(@NonNull android.content.Context, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.appwidget.AppWidgetProviderInfo> CREATOR;
+    field public static final int RESIZE_BOTH = 3; // 0x3
+    field public static final int RESIZE_HORIZONTAL = 1; // 0x1
+    field public static final int RESIZE_NONE = 0; // 0x0
+    field public static final int RESIZE_VERTICAL = 2; // 0x2
+    field public static final int WIDGET_CATEGORY_HOME_SCREEN = 1; // 0x1
+    field public static final int WIDGET_CATEGORY_KEYGUARD = 2; // 0x2
+    field public static final int WIDGET_CATEGORY_SEARCHBOX = 4; // 0x4
+    field public static final int WIDGET_FEATURE_CONFIGURATION_OPTIONAL = 4; // 0x4
+    field public static final int WIDGET_FEATURE_HIDE_FROM_PICKER = 2; // 0x2
+    field public static final int WIDGET_FEATURE_RECONFIGURABLE = 1; // 0x1
+    field public int autoAdvanceViewId;
+    field public android.content.ComponentName configure;
+    field @IdRes public int descriptionRes;
+    field public int icon;
+    field public int initialKeyguardLayout;
+    field public int initialLayout;
+    field @Deprecated public String label;
+    field public int maxResizeHeight;
+    field public int maxResizeWidth;
+    field public int minHeight;
+    field public int minResizeHeight;
+    field public int minResizeWidth;
+    field public int minWidth;
+    field public int previewImage;
+    field @IdRes public int previewLayout;
+    field public android.content.ComponentName provider;
+    field public int resizeMode;
+    field public int targetCellHeight;
+    field public int targetCellWidth;
+    field public int updatePeriodMillis;
+    field public int widgetCategory;
+    field public int widgetFeatures;
+  }
+
+}
+
+package android.bluetooth {
+
+  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
+    method public void finalize();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isA2dpPlaying(android.bluetooth.BluetoothDevice);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.CONNECTION_STATE_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PLAYING_STATE_CHANGED = "android.bluetooth.a2dp.profile.action.PLAYING_STATE_CHANGED";
+    field public static final int STATE_NOT_PLAYING = 11; // 0xb
+    field public static final int STATE_PLAYING = 10; // 0xa
+  }
+
+  public final class BluetoothAdapter {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean cancelDiscovery();
+    method public static boolean checkBluetoothAddress(String);
+    method public void closeProfileProxy(int, android.bluetooth.BluetoothProfile);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disable();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enable();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, "android.permission.LOCAL_MAC_ADDRESS"}) public String getAddress();
+    method public android.bluetooth.le.BluetoothLeAdvertiser getBluetoothLeAdvertiser();
+    method public android.bluetooth.le.BluetoothLeScanner getBluetoothLeScanner();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.Set<android.bluetooth.BluetoothDevice> getBondedDevices();
+    method @Deprecated public static android.bluetooth.BluetoothAdapter getDefaultAdapter();
+    method public int getLeMaximumAdvertisingDataLength();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getName();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getProfileConnectionState(int);
+    method public boolean getProfileProxy(android.content.Context, android.bluetooth.BluetoothProfile.ServiceListener, int);
+    method public android.bluetooth.BluetoothDevice getRemoteDevice(String);
+    method public android.bluetooth.BluetoothDevice getRemoteDevice(byte[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public int getScanMode();
+    method public int getState();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean isDiscovering();
+    method public boolean isEnabled();
+    method public boolean isLe2MPhySupported();
+    method public boolean isLeCodedPhySupported();
+    method public boolean isLeExtendedAdvertisingSupported();
+    method public boolean isLePeriodicAdvertisingSupported();
+    method public boolean isMultipleAdvertisementSupported();
+    method public boolean isOffloadedFilteringSupported();
+    method public boolean isOffloadedScanBatchingSupported();
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingInsecureL2capChannel() throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingInsecureRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingL2capChannel() throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothServerSocket listenUsingRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setName(String);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startDiscovery();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public boolean startLeScan(java.util.UUID[], android.bluetooth.BluetoothAdapter.LeScanCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopLeScan(android.bluetooth.BluetoothAdapter.LeScanCallback);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_DISCOVERY_FINISHED = "android.bluetooth.adapter.action.DISCOVERY_FINISHED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_DISCOVERY_STARTED = "android.bluetooth.adapter.action.DISCOVERY_STARTED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LOCAL_NAME_CHANGED = "android.bluetooth.adapter.action.LOCAL_NAME_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public static final String ACTION_REQUEST_DISCOVERABLE = "android.bluetooth.adapter.action.REQUEST_DISCOVERABLE";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_ENABLE = "android.bluetooth.adapter.action.REQUEST_ENABLE";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_SCAN_MODE_CHANGED = "android.bluetooth.adapter.action.SCAN_MODE_CHANGED";
+    field public static final String ACTION_STATE_CHANGED = "android.bluetooth.adapter.action.STATE_CHANGED";
+    field public static final int ERROR = -2147483648; // 0x80000000
+    field public static final String EXTRA_CONNECTION_STATE = "android.bluetooth.adapter.extra.CONNECTION_STATE";
+    field public static final String EXTRA_DISCOVERABLE_DURATION = "android.bluetooth.adapter.extra.DISCOVERABLE_DURATION";
+    field public static final String EXTRA_LOCAL_NAME = "android.bluetooth.adapter.extra.LOCAL_NAME";
+    field public static final String EXTRA_PREVIOUS_CONNECTION_STATE = "android.bluetooth.adapter.extra.PREVIOUS_CONNECTION_STATE";
+    field public static final String EXTRA_PREVIOUS_SCAN_MODE = "android.bluetooth.adapter.extra.PREVIOUS_SCAN_MODE";
+    field public static final String EXTRA_PREVIOUS_STATE = "android.bluetooth.adapter.extra.PREVIOUS_STATE";
+    field public static final String EXTRA_SCAN_MODE = "android.bluetooth.adapter.extra.SCAN_MODE";
+    field public static final String EXTRA_STATE = "android.bluetooth.adapter.extra.STATE";
+    field public static final int SCAN_MODE_CONNECTABLE = 21; // 0x15
+    field public static final int SCAN_MODE_CONNECTABLE_DISCOVERABLE = 23; // 0x17
+    field public static final int SCAN_MODE_NONE = 20; // 0x14
+    field public static final int STATE_CONNECTED = 2; // 0x2
+    field public static final int STATE_CONNECTING = 1; // 0x1
+    field public static final int STATE_DISCONNECTED = 0; // 0x0
+    field public static final int STATE_DISCONNECTING = 3; // 0x3
+    field public static final int STATE_OFF = 10; // 0xa
+    field public static final int STATE_ON = 12; // 0xc
+    field public static final int STATE_TURNING_OFF = 13; // 0xd
+    field public static final int STATE_TURNING_ON = 11; // 0xb
+  }
+
+  public static interface BluetoothAdapter.LeScanCallback {
+    method public void onLeScan(android.bluetooth.BluetoothDevice, int, byte[]);
+  }
+
+  public class BluetoothAssignedNumbers {
+    field public static final int AAMP_OF_AMERICA = 190; // 0xbe
+    field public static final int ACCEL_SEMICONDUCTOR = 74; // 0x4a
+    field public static final int ACE_SENSOR = 188; // 0xbc
+    field public static final int ADIDAS = 195; // 0xc3
+    field public static final int ADVANCED_PANMOBIL_SYSTEMS = 145; // 0x91
+    field public static final int AIROHA_TECHNOLOGY = 148; // 0x94
+    field public static final int ALCATEL = 36; // 0x24
+    field public static final int ALPWISE = 154; // 0x9a
+    field public static final int AMICCOM_ELECTRONICS = 192; // 0xc0
+    field public static final int APLIX = 189; // 0xbd
+    field public static final int APPLE = 76; // 0x4c
+    field public static final int APT_LICENSING = 79; // 0x4f
+    field public static final int ARCHOS = 207; // 0xcf
+    field public static final int ARP_DEVICES = 168; // 0xa8
+    field public static final int ATHEROS_COMMUNICATIONS = 69; // 0x45
+    field public static final int ATMEL = 19; // 0x13
+    field public static final int AUSTCO_COMMUNICATION_SYSTEMS = 213; // 0xd5
+    field public static final int AUTONET_MOBILE = 127; // 0x7f
+    field public static final int AVAGO = 78; // 0x4e
+    field public static final int AVM_BERLIN = 31; // 0x1f
+    field public static final int A_AND_D_ENGINEERING = 105; // 0x69
+    field public static final int A_AND_R_CAMBRIDGE = 124; // 0x7c
+    field public static final int BANDSPEED = 32; // 0x20
+    field public static final int BAND_XI_INTERNATIONAL = 100; // 0x64
+    field public static final int BDE_TECHNOLOGY = 180; // 0xb4
+    field public static final int BEATS_ELECTRONICS = 204; // 0xcc
+    field public static final int BEAUTIFUL_ENTERPRISE = 108; // 0x6c
+    field public static final int BEKEY = 178; // 0xb2
+    field public static final int BELKIN_INTERNATIONAL = 92; // 0x5c
+    field public static final int BINAURIC = 203; // 0xcb
+    field public static final int BIOSENTRONICS = 219; // 0xdb
+    field public static final int BLUEGIGA = 71; // 0x47
+    field public static final int BLUERADIOS = 133; // 0x85
+    field public static final int BLUETOOTH_SIG = 63; // 0x3f
+    field public static final int BLUETREK_TECHNOLOGIES = 151; // 0x97
+    field public static final int BOSE = 158; // 0x9e
+    field public static final int BRIARTEK = 109; // 0x6d
+    field public static final int BROADCOM = 15; // 0xf
+    field public static final int CAEN_RFID = 170; // 0xaa
+    field public static final int CAMBRIDGE_SILICON_RADIO = 10; // 0xa
+    field public static final int CATC = 52; // 0x34
+    field public static final int CINETIX = 175; // 0xaf
+    field public static final int CLARINOX_TECHNOLOGIES = 179; // 0xb3
+    field public static final int COLORFY = 156; // 0x9c
+    field public static final int COMMIL = 51; // 0x33
+    field public static final int CONEXANT_SYSTEMS = 28; // 0x1c
+    field public static final int CONNECTBLUE = 113; // 0x71
+    field public static final int CONTINENTAL_AUTOMOTIVE = 75; // 0x4b
+    field public static final int CONWISE_TECHNOLOGY = 66; // 0x42
+    field public static final int CREATIVE_TECHNOLOGY = 118; // 0x76
+    field public static final int C_TECHNOLOGIES = 38; // 0x26
+    field public static final int DANLERS = 225; // 0xe1
+    field public static final int DELORME_PUBLISHING_COMPANY = 128; // 0x80
+    field public static final int DEXCOM = 208; // 0xd0
+    field public static final int DIALOG_SEMICONDUCTOR = 210; // 0xd2
+    field public static final int DIGIANSWER = 12; // 0xc
+    field public static final int ECLIPSE = 53; // 0x35
+    field public static final int ECOTEST = 136; // 0x88
+    field public static final int ELGATO_SYSTEMS = 206; // 0xce
+    field public static final int EM_MICROELECTRONIC_MARIN = 90; // 0x5a
+    field public static final int EQUINOX_AG = 134; // 0x86
+    field public static final int ERICSSON_TECHNOLOGY = 0; // 0x0
+    field public static final int EVLUMA = 201; // 0xc9
+    field public static final int FREE2MOVE = 83; // 0x53
+    field public static final int FUNAI_ELECTRIC = 144; // 0x90
+    field public static final int GARMIN_INTERNATIONAL = 135; // 0x87
+    field public static final int GCT_SEMICONDUCTOR = 45; // 0x2d
+    field public static final int GELO = 200; // 0xc8
+    field public static final int GENEQ = 194; // 0xc2
+    field public static final int GENERAL_MOTORS = 104; // 0x68
+    field public static final int GENNUM = 59; // 0x3b
+    field public static final int GEOFORCE = 157; // 0x9d
+    field public static final int GIBSON_GUITARS = 98; // 0x62
+    field public static final int GN_NETCOM = 103; // 0x67
+    field public static final int GN_RESOUND = 137; // 0x89
+    field public static final int GOOGLE = 224; // 0xe0
+    field public static final int GREEN_THROTTLE_GAMES = 172; // 0xac
+    field public static final int GROUP_SENSE = 115; // 0x73
+    field public static final int HANLYNN_TECHNOLOGIES = 123; // 0x7b
+    field public static final int HARMAN_INTERNATIONAL = 87; // 0x57
+    field public static final int HEWLETT_PACKARD = 101; // 0x65
+    field public static final int HITACHI = 41; // 0x29
+    field public static final int HOSIDEN = 221; // 0xdd
+    field public static final int IBM = 3; // 0x3
+    field public static final int INFINEON_TECHNOLOGIES = 9; // 0x9
+    field public static final int INGENIEUR_SYSTEMGRUPPE_ZAHN = 171; // 0xab
+    field public static final int INTEGRATED_SILICON_SOLUTION = 65; // 0x41
+    field public static final int INTEGRATED_SYSTEM_SOLUTION = 57; // 0x39
+    field public static final int INTEL = 2; // 0x2
+    field public static final int INVENTEL = 30; // 0x1e
+    field public static final int IPEXTREME = 61; // 0x3d
+    field public static final int I_TECH_DYNAMIC_GLOBAL_DISTRIBUTION = 153; // 0x99
+    field public static final int JAWBONE = 138; // 0x8a
+    field public static final int JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS = 155; // 0x9b
+    field public static final int JOHNSON_CONTROLS = 185; // 0xb9
+    field public static final int J_AND_M = 82; // 0x52
+    field public static final int KAWANTECH = 212; // 0xd4
+    field public static final int KC_TECHNOLOGY = 22; // 0x16
+    field public static final int KENSINGTON_COMPUTER_PRODUCTS_GROUP = 160; // 0xa0
+    field public static final int LAIRD_TECHNOLOGIES = 119; // 0x77
+    field public static final int LESSWIRE = 121; // 0x79
+    field public static final int LG_ELECTRONICS = 196; // 0xc4
+    field public static final int LINAK = 164; // 0xa4
+    field public static final int LUCENT = 7; // 0x7
+    field public static final int LUDUS_HELSINKI = 132; // 0x84
+    field public static final int MACRONIX = 44; // 0x2c
+    field public static final int MAGNETI_MARELLI = 169; // 0xa9
+    field public static final int MANSELLA = 33; // 0x21
+    field public static final int MARVELL = 72; // 0x48
+    field public static final int MATSUSHITA_ELECTRIC = 58; // 0x3a
+    field public static final int MC10 = 202; // 0xca
+    field public static final int MEDIATEK = 70; // 0x46
+    field public static final int MESO_INTERNATIONAL = 182; // 0xb6
+    field public static final int META_WATCH = 163; // 0xa3
+    field public static final int MEWTEL_TECHNOLOGY = 47; // 0x2f
+    field public static final int MICOMMAND = 99; // 0x63
+    field public static final int MICROCHIP_TECHNOLOGY = 205; // 0xcd
+    field public static final int MICROSOFT = 6; // 0x6
+    field public static final int MINDTREE = 106; // 0x6a
+    field public static final int MISFIT_WEARABLES = 223; // 0xdf
+    field public static final int MITEL_SEMICONDUCTOR = 16; // 0x10
+    field public static final int MITSUBISHI_ELECTRIC = 20; // 0x14
+    field public static final int MOBILIAN_CORPORATION = 55; // 0x37
+    field public static final int MONSTER = 112; // 0x70
+    field public static final int MOTOROLA = 8; // 0x8
+    field public static final int MSTAR_SEMICONDUCTOR = 122; // 0x7a
+    field public static final int MUZIK = 222; // 0xde
+    field public static final int NEC = 34; // 0x22
+    field public static final int NEC_LIGHTING = 149; // 0x95
+    field public static final int NEWLOGIC = 23; // 0x17
+    field public static final int NIKE = 120; // 0x78
+    field public static final int NINE_SOLUTIONS = 102; // 0x66
+    field public static final int NOKIA_MOBILE_PHONES = 1; // 0x1
+    field public static final int NORDIC_SEMICONDUCTOR = 89; // 0x59
+    field public static final int NORWOOD_SYSTEMS = 46; // 0x2e
+    field public static final int ODM_TECHNOLOGY = 150; // 0x96
+    field public static final int OMEGAWAVE = 174; // 0xae
+    field public static final int ONSET_COMPUTER = 197; // 0xc5
+    field public static final int OPEN_INTERFACE = 39; // 0x27
+    field public static final int OTL_DYNAMICS = 165; // 0xa5
+    field public static final int PANDA_OCEAN = 166; // 0xa6
+    field public static final int PARROT = 67; // 0x43
+    field public static final int PARTHUS_TECHNOLOGIES = 14; // 0xe
+    field public static final int PASSIF_SEMICONDUCTOR = 176; // 0xb0
+    field public static final int PETER_SYSTEMTECHNIK = 173; // 0xad
+    field public static final int PHILIPS_SEMICONDUCTORS = 37; // 0x25
+    field public static final int PLANTRONICS = 85; // 0x55
+    field public static final int POLAR_ELECTRO = 107; // 0x6b
+    field public static final int POLAR_ELECTRO_EUROPE = 209; // 0xd1
+    field public static final int PROCTER_AND_GAMBLE = 220; // 0xdc
+    field public static final int QUALCOMM = 29; // 0x1d
+    field public static final int QUALCOMM_CONNECTED_EXPERIENCES = 216; // 0xd8
+    field public static final int QUALCOMM_INNOVATION_CENTER = 184; // 0xb8
+    field public static final int QUALCOMM_LABS = 140; // 0x8c
+    field public static final int QUALCOMM_TECHNOLOGIES = 215; // 0xd7
+    field public static final int QUINTIC = 142; // 0x8e
+    field public static final int QUUPPA = 199; // 0xc7
+    field public static final int RALINK_TECHNOLOGY = 91; // 0x5b
+    field public static final int RDA_MICROELECTRONICS = 97; // 0x61
+    field public static final int REALTEK_SEMICONDUCTOR = 93; // 0x5d
+    field public static final int RED_M = 50; // 0x32
+    field public static final int RENESAS_TECHNOLOGY = 54; // 0x36
+    field public static final int RESEARCH_IN_MOTION = 60; // 0x3c
+    field public static final int RF_MICRO_DEVICES = 40; // 0x28
+    field public static final int RIVIERAWAVES = 96; // 0x60
+    field public static final int ROHDE_AND_SCHWARZ = 25; // 0x19
+    field public static final int RTX_TELECOM = 21; // 0x15
+    field public static final int SAMSUNG_ELECTRONICS = 117; // 0x75
+    field public static final int SARIS_CYCLING_GROUP = 177; // 0xb1
+    field public static final int SEERS_TECHNOLOGY = 125; // 0x7d
+    field public static final int SEIKO_EPSON = 64; // 0x40
+    field public static final int SELFLY = 198; // 0xc6
+    field public static final int SEMILINK = 226; // 0xe2
+    field public static final int SENNHEISER_COMMUNICATIONS = 130; // 0x82
+    field public static final int SHANGHAI_SUPER_SMART_ELECTRONICS = 114; // 0x72
+    field public static final int SHENZHEN_EXCELSECU_DATA_TECHNOLOGY = 193; // 0xc1
+    field public static final int SIGNIA_TECHNOLOGIES = 27; // 0x1b
+    field public static final int SILICON_WAVE = 11; // 0xb
+    field public static final int SIRF_TECHNOLOGY = 80; // 0x50
+    field public static final int SOCKET_MOBILE = 68; // 0x44
+    field public static final int SONY_ERICSSON = 86; // 0x56
+    field public static final int SOUND_ID = 111; // 0x6f
+    field public static final int SPORTS_TRACKING_TECHNOLOGIES = 126; // 0x7e
+    field public static final int SR_MEDIZINELEKTRONIK = 161; // 0xa1
+    field public static final int STACCATO_COMMUNICATIONS = 77; // 0x4d
+    field public static final int STALMART_TECHNOLOGY = 191; // 0xbf
+    field public static final int STARKEY_LABORATORIES = 186; // 0xba
+    field public static final int STOLLMAN_E_PLUS_V = 143; // 0x8f
+    field public static final int STONESTREET_ONE = 94; // 0x5e
+    field public static final int ST_MICROELECTRONICS = 48; // 0x30
+    field public static final int SUMMIT_DATA_COMMUNICATIONS = 110; // 0x6e
+    field public static final int SUUNTO = 159; // 0x9f
+    field public static final int SWIRL_NETWORKS = 181; // 0xb5
+    field public static final int SYMBOL_TECHNOLOGIES = 42; // 0x2a
+    field public static final int SYNOPSYS = 49; // 0x31
+    field public static final int SYSTEMS_AND_CHIPS = 62; // 0x3e
+    field public static final int S_POWER_ELECTRONICS = 187; // 0xbb
+    field public static final int TAIXINGBANG_TECHNOLOGY = 211; // 0xd3
+    field public static final int TENOVIS = 43; // 0x2b
+    field public static final int TERAX = 56; // 0x38
+    field public static final int TEXAS_INSTRUMENTS = 13; // 0xd
+    field public static final int THINKOPTICS = 146; // 0x92
+    field public static final int THREECOM = 5; // 0x5
+    field public static final int THREE_DIJOY = 84; // 0x54
+    field public static final int THREE_DSP = 73; // 0x49
+    field public static final int TIMEKEEPING_SYSTEMS = 131; // 0x83
+    field public static final int TIMEX_GROUP_USA = 214; // 0xd6
+    field public static final int TOPCORN_POSITIONING_SYSTEMS = 139; // 0x8b
+    field public static final int TOSHIBA = 4; // 0x4
+    field public static final int TRANSILICA = 24; // 0x18
+    field public static final int TRELAB = 183; // 0xb7
+    field public static final int TTPCOM = 26; // 0x1a
+    field public static final int TXTR = 218; // 0xda
+    field public static final int TZERO_TECHNOLOGIES = 81; // 0x51
+    field public static final int UNIVERSAL_ELECTRONICS = 147; // 0x93
+    field public static final int VERTU = 162; // 0xa2
+    field public static final int VISTEON = 167; // 0xa7
+    field public static final int VIZIO = 88; // 0x58
+    field public static final int VOYETRA_TURTLE_BEACH = 217; // 0xd9
+    field public static final int WAVEPLUS_TECHNOLOGY = 35; // 0x23
+    field public static final int WICENTRIC = 95; // 0x5f
+    field public static final int WIDCOMM = 17; // 0x11
+    field public static final int WUXI_VIMICRO = 129; // 0x81
+    field public static final int ZEEVO = 18; // 0x12
+    field public static final int ZER01_TV = 152; // 0x98
+    field public static final int ZOMM = 116; // 0x74
+    field public static final int ZSCAN_SOFTWARE = 141; // 0x8d
+  }
+
+  public final class BluetoothClass implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getDeviceClass();
+    method public int getMajorDeviceClass();
+    method public boolean hasService(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothClass> CREATOR;
+  }
+
+  public static class BluetoothClass.Device {
+    ctor public BluetoothClass.Device();
+    field public static final int AUDIO_VIDEO_CAMCORDER = 1076; // 0x434
+    field public static final int AUDIO_VIDEO_CAR_AUDIO = 1056; // 0x420
+    field public static final int AUDIO_VIDEO_HANDSFREE = 1032; // 0x408
+    field public static final int AUDIO_VIDEO_HEADPHONES = 1048; // 0x418
+    field public static final int AUDIO_VIDEO_HIFI_AUDIO = 1064; // 0x428
+    field public static final int AUDIO_VIDEO_LOUDSPEAKER = 1044; // 0x414
+    field public static final int AUDIO_VIDEO_MICROPHONE = 1040; // 0x410
+    field public static final int AUDIO_VIDEO_PORTABLE_AUDIO = 1052; // 0x41c
+    field public static final int AUDIO_VIDEO_SET_TOP_BOX = 1060; // 0x424
+    field public static final int AUDIO_VIDEO_UNCATEGORIZED = 1024; // 0x400
+    field public static final int AUDIO_VIDEO_VCR = 1068; // 0x42c
+    field public static final int AUDIO_VIDEO_VIDEO_CAMERA = 1072; // 0x430
+    field public static final int AUDIO_VIDEO_VIDEO_CONFERENCING = 1088; // 0x440
+    field public static final int AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER = 1084; // 0x43c
+    field public static final int AUDIO_VIDEO_VIDEO_GAMING_TOY = 1096; // 0x448
+    field public static final int AUDIO_VIDEO_VIDEO_MONITOR = 1080; // 0x438
+    field public static final int AUDIO_VIDEO_WEARABLE_HEADSET = 1028; // 0x404
+    field public static final int COMPUTER_DESKTOP = 260; // 0x104
+    field public static final int COMPUTER_HANDHELD_PC_PDA = 272; // 0x110
+    field public static final int COMPUTER_LAPTOP = 268; // 0x10c
+    field public static final int COMPUTER_PALM_SIZE_PC_PDA = 276; // 0x114
+    field public static final int COMPUTER_SERVER = 264; // 0x108
+    field public static final int COMPUTER_UNCATEGORIZED = 256; // 0x100
+    field public static final int COMPUTER_WEARABLE = 280; // 0x118
+    field public static final int HEALTH_BLOOD_PRESSURE = 2308; // 0x904
+    field public static final int HEALTH_DATA_DISPLAY = 2332; // 0x91c
+    field public static final int HEALTH_GLUCOSE = 2320; // 0x910
+    field public static final int HEALTH_PULSE_OXIMETER = 2324; // 0x914
+    field public static final int HEALTH_PULSE_RATE = 2328; // 0x918
+    field public static final int HEALTH_THERMOMETER = 2312; // 0x908
+    field public static final int HEALTH_UNCATEGORIZED = 2304; // 0x900
+    field public static final int HEALTH_WEIGHING = 2316; // 0x90c
+    field public static final int PHONE_CELLULAR = 516; // 0x204
+    field public static final int PHONE_CORDLESS = 520; // 0x208
+    field public static final int PHONE_ISDN = 532; // 0x214
+    field public static final int PHONE_MODEM_OR_GATEWAY = 528; // 0x210
+    field public static final int PHONE_SMART = 524; // 0x20c
+    field public static final int PHONE_UNCATEGORIZED = 512; // 0x200
+    field public static final int TOY_CONTROLLER = 2064; // 0x810
+    field public static final int TOY_DOLL_ACTION_FIGURE = 2060; // 0x80c
+    field public static final int TOY_GAME = 2068; // 0x814
+    field public static final int TOY_ROBOT = 2052; // 0x804
+    field public static final int TOY_UNCATEGORIZED = 2048; // 0x800
+    field public static final int TOY_VEHICLE = 2056; // 0x808
+    field public static final int WEARABLE_GLASSES = 1812; // 0x714
+    field public static final int WEARABLE_HELMET = 1808; // 0x710
+    field public static final int WEARABLE_JACKET = 1804; // 0x70c
+    field public static final int WEARABLE_PAGER = 1800; // 0x708
+    field public static final int WEARABLE_UNCATEGORIZED = 1792; // 0x700
+    field public static final int WEARABLE_WRIST_WATCH = 1796; // 0x704
+  }
+
+  public static class BluetoothClass.Device.Major {
+    ctor public BluetoothClass.Device.Major();
+    field public static final int AUDIO_VIDEO = 1024; // 0x400
+    field public static final int COMPUTER = 256; // 0x100
+    field public static final int HEALTH = 2304; // 0x900
+    field public static final int IMAGING = 1536; // 0x600
+    field public static final int MISC = 0; // 0x0
+    field public static final int NETWORKING = 768; // 0x300
+    field public static final int PERIPHERAL = 1280; // 0x500
+    field public static final int PHONE = 512; // 0x200
+    field public static final int TOY = 2048; // 0x800
+    field public static final int UNCATEGORIZED = 7936; // 0x1f00
+    field public static final int WEARABLE = 1792; // 0x700
+  }
+
+  public static final class BluetoothClass.Service {
+    ctor public BluetoothClass.Service();
+    field public static final int AUDIO = 2097152; // 0x200000
+    field public static final int CAPTURE = 524288; // 0x80000
+    field public static final int INFORMATION = 8388608; // 0x800000
+    field public static final int LIMITED_DISCOVERABILITY = 8192; // 0x2000
+    field public static final int NETWORKING = 131072; // 0x20000
+    field public static final int OBJECT_TRANSFER = 1048576; // 0x100000
+    field public static final int POSITIONING = 65536; // 0x10000
+    field public static final int RENDER = 262144; // 0x40000
+    field public static final int TELEPHONY = 4194304; // 0x400000
+  }
+
+  public final class BluetoothDevice implements android.os.Parcelable {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int, android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond();
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createInsecureL2capChannel(int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createL2capChannel(int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
+    method public int describeContents();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean fetchUuidsWithSdp();
+    method public String getAddress();
+    method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getAlias();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothClass getBluetoothClass();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBondState();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public String getName();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getType();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.os.ParcelUuid[] getUuids();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int setAlias(@Nullable String);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPairingConfirmation(boolean);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(byte[]);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_CONNECTED = "android.bluetooth.device.action.ACL_CONNECTED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_DISCONNECTED = "android.bluetooth.device.action.ACL_DISCONNECTED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACL_DISCONNECT_REQUESTED = "android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ALIAS_CHANGED = "android.bluetooth.device.action.ALIAS_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BOND_STATE_CHANGED = "android.bluetooth.device.action.BOND_STATE_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CLASS_CHANGED = "android.bluetooth.device.action.CLASS_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public static final String ACTION_FOUND = "android.bluetooth.device.action.FOUND";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_NAME_CHANGED = "android.bluetooth.device.action.NAME_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_REQUEST = "android.bluetooth.device.action.PAIRING_REQUEST";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_UUID = "android.bluetooth.device.action.UUID";
+    field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0
+    field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1
+    field public static final int BOND_BONDED = 12; // 0xc
+    field public static final int BOND_BONDING = 11; // 0xb
+    field public static final int BOND_NONE = 10; // 0xa
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothDevice> CREATOR;
+    field public static final int DEVICE_TYPE_CLASSIC = 1; // 0x1
+    field public static final int DEVICE_TYPE_DUAL = 3; // 0x3
+    field public static final int DEVICE_TYPE_LE = 2; // 0x2
+    field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int ERROR = -2147483648; // 0x80000000
+    field public static final String EXTRA_BOND_STATE = "android.bluetooth.device.extra.BOND_STATE";
+    field public static final String EXTRA_CLASS = "android.bluetooth.device.extra.CLASS";
+    field public static final String EXTRA_DEVICE = "android.bluetooth.device.extra.DEVICE";
+    field public static final String EXTRA_NAME = "android.bluetooth.device.extra.NAME";
+    field public static final String EXTRA_PAIRING_KEY = "android.bluetooth.device.extra.PAIRING_KEY";
+    field public static final String EXTRA_PAIRING_VARIANT = "android.bluetooth.device.extra.PAIRING_VARIANT";
+    field public static final String EXTRA_PREVIOUS_BOND_STATE = "android.bluetooth.device.extra.PREVIOUS_BOND_STATE";
+    field public static final String EXTRA_RSSI = "android.bluetooth.device.extra.RSSI";
+    field public static final String EXTRA_UUID = "android.bluetooth.device.extra.UUID";
+    field public static final int PAIRING_VARIANT_PASSKEY_CONFIRMATION = 2; // 0x2
+    field public static final int PAIRING_VARIANT_PIN = 0; // 0x0
+    field public static final int PHY_LE_1M = 1; // 0x1
+    field public static final int PHY_LE_1M_MASK = 1; // 0x1
+    field public static final int PHY_LE_2M = 2; // 0x2
+    field public static final int PHY_LE_2M_MASK = 2; // 0x2
+    field public static final int PHY_LE_CODED = 3; // 0x3
+    field public static final int PHY_LE_CODED_MASK = 4; // 0x4
+    field public static final int PHY_OPTION_NO_PREFERRED = 0; // 0x0
+    field public static final int PHY_OPTION_S2 = 1; // 0x1
+    field public static final int PHY_OPTION_S8 = 2; // 0x2
+    field public static final int TRANSPORT_AUTO = 0; // 0x0
+    field public static final int TRANSPORT_BREDR = 1; // 0x1
+    field public static final int TRANSPORT_LE = 2; // 0x2
+  }
+
+  public final class BluetoothGatt implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void abortReliableWrite();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void abortReliableWrite(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean beginReliableWrite();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void close();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void disconnect();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean discoverServices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean executeReliableWrite();
+    method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method public android.bluetooth.BluetoothDevice getDevice();
+    method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method public android.bluetooth.BluetoothGattService getService(java.util.UUID);
+    method public java.util.List<android.bluetooth.BluetoothGattService> getServices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readCharacteristic(android.bluetooth.BluetoothGattCharacteristic);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readDescriptor(android.bluetooth.BluetoothGattDescriptor);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean readRemoteRssi();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean requestConnectionPriority(int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean requestMtu(int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setCharacteristicNotification(android.bluetooth.BluetoothGattCharacteristic, boolean);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(int, int, int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean writeCharacteristic(android.bluetooth.BluetoothGattCharacteristic);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean writeDescriptor(android.bluetooth.BluetoothGattDescriptor);
+    field public static final int CONNECTION_PRIORITY_BALANCED = 0; // 0x0
+    field public static final int CONNECTION_PRIORITY_HIGH = 1; // 0x1
+    field public static final int CONNECTION_PRIORITY_LOW_POWER = 2; // 0x2
+    field public static final int GATT_CONNECTION_CONGESTED = 143; // 0x8f
+    field public static final int GATT_FAILURE = 257; // 0x101
+    field public static final int GATT_INSUFFICIENT_AUTHENTICATION = 5; // 0x5
+    field public static final int GATT_INSUFFICIENT_ENCRYPTION = 15; // 0xf
+    field public static final int GATT_INVALID_ATTRIBUTE_LENGTH = 13; // 0xd
+    field public static final int GATT_INVALID_OFFSET = 7; // 0x7
+    field public static final int GATT_READ_NOT_PERMITTED = 2; // 0x2
+    field public static final int GATT_REQUEST_NOT_SUPPORTED = 6; // 0x6
+    field public static final int GATT_SUCCESS = 0; // 0x0
+    field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3
+  }
+
+  public abstract class BluetoothGattCallback {
+    ctor public BluetoothGattCallback();
+    method public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic);
+    method public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
+    method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
+    method public void onConnectionStateChange(android.bluetooth.BluetoothGatt, int, int);
+    method public void onDescriptorRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattDescriptor, int);
+    method public void onDescriptorWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattDescriptor, int);
+    method public void onMtuChanged(android.bluetooth.BluetoothGatt, int, int);
+    method public void onPhyRead(android.bluetooth.BluetoothGatt, int, int, int);
+    method public void onPhyUpdate(android.bluetooth.BluetoothGatt, int, int, int);
+    method public void onReadRemoteRssi(android.bluetooth.BluetoothGatt, int, int);
+    method public void onReliableWriteCompleted(android.bluetooth.BluetoothGatt, int);
+    method public void onServiceChanged(@NonNull android.bluetooth.BluetoothGatt);
+    method public void onServicesDiscovered(android.bluetooth.BluetoothGatt, int);
+  }
+
+  public class BluetoothGattCharacteristic implements android.os.Parcelable {
+    ctor public BluetoothGattCharacteristic(java.util.UUID, int, int);
+    method public boolean addDescriptor(android.bluetooth.BluetoothGattDescriptor);
+    method public int describeContents();
+    method public android.bluetooth.BluetoothGattDescriptor getDescriptor(java.util.UUID);
+    method public java.util.List<android.bluetooth.BluetoothGattDescriptor> getDescriptors();
+    method public Float getFloatValue(int, int);
+    method public int getInstanceId();
+    method public Integer getIntValue(int, int);
+    method public int getPermissions();
+    method public int getProperties();
+    method public android.bluetooth.BluetoothGattService getService();
+    method public String getStringValue(int);
+    method public java.util.UUID getUuid();
+    method public byte[] getValue();
+    method public int getWriteType();
+    method public boolean setValue(byte[]);
+    method public boolean setValue(int, int, int);
+    method public boolean setValue(int, int, int, int);
+    method public boolean setValue(String);
+    method public void setWriteType(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattCharacteristic> CREATOR;
+    field public static final int FORMAT_FLOAT = 52; // 0x34
+    field public static final int FORMAT_SFLOAT = 50; // 0x32
+    field public static final int FORMAT_SINT16 = 34; // 0x22
+    field public static final int FORMAT_SINT32 = 36; // 0x24
+    field public static final int FORMAT_SINT8 = 33; // 0x21
+    field public static final int FORMAT_UINT16 = 18; // 0x12
+    field public static final int FORMAT_UINT32 = 20; // 0x14
+    field public static final int FORMAT_UINT8 = 17; // 0x11
+    field public static final int PERMISSION_READ = 1; // 0x1
+    field public static final int PERMISSION_READ_ENCRYPTED = 2; // 0x2
+    field public static final int PERMISSION_READ_ENCRYPTED_MITM = 4; // 0x4
+    field public static final int PERMISSION_WRITE = 16; // 0x10
+    field public static final int PERMISSION_WRITE_ENCRYPTED = 32; // 0x20
+    field public static final int PERMISSION_WRITE_ENCRYPTED_MITM = 64; // 0x40
+    field public static final int PERMISSION_WRITE_SIGNED = 128; // 0x80
+    field public static final int PERMISSION_WRITE_SIGNED_MITM = 256; // 0x100
+    field public static final int PROPERTY_BROADCAST = 1; // 0x1
+    field public static final int PROPERTY_EXTENDED_PROPS = 128; // 0x80
+    field public static final int PROPERTY_INDICATE = 32; // 0x20
+    field public static final int PROPERTY_NOTIFY = 16; // 0x10
+    field public static final int PROPERTY_READ = 2; // 0x2
+    field public static final int PROPERTY_SIGNED_WRITE = 64; // 0x40
+    field public static final int PROPERTY_WRITE = 8; // 0x8
+    field public static final int PROPERTY_WRITE_NO_RESPONSE = 4; // 0x4
+    field public static final int WRITE_TYPE_DEFAULT = 2; // 0x2
+    field public static final int WRITE_TYPE_NO_RESPONSE = 1; // 0x1
+    field public static final int WRITE_TYPE_SIGNED = 4; // 0x4
+    field protected java.util.List<android.bluetooth.BluetoothGattDescriptor> mDescriptors;
+  }
+
+  public class BluetoothGattDescriptor implements android.os.Parcelable {
+    ctor public BluetoothGattDescriptor(java.util.UUID, int);
+    method public int describeContents();
+    method public android.bluetooth.BluetoothGattCharacteristic getCharacteristic();
+    method public int getPermissions();
+    method public java.util.UUID getUuid();
+    method public byte[] getValue();
+    method public boolean setValue(byte[]);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattDescriptor> CREATOR;
+    field public static final byte[] DISABLE_NOTIFICATION_VALUE;
+    field public static final byte[] ENABLE_INDICATION_VALUE;
+    field public static final byte[] ENABLE_NOTIFICATION_VALUE;
+    field public static final int PERMISSION_READ = 1; // 0x1
+    field public static final int PERMISSION_READ_ENCRYPTED = 2; // 0x2
+    field public static final int PERMISSION_READ_ENCRYPTED_MITM = 4; // 0x4
+    field public static final int PERMISSION_WRITE = 16; // 0x10
+    field public static final int PERMISSION_WRITE_ENCRYPTED = 32; // 0x20
+    field public static final int PERMISSION_WRITE_ENCRYPTED_MITM = 64; // 0x40
+    field public static final int PERMISSION_WRITE_SIGNED = 128; // 0x80
+    field public static final int PERMISSION_WRITE_SIGNED_MITM = 256; // 0x100
+  }
+
+  public final class BluetoothGattServer implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean addService(android.bluetooth.BluetoothGattService);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void cancelConnection(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void clearServices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void close();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(android.bluetooth.BluetoothDevice, boolean);
+    method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method public android.bluetooth.BluetoothGattService getService(java.util.UUID);
+    method public java.util.List<android.bluetooth.BluetoothGattService> getServices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean notifyCharacteristicChanged(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothGattCharacteristic, boolean);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void readPhy(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeService(android.bluetooth.BluetoothGattService);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendResponse(android.bluetooth.BluetoothDevice, int, int, int, byte[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int);
+  }
+
+  public abstract class BluetoothGattServerCallback {
+    ctor public BluetoothGattServerCallback();
+    method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic);
+    method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]);
+    method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int);
+    method public void onDescriptorReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattDescriptor);
+    method public void onDescriptorWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattDescriptor, boolean, boolean, int, byte[]);
+    method public void onExecuteWrite(android.bluetooth.BluetoothDevice, int, boolean);
+    method public void onMtuChanged(android.bluetooth.BluetoothDevice, int);
+    method public void onNotificationSent(android.bluetooth.BluetoothDevice, int);
+    method public void onPhyRead(android.bluetooth.BluetoothDevice, int, int, int);
+    method public void onPhyUpdate(android.bluetooth.BluetoothDevice, int, int, int);
+    method public void onServiceAdded(int, android.bluetooth.BluetoothGattService);
+  }
+
+  public class BluetoothGattService implements android.os.Parcelable {
+    ctor public BluetoothGattService(java.util.UUID, int);
+    method public boolean addCharacteristic(android.bluetooth.BluetoothGattCharacteristic);
+    method public boolean addService(android.bluetooth.BluetoothGattService);
+    method public int describeContents();
+    method public android.bluetooth.BluetoothGattCharacteristic getCharacteristic(java.util.UUID);
+    method public java.util.List<android.bluetooth.BluetoothGattCharacteristic> getCharacteristics();
+    method public java.util.List<android.bluetooth.BluetoothGattService> getIncludedServices();
+    method public int getInstanceId();
+    method public int getType();
+    method public java.util.UUID getUuid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattService> CREATOR;
+    field public static final int SERVICE_TYPE_PRIMARY = 0; // 0x0
+    field public static final int SERVICE_TYPE_SECONDARY = 1; // 0x1
+    field protected java.util.List<android.bluetooth.BluetoothGattCharacteristic> mCharacteristics;
+    field protected java.util.List<android.bluetooth.BluetoothGattService> mIncludedServices;
+  }
+
+  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isAudioConnected(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isNoiseReductionSupported(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isVoiceRecognitionSupported(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendVendorSpecificResultCode(android.bluetooth.BluetoothDevice, String, String);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean startVoiceRecognition(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean stopVoiceRecognition(android.bluetooth.BluetoothDevice);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_AUDIO_STATE_CHANGED = "android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_VENDOR_SPECIFIC_HEADSET_EVENT = "android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT";
+    field public static final int AT_CMD_TYPE_ACTION = 4; // 0x4
+    field public static final int AT_CMD_TYPE_BASIC = 3; // 0x3
+    field public static final int AT_CMD_TYPE_READ = 0; // 0x0
+    field public static final int AT_CMD_TYPE_SET = 2; // 0x2
+    field public static final int AT_CMD_TYPE_TEST = 1; // 0x1
+    field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_ARGS";
+    field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD";
+    field public static final String EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE = "android.bluetooth.headset.extra.VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE";
+    field public static final int STATE_AUDIO_CONNECTED = 12; // 0xc
+    field public static final int STATE_AUDIO_CONNECTING = 11; // 0xb
+    field public static final int STATE_AUDIO_DISCONNECTED = 10; // 0xa
+    field public static final String VENDOR_RESULT_CODE_COMMAND_ANDROID = "+ANDROID";
+    field public static final String VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY = "android.bluetooth.headset.intent.category.companyid";
+  }
+
+  @Deprecated public final class BluetoothHealth implements android.bluetooth.BluetoothProfile {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connectChannelToSource(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnectChannel(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.os.ParcelFileDescriptor getMainChannelFd(android.bluetooth.BluetoothDevice, android.bluetooth.BluetoothHealthAppConfiguration);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean registerSinkAppConfiguration(String, int, android.bluetooth.BluetoothHealthCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean unregisterAppConfiguration(android.bluetooth.BluetoothHealthAppConfiguration);
+    field @Deprecated public static final int APP_CONFIG_REGISTRATION_FAILURE = 1; // 0x1
+    field @Deprecated public static final int APP_CONFIG_REGISTRATION_SUCCESS = 0; // 0x0
+    field @Deprecated public static final int APP_CONFIG_UNREGISTRATION_FAILURE = 3; // 0x3
+    field @Deprecated public static final int APP_CONFIG_UNREGISTRATION_SUCCESS = 2; // 0x2
+    field @Deprecated public static final int CHANNEL_TYPE_RELIABLE = 10; // 0xa
+    field @Deprecated public static final int CHANNEL_TYPE_STREAMING = 11; // 0xb
+    field @Deprecated public static final int SINK_ROLE = 2; // 0x2
+    field @Deprecated public static final int SOURCE_ROLE = 1; // 0x1
+    field @Deprecated public static final int STATE_CHANNEL_CONNECTED = 2; // 0x2
+    field @Deprecated public static final int STATE_CHANNEL_CONNECTING = 1; // 0x1
+    field @Deprecated public static final int STATE_CHANNEL_DISCONNECTED = 0; // 0x0
+    field @Deprecated public static final int STATE_CHANNEL_DISCONNECTING = 3; // 0x3
+  }
+
+  @Deprecated public final class BluetoothHealthAppConfiguration implements android.os.Parcelable {
+    method @Deprecated public int describeContents();
+    method @Deprecated public int getDataType();
+    method @Deprecated public String getName();
+    method @Deprecated public int getRole();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHealthAppConfiguration> CREATOR;
+  }
+
+  @Deprecated public abstract class BluetoothHealthCallback {
+    ctor @Deprecated public BluetoothHealthCallback();
+    method @Deprecated @BinderThread public void onHealthAppConfigurationStatusChange(android.bluetooth.BluetoothHealthAppConfiguration, int);
+    method @Deprecated @BinderThread public void onHealthChannelStateChange(android.bluetooth.BluetoothHealthAppConfiguration, android.bluetooth.BluetoothDevice, int, int, android.os.ParcelFileDescriptor, int);
+  }
+
+  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED";
+  }
+
+  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean connect(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean registerApp(android.bluetooth.BluetoothHidDeviceAppSdpSettings, android.bluetooth.BluetoothHidDeviceAppQosSettings, android.bluetooth.BluetoothHidDeviceAppQosSettings, java.util.concurrent.Executor, android.bluetooth.BluetoothHidDevice.Callback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean replyReport(android.bluetooth.BluetoothDevice, byte, byte, byte[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean reportError(android.bluetooth.BluetoothDevice, byte);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean sendReport(android.bluetooth.BluetoothDevice, int, byte[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean unregisterApp();
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hiddevice.profile.action.CONNECTION_STATE_CHANGED";
+    field public static final byte ERROR_RSP_INVALID_PARAM = 4; // 0x4
+    field public static final byte ERROR_RSP_INVALID_RPT_ID = 2; // 0x2
+    field public static final byte ERROR_RSP_NOT_READY = 1; // 0x1
+    field public static final byte ERROR_RSP_SUCCESS = 0; // 0x0
+    field public static final byte ERROR_RSP_UNKNOWN = 14; // 0xe
+    field public static final byte ERROR_RSP_UNSUPPORTED_REQ = 3; // 0x3
+    field public static final byte PROTOCOL_BOOT_MODE = 0; // 0x0
+    field public static final byte PROTOCOL_REPORT_MODE = 1; // 0x1
+    field public static final byte REPORT_TYPE_FEATURE = 3; // 0x3
+    field public static final byte REPORT_TYPE_INPUT = 1; // 0x1
+    field public static final byte REPORT_TYPE_OUTPUT = 2; // 0x2
+    field public static final byte SUBCLASS1_COMBO = -64; // 0xffffffc0
+    field public static final byte SUBCLASS1_KEYBOARD = 64; // 0x40
+    field public static final byte SUBCLASS1_MOUSE = -128; // 0xffffff80
+    field public static final byte SUBCLASS1_NONE = 0; // 0x0
+    field public static final byte SUBCLASS2_CARD_READER = 6; // 0x6
+    field public static final byte SUBCLASS2_DIGITIZER_TABLET = 5; // 0x5
+    field public static final byte SUBCLASS2_GAMEPAD = 2; // 0x2
+    field public static final byte SUBCLASS2_JOYSTICK = 1; // 0x1
+    field public static final byte SUBCLASS2_REMOTE_CONTROL = 3; // 0x3
+    field public static final byte SUBCLASS2_SENSING_DEVICE = 4; // 0x4
+    field public static final byte SUBCLASS2_UNCATEGORIZED = 0; // 0x0
+  }
+
+  public abstract static class BluetoothHidDevice.Callback {
+    ctor public BluetoothHidDevice.Callback();
+    method public void onAppStatusChanged(android.bluetooth.BluetoothDevice, boolean);
+    method public void onConnectionStateChanged(android.bluetooth.BluetoothDevice, int);
+    method public void onGetReport(android.bluetooth.BluetoothDevice, byte, byte, int);
+    method public void onInterruptData(android.bluetooth.BluetoothDevice, byte, byte[]);
+    method public void onSetProtocol(android.bluetooth.BluetoothDevice, byte);
+    method public void onSetReport(android.bluetooth.BluetoothDevice, byte, byte, byte[]);
+    method public void onVirtualCableUnplug(android.bluetooth.BluetoothDevice);
+  }
+
+  public final class BluetoothHidDeviceAppQosSettings implements android.os.Parcelable {
+    ctor public BluetoothHidDeviceAppQosSettings(int, int, int, int, int, int);
+    method public int describeContents();
+    method public int getDelayVariation();
+    method public int getLatency();
+    method public int getPeakBandwidth();
+    method public int getServiceType();
+    method public int getTokenBucketSize();
+    method public int getTokenRate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppQosSettings> CREATOR;
+    field public static final int MAX = -1; // 0xffffffff
+    field public static final int SERVICE_BEST_EFFORT = 1; // 0x1
+    field public static final int SERVICE_GUARANTEED = 2; // 0x2
+    field public static final int SERVICE_NO_TRAFFIC = 0; // 0x0
+  }
+
+  public final class BluetoothHidDeviceAppSdpSettings implements android.os.Parcelable {
+    ctor public BluetoothHidDeviceAppSdpSettings(String, String, String, byte, byte[]);
+    method public int describeContents();
+    method public String getDescription();
+    method public byte[] getDescriptors();
+    method public String getName();
+    method public String getProvider();
+    method public byte getSubclass();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppSdpSettings> CREATOR;
+  }
+
+  public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
+    method public void close();
+    method protected void finalize();
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LE_AUDIO_CONNECTION_STATE_CHANGED = "android.bluetooth.action.LE_AUDIO_CONNECTION_STATE_CHANGED";
+  }
+
+  public final class BluetoothManager {
+    method public android.bluetooth.BluetoothAdapter getAdapter();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices(int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice, int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int, int[]);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public android.bluetooth.BluetoothGattServer openGattServer(android.content.Context, android.bluetooth.BluetoothGattServerCallback);
+  }
+
+  public interface BluetoothProfile {
+    method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method public int getConnectionState(android.bluetooth.BluetoothDevice);
+    method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    field public static final int A2DP = 2; // 0x2
+    field public static final String EXTRA_PREVIOUS_STATE = "android.bluetooth.profile.extra.PREVIOUS_STATE";
+    field public static final String EXTRA_STATE = "android.bluetooth.profile.extra.STATE";
+    field public static final int GATT = 7; // 0x7
+    field public static final int GATT_SERVER = 8; // 0x8
+    field public static final int HEADSET = 1; // 0x1
+    field @Deprecated public static final int HEALTH = 3; // 0x3
+    field public static final int HEARING_AID = 21; // 0x15
+    field public static final int HID_DEVICE = 19; // 0x13
+    field public static final int SAP = 10; // 0xa
+    field public static final int STATE_CONNECTED = 2; // 0x2
+    field public static final int STATE_CONNECTING = 1; // 0x1
+    field public static final int STATE_DISCONNECTED = 0; // 0x0
+    field public static final int STATE_DISCONNECTING = 3; // 0x3
+  }
+
+  public static interface BluetoothProfile.ServiceListener {
+    method public void onServiceConnected(int, android.bluetooth.BluetoothProfile);
+    method public void onServiceDisconnected(int);
+  }
+
+  public final class BluetoothServerSocket implements java.io.Closeable {
+    method public android.bluetooth.BluetoothSocket accept() throws java.io.IOException;
+    method public android.bluetooth.BluetoothSocket accept(int) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public int getPsm();
+  }
+
+  public final class BluetoothSocket implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void connect() throws java.io.IOException;
+    method public int getConnectionType();
+    method public java.io.InputStream getInputStream() throws java.io.IOException;
+    method public int getMaxReceivePacketSize();
+    method public int getMaxTransmitPacketSize();
+    method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+    method public android.bluetooth.BluetoothDevice getRemoteDevice();
+    method public boolean isConnected();
+    field public static final int TYPE_L2CAP = 3; // 0x3
+    field public static final int TYPE_RFCOMM = 1; // 0x1
+    field public static final int TYPE_SCO = 2; // 0x2
+  }
+
+  public final class BluetoothStatusCodes {
+    field public static final int ERROR_BLUETOOTH_NOT_ALLOWED = 2; // 0x2
+    field public static final int ERROR_BLUETOOTH_NOT_ENABLED = 1; // 0x1
+    field public static final int ERROR_DEVICE_NOT_BONDED = 3; // 0x3
+    field public static final int ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION = 6; // 0x6
+    field public static final int ERROR_UNKNOWN = 2147483647; // 0x7fffffff
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+}
+
+package android.bluetooth.le {
+
+  public abstract class AdvertiseCallback {
+    ctor public AdvertiseCallback();
+    method public void onStartFailure(int);
+    method public void onStartSuccess(android.bluetooth.le.AdvertiseSettings);
+    field public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3; // 0x3
+    field public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1; // 0x1
+    field public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5; // 0x5
+    field public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4; // 0x4
+    field public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2; // 0x2
+  }
+
+  public final class AdvertiseData implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getIncludeDeviceName();
+    method public boolean getIncludeTxPowerLevel();
+    method public android.util.SparseArray<byte[]> getManufacturerSpecificData();
+    method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData();
+    method @NonNull public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids();
+    method public java.util.List<android.os.ParcelUuid> getServiceUuids();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseData> CREATOR;
+  }
+
+  public static final class AdvertiseData.Builder {
+    ctor public AdvertiseData.Builder();
+    method public android.bluetooth.le.AdvertiseData.Builder addManufacturerData(int, byte[]);
+    method public android.bluetooth.le.AdvertiseData.Builder addServiceData(android.os.ParcelUuid, byte[]);
+    method @NonNull public android.bluetooth.le.AdvertiseData.Builder addServiceSolicitationUuid(@NonNull android.os.ParcelUuid);
+    method public android.bluetooth.le.AdvertiseData.Builder addServiceUuid(android.os.ParcelUuid);
+    method public android.bluetooth.le.AdvertiseData build();
+    method public android.bluetooth.le.AdvertiseData.Builder setIncludeDeviceName(boolean);
+    method public android.bluetooth.le.AdvertiseData.Builder setIncludeTxPowerLevel(boolean);
+  }
+
+  public final class AdvertiseSettings implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getMode();
+    method public int getTimeout();
+    method public int getTxPowerLevel();
+    method public boolean isConnectable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ADVERTISE_MODE_BALANCED = 1; // 0x1
+    field public static final int ADVERTISE_MODE_LOW_LATENCY = 2; // 0x2
+    field public static final int ADVERTISE_MODE_LOW_POWER = 0; // 0x0
+    field public static final int ADVERTISE_TX_POWER_HIGH = 3; // 0x3
+    field public static final int ADVERTISE_TX_POWER_LOW = 1; // 0x1
+    field public static final int ADVERTISE_TX_POWER_MEDIUM = 2; // 0x2
+    field public static final int ADVERTISE_TX_POWER_ULTRA_LOW = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseSettings> CREATOR;
+  }
+
+  public static final class AdvertiseSettings.Builder {
+    ctor public AdvertiseSettings.Builder();
+    method public android.bluetooth.le.AdvertiseSettings build();
+    method public android.bluetooth.le.AdvertiseSettings.Builder setAdvertiseMode(int);
+    method public android.bluetooth.le.AdvertiseSettings.Builder setConnectable(boolean);
+    method public android.bluetooth.le.AdvertiseSettings.Builder setTimeout(int);
+    method public android.bluetooth.le.AdvertiseSettings.Builder setTxPowerLevel(int);
+  }
+
+  public final class AdvertisingSet {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void enableAdvertising(boolean, int, int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setAdvertisingData(android.bluetooth.le.AdvertiseData);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setAdvertisingParameters(android.bluetooth.le.AdvertisingSetParameters);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingData(android.bluetooth.le.AdvertiseData);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setPeriodicAdvertisingParameters(android.bluetooth.le.PeriodicAdvertisingParameters);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void setScanResponseData(android.bluetooth.le.AdvertiseData);
+  }
+
+  public abstract class AdvertisingSetCallback {
+    ctor public AdvertisingSetCallback();
+    method public void onAdvertisingDataSet(android.bluetooth.le.AdvertisingSet, int);
+    method public void onAdvertisingEnabled(android.bluetooth.le.AdvertisingSet, boolean, int);
+    method public void onAdvertisingParametersUpdated(android.bluetooth.le.AdvertisingSet, int, int);
+    method public void onAdvertisingSetStarted(android.bluetooth.le.AdvertisingSet, int, int);
+    method public void onAdvertisingSetStopped(android.bluetooth.le.AdvertisingSet);
+    method public void onPeriodicAdvertisingDataSet(android.bluetooth.le.AdvertisingSet, int);
+    method public void onPeriodicAdvertisingEnabled(android.bluetooth.le.AdvertisingSet, boolean, int);
+    method public void onPeriodicAdvertisingParametersUpdated(android.bluetooth.le.AdvertisingSet, int);
+    method public void onScanResponseDataSet(android.bluetooth.le.AdvertisingSet, int);
+    field public static final int ADVERTISE_FAILED_ALREADY_STARTED = 3; // 0x3
+    field public static final int ADVERTISE_FAILED_DATA_TOO_LARGE = 1; // 0x1
+    field public static final int ADVERTISE_FAILED_FEATURE_UNSUPPORTED = 5; // 0x5
+    field public static final int ADVERTISE_FAILED_INTERNAL_ERROR = 4; // 0x4
+    field public static final int ADVERTISE_FAILED_TOO_MANY_ADVERTISERS = 2; // 0x2
+    field public static final int ADVERTISE_SUCCESS = 0; // 0x0
+  }
+
+  public final class AdvertisingSetParameters implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getInterval();
+    method public int getPrimaryPhy();
+    method public int getSecondaryPhy();
+    method public int getTxPowerLevel();
+    method public boolean includeTxPower();
+    method public boolean isAnonymous();
+    method public boolean isConnectable();
+    method public boolean isLegacy();
+    method public boolean isScannable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertisingSetParameters> CREATOR;
+    field public static final int INTERVAL_HIGH = 1600; // 0x640
+    field public static final int INTERVAL_LOW = 160; // 0xa0
+    field public static final int INTERVAL_MAX = 16777215; // 0xffffff
+    field public static final int INTERVAL_MEDIUM = 400; // 0x190
+    field public static final int INTERVAL_MIN = 160; // 0xa0
+    field public static final int TX_POWER_HIGH = 1; // 0x1
+    field public static final int TX_POWER_LOW = -15; // 0xfffffff1
+    field public static final int TX_POWER_MAX = 1; // 0x1
+    field public static final int TX_POWER_MEDIUM = -7; // 0xfffffff9
+    field public static final int TX_POWER_MIN = -127; // 0xffffff81
+    field public static final int TX_POWER_ULTRA_LOW = -21; // 0xffffffeb
+  }
+
+  public static final class AdvertisingSetParameters.Builder {
+    ctor public AdvertisingSetParameters.Builder();
+    method public android.bluetooth.le.AdvertisingSetParameters build();
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setAnonymous(boolean);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setConnectable(boolean);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setIncludeTxPower(boolean);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setInterval(int);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setLegacyMode(boolean);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setPrimaryPhy(int);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setScannable(boolean);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setSecondaryPhy(int);
+    method public android.bluetooth.le.AdvertisingSetParameters.Builder setTxPowerLevel(int);
+  }
+
+  public final class BluetoothLeAdvertiser {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertising(android.bluetooth.le.AdvertiseSettings, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void startAdvertisingSet(android.bluetooth.le.AdvertisingSetParameters, android.bluetooth.le.AdvertiseData, android.bluetooth.le.AdvertiseData, android.bluetooth.le.PeriodicAdvertisingParameters, android.bluetooth.le.AdvertiseData, int, int, android.bluetooth.le.AdvertisingSetCallback, android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void stopAdvertising(android.bluetooth.le.AdvertiseCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADVERTISE) public void stopAdvertisingSet(android.bluetooth.le.AdvertisingSetCallback);
+  }
+
+  public final class BluetoothLeScanner {
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void flushPendingScanResults(android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startScan(android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startScan(java.util.List<android.bluetooth.le.ScanFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public int startScan(@Nullable java.util.List<android.bluetooth.le.ScanFilter>, @Nullable android.bluetooth.le.ScanSettings, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopScan(android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void stopScan(android.app.PendingIntent);
+    field public static final String EXTRA_CALLBACK_TYPE = "android.bluetooth.le.extra.CALLBACK_TYPE";
+    field public static final String EXTRA_ERROR_CODE = "android.bluetooth.le.extra.ERROR_CODE";
+    field public static final String EXTRA_LIST_SCAN_RESULT = "android.bluetooth.le.extra.LIST_SCAN_RESULT";
+  }
+
+  public final class PeriodicAdvertisingParameters implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getIncludeTxPower();
+    method public int getInterval();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.bluetooth.le.PeriodicAdvertisingParameters> CREATOR;
+  }
+
+  public static final class PeriodicAdvertisingParameters.Builder {
+    ctor public PeriodicAdvertisingParameters.Builder();
+    method public android.bluetooth.le.PeriodicAdvertisingParameters build();
+    method public android.bluetooth.le.PeriodicAdvertisingParameters.Builder setIncludeTxPower(boolean);
+    method public android.bluetooth.le.PeriodicAdvertisingParameters.Builder setInterval(int);
+  }
+
+  public abstract class ScanCallback {
+    ctor public ScanCallback();
+    method public void onBatchScanResults(java.util.List<android.bluetooth.le.ScanResult>);
+    method public void onScanFailed(int);
+    method public void onScanResult(int, android.bluetooth.le.ScanResult);
+    field public static final int SCAN_FAILED_ALREADY_STARTED = 1; // 0x1
+    field public static final int SCAN_FAILED_APPLICATION_REGISTRATION_FAILED = 2; // 0x2
+    field public static final int SCAN_FAILED_FEATURE_UNSUPPORTED = 4; // 0x4
+    field public static final int SCAN_FAILED_INTERNAL_ERROR = 3; // 0x3
+  }
+
+  public final class ScanFilter implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getDeviceAddress();
+    method @Nullable public String getDeviceName();
+    method @Nullable public byte[] getManufacturerData();
+    method @Nullable public byte[] getManufacturerDataMask();
+    method public int getManufacturerId();
+    method @Nullable public byte[] getServiceData();
+    method @Nullable public byte[] getServiceDataMask();
+    method @Nullable public android.os.ParcelUuid getServiceDataUuid();
+    method @Nullable public android.os.ParcelUuid getServiceSolicitationUuid();
+    method @Nullable public android.os.ParcelUuid getServiceSolicitationUuidMask();
+    method @Nullable public android.os.ParcelUuid getServiceUuid();
+    method @Nullable public android.os.ParcelUuid getServiceUuidMask();
+    method public boolean matches(android.bluetooth.le.ScanResult);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanFilter> CREATOR;
+  }
+
+  public static final class ScanFilter.Builder {
+    ctor public ScanFilter.Builder();
+    method public android.bluetooth.le.ScanFilter build();
+    method public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(String);
+    method public android.bluetooth.le.ScanFilter.Builder setDeviceName(String);
+    method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[]);
+    method public android.bluetooth.le.ScanFilter.Builder setManufacturerData(int, byte[], byte[]);
+    method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[]);
+    method public android.bluetooth.le.ScanFilter.Builder setServiceData(android.os.ParcelUuid, byte[], byte[]);
+    method @NonNull public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(@Nullable android.os.ParcelUuid);
+    method @NonNull public android.bluetooth.le.ScanFilter.Builder setServiceSolicitationUuid(@Nullable android.os.ParcelUuid, @Nullable android.os.ParcelUuid);
+    method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid);
+    method public android.bluetooth.le.ScanFilter.Builder setServiceUuid(android.os.ParcelUuid, android.os.ParcelUuid);
+  }
+
+  public final class ScanRecord {
+    method public int getAdvertiseFlags();
+    method public byte[] getBytes();
+    method @Nullable public String getDeviceName();
+    method public android.util.SparseArray<byte[]> getManufacturerSpecificData();
+    method @Nullable public byte[] getManufacturerSpecificData(int);
+    method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData();
+    method @Nullable public byte[] getServiceData(android.os.ParcelUuid);
+    method @NonNull public java.util.List<android.os.ParcelUuid> getServiceSolicitationUuids();
+    method public java.util.List<android.os.ParcelUuid> getServiceUuids();
+    method public int getTxPowerLevel();
+  }
+
+  public final class ScanResult implements android.os.Parcelable {
+    ctor @Deprecated public ScanResult(android.bluetooth.BluetoothDevice, android.bluetooth.le.ScanRecord, int, long);
+    ctor public ScanResult(android.bluetooth.BluetoothDevice, int, int, int, int, int, int, int, android.bluetooth.le.ScanRecord, long);
+    method public int describeContents();
+    method public int getAdvertisingSid();
+    method public int getDataStatus();
+    method public android.bluetooth.BluetoothDevice getDevice();
+    method public int getPeriodicAdvertisingInterval();
+    method public int getPrimaryPhy();
+    method public int getRssi();
+    method @Nullable public android.bluetooth.le.ScanRecord getScanRecord();
+    method public int getSecondaryPhy();
+    method public long getTimestampNanos();
+    method public int getTxPower();
+    method public boolean isConnectable();
+    method public boolean isLegacy();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanResult> CREATOR;
+    field public static final int DATA_COMPLETE = 0; // 0x0
+    field public static final int DATA_TRUNCATED = 2; // 0x2
+    field public static final int PERIODIC_INTERVAL_NOT_PRESENT = 0; // 0x0
+    field public static final int PHY_UNUSED = 0; // 0x0
+    field public static final int SID_NOT_PRESENT = 255; // 0xff
+    field public static final int TX_POWER_NOT_PRESENT = 127; // 0x7f
+  }
+
+  public final class ScanSettings implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCallbackType();
+    method public boolean getLegacy();
+    method public int getPhy();
+    method public long getReportDelayMillis();
+    method public int getScanMode();
+    method public int getScanResultType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CALLBACK_TYPE_ALL_MATCHES = 1; // 0x1
+    field public static final int CALLBACK_TYPE_FIRST_MATCH = 2; // 0x2
+    field public static final int CALLBACK_TYPE_MATCH_LOST = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanSettings> CREATOR;
+    field public static final int MATCH_MODE_AGGRESSIVE = 1; // 0x1
+    field public static final int MATCH_MODE_STICKY = 2; // 0x2
+    field public static final int MATCH_NUM_FEW_ADVERTISEMENT = 2; // 0x2
+    field public static final int MATCH_NUM_MAX_ADVERTISEMENT = 3; // 0x3
+    field public static final int MATCH_NUM_ONE_ADVERTISEMENT = 1; // 0x1
+    field public static final int PHY_LE_ALL_SUPPORTED = 255; // 0xff
+    field public static final int SCAN_MODE_BALANCED = 1; // 0x1
+    field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
+    field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
+    field public static final int SCAN_MODE_OPPORTUNISTIC = -1; // 0xffffffff
+  }
+
+  public static final class ScanSettings.Builder {
+    ctor public ScanSettings.Builder();
+    method public android.bluetooth.le.ScanSettings build();
+    method public android.bluetooth.le.ScanSettings.Builder setCallbackType(int);
+    method public android.bluetooth.le.ScanSettings.Builder setLegacy(boolean);
+    method public android.bluetooth.le.ScanSettings.Builder setMatchMode(int);
+    method public android.bluetooth.le.ScanSettings.Builder setNumOfMatches(int);
+    method public android.bluetooth.le.ScanSettings.Builder setPhy(int);
+    method public android.bluetooth.le.ScanSettings.Builder setReportDelay(long);
+    method public android.bluetooth.le.ScanSettings.Builder setScanMode(int);
+  }
+
+}
+
+package android.companion {
+
+  public final class AssociationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.companion.AssociationRequest> CREATOR;
+    field public static final String DEVICE_PROFILE_WATCH = "android.app.role.COMPANION_DEVICE_WATCH";
+  }
+
+  public static final class AssociationRequest.Builder {
+    ctor public AssociationRequest.Builder();
+    method @NonNull public android.companion.AssociationRequest.Builder addDeviceFilter(@Nullable android.companion.DeviceFilter<?>);
+    method @NonNull public android.companion.AssociationRequest build();
+    method @NonNull public android.companion.AssociationRequest.Builder setDeviceProfile(@NonNull String);
+    method @NonNull public android.companion.AssociationRequest.Builder setSingleDevice(boolean);
+  }
+
+  public final class BluetoothDeviceFilter implements android.companion.DeviceFilter<android.bluetooth.BluetoothDevice> {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.companion.BluetoothDeviceFilter> CREATOR;
+  }
+
+  public static final class BluetoothDeviceFilter.Builder {
+    ctor public BluetoothDeviceFilter.Builder();
+    method @NonNull public android.companion.BluetoothDeviceFilter.Builder addServiceUuid(@Nullable android.os.ParcelUuid, @Nullable android.os.ParcelUuid);
+    method @NonNull public android.companion.BluetoothDeviceFilter build();
+    method @NonNull public android.companion.BluetoothDeviceFilter.Builder setAddress(@Nullable String);
+    method public android.companion.BluetoothDeviceFilter.Builder setNamePattern(@Nullable java.util.regex.Pattern);
+  }
+
+  public final class BluetoothLeDeviceFilter implements android.companion.DeviceFilter<android.bluetooth.le.ScanResult> {
+    method public int describeContents();
+    method public static int getRenamePrefixLengthLimit();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.companion.BluetoothLeDeviceFilter> CREATOR;
+  }
+
+  public static final class BluetoothLeDeviceFilter.Builder {
+    ctor public BluetoothLeDeviceFilter.Builder();
+    method @NonNull public android.companion.BluetoothLeDeviceFilter build();
+    method public android.companion.BluetoothLeDeviceFilter.Builder setNamePattern(@Nullable java.util.regex.Pattern);
+    method @NonNull public android.companion.BluetoothLeDeviceFilter.Builder setRawDataFilter(@NonNull byte[], @Nullable byte[]);
+    method @NonNull public android.companion.BluetoothLeDeviceFilter.Builder setRenameFromBytes(@NonNull String, @NonNull String, int, int, java.nio.ByteOrder);
+    method @NonNull public android.companion.BluetoothLeDeviceFilter.Builder setRenameFromName(@NonNull String, @NonNull String, int, int);
+    method @NonNull public android.companion.BluetoothLeDeviceFilter.Builder setScanFilter(@Nullable android.bluetooth.le.ScanFilter);
+  }
+
+  public final class CompanionDeviceManager {
+    method @RequiresPermission(value=android.Manifest.permission.REQUEST_COMPANION_PROFILE_WATCH, conditional=true) public void associate(@NonNull android.companion.AssociationRequest, @NonNull android.companion.CompanionDeviceManager.Callback, @Nullable android.os.Handler);
+    method public void disassociate(@NonNull String);
+    method @NonNull public java.util.List<java.lang.String> getAssociations();
+    method public boolean hasNotificationAccess(android.content.ComponentName);
+    method public void requestNotificationAccess(android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE) public void startObservingDevicePresence(@NonNull String) throws android.companion.DeviceNotAssociatedException;
+    method @RequiresPermission(android.Manifest.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE) public void stopObservingDevicePresence(@NonNull String) throws android.companion.DeviceNotAssociatedException;
+    field public static final String EXTRA_DEVICE = "android.companion.extra.DEVICE";
+  }
+
+  public abstract static class CompanionDeviceManager.Callback {
+    ctor public CompanionDeviceManager.Callback();
+    method public abstract void onDeviceFound(android.content.IntentSender);
+    method public abstract void onFailure(CharSequence);
+  }
+
+  public abstract class CompanionDeviceService extends android.app.Service {
+    ctor public CompanionDeviceService();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method @MainThread public abstract void onDeviceAppeared(@NonNull String);
+    method @MainThread public abstract void onDeviceDisappeared(@NonNull String);
+    field public static final String SERVICE_INTERFACE = "android.companion.CompanionDeviceService";
+  }
+
+  public interface DeviceFilter<D extends android.os.Parcelable> extends android.os.Parcelable {
+  }
+
+  public class DeviceNotAssociatedException extends java.lang.RuntimeException {
+  }
+
+  public final class WifiDeviceFilter implements android.companion.DeviceFilter<android.net.wifi.ScanResult> {
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.companion.WifiDeviceFilter> CREATOR;
+  }
+
+  public static final class WifiDeviceFilter.Builder {
+    ctor public WifiDeviceFilter.Builder();
+    method @NonNull public android.companion.WifiDeviceFilter build();
+    method @NonNull public android.companion.WifiDeviceFilter.Builder setBssid(@NonNull android.net.MacAddress);
+    method @NonNull public android.companion.WifiDeviceFilter.Builder setBssidMask(@NonNull android.net.MacAddress);
+    method @NonNull public android.companion.WifiDeviceFilter.Builder setNamePattern(@Nullable java.util.regex.Pattern);
+  }
+
+}
+
+package android.content {
+
+  public abstract class AbstractThreadedSyncAdapter {
+    ctor public AbstractThreadedSyncAdapter(android.content.Context, boolean);
+    ctor public AbstractThreadedSyncAdapter(android.content.Context, boolean, boolean);
+    method public android.content.Context getContext();
+    method public final android.os.IBinder getSyncAdapterBinder();
+    method public abstract void onPerformSync(android.accounts.Account, android.os.Bundle, String, android.content.ContentProviderClient, android.content.SyncResult);
+    method public void onSecurityException(android.accounts.Account, android.os.Bundle, String, android.content.SyncResult);
+    method public void onSyncCanceled();
+    method public void onSyncCanceled(Thread);
+    method @MainThread public boolean onUnsyncableAccount();
+    field @Deprecated public static final int LOG_SYNC_DETAILS = 2743; // 0xab7
+  }
+
+  public class ActivityNotFoundException extends java.lang.RuntimeException {
+    ctor public ActivityNotFoundException();
+    ctor public ActivityNotFoundException(String);
+  }
+
+  public abstract class AsyncQueryHandler extends android.os.Handler {
+    ctor public AsyncQueryHandler(android.content.ContentResolver);
+    method public final void cancelOperation(int);
+    method protected android.os.Handler createHandler(android.os.Looper);
+    method protected void onDeleteComplete(int, Object, int);
+    method protected void onInsertComplete(int, Object, android.net.Uri);
+    method protected void onQueryComplete(int, Object, android.database.Cursor);
+    method protected void onUpdateComplete(int, Object, int);
+    method public final void startDelete(int, Object, android.net.Uri, String, String[]);
+    method public final void startInsert(int, Object, android.net.Uri, android.content.ContentValues);
+    method public void startQuery(int, Object, android.net.Uri, String[], String, String[], String);
+    method public final void startUpdate(int, Object, android.net.Uri, android.content.ContentValues, String, String[]);
+  }
+
+  protected static final class AsyncQueryHandler.WorkerArgs {
+    ctor protected AsyncQueryHandler.WorkerArgs();
+    field public Object cookie;
+    field public android.os.Handler handler;
+    field public String orderBy;
+    field public String[] projection;
+    field public Object result;
+    field public String selection;
+    field public String[] selectionArgs;
+    field public android.net.Uri uri;
+    field public android.content.ContentValues values;
+  }
+
+  protected class AsyncQueryHandler.WorkerHandler extends android.os.Handler {
+    ctor public AsyncQueryHandler.WorkerHandler(android.os.Looper);
+  }
+
+  @Deprecated public abstract class AsyncTaskLoader<D> extends android.content.Loader<D> {
+    ctor @Deprecated public AsyncTaskLoader(android.content.Context);
+    method @Deprecated public void cancelLoadInBackground();
+    method @Deprecated public boolean isLoadInBackgroundCanceled();
+    method @Deprecated public abstract D loadInBackground();
+    method @Deprecated public void onCanceled(D);
+    method @Deprecated protected D onLoadInBackground();
+    method @Deprecated public void setUpdateThrottle(long);
+  }
+
+  public final class AttributionSource implements android.os.Parcelable {
+    method public boolean checkCallingUid();
+    method public int describeContents();
+    method public void enforceCallingUid();
+    method @Nullable public String getAttributionTag();
+    method @Nullable public android.content.AttributionSource getNext();
+    method @Nullable public String getPackageName();
+    method public int getUid();
+    method public boolean isTrusted(@NonNull android.content.Context);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.AttributionSource> CREATOR;
+  }
+
+  public static final class AttributionSource.Builder {
+    ctor public AttributionSource.Builder(int);
+    method @NonNull public android.content.AttributionSource build();
+    method @NonNull public android.content.AttributionSource.Builder setAttributionTag(@Nullable String);
+    method @NonNull public android.content.AttributionSource.Builder setNext(@Nullable android.content.AttributionSource);
+    method @NonNull public android.content.AttributionSource.Builder setPackageName(@Nullable String);
+  }
+
+  public abstract class BroadcastReceiver {
+    ctor public BroadcastReceiver();
+    method public final void abortBroadcast();
+    method public final void clearAbortBroadcast();
+    method public final boolean getAbortBroadcast();
+    method public final boolean getDebugUnregister();
+    method public final int getResultCode();
+    method public final String getResultData();
+    method public final android.os.Bundle getResultExtras(boolean);
+    method public final android.content.BroadcastReceiver.PendingResult goAsync();
+    method public final boolean isInitialStickyBroadcast();
+    method public final boolean isOrderedBroadcast();
+    method public abstract void onReceive(android.content.Context, android.content.Intent);
+    method public android.os.IBinder peekService(android.content.Context, android.content.Intent);
+    method public final void setDebugUnregister(boolean);
+    method public final void setOrderedHint(boolean);
+    method public final void setResult(int, String, android.os.Bundle);
+    method public final void setResultCode(int);
+    method public final void setResultData(String);
+    method public final void setResultExtras(android.os.Bundle);
+  }
+
+  public static class BroadcastReceiver.PendingResult {
+    method public final void abortBroadcast();
+    method public final void clearAbortBroadcast();
+    method public final void finish();
+    method public final boolean getAbortBroadcast();
+    method public final int getResultCode();
+    method public final String getResultData();
+    method public final android.os.Bundle getResultExtras(boolean);
+    method public final void setResult(int, String, android.os.Bundle);
+    method public final void setResultCode(int);
+    method public final void setResultData(String);
+    method public final void setResultExtras(android.os.Bundle);
+  }
+
+  public class ClipData implements android.os.Parcelable {
+    ctor public ClipData(CharSequence, String[], android.content.ClipData.Item);
+    ctor public ClipData(android.content.ClipDescription, android.content.ClipData.Item);
+    ctor public ClipData(android.content.ClipData);
+    method public void addItem(android.content.ClipData.Item);
+    method public void addItem(android.content.ContentResolver, android.content.ClipData.Item);
+    method public int describeContents();
+    method public android.content.ClipDescription getDescription();
+    method public android.content.ClipData.Item getItemAt(int);
+    method public int getItemCount();
+    method public static android.content.ClipData newHtmlText(CharSequence, CharSequence, String);
+    method public static android.content.ClipData newIntent(CharSequence, android.content.Intent);
+    method public static android.content.ClipData newPlainText(CharSequence, CharSequence);
+    method public static android.content.ClipData newRawUri(CharSequence, android.net.Uri);
+    method public static android.content.ClipData newUri(android.content.ContentResolver, CharSequence, android.net.Uri);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ClipData> CREATOR;
+  }
+
+  public static class ClipData.Item {
+    ctor public ClipData.Item(CharSequence);
+    ctor public ClipData.Item(CharSequence, String);
+    ctor public ClipData.Item(android.content.Intent);
+    ctor public ClipData.Item(android.net.Uri);
+    ctor public ClipData.Item(CharSequence, android.content.Intent, android.net.Uri);
+    ctor public ClipData.Item(CharSequence, String, android.content.Intent, android.net.Uri);
+    method public String coerceToHtmlText(android.content.Context);
+    method public CharSequence coerceToStyledText(android.content.Context);
+    method public CharSequence coerceToText(android.content.Context);
+    method public String getHtmlText();
+    method public android.content.Intent getIntent();
+    method public CharSequence getText();
+    method @Nullable public android.view.textclassifier.TextLinks getTextLinks();
+    method public android.net.Uri getUri();
+  }
+
+  public class ClipDescription implements android.os.Parcelable {
+    ctor public ClipDescription(CharSequence, String[]);
+    ctor public ClipDescription(android.content.ClipDescription);
+    method public static boolean compareMimeTypes(String, String);
+    method public int describeContents();
+    method public String[] filterMimeTypes(String);
+    method public int getClassificationStatus();
+    method @FloatRange(from=0.0, to=1.0) public float getConfidenceScore(@NonNull String);
+    method public android.os.PersistableBundle getExtras();
+    method public CharSequence getLabel();
+    method public String getMimeType(int);
+    method public int getMimeTypeCount();
+    method public long getTimestamp();
+    method public boolean hasMimeType(String);
+    method public boolean isStyledText();
+    method public void setExtras(android.os.PersistableBundle);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CLASSIFICATION_COMPLETE = 3; // 0x3
+    field public static final int CLASSIFICATION_NOT_COMPLETE = 1; // 0x1
+    field public static final int CLASSIFICATION_NOT_PERFORMED = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ClipDescription> CREATOR;
+    field public static final String MIMETYPE_TEXT_HTML = "text/html";
+    field public static final String MIMETYPE_TEXT_INTENT = "text/vnd.android.intent";
+    field public static final String MIMETYPE_TEXT_PLAIN = "text/plain";
+    field public static final String MIMETYPE_TEXT_URILIST = "text/uri-list";
+    field public static final String MIMETYPE_UNKNOWN = "application/octet-stream";
+  }
+
+  public class ClipboardManager extends android.text.ClipboardManager {
+    method public void addPrimaryClipChangedListener(android.content.ClipboardManager.OnPrimaryClipChangedListener);
+    method public void clearPrimaryClip();
+    method @Nullable public android.content.ClipData getPrimaryClip();
+    method @Nullable public android.content.ClipDescription getPrimaryClipDescription();
+    method @Deprecated public CharSequence getText();
+    method public boolean hasPrimaryClip();
+    method @Deprecated public boolean hasText();
+    method public void removePrimaryClipChangedListener(android.content.ClipboardManager.OnPrimaryClipChangedListener);
+    method public void setPrimaryClip(@NonNull android.content.ClipData);
+    method @Deprecated public void setText(CharSequence);
+  }
+
+  public static interface ClipboardManager.OnPrimaryClipChangedListener {
+    method public void onPrimaryClipChanged();
+  }
+
+  public interface ComponentCallbacks {
+    method public void onConfigurationChanged(@NonNull android.content.res.Configuration);
+    method public void onLowMemory();
+  }
+
+  public interface ComponentCallbacks2 extends android.content.ComponentCallbacks {
+    method public void onTrimMemory(int);
+    field public static final int TRIM_MEMORY_BACKGROUND = 40; // 0x28
+    field public static final int TRIM_MEMORY_COMPLETE = 80; // 0x50
+    field public static final int TRIM_MEMORY_MODERATE = 60; // 0x3c
+    field public static final int TRIM_MEMORY_RUNNING_CRITICAL = 15; // 0xf
+    field public static final int TRIM_MEMORY_RUNNING_LOW = 10; // 0xa
+    field public static final int TRIM_MEMORY_RUNNING_MODERATE = 5; // 0x5
+    field public static final int TRIM_MEMORY_UI_HIDDEN = 20; // 0x14
+  }
+
+  public final class ComponentName implements java.lang.Cloneable java.lang.Comparable<android.content.ComponentName> android.os.Parcelable {
+    ctor public ComponentName(@NonNull String, @NonNull String);
+    ctor public ComponentName(@NonNull android.content.Context, @NonNull String);
+    ctor public ComponentName(@NonNull android.content.Context, @NonNull Class<?>);
+    ctor public ComponentName(android.os.Parcel);
+    method public android.content.ComponentName clone();
+    method public int compareTo(android.content.ComponentName);
+    method @NonNull public static android.content.ComponentName createRelative(@NonNull String, @NonNull String);
+    method @NonNull public static android.content.ComponentName createRelative(@NonNull android.content.Context, @NonNull String);
+    method public int describeContents();
+    method @NonNull public String flattenToShortString();
+    method @NonNull public String flattenToString();
+    method @NonNull public String getClassName();
+    method @NonNull public String getPackageName();
+    method public String getShortClassName();
+    method public static android.content.ComponentName readFromParcel(android.os.Parcel);
+    method public String toShortString();
+    method @Nullable public static android.content.ComponentName unflattenFromString(@NonNull String);
+    method public void writeToParcel(android.os.Parcel, int);
+    method public static void writeToParcel(android.content.ComponentName, android.os.Parcel);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ComponentName> CREATOR;
+  }
+
+  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+    ctor public ContentProvider();
+    method @NonNull public android.content.ContentProviderResult[] applyBatch(@NonNull String, @NonNull java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException;
+    method @NonNull public android.content.ContentProviderResult[] applyBatch(@NonNull java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException;
+    method public void attachInfo(android.content.Context, android.content.pm.ProviderInfo);
+    method public int bulkInsert(@NonNull android.net.Uri, @NonNull android.content.ContentValues[]);
+    method @Nullable public android.os.Bundle call(@NonNull String, @NonNull String, @Nullable String, @Nullable android.os.Bundle);
+    method @Nullable public android.os.Bundle call(@NonNull String, @Nullable String, @Nullable android.os.Bundle);
+    method @Nullable public android.net.Uri canonicalize(@NonNull android.net.Uri);
+    method @NonNull public final android.content.ContentProvider.CallingIdentity clearCallingIdentity();
+    method public abstract int delete(@NonNull android.net.Uri, @Nullable String, @Nullable String[]);
+    method public int delete(@NonNull android.net.Uri, @Nullable android.os.Bundle);
+    method public void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Nullable public final android.content.AttributionSource getCallingAttributionSource();
+    method @Nullable public final String getCallingAttributionTag();
+    method @Nullable public final String getCallingPackage();
+    method @Nullable public final String getCallingPackageUnchecked();
+    method @Nullable public final android.content.Context getContext();
+    method @Nullable public final android.content.pm.PathPermission[] getPathPermissions();
+    method @Nullable public final String getReadPermission();
+    method @Nullable public String[] getStreamTypes(@NonNull android.net.Uri, @NonNull String);
+    method @Nullable public abstract String getType(@NonNull android.net.Uri);
+    method @Nullable public final String getWritePermission();
+    method @Nullable public abstract android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues);
+    method @Nullable public android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle);
+    method protected boolean isTemporary();
+    method public void onCallingPackageChanged();
+    method public void onConfigurationChanged(android.content.res.Configuration);
+    method public abstract boolean onCreate();
+    method public void onLowMemory();
+    method public void onTrimMemory(int);
+    method @Nullable public android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @NonNull protected final android.os.ParcelFileDescriptor openFileHelper(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @NonNull public <T> android.os.ParcelFileDescriptor openPipeHelper(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable T, @NonNull android.content.ContentProvider.PipeDataWriter<T>) throws java.io.FileNotFoundException;
+    method @Nullable public android.content.res.AssetFileDescriptor openTypedAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
+    method @Nullable public android.content.res.AssetFileDescriptor openTypedAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public abstract android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String);
+    method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String, @Nullable android.os.CancellationSignal);
+    method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal);
+    method public boolean refresh(android.net.Uri, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal);
+    method @NonNull public final android.content.Context requireContext();
+    method public final void restoreCallingIdentity(@NonNull android.content.ContentProvider.CallingIdentity);
+    method protected final void setPathPermissions(@Nullable android.content.pm.PathPermission[]);
+    method protected final void setReadPermission(@Nullable String);
+    method protected final void setWritePermission(@Nullable String);
+    method public void shutdown();
+    method @Nullable public android.net.Uri uncanonicalize(@NonNull android.net.Uri);
+    method public abstract int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable String, @Nullable String[]);
+    method public int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle);
+  }
+
+  public final class ContentProvider.CallingIdentity {
+  }
+
+  public static interface ContentProvider.PipeDataWriter<T> {
+    method public void writeDataToPipe(@NonNull android.os.ParcelFileDescriptor, @NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable T);
+  }
+
+  public class ContentProviderClient implements java.lang.AutoCloseable {
+    method @NonNull public android.content.ContentProviderResult[] applyBatch(@NonNull java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException, android.os.RemoteException;
+    method @NonNull public android.content.ContentProviderResult[] applyBatch(@NonNull String, @NonNull java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException, android.os.RemoteException;
+    method public int bulkInsert(@NonNull android.net.Uri, @NonNull android.content.ContentValues[]) throws android.os.RemoteException;
+    method @Nullable public android.os.Bundle call(@NonNull String, @Nullable String, @Nullable android.os.Bundle) throws android.os.RemoteException;
+    method @Nullable public android.os.Bundle call(@NonNull String, @NonNull String, @Nullable String, @Nullable android.os.Bundle) throws android.os.RemoteException;
+    method @Nullable public final android.net.Uri canonicalize(@NonNull android.net.Uri) throws android.os.RemoteException;
+    method public void close();
+    method public int delete(@NonNull android.net.Uri, @Nullable String, @Nullable String[]) throws android.os.RemoteException;
+    method public int delete(@NonNull android.net.Uri, @Nullable android.os.Bundle) throws android.os.RemoteException;
+    method @Nullable public android.content.ContentProvider getLocalContentProvider();
+    method @Nullable public String[] getStreamTypes(@NonNull android.net.Uri, @NonNull String) throws android.os.RemoteException;
+    method @Nullable public String getType(@NonNull android.net.Uri) throws android.os.RemoteException;
+    method @Nullable public android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues) throws android.os.RemoteException;
+    method @Nullable public android.net.Uri insert(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle) throws android.os.RemoteException;
+    method @Nullable public android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException, android.os.RemoteException;
+    method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String) throws android.os.RemoteException;
+    method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String, @Nullable android.os.CancellationSignal) throws android.os.RemoteException;
+    method @Nullable public android.database.Cursor query(@NonNull android.net.Uri, @Nullable String[], android.os.Bundle, @Nullable android.os.CancellationSignal) throws android.os.RemoteException;
+    method public boolean refresh(android.net.Uri, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws android.os.RemoteException;
+    method @Deprecated public boolean release();
+    method @Nullable public final android.net.Uri uncanonicalize(@NonNull android.net.Uri) throws android.os.RemoteException;
+    method public int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable String, @Nullable String[]) throws android.os.RemoteException;
+    method public int update(@NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle) throws android.os.RemoteException;
+  }
+
+  public class ContentProviderOperation implements android.os.Parcelable {
+    method @NonNull public android.content.ContentProviderResult apply(@NonNull android.content.ContentProvider, @NonNull android.content.ContentProviderResult[], int) throws android.content.OperationApplicationException;
+    method public int describeContents();
+    method @NonNull public android.net.Uri getUri();
+    method public boolean isAssertQuery();
+    method public boolean isCall();
+    method public boolean isDelete();
+    method public boolean isExceptionAllowed();
+    method public boolean isInsert();
+    method public boolean isReadOperation();
+    method public boolean isUpdate();
+    method public boolean isWriteOperation();
+    method public boolean isYieldAllowed();
+    method @NonNull public static android.content.ContentProviderOperation.Builder newAssertQuery(@NonNull android.net.Uri);
+    method @NonNull public static android.content.ContentProviderOperation.Builder newCall(@NonNull android.net.Uri, @Nullable String, @Nullable String);
+    method @NonNull public static android.content.ContentProviderOperation.Builder newDelete(@NonNull android.net.Uri);
+    method @NonNull public static android.content.ContentProviderOperation.Builder newInsert(@NonNull android.net.Uri);
+    method @NonNull public static android.content.ContentProviderOperation.Builder newUpdate(@NonNull android.net.Uri);
+    method @Nullable public android.os.Bundle resolveExtrasBackReferences(@NonNull android.content.ContentProviderResult[], int);
+    method @Nullable public String[] resolveSelectionArgsBackReferences(@NonNull android.content.ContentProviderResult[], int);
+    method @Nullable public android.content.ContentValues resolveValueBackReferences(@NonNull android.content.ContentProviderResult[], int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentProviderOperation> CREATOR;
+  }
+
+  public static class ContentProviderOperation.Builder {
+    method @NonNull public android.content.ContentProviderOperation build();
+    method @NonNull public android.content.ContentProviderOperation.Builder withExceptionAllowed(boolean);
+    method @NonNull public android.content.ContentProviderOperation.Builder withExpectedCount(int);
+    method @NonNull public android.content.ContentProviderOperation.Builder withExtra(@NonNull String, @Nullable Object);
+    method @NonNull public android.content.ContentProviderOperation.Builder withExtraBackReference(@NonNull String, int);
+    method @NonNull public android.content.ContentProviderOperation.Builder withExtraBackReference(@NonNull String, int, @NonNull String);
+    method @NonNull public android.content.ContentProviderOperation.Builder withExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.content.ContentProviderOperation.Builder withSelection(@Nullable String, @Nullable String[]);
+    method @NonNull public android.content.ContentProviderOperation.Builder withSelectionBackReference(int, int);
+    method @NonNull public android.content.ContentProviderOperation.Builder withSelectionBackReference(int, int, @NonNull String);
+    method @NonNull public android.content.ContentProviderOperation.Builder withValue(@NonNull String, @Nullable Object);
+    method @NonNull public android.content.ContentProviderOperation.Builder withValueBackReference(@NonNull String, int);
+    method @NonNull public android.content.ContentProviderOperation.Builder withValueBackReference(@NonNull String, int, @NonNull String);
+    method @NonNull public android.content.ContentProviderOperation.Builder withValueBackReferences(@NonNull android.content.ContentValues);
+    method @NonNull public android.content.ContentProviderOperation.Builder withValues(@NonNull android.content.ContentValues);
+    method @NonNull public android.content.ContentProviderOperation.Builder withYieldAllowed(boolean);
+  }
+
+  public class ContentProviderResult implements android.os.Parcelable {
+    ctor public ContentProviderResult(@NonNull android.net.Uri);
+    ctor public ContentProviderResult(int);
+    ctor public ContentProviderResult(@NonNull android.os.Bundle);
+    ctor public ContentProviderResult(@NonNull Throwable);
+    ctor public ContentProviderResult(android.os.Parcel);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentProviderResult> CREATOR;
+    field @Nullable public final Integer count;
+    field @Nullable public final Throwable exception;
+    field @Nullable public final android.os.Bundle extras;
+    field @Nullable public final android.net.Uri uri;
+  }
+
+  public class ContentQueryMap extends java.util.Observable {
+    ctor public ContentQueryMap(android.database.Cursor, String, boolean, android.os.Handler);
+    method public void close();
+    method public java.util.Map<java.lang.String,android.content.ContentValues> getRows();
+    method public android.content.ContentValues getValues(String);
+    method public void requery();
+    method public void setKeepUpdated(boolean);
+  }
+
+  public abstract class ContentResolver {
+    ctor public ContentResolver(@Nullable android.content.Context);
+    method @Nullable public final android.content.ContentProviderClient acquireContentProviderClient(@NonNull android.net.Uri);
+    method @Nullable public final android.content.ContentProviderClient acquireContentProviderClient(@NonNull String);
+    method @Nullable public final android.content.ContentProviderClient acquireUnstableContentProviderClient(@NonNull android.net.Uri);
+    method @Nullable public final android.content.ContentProviderClient acquireUnstableContentProviderClient(@NonNull String);
+    method public static void addPeriodicSync(android.accounts.Account, String, android.os.Bundle, long);
+    method public static Object addStatusChangeListener(int, android.content.SyncStatusObserver);
+    method @NonNull public android.content.ContentProviderResult[] applyBatch(@NonNull String, @NonNull java.util.ArrayList<android.content.ContentProviderOperation>) throws android.content.OperationApplicationException, android.os.RemoteException;
+    method public final int bulkInsert(@NonNull @RequiresPermission.Write android.net.Uri, @NonNull android.content.ContentValues[]);
+    method @Nullable public final android.os.Bundle call(@NonNull android.net.Uri, @NonNull String, @Nullable String, @Nullable android.os.Bundle);
+    method @Nullable public final android.os.Bundle call(@NonNull String, @NonNull String, @Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated public void cancelSync(android.net.Uri);
+    method public static void cancelSync(android.accounts.Account, String);
+    method public static void cancelSync(android.content.SyncRequest);
+    method @Nullable public final android.net.Uri canonicalize(@NonNull android.net.Uri);
+    method public final int delete(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable String, @Nullable String[]);
+    method public final int delete(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.os.Bundle);
+    method @Deprecated public static android.content.SyncInfo getCurrentSync();
+    method public static java.util.List<android.content.SyncInfo> getCurrentSyncs();
+    method public static int getIsSyncable(android.accounts.Account, String);
+    method public static boolean getMasterSyncAutomatically();
+    method @NonNull public java.util.List<android.content.UriPermission> getOutgoingPersistedUriPermissions();
+    method public static java.util.List<android.content.PeriodicSync> getPeriodicSyncs(android.accounts.Account, String);
+    method @NonNull public java.util.List<android.content.UriPermission> getPersistedUriPermissions();
+    method @Nullable public String[] getStreamTypes(@NonNull android.net.Uri, @NonNull String);
+    method public static android.content.SyncAdapterType[] getSyncAdapterTypes();
+    method public static boolean getSyncAutomatically(android.accounts.Account, String);
+    method @Nullable public final String getType(@NonNull android.net.Uri);
+    method @NonNull public final android.content.ContentResolver.MimeTypeInfo getTypeInfo(@NonNull String);
+    method @Nullable public final android.net.Uri insert(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues);
+    method @Nullable public final android.net.Uri insert(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle);
+    method public static boolean isSyncActive(android.accounts.Account, String);
+    method public static boolean isSyncPending(android.accounts.Account, String);
+    method @NonNull public android.graphics.Bitmap loadThumbnail(@NonNull android.net.Uri, @NonNull android.util.Size, @Nullable android.os.CancellationSignal) throws java.io.IOException;
+    method public void notifyChange(@NonNull android.net.Uri, @Nullable android.database.ContentObserver);
+    method @Deprecated public void notifyChange(@NonNull android.net.Uri, @Nullable android.database.ContentObserver, boolean);
+    method public void notifyChange(@NonNull android.net.Uri, @Nullable android.database.ContentObserver, int);
+    method public void notifyChange(@NonNull java.util.Collection<android.net.Uri>, @Nullable android.database.ContentObserver, int);
+    method @Nullable public final android.content.res.AssetFileDescriptor openAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final android.os.ParcelFileDescriptor openFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final android.os.ParcelFileDescriptor openFileDescriptor(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public final android.os.ParcelFileDescriptor openFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final java.io.InputStream openInputStream(@NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method @Nullable public final java.io.OutputStream openOutputStream(@NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method @Nullable public final java.io.OutputStream openOutputStream(@NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFile(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
+    method @Nullable public final android.content.res.AssetFileDescriptor openTypedAssetFileDescriptor(@NonNull android.net.Uri, @NonNull String, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public final android.database.Cursor query(@NonNull @RequiresPermission.Read android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String);
+    method @Nullable public final android.database.Cursor query(@NonNull @RequiresPermission.Read android.net.Uri, @Nullable String[], @Nullable String, @Nullable String[], @Nullable String, @Nullable android.os.CancellationSignal);
+    method @Nullable public final android.database.Cursor query(@NonNull @RequiresPermission.Read android.net.Uri, @Nullable String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal);
+    method public final boolean refresh(@NonNull android.net.Uri, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal);
+    method public final void registerContentObserver(@NonNull android.net.Uri, boolean, @NonNull android.database.ContentObserver);
+    method public void releasePersistableUriPermission(@NonNull android.net.Uri, int);
+    method public static void removePeriodicSync(android.accounts.Account, String, android.os.Bundle);
+    method public static void removeStatusChangeListener(Object);
+    method public static void requestSync(android.accounts.Account, String, android.os.Bundle);
+    method public static void requestSync(android.content.SyncRequest);
+    method public static void setIsSyncable(android.accounts.Account, String, int);
+    method public static void setMasterSyncAutomatically(boolean);
+    method public static void setSyncAutomatically(android.accounts.Account, String, boolean);
+    method @Deprecated public void startSync(android.net.Uri, android.os.Bundle);
+    method public void takePersistableUriPermission(@NonNull android.net.Uri, int);
+    method @Nullable public final android.net.Uri uncanonicalize(@NonNull android.net.Uri);
+    method public final void unregisterContentObserver(@NonNull android.database.ContentObserver);
+    method public final int update(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues, @Nullable String, @Nullable String[]);
+    method public final int update(@NonNull @RequiresPermission.Write android.net.Uri, @Nullable android.content.ContentValues, @Nullable android.os.Bundle);
+    method public static void validateSyncExtrasBundle(android.os.Bundle);
+    method @NonNull public static android.content.ContentResolver wrap(@NonNull android.content.ContentProvider);
+    method @NonNull public static android.content.ContentResolver wrap(@NonNull android.content.ContentProviderClient);
+    field public static final String ANY_CURSOR_ITEM_TYPE = "vnd.android.cursor.item/*";
+    field public static final String CURSOR_DIR_BASE_TYPE = "vnd.android.cursor.dir";
+    field public static final String CURSOR_ITEM_BASE_TYPE = "vnd.android.cursor.item";
+    field public static final String EXTRA_HONORED_ARGS = "android.content.extra.HONORED_ARGS";
+    field public static final String EXTRA_REFRESH_SUPPORTED = "android.content.extra.REFRESH_SUPPORTED";
+    field public static final String EXTRA_SIZE = "android.content.extra.SIZE";
+    field public static final String EXTRA_TOTAL_COUNT = "android.content.extra.TOTAL_COUNT";
+    field public static final int NOTIFY_DELETE = 16; // 0x10
+    field public static final int NOTIFY_INSERT = 4; // 0x4
+    field public static final int NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS = 2; // 0x2
+    field public static final int NOTIFY_SYNC_TO_NETWORK = 1; // 0x1
+    field public static final int NOTIFY_UPDATE = 8; // 0x8
+    field public static final String QUERY_ARG_GROUP_COLUMNS = "android:query-arg-group-columns";
+    field public static final String QUERY_ARG_LIMIT = "android:query-arg-limit";
+    field public static final String QUERY_ARG_OFFSET = "android:query-arg-offset";
+    field public static final String QUERY_ARG_SORT_COLLATION = "android:query-arg-sort-collation";
+    field public static final String QUERY_ARG_SORT_COLUMNS = "android:query-arg-sort-columns";
+    field public static final String QUERY_ARG_SORT_DIRECTION = "android:query-arg-sort-direction";
+    field public static final String QUERY_ARG_SORT_LOCALE = "android:query-arg-sort-locale";
+    field public static final String QUERY_ARG_SQL_GROUP_BY = "android:query-arg-sql-group-by";
+    field public static final String QUERY_ARG_SQL_HAVING = "android:query-arg-sql-having";
+    field public static final String QUERY_ARG_SQL_LIMIT = "android:query-arg-sql-limit";
+    field public static final String QUERY_ARG_SQL_SELECTION = "android:query-arg-sql-selection";
+    field public static final String QUERY_ARG_SQL_SELECTION_ARGS = "android:query-arg-sql-selection-args";
+    field public static final String QUERY_ARG_SQL_SORT_ORDER = "android:query-arg-sql-sort-order";
+    field public static final int QUERY_SORT_DIRECTION_ASCENDING = 0; // 0x0
+    field public static final int QUERY_SORT_DIRECTION_DESCENDING = 1; // 0x1
+    field public static final String SCHEME_ANDROID_RESOURCE = "android.resource";
+    field public static final String SCHEME_CONTENT = "content";
+    field public static final String SCHEME_FILE = "file";
+    field @Deprecated public static final String SYNC_EXTRAS_ACCOUNT = "account";
+    field public static final String SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS = "discard_deletions";
+    field public static final String SYNC_EXTRAS_DO_NOT_RETRY = "do_not_retry";
+    field public static final String SYNC_EXTRAS_EXPEDITED = "expedited";
+    field @Deprecated public static final String SYNC_EXTRAS_FORCE = "force";
+    field public static final String SYNC_EXTRAS_IGNORE_BACKOFF = "ignore_backoff";
+    field public static final String SYNC_EXTRAS_IGNORE_SETTINGS = "ignore_settings";
+    field public static final String SYNC_EXTRAS_INITIALIZE = "initialize";
+    field public static final String SYNC_EXTRAS_MANUAL = "force";
+    field public static final String SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS = "deletions_override";
+    field public static final String SYNC_EXTRAS_REQUIRE_CHARGING = "require_charging";
+    field public static final String SYNC_EXTRAS_SCHEDULE_AS_EXPEDITED_JOB = "schedule_as_expedited_job";
+    field public static final String SYNC_EXTRAS_UPLOAD = "upload";
+    field public static final int SYNC_OBSERVER_TYPE_ACTIVE = 4; // 0x4
+    field public static final int SYNC_OBSERVER_TYPE_PENDING = 2; // 0x2
+    field public static final int SYNC_OBSERVER_TYPE_SETTINGS = 1; // 0x1
+  }
+
+  public static final class ContentResolver.MimeTypeInfo {
+    method @NonNull public CharSequence getContentDescription();
+    method @NonNull public android.graphics.drawable.Icon getIcon();
+    method @NonNull public CharSequence getLabel();
+  }
+
+  public class ContentUris {
+    ctor public ContentUris();
+    method @NonNull public static android.net.Uri.Builder appendId(@NonNull android.net.Uri.Builder, long);
+    method public static long parseId(@NonNull android.net.Uri);
+    method @NonNull public static android.net.Uri removeId(@NonNull android.net.Uri);
+    method @NonNull public static android.net.Uri withAppendedId(@NonNull android.net.Uri, long);
+  }
+
+  public final class ContentValues implements android.os.Parcelable {
+    ctor public ContentValues();
+    ctor public ContentValues(int);
+    ctor public ContentValues(android.content.ContentValues);
+    method public void clear();
+    method public boolean containsKey(String);
+    method public int describeContents();
+    method public Object get(String);
+    method public Boolean getAsBoolean(String);
+    method public Byte getAsByte(String);
+    method public byte[] getAsByteArray(String);
+    method public Double getAsDouble(String);
+    method public Float getAsFloat(String);
+    method public Integer getAsInteger(String);
+    method public Long getAsLong(String);
+    method public Short getAsShort(String);
+    method public String getAsString(String);
+    method public boolean isEmpty();
+    method public java.util.Set<java.lang.String> keySet();
+    method public void put(String, String);
+    method public void put(String, Byte);
+    method public void put(String, Short);
+    method public void put(String, Integer);
+    method public void put(String, Long);
+    method public void put(String, Float);
+    method public void put(String, Double);
+    method public void put(String, Boolean);
+    method public void put(String, byte[]);
+    method public void putAll(android.content.ContentValues);
+    method public void putNull(String);
+    method public void remove(String);
+    method public int size();
+    method public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> valueSet();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentValues> CREATOR;
+    field public static final String TAG = "ContentValues";
+  }
+
+  public abstract class Context {
+    ctor public Context();
+    method public boolean bindIsolatedService(@NonNull @RequiresPermission android.content.Intent, int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.content.ServiceConnection);
+    method public abstract boolean bindService(@RequiresPermission android.content.Intent, @NonNull android.content.ServiceConnection, int);
+    method public boolean bindService(@NonNull @RequiresPermission android.content.Intent, int, @NonNull java.util.concurrent.Executor, @NonNull android.content.ServiceConnection);
+    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.INTERACT_ACROSS_PROFILES}) public boolean bindServiceAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.content.ServiceConnection, int, @NonNull android.os.UserHandle);
+    method @CheckResult(suggest="#enforceCallingOrSelfPermission(String,String)") public abstract int checkCallingOrSelfPermission(@NonNull String);
+    method @CheckResult(suggest="#enforceCallingOrSelfUriPermission(Uri,int,String)") public abstract int checkCallingOrSelfUriPermission(android.net.Uri, int);
+    method @NonNull public int[] checkCallingOrSelfUriPermissions(@NonNull java.util.List<android.net.Uri>, int);
+    method @CheckResult(suggest="#enforceCallingPermission(String,String)") public abstract int checkCallingPermission(@NonNull String);
+    method @CheckResult(suggest="#enforceCallingUriPermission(Uri,int,String)") public abstract int checkCallingUriPermission(android.net.Uri, int);
+    method @NonNull public int[] checkCallingUriPermissions(@NonNull java.util.List<android.net.Uri>, int);
+    method @CheckResult(suggest="#enforcePermission(String,int,int,String)") public abstract int checkPermission(@NonNull String, int, int);
+    method public abstract int checkSelfPermission(@NonNull String);
+    method @CheckResult(suggest="#enforceUriPermission(Uri,int,int,String)") public abstract int checkUriPermission(android.net.Uri, int, int, int);
+    method @CheckResult(suggest="#enforceUriPermission(Uri,String,String,int,int,int,String)") public abstract int checkUriPermission(@Nullable android.net.Uri, @Nullable String, @Nullable String, int, int, int);
+    method @NonNull public int[] checkUriPermissions(@NonNull java.util.List<android.net.Uri>, int, int, int);
+    method @Deprecated public abstract void clearWallpaper() throws java.io.IOException;
+    method @NonNull public android.content.Context createAttributionContext(@Nullable String);
+    method public abstract android.content.Context createConfigurationContext(@NonNull android.content.res.Configuration);
+    method @NonNull public android.content.Context createContext(@NonNull android.content.ContextParams);
+    method public abstract android.content.Context createContextForSplit(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract android.content.Context createDeviceProtectedStorageContext();
+    method @DisplayContext public abstract android.content.Context createDisplayContext(@NonNull android.view.Display);
+    method public abstract android.content.Context createPackageContext(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @UiContext public android.content.Context createWindowContext(int, @Nullable android.os.Bundle);
+    method @NonNull @UiContext public android.content.Context createWindowContext(@NonNull android.view.Display, int, @Nullable android.os.Bundle);
+    method public abstract String[] databaseList();
+    method public abstract boolean deleteDatabase(String);
+    method public abstract boolean deleteFile(String);
+    method public abstract boolean deleteSharedPreferences(String);
+    method public abstract void enforceCallingOrSelfPermission(@NonNull String, @Nullable String);
+    method public abstract void enforceCallingOrSelfUriPermission(android.net.Uri, int, String);
+    method public abstract void enforceCallingPermission(@NonNull String, @Nullable String);
+    method public abstract void enforceCallingUriPermission(android.net.Uri, int, String);
+    method public abstract void enforcePermission(@NonNull String, int, int, @Nullable String);
+    method public abstract void enforceUriPermission(android.net.Uri, int, int, int, String);
+    method public abstract void enforceUriPermission(@Nullable android.net.Uri, @Nullable String, @Nullable String, int, int, int, @Nullable String);
+    method public abstract String[] fileList();
+    method public abstract android.content.Context getApplicationContext();
+    method public abstract android.content.pm.ApplicationInfo getApplicationInfo();
+    method public abstract android.content.res.AssetManager getAssets();
+    method @NonNull public android.content.AttributionSource getAttributionSource();
+    method @Nullable public String getAttributionTag();
+    method public abstract java.io.File getCacheDir();
+    method public abstract ClassLoader getClassLoader();
+    method public abstract java.io.File getCodeCacheDir();
+    method @ColorInt public final int getColor(@ColorRes int);
+    method @NonNull public final android.content.res.ColorStateList getColorStateList(@ColorRes int);
+    method public abstract android.content.ContentResolver getContentResolver();
+    method public abstract java.io.File getDataDir();
+    method public abstract java.io.File getDatabasePath(String);
+    method public abstract java.io.File getDir(String, int);
+    method @Nullable public android.view.Display getDisplay();
+    method @Nullable public final android.graphics.drawable.Drawable getDrawable(@DrawableRes int);
+    method @Nullable public abstract java.io.File getExternalCacheDir();
+    method public abstract java.io.File[] getExternalCacheDirs();
+    method @Nullable public abstract java.io.File getExternalFilesDir(@Nullable String);
+    method public abstract java.io.File[] getExternalFilesDirs(String);
+    method @Deprecated public abstract java.io.File[] getExternalMediaDirs();
+    method public abstract java.io.File getFileStreamPath(String);
+    method public abstract java.io.File getFilesDir();
+    method public java.util.concurrent.Executor getMainExecutor();
+    method public abstract android.os.Looper getMainLooper();
+    method public abstract java.io.File getNoBackupFilesDir();
+    method public abstract java.io.File getObbDir();
+    method public abstract java.io.File[] getObbDirs();
+    method @NonNull public String getOpPackageName();
+    method public abstract String getPackageCodePath();
+    method public abstract android.content.pm.PackageManager getPackageManager();
+    method public abstract String getPackageName();
+    method public abstract String getPackageResourcePath();
+    method @Nullable public android.content.ContextParams getParams();
+    method public abstract android.content.res.Resources getResources();
+    method public abstract android.content.SharedPreferences getSharedPreferences(String, int);
+    method @NonNull public final String getString(@StringRes int);
+    method @NonNull public final String getString(@StringRes int, java.lang.Object...);
+    method public abstract Object getSystemService(@NonNull String);
+    method public final <T> T getSystemService(@NonNull Class<T>);
+    method @Nullable public abstract String getSystemServiceName(@NonNull Class<?>);
+    method @NonNull public final CharSequence getText(@StringRes int);
+    method public abstract android.content.res.Resources.Theme getTheme();
+    method @Deprecated public abstract android.graphics.drawable.Drawable getWallpaper();
+    method @Deprecated public abstract int getWallpaperDesiredMinimumHeight();
+    method @Deprecated public abstract int getWallpaperDesiredMinimumWidth();
+    method public abstract void grantUriPermission(String, android.net.Uri, int);
+    method public abstract boolean isDeviceProtectedStorage();
+    method public boolean isRestricted();
+    method public boolean isUiContext();
+    method public abstract boolean moveDatabaseFrom(android.content.Context, String);
+    method public abstract boolean moveSharedPreferencesFrom(android.content.Context, String);
+    method @NonNull public final android.content.res.TypedArray obtainStyledAttributes(@NonNull @StyleableRes int[]);
+    method @NonNull public final android.content.res.TypedArray obtainStyledAttributes(@StyleRes int, @NonNull @StyleableRes int[]) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public final android.content.res.TypedArray obtainStyledAttributes(@Nullable android.util.AttributeSet, @NonNull @StyleableRes int[]);
+    method @NonNull public final android.content.res.TypedArray obtainStyledAttributes(@Nullable android.util.AttributeSet, @NonNull @StyleableRes int[], @AttrRes int, @StyleRes int);
+    method public abstract java.io.FileInputStream openFileInput(String) throws java.io.FileNotFoundException;
+    method public abstract java.io.FileOutputStream openFileOutput(String, int) throws java.io.FileNotFoundException;
+    method public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(String, int, android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public abstract android.database.sqlite.SQLiteDatabase openOrCreateDatabase(String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, @Nullable android.database.DatabaseErrorHandler);
+    method @Deprecated public abstract android.graphics.drawable.Drawable peekWallpaper();
+    method public void registerComponentCallbacks(android.content.ComponentCallbacks);
+    method @Nullable public abstract android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter);
+    method @Nullable public abstract android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter, int);
+    method @Nullable public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler);
+    method @Nullable public abstract android.content.Intent registerReceiver(android.content.BroadcastReceiver, android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BROADCAST_STICKY) public abstract void removeStickyBroadcast(@RequiresPermission android.content.Intent);
+    method @Deprecated @RequiresPermission(allOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.BROADCAST_STICKY}) public abstract void removeStickyBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle);
+    method public abstract void revokeUriPermission(android.net.Uri, int);
+    method public abstract void revokeUriPermission(String, android.net.Uri, int);
+    method public abstract void sendBroadcast(@RequiresPermission android.content.Intent);
+    method public abstract void sendBroadcast(@RequiresPermission android.content.Intent, @Nullable String);
+    method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle);
+    method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, @Nullable String);
+    method public void sendBroadcastWithMultiplePermissions(@NonNull android.content.Intent, @NonNull String[]);
+    method public abstract void sendOrderedBroadcast(@RequiresPermission android.content.Intent, @Nullable String);
+    method public abstract void sendOrderedBroadcast(@NonNull @RequiresPermission android.content.Intent, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method public void sendOrderedBroadcast(@NonNull android.content.Intent, @Nullable String, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public abstract void sendOrderedBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, @Nullable String, android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BROADCAST_STICKY) public abstract void sendStickyBroadcast(@RequiresPermission android.content.Intent);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BROADCAST_STICKY) public void sendStickyBroadcast(@NonNull @RequiresPermission android.content.Intent, @Nullable android.os.Bundle);
+    method @Deprecated @RequiresPermission(allOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.BROADCAST_STICKY}) public abstract void sendStickyBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BROADCAST_STICKY) public abstract void sendStickyOrderedBroadcast(@RequiresPermission android.content.Intent, android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated @RequiresPermission(allOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.BROADCAST_STICKY}) public abstract void sendStickyOrderedBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method public abstract void setTheme(@StyleRes int);
+    method @Deprecated public abstract void setWallpaper(android.graphics.Bitmap) throws java.io.IOException;
+    method @Deprecated public abstract void setWallpaper(java.io.InputStream) throws java.io.IOException;
+    method public abstract void startActivities(@RequiresPermission android.content.Intent[]);
+    method public abstract void startActivities(@RequiresPermission android.content.Intent[], android.os.Bundle);
+    method public abstract void startActivity(@RequiresPermission android.content.Intent);
+    method public abstract void startActivity(@RequiresPermission android.content.Intent, @Nullable android.os.Bundle);
+    method @Nullable public abstract android.content.ComponentName startForegroundService(android.content.Intent);
+    method public abstract boolean startInstrumentation(@NonNull android.content.ComponentName, @Nullable String, @Nullable android.os.Bundle);
+    method public abstract void startIntentSender(android.content.IntentSender, @Nullable android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+    method public abstract void startIntentSender(android.content.IntentSender, @Nullable android.content.Intent, int, int, int, @Nullable android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method @Nullable public abstract android.content.ComponentName startService(android.content.Intent);
+    method public abstract boolean stopService(android.content.Intent);
+    method public abstract void unbindService(@NonNull android.content.ServiceConnection);
+    method public void unregisterComponentCallbacks(android.content.ComponentCallbacks);
+    method public abstract void unregisterReceiver(android.content.BroadcastReceiver);
+    method public void updateServiceGroup(@NonNull android.content.ServiceConnection, int, int);
+    field public static final String ACCESSIBILITY_SERVICE = "accessibility";
+    field public static final String ACCOUNT_SERVICE = "account";
+    field public static final String ACTIVITY_SERVICE = "activity";
+    field public static final String ALARM_SERVICE = "alarm";
+    field public static final String APPWIDGET_SERVICE = "appwidget";
+    field public static final String APP_OPS_SERVICE = "appops";
+    field public static final String APP_SEARCH_SERVICE = "app_search";
+    field public static final String AUDIO_SERVICE = "audio";
+    field public static final String BATTERY_SERVICE = "batterymanager";
+    field public static final int BIND_ABOVE_CLIENT = 8; // 0x8
+    field public static final int BIND_ADJUST_WITH_ACTIVITY = 128; // 0x80
+    field public static final int BIND_ALLOW_OOM_MANAGEMENT = 16; // 0x10
+    field public static final int BIND_AUTO_CREATE = 1; // 0x1
+    field public static final int BIND_DEBUG_UNBIND = 2; // 0x2
+    field public static final int BIND_EXTERNAL_SERVICE = -2147483648; // 0x80000000
+    field public static final int BIND_IMPORTANT = 64; // 0x40
+    field public static final int BIND_INCLUDE_CAPABILITIES = 4096; // 0x1000
+    field public static final int BIND_NOT_FOREGROUND = 4; // 0x4
+    field public static final int BIND_NOT_PERCEPTIBLE = 256; // 0x100
+    field public static final int BIND_WAIVE_PRIORITY = 32; // 0x20
+    field public static final String BIOMETRIC_SERVICE = "biometric";
+    field public static final String BLOB_STORE_SERVICE = "blob_store";
+    field public static final String BLUETOOTH_SERVICE = "bluetooth";
+    field public static final String BUGREPORT_SERVICE = "bugreport";
+    field public static final String CAMERA_SERVICE = "camera";
+    field public static final String CAPTIONING_SERVICE = "captioning";
+    field public static final String CARRIER_CONFIG_SERVICE = "carrier_config";
+    field public static final String CLIPBOARD_SERVICE = "clipboard";
+    field public static final String COMPANION_DEVICE_SERVICE = "companiondevice";
+    field public static final String CONNECTIVITY_DIAGNOSTICS_SERVICE = "connectivity_diagnostics";
+    field public static final String CONNECTIVITY_SERVICE = "connectivity";
+    field public static final String CONSUMER_IR_SERVICE = "consumer_ir";
+    field public static final int CONTEXT_IGNORE_SECURITY = 2; // 0x2
+    field public static final int CONTEXT_INCLUDE_CODE = 1; // 0x1
+    field public static final int CONTEXT_RESTRICTED = 4; // 0x4
+    field public static final String CROSS_PROFILE_APPS_SERVICE = "crossprofileapps";
+    field public static final String DEVICE_POLICY_SERVICE = "device_policy";
+    field public static final String DISPLAY_HASH_SERVICE = "display_hash";
+    field public static final String DISPLAY_SERVICE = "display";
+    field public static final String DOMAIN_VERIFICATION_SERVICE = "domain_verification";
+    field public static final String DOWNLOAD_SERVICE = "download";
+    field public static final String DROPBOX_SERVICE = "dropbox";
+    field public static final String EUICC_SERVICE = "euicc";
+    field public static final String FILE_INTEGRITY_SERVICE = "file_integrity";
+    field public static final String FINGERPRINT_SERVICE = "fingerprint";
+    field public static final String GAME_SERVICE = "game";
+    field public static final String HARDWARE_PROPERTIES_SERVICE = "hardware_properties";
+    field public static final String INPUT_METHOD_SERVICE = "input_method";
+    field public static final String INPUT_SERVICE = "input";
+    field public static final String IPSEC_SERVICE = "ipsec";
+    field public static final String JOB_SCHEDULER_SERVICE = "jobscheduler";
+    field public static final String KEYGUARD_SERVICE = "keyguard";
+    field public static final String LAUNCHER_APPS_SERVICE = "launcherapps";
+    field @UiContext public static final String LAYOUT_INFLATER_SERVICE = "layout_inflater";
+    field public static final String LOCATION_SERVICE = "location";
+    field public static final String MEDIA_COMMUNICATION_SERVICE = "media_communication";
+    field public static final String MEDIA_METRICS_SERVICE = "media_metrics";
+    field public static final String MEDIA_PROJECTION_SERVICE = "media_projection";
+    field public static final String MEDIA_ROUTER_SERVICE = "media_router";
+    field public static final String MEDIA_SESSION_SERVICE = "media_session";
+    field public static final String MIDI_SERVICE = "midi";
+    field public static final int MODE_APPEND = 32768; // 0x8000
+    field public static final int MODE_ENABLE_WRITE_AHEAD_LOGGING = 8; // 0x8
+    field @Deprecated public static final int MODE_MULTI_PROCESS = 4; // 0x4
+    field public static final int MODE_NO_LOCALIZED_COLLATORS = 16; // 0x10
+    field public static final int MODE_PRIVATE = 0; // 0x0
+    field @Deprecated public static final int MODE_WORLD_READABLE = 1; // 0x1
+    field @Deprecated public static final int MODE_WORLD_WRITEABLE = 2; // 0x2
+    field public static final String NETWORK_STATS_SERVICE = "netstats";
+    field public static final String NFC_SERVICE = "nfc";
+    field public static final String NOTIFICATION_SERVICE = "notification";
+    field public static final String NSD_SERVICE = "servicediscovery";
+    field public static final String PEOPLE_SERVICE = "people";
+    field public static final String PERFORMANCE_HINT_SERVICE = "performance_hint";
+    field public static final String POWER_SERVICE = "power";
+    field public static final String PRINT_SERVICE = "print";
+    field public static final int RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; // 0x1
+    field public static final String RESTRICTIONS_SERVICE = "restrictions";
+    field public static final String ROLE_SERVICE = "role";
+    field public static final String SEARCH_SERVICE = "search";
+    field public static final String SENSOR_SERVICE = "sensor";
+    field public static final String SHORTCUT_SERVICE = "shortcut";
+    field public static final String STORAGE_SERVICE = "storage";
+    field public static final String STORAGE_STATS_SERVICE = "storagestats";
+    field public static final String SYSTEM_HEALTH_SERVICE = "systemhealth";
+    field public static final String TELECOM_SERVICE = "telecom";
+    field public static final String TELEPHONY_IMS_SERVICE = "telephony_ims";
+    field public static final String TELEPHONY_SERVICE = "phone";
+    field public static final String TELEPHONY_SUBSCRIPTION_SERVICE = "telephony_subscription_service";
+    field public static final String TEXT_CLASSIFICATION_SERVICE = "textclassification";
+    field public static final String TEXT_SERVICES_MANAGER_SERVICE = "textservices";
+    field public static final String TV_INPUT_SERVICE = "tv_input";
+    field public static final String UI_MODE_SERVICE = "uimode";
+    field public static final String USAGE_STATS_SERVICE = "usagestats";
+    field public static final String USB_SERVICE = "usb";
+    field public static final String USER_SERVICE = "user";
+    field public static final String VIBRATOR_MANAGER_SERVICE = "vibrator_manager";
+    field @Deprecated public static final String VIBRATOR_SERVICE = "vibrator";
+    field public static final String VPN_MANAGEMENT_SERVICE = "vpn_management";
+    field @UiContext public static final String WALLPAPER_SERVICE = "wallpaper";
+    field public static final String WIFI_AWARE_SERVICE = "wifiaware";
+    field public static final String WIFI_P2P_SERVICE = "wifip2p";
+    field public static final String WIFI_RTT_RANGING_SERVICE = "wifirtt";
+    field public static final String WIFI_SERVICE = "wifi";
+    field @UiContext public static final String WINDOW_SERVICE = "window";
+  }
+
+  public final class ContextParams {
+    method @Nullable public String getAttributionTag();
+    method @Nullable public android.content.AttributionSource getNextAttributionSource();
+  }
+
+  public static final class ContextParams.Builder {
+    ctor public ContextParams.Builder();
+    ctor public ContextParams.Builder(@NonNull android.content.ContextParams);
+    method @NonNull public android.content.ContextParams build();
+    method @NonNull public android.content.ContextParams.Builder setAttributionTag(@Nullable String);
+    method @NonNull public android.content.ContextParams.Builder setNextAttributionSource(@Nullable android.content.AttributionSource);
+  }
+
+  public class ContextWrapper extends android.content.Context {
+    ctor public ContextWrapper(android.content.Context);
+    method protected void attachBaseContext(android.content.Context);
+    method public boolean bindService(android.content.Intent, android.content.ServiceConnection, int);
+    method public int checkCallingOrSelfPermission(String);
+    method public int checkCallingOrSelfUriPermission(android.net.Uri, int);
+    method public int checkCallingPermission(String);
+    method public int checkCallingUriPermission(android.net.Uri, int);
+    method public int checkPermission(String, int, int);
+    method public int checkSelfPermission(String);
+    method public int checkUriPermission(android.net.Uri, int, int, int);
+    method public int checkUriPermission(@Nullable android.net.Uri, @Nullable String, @Nullable String, int, int, int);
+    method @Deprecated public void clearWallpaper() throws java.io.IOException;
+    method public android.content.Context createConfigurationContext(android.content.res.Configuration);
+    method public android.content.Context createContextForSplit(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public android.content.Context createDeviceProtectedStorageContext();
+    method public android.content.Context createDisplayContext(android.view.Display);
+    method public android.content.Context createPackageContext(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public String[] databaseList();
+    method public boolean deleteDatabase(String);
+    method public boolean deleteFile(String);
+    method public boolean deleteSharedPreferences(String);
+    method public void enforceCallingOrSelfPermission(String, @Nullable String);
+    method public void enforceCallingOrSelfUriPermission(android.net.Uri, int, String);
+    method public void enforceCallingPermission(String, @Nullable String);
+    method public void enforceCallingUriPermission(android.net.Uri, int, String);
+    method public void enforcePermission(String, int, int, @Nullable String);
+    method public void enforceUriPermission(android.net.Uri, int, int, int, String);
+    method public void enforceUriPermission(@Nullable android.net.Uri, @Nullable String, @Nullable String, int, int, int, @Nullable String);
+    method public String[] fileList();
+    method public android.content.Context getApplicationContext();
+    method public android.content.pm.ApplicationInfo getApplicationInfo();
+    method public android.content.res.AssetManager getAssets();
+    method public android.content.Context getBaseContext();
+    method public java.io.File getCacheDir();
+    method public ClassLoader getClassLoader();
+    method public java.io.File getCodeCacheDir();
+    method public android.content.ContentResolver getContentResolver();
+    method public java.io.File getDataDir();
+    method public java.io.File getDatabasePath(String);
+    method public java.io.File getDir(String, int);
+    method @Nullable public java.io.File getExternalCacheDir();
+    method public java.io.File[] getExternalCacheDirs();
+    method @Nullable public java.io.File getExternalFilesDir(@Nullable String);
+    method public java.io.File[] getExternalFilesDirs(String);
+    method public java.io.File[] getExternalMediaDirs();
+    method public java.io.File getFileStreamPath(String);
+    method public java.io.File getFilesDir();
+    method public android.os.Looper getMainLooper();
+    method public java.io.File getNoBackupFilesDir();
+    method public java.io.File getObbDir();
+    method public java.io.File[] getObbDirs();
+    method public String getPackageCodePath();
+    method public android.content.pm.PackageManager getPackageManager();
+    method public String getPackageName();
+    method public String getPackageResourcePath();
+    method public android.content.res.Resources getResources();
+    method public android.content.SharedPreferences getSharedPreferences(String, int);
+    method public Object getSystemService(String);
+    method public String getSystemServiceName(Class<?>);
+    method public android.content.res.Resources.Theme getTheme();
+    method @Deprecated public android.graphics.drawable.Drawable getWallpaper();
+    method @Deprecated public int getWallpaperDesiredMinimumHeight();
+    method @Deprecated public int getWallpaperDesiredMinimumWidth();
+    method public void grantUriPermission(String, android.net.Uri, int);
+    method public boolean isDeviceProtectedStorage();
+    method public boolean moveDatabaseFrom(android.content.Context, String);
+    method public boolean moveSharedPreferencesFrom(android.content.Context, String);
+    method public java.io.FileInputStream openFileInput(String) throws java.io.FileNotFoundException;
+    method public java.io.FileOutputStream openFileOutput(String, int) throws java.io.FileNotFoundException;
+    method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(String, int, android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public android.database.sqlite.SQLiteDatabase openOrCreateDatabase(String, int, android.database.sqlite.SQLiteDatabase.CursorFactory, @Nullable android.database.DatabaseErrorHandler);
+    method @Deprecated public android.graphics.drawable.Drawable peekWallpaper();
+    method public android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter);
+    method public android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter, int);
+    method public android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler);
+    method public android.content.Intent registerReceiver(@Nullable android.content.BroadcastReceiver, android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler, int);
+    method @Deprecated public void removeStickyBroadcast(android.content.Intent);
+    method @Deprecated public void removeStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+    method public void revokeUriPermission(android.net.Uri, int);
+    method public void revokeUriPermission(String, android.net.Uri, int);
+    method public void sendBroadcast(android.content.Intent);
+    method public void sendBroadcast(android.content.Intent, @Nullable String);
+    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, String);
+    method public void sendOrderedBroadcast(android.content.Intent, @Nullable String);
+    method public void sendOrderedBroadcast(android.content.Intent, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method public void sendOrderedBroadcast(@NonNull @RequiresPermission android.content.Intent, int, @Nullable String, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, @Nullable String, @Nullable android.os.Bundle, @Nullable android.os.Bundle);
+    method public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated public void sendStickyBroadcast(android.content.Intent);
+    method @Deprecated public void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle);
+    method @Deprecated public void sendStickyOrderedBroadcast(android.content.Intent, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated public void sendStickyOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method public void setTheme(int);
+    method @Deprecated public void setWallpaper(android.graphics.Bitmap) throws java.io.IOException;
+    method @Deprecated public void setWallpaper(java.io.InputStream) throws java.io.IOException;
+    method public void startActivities(android.content.Intent[]);
+    method public void startActivities(android.content.Intent[], @Nullable android.os.Bundle);
+    method public void startActivity(android.content.Intent);
+    method public void startActivity(android.content.Intent, @Nullable android.os.Bundle);
+    method @Nullable public android.content.ComponentName startForegroundService(android.content.Intent);
+    method public boolean startInstrumentation(android.content.ComponentName, @Nullable String, @Nullable android.os.Bundle);
+    method public void startIntentSender(android.content.IntentSender, @Nullable android.content.Intent, int, int, int) throws android.content.IntentSender.SendIntentException;
+    method public void startIntentSender(android.content.IntentSender, @Nullable android.content.Intent, int, int, int, @Nullable android.os.Bundle) throws android.content.IntentSender.SendIntentException;
+    method @Nullable public android.content.ComponentName startService(android.content.Intent);
+    method public boolean stopService(android.content.Intent);
+    method public void unbindService(android.content.ServiceConnection);
+    method public void unregisterReceiver(android.content.BroadcastReceiver);
+  }
+
+  @Deprecated public class CursorLoader extends android.content.AsyncTaskLoader<android.database.Cursor> {
+    ctor @Deprecated public CursorLoader(android.content.Context);
+    ctor @Deprecated public CursorLoader(android.content.Context, android.net.Uri, String[], String, String[], String);
+    method @Deprecated public void deliverResult(android.database.Cursor);
+    method @Deprecated public String[] getProjection();
+    method @Deprecated public String getSelection();
+    method @Deprecated public String[] getSelectionArgs();
+    method @Deprecated public String getSortOrder();
+    method @Deprecated public android.net.Uri getUri();
+    method @Deprecated public android.database.Cursor loadInBackground();
+    method @Deprecated public void onCanceled(android.database.Cursor);
+    method @Deprecated public void setProjection(String[]);
+    method @Deprecated public void setSelection(String);
+    method @Deprecated public void setSelectionArgs(String[]);
+    method @Deprecated public void setSortOrder(String);
+    method @Deprecated public void setUri(android.net.Uri);
+  }
+
+  public interface DialogInterface {
+    method public void cancel();
+    method public void dismiss();
+    field @Deprecated public static final int BUTTON1 = -1; // 0xffffffff
+    field @Deprecated public static final int BUTTON2 = -2; // 0xfffffffe
+    field @Deprecated public static final int BUTTON3 = -3; // 0xfffffffd
+    field public static final int BUTTON_NEGATIVE = -2; // 0xfffffffe
+    field public static final int BUTTON_NEUTRAL = -3; // 0xfffffffd
+    field public static final int BUTTON_POSITIVE = -1; // 0xffffffff
+  }
+
+  public static interface DialogInterface.OnCancelListener {
+    method public void onCancel(android.content.DialogInterface);
+  }
+
+  public static interface DialogInterface.OnClickListener {
+    method public void onClick(android.content.DialogInterface, int);
+  }
+
+  public static interface DialogInterface.OnDismissListener {
+    method public void onDismiss(android.content.DialogInterface);
+  }
+
+  public static interface DialogInterface.OnKeyListener {
+    method public boolean onKey(android.content.DialogInterface, int, android.view.KeyEvent);
+  }
+
+  public static interface DialogInterface.OnMultiChoiceClickListener {
+    method public void onClick(android.content.DialogInterface, int, boolean);
+  }
+
+  public static interface DialogInterface.OnShowListener {
+    method public void onShow(android.content.DialogInterface);
+  }
+
+  public final class Entity {
+    ctor public Entity(android.content.ContentValues);
+    method public void addSubValue(android.net.Uri, android.content.ContentValues);
+    method public android.content.ContentValues getEntityValues();
+    method public java.util.ArrayList<android.content.Entity.NamedContentValues> getSubValues();
+  }
+
+  public static class Entity.NamedContentValues {
+    ctor public Entity.NamedContentValues(android.net.Uri, android.content.ContentValues);
+    field public final android.net.Uri uri;
+    field public final android.content.ContentValues values;
+  }
+
+  public interface EntityIterator extends java.util.Iterator<android.content.Entity> {
+    method public void close();
+    method public void reset();
+  }
+
+  public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    ctor public Intent();
+    ctor public Intent(android.content.Intent);
+    ctor public Intent(String);
+    ctor public Intent(String, android.net.Uri);
+    ctor public Intent(android.content.Context, Class<?>);
+    ctor public Intent(String, android.net.Uri, android.content.Context, Class<?>);
+    method @NonNull public android.content.Intent addCategory(String);
+    method @NonNull public android.content.Intent addFlags(int);
+    method public Object clone();
+    method @NonNull public android.content.Intent cloneFilter();
+    method public static android.content.Intent createChooser(android.content.Intent, CharSequence);
+    method public static android.content.Intent createChooser(android.content.Intent, CharSequence, android.content.IntentSender);
+    method public int describeContents();
+    method public int fillIn(@NonNull android.content.Intent, int);
+    method public boolean filterEquals(android.content.Intent);
+    method public int filterHashCode();
+    method @Nullable public String getAction();
+    method @Nullable public boolean[] getBooleanArrayExtra(String);
+    method public boolean getBooleanExtra(String, boolean);
+    method @Nullable public android.os.Bundle getBundleExtra(String);
+    method @Nullable public byte[] getByteArrayExtra(String);
+    method public byte getByteExtra(String, byte);
+    method public java.util.Set<java.lang.String> getCategories();
+    method @Nullable public char[] getCharArrayExtra(String);
+    method public char getCharExtra(String, char);
+    method @Nullable public CharSequence[] getCharSequenceArrayExtra(String);
+    method @Nullable public java.util.ArrayList<java.lang.CharSequence> getCharSequenceArrayListExtra(String);
+    method @Nullable public CharSequence getCharSequenceExtra(String);
+    method @Nullable public android.content.ClipData getClipData();
+    method @Nullable public android.content.ComponentName getComponent();
+    method @Nullable public android.net.Uri getData();
+    method @Nullable public String getDataString();
+    method @Nullable public double[] getDoubleArrayExtra(String);
+    method public double getDoubleExtra(String, double);
+    method @Nullable public android.os.Bundle getExtras();
+    method public int getFlags();
+    method @Nullable public float[] getFloatArrayExtra(String);
+    method public float getFloatExtra(String, float);
+    method @Nullable public String getIdentifier();
+    method @Nullable public int[] getIntArrayExtra(String);
+    method public int getIntExtra(String, int);
+    method @Nullable public java.util.ArrayList<java.lang.Integer> getIntegerArrayListExtra(String);
+    method @Deprecated public static android.content.Intent getIntent(String) throws java.net.URISyntaxException;
+    method public static android.content.Intent getIntentOld(String) throws java.net.URISyntaxException;
+    method @Nullable public long[] getLongArrayExtra(String);
+    method public long getLongExtra(String, long);
+    method @Nullable public String getPackage();
+    method @Nullable public android.os.Parcelable[] getParcelableArrayExtra(String);
+    method @Nullable public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayListExtra(String);
+    method @Nullable public <T extends android.os.Parcelable> T getParcelableExtra(String);
+    method @Nullable public String getScheme();
+    method @Nullable public android.content.Intent getSelector();
+    method @Nullable public java.io.Serializable getSerializableExtra(String);
+    method @Nullable public short[] getShortArrayExtra(String);
+    method public short getShortExtra(String, short);
+    method @Nullable public android.graphics.Rect getSourceBounds();
+    method @Nullable public String[] getStringArrayExtra(String);
+    method @Nullable public java.util.ArrayList<java.lang.String> getStringArrayListExtra(String);
+    method @Nullable public String getStringExtra(String);
+    method @Nullable public String getType();
+    method public boolean hasCategory(String);
+    method public boolean hasExtra(String);
+    method public boolean hasFileDescriptors();
+    method public static android.content.Intent makeMainActivity(android.content.ComponentName);
+    method public static android.content.Intent makeMainSelectorActivity(String, String);
+    method public static android.content.Intent makeRestartActivityTask(android.content.ComponentName);
+    method @Nullable public static String normalizeMimeType(@Nullable String);
+    method @NonNull public static android.content.Intent parseIntent(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, android.util.AttributeSet) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public static android.content.Intent parseUri(String, int) throws java.net.URISyntaxException;
+    method @NonNull public android.content.Intent putCharSequenceArrayListExtra(String, @Nullable java.util.ArrayList<java.lang.CharSequence>);
+    method @NonNull public android.content.Intent putExtra(String, boolean);
+    method @NonNull public android.content.Intent putExtra(String, byte);
+    method @NonNull public android.content.Intent putExtra(String, char);
+    method @NonNull public android.content.Intent putExtra(String, short);
+    method @NonNull public android.content.Intent putExtra(String, int);
+    method @NonNull public android.content.Intent putExtra(String, long);
+    method @NonNull public android.content.Intent putExtra(String, float);
+    method @NonNull public android.content.Intent putExtra(String, double);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable String);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable CharSequence);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable android.os.Parcelable);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable android.os.Parcelable[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable java.io.Serializable);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable boolean[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable byte[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable short[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable char[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable int[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable long[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable float[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable double[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable String[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable CharSequence[]);
+    method @NonNull public android.content.Intent putExtra(String, @Nullable android.os.Bundle);
+    method @NonNull public android.content.Intent putExtras(@NonNull android.content.Intent);
+    method @NonNull public android.content.Intent putExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.content.Intent putIntegerArrayListExtra(String, @Nullable java.util.ArrayList<java.lang.Integer>);
+    method @NonNull public android.content.Intent putParcelableArrayListExtra(String, @Nullable java.util.ArrayList<? extends android.os.Parcelable>);
+    method @NonNull public android.content.Intent putStringArrayListExtra(String, @Nullable java.util.ArrayList<java.lang.String>);
+    method public void readFromParcel(android.os.Parcel);
+    method public void removeCategory(String);
+    method public void removeExtra(String);
+    method public void removeFlags(int);
+    method @NonNull public android.content.Intent replaceExtras(@NonNull android.content.Intent);
+    method @NonNull public android.content.Intent replaceExtras(@Nullable android.os.Bundle);
+    method public android.content.ComponentName resolveActivity(@NonNull android.content.pm.PackageManager);
+    method public android.content.pm.ActivityInfo resolveActivityInfo(@NonNull android.content.pm.PackageManager, int);
+    method @Nullable public String resolveType(@NonNull android.content.Context);
+    method @Nullable public String resolveType(@NonNull android.content.ContentResolver);
+    method @Nullable public String resolveTypeIfNeeded(@NonNull android.content.ContentResolver);
+    method @NonNull public android.content.Intent setAction(@Nullable String);
+    method @NonNull public android.content.Intent setClass(@NonNull android.content.Context, @NonNull Class<?>);
+    method @NonNull public android.content.Intent setClassName(@NonNull android.content.Context, @NonNull String);
+    method @NonNull public android.content.Intent setClassName(@NonNull String, @NonNull String);
+    method public void setClipData(@Nullable android.content.ClipData);
+    method @NonNull public android.content.Intent setComponent(@Nullable android.content.ComponentName);
+    method @NonNull public android.content.Intent setData(@Nullable android.net.Uri);
+    method @NonNull public android.content.Intent setDataAndNormalize(@NonNull android.net.Uri);
+    method @NonNull public android.content.Intent setDataAndType(@Nullable android.net.Uri, @Nullable String);
+    method @NonNull public android.content.Intent setDataAndTypeAndNormalize(@NonNull android.net.Uri, @Nullable String);
+    method public void setExtrasClassLoader(@Nullable ClassLoader);
+    method @NonNull public android.content.Intent setFlags(int);
+    method @NonNull public android.content.Intent setIdentifier(@Nullable String);
+    method @NonNull public android.content.Intent setPackage(@Nullable String);
+    method public void setSelector(@Nullable android.content.Intent);
+    method public void setSourceBounds(@Nullable android.graphics.Rect);
+    method @NonNull public android.content.Intent setType(@Nullable String);
+    method @NonNull public android.content.Intent setTypeAndNormalize(@Nullable String);
+    method @Deprecated public String toURI();
+    method public String toUri(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final String ACTION_AIRPLANE_MODE_CHANGED = "android.intent.action.AIRPLANE_MODE";
+    field public static final String ACTION_ALL_APPS = "android.intent.action.ALL_APPS";
+    field public static final String ACTION_ANSWER = "android.intent.action.ANSWER";
+    field public static final String ACTION_APPLICATION_PREFERENCES = "android.intent.action.APPLICATION_PREFERENCES";
+    field public static final String ACTION_APPLICATION_RESTRICTIONS_CHANGED = "android.intent.action.APPLICATION_RESTRICTIONS_CHANGED";
+    field public static final String ACTION_APP_ERROR = "android.intent.action.APP_ERROR";
+    field public static final String ACTION_ASSIST = "android.intent.action.ASSIST";
+    field public static final String ACTION_ATTACH_DATA = "android.intent.action.ATTACH_DATA";
+    field public static final String ACTION_AUTO_REVOKE_PERMISSIONS = "android.intent.action.AUTO_REVOKE_PERMISSIONS";
+    field public static final String ACTION_BATTERY_CHANGED = "android.intent.action.BATTERY_CHANGED";
+    field public static final String ACTION_BATTERY_LOW = "android.intent.action.BATTERY_LOW";
+    field public static final String ACTION_BATTERY_OKAY = "android.intent.action.BATTERY_OKAY";
+    field public static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED";
+    field public static final String ACTION_BUG_REPORT = "android.intent.action.BUG_REPORT";
+    field public static final String ACTION_CALL = "android.intent.action.CALL";
+    field public static final String ACTION_CALL_BUTTON = "android.intent.action.CALL_BUTTON";
+    field public static final String ACTION_CAMERA_BUTTON = "android.intent.action.CAMERA_BUTTON";
+    field public static final String ACTION_CARRIER_SETUP = "android.intent.action.CARRIER_SETUP";
+    field public static final String ACTION_CHOOSER = "android.intent.action.CHOOSER";
+    field @Deprecated @RequiresPermission("android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS") public static final String ACTION_CLOSE_SYSTEM_DIALOGS = "android.intent.action.CLOSE_SYSTEM_DIALOGS";
+    field public static final String ACTION_CONFIGURATION_CHANGED = "android.intent.action.CONFIGURATION_CHANGED";
+    field public static final String ACTION_CREATE_DOCUMENT = "android.intent.action.CREATE_DOCUMENT";
+    field public static final String ACTION_CREATE_REMINDER = "android.intent.action.CREATE_REMINDER";
+    field public static final String ACTION_CREATE_SHORTCUT = "android.intent.action.CREATE_SHORTCUT";
+    field public static final String ACTION_DATE_CHANGED = "android.intent.action.DATE_CHANGED";
+    field public static final String ACTION_DEFAULT = "android.intent.action.VIEW";
+    field public static final String ACTION_DEFINE = "android.intent.action.DEFINE";
+    field public static final String ACTION_DELETE = "android.intent.action.DELETE";
+    field @Deprecated public static final String ACTION_DEVICE_STORAGE_LOW = "android.intent.action.DEVICE_STORAGE_LOW";
+    field @Deprecated public static final String ACTION_DEVICE_STORAGE_OK = "android.intent.action.DEVICE_STORAGE_OK";
+    field public static final String ACTION_DIAL = "android.intent.action.DIAL";
+    field public static final String ACTION_DOCK_EVENT = "android.intent.action.DOCK_EVENT";
+    field public static final String ACTION_DREAMING_STARTED = "android.intent.action.DREAMING_STARTED";
+    field public static final String ACTION_DREAMING_STOPPED = "android.intent.action.DREAMING_STOPPED";
+    field public static final String ACTION_EDIT = "android.intent.action.EDIT";
+    field public static final String ACTION_EXTERNAL_APPLICATIONS_AVAILABLE = "android.intent.action.EXTERNAL_APPLICATIONS_AVAILABLE";
+    field public static final String ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE = "android.intent.action.EXTERNAL_APPLICATIONS_UNAVAILABLE";
+    field public static final String ACTION_FACTORY_TEST = "android.intent.action.FACTORY_TEST";
+    field public static final String ACTION_GET_CONTENT = "android.intent.action.GET_CONTENT";
+    field public static final String ACTION_GET_RESTRICTION_ENTRIES = "android.intent.action.GET_RESTRICTION_ENTRIES";
+    field public static final String ACTION_GTALK_SERVICE_CONNECTED = "android.intent.action.GTALK_CONNECTED";
+    field public static final String ACTION_GTALK_SERVICE_DISCONNECTED = "android.intent.action.GTALK_DISCONNECTED";
+    field public static final String ACTION_HEADSET_PLUG = "android.intent.action.HEADSET_PLUG";
+    field public static final String ACTION_INPUT_METHOD_CHANGED = "android.intent.action.INPUT_METHOD_CHANGED";
+    field public static final String ACTION_INSERT = "android.intent.action.INSERT";
+    field public static final String ACTION_INSERT_OR_EDIT = "android.intent.action.INSERT_OR_EDIT";
+    field public static final String ACTION_INSTALL_FAILURE = "android.intent.action.INSTALL_FAILURE";
+    field @Deprecated public static final String ACTION_INSTALL_PACKAGE = "android.intent.action.INSTALL_PACKAGE";
+    field public static final String ACTION_LOCALE_CHANGED = "android.intent.action.LOCALE_CHANGED";
+    field public static final String ACTION_LOCKED_BOOT_COMPLETED = "android.intent.action.LOCKED_BOOT_COMPLETED";
+    field public static final String ACTION_MAIN = "android.intent.action.MAIN";
+    field public static final String ACTION_MANAGED_PROFILE_ADDED = "android.intent.action.MANAGED_PROFILE_ADDED";
+    field public static final String ACTION_MANAGED_PROFILE_AVAILABLE = "android.intent.action.MANAGED_PROFILE_AVAILABLE";
+    field public static final String ACTION_MANAGED_PROFILE_REMOVED = "android.intent.action.MANAGED_PROFILE_REMOVED";
+    field public static final String ACTION_MANAGED_PROFILE_UNAVAILABLE = "android.intent.action.MANAGED_PROFILE_UNAVAILABLE";
+    field public static final String ACTION_MANAGED_PROFILE_UNLOCKED = "android.intent.action.MANAGED_PROFILE_UNLOCKED";
+    field public static final String ACTION_MANAGE_NETWORK_USAGE = "android.intent.action.MANAGE_NETWORK_USAGE";
+    field public static final String ACTION_MANAGE_PACKAGE_STORAGE = "android.intent.action.MANAGE_PACKAGE_STORAGE";
+    field public static final String ACTION_MANAGE_UNUSED_APPS = "android.intent.action.MANAGE_UNUSED_APPS";
+    field public static final String ACTION_MEDIA_BAD_REMOVAL = "android.intent.action.MEDIA_BAD_REMOVAL";
+    field public static final String ACTION_MEDIA_BUTTON = "android.intent.action.MEDIA_BUTTON";
+    field public static final String ACTION_MEDIA_CHECKING = "android.intent.action.MEDIA_CHECKING";
+    field public static final String ACTION_MEDIA_EJECT = "android.intent.action.MEDIA_EJECT";
+    field public static final String ACTION_MEDIA_MOUNTED = "android.intent.action.MEDIA_MOUNTED";
+    field public static final String ACTION_MEDIA_NOFS = "android.intent.action.MEDIA_NOFS";
+    field public static final String ACTION_MEDIA_REMOVED = "android.intent.action.MEDIA_REMOVED";
+    field public static final String ACTION_MEDIA_SCANNER_FINISHED = "android.intent.action.MEDIA_SCANNER_FINISHED";
+    field @Deprecated public static final String ACTION_MEDIA_SCANNER_SCAN_FILE = "android.intent.action.MEDIA_SCANNER_SCAN_FILE";
+    field public static final String ACTION_MEDIA_SCANNER_STARTED = "android.intent.action.MEDIA_SCANNER_STARTED";
+    field public static final String ACTION_MEDIA_SHARED = "android.intent.action.MEDIA_SHARED";
+    field public static final String ACTION_MEDIA_UNMOUNTABLE = "android.intent.action.MEDIA_UNMOUNTABLE";
+    field public static final String ACTION_MEDIA_UNMOUNTED = "android.intent.action.MEDIA_UNMOUNTED";
+    field public static final String ACTION_MY_PACKAGE_REPLACED = "android.intent.action.MY_PACKAGE_REPLACED";
+    field public static final String ACTION_MY_PACKAGE_SUSPENDED = "android.intent.action.MY_PACKAGE_SUSPENDED";
+    field public static final String ACTION_MY_PACKAGE_UNSUSPENDED = "android.intent.action.MY_PACKAGE_UNSUSPENDED";
+    field @Deprecated public static final String ACTION_NEW_OUTGOING_CALL = "android.intent.action.NEW_OUTGOING_CALL";
+    field public static final String ACTION_OPEN_DOCUMENT = "android.intent.action.OPEN_DOCUMENT";
+    field public static final String ACTION_OPEN_DOCUMENT_TREE = "android.intent.action.OPEN_DOCUMENT_TREE";
+    field public static final String ACTION_PACKAGES_SUSPENDED = "android.intent.action.PACKAGES_SUSPENDED";
+    field public static final String ACTION_PACKAGES_UNSUSPENDED = "android.intent.action.PACKAGES_UNSUSPENDED";
+    field public static final String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED";
+    field public static final String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED";
+    field public static final String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED";
+    field public static final String ACTION_PACKAGE_FIRST_LAUNCH = "android.intent.action.PACKAGE_FIRST_LAUNCH";
+    field public static final String ACTION_PACKAGE_FULLY_REMOVED = "android.intent.action.PACKAGE_FULLY_REMOVED";
+    field @Deprecated public static final String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL";
+    field public static final String ACTION_PACKAGE_NEEDS_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_VERIFICATION";
+    field public static final String ACTION_PACKAGE_REMOVED = "android.intent.action.PACKAGE_REMOVED";
+    field public static final String ACTION_PACKAGE_REPLACED = "android.intent.action.PACKAGE_REPLACED";
+    field public static final String ACTION_PACKAGE_RESTARTED = "android.intent.action.PACKAGE_RESTARTED";
+    field public static final String ACTION_PACKAGE_VERIFIED = "android.intent.action.PACKAGE_VERIFIED";
+    field public static final String ACTION_PASTE = "android.intent.action.PASTE";
+    field public static final String ACTION_PICK = "android.intent.action.PICK";
+    field public static final String ACTION_PICK_ACTIVITY = "android.intent.action.PICK_ACTIVITY";
+    field public static final String ACTION_POWER_CONNECTED = "android.intent.action.ACTION_POWER_CONNECTED";
+    field public static final String ACTION_POWER_DISCONNECTED = "android.intent.action.ACTION_POWER_DISCONNECTED";
+    field public static final String ACTION_POWER_USAGE_SUMMARY = "android.intent.action.POWER_USAGE_SUMMARY";
+    field public static final String ACTION_PROCESS_TEXT = "android.intent.action.PROCESS_TEXT";
+    field public static final String ACTION_PROFILE_ACCESSIBLE = "android.intent.action.PROFILE_ACCESSIBLE";
+    field public static final String ACTION_PROFILE_INACCESSIBLE = "android.intent.action.PROFILE_INACCESSIBLE";
+    field public static final String ACTION_PROVIDER_CHANGED = "android.intent.action.PROVIDER_CHANGED";
+    field public static final String ACTION_QUICK_CLOCK = "android.intent.action.QUICK_CLOCK";
+    field public static final String ACTION_QUICK_VIEW = "android.intent.action.QUICK_VIEW";
+    field public static final String ACTION_REBOOT = "android.intent.action.REBOOT";
+    field public static final String ACTION_RUN = "android.intent.action.RUN";
+    field public static final String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF";
+    field public static final String ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON";
+    field public static final String ACTION_SEARCH = "android.intent.action.SEARCH";
+    field public static final String ACTION_SEARCH_LONG_PRESS = "android.intent.action.SEARCH_LONG_PRESS";
+    field public static final String ACTION_SEND = "android.intent.action.SEND";
+    field public static final String ACTION_SENDTO = "android.intent.action.SENDTO";
+    field public static final String ACTION_SEND_MULTIPLE = "android.intent.action.SEND_MULTIPLE";
+    field public static final String ACTION_SET_WALLPAPER = "android.intent.action.SET_WALLPAPER";
+    field public static final String ACTION_SHOW_APP_INFO = "android.intent.action.SHOW_APP_INFO";
+    field public static final String ACTION_SHUTDOWN = "android.intent.action.ACTION_SHUTDOWN";
+    field public static final String ACTION_SYNC = "android.intent.action.SYNC";
+    field public static final String ACTION_SYSTEM_TUTORIAL = "android.intent.action.SYSTEM_TUTORIAL";
+    field public static final String ACTION_TIMEZONE_CHANGED = "android.intent.action.TIMEZONE_CHANGED";
+    field public static final String ACTION_TIME_CHANGED = "android.intent.action.TIME_SET";
+    field public static final String ACTION_TIME_TICK = "android.intent.action.TIME_TICK";
+    field public static final String ACTION_TRANSLATE = "android.intent.action.TRANSLATE";
+    field public static final String ACTION_UID_REMOVED = "android.intent.action.UID_REMOVED";
+    field @Deprecated public static final String ACTION_UMS_CONNECTED = "android.intent.action.UMS_CONNECTED";
+    field @Deprecated public static final String ACTION_UMS_DISCONNECTED = "android.intent.action.UMS_DISCONNECTED";
+    field @Deprecated public static final String ACTION_UNINSTALL_PACKAGE = "android.intent.action.UNINSTALL_PACKAGE";
+    field public static final String ACTION_USER_BACKGROUND = "android.intent.action.USER_BACKGROUND";
+    field public static final String ACTION_USER_FOREGROUND = "android.intent.action.USER_FOREGROUND";
+    field public static final String ACTION_USER_INITIALIZE = "android.intent.action.USER_INITIALIZE";
+    field public static final String ACTION_USER_PRESENT = "android.intent.action.USER_PRESENT";
+    field public static final String ACTION_USER_UNLOCKED = "android.intent.action.USER_UNLOCKED";
+    field public static final String ACTION_VIEW = "android.intent.action.VIEW";
+    field public static final String ACTION_VIEW_LOCUS = "android.intent.action.VIEW_LOCUS";
+    field @RequiresPermission(android.Manifest.permission.START_VIEW_PERMISSION_USAGE) public static final String ACTION_VIEW_PERMISSION_USAGE = "android.intent.action.VIEW_PERMISSION_USAGE";
+    field @RequiresPermission(android.Manifest.permission.START_VIEW_PERMISSION_USAGE) public static final String ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD = "android.intent.action.VIEW_PERMISSION_USAGE_FOR_PERIOD";
+    field public static final String ACTION_VOICE_COMMAND = "android.intent.action.VOICE_COMMAND";
+    field @Deprecated public static final String ACTION_WALLPAPER_CHANGED = "android.intent.action.WALLPAPER_CHANGED";
+    field public static final String ACTION_WEB_SEARCH = "android.intent.action.WEB_SEARCH";
+    field public static final String CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET = "android.intent.category.ACCESSIBILITY_SHORTCUT_TARGET";
+    field public static final String CATEGORY_ALTERNATIVE = "android.intent.category.ALTERNATIVE";
+    field public static final String CATEGORY_APP_BROWSER = "android.intent.category.APP_BROWSER";
+    field public static final String CATEGORY_APP_CALCULATOR = "android.intent.category.APP_CALCULATOR";
+    field public static final String CATEGORY_APP_CALENDAR = "android.intent.category.APP_CALENDAR";
+    field public static final String CATEGORY_APP_CONTACTS = "android.intent.category.APP_CONTACTS";
+    field public static final String CATEGORY_APP_EMAIL = "android.intent.category.APP_EMAIL";
+    field public static final String CATEGORY_APP_FILES = "android.intent.category.APP_FILES";
+    field public static final String CATEGORY_APP_GALLERY = "android.intent.category.APP_GALLERY";
+    field public static final String CATEGORY_APP_MAPS = "android.intent.category.APP_MAPS";
+    field public static final String CATEGORY_APP_MARKET = "android.intent.category.APP_MARKET";
+    field public static final String CATEGORY_APP_MESSAGING = "android.intent.category.APP_MESSAGING";
+    field public static final String CATEGORY_APP_MUSIC = "android.intent.category.APP_MUSIC";
+    field public static final String CATEGORY_BROWSABLE = "android.intent.category.BROWSABLE";
+    field public static final String CATEGORY_CAR_DOCK = "android.intent.category.CAR_DOCK";
+    field public static final String CATEGORY_CAR_MODE = "android.intent.category.CAR_MODE";
+    field public static final String CATEGORY_DEFAULT = "android.intent.category.DEFAULT";
+    field public static final String CATEGORY_DESK_DOCK = "android.intent.category.DESK_DOCK";
+    field public static final String CATEGORY_DEVELOPMENT_PREFERENCE = "android.intent.category.DEVELOPMENT_PREFERENCE";
+    field public static final String CATEGORY_EMBED = "android.intent.category.EMBED";
+    field public static final String CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST = "android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST";
+    field public static final String CATEGORY_HE_DESK_DOCK = "android.intent.category.HE_DESK_DOCK";
+    field public static final String CATEGORY_HOME = "android.intent.category.HOME";
+    field public static final String CATEGORY_INFO = "android.intent.category.INFO";
+    field public static final String CATEGORY_LAUNCHER = "android.intent.category.LAUNCHER";
+    field public static final String CATEGORY_LEANBACK_LAUNCHER = "android.intent.category.LEANBACK_LAUNCHER";
+    field public static final String CATEGORY_LE_DESK_DOCK = "android.intent.category.LE_DESK_DOCK";
+    field public static final String CATEGORY_MONKEY = "android.intent.category.MONKEY";
+    field public static final String CATEGORY_OPENABLE = "android.intent.category.OPENABLE";
+    field public static final String CATEGORY_PREFERENCE = "android.intent.category.PREFERENCE";
+    field public static final String CATEGORY_SAMPLE_CODE = "android.intent.category.SAMPLE_CODE";
+    field public static final String CATEGORY_SECONDARY_HOME = "android.intent.category.SECONDARY_HOME";
+    field public static final String CATEGORY_SELECTED_ALTERNATIVE = "android.intent.category.SELECTED_ALTERNATIVE";
+    field public static final String CATEGORY_TAB = "android.intent.category.TAB";
+    field public static final String CATEGORY_TEST = "android.intent.category.TEST";
+    field public static final String CATEGORY_TYPED_OPENABLE = "android.intent.category.TYPED_OPENABLE";
+    field public static final String CATEGORY_UNIT_TEST = "android.intent.category.UNIT_TEST";
+    field public static final String CATEGORY_VOICE = "android.intent.category.VOICE";
+    field public static final String CATEGORY_VR_HOME = "android.intent.category.VR_HOME";
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.Intent> CREATOR;
+    field public static final String EXTRA_ALARM_COUNT = "android.intent.extra.ALARM_COUNT";
+    field public static final String EXTRA_ALLOW_MULTIPLE = "android.intent.extra.ALLOW_MULTIPLE";
+    field @Deprecated public static final String EXTRA_ALLOW_REPLACE = "android.intent.extra.ALLOW_REPLACE";
+    field public static final String EXTRA_ALTERNATE_INTENTS = "android.intent.extra.ALTERNATE_INTENTS";
+    field public static final String EXTRA_ASSIST_CONTEXT = "android.intent.extra.ASSIST_CONTEXT";
+    field public static final String EXTRA_ASSIST_INPUT_DEVICE_ID = "android.intent.extra.ASSIST_INPUT_DEVICE_ID";
+    field public static final String EXTRA_ASSIST_INPUT_HINT_KEYBOARD = "android.intent.extra.ASSIST_INPUT_HINT_KEYBOARD";
+    field public static final String EXTRA_ASSIST_PACKAGE = "android.intent.extra.ASSIST_PACKAGE";
+    field public static final String EXTRA_ASSIST_UID = "android.intent.extra.ASSIST_UID";
+    field public static final String EXTRA_ATTRIBUTION_TAGS = "android.intent.extra.ATTRIBUTION_TAGS";
+    field public static final String EXTRA_AUTO_LAUNCH_SINGLE_CHOICE = "android.intent.extra.AUTO_LAUNCH_SINGLE_CHOICE";
+    field public static final String EXTRA_BCC = "android.intent.extra.BCC";
+    field public static final String EXTRA_BUG_REPORT = "android.intent.extra.BUG_REPORT";
+    field public static final String EXTRA_CC = "android.intent.extra.CC";
+    field @Deprecated public static final String EXTRA_CHANGED_COMPONENT_NAME = "android.intent.extra.changed_component_name";
+    field public static final String EXTRA_CHANGED_COMPONENT_NAME_LIST = "android.intent.extra.changed_component_name_list";
+    field public static final String EXTRA_CHANGED_PACKAGE_LIST = "android.intent.extra.changed_package_list";
+    field public static final String EXTRA_CHANGED_UID_LIST = "android.intent.extra.changed_uid_list";
+    field public static final String EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER = "android.intent.extra.CHOOSER_REFINEMENT_INTENT_SENDER";
+    field public static final String EXTRA_CHOOSER_TARGETS = "android.intent.extra.CHOOSER_TARGETS";
+    field public static final String EXTRA_CHOSEN_COMPONENT = "android.intent.extra.CHOSEN_COMPONENT";
+    field public static final String EXTRA_CHOSEN_COMPONENT_INTENT_SENDER = "android.intent.extra.CHOSEN_COMPONENT_INTENT_SENDER";
+    field public static final String EXTRA_COMPONENT_NAME = "android.intent.extra.COMPONENT_NAME";
+    field public static final String EXTRA_CONTENT_ANNOTATIONS = "android.intent.extra.CONTENT_ANNOTATIONS";
+    field public static final String EXTRA_CONTENT_QUERY = "android.intent.extra.CONTENT_QUERY";
+    field public static final String EXTRA_DATA_REMOVED = "android.intent.extra.DATA_REMOVED";
+    field public static final String EXTRA_DOCK_STATE = "android.intent.extra.DOCK_STATE";
+    field public static final int EXTRA_DOCK_STATE_CAR = 2; // 0x2
+    field public static final int EXTRA_DOCK_STATE_DESK = 1; // 0x1
+    field public static final int EXTRA_DOCK_STATE_HE_DESK = 4; // 0x4
+    field public static final int EXTRA_DOCK_STATE_LE_DESK = 3; // 0x3
+    field public static final int EXTRA_DOCK_STATE_UNDOCKED = 0; // 0x0
+    field public static final String EXTRA_DONT_KILL_APP = "android.intent.extra.DONT_KILL_APP";
+    field public static final String EXTRA_DURATION_MILLIS = "android.intent.extra.DURATION_MILLIS";
+    field public static final String EXTRA_EMAIL = "android.intent.extra.EMAIL";
+    field public static final String EXTRA_END_TIME = "android.intent.extra.END_TIME";
+    field public static final String EXTRA_EXCLUDE_COMPONENTS = "android.intent.extra.EXCLUDE_COMPONENTS";
+    field public static final String EXTRA_FROM_STORAGE = "android.intent.extra.FROM_STORAGE";
+    field public static final String EXTRA_HTML_TEXT = "android.intent.extra.HTML_TEXT";
+    field public static final String EXTRA_INDEX = "android.intent.extra.INDEX";
+    field public static final String EXTRA_INITIAL_INTENTS = "android.intent.extra.INITIAL_INTENTS";
+    field public static final String EXTRA_INSTALLER_PACKAGE_NAME = "android.intent.extra.INSTALLER_PACKAGE_NAME";
+    field public static final String EXTRA_INTENT = "android.intent.extra.INTENT";
+    field public static final String EXTRA_KEY_EVENT = "android.intent.extra.KEY_EVENT";
+    field public static final String EXTRA_LOCAL_ONLY = "android.intent.extra.LOCAL_ONLY";
+    field public static final String EXTRA_LOCUS_ID = "android.intent.extra.LOCUS_ID";
+    field public static final String EXTRA_MIME_TYPES = "android.intent.extra.MIME_TYPES";
+    field public static final String EXTRA_NOT_UNKNOWN_SOURCE = "android.intent.extra.NOT_UNKNOWN_SOURCE";
+    field public static final String EXTRA_ORIGINATING_URI = "android.intent.extra.ORIGINATING_URI";
+    field public static final String EXTRA_PACKAGE_NAME = "android.intent.extra.PACKAGE_NAME";
+    field public static final String EXTRA_PERMISSION_GROUP_NAME = "android.intent.extra.PERMISSION_GROUP_NAME";
+    field public static final String EXTRA_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER";
+    field public static final String EXTRA_PROCESS_TEXT = "android.intent.extra.PROCESS_TEXT";
+    field public static final String EXTRA_PROCESS_TEXT_READONLY = "android.intent.extra.PROCESS_TEXT_READONLY";
+    field public static final String EXTRA_QUICK_VIEW_FEATURES = "android.intent.extra.QUICK_VIEW_FEATURES";
+    field public static final String EXTRA_QUIET_MODE = "android.intent.extra.QUIET_MODE";
+    field public static final String EXTRA_REFERRER = "android.intent.extra.REFERRER";
+    field public static final String EXTRA_REFERRER_NAME = "android.intent.extra.REFERRER_NAME";
+    field public static final String EXTRA_REMOTE_INTENT_TOKEN = "android.intent.extra.remote_intent_token";
+    field public static final String EXTRA_REPLACEMENT_EXTRAS = "android.intent.extra.REPLACEMENT_EXTRAS";
+    field public static final String EXTRA_REPLACING = "android.intent.extra.REPLACING";
+    field public static final String EXTRA_RESTRICTIONS_BUNDLE = "android.intent.extra.restrictions_bundle";
+    field public static final String EXTRA_RESTRICTIONS_INTENT = "android.intent.extra.restrictions_intent";
+    field public static final String EXTRA_RESTRICTIONS_LIST = "android.intent.extra.restrictions_list";
+    field public static final String EXTRA_RESULT_RECEIVER = "android.intent.extra.RESULT_RECEIVER";
+    field public static final String EXTRA_RETURN_RESULT = "android.intent.extra.RETURN_RESULT";
+    field @Deprecated public static final String EXTRA_SHORTCUT_ICON = "android.intent.extra.shortcut.ICON";
+    field @Deprecated public static final String EXTRA_SHORTCUT_ICON_RESOURCE = "android.intent.extra.shortcut.ICON_RESOURCE";
+    field public static final String EXTRA_SHORTCUT_ID = "android.intent.extra.shortcut.ID";
+    field @Deprecated public static final String EXTRA_SHORTCUT_INTENT = "android.intent.extra.shortcut.INTENT";
+    field @Deprecated public static final String EXTRA_SHORTCUT_NAME = "android.intent.extra.shortcut.NAME";
+    field public static final String EXTRA_SHUTDOWN_USERSPACE_ONLY = "android.intent.extra.SHUTDOWN_USERSPACE_ONLY";
+    field public static final String EXTRA_SPLIT_NAME = "android.intent.extra.SPLIT_NAME";
+    field public static final String EXTRA_START_TIME = "android.intent.extra.START_TIME";
+    field public static final String EXTRA_STREAM = "android.intent.extra.STREAM";
+    field public static final String EXTRA_SUBJECT = "android.intent.extra.SUBJECT";
+    field public static final String EXTRA_SUSPENDED_PACKAGE_EXTRAS = "android.intent.extra.SUSPENDED_PACKAGE_EXTRAS";
+    field public static final String EXTRA_TEMPLATE = "android.intent.extra.TEMPLATE";
+    field public static final String EXTRA_TEXT = "android.intent.extra.TEXT";
+    field public static final String EXTRA_TIME = "android.intent.extra.TIME";
+    field public static final String EXTRA_TIMEZONE = "time-zone";
+    field public static final String EXTRA_TITLE = "android.intent.extra.TITLE";
+    field public static final String EXTRA_UID = "android.intent.extra.UID";
+    field public static final String EXTRA_USER = "android.intent.extra.USER";
+    field public static final String EXTRA_USER_INITIATED = "android.intent.extra.USER_INITIATED";
+    field public static final int FILL_IN_ACTION = 1; // 0x1
+    field public static final int FILL_IN_CATEGORIES = 4; // 0x4
+    field public static final int FILL_IN_CLIP_DATA = 128; // 0x80
+    field public static final int FILL_IN_COMPONENT = 8; // 0x8
+    field public static final int FILL_IN_DATA = 2; // 0x2
+    field public static final int FILL_IN_IDENTIFIER = 256; // 0x100
+    field public static final int FILL_IN_PACKAGE = 16; // 0x10
+    field public static final int FILL_IN_SELECTOR = 64; // 0x40
+    field public static final int FILL_IN_SOURCE_BOUNDS = 32; // 0x20
+    field public static final int FLAG_ACTIVITY_BROUGHT_TO_FRONT = 4194304; // 0x400000
+    field public static final int FLAG_ACTIVITY_CLEAR_TASK = 32768; // 0x8000
+    field public static final int FLAG_ACTIVITY_CLEAR_TOP = 67108864; // 0x4000000
+    field @Deprecated public static final int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET = 524288; // 0x80000
+    field public static final int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS = 8388608; // 0x800000
+    field public static final int FLAG_ACTIVITY_FORWARD_RESULT = 33554432; // 0x2000000
+    field public static final int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY = 1048576; // 0x100000
+    field public static final int FLAG_ACTIVITY_LAUNCH_ADJACENT = 4096; // 0x1000
+    field public static final int FLAG_ACTIVITY_MATCH_EXTERNAL = 2048; // 0x800
+    field public static final int FLAG_ACTIVITY_MULTIPLE_TASK = 134217728; // 0x8000000
+    field public static final int FLAG_ACTIVITY_NEW_DOCUMENT = 524288; // 0x80000
+    field public static final int FLAG_ACTIVITY_NEW_TASK = 268435456; // 0x10000000
+    field public static final int FLAG_ACTIVITY_NO_ANIMATION = 65536; // 0x10000
+    field public static final int FLAG_ACTIVITY_NO_HISTORY = 1073741824; // 0x40000000
+    field public static final int FLAG_ACTIVITY_NO_USER_ACTION = 262144; // 0x40000
+    field public static final int FLAG_ACTIVITY_PREVIOUS_IS_TOP = 16777216; // 0x1000000
+    field public static final int FLAG_ACTIVITY_REORDER_TO_FRONT = 131072; // 0x20000
+    field public static final int FLAG_ACTIVITY_REQUIRE_DEFAULT = 512; // 0x200
+    field public static final int FLAG_ACTIVITY_REQUIRE_NON_BROWSER = 1024; // 0x400
+    field public static final int FLAG_ACTIVITY_RESET_TASK_IF_NEEDED = 2097152; // 0x200000
+    field public static final int FLAG_ACTIVITY_RETAIN_IN_RECENTS = 8192; // 0x2000
+    field public static final int FLAG_ACTIVITY_SINGLE_TOP = 536870912; // 0x20000000
+    field public static final int FLAG_ACTIVITY_TASK_ON_HOME = 16384; // 0x4000
+    field public static final int FLAG_DEBUG_LOG_RESOLUTION = 8; // 0x8
+    field public static final int FLAG_DIRECT_BOOT_AUTO = 256; // 0x100
+    field public static final int FLAG_EXCLUDE_STOPPED_PACKAGES = 16; // 0x10
+    field public static final int FLAG_FROM_BACKGROUND = 4; // 0x4
+    field public static final int FLAG_GRANT_PERSISTABLE_URI_PERMISSION = 64; // 0x40
+    field public static final int FLAG_GRANT_PREFIX_URI_PERMISSION = 128; // 0x80
+    field public static final int FLAG_GRANT_READ_URI_PERMISSION = 1; // 0x1
+    field public static final int FLAG_GRANT_WRITE_URI_PERMISSION = 2; // 0x2
+    field public static final int FLAG_INCLUDE_STOPPED_PACKAGES = 32; // 0x20
+    field public static final int FLAG_RECEIVER_FOREGROUND = 268435456; // 0x10000000
+    field public static final int FLAG_RECEIVER_NO_ABORT = 134217728; // 0x8000000
+    field public static final int FLAG_RECEIVER_REGISTERED_ONLY = 1073741824; // 0x40000000
+    field public static final int FLAG_RECEIVER_REPLACE_PENDING = 536870912; // 0x20000000
+    field public static final int FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS = 2097152; // 0x200000
+    field public static final String METADATA_DOCK_HOME = "android.dock_home";
+    field public static final int URI_ALLOW_UNSAFE = 4; // 0x4
+    field public static final int URI_ANDROID_APP_SCHEME = 2; // 0x2
+    field public static final int URI_INTENT_SCHEME = 1; // 0x1
+  }
+
+  public static final class Intent.FilterComparison {
+    ctor public Intent.FilterComparison(android.content.Intent);
+    method public android.content.Intent getIntent();
+  }
+
+  public static class Intent.ShortcutIconResource implements android.os.Parcelable {
+    ctor public Intent.ShortcutIconResource();
+    method public int describeContents();
+    method public static android.content.Intent.ShortcutIconResource fromContext(android.content.Context, @AnyRes int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.Intent.ShortcutIconResource> CREATOR;
+    field public String packageName;
+    field public String resourceName;
+  }
+
+  public class IntentFilter implements android.os.Parcelable {
+    ctor public IntentFilter();
+    ctor public IntentFilter(String);
+    ctor public IntentFilter(String, String) throws android.content.IntentFilter.MalformedMimeTypeException;
+    ctor public IntentFilter(android.content.IntentFilter);
+    method public final java.util.Iterator<java.lang.String> actionsIterator();
+    method public final void addAction(String);
+    method public final void addCategory(String);
+    method public final void addDataAuthority(String, String);
+    method public final void addDataPath(String, int);
+    method public final void addDataScheme(String);
+    method public final void addDataSchemeSpecificPart(String, int);
+    method public final void addDataType(String) throws android.content.IntentFilter.MalformedMimeTypeException;
+    method public final java.util.Iterator<android.content.IntentFilter.AuthorityEntry> authoritiesIterator();
+    method public final java.util.Iterator<java.lang.String> categoriesIterator();
+    method public final int countActions();
+    method public final int countCategories();
+    method public final int countDataAuthorities();
+    method public final int countDataPaths();
+    method public final int countDataSchemeSpecificParts();
+    method public final int countDataSchemes();
+    method public final int countDataTypes();
+    method public static android.content.IntentFilter create(String, String);
+    method public final int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public final String getAction(int);
+    method public final String getCategory(int);
+    method public final android.content.IntentFilter.AuthorityEntry getDataAuthority(int);
+    method public final android.os.PatternMatcher getDataPath(int);
+    method public final String getDataScheme(int);
+    method public final android.os.PatternMatcher getDataSchemeSpecificPart(int);
+    method public final String getDataType(int);
+    method public final int getPriority();
+    method public final boolean hasAction(String);
+    method public final boolean hasCategory(String);
+    method public final boolean hasDataAuthority(android.net.Uri);
+    method public final boolean hasDataPath(String);
+    method public final boolean hasDataScheme(String);
+    method public final boolean hasDataSchemeSpecificPart(String);
+    method public final boolean hasDataType(String);
+    method public final int match(android.content.ContentResolver, android.content.Intent, boolean, String);
+    method public final int match(String, String, String, android.net.Uri, java.util.Set<java.lang.String>, String);
+    method public final boolean matchAction(String);
+    method public final String matchCategories(java.util.Set<java.lang.String>);
+    method public final int matchData(String, String, android.net.Uri);
+    method public final int matchDataAuthority(android.net.Uri);
+    method public final java.util.Iterator<android.os.PatternMatcher> pathsIterator();
+    method public void readFromXml(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public final java.util.Iterator<android.os.PatternMatcher> schemeSpecificPartsIterator();
+    method public final java.util.Iterator<java.lang.String> schemesIterator();
+    method public final void setPriority(int);
+    method public final java.util.Iterator<java.lang.String> typesIterator();
+    method public final void writeToParcel(android.os.Parcel, int);
+    method public void writeToXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.IntentFilter> CREATOR;
+    field public static final int MATCH_ADJUSTMENT_MASK = 65535; // 0xffff
+    field public static final int MATCH_ADJUSTMENT_NORMAL = 32768; // 0x8000
+    field public static final int MATCH_CATEGORY_EMPTY = 1048576; // 0x100000
+    field public static final int MATCH_CATEGORY_HOST = 3145728; // 0x300000
+    field public static final int MATCH_CATEGORY_MASK = 268369920; // 0xfff0000
+    field public static final int MATCH_CATEGORY_PATH = 5242880; // 0x500000
+    field public static final int MATCH_CATEGORY_PORT = 4194304; // 0x400000
+    field public static final int MATCH_CATEGORY_SCHEME = 2097152; // 0x200000
+    field public static final int MATCH_CATEGORY_SCHEME_SPECIFIC_PART = 5767168; // 0x580000
+    field public static final int MATCH_CATEGORY_TYPE = 6291456; // 0x600000
+    field public static final int NO_MATCH_ACTION = -3; // 0xfffffffd
+    field public static final int NO_MATCH_CATEGORY = -4; // 0xfffffffc
+    field public static final int NO_MATCH_DATA = -2; // 0xfffffffe
+    field public static final int NO_MATCH_TYPE = -1; // 0xffffffff
+    field public static final int SYSTEM_HIGH_PRIORITY = 1000; // 0x3e8
+    field public static final int SYSTEM_LOW_PRIORITY = -1000; // 0xfffffc18
+  }
+
+  public static final class IntentFilter.AuthorityEntry {
+    ctor public IntentFilter.AuthorityEntry(String, String);
+    method public String getHost();
+    method public int getPort();
+    method public int match(android.net.Uri);
+  }
+
+  public static class IntentFilter.MalformedMimeTypeException extends android.util.AndroidException {
+    ctor public IntentFilter.MalformedMimeTypeException();
+    ctor public IntentFilter.MalformedMimeTypeException(String);
+  }
+
+  public class IntentSender implements android.os.Parcelable {
+    method public int describeContents();
+    method public String getCreatorPackage();
+    method public int getCreatorUid();
+    method public android.os.UserHandle getCreatorUserHandle();
+    method @Deprecated public String getTargetPackage();
+    method public static android.content.IntentSender readIntentSenderOrNullFromParcel(android.os.Parcel);
+    method public void sendIntent(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler) throws android.content.IntentSender.SendIntentException;
+    method public void sendIntent(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler, String) throws android.content.IntentSender.SendIntentException;
+    method public static void writeIntentSenderOrNullToParcel(android.content.IntentSender, android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.IntentSender> CREATOR;
+  }
+
+  public static interface IntentSender.OnFinished {
+    method public void onSendFinished(android.content.IntentSender, android.content.Intent, int, String, android.os.Bundle);
+  }
+
+  public static class IntentSender.SendIntentException extends android.util.AndroidException {
+    ctor public IntentSender.SendIntentException();
+    ctor public IntentSender.SendIntentException(String);
+    ctor public IntentSender.SendIntentException(Exception);
+  }
+
+  @Deprecated public class Loader<D> {
+    ctor @Deprecated public Loader(android.content.Context);
+    method @Deprecated public void abandon();
+    method @Deprecated public boolean cancelLoad();
+    method @Deprecated public void commitContentChanged();
+    method @Deprecated public String dataToString(D);
+    method @Deprecated public void deliverCancellation();
+    method @Deprecated public void deliverResult(D);
+    method @Deprecated public void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated public void forceLoad();
+    method @Deprecated public android.content.Context getContext();
+    method @Deprecated public int getId();
+    method @Deprecated public boolean isAbandoned();
+    method @Deprecated public boolean isReset();
+    method @Deprecated public boolean isStarted();
+    method @Deprecated protected void onAbandon();
+    method @Deprecated protected boolean onCancelLoad();
+    method @Deprecated public void onContentChanged();
+    method @Deprecated protected void onForceLoad();
+    method @Deprecated protected void onReset();
+    method @Deprecated protected void onStartLoading();
+    method @Deprecated protected void onStopLoading();
+    method @Deprecated public void registerListener(int, android.content.Loader.OnLoadCompleteListener<D>);
+    method @Deprecated public void registerOnLoadCanceledListener(android.content.Loader.OnLoadCanceledListener<D>);
+    method @Deprecated public void reset();
+    method @Deprecated public void rollbackContentChanged();
+    method @Deprecated public final void startLoading();
+    method @Deprecated public void stopLoading();
+    method @Deprecated public boolean takeContentChanged();
+    method @Deprecated public void unregisterListener(android.content.Loader.OnLoadCompleteListener<D>);
+    method @Deprecated public void unregisterOnLoadCanceledListener(android.content.Loader.OnLoadCanceledListener<D>);
+  }
+
+  @Deprecated public final class Loader.ForceLoadContentObserver extends android.database.ContentObserver {
+    ctor @Deprecated public Loader.ForceLoadContentObserver();
+  }
+
+  @Deprecated public static interface Loader.OnLoadCanceledListener<D> {
+    method @Deprecated public void onLoadCanceled(android.content.Loader<D>);
+  }
+
+  @Deprecated public static interface Loader.OnLoadCompleteListener<D> {
+    method @Deprecated public void onLoadComplete(android.content.Loader<D>, D);
+  }
+
+  public final class LocusId implements android.os.Parcelable {
+    ctor public LocusId(@NonNull String);
+    method public int describeContents();
+    method @NonNull public String getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.LocusId> CREATOR;
+  }
+
+  public class MutableContextWrapper extends android.content.ContextWrapper {
+    ctor public MutableContextWrapper(android.content.Context);
+    method public void setBaseContext(android.content.Context);
+  }
+
+  public class OperationApplicationException extends java.lang.Exception {
+    ctor public OperationApplicationException();
+    ctor public OperationApplicationException(String);
+    ctor public OperationApplicationException(String, Throwable);
+    ctor public OperationApplicationException(Throwable);
+    ctor public OperationApplicationException(int);
+    ctor public OperationApplicationException(String, int);
+    method public int getNumSuccessfulYieldPoints();
+  }
+
+  public class PeriodicSync implements android.os.Parcelable {
+    ctor public PeriodicSync(android.accounts.Account, String, android.os.Bundle, long);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.PeriodicSync> CREATOR;
+    field public final android.accounts.Account account;
+    field public final String authority;
+    field public final android.os.Bundle extras;
+    field public final long period;
+  }
+
+  public class QuickViewConstants {
+    field public static final String FEATURE_DELETE = "android:delete";
+    field public static final String FEATURE_DOWNLOAD = "android:download";
+    field public static final String FEATURE_EDIT = "android:edit";
+    field public static final String FEATURE_PRINT = "android:print";
+    field public static final String FEATURE_SEND = "android:send";
+    field public static final String FEATURE_VIEW = "android:view";
+  }
+
+  public class ReceiverCallNotAllowedException extends android.util.AndroidRuntimeException {
+    ctor public ReceiverCallNotAllowedException(String);
+  }
+
+  public class RestrictionEntry implements android.os.Parcelable {
+    ctor public RestrictionEntry(int, String);
+    ctor public RestrictionEntry(String, String);
+    ctor public RestrictionEntry(String, boolean);
+    ctor public RestrictionEntry(String, String[]);
+    ctor public RestrictionEntry(String, int);
+    ctor public RestrictionEntry(android.os.Parcel);
+    method public static android.content.RestrictionEntry createBundleArrayEntry(String, android.content.RestrictionEntry[]);
+    method public static android.content.RestrictionEntry createBundleEntry(String, android.content.RestrictionEntry[]);
+    method public int describeContents();
+    method public String[] getAllSelectedStrings();
+    method public String[] getChoiceEntries();
+    method public String[] getChoiceValues();
+    method public String getDescription();
+    method public int getIntValue();
+    method public String getKey();
+    method public android.content.RestrictionEntry[] getRestrictions();
+    method public boolean getSelectedState();
+    method public String getSelectedString();
+    method public String getTitle();
+    method public int getType();
+    method public void setAllSelectedStrings(String[]);
+    method public void setChoiceEntries(String[]);
+    method public void setChoiceEntries(android.content.Context, @ArrayRes int);
+    method public void setChoiceValues(String[]);
+    method public void setChoiceValues(android.content.Context, @ArrayRes int);
+    method public void setDescription(String);
+    method public void setIntValue(int);
+    method public void setRestrictions(android.content.RestrictionEntry[]);
+    method public void setSelectedState(boolean);
+    method public void setSelectedString(String);
+    method public void setTitle(String);
+    method public void setType(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.RestrictionEntry> CREATOR;
+    field public static final int TYPE_BOOLEAN = 1; // 0x1
+    field public static final int TYPE_BUNDLE = 7; // 0x7
+    field public static final int TYPE_BUNDLE_ARRAY = 8; // 0x8
+    field public static final int TYPE_CHOICE = 2; // 0x2
+    field public static final int TYPE_INTEGER = 5; // 0x5
+    field public static final int TYPE_MULTI_SELECT = 4; // 0x4
+    field public static final int TYPE_NULL = 0; // 0x0
+    field public static final int TYPE_STRING = 6; // 0x6
+  }
+
+  public class RestrictionsManager {
+    method public static android.os.Bundle convertRestrictionsToBundle(java.util.List<android.content.RestrictionEntry>);
+    method public android.content.Intent createLocalApprovalIntent();
+    method public android.os.Bundle getApplicationRestrictions();
+    method public java.util.List<android.content.RestrictionEntry> getManifestRestrictions(String);
+    method public boolean hasRestrictionsProvider();
+    method public void notifyPermissionResponse(String, android.os.PersistableBundle);
+    method public void requestPermission(String, String, android.os.PersistableBundle);
+    field public static final String ACTION_PERMISSION_RESPONSE_RECEIVED = "android.content.action.PERMISSION_RESPONSE_RECEIVED";
+    field public static final String ACTION_REQUEST_LOCAL_APPROVAL = "android.content.action.REQUEST_LOCAL_APPROVAL";
+    field public static final String ACTION_REQUEST_PERMISSION = "android.content.action.REQUEST_PERMISSION";
+    field public static final String EXTRA_PACKAGE_NAME = "android.content.extra.PACKAGE_NAME";
+    field public static final String EXTRA_REQUEST_BUNDLE = "android.content.extra.REQUEST_BUNDLE";
+    field public static final String EXTRA_REQUEST_ID = "android.content.extra.REQUEST_ID";
+    field public static final String EXTRA_REQUEST_TYPE = "android.content.extra.REQUEST_TYPE";
+    field public static final String EXTRA_RESPONSE_BUNDLE = "android.content.extra.RESPONSE_BUNDLE";
+    field public static final String META_DATA_APP_RESTRICTIONS = "android.content.APP_RESTRICTIONS";
+    field public static final String REQUEST_KEY_APPROVE_LABEL = "android.request.approve_label";
+    field public static final String REQUEST_KEY_DATA = "android.request.data";
+    field public static final String REQUEST_KEY_DENY_LABEL = "android.request.deny_label";
+    field public static final String REQUEST_KEY_ICON = "android.request.icon";
+    field public static final String REQUEST_KEY_ID = "android.request.id";
+    field public static final String REQUEST_KEY_MESSAGE = "android.request.mesg";
+    field public static final String REQUEST_KEY_NEW_REQUEST = "android.request.new_request";
+    field public static final String REQUEST_KEY_TITLE = "android.request.title";
+    field public static final String REQUEST_TYPE_APPROVAL = "android.request.type.approval";
+    field public static final String RESPONSE_KEY_ERROR_CODE = "android.response.errorcode";
+    field public static final String RESPONSE_KEY_MESSAGE = "android.response.msg";
+    field public static final String RESPONSE_KEY_RESPONSE_TIMESTAMP = "android.response.timestamp";
+    field public static final String RESPONSE_KEY_RESULT = "android.response.result";
+    field public static final int RESULT_APPROVED = 1; // 0x1
+    field public static final int RESULT_DENIED = 2; // 0x2
+    field public static final int RESULT_ERROR = 5; // 0x5
+    field public static final int RESULT_ERROR_BAD_REQUEST = 1; // 0x1
+    field public static final int RESULT_ERROR_INTERNAL = 3; // 0x3
+    field public static final int RESULT_ERROR_NETWORK = 2; // 0x2
+    field public static final int RESULT_NO_RESPONSE = 3; // 0x3
+    field public static final int RESULT_UNKNOWN_REQUEST = 4; // 0x4
+  }
+
+  public class SearchRecentSuggestionsProvider extends android.content.ContentProvider {
+    ctor public SearchRecentSuggestionsProvider();
+    method public int delete(android.net.Uri, String, String[]);
+    method public String getType(android.net.Uri);
+    method public android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+    method public boolean onCreate();
+    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
+    method protected void setupSuggestions(String, int);
+    method public int update(android.net.Uri, android.content.ContentValues, String, String[]);
+    field public static final int DATABASE_MODE_2LINES = 2; // 0x2
+    field public static final int DATABASE_MODE_QUERIES = 1; // 0x1
+  }
+
+  public interface ServiceConnection {
+    method public default void onBindingDied(android.content.ComponentName);
+    method public default void onNullBinding(android.content.ComponentName);
+    method public void onServiceConnected(android.content.ComponentName, android.os.IBinder);
+    method public void onServiceDisconnected(android.content.ComponentName);
+  }
+
+  public interface SharedPreferences {
+    method public boolean contains(String);
+    method public android.content.SharedPreferences.Editor edit();
+    method public java.util.Map<java.lang.String,?> getAll();
+    method public boolean getBoolean(String, boolean);
+    method public float getFloat(String, float);
+    method public int getInt(String, int);
+    method public long getLong(String, long);
+    method @Nullable public String getString(String, @Nullable String);
+    method @Nullable public java.util.Set<java.lang.String> getStringSet(String, @Nullable java.util.Set<java.lang.String>);
+    method public void registerOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener);
+    method public void unregisterOnSharedPreferenceChangeListener(android.content.SharedPreferences.OnSharedPreferenceChangeListener);
+  }
+
+  public static interface SharedPreferences.Editor {
+    method public void apply();
+    method public android.content.SharedPreferences.Editor clear();
+    method public boolean commit();
+    method public android.content.SharedPreferences.Editor putBoolean(String, boolean);
+    method public android.content.SharedPreferences.Editor putFloat(String, float);
+    method public android.content.SharedPreferences.Editor putInt(String, int);
+    method public android.content.SharedPreferences.Editor putLong(String, long);
+    method public android.content.SharedPreferences.Editor putString(String, @Nullable String);
+    method public android.content.SharedPreferences.Editor putStringSet(String, @Nullable java.util.Set<java.lang.String>);
+    method public android.content.SharedPreferences.Editor remove(String);
+  }
+
+  public static interface SharedPreferences.OnSharedPreferenceChangeListener {
+    method public void onSharedPreferenceChanged(android.content.SharedPreferences, String);
+  }
+
+  public class SyncAdapterType implements android.os.Parcelable {
+    ctor public SyncAdapterType(String, String, boolean, boolean);
+    ctor public SyncAdapterType(android.os.Parcel);
+    method public boolean allowParallelSyncs();
+    method public int describeContents();
+    method public String getSettingsActivity();
+    method public boolean isAlwaysSyncable();
+    method public boolean isUserVisible();
+    method public static android.content.SyncAdapterType newKey(String, String);
+    method public boolean supportsUploading();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncAdapterType> CREATOR;
+    field public final String accountType;
+    field public final String authority;
+    field public final boolean isKey;
+  }
+
+  public class SyncContext {
+    method public android.os.IBinder getSyncContextBinder();
+    method public void onFinished(android.content.SyncResult);
+  }
+
+  public class SyncInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public final android.accounts.Account account;
+    field public final String authority;
+    field public final long startTime;
+  }
+
+  public class SyncRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncRequest> CREATOR;
+  }
+
+  public static class SyncRequest.Builder {
+    ctor public SyncRequest.Builder();
+    method public android.content.SyncRequest build();
+    method public android.content.SyncRequest.Builder setDisallowMetered(boolean);
+    method public android.content.SyncRequest.Builder setExpedited(boolean);
+    method public android.content.SyncRequest.Builder setExtras(android.os.Bundle);
+    method public android.content.SyncRequest.Builder setIgnoreBackoff(boolean);
+    method public android.content.SyncRequest.Builder setIgnoreSettings(boolean);
+    method public android.content.SyncRequest.Builder setManual(boolean);
+    method public android.content.SyncRequest.Builder setNoRetry(boolean);
+    method public android.content.SyncRequest.Builder setRequiresCharging(boolean);
+    method @NonNull public android.content.SyncRequest.Builder setScheduleAsExpeditedJob(boolean);
+    method public android.content.SyncRequest.Builder setSyncAdapter(android.accounts.Account, String);
+    method public android.content.SyncRequest.Builder syncOnce();
+    method public android.content.SyncRequest.Builder syncPeriodic(long, long);
+  }
+
+  public final class SyncResult implements android.os.Parcelable {
+    ctor public SyncResult();
+    method public void clear();
+    method public int describeContents();
+    method public boolean hasError();
+    method public boolean hasHardError();
+    method public boolean hasSoftError();
+    method public boolean madeSomeProgress();
+    method public String toDebugString();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.content.SyncResult ALREADY_IN_PROGRESS;
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncResult> CREATOR;
+    field public boolean databaseError;
+    field public long delayUntil;
+    field public boolean fullSyncRequested;
+    field public boolean moreRecordsToGet;
+    field public boolean partialSyncUnavailable;
+    field public final android.content.SyncStats stats;
+    field public final boolean syncAlreadyInProgress;
+    field public boolean tooManyDeletions;
+    field public boolean tooManyRetries;
+  }
+
+  public class SyncStats implements android.os.Parcelable {
+    ctor public SyncStats();
+    ctor public SyncStats(android.os.Parcel);
+    method public void clear();
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncStats> CREATOR;
+    field public long numAuthExceptions;
+    field public long numConflictDetectedExceptions;
+    field public long numDeletes;
+    field public long numEntries;
+    field public long numInserts;
+    field public long numIoExceptions;
+    field public long numParseExceptions;
+    field public long numSkippedEntries;
+    field public long numUpdates;
+  }
+
+  public interface SyncStatusObserver {
+    method public void onStatusChanged(int);
+  }
+
+  public class UriMatcher {
+    ctor public UriMatcher(int);
+    method public void addURI(String, String, int);
+    method public int match(android.net.Uri);
+    field public static final int NO_MATCH = -1; // 0xffffffff
+  }
+
+  public final class UriPermission implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getPersistedTime();
+    method public android.net.Uri getUri();
+    method public boolean isReadPermission();
+    method public boolean isWritePermission();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.UriPermission> CREATOR;
+    field public static final long INVALID_TIME = -9223372036854775808L; // 0x8000000000000000L
+  }
+
+}
+
+package android.content.pm {
+
+  public class ActivityInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+    ctor public ActivityInfo();
+    ctor public ActivityInfo(android.content.pm.ActivityInfo);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public final int getThemeResource();
+    field public static final int COLOR_MODE_DEFAULT = 0; // 0x0
+    field public static final int COLOR_MODE_HDR = 2; // 0x2
+    field public static final int COLOR_MODE_WIDE_COLOR_GAMUT = 1; // 0x1
+    field public static final int CONFIG_COLOR_MODE = 16384; // 0x4000
+    field public static final int CONFIG_DENSITY = 4096; // 0x1000
+    field public static final int CONFIG_FONT_SCALE = 1073741824; // 0x40000000
+    field public static final int CONFIG_FONT_WEIGHT_ADJUSTMENT = 268435456; // 0x10000000
+    field public static final int CONFIG_KEYBOARD = 16; // 0x10
+    field public static final int CONFIG_KEYBOARD_HIDDEN = 32; // 0x20
+    field public static final int CONFIG_LAYOUT_DIRECTION = 8192; // 0x2000
+    field public static final int CONFIG_LOCALE = 4; // 0x4
+    field public static final int CONFIG_MCC = 1; // 0x1
+    field public static final int CONFIG_MNC = 2; // 0x2
+    field public static final int CONFIG_NAVIGATION = 64; // 0x40
+    field public static final int CONFIG_ORIENTATION = 128; // 0x80
+    field public static final int CONFIG_SCREEN_LAYOUT = 256; // 0x100
+    field public static final int CONFIG_SCREEN_SIZE = 1024; // 0x400
+    field public static final int CONFIG_SMALLEST_SCREEN_SIZE = 2048; // 0x800
+    field public static final int CONFIG_TOUCHSCREEN = 8; // 0x8
+    field public static final int CONFIG_UI_MODE = 512; // 0x200
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ActivityInfo> CREATOR;
+    field public static final int DOCUMENT_LAUNCH_ALWAYS = 2; // 0x2
+    field public static final int DOCUMENT_LAUNCH_INTO_EXISTING = 1; // 0x1
+    field public static final int DOCUMENT_LAUNCH_NEVER = 3; // 0x3
+    field public static final int DOCUMENT_LAUNCH_NONE = 0; // 0x0
+    field public static final int FLAG_ALLOW_TASK_REPARENTING = 64; // 0x40
+    field public static final int FLAG_ALWAYS_RETAIN_TASK_STATE = 8; // 0x8
+    field public static final int FLAG_AUTO_REMOVE_FROM_RECENTS = 8192; // 0x2000
+    field public static final int FLAG_CLEAR_TASK_ON_LAUNCH = 4; // 0x4
+    field public static final int FLAG_ENABLE_VR_MODE = 32768; // 0x8000
+    field public static final int FLAG_EXCLUDE_FROM_RECENTS = 32; // 0x20
+    field public static final int FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS = 256; // 0x100
+    field public static final int FLAG_FINISH_ON_TASK_LAUNCH = 2; // 0x2
+    field public static final int FLAG_HARDWARE_ACCELERATED = 512; // 0x200
+    field public static final int FLAG_IMMERSIVE = 2048; // 0x800
+    field public static final int FLAG_MULTIPROCESS = 1; // 0x1
+    field public static final int FLAG_NO_HISTORY = 128; // 0x80
+    field public static final int FLAG_PREFER_MINIMAL_POST_PROCESSING = 33554432; // 0x2000000
+    field public static final int FLAG_RELINQUISH_TASK_IDENTITY = 4096; // 0x1000
+    field public static final int FLAG_RESUME_WHILE_PAUSING = 16384; // 0x4000
+    field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000
+    field public static final int FLAG_STATE_NOT_NEEDED = 16; // 0x10
+    field public static final int LAUNCH_MULTIPLE = 0; // 0x0
+    field public static final int LAUNCH_SINGLE_INSTANCE = 3; // 0x3
+    field public static final int LAUNCH_SINGLE_INSTANCE_PER_TASK = 4; // 0x4
+    field public static final int LAUNCH_SINGLE_TASK = 2; // 0x2
+    field public static final int LAUNCH_SINGLE_TOP = 1; // 0x1
+    field public static final int PERSIST_ACROSS_REBOOTS = 2; // 0x2
+    field public static final int PERSIST_NEVER = 1; // 0x1
+    field public static final int PERSIST_ROOT_ONLY = 0; // 0x0
+    field public static final int SCREEN_ORIENTATION_BEHIND = 3; // 0x3
+    field public static final int SCREEN_ORIENTATION_FULL_SENSOR = 10; // 0xa
+    field public static final int SCREEN_ORIENTATION_FULL_USER = 13; // 0xd
+    field public static final int SCREEN_ORIENTATION_LANDSCAPE = 0; // 0x0
+    field public static final int SCREEN_ORIENTATION_LOCKED = 14; // 0xe
+    field public static final int SCREEN_ORIENTATION_NOSENSOR = 5; // 0x5
+    field public static final int SCREEN_ORIENTATION_PORTRAIT = 1; // 0x1
+    field public static final int SCREEN_ORIENTATION_REVERSE_LANDSCAPE = 8; // 0x8
+    field public static final int SCREEN_ORIENTATION_REVERSE_PORTRAIT = 9; // 0x9
+    field public static final int SCREEN_ORIENTATION_SENSOR = 4; // 0x4
+    field public static final int SCREEN_ORIENTATION_SENSOR_LANDSCAPE = 6; // 0x6
+    field public static final int SCREEN_ORIENTATION_SENSOR_PORTRAIT = 7; // 0x7
+    field public static final int SCREEN_ORIENTATION_UNSPECIFIED = -1; // 0xffffffff
+    field public static final int SCREEN_ORIENTATION_USER = 2; // 0x2
+    field public static final int SCREEN_ORIENTATION_USER_LANDSCAPE = 11; // 0xb
+    field public static final int SCREEN_ORIENTATION_USER_PORTRAIT = 12; // 0xc
+    field public static final int UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW = 1; // 0x1
+    field public int colorMode;
+    field public int configChanges;
+    field public int documentLaunchMode;
+    field public int flags;
+    field public int launchMode;
+    field public int maxRecents;
+    field public String parentActivityName;
+    field public String permission;
+    field public int persistableMode;
+    field public int screenOrientation;
+    field public int softInputMode;
+    field public String targetActivity;
+    field public String taskAffinity;
+    field public int theme;
+    field public int uiOptions;
+    field public android.content.pm.ActivityInfo.WindowLayout windowLayout;
+  }
+
+  public static final class ActivityInfo.WindowLayout {
+    ctor public ActivityInfo.WindowLayout(int, float, int, float, int, int, int);
+    field public final int gravity;
+    field public final int height;
+    field public final float heightFraction;
+    field public final int minHeight;
+    field public final int minWidth;
+    field public final int width;
+    field public final float widthFraction;
+  }
+
+  public final class ApkChecksum implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public java.security.cert.Certificate getInstallerCertificate() throws java.security.cert.CertificateException;
+    method @Nullable public String getInstallerPackageName();
+    method @Nullable public String getSplitName();
+    method public int getType();
+    method @NonNull public byte[] getValue();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ApkChecksum> CREATOR;
+  }
+
+  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    ctor public ApplicationInfo();
+    ctor public ApplicationInfo(android.content.pm.ApplicationInfo);
+    method public boolean areAttributionsUserVisible();
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public static CharSequence getCategoryTitle(android.content.Context, int);
+    method public int getGwpAsanMode();
+    method public int getMemtagMode();
+    method public int getNativeHeapZeroInitialized();
+    method public int getRequestRawExternalStorageAccess();
+    method public boolean isProfileable();
+    method public boolean isProfileableByShell();
+    method public boolean isResourceOverlay();
+    method public boolean isVirtualPreload();
+    method public CharSequence loadDescription(android.content.pm.PackageManager);
+    field public static final int CATEGORY_ACCESSIBILITY = 8; // 0x8
+    field public static final int CATEGORY_AUDIO = 1; // 0x1
+    field public static final int CATEGORY_GAME = 0; // 0x0
+    field public static final int CATEGORY_IMAGE = 3; // 0x3
+    field public static final int CATEGORY_MAPS = 6; // 0x6
+    field public static final int CATEGORY_NEWS = 5; // 0x5
+    field public static final int CATEGORY_PRODUCTIVITY = 7; // 0x7
+    field public static final int CATEGORY_SOCIAL = 4; // 0x4
+    field public static final int CATEGORY_UNDEFINED = -1; // 0xffffffff
+    field public static final int CATEGORY_VIDEO = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ApplicationInfo> CREATOR;
+    field public static final int FLAG_ALLOW_BACKUP = 32768; // 0x8000
+    field public static final int FLAG_ALLOW_CLEAR_USER_DATA = 64; // 0x40
+    field public static final int FLAG_ALLOW_TASK_REPARENTING = 32; // 0x20
+    field public static final int FLAG_DEBUGGABLE = 2; // 0x2
+    field public static final int FLAG_EXTERNAL_STORAGE = 262144; // 0x40000
+    field public static final int FLAG_EXTRACT_NATIVE_LIBS = 268435456; // 0x10000000
+    field public static final int FLAG_FACTORY_TEST = 16; // 0x10
+    field public static final int FLAG_FULL_BACKUP_ONLY = 67108864; // 0x4000000
+    field public static final int FLAG_HARDWARE_ACCELERATED = 536870912; // 0x20000000
+    field public static final int FLAG_HAS_CODE = 4; // 0x4
+    field public static final int FLAG_INSTALLED = 8388608; // 0x800000
+    field public static final int FLAG_IS_DATA_ONLY = 16777216; // 0x1000000
+    field @Deprecated public static final int FLAG_IS_GAME = 33554432; // 0x2000000
+    field public static final int FLAG_KILL_AFTER_RESTORE = 65536; // 0x10000
+    field public static final int FLAG_LARGE_HEAP = 1048576; // 0x100000
+    field public static final int FLAG_MULTIARCH = -2147483648; // 0x80000000
+    field public static final int FLAG_PERSISTENT = 8; // 0x8
+    field public static final int FLAG_RESIZEABLE_FOR_SCREENS = 4096; // 0x1000
+    field public static final int FLAG_RESTORE_ANY_VERSION = 131072; // 0x20000
+    field public static final int FLAG_STOPPED = 2097152; // 0x200000
+    field public static final int FLAG_SUPPORTS_LARGE_SCREENS = 2048; // 0x800
+    field public static final int FLAG_SUPPORTS_NORMAL_SCREENS = 1024; // 0x400
+    field public static final int FLAG_SUPPORTS_RTL = 4194304; // 0x400000
+    field @Deprecated public static final int FLAG_SUPPORTS_SCREEN_DENSITIES = 8192; // 0x2000
+    field public static final int FLAG_SUPPORTS_SMALL_SCREENS = 512; // 0x200
+    field public static final int FLAG_SUPPORTS_XLARGE_SCREENS = 524288; // 0x80000
+    field public static final int FLAG_SUSPENDED = 1073741824; // 0x40000000
+    field public static final int FLAG_SYSTEM = 1; // 0x1
+    field public static final int FLAG_TEST_ONLY = 256; // 0x100
+    field public static final int FLAG_UPDATED_SYSTEM_APP = 128; // 0x80
+    field public static final int FLAG_USES_CLEARTEXT_TRAFFIC = 134217728; // 0x8000000
+    field public static final int FLAG_VM_SAFE_MODE = 16384; // 0x4000
+    field public static final int GWP_ASAN_ALWAYS = 1; // 0x1
+    field public static final int GWP_ASAN_DEFAULT = -1; // 0xffffffff
+    field public static final int GWP_ASAN_NEVER = 0; // 0x0
+    field public static final int MEMTAG_ASYNC = 1; // 0x1
+    field public static final int MEMTAG_DEFAULT = -1; // 0xffffffff
+    field public static final int MEMTAG_OFF = 0; // 0x0
+    field public static final int MEMTAG_SYNC = 2; // 0x2
+    field public static final int RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT = 0; // 0x0
+    field public static final int RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED = 2; // 0x2
+    field public static final int RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED = 1; // 0x1
+    field public static final int ZEROINIT_DEFAULT = -1; // 0xffffffff
+    field public static final int ZEROINIT_DISABLED = 0; // 0x0
+    field public static final int ZEROINIT_ENABLED = 1; // 0x1
+    field public String appComponentFactory;
+    field public String backupAgentName;
+    field public int category;
+    field public String className;
+    field public int compatibleWidthLimitDp;
+    field public int compileSdkVersion;
+    field @Nullable public String compileSdkVersionCodename;
+    field public String dataDir;
+    field public int descriptionRes;
+    field public String deviceProtectedDataDir;
+    field public boolean enabled;
+    field public int flags;
+    field public int largestWidthLimitDp;
+    field public String manageSpaceActivityName;
+    field public int minSdkVersion;
+    field public String nativeLibraryDir;
+    field public String permission;
+    field public String processName;
+    field public String publicSourceDir;
+    field public int requiresSmallestWidthDp;
+    field public String[] sharedLibraryFiles;
+    field public String sourceDir;
+    field public String[] splitNames;
+    field public String[] splitPublicSourceDirs;
+    field public String[] splitSourceDirs;
+    field public java.util.UUID storageUuid;
+    field public int targetSdkVersion;
+    field public String taskAffinity;
+    field public int theme;
+    field public int uiOptions;
+    field public int uid;
+  }
+
+  public static class ApplicationInfo.DisplayNameComparator implements java.util.Comparator<android.content.pm.ApplicationInfo> {
+    ctor public ApplicationInfo.DisplayNameComparator(android.content.pm.PackageManager);
+    method public final int compare(android.content.pm.ApplicationInfo, android.content.pm.ApplicationInfo);
+  }
+
+  public final class Attribution implements android.os.Parcelable {
+    method public int describeContents();
+    method @IdRes public int getLabel();
+    method @NonNull public String getTag();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.Attribution> CREATOR;
+  }
+
+  public final class ChangedPackages implements android.os.Parcelable {
+    ctor public ChangedPackages(int, @NonNull java.util.List<java.lang.String>);
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getPackageNames();
+    method public int getSequenceNumber();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ChangedPackages> CREATOR;
+  }
+
+  public final class Checksum implements android.os.Parcelable {
+    ctor public Checksum(int, @NonNull byte[]);
+    method public int describeContents();
+    method public int getType();
+    method @NonNull public byte[] getValue();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.Checksum> CREATOR;
+    field public static final int TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256 = 32; // 0x20
+    field public static final int TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512 = 64; // 0x40
+    field @Deprecated public static final int TYPE_WHOLE_MD5 = 2; // 0x2
+    field public static final int TYPE_WHOLE_MERKLE_ROOT_4K_SHA256 = 1; // 0x1
+    field @Deprecated public static final int TYPE_WHOLE_SHA1 = 4; // 0x4
+    field @Deprecated public static final int TYPE_WHOLE_SHA256 = 8; // 0x8
+    field @Deprecated public static final int TYPE_WHOLE_SHA512 = 16; // 0x10
+  }
+
+  public class ComponentInfo extends android.content.pm.PackageItemInfo {
+    ctor public ComponentInfo();
+    ctor public ComponentInfo(android.content.pm.ComponentInfo);
+    ctor protected ComponentInfo(android.os.Parcel);
+    method public final int getBannerResource();
+    method public final int getIconResource();
+    method public final int getLogoResource();
+    method public boolean isEnabled();
+    field public android.content.pm.ApplicationInfo applicationInfo;
+    field public String[] attributionTags;
+    field public int descriptionRes;
+    field public boolean directBootAware;
+    field public boolean enabled;
+    field public boolean exported;
+    field public String processName;
+    field public String splitName;
+  }
+
+  public class ConfigurationInfo implements android.os.Parcelable {
+    ctor public ConfigurationInfo();
+    ctor public ConfigurationInfo(android.content.pm.ConfigurationInfo);
+    method public int describeContents();
+    method public String getGlEsVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ConfigurationInfo> CREATOR;
+    field public static final int GL_ES_VERSION_UNDEFINED = 0; // 0x0
+    field public static final int INPUT_FEATURE_FIVE_WAY_NAV = 2; // 0x2
+    field public static final int INPUT_FEATURE_HARD_KEYBOARD = 1; // 0x1
+    field public int reqGlEsVersion;
+    field public int reqInputFeatures;
+    field public int reqKeyboardType;
+    field public int reqNavigation;
+    field public int reqTouchScreen;
+  }
+
+  public class CrossProfileApps {
+    method public boolean canInteractAcrossProfiles();
+    method public boolean canRequestInteractAcrossProfiles();
+    method @NonNull public android.content.Intent createRequestInteractAcrossProfilesIntent();
+    method @NonNull public android.graphics.drawable.Drawable getProfileSwitchingIconDrawable(@NonNull android.os.UserHandle);
+    method @NonNull public CharSequence getProfileSwitchingLabel(@NonNull android.os.UserHandle);
+    method @NonNull public java.util.List<android.os.UserHandle> getTargetUserProfiles();
+    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_PROFILES, "android.permission.INTERACT_ACROSS_USERS"}) public void startActivity(@NonNull android.content.Intent, @NonNull android.os.UserHandle, @Nullable android.app.Activity);
+    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_PROFILES, "android.permission.INTERACT_ACROSS_USERS"}) public void startActivity(@NonNull android.content.Intent, @NonNull android.os.UserHandle, @Nullable android.app.Activity, @Nullable android.os.Bundle);
+    method public void startMainActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    field public static final String ACTION_CAN_INTERACT_ACROSS_PROFILES_CHANGED = "android.content.pm.action.CAN_INTERACT_ACROSS_PROFILES_CHANGED";
+  }
+
+  public final class FeatureGroupInfo implements android.os.Parcelable {
+    ctor public FeatureGroupInfo();
+    ctor public FeatureGroupInfo(android.content.pm.FeatureGroupInfo);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.FeatureGroupInfo> CREATOR;
+    field public android.content.pm.FeatureInfo[] features;
+  }
+
+  public class FeatureInfo implements android.os.Parcelable {
+    ctor public FeatureInfo();
+    ctor public FeatureInfo(android.content.pm.FeatureInfo);
+    method public int describeContents();
+    method public String getGlEsVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.FeatureInfo> CREATOR;
+    field public static final int FLAG_REQUIRED = 1; // 0x1
+    field public static final int GL_ES_VERSION_UNDEFINED = 0; // 0x0
+    field public int flags;
+    field public String name;
+    field public int reqGlEsVersion;
+    field public int version;
+  }
+
+  public final class InstallSourceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getInitiatingPackageName();
+    method @Nullable public android.content.pm.SigningInfo getInitiatingPackageSigningInfo();
+    method @Nullable public String getInstallingPackageName();
+    method @Nullable public String getOriginatingPackageName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstallSourceInfo> CREATOR;
+  }
+
+  public class InstrumentationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    ctor public InstrumentationInfo();
+    ctor public InstrumentationInfo(android.content.pm.InstrumentationInfo);
+    method public int describeContents();
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstrumentationInfo> CREATOR;
+    field public String dataDir;
+    field public boolean functionalTest;
+    field public boolean handleProfiling;
+    field public String publicSourceDir;
+    field public String sourceDir;
+    field public String[] splitNames;
+    field public String[] splitPublicSourceDirs;
+    field public String[] splitSourceDirs;
+    field public String targetPackage;
+    field public String targetProcesses;
+  }
+
+  public class LabeledIntent extends android.content.Intent {
+    ctor public LabeledIntent(android.content.Intent, String, int, int);
+    ctor public LabeledIntent(android.content.Intent, String, CharSequence, int);
+    ctor public LabeledIntent(String, int, int);
+    ctor public LabeledIntent(String, CharSequence, int);
+    method public int getIconResource();
+    method public int getLabelResource();
+    method public CharSequence getNonLocalizedLabel();
+    method public String getSourcePackage();
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LabeledIntent> CREATOR;
+  }
+
+  public class LauncherActivityInfo {
+    method @NonNull public android.content.pm.ActivityInfo getActivityInfo();
+    method public android.content.pm.ApplicationInfo getApplicationInfo();
+    method public android.graphics.drawable.Drawable getBadgedIcon(int);
+    method public android.content.ComponentName getComponentName();
+    method public long getFirstInstallTime();
+    method public android.graphics.drawable.Drawable getIcon(int);
+    method public CharSequence getLabel();
+    method @FloatRange(from=0.0, to=1.0) public float getLoadingProgress();
+    method public String getName();
+    method public android.os.UserHandle getUser();
+  }
+
+  public class LauncherApps {
+    method public java.util.List<android.content.pm.LauncherActivityInfo> getActivityList(String, android.os.UserHandle);
+    method @NonNull public java.util.List<android.content.pm.PackageInstaller.SessionInfo> getAllPackageInstallerSessions();
+    method public android.content.pm.ApplicationInfo getApplicationInfo(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public android.content.pm.LauncherApps.PinItemRequest getPinItemRequest(android.content.Intent);
+    method public java.util.List<android.os.UserHandle> getProfiles();
+    method public android.graphics.drawable.Drawable getShortcutBadgedIconDrawable(android.content.pm.ShortcutInfo, int);
+    method @Nullable public android.content.IntentSender getShortcutConfigActivityIntent(@NonNull android.content.pm.LauncherActivityInfo);
+    method public java.util.List<android.content.pm.LauncherActivityInfo> getShortcutConfigActivityList(@Nullable String, @NonNull android.os.UserHandle);
+    method public android.graphics.drawable.Drawable getShortcutIconDrawable(@NonNull android.content.pm.ShortcutInfo, int);
+    method @Nullable public android.app.PendingIntent getShortcutIntent(@NonNull String, @NonNull String, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
+    method @Nullable public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(@NonNull android.content.pm.LauncherApps.ShortcutQuery, @NonNull android.os.UserHandle);
+    method @Nullable public android.os.Bundle getSuspendedPackageLauncherExtras(String, android.os.UserHandle);
+    method public boolean hasShortcutHostPermission();
+    method public boolean isActivityEnabled(android.content.ComponentName, android.os.UserHandle);
+    method public boolean isPackageEnabled(String, android.os.UserHandle);
+    method public void pinShortcuts(@NonNull String, @NonNull java.util.List<java.lang.String>, @NonNull android.os.UserHandle);
+    method public void registerCallback(android.content.pm.LauncherApps.Callback);
+    method public void registerCallback(android.content.pm.LauncherApps.Callback, android.os.Handler);
+    method public void registerPackageInstallerSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.content.pm.PackageInstaller.SessionCallback);
+    method public android.content.pm.LauncherActivityInfo resolveActivity(android.content.Intent, android.os.UserHandle);
+    method public boolean shouldHideFromSuggestions(@NonNull String, @NonNull android.os.UserHandle);
+    method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
+    method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
+    method public void startPackageInstallerSessionDetailsActivity(@NonNull android.content.pm.PackageInstaller.SessionInfo, @Nullable android.graphics.Rect, @Nullable android.os.Bundle);
+    method public void startShortcut(@NonNull String, @NonNull String, @Nullable android.graphics.Rect, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
+    method public void startShortcut(@NonNull android.content.pm.ShortcutInfo, @Nullable android.graphics.Rect, @Nullable android.os.Bundle);
+    method public void unregisterCallback(android.content.pm.LauncherApps.Callback);
+    method public void unregisterPackageInstallerSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback);
+    field public static final String ACTION_CONFIRM_PIN_APPWIDGET = "android.content.pm.action.CONFIRM_PIN_APPWIDGET";
+    field public static final String ACTION_CONFIRM_PIN_SHORTCUT = "android.content.pm.action.CONFIRM_PIN_SHORTCUT";
+    field public static final String EXTRA_PIN_ITEM_REQUEST = "android.content.pm.extra.PIN_ITEM_REQUEST";
+  }
+
+  public abstract static class LauncherApps.Callback {
+    ctor public LauncherApps.Callback();
+    method public abstract void onPackageAdded(String, android.os.UserHandle);
+    method public abstract void onPackageChanged(String, android.os.UserHandle);
+    method public void onPackageLoadingProgressChanged(@NonNull String, @NonNull android.os.UserHandle, float);
+    method public abstract void onPackageRemoved(String, android.os.UserHandle);
+    method public abstract void onPackagesAvailable(String[], android.os.UserHandle, boolean);
+    method public void onPackagesSuspended(String[], android.os.UserHandle);
+    method @Deprecated public void onPackagesSuspended(String[], android.os.UserHandle, @Nullable android.os.Bundle);
+    method public abstract void onPackagesUnavailable(String[], android.os.UserHandle, boolean);
+    method public void onPackagesUnsuspended(String[], android.os.UserHandle);
+    method public void onShortcutsChanged(@NonNull String, @NonNull java.util.List<android.content.pm.ShortcutInfo>, @NonNull android.os.UserHandle);
+  }
+
+  public static final class LauncherApps.PinItemRequest implements android.os.Parcelable {
+    method public boolean accept(@Nullable android.os.Bundle);
+    method public boolean accept();
+    method public int describeContents();
+    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo(android.content.Context);
+    method @Nullable public android.os.Bundle getExtras();
+    method public int getRequestType();
+    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
+    method public boolean isValid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.PinItemRequest> CREATOR;
+    field public static final int REQUEST_TYPE_APPWIDGET = 2; // 0x2
+    field public static final int REQUEST_TYPE_SHORTCUT = 1; // 0x1
+  }
+
+  public static class LauncherApps.ShortcutQuery {
+    ctor public LauncherApps.ShortcutQuery();
+    method public android.content.pm.LauncherApps.ShortcutQuery setActivity(@Nullable android.content.ComponentName);
+    method public android.content.pm.LauncherApps.ShortcutQuery setChangedSince(long);
+    method @NonNull public android.content.pm.LauncherApps.ShortcutQuery setLocusIds(@Nullable java.util.List<android.content.LocusId>);
+    method public android.content.pm.LauncherApps.ShortcutQuery setPackage(@Nullable String);
+    method public android.content.pm.LauncherApps.ShortcutQuery setQueryFlags(int);
+    method public android.content.pm.LauncherApps.ShortcutQuery setShortcutIds(@Nullable java.util.List<java.lang.String>);
+    field public static final int FLAG_GET_KEY_FIELDS_ONLY = 4; // 0x4
+    field public static final int FLAG_MATCH_CACHED = 16; // 0x10
+    field public static final int FLAG_MATCH_DYNAMIC = 1; // 0x1
+    field public static final int FLAG_MATCH_MANIFEST = 8; // 0x8
+    field public static final int FLAG_MATCH_PINNED = 2; // 0x2
+    field public static final int FLAG_MATCH_PINNED_BY_ANY_LAUNCHER = 1024; // 0x400
+  }
+
+  public final class ModuleInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public CharSequence getName();
+    method @Nullable public String getPackageName();
+    method public boolean isHidden();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ModuleInfo> CREATOR;
+  }
+
+  public class PackageInfo implements android.os.Parcelable {
+    ctor public PackageInfo();
+    method public int describeContents();
+    method public long getLongVersionCode();
+    method public void setLongVersionCode(long);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageInfo> CREATOR;
+    field public static final int INSTALL_LOCATION_AUTO = 0; // 0x0
+    field public static final int INSTALL_LOCATION_INTERNAL_ONLY = 1; // 0x1
+    field public static final int INSTALL_LOCATION_PREFER_EXTERNAL = 2; // 0x2
+    field public static final int REQUESTED_PERMISSION_GRANTED = 2; // 0x2
+    field public static final int REQUESTED_PERMISSION_NEVER_FOR_LOCATION = 65536; // 0x10000
+    field public android.content.pm.ActivityInfo[] activities;
+    field public android.content.pm.ApplicationInfo applicationInfo;
+    field @Nullable public android.content.pm.Attribution[] attributions;
+    field public int baseRevisionCode;
+    field public android.content.pm.ConfigurationInfo[] configPreferences;
+    field public android.content.pm.FeatureGroupInfo[] featureGroups;
+    field public long firstInstallTime;
+    field public int[] gids;
+    field public int installLocation;
+    field public android.content.pm.InstrumentationInfo[] instrumentation;
+    field public boolean isApex;
+    field public long lastUpdateTime;
+    field public String packageName;
+    field public android.content.pm.PermissionInfo[] permissions;
+    field public android.content.pm.ProviderInfo[] providers;
+    field public android.content.pm.ActivityInfo[] receivers;
+    field public android.content.pm.FeatureInfo[] reqFeatures;
+    field public String[] requestedPermissions;
+    field public int[] requestedPermissionsFlags;
+    field public android.content.pm.ServiceInfo[] services;
+    field public String sharedUserId;
+    field public int sharedUserLabel;
+    field @Deprecated public android.content.pm.Signature[] signatures;
+    field public android.content.pm.SigningInfo signingInfo;
+    field public String[] splitNames;
+    field public int[] splitRevisionCodes;
+    field @Deprecated public int versionCode;
+    field public String versionName;
+  }
+
+  public class PackageInstaller {
+    method public void abandonSession(int);
+    method public int createSession(@NonNull android.content.pm.PackageInstaller.SessionParams) throws java.io.IOException;
+    method @Deprecated @Nullable public android.content.pm.PackageInstaller.SessionInfo getActiveStagedSession();
+    method @NonNull public java.util.List<android.content.pm.PackageInstaller.SessionInfo> getActiveStagedSessions();
+    method @NonNull public java.util.List<android.content.pm.PackageInstaller.SessionInfo> getAllSessions();
+    method @NonNull public java.util.List<android.content.pm.PackageInstaller.SessionInfo> getMySessions();
+    method @Nullable public android.content.pm.PackageInstaller.SessionInfo getSessionInfo(int);
+    method @NonNull public java.util.List<android.content.pm.PackageInstaller.SessionInfo> getStagedSessions();
+    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.INSTALL_EXISTING_PACKAGES"}) public void installExistingPackage(@NonNull String, int, @Nullable android.content.IntentSender);
+    method @NonNull public android.content.pm.PackageInstaller.Session openSession(int) throws java.io.IOException;
+    method public void registerSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback);
+    method public void registerSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DELETE_PACKAGES, android.Manifest.permission.REQUEST_DELETE_PACKAGES}) public void uninstall(@NonNull String, @NonNull android.content.IntentSender);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DELETE_PACKAGES, android.Manifest.permission.REQUEST_DELETE_PACKAGES}) public void uninstall(@NonNull android.content.pm.VersionedPackage, @NonNull android.content.IntentSender);
+    method @RequiresPermission(android.Manifest.permission.DELETE_PACKAGES) public void uninstallExistingPackage(@NonNull String, @Nullable android.content.IntentSender);
+    method public void unregisterSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback);
+    method public void updateSessionAppIcon(int, @Nullable android.graphics.Bitmap);
+    method public void updateSessionAppLabel(int, @Nullable CharSequence);
+    field public static final String ACTION_SESSION_COMMITTED = "android.content.pm.action.SESSION_COMMITTED";
+    field public static final String ACTION_SESSION_DETAILS = "android.content.pm.action.SESSION_DETAILS";
+    field public static final String ACTION_SESSION_UPDATED = "android.content.pm.action.SESSION_UPDATED";
+    field public static final String EXTRA_OTHER_PACKAGE_NAME = "android.content.pm.extra.OTHER_PACKAGE_NAME";
+    field public static final String EXTRA_PACKAGE_NAME = "android.content.pm.extra.PACKAGE_NAME";
+    field public static final String EXTRA_SESSION = "android.content.pm.extra.SESSION";
+    field public static final String EXTRA_SESSION_ID = "android.content.pm.extra.SESSION_ID";
+    field public static final String EXTRA_STATUS = "android.content.pm.extra.STATUS";
+    field public static final String EXTRA_STATUS_MESSAGE = "android.content.pm.extra.STATUS_MESSAGE";
+    field public static final String EXTRA_STORAGE_PATH = "android.content.pm.extra.STORAGE_PATH";
+    field public static final int STATUS_FAILURE = 1; // 0x1
+    field public static final int STATUS_FAILURE_ABORTED = 3; // 0x3
+    field public static final int STATUS_FAILURE_BLOCKED = 2; // 0x2
+    field public static final int STATUS_FAILURE_CONFLICT = 5; // 0x5
+    field public static final int STATUS_FAILURE_INCOMPATIBLE = 7; // 0x7
+    field public static final int STATUS_FAILURE_INVALID = 4; // 0x4
+    field public static final int STATUS_FAILURE_STORAGE = 6; // 0x6
+    field public static final int STATUS_PENDING_USER_ACTION = -1; // 0xffffffff
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public static class PackageInstaller.Session implements java.io.Closeable {
+    method public void abandon();
+    method public void addChildSessionId(int);
+    method public void close();
+    method public void commit(@NonNull android.content.IntentSender);
+    method public void fsync(@NonNull java.io.OutputStream) throws java.io.IOException;
+    method @NonNull public int[] getChildSessionIds();
+    method @NonNull public String[] getNames() throws java.io.IOException;
+    method public int getParentSessionId();
+    method public boolean isMultiPackage();
+    method public boolean isStaged();
+    method @NonNull public java.io.InputStream openRead(@NonNull String) throws java.io.IOException;
+    method @NonNull public java.io.OutputStream openWrite(@NonNull String, long, long) throws java.io.IOException;
+    method public void removeChildSessionId(int);
+    method public void removeSplit(@NonNull String) throws java.io.IOException;
+    method @Deprecated public void setChecksums(@NonNull String, @NonNull java.util.List<android.content.pm.Checksum>, @Nullable byte[]) throws java.io.IOException;
+    method public void setStagingProgress(float);
+    method public void transfer(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+  }
+
+  public abstract static class PackageInstaller.SessionCallback {
+    ctor public PackageInstaller.SessionCallback();
+    method public abstract void onActiveChanged(int, boolean);
+    method public abstract void onBadgingChanged(int);
+    method public abstract void onCreated(int);
+    method public abstract void onFinished(int, boolean);
+    method public abstract void onProgressChanged(int, float);
+  }
+
+  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
+    method @Nullable public android.content.Intent createDetailsIntent();
+    method public int describeContents();
+    method @Nullable public android.graphics.Bitmap getAppIcon();
+    method @Nullable public CharSequence getAppLabel();
+    method @Nullable public String getAppPackageName();
+    method @NonNull public int[] getChildSessionIds();
+    method public long getCreatedMillis();
+    method public int getInstallLocation();
+    method public int getInstallReason();
+    method @Nullable public String getInstallerAttributionTag();
+    method @Nullable public String getInstallerPackageName();
+    method public int getMode();
+    method public int getOriginatingUid();
+    method @Nullable public android.net.Uri getOriginatingUri();
+    method public int getParentSessionId();
+    method public float getProgress();
+    method @Nullable public android.net.Uri getReferrerUri();
+    method public int getRequireUserAction();
+    method public int getSessionId();
+    method public long getSize();
+    method public int getStagedSessionErrorCode();
+    method @NonNull public String getStagedSessionErrorMessage();
+    method public long getUpdatedMillis();
+    method @NonNull public android.os.UserHandle getUser();
+    method public boolean hasParentSessionId();
+    method public boolean isActive();
+    method public boolean isCommitted();
+    method public boolean isMultiPackage();
+    method public boolean isSealed();
+    method public boolean isStaged();
+    method public boolean isStagedSessionActive();
+    method public boolean isStagedSessionApplied();
+    method public boolean isStagedSessionFailed();
+    method public boolean isStagedSessionReady();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.content.pm.PackageInstaller.SessionInfo> CREATOR;
+    field public static final int INVALID_ID = -1; // 0xffffffff
+    field public static final int STAGED_SESSION_ACTIVATION_FAILED = 2; // 0x2
+    field public static final int STAGED_SESSION_CONFLICT = 4; // 0x4
+    field public static final int STAGED_SESSION_NO_ERROR = 0; // 0x0
+    field public static final int STAGED_SESSION_UNKNOWN = 3; // 0x3
+    field public static final int STAGED_SESSION_VERIFICATION_FAILED = 1; // 0x1
+  }
+
+  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
+    ctor public PackageInstaller.SessionParams(int);
+    method public int describeContents();
+    method public void setAppIcon(@Nullable android.graphics.Bitmap);
+    method public void setAppLabel(@Nullable CharSequence);
+    method public void setAppPackageName(@Nullable String);
+    method @Deprecated public void setAutoRevokePermissionsMode(boolean);
+    method public void setInstallLocation(int);
+    method public void setInstallReason(int);
+    method public void setInstallScenario(int);
+    method public void setMultiPackage();
+    method public void setOriginatingUid(int);
+    method public void setOriginatingUri(@Nullable android.net.Uri);
+    method public void setReferrerUri(@Nullable android.net.Uri);
+    method public void setRequireUserAction(int);
+    method public void setSize(long);
+    method public void setWhitelistedRestrictedPermissions(@Nullable java.util.Set<java.lang.String>);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.content.pm.PackageInstaller.SessionParams> CREATOR;
+    field public static final int MODE_FULL_INSTALL = 1; // 0x1
+    field public static final int MODE_INHERIT_EXISTING = 2; // 0x2
+    field @NonNull public static final java.util.Set<java.lang.String> RESTRICTED_PERMISSIONS_ALL;
+    field public static final int USER_ACTION_NOT_REQUIRED = 2; // 0x2
+    field public static final int USER_ACTION_REQUIRED = 1; // 0x1
+    field public static final int USER_ACTION_UNSPECIFIED = 0; // 0x0
+  }
+
+  public class PackageItemInfo {
+    ctor public PackageItemInfo();
+    ctor public PackageItemInfo(android.content.pm.PackageItemInfo);
+    ctor protected PackageItemInfo(android.os.Parcel);
+    method protected void dumpBack(android.util.Printer, String);
+    method protected void dumpFront(android.util.Printer, String);
+    method public android.graphics.drawable.Drawable loadBanner(android.content.pm.PackageManager);
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
+    method public android.graphics.drawable.Drawable loadLogo(android.content.pm.PackageManager);
+    method public android.graphics.drawable.Drawable loadUnbadgedIcon(android.content.pm.PackageManager);
+    method public android.content.res.XmlResourceParser loadXmlMetaData(android.content.pm.PackageManager, String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public int banner;
+    field public int icon;
+    field public int labelRes;
+    field public int logo;
+    field public android.os.Bundle metaData;
+    field public String name;
+    field public CharSequence nonLocalizedLabel;
+    field public String packageName;
+  }
+
+  public static class PackageItemInfo.DisplayNameComparator implements java.util.Comparator<android.content.pm.PackageItemInfo> {
+    ctor public PackageItemInfo.DisplayNameComparator(android.content.pm.PackageManager);
+    method public final int compare(android.content.pm.PackageItemInfo, android.content.pm.PackageItemInfo);
+  }
+
+  public abstract class PackageManager {
+    ctor @Deprecated public PackageManager();
+    method @Deprecated public abstract void addPackageToPreferred(@NonNull String);
+    method public abstract boolean addPermission(@NonNull android.content.pm.PermissionInfo);
+    method public abstract boolean addPermissionAsync(@NonNull android.content.pm.PermissionInfo);
+    method @Deprecated public abstract void addPreferredActivity(@NonNull android.content.IntentFilter, int, @Nullable android.content.ComponentName[], @NonNull android.content.ComponentName);
+    method @RequiresPermission(value="android.permission.WHITELIST_RESTRICTED_PERMISSIONS", conditional=true) public boolean addWhitelistedRestrictedPermission(@NonNull String, @NonNull String, int);
+    method public abstract boolean canRequestPackageInstalls();
+    method public abstract String[] canonicalToCurrentPackageNames(@NonNull String[]);
+    method @CheckResult public abstract int checkPermission(@NonNull String, @NonNull String);
+    method @CheckResult public abstract int checkSignatures(@NonNull String, @NonNull String);
+    method @CheckResult public abstract int checkSignatures(int, int);
+    method public abstract void clearInstantAppCookie();
+    method @Deprecated public abstract void clearPackagePreferredActivities(@NonNull String);
+    method public abstract String[] currentToCanonicalPackageNames(@NonNull String[]);
+    method public abstract void extendVerificationTimeout(int, int, long);
+    method @Nullable public abstract android.graphics.drawable.Drawable getActivityBanner(@NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract android.graphics.drawable.Drawable getActivityBanner(@NonNull android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.graphics.drawable.Drawable getActivityIcon(@NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.graphics.drawable.Drawable getActivityIcon(@NonNull android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.ActivityInfo getActivityInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract android.graphics.drawable.Drawable getActivityLogo(@NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract android.graphics.drawable.Drawable getActivityLogo(@NonNull android.content.Intent) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract java.util.List<android.content.pm.PermissionGroupInfo> getAllPermissionGroups(int);
+    method @Nullable public abstract android.graphics.drawable.Drawable getApplicationBanner(@NonNull android.content.pm.ApplicationInfo);
+    method @Nullable public abstract android.graphics.drawable.Drawable getApplicationBanner(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract int getApplicationEnabledSetting(@NonNull String);
+    method @NonNull public abstract android.graphics.drawable.Drawable getApplicationIcon(@NonNull android.content.pm.ApplicationInfo);
+    method @NonNull public abstract android.graphics.drawable.Drawable getApplicationIcon(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.ApplicationInfo getApplicationInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract CharSequence getApplicationLabel(@NonNull android.content.pm.ApplicationInfo);
+    method @Nullable public abstract android.graphics.drawable.Drawable getApplicationLogo(@NonNull android.content.pm.ApplicationInfo);
+    method @Nullable public abstract android.graphics.drawable.Drawable getApplicationLogo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public CharSequence getBackgroundPermissionOptionLabel();
+    method @Nullable public abstract android.content.pm.ChangedPackages getChangedPackages(@IntRange(from=0) int);
+    method public abstract int getComponentEnabledSetting(@NonNull android.content.ComponentName);
+    method @NonNull public abstract android.graphics.drawable.Drawable getDefaultActivityIcon();
+    method @Nullable public abstract android.graphics.drawable.Drawable getDrawable(@NonNull String, @DrawableRes int, @Nullable android.content.pm.ApplicationInfo);
+    method public void getGroupOfPlatformPermission(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.String>);
+    method @NonNull public android.content.pm.InstallSourceInfo getInstallSourceInfo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplications(int);
+    method @NonNull public java.util.List<android.content.pm.ModuleInfo> getInstalledModules(int);
+    method @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackages(int);
+    method @Deprecated @Nullable public abstract String getInstallerPackageName(@NonNull String);
+    method @NonNull public abstract byte[] getInstantAppCookie();
+    method public abstract int getInstantAppCookieMaxBytes();
+    method @NonNull public abstract android.content.pm.InstrumentationInfo getInstrumentationInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract android.content.Intent getLaunchIntentForPackage(@NonNull String);
+    method @Nullable public abstract android.content.Intent getLeanbackLaunchIntentForPackage(@NonNull String);
+    method @NonNull public java.util.Set<java.lang.String> getMimeGroup(@NonNull String);
+    method @NonNull public android.content.pm.ModuleInfo getModuleInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract String getNameForUid(int);
+    method @Nullable public android.content.pm.PackageInfo getPackageArchiveInfo(@NonNull String, int);
+    method public abstract int[] getPackageGids(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract int[] getPackageGids(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract android.content.pm.PackageInfo getPackageInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract android.content.pm.PackageInfo getPackageInfo(@NonNull android.content.pm.VersionedPackage, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.PackageInstaller getPackageInstaller();
+    method public abstract int getPackageUid(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract String[] getPackagesForUid(int);
+    method @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getPackagesHoldingPermissions(@NonNull String[], int);
+    method @NonNull public abstract android.content.pm.PermissionGroupInfo getPermissionGroupInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public abstract android.content.pm.PermissionInfo getPermissionInfo(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public void getPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
+    method @Deprecated public abstract int getPreferredActivities(@NonNull java.util.List<android.content.IntentFilter>, @NonNull java.util.List<android.content.ComponentName>, @Nullable String);
+    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.PackageInfo> getPreferredPackages(int);
+    method @NonNull public android.content.pm.PackageManager.Property getProperty(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public android.content.pm.PackageManager.Property getProperty(@NonNull String, @NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.ProviderInfo getProviderInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.ActivityInfo getReceiverInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.res.Resources getResourcesForActivity(@NonNull android.content.ComponentName) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.res.Resources getResourcesForApplication(@NonNull android.content.pm.ApplicationInfo) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public android.content.res.Resources getResourcesForApplication(@NonNull android.content.pm.ApplicationInfo, @Nullable android.content.res.Configuration) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.res.Resources getResourcesForApplication(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract android.content.pm.ServiceInfo getServiceInfo(@NonNull android.content.ComponentName, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public abstract java.util.List<android.content.pm.SharedLibraryInfo> getSharedLibraries(int);
+    method @Nullable public android.os.Bundle getSuspendedPackageAppExtras();
+    method public boolean getSyntheticAppDetailsActivityEnabled(@NonNull String);
+    method @NonNull public abstract android.content.pm.FeatureInfo[] getSystemAvailableFeatures();
+    method @Nullable public abstract String[] getSystemSharedLibraryNames();
+    method @IntRange(from=0) public int getTargetSdkVersion(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract CharSequence getText(@NonNull String, @StringRes int, @Nullable android.content.pm.ApplicationInfo);
+    method @NonNull public abstract android.graphics.drawable.Drawable getUserBadgedDrawableForDensity(@NonNull android.graphics.drawable.Drawable, @NonNull android.os.UserHandle, @Nullable android.graphics.Rect, int);
+    method @NonNull public abstract android.graphics.drawable.Drawable getUserBadgedIcon(@NonNull android.graphics.drawable.Drawable, @NonNull android.os.UserHandle);
+    method @NonNull public abstract CharSequence getUserBadgedLabel(@NonNull CharSequence, @NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission(value="android.permission.WHITELIST_RESTRICTED_PERMISSIONS", conditional=true) public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions(@NonNull String, int);
+    method @Nullable public abstract android.content.res.XmlResourceParser getXml(@NonNull String, @XmlRes int, @Nullable android.content.pm.ApplicationInfo);
+    method public boolean hasSigningCertificate(@NonNull String, @NonNull byte[], int);
+    method public boolean hasSigningCertificate(int, @NonNull byte[], int);
+    method public abstract boolean hasSystemFeature(@NonNull String);
+    method public abstract boolean hasSystemFeature(@NonNull String, int);
+    method @RequiresPermission(value="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS", conditional=true) public boolean isAutoRevokeWhitelisted(@NonNull String);
+    method public boolean isAutoRevokeWhitelisted();
+    method public boolean isDefaultApplicationIcon(@NonNull android.graphics.drawable.Drawable);
+    method public boolean isDeviceUpgrading();
+    method public abstract boolean isInstantApp();
+    method public abstract boolean isInstantApp(@NonNull String);
+    method public boolean isPackageSuspended(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public boolean isPackageSuspended();
+    method @CheckResult public abstract boolean isPermissionRevokedByPolicy(@NonNull String, @NonNull String);
+    method public abstract boolean isSafeMode();
+    method @NonNull public java.util.List<android.content.pm.PackageManager.Property> queryActivityProperty(@NonNull String);
+    method @NonNull public java.util.List<android.content.pm.PackageManager.Property> queryApplicationProperty(@NonNull String);
+    method @NonNull public abstract java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(@NonNull android.content.Intent, int);
+    method @NonNull public abstract java.util.List<android.content.pm.ProviderInfo> queryContentProviders(@Nullable String, int, int);
+    method @NonNull public abstract java.util.List<android.content.pm.InstrumentationInfo> queryInstrumentation(@NonNull String, int);
+    method @NonNull public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentActivities(@NonNull android.content.Intent, int);
+    method @NonNull public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentActivityOptions(@Nullable android.content.ComponentName, @Nullable android.content.Intent[], @NonNull android.content.Intent, int);
+    method @NonNull public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentContentProviders(@NonNull android.content.Intent, int);
+    method @NonNull public abstract java.util.List<android.content.pm.ResolveInfo> queryIntentServices(@NonNull android.content.Intent, int);
+    method @NonNull public abstract java.util.List<android.content.pm.PermissionInfo> queryPermissionsByGroup(@Nullable String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public java.util.List<android.content.pm.PackageManager.Property> queryProviderProperty(@NonNull String);
+    method @NonNull public java.util.List<android.content.pm.PackageManager.Property> queryReceiverProperty(@NonNull String);
+    method @NonNull public java.util.List<android.content.pm.PackageManager.Property> queryServiceProperty(@NonNull String);
+    method @Deprecated public abstract void removePackageFromPreferred(@NonNull String);
+    method public abstract void removePermission(@NonNull String);
+    method @RequiresPermission(value="android.permission.WHITELIST_RESTRICTED_PERMISSIONS", conditional=true) public boolean removeWhitelistedRestrictedPermission(@NonNull String, @NonNull String, int);
+    method public void requestChecksums(@NonNull String, boolean, int, @NonNull java.util.List<java.security.cert.Certificate>, @NonNull android.content.pm.PackageManager.OnChecksumsReadyListener) throws java.security.cert.CertificateEncodingException, android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract android.content.pm.ResolveInfo resolveActivity(@NonNull android.content.Intent, int);
+    method @Nullable public abstract android.content.pm.ProviderInfo resolveContentProvider(@NonNull String, int);
+    method @Nullable public abstract android.content.pm.ResolveInfo resolveService(@NonNull android.content.Intent, int);
+    method public abstract void setApplicationCategoryHint(@NonNull String, int);
+    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public abstract void setApplicationEnabledSetting(@NonNull String, int, int);
+    method @RequiresPermission(value="android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS", conditional=true) public boolean setAutoRevokeWhitelisted(@NonNull String, boolean);
+    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public abstract void setComponentEnabledSetting(@NonNull android.content.ComponentName, int, int);
+    method public abstract void setInstallerPackageName(@NonNull String, @Nullable String);
+    method public void setMimeGroup(@NonNull String, @NonNull java.util.Set<java.lang.String>);
+    method public abstract void updateInstantAppCookie(@Nullable byte[]);
+    method public abstract void verifyPendingInstall(int, int);
+    field public static final int CERT_INPUT_RAW_X509 = 0; // 0x0
+    field public static final int CERT_INPUT_SHA256 = 1; // 0x1
+    field public static final int COMPONENT_ENABLED_STATE_DEFAULT = 0; // 0x0
+    field public static final int COMPONENT_ENABLED_STATE_DISABLED = 2; // 0x2
+    field public static final int COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED = 4; // 0x4
+    field public static final int COMPONENT_ENABLED_STATE_DISABLED_USER = 3; // 0x3
+    field public static final int COMPONENT_ENABLED_STATE_ENABLED = 1; // 0x1
+    field public static final int DONT_KILL_APP = 1; // 0x1
+    field public static final String EXTRA_VERIFICATION_ID = "android.content.pm.extra.VERIFICATION_ID";
+    field public static final String EXTRA_VERIFICATION_RESULT = "android.content.pm.extra.VERIFICATION_RESULT";
+    field public static final String FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS = "android.software.activities_on_secondary_displays";
+    field public static final String FEATURE_APP_WIDGETS = "android.software.app_widgets";
+    field public static final String FEATURE_AUDIO_LOW_LATENCY = "android.hardware.audio.low_latency";
+    field public static final String FEATURE_AUDIO_OUTPUT = "android.hardware.audio.output";
+    field public static final String FEATURE_AUDIO_PRO = "android.hardware.audio.pro";
+    field public static final String FEATURE_AUTOFILL = "android.software.autofill";
+    field public static final String FEATURE_AUTOMOTIVE = "android.hardware.type.automotive";
+    field public static final String FEATURE_BACKUP = "android.software.backup";
+    field public static final String FEATURE_BLUETOOTH = "android.hardware.bluetooth";
+    field public static final String FEATURE_BLUETOOTH_LE = "android.hardware.bluetooth_le";
+    field public static final String FEATURE_CAMERA = "android.hardware.camera";
+    field public static final String FEATURE_CAMERA_ANY = "android.hardware.camera.any";
+    field public static final String FEATURE_CAMERA_AR = "android.hardware.camera.ar";
+    field public static final String FEATURE_CAMERA_AUTOFOCUS = "android.hardware.camera.autofocus";
+    field public static final String FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING = "android.hardware.camera.capability.manual_post_processing";
+    field public static final String FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR = "android.hardware.camera.capability.manual_sensor";
+    field public static final String FEATURE_CAMERA_CAPABILITY_RAW = "android.hardware.camera.capability.raw";
+    field public static final String FEATURE_CAMERA_CONCURRENT = "android.hardware.camera.concurrent";
+    field public static final String FEATURE_CAMERA_EXTERNAL = "android.hardware.camera.external";
+    field public static final String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash";
+    field public static final String FEATURE_CAMERA_FRONT = "android.hardware.camera.front";
+    field public static final String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full";
+    field public static final String FEATURE_CANT_SAVE_STATE = "android.software.cant_save_state";
+    field public static final String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup";
+    field public static final String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice";
+    field public static final String FEATURE_CONSUMER_IR = "android.hardware.consumerir";
+    field public static final String FEATURE_CONTROLS = "android.software.controls";
+    field public static final String FEATURE_DEVICE_ADMIN = "android.software.device_admin";
+    field public static final String FEATURE_EMBEDDED = "android.hardware.type.embedded";
+    field public static final String FEATURE_ETHERNET = "android.hardware.ethernet";
+    field public static final String FEATURE_FACE = "android.hardware.biometrics.face";
+    field public static final String FEATURE_FAKETOUCH = "android.hardware.faketouch";
+    field public static final String FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT = "android.hardware.faketouch.multitouch.distinct";
+    field public static final String FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND = "android.hardware.faketouch.multitouch.jazzhand";
+    field public static final String FEATURE_FINGERPRINT = "android.hardware.fingerprint";
+    field public static final String FEATURE_FREEFORM_WINDOW_MANAGEMENT = "android.software.freeform_window_management";
+    field public static final String FEATURE_GAMEPAD = "android.hardware.gamepad";
+    field public static final String FEATURE_HARDWARE_KEYSTORE = "android.hardware.hardware_keystore";
+    field public static final String FEATURE_HIFI_SENSORS = "android.hardware.sensor.hifi_sensors";
+    field public static final String FEATURE_HOME_SCREEN = "android.software.home_screen";
+    field public static final String FEATURE_IDENTITY_CREDENTIAL_HARDWARE = "android.hardware.identity_credential";
+    field public static final String FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS = "android.hardware.identity_credential_direct_access";
+    field public static final String FEATURE_INPUT_METHODS = "android.software.input_methods";
+    field public static final String FEATURE_IPSEC_TUNNELS = "android.software.ipsec_tunnels";
+    field public static final String FEATURE_IRIS = "android.hardware.biometrics.iris";
+    field public static final String FEATURE_KEYSTORE_APP_ATTEST_KEY = "android.hardware.keystore.app_attest_key";
+    field public static final String FEATURE_KEYSTORE_LIMITED_USE_KEY = "android.hardware.keystore.limited_use_key";
+    field public static final String FEATURE_KEYSTORE_SINGLE_USE_KEY = "android.hardware.keystore.single_use_key";
+    field public static final String FEATURE_LEANBACK = "android.software.leanback";
+    field public static final String FEATURE_LEANBACK_ONLY = "android.software.leanback_only";
+    field public static final String FEATURE_LIVE_TV = "android.software.live_tv";
+    field public static final String FEATURE_LIVE_WALLPAPER = "android.software.live_wallpaper";
+    field public static final String FEATURE_LOCATION = "android.hardware.location";
+    field public static final String FEATURE_LOCATION_GPS = "android.hardware.location.gps";
+    field public static final String FEATURE_LOCATION_NETWORK = "android.hardware.location.network";
+    field public static final String FEATURE_MANAGED_USERS = "android.software.managed_users";
+    field public static final String FEATURE_MICROPHONE = "android.hardware.microphone";
+    field public static final String FEATURE_MIDI = "android.software.midi";
+    field public static final String FEATURE_NFC = "android.hardware.nfc";
+    field public static final String FEATURE_NFC_BEAM = "android.sofware.nfc.beam";
+    field public static final String FEATURE_NFC_HOST_CARD_EMULATION = "android.hardware.nfc.hce";
+    field public static final String FEATURE_NFC_HOST_CARD_EMULATION_NFCF = "android.hardware.nfc.hcef";
+    field public static final String FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE = "android.hardware.nfc.ese";
+    field public static final String FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC = "android.hardware.nfc.uicc";
+    field public static final String FEATURE_OPENGLES_DEQP_LEVEL = "android.software.opengles.deqp.level";
+    field public static final String FEATURE_OPENGLES_EXTENSION_PACK = "android.hardware.opengles.aep";
+    field public static final String FEATURE_PC = "android.hardware.type.pc";
+    field public static final String FEATURE_PICTURE_IN_PICTURE = "android.software.picture_in_picture";
+    field public static final String FEATURE_PRINTING = "android.software.print";
+    field public static final String FEATURE_RAM_LOW = "android.hardware.ram.low";
+    field public static final String FEATURE_RAM_NORMAL = "android.hardware.ram.normal";
+    field public static final String FEATURE_SCREEN_LANDSCAPE = "android.hardware.screen.landscape";
+    field public static final String FEATURE_SCREEN_PORTRAIT = "android.hardware.screen.portrait";
+    field public static final String FEATURE_SECURELY_REMOVES_USERS = "android.software.securely_removes_users";
+    field public static final String FEATURE_SECURE_LOCK_SCREEN = "android.software.secure_lock_screen";
+    field public static final String FEATURE_SECURITY_MODEL_COMPATIBLE = "android.hardware.security.model.compatible";
+    field public static final String FEATURE_SENSOR_ACCELEROMETER = "android.hardware.sensor.accelerometer";
+    field public static final String FEATURE_SENSOR_AMBIENT_TEMPERATURE = "android.hardware.sensor.ambient_temperature";
+    field public static final String FEATURE_SENSOR_BAROMETER = "android.hardware.sensor.barometer";
+    field public static final String FEATURE_SENSOR_COMPASS = "android.hardware.sensor.compass";
+    field public static final String FEATURE_SENSOR_GYROSCOPE = "android.hardware.sensor.gyroscope";
+    field public static final String FEATURE_SENSOR_HEART_RATE = "android.hardware.sensor.heartrate";
+    field public static final String FEATURE_SENSOR_HEART_RATE_ECG = "android.hardware.sensor.heartrate.ecg";
+    field public static final String FEATURE_SENSOR_HINGE_ANGLE = "android.hardware.sensor.hinge_angle";
+    field public static final String FEATURE_SENSOR_LIGHT = "android.hardware.sensor.light";
+    field public static final String FEATURE_SENSOR_PROXIMITY = "android.hardware.sensor.proximity";
+    field public static final String FEATURE_SENSOR_RELATIVE_HUMIDITY = "android.hardware.sensor.relative_humidity";
+    field public static final String FEATURE_SENSOR_STEP_COUNTER = "android.hardware.sensor.stepcounter";
+    field public static final String FEATURE_SENSOR_STEP_DETECTOR = "android.hardware.sensor.stepdetector";
+    field public static final String FEATURE_SE_OMAPI_ESE = "android.hardware.se.omapi.ese";
+    field public static final String FEATURE_SE_OMAPI_SD = "android.hardware.se.omapi.sd";
+    field public static final String FEATURE_SE_OMAPI_UICC = "android.hardware.se.omapi.uicc";
+    field public static final String FEATURE_SIP = "android.software.sip";
+    field public static final String FEATURE_SIP_VOIP = "android.software.sip.voip";
+    field public static final String FEATURE_STRONGBOX_KEYSTORE = "android.hardware.strongbox_keystore";
+    field public static final String FEATURE_TELEPHONY = "android.hardware.telephony";
+    field public static final String FEATURE_TELEPHONY_CDMA = "android.hardware.telephony.cdma";
+    field public static final String FEATURE_TELEPHONY_EUICC = "android.hardware.telephony.euicc";
+    field public static final String FEATURE_TELEPHONY_GSM = "android.hardware.telephony.gsm";
+    field public static final String FEATURE_TELEPHONY_IMS = "android.hardware.telephony.ims";
+    field public static final String FEATURE_TELEPHONY_MBMS = "android.hardware.telephony.mbms";
+    field @Deprecated public static final String FEATURE_TELEVISION = "android.hardware.type.television";
+    field public static final String FEATURE_TOUCHSCREEN = "android.hardware.touchscreen";
+    field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch";
+    field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT = "android.hardware.touchscreen.multitouch.distinct";
+    field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND = "android.hardware.touchscreen.multitouch.jazzhand";
+    field public static final String FEATURE_USB_ACCESSORY = "android.hardware.usb.accessory";
+    field public static final String FEATURE_USB_HOST = "android.hardware.usb.host";
+    field public static final String FEATURE_VERIFIED_BOOT = "android.software.verified_boot";
+    field public static final String FEATURE_VR_HEADTRACKING = "android.hardware.vr.headtracking";
+    field @Deprecated public static final String FEATURE_VR_MODE = "android.software.vr.mode";
+    field public static final String FEATURE_VR_MODE_HIGH_PERFORMANCE = "android.hardware.vr.high_performance";
+    field public static final String FEATURE_VULKAN_DEQP_LEVEL = "android.software.vulkan.deqp.level";
+    field public static final String FEATURE_VULKAN_HARDWARE_COMPUTE = "android.hardware.vulkan.compute";
+    field public static final String FEATURE_VULKAN_HARDWARE_LEVEL = "android.hardware.vulkan.level";
+    field public static final String FEATURE_VULKAN_HARDWARE_VERSION = "android.hardware.vulkan.version";
+    field public static final String FEATURE_WATCH = "android.hardware.type.watch";
+    field public static final String FEATURE_WEBVIEW = "android.software.webview";
+    field public static final String FEATURE_WIFI = "android.hardware.wifi";
+    field public static final String FEATURE_WIFI_AWARE = "android.hardware.wifi.aware";
+    field public static final String FEATURE_WIFI_DIRECT = "android.hardware.wifi.direct";
+    field public static final String FEATURE_WIFI_PASSPOINT = "android.hardware.wifi.passpoint";
+    field public static final String FEATURE_WIFI_RTT = "android.hardware.wifi.rtt";
+    field public static final int FLAG_PERMISSION_WHITELIST_INSTALLER = 2; // 0x2
+    field public static final int FLAG_PERMISSION_WHITELIST_SYSTEM = 1; // 0x1
+    field public static final int FLAG_PERMISSION_WHITELIST_UPGRADE = 4; // 0x4
+    field public static final int GET_ACTIVITIES = 1; // 0x1
+    field public static final int GET_ATTRIBUTIONS = -2147483648; // 0x80000000
+    field public static final int GET_CONFIGURATIONS = 16384; // 0x4000
+    field @Deprecated public static final int GET_DISABLED_COMPONENTS = 512; // 0x200
+    field @Deprecated public static final int GET_DISABLED_UNTIL_USED_COMPONENTS = 32768; // 0x8000
+    field public static final int GET_GIDS = 256; // 0x100
+    field public static final int GET_INSTRUMENTATION = 16; // 0x10
+    field @Deprecated public static final int GET_INTENT_FILTERS = 32; // 0x20
+    field public static final int GET_META_DATA = 128; // 0x80
+    field public static final int GET_PERMISSIONS = 4096; // 0x1000
+    field public static final int GET_PROVIDERS = 8; // 0x8
+    field public static final int GET_RECEIVERS = 2; // 0x2
+    field public static final int GET_RESOLVED_FILTER = 64; // 0x40
+    field public static final int GET_SERVICES = 4; // 0x4
+    field public static final int GET_SHARED_LIBRARY_FILES = 1024; // 0x400
+    field @Deprecated public static final int GET_SIGNATURES = 64; // 0x40
+    field public static final int GET_SIGNING_CERTIFICATES = 134217728; // 0x8000000
+    field @Deprecated public static final int GET_UNINSTALLED_PACKAGES = 8192; // 0x2000
+    field public static final int GET_URI_PERMISSION_PATTERNS = 2048; // 0x800
+    field public static final int INSTALL_REASON_DEVICE_RESTORE = 2; // 0x2
+    field public static final int INSTALL_REASON_DEVICE_SETUP = 3; // 0x3
+    field public static final int INSTALL_REASON_POLICY = 1; // 0x1
+    field public static final int INSTALL_REASON_UNKNOWN = 0; // 0x0
+    field public static final int INSTALL_REASON_USER = 4; // 0x4
+    field public static final int INSTALL_SCENARIO_BULK = 2; // 0x2
+    field public static final int INSTALL_SCENARIO_BULK_SECONDARY = 3; // 0x3
+    field public static final int INSTALL_SCENARIO_DEFAULT = 0; // 0x0
+    field public static final int INSTALL_SCENARIO_FAST = 1; // 0x1
+    field public static final int MATCH_ALL = 131072; // 0x20000
+    field public static final int MATCH_APEX = 1073741824; // 0x40000000
+    field public static final int MATCH_DEFAULT_ONLY = 65536; // 0x10000
+    field public static final int MATCH_DIRECT_BOOT_AUTO = 268435456; // 0x10000000
+    field public static final int MATCH_DIRECT_BOOT_AWARE = 524288; // 0x80000
+    field public static final int MATCH_DIRECT_BOOT_UNAWARE = 262144; // 0x40000
+    field public static final int MATCH_DISABLED_COMPONENTS = 512; // 0x200
+    field public static final int MATCH_DISABLED_UNTIL_USED_COMPONENTS = 32768; // 0x8000
+    field public static final int MATCH_SYSTEM_ONLY = 1048576; // 0x100000
+    field public static final int MATCH_UNINSTALLED_PACKAGES = 8192; // 0x2000
+    field public static final long MAXIMUM_VERIFICATION_TIMEOUT = 3600000L; // 0x36ee80L
+    field public static final int PERMISSION_DENIED = -1; // 0xffffffff
+    field public static final int PERMISSION_GRANTED = 0; // 0x0
+    field public static final String PROPERTY_MEDIA_CAPABILITIES = "android.media.PROPERTY_MEDIA_CAPABILITIES";
+    field public static final int SIGNATURE_FIRST_NOT_SIGNED = -1; // 0xffffffff
+    field public static final int SIGNATURE_MATCH = 0; // 0x0
+    field public static final int SIGNATURE_NEITHER_SIGNED = 1; // 0x1
+    field public static final int SIGNATURE_NO_MATCH = -3; // 0xfffffffd
+    field public static final int SIGNATURE_SECOND_NOT_SIGNED = -2; // 0xfffffffe
+    field public static final int SIGNATURE_UNKNOWN_PACKAGE = -4; // 0xfffffffc
+    field public static final int SYNCHRONOUS = 2; // 0x2
+    field @NonNull public static final java.util.List<java.security.cert.Certificate> TRUST_ALL;
+    field @NonNull public static final java.util.List<java.security.cert.Certificate> TRUST_NONE;
+    field public static final int VERIFICATION_ALLOW = 1; // 0x1
+    field public static final int VERIFICATION_REJECT = -1; // 0xffffffff
+    field public static final int VERSION_CODE_HIGHEST = -1; // 0xffffffff
+  }
+
+  public static class PackageManager.NameNotFoundException extends android.util.AndroidException {
+    ctor public PackageManager.NameNotFoundException();
+    ctor public PackageManager.NameNotFoundException(String);
+  }
+
+  @java.lang.FunctionalInterface public static interface PackageManager.OnChecksumsReadyListener {
+    method public void onChecksumsReady(@NonNull java.util.List<android.content.pm.ApkChecksum>);
+  }
+
+  public static final class PackageManager.Property implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getBoolean();
+    method @Nullable public String getClassName();
+    method public float getFloat();
+    method public int getInteger();
+    method @NonNull public String getName();
+    method @NonNull public String getPackageName();
+    method public int getResourceId();
+    method @Nullable public String getString();
+    method public boolean isBoolean();
+    method public boolean isFloat();
+    method public boolean isInteger();
+    method public boolean isResourceId();
+    method public boolean isString();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageManager.Property> CREATOR;
+  }
+
+  @Deprecated public class PackageStats implements android.os.Parcelable {
+    ctor @Deprecated public PackageStats(String);
+    ctor @Deprecated public PackageStats(android.os.Parcel);
+    ctor @Deprecated public PackageStats(android.content.pm.PackageStats);
+    method @Deprecated public int describeContents();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageStats> CREATOR;
+    field @Deprecated public long cacheSize;
+    field @Deprecated public long codeSize;
+    field @Deprecated public long dataSize;
+    field @Deprecated public long externalCacheSize;
+    field @Deprecated public long externalCodeSize;
+    field @Deprecated public long externalDataSize;
+    field @Deprecated public long externalMediaSize;
+    field @Deprecated public long externalObbSize;
+    field @Deprecated public String packageName;
+  }
+
+  public class PathPermission extends android.os.PatternMatcher {
+    ctor public PathPermission(String, int, String, String);
+    ctor public PathPermission(android.os.Parcel);
+    method public String getReadPermission();
+    method public String getWritePermission();
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PathPermission> CREATOR;
+  }
+
+  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    ctor @Deprecated public PermissionGroupInfo();
+    ctor @Deprecated public PermissionGroupInfo(@NonNull android.content.pm.PermissionGroupInfo);
+    method public int describeContents();
+    method @Nullable public CharSequence loadDescription(@NonNull android.content.pm.PackageManager);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PermissionGroupInfo> CREATOR;
+    field public static final int FLAG_PERSONAL_INFO = 1; // 0x1
+    field @StringRes public int descriptionRes;
+    field public int flags;
+    field @Nullable public CharSequence nonLocalizedDescription;
+    field public int priority;
+  }
+
+  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    ctor @Deprecated public PermissionInfo();
+    ctor @Deprecated public PermissionInfo(@NonNull android.content.pm.PermissionInfo);
+    method public int describeContents();
+    method public int getProtection();
+    method public int getProtectionFlags();
+    method @Nullable public CharSequence loadDescription(@NonNull android.content.pm.PackageManager);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PermissionInfo> CREATOR;
+    field public static final int FLAG_COSTS_MONEY = 1; // 0x1
+    field public static final int FLAG_HARD_RESTRICTED = 4; // 0x4
+    field public static final int FLAG_IMMUTABLY_RESTRICTED = 16; // 0x10
+    field public static final int FLAG_INSTALLED = 1073741824; // 0x40000000
+    field public static final int FLAG_SOFT_RESTRICTED = 8; // 0x8
+    field public static final int PROTECTION_DANGEROUS = 1; // 0x1
+    field public static final int PROTECTION_FLAG_APPOP = 64; // 0x40
+    field public static final int PROTECTION_FLAG_DEVELOPMENT = 32; // 0x20
+    field public static final int PROTECTION_FLAG_INSTALLER = 256; // 0x100
+    field public static final int PROTECTION_FLAG_INSTANT = 4096; // 0x1000
+    field public static final int PROTECTION_FLAG_PRE23 = 128; // 0x80
+    field public static final int PROTECTION_FLAG_PREINSTALLED = 1024; // 0x400
+    field public static final int PROTECTION_FLAG_PRIVILEGED = 16; // 0x10
+    field public static final int PROTECTION_FLAG_RUNTIME_ONLY = 8192; // 0x2000
+    field public static final int PROTECTION_FLAG_SETUP = 2048; // 0x800
+    field @Deprecated public static final int PROTECTION_FLAG_SYSTEM = 16; // 0x10
+    field public static final int PROTECTION_FLAG_VERIFIER = 512; // 0x200
+    field public static final int PROTECTION_INTERNAL = 4; // 0x4
+    field @Deprecated public static final int PROTECTION_MASK_BASE = 15; // 0xf
+    field @Deprecated public static final int PROTECTION_MASK_FLAGS = 65520; // 0xfff0
+    field public static final int PROTECTION_NORMAL = 0; // 0x0
+    field public static final int PROTECTION_SIGNATURE = 2; // 0x2
+    field @Deprecated public static final int PROTECTION_SIGNATURE_OR_SYSTEM = 3; // 0x3
+    field @StringRes public int descriptionRes;
+    field public int flags;
+    field @Nullable public String group;
+    field @Nullable public CharSequence nonLocalizedDescription;
+    field @Deprecated public int protectionLevel;
+  }
+
+  public final class ProviderInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+    ctor public ProviderInfo();
+    ctor public ProviderInfo(android.content.pm.ProviderInfo);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ProviderInfo> CREATOR;
+    field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000
+    field public String authority;
+    field public int flags;
+    field public boolean forceUriPermissions;
+    field public boolean grantUriPermissions;
+    field public int initOrder;
+    field @Deprecated public boolean isSyncable;
+    field public boolean multiprocess;
+    field public android.content.pm.PathPermission[] pathPermissions;
+    field public String readPermission;
+    field public android.os.PatternMatcher[] uriPermissionPatterns;
+    field public String writePermission;
+  }
+
+  public class ResolveInfo implements android.os.Parcelable {
+    ctor public ResolveInfo();
+    ctor public ResolveInfo(android.content.pm.ResolveInfo);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public final int getIconResource();
+    method public boolean isCrossProfileIntentForwarderActivity();
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ResolveInfo> CREATOR;
+    field public android.content.pm.ActivityInfo activityInfo;
+    field public android.content.IntentFilter filter;
+    field public int icon;
+    field public boolean isDefault;
+    field public boolean isInstantAppAvailable;
+    field public int labelRes;
+    field public int match;
+    field public CharSequence nonLocalizedLabel;
+    field public int preferredOrder;
+    field public int priority;
+    field public android.content.pm.ProviderInfo providerInfo;
+    field public String resolvePackageName;
+    field public android.content.pm.ServiceInfo serviceInfo;
+    field public int specificIndex;
+  }
+
+  public static class ResolveInfo.DisplayNameComparator implements java.util.Comparator<android.content.pm.ResolveInfo> {
+    ctor public ResolveInfo.DisplayNameComparator(android.content.pm.PackageManager);
+    method public final int compare(android.content.pm.ResolveInfo, android.content.pm.ResolveInfo);
+  }
+
+  public class ServiceInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+    ctor public ServiceInfo();
+    ctor public ServiceInfo(android.content.pm.ServiceInfo);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public int getForegroundServiceType();
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ServiceInfo> CREATOR;
+    field public static final int FLAG_EXTERNAL_SERVICE = 4; // 0x4
+    field public static final int FLAG_ISOLATED_PROCESS = 2; // 0x2
+    field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000
+    field public static final int FLAG_STOP_WITH_TASK = 1; // 0x1
+    field public static final int FLAG_USE_APP_ZYGOTE = 8; // 0x8
+    field public static final int FOREGROUND_SERVICE_TYPE_CAMERA = 64; // 0x40
+    field public static final int FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE = 16; // 0x10
+    field public static final int FOREGROUND_SERVICE_TYPE_DATA_SYNC = 1; // 0x1
+    field public static final int FOREGROUND_SERVICE_TYPE_LOCATION = 8; // 0x8
+    field public static final int FOREGROUND_SERVICE_TYPE_MANIFEST = -1; // 0xffffffff
+    field public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK = 2; // 0x2
+    field public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION = 32; // 0x20
+    field public static final int FOREGROUND_SERVICE_TYPE_MICROPHONE = 128; // 0x80
+    field public static final int FOREGROUND_SERVICE_TYPE_NONE = 0; // 0x0
+    field public static final int FOREGROUND_SERVICE_TYPE_PHONE_CALL = 4; // 0x4
+    field public int flags;
+    field public String permission;
+  }
+
+  public final class SharedLibraryInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.pm.VersionedPackage getDeclaringPackage();
+    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getDependentPackages();
+    method @IntRange(from=0xffffffff) public long getLongVersion();
+    method public String getName();
+    method public int getType();
+    method @Deprecated @IntRange(from=0xffffffff) public int getVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SharedLibraryInfo> CREATOR;
+    field public static final int TYPE_BUILTIN = 0; // 0x0
+    field public static final int TYPE_DYNAMIC = 1; // 0x1
+    field public static final int TYPE_STATIC = 2; // 0x2
+    field public static final int VERSION_UNDEFINED = -1; // 0xffffffff
+  }
+
+  public final class ShortcutInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.content.ComponentName getActivity();
+    method @Nullable public java.util.Set<java.lang.String> getCategories();
+    method @Nullable public CharSequence getDisabledMessage();
+    method public int getDisabledReason();
+    method @Nullable public android.os.PersistableBundle getExtras();
+    method @NonNull public String getId();
+    method @Nullable public android.content.Intent getIntent();
+    method @Nullable public android.content.Intent[] getIntents();
+    method public long getLastChangedTimestamp();
+    method @Nullable public android.content.LocusId getLocusId();
+    method @Nullable public CharSequence getLongLabel();
+    method @NonNull public String getPackage();
+    method public int getRank();
+    method @Nullable public CharSequence getShortLabel();
+    method public android.os.UserHandle getUserHandle();
+    method public boolean hasKeyFieldsOnly();
+    method public boolean isCached();
+    method public boolean isDeclaredInManifest();
+    method public boolean isDynamic();
+    method public boolean isEnabled();
+    method public boolean isImmutable();
+    method public boolean isPinned();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutInfo> CREATOR;
+    field public static final int DISABLED_REASON_APP_CHANGED = 2; // 0x2
+    field public static final int DISABLED_REASON_BACKUP_NOT_SUPPORTED = 101; // 0x65
+    field public static final int DISABLED_REASON_BY_APP = 1; // 0x1
+    field public static final int DISABLED_REASON_NOT_DISABLED = 0; // 0x0
+    field public static final int DISABLED_REASON_OTHER_RESTORE_ISSUE = 103; // 0x67
+    field public static final int DISABLED_REASON_SIGNATURE_MISMATCH = 102; // 0x66
+    field public static final int DISABLED_REASON_UNKNOWN = 3; // 0x3
+    field public static final int DISABLED_REASON_VERSION_LOWER = 100; // 0x64
+    field public static final String SHORTCUT_CATEGORY_CONVERSATION = "android.shortcut.conversation";
+  }
+
+  public static class ShortcutInfo.Builder {
+    ctor public ShortcutInfo.Builder(android.content.Context, String);
+    method @NonNull public android.content.pm.ShortcutInfo build();
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setActivity(@NonNull android.content.ComponentName);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setCategories(java.util.Set<java.lang.String>);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setDisabledMessage(@NonNull CharSequence);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setExtras(@NonNull android.os.PersistableBundle);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setIntent(@NonNull android.content.Intent);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setIntents(@NonNull android.content.Intent[]);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setLocusId(@NonNull android.content.LocusId);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setLongLabel(@NonNull CharSequence);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setLongLived(boolean);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setPerson(@NonNull android.app.Person);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setPersons(@NonNull android.app.Person[]);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setRank(int);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setShortLabel(@NonNull CharSequence);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setStartingTheme(int);
+  }
+
+  public class ShortcutManager {
+    method @WorkerThread public boolean addDynamicShortcuts(@NonNull java.util.List<android.content.pm.ShortcutInfo>);
+    method @WorkerThread public android.content.Intent createShortcutResultIntent(@NonNull android.content.pm.ShortcutInfo);
+    method public void disableShortcuts(@NonNull java.util.List<java.lang.String>);
+    method public void disableShortcuts(@NonNull java.util.List<java.lang.String>, CharSequence);
+    method public void enableShortcuts(@NonNull java.util.List<java.lang.String>);
+    method @NonNull @WorkerThread public java.util.List<android.content.pm.ShortcutInfo> getDynamicShortcuts();
+    method public int getIconMaxHeight();
+    method public int getIconMaxWidth();
+    method @NonNull @WorkerThread public java.util.List<android.content.pm.ShortcutInfo> getManifestShortcuts();
+    method public int getMaxShortcutCountPerActivity();
+    method @NonNull @WorkerThread public java.util.List<android.content.pm.ShortcutInfo> getPinnedShortcuts();
+    method @NonNull @WorkerThread public java.util.List<android.content.pm.ShortcutInfo> getShortcuts(int);
+    method public boolean isRateLimitingActive();
+    method public boolean isRequestPinShortcutSupported();
+    method public void pushDynamicShortcut(@NonNull android.content.pm.ShortcutInfo);
+    method public void removeAllDynamicShortcuts();
+    method public void removeDynamicShortcuts(@NonNull java.util.List<java.lang.String>);
+    method public void removeLongLivedShortcuts(@NonNull java.util.List<java.lang.String>);
+    method public void reportShortcutUsed(String);
+    method @WorkerThread public boolean requestPinShortcut(@NonNull android.content.pm.ShortcutInfo, @Nullable android.content.IntentSender);
+    method @WorkerThread public boolean setDynamicShortcuts(@NonNull java.util.List<android.content.pm.ShortcutInfo>);
+    method @WorkerThread public boolean updateShortcuts(@NonNull java.util.List<android.content.pm.ShortcutInfo>);
+    field public static final int FLAG_MATCH_CACHED = 8; // 0x8
+    field public static final int FLAG_MATCH_DYNAMIC = 2; // 0x2
+    field public static final int FLAG_MATCH_MANIFEST = 1; // 0x1
+    field public static final int FLAG_MATCH_PINNED = 4; // 0x4
+  }
+
+  public class Signature implements android.os.Parcelable {
+    ctor public Signature(byte[]);
+    ctor public Signature(String);
+    method public int describeContents();
+    method public byte[] toByteArray();
+    method public char[] toChars();
+    method public char[] toChars(char[], int[]);
+    method public String toCharsString();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.Signature> CREATOR;
+  }
+
+  public final class SigningInfo implements android.os.Parcelable {
+    ctor public SigningInfo();
+    ctor public SigningInfo(android.content.pm.SigningInfo);
+    method public int describeContents();
+    method public android.content.pm.Signature[] getApkContentsSigners();
+    method public android.content.pm.Signature[] getSigningCertificateHistory();
+    method public boolean hasMultipleSigners();
+    method public boolean hasPastSigningCertificates();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SigningInfo> CREATOR;
+  }
+
+  public final class VersionedPackage implements android.os.Parcelable {
+    ctor public VersionedPackage(@NonNull String, int);
+    ctor public VersionedPackage(@NonNull String, long);
+    method public int describeContents();
+    method public long getLongVersionCode();
+    method @NonNull public String getPackageName();
+    method @Deprecated public int getVersionCode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.VersionedPackage> CREATOR;
+  }
+
+}
+
+package android.content.pm.verify.domain {
+
+  public final class DomainVerificationManager {
+    method @Nullable public android.content.pm.verify.domain.DomainVerificationUserState getDomainVerificationUserState(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+  }
+
+  public final class DomainVerificationUserState implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
+    method @NonNull public String getPackageName();
+    method @NonNull public android.os.UserHandle getUser();
+    method @NonNull public boolean isLinkHandlingAllowed();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationUserState> CREATOR;
+    field public static final int DOMAIN_STATE_NONE = 0; // 0x0
+    field public static final int DOMAIN_STATE_SELECTED = 1; // 0x1
+    field public static final int DOMAIN_STATE_VERIFIED = 2; // 0x2
+  }
+
+}
+
+package android.content.res {
+
+  public class AssetFileDescriptor implements java.io.Closeable android.os.Parcelable {
+    ctor public AssetFileDescriptor(android.os.ParcelFileDescriptor, long, long);
+    ctor public AssetFileDescriptor(android.os.ParcelFileDescriptor, long, long, android.os.Bundle);
+    method public void close() throws java.io.IOException;
+    method public java.io.FileInputStream createInputStream() throws java.io.IOException;
+    method public java.io.FileOutputStream createOutputStream() throws java.io.IOException;
+    method public int describeContents();
+    method public long getDeclaredLength();
+    method public android.os.Bundle getExtras();
+    method public java.io.FileDescriptor getFileDescriptor();
+    method public long getLength();
+    method public android.os.ParcelFileDescriptor getParcelFileDescriptor();
+    method public long getStartOffset();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.res.AssetFileDescriptor> CREATOR;
+    field public static final long UNKNOWN_LENGTH = -1L; // 0xffffffffffffffffL
+  }
+
+  public static class AssetFileDescriptor.AutoCloseInputStream extends android.os.ParcelFileDescriptor.AutoCloseInputStream {
+    ctor public AssetFileDescriptor.AutoCloseInputStream(android.content.res.AssetFileDescriptor) throws java.io.IOException;
+  }
+
+  public static class AssetFileDescriptor.AutoCloseOutputStream extends android.os.ParcelFileDescriptor.AutoCloseOutputStream {
+    ctor public AssetFileDescriptor.AutoCloseOutputStream(android.content.res.AssetFileDescriptor) throws java.io.IOException;
+  }
+
+  public final class AssetManager implements java.lang.AutoCloseable {
+    method public void close();
+    method public String[] getLocales();
+    method @Nullable public String[] list(@NonNull String) throws java.io.IOException;
+    method @NonNull public java.io.InputStream open(@NonNull String) throws java.io.IOException;
+    method @NonNull public java.io.InputStream open(@NonNull String, int) throws java.io.IOException;
+    method @NonNull public android.content.res.AssetFileDescriptor openFd(@NonNull String) throws java.io.IOException;
+    method @NonNull public android.content.res.AssetFileDescriptor openNonAssetFd(@NonNull String) throws java.io.IOException;
+    method @NonNull public android.content.res.AssetFileDescriptor openNonAssetFd(int, @NonNull String) throws java.io.IOException;
+    method @NonNull public android.content.res.XmlResourceParser openXmlResourceParser(@NonNull String) throws java.io.IOException;
+    method @NonNull public android.content.res.XmlResourceParser openXmlResourceParser(int, @NonNull String) throws java.io.IOException;
+    field public static final int ACCESS_BUFFER = 3; // 0x3
+    field public static final int ACCESS_RANDOM = 1; // 0x1
+    field public static final int ACCESS_STREAMING = 2; // 0x2
+    field public static final int ACCESS_UNKNOWN = 0; // 0x0
+  }
+
+  public final class AssetManager.AssetInputStream extends java.io.InputStream {
+    method public int read() throws java.io.IOException;
+  }
+
+  public class ColorStateList implements android.os.Parcelable {
+    ctor public ColorStateList(int[][], @ColorInt int[]);
+    method @Deprecated @NonNull public static android.content.res.ColorStateList createFromXml(android.content.res.Resources, org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @NonNull public static android.content.res.ColorStateList createFromXml(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @Nullable android.content.res.Resources.Theme) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public int describeContents();
+    method public int getChangingConfigurations();
+    method public int getColorForState(@Nullable int[], int);
+    method @ColorInt public int getDefaultColor();
+    method public boolean isOpaque();
+    method public boolean isStateful();
+    method @NonNull public static android.content.res.ColorStateList valueOf(@ColorInt int);
+    method @NonNull public android.content.res.ColorStateList withAlpha(int);
+    method @NonNull public android.content.res.ColorStateList withLStar(float);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.res.ColorStateList> CREATOR;
+  }
+
+  public final class Configuration implements java.lang.Comparable<android.content.res.Configuration> android.os.Parcelable {
+    ctor public Configuration();
+    ctor public Configuration(android.content.res.Configuration);
+    method public int compareTo(android.content.res.Configuration);
+    method public int describeContents();
+    method public int diff(android.content.res.Configuration);
+    method public boolean equals(android.content.res.Configuration);
+    method public int getLayoutDirection();
+    method @NonNull public android.os.LocaleList getLocales();
+    method public boolean isLayoutSizeAtLeast(int);
+    method public boolean isNightModeActive();
+    method public boolean isScreenHdr();
+    method public boolean isScreenRound();
+    method public boolean isScreenWideColorGamut();
+    method public static boolean needNewResources(int, int);
+    method public void readFromParcel(android.os.Parcel);
+    method public void setLayoutDirection(java.util.Locale);
+    method public void setLocale(@Nullable java.util.Locale);
+    method public void setLocales(@Nullable android.os.LocaleList);
+    method public void setTo(android.content.res.Configuration);
+    method public void setToDefaults();
+    method public int updateFrom(@NonNull android.content.res.Configuration);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int COLOR_MODE_HDR_MASK = 12; // 0xc
+    field public static final int COLOR_MODE_HDR_NO = 4; // 0x4
+    field public static final int COLOR_MODE_HDR_SHIFT = 2; // 0x2
+    field public static final int COLOR_MODE_HDR_UNDEFINED = 0; // 0x0
+    field public static final int COLOR_MODE_HDR_YES = 8; // 0x8
+    field public static final int COLOR_MODE_UNDEFINED = 0; // 0x0
+    field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_MASK = 3; // 0x3
+    field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_NO = 1; // 0x1
+    field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED = 0; // 0x0
+    field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_YES = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.res.Configuration> CREATOR;
+    field public static final int DENSITY_DPI_UNDEFINED = 0; // 0x0
+    field public static final int FONT_WEIGHT_ADJUSTMENT_UNDEFINED = 2147483647; // 0x7fffffff
+    field public static final int HARDKEYBOARDHIDDEN_NO = 1; // 0x1
+    field public static final int HARDKEYBOARDHIDDEN_UNDEFINED = 0; // 0x0
+    field public static final int HARDKEYBOARDHIDDEN_YES = 2; // 0x2
+    field public static final int KEYBOARDHIDDEN_NO = 1; // 0x1
+    field public static final int KEYBOARDHIDDEN_UNDEFINED = 0; // 0x0
+    field public static final int KEYBOARDHIDDEN_YES = 2; // 0x2
+    field public static final int KEYBOARD_12KEY = 3; // 0x3
+    field public static final int KEYBOARD_NOKEYS = 1; // 0x1
+    field public static final int KEYBOARD_QWERTY = 2; // 0x2
+    field public static final int KEYBOARD_UNDEFINED = 0; // 0x0
+    field public static final int MNC_ZERO = 65535; // 0xffff
+    field public static final int NAVIGATIONHIDDEN_NO = 1; // 0x1
+    field public static final int NAVIGATIONHIDDEN_UNDEFINED = 0; // 0x0
+    field public static final int NAVIGATIONHIDDEN_YES = 2; // 0x2
+    field public static final int NAVIGATION_DPAD = 2; // 0x2
+    field public static final int NAVIGATION_NONAV = 1; // 0x1
+    field public static final int NAVIGATION_TRACKBALL = 3; // 0x3
+    field public static final int NAVIGATION_UNDEFINED = 0; // 0x0
+    field public static final int NAVIGATION_WHEEL = 4; // 0x4
+    field public static final int ORIENTATION_LANDSCAPE = 2; // 0x2
+    field public static final int ORIENTATION_PORTRAIT = 1; // 0x1
+    field @Deprecated public static final int ORIENTATION_SQUARE = 3; // 0x3
+    field public static final int ORIENTATION_UNDEFINED = 0; // 0x0
+    field public static final int SCREENLAYOUT_LAYOUTDIR_LTR = 64; // 0x40
+    field public static final int SCREENLAYOUT_LAYOUTDIR_MASK = 192; // 0xc0
+    field public static final int SCREENLAYOUT_LAYOUTDIR_RTL = 128; // 0x80
+    field public static final int SCREENLAYOUT_LAYOUTDIR_SHIFT = 6; // 0x6
+    field public static final int SCREENLAYOUT_LAYOUTDIR_UNDEFINED = 0; // 0x0
+    field public static final int SCREENLAYOUT_LONG_MASK = 48; // 0x30
+    field public static final int SCREENLAYOUT_LONG_NO = 16; // 0x10
+    field public static final int SCREENLAYOUT_LONG_UNDEFINED = 0; // 0x0
+    field public static final int SCREENLAYOUT_LONG_YES = 32; // 0x20
+    field public static final int SCREENLAYOUT_ROUND_MASK = 768; // 0x300
+    field public static final int SCREENLAYOUT_ROUND_NO = 256; // 0x100
+    field public static final int SCREENLAYOUT_ROUND_UNDEFINED = 0; // 0x0
+    field public static final int SCREENLAYOUT_ROUND_YES = 512; // 0x200
+    field public static final int SCREENLAYOUT_SIZE_LARGE = 3; // 0x3
+    field public static final int SCREENLAYOUT_SIZE_MASK = 15; // 0xf
+    field public static final int SCREENLAYOUT_SIZE_NORMAL = 2; // 0x2
+    field public static final int SCREENLAYOUT_SIZE_SMALL = 1; // 0x1
+    field public static final int SCREENLAYOUT_SIZE_UNDEFINED = 0; // 0x0
+    field public static final int SCREENLAYOUT_SIZE_XLARGE = 4; // 0x4
+    field public static final int SCREENLAYOUT_UNDEFINED = 0; // 0x0
+    field public static final int SCREEN_HEIGHT_DP_UNDEFINED = 0; // 0x0
+    field public static final int SCREEN_WIDTH_DP_UNDEFINED = 0; // 0x0
+    field public static final int SMALLEST_SCREEN_WIDTH_DP_UNDEFINED = 0; // 0x0
+    field public static final int TOUCHSCREEN_FINGER = 3; // 0x3
+    field public static final int TOUCHSCREEN_NOTOUCH = 1; // 0x1
+    field @Deprecated public static final int TOUCHSCREEN_STYLUS = 2; // 0x2
+    field public static final int TOUCHSCREEN_UNDEFINED = 0; // 0x0
+    field public static final int UI_MODE_NIGHT_MASK = 48; // 0x30
+    field public static final int UI_MODE_NIGHT_NO = 16; // 0x10
+    field public static final int UI_MODE_NIGHT_UNDEFINED = 0; // 0x0
+    field public static final int UI_MODE_NIGHT_YES = 32; // 0x20
+    field public static final int UI_MODE_TYPE_APPLIANCE = 5; // 0x5
+    field public static final int UI_MODE_TYPE_CAR = 3; // 0x3
+    field public static final int UI_MODE_TYPE_DESK = 2; // 0x2
+    field public static final int UI_MODE_TYPE_MASK = 15; // 0xf
+    field public static final int UI_MODE_TYPE_NORMAL = 1; // 0x1
+    field public static final int UI_MODE_TYPE_TELEVISION = 4; // 0x4
+    field public static final int UI_MODE_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int UI_MODE_TYPE_VR_HEADSET = 7; // 0x7
+    field public static final int UI_MODE_TYPE_WATCH = 6; // 0x6
+    field public int colorMode;
+    field public int densityDpi;
+    field public float fontScale;
+    field public int fontWeightAdjustment;
+    field public int hardKeyboardHidden;
+    field public int keyboard;
+    field public int keyboardHidden;
+    field @Deprecated public java.util.Locale locale;
+    field public int mcc;
+    field public int mnc;
+    field public int navigation;
+    field public int navigationHidden;
+    field public int orientation;
+    field public int screenHeightDp;
+    field public int screenLayout;
+    field public int screenWidthDp;
+    field public int smallestScreenWidthDp;
+    field public int touchscreen;
+    field public int uiMode;
+  }
+
+  public class ObbInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.res.ObbInfo> CREATOR;
+    field public static final int OBB_OVERLAY = 1; // 0x1
+    field public String filename;
+    field public int flags;
+    field public String packageName;
+    field public int version;
+  }
+
+  public class ObbScanner {
+    method public static android.content.res.ObbInfo getObbInfo(String) throws java.io.IOException;
+  }
+
+  public class Resources {
+    ctor @Deprecated public Resources(android.content.res.AssetManager, android.util.DisplayMetrics, android.content.res.Configuration);
+    method public void addLoaders(@NonNull android.content.res.loader.ResourcesLoader...);
+    method public final void finishPreloading();
+    method public final void flushLayoutCache();
+    method @NonNull public android.content.res.XmlResourceParser getAnimation(@AnimRes @AnimatorRes int) throws android.content.res.Resources.NotFoundException;
+    method public final android.content.res.AssetManager getAssets();
+    method @AnyRes public static int getAttributeSetSourceResId(@Nullable android.util.AttributeSet);
+    method public boolean getBoolean(@BoolRes int) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated @ColorInt public int getColor(@ColorRes int) throws android.content.res.Resources.NotFoundException;
+    method @ColorInt public int getColor(@ColorRes int, @Nullable android.content.res.Resources.Theme) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated @NonNull public android.content.res.ColorStateList getColorStateList(@ColorRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public android.content.res.ColorStateList getColorStateList(@ColorRes int, @Nullable android.content.res.Resources.Theme) throws android.content.res.Resources.NotFoundException;
+    method public android.content.res.Configuration getConfiguration();
+    method public float getDimension(@DimenRes int) throws android.content.res.Resources.NotFoundException;
+    method public int getDimensionPixelOffset(@DimenRes int) throws android.content.res.Resources.NotFoundException;
+    method public int getDimensionPixelSize(@DimenRes int) throws android.content.res.Resources.NotFoundException;
+    method public android.util.DisplayMetrics getDisplayMetrics();
+    method @Deprecated public android.graphics.drawable.Drawable getDrawable(@DrawableRes int) throws android.content.res.Resources.NotFoundException;
+    method public android.graphics.drawable.Drawable getDrawable(@DrawableRes int, @Nullable android.content.res.Resources.Theme) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated @Nullable public android.graphics.drawable.Drawable getDrawableForDensity(@DrawableRes int, int) throws android.content.res.Resources.NotFoundException;
+    method @Nullable public android.graphics.drawable.Drawable getDrawableForDensity(@DrawableRes int, int, @Nullable android.content.res.Resources.Theme);
+    method public float getFloat(@DimenRes int);
+    method @NonNull public android.graphics.Typeface getFont(@FontRes int) throws android.content.res.Resources.NotFoundException;
+    method public float getFraction(@FractionRes int, int, int);
+    method public int getIdentifier(String, String, String);
+    method @NonNull public int[] getIntArray(@ArrayRes int) throws android.content.res.Resources.NotFoundException;
+    method public int getInteger(@IntegerRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public android.content.res.XmlResourceParser getLayout(@LayoutRes int) throws android.content.res.Resources.NotFoundException;
+    method @Deprecated public android.graphics.Movie getMovie(@RawRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public String getQuantityString(@PluralsRes int, int, java.lang.Object...) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public String getQuantityString(@PluralsRes int, int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public CharSequence getQuantityText(@PluralsRes int, int) throws android.content.res.Resources.NotFoundException;
+    method public String getResourceEntryName(@AnyRes int) throws android.content.res.Resources.NotFoundException;
+    method public String getResourceName(@AnyRes int) throws android.content.res.Resources.NotFoundException;
+    method public String getResourcePackageName(@AnyRes int) throws android.content.res.Resources.NotFoundException;
+    method public String getResourceTypeName(@AnyRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public String getString(@StringRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public String getString(@StringRes int, java.lang.Object...) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public String[] getStringArray(@ArrayRes int) throws android.content.res.Resources.NotFoundException;
+    method public static android.content.res.Resources getSystem();
+    method @NonNull public CharSequence getText(@StringRes int) throws android.content.res.Resources.NotFoundException;
+    method public CharSequence getText(@StringRes int, CharSequence);
+    method @NonNull public CharSequence[] getTextArray(@ArrayRes int) throws android.content.res.Resources.NotFoundException;
+    method public void getValue(@AnyRes int, android.util.TypedValue, boolean) throws android.content.res.Resources.NotFoundException;
+    method public void getValue(String, android.util.TypedValue, boolean) throws android.content.res.Resources.NotFoundException;
+    method public void getValueForDensity(@AnyRes int, int, android.util.TypedValue, boolean) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public android.content.res.XmlResourceParser getXml(@XmlRes int) throws android.content.res.Resources.NotFoundException;
+    method public final android.content.res.Resources.Theme newTheme();
+    method public android.content.res.TypedArray obtainAttributes(android.util.AttributeSet, @StyleableRes int[]);
+    method @NonNull public android.content.res.TypedArray obtainTypedArray(@ArrayRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public java.io.InputStream openRawResource(@RawRes int) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public java.io.InputStream openRawResource(@RawRes int, android.util.TypedValue) throws android.content.res.Resources.NotFoundException;
+    method public android.content.res.AssetFileDescriptor openRawResourceFd(@RawRes int) throws android.content.res.Resources.NotFoundException;
+    method public void parseBundleExtra(String, android.util.AttributeSet, android.os.Bundle) throws org.xmlpull.v1.XmlPullParserException;
+    method public void parseBundleExtras(android.content.res.XmlResourceParser, android.os.Bundle) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void removeLoaders(@NonNull android.content.res.loader.ResourcesLoader...);
+    method @Deprecated public void updateConfiguration(android.content.res.Configuration, android.util.DisplayMetrics);
+    field @AnyRes public static final int ID_NULL = 0; // 0x0
+  }
+
+  public static class Resources.NotFoundException extends java.lang.RuntimeException {
+    ctor public Resources.NotFoundException();
+    ctor public Resources.NotFoundException(String);
+    ctor public Resources.NotFoundException(String, Exception);
+  }
+
+  public final class Resources.Theme {
+    method public void applyStyle(int, boolean);
+    method public void dump(int, String, String);
+    method @NonNull public int[] getAttributeResolutionStack(@AttrRes int, @StyleRes int, @StyleRes int);
+    method public int getChangingConfigurations();
+    method public android.graphics.drawable.Drawable getDrawable(@DrawableRes int) throws android.content.res.Resources.NotFoundException;
+    method @StyleRes public int getExplicitStyle(@Nullable android.util.AttributeSet);
+    method public android.content.res.Resources getResources();
+    method @NonNull public android.content.res.TypedArray obtainStyledAttributes(@NonNull @StyleableRes int[]);
+    method @NonNull public android.content.res.TypedArray obtainStyledAttributes(@StyleRes int, @NonNull @StyleableRes int[]) throws android.content.res.Resources.NotFoundException;
+    method @NonNull public android.content.res.TypedArray obtainStyledAttributes(@Nullable android.util.AttributeSet, @NonNull @StyleableRes int[], @AttrRes int, @StyleRes int);
+    method public void rebase();
+    method public boolean resolveAttribute(int, android.util.TypedValue, boolean);
+    method public void setTo(android.content.res.Resources.Theme);
+  }
+
+  public class TypedArray implements java.lang.AutoCloseable {
+    method public void close();
+    method public boolean getBoolean(@StyleableRes int, boolean);
+    method public int getChangingConfigurations();
+    method @ColorInt public int getColor(@StyleableRes int, @ColorInt int);
+    method @Nullable public android.content.res.ColorStateList getColorStateList(@StyleableRes int);
+    method public float getDimension(@StyleableRes int, float);
+    method public int getDimensionPixelOffset(@StyleableRes int, int);
+    method public int getDimensionPixelSize(@StyleableRes int, int);
+    method @Nullable public android.graphics.drawable.Drawable getDrawable(@StyleableRes int);
+    method public float getFloat(@StyleableRes int, float);
+    method @Nullable public android.graphics.Typeface getFont(@StyleableRes int);
+    method public float getFraction(@StyleableRes int, int, int, float);
+    method public int getIndex(int);
+    method public int getIndexCount();
+    method public int getInt(@StyleableRes int, int);
+    method public int getInteger(@StyleableRes int, int);
+    method public int getLayoutDimension(@StyleableRes int, String);
+    method public int getLayoutDimension(@StyleableRes int, int);
+    method public String getNonResourceString(@StyleableRes int);
+    method public String getPositionDescription();
+    method @AnyRes public int getResourceId(@StyleableRes int, int);
+    method public android.content.res.Resources getResources();
+    method @AnyRes public int getSourceResourceId(@StyleableRes int, @AnyRes int);
+    method @Nullable public String getString(@StyleableRes int);
+    method public CharSequence getText(@StyleableRes int);
+    method public CharSequence[] getTextArray(@StyleableRes int);
+    method public int getType(@StyleableRes int);
+    method public boolean getValue(@StyleableRes int, android.util.TypedValue);
+    method public boolean hasValue(@StyleableRes int);
+    method public boolean hasValueOrEmpty(@StyleableRes int);
+    method public int length();
+    method public android.util.TypedValue peekValue(@StyleableRes int);
+    method public void recycle();
+  }
+
+  public interface XmlResourceParser extends org.xmlpull.v1.XmlPullParser android.util.AttributeSet java.lang.AutoCloseable {
+    method public void close();
+  }
+
+}
+
+package android.content.res.loader {
+
+  public interface AssetsProvider {
+    method @Nullable public default android.content.res.AssetFileDescriptor loadAssetFd(@NonNull String, int);
+  }
+
+  public class ResourcesLoader {
+    ctor public ResourcesLoader();
+    method public void addProvider(@NonNull android.content.res.loader.ResourcesProvider);
+    method public void clearProviders();
+    method @NonNull public java.util.List<android.content.res.loader.ResourcesProvider> getProviders();
+    method public void removeProvider(@NonNull android.content.res.loader.ResourcesProvider);
+    method public void setProviders(@NonNull java.util.List<android.content.res.loader.ResourcesProvider>);
+  }
+
+  public class ResourcesProvider implements java.lang.AutoCloseable java.io.Closeable {
+    method public void close();
+    method @NonNull public static android.content.res.loader.ResourcesProvider empty(@NonNull android.content.res.loader.AssetsProvider);
+    method @NonNull public static android.content.res.loader.ResourcesProvider loadFromApk(@NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method @NonNull public static android.content.res.loader.ResourcesProvider loadFromApk(@NonNull android.os.ParcelFileDescriptor, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
+    method @NonNull public static android.content.res.loader.ResourcesProvider loadFromDirectory(@NonNull String, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
+    method @NonNull public static android.content.res.loader.ResourcesProvider loadFromSplit(@NonNull android.content.Context, @NonNull String) throws java.io.IOException;
+    method @NonNull public static android.content.res.loader.ResourcesProvider loadFromTable(@NonNull android.os.ParcelFileDescriptor, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
+  }
+
+}
+
+package android.database {
+
+  public abstract class AbstractCursor implements android.database.CrossProcessCursor {
+    ctor public AbstractCursor();
+    method protected void checkPosition();
+    method public void close();
+    method public void copyStringToBuffer(int, android.database.CharArrayBuffer);
+    method public void deactivate();
+    method public void fillWindow(int, android.database.CursorWindow);
+    method protected void finalize();
+    method public byte[] getBlob(int);
+    method public int getColumnCount();
+    method public int getColumnIndex(String);
+    method public int getColumnIndexOrThrow(String);
+    method public String getColumnName(int);
+    method public android.os.Bundle getExtras();
+    method public android.net.Uri getNotificationUri();
+    method public final int getPosition();
+    method public int getType(int);
+    method @Deprecated protected Object getUpdatedField(int);
+    method public boolean getWantsAllOnMoveCalls();
+    method public android.database.CursorWindow getWindow();
+    method public final boolean isAfterLast();
+    method public final boolean isBeforeFirst();
+    method public boolean isClosed();
+    method @Deprecated protected boolean isFieldUpdated(int);
+    method public final boolean isFirst();
+    method public final boolean isLast();
+    method public final boolean move(int);
+    method public final boolean moveToFirst();
+    method public final boolean moveToLast();
+    method public final boolean moveToNext();
+    method public final boolean moveToPosition(int);
+    method public final boolean moveToPrevious();
+    method protected void onChange(boolean);
+    method public boolean onMove(int, int);
+    method public void registerContentObserver(android.database.ContentObserver);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public boolean requery();
+    method public android.os.Bundle respond(android.os.Bundle);
+    method public void setExtras(android.os.Bundle);
+    method public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+    method public void unregisterContentObserver(android.database.ContentObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+    field @Deprecated protected boolean mClosed;
+    field @Deprecated protected android.content.ContentResolver mContentResolver;
+    field @Deprecated protected int mPos;
+  }
+
+  protected static class AbstractCursor.SelfContentObserver extends android.database.ContentObserver {
+    ctor public AbstractCursor.SelfContentObserver(android.database.AbstractCursor);
+  }
+
+  public abstract class AbstractWindowedCursor extends android.database.AbstractCursor {
+    ctor public AbstractWindowedCursor();
+    method public double getDouble(int);
+    method public float getFloat(int);
+    method public int getInt(int);
+    method public long getLong(int);
+    method public short getShort(int);
+    method public String getString(int);
+    method public boolean hasWindow();
+    method @Deprecated public boolean isBlob(int);
+    method @Deprecated public boolean isFloat(int);
+    method @Deprecated public boolean isLong(int);
+    method public boolean isNull(int);
+    method @Deprecated public boolean isString(int);
+    method public void setWindow(android.database.CursorWindow);
+    field protected android.database.CursorWindow mWindow;
+  }
+
+  public final class CharArrayBuffer {
+    ctor public CharArrayBuffer(int);
+    ctor public CharArrayBuffer(char[]);
+    field public char[] data;
+    field public int sizeCopied;
+  }
+
+  public class ContentObservable extends android.database.Observable<android.database.ContentObserver> {
+    ctor public ContentObservable();
+    method @Deprecated public void dispatchChange(boolean);
+    method public void dispatchChange(boolean, android.net.Uri);
+    method @Deprecated public void notifyChange(boolean);
+    method public void registerObserver(android.database.ContentObserver);
+  }
+
+  public abstract class ContentObserver {
+    ctor public ContentObserver(android.os.Handler);
+    method public boolean deliverSelfNotifications();
+    method @Deprecated public final void dispatchChange(boolean);
+    method public final void dispatchChange(boolean, @Nullable android.net.Uri);
+    method public final void dispatchChange(boolean, @Nullable android.net.Uri, int);
+    method public final void dispatchChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int);
+    method public void onChange(boolean);
+    method public void onChange(boolean, @Nullable android.net.Uri);
+    method public void onChange(boolean, @Nullable android.net.Uri, int);
+    method public void onChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int);
+  }
+
+  public interface CrossProcessCursor extends android.database.Cursor {
+    method public void fillWindow(int, android.database.CursorWindow);
+    method public android.database.CursorWindow getWindow();
+    method public boolean onMove(int, int);
+  }
+
+  public class CrossProcessCursorWrapper extends android.database.CursorWrapper implements android.database.CrossProcessCursor {
+    ctor public CrossProcessCursorWrapper(android.database.Cursor);
+    method public void fillWindow(int, android.database.CursorWindow);
+    method public android.database.CursorWindow getWindow();
+    method public boolean onMove(int, int);
+  }
+
+  public interface Cursor extends java.io.Closeable {
+    method public void close();
+    method public void copyStringToBuffer(@IntRange(from=0) int, android.database.CharArrayBuffer);
+    method @Deprecated public void deactivate();
+    method public byte[] getBlob(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getColumnCount();
+    method @IntRange(from=0xffffffff) public int getColumnIndex(String);
+    method @IntRange(from=0) public int getColumnIndexOrThrow(String) throws java.lang.IllegalArgumentException;
+    method public String getColumnName(@IntRange(from=0) int);
+    method public String[] getColumnNames();
+    method @IntRange(from=0) public int getCount();
+    method public double getDouble(@IntRange(from=0) int);
+    method public android.os.Bundle getExtras();
+    method public float getFloat(@IntRange(from=0) int);
+    method public int getInt(@IntRange(from=0) int);
+    method public long getLong(@IntRange(from=0) int);
+    method public android.net.Uri getNotificationUri();
+    method @Nullable public default java.util.List<android.net.Uri> getNotificationUris();
+    method @IntRange(from=0xffffffff) public int getPosition();
+    method public short getShort(@IntRange(from=0) int);
+    method public String getString(@IntRange(from=0) int);
+    method public int getType(@IntRange(from=0) int);
+    method public boolean getWantsAllOnMoveCalls();
+    method public boolean isAfterLast();
+    method public boolean isBeforeFirst();
+    method public boolean isClosed();
+    method public boolean isFirst();
+    method public boolean isLast();
+    method public boolean isNull(@IntRange(from=0) int);
+    method public boolean move(int);
+    method public boolean moveToFirst();
+    method public boolean moveToLast();
+    method public boolean moveToNext();
+    method public boolean moveToPosition(@IntRange(from=0xffffffff) int);
+    method public boolean moveToPrevious();
+    method public void registerContentObserver(android.database.ContentObserver);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method @Deprecated public boolean requery();
+    method public android.os.Bundle respond(android.os.Bundle);
+    method public void setExtras(android.os.Bundle);
+    method public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+    method public default void setNotificationUris(@NonNull android.content.ContentResolver, @NonNull java.util.List<android.net.Uri>);
+    method public void unregisterContentObserver(android.database.ContentObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+    field public static final int FIELD_TYPE_BLOB = 4; // 0x4
+    field public static final int FIELD_TYPE_FLOAT = 2; // 0x2
+    field public static final int FIELD_TYPE_INTEGER = 1; // 0x1
+    field public static final int FIELD_TYPE_NULL = 0; // 0x0
+    field public static final int FIELD_TYPE_STRING = 3; // 0x3
+  }
+
+  public class CursorIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
+    ctor public CursorIndexOutOfBoundsException(int, int);
+    ctor public CursorIndexOutOfBoundsException(String);
+  }
+
+  public final class CursorJoiner implements java.lang.Iterable<android.database.CursorJoiner.Result> java.util.Iterator<android.database.CursorJoiner.Result> {
+    ctor public CursorJoiner(android.database.Cursor, String[], android.database.Cursor, String[]);
+    method public boolean hasNext();
+    method public java.util.Iterator<android.database.CursorJoiner.Result> iterator();
+    method public android.database.CursorJoiner.Result next();
+  }
+
+  public enum CursorJoiner.Result {
+    enum_constant public static final android.database.CursorJoiner.Result BOTH;
+    enum_constant public static final android.database.CursorJoiner.Result LEFT;
+    enum_constant public static final android.database.CursorJoiner.Result RIGHT;
+  }
+
+  public class CursorWindow extends android.database.sqlite.SQLiteClosable implements android.os.Parcelable {
+    ctor public CursorWindow(String);
+    ctor public CursorWindow(String, long);
+    ctor @Deprecated public CursorWindow(boolean);
+    method public boolean allocRow();
+    method public void clear();
+    method public void copyStringToBuffer(@IntRange(from=0) int, @IntRange(from=0) int, android.database.CharArrayBuffer);
+    method public int describeContents();
+    method public void freeLastRow();
+    method public byte[] getBlob(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public double getDouble(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public float getFloat(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public int getInt(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public long getLong(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @IntRange(from=0) public int getNumRows();
+    method public short getShort(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @IntRange(from=0) public int getStartPosition();
+    method public String getString(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public int getType(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @Deprecated public boolean isBlob(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @Deprecated public boolean isFloat(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @Deprecated public boolean isLong(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @Deprecated public boolean isNull(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @Deprecated public boolean isString(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public static android.database.CursorWindow newFromParcel(android.os.Parcel);
+    method protected void onAllReferencesReleased();
+    method public boolean putBlob(byte[], @IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean putDouble(double, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean putLong(long, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean putNull(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean putString(String, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean setNumColumns(@IntRange(from=0) int);
+    method public void setStartPosition(@IntRange(from=0) int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.database.CursorWindow> CREATOR;
+  }
+
+  public class CursorWrapper implements android.database.Cursor {
+    ctor public CursorWrapper(android.database.Cursor);
+    method public void close();
+    method public void copyStringToBuffer(int, android.database.CharArrayBuffer);
+    method @Deprecated public void deactivate();
+    method public byte[] getBlob(int);
+    method public int getColumnCount();
+    method public int getColumnIndex(String);
+    method public int getColumnIndexOrThrow(String) throws java.lang.IllegalArgumentException;
+    method public String getColumnName(int);
+    method public String[] getColumnNames();
+    method public int getCount();
+    method public double getDouble(int);
+    method public android.os.Bundle getExtras();
+    method public float getFloat(int);
+    method public int getInt(int);
+    method public long getLong(int);
+    method public android.net.Uri getNotificationUri();
+    method public int getPosition();
+    method public short getShort(int);
+    method public String getString(int);
+    method public int getType(int);
+    method public boolean getWantsAllOnMoveCalls();
+    method public android.database.Cursor getWrappedCursor();
+    method public boolean isAfterLast();
+    method public boolean isBeforeFirst();
+    method public boolean isClosed();
+    method public boolean isFirst();
+    method public boolean isLast();
+    method public boolean isNull(int);
+    method public boolean move(int);
+    method public boolean moveToFirst();
+    method public boolean moveToLast();
+    method public boolean moveToNext();
+    method public boolean moveToPosition(int);
+    method public boolean moveToPrevious();
+    method public void registerContentObserver(android.database.ContentObserver);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method @Deprecated public boolean requery();
+    method public android.os.Bundle respond(android.os.Bundle);
+    method public void setExtras(android.os.Bundle);
+    method public void setNotificationUri(android.content.ContentResolver, android.net.Uri);
+    method public void unregisterContentObserver(android.database.ContentObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  public class DataSetObservable extends android.database.Observable<android.database.DataSetObserver> {
+    ctor public DataSetObservable();
+    method public void notifyChanged();
+    method public void notifyInvalidated();
+  }
+
+  public abstract class DataSetObserver {
+    ctor public DataSetObserver();
+    method public void onChanged();
+    method public void onInvalidated();
+  }
+
+  public interface DatabaseErrorHandler {
+    method public void onCorruption(android.database.sqlite.SQLiteDatabase);
+  }
+
+  public class DatabaseUtils {
+    ctor public DatabaseUtils();
+    method public static void appendEscapedSQLString(StringBuilder, String);
+    method public static String[] appendSelectionArgs(String[], String[]);
+    method public static final void appendValueToSql(StringBuilder, Object);
+    method public static void bindObjectToProgram(android.database.sqlite.SQLiteProgram, int, Object);
+    method public static android.os.ParcelFileDescriptor blobFileDescriptorForQuery(android.database.sqlite.SQLiteDatabase, String, String[]);
+    method public static android.os.ParcelFileDescriptor blobFileDescriptorForQuery(android.database.sqlite.SQLiteStatement, String[]);
+    method public static String concatenateWhere(String, String);
+    method public static void createDbFromSqlStatements(android.content.Context, String, int, String);
+    method public static void cursorDoubleToContentValues(android.database.Cursor, String, android.content.ContentValues, String);
+    method public static void cursorDoubleToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorDoubleToCursorValues(android.database.Cursor, String, android.content.ContentValues);
+    method public static void cursorFloatToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorIntToContentValues(android.database.Cursor, String, android.content.ContentValues);
+    method public static void cursorIntToContentValues(android.database.Cursor, String, android.content.ContentValues, String);
+    method public static void cursorIntToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorLongToContentValues(android.database.Cursor, String, android.content.ContentValues);
+    method public static void cursorLongToContentValues(android.database.Cursor, String, android.content.ContentValues, String);
+    method public static void cursorLongToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorRowToContentValues(android.database.Cursor, android.content.ContentValues);
+    method public static void cursorShortToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorStringToContentValues(android.database.Cursor, String, android.content.ContentValues);
+    method public static void cursorStringToContentValues(android.database.Cursor, String, android.content.ContentValues, String);
+    method public static void cursorStringToContentValuesIfPresent(android.database.Cursor, android.content.ContentValues, String);
+    method public static void cursorStringToInsertHelper(android.database.Cursor, String, android.database.DatabaseUtils.InsertHelper, int);
+    method public static void dumpCurrentRow(android.database.Cursor);
+    method public static void dumpCurrentRow(android.database.Cursor, java.io.PrintStream);
+    method public static void dumpCurrentRow(android.database.Cursor, StringBuilder);
+    method public static String dumpCurrentRowToString(android.database.Cursor);
+    method public static void dumpCursor(android.database.Cursor);
+    method public static void dumpCursor(android.database.Cursor, java.io.PrintStream);
+    method public static void dumpCursor(android.database.Cursor, StringBuilder);
+    method public static String dumpCursorToString(android.database.Cursor);
+    method public static String getCollationKey(String);
+    method public static String getHexCollationKey(String);
+    method public static int getSqlStatementType(String);
+    method public static long longForQuery(android.database.sqlite.SQLiteDatabase, String, String[]);
+    method public static long longForQuery(android.database.sqlite.SQLiteStatement, String[]);
+    method public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, String);
+    method public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, String, String);
+    method public static long queryNumEntries(android.database.sqlite.SQLiteDatabase, String, String, String[]);
+    method public static final void readExceptionFromParcel(android.os.Parcel);
+    method public static void readExceptionWithFileNotFoundExceptionFromParcel(android.os.Parcel) throws java.io.FileNotFoundException;
+    method public static void readExceptionWithOperationApplicationExceptionFromParcel(android.os.Parcel) throws android.content.OperationApplicationException;
+    method public static String sqlEscapeString(String);
+    method public static String stringForQuery(android.database.sqlite.SQLiteDatabase, String, String[]);
+    method public static String stringForQuery(android.database.sqlite.SQLiteStatement, String[]);
+    method public static final void writeExceptionToParcel(android.os.Parcel, Exception);
+    field public static final int STATEMENT_ABORT = 6; // 0x6
+    field public static final int STATEMENT_ATTACH = 3; // 0x3
+    field public static final int STATEMENT_BEGIN = 4; // 0x4
+    field public static final int STATEMENT_COMMIT = 5; // 0x5
+    field public static final int STATEMENT_DDL = 8; // 0x8
+    field public static final int STATEMENT_OTHER = 99; // 0x63
+    field public static final int STATEMENT_PRAGMA = 7; // 0x7
+    field public static final int STATEMENT_SELECT = 1; // 0x1
+    field public static final int STATEMENT_UNPREPARED = 9; // 0x9
+    field public static final int STATEMENT_UPDATE = 2; // 0x2
+  }
+
+  @Deprecated public static class DatabaseUtils.InsertHelper {
+    ctor @Deprecated public DatabaseUtils.InsertHelper(android.database.sqlite.SQLiteDatabase, String);
+    method @Deprecated public void bind(int, double);
+    method @Deprecated public void bind(int, float);
+    method @Deprecated public void bind(int, long);
+    method @Deprecated public void bind(int, int);
+    method @Deprecated public void bind(int, boolean);
+    method @Deprecated public void bind(int, byte[]);
+    method @Deprecated public void bind(int, String);
+    method @Deprecated public void bindNull(int);
+    method @Deprecated public void close();
+    method @Deprecated public long execute();
+    method @Deprecated public int getColumnIndex(String);
+    method @Deprecated public long insert(android.content.ContentValues);
+    method @Deprecated public void prepareForInsert();
+    method @Deprecated public void prepareForReplace();
+    method @Deprecated public long replace(android.content.ContentValues);
+  }
+
+  public final class DefaultDatabaseErrorHandler implements android.database.DatabaseErrorHandler {
+    ctor public DefaultDatabaseErrorHandler();
+    method public void onCorruption(android.database.sqlite.SQLiteDatabase);
+  }
+
+  public class MatrixCursor extends android.database.AbstractCursor {
+    ctor public MatrixCursor(String[], int);
+    ctor public MatrixCursor(String[]);
+    method public void addRow(Object[]);
+    method public void addRow(Iterable<?>);
+    method public String[] getColumnNames();
+    method public int getCount();
+    method public double getDouble(int);
+    method public float getFloat(int);
+    method public int getInt(int);
+    method public long getLong(int);
+    method public short getShort(int);
+    method public String getString(int);
+    method public boolean isNull(int);
+    method public android.database.MatrixCursor.RowBuilder newRow();
+  }
+
+  public class MatrixCursor.RowBuilder {
+    method public android.database.MatrixCursor.RowBuilder add(Object);
+    method public android.database.MatrixCursor.RowBuilder add(String, Object);
+  }
+
+  public class MergeCursor extends android.database.AbstractCursor {
+    ctor public MergeCursor(android.database.Cursor[]);
+    method public String[] getColumnNames();
+    method public int getCount();
+    method public double getDouble(int);
+    method public float getFloat(int);
+    method public int getInt(int);
+    method public long getLong(int);
+    method public short getShort(int);
+    method public String getString(int);
+    method public boolean isNull(int);
+  }
+
+  public abstract class Observable<T> {
+    ctor public Observable();
+    method public void registerObserver(T);
+    method public void unregisterAll();
+    method public void unregisterObserver(T);
+    field protected final java.util.ArrayList<T> mObservers;
+  }
+
+  public class SQLException extends java.lang.RuntimeException {
+    ctor public SQLException();
+    ctor public SQLException(String);
+    ctor public SQLException(String, Throwable);
+  }
+
+  public class StaleDataException extends java.lang.RuntimeException {
+    ctor public StaleDataException();
+    ctor public StaleDataException(String);
+  }
+
+}
+
+package android.database.sqlite {
+
+  public class SQLiteAbortException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteAbortException();
+    ctor public SQLiteAbortException(String);
+  }
+
+  public class SQLiteAccessPermException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteAccessPermException();
+    ctor public SQLiteAccessPermException(String);
+  }
+
+  public class SQLiteBindOrColumnIndexOutOfRangeException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteBindOrColumnIndexOutOfRangeException();
+    ctor public SQLiteBindOrColumnIndexOutOfRangeException(String);
+  }
+
+  public class SQLiteBlobTooBigException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteBlobTooBigException();
+    ctor public SQLiteBlobTooBigException(String);
+  }
+
+  public class SQLiteCantOpenDatabaseException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteCantOpenDatabaseException();
+    ctor public SQLiteCantOpenDatabaseException(String);
+  }
+
+  public abstract class SQLiteClosable implements java.io.Closeable {
+    ctor public SQLiteClosable();
+    method public void acquireReference();
+    method public void close();
+    method protected abstract void onAllReferencesReleased();
+    method @Deprecated protected void onAllReferencesReleasedFromContainer();
+    method public void releaseReference();
+    method @Deprecated public void releaseReferenceFromContainer();
+  }
+
+  public class SQLiteConstraintException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteConstraintException();
+    ctor public SQLiteConstraintException(String);
+  }
+
+  public class SQLiteCursor extends android.database.AbstractWindowedCursor {
+    ctor @Deprecated public SQLiteCursor(android.database.sqlite.SQLiteDatabase, android.database.sqlite.SQLiteCursorDriver, String, android.database.sqlite.SQLiteQuery);
+    ctor public SQLiteCursor(android.database.sqlite.SQLiteCursorDriver, String, android.database.sqlite.SQLiteQuery);
+    method public String[] getColumnNames();
+    method public int getCount();
+    method public android.database.sqlite.SQLiteDatabase getDatabase();
+    method public void setFillWindowForwardOnly(boolean);
+    method public void setSelectionArguments(String[]);
+  }
+
+  public interface SQLiteCursorDriver {
+    method public void cursorClosed();
+    method public void cursorDeactivated();
+    method public void cursorRequeried(android.database.Cursor);
+    method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase.CursorFactory, String[]);
+    method public void setBindArguments(String[]);
+  }
+
+  public final class SQLiteDatabase extends android.database.sqlite.SQLiteClosable {
+    method public void beginTransaction();
+    method public void beginTransactionNonExclusive();
+    method public void beginTransactionWithListener(android.database.sqlite.SQLiteTransactionListener);
+    method public void beginTransactionWithListenerNonExclusive(android.database.sqlite.SQLiteTransactionListener);
+    method public android.database.sqlite.SQLiteStatement compileStatement(String) throws android.database.SQLException;
+    method @NonNull public static android.database.sqlite.SQLiteDatabase create(@Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method @NonNull public static android.database.sqlite.SQLiteDatabase createInMemory(@NonNull android.database.sqlite.SQLiteDatabase.OpenParams);
+    method public int delete(String, String, String[]);
+    method public static boolean deleteDatabase(@NonNull java.io.File);
+    method public void disableWriteAheadLogging();
+    method public boolean enableWriteAheadLogging();
+    method public void endTransaction();
+    method public void execPerConnectionSQL(@NonNull String, @Nullable Object[]) throws android.database.SQLException;
+    method public void execSQL(String) throws android.database.SQLException;
+    method public void execSQL(String, Object[]) throws android.database.SQLException;
+    method public static String findEditTable(String);
+    method public java.util.List<android.util.Pair<java.lang.String,java.lang.String>> getAttachedDbs();
+    method public long getMaximumSize();
+    method public long getPageSize();
+    method public String getPath();
+    method @Deprecated public java.util.Map<java.lang.String,java.lang.String> getSyncedTables();
+    method public int getVersion();
+    method public boolean inTransaction();
+    method public long insert(String, String, android.content.ContentValues);
+    method public long insertOrThrow(String, String, android.content.ContentValues) throws android.database.SQLException;
+    method public long insertWithOnConflict(String, String, android.content.ContentValues, int);
+    method public boolean isDatabaseIntegrityOk();
+    method public boolean isDbLockedByCurrentThread();
+    method @Deprecated public boolean isDbLockedByOtherThreads();
+    method public boolean isOpen();
+    method public boolean isReadOnly();
+    method public boolean isWriteAheadLoggingEnabled();
+    method @Deprecated public void markTableSyncable(String, String);
+    method @Deprecated public void markTableSyncable(String, String, String);
+    method public boolean needUpgrade(int);
+    method protected void onAllReferencesReleased();
+    method public static android.database.sqlite.SQLiteDatabase openDatabase(@NonNull String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory, int);
+    method public static android.database.sqlite.SQLiteDatabase openDatabase(@NonNull java.io.File, @NonNull android.database.sqlite.SQLiteDatabase.OpenParams);
+    method public static android.database.sqlite.SQLiteDatabase openDatabase(@NonNull String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory, int, @Nullable android.database.DatabaseErrorHandler);
+    method public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(@NonNull java.io.File, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(@NonNull String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public static android.database.sqlite.SQLiteDatabase openOrCreateDatabase(@NonNull String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory, @Nullable android.database.DatabaseErrorHandler);
+    method public android.database.Cursor query(boolean, String, String[], String, String[], String, String, String, String);
+    method public android.database.Cursor query(boolean, String, String[], String, String[], String, String, String, String, android.os.CancellationSignal);
+    method public android.database.Cursor query(String, String[], String, String[], String, String, String);
+    method public android.database.Cursor query(String, String[], String, String[], String, String, String, String);
+    method public android.database.Cursor queryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory, boolean, String, String[], String, String[], String, String, String, String);
+    method public android.database.Cursor queryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory, boolean, String, String[], String, String[], String, String, String, String, android.os.CancellationSignal);
+    method public android.database.Cursor rawQuery(String, String[]);
+    method public android.database.Cursor rawQuery(String, String[], android.os.CancellationSignal);
+    method public android.database.Cursor rawQueryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory, String, String[], String);
+    method public android.database.Cursor rawQueryWithFactory(android.database.sqlite.SQLiteDatabase.CursorFactory, String, String[], String, android.os.CancellationSignal);
+    method public static int releaseMemory();
+    method public long replace(String, String, android.content.ContentValues);
+    method public long replaceOrThrow(String, String, android.content.ContentValues) throws android.database.SQLException;
+    method public void setCustomAggregateFunction(@NonNull String, @NonNull java.util.function.BinaryOperator<java.lang.String>) throws android.database.sqlite.SQLiteException;
+    method public void setCustomScalarFunction(@NonNull String, @NonNull java.util.function.UnaryOperator<java.lang.String>) throws android.database.sqlite.SQLiteException;
+    method public void setForeignKeyConstraintsEnabled(boolean);
+    method public void setLocale(java.util.Locale);
+    method @Deprecated public void setLockingEnabled(boolean);
+    method public void setMaxSqlCacheSize(int);
+    method public long setMaximumSize(long);
+    method public void setPageSize(long);
+    method public void setTransactionSuccessful();
+    method public void setVersion(int);
+    method public int update(String, android.content.ContentValues, String, String[]);
+    method public int updateWithOnConflict(String, android.content.ContentValues, String, String[], int);
+    method public void validateSql(@NonNull String, @Nullable android.os.CancellationSignal);
+    method @Deprecated public boolean yieldIfContended();
+    method public boolean yieldIfContendedSafely();
+    method public boolean yieldIfContendedSafely(long);
+    field public static final int CONFLICT_ABORT = 2; // 0x2
+    field public static final int CONFLICT_FAIL = 3; // 0x3
+    field public static final int CONFLICT_IGNORE = 4; // 0x4
+    field public static final int CONFLICT_NONE = 0; // 0x0
+    field public static final int CONFLICT_REPLACE = 5; // 0x5
+    field public static final int CONFLICT_ROLLBACK = 1; // 0x1
+    field public static final int CREATE_IF_NECESSARY = 268435456; // 0x10000000
+    field public static final int ENABLE_WRITE_AHEAD_LOGGING = 536870912; // 0x20000000
+    field public static final int MAX_SQL_CACHE_SIZE = 100; // 0x64
+    field public static final int NO_LOCALIZED_COLLATORS = 16; // 0x10
+    field public static final int OPEN_READONLY = 1; // 0x1
+    field public static final int OPEN_READWRITE = 0; // 0x0
+    field public static final int SQLITE_MAX_LIKE_PATTERN_LENGTH = 50000; // 0xc350
+  }
+
+  public static interface SQLiteDatabase.CursorFactory {
+    method public android.database.Cursor newCursor(android.database.sqlite.SQLiteDatabase, android.database.sqlite.SQLiteCursorDriver, String, android.database.sqlite.SQLiteQuery);
+  }
+
+  public static final class SQLiteDatabase.OpenParams {
+    method @Nullable public android.database.sqlite.SQLiteDatabase.CursorFactory getCursorFactory();
+    method @Nullable public android.database.DatabaseErrorHandler getErrorHandler();
+    method public long getIdleConnectionTimeout();
+    method @Nullable public String getJournalMode();
+    method @IntRange(from=0xffffffff) public int getLookasideSlotCount();
+    method @IntRange(from=0xffffffff) public int getLookasideSlotSize();
+    method public int getOpenFlags();
+    method @Nullable public String getSynchronousMode();
+  }
+
+  public static final class SQLiteDatabase.OpenParams.Builder {
+    ctor public SQLiteDatabase.OpenParams.Builder();
+    ctor public SQLiteDatabase.OpenParams.Builder(android.database.sqlite.SQLiteDatabase.OpenParams);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder addOpenFlags(int);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams build();
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder removeOpenFlags(int);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setCursorFactory(@Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setErrorHandler(@Nullable android.database.DatabaseErrorHandler);
+    method @Deprecated @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setIdleConnectionTimeout(@IntRange(from=0) long);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setJournalMode(@NonNull String);
+    method public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setLookasideConfig(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setOpenFlags(int);
+    method @NonNull public android.database.sqlite.SQLiteDatabase.OpenParams.Builder setSynchronousMode(@NonNull String);
+  }
+
+  public class SQLiteDatabaseCorruptException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteDatabaseCorruptException();
+    ctor public SQLiteDatabaseCorruptException(String);
+  }
+
+  public class SQLiteDatabaseLockedException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteDatabaseLockedException();
+    ctor public SQLiteDatabaseLockedException(String);
+  }
+
+  public class SQLiteDatatypeMismatchException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteDatatypeMismatchException();
+    ctor public SQLiteDatatypeMismatchException(String);
+  }
+
+  public class SQLiteDiskIOException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteDiskIOException();
+    ctor public SQLiteDiskIOException(String);
+  }
+
+  public class SQLiteDoneException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteDoneException();
+    ctor public SQLiteDoneException(String);
+  }
+
+  public class SQLiteException extends android.database.SQLException {
+    ctor public SQLiteException();
+    ctor public SQLiteException(String);
+    ctor public SQLiteException(String, Throwable);
+  }
+
+  public class SQLiteFullException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteFullException();
+    ctor public SQLiteFullException(String);
+  }
+
+  public class SQLiteMisuseException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteMisuseException();
+    ctor public SQLiteMisuseException(String);
+  }
+
+  public abstract class SQLiteOpenHelper implements java.lang.AutoCloseable {
+    ctor public SQLiteOpenHelper(@Nullable android.content.Context, @Nullable String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory, int);
+    ctor public SQLiteOpenHelper(@Nullable android.content.Context, @Nullable String, @Nullable android.database.sqlite.SQLiteDatabase.CursorFactory, int, @Nullable android.database.DatabaseErrorHandler);
+    ctor public SQLiteOpenHelper(@Nullable android.content.Context, @Nullable String, int, @NonNull android.database.sqlite.SQLiteDatabase.OpenParams);
+    method public void close();
+    method public String getDatabaseName();
+    method public android.database.sqlite.SQLiteDatabase getReadableDatabase();
+    method public android.database.sqlite.SQLiteDatabase getWritableDatabase();
+    method public void onConfigure(android.database.sqlite.SQLiteDatabase);
+    method public abstract void onCreate(android.database.sqlite.SQLiteDatabase);
+    method public void onDowngrade(android.database.sqlite.SQLiteDatabase, int, int);
+    method public void onOpen(android.database.sqlite.SQLiteDatabase);
+    method public abstract void onUpgrade(android.database.sqlite.SQLiteDatabase, int, int);
+    method @Deprecated public void setIdleConnectionTimeout(@IntRange(from=0) long);
+    method public void setLookasideConfig(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public void setOpenParams(@NonNull android.database.sqlite.SQLiteDatabase.OpenParams);
+    method public void setWriteAheadLoggingEnabled(boolean);
+  }
+
+  public class SQLiteOutOfMemoryException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteOutOfMemoryException();
+    ctor public SQLiteOutOfMemoryException(String);
+  }
+
+  public abstract class SQLiteProgram extends android.database.sqlite.SQLiteClosable {
+    method public void bindAllArgsAsStrings(String[]);
+    method public void bindBlob(int, byte[]);
+    method public void bindDouble(int, double);
+    method public void bindLong(int, long);
+    method public void bindNull(int);
+    method public void bindString(int, String);
+    method public void clearBindings();
+    method @Deprecated public final int getUniqueId();
+    method protected void onAllReferencesReleased();
+  }
+
+  public final class SQLiteQuery extends android.database.sqlite.SQLiteProgram {
+  }
+
+  public class SQLiteQueryBuilder {
+    ctor public SQLiteQueryBuilder();
+    method public static void appendColumns(StringBuilder, String[]);
+    method public void appendWhere(@NonNull CharSequence);
+    method public void appendWhereEscapeString(@NonNull String);
+    method public void appendWhereStandalone(@NonNull CharSequence);
+    method public String buildQuery(String[], String, String, String, String, String);
+    method @Deprecated public String buildQuery(String[], String, String[], String, String, String, String);
+    method public static String buildQueryString(boolean, String, String[], String, String, String, String, String);
+    method public String buildUnionQuery(String[], String, String);
+    method public String buildUnionSubQuery(String, String[], java.util.Set<java.lang.String>, int, String, String, String, String);
+    method @Deprecated public String buildUnionSubQuery(String, String[], java.util.Set<java.lang.String>, int, String, String, String[], String, String);
+    method public int delete(@NonNull android.database.sqlite.SQLiteDatabase, @Nullable String, @Nullable String[]);
+    method @Nullable public android.database.sqlite.SQLiteDatabase.CursorFactory getCursorFactory();
+    method @Nullable public java.util.Collection<java.util.regex.Pattern> getProjectionGreylist();
+    method @Nullable public java.util.Map<java.lang.String,java.lang.String> getProjectionMap();
+    method @Nullable public String getTables();
+    method public long insert(@NonNull android.database.sqlite.SQLiteDatabase, @NonNull android.content.ContentValues);
+    method public boolean isDistinct();
+    method public boolean isStrict();
+    method public boolean isStrictColumns();
+    method public boolean isStrictGrammar();
+    method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String);
+    method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String, String);
+    method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String, String, android.os.CancellationSignal);
+    method public void setCursorFactory(@Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
+    method public void setDistinct(boolean);
+    method public void setProjectionGreylist(@Nullable java.util.Collection<java.util.regex.Pattern>);
+    method public void setProjectionMap(@Nullable java.util.Map<java.lang.String,java.lang.String>);
+    method public void setStrict(boolean);
+    method public void setStrictColumns(boolean);
+    method public void setStrictGrammar(boolean);
+    method public void setTables(@Nullable String);
+    method public int update(@NonNull android.database.sqlite.SQLiteDatabase, @NonNull android.content.ContentValues, @Nullable String, @Nullable String[]);
+  }
+
+  public class SQLiteReadOnlyDatabaseException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteReadOnlyDatabaseException();
+    ctor public SQLiteReadOnlyDatabaseException(String);
+  }
+
+  public final class SQLiteStatement extends android.database.sqlite.SQLiteProgram {
+    method public void execute();
+    method public long executeInsert();
+    method public int executeUpdateDelete();
+    method public android.os.ParcelFileDescriptor simpleQueryForBlobFileDescriptor();
+    method public long simpleQueryForLong();
+    method public String simpleQueryForString();
+  }
+
+  public class SQLiteTableLockedException extends android.database.sqlite.SQLiteException {
+    ctor public SQLiteTableLockedException();
+    ctor public SQLiteTableLockedException(String);
+  }
+
+  public interface SQLiteTransactionListener {
+    method public void onBegin();
+    method public void onCommit();
+    method public void onRollback();
+  }
+
+}
+
+package android.drm {
+
+  @Deprecated public class DrmConvertedStatus {
+    ctor @Deprecated public DrmConvertedStatus(int, byte[], int);
+    field @Deprecated public static final int STATUS_ERROR = 3; // 0x3
+    field @Deprecated public static final int STATUS_INPUTDATA_ERROR = 2; // 0x2
+    field @Deprecated public static final int STATUS_OK = 1; // 0x1
+    field @Deprecated public final byte[] convertedData;
+    field @Deprecated public final int offset;
+    field @Deprecated public final int statusCode;
+  }
+
+  @Deprecated public class DrmErrorEvent extends android.drm.DrmEvent {
+    ctor @Deprecated public DrmErrorEvent(int, int, String);
+    ctor @Deprecated public DrmErrorEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>);
+    field @Deprecated public static final int TYPE_ACQUIRE_DRM_INFO_FAILED = 2008; // 0x7d8
+    field @Deprecated public static final int TYPE_NOT_SUPPORTED = 2003; // 0x7d3
+    field @Deprecated public static final int TYPE_NO_INTERNET_CONNECTION = 2005; // 0x7d5
+    field @Deprecated public static final int TYPE_OUT_OF_MEMORY = 2004; // 0x7d4
+    field @Deprecated public static final int TYPE_PROCESS_DRM_INFO_FAILED = 2006; // 0x7d6
+    field @Deprecated public static final int TYPE_REMOVE_ALL_RIGHTS_FAILED = 2007; // 0x7d7
+    field @Deprecated public static final int TYPE_RIGHTS_NOT_INSTALLED = 2001; // 0x7d1
+    field @Deprecated public static final int TYPE_RIGHTS_RENEWAL_NOT_ALLOWED = 2002; // 0x7d2
+  }
+
+  @Deprecated public class DrmEvent {
+    ctor @Deprecated protected DrmEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>);
+    ctor @Deprecated protected DrmEvent(int, int, String);
+    method @Deprecated public Object getAttribute(String);
+    method @Deprecated public String getMessage();
+    method @Deprecated public int getType();
+    method @Deprecated public int getUniqueId();
+    field @Deprecated public static final String DRM_INFO_OBJECT = "drm_info_object";
+    field @Deprecated public static final String DRM_INFO_STATUS_OBJECT = "drm_info_status_object";
+    field @Deprecated public static final int TYPE_ALL_RIGHTS_REMOVED = 1001; // 0x3e9
+    field @Deprecated public static final int TYPE_DRM_INFO_PROCESSED = 1002; // 0x3ea
+  }
+
+  @Deprecated public class DrmInfo {
+    ctor @Deprecated public DrmInfo(int, byte[], String);
+    ctor @Deprecated public DrmInfo(int, String, String);
+    method @Deprecated public Object get(String);
+    method @Deprecated public byte[] getData();
+    method @Deprecated public int getInfoType();
+    method @Deprecated public String getMimeType();
+    method @Deprecated public java.util.Iterator<java.lang.Object> iterator();
+    method @Deprecated public java.util.Iterator<java.lang.String> keyIterator();
+    method @Deprecated public void put(String, Object);
+  }
+
+  @Deprecated public class DrmInfoEvent extends android.drm.DrmEvent {
+    ctor @Deprecated public DrmInfoEvent(int, int, String);
+    ctor @Deprecated public DrmInfoEvent(int, int, String, java.util.HashMap<java.lang.String,java.lang.Object>);
+    field @Deprecated public static final int TYPE_ACCOUNT_ALREADY_REGISTERED = 5; // 0x5
+    field @Deprecated public static final int TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT = 1; // 0x1
+    field @Deprecated public static final int TYPE_REMOVE_RIGHTS = 2; // 0x2
+    field @Deprecated public static final int TYPE_RIGHTS_INSTALLED = 3; // 0x3
+    field @Deprecated public static final int TYPE_RIGHTS_REMOVED = 6; // 0x6
+    field @Deprecated public static final int TYPE_WAIT_FOR_RIGHTS = 4; // 0x4
+  }
+
+  @Deprecated public class DrmInfoRequest {
+    ctor @Deprecated public DrmInfoRequest(int, String);
+    method @Deprecated public Object get(String);
+    method @Deprecated public int getInfoType();
+    method @Deprecated public String getMimeType();
+    method @Deprecated public java.util.Iterator<java.lang.Object> iterator();
+    method @Deprecated public java.util.Iterator<java.lang.String> keyIterator();
+    method @Deprecated public void put(String, Object);
+    field @Deprecated public static final String ACCOUNT_ID = "account_id";
+    field @Deprecated public static final String SUBSCRIPTION_ID = "subscription_id";
+    field @Deprecated public static final int TYPE_REGISTRATION_INFO = 1; // 0x1
+    field @Deprecated public static final int TYPE_RIGHTS_ACQUISITION_INFO = 3; // 0x3
+    field @Deprecated public static final int TYPE_RIGHTS_ACQUISITION_PROGRESS_INFO = 4; // 0x4
+    field @Deprecated public static final int TYPE_UNREGISTRATION_INFO = 2; // 0x2
+  }
+
+  @Deprecated public class DrmInfoStatus {
+    ctor @Deprecated public DrmInfoStatus(int, int, android.drm.ProcessedData, String);
+    field @Deprecated public static final int STATUS_ERROR = 2; // 0x2
+    field @Deprecated public static final int STATUS_OK = 1; // 0x1
+    field @Deprecated public final android.drm.ProcessedData data;
+    field @Deprecated public final int infoType;
+    field @Deprecated public final String mimeType;
+    field @Deprecated public final int statusCode;
+  }
+
+  @Deprecated public class DrmManagerClient implements java.lang.AutoCloseable {
+    ctor @Deprecated public DrmManagerClient(android.content.Context);
+    method @Deprecated public android.drm.DrmInfo acquireDrmInfo(android.drm.DrmInfoRequest);
+    method @Deprecated public int acquireRights(android.drm.DrmInfoRequest);
+    method @Deprecated public boolean canHandle(String, String);
+    method @Deprecated public boolean canHandle(android.net.Uri, String);
+    method @Deprecated public int checkRightsStatus(String);
+    method @Deprecated public int checkRightsStatus(android.net.Uri);
+    method @Deprecated public int checkRightsStatus(String, int);
+    method @Deprecated public int checkRightsStatus(android.net.Uri, int);
+    method @Deprecated public void close();
+    method @Deprecated public android.drm.DrmConvertedStatus closeConvertSession(int);
+    method @Deprecated public android.drm.DrmConvertedStatus convertData(int, byte[]);
+    method @Deprecated public String[] getAvailableDrmEngines();
+    method @Deprecated @NonNull public java.util.Collection<android.drm.DrmSupportInfo> getAvailableDrmSupportInfo();
+    method @Deprecated public android.content.ContentValues getConstraints(String, int);
+    method @Deprecated public android.content.ContentValues getConstraints(android.net.Uri, int);
+    method @Deprecated public int getDrmObjectType(String, String);
+    method @Deprecated public int getDrmObjectType(android.net.Uri, String);
+    method @Deprecated public android.content.ContentValues getMetadata(String);
+    method @Deprecated public android.content.ContentValues getMetadata(android.net.Uri);
+    method @Deprecated public String getOriginalMimeType(String);
+    method @Deprecated public String getOriginalMimeType(android.net.Uri);
+    method @Deprecated public int openConvertSession(String);
+    method @Deprecated public int processDrmInfo(android.drm.DrmInfo);
+    method @Deprecated public void release();
+    method @Deprecated public int removeAllRights();
+    method @Deprecated public int removeRights(String);
+    method @Deprecated public int removeRights(android.net.Uri);
+    method @Deprecated public int saveRights(android.drm.DrmRights, String, String) throws java.io.IOException;
+    method @Deprecated public void setOnErrorListener(android.drm.DrmManagerClient.OnErrorListener);
+    method @Deprecated public void setOnEventListener(android.drm.DrmManagerClient.OnEventListener);
+    method @Deprecated public void setOnInfoListener(android.drm.DrmManagerClient.OnInfoListener);
+    field @Deprecated public static final int ERROR_NONE = 0; // 0x0
+    field @Deprecated public static final int ERROR_UNKNOWN = -2000; // 0xfffff830
+  }
+
+  @Deprecated public static interface DrmManagerClient.OnErrorListener {
+    method @Deprecated public void onError(android.drm.DrmManagerClient, android.drm.DrmErrorEvent);
+  }
+
+  @Deprecated public static interface DrmManagerClient.OnEventListener {
+    method @Deprecated public void onEvent(android.drm.DrmManagerClient, android.drm.DrmEvent);
+  }
+
+  @Deprecated public static interface DrmManagerClient.OnInfoListener {
+    method @Deprecated public void onInfo(android.drm.DrmManagerClient, android.drm.DrmInfoEvent);
+  }
+
+  @Deprecated public class DrmRights {
+    ctor @Deprecated public DrmRights(String, String);
+    ctor @Deprecated public DrmRights(String, String, String);
+    ctor @Deprecated public DrmRights(String, String, String, String);
+    ctor @Deprecated public DrmRights(java.io.File, String);
+    ctor @Deprecated public DrmRights(android.drm.ProcessedData, String);
+    method @Deprecated public String getAccountId();
+    method @Deprecated public byte[] getData();
+    method @Deprecated public String getMimeType();
+    method @Deprecated public String getSubscriptionId();
+  }
+
+  @Deprecated public class DrmStore {
+    ctor @Deprecated public DrmStore();
+  }
+
+  @Deprecated public static class DrmStore.Action {
+    ctor @Deprecated public DrmStore.Action();
+    field @Deprecated public static final int DEFAULT = 0; // 0x0
+    field @Deprecated public static final int DISPLAY = 7; // 0x7
+    field @Deprecated public static final int EXECUTE = 6; // 0x6
+    field @Deprecated public static final int OUTPUT = 4; // 0x4
+    field @Deprecated public static final int PLAY = 1; // 0x1
+    field @Deprecated public static final int PREVIEW = 5; // 0x5
+    field @Deprecated public static final int RINGTONE = 2; // 0x2
+    field @Deprecated public static final int TRANSFER = 3; // 0x3
+  }
+
+  @Deprecated public static interface DrmStore.ConstraintsColumns {
+    field @Deprecated public static final String EXTENDED_METADATA = "extended_metadata";
+    field @Deprecated public static final String LICENSE_AVAILABLE_TIME = "license_available_time";
+    field @Deprecated public static final String LICENSE_EXPIRY_TIME = "license_expiry_time";
+    field @Deprecated public static final String LICENSE_START_TIME = "license_start_time";
+    field @Deprecated public static final String MAX_REPEAT_COUNT = "max_repeat_count";
+    field @Deprecated public static final String REMAINING_REPEAT_COUNT = "remaining_repeat_count";
+  }
+
+  @Deprecated public static class DrmStore.DrmObjectType {
+    ctor @Deprecated public DrmStore.DrmObjectType();
+    field @Deprecated public static final int CONTENT = 1; // 0x1
+    field @Deprecated public static final int RIGHTS_OBJECT = 2; // 0x2
+    field @Deprecated public static final int TRIGGER_OBJECT = 3; // 0x3
+    field @Deprecated public static final int UNKNOWN = 0; // 0x0
+  }
+
+  @Deprecated public static class DrmStore.Playback {
+    ctor @Deprecated public DrmStore.Playback();
+    field @Deprecated public static final int PAUSE = 2; // 0x2
+    field @Deprecated public static final int RESUME = 3; // 0x3
+    field @Deprecated public static final int START = 0; // 0x0
+    field @Deprecated public static final int STOP = 1; // 0x1
+  }
+
+  @Deprecated public static class DrmStore.RightsStatus {
+    ctor @Deprecated public DrmStore.RightsStatus();
+    field @Deprecated public static final int RIGHTS_EXPIRED = 2; // 0x2
+    field @Deprecated public static final int RIGHTS_INVALID = 1; // 0x1
+    field @Deprecated public static final int RIGHTS_NOT_ACQUIRED = 3; // 0x3
+    field @Deprecated public static final int RIGHTS_VALID = 0; // 0x0
+  }
+
+  @Deprecated public class DrmSupportInfo {
+    ctor @Deprecated public DrmSupportInfo();
+    method @Deprecated public void addFileSuffix(String);
+    method @Deprecated public void addMimeType(String);
+    method @Deprecated public String getDescriprition();
+    method @Deprecated public String getDescription();
+    method @Deprecated public java.util.Iterator<java.lang.String> getFileSuffixIterator();
+    method @Deprecated public java.util.Iterator<java.lang.String> getMimeTypeIterator();
+    method @Deprecated public void setDescription(String);
+  }
+
+  @Deprecated public class DrmUtils {
+    ctor @Deprecated public DrmUtils();
+    method @Deprecated public static android.drm.DrmUtils.ExtendedMetadataParser getExtendedMetadataParser(byte[]);
+  }
+
+  @Deprecated public static class DrmUtils.ExtendedMetadataParser {
+    method @Deprecated public String get(String);
+    method @Deprecated public java.util.Iterator<java.lang.String> iterator();
+    method @Deprecated public java.util.Iterator<java.lang.String> keyIterator();
+  }
+
+  @Deprecated public class ProcessedData {
+    method @Deprecated public String getAccountId();
+    method @Deprecated public byte[] getData();
+    method @Deprecated public String getSubscriptionId();
+  }
+
+}
+
+package android.gesture {
+
+  public class Gesture implements android.os.Parcelable {
+    ctor public Gesture();
+    method public void addStroke(android.gesture.GestureStroke);
+    method public Object clone();
+    method public int describeContents();
+    method public android.graphics.RectF getBoundingBox();
+    method public long getID();
+    method public float getLength();
+    method public java.util.ArrayList<android.gesture.GestureStroke> getStrokes();
+    method public int getStrokesCount();
+    method public android.graphics.Bitmap toBitmap(int, int, int, int, int);
+    method public android.graphics.Bitmap toBitmap(int, int, int, int);
+    method public android.graphics.Path toPath();
+    method public android.graphics.Path toPath(android.graphics.Path);
+    method public android.graphics.Path toPath(int, int, int, int);
+    method public android.graphics.Path toPath(android.graphics.Path, int, int, int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.gesture.Gesture> CREATOR;
+  }
+
+  public final class GestureLibraries {
+    method public static android.gesture.GestureLibrary fromFile(String);
+    method public static android.gesture.GestureLibrary fromFile(java.io.File);
+    method @NonNull public static android.gesture.GestureLibrary fromFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
+    method public static android.gesture.GestureLibrary fromPrivateFile(android.content.Context, String);
+    method public static android.gesture.GestureLibrary fromRawResource(android.content.Context, @RawRes int);
+  }
+
+  public abstract class GestureLibrary {
+    ctor protected GestureLibrary();
+    method public void addGesture(String, android.gesture.Gesture);
+    method public java.util.Set<java.lang.String> getGestureEntries();
+    method public java.util.ArrayList<android.gesture.Gesture> getGestures(String);
+    method public int getOrientationStyle();
+    method public int getSequenceType();
+    method public boolean isReadOnly();
+    method public abstract boolean load();
+    method public java.util.ArrayList<android.gesture.Prediction> recognize(android.gesture.Gesture);
+    method public void removeEntry(String);
+    method public void removeGesture(String, android.gesture.Gesture);
+    method public abstract boolean save();
+    method public void setOrientationStyle(int);
+    method public void setSequenceType(int);
+    field protected final android.gesture.GestureStore mStore;
+  }
+
+  public class GestureOverlayView extends android.widget.FrameLayout {
+    ctor public GestureOverlayView(android.content.Context);
+    ctor public GestureOverlayView(android.content.Context, android.util.AttributeSet);
+    ctor public GestureOverlayView(android.content.Context, android.util.AttributeSet, int);
+    ctor public GestureOverlayView(android.content.Context, android.util.AttributeSet, int, int);
+    method public void addOnGestureListener(android.gesture.GestureOverlayView.OnGestureListener);
+    method public void addOnGesturePerformedListener(android.gesture.GestureOverlayView.OnGesturePerformedListener);
+    method public void addOnGesturingListener(android.gesture.GestureOverlayView.OnGesturingListener);
+    method public void cancelClearAnimation();
+    method public void cancelGesture();
+    method public void clear(boolean);
+    method public java.util.ArrayList<android.gesture.GesturePoint> getCurrentStroke();
+    method public long getFadeOffset();
+    method public android.gesture.Gesture getGesture();
+    method @ColorInt public int getGestureColor();
+    method public android.graphics.Path getGesturePath();
+    method public android.graphics.Path getGesturePath(android.graphics.Path);
+    method public float getGestureStrokeAngleThreshold();
+    method public float getGestureStrokeLengthThreshold();
+    method public float getGestureStrokeSquarenessTreshold();
+    method public int getGestureStrokeType();
+    method public float getGestureStrokeWidth();
+    method public int getOrientation();
+    method @ColorInt public int getUncertainGestureColor();
+    method public boolean isEventsInterceptionEnabled();
+    method public boolean isFadeEnabled();
+    method public boolean isGestureVisible();
+    method public boolean isGesturing();
+    method public void removeAllOnGestureListeners();
+    method public void removeAllOnGesturePerformedListeners();
+    method public void removeAllOnGesturingListeners();
+    method public void removeOnGestureListener(android.gesture.GestureOverlayView.OnGestureListener);
+    method public void removeOnGesturePerformedListener(android.gesture.GestureOverlayView.OnGesturePerformedListener);
+    method public void removeOnGesturingListener(android.gesture.GestureOverlayView.OnGesturingListener);
+    method public void setEventsInterceptionEnabled(boolean);
+    method public void setFadeEnabled(boolean);
+    method public void setFadeOffset(long);
+    method public void setGesture(android.gesture.Gesture);
+    method public void setGestureColor(@ColorInt int);
+    method public void setGestureStrokeAngleThreshold(float);
+    method public void setGestureStrokeLengthThreshold(float);
+    method public void setGestureStrokeSquarenessTreshold(float);
+    method public void setGestureStrokeType(int);
+    method public void setGestureStrokeWidth(float);
+    method public void setGestureVisible(boolean);
+    method public void setOrientation(int);
+    method public void setUncertainGestureColor(@ColorInt int);
+    field public static final int GESTURE_STROKE_TYPE_MULTIPLE = 1; // 0x1
+    field public static final int GESTURE_STROKE_TYPE_SINGLE = 0; // 0x0
+    field public static final int ORIENTATION_HORIZONTAL = 0; // 0x0
+    field public static final int ORIENTATION_VERTICAL = 1; // 0x1
+  }
+
+  public static interface GestureOverlayView.OnGestureListener {
+    method public void onGesture(android.gesture.GestureOverlayView, android.view.MotionEvent);
+    method public void onGestureCancelled(android.gesture.GestureOverlayView, android.view.MotionEvent);
+    method public void onGestureEnded(android.gesture.GestureOverlayView, android.view.MotionEvent);
+    method public void onGestureStarted(android.gesture.GestureOverlayView, android.view.MotionEvent);
+  }
+
+  public static interface GestureOverlayView.OnGesturePerformedListener {
+    method public void onGesturePerformed(android.gesture.GestureOverlayView, android.gesture.Gesture);
+  }
+
+  public static interface GestureOverlayView.OnGesturingListener {
+    method public void onGesturingEnded(android.gesture.GestureOverlayView);
+    method public void onGesturingStarted(android.gesture.GestureOverlayView);
+  }
+
+  public class GesturePoint {
+    ctor public GesturePoint(float, float, long);
+    method public Object clone();
+    field public final long timestamp;
+    field public final float x;
+    field public final float y;
+  }
+
+  public class GestureStore {
+    ctor public GestureStore();
+    method public void addGesture(String, android.gesture.Gesture);
+    method public java.util.Set<java.lang.String> getGestureEntries();
+    method public java.util.ArrayList<android.gesture.Gesture> getGestures(String);
+    method public int getOrientationStyle();
+    method public int getSequenceType();
+    method public boolean hasChanged();
+    method public void load(java.io.InputStream) throws java.io.IOException;
+    method public void load(java.io.InputStream, boolean) throws java.io.IOException;
+    method public java.util.ArrayList<android.gesture.Prediction> recognize(android.gesture.Gesture);
+    method public void removeEntry(String);
+    method public void removeGesture(String, android.gesture.Gesture);
+    method public void save(java.io.OutputStream) throws java.io.IOException;
+    method public void save(java.io.OutputStream, boolean) throws java.io.IOException;
+    method public void setOrientationStyle(int);
+    method public void setSequenceType(int);
+    field public static final int ORIENTATION_INVARIANT = 1; // 0x1
+    field public static final int ORIENTATION_SENSITIVE = 2; // 0x2
+    field public static final int SEQUENCE_INVARIANT = 1; // 0x1
+    field public static final int SEQUENCE_SENSITIVE = 2; // 0x2
+  }
+
+  public class GestureStroke {
+    ctor public GestureStroke(java.util.ArrayList<android.gesture.GesturePoint>);
+    method public void clearPath();
+    method public Object clone();
+    method public android.gesture.OrientedBoundingBox computeOrientedBoundingBox();
+    method public android.graphics.Path getPath();
+    method public android.graphics.Path toPath(float, float, int);
+    field public final android.graphics.RectF boundingBox;
+    field public final float length;
+    field public final float[] points;
+  }
+
+  public final class GestureUtils {
+    method public static android.gesture.OrientedBoundingBox computeOrientedBoundingBox(java.util.ArrayList<android.gesture.GesturePoint>);
+    method public static android.gesture.OrientedBoundingBox computeOrientedBoundingBox(float[]);
+    method public static float[] spatialSampling(android.gesture.Gesture, int);
+    method public static float[] spatialSampling(android.gesture.Gesture, int, boolean);
+    method public static float[] temporalSampling(android.gesture.GestureStroke, int);
+  }
+
+  public class OrientedBoundingBox {
+    field public final float centerX;
+    field public final float centerY;
+    field public final float height;
+    field public final float orientation;
+    field public final float squareness;
+    field public final float width;
+  }
+
+  public class Prediction {
+    field public final String name;
+    field public double score;
+  }
+
+}
+
+package android.graphics {
+
+  public final class Bitmap implements android.os.Parcelable {
+    method @NonNull public android.graphics.Bitmap asShared();
+    method @WorkerThread public boolean compress(android.graphics.Bitmap.CompressFormat, int, java.io.OutputStream);
+    method public android.graphics.Bitmap copy(android.graphics.Bitmap.Config, boolean);
+    method public void copyPixelsFromBuffer(java.nio.Buffer);
+    method public void copyPixelsToBuffer(java.nio.Buffer);
+    method public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap);
+    method public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap, int, int, int, int);
+    method public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Bitmap, int, int, int, int, @Nullable android.graphics.Matrix, boolean);
+    method public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config, boolean);
+    method public static android.graphics.Bitmap createBitmap(int, int, @NonNull android.graphics.Bitmap.Config, boolean, @NonNull android.graphics.ColorSpace);
+    method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config, boolean);
+    method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, int, int, @NonNull android.graphics.Bitmap.Config, boolean, @NonNull android.graphics.ColorSpace);
+    method public static android.graphics.Bitmap createBitmap(@ColorInt @NonNull int[], int, int, int, int, @NonNull android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createBitmap(@NonNull android.util.DisplayMetrics, @ColorInt @NonNull int[], int, int, int, int, @NonNull android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createBitmap(@ColorInt @NonNull int[], int, int, android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createBitmap(@Nullable android.util.DisplayMetrics, @ColorInt @NonNull int[], int, int, @NonNull android.graphics.Bitmap.Config);
+    method @NonNull public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Picture);
+    method @NonNull public static android.graphics.Bitmap createBitmap(@NonNull android.graphics.Picture, int, int, @NonNull android.graphics.Bitmap.Config);
+    method public static android.graphics.Bitmap createScaledBitmap(@NonNull android.graphics.Bitmap, int, int, boolean);
+    method public int describeContents();
+    method public void eraseColor(@ColorInt int);
+    method public void eraseColor(@ColorLong long);
+    method @CheckResult public android.graphics.Bitmap extractAlpha();
+    method @CheckResult public android.graphics.Bitmap extractAlpha(android.graphics.Paint, int[]);
+    method public int getAllocationByteCount();
+    method public int getByteCount();
+    method @NonNull public android.graphics.Color getColor(int, int);
+    method @Nullable public android.graphics.ColorSpace getColorSpace();
+    method public android.graphics.Bitmap.Config getConfig();
+    method public int getDensity();
+    method public int getGenerationId();
+    method @NonNull public android.hardware.HardwareBuffer getHardwareBuffer();
+    method public int getHeight();
+    method public byte[] getNinePatchChunk();
+    method @ColorInt public int getPixel(int, int);
+    method public void getPixels(@ColorInt int[], int, int, int, int, int, int);
+    method public int getRowBytes();
+    method public int getScaledHeight(android.graphics.Canvas);
+    method public int getScaledHeight(android.util.DisplayMetrics);
+    method public int getScaledHeight(int);
+    method public int getScaledWidth(android.graphics.Canvas);
+    method public int getScaledWidth(android.util.DisplayMetrics);
+    method public int getScaledWidth(int);
+    method public int getWidth();
+    method public boolean hasAlpha();
+    method public boolean hasMipMap();
+    method public boolean isMutable();
+    method public boolean isPremultiplied();
+    method public boolean isRecycled();
+    method public void prepareToDraw();
+    method public void reconfigure(int, int, android.graphics.Bitmap.Config);
+    method public void recycle();
+    method public boolean sameAs(android.graphics.Bitmap);
+    method public void setColorSpace(@NonNull android.graphics.ColorSpace);
+    method public void setConfig(android.graphics.Bitmap.Config);
+    method public void setDensity(int);
+    method public void setHasAlpha(boolean);
+    method public void setHasMipMap(boolean);
+    method public void setHeight(int);
+    method public void setPixel(int, int, @ColorInt int);
+    method public void setPixels(@ColorInt int[], int, int, int, int, int, int);
+    method public void setPremultiplied(boolean);
+    method public void setWidth(int);
+    method @Nullable public static android.graphics.Bitmap wrapHardwareBuffer(@NonNull android.hardware.HardwareBuffer, @Nullable android.graphics.ColorSpace);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Bitmap> CREATOR;
+    field public static final int DENSITY_NONE = 0; // 0x0
+  }
+
+  public enum Bitmap.CompressFormat {
+    enum_constant public static final android.graphics.Bitmap.CompressFormat JPEG;
+    enum_constant public static final android.graphics.Bitmap.CompressFormat PNG;
+    enum_constant @Deprecated public static final android.graphics.Bitmap.CompressFormat WEBP;
+    enum_constant public static final android.graphics.Bitmap.CompressFormat WEBP_LOSSLESS;
+    enum_constant public static final android.graphics.Bitmap.CompressFormat WEBP_LOSSY;
+  }
+
+  public enum Bitmap.Config {
+    enum_constant public static final android.graphics.Bitmap.Config ALPHA_8;
+    enum_constant @Deprecated public static final android.graphics.Bitmap.Config ARGB_4444;
+    enum_constant public static final android.graphics.Bitmap.Config ARGB_8888;
+    enum_constant public static final android.graphics.Bitmap.Config HARDWARE;
+    enum_constant public static final android.graphics.Bitmap.Config RGBA_F16;
+    enum_constant public static final android.graphics.Bitmap.Config RGB_565;
+  }
+
+  public class BitmapFactory {
+    ctor public BitmapFactory();
+    method public static android.graphics.Bitmap decodeByteArray(byte[], int, int, android.graphics.BitmapFactory.Options);
+    method public static android.graphics.Bitmap decodeByteArray(byte[], int, int);
+    method public static android.graphics.Bitmap decodeFile(String, android.graphics.BitmapFactory.Options);
+    method public static android.graphics.Bitmap decodeFile(String);
+    method public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor, android.graphics.Rect, android.graphics.BitmapFactory.Options);
+    method public static android.graphics.Bitmap decodeFileDescriptor(java.io.FileDescriptor);
+    method public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int, android.graphics.BitmapFactory.Options);
+    method public static android.graphics.Bitmap decodeResource(android.content.res.Resources, int);
+    method @Nullable public static android.graphics.Bitmap decodeResourceStream(@Nullable android.content.res.Resources, @Nullable android.util.TypedValue, @Nullable java.io.InputStream, @Nullable android.graphics.Rect, @Nullable android.graphics.BitmapFactory.Options);
+    method @Nullable public static android.graphics.Bitmap decodeStream(@Nullable java.io.InputStream, @Nullable android.graphics.Rect, @Nullable android.graphics.BitmapFactory.Options);
+    method public static android.graphics.Bitmap decodeStream(java.io.InputStream);
+  }
+
+  public static class BitmapFactory.Options {
+    ctor public BitmapFactory.Options();
+    method @Deprecated public void requestCancelDecode();
+    field public android.graphics.Bitmap inBitmap;
+    field public int inDensity;
+    field @Deprecated public boolean inDither;
+    field @Deprecated public boolean inInputShareable;
+    field public boolean inJustDecodeBounds;
+    field public boolean inMutable;
+    field @Deprecated public boolean inPreferQualityOverSpeed;
+    field public android.graphics.ColorSpace inPreferredColorSpace;
+    field public android.graphics.Bitmap.Config inPreferredConfig;
+    field public boolean inPremultiplied;
+    field @Deprecated public boolean inPurgeable;
+    field public int inSampleSize;
+    field public boolean inScaled;
+    field public int inScreenDensity;
+    field public int inTargetDensity;
+    field public byte[] inTempStorage;
+    field @Deprecated public boolean mCancel;
+    field public android.graphics.ColorSpace outColorSpace;
+    field public android.graphics.Bitmap.Config outConfig;
+    field public int outHeight;
+    field public String outMimeType;
+    field public int outWidth;
+  }
+
+  public final class BitmapRegionDecoder {
+    method public android.graphics.Bitmap decodeRegion(android.graphics.Rect, android.graphics.BitmapFactory.Options);
+    method public int getHeight();
+    method public int getWidth();
+    method public boolean isRecycled();
+    method @Deprecated @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull byte[], int, int, boolean) throws java.io.IOException;
+    method @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull byte[], int, int) throws java.io.IOException;
+    method @Deprecated @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull java.io.FileDescriptor, boolean) throws java.io.IOException;
+    method @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method @Deprecated @Nullable public static android.graphics.BitmapRegionDecoder newInstance(@NonNull java.io.InputStream, boolean) throws java.io.IOException;
+    method @Nullable public static android.graphics.BitmapRegionDecoder newInstance(@NonNull java.io.InputStream) throws java.io.IOException;
+    method @Deprecated @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull String, boolean) throws java.io.IOException;
+    method @NonNull public static android.graphics.BitmapRegionDecoder newInstance(@NonNull String) throws java.io.IOException;
+    method public void recycle();
+  }
+
+  public class BitmapShader extends android.graphics.Shader {
+    ctor public BitmapShader(@NonNull android.graphics.Bitmap, @NonNull android.graphics.Shader.TileMode, @NonNull android.graphics.Shader.TileMode);
+  }
+
+  public enum BlendMode {
+    enum_constant public static final android.graphics.BlendMode CLEAR;
+    enum_constant public static final android.graphics.BlendMode COLOR;
+    enum_constant public static final android.graphics.BlendMode COLOR_BURN;
+    enum_constant public static final android.graphics.BlendMode COLOR_DODGE;
+    enum_constant public static final android.graphics.BlendMode DARKEN;
+    enum_constant public static final android.graphics.BlendMode DIFFERENCE;
+    enum_constant public static final android.graphics.BlendMode DST;
+    enum_constant public static final android.graphics.BlendMode DST_ATOP;
+    enum_constant public static final android.graphics.BlendMode DST_IN;
+    enum_constant public static final android.graphics.BlendMode DST_OUT;
+    enum_constant public static final android.graphics.BlendMode DST_OVER;
+    enum_constant public static final android.graphics.BlendMode EXCLUSION;
+    enum_constant public static final android.graphics.BlendMode HARD_LIGHT;
+    enum_constant public static final android.graphics.BlendMode HUE;
+    enum_constant public static final android.graphics.BlendMode LIGHTEN;
+    enum_constant public static final android.graphics.BlendMode LUMINOSITY;
+    enum_constant public static final android.graphics.BlendMode MODULATE;
+    enum_constant public static final android.graphics.BlendMode MULTIPLY;
+    enum_constant public static final android.graphics.BlendMode OVERLAY;
+    enum_constant public static final android.graphics.BlendMode PLUS;
+    enum_constant public static final android.graphics.BlendMode SATURATION;
+    enum_constant public static final android.graphics.BlendMode SCREEN;
+    enum_constant public static final android.graphics.BlendMode SOFT_LIGHT;
+    enum_constant public static final android.graphics.BlendMode SRC;
+    enum_constant public static final android.graphics.BlendMode SRC_ATOP;
+    enum_constant public static final android.graphics.BlendMode SRC_IN;
+    enum_constant public static final android.graphics.BlendMode SRC_OUT;
+    enum_constant public static final android.graphics.BlendMode SRC_OVER;
+    enum_constant public static final android.graphics.BlendMode XOR;
+  }
+
+  public final class BlendModeColorFilter extends android.graphics.ColorFilter {
+    ctor public BlendModeColorFilter(@ColorInt int, @NonNull android.graphics.BlendMode);
+    method @ColorInt public int getColor();
+    method public android.graphics.BlendMode getMode();
+  }
+
+  public class BlurMaskFilter extends android.graphics.MaskFilter {
+    ctor public BlurMaskFilter(float, android.graphics.BlurMaskFilter.Blur);
+  }
+
+  public enum BlurMaskFilter.Blur {
+    enum_constant public static final android.graphics.BlurMaskFilter.Blur INNER;
+    enum_constant public static final android.graphics.BlurMaskFilter.Blur NORMAL;
+    enum_constant public static final android.graphics.BlurMaskFilter.Blur OUTER;
+    enum_constant public static final android.graphics.BlurMaskFilter.Blur SOLID;
+  }
+
+  public class Camera {
+    ctor public Camera();
+    method public void applyToCanvas(android.graphics.Canvas);
+    method public float dotWithNormal(float, float, float);
+    method public float getLocationX();
+    method public float getLocationY();
+    method public float getLocationZ();
+    method public void getMatrix(android.graphics.Matrix);
+    method public void restore();
+    method public void rotate(float, float, float);
+    method public void rotateX(float);
+    method public void rotateY(float);
+    method public void rotateZ(float);
+    method public void save();
+    method public void setLocation(float, float, float);
+    method public void translate(float, float, float);
+  }
+
+  public class Canvas {
+    ctor public Canvas();
+    ctor public Canvas(@NonNull android.graphics.Bitmap);
+    method public boolean clipOutPath(@NonNull android.graphics.Path);
+    method public boolean clipOutRect(@NonNull android.graphics.RectF);
+    method public boolean clipOutRect(@NonNull android.graphics.Rect);
+    method public boolean clipOutRect(float, float, float, float);
+    method public boolean clipOutRect(int, int, int, int);
+    method @Deprecated public boolean clipPath(@NonNull android.graphics.Path, @NonNull android.graphics.Region.Op);
+    method public boolean clipPath(@NonNull android.graphics.Path);
+    method @Deprecated public boolean clipRect(@NonNull android.graphics.RectF, @NonNull android.graphics.Region.Op);
+    method @Deprecated public boolean clipRect(@NonNull android.graphics.Rect, @NonNull android.graphics.Region.Op);
+    method public boolean clipRect(@NonNull android.graphics.RectF);
+    method public boolean clipRect(@NonNull android.graphics.Rect);
+    method @Deprecated public boolean clipRect(float, float, float, float, @NonNull android.graphics.Region.Op);
+    method public boolean clipRect(float, float, float, float);
+    method public boolean clipRect(int, int, int, int);
+    method public void concat(@Nullable android.graphics.Matrix);
+    method public void disableZ();
+    method public void drawARGB(int, int, int, int);
+    method public void drawArc(@NonNull android.graphics.RectF, float, float, boolean, @NonNull android.graphics.Paint);
+    method public void drawArc(float, float, float, float, float, float, boolean, @NonNull android.graphics.Paint);
+    method public void drawBitmap(@NonNull android.graphics.Bitmap, float, float, @Nullable android.graphics.Paint);
+    method public void drawBitmap(@NonNull android.graphics.Bitmap, @Nullable android.graphics.Rect, @NonNull android.graphics.RectF, @Nullable android.graphics.Paint);
+    method public void drawBitmap(@NonNull android.graphics.Bitmap, @Nullable android.graphics.Rect, @NonNull android.graphics.Rect, @Nullable android.graphics.Paint);
+    method @Deprecated public void drawBitmap(@NonNull int[], int, int, float, float, int, int, boolean, @Nullable android.graphics.Paint);
+    method @Deprecated public void drawBitmap(@NonNull int[], int, int, int, int, int, int, boolean, @Nullable android.graphics.Paint);
+    method public void drawBitmap(@NonNull android.graphics.Bitmap, @NonNull android.graphics.Matrix, @Nullable android.graphics.Paint);
+    method public void drawBitmapMesh(@NonNull android.graphics.Bitmap, int, int, @NonNull float[], int, @Nullable int[], int, @Nullable android.graphics.Paint);
+    method public void drawCircle(float, float, float, @NonNull android.graphics.Paint);
+    method public void drawColor(@ColorInt int);
+    method public void drawColor(@ColorLong long);
+    method public void drawColor(@ColorInt int, @NonNull android.graphics.PorterDuff.Mode);
+    method public void drawColor(@ColorInt int, @NonNull android.graphics.BlendMode);
+    method public void drawColor(@ColorLong long, @NonNull android.graphics.BlendMode);
+    method public void drawDoubleRoundRect(@NonNull android.graphics.RectF, float, float, @NonNull android.graphics.RectF, float, float, @NonNull android.graphics.Paint);
+    method public void drawDoubleRoundRect(@NonNull android.graphics.RectF, @NonNull float[], @NonNull android.graphics.RectF, @NonNull float[], @NonNull android.graphics.Paint);
+    method public void drawGlyphs(@NonNull int[], @IntRange(from=0) int, @NonNull float[], @IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.graphics.fonts.Font, @NonNull android.graphics.Paint);
+    method public void drawLine(float, float, float, float, @NonNull android.graphics.Paint);
+    method public void drawLines(@NonNull @Size(multiple=4) float[], int, int, @NonNull android.graphics.Paint);
+    method public void drawLines(@NonNull @Size(multiple=4) float[], @NonNull android.graphics.Paint);
+    method public void drawOval(@NonNull android.graphics.RectF, @NonNull android.graphics.Paint);
+    method public void drawOval(float, float, float, float, @NonNull android.graphics.Paint);
+    method public void drawPaint(@NonNull android.graphics.Paint);
+    method public void drawPatch(@NonNull android.graphics.NinePatch, @NonNull android.graphics.Rect, @Nullable android.graphics.Paint);
+    method public void drawPatch(@NonNull android.graphics.NinePatch, @NonNull android.graphics.RectF, @Nullable android.graphics.Paint);
+    method public void drawPath(@NonNull android.graphics.Path, @NonNull android.graphics.Paint);
+    method public void drawPicture(@NonNull android.graphics.Picture);
+    method public void drawPicture(@NonNull android.graphics.Picture, @NonNull android.graphics.RectF);
+    method public void drawPicture(@NonNull android.graphics.Picture, @NonNull android.graphics.Rect);
+    method public void drawPoint(float, float, @NonNull android.graphics.Paint);
+    method public void drawPoints(@Size(multiple=2) float[], int, int, @NonNull android.graphics.Paint);
+    method public void drawPoints(@NonNull @Size(multiple=2) float[], @NonNull android.graphics.Paint);
+    method @Deprecated public void drawPosText(@NonNull char[], int, int, @NonNull @Size(multiple=2) float[], @NonNull android.graphics.Paint);
+    method @Deprecated public void drawPosText(@NonNull String, @NonNull @Size(multiple=2) float[], @NonNull android.graphics.Paint);
+    method public void drawRGB(int, int, int);
+    method public void drawRect(@NonNull android.graphics.RectF, @NonNull android.graphics.Paint);
+    method public void drawRect(@NonNull android.graphics.Rect, @NonNull android.graphics.Paint);
+    method public void drawRect(float, float, float, float, @NonNull android.graphics.Paint);
+    method public void drawRenderNode(@NonNull android.graphics.RenderNode);
+    method public void drawRoundRect(@NonNull android.graphics.RectF, float, float, @NonNull android.graphics.Paint);
+    method public void drawRoundRect(float, float, float, float, float, float, @NonNull android.graphics.Paint);
+    method public void drawText(@NonNull char[], int, int, float, float, @NonNull android.graphics.Paint);
+    method public void drawText(@NonNull String, float, float, @NonNull android.graphics.Paint);
+    method public void drawText(@NonNull String, int, int, float, float, @NonNull android.graphics.Paint);
+    method public void drawText(@NonNull CharSequence, int, int, float, float, @NonNull android.graphics.Paint);
+    method public void drawTextOnPath(@NonNull char[], int, int, @NonNull android.graphics.Path, float, float, @NonNull android.graphics.Paint);
+    method public void drawTextOnPath(@NonNull String, @NonNull android.graphics.Path, float, float, @NonNull android.graphics.Paint);
+    method public void drawTextRun(@NonNull char[], int, int, int, int, float, float, boolean, @NonNull android.graphics.Paint);
+    method public void drawTextRun(@NonNull CharSequence, int, int, int, int, float, float, boolean, @NonNull android.graphics.Paint);
+    method public void drawTextRun(@NonNull android.graphics.text.MeasuredText, int, int, int, int, float, float, boolean, @NonNull android.graphics.Paint);
+    method public void drawVertices(@NonNull android.graphics.Canvas.VertexMode, int, @NonNull float[], int, @Nullable float[], int, @Nullable int[], int, @Nullable short[], int, int, @NonNull android.graphics.Paint);
+    method public void enableZ();
+    method public boolean getClipBounds(@Nullable android.graphics.Rect);
+    method @NonNull public final android.graphics.Rect getClipBounds();
+    method public int getDensity();
+    method @Nullable public android.graphics.DrawFilter getDrawFilter();
+    method public int getHeight();
+    method @Deprecated public void getMatrix(@NonNull android.graphics.Matrix);
+    method @Deprecated @NonNull public final android.graphics.Matrix getMatrix();
+    method public int getMaximumBitmapHeight();
+    method public int getMaximumBitmapWidth();
+    method public int getSaveCount();
+    method public int getWidth();
+    method public boolean isHardwareAccelerated();
+    method public boolean isOpaque();
+    method @Deprecated public boolean quickReject(@NonNull android.graphics.RectF, @NonNull android.graphics.Canvas.EdgeType);
+    method public boolean quickReject(@NonNull android.graphics.RectF);
+    method @Deprecated public boolean quickReject(@NonNull android.graphics.Path, @NonNull android.graphics.Canvas.EdgeType);
+    method public boolean quickReject(@NonNull android.graphics.Path);
+    method @Deprecated public boolean quickReject(float, float, float, float, @NonNull android.graphics.Canvas.EdgeType);
+    method public boolean quickReject(float, float, float, float);
+    method public void restore();
+    method public void restoreToCount(int);
+    method public void rotate(float);
+    method public final void rotate(float, float, float);
+    method public int save();
+    method @Deprecated public int saveLayer(@Nullable android.graphics.RectF, @Nullable android.graphics.Paint, int);
+    method public int saveLayer(@Nullable android.graphics.RectF, @Nullable android.graphics.Paint);
+    method @Deprecated public int saveLayer(float, float, float, float, @Nullable android.graphics.Paint, int);
+    method public int saveLayer(float, float, float, float, @Nullable android.graphics.Paint);
+    method @Deprecated public int saveLayerAlpha(@Nullable android.graphics.RectF, int, int);
+    method public int saveLayerAlpha(@Nullable android.graphics.RectF, int);
+    method @Deprecated public int saveLayerAlpha(float, float, float, float, int, int);
+    method public int saveLayerAlpha(float, float, float, float, int);
+    method public void scale(float, float);
+    method public final void scale(float, float, float, float);
+    method public void setBitmap(@Nullable android.graphics.Bitmap);
+    method public void setDensity(int);
+    method public void setDrawFilter(@Nullable android.graphics.DrawFilter);
+    method public void setMatrix(@Nullable android.graphics.Matrix);
+    method public void skew(float, float);
+    method public void translate(float, float);
+    field public static final int ALL_SAVE_FLAG = 31; // 0x1f
+  }
+
+  @Deprecated public enum Canvas.EdgeType {
+    enum_constant @Deprecated public static final android.graphics.Canvas.EdgeType AA;
+    enum_constant @Deprecated public static final android.graphics.Canvas.EdgeType BW;
+  }
+
+  public enum Canvas.VertexMode {
+    enum_constant public static final android.graphics.Canvas.VertexMode TRIANGLES;
+    enum_constant public static final android.graphics.Canvas.VertexMode TRIANGLE_FAN;
+    enum_constant public static final android.graphics.Canvas.VertexMode TRIANGLE_STRIP;
+  }
+
+  @AnyThread public class Color {
+    ctor public Color();
+    method @ColorInt public static int HSVToColor(@Size(3) float[]);
+    method @ColorInt public static int HSVToColor(@IntRange(from=0, to=255) int, @Size(3) float[]);
+    method public static void RGBToHSV(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @Size(3) float[]);
+    method public float alpha();
+    method public static float alpha(@ColorLong long);
+    method @IntRange(from=0, to=255) public static int alpha(int);
+    method @ColorInt public static int argb(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int);
+    method @ColorInt public static int argb(float, float, float, float);
+    method public float blue();
+    method public static float blue(@ColorLong long);
+    method @IntRange(from=0, to=255) public static int blue(int);
+    method @NonNull public static android.graphics.ColorSpace colorSpace(@ColorLong long);
+    method public static void colorToHSV(@ColorInt int, @Size(3) float[]);
+    method @NonNull public android.graphics.Color convert(@NonNull android.graphics.ColorSpace);
+    method @ColorLong public static long convert(@ColorInt int, @NonNull android.graphics.ColorSpace);
+    method @ColorLong public static long convert(@ColorLong long, @NonNull android.graphics.ColorSpace);
+    method @ColorLong public static long convert(float, float, float, float, @NonNull android.graphics.ColorSpace, @NonNull android.graphics.ColorSpace);
+    method @ColorLong public static long convert(@ColorLong long, @NonNull android.graphics.ColorSpace.Connector);
+    method @ColorLong public static long convert(float, float, float, float, @NonNull android.graphics.ColorSpace.Connector);
+    method @NonNull public android.graphics.ColorSpace getColorSpace();
+    method public float getComponent(@IntRange(from=0, to=4) int);
+    method @IntRange(from=4, to=5) public int getComponentCount();
+    method @NonNull @Size(min=4, max=5) public float[] getComponents();
+    method @NonNull @Size(min=4) public float[] getComponents(@Nullable @Size(min=4) float[]);
+    method public android.graphics.ColorSpace.Model getModel();
+    method public float green();
+    method public static float green(@ColorLong long);
+    method @IntRange(from=0, to=255) public static int green(int);
+    method public static boolean isInColorSpace(@ColorLong long, @NonNull android.graphics.ColorSpace);
+    method public boolean isSrgb();
+    method public static boolean isSrgb(@ColorLong long);
+    method public boolean isWideGamut();
+    method public static boolean isWideGamut(@ColorLong long);
+    method public float luminance();
+    method public static float luminance(@ColorLong long);
+    method public static float luminance(@ColorInt int);
+    method @ColorLong public long pack();
+    method @ColorLong public static long pack(@ColorInt int);
+    method @ColorLong public static long pack(float, float, float);
+    method @ColorLong public static long pack(float, float, float, float);
+    method @ColorLong public static long pack(float, float, float, float, @NonNull android.graphics.ColorSpace);
+    method @ColorInt public static int parseColor(@Size(min=1) String);
+    method public float red();
+    method public static float red(@ColorLong long);
+    method @IntRange(from=0, to=255) public static int red(int);
+    method @ColorInt public static int rgb(@IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int, @IntRange(from=0, to=255) int);
+    method @ColorInt public static int rgb(float, float, float);
+    method @ColorInt public int toArgb();
+    method @ColorInt public static int toArgb(@ColorLong long);
+    method @NonNull public static android.graphics.Color valueOf(@ColorInt int);
+    method @NonNull public static android.graphics.Color valueOf(@ColorLong long);
+    method @NonNull public static android.graphics.Color valueOf(float, float, float);
+    method @NonNull public static android.graphics.Color valueOf(float, float, float, float);
+    method @NonNull public static android.graphics.Color valueOf(float, float, float, float, @NonNull android.graphics.ColorSpace);
+    method @NonNull public static android.graphics.Color valueOf(@NonNull @Size(min=4, max=5) float[], @NonNull android.graphics.ColorSpace);
+    field @ColorInt public static final int BLACK = -16777216; // 0xff000000
+    field @ColorInt public static final int BLUE = -16776961; // 0xff0000ff
+    field @ColorInt public static final int CYAN = -16711681; // 0xff00ffff
+    field @ColorInt public static final int DKGRAY = -12303292; // 0xff444444
+    field @ColorInt public static final int GRAY = -7829368; // 0xff888888
+    field @ColorInt public static final int GREEN = -16711936; // 0xff00ff00
+    field @ColorInt public static final int LTGRAY = -3355444; // 0xffcccccc
+    field @ColorInt public static final int MAGENTA = -65281; // 0xffff00ff
+    field @ColorInt public static final int RED = -65536; // 0xffff0000
+    field @ColorInt public static final int TRANSPARENT = 0; // 0x0
+    field @ColorInt public static final int WHITE = -1; // 0xffffffff
+    field @ColorInt public static final int YELLOW = -256; // 0xffffff00
+  }
+
+  public class ColorFilter {
+    ctor @Deprecated public ColorFilter();
+  }
+
+  public class ColorMatrix {
+    ctor public ColorMatrix();
+    ctor public ColorMatrix(float[]);
+    ctor public ColorMatrix(android.graphics.ColorMatrix);
+    method public final float[] getArray();
+    method public void postConcat(android.graphics.ColorMatrix);
+    method public void preConcat(android.graphics.ColorMatrix);
+    method public void reset();
+    method public void set(android.graphics.ColorMatrix);
+    method public void set(float[]);
+    method public void setConcat(android.graphics.ColorMatrix, android.graphics.ColorMatrix);
+    method public void setRGB2YUV();
+    method public void setRotate(int, float);
+    method public void setSaturation(float);
+    method public void setScale(float, float, float, float);
+    method public void setYUV2RGB();
+  }
+
+  public class ColorMatrixColorFilter extends android.graphics.ColorFilter {
+    ctor public ColorMatrixColorFilter(@NonNull android.graphics.ColorMatrix);
+    ctor public ColorMatrixColorFilter(@NonNull float[]);
+    method public void getColorMatrix(android.graphics.ColorMatrix);
+  }
+
+  @AnyThread public abstract class ColorSpace {
+    method @NonNull public static android.graphics.ColorSpace adapt(@NonNull android.graphics.ColorSpace, @NonNull @Size(min=2, max=3) float[]);
+    method @NonNull public static android.graphics.ColorSpace adapt(@NonNull android.graphics.ColorSpace, @NonNull @Size(min=2, max=3) float[], @NonNull android.graphics.ColorSpace.Adaptation);
+    method @NonNull @Size(3) public static float[] cctToXyz(@IntRange(from=1) int);
+    method @NonNull @Size(9) public static float[] chromaticAdaptation(@NonNull android.graphics.ColorSpace.Adaptation, @NonNull @Size(min=2, max=3) float[], @NonNull @Size(min=2, max=3) float[]);
+    method @NonNull public static android.graphics.ColorSpace.Connector connect(@NonNull android.graphics.ColorSpace, @NonNull android.graphics.ColorSpace);
+    method @NonNull public static android.graphics.ColorSpace.Connector connect(@NonNull android.graphics.ColorSpace, @NonNull android.graphics.ColorSpace, @NonNull android.graphics.ColorSpace.RenderIntent);
+    method @NonNull public static android.graphics.ColorSpace.Connector connect(@NonNull android.graphics.ColorSpace);
+    method @NonNull public static android.graphics.ColorSpace.Connector connect(@NonNull android.graphics.ColorSpace, @NonNull android.graphics.ColorSpace.RenderIntent);
+    method @NonNull @Size(min=3) public float[] fromXyz(float, float, float);
+    method @NonNull @Size(min=3) public abstract float[] fromXyz(@NonNull @Size(min=3) float[]);
+    method @NonNull public static android.graphics.ColorSpace get(@NonNull android.graphics.ColorSpace.Named);
+    method @IntRange(from=1, to=4) public int getComponentCount();
+    method @IntRange(from=android.graphics.ColorSpace.MIN_ID, to=android.graphics.ColorSpace.MAX_ID) public int getId();
+    method public abstract float getMaxValue(@IntRange(from=0, to=3) int);
+    method public abstract float getMinValue(@IntRange(from=0, to=3) int);
+    method @NonNull public android.graphics.ColorSpace.Model getModel();
+    method @NonNull public String getName();
+    method public boolean isSrgb();
+    method public abstract boolean isWideGamut();
+    method @Nullable public static android.graphics.ColorSpace match(@NonNull @Size(9) float[], @NonNull android.graphics.ColorSpace.Rgb.TransferParameters);
+    method @NonNull @Size(3) public float[] toXyz(float, float, float);
+    method @NonNull @Size(min=3) public abstract float[] toXyz(@NonNull @Size(min=3) float[]);
+    field public static final float[] ILLUMINANT_A;
+    field public static final float[] ILLUMINANT_B;
+    field public static final float[] ILLUMINANT_C;
+    field public static final float[] ILLUMINANT_D50;
+    field public static final float[] ILLUMINANT_D55;
+    field public static final float[] ILLUMINANT_D60;
+    field public static final float[] ILLUMINANT_D65;
+    field public static final float[] ILLUMINANT_D75;
+    field public static final float[] ILLUMINANT_E;
+    field public static final int MAX_ID = 63; // 0x3f
+    field public static final int MIN_ID = -1; // 0xffffffff
+  }
+
+  public enum ColorSpace.Adaptation {
+    enum_constant public static final android.graphics.ColorSpace.Adaptation BRADFORD;
+    enum_constant public static final android.graphics.ColorSpace.Adaptation CIECAT02;
+    enum_constant public static final android.graphics.ColorSpace.Adaptation VON_KRIES;
+  }
+
+  @AnyThread public static class ColorSpace.Connector {
+    method @NonNull public android.graphics.ColorSpace getDestination();
+    method public android.graphics.ColorSpace.RenderIntent getRenderIntent();
+    method @NonNull public android.graphics.ColorSpace getSource();
+    method @NonNull @Size(3) public float[] transform(float, float, float);
+    method @NonNull @Size(min=3) public float[] transform(@NonNull @Size(min=3) float[]);
+  }
+
+  public enum ColorSpace.Model {
+    method @IntRange(from=1, to=4) public int getComponentCount();
+    enum_constant public static final android.graphics.ColorSpace.Model CMYK;
+    enum_constant public static final android.graphics.ColorSpace.Model LAB;
+    enum_constant public static final android.graphics.ColorSpace.Model RGB;
+    enum_constant public static final android.graphics.ColorSpace.Model XYZ;
+  }
+
+  public enum ColorSpace.Named {
+    enum_constant public static final android.graphics.ColorSpace.Named ACES;
+    enum_constant public static final android.graphics.ColorSpace.Named ACESCG;
+    enum_constant public static final android.graphics.ColorSpace.Named ADOBE_RGB;
+    enum_constant public static final android.graphics.ColorSpace.Named BT2020;
+    enum_constant public static final android.graphics.ColorSpace.Named BT709;
+    enum_constant public static final android.graphics.ColorSpace.Named CIE_LAB;
+    enum_constant public static final android.graphics.ColorSpace.Named CIE_XYZ;
+    enum_constant public static final android.graphics.ColorSpace.Named DCI_P3;
+    enum_constant public static final android.graphics.ColorSpace.Named DISPLAY_P3;
+    enum_constant public static final android.graphics.ColorSpace.Named EXTENDED_SRGB;
+    enum_constant public static final android.graphics.ColorSpace.Named LINEAR_EXTENDED_SRGB;
+    enum_constant public static final android.graphics.ColorSpace.Named LINEAR_SRGB;
+    enum_constant public static final android.graphics.ColorSpace.Named NTSC_1953;
+    enum_constant public static final android.graphics.ColorSpace.Named PRO_PHOTO_RGB;
+    enum_constant public static final android.graphics.ColorSpace.Named SMPTE_C;
+    enum_constant public static final android.graphics.ColorSpace.Named SRGB;
+  }
+
+  public enum ColorSpace.RenderIntent {
+    enum_constant public static final android.graphics.ColorSpace.RenderIntent ABSOLUTE;
+    enum_constant public static final android.graphics.ColorSpace.RenderIntent PERCEPTUAL;
+    enum_constant public static final android.graphics.ColorSpace.RenderIntent RELATIVE;
+    enum_constant public static final android.graphics.ColorSpace.RenderIntent SATURATION;
+  }
+
+  @AnyThread public static class ColorSpace.Rgb extends android.graphics.ColorSpace {
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(9) float[], @NonNull java.util.function.DoubleUnaryOperator, @NonNull java.util.function.DoubleUnaryOperator);
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(min=6, max=9) float[], @NonNull @Size(min=2, max=3) float[], @NonNull java.util.function.DoubleUnaryOperator, @NonNull java.util.function.DoubleUnaryOperator, float, float);
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(9) float[], @NonNull android.graphics.ColorSpace.Rgb.TransferParameters);
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(min=6, max=9) float[], @NonNull @Size(min=2, max=3) float[], @NonNull android.graphics.ColorSpace.Rgb.TransferParameters);
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(9) float[], double);
+    ctor public ColorSpace.Rgb(@NonNull @Size(min=1) String, @NonNull @Size(min=6, max=9) float[], @NonNull @Size(min=2, max=3) float[], double);
+    method @NonNull @Size(3) public float[] fromLinear(float, float, float);
+    method @NonNull @Size(min=3) public float[] fromLinear(@NonNull @Size(min=3) float[]);
+    method @NonNull @Size(min=3) public float[] fromXyz(@NonNull @Size(min=3) float[]);
+    method @NonNull public java.util.function.DoubleUnaryOperator getEotf();
+    method @NonNull @Size(min=9) public float[] getInverseTransform(@NonNull @Size(min=9) float[]);
+    method @NonNull @Size(9) public float[] getInverseTransform();
+    method public float getMaxValue(int);
+    method public float getMinValue(int);
+    method @NonNull public java.util.function.DoubleUnaryOperator getOetf();
+    method @NonNull @Size(min=6) public float[] getPrimaries(@NonNull @Size(min=6) float[]);
+    method @NonNull @Size(6) public float[] getPrimaries();
+    method @Nullable public android.graphics.ColorSpace.Rgb.TransferParameters getTransferParameters();
+    method @NonNull @Size(min=9) public float[] getTransform(@NonNull @Size(min=9) float[]);
+    method @NonNull @Size(9) public float[] getTransform();
+    method @NonNull @Size(min=2) public float[] getWhitePoint(@NonNull @Size(min=2) float[]);
+    method @NonNull @Size(2) public float[] getWhitePoint();
+    method public boolean isWideGamut();
+    method @NonNull @Size(3) public float[] toLinear(float, float, float);
+    method @NonNull @Size(min=3) public float[] toLinear(@NonNull @Size(min=3) float[]);
+    method @NonNull @Size(min=3) public float[] toXyz(@NonNull @Size(min=3) float[]);
+  }
+
+  public static class ColorSpace.Rgb.TransferParameters {
+    ctor public ColorSpace.Rgb.TransferParameters(double, double, double, double, double);
+    ctor public ColorSpace.Rgb.TransferParameters(double, double, double, double, double, double, double);
+    field public final double a;
+    field public final double b;
+    field public final double c;
+    field public final double d;
+    field public final double e;
+    field public final double f;
+    field public final double g;
+  }
+
+  public class ComposePathEffect extends android.graphics.PathEffect {
+    ctor public ComposePathEffect(android.graphics.PathEffect, android.graphics.PathEffect);
+  }
+
+  public class ComposeShader extends android.graphics.Shader {
+    ctor @Deprecated public ComposeShader(@NonNull android.graphics.Shader, @NonNull android.graphics.Shader, @NonNull android.graphics.Xfermode);
+    ctor public ComposeShader(@NonNull android.graphics.Shader, @NonNull android.graphics.Shader, @NonNull android.graphics.PorterDuff.Mode);
+    ctor public ComposeShader(@NonNull android.graphics.Shader, @NonNull android.graphics.Shader, @NonNull android.graphics.BlendMode);
+  }
+
+  public class CornerPathEffect extends android.graphics.PathEffect {
+    ctor public CornerPathEffect(float);
+  }
+
+  public class DashPathEffect extends android.graphics.PathEffect {
+    ctor public DashPathEffect(float[], float);
+  }
+
+  public class DiscretePathEffect extends android.graphics.PathEffect {
+    ctor public DiscretePathEffect(float, float);
+  }
+
+  public class DrawFilter {
+    ctor public DrawFilter();
+  }
+
+  public class EmbossMaskFilter extends android.graphics.MaskFilter {
+    ctor @Deprecated public EmbossMaskFilter(float[], float, float, float);
+  }
+
+  public class HardwareRenderer {
+    ctor public HardwareRenderer();
+    method public void clearContent();
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest createRenderRequest();
+    method public void destroy();
+    method public boolean isOpaque();
+    method public void notifyFramePending();
+    method public void setContentRoot(@Nullable android.graphics.RenderNode);
+    method public void setLightSourceAlpha(@FloatRange(from=0.0f, to=1.0f) float, @FloatRange(from=0.0f, to=1.0f) float);
+    method public void setLightSourceGeometry(float, float, float, float);
+    method public void setName(@NonNull String);
+    method public void setOpaque(boolean);
+    method public void setSurface(@Nullable android.view.Surface);
+    method public void start();
+    method public void stop();
+    field public static final int SYNC_CONTEXT_IS_STOPPED = 4; // 0x4
+    field public static final int SYNC_FRAME_DROPPED = 8; // 0x8
+    field public static final int SYNC_LOST_SURFACE_REWARD_IF_FOUND = 2; // 0x2
+    field public static final int SYNC_OK = 0; // 0x0
+    field public static final int SYNC_REDRAW_REQUESTED = 1; // 0x1
+  }
+
+  public final class HardwareRenderer.FrameRenderRequest {
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest setFrameCommitCallback(@NonNull java.util.concurrent.Executor, @NonNull Runnable);
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest setVsyncTime(long);
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest setWaitForPresent(boolean);
+    method public int syncAndDraw();
+  }
+
+  public final class ImageDecoder implements java.lang.AutoCloseable {
+    method public void close();
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull android.content.res.Resources, int);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull android.content.ContentResolver, @NonNull android.net.Uri);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull android.content.res.AssetManager, @NonNull String);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull byte[], int, int) throws java.lang.ArrayIndexOutOfBoundsException;
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull byte[]);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull java.nio.ByteBuffer);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull java.io.File);
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(@NonNull java.util.concurrent.Callable<android.content.res.AssetFileDescriptor>);
+    method @NonNull @WorkerThread public static android.graphics.Bitmap decodeBitmap(@NonNull android.graphics.ImageDecoder.Source, @NonNull android.graphics.ImageDecoder.OnHeaderDecodedListener) throws java.io.IOException;
+    method @NonNull @WorkerThread public static android.graphics.Bitmap decodeBitmap(@NonNull android.graphics.ImageDecoder.Source) throws java.io.IOException;
+    method @NonNull @WorkerThread public static android.graphics.drawable.Drawable decodeDrawable(@NonNull android.graphics.ImageDecoder.Source, @NonNull android.graphics.ImageDecoder.OnHeaderDecodedListener) throws java.io.IOException;
+    method @NonNull @WorkerThread public static android.graphics.drawable.Drawable decodeDrawable(@NonNull android.graphics.ImageDecoder.Source) throws java.io.IOException;
+    method public int getAllocator();
+    method @Nullable public android.graphics.Rect getCrop();
+    method public int getMemorySizePolicy();
+    method @Nullable public android.graphics.ImageDecoder.OnPartialImageListener getOnPartialImageListener();
+    method @Nullable public android.graphics.PostProcessor getPostProcessor();
+    method public boolean isDecodeAsAlphaMaskEnabled();
+    method public static boolean isMimeTypeSupported(@NonNull String);
+    method public boolean isMutableRequired();
+    method public boolean isUnpremultipliedRequired();
+    method public void setAllocator(int);
+    method public void setCrop(@Nullable android.graphics.Rect);
+    method public void setDecodeAsAlphaMaskEnabled(boolean);
+    method public void setMemorySizePolicy(int);
+    method public void setMutableRequired(boolean);
+    method public void setOnPartialImageListener(@Nullable android.graphics.ImageDecoder.OnPartialImageListener);
+    method public void setPostProcessor(@Nullable android.graphics.PostProcessor);
+    method public void setTargetColorSpace(android.graphics.ColorSpace);
+    method public void setTargetSampleSize(@IntRange(from=1) int);
+    method public void setTargetSize(@IntRange(from=1) @Px int, @IntRange(from=1) @Px int);
+    method public void setUnpremultipliedRequired(boolean);
+    field public static final int ALLOCATOR_DEFAULT = 0; // 0x0
+    field public static final int ALLOCATOR_HARDWARE = 3; // 0x3
+    field public static final int ALLOCATOR_SHARED_MEMORY = 2; // 0x2
+    field public static final int ALLOCATOR_SOFTWARE = 1; // 0x1
+    field public static final int MEMORY_POLICY_DEFAULT = 1; // 0x1
+    field public static final int MEMORY_POLICY_LOW_RAM = 0; // 0x0
+  }
+
+  public static final class ImageDecoder.DecodeException extends java.io.IOException {
+    method public int getError();
+    method @NonNull public android.graphics.ImageDecoder.Source getSource();
+    field public static final int SOURCE_EXCEPTION = 1; // 0x1
+    field public static final int SOURCE_INCOMPLETE = 2; // 0x2
+    field public static final int SOURCE_MALFORMED_DATA = 3; // 0x3
+  }
+
+  public static class ImageDecoder.ImageInfo {
+    method @Nullable public android.graphics.ColorSpace getColorSpace();
+    method @NonNull public String getMimeType();
+    method @NonNull public android.util.Size getSize();
+    method public boolean isAnimated();
+  }
+
+  public static interface ImageDecoder.OnHeaderDecodedListener {
+    method public void onHeaderDecoded(@NonNull android.graphics.ImageDecoder, @NonNull android.graphics.ImageDecoder.ImageInfo, @NonNull android.graphics.ImageDecoder.Source);
+  }
+
+  public static interface ImageDecoder.OnPartialImageListener {
+    method public boolean onPartialImage(@NonNull android.graphics.ImageDecoder.DecodeException);
+  }
+
+  public abstract static class ImageDecoder.Source {
+  }
+
+  public class ImageFormat {
+    ctor public ImageFormat();
+    method public static int getBitsPerPixel(int);
+    field public static final int DEPTH16 = 1144402265; // 0x44363159
+    field public static final int DEPTH_JPEG = 1768253795; // 0x69656963
+    field public static final int DEPTH_POINT_CLOUD = 257; // 0x101
+    field public static final int FLEX_RGBA_8888 = 42; // 0x2a
+    field public static final int FLEX_RGB_888 = 41; // 0x29
+    field public static final int HEIC = 1212500294; // 0x48454946
+    field public static final int JPEG = 256; // 0x100
+    field public static final int NV16 = 16; // 0x10
+    field public static final int NV21 = 17; // 0x11
+    field public static final int PRIVATE = 34; // 0x22
+    field public static final int RAW10 = 37; // 0x25
+    field public static final int RAW12 = 38; // 0x26
+    field public static final int RAW_PRIVATE = 36; // 0x24
+    field public static final int RAW_SENSOR = 32; // 0x20
+    field public static final int RGB_565 = 4; // 0x4
+    field public static final int UNKNOWN = 0; // 0x0
+    field public static final int Y8 = 538982489; // 0x20203859
+    field public static final int YCBCR_P010 = 54; // 0x36
+    field public static final int YUV_420_888 = 35; // 0x23
+    field public static final int YUV_422_888 = 39; // 0x27
+    field public static final int YUV_444_888 = 40; // 0x28
+    field public static final int YUY2 = 20; // 0x14
+    field public static final int YV12 = 842094169; // 0x32315659
+  }
+
+  public final class Insets implements android.os.Parcelable {
+    method @NonNull public static android.graphics.Insets add(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
+    method public int describeContents();
+    method @NonNull public static android.graphics.Insets max(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
+    method @NonNull public static android.graphics.Insets min(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
+    method @NonNull public static android.graphics.Insets of(int, int, int, int);
+    method @NonNull public static android.graphics.Insets of(@Nullable android.graphics.Rect);
+    method @NonNull public static android.graphics.Insets subtract(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Insets> CREATOR;
+    field @NonNull public static final android.graphics.Insets NONE;
+    field public final int bottom;
+    field public final int left;
+    field public final int right;
+    field public final int top;
+  }
+
+  public class Interpolator {
+    ctor public Interpolator(int);
+    ctor public Interpolator(int, int);
+    method public final int getKeyFrameCount();
+    method public final int getValueCount();
+    method public void reset(int);
+    method public void reset(int, int);
+    method public void setKeyFrame(int, int, float[]);
+    method public void setKeyFrame(int, int, float[], float[]);
+    method public void setRepeatMirror(float, boolean);
+    method public android.graphics.Interpolator.Result timeToValues(float[]);
+    method public android.graphics.Interpolator.Result timeToValues(int, float[]);
+  }
+
+  public enum Interpolator.Result {
+    enum_constant public static final android.graphics.Interpolator.Result FREEZE_END;
+    enum_constant public static final android.graphics.Interpolator.Result FREEZE_START;
+    enum_constant public static final android.graphics.Interpolator.Result NORMAL;
+  }
+
+  public class LightingColorFilter extends android.graphics.ColorFilter {
+    ctor public LightingColorFilter(@ColorInt int, @ColorInt int);
+    method @ColorInt public int getColorAdd();
+    method @ColorInt public int getColorMultiply();
+  }
+
+  public class LinearGradient extends android.graphics.Shader {
+    ctor public LinearGradient(float, float, float, float, @ColorInt @NonNull int[], @Nullable float[], @NonNull android.graphics.Shader.TileMode);
+    ctor public LinearGradient(float, float, float, float, @ColorLong @NonNull long[], @Nullable float[], @NonNull android.graphics.Shader.TileMode);
+    ctor public LinearGradient(float, float, float, float, @ColorInt int, @ColorInt int, @NonNull android.graphics.Shader.TileMode);
+    ctor public LinearGradient(float, float, float, float, @ColorLong long, @ColorLong long, @NonNull android.graphics.Shader.TileMode);
+  }
+
+  public class MaskFilter {
+    ctor public MaskFilter();
+  }
+
+  public class Matrix {
+    ctor public Matrix();
+    ctor public Matrix(android.graphics.Matrix);
+    method public final void dump(@NonNull java.io.PrintWriter);
+    method public void getValues(float[]);
+    method public boolean invert(android.graphics.Matrix);
+    method public boolean isAffine();
+    method public boolean isIdentity();
+    method public void mapPoints(float[], int, float[], int, int);
+    method public void mapPoints(float[], float[]);
+    method public void mapPoints(float[]);
+    method public float mapRadius(float);
+    method public boolean mapRect(android.graphics.RectF, android.graphics.RectF);
+    method public boolean mapRect(android.graphics.RectF);
+    method public void mapVectors(float[], int, float[], int, int);
+    method public void mapVectors(float[], float[]);
+    method public void mapVectors(float[]);
+    method public boolean postConcat(android.graphics.Matrix);
+    method public boolean postRotate(float, float, float);
+    method public boolean postRotate(float);
+    method public boolean postScale(float, float, float, float);
+    method public boolean postScale(float, float);
+    method public boolean postSkew(float, float, float, float);
+    method public boolean postSkew(float, float);
+    method public boolean postTranslate(float, float);
+    method public boolean preConcat(android.graphics.Matrix);
+    method public boolean preRotate(float, float, float);
+    method public boolean preRotate(float);
+    method public boolean preScale(float, float, float, float);
+    method public boolean preScale(float, float);
+    method public boolean preSkew(float, float, float, float);
+    method public boolean preSkew(float, float);
+    method public boolean preTranslate(float, float);
+    method public boolean rectStaysRect();
+    method public void reset();
+    method public void set(android.graphics.Matrix);
+    method public boolean setConcat(android.graphics.Matrix, android.graphics.Matrix);
+    method public boolean setPolyToPoly(float[], int, float[], int, int);
+    method public boolean setRectToRect(android.graphics.RectF, android.graphics.RectF, android.graphics.Matrix.ScaleToFit);
+    method public void setRotate(float, float, float);
+    method public void setRotate(float);
+    method public void setScale(float, float, float, float);
+    method public void setScale(float, float);
+    method public void setSinCos(float, float, float, float);
+    method public void setSinCos(float, float);
+    method public void setSkew(float, float, float, float);
+    method public void setSkew(float, float);
+    method public void setTranslate(float, float);
+    method public void setValues(float[]);
+    method public String toShortString();
+    field @NonNull public static final android.graphics.Matrix IDENTITY_MATRIX;
+    field public static final int MPERSP_0 = 6; // 0x6
+    field public static final int MPERSP_1 = 7; // 0x7
+    field public static final int MPERSP_2 = 8; // 0x8
+    field public static final int MSCALE_X = 0; // 0x0
+    field public static final int MSCALE_Y = 4; // 0x4
+    field public static final int MSKEW_X = 1; // 0x1
+    field public static final int MSKEW_Y = 3; // 0x3
+    field public static final int MTRANS_X = 2; // 0x2
+    field public static final int MTRANS_Y = 5; // 0x5
+  }
+
+  public enum Matrix.ScaleToFit {
+    enum_constant public static final android.graphics.Matrix.ScaleToFit CENTER;
+    enum_constant public static final android.graphics.Matrix.ScaleToFit END;
+    enum_constant public static final android.graphics.Matrix.ScaleToFit FILL;
+    enum_constant public static final android.graphics.Matrix.ScaleToFit START;
+  }
+
+  @Deprecated public class Movie {
+    method @Deprecated public static android.graphics.Movie decodeByteArray(byte[], int, int);
+    method @Deprecated public static android.graphics.Movie decodeFile(String);
+    method @Deprecated public static android.graphics.Movie decodeStream(java.io.InputStream);
+    method @Deprecated public void draw(android.graphics.Canvas, float, float, android.graphics.Paint);
+    method @Deprecated public void draw(android.graphics.Canvas, float, float);
+    method @Deprecated public int duration();
+    method @Deprecated public int height();
+    method @Deprecated public boolean isOpaque();
+    method @Deprecated public boolean setTime(int);
+    method @Deprecated public int width();
+  }
+
+  public class NinePatch {
+    ctor public NinePatch(android.graphics.Bitmap, byte[]);
+    ctor public NinePatch(android.graphics.Bitmap, byte[], String);
+    method public void draw(android.graphics.Canvas, android.graphics.RectF);
+    method public void draw(android.graphics.Canvas, android.graphics.Rect);
+    method public void draw(android.graphics.Canvas, android.graphics.Rect, android.graphics.Paint);
+    method public android.graphics.Bitmap getBitmap();
+    method public int getDensity();
+    method public int getHeight();
+    method public String getName();
+    method public android.graphics.Paint getPaint();
+    method public final android.graphics.Region getTransparentRegion(android.graphics.Rect);
+    method public int getWidth();
+    method public final boolean hasAlpha();
+    method public static boolean isNinePatchChunk(byte[]);
+    method public void setPaint(android.graphics.Paint);
+  }
+
+  public final class Outline {
+    ctor public Outline();
+    ctor public Outline(@NonNull android.graphics.Outline);
+    method public boolean canClip();
+    method public float getAlpha();
+    method public float getRadius();
+    method public boolean getRect(@NonNull android.graphics.Rect);
+    method public boolean isEmpty();
+    method public void offset(int, int);
+    method public void set(@NonNull android.graphics.Outline);
+    method public void setAlpha(@FloatRange(from=0.0, to=1.0) float);
+    method @Deprecated public void setConvexPath(@NonNull android.graphics.Path);
+    method public void setEmpty();
+    method public void setOval(int, int, int, int);
+    method public void setOval(@NonNull android.graphics.Rect);
+    method public void setPath(@NonNull android.graphics.Path);
+    method public void setRect(int, int, int, int);
+    method public void setRect(@NonNull android.graphics.Rect);
+    method public void setRoundRect(int, int, int, int, float);
+    method public void setRoundRect(@NonNull android.graphics.Rect, float);
+  }
+
+  public class Paint {
+    ctor public Paint();
+    ctor public Paint(int);
+    ctor public Paint(android.graphics.Paint);
+    method public float ascent();
+    method public int breakText(char[], int, int, float, float[]);
+    method public int breakText(CharSequence, int, int, boolean, float, float[]);
+    method public int breakText(String, boolean, float, float[]);
+    method public void clearShadowLayer();
+    method public float descent();
+    method public boolean equalsForTextMeasurement(@NonNull android.graphics.Paint);
+    method public int getAlpha();
+    method @Nullable public android.graphics.BlendMode getBlendMode();
+    method @ColorInt public int getColor();
+    method public android.graphics.ColorFilter getColorFilter();
+    method @ColorLong public long getColorLong();
+    method public int getEndHyphenEdit();
+    method public boolean getFillPath(android.graphics.Path, android.graphics.Path);
+    method public int getFlags();
+    method public String getFontFeatureSettings();
+    method public float getFontMetrics(android.graphics.Paint.FontMetrics);
+    method public android.graphics.Paint.FontMetrics getFontMetrics();
+    method public int getFontMetricsInt(android.graphics.Paint.FontMetricsInt);
+    method public android.graphics.Paint.FontMetricsInt getFontMetricsInt();
+    method public float getFontSpacing();
+    method public String getFontVariationSettings();
+    method public int getHinting();
+    method public float getLetterSpacing();
+    method public android.graphics.MaskFilter getMaskFilter();
+    method public int getOffsetForAdvance(char[], int, int, int, int, boolean, float);
+    method public int getOffsetForAdvance(CharSequence, int, int, int, int, boolean, float);
+    method public android.graphics.PathEffect getPathEffect();
+    method public float getRunAdvance(char[], int, int, int, int, boolean, int);
+    method public float getRunAdvance(CharSequence, int, int, int, int, boolean, int);
+    method public android.graphics.Shader getShader();
+    method @ColorInt public int getShadowLayerColor();
+    method @ColorLong public long getShadowLayerColorLong();
+    method public float getShadowLayerDx();
+    method public float getShadowLayerDy();
+    method public float getShadowLayerRadius();
+    method public int getStartHyphenEdit();
+    method @Px public float getStrikeThruPosition();
+    method @Px public float getStrikeThruThickness();
+    method public android.graphics.Paint.Cap getStrokeCap();
+    method public android.graphics.Paint.Join getStrokeJoin();
+    method public float getStrokeMiter();
+    method public float getStrokeWidth();
+    method public android.graphics.Paint.Style getStyle();
+    method public android.graphics.Paint.Align getTextAlign();
+    method public void getTextBounds(String, int, int, android.graphics.Rect);
+    method public void getTextBounds(@NonNull CharSequence, int, int, @NonNull android.graphics.Rect);
+    method public void getTextBounds(char[], int, int, android.graphics.Rect);
+    method @NonNull public java.util.Locale getTextLocale();
+    method @NonNull @Size(min=1) public android.os.LocaleList getTextLocales();
+    method public void getTextPath(char[], int, int, float, float, android.graphics.Path);
+    method public void getTextPath(String, int, int, float, float, android.graphics.Path);
+    method public float getTextRunAdvances(@NonNull char[], @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, boolean, @Nullable float[], @IntRange(from=0) int);
+    method public int getTextRunCursor(@NonNull char[], @IntRange(from=0) int, @IntRange(from=0) int, boolean, @IntRange(from=0) int, int);
+    method public int getTextRunCursor(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, boolean, @IntRange(from=0) int, int);
+    method public float getTextScaleX();
+    method public float getTextSize();
+    method public float getTextSkewX();
+    method public int getTextWidths(char[], int, int, float[]);
+    method public int getTextWidths(CharSequence, int, int, float[]);
+    method public int getTextWidths(String, int, int, float[]);
+    method public int getTextWidths(String, float[]);
+    method public android.graphics.Typeface getTypeface();
+    method @Px public float getUnderlinePosition();
+    method @Px public float getUnderlineThickness();
+    method @Px public float getWordSpacing();
+    method public android.graphics.Xfermode getXfermode();
+    method public boolean hasGlyph(String);
+    method public final boolean isAntiAlias();
+    method public final boolean isDither();
+    method public boolean isElegantTextHeight();
+    method public final boolean isFakeBoldText();
+    method public final boolean isFilterBitmap();
+    method public final boolean isLinearText();
+    method public final boolean isStrikeThruText();
+    method public final boolean isSubpixelText();
+    method public final boolean isUnderlineText();
+    method public float measureText(char[], int, int);
+    method public float measureText(String, int, int);
+    method public float measureText(String);
+    method public float measureText(CharSequence, int, int);
+    method public void reset();
+    method public void set(android.graphics.Paint);
+    method public void setARGB(int, int, int, int);
+    method public void setAlpha(int);
+    method public void setAntiAlias(boolean);
+    method public void setBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setColor(@ColorInt int);
+    method public void setColor(@ColorLong long);
+    method public android.graphics.ColorFilter setColorFilter(android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setElegantTextHeight(boolean);
+    method public void setEndHyphenEdit(int);
+    method public void setFakeBoldText(boolean);
+    method public void setFilterBitmap(boolean);
+    method public void setFlags(int);
+    method public void setFontFeatureSettings(String);
+    method public boolean setFontVariationSettings(String);
+    method public void setHinting(int);
+    method public void setLetterSpacing(float);
+    method public void setLinearText(boolean);
+    method public android.graphics.MaskFilter setMaskFilter(android.graphics.MaskFilter);
+    method public android.graphics.PathEffect setPathEffect(android.graphics.PathEffect);
+    method public android.graphics.Shader setShader(android.graphics.Shader);
+    method public void setShadowLayer(float, float, float, @ColorInt int);
+    method public void setShadowLayer(float, float, float, @ColorLong long);
+    method public void setStartHyphenEdit(int);
+    method public void setStrikeThruText(boolean);
+    method public void setStrokeCap(android.graphics.Paint.Cap);
+    method public void setStrokeJoin(android.graphics.Paint.Join);
+    method public void setStrokeMiter(float);
+    method public void setStrokeWidth(float);
+    method public void setStyle(android.graphics.Paint.Style);
+    method public void setSubpixelText(boolean);
+    method public void setTextAlign(android.graphics.Paint.Align);
+    method public void setTextLocale(@NonNull java.util.Locale);
+    method public void setTextLocales(@NonNull @Size(min=1) android.os.LocaleList);
+    method public void setTextScaleX(float);
+    method public void setTextSize(float);
+    method public void setTextSkewX(float);
+    method public android.graphics.Typeface setTypeface(android.graphics.Typeface);
+    method public void setUnderlineText(boolean);
+    method public void setWordSpacing(@Px float);
+    method public android.graphics.Xfermode setXfermode(android.graphics.Xfermode);
+    field public static final int ANTI_ALIAS_FLAG = 1; // 0x1
+    field public static final int CURSOR_AFTER = 0; // 0x0
+    field public static final int CURSOR_AT = 4; // 0x4
+    field public static final int CURSOR_AT_OR_AFTER = 1; // 0x1
+    field public static final int CURSOR_AT_OR_BEFORE = 3; // 0x3
+    field public static final int CURSOR_BEFORE = 2; // 0x2
+    field public static final int DEV_KERN_TEXT_FLAG = 256; // 0x100
+    field public static final int DITHER_FLAG = 4; // 0x4
+    field public static final int EMBEDDED_BITMAP_TEXT_FLAG = 1024; // 0x400
+    field public static final int END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN = 3; // 0x3
+    field public static final int END_HYPHEN_EDIT_INSERT_HYPHEN = 2; // 0x2
+    field public static final int END_HYPHEN_EDIT_INSERT_MAQAF = 4; // 0x4
+    field public static final int END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN = 5; // 0x5
+    field public static final int END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN = 6; // 0x6
+    field public static final int END_HYPHEN_EDIT_NO_EDIT = 0; // 0x0
+    field public static final int END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN = 1; // 0x1
+    field public static final int FAKE_BOLD_TEXT_FLAG = 32; // 0x20
+    field public static final int FILTER_BITMAP_FLAG = 2; // 0x2
+    field public static final int HINTING_OFF = 0; // 0x0
+    field public static final int HINTING_ON = 1; // 0x1
+    field public static final int LINEAR_TEXT_FLAG = 64; // 0x40
+    field public static final int START_HYPHEN_EDIT_INSERT_HYPHEN = 1; // 0x1
+    field public static final int START_HYPHEN_EDIT_INSERT_ZWJ = 2; // 0x2
+    field public static final int START_HYPHEN_EDIT_NO_EDIT = 0; // 0x0
+    field public static final int STRIKE_THRU_TEXT_FLAG = 16; // 0x10
+    field public static final int SUBPIXEL_TEXT_FLAG = 128; // 0x80
+    field public static final int UNDERLINE_TEXT_FLAG = 8; // 0x8
+  }
+
+  public enum Paint.Align {
+    enum_constant public static final android.graphics.Paint.Align CENTER;
+    enum_constant public static final android.graphics.Paint.Align LEFT;
+    enum_constant public static final android.graphics.Paint.Align RIGHT;
+  }
+
+  public enum Paint.Cap {
+    enum_constant public static final android.graphics.Paint.Cap BUTT;
+    enum_constant public static final android.graphics.Paint.Cap ROUND;
+    enum_constant public static final android.graphics.Paint.Cap SQUARE;
+  }
+
+  public static class Paint.FontMetrics {
+    ctor public Paint.FontMetrics();
+    field public float ascent;
+    field public float bottom;
+    field public float descent;
+    field public float leading;
+    field public float top;
+  }
+
+  public static class Paint.FontMetricsInt {
+    ctor public Paint.FontMetricsInt();
+    field public int ascent;
+    field public int bottom;
+    field public int descent;
+    field public int leading;
+    field public int top;
+  }
+
+  public enum Paint.Join {
+    enum_constant public static final android.graphics.Paint.Join BEVEL;
+    enum_constant public static final android.graphics.Paint.Join MITER;
+    enum_constant public static final android.graphics.Paint.Join ROUND;
+  }
+
+  public enum Paint.Style {
+    enum_constant public static final android.graphics.Paint.Style FILL;
+    enum_constant public static final android.graphics.Paint.Style FILL_AND_STROKE;
+    enum_constant public static final android.graphics.Paint.Style STROKE;
+  }
+
+  public class PaintFlagsDrawFilter extends android.graphics.DrawFilter {
+    ctor public PaintFlagsDrawFilter(int, int);
+  }
+
+  public final class ParcelableColorSpace implements android.os.Parcelable {
+    ctor public ParcelableColorSpace(@NonNull android.graphics.ColorSpace);
+    method public int describeContents();
+    method @NonNull public android.graphics.ColorSpace getColorSpace();
+    method public static boolean isParcelable(@NonNull android.graphics.ColorSpace);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.ParcelableColorSpace> CREATOR;
+  }
+
+  public class Path {
+    ctor public Path();
+    ctor public Path(@Nullable android.graphics.Path);
+    method public void addArc(@NonNull android.graphics.RectF, float, float);
+    method public void addArc(float, float, float, float, float, float);
+    method public void addCircle(float, float, float, @NonNull android.graphics.Path.Direction);
+    method public void addOval(@NonNull android.graphics.RectF, @NonNull android.graphics.Path.Direction);
+    method public void addOval(float, float, float, float, @NonNull android.graphics.Path.Direction);
+    method public void addPath(@NonNull android.graphics.Path, float, float);
+    method public void addPath(@NonNull android.graphics.Path);
+    method public void addPath(@NonNull android.graphics.Path, @NonNull android.graphics.Matrix);
+    method public void addRect(@NonNull android.graphics.RectF, @NonNull android.graphics.Path.Direction);
+    method public void addRect(float, float, float, float, @NonNull android.graphics.Path.Direction);
+    method public void addRoundRect(@NonNull android.graphics.RectF, float, float, @NonNull android.graphics.Path.Direction);
+    method public void addRoundRect(float, float, float, float, float, float, @NonNull android.graphics.Path.Direction);
+    method public void addRoundRect(@NonNull android.graphics.RectF, @NonNull float[], @NonNull android.graphics.Path.Direction);
+    method public void addRoundRect(float, float, float, float, @NonNull float[], @NonNull android.graphics.Path.Direction);
+    method @NonNull @Size(min=6, multiple=3) public float[] approximate(@FloatRange(from=0) float);
+    method public void arcTo(@NonNull android.graphics.RectF, float, float, boolean);
+    method public void arcTo(@NonNull android.graphics.RectF, float, float);
+    method public void arcTo(float, float, float, float, float, float, boolean);
+    method public void close();
+    method public void computeBounds(@NonNull android.graphics.RectF, boolean);
+    method public void cubicTo(float, float, float, float, float, float);
+    method @NonNull public android.graphics.Path.FillType getFillType();
+    method public void incReserve(int);
+    method @Deprecated public boolean isConvex();
+    method public boolean isEmpty();
+    method public boolean isInverseFillType();
+    method public boolean isRect(@Nullable android.graphics.RectF);
+    method public void lineTo(float, float);
+    method public void moveTo(float, float);
+    method public void offset(float, float, @Nullable android.graphics.Path);
+    method public void offset(float, float);
+    method public boolean op(@NonNull android.graphics.Path, @NonNull android.graphics.Path.Op);
+    method public boolean op(@NonNull android.graphics.Path, @NonNull android.graphics.Path, @NonNull android.graphics.Path.Op);
+    method public void quadTo(float, float, float, float);
+    method public void rCubicTo(float, float, float, float, float, float);
+    method public void rLineTo(float, float);
+    method public void rMoveTo(float, float);
+    method public void rQuadTo(float, float, float, float);
+    method public void reset();
+    method public void rewind();
+    method public void set(@NonNull android.graphics.Path);
+    method public void setFillType(@NonNull android.graphics.Path.FillType);
+    method public void setLastPoint(float, float);
+    method public void toggleInverseFillType();
+    method public void transform(@NonNull android.graphics.Matrix, @Nullable android.graphics.Path);
+    method public void transform(@NonNull android.graphics.Matrix);
+  }
+
+  public enum Path.Direction {
+    enum_constant public static final android.graphics.Path.Direction CCW;
+    enum_constant public static final android.graphics.Path.Direction CW;
+  }
+
+  public enum Path.FillType {
+    enum_constant public static final android.graphics.Path.FillType EVEN_ODD;
+    enum_constant public static final android.graphics.Path.FillType INVERSE_EVEN_ODD;
+    enum_constant public static final android.graphics.Path.FillType INVERSE_WINDING;
+    enum_constant public static final android.graphics.Path.FillType WINDING;
+  }
+
+  public enum Path.Op {
+    enum_constant public static final android.graphics.Path.Op DIFFERENCE;
+    enum_constant public static final android.graphics.Path.Op INTERSECT;
+    enum_constant public static final android.graphics.Path.Op REVERSE_DIFFERENCE;
+    enum_constant public static final android.graphics.Path.Op UNION;
+    enum_constant public static final android.graphics.Path.Op XOR;
+  }
+
+  public class PathDashPathEffect extends android.graphics.PathEffect {
+    ctor public PathDashPathEffect(android.graphics.Path, float, float, android.graphics.PathDashPathEffect.Style);
+  }
+
+  public enum PathDashPathEffect.Style {
+    enum_constant public static final android.graphics.PathDashPathEffect.Style MORPH;
+    enum_constant public static final android.graphics.PathDashPathEffect.Style ROTATE;
+    enum_constant public static final android.graphics.PathDashPathEffect.Style TRANSLATE;
+  }
+
+  public class PathEffect {
+    ctor public PathEffect();
+  }
+
+  public class PathMeasure {
+    ctor public PathMeasure();
+    ctor public PathMeasure(android.graphics.Path, boolean);
+    method public float getLength();
+    method public boolean getMatrix(float, android.graphics.Matrix, int);
+    method public boolean getPosTan(float, float[], float[]);
+    method public boolean getSegment(float, float, android.graphics.Path, boolean);
+    method public boolean isClosed();
+    method public boolean nextContour();
+    method public void setPath(android.graphics.Path, boolean);
+    field public static final int POSITION_MATRIX_FLAG = 1; // 0x1
+    field public static final int TANGENT_MATRIX_FLAG = 2; // 0x2
+  }
+
+  public class Picture {
+    ctor public Picture();
+    ctor public Picture(android.graphics.Picture);
+    method @NonNull public android.graphics.Canvas beginRecording(int, int);
+    method public void draw(@NonNull android.graphics.Canvas);
+    method public void endRecording();
+    method public int getHeight();
+    method public int getWidth();
+    method public boolean requiresHardwareAcceleration();
+  }
+
+  public class PixelFormat {
+    ctor public PixelFormat();
+    method public static boolean formatHasAlpha(int);
+    method public static void getPixelFormatInfo(int, android.graphics.PixelFormat);
+    field @Deprecated public static final int A_8 = 8; // 0x8
+    field @Deprecated public static final int JPEG = 256; // 0x100
+    field @Deprecated public static final int LA_88 = 10; // 0xa
+    field @Deprecated public static final int L_8 = 9; // 0x9
+    field public static final int OPAQUE = -1; // 0xffffffff
+    field public static final int RGBA_1010102 = 43; // 0x2b
+    field @Deprecated public static final int RGBA_4444 = 7; // 0x7
+    field @Deprecated public static final int RGBA_5551 = 6; // 0x6
+    field public static final int RGBA_8888 = 1; // 0x1
+    field public static final int RGBA_F16 = 22; // 0x16
+    field public static final int RGBX_8888 = 2; // 0x2
+    field @Deprecated public static final int RGB_332 = 11; // 0xb
+    field public static final int RGB_565 = 4; // 0x4
+    field public static final int RGB_888 = 3; // 0x3
+    field public static final int TRANSLUCENT = -3; // 0xfffffffd
+    field public static final int TRANSPARENT = -2; // 0xfffffffe
+    field public static final int UNKNOWN = 0; // 0x0
+    field @Deprecated public static final int YCbCr_420_SP = 17; // 0x11
+    field @Deprecated public static final int YCbCr_422_I = 20; // 0x14
+    field @Deprecated public static final int YCbCr_422_SP = 16; // 0x10
+    field public int bitsPerPixel;
+    field public int bytesPerPixel;
+  }
+
+  public class Point implements android.os.Parcelable {
+    ctor public Point();
+    ctor public Point(int, int);
+    ctor public Point(@NonNull android.graphics.Point);
+    method public int describeContents();
+    method public final boolean equals(int, int);
+    method public final void negate();
+    method public final void offset(int, int);
+    method public void readFromParcel(@NonNull android.os.Parcel);
+    method public void set(int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Point> CREATOR;
+    field public int x;
+    field public int y;
+  }
+
+  public class PointF implements android.os.Parcelable {
+    ctor public PointF();
+    ctor public PointF(float, float);
+    ctor public PointF(@NonNull android.graphics.Point);
+    ctor public PointF(@NonNull android.graphics.PointF);
+    method public int describeContents();
+    method public final boolean equals(float, float);
+    method public final float length();
+    method public static float length(float, float);
+    method public final void negate();
+    method public final void offset(float, float);
+    method public void readFromParcel(@NonNull android.os.Parcel);
+    method public final void set(float, float);
+    method public final void set(@NonNull android.graphics.PointF);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.PointF> CREATOR;
+    field public float x;
+    field public float y;
+  }
+
+  public class PorterDuff {
+    ctor public PorterDuff();
+  }
+
+  public enum PorterDuff.Mode {
+    enum_constant public static final android.graphics.PorterDuff.Mode ADD;
+    enum_constant public static final android.graphics.PorterDuff.Mode CLEAR;
+    enum_constant public static final android.graphics.PorterDuff.Mode DARKEN;
+    enum_constant public static final android.graphics.PorterDuff.Mode DST;
+    enum_constant public static final android.graphics.PorterDuff.Mode DST_ATOP;
+    enum_constant public static final android.graphics.PorterDuff.Mode DST_IN;
+    enum_constant public static final android.graphics.PorterDuff.Mode DST_OUT;
+    enum_constant public static final android.graphics.PorterDuff.Mode DST_OVER;
+    enum_constant public static final android.graphics.PorterDuff.Mode LIGHTEN;
+    enum_constant public static final android.graphics.PorterDuff.Mode MULTIPLY;
+    enum_constant public static final android.graphics.PorterDuff.Mode OVERLAY;
+    enum_constant public static final android.graphics.PorterDuff.Mode SCREEN;
+    enum_constant public static final android.graphics.PorterDuff.Mode SRC;
+    enum_constant public static final android.graphics.PorterDuff.Mode SRC_ATOP;
+    enum_constant public static final android.graphics.PorterDuff.Mode SRC_IN;
+    enum_constant public static final android.graphics.PorterDuff.Mode SRC_OUT;
+    enum_constant public static final android.graphics.PorterDuff.Mode SRC_OVER;
+    enum_constant public static final android.graphics.PorterDuff.Mode XOR;
+  }
+
+  public class PorterDuffColorFilter extends android.graphics.ColorFilter {
+    ctor public PorterDuffColorFilter(@ColorInt int, @NonNull android.graphics.PorterDuff.Mode);
+  }
+
+  public class PorterDuffXfermode extends android.graphics.Xfermode {
+    ctor public PorterDuffXfermode(android.graphics.PorterDuff.Mode);
+  }
+
+  public interface PostProcessor {
+    method public int onPostProcess(@NonNull android.graphics.Canvas);
+  }
+
+  public class RadialGradient extends android.graphics.Shader {
+    ctor public RadialGradient(float, float, float, @ColorInt @NonNull int[], @Nullable float[], @NonNull android.graphics.Shader.TileMode);
+    ctor public RadialGradient(float, float, float, @ColorLong @NonNull long[], @Nullable float[], @NonNull android.graphics.Shader.TileMode);
+    ctor public RadialGradient(float, float, @FloatRange(from=0.0f) float, float, float, @FloatRange(from=0.0f, fromInclusive=false) float, @ColorLong @NonNull long[], @Nullable float[], @NonNull android.graphics.Shader.TileMode);
+    ctor public RadialGradient(float, float, float, @ColorInt int, @ColorInt int, @NonNull android.graphics.Shader.TileMode);
+    ctor public RadialGradient(float, float, float, @ColorLong long, @ColorLong long, @NonNull android.graphics.Shader.TileMode);
+  }
+
+  public final class RecordingCanvas extends android.graphics.Canvas {
+  }
+
+  public final class Rect implements android.os.Parcelable {
+    ctor public Rect();
+    ctor public Rect(int, int, int, int);
+    ctor public Rect(@Nullable android.graphics.Rect);
+    method public int centerX();
+    method public int centerY();
+    method public boolean contains(int, int);
+    method public boolean contains(int, int, int, int);
+    method public boolean contains(@NonNull android.graphics.Rect);
+    method public int describeContents();
+    method public float exactCenterX();
+    method public float exactCenterY();
+    method @NonNull public String flattenToString();
+    method public int height();
+    method public void inset(int, int);
+    method public void inset(@NonNull android.graphics.Insets);
+    method public void inset(int, int, int, int);
+    method @CheckResult public boolean intersect(int, int, int, int);
+    method @CheckResult public boolean intersect(@NonNull android.graphics.Rect);
+    method public boolean intersects(int, int, int, int);
+    method public static boolean intersects(@NonNull android.graphics.Rect, @NonNull android.graphics.Rect);
+    method public boolean isEmpty();
+    method public void offset(int, int);
+    method public void offsetTo(int, int);
+    method public void readFromParcel(@NonNull android.os.Parcel);
+    method public void set(int, int, int, int);
+    method public void set(@NonNull android.graphics.Rect);
+    method public void setEmpty();
+    method @CheckResult public boolean setIntersect(@NonNull android.graphics.Rect, @NonNull android.graphics.Rect);
+    method public void sort();
+    method @NonNull public String toShortString();
+    method @Nullable public static android.graphics.Rect unflattenFromString(@Nullable String);
+    method public void union(int, int, int, int);
+    method public void union(@NonNull android.graphics.Rect);
+    method public void union(int, int);
+    method public int width();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Rect> CREATOR;
+    field public int bottom;
+    field public int left;
+    field public int right;
+    field public int top;
+  }
+
+  public class RectF implements android.os.Parcelable {
+    ctor public RectF();
+    ctor public RectF(float, float, float, float);
+    ctor public RectF(@Nullable android.graphics.RectF);
+    ctor public RectF(@Nullable android.graphics.Rect);
+    method public final float centerX();
+    method public final float centerY();
+    method public boolean contains(float, float);
+    method public boolean contains(float, float, float, float);
+    method public boolean contains(@NonNull android.graphics.RectF);
+    method public int describeContents();
+    method public final float height();
+    method public void inset(float, float);
+    method public boolean intersect(float, float, float, float);
+    method public boolean intersect(@NonNull android.graphics.RectF);
+    method public boolean intersects(float, float, float, float);
+    method public static boolean intersects(@NonNull android.graphics.RectF, @NonNull android.graphics.RectF);
+    method public final boolean isEmpty();
+    method public void offset(float, float);
+    method public void offsetTo(float, float);
+    method public void readFromParcel(@NonNull android.os.Parcel);
+    method public void round(@NonNull android.graphics.Rect);
+    method public void roundOut(@NonNull android.graphics.Rect);
+    method public void set(float, float, float, float);
+    method public void set(@NonNull android.graphics.RectF);
+    method public void set(@NonNull android.graphics.Rect);
+    method public void setEmpty();
+    method public boolean setIntersect(@NonNull android.graphics.RectF, @NonNull android.graphics.RectF);
+    method public void sort();
+    method @NonNull public String toShortString();
+    method public void union(float, float, float, float);
+    method public void union(@NonNull android.graphics.RectF);
+    method public void union(float, float);
+    method public final float width();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.RectF> CREATOR;
+    field public float bottom;
+    field public float left;
+    field public float right;
+    field public float top;
+  }
+
+  public class Region implements android.os.Parcelable {
+    ctor public Region();
+    ctor public Region(@NonNull android.graphics.Region);
+    ctor public Region(@NonNull android.graphics.Rect);
+    ctor public Region(int, int, int, int);
+    method public boolean contains(int, int);
+    method public int describeContents();
+    method @NonNull public android.graphics.Path getBoundaryPath();
+    method public boolean getBoundaryPath(@NonNull android.graphics.Path);
+    method @NonNull public android.graphics.Rect getBounds();
+    method public boolean getBounds(@NonNull android.graphics.Rect);
+    method public boolean isComplex();
+    method public boolean isEmpty();
+    method public boolean isRect();
+    method public boolean op(@NonNull android.graphics.Rect, @NonNull android.graphics.Region.Op);
+    method public boolean op(int, int, int, int, @NonNull android.graphics.Region.Op);
+    method public boolean op(@NonNull android.graphics.Region, @NonNull android.graphics.Region.Op);
+    method public boolean op(@NonNull android.graphics.Rect, @NonNull android.graphics.Region, @NonNull android.graphics.Region.Op);
+    method public boolean op(@NonNull android.graphics.Region, @NonNull android.graphics.Region, @NonNull android.graphics.Region.Op);
+    method public boolean quickContains(@NonNull android.graphics.Rect);
+    method public boolean quickContains(int, int, int, int);
+    method public boolean quickReject(@NonNull android.graphics.Rect);
+    method public boolean quickReject(int, int, int, int);
+    method public boolean quickReject(android.graphics.Region);
+    method public boolean set(@NonNull android.graphics.Region);
+    method public boolean set(@NonNull android.graphics.Rect);
+    method public boolean set(int, int, int, int);
+    method public void setEmpty();
+    method public boolean setPath(@NonNull android.graphics.Path, @NonNull android.graphics.Region);
+    method public void translate(int, int);
+    method public void translate(int, int, android.graphics.Region);
+    method public final boolean union(@NonNull android.graphics.Rect);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Region> CREATOR;
+  }
+
+  public enum Region.Op {
+    enum_constant public static final android.graphics.Region.Op DIFFERENCE;
+    enum_constant public static final android.graphics.Region.Op INTERSECT;
+    enum_constant public static final android.graphics.Region.Op REPLACE;
+    enum_constant public static final android.graphics.Region.Op REVERSE_DIFFERENCE;
+    enum_constant public static final android.graphics.Region.Op UNION;
+    enum_constant public static final android.graphics.Region.Op XOR;
+  }
+
+  public class RegionIterator {
+    ctor public RegionIterator(android.graphics.Region);
+    method public final boolean next(android.graphics.Rect);
+  }
+
+  public final class RenderEffect {
+    method @NonNull public static android.graphics.RenderEffect createBitmapEffect(@NonNull android.graphics.Bitmap);
+    method @NonNull public static android.graphics.RenderEffect createBitmapEffect(@NonNull android.graphics.Bitmap, @Nullable android.graphics.Rect, @NonNull android.graphics.Rect);
+    method @NonNull public static android.graphics.RenderEffect createBlendModeEffect(@NonNull android.graphics.RenderEffect, @NonNull android.graphics.RenderEffect, @NonNull android.graphics.BlendMode);
+    method @NonNull public static android.graphics.RenderEffect createBlurEffect(float, float, @NonNull android.graphics.RenderEffect, @NonNull android.graphics.Shader.TileMode);
+    method @NonNull public static android.graphics.RenderEffect createBlurEffect(float, float, @NonNull android.graphics.Shader.TileMode);
+    method @NonNull public static android.graphics.RenderEffect createChainEffect(@NonNull android.graphics.RenderEffect, @NonNull android.graphics.RenderEffect);
+    method @NonNull public static android.graphics.RenderEffect createColorFilterEffect(@NonNull android.graphics.ColorFilter, @NonNull android.graphics.RenderEffect);
+    method @NonNull public static android.graphics.RenderEffect createColorFilterEffect(@NonNull android.graphics.ColorFilter);
+    method @NonNull public static android.graphics.RenderEffect createOffsetEffect(float, float);
+    method @NonNull public static android.graphics.RenderEffect createOffsetEffect(float, float, @NonNull android.graphics.RenderEffect);
+    method @NonNull public static android.graphics.RenderEffect createShaderEffect(@NonNull android.graphics.Shader);
+  }
+
+  public final class RenderNode {
+    ctor public RenderNode(@Nullable String);
+    method @NonNull public android.graphics.RecordingCanvas beginRecording(int, int);
+    method @NonNull public android.graphics.RecordingCanvas beginRecording();
+    method public long computeApproximateMemoryUsage();
+    method public void discardDisplayList();
+    method public void endRecording();
+    method public float getAlpha();
+    method @ColorInt public int getAmbientShadowColor();
+    method public int getBottom();
+    method @FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE) public float getCameraDistance();
+    method public boolean getClipToBounds();
+    method public boolean getClipToOutline();
+    method public float getElevation();
+    method public int getHeight();
+    method public void getInverseMatrix(@NonNull android.graphics.Matrix);
+    method public int getLeft();
+    method public void getMatrix(@NonNull android.graphics.Matrix);
+    method public float getPivotX();
+    method public float getPivotY();
+    method public int getRight();
+    method public float getRotationX();
+    method public float getRotationY();
+    method public float getRotationZ();
+    method public float getScaleX();
+    method public float getScaleY();
+    method @ColorInt public int getSpotShadowColor();
+    method public int getTop();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public float getTranslationZ();
+    method public long getUniqueId();
+    method public boolean getUseCompositingLayer();
+    method public int getWidth();
+    method public boolean hasDisplayList();
+    method public boolean hasIdentityMatrix();
+    method public boolean hasOverlappingRendering();
+    method public boolean hasShadow();
+    method public boolean isForceDarkAllowed();
+    method public boolean isPivotExplicitlySet();
+    method public boolean offsetLeftAndRight(int);
+    method public boolean offsetTopAndBottom(int);
+    method public boolean resetPivot();
+    method public boolean setAlpha(float);
+    method public boolean setAmbientShadowColor(@ColorInt int);
+    method public boolean setCameraDistance(@FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE) float);
+    method public boolean setClipRect(@Nullable android.graphics.Rect);
+    method public boolean setClipToBounds(boolean);
+    method public boolean setClipToOutline(boolean);
+    method public boolean setElevation(float);
+    method public boolean setForceDarkAllowed(boolean);
+    method public boolean setHasOverlappingRendering(boolean);
+    method public boolean setOutline(@Nullable android.graphics.Outline);
+    method public boolean setPivotX(float);
+    method public boolean setPivotY(float);
+    method public boolean setPosition(int, int, int, int);
+    method public boolean setPosition(@NonNull android.graphics.Rect);
+    method public boolean setProjectBackwards(boolean);
+    method public boolean setProjectionReceiver(boolean);
+    method public boolean setRenderEffect(@Nullable android.graphics.RenderEffect);
+    method public boolean setRotationX(float);
+    method public boolean setRotationY(float);
+    method public boolean setRotationZ(float);
+    method public boolean setScaleX(float);
+    method public boolean setScaleY(float);
+    method public boolean setSpotShadowColor(@ColorInt int);
+    method public boolean setTranslationX(float);
+    method public boolean setTranslationY(float);
+    method public boolean setTranslationZ(float);
+    method public boolean setUseCompositingLayer(boolean, @Nullable android.graphics.Paint);
+  }
+
+  public class Shader {
+    ctor @Deprecated public Shader();
+    method public boolean getLocalMatrix(@NonNull android.graphics.Matrix);
+    method public void setLocalMatrix(@Nullable android.graphics.Matrix);
+  }
+
+  public enum Shader.TileMode {
+    enum_constant public static final android.graphics.Shader.TileMode CLAMP;
+    enum_constant public static final android.graphics.Shader.TileMode DECAL;
+    enum_constant public static final android.graphics.Shader.TileMode MIRROR;
+    enum_constant public static final android.graphics.Shader.TileMode REPEAT;
+  }
+
+  public class SumPathEffect extends android.graphics.PathEffect {
+    ctor public SumPathEffect(android.graphics.PathEffect, android.graphics.PathEffect);
+  }
+
+  public class SurfaceTexture {
+    ctor public SurfaceTexture(int);
+    ctor public SurfaceTexture(int, boolean);
+    ctor public SurfaceTexture(boolean);
+    method public void attachToGLContext(int);
+    method public void detachFromGLContext();
+    method public long getTimestamp();
+    method public void getTransformMatrix(float[]);
+    method public boolean isReleased();
+    method public void release();
+    method public void releaseTexImage();
+    method public void setDefaultBufferSize(int, int);
+    method public void setOnFrameAvailableListener(@Nullable android.graphics.SurfaceTexture.OnFrameAvailableListener);
+    method public void setOnFrameAvailableListener(@Nullable android.graphics.SurfaceTexture.OnFrameAvailableListener, @Nullable android.os.Handler);
+    method public void updateTexImage();
+  }
+
+  public static interface SurfaceTexture.OnFrameAvailableListener {
+    method public void onFrameAvailable(android.graphics.SurfaceTexture);
+  }
+
+  @Deprecated public static class SurfaceTexture.OutOfResourcesException extends java.lang.Exception {
+    ctor @Deprecated public SurfaceTexture.OutOfResourcesException();
+    ctor @Deprecated public SurfaceTexture.OutOfResourcesException(String);
+  }
+
+  public class SweepGradient extends android.graphics.Shader {
+    ctor public SweepGradient(float, float, @ColorInt @NonNull int[], @Nullable float[]);
+    ctor public SweepGradient(float, float, @ColorLong @NonNull long[], @Nullable float[]);
+    ctor public SweepGradient(float, float, @ColorInt int, @ColorInt int);
+    ctor public SweepGradient(float, float, @ColorLong long, @ColorLong long);
+  }
+
+  public class Typeface {
+    method public static android.graphics.Typeface create(String, int);
+    method public static android.graphics.Typeface create(android.graphics.Typeface, int);
+    method @NonNull public static android.graphics.Typeface create(@Nullable android.graphics.Typeface, @IntRange(from=1, to=1000) int, boolean);
+    method public static android.graphics.Typeface createFromAsset(android.content.res.AssetManager, String);
+    method public static android.graphics.Typeface createFromFile(@Nullable java.io.File);
+    method public static android.graphics.Typeface createFromFile(@Nullable String);
+    method public static android.graphics.Typeface defaultFromStyle(int);
+    method public int getStyle();
+    method @IntRange(from=0, to=1000) public int getWeight();
+    method public final boolean isBold();
+    method public final boolean isItalic();
+    field public static final int BOLD = 1; // 0x1
+    field public static final int BOLD_ITALIC = 3; // 0x3
+    field public static final android.graphics.Typeface DEFAULT;
+    field public static final android.graphics.Typeface DEFAULT_BOLD;
+    field public static final int ITALIC = 2; // 0x2
+    field public static final android.graphics.Typeface MONOSPACE;
+    field public static final int NORMAL = 0; // 0x0
+    field public static final android.graphics.Typeface SANS_SERIF;
+    field public static final android.graphics.Typeface SERIF;
+  }
+
+  public static final class Typeface.Builder {
+    ctor public Typeface.Builder(@NonNull java.io.File);
+    ctor public Typeface.Builder(@NonNull java.io.FileDescriptor);
+    ctor public Typeface.Builder(@NonNull String);
+    ctor public Typeface.Builder(@NonNull android.content.res.AssetManager, @NonNull String);
+    method public android.graphics.Typeface build();
+    method public android.graphics.Typeface.Builder setFallback(@Nullable String);
+    method public android.graphics.Typeface.Builder setFontVariationSettings(@Nullable String);
+    method public android.graphics.Typeface.Builder setFontVariationSettings(@Nullable android.graphics.fonts.FontVariationAxis[]);
+    method public android.graphics.Typeface.Builder setItalic(boolean);
+    method public android.graphics.Typeface.Builder setTtcIndex(@IntRange(from=0) int);
+    method public android.graphics.Typeface.Builder setWeight(@IntRange(from=1, to=1000) int);
+  }
+
+  public static final class Typeface.CustomFallbackBuilder {
+    ctor public Typeface.CustomFallbackBuilder(@NonNull android.graphics.fonts.FontFamily);
+    method @NonNull public android.graphics.Typeface.CustomFallbackBuilder addCustomFallback(@NonNull android.graphics.fonts.FontFamily);
+    method @NonNull public android.graphics.Typeface build();
+    method @IntRange(from=64) public static int getMaxCustomFallbackCount();
+    method @NonNull public android.graphics.Typeface.CustomFallbackBuilder setStyle(@NonNull android.graphics.fonts.FontStyle);
+    method @NonNull public android.graphics.Typeface.CustomFallbackBuilder setSystemFallback(@NonNull String);
+  }
+
+  public class Xfermode {
+    ctor public Xfermode();
+  }
+
+  public class YuvImage {
+    ctor public YuvImage(byte[], int, int, int, int[]);
+    method public boolean compressToJpeg(android.graphics.Rect, int, java.io.OutputStream);
+    method public int getHeight();
+    method public int[] getStrides();
+    method public int getWidth();
+    method public byte[] getYuvData();
+    method public int getYuvFormat();
+  }
+
+}
+
+package android.graphics.drawable {
+
+  public class AdaptiveIconDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public AdaptiveIconDrawable(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable);
+    method public void draw(android.graphics.Canvas);
+    method public android.graphics.drawable.Drawable getBackground();
+    method public static float getExtraInsetFraction();
+    method public android.graphics.drawable.Drawable getForeground();
+    method public android.graphics.Path getIconMask();
+    method public int getOpacity();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setOpacity(int);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+  }
+
+  public interface Animatable {
+    method public boolean isRunning();
+    method public void start();
+    method public void stop();
+  }
+
+  public interface Animatable2 extends android.graphics.drawable.Animatable {
+    method public void clearAnimationCallbacks();
+    method public void registerAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+    method public boolean unregisterAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+  }
+
+  public abstract static class Animatable2.AnimationCallback {
+    ctor public Animatable2.AnimationCallback();
+    method public void onAnimationEnd(android.graphics.drawable.Drawable);
+    method public void onAnimationStart(android.graphics.drawable.Drawable);
+  }
+
+  public class AnimatedImageDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
+    ctor public AnimatedImageDrawable();
+    method public void clearAnimationCallbacks();
+    method public void draw(@NonNull android.graphics.Canvas);
+    method public int getOpacity();
+    method public int getRepeatCount();
+    method public final boolean isAutoMirrored();
+    method public boolean isRunning();
+    method public void registerAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+    method public void setAlpha(@IntRange(from=0, to=255) int);
+    method public void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method public void setRepeatCount(@IntRange(from=android.graphics.drawable.AnimatedImageDrawable.REPEAT_INFINITE) int);
+    method public void start();
+    method public void stop();
+    method public boolean unregisterAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+    field public static final int REPEAT_INFINITE = -1; // 0xffffffff
+  }
+
+  public class AnimatedStateListDrawable extends android.graphics.drawable.StateListDrawable {
+    ctor public AnimatedStateListDrawable();
+    method public void addState(@NonNull int[], @NonNull android.graphics.drawable.Drawable, int);
+    method public <T extends android.graphics.drawable.Drawable & android.graphics.drawable.Animatable> void addTransition(int, int, @NonNull T, boolean);
+  }
+
+  public class AnimatedVectorDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
+    ctor public AnimatedVectorDrawable();
+    method public void clearAnimationCallbacks();
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method public boolean isRunning();
+    method public void registerAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+    method public void reset();
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void start();
+    method public void stop();
+    method public boolean unregisterAnimationCallback(@NonNull android.graphics.drawable.Animatable2.AnimationCallback);
+  }
+
+  public class AnimationDrawable extends android.graphics.drawable.DrawableContainer implements android.graphics.drawable.Animatable java.lang.Runnable {
+    ctor public AnimationDrawable();
+    method public void addFrame(@NonNull android.graphics.drawable.Drawable, int);
+    method public int getDuration(int);
+    method public android.graphics.drawable.Drawable getFrame(int);
+    method public int getNumberOfFrames();
+    method public boolean isOneShot();
+    method public boolean isRunning();
+    method public void run();
+    method public void setOneShot(boolean);
+    method public void start();
+    method public void stop();
+  }
+
+  public class BitmapDrawable extends android.graphics.drawable.Drawable {
+    ctor @Deprecated public BitmapDrawable();
+    ctor @Deprecated public BitmapDrawable(android.content.res.Resources);
+    ctor @Deprecated public BitmapDrawable(android.graphics.Bitmap);
+    ctor public BitmapDrawable(android.content.res.Resources, android.graphics.Bitmap);
+    ctor @Deprecated public BitmapDrawable(String);
+    ctor public BitmapDrawable(android.content.res.Resources, String);
+    ctor @Deprecated public BitmapDrawable(java.io.InputStream);
+    ctor public BitmapDrawable(android.content.res.Resources, java.io.InputStream);
+    method public void draw(android.graphics.Canvas);
+    method public final android.graphics.Bitmap getBitmap();
+    method public final android.graphics.drawable.Drawable.ConstantState getConstantState();
+    method public int getGravity();
+    method public int getOpacity();
+    method public final android.graphics.Paint getPaint();
+    method public android.graphics.Shader.TileMode getTileModeX();
+    method public android.graphics.Shader.TileMode getTileModeY();
+    method public boolean hasAntiAlias();
+    method public boolean hasMipMap();
+    method public final boolean isAutoMirrored();
+    method public void setAlpha(int);
+    method public void setAntiAlias(boolean);
+    method public void setBitmap(@Nullable android.graphics.Bitmap);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setGravity(int);
+    method public void setMipMap(boolean);
+    method public void setTargetDensity(android.graphics.Canvas);
+    method public void setTargetDensity(android.util.DisplayMetrics);
+    method public void setTargetDensity(int);
+    method public void setTileModeX(android.graphics.Shader.TileMode);
+    method public void setTileModeXY(android.graphics.Shader.TileMode, android.graphics.Shader.TileMode);
+    method public final void setTileModeY(android.graphics.Shader.TileMode);
+  }
+
+  public class ClipDrawable extends android.graphics.drawable.DrawableWrapper {
+    ctor public ClipDrawable(android.graphics.drawable.Drawable, int, int);
+    field public static final int HORIZONTAL = 1; // 0x1
+    field public static final int VERTICAL = 2; // 0x2
+  }
+
+  public class ColorDrawable extends android.graphics.drawable.Drawable {
+    ctor public ColorDrawable();
+    ctor public ColorDrawable(@ColorInt int);
+    method public void draw(android.graphics.Canvas);
+    method @ColorInt public int getColor();
+    method public int getOpacity();
+    method public void setAlpha(int);
+    method public void setColor(@ColorInt int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+  }
+
+  public class ColorStateListDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public ColorStateListDrawable();
+    ctor public ColorStateListDrawable(@NonNull android.content.res.ColorStateList);
+    method public void clearAlpha();
+    method public void draw(@NonNull android.graphics.Canvas);
+    method @NonNull public android.content.res.ColorStateList getColorStateList();
+    method public int getOpacity();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void setAlpha(@IntRange(from=0, to=255) int);
+    method public void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method public void setColorStateList(@NonNull android.content.res.ColorStateList);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+  }
+
+  public abstract class Drawable {
+    ctor public Drawable();
+    method public void applyTheme(@NonNull android.content.res.Resources.Theme);
+    method public boolean canApplyTheme();
+    method public void clearColorFilter();
+    method public final void copyBounds(@NonNull android.graphics.Rect);
+    method @NonNull public final android.graphics.Rect copyBounds();
+    method @Nullable public static android.graphics.drawable.Drawable createFromPath(String);
+    method public static android.graphics.drawable.Drawable createFromResourceStream(android.content.res.Resources, android.util.TypedValue, java.io.InputStream, String);
+    method @Deprecated @Nullable public static android.graphics.drawable.Drawable createFromResourceStream(@Nullable android.content.res.Resources, @Nullable android.util.TypedValue, @Nullable java.io.InputStream, @Nullable String, @Nullable android.graphics.BitmapFactory.Options);
+    method public static android.graphics.drawable.Drawable createFromStream(java.io.InputStream, String);
+    method @NonNull public static android.graphics.drawable.Drawable createFromXml(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @NonNull public static android.graphics.drawable.Drawable createFromXml(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @Nullable android.content.res.Resources.Theme) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @NonNull public static android.graphics.drawable.Drawable createFromXmlInner(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @NonNull android.util.AttributeSet) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @NonNull public static android.graphics.drawable.Drawable createFromXmlInner(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @NonNull android.util.AttributeSet, @Nullable android.content.res.Resources.Theme) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public abstract void draw(@NonNull android.graphics.Canvas);
+    method @IntRange(from=0, to=255) public int getAlpha();
+    method @NonNull public final android.graphics.Rect getBounds();
+    method @Nullable public android.graphics.drawable.Drawable.Callback getCallback();
+    method public int getChangingConfigurations();
+    method @Nullable public android.graphics.ColorFilter getColorFilter();
+    method @Nullable public android.graphics.drawable.Drawable.ConstantState getConstantState();
+    method @NonNull public android.graphics.drawable.Drawable getCurrent();
+    method @NonNull public android.graphics.Rect getDirtyBounds();
+    method public void getHotspotBounds(@NonNull android.graphics.Rect);
+    method public int getIntrinsicHeight();
+    method public int getIntrinsicWidth();
+    method public int getLayoutDirection();
+    method @IntRange(from=0, to=10000) public final int getLevel();
+    method public int getMinimumHeight();
+    method public int getMinimumWidth();
+    method @Deprecated public abstract int getOpacity();
+    method @NonNull public android.graphics.Insets getOpticalInsets();
+    method public void getOutline(@NonNull android.graphics.Outline);
+    method public boolean getPadding(@NonNull android.graphics.Rect);
+    method @NonNull public int[] getState();
+    method @Nullable public android.graphics.Region getTransparentRegion();
+    method public boolean hasFocusStateSpecified();
+    method public void inflate(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @NonNull android.util.AttributeSet) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void inflate(@NonNull android.content.res.Resources, @NonNull org.xmlpull.v1.XmlPullParser, @NonNull android.util.AttributeSet, @Nullable android.content.res.Resources.Theme) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void invalidateSelf();
+    method public boolean isAutoMirrored();
+    method public boolean isFilterBitmap();
+    method public boolean isProjected();
+    method public boolean isStateful();
+    method public final boolean isVisible();
+    method public void jumpToCurrentState();
+    method @NonNull public android.graphics.drawable.Drawable mutate();
+    method protected void onBoundsChange(android.graphics.Rect);
+    method public boolean onLayoutDirectionChanged(int);
+    method protected boolean onLevelChange(int);
+    method protected boolean onStateChange(int[]);
+    method public static int resolveOpacity(int, int);
+    method public void scheduleSelf(@NonNull Runnable, long);
+    method public abstract void setAlpha(@IntRange(from=0, to=255) int);
+    method public void setAutoMirrored(boolean);
+    method public void setBounds(int, int, int, int);
+    method public void setBounds(@NonNull android.graphics.Rect);
+    method public final void setCallback(@Nullable android.graphics.drawable.Drawable.Callback);
+    method public void setChangingConfigurations(int);
+    method public abstract void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method @Deprecated public void setColorFilter(@ColorInt int, @NonNull android.graphics.PorterDuff.Mode);
+    method @Deprecated public void setDither(boolean);
+    method public void setFilterBitmap(boolean);
+    method public void setHotspot(float, float);
+    method public void setHotspotBounds(int, int, int, int);
+    method public final boolean setLayoutDirection(int);
+    method public final boolean setLevel(@IntRange(from=0, to=10000) int);
+    method public boolean setState(@NonNull int[]);
+    method public void setTint(@ColorInt int);
+    method public void setTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setTintList(@Nullable android.content.res.ColorStateList);
+    method public void setTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public boolean setVisible(boolean, boolean);
+    method public void unscheduleSelf(@NonNull Runnable);
+  }
+
+  public static interface Drawable.Callback {
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+  }
+
+  public abstract static class Drawable.ConstantState {
+    ctor public Drawable.ConstantState();
+    method public boolean canApplyTheme();
+    method public abstract int getChangingConfigurations();
+    method @NonNull public abstract android.graphics.drawable.Drawable newDrawable();
+    method @NonNull public android.graphics.drawable.Drawable newDrawable(@Nullable android.content.res.Resources);
+    method @NonNull public android.graphics.drawable.Drawable newDrawable(@Nullable android.content.res.Resources, @Nullable android.content.res.Resources.Theme);
+  }
+
+  public class DrawableContainer extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public DrawableContainer();
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public boolean selectDrawable(int);
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method protected void setConstantState(android.graphics.drawable.DrawableContainer.DrawableContainerState);
+    method public void setDither(boolean);
+    method public void setEnterFadeDuration(int);
+    method public void setExitFadeDuration(int);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+  }
+
+  public abstract static class DrawableContainer.DrawableContainerState extends android.graphics.drawable.Drawable.ConstantState {
+    method public final int addChild(android.graphics.drawable.Drawable);
+    method public boolean canConstantState();
+    method protected void computeConstantSize();
+    method public int getChangingConfigurations();
+    method public final android.graphics.drawable.Drawable getChild(int);
+    method public final int getChildCount();
+    method public final android.graphics.drawable.Drawable[] getChildren();
+    method public final int getConstantHeight();
+    method public final int getConstantMinimumHeight();
+    method public final int getConstantMinimumWidth();
+    method public final android.graphics.Rect getConstantPadding();
+    method public final int getConstantWidth();
+    method public final int getEnterFadeDuration();
+    method public final int getExitFadeDuration();
+    method public final int getOpacity();
+    method public void growArray(int, int);
+    method public final boolean isConstantSize();
+    method public final boolean isStateful();
+    method public final void setConstantSize(boolean);
+    method public final void setEnterFadeDuration(int);
+    method public final void setExitFadeDuration(int);
+    method public final void setVariablePadding(boolean);
+  }
+
+  public abstract class DrawableWrapper extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public DrawableWrapper(@Nullable android.graphics.drawable.Drawable);
+    method public void draw(@NonNull android.graphics.Canvas);
+    method @Nullable public android.graphics.drawable.Drawable getDrawable();
+    method public int getOpacity();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void setAlpha(int);
+    method public void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method public void setDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+  }
+
+  public class GradientDrawable extends android.graphics.drawable.Drawable {
+    ctor public GradientDrawable();
+    ctor public GradientDrawable(android.graphics.drawable.GradientDrawable.Orientation, @ColorInt int[]);
+    method public void draw(android.graphics.Canvas);
+    method @Nullable public android.content.res.ColorStateList getColor();
+    method @Nullable public int[] getColors();
+    method @Nullable public float[] getCornerRadii();
+    method public float getCornerRadius();
+    method public float getGradientCenterX();
+    method public float getGradientCenterY();
+    method public float getGradientRadius();
+    method public int getGradientType();
+    method @Px public int getInnerRadius();
+    method public float getInnerRadiusRatio();
+    method public int getOpacity();
+    method public android.graphics.drawable.GradientDrawable.Orientation getOrientation();
+    method public int getShape();
+    method @Px public int getThickness();
+    method public float getThicknessRatio();
+    method public boolean getUseLevel();
+    method public void setAlpha(int);
+    method public void setColor(@ColorInt int);
+    method public void setColor(@Nullable android.content.res.ColorStateList);
+    method public void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method public void setColors(@ColorInt @Nullable int[]);
+    method public void setColors(@ColorInt @Nullable int[], @Nullable float[]);
+    method public void setCornerRadii(@Nullable float[]);
+    method public void setCornerRadius(float);
+    method public void setDither(boolean);
+    method public void setGradientCenter(float, float);
+    method public void setGradientRadius(float);
+    method public void setGradientType(int);
+    method public void setInnerRadius(@Px int);
+    method public void setInnerRadiusRatio(@FloatRange(from=0.0f, fromInclusive=false) float);
+    method public void setOrientation(android.graphics.drawable.GradientDrawable.Orientation);
+    method public void setPadding(@Px int, @Px int, @Px int, @Px int);
+    method public void setShape(int);
+    method public void setSize(int, int);
+    method public void setStroke(int, @ColorInt int);
+    method public void setStroke(int, android.content.res.ColorStateList);
+    method public void setStroke(int, @ColorInt int, float, float);
+    method public void setStroke(int, android.content.res.ColorStateList, float, float);
+    method public void setThickness(@Px int);
+    method public void setThicknessRatio(@FloatRange(from=0.0f, fromInclusive=false) float);
+    method public void setUseLevel(boolean);
+    field public static final int LINE = 2; // 0x2
+    field public static final int LINEAR_GRADIENT = 0; // 0x0
+    field public static final int OVAL = 1; // 0x1
+    field public static final int RADIAL_GRADIENT = 1; // 0x1
+    field public static final int RECTANGLE = 0; // 0x0
+    field public static final int RING = 3; // 0x3
+    field public static final int SWEEP_GRADIENT = 2; // 0x2
+  }
+
+  public enum GradientDrawable.Orientation {
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation BL_TR;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation BOTTOM_TOP;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation BR_TL;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation LEFT_RIGHT;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation RIGHT_LEFT;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation TL_BR;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation TOP_BOTTOM;
+    enum_constant public static final android.graphics.drawable.GradientDrawable.Orientation TR_BL;
+  }
+
+  public final class Icon implements android.os.Parcelable {
+    method public static android.graphics.drawable.Icon createWithAdaptiveBitmap(android.graphics.Bitmap);
+    method @NonNull public static android.graphics.drawable.Icon createWithAdaptiveBitmapContentUri(@NonNull String);
+    method @NonNull public static android.graphics.drawable.Icon createWithAdaptiveBitmapContentUri(@NonNull android.net.Uri);
+    method public static android.graphics.drawable.Icon createWithBitmap(android.graphics.Bitmap);
+    method public static android.graphics.drawable.Icon createWithContentUri(String);
+    method public static android.graphics.drawable.Icon createWithContentUri(android.net.Uri);
+    method public static android.graphics.drawable.Icon createWithData(byte[], int, int);
+    method public static android.graphics.drawable.Icon createWithFilePath(String);
+    method public static android.graphics.drawable.Icon createWithResource(android.content.Context, @DrawableRes int);
+    method public static android.graphics.drawable.Icon createWithResource(String, @DrawableRes int);
+    method public int describeContents();
+    method @DrawableRes public int getResId();
+    method @NonNull public String getResPackage();
+    method public int getType();
+    method @NonNull public android.net.Uri getUri();
+    method public android.graphics.drawable.Drawable loadDrawable(android.content.Context);
+    method public void loadDrawableAsync(android.content.Context, android.os.Message);
+    method public void loadDrawableAsync(android.content.Context, android.graphics.drawable.Icon.OnDrawableLoadedListener, android.os.Handler);
+    method public android.graphics.drawable.Icon setTint(@ColorInt int);
+    method @NonNull public android.graphics.drawable.Icon setTintBlendMode(@NonNull android.graphics.BlendMode);
+    method public android.graphics.drawable.Icon setTintList(android.content.res.ColorStateList);
+    method @NonNull public android.graphics.drawable.Icon setTintMode(@NonNull android.graphics.PorterDuff.Mode);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.drawable.Icon> CREATOR;
+    field public static final int TYPE_ADAPTIVE_BITMAP = 5; // 0x5
+    field public static final int TYPE_BITMAP = 1; // 0x1
+    field public static final int TYPE_DATA = 3; // 0x3
+    field public static final int TYPE_RESOURCE = 2; // 0x2
+    field public static final int TYPE_URI = 4; // 0x4
+    field public static final int TYPE_URI_ADAPTIVE_BITMAP = 6; // 0x6
+  }
+
+  public static interface Icon.OnDrawableLoadedListener {
+    method public void onDrawableLoaded(android.graphics.drawable.Drawable);
+  }
+
+  public class InsetDrawable extends android.graphics.drawable.DrawableWrapper {
+    ctor public InsetDrawable(@Nullable android.graphics.drawable.Drawable, int);
+    ctor public InsetDrawable(@Nullable android.graphics.drawable.Drawable, float);
+    ctor public InsetDrawable(@Nullable android.graphics.drawable.Drawable, int, int, int, int);
+    ctor public InsetDrawable(@Nullable android.graphics.drawable.Drawable, float, float, float, float);
+  }
+
+  public class LayerDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public LayerDrawable(@NonNull android.graphics.drawable.Drawable[]);
+    method public int addLayer(android.graphics.drawable.Drawable);
+    method public void draw(android.graphics.Canvas);
+    method public android.graphics.drawable.Drawable findDrawableByLayerId(int);
+    method public int findIndexByLayerId(int);
+    method public int getBottomPadding();
+    method public android.graphics.drawable.Drawable getDrawable(int);
+    method public int getEndPadding();
+    method public int getId(int);
+    method public int getLayerGravity(int);
+    method public int getLayerHeight(int);
+    method public int getLayerInsetBottom(int);
+    method public int getLayerInsetEnd(int);
+    method public int getLayerInsetLeft(int);
+    method public int getLayerInsetRight(int);
+    method public int getLayerInsetStart(int);
+    method public int getLayerInsetTop(int);
+    method public int getLayerWidth(int);
+    method public int getLeftPadding();
+    method public int getNumberOfLayers();
+    method public int getOpacity();
+    method public int getPaddingMode();
+    method public int getRightPadding();
+    method public int getStartPadding();
+    method public int getTopPadding();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setDrawable(int, android.graphics.drawable.Drawable);
+    method public boolean setDrawableByLayerId(int, android.graphics.drawable.Drawable);
+    method public void setId(int, int);
+    method public void setLayerGravity(int, int);
+    method public void setLayerHeight(int, int);
+    method public void setLayerInset(int, int, int, int, int);
+    method public void setLayerInsetBottom(int, int);
+    method public void setLayerInsetEnd(int, int);
+    method public void setLayerInsetLeft(int, int);
+    method public void setLayerInsetRelative(int, int, int, int, int);
+    method public void setLayerInsetRight(int, int);
+    method public void setLayerInsetStart(int, int);
+    method public void setLayerInsetTop(int, int);
+    method public void setLayerSize(int, int, int);
+    method public void setLayerWidth(int, int);
+    method public void setOpacity(int);
+    method public void setPadding(int, int, int, int);
+    method public void setPaddingMode(int);
+    method public void setPaddingRelative(int, int, int, int);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+    field public static final int INSET_UNDEFINED = -2147483648; // 0x80000000
+    field public static final int PADDING_MODE_NEST = 0; // 0x0
+    field public static final int PADDING_MODE_STACK = 1; // 0x1
+  }
+
+  public class LevelListDrawable extends android.graphics.drawable.DrawableContainer {
+    ctor public LevelListDrawable();
+    method public void addLevel(int, int, android.graphics.drawable.Drawable);
+  }
+
+  public class NinePatchDrawable extends android.graphics.drawable.Drawable {
+    ctor @Deprecated public NinePatchDrawable(android.graphics.Bitmap, byte[], android.graphics.Rect, String);
+    ctor public NinePatchDrawable(android.content.res.Resources, android.graphics.Bitmap, byte[], android.graphics.Rect, String);
+    ctor @Deprecated public NinePatchDrawable(@NonNull android.graphics.NinePatch);
+    ctor public NinePatchDrawable(@Nullable android.content.res.Resources, @NonNull android.graphics.NinePatch);
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method @NonNull public android.graphics.Paint getPaint();
+    method public void setAlpha(int);
+    method public void setColorFilter(@Nullable android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setTargetDensity(@NonNull android.graphics.Canvas);
+    method public void setTargetDensity(@NonNull android.util.DisplayMetrics);
+    method public void setTargetDensity(int);
+  }
+
+  public class PaintDrawable extends android.graphics.drawable.ShapeDrawable {
+    ctor public PaintDrawable();
+    ctor public PaintDrawable(int);
+    method public void setCornerRadii(float[]);
+    method public void setCornerRadius(float);
+  }
+
+  public class PictureDrawable extends android.graphics.drawable.Drawable {
+    ctor public PictureDrawable(android.graphics.Picture);
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method public android.graphics.Picture getPicture();
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setPicture(android.graphics.Picture);
+  }
+
+  public class RippleDrawable extends android.graphics.drawable.LayerDrawable {
+    ctor public RippleDrawable(@NonNull android.content.res.ColorStateList, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable);
+    method @NonNull public android.content.res.ColorStateList getEffectColor();
+    method public int getRadius();
+    method public void setColor(@NonNull android.content.res.ColorStateList);
+    method public void setEffectColor(@NonNull android.content.res.ColorStateList);
+    method public void setRadius(int);
+    field public static final int RADIUS_AUTO = -1; // 0xffffffff
+  }
+
+  public class RotateDrawable extends android.graphics.drawable.DrawableWrapper {
+    ctor public RotateDrawable();
+    method public float getFromDegrees();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getToDegrees();
+    method public boolean isPivotXRelative();
+    method public boolean isPivotYRelative();
+    method public void setFromDegrees(float);
+    method public void setPivotX(float);
+    method public void setPivotXRelative(boolean);
+    method public void setPivotY(float);
+    method public void setPivotYRelative(boolean);
+    method public void setToDegrees(float);
+  }
+
+  public class ScaleDrawable extends android.graphics.drawable.DrawableWrapper {
+    ctor public ScaleDrawable(android.graphics.drawable.Drawable, int, float, float);
+  }
+
+  public class ShapeDrawable extends android.graphics.drawable.Drawable {
+    ctor public ShapeDrawable();
+    ctor public ShapeDrawable(android.graphics.drawable.shapes.Shape);
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method public android.graphics.Paint getPaint();
+    method public android.graphics.drawable.ShapeDrawable.ShaderFactory getShaderFactory();
+    method public android.graphics.drawable.shapes.Shape getShape();
+    method protected boolean inflateTag(String, android.content.res.Resources, org.xmlpull.v1.XmlPullParser, android.util.AttributeSet);
+    method protected void onDraw(android.graphics.drawable.shapes.Shape, android.graphics.Canvas, android.graphics.Paint);
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setDither(boolean);
+    method public void setIntrinsicHeight(int);
+    method public void setIntrinsicWidth(int);
+    method public void setPadding(int, int, int, int);
+    method public void setPadding(android.graphics.Rect);
+    method public void setShaderFactory(android.graphics.drawable.ShapeDrawable.ShaderFactory);
+    method public void setShape(android.graphics.drawable.shapes.Shape);
+  }
+
+  public abstract static class ShapeDrawable.ShaderFactory {
+    ctor public ShapeDrawable.ShaderFactory();
+    method public abstract android.graphics.Shader resize(int, int);
+  }
+
+  public class StateListDrawable extends android.graphics.drawable.DrawableContainer {
+    ctor public StateListDrawable();
+    method public void addState(int[], android.graphics.drawable.Drawable);
+    method public int findStateDrawableIndex(@NonNull int[]);
+    method public int getStateCount();
+    method @Nullable public android.graphics.drawable.Drawable getStateDrawable(int);
+    method @NonNull public int[] getStateSet(int);
+  }
+
+  public class TransitionDrawable extends android.graphics.drawable.LayerDrawable implements android.graphics.drawable.Drawable.Callback {
+    ctor public TransitionDrawable(android.graphics.drawable.Drawable[]);
+    method public boolean isCrossFadeEnabled();
+    method public void resetTransition();
+    method public void reverseTransition(int);
+    method public void setCrossFadeEnabled(boolean);
+    method public void startTransition(int);
+  }
+
+  public class VectorDrawable extends android.graphics.drawable.Drawable {
+    ctor public VectorDrawable();
+    method public void draw(android.graphics.Canvas);
+    method public int getOpacity();
+    method public void setAlpha(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+  }
+
+}
+
+package android.graphics.drawable.shapes {
+
+  public class ArcShape extends android.graphics.drawable.shapes.RectShape {
+    ctor public ArcShape(float, float);
+    method public android.graphics.drawable.shapes.ArcShape clone() throws java.lang.CloneNotSupportedException;
+    method public final float getStartAngle();
+    method public final float getSweepAngle();
+  }
+
+  public class OvalShape extends android.graphics.drawable.shapes.RectShape {
+    ctor public OvalShape();
+    method public android.graphics.drawable.shapes.OvalShape clone() throws java.lang.CloneNotSupportedException;
+  }
+
+  public class PathShape extends android.graphics.drawable.shapes.Shape {
+    ctor public PathShape(@NonNull android.graphics.Path, float, float);
+    method public android.graphics.drawable.shapes.PathShape clone() throws java.lang.CloneNotSupportedException;
+    method public void draw(android.graphics.Canvas, android.graphics.Paint);
+  }
+
+  public class RectShape extends android.graphics.drawable.shapes.Shape {
+    ctor public RectShape();
+    method public android.graphics.drawable.shapes.RectShape clone() throws java.lang.CloneNotSupportedException;
+    method public void draw(android.graphics.Canvas, android.graphics.Paint);
+    method protected final android.graphics.RectF rect();
+  }
+
+  public class RoundRectShape extends android.graphics.drawable.shapes.RectShape {
+    ctor public RoundRectShape(@Nullable float[], @Nullable android.graphics.RectF, @Nullable float[]);
+    method public android.graphics.drawable.shapes.RoundRectShape clone() throws java.lang.CloneNotSupportedException;
+  }
+
+  public abstract class Shape implements java.lang.Cloneable {
+    ctor public Shape();
+    method public android.graphics.drawable.shapes.Shape clone() throws java.lang.CloneNotSupportedException;
+    method public abstract void draw(android.graphics.Canvas, android.graphics.Paint);
+    method public final float getHeight();
+    method public void getOutline(@NonNull android.graphics.Outline);
+    method public final float getWidth();
+    method public boolean hasAlpha();
+    method protected void onResize(float, float);
+    method public final void resize(float, float);
+  }
+
+}
+
+package android.graphics.fonts {
+
+  public final class Font {
+    method @Nullable public android.graphics.fonts.FontVariationAxis[] getAxes();
+    method @NonNull public java.nio.ByteBuffer getBuffer();
+    method @Nullable public java.io.File getFile();
+    method public float getGlyphBounds(@IntRange(from=0) int, @NonNull android.graphics.Paint, @Nullable android.graphics.RectF);
+    method @NonNull public android.os.LocaleList getLocaleList();
+    method public void getMetrics(@NonNull android.graphics.Paint, @Nullable android.graphics.Paint.FontMetrics);
+    method public int getSourceIdentifier();
+    method @NonNull public android.graphics.fonts.FontStyle getStyle();
+    method @IntRange(from=0) public int getTtcIndex();
+  }
+
+  public static final class Font.Builder {
+    ctor public Font.Builder(@NonNull java.nio.ByteBuffer);
+    ctor public Font.Builder(@NonNull java.io.File);
+    ctor public Font.Builder(@NonNull android.os.ParcelFileDescriptor);
+    ctor public Font.Builder(@NonNull android.os.ParcelFileDescriptor, @IntRange(from=0) long, @IntRange(from=0xffffffff) long);
+    ctor public Font.Builder(@NonNull android.content.res.AssetManager, @NonNull String);
+    ctor public Font.Builder(@NonNull android.content.res.Resources, int);
+    ctor public Font.Builder(@NonNull android.graphics.fonts.Font);
+    method @NonNull public android.graphics.fonts.Font build() throws java.io.IOException;
+    method @NonNull public android.graphics.fonts.Font.Builder setFontVariationSettings(@Nullable String);
+    method @NonNull public android.graphics.fonts.Font.Builder setFontVariationSettings(@Nullable android.graphics.fonts.FontVariationAxis[]);
+    method @NonNull public android.graphics.fonts.Font.Builder setSlant(int);
+    method @NonNull public android.graphics.fonts.Font.Builder setTtcIndex(@IntRange(from=0) int);
+    method @NonNull public android.graphics.fonts.Font.Builder setWeight(@IntRange(from=android.graphics.fonts.FontStyle.FONT_WEIGHT_MIN, to=android.graphics.fonts.FontStyle.FONT_WEIGHT_MAX) int);
+  }
+
+  public final class FontFamily {
+    method @NonNull public android.graphics.fonts.Font getFont(@IntRange(from=0) int);
+    method @IntRange(from=1) public int getSize();
+  }
+
+  public static final class FontFamily.Builder {
+    ctor public FontFamily.Builder(@NonNull android.graphics.fonts.Font);
+    method @NonNull public android.graphics.fonts.FontFamily.Builder addFont(@NonNull android.graphics.fonts.Font);
+    method @NonNull public android.graphics.fonts.FontFamily build();
+  }
+
+  public final class FontStyle {
+    ctor public FontStyle();
+    ctor public FontStyle(int, int);
+    method public int getSlant();
+    method @IntRange(from=0, to=1000) public int getWeight();
+    field public static final int FONT_SLANT_ITALIC = 1; // 0x1
+    field public static final int FONT_SLANT_UPRIGHT = 0; // 0x0
+    field public static final int FONT_WEIGHT_BLACK = 900; // 0x384
+    field public static final int FONT_WEIGHT_BOLD = 700; // 0x2bc
+    field public static final int FONT_WEIGHT_EXTRA_BOLD = 800; // 0x320
+    field public static final int FONT_WEIGHT_EXTRA_LIGHT = 200; // 0xc8
+    field public static final int FONT_WEIGHT_LIGHT = 300; // 0x12c
+    field public static final int FONT_WEIGHT_MAX = 1000; // 0x3e8
+    field public static final int FONT_WEIGHT_MEDIUM = 500; // 0x1f4
+    field public static final int FONT_WEIGHT_MIN = 1; // 0x1
+    field public static final int FONT_WEIGHT_NORMAL = 400; // 0x190
+    field public static final int FONT_WEIGHT_SEMI_BOLD = 600; // 0x258
+    field public static final int FONT_WEIGHT_THIN = 100; // 0x64
+  }
+
+  public final class FontVariationAxis {
+    ctor public FontVariationAxis(@NonNull String, float);
+    method @Nullable public static android.graphics.fonts.FontVariationAxis[] fromFontVariationSettings(@Nullable String);
+    method public float getStyleValue();
+    method public String getTag();
+    method @NonNull public static String toFontVariationSettings(@Nullable android.graphics.fonts.FontVariationAxis[]);
+  }
+
+  public final class SystemFonts {
+    method @NonNull public static java.util.Set<android.graphics.fonts.Font> getAvailableFonts();
+  }
+
+}
+
+package android.graphics.pdf {
+
+  public class PdfDocument {
+    ctor public PdfDocument();
+    method public void close();
+    method public void finishPage(android.graphics.pdf.PdfDocument.Page);
+    method public java.util.List<android.graphics.pdf.PdfDocument.PageInfo> getPages();
+    method public android.graphics.pdf.PdfDocument.Page startPage(android.graphics.pdf.PdfDocument.PageInfo);
+    method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+  }
+
+  public static final class PdfDocument.Page {
+    method public android.graphics.Canvas getCanvas();
+    method public android.graphics.pdf.PdfDocument.PageInfo getInfo();
+  }
+
+  public static final class PdfDocument.PageInfo {
+    method public android.graphics.Rect getContentRect();
+    method public int getPageHeight();
+    method public int getPageNumber();
+    method public int getPageWidth();
+  }
+
+  public static final class PdfDocument.PageInfo.Builder {
+    ctor public PdfDocument.PageInfo.Builder(int, int, int);
+    method public android.graphics.pdf.PdfDocument.PageInfo create();
+    method public android.graphics.pdf.PdfDocument.PageInfo.Builder setContentRect(android.graphics.Rect);
+  }
+
+  public final class PdfRenderer implements java.lang.AutoCloseable {
+    ctor public PdfRenderer(@NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method public void close();
+    method public int getPageCount();
+    method public android.graphics.pdf.PdfRenderer.Page openPage(int);
+    method public boolean shouldScaleForPrinting();
+  }
+
+  public final class PdfRenderer.Page implements java.lang.AutoCloseable {
+    method public void close();
+    method public int getHeight();
+    method public int getIndex();
+    method public int getWidth();
+    method public void render(@NonNull android.graphics.Bitmap, @Nullable android.graphics.Rect, @Nullable android.graphics.Matrix, int);
+    field public static final int RENDER_MODE_FOR_DISPLAY = 1; // 0x1
+    field public static final int RENDER_MODE_FOR_PRINT = 2; // 0x2
+  }
+
+}
+
+package android.graphics.text {
+
+  public class LineBreaker {
+    method @NonNull public android.graphics.text.LineBreaker.Result computeLineBreaks(@NonNull android.graphics.text.MeasuredText, @NonNull android.graphics.text.LineBreaker.ParagraphConstraints, @IntRange(from=0) int);
+    field public static final int BREAK_STRATEGY_BALANCED = 2; // 0x2
+    field public static final int BREAK_STRATEGY_HIGH_QUALITY = 1; // 0x1
+    field public static final int BREAK_STRATEGY_SIMPLE = 0; // 0x0
+    field public static final int HYPHENATION_FREQUENCY_FULL = 2; // 0x2
+    field public static final int HYPHENATION_FREQUENCY_NONE = 0; // 0x0
+    field public static final int HYPHENATION_FREQUENCY_NORMAL = 1; // 0x1
+    field public static final int JUSTIFICATION_MODE_INTER_WORD = 1; // 0x1
+    field public static final int JUSTIFICATION_MODE_NONE = 0; // 0x0
+  }
+
+  public static final class LineBreaker.Builder {
+    ctor public LineBreaker.Builder();
+    method @NonNull public android.graphics.text.LineBreaker build();
+    method @NonNull public android.graphics.text.LineBreaker.Builder setBreakStrategy(int);
+    method @NonNull public android.graphics.text.LineBreaker.Builder setHyphenationFrequency(int);
+    method @NonNull public android.graphics.text.LineBreaker.Builder setIndents(@Nullable int[]);
+    method @NonNull public android.graphics.text.LineBreaker.Builder setJustificationMode(int);
+  }
+
+  public static class LineBreaker.ParagraphConstraints {
+    ctor public LineBreaker.ParagraphConstraints();
+    method @FloatRange(from=0) @Px public float getDefaultTabStop();
+    method @FloatRange(from=0.0f) @Px public float getFirstWidth();
+    method @IntRange(from=0) @Px public int getFirstWidthLineCount();
+    method @Nullable public float[] getTabStops();
+    method @FloatRange(from=0.0f) @Px public float getWidth();
+    method public void setIndent(@FloatRange(from=0.0f) @Px float, @IntRange(from=0) @Px int);
+    method public void setTabStops(@Nullable float[], @FloatRange(from=0) @Px float);
+    method public void setWidth(@FloatRange(from=0.0f) @Px float);
+  }
+
+  public static class LineBreaker.Result {
+    method public int getEndLineHyphenEdit(int);
+    method @Px public float getLineAscent(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getLineBreakOffset(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getLineCount();
+    method @Px public float getLineDescent(@IntRange(from=0) int);
+    method @Px public float getLineWidth(@IntRange(from=0) int);
+    method public int getStartLineHyphenEdit(int);
+    method public boolean hasLineTab(int);
+  }
+
+  public class MeasuredText {
+    method public void getBounds(@IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.graphics.Rect);
+    method @FloatRange(from=0.0f) @Px public float getCharWidthAt(@IntRange(from=0) int);
+    method @FloatRange(from=0.0) @Px public float getWidth(@IntRange(from=0) int, @IntRange(from=0) int);
+  }
+
+  public static final class MeasuredText.Builder {
+    ctor public MeasuredText.Builder(@NonNull char[]);
+    ctor public MeasuredText.Builder(@NonNull android.graphics.text.MeasuredText);
+    method @NonNull public android.graphics.text.MeasuredText.Builder appendReplacementRun(@NonNull android.graphics.Paint, @IntRange(from=0) int, @FloatRange(from=0) @Px float);
+    method @NonNull public android.graphics.text.MeasuredText.Builder appendStyleRun(@NonNull android.graphics.Paint, @IntRange(from=0) int, boolean);
+    method @NonNull public android.graphics.text.MeasuredText build();
+    method @NonNull public android.graphics.text.MeasuredText.Builder setComputeHyphenation(boolean);
+    method @NonNull public android.graphics.text.MeasuredText.Builder setComputeLayout(boolean);
+  }
+
+  public final class PositionedGlyphs {
+    method public float getAdvance();
+    method public float getAscent();
+    method public float getDescent();
+    method @NonNull public android.graphics.fonts.Font getFont(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getGlyphId(@IntRange(from=0) int);
+    method public float getGlyphX(@IntRange(from=0) int);
+    method public float getGlyphY(@IntRange(from=0) int);
+    method public float getOffsetX();
+    method public float getOffsetY();
+    method @IntRange(from=0) public int glyphCount();
+  }
+
+  public class TextRunShaper {
+    method @NonNull public static android.graphics.text.PositionedGlyphs shapeTextRun(@NonNull char[], int, int, int, int, float, float, boolean, @NonNull android.graphics.Paint);
+    method @NonNull public static android.graphics.text.PositionedGlyphs shapeTextRun(@NonNull CharSequence, int, int, int, int, float, float, boolean, @NonNull android.graphics.Paint);
+  }
+
+}
+
+package android.hardware {
+
+  public abstract class BatteryState {
+    ctor public BatteryState();
+    method @FloatRange(from=-1.0F, to=1.0f) public abstract float getCapacity();
+    method public abstract int getStatus();
+    method public abstract boolean isPresent();
+    field public static final int STATUS_CHARGING = 2; // 0x2
+    field public static final int STATUS_DISCHARGING = 3; // 0x3
+    field public static final int STATUS_FULL = 5; // 0x5
+    field public static final int STATUS_NOT_CHARGING = 4; // 0x4
+    field public static final int STATUS_UNKNOWN = 1; // 0x1
+  }
+
+  @Deprecated public class Camera {
+    method @Deprecated public final void addCallbackBuffer(byte[]);
+    method @Deprecated public final void autoFocus(android.hardware.Camera.AutoFocusCallback);
+    method @Deprecated public final void cancelAutoFocus();
+    method @Deprecated public final boolean enableShutterSound(boolean);
+    method @Deprecated protected void finalize();
+    method @Deprecated public static void getCameraInfo(int, android.hardware.Camera.CameraInfo);
+    method @Deprecated public static int getNumberOfCameras();
+    method @Deprecated public android.hardware.Camera.Parameters getParameters();
+    method @Deprecated public final void lock();
+    method @Deprecated public static android.hardware.Camera open(int);
+    method @Deprecated public static android.hardware.Camera open();
+    method @Deprecated public final void reconnect() throws java.io.IOException;
+    method @Deprecated public final void release();
+    method @Deprecated public void setAutoFocusMoveCallback(android.hardware.Camera.AutoFocusMoveCallback);
+    method @Deprecated public final void setDisplayOrientation(int);
+    method @Deprecated public final void setErrorCallback(android.hardware.Camera.ErrorCallback);
+    method @Deprecated public final void setFaceDetectionListener(android.hardware.Camera.FaceDetectionListener);
+    method @Deprecated public final void setOneShotPreviewCallback(android.hardware.Camera.PreviewCallback);
+    method @Deprecated public void setParameters(android.hardware.Camera.Parameters);
+    method @Deprecated public final void setPreviewCallback(android.hardware.Camera.PreviewCallback);
+    method @Deprecated public final void setPreviewCallbackWithBuffer(android.hardware.Camera.PreviewCallback);
+    method @Deprecated public final void setPreviewDisplay(android.view.SurfaceHolder) throws java.io.IOException;
+    method @Deprecated public final void setPreviewTexture(android.graphics.SurfaceTexture) throws java.io.IOException;
+    method @Deprecated public final void setZoomChangeListener(android.hardware.Camera.OnZoomChangeListener);
+    method @Deprecated public final void startFaceDetection();
+    method @Deprecated public final void startPreview();
+    method @Deprecated public final void startSmoothZoom(int);
+    method @Deprecated public final void stopFaceDetection();
+    method @Deprecated public final void stopPreview();
+    method @Deprecated public final void stopSmoothZoom();
+    method @Deprecated public final void takePicture(android.hardware.Camera.ShutterCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback);
+    method @Deprecated public final void takePicture(android.hardware.Camera.ShutterCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback, android.hardware.Camera.PictureCallback);
+    method @Deprecated public final void unlock();
+    field @Deprecated public static final String ACTION_NEW_PICTURE = "android.hardware.action.NEW_PICTURE";
+    field @Deprecated public static final String ACTION_NEW_VIDEO = "android.hardware.action.NEW_VIDEO";
+    field @Deprecated public static final int CAMERA_ERROR_EVICTED = 2; // 0x2
+    field @Deprecated public static final int CAMERA_ERROR_SERVER_DIED = 100; // 0x64
+    field @Deprecated public static final int CAMERA_ERROR_UNKNOWN = 1; // 0x1
+  }
+
+  @Deprecated public static class Camera.Area {
+    ctor @Deprecated public Camera.Area(android.graphics.Rect, int);
+    field @Deprecated public android.graphics.Rect rect;
+    field @Deprecated public int weight;
+  }
+
+  @Deprecated public static interface Camera.AutoFocusCallback {
+    method @Deprecated public void onAutoFocus(boolean, android.hardware.Camera);
+  }
+
+  @Deprecated public static interface Camera.AutoFocusMoveCallback {
+    method @Deprecated public void onAutoFocusMoving(boolean, android.hardware.Camera);
+  }
+
+  @Deprecated public static class Camera.CameraInfo {
+    ctor @Deprecated public Camera.CameraInfo();
+    field @Deprecated public static final int CAMERA_FACING_BACK = 0; // 0x0
+    field @Deprecated public static final int CAMERA_FACING_FRONT = 1; // 0x1
+    field @Deprecated public boolean canDisableShutterSound;
+    field @Deprecated public int facing;
+    field @Deprecated public int orientation;
+  }
+
+  @Deprecated public static interface Camera.ErrorCallback {
+    method @Deprecated public void onError(int, android.hardware.Camera);
+  }
+
+  @Deprecated public static class Camera.Face {
+    ctor @Deprecated public Camera.Face();
+    field @Deprecated public int id;
+    field @Deprecated public android.graphics.Point leftEye;
+    field @Deprecated public android.graphics.Point mouth;
+    field @Deprecated public android.graphics.Rect rect;
+    field @Deprecated public android.graphics.Point rightEye;
+    field @Deprecated public int score;
+  }
+
+  @Deprecated public static interface Camera.FaceDetectionListener {
+    method @Deprecated public void onFaceDetection(android.hardware.Camera.Face[], android.hardware.Camera);
+  }
+
+  @Deprecated public static interface Camera.OnZoomChangeListener {
+    method @Deprecated public void onZoomChange(int, boolean, android.hardware.Camera);
+  }
+
+  @Deprecated public class Camera.Parameters {
+    method @Deprecated public String flatten();
+    method @Deprecated public String get(String);
+    method @Deprecated public String getAntibanding();
+    method @Deprecated public boolean getAutoExposureLock();
+    method @Deprecated public boolean getAutoWhiteBalanceLock();
+    method @Deprecated public String getColorEffect();
+    method @Deprecated public int getExposureCompensation();
+    method @Deprecated public float getExposureCompensationStep();
+    method @Deprecated public String getFlashMode();
+    method @Deprecated public float getFocalLength();
+    method @Deprecated public java.util.List<android.hardware.Camera.Area> getFocusAreas();
+    method @Deprecated public void getFocusDistances(float[]);
+    method @Deprecated public String getFocusMode();
+    method @Deprecated public float getHorizontalViewAngle();
+    method @Deprecated public int getInt(String);
+    method @Deprecated public int getJpegQuality();
+    method @Deprecated public int getJpegThumbnailQuality();
+    method @Deprecated public android.hardware.Camera.Size getJpegThumbnailSize();
+    method @Deprecated public int getMaxExposureCompensation();
+    method @Deprecated public int getMaxNumDetectedFaces();
+    method @Deprecated public int getMaxNumFocusAreas();
+    method @Deprecated public int getMaxNumMeteringAreas();
+    method @Deprecated public int getMaxZoom();
+    method @Deprecated public java.util.List<android.hardware.Camera.Area> getMeteringAreas();
+    method @Deprecated public int getMinExposureCompensation();
+    method @Deprecated public int getPictureFormat();
+    method @Deprecated public android.hardware.Camera.Size getPictureSize();
+    method @Deprecated public android.hardware.Camera.Size getPreferredPreviewSizeForVideo();
+    method @Deprecated public int getPreviewFormat();
+    method @Deprecated public void getPreviewFpsRange(int[]);
+    method @Deprecated public int getPreviewFrameRate();
+    method @Deprecated public android.hardware.Camera.Size getPreviewSize();
+    method @Deprecated public String getSceneMode();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedAntibanding();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedColorEffects();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedFlashModes();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedFocusModes();
+    method @Deprecated public java.util.List<android.hardware.Camera.Size> getSupportedJpegThumbnailSizes();
+    method @Deprecated public java.util.List<java.lang.Integer> getSupportedPictureFormats();
+    method @Deprecated public java.util.List<android.hardware.Camera.Size> getSupportedPictureSizes();
+    method @Deprecated public java.util.List<java.lang.Integer> getSupportedPreviewFormats();
+    method @Deprecated public java.util.List<int[]> getSupportedPreviewFpsRange();
+    method @Deprecated public java.util.List<java.lang.Integer> getSupportedPreviewFrameRates();
+    method @Deprecated public java.util.List<android.hardware.Camera.Size> getSupportedPreviewSizes();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedSceneModes();
+    method @Deprecated public java.util.List<android.hardware.Camera.Size> getSupportedVideoSizes();
+    method @Deprecated public java.util.List<java.lang.String> getSupportedWhiteBalance();
+    method @Deprecated public float getVerticalViewAngle();
+    method @Deprecated public boolean getVideoStabilization();
+    method @Deprecated public String getWhiteBalance();
+    method @Deprecated public int getZoom();
+    method @Deprecated public java.util.List<java.lang.Integer> getZoomRatios();
+    method @Deprecated public boolean isAutoExposureLockSupported();
+    method @Deprecated public boolean isAutoWhiteBalanceLockSupported();
+    method @Deprecated public boolean isSmoothZoomSupported();
+    method @Deprecated public boolean isVideoSnapshotSupported();
+    method @Deprecated public boolean isVideoStabilizationSupported();
+    method @Deprecated public boolean isZoomSupported();
+    method @Deprecated public void remove(String);
+    method @Deprecated public void removeGpsData();
+    method @Deprecated public void set(String, String);
+    method @Deprecated public void set(String, int);
+    method @Deprecated public void setAntibanding(String);
+    method @Deprecated public void setAutoExposureLock(boolean);
+    method @Deprecated public void setAutoWhiteBalanceLock(boolean);
+    method @Deprecated public void setColorEffect(String);
+    method @Deprecated public void setExposureCompensation(int);
+    method @Deprecated public void setFlashMode(String);
+    method @Deprecated public void setFocusAreas(java.util.List<android.hardware.Camera.Area>);
+    method @Deprecated public void setFocusMode(String);
+    method @Deprecated public void setGpsAltitude(double);
+    method @Deprecated public void setGpsLatitude(double);
+    method @Deprecated public void setGpsLongitude(double);
+    method @Deprecated public void setGpsProcessingMethod(String);
+    method @Deprecated public void setGpsTimestamp(long);
+    method @Deprecated public void setJpegQuality(int);
+    method @Deprecated public void setJpegThumbnailQuality(int);
+    method @Deprecated public void setJpegThumbnailSize(int, int);
+    method @Deprecated public void setMeteringAreas(java.util.List<android.hardware.Camera.Area>);
+    method @Deprecated public void setPictureFormat(int);
+    method @Deprecated public void setPictureSize(int, int);
+    method @Deprecated public void setPreviewFormat(int);
+    method @Deprecated public void setPreviewFpsRange(int, int);
+    method @Deprecated public void setPreviewFrameRate(int);
+    method @Deprecated public void setPreviewSize(int, int);
+    method @Deprecated public void setRecordingHint(boolean);
+    method @Deprecated public void setRotation(int);
+    method @Deprecated public void setSceneMode(String);
+    method @Deprecated public void setVideoStabilization(boolean);
+    method @Deprecated public void setWhiteBalance(String);
+    method @Deprecated public void setZoom(int);
+    method @Deprecated public void unflatten(String);
+    field @Deprecated public static final String ANTIBANDING_50HZ = "50hz";
+    field @Deprecated public static final String ANTIBANDING_60HZ = "60hz";
+    field @Deprecated public static final String ANTIBANDING_AUTO = "auto";
+    field @Deprecated public static final String ANTIBANDING_OFF = "off";
+    field @Deprecated public static final String EFFECT_AQUA = "aqua";
+    field @Deprecated public static final String EFFECT_BLACKBOARD = "blackboard";
+    field @Deprecated public static final String EFFECT_MONO = "mono";
+    field @Deprecated public static final String EFFECT_NEGATIVE = "negative";
+    field @Deprecated public static final String EFFECT_NONE = "none";
+    field @Deprecated public static final String EFFECT_POSTERIZE = "posterize";
+    field @Deprecated public static final String EFFECT_SEPIA = "sepia";
+    field @Deprecated public static final String EFFECT_SOLARIZE = "solarize";
+    field @Deprecated public static final String EFFECT_WHITEBOARD = "whiteboard";
+    field @Deprecated public static final String FLASH_MODE_AUTO = "auto";
+    field @Deprecated public static final String FLASH_MODE_OFF = "off";
+    field @Deprecated public static final String FLASH_MODE_ON = "on";
+    field @Deprecated public static final String FLASH_MODE_RED_EYE = "red-eye";
+    field @Deprecated public static final String FLASH_MODE_TORCH = "torch";
+    field @Deprecated public static final int FOCUS_DISTANCE_FAR_INDEX = 2; // 0x2
+    field @Deprecated public static final int FOCUS_DISTANCE_NEAR_INDEX = 0; // 0x0
+    field @Deprecated public static final int FOCUS_DISTANCE_OPTIMAL_INDEX = 1; // 0x1
+    field @Deprecated public static final String FOCUS_MODE_AUTO = "auto";
+    field @Deprecated public static final String FOCUS_MODE_CONTINUOUS_PICTURE = "continuous-picture";
+    field @Deprecated public static final String FOCUS_MODE_CONTINUOUS_VIDEO = "continuous-video";
+    field @Deprecated public static final String FOCUS_MODE_EDOF = "edof";
+    field @Deprecated public static final String FOCUS_MODE_FIXED = "fixed";
+    field @Deprecated public static final String FOCUS_MODE_INFINITY = "infinity";
+    field @Deprecated public static final String FOCUS_MODE_MACRO = "macro";
+    field @Deprecated public static final int PREVIEW_FPS_MAX_INDEX = 1; // 0x1
+    field @Deprecated public static final int PREVIEW_FPS_MIN_INDEX = 0; // 0x0
+    field @Deprecated public static final String SCENE_MODE_ACTION = "action";
+    field @Deprecated public static final String SCENE_MODE_AUTO = "auto";
+    field @Deprecated public static final String SCENE_MODE_BARCODE = "barcode";
+    field @Deprecated public static final String SCENE_MODE_BEACH = "beach";
+    field @Deprecated public static final String SCENE_MODE_CANDLELIGHT = "candlelight";
+    field @Deprecated public static final String SCENE_MODE_FIREWORKS = "fireworks";
+    field @Deprecated public static final String SCENE_MODE_HDR = "hdr";
+    field @Deprecated public static final String SCENE_MODE_LANDSCAPE = "landscape";
+    field @Deprecated public static final String SCENE_MODE_NIGHT = "night";
+    field @Deprecated public static final String SCENE_MODE_NIGHT_PORTRAIT = "night-portrait";
+    field @Deprecated public static final String SCENE_MODE_PARTY = "party";
+    field @Deprecated public static final String SCENE_MODE_PORTRAIT = "portrait";
+    field @Deprecated public static final String SCENE_MODE_SNOW = "snow";
+    field @Deprecated public static final String SCENE_MODE_SPORTS = "sports";
+    field @Deprecated public static final String SCENE_MODE_STEADYPHOTO = "steadyphoto";
+    field @Deprecated public static final String SCENE_MODE_SUNSET = "sunset";
+    field @Deprecated public static final String SCENE_MODE_THEATRE = "theatre";
+    field @Deprecated public static final String WHITE_BALANCE_AUTO = "auto";
+    field @Deprecated public static final String WHITE_BALANCE_CLOUDY_DAYLIGHT = "cloudy-daylight";
+    field @Deprecated public static final String WHITE_BALANCE_DAYLIGHT = "daylight";
+    field @Deprecated public static final String WHITE_BALANCE_FLUORESCENT = "fluorescent";
+    field @Deprecated public static final String WHITE_BALANCE_INCANDESCENT = "incandescent";
+    field @Deprecated public static final String WHITE_BALANCE_SHADE = "shade";
+    field @Deprecated public static final String WHITE_BALANCE_TWILIGHT = "twilight";
+    field @Deprecated public static final String WHITE_BALANCE_WARM_FLUORESCENT = "warm-fluorescent";
+  }
+
+  @Deprecated public static interface Camera.PictureCallback {
+    method @Deprecated public void onPictureTaken(byte[], android.hardware.Camera);
+  }
+
+  @Deprecated public static interface Camera.PreviewCallback {
+    method @Deprecated public void onPreviewFrame(byte[], android.hardware.Camera);
+  }
+
+  @Deprecated public static interface Camera.ShutterCallback {
+    method @Deprecated public void onShutter();
+  }
+
+  @Deprecated public class Camera.Size {
+    ctor @Deprecated public Camera.Size(int, int);
+    field @Deprecated public int height;
+    field @Deprecated public int width;
+  }
+
+  public final class ConsumerIrManager {
+    method public android.hardware.ConsumerIrManager.CarrierFrequencyRange[] getCarrierFrequencies();
+    method public boolean hasIrEmitter();
+    method public void transmit(int, int[]);
+  }
+
+  public final class ConsumerIrManager.CarrierFrequencyRange {
+    ctor public ConsumerIrManager.CarrierFrequencyRange(int, int);
+    method public int getMaxFrequency();
+    method public int getMinFrequency();
+  }
+
+  public class GeomagneticField {
+    ctor public GeomagneticField(float, float, float, long);
+    method public float getDeclination();
+    method public float getFieldStrength();
+    method public float getHorizontalStrength();
+    method public float getInclination();
+    method public float getX();
+    method public float getY();
+    method public float getZ();
+  }
+
+  public final class HardwareBuffer implements java.lang.AutoCloseable android.os.Parcelable {
+    method public void close();
+    method @NonNull public static android.hardware.HardwareBuffer create(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int, long);
+    method public int describeContents();
+    method public int getFormat();
+    method public int getHeight();
+    method public int getLayers();
+    method public long getUsage();
+    method public int getWidth();
+    method public boolean isClosed();
+    method public static boolean isSupported(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int, long);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int BLOB = 33; // 0x21
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.HardwareBuffer> CREATOR;
+    field public static final int DS_24UI8 = 50; // 0x32
+    field public static final int DS_FP32UI8 = 52; // 0x34
+    field public static final int D_16 = 48; // 0x30
+    field public static final int D_24 = 49; // 0x31
+    field public static final int D_FP32 = 51; // 0x33
+    field public static final int RGBA_1010102 = 43; // 0x2b
+    field public static final int RGBA_8888 = 1; // 0x1
+    field public static final int RGBA_FP16 = 22; // 0x16
+    field public static final int RGBX_8888 = 2; // 0x2
+    field public static final int RGB_565 = 4; // 0x4
+    field public static final int RGB_888 = 3; // 0x3
+    field public static final int S_UI8 = 53; // 0x35
+    field public static final long USAGE_CPU_READ_OFTEN = 3L; // 0x3L
+    field public static final long USAGE_CPU_READ_RARELY = 2L; // 0x2L
+    field public static final long USAGE_CPU_WRITE_OFTEN = 48L; // 0x30L
+    field public static final long USAGE_CPU_WRITE_RARELY = 32L; // 0x20L
+    field public static final long USAGE_GPU_COLOR_OUTPUT = 512L; // 0x200L
+    field public static final long USAGE_GPU_CUBE_MAP = 33554432L; // 0x2000000L
+    field public static final long USAGE_GPU_DATA_BUFFER = 16777216L; // 0x1000000L
+    field public static final long USAGE_GPU_MIPMAP_COMPLETE = 67108864L; // 0x4000000L
+    field public static final long USAGE_GPU_SAMPLED_IMAGE = 256L; // 0x100L
+    field public static final long USAGE_PROTECTED_CONTENT = 16384L; // 0x4000L
+    field public static final long USAGE_SENSOR_DIRECT_DATA = 8388608L; // 0x800000L
+    field public static final long USAGE_VIDEO_ENCODE = 65536L; // 0x10000L
+    field public static final int YCBCR_420_888 = 35; // 0x23
+  }
+
+  public final class Sensor {
+    method public int getFifoMaxEventCount();
+    method public int getFifoReservedEventCount();
+    method public int getHighestDirectReportRateLevel();
+    method public int getId();
+    method public int getMaxDelay();
+    method public float getMaximumRange();
+    method public int getMinDelay();
+    method public String getName();
+    method public float getPower();
+    method public int getReportingMode();
+    method public float getResolution();
+    method public String getStringType();
+    method public int getType();
+    method public String getVendor();
+    method public int getVersion();
+    method public boolean isAdditionalInfoSupported();
+    method public boolean isDirectChannelTypeSupported(int);
+    method public boolean isDynamicSensor();
+    method public boolean isWakeUpSensor();
+    field public static final int REPORTING_MODE_CONTINUOUS = 0; // 0x0
+    field public static final int REPORTING_MODE_ONE_SHOT = 2; // 0x2
+    field public static final int REPORTING_MODE_ON_CHANGE = 1; // 0x1
+    field public static final int REPORTING_MODE_SPECIAL_TRIGGER = 3; // 0x3
+    field public static final String STRING_TYPE_ACCELEROMETER = "android.sensor.accelerometer";
+    field public static final String STRING_TYPE_ACCELEROMETER_UNCALIBRATED = "android.sensor.accelerometer_uncalibrated";
+    field public static final String STRING_TYPE_AMBIENT_TEMPERATURE = "android.sensor.ambient_temperature";
+    field public static final String STRING_TYPE_GAME_ROTATION_VECTOR = "android.sensor.game_rotation_vector";
+    field public static final String STRING_TYPE_GEOMAGNETIC_ROTATION_VECTOR = "android.sensor.geomagnetic_rotation_vector";
+    field public static final String STRING_TYPE_GRAVITY = "android.sensor.gravity";
+    field public static final String STRING_TYPE_GYROSCOPE = "android.sensor.gyroscope";
+    field public static final String STRING_TYPE_GYROSCOPE_UNCALIBRATED = "android.sensor.gyroscope_uncalibrated";
+    field public static final String STRING_TYPE_HEART_BEAT = "android.sensor.heart_beat";
+    field public static final String STRING_TYPE_HEART_RATE = "android.sensor.heart_rate";
+    field public static final String STRING_TYPE_HINGE_ANGLE = "android.sensor.hinge_angle";
+    field public static final String STRING_TYPE_LIGHT = "android.sensor.light";
+    field public static final String STRING_TYPE_LINEAR_ACCELERATION = "android.sensor.linear_acceleration";
+    field public static final String STRING_TYPE_LOW_LATENCY_OFFBODY_DETECT = "android.sensor.low_latency_offbody_detect";
+    field public static final String STRING_TYPE_MAGNETIC_FIELD = "android.sensor.magnetic_field";
+    field public static final String STRING_TYPE_MAGNETIC_FIELD_UNCALIBRATED = "android.sensor.magnetic_field_uncalibrated";
+    field public static final String STRING_TYPE_MOTION_DETECT = "android.sensor.motion_detect";
+    field @Deprecated public static final String STRING_TYPE_ORIENTATION = "android.sensor.orientation";
+    field public static final String STRING_TYPE_POSE_6DOF = "android.sensor.pose_6dof";
+    field public static final String STRING_TYPE_PRESSURE = "android.sensor.pressure";
+    field public static final String STRING_TYPE_PROXIMITY = "android.sensor.proximity";
+    field public static final String STRING_TYPE_RELATIVE_HUMIDITY = "android.sensor.relative_humidity";
+    field public static final String STRING_TYPE_ROTATION_VECTOR = "android.sensor.rotation_vector";
+    field public static final String STRING_TYPE_SIGNIFICANT_MOTION = "android.sensor.significant_motion";
+    field public static final String STRING_TYPE_STATIONARY_DETECT = "android.sensor.stationary_detect";
+    field public static final String STRING_TYPE_STEP_COUNTER = "android.sensor.step_counter";
+    field public static final String STRING_TYPE_STEP_DETECTOR = "android.sensor.step_detector";
+    field @Deprecated public static final String STRING_TYPE_TEMPERATURE = "android.sensor.temperature";
+    field public static final int TYPE_ACCELEROMETER = 1; // 0x1
+    field public static final int TYPE_ACCELEROMETER_UNCALIBRATED = 35; // 0x23
+    field public static final int TYPE_ALL = -1; // 0xffffffff
+    field public static final int TYPE_AMBIENT_TEMPERATURE = 13; // 0xd
+    field public static final int TYPE_DEVICE_PRIVATE_BASE = 65536; // 0x10000
+    field public static final int TYPE_GAME_ROTATION_VECTOR = 15; // 0xf
+    field public static final int TYPE_GEOMAGNETIC_ROTATION_VECTOR = 20; // 0x14
+    field public static final int TYPE_GRAVITY = 9; // 0x9
+    field public static final int TYPE_GYROSCOPE = 4; // 0x4
+    field public static final int TYPE_GYROSCOPE_UNCALIBRATED = 16; // 0x10
+    field public static final int TYPE_HEART_BEAT = 31; // 0x1f
+    field public static final int TYPE_HEART_RATE = 21; // 0x15
+    field public static final int TYPE_HINGE_ANGLE = 36; // 0x24
+    field public static final int TYPE_LIGHT = 5; // 0x5
+    field public static final int TYPE_LINEAR_ACCELERATION = 10; // 0xa
+    field public static final int TYPE_LOW_LATENCY_OFFBODY_DETECT = 34; // 0x22
+    field public static final int TYPE_MAGNETIC_FIELD = 2; // 0x2
+    field public static final int TYPE_MAGNETIC_FIELD_UNCALIBRATED = 14; // 0xe
+    field public static final int TYPE_MOTION_DETECT = 30; // 0x1e
+    field @Deprecated public static final int TYPE_ORIENTATION = 3; // 0x3
+    field public static final int TYPE_POSE_6DOF = 28; // 0x1c
+    field public static final int TYPE_PRESSURE = 6; // 0x6
+    field public static final int TYPE_PROXIMITY = 8; // 0x8
+    field public static final int TYPE_RELATIVE_HUMIDITY = 12; // 0xc
+    field public static final int TYPE_ROTATION_VECTOR = 11; // 0xb
+    field public static final int TYPE_SIGNIFICANT_MOTION = 17; // 0x11
+    field public static final int TYPE_STATIONARY_DETECT = 29; // 0x1d
+    field public static final int TYPE_STEP_COUNTER = 19; // 0x13
+    field public static final int TYPE_STEP_DETECTOR = 18; // 0x12
+    field @Deprecated public static final int TYPE_TEMPERATURE = 7; // 0x7
+  }
+
+  public class SensorAdditionalInfo {
+    field public static final int TYPE_FRAME_BEGIN = 0; // 0x0
+    field public static final int TYPE_FRAME_END = 1; // 0x1
+    field public static final int TYPE_INTERNAL_TEMPERATURE = 65537; // 0x10001
+    field public static final int TYPE_SAMPLING = 65540; // 0x10004
+    field public static final int TYPE_SENSOR_PLACEMENT = 65539; // 0x10003
+    field public static final int TYPE_UNTRACKED_DELAY = 65536; // 0x10000
+    field public static final int TYPE_VEC3_CALIBRATION = 65538; // 0x10002
+    field public final float[] floatValues;
+    field public final int[] intValues;
+    field public final android.hardware.Sensor sensor;
+    field public final int serial;
+    field public final int type;
+  }
+
+  public final class SensorDirectChannel implements java.nio.channels.Channel {
+    method public void close();
+    method public int configure(android.hardware.Sensor, int);
+    method public boolean isOpen();
+    field public static final int RATE_FAST = 2; // 0x2
+    field public static final int RATE_NORMAL = 1; // 0x1
+    field public static final int RATE_STOP = 0; // 0x0
+    field public static final int RATE_VERY_FAST = 3; // 0x3
+    field public static final int TYPE_HARDWARE_BUFFER = 2; // 0x2
+    field public static final int TYPE_MEMORY_FILE = 1; // 0x1
+  }
+
+  public class SensorEvent {
+    field public int accuracy;
+    field public android.hardware.Sensor sensor;
+    field public long timestamp;
+    field public final float[] values;
+  }
+
+  public abstract class SensorEventCallback implements android.hardware.SensorEventListener2 {
+    ctor public SensorEventCallback();
+    method public void onAccuracyChanged(android.hardware.Sensor, int);
+    method public void onFlushCompleted(android.hardware.Sensor);
+    method public void onSensorAdditionalInfo(android.hardware.SensorAdditionalInfo);
+    method public void onSensorChanged(android.hardware.SensorEvent);
+  }
+
+  public interface SensorEventListener {
+    method public void onAccuracyChanged(android.hardware.Sensor, int);
+    method public void onSensorChanged(android.hardware.SensorEvent);
+  }
+
+  public interface SensorEventListener2 extends android.hardware.SensorEventListener {
+    method public void onFlushCompleted(android.hardware.Sensor);
+  }
+
+  @Deprecated public interface SensorListener {
+    method @Deprecated public void onAccuracyChanged(int, int);
+    method @Deprecated public void onSensorChanged(int, float[]);
+  }
+
+  public abstract class SensorManager {
+    method public boolean cancelTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor);
+    method public android.hardware.SensorDirectChannel createDirectChannel(android.os.MemoryFile);
+    method public android.hardware.SensorDirectChannel createDirectChannel(android.hardware.HardwareBuffer);
+    method public boolean flush(android.hardware.SensorEventListener);
+    method public static float getAltitude(float, float);
+    method public static void getAngleChange(float[], float[], float[]);
+    method public android.hardware.Sensor getDefaultSensor(int);
+    method public android.hardware.Sensor getDefaultSensor(int, boolean);
+    method public java.util.List<android.hardware.Sensor> getDynamicSensorList(int);
+    method public static float getInclination(float[]);
+    method public static float[] getOrientation(float[], float[]);
+    method public static void getQuaternionFromVector(float[], float[]);
+    method public static boolean getRotationMatrix(float[], float[], float[], float[]);
+    method public static void getRotationMatrixFromVector(float[], float[]);
+    method public java.util.List<android.hardware.Sensor> getSensorList(int);
+    method @Deprecated public int getSensors();
+    method public boolean isDynamicSensorDiscoverySupported();
+    method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback);
+    method public void registerDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback, android.os.Handler);
+    method @Deprecated public boolean registerListener(android.hardware.SensorListener, int);
+    method @Deprecated public boolean registerListener(android.hardware.SensorListener, int, int);
+    method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int);
+    method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int);
+    method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, android.os.Handler);
+    method public boolean registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int, int, android.os.Handler);
+    method public static boolean remapCoordinateSystem(float[], int, int, float[]);
+    method public boolean requestTriggerSensor(android.hardware.TriggerEventListener, android.hardware.Sensor);
+    method public void unregisterDynamicSensorCallback(android.hardware.SensorManager.DynamicSensorCallback);
+    method @Deprecated public void unregisterListener(android.hardware.SensorListener);
+    method @Deprecated public void unregisterListener(android.hardware.SensorListener, int);
+    method public void unregisterListener(android.hardware.SensorEventListener, android.hardware.Sensor);
+    method public void unregisterListener(android.hardware.SensorEventListener);
+    field public static final int AXIS_MINUS_X = 129; // 0x81
+    field public static final int AXIS_MINUS_Y = 130; // 0x82
+    field public static final int AXIS_MINUS_Z = 131; // 0x83
+    field public static final int AXIS_X = 1; // 0x1
+    field public static final int AXIS_Y = 2; // 0x2
+    field public static final int AXIS_Z = 3; // 0x3
+    field @Deprecated public static final int DATA_X = 0; // 0x0
+    field @Deprecated public static final int DATA_Y = 1; // 0x1
+    field @Deprecated public static final int DATA_Z = 2; // 0x2
+    field public static final float GRAVITY_DEATH_STAR_I = 3.5303614E-7f;
+    field public static final float GRAVITY_EARTH = 9.80665f;
+    field public static final float GRAVITY_JUPITER = 23.12f;
+    field public static final float GRAVITY_MARS = 3.71f;
+    field public static final float GRAVITY_MERCURY = 3.7f;
+    field public static final float GRAVITY_MOON = 1.6f;
+    field public static final float GRAVITY_NEPTUNE = 11.0f;
+    field public static final float GRAVITY_PLUTO = 0.6f;
+    field public static final float GRAVITY_SATURN = 8.96f;
+    field public static final float GRAVITY_SUN = 275.0f;
+    field public static final float GRAVITY_THE_ISLAND = 4.815162f;
+    field public static final float GRAVITY_URANUS = 8.69f;
+    field public static final float GRAVITY_VENUS = 8.87f;
+    field public static final float LIGHT_CLOUDY = 100.0f;
+    field public static final float LIGHT_FULLMOON = 0.25f;
+    field public static final float LIGHT_NO_MOON = 0.001f;
+    field public static final float LIGHT_OVERCAST = 10000.0f;
+    field public static final float LIGHT_SHADE = 20000.0f;
+    field public static final float LIGHT_SUNLIGHT = 110000.0f;
+    field public static final float LIGHT_SUNLIGHT_MAX = 120000.0f;
+    field public static final float LIGHT_SUNRISE = 400.0f;
+    field public static final float MAGNETIC_FIELD_EARTH_MAX = 60.0f;
+    field public static final float MAGNETIC_FIELD_EARTH_MIN = 30.0f;
+    field public static final float PRESSURE_STANDARD_ATMOSPHERE = 1013.25f;
+    field @Deprecated public static final int RAW_DATA_INDEX = 3; // 0x3
+    field @Deprecated public static final int RAW_DATA_X = 3; // 0x3
+    field @Deprecated public static final int RAW_DATA_Y = 4; // 0x4
+    field @Deprecated public static final int RAW_DATA_Z = 5; // 0x5
+    field @Deprecated public static final int SENSOR_ACCELEROMETER = 2; // 0x2
+    field @Deprecated public static final int SENSOR_ALL = 127; // 0x7f
+    field public static final int SENSOR_DELAY_FASTEST = 0; // 0x0
+    field public static final int SENSOR_DELAY_GAME = 1; // 0x1
+    field public static final int SENSOR_DELAY_NORMAL = 3; // 0x3
+    field public static final int SENSOR_DELAY_UI = 2; // 0x2
+    field @Deprecated public static final int SENSOR_LIGHT = 16; // 0x10
+    field @Deprecated public static final int SENSOR_MAGNETIC_FIELD = 8; // 0x8
+    field @Deprecated public static final int SENSOR_MAX = 64; // 0x40
+    field @Deprecated public static final int SENSOR_MIN = 1; // 0x1
+    field @Deprecated public static final int SENSOR_ORIENTATION = 1; // 0x1
+    field @Deprecated public static final int SENSOR_ORIENTATION_RAW = 128; // 0x80
+    field @Deprecated public static final int SENSOR_PROXIMITY = 32; // 0x20
+    field public static final int SENSOR_STATUS_ACCURACY_HIGH = 3; // 0x3
+    field public static final int SENSOR_STATUS_ACCURACY_LOW = 1; // 0x1
+    field public static final int SENSOR_STATUS_ACCURACY_MEDIUM = 2; // 0x2
+    field public static final int SENSOR_STATUS_NO_CONTACT = -1; // 0xffffffff
+    field public static final int SENSOR_STATUS_UNRELIABLE = 0; // 0x0
+    field @Deprecated public static final int SENSOR_TEMPERATURE = 4; // 0x4
+    field @Deprecated public static final int SENSOR_TRICORDER = 64; // 0x40
+    field public static final float STANDARD_GRAVITY = 9.80665f;
+  }
+
+  public abstract static class SensorManager.DynamicSensorCallback {
+    ctor public SensorManager.DynamicSensorCallback();
+    method public void onDynamicSensorConnected(android.hardware.Sensor);
+    method public void onDynamicSensorDisconnected(android.hardware.Sensor);
+  }
+
+  public final class SensorPrivacyManager {
+    method public boolean supportsSensorToggle(int);
+  }
+
+  public static class SensorPrivacyManager.Sensors {
+    field public static final int CAMERA = 2; // 0x2
+    field public static final int MICROPHONE = 1; // 0x1
+  }
+
+  public final class TriggerEvent {
+    field public android.hardware.Sensor sensor;
+    field public long timestamp;
+    field public final float[] values;
+  }
+
+  public abstract class TriggerEventListener {
+    ctor public TriggerEventListener();
+    method public abstract void onTrigger(android.hardware.TriggerEvent);
+  }
+
+}
+
+package android.hardware.biometrics {
+
+  public class BiometricManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public int canAuthenticate();
+    method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public int canAuthenticate(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public android.hardware.biometrics.BiometricManager.Strings getStrings(int);
+    field public static final int BIOMETRIC_ERROR_HW_UNAVAILABLE = 1; // 0x1
+    field public static final int BIOMETRIC_ERROR_NONE_ENROLLED = 11; // 0xb
+    field public static final int BIOMETRIC_ERROR_NO_HARDWARE = 12; // 0xc
+    field public static final int BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
+    field public static final int BIOMETRIC_SUCCESS = 0; // 0x0
+  }
+
+  public static interface BiometricManager.Authenticators {
+    field public static final int BIOMETRIC_STRONG = 15; // 0xf
+    field public static final int BIOMETRIC_WEAK = 255; // 0xff
+    field public static final int DEVICE_CREDENTIAL = 32768; // 0x8000
+  }
+
+  public static class BiometricManager.Strings {
+    method @Nullable @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public CharSequence getButtonLabel();
+    method @Nullable @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public CharSequence getPromptMessage();
+    method @Nullable @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public CharSequence getSettingName();
+  }
+
+  public class BiometricPrompt {
+    method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public void authenticate(@NonNull android.hardware.biometrics.BiometricPrompt.CryptoObject, @NonNull android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.biometrics.BiometricPrompt.AuthenticationCallback);
+    method @RequiresPermission(android.Manifest.permission.USE_BIOMETRIC) public void authenticate(@NonNull android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.biometrics.BiometricPrompt.AuthenticationCallback);
+    method @Nullable public int getAllowedAuthenticators();
+    method @Nullable public CharSequence getDescription();
+    method @Nullable public CharSequence getNegativeButtonText();
+    method @Nullable public CharSequence getSubtitle();
+    method @NonNull public CharSequence getTitle();
+    method public boolean isConfirmationRequired();
+    field public static final int AUTHENTICATION_RESULT_TYPE_BIOMETRIC = 2; // 0x2
+    field public static final int AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL = 1; // 0x1
+    field public static final int BIOMETRIC_ACQUIRED_GOOD = 0; // 0x0
+    field public static final int BIOMETRIC_ACQUIRED_IMAGER_DIRTY = 3; // 0x3
+    field public static final int BIOMETRIC_ACQUIRED_INSUFFICIENT = 2; // 0x2
+    field public static final int BIOMETRIC_ACQUIRED_PARTIAL = 1; // 0x1
+    field public static final int BIOMETRIC_ACQUIRED_TOO_FAST = 5; // 0x5
+    field public static final int BIOMETRIC_ACQUIRED_TOO_SLOW = 4; // 0x4
+    field public static final int BIOMETRIC_ERROR_CANCELED = 5; // 0x5
+    field public static final int BIOMETRIC_ERROR_HW_NOT_PRESENT = 12; // 0xc
+    field public static final int BIOMETRIC_ERROR_HW_UNAVAILABLE = 1; // 0x1
+    field public static final int BIOMETRIC_ERROR_LOCKOUT = 7; // 0x7
+    field public static final int BIOMETRIC_ERROR_LOCKOUT_PERMANENT = 9; // 0x9
+    field public static final int BIOMETRIC_ERROR_NO_BIOMETRICS = 11; // 0xb
+    field public static final int BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL = 14; // 0xe
+    field public static final int BIOMETRIC_ERROR_NO_SPACE = 4; // 0x4
+    field public static final int BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED = 15; // 0xf
+    field public static final int BIOMETRIC_ERROR_TIMEOUT = 3; // 0x3
+    field public static final int BIOMETRIC_ERROR_UNABLE_TO_PROCESS = 2; // 0x2
+    field public static final int BIOMETRIC_ERROR_USER_CANCELED = 10; // 0xa
+    field public static final int BIOMETRIC_ERROR_VENDOR = 8; // 0x8
+  }
+
+  public abstract static class BiometricPrompt.AuthenticationCallback {
+    ctor public BiometricPrompt.AuthenticationCallback();
+    method public void onAuthenticationError(int, CharSequence);
+    method public void onAuthenticationFailed();
+    method public void onAuthenticationHelp(int, CharSequence);
+    method public void onAuthenticationSucceeded(android.hardware.biometrics.BiometricPrompt.AuthenticationResult);
+  }
+
+  public static class BiometricPrompt.AuthenticationResult {
+    method public int getAuthenticationType();
+    method public android.hardware.biometrics.BiometricPrompt.CryptoObject getCryptoObject();
+  }
+
+  public static class BiometricPrompt.Builder {
+    ctor public BiometricPrompt.Builder(android.content.Context);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt build();
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setAllowedAuthenticators(int);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setConfirmationRequired(boolean);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setDescription(@NonNull CharSequence);
+    method @Deprecated @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setDeviceCredentialAllowed(boolean);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setNegativeButton(@NonNull CharSequence, @NonNull java.util.concurrent.Executor, @NonNull android.content.DialogInterface.OnClickListener);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setSubtitle(@NonNull CharSequence);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setTitle(@NonNull CharSequence);
+  }
+
+  public static final class BiometricPrompt.CryptoObject {
+    ctor public BiometricPrompt.CryptoObject(@NonNull java.security.Signature);
+    ctor public BiometricPrompt.CryptoObject(@NonNull javax.crypto.Cipher);
+    ctor public BiometricPrompt.CryptoObject(@NonNull javax.crypto.Mac);
+    ctor public BiometricPrompt.CryptoObject(@NonNull android.security.identity.IdentityCredential);
+    method public javax.crypto.Cipher getCipher();
+    method @Nullable public android.security.identity.IdentityCredential getIdentityCredential();
+    method public javax.crypto.Mac getMac();
+    method public java.security.Signature getSignature();
+  }
+
+}
+
+package android.hardware.camera2 {
+
+  public class CameraAccessException extends android.util.AndroidException {
+    ctor public CameraAccessException(int);
+    ctor public CameraAccessException(int, String);
+    ctor public CameraAccessException(int, String, Throwable);
+    ctor public CameraAccessException(int, Throwable);
+    method public final int getReason();
+    field public static final int CAMERA_DISABLED = 1; // 0x1
+    field public static final int CAMERA_DISCONNECTED = 2; // 0x2
+    field public static final int CAMERA_ERROR = 3; // 0x3
+    field public static final int CAMERA_IN_USE = 4; // 0x4
+    field public static final int MAX_CAMERAS_IN_USE = 5; // 0x5
+  }
+
+  public abstract class CameraCaptureSession implements java.lang.AutoCloseable {
+    ctor public CameraCaptureSession();
+    method public abstract void abortCaptures() throws android.hardware.camera2.CameraAccessException;
+    method public abstract int capture(@NonNull android.hardware.camera2.CaptureRequest, @Nullable android.hardware.camera2.CameraCaptureSession.CaptureCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public abstract int captureBurst(@NonNull java.util.List<android.hardware.camera2.CaptureRequest>, @Nullable android.hardware.camera2.CameraCaptureSession.CaptureCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public int captureBurstRequests(@NonNull java.util.List<android.hardware.camera2.CaptureRequest>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.CaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public int captureSingleRequest(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.CaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public abstract void close();
+    method public abstract void finalizeOutputConfigurations(java.util.List<android.hardware.camera2.params.OutputConfiguration>) throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public abstract android.hardware.camera2.CameraDevice getDevice();
+    method @Nullable public abstract android.view.Surface getInputSurface();
+    method public abstract boolean isReprocessable();
+    method public abstract void prepare(@NonNull android.view.Surface) throws android.hardware.camera2.CameraAccessException;
+    method public abstract int setRepeatingBurst(@NonNull java.util.List<android.hardware.camera2.CaptureRequest>, @Nullable android.hardware.camera2.CameraCaptureSession.CaptureCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public int setRepeatingBurstRequests(@NonNull java.util.List<android.hardware.camera2.CaptureRequest>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.CaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public abstract int setRepeatingRequest(@NonNull android.hardware.camera2.CaptureRequest, @Nullable android.hardware.camera2.CameraCaptureSession.CaptureCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public int setSingleRepeatingRequest(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.CaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public abstract void stopRepeating() throws android.hardware.camera2.CameraAccessException;
+    method public boolean supportsOfflineProcessing(@NonNull android.view.Surface);
+    method @Nullable public android.hardware.camera2.CameraOfflineSession switchToOffline(@NonNull java.util.Collection<android.view.Surface>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraOfflineSession.CameraOfflineSessionCallback) throws android.hardware.camera2.CameraAccessException;
+    method public void updateOutputConfiguration(android.hardware.camera2.params.OutputConfiguration) throws android.hardware.camera2.CameraAccessException;
+  }
+
+  public abstract static class CameraCaptureSession.CaptureCallback {
+    ctor public CameraCaptureSession.CaptureCallback();
+    method public void onCaptureBufferLost(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.hardware.camera2.CaptureRequest, @NonNull android.view.Surface, long);
+    method public void onCaptureCompleted(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.hardware.camera2.CaptureRequest, @NonNull android.hardware.camera2.TotalCaptureResult);
+    method public void onCaptureFailed(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.hardware.camera2.CaptureRequest, @NonNull android.hardware.camera2.CaptureFailure);
+    method public void onCaptureProgressed(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.hardware.camera2.CaptureRequest, @NonNull android.hardware.camera2.CaptureResult);
+    method public void onCaptureSequenceAborted(@NonNull android.hardware.camera2.CameraCaptureSession, int);
+    method public void onCaptureSequenceCompleted(@NonNull android.hardware.camera2.CameraCaptureSession, int, long);
+    method public void onCaptureStarted(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.hardware.camera2.CaptureRequest, long, long);
+  }
+
+  public abstract static class CameraCaptureSession.StateCallback {
+    ctor public CameraCaptureSession.StateCallback();
+    method public void onActive(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public void onCaptureQueueEmpty(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public void onClosed(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public abstract void onConfigureFailed(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public abstract void onConfigured(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public void onReady(@NonNull android.hardware.camera2.CameraCaptureSession);
+    method public void onSurfacePrepared(@NonNull android.hardware.camera2.CameraCaptureSession, @NonNull android.view.Surface);
+  }
+
+  public final class CameraCharacteristics extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CameraCharacteristics.Key<?>> {
+    method @Nullable public <T> T get(android.hardware.camera2.CameraCharacteristics.Key<T>);
+    method @NonNull public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailableCaptureRequestKeys();
+    method @NonNull public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getAvailableCaptureResultKeys();
+    method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailablePhysicalCameraRequestKeys();
+    method public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getAvailableSessionKeys();
+    method @NonNull public java.util.List<android.hardware.camera2.CameraCharacteristics.Key<?>> getKeys();
+    method @NonNull public java.util.List<android.hardware.camera2.CameraCharacteristics.Key<?>> getKeysNeedingPermission();
+    method @NonNull public java.util.Set<java.lang.String> getPhysicalCameraIds();
+    method @Nullable public android.hardware.camera2.params.RecommendedStreamConfigurationMap getRecommendedStreamConfigurationMap(int);
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>[]> CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_COMPENSATION_RANGE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Rational> CONTROL_AE_COMPENSATION_STEP;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> CONTROL_AE_LOCK_AVAILABLE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AF_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_EFFECTS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.Capability[]> CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_CAPABILITIES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_SCENE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AWB_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> CONTROL_AWB_LOCK_AVAILABLE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AF;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AWB;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Float>> CONTROL_ZOOM_RATIO_RANGE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> DEPTH_DEPTH_IS_EXCLUSIVE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> DISTORTION_CORRECTION_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> EDGE_AVAILABLE_EDGE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> FLASH_INFO_AVAILABLE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.DeviceStateSensorOrientationMap> INFO_DEVICE_STATE_SENSOR_ORIENTATION_MAP;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> INFO_SUPPORTED_HARDWARE_LEVEL;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.String> INFO_VERSION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size[]> JPEG_AVAILABLE_THUMBNAIL_SIZES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_DISTORTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_DISTORTION_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_FACING;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_APERTURES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_FILTER_DENSITIES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_FOCAL_LENGTHS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_INFO_FOCUS_DISTANCE_CALIBRATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_HYPERFOCAL_DISTANCE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INTRINSIC_CALIBRATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_POSE_REFERENCE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_ROTATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_TRANSLATION;
+    field @Deprecated @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_RADIAL_DISTORTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REPROCESS_MAX_CAPTURE_STALL;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> REQUEST_AVAILABLE_CAPABILITIES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_INPUT_STREAMS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_PROC;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_PROC_STALLING;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_RAW;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_PARTIAL_RESULT_COUNT;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> REQUEST_PIPELINE_MAX_DEPTH;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> SCALER_AVAILABLE_MAX_DIGITAL_ZOOM;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SCALER_AVAILABLE_ROTATE_AND_CROP_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SCALER_CROPPING_TYPE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size> SCALER_DEFAULT_SECURE_IMAGE_SIZE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_CONCURRENT_STREAM_COMBINATIONS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_MAXIMUM_RESOLUTION_STREAM_COMBINATIONS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_STREAM_COMBINATIONS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MultiResolutionStreamConfigurationMap> SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.StreamConfigurationMap> SCALER_STREAM_CONFIGURATION_MAP;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.StreamConfigurationMap> SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SENSOR_AVAILABLE_TEST_PATTERN_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_BLACK_LEVEL_PATTERN;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM1;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM2;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_COLOR_TRANSFORM1;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_COLOR_TRANSFORM2;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_FORWARD_MATRIX1;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_FORWARD_MATRIX2;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size> SENSOR_INFO_BINNING_FACTOR;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_COLOR_FILTER_ARRANGEMENT;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Long>> SENSOR_INFO_EXPOSURE_TIME_RANGE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> SENSOR_INFO_LENS_SHADING_APPLIED;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Long> SENSOR_INFO_MAX_FRAME_DURATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.SizeF> SENSOR_INFO_PHYSICAL_SIZE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size> SENSOR_INFO_PIXEL_ARRAY_SIZE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size> SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> SENSOR_INFO_SENSITIVITY_RANGE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_TIMESTAMP_SOURCE;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_WHITE_LEVEL;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_MAX_ANALOG_SENSITIVITY;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_ORIENTATION;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_REFERENCE_ILLUMINANT1;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> SENSOR_REFERENCE_ILLUMINANT2;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SHADING_AVAILABLE_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<boolean[]> STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> STATISTICS_INFO_MAX_FACE_COUNT;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SYNC_MAX_LATENCY;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> TONEMAP_AVAILABLE_TONE_MAP_MODES;
+    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> TONEMAP_MAX_CURVE_POINTS;
+  }
+
+  public static final class CameraCharacteristics.Key<T> {
+    ctor public CameraCharacteristics.Key(@NonNull String, @NonNull Class<T>);
+    method @NonNull public String getName();
+  }
+
+  public abstract class CameraConstrainedHighSpeedCaptureSession extends android.hardware.camera2.CameraCaptureSession {
+    ctor public CameraConstrainedHighSpeedCaptureSession();
+    method @NonNull public abstract java.util.List<android.hardware.camera2.CaptureRequest> createHighSpeedRequestList(@NonNull android.hardware.camera2.CaptureRequest) throws android.hardware.camera2.CameraAccessException;
+  }
+
+  public abstract class CameraDevice implements java.lang.AutoCloseable {
+    method public abstract void close();
+    method @NonNull public abstract android.hardware.camera2.CaptureRequest.Builder createCaptureRequest(int) throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public android.hardware.camera2.CaptureRequest.Builder createCaptureRequest(int, java.util.Set<java.lang.String>) throws android.hardware.camera2.CameraAccessException;
+    method @Deprecated public abstract void createCaptureSession(@NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public void createCaptureSession(android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException;
+    method @Deprecated public abstract void createCaptureSessionByOutputConfigurations(java.util.List<android.hardware.camera2.params.OutputConfiguration>, android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method @Deprecated public abstract void createConstrainedHighSpeedCaptureSession(@NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public void createExtensionSession(@NonNull android.hardware.camera2.params.ExtensionSessionConfiguration) throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public abstract android.hardware.camera2.CaptureRequest.Builder createReprocessCaptureRequest(@NonNull android.hardware.camera2.TotalCaptureResult) throws android.hardware.camera2.CameraAccessException;
+    method @Deprecated public abstract void createReprocessableCaptureSession(@NonNull android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.view.Surface>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method @Deprecated public abstract void createReprocessableCaptureSessionByConfigurations(@NonNull android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method public int getCameraAudioRestriction() throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public abstract String getId();
+    method public boolean isSessionConfigurationSupported(@NonNull android.hardware.camera2.params.SessionConfiguration) throws android.hardware.camera2.CameraAccessException;
+    method public void setCameraAudioRestriction(int) throws android.hardware.camera2.CameraAccessException;
+    field public static final int AUDIO_RESTRICTION_NONE = 0; // 0x0
+    field public static final int AUDIO_RESTRICTION_VIBRATION = 1; // 0x1
+    field public static final int AUDIO_RESTRICTION_VIBRATION_SOUND = 3; // 0x3
+    field public static final int TEMPLATE_MANUAL = 6; // 0x6
+    field public static final int TEMPLATE_PREVIEW = 1; // 0x1
+    field public static final int TEMPLATE_RECORD = 3; // 0x3
+    field public static final int TEMPLATE_STILL_CAPTURE = 2; // 0x2
+    field public static final int TEMPLATE_VIDEO_SNAPSHOT = 4; // 0x4
+    field public static final int TEMPLATE_ZERO_SHUTTER_LAG = 5; // 0x5
+  }
+
+  public abstract static class CameraDevice.StateCallback {
+    ctor public CameraDevice.StateCallback();
+    method public void onClosed(@NonNull android.hardware.camera2.CameraDevice);
+    method public abstract void onDisconnected(@NonNull android.hardware.camera2.CameraDevice);
+    method public abstract void onError(@NonNull android.hardware.camera2.CameraDevice, int);
+    method public abstract void onOpened(@NonNull android.hardware.camera2.CameraDevice);
+    field public static final int ERROR_CAMERA_DEVICE = 4; // 0x4
+    field public static final int ERROR_CAMERA_DISABLED = 3; // 0x3
+    field public static final int ERROR_CAMERA_IN_USE = 1; // 0x1
+    field public static final int ERROR_CAMERA_SERVICE = 5; // 0x5
+    field public static final int ERROR_MAX_CAMERAS_IN_USE = 2; // 0x2
+  }
+
+  public final class CameraExtensionCharacteristics {
+    method @Nullable public android.util.Range<java.lang.Long> getEstimatedCaptureLatencyRangeMillis(int, @NonNull android.util.Size, int);
+    method @NonNull public <T> java.util.List<android.util.Size> getExtensionSupportedSizes(int, @NonNull Class<T>);
+    method @NonNull public java.util.List<android.util.Size> getExtensionSupportedSizes(int, int);
+    method @NonNull public java.util.List<java.lang.Integer> getSupportedExtensions();
+    field public static final int EXTENSION_AUTOMATIC = 0; // 0x0
+    field public static final int EXTENSION_BEAUTY = 1; // 0x1
+    field public static final int EXTENSION_BOKEH = 2; // 0x2
+    field public static final int EXTENSION_HDR = 3; // 0x3
+    field public static final int EXTENSION_NIGHT = 4; // 0x4
+  }
+
+  public abstract class CameraExtensionSession implements java.lang.AutoCloseable {
+    method public int capture(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraExtensionSession.ExtensionCaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public void close() throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public android.hardware.camera2.CameraDevice getDevice();
+    method public int setRepeatingRequest(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraExtensionSession.ExtensionCaptureCallback) throws android.hardware.camera2.CameraAccessException;
+    method public void stopRepeating() throws android.hardware.camera2.CameraAccessException;
+  }
+
+  public abstract static class CameraExtensionSession.ExtensionCaptureCallback {
+    ctor public CameraExtensionSession.ExtensionCaptureCallback();
+    method public void onCaptureFailed(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest);
+    method public void onCaptureProcessStarted(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest);
+    method public void onCaptureSequenceAborted(@NonNull android.hardware.camera2.CameraExtensionSession, int);
+    method public void onCaptureSequenceCompleted(@NonNull android.hardware.camera2.CameraExtensionSession, int);
+    method public void onCaptureStarted(@NonNull android.hardware.camera2.CameraExtensionSession, @NonNull android.hardware.camera2.CaptureRequest, long);
+  }
+
+  public abstract static class CameraExtensionSession.StateCallback {
+    ctor public CameraExtensionSession.StateCallback();
+    method public void onClosed(@NonNull android.hardware.camera2.CameraExtensionSession);
+    method public abstract void onConfigureFailed(@NonNull android.hardware.camera2.CameraExtensionSession);
+    method public abstract void onConfigured(@NonNull android.hardware.camera2.CameraExtensionSession);
+  }
+
+  public final class CameraManager {
+    method @NonNull public android.hardware.camera2.CameraCharacteristics getCameraCharacteristics(@NonNull String) throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public android.hardware.camera2.CameraExtensionCharacteristics getCameraExtensionCharacteristics(@NonNull String) throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public String[] getCameraIdList() throws android.hardware.camera2.CameraAccessException;
+    method @NonNull public java.util.Set<java.util.Set<java.lang.String>> getConcurrentCameraIds() throws android.hardware.camera2.CameraAccessException;
+    method @RequiresPermission(android.Manifest.permission.CAMERA) public boolean isConcurrentSessionConfigurationSupported(@NonNull java.util.Map<java.lang.String,android.hardware.camera2.params.SessionConfiguration>) throws android.hardware.camera2.CameraAccessException;
+    method @RequiresPermission(android.Manifest.permission.CAMERA) public void openCamera(@NonNull String, @NonNull android.hardware.camera2.CameraDevice.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    method @RequiresPermission(android.Manifest.permission.CAMERA) public void openCamera(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException;
+    method public void registerAvailabilityCallback(@NonNull android.hardware.camera2.CameraManager.AvailabilityCallback, @Nullable android.os.Handler);
+    method public void registerAvailabilityCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraManager.AvailabilityCallback);
+    method public void registerTorchCallback(@NonNull android.hardware.camera2.CameraManager.TorchCallback, @Nullable android.os.Handler);
+    method public void registerTorchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraManager.TorchCallback);
+    method public void setTorchMode(@NonNull String, boolean) throws android.hardware.camera2.CameraAccessException;
+    method public void unregisterAvailabilityCallback(@NonNull android.hardware.camera2.CameraManager.AvailabilityCallback);
+    method public void unregisterTorchCallback(@NonNull android.hardware.camera2.CameraManager.TorchCallback);
+  }
+
+  public abstract static class CameraManager.AvailabilityCallback {
+    ctor public CameraManager.AvailabilityCallback();
+    method public void onCameraAccessPrioritiesChanged();
+    method public void onCameraAvailable(@NonNull String);
+    method public void onCameraUnavailable(@NonNull String);
+    method public void onPhysicalCameraAvailable(@NonNull String, @NonNull String);
+    method public void onPhysicalCameraUnavailable(@NonNull String, @NonNull String);
+  }
+
+  public abstract static class CameraManager.TorchCallback {
+    ctor public CameraManager.TorchCallback();
+    method public void onTorchModeChanged(@NonNull String, boolean);
+    method public void onTorchModeUnavailable(@NonNull String);
+  }
+
+  public abstract class CameraMetadata<TKey> {
+    method @NonNull public java.util.List<TKey> getKeys();
+    field public static final int COLOR_CORRECTION_ABERRATION_MODE_FAST = 1; // 0x1
+    field public static final int COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int COLOR_CORRECTION_ABERRATION_MODE_OFF = 0; // 0x0
+    field public static final int COLOR_CORRECTION_MODE_FAST = 1; // 0x1
+    field public static final int COLOR_CORRECTION_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int COLOR_CORRECTION_MODE_TRANSFORM_MATRIX = 0; // 0x0
+    field public static final int CONTROL_AE_ANTIBANDING_MODE_50HZ = 1; // 0x1
+    field public static final int CONTROL_AE_ANTIBANDING_MODE_60HZ = 2; // 0x2
+    field public static final int CONTROL_AE_ANTIBANDING_MODE_AUTO = 3; // 0x3
+    field public static final int CONTROL_AE_ANTIBANDING_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_AE_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_AE_MODE_ON = 1; // 0x1
+    field public static final int CONTROL_AE_MODE_ON_ALWAYS_FLASH = 3; // 0x3
+    field public static final int CONTROL_AE_MODE_ON_AUTO_FLASH = 2; // 0x2
+    field public static final int CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE = 4; // 0x4
+    field public static final int CONTROL_AE_MODE_ON_EXTERNAL_FLASH = 5; // 0x5
+    field public static final int CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL = 2; // 0x2
+    field public static final int CONTROL_AE_PRECAPTURE_TRIGGER_IDLE = 0; // 0x0
+    field public static final int CONTROL_AE_PRECAPTURE_TRIGGER_START = 1; // 0x1
+    field public static final int CONTROL_AE_STATE_CONVERGED = 2; // 0x2
+    field public static final int CONTROL_AE_STATE_FLASH_REQUIRED = 4; // 0x4
+    field public static final int CONTROL_AE_STATE_INACTIVE = 0; // 0x0
+    field public static final int CONTROL_AE_STATE_LOCKED = 3; // 0x3
+    field public static final int CONTROL_AE_STATE_PRECAPTURE = 5; // 0x5
+    field public static final int CONTROL_AE_STATE_SEARCHING = 1; // 0x1
+    field public static final int CONTROL_AF_MODE_AUTO = 1; // 0x1
+    field public static final int CONTROL_AF_MODE_CONTINUOUS_PICTURE = 4; // 0x4
+    field public static final int CONTROL_AF_MODE_CONTINUOUS_VIDEO = 3; // 0x3
+    field public static final int CONTROL_AF_MODE_EDOF = 5; // 0x5
+    field public static final int CONTROL_AF_MODE_MACRO = 2; // 0x2
+    field public static final int CONTROL_AF_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_AF_SCENE_CHANGE_DETECTED = 1; // 0x1
+    field public static final int CONTROL_AF_SCENE_CHANGE_NOT_DETECTED = 0; // 0x0
+    field public static final int CONTROL_AF_STATE_ACTIVE_SCAN = 3; // 0x3
+    field public static final int CONTROL_AF_STATE_FOCUSED_LOCKED = 4; // 0x4
+    field public static final int CONTROL_AF_STATE_INACTIVE = 0; // 0x0
+    field public static final int CONTROL_AF_STATE_NOT_FOCUSED_LOCKED = 5; // 0x5
+    field public static final int CONTROL_AF_STATE_PASSIVE_FOCUSED = 2; // 0x2
+    field public static final int CONTROL_AF_STATE_PASSIVE_SCAN = 1; // 0x1
+    field public static final int CONTROL_AF_STATE_PASSIVE_UNFOCUSED = 6; // 0x6
+    field public static final int CONTROL_AF_TRIGGER_CANCEL = 2; // 0x2
+    field public static final int CONTROL_AF_TRIGGER_IDLE = 0; // 0x0
+    field public static final int CONTROL_AF_TRIGGER_START = 1; // 0x1
+    field public static final int CONTROL_AWB_MODE_AUTO = 1; // 0x1
+    field public static final int CONTROL_AWB_MODE_CLOUDY_DAYLIGHT = 6; // 0x6
+    field public static final int CONTROL_AWB_MODE_DAYLIGHT = 5; // 0x5
+    field public static final int CONTROL_AWB_MODE_FLUORESCENT = 3; // 0x3
+    field public static final int CONTROL_AWB_MODE_INCANDESCENT = 2; // 0x2
+    field public static final int CONTROL_AWB_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_AWB_MODE_SHADE = 8; // 0x8
+    field public static final int CONTROL_AWB_MODE_TWILIGHT = 7; // 0x7
+    field public static final int CONTROL_AWB_MODE_WARM_FLUORESCENT = 4; // 0x4
+    field public static final int CONTROL_AWB_STATE_CONVERGED = 2; // 0x2
+    field public static final int CONTROL_AWB_STATE_INACTIVE = 0; // 0x0
+    field public static final int CONTROL_AWB_STATE_LOCKED = 3; // 0x3
+    field public static final int CONTROL_AWB_STATE_SEARCHING = 1; // 0x1
+    field public static final int CONTROL_CAPTURE_INTENT_CUSTOM = 0; // 0x0
+    field public static final int CONTROL_CAPTURE_INTENT_MANUAL = 6; // 0x6
+    field public static final int CONTROL_CAPTURE_INTENT_MOTION_TRACKING = 7; // 0x7
+    field public static final int CONTROL_CAPTURE_INTENT_PREVIEW = 1; // 0x1
+    field public static final int CONTROL_CAPTURE_INTENT_STILL_CAPTURE = 2; // 0x2
+    field public static final int CONTROL_CAPTURE_INTENT_VIDEO_RECORD = 3; // 0x3
+    field public static final int CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT = 4; // 0x4
+    field public static final int CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG = 5; // 0x5
+    field public static final int CONTROL_EFFECT_MODE_AQUA = 8; // 0x8
+    field public static final int CONTROL_EFFECT_MODE_BLACKBOARD = 7; // 0x7
+    field public static final int CONTROL_EFFECT_MODE_MONO = 1; // 0x1
+    field public static final int CONTROL_EFFECT_MODE_NEGATIVE = 2; // 0x2
+    field public static final int CONTROL_EFFECT_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_EFFECT_MODE_POSTERIZE = 5; // 0x5
+    field public static final int CONTROL_EFFECT_MODE_SEPIA = 4; // 0x4
+    field public static final int CONTROL_EFFECT_MODE_SOLARIZE = 3; // 0x3
+    field public static final int CONTROL_EFFECT_MODE_WHITEBOARD = 6; // 0x6
+    field public static final int CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS = 2; // 0x2
+    field public static final int CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE = 1; // 0x1
+    field public static final int CONTROL_EXTENDED_SCENE_MODE_DISABLED = 0; // 0x0
+    field public static final int CONTROL_MODE_AUTO = 1; // 0x1
+    field public static final int CONTROL_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_MODE_OFF_KEEP_STATE = 3; // 0x3
+    field public static final int CONTROL_MODE_USE_EXTENDED_SCENE_MODE = 4; // 0x4
+    field public static final int CONTROL_MODE_USE_SCENE_MODE = 2; // 0x2
+    field public static final int CONTROL_SCENE_MODE_ACTION = 2; // 0x2
+    field public static final int CONTROL_SCENE_MODE_BARCODE = 16; // 0x10
+    field public static final int CONTROL_SCENE_MODE_BEACH = 8; // 0x8
+    field public static final int CONTROL_SCENE_MODE_CANDLELIGHT = 15; // 0xf
+    field public static final int CONTROL_SCENE_MODE_DISABLED = 0; // 0x0
+    field public static final int CONTROL_SCENE_MODE_FACE_PRIORITY = 1; // 0x1
+    field public static final int CONTROL_SCENE_MODE_FIREWORKS = 12; // 0xc
+    field public static final int CONTROL_SCENE_MODE_HDR = 18; // 0x12
+    field @Deprecated public static final int CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO = 17; // 0x11
+    field public static final int CONTROL_SCENE_MODE_LANDSCAPE = 4; // 0x4
+    field public static final int CONTROL_SCENE_MODE_NIGHT = 5; // 0x5
+    field public static final int CONTROL_SCENE_MODE_NIGHT_PORTRAIT = 6; // 0x6
+    field public static final int CONTROL_SCENE_MODE_PARTY = 14; // 0xe
+    field public static final int CONTROL_SCENE_MODE_PORTRAIT = 3; // 0x3
+    field public static final int CONTROL_SCENE_MODE_SNOW = 9; // 0x9
+    field public static final int CONTROL_SCENE_MODE_SPORTS = 13; // 0xd
+    field public static final int CONTROL_SCENE_MODE_STEADYPHOTO = 11; // 0xb
+    field public static final int CONTROL_SCENE_MODE_SUNSET = 10; // 0xa
+    field public static final int CONTROL_SCENE_MODE_THEATRE = 7; // 0x7
+    field public static final int CONTROL_VIDEO_STABILIZATION_MODE_OFF = 0; // 0x0
+    field public static final int CONTROL_VIDEO_STABILIZATION_MODE_ON = 1; // 0x1
+    field public static final int DISTORTION_CORRECTION_MODE_FAST = 1; // 0x1
+    field public static final int DISTORTION_CORRECTION_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int DISTORTION_CORRECTION_MODE_OFF = 0; // 0x0
+    field public static final int EDGE_MODE_FAST = 1; // 0x1
+    field public static final int EDGE_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int EDGE_MODE_OFF = 0; // 0x0
+    field public static final int EDGE_MODE_ZERO_SHUTTER_LAG = 3; // 0x3
+    field public static final int FLASH_MODE_OFF = 0; // 0x0
+    field public static final int FLASH_MODE_SINGLE = 1; // 0x1
+    field public static final int FLASH_MODE_TORCH = 2; // 0x2
+    field public static final int FLASH_STATE_CHARGING = 1; // 0x1
+    field public static final int FLASH_STATE_FIRED = 3; // 0x3
+    field public static final int FLASH_STATE_PARTIAL = 4; // 0x4
+    field public static final int FLASH_STATE_READY = 2; // 0x2
+    field public static final int FLASH_STATE_UNAVAILABLE = 0; // 0x0
+    field public static final int HOT_PIXEL_MODE_FAST = 1; // 0x1
+    field public static final int HOT_PIXEL_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int HOT_PIXEL_MODE_OFF = 0; // 0x0
+    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_3 = 3; // 0x3
+    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL = 4; // 0x4
+    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1; // 0x1
+    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY = 2; // 0x2
+    field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0; // 0x0
+    field public static final int LENS_FACING_BACK = 1; // 0x1
+    field public static final int LENS_FACING_EXTERNAL = 2; // 0x2
+    field public static final int LENS_FACING_FRONT = 0; // 0x0
+    field public static final int LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE = 1; // 0x1
+    field public static final int LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED = 2; // 0x2
+    field public static final int LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED = 0; // 0x0
+    field public static final int LENS_OPTICAL_STABILIZATION_MODE_OFF = 0; // 0x0
+    field public static final int LENS_OPTICAL_STABILIZATION_MODE_ON = 1; // 0x1
+    field public static final int LENS_POSE_REFERENCE_GYROSCOPE = 1; // 0x1
+    field public static final int LENS_POSE_REFERENCE_PRIMARY_CAMERA = 0; // 0x0
+    field public static final int LENS_POSE_REFERENCE_UNDEFINED = 2; // 0x2
+    field public static final int LENS_STATE_MOVING = 1; // 0x1
+    field public static final int LENS_STATE_STATIONARY = 0; // 0x0
+    field public static final int LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE = 0; // 0x0
+    field public static final int LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED = 1; // 0x1
+    field public static final int NOISE_REDUCTION_MODE_FAST = 1; // 0x1
+    field public static final int NOISE_REDUCTION_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int NOISE_REDUCTION_MODE_MINIMAL = 3; // 0x3
+    field public static final int NOISE_REDUCTION_MODE_OFF = 0; // 0x0
+    field public static final int NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG = 4; // 0x4
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE = 0; // 0x0
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE = 6; // 0x6
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO = 9; // 0x9
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT = 8; // 0x8
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA = 11; // 0xb
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING = 2; // 0x2
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR = 1; // 0x1
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME = 12; // 0xc
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING = 10; // 0xa
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING = 15; // 0xf
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING = 4; // 0x4
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_RAW = 3; // 0x3
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS = 5; // 0x5
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_REMOSAIC_REPROCESSING = 17; // 0x11
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA = 13; // 0xd
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA = 14; // 0xe
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR = 16; // 0x10
+    field public static final int REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING = 7; // 0x7
+    field public static final int SCALER_CROPPING_TYPE_CENTER_ONLY = 0; // 0x0
+    field public static final int SCALER_CROPPING_TYPE_FREEFORM = 1; // 0x1
+    field public static final int SCALER_ROTATE_AND_CROP_180 = 2; // 0x2
+    field public static final int SCALER_ROTATE_AND_CROP_270 = 3; // 0x3
+    field public static final int SCALER_ROTATE_AND_CROP_90 = 1; // 0x1
+    field public static final int SCALER_ROTATE_AND_CROP_AUTO = 4; // 0x4
+    field public static final int SCALER_ROTATE_AND_CROP_NONE = 0; // 0x0
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR = 3; // 0x3
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG = 2; // 0x2
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG = 1; // 0x1
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO = 5; // 0x5
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR = 6; // 0x6
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB = 4; // 0x4
+    field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB = 0; // 0x0
+    field public static final int SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME = 1; // 0x1
+    field public static final int SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN = 0; // 0x0
+    field public static final int SENSOR_PIXEL_MODE_DEFAULT = 0; // 0x0
+    field public static final int SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION = 1; // 0x1
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER = 10; // 0xa
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT = 14; // 0xe
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_D50 = 23; // 0x17
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_D55 = 20; // 0x14
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_D65 = 21; // 0x15
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_D75 = 22; // 0x16
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT = 1; // 0x1
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT = 12; // 0xc
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT = 13; // 0xd
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER = 9; // 0x9
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_FLASH = 4; // 0x4
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT = 2; // 0x2
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN = 24; // 0x18
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_SHADE = 11; // 0xb
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A = 17; // 0x11
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B = 18; // 0x12
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C = 19; // 0x13
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN = 3; // 0x3
+    field public static final int SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT = 15; // 0xf
+    field public static final int SENSOR_TEST_PATTERN_MODE_COLOR_BARS = 2; // 0x2
+    field public static final int SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY = 3; // 0x3
+    field public static final int SENSOR_TEST_PATTERN_MODE_CUSTOM1 = 256; // 0x100
+    field public static final int SENSOR_TEST_PATTERN_MODE_OFF = 0; // 0x0
+    field public static final int SENSOR_TEST_PATTERN_MODE_PN9 = 4; // 0x4
+    field public static final int SENSOR_TEST_PATTERN_MODE_SOLID_COLOR = 1; // 0x1
+    field public static final int SHADING_MODE_FAST = 1; // 0x1
+    field public static final int SHADING_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int SHADING_MODE_OFF = 0; // 0x0
+    field public static final int STATISTICS_FACE_DETECT_MODE_FULL = 2; // 0x2
+    field public static final int STATISTICS_FACE_DETECT_MODE_OFF = 0; // 0x0
+    field public static final int STATISTICS_FACE_DETECT_MODE_SIMPLE = 1; // 0x1
+    field public static final int STATISTICS_LENS_SHADING_MAP_MODE_OFF = 0; // 0x0
+    field public static final int STATISTICS_LENS_SHADING_MAP_MODE_ON = 1; // 0x1
+    field public static final int STATISTICS_OIS_DATA_MODE_OFF = 0; // 0x0
+    field public static final int STATISTICS_OIS_DATA_MODE_ON = 1; // 0x1
+    field public static final int STATISTICS_SCENE_FLICKER_50HZ = 1; // 0x1
+    field public static final int STATISTICS_SCENE_FLICKER_60HZ = 2; // 0x2
+    field public static final int STATISTICS_SCENE_FLICKER_NONE = 0; // 0x0
+    field public static final int SYNC_MAX_LATENCY_PER_FRAME_CONTROL = 0; // 0x0
+    field public static final int SYNC_MAX_LATENCY_UNKNOWN = -1; // 0xffffffff
+    field public static final int TONEMAP_MODE_CONTRAST_CURVE = 0; // 0x0
+    field public static final int TONEMAP_MODE_FAST = 1; // 0x1
+    field public static final int TONEMAP_MODE_GAMMA_VALUE = 3; // 0x3
+    field public static final int TONEMAP_MODE_HIGH_QUALITY = 2; // 0x2
+    field public static final int TONEMAP_MODE_PRESET_CURVE = 4; // 0x4
+    field public static final int TONEMAP_PRESET_CURVE_REC709 = 1; // 0x1
+    field public static final int TONEMAP_PRESET_CURVE_SRGB = 0; // 0x0
+  }
+
+  public abstract class CameraOfflineSession extends android.hardware.camera2.CameraCaptureSession {
+    ctor public CameraOfflineSession();
+  }
+
+  public abstract static class CameraOfflineSession.CameraOfflineSessionCallback {
+    ctor public CameraOfflineSession.CameraOfflineSessionCallback();
+    method public abstract void onClosed(@NonNull android.hardware.camera2.CameraOfflineSession);
+    method public abstract void onError(@NonNull android.hardware.camera2.CameraOfflineSession, int);
+    method public abstract void onIdle(@NonNull android.hardware.camera2.CameraOfflineSession);
+    method public abstract void onReady(@NonNull android.hardware.camera2.CameraOfflineSession);
+    method public abstract void onSwitchFailed(@NonNull android.hardware.camera2.CameraOfflineSession);
+    field public static final int STATUS_INTERNAL_ERROR = 0; // 0x0
+  }
+
+  public class CaptureFailure {
+    method public long getFrameNumber();
+    method @Nullable public String getPhysicalCameraId();
+    method public int getReason();
+    method @NonNull public android.hardware.camera2.CaptureRequest getRequest();
+    method public int getSequenceId();
+    method public boolean wasImageCaptured();
+    field public static final int REASON_ERROR = 0; // 0x0
+    field public static final int REASON_FLUSHED = 1; // 0x1
+  }
+
+  public final class CaptureRequest extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CaptureRequest.Key<?>> implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public <T> T get(android.hardware.camera2.CaptureRequest.Key<T>);
+    method @NonNull public java.util.List<android.hardware.camera2.CaptureRequest.Key<?>> getKeys();
+    method @Nullable public Object getTag();
+    method public boolean isReprocess();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> BLACK_LEVEL_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> COLOR_CORRECTION_ABERRATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.RggbChannelVector> COLOR_CORRECTION_GAINS;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> COLOR_CORRECTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.ColorSpaceTransform> COLOR_CORRECTION_TRANSFORM;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_ANTIBANDING_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_EXPOSURE_COMPENSATION;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_AE_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_PRECAPTURE_TRIGGER;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_TARGET_FPS_RANGE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AF_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AF_TRIGGER;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_AWB_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AWB_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EXTENDED_SCENE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_SCENE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_VIDEO_STABILIZATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> CONTROL_ZOOM_RATIO;
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.camera2.CaptureRequest> CREATOR;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> DISTORTION_CORRECTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> EDGE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> FLASH_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> HOT_PIXEL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.location.Location> JPEG_GPS_LOCATION;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> JPEG_ORIENTATION;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Byte> JPEG_QUALITY;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Byte> JPEG_THUMBNAIL_QUALITY;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.util.Size> JPEG_THUMBNAIL_SIZE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_APERTURE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FILTER_DENSITY;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FOCAL_LENGTH;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FOCUS_DISTANCE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> NOISE_REDUCTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.graphics.Rect> SCALER_CROP_REGION;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SCALER_ROTATE_AND_CROP;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Long> SENSOR_EXPOSURE_TIME;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Long> SENSOR_FRAME_DURATION;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SENSOR_PIXEL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SENSOR_SENSITIVITY;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<int[]> SENSOR_TEST_PATTERN_DATA;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SENSOR_TEST_PATTERN_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SHADING_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_FACE_DETECT_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> STATISTICS_HOT_PIXEL_MAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_LENS_SHADING_MAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_OIS_DATA_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.TonemapCurve> TONEMAP_CURVE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> TONEMAP_GAMMA;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> TONEMAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
+  }
+
+  public static final class CaptureRequest.Builder {
+    method public void addTarget(@NonNull android.view.Surface);
+    method @NonNull public android.hardware.camera2.CaptureRequest build();
+    method @Nullable public <T> T get(android.hardware.camera2.CaptureRequest.Key<T>);
+    method @Nullable public <T> T getPhysicalCameraKey(android.hardware.camera2.CaptureRequest.Key<T>, @NonNull String);
+    method public void removeTarget(@NonNull android.view.Surface);
+    method public <T> void set(@NonNull android.hardware.camera2.CaptureRequest.Key<T>, T);
+    method public <T> android.hardware.camera2.CaptureRequest.Builder setPhysicalCameraKey(@NonNull android.hardware.camera2.CaptureRequest.Key<T>, T, @NonNull String);
+    method public void setTag(@Nullable Object);
+  }
+
+  public static final class CaptureRequest.Key<T> {
+    ctor public CaptureRequest.Key(@NonNull String, @NonNull Class<T>);
+    method @NonNull public String getName();
+  }
+
+  public class CaptureResult extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CaptureResult.Key<?>> {
+    method @Nullable public <T> T get(android.hardware.camera2.CaptureResult.Key<T>);
+    method @NonNull public String getCameraId();
+    method public long getFrameNumber();
+    method @NonNull public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getKeys();
+    method @NonNull public android.hardware.camera2.CaptureRequest getRequest();
+    method public int getSequenceId();
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> BLACK_LEVEL_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> COLOR_CORRECTION_ABERRATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.RggbChannelVector> COLOR_CORRECTION_GAINS;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> COLOR_CORRECTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.ColorSpaceTransform> COLOR_CORRECTION_TRANSFORM;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_ANTIBANDING_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_EXPOSURE_COMPENSATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_AE_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_PRECAPTURE_TRIGGER;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_STATE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_TARGET_FPS_RANGE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_SCENE_CHANGE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_STATE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_TRIGGER;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_AWB_LOCK;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_STATE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EXTENDED_SCENE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_SCENE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_VIDEO_STABILIZATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> CONTROL_ZOOM_RATIO;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> DISTORTION_CORRECTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> EDGE_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> FLASH_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> FLASH_STATE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> HOT_PIXEL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.location.Location> JPEG_GPS_LOCATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> JPEG_ORIENTATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> JPEG_QUALITY;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> JPEG_THUMBNAIL_QUALITY;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Size> JPEG_THUMBNAIL_SIZE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_APERTURE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_DISTORTION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FILTER_DENSITY;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCAL_LENGTH;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCUS_DISTANCE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Float,java.lang.Float>> LENS_FOCUS_RANGE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_INTRINSIC_CALIBRATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_ROTATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_TRANSLATION;
+    field @Deprecated @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_RADIAL_DISTORTION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_STATE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.String> LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> NOISE_REDUCTION_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> REQUEST_PIPELINE_DEPTH;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Rect> SCALER_CROP_REGION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SCALER_ROTATE_AND_CROP;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> SENSOR_DYNAMIC_BLACK_LEVEL;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_DYNAMIC_WHITE_LEVEL;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_EXPOSURE_TIME;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_FRAME_DURATION;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> SENSOR_GREEN_SPLIT;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Rational[]> SENSOR_NEUTRAL_COLOR_POINT;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Double,java.lang.Double>[]> SENSOR_NOISE_PROFILE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_PIXEL_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> SENSOR_RAW_BINNING_FACTOR_USED;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_ROLLING_SHUTTER_SKEW;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_SENSITIVITY;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<int[]> SENSOR_TEST_PATTERN_DATA;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_TEST_PATTERN_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_TIMESTAMP;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SHADING_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.Face[]> STATISTICS_FACES;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_FACE_DETECT_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Point[]> STATISTICS_HOT_PIXEL_MAP;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> STATISTICS_HOT_PIXEL_MAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.LensShadingMap> STATISTICS_LENS_SHADING_CORRECTION_MAP;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_LENS_SHADING_MAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_OIS_DATA_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.OisSample[]> STATISTICS_OIS_SAMPLES;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_SCENE_FLICKER;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.TonemapCurve> TONEMAP_CURVE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> TONEMAP_GAMMA;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_MODE;
+    field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
+  }
+
+  public static final class CaptureResult.Key<T> {
+    ctor public CaptureResult.Key(@NonNull String, @NonNull Class<T>);
+    method @NonNull public String getName();
+  }
+
+  public final class DngCreator implements java.lang.AutoCloseable {
+    ctor public DngCreator(@NonNull android.hardware.camera2.CameraCharacteristics, @NonNull android.hardware.camera2.CaptureResult);
+    method public void close();
+    method @NonNull public android.hardware.camera2.DngCreator setDescription(@NonNull String);
+    method @NonNull public android.hardware.camera2.DngCreator setLocation(@NonNull android.location.Location);
+    method @NonNull public android.hardware.camera2.DngCreator setOrientation(int);
+    method @NonNull public android.hardware.camera2.DngCreator setThumbnail(@NonNull android.graphics.Bitmap);
+    method @NonNull public android.hardware.camera2.DngCreator setThumbnail(@NonNull android.media.Image);
+    method public void writeByteBuffer(@NonNull java.io.OutputStream, @NonNull android.util.Size, @NonNull java.nio.ByteBuffer, @IntRange(from=0) long) throws java.io.IOException;
+    method public void writeImage(@NonNull java.io.OutputStream, @NonNull android.media.Image) throws java.io.IOException;
+    method public void writeInputStream(@NonNull java.io.OutputStream, @NonNull android.util.Size, @NonNull java.io.InputStream, @IntRange(from=0) long) throws java.io.IOException;
+    field public static final int MAX_THUMBNAIL_DIMENSION = 256; // 0x100
+  }
+
+  public class MultiResolutionImageReader implements java.lang.AutoCloseable {
+    ctor public MultiResolutionImageReader(@NonNull java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>, int, @IntRange(from=1) int);
+    method public void close();
+    method protected void finalize();
+    method public void flush();
+    method @NonNull public android.hardware.camera2.params.MultiResolutionStreamInfo getStreamInfoForImageReader(@NonNull android.media.ImageReader);
+    method @NonNull public android.view.Surface getSurface();
+    method public void setOnImageAvailableListener(@Nullable android.media.ImageReader.OnImageAvailableListener, @Nullable java.util.concurrent.Executor);
+  }
+
+  public final class TotalCaptureResult extends android.hardware.camera2.CaptureResult {
+    method @NonNull public java.util.List<android.hardware.camera2.CaptureResult> getPartialResults();
+    method @Deprecated public java.util.Map<java.lang.String,android.hardware.camera2.CaptureResult> getPhysicalCameraResults();
+    method @NonNull public java.util.Map<java.lang.String,android.hardware.camera2.TotalCaptureResult> getPhysicalCameraTotalResults();
+  }
+
+}
+
+package android.hardware.camera2.params {
+
+  public final class BlackLevelPattern {
+    method public void copyTo(int[], int);
+    method public int getOffsetForIndex(int, int);
+    field public static final int COUNT = 4; // 0x4
+  }
+
+  public final class Capability {
+    method @NonNull public android.util.Size getMaxStreamingSize();
+    method public int getMode();
+    method @NonNull public android.util.Range<java.lang.Float> getZoomRatioRange();
+  }
+
+  public final class ColorSpaceTransform {
+    ctor public ColorSpaceTransform(android.util.Rational[]);
+    ctor public ColorSpaceTransform(int[]);
+    method public void copyElements(android.util.Rational[], int);
+    method public void copyElements(int[], int);
+    method public android.util.Rational getElement(int, int);
+  }
+
+  public final class DeviceStateSensorOrientationMap {
+    method public int getSensorOrientation(long);
+    field public static final long FOLDED = 4L; // 0x4L
+    field public static final long NORMAL = 0L; // 0x0L
+  }
+
+  public final class ExtensionSessionConfiguration {
+    ctor public ExtensionSessionConfiguration(int, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraExtensionSession.StateCallback);
+    method @NonNull public java.util.concurrent.Executor getExecutor();
+    method public int getExtension();
+    method @NonNull public java.util.List<android.hardware.camera2.params.OutputConfiguration> getOutputConfigurations();
+    method @NonNull public android.hardware.camera2.CameraExtensionSession.StateCallback getStateCallback();
+  }
+
+  public final class Face {
+    method public android.graphics.Rect getBounds();
+    method public int getId();
+    method public android.graphics.Point getLeftEyePosition();
+    method public android.graphics.Point getMouthPosition();
+    method public android.graphics.Point getRightEyePosition();
+    method public int getScore();
+    field public static final int ID_UNSUPPORTED = -1; // 0xffffffff
+    field public static final int SCORE_MAX = 100; // 0x64
+    field public static final int SCORE_MIN = 1; // 0x1
+  }
+
+  public final class InputConfiguration {
+    ctor public InputConfiguration(int, int, int);
+    ctor public InputConfiguration(@NonNull java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo>, int);
+    method public int getFormat();
+    method public int getHeight();
+    method public int getWidth();
+    method public boolean isMultiResolution();
+  }
+
+  public final class LensShadingMap {
+    method public void copyGainFactors(float[], int);
+    method public int getColumnCount();
+    method public float getGainFactor(int, int, int);
+    method public int getGainFactorCount();
+    method public android.hardware.camera2.params.RggbChannelVector getGainFactorVector(int, int);
+    method public int getRowCount();
+    field public static final float MINIMUM_GAIN_FACTOR = 1.0f;
+  }
+
+  public final class MandatoryStreamCombination {
+    method @NonNull public CharSequence getDescription();
+    method @NonNull public java.util.List<android.hardware.camera2.params.MandatoryStreamCombination.MandatoryStreamInformation> getStreamsInformation();
+    method public boolean isReprocessable();
+  }
+
+  public static final class MandatoryStreamCombination.MandatoryStreamInformation {
+    method @NonNull public java.util.List<android.util.Size> getAvailableSizes();
+    method public int getFormat();
+    method public boolean isInput();
+    method public boolean isMaximumSize();
+    method public boolean isUltraHighResolution();
+  }
+
+  public final class MeteringRectangle {
+    ctor public MeteringRectangle(int, int, int, int, int);
+    ctor public MeteringRectangle(android.graphics.Point, android.util.Size, int);
+    ctor public MeteringRectangle(android.graphics.Rect, int);
+    method public boolean equals(android.hardware.camera2.params.MeteringRectangle);
+    method public int getHeight();
+    method public int getMeteringWeight();
+    method public android.graphics.Rect getRect();
+    method public android.util.Size getSize();
+    method public android.graphics.Point getUpperLeftPoint();
+    method public int getWidth();
+    method public int getX();
+    method public int getY();
+    field public static final int METERING_WEIGHT_DONT_CARE = 0; // 0x0
+    field public static final int METERING_WEIGHT_MAX = 1000; // 0x3e8
+    field public static final int METERING_WEIGHT_MIN = 0; // 0x0
+  }
+
+  public final class MultiResolutionStreamConfigurationMap {
+    method @NonNull public int[] getInputFormats();
+    method @NonNull public java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo> getInputInfo(int);
+    method @NonNull public int[] getOutputFormats();
+    method @NonNull public java.util.Collection<android.hardware.camera2.params.MultiResolutionStreamInfo> getOutputInfo(int);
+  }
+
+  public class MultiResolutionStreamInfo {
+    ctor public MultiResolutionStreamInfo(@IntRange(from=1) int, @IntRange(from=1) int, @NonNull String);
+    method @IntRange(from=1) public int getHeight();
+    method @NonNull public String getPhysicalCameraId();
+    method @IntRange(from=1) public int getWidth();
+  }
+
+  public final class OisSample {
+    ctor public OisSample(long, float, float);
+    method public long getTimestamp();
+    method public float getXshift();
+    method public float getYshift();
+  }
+
+  public final class OutputConfiguration implements android.os.Parcelable {
+    ctor public OutputConfiguration(@NonNull android.view.Surface);
+    ctor public OutputConfiguration(int, @NonNull android.view.Surface);
+    ctor public OutputConfiguration(@NonNull android.util.Size, @NonNull Class<T>);
+    method public void addSensorPixelModeUsed(int);
+    method public void addSurface(@NonNull android.view.Surface);
+    method @NonNull public static java.util.Collection<android.hardware.camera2.params.OutputConfiguration> createInstancesForMultiResolutionOutput(@NonNull android.hardware.camera2.MultiResolutionImageReader);
+    method public int describeContents();
+    method public void enableSurfaceSharing();
+    method public int getMaxSharedSurfaceCount();
+    method @Nullable public android.view.Surface getSurface();
+    method public int getSurfaceGroupId();
+    method @NonNull public java.util.List<android.view.Surface> getSurfaces();
+    method public void removeSensorPixelModeUsed(int);
+    method public void removeSurface(@NonNull android.view.Surface);
+    method public void setPhysicalCameraId(@Nullable String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.camera2.params.OutputConfiguration> CREATOR;
+    field public static final int SURFACE_GROUP_ID_NONE = -1; // 0xffffffff
+  }
+
+  public final class RecommendedStreamConfigurationMap {
+    method @Nullable public java.util.Set<android.util.Size> getHighResolutionOutputSizes(int);
+    method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getHighSpeedVideoFpsRanges();
+    method @Nullable public java.util.Set<android.util.Range<java.lang.Integer>> getHighSpeedVideoFpsRangesFor(@NonNull android.util.Size);
+    method @Nullable public java.util.Set<android.util.Size> getHighSpeedVideoSizes();
+    method @Nullable public java.util.Set<android.util.Size> getHighSpeedVideoSizesFor(@NonNull android.util.Range<java.lang.Integer>);
+    method @Nullable public java.util.Set<java.lang.Integer> getInputFormats();
+    method @Nullable public java.util.Set<android.util.Size> getInputSizes(int);
+    method @NonNull public java.util.Set<java.lang.Integer> getOutputFormats();
+    method @IntRange(from=0) public long getOutputMinFrameDuration(int, @NonNull android.util.Size);
+    method @IntRange(from=0) public <T> long getOutputMinFrameDuration(@NonNull Class<T>, @NonNull android.util.Size);
+    method @Nullable public java.util.Set<android.util.Size> getOutputSizes(int);
+    method @Nullable public <T> java.util.Set<android.util.Size> getOutputSizes(@NonNull Class<T>);
+    method @IntRange(from=0) public long getOutputStallDuration(int, @NonNull android.util.Size);
+    method @IntRange(from=0) public <T> long getOutputStallDuration(@NonNull Class<T>, @NonNull android.util.Size);
+    method public int getRecommendedUseCase();
+    method @Nullable public java.util.Set<java.lang.Integer> getValidOutputFormatsForInput(int);
+    method public boolean isOutputSupportedFor(int);
+    method public boolean isOutputSupportedFor(@NonNull android.view.Surface);
+    field public static final int USECASE_LOW_LATENCY_SNAPSHOT = 6; // 0x6
+    field public static final int USECASE_PREVIEW = 0; // 0x0
+    field public static final int USECASE_RAW = 5; // 0x5
+    field public static final int USECASE_RECORD = 1; // 0x1
+    field public static final int USECASE_SNAPSHOT = 3; // 0x3
+    field public static final int USECASE_VIDEO_SNAPSHOT = 2; // 0x2
+    field public static final int USECASE_ZSL = 4; // 0x4
+  }
+
+  public final class RggbChannelVector {
+    ctor public RggbChannelVector(float, float, float, float);
+    method public void copyTo(float[], int);
+    method public float getBlue();
+    method public float getComponent(int);
+    method public float getGreenEven();
+    method public float getGreenOdd();
+    method public float getRed();
+    field public static final int BLUE = 3; // 0x3
+    field public static final int COUNT = 4; // 0x4
+    field public static final int GREEN_EVEN = 1; // 0x1
+    field public static final int GREEN_ODD = 2; // 0x2
+    field public static final int RED = 0; // 0x0
+  }
+
+  public final class SessionConfiguration implements android.os.Parcelable {
+    ctor public SessionConfiguration(int, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback);
+    method public int describeContents();
+    method public java.util.concurrent.Executor getExecutor();
+    method public android.hardware.camera2.params.InputConfiguration getInputConfiguration();
+    method public java.util.List<android.hardware.camera2.params.OutputConfiguration> getOutputConfigurations();
+    method public android.hardware.camera2.CaptureRequest getSessionParameters();
+    method public int getSessionType();
+    method public android.hardware.camera2.CameraCaptureSession.StateCallback getStateCallback();
+    method public void setInputConfiguration(@NonNull android.hardware.camera2.params.InputConfiguration);
+    method public void setSessionParameters(android.hardware.camera2.CaptureRequest);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.camera2.params.SessionConfiguration> CREATOR;
+    field public static final int SESSION_HIGH_SPEED = 1; // 0x1
+    field public static final int SESSION_REGULAR = 0; // 0x0
+  }
+
+  public final class StreamConfigurationMap {
+    method public android.util.Size[] getHighResolutionOutputSizes(int);
+    method public android.util.Range<java.lang.Integer>[] getHighSpeedVideoFpsRanges();
+    method public android.util.Range<java.lang.Integer>[] getHighSpeedVideoFpsRangesFor(android.util.Size);
+    method public android.util.Size[] getHighSpeedVideoSizes();
+    method public android.util.Size[] getHighSpeedVideoSizesFor(android.util.Range<java.lang.Integer>);
+    method public int[] getInputFormats();
+    method public android.util.Size[] getInputSizes(int);
+    method public int[] getOutputFormats();
+    method public long getOutputMinFrameDuration(int, android.util.Size);
+    method public <T> long getOutputMinFrameDuration(Class<T>, android.util.Size);
+    method public <T> android.util.Size[] getOutputSizes(Class<T>);
+    method public android.util.Size[] getOutputSizes(int);
+    method public long getOutputStallDuration(int, android.util.Size);
+    method public <T> long getOutputStallDuration(Class<T>, android.util.Size);
+    method public int[] getValidOutputFormatsForInput(int);
+    method public boolean isOutputSupportedFor(int);
+    method public static <T> boolean isOutputSupportedFor(Class<T>);
+    method public boolean isOutputSupportedFor(android.view.Surface);
+  }
+
+  public final class TonemapCurve {
+    ctor public TonemapCurve(float[], float[], float[]);
+    method public void copyColorCurve(int, float[], int);
+    method public android.graphics.PointF getPoint(int, int);
+    method public int getPointCount(int);
+    field public static final int CHANNEL_BLUE = 2; // 0x2
+    field public static final int CHANNEL_GREEN = 1; // 0x1
+    field public static final int CHANNEL_RED = 0; // 0x0
+    field public static final float LEVEL_BLACK = 0.0f;
+    field public static final float LEVEL_WHITE = 1.0f;
+    field public static final int POINT_SIZE = 2; // 0x2
+  }
+
+}
+
+package android.hardware.display {
+
+  public final class DeviceProductInfo implements android.os.Parcelable {
+    ctor public DeviceProductInfo(@Nullable String, @NonNull String, @NonNull String, @IntRange(from=1990) int, int);
+    method public int describeContents();
+    method public int getConnectionToSinkType();
+    method @IntRange(from=0xffffffff, to=53) public int getManufactureWeek();
+    method @IntRange(from=0xffffffff) public int getManufactureYear();
+    method @NonNull public String getManufacturerPnpId();
+    method @IntRange(from=0xffffffff) public int getModelYear();
+    method @Nullable public String getName();
+    method @NonNull public String getProductId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CONNECTION_TO_SINK_BUILT_IN = 1; // 0x1
+    field public static final int CONNECTION_TO_SINK_DIRECT = 2; // 0x2
+    field public static final int CONNECTION_TO_SINK_TRANSITIVE = 3; // 0x3
+    field public static final int CONNECTION_TO_SINK_UNKNOWN = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.DeviceProductInfo> CREATOR;
+  }
+
+  public final class DisplayManager {
+    method public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull String, int, int, int, @Nullable android.view.Surface, int);
+    method public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull String, int, int, int, @Nullable android.view.Surface, int, @Nullable android.hardware.display.VirtualDisplay.Callback, @Nullable android.os.Handler);
+    method public android.view.Display getDisplay(int);
+    method public android.view.Display[] getDisplays();
+    method public android.view.Display[] getDisplays(String);
+    method public int getMatchContentFrameRateUserPreference();
+    method public void registerDisplayListener(android.hardware.display.DisplayManager.DisplayListener, android.os.Handler);
+    method public void unregisterDisplayListener(android.hardware.display.DisplayManager.DisplayListener);
+    field public static final String DISPLAY_CATEGORY_PRESENTATION = "android.hardware.display.category.PRESENTATION";
+    field public static final int MATCH_CONTENT_FRAMERATE_ALWAYS = 2; // 0x2
+    field public static final int MATCH_CONTENT_FRAMERATE_NEVER = 0; // 0x0
+    field public static final int MATCH_CONTENT_FRAMERATE_SEAMLESSS_ONLY = 1; // 0x1
+    field public static final int MATCH_CONTENT_FRAMERATE_UNKNOWN = -1; // 0xffffffff
+    field public static final int VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR = 16; // 0x10
+    field public static final int VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY = 8; // 0x8
+    field public static final int VIRTUAL_DISPLAY_FLAG_PRESENTATION = 2; // 0x2
+    field public static final int VIRTUAL_DISPLAY_FLAG_PUBLIC = 1; // 0x1
+    field public static final int VIRTUAL_DISPLAY_FLAG_SECURE = 4; // 0x4
+  }
+
+  public static interface DisplayManager.DisplayListener {
+    method public void onDisplayAdded(int);
+    method public void onDisplayChanged(int);
+    method public void onDisplayRemoved(int);
+  }
+
+  public final class VirtualDisplay {
+    method public android.view.Display getDisplay();
+    method public android.view.Surface getSurface();
+    method public void release();
+    method public void resize(int, int, int);
+    method public void setSurface(android.view.Surface);
+  }
+
+  public abstract static class VirtualDisplay.Callback {
+    ctor public VirtualDisplay.Callback();
+    method public void onPaused();
+    method public void onResumed();
+    method public void onStopped();
+  }
+
+}
+
+package android.hardware.fingerprint {
+
+  @Deprecated public class FingerprintManager {
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.USE_BIOMETRIC, android.Manifest.permission.USE_FINGERPRINT}) public void authenticate(@Nullable android.hardware.fingerprint.FingerprintManager.CryptoObject, @Nullable android.os.CancellationSignal, int, @NonNull android.hardware.fingerprint.FingerprintManager.AuthenticationCallback, @Nullable android.os.Handler);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public boolean hasEnrolledFingerprints();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.USE_FINGERPRINT) public boolean isHardwareDetected();
+    field public static final int FINGERPRINT_ACQUIRED_GOOD = 0; // 0x0
+    field public static final int FINGERPRINT_ACQUIRED_IMAGER_DIRTY = 3; // 0x3
+    field public static final int FINGERPRINT_ACQUIRED_INSUFFICIENT = 2; // 0x2
+    field public static final int FINGERPRINT_ACQUIRED_PARTIAL = 1; // 0x1
+    field public static final int FINGERPRINT_ACQUIRED_TOO_FAST = 5; // 0x5
+    field public static final int FINGERPRINT_ACQUIRED_TOO_SLOW = 4; // 0x4
+    field public static final int FINGERPRINT_ERROR_CANCELED = 5; // 0x5
+    field public static final int FINGERPRINT_ERROR_HW_NOT_PRESENT = 12; // 0xc
+    field public static final int FINGERPRINT_ERROR_HW_UNAVAILABLE = 1; // 0x1
+    field public static final int FINGERPRINT_ERROR_LOCKOUT = 7; // 0x7
+    field public static final int FINGERPRINT_ERROR_LOCKOUT_PERMANENT = 9; // 0x9
+    field public static final int FINGERPRINT_ERROR_NO_FINGERPRINTS = 11; // 0xb
+    field public static final int FINGERPRINT_ERROR_NO_SPACE = 4; // 0x4
+    field public static final int FINGERPRINT_ERROR_TIMEOUT = 3; // 0x3
+    field public static final int FINGERPRINT_ERROR_UNABLE_TO_PROCESS = 2; // 0x2
+    field public static final int FINGERPRINT_ERROR_USER_CANCELED = 10; // 0xa
+    field public static final int FINGERPRINT_ERROR_VENDOR = 8; // 0x8
+  }
+
+  @Deprecated public abstract static class FingerprintManager.AuthenticationCallback {
+    ctor @Deprecated public FingerprintManager.AuthenticationCallback();
+    method @Deprecated public void onAuthenticationError(int, CharSequence);
+    method @Deprecated public void onAuthenticationFailed();
+    method @Deprecated public void onAuthenticationHelp(int, CharSequence);
+    method @Deprecated public void onAuthenticationSucceeded(android.hardware.fingerprint.FingerprintManager.AuthenticationResult);
+  }
+
+  @Deprecated public static class FingerprintManager.AuthenticationResult {
+    method @Deprecated public android.hardware.fingerprint.FingerprintManager.CryptoObject getCryptoObject();
+  }
+
+  @Deprecated public static final class FingerprintManager.CryptoObject {
+    ctor @Deprecated public FingerprintManager.CryptoObject(@NonNull java.security.Signature);
+    ctor @Deprecated public FingerprintManager.CryptoObject(@NonNull javax.crypto.Cipher);
+    ctor @Deprecated public FingerprintManager.CryptoObject(@NonNull javax.crypto.Mac);
+    method @Deprecated public javax.crypto.Cipher getCipher();
+    method @Deprecated public javax.crypto.Mac getMac();
+    method @Deprecated public java.security.Signature getSignature();
+  }
+
+}
+
+package android.hardware.input {
+
+  public final class InputManager {
+    method public android.view.InputDevice getInputDevice(int);
+    method public int[] getInputDeviceIds();
+    method @FloatRange(from=0, to=1) public float getMaximumObscuringOpacityForTouch();
+    method public void registerInputDeviceListener(android.hardware.input.InputManager.InputDeviceListener, android.os.Handler);
+    method public void unregisterInputDeviceListener(android.hardware.input.InputManager.InputDeviceListener);
+    method @Nullable public android.view.VerifiedInputEvent verifyInputEvent(@NonNull android.view.InputEvent);
+    field public static final String ACTION_QUERY_KEYBOARD_LAYOUTS = "android.hardware.input.action.QUERY_KEYBOARD_LAYOUTS";
+    field public static final String META_DATA_KEYBOARD_LAYOUTS = "android.hardware.input.metadata.KEYBOARD_LAYOUTS";
+  }
+
+  public static interface InputManager.InputDeviceListener {
+    method public void onInputDeviceAdded(int);
+    method public void onInputDeviceChanged(int);
+    method public void onInputDeviceRemoved(int);
+  }
+
+}
+
+package android.hardware.lights {
+
+  public final class Light implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getId();
+    method @NonNull public String getName();
+    method public int getOrdinal();
+    method public int getType();
+    method public boolean hasBrightnessControl();
+    method public boolean hasRgbControl();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.lights.Light> CREATOR;
+    field public static final int LIGHT_CAPABILITY_BRIGHTNESS = 1; // 0x1
+    field public static final int LIGHT_CAPABILITY_RGB = 0; // 0x0
+    field public static final int LIGHT_TYPE_INPUT = 10001; // 0x2711
+    field public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
+    field public static final int LIGHT_TYPE_PLAYER_ID = 10002; // 0x2712
+  }
+
+  public final class LightState implements android.os.Parcelable {
+    method public int describeContents();
+    method @ColorInt public int getColor();
+    method public int getPlayerId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.lights.LightState> CREATOR;
+  }
+
+  public static final class LightState.Builder {
+    ctor public LightState.Builder();
+    method @NonNull public android.hardware.lights.LightState build();
+    method @NonNull public android.hardware.lights.LightState.Builder setColor(@ColorInt int);
+    method @NonNull public android.hardware.lights.LightState.Builder setPlayerId(int);
+  }
+
+  public abstract class LightsManager {
+    method @NonNull public abstract android.hardware.lights.LightState getLightState(@NonNull android.hardware.lights.Light);
+    method @NonNull public abstract java.util.List<android.hardware.lights.Light> getLights();
+    method @NonNull public abstract android.hardware.lights.LightsManager.LightsSession openSession();
+  }
+
+  public abstract static class LightsManager.LightsSession implements java.lang.AutoCloseable {
+    method public abstract void close();
+    method public abstract void requestLights(@NonNull android.hardware.lights.LightsRequest);
+  }
+
+  public final class LightsRequest {
+    method @NonNull public java.util.List<android.hardware.lights.LightState> getLightStates();
+    method @NonNull public java.util.List<java.lang.Integer> getLights();
+    method @NonNull public java.util.Map<android.hardware.lights.Light,android.hardware.lights.LightState> getLightsAndStates();
+  }
+
+  public static final class LightsRequest.Builder {
+    ctor public LightsRequest.Builder();
+    method @NonNull public android.hardware.lights.LightsRequest.Builder addLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
+    method @NonNull public android.hardware.lights.LightsRequest build();
+    method @NonNull public android.hardware.lights.LightsRequest.Builder clearLight(@NonNull android.hardware.lights.Light);
+  }
+
+}
+
+package android.hardware.usb {
+
+  public class UsbAccessory implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getDescription();
+    method @NonNull public String getManufacturer();
+    method @NonNull public String getModel();
+    method @Nullable public String getSerial();
+    method @Nullable public String getUri();
+    method @Nullable public String getVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbAccessory> CREATOR;
+  }
+
+  public class UsbConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getId();
+    method @NonNull public android.hardware.usb.UsbInterface getInterface(int);
+    method public int getInterfaceCount();
+    method public int getMaxPower();
+    method @Nullable public String getName();
+    method public boolean isRemoteWakeup();
+    method public boolean isSelfPowered();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbConfiguration> CREATOR;
+  }
+
+  public final class UsbConstants {
+    ctor public UsbConstants();
+    field public static final int USB_CLASS_APP_SPEC = 254; // 0xfe
+    field public static final int USB_CLASS_AUDIO = 1; // 0x1
+    field public static final int USB_CLASS_CDC_DATA = 10; // 0xa
+    field public static final int USB_CLASS_COMM = 2; // 0x2
+    field public static final int USB_CLASS_CONTENT_SEC = 13; // 0xd
+    field public static final int USB_CLASS_CSCID = 11; // 0xb
+    field public static final int USB_CLASS_HID = 3; // 0x3
+    field public static final int USB_CLASS_HUB = 9; // 0x9
+    field public static final int USB_CLASS_MASS_STORAGE = 8; // 0x8
+    field public static final int USB_CLASS_MISC = 239; // 0xef
+    field public static final int USB_CLASS_PER_INTERFACE = 0; // 0x0
+    field public static final int USB_CLASS_PHYSICA = 5; // 0x5
+    field public static final int USB_CLASS_PRINTER = 7; // 0x7
+    field public static final int USB_CLASS_STILL_IMAGE = 6; // 0x6
+    field public static final int USB_CLASS_VENDOR_SPEC = 255; // 0xff
+    field public static final int USB_CLASS_VIDEO = 14; // 0xe
+    field public static final int USB_CLASS_WIRELESS_CONTROLLER = 224; // 0xe0
+    field public static final int USB_DIR_IN = 128; // 0x80
+    field public static final int USB_DIR_OUT = 0; // 0x0
+    field public static final int USB_ENDPOINT_DIR_MASK = 128; // 0x80
+    field public static final int USB_ENDPOINT_NUMBER_MASK = 15; // 0xf
+    field public static final int USB_ENDPOINT_XFERTYPE_MASK = 3; // 0x3
+    field public static final int USB_ENDPOINT_XFER_BULK = 2; // 0x2
+    field public static final int USB_ENDPOINT_XFER_CONTROL = 0; // 0x0
+    field public static final int USB_ENDPOINT_XFER_INT = 3; // 0x3
+    field public static final int USB_ENDPOINT_XFER_ISOC = 1; // 0x1
+    field public static final int USB_INTERFACE_SUBCLASS_BOOT = 1; // 0x1
+    field public static final int USB_SUBCLASS_VENDOR_SPEC = 255; // 0xff
+    field public static final int USB_TYPE_CLASS = 32; // 0x20
+    field public static final int USB_TYPE_MASK = 96; // 0x60
+    field public static final int USB_TYPE_RESERVED = 96; // 0x60
+    field public static final int USB_TYPE_STANDARD = 0; // 0x0
+    field public static final int USB_TYPE_VENDOR = 64; // 0x40
+  }
+
+  public class UsbDevice implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.hardware.usb.UsbConfiguration getConfiguration(int);
+    method public int getConfigurationCount();
+    method public int getDeviceClass();
+    method public int getDeviceId();
+    method public static int getDeviceId(String);
+    method @NonNull public String getDeviceName();
+    method public static String getDeviceName(int);
+    method public int getDeviceProtocol();
+    method public int getDeviceSubclass();
+    method @NonNull public android.hardware.usb.UsbInterface getInterface(int);
+    method public int getInterfaceCount();
+    method @Nullable public String getManufacturerName();
+    method public int getProductId();
+    method @Nullable public String getProductName();
+    method @Nullable public String getSerialNumber();
+    method public int getVendorId();
+    method @NonNull public String getVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbDevice> CREATOR;
+  }
+
+  public class UsbDeviceConnection {
+    method public int bulkTransfer(android.hardware.usb.UsbEndpoint, byte[], int, int);
+    method public int bulkTransfer(android.hardware.usb.UsbEndpoint, byte[], int, int, int);
+    method public boolean claimInterface(android.hardware.usb.UsbInterface, boolean);
+    method public void close();
+    method public int controlTransfer(int, int, int, int, byte[], int, int);
+    method public int controlTransfer(int, int, int, int, byte[], int, int, int);
+    method public int getFileDescriptor();
+    method public byte[] getRawDescriptors();
+    method public String getSerial();
+    method public boolean releaseInterface(android.hardware.usb.UsbInterface);
+    method public android.hardware.usb.UsbRequest requestWait();
+    method public android.hardware.usb.UsbRequest requestWait(long) throws java.util.concurrent.TimeoutException;
+    method public boolean setConfiguration(android.hardware.usb.UsbConfiguration);
+    method public boolean setInterface(android.hardware.usb.UsbInterface);
+  }
+
+  public class UsbEndpoint implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAddress();
+    method public int getAttributes();
+    method public int getDirection();
+    method public int getEndpointNumber();
+    method public int getInterval();
+    method public int getMaxPacketSize();
+    method public int getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbEndpoint> CREATOR;
+  }
+
+  public class UsbInterface implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAlternateSetting();
+    method public android.hardware.usb.UsbEndpoint getEndpoint(int);
+    method public int getEndpointCount();
+    method public int getId();
+    method public int getInterfaceClass();
+    method public int getInterfaceProtocol();
+    method public int getInterfaceSubclass();
+    method @Nullable public String getName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbInterface> CREATOR;
+  }
+
+  public class UsbManager {
+    method public android.hardware.usb.UsbAccessory[] getAccessoryList();
+    method public java.util.HashMap<java.lang.String,android.hardware.usb.UsbDevice> getDeviceList();
+    method public boolean hasPermission(android.hardware.usb.UsbDevice);
+    method public boolean hasPermission(android.hardware.usb.UsbAccessory);
+    method public android.os.ParcelFileDescriptor openAccessory(android.hardware.usb.UsbAccessory);
+    method public android.hardware.usb.UsbDeviceConnection openDevice(android.hardware.usb.UsbDevice);
+    method public void requestPermission(android.hardware.usb.UsbDevice, android.app.PendingIntent);
+    method public void requestPermission(android.hardware.usb.UsbAccessory, android.app.PendingIntent);
+    field public static final String ACTION_USB_ACCESSORY_ATTACHED = "android.hardware.usb.action.USB_ACCESSORY_ATTACHED";
+    field public static final String ACTION_USB_ACCESSORY_DETACHED = "android.hardware.usb.action.USB_ACCESSORY_DETACHED";
+    field public static final String ACTION_USB_DEVICE_ATTACHED = "android.hardware.usb.action.USB_DEVICE_ATTACHED";
+    field public static final String ACTION_USB_DEVICE_DETACHED = "android.hardware.usb.action.USB_DEVICE_DETACHED";
+    field public static final String EXTRA_ACCESSORY = "accessory";
+    field public static final String EXTRA_DEVICE = "device";
+    field public static final String EXTRA_PERMISSION_GRANTED = "permission";
+  }
+
+  public class UsbRequest {
+    ctor public UsbRequest();
+    method public boolean cancel();
+    method public void close();
+    method public Object getClientData();
+    method public android.hardware.usb.UsbEndpoint getEndpoint();
+    method public boolean initialize(android.hardware.usb.UsbDeviceConnection, android.hardware.usb.UsbEndpoint);
+    method @Deprecated public boolean queue(java.nio.ByteBuffer, int);
+    method public boolean queue(@Nullable java.nio.ByteBuffer);
+    method public void setClientData(Object);
+  }
+
+}
+
+package android.icu.lang {
+
+  public final class UCharacter implements android.icu.lang.UCharacterEnums.ECharacterCategory android.icu.lang.UCharacterEnums.ECharacterDirection {
+    method public static int charCount(int);
+    method public static int codePointAt(CharSequence, int);
+    method public static int codePointAt(char[], int);
+    method public static int codePointAt(char[], int, int);
+    method public static int codePointBefore(CharSequence, int);
+    method public static int codePointBefore(char[], int);
+    method public static int codePointBefore(char[], int, int);
+    method public static int codePointCount(CharSequence, int, int);
+    method public static int codePointCount(char[], int, int);
+    method public static int digit(int, int);
+    method public static int digit(int);
+    method public static int foldCase(int, boolean);
+    method public static String foldCase(String, boolean);
+    method public static int foldCase(int, int);
+    method public static String foldCase(String, int);
+    method public static char forDigit(int, int);
+    method public static android.icu.util.VersionInfo getAge(int);
+    method public static int getBidiPairedBracket(int);
+    method public static int getCharFromExtendedName(String);
+    method public static int getCharFromName(String);
+    method public static int getCharFromNameAlias(String);
+    method public static int getCodePoint(char, char);
+    method public static int getCodePoint(char);
+    method public static int getCombiningClass(int);
+    method public static int getDirection(int);
+    method public static byte getDirectionality(int);
+    method public static String getExtendedName(int);
+    method public static android.icu.util.ValueIterator getExtendedNameIterator();
+    method public static int getHanNumericValue(int);
+    method public static int getIntPropertyMaxValue(int);
+    method public static int getIntPropertyMinValue(int);
+    method public static int getIntPropertyValue(int, int);
+    method public static int getMirror(int);
+    method public static String getName(int);
+    method public static String getName(String, String);
+    method public static String getNameAlias(int);
+    method public static android.icu.util.ValueIterator getNameIterator();
+    method public static int getNumericValue(int);
+    method public static int getPropertyEnum(CharSequence);
+    method public static String getPropertyName(int, int);
+    method public static int getPropertyValueEnum(int, CharSequence);
+    method public static String getPropertyValueName(int, int, int);
+    method public static int getType(int);
+    method public static android.icu.util.RangeValueIterator getTypeIterator();
+    method public static double getUnicodeNumericValue(int);
+    method public static android.icu.util.VersionInfo getUnicodeVersion();
+    method public static boolean hasBinaryProperty(int, int);
+    method public static boolean isBMP(int);
+    method public static boolean isBaseForm(int);
+    method public static boolean isDefined(int);
+    method public static boolean isDigit(int);
+    method public static boolean isHighSurrogate(char);
+    method public static boolean isISOControl(int);
+    method public static boolean isIdentifierIgnorable(int);
+    method public static boolean isJavaIdentifierPart(int);
+    method public static boolean isJavaIdentifierStart(int);
+    method public static boolean isLegal(int);
+    method public static boolean isLegal(String);
+    method public static boolean isLetter(int);
+    method public static boolean isLetterOrDigit(int);
+    method public static boolean isLowSurrogate(char);
+    method public static boolean isLowerCase(int);
+    method public static boolean isMirrored(int);
+    method public static boolean isPrintable(int);
+    method public static boolean isSpaceChar(int);
+    method public static boolean isSupplementary(int);
+    method public static boolean isSupplementaryCodePoint(int);
+    method public static boolean isSurrogatePair(char, char);
+    method public static boolean isTitleCase(int);
+    method public static boolean isUAlphabetic(int);
+    method public static boolean isULowercase(int);
+    method public static boolean isUUppercase(int);
+    method public static boolean isUWhiteSpace(int);
+    method public static boolean isUnicodeIdentifierPart(int);
+    method public static boolean isUnicodeIdentifierStart(int);
+    method public static boolean isUpperCase(int);
+    method public static boolean isValidCodePoint(int);
+    method public static boolean isWhitespace(int);
+    method public static int offsetByCodePoints(CharSequence, int, int);
+    method public static int offsetByCodePoints(char[], int, int, int, int);
+    method public static int toChars(int, char[], int);
+    method public static char[] toChars(int);
+    method public static int toCodePoint(char, char);
+    method public static int toLowerCase(int);
+    method public static String toLowerCase(String);
+    method public static String toLowerCase(java.util.Locale, String);
+    method public static String toLowerCase(android.icu.util.ULocale, String);
+    method public static String toString(int);
+    method public static int toTitleCase(int);
+    method public static String toTitleCase(String, android.icu.text.BreakIterator);
+    method public static String toTitleCase(java.util.Locale, String, android.icu.text.BreakIterator);
+    method public static String toTitleCase(android.icu.util.ULocale, String, android.icu.text.BreakIterator);
+    method public static String toTitleCase(android.icu.util.ULocale, String, android.icu.text.BreakIterator, int);
+    method public static String toTitleCase(java.util.Locale, String, android.icu.text.BreakIterator, int);
+    method public static int toUpperCase(int);
+    method public static String toUpperCase(String);
+    method public static String toUpperCase(java.util.Locale, String);
+    method public static String toUpperCase(android.icu.util.ULocale, String);
+    field public static final int FOLD_CASE_DEFAULT = 0; // 0x0
+    field public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = 1; // 0x1
+    field public static final int MAX_CODE_POINT = 1114111; // 0x10ffff
+    field public static final char MAX_HIGH_SURROGATE = 56319; // 0xdbff '\udbff'
+    field public static final char MAX_LOW_SURROGATE = 57343; // 0xdfff '\udfff'
+    field public static final int MAX_RADIX = 36; // 0x24
+    field public static final char MAX_SURROGATE = 57343; // 0xdfff '\udfff'
+    field public static final int MAX_VALUE = 1114111; // 0x10ffff
+    field public static final int MIN_CODE_POINT = 0; // 0x0
+    field public static final char MIN_HIGH_SURROGATE = 55296; // 0xd800 '\ud800'
+    field public static final char MIN_LOW_SURROGATE = 56320; // 0xdc00 '\udc00'
+    field public static final int MIN_RADIX = 2; // 0x2
+    field public static final int MIN_SUPPLEMENTARY_CODE_POINT = 65536; // 0x10000
+    field public static final char MIN_SURROGATE = 55296; // 0xd800 '\ud800'
+    field public static final int MIN_VALUE = 0; // 0x0
+    field public static final double NO_NUMERIC_VALUE = -1.23456789E8;
+    field public static final int REPLACEMENT_CHAR = 65533; // 0xfffd
+    field public static final int SUPPLEMENTARY_MIN_VALUE = 65536; // 0x10000
+    field public static final int TITLECASE_NO_BREAK_ADJUSTMENT = 512; // 0x200
+    field public static final int TITLECASE_NO_LOWERCASE = 256; // 0x100
+  }
+
+  public static interface UCharacter.BidiPairedBracketType {
+    field public static final int CLOSE = 2; // 0x2
+    field public static final int NONE = 0; // 0x0
+    field public static final int OPEN = 1; // 0x1
+  }
+
+  public static interface UCharacter.DecompositionType {
+    field public static final int CANONICAL = 1; // 0x1
+    field public static final int CIRCLE = 3; // 0x3
+    field public static final int COMPAT = 2; // 0x2
+    field public static final int FINAL = 4; // 0x4
+    field public static final int FONT = 5; // 0x5
+    field public static final int FRACTION = 6; // 0x6
+    field public static final int INITIAL = 7; // 0x7
+    field public static final int ISOLATED = 8; // 0x8
+    field public static final int MEDIAL = 9; // 0x9
+    field public static final int NARROW = 10; // 0xa
+    field public static final int NOBREAK = 11; // 0xb
+    field public static final int NONE = 0; // 0x0
+    field public static final int SMALL = 12; // 0xc
+    field public static final int SQUARE = 13; // 0xd
+    field public static final int SUB = 14; // 0xe
+    field public static final int SUPER = 15; // 0xf
+    field public static final int VERTICAL = 16; // 0x10
+    field public static final int WIDE = 17; // 0x11
+  }
+
+  public static interface UCharacter.EastAsianWidth {
+    field public static final int AMBIGUOUS = 1; // 0x1
+    field public static final int FULLWIDTH = 3; // 0x3
+    field public static final int HALFWIDTH = 2; // 0x2
+    field public static final int NARROW = 4; // 0x4
+    field public static final int NEUTRAL = 0; // 0x0
+    field public static final int WIDE = 5; // 0x5
+  }
+
+  public static interface UCharacter.GraphemeClusterBreak {
+    field public static final int CONTROL = 1; // 0x1
+    field public static final int CR = 2; // 0x2
+    field public static final int EXTEND = 3; // 0x3
+    field public static final int E_BASE = 13; // 0xd
+    field public static final int E_BASE_GAZ = 14; // 0xe
+    field public static final int E_MODIFIER = 15; // 0xf
+    field public static final int GLUE_AFTER_ZWJ = 16; // 0x10
+    field public static final int L = 4; // 0x4
+    field public static final int LF = 5; // 0x5
+    field public static final int LV = 6; // 0x6
+    field public static final int LVT = 7; // 0x7
+    field public static final int OTHER = 0; // 0x0
+    field public static final int PREPEND = 11; // 0xb
+    field public static final int REGIONAL_INDICATOR = 12; // 0xc
+    field public static final int SPACING_MARK = 10; // 0xa
+    field public static final int T = 8; // 0x8
+    field public static final int V = 9; // 0x9
+    field public static final int ZWJ = 17; // 0x11
+  }
+
+  public static interface UCharacter.HangulSyllableType {
+    field public static final int LEADING_JAMO = 1; // 0x1
+    field public static final int LVT_SYLLABLE = 5; // 0x5
+    field public static final int LV_SYLLABLE = 4; // 0x4
+    field public static final int NOT_APPLICABLE = 0; // 0x0
+    field public static final int TRAILING_JAMO = 3; // 0x3
+    field public static final int VOWEL_JAMO = 2; // 0x2
+  }
+
+  public static interface UCharacter.IndicPositionalCategory {
+    field public static final int BOTTOM = 1; // 0x1
+    field public static final int BOTTOM_AND_LEFT = 2; // 0x2
+    field public static final int BOTTOM_AND_RIGHT = 3; // 0x3
+    field public static final int LEFT = 4; // 0x4
+    field public static final int LEFT_AND_RIGHT = 5; // 0x5
+    field public static final int NA = 0; // 0x0
+    field public static final int OVERSTRUCK = 6; // 0x6
+    field public static final int RIGHT = 7; // 0x7
+    field public static final int TOP = 8; // 0x8
+    field public static final int TOP_AND_BOTTOM = 9; // 0x9
+    field public static final int TOP_AND_BOTTOM_AND_LEFT = 15; // 0xf
+    field public static final int TOP_AND_BOTTOM_AND_RIGHT = 10; // 0xa
+    field public static final int TOP_AND_LEFT = 11; // 0xb
+    field public static final int TOP_AND_LEFT_AND_RIGHT = 12; // 0xc
+    field public static final int TOP_AND_RIGHT = 13; // 0xd
+    field public static final int VISUAL_ORDER_LEFT = 14; // 0xe
+  }
+
+  public static interface UCharacter.IndicSyllabicCategory {
+    field public static final int AVAGRAHA = 1; // 0x1
+    field public static final int BINDU = 2; // 0x2
+    field public static final int BRAHMI_JOINING_NUMBER = 3; // 0x3
+    field public static final int CANTILLATION_MARK = 4; // 0x4
+    field public static final int CONSONANT = 5; // 0x5
+    field public static final int CONSONANT_DEAD = 6; // 0x6
+    field public static final int CONSONANT_FINAL = 7; // 0x7
+    field public static final int CONSONANT_HEAD_LETTER = 8; // 0x8
+    field public static final int CONSONANT_INITIAL_POSTFIXED = 9; // 0x9
+    field public static final int CONSONANT_KILLER = 10; // 0xa
+    field public static final int CONSONANT_MEDIAL = 11; // 0xb
+    field public static final int CONSONANT_PLACEHOLDER = 12; // 0xc
+    field public static final int CONSONANT_PRECEDING_REPHA = 13; // 0xd
+    field public static final int CONSONANT_PREFIXED = 14; // 0xe
+    field public static final int CONSONANT_SUBJOINED = 15; // 0xf
+    field public static final int CONSONANT_SUCCEEDING_REPHA = 16; // 0x10
+    field public static final int CONSONANT_WITH_STACKER = 17; // 0x11
+    field public static final int GEMINATION_MARK = 18; // 0x12
+    field public static final int INVISIBLE_STACKER = 19; // 0x13
+    field public static final int JOINER = 20; // 0x14
+    field public static final int MODIFYING_LETTER = 21; // 0x15
+    field public static final int NON_JOINER = 22; // 0x16
+    field public static final int NUKTA = 23; // 0x17
+    field public static final int NUMBER = 24; // 0x18
+    field public static final int NUMBER_JOINER = 25; // 0x19
+    field public static final int OTHER = 0; // 0x0
+    field public static final int PURE_KILLER = 26; // 0x1a
+    field public static final int REGISTER_SHIFTER = 27; // 0x1b
+    field public static final int SYLLABLE_MODIFIER = 28; // 0x1c
+    field public static final int TONE_LETTER = 29; // 0x1d
+    field public static final int TONE_MARK = 30; // 0x1e
+    field public static final int VIRAMA = 31; // 0x1f
+    field public static final int VISARGA = 32; // 0x20
+    field public static final int VOWEL = 33; // 0x21
+    field public static final int VOWEL_DEPENDENT = 34; // 0x22
+    field public static final int VOWEL_INDEPENDENT = 35; // 0x23
+  }
+
+  public static interface UCharacter.JoiningGroup {
+    field public static final int AFRICAN_FEH = 86; // 0x56
+    field public static final int AFRICAN_NOON = 87; // 0x57
+    field public static final int AFRICAN_QAF = 88; // 0x58
+    field public static final int AIN = 1; // 0x1
+    field public static final int ALAPH = 2; // 0x2
+    field public static final int ALEF = 3; // 0x3
+    field public static final int BEH = 4; // 0x4
+    field public static final int BETH = 5; // 0x5
+    field public static final int BURUSHASKI_YEH_BARREE = 54; // 0x36
+    field public static final int DAL = 6; // 0x6
+    field public static final int DALATH_RISH = 7; // 0x7
+    field public static final int E = 8; // 0x8
+    field public static final int FARSI_YEH = 55; // 0x37
+    field public static final int FE = 51; // 0x33
+    field public static final int FEH = 9; // 0x9
+    field public static final int FINAL_SEMKATH = 10; // 0xa
+    field public static final int GAF = 11; // 0xb
+    field public static final int GAMAL = 12; // 0xc
+    field public static final int HAH = 13; // 0xd
+    field public static final int HAMZA_ON_HEH_GOAL = 14; // 0xe
+    field public static final int HANIFI_ROHINGYA_KINNA_YA = 100; // 0x64
+    field public static final int HANIFI_ROHINGYA_PA = 101; // 0x65
+    field public static final int HE = 15; // 0xf
+    field public static final int HEH = 16; // 0x10
+    field public static final int HEH_GOAL = 17; // 0x11
+    field public static final int HETH = 18; // 0x12
+    field public static final int KAF = 19; // 0x13
+    field public static final int KAPH = 20; // 0x14
+    field public static final int KHAPH = 52; // 0x34
+    field public static final int KNOTTED_HEH = 21; // 0x15
+    field public static final int LAM = 22; // 0x16
+    field public static final int LAMADH = 23; // 0x17
+    field public static final int MALAYALAM_BHA = 89; // 0x59
+    field public static final int MALAYALAM_JA = 90; // 0x5a
+    field public static final int MALAYALAM_LLA = 91; // 0x5b
+    field public static final int MALAYALAM_LLLA = 92; // 0x5c
+    field public static final int MALAYALAM_NGA = 93; // 0x5d
+    field public static final int MALAYALAM_NNA = 94; // 0x5e
+    field public static final int MALAYALAM_NNNA = 95; // 0x5f
+    field public static final int MALAYALAM_NYA = 96; // 0x60
+    field public static final int MALAYALAM_RA = 97; // 0x61
+    field public static final int MALAYALAM_SSA = 98; // 0x62
+    field public static final int MALAYALAM_TTA = 99; // 0x63
+    field public static final int MANICHAEAN_ALEPH = 58; // 0x3a
+    field public static final int MANICHAEAN_AYIN = 59; // 0x3b
+    field public static final int MANICHAEAN_BETH = 60; // 0x3c
+    field public static final int MANICHAEAN_DALETH = 61; // 0x3d
+    field public static final int MANICHAEAN_DHAMEDH = 62; // 0x3e
+    field public static final int MANICHAEAN_FIVE = 63; // 0x3f
+    field public static final int MANICHAEAN_GIMEL = 64; // 0x40
+    field public static final int MANICHAEAN_HETH = 65; // 0x41
+    field public static final int MANICHAEAN_HUNDRED = 66; // 0x42
+    field public static final int MANICHAEAN_KAPH = 67; // 0x43
+    field public static final int MANICHAEAN_LAMEDH = 68; // 0x44
+    field public static final int MANICHAEAN_MEM = 69; // 0x45
+    field public static final int MANICHAEAN_NUN = 70; // 0x46
+    field public static final int MANICHAEAN_ONE = 71; // 0x47
+    field public static final int MANICHAEAN_PE = 72; // 0x48
+    field public static final int MANICHAEAN_QOPH = 73; // 0x49
+    field public static final int MANICHAEAN_RESH = 74; // 0x4a
+    field public static final int MANICHAEAN_SADHE = 75; // 0x4b
+    field public static final int MANICHAEAN_SAMEKH = 76; // 0x4c
+    field public static final int MANICHAEAN_TAW = 77; // 0x4d
+    field public static final int MANICHAEAN_TEN = 78; // 0x4e
+    field public static final int MANICHAEAN_TETH = 79; // 0x4f
+    field public static final int MANICHAEAN_THAMEDH = 80; // 0x50
+    field public static final int MANICHAEAN_TWENTY = 81; // 0x51
+    field public static final int MANICHAEAN_WAW = 82; // 0x52
+    field public static final int MANICHAEAN_YODH = 83; // 0x53
+    field public static final int MANICHAEAN_ZAYIN = 84; // 0x54
+    field public static final int MEEM = 24; // 0x18
+    field public static final int MIM = 25; // 0x19
+    field public static final int NOON = 26; // 0x1a
+    field public static final int NO_JOINING_GROUP = 0; // 0x0
+    field public static final int NUN = 27; // 0x1b
+    field public static final int NYA = 56; // 0x38
+    field public static final int PE = 28; // 0x1c
+    field public static final int QAF = 29; // 0x1d
+    field public static final int QAPH = 30; // 0x1e
+    field public static final int REH = 31; // 0x1f
+    field public static final int REVERSED_PE = 32; // 0x20
+    field public static final int ROHINGYA_YEH = 57; // 0x39
+    field public static final int SAD = 33; // 0x21
+    field public static final int SADHE = 34; // 0x22
+    field public static final int SEEN = 35; // 0x23
+    field public static final int SEMKATH = 36; // 0x24
+    field public static final int SHIN = 37; // 0x25
+    field public static final int STRAIGHT_WAW = 85; // 0x55
+    field public static final int SWASH_KAF = 38; // 0x26
+    field public static final int SYRIAC_WAW = 39; // 0x27
+    field public static final int TAH = 40; // 0x28
+    field public static final int TAW = 41; // 0x29
+    field public static final int TEH_MARBUTA = 42; // 0x2a
+    field public static final int TEH_MARBUTA_GOAL = 14; // 0xe
+    field public static final int TETH = 43; // 0x2b
+    field public static final int WAW = 44; // 0x2c
+    field public static final int YEH = 45; // 0x2d
+    field public static final int YEH_BARREE = 46; // 0x2e
+    field public static final int YEH_WITH_TAIL = 47; // 0x2f
+    field public static final int YUDH = 48; // 0x30
+    field public static final int YUDH_HE = 49; // 0x31
+    field public static final int ZAIN = 50; // 0x32
+    field public static final int ZHAIN = 53; // 0x35
+  }
+
+  public static interface UCharacter.JoiningType {
+    field public static final int DUAL_JOINING = 2; // 0x2
+    field public static final int JOIN_CAUSING = 1; // 0x1
+    field public static final int LEFT_JOINING = 3; // 0x3
+    field public static final int NON_JOINING = 0; // 0x0
+    field public static final int RIGHT_JOINING = 4; // 0x4
+    field public static final int TRANSPARENT = 5; // 0x5
+  }
+
+  public static interface UCharacter.LineBreak {
+    field public static final int ALPHABETIC = 2; // 0x2
+    field public static final int AMBIGUOUS = 1; // 0x1
+    field public static final int BREAK_AFTER = 4; // 0x4
+    field public static final int BREAK_BEFORE = 5; // 0x5
+    field public static final int BREAK_BOTH = 3; // 0x3
+    field public static final int BREAK_SYMBOLS = 27; // 0x1b
+    field public static final int CARRIAGE_RETURN = 10; // 0xa
+    field public static final int CLOSE_PARENTHESIS = 36; // 0x24
+    field public static final int CLOSE_PUNCTUATION = 8; // 0x8
+    field public static final int COMBINING_MARK = 9; // 0x9
+    field public static final int COMPLEX_CONTEXT = 24; // 0x18
+    field public static final int CONDITIONAL_JAPANESE_STARTER = 37; // 0x25
+    field public static final int CONTINGENT_BREAK = 7; // 0x7
+    field public static final int EXCLAMATION = 11; // 0xb
+    field public static final int E_BASE = 40; // 0x28
+    field public static final int E_MODIFIER = 41; // 0x29
+    field public static final int GLUE = 12; // 0xc
+    field public static final int H2 = 31; // 0x1f
+    field public static final int H3 = 32; // 0x20
+    field public static final int HEBREW_LETTER = 38; // 0x26
+    field public static final int HYPHEN = 13; // 0xd
+    field public static final int IDEOGRAPHIC = 14; // 0xe
+    field public static final int INFIX_NUMERIC = 16; // 0x10
+    field public static final int INSEPARABLE = 15; // 0xf
+    field public static final int INSEPERABLE = 15; // 0xf
+    field public static final int JL = 33; // 0x21
+    field public static final int JT = 34; // 0x22
+    field public static final int JV = 35; // 0x23
+    field public static final int LINE_FEED = 17; // 0x11
+    field public static final int MANDATORY_BREAK = 6; // 0x6
+    field public static final int NEXT_LINE = 29; // 0x1d
+    field public static final int NONSTARTER = 18; // 0x12
+    field public static final int NUMERIC = 19; // 0x13
+    field public static final int OPEN_PUNCTUATION = 20; // 0x14
+    field public static final int POSTFIX_NUMERIC = 21; // 0x15
+    field public static final int PREFIX_NUMERIC = 22; // 0x16
+    field public static final int QUOTATION = 23; // 0x17
+    field public static final int REGIONAL_INDICATOR = 39; // 0x27
+    field public static final int SPACE = 26; // 0x1a
+    field public static final int SURROGATE = 25; // 0x19
+    field public static final int UNKNOWN = 0; // 0x0
+    field public static final int WORD_JOINER = 30; // 0x1e
+    field public static final int ZWJ = 42; // 0x2a
+    field public static final int ZWSPACE = 28; // 0x1c
+  }
+
+  public static interface UCharacter.NumericType {
+    field public static final int DECIMAL = 1; // 0x1
+    field public static final int DIGIT = 2; // 0x2
+    field public static final int NONE = 0; // 0x0
+    field public static final int NUMERIC = 3; // 0x3
+  }
+
+  public static interface UCharacter.SentenceBreak {
+    field public static final int ATERM = 1; // 0x1
+    field public static final int CLOSE = 2; // 0x2
+    field public static final int CR = 11; // 0xb
+    field public static final int EXTEND = 12; // 0xc
+    field public static final int FORMAT = 3; // 0x3
+    field public static final int LF = 13; // 0xd
+    field public static final int LOWER = 4; // 0x4
+    field public static final int NUMERIC = 5; // 0x5
+    field public static final int OLETTER = 6; // 0x6
+    field public static final int OTHER = 0; // 0x0
+    field public static final int SCONTINUE = 14; // 0xe
+    field public static final int SEP = 7; // 0x7
+    field public static final int SP = 8; // 0x8
+    field public static final int STERM = 9; // 0x9
+    field public static final int UPPER = 10; // 0xa
+  }
+
+  public static final class UCharacter.UnicodeBlock extends java.lang.Character.Subset {
+    method public static android.icu.lang.UCharacter.UnicodeBlock forName(String);
+    method public int getID();
+    method public static android.icu.lang.UCharacter.UnicodeBlock getInstance(int);
+    method public static android.icu.lang.UCharacter.UnicodeBlock of(int);
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ADLAM;
+    field public static final int ADLAM_ID = 263; // 0x107
+    field public static final android.icu.lang.UCharacter.UnicodeBlock AEGEAN_NUMBERS;
+    field public static final int AEGEAN_NUMBERS_ID = 119; // 0x77
+    field public static final android.icu.lang.UCharacter.UnicodeBlock AHOM;
+    field public static final int AHOM_ID = 253; // 0xfd
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ALCHEMICAL_SYMBOLS;
+    field public static final int ALCHEMICAL_SYMBOLS_ID = 208; // 0xd0
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ALPHABETIC_PRESENTATION_FORMS;
+    field public static final int ALPHABETIC_PRESENTATION_FORMS_ID = 80; // 0x50
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ANATOLIAN_HIEROGLYPHS;
+    field public static final int ANATOLIAN_HIEROGLYPHS_ID = 254; // 0xfe
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION;
+    field public static final int ANCIENT_GREEK_MUSICAL_NOTATION_ID = 126; // 0x7e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ANCIENT_GREEK_NUMBERS;
+    field public static final int ANCIENT_GREEK_NUMBERS_ID = 127; // 0x7f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ANCIENT_SYMBOLS;
+    field public static final int ANCIENT_SYMBOLS_ID = 165; // 0xa5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_EXTENDED_A;
+    field public static final int ARABIC_EXTENDED_A_ID = 210; // 0xd2
+    field public static final int ARABIC_ID = 12; // 0xc
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS;
+    field public static final int ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_ID = 211; // 0xd3
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_PRESENTATION_FORMS_A;
+    field public static final int ARABIC_PRESENTATION_FORMS_A_ID = 81; // 0x51
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_PRESENTATION_FORMS_B;
+    field public static final int ARABIC_PRESENTATION_FORMS_B_ID = 85; // 0x55
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_SUPPLEMENT;
+    field public static final int ARABIC_SUPPLEMENT_ID = 128; // 0x80
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARMENIAN;
+    field public static final int ARMENIAN_ID = 10; // 0xa
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARROWS;
+    field public static final int ARROWS_ID = 46; // 0x2e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock AVESTAN;
+    field public static final int AVESTAN_ID = 188; // 0xbc
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BALINESE;
+    field public static final int BALINESE_ID = 147; // 0x93
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BAMUM;
+    field public static final int BAMUM_ID = 177; // 0xb1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BAMUM_SUPPLEMENT;
+    field public static final int BAMUM_SUPPLEMENT_ID = 202; // 0xca
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BASIC_LATIN;
+    field public static final int BASIC_LATIN_ID = 1; // 0x1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BASSA_VAH;
+    field public static final int BASSA_VAH_ID = 221; // 0xdd
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BATAK;
+    field public static final int BATAK_ID = 199; // 0xc7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BENGALI;
+    field public static final int BENGALI_ID = 16; // 0x10
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BHAIKSUKI;
+    field public static final int BHAIKSUKI_ID = 264; // 0x108
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BLOCK_ELEMENTS;
+    field public static final int BLOCK_ELEMENTS_ID = 53; // 0x35
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BOPOMOFO;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BOPOMOFO_EXTENDED;
+    field public static final int BOPOMOFO_EXTENDED_ID = 67; // 0x43
+    field public static final int BOPOMOFO_ID = 64; // 0x40
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BOX_DRAWING;
+    field public static final int BOX_DRAWING_ID = 52; // 0x34
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BRAHMI;
+    field public static final int BRAHMI_ID = 201; // 0xc9
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BRAILLE_PATTERNS;
+    field public static final int BRAILLE_PATTERNS_ID = 57; // 0x39
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BUGINESE;
+    field public static final int BUGINESE_ID = 129; // 0x81
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BUHID;
+    field public static final int BUHID_ID = 100; // 0x64
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS;
+    field public static final int BYZANTINE_MUSICAL_SYMBOLS_ID = 91; // 0x5b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CARIAN;
+    field public static final int CARIAN_ID = 168; // 0xa8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CAUCASIAN_ALBANIAN;
+    field public static final int CAUCASIAN_ALBANIAN_ID = 222; // 0xde
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHAKMA;
+    field public static final int CHAKMA_ID = 212; // 0xd4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHAM;
+    field public static final int CHAM_ID = 164; // 0xa4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHEROKEE;
+    field public static final int CHEROKEE_ID = 32; // 0x20
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHEROKEE_SUPPLEMENT;
+    field public static final int CHEROKEE_SUPPLEMENT_ID = 255; // 0xff
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHESS_SYMBOLS;
+    field public static final int CHESS_SYMBOLS_ID = 281; // 0x119
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHORASMIAN;
+    field public static final int CHORASMIAN_ID = 301; // 0x12d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY_FORMS;
+    field public static final int CJK_COMPATIBILITY_FORMS_ID = 83; // 0x53
+    field public static final int CJK_COMPATIBILITY_ID = 69; // 0x45
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS;
+    field public static final int CJK_COMPATIBILITY_IDEOGRAPHS_ID = 79; // 0x4f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT;
+    field public static final int CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID = 95; // 0x5f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_RADICALS_SUPPLEMENT;
+    field public static final int CJK_RADICALS_SUPPLEMENT_ID = 58; // 0x3a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_STROKES;
+    field public static final int CJK_STROKES_ID = 130; // 0x82
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION;
+    field public static final int CJK_SYMBOLS_AND_PUNCTUATION_ID = 61; // 0x3d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_ID = 70; // 0x46
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID = 94; // 0x5e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_ID = 197; // 0xc5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_ID = 209; // 0xd1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID = 256; // 0x100
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F_ID = 274; // 0x112
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G_ID = 302; // 0x12e
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_ID = 71; // 0x47
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_DIACRITICAL_MARKS;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_DIACRITICAL_MARKS_EXTENDED;
+    field public static final int COMBINING_DIACRITICAL_MARKS_EXTENDED_ID = 224; // 0xe0
+    field public static final int COMBINING_DIACRITICAL_MARKS_ID = 7; // 0x7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT;
+    field public static final int COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID = 131; // 0x83
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_HALF_MARKS;
+    field public static final int COMBINING_HALF_MARKS_ID = 82; // 0x52
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS;
+    field public static final int COMBINING_MARKS_FOR_SYMBOLS_ID = 43; // 0x2b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMMON_INDIC_NUMBER_FORMS;
+    field public static final int COMMON_INDIC_NUMBER_FORMS_ID = 178; // 0xb2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CONTROL_PICTURES;
+    field public static final int CONTROL_PICTURES_ID = 49; // 0x31
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COPTIC;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COPTIC_EPACT_NUMBERS;
+    field public static final int COPTIC_EPACT_NUMBERS_ID = 223; // 0xdf
+    field public static final int COPTIC_ID = 132; // 0x84
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COUNTING_ROD_NUMERALS;
+    field public static final int COUNTING_ROD_NUMERALS_ID = 154; // 0x9a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CUNEIFORM;
+    field public static final int CUNEIFORM_ID = 152; // 0x98
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CUNEIFORM_NUMBERS_AND_PUNCTUATION;
+    field public static final int CUNEIFORM_NUMBERS_AND_PUNCTUATION_ID = 153; // 0x99
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CURRENCY_SYMBOLS;
+    field public static final int CURRENCY_SYMBOLS_ID = 42; // 0x2a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYPRIOT_SYLLABARY;
+    field public static final int CYPRIOT_SYLLABARY_ID = 123; // 0x7b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_EXTENDED_A;
+    field public static final int CYRILLIC_EXTENDED_A_ID = 158; // 0x9e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_EXTENDED_B;
+    field public static final int CYRILLIC_EXTENDED_B_ID = 160; // 0xa0
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_EXTENDED_C;
+    field public static final int CYRILLIC_EXTENDED_C_ID = 265; // 0x109
+    field public static final int CYRILLIC_ID = 9; // 0x9
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_SUPPLEMENT;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_SUPPLEMENTARY;
+    field public static final int CYRILLIC_SUPPLEMENTARY_ID = 97; // 0x61
+    field public static final int CYRILLIC_SUPPLEMENT_ID = 97; // 0x61
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DESERET;
+    field public static final int DESERET_ID = 90; // 0x5a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DEVANAGARI;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DEVANAGARI_EXTENDED;
+    field public static final int DEVANAGARI_EXTENDED_ID = 179; // 0xb3
+    field public static final int DEVANAGARI_ID = 15; // 0xf
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DINGBATS;
+    field public static final int DINGBATS_ID = 56; // 0x38
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DIVES_AKURU;
+    field public static final int DIVES_AKURU_ID = 303; // 0x12f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DOGRA;
+    field public static final int DOGRA_ID = 282; // 0x11a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DOMINO_TILES;
+    field public static final int DOMINO_TILES_ID = 171; // 0xab
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DUPLOYAN;
+    field public static final int DUPLOYAN_ID = 225; // 0xe1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock EARLY_DYNASTIC_CUNEIFORM;
+    field public static final int EARLY_DYNASTIC_CUNEIFORM_ID = 257; // 0x101
+    field public static final android.icu.lang.UCharacter.UnicodeBlock EGYPTIAN_HIEROGLYPHS;
+    field public static final int EGYPTIAN_HIEROGLYPHS_ID = 194; // 0xc2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS;
+    field public static final int EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS_ID = 292; // 0x124
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ELBASAN;
+    field public static final int ELBASAN_ID = 226; // 0xe2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ELYMAIC;
+    field public static final int ELYMAIC_ID = 293; // 0x125
+    field public static final android.icu.lang.UCharacter.UnicodeBlock EMOTICONS;
+    field public static final int EMOTICONS_ID = 206; // 0xce
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_ALPHANUMERICS;
+    field public static final int ENCLOSED_ALPHANUMERICS_ID = 51; // 0x33
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_ALPHANUMERIC_SUPPLEMENT;
+    field public static final int ENCLOSED_ALPHANUMERIC_SUPPLEMENT_ID = 195; // 0xc3
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS;
+    field public static final int ENCLOSED_CJK_LETTERS_AND_MONTHS_ID = 68; // 0x44
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_IDEOGRAPHIC_SUPPLEMENT;
+    field public static final int ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_ID = 196; // 0xc4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC_EXTENDED;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC_EXTENDED_A;
+    field public static final int ETHIOPIC_EXTENDED_A_ID = 200; // 0xc8
+    field public static final int ETHIOPIC_EXTENDED_ID = 133; // 0x85
+    field public static final int ETHIOPIC_ID = 31; // 0x1f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC_SUPPLEMENT;
+    field public static final int ETHIOPIC_SUPPLEMENT_ID = 134; // 0x86
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GENERAL_PUNCTUATION;
+    field public static final int GENERAL_PUNCTUATION_ID = 40; // 0x28
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GEOMETRIC_SHAPES;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GEOMETRIC_SHAPES_EXTENDED;
+    field public static final int GEOMETRIC_SHAPES_EXTENDED_ID = 227; // 0xe3
+    field public static final int GEOMETRIC_SHAPES_ID = 54; // 0x36
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GEORGIAN;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GEORGIAN_EXTENDED;
+    field public static final int GEORGIAN_EXTENDED_ID = 283; // 0x11b
+    field public static final int GEORGIAN_ID = 29; // 0x1d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GEORGIAN_SUPPLEMENT;
+    field public static final int GEORGIAN_SUPPLEMENT_ID = 135; // 0x87
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GLAGOLITIC;
+    field public static final int GLAGOLITIC_ID = 136; // 0x88
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GLAGOLITIC_SUPPLEMENT;
+    field public static final int GLAGOLITIC_SUPPLEMENT_ID = 266; // 0x10a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GOTHIC;
+    field public static final int GOTHIC_ID = 89; // 0x59
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GRANTHA;
+    field public static final int GRANTHA_ID = 228; // 0xe4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GREEK;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GREEK_EXTENDED;
+    field public static final int GREEK_EXTENDED_ID = 39; // 0x27
+    field public static final int GREEK_ID = 8; // 0x8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GUJARATI;
+    field public static final int GUJARATI_ID = 18; // 0x12
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GUNJALA_GONDI;
+    field public static final int GUNJALA_GONDI_ID = 284; // 0x11c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GURMUKHI;
+    field public static final int GURMUKHI_ID = 17; // 0x11
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS;
+    field public static final int HALFWIDTH_AND_FULLWIDTH_FORMS_ID = 87; // 0x57
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_COMPATIBILITY_JAMO;
+    field public static final int HANGUL_COMPATIBILITY_JAMO_ID = 65; // 0x41
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_JAMO;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_JAMO_EXTENDED_A;
+    field public static final int HANGUL_JAMO_EXTENDED_A_ID = 180; // 0xb4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_JAMO_EXTENDED_B;
+    field public static final int HANGUL_JAMO_EXTENDED_B_ID = 185; // 0xb9
+    field public static final int HANGUL_JAMO_ID = 30; // 0x1e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_SYLLABLES;
+    field public static final int HANGUL_SYLLABLES_ID = 74; // 0x4a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANIFI_ROHINGYA;
+    field public static final int HANIFI_ROHINGYA_ID = 285; // 0x11d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANUNOO;
+    field public static final int HANUNOO_ID = 99; // 0x63
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HATRAN;
+    field public static final int HATRAN_ID = 258; // 0x102
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HEBREW;
+    field public static final int HEBREW_ID = 11; // 0xb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HIGH_PRIVATE_USE_SURROGATES;
+    field public static final int HIGH_PRIVATE_USE_SURROGATES_ID = 76; // 0x4c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HIGH_SURROGATES;
+    field public static final int HIGH_SURROGATES_ID = 75; // 0x4b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HIRAGANA;
+    field public static final int HIRAGANA_ID = 62; // 0x3e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS;
+    field public static final int IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID = 60; // 0x3c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION;
+    field public static final int IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_ID = 267; // 0x10b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock IMPERIAL_ARAMAIC;
+    field public static final int IMPERIAL_ARAMAIC_ID = 186; // 0xba
+    field public static final android.icu.lang.UCharacter.UnicodeBlock INDIC_SIYAQ_NUMBERS;
+    field public static final int INDIC_SIYAQ_NUMBERS_ID = 286; // 0x11e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock INSCRIPTIONAL_PAHLAVI;
+    field public static final int INSCRIPTIONAL_PAHLAVI_ID = 190; // 0xbe
+    field public static final android.icu.lang.UCharacter.UnicodeBlock INSCRIPTIONAL_PARTHIAN;
+    field public static final int INSCRIPTIONAL_PARTHIAN_ID = 189; // 0xbd
+    field public static final android.icu.lang.UCharacter.UnicodeBlock INVALID_CODE;
+    field public static final int INVALID_CODE_ID = -1; // 0xffffffff
+    field public static final android.icu.lang.UCharacter.UnicodeBlock IPA_EXTENSIONS;
+    field public static final int IPA_EXTENSIONS_ID = 5; // 0x5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock JAVANESE;
+    field public static final int JAVANESE_ID = 181; // 0xb5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KAITHI;
+    field public static final int KAITHI_ID = 193; // 0xc1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KANA_EXTENDED_A;
+    field public static final int KANA_EXTENDED_A_ID = 275; // 0x113
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KANA_SUPPLEMENT;
+    field public static final int KANA_SUPPLEMENT_ID = 203; // 0xcb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KANBUN;
+    field public static final int KANBUN_ID = 66; // 0x42
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KANGXI_RADICALS;
+    field public static final int KANGXI_RADICALS_ID = 59; // 0x3b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KANNADA;
+    field public static final int KANNADA_ID = 22; // 0x16
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KATAKANA;
+    field public static final int KATAKANA_ID = 63; // 0x3f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS;
+    field public static final int KATAKANA_PHONETIC_EXTENSIONS_ID = 107; // 0x6b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KAYAH_LI;
+    field public static final int KAYAH_LI_ID = 162; // 0xa2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHAROSHTHI;
+    field public static final int KHAROSHTHI_ID = 137; // 0x89
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHITAN_SMALL_SCRIPT;
+    field public static final int KHITAN_SMALL_SCRIPT_ID = 304; // 0x130
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHMER;
+    field public static final int KHMER_ID = 36; // 0x24
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHMER_SYMBOLS;
+    field public static final int KHMER_SYMBOLS_ID = 113; // 0x71
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHOJKI;
+    field public static final int KHOJKI_ID = 229; // 0xe5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHUDAWADI;
+    field public static final int KHUDAWADI_ID = 230; // 0xe6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LAO;
+    field public static final int LAO_ID = 26; // 0x1a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_1_SUPPLEMENT;
+    field public static final int LATIN_1_SUPPLEMENT_ID = 2; // 0x2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_A;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_ADDITIONAL;
+    field public static final int LATIN_EXTENDED_ADDITIONAL_ID = 38; // 0x26
+    field public static final int LATIN_EXTENDED_A_ID = 3; // 0x3
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_B;
+    field public static final int LATIN_EXTENDED_B_ID = 4; // 0x4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_C;
+    field public static final int LATIN_EXTENDED_C_ID = 148; // 0x94
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_D;
+    field public static final int LATIN_EXTENDED_D_ID = 149; // 0x95
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_E;
+    field public static final int LATIN_EXTENDED_E_ID = 231; // 0xe7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LEPCHA;
+    field public static final int LEPCHA_ID = 156; // 0x9c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LETTERLIKE_SYMBOLS;
+    field public static final int LETTERLIKE_SYMBOLS_ID = 44; // 0x2c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LIMBU;
+    field public static final int LIMBU_ID = 111; // 0x6f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LINEAR_A;
+    field public static final int LINEAR_A_ID = 232; // 0xe8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LINEAR_B_IDEOGRAMS;
+    field public static final int LINEAR_B_IDEOGRAMS_ID = 118; // 0x76
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LINEAR_B_SYLLABARY;
+    field public static final int LINEAR_B_SYLLABARY_ID = 117; // 0x75
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LISU;
+    field public static final int LISU_ID = 176; // 0xb0
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LISU_SUPPLEMENT;
+    field public static final int LISU_SUPPLEMENT_ID = 305; // 0x131
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LOW_SURROGATES;
+    field public static final int LOW_SURROGATES_ID = 77; // 0x4d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LYCIAN;
+    field public static final int LYCIAN_ID = 167; // 0xa7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LYDIAN;
+    field public static final int LYDIAN_ID = 169; // 0xa9
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MAHAJANI;
+    field public static final int MAHAJANI_ID = 233; // 0xe9
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MAHJONG_TILES;
+    field public static final int MAHJONG_TILES_ID = 170; // 0xaa
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MAKASAR;
+    field public static final int MAKASAR_ID = 287; // 0x11f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MALAYALAM;
+    field public static final int MALAYALAM_ID = 23; // 0x17
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MANDAIC;
+    field public static final int MANDAIC_ID = 198; // 0xc6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MANICHAEAN;
+    field public static final int MANICHAEAN_ID = 234; // 0xea
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MARCHEN;
+    field public static final int MARCHEN_ID = 268; // 0x10c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MASARAM_GONDI;
+    field public static final int MASARAM_GONDI_ID = 276; // 0x114
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS;
+    field public static final int MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID = 93; // 0x5d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MATHEMATICAL_OPERATORS;
+    field public static final int MATHEMATICAL_OPERATORS_ID = 47; // 0x2f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MAYAN_NUMERALS;
+    field public static final int MAYAN_NUMERALS_ID = 288; // 0x120
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MEDEFAIDRIN;
+    field public static final int MEDEFAIDRIN_ID = 289; // 0x121
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MEETEI_MAYEK;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MEETEI_MAYEK_EXTENSIONS;
+    field public static final int MEETEI_MAYEK_EXTENSIONS_ID = 213; // 0xd5
+    field public static final int MEETEI_MAYEK_ID = 184; // 0xb8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MENDE_KIKAKUI;
+    field public static final int MENDE_KIKAKUI_ID = 235; // 0xeb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MEROITIC_CURSIVE;
+    field public static final int MEROITIC_CURSIVE_ID = 214; // 0xd6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MEROITIC_HIEROGLYPHS;
+    field public static final int MEROITIC_HIEROGLYPHS_ID = 215; // 0xd7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MIAO;
+    field public static final int MIAO_ID = 216; // 0xd8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A;
+    field public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID = 102; // 0x66
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B;
+    field public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID = 105; // 0x69
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_SYMBOLS;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS;
+    field public static final int MISCELLANEOUS_SYMBOLS_AND_ARROWS_ID = 115; // 0x73
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS;
+    field public static final int MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_ID = 205; // 0xcd
+    field public static final int MISCELLANEOUS_SYMBOLS_ID = 55; // 0x37
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_TECHNICAL;
+    field public static final int MISCELLANEOUS_TECHNICAL_ID = 48; // 0x30
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MODI;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MODIFIER_TONE_LETTERS;
+    field public static final int MODIFIER_TONE_LETTERS_ID = 138; // 0x8a
+    field public static final int MODI_ID = 236; // 0xec
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MONGOLIAN;
+    field public static final int MONGOLIAN_ID = 37; // 0x25
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MONGOLIAN_SUPPLEMENT;
+    field public static final int MONGOLIAN_SUPPLEMENT_ID = 269; // 0x10d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MRO;
+    field public static final int MRO_ID = 237; // 0xed
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MULTANI;
+    field public static final int MULTANI_ID = 259; // 0x103
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MUSICAL_SYMBOLS;
+    field public static final int MUSICAL_SYMBOLS_ID = 92; // 0x5c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MYANMAR;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MYANMAR_EXTENDED_A;
+    field public static final int MYANMAR_EXTENDED_A_ID = 182; // 0xb6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MYANMAR_EXTENDED_B;
+    field public static final int MYANMAR_EXTENDED_B_ID = 238; // 0xee
+    field public static final int MYANMAR_ID = 28; // 0x1c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NABATAEAN;
+    field public static final int NABATAEAN_ID = 239; // 0xef
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NANDINAGARI;
+    field public static final int NANDINAGARI_ID = 294; // 0x126
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NEWA;
+    field public static final int NEWA_ID = 270; // 0x10e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NEW_TAI_LUE;
+    field public static final int NEW_TAI_LUE_ID = 139; // 0x8b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NKO;
+    field public static final int NKO_ID = 146; // 0x92
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NO_BLOCK;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NUMBER_FORMS;
+    field public static final int NUMBER_FORMS_ID = 45; // 0x2d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NUSHU;
+    field public static final int NUSHU_ID = 277; // 0x115
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NYIAKENG_PUACHUE_HMONG;
+    field public static final int NYIAKENG_PUACHUE_HMONG_ID = 295; // 0x127
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OGHAM;
+    field public static final int OGHAM_ID = 34; // 0x22
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_HUNGARIAN;
+    field public static final int OLD_HUNGARIAN_ID = 260; // 0x104
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_ITALIC;
+    field public static final int OLD_ITALIC_ID = 88; // 0x58
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_NORTH_ARABIAN;
+    field public static final int OLD_NORTH_ARABIAN_ID = 240; // 0xf0
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_PERMIC;
+    field public static final int OLD_PERMIC_ID = 241; // 0xf1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_PERSIAN;
+    field public static final int OLD_PERSIAN_ID = 140; // 0x8c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_SOGDIAN;
+    field public static final int OLD_SOGDIAN_ID = 290; // 0x122
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_SOUTH_ARABIAN;
+    field public static final int OLD_SOUTH_ARABIAN_ID = 187; // 0xbb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_TURKIC;
+    field public static final int OLD_TURKIC_ID = 191; // 0xbf
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OL_CHIKI;
+    field public static final int OL_CHIKI_ID = 157; // 0x9d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OPTICAL_CHARACTER_RECOGNITION;
+    field public static final int OPTICAL_CHARACTER_RECOGNITION_ID = 50; // 0x32
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ORIYA;
+    field public static final int ORIYA_ID = 19; // 0x13
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ORNAMENTAL_DINGBATS;
+    field public static final int ORNAMENTAL_DINGBATS_ID = 242; // 0xf2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OSAGE;
+    field public static final int OSAGE_ID = 271; // 0x10f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OSMANYA;
+    field public static final int OSMANYA_ID = 122; // 0x7a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OTTOMAN_SIYAQ_NUMBERS;
+    field public static final int OTTOMAN_SIYAQ_NUMBERS_ID = 296; // 0x128
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PAHAWH_HMONG;
+    field public static final int PAHAWH_HMONG_ID = 243; // 0xf3
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PALMYRENE;
+    field public static final int PALMYRENE_ID = 244; // 0xf4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PAU_CIN_HAU;
+    field public static final int PAU_CIN_HAU_ID = 245; // 0xf5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PHAGS_PA;
+    field public static final int PHAGS_PA_ID = 150; // 0x96
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PHAISTOS_DISC;
+    field public static final int PHAISTOS_DISC_ID = 166; // 0xa6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PHOENICIAN;
+    field public static final int PHOENICIAN_ID = 151; // 0x97
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PHONETIC_EXTENSIONS;
+    field public static final int PHONETIC_EXTENSIONS_ID = 114; // 0x72
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT;
+    field public static final int PHONETIC_EXTENSIONS_SUPPLEMENT_ID = 141; // 0x8d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PLAYING_CARDS;
+    field public static final int PLAYING_CARDS_ID = 204; // 0xcc
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PRIVATE_USE;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PRIVATE_USE_AREA;
+    field public static final int PRIVATE_USE_AREA_ID = 78; // 0x4e
+    field public static final int PRIVATE_USE_ID = 78; // 0x4e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PSALTER_PAHLAVI;
+    field public static final int PSALTER_PAHLAVI_ID = 246; // 0xf6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock REJANG;
+    field public static final int REJANG_ID = 163; // 0xa3
+    field public static final android.icu.lang.UCharacter.UnicodeBlock RUMI_NUMERAL_SYMBOLS;
+    field public static final int RUMI_NUMERAL_SYMBOLS_ID = 192; // 0xc0
+    field public static final android.icu.lang.UCharacter.UnicodeBlock RUNIC;
+    field public static final int RUNIC_ID = 35; // 0x23
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SAMARITAN;
+    field public static final int SAMARITAN_ID = 172; // 0xac
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SAURASHTRA;
+    field public static final int SAURASHTRA_ID = 161; // 0xa1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SHARADA;
+    field public static final int SHARADA_ID = 217; // 0xd9
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SHAVIAN;
+    field public static final int SHAVIAN_ID = 121; // 0x79
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SHORTHAND_FORMAT_CONTROLS;
+    field public static final int SHORTHAND_FORMAT_CONTROLS_ID = 247; // 0xf7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SIDDHAM;
+    field public static final int SIDDHAM_ID = 248; // 0xf8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SINHALA;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SINHALA_ARCHAIC_NUMBERS;
+    field public static final int SINHALA_ARCHAIC_NUMBERS_ID = 249; // 0xf9
+    field public static final int SINHALA_ID = 24; // 0x18
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SMALL_FORM_VARIANTS;
+    field public static final int SMALL_FORM_VARIANTS_ID = 84; // 0x54
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SMALL_KANA_EXTENSION;
+    field public static final int SMALL_KANA_EXTENSION_ID = 297; // 0x129
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SOGDIAN;
+    field public static final int SOGDIAN_ID = 291; // 0x123
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SORA_SOMPENG;
+    field public static final int SORA_SOMPENG_ID = 218; // 0xda
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SOYOMBO;
+    field public static final int SOYOMBO_ID = 278; // 0x116
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SPACING_MODIFIER_LETTERS;
+    field public static final int SPACING_MODIFIER_LETTERS_ID = 6; // 0x6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SPECIALS;
+    field public static final int SPECIALS_ID = 86; // 0x56
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUNDANESE;
+    field public static final int SUNDANESE_ID = 155; // 0x9b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUNDANESE_SUPPLEMENT;
+    field public static final int SUNDANESE_SUPPLEMENT_ID = 219; // 0xdb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS;
+    field public static final int SUPERSCRIPTS_AND_SUBSCRIPTS_ID = 41; // 0x29
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_ARROWS_A;
+    field public static final int SUPPLEMENTAL_ARROWS_A_ID = 103; // 0x67
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_ARROWS_B;
+    field public static final int SUPPLEMENTAL_ARROWS_B_ID = 104; // 0x68
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_ARROWS_C;
+    field public static final int SUPPLEMENTAL_ARROWS_C_ID = 250; // 0xfa
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS;
+    field public static final int SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID = 106; // 0x6a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_PUNCTUATION;
+    field public static final int SUPPLEMENTAL_PUNCTUATION_ID = 142; // 0x8e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS;
+    field public static final int SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID = 261; // 0x105
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A;
+    field public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID = 109; // 0x6d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B;
+    field public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID = 110; // 0x6e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUTTON_SIGNWRITING;
+    field public static final int SUTTON_SIGNWRITING_ID = 262; // 0x106
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SYLOTI_NAGRI;
+    field public static final int SYLOTI_NAGRI_ID = 143; // 0x8f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A;
+    field public static final int SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A_ID = 298; // 0x12a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SYMBOLS_FOR_LEGACY_COMPUTING;
+    field public static final int SYMBOLS_FOR_LEGACY_COMPUTING_ID = 306; // 0x132
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SYRIAC;
+    field public static final int SYRIAC_ID = 13; // 0xd
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SYRIAC_SUPPLEMENT;
+    field public static final int SYRIAC_SUPPLEMENT_ID = 279; // 0x117
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAGALOG;
+    field public static final int TAGALOG_ID = 98; // 0x62
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAGBANWA;
+    field public static final int TAGBANWA_ID = 101; // 0x65
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAGS;
+    field public static final int TAGS_ID = 96; // 0x60
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_LE;
+    field public static final int TAI_LE_ID = 112; // 0x70
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_THAM;
+    field public static final int TAI_THAM_ID = 174; // 0xae
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_VIET;
+    field public static final int TAI_VIET_ID = 183; // 0xb7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_XUAN_JING_SYMBOLS;
+    field public static final int TAI_XUAN_JING_SYMBOLS_ID = 124; // 0x7c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAKRI;
+    field public static final int TAKRI_ID = 220; // 0xdc
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAMIL;
+    field public static final int TAMIL_ID = 20; // 0x14
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAMIL_SUPPLEMENT;
+    field public static final int TAMIL_SUPPLEMENT_ID = 299; // 0x12b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TANGUT;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TANGUT_COMPONENTS;
+    field public static final int TANGUT_COMPONENTS_ID = 273; // 0x111
+    field public static final int TANGUT_ID = 272; // 0x110
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TANGUT_SUPPLEMENT;
+    field public static final int TANGUT_SUPPLEMENT_ID = 307; // 0x133
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TELUGU;
+    field public static final int TELUGU_ID = 21; // 0x15
+    field public static final android.icu.lang.UCharacter.UnicodeBlock THAANA;
+    field public static final int THAANA_ID = 14; // 0xe
+    field public static final android.icu.lang.UCharacter.UnicodeBlock THAI;
+    field public static final int THAI_ID = 25; // 0x19
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TIBETAN;
+    field public static final int TIBETAN_ID = 27; // 0x1b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TIFINAGH;
+    field public static final int TIFINAGH_ID = 144; // 0x90
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TIRHUTA;
+    field public static final int TIRHUTA_ID = 251; // 0xfb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TRANSPORT_AND_MAP_SYMBOLS;
+    field public static final int TRANSPORT_AND_MAP_SYMBOLS_ID = 207; // 0xcf
+    field public static final android.icu.lang.UCharacter.UnicodeBlock UGARITIC;
+    field public static final int UGARITIC_ID = 120; // 0x78
+    field public static final android.icu.lang.UCharacter.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED;
+    field public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_ID = 173; // 0xad
+    field public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID = 33; // 0x21
+    field public static final android.icu.lang.UCharacter.UnicodeBlock VAI;
+    field public static final int VAI_ID = 159; // 0x9f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock VARIATION_SELECTORS;
+    field public static final int VARIATION_SELECTORS_ID = 108; // 0x6c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT;
+    field public static final int VARIATION_SELECTORS_SUPPLEMENT_ID = 125; // 0x7d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock VEDIC_EXTENSIONS;
+    field public static final int VEDIC_EXTENSIONS_ID = 175; // 0xaf
+    field public static final android.icu.lang.UCharacter.UnicodeBlock VERTICAL_FORMS;
+    field public static final int VERTICAL_FORMS_ID = 145; // 0x91
+    field public static final android.icu.lang.UCharacter.UnicodeBlock WANCHO;
+    field public static final int WANCHO_ID = 300; // 0x12c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock WARANG_CITI;
+    field public static final int WARANG_CITI_ID = 252; // 0xfc
+    field public static final android.icu.lang.UCharacter.UnicodeBlock YEZIDI;
+    field public static final int YEZIDI_ID = 308; // 0x134
+    field public static final android.icu.lang.UCharacter.UnicodeBlock YIJING_HEXAGRAM_SYMBOLS;
+    field public static final int YIJING_HEXAGRAM_SYMBOLS_ID = 116; // 0x74
+    field public static final android.icu.lang.UCharacter.UnicodeBlock YI_RADICALS;
+    field public static final int YI_RADICALS_ID = 73; // 0x49
+    field public static final android.icu.lang.UCharacter.UnicodeBlock YI_SYLLABLES;
+    field public static final int YI_SYLLABLES_ID = 72; // 0x48
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ZANABAZAR_SQUARE;
+    field public static final int ZANABAZAR_SQUARE_ID = 280; // 0x118
+  }
+
+  public static interface UCharacter.VerticalOrientation {
+    field public static final int ROTATED = 0; // 0x0
+    field public static final int TRANSFORMED_ROTATED = 1; // 0x1
+    field public static final int TRANSFORMED_UPRIGHT = 2; // 0x2
+    field public static final int UPRIGHT = 3; // 0x3
+  }
+
+  public static interface UCharacter.WordBreak {
+    field public static final int ALETTER = 1; // 0x1
+    field public static final int CR = 8; // 0x8
+    field public static final int DOUBLE_QUOTE = 16; // 0x10
+    field public static final int EXTEND = 9; // 0x9
+    field public static final int EXTENDNUMLET = 7; // 0x7
+    field public static final int E_BASE = 17; // 0x11
+    field public static final int E_BASE_GAZ = 18; // 0x12
+    field public static final int E_MODIFIER = 19; // 0x13
+    field public static final int FORMAT = 2; // 0x2
+    field public static final int GLUE_AFTER_ZWJ = 20; // 0x14
+    field public static final int HEBREW_LETTER = 14; // 0xe
+    field public static final int KATAKANA = 3; // 0x3
+    field public static final int LF = 10; // 0xa
+    field public static final int MIDLETTER = 4; // 0x4
+    field public static final int MIDNUM = 5; // 0x5
+    field public static final int MIDNUMLET = 11; // 0xb
+    field public static final int NEWLINE = 12; // 0xc
+    field public static final int NUMERIC = 6; // 0x6
+    field public static final int OTHER = 0; // 0x0
+    field public static final int REGIONAL_INDICATOR = 13; // 0xd
+    field public static final int SINGLE_QUOTE = 15; // 0xf
+    field public static final int WSEGSPACE = 22; // 0x16
+    field public static final int ZWJ = 21; // 0x15
+  }
+
+  public final class UCharacterCategory implements android.icu.lang.UCharacterEnums.ECharacterCategory {
+    method public static String toString(int);
+  }
+
+  public final class UCharacterDirection implements android.icu.lang.UCharacterEnums.ECharacterDirection {
+    method public static String toString(int);
+  }
+
+  public class UCharacterEnums {
+  }
+
+  public static interface UCharacterEnums.ECharacterCategory {
+    field public static final byte COMBINING_SPACING_MARK = 8; // 0x8
+    field public static final byte CONNECTOR_PUNCTUATION = 22; // 0x16
+    field public static final byte CONTROL = 15; // 0xf
+    field public static final byte CURRENCY_SYMBOL = 25; // 0x19
+    field public static final byte DASH_PUNCTUATION = 19; // 0x13
+    field public static final byte DECIMAL_DIGIT_NUMBER = 9; // 0x9
+    field public static final byte ENCLOSING_MARK = 7; // 0x7
+    field public static final byte END_PUNCTUATION = 21; // 0x15
+    field public static final byte FINAL_PUNCTUATION = 29; // 0x1d
+    field public static final byte FINAL_QUOTE_PUNCTUATION = 29; // 0x1d
+    field public static final byte FORMAT = 16; // 0x10
+    field public static final byte GENERAL_OTHER_TYPES = 0; // 0x0
+    field public static final byte INITIAL_PUNCTUATION = 28; // 0x1c
+    field public static final byte INITIAL_QUOTE_PUNCTUATION = 28; // 0x1c
+    field public static final byte LETTER_NUMBER = 10; // 0xa
+    field public static final byte LINE_SEPARATOR = 13; // 0xd
+    field public static final byte LOWERCASE_LETTER = 2; // 0x2
+    field public static final byte MATH_SYMBOL = 24; // 0x18
+    field public static final byte MODIFIER_LETTER = 4; // 0x4
+    field public static final byte MODIFIER_SYMBOL = 26; // 0x1a
+    field public static final byte NON_SPACING_MARK = 6; // 0x6
+    field public static final byte OTHER_LETTER = 5; // 0x5
+    field public static final byte OTHER_NUMBER = 11; // 0xb
+    field public static final byte OTHER_PUNCTUATION = 23; // 0x17
+    field public static final byte OTHER_SYMBOL = 27; // 0x1b
+    field public static final byte PARAGRAPH_SEPARATOR = 14; // 0xe
+    field public static final byte PRIVATE_USE = 17; // 0x11
+    field public static final byte SPACE_SEPARATOR = 12; // 0xc
+    field public static final byte START_PUNCTUATION = 20; // 0x14
+    field public static final byte SURROGATE = 18; // 0x12
+    field public static final byte TITLECASE_LETTER = 3; // 0x3
+    field public static final byte UNASSIGNED = 0; // 0x0
+    field public static final byte UPPERCASE_LETTER = 1; // 0x1
+  }
+
+  public static interface UCharacterEnums.ECharacterDirection {
+    field public static final int ARABIC_NUMBER = 5; // 0x5
+    field public static final int BLOCK_SEPARATOR = 7; // 0x7
+    field public static final int BOUNDARY_NEUTRAL = 18; // 0x12
+    field public static final int COMMON_NUMBER_SEPARATOR = 6; // 0x6
+    field public static final byte DIRECTIONALITY_ARABIC_NUMBER = 5; // 0x5
+    field public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 18; // 0x12
+    field public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 6; // 0x6
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = 2; // 0x2
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 3; // 0x3
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 4; // 0x4
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 11; // 0xb
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 12; // 0xc
+    field public static final byte DIRECTIONALITY_NONSPACING_MARK = 17; // 0x11
+    field public static final byte DIRECTIONALITY_OTHER_NEUTRALS = 10; // 0xa
+    field public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 7; // 0x7
+    field public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 16; // 0x10
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = 1; // 0x1
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 13; // 0xd
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 14; // 0xe
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 15; // 0xf
+    field public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = 8; // 0x8
+    field public static final byte DIRECTIONALITY_UNDEFINED = -1; // 0xffffffff
+    field public static final byte DIRECTIONALITY_WHITESPACE = 9; // 0x9
+    field public static final int DIR_NON_SPACING_MARK = 17; // 0x11
+    field public static final int EUROPEAN_NUMBER = 2; // 0x2
+    field public static final int EUROPEAN_NUMBER_SEPARATOR = 3; // 0x3
+    field public static final int EUROPEAN_NUMBER_TERMINATOR = 4; // 0x4
+    field public static final byte FIRST_STRONG_ISOLATE = 19; // 0x13
+    field public static final int LEFT_TO_RIGHT = 0; // 0x0
+    field public static final int LEFT_TO_RIGHT_EMBEDDING = 11; // 0xb
+    field public static final byte LEFT_TO_RIGHT_ISOLATE = 20; // 0x14
+    field public static final int LEFT_TO_RIGHT_OVERRIDE = 12; // 0xc
+    field public static final int OTHER_NEUTRAL = 10; // 0xa
+    field public static final int POP_DIRECTIONAL_FORMAT = 16; // 0x10
+    field public static final byte POP_DIRECTIONAL_ISOLATE = 22; // 0x16
+    field public static final int RIGHT_TO_LEFT = 1; // 0x1
+    field public static final int RIGHT_TO_LEFT_ARABIC = 13; // 0xd
+    field public static final int RIGHT_TO_LEFT_EMBEDDING = 14; // 0xe
+    field public static final byte RIGHT_TO_LEFT_ISOLATE = 21; // 0x15
+    field public static final int RIGHT_TO_LEFT_OVERRIDE = 15; // 0xf
+    field public static final int SEGMENT_SEPARATOR = 8; // 0x8
+    field public static final int WHITE_SPACE_NEUTRAL = 9; // 0x9
+  }
+
+  public interface UProperty {
+    field public static final int AGE = 16384; // 0x4000
+    field public static final int ALPHABETIC = 0; // 0x0
+    field public static final int ASCII_HEX_DIGIT = 1; // 0x1
+    field public static final int BIDI_CLASS = 4096; // 0x1000
+    field public static final int BIDI_CONTROL = 2; // 0x2
+    field public static final int BIDI_MIRRORED = 3; // 0x3
+    field public static final int BIDI_MIRRORING_GLYPH = 16385; // 0x4001
+    field public static final int BIDI_PAIRED_BRACKET = 16397; // 0x400d
+    field public static final int BIDI_PAIRED_BRACKET_TYPE = 4117; // 0x1015
+    field public static final int BINARY_START = 0; // 0x0
+    field public static final int BLOCK = 4097; // 0x1001
+    field public static final int CANONICAL_COMBINING_CLASS = 4098; // 0x1002
+    field public static final int CASED = 49; // 0x31
+    field public static final int CASE_FOLDING = 16386; // 0x4002
+    field public static final int CASE_IGNORABLE = 50; // 0x32
+    field public static final int CASE_SENSITIVE = 34; // 0x22
+    field public static final int CHANGES_WHEN_CASEFOLDED = 54; // 0x36
+    field public static final int CHANGES_WHEN_CASEMAPPED = 55; // 0x37
+    field public static final int CHANGES_WHEN_LOWERCASED = 51; // 0x33
+    field public static final int CHANGES_WHEN_NFKC_CASEFOLDED = 56; // 0x38
+    field public static final int CHANGES_WHEN_TITLECASED = 53; // 0x35
+    field public static final int CHANGES_WHEN_UPPERCASED = 52; // 0x34
+    field public static final int DASH = 4; // 0x4
+    field public static final int DECOMPOSITION_TYPE = 4099; // 0x1003
+    field public static final int DEFAULT_IGNORABLE_CODE_POINT = 5; // 0x5
+    field public static final int DEPRECATED = 6; // 0x6
+    field public static final int DIACRITIC = 7; // 0x7
+    field public static final int DOUBLE_START = 12288; // 0x3000
+    field public static final int EAST_ASIAN_WIDTH = 4100; // 0x1004
+    field public static final int EMOJI = 57; // 0x39
+    field public static final int EMOJI_COMPONENT = 61; // 0x3d
+    field public static final int EMOJI_MODIFIER = 59; // 0x3b
+    field public static final int EMOJI_MODIFIER_BASE = 60; // 0x3c
+    field public static final int EMOJI_PRESENTATION = 58; // 0x3a
+    field public static final int EXTENDED_PICTOGRAPHIC = 64; // 0x40
+    field public static final int EXTENDER = 8; // 0x8
+    field public static final int FULL_COMPOSITION_EXCLUSION = 9; // 0x9
+    field public static final int GENERAL_CATEGORY = 4101; // 0x1005
+    field public static final int GENERAL_CATEGORY_MASK = 8192; // 0x2000
+    field public static final int GRAPHEME_BASE = 10; // 0xa
+    field public static final int GRAPHEME_CLUSTER_BREAK = 4114; // 0x1012
+    field public static final int GRAPHEME_EXTEND = 11; // 0xb
+    field public static final int GRAPHEME_LINK = 12; // 0xc
+    field public static final int HANGUL_SYLLABLE_TYPE = 4107; // 0x100b
+    field public static final int HEX_DIGIT = 13; // 0xd
+    field public static final int HYPHEN = 14; // 0xe
+    field public static final int IDEOGRAPHIC = 17; // 0x11
+    field public static final int IDS_BINARY_OPERATOR = 18; // 0x12
+    field public static final int IDS_TRINARY_OPERATOR = 19; // 0x13
+    field public static final int ID_CONTINUE = 15; // 0xf
+    field public static final int ID_START = 16; // 0x10
+    field public static final int INDIC_POSITIONAL_CATEGORY = 4118; // 0x1016
+    field public static final int INDIC_SYLLABIC_CATEGORY = 4119; // 0x1017
+    field public static final int INT_START = 4096; // 0x1000
+    field public static final int JOINING_GROUP = 4102; // 0x1006
+    field public static final int JOINING_TYPE = 4103; // 0x1007
+    field public static final int JOIN_CONTROL = 20; // 0x14
+    field public static final int LEAD_CANONICAL_COMBINING_CLASS = 4112; // 0x1010
+    field public static final int LINE_BREAK = 4104; // 0x1008
+    field public static final int LOGICAL_ORDER_EXCEPTION = 21; // 0x15
+    field public static final int LOWERCASE = 22; // 0x16
+    field public static final int LOWERCASE_MAPPING = 16388; // 0x4004
+    field public static final int MASK_START = 8192; // 0x2000
+    field public static final int MATH = 23; // 0x17
+    field public static final int NAME = 16389; // 0x4005
+    field public static final int NFC_INERT = 39; // 0x27
+    field public static final int NFC_QUICK_CHECK = 4110; // 0x100e
+    field public static final int NFD_INERT = 37; // 0x25
+    field public static final int NFD_QUICK_CHECK = 4108; // 0x100c
+    field public static final int NFKC_INERT = 40; // 0x28
+    field public static final int NFKC_QUICK_CHECK = 4111; // 0x100f
+    field public static final int NFKD_INERT = 38; // 0x26
+    field public static final int NFKD_QUICK_CHECK = 4109; // 0x100d
+    field public static final int NONCHARACTER_CODE_POINT = 24; // 0x18
+    field public static final int NUMERIC_TYPE = 4105; // 0x1009
+    field public static final int NUMERIC_VALUE = 12288; // 0x3000
+    field public static final int OTHER_PROPERTY_START = 28672; // 0x7000
+    field public static final int PATTERN_SYNTAX = 42; // 0x2a
+    field public static final int PATTERN_WHITE_SPACE = 43; // 0x2b
+    field public static final int POSIX_ALNUM = 44; // 0x2c
+    field public static final int POSIX_BLANK = 45; // 0x2d
+    field public static final int POSIX_GRAPH = 46; // 0x2e
+    field public static final int POSIX_PRINT = 47; // 0x2f
+    field public static final int POSIX_XDIGIT = 48; // 0x30
+    field public static final int PREPENDED_CONCATENATION_MARK = 63; // 0x3f
+    field public static final int QUOTATION_MARK = 25; // 0x19
+    field public static final int RADICAL = 26; // 0x1a
+    field public static final int REGIONAL_INDICATOR = 62; // 0x3e
+    field public static final int SCRIPT = 4106; // 0x100a
+    field public static final int SCRIPT_EXTENSIONS = 28672; // 0x7000
+    field public static final int SEGMENT_STARTER = 41; // 0x29
+    field public static final int SENTENCE_BREAK = 4115; // 0x1013
+    field public static final int SIMPLE_CASE_FOLDING = 16390; // 0x4006
+    field public static final int SIMPLE_LOWERCASE_MAPPING = 16391; // 0x4007
+    field public static final int SIMPLE_TITLECASE_MAPPING = 16392; // 0x4008
+    field public static final int SIMPLE_UPPERCASE_MAPPING = 16393; // 0x4009
+    field public static final int SOFT_DOTTED = 27; // 0x1b
+    field public static final int STRING_START = 16384; // 0x4000
+    field public static final int S_TERM = 35; // 0x23
+    field public static final int TERMINAL_PUNCTUATION = 28; // 0x1c
+    field public static final int TITLECASE_MAPPING = 16394; // 0x400a
+    field public static final int TRAIL_CANONICAL_COMBINING_CLASS = 4113; // 0x1011
+    field public static final int UNIFIED_IDEOGRAPH = 29; // 0x1d
+    field public static final int UPPERCASE = 30; // 0x1e
+    field public static final int UPPERCASE_MAPPING = 16396; // 0x400c
+    field public static final int VARIATION_SELECTOR = 36; // 0x24
+    field public static final int VERTICAL_ORIENTATION = 4120; // 0x1018
+    field public static final int WHITE_SPACE = 31; // 0x1f
+    field public static final int WORD_BREAK = 4116; // 0x1014
+    field public static final int XID_CONTINUE = 32; // 0x20
+    field public static final int XID_START = 33; // 0x21
+  }
+
+  public static interface UProperty.NameChoice {
+    field public static final int LONG = 1; // 0x1
+    field public static final int SHORT = 0; // 0x0
+  }
+
+  public final class UScript {
+    method public static boolean breaksBetweenLetters(int);
+    method public static int[] getCode(java.util.Locale);
+    method public static int[] getCode(android.icu.util.ULocale);
+    method public static int[] getCode(String);
+    method public static int getCodeFromName(String);
+    method public static String getName(int);
+    method public static String getSampleString(int);
+    method public static int getScript(int);
+    method public static int getScriptExtensions(int, java.util.BitSet);
+    method public static String getShortName(int);
+    method public static android.icu.lang.UScript.ScriptUsage getUsage(int);
+    method public static boolean hasScript(int, int);
+    method public static boolean isCased(int);
+    method public static boolean isRightToLeft(int);
+    field public static final int ADLAM = 167; // 0xa7
+    field public static final int AFAKA = 147; // 0x93
+    field public static final int AHOM = 161; // 0xa1
+    field public static final int ANATOLIAN_HIEROGLYPHS = 156; // 0x9c
+    field public static final int ARABIC = 2; // 0x2
+    field public static final int ARMENIAN = 3; // 0x3
+    field public static final int AVESTAN = 117; // 0x75
+    field public static final int BALINESE = 62; // 0x3e
+    field public static final int BAMUM = 130; // 0x82
+    field public static final int BASSA_VAH = 134; // 0x86
+    field public static final int BATAK = 63; // 0x3f
+    field public static final int BENGALI = 4; // 0x4
+    field public static final int BHAIKSUKI = 168; // 0xa8
+    field public static final int BLISSYMBOLS = 64; // 0x40
+    field public static final int BOOK_PAHLAVI = 124; // 0x7c
+    field public static final int BOPOMOFO = 5; // 0x5
+    field public static final int BRAHMI = 65; // 0x41
+    field public static final int BRAILLE = 46; // 0x2e
+    field public static final int BUGINESE = 55; // 0x37
+    field public static final int BUHID = 44; // 0x2c
+    field public static final int CANADIAN_ABORIGINAL = 40; // 0x28
+    field public static final int CARIAN = 104; // 0x68
+    field public static final int CAUCASIAN_ALBANIAN = 159; // 0x9f
+    field public static final int CHAKMA = 118; // 0x76
+    field public static final int CHAM = 66; // 0x42
+    field public static final int CHEROKEE = 6; // 0x6
+    field public static final int CHORASMIAN = 189; // 0xbd
+    field public static final int CIRTH = 67; // 0x43
+    field public static final int COMMON = 0; // 0x0
+    field public static final int COPTIC = 7; // 0x7
+    field public static final int CUNEIFORM = 101; // 0x65
+    field public static final int CYPRIOT = 47; // 0x2f
+    field public static final int CYRILLIC = 8; // 0x8
+    field public static final int DEMOTIC_EGYPTIAN = 69; // 0x45
+    field public static final int DESERET = 9; // 0x9
+    field public static final int DEVANAGARI = 10; // 0xa
+    field public static final int DIVES_AKURU = 190; // 0xbe
+    field public static final int DOGRA = 178; // 0xb2
+    field public static final int DUPLOYAN = 135; // 0x87
+    field public static final int EASTERN_SYRIAC = 97; // 0x61
+    field public static final int EGYPTIAN_HIEROGLYPHS = 71; // 0x47
+    field public static final int ELBASAN = 136; // 0x88
+    field public static final int ELYMAIC = 185; // 0xb9
+    field public static final int ESTRANGELO_SYRIAC = 95; // 0x5f
+    field public static final int ETHIOPIC = 11; // 0xb
+    field public static final int GEORGIAN = 12; // 0xc
+    field public static final int GLAGOLITIC = 56; // 0x38
+    field public static final int GOTHIC = 13; // 0xd
+    field public static final int GRANTHA = 137; // 0x89
+    field public static final int GREEK = 14; // 0xe
+    field public static final int GUJARATI = 15; // 0xf
+    field public static final int GUNJALA_GONDI = 179; // 0xb3
+    field public static final int GURMUKHI = 16; // 0x10
+    field public static final int HAN = 17; // 0x11
+    field public static final int HANGUL = 18; // 0x12
+    field public static final int HANIFI_ROHINGYA = 182; // 0xb6
+    field public static final int HANUNOO = 43; // 0x2b
+    field public static final int HAN_WITH_BOPOMOFO = 172; // 0xac
+    field public static final int HARAPPAN_INDUS = 77; // 0x4d
+    field public static final int HATRAN = 162; // 0xa2
+    field public static final int HEBREW = 19; // 0x13
+    field public static final int HIERATIC_EGYPTIAN = 70; // 0x46
+    field public static final int HIRAGANA = 20; // 0x14
+    field public static final int IMPERIAL_ARAMAIC = 116; // 0x74
+    field public static final int INHERITED = 1; // 0x1
+    field public static final int INSCRIPTIONAL_PAHLAVI = 122; // 0x7a
+    field public static final int INSCRIPTIONAL_PARTHIAN = 125; // 0x7d
+    field public static final int INVALID_CODE = -1; // 0xffffffff
+    field public static final int JAMO = 173; // 0xad
+    field public static final int JAPANESE = 105; // 0x69
+    field public static final int JAVANESE = 78; // 0x4e
+    field public static final int JURCHEN = 148; // 0x94
+    field public static final int KAITHI = 120; // 0x78
+    field public static final int KANNADA = 21; // 0x15
+    field public static final int KATAKANA = 22; // 0x16
+    field public static final int KATAKANA_OR_HIRAGANA = 54; // 0x36
+    field public static final int KAYAH_LI = 79; // 0x4f
+    field public static final int KHAROSHTHI = 57; // 0x39
+    field public static final int KHITAN_SMALL_SCRIPT = 191; // 0xbf
+    field public static final int KHMER = 23; // 0x17
+    field public static final int KHOJKI = 157; // 0x9d
+    field public static final int KHUDAWADI = 145; // 0x91
+    field public static final int KHUTSURI = 72; // 0x48
+    field public static final int KOREAN = 119; // 0x77
+    field public static final int KPELLE = 138; // 0x8a
+    field public static final int LANNA = 106; // 0x6a
+    field public static final int LAO = 24; // 0x18
+    field public static final int LATIN = 25; // 0x19
+    field public static final int LATIN_FRAKTUR = 80; // 0x50
+    field public static final int LATIN_GAELIC = 81; // 0x51
+    field public static final int LEPCHA = 82; // 0x52
+    field public static final int LIMBU = 48; // 0x30
+    field public static final int LINEAR_A = 83; // 0x53
+    field public static final int LINEAR_B = 49; // 0x31
+    field public static final int LISU = 131; // 0x83
+    field public static final int LOMA = 139; // 0x8b
+    field public static final int LYCIAN = 107; // 0x6b
+    field public static final int LYDIAN = 108; // 0x6c
+    field public static final int MAHAJANI = 160; // 0xa0
+    field public static final int MAKASAR = 180; // 0xb4
+    field public static final int MALAYALAM = 26; // 0x1a
+    field public static final int MANDAEAN = 84; // 0x54
+    field public static final int MANDAIC = 84; // 0x54
+    field public static final int MANICHAEAN = 121; // 0x79
+    field public static final int MARCHEN = 169; // 0xa9
+    field public static final int MASARAM_GONDI = 175; // 0xaf
+    field public static final int MATHEMATICAL_NOTATION = 128; // 0x80
+    field public static final int MAYAN_HIEROGLYPHS = 85; // 0x55
+    field public static final int MEDEFAIDRIN = 181; // 0xb5
+    field public static final int MEITEI_MAYEK = 115; // 0x73
+    field public static final int MENDE = 140; // 0x8c
+    field public static final int MEROITIC = 86; // 0x56
+    field public static final int MEROITIC_CURSIVE = 141; // 0x8d
+    field public static final int MEROITIC_HIEROGLYPHS = 86; // 0x56
+    field public static final int MIAO = 92; // 0x5c
+    field public static final int MODI = 163; // 0xa3
+    field public static final int MONGOLIAN = 27; // 0x1b
+    field public static final int MOON = 114; // 0x72
+    field public static final int MRO = 149; // 0x95
+    field public static final int MULTANI = 164; // 0xa4
+    field public static final int MYANMAR = 28; // 0x1c
+    field public static final int NABATAEAN = 143; // 0x8f
+    field public static final int NAKHI_GEBA = 132; // 0x84
+    field public static final int NANDINAGARI = 187; // 0xbb
+    field public static final int NEWA = 170; // 0xaa
+    field public static final int NEW_TAI_LUE = 59; // 0x3b
+    field public static final int NKO = 87; // 0x57
+    field public static final int NUSHU = 150; // 0x96
+    field public static final int NYIAKENG_PUACHUE_HMONG = 186; // 0xba
+    field public static final int OGHAM = 29; // 0x1d
+    field public static final int OLD_CHURCH_SLAVONIC_CYRILLIC = 68; // 0x44
+    field public static final int OLD_HUNGARIAN = 76; // 0x4c
+    field public static final int OLD_ITALIC = 30; // 0x1e
+    field public static final int OLD_NORTH_ARABIAN = 142; // 0x8e
+    field public static final int OLD_PERMIC = 89; // 0x59
+    field public static final int OLD_PERSIAN = 61; // 0x3d
+    field public static final int OLD_SOGDIAN = 184; // 0xb8
+    field public static final int OLD_SOUTH_ARABIAN = 133; // 0x85
+    field public static final int OL_CHIKI = 109; // 0x6d
+    field public static final int ORIYA = 31; // 0x1f
+    field public static final int ORKHON = 88; // 0x58
+    field public static final int OSAGE = 171; // 0xab
+    field public static final int OSMANYA = 50; // 0x32
+    field public static final int PAHAWH_HMONG = 75; // 0x4b
+    field public static final int PALMYRENE = 144; // 0x90
+    field public static final int PAU_CIN_HAU = 165; // 0xa5
+    field public static final int PHAGS_PA = 90; // 0x5a
+    field public static final int PHOENICIAN = 91; // 0x5b
+    field public static final int PHONETIC_POLLARD = 92; // 0x5c
+    field public static final int PSALTER_PAHLAVI = 123; // 0x7b
+    field public static final int REJANG = 110; // 0x6e
+    field public static final int RONGORONGO = 93; // 0x5d
+    field public static final int RUNIC = 32; // 0x20
+    field public static final int SAMARITAN = 126; // 0x7e
+    field public static final int SARATI = 94; // 0x5e
+    field public static final int SAURASHTRA = 111; // 0x6f
+    field public static final int SHARADA = 151; // 0x97
+    field public static final int SHAVIAN = 51; // 0x33
+    field public static final int SIDDHAM = 166; // 0xa6
+    field public static final int SIGN_WRITING = 112; // 0x70
+    field public static final int SIMPLIFIED_HAN = 73; // 0x49
+    field public static final int SINDHI = 145; // 0x91
+    field public static final int SINHALA = 33; // 0x21
+    field public static final int SOGDIAN = 183; // 0xb7
+    field public static final int SORA_SOMPENG = 152; // 0x98
+    field public static final int SOYOMBO = 176; // 0xb0
+    field public static final int SUNDANESE = 113; // 0x71
+    field public static final int SYLOTI_NAGRI = 58; // 0x3a
+    field public static final int SYMBOLS = 129; // 0x81
+    field public static final int SYMBOLS_EMOJI = 174; // 0xae
+    field public static final int SYRIAC = 34; // 0x22
+    field public static final int TAGALOG = 42; // 0x2a
+    field public static final int TAGBANWA = 45; // 0x2d
+    field public static final int TAI_LE = 52; // 0x34
+    field public static final int TAI_VIET = 127; // 0x7f
+    field public static final int TAKRI = 153; // 0x99
+    field public static final int TAMIL = 35; // 0x23
+    field public static final int TANGUT = 154; // 0x9a
+    field public static final int TELUGU = 36; // 0x24
+    field public static final int TENGWAR = 98; // 0x62
+    field public static final int THAANA = 37; // 0x25
+    field public static final int THAI = 38; // 0x26
+    field public static final int TIBETAN = 39; // 0x27
+    field public static final int TIFINAGH = 60; // 0x3c
+    field public static final int TIRHUTA = 158; // 0x9e
+    field public static final int TRADITIONAL_HAN = 74; // 0x4a
+    field public static final int UCAS = 40; // 0x28
+    field public static final int UGARITIC = 53; // 0x35
+    field public static final int UNKNOWN = 103; // 0x67
+    field public static final int UNWRITTEN_LANGUAGES = 102; // 0x66
+    field public static final int VAI = 99; // 0x63
+    field public static final int VISIBLE_SPEECH = 100; // 0x64
+    field public static final int WANCHO = 188; // 0xbc
+    field public static final int WARANG_CITI = 146; // 0x92
+    field public static final int WESTERN_SYRIAC = 96; // 0x60
+    field public static final int WOLEAI = 155; // 0x9b
+    field public static final int YEZIDI = 192; // 0xc0
+    field public static final int YI = 41; // 0x29
+    field public static final int ZANABAZAR_SQUARE = 177; // 0xb1
+  }
+
+  public enum UScript.ScriptUsage {
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage ASPIRATIONAL;
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage EXCLUDED;
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage LIMITED_USE;
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage NOT_ENCODED;
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage RECOMMENDED;
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage UNKNOWN;
+  }
+
+}
+
+package android.icu.math {
+
+  public class BigDecimal extends java.lang.Number implements java.lang.Comparable<android.icu.math.BigDecimal> java.io.Serializable {
+    ctor public BigDecimal(java.math.BigDecimal);
+    ctor public BigDecimal(java.math.BigInteger);
+    ctor public BigDecimal(java.math.BigInteger, int);
+    ctor public BigDecimal(char[]);
+    ctor public BigDecimal(char[], int, int);
+    ctor public BigDecimal(double);
+    ctor public BigDecimal(int);
+    ctor public BigDecimal(long);
+    ctor public BigDecimal(String);
+    method public android.icu.math.BigDecimal abs();
+    method public android.icu.math.BigDecimal abs(android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal add(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal add(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public byte byteValueExact();
+    method public int compareTo(android.icu.math.BigDecimal);
+    method public int compareTo(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal, int);
+    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal, int, int);
+    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal divideInteger(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal divideInteger(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public double doubleValue();
+    method public float floatValue();
+    method public String format(int, int);
+    method public String format(int, int, int, int, int, int);
+    method public int intValue();
+    method public int intValueExact();
+    method public long longValue();
+    method public long longValueExact();
+    method public android.icu.math.BigDecimal max(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal max(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal min(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal min(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal movePointLeft(int);
+    method public android.icu.math.BigDecimal movePointRight(int);
+    method public android.icu.math.BigDecimal multiply(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal multiply(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal negate();
+    method public android.icu.math.BigDecimal negate(android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal plus();
+    method public android.icu.math.BigDecimal plus(android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal pow(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal pow(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal remainder(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal remainder(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public int scale();
+    method public android.icu.math.BigDecimal setScale(int);
+    method public android.icu.math.BigDecimal setScale(int, int);
+    method public short shortValueExact();
+    method public int signum();
+    method public android.icu.math.BigDecimal subtract(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal subtract(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public java.math.BigDecimal toBigDecimal();
+    method public java.math.BigInteger toBigInteger();
+    method public java.math.BigInteger toBigIntegerExact();
+    method public char[] toCharArray();
+    method public java.math.BigInteger unscaledValue();
+    method public static android.icu.math.BigDecimal valueOf(double);
+    method public static android.icu.math.BigDecimal valueOf(long);
+    method public static android.icu.math.BigDecimal valueOf(long, int);
+    field public static final android.icu.math.BigDecimal ONE;
+    field public static final int ROUND_CEILING = 2; // 0x2
+    field public static final int ROUND_DOWN = 1; // 0x1
+    field public static final int ROUND_FLOOR = 3; // 0x3
+    field public static final int ROUND_HALF_DOWN = 5; // 0x5
+    field public static final int ROUND_HALF_EVEN = 6; // 0x6
+    field public static final int ROUND_HALF_UP = 4; // 0x4
+    field public static final int ROUND_UNNECESSARY = 7; // 0x7
+    field public static final int ROUND_UP = 0; // 0x0
+    field public static final android.icu.math.BigDecimal TEN;
+    field public static final android.icu.math.BigDecimal ZERO;
+  }
+
+  public final class MathContext implements java.io.Serializable {
+    ctor public MathContext(int);
+    ctor public MathContext(int, int);
+    ctor public MathContext(int, int, boolean);
+    ctor public MathContext(int, int, boolean, int);
+    method public int getDigits();
+    method public int getForm();
+    method public boolean getLostDigits();
+    method public int getRoundingMode();
+    field public static final android.icu.math.MathContext DEFAULT;
+    field public static final int ENGINEERING = 2; // 0x2
+    field public static final int PLAIN = 0; // 0x0
+    field public static final int ROUND_CEILING = 2; // 0x2
+    field public static final int ROUND_DOWN = 1; // 0x1
+    field public static final int ROUND_FLOOR = 3; // 0x3
+    field public static final int ROUND_HALF_DOWN = 5; // 0x5
+    field public static final int ROUND_HALF_EVEN = 6; // 0x6
+    field public static final int ROUND_HALF_UP = 4; // 0x4
+    field public static final int ROUND_UNNECESSARY = 7; // 0x7
+    field public static final int ROUND_UP = 0; // 0x0
+    field public static final int SCIENTIFIC = 1; // 0x1
+  }
+
+}
+
+package android.icu.number {
+
+  public class CompactNotation extends android.icu.number.Notation {
+  }
+
+  public abstract class CurrencyPrecision extends android.icu.number.Precision {
+    method public android.icu.number.Precision withCurrency(android.icu.util.Currency);
+  }
+
+  public class FormattedNumber implements android.icu.text.FormattedValue {
+    method public <A extends java.lang.Appendable> A appendTo(A);
+    method public char charAt(int);
+    method public int length();
+    method public boolean nextPosition(android.icu.text.ConstrainedFieldPosition);
+    method public CharSequence subSequence(int, int);
+    method public java.math.BigDecimal toBigDecimal();
+    method public java.text.AttributedCharacterIterator toCharacterIterator();
+  }
+
+  public class FormattedNumberRange implements android.icu.text.FormattedValue {
+    method public <A extends java.lang.Appendable> A appendTo(A);
+    method public char charAt(int);
+    method public java.math.BigDecimal getFirstBigDecimal();
+    method public android.icu.number.NumberRangeFormatter.RangeIdentityResult getIdentityResult();
+    method public java.math.BigDecimal getSecondBigDecimal();
+    method public int length();
+    method public boolean nextPosition(android.icu.text.ConstrainedFieldPosition);
+    method public CharSequence subSequence(int, int);
+    method public java.text.AttributedCharacterIterator toCharacterIterator();
+  }
+
+  public abstract class FractionPrecision extends android.icu.number.Precision {
+    method public android.icu.number.Precision withMaxDigits(int);
+    method public android.icu.number.Precision withMinDigits(int);
+  }
+
+  public class IntegerWidth {
+    method public android.icu.number.IntegerWidth truncateAt(int);
+    method public static android.icu.number.IntegerWidth zeroFillTo(int);
+  }
+
+  public class LocalizedNumberFormatter extends android.icu.number.NumberFormatterSettings<android.icu.number.LocalizedNumberFormatter> {
+    method public android.icu.number.FormattedNumber format(long);
+    method public android.icu.number.FormattedNumber format(double);
+    method public android.icu.number.FormattedNumber format(Number);
+    method public android.icu.number.FormattedNumber format(android.icu.util.Measure);
+    method public java.text.Format toFormat();
+  }
+
+  public class LocalizedNumberRangeFormatter extends android.icu.number.NumberRangeFormatterSettings<android.icu.number.LocalizedNumberRangeFormatter> {
+    method public android.icu.number.FormattedNumberRange formatRange(int, int);
+    method public android.icu.number.FormattedNumberRange formatRange(double, double);
+    method public android.icu.number.FormattedNumberRange formatRange(Number, Number);
+  }
+
+  public class Notation {
+    method public static android.icu.number.CompactNotation compactLong();
+    method public static android.icu.number.CompactNotation compactShort();
+    method public static android.icu.number.ScientificNotation engineering();
+    method public static android.icu.number.ScientificNotation scientific();
+    method public static android.icu.number.SimpleNotation simple();
+  }
+
+  public final class NumberFormatter {
+    method public static android.icu.number.UnlocalizedNumberFormatter with();
+    method public static android.icu.number.LocalizedNumberFormatter withLocale(java.util.Locale);
+    method public static android.icu.number.LocalizedNumberFormatter withLocale(android.icu.util.ULocale);
+  }
+
+  public enum NumberFormatter.DecimalSeparatorDisplay {
+    enum_constant public static final android.icu.number.NumberFormatter.DecimalSeparatorDisplay ALWAYS;
+    enum_constant public static final android.icu.number.NumberFormatter.DecimalSeparatorDisplay AUTO;
+  }
+
+  public enum NumberFormatter.GroupingStrategy {
+    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy AUTO;
+    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy MIN2;
+    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy OFF;
+    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy ON_ALIGNED;
+    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy THOUSANDS;
+  }
+
+  public enum NumberFormatter.SignDisplay {
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ACCOUNTING;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ACCOUNTING_ALWAYS;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ACCOUNTING_EXCEPT_ZERO;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ALWAYS;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay AUTO;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay EXCEPT_ZERO;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay NEVER;
+  }
+
+  public enum NumberFormatter.UnitWidth {
+    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth FULL_NAME;
+    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth HIDDEN;
+    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth ISO_CODE;
+    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth NARROW;
+    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth SHORT;
+  }
+
+  public abstract class NumberFormatterSettings<T extends android.icu.number.NumberFormatterSettings<?>> {
+    method public T decimal(android.icu.number.NumberFormatter.DecimalSeparatorDisplay);
+    method public T grouping(android.icu.number.NumberFormatter.GroupingStrategy);
+    method public T integerWidth(android.icu.number.IntegerWidth);
+    method public T notation(android.icu.number.Notation);
+    method public T perUnit(android.icu.util.MeasureUnit);
+    method public T precision(android.icu.number.Precision);
+    method public T roundingMode(java.math.RoundingMode);
+    method public T scale(android.icu.number.Scale);
+    method public T sign(android.icu.number.NumberFormatter.SignDisplay);
+    method public T symbols(android.icu.text.DecimalFormatSymbols);
+    method public T symbols(android.icu.text.NumberingSystem);
+    method public T unit(android.icu.util.MeasureUnit);
+    method public T unitWidth(android.icu.number.NumberFormatter.UnitWidth);
+  }
+
+  public abstract class NumberRangeFormatter {
+    method public static android.icu.number.UnlocalizedNumberRangeFormatter with();
+    method public static android.icu.number.LocalizedNumberRangeFormatter withLocale(java.util.Locale);
+    method public static android.icu.number.LocalizedNumberRangeFormatter withLocale(android.icu.util.ULocale);
+  }
+
+  public enum NumberRangeFormatter.RangeCollapse {
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse ALL;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse AUTO;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse NONE;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse UNIT;
+  }
+
+  public enum NumberRangeFormatter.RangeIdentityFallback {
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback APPROXIMATELY;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback APPROXIMATELY_OR_SINGLE_VALUE;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback RANGE;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback SINGLE_VALUE;
+  }
+
+  public enum NumberRangeFormatter.RangeIdentityResult {
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityResult EQUAL_AFTER_ROUNDING;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityResult EQUAL_BEFORE_ROUNDING;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityResult NOT_EQUAL;
+  }
+
+  public abstract class NumberRangeFormatterSettings<T extends android.icu.number.NumberRangeFormatterSettings<?>> {
+    method public T collapse(android.icu.number.NumberRangeFormatter.RangeCollapse);
+    method public T identityFallback(android.icu.number.NumberRangeFormatter.RangeIdentityFallback);
+    method public T numberFormatterBoth(android.icu.number.UnlocalizedNumberFormatter);
+    method public T numberFormatterFirst(android.icu.number.UnlocalizedNumberFormatter);
+    method public T numberFormatterSecond(android.icu.number.UnlocalizedNumberFormatter);
+  }
+
+  public abstract class Precision {
+    method public static android.icu.number.CurrencyPrecision currency(android.icu.util.Currency.CurrencyUsage);
+    method public static android.icu.number.FractionPrecision fixedFraction(int);
+    method public static android.icu.number.Precision fixedSignificantDigits(int);
+    method public static android.icu.number.Precision increment(java.math.BigDecimal);
+    method public static android.icu.number.FractionPrecision integer();
+    method public static android.icu.number.FractionPrecision maxFraction(int);
+    method public static android.icu.number.Precision maxSignificantDigits(int);
+    method public static android.icu.number.FractionPrecision minFraction(int);
+    method public static android.icu.number.FractionPrecision minMaxFraction(int, int);
+    method public static android.icu.number.Precision minMaxSignificantDigits(int, int);
+    method public static android.icu.number.Precision minSignificantDigits(int);
+    method public static android.icu.number.Precision unlimited();
+  }
+
+  public class Scale {
+    method public static android.icu.number.Scale byBigDecimal(java.math.BigDecimal);
+    method public static android.icu.number.Scale byDouble(double);
+    method public static android.icu.number.Scale byDoubleAndPowerOfTen(double, int);
+    method public static android.icu.number.Scale none();
+    method public static android.icu.number.Scale powerOfTen(int);
+  }
+
+  public class ScientificNotation extends android.icu.number.Notation {
+    method public android.icu.number.ScientificNotation withExponentSignDisplay(android.icu.number.NumberFormatter.SignDisplay);
+    method public android.icu.number.ScientificNotation withMinExponentDigits(int);
+  }
+
+  public class SimpleNotation extends android.icu.number.Notation {
+  }
+
+  public class UnlocalizedNumberFormatter extends android.icu.number.NumberFormatterSettings<android.icu.number.UnlocalizedNumberFormatter> {
+    method public android.icu.number.LocalizedNumberFormatter locale(java.util.Locale);
+    method public android.icu.number.LocalizedNumberFormatter locale(android.icu.util.ULocale);
+  }
+
+  public class UnlocalizedNumberRangeFormatter extends android.icu.number.NumberRangeFormatterSettings<android.icu.number.UnlocalizedNumberRangeFormatter> {
+    method public android.icu.number.LocalizedNumberRangeFormatter locale(java.util.Locale);
+    method public android.icu.number.LocalizedNumberRangeFormatter locale(android.icu.util.ULocale);
+  }
+
+}
+
+package android.icu.text {
+
+  public final class AlphabeticIndex<V> implements java.lang.Iterable<android.icu.text.AlphabeticIndex.Bucket<V>> {
+    ctor public AlphabeticIndex(android.icu.util.ULocale);
+    ctor public AlphabeticIndex(java.util.Locale);
+    ctor public AlphabeticIndex(android.icu.text.RuleBasedCollator);
+    method public android.icu.text.AlphabeticIndex<V> addLabels(android.icu.text.UnicodeSet);
+    method public android.icu.text.AlphabeticIndex<V> addLabels(android.icu.util.ULocale...);
+    method public android.icu.text.AlphabeticIndex<V> addLabels(java.util.Locale...);
+    method public android.icu.text.AlphabeticIndex<V> addRecord(CharSequence, V);
+    method public android.icu.text.AlphabeticIndex.ImmutableIndex<V> buildImmutableIndex();
+    method public android.icu.text.AlphabeticIndex<V> clearRecords();
+    method public int getBucketCount();
+    method public int getBucketIndex(CharSequence);
+    method public java.util.List<java.lang.String> getBucketLabels();
+    method public android.icu.text.RuleBasedCollator getCollator();
+    method public String getInflowLabel();
+    method public int getMaxLabelCount();
+    method public String getOverflowLabel();
+    method public int getRecordCount();
+    method public String getUnderflowLabel();
+    method public java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<V>> iterator();
+    method public android.icu.text.AlphabeticIndex<V> setInflowLabel(String);
+    method public android.icu.text.AlphabeticIndex<V> setMaxLabelCount(int);
+    method public android.icu.text.AlphabeticIndex<V> setOverflowLabel(String);
+    method public android.icu.text.AlphabeticIndex<V> setUnderflowLabel(String);
+  }
+
+  public static class AlphabeticIndex.Bucket<V> implements java.lang.Iterable<android.icu.text.AlphabeticIndex.Record<V>> {
+    method public String getLabel();
+    method public android.icu.text.AlphabeticIndex.Bucket.LabelType getLabelType();
+    method public java.util.Iterator<android.icu.text.AlphabeticIndex.Record<V>> iterator();
+    method public int size();
+  }
+
+  public enum AlphabeticIndex.Bucket.LabelType {
+    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType INFLOW;
+    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType NORMAL;
+    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType OVERFLOW;
+    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType UNDERFLOW;
+  }
+
+  public static final class AlphabeticIndex.ImmutableIndex<V> implements java.lang.Iterable<android.icu.text.AlphabeticIndex.Bucket<V>> {
+    method public android.icu.text.AlphabeticIndex.Bucket<V> getBucket(int);
+    method public int getBucketCount();
+    method public int getBucketIndex(CharSequence);
+    method public java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<V>> iterator();
+  }
+
+  public static class AlphabeticIndex.Record<V> {
+    method public V getData();
+    method public CharSequence getName();
+  }
+
+  public class Bidi {
+    ctor public Bidi();
+    ctor public Bidi(int, int);
+    ctor public Bidi(String, int);
+    ctor public Bidi(java.text.AttributedCharacterIterator);
+    ctor public Bidi(char[], int, byte[], int, int, int);
+    method public boolean baseIsLeftToRight();
+    method public int countParagraphs();
+    method public int countRuns();
+    method public android.icu.text.Bidi createLineBidi(int, int);
+    method public static byte getBaseDirection(CharSequence);
+    method public int getBaseLevel();
+    method public android.icu.text.BidiClassifier getCustomClassifier();
+    method public int getCustomizedClass(int);
+    method public byte getDirection();
+    method public int getLength();
+    method public byte getLevelAt(int);
+    method public byte[] getLevels();
+    method public int getLogicalIndex(int);
+    method public int[] getLogicalMap();
+    method public android.icu.text.BidiRun getLogicalRun(int);
+    method public byte getParaLevel();
+    method public android.icu.text.BidiRun getParagraph(int);
+    method public android.icu.text.BidiRun getParagraphByIndex(int);
+    method public int getParagraphIndex(int);
+    method public int getProcessedLength();
+    method public int getReorderingMode();
+    method public int getReorderingOptions();
+    method public int getResultLength();
+    method public int getRunCount();
+    method public int getRunLevel(int);
+    method public int getRunLimit(int);
+    method public int getRunStart(int);
+    method public char[] getText();
+    method public String getTextAsString();
+    method public int getVisualIndex(int);
+    method public int[] getVisualMap();
+    method public android.icu.text.BidiRun getVisualRun(int);
+    method public static int[] invertMap(int[]);
+    method public boolean isInverse();
+    method public boolean isLeftToRight();
+    method public boolean isMixed();
+    method public boolean isOrderParagraphsLTR();
+    method public boolean isRightToLeft();
+    method public void orderParagraphsLTR(boolean);
+    method public static int[] reorderLogical(byte[]);
+    method public static int[] reorderVisual(byte[]);
+    method public static void reorderVisually(byte[], int, Object[], int, int);
+    method public static boolean requiresBidi(char[], int, int);
+    method public void setContext(String, String);
+    method public void setCustomClassifier(android.icu.text.BidiClassifier);
+    method public void setInverse(boolean);
+    method public android.icu.text.Bidi setLine(int, int);
+    method public void setPara(String, byte, byte[]);
+    method public void setPara(char[], byte, byte[]);
+    method public void setPara(java.text.AttributedCharacterIterator);
+    method public void setReorderingMode(int);
+    method public void setReorderingOptions(int);
+    method public String writeReordered(int);
+    method public static String writeReverse(String, int);
+    field public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT = 126; // 0x7e
+    field public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT = 127; // 0x7f
+    field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1
+    field public static final short DO_MIRRORING = 2; // 0x2
+    field public static final short INSERT_LRM_FOR_NUMERIC = 4; // 0x4
+    field public static final short KEEP_BASE_COMBINING = 1; // 0x1
+    field public static final byte LEVEL_DEFAULT_LTR = 126; // 0x7e
+    field public static final byte LEVEL_DEFAULT_RTL = 127; // 0x7f
+    field public static final byte LEVEL_OVERRIDE = -128; // 0xffffff80
+    field public static final byte LTR = 0; // 0x0
+    field public static final int MAP_NOWHERE = -1; // 0xffffffff
+    field public static final byte MAX_EXPLICIT_LEVEL = 125; // 0x7d
+    field public static final byte MIXED = 2; // 0x2
+    field public static final byte NEUTRAL = 3; // 0x3
+    field public static final int OPTION_DEFAULT = 0; // 0x0
+    field public static final int OPTION_INSERT_MARKS = 1; // 0x1
+    field public static final int OPTION_REMOVE_CONTROLS = 2; // 0x2
+    field public static final int OPTION_STREAMING = 4; // 0x4
+    field public static final short OUTPUT_REVERSE = 16; // 0x10
+    field public static final short REMOVE_BIDI_CONTROLS = 8; // 0x8
+    field public static final short REORDER_DEFAULT = 0; // 0x0
+    field public static final short REORDER_GROUP_NUMBERS_WITH_R = 2; // 0x2
+    field public static final short REORDER_INVERSE_FOR_NUMBERS_SPECIAL = 6; // 0x6
+    field public static final short REORDER_INVERSE_LIKE_DIRECT = 5; // 0x5
+    field public static final short REORDER_INVERSE_NUMBERS_AS_L = 4; // 0x4
+    field public static final short REORDER_NUMBERS_SPECIAL = 1; // 0x1
+    field public static final short REORDER_RUNS_ONLY = 3; // 0x3
+    field public static final byte RTL = 1; // 0x1
+  }
+
+  public class BidiClassifier {
+    ctor public BidiClassifier(Object);
+    method public int classify(int);
+    method public Object getContext();
+    method public void setContext(Object);
+  }
+
+  public class BidiRun {
+    method public byte getDirection();
+    method public byte getEmbeddingLevel();
+    method public int getLength();
+    method public int getLimit();
+    method public int getStart();
+    method public boolean isEvenRun();
+    method public boolean isOddRun();
+  }
+
+  public abstract class BreakIterator implements java.lang.Cloneable {
+    ctor protected BreakIterator();
+    method public Object clone();
+    method public abstract int current();
+    method public abstract int first();
+    method public abstract int following(int);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public static android.icu.text.BreakIterator getCharacterInstance();
+    method public static android.icu.text.BreakIterator getCharacterInstance(java.util.Locale);
+    method public static android.icu.text.BreakIterator getCharacterInstance(android.icu.util.ULocale);
+    method public static android.icu.text.BreakIterator getLineInstance();
+    method public static android.icu.text.BreakIterator getLineInstance(java.util.Locale);
+    method public static android.icu.text.BreakIterator getLineInstance(android.icu.util.ULocale);
+    method public int getRuleStatus();
+    method public int getRuleStatusVec(int[]);
+    method public static android.icu.text.BreakIterator getSentenceInstance();
+    method public static android.icu.text.BreakIterator getSentenceInstance(java.util.Locale);
+    method public static android.icu.text.BreakIterator getSentenceInstance(android.icu.util.ULocale);
+    method public abstract java.text.CharacterIterator getText();
+    method @Deprecated public static android.icu.text.BreakIterator getTitleInstance();
+    method @Deprecated public static android.icu.text.BreakIterator getTitleInstance(java.util.Locale);
+    method @Deprecated public static android.icu.text.BreakIterator getTitleInstance(android.icu.util.ULocale);
+    method public static android.icu.text.BreakIterator getWordInstance();
+    method public static android.icu.text.BreakIterator getWordInstance(java.util.Locale);
+    method public static android.icu.text.BreakIterator getWordInstance(android.icu.util.ULocale);
+    method public boolean isBoundary(int);
+    method public abstract int last();
+    method public abstract int next(int);
+    method public abstract int next();
+    method public int preceding(int);
+    method public abstract int previous();
+    method public void setText(String);
+    method public void setText(CharSequence);
+    method public abstract void setText(java.text.CharacterIterator);
+    field public static final int DONE = -1; // 0xffffffff
+    field public static final int KIND_CHARACTER = 0; // 0x0
+    field public static final int KIND_LINE = 2; // 0x2
+    field public static final int KIND_SENTENCE = 3; // 0x3
+    field @Deprecated public static final int KIND_TITLE = 4; // 0x4
+    field public static final int KIND_WORD = 1; // 0x1
+    field public static final int WORD_IDEO = 400; // 0x190
+    field public static final int WORD_IDEO_LIMIT = 500; // 0x1f4
+    field public static final int WORD_KANA = 300; // 0x12c
+    field public static final int WORD_KANA_LIMIT = 400; // 0x190
+    field public static final int WORD_LETTER = 200; // 0xc8
+    field public static final int WORD_LETTER_LIMIT = 300; // 0x12c
+    field public static final int WORD_NONE = 0; // 0x0
+    field public static final int WORD_NONE_LIMIT = 100; // 0x64
+    field public static final int WORD_NUMBER = 100; // 0x64
+    field public static final int WORD_NUMBER_LIMIT = 200; // 0xc8
+  }
+
+  public abstract class CaseMap {
+    method public static android.icu.text.CaseMap.Fold fold();
+    method public abstract android.icu.text.CaseMap omitUnchangedText();
+    method public static android.icu.text.CaseMap.Lower toLower();
+    method public static android.icu.text.CaseMap.Title toTitle();
+    method public static android.icu.text.CaseMap.Upper toUpper();
+  }
+
+  public static final class CaseMap.Fold extends android.icu.text.CaseMap {
+    method public String apply(CharSequence);
+    method public <A extends java.lang.Appendable> A apply(CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Fold omitUnchangedText();
+    method public android.icu.text.CaseMap.Fold turkic();
+  }
+
+  public static final class CaseMap.Lower extends android.icu.text.CaseMap {
+    method public String apply(java.util.Locale, CharSequence);
+    method public <A extends java.lang.Appendable> A apply(java.util.Locale, CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Lower omitUnchangedText();
+  }
+
+  public static final class CaseMap.Title extends android.icu.text.CaseMap {
+    method public android.icu.text.CaseMap.Title adjustToCased();
+    method public String apply(java.util.Locale, android.icu.text.BreakIterator, CharSequence);
+    method public <A extends java.lang.Appendable> A apply(java.util.Locale, android.icu.text.BreakIterator, CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Title noBreakAdjustment();
+    method public android.icu.text.CaseMap.Title noLowercase();
+    method public android.icu.text.CaseMap.Title omitUnchangedText();
+    method public android.icu.text.CaseMap.Title sentences();
+    method public android.icu.text.CaseMap.Title wholeString();
+  }
+
+  public static final class CaseMap.Upper extends android.icu.text.CaseMap {
+    method public String apply(java.util.Locale, CharSequence);
+    method public <A extends java.lang.Appendable> A apply(java.util.Locale, CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Upper omitUnchangedText();
+  }
+
+  public final class CollationElementIterator {
+    method public int getMaxExpansion(int);
+    method public int getOffset();
+    method public int next();
+    method public int previous();
+    method public static int primaryOrder(int);
+    method public void reset();
+    method public static int secondaryOrder(int);
+    method public void setOffset(int);
+    method public void setText(String);
+    method public void setText(android.icu.text.UCharacterIterator);
+    method public void setText(java.text.CharacterIterator);
+    method public static int tertiaryOrder(int);
+    field public static final int IGNORABLE = 0; // 0x0
+    field public static final int NULLORDER = -1; // 0xffffffff
+  }
+
+  public final class CollationKey implements java.lang.Comparable<android.icu.text.CollationKey> {
+    ctor public CollationKey(String, byte[]);
+    method public int compareTo(android.icu.text.CollationKey);
+    method public boolean equals(android.icu.text.CollationKey);
+    method public android.icu.text.CollationKey getBound(int, int);
+    method public String getSourceString();
+    method public android.icu.text.CollationKey merge(android.icu.text.CollationKey);
+    method public byte[] toByteArray();
+  }
+
+  public static final class CollationKey.BoundMode {
+    field public static final int LOWER = 0; // 0x0
+    field public static final int UPPER = 1; // 0x1
+    field public static final int UPPER_LONG = 2; // 0x2
+  }
+
+  public abstract class Collator implements java.lang.Cloneable java.util.Comparator<java.lang.Object> android.icu.util.Freezable<android.icu.text.Collator> {
+    ctor protected Collator();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method public android.icu.text.Collator cloneAsThawed();
+    method public abstract int compare(String, String);
+    method public int compare(Object, Object);
+    method public boolean equals(String, String);
+    method public android.icu.text.Collator freeze();
+    method public static java.util.Locale[] getAvailableLocales();
+    method public static final android.icu.util.ULocale[] getAvailableULocales();
+    method public abstract android.icu.text.CollationKey getCollationKey(String);
+    method public int getDecomposition();
+    method public static String getDisplayName(java.util.Locale, java.util.Locale);
+    method public static String getDisplayName(android.icu.util.ULocale, android.icu.util.ULocale);
+    method public static String getDisplayName(java.util.Locale);
+    method public static String getDisplayName(android.icu.util.ULocale);
+    method public static int[] getEquivalentReorderCodes(int);
+    method public static final android.icu.util.ULocale getFunctionalEquivalent(String, android.icu.util.ULocale, boolean[]);
+    method public static final android.icu.util.ULocale getFunctionalEquivalent(String, android.icu.util.ULocale);
+    method public static final android.icu.text.Collator getInstance();
+    method public static final android.icu.text.Collator getInstance(android.icu.util.ULocale);
+    method public static final android.icu.text.Collator getInstance(java.util.Locale);
+    method public static final String[] getKeywordValues(String);
+    method public static final String[] getKeywordValuesForLocale(String, android.icu.util.ULocale, boolean);
+    method public static final String[] getKeywords();
+    method public int getMaxVariable();
+    method public int[] getReorderCodes();
+    method public int getStrength();
+    method public android.icu.text.UnicodeSet getTailoredSet();
+    method public abstract android.icu.util.VersionInfo getUCAVersion();
+    method public abstract int getVariableTop();
+    method public abstract android.icu.util.VersionInfo getVersion();
+    method public boolean isFrozen();
+    method public void setDecomposition(int);
+    method public android.icu.text.Collator setMaxVariable(int);
+    method public void setReorderCodes(int...);
+    method public void setStrength(int);
+    field public static final int CANONICAL_DECOMPOSITION = 17; // 0x11
+    field public static final int FULL_DECOMPOSITION = 15; // 0xf
+    field public static final int IDENTICAL = 15; // 0xf
+    field public static final int NO_DECOMPOSITION = 16; // 0x10
+    field public static final int PRIMARY = 0; // 0x0
+    field public static final int QUATERNARY = 3; // 0x3
+    field public static final int SECONDARY = 1; // 0x1
+    field public static final int TERTIARY = 2; // 0x2
+  }
+
+  public static interface Collator.ReorderCodes {
+    field public static final int CURRENCY = 4099; // 0x1003
+    field public static final int DEFAULT = -1; // 0xffffffff
+    field public static final int DIGIT = 4100; // 0x1004
+    field public static final int FIRST = 4096; // 0x1000
+    field public static final int NONE = 103; // 0x67
+    field public static final int OTHERS = 103; // 0x67
+    field public static final int PUNCTUATION = 4097; // 0x1001
+    field public static final int SPACE = 4096; // 0x1000
+    field public static final int SYMBOL = 4098; // 0x1002
+  }
+
+  public class CompactDecimalFormat extends android.icu.text.DecimalFormat {
+    method public static android.icu.text.CompactDecimalFormat getInstance(android.icu.util.ULocale, android.icu.text.CompactDecimalFormat.CompactStyle);
+    method public static android.icu.text.CompactDecimalFormat getInstance(java.util.Locale, android.icu.text.CompactDecimalFormat.CompactStyle);
+  }
+
+  public enum CompactDecimalFormat.CompactStyle {
+    enum_constant public static final android.icu.text.CompactDecimalFormat.CompactStyle LONG;
+    enum_constant public static final android.icu.text.CompactDecimalFormat.CompactStyle SHORT;
+  }
+
+  public class ConstrainedFieldPosition {
+    ctor public ConstrainedFieldPosition();
+    method public void constrainClass(Class<?>);
+    method public void constrainField(java.text.Format.Field);
+    method public java.text.Format.Field getField();
+    method public Object getFieldValue();
+    method public long getInt64IterationContext();
+    method public int getLimit();
+    method public int getStart();
+    method public boolean matchesField(java.text.Format.Field, Object);
+    method public void reset();
+    method public void setInt64IterationContext(long);
+    method public void setState(java.text.Format.Field, Object, int, int);
+  }
+
+  public class CurrencyPluralInfo implements java.lang.Cloneable java.io.Serializable {
+    ctor public CurrencyPluralInfo();
+    ctor public CurrencyPluralInfo(java.util.Locale);
+    ctor public CurrencyPluralInfo(android.icu.util.ULocale);
+    method public Object clone();
+    method public String getCurrencyPluralPattern(String);
+    method public static android.icu.text.CurrencyPluralInfo getInstance();
+    method public static android.icu.text.CurrencyPluralInfo getInstance(java.util.Locale);
+    method public static android.icu.text.CurrencyPluralInfo getInstance(android.icu.util.ULocale);
+    method public android.icu.util.ULocale getLocale();
+    method public android.icu.text.PluralRules getPluralRules();
+    method public void setCurrencyPluralPattern(String, String);
+    method public void setLocale(android.icu.util.ULocale);
+    method public void setPluralRules(String);
+  }
+
+  public abstract class DateFormat extends android.icu.text.UFormat {
+    ctor protected DateFormat();
+    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public abstract StringBuffer format(android.icu.util.Calendar, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(java.util.Date, StringBuffer, java.text.FieldPosition);
+    method public final String format(java.util.Date);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public boolean getBooleanAttribute(android.icu.text.DateFormat.BooleanAttribute);
+    method public android.icu.util.Calendar getCalendar();
+    method public android.icu.text.DisplayContext getContext(android.icu.text.DisplayContext.Type);
+    method public static final android.icu.text.DateFormat getDateInstance();
+    method public static final android.icu.text.DateFormat getDateInstance(int);
+    method public static final android.icu.text.DateFormat getDateInstance(int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getDateInstance(int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getDateInstance(android.icu.util.Calendar, int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getDateInstance(android.icu.util.Calendar, int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getDateInstance(android.icu.util.Calendar, int);
+    method public static final android.icu.text.DateFormat getDateTimeInstance();
+    method public static final android.icu.text.DateFormat getDateTimeInstance(int, int);
+    method public static final android.icu.text.DateFormat getDateTimeInstance(int, int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getDateTimeInstance(int, int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getDateTimeInstance(android.icu.util.Calendar, int, int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getDateTimeInstance(android.icu.util.Calendar, int, int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getDateTimeInstance(android.icu.util.Calendar, int, int);
+    method public static final android.icu.text.DateFormat getInstance();
+    method public static final android.icu.text.DateFormat getInstance(android.icu.util.Calendar, java.util.Locale);
+    method public static final android.icu.text.DateFormat getInstance(android.icu.util.Calendar);
+    method public static final android.icu.text.DateFormat getInstanceForSkeleton(String);
+    method public static final android.icu.text.DateFormat getInstanceForSkeleton(String, java.util.Locale);
+    method public static final android.icu.text.DateFormat getInstanceForSkeleton(String, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getInstanceForSkeleton(android.icu.util.Calendar, String, java.util.Locale);
+    method public static final android.icu.text.DateFormat getInstanceForSkeleton(android.icu.util.Calendar, String, android.icu.util.ULocale);
+    method public android.icu.text.NumberFormat getNumberFormat();
+    method public static final android.icu.text.DateFormat getPatternInstance(String);
+    method public static final android.icu.text.DateFormat getPatternInstance(String, java.util.Locale);
+    method public static final android.icu.text.DateFormat getPatternInstance(String, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getPatternInstance(android.icu.util.Calendar, String, java.util.Locale);
+    method public static final android.icu.text.DateFormat getPatternInstance(android.icu.util.Calendar, String, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getTimeInstance();
+    method public static final android.icu.text.DateFormat getTimeInstance(int);
+    method public static final android.icu.text.DateFormat getTimeInstance(int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getTimeInstance(int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getTimeInstance(android.icu.util.Calendar, int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getTimeInstance(android.icu.util.Calendar, int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getTimeInstance(android.icu.util.Calendar, int);
+    method public android.icu.util.TimeZone getTimeZone();
+    method public boolean isCalendarLenient();
+    method public boolean isLenient();
+    method public java.util.Date parse(String) throws java.text.ParseException;
+    method public abstract void parse(String, android.icu.util.Calendar, java.text.ParsePosition);
+    method public java.util.Date parse(String, java.text.ParsePosition);
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public android.icu.text.DateFormat setBooleanAttribute(android.icu.text.DateFormat.BooleanAttribute, boolean);
+    method public void setCalendar(android.icu.util.Calendar);
+    method public void setCalendarLenient(boolean);
+    method public void setContext(android.icu.text.DisplayContext);
+    method public void setLenient(boolean);
+    method public void setNumberFormat(android.icu.text.NumberFormat);
+    method public void setTimeZone(android.icu.util.TimeZone);
+    field public static final String ABBR_GENERIC_TZ = "v";
+    field public static final String ABBR_MONTH = "MMM";
+    field public static final String ABBR_MONTH_DAY = "MMMd";
+    field public static final String ABBR_MONTH_WEEKDAY_DAY = "MMMEd";
+    field public static final String ABBR_QUARTER = "QQQ";
+    field public static final String ABBR_SPECIFIC_TZ = "z";
+    field public static final String ABBR_UTC_TZ = "ZZZZ";
+    field public static final String ABBR_WEEKDAY = "E";
+    field public static final int AM_PM_FIELD = 14; // 0xe
+    field public static final int AM_PM_MIDNIGHT_NOON_FIELD = 35; // 0x23
+    field public static final int DATE_FIELD = 3; // 0x3
+    field public static final String DAY = "d";
+    field public static final int DAY_OF_WEEK_FIELD = 9; // 0x9
+    field public static final int DAY_OF_WEEK_IN_MONTH_FIELD = 11; // 0xb
+    field public static final int DAY_OF_YEAR_FIELD = 10; // 0xa
+    field public static final int DEFAULT = 2; // 0x2
+    field public static final int DOW_LOCAL_FIELD = 19; // 0x13
+    field public static final int ERA_FIELD = 0; // 0x0
+    field public static final int EXTENDED_YEAR_FIELD = 20; // 0x14
+    field public static final int FLEXIBLE_DAY_PERIOD_FIELD = 36; // 0x24
+    field public static final int FRACTIONAL_SECOND_FIELD = 8; // 0x8
+    field public static final int FULL = 0; // 0x0
+    field public static final String GENERIC_TZ = "vvvv";
+    field public static final String HOUR = "j";
+    field public static final int HOUR0_FIELD = 16; // 0x10
+    field public static final int HOUR1_FIELD = 15; // 0xf
+    field public static final String HOUR24 = "H";
+    field public static final String HOUR24_MINUTE = "Hm";
+    field public static final String HOUR24_MINUTE_SECOND = "Hms";
+    field public static final String HOUR_MINUTE = "jm";
+    field public static final String HOUR_MINUTE_SECOND = "jms";
+    field public static final int HOUR_OF_DAY0_FIELD = 5; // 0x5
+    field public static final int HOUR_OF_DAY1_FIELD = 4; // 0x4
+    field public static final int JULIAN_DAY_FIELD = 21; // 0x15
+    field public static final String LOCATION_TZ = "VVVV";
+    field public static final int LONG = 1; // 0x1
+    field public static final int MEDIUM = 2; // 0x2
+    field public static final int MILLISECONDS_IN_DAY_FIELD = 22; // 0x16
+    field public static final int MILLISECOND_FIELD = 8; // 0x8
+    field public static final String MINUTE = "m";
+    field public static final int MINUTE_FIELD = 6; // 0x6
+    field public static final String MINUTE_SECOND = "ms";
+    field public static final String MONTH = "MMMM";
+    field public static final String MONTH_DAY = "MMMMd";
+    field public static final int MONTH_FIELD = 2; // 0x2
+    field public static final String MONTH_WEEKDAY_DAY = "MMMMEEEEd";
+    field public static final int NONE = -1; // 0xffffffff
+    field public static final String NUM_MONTH = "M";
+    field public static final String NUM_MONTH_DAY = "Md";
+    field public static final String NUM_MONTH_WEEKDAY_DAY = "MEd";
+    field public static final String QUARTER = "QQQQ";
+    field public static final int QUARTER_FIELD = 27; // 0x1b
+    field public static final int RELATIVE = 128; // 0x80
+    field public static final int RELATIVE_DEFAULT = 130; // 0x82
+    field public static final int RELATIVE_FULL = 128; // 0x80
+    field public static final int RELATIVE_LONG = 129; // 0x81
+    field public static final int RELATIVE_MEDIUM = 130; // 0x82
+    field public static final int RELATIVE_SHORT = 131; // 0x83
+    field public static final String SECOND = "s";
+    field public static final int SECOND_FIELD = 7; // 0x7
+    field public static final int SHORT = 3; // 0x3
+    field public static final String SPECIFIC_TZ = "zzzz";
+    field public static final int STANDALONE_DAY_FIELD = 25; // 0x19
+    field public static final int STANDALONE_MONTH_FIELD = 26; // 0x1a
+    field public static final int STANDALONE_QUARTER_FIELD = 28; // 0x1c
+    field public static final int TIMEZONE_FIELD = 17; // 0x11
+    field public static final int TIMEZONE_GENERIC_FIELD = 24; // 0x18
+    field public static final int TIMEZONE_ISO_FIELD = 32; // 0x20
+    field public static final int TIMEZONE_ISO_LOCAL_FIELD = 33; // 0x21
+    field public static final int TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD = 31; // 0x1f
+    field public static final int TIMEZONE_RFC_FIELD = 23; // 0x17
+    field public static final int TIMEZONE_SPECIAL_FIELD = 29; // 0x1d
+    field public static final String WEEKDAY = "EEEE";
+    field public static final int WEEK_OF_MONTH_FIELD = 13; // 0xd
+    field public static final int WEEK_OF_YEAR_FIELD = 12; // 0xc
+    field public static final String YEAR = "y";
+    field public static final String YEAR_ABBR_MONTH = "yMMM";
+    field public static final String YEAR_ABBR_MONTH_DAY = "yMMMd";
+    field public static final String YEAR_ABBR_MONTH_WEEKDAY_DAY = "yMMMEd";
+    field public static final String YEAR_ABBR_QUARTER = "yQQQ";
+    field public static final int YEAR_FIELD = 1; // 0x1
+    field public static final String YEAR_MONTH = "yMMMM";
+    field public static final String YEAR_MONTH_DAY = "yMMMMd";
+    field public static final String YEAR_MONTH_WEEKDAY_DAY = "yMMMMEEEEd";
+    field public static final int YEAR_NAME_FIELD = 30; // 0x1e
+    field public static final String YEAR_NUM_MONTH = "yM";
+    field public static final String YEAR_NUM_MONTH_DAY = "yMd";
+    field public static final String YEAR_NUM_MONTH_WEEKDAY_DAY = "yMEd";
+    field public static final String YEAR_QUARTER = "yQQQQ";
+    field public static final int YEAR_WOY_FIELD = 18; // 0x12
+    field protected android.icu.util.Calendar calendar;
+    field protected android.icu.text.NumberFormat numberFormat;
+  }
+
+  public enum DateFormat.BooleanAttribute {
+    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_ALLOW_NUMERIC;
+    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_ALLOW_WHITESPACE;
+    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_MULTIPLE_PATTERNS_FOR_MATCH;
+    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_PARTIAL_LITERAL_MATCH;
+  }
+
+  public static class DateFormat.Field extends java.text.Format.Field {
+    ctor protected DateFormat.Field(String, int);
+    method public int getCalendarField();
+    method public static android.icu.text.DateFormat.Field ofCalendarField(int);
+    field public static final android.icu.text.DateFormat.Field AM_PM;
+    field public static final android.icu.text.DateFormat.Field AM_PM_MIDNIGHT_NOON;
+    field public static final android.icu.text.DateFormat.Field DAY_OF_MONTH;
+    field public static final android.icu.text.DateFormat.Field DAY_OF_WEEK;
+    field public static final android.icu.text.DateFormat.Field DAY_OF_WEEK_IN_MONTH;
+    field public static final android.icu.text.DateFormat.Field DAY_OF_YEAR;
+    field public static final android.icu.text.DateFormat.Field DOW_LOCAL;
+    field public static final android.icu.text.DateFormat.Field ERA;
+    field public static final android.icu.text.DateFormat.Field EXTENDED_YEAR;
+    field public static final android.icu.text.DateFormat.Field FLEXIBLE_DAY_PERIOD;
+    field public static final android.icu.text.DateFormat.Field HOUR0;
+    field public static final android.icu.text.DateFormat.Field HOUR1;
+    field public static final android.icu.text.DateFormat.Field HOUR_OF_DAY0;
+    field public static final android.icu.text.DateFormat.Field HOUR_OF_DAY1;
+    field public static final android.icu.text.DateFormat.Field JULIAN_DAY;
+    field public static final android.icu.text.DateFormat.Field MILLISECOND;
+    field public static final android.icu.text.DateFormat.Field MILLISECONDS_IN_DAY;
+    field public static final android.icu.text.DateFormat.Field MINUTE;
+    field public static final android.icu.text.DateFormat.Field MONTH;
+    field public static final android.icu.text.DateFormat.Field QUARTER;
+    field public static final android.icu.text.DateFormat.Field SECOND;
+    field public static final android.icu.text.DateFormat.Field TIME_ZONE;
+    field public static final android.icu.text.DateFormat.Field WEEK_OF_MONTH;
+    field public static final android.icu.text.DateFormat.Field WEEK_OF_YEAR;
+    field public static final android.icu.text.DateFormat.Field YEAR;
+    field public static final android.icu.text.DateFormat.Field YEAR_WOY;
+  }
+
+  public class DateFormatSymbols implements java.lang.Cloneable java.io.Serializable {
+    ctor public DateFormatSymbols();
+    ctor public DateFormatSymbols(java.util.Locale);
+    ctor public DateFormatSymbols(android.icu.util.ULocale);
+    ctor public DateFormatSymbols(android.icu.util.Calendar, java.util.Locale);
+    ctor public DateFormatSymbols(android.icu.util.Calendar, android.icu.util.ULocale);
+    ctor public DateFormatSymbols(Class<? extends android.icu.util.Calendar>, java.util.Locale);
+    ctor public DateFormatSymbols(Class<? extends android.icu.util.Calendar>, android.icu.util.ULocale);
+    ctor public DateFormatSymbols(java.util.ResourceBundle, java.util.Locale);
+    ctor public DateFormatSymbols(java.util.ResourceBundle, android.icu.util.ULocale);
+    method public Object clone();
+    method public String[] getAmPmStrings();
+    method public static java.util.Locale[] getAvailableLocales();
+    method public String[] getEraNames();
+    method public String[] getEras();
+    method public static android.icu.text.DateFormatSymbols getInstance();
+    method public static android.icu.text.DateFormatSymbols getInstance(java.util.Locale);
+    method public static android.icu.text.DateFormatSymbols getInstance(android.icu.util.ULocale);
+    method public String getLocalPatternChars();
+    method public String[] getMonths();
+    method public String[] getMonths(int, int);
+    method public String[] getNarrowEras();
+    method public String[] getQuarters(int, int);
+    method public String[] getShortMonths();
+    method public String[] getShortWeekdays();
+    method public String[] getWeekdays();
+    method public String[] getWeekdays(int, int);
+    method public String[] getYearNames(int, int);
+    method public String[] getZodiacNames(int, int);
+    method public String[][] getZoneStrings();
+    method protected void initializeData(android.icu.util.ULocale, String);
+    method public void setAmPmStrings(String[]);
+    method public void setEraNames(String[]);
+    method public void setEras(String[]);
+    method public void setLocalPatternChars(String);
+    method public void setMonths(String[]);
+    method public void setMonths(String[], int, int);
+    method public void setNarrowEras(String[]);
+    method public void setQuarters(String[], int, int);
+    method public void setShortMonths(String[]);
+    method public void setShortWeekdays(String[]);
+    method public void setWeekdays(String[], int, int);
+    method public void setWeekdays(String[]);
+    method public void setYearNames(String[], int, int);
+    method public void setZodiacNames(String[], int, int);
+    method public void setZoneStrings(String[][]);
+    field public static final int ABBREVIATED = 0; // 0x0
+    field public static final int FORMAT = 0; // 0x0
+    field public static final int NARROW = 2; // 0x2
+    field public static final int SHORT = 3; // 0x3
+    field public static final int STANDALONE = 1; // 0x1
+    field public static final int WIDE = 1; // 0x1
+  }
+
+  public class DateIntervalFormat extends android.icu.text.UFormat {
+    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public final StringBuffer format(android.icu.util.DateInterval, StringBuffer, java.text.FieldPosition);
+    method public final StringBuffer format(android.icu.util.Calendar, android.icu.util.Calendar, StringBuffer, java.text.FieldPosition);
+    method public android.icu.text.DateIntervalFormat.FormattedDateInterval formatToValue(android.icu.util.DateInterval);
+    method public android.icu.text.DateIntervalFormat.FormattedDateInterval formatToValue(android.icu.util.Calendar, android.icu.util.Calendar);
+    method public android.icu.text.DateFormat getDateFormat();
+    method public android.icu.text.DateIntervalInfo getDateIntervalInfo();
+    method public static final android.icu.text.DateIntervalFormat getInstance(String);
+    method public static final android.icu.text.DateIntervalFormat getInstance(String, java.util.Locale);
+    method public static final android.icu.text.DateIntervalFormat getInstance(String, android.icu.util.ULocale);
+    method public static final android.icu.text.DateIntervalFormat getInstance(String, android.icu.text.DateIntervalInfo);
+    method public static final android.icu.text.DateIntervalFormat getInstance(String, java.util.Locale, android.icu.text.DateIntervalInfo);
+    method public static final android.icu.text.DateIntervalFormat getInstance(String, android.icu.util.ULocale, android.icu.text.DateIntervalInfo);
+    method public android.icu.util.TimeZone getTimeZone();
+    method @Deprecated public Object parseObject(String, java.text.ParsePosition);
+    method public void setDateIntervalInfo(android.icu.text.DateIntervalInfo);
+    method public void setTimeZone(android.icu.util.TimeZone);
+  }
+
+  public static final class DateIntervalFormat.FormattedDateInterval implements android.icu.text.FormattedValue {
+    method public <A extends java.lang.Appendable> A appendTo(A);
+    method public char charAt(int);
+    method public int length();
+    method public boolean nextPosition(android.icu.text.ConstrainedFieldPosition);
+    method public CharSequence subSequence(int, int);
+    method public java.text.AttributedCharacterIterator toCharacterIterator();
+  }
+
+  public class DateIntervalInfo implements java.lang.Cloneable android.icu.util.Freezable<android.icu.text.DateIntervalInfo> java.io.Serializable {
+    ctor public DateIntervalInfo(android.icu.util.ULocale);
+    ctor public DateIntervalInfo(java.util.Locale);
+    method public Object clone();
+    method public android.icu.text.DateIntervalInfo cloneAsThawed();
+    method public android.icu.text.DateIntervalInfo freeze();
+    method public boolean getDefaultOrder();
+    method public String getFallbackIntervalPattern();
+    method public android.icu.text.DateIntervalInfo.PatternInfo getIntervalPattern(String, int);
+    method public boolean isFrozen();
+    method public void setFallbackIntervalPattern(String);
+    method public void setIntervalPattern(String, int, String);
+  }
+
+  public static final class DateIntervalInfo.PatternInfo implements java.lang.Cloneable java.io.Serializable {
+    ctor public DateIntervalInfo.PatternInfo(String, String, boolean);
+    method public boolean firstDateInPtnIsLaterDate();
+    method public String getFirstPart();
+    method public String getSecondPart();
+  }
+
+  public class DateTimePatternGenerator implements java.lang.Cloneable android.icu.util.Freezable<android.icu.text.DateTimePatternGenerator> {
+    ctor protected DateTimePatternGenerator();
+    method public android.icu.text.DateTimePatternGenerator addPattern(String, boolean, android.icu.text.DateTimePatternGenerator.PatternInfo);
+    method public Object clone();
+    method public android.icu.text.DateTimePatternGenerator cloneAsThawed();
+    method public android.icu.text.DateTimePatternGenerator freeze();
+    method public String getAppendItemFormat(int);
+    method public String getAppendItemName(int);
+    method public String getBaseSkeleton(String);
+    method public java.util.Set<java.lang.String> getBaseSkeletons(java.util.Set<java.lang.String>);
+    method public String getBestPattern(String);
+    method public String getBestPattern(String, int);
+    method public String getDateTimeFormat();
+    method public String getDecimal();
+    method public static android.icu.text.DateTimePatternGenerator getEmptyInstance();
+    method public String getFieldDisplayName(int, android.icu.text.DateTimePatternGenerator.DisplayWidth);
+    method public static android.icu.text.DateTimePatternGenerator getInstance();
+    method public static android.icu.text.DateTimePatternGenerator getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.DateTimePatternGenerator getInstance(java.util.Locale);
+    method public String getSkeleton(String);
+    method public java.util.Map<java.lang.String,java.lang.String> getSkeletons(java.util.Map<java.lang.String,java.lang.String>);
+    method public boolean isFrozen();
+    method public String replaceFieldTypes(String, String);
+    method public String replaceFieldTypes(String, String, int);
+    method public void setAppendItemFormat(int, String);
+    method public void setAppendItemName(int, String);
+    method public void setDateTimeFormat(String);
+    method public void setDecimal(String);
+    field public static final int DAY = 7; // 0x7
+    field public static final int DAYPERIOD = 10; // 0xa
+    field public static final int DAY_OF_WEEK_IN_MONTH = 9; // 0x9
+    field public static final int DAY_OF_YEAR = 8; // 0x8
+    field public static final int ERA = 0; // 0x0
+    field public static final int FRACTIONAL_SECOND = 14; // 0xe
+    field public static final int HOUR = 11; // 0xb
+    field public static final int MATCH_ALL_FIELDS_LENGTH = 65535; // 0xffff
+    field public static final int MATCH_HOUR_FIELD_LENGTH = 2048; // 0x800
+    field public static final int MATCH_NO_OPTIONS = 0; // 0x0
+    field public static final int MINUTE = 12; // 0xc
+    field public static final int MONTH = 3; // 0x3
+    field public static final int QUARTER = 2; // 0x2
+    field public static final int SECOND = 13; // 0xd
+    field public static final int WEEKDAY = 6; // 0x6
+    field public static final int WEEK_OF_MONTH = 5; // 0x5
+    field public static final int WEEK_OF_YEAR = 4; // 0x4
+    field public static final int YEAR = 1; // 0x1
+    field public static final int ZONE = 15; // 0xf
+  }
+
+  public enum DateTimePatternGenerator.DisplayWidth {
+    enum_constant public static final android.icu.text.DateTimePatternGenerator.DisplayWidth ABBREVIATED;
+    enum_constant public static final android.icu.text.DateTimePatternGenerator.DisplayWidth NARROW;
+    enum_constant public static final android.icu.text.DateTimePatternGenerator.DisplayWidth WIDE;
+  }
+
+  public static final class DateTimePatternGenerator.PatternInfo {
+    ctor public DateTimePatternGenerator.PatternInfo();
+    field public static final int BASE_CONFLICT = 1; // 0x1
+    field public static final int CONFLICT = 2; // 0x2
+    field public static final int OK = 0; // 0x0
+    field public String conflictingPattern;
+    field public int status;
+  }
+
+  public class DecimalFormat extends android.icu.text.NumberFormat {
+    ctor public DecimalFormat();
+    ctor public DecimalFormat(String);
+    ctor public DecimalFormat(String, android.icu.text.DecimalFormatSymbols);
+    ctor public DecimalFormat(String, android.icu.text.DecimalFormatSymbols, android.icu.text.CurrencyPluralInfo, int);
+    method public void applyLocalizedPattern(String);
+    method public void applyPattern(String);
+    method public boolean areSignificantDigitsUsed();
+    method public StringBuffer format(double, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(long, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(java.math.BigInteger, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(java.math.BigDecimal, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(android.icu.math.BigDecimal, StringBuffer, java.text.FieldPosition);
+    method public android.icu.text.CurrencyPluralInfo getCurrencyPluralInfo();
+    method public android.icu.util.Currency.CurrencyUsage getCurrencyUsage();
+    method public android.icu.text.DecimalFormatSymbols getDecimalFormatSymbols();
+    method public int getFormatWidth();
+    method public int getGroupingSize();
+    method public java.math.MathContext getMathContext();
+    method public android.icu.math.MathContext getMathContextICU();
+    method public int getMaximumSignificantDigits();
+    method public byte getMinimumExponentDigits();
+    method public int getMinimumGroupingDigits();
+    method public int getMinimumSignificantDigits();
+    method public int getMultiplier();
+    method public String getNegativePrefix();
+    method public String getNegativeSuffix();
+    method public char getPadCharacter();
+    method public int getPadPosition();
+    method @Deprecated public int getParseMaxDigits();
+    method public String getPositivePrefix();
+    method public String getPositiveSuffix();
+    method public java.math.BigDecimal getRoundingIncrement();
+    method public int getSecondaryGroupingSize();
+    method public boolean isDecimalPatternMatchRequired();
+    method public boolean isDecimalSeparatorAlwaysShown();
+    method public boolean isExponentSignAlwaysShown();
+    method public boolean isParseBigDecimal();
+    method public boolean isParseCaseSensitive();
+    method public boolean isParseNoExponent();
+    method public boolean isScientificNotation();
+    method public boolean isSignAlwaysShown();
+    method public Number parse(String, java.text.ParsePosition);
+    method public void setCurrencyPluralInfo(android.icu.text.CurrencyPluralInfo);
+    method public void setCurrencyUsage(android.icu.util.Currency.CurrencyUsage);
+    method public void setDecimalFormatSymbols(android.icu.text.DecimalFormatSymbols);
+    method public void setDecimalPatternMatchRequired(boolean);
+    method public void setDecimalSeparatorAlwaysShown(boolean);
+    method public void setExponentSignAlwaysShown(boolean);
+    method public void setFormatWidth(int);
+    method public void setGroupingSize(int);
+    method public void setMathContext(java.math.MathContext);
+    method public void setMathContextICU(android.icu.math.MathContext);
+    method public void setMaximumSignificantDigits(int);
+    method public void setMinimumExponentDigits(byte);
+    method public void setMinimumGroupingDigits(int);
+    method public void setMinimumSignificantDigits(int);
+    method public void setMultiplier(int);
+    method public void setNegativePrefix(String);
+    method public void setNegativeSuffix(String);
+    method public void setPadCharacter(char);
+    method public void setPadPosition(int);
+    method public void setParseBigDecimal(boolean);
+    method public void setParseCaseSensitive(boolean);
+    method @Deprecated public void setParseMaxDigits(int);
+    method public void setParseNoExponent(boolean);
+    method public void setPositivePrefix(String);
+    method public void setPositiveSuffix(String);
+    method public void setRoundingIncrement(java.math.BigDecimal);
+    method public void setRoundingIncrement(android.icu.math.BigDecimal);
+    method public void setRoundingIncrement(double);
+    method public void setScientificNotation(boolean);
+    method public void setSecondaryGroupingSize(int);
+    method public void setSignAlwaysShown(boolean);
+    method public void setSignificantDigitsUsed(boolean);
+    method public String toLocalizedPattern();
+    method public String toPattern();
+    field public static final int PAD_AFTER_PREFIX = 1; // 0x1
+    field public static final int PAD_AFTER_SUFFIX = 3; // 0x3
+    field public static final int PAD_BEFORE_PREFIX = 0; // 0x0
+    field public static final int PAD_BEFORE_SUFFIX = 2; // 0x2
+  }
+
+  public class DecimalFormatSymbols implements java.lang.Cloneable java.io.Serializable {
+    ctor public DecimalFormatSymbols();
+    ctor public DecimalFormatSymbols(java.util.Locale);
+    ctor public DecimalFormatSymbols(android.icu.util.ULocale);
+    method public Object clone();
+    method public static android.icu.text.DecimalFormatSymbols forNumberingSystem(java.util.Locale, android.icu.text.NumberingSystem);
+    method public static android.icu.text.DecimalFormatSymbols forNumberingSystem(android.icu.util.ULocale, android.icu.text.NumberingSystem);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public android.icu.util.Currency getCurrency();
+    method public String getCurrencySymbol();
+    method public char getDecimalSeparator();
+    method public String getDecimalSeparatorString();
+    method public char getDigit();
+    method public String[] getDigitStrings();
+    method public char[] getDigits();
+    method public String getExponentMultiplicationSign();
+    method public String getExponentSeparator();
+    method public char getGroupingSeparator();
+    method public String getGroupingSeparatorString();
+    method public String getInfinity();
+    method public static android.icu.text.DecimalFormatSymbols getInstance();
+    method public static android.icu.text.DecimalFormatSymbols getInstance(java.util.Locale);
+    method public static android.icu.text.DecimalFormatSymbols getInstance(android.icu.util.ULocale);
+    method public String getInternationalCurrencySymbol();
+    method public java.util.Locale getLocale();
+    method public char getMinusSign();
+    method public String getMinusSignString();
+    method public char getMonetaryDecimalSeparator();
+    method public String getMonetaryDecimalSeparatorString();
+    method public char getMonetaryGroupingSeparator();
+    method public String getMonetaryGroupingSeparatorString();
+    method public String getNaN();
+    method public char getPadEscape();
+    method public String getPatternForCurrencySpacing(int, boolean);
+    method public char getPatternSeparator();
+    method public char getPerMill();
+    method public String getPerMillString();
+    method public char getPercent();
+    method public String getPercentString();
+    method public char getPlusSign();
+    method public String getPlusSignString();
+    method public char getSignificantDigit();
+    method public android.icu.util.ULocale getULocale();
+    method public char getZeroDigit();
+    method public void setCurrency(android.icu.util.Currency);
+    method public void setCurrencySymbol(String);
+    method public void setDecimalSeparator(char);
+    method public void setDecimalSeparatorString(String);
+    method public void setDigit(char);
+    method public void setDigitStrings(String[]);
+    method public void setExponentMultiplicationSign(String);
+    method public void setExponentSeparator(String);
+    method public void setGroupingSeparator(char);
+    method public void setGroupingSeparatorString(String);
+    method public void setInfinity(String);
+    method public void setInternationalCurrencySymbol(String);
+    method public void setMinusSign(char);
+    method public void setMinusSignString(String);
+    method public void setMonetaryDecimalSeparator(char);
+    method public void setMonetaryDecimalSeparatorString(String);
+    method public void setMonetaryGroupingSeparator(char);
+    method public void setMonetaryGroupingSeparatorString(String);
+    method public void setNaN(String);
+    method public void setPadEscape(char);
+    method public void setPatternForCurrencySpacing(int, boolean, String);
+    method public void setPatternSeparator(char);
+    method public void setPerMill(char);
+    method public void setPerMillString(String);
+    method public void setPercent(char);
+    method public void setPercentString(String);
+    method public void setPlusSign(char);
+    method public void setPlusSignString(String);
+    method public void setSignificantDigit(char);
+    method public void setZeroDigit(char);
+    field public static final int CURRENCY_SPC_CURRENCY_MATCH = 0; // 0x0
+    field public static final int CURRENCY_SPC_INSERT = 2; // 0x2
+    field public static final int CURRENCY_SPC_SURROUNDING_MATCH = 1; // 0x1
+  }
+
+  public enum DisplayContext {
+    method public android.icu.text.DisplayContext.Type type();
+    method public int value();
+    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE;
+    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE;
+    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_STANDALONE;
+    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_UI_LIST_OR_MENU;
+    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_NONE;
+    enum_constant public static final android.icu.text.DisplayContext DIALECT_NAMES;
+    enum_constant public static final android.icu.text.DisplayContext LENGTH_FULL;
+    enum_constant public static final android.icu.text.DisplayContext LENGTH_SHORT;
+    enum_constant public static final android.icu.text.DisplayContext NO_SUBSTITUTE;
+    enum_constant public static final android.icu.text.DisplayContext STANDARD_NAMES;
+    enum_constant public static final android.icu.text.DisplayContext SUBSTITUTE;
+  }
+
+  public enum DisplayContext.Type {
+    enum_constant public static final android.icu.text.DisplayContext.Type CAPITALIZATION;
+    enum_constant public static final android.icu.text.DisplayContext.Type DIALECT_HANDLING;
+    enum_constant public static final android.icu.text.DisplayContext.Type DISPLAY_LENGTH;
+    enum_constant public static final android.icu.text.DisplayContext.Type SUBSTITUTE_HANDLING;
+  }
+
+  public final class Edits {
+    ctor public Edits();
+    method public void addReplace(int, int);
+    method public void addUnchanged(int);
+    method public android.icu.text.Edits.Iterator getCoarseChangesIterator();
+    method public android.icu.text.Edits.Iterator getCoarseIterator();
+    method public android.icu.text.Edits.Iterator getFineChangesIterator();
+    method public android.icu.text.Edits.Iterator getFineIterator();
+    method public boolean hasChanges();
+    method public int lengthDelta();
+    method public android.icu.text.Edits mergeAndAppend(android.icu.text.Edits, android.icu.text.Edits);
+    method public int numberOfChanges();
+    method public void reset();
+  }
+
+  public static final class Edits.Iterator {
+    method public int destinationIndex();
+    method public int destinationIndexFromSourceIndex(int);
+    method public boolean findDestinationIndex(int);
+    method public boolean findSourceIndex(int);
+    method public boolean hasChange();
+    method public int newLength();
+    method public boolean next();
+    method public int oldLength();
+    method public int replacementIndex();
+    method public int sourceIndex();
+    method public int sourceIndexFromDestinationIndex(int);
+  }
+
+  public interface FormattedValue extends java.lang.CharSequence {
+    method public <A extends java.lang.Appendable> A appendTo(A);
+    method public boolean nextPosition(android.icu.text.ConstrainedFieldPosition);
+    method public java.text.AttributedCharacterIterator toCharacterIterator();
+  }
+
+  public abstract class IDNA {
+    method public static android.icu.text.IDNA getUTS46Instance(int);
+    method public abstract StringBuilder labelToASCII(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
+    method public abstract StringBuilder labelToUnicode(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
+    method public abstract StringBuilder nameToASCII(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
+    method public abstract StringBuilder nameToUnicode(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
+    field public static final int CHECK_BIDI = 4; // 0x4
+    field public static final int CHECK_CONTEXTJ = 8; // 0x8
+    field public static final int CHECK_CONTEXTO = 64; // 0x40
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int NONTRANSITIONAL_TO_ASCII = 16; // 0x10
+    field public static final int NONTRANSITIONAL_TO_UNICODE = 32; // 0x20
+    field public static final int USE_STD3_RULES = 2; // 0x2
+  }
+
+  public enum IDNA.Error {
+    enum_constant public static final android.icu.text.IDNA.Error BIDI;
+    enum_constant public static final android.icu.text.IDNA.Error CONTEXTJ;
+    enum_constant public static final android.icu.text.IDNA.Error CONTEXTO_DIGITS;
+    enum_constant public static final android.icu.text.IDNA.Error CONTEXTO_PUNCTUATION;
+    enum_constant public static final android.icu.text.IDNA.Error DISALLOWED;
+    enum_constant public static final android.icu.text.IDNA.Error DOMAIN_NAME_TOO_LONG;
+    enum_constant public static final android.icu.text.IDNA.Error EMPTY_LABEL;
+    enum_constant public static final android.icu.text.IDNA.Error HYPHEN_3_4;
+    enum_constant public static final android.icu.text.IDNA.Error INVALID_ACE_LABEL;
+    enum_constant public static final android.icu.text.IDNA.Error LABEL_HAS_DOT;
+    enum_constant public static final android.icu.text.IDNA.Error LABEL_TOO_LONG;
+    enum_constant public static final android.icu.text.IDNA.Error LEADING_COMBINING_MARK;
+    enum_constant public static final android.icu.text.IDNA.Error LEADING_HYPHEN;
+    enum_constant public static final android.icu.text.IDNA.Error PUNYCODE;
+    enum_constant public static final android.icu.text.IDNA.Error TRAILING_HYPHEN;
+  }
+
+  public static final class IDNA.Info {
+    ctor public IDNA.Info();
+    method public java.util.Set<android.icu.text.IDNA.Error> getErrors();
+    method public boolean hasErrors();
+    method public boolean isTransitionalDifferent();
+  }
+
+  public final class ListFormatter {
+    method public String format(java.lang.Object...);
+    method public String format(java.util.Collection<?>);
+    method public static android.icu.text.ListFormatter getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.ListFormatter getInstance(java.util.Locale);
+    method public static android.icu.text.ListFormatter getInstance();
+    method public String getPatternForNumItems(int);
+  }
+
+  public abstract class LocaleDisplayNames {
+    method public abstract android.icu.text.DisplayContext getContext(android.icu.text.DisplayContext.Type);
+    method public abstract android.icu.text.LocaleDisplayNames.DialectHandling getDialectHandling();
+    method public static android.icu.text.LocaleDisplayNames getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.LocaleDisplayNames getInstance(java.util.Locale);
+    method public static android.icu.text.LocaleDisplayNames getInstance(android.icu.util.ULocale, android.icu.text.LocaleDisplayNames.DialectHandling);
+    method public static android.icu.text.LocaleDisplayNames getInstance(android.icu.util.ULocale, android.icu.text.DisplayContext...);
+    method public static android.icu.text.LocaleDisplayNames getInstance(java.util.Locale, android.icu.text.DisplayContext...);
+    method public abstract android.icu.util.ULocale getLocale();
+    method public java.util.List<android.icu.text.LocaleDisplayNames.UiListItem> getUiList(java.util.Set<android.icu.util.ULocale>, boolean, java.util.Comparator<java.lang.Object>);
+    method public abstract java.util.List<android.icu.text.LocaleDisplayNames.UiListItem> getUiListCompareWholeItems(java.util.Set<android.icu.util.ULocale>, java.util.Comparator<android.icu.text.LocaleDisplayNames.UiListItem>);
+    method public abstract String keyDisplayName(String);
+    method public abstract String keyValueDisplayName(String, String);
+    method public abstract String languageDisplayName(String);
+    method public abstract String localeDisplayName(android.icu.util.ULocale);
+    method public abstract String localeDisplayName(java.util.Locale);
+    method public abstract String localeDisplayName(String);
+    method public abstract String regionDisplayName(String);
+    method public abstract String scriptDisplayName(String);
+    method public abstract String scriptDisplayName(int);
+    method public abstract String variantDisplayName(String);
+  }
+
+  public enum LocaleDisplayNames.DialectHandling {
+    enum_constant public static final android.icu.text.LocaleDisplayNames.DialectHandling DIALECT_NAMES;
+    enum_constant public static final android.icu.text.LocaleDisplayNames.DialectHandling STANDARD_NAMES;
+  }
+
+  public static class LocaleDisplayNames.UiListItem {
+    ctor public LocaleDisplayNames.UiListItem(android.icu.util.ULocale, android.icu.util.ULocale, String, String);
+    method public static java.util.Comparator<android.icu.text.LocaleDisplayNames.UiListItem> getComparator(java.util.Comparator<java.lang.Object>, boolean);
+    field public final android.icu.util.ULocale minimized;
+    field public final android.icu.util.ULocale modified;
+    field public final String nameInDisplayLocale;
+    field public final String nameInSelf;
+  }
+
+  public class MeasureFormat extends android.icu.text.UFormat {
+    method public final boolean equals(Object);
+    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public StringBuilder formatMeasurePerUnit(android.icu.util.Measure, android.icu.util.MeasureUnit, StringBuilder, java.text.FieldPosition);
+    method public final String formatMeasures(android.icu.util.Measure...);
+    method public StringBuilder formatMeasures(StringBuilder, java.text.FieldPosition, android.icu.util.Measure...);
+    method public static android.icu.text.MeasureFormat getCurrencyFormat(android.icu.util.ULocale);
+    method public static android.icu.text.MeasureFormat getCurrencyFormat(java.util.Locale);
+    method public static android.icu.text.MeasureFormat getCurrencyFormat();
+    method public static android.icu.text.MeasureFormat getInstance(android.icu.util.ULocale, android.icu.text.MeasureFormat.FormatWidth);
+    method public static android.icu.text.MeasureFormat getInstance(java.util.Locale, android.icu.text.MeasureFormat.FormatWidth);
+    method public static android.icu.text.MeasureFormat getInstance(android.icu.util.ULocale, android.icu.text.MeasureFormat.FormatWidth, android.icu.text.NumberFormat);
+    method public static android.icu.text.MeasureFormat getInstance(java.util.Locale, android.icu.text.MeasureFormat.FormatWidth, android.icu.text.NumberFormat);
+    method public final android.icu.util.ULocale getLocale();
+    method public android.icu.text.NumberFormat getNumberFormat();
+    method public String getUnitDisplayName(android.icu.util.MeasureUnit);
+    method public android.icu.text.MeasureFormat.FormatWidth getWidth();
+    method public final int hashCode();
+    method public android.icu.util.Measure parseObject(String, java.text.ParsePosition);
+  }
+
+  public enum MeasureFormat.FormatWidth {
+    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth NARROW;
+    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth NUMERIC;
+    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth SHORT;
+    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth WIDE;
+  }
+
+  public class MessageFormat extends android.icu.text.UFormat {
+    ctor public MessageFormat(String);
+    ctor public MessageFormat(String, java.util.Locale);
+    ctor public MessageFormat(String, android.icu.util.ULocale);
+    method public void applyPattern(String);
+    method public void applyPattern(String, android.icu.text.MessagePattern.ApostropheMode);
+    method public static String autoQuoteApostrophe(String);
+    method public final StringBuffer format(Object[], StringBuffer, java.text.FieldPosition);
+    method public final StringBuffer format(java.util.Map<java.lang.String,java.lang.Object>, StringBuffer, java.text.FieldPosition);
+    method public static String format(String, java.lang.Object...);
+    method public static String format(String, java.util.Map<java.lang.String,java.lang.Object>);
+    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public android.icu.text.MessagePattern.ApostropheMode getApostropheMode();
+    method public java.util.Set<java.lang.String> getArgumentNames();
+    method public java.text.Format getFormatByArgumentName(String);
+    method public java.text.Format[] getFormats();
+    method public java.text.Format[] getFormatsByArgumentIndex();
+    method public java.util.Locale getLocale();
+    method public android.icu.util.ULocale getULocale();
+    method public Object[] parse(String, java.text.ParsePosition);
+    method public Object[] parse(String) throws java.text.ParseException;
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public java.util.Map<java.lang.String,java.lang.Object> parseToMap(String, java.text.ParsePosition);
+    method public java.util.Map<java.lang.String,java.lang.Object> parseToMap(String) throws java.text.ParseException;
+    method public void setFormat(int, java.text.Format);
+    method public void setFormatByArgumentIndex(int, java.text.Format);
+    method public void setFormatByArgumentName(String, java.text.Format);
+    method public void setFormats(java.text.Format[]);
+    method public void setFormatsByArgumentIndex(java.text.Format[]);
+    method public void setFormatsByArgumentName(java.util.Map<java.lang.String,java.text.Format>);
+    method public void setLocale(java.util.Locale);
+    method public void setLocale(android.icu.util.ULocale);
+    method public String toPattern();
+    method public boolean usesNamedArguments();
+  }
+
+  public static class MessageFormat.Field extends java.text.Format.Field {
+    ctor protected MessageFormat.Field(String);
+    field public static final android.icu.text.MessageFormat.Field ARGUMENT;
+  }
+
+  public final class MessagePattern implements java.lang.Cloneable android.icu.util.Freezable<android.icu.text.MessagePattern> {
+    ctor public MessagePattern();
+    ctor public MessagePattern(android.icu.text.MessagePattern.ApostropheMode);
+    ctor public MessagePattern(String);
+    method public String autoQuoteApostropheDeep();
+    method public void clear();
+    method public void clearPatternAndSetApostropheMode(android.icu.text.MessagePattern.ApostropheMode);
+    method public Object clone();
+    method public android.icu.text.MessagePattern cloneAsThawed();
+    method public int countParts();
+    method public android.icu.text.MessagePattern freeze();
+    method public android.icu.text.MessagePattern.ApostropheMode getApostropheMode();
+    method public int getLimitPartIndex(int);
+    method public double getNumericValue(android.icu.text.MessagePattern.Part);
+    method public android.icu.text.MessagePattern.Part getPart(int);
+    method public android.icu.text.MessagePattern.Part.Type getPartType(int);
+    method public int getPatternIndex(int);
+    method public String getPatternString();
+    method public double getPluralOffset(int);
+    method public String getSubstring(android.icu.text.MessagePattern.Part);
+    method public boolean hasNamedArguments();
+    method public boolean hasNumberedArguments();
+    method public boolean isFrozen();
+    method public android.icu.text.MessagePattern parse(String);
+    method public android.icu.text.MessagePattern parseChoiceStyle(String);
+    method public android.icu.text.MessagePattern parsePluralStyle(String);
+    method public android.icu.text.MessagePattern parseSelectStyle(String);
+    method public boolean partSubstringMatches(android.icu.text.MessagePattern.Part, String);
+    method public static int validateArgumentName(String);
+    field public static final int ARG_NAME_NOT_NUMBER = -1; // 0xffffffff
+    field public static final int ARG_NAME_NOT_VALID = -2; // 0xfffffffe
+    field public static final double NO_NUMERIC_VALUE = -1.23456789E8;
+  }
+
+  public enum MessagePattern.ApostropheMode {
+    enum_constant public static final android.icu.text.MessagePattern.ApostropheMode DOUBLE_OPTIONAL;
+    enum_constant public static final android.icu.text.MessagePattern.ApostropheMode DOUBLE_REQUIRED;
+  }
+
+  public enum MessagePattern.ArgType {
+    method public boolean hasPluralStyle();
+    enum_constant public static final android.icu.text.MessagePattern.ArgType CHOICE;
+    enum_constant public static final android.icu.text.MessagePattern.ArgType NONE;
+    enum_constant public static final android.icu.text.MessagePattern.ArgType PLURAL;
+    enum_constant public static final android.icu.text.MessagePattern.ArgType SELECT;
+    enum_constant public static final android.icu.text.MessagePattern.ArgType SELECTORDINAL;
+    enum_constant public static final android.icu.text.MessagePattern.ArgType SIMPLE;
+  }
+
+  public static final class MessagePattern.Part {
+    method public android.icu.text.MessagePattern.ArgType getArgType();
+    method public int getIndex();
+    method public int getLength();
+    method public int getLimit();
+    method public android.icu.text.MessagePattern.Part.Type getType();
+    method public int getValue();
+  }
+
+  public enum MessagePattern.Part.Type {
+    method public boolean hasNumericValue();
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_DOUBLE;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_INT;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_LIMIT;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_NAME;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_NUMBER;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_SELECTOR;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_START;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_STYLE;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_TYPE;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type INSERT_CHAR;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type MSG_LIMIT;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type MSG_START;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type REPLACE_NUMBER;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type SKIP_SYNTAX;
+  }
+
+  public final class Normalizer implements java.lang.Cloneable {
+    method @Deprecated public Object clone();
+    method public static int compare(char[], int, int, char[], int, int, int);
+    method public static int compare(String, String, int);
+    method public static int compare(char[], char[], int);
+    method public static int compare(int, int, int);
+    method public static int compare(int, String, int);
+    field public static final int COMPARE_CODE_POINT_ORDER = 32768; // 0x8000
+    field public static final int COMPARE_IGNORE_CASE = 65536; // 0x10000
+    field public static final int FOLD_CASE_DEFAULT = 0; // 0x0
+    field public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = 1; // 0x1
+    field public static final int INPUT_IS_FCD = 131072; // 0x20000
+    field public static final android.icu.text.Normalizer.QuickCheckResult MAYBE;
+    field public static final android.icu.text.Normalizer.QuickCheckResult NO;
+    field public static final android.icu.text.Normalizer.QuickCheckResult YES;
+  }
+
+  public static final class Normalizer.QuickCheckResult {
+  }
+
+  public abstract class Normalizer2 {
+    method public abstract StringBuilder append(StringBuilder, CharSequence);
+    method public int composePair(int, int);
+    method public int getCombiningClass(int);
+    method public abstract String getDecomposition(int);
+    method @Deprecated public static android.icu.text.Normalizer2 getInstance(java.io.InputStream, String, android.icu.text.Normalizer2.Mode);
+    method public static android.icu.text.Normalizer2 getNFCInstance();
+    method public static android.icu.text.Normalizer2 getNFDInstance();
+    method public static android.icu.text.Normalizer2 getNFKCCasefoldInstance();
+    method public static android.icu.text.Normalizer2 getNFKCInstance();
+    method public static android.icu.text.Normalizer2 getNFKDInstance();
+    method public String getRawDecomposition(int);
+    method public abstract boolean hasBoundaryAfter(int);
+    method public abstract boolean hasBoundaryBefore(int);
+    method public abstract boolean isInert(int);
+    method public abstract boolean isNormalized(CharSequence);
+    method public String normalize(CharSequence);
+    method public abstract StringBuilder normalize(CharSequence, StringBuilder);
+    method public abstract Appendable normalize(CharSequence, Appendable);
+    method public abstract StringBuilder normalizeSecondAndAppend(StringBuilder, CharSequence);
+    method public abstract android.icu.text.Normalizer.QuickCheckResult quickCheck(CharSequence);
+    method public abstract int spanQuickCheckYes(CharSequence);
+  }
+
+  public enum Normalizer2.Mode {
+    enum_constant public static final android.icu.text.Normalizer2.Mode COMPOSE;
+    enum_constant public static final android.icu.text.Normalizer2.Mode COMPOSE_CONTIGUOUS;
+    enum_constant public static final android.icu.text.Normalizer2.Mode DECOMPOSE;
+    enum_constant public static final android.icu.text.Normalizer2.Mode FCD;
+  }
+
+  public abstract class NumberFormat extends android.icu.text.UFormat {
+    ctor public NumberFormat();
+    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public final String format(double);
+    method public final String format(long);
+    method public final String format(java.math.BigInteger);
+    method public final String format(java.math.BigDecimal);
+    method public final String format(android.icu.math.BigDecimal);
+    method public final String format(android.icu.util.CurrencyAmount);
+    method public abstract StringBuffer format(double, StringBuffer, java.text.FieldPosition);
+    method public abstract StringBuffer format(long, StringBuffer, java.text.FieldPosition);
+    method public abstract StringBuffer format(java.math.BigInteger, StringBuffer, java.text.FieldPosition);
+    method public abstract StringBuffer format(java.math.BigDecimal, StringBuffer, java.text.FieldPosition);
+    method public abstract StringBuffer format(android.icu.math.BigDecimal, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(android.icu.util.CurrencyAmount, StringBuffer, java.text.FieldPosition);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public android.icu.text.DisplayContext getContext(android.icu.text.DisplayContext.Type);
+    method public android.icu.util.Currency getCurrency();
+    method public static final android.icu.text.NumberFormat getCurrencyInstance();
+    method public static android.icu.text.NumberFormat getCurrencyInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getCurrencyInstance(android.icu.util.ULocale);
+    method public static final android.icu.text.NumberFormat getInstance();
+    method public static android.icu.text.NumberFormat getInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getInstance(android.icu.util.ULocale);
+    method public static final android.icu.text.NumberFormat getInstance(int);
+    method public static android.icu.text.NumberFormat getInstance(java.util.Locale, int);
+    method public static android.icu.text.NumberFormat getInstance(android.icu.util.ULocale, int);
+    method public static final android.icu.text.NumberFormat getIntegerInstance();
+    method public static android.icu.text.NumberFormat getIntegerInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getIntegerInstance(android.icu.util.ULocale);
+    method public int getMaximumFractionDigits();
+    method public int getMaximumIntegerDigits();
+    method public int getMinimumFractionDigits();
+    method public int getMinimumIntegerDigits();
+    method public static final android.icu.text.NumberFormat getNumberInstance();
+    method public static android.icu.text.NumberFormat getNumberInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getNumberInstance(android.icu.util.ULocale);
+    method protected static String getPattern(android.icu.util.ULocale, int);
+    method public static final android.icu.text.NumberFormat getPercentInstance();
+    method public static android.icu.text.NumberFormat getPercentInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getPercentInstance(android.icu.util.ULocale);
+    method public int getRoundingMode();
+    method public static final android.icu.text.NumberFormat getScientificInstance();
+    method public static android.icu.text.NumberFormat getScientificInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getScientificInstance(android.icu.util.ULocale);
+    method public boolean isGroupingUsed();
+    method public boolean isParseIntegerOnly();
+    method public boolean isParseStrict();
+    method public abstract Number parse(String, java.text.ParsePosition);
+    method public Number parse(String) throws java.text.ParseException;
+    method public android.icu.util.CurrencyAmount parseCurrency(CharSequence, java.text.ParsePosition);
+    method public final Object parseObject(String, java.text.ParsePosition);
+    method public void setContext(android.icu.text.DisplayContext);
+    method public void setCurrency(android.icu.util.Currency);
+    method public void setGroupingUsed(boolean);
+    method public void setMaximumFractionDigits(int);
+    method public void setMaximumIntegerDigits(int);
+    method public void setMinimumFractionDigits(int);
+    method public void setMinimumIntegerDigits(int);
+    method public void setParseIntegerOnly(boolean);
+    method public void setParseStrict(boolean);
+    method public void setRoundingMode(int);
+    field public static final int ACCOUNTINGCURRENCYSTYLE = 7; // 0x7
+    field public static final int CASHCURRENCYSTYLE = 8; // 0x8
+    field public static final int CURRENCYSTYLE = 1; // 0x1
+    field public static final int FRACTION_FIELD = 1; // 0x1
+    field public static final int INTEGERSTYLE = 4; // 0x4
+    field public static final int INTEGER_FIELD = 0; // 0x0
+    field public static final int ISOCURRENCYSTYLE = 5; // 0x5
+    field public static final int NUMBERSTYLE = 0; // 0x0
+    field public static final int PERCENTSTYLE = 2; // 0x2
+    field public static final int PLURALCURRENCYSTYLE = 6; // 0x6
+    field public static final int SCIENTIFICSTYLE = 3; // 0x3
+    field public static final int STANDARDCURRENCYSTYLE = 9; // 0x9
+  }
+
+  public static class NumberFormat.Field extends java.text.Format.Field {
+    ctor protected NumberFormat.Field(String);
+    field public static final android.icu.text.NumberFormat.Field COMPACT;
+    field public static final android.icu.text.NumberFormat.Field CURRENCY;
+    field public static final android.icu.text.NumberFormat.Field DECIMAL_SEPARATOR;
+    field public static final android.icu.text.NumberFormat.Field EXPONENT;
+    field public static final android.icu.text.NumberFormat.Field EXPONENT_SIGN;
+    field public static final android.icu.text.NumberFormat.Field EXPONENT_SYMBOL;
+    field public static final android.icu.text.NumberFormat.Field FRACTION;
+    field public static final android.icu.text.NumberFormat.Field GROUPING_SEPARATOR;
+    field public static final android.icu.text.NumberFormat.Field INTEGER;
+    field public static final android.icu.text.NumberFormat.Field MEASURE_UNIT;
+    field public static final android.icu.text.NumberFormat.Field PERCENT;
+    field public static final android.icu.text.NumberFormat.Field PERMILLE;
+    field public static final android.icu.text.NumberFormat.Field SIGN;
+  }
+
+  public class NumberingSystem {
+    ctor public NumberingSystem();
+    method public static String[] getAvailableNames();
+    method public String getDescription();
+    method public static android.icu.text.NumberingSystem getInstance(int, boolean, String);
+    method public static android.icu.text.NumberingSystem getInstance(java.util.Locale);
+    method public static android.icu.text.NumberingSystem getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.NumberingSystem getInstance();
+    method public static android.icu.text.NumberingSystem getInstanceByName(String);
+    method public String getName();
+    method public int getRadix();
+    method public boolean isAlgorithmic();
+    method public static boolean isValidDigitString(String);
+    field public static final android.icu.text.NumberingSystem LATIN;
+  }
+
+  public class PluralFormat extends android.icu.text.UFormat {
+    ctor public PluralFormat();
+    ctor public PluralFormat(android.icu.util.ULocale);
+    ctor public PluralFormat(java.util.Locale);
+    ctor public PluralFormat(android.icu.text.PluralRules);
+    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules);
+    ctor public PluralFormat(java.util.Locale, android.icu.text.PluralRules);
+    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules.PluralType);
+    ctor public PluralFormat(java.util.Locale, android.icu.text.PluralRules.PluralType);
+    ctor public PluralFormat(String);
+    ctor public PluralFormat(android.icu.util.ULocale, String);
+    ctor public PluralFormat(android.icu.text.PluralRules, String);
+    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules, String);
+    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules.PluralType, String);
+    method public void applyPattern(String);
+    method public boolean equals(android.icu.text.PluralFormat);
+    method public final String format(double);
+    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public Number parse(String, java.text.ParsePosition);
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public void setNumberFormat(android.icu.text.NumberFormat);
+    method public String toPattern();
+  }
+
+  public class PluralRules implements java.io.Serializable {
+    method public static android.icu.text.PluralRules createRules(String);
+    method public boolean equals(android.icu.text.PluralRules);
+    method public static android.icu.text.PluralRules forLocale(android.icu.util.ULocale);
+    method public static android.icu.text.PluralRules forLocale(java.util.Locale);
+    method public static android.icu.text.PluralRules forLocale(android.icu.util.ULocale, android.icu.text.PluralRules.PluralType);
+    method public static android.icu.text.PluralRules forLocale(java.util.Locale, android.icu.text.PluralRules.PluralType);
+    method public java.util.Collection<java.lang.Double> getAllKeywordValues(String);
+    method public java.util.Set<java.lang.String> getKeywords();
+    method public java.util.Collection<java.lang.Double> getSamples(String);
+    method public double getUniqueKeywordValue(String);
+    method public static android.icu.text.PluralRules parseDescription(String) throws java.text.ParseException;
+    method public String select(double);
+    method public String select(android.icu.number.FormattedNumber);
+    field public static final android.icu.text.PluralRules DEFAULT;
+    field public static final String KEYWORD_FEW = "few";
+    field public static final String KEYWORD_MANY = "many";
+    field public static final String KEYWORD_ONE = "one";
+    field public static final String KEYWORD_OTHER = "other";
+    field public static final String KEYWORD_TWO = "two";
+    field public static final String KEYWORD_ZERO = "zero";
+    field public static final double NO_UNIQUE_VALUE = -0.00123456777;
+  }
+
+  public enum PluralRules.PluralType {
+    enum_constant public static final android.icu.text.PluralRules.PluralType CARDINAL;
+    enum_constant public static final android.icu.text.PluralRules.PluralType ORDINAL;
+  }
+
+  public final class RelativeDateTimeFormatter {
+    method public String combineDateAndTime(String, String);
+    method public String format(double, android.icu.text.RelativeDateTimeFormatter.Direction, android.icu.text.RelativeDateTimeFormatter.RelativeUnit);
+    method public String format(android.icu.text.RelativeDateTimeFormatter.Direction, android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit);
+    method public String format(double, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit);
+    method public String formatNumeric(double, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit);
+    method public android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime formatNumericToValue(double, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit);
+    method public android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime formatToValue(double, android.icu.text.RelativeDateTimeFormatter.Direction, android.icu.text.RelativeDateTimeFormatter.RelativeUnit);
+    method public android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime formatToValue(android.icu.text.RelativeDateTimeFormatter.Direction, android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit);
+    method public android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime formatToValue(double, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit);
+    method public android.icu.text.DisplayContext getCapitalizationContext();
+    method public android.icu.text.RelativeDateTimeFormatter.Style getFormatStyle();
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance();
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance(java.util.Locale);
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance(android.icu.util.ULocale, android.icu.text.NumberFormat);
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance(android.icu.util.ULocale, android.icu.text.NumberFormat, android.icu.text.RelativeDateTimeFormatter.Style, android.icu.text.DisplayContext);
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance(java.util.Locale, android.icu.text.NumberFormat);
+    method public android.icu.text.NumberFormat getNumberFormat();
+  }
+
+  public enum RelativeDateTimeFormatter.AbsoluteUnit {
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit DAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit FRIDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit HOUR;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit MINUTE;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit MONDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit MONTH;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit NOW;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit QUARTER;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit SATURDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit SUNDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit THURSDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit TUESDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit WEDNESDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit WEEK;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit YEAR;
+  }
+
+  public enum RelativeDateTimeFormatter.Direction {
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction LAST;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction LAST_2;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction NEXT;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction NEXT_2;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction PLAIN;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction THIS;
+  }
+
+  public static class RelativeDateTimeFormatter.FormattedRelativeDateTime implements android.icu.text.FormattedValue {
+    method public <A extends java.lang.Appendable> A appendTo(A);
+    method public char charAt(int);
+    method public int length();
+    method public boolean nextPosition(android.icu.text.ConstrainedFieldPosition);
+    method public CharSequence subSequence(int, int);
+    method public java.text.AttributedCharacterIterator toCharacterIterator();
+  }
+
+  public enum RelativeDateTimeFormatter.RelativeDateTimeUnit {
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit DAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit FRIDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit HOUR;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit MINUTE;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit MONDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit MONTH;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit QUARTER;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit SATURDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit SECOND;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit SUNDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit THURSDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit TUESDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit WEDNESDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit WEEK;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit YEAR;
+  }
+
+  public enum RelativeDateTimeFormatter.RelativeUnit {
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit DAYS;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit HOURS;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit MINUTES;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit MONTHS;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit SECONDS;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit WEEKS;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit YEARS;
+  }
+
+  public enum RelativeDateTimeFormatter.Style {
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Style LONG;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Style NARROW;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Style SHORT;
+  }
+
+  public interface Replaceable {
+    method public int char32At(int);
+    method public char charAt(int);
+    method public void copy(int, int, int);
+    method public void getChars(int, int, char[], int);
+    method public boolean hasMetaData();
+    method public int length();
+    method public void replace(int, int, String);
+    method public void replace(int, int, char[], int, int);
+  }
+
+  public final class RuleBasedCollator extends android.icu.text.Collator {
+    ctor public RuleBasedCollator(String) throws java.lang.Exception;
+    method public android.icu.text.RuleBasedCollator cloneAsThawed();
+    method public int compare(String, String);
+    method public android.icu.text.CollationElementIterator getCollationElementIterator(String);
+    method public android.icu.text.CollationElementIterator getCollationElementIterator(java.text.CharacterIterator);
+    method public android.icu.text.CollationElementIterator getCollationElementIterator(android.icu.text.UCharacterIterator);
+    method public android.icu.text.CollationKey getCollationKey(String);
+    method public void getContractionsAndExpansions(android.icu.text.UnicodeSet, android.icu.text.UnicodeSet, boolean) throws java.lang.Exception;
+    method public boolean getNumericCollation();
+    method public String getRules();
+    method public String getRules(boolean);
+    method public android.icu.util.VersionInfo getUCAVersion();
+    method public int getVariableTop();
+    method public android.icu.util.VersionInfo getVersion();
+    method public boolean isAlternateHandlingShifted();
+    method public boolean isCaseLevel();
+    method public boolean isFrenchCollation();
+    method public boolean isLowerCaseFirst();
+    method public boolean isUpperCaseFirst();
+    method public void setAlternateHandlingDefault();
+    method public void setAlternateHandlingShifted(boolean);
+    method public void setCaseFirstDefault();
+    method public void setCaseLevel(boolean);
+    method public void setCaseLevelDefault();
+    method public void setDecompositionDefault();
+    method public void setFrenchCollation(boolean);
+    method public void setFrenchCollationDefault();
+    method public void setLowerCaseFirst(boolean);
+    method public android.icu.text.RuleBasedCollator setMaxVariable(int);
+    method public void setNumericCollation(boolean);
+    method public void setNumericCollationDefault();
+    method public void setStrengthDefault();
+    method public void setUpperCaseFirst(boolean);
+  }
+
+  public final class ScientificNumberFormatter {
+    method public String format(Object);
+    method public static android.icu.text.ScientificNumberFormatter getMarkupInstance(android.icu.util.ULocale, String, String);
+    method public static android.icu.text.ScientificNumberFormatter getMarkupInstance(android.icu.text.DecimalFormat, String, String);
+    method public static android.icu.text.ScientificNumberFormatter getSuperscriptInstance(android.icu.util.ULocale);
+    method public static android.icu.text.ScientificNumberFormatter getSuperscriptInstance(android.icu.text.DecimalFormat);
+  }
+
+  public abstract class SearchIterator {
+    ctor protected SearchIterator(java.text.CharacterIterator, android.icu.text.BreakIterator);
+    method public final int first();
+    method public final int following(int);
+    method public android.icu.text.BreakIterator getBreakIterator();
+    method public android.icu.text.SearchIterator.ElementComparisonType getElementComparisonType();
+    method public abstract int getIndex();
+    method public int getMatchLength();
+    method public int getMatchStart();
+    method public String getMatchedText();
+    method public java.text.CharacterIterator getTarget();
+    method protected abstract int handleNext(int);
+    method protected abstract int handlePrevious(int);
+    method public boolean isOverlapping();
+    method public final int last();
+    method public int next();
+    method public final int preceding(int);
+    method public int previous();
+    method public void reset();
+    method public void setBreakIterator(android.icu.text.BreakIterator);
+    method public void setElementComparisonType(android.icu.text.SearchIterator.ElementComparisonType);
+    method public void setIndex(int);
+    method protected void setMatchLength(int);
+    method public void setOverlapping(boolean);
+    method public void setTarget(java.text.CharacterIterator);
+    field public static final int DONE = -1; // 0xffffffff
+    field protected android.icu.text.BreakIterator breakIterator;
+    field protected int matchLength;
+    field protected java.text.CharacterIterator targetText;
+  }
+
+  public enum SearchIterator.ElementComparisonType {
+    enum_constant public static final android.icu.text.SearchIterator.ElementComparisonType ANY_BASE_WEIGHT_IS_WILDCARD;
+    enum_constant public static final android.icu.text.SearchIterator.ElementComparisonType PATTERN_BASE_WEIGHT_IS_WILDCARD;
+    enum_constant public static final android.icu.text.SearchIterator.ElementComparisonType STANDARD_ELEMENT_COMPARISON;
+  }
+
+  public class SelectFormat extends java.text.Format {
+    ctor public SelectFormat(String);
+    method public void applyPattern(String);
+    method public final String format(String);
+    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public String toPattern();
+  }
+
+  public class SimpleDateFormat extends android.icu.text.DateFormat {
+    ctor public SimpleDateFormat();
+    ctor public SimpleDateFormat(String);
+    ctor public SimpleDateFormat(String, java.util.Locale);
+    ctor public SimpleDateFormat(String, android.icu.util.ULocale);
+    ctor public SimpleDateFormat(String, String, android.icu.util.ULocale);
+    ctor public SimpleDateFormat(String, android.icu.text.DateFormatSymbols);
+    method public void applyLocalizedPattern(String);
+    method public void applyPattern(String);
+    method public StringBuffer format(android.icu.util.Calendar, StringBuffer, java.text.FieldPosition);
+    method public java.util.Date get2DigitYearStart();
+    method public android.icu.text.DateFormatSymbols getDateFormatSymbols();
+    method public android.icu.text.NumberFormat getNumberFormat(char);
+    method protected android.icu.text.DateFormatSymbols getSymbols();
+    method public android.icu.text.TimeZoneFormat getTimeZoneFormat();
+    method protected int matchQuarterString(String, int, int, String[], android.icu.util.Calendar);
+    method protected int matchString(String, int, int, String[], android.icu.util.Calendar);
+    method public void parse(String, android.icu.util.Calendar, java.text.ParsePosition);
+    method protected android.icu.text.DateFormat.Field patternCharToDateFormatField(char);
+    method public void set2DigitYearStart(java.util.Date);
+    method public void setDateFormatSymbols(android.icu.text.DateFormatSymbols);
+    method public void setNumberFormat(String, android.icu.text.NumberFormat);
+    method public void setTimeZoneFormat(android.icu.text.TimeZoneFormat);
+    method protected String subFormat(char, int, int, java.text.FieldPosition, android.icu.text.DateFormatSymbols, android.icu.util.Calendar) throws java.lang.IllegalArgumentException;
+    method protected int subParse(String, int, char, int, boolean, boolean, boolean[], android.icu.util.Calendar);
+    method public String toLocalizedPattern();
+    method public String toPattern();
+    method protected String zeroPaddingNumber(long, int, int);
+  }
+
+  public class StringPrepParseException extends java.text.ParseException {
+    ctor public StringPrepParseException(String, int);
+    ctor public StringPrepParseException(String, int, String, int);
+    ctor public StringPrepParseException(String, int, String, int, int);
+    method public int getError();
+    field public static final int ACE_PREFIX_ERROR = 6; // 0x6
+    field public static final int BUFFER_OVERFLOW_ERROR = 9; // 0x9
+    field public static final int CHECK_BIDI_ERROR = 4; // 0x4
+    field public static final int DOMAIN_NAME_TOO_LONG_ERROR = 11; // 0xb
+    field public static final int ILLEGAL_CHAR_FOUND = 1; // 0x1
+    field public static final int INVALID_CHAR_FOUND = 0; // 0x0
+    field public static final int LABEL_TOO_LONG_ERROR = 8; // 0x8
+    field public static final int PROHIBITED_ERROR = 2; // 0x2
+    field public static final int STD3_ASCII_RULES_ERROR = 5; // 0x5
+    field public static final int UNASSIGNED_ERROR = 3; // 0x3
+    field public static final int VERIFICATION_ERROR = 7; // 0x7
+    field public static final int ZERO_LENGTH_LABEL = 10; // 0xa
+  }
+
+  public final class StringSearch extends android.icu.text.SearchIterator {
+    ctor public StringSearch(String, java.text.CharacterIterator, android.icu.text.RuleBasedCollator, android.icu.text.BreakIterator);
+    ctor public StringSearch(String, java.text.CharacterIterator, android.icu.text.RuleBasedCollator);
+    ctor public StringSearch(String, java.text.CharacterIterator, java.util.Locale);
+    ctor public StringSearch(String, java.text.CharacterIterator, android.icu.util.ULocale);
+    ctor public StringSearch(String, String);
+    method public android.icu.text.RuleBasedCollator getCollator();
+    method public int getIndex();
+    method public String getPattern();
+    method protected int handleNext(int);
+    method protected int handlePrevious(int);
+    method public boolean isCanonical();
+    method public void setCanonical(boolean);
+    method public void setCollator(android.icu.text.RuleBasedCollator);
+    method public void setPattern(String);
+  }
+
+  public interface SymbolTable {
+    method public char[] lookup(String);
+    method public android.icu.text.UnicodeMatcher lookupMatcher(int);
+    method public String parseReference(String, java.text.ParsePosition, int);
+    field public static final char SYMBOL_REF = 36; // 0x0024 '$'
+  }
+
+  public class TimeZoneFormat extends android.icu.text.UFormat implements android.icu.util.Freezable<android.icu.text.TimeZoneFormat> java.io.Serializable {
+    ctor protected TimeZoneFormat(android.icu.util.ULocale);
+    method public android.icu.text.TimeZoneFormat cloneAsThawed();
+    method public final String format(android.icu.text.TimeZoneFormat.Style, android.icu.util.TimeZone, long);
+    method public String format(android.icu.text.TimeZoneFormat.Style, android.icu.util.TimeZone, long, android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>);
+    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public final String formatOffsetISO8601Basic(int, boolean, boolean, boolean);
+    method public final String formatOffsetISO8601Extended(int, boolean, boolean, boolean);
+    method public String formatOffsetLocalizedGMT(int);
+    method public String formatOffsetShortLocalizedGMT(int);
+    method public android.icu.text.TimeZoneFormat freeze();
+    method public java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption> getDefaultParseOptions();
+    method public String getGMTOffsetDigits();
+    method public String getGMTOffsetPattern(android.icu.text.TimeZoneFormat.GMTOffsetPatternType);
+    method public String getGMTPattern();
+    method public String getGMTZeroFormat();
+    method public static android.icu.text.TimeZoneFormat getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.TimeZoneFormat getInstance(java.util.Locale);
+    method public android.icu.text.TimeZoneNames getTimeZoneNames();
+    method public boolean isFrozen();
+    method public android.icu.util.TimeZone parse(android.icu.text.TimeZoneFormat.Style, String, java.text.ParsePosition, java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>, android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>);
+    method public android.icu.util.TimeZone parse(android.icu.text.TimeZoneFormat.Style, String, java.text.ParsePosition, android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>);
+    method public final android.icu.util.TimeZone parse(String, java.text.ParsePosition);
+    method public final android.icu.util.TimeZone parse(String) throws java.text.ParseException;
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public final int parseOffsetISO8601(String, java.text.ParsePosition);
+    method public int parseOffsetLocalizedGMT(String, java.text.ParsePosition);
+    method public int parseOffsetShortLocalizedGMT(String, java.text.ParsePosition);
+    method public android.icu.text.TimeZoneFormat setDefaultParseOptions(java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>);
+    method public android.icu.text.TimeZoneFormat setGMTOffsetDigits(String);
+    method public android.icu.text.TimeZoneFormat setGMTOffsetPattern(android.icu.text.TimeZoneFormat.GMTOffsetPatternType, String);
+    method public android.icu.text.TimeZoneFormat setGMTPattern(String);
+    method public android.icu.text.TimeZoneFormat setGMTZeroFormat(String);
+    method public android.icu.text.TimeZoneFormat setTimeZoneNames(android.icu.text.TimeZoneNames);
+  }
+
+  public enum TimeZoneFormat.GMTOffsetPatternType {
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType NEGATIVE_H;
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType NEGATIVE_HM;
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType NEGATIVE_HMS;
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType POSITIVE_H;
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType POSITIVE_HM;
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType POSITIVE_HMS;
+  }
+
+  public enum TimeZoneFormat.ParseOption {
+    enum_constant public static final android.icu.text.TimeZoneFormat.ParseOption ALL_STYLES;
+    enum_constant public static final android.icu.text.TimeZoneFormat.ParseOption TZ_DATABASE_ABBREVIATIONS;
+  }
+
+  public enum TimeZoneFormat.Style {
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style EXEMPLAR_LOCATION;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style GENERIC_LOCATION;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style GENERIC_LONG;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style GENERIC_SHORT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_FIXED;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_FULL;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_LOCAL_FIXED;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_LOCAL_FULL;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_LOCAL_SHORT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_SHORT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_FIXED;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_FULL;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_LOCAL_FIXED;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_LOCAL_FULL;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style LOCALIZED_GMT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style LOCALIZED_GMT_SHORT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style SPECIFIC_LONG;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style SPECIFIC_SHORT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ZONE_ID;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ZONE_ID_SHORT;
+  }
+
+  public enum TimeZoneFormat.TimeType {
+    enum_constant public static final android.icu.text.TimeZoneFormat.TimeType DAYLIGHT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.TimeType STANDARD;
+    enum_constant public static final android.icu.text.TimeZoneFormat.TimeType UNKNOWN;
+  }
+
+  public abstract class TimeZoneNames implements java.io.Serializable {
+    method public abstract java.util.Set<java.lang.String> getAvailableMetaZoneIDs();
+    method public abstract java.util.Set<java.lang.String> getAvailableMetaZoneIDs(String);
+    method public final String getDisplayName(String, android.icu.text.TimeZoneNames.NameType, long);
+    method public String getExemplarLocationName(String);
+    method public static android.icu.text.TimeZoneNames getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.TimeZoneNames getInstance(java.util.Locale);
+    method public abstract String getMetaZoneDisplayName(String, android.icu.text.TimeZoneNames.NameType);
+    method public abstract String getMetaZoneID(String, long);
+    method public abstract String getReferenceZoneID(String, String);
+    method public static android.icu.text.TimeZoneNames getTZDBInstance(android.icu.util.ULocale);
+    method public abstract String getTimeZoneDisplayName(String, android.icu.text.TimeZoneNames.NameType);
+  }
+
+  public enum TimeZoneNames.NameType {
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType EXEMPLAR_LOCATION;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType LONG_DAYLIGHT;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType LONG_GENERIC;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType LONG_STANDARD;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType SHORT_DAYLIGHT;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType SHORT_GENERIC;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType SHORT_STANDARD;
+  }
+
+  public abstract class Transliterator {
+    method public static final android.icu.text.Transliterator createFromRules(String, String, int);
+    method public void filteredTransliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position, boolean);
+    method public final void finishTransliteration(android.icu.text.Replaceable, android.icu.text.Transliterator.Position);
+    method public static final java.util.Enumeration<java.lang.String> getAvailableIDs();
+    method public static final java.util.Enumeration<java.lang.String> getAvailableSources();
+    method public static final java.util.Enumeration<java.lang.String> getAvailableTargets(String);
+    method public static final java.util.Enumeration<java.lang.String> getAvailableVariants(String, String);
+    method public static final String getDisplayName(String);
+    method public static String getDisplayName(String, java.util.Locale);
+    method public static String getDisplayName(String, android.icu.util.ULocale);
+    method public android.icu.text.Transliterator[] getElements();
+    method public final android.icu.text.UnicodeFilter getFilter();
+    method public final String getID();
+    method public static final android.icu.text.Transliterator getInstance(String);
+    method public static android.icu.text.Transliterator getInstance(String, int);
+    method public final android.icu.text.Transliterator getInverse();
+    method public final int getMaximumContextLength();
+    method public final android.icu.text.UnicodeSet getSourceSet();
+    method public android.icu.text.UnicodeSet getTargetSet();
+    method public void setFilter(android.icu.text.UnicodeFilter);
+    method public String toRules(boolean);
+    method public final int transliterate(android.icu.text.Replaceable, int, int);
+    method public final void transliterate(android.icu.text.Replaceable);
+    method public final String transliterate(String);
+    method public final void transliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position, String);
+    method public final void transliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position, int);
+    method public final void transliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position);
+    field public static final int FORWARD = 0; // 0x0
+    field public static final int REVERSE = 1; // 0x1
+  }
+
+  public static class Transliterator.Position {
+    ctor public Transliterator.Position();
+    ctor public Transliterator.Position(int, int, int);
+    ctor public Transliterator.Position(int, int, int, int);
+    ctor public Transliterator.Position(android.icu.text.Transliterator.Position);
+    method public void set(android.icu.text.Transliterator.Position);
+    method public final void validate(int);
+    field public int contextLimit;
+    field public int contextStart;
+    field public int limit;
+    field public int start;
+  }
+
+  public abstract class UCharacterIterator implements java.lang.Cloneable {
+    ctor protected UCharacterIterator();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method public abstract int current();
+    method public int currentCodePoint();
+    method public java.text.CharacterIterator getCharacterIterator();
+    method public abstract int getIndex();
+    method public static final android.icu.text.UCharacterIterator getInstance(android.icu.text.Replaceable);
+    method public static final android.icu.text.UCharacterIterator getInstance(String);
+    method public static final android.icu.text.UCharacterIterator getInstance(char[]);
+    method public static final android.icu.text.UCharacterIterator getInstance(char[], int, int);
+    method public static final android.icu.text.UCharacterIterator getInstance(StringBuffer);
+    method public static final android.icu.text.UCharacterIterator getInstance(java.text.CharacterIterator);
+    method public abstract int getLength();
+    method public abstract int getText(char[], int);
+    method public final int getText(char[]);
+    method public String getText();
+    method public int moveCodePointIndex(int);
+    method public int moveIndex(int);
+    method public abstract int next();
+    method public int nextCodePoint();
+    method public abstract int previous();
+    method public int previousCodePoint();
+    method public abstract void setIndex(int);
+    method public void setToLimit();
+    method public void setToStart();
+    field public static final int DONE = -1; // 0xffffffff
+  }
+
+  public abstract class UFormat extends java.text.Format {
+    ctor public UFormat();
+  }
+
+  public abstract class UnicodeFilter implements android.icu.text.UnicodeMatcher {
+    method public abstract boolean contains(int);
+    method public int matches(android.icu.text.Replaceable, int[], int, boolean);
+  }
+
+  public interface UnicodeMatcher {
+    method public void addMatchSetTo(android.icu.text.UnicodeSet);
+    method public int matches(android.icu.text.Replaceable, int[], int, boolean);
+    method public boolean matchesIndexValue(int);
+    method public String toPattern(boolean);
+    field public static final char ETHER = 65535; // 0xffff '\uffff'
+    field public static final int U_MATCH = 2; // 0x2
+    field public static final int U_MISMATCH = 0; // 0x0
+    field public static final int U_PARTIAL_MATCH = 1; // 0x1
+  }
+
+  public class UnicodeSet extends android.icu.text.UnicodeFilter implements java.lang.Comparable<android.icu.text.UnicodeSet> android.icu.util.Freezable<android.icu.text.UnicodeSet> java.lang.Iterable<java.lang.String> {
+    ctor public UnicodeSet();
+    ctor public UnicodeSet(android.icu.text.UnicodeSet);
+    ctor public UnicodeSet(int, int);
+    ctor public UnicodeSet(int...);
+    ctor public UnicodeSet(String);
+    ctor public UnicodeSet(String, boolean);
+    ctor public UnicodeSet(String, int);
+    ctor public UnicodeSet(String, java.text.ParsePosition, android.icu.text.SymbolTable);
+    ctor public UnicodeSet(String, java.text.ParsePosition, android.icu.text.SymbolTable, int);
+    method public StringBuffer _generatePattern(StringBuffer, boolean);
+    method public StringBuffer _generatePattern(StringBuffer, boolean, boolean);
+    method public android.icu.text.UnicodeSet add(int, int);
+    method public final android.icu.text.UnicodeSet add(int);
+    method public final android.icu.text.UnicodeSet add(CharSequence);
+    method public android.icu.text.UnicodeSet add(Iterable<?>);
+    method public android.icu.text.UnicodeSet addAll(int, int);
+    method public final android.icu.text.UnicodeSet addAll(CharSequence);
+    method public android.icu.text.UnicodeSet addAll(android.icu.text.UnicodeSet);
+    method public android.icu.text.UnicodeSet addAll(Iterable<?>);
+    method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet addAll(T...);
+    method public <T extends java.util.Collection<java.lang.String>> T addAllTo(T);
+    method public void addMatchSetTo(android.icu.text.UnicodeSet);
+    method public android.icu.text.UnicodeSet applyIntPropertyValue(int, int);
+    method public final android.icu.text.UnicodeSet applyPattern(String);
+    method public android.icu.text.UnicodeSet applyPattern(String, boolean);
+    method public android.icu.text.UnicodeSet applyPattern(String, int);
+    method public android.icu.text.UnicodeSet applyPropertyAlias(String, String);
+    method public android.icu.text.UnicodeSet applyPropertyAlias(String, String, android.icu.text.SymbolTable);
+    method public int charAt(int);
+    method public android.icu.text.UnicodeSet clear();
+    method public Object clone();
+    method public android.icu.text.UnicodeSet cloneAsThawed();
+    method public android.icu.text.UnicodeSet closeOver(int);
+    method public android.icu.text.UnicodeSet compact();
+    method public int compareTo(android.icu.text.UnicodeSet);
+    method public int compareTo(android.icu.text.UnicodeSet, android.icu.text.UnicodeSet.ComparisonStyle);
+    method public int compareTo(Iterable<java.lang.String>);
+    method public android.icu.text.UnicodeSet complement(int, int);
+    method public final android.icu.text.UnicodeSet complement(int);
+    method public android.icu.text.UnicodeSet complement();
+    method public final android.icu.text.UnicodeSet complement(CharSequence);
+    method public final android.icu.text.UnicodeSet complementAll(CharSequence);
+    method public android.icu.text.UnicodeSet complementAll(android.icu.text.UnicodeSet);
+    method public boolean contains(int);
+    method public boolean contains(int, int);
+    method public final boolean contains(CharSequence);
+    method public boolean containsAll(android.icu.text.UnicodeSet);
+    method public boolean containsAll(String);
+    method public <T extends java.lang.CharSequence> boolean containsAll(Iterable<T>);
+    method public boolean containsNone(int, int);
+    method public boolean containsNone(android.icu.text.UnicodeSet);
+    method public boolean containsNone(CharSequence);
+    method public <T extends java.lang.CharSequence> boolean containsNone(Iterable<T>);
+    method public final boolean containsSome(int, int);
+    method public final boolean containsSome(android.icu.text.UnicodeSet);
+    method public final boolean containsSome(CharSequence);
+    method public final <T extends java.lang.CharSequence> boolean containsSome(Iterable<T>);
+    method public android.icu.text.UnicodeSet freeze();
+    method public static android.icu.text.UnicodeSet from(CharSequence);
+    method public static android.icu.text.UnicodeSet fromAll(CharSequence);
+    method public int getRangeCount();
+    method public int getRangeEnd(int);
+    method public int getRangeStart(int);
+    method public int indexOf(int);
+    method public boolean isEmpty();
+    method public boolean isFrozen();
+    method public java.util.Iterator<java.lang.String> iterator();
+    method public boolean matchesIndexValue(int);
+    method public Iterable<android.icu.text.UnicodeSet.EntryRange> ranges();
+    method public android.icu.text.UnicodeSet remove(int, int);
+    method public final android.icu.text.UnicodeSet remove(int);
+    method public final android.icu.text.UnicodeSet remove(CharSequence);
+    method public final android.icu.text.UnicodeSet removeAll(CharSequence);
+    method public android.icu.text.UnicodeSet removeAll(android.icu.text.UnicodeSet);
+    method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet removeAll(Iterable<T>);
+    method public final android.icu.text.UnicodeSet removeAllStrings();
+    method public android.icu.text.UnicodeSet retain(int, int);
+    method public final android.icu.text.UnicodeSet retain(int);
+    method public final android.icu.text.UnicodeSet retain(CharSequence);
+    method public final android.icu.text.UnicodeSet retainAll(CharSequence);
+    method public android.icu.text.UnicodeSet retainAll(android.icu.text.UnicodeSet);
+    method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet retainAll(Iterable<T>);
+    method public android.icu.text.UnicodeSet set(int, int);
+    method public android.icu.text.UnicodeSet set(android.icu.text.UnicodeSet);
+    method public int size();
+    method public int span(CharSequence, android.icu.text.UnicodeSet.SpanCondition);
+    method public int span(CharSequence, int, android.icu.text.UnicodeSet.SpanCondition);
+    method public int spanBack(CharSequence, android.icu.text.UnicodeSet.SpanCondition);
+    method public int spanBack(CharSequence, int, android.icu.text.UnicodeSet.SpanCondition);
+    method public java.util.Collection<java.lang.String> strings();
+    method public String toPattern(boolean);
+    field public static final int ADD_CASE_MAPPINGS = 4; // 0x4
+    field public static final android.icu.text.UnicodeSet ALL_CODE_POINTS;
+    field public static final int CASE = 2; // 0x2
+    field public static final int CASE_INSENSITIVE = 2; // 0x2
+    field public static final android.icu.text.UnicodeSet EMPTY;
+    field public static final int IGNORE_SPACE = 1; // 0x1
+    field public static final int MAX_VALUE = 1114111; // 0x10ffff
+    field public static final int MIN_VALUE = 0; // 0x0
+  }
+
+  public enum UnicodeSet.ComparisonStyle {
+    enum_constant public static final android.icu.text.UnicodeSet.ComparisonStyle LEXICOGRAPHIC;
+    enum_constant public static final android.icu.text.UnicodeSet.ComparisonStyle LONGER_FIRST;
+    enum_constant public static final android.icu.text.UnicodeSet.ComparisonStyle SHORTER_FIRST;
+  }
+
+  public static class UnicodeSet.EntryRange {
+    field public int codepoint;
+    field public int codepointEnd;
+  }
+
+  public enum UnicodeSet.SpanCondition {
+    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition CONDITION_COUNT;
+    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition CONTAINED;
+    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition NOT_CONTAINED;
+    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition SIMPLE;
+  }
+
+  public class UnicodeSetIterator {
+    ctor public UnicodeSetIterator(android.icu.text.UnicodeSet);
+    ctor public UnicodeSetIterator();
+    method public String getString();
+    method public boolean next();
+    method public boolean nextRange();
+    method public void reset(android.icu.text.UnicodeSet);
+    method public void reset();
+    field public static int IS_STRING;
+    field public int codepoint;
+    field public int codepointEnd;
+    field public String string;
+  }
+
+  public class UnicodeSetSpanner {
+    ctor public UnicodeSetSpanner(android.icu.text.UnicodeSet);
+    method public int countIn(CharSequence);
+    method public int countIn(CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod);
+    method public int countIn(CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod, android.icu.text.UnicodeSet.SpanCondition);
+    method public String deleteFrom(CharSequence);
+    method public String deleteFrom(CharSequence, android.icu.text.UnicodeSet.SpanCondition);
+    method public android.icu.text.UnicodeSet getUnicodeSet();
+    method public String replaceFrom(CharSequence, CharSequence);
+    method public String replaceFrom(CharSequence, CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod);
+    method public String replaceFrom(CharSequence, CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod, android.icu.text.UnicodeSet.SpanCondition);
+    method public CharSequence trim(CharSequence);
+    method public CharSequence trim(CharSequence, android.icu.text.UnicodeSetSpanner.TrimOption);
+    method public CharSequence trim(CharSequence, android.icu.text.UnicodeSetSpanner.TrimOption, android.icu.text.UnicodeSet.SpanCondition);
+  }
+
+  public enum UnicodeSetSpanner.CountMethod {
+    enum_constant public static final android.icu.text.UnicodeSetSpanner.CountMethod MIN_ELEMENTS;
+    enum_constant public static final android.icu.text.UnicodeSetSpanner.CountMethod WHOLE_SPAN;
+  }
+
+  public enum UnicodeSetSpanner.TrimOption {
+    enum_constant public static final android.icu.text.UnicodeSetSpanner.TrimOption BOTH;
+    enum_constant public static final android.icu.text.UnicodeSetSpanner.TrimOption LEADING;
+    enum_constant public static final android.icu.text.UnicodeSetSpanner.TrimOption TRAILING;
+  }
+
+}
+
+package android.icu.util {
+
+  public class BuddhistCalendar extends android.icu.util.GregorianCalendar {
+    ctor public BuddhistCalendar();
+    ctor public BuddhistCalendar(android.icu.util.TimeZone);
+    ctor public BuddhistCalendar(java.util.Locale);
+    ctor public BuddhistCalendar(android.icu.util.ULocale);
+    ctor public BuddhistCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public BuddhistCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public BuddhistCalendar(java.util.Date);
+    ctor public BuddhistCalendar(int, int, int);
+    ctor public BuddhistCalendar(int, int, int, int, int, int);
+    field public static final int BE = 0; // 0x0
+  }
+
+  public abstract class Calendar implements java.lang.Cloneable java.lang.Comparable<android.icu.util.Calendar> java.io.Serializable {
+    ctor protected Calendar();
+    ctor protected Calendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor protected Calendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    method public void add(int, int);
+    method public boolean after(Object);
+    method public boolean before(Object);
+    method public final void clear();
+    method public final void clear(int);
+    method public Object clone();
+    method public int compareTo(android.icu.util.Calendar);
+    method protected void complete();
+    method protected void computeFields();
+    method protected final void computeGregorianFields(int);
+    method protected int computeGregorianMonthStart(int, int);
+    method protected int computeJulianDay();
+    method @Deprecated protected int computeMillisInDay();
+    method protected void computeTime();
+    method @Deprecated protected int computeZoneOffset(long, int);
+    method public int fieldDifference(java.util.Date, int);
+    method protected String fieldName(int);
+    method protected static final long floorDivide(long, long);
+    method protected static final int floorDivide(int, int);
+    method protected static final int floorDivide(int, int, int[]);
+    method protected static final int floorDivide(long, int, int[]);
+    method public final int get(int);
+    method public int getActualMaximum(int);
+    method public int getActualMinimum(int);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public android.icu.text.DateFormat getDateTimeFormat(int, int, java.util.Locale);
+    method public android.icu.text.DateFormat getDateTimeFormat(int, int, android.icu.util.ULocale);
+    method public String getDisplayName(java.util.Locale);
+    method public String getDisplayName(android.icu.util.ULocale);
+    method public final int getFieldCount();
+    method protected int[][][] getFieldResolutionTable();
+    method public int getFirstDayOfWeek();
+    method public final int getGreatestMinimum(int);
+    method protected final int getGregorianDayOfMonth();
+    method protected final int getGregorianDayOfYear();
+    method protected final int getGregorianMonth();
+    method protected final int getGregorianYear();
+    method public static android.icu.util.Calendar getInstance();
+    method public static android.icu.util.Calendar getInstance(android.icu.util.TimeZone);
+    method public static android.icu.util.Calendar getInstance(java.util.Locale);
+    method public static android.icu.util.Calendar getInstance(android.icu.util.ULocale);
+    method public static android.icu.util.Calendar getInstance(android.icu.util.TimeZone, java.util.Locale);
+    method public static android.icu.util.Calendar getInstance(android.icu.util.TimeZone, android.icu.util.ULocale);
+    method public static final String[] getKeywordValuesForLocale(String, android.icu.util.ULocale, boolean);
+    method public final int getLeastMaximum(int);
+    method protected int getLimit(int, int);
+    method public final int getMaximum(int);
+    method public int getMinimalDaysInFirstWeek();
+    method public final int getMinimum(int);
+    method public int getRepeatedWallTimeOption();
+    method public int getSkippedWallTimeOption();
+    method protected final int getStamp(int);
+    method public final java.util.Date getTime();
+    method public long getTimeInMillis();
+    method public android.icu.util.TimeZone getTimeZone();
+    method public String getType();
+    method public android.icu.util.Calendar.WeekData getWeekData();
+    method public static android.icu.util.Calendar.WeekData getWeekDataForRegion(String);
+    method protected static final int gregorianMonthLength(int, int);
+    method protected static final int gregorianPreviousMonthLength(int, int);
+    method protected void handleComputeFields(int);
+    method protected int handleComputeJulianDay(int);
+    method protected abstract int handleComputeMonthStart(int, int, boolean);
+    method protected int[] handleCreateFields();
+    method protected android.icu.text.DateFormat handleGetDateFormat(String, java.util.Locale);
+    method protected android.icu.text.DateFormat handleGetDateFormat(String, String, java.util.Locale);
+    method protected android.icu.text.DateFormat handleGetDateFormat(String, android.icu.util.ULocale);
+    method protected abstract int handleGetExtendedYear();
+    method protected abstract int handleGetLimit(int, int);
+    method protected int handleGetMonthLength(int, int);
+    method protected int handleGetYearLength(int);
+    method protected final int internalGet(int);
+    method protected final int internalGet(int, int);
+    method protected final long internalGetTimeInMillis();
+    method protected final void internalSet(int, int);
+    method public boolean isEquivalentTo(android.icu.util.Calendar);
+    method protected static final boolean isGregorianLeapYear(int);
+    method public boolean isLenient();
+    method public final boolean isSet(int);
+    method public boolean isWeekend(java.util.Date);
+    method public boolean isWeekend();
+    method protected static final int julianDayToDayOfWeek(int);
+    method protected static final long julianDayToMillis(int);
+    method protected static final int millisToJulianDay(long);
+    method protected int newerField(int, int);
+    method protected int newestStamp(int, int, int);
+    method protected void pinField(int);
+    method protected void prepareGetActual(int, boolean);
+    method protected int resolveFields(int[][][]);
+    method public final void roll(int, boolean);
+    method public void roll(int, int);
+    method public final void set(int, int);
+    method public final void set(int, int, int);
+    method public final void set(int, int, int, int, int);
+    method public final void set(int, int, int, int, int, int);
+    method public void setFirstDayOfWeek(int);
+    method public void setLenient(boolean);
+    method public void setMinimalDaysInFirstWeek(int);
+    method public void setRepeatedWallTimeOption(int);
+    method public void setSkippedWallTimeOption(int);
+    method public final void setTime(java.util.Date);
+    method public void setTimeInMillis(long);
+    method public void setTimeZone(android.icu.util.TimeZone);
+    method public android.icu.util.Calendar setWeekData(android.icu.util.Calendar.WeekData);
+    method protected void validateField(int);
+    method protected final void validateField(int, int, int);
+    method protected void validateFields();
+    method protected int weekNumber(int, int, int);
+    method protected final int weekNumber(int, int);
+    field public static final int AM = 0; // 0x0
+    field public static final int AM_PM = 9; // 0x9
+    field public static final int APRIL = 3; // 0x3
+    field public static final int AUGUST = 7; // 0x7
+    field @Deprecated protected static final int BASE_FIELD_COUNT = 23; // 0x17
+    field public static final int DATE = 5; // 0x5
+    field public static final int DAY_OF_MONTH = 5; // 0x5
+    field public static final int DAY_OF_WEEK = 7; // 0x7
+    field public static final int DAY_OF_WEEK_IN_MONTH = 8; // 0x8
+    field public static final int DAY_OF_YEAR = 6; // 0x6
+    field public static final int DECEMBER = 11; // 0xb
+    field public static final int DOW_LOCAL = 18; // 0x12
+    field public static final int DST_OFFSET = 16; // 0x10
+    field protected static final int EPOCH_JULIAN_DAY = 2440588; // 0x253d8c
+    field public static final int ERA = 0; // 0x0
+    field public static final int EXTENDED_YEAR = 19; // 0x13
+    field public static final int FEBRUARY = 1; // 0x1
+    field public static final int FRIDAY = 6; // 0x6
+    field protected static final int GREATEST_MINIMUM = 1; // 0x1
+    field public static final int HOUR = 10; // 0xa
+    field public static final int HOUR_OF_DAY = 11; // 0xb
+    field protected static final int INTERNALLY_SET = 1; // 0x1
+    field public static final int IS_LEAP_MONTH = 22; // 0x16
+    field public static final int JANUARY = 0; // 0x0
+    field protected static final int JAN_1_1_JULIAN_DAY = 1721426; // 0x1a4452
+    field public static final int JULIAN_DAY = 20; // 0x14
+    field public static final int JULY = 6; // 0x6
+    field public static final int JUNE = 5; // 0x5
+    field protected static final int LEAST_MAXIMUM = 2; // 0x2
+    field public static final int MARCH = 2; // 0x2
+    field protected static final int MAXIMUM = 3; // 0x3
+    field protected static final java.util.Date MAX_DATE;
+    field @Deprecated protected static final int MAX_FIELD_COUNT = 32; // 0x20
+    field protected static final int MAX_JULIAN = 2130706432; // 0x7f000000
+    field protected static final long MAX_MILLIS = 183882168921600000L; // 0x28d47dbbf19b000L
+    field public static final int MAY = 4; // 0x4
+    field public static final int MILLISECOND = 14; // 0xe
+    field public static final int MILLISECONDS_IN_DAY = 21; // 0x15
+    field protected static final int MINIMUM = 0; // 0x0
+    field protected static final int MINIMUM_USER_STAMP = 2; // 0x2
+    field public static final int MINUTE = 12; // 0xc
+    field protected static final java.util.Date MIN_DATE;
+    field protected static final int MIN_JULIAN = -2130706432; // 0x81000000
+    field protected static final long MIN_MILLIS = -184303902528000000L; // 0xfd713893bf19b000L
+    field public static final int MONDAY = 2; // 0x2
+    field public static final int MONTH = 2; // 0x2
+    field public static final int NOVEMBER = 10; // 0xa
+    field public static final int OCTOBER = 9; // 0x9
+    field protected static final long ONE_DAY = 86400000L; // 0x5265c00L
+    field protected static final int ONE_HOUR = 3600000; // 0x36ee80
+    field protected static final int ONE_MINUTE = 60000; // 0xea60
+    field protected static final int ONE_SECOND = 1000; // 0x3e8
+    field protected static final long ONE_WEEK = 604800000L; // 0x240c8400L
+    field public static final int PM = 1; // 0x1
+    field protected static final int RESOLVE_REMAP = 32; // 0x20
+    field public static final int SATURDAY = 7; // 0x7
+    field public static final int SECOND = 13; // 0xd
+    field public static final int SEPTEMBER = 8; // 0x8
+    field public static final int SUNDAY = 1; // 0x1
+    field public static final int THURSDAY = 5; // 0x5
+    field public static final int TUESDAY = 3; // 0x3
+    field public static final int UNDECIMBER = 12; // 0xc
+    field protected static final int UNSET = 0; // 0x0
+    field public static final int WALLTIME_FIRST = 1; // 0x1
+    field public static final int WALLTIME_LAST = 0; // 0x0
+    field public static final int WALLTIME_NEXT_VALID = 2; // 0x2
+    field public static final int WEDNESDAY = 4; // 0x4
+    field public static final int WEEK_OF_MONTH = 4; // 0x4
+    field public static final int WEEK_OF_YEAR = 3; // 0x3
+    field public static final int YEAR = 1; // 0x1
+    field public static final int YEAR_WOY = 17; // 0x11
+    field public static final int ZONE_OFFSET = 15; // 0xf
+  }
+
+  public static final class Calendar.WeekData {
+    ctor public Calendar.WeekData(int, int, int, int, int, int);
+    field public final int firstDayOfWeek;
+    field public final int minimalDaysInFirstWeek;
+    field public final int weekendCease;
+    field public final int weekendCeaseMillis;
+    field public final int weekendOnset;
+    field public final int weekendOnsetMillis;
+  }
+
+  public class ChineseCalendar extends android.icu.util.Calendar {
+    ctor public ChineseCalendar();
+    ctor public ChineseCalendar(java.util.Date);
+    ctor public ChineseCalendar(int, int, int, int);
+    ctor public ChineseCalendar(int, int, int, int, int, int, int);
+    ctor public ChineseCalendar(int, int, int, int, int);
+    ctor public ChineseCalendar(int, int, int, int, int, int, int, int);
+    ctor public ChineseCalendar(java.util.Locale);
+    ctor public ChineseCalendar(android.icu.util.TimeZone);
+    ctor public ChineseCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public ChineseCalendar(android.icu.util.ULocale);
+    ctor public ChineseCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method protected android.icu.text.DateFormat handleGetDateFormat(String, String, android.icu.util.ULocale);
+    method protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+  }
+
+  public final class CopticCalendar extends android.icu.util.Calendar {
+    ctor public CopticCalendar();
+    ctor public CopticCalendar(android.icu.util.TimeZone);
+    ctor public CopticCalendar(java.util.Locale);
+    ctor public CopticCalendar(android.icu.util.ULocale);
+    ctor public CopticCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public CopticCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public CopticCalendar(int, int, int);
+    ctor public CopticCalendar(java.util.Date);
+    ctor public CopticCalendar(int, int, int, int, int, int);
+    method @Deprecated protected void handleComputeFields(int);
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method @Deprecated protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+    field public static final int AMSHIR = 5; // 0x5
+    field public static final int BABA = 1; // 0x1
+    field public static final int BARAMHAT = 6; // 0x6
+    field public static final int BARAMOUDA = 7; // 0x7
+    field public static final int BASHANS = 8; // 0x8
+    field public static final int EPEP = 10; // 0xa
+    field public static final int HATOR = 2; // 0x2
+    field public static final int KIAHK = 3; // 0x3
+    field public static final int MESRA = 11; // 0xb
+    field public static final int NASIE = 12; // 0xc
+    field public static final int PAONA = 9; // 0x9
+    field public static final int TOBA = 4; // 0x4
+    field public static final int TOUT = 0; // 0x0
+  }
+
+  public class Currency extends android.icu.util.MeasureUnit {
+    ctor protected Currency(String);
+    method public static android.icu.util.Currency fromJavaCurrency(java.util.Currency);
+    method public static java.util.Set<android.icu.util.Currency> getAvailableCurrencies();
+    method public static String[] getAvailableCurrencyCodes(android.icu.util.ULocale, java.util.Date);
+    method public static String[] getAvailableCurrencyCodes(java.util.Locale, java.util.Date);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public static android.icu.util.ULocale[] getAvailableULocales();
+    method public String getCurrencyCode();
+    method public int getDefaultFractionDigits();
+    method public int getDefaultFractionDigits(android.icu.util.Currency.CurrencyUsage);
+    method public String getDisplayName();
+    method public String getDisplayName(java.util.Locale);
+    method public static android.icu.util.Currency getInstance(java.util.Locale);
+    method public static android.icu.util.Currency getInstance(android.icu.util.ULocale);
+    method public static android.icu.util.Currency getInstance(String);
+    method public static final String[] getKeywordValuesForLocale(String, android.icu.util.ULocale, boolean);
+    method public String getName(java.util.Locale, int, boolean[]);
+    method public String getName(android.icu.util.ULocale, int, boolean[]);
+    method public String getName(java.util.Locale, int, String, boolean[]);
+    method public String getName(android.icu.util.ULocale, int, String, boolean[]);
+    method public int getNumericCode();
+    method public double getRoundingIncrement();
+    method public double getRoundingIncrement(android.icu.util.Currency.CurrencyUsage);
+    method public String getSymbol();
+    method public String getSymbol(java.util.Locale);
+    method public String getSymbol(android.icu.util.ULocale);
+    method public static boolean isAvailable(String, java.util.Date, java.util.Date);
+    method public java.util.Currency toJavaCurrency();
+    field public static final int LONG_NAME = 1; // 0x1
+    field public static final int NARROW_SYMBOL_NAME = 3; // 0x3
+    field public static final int PLURAL_LONG_NAME = 2; // 0x2
+    field public static final int SYMBOL_NAME = 0; // 0x0
+  }
+
+  public enum Currency.CurrencyUsage {
+    enum_constant public static final android.icu.util.Currency.CurrencyUsage CASH;
+    enum_constant public static final android.icu.util.Currency.CurrencyUsage STANDARD;
+  }
+
+  public class CurrencyAmount extends android.icu.util.Measure {
+    ctor public CurrencyAmount(Number, android.icu.util.Currency);
+    ctor public CurrencyAmount(double, android.icu.util.Currency);
+    ctor public CurrencyAmount(Number, java.util.Currency);
+    ctor public CurrencyAmount(double, java.util.Currency);
+    method public android.icu.util.Currency getCurrency();
+  }
+
+  public final class DateInterval implements java.io.Serializable {
+    ctor public DateInterval(long, long);
+    method public long getFromDate();
+    method public long getToDate();
+  }
+
+  public final class EthiopicCalendar extends android.icu.util.Calendar {
+    ctor public EthiopicCalendar();
+    ctor public EthiopicCalendar(android.icu.util.TimeZone);
+    ctor public EthiopicCalendar(java.util.Locale);
+    ctor public EthiopicCalendar(android.icu.util.ULocale);
+    ctor public EthiopicCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public EthiopicCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public EthiopicCalendar(int, int, int);
+    ctor public EthiopicCalendar(java.util.Date);
+    ctor public EthiopicCalendar(int, int, int, int, int, int);
+    method @Deprecated protected void handleComputeFields(int);
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method @Deprecated protected int handleGetExtendedYear();
+    method @Deprecated protected int handleGetLimit(int, int);
+    method public boolean isAmeteAlemEra();
+    method public void setAmeteAlemEra(boolean);
+    field public static final int GENBOT = 8; // 0x8
+    field public static final int HAMLE = 10; // 0xa
+    field public static final int HEDAR = 2; // 0x2
+    field public static final int MEGABIT = 6; // 0x6
+    field public static final int MESKEREM = 0; // 0x0
+    field public static final int MIAZIA = 7; // 0x7
+    field public static final int NEHASSE = 11; // 0xb
+    field public static final int PAGUMEN = 12; // 0xc
+    field public static final int SENE = 9; // 0x9
+    field public static final int TAHSAS = 3; // 0x3
+    field public static final int TEKEMT = 1; // 0x1
+    field public static final int TER = 4; // 0x4
+    field public static final int YEKATIT = 5; // 0x5
+  }
+
+  public interface Freezable<T> extends java.lang.Cloneable {
+    method public T cloneAsThawed();
+    method public T freeze();
+    method public boolean isFrozen();
+  }
+
+  public class GregorianCalendar extends android.icu.util.Calendar {
+    ctor public GregorianCalendar();
+    ctor public GregorianCalendar(android.icu.util.TimeZone);
+    ctor public GregorianCalendar(java.util.Locale);
+    ctor public GregorianCalendar(android.icu.util.ULocale);
+    ctor public GregorianCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public GregorianCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public GregorianCalendar(int, int, int);
+    ctor public GregorianCalendar(int, int, int, int, int);
+    ctor public GregorianCalendar(int, int, int, int, int, int);
+    method public final java.util.Date getGregorianChange();
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+    method public boolean isLeapYear(int);
+    method public void setGregorianChange(java.util.Date);
+    field public static final int AD = 1; // 0x1
+    field public static final int BC = 0; // 0x0
+    field protected transient boolean invertGregorian;
+    field protected transient boolean isGregorian;
+  }
+
+  public class HebrewCalendar extends android.icu.util.Calendar {
+    ctor public HebrewCalendar();
+    ctor public HebrewCalendar(android.icu.util.TimeZone);
+    ctor public HebrewCalendar(java.util.Locale);
+    ctor public HebrewCalendar(android.icu.util.ULocale);
+    ctor public HebrewCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public HebrewCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public HebrewCalendar(int, int, int);
+    ctor public HebrewCalendar(java.util.Date);
+    ctor public HebrewCalendar(int, int, int, int, int, int);
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+    method @Deprecated protected void validateField(int);
+    field public static final int ADAR = 6; // 0x6
+    field public static final int ADAR_1 = 5; // 0x5
+    field public static final int AV = 11; // 0xb
+    field public static final int ELUL = 12; // 0xc
+    field public static final int HESHVAN = 1; // 0x1
+    field public static final int IYAR = 8; // 0x8
+    field public static final int KISLEV = 2; // 0x2
+    field public static final int NISAN = 7; // 0x7
+    field public static final int SHEVAT = 4; // 0x4
+    field public static final int SIVAN = 9; // 0x9
+    field public static final int TAMUZ = 10; // 0xa
+    field public static final int TEVET = 3; // 0x3
+    field public static final int TISHRI = 0; // 0x0
+  }
+
+  public class ICUUncheckedIOException extends java.lang.RuntimeException {
+    ctor public ICUUncheckedIOException();
+    ctor public ICUUncheckedIOException(String);
+    ctor public ICUUncheckedIOException(Throwable);
+    ctor public ICUUncheckedIOException(String, Throwable);
+  }
+
+  public class IllformedLocaleException extends java.lang.RuntimeException {
+    ctor public IllformedLocaleException();
+    ctor public IllformedLocaleException(String);
+    ctor public IllformedLocaleException(String, int);
+    method public int getErrorIndex();
+  }
+
+  public class IndianCalendar extends android.icu.util.Calendar {
+    ctor public IndianCalendar();
+    ctor public IndianCalendar(android.icu.util.TimeZone);
+    ctor public IndianCalendar(java.util.Locale);
+    ctor public IndianCalendar(android.icu.util.ULocale);
+    ctor public IndianCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public IndianCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public IndianCalendar(java.util.Date);
+    ctor public IndianCalendar(int, int, int);
+    ctor public IndianCalendar(int, int, int, int, int, int);
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+    field public static final int AGRAHAYANA = 8; // 0x8
+    field public static final int ASADHA = 3; // 0x3
+    field public static final int ASVINA = 6; // 0x6
+    field public static final int BHADRA = 5; // 0x5
+    field public static final int CHAITRA = 0; // 0x0
+    field public static final int IE = 0; // 0x0
+    field public static final int JYAISTHA = 2; // 0x2
+    field public static final int KARTIKA = 7; // 0x7
+    field public static final int MAGHA = 10; // 0xa
+    field public static final int PAUSA = 9; // 0x9
+    field public static final int PHALGUNA = 11; // 0xb
+    field public static final int SRAVANA = 4; // 0x4
+    field public static final int VAISAKHA = 1; // 0x1
+  }
+
+  public class IslamicCalendar extends android.icu.util.Calendar {
+    ctor public IslamicCalendar();
+    ctor public IslamicCalendar(android.icu.util.TimeZone);
+    ctor public IslamicCalendar(java.util.Locale);
+    ctor public IslamicCalendar(android.icu.util.ULocale);
+    ctor public IslamicCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public IslamicCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public IslamicCalendar(java.util.Date);
+    ctor public IslamicCalendar(int, int, int);
+    ctor public IslamicCalendar(int, int, int, int, int, int);
+    method public android.icu.util.IslamicCalendar.CalculationType getCalculationType();
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+    method public void setCalculationType(android.icu.util.IslamicCalendar.CalculationType);
+    field public static final int DHU_AL_HIJJAH = 11; // 0xb
+    field public static final int DHU_AL_QIDAH = 10; // 0xa
+    field public static final int JUMADA_1 = 4; // 0x4
+    field public static final int JUMADA_2 = 5; // 0x5
+    field public static final int MUHARRAM = 0; // 0x0
+    field public static final int RABI_1 = 2; // 0x2
+    field public static final int RABI_2 = 3; // 0x3
+    field public static final int RAJAB = 6; // 0x6
+    field public static final int RAMADAN = 8; // 0x8
+    field public static final int SAFAR = 1; // 0x1
+    field public static final int SHABAN = 7; // 0x7
+    field public static final int SHAWWAL = 9; // 0x9
+  }
+
+  public enum IslamicCalendar.CalculationType {
+    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC;
+    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC_CIVIL;
+    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC_TBLA;
+    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC_UMALQURA;
+  }
+
+  public class JapaneseCalendar extends android.icu.util.GregorianCalendar {
+    ctor public JapaneseCalendar();
+    ctor public JapaneseCalendar(android.icu.util.TimeZone);
+    ctor public JapaneseCalendar(java.util.Locale);
+    ctor public JapaneseCalendar(android.icu.util.ULocale);
+    ctor public JapaneseCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public JapaneseCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public JapaneseCalendar(java.util.Date);
+    ctor public JapaneseCalendar(int, int, int, int);
+    ctor public JapaneseCalendar(int, int, int);
+    ctor public JapaneseCalendar(int, int, int, int, int, int);
+    field public static final int HEISEI;
+    field public static final int MEIJI;
+    field public static final int REIWA;
+    field public static final int SHOWA;
+    field public static final int TAISHO;
+  }
+
+  public final class LocaleData {
+    method public static android.icu.util.VersionInfo getCLDRVersion();
+    method public String getDelimiter(int);
+    method public static android.icu.util.LocaleData getInstance(android.icu.util.ULocale);
+    method public static android.icu.util.LocaleData getInstance();
+    method public static android.icu.util.LocaleData.MeasurementSystem getMeasurementSystem(android.icu.util.ULocale);
+    method public boolean getNoSubstitute();
+    method public static android.icu.util.LocaleData.PaperSize getPaperSize(android.icu.util.ULocale);
+    method public void setNoSubstitute(boolean);
+    field public static final int ALT_QUOTATION_END = 3; // 0x3
+    field public static final int ALT_QUOTATION_START = 2; // 0x2
+    field public static final int QUOTATION_END = 1; // 0x1
+    field public static final int QUOTATION_START = 0; // 0x0
+  }
+
+  public static final class LocaleData.MeasurementSystem {
+    field public static final android.icu.util.LocaleData.MeasurementSystem SI;
+    field public static final android.icu.util.LocaleData.MeasurementSystem UK;
+    field public static final android.icu.util.LocaleData.MeasurementSystem US;
+  }
+
+  public static final class LocaleData.PaperSize {
+    method public int getHeight();
+    method public int getWidth();
+  }
+
+  public class Measure {
+    ctor public Measure(Number, android.icu.util.MeasureUnit);
+    method public Number getNumber();
+    method public android.icu.util.MeasureUnit getUnit();
+  }
+
+  public class MeasureUnit implements java.io.Serializable {
+    method public static java.util.Set<android.icu.util.MeasureUnit> getAvailable(String);
+    method public static java.util.Set<android.icu.util.MeasureUnit> getAvailable();
+    method public static java.util.Set<java.lang.String> getAvailableTypes();
+    method public String getSubtype();
+    method public String getType();
+    field public static final android.icu.util.MeasureUnit ACRE;
+    field public static final android.icu.util.MeasureUnit ACRE_FOOT;
+    field public static final android.icu.util.MeasureUnit AMPERE;
+    field public static final android.icu.util.MeasureUnit ARC_MINUTE;
+    field public static final android.icu.util.MeasureUnit ARC_SECOND;
+    field public static final android.icu.util.MeasureUnit ASTRONOMICAL_UNIT;
+    field public static final android.icu.util.MeasureUnit ATMOSPHERE;
+    field public static final android.icu.util.MeasureUnit BIT;
+    field public static final android.icu.util.MeasureUnit BUSHEL;
+    field public static final android.icu.util.MeasureUnit BYTE;
+    field public static final android.icu.util.MeasureUnit CALORIE;
+    field public static final android.icu.util.MeasureUnit CARAT;
+    field public static final android.icu.util.MeasureUnit CELSIUS;
+    field public static final android.icu.util.MeasureUnit CENTILITER;
+    field public static final android.icu.util.MeasureUnit CENTIMETER;
+    field public static final android.icu.util.MeasureUnit CENTURY;
+    field public static final android.icu.util.MeasureUnit CUBIC_CENTIMETER;
+    field public static final android.icu.util.MeasureUnit CUBIC_FOOT;
+    field public static final android.icu.util.MeasureUnit CUBIC_INCH;
+    field public static final android.icu.util.MeasureUnit CUBIC_KILOMETER;
+    field public static final android.icu.util.MeasureUnit CUBIC_METER;
+    field public static final android.icu.util.MeasureUnit CUBIC_MILE;
+    field public static final android.icu.util.MeasureUnit CUBIC_YARD;
+    field public static final android.icu.util.MeasureUnit CUP;
+    field public static final android.icu.util.MeasureUnit CUP_METRIC;
+    field public static final android.icu.util.TimeUnit DAY;
+    field public static final android.icu.util.MeasureUnit DECADE;
+    field public static final android.icu.util.MeasureUnit DECILITER;
+    field public static final android.icu.util.MeasureUnit DECIMETER;
+    field public static final android.icu.util.MeasureUnit DEGREE;
+    field public static final android.icu.util.MeasureUnit DOT_PER_CENTIMETER;
+    field public static final android.icu.util.MeasureUnit DOT_PER_INCH;
+    field public static final android.icu.util.MeasureUnit EM;
+    field public static final android.icu.util.MeasureUnit FAHRENHEIT;
+    field public static final android.icu.util.MeasureUnit FATHOM;
+    field public static final android.icu.util.MeasureUnit FLUID_OUNCE;
+    field public static final android.icu.util.MeasureUnit FOODCALORIE;
+    field public static final android.icu.util.MeasureUnit FOOT;
+    field public static final android.icu.util.MeasureUnit FURLONG;
+    field public static final android.icu.util.MeasureUnit GALLON;
+    field public static final android.icu.util.MeasureUnit GALLON_IMPERIAL;
+    field public static final android.icu.util.MeasureUnit GENERIC_TEMPERATURE;
+    field public static final android.icu.util.MeasureUnit GIGABIT;
+    field public static final android.icu.util.MeasureUnit GIGABYTE;
+    field public static final android.icu.util.MeasureUnit GIGAHERTZ;
+    field public static final android.icu.util.MeasureUnit GIGAWATT;
+    field public static final android.icu.util.MeasureUnit GRAM;
+    field public static final android.icu.util.MeasureUnit G_FORCE;
+    field public static final android.icu.util.MeasureUnit HECTARE;
+    field public static final android.icu.util.MeasureUnit HECTOLITER;
+    field public static final android.icu.util.MeasureUnit HECTOPASCAL;
+    field public static final android.icu.util.MeasureUnit HERTZ;
+    field public static final android.icu.util.MeasureUnit HORSEPOWER;
+    field public static final android.icu.util.TimeUnit HOUR;
+    field public static final android.icu.util.MeasureUnit INCH;
+    field public static final android.icu.util.MeasureUnit INCH_HG;
+    field public static final android.icu.util.MeasureUnit JOULE;
+    field public static final android.icu.util.MeasureUnit KARAT;
+    field public static final android.icu.util.MeasureUnit KELVIN;
+    field public static final android.icu.util.MeasureUnit KILOBIT;
+    field public static final android.icu.util.MeasureUnit KILOBYTE;
+    field public static final android.icu.util.MeasureUnit KILOCALORIE;
+    field public static final android.icu.util.MeasureUnit KILOGRAM;
+    field public static final android.icu.util.MeasureUnit KILOHERTZ;
+    field public static final android.icu.util.MeasureUnit KILOJOULE;
+    field public static final android.icu.util.MeasureUnit KILOMETER;
+    field public static final android.icu.util.MeasureUnit KILOMETER_PER_HOUR;
+    field public static final android.icu.util.MeasureUnit KILOWATT;
+    field public static final android.icu.util.MeasureUnit KILOWATT_HOUR;
+    field public static final android.icu.util.MeasureUnit KNOT;
+    field public static final android.icu.util.MeasureUnit LIGHT_YEAR;
+    field public static final android.icu.util.MeasureUnit LITER;
+    field public static final android.icu.util.MeasureUnit LITER_PER_100KILOMETERS;
+    field public static final android.icu.util.MeasureUnit LITER_PER_KILOMETER;
+    field public static final android.icu.util.MeasureUnit LUX;
+    field public static final android.icu.util.MeasureUnit MEGABIT;
+    field public static final android.icu.util.MeasureUnit MEGABYTE;
+    field public static final android.icu.util.MeasureUnit MEGAHERTZ;
+    field public static final android.icu.util.MeasureUnit MEGALITER;
+    field public static final android.icu.util.MeasureUnit MEGAPIXEL;
+    field public static final android.icu.util.MeasureUnit MEGAWATT;
+    field public static final android.icu.util.MeasureUnit METER;
+    field public static final android.icu.util.MeasureUnit METER_PER_SECOND;
+    field public static final android.icu.util.MeasureUnit METER_PER_SECOND_SQUARED;
+    field public static final android.icu.util.MeasureUnit METRIC_TON;
+    field public static final android.icu.util.MeasureUnit MICROGRAM;
+    field public static final android.icu.util.MeasureUnit MICROMETER;
+    field public static final android.icu.util.MeasureUnit MICROSECOND;
+    field public static final android.icu.util.MeasureUnit MILE;
+    field public static final android.icu.util.MeasureUnit MILE_PER_GALLON;
+    field public static final android.icu.util.MeasureUnit MILE_PER_GALLON_IMPERIAL;
+    field public static final android.icu.util.MeasureUnit MILE_PER_HOUR;
+    field public static final android.icu.util.MeasureUnit MILE_SCANDINAVIAN;
+    field public static final android.icu.util.MeasureUnit MILLIAMPERE;
+    field public static final android.icu.util.MeasureUnit MILLIBAR;
+    field public static final android.icu.util.MeasureUnit MILLIGRAM;
+    field public static final android.icu.util.MeasureUnit MILLIGRAM_PER_DECILITER;
+    field public static final android.icu.util.MeasureUnit MILLILITER;
+    field public static final android.icu.util.MeasureUnit MILLIMETER;
+    field public static final android.icu.util.MeasureUnit MILLIMETER_OF_MERCURY;
+    field public static final android.icu.util.MeasureUnit MILLIMOLE_PER_LITER;
+    field public static final android.icu.util.MeasureUnit MILLISECOND;
+    field public static final android.icu.util.MeasureUnit MILLIWATT;
+    field public static final android.icu.util.TimeUnit MINUTE;
+    field public static final android.icu.util.TimeUnit MONTH;
+    field public static final android.icu.util.MeasureUnit NANOMETER;
+    field public static final android.icu.util.MeasureUnit NANOSECOND;
+    field public static final android.icu.util.MeasureUnit NAUTICAL_MILE;
+    field public static final android.icu.util.MeasureUnit OHM;
+    field public static final android.icu.util.MeasureUnit OUNCE;
+    field public static final android.icu.util.MeasureUnit OUNCE_TROY;
+    field public static final android.icu.util.MeasureUnit PARSEC;
+    field public static final android.icu.util.MeasureUnit PART_PER_MILLION;
+    field public static final android.icu.util.MeasureUnit PERCENT;
+    field public static final android.icu.util.MeasureUnit PERMILLE;
+    field public static final android.icu.util.MeasureUnit PETABYTE;
+    field public static final android.icu.util.MeasureUnit PICOMETER;
+    field public static final android.icu.util.MeasureUnit PINT;
+    field public static final android.icu.util.MeasureUnit PINT_METRIC;
+    field public static final android.icu.util.MeasureUnit PIXEL;
+    field public static final android.icu.util.MeasureUnit PIXEL_PER_CENTIMETER;
+    field public static final android.icu.util.MeasureUnit PIXEL_PER_INCH;
+    field public static final android.icu.util.MeasureUnit POINT;
+    field public static final android.icu.util.MeasureUnit POUND;
+    field public static final android.icu.util.MeasureUnit POUND_PER_SQUARE_INCH;
+    field public static final android.icu.util.MeasureUnit QUART;
+    field public static final android.icu.util.MeasureUnit RADIAN;
+    field public static final android.icu.util.MeasureUnit REVOLUTION_ANGLE;
+    field public static final android.icu.util.TimeUnit SECOND;
+    field public static final android.icu.util.MeasureUnit SQUARE_CENTIMETER;
+    field public static final android.icu.util.MeasureUnit SQUARE_FOOT;
+    field public static final android.icu.util.MeasureUnit SQUARE_INCH;
+    field public static final android.icu.util.MeasureUnit SQUARE_KILOMETER;
+    field public static final android.icu.util.MeasureUnit SQUARE_METER;
+    field public static final android.icu.util.MeasureUnit SQUARE_MILE;
+    field public static final android.icu.util.MeasureUnit SQUARE_YARD;
+    field public static final android.icu.util.MeasureUnit STONE;
+    field public static final android.icu.util.MeasureUnit TABLESPOON;
+    field public static final android.icu.util.MeasureUnit TEASPOON;
+    field public static final android.icu.util.MeasureUnit TERABIT;
+    field public static final android.icu.util.MeasureUnit TERABYTE;
+    field public static final android.icu.util.MeasureUnit TON;
+    field public static final android.icu.util.MeasureUnit VOLT;
+    field public static final android.icu.util.MeasureUnit WATT;
+    field public static final android.icu.util.TimeUnit WEEK;
+    field public static final android.icu.util.MeasureUnit YARD;
+    field public static final android.icu.util.TimeUnit YEAR;
+  }
+
+  public class Output<T> {
+    ctor public Output();
+    ctor public Output(T);
+    field public T value;
+  }
+
+  public interface RangeValueIterator {
+    method public boolean next(android.icu.util.RangeValueIterator.Element);
+    method public void reset();
+  }
+
+  public static class RangeValueIterator.Element {
+    ctor public RangeValueIterator.Element();
+    field public int limit;
+    field public int start;
+    field public int value;
+  }
+
+  public class TaiwanCalendar extends android.icu.util.GregorianCalendar {
+    ctor public TaiwanCalendar();
+    ctor public TaiwanCalendar(android.icu.util.TimeZone);
+    ctor public TaiwanCalendar(java.util.Locale);
+    ctor public TaiwanCalendar(android.icu.util.ULocale);
+    ctor public TaiwanCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public TaiwanCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public TaiwanCalendar(java.util.Date);
+    ctor public TaiwanCalendar(int, int, int);
+    ctor public TaiwanCalendar(int, int, int, int, int, int);
+    field public static final int BEFORE_MINGUO = 0; // 0x0
+    field public static final int MINGUO = 1; // 0x1
+  }
+
+  public class TimeUnit extends android.icu.util.MeasureUnit {
+    method public static android.icu.util.TimeUnit[] values();
+  }
+
+  public abstract class TimeZone implements java.lang.Cloneable android.icu.util.Freezable<android.icu.util.TimeZone> java.io.Serializable {
+    ctor public TimeZone();
+    method public Object clone();
+    method public android.icu.util.TimeZone cloneAsThawed();
+    method public static int countEquivalentIDs(String);
+    method public android.icu.util.TimeZone freeze();
+    method public static java.util.Set<java.lang.String> getAvailableIDs(android.icu.util.TimeZone.SystemTimeZoneType, String, Integer);
+    method public static String[] getAvailableIDs(int);
+    method public static String[] getAvailableIDs(String);
+    method public static String[] getAvailableIDs();
+    method public static String getCanonicalID(String);
+    method public static String getCanonicalID(String, boolean[]);
+    method public int getDSTSavings();
+    method public static android.icu.util.TimeZone getDefault();
+    method public final String getDisplayName();
+    method public final String getDisplayName(java.util.Locale);
+    method public final String getDisplayName(android.icu.util.ULocale);
+    method public final String getDisplayName(boolean, int);
+    method public String getDisplayName(boolean, int, java.util.Locale);
+    method public String getDisplayName(boolean, int, android.icu.util.ULocale);
+    method public static String getEquivalentID(String, int);
+    method public static android.icu.util.TimeZone getFrozenTimeZone(String);
+    method public String getID();
+    method public static String getIDForWindowsID(String, String);
+    method public abstract int getOffset(int, int, int, int, int, int);
+    method public int getOffset(long);
+    method public void getOffset(long, boolean, int[]);
+    method public abstract int getRawOffset();
+    method public static String getRegion(String);
+    method public static String getTZDataVersion();
+    method public static android.icu.util.TimeZone getTimeZone(String);
+    method public static android.icu.util.TimeZone getTimeZone(String, int);
+    method public static String getWindowsID(String);
+    method public boolean hasSameRules(android.icu.util.TimeZone);
+    method public abstract boolean inDaylightTime(java.util.Date);
+    method public boolean isFrozen();
+    method public boolean observesDaylightTime();
+    method public void setID(String);
+    method public abstract void setRawOffset(int);
+    method public abstract boolean useDaylightTime();
+    field public static final int GENERIC_LOCATION = 7; // 0x7
+    field public static final android.icu.util.TimeZone GMT_ZONE;
+    field public static final int LONG = 1; // 0x1
+    field public static final int LONG_GENERIC = 3; // 0x3
+    field public static final int LONG_GMT = 5; // 0x5
+    field public static final int SHORT = 0; // 0x0
+    field public static final int SHORT_COMMONLY_USED = 6; // 0x6
+    field public static final int SHORT_GENERIC = 2; // 0x2
+    field public static final int SHORT_GMT = 4; // 0x4
+    field public static final int TIMEZONE_ICU = 0; // 0x0
+    field public static final int TIMEZONE_JDK = 1; // 0x1
+    field public static final android.icu.util.TimeZone UNKNOWN_ZONE;
+    field public static final String UNKNOWN_ZONE_ID = "Etc/Unknown";
+  }
+
+  public enum TimeZone.SystemTimeZoneType {
+    enum_constant public static final android.icu.util.TimeZone.SystemTimeZoneType ANY;
+    enum_constant public static final android.icu.util.TimeZone.SystemTimeZoneType CANONICAL;
+    enum_constant public static final android.icu.util.TimeZone.SystemTimeZoneType CANONICAL_LOCATION;
+  }
+
+  public final class ULocale implements java.lang.Comparable<android.icu.util.ULocale> java.io.Serializable {
+    ctor public ULocale(String);
+    ctor public ULocale(String, String);
+    ctor public ULocale(String, String, String);
+    method public static android.icu.util.ULocale acceptLanguage(String, android.icu.util.ULocale[], boolean[]);
+    method public static android.icu.util.ULocale acceptLanguage(android.icu.util.ULocale[], android.icu.util.ULocale[], boolean[]);
+    method public static android.icu.util.ULocale acceptLanguage(String, boolean[]);
+    method public static android.icu.util.ULocale acceptLanguage(android.icu.util.ULocale[], boolean[]);
+    method public static android.icu.util.ULocale addLikelySubtags(android.icu.util.ULocale);
+    method public static String canonicalize(String);
+    method public Object clone();
+    method public int compareTo(android.icu.util.ULocale);
+    method public static android.icu.util.ULocale createCanonical(String);
+    method public static android.icu.util.ULocale forLanguageTag(String);
+    method public static android.icu.util.ULocale forLocale(java.util.Locale);
+    method public static android.icu.util.ULocale[] getAvailableLocales();
+    method public static java.util.Collection<android.icu.util.ULocale> getAvailableLocalesByType(android.icu.util.ULocale.AvailableType);
+    method public String getBaseName();
+    method public static String getBaseName(String);
+    method public String getCharacterOrientation();
+    method public String getCountry();
+    method public static String getCountry(String);
+    method public static android.icu.util.ULocale getDefault();
+    method public static android.icu.util.ULocale getDefault(android.icu.util.ULocale.Category);
+    method public String getDisplayCountry();
+    method public String getDisplayCountry(android.icu.util.ULocale);
+    method public static String getDisplayCountry(String, String);
+    method public static String getDisplayCountry(String, android.icu.util.ULocale);
+    method public static String getDisplayKeyword(String);
+    method public static String getDisplayKeyword(String, String);
+    method public static String getDisplayKeyword(String, android.icu.util.ULocale);
+    method public String getDisplayKeywordValue(String);
+    method public String getDisplayKeywordValue(String, android.icu.util.ULocale);
+    method public static String getDisplayKeywordValue(String, String, String);
+    method public static String getDisplayKeywordValue(String, String, android.icu.util.ULocale);
+    method public String getDisplayLanguage();
+    method public String getDisplayLanguage(android.icu.util.ULocale);
+    method public static String getDisplayLanguage(String, String);
+    method public static String getDisplayLanguage(String, android.icu.util.ULocale);
+    method public String getDisplayLanguageWithDialect();
+    method public String getDisplayLanguageWithDialect(android.icu.util.ULocale);
+    method public static String getDisplayLanguageWithDialect(String, String);
+    method public static String getDisplayLanguageWithDialect(String, android.icu.util.ULocale);
+    method public String getDisplayName();
+    method public String getDisplayName(android.icu.util.ULocale);
+    method public static String getDisplayName(String, String);
+    method public static String getDisplayName(String, android.icu.util.ULocale);
+    method public String getDisplayNameWithDialect();
+    method public String getDisplayNameWithDialect(android.icu.util.ULocale);
+    method public static String getDisplayNameWithDialect(String, String);
+    method public static String getDisplayNameWithDialect(String, android.icu.util.ULocale);
+    method public String getDisplayScript();
+    method public String getDisplayScript(android.icu.util.ULocale);
+    method public static String getDisplayScript(String, String);
+    method public static String getDisplayScript(String, android.icu.util.ULocale);
+    method public String getDisplayVariant();
+    method public String getDisplayVariant(android.icu.util.ULocale);
+    method public static String getDisplayVariant(String, String);
+    method public static String getDisplayVariant(String, android.icu.util.ULocale);
+    method public String getExtension(char);
+    method public java.util.Set<java.lang.Character> getExtensionKeys();
+    method public static String getFallback(String);
+    method public android.icu.util.ULocale getFallback();
+    method public String getISO3Country();
+    method public static String getISO3Country(String);
+    method public String getISO3Language();
+    method public static String getISO3Language(String);
+    method public static String[] getISOCountries();
+    method public static String[] getISOLanguages();
+    method public String getKeywordValue(String);
+    method public static String getKeywordValue(String, String);
+    method public java.util.Iterator<java.lang.String> getKeywords();
+    method public static java.util.Iterator<java.lang.String> getKeywords(String);
+    method public String getLanguage();
+    method public static String getLanguage(String);
+    method public String getLineOrientation();
+    method public String getName();
+    method public static String getName(String);
+    method public String getScript();
+    method public static String getScript(String);
+    method public java.util.Set<java.lang.String> getUnicodeLocaleAttributes();
+    method public java.util.Set<java.lang.String> getUnicodeLocaleKeys();
+    method public String getUnicodeLocaleType(String);
+    method public String getVariant();
+    method public static String getVariant(String);
+    method public boolean isRightToLeft();
+    method public static android.icu.util.ULocale minimizeSubtags(android.icu.util.ULocale);
+    method public android.icu.util.ULocale setKeywordValue(String, String);
+    method public static String setKeywordValue(String, String, String);
+    method public String toLanguageTag();
+    method public static String toLegacyKey(String);
+    method public static String toLegacyType(String, String);
+    method public java.util.Locale toLocale();
+    method public static String toUnicodeLocaleKey(String);
+    method public static String toUnicodeLocaleType(String, String);
+    field public static final android.icu.util.ULocale CANADA;
+    field public static final android.icu.util.ULocale CANADA_FRENCH;
+    field public static final android.icu.util.ULocale CHINA;
+    field public static final android.icu.util.ULocale CHINESE;
+    field public static final android.icu.util.ULocale ENGLISH;
+    field public static final android.icu.util.ULocale FRANCE;
+    field public static final android.icu.util.ULocale FRENCH;
+    field public static final android.icu.util.ULocale GERMAN;
+    field public static final android.icu.util.ULocale GERMANY;
+    field public static final android.icu.util.ULocale ITALIAN;
+    field public static final android.icu.util.ULocale ITALY;
+    field public static final android.icu.util.ULocale JAPAN;
+    field public static final android.icu.util.ULocale JAPANESE;
+    field public static final android.icu.util.ULocale KOREA;
+    field public static final android.icu.util.ULocale KOREAN;
+    field public static final android.icu.util.ULocale PRC;
+    field public static final char PRIVATE_USE_EXTENSION = 120; // 0x0078 'x'
+    field public static final android.icu.util.ULocale ROOT;
+    field public static final android.icu.util.ULocale SIMPLIFIED_CHINESE;
+    field public static final android.icu.util.ULocale TAIWAN;
+    field public static final android.icu.util.ULocale TRADITIONAL_CHINESE;
+    field public static final android.icu.util.ULocale UK;
+    field public static final char UNICODE_LOCALE_EXTENSION = 117; // 0x0075 'u'
+    field public static final android.icu.util.ULocale US;
+  }
+
+  public enum ULocale.AvailableType {
+    enum_constant public static final android.icu.util.ULocale.AvailableType DEFAULT;
+    enum_constant public static final android.icu.util.ULocale.AvailableType ONLY_LEGACY_ALIASES;
+    enum_constant public static final android.icu.util.ULocale.AvailableType WITH_LEGACY_ALIASES;
+  }
+
+  public static final class ULocale.Builder {
+    ctor public ULocale.Builder();
+    method public android.icu.util.ULocale.Builder addUnicodeLocaleAttribute(String);
+    method public android.icu.util.ULocale build();
+    method public android.icu.util.ULocale.Builder clear();
+    method public android.icu.util.ULocale.Builder clearExtensions();
+    method public android.icu.util.ULocale.Builder removeUnicodeLocaleAttribute(String);
+    method public android.icu.util.ULocale.Builder setExtension(char, String);
+    method public android.icu.util.ULocale.Builder setLanguage(String);
+    method public android.icu.util.ULocale.Builder setLanguageTag(String);
+    method public android.icu.util.ULocale.Builder setLocale(android.icu.util.ULocale);
+    method public android.icu.util.ULocale.Builder setRegion(String);
+    method public android.icu.util.ULocale.Builder setScript(String);
+    method public android.icu.util.ULocale.Builder setUnicodeLocaleKeyword(String, String);
+    method public android.icu.util.ULocale.Builder setVariant(String);
+  }
+
+  public enum ULocale.Category {
+    enum_constant public static final android.icu.util.ULocale.Category DISPLAY;
+    enum_constant public static final android.icu.util.ULocale.Category FORMAT;
+  }
+
+  public final class UniversalTimeScale {
+    method public static android.icu.math.BigDecimal bigDecimalFrom(double, int);
+    method public static android.icu.math.BigDecimal bigDecimalFrom(long, int);
+    method public static android.icu.math.BigDecimal bigDecimalFrom(android.icu.math.BigDecimal, int);
+    method public static long from(long, int);
+    method public static long getTimeScaleValue(int, int);
+    method public static android.icu.math.BigDecimal toBigDecimal(long, int);
+    method public static android.icu.math.BigDecimal toBigDecimal(android.icu.math.BigDecimal, int);
+    method public static long toLong(long, int);
+    field public static final int DB2_TIME = 8; // 0x8
+    field public static final int DOTNET_DATE_TIME = 4; // 0x4
+    field public static final int EPOCH_OFFSET_PLUS_1_VALUE = 6; // 0x6
+    field public static final int EPOCH_OFFSET_VALUE = 1; // 0x1
+    field public static final int EXCEL_TIME = 7; // 0x7
+    field public static final int FROM_MAX_VALUE = 3; // 0x3
+    field public static final int FROM_MIN_VALUE = 2; // 0x2
+    field public static final int ICU4C_TIME = 2; // 0x2
+    field public static final int JAVA_TIME = 0; // 0x0
+    field public static final int MAC_OLD_TIME = 5; // 0x5
+    field public static final int MAC_TIME = 6; // 0x6
+    field @Deprecated public static final int MAX_SCALE = 10; // 0xa
+    field public static final int TO_MAX_VALUE = 5; // 0x5
+    field public static final int TO_MIN_VALUE = 4; // 0x4
+    field public static final int UNITS_VALUE = 0; // 0x0
+    field public static final int UNIX_MICROSECONDS_TIME = 9; // 0x9
+    field public static final int UNIX_TIME = 1; // 0x1
+    field public static final int WINDOWS_FILE_TIME = 3; // 0x3
+  }
+
+  public interface ValueIterator {
+    method public boolean next(android.icu.util.ValueIterator.Element);
+    method public void reset();
+    method public void setRange(int, int);
+  }
+
+  public static final class ValueIterator.Element {
+    ctor public ValueIterator.Element();
+    field public int integer;
+    field public Object value;
+  }
+
+  public final class VersionInfo implements java.lang.Comparable<android.icu.util.VersionInfo> {
+    method public int compareTo(android.icu.util.VersionInfo);
+    method public static android.icu.util.VersionInfo getInstance(String);
+    method public static android.icu.util.VersionInfo getInstance(int, int, int, int);
+    method public static android.icu.util.VersionInfo getInstance(int, int, int);
+    method public static android.icu.util.VersionInfo getInstance(int, int);
+    method public static android.icu.util.VersionInfo getInstance(int);
+    method public int getMajor();
+    method public int getMicro();
+    method public int getMilli();
+    method public int getMinor();
+    field public static final android.icu.util.VersionInfo ICU_VERSION;
+    field public static final android.icu.util.VersionInfo UCOL_BUILDER_VERSION;
+    field public static final android.icu.util.VersionInfo UCOL_RUNTIME_VERSION;
+    field public static final android.icu.util.VersionInfo UNICODE_10_0;
+    field public static final android.icu.util.VersionInfo UNICODE_11_0;
+    field public static final android.icu.util.VersionInfo UNICODE_12_0;
+    field public static final android.icu.util.VersionInfo UNICODE_12_1;
+    field public static final android.icu.util.VersionInfo UNICODE_13_0;
+    field public static final android.icu.util.VersionInfo UNICODE_1_0;
+    field public static final android.icu.util.VersionInfo UNICODE_1_0_1;
+    field public static final android.icu.util.VersionInfo UNICODE_1_1_0;
+    field public static final android.icu.util.VersionInfo UNICODE_1_1_5;
+    field public static final android.icu.util.VersionInfo UNICODE_2_0;
+    field public static final android.icu.util.VersionInfo UNICODE_2_1_2;
+    field public static final android.icu.util.VersionInfo UNICODE_2_1_5;
+    field public static final android.icu.util.VersionInfo UNICODE_2_1_8;
+    field public static final android.icu.util.VersionInfo UNICODE_2_1_9;
+    field public static final android.icu.util.VersionInfo UNICODE_3_0;
+    field public static final android.icu.util.VersionInfo UNICODE_3_0_1;
+    field public static final android.icu.util.VersionInfo UNICODE_3_1_0;
+    field public static final android.icu.util.VersionInfo UNICODE_3_1_1;
+    field public static final android.icu.util.VersionInfo UNICODE_3_2;
+    field public static final android.icu.util.VersionInfo UNICODE_4_0;
+    field public static final android.icu.util.VersionInfo UNICODE_4_0_1;
+    field public static final android.icu.util.VersionInfo UNICODE_4_1;
+    field public static final android.icu.util.VersionInfo UNICODE_5_0;
+    field public static final android.icu.util.VersionInfo UNICODE_5_1;
+    field public static final android.icu.util.VersionInfo UNICODE_5_2;
+    field public static final android.icu.util.VersionInfo UNICODE_6_0;
+    field public static final android.icu.util.VersionInfo UNICODE_6_1;
+    field public static final android.icu.util.VersionInfo UNICODE_6_2;
+    field public static final android.icu.util.VersionInfo UNICODE_6_3;
+    field public static final android.icu.util.VersionInfo UNICODE_7_0;
+    field public static final android.icu.util.VersionInfo UNICODE_8_0;
+    field public static final android.icu.util.VersionInfo UNICODE_9_0;
+  }
+
+}
+
+package android.inputmethodservice {
+
+  public abstract class AbstractInputMethodService extends android.app.Service implements android.view.KeyEvent.Callback {
+    ctor public AbstractInputMethodService();
+    method public android.view.KeyEvent.DispatcherState getKeyDispatcherState();
+    method public final boolean isUiContext();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl onCreateInputMethodInterface();
+    method public abstract android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl onCreateInputMethodSessionInterface();
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.view.MotionEvent);
+  }
+
+  public abstract class AbstractInputMethodService.AbstractInputMethodImpl implements android.view.inputmethod.InputMethod {
+    ctor public AbstractInputMethodService.AbstractInputMethodImpl();
+    method @MainThread public void createSession(android.view.inputmethod.InputMethod.SessionCallback);
+    method @MainThread public void revokeSession(android.view.inputmethod.InputMethodSession);
+    method @MainThread public void setSessionEnabled(android.view.inputmethod.InputMethodSession, boolean);
+  }
+
+  public abstract class AbstractInputMethodService.AbstractInputMethodSessionImpl implements android.view.inputmethod.InputMethodSession {
+    ctor public AbstractInputMethodService.AbstractInputMethodSessionImpl();
+    method public void dispatchGenericMotionEvent(int, android.view.MotionEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public void dispatchKeyEvent(int, android.view.KeyEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public void dispatchTrackballEvent(int, android.view.MotionEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public boolean isEnabled();
+    method public boolean isRevoked();
+    method public void revokeSelf();
+    method public void setEnabled(boolean);
+  }
+
+  public class ExtractEditText extends android.widget.EditText {
+    ctor public ExtractEditText(android.content.Context);
+    ctor public ExtractEditText(android.content.Context, android.util.AttributeSet);
+    ctor public ExtractEditText(android.content.Context, android.util.AttributeSet, int);
+    ctor public ExtractEditText(android.content.Context, android.util.AttributeSet, int, int);
+    method public void finishInternalChanges();
+    method public boolean hasVerticalScrollBar();
+    method public void startInternalChanges();
+  }
+
+  @UiContext public class InputMethodService extends android.inputmethodservice.AbstractInputMethodService {
+    ctor public InputMethodService();
+    method @Deprecated public boolean enableHardwareAcceleration();
+    method public int getBackDisposition();
+    method public int getCandidatesHiddenVisibility();
+    method public android.view.inputmethod.InputBinding getCurrentInputBinding();
+    method public android.view.inputmethod.InputConnection getCurrentInputConnection();
+    method public android.view.inputmethod.EditorInfo getCurrentInputEditorInfo();
+    method public boolean getCurrentInputStarted();
+    method @Deprecated public int getInputMethodWindowRecommendedHeight();
+    method public android.view.LayoutInflater getLayoutInflater();
+    method public int getMaxWidth();
+    method public CharSequence getTextForImeAction(int);
+    method public android.app.Dialog getWindow();
+    method public void hideStatusIcon();
+    method public void hideWindow();
+    method public boolean isExtractViewShown();
+    method public boolean isFullscreenMode();
+    method public boolean isInputViewShown();
+    method public boolean isShowInputRequested();
+    method public void onAppPrivateCommand(String, android.os.Bundle);
+    method public void onBindInput();
+    method public void onComputeInsets(android.inputmethodservice.InputMethodService.Insets);
+    method public void onConfigureWindow(android.view.Window, boolean, boolean);
+    method public android.view.View onCreateCandidatesView();
+    method public android.view.View onCreateExtractTextView();
+    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest onCreateInlineSuggestionsRequest(@NonNull android.os.Bundle);
+    method public android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl onCreateInputMethodInterface();
+    method public android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl onCreateInputMethodSessionInterface();
+    method public android.view.View onCreateInputView();
+    method protected void onCurrentInputMethodSubtypeChanged(android.view.inputmethod.InputMethodSubtype);
+    method public void onDisplayCompletions(android.view.inputmethod.CompletionInfo[]);
+    method public boolean onEvaluateFullscreenMode();
+    method @CallSuper public boolean onEvaluateInputViewShown();
+    method public boolean onExtractTextContextMenuItem(int);
+    method public void onExtractedCursorMovement(int, int);
+    method public void onExtractedSelectionChanged(int, int);
+    method public void onExtractedTextClicked();
+    method public void onExtractingInputChanged(android.view.inputmethod.EditorInfo);
+    method public void onFinishCandidatesView(boolean);
+    method public void onFinishInput();
+    method public void onFinishInputView(boolean);
+    method public void onInitializeInterface();
+    method public boolean onInlineSuggestionsResponse(@NonNull android.view.inputmethod.InlineSuggestionsResponse);
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public boolean onShowInputRequested(int, boolean);
+    method public void onStartCandidatesView(android.view.inputmethod.EditorInfo, boolean);
+    method public void onStartInput(android.view.inputmethod.EditorInfo, boolean);
+    method public void onStartInputView(android.view.inputmethod.EditorInfo, boolean);
+    method public void onUnbindInput();
+    method @Deprecated public void onUpdateCursor(android.graphics.Rect);
+    method public void onUpdateCursorAnchorInfo(android.view.inputmethod.CursorAnchorInfo);
+    method public void onUpdateExtractedText(int, android.view.inputmethod.ExtractedText);
+    method public void onUpdateExtractingViews(android.view.inputmethod.EditorInfo);
+    method public void onUpdateExtractingVisibility(android.view.inputmethod.EditorInfo);
+    method public void onUpdateSelection(int, int, int, int, int, int);
+    method @Deprecated public void onViewClicked(boolean);
+    method public void onWindowHidden();
+    method public void onWindowShown();
+    method public void requestHideSelf(int);
+    method public final void requestShowSelf(int);
+    method public boolean sendDefaultEditorAction(boolean);
+    method public void sendDownUpKeyEvents(int);
+    method public void sendKeyChar(char);
+    method public void setBackDisposition(int);
+    method public void setCandidatesView(android.view.View);
+    method public void setCandidatesViewShown(boolean);
+    method public void setExtractView(android.view.View);
+    method public void setExtractViewShown(boolean);
+    method public void setInputView(android.view.View);
+    method public final boolean shouldOfferSwitchingToNextInputMethod();
+    method public void showStatusIcon(@DrawableRes int);
+    method public void showWindow(boolean);
+    method public void switchInputMethod(String);
+    method public final void switchInputMethod(String, android.view.inputmethod.InputMethodSubtype);
+    method public final boolean switchToNextInputMethod(boolean);
+    method public final boolean switchToPreviousInputMethod();
+    method public void updateFullscreenMode();
+    method public void updateInputViewShown();
+    field public static final int BACK_DISPOSITION_ADJUST_NOTHING = 3; // 0x3
+    field public static final int BACK_DISPOSITION_DEFAULT = 0; // 0x0
+    field @Deprecated public static final int BACK_DISPOSITION_WILL_DISMISS = 2; // 0x2
+    field @Deprecated public static final int BACK_DISPOSITION_WILL_NOT_DISMISS = 1; // 0x1
+  }
+
+  public class InputMethodService.InputMethodImpl extends android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodImpl {
+    ctor public InputMethodService.InputMethodImpl();
+    method @MainThread public void attachToken(android.os.IBinder);
+    method @MainThread public void bindInput(android.view.inputmethod.InputBinding);
+    method @MainThread public void changeInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
+    method @MainThread public void hideSoftInput(int, android.os.ResultReceiver);
+    method @MainThread public void restartInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+    method @MainThread public void showSoftInput(int, android.os.ResultReceiver);
+    method @MainThread public void startInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+    method @MainThread public void unbindInput();
+  }
+
+  public class InputMethodService.InputMethodSessionImpl extends android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl {
+    ctor public InputMethodService.InputMethodSessionImpl();
+    method public void appPrivateCommand(String, android.os.Bundle);
+    method public void displayCompletions(android.view.inputmethod.CompletionInfo[]);
+    method public void finishInput();
+    method @Deprecated public void toggleSoftInput(int, int);
+    method public void updateCursor(android.graphics.Rect);
+    method public void updateCursorAnchorInfo(android.view.inputmethod.CursorAnchorInfo);
+    method public void updateExtractedText(int, android.view.inputmethod.ExtractedText);
+    method public void updateSelection(int, int, int, int, int, int);
+    method public void viewClicked(boolean);
+  }
+
+  public static final class InputMethodService.Insets {
+    ctor public InputMethodService.Insets();
+    field public static final int TOUCHABLE_INSETS_CONTENT = 1; // 0x1
+    field public static final int TOUCHABLE_INSETS_FRAME = 0; // 0x0
+    field public static final int TOUCHABLE_INSETS_REGION = 3; // 0x3
+    field public static final int TOUCHABLE_INSETS_VISIBLE = 2; // 0x2
+    field public int contentTopInsets;
+    field public int touchableInsets;
+    field public final android.graphics.Region touchableRegion;
+    field public int visibleTopInsets;
+  }
+
+  @Deprecated public class Keyboard {
+    ctor @Deprecated public Keyboard(android.content.Context, int);
+    ctor @Deprecated public Keyboard(android.content.Context, @XmlRes int, int, int, int);
+    ctor @Deprecated public Keyboard(android.content.Context, @XmlRes int, int);
+    ctor @Deprecated public Keyboard(android.content.Context, int, CharSequence, int, int);
+    method @Deprecated protected android.inputmethodservice.Keyboard.Key createKeyFromXml(android.content.res.Resources, android.inputmethodservice.Keyboard.Row, int, int, android.content.res.XmlResourceParser);
+    method @Deprecated protected android.inputmethodservice.Keyboard.Row createRowFromXml(android.content.res.Resources, android.content.res.XmlResourceParser);
+    method @Deprecated public int getHeight();
+    method @Deprecated protected int getHorizontalGap();
+    method @Deprecated protected int getKeyHeight();
+    method @Deprecated protected int getKeyWidth();
+    method @Deprecated public java.util.List<android.inputmethodservice.Keyboard.Key> getKeys();
+    method @Deprecated public int getMinWidth();
+    method @Deprecated public java.util.List<android.inputmethodservice.Keyboard.Key> getModifierKeys();
+    method @Deprecated public int[] getNearestKeys(int, int);
+    method @Deprecated public int getShiftKeyIndex();
+    method @Deprecated protected int getVerticalGap();
+    method @Deprecated public boolean isShifted();
+    method @Deprecated protected void setHorizontalGap(int);
+    method @Deprecated protected void setKeyHeight(int);
+    method @Deprecated protected void setKeyWidth(int);
+    method @Deprecated public boolean setShifted(boolean);
+    method @Deprecated protected void setVerticalGap(int);
+    field @Deprecated public static final int EDGE_BOTTOM = 8; // 0x8
+    field @Deprecated public static final int EDGE_LEFT = 1; // 0x1
+    field @Deprecated public static final int EDGE_RIGHT = 2; // 0x2
+    field @Deprecated public static final int EDGE_TOP = 4; // 0x4
+    field @Deprecated public static final int KEYCODE_ALT = -6; // 0xfffffffa
+    field @Deprecated public static final int KEYCODE_CANCEL = -3; // 0xfffffffd
+    field @Deprecated public static final int KEYCODE_DELETE = -5; // 0xfffffffb
+    field @Deprecated public static final int KEYCODE_DONE = -4; // 0xfffffffc
+    field @Deprecated public static final int KEYCODE_MODE_CHANGE = -2; // 0xfffffffe
+    field @Deprecated public static final int KEYCODE_SHIFT = -1; // 0xffffffff
+  }
+
+  @Deprecated public static class Keyboard.Key {
+    ctor @Deprecated public Keyboard.Key(android.inputmethodservice.Keyboard.Row);
+    ctor @Deprecated public Keyboard.Key(android.content.res.Resources, android.inputmethodservice.Keyboard.Row, int, int, android.content.res.XmlResourceParser);
+    method @Deprecated public int[] getCurrentDrawableState();
+    method @Deprecated public boolean isInside(int, int);
+    method @Deprecated public void onPressed();
+    method @Deprecated public void onReleased(boolean);
+    method @Deprecated public int squaredDistanceFrom(int, int);
+    field @Deprecated public int[] codes;
+    field @Deprecated public int edgeFlags;
+    field @Deprecated public int gap;
+    field @Deprecated public int height;
+    field @Deprecated public android.graphics.drawable.Drawable icon;
+    field @Deprecated public android.graphics.drawable.Drawable iconPreview;
+    field @Deprecated public CharSequence label;
+    field @Deprecated public boolean modifier;
+    field @Deprecated public boolean on;
+    field @Deprecated public CharSequence popupCharacters;
+    field @Deprecated public int popupResId;
+    field @Deprecated public boolean pressed;
+    field @Deprecated public boolean repeatable;
+    field @Deprecated public boolean sticky;
+    field @Deprecated public CharSequence text;
+    field @Deprecated public int width;
+    field @Deprecated public int x;
+    field @Deprecated public int y;
+  }
+
+  @Deprecated public static class Keyboard.Row {
+    ctor @Deprecated public Keyboard.Row(android.inputmethodservice.Keyboard);
+    ctor @Deprecated public Keyboard.Row(android.content.res.Resources, android.inputmethodservice.Keyboard, android.content.res.XmlResourceParser);
+    field @Deprecated public int defaultHeight;
+    field @Deprecated public int defaultHorizontalGap;
+    field @Deprecated public int defaultWidth;
+    field @Deprecated public int mode;
+    field @Deprecated public int rowEdgeFlags;
+    field @Deprecated public int verticalGap;
+  }
+
+  @Deprecated public class KeyboardView extends android.view.View implements android.view.View.OnClickListener {
+    ctor @Deprecated public KeyboardView(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public KeyboardView(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public KeyboardView(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public void closing();
+    method @Deprecated public android.inputmethodservice.Keyboard getKeyboard();
+    method @Deprecated protected android.inputmethodservice.KeyboardView.OnKeyboardActionListener getOnKeyboardActionListener();
+    method @Deprecated public boolean handleBack();
+    method @Deprecated public void invalidateAllKeys();
+    method @Deprecated public void invalidateKey(int);
+    method @Deprecated public boolean isPreviewEnabled();
+    method @Deprecated public boolean isProximityCorrectionEnabled();
+    method @Deprecated public boolean isShifted();
+    method public void onClick(android.view.View);
+    method @Deprecated public void onDetachedFromWindow();
+    method @Deprecated public void onDraw(android.graphics.Canvas);
+    method @Deprecated protected boolean onLongPress(android.inputmethodservice.Keyboard.Key);
+    method @Deprecated public void onMeasure(int, int);
+    method @Deprecated public void onSizeChanged(int, int, int, int);
+    method @Deprecated public void setKeyboard(android.inputmethodservice.Keyboard);
+    method @Deprecated public void setOnKeyboardActionListener(android.inputmethodservice.KeyboardView.OnKeyboardActionListener);
+    method @Deprecated public void setPopupOffset(int, int);
+    method @Deprecated public void setPopupParent(android.view.View);
+    method @Deprecated public void setPreviewEnabled(boolean);
+    method @Deprecated public void setProximityCorrectionEnabled(boolean);
+    method @Deprecated public boolean setShifted(boolean);
+    method @Deprecated public void setVerticalCorrection(int);
+    method @Deprecated protected void swipeDown();
+    method @Deprecated protected void swipeLeft();
+    method @Deprecated protected void swipeRight();
+    method @Deprecated protected void swipeUp();
+  }
+
+  @Deprecated public static interface KeyboardView.OnKeyboardActionListener {
+    method @Deprecated public void onKey(int, int[]);
+    method @Deprecated public void onPress(int);
+    method @Deprecated public void onRelease(int);
+    method @Deprecated public void onText(CharSequence);
+    method @Deprecated public void swipeDown();
+    method @Deprecated public void swipeLeft();
+    method @Deprecated public void swipeRight();
+    method @Deprecated public void swipeUp();
+  }
+
+}
+
+package android.location {
+
+  public class Address implements android.os.Parcelable {
+    ctor public Address(java.util.Locale);
+    method public void clearLatitude();
+    method public void clearLongitude();
+    method public int describeContents();
+    method public String getAddressLine(int);
+    method public String getAdminArea();
+    method public String getCountryCode();
+    method public String getCountryName();
+    method public android.os.Bundle getExtras();
+    method public String getFeatureName();
+    method public double getLatitude();
+    method public java.util.Locale getLocale();
+    method public String getLocality();
+    method public double getLongitude();
+    method public int getMaxAddressLineIndex();
+    method public String getPhone();
+    method public String getPostalCode();
+    method public String getPremises();
+    method public String getSubAdminArea();
+    method public String getSubLocality();
+    method public String getSubThoroughfare();
+    method public String getThoroughfare();
+    method public String getUrl();
+    method public boolean hasLatitude();
+    method public boolean hasLongitude();
+    method public void setAddressLine(int, String);
+    method public void setAdminArea(String);
+    method public void setCountryCode(String);
+    method public void setCountryName(String);
+    method public void setExtras(android.os.Bundle);
+    method public void setFeatureName(String);
+    method public void setLatitude(double);
+    method public void setLocality(String);
+    method public void setLongitude(double);
+    method public void setPhone(String);
+    method public void setPostalCode(String);
+    method public void setPremises(String);
+    method public void setSubAdminArea(String);
+    method public void setSubLocality(String);
+    method public void setSubThoroughfare(String);
+    method public void setThoroughfare(String);
+    method public void setUrl(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.Address> CREATOR;
+  }
+
+  public class Criteria implements android.os.Parcelable {
+    ctor public Criteria();
+    ctor public Criteria(android.location.Criteria);
+    method public int describeContents();
+    method public int getAccuracy();
+    method public int getBearingAccuracy();
+    method public int getHorizontalAccuracy();
+    method public int getPowerRequirement();
+    method public int getSpeedAccuracy();
+    method public int getVerticalAccuracy();
+    method public boolean isAltitudeRequired();
+    method public boolean isBearingRequired();
+    method public boolean isCostAllowed();
+    method public boolean isSpeedRequired();
+    method public void setAccuracy(int);
+    method public void setAltitudeRequired(boolean);
+    method public void setBearingAccuracy(int);
+    method public void setBearingRequired(boolean);
+    method public void setCostAllowed(boolean);
+    method public void setHorizontalAccuracy(int);
+    method public void setPowerRequirement(int);
+    method public void setSpeedAccuracy(int);
+    method public void setSpeedRequired(boolean);
+    method public void setVerticalAccuracy(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACCURACY_COARSE = 2; // 0x2
+    field public static final int ACCURACY_FINE = 1; // 0x1
+    field public static final int ACCURACY_HIGH = 3; // 0x3
+    field public static final int ACCURACY_LOW = 1; // 0x1
+    field public static final int ACCURACY_MEDIUM = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.Criteria> CREATOR;
+    field public static final int NO_REQUIREMENT = 0; // 0x0
+    field public static final int POWER_HIGH = 3; // 0x3
+    field public static final int POWER_LOW = 1; // 0x1
+    field public static final int POWER_MEDIUM = 2; // 0x2
+  }
+
+  public final class Geocoder {
+    ctor public Geocoder(android.content.Context, java.util.Locale);
+    ctor public Geocoder(android.content.Context);
+    method public java.util.List<android.location.Address> getFromLocation(double, double, int) throws java.io.IOException;
+    method public java.util.List<android.location.Address> getFromLocationName(String, int) throws java.io.IOException;
+    method public java.util.List<android.location.Address> getFromLocationName(String, int, double, double, double, double) throws java.io.IOException;
+    method public static boolean isPresent();
+  }
+
+  public final class GnssAntennaInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0f) public double getCarrierFrequencyMHz();
+    method @NonNull public android.location.GnssAntennaInfo.PhaseCenterOffset getPhaseCenterOffset();
+    method @Nullable public android.location.GnssAntennaInfo.SphericalCorrections getPhaseCenterVariationCorrections();
+    method @Nullable public android.location.GnssAntennaInfo.SphericalCorrections getSignalGainCorrections();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo> CREATOR;
+  }
+
+  public static class GnssAntennaInfo.Builder {
+    ctor @Deprecated public GnssAntennaInfo.Builder();
+    ctor public GnssAntennaInfo.Builder(double, @NonNull android.location.GnssAntennaInfo.PhaseCenterOffset);
+    ctor public GnssAntennaInfo.Builder(@NonNull android.location.GnssAntennaInfo);
+    method @NonNull public android.location.GnssAntennaInfo build();
+    method @NonNull public android.location.GnssAntennaInfo.Builder setCarrierFrequencyMHz(@FloatRange(from=0.0f) double);
+    method @NonNull public android.location.GnssAntennaInfo.Builder setPhaseCenterOffset(@NonNull android.location.GnssAntennaInfo.PhaseCenterOffset);
+    method @NonNull public android.location.GnssAntennaInfo.Builder setPhaseCenterVariationCorrections(@Nullable android.location.GnssAntennaInfo.SphericalCorrections);
+    method @NonNull public android.location.GnssAntennaInfo.Builder setSignalGainCorrections(@Nullable android.location.GnssAntennaInfo.SphericalCorrections);
+  }
+
+  public static interface GnssAntennaInfo.Listener {
+    method public void onGnssAntennaInfoReceived(@NonNull java.util.List<android.location.GnssAntennaInfo>);
+  }
+
+  public static final class GnssAntennaInfo.PhaseCenterOffset implements android.os.Parcelable {
+    ctor public GnssAntennaInfo.PhaseCenterOffset(double, double, double, double, double, double);
+    method public int describeContents();
+    method @FloatRange public double getXOffsetMm();
+    method @FloatRange public double getXOffsetUncertaintyMm();
+    method @FloatRange public double getYOffsetMm();
+    method @FloatRange public double getYOffsetUncertaintyMm();
+    method @FloatRange public double getZOffsetMm();
+    method @FloatRange public double getZOffsetUncertaintyMm();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.PhaseCenterOffset> CREATOR;
+  }
+
+  public static final class GnssAntennaInfo.SphericalCorrections implements android.os.Parcelable {
+    ctor public GnssAntennaInfo.SphericalCorrections(@NonNull double[][], @NonNull double[][]);
+    method public int describeContents();
+    method @NonNull public double[][] getCorrectionUncertaintiesArray();
+    method @NonNull public double[][] getCorrectionsArray();
+    method @FloatRange(from=0.0f, to=180.0f) public double getDeltaPhi();
+    method @FloatRange(from=0.0f, to=360.0f) public double getDeltaTheta();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssAntennaInfo.SphericalCorrections> CREATOR;
+  }
+
+  public final class GnssCapabilities implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean hasAntennaInfo();
+    method @Deprecated public boolean hasGnssAntennaInfo();
+    method public boolean hasMeasurements();
+    method public boolean hasNavigationMessages();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssCapabilities> CREATOR;
+  }
+
+  public static final class GnssCapabilities.Builder {
+    ctor public GnssCapabilities.Builder();
+    ctor public GnssCapabilities.Builder(@NonNull android.location.GnssCapabilities);
+    method @NonNull public android.location.GnssCapabilities build();
+    method @NonNull public android.location.GnssCapabilities.Builder setHasAntennaInfo(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurements(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasNavigationMessages(boolean);
+  }
+
+  public final class GnssClock implements android.os.Parcelable {
+    method public int describeContents();
+    method public double getBiasNanos();
+    method @FloatRange(from=0.0f) public double getBiasUncertaintyNanos();
+    method public double getDriftNanosPerSecond();
+    method @FloatRange(from=0.0f) public double getDriftUncertaintyNanosPerSecond();
+    method public long getElapsedRealtimeNanos();
+    method @FloatRange(from=0.0f) public double getElapsedRealtimeUncertaintyNanos();
+    method public long getFullBiasNanos();
+    method public int getHardwareClockDiscontinuityCount();
+    method public int getLeapSecond();
+    method @FloatRange(from=0.0) public double getReferenceCarrierFrequencyHzForIsb();
+    method @NonNull public String getReferenceCodeTypeForIsb();
+    method public int getReferenceConstellationTypeForIsb();
+    method public long getTimeNanos();
+    method @FloatRange(from=0.0f) public double getTimeUncertaintyNanos();
+    method public boolean hasBiasNanos();
+    method public boolean hasBiasUncertaintyNanos();
+    method public boolean hasDriftNanosPerSecond();
+    method public boolean hasDriftUncertaintyNanosPerSecond();
+    method public boolean hasElapsedRealtimeNanos();
+    method public boolean hasElapsedRealtimeUncertaintyNanos();
+    method public boolean hasFullBiasNanos();
+    method public boolean hasLeapSecond();
+    method public boolean hasReferenceCarrierFrequencyHzForIsb();
+    method public boolean hasReferenceCodeTypeForIsb();
+    method public boolean hasReferenceConstellationTypeForIsb();
+    method public boolean hasTimeUncertaintyNanos();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssClock> CREATOR;
+  }
+
+  public final class GnssMeasurement implements android.os.Parcelable {
+    method public int describeContents();
+    method public double getAccumulatedDeltaRangeMeters();
+    method public int getAccumulatedDeltaRangeState();
+    method public double getAccumulatedDeltaRangeUncertaintyMeters();
+    method public double getAutomaticGainControlLevelDb();
+    method @FloatRange(from=0, to=63) public double getBasebandCn0DbHz();
+    method @Deprecated public long getCarrierCycles();
+    method public float getCarrierFrequencyHz();
+    method @Deprecated public double getCarrierPhase();
+    method @Deprecated public double getCarrierPhaseUncertainty();
+    method @FloatRange(from=0, to=63) public double getCn0DbHz();
+    method @NonNull public String getCodeType();
+    method public int getConstellationType();
+    method public double getFullInterSignalBiasNanos();
+    method @FloatRange(from=0.0) public double getFullInterSignalBiasUncertaintyNanos();
+    method public int getMultipathIndicator();
+    method public double getPseudorangeRateMetersPerSecond();
+    method public double getPseudorangeRateUncertaintyMetersPerSecond();
+    method public long getReceivedSvTimeNanos();
+    method public long getReceivedSvTimeUncertaintyNanos();
+    method public double getSatelliteInterSignalBiasNanos();
+    method @FloatRange(from=0.0) public double getSatelliteInterSignalBiasUncertaintyNanos();
+    method public double getSnrInDb();
+    method public int getState();
+    method public int getSvid();
+    method public double getTimeOffsetNanos();
+    method public boolean hasAutomaticGainControlLevelDb();
+    method public boolean hasBasebandCn0DbHz();
+    method @Deprecated public boolean hasCarrierCycles();
+    method public boolean hasCarrierFrequencyHz();
+    method @Deprecated public boolean hasCarrierPhase();
+    method @Deprecated public boolean hasCarrierPhaseUncertainty();
+    method public boolean hasCodeType();
+    method public boolean hasFullInterSignalBiasNanos();
+    method public boolean hasFullInterSignalBiasUncertaintyNanos();
+    method public boolean hasSatelliteInterSignalBiasNanos();
+    method public boolean hasSatelliteInterSignalBiasUncertaintyNanos();
+    method public boolean hasSnrInDb();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ADR_STATE_CYCLE_SLIP = 4; // 0x4
+    field public static final int ADR_STATE_HALF_CYCLE_REPORTED = 16; // 0x10
+    field public static final int ADR_STATE_HALF_CYCLE_RESOLVED = 8; // 0x8
+    field public static final int ADR_STATE_RESET = 2; // 0x2
+    field public static final int ADR_STATE_UNKNOWN = 0; // 0x0
+    field public static final int ADR_STATE_VALID = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurement> CREATOR;
+    field public static final int MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
+    field public static final int MULTIPATH_INDICATOR_NOT_DETECTED = 2; // 0x2
+    field public static final int MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
+    field public static final int STATE_2ND_CODE_LOCK = 65536; // 0x10000
+    field public static final int STATE_BDS_D2_BIT_SYNC = 256; // 0x100
+    field public static final int STATE_BDS_D2_SUBFRAME_SYNC = 512; // 0x200
+    field public static final int STATE_BIT_SYNC = 2; // 0x2
+    field public static final int STATE_CODE_LOCK = 1; // 0x1
+    field public static final int STATE_GAL_E1BC_CODE_LOCK = 1024; // 0x400
+    field public static final int STATE_GAL_E1B_PAGE_SYNC = 4096; // 0x1000
+    field public static final int STATE_GAL_E1C_2ND_CODE_LOCK = 2048; // 0x800
+    field public static final int STATE_GLO_STRING_SYNC = 64; // 0x40
+    field public static final int STATE_GLO_TOD_DECODED = 128; // 0x80
+    field public static final int STATE_GLO_TOD_KNOWN = 32768; // 0x8000
+    field public static final int STATE_MSEC_AMBIGUOUS = 16; // 0x10
+    field public static final int STATE_SBAS_SYNC = 8192; // 0x2000
+    field public static final int STATE_SUBFRAME_SYNC = 4; // 0x4
+    field public static final int STATE_SYMBOL_SYNC = 32; // 0x20
+    field public static final int STATE_TOW_DECODED = 8; // 0x8
+    field public static final int STATE_TOW_KNOWN = 16384; // 0x4000
+    field public static final int STATE_UNKNOWN = 0; // 0x0
+  }
+
+  public final class GnssMeasurementRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isFullTracking();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurementRequest> CREATOR;
+  }
+
+  public static final class GnssMeasurementRequest.Builder {
+    ctor public GnssMeasurementRequest.Builder();
+    ctor public GnssMeasurementRequest.Builder(@NonNull android.location.GnssMeasurementRequest);
+    method @NonNull public android.location.GnssMeasurementRequest build();
+    method @NonNull public android.location.GnssMeasurementRequest.Builder setFullTracking(boolean);
+  }
+
+  public final class GnssMeasurementsEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.location.GnssClock getClock();
+    method @NonNull public java.util.Collection<android.location.GnssMeasurement> getMeasurements();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurementsEvent> CREATOR;
+  }
+
+  public abstract static class GnssMeasurementsEvent.Callback {
+    ctor public GnssMeasurementsEvent.Callback();
+    method public void onGnssMeasurementsReceived(android.location.GnssMeasurementsEvent);
+    method @Deprecated public void onStatusChanged(int);
+    field @Deprecated public static final int STATUS_LOCATION_DISABLED = 2; // 0x2
+    field @Deprecated public static final int STATUS_NOT_ALLOWED = 3; // 0x3
+    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
+    field @Deprecated public static final int STATUS_READY = 1; // 0x1
+  }
+
+  public final class GnssNavigationMessage implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public byte[] getData();
+    method @IntRange(from=0xffffffff, to=120) public int getMessageId();
+    method public int getStatus();
+    method @IntRange(from=1) public int getSubmessageId();
+    method @IntRange(from=1, to=200) public int getSvid();
+    method public int getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssNavigationMessage> CREATOR;
+    field public static final int STATUS_PARITY_PASSED = 1; // 0x1
+    field public static final int STATUS_PARITY_REBUILT = 2; // 0x2
+    field public static final int STATUS_UNKNOWN = 0; // 0x0
+    field public static final int TYPE_BDS_CNAV1 = 1283; // 0x503
+    field public static final int TYPE_BDS_CNAV2 = 1284; // 0x504
+    field public static final int TYPE_BDS_D1 = 1281; // 0x501
+    field public static final int TYPE_BDS_D2 = 1282; // 0x502
+    field public static final int TYPE_GAL_F = 1538; // 0x602
+    field public static final int TYPE_GAL_I = 1537; // 0x601
+    field public static final int TYPE_GLO_L1CA = 769; // 0x301
+    field public static final int TYPE_GPS_CNAV2 = 260; // 0x104
+    field public static final int TYPE_GPS_L1CA = 257; // 0x101
+    field public static final int TYPE_GPS_L2CNAV = 258; // 0x102
+    field public static final int TYPE_GPS_L5CNAV = 259; // 0x103
+    field public static final int TYPE_IRN_L5CA = 1793; // 0x701
+    field public static final int TYPE_QZS_L1CA = 1025; // 0x401
+    field public static final int TYPE_SBS = 513; // 0x201
+    field public static final int TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  public abstract static class GnssNavigationMessage.Callback {
+    ctor public GnssNavigationMessage.Callback();
+    method public void onGnssNavigationMessageReceived(android.location.GnssNavigationMessage);
+    method @Deprecated public void onStatusChanged(int);
+    field @Deprecated public static final int STATUS_LOCATION_DISABLED = 2; // 0x2
+    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
+    field @Deprecated public static final int STATUS_READY = 1; // 0x1
+  }
+
+  public final class GnssStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0, to=360) public float getAzimuthDegrees(@IntRange(from=0) int);
+    method @FloatRange(from=0, to=63) public float getBasebandCn0DbHz(@IntRange(from=0) int);
+    method @FloatRange(from=0) public float getCarrierFrequencyHz(@IntRange(from=0) int);
+    method @FloatRange(from=0, to=63) public float getCn0DbHz(@IntRange(from=0) int);
+    method public int getConstellationType(@IntRange(from=0) int);
+    method @FloatRange(from=0xffffffa6, to=90) public float getElevationDegrees(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getSatelliteCount();
+    method @IntRange(from=1, to=200) public int getSvid(@IntRange(from=0) int);
+    method public boolean hasAlmanacData(@IntRange(from=0) int);
+    method public boolean hasBasebandCn0DbHz(@IntRange(from=0) int);
+    method public boolean hasCarrierFrequencyHz(@IntRange(from=0) int);
+    method public boolean hasEphemerisData(@IntRange(from=0) int);
+    method public boolean usedInFix(@IntRange(from=0) int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CONSTELLATION_BEIDOU = 5; // 0x5
+    field public static final int CONSTELLATION_GALILEO = 6; // 0x6
+    field public static final int CONSTELLATION_GLONASS = 3; // 0x3
+    field public static final int CONSTELLATION_GPS = 1; // 0x1
+    field public static final int CONSTELLATION_IRNSS = 7; // 0x7
+    field public static final int CONSTELLATION_QZSS = 4; // 0x4
+    field public static final int CONSTELLATION_SBAS = 2; // 0x2
+    field public static final int CONSTELLATION_UNKNOWN = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssStatus> CREATOR;
+  }
+
+  public static final class GnssStatus.Builder {
+    ctor public GnssStatus.Builder();
+    method @NonNull public android.location.GnssStatus.Builder addSatellite(int, @IntRange(from=1, to=200) int, @FloatRange(from=0, to=63) float, @FloatRange(from=0xffffffa6, to=90) float, @FloatRange(from=0, to=360) float, boolean, boolean, boolean, boolean, @FloatRange(from=0) float, boolean, @FloatRange(from=0, to=63) float);
+    method @NonNull public android.location.GnssStatus build();
+    method @NonNull public android.location.GnssStatus.Builder clearSatellites();
+  }
+
+  public abstract static class GnssStatus.Callback {
+    ctor public GnssStatus.Callback();
+    method public void onFirstFix(int);
+    method public void onSatelliteStatusChanged(@NonNull android.location.GnssStatus);
+    method public void onStarted();
+    method public void onStopped();
+  }
+
+  @Deprecated public final class GpsSatellite {
+    method @Deprecated public float getAzimuth();
+    method @Deprecated public float getElevation();
+    method @Deprecated public int getPrn();
+    method @Deprecated public float getSnr();
+    method @Deprecated public boolean hasAlmanac();
+    method @Deprecated public boolean hasEphemeris();
+    method @Deprecated public boolean usedInFix();
+  }
+
+  @Deprecated public final class GpsStatus {
+    method @Deprecated @NonNull public static android.location.GpsStatus create(@NonNull android.location.GnssStatus, int);
+    method @Deprecated public int getMaxSatellites();
+    method @Deprecated public Iterable<android.location.GpsSatellite> getSatellites();
+    method @Deprecated public int getTimeToFirstFix();
+    field @Deprecated public static final int GPS_EVENT_FIRST_FIX = 3; // 0x3
+    field @Deprecated public static final int GPS_EVENT_SATELLITE_STATUS = 4; // 0x4
+    field @Deprecated public static final int GPS_EVENT_STARTED = 1; // 0x1
+    field @Deprecated public static final int GPS_EVENT_STOPPED = 2; // 0x2
+  }
+
+  @Deprecated public static interface GpsStatus.Listener {
+    method @Deprecated public void onGpsStatusChanged(int);
+  }
+
+  @Deprecated public static interface GpsStatus.NmeaListener {
+    method @Deprecated public void onNmeaReceived(long, String);
+  }
+
+  public class Location implements android.os.Parcelable {
+    ctor public Location(String);
+    ctor public Location(android.location.Location);
+    method public float bearingTo(android.location.Location);
+    method public static String convert(double, int);
+    method public static double convert(String);
+    method public int describeContents();
+    method public static void distanceBetween(double, double, double, double, float[]);
+    method public float distanceTo(android.location.Location);
+    method public void dump(android.util.Printer, String);
+    method public float getAccuracy();
+    method public double getAltitude();
+    method public float getBearing();
+    method public float getBearingAccuracyDegrees();
+    method public long getElapsedRealtimeNanos();
+    method public double getElapsedRealtimeUncertaintyNanos();
+    method public android.os.Bundle getExtras();
+    method public double getLatitude();
+    method public double getLongitude();
+    method public String getProvider();
+    method public float getSpeed();
+    method public float getSpeedAccuracyMetersPerSecond();
+    method public long getTime();
+    method public float getVerticalAccuracyMeters();
+    method public boolean hasAccuracy();
+    method public boolean hasAltitude();
+    method public boolean hasBearing();
+    method public boolean hasBearingAccuracy();
+    method public boolean hasElapsedRealtimeUncertaintyNanos();
+    method public boolean hasSpeed();
+    method public boolean hasSpeedAccuracy();
+    method public boolean hasVerticalAccuracy();
+    method @Deprecated public boolean isFromMockProvider();
+    method public boolean isMock();
+    method @Deprecated public void removeAccuracy();
+    method @Deprecated public void removeAltitude();
+    method @Deprecated public void removeBearing();
+    method @Deprecated public void removeSpeed();
+    method public void reset();
+    method public void set(android.location.Location);
+    method public void setAccuracy(float);
+    method public void setAltitude(double);
+    method public void setBearing(float);
+    method public void setBearingAccuracyDegrees(float);
+    method public void setElapsedRealtimeNanos(long);
+    method public void setElapsedRealtimeUncertaintyNanos(double);
+    method public void setExtras(@Nullable android.os.Bundle);
+    method public void setLatitude(double);
+    method public void setLongitude(double);
+    method public void setMock(boolean);
+    method public void setProvider(String);
+    method public void setSpeed(float);
+    method public void setSpeedAccuracyMetersPerSecond(float);
+    method public void setTime(long);
+    method public void setVerticalAccuracyMeters(float);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.Location> CREATOR;
+    field public static final int FORMAT_DEGREES = 0; // 0x0
+    field public static final int FORMAT_MINUTES = 1; // 0x1
+    field public static final int FORMAT_SECONDS = 2; // 0x2
+  }
+
+  public interface LocationListener {
+    method public default void onFlushComplete(int);
+    method public void onLocationChanged(@NonNull android.location.Location);
+    method public default void onLocationChanged(@NonNull java.util.List<android.location.Location>);
+    method public default void onProviderDisabled(@NonNull String);
+    method public default void onProviderEnabled(@NonNull String);
+    method @Deprecated public default void onStatusChanged(String, int, android.os.Bundle);
+  }
+
+  public class LocationManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addGpsStatusListener(android.location.GpsStatus.Listener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.GpsStatus.NmeaListener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.OnNmeaMessageListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.OnNmeaMessageListener, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.OnNmeaMessageListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void addProximityAlert(double, double, float, long, @NonNull android.app.PendingIntent);
+    method public void addTestProvider(@NonNull String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int);
+    method public void addTestProvider(@NonNull String, @NonNull android.location.provider.ProviderProperties);
+    method public void addTestProvider(@NonNull String, @NonNull android.location.provider.ProviderProperties, @NonNull java.util.Set<java.lang.String>);
+    method @Deprecated public void clearTestProviderEnabled(@NonNull String);
+    method @Deprecated public void clearTestProviderLocation(@NonNull String);
+    method @Deprecated public void clearTestProviderStatus(@NonNull String);
+    method @NonNull public java.util.List<java.lang.String> getAllProviders();
+    method @Nullable public String getBestProvider(@NonNull android.location.Criteria, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull String, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Location>);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull String, @NonNull android.location.LocationRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Location>);
+    method @Nullable public java.util.List<android.location.GnssAntennaInfo> getGnssAntennaInfos();
+    method @NonNull public android.location.GnssCapabilities getGnssCapabilities();
+    method @Nullable public String getGnssHardwareModelName();
+    method public int getGnssYearOfHardware();
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.location.GpsStatus getGpsStatus(@Nullable android.location.GpsStatus);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.location.Location getLastKnownLocation(@NonNull String);
+    method @Deprecated @Nullable public android.location.LocationProvider getProvider(@NonNull String);
+    method @Nullable public android.location.provider.ProviderProperties getProviderProperties(@NonNull String);
+    method @NonNull public java.util.List<java.lang.String> getProviders(boolean);
+    method @NonNull public java.util.List<java.lang.String> getProviders(@NonNull android.location.Criteria, boolean);
+    method public boolean hasProvider(@NonNull String);
+    method public boolean isLocationEnabled();
+    method public boolean isProviderEnabled(@NonNull String);
+    method public boolean registerAntennaInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssAntennaInfo.Listener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
+    method @Deprecated public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssNavigationMessageCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssNavigationMessage.Callback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull android.location.GnssStatus.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull android.location.GnssStatus.Callback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull java.util.concurrent.Executor, @NonNull android.location.GnssStatus.Callback);
+    method @Deprecated public void removeGpsStatusListener(android.location.GpsStatus.Listener);
+    method @Deprecated public void removeNmeaListener(@NonNull android.location.GpsStatus.NmeaListener);
+    method public void removeNmeaListener(@NonNull android.location.OnNmeaMessageListener);
+    method @RequiresPermission(anyOf={"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}, apis="..22") public void removeProximityAlert(@NonNull android.app.PendingIntent);
+    method public void removeTestProvider(@NonNull String);
+    method @RequiresPermission(anyOf={"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}, apis="..22") public void removeUpdates(@NonNull android.location.LocationListener);
+    method public void removeUpdates(@NonNull android.app.PendingIntent);
+    method public void requestFlush(@NonNull String, @NonNull android.location.LocationListener, int);
+    method public void requestFlush(@NonNull String, @NonNull android.app.PendingIntent, int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.location.LocationListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.app.PendingIntent);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, @NonNull android.location.LocationRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, @NonNull android.location.LocationRequest, @NonNull android.app.PendingIntent);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull String, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull android.location.Criteria, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull String, @NonNull android.app.PendingIntent);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull android.location.Criteria, @NonNull android.app.PendingIntent);
+    method public boolean sendExtraCommand(@NonNull String, @NonNull String, @Nullable android.os.Bundle);
+    method public void setTestProviderEnabled(@NonNull String, boolean);
+    method public void setTestProviderLocation(@NonNull String, @NonNull android.location.Location);
+    method @Deprecated public void setTestProviderStatus(@NonNull String, int, @Nullable android.os.Bundle, long);
+    method public void unregisterAntennaInfoListener(@NonNull android.location.GnssAntennaInfo.Listener);
+    method public void unregisterGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback);
+    method public void unregisterGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback);
+    method public void unregisterGnssStatusCallback(@NonNull android.location.GnssStatus.Callback);
+    field public static final String ACTION_GNSS_CAPABILITIES_CHANGED = "android.location.action.GNSS_CAPABILITIES_CHANGED";
+    field public static final String EXTRA_GNSS_CAPABILITIES = "android.location.extra.GNSS_CAPABILITIES";
+    field public static final String EXTRA_LOCATION_ENABLED = "android.location.extra.LOCATION_ENABLED";
+    field public static final String EXTRA_PROVIDER_ENABLED = "android.location.extra.PROVIDER_ENABLED";
+    field public static final String EXTRA_PROVIDER_NAME = "android.location.extra.PROVIDER_NAME";
+    field public static final String FUSED_PROVIDER = "fused";
+    field public static final String GPS_PROVIDER = "gps";
+    field public static final String KEY_FLUSH_COMPLETE = "flushComplete";
+    field public static final String KEY_LOCATIONS = "locations";
+    field public static final String KEY_LOCATION_CHANGED = "location";
+    field public static final String KEY_PROVIDER_ENABLED = "providerEnabled";
+    field public static final String KEY_PROXIMITY_ENTERING = "entering";
+    field @Deprecated public static final String KEY_STATUS_CHANGED = "status";
+    field public static final String MODE_CHANGED_ACTION = "android.location.MODE_CHANGED";
+    field public static final String NETWORK_PROVIDER = "network";
+    field public static final String PASSIVE_PROVIDER = "passive";
+    field public static final String PROVIDERS_CHANGED_ACTION = "android.location.PROVIDERS_CHANGED";
+  }
+
+  @Deprecated public class LocationProvider {
+    method @Deprecated public int getAccuracy();
+    method @Deprecated public String getName();
+    method @Deprecated public int getPowerRequirement();
+    method @Deprecated public boolean hasMonetaryCost();
+    method @Deprecated public boolean meetsCriteria(android.location.Criteria);
+    method @Deprecated public boolean requiresCell();
+    method @Deprecated public boolean requiresNetwork();
+    method @Deprecated public boolean requiresSatellite();
+    method @Deprecated public boolean supportsAltitude();
+    method @Deprecated public boolean supportsBearing();
+    method @Deprecated public boolean supportsSpeed();
+    field @Deprecated public static final int AVAILABLE = 2; // 0x2
+    field @Deprecated public static final int OUT_OF_SERVICE = 0; // 0x0
+    field @Deprecated public static final int TEMPORARILY_UNAVAILABLE = 1; // 0x1
+  }
+
+  public final class LocationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=1) public long getDurationMillis();
+    method @IntRange(from=0) public long getIntervalMillis();
+    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
+    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMaxUpdates();
+    method @FloatRange(from=0, to=java.lang.Float.MAX_VALUE) public float getMinUpdateDistanceMeters();
+    method @IntRange(from=0) public long getMinUpdateIntervalMillis();
+    method public int getQuality();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.LocationRequest> CREATOR;
+    field public static final long PASSIVE_INTERVAL = 9223372036854775807L; // 0x7fffffffffffffffL
+    field public static final int QUALITY_BALANCED_POWER_ACCURACY = 102; // 0x66
+    field public static final int QUALITY_HIGH_ACCURACY = 100; // 0x64
+    field public static final int QUALITY_LOW_POWER = 104; // 0x68
+  }
+
+  public static final class LocationRequest.Builder {
+    ctor public LocationRequest.Builder(long);
+    ctor public LocationRequest.Builder(@NonNull android.location.LocationRequest);
+    method @NonNull public android.location.LocationRequest build();
+    method @NonNull public android.location.LocationRequest.Builder clearMinUpdateIntervalMillis();
+    method @NonNull public android.location.LocationRequest.Builder setDurationMillis(@IntRange(from=1) long);
+    method @NonNull public android.location.LocationRequest.Builder setIntervalMillis(@IntRange(from=0) long);
+    method @NonNull public android.location.LocationRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
+    method @NonNull public android.location.LocationRequest.Builder setMaxUpdates(@IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.location.LocationRequest.Builder setMinUpdateDistanceMeters(@FloatRange(from=0, to=java.lang.Float.MAX_VALUE) float);
+    method @NonNull public android.location.LocationRequest.Builder setMinUpdateIntervalMillis(@IntRange(from=0) long);
+    method @NonNull public android.location.LocationRequest.Builder setQuality(int);
+  }
+
+  public interface OnNmeaMessageListener {
+    method public void onNmeaMessage(String, long);
+  }
+
+  public abstract class SettingInjectorService extends android.app.Service {
+    ctor public SettingInjectorService(String);
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method protected abstract boolean onGetEnabled();
+    method protected abstract String onGetSummary();
+    method public final void onStart(android.content.Intent, int);
+    method public final int onStartCommand(android.content.Intent, int, int);
+    method public static final void refreshSettings(@NonNull android.content.Context);
+    field public static final String ACTION_INJECTED_SETTING_CHANGED = "android.location.InjectedSettingChanged";
+    field public static final String ACTION_SERVICE_INTENT = "android.location.SettingInjectorService";
+    field public static final String ATTRIBUTES_NAME = "injected-location-setting";
+    field public static final String META_DATA_NAME = "android.location.SettingInjectorService";
+  }
+
+}
+
+package android.location.provider {
+
+  public final class ProviderProperties implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAccuracy();
+    method public int getPowerUsage();
+    method public boolean hasAltitudeSupport();
+    method public boolean hasBearingSupport();
+    method public boolean hasCellRequirement();
+    method public boolean hasMonetaryCost();
+    method public boolean hasNetworkRequirement();
+    method public boolean hasSatelliteRequirement();
+    method public boolean hasSpeedSupport();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int ACCURACY_COARSE = 2; // 0x2
+    field public static final int ACCURACY_FINE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderProperties> CREATOR;
+    field public static final int POWER_USAGE_HIGH = 3; // 0x3
+    field public static final int POWER_USAGE_LOW = 1; // 0x1
+    field public static final int POWER_USAGE_MEDIUM = 2; // 0x2
+  }
+
+  public static final class ProviderProperties.Builder {
+    ctor public ProviderProperties.Builder();
+    ctor public ProviderProperties.Builder(@NonNull android.location.provider.ProviderProperties);
+    method @NonNull public android.location.provider.ProviderProperties build();
+    method @NonNull public android.location.provider.ProviderProperties.Builder setAccuracy(int);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasAltitudeSupport(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasBearingSupport(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasCellRequirement(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasMonetaryCost(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasNetworkRequirement(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasSatelliteRequirement(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setHasSpeedSupport(boolean);
+    method @NonNull public android.location.provider.ProviderProperties.Builder setPowerUsage(int);
+  }
+
+}
+
+package android.media {
+
+  public final class ApplicationMediaCapabilities implements android.os.Parcelable {
+    method @NonNull public static android.media.ApplicationMediaCapabilities createFromXml(@NonNull org.xmlpull.v1.XmlPullParser);
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getSupportedHdrTypes();
+    method @NonNull public java.util.List<java.lang.String> getSupportedVideoMimeTypes();
+    method @NonNull public java.util.List<java.lang.String> getUnsupportedHdrTypes();
+    method @NonNull public java.util.List<java.lang.String> getUnsupportedVideoMimeTypes();
+    method public boolean isFormatSpecified(@NonNull String);
+    method public boolean isHdrTypeSupported(@NonNull String);
+    method public boolean isVideoMimeTypeSupported(@NonNull String);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.ApplicationMediaCapabilities> CREATOR;
+  }
+
+  public static final class ApplicationMediaCapabilities.Builder {
+    ctor public ApplicationMediaCapabilities.Builder();
+    method @NonNull public android.media.ApplicationMediaCapabilities.Builder addSupportedHdrType(@NonNull String);
+    method @NonNull public android.media.ApplicationMediaCapabilities.Builder addSupportedVideoMimeType(@NonNull String);
+    method @NonNull public android.media.ApplicationMediaCapabilities.Builder addUnsupportedHdrType(@NonNull String);
+    method @NonNull public android.media.ApplicationMediaCapabilities.Builder addUnsupportedVideoMimeType(@NonNull String);
+    method @NonNull public android.media.ApplicationMediaCapabilities build();
+  }
+
+  public class AsyncPlayer {
+    ctor public AsyncPlayer(String);
+    method @Deprecated public void play(android.content.Context, android.net.Uri, boolean, int);
+    method public void play(@NonNull android.content.Context, @NonNull android.net.Uri, boolean, @NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method public void stop();
+  }
+
+  public final class AudioAttributes implements android.os.Parcelable {
+    method public boolean areHapticChannelsMuted();
+    method public int describeContents();
+    method public int getAllowedCapturePolicy();
+    method public int getContentType();
+    method public int getFlags();
+    method public int getSpatializationBehavior();
+    method public int getUsage();
+    method public int getVolumeControlStream();
+    method public boolean isContentSpatialized();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ALLOW_CAPTURE_BY_ALL = 1; // 0x1
+    field public static final int ALLOW_CAPTURE_BY_NONE = 3; // 0x3
+    field public static final int ALLOW_CAPTURE_BY_SYSTEM = 2; // 0x2
+    field public static final int CONTENT_TYPE_MOVIE = 3; // 0x3
+    field public static final int CONTENT_TYPE_MUSIC = 2; // 0x2
+    field public static final int CONTENT_TYPE_SONIFICATION = 4; // 0x4
+    field public static final int CONTENT_TYPE_SPEECH = 1; // 0x1
+    field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioAttributes> CREATOR;
+    field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1
+    field public static final int FLAG_HW_AV_SYNC = 16; // 0x10
+    field @Deprecated public static final int FLAG_LOW_LATENCY = 256; // 0x100
+    field public static final int SPATIALIZATION_BEHAVIOR_AUTO = 0; // 0x0
+    field public static final int SPATIALIZATION_BEHAVIOR_NEVER = 1; // 0x1
+    field public static final int USAGE_ALARM = 4; // 0x4
+    field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb
+    field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc
+    field public static final int USAGE_ASSISTANCE_SONIFICATION = 13; // 0xd
+    field public static final int USAGE_ASSISTANT = 16; // 0x10
+    field public static final int USAGE_GAME = 14; // 0xe
+    field public static final int USAGE_MEDIA = 1; // 0x1
+    field public static final int USAGE_NOTIFICATION = 5; // 0x5
+    field public static final int USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9; // 0x9
+    field public static final int USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8; // 0x8
+    field public static final int USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7; // 0x7
+    field public static final int USAGE_NOTIFICATION_EVENT = 10; // 0xa
+    field public static final int USAGE_NOTIFICATION_RINGTONE = 6; // 0x6
+    field public static final int USAGE_UNKNOWN = 0; // 0x0
+    field public static final int USAGE_VOICE_COMMUNICATION = 2; // 0x2
+    field public static final int USAGE_VOICE_COMMUNICATION_SIGNALLING = 3; // 0x3
+  }
+
+  public static class AudioAttributes.Builder {
+    ctor public AudioAttributes.Builder();
+    ctor public AudioAttributes.Builder(android.media.AudioAttributes);
+    method public android.media.AudioAttributes build();
+    method @NonNull public android.media.AudioAttributes.Builder setAllowedCapturePolicy(int);
+    method public android.media.AudioAttributes.Builder setContentType(int);
+    method public android.media.AudioAttributes.Builder setFlags(int);
+    method @NonNull public android.media.AudioAttributes.Builder setHapticChannelsMuted(boolean);
+    method @NonNull public android.media.AudioAttributes.Builder setIsContentSpatialized(boolean);
+    method public android.media.AudioAttributes.Builder setLegacyStreamType(int);
+    method @NonNull public android.media.AudioAttributes.Builder setSpatializationBehavior(int);
+    method public android.media.AudioAttributes.Builder setUsage(int);
+  }
+
+  public class AudioDescriptor {
+    method @NonNull public byte[] getDescriptor();
+    method public int getEncapsulationType();
+    method public int getStandard();
+    field public static final int STANDARD_EDID = 1; // 0x1
+    field public static final int STANDARD_NONE = 0; // 0x0
+  }
+
+  public abstract class AudioDeviceCallback {
+    ctor public AudioDeviceCallback();
+    method public void onAudioDevicesAdded(android.media.AudioDeviceInfo[]);
+    method public void onAudioDevicesRemoved(android.media.AudioDeviceInfo[]);
+  }
+
+  public final class AudioDeviceInfo {
+    method @NonNull public String getAddress();
+    method @NonNull public java.util.List<android.media.AudioDescriptor> getAudioDescriptors();
+    method @NonNull public java.util.List<android.media.AudioProfile> getAudioProfiles();
+    method @NonNull public int[] getChannelCounts();
+    method @NonNull public int[] getChannelIndexMasks();
+    method @NonNull public int[] getChannelMasks();
+    method @NonNull public int[] getEncapsulationMetadataTypes();
+    method @NonNull public int[] getEncapsulationModes();
+    method @NonNull public int[] getEncodings();
+    method public int getId();
+    method public CharSequence getProductName();
+    method @NonNull public int[] getSampleRates();
+    method public int getType();
+    method public boolean isSink();
+    method public boolean isSource();
+    field public static final int TYPE_AUX_LINE = 19; // 0x13
+    field public static final int TYPE_BLE_HEADSET = 26; // 0x1a
+    field public static final int TYPE_BLE_SPEAKER = 27; // 0x1b
+    field public static final int TYPE_BLUETOOTH_A2DP = 8; // 0x8
+    field public static final int TYPE_BLUETOOTH_SCO = 7; // 0x7
+    field public static final int TYPE_BUILTIN_EARPIECE = 1; // 0x1
+    field public static final int TYPE_BUILTIN_MIC = 15; // 0xf
+    field public static final int TYPE_BUILTIN_SPEAKER = 2; // 0x2
+    field public static final int TYPE_BUILTIN_SPEAKER_SAFE = 24; // 0x18
+    field public static final int TYPE_BUS = 21; // 0x15
+    field public static final int TYPE_DOCK = 13; // 0xd
+    field public static final int TYPE_FM = 14; // 0xe
+    field public static final int TYPE_FM_TUNER = 16; // 0x10
+    field public static final int TYPE_HDMI = 9; // 0x9
+    field public static final int TYPE_HDMI_ARC = 10; // 0xa
+    field public static final int TYPE_HDMI_EARC = 29; // 0x1d
+    field public static final int TYPE_HEARING_AID = 23; // 0x17
+    field public static final int TYPE_IP = 20; // 0x14
+    field public static final int TYPE_LINE_ANALOG = 5; // 0x5
+    field public static final int TYPE_LINE_DIGITAL = 6; // 0x6
+    field public static final int TYPE_REMOTE_SUBMIX = 25; // 0x19
+    field public static final int TYPE_TELEPHONY = 18; // 0x12
+    field public static final int TYPE_TV_TUNER = 17; // 0x11
+    field public static final int TYPE_UNKNOWN = 0; // 0x0
+    field public static final int TYPE_USB_ACCESSORY = 12; // 0xc
+    field public static final int TYPE_USB_DEVICE = 11; // 0xb
+    field public static final int TYPE_USB_HEADSET = 22; // 0x16
+    field public static final int TYPE_WIRED_HEADPHONES = 4; // 0x4
+    field public static final int TYPE_WIRED_HEADSET = 3; // 0x3
+  }
+
+  public final class AudioFocusRequest {
+    method public boolean acceptsDelayedFocusGain();
+    method @NonNull public android.media.AudioAttributes getAudioAttributes();
+    method public int getFocusGain();
+    method public boolean willPauseWhenDucked();
+  }
+
+  public static final class AudioFocusRequest.Builder {
+    ctor public AudioFocusRequest.Builder(int);
+    ctor public AudioFocusRequest.Builder(@NonNull android.media.AudioFocusRequest);
+    method public android.media.AudioFocusRequest build();
+    method @NonNull public android.media.AudioFocusRequest.Builder setAcceptsDelayedFocusGain(boolean);
+    method @NonNull public android.media.AudioFocusRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
+    method @NonNull public android.media.AudioFocusRequest.Builder setFocusGain(int);
+    method @NonNull public android.media.AudioFocusRequest.Builder setForceDucking(boolean);
+    method @NonNull public android.media.AudioFocusRequest.Builder setOnAudioFocusChangeListener(@NonNull android.media.AudioManager.OnAudioFocusChangeListener);
+    method @NonNull public android.media.AudioFocusRequest.Builder setOnAudioFocusChangeListener(@NonNull android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.os.Handler);
+    method @NonNull public android.media.AudioFocusRequest.Builder setWillPauseWhenDucked(boolean);
+  }
+
+  public final class AudioFormat implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getChannelCount();
+    method public int getChannelIndexMask();
+    method public int getChannelMask();
+    method public int getEncoding();
+    method @IntRange(from=1) public int getFrameSizeInBytes();
+    method public int getSampleRate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final int CHANNEL_CONFIGURATION_DEFAULT = 1; // 0x1
+    field @Deprecated public static final int CHANNEL_CONFIGURATION_INVALID = 0; // 0x0
+    field @Deprecated public static final int CHANNEL_CONFIGURATION_MONO = 2; // 0x2
+    field @Deprecated public static final int CHANNEL_CONFIGURATION_STEREO = 3; // 0x3
+    field public static final int CHANNEL_INVALID = 0; // 0x0
+    field public static final int CHANNEL_IN_BACK = 32; // 0x20
+    field public static final int CHANNEL_IN_BACK_PROCESSED = 512; // 0x200
+    field public static final int CHANNEL_IN_DEFAULT = 1; // 0x1
+    field public static final int CHANNEL_IN_FRONT = 16; // 0x10
+    field public static final int CHANNEL_IN_FRONT_PROCESSED = 256; // 0x100
+    field public static final int CHANNEL_IN_LEFT = 4; // 0x4
+    field public static final int CHANNEL_IN_LEFT_PROCESSED = 64; // 0x40
+    field public static final int CHANNEL_IN_MONO = 16; // 0x10
+    field public static final int CHANNEL_IN_PRESSURE = 1024; // 0x400
+    field public static final int CHANNEL_IN_RIGHT = 8; // 0x8
+    field public static final int CHANNEL_IN_RIGHT_PROCESSED = 128; // 0x80
+    field public static final int CHANNEL_IN_STEREO = 12; // 0xc
+    field public static final int CHANNEL_IN_VOICE_DNLINK = 32768; // 0x8000
+    field public static final int CHANNEL_IN_VOICE_UPLINK = 16384; // 0x4000
+    field public static final int CHANNEL_IN_X_AXIS = 2048; // 0x800
+    field public static final int CHANNEL_IN_Y_AXIS = 4096; // 0x1000
+    field public static final int CHANNEL_IN_Z_AXIS = 8192; // 0x2000
+    field public static final int CHANNEL_OUT_5POINT1 = 252; // 0xfc
+    field public static final int CHANNEL_OUT_5POINT1POINT2 = 3145980; // 0x3000fc
+    field public static final int CHANNEL_OUT_5POINT1POINT4 = 737532; // 0xb40fc
+    field @Deprecated public static final int CHANNEL_OUT_7POINT1 = 1020; // 0x3fc
+    field public static final int CHANNEL_OUT_7POINT1POINT2 = 3152124; // 0x3018fc
+    field public static final int CHANNEL_OUT_7POINT1POINT4 = 743676; // 0xb58fc
+    field public static final int CHANNEL_OUT_7POINT1_SURROUND = 6396; // 0x18fc
+    field public static final int CHANNEL_OUT_9POINT1POINT4 = 202070268; // 0xc0b58fc
+    field public static final int CHANNEL_OUT_9POINT1POINT6 = 205215996; // 0xc3b58fc
+    field public static final int CHANNEL_OUT_BACK_CENTER = 1024; // 0x400
+    field public static final int CHANNEL_OUT_BACK_LEFT = 64; // 0x40
+    field public static final int CHANNEL_OUT_BACK_RIGHT = 128; // 0x80
+    field public static final int CHANNEL_OUT_BOTTOM_FRONT_CENTER = 8388608; // 0x800000
+    field public static final int CHANNEL_OUT_BOTTOM_FRONT_LEFT = 4194304; // 0x400000
+    field public static final int CHANNEL_OUT_BOTTOM_FRONT_RIGHT = 16777216; // 0x1000000
+    field public static final int CHANNEL_OUT_DEFAULT = 1; // 0x1
+    field public static final int CHANNEL_OUT_FRONT_CENTER = 16; // 0x10
+    field public static final int CHANNEL_OUT_FRONT_LEFT = 4; // 0x4
+    field public static final int CHANNEL_OUT_FRONT_LEFT_OF_CENTER = 256; // 0x100
+    field public static final int CHANNEL_OUT_FRONT_RIGHT = 8; // 0x8
+    field public static final int CHANNEL_OUT_FRONT_RIGHT_OF_CENTER = 512; // 0x200
+    field public static final int CHANNEL_OUT_FRONT_WIDE_LEFT = 67108864; // 0x4000000
+    field public static final int CHANNEL_OUT_FRONT_WIDE_RIGHT = 134217728; // 0x8000000
+    field public static final int CHANNEL_OUT_LOW_FREQUENCY = 32; // 0x20
+    field public static final int CHANNEL_OUT_LOW_FREQUENCY_2 = 33554432; // 0x2000000
+    field public static final int CHANNEL_OUT_MONO = 4; // 0x4
+    field public static final int CHANNEL_OUT_QUAD = 204; // 0xcc
+    field public static final int CHANNEL_OUT_SIDE_LEFT = 2048; // 0x800
+    field public static final int CHANNEL_OUT_SIDE_RIGHT = 4096; // 0x1000
+    field public static final int CHANNEL_OUT_STEREO = 12; // 0xc
+    field public static final int CHANNEL_OUT_SURROUND = 1052; // 0x41c
+    field public static final int CHANNEL_OUT_TOP_BACK_CENTER = 262144; // 0x40000
+    field public static final int CHANNEL_OUT_TOP_BACK_LEFT = 131072; // 0x20000
+    field public static final int CHANNEL_OUT_TOP_BACK_RIGHT = 524288; // 0x80000
+    field public static final int CHANNEL_OUT_TOP_CENTER = 8192; // 0x2000
+    field public static final int CHANNEL_OUT_TOP_FRONT_CENTER = 32768; // 0x8000
+    field public static final int CHANNEL_OUT_TOP_FRONT_LEFT = 16384; // 0x4000
+    field public static final int CHANNEL_OUT_TOP_FRONT_RIGHT = 65536; // 0x10000
+    field public static final int CHANNEL_OUT_TOP_SIDE_LEFT = 1048576; // 0x100000
+    field public static final int CHANNEL_OUT_TOP_SIDE_RIGHT = 2097152; // 0x200000
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFormat> CREATOR;
+    field public static final int ENCODING_AAC_ELD = 15; // 0xf
+    field public static final int ENCODING_AAC_HE_V1 = 11; // 0xb
+    field public static final int ENCODING_AAC_HE_V2 = 12; // 0xc
+    field public static final int ENCODING_AAC_LC = 10; // 0xa
+    field public static final int ENCODING_AAC_XHE = 16; // 0x10
+    field public static final int ENCODING_AC3 = 5; // 0x5
+    field public static final int ENCODING_AC4 = 17; // 0x11
+    field public static final int ENCODING_DEFAULT = 1; // 0x1
+    field public static final int ENCODING_DOLBY_MAT = 19; // 0x13
+    field public static final int ENCODING_DOLBY_TRUEHD = 14; // 0xe
+    field public static final int ENCODING_DRA = 28; // 0x1c
+    field public static final int ENCODING_DTS = 7; // 0x7
+    field public static final int ENCODING_DTS_HD = 8; // 0x8
+    field public static final int ENCODING_DTS_UHD = 27; // 0x1b
+    field public static final int ENCODING_E_AC3 = 6; // 0x6
+    field public static final int ENCODING_E_AC3_JOC = 18; // 0x12
+    field public static final int ENCODING_IEC61937 = 13; // 0xd
+    field public static final int ENCODING_INVALID = 0; // 0x0
+    field public static final int ENCODING_MP3 = 9; // 0x9
+    field public static final int ENCODING_MPEGH_BL_L3 = 23; // 0x17
+    field public static final int ENCODING_MPEGH_BL_L4 = 24; // 0x18
+    field public static final int ENCODING_MPEGH_LC_L3 = 25; // 0x19
+    field public static final int ENCODING_MPEGH_LC_L4 = 26; // 0x1a
+    field public static final int ENCODING_OPUS = 20; // 0x14
+    field public static final int ENCODING_PCM_16BIT = 2; // 0x2
+    field public static final int ENCODING_PCM_24BIT_PACKED = 21; // 0x15
+    field public static final int ENCODING_PCM_32BIT = 22; // 0x16
+    field public static final int ENCODING_PCM_8BIT = 3; // 0x3
+    field public static final int ENCODING_PCM_FLOAT = 4; // 0x4
+    field public static final int SAMPLE_RATE_UNSPECIFIED = 0; // 0x0
+  }
+
+  public static class AudioFormat.Builder {
+    ctor public AudioFormat.Builder();
+    ctor public AudioFormat.Builder(android.media.AudioFormat);
+    method public android.media.AudioFormat build();
+    method @NonNull public android.media.AudioFormat.Builder setChannelIndexMask(int);
+    method @NonNull public android.media.AudioFormat.Builder setChannelMask(int);
+    method public android.media.AudioFormat.Builder setEncoding(int) throws java.lang.IllegalArgumentException;
+    method public android.media.AudioFormat.Builder setSampleRate(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public class AudioManager {
+    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener);
+    method public int abandonAudioFocusRequest(@NonNull android.media.AudioFocusRequest);
+    method public void addOnCommunicationDeviceChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnCommunicationDeviceChangedListener);
+    method public void addOnModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnModeChangedListener);
+    method public void adjustStreamVolume(int, int, int);
+    method public void adjustSuggestedStreamVolume(int, int, int);
+    method public void adjustVolume(int, int);
+    method public void clearCommunicationDevice();
+    method public void dispatchMediaKeyEvent(android.view.KeyEvent);
+    method public int generateAudioSessionId();
+    method @NonNull public java.util.List<android.media.AudioPlaybackConfiguration> getActivePlaybackConfigurations();
+    method @NonNull public java.util.List<android.media.AudioRecordingConfiguration> getActiveRecordingConfigurations();
+    method public int getAllowedCapturePolicy();
+    method public int getAudioHwSyncForSession(int);
+    method @NonNull public java.util.List<android.media.AudioDeviceInfo> getAvailableCommunicationDevices();
+    method @Nullable public android.media.AudioDeviceInfo getCommunicationDevice();
+    method public android.media.AudioDeviceInfo[] getDevices(int);
+    method public int getEncodedSurroundMode();
+    method public java.util.List<android.media.MicrophoneInfo> getMicrophones() throws java.io.IOException;
+    method public int getMode();
+    method public String getParameters(String);
+    method public static int getPlaybackOffloadSupport(@NonNull android.media.AudioFormat, @NonNull android.media.AudioAttributes);
+    method public String getProperty(String);
+    method public int getRingerMode();
+    method @Deprecated public int getRouting(int);
+    method @NonNull public android.media.Spatializer getSpatializer();
+    method public int getStreamMaxVolume(int);
+    method public int getStreamMinVolume(int);
+    method public int getStreamVolume(int);
+    method public float getStreamVolumeDb(int, int, int);
+    method @Deprecated public int getVibrateSetting(int);
+    method @Deprecated public boolean isBluetoothA2dpOn();
+    method public boolean isBluetoothScoAvailableOffCall();
+    method public boolean isBluetoothScoOn();
+    method public boolean isCallScreeningModeSupported();
+    method public static boolean isHapticPlaybackSupported();
+    method public boolean isMicrophoneMute();
+    method public boolean isMusicActive();
+    method public static boolean isOffloadedPlaybackSupported(@NonNull android.media.AudioFormat, @NonNull android.media.AudioAttributes);
+    method public boolean isSpeakerphoneOn();
+    method public boolean isStreamMute(int);
+    method public boolean isSurroundFormatEnabled(int);
+    method public boolean isVolumeFixed();
+    method @Deprecated public boolean isWiredHeadsetOn();
+    method public void loadSoundEffects();
+    method public void playSoundEffect(int);
+    method public void playSoundEffect(int, float);
+    method public void registerAudioDeviceCallback(android.media.AudioDeviceCallback, @Nullable android.os.Handler);
+    method public void registerAudioPlaybackCallback(@NonNull android.media.AudioManager.AudioPlaybackCallback, @Nullable android.os.Handler);
+    method public void registerAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback, @Nullable android.os.Handler);
+    method @Deprecated public void registerMediaButtonEventReceiver(android.content.ComponentName);
+    method @Deprecated public void registerMediaButtonEventReceiver(android.app.PendingIntent);
+    method @Deprecated public void registerRemoteControlClient(android.media.RemoteControlClient);
+    method @Deprecated public boolean registerRemoteController(android.media.RemoteController);
+    method public void removeOnCommunicationDeviceChangedListener(@NonNull android.media.AudioManager.OnCommunicationDeviceChangedListener);
+    method public void removeOnModeChangedListener(@NonNull android.media.AudioManager.OnModeChangedListener);
+    method @Deprecated public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, int, int);
+    method public int requestAudioFocus(@NonNull android.media.AudioFocusRequest);
+    method public void setAllowedCapturePolicy(int);
+    method @Deprecated public void setBluetoothA2dpOn(boolean);
+    method public void setBluetoothScoOn(boolean);
+    method public boolean setCommunicationDevice(@NonNull android.media.AudioDeviceInfo);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public boolean setEncodedSurroundMode(int);
+    method public void setMicrophoneMute(boolean);
+    method public void setMode(int);
+    method public void setParameters(String);
+    method public void setRingerMode(int);
+    method @Deprecated public void setRouting(int, int, int);
+    method public void setSpeakerphoneOn(boolean);
+    method @Deprecated public void setStreamMute(int, boolean);
+    method @Deprecated public void setStreamSolo(int, boolean);
+    method public void setStreamVolume(int, int, int);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public boolean setSurroundFormatEnabled(int, boolean);
+    method @Deprecated public void setVibrateSetting(int, int);
+    method @Deprecated public void setWiredHeadsetOn(boolean);
+    method @Deprecated public boolean shouldVibrate(int);
+    method public void startBluetoothSco();
+    method public void stopBluetoothSco();
+    method public void unloadSoundEffects();
+    method public void unregisterAudioDeviceCallback(android.media.AudioDeviceCallback);
+    method public void unregisterAudioPlaybackCallback(@NonNull android.media.AudioManager.AudioPlaybackCallback);
+    method public void unregisterAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback);
+    method @Deprecated public void unregisterMediaButtonEventReceiver(android.content.ComponentName);
+    method @Deprecated public void unregisterMediaButtonEventReceiver(android.app.PendingIntent);
+    method @Deprecated public void unregisterRemoteControlClient(android.media.RemoteControlClient);
+    method @Deprecated public void unregisterRemoteController(android.media.RemoteController);
+    field public static final String ACTION_AUDIO_BECOMING_NOISY = "android.media.AUDIO_BECOMING_NOISY";
+    field public static final String ACTION_HDMI_AUDIO_PLUG = "android.media.action.HDMI_AUDIO_PLUG";
+    field public static final String ACTION_HEADSET_PLUG = "android.intent.action.HEADSET_PLUG";
+    field public static final String ACTION_MICROPHONE_MUTE_CHANGED = "android.media.action.MICROPHONE_MUTE_CHANGED";
+    field @Deprecated public static final String ACTION_SCO_AUDIO_STATE_CHANGED = "android.media.SCO_AUDIO_STATE_CHANGED";
+    field public static final String ACTION_SCO_AUDIO_STATE_UPDATED = "android.media.ACTION_SCO_AUDIO_STATE_UPDATED";
+    field public static final String ACTION_SPEAKERPHONE_STATE_CHANGED = "android.media.action.SPEAKERPHONE_STATE_CHANGED";
+    field public static final int ADJUST_LOWER = -1; // 0xffffffff
+    field public static final int ADJUST_MUTE = -100; // 0xffffff9c
+    field public static final int ADJUST_RAISE = 1; // 0x1
+    field public static final int ADJUST_SAME = 0; // 0x0
+    field public static final int ADJUST_TOGGLE_MUTE = 101; // 0x65
+    field public static final int ADJUST_UNMUTE = 100; // 0x64
+    field public static final int AUDIOFOCUS_GAIN = 1; // 0x1
+    field public static final int AUDIOFOCUS_GAIN_TRANSIENT = 2; // 0x2
+    field public static final int AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE = 4; // 0x4
+    field public static final int AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK = 3; // 0x3
+    field public static final int AUDIOFOCUS_LOSS = -1; // 0xffffffff
+    field public static final int AUDIOFOCUS_LOSS_TRANSIENT = -2; // 0xfffffffe
+    field public static final int AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK = -3; // 0xfffffffd
+    field public static final int AUDIOFOCUS_NONE = 0; // 0x0
+    field public static final int AUDIOFOCUS_REQUEST_DELAYED = 2; // 0x2
+    field public static final int AUDIOFOCUS_REQUEST_FAILED = 0; // 0x0
+    field public static final int AUDIOFOCUS_REQUEST_GRANTED = 1; // 0x1
+    field public static final int AUDIO_SESSION_ID_GENERATE = 0; // 0x0
+    field public static final int ENCODED_SURROUND_OUTPUT_ALWAYS = 2; // 0x2
+    field public static final int ENCODED_SURROUND_OUTPUT_AUTO = 0; // 0x0
+    field public static final int ENCODED_SURROUND_OUTPUT_MANUAL = 3; // 0x3
+    field public static final int ENCODED_SURROUND_OUTPUT_NEVER = 1; // 0x1
+    field public static final int ENCODED_SURROUND_OUTPUT_UNKNOWN = -1; // 0xffffffff
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa
+    field public static final String EXTRA_AUDIO_PLUG_STATE = "android.media.extra.AUDIO_PLUG_STATE";
+    field public static final String EXTRA_ENCODINGS = "android.media.extra.ENCODINGS";
+    field public static final String EXTRA_MAX_CHANNEL_COUNT = "android.media.extra.MAX_CHANNEL_COUNT";
+    field public static final String EXTRA_RINGER_MODE = "android.media.EXTRA_RINGER_MODE";
+    field public static final String EXTRA_SCO_AUDIO_PREVIOUS_STATE = "android.media.extra.SCO_AUDIO_PREVIOUS_STATE";
+    field public static final String EXTRA_SCO_AUDIO_STATE = "android.media.extra.SCO_AUDIO_STATE";
+    field @Deprecated public static final String EXTRA_VIBRATE_SETTING = "android.media.EXTRA_VIBRATE_SETTING";
+    field @Deprecated public static final String EXTRA_VIBRATE_TYPE = "android.media.EXTRA_VIBRATE_TYPE";
+    field public static final int FLAG_ALLOW_RINGER_MODES = 2; // 0x2
+    field public static final int FLAG_PLAY_SOUND = 4; // 0x4
+    field public static final int FLAG_REMOVE_SOUND_AND_VIBRATE = 8; // 0x8
+    field public static final int FLAG_SHOW_UI = 1; // 0x1
+    field public static final int FLAG_VIBRATE = 16; // 0x10
+    field public static final int FX_BACK = 10; // 0xa
+    field public static final int FX_FOCUS_NAVIGATION_DOWN = 2; // 0x2
+    field public static final int FX_FOCUS_NAVIGATION_LEFT = 3; // 0x3
+    field public static final int FX_FOCUS_NAVIGATION_RIGHT = 4; // 0x4
+    field public static final int FX_FOCUS_NAVIGATION_UP = 1; // 0x1
+    field public static final int FX_KEYPRESS_DELETE = 7; // 0x7
+    field public static final int FX_KEYPRESS_INVALID = 9; // 0x9
+    field public static final int FX_KEYPRESS_RETURN = 8; // 0x8
+    field public static final int FX_KEYPRESS_SPACEBAR = 6; // 0x6
+    field public static final int FX_KEYPRESS_STANDARD = 5; // 0x5
+    field public static final int FX_KEY_CLICK = 0; // 0x0
+    field public static final int GET_DEVICES_ALL = 3; // 0x3
+    field public static final int GET_DEVICES_INPUTS = 1; // 0x1
+    field public static final int GET_DEVICES_OUTPUTS = 2; // 0x2
+    field public static final int MODE_CALL_SCREENING = 4; // 0x4
+    field public static final int MODE_CURRENT = -1; // 0xffffffff
+    field public static final int MODE_INVALID = -2; // 0xfffffffe
+    field public static final int MODE_IN_CALL = 2; // 0x2
+    field public static final int MODE_IN_COMMUNICATION = 3; // 0x3
+    field public static final int MODE_NORMAL = 0; // 0x0
+    field public static final int MODE_RINGTONE = 1; // 0x1
+    field @Deprecated public static final int NUM_STREAMS = 5; // 0x5
+    field public static final int PLAYBACK_OFFLOAD_GAPLESS_SUPPORTED = 2; // 0x2
+    field public static final int PLAYBACK_OFFLOAD_NOT_SUPPORTED = 0; // 0x0
+    field public static final int PLAYBACK_OFFLOAD_SUPPORTED = 1; // 0x1
+    field public static final String PROPERTY_OUTPUT_FRAMES_PER_BUFFER = "android.media.property.OUTPUT_FRAMES_PER_BUFFER";
+    field public static final String PROPERTY_OUTPUT_SAMPLE_RATE = "android.media.property.OUTPUT_SAMPLE_RATE";
+    field public static final String PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED = "android.media.property.SUPPORT_AUDIO_SOURCE_UNPROCESSED";
+    field public static final String PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND = "android.media.property.SUPPORT_MIC_NEAR_ULTRASOUND";
+    field public static final String PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND = "android.media.property.SUPPORT_SPEAKER_NEAR_ULTRASOUND";
+    field public static final String RINGER_MODE_CHANGED_ACTION = "android.media.RINGER_MODE_CHANGED";
+    field public static final int RINGER_MODE_NORMAL = 2; // 0x2
+    field public static final int RINGER_MODE_SILENT = 0; // 0x0
+    field public static final int RINGER_MODE_VIBRATE = 1; // 0x1
+    field @Deprecated public static final int ROUTE_ALL = -1; // 0xffffffff
+    field @Deprecated public static final int ROUTE_BLUETOOTH = 4; // 0x4
+    field @Deprecated public static final int ROUTE_BLUETOOTH_A2DP = 16; // 0x10
+    field @Deprecated public static final int ROUTE_BLUETOOTH_SCO = 4; // 0x4
+    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
+    field @Deprecated public static final int ROUTE_HEADSET = 8; // 0x8
+    field @Deprecated public static final int ROUTE_SPEAKER = 2; // 0x2
+    field public static final int SCO_AUDIO_STATE_CONNECTED = 1; // 0x1
+    field public static final int SCO_AUDIO_STATE_CONNECTING = 2; // 0x2
+    field public static final int SCO_AUDIO_STATE_DISCONNECTED = 0; // 0x0
+    field public static final int SCO_AUDIO_STATE_ERROR = -1; // 0xffffffff
+    field public static final int STREAM_ACCESSIBILITY = 10; // 0xa
+    field public static final int STREAM_ALARM = 4; // 0x4
+    field public static final int STREAM_DTMF = 8; // 0x8
+    field public static final int STREAM_MUSIC = 3; // 0x3
+    field public static final int STREAM_NOTIFICATION = 5; // 0x5
+    field public static final int STREAM_RING = 2; // 0x2
+    field public static final int STREAM_SYSTEM = 1; // 0x1
+    field public static final int STREAM_VOICE_CALL = 0; // 0x0
+    field public static final int USE_DEFAULT_STREAM_TYPE = -2147483648; // 0x80000000
+    field @Deprecated public static final String VIBRATE_SETTING_CHANGED_ACTION = "android.media.VIBRATE_SETTING_CHANGED";
+    field @Deprecated public static final int VIBRATE_SETTING_OFF = 0; // 0x0
+    field @Deprecated public static final int VIBRATE_SETTING_ON = 1; // 0x1
+    field @Deprecated public static final int VIBRATE_SETTING_ONLY_SILENT = 2; // 0x2
+    field @Deprecated public static final int VIBRATE_TYPE_NOTIFICATION = 1; // 0x1
+    field @Deprecated public static final int VIBRATE_TYPE_RINGER = 0; // 0x0
+  }
+
+  public abstract static class AudioManager.AudioPlaybackCallback {
+    ctor public AudioManager.AudioPlaybackCallback();
+    method public void onPlaybackConfigChanged(java.util.List<android.media.AudioPlaybackConfiguration>);
+  }
+
+  public abstract static class AudioManager.AudioRecordingCallback {
+    ctor public AudioManager.AudioRecordingCallback();
+    method public void onRecordingConfigChanged(java.util.List<android.media.AudioRecordingConfiguration>);
+  }
+
+  public static interface AudioManager.OnAudioFocusChangeListener {
+    method public void onAudioFocusChange(int);
+  }
+
+  public static interface AudioManager.OnCommunicationDeviceChangedListener {
+    method public void onCommunicationDeviceChanged(@Nullable android.media.AudioDeviceInfo);
+  }
+
+  public static interface AudioManager.OnModeChangedListener {
+    method public void onModeChanged(int);
+  }
+
+  public final class AudioMetadata {
+    method @NonNull public static android.media.AudioMetadataMap createMap();
+  }
+
+  public static class AudioMetadata.Format {
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Boolean> KEY_ATMOS_PRESENT;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_AUDIO_ENCODING;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_BIT_RATE;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_BIT_WIDTH;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_CHANNEL_MASK;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.String> KEY_MIME;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_PRESENTATION_CONTENT_CLASSIFIER;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_PRESENTATION_ID;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.String> KEY_PRESENTATION_LANGUAGE;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_PROGRAM_ID;
+    field @NonNull public static final android.media.AudioMetadata.Key<java.lang.Integer> KEY_SAMPLE_RATE;
+  }
+
+  public static interface AudioMetadata.Key<T> {
+    method @NonNull public String getName();
+    method @NonNull public Class<T> getValueClass();
+  }
+
+  public interface AudioMetadataMap extends android.media.AudioMetadataReadMap {
+    method @Nullable public <T> T remove(@NonNull android.media.AudioMetadata.Key<T>);
+    method @Nullable public <T> T set(@NonNull android.media.AudioMetadata.Key<T>, @NonNull T);
+  }
+
+  public interface AudioMetadataReadMap {
+    method public <T> boolean containsKey(@NonNull android.media.AudioMetadata.Key<T>);
+    method @NonNull public android.media.AudioMetadataMap dup();
+    method @Nullable public <T> T get(@NonNull android.media.AudioMetadata.Key<T>);
+    method @IntRange(from=0) public int size();
+  }
+
+  public final class AudioPlaybackCaptureConfiguration {
+    method @NonNull public int[] getExcludeUids();
+    method @NonNull public int[] getExcludeUsages();
+    method @NonNull public int[] getMatchingUids();
+    method @NonNull public int[] getMatchingUsages();
+    method @NonNull public android.media.projection.MediaProjection getMediaProjection();
+  }
+
+  public static final class AudioPlaybackCaptureConfiguration.Builder {
+    ctor public AudioPlaybackCaptureConfiguration.Builder(@NonNull android.media.projection.MediaProjection);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUid(int);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUsage(int);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration build();
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUid(int);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUsage(int);
+  }
+
+  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.AudioAttributes getAudioAttributes();
+    method @Nullable public android.media.AudioDeviceInfo getAudioDeviceInfo();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioPlaybackConfiguration> CREATOR;
+  }
+
+  public final class AudioPresentation {
+    method public java.util.Map<java.util.Locale,java.lang.String> getLabels();
+    method public java.util.Locale getLocale();
+    method public int getMasteringIndication();
+    method public int getPresentationId();
+    method public int getProgramId();
+    method public boolean hasAudioDescription();
+    method public boolean hasDialogueEnhancement();
+    method public boolean hasSpokenSubtitles();
+    field public static final int CONTENT_COMMENTARY = 5; // 0x5
+    field public static final int CONTENT_DIALOG = 4; // 0x4
+    field public static final int CONTENT_EMERGENCY = 6; // 0x6
+    field public static final int CONTENT_HEARING_IMPAIRED = 3; // 0x3
+    field public static final int CONTENT_MAIN = 0; // 0x0
+    field public static final int CONTENT_MUSIC_AND_EFFECTS = 1; // 0x1
+    field public static final int CONTENT_UNKNOWN = -1; // 0xffffffff
+    field public static final int CONTENT_VISUALLY_IMPAIRED = 2; // 0x2
+    field public static final int CONTENT_VOICEOVER = 7; // 0x7
+    field public static final int MASTERED_FOR_3D = 3; // 0x3
+    field public static final int MASTERED_FOR_HEADPHONE = 4; // 0x4
+    field public static final int MASTERED_FOR_STEREO = 1; // 0x1
+    field public static final int MASTERED_FOR_SURROUND = 2; // 0x2
+    field public static final int MASTERING_NOT_INDICATED = 0; // 0x0
+  }
+
+  public static final class AudioPresentation.Builder {
+    ctor public AudioPresentation.Builder(int);
+    method @NonNull public android.media.AudioPresentation build();
+    method @NonNull public android.media.AudioPresentation.Builder setHasAudioDescription(boolean);
+    method @NonNull public android.media.AudioPresentation.Builder setHasDialogueEnhancement(boolean);
+    method @NonNull public android.media.AudioPresentation.Builder setHasSpokenSubtitles(boolean);
+    method @NonNull public android.media.AudioPresentation.Builder setLabels(@NonNull java.util.Map<android.icu.util.ULocale,java.lang.CharSequence>);
+    method @NonNull public android.media.AudioPresentation.Builder setLocale(@NonNull android.icu.util.ULocale);
+    method @NonNull public android.media.AudioPresentation.Builder setMasteringIndication(int);
+    method @NonNull public android.media.AudioPresentation.Builder setProgramId(int);
+  }
+
+  public class AudioProfile {
+    method @NonNull public int[] getChannelIndexMasks();
+    method @NonNull public int[] getChannelMasks();
+    method public int getEncapsulationType();
+    method public int getFormat();
+    method @NonNull public int[] getSampleRates();
+    field public static final int AUDIO_ENCAPSULATION_TYPE_IEC61937 = 1; // 0x1
+    field public static final int AUDIO_ENCAPSULATION_TYPE_NONE = 0; // 0x0
+  }
+
+  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
+    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(int, int, int, int, int) throws java.lang.IllegalArgumentException;
+    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+    method @Deprecated public void addOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener, android.os.Handler);
+    method protected void finalize();
+    method public java.util.List<android.media.MicrophoneInfo> getActiveMicrophones() throws java.io.IOException;
+    method @Nullable public android.media.AudioRecordingConfiguration getActiveRecordingConfiguration();
+    method public int getAudioFormat();
+    method public int getAudioSessionId();
+    method public int getAudioSource();
+    method public int getBufferSizeInFrames();
+    method public int getChannelConfiguration();
+    method public int getChannelCount();
+    method @NonNull public android.media.AudioFormat getFormat();
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method public android.os.PersistableBundle getMetrics();
+    method public static int getMinBufferSize(int, int, int);
+    method public int getNotificationMarkerPosition();
+    method public int getPositionNotificationPeriod();
+    method public android.media.AudioDeviceInfo getPreferredDevice();
+    method public int getRecordingState();
+    method public android.media.AudioDeviceInfo getRoutedDevice();
+    method public int getSampleRate();
+    method public int getState();
+    method public int getTimestamp(@NonNull android.media.AudioTimestamp, int);
+    method public boolean isPrivacySensitive();
+    method public int read(@NonNull byte[], int, int);
+    method public int read(@NonNull byte[], int, int, int);
+    method public int read(@NonNull short[], int, int);
+    method public int read(@NonNull short[], int, int, int);
+    method public int read(@NonNull float[], int, int, int);
+    method public int read(@NonNull java.nio.ByteBuffer, int);
+    method public int read(@NonNull java.nio.ByteBuffer, int, int);
+    method public void registerAudioRecordingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioRecordingCallback);
+    method public void release();
+    method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener);
+    method @Deprecated public void removeOnRoutingChangedListener(android.media.AudioRecord.OnRoutingChangedListener);
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+    method public int setNotificationMarkerPosition(int);
+    method public int setPositionNotificationPeriod(int);
+    method public boolean setPreferredDevice(android.media.AudioDeviceInfo);
+    method public boolean setPreferredMicrophoneDirection(int);
+    method public boolean setPreferredMicrophoneFieldDimension(@FloatRange(from=-1.0, to=1.0) float);
+    method public void setRecordPositionUpdateListener(android.media.AudioRecord.OnRecordPositionUpdateListener);
+    method public void setRecordPositionUpdateListener(android.media.AudioRecord.OnRecordPositionUpdateListener, android.os.Handler);
+    method public void startRecording() throws java.lang.IllegalStateException;
+    method public void startRecording(android.media.MediaSyncEvent) throws java.lang.IllegalStateException;
+    method public void stop() throws java.lang.IllegalStateException;
+    method public void unregisterAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback);
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe
+    field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa
+    field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd
+    field public static final int READ_BLOCKING = 0; // 0x0
+    field public static final int READ_NON_BLOCKING = 1; // 0x1
+    field public static final int RECORDSTATE_RECORDING = 3; // 0x3
+    field public static final int RECORDSTATE_STOPPED = 1; // 0x1
+    field public static final int STATE_INITIALIZED = 1; // 0x1
+    field public static final int STATE_UNINITIALIZED = 0; // 0x0
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public static class AudioRecord.Builder {
+    ctor public AudioRecord.Builder();
+    method @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public android.media.AudioRecord build() throws java.lang.UnsupportedOperationException;
+    method public android.media.AudioRecord.Builder setAudioFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioRecord.Builder setAudioPlaybackCaptureConfig(@NonNull android.media.AudioPlaybackCaptureConfiguration);
+    method public android.media.AudioRecord.Builder setAudioSource(int) throws java.lang.IllegalArgumentException;
+    method public android.media.AudioRecord.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioRecord.Builder setContext(@NonNull android.content.Context);
+    method @NonNull public android.media.AudioRecord.Builder setPrivacySensitive(boolean);
+  }
+
+  public static final class AudioRecord.MetricsConstants {
+    field public static final String CHANNELS = "android.media.audiorecord.channels";
+    field public static final String ENCODING = "android.media.audiorecord.encoding";
+    field @Deprecated public static final String LATENCY = "android.media.audiorecord.latency";
+    field public static final String SAMPLERATE = "android.media.audiorecord.samplerate";
+    field public static final String SOURCE = "android.media.audiorecord.source";
+  }
+
+  public static interface AudioRecord.OnRecordPositionUpdateListener {
+    method public void onMarkerReached(android.media.AudioRecord);
+    method public void onPeriodicNotification(android.media.AudioRecord);
+  }
+
+  @Deprecated public static interface AudioRecord.OnRoutingChangedListener extends android.media.AudioRouting.OnRoutingChangedListener {
+    method @Deprecated public void onRoutingChanged(android.media.AudioRecord);
+    method @Deprecated public default void onRoutingChanged(android.media.AudioRouting);
+  }
+
+  public final class AudioRecordingConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.AudioDeviceInfo getAudioDevice();
+    method public int getAudioSource();
+    method public int getClientAudioSessionId();
+    method public int getClientAudioSource();
+    method @NonNull public java.util.List<android.media.audiofx.AudioEffect.Descriptor> getClientEffects();
+    method public android.media.AudioFormat getClientFormat();
+    method @NonNull public java.util.List<android.media.audiofx.AudioEffect.Descriptor> getEffects();
+    method public android.media.AudioFormat getFormat();
+    method public boolean isClientSilenced();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioRecordingConfiguration> CREATOR;
+  }
+
+  public interface AudioRecordingMonitor {
+    method @Nullable public android.media.AudioRecordingConfiguration getActiveRecordingConfiguration();
+    method public void registerAudioRecordingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioRecordingCallback);
+    method public void unregisterAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback);
+  }
+
+  public interface AudioRouting {
+    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+    method public android.media.AudioDeviceInfo getPreferredDevice();
+    method public android.media.AudioDeviceInfo getRoutedDevice();
+    method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener);
+    method public boolean setPreferredDevice(android.media.AudioDeviceInfo);
+  }
+
+  public static interface AudioRouting.OnRoutingChangedListener {
+    method public void onRoutingChanged(android.media.AudioRouting);
+  }
+
+  public final class AudioTimestamp {
+    ctor public AudioTimestamp();
+    field public static final int TIMEBASE_BOOTTIME = 1; // 0x1
+    field public static final int TIMEBASE_MONOTONIC = 0; // 0x0
+    field public long framePosition;
+    field public long nanoTime;
+  }
+
+  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
+    ctor @Deprecated public AudioTrack(int, int, int, int, int, int) throws java.lang.IllegalArgumentException;
+    ctor @Deprecated public AudioTrack(int, int, int, int, int, int, int) throws java.lang.IllegalArgumentException;
+    ctor public AudioTrack(android.media.AudioAttributes, android.media.AudioFormat, int, int, int) throws java.lang.IllegalArgumentException;
+    method public void addOnCodecFormatChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioTrack.OnCodecFormatChangedListener);
+    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+    method @Deprecated public void addOnRoutingChangedListener(android.media.AudioTrack.OnRoutingChangedListener, android.os.Handler);
+    method public int attachAuxEffect(int);
+    method @NonNull public android.media.VolumeShaper createVolumeShaper(@NonNull android.media.VolumeShaper.Configuration);
+    method protected void finalize();
+    method public void flush();
+    method @NonNull public android.media.AudioAttributes getAudioAttributes();
+    method public float getAudioDescriptionMixLeveldB();
+    method public int getAudioFormat();
+    method public int getAudioSessionId();
+    method @IntRange(from=0) public int getBufferCapacityInFrames();
+    method @IntRange(from=0) public int getBufferSizeInFrames();
+    method public int getChannelConfiguration();
+    method public int getChannelCount();
+    method public int getDualMonoMode();
+    method @NonNull public android.media.AudioFormat getFormat();
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method public static float getMaxVolume();
+    method public android.os.PersistableBundle getMetrics();
+    method public static int getMinBufferSize(int, int, int);
+    method public static float getMinVolume();
+    method @Deprecated protected int getNativeFrameCount();
+    method public static int getNativeOutputSampleRate(int);
+    method public int getNotificationMarkerPosition();
+    method @IntRange(from=0) public int getOffloadDelay();
+    method @IntRange(from=0) public int getOffloadPadding();
+    method public int getPerformanceMode();
+    method public int getPlayState();
+    method public int getPlaybackHeadPosition();
+    method @NonNull public android.media.PlaybackParams getPlaybackParams();
+    method public int getPlaybackRate();
+    method public int getPositionNotificationPeriod();
+    method public android.media.AudioDeviceInfo getPreferredDevice();
+    method public android.media.AudioDeviceInfo getRoutedDevice();
+    method public int getSampleRate();
+    method @IntRange(from=1) public int getStartThresholdInFrames();
+    method public int getState();
+    method public int getStreamType();
+    method public boolean getTimestamp(android.media.AudioTimestamp);
+    method public int getUnderrunCount();
+    method public static boolean isDirectPlaybackSupported(@NonNull android.media.AudioFormat, @NonNull android.media.AudioAttributes);
+    method public boolean isOffloadedPlayback();
+    method public void pause() throws java.lang.IllegalStateException;
+    method public void play() throws java.lang.IllegalStateException;
+    method public void registerStreamEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioTrack.StreamEventCallback);
+    method public void release();
+    method public int reloadStaticData();
+    method public void removeOnCodecFormatChangedListener(@NonNull android.media.AudioTrack.OnCodecFormatChangedListener);
+    method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener);
+    method @Deprecated public void removeOnRoutingChangedListener(android.media.AudioTrack.OnRoutingChangedListener);
+    method public boolean setAudioDescriptionMixLeveldB(@FloatRange(to=48.0f, toInclusive=true) float);
+    method public int setAuxEffectSendLevel(@FloatRange(from=0.0) float);
+    method public int setBufferSizeInFrames(@IntRange(from=0) int);
+    method public boolean setDualMonoMode(int);
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+    method public int setLoopPoints(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0xffffffff) int);
+    method public int setNotificationMarkerPosition(int);
+    method public void setOffloadDelayPadding(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public void setOffloadEndOfStream();
+    method public int setPlaybackHeadPosition(@IntRange(from=0) int);
+    method public void setPlaybackParams(@NonNull android.media.PlaybackParams);
+    method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener);
+    method public void setPlaybackPositionUpdateListener(android.media.AudioTrack.OnPlaybackPositionUpdateListener, android.os.Handler);
+    method public int setPlaybackRate(int);
+    method public int setPositionNotificationPeriod(int);
+    method public boolean setPreferredDevice(android.media.AudioDeviceInfo);
+    method public int setPresentation(@NonNull android.media.AudioPresentation);
+    method @IntRange(from=1) public int setStartThresholdInFrames(@IntRange(from=1) int);
+    method @Deprecated protected void setState(int);
+    method @Deprecated public int setStereoVolume(float, float);
+    method public int setVolume(float);
+    method public void stop() throws java.lang.IllegalStateException;
+    method public void unregisterStreamEventCallback(@NonNull android.media.AudioTrack.StreamEventCallback);
+    method public int write(@NonNull byte[], int, int);
+    method public int write(@NonNull byte[], int, int, int);
+    method public int write(@NonNull short[], int, int);
+    method public int write(@NonNull short[], int, int, int);
+    method public int write(@NonNull float[], int, int, int);
+    method public int write(@NonNull java.nio.ByteBuffer, int, int);
+    method public int write(@NonNull java.nio.ByteBuffer, int, int, long);
+    field public static final int DUAL_MONO_MODE_LL = 2; // 0x2
+    field public static final int DUAL_MONO_MODE_LR = 1; // 0x1
+    field public static final int DUAL_MONO_MODE_OFF = 0; // 0x0
+    field public static final int DUAL_MONO_MODE_RR = 3; // 0x3
+    field public static final int ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR = 2; // 0x2
+    field public static final int ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER = 1; // 0x1
+    field public static final int ENCAPSULATION_MODE_ELEMENTARY_STREAM = 1; // 0x1
+    field public static final int ENCAPSULATION_MODE_NONE = 0; // 0x0
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_BAD_VALUE = -2; // 0xfffffffe
+    field public static final int ERROR_DEAD_OBJECT = -6; // 0xfffffffa
+    field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd
+    field public static final int MODE_STATIC = 0; // 0x0
+    field public static final int MODE_STREAM = 1; // 0x1
+    field public static final int PERFORMANCE_MODE_LOW_LATENCY = 1; // 0x1
+    field public static final int PERFORMANCE_MODE_NONE = 0; // 0x0
+    field public static final int PERFORMANCE_MODE_POWER_SAVING = 2; // 0x2
+    field public static final int PLAYSTATE_PAUSED = 2; // 0x2
+    field public static final int PLAYSTATE_PLAYING = 3; // 0x3
+    field public static final int PLAYSTATE_STOPPED = 1; // 0x1
+    field public static final int STATE_INITIALIZED = 1; // 0x1
+    field public static final int STATE_NO_STATIC_DATA = 2; // 0x2
+    field public static final int STATE_UNINITIALIZED = 0; // 0x0
+    field public static final int SUCCESS = 0; // 0x0
+    field public static final int WRITE_BLOCKING = 0; // 0x0
+    field public static final int WRITE_NON_BLOCKING = 1; // 0x1
+  }
+
+  public static class AudioTrack.Builder {
+    ctor public AudioTrack.Builder();
+    method @NonNull public android.media.AudioTrack build() throws java.lang.UnsupportedOperationException;
+    method @NonNull public android.media.AudioTrack.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioTrack.Builder setAudioFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioTrack.Builder setBufferSizeInBytes(@IntRange(from=0) int) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioTrack.Builder setEncapsulationMode(int);
+    method @NonNull public android.media.AudioTrack.Builder setOffloadedPlayback(boolean);
+    method @NonNull public android.media.AudioTrack.Builder setPerformanceMode(int);
+    method @NonNull public android.media.AudioTrack.Builder setSessionId(@IntRange(from=1) int) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioTrack.Builder setTransferMode(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public static final class AudioTrack.MetricsConstants {
+    field @Deprecated public static final String CHANNELMASK = "android.media.audiorecord.channelmask";
+    field public static final String CONTENTTYPE = "android.media.audiotrack.type";
+    field @Deprecated public static final String SAMPLERATE = "android.media.audiorecord.samplerate";
+    field public static final String STREAMTYPE = "android.media.audiotrack.streamtype";
+    field public static final String USAGE = "android.media.audiotrack.usage";
+  }
+
+  public static interface AudioTrack.OnCodecFormatChangedListener {
+    method public void onCodecFormatChanged(@NonNull android.media.AudioTrack, @Nullable android.media.AudioMetadataReadMap);
+  }
+
+  public static interface AudioTrack.OnPlaybackPositionUpdateListener {
+    method public void onMarkerReached(android.media.AudioTrack);
+    method public void onPeriodicNotification(android.media.AudioTrack);
+  }
+
+  @Deprecated public static interface AudioTrack.OnRoutingChangedListener extends android.media.AudioRouting.OnRoutingChangedListener {
+    method @Deprecated public void onRoutingChanged(android.media.AudioTrack);
+    method @Deprecated public default void onRoutingChanged(android.media.AudioRouting);
+  }
+
+  public abstract static class AudioTrack.StreamEventCallback {
+    ctor public AudioTrack.StreamEventCallback();
+    method public void onDataRequest(@NonNull android.media.AudioTrack, @IntRange(from=0) int);
+    method public void onPresentationEnded(@NonNull android.media.AudioTrack);
+    method public void onTearDown(@NonNull android.media.AudioTrack);
+  }
+
+  public class CamcorderProfile {
+    method @Deprecated public static android.media.CamcorderProfile get(int);
+    method @Deprecated public static android.media.CamcorderProfile get(int, int);
+    method @Nullable public static android.media.EncoderProfiles getAll(@NonNull String, int);
+    method public static boolean hasProfile(int);
+    method public static boolean hasProfile(int, int);
+    field public static final int QUALITY_1080P = 6; // 0x6
+    field public static final int QUALITY_2160P = 8; // 0x8
+    field public static final int QUALITY_2K = 12; // 0xc
+    field public static final int QUALITY_480P = 4; // 0x4
+    field public static final int QUALITY_4KDCI = 10; // 0xa
+    field public static final int QUALITY_720P = 5; // 0x5
+    field public static final int QUALITY_8KUHD = 13; // 0xd
+    field public static final int QUALITY_CIF = 3; // 0x3
+    field public static final int QUALITY_HIGH = 1; // 0x1
+    field public static final int QUALITY_HIGH_SPEED_1080P = 2004; // 0x7d4
+    field public static final int QUALITY_HIGH_SPEED_2160P = 2005; // 0x7d5
+    field public static final int QUALITY_HIGH_SPEED_480P = 2002; // 0x7d2
+    field public static final int QUALITY_HIGH_SPEED_4KDCI = 2008; // 0x7d8
+    field public static final int QUALITY_HIGH_SPEED_720P = 2003; // 0x7d3
+    field public static final int QUALITY_HIGH_SPEED_CIF = 2006; // 0x7d6
+    field public static final int QUALITY_HIGH_SPEED_HIGH = 2001; // 0x7d1
+    field public static final int QUALITY_HIGH_SPEED_LOW = 2000; // 0x7d0
+    field public static final int QUALITY_HIGH_SPEED_VGA = 2007; // 0x7d7
+    field public static final int QUALITY_LOW = 0; // 0x0
+    field public static final int QUALITY_QCIF = 2; // 0x2
+    field public static final int QUALITY_QHD = 11; // 0xb
+    field public static final int QUALITY_QVGA = 7; // 0x7
+    field public static final int QUALITY_TIME_LAPSE_1080P = 1006; // 0x3ee
+    field public static final int QUALITY_TIME_LAPSE_2160P = 1008; // 0x3f0
+    field public static final int QUALITY_TIME_LAPSE_2K = 1012; // 0x3f4
+    field public static final int QUALITY_TIME_LAPSE_480P = 1004; // 0x3ec
+    field public static final int QUALITY_TIME_LAPSE_4KDCI = 1010; // 0x3f2
+    field public static final int QUALITY_TIME_LAPSE_720P = 1005; // 0x3ed
+    field public static final int QUALITY_TIME_LAPSE_8KUHD = 1013; // 0x3f5
+    field public static final int QUALITY_TIME_LAPSE_CIF = 1003; // 0x3eb
+    field public static final int QUALITY_TIME_LAPSE_HIGH = 1001; // 0x3e9
+    field public static final int QUALITY_TIME_LAPSE_LOW = 1000; // 0x3e8
+    field public static final int QUALITY_TIME_LAPSE_QCIF = 1002; // 0x3ea
+    field public static final int QUALITY_TIME_LAPSE_QHD = 1011; // 0x3f3
+    field public static final int QUALITY_TIME_LAPSE_QVGA = 1007; // 0x3ef
+    field public static final int QUALITY_TIME_LAPSE_VGA = 1009; // 0x3f1
+    field public static final int QUALITY_VGA = 9; // 0x9
+    field public int audioBitRate;
+    field public int audioChannels;
+    field public int audioCodec;
+    field public int audioSampleRate;
+    field public int duration;
+    field public int fileFormat;
+    field public int quality;
+    field public int videoBitRate;
+    field public int videoCodec;
+    field public int videoFrameHeight;
+    field public int videoFrameRate;
+    field public int videoFrameWidth;
+  }
+
+  public class CameraProfile {
+    ctor public CameraProfile();
+    method public static int getJpegEncodingQualityParameter(int);
+    method public static int getJpegEncodingQualityParameter(int, int);
+    field public static final int QUALITY_HIGH = 2; // 0x2
+    field public static final int QUALITY_LOW = 0; // 0x0
+    field public static final int QUALITY_MEDIUM = 1; // 0x1
+  }
+
+  public final class DeniedByServerException extends android.media.MediaDrmException {
+    ctor public DeniedByServerException(String);
+  }
+
+  public abstract class DrmInitData {
+    method @Deprecated public abstract android.media.DrmInitData.SchemeInitData get(java.util.UUID);
+    method @NonNull public android.media.DrmInitData.SchemeInitData getSchemeInitDataAt(int);
+    method public int getSchemeInitDataCount();
+  }
+
+  public static final class DrmInitData.SchemeInitData {
+    ctor public DrmInitData.SchemeInitData(@NonNull java.util.UUID, @NonNull String, @NonNull byte[]);
+    field @NonNull public static final java.util.UUID UUID_NIL;
+    field public final byte[] data;
+    field public final String mimeType;
+    field @NonNull public final java.util.UUID uuid;
+  }
+
+  public final class EncoderProfiles {
+    method @NonNull public java.util.List<android.media.EncoderProfiles.AudioProfile> getAudioProfiles();
+    method public int getDefaultDurationSeconds();
+    method public int getRecommendedFileFormat();
+    method @NonNull public java.util.List<android.media.EncoderProfiles.VideoProfile> getVideoProfiles();
+  }
+
+  public static final class EncoderProfiles.AudioProfile {
+    method public int getBitrate();
+    method public int getChannels();
+    method public int getCodec();
+    method @NonNull public String getMediaType();
+    method public int getProfile();
+    method public int getSampleRate();
+  }
+
+  public static final class EncoderProfiles.VideoProfile {
+    method public int getBitrate();
+    method public int getCodec();
+    method public int getFrameRate();
+    method public int getHeight();
+    method @NonNull public String getMediaType();
+    method public int getProfile();
+    method public int getWidth();
+  }
+
+  public class ExifInterface {
+    ctor public ExifInterface(@NonNull java.io.File) throws java.io.IOException;
+    ctor public ExifInterface(@NonNull String) throws java.io.IOException;
+    ctor public ExifInterface(@NonNull java.io.FileDescriptor) throws java.io.IOException;
+    ctor public ExifInterface(@NonNull java.io.InputStream) throws java.io.IOException;
+    ctor public ExifInterface(@NonNull java.io.InputStream, int) throws java.io.IOException;
+    method public double getAltitude(double);
+    method @Nullable public String getAttribute(@NonNull String);
+    method @Nullable public byte[] getAttributeBytes(@NonNull String);
+    method public double getAttributeDouble(@NonNull String, double);
+    method public int getAttributeInt(@NonNull String, int);
+    method @Nullable public long[] getAttributeRange(@NonNull String);
+    method public long getDateTime();
+    method public long getDateTimeDigitized();
+    method public long getDateTimeOriginal();
+    method public long getGpsDateTime();
+    method public boolean getLatLong(float[]);
+    method public byte[] getThumbnail();
+    method public android.graphics.Bitmap getThumbnailBitmap();
+    method public byte[] getThumbnailBytes();
+    method @Nullable public long[] getThumbnailRange();
+    method public boolean hasAttribute(@NonNull String);
+    method public boolean hasThumbnail();
+    method public static boolean isSupportedMimeType(@NonNull String);
+    method public boolean isThumbnailCompressed();
+    method public void saveAttributes() throws java.io.IOException;
+    method public void setAttribute(@NonNull String, @Nullable String);
+    field public static final int ORIENTATION_FLIP_HORIZONTAL = 2; // 0x2
+    field public static final int ORIENTATION_FLIP_VERTICAL = 4; // 0x4
+    field public static final int ORIENTATION_NORMAL = 1; // 0x1
+    field public static final int ORIENTATION_ROTATE_180 = 3; // 0x3
+    field public static final int ORIENTATION_ROTATE_270 = 8; // 0x8
+    field public static final int ORIENTATION_ROTATE_90 = 6; // 0x6
+    field public static final int ORIENTATION_TRANSPOSE = 5; // 0x5
+    field public static final int ORIENTATION_TRANSVERSE = 7; // 0x7
+    field public static final int ORIENTATION_UNDEFINED = 0; // 0x0
+    field public static final int STREAM_TYPE_EXIF_DATA_ONLY = 1; // 0x1
+    field public static final int STREAM_TYPE_FULL_IMAGE_DATA = 0; // 0x0
+    field @Deprecated public static final String TAG_APERTURE = "FNumber";
+    field public static final String TAG_APERTURE_VALUE = "ApertureValue";
+    field public static final String TAG_ARTIST = "Artist";
+    field public static final String TAG_BITS_PER_SAMPLE = "BitsPerSample";
+    field public static final String TAG_BRIGHTNESS_VALUE = "BrightnessValue";
+    field public static final String TAG_CFA_PATTERN = "CFAPattern";
+    field public static final String TAG_COLOR_SPACE = "ColorSpace";
+    field public static final String TAG_COMPONENTS_CONFIGURATION = "ComponentsConfiguration";
+    field public static final String TAG_COMPRESSED_BITS_PER_PIXEL = "CompressedBitsPerPixel";
+    field public static final String TAG_COMPRESSION = "Compression";
+    field public static final String TAG_CONTRAST = "Contrast";
+    field public static final String TAG_COPYRIGHT = "Copyright";
+    field public static final String TAG_CUSTOM_RENDERED = "CustomRendered";
+    field public static final String TAG_DATETIME = "DateTime";
+    field public static final String TAG_DATETIME_DIGITIZED = "DateTimeDigitized";
+    field public static final String TAG_DATETIME_ORIGINAL = "DateTimeOriginal";
+    field public static final String TAG_DEFAULT_CROP_SIZE = "DefaultCropSize";
+    field public static final String TAG_DEVICE_SETTING_DESCRIPTION = "DeviceSettingDescription";
+    field public static final String TAG_DIGITAL_ZOOM_RATIO = "DigitalZoomRatio";
+    field public static final String TAG_DNG_VERSION = "DNGVersion";
+    field public static final String TAG_EXIF_VERSION = "ExifVersion";
+    field public static final String TAG_EXPOSURE_BIAS_VALUE = "ExposureBiasValue";
+    field public static final String TAG_EXPOSURE_INDEX = "ExposureIndex";
+    field public static final String TAG_EXPOSURE_MODE = "ExposureMode";
+    field public static final String TAG_EXPOSURE_PROGRAM = "ExposureProgram";
+    field public static final String TAG_EXPOSURE_TIME = "ExposureTime";
+    field public static final String TAG_FILE_SOURCE = "FileSource";
+    field public static final String TAG_FLASH = "Flash";
+    field public static final String TAG_FLASHPIX_VERSION = "FlashpixVersion";
+    field public static final String TAG_FLASH_ENERGY = "FlashEnergy";
+    field public static final String TAG_FOCAL_LENGTH = "FocalLength";
+    field public static final String TAG_FOCAL_LENGTH_IN_35MM_FILM = "FocalLengthIn35mmFilm";
+    field public static final String TAG_FOCAL_PLANE_RESOLUTION_UNIT = "FocalPlaneResolutionUnit";
+    field public static final String TAG_FOCAL_PLANE_X_RESOLUTION = "FocalPlaneXResolution";
+    field public static final String TAG_FOCAL_PLANE_Y_RESOLUTION = "FocalPlaneYResolution";
+    field public static final String TAG_F_NUMBER = "FNumber";
+    field public static final String TAG_GAIN_CONTROL = "GainControl";
+    field public static final String TAG_GPS_ALTITUDE = "GPSAltitude";
+    field public static final String TAG_GPS_ALTITUDE_REF = "GPSAltitudeRef";
+    field public static final String TAG_GPS_AREA_INFORMATION = "GPSAreaInformation";
+    field public static final String TAG_GPS_DATESTAMP = "GPSDateStamp";
+    field public static final String TAG_GPS_DEST_BEARING = "GPSDestBearing";
+    field public static final String TAG_GPS_DEST_BEARING_REF = "GPSDestBearingRef";
+    field public static final String TAG_GPS_DEST_DISTANCE = "GPSDestDistance";
+    field public static final String TAG_GPS_DEST_DISTANCE_REF = "GPSDestDistanceRef";
+    field public static final String TAG_GPS_DEST_LATITUDE = "GPSDestLatitude";
+    field public static final String TAG_GPS_DEST_LATITUDE_REF = "GPSDestLatitudeRef";
+    field public static final String TAG_GPS_DEST_LONGITUDE = "GPSDestLongitude";
+    field public static final String TAG_GPS_DEST_LONGITUDE_REF = "GPSDestLongitudeRef";
+    field public static final String TAG_GPS_DIFFERENTIAL = "GPSDifferential";
+    field public static final String TAG_GPS_DOP = "GPSDOP";
+    field public static final String TAG_GPS_IMG_DIRECTION = "GPSImgDirection";
+    field public static final String TAG_GPS_IMG_DIRECTION_REF = "GPSImgDirectionRef";
+    field public static final String TAG_GPS_LATITUDE = "GPSLatitude";
+    field public static final String TAG_GPS_LATITUDE_REF = "GPSLatitudeRef";
+    field public static final String TAG_GPS_LONGITUDE = "GPSLongitude";
+    field public static final String TAG_GPS_LONGITUDE_REF = "GPSLongitudeRef";
+    field public static final String TAG_GPS_MAP_DATUM = "GPSMapDatum";
+    field public static final String TAG_GPS_MEASURE_MODE = "GPSMeasureMode";
+    field public static final String TAG_GPS_PROCESSING_METHOD = "GPSProcessingMethod";
+    field public static final String TAG_GPS_SATELLITES = "GPSSatellites";
+    field public static final String TAG_GPS_SPEED = "GPSSpeed";
+    field public static final String TAG_GPS_SPEED_REF = "GPSSpeedRef";
+    field public static final String TAG_GPS_STATUS = "GPSStatus";
+    field public static final String TAG_GPS_TIMESTAMP = "GPSTimeStamp";
+    field public static final String TAG_GPS_TRACK = "GPSTrack";
+    field public static final String TAG_GPS_TRACK_REF = "GPSTrackRef";
+    field public static final String TAG_GPS_VERSION_ID = "GPSVersionID";
+    field public static final String TAG_IMAGE_DESCRIPTION = "ImageDescription";
+    field public static final String TAG_IMAGE_LENGTH = "ImageLength";
+    field public static final String TAG_IMAGE_UNIQUE_ID = "ImageUniqueID";
+    field public static final String TAG_IMAGE_WIDTH = "ImageWidth";
+    field public static final String TAG_INTEROPERABILITY_INDEX = "InteroperabilityIndex";
+    field @Deprecated public static final String TAG_ISO = "ISOSpeedRatings";
+    field public static final String TAG_ISO_SPEED_RATINGS = "ISOSpeedRatings";
+    field public static final String TAG_JPEG_INTERCHANGE_FORMAT = "JPEGInterchangeFormat";
+    field public static final String TAG_JPEG_INTERCHANGE_FORMAT_LENGTH = "JPEGInterchangeFormatLength";
+    field public static final String TAG_LIGHT_SOURCE = "LightSource";
+    field public static final String TAG_MAKE = "Make";
+    field public static final String TAG_MAKER_NOTE = "MakerNote";
+    field public static final String TAG_MAX_APERTURE_VALUE = "MaxApertureValue";
+    field public static final String TAG_METERING_MODE = "MeteringMode";
+    field public static final String TAG_MODEL = "Model";
+    field public static final String TAG_NEW_SUBFILE_TYPE = "NewSubfileType";
+    field public static final String TAG_OECF = "OECF";
+    field public static final String TAG_OFFSET_TIME = "OffsetTime";
+    field public static final String TAG_OFFSET_TIME_DIGITIZED = "OffsetTimeDigitized";
+    field public static final String TAG_OFFSET_TIME_ORIGINAL = "OffsetTimeOriginal";
+    field public static final String TAG_ORF_ASPECT_FRAME = "AspectFrame";
+    field public static final String TAG_ORF_PREVIEW_IMAGE_LENGTH = "PreviewImageLength";
+    field public static final String TAG_ORF_PREVIEW_IMAGE_START = "PreviewImageStart";
+    field public static final String TAG_ORF_THUMBNAIL_IMAGE = "ThumbnailImage";
+    field public static final String TAG_ORIENTATION = "Orientation";
+    field public static final String TAG_PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation";
+    field public static final String TAG_PIXEL_X_DIMENSION = "PixelXDimension";
+    field public static final String TAG_PIXEL_Y_DIMENSION = "PixelYDimension";
+    field public static final String TAG_PLANAR_CONFIGURATION = "PlanarConfiguration";
+    field public static final String TAG_PRIMARY_CHROMATICITIES = "PrimaryChromaticities";
+    field public static final String TAG_REFERENCE_BLACK_WHITE = "ReferenceBlackWhite";
+    field public static final String TAG_RELATED_SOUND_FILE = "RelatedSoundFile";
+    field public static final String TAG_RESOLUTION_UNIT = "ResolutionUnit";
+    field public static final String TAG_ROWS_PER_STRIP = "RowsPerStrip";
+    field public static final String TAG_RW2_ISO = "ISO";
+    field public static final String TAG_RW2_JPG_FROM_RAW = "JpgFromRaw";
+    field public static final String TAG_RW2_SENSOR_BOTTOM_BORDER = "SensorBottomBorder";
+    field public static final String TAG_RW2_SENSOR_LEFT_BORDER = "SensorLeftBorder";
+    field public static final String TAG_RW2_SENSOR_RIGHT_BORDER = "SensorRightBorder";
+    field public static final String TAG_RW2_SENSOR_TOP_BORDER = "SensorTopBorder";
+    field public static final String TAG_SAMPLES_PER_PIXEL = "SamplesPerPixel";
+    field public static final String TAG_SATURATION = "Saturation";
+    field public static final String TAG_SCENE_CAPTURE_TYPE = "SceneCaptureType";
+    field public static final String TAG_SCENE_TYPE = "SceneType";
+    field public static final String TAG_SENSING_METHOD = "SensingMethod";
+    field public static final String TAG_SHARPNESS = "Sharpness";
+    field public static final String TAG_SHUTTER_SPEED_VALUE = "ShutterSpeedValue";
+    field public static final String TAG_SOFTWARE = "Software";
+    field public static final String TAG_SPATIAL_FREQUENCY_RESPONSE = "SpatialFrequencyResponse";
+    field public static final String TAG_SPECTRAL_SENSITIVITY = "SpectralSensitivity";
+    field public static final String TAG_STRIP_BYTE_COUNTS = "StripByteCounts";
+    field public static final String TAG_STRIP_OFFSETS = "StripOffsets";
+    field public static final String TAG_SUBFILE_TYPE = "SubfileType";
+    field public static final String TAG_SUBJECT_AREA = "SubjectArea";
+    field public static final String TAG_SUBJECT_DISTANCE = "SubjectDistance";
+    field public static final String TAG_SUBJECT_DISTANCE_RANGE = "SubjectDistanceRange";
+    field public static final String TAG_SUBJECT_LOCATION = "SubjectLocation";
+    field public static final String TAG_SUBSEC_TIME = "SubSecTime";
+    field @Deprecated public static final String TAG_SUBSEC_TIME_DIG = "SubSecTimeDigitized";
+    field public static final String TAG_SUBSEC_TIME_DIGITIZED = "SubSecTimeDigitized";
+    field @Deprecated public static final String TAG_SUBSEC_TIME_ORIG = "SubSecTimeOriginal";
+    field public static final String TAG_SUBSEC_TIME_ORIGINAL = "SubSecTimeOriginal";
+    field public static final String TAG_THUMBNAIL_IMAGE_LENGTH = "ThumbnailImageLength";
+    field public static final String TAG_THUMBNAIL_IMAGE_WIDTH = "ThumbnailImageWidth";
+    field public static final String TAG_THUMBNAIL_ORIENTATION = "ThumbnailOrientation";
+    field public static final String TAG_TRANSFER_FUNCTION = "TransferFunction";
+    field public static final String TAG_USER_COMMENT = "UserComment";
+    field public static final String TAG_WHITE_BALANCE = "WhiteBalance";
+    field public static final String TAG_WHITE_POINT = "WhitePoint";
+    field public static final String TAG_XMP = "Xmp";
+    field public static final String TAG_X_RESOLUTION = "XResolution";
+    field public static final String TAG_Y_CB_CR_COEFFICIENTS = "YCbCrCoefficients";
+    field public static final String TAG_Y_CB_CR_POSITIONING = "YCbCrPositioning";
+    field public static final String TAG_Y_CB_CR_SUB_SAMPLING = "YCbCrSubSampling";
+    field public static final String TAG_Y_RESOLUTION = "YResolution";
+    field public static final int WHITEBALANCE_AUTO = 0; // 0x0
+    field public static final int WHITEBALANCE_MANUAL = 1; // 0x1
+  }
+
+  public class FaceDetector {
+    ctor public FaceDetector(int, int, int);
+    method public int findFaces(android.graphics.Bitmap, android.media.FaceDetector.Face[]);
+  }
+
+  public class FaceDetector.Face {
+    method public float confidence();
+    method public float eyesDistance();
+    method public void getMidPoint(android.graphics.PointF);
+    method public float pose(int);
+    field public static final float CONFIDENCE_THRESHOLD = 0.4f;
+    field public static final int EULER_X = 0; // 0x0
+    field public static final int EULER_Y = 1; // 0x1
+    field public static final int EULER_Z = 2; // 0x2
+  }
+
+  public abstract class Image implements java.lang.AutoCloseable {
+    method public abstract void close();
+    method public android.graphics.Rect getCropRect();
+    method public abstract int getFormat();
+    method @Nullable public android.hardware.HardwareBuffer getHardwareBuffer();
+    method public abstract int getHeight();
+    method public abstract android.media.Image.Plane[] getPlanes();
+    method public abstract long getTimestamp();
+    method public abstract int getWidth();
+    method public void setCropRect(android.graphics.Rect);
+    method public void setTimestamp(long);
+  }
+
+  public abstract static class Image.Plane {
+    method public abstract java.nio.ByteBuffer getBuffer();
+    method public abstract int getPixelStride();
+    method public abstract int getRowStride();
+  }
+
+  public class ImageReader implements java.lang.AutoCloseable {
+    method public android.media.Image acquireLatestImage();
+    method public android.media.Image acquireNextImage();
+    method public void close();
+    method public void discardFreeBuffers();
+    method public int getHeight();
+    method public int getImageFormat();
+    method public int getMaxImages();
+    method public android.view.Surface getSurface();
+    method public int getWidth();
+    method @NonNull public static android.media.ImageReader newInstance(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int);
+    method @NonNull public static android.media.ImageReader newInstance(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int, long);
+    method public void setOnImageAvailableListener(android.media.ImageReader.OnImageAvailableListener, android.os.Handler);
+  }
+
+  public static interface ImageReader.OnImageAvailableListener {
+    method public void onImageAvailable(android.media.ImageReader);
+  }
+
+  public class ImageWriter implements java.lang.AutoCloseable {
+    method public void close();
+    method public android.media.Image dequeueInputImage();
+    method public int getFormat();
+    method public int getMaxImages();
+    method @NonNull public static android.media.ImageWriter newInstance(@NonNull android.view.Surface, @IntRange(from=1) int);
+    method @NonNull public static android.media.ImageWriter newInstance(@NonNull android.view.Surface, @IntRange(from=1) int, int);
+    method public void queueInputImage(android.media.Image);
+    method public void setOnImageReleasedListener(android.media.ImageWriter.OnImageReleasedListener, android.os.Handler);
+  }
+
+  public static interface ImageWriter.OnImageReleasedListener {
+    method public void onImageReleased(android.media.ImageWriter);
+  }
+
+  public class JetPlayer {
+    method public boolean clearQueue();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method public boolean closeJetFile();
+    method protected void finalize();
+    method public static android.media.JetPlayer getJetPlayer();
+    method public static int getMaxTracks();
+    method public boolean loadJetFile(String);
+    method public boolean loadJetFile(android.content.res.AssetFileDescriptor);
+    method public boolean pause();
+    method public boolean play();
+    method public boolean queueJetSegment(int, int, int, int, int, byte);
+    method public boolean queueJetSegmentMuteArray(int, int, int, int, boolean[], byte);
+    method public void release();
+    method public void setEventListener(android.media.JetPlayer.OnJetEventListener);
+    method public void setEventListener(android.media.JetPlayer.OnJetEventListener, android.os.Handler);
+    method public boolean setMuteArray(boolean[], boolean);
+    method public boolean setMuteFlag(int, boolean, boolean);
+    method public boolean setMuteFlags(int, boolean);
+    method public boolean triggerClip(int);
+  }
+
+  public static interface JetPlayer.OnJetEventListener {
+    method public void onJetEvent(android.media.JetPlayer, short, byte, byte, byte, byte);
+    method public void onJetNumQueuedSegmentUpdate(android.media.JetPlayer, int);
+    method public void onJetPauseUpdate(android.media.JetPlayer, int);
+    method public void onJetUserIdUpdate(android.media.JetPlayer, int, int);
+  }
+
+  public class MediaActionSound {
+    ctor public MediaActionSound();
+    method public void load(int);
+    method public void play(int);
+    method public void release();
+    field public static final int FOCUS_COMPLETE = 1; // 0x1
+    field public static final int SHUTTER_CLICK = 0; // 0x0
+    field public static final int START_VIDEO_RECORDING = 2; // 0x2
+    field public static final int STOP_VIDEO_RECORDING = 3; // 0x3
+  }
+
+  public final class MediaCas implements java.lang.AutoCloseable {
+    ctor public MediaCas(int) throws android.media.MediaCasException.UnsupportedCasException;
+    ctor public MediaCas(@NonNull android.content.Context, int, @Nullable String, int) throws android.media.MediaCasException.UnsupportedCasException;
+    ctor public MediaCas(@NonNull android.content.Context, int, @Nullable String, int, @Nullable android.os.Handler, @Nullable android.media.MediaCas.EventListener) throws android.media.MediaCasException.UnsupportedCasException;
+    method public void close();
+    method public static android.media.MediaCas.PluginDescriptor[] enumeratePlugins();
+    method protected void finalize();
+    method public static boolean isSystemIdSupported(int);
+    method public android.media.MediaCas.Session openSession() throws android.media.MediaCasException;
+    method @Nullable public android.media.MediaCas.Session openSession(int, int) throws android.media.MediaCasException;
+    method public void processEmm(@NonNull byte[], int, int) throws android.media.MediaCasException;
+    method public void processEmm(@NonNull byte[]) throws android.media.MediaCasException;
+    method public void provision(@NonNull String) throws android.media.MediaCasException;
+    method public void refreshEntitlements(int, @Nullable byte[]) throws android.media.MediaCasException;
+    method public void sendEvent(int, int, @Nullable byte[]) throws android.media.MediaCasException;
+    method public void setEventListener(@Nullable android.media.MediaCas.EventListener, @Nullable android.os.Handler);
+    method public void setPrivateData(@NonNull byte[]) throws android.media.MediaCasException;
+    field public static final int PLUGIN_STATUS_PHYSICAL_MODULE_CHANGED = 0; // 0x0
+    field public static final int PLUGIN_STATUS_SESSION_NUMBER_CHANGED = 1; // 0x1
+    field public static final int SCRAMBLING_MODE_AES128 = 9; // 0x9
+    field public static final int SCRAMBLING_MODE_AES_ECB = 10; // 0xa
+    field public static final int SCRAMBLING_MODE_AES_SCTE52 = 11; // 0xb
+    field public static final int SCRAMBLING_MODE_DVB_CISSA_V1 = 6; // 0x6
+    field public static final int SCRAMBLING_MODE_DVB_CSA1 = 1; // 0x1
+    field public static final int SCRAMBLING_MODE_DVB_CSA2 = 2; // 0x2
+    field public static final int SCRAMBLING_MODE_DVB_CSA3_ENHANCE = 5; // 0x5
+    field public static final int SCRAMBLING_MODE_DVB_CSA3_MINIMAL = 4; // 0x4
+    field public static final int SCRAMBLING_MODE_DVB_CSA3_STANDARD = 3; // 0x3
+    field public static final int SCRAMBLING_MODE_DVB_IDSA = 7; // 0x7
+    field public static final int SCRAMBLING_MODE_MULTI2 = 8; // 0x8
+    field public static final int SCRAMBLING_MODE_RESERVED = 0; // 0x0
+    field public static final int SCRAMBLING_MODE_TDES_ECB = 12; // 0xc
+    field public static final int SCRAMBLING_MODE_TDES_SCTE52 = 13; // 0xd
+    field public static final int SESSION_USAGE_LIVE = 0; // 0x0
+    field public static final int SESSION_USAGE_PLAYBACK = 1; // 0x1
+    field public static final int SESSION_USAGE_RECORD = 2; // 0x2
+    field public static final int SESSION_USAGE_TIMESHIFT = 3; // 0x3
+  }
+
+  public static interface MediaCas.EventListener {
+    method public void onEvent(@NonNull android.media.MediaCas, int, int, @Nullable byte[]);
+    method public default void onPluginStatusUpdate(@NonNull android.media.MediaCas, int, int);
+    method public default void onResourceLost(@NonNull android.media.MediaCas);
+    method public default void onSessionEvent(@NonNull android.media.MediaCas, @NonNull android.media.MediaCas.Session, int, int, @Nullable byte[]);
+  }
+
+  public static class MediaCas.PluginDescriptor {
+    method @NonNull public String getName();
+    method public int getSystemId();
+  }
+
+  public final class MediaCas.Session implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public byte[] getSessionId();
+    method public void processEcm(@NonNull byte[], int, int) throws android.media.MediaCasException;
+    method public void processEcm(@NonNull byte[]) throws android.media.MediaCasException;
+    method public void sendSessionEvent(int, int, @Nullable byte[]) throws android.media.MediaCasException;
+    method public void setPrivateData(@NonNull byte[]) throws android.media.MediaCasException;
+  }
+
+  public class MediaCasException extends java.lang.Exception {
+  }
+
+  public static final class MediaCasException.DeniedByServerException extends android.media.MediaCasException {
+  }
+
+  public static final class MediaCasException.InsufficientResourceException extends android.media.MediaCasException {
+  }
+
+  public static final class MediaCasException.NotProvisionedException extends android.media.MediaCasException {
+  }
+
+  public static final class MediaCasException.ResourceBusyException extends android.media.MediaCasException {
+  }
+
+  public static final class MediaCasException.UnsupportedCasException extends android.media.MediaCasException {
+  }
+
+  public class MediaCasStateException extends java.lang.IllegalStateException {
+    method @NonNull public String getDiagnosticInfo();
+  }
+
+  public final class MediaCodec {
+    method public void configure(@Nullable android.media.MediaFormat, @Nullable android.view.Surface, @Nullable android.media.MediaCrypto, int);
+    method public void configure(@Nullable android.media.MediaFormat, @Nullable android.view.Surface, int, @Nullable android.media.MediaDescrambler);
+    method @NonNull public static android.media.MediaCodec createByCodecName(@NonNull String) throws java.io.IOException;
+    method @NonNull public static android.media.MediaCodec createDecoderByType(@NonNull String) throws java.io.IOException;
+    method @NonNull public static android.media.MediaCodec createEncoderByType(@NonNull String) throws java.io.IOException;
+    method @NonNull public android.view.Surface createInputSurface();
+    method @NonNull public static android.view.Surface createPersistentInputSurface();
+    method public int dequeueInputBuffer(long);
+    method public int dequeueOutputBuffer(@NonNull android.media.MediaCodec.BufferInfo, long);
+    method protected void finalize();
+    method public void flush();
+    method @NonNull public String getCanonicalName();
+    method @NonNull public android.media.MediaCodecInfo getCodecInfo();
+    method @Nullable public java.nio.ByteBuffer getInputBuffer(int);
+    method @Deprecated @NonNull public java.nio.ByteBuffer[] getInputBuffers();
+    method @NonNull public android.media.MediaFormat getInputFormat();
+    method @Nullable public android.media.Image getInputImage(int);
+    method public android.os.PersistableBundle getMetrics();
+    method @NonNull public String getName();
+    method @Nullable public java.nio.ByteBuffer getOutputBuffer(int);
+    method @Deprecated @NonNull public java.nio.ByteBuffer[] getOutputBuffers();
+    method @NonNull public android.media.MediaFormat getOutputFormat();
+    method @NonNull public android.media.MediaFormat getOutputFormat(int);
+    method @NonNull public android.media.MediaCodec.OutputFrame getOutputFrame(int);
+    method @Nullable public android.media.Image getOutputImage(int);
+    method @Nullable public android.media.MediaCodec.ParameterDescriptor getParameterDescriptor(@NonNull String);
+    method @NonNull public android.media.MediaCodec.QueueRequest getQueueRequest(int);
+    method @NonNull public java.util.List<java.lang.String> getSupportedVendorParameters();
+    method @Nullable public static android.media.Image mapHardwareBuffer(@NonNull android.hardware.HardwareBuffer);
+    method public void queueInputBuffer(int, int, int, long, int) throws android.media.MediaCodec.CryptoException;
+    method public void queueSecureInputBuffer(int, int, @NonNull android.media.MediaCodec.CryptoInfo, long, int) throws android.media.MediaCodec.CryptoException;
+    method public void release();
+    method public void releaseOutputBuffer(int, boolean);
+    method public void releaseOutputBuffer(int, long);
+    method public void reset();
+    method public void setAudioPresentation(@NonNull android.media.AudioPresentation);
+    method public void setCallback(@Nullable android.media.MediaCodec.Callback, @Nullable android.os.Handler);
+    method public void setCallback(@Nullable android.media.MediaCodec.Callback);
+    method public void setInputSurface(@NonNull android.view.Surface);
+    method public void setOnFirstTunnelFrameReadyListener(@Nullable android.os.Handler, @Nullable android.media.MediaCodec.OnFirstTunnelFrameReadyListener);
+    method public void setOnFrameRenderedListener(@Nullable android.media.MediaCodec.OnFrameRenderedListener, @Nullable android.os.Handler);
+    method public void setOutputSurface(@NonNull android.view.Surface);
+    method public void setParameters(@Nullable android.os.Bundle);
+    method public void setVideoScalingMode(int);
+    method public void signalEndOfInputStream();
+    method public void start();
+    method public void stop();
+    method public void subscribeToVendorParameters(@NonNull java.util.List<java.lang.String>);
+    method public void unsubscribeFromVendorParameters(@NonNull java.util.List<java.lang.String>);
+    field public static final int BUFFER_FLAG_CODEC_CONFIG = 2; // 0x2
+    field public static final int BUFFER_FLAG_END_OF_STREAM = 4; // 0x4
+    field public static final int BUFFER_FLAG_KEY_FRAME = 1; // 0x1
+    field public static final int BUFFER_FLAG_PARTIAL_FRAME = 8; // 0x8
+    field @Deprecated public static final int BUFFER_FLAG_SYNC_FRAME = 1; // 0x1
+    field public static final int CONFIGURE_FLAG_ENCODE = 1; // 0x1
+    field public static final int CONFIGURE_FLAG_USE_BLOCK_MODEL = 2; // 0x2
+    field public static final int CRYPTO_MODE_AES_CBC = 2; // 0x2
+    field public static final int CRYPTO_MODE_AES_CTR = 1; // 0x1
+    field public static final int CRYPTO_MODE_UNENCRYPTED = 0; // 0x0
+    field @Deprecated public static final int INFO_OUTPUT_BUFFERS_CHANGED = -3; // 0xfffffffd
+    field public static final int INFO_OUTPUT_FORMAT_CHANGED = -2; // 0xfffffffe
+    field public static final int INFO_TRY_AGAIN_LATER = -1; // 0xffffffff
+    field public static final String PARAMETER_KEY_HDR10_PLUS_INFO = "hdr10-plus-info";
+    field public static final String PARAMETER_KEY_LOW_LATENCY = "low-latency";
+    field public static final String PARAMETER_KEY_OFFSET_TIME = "time-offset-us";
+    field public static final String PARAMETER_KEY_REQUEST_SYNC_FRAME = "request-sync";
+    field public static final String PARAMETER_KEY_SUSPEND = "drop-input-frames";
+    field public static final String PARAMETER_KEY_SUSPEND_TIME = "drop-start-time-us";
+    field public static final String PARAMETER_KEY_TUNNEL_PEEK = "tunnel-peek";
+    field public static final String PARAMETER_KEY_VIDEO_BITRATE = "video-bitrate";
+    field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
+    field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2
+  }
+
+  public static final class MediaCodec.BufferInfo {
+    ctor public MediaCodec.BufferInfo();
+    method public void set(int, int, long, int);
+    field public int flags;
+    field public int offset;
+    field public long presentationTimeUs;
+    field public int size;
+  }
+
+  public abstract static class MediaCodec.Callback {
+    ctor public MediaCodec.Callback();
+    method public abstract void onError(@NonNull android.media.MediaCodec, @NonNull android.media.MediaCodec.CodecException);
+    method public abstract void onInputBufferAvailable(@NonNull android.media.MediaCodec, int);
+    method public abstract void onOutputBufferAvailable(@NonNull android.media.MediaCodec, int, @NonNull android.media.MediaCodec.BufferInfo);
+    method public abstract void onOutputFormatChanged(@NonNull android.media.MediaCodec, @NonNull android.media.MediaFormat);
+  }
+
+  public static final class MediaCodec.CodecException extends java.lang.IllegalStateException {
+    method @NonNull public String getDiagnosticInfo();
+    method public int getErrorCode();
+    method public boolean isRecoverable();
+    method public boolean isTransient();
+    field public static final int ERROR_INSUFFICIENT_RESOURCE = 1100; // 0x44c
+    field public static final int ERROR_RECLAIMED = 1101; // 0x44d
+  }
+
+  public static final class MediaCodec.CryptoException extends java.lang.RuntimeException {
+    ctor public MediaCodec.CryptoException(int, @Nullable String);
+    method public int getErrorCode();
+    field @Deprecated public static final int ERROR_FRAME_TOO_LARGE = 8; // 0x8
+    field @Deprecated public static final int ERROR_INSUFFICIENT_OUTPUT_PROTECTION = 4; // 0x4
+    field @Deprecated public static final int ERROR_INSUFFICIENT_SECURITY = 7; // 0x7
+    field @Deprecated public static final int ERROR_KEY_EXPIRED = 2; // 0x2
+    field @Deprecated public static final int ERROR_LOST_STATE = 9; // 0x9
+    field @Deprecated public static final int ERROR_NO_KEY = 1; // 0x1
+    field @Deprecated public static final int ERROR_RESOURCE_BUSY = 3; // 0x3
+    field @Deprecated public static final int ERROR_SESSION_NOT_OPENED = 5; // 0x5
+    field @Deprecated public static final int ERROR_UNSUPPORTED_OPERATION = 6; // 0x6
+  }
+
+  public static final class MediaCodec.CryptoInfo {
+    ctor public MediaCodec.CryptoInfo();
+    method @NonNull public android.media.MediaCodec.CryptoInfo.Pattern getPattern();
+    method public void set(int, @NonNull int[], @NonNull int[], @NonNull byte[], @NonNull byte[], int);
+    method public void setPattern(android.media.MediaCodec.CryptoInfo.Pattern);
+    field public byte[] iv;
+    field public byte[] key;
+    field public int mode;
+    field public int[] numBytesOfClearData;
+    field public int[] numBytesOfEncryptedData;
+    field public int numSubSamples;
+  }
+
+  public static final class MediaCodec.CryptoInfo.Pattern {
+    ctor public MediaCodec.CryptoInfo.Pattern(int, int);
+    method public int getEncryptBlocks();
+    method public int getSkipBlocks();
+    method public void set(int, int);
+  }
+
+  public class MediaCodec.IncompatibleWithBlockModelException extends java.lang.RuntimeException {
+  }
+
+  public static final class MediaCodec.LinearBlock {
+    method protected void finalize();
+    method public static boolean isCodecCopyFreeCompatible(@NonNull String[]);
+    method public boolean isMappable();
+    method @NonNull public java.nio.ByteBuffer map();
+    method @Nullable public static android.media.MediaCodec.LinearBlock obtain(int, @NonNull String[]);
+    method public void recycle();
+  }
+
+  public static final class MediaCodec.MetricsConstants {
+    field public static final String CODEC = "android.media.mediacodec.codec";
+    field public static final String ENCODER = "android.media.mediacodec.encoder";
+    field public static final String HEIGHT = "android.media.mediacodec.height";
+    field public static final String MIME_TYPE = "android.media.mediacodec.mime";
+    field public static final String MODE = "android.media.mediacodec.mode";
+    field public static final String MODE_AUDIO = "audio";
+    field public static final String MODE_VIDEO = "video";
+    field public static final String ROTATION = "android.media.mediacodec.rotation";
+    field public static final String SECURE = "android.media.mediacodec.secure";
+    field public static final String WIDTH = "android.media.mediacodec.width";
+  }
+
+  public static interface MediaCodec.OnFirstTunnelFrameReadyListener {
+    method public void onFirstTunnelFrameReady(@NonNull android.media.MediaCodec);
+  }
+
+  public static interface MediaCodec.OnFrameRenderedListener {
+    method public void onFrameRendered(@NonNull android.media.MediaCodec, long, long);
+  }
+
+  public static final class MediaCodec.OutputFrame {
+    method @NonNull public java.util.Set<java.lang.String> getChangedKeys();
+    method public int getFlags();
+    method @NonNull public android.media.MediaFormat getFormat();
+    method @Nullable public android.hardware.HardwareBuffer getHardwareBuffer();
+    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
+    method public long getPresentationTimeUs();
+  }
+
+  public static class MediaCodec.ParameterDescriptor {
+    method @NonNull public String getName();
+    method public int getType();
+  }
+
+  public final class MediaCodec.QueueRequest {
+    method public void queue();
+    method @NonNull public android.media.MediaCodec.QueueRequest setByteBufferParameter(@NonNull String, @NonNull java.nio.ByteBuffer);
+    method @NonNull public android.media.MediaCodec.QueueRequest setEncryptedLinearBlock(@NonNull android.media.MediaCodec.LinearBlock, int, int, @NonNull android.media.MediaCodec.CryptoInfo);
+    method @NonNull public android.media.MediaCodec.QueueRequest setFlags(int);
+    method @NonNull public android.media.MediaCodec.QueueRequest setFloatParameter(@NonNull String, float);
+    method @NonNull public android.media.MediaCodec.QueueRequest setHardwareBuffer(@NonNull android.hardware.HardwareBuffer);
+    method @NonNull public android.media.MediaCodec.QueueRequest setIntegerParameter(@NonNull String, int);
+    method @NonNull public android.media.MediaCodec.QueueRequest setLinearBlock(@NonNull android.media.MediaCodec.LinearBlock, int, int);
+    method @NonNull public android.media.MediaCodec.QueueRequest setLongParameter(@NonNull String, long);
+    method @NonNull public android.media.MediaCodec.QueueRequest setPresentationTimeUs(long);
+    method @NonNull public android.media.MediaCodec.QueueRequest setStringParameter(@NonNull String, @NonNull String);
+  }
+
+  public final class MediaCodecInfo {
+    method @NonNull public String getCanonicalName();
+    method public android.media.MediaCodecInfo.CodecCapabilities getCapabilitiesForType(String);
+    method @NonNull public String getName();
+    method public String[] getSupportedTypes();
+    method public boolean isAlias();
+    method public boolean isEncoder();
+    method public boolean isHardwareAccelerated();
+    method public boolean isSoftwareOnly();
+    method public boolean isVendor();
+  }
+
+  public static final class MediaCodecInfo.AudioCapabilities {
+    method public android.util.Range<java.lang.Integer> getBitrateRange();
+    method @NonNull public android.util.Range<java.lang.Integer>[] getInputChannelCountRanges();
+    method @IntRange(from=1, to=255) public int getMaxInputChannelCount();
+    method @IntRange(from=1, to=255) public int getMinInputChannelCount();
+    method public android.util.Range<java.lang.Integer>[] getSupportedSampleRateRanges();
+    method public int[] getSupportedSampleRates();
+    method public boolean isSampleRateSupported(int);
+  }
+
+  public static final class MediaCodecInfo.CodecCapabilities {
+    ctor public MediaCodecInfo.CodecCapabilities();
+    method public static android.media.MediaCodecInfo.CodecCapabilities createFromProfileLevel(String, int, int);
+    method public android.media.MediaCodecInfo.AudioCapabilities getAudioCapabilities();
+    method public android.media.MediaFormat getDefaultFormat();
+    method public android.media.MediaCodecInfo.EncoderCapabilities getEncoderCapabilities();
+    method public int getMaxSupportedInstances();
+    method public String getMimeType();
+    method public android.media.MediaCodecInfo.VideoCapabilities getVideoCapabilities();
+    method public boolean isFeatureRequired(String);
+    method public boolean isFeatureSupported(String);
+    method public boolean isFormatSupported(android.media.MediaFormat);
+    field @Deprecated public static final int COLOR_Format12bitRGB444 = 3; // 0x3
+    field @Deprecated public static final int COLOR_Format16bitARGB1555 = 5; // 0x5
+    field @Deprecated public static final int COLOR_Format16bitARGB4444 = 4; // 0x4
+    field @Deprecated public static final int COLOR_Format16bitBGR565 = 7; // 0x7
+    field public static final int COLOR_Format16bitRGB565 = 6; // 0x6
+    field @Deprecated public static final int COLOR_Format18BitBGR666 = 41; // 0x29
+    field @Deprecated public static final int COLOR_Format18bitARGB1665 = 9; // 0x9
+    field @Deprecated public static final int COLOR_Format18bitRGB666 = 8; // 0x8
+    field @Deprecated public static final int COLOR_Format19bitARGB1666 = 10; // 0xa
+    field @Deprecated public static final int COLOR_Format24BitABGR6666 = 43; // 0x2b
+    field @Deprecated public static final int COLOR_Format24BitARGB6666 = 42; // 0x2a
+    field @Deprecated public static final int COLOR_Format24bitARGB1887 = 13; // 0xd
+    field public static final int COLOR_Format24bitBGR888 = 12; // 0xc
+    field @Deprecated public static final int COLOR_Format24bitRGB888 = 11; // 0xb
+    field @Deprecated public static final int COLOR_Format25bitARGB1888 = 14; // 0xe
+    field public static final int COLOR_Format32bitABGR8888 = 2130747392; // 0x7f00a000
+    field @Deprecated public static final int COLOR_Format32bitARGB8888 = 16; // 0x10
+    field @Deprecated public static final int COLOR_Format32bitBGRA8888 = 15; // 0xf
+    field @Deprecated public static final int COLOR_Format8bitRGB332 = 2; // 0x2
+    field @Deprecated public static final int COLOR_FormatCbYCrY = 27; // 0x1b
+    field @Deprecated public static final int COLOR_FormatCrYCbY = 28; // 0x1c
+    field public static final int COLOR_FormatL16 = 36; // 0x24
+    field @Deprecated public static final int COLOR_FormatL2 = 33; // 0x21
+    field @Deprecated public static final int COLOR_FormatL24 = 37; // 0x25
+    field @Deprecated public static final int COLOR_FormatL32 = 38; // 0x26
+    field @Deprecated public static final int COLOR_FormatL4 = 34; // 0x22
+    field public static final int COLOR_FormatL8 = 35; // 0x23
+    field @Deprecated public static final int COLOR_FormatMonochrome = 1; // 0x1
+    field public static final int COLOR_FormatRGBAFlexible = 2134288520; // 0x7f36a888
+    field public static final int COLOR_FormatRGBFlexible = 2134292616; // 0x7f36b888
+    field public static final int COLOR_FormatRawBayer10bit = 31; // 0x1f
+    field public static final int COLOR_FormatRawBayer8bit = 30; // 0x1e
+    field public static final int COLOR_FormatRawBayer8bitcompressed = 32; // 0x20
+    field public static final int COLOR_FormatSurface = 2130708361; // 0x7f000789
+    field @Deprecated public static final int COLOR_FormatYCbYCr = 25; // 0x19
+    field @Deprecated public static final int COLOR_FormatYCrYCb = 26; // 0x1a
+    field @Deprecated public static final int COLOR_FormatYUV411PackedPlanar = 18; // 0x12
+    field @Deprecated public static final int COLOR_FormatYUV411Planar = 17; // 0x11
+    field public static final int COLOR_FormatYUV420Flexible = 2135033992; // 0x7f420888
+    field @Deprecated public static final int COLOR_FormatYUV420PackedPlanar = 20; // 0x14
+    field @Deprecated public static final int COLOR_FormatYUV420PackedSemiPlanar = 39; // 0x27
+    field @Deprecated public static final int COLOR_FormatYUV420Planar = 19; // 0x13
+    field @Deprecated public static final int COLOR_FormatYUV420SemiPlanar = 21; // 0x15
+    field public static final int COLOR_FormatYUV422Flexible = 2135042184; // 0x7f422888
+    field @Deprecated public static final int COLOR_FormatYUV422PackedPlanar = 23; // 0x17
+    field @Deprecated public static final int COLOR_FormatYUV422PackedSemiPlanar = 40; // 0x28
+    field @Deprecated public static final int COLOR_FormatYUV422Planar = 22; // 0x16
+    field @Deprecated public static final int COLOR_FormatYUV422SemiPlanar = 24; // 0x18
+    field public static final int COLOR_FormatYUV444Flexible = 2135181448; // 0x7f444888
+    field @Deprecated public static final int COLOR_FormatYUV444Interleaved = 29; // 0x1d
+    field @Deprecated public static final int COLOR_QCOM_FormatYUV420SemiPlanar = 2141391872; // 0x7fa30c00
+    field @Deprecated public static final int COLOR_TI_FormatYUV420PackedSemiPlanar = 2130706688; // 0x7f000100
+    field public static final String FEATURE_AdaptivePlayback = "adaptive-playback";
+    field public static final String FEATURE_DynamicTimestamp = "dynamic-timestamp";
+    field public static final String FEATURE_FrameParsing = "frame-parsing";
+    field public static final String FEATURE_IntraRefresh = "intra-refresh";
+    field public static final String FEATURE_LowLatency = "low-latency";
+    field public static final String FEATURE_MultipleFrames = "multiple-frames";
+    field public static final String FEATURE_PartialFrame = "partial-frame";
+    field public static final String FEATURE_QpBounds = "qp-bounds";
+    field public static final String FEATURE_SecurePlayback = "secure-playback";
+    field public static final String FEATURE_TunneledPlayback = "tunneled-playback";
+    field public int[] colorFormats;
+    field public android.media.MediaCodecInfo.CodecProfileLevel[] profileLevels;
+  }
+
+  public static final class MediaCodecInfo.CodecProfileLevel {
+    ctor public MediaCodecInfo.CodecProfileLevel();
+    field public static final int AACObjectELD = 39; // 0x27
+    field public static final int AACObjectERLC = 17; // 0x11
+    field public static final int AACObjectERScalable = 20; // 0x14
+    field public static final int AACObjectHE = 5; // 0x5
+    field public static final int AACObjectHE_PS = 29; // 0x1d
+    field public static final int AACObjectLC = 2; // 0x2
+    field public static final int AACObjectLD = 23; // 0x17
+    field public static final int AACObjectLTP = 4; // 0x4
+    field public static final int AACObjectMain = 1; // 0x1
+    field public static final int AACObjectSSR = 3; // 0x3
+    field public static final int AACObjectScalable = 6; // 0x6
+    field public static final int AACObjectXHE = 42; // 0x2a
+    field public static final int AV1Level2 = 1; // 0x1
+    field public static final int AV1Level21 = 2; // 0x2
+    field public static final int AV1Level22 = 4; // 0x4
+    field public static final int AV1Level23 = 8; // 0x8
+    field public static final int AV1Level3 = 16; // 0x10
+    field public static final int AV1Level31 = 32; // 0x20
+    field public static final int AV1Level32 = 64; // 0x40
+    field public static final int AV1Level33 = 128; // 0x80
+    field public static final int AV1Level4 = 256; // 0x100
+    field public static final int AV1Level41 = 512; // 0x200
+    field public static final int AV1Level42 = 1024; // 0x400
+    field public static final int AV1Level43 = 2048; // 0x800
+    field public static final int AV1Level5 = 4096; // 0x1000
+    field public static final int AV1Level51 = 8192; // 0x2000
+    field public static final int AV1Level52 = 16384; // 0x4000
+    field public static final int AV1Level53 = 32768; // 0x8000
+    field public static final int AV1Level6 = 65536; // 0x10000
+    field public static final int AV1Level61 = 131072; // 0x20000
+    field public static final int AV1Level62 = 262144; // 0x40000
+    field public static final int AV1Level63 = 524288; // 0x80000
+    field public static final int AV1Level7 = 1048576; // 0x100000
+    field public static final int AV1Level71 = 2097152; // 0x200000
+    field public static final int AV1Level72 = 4194304; // 0x400000
+    field public static final int AV1Level73 = 8388608; // 0x800000
+    field public static final int AV1ProfileMain10 = 2; // 0x2
+    field public static final int AV1ProfileMain10HDR10 = 4096; // 0x1000
+    field public static final int AV1ProfileMain10HDR10Plus = 8192; // 0x2000
+    field public static final int AV1ProfileMain8 = 1; // 0x1
+    field public static final int AVCLevel1 = 1; // 0x1
+    field public static final int AVCLevel11 = 4; // 0x4
+    field public static final int AVCLevel12 = 8; // 0x8
+    field public static final int AVCLevel13 = 16; // 0x10
+    field public static final int AVCLevel1b = 2; // 0x2
+    field public static final int AVCLevel2 = 32; // 0x20
+    field public static final int AVCLevel21 = 64; // 0x40
+    field public static final int AVCLevel22 = 128; // 0x80
+    field public static final int AVCLevel3 = 256; // 0x100
+    field public static final int AVCLevel31 = 512; // 0x200
+    field public static final int AVCLevel32 = 1024; // 0x400
+    field public static final int AVCLevel4 = 2048; // 0x800
+    field public static final int AVCLevel41 = 4096; // 0x1000
+    field public static final int AVCLevel42 = 8192; // 0x2000
+    field public static final int AVCLevel5 = 16384; // 0x4000
+    field public static final int AVCLevel51 = 32768; // 0x8000
+    field public static final int AVCLevel52 = 65536; // 0x10000
+    field public static final int AVCLevel6 = 131072; // 0x20000
+    field public static final int AVCLevel61 = 262144; // 0x40000
+    field public static final int AVCLevel62 = 524288; // 0x80000
+    field public static final int AVCProfileBaseline = 1; // 0x1
+    field public static final int AVCProfileConstrainedBaseline = 65536; // 0x10000
+    field public static final int AVCProfileConstrainedHigh = 524288; // 0x80000
+    field public static final int AVCProfileExtended = 4; // 0x4
+    field public static final int AVCProfileHigh = 8; // 0x8
+    field public static final int AVCProfileHigh10 = 16; // 0x10
+    field public static final int AVCProfileHigh422 = 32; // 0x20
+    field public static final int AVCProfileHigh444 = 64; // 0x40
+    field public static final int AVCProfileMain = 2; // 0x2
+    field public static final int DolbyVisionLevelFhd24 = 4; // 0x4
+    field public static final int DolbyVisionLevelFhd30 = 8; // 0x8
+    field public static final int DolbyVisionLevelFhd60 = 16; // 0x10
+    field public static final int DolbyVisionLevelHd24 = 1; // 0x1
+    field public static final int DolbyVisionLevelHd30 = 2; // 0x2
+    field public static final int DolbyVisionLevelUhd24 = 32; // 0x20
+    field public static final int DolbyVisionLevelUhd30 = 64; // 0x40
+    field public static final int DolbyVisionLevelUhd48 = 128; // 0x80
+    field public static final int DolbyVisionLevelUhd60 = 256; // 0x100
+    field public static final int DolbyVisionProfileDvav110 = 1024; // 0x400
+    field public static final int DolbyVisionProfileDvavPen = 2; // 0x2
+    field public static final int DolbyVisionProfileDvavPer = 1; // 0x1
+    field public static final int DolbyVisionProfileDvavSe = 512; // 0x200
+    field public static final int DolbyVisionProfileDvheDen = 8; // 0x8
+    field public static final int DolbyVisionProfileDvheDer = 4; // 0x4
+    field public static final int DolbyVisionProfileDvheDtb = 128; // 0x80
+    field public static final int DolbyVisionProfileDvheDth = 64; // 0x40
+    field public static final int DolbyVisionProfileDvheDtr = 16; // 0x10
+    field public static final int DolbyVisionProfileDvheSt = 256; // 0x100
+    field public static final int DolbyVisionProfileDvheStn = 32; // 0x20
+    field public static final int H263Level10 = 1; // 0x1
+    field public static final int H263Level20 = 2; // 0x2
+    field public static final int H263Level30 = 4; // 0x4
+    field public static final int H263Level40 = 8; // 0x8
+    field public static final int H263Level45 = 16; // 0x10
+    field public static final int H263Level50 = 32; // 0x20
+    field public static final int H263Level60 = 64; // 0x40
+    field public static final int H263Level70 = 128; // 0x80
+    field public static final int H263ProfileBackwardCompatible = 4; // 0x4
+    field public static final int H263ProfileBaseline = 1; // 0x1
+    field public static final int H263ProfileH320Coding = 2; // 0x2
+    field public static final int H263ProfileHighCompression = 32; // 0x20
+    field public static final int H263ProfileHighLatency = 256; // 0x100
+    field public static final int H263ProfileISWV2 = 8; // 0x8
+    field public static final int H263ProfileISWV3 = 16; // 0x10
+    field public static final int H263ProfileInterlace = 128; // 0x80
+    field public static final int H263ProfileInternet = 64; // 0x40
+    field public static final int HEVCHighTierLevel1 = 2; // 0x2
+    field public static final int HEVCHighTierLevel2 = 8; // 0x8
+    field public static final int HEVCHighTierLevel21 = 32; // 0x20
+    field public static final int HEVCHighTierLevel3 = 128; // 0x80
+    field public static final int HEVCHighTierLevel31 = 512; // 0x200
+    field public static final int HEVCHighTierLevel4 = 2048; // 0x800
+    field public static final int HEVCHighTierLevel41 = 8192; // 0x2000
+    field public static final int HEVCHighTierLevel5 = 32768; // 0x8000
+    field public static final int HEVCHighTierLevel51 = 131072; // 0x20000
+    field public static final int HEVCHighTierLevel52 = 524288; // 0x80000
+    field public static final int HEVCHighTierLevel6 = 2097152; // 0x200000
+    field public static final int HEVCHighTierLevel61 = 8388608; // 0x800000
+    field public static final int HEVCHighTierLevel62 = 33554432; // 0x2000000
+    field public static final int HEVCMainTierLevel1 = 1; // 0x1
+    field public static final int HEVCMainTierLevel2 = 4; // 0x4
+    field public static final int HEVCMainTierLevel21 = 16; // 0x10
+    field public static final int HEVCMainTierLevel3 = 64; // 0x40
+    field public static final int HEVCMainTierLevel31 = 256; // 0x100
+    field public static final int HEVCMainTierLevel4 = 1024; // 0x400
+    field public static final int HEVCMainTierLevel41 = 4096; // 0x1000
+    field public static final int HEVCMainTierLevel5 = 16384; // 0x4000
+    field public static final int HEVCMainTierLevel51 = 65536; // 0x10000
+    field public static final int HEVCMainTierLevel52 = 262144; // 0x40000
+    field public static final int HEVCMainTierLevel6 = 1048576; // 0x100000
+    field public static final int HEVCMainTierLevel61 = 4194304; // 0x400000
+    field public static final int HEVCMainTierLevel62 = 16777216; // 0x1000000
+    field public static final int HEVCProfileMain = 1; // 0x1
+    field public static final int HEVCProfileMain10 = 2; // 0x2
+    field public static final int HEVCProfileMain10HDR10 = 4096; // 0x1000
+    field public static final int HEVCProfileMain10HDR10Plus = 8192; // 0x2000
+    field public static final int HEVCProfileMainStill = 4; // 0x4
+    field public static final int MPEG2LevelH14 = 2; // 0x2
+    field public static final int MPEG2LevelHL = 3; // 0x3
+    field public static final int MPEG2LevelHP = 4; // 0x4
+    field public static final int MPEG2LevelLL = 0; // 0x0
+    field public static final int MPEG2LevelML = 1; // 0x1
+    field public static final int MPEG2Profile422 = 2; // 0x2
+    field public static final int MPEG2ProfileHigh = 5; // 0x5
+    field public static final int MPEG2ProfileMain = 1; // 0x1
+    field public static final int MPEG2ProfileSNR = 3; // 0x3
+    field public static final int MPEG2ProfileSimple = 0; // 0x0
+    field public static final int MPEG2ProfileSpatial = 4; // 0x4
+    field public static final int MPEG4Level0 = 1; // 0x1
+    field public static final int MPEG4Level0b = 2; // 0x2
+    field public static final int MPEG4Level1 = 4; // 0x4
+    field public static final int MPEG4Level2 = 8; // 0x8
+    field public static final int MPEG4Level3 = 16; // 0x10
+    field public static final int MPEG4Level3b = 24; // 0x18
+    field public static final int MPEG4Level4 = 32; // 0x20
+    field public static final int MPEG4Level4a = 64; // 0x40
+    field public static final int MPEG4Level5 = 128; // 0x80
+    field public static final int MPEG4Level6 = 256; // 0x100
+    field public static final int MPEG4ProfileAdvancedCoding = 4096; // 0x1000
+    field public static final int MPEG4ProfileAdvancedCore = 8192; // 0x2000
+    field public static final int MPEG4ProfileAdvancedRealTime = 1024; // 0x400
+    field public static final int MPEG4ProfileAdvancedScalable = 16384; // 0x4000
+    field public static final int MPEG4ProfileAdvancedSimple = 32768; // 0x8000
+    field public static final int MPEG4ProfileBasicAnimated = 256; // 0x100
+    field public static final int MPEG4ProfileCore = 4; // 0x4
+    field public static final int MPEG4ProfileCoreScalable = 2048; // 0x800
+    field public static final int MPEG4ProfileHybrid = 512; // 0x200
+    field public static final int MPEG4ProfileMain = 8; // 0x8
+    field public static final int MPEG4ProfileNbit = 16; // 0x10
+    field public static final int MPEG4ProfileScalableTexture = 32; // 0x20
+    field public static final int MPEG4ProfileSimple = 1; // 0x1
+    field public static final int MPEG4ProfileSimpleFBA = 128; // 0x80
+    field public static final int MPEG4ProfileSimpleFace = 64; // 0x40
+    field public static final int MPEG4ProfileSimpleScalable = 2; // 0x2
+    field public static final int VP8Level_Version0 = 1; // 0x1
+    field public static final int VP8Level_Version1 = 2; // 0x2
+    field public static final int VP8Level_Version2 = 4; // 0x4
+    field public static final int VP8Level_Version3 = 8; // 0x8
+    field public static final int VP8ProfileMain = 1; // 0x1
+    field public static final int VP9Level1 = 1; // 0x1
+    field public static final int VP9Level11 = 2; // 0x2
+    field public static final int VP9Level2 = 4; // 0x4
+    field public static final int VP9Level21 = 8; // 0x8
+    field public static final int VP9Level3 = 16; // 0x10
+    field public static final int VP9Level31 = 32; // 0x20
+    field public static final int VP9Level4 = 64; // 0x40
+    field public static final int VP9Level41 = 128; // 0x80
+    field public static final int VP9Level5 = 256; // 0x100
+    field public static final int VP9Level51 = 512; // 0x200
+    field public static final int VP9Level52 = 1024; // 0x400
+    field public static final int VP9Level6 = 2048; // 0x800
+    field public static final int VP9Level61 = 4096; // 0x1000
+    field public static final int VP9Level62 = 8192; // 0x2000
+    field public static final int VP9Profile0 = 1; // 0x1
+    field public static final int VP9Profile1 = 2; // 0x2
+    field public static final int VP9Profile2 = 4; // 0x4
+    field public static final int VP9Profile2HDR = 4096; // 0x1000
+    field public static final int VP9Profile2HDR10Plus = 16384; // 0x4000
+    field public static final int VP9Profile3 = 8; // 0x8
+    field public static final int VP9Profile3HDR = 8192; // 0x2000
+    field public static final int VP9Profile3HDR10Plus = 32768; // 0x8000
+    field public int level;
+    field public int profile;
+  }
+
+  public static final class MediaCodecInfo.EncoderCapabilities {
+    method public android.util.Range<java.lang.Integer> getComplexityRange();
+    method public android.util.Range<java.lang.Integer> getQualityRange();
+    method public boolean isBitrateModeSupported(int);
+    field public static final int BITRATE_MODE_CBR = 2; // 0x2
+    field public static final int BITRATE_MODE_CBR_FD = 3; // 0x3
+    field public static final int BITRATE_MODE_CQ = 0; // 0x0
+    field public static final int BITRATE_MODE_VBR = 1; // 0x1
+  }
+
+  public static final class MediaCodecInfo.VideoCapabilities {
+    method public boolean areSizeAndRateSupported(int, int, double);
+    method @Nullable public android.util.Range<java.lang.Double> getAchievableFrameRatesFor(int, int);
+    method public android.util.Range<java.lang.Integer> getBitrateRange();
+    method public int getHeightAlignment();
+    method public android.util.Range<java.lang.Integer> getSupportedFrameRates();
+    method public android.util.Range<java.lang.Double> getSupportedFrameRatesFor(int, int);
+    method public android.util.Range<java.lang.Integer> getSupportedHeights();
+    method public android.util.Range<java.lang.Integer> getSupportedHeightsFor(int);
+    method @Nullable public java.util.List<android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint> getSupportedPerformancePoints();
+    method public android.util.Range<java.lang.Integer> getSupportedWidths();
+    method public android.util.Range<java.lang.Integer> getSupportedWidthsFor(int);
+    method public int getWidthAlignment();
+    method public boolean isSizeSupported(int, int);
+  }
+
+  public static final class MediaCodecInfo.VideoCapabilities.PerformancePoint {
+    ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(int, int, int);
+    method public boolean covers(@NonNull android.media.MediaFormat);
+    method public boolean covers(@NonNull android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint);
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_100;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_120;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_200;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_24;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_240;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_25;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_30;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_50;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint FHD_60;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_100;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_120;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_200;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_24;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_240;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_25;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_30;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_50;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint HD_60;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_24;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_25;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_30;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_48;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_50;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint SD_60;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_100;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_120;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_200;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_24;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_240;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_25;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_30;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_50;
+    field @NonNull public static final android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint UHD_60;
+  }
+
+  public final class MediaCodecList {
+    ctor public MediaCodecList(int);
+    method public String findDecoderForFormat(android.media.MediaFormat);
+    method public String findEncoderForFormat(android.media.MediaFormat);
+    method @Deprecated public static int getCodecCount();
+    method @Deprecated public static android.media.MediaCodecInfo getCodecInfoAt(int);
+    method public android.media.MediaCodecInfo[] getCodecInfos();
+    field public static final int ALL_CODECS = 1; // 0x1
+    field public static final int REGULAR_CODECS = 0; // 0x0
+  }
+
+  public class MediaCommunicationManager {
+    method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens();
+    method @IntRange(from=1) public int getVersion();
+  }
+
+  public class MediaController2 implements java.lang.AutoCloseable {
+    method public void cancelSessionCommand(@NonNull Object);
+    method public void close();
+    method @Nullable public android.media.Session2Token getConnectedToken();
+    method public boolean isPlaybackActive();
+    method @NonNull public Object sendSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle);
+  }
+
+  public static final class MediaController2.Builder {
+    ctor public MediaController2.Builder(@NonNull android.content.Context, @NonNull android.media.Session2Token);
+    method @NonNull public android.media.MediaController2 build();
+    method @NonNull public android.media.MediaController2.Builder setConnectionHints(@NonNull android.os.Bundle);
+    method @NonNull public android.media.MediaController2.Builder setControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaController2.ControllerCallback);
+  }
+
+  public abstract static class MediaController2.ControllerCallback {
+    ctor public MediaController2.ControllerCallback();
+    method public void onCommandResult(@NonNull android.media.MediaController2, @NonNull Object, @NonNull android.media.Session2Command, @NonNull android.media.Session2Command.Result);
+    method public void onConnected(@NonNull android.media.MediaController2, @NonNull android.media.Session2CommandGroup);
+    method public void onDisconnected(@NonNull android.media.MediaController2);
+    method public void onPlaybackActiveChanged(@NonNull android.media.MediaController2, boolean);
+    method @Nullable public android.media.Session2Command.Result onSessionCommand(@NonNull android.media.MediaController2, @NonNull android.media.Session2Command, @Nullable android.os.Bundle);
+  }
+
+  public final class MediaCrypto {
+    ctor public MediaCrypto(@NonNull java.util.UUID, @NonNull byte[]) throws android.media.MediaCryptoException;
+    method protected void finalize();
+    method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID);
+    method public void release();
+    method public boolean requiresSecureDecoderComponent(@NonNull String);
+    method public void setMediaDrmSession(@NonNull byte[]) throws android.media.MediaCryptoException;
+  }
+
+  public final class MediaCryptoException extends java.lang.Exception {
+    ctor public MediaCryptoException(@Nullable String);
+  }
+
+  public abstract class MediaDataSource implements java.io.Closeable {
+    ctor public MediaDataSource();
+    method public abstract long getSize() throws java.io.IOException;
+    method public abstract int readAt(long, byte[], int, int) throws java.io.IOException;
+  }
+
+  public final class MediaDescrambler implements java.lang.AutoCloseable {
+    ctor public MediaDescrambler(int) throws android.media.MediaCasException.UnsupportedCasException;
+    method public void close();
+    method public int descramble(@NonNull java.nio.ByteBuffer, @NonNull java.nio.ByteBuffer, @NonNull android.media.MediaCodec.CryptoInfo);
+    method protected void finalize();
+    method public boolean requiresSecureDecoderComponent(@NonNull String);
+    method public void setMediaCasSession(@NonNull android.media.MediaCas.Session);
+    field public static final byte SCRAMBLE_CONTROL_EVEN_KEY = 2; // 0x2
+    field public static final byte SCRAMBLE_CONTROL_ODD_KEY = 3; // 0x3
+    field public static final byte SCRAMBLE_CONTROL_RESERVED = 1; // 0x1
+    field public static final byte SCRAMBLE_CONTROL_UNSCRAMBLED = 0; // 0x0
+    field public static final byte SCRAMBLE_FLAG_PES_HEADER = 1; // 0x1
+  }
+
+  public class MediaDescription implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public CharSequence getDescription();
+    method @Nullable public android.os.Bundle getExtras();
+    method @Nullable public android.graphics.Bitmap getIconBitmap();
+    method @Nullable public android.net.Uri getIconUri();
+    method @Nullable public String getMediaId();
+    method @Nullable public android.net.Uri getMediaUri();
+    method @Nullable public CharSequence getSubtitle();
+    method @Nullable public CharSequence getTitle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final long BT_FOLDER_TYPE_ALBUMS = 2L; // 0x2L
+    field public static final long BT_FOLDER_TYPE_ARTISTS = 3L; // 0x3L
+    field public static final long BT_FOLDER_TYPE_GENRES = 4L; // 0x4L
+    field public static final long BT_FOLDER_TYPE_MIXED = 0L; // 0x0L
+    field public static final long BT_FOLDER_TYPE_PLAYLISTS = 5L; // 0x5L
+    field public static final long BT_FOLDER_TYPE_TITLES = 1L; // 0x1L
+    field public static final long BT_FOLDER_TYPE_YEARS = 6L; // 0x6L
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaDescription> CREATOR;
+    field public static final String EXTRA_BT_FOLDER_TYPE = "android.media.extra.BT_FOLDER_TYPE";
+  }
+
+  public static class MediaDescription.Builder {
+    ctor public MediaDescription.Builder();
+    method public android.media.MediaDescription build();
+    method public android.media.MediaDescription.Builder setDescription(@Nullable CharSequence);
+    method public android.media.MediaDescription.Builder setExtras(@Nullable android.os.Bundle);
+    method public android.media.MediaDescription.Builder setIconBitmap(@Nullable android.graphics.Bitmap);
+    method public android.media.MediaDescription.Builder setIconUri(@Nullable android.net.Uri);
+    method public android.media.MediaDescription.Builder setMediaId(@Nullable String);
+    method public android.media.MediaDescription.Builder setMediaUri(@Nullable android.net.Uri);
+    method public android.media.MediaDescription.Builder setSubtitle(@Nullable CharSequence);
+    method public android.media.MediaDescription.Builder setTitle(@Nullable CharSequence);
+  }
+
+  public final class MediaDrm implements java.lang.AutoCloseable {
+    ctor public MediaDrm(@NonNull java.util.UUID) throws android.media.UnsupportedSchemeException;
+    method public void clearOnEventListener();
+    method public void clearOnExpirationUpdateListener();
+    method public void clearOnKeyStatusChangeListener();
+    method public void clearOnSessionLostStateListener();
+    method public void close();
+    method public void closeSession(@NonNull byte[]);
+    method @android.media.MediaDrm.HdcpLevel public int getConnectedHdcpLevel();
+    method public android.media.MediaDrm.CryptoSession getCryptoSession(@NonNull byte[], @NonNull String, @NonNull String);
+    method @NonNull public android.media.MediaDrm.KeyRequest getKeyRequest(@NonNull byte[], @Nullable byte[], @Nullable String, int, @Nullable java.util.HashMap<java.lang.String,java.lang.String>) throws android.media.NotProvisionedException;
+    method @NonNull public java.util.List<android.media.MediaDrm.LogMessage> getLogMessages();
+    method @android.media.MediaDrm.HdcpLevel public int getMaxHdcpLevel();
+    method public static int getMaxSecurityLevel();
+    method public int getMaxSessionCount();
+    method public android.os.PersistableBundle getMetrics();
+    method @NonNull public java.util.List<byte[]> getOfflineLicenseKeySetIds();
+    method public int getOfflineLicenseState(@NonNull byte[]);
+    method public int getOpenSessionCount();
+    method @Nullable public android.media.MediaDrm.PlaybackComponent getPlaybackComponent(@NonNull byte[]);
+    method @NonNull public byte[] getPropertyByteArray(String);
+    method @NonNull public String getPropertyString(@NonNull String);
+    method @NonNull public android.media.MediaDrm.ProvisionRequest getProvisionRequest();
+    method @NonNull public byte[] getSecureStop(@NonNull byte[]);
+    method @NonNull public java.util.List<byte[]> getSecureStopIds();
+    method @NonNull public java.util.List<byte[]> getSecureStops();
+    method @android.media.MediaDrm.SecurityLevel public int getSecurityLevel(@NonNull byte[]);
+    method @NonNull public static java.util.List<java.util.UUID> getSupportedCryptoSchemes();
+    method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID);
+    method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID, @NonNull String);
+    method public static boolean isCryptoSchemeSupported(@NonNull java.util.UUID, @NonNull String, @android.media.MediaDrm.SecurityLevel int);
+    method @NonNull public byte[] openSession() throws android.media.NotProvisionedException, android.media.ResourceBusyException;
+    method @NonNull public byte[] openSession(@android.media.MediaDrm.SecurityLevel int) throws android.media.NotProvisionedException, android.media.ResourceBusyException;
+    method @Nullable public byte[] provideKeyResponse(@NonNull byte[], @NonNull byte[]) throws android.media.DeniedByServerException, android.media.NotProvisionedException;
+    method public void provideProvisionResponse(@NonNull byte[]) throws android.media.DeniedByServerException;
+    method @NonNull public java.util.HashMap<java.lang.String,java.lang.String> queryKeyStatus(@NonNull byte[]);
+    method @Deprecated public void release();
+    method @Deprecated public void releaseAllSecureStops();
+    method public void releaseSecureStops(@NonNull byte[]);
+    method public void removeAllSecureStops();
+    method public void removeKeys(@NonNull byte[]);
+    method public void removeOfflineLicense(@NonNull byte[]);
+    method public void removeSecureStop(@NonNull byte[]);
+    method public boolean requiresSecureDecoder(@NonNull String);
+    method public boolean requiresSecureDecoder(@NonNull String, @android.media.MediaDrm.SecurityLevel int);
+    method public void restoreKeys(@NonNull byte[], @NonNull byte[]);
+    method public void setOnEventListener(@Nullable android.media.MediaDrm.OnEventListener);
+    method public void setOnEventListener(@Nullable android.media.MediaDrm.OnEventListener, @Nullable android.os.Handler);
+    method public void setOnEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaDrm.OnEventListener);
+    method public void setOnExpirationUpdateListener(@Nullable android.media.MediaDrm.OnExpirationUpdateListener, @Nullable android.os.Handler);
+    method public void setOnExpirationUpdateListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaDrm.OnExpirationUpdateListener);
+    method public void setOnKeyStatusChangeListener(@Nullable android.media.MediaDrm.OnKeyStatusChangeListener, @Nullable android.os.Handler);
+    method public void setOnKeyStatusChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaDrm.OnKeyStatusChangeListener);
+    method public void setOnSessionLostStateListener(@Nullable android.media.MediaDrm.OnSessionLostStateListener, @Nullable android.os.Handler);
+    method public void setOnSessionLostStateListener(@NonNull java.util.concurrent.Executor, @Nullable android.media.MediaDrm.OnSessionLostStateListener);
+    method public void setPropertyByteArray(@NonNull String, @NonNull byte[]);
+    method public void setPropertyString(@NonNull String, @NonNull String);
+    field @Deprecated public static final int EVENT_KEY_EXPIRED = 3; // 0x3
+    field public static final int EVENT_KEY_REQUIRED = 2; // 0x2
+    field @Deprecated public static final int EVENT_PROVISION_REQUIRED = 1; // 0x1
+    field public static final int EVENT_SESSION_RECLAIMED = 5; // 0x5
+    field public static final int EVENT_VENDOR_DEFINED = 4; // 0x4
+    field public static final int HDCP_LEVEL_UNKNOWN = 0; // 0x0
+    field public static final int HDCP_NONE = 1; // 0x1
+    field public static final int HDCP_NO_DIGITAL_OUTPUT = 2147483647; // 0x7fffffff
+    field public static final int HDCP_V1 = 2; // 0x2
+    field public static final int HDCP_V2 = 3; // 0x3
+    field public static final int HDCP_V2_1 = 4; // 0x4
+    field public static final int HDCP_V2_2 = 5; // 0x5
+    field public static final int HDCP_V2_3 = 6; // 0x6
+    field public static final int KEY_TYPE_OFFLINE = 2; // 0x2
+    field public static final int KEY_TYPE_RELEASE = 3; // 0x3
+    field public static final int KEY_TYPE_STREAMING = 1; // 0x1
+    field public static final int OFFLINE_LICENSE_STATE_RELEASED = 2; // 0x2
+    field public static final int OFFLINE_LICENSE_STATE_UNKNOWN = 0; // 0x0
+    field public static final int OFFLINE_LICENSE_STATE_USABLE = 1; // 0x1
+    field public static final String PROPERTY_ALGORITHMS = "algorithms";
+    field public static final String PROPERTY_DESCRIPTION = "description";
+    field public static final String PROPERTY_DEVICE_UNIQUE_ID = "deviceUniqueId";
+    field public static final String PROPERTY_VENDOR = "vendor";
+    field public static final String PROPERTY_VERSION = "version";
+    field public static final int SECURITY_LEVEL_HW_SECURE_ALL = 5; // 0x5
+    field public static final int SECURITY_LEVEL_HW_SECURE_CRYPTO = 3; // 0x3
+    field public static final int SECURITY_LEVEL_HW_SECURE_DECODE = 4; // 0x4
+    field public static final int SECURITY_LEVEL_SW_SECURE_CRYPTO = 1; // 0x1
+    field public static final int SECURITY_LEVEL_SW_SECURE_DECODE = 2; // 0x2
+    field public static final int SECURITY_LEVEL_UNKNOWN = 0; // 0x0
+  }
+
+  public final class MediaDrm.CryptoSession {
+    method @NonNull public byte[] decrypt(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
+    method @NonNull public byte[] encrypt(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
+    method @NonNull public byte[] sign(@NonNull byte[], @NonNull byte[]);
+    method public boolean verify(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
+  }
+
+  public static final class MediaDrm.ErrorCodes {
+    field public static final int ERROR_CERTIFICATE_MALFORMED = 10; // 0xa
+    field public static final int ERROR_CERTIFICATE_MISSING = 11; // 0xb
+    field public static final int ERROR_CRYPTO_LIBRARY = 12; // 0xc
+    field public static final int ERROR_FRAME_TOO_LARGE = 8; // 0x8
+    field public static final int ERROR_GENERIC_OEM = 13; // 0xd
+    field public static final int ERROR_GENERIC_PLUGIN = 14; // 0xe
+    field public static final int ERROR_INIT_DATA = 15; // 0xf
+    field public static final int ERROR_INSUFFICIENT_OUTPUT_PROTECTION = 4; // 0x4
+    field public static final int ERROR_INSUFFICIENT_SECURITY = 7; // 0x7
+    field public static final int ERROR_KEY_EXPIRED = 2; // 0x2
+    field public static final int ERROR_KEY_NOT_LOADED = 16; // 0x10
+    field public static final int ERROR_LICENSE_PARSE = 17; // 0x11
+    field public static final int ERROR_LICENSE_POLICY = 18; // 0x12
+    field public static final int ERROR_LICENSE_RELEASE = 19; // 0x13
+    field public static final int ERROR_LICENSE_REQUEST_REJECTED = 20; // 0x14
+    field public static final int ERROR_LICENSE_RESTORE = 21; // 0x15
+    field public static final int ERROR_LICENSE_STATE = 22; // 0x16
+    field public static final int ERROR_LOST_STATE = 9; // 0x9
+    field public static final int ERROR_MEDIA_FRAMEWORK = 23; // 0x17
+    field public static final int ERROR_NO_KEY = 1; // 0x1
+    field public static final int ERROR_PROVISIONING_CERTIFICATE = 24; // 0x18
+    field public static final int ERROR_PROVISIONING_CONFIG = 25; // 0x19
+    field public static final int ERROR_PROVISIONING_PARSE = 26; // 0x1a
+    field public static final int ERROR_PROVISIONING_REQUEST_REJECTED = 27; // 0x1b
+    field public static final int ERROR_PROVISIONING_RETRY = 28; // 0x1c
+    field public static final int ERROR_RESOURCE_BUSY = 3; // 0x3
+    field public static final int ERROR_RESOURCE_CONTENTION = 29; // 0x1d
+    field public static final int ERROR_SECURE_STOP_RELEASE = 30; // 0x1e
+    field public static final int ERROR_SESSION_NOT_OPENED = 5; // 0x5
+    field public static final int ERROR_STORAGE_READ = 31; // 0x1f
+    field public static final int ERROR_STORAGE_WRITE = 32; // 0x20
+    field public static final int ERROR_UNKNOWN = 0; // 0x0
+    field public static final int ERROR_UNSUPPORTED_OPERATION = 6; // 0x6
+    field public static final int ERROR_ZERO_SUBSAMPLES = 33; // 0x21
+  }
+
+  @Deprecated @IntDef({android.media.MediaDrm.HDCP_LEVEL_UNKNOWN, android.media.MediaDrm.HDCP_NONE, android.media.MediaDrm.HDCP_V1, android.media.MediaDrm.HDCP_V2, android.media.MediaDrm.HDCP_V2_1, android.media.MediaDrm.HDCP_V2_2, android.media.MediaDrm.HDCP_V2_3, android.media.MediaDrm.HDCP_NO_DIGITAL_OUTPUT}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaDrm.HdcpLevel {
+  }
+
+  public static final class MediaDrm.KeyRequest {
+    method @NonNull public byte[] getData();
+    method @NonNull public String getDefaultUrl();
+    method public int getRequestType();
+    field public static final int REQUEST_TYPE_INITIAL = 0; // 0x0
+    field public static final int REQUEST_TYPE_NONE = 3; // 0x3
+    field public static final int REQUEST_TYPE_RELEASE = 2; // 0x2
+    field public static final int REQUEST_TYPE_RENEWAL = 1; // 0x1
+    field public static final int REQUEST_TYPE_UPDATE = 4; // 0x4
+  }
+
+  public static final class MediaDrm.KeyStatus {
+    method @NonNull public byte[] getKeyId();
+    method public int getStatusCode();
+    field public static final int STATUS_EXPIRED = 1; // 0x1
+    field public static final int STATUS_INTERNAL_ERROR = 4; // 0x4
+    field public static final int STATUS_OUTPUT_NOT_ALLOWED = 2; // 0x2
+    field public static final int STATUS_PENDING = 3; // 0x3
+    field public static final int STATUS_USABLE = 0; // 0x0
+    field public static final int STATUS_USABLE_IN_FUTURE = 5; // 0x5
+  }
+
+  public static final class MediaDrm.LogMessage {
+    method @NonNull public String getMessage();
+    method public int getPriority();
+    method public long getTimestampMillis();
+  }
+
+  public static final class MediaDrm.MediaDrmStateException extends java.lang.IllegalStateException {
+    method @NonNull public String getDiagnosticInfo();
+    method public int getErrorCode();
+    method public boolean isTransient();
+  }
+
+  public static final class MediaDrm.MetricsConstants {
+    field public static final String CLOSE_SESSION_ERROR_COUNT = "drm.mediadrm.close_session.error.count";
+    field public static final String CLOSE_SESSION_ERROR_LIST = "drm.mediadrm.close_session.error.list";
+    field public static final String CLOSE_SESSION_OK_COUNT = "drm.mediadrm.close_session.ok.count";
+    field public static final String EVENT_KEY_EXPIRED_COUNT = "drm.mediadrm.event.KEY_EXPIRED.count";
+    field public static final String EVENT_KEY_NEEDED_COUNT = "drm.mediadrm.event.KEY_NEEDED.count";
+    field public static final String EVENT_PROVISION_REQUIRED_COUNT = "drm.mediadrm.event.PROVISION_REQUIRED.count";
+    field public static final String EVENT_SESSION_RECLAIMED_COUNT = "drm.mediadrm.event.SESSION_RECLAIMED.count";
+    field public static final String EVENT_VENDOR_DEFINED_COUNT = "drm.mediadrm.event.VENDOR_DEFINED.count";
+    field public static final String GET_DEVICE_UNIQUE_ID_ERROR_COUNT = "drm.mediadrm.get_device_unique_id.error.count";
+    field public static final String GET_DEVICE_UNIQUE_ID_ERROR_LIST = "drm.mediadrm.get_device_unique_id.error.list";
+    field public static final String GET_DEVICE_UNIQUE_ID_OK_COUNT = "drm.mediadrm.get_device_unique_id.ok.count";
+    field public static final String GET_KEY_REQUEST_ERROR_COUNT = "drm.mediadrm.get_key_request.error.count";
+    field public static final String GET_KEY_REQUEST_ERROR_LIST = "drm.mediadrm.get_key_request.error.list";
+    field public static final String GET_KEY_REQUEST_OK_COUNT = "drm.mediadrm.get_key_request.ok.count";
+    field public static final String GET_KEY_REQUEST_OK_TIME_MICROS = "drm.mediadrm.get_key_request.ok.average_time_micros";
+    field public static final String GET_PROVISION_REQUEST_ERROR_COUNT = "drm.mediadrm.get_provision_request.error.count";
+    field public static final String GET_PROVISION_REQUEST_ERROR_LIST = "drm.mediadrm.get_provision_request.error.list";
+    field public static final String GET_PROVISION_REQUEST_OK_COUNT = "drm.mediadrm.get_provision_request.ok.count";
+    field public static final String KEY_STATUS_EXPIRED_COUNT = "drm.mediadrm.key_status.EXPIRED.count";
+    field public static final String KEY_STATUS_INTERNAL_ERROR_COUNT = "drm.mediadrm.key_status.INTERNAL_ERROR.count";
+    field public static final String KEY_STATUS_OUTPUT_NOT_ALLOWED_COUNT = "drm.mediadrm.key_status_change.OUTPUT_NOT_ALLOWED.count";
+    field public static final String KEY_STATUS_PENDING_COUNT = "drm.mediadrm.key_status_change.PENDING.count";
+    field public static final String KEY_STATUS_USABLE_COUNT = "drm.mediadrm.key_status_change.USABLE.count";
+    field public static final String OPEN_SESSION_ERROR_COUNT = "drm.mediadrm.open_session.error.count";
+    field public static final String OPEN_SESSION_ERROR_LIST = "drm.mediadrm.open_session.error.list";
+    field public static final String OPEN_SESSION_OK_COUNT = "drm.mediadrm.open_session.ok.count";
+    field public static final String PROVIDE_KEY_RESPONSE_ERROR_COUNT = "drm.mediadrm.provide_key_response.error.count";
+    field public static final String PROVIDE_KEY_RESPONSE_ERROR_LIST = "drm.mediadrm.provide_key_response.error.list";
+    field public static final String PROVIDE_KEY_RESPONSE_OK_COUNT = "drm.mediadrm.provide_key_response.ok.count";
+    field public static final String PROVIDE_KEY_RESPONSE_OK_TIME_MICROS = "drm.mediadrm.provide_key_response.ok.average_time_micros";
+    field public static final String PROVIDE_PROVISION_RESPONSE_ERROR_COUNT = "drm.mediadrm.provide_provision_response.error.count";
+    field public static final String PROVIDE_PROVISION_RESPONSE_ERROR_LIST = "drm.mediadrm.provide_provision_response.error.list";
+    field public static final String PROVIDE_PROVISION_RESPONSE_OK_COUNT = "drm.mediadrm.provide_provision_response.ok.count";
+    field public static final String SESSION_END_TIMES_MS = "drm.mediadrm.session_end_times_ms";
+    field public static final String SESSION_START_TIMES_MS = "drm.mediadrm.session_start_times_ms";
+  }
+
+  public static interface MediaDrm.OnEventListener {
+    method public void onEvent(@NonNull android.media.MediaDrm, @Nullable byte[], int, int, @Nullable byte[]);
+  }
+
+  public static interface MediaDrm.OnExpirationUpdateListener {
+    method public void onExpirationUpdate(@NonNull android.media.MediaDrm, @NonNull byte[], long);
+  }
+
+  public static interface MediaDrm.OnKeyStatusChangeListener {
+    method public void onKeyStatusChange(@NonNull android.media.MediaDrm, @NonNull byte[], @NonNull java.util.List<android.media.MediaDrm.KeyStatus>, boolean);
+  }
+
+  public static interface MediaDrm.OnSessionLostStateListener {
+    method public void onSessionLostState(@NonNull android.media.MediaDrm, @NonNull byte[]);
+  }
+
+  public final class MediaDrm.PlaybackComponent {
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+  }
+
+  public static final class MediaDrm.ProvisionRequest {
+    method @NonNull public byte[] getData();
+    method @NonNull public String getDefaultUrl();
+  }
+
+  @Deprecated @IntDef({android.media.MediaDrm.SECURITY_LEVEL_UNKNOWN, android.media.MediaDrm.SECURITY_LEVEL_SW_SECURE_CRYPTO, android.media.MediaDrm.SECURITY_LEVEL_SW_SECURE_DECODE, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_CRYPTO, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_DECODE, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_ALL}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaDrm.SecurityLevel {
+  }
+
+  public static final class MediaDrm.SessionException extends java.lang.RuntimeException {
+    ctor public MediaDrm.SessionException(int, @Nullable String);
+    method @Deprecated public int getErrorCode();
+    method public boolean isTransient();
+    field @Deprecated public static final int ERROR_RESOURCE_CONTENTION = 1; // 0x1
+    field @Deprecated public static final int ERROR_UNKNOWN = 0; // 0x0
+  }
+
+  public class MediaDrmException extends java.lang.Exception {
+    ctor public MediaDrmException(String);
+  }
+
+  public class MediaDrmResetException extends java.lang.IllegalStateException {
+    ctor public MediaDrmResetException(String);
+  }
+
+  public final class MediaExtractor {
+    ctor public MediaExtractor();
+    method public boolean advance();
+    method protected void finalize();
+    method @NonNull public java.util.List<android.media.AudioPresentation> getAudioPresentations(int);
+    method public long getCachedDuration();
+    method public android.media.MediaExtractor.CasInfo getCasInfo(int);
+    method public android.media.DrmInitData getDrmInitData();
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method public android.os.PersistableBundle getMetrics();
+    method @Nullable public java.util.Map<java.util.UUID,byte[]> getPsshInfo();
+    method public boolean getSampleCryptoInfo(@NonNull android.media.MediaCodec.CryptoInfo);
+    method public int getSampleFlags();
+    method public long getSampleSize();
+    method public long getSampleTime();
+    method public int getSampleTrackIndex();
+    method public int getTrackCount();
+    method @NonNull public android.media.MediaFormat getTrackFormat(int);
+    method public boolean hasCacheReachedEndOfStream();
+    method public int readSampleData(@NonNull java.nio.ByteBuffer, int);
+    method public void release();
+    method public void seekTo(long, int);
+    method public void selectTrack(int);
+    method public void setDataSource(@NonNull android.media.MediaDataSource) throws java.io.IOException;
+    method public void setDataSource(@NonNull android.content.Context, @NonNull android.net.Uri, @Nullable java.util.Map<java.lang.String,java.lang.String>) throws java.io.IOException;
+    method public void setDataSource(@NonNull String, @Nullable java.util.Map<java.lang.String,java.lang.String>) throws java.io.IOException;
+    method public void setDataSource(@NonNull String) throws java.io.IOException;
+    method public void setDataSource(@NonNull android.content.res.AssetFileDescriptor) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setDataSource(@NonNull java.io.FileDescriptor) throws java.io.IOException;
+    method public void setDataSource(@NonNull java.io.FileDescriptor, long, long) throws java.io.IOException;
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+    method public void setMediaCas(@NonNull android.media.MediaCas);
+    method public void unselectTrack(int);
+    field public static final int SAMPLE_FLAG_ENCRYPTED = 2; // 0x2
+    field public static final int SAMPLE_FLAG_PARTIAL_FRAME = 4; // 0x4
+    field public static final int SAMPLE_FLAG_SYNC = 1; // 0x1
+    field public static final int SEEK_TO_CLOSEST_SYNC = 2; // 0x2
+    field public static final int SEEK_TO_NEXT_SYNC = 1; // 0x1
+    field public static final int SEEK_TO_PREVIOUS_SYNC = 0; // 0x0
+  }
+
+  public static final class MediaExtractor.CasInfo {
+    method @Nullable public byte[] getPrivateData();
+    method public android.media.MediaCas.Session getSession();
+    method public int getSystemId();
+  }
+
+  public static final class MediaExtractor.MetricsConstants {
+    field public static final String FORMAT = "android.media.mediaextractor.fmt";
+    field public static final String MIME_TYPE = "android.media.mediaextractor.mime";
+    field public static final String TRACKS = "android.media.mediaextractor.ntrk";
+  }
+
+  public final class MediaFeature {
+    ctor public MediaFeature();
+  }
+
+  public static final class MediaFeature.HdrType {
+    field public static final String DOLBY_VISION = "android.media.feature.hdr.dolby_vision";
+    field public static final String HDR10 = "android.media.feature.hdr.hdr10";
+    field public static final String HDR10_PLUS = "android.media.feature.hdr.hdr10_plus";
+    field public static final String HLG = "android.media.feature.hdr.hlg";
+  }
+
+  public final class MediaFormat {
+    ctor public MediaFormat();
+    ctor public MediaFormat(@NonNull android.media.MediaFormat);
+    method public boolean containsFeature(@NonNull String);
+    method public boolean containsKey(@NonNull String);
+    method @NonNull public static android.media.MediaFormat createAudioFormat(@NonNull String, int, int);
+    method @NonNull public static android.media.MediaFormat createSubtitleFormat(@NonNull String, String);
+    method @NonNull public static android.media.MediaFormat createVideoFormat(@NonNull String, int, int);
+    method @Nullable public java.nio.ByteBuffer getByteBuffer(@NonNull String);
+    method @NonNull public java.nio.ByteBuffer getByteBuffer(@NonNull String, @NonNull java.nio.ByteBuffer);
+    method public boolean getFeatureEnabled(@NonNull String);
+    method @NonNull public java.util.Set<java.lang.String> getFeatures();
+    method public float getFloat(@NonNull String);
+    method public float getFloat(@NonNull String, float);
+    method public int getInteger(@NonNull String);
+    method public int getInteger(@NonNull String, int);
+    method @NonNull public java.util.Set<java.lang.String> getKeys();
+    method public long getLong(@NonNull String);
+    method public long getLong(@NonNull String, long);
+    method @Nullable public Number getNumber(@NonNull String);
+    method @NonNull public Number getNumber(@NonNull String, @NonNull Number);
+    method @Nullable public String getString(@NonNull String);
+    method @NonNull public String getString(@NonNull String, @NonNull String);
+    method public int getValueTypeForKey(@NonNull String);
+    method public void removeFeature(@NonNull String);
+    method public void removeKey(@NonNull String);
+    method public void setByteBuffer(@NonNull String, @Nullable java.nio.ByteBuffer);
+    method public void setFeatureEnabled(@NonNull String, boolean);
+    method public void setFloat(@NonNull String, float);
+    method public void setInteger(@NonNull String, int);
+    method public void setLong(@NonNull String, long);
+    method public void setString(@NonNull String, @Nullable String);
+    field public static final int COLOR_RANGE_FULL = 1; // 0x1
+    field public static final int COLOR_RANGE_LIMITED = 2; // 0x2
+    field public static final int COLOR_STANDARD_BT2020 = 6; // 0x6
+    field public static final int COLOR_STANDARD_BT601_NTSC = 4; // 0x4
+    field public static final int COLOR_STANDARD_BT601_PAL = 2; // 0x2
+    field public static final int COLOR_STANDARD_BT709 = 1; // 0x1
+    field public static final int COLOR_TRANSFER_HLG = 7; // 0x7
+    field public static final int COLOR_TRANSFER_LINEAR = 1; // 0x1
+    field public static final int COLOR_TRANSFER_SDR_VIDEO = 3; // 0x3
+    field public static final int COLOR_TRANSFER_ST2084 = 6; // 0x6
+    field public static final String KEY_AAC_DRC_ALBUM_MODE = "aac-drc-album-mode";
+    field public static final String KEY_AAC_DRC_ATTENUATION_FACTOR = "aac-drc-cut-level";
+    field public static final String KEY_AAC_DRC_BOOST_FACTOR = "aac-drc-boost-level";
+    field public static final String KEY_AAC_DRC_EFFECT_TYPE = "aac-drc-effect-type";
+    field public static final String KEY_AAC_DRC_HEAVY_COMPRESSION = "aac-drc-heavy-compression";
+    field public static final String KEY_AAC_DRC_OUTPUT_LOUDNESS = "aac-drc-output-loudness";
+    field public static final String KEY_AAC_DRC_TARGET_REFERENCE_LEVEL = "aac-target-ref-level";
+    field public static final String KEY_AAC_ENCODED_TARGET_LEVEL = "aac-encoded-target-level";
+    field public static final String KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT = "aac-max-output-channel_count";
+    field public static final String KEY_AAC_PROFILE = "aac-profile";
+    field public static final String KEY_AAC_SBR_MODE = "aac-sbr-mode";
+    field public static final String KEY_ALLOW_FRAME_DROP = "allow-frame-drop";
+    field public static final String KEY_AUDIO_SESSION_ID = "audio-session-id";
+    field public static final String KEY_BITRATE_MODE = "bitrate-mode";
+    field public static final String KEY_BIT_RATE = "bitrate";
+    field public static final String KEY_CAPTION_SERVICE_NUMBER = "caption-service-number";
+    field public static final String KEY_CAPTURE_RATE = "capture-rate";
+    field public static final String KEY_CHANNEL_COUNT = "channel-count";
+    field public static final String KEY_CHANNEL_MASK = "channel-mask";
+    field public static final String KEY_CODECS_STRING = "codecs-string";
+    field public static final String KEY_COLOR_FORMAT = "color-format";
+    field public static final String KEY_COLOR_RANGE = "color-range";
+    field public static final String KEY_COLOR_STANDARD = "color-standard";
+    field public static final String KEY_COLOR_TRANSFER = "color-transfer";
+    field public static final String KEY_COLOR_TRANSFER_REQUEST = "color-transfer-request";
+    field public static final String KEY_COMPLEXITY = "complexity";
+    field public static final String KEY_CREATE_INPUT_SURFACE_SUSPENDED = "create-input-buffers-suspended";
+    field public static final String KEY_DURATION = "durationUs";
+    field public static final String KEY_ENCODER_DELAY = "encoder-delay";
+    field public static final String KEY_ENCODER_PADDING = "encoder-padding";
+    field public static final String KEY_FLAC_COMPRESSION_LEVEL = "flac-compression-level";
+    field public static final String KEY_FRAME_RATE = "frame-rate";
+    field public static final String KEY_GRID_COLUMNS = "grid-cols";
+    field public static final String KEY_GRID_ROWS = "grid-rows";
+    field public static final String KEY_HAPTIC_CHANNEL_COUNT = "haptic-channel-count";
+    field public static final String KEY_HARDWARE_AV_SYNC_ID = "hw-av-sync-id";
+    field public static final String KEY_HDR10_PLUS_INFO = "hdr10-plus-info";
+    field public static final String KEY_HDR_STATIC_INFO = "hdr-static-info";
+    field public static final String KEY_HEIGHT = "height";
+    field public static final String KEY_INTRA_REFRESH_PERIOD = "intra-refresh-period";
+    field public static final String KEY_IS_ADTS = "is-adts";
+    field public static final String KEY_IS_AUTOSELECT = "is-autoselect";
+    field public static final String KEY_IS_DEFAULT = "is-default";
+    field public static final String KEY_IS_FORCED_SUBTITLE = "is-forced-subtitle";
+    field public static final String KEY_I_FRAME_INTERVAL = "i-frame-interval";
+    field public static final String KEY_LANGUAGE = "language";
+    field public static final String KEY_LATENCY = "latency";
+    field public static final String KEY_LEVEL = "level";
+    field public static final String KEY_LOW_LATENCY = "low-latency";
+    field public static final String KEY_MAX_B_FRAMES = "max-bframes";
+    field public static final String KEY_MAX_FPS_TO_ENCODER = "max-fps-to-encoder";
+    field public static final String KEY_MAX_HEIGHT = "max-height";
+    field public static final String KEY_MAX_INPUT_SIZE = "max-input-size";
+    field public static final String KEY_MAX_OUTPUT_CHANNEL_COUNT = "max-output-channel-count";
+    field public static final String KEY_MAX_PTS_GAP_TO_ENCODER = "max-pts-gap-to-encoder";
+    field public static final String KEY_MAX_WIDTH = "max-width";
+    field public static final String KEY_MIME = "mime";
+    field public static final String KEY_MPEGH_COMPATIBLE_SETS = "mpegh-compatible-sets";
+    field public static final String KEY_MPEGH_PROFILE_LEVEL_INDICATION = "mpegh-profile-level-indication";
+    field public static final String KEY_MPEGH_REFERENCE_CHANNEL_LAYOUT = "mpegh-reference-channel-layout";
+    field public static final String KEY_OPERATING_RATE = "operating-rate";
+    field public static final String KEY_OUTPUT_REORDER_DEPTH = "output-reorder-depth";
+    field public static final String KEY_PCM_ENCODING = "pcm-encoding";
+    field public static final String KEY_PIXEL_ASPECT_RATIO_HEIGHT = "sar-height";
+    field public static final String KEY_PIXEL_ASPECT_RATIO_WIDTH = "sar-width";
+    field public static final String KEY_PREPEND_HEADER_TO_SYNC_FRAMES = "prepend-sps-pps-to-idr-frames";
+    field public static final String KEY_PRIORITY = "priority";
+    field public static final String KEY_PROFILE = "profile";
+    field public static final String KEY_PUSH_BLANK_BUFFERS_ON_STOP = "push-blank-buffers-on-shutdown";
+    field public static final String KEY_QUALITY = "quality";
+    field public static final String KEY_REPEAT_PREVIOUS_FRAME_AFTER = "repeat-previous-frame-after";
+    field public static final String KEY_ROTATION = "rotation-degrees";
+    field public static final String KEY_SAMPLE_RATE = "sample-rate";
+    field public static final String KEY_SLICE_HEIGHT = "slice-height";
+    field public static final String KEY_SLOW_MOTION_MARKERS = "slow-motion-markers";
+    field public static final String KEY_STRIDE = "stride";
+    field public static final String KEY_TEMPORAL_LAYERING = "ts-schema";
+    field public static final String KEY_TILE_HEIGHT = "tile-height";
+    field public static final String KEY_TILE_WIDTH = "tile-width";
+    field public static final String KEY_TRACK_ID = "track-id";
+    field public static final String KEY_VIDEO_QP_B_MAX = "video-qp-b-max";
+    field public static final String KEY_VIDEO_QP_B_MIN = "video-qp-b-min";
+    field public static final String KEY_VIDEO_QP_I_MAX = "video-qp-i-max";
+    field public static final String KEY_VIDEO_QP_I_MIN = "video-qp-i-min";
+    field public static final String KEY_VIDEO_QP_MAX = "video-qp-max";
+    field public static final String KEY_VIDEO_QP_MIN = "video-qp-min";
+    field public static final String KEY_VIDEO_QP_P_MAX = "video-qp-p-max";
+    field public static final String KEY_VIDEO_QP_P_MIN = "video-qp-p-min";
+    field public static final String KEY_WIDTH = "width";
+    field public static final String MIMETYPE_AUDIO_AAC = "audio/mp4a-latm";
+    field public static final String MIMETYPE_AUDIO_AC3 = "audio/ac3";
+    field public static final String MIMETYPE_AUDIO_AC4 = "audio/ac4";
+    field public static final String MIMETYPE_AUDIO_AMR_NB = "audio/3gpp";
+    field public static final String MIMETYPE_AUDIO_AMR_WB = "audio/amr-wb";
+    field public static final String MIMETYPE_AUDIO_EAC3 = "audio/eac3";
+    field public static final String MIMETYPE_AUDIO_EAC3_JOC = "audio/eac3-joc";
+    field public static final String MIMETYPE_AUDIO_FLAC = "audio/flac";
+    field public static final String MIMETYPE_AUDIO_G711_ALAW = "audio/g711-alaw";
+    field public static final String MIMETYPE_AUDIO_G711_MLAW = "audio/g711-mlaw";
+    field public static final String MIMETYPE_AUDIO_MPEG = "audio/mpeg";
+    field public static final String MIMETYPE_AUDIO_MPEGH_MHA1 = "audio/mha1";
+    field public static final String MIMETYPE_AUDIO_MPEGH_MHM1 = "audio/mhm1";
+    field public static final String MIMETYPE_AUDIO_MSGSM = "audio/gsm";
+    field public static final String MIMETYPE_AUDIO_OPUS = "audio/opus";
+    field public static final String MIMETYPE_AUDIO_QCELP = "audio/qcelp";
+    field public static final String MIMETYPE_AUDIO_RAW = "audio/raw";
+    field public static final String MIMETYPE_AUDIO_SCRAMBLED = "audio/scrambled";
+    field public static final String MIMETYPE_AUDIO_VORBIS = "audio/vorbis";
+    field public static final String MIMETYPE_IMAGE_ANDROID_HEIC = "image/vnd.android.heic";
+    field public static final String MIMETYPE_TEXT_CEA_608 = "text/cea-608";
+    field public static final String MIMETYPE_TEXT_CEA_708 = "text/cea-708";
+    field public static final String MIMETYPE_TEXT_SUBRIP = "application/x-subrip";
+    field public static final String MIMETYPE_TEXT_VTT = "text/vtt";
+    field public static final String MIMETYPE_VIDEO_AV1 = "video/av01";
+    field public static final String MIMETYPE_VIDEO_AVC = "video/avc";
+    field public static final String MIMETYPE_VIDEO_DOLBY_VISION = "video/dolby-vision";
+    field public static final String MIMETYPE_VIDEO_H263 = "video/3gpp";
+    field public static final String MIMETYPE_VIDEO_HEVC = "video/hevc";
+    field public static final String MIMETYPE_VIDEO_MPEG2 = "video/mpeg2";
+    field public static final String MIMETYPE_VIDEO_MPEG4 = "video/mp4v-es";
+    field public static final String MIMETYPE_VIDEO_RAW = "video/raw";
+    field public static final String MIMETYPE_VIDEO_SCRAMBLED = "video/scrambled";
+    field public static final String MIMETYPE_VIDEO_VP8 = "video/x-vnd.on2.vp8";
+    field public static final String MIMETYPE_VIDEO_VP9 = "video/x-vnd.on2.vp9";
+    field public static final int TYPE_BYTE_BUFFER = 5; // 0x5
+    field public static final int TYPE_FLOAT = 3; // 0x3
+    field public static final int TYPE_INTEGER = 1; // 0x1
+    field public static final int TYPE_LONG = 2; // 0x2
+    field public static final int TYPE_NULL = 0; // 0x0
+    field public static final int TYPE_STRING = 4; // 0x4
+  }
+
+  public final class MediaMetadata implements android.os.Parcelable {
+    method public boolean containsKey(String);
+    method public int describeContents();
+    method public android.graphics.Bitmap getBitmap(String);
+    method @IntRange(from=1) public int getBitmapDimensionLimit();
+    method @NonNull public android.media.MediaDescription getDescription();
+    method public long getLong(String);
+    method public android.media.Rating getRating(String);
+    method public String getString(String);
+    method public CharSequence getText(String);
+    method public java.util.Set<java.lang.String> keySet();
+    method public int size();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaMetadata> CREATOR;
+    field public static final String METADATA_KEY_ALBUM = "android.media.metadata.ALBUM";
+    field public static final String METADATA_KEY_ALBUM_ART = "android.media.metadata.ALBUM_ART";
+    field public static final String METADATA_KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST";
+    field public static final String METADATA_KEY_ALBUM_ART_URI = "android.media.metadata.ALBUM_ART_URI";
+    field public static final String METADATA_KEY_ART = "android.media.metadata.ART";
+    field public static final String METADATA_KEY_ARTIST = "android.media.metadata.ARTIST";
+    field public static final String METADATA_KEY_ART_URI = "android.media.metadata.ART_URI";
+    field public static final String METADATA_KEY_AUTHOR = "android.media.metadata.AUTHOR";
+    field public static final String METADATA_KEY_BT_FOLDER_TYPE = "android.media.metadata.BT_FOLDER_TYPE";
+    field public static final String METADATA_KEY_COMPILATION = "android.media.metadata.COMPILATION";
+    field public static final String METADATA_KEY_COMPOSER = "android.media.metadata.COMPOSER";
+    field public static final String METADATA_KEY_DATE = "android.media.metadata.DATE";
+    field public static final String METADATA_KEY_DISC_NUMBER = "android.media.metadata.DISC_NUMBER";
+    field public static final String METADATA_KEY_DISPLAY_DESCRIPTION = "android.media.metadata.DISPLAY_DESCRIPTION";
+    field public static final String METADATA_KEY_DISPLAY_ICON = "android.media.metadata.DISPLAY_ICON";
+    field public static final String METADATA_KEY_DISPLAY_ICON_URI = "android.media.metadata.DISPLAY_ICON_URI";
+    field public static final String METADATA_KEY_DISPLAY_SUBTITLE = "android.media.metadata.DISPLAY_SUBTITLE";
+    field public static final String METADATA_KEY_DISPLAY_TITLE = "android.media.metadata.DISPLAY_TITLE";
+    field public static final String METADATA_KEY_DURATION = "android.media.metadata.DURATION";
+    field public static final String METADATA_KEY_GENRE = "android.media.metadata.GENRE";
+    field public static final String METADATA_KEY_MEDIA_ID = "android.media.metadata.MEDIA_ID";
+    field public static final String METADATA_KEY_MEDIA_URI = "android.media.metadata.MEDIA_URI";
+    field public static final String METADATA_KEY_NUM_TRACKS = "android.media.metadata.NUM_TRACKS";
+    field public static final String METADATA_KEY_RATING = "android.media.metadata.RATING";
+    field public static final String METADATA_KEY_TITLE = "android.media.metadata.TITLE";
+    field public static final String METADATA_KEY_TRACK_NUMBER = "android.media.metadata.TRACK_NUMBER";
+    field public static final String METADATA_KEY_USER_RATING = "android.media.metadata.USER_RATING";
+    field public static final String METADATA_KEY_WRITER = "android.media.metadata.WRITER";
+    field public static final String METADATA_KEY_YEAR = "android.media.metadata.YEAR";
+  }
+
+  public static final class MediaMetadata.Builder {
+    ctor public MediaMetadata.Builder();
+    ctor public MediaMetadata.Builder(android.media.MediaMetadata);
+    method public android.media.MediaMetadata build();
+    method public android.media.MediaMetadata.Builder putBitmap(String, android.graphics.Bitmap);
+    method public android.media.MediaMetadata.Builder putLong(String, long);
+    method public android.media.MediaMetadata.Builder putRating(String, android.media.Rating);
+    method public android.media.MediaMetadata.Builder putString(String, String);
+    method public android.media.MediaMetadata.Builder putText(String, CharSequence);
+    method @NonNull public android.media.MediaMetadata.Builder setBitmapDimensionLimit(@IntRange(from=1) int);
+  }
+
+  @Deprecated public abstract class MediaMetadataEditor {
+    method @Deprecated public void addEditableKey(int);
+    method @Deprecated public abstract void apply();
+    method @Deprecated public void clear();
+    method @Deprecated public android.graphics.Bitmap getBitmap(int, android.graphics.Bitmap) throws java.lang.IllegalArgumentException;
+    method @Deprecated public int[] getEditableKeys();
+    method @Deprecated public long getLong(int, long) throws java.lang.IllegalArgumentException;
+    method @Deprecated public Object getObject(int, Object) throws java.lang.IllegalArgumentException;
+    method @Deprecated public String getString(int, String) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.MediaMetadataEditor putBitmap(int, android.graphics.Bitmap) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.MediaMetadataEditor putLong(int, long) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.MediaMetadataEditor putObject(int, Object) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.MediaMetadataEditor putString(int, String) throws java.lang.IllegalArgumentException;
+    method @Deprecated public void removeEditableKeys();
+    field @Deprecated public static final int BITMAP_KEY_ARTWORK = 100; // 0x64
+    field @Deprecated public static final int RATING_KEY_BY_OTHERS = 101; // 0x65
+    field @Deprecated public static final int RATING_KEY_BY_USER = 268435457; // 0x10000001
+  }
+
+  public class MediaMetadataRetriever implements java.lang.AutoCloseable {
+    ctor public MediaMetadataRetriever();
+    method public void close();
+    method @Nullable public String extractMetadata(int);
+    method @Nullable public byte[] getEmbeddedPicture();
+    method @Nullable public android.graphics.Bitmap getFrameAtIndex(int, @NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method @Nullable public android.graphics.Bitmap getFrameAtIndex(int);
+    method @Nullable public android.graphics.Bitmap getFrameAtTime(long, int);
+    method @Nullable public android.graphics.Bitmap getFrameAtTime(long, int, @NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method @Nullable public android.graphics.Bitmap getFrameAtTime(long);
+    method @Nullable public android.graphics.Bitmap getFrameAtTime();
+    method @NonNull public java.util.List<android.graphics.Bitmap> getFramesAtIndex(int, int, @NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method @NonNull public java.util.List<android.graphics.Bitmap> getFramesAtIndex(int, int);
+    method @Nullable public android.graphics.Bitmap getImageAtIndex(int, @NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method @Nullable public android.graphics.Bitmap getImageAtIndex(int);
+    method @Nullable public android.graphics.Bitmap getPrimaryImage(@NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method @Nullable public android.graphics.Bitmap getPrimaryImage();
+    method @Nullable public android.graphics.Bitmap getScaledFrameAtTime(long, int, @IntRange(from=1) int, @IntRange(from=1) int);
+    method @Nullable public android.graphics.Bitmap getScaledFrameAtTime(long, int, @IntRange(from=1) int, @IntRange(from=1) int, @NonNull android.media.MediaMetadataRetriever.BitmapParams);
+    method public void release();
+    method public void setDataSource(String) throws java.lang.IllegalArgumentException;
+    method public void setDataSource(String, java.util.Map<java.lang.String,java.lang.String>) throws java.lang.IllegalArgumentException;
+    method public void setDataSource(java.io.FileDescriptor, long, long) throws java.lang.IllegalArgumentException;
+    method public void setDataSource(java.io.FileDescriptor) throws java.lang.IllegalArgumentException;
+    method public void setDataSource(android.content.Context, android.net.Uri) throws java.lang.IllegalArgumentException, java.lang.SecurityException;
+    method public void setDataSource(android.media.MediaDataSource) throws java.lang.IllegalArgumentException;
+    field public static final int METADATA_KEY_ALBUM = 1; // 0x1
+    field public static final int METADATA_KEY_ALBUMARTIST = 13; // 0xd
+    field public static final int METADATA_KEY_ARTIST = 2; // 0x2
+    field public static final int METADATA_KEY_AUTHOR = 3; // 0x3
+    field public static final int METADATA_KEY_BITRATE = 20; // 0x14
+    field public static final int METADATA_KEY_BITS_PER_SAMPLE = 39; // 0x27
+    field public static final int METADATA_KEY_CAPTURE_FRAMERATE = 25; // 0x19
+    field public static final int METADATA_KEY_CD_TRACK_NUMBER = 0; // 0x0
+    field public static final int METADATA_KEY_COLOR_RANGE = 37; // 0x25
+    field public static final int METADATA_KEY_COLOR_STANDARD = 35; // 0x23
+    field public static final int METADATA_KEY_COLOR_TRANSFER = 36; // 0x24
+    field public static final int METADATA_KEY_COMPILATION = 15; // 0xf
+    field public static final int METADATA_KEY_COMPOSER = 4; // 0x4
+    field public static final int METADATA_KEY_DATE = 5; // 0x5
+    field public static final int METADATA_KEY_DISC_NUMBER = 14; // 0xe
+    field public static final int METADATA_KEY_DURATION = 9; // 0x9
+    field public static final int METADATA_KEY_EXIF_LENGTH = 34; // 0x22
+    field public static final int METADATA_KEY_EXIF_OFFSET = 33; // 0x21
+    field public static final int METADATA_KEY_GENRE = 6; // 0x6
+    field public static final int METADATA_KEY_HAS_AUDIO = 16; // 0x10
+    field public static final int METADATA_KEY_HAS_IMAGE = 26; // 0x1a
+    field public static final int METADATA_KEY_HAS_VIDEO = 17; // 0x11
+    field public static final int METADATA_KEY_IMAGE_COUNT = 27; // 0x1b
+    field public static final int METADATA_KEY_IMAGE_HEIGHT = 30; // 0x1e
+    field public static final int METADATA_KEY_IMAGE_PRIMARY = 28; // 0x1c
+    field public static final int METADATA_KEY_IMAGE_ROTATION = 31; // 0x1f
+    field public static final int METADATA_KEY_IMAGE_WIDTH = 29; // 0x1d
+    field public static final int METADATA_KEY_LOCATION = 23; // 0x17
+    field public static final int METADATA_KEY_MIMETYPE = 12; // 0xc
+    field public static final int METADATA_KEY_NUM_TRACKS = 10; // 0xa
+    field public static final int METADATA_KEY_SAMPLERATE = 38; // 0x26
+    field public static final int METADATA_KEY_TITLE = 7; // 0x7
+    field public static final int METADATA_KEY_VIDEO_FRAME_COUNT = 32; // 0x20
+    field public static final int METADATA_KEY_VIDEO_HEIGHT = 19; // 0x13
+    field public static final int METADATA_KEY_VIDEO_ROTATION = 24; // 0x18
+    field public static final int METADATA_KEY_VIDEO_WIDTH = 18; // 0x12
+    field public static final int METADATA_KEY_WRITER = 11; // 0xb
+    field public static final int METADATA_KEY_XMP_LENGTH = 42; // 0x2a
+    field public static final int METADATA_KEY_XMP_OFFSET = 41; // 0x29
+    field public static final int METADATA_KEY_YEAR = 8; // 0x8
+    field public static final int OPTION_CLOSEST = 3; // 0x3
+    field public static final int OPTION_CLOSEST_SYNC = 2; // 0x2
+    field public static final int OPTION_NEXT_SYNC = 1; // 0x1
+    field public static final int OPTION_PREVIOUS_SYNC = 0; // 0x0
+  }
+
+  public static final class MediaMetadataRetriever.BitmapParams {
+    ctor public MediaMetadataRetriever.BitmapParams();
+    method @NonNull public android.graphics.Bitmap.Config getActualConfig();
+    method @NonNull public android.graphics.Bitmap.Config getPreferredConfig();
+    method public void setPreferredConfig(@NonNull android.graphics.Bitmap.Config);
+  }
+
+  public final class MediaMuxer {
+    ctor public MediaMuxer(@NonNull String, int) throws java.io.IOException;
+    ctor public MediaMuxer(@NonNull java.io.FileDescriptor, int) throws java.io.IOException;
+    method public int addTrack(@NonNull android.media.MediaFormat);
+    method public void release();
+    method public void setLocation(float, float);
+    method public void setOrientationHint(int);
+    method public void start();
+    method public void stop();
+    method public void writeSampleData(int, @NonNull java.nio.ByteBuffer, @NonNull android.media.MediaCodec.BufferInfo);
+  }
+
+  public static final class MediaMuxer.OutputFormat {
+    field public static final int MUXER_OUTPUT_3GPP = 2; // 0x2
+    field public static final int MUXER_OUTPUT_HEIF = 3; // 0x3
+    field public static final int MUXER_OUTPUT_MPEG_4 = 0; // 0x0
+    field public static final int MUXER_OUTPUT_OGG = 4; // 0x4
+    field public static final int MUXER_OUTPUT_WEBM = 1; // 0x1
+  }
+
+  public final class MediaParser {
+    method public boolean advance(@NonNull android.media.MediaParser.SeekableInputReader) throws java.io.IOException;
+    method @NonNull public static android.media.MediaParser create(@NonNull android.media.MediaParser.OutputConsumer, @NonNull java.lang.String...);
+    method @NonNull public static android.media.MediaParser createByName(@NonNull String, @NonNull android.media.MediaParser.OutputConsumer);
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method @NonNull public String getParserName();
+    method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat);
+    method public void release();
+    method public void seek(@NonNull android.media.MediaParser.SeekPoint);
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+    method @NonNull public android.media.MediaParser setParameter(@NonNull String, @NonNull Object);
+    method public boolean supportsParameter(@NonNull String);
+    field public static final String PARAMETER_ADTS_ENABLE_CBR_SEEKING = "android.media.mediaparser.adts.enableCbrSeeking";
+    field public static final String PARAMETER_AMR_ENABLE_CBR_SEEKING = "android.media.mediaparser.amr.enableCbrSeeking";
+    field public static final String PARAMETER_FLAC_DISABLE_ID3 = "android.media.mediaparser.flac.disableId3";
+    field public static final String PARAMETER_MATROSKA_DISABLE_CUES_SEEKING = "android.media.mediaparser.matroska.disableCuesSeeking";
+    field public static final String PARAMETER_MP3_DISABLE_ID3 = "android.media.mediaparser.mp3.disableId3";
+    field public static final String PARAMETER_MP3_ENABLE_CBR_SEEKING = "android.media.mediaparser.mp3.enableCbrSeeking";
+    field public static final String PARAMETER_MP3_ENABLE_INDEX_SEEKING = "android.media.mediaparser.mp3.enableIndexSeeking";
+    field public static final String PARAMETER_MP4_IGNORE_EDIT_LISTS = "android.media.mediaparser.mp4.ignoreEditLists";
+    field public static final String PARAMETER_MP4_IGNORE_TFDT_BOX = "android.media.mediaparser.mp4.ignoreTfdtBox";
+    field public static final String PARAMETER_MP4_TREAT_VIDEO_FRAMES_AS_KEYFRAMES = "android.media.mediaparser.mp4.treatVideoFramesAsKeyframes";
+    field public static final String PARAMETER_TS_ALLOW_NON_IDR_AVC_KEYFRAMES = "android.media.mediaparser.ts.allowNonIdrAvcKeyframes";
+    field public static final String PARAMETER_TS_DETECT_ACCESS_UNITS = "android.media.mediaparser.ts.ignoreDetectAccessUnits";
+    field public static final String PARAMETER_TS_ENABLE_HDMV_DTS_AUDIO_STREAMS = "android.media.mediaparser.ts.enableHdmvDtsAudioStreams";
+    field public static final String PARAMETER_TS_IGNORE_AAC_STREAM = "android.media.mediaparser.ts.ignoreAacStream";
+    field public static final String PARAMETER_TS_IGNORE_AVC_STREAM = "android.media.mediaparser.ts.ignoreAvcStream";
+    field public static final String PARAMETER_TS_IGNORE_SPLICE_INFO_STREAM = "android.media.mediaparser.ts.ignoreSpliceInfoStream";
+    field public static final String PARAMETER_TS_MODE = "android.media.mediaparser.ts.mode";
+    field public static final String PARSER_NAME_AC3 = "android.media.mediaparser.Ac3Parser";
+    field public static final String PARSER_NAME_AC4 = "android.media.mediaparser.Ac4Parser";
+    field public static final String PARSER_NAME_ADTS = "android.media.mediaparser.AdtsParser";
+    field public static final String PARSER_NAME_AMR = "android.media.mediaparser.AmrParser";
+    field public static final String PARSER_NAME_FLAC = "android.media.mediaparser.FlacParser";
+    field public static final String PARSER_NAME_FLV = "android.media.mediaparser.FlvParser";
+    field public static final String PARSER_NAME_FMP4 = "android.media.mediaparser.FragmentedMp4Parser";
+    field public static final String PARSER_NAME_MATROSKA = "android.media.mediaparser.MatroskaParser";
+    field public static final String PARSER_NAME_MP3 = "android.media.mediaparser.Mp3Parser";
+    field public static final String PARSER_NAME_MP4 = "android.media.mediaparser.Mp4Parser";
+    field public static final String PARSER_NAME_OGG = "android.media.mediaparser.OggParser";
+    field public static final String PARSER_NAME_PS = "android.media.mediaparser.PsParser";
+    field public static final String PARSER_NAME_TS = "android.media.mediaparser.TsParser";
+    field public static final String PARSER_NAME_UNKNOWN = "android.media.mediaparser.UNKNOWN";
+    field public static final String PARSER_NAME_WAV = "android.media.mediaparser.WavParser";
+    field public static final int SAMPLE_FLAG_DECODE_ONLY = -2147483648; // 0x80000000
+    field public static final int SAMPLE_FLAG_ENCRYPTED = 1073741824; // 0x40000000
+    field public static final int SAMPLE_FLAG_HAS_SUPPLEMENTAL_DATA = 268435456; // 0x10000000
+    field public static final int SAMPLE_FLAG_KEY_FRAME = 1; // 0x1
+    field public static final int SAMPLE_FLAG_LAST_SAMPLE = 536870912; // 0x20000000
+  }
+
+  public static interface MediaParser.InputReader {
+    method public long getLength();
+    method public long getPosition();
+    method public int read(@NonNull byte[], int, int) throws java.io.IOException;
+  }
+
+  public static interface MediaParser.OutputConsumer {
+    method public void onSampleCompleted(int, long, int, int, int, @Nullable android.media.MediaCodec.CryptoInfo);
+    method public void onSampleDataFound(int, @NonNull android.media.MediaParser.InputReader) throws java.io.IOException;
+    method public void onSeekMapFound(@NonNull android.media.MediaParser.SeekMap);
+    method public void onTrackCountFound(int);
+    method public void onTrackDataFound(int, @NonNull android.media.MediaParser.TrackData);
+  }
+
+  public static final class MediaParser.ParsingException extends java.io.IOException {
+  }
+
+  public static final class MediaParser.SeekMap {
+    method public long getDurationMicros();
+    method @NonNull public android.util.Pair<android.media.MediaParser.SeekPoint,android.media.MediaParser.SeekPoint> getSeekPoints(long);
+    method public boolean isSeekable();
+    field public static final int UNKNOWN_DURATION = -2147483648; // 0x80000000
+  }
+
+  public static final class MediaParser.SeekPoint {
+    field @NonNull public static final android.media.MediaParser.SeekPoint START;
+    field public final long position;
+    field public final long timeMicros;
+  }
+
+  public static interface MediaParser.SeekableInputReader extends android.media.MediaParser.InputReader {
+    method public void seekToPosition(long);
+  }
+
+  public static final class MediaParser.TrackData {
+    field @Nullable public final android.media.DrmInitData drmInitData;
+    field @NonNull public final android.media.MediaFormat mediaFormat;
+  }
+
+  public static final class MediaParser.UnrecognizedInputFormatException extends java.io.IOException {
+  }
+
+  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
+    ctor public MediaPlayer();
+    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+    method public void addTimedTextSource(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void addTimedTextSource(android.content.Context, android.net.Uri, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void addTimedTextSource(java.io.FileDescriptor, String) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void addTimedTextSource(java.io.FileDescriptor, long, long, String) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void attachAuxEffect(int);
+    method public void clearOnMediaTimeDiscontinuityListener();
+    method public void clearOnSubtitleDataListener();
+    method public static android.media.MediaPlayer create(android.content.Context, android.net.Uri);
+    method public static android.media.MediaPlayer create(android.content.Context, android.net.Uri, android.view.SurfaceHolder);
+    method public static android.media.MediaPlayer create(android.content.Context, android.net.Uri, android.view.SurfaceHolder, android.media.AudioAttributes, int);
+    method public static android.media.MediaPlayer create(android.content.Context, int);
+    method public static android.media.MediaPlayer create(android.content.Context, int, android.media.AudioAttributes, int);
+    method @NonNull public android.media.VolumeShaper createVolumeShaper(@NonNull android.media.VolumeShaper.Configuration);
+    method public void deselectTrack(int) throws java.lang.IllegalStateException;
+    method protected void finalize();
+    method public int getAudioSessionId();
+    method public int getCurrentPosition();
+    method public android.media.MediaPlayer.DrmInfo getDrmInfo();
+    method @NonNull public String getDrmPropertyString(@NonNull String) throws android.media.MediaPlayer.NoDrmSchemeException;
+    method public int getDuration();
+    method @NonNull public android.media.MediaDrm.KeyRequest getKeyRequest(@Nullable byte[], @Nullable byte[], @Nullable String, int, @Nullable java.util.Map<java.lang.String,java.lang.String>) throws android.media.MediaPlayer.NoDrmSchemeException;
+    method public android.os.PersistableBundle getMetrics();
+    method @NonNull public android.media.PlaybackParams getPlaybackParams();
+    method public android.media.AudioDeviceInfo getPreferredDevice();
+    method public android.media.AudioDeviceInfo getRoutedDevice();
+    method public int getSelectedTrack(int) throws java.lang.IllegalStateException;
+    method @NonNull public android.media.SyncParams getSyncParams();
+    method @Nullable public android.media.MediaTimestamp getTimestamp();
+    method public android.media.MediaPlayer.TrackInfo[] getTrackInfo() throws java.lang.IllegalStateException;
+    method public int getVideoHeight();
+    method public int getVideoWidth();
+    method public boolean isLooping();
+    method public boolean isPlaying();
+    method public void pause() throws java.lang.IllegalStateException;
+    method public void prepare() throws java.io.IOException, java.lang.IllegalStateException;
+    method public void prepareAsync() throws java.lang.IllegalStateException;
+    method public void prepareDrm(@NonNull java.util.UUID) throws android.media.MediaPlayer.ProvisioningNetworkErrorException, android.media.MediaPlayer.ProvisioningServerErrorException, android.media.ResourceBusyException, android.media.UnsupportedSchemeException;
+    method public byte[] provideKeyResponse(@Nullable byte[], @NonNull byte[]) throws android.media.DeniedByServerException, android.media.MediaPlayer.NoDrmSchemeException;
+    method public void release();
+    method public void releaseDrm() throws android.media.MediaPlayer.NoDrmSchemeException;
+    method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener);
+    method public void reset();
+    method public void restoreKeys(@NonNull byte[]) throws android.media.MediaPlayer.NoDrmSchemeException;
+    method public void seekTo(long, int);
+    method public void seekTo(int) throws java.lang.IllegalStateException;
+    method public void selectTrack(int) throws java.lang.IllegalStateException;
+    method public void setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method public void setAudioSessionId(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method @Deprecated public void setAudioStreamType(int);
+    method public void setAuxEffectSendLevel(float);
+    method public void setDataSource(@NonNull android.content.Context, @NonNull android.net.Uri) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.SecurityException;
+    method public void setDataSource(@NonNull android.content.Context, @NonNull android.net.Uri, @Nullable java.util.Map<java.lang.String,java.lang.String>, @Nullable java.util.List<java.net.HttpCookie>) throws java.io.IOException;
+    method public void setDataSource(@NonNull android.content.Context, @NonNull android.net.Uri, @Nullable java.util.Map<java.lang.String,java.lang.String>) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.SecurityException;
+    method public void setDataSource(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.SecurityException;
+    method public void setDataSource(@NonNull android.content.res.AssetFileDescriptor) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setDataSource(java.io.FileDescriptor) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setDataSource(java.io.FileDescriptor, long, long) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setDataSource(android.media.MediaDataSource) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setDisplay(android.view.SurfaceHolder);
+    method public void setDrmPropertyString(@NonNull String, @NonNull String) throws android.media.MediaPlayer.NoDrmSchemeException;
+    method public void setLooping(boolean);
+    method public void setNextMediaPlayer(android.media.MediaPlayer);
+    method public void setOnBufferingUpdateListener(android.media.MediaPlayer.OnBufferingUpdateListener);
+    method public void setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener);
+    method public void setOnDrmConfigHelper(android.media.MediaPlayer.OnDrmConfigHelper);
+    method public void setOnDrmInfoListener(android.media.MediaPlayer.OnDrmInfoListener);
+    method public void setOnDrmInfoListener(android.media.MediaPlayer.OnDrmInfoListener, android.os.Handler);
+    method public void setOnDrmPreparedListener(android.media.MediaPlayer.OnDrmPreparedListener);
+    method public void setOnDrmPreparedListener(android.media.MediaPlayer.OnDrmPreparedListener, android.os.Handler);
+    method public void setOnErrorListener(android.media.MediaPlayer.OnErrorListener);
+    method public void setOnInfoListener(android.media.MediaPlayer.OnInfoListener);
+    method public void setOnMediaTimeDiscontinuityListener(@NonNull android.media.MediaPlayer.OnMediaTimeDiscontinuityListener, @NonNull android.os.Handler);
+    method public void setOnMediaTimeDiscontinuityListener(@NonNull android.media.MediaPlayer.OnMediaTimeDiscontinuityListener);
+    method public void setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener);
+    method public void setOnSeekCompleteListener(android.media.MediaPlayer.OnSeekCompleteListener);
+    method public void setOnSubtitleDataListener(@NonNull android.media.MediaPlayer.OnSubtitleDataListener, @NonNull android.os.Handler);
+    method public void setOnSubtitleDataListener(@NonNull android.media.MediaPlayer.OnSubtitleDataListener);
+    method public void setOnTimedMetaDataAvailableListener(android.media.MediaPlayer.OnTimedMetaDataAvailableListener);
+    method public void setOnTimedTextListener(android.media.MediaPlayer.OnTimedTextListener);
+    method public void setOnVideoSizeChangedListener(android.media.MediaPlayer.OnVideoSizeChangedListener);
+    method public void setPlaybackParams(@NonNull android.media.PlaybackParams);
+    method public boolean setPreferredDevice(android.media.AudioDeviceInfo);
+    method public void setScreenOnWhilePlaying(boolean);
+    method public void setSurface(android.view.Surface);
+    method public void setSyncParams(@NonNull android.media.SyncParams);
+    method public void setVideoScalingMode(int);
+    method public void setVolume(float, float);
+    method public void setWakeMode(android.content.Context, int);
+    method public void start() throws java.lang.IllegalStateException;
+    method public void stop() throws java.lang.IllegalStateException;
+    field public static final int MEDIA_ERROR_IO = -1004; // 0xfffffc14
+    field public static final int MEDIA_ERROR_MALFORMED = -1007; // 0xfffffc11
+    field public static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200; // 0xc8
+    field public static final int MEDIA_ERROR_SERVER_DIED = 100; // 0x64
+    field public static final int MEDIA_ERROR_TIMED_OUT = -110; // 0xffffff92
+    field public static final int MEDIA_ERROR_UNKNOWN = 1; // 0x1
+    field public static final int MEDIA_ERROR_UNSUPPORTED = -1010; // 0xfffffc0e
+    field public static final int MEDIA_INFO_AUDIO_NOT_PLAYING = 804; // 0x324
+    field public static final int MEDIA_INFO_BAD_INTERLEAVING = 800; // 0x320
+    field public static final int MEDIA_INFO_BUFFERING_END = 702; // 0x2be
+    field public static final int MEDIA_INFO_BUFFERING_START = 701; // 0x2bd
+    field public static final int MEDIA_INFO_METADATA_UPDATE = 802; // 0x322
+    field public static final int MEDIA_INFO_NOT_SEEKABLE = 801; // 0x321
+    field public static final int MEDIA_INFO_STARTED_AS_NEXT = 2; // 0x2
+    field public static final int MEDIA_INFO_SUBTITLE_TIMED_OUT = 902; // 0x386
+    field public static final int MEDIA_INFO_UNKNOWN = 1; // 0x1
+    field public static final int MEDIA_INFO_UNSUPPORTED_SUBTITLE = 901; // 0x385
+    field public static final int MEDIA_INFO_VIDEO_NOT_PLAYING = 805; // 0x325
+    field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3
+    field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc
+    field @Deprecated public static final String MEDIA_MIMETYPE_TEXT_SUBRIP = "application/x-subrip";
+    field public static final int PREPARE_DRM_STATUS_PREPARATION_ERROR = 3; // 0x3
+    field public static final int PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR = 1; // 0x1
+    field public static final int PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR = 2; // 0x2
+    field public static final int PREPARE_DRM_STATUS_SUCCESS = 0; // 0x0
+    field public static final int SEEK_CLOSEST = 3; // 0x3
+    field public static final int SEEK_CLOSEST_SYNC = 2; // 0x2
+    field public static final int SEEK_NEXT_SYNC = 1; // 0x1
+    field public static final int SEEK_PREVIOUS_SYNC = 0; // 0x0
+    field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; // 0x1
+    field public static final int VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; // 0x2
+  }
+
+  public static final class MediaPlayer.DrmInfo {
+    method public java.util.Map<java.util.UUID,byte[]> getPssh();
+    method public java.util.UUID[] getSupportedSchemes();
+  }
+
+  public static final class MediaPlayer.MetricsConstants {
+    field public static final String CODEC_AUDIO = "android.media.mediaplayer.audio.codec";
+    field public static final String CODEC_VIDEO = "android.media.mediaplayer.video.codec";
+    field public static final String DURATION = "android.media.mediaplayer.durationMs";
+    field public static final String ERRORS = "android.media.mediaplayer.err";
+    field public static final String ERROR_CODE = "android.media.mediaplayer.errcode";
+    field public static final String FRAMES = "android.media.mediaplayer.frames";
+    field public static final String FRAMES_DROPPED = "android.media.mediaplayer.dropped";
+    field public static final String HEIGHT = "android.media.mediaplayer.height";
+    field public static final String MIME_TYPE_AUDIO = "android.media.mediaplayer.audio.mime";
+    field public static final String MIME_TYPE_VIDEO = "android.media.mediaplayer.video.mime";
+    field public static final String PLAYING = "android.media.mediaplayer.playingMs";
+    field public static final String WIDTH = "android.media.mediaplayer.width";
+  }
+
+  public static final class MediaPlayer.NoDrmSchemeException extends android.media.MediaDrmException {
+    ctor public MediaPlayer.NoDrmSchemeException(String);
+  }
+
+  public static interface MediaPlayer.OnBufferingUpdateListener {
+    method public void onBufferingUpdate(android.media.MediaPlayer, int);
+  }
+
+  public static interface MediaPlayer.OnCompletionListener {
+    method public void onCompletion(android.media.MediaPlayer);
+  }
+
+  public static interface MediaPlayer.OnDrmConfigHelper {
+    method public void onDrmConfig(android.media.MediaPlayer);
+  }
+
+  public static interface MediaPlayer.OnDrmInfoListener {
+    method public void onDrmInfo(android.media.MediaPlayer, android.media.MediaPlayer.DrmInfo);
+  }
+
+  public static interface MediaPlayer.OnDrmPreparedListener {
+    method public void onDrmPrepared(android.media.MediaPlayer, int);
+  }
+
+  public static interface MediaPlayer.OnErrorListener {
+    method public boolean onError(android.media.MediaPlayer, int, int);
+  }
+
+  public static interface MediaPlayer.OnInfoListener {
+    method public boolean onInfo(android.media.MediaPlayer, int, int);
+  }
+
+  public static interface MediaPlayer.OnMediaTimeDiscontinuityListener {
+    method public void onMediaTimeDiscontinuity(@NonNull android.media.MediaPlayer, @NonNull android.media.MediaTimestamp);
+  }
+
+  public static interface MediaPlayer.OnPreparedListener {
+    method public void onPrepared(android.media.MediaPlayer);
+  }
+
+  public static interface MediaPlayer.OnSeekCompleteListener {
+    method public void onSeekComplete(android.media.MediaPlayer);
+  }
+
+  public static interface MediaPlayer.OnSubtitleDataListener {
+    method public void onSubtitleData(@NonNull android.media.MediaPlayer, @NonNull android.media.SubtitleData);
+  }
+
+  public static interface MediaPlayer.OnTimedMetaDataAvailableListener {
+    method public void onTimedMetaDataAvailable(android.media.MediaPlayer, android.media.TimedMetaData);
+  }
+
+  public static interface MediaPlayer.OnTimedTextListener {
+    method public void onTimedText(android.media.MediaPlayer, android.media.TimedText);
+  }
+
+  public static interface MediaPlayer.OnVideoSizeChangedListener {
+    method public void onVideoSizeChanged(android.media.MediaPlayer, int, int);
+  }
+
+  public static final class MediaPlayer.ProvisioningNetworkErrorException extends android.media.MediaDrmException {
+    ctor public MediaPlayer.ProvisioningNetworkErrorException(String);
+  }
+
+  public static final class MediaPlayer.ProvisioningServerErrorException extends android.media.MediaDrmException {
+    ctor public MediaPlayer.ProvisioningServerErrorException(String);
+  }
+
+  public static class MediaPlayer.TrackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.MediaFormat getFormat();
+    method public String getLanguage();
+    method public int getTrackType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int MEDIA_TRACK_TYPE_AUDIO = 2; // 0x2
+    field public static final int MEDIA_TRACK_TYPE_METADATA = 5; // 0x5
+    field public static final int MEDIA_TRACK_TYPE_SUBTITLE = 4; // 0x4
+    field public static final int MEDIA_TRACK_TYPE_TIMEDTEXT = 3; // 0x3
+    field public static final int MEDIA_TRACK_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int MEDIA_TRACK_TYPE_VIDEO = 1; // 0x1
+  }
+
+  public class MediaRecorder implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
+    ctor @Deprecated public MediaRecorder();
+    ctor public MediaRecorder(@NonNull android.content.Context);
+    method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
+    method protected void finalize();
+    method public java.util.List<android.media.MicrophoneInfo> getActiveMicrophones() throws java.io.IOException;
+    method @Nullable public android.media.AudioRecordingConfiguration getActiveRecordingConfiguration();
+    method public static final int getAudioSourceMax();
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method public int getMaxAmplitude() throws java.lang.IllegalStateException;
+    method public android.os.PersistableBundle getMetrics();
+    method public android.media.AudioDeviceInfo getPreferredDevice();
+    method public android.media.AudioDeviceInfo getRoutedDevice();
+    method public android.view.Surface getSurface();
+    method public boolean isPrivacySensitive();
+    method public void pause() throws java.lang.IllegalStateException;
+    method public void prepare() throws java.io.IOException, java.lang.IllegalStateException;
+    method public void registerAudioRecordingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioRecordingCallback);
+    method public void release();
+    method public void removeOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener);
+    method public void reset();
+    method public void resume() throws java.lang.IllegalStateException;
+    method public void setAudioChannels(int);
+    method public void setAudioEncoder(int) throws java.lang.IllegalStateException;
+    method public void setAudioEncodingBitRate(int);
+    method public void setAudioProfile(@NonNull android.media.EncoderProfiles.AudioProfile);
+    method public void setAudioSamplingRate(int);
+    method public void setAudioSource(int) throws java.lang.IllegalStateException;
+    method @Deprecated public void setCamera(android.hardware.Camera);
+    method public void setCaptureRate(double);
+    method public void setInputSurface(@NonNull android.view.Surface);
+    method public void setLocation(float, float);
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+    method public void setMaxDuration(int) throws java.lang.IllegalArgumentException;
+    method public void setMaxFileSize(long) throws java.lang.IllegalArgumentException;
+    method public void setNextOutputFile(java.io.FileDescriptor) throws java.io.IOException;
+    method public void setNextOutputFile(java.io.File) throws java.io.IOException;
+    method public void setOnErrorListener(android.media.MediaRecorder.OnErrorListener);
+    method public void setOnInfoListener(android.media.MediaRecorder.OnInfoListener);
+    method public void setOrientationHint(int);
+    method public void setOutputFile(java.io.FileDescriptor) throws java.lang.IllegalStateException;
+    method public void setOutputFile(java.io.File);
+    method public void setOutputFile(String) throws java.lang.IllegalStateException;
+    method public void setOutputFormat(int) throws java.lang.IllegalStateException;
+    method public boolean setPreferredDevice(android.media.AudioDeviceInfo);
+    method public boolean setPreferredMicrophoneDirection(int);
+    method public boolean setPreferredMicrophoneFieldDimension(@FloatRange(from=-1.0, to=1.0) float);
+    method public void setPreviewDisplay(android.view.Surface);
+    method public void setPrivacySensitive(boolean);
+    method public void setProfile(android.media.CamcorderProfile);
+    method public void setVideoEncoder(int) throws java.lang.IllegalStateException;
+    method public void setVideoEncodingBitRate(int);
+    method public void setVideoEncodingProfileLevel(int, int);
+    method public void setVideoFrameRate(int) throws java.lang.IllegalStateException;
+    method public void setVideoProfile(@NonNull android.media.EncoderProfiles.VideoProfile);
+    method public void setVideoSize(int, int) throws java.lang.IllegalStateException;
+    method public void setVideoSource(int) throws java.lang.IllegalStateException;
+    method public void start() throws java.lang.IllegalStateException;
+    method public void stop() throws java.lang.IllegalStateException;
+    method public void unregisterAudioRecordingCallback(@NonNull android.media.AudioManager.AudioRecordingCallback);
+    field public static final int MEDIA_ERROR_SERVER_DIED = 100; // 0x64
+    field public static final int MEDIA_RECORDER_ERROR_UNKNOWN = 1; // 0x1
+    field public static final int MEDIA_RECORDER_INFO_MAX_DURATION_REACHED = 800; // 0x320
+    field public static final int MEDIA_RECORDER_INFO_MAX_FILESIZE_APPROACHING = 802; // 0x322
+    field public static final int MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED = 801; // 0x321
+    field public static final int MEDIA_RECORDER_INFO_NEXT_OUTPUT_FILE_STARTED = 803; // 0x323
+    field public static final int MEDIA_RECORDER_INFO_UNKNOWN = 1; // 0x1
+  }
+
+  public final class MediaRecorder.AudioEncoder {
+    field public static final int AAC = 3; // 0x3
+    field public static final int AAC_ELD = 5; // 0x5
+    field public static final int AMR_NB = 1; // 0x1
+    field public static final int AMR_WB = 2; // 0x2
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int HE_AAC = 4; // 0x4
+    field public static final int OPUS = 7; // 0x7
+    field public static final int VORBIS = 6; // 0x6
+  }
+
+  public final class MediaRecorder.AudioSource {
+    field public static final int CAMCORDER = 5; // 0x5
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int MIC = 1; // 0x1
+    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int REMOTE_SUBMIX = 8; // 0x8
+    field public static final int UNPROCESSED = 9; // 0x9
+    field public static final int VOICE_CALL = 4; // 0x4
+    field public static final int VOICE_COMMUNICATION = 7; // 0x7
+    field public static final int VOICE_DOWNLINK = 3; // 0x3
+    field public static final int VOICE_PERFORMANCE = 10; // 0xa
+    field public static final int VOICE_RECOGNITION = 6; // 0x6
+    field public static final int VOICE_UPLINK = 2; // 0x2
+  }
+
+  public static final class MediaRecorder.MetricsConstants {
+    field public static final String AUDIO_BITRATE = "android.media.mediarecorder.audio-bitrate";
+    field public static final String AUDIO_CHANNELS = "android.media.mediarecorder.audio-channels";
+    field public static final String AUDIO_SAMPLERATE = "android.media.mediarecorder.audio-samplerate";
+    field public static final String AUDIO_TIMESCALE = "android.media.mediarecorder.audio-timescale";
+    field public static final String CAPTURE_FPS = "android.media.mediarecorder.capture-fps";
+    field public static final String CAPTURE_FPS_ENABLE = "android.media.mediarecorder.capture-fpsenable";
+    field public static final String FRAMERATE = "android.media.mediarecorder.frame-rate";
+    field public static final String HEIGHT = "android.media.mediarecorder.height";
+    field public static final String MOVIE_TIMESCALE = "android.media.mediarecorder.movie-timescale";
+    field public static final String ROTATION = "android.media.mediarecorder.rotation";
+    field public static final String VIDEO_BITRATE = "android.media.mediarecorder.video-bitrate";
+    field public static final String VIDEO_IFRAME_INTERVAL = "android.media.mediarecorder.video-iframe-interval";
+    field public static final String VIDEO_LEVEL = "android.media.mediarecorder.video-encoder-level";
+    field public static final String VIDEO_PROFILE = "android.media.mediarecorder.video-encoder-profile";
+    field public static final String VIDEO_TIMESCALE = "android.media.mediarecorder.video-timescale";
+    field public static final String WIDTH = "android.media.mediarecorder.width";
+  }
+
+  public static interface MediaRecorder.OnErrorListener {
+    method public void onError(android.media.MediaRecorder, int, int);
+  }
+
+  public static interface MediaRecorder.OnInfoListener {
+    method public void onInfo(android.media.MediaRecorder, int, int);
+  }
+
+  public final class MediaRecorder.OutputFormat {
+    field public static final int AAC_ADTS = 6; // 0x6
+    field public static final int AMR_NB = 3; // 0x3
+    field public static final int AMR_WB = 4; // 0x4
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int MPEG_2_TS = 8; // 0x8
+    field public static final int MPEG_4 = 2; // 0x2
+    field public static final int OGG = 11; // 0xb
+    field @Deprecated public static final int RAW_AMR = 3; // 0x3
+    field public static final int THREE_GPP = 1; // 0x1
+    field public static final int WEBM = 9; // 0x9
+  }
+
+  public final class MediaRecorder.VideoEncoder {
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int H263 = 1; // 0x1
+    field public static final int H264 = 2; // 0x2
+    field public static final int HEVC = 5; // 0x5
+    field public static final int MPEG_4_SP = 3; // 0x3
+    field public static final int VP8 = 4; // 0x4
+  }
+
+  public final class MediaRecorder.VideoSource {
+    field public static final int CAMERA = 1; // 0x1
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int SURFACE = 2; // 0x2
+  }
+
+  public final class MediaRoute2Info implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getClientPackageName();
+    method public int getConnectionState();
+    method @Nullable public CharSequence getDescription();
+    method @Nullable public android.os.Bundle getExtras();
+    method @NonNull public java.util.List<java.lang.String> getFeatures();
+    method @Nullable public android.net.Uri getIconUri();
+    method @NonNull public String getId();
+    method @NonNull public CharSequence getName();
+    method public int getVolume();
+    method public int getVolumeHandling();
+    method public int getVolumeMax();
+    method public boolean isSystemRoute();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CONNECTION_STATE_CONNECTED = 2; // 0x2
+    field public static final int CONNECTION_STATE_CONNECTING = 1; // 0x1
+    field public static final int CONNECTION_STATE_DISCONNECTED = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaRoute2Info> CREATOR;
+    field public static final String FEATURE_LIVE_AUDIO = "android.media.route.feature.LIVE_AUDIO";
+    field public static final String FEATURE_LIVE_VIDEO = "android.media.route.feature.LIVE_VIDEO";
+    field public static final String FEATURE_REMOTE_AUDIO_PLAYBACK = "android.media.route.feature.REMOTE_AUDIO_PLAYBACK";
+    field public static final String FEATURE_REMOTE_PLAYBACK = "android.media.route.feature.REMOTE_PLAYBACK";
+    field public static final String FEATURE_REMOTE_VIDEO_PLAYBACK = "android.media.route.feature.REMOTE_VIDEO_PLAYBACK";
+    field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
+    field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
+  }
+
+  public static final class MediaRoute2Info.Builder {
+    ctor public MediaRoute2Info.Builder(@NonNull String, @NonNull CharSequence);
+    ctor public MediaRoute2Info.Builder(@NonNull android.media.MediaRoute2Info);
+    method @NonNull public android.media.MediaRoute2Info.Builder addFeature(@NonNull String);
+    method @NonNull public android.media.MediaRoute2Info.Builder addFeatures(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.media.MediaRoute2Info build();
+    method @NonNull public android.media.MediaRoute2Info.Builder clearFeatures();
+    method @NonNull public android.media.MediaRoute2Info.Builder setClientPackageName(@Nullable String);
+    method @NonNull public android.media.MediaRoute2Info.Builder setConnectionState(int);
+    method @NonNull public android.media.MediaRoute2Info.Builder setDescription(@Nullable CharSequence);
+    method @NonNull public android.media.MediaRoute2Info.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.media.MediaRoute2Info.Builder setIconUri(@Nullable android.net.Uri);
+    method @NonNull public android.media.MediaRoute2Info.Builder setVolume(int);
+    method @NonNull public android.media.MediaRoute2Info.Builder setVolumeHandling(int);
+    method @NonNull public android.media.MediaRoute2Info.Builder setVolumeMax(int);
+  }
+
+  public abstract class MediaRoute2ProviderService extends android.app.Service {
+    ctor public MediaRoute2ProviderService();
+    method @NonNull public final java.util.List<android.media.RoutingSessionInfo> getAllSessionInfo();
+    method @Nullable public final android.media.RoutingSessionInfo getSessionInfo(@NonNull String);
+    method public final void notifyRequestFailed(long, int);
+    method public final void notifyRoutes(@NonNull java.util.Collection<android.media.MediaRoute2Info>);
+    method public final void notifySessionCreated(long, @NonNull android.media.RoutingSessionInfo);
+    method public final void notifySessionReleased(@NonNull String);
+    method public final void notifySessionUpdated(@NonNull android.media.RoutingSessionInfo);
+    method @CallSuper @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onCreateSession(long, @NonNull String, @NonNull String, @Nullable android.os.Bundle);
+    method public abstract void onDeselectRoute(long, @NonNull String, @NonNull String);
+    method public void onDiscoveryPreferenceChanged(@NonNull android.media.RouteDiscoveryPreference);
+    method public abstract void onReleaseSession(long, @NonNull String);
+    method public abstract void onSelectRoute(long, @NonNull String, @NonNull String);
+    method public abstract void onSetRouteVolume(long, @NonNull String, int);
+    method public abstract void onSetSessionVolume(long, @NonNull String, int);
+    method public abstract void onTransferToRoute(long, @NonNull String, @NonNull String);
+    field public static final int REASON_INVALID_COMMAND = 4; // 0x4
+    field public static final int REASON_NETWORK_ERROR = 2; // 0x2
+    field public static final int REASON_REJECTED = 1; // 0x1
+    field public static final int REASON_ROUTE_NOT_AVAILABLE = 3; // 0x3
+    field public static final int REASON_UNKNOWN_ERROR = 0; // 0x0
+    field public static final long REQUEST_ID_NONE = 0L; // 0x0L
+    field public static final String SERVICE_INTERFACE = "android.media.MediaRoute2ProviderService";
+  }
+
+  public class MediaRouter {
+    method public void addCallback(int, android.media.MediaRouter.Callback);
+    method public void addCallback(int, android.media.MediaRouter.Callback, int);
+    method public void addUserRoute(android.media.MediaRouter.UserRouteInfo);
+    method public void clearUserRoutes();
+    method public android.media.MediaRouter.RouteCategory createRouteCategory(CharSequence, boolean);
+    method public android.media.MediaRouter.RouteCategory createRouteCategory(int, boolean);
+    method public android.media.MediaRouter.UserRouteInfo createUserRoute(android.media.MediaRouter.RouteCategory);
+    method public android.media.MediaRouter.RouteCategory getCategoryAt(int);
+    method public int getCategoryCount();
+    method public android.media.MediaRouter.RouteInfo getDefaultRoute();
+    method public android.media.MediaRouter.RouteInfo getRouteAt(int);
+    method public int getRouteCount();
+    method public android.media.MediaRouter.RouteInfo getSelectedRoute(int);
+    method public void removeCallback(android.media.MediaRouter.Callback);
+    method public void removeUserRoute(android.media.MediaRouter.UserRouteInfo);
+    method public void selectRoute(int, @NonNull android.media.MediaRouter.RouteInfo);
+    field public static final int CALLBACK_FLAG_PERFORM_ACTIVE_SCAN = 1; // 0x1
+    field public static final int CALLBACK_FLAG_UNFILTERED_EVENTS = 2; // 0x2
+    field public static final int ROUTE_TYPE_LIVE_AUDIO = 1; // 0x1
+    field public static final int ROUTE_TYPE_LIVE_VIDEO = 2; // 0x2
+    field public static final int ROUTE_TYPE_USER = 8388608; // 0x800000
+  }
+
+  public abstract static class MediaRouter.Callback {
+    ctor public MediaRouter.Callback();
+    method public abstract void onRouteAdded(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteGrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup, int);
+    method public void onRoutePresentationDisplayChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteRemoved(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteSelected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteUngrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup);
+    method public abstract void onRouteUnselected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
+    method public abstract void onRouteVolumeChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+  }
+
+  public static class MediaRouter.RouteCategory {
+    method public CharSequence getName();
+    method public CharSequence getName(android.content.Context);
+    method public java.util.List<android.media.MediaRouter.RouteInfo> getRoutes(java.util.List<android.media.MediaRouter.RouteInfo>);
+    method public int getSupportedTypes();
+    method public boolean isGroupable();
+  }
+
+  public static class MediaRouter.RouteGroup extends android.media.MediaRouter.RouteInfo {
+    method public void addRoute(android.media.MediaRouter.RouteInfo);
+    method public void addRoute(android.media.MediaRouter.RouteInfo, int);
+    method public android.media.MediaRouter.RouteInfo getRouteAt(int);
+    method public int getRouteCount();
+    method public void removeRoute(android.media.MediaRouter.RouteInfo);
+    method public void removeRoute(int);
+    method public void setIconDrawable(android.graphics.drawable.Drawable);
+    method public void setIconResource(@DrawableRes int);
+  }
+
+  public static class MediaRouter.RouteInfo {
+    method public android.media.MediaRouter.RouteCategory getCategory();
+    method public CharSequence getDescription();
+    method public int getDeviceType();
+    method public android.media.MediaRouter.RouteGroup getGroup();
+    method public android.graphics.drawable.Drawable getIconDrawable();
+    method public CharSequence getName();
+    method public CharSequence getName(android.content.Context);
+    method public int getPlaybackStream();
+    method public int getPlaybackType();
+    method public android.view.Display getPresentationDisplay();
+    method public CharSequence getStatus();
+    method public int getSupportedTypes();
+    method public Object getTag();
+    method public int getVolume();
+    method public int getVolumeHandling();
+    method public int getVolumeMax();
+    method public boolean isConnecting();
+    method public boolean isEnabled();
+    method public void requestSetVolume(int);
+    method public void requestUpdateVolume(int);
+    method public void setTag(Object);
+    field public static final int DEVICE_TYPE_BLUETOOTH = 3; // 0x3
+    field public static final int DEVICE_TYPE_SPEAKER = 2; // 0x2
+    field public static final int DEVICE_TYPE_TV = 1; // 0x1
+    field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int PLAYBACK_TYPE_LOCAL = 0; // 0x0
+    field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
+    field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
+    field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
+  }
+
+  public static class MediaRouter.SimpleCallback extends android.media.MediaRouter.Callback {
+    ctor public MediaRouter.SimpleCallback();
+    method public void onRouteAdded(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public void onRouteChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public void onRouteGrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup, int);
+    method public void onRouteRemoved(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+    method public void onRouteSelected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
+    method public void onRouteUngrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup);
+    method public void onRouteUnselected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
+    method public void onRouteVolumeChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
+  }
+
+  public static class MediaRouter.UserRouteInfo extends android.media.MediaRouter.RouteInfo {
+    method public android.media.RemoteControlClient getRemoteControlClient();
+    method public void setDescription(CharSequence);
+    method public void setIconDrawable(android.graphics.drawable.Drawable);
+    method public void setIconResource(@DrawableRes int);
+    method public void setName(CharSequence);
+    method public void setName(int);
+    method public void setPlaybackStream(int);
+    method public void setPlaybackType(int);
+    method public void setRemoteControlClient(android.media.RemoteControlClient);
+    method public void setStatus(CharSequence);
+    method public void setVolume(int);
+    method public void setVolumeCallback(android.media.MediaRouter.VolumeCallback);
+    method public void setVolumeHandling(int);
+    method public void setVolumeMax(int);
+  }
+
+  public abstract static class MediaRouter.VolumeCallback {
+    ctor public MediaRouter.VolumeCallback();
+    method public abstract void onVolumeSetRequest(android.media.MediaRouter.RouteInfo, int);
+    method public abstract void onVolumeUpdateRequest(android.media.MediaRouter.RouteInfo, int);
+  }
+
+  public final class MediaRouter2 {
+    method @Nullable public android.media.MediaRouter2.RoutingController getController(@NonNull String);
+    method @NonNull public java.util.List<android.media.MediaRouter2.RoutingController> getControllers();
+    method @NonNull public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context);
+    method @NonNull public java.util.List<android.media.MediaRoute2Info> getRoutes();
+    method @NonNull public android.media.MediaRouter2.RoutingController getSystemController();
+    method public void registerControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.ControllerCallback);
+    method public void registerRouteCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.RouteCallback, @NonNull android.media.RouteDiscoveryPreference);
+    method public void registerTransferCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.TransferCallback);
+    method public void setOnGetControllerHintsListener(@Nullable android.media.MediaRouter2.OnGetControllerHintsListener);
+    method public void stop();
+    method public void transferTo(@NonNull android.media.MediaRoute2Info);
+    method public void unregisterControllerCallback(@NonNull android.media.MediaRouter2.ControllerCallback);
+    method public void unregisterRouteCallback(@NonNull android.media.MediaRouter2.RouteCallback);
+    method public void unregisterTransferCallback(@NonNull android.media.MediaRouter2.TransferCallback);
+  }
+
+  public abstract static class MediaRouter2.ControllerCallback {
+    ctor public MediaRouter2.ControllerCallback();
+    method public void onControllerUpdated(@NonNull android.media.MediaRouter2.RoutingController);
+  }
+
+  public static interface MediaRouter2.OnGetControllerHintsListener {
+    method @Nullable public android.os.Bundle onGetControllerHints(@NonNull android.media.MediaRoute2Info);
+  }
+
+  public abstract static class MediaRouter2.RouteCallback {
+    ctor public MediaRouter2.RouteCallback();
+    method public void onRoutesAdded(@NonNull java.util.List<android.media.MediaRoute2Info>);
+    method public void onRoutesChanged(@NonNull java.util.List<android.media.MediaRoute2Info>);
+    method public void onRoutesRemoved(@NonNull java.util.List<android.media.MediaRoute2Info>);
+  }
+
+  public class MediaRouter2.RoutingController {
+    method public void deselectRoute(@NonNull android.media.MediaRoute2Info);
+    method @Nullable public android.os.Bundle getControlHints();
+    method @NonNull public java.util.List<android.media.MediaRoute2Info> getDeselectableRoutes();
+    method @NonNull public String getId();
+    method @NonNull public java.util.List<android.media.MediaRoute2Info> getSelectableRoutes();
+    method @NonNull public java.util.List<android.media.MediaRoute2Info> getSelectedRoutes();
+    method public int getVolume();
+    method public int getVolumeHandling();
+    method public int getVolumeMax();
+    method public boolean isReleased();
+    method public void release();
+    method public void selectRoute(@NonNull android.media.MediaRoute2Info);
+    method public void setVolume(int);
+  }
+
+  public abstract static class MediaRouter2.TransferCallback {
+    ctor public MediaRouter2.TransferCallback();
+    method public void onStop(@NonNull android.media.MediaRouter2.RoutingController);
+    method public void onTransfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRouter2.RoutingController);
+    method public void onTransferFailure(@NonNull android.media.MediaRoute2Info);
+  }
+
+  public class MediaScannerConnection implements android.content.ServiceConnection {
+    ctor public MediaScannerConnection(android.content.Context, android.media.MediaScannerConnection.MediaScannerConnectionClient);
+    method public void connect();
+    method public void disconnect();
+    method public boolean isConnected();
+    method public void onServiceConnected(android.content.ComponentName, android.os.IBinder);
+    method public void onServiceDisconnected(android.content.ComponentName);
+    method public void scanFile(String, String);
+    method public static void scanFile(android.content.Context, String[], String[], android.media.MediaScannerConnection.OnScanCompletedListener);
+  }
+
+  public static interface MediaScannerConnection.MediaScannerConnectionClient extends android.media.MediaScannerConnection.OnScanCompletedListener {
+    method public void onMediaScannerConnected();
+  }
+
+  public static interface MediaScannerConnection.OnScanCompletedListener {
+    method public void onScanCompleted(String, android.net.Uri);
+  }
+
+  public class MediaSession2 implements java.lang.AutoCloseable {
+    method public void broadcastSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle);
+    method public void cancelSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object);
+    method public void close();
+    method @NonNull public java.util.List<android.media.MediaSession2.ControllerInfo> getConnectedControllers();
+    method @NonNull public String getId();
+    method @NonNull public android.media.Session2Token getToken();
+    method public boolean isPlaybackActive();
+    method @NonNull public Object sendSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull android.media.Session2Command, @Nullable android.os.Bundle);
+    method public void setPlaybackActive(boolean);
+  }
+
+  public static final class MediaSession2.Builder {
+    ctor public MediaSession2.Builder(@NonNull android.content.Context);
+    method @NonNull public android.media.MediaSession2 build();
+    method @NonNull public android.media.MediaSession2.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.media.MediaSession2.Builder setId(@NonNull String);
+    method @NonNull public android.media.MediaSession2.Builder setSessionActivity(@Nullable android.app.PendingIntent);
+    method @NonNull public android.media.MediaSession2.Builder setSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaSession2.SessionCallback);
+  }
+
+  public static final class MediaSession2.ControllerInfo {
+    method @NonNull public android.os.Bundle getConnectionHints();
+    method @NonNull public String getPackageName();
+    method @NonNull public android.media.session.MediaSessionManager.RemoteUserInfo getRemoteUserInfo();
+    method public int getUid();
+  }
+
+  public abstract static class MediaSession2.SessionCallback {
+    ctor public MediaSession2.SessionCallback();
+    method public void onCommandResult(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object, @NonNull android.media.Session2Command, @NonNull android.media.Session2Command.Result);
+    method @Nullable public android.media.Session2CommandGroup onConnect(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo);
+    method public void onDisconnected(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo);
+    method public void onPostConnect(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo);
+    method @Nullable public android.media.Session2Command.Result onSessionCommand(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo, @NonNull android.media.Session2Command, @Nullable android.os.Bundle);
+  }
+
+  public abstract class MediaSession2Service extends android.app.Service {
+    ctor public MediaSession2Service();
+    method public final void addSession(@NonNull android.media.MediaSession2);
+    method @NonNull public final java.util.List<android.media.MediaSession2> getSessions();
+    method @CallSuper @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
+    method @Nullable public abstract android.media.MediaSession2 onGetSession(@NonNull android.media.MediaSession2.ControllerInfo);
+    method @Nullable public abstract android.media.MediaSession2Service.MediaNotification onUpdateNotification(@NonNull android.media.MediaSession2);
+    method public final void removeSession(@NonNull android.media.MediaSession2);
+    field public static final String SERVICE_INTERFACE = "android.media.MediaSession2Service";
+  }
+
+  public static class MediaSession2Service.MediaNotification {
+    ctor public MediaSession2Service.MediaNotification(int, @NonNull android.app.Notification);
+    method @NonNull public android.app.Notification getNotification();
+    method public int getNotificationId();
+  }
+
+  public final class MediaSync {
+    ctor public MediaSync();
+    method @NonNull public android.view.Surface createInputSurface();
+    method protected void finalize();
+    method public void flush();
+    method @NonNull public android.media.PlaybackParams getPlaybackParams();
+    method @NonNull public android.media.SyncParams getSyncParams();
+    method @Nullable public android.media.MediaTimestamp getTimestamp();
+    method public void queueAudio(@NonNull java.nio.ByteBuffer, int, long);
+    method public void release();
+    method public void setAudioTrack(@Nullable android.media.AudioTrack);
+    method public void setCallback(@Nullable android.media.MediaSync.Callback, @Nullable android.os.Handler);
+    method public void setOnErrorListener(@Nullable android.media.MediaSync.OnErrorListener, @Nullable android.os.Handler);
+    method public void setPlaybackParams(@NonNull android.media.PlaybackParams);
+    method public void setSurface(@Nullable android.view.Surface);
+    method public void setSyncParams(@NonNull android.media.SyncParams);
+    field public static final int MEDIASYNC_ERROR_AUDIOTRACK_FAIL = 1; // 0x1
+    field public static final int MEDIASYNC_ERROR_SURFACE_FAIL = 2; // 0x2
+  }
+
+  public abstract static class MediaSync.Callback {
+    ctor public MediaSync.Callback();
+    method public abstract void onAudioBufferConsumed(@NonNull android.media.MediaSync, @NonNull java.nio.ByteBuffer, int);
+  }
+
+  public static interface MediaSync.OnErrorListener {
+    method public void onError(@NonNull android.media.MediaSync, int, int);
+  }
+
+  public class MediaSyncEvent implements android.os.Parcelable {
+    method public static android.media.MediaSyncEvent createEvent(int) throws java.lang.IllegalArgumentException;
+    method public int describeContents();
+    method public int getAudioSessionId();
+    method public int getType();
+    method public android.media.MediaSyncEvent setAudioSessionId(int) throws java.lang.IllegalArgumentException;
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaSyncEvent> CREATOR;
+    field public static final int SYNC_EVENT_NONE = 0; // 0x0
+    field public static final int SYNC_EVENT_PRESENTATION_COMPLETE = 1; // 0x1
+  }
+
+  public final class MediaTimestamp {
+    ctor public MediaTimestamp(long, long, @FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE) float);
+    method public long getAnchorMediaTimeUs();
+    method public long getAnchorSystemNanoTime();
+    method @Deprecated public long getAnchorSytemNanoTime();
+    method @FloatRange(from=0.0f, to=java.lang.Float.MAX_VALUE) public float getMediaClockRate();
+    field public static final android.media.MediaTimestamp TIMESTAMP_UNKNOWN;
+  }
+
+  public interface MicrophoneDirection {
+    method public boolean setPreferredMicrophoneDirection(int);
+    method public boolean setPreferredMicrophoneFieldDimension(@FloatRange(from=-1.0, to=1.0) float);
+    field public static final int MIC_DIRECTION_AWAY_FROM_USER = 2; // 0x2
+    field public static final int MIC_DIRECTION_EXTERNAL = 3; // 0x3
+    field public static final int MIC_DIRECTION_TOWARDS_USER = 1; // 0x1
+    field public static final int MIC_DIRECTION_UNSPECIFIED = 0; // 0x0
+  }
+
+  public final class MicrophoneInfo {
+    method @NonNull public String getAddress();
+    method public java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>> getChannelMapping();
+    method public String getDescription();
+    method public int getDirectionality();
+    method public java.util.List<android.util.Pair<java.lang.Float,java.lang.Float>> getFrequencyResponse();
+    method public int getGroup();
+    method public int getId();
+    method public int getIndexInTheGroup();
+    method public int getLocation();
+    method public float getMaxSpl();
+    method public float getMinSpl();
+    method public android.media.MicrophoneInfo.Coordinate3F getOrientation();
+    method public android.media.MicrophoneInfo.Coordinate3F getPosition();
+    method public float getSensitivity();
+    method public int getType();
+    field public static final int CHANNEL_MAPPING_DIRECT = 1; // 0x1
+    field public static final int CHANNEL_MAPPING_PROCESSED = 2; // 0x2
+    field public static final int DIRECTIONALITY_BI_DIRECTIONAL = 2; // 0x2
+    field public static final int DIRECTIONALITY_CARDIOID = 3; // 0x3
+    field public static final int DIRECTIONALITY_HYPER_CARDIOID = 4; // 0x4
+    field public static final int DIRECTIONALITY_OMNI = 1; // 0x1
+    field public static final int DIRECTIONALITY_SUPER_CARDIOID = 5; // 0x5
+    field public static final int DIRECTIONALITY_UNKNOWN = 0; // 0x0
+    field public static final int GROUP_UNKNOWN = -1; // 0xffffffff
+    field public static final int INDEX_IN_THE_GROUP_UNKNOWN = -1; // 0xffffffff
+    field public static final int LOCATION_MAINBODY = 1; // 0x1
+    field public static final int LOCATION_MAINBODY_MOVABLE = 2; // 0x2
+    field public static final int LOCATION_PERIPHERAL = 3; // 0x3
+    field public static final int LOCATION_UNKNOWN = 0; // 0x0
+    field public static final android.media.MicrophoneInfo.Coordinate3F ORIENTATION_UNKNOWN;
+    field public static final android.media.MicrophoneInfo.Coordinate3F POSITION_UNKNOWN;
+    field public static final float SENSITIVITY_UNKNOWN = -3.4028235E38f;
+    field public static final float SPL_UNKNOWN = -3.4028235E38f;
+  }
+
+  public static final class MicrophoneInfo.Coordinate3F {
+    field public final float x;
+    field public final float y;
+    field public final float z;
+  }
+
+  public final class NotProvisionedException extends android.media.MediaDrmException {
+    ctor public NotProvisionedException(String);
+  }
+
+  public final class PlaybackParams implements android.os.Parcelable {
+    ctor public PlaybackParams();
+    method public android.media.PlaybackParams allowDefaults();
+    method public int describeContents();
+    method public int getAudioFallbackMode();
+    method public float getPitch();
+    method public float getSpeed();
+    method public android.media.PlaybackParams setAudioFallbackMode(int);
+    method public android.media.PlaybackParams setPitch(float);
+    method public android.media.PlaybackParams setSpeed(float);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AUDIO_FALLBACK_MODE_DEFAULT = 0; // 0x0
+    field public static final int AUDIO_FALLBACK_MODE_FAIL = 2; // 0x2
+    field public static final int AUDIO_FALLBACK_MODE_MUTE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.PlaybackParams> CREATOR;
+  }
+
+  public final class Rating implements android.os.Parcelable {
+    method public int describeContents();
+    method public float getPercentRating();
+    method public int getRatingStyle();
+    method public float getStarRating();
+    method public boolean hasHeart();
+    method public boolean isRated();
+    method public boolean isThumbUp();
+    method public static android.media.Rating newHeartRating(boolean);
+    method public static android.media.Rating newPercentageRating(float);
+    method public static android.media.Rating newStarRating(int, float);
+    method public static android.media.Rating newThumbRating(boolean);
+    method public static android.media.Rating newUnratedRating(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.Rating> CREATOR;
+    field public static final int RATING_3_STARS = 3; // 0x3
+    field public static final int RATING_4_STARS = 4; // 0x4
+    field public static final int RATING_5_STARS = 5; // 0x5
+    field public static final int RATING_HEART = 1; // 0x1
+    field public static final int RATING_NONE = 0; // 0x0
+    field public static final int RATING_PERCENTAGE = 6; // 0x6
+    field public static final int RATING_THUMB_UP_DOWN = 2; // 0x2
+  }
+
+  @Deprecated public class RemoteControlClient {
+    ctor @Deprecated public RemoteControlClient(android.app.PendingIntent);
+    ctor @Deprecated public RemoteControlClient(android.app.PendingIntent, android.os.Looper);
+    method @Deprecated public android.media.RemoteControlClient.MetadataEditor editMetadata(boolean);
+    method @Deprecated public android.media.session.MediaSession getMediaSession();
+    method @Deprecated public void setMetadataUpdateListener(android.media.RemoteControlClient.OnMetadataUpdateListener);
+    method @Deprecated public void setOnGetPlaybackPositionListener(android.media.RemoteControlClient.OnGetPlaybackPositionListener);
+    method @Deprecated public void setPlaybackPositionUpdateListener(android.media.RemoteControlClient.OnPlaybackPositionUpdateListener);
+    method @Deprecated public void setPlaybackState(int);
+    method @Deprecated public void setPlaybackState(int, long, float);
+    method @Deprecated public void setTransportControlFlags(int);
+    field @Deprecated public static final int FLAG_KEY_MEDIA_FAST_FORWARD = 64; // 0x40
+    field @Deprecated public static final int FLAG_KEY_MEDIA_NEXT = 128; // 0x80
+    field @Deprecated public static final int FLAG_KEY_MEDIA_PAUSE = 16; // 0x10
+    field @Deprecated public static final int FLAG_KEY_MEDIA_PLAY = 4; // 0x4
+    field @Deprecated public static final int FLAG_KEY_MEDIA_PLAY_PAUSE = 8; // 0x8
+    field @Deprecated public static final int FLAG_KEY_MEDIA_POSITION_UPDATE = 256; // 0x100
+    field @Deprecated public static final int FLAG_KEY_MEDIA_PREVIOUS = 1; // 0x1
+    field @Deprecated public static final int FLAG_KEY_MEDIA_RATING = 512; // 0x200
+    field @Deprecated public static final int FLAG_KEY_MEDIA_REWIND = 2; // 0x2
+    field @Deprecated public static final int FLAG_KEY_MEDIA_STOP = 32; // 0x20
+    field @Deprecated public static final int PLAYSTATE_BUFFERING = 8; // 0x8
+    field @Deprecated public static final int PLAYSTATE_ERROR = 9; // 0x9
+    field @Deprecated public static final int PLAYSTATE_FAST_FORWARDING = 4; // 0x4
+    field @Deprecated public static final int PLAYSTATE_PAUSED = 2; // 0x2
+    field @Deprecated public static final int PLAYSTATE_PLAYING = 3; // 0x3
+    field @Deprecated public static final int PLAYSTATE_REWINDING = 5; // 0x5
+    field @Deprecated public static final int PLAYSTATE_SKIPPING_BACKWARDS = 7; // 0x7
+    field @Deprecated public static final int PLAYSTATE_SKIPPING_FORWARDS = 6; // 0x6
+    field @Deprecated public static final int PLAYSTATE_STOPPED = 1; // 0x1
+  }
+
+  @Deprecated public class RemoteControlClient.MetadataEditor extends android.media.MediaMetadataEditor {
+    method @Deprecated public void apply();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public android.media.RemoteControlClient.MetadataEditor putBitmap(int, android.graphics.Bitmap) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.RemoteControlClient.MetadataEditor putLong(int, long) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.RemoteControlClient.MetadataEditor putObject(int, Object) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.media.RemoteControlClient.MetadataEditor putString(int, String) throws java.lang.IllegalArgumentException;
+    field @Deprecated public static final int BITMAP_KEY_ARTWORK = 100; // 0x64
+  }
+
+  @Deprecated public static interface RemoteControlClient.OnGetPlaybackPositionListener {
+    method @Deprecated public long onGetPlaybackPosition();
+  }
+
+  @Deprecated public static interface RemoteControlClient.OnMetadataUpdateListener {
+    method @Deprecated public void onMetadataUpdate(int, Object);
+  }
+
+  @Deprecated public static interface RemoteControlClient.OnPlaybackPositionUpdateListener {
+    method @Deprecated public void onPlaybackPositionUpdate(long);
+  }
+
+  @Deprecated public final class RemoteController {
+    ctor @Deprecated public RemoteController(android.content.Context, android.media.RemoteController.OnClientUpdateListener) throws java.lang.IllegalArgumentException;
+    ctor @Deprecated public RemoteController(android.content.Context, android.media.RemoteController.OnClientUpdateListener, android.os.Looper) throws java.lang.IllegalArgumentException;
+    method @Deprecated public boolean clearArtworkConfiguration();
+    method @Deprecated public android.media.RemoteController.MetadataEditor editMetadata();
+    method @Deprecated public long getEstimatedMediaPosition();
+    method @Deprecated public boolean seekTo(long) throws java.lang.IllegalArgumentException;
+    method @Deprecated public boolean sendMediaKeyEvent(android.view.KeyEvent) throws java.lang.IllegalArgumentException;
+    method @Deprecated public boolean setArtworkConfiguration(int, int) throws java.lang.IllegalArgumentException;
+    method @Deprecated public boolean setSynchronizationMode(int) throws java.lang.IllegalArgumentException;
+    field @Deprecated public static final int POSITION_SYNCHRONIZATION_CHECK = 1; // 0x1
+    field @Deprecated public static final int POSITION_SYNCHRONIZATION_NONE = 0; // 0x0
+  }
+
+  @Deprecated public class RemoteController.MetadataEditor extends android.media.MediaMetadataEditor {
+    method @Deprecated public void apply();
+  }
+
+  @Deprecated public static interface RemoteController.OnClientUpdateListener {
+    method @Deprecated public void onClientChange(boolean);
+    method @Deprecated public void onClientMetadataUpdate(android.media.RemoteController.MetadataEditor);
+    method @Deprecated public void onClientPlaybackStateUpdate(int);
+    method @Deprecated public void onClientPlaybackStateUpdate(int, long, long, float);
+    method @Deprecated public void onClientTransportControlUpdate(int);
+  }
+
+  public final class ResourceBusyException extends android.media.MediaDrmException {
+    ctor public ResourceBusyException(String);
+  }
+
+  public class Ringtone {
+    method protected void finalize();
+    method public android.media.AudioAttributes getAudioAttributes();
+    method @Deprecated public int getStreamType();
+    method public String getTitle(android.content.Context);
+    method public float getVolume();
+    method public boolean isHapticGeneratorEnabled();
+    method public boolean isLooping();
+    method public boolean isPlaying();
+    method public void play();
+    method public void setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method public boolean setHapticGeneratorEnabled(boolean);
+    method public void setLooping(boolean);
+    method @Deprecated public void setStreamType(int);
+    method public void setVolume(float);
+    method public void stop();
+  }
+
+  public class RingtoneManager {
+    ctor public RingtoneManager(android.app.Activity);
+    ctor public RingtoneManager(android.content.Context);
+    method public static android.net.Uri getActualDefaultRingtoneUri(android.content.Context, int);
+    method public android.database.Cursor getCursor();
+    method public static int getDefaultType(android.net.Uri);
+    method public static android.net.Uri getDefaultUri(int);
+    method @Deprecated public boolean getIncludeDrm();
+    method public android.media.Ringtone getRingtone(int);
+    method public static android.media.Ringtone getRingtone(android.content.Context, android.net.Uri);
+    method public int getRingtonePosition(android.net.Uri);
+    method public android.net.Uri getRingtoneUri(int);
+    method public boolean getStopPreviousRingtone();
+    method public static android.net.Uri getValidRingtoneUri(android.content.Context);
+    method public boolean hasHapticChannels(int);
+    method public static boolean hasHapticChannels(@NonNull android.net.Uri);
+    method public int inferStreamType();
+    method public static boolean isDefault(android.net.Uri);
+    method @Nullable public static android.content.res.AssetFileDescriptor openDefaultRingtoneUri(@NonNull android.content.Context, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method public static void setActualDefaultRingtoneUri(android.content.Context, int, android.net.Uri);
+    method @Deprecated public void setIncludeDrm(boolean);
+    method public void setStopPreviousRingtone(boolean);
+    method public void setType(int);
+    method public void stopPreviousRingtone();
+    field public static final String ACTION_RINGTONE_PICKER = "android.intent.action.RINGTONE_PICKER";
+    field public static final String EXTRA_RINGTONE_DEFAULT_URI = "android.intent.extra.ringtone.DEFAULT_URI";
+    field public static final String EXTRA_RINGTONE_EXISTING_URI = "android.intent.extra.ringtone.EXISTING_URI";
+    field @Deprecated public static final String EXTRA_RINGTONE_INCLUDE_DRM = "android.intent.extra.ringtone.INCLUDE_DRM";
+    field public static final String EXTRA_RINGTONE_PICKED_URI = "android.intent.extra.ringtone.PICKED_URI";
+    field public static final String EXTRA_RINGTONE_SHOW_DEFAULT = "android.intent.extra.ringtone.SHOW_DEFAULT";
+    field public static final String EXTRA_RINGTONE_SHOW_SILENT = "android.intent.extra.ringtone.SHOW_SILENT";
+    field public static final String EXTRA_RINGTONE_TITLE = "android.intent.extra.ringtone.TITLE";
+    field public static final String EXTRA_RINGTONE_TYPE = "android.intent.extra.ringtone.TYPE";
+    field public static final int ID_COLUMN_INDEX = 0; // 0x0
+    field public static final int TITLE_COLUMN_INDEX = 1; // 0x1
+    field public static final int TYPE_ALARM = 4; // 0x4
+    field public static final int TYPE_ALL = 7; // 0x7
+    field public static final int TYPE_NOTIFICATION = 2; // 0x2
+    field public static final int TYPE_RINGTONE = 1; // 0x1
+    field public static final int URI_COLUMN_INDEX = 2; // 0x2
+  }
+
+  public final class RouteDiscoveryPreference implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getPreferredFeatures();
+    method public boolean shouldPerformActiveScan();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.RouteDiscoveryPreference> CREATOR;
+  }
+
+  public static final class RouteDiscoveryPreference.Builder {
+    ctor public RouteDiscoveryPreference.Builder(@NonNull java.util.List<java.lang.String>, boolean);
+    ctor public RouteDiscoveryPreference.Builder(@NonNull android.media.RouteDiscoveryPreference);
+    method @NonNull public android.media.RouteDiscoveryPreference build();
+    method @NonNull public android.media.RouteDiscoveryPreference.Builder setPreferredFeatures(@NonNull java.util.List<java.lang.String>);
+    method @NonNull public android.media.RouteDiscoveryPreference.Builder setShouldPerformActiveScan(boolean);
+  }
+
+  public final class RoutingSessionInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getClientPackageName();
+    method @Nullable public android.os.Bundle getControlHints();
+    method @NonNull public java.util.List<java.lang.String> getDeselectableRoutes();
+    method @NonNull public String getId();
+    method @Nullable public CharSequence getName();
+    method @NonNull public java.util.List<java.lang.String> getSelectableRoutes();
+    method @NonNull public java.util.List<java.lang.String> getSelectedRoutes();
+    method @NonNull public java.util.List<java.lang.String> getTransferableRoutes();
+    method public int getVolume();
+    method public int getVolumeHandling();
+    method public int getVolumeMax();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.RoutingSessionInfo> CREATOR;
+  }
+
+  public static final class RoutingSessionInfo.Builder {
+    ctor public RoutingSessionInfo.Builder(@NonNull String, @NonNull String);
+    ctor public RoutingSessionInfo.Builder(@NonNull android.media.RoutingSessionInfo);
+    method @NonNull public android.media.RoutingSessionInfo.Builder addDeselectableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder addSelectableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder addSelectedRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder addTransferableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo build();
+    method @NonNull public android.media.RoutingSessionInfo.Builder clearDeselectableRoutes();
+    method @NonNull public android.media.RoutingSessionInfo.Builder clearSelectableRoutes();
+    method @NonNull public android.media.RoutingSessionInfo.Builder clearSelectedRoutes();
+    method @NonNull public android.media.RoutingSessionInfo.Builder clearTransferableRoutes();
+    method @NonNull public android.media.RoutingSessionInfo.Builder removeDeselectableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder removeSelectableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder removeSelectedRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder removeTransferableRoute(@NonNull String);
+    method @NonNull public android.media.RoutingSessionInfo.Builder setControlHints(@Nullable android.os.Bundle);
+    method @NonNull public android.media.RoutingSessionInfo.Builder setName(@Nullable CharSequence);
+    method @NonNull public android.media.RoutingSessionInfo.Builder setVolume(int);
+    method @NonNull public android.media.RoutingSessionInfo.Builder setVolumeHandling(int);
+    method @NonNull public android.media.RoutingSessionInfo.Builder setVolumeMax(int);
+  }
+
+  public final class Session2Command implements android.os.Parcelable {
+    ctor public Session2Command(int);
+    ctor public Session2Command(@NonNull String, @Nullable android.os.Bundle);
+    method public int describeContents();
+    method public int getCommandCode();
+    method @Nullable public String getCustomAction();
+    method @Nullable public android.os.Bundle getCustomExtras();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int COMMAND_CODE_CUSTOM = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Command> CREATOR;
+  }
+
+  public static final class Session2Command.Result {
+    ctor public Session2Command.Result(int, @Nullable android.os.Bundle);
+    method public int getResultCode();
+    method @Nullable public android.os.Bundle getResultData();
+    field public static final int RESULT_ERROR_UNKNOWN_ERROR = -1; // 0xffffffff
+    field public static final int RESULT_INFO_SKIPPED = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+  public final class Session2CommandGroup implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Set<android.media.Session2Command> getCommands();
+    method public boolean hasCommand(@NonNull android.media.Session2Command);
+    method public boolean hasCommand(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2CommandGroup> CREATOR;
+  }
+
+  public static final class Session2CommandGroup.Builder {
+    ctor public Session2CommandGroup.Builder();
+    ctor public Session2CommandGroup.Builder(@NonNull android.media.Session2CommandGroup);
+    method @NonNull public android.media.Session2CommandGroup.Builder addCommand(@NonNull android.media.Session2Command);
+    method @NonNull public android.media.Session2CommandGroup build();
+    method @NonNull public android.media.Session2CommandGroup.Builder removeCommand(@NonNull android.media.Session2Command);
+  }
+
+  public final class Session2Token implements android.os.Parcelable {
+    ctor public Session2Token(@NonNull android.content.Context, @NonNull android.content.ComponentName);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getPackageName();
+    method @Nullable public String getServiceName();
+    method public int getType();
+    method public int getUid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Token> CREATOR;
+    field public static final int TYPE_SESSION = 0; // 0x0
+    field public static final int TYPE_SESSION_SERVICE = 1; // 0x1
+  }
+
+  public class SoundPool {
+    ctor @Deprecated public SoundPool(int, int, int);
+    method public final void autoPause();
+    method public final void autoResume();
+    method protected void finalize();
+    method public int load(String, int);
+    method public int load(android.content.Context, int, int);
+    method public int load(android.content.res.AssetFileDescriptor, int);
+    method public int load(java.io.FileDescriptor, long, long, int);
+    method public final void pause(int);
+    method public final int play(int, float, float, int, int, float);
+    method public final void release();
+    method public final void resume(int);
+    method public final void setLoop(int, int);
+    method public void setOnLoadCompleteListener(android.media.SoundPool.OnLoadCompleteListener);
+    method public final void setPriority(int, int);
+    method public final void setRate(int, float);
+    method public final void setVolume(int, float, float);
+    method public final void stop(int);
+    method public final boolean unload(int);
+  }
+
+  public static class SoundPool.Builder {
+    ctor public SoundPool.Builder();
+    method public android.media.SoundPool build();
+    method public android.media.SoundPool.Builder setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method public android.media.SoundPool.Builder setMaxStreams(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public static interface SoundPool.OnLoadCompleteListener {
+    method public void onLoadComplete(android.media.SoundPool, int, int);
+  }
+
+  public class Spatializer {
+    method public void addOnSpatializerStateChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerStateChangedListener);
+    method public boolean canBeSpatialized(@NonNull android.media.AudioAttributes, @NonNull android.media.AudioFormat);
+    method public int getImmersiveAudioLevel();
+    method public boolean isAvailable();
+    method public boolean isEnabled();
+    method public void removeOnSpatializerStateChangedListener(@NonNull android.media.Spatializer.OnSpatializerStateChangedListener);
+    field public static final int SPATIALIZER_IMMERSIVE_LEVEL_MULTICHANNEL = 1; // 0x1
+    field public static final int SPATIALIZER_IMMERSIVE_LEVEL_NONE = 0; // 0x0
+    field public static final int SPATIALIZER_IMMERSIVE_LEVEL_OTHER = -1; // 0xffffffff
+  }
+
+  public static interface Spatializer.OnSpatializerStateChangedListener {
+    method public void onSpatializerAvailableChanged(@NonNull android.media.Spatializer, boolean);
+    method public void onSpatializerEnabledChanged(@NonNull android.media.Spatializer, boolean);
+  }
+
+  public final class SubtitleData {
+    ctor public SubtitleData(int, long, long, @NonNull byte[]);
+    method @NonNull public byte[] getData();
+    method public long getDurationUs();
+    method public long getStartTimeUs();
+    method public int getTrackIndex();
+  }
+
+  public final class SyncParams {
+    ctor public SyncParams();
+    method public android.media.SyncParams allowDefaults();
+    method public int getAudioAdjustMode();
+    method public float getFrameRate();
+    method public int getSyncSource();
+    method public float getTolerance();
+    method public android.media.SyncParams setAudioAdjustMode(int);
+    method public android.media.SyncParams setFrameRate(float);
+    method public android.media.SyncParams setSyncSource(int);
+    method public android.media.SyncParams setTolerance(float);
+    field public static final int AUDIO_ADJUST_MODE_DEFAULT = 0; // 0x0
+    field public static final int AUDIO_ADJUST_MODE_RESAMPLE = 2; // 0x2
+    field public static final int AUDIO_ADJUST_MODE_STRETCH = 1; // 0x1
+    field public static final int SYNC_SOURCE_AUDIO = 2; // 0x2
+    field public static final int SYNC_SOURCE_DEFAULT = 0; // 0x0
+    field public static final int SYNC_SOURCE_SYSTEM_CLOCK = 1; // 0x1
+    field public static final int SYNC_SOURCE_VSYNC = 3; // 0x3
+  }
+
+  public class ThumbnailUtils {
+    ctor public ThumbnailUtils();
+    method @Deprecated @Nullable public static android.graphics.Bitmap createAudioThumbnail(@NonNull String, int);
+    method @NonNull public static android.graphics.Bitmap createAudioThumbnail(@NonNull java.io.File, @NonNull android.util.Size, @Nullable android.os.CancellationSignal) throws java.io.IOException;
+    method @Deprecated @Nullable public static android.graphics.Bitmap createImageThumbnail(@NonNull String, int);
+    method @NonNull public static android.graphics.Bitmap createImageThumbnail(@NonNull java.io.File, @NonNull android.util.Size, @Nullable android.os.CancellationSignal) throws java.io.IOException;
+    method @Deprecated @Nullable public static android.graphics.Bitmap createVideoThumbnail(@NonNull String, int);
+    method @NonNull public static android.graphics.Bitmap createVideoThumbnail(@NonNull java.io.File, @NonNull android.util.Size, @Nullable android.os.CancellationSignal) throws java.io.IOException;
+    method public static android.graphics.Bitmap extractThumbnail(android.graphics.Bitmap, int, int);
+    method public static android.graphics.Bitmap extractThumbnail(android.graphics.Bitmap, int, int, int);
+    field public static final int OPTIONS_RECYCLE_INPUT = 2; // 0x2
+  }
+
+  public final class TimedMetaData {
+    ctor public TimedMetaData(long, @NonNull byte[]);
+    method public byte[] getMetaData();
+    method public long getTimestamp();
+  }
+
+  public final class TimedText {
+    method public android.graphics.Rect getBounds();
+    method public String getText();
+  }
+
+  public class ToneGenerator {
+    ctor public ToneGenerator(int, int);
+    method protected void finalize();
+    method public final int getAudioSessionId();
+    method public void release();
+    method public boolean startTone(int);
+    method public boolean startTone(int, int);
+    method public void stopTone();
+    field public static final int MAX_VOLUME = 100; // 0x64
+    field public static final int MIN_VOLUME = 0; // 0x0
+    field public static final int TONE_CDMA_ABBR_ALERT = 97; // 0x61
+    field public static final int TONE_CDMA_ABBR_INTERCEPT = 37; // 0x25
+    field public static final int TONE_CDMA_ABBR_REORDER = 39; // 0x27
+    field public static final int TONE_CDMA_ALERT_AUTOREDIAL_LITE = 87; // 0x57
+    field public static final int TONE_CDMA_ALERT_CALL_GUARD = 93; // 0x5d
+    field public static final int TONE_CDMA_ALERT_INCALL_LITE = 91; // 0x5b
+    field public static final int TONE_CDMA_ALERT_NETWORK_LITE = 86; // 0x56
+    field public static final int TONE_CDMA_ANSWER = 42; // 0x2a
+    field public static final int TONE_CDMA_CALLDROP_LITE = 95; // 0x5f
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP = 46; // 0x2e
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL = 45; // 0x2d
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT3 = 48; // 0x30
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT5 = 50; // 0x32
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT6 = 51; // 0x33
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PAT7 = 52; // 0x34
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING = 49; // 0x31
+    field public static final int TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI = 47; // 0x2f
+    field public static final int TONE_CDMA_CONFIRM = 41; // 0x29
+    field public static final int TONE_CDMA_DIAL_TONE_LITE = 34; // 0x22
+    field public static final int TONE_CDMA_EMERGENCY_RINGBACK = 92; // 0x5c
+    field public static final int TONE_CDMA_HIGH_L = 53; // 0x35
+    field public static final int TONE_CDMA_HIGH_PBX_L = 71; // 0x47
+    field public static final int TONE_CDMA_HIGH_PBX_SLS = 80; // 0x50
+    field public static final int TONE_CDMA_HIGH_PBX_SS = 74; // 0x4a
+    field public static final int TONE_CDMA_HIGH_PBX_SSL = 77; // 0x4d
+    field public static final int TONE_CDMA_HIGH_PBX_S_X4 = 83; // 0x53
+    field public static final int TONE_CDMA_HIGH_SLS = 65; // 0x41
+    field public static final int TONE_CDMA_HIGH_SS = 56; // 0x38
+    field public static final int TONE_CDMA_HIGH_SSL = 59; // 0x3b
+    field public static final int TONE_CDMA_HIGH_SS_2 = 62; // 0x3e
+    field public static final int TONE_CDMA_HIGH_S_X4 = 68; // 0x44
+    field public static final int TONE_CDMA_INTERCEPT = 36; // 0x24
+    field public static final int TONE_CDMA_KEYPAD_VOLUME_KEY_LITE = 89; // 0x59
+    field public static final int TONE_CDMA_LOW_L = 55; // 0x37
+    field public static final int TONE_CDMA_LOW_PBX_L = 73; // 0x49
+    field public static final int TONE_CDMA_LOW_PBX_SLS = 82; // 0x52
+    field public static final int TONE_CDMA_LOW_PBX_SS = 76; // 0x4c
+    field public static final int TONE_CDMA_LOW_PBX_SSL = 79; // 0x4f
+    field public static final int TONE_CDMA_LOW_PBX_S_X4 = 85; // 0x55
+    field public static final int TONE_CDMA_LOW_SLS = 67; // 0x43
+    field public static final int TONE_CDMA_LOW_SS = 58; // 0x3a
+    field public static final int TONE_CDMA_LOW_SSL = 61; // 0x3d
+    field public static final int TONE_CDMA_LOW_SS_2 = 64; // 0x40
+    field public static final int TONE_CDMA_LOW_S_X4 = 70; // 0x46
+    field public static final int TONE_CDMA_MED_L = 54; // 0x36
+    field public static final int TONE_CDMA_MED_PBX_L = 72; // 0x48
+    field public static final int TONE_CDMA_MED_PBX_SLS = 81; // 0x51
+    field public static final int TONE_CDMA_MED_PBX_SS = 75; // 0x4b
+    field public static final int TONE_CDMA_MED_PBX_SSL = 78; // 0x4e
+    field public static final int TONE_CDMA_MED_PBX_S_X4 = 84; // 0x54
+    field public static final int TONE_CDMA_MED_SLS = 66; // 0x42
+    field public static final int TONE_CDMA_MED_SS = 57; // 0x39
+    field public static final int TONE_CDMA_MED_SSL = 60; // 0x3c
+    field public static final int TONE_CDMA_MED_SS_2 = 63; // 0x3f
+    field public static final int TONE_CDMA_MED_S_X4 = 69; // 0x45
+    field public static final int TONE_CDMA_NETWORK_BUSY = 40; // 0x28
+    field public static final int TONE_CDMA_NETWORK_BUSY_ONE_SHOT = 96; // 0x60
+    field public static final int TONE_CDMA_NETWORK_CALLWAITING = 43; // 0x2b
+    field public static final int TONE_CDMA_NETWORK_USA_RINGBACK = 35; // 0x23
+    field public static final int TONE_CDMA_ONE_MIN_BEEP = 88; // 0x58
+    field public static final int TONE_CDMA_PIP = 44; // 0x2c
+    field public static final int TONE_CDMA_PRESSHOLDKEY_LITE = 90; // 0x5a
+    field public static final int TONE_CDMA_REORDER = 38; // 0x26
+    field public static final int TONE_CDMA_SIGNAL_OFF = 98; // 0x62
+    field public static final int TONE_CDMA_SOFT_ERROR_LITE = 94; // 0x5e
+    field public static final int TONE_DTMF_0 = 0; // 0x0
+    field public static final int TONE_DTMF_1 = 1; // 0x1
+    field public static final int TONE_DTMF_2 = 2; // 0x2
+    field public static final int TONE_DTMF_3 = 3; // 0x3
+    field public static final int TONE_DTMF_4 = 4; // 0x4
+    field public static final int TONE_DTMF_5 = 5; // 0x5
+    field public static final int TONE_DTMF_6 = 6; // 0x6
+    field public static final int TONE_DTMF_7 = 7; // 0x7
+    field public static final int TONE_DTMF_8 = 8; // 0x8
+    field public static final int TONE_DTMF_9 = 9; // 0x9
+    field public static final int TONE_DTMF_A = 12; // 0xc
+    field public static final int TONE_DTMF_B = 13; // 0xd
+    field public static final int TONE_DTMF_C = 14; // 0xe
+    field public static final int TONE_DTMF_D = 15; // 0xf
+    field public static final int TONE_DTMF_P = 11; // 0xb
+    field public static final int TONE_DTMF_S = 10; // 0xa
+    field public static final int TONE_PROP_ACK = 25; // 0x19
+    field public static final int TONE_PROP_BEEP = 24; // 0x18
+    field public static final int TONE_PROP_BEEP2 = 28; // 0x1c
+    field public static final int TONE_PROP_NACK = 26; // 0x1a
+    field public static final int TONE_PROP_PROMPT = 27; // 0x1b
+    field public static final int TONE_SUP_BUSY = 17; // 0x11
+    field public static final int TONE_SUP_CALL_WAITING = 22; // 0x16
+    field public static final int TONE_SUP_CONFIRM = 32; // 0x20
+    field public static final int TONE_SUP_CONGESTION = 18; // 0x12
+    field public static final int TONE_SUP_CONGESTION_ABBREV = 31; // 0x1f
+    field public static final int TONE_SUP_DIAL = 16; // 0x10
+    field public static final int TONE_SUP_ERROR = 21; // 0x15
+    field public static final int TONE_SUP_INTERCEPT = 29; // 0x1d
+    field public static final int TONE_SUP_INTERCEPT_ABBREV = 30; // 0x1e
+    field public static final int TONE_SUP_PIP = 33; // 0x21
+    field public static final int TONE_SUP_RADIO_ACK = 19; // 0x13
+    field public static final int TONE_SUP_RADIO_NOTAVAIL = 20; // 0x14
+    field public static final int TONE_SUP_RINGTONE = 23; // 0x17
+  }
+
+  public final class UnsupportedSchemeException extends android.media.MediaDrmException {
+    ctor public UnsupportedSchemeException(String);
+  }
+
+  public interface VolumeAutomation {
+    method @NonNull public android.media.VolumeShaper createVolumeShaper(@NonNull android.media.VolumeShaper.Configuration);
+  }
+
+  public abstract class VolumeProvider {
+    ctor public VolumeProvider(int, int, int);
+    ctor public VolumeProvider(int, int, int, @Nullable String);
+    method public final int getCurrentVolume();
+    method public final int getMaxVolume();
+    method public final int getVolumeControl();
+    method @Nullable public final String getVolumeControlId();
+    method public void onAdjustVolume(int);
+    method public void onSetVolumeTo(int);
+    method public final void setCurrentVolume(int);
+    field public static final int VOLUME_CONTROL_ABSOLUTE = 2; // 0x2
+    field public static final int VOLUME_CONTROL_FIXED = 0; // 0x0
+    field public static final int VOLUME_CONTROL_RELATIVE = 1; // 0x1
+  }
+
+  public final class VolumeShaper implements java.lang.AutoCloseable {
+    method public void apply(@NonNull android.media.VolumeShaper.Operation);
+    method public void close();
+    method protected void finalize();
+    method public float getVolume();
+    method public void replace(@NonNull android.media.VolumeShaper.Configuration, @NonNull android.media.VolumeShaper.Operation, boolean);
+  }
+
+  public static final class VolumeShaper.Configuration implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getDuration();
+    method public int getInterpolatorType();
+    method public static int getMaximumCurvePoints();
+    method public float[] getTimes();
+    method public float[] getVolumes();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.VolumeShaper.Configuration> CREATOR;
+    field public static final android.media.VolumeShaper.Configuration CUBIC_RAMP;
+    field public static final int INTERPOLATOR_TYPE_CUBIC = 2; // 0x2
+    field public static final int INTERPOLATOR_TYPE_CUBIC_MONOTONIC = 3; // 0x3
+    field public static final int INTERPOLATOR_TYPE_LINEAR = 1; // 0x1
+    field public static final int INTERPOLATOR_TYPE_STEP = 0; // 0x0
+    field public static final android.media.VolumeShaper.Configuration LINEAR_RAMP;
+    field public static final android.media.VolumeShaper.Configuration SCURVE_RAMP;
+    field public static final android.media.VolumeShaper.Configuration SINE_RAMP;
+  }
+
+  public static final class VolumeShaper.Configuration.Builder {
+    ctor public VolumeShaper.Configuration.Builder();
+    ctor public VolumeShaper.Configuration.Builder(@NonNull android.media.VolumeShaper.Configuration);
+    method @NonNull public android.media.VolumeShaper.Configuration build();
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder invertVolumes();
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder reflectTimes();
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder scaleToEndVolume(float);
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder scaleToStartVolume(float);
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder setCurve(@NonNull float[], @NonNull float[]);
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder setDuration(long);
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder setInterpolatorType(int);
+  }
+
+  public static final class VolumeShaper.Operation implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.VolumeShaper.Operation> CREATOR;
+    field public static final android.media.VolumeShaper.Operation PLAY;
+    field public static final android.media.VolumeShaper.Operation REVERSE;
+  }
+
+}
+
+package android.media.audiofx {
+
+  public class AcousticEchoCanceler extends android.media.audiofx.AudioEffect {
+    method public static android.media.audiofx.AcousticEchoCanceler create(int);
+    method public static boolean isAvailable();
+  }
+
+  public class AudioEffect {
+    method protected void finalize();
+    method public android.media.audiofx.AudioEffect.Descriptor getDescriptor() throws java.lang.IllegalStateException;
+    method public boolean getEnabled() throws java.lang.IllegalStateException;
+    method public int getId() throws java.lang.IllegalStateException;
+    method public boolean hasControl() throws java.lang.IllegalStateException;
+    method public static android.media.audiofx.AudioEffect.Descriptor[] queryEffects();
+    method public void release();
+    method public void setControlStatusListener(android.media.audiofx.AudioEffect.OnControlStatusChangeListener);
+    method public void setEnableStatusListener(android.media.audiofx.AudioEffect.OnEnableStatusChangeListener);
+    method public int setEnabled(boolean) throws java.lang.IllegalStateException;
+    field public static final String ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION = "android.media.action.CLOSE_AUDIO_EFFECT_CONTROL_SESSION";
+    field public static final String ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL = "android.media.action.DISPLAY_AUDIO_EFFECT_CONTROL_PANEL";
+    field public static final String ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION = "android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION";
+    field public static final int ALREADY_EXISTS = -2; // 0xfffffffe
+    field public static final int CONTENT_TYPE_GAME = 2; // 0x2
+    field public static final int CONTENT_TYPE_MOVIE = 1; // 0x1
+    field public static final int CONTENT_TYPE_MUSIC = 0; // 0x0
+    field public static final int CONTENT_TYPE_VOICE = 3; // 0x3
+    field public static final String EFFECT_AUXILIARY = "Auxiliary";
+    field public static final String EFFECT_INSERT = "Insert";
+    field public static final String EFFECT_POST_PROCESSING = "Post Processing";
+    field public static final String EFFECT_PRE_PROCESSING = "Pre Processing";
+    field public static final java.util.UUID EFFECT_TYPE_AEC;
+    field public static final java.util.UUID EFFECT_TYPE_AGC;
+    field public static final java.util.UUID EFFECT_TYPE_BASS_BOOST;
+    field public static final java.util.UUID EFFECT_TYPE_DYNAMICS_PROCESSING;
+    field public static final java.util.UUID EFFECT_TYPE_ENV_REVERB;
+    field public static final java.util.UUID EFFECT_TYPE_EQUALIZER;
+    field @NonNull public static final java.util.UUID EFFECT_TYPE_HAPTIC_GENERATOR;
+    field public static final java.util.UUID EFFECT_TYPE_LOUDNESS_ENHANCER;
+    field public static final java.util.UUID EFFECT_TYPE_NS;
+    field public static final java.util.UUID EFFECT_TYPE_PRESET_REVERB;
+    field public static final java.util.UUID EFFECT_TYPE_VIRTUALIZER;
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_BAD_VALUE = -4; // 0xfffffffc
+    field public static final int ERROR_DEAD_OBJECT = -7; // 0xfffffff9
+    field public static final int ERROR_INVALID_OPERATION = -5; // 0xfffffffb
+    field public static final int ERROR_NO_INIT = -3; // 0xfffffffd
+    field public static final int ERROR_NO_MEMORY = -6; // 0xfffffffa
+    field public static final String EXTRA_AUDIO_SESSION = "android.media.extra.AUDIO_SESSION";
+    field public static final String EXTRA_CONTENT_TYPE = "android.media.extra.CONTENT_TYPE";
+    field public static final String EXTRA_PACKAGE_NAME = "android.media.extra.PACKAGE_NAME";
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public static class AudioEffect.Descriptor {
+    ctor public AudioEffect.Descriptor();
+    ctor public AudioEffect.Descriptor(String, String, String, String, String);
+    field public String connectMode;
+    field public String implementor;
+    field public String name;
+    field public java.util.UUID type;
+    field public java.util.UUID uuid;
+  }
+
+  public static interface AudioEffect.OnControlStatusChangeListener {
+    method public void onControlStatusChange(android.media.audiofx.AudioEffect, boolean);
+  }
+
+  public static interface AudioEffect.OnEnableStatusChangeListener {
+    method public void onEnableStatusChange(android.media.audiofx.AudioEffect, boolean);
+  }
+
+  public class AutomaticGainControl extends android.media.audiofx.AudioEffect {
+    method public static android.media.audiofx.AutomaticGainControl create(int);
+    method public static boolean isAvailable();
+  }
+
+  public class BassBoost extends android.media.audiofx.AudioEffect {
+    ctor public BassBoost(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public android.media.audiofx.BassBoost.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getRoundedStrength() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public boolean getStrengthSupported();
+    method public void setParameterListener(android.media.audiofx.BassBoost.OnParameterChangeListener);
+    method public void setProperties(android.media.audiofx.BassBoost.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setStrength(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_STRENGTH = 1; // 0x1
+    field public static final int PARAM_STRENGTH_SUPPORTED = 0; // 0x0
+  }
+
+  public static interface BassBoost.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.BassBoost, int, int, short);
+  }
+
+  public static class BassBoost.Settings {
+    ctor public BassBoost.Settings();
+    ctor public BassBoost.Settings(String);
+    field public short strength;
+  }
+
+  public final class DynamicsProcessing extends android.media.audiofx.AudioEffect {
+    ctor public DynamicsProcessing(int);
+    ctor public DynamicsProcessing(int, int, @Nullable android.media.audiofx.DynamicsProcessing.Config);
+    method public android.media.audiofx.DynamicsProcessing.Channel getChannelByChannelIndex(int);
+    method public int getChannelCount();
+    method public android.media.audiofx.DynamicsProcessing.Config getConfig();
+    method public float getInputGainByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.Limiter getLimiterByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.MbcBand getMbcBandByChannelIndex(int, int);
+    method public android.media.audiofx.DynamicsProcessing.Mbc getMbcByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPostEqBandByChannelIndex(int, int);
+    method public android.media.audiofx.DynamicsProcessing.Eq getPostEqByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPreEqBandByChannelIndex(int, int);
+    method public android.media.audiofx.DynamicsProcessing.Eq getPreEqByChannelIndex(int);
+    method public void setAllChannelsTo(android.media.audiofx.DynamicsProcessing.Channel);
+    method public void setChannelTo(int, android.media.audiofx.DynamicsProcessing.Channel);
+    method public void setInputGainAllChannelsTo(float);
+    method public void setInputGainbyChannel(int, float);
+    method public void setLimiterAllChannelsTo(android.media.audiofx.DynamicsProcessing.Limiter);
+    method public void setLimiterByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Limiter);
+    method public void setMbcAllChannelsTo(android.media.audiofx.DynamicsProcessing.Mbc);
+    method public void setMbcBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public void setMbcBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public void setMbcByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Mbc);
+    method public void setPostEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPostEqBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPostEqBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPostEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPreEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPreEqBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPreEqBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPreEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+    field public static final int VARIANT_FAVOR_FREQUENCY_RESOLUTION = 0; // 0x0
+    field public static final int VARIANT_FAVOR_TIME_RESOLUTION = 1; // 0x1
+  }
+
+  public static class DynamicsProcessing.BandBase {
+    ctor public DynamicsProcessing.BandBase(boolean, float);
+    method public float getCutoffFrequency();
+    method public boolean isEnabled();
+    method public void setCutoffFrequency(float);
+    method public void setEnabled(boolean);
+  }
+
+  public static class DynamicsProcessing.BandStage extends android.media.audiofx.DynamicsProcessing.Stage {
+    ctor public DynamicsProcessing.BandStage(boolean, boolean, int);
+    method public int getBandCount();
+  }
+
+  public static final class DynamicsProcessing.Channel {
+    ctor public DynamicsProcessing.Channel(float, boolean, int, boolean, int, boolean, int, boolean);
+    ctor public DynamicsProcessing.Channel(android.media.audiofx.DynamicsProcessing.Channel);
+    method public float getInputGain();
+    method public android.media.audiofx.DynamicsProcessing.Limiter getLimiter();
+    method public android.media.audiofx.DynamicsProcessing.Mbc getMbc();
+    method public android.media.audiofx.DynamicsProcessing.MbcBand getMbcBand(int);
+    method public android.media.audiofx.DynamicsProcessing.Eq getPostEq();
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPostEqBand(int);
+    method public android.media.audiofx.DynamicsProcessing.Eq getPreEq();
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPreEqBand(int);
+    method public void setInputGain(float);
+    method public void setLimiter(android.media.audiofx.DynamicsProcessing.Limiter);
+    method public void setMbc(android.media.audiofx.DynamicsProcessing.Mbc);
+    method public void setMbcBand(int, android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public void setPostEq(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPostEqBand(int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPreEq(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPreEqBand(int, android.media.audiofx.DynamicsProcessing.EqBand);
+  }
+
+  public static final class DynamicsProcessing.Config {
+    method public android.media.audiofx.DynamicsProcessing.Channel getChannelByChannelIndex(int);
+    method public float getInputGainByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.Limiter getLimiterByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.MbcBand getMbcBandByChannelIndex(int, int);
+    method public int getMbcBandCount();
+    method public android.media.audiofx.DynamicsProcessing.Mbc getMbcByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPostEqBandByChannelIndex(int, int);
+    method public int getPostEqBandCount();
+    method public android.media.audiofx.DynamicsProcessing.Eq getPostEqByChannelIndex(int);
+    method public android.media.audiofx.DynamicsProcessing.EqBand getPreEqBandByChannelIndex(int, int);
+    method public int getPreEqBandCount();
+    method public android.media.audiofx.DynamicsProcessing.Eq getPreEqByChannelIndex(int);
+    method public float getPreferredFrameDuration();
+    method public int getVariant();
+    method public boolean isLimiterInUse();
+    method public boolean isMbcInUse();
+    method public boolean isPostEqInUse();
+    method public boolean isPreEqInUse();
+    method public void setAllChannelsTo(android.media.audiofx.DynamicsProcessing.Channel);
+    method public void setChannelTo(int, android.media.audiofx.DynamicsProcessing.Channel);
+    method public void setInputGainAllChannelsTo(float);
+    method public void setInputGainByChannelIndex(int, float);
+    method public void setLimiterAllChannelsTo(android.media.audiofx.DynamicsProcessing.Limiter);
+    method public void setLimiterByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Limiter);
+    method public void setMbcAllChannelsTo(android.media.audiofx.DynamicsProcessing.Mbc);
+    method public void setMbcBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public void setMbcBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public void setMbcByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Mbc);
+    method public void setPostEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPostEqBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPostEqBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPostEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPreEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public void setPreEqBandAllChannelsTo(int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPreEqBandByChannelIndex(int, int, android.media.audiofx.DynamicsProcessing.EqBand);
+    method public void setPreEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+  }
+
+  public static final class DynamicsProcessing.Config.Builder {
+    ctor public DynamicsProcessing.Config.Builder(int, int, boolean, int, boolean, int, boolean, int, boolean);
+    method public android.media.audiofx.DynamicsProcessing.Config build();
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setAllChannelsTo(android.media.audiofx.DynamicsProcessing.Channel);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setChannelTo(int, android.media.audiofx.DynamicsProcessing.Channel);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setInputGainAllChannelsTo(float);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setInputGainByChannelIndex(int, float);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setLimiterAllChannelsTo(android.media.audiofx.DynamicsProcessing.Limiter);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setLimiterByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Limiter);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setMbcAllChannelsTo(android.media.audiofx.DynamicsProcessing.Mbc);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setMbcByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Mbc);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setPostEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setPostEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setPreEqAllChannelsTo(android.media.audiofx.DynamicsProcessing.Eq);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setPreEqByChannelIndex(int, android.media.audiofx.DynamicsProcessing.Eq);
+    method public android.media.audiofx.DynamicsProcessing.Config.Builder setPreferredFrameDuration(float);
+  }
+
+  public static final class DynamicsProcessing.Eq extends android.media.audiofx.DynamicsProcessing.BandStage {
+    ctor public DynamicsProcessing.Eq(boolean, boolean, int);
+    ctor public DynamicsProcessing.Eq(android.media.audiofx.DynamicsProcessing.Eq);
+    method public android.media.audiofx.DynamicsProcessing.EqBand getBand(int);
+    method public void setBand(int, android.media.audiofx.DynamicsProcessing.EqBand);
+  }
+
+  public static final class DynamicsProcessing.EqBand extends android.media.audiofx.DynamicsProcessing.BandBase {
+    ctor public DynamicsProcessing.EqBand(boolean, float, float);
+    ctor public DynamicsProcessing.EqBand(android.media.audiofx.DynamicsProcessing.EqBand);
+    method public float getGain();
+    method public void setGain(float);
+  }
+
+  public static final class DynamicsProcessing.Limiter extends android.media.audiofx.DynamicsProcessing.Stage {
+    ctor public DynamicsProcessing.Limiter(boolean, boolean, int, float, float, float, float, float);
+    ctor public DynamicsProcessing.Limiter(android.media.audiofx.DynamicsProcessing.Limiter);
+    method public float getAttackTime();
+    method public int getLinkGroup();
+    method public float getPostGain();
+    method public float getRatio();
+    method public float getReleaseTime();
+    method public float getThreshold();
+    method public void setAttackTime(float);
+    method public void setLinkGroup(int);
+    method public void setPostGain(float);
+    method public void setRatio(float);
+    method public void setReleaseTime(float);
+    method public void setThreshold(float);
+  }
+
+  public static final class DynamicsProcessing.Mbc extends android.media.audiofx.DynamicsProcessing.BandStage {
+    ctor public DynamicsProcessing.Mbc(boolean, boolean, int);
+    ctor public DynamicsProcessing.Mbc(android.media.audiofx.DynamicsProcessing.Mbc);
+    method public android.media.audiofx.DynamicsProcessing.MbcBand getBand(int);
+    method public void setBand(int, android.media.audiofx.DynamicsProcessing.MbcBand);
+  }
+
+  public static final class DynamicsProcessing.MbcBand extends android.media.audiofx.DynamicsProcessing.BandBase {
+    ctor public DynamicsProcessing.MbcBand(boolean, float, float, float, float, float, float, float, float, float, float);
+    ctor public DynamicsProcessing.MbcBand(android.media.audiofx.DynamicsProcessing.MbcBand);
+    method public float getAttackTime();
+    method public float getExpanderRatio();
+    method public float getKneeWidth();
+    method public float getNoiseGateThreshold();
+    method public float getPostGain();
+    method public float getPreGain();
+    method public float getRatio();
+    method public float getReleaseTime();
+    method public float getThreshold();
+    method public void setAttackTime(float);
+    method public void setExpanderRatio(float);
+    method public void setKneeWidth(float);
+    method public void setNoiseGateThreshold(float);
+    method public void setPostGain(float);
+    method public void setPreGain(float);
+    method public void setRatio(float);
+    method public void setReleaseTime(float);
+    method public void setThreshold(float);
+  }
+
+  public static class DynamicsProcessing.Stage {
+    ctor public DynamicsProcessing.Stage(boolean, boolean);
+    method public boolean isEnabled();
+    method public boolean isInUse();
+    method public void setEnabled(boolean);
+  }
+
+  public class EnvironmentalReverb extends android.media.audiofx.AudioEffect {
+    ctor public EnvironmentalReverb(int, int) throws java.lang.IllegalArgumentException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public short getDecayHFRatio() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public int getDecayTime() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getDensity() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getDiffusion() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public android.media.audiofx.EnvironmentalReverb.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public int getReflectionsDelay() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getReflectionsLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public int getReverbDelay() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getReverbLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getRoomHFLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getRoomLevel() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setDecayHFRatio(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setDecayTime(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setDensity(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setDiffusion(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setParameterListener(android.media.audiofx.EnvironmentalReverb.OnParameterChangeListener);
+    method public void setProperties(android.media.audiofx.EnvironmentalReverb.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setReflectionsDelay(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setReflectionsLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setReverbDelay(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setReverbLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setRoomHFLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setRoomLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_DECAY_HF_RATIO = 3; // 0x3
+    field public static final int PARAM_DECAY_TIME = 2; // 0x2
+    field public static final int PARAM_DENSITY = 9; // 0x9
+    field public static final int PARAM_DIFFUSION = 8; // 0x8
+    field public static final int PARAM_REFLECTIONS_DELAY = 5; // 0x5
+    field public static final int PARAM_REFLECTIONS_LEVEL = 4; // 0x4
+    field public static final int PARAM_REVERB_DELAY = 7; // 0x7
+    field public static final int PARAM_REVERB_LEVEL = 6; // 0x6
+    field public static final int PARAM_ROOM_HF_LEVEL = 1; // 0x1
+    field public static final int PARAM_ROOM_LEVEL = 0; // 0x0
+  }
+
+  public static interface EnvironmentalReverb.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.EnvironmentalReverb, int, int, int);
+  }
+
+  public static class EnvironmentalReverb.Settings {
+    ctor public EnvironmentalReverb.Settings();
+    ctor public EnvironmentalReverb.Settings(String);
+    field public short decayHFRatio;
+    field public int decayTime;
+    field public short density;
+    field public short diffusion;
+    field public int reflectionsDelay;
+    field public short reflectionsLevel;
+    field public int reverbDelay;
+    field public short reverbLevel;
+    field public short roomHFLevel;
+    field public short roomLevel;
+  }
+
+  public class Equalizer extends android.media.audiofx.AudioEffect {
+    ctor public Equalizer(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public short getBand(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public int[] getBandFreqRange(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getBandLevel(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short[] getBandLevelRange() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public int getCenterFreq(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getCurrentPreset() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getNumberOfBands() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getNumberOfPresets() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public String getPresetName(short);
+    method public android.media.audiofx.Equalizer.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setBandLevel(short, short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setParameterListener(android.media.audiofx.Equalizer.OnParameterChangeListener);
+    method public void setProperties(android.media.audiofx.Equalizer.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void usePreset(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_BAND_FREQ_RANGE = 4; // 0x4
+    field public static final int PARAM_BAND_LEVEL = 2; // 0x2
+    field public static final int PARAM_CENTER_FREQ = 3; // 0x3
+    field public static final int PARAM_CURRENT_PRESET = 6; // 0x6
+    field public static final int PARAM_GET_BAND = 5; // 0x5
+    field public static final int PARAM_GET_NUM_OF_PRESETS = 7; // 0x7
+    field public static final int PARAM_GET_PRESET_NAME = 8; // 0x8
+    field public static final int PARAM_LEVEL_RANGE = 1; // 0x1
+    field public static final int PARAM_NUM_BANDS = 0; // 0x0
+    field public static final int PARAM_STRING_SIZE_MAX = 32; // 0x20
+  }
+
+  public static interface Equalizer.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.Equalizer, int, int, int, int);
+  }
+
+  public static class Equalizer.Settings {
+    ctor public Equalizer.Settings();
+    ctor public Equalizer.Settings(String);
+    field public short[] bandLevels;
+    field public short curPreset;
+    field public short numBands;
+  }
+
+  public class HapticGenerator extends android.media.audiofx.AudioEffect implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public static android.media.audiofx.HapticGenerator create(int);
+    method public static boolean isAvailable();
+    method public int setEnabled(boolean);
+  }
+
+  public class LoudnessEnhancer extends android.media.audiofx.AudioEffect {
+    ctor public LoudnessEnhancer(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public float getTargetGain() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setTargetGain(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_TARGET_GAIN_MB = 0; // 0x0
+  }
+
+  public class NoiseSuppressor extends android.media.audiofx.AudioEffect {
+    method public static android.media.audiofx.NoiseSuppressor create(int);
+    method public static boolean isAvailable();
+  }
+
+  public class PresetReverb extends android.media.audiofx.AudioEffect {
+    ctor public PresetReverb(int, int) throws java.lang.IllegalArgumentException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public short getPreset() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public android.media.audiofx.PresetReverb.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setParameterListener(android.media.audiofx.PresetReverb.OnParameterChangeListener);
+    method public void setPreset(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setProperties(android.media.audiofx.PresetReverb.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_PRESET = 0; // 0x0
+    field public static final short PRESET_LARGEHALL = 5; // 0x5
+    field public static final short PRESET_LARGEROOM = 3; // 0x3
+    field public static final short PRESET_MEDIUMHALL = 4; // 0x4
+    field public static final short PRESET_MEDIUMROOM = 2; // 0x2
+    field public static final short PRESET_NONE = 0; // 0x0
+    field public static final short PRESET_PLATE = 6; // 0x6
+    field public static final short PRESET_SMALLROOM = 1; // 0x1
+  }
+
+  public static interface PresetReverb.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.PresetReverb, int, int, short);
+  }
+
+  public static class PresetReverb.Settings {
+    ctor public PresetReverb.Settings();
+    ctor public PresetReverb.Settings(String);
+    field public short preset;
+  }
+
+  public class Virtualizer extends android.media.audiofx.AudioEffect {
+    ctor public Virtualizer(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method public boolean canVirtualize(int, int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public boolean forceVirtualizationMode(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public android.media.audiofx.Virtualizer.Settings getProperties() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public short getRoundedStrength() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public boolean getSpeakerAngles(int, int, int[]) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public boolean getStrengthSupported();
+    method public int getVirtualizationMode() throws java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setParameterListener(android.media.audiofx.Virtualizer.OnParameterChangeListener);
+    method public void setProperties(android.media.audiofx.Virtualizer.Settings) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    method public void setStrength(short) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
+    field public static final int PARAM_STRENGTH = 1; // 0x1
+    field public static final int PARAM_STRENGTH_SUPPORTED = 0; // 0x0
+    field public static final int VIRTUALIZATION_MODE_AUTO = 1; // 0x1
+    field public static final int VIRTUALIZATION_MODE_BINAURAL = 2; // 0x2
+    field public static final int VIRTUALIZATION_MODE_OFF = 0; // 0x0
+    field public static final int VIRTUALIZATION_MODE_TRANSAURAL = 3; // 0x3
+  }
+
+  public static interface Virtualizer.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.Virtualizer, int, int, short);
+  }
+
+  public static class Virtualizer.Settings {
+    ctor public Virtualizer.Settings();
+    ctor public Virtualizer.Settings(String);
+    field public short strength;
+  }
+
+  public class Visualizer {
+    ctor public Visualizer(int) throws java.lang.RuntimeException, java.lang.UnsupportedOperationException;
+    method protected void finalize();
+    method public int getCaptureSize() throws java.lang.IllegalStateException;
+    method public static int[] getCaptureSizeRange();
+    method public boolean getEnabled();
+    method public int getFft(byte[]) throws java.lang.IllegalStateException;
+    method public static int getMaxCaptureRate();
+    method public int getMeasurementMode() throws java.lang.IllegalStateException;
+    method public int getMeasurementPeakRms(android.media.audiofx.Visualizer.MeasurementPeakRms);
+    method public int getSamplingRate() throws java.lang.IllegalStateException;
+    method public int getScalingMode() throws java.lang.IllegalStateException;
+    method public int getWaveForm(byte[]) throws java.lang.IllegalStateException;
+    method public void release();
+    method public int setCaptureSize(int) throws java.lang.IllegalStateException;
+    method public int setDataCaptureListener(android.media.audiofx.Visualizer.OnDataCaptureListener, int, boolean, boolean);
+    method public int setEnabled(boolean) throws java.lang.IllegalStateException;
+    method public int setMeasurementMode(int) throws java.lang.IllegalStateException;
+    method public int setScalingMode(int) throws java.lang.IllegalStateException;
+    field public static final int ALREADY_EXISTS = -2; // 0xfffffffe
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_BAD_VALUE = -4; // 0xfffffffc
+    field public static final int ERROR_DEAD_OBJECT = -7; // 0xfffffff9
+    field public static final int ERROR_INVALID_OPERATION = -5; // 0xfffffffb
+    field public static final int ERROR_NO_INIT = -3; // 0xfffffffd
+    field public static final int ERROR_NO_MEMORY = -6; // 0xfffffffa
+    field public static final int MEASUREMENT_MODE_NONE = 0; // 0x0
+    field public static final int MEASUREMENT_MODE_PEAK_RMS = 1; // 0x1
+    field public static final int SCALING_MODE_AS_PLAYED = 1; // 0x1
+    field public static final int SCALING_MODE_NORMALIZED = 0; // 0x0
+    field public static final int STATE_ENABLED = 2; // 0x2
+    field public static final int STATE_INITIALIZED = 1; // 0x1
+    field public static final int STATE_UNINITIALIZED = 0; // 0x0
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public static final class Visualizer.MeasurementPeakRms {
+    ctor public Visualizer.MeasurementPeakRms();
+    field public int mPeak;
+    field public int mRms;
+  }
+
+  public static interface Visualizer.OnDataCaptureListener {
+    method public void onFftDataCapture(android.media.audiofx.Visualizer, byte[], int);
+    method public void onWaveFormDataCapture(android.media.audiofx.Visualizer, byte[], int);
+  }
+
+}
+
+package android.media.browse {
+
+  public final class MediaBrowser {
+    ctor public MediaBrowser(android.content.Context, android.content.ComponentName, android.media.browse.MediaBrowser.ConnectionCallback, android.os.Bundle);
+    method public void connect();
+    method public void disconnect();
+    method @Nullable public android.os.Bundle getExtras();
+    method public void getItem(@NonNull String, @NonNull android.media.browse.MediaBrowser.ItemCallback);
+    method @NonNull public String getRoot();
+    method @NonNull public android.content.ComponentName getServiceComponent();
+    method @NonNull public android.media.session.MediaSession.Token getSessionToken();
+    method public boolean isConnected();
+    method public void subscribe(@NonNull String, @NonNull android.media.browse.MediaBrowser.SubscriptionCallback);
+    method public void subscribe(@NonNull String, @NonNull android.os.Bundle, @NonNull android.media.browse.MediaBrowser.SubscriptionCallback);
+    method public void unsubscribe(@NonNull String);
+    method public void unsubscribe(@NonNull String, @NonNull android.media.browse.MediaBrowser.SubscriptionCallback);
+    field public static final String EXTRA_PAGE = "android.media.browse.extra.PAGE";
+    field public static final String EXTRA_PAGE_SIZE = "android.media.browse.extra.PAGE_SIZE";
+  }
+
+  public static class MediaBrowser.ConnectionCallback {
+    ctor public MediaBrowser.ConnectionCallback();
+    method public void onConnected();
+    method public void onConnectionFailed();
+    method public void onConnectionSuspended();
+  }
+
+  public abstract static class MediaBrowser.ItemCallback {
+    ctor public MediaBrowser.ItemCallback();
+    method public void onError(@NonNull String);
+    method public void onItemLoaded(android.media.browse.MediaBrowser.MediaItem);
+  }
+
+  public static class MediaBrowser.MediaItem implements android.os.Parcelable {
+    ctor public MediaBrowser.MediaItem(@NonNull android.media.MediaDescription, int);
+    method public int describeContents();
+    method @NonNull public android.media.MediaDescription getDescription();
+    method public int getFlags();
+    method @Nullable public String getMediaId();
+    method public boolean isBrowsable();
+    method public boolean isPlayable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.browse.MediaBrowser.MediaItem> CREATOR;
+    field public static final int FLAG_BROWSABLE = 1; // 0x1
+    field public static final int FLAG_PLAYABLE = 2; // 0x2
+  }
+
+  public abstract static class MediaBrowser.SubscriptionCallback {
+    ctor public MediaBrowser.SubscriptionCallback();
+    method public void onChildrenLoaded(@NonNull String, @NonNull java.util.List<android.media.browse.MediaBrowser.MediaItem>);
+    method public void onChildrenLoaded(@NonNull String, @NonNull java.util.List<android.media.browse.MediaBrowser.MediaItem>, @NonNull android.os.Bundle);
+    method public void onError(@NonNull String);
+    method public void onError(@NonNull String, @NonNull android.os.Bundle);
+  }
+
+}
+
+package android.media.effect {
+
+  public abstract class Effect {
+    ctor public Effect();
+    method public abstract void apply(int, int, int, int);
+    method public abstract String getName();
+    method public abstract void release();
+    method public abstract void setParameter(String, Object);
+    method public void setUpdateListener(android.media.effect.EffectUpdateListener);
+  }
+
+  public class EffectContext {
+    method public static android.media.effect.EffectContext createWithCurrentGlContext();
+    method public android.media.effect.EffectFactory getFactory();
+    method public void release();
+  }
+
+  public class EffectFactory {
+    method public android.media.effect.Effect createEffect(String);
+    method public static boolean isEffectSupported(String);
+    field public static final String EFFECT_AUTOFIX = "android.media.effect.effects.AutoFixEffect";
+    field public static final String EFFECT_BACKDROPPER = "android.media.effect.effects.BackDropperEffect";
+    field public static final String EFFECT_BITMAPOVERLAY = "android.media.effect.effects.BitmapOverlayEffect";
+    field public static final String EFFECT_BLACKWHITE = "android.media.effect.effects.BlackWhiteEffect";
+    field public static final String EFFECT_BRIGHTNESS = "android.media.effect.effects.BrightnessEffect";
+    field public static final String EFFECT_CONTRAST = "android.media.effect.effects.ContrastEffect";
+    field public static final String EFFECT_CROP = "android.media.effect.effects.CropEffect";
+    field public static final String EFFECT_CROSSPROCESS = "android.media.effect.effects.CrossProcessEffect";
+    field public static final String EFFECT_DOCUMENTARY = "android.media.effect.effects.DocumentaryEffect";
+    field public static final String EFFECT_DUOTONE = "android.media.effect.effects.DuotoneEffect";
+    field public static final String EFFECT_FILLLIGHT = "android.media.effect.effects.FillLightEffect";
+    field public static final String EFFECT_FISHEYE = "android.media.effect.effects.FisheyeEffect";
+    field public static final String EFFECT_FLIP = "android.media.effect.effects.FlipEffect";
+    field public static final String EFFECT_GRAIN = "android.media.effect.effects.GrainEffect";
+    field public static final String EFFECT_GRAYSCALE = "android.media.effect.effects.GrayscaleEffect";
+    field public static final String EFFECT_LOMOISH = "android.media.effect.effects.LomoishEffect";
+    field public static final String EFFECT_NEGATIVE = "android.media.effect.effects.NegativeEffect";
+    field public static final String EFFECT_POSTERIZE = "android.media.effect.effects.PosterizeEffect";
+    field public static final String EFFECT_REDEYE = "android.media.effect.effects.RedEyeEffect";
+    field public static final String EFFECT_ROTATE = "android.media.effect.effects.RotateEffect";
+    field public static final String EFFECT_SATURATE = "android.media.effect.effects.SaturateEffect";
+    field public static final String EFFECT_SEPIA = "android.media.effect.effects.SepiaEffect";
+    field public static final String EFFECT_SHARPEN = "android.media.effect.effects.SharpenEffect";
+    field public static final String EFFECT_STRAIGHTEN = "android.media.effect.effects.StraightenEffect";
+    field public static final String EFFECT_TEMPERATURE = "android.media.effect.effects.ColorTemperatureEffect";
+    field public static final String EFFECT_TINT = "android.media.effect.effects.TintEffect";
+    field public static final String EFFECT_VIGNETTE = "android.media.effect.effects.VignetteEffect";
+  }
+
+  public interface EffectUpdateListener {
+    method public void onEffectUpdated(android.media.effect.Effect, Object);
+  }
+
+}
+
+package android.media.metrics {
+
+  public abstract class Event {
+    method @NonNull public android.os.Bundle getMetricsBundle();
+    method @IntRange(from=0xffffffff) public long getTimeSinceCreatedMillis();
+  }
+
+  public final class LogSessionId {
+    method @NonNull public String getStringId();
+    field @NonNull public static final android.media.metrics.LogSessionId LOG_SESSION_ID_NONE;
+  }
+
+  public final class MediaMetricsManager {
+    method @NonNull public android.media.metrics.PlaybackSession createPlaybackSession();
+    method @NonNull public android.media.metrics.RecordingSession createRecordingSession();
+    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
+  }
+
+  public final class NetworkEvent extends android.media.metrics.Event implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getNetworkType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.NetworkEvent> CREATOR;
+    field public static final int NETWORK_TYPE_2G = 4; // 0x4
+    field public static final int NETWORK_TYPE_3G = 5; // 0x5
+    field public static final int NETWORK_TYPE_4G = 6; // 0x6
+    field public static final int NETWORK_TYPE_5G_NSA = 7; // 0x7
+    field public static final int NETWORK_TYPE_5G_SA = 8; // 0x8
+    field public static final int NETWORK_TYPE_ETHERNET = 3; // 0x3
+    field public static final int NETWORK_TYPE_OFFLINE = 9; // 0x9
+    field public static final int NETWORK_TYPE_OTHER = 1; // 0x1
+    field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int NETWORK_TYPE_WIFI = 2; // 0x2
+  }
+
+  public static final class NetworkEvent.Builder {
+    ctor public NetworkEvent.Builder();
+    method @NonNull public android.media.metrics.NetworkEvent build();
+    method @NonNull public android.media.metrics.NetworkEvent.Builder setMetricsBundle(@NonNull android.os.Bundle);
+    method @NonNull public android.media.metrics.NetworkEvent.Builder setNetworkType(int);
+    method @NonNull public android.media.metrics.NetworkEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long);
+  }
+
+  public final class PlaybackErrorEvent extends android.media.metrics.Event implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getErrorCode();
+    method @IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) public int getSubErrorCode();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.PlaybackErrorEvent> CREATOR;
+    field public static final int ERROR_AUDIO_TRACK_INIT_FAILED = 17; // 0x11
+    field public static final int ERROR_AUDIO_TRACK_OTHER = 19; // 0x13
+    field public static final int ERROR_AUDIO_TRACK_WRITE_FAILED = 18; // 0x12
+    field public static final int ERROR_DECODER_INIT_FAILED = 13; // 0xd
+    field public static final int ERROR_DECODING_FAILED = 14; // 0xe
+    field public static final int ERROR_DECODING_FORMAT_EXCEEDS_CAPABILITIES = 15; // 0xf
+    field public static final int ERROR_DECODING_FORMAT_UNSUPPORTED = 35; // 0x23
+    field public static final int ERROR_DECODING_OTHER = 16; // 0x10
+    field public static final int ERROR_DRM_CONTENT_ERROR = 28; // 0x1c
+    field public static final int ERROR_DRM_DEVICE_REVOKED = 29; // 0x1d
+    field public static final int ERROR_DRM_DISALLOWED_OPERATION = 26; // 0x1a
+    field public static final int ERROR_DRM_LICENSE_ACQUISITION_FAILED = 25; // 0x19
+    field public static final int ERROR_DRM_OTHER = 30; // 0x1e
+    field public static final int ERROR_DRM_PROVISIONING_FAILED = 24; // 0x18
+    field public static final int ERROR_DRM_SCHEME_UNSUPPORTED = 23; // 0x17
+    field public static final int ERROR_DRM_SYSTEM_ERROR = 27; // 0x1b
+    field public static final int ERROR_IO_BAD_HTTP_STATUS = 5; // 0x5
+    field public static final int ERROR_IO_CONNECTION_CLOSED = 8; // 0x8
+    field public static final int ERROR_IO_CONNECTION_TIMEOUT = 7; // 0x7
+    field public static final int ERROR_IO_DNS_FAILED = 6; // 0x6
+    field public static final int ERROR_IO_FILE_NOT_FOUND = 31; // 0x1f
+    field public static final int ERROR_IO_NETWORK_CONNECTION_FAILED = 4; // 0x4
+    field public static final int ERROR_IO_NETWORK_UNAVAILABLE = 3; // 0x3
+    field public static final int ERROR_IO_NO_PERMISSION = 32; // 0x20
+    field public static final int ERROR_IO_OTHER = 9; // 0x9
+    field public static final int ERROR_OTHER = 1; // 0x1
+    field public static final int ERROR_PARSING_CONTAINER_MALFORMED = 11; // 0xb
+    field public static final int ERROR_PARSING_CONTAINER_UNSUPPORTED = 34; // 0x22
+    field public static final int ERROR_PARSING_MANIFEST_MALFORMED = 10; // 0xa
+    field public static final int ERROR_PARSING_MANIFEST_UNSUPPORTED = 33; // 0x21
+    field public static final int ERROR_PARSING_OTHER = 12; // 0xc
+    field public static final int ERROR_PLAYER_BEHIND_LIVE_WINDOW = 21; // 0x15
+    field public static final int ERROR_PLAYER_OTHER = 22; // 0x16
+    field public static final int ERROR_PLAYER_REMOTE = 20; // 0x14
+    field public static final int ERROR_RUNTIME = 2; // 0x2
+    field public static final int ERROR_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class PlaybackErrorEvent.Builder {
+    ctor public PlaybackErrorEvent.Builder();
+    method @NonNull public android.media.metrics.PlaybackErrorEvent build();
+    method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setErrorCode(int);
+    method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setException(@NonNull Exception);
+    method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setMetricsBundle(@NonNull android.os.Bundle);
+    method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setSubErrorCode(@IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.PlaybackErrorEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long);
+  }
+
+  public final class PlaybackMetrics implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getAudioUnderrunCount();
+    method public int getContentType();
+    method @NonNull public byte[] getDrmSessionId();
+    method public int getDrmType();
+    method @NonNull public long[] getExperimentIds();
+    method @IntRange(from=0xffffffff) public long getLocalBytesRead();
+    method @IntRange(from=0xffffffff) public long getMediaDurationMillis();
+    method @NonNull public android.os.Bundle getMetricsBundle();
+    method @IntRange(from=0xffffffff) public long getNetworkBytesRead();
+    method @IntRange(from=0xffffffff) public long getNetworkTransferDurationMillis();
+    method public int getPlaybackType();
+    method @Nullable public String getPlayerName();
+    method @Nullable public String getPlayerVersion();
+    method public int getStreamSource();
+    method public int getStreamType();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getVideoFramesDropped();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getVideoFramesPlayed();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CONTENT_TYPE_AD = 2; // 0x2
+    field public static final int CONTENT_TYPE_MAIN = 1; // 0x1
+    field public static final int CONTENT_TYPE_OTHER = 3; // 0x3
+    field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.PlaybackMetrics> CREATOR;
+    field public static final int DRM_TYPE_CLEARKEY = 6; // 0x6
+    field public static final int DRM_TYPE_NONE = 0; // 0x0
+    field public static final int DRM_TYPE_OTHER = 1; // 0x1
+    field public static final int DRM_TYPE_PLAY_READY = 2; // 0x2
+    field public static final int DRM_TYPE_WIDEVINE_L1 = 3; // 0x3
+    field public static final int DRM_TYPE_WIDEVINE_L3 = 4; // 0x4
+    field public static final int DRM_TYPE_WV_L3_FALLBACK = 5; // 0x5
+    field public static final int PLAYBACK_TYPE_LIVE = 2; // 0x2
+    field public static final int PLAYBACK_TYPE_OTHER = 3; // 0x3
+    field public static final int PLAYBACK_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int PLAYBACK_TYPE_VOD = 1; // 0x1
+    field public static final int STREAM_SOURCE_DEVICE = 2; // 0x2
+    field public static final int STREAM_SOURCE_MIXED = 3; // 0x3
+    field public static final int STREAM_SOURCE_NETWORK = 1; // 0x1
+    field public static final int STREAM_SOURCE_UNKNOWN = 0; // 0x0
+    field public static final int STREAM_TYPE_DASH = 3; // 0x3
+    field public static final int STREAM_TYPE_HLS = 4; // 0x4
+    field public static final int STREAM_TYPE_OTHER = 1; // 0x1
+    field public static final int STREAM_TYPE_PROGRESSIVE = 2; // 0x2
+    field public static final int STREAM_TYPE_SS = 5; // 0x5
+    field public static final int STREAM_TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class PlaybackMetrics.Builder {
+    ctor public PlaybackMetrics.Builder();
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder addExperimentId(long);
+    method @NonNull public android.media.metrics.PlaybackMetrics build();
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setAudioUnderrunCount(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setContentType(int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setDrmSessionId(@NonNull byte[]);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setDrmType(int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setLocalBytesRead(@IntRange(from=0xffffffff) long);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setMediaDurationMillis(@IntRange(from=0xffffffff) long);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setMetricsBundle(@NonNull android.os.Bundle);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setNetworkBytesRead(@IntRange(from=0xffffffff) long);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setNetworkTransferDurationMillis(@IntRange(from=0xffffffff) long);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setPlaybackType(int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setPlayerName(@NonNull String);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setPlayerVersion(@NonNull String);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setStreamSource(int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setStreamType(int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setVideoFramesDropped(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.PlaybackMetrics.Builder setVideoFramesPlayed(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+  }
+
+  public final class PlaybackSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public android.media.metrics.LogSessionId getSessionId();
+    method public void reportNetworkEvent(@NonNull android.media.metrics.NetworkEvent);
+    method public void reportPlaybackErrorEvent(@NonNull android.media.metrics.PlaybackErrorEvent);
+    method public void reportPlaybackMetrics(@NonNull android.media.metrics.PlaybackMetrics);
+    method public void reportPlaybackStateEvent(@NonNull android.media.metrics.PlaybackStateEvent);
+    method public void reportTrackChangeEvent(@NonNull android.media.metrics.TrackChangeEvent);
+  }
+
+  public final class PlaybackStateEvent extends android.media.metrics.Event implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getState();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.PlaybackStateEvent> CREATOR;
+    field public static final int STATE_ABANDONED = 15; // 0xf
+    field public static final int STATE_BUFFERING = 6; // 0x6
+    field public static final int STATE_ENDED = 11; // 0xb
+    field public static final int STATE_FAILED = 13; // 0xd
+    field public static final int STATE_INTERRUPTED_BY_AD = 14; // 0xe
+    field public static final int STATE_JOINING_BACKGROUND = 1; // 0x1
+    field public static final int STATE_JOINING_FOREGROUND = 2; // 0x2
+    field public static final int STATE_NOT_STARTED = 0; // 0x0
+    field public static final int STATE_PAUSED = 4; // 0x4
+    field public static final int STATE_PAUSED_BUFFERING = 7; // 0x7
+    field public static final int STATE_PLAYING = 3; // 0x3
+    field public static final int STATE_SEEKING = 5; // 0x5
+    field public static final int STATE_STOPPED = 12; // 0xc
+    field public static final int STATE_SUPPRESSED = 9; // 0x9
+    field public static final int STATE_SUPPRESSED_BUFFERING = 10; // 0xa
+  }
+
+  public static final class PlaybackStateEvent.Builder {
+    ctor public PlaybackStateEvent.Builder();
+    method @NonNull public android.media.metrics.PlaybackStateEvent build();
+    method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setMetricsBundle(@NonNull android.os.Bundle);
+    method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setState(int);
+    method @NonNull public android.media.metrics.PlaybackStateEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long);
+  }
+
+  public final class RecordingSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public android.media.metrics.LogSessionId getSessionId();
+  }
+
+  public final class TrackChangeEvent extends android.media.metrics.Event implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getAudioSampleRate();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getBitrate();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getChannelCount();
+    method @Nullable public String getCodecName();
+    method @Nullable public String getContainerMimeType();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getHeight();
+    method @Nullable public String getLanguage();
+    method @Nullable public String getLanguageRegion();
+    method @Nullable public String getSampleMimeType();
+    method public int getTrackChangeReason();
+    method public int getTrackState();
+    method public int getTrackType();
+    method @FloatRange(from=0xffffffff, to=java.lang.Float.MAX_VALUE) public float getVideoFrameRate();
+    method @IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) public int getWidth();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.metrics.TrackChangeEvent> CREATOR;
+    field public static final int TRACK_CHANGE_REASON_ADAPTIVE = 4; // 0x4
+    field public static final int TRACK_CHANGE_REASON_INITIAL = 2; // 0x2
+    field public static final int TRACK_CHANGE_REASON_MANUAL = 3; // 0x3
+    field public static final int TRACK_CHANGE_REASON_OTHER = 1; // 0x1
+    field public static final int TRACK_CHANGE_REASON_UNKNOWN = 0; // 0x0
+    field public static final int TRACK_STATE_OFF = 0; // 0x0
+    field public static final int TRACK_STATE_ON = 1; // 0x1
+    field public static final int TRACK_TYPE_AUDIO = 0; // 0x0
+    field public static final int TRACK_TYPE_TEXT = 2; // 0x2
+    field public static final int TRACK_TYPE_VIDEO = 1; // 0x1
+  }
+
+  public static final class TrackChangeEvent.Builder {
+    ctor public TrackChangeEvent.Builder(int);
+    method @NonNull public android.media.metrics.TrackChangeEvent build();
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setAudioSampleRate(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setBitrate(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setChannelCount(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setCodecName(@NonNull String);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setContainerMimeType(@NonNull String);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setHeight(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setLanguage(@NonNull String);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setLanguageRegion(@NonNull String);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setMetricsBundle(@NonNull android.os.Bundle);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setSampleMimeType(@NonNull String);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTimeSinceCreatedMillis(@IntRange(from=0xffffffff) long);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTrackChangeReason(int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setTrackState(int);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setVideoFrameRate(@FloatRange(from=0xffffffff, to=java.lang.Float.MAX_VALUE) float);
+    method @NonNull public android.media.metrics.TrackChangeEvent.Builder setWidth(@IntRange(from=0xffffffff, to=java.lang.Integer.MAX_VALUE) int);
+  }
+
+}
+
+package android.media.midi {
+
+  public final class MidiDevice implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public android.media.midi.MidiDevice.MidiConnection connectPorts(android.media.midi.MidiInputPort, int);
+    method public android.media.midi.MidiDeviceInfo getInfo();
+    method public android.media.midi.MidiInputPort openInputPort(int);
+    method public android.media.midi.MidiOutputPort openOutputPort(int);
+  }
+
+  public class MidiDevice.MidiConnection implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+  }
+
+  public final class MidiDeviceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getId();
+    method public int getInputPortCount();
+    method public int getOutputPortCount();
+    method public android.media.midi.MidiDeviceInfo.PortInfo[] getPorts();
+    method public android.os.Bundle getProperties();
+    method public int getType();
+    method public boolean isPrivate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceInfo> CREATOR;
+    field public static final String PROPERTY_BLUETOOTH_DEVICE = "bluetooth_device";
+    field public static final String PROPERTY_MANUFACTURER = "manufacturer";
+    field public static final String PROPERTY_NAME = "name";
+    field public static final String PROPERTY_PRODUCT = "product";
+    field public static final String PROPERTY_SERIAL_NUMBER = "serial_number";
+    field public static final String PROPERTY_USB_DEVICE = "usb_device";
+    field public static final String PROPERTY_VERSION = "version";
+    field public static final int TYPE_BLUETOOTH = 3; // 0x3
+    field public static final int TYPE_USB = 1; // 0x1
+    field public static final int TYPE_VIRTUAL = 2; // 0x2
+  }
+
+  public static final class MidiDeviceInfo.PortInfo {
+    method public String getName();
+    method public int getPortNumber();
+    method public int getType();
+    field public static final int TYPE_INPUT = 1; // 0x1
+    field public static final int TYPE_OUTPUT = 2; // 0x2
+  }
+
+  public abstract class MidiDeviceService extends android.app.Service {
+    ctor public MidiDeviceService();
+    method public final android.media.midi.MidiDeviceInfo getDeviceInfo();
+    method public final android.media.midi.MidiReceiver[] getOutputPortReceivers();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onClose();
+    method public void onDeviceStatusChanged(android.media.midi.MidiDeviceStatus);
+    method public abstract android.media.midi.MidiReceiver[] onGetInputPortReceivers();
+    field public static final String SERVICE_INTERFACE = "android.media.midi.MidiDeviceService";
+  }
+
+  public final class MidiDeviceStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.midi.MidiDeviceInfo getDeviceInfo();
+    method public int getOutputPortOpenCount(int);
+    method public boolean isInputPortOpen(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceStatus> CREATOR;
+  }
+
+  public final class MidiInputPort extends android.media.midi.MidiReceiver implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public int getPortNumber();
+    method public void onSend(byte[], int, int, long) throws java.io.IOException;
+  }
+
+  public final class MidiManager {
+    method public android.media.midi.MidiDeviceInfo[] getDevices();
+    method public void openBluetoothDevice(android.bluetooth.BluetoothDevice, android.media.midi.MidiManager.OnDeviceOpenedListener, android.os.Handler);
+    method public void openDevice(android.media.midi.MidiDeviceInfo, android.media.midi.MidiManager.OnDeviceOpenedListener, android.os.Handler);
+    method public void registerDeviceCallback(android.media.midi.MidiManager.DeviceCallback, android.os.Handler);
+    method public void unregisterDeviceCallback(android.media.midi.MidiManager.DeviceCallback);
+  }
+
+  public static class MidiManager.DeviceCallback {
+    ctor public MidiManager.DeviceCallback();
+    method public void onDeviceAdded(android.media.midi.MidiDeviceInfo);
+    method public void onDeviceRemoved(android.media.midi.MidiDeviceInfo);
+    method public void onDeviceStatusChanged(android.media.midi.MidiDeviceStatus);
+  }
+
+  public static interface MidiManager.OnDeviceOpenedListener {
+    method public void onDeviceOpened(android.media.midi.MidiDevice);
+  }
+
+  public final class MidiOutputPort extends android.media.midi.MidiSender implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public int getPortNumber();
+    method public void onConnect(android.media.midi.MidiReceiver);
+    method public void onDisconnect(android.media.midi.MidiReceiver);
+  }
+
+  public abstract class MidiReceiver {
+    ctor public MidiReceiver();
+    ctor public MidiReceiver(int);
+    method public void flush() throws java.io.IOException;
+    method public final int getMaxMessageSize();
+    method public void onFlush() throws java.io.IOException;
+    method public abstract void onSend(byte[], int, int, long) throws java.io.IOException;
+    method public void send(byte[], int, int) throws java.io.IOException;
+    method public void send(byte[], int, int, long) throws java.io.IOException;
+  }
+
+  public abstract class MidiSender {
+    ctor public MidiSender();
+    method public void connect(android.media.midi.MidiReceiver);
+    method public void disconnect(android.media.midi.MidiReceiver);
+    method public abstract void onConnect(android.media.midi.MidiReceiver);
+    method public abstract void onDisconnect(android.media.midi.MidiReceiver);
+  }
+
+}
+
+package android.media.projection {
+
+  public final class MediaProjection {
+    method public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull String, int, int, int, int, @Nullable android.view.Surface, @Nullable android.hardware.display.VirtualDisplay.Callback, @Nullable android.os.Handler);
+    method public void registerCallback(android.media.projection.MediaProjection.Callback, android.os.Handler);
+    method public void stop();
+    method public void unregisterCallback(android.media.projection.MediaProjection.Callback);
+  }
+
+  public abstract static class MediaProjection.Callback {
+    ctor public MediaProjection.Callback();
+    method public void onStop();
+  }
+
+  public final class MediaProjectionManager {
+    method public android.content.Intent createScreenCaptureIntent();
+    method public android.media.projection.MediaProjection getMediaProjection(int, @NonNull android.content.Intent);
+  }
+
+}
+
+package android.media.session {
+
+  public final class MediaController {
+    ctor public MediaController(@NonNull android.content.Context, @NonNull android.media.session.MediaSession.Token);
+    method public void adjustVolume(int, int);
+    method public boolean dispatchMediaButtonEvent(@NonNull android.view.KeyEvent);
+    method @Nullable public android.os.Bundle getExtras();
+    method public long getFlags();
+    method @Nullable public android.media.MediaMetadata getMetadata();
+    method public String getPackageName();
+    method @Nullable public android.media.session.MediaController.PlaybackInfo getPlaybackInfo();
+    method @Nullable public android.media.session.PlaybackState getPlaybackState();
+    method @Nullable public java.util.List<android.media.session.MediaSession.QueueItem> getQueue();
+    method @Nullable public CharSequence getQueueTitle();
+    method public int getRatingType();
+    method @Nullable public android.app.PendingIntent getSessionActivity();
+    method @NonNull public android.os.Bundle getSessionInfo();
+    method @NonNull public android.media.session.MediaSession.Token getSessionToken();
+    method @NonNull public String getTag();
+    method @NonNull public android.media.session.MediaController.TransportControls getTransportControls();
+    method public void registerCallback(@NonNull android.media.session.MediaController.Callback);
+    method public void registerCallback(@NonNull android.media.session.MediaController.Callback, @Nullable android.os.Handler);
+    method public void sendCommand(@NonNull String, @Nullable android.os.Bundle, @Nullable android.os.ResultReceiver);
+    method public void setVolumeTo(int, int);
+    method public void unregisterCallback(@NonNull android.media.session.MediaController.Callback);
+  }
+
+  public abstract static class MediaController.Callback {
+    ctor public MediaController.Callback();
+    method public void onAudioInfoChanged(android.media.session.MediaController.PlaybackInfo);
+    method public void onExtrasChanged(@Nullable android.os.Bundle);
+    method public void onMetadataChanged(@Nullable android.media.MediaMetadata);
+    method public void onPlaybackStateChanged(@Nullable android.media.session.PlaybackState);
+    method public void onQueueChanged(@Nullable java.util.List<android.media.session.MediaSession.QueueItem>);
+    method public void onQueueTitleChanged(@Nullable CharSequence);
+    method public void onSessionDestroyed();
+    method public void onSessionEvent(@NonNull String, @Nullable android.os.Bundle);
+  }
+
+  public static final class MediaController.PlaybackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.media.AudioAttributes getAudioAttributes();
+    method public int getCurrentVolume();
+    method public int getMaxVolume();
+    method public int getPlaybackType();
+    method public int getVolumeControl();
+    method @Nullable public String getVolumeControlId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.session.MediaController.PlaybackInfo> CREATOR;
+    field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1
+    field public static final int PLAYBACK_TYPE_REMOTE = 2; // 0x2
+  }
+
+  public final class MediaController.TransportControls {
+    method public void fastForward();
+    method public void pause();
+    method public void play();
+    method public void playFromMediaId(String, android.os.Bundle);
+    method public void playFromSearch(String, android.os.Bundle);
+    method public void playFromUri(android.net.Uri, android.os.Bundle);
+    method public void prepare();
+    method public void prepareFromMediaId(String, android.os.Bundle);
+    method public void prepareFromSearch(String, android.os.Bundle);
+    method public void prepareFromUri(android.net.Uri, android.os.Bundle);
+    method public void rewind();
+    method public void seekTo(long);
+    method public void sendCustomAction(@NonNull android.media.session.PlaybackState.CustomAction, @Nullable android.os.Bundle);
+    method public void sendCustomAction(@NonNull String, @Nullable android.os.Bundle);
+    method public void setPlaybackSpeed(float);
+    method public void setRating(android.media.Rating);
+    method public void skipToNext();
+    method public void skipToPrevious();
+    method public void skipToQueueItem(long);
+    method public void stop();
+  }
+
+  public final class MediaSession {
+    ctor public MediaSession(@NonNull android.content.Context, @NonNull String);
+    ctor public MediaSession(@NonNull android.content.Context, @NonNull String, @Nullable android.os.Bundle);
+    method @NonNull public android.media.session.MediaController getController();
+    method @NonNull public android.media.session.MediaSessionManager.RemoteUserInfo getCurrentControllerInfo();
+    method @NonNull public android.media.session.MediaSession.Token getSessionToken();
+    method public boolean isActive();
+    method public void release();
+    method public void sendSessionEvent(@NonNull String, @Nullable android.os.Bundle);
+    method public void setActive(boolean);
+    method public void setCallback(@Nullable android.media.session.MediaSession.Callback);
+    method public void setCallback(@Nullable android.media.session.MediaSession.Callback, @Nullable android.os.Handler);
+    method public void setExtras(@Nullable android.os.Bundle);
+    method public void setFlags(int);
+    method public void setMediaButtonBroadcastReceiver(@Nullable android.content.ComponentName);
+    method @Deprecated public void setMediaButtonReceiver(@Nullable android.app.PendingIntent);
+    method public void setMetadata(@Nullable android.media.MediaMetadata);
+    method public void setPlaybackState(@Nullable android.media.session.PlaybackState);
+    method public void setPlaybackToLocal(android.media.AudioAttributes);
+    method public void setPlaybackToRemote(@NonNull android.media.VolumeProvider);
+    method public void setQueue(@Nullable java.util.List<android.media.session.MediaSession.QueueItem>);
+    method public void setQueueTitle(@Nullable CharSequence);
+    method public void setRatingType(int);
+    method public void setSessionActivity(@Nullable android.app.PendingIntent);
+    field @Deprecated public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
+    field @Deprecated public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
+  }
+
+  public abstract static class MediaSession.Callback {
+    ctor public MediaSession.Callback();
+    method public void onCommand(@NonNull String, @Nullable android.os.Bundle, @Nullable android.os.ResultReceiver);
+    method public void onCustomAction(@NonNull String, @Nullable android.os.Bundle);
+    method public void onFastForward();
+    method public boolean onMediaButtonEvent(@NonNull android.content.Intent);
+    method public void onPause();
+    method public void onPlay();
+    method public void onPlayFromMediaId(String, android.os.Bundle);
+    method public void onPlayFromSearch(String, android.os.Bundle);
+    method public void onPlayFromUri(android.net.Uri, android.os.Bundle);
+    method public void onPrepare();
+    method public void onPrepareFromMediaId(String, android.os.Bundle);
+    method public void onPrepareFromSearch(String, android.os.Bundle);
+    method public void onPrepareFromUri(android.net.Uri, android.os.Bundle);
+    method public void onRewind();
+    method public void onSeekTo(long);
+    method public void onSetPlaybackSpeed(float);
+    method public void onSetRating(@NonNull android.media.Rating);
+    method public void onSkipToNext();
+    method public void onSkipToPrevious();
+    method public void onSkipToQueueItem(long);
+    method public void onStop();
+  }
+
+  public static final class MediaSession.QueueItem implements android.os.Parcelable {
+    ctor public MediaSession.QueueItem(android.media.MediaDescription, long);
+    method public int describeContents();
+    method public android.media.MediaDescription getDescription();
+    method public long getQueueId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.session.MediaSession.QueueItem> CREATOR;
+    field public static final int UNKNOWN_ID = -1; // 0xffffffff
+  }
+
+  public static final class MediaSession.Token implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.session.MediaSession.Token> CREATOR;
+  }
+
+  public final class MediaSessionManager {
+    method public void addOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener, @Nullable android.content.ComponentName);
+    method public void addOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener, @Nullable android.content.ComponentName, @Nullable android.os.Handler);
+    method public void addOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener);
+    method public void addOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener, @NonNull android.os.Handler);
+    method @NonNull public java.util.List<android.media.session.MediaController> getActiveSessions(@Nullable android.content.ComponentName);
+    method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens();
+    method public boolean isTrustedForMediaControl(@NonNull android.media.session.MediaSessionManager.RemoteUserInfo);
+    method @Deprecated public void notifySession2Created(@NonNull android.media.Session2Token);
+    method public void removeOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener);
+    method public void removeOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener);
+  }
+
+  public static interface MediaSessionManager.OnActiveSessionsChangedListener {
+    method public void onActiveSessionsChanged(@Nullable java.util.List<android.media.session.MediaController>);
+  }
+
+  public static interface MediaSessionManager.OnSession2TokensChangedListener {
+    method public void onSession2TokensChanged(@NonNull java.util.List<android.media.Session2Token>);
+  }
+
+  public static final class MediaSessionManager.RemoteUserInfo {
+    ctor public MediaSessionManager.RemoteUserInfo(@NonNull String, int, int);
+    method public String getPackageName();
+    method public int getPid();
+    method public int getUid();
+  }
+
+  public final class PlaybackState implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getActions();
+    method public long getActiveQueueItemId();
+    method public long getBufferedPosition();
+    method public java.util.List<android.media.session.PlaybackState.CustomAction> getCustomActions();
+    method public CharSequence getErrorMessage();
+    method @Nullable public android.os.Bundle getExtras();
+    method public long getLastPositionUpdateTime();
+    method public float getPlaybackSpeed();
+    method public long getPosition();
+    method public int getState();
+    method public boolean isActive();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final long ACTION_FAST_FORWARD = 64L; // 0x40L
+    field public static final long ACTION_PAUSE = 2L; // 0x2L
+    field public static final long ACTION_PLAY = 4L; // 0x4L
+    field public static final long ACTION_PLAY_FROM_MEDIA_ID = 1024L; // 0x400L
+    field public static final long ACTION_PLAY_FROM_SEARCH = 2048L; // 0x800L
+    field public static final long ACTION_PLAY_FROM_URI = 8192L; // 0x2000L
+    field public static final long ACTION_PLAY_PAUSE = 512L; // 0x200L
+    field public static final long ACTION_PREPARE = 16384L; // 0x4000L
+    field public static final long ACTION_PREPARE_FROM_MEDIA_ID = 32768L; // 0x8000L
+    field public static final long ACTION_PREPARE_FROM_SEARCH = 65536L; // 0x10000L
+    field public static final long ACTION_PREPARE_FROM_URI = 131072L; // 0x20000L
+    field public static final long ACTION_REWIND = 8L; // 0x8L
+    field public static final long ACTION_SEEK_TO = 256L; // 0x100L
+    field public static final long ACTION_SET_PLAYBACK_SPEED = 4194304L; // 0x400000L
+    field public static final long ACTION_SET_RATING = 128L; // 0x80L
+    field public static final long ACTION_SKIP_TO_NEXT = 32L; // 0x20L
+    field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L
+    field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
+    field public static final long ACTION_STOP = 1L; // 0x1L
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.session.PlaybackState> CREATOR;
+    field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
+    field public static final int STATE_BUFFERING = 6; // 0x6
+    field public static final int STATE_CONNECTING = 8; // 0x8
+    field public static final int STATE_ERROR = 7; // 0x7
+    field public static final int STATE_FAST_FORWARDING = 4; // 0x4
+    field public static final int STATE_NONE = 0; // 0x0
+    field public static final int STATE_PAUSED = 2; // 0x2
+    field public static final int STATE_PLAYING = 3; // 0x3
+    field public static final int STATE_REWINDING = 5; // 0x5
+    field public static final int STATE_SKIPPING_TO_NEXT = 10; // 0xa
+    field public static final int STATE_SKIPPING_TO_PREVIOUS = 9; // 0x9
+    field public static final int STATE_SKIPPING_TO_QUEUE_ITEM = 11; // 0xb
+    field public static final int STATE_STOPPED = 1; // 0x1
+  }
+
+  public static final class PlaybackState.Builder {
+    ctor public PlaybackState.Builder();
+    ctor public PlaybackState.Builder(android.media.session.PlaybackState);
+    method public android.media.session.PlaybackState.Builder addCustomAction(String, String, int);
+    method public android.media.session.PlaybackState.Builder addCustomAction(android.media.session.PlaybackState.CustomAction);
+    method public android.media.session.PlaybackState build();
+    method public android.media.session.PlaybackState.Builder setActions(long);
+    method public android.media.session.PlaybackState.Builder setActiveQueueItemId(long);
+    method public android.media.session.PlaybackState.Builder setBufferedPosition(long);
+    method public android.media.session.PlaybackState.Builder setErrorMessage(CharSequence);
+    method public android.media.session.PlaybackState.Builder setExtras(android.os.Bundle);
+    method public android.media.session.PlaybackState.Builder setState(int, long, float, long);
+    method public android.media.session.PlaybackState.Builder setState(int, long, float);
+  }
+
+  public static final class PlaybackState.CustomAction implements android.os.Parcelable {
+    method public int describeContents();
+    method public String getAction();
+    method public android.os.Bundle getExtras();
+    method public int getIcon();
+    method public CharSequence getName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.session.PlaybackState.CustomAction> CREATOR;
+  }
+
+  public static final class PlaybackState.CustomAction.Builder {
+    ctor public PlaybackState.CustomAction.Builder(String, CharSequence, @DrawableRes int);
+    method public android.media.session.PlaybackState.CustomAction build();
+    method public android.media.session.PlaybackState.CustomAction.Builder setExtras(android.os.Bundle);
+  }
+
+}
+
+package android.media.tv {
+
+  public final class TvContentRating {
+    method public boolean contains(@NonNull android.media.tv.TvContentRating);
+    method public static android.media.tv.TvContentRating createRating(String, String, String, java.lang.String...);
+    method public String flattenToString();
+    method public String getDomain();
+    method public String getMainRating();
+    method public String getRatingSystem();
+    method public java.util.List<java.lang.String> getSubRatings();
+    method public static android.media.tv.TvContentRating unflattenFromString(String);
+    field public static final android.media.tv.TvContentRating UNRATED;
+  }
+
+  public final class TvContract {
+    method public static android.net.Uri buildChannelLogoUri(long);
+    method public static android.net.Uri buildChannelLogoUri(android.net.Uri);
+    method public static android.net.Uri buildChannelUri(long);
+    method public static android.net.Uri buildChannelUriForPassthroughInput(String);
+    method public static android.net.Uri buildChannelsUriForInput(@Nullable String);
+    method public static String buildInputId(android.content.ComponentName);
+    method public static android.net.Uri buildPreviewProgramUri(long);
+    method public static android.net.Uri buildPreviewProgramsUriForChannel(long);
+    method public static android.net.Uri buildPreviewProgramsUriForChannel(android.net.Uri);
+    method public static android.net.Uri buildProgramUri(long);
+    method public static android.net.Uri buildProgramsUriForChannel(long);
+    method public static android.net.Uri buildProgramsUriForChannel(android.net.Uri);
+    method public static android.net.Uri buildProgramsUriForChannel(long, long, long);
+    method public static android.net.Uri buildProgramsUriForChannel(android.net.Uri, long, long);
+    method public static android.net.Uri buildRecordedProgramUri(long);
+    method public static android.net.Uri buildWatchNextProgramUri(long);
+    method public static boolean isChannelUri(@NonNull android.net.Uri);
+    method public static boolean isChannelUriForPassthroughInput(@NonNull android.net.Uri);
+    method public static boolean isChannelUriForTunerInput(@NonNull android.net.Uri);
+    method public static boolean isProgramUri(@NonNull android.net.Uri);
+    method public static boolean isRecordedProgramUri(@NonNull android.net.Uri);
+    method public static void requestChannelBrowsable(android.content.Context, long);
+    field public static final String ACTION_INITIALIZE_PROGRAMS = "android.media.tv.action.INITIALIZE_PROGRAMS";
+    field public static final String ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT = "android.media.tv.action.PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT";
+    field public static final String ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.PREVIEW_PROGRAM_BROWSABLE_DISABLED";
+    field public static final String ACTION_REQUEST_CHANNEL_BROWSABLE = "android.media.tv.action.REQUEST_CHANNEL_BROWSABLE";
+    field public static final String ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED = "android.media.tv.action.WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED";
+    field public static final String AUTHORITY = "android.media.tv";
+    field public static final String EXTRA_CHANNEL_ID = "android.media.tv.extra.CHANNEL_ID";
+    field public static final String EXTRA_PREVIEW_PROGRAM_ID = "android.media.tv.extra.PREVIEW_PROGRAM_ID";
+    field public static final String EXTRA_WATCH_NEXT_PROGRAM_ID = "android.media.tv.extra.WATCH_NEXT_PROGRAM_ID";
+  }
+
+  public static interface TvContract.BaseTvColumns extends android.provider.BaseColumns {
+    field public static final String COLUMN_PACKAGE_NAME = "package_name";
+  }
+
+  public static final class TvContract.Channels implements android.media.tv.TvContract.BaseTvColumns {
+    method @Nullable public static String getVideoResolution(String);
+    field public static final String COLUMN_APP_LINK_COLOR = "app_link_color";
+    field public static final String COLUMN_APP_LINK_ICON_URI = "app_link_icon_uri";
+    field public static final String COLUMN_APP_LINK_INTENT_URI = "app_link_intent_uri";
+    field public static final String COLUMN_APP_LINK_POSTER_ART_URI = "app_link_poster_art_uri";
+    field public static final String COLUMN_APP_LINK_TEXT = "app_link_text";
+    field public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre";
+    field public static final String COLUMN_BROWSABLE = "browsable";
+    field public static final String COLUMN_CHANNEL_LIST_ID = "channel_list_id";
+    field public static final String COLUMN_DESCRIPTION = "description";
+    field public static final String COLUMN_DISPLAY_NAME = "display_name";
+    field public static final String COLUMN_DISPLAY_NUMBER = "display_number";
+    field public static final String COLUMN_GLOBAL_CONTENT_ID = "global_content_id";
+    field public static final String COLUMN_INPUT_ID = "input_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id";
+    field public static final String COLUMN_LOCKED = "locked";
+    field public static final String COLUMN_NETWORK_AFFILIATION = "network_affiliation";
+    field public static final String COLUMN_ORIGINAL_NETWORK_ID = "original_network_id";
+    field public static final String COLUMN_REMOTE_CONTROL_KEY_PRESET_NUMBER = "remote_control_key_preset_number";
+    field public static final String COLUMN_SCRAMBLED = "scrambled";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SERVICE_ID = "service_id";
+    field public static final String COLUMN_SERVICE_TYPE = "service_type";
+    field public static final String COLUMN_TRANSIENT = "transient";
+    field public static final String COLUMN_TRANSPORT_STREAM_ID = "transport_stream_id";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_FORMAT = "video_format";
+    field public static final String COLUMN_VIDEO_RESOLUTION = "video_resolution";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/channel";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/channel";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String SERVICE_TYPE_AUDIO = "SERVICE_TYPE_AUDIO";
+    field public static final String SERVICE_TYPE_AUDIO_VIDEO = "SERVICE_TYPE_AUDIO_VIDEO";
+    field public static final String SERVICE_TYPE_OTHER = "SERVICE_TYPE_OTHER";
+    field public static final String TYPE_1SEG = "TYPE_1SEG";
+    field public static final String TYPE_ATSC3_T = "TYPE_ATSC3_T";
+    field public static final String TYPE_ATSC_C = "TYPE_ATSC_C";
+    field public static final String TYPE_ATSC_M_H = "TYPE_ATSC_M_H";
+    field public static final String TYPE_ATSC_T = "TYPE_ATSC_T";
+    field public static final String TYPE_CMMB = "TYPE_CMMB";
+    field public static final String TYPE_DTMB = "TYPE_DTMB";
+    field public static final String TYPE_DVB_C = "TYPE_DVB_C";
+    field public static final String TYPE_DVB_C2 = "TYPE_DVB_C2";
+    field public static final String TYPE_DVB_H = "TYPE_DVB_H";
+    field public static final String TYPE_DVB_S = "TYPE_DVB_S";
+    field public static final String TYPE_DVB_S2 = "TYPE_DVB_S2";
+    field public static final String TYPE_DVB_SH = "TYPE_DVB_SH";
+    field public static final String TYPE_DVB_T = "TYPE_DVB_T";
+    field public static final String TYPE_DVB_T2 = "TYPE_DVB_T2";
+    field public static final String TYPE_ISDB_C = "TYPE_ISDB_C";
+    field public static final String TYPE_ISDB_S = "TYPE_ISDB_S";
+    field public static final String TYPE_ISDB_S3 = "TYPE_ISDB_S3";
+    field public static final String TYPE_ISDB_T = "TYPE_ISDB_T";
+    field public static final String TYPE_ISDB_TB = "TYPE_ISDB_TB";
+    field public static final String TYPE_NTSC = "TYPE_NTSC";
+    field public static final String TYPE_OTHER = "TYPE_OTHER";
+    field public static final String TYPE_PAL = "TYPE_PAL";
+    field public static final String TYPE_PREVIEW = "TYPE_PREVIEW";
+    field public static final String TYPE_SECAM = "TYPE_SECAM";
+    field public static final String TYPE_S_DMB = "TYPE_S_DMB";
+    field public static final String TYPE_T_DMB = "TYPE_T_DMB";
+    field public static final String VIDEO_FORMAT_1080I = "VIDEO_FORMAT_1080I";
+    field public static final String VIDEO_FORMAT_1080P = "VIDEO_FORMAT_1080P";
+    field public static final String VIDEO_FORMAT_2160P = "VIDEO_FORMAT_2160P";
+    field public static final String VIDEO_FORMAT_240P = "VIDEO_FORMAT_240P";
+    field public static final String VIDEO_FORMAT_360P = "VIDEO_FORMAT_360P";
+    field public static final String VIDEO_FORMAT_4320P = "VIDEO_FORMAT_4320P";
+    field public static final String VIDEO_FORMAT_480I = "VIDEO_FORMAT_480I";
+    field public static final String VIDEO_FORMAT_480P = "VIDEO_FORMAT_480P";
+    field public static final String VIDEO_FORMAT_576I = "VIDEO_FORMAT_576I";
+    field public static final String VIDEO_FORMAT_576P = "VIDEO_FORMAT_576P";
+    field public static final String VIDEO_FORMAT_720P = "VIDEO_FORMAT_720P";
+    field public static final String VIDEO_RESOLUTION_ED = "VIDEO_RESOLUTION_ED";
+    field public static final String VIDEO_RESOLUTION_FHD = "VIDEO_RESOLUTION_FHD";
+    field public static final String VIDEO_RESOLUTION_HD = "VIDEO_RESOLUTION_HD";
+    field public static final String VIDEO_RESOLUTION_SD = "VIDEO_RESOLUTION_SD";
+    field public static final String VIDEO_RESOLUTION_UHD = "VIDEO_RESOLUTION_UHD";
+  }
+
+  public static final class TvContract.Channels.Logo {
+    field public static final String CONTENT_DIRECTORY = "logo";
+  }
+
+  public static final class TvContract.PreviewPrograms implements android.media.tv.TvContract.BaseTvColumns {
+    field public static final int ASPECT_RATIO_16_9 = 0; // 0x0
+    field public static final int ASPECT_RATIO_1_1 = 3; // 0x3
+    field public static final int ASPECT_RATIO_2_3 = 4; // 0x4
+    field public static final int ASPECT_RATIO_3_2 = 1; // 0x1
+    field public static final int ASPECT_RATIO_4_3 = 2; // 0x2
+    field public static final int AVAILABILITY_AVAILABLE = 0; // 0x0
+    field public static final int AVAILABILITY_FREE_WITH_SUBSCRIPTION = 1; // 0x1
+    field public static final int AVAILABILITY_PAID_CONTENT = 2; // 0x2
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_AUTHOR = "author";
+    field public static final String COLUMN_AVAILABILITY = "availability";
+    field public static final String COLUMN_BROWSABLE = "browsable";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_ID = "content_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_DURATION_MILLIS = "duration_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INTENT_URI = "intent_uri";
+    field public static final String COLUMN_INTERACTION_COUNT = "interaction_count";
+    field public static final String COLUMN_INTERACTION_TYPE = "interaction_type";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id";
+    field public static final String COLUMN_ITEM_COUNT = "item_count";
+    field public static final String COLUMN_LAST_PLAYBACK_POSITION_MILLIS = "last_playback_position_millis";
+    field public static final String COLUMN_LIVE = "live";
+    field public static final String COLUMN_LOGO_URI = "logo_uri";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_OFFER_PRICE = "offer_price";
+    field public static final String COLUMN_POSTER_ART_ASPECT_RATIO = "poster_art_aspect_ratio";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_PREVIEW_VIDEO_URI = "preview_video_uri";
+    field public static final String COLUMN_RELEASE_DATE = "release_date";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_SPLIT_ID = "split_id";
+    field public static final String COLUMN_STARTING_PRICE = "starting_price";
+    field public static final String COLUMN_THUMBNAIL_ASPECT_RATIO = "poster_thumbnail_aspect_ratio";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_TRANSIENT = "transient";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String COLUMN_WEIGHT = "weight";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/preview_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/preview_program";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final int INTERACTION_TYPE_FANS = 3; // 0x3
+    field public static final int INTERACTION_TYPE_FOLLOWERS = 2; // 0x2
+    field public static final int INTERACTION_TYPE_LIKES = 4; // 0x4
+    field public static final int INTERACTION_TYPE_LISTENS = 1; // 0x1
+    field public static final int INTERACTION_TYPE_THUMBS = 5; // 0x5
+    field public static final int INTERACTION_TYPE_VIEWERS = 6; // 0x6
+    field public static final int INTERACTION_TYPE_VIEWS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+    field public static final int TYPE_ALBUM = 8; // 0x8
+    field public static final int TYPE_ARTIST = 9; // 0x9
+    field public static final int TYPE_CHANNEL = 6; // 0x6
+    field public static final int TYPE_CLIP = 4; // 0x4
+    field public static final int TYPE_EVENT = 5; // 0x5
+    field public static final int TYPE_MOVIE = 0; // 0x0
+    field public static final int TYPE_PLAYLIST = 10; // 0xa
+    field public static final int TYPE_STATION = 11; // 0xb
+    field public static final int TYPE_TRACK = 7; // 0x7
+    field public static final int TYPE_TV_EPISODE = 3; // 0x3
+    field public static final int TYPE_TV_SEASON = 2; // 0x2
+    field public static final int TYPE_TV_SERIES = 1; // 0x1
+  }
+
+  public static final class TvContract.Programs implements android.media.tv.TvContract.BaseTvColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field @Deprecated public static final String COLUMN_EPISODE_NUMBER = "episode_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_EVENT_ID = "event_id";
+    field public static final String COLUMN_GLOBAL_CONTENT_ID = "global_content_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_RECORDING_PROHIBITED = "recording_prohibited";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field @Deprecated public static final String COLUMN_SEASON_NUMBER = "season_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_SPLIT_ID = "split_id";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/program";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+  }
+
+  public static final class TvContract.Programs.Genres {
+    method public static String[] decode(@NonNull String);
+    method public static String encode(@NonNull java.lang.String...);
+    method public static boolean isCanonical(String);
+    field public static final String ANIMAL_WILDLIFE = "ANIMAL_WILDLIFE";
+    field public static final String ARTS = "ARTS";
+    field public static final String COMEDY = "COMEDY";
+    field public static final String DRAMA = "DRAMA";
+    field public static final String EDUCATION = "EDUCATION";
+    field public static final String ENTERTAINMENT = "ENTERTAINMENT";
+    field public static final String FAMILY_KIDS = "FAMILY_KIDS";
+    field public static final String GAMING = "GAMING";
+    field public static final String LIFE_STYLE = "LIFE_STYLE";
+    field public static final String MOVIES = "MOVIES";
+    field public static final String MUSIC = "MUSIC";
+    field public static final String NEWS = "NEWS";
+    field public static final String PREMIER = "PREMIER";
+    field public static final String SHOPPING = "SHOPPING";
+    field public static final String SPORTS = "SPORTS";
+    field public static final String TECH_SCIENCE = "TECH_SCIENCE";
+    field public static final String TRAVEL = "TRAVEL";
+  }
+
+  public static final class TvContract.RecordedPrograms implements android.media.tv.TvContract.BaseTvColumns {
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_BROADCAST_GENRE = "broadcast_genre";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INPUT_ID = "input_id";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_RECORDING_DATA_BYTES = "recording_data_bytes";
+    field public static final String COLUMN_RECORDING_DATA_URI = "recording_data_uri";
+    field public static final String COLUMN_RECORDING_DURATION_MILLIS = "recording_duration_millis";
+    field public static final String COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS = "recording_expire_time_utc_millis";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_SPLIT_ID = "split_id";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/recorded_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/recorded_program";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+  }
+
+  public static final class TvContract.WatchNextPrograms implements android.media.tv.TvContract.BaseTvColumns {
+    field public static final int ASPECT_RATIO_16_9 = 0; // 0x0
+    field public static final int ASPECT_RATIO_1_1 = 3; // 0x3
+    field public static final int ASPECT_RATIO_2_3 = 4; // 0x4
+    field public static final int ASPECT_RATIO_3_2 = 1; // 0x1
+    field public static final int ASPECT_RATIO_4_3 = 2; // 0x2
+    field public static final int AVAILABILITY_AVAILABLE = 0; // 0x0
+    field public static final int AVAILABILITY_FREE_WITH_SUBSCRIPTION = 1; // 0x1
+    field public static final int AVAILABILITY_PAID_CONTENT = 2; // 0x2
+    field public static final String COLUMN_AUDIO_LANGUAGE = "audio_language";
+    field public static final String COLUMN_AUTHOR = "author";
+    field public static final String COLUMN_AVAILABILITY = "availability";
+    field public static final String COLUMN_BROWSABLE = "browsable";
+    field public static final String COLUMN_CANONICAL_GENRE = "canonical_genre";
+    field public static final String COLUMN_CONTENT_ID = "content_id";
+    field public static final String COLUMN_CONTENT_RATING = "content_rating";
+    field public static final String COLUMN_DURATION_MILLIS = "duration_millis";
+    field public static final String COLUMN_EPISODE_DISPLAY_NUMBER = "episode_display_number";
+    field public static final String COLUMN_EPISODE_TITLE = "episode_title";
+    field public static final String COLUMN_INTENT_URI = "intent_uri";
+    field public static final String COLUMN_INTERACTION_COUNT = "interaction_count";
+    field public static final String COLUMN_INTERACTION_TYPE = "interaction_type";
+    field public static final String COLUMN_INTERNAL_PROVIDER_DATA = "internal_provider_data";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG1 = "internal_provider_flag1";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG2 = "internal_provider_flag2";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG3 = "internal_provider_flag3";
+    field public static final String COLUMN_INTERNAL_PROVIDER_FLAG4 = "internal_provider_flag4";
+    field public static final String COLUMN_INTERNAL_PROVIDER_ID = "internal_provider_id";
+    field public static final String COLUMN_ITEM_COUNT = "item_count";
+    field public static final String COLUMN_LAST_ENGAGEMENT_TIME_UTC_MILLIS = "last_engagement_time_utc_millis";
+    field public static final String COLUMN_LAST_PLAYBACK_POSITION_MILLIS = "last_playback_position_millis";
+    field public static final String COLUMN_LIVE = "live";
+    field public static final String COLUMN_LOGO_URI = "logo_uri";
+    field public static final String COLUMN_LONG_DESCRIPTION = "long_description";
+    field public static final String COLUMN_OFFER_PRICE = "offer_price";
+    field public static final String COLUMN_POSTER_ART_ASPECT_RATIO = "poster_art_aspect_ratio";
+    field public static final String COLUMN_POSTER_ART_URI = "poster_art_uri";
+    field public static final String COLUMN_PREVIEW_VIDEO_URI = "preview_video_uri";
+    field public static final String COLUMN_RELEASE_DATE = "release_date";
+    field public static final String COLUMN_REVIEW_RATING = "review_rating";
+    field public static final String COLUMN_REVIEW_RATING_STYLE = "review_rating_style";
+    field public static final String COLUMN_SEARCHABLE = "searchable";
+    field public static final String COLUMN_SEASON_DISPLAY_NUMBER = "season_display_number";
+    field public static final String COLUMN_SEASON_TITLE = "season_title";
+    field public static final String COLUMN_SERIES_ID = "series_id";
+    field public static final String COLUMN_SHORT_DESCRIPTION = "short_description";
+    field public static final String COLUMN_SPLIT_ID = "split_id";
+    field public static final String COLUMN_STARTING_PRICE = "starting_price";
+    field public static final String COLUMN_THUMBNAIL_ASPECT_RATIO = "poster_thumbnail_aspect_ratio";
+    field public static final String COLUMN_THUMBNAIL_URI = "thumbnail_uri";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_TRANSIENT = "transient";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final String COLUMN_VERSION_NUMBER = "version_number";
+    field public static final String COLUMN_VIDEO_HEIGHT = "video_height";
+    field public static final String COLUMN_VIDEO_WIDTH = "video_width";
+    field public static final String COLUMN_WATCH_NEXT_TYPE = "watch_next_type";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watch_next_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watch_next_program";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final int INTERACTION_TYPE_FANS = 3; // 0x3
+    field public static final int INTERACTION_TYPE_FOLLOWERS = 2; // 0x2
+    field public static final int INTERACTION_TYPE_LIKES = 4; // 0x4
+    field public static final int INTERACTION_TYPE_LISTENS = 1; // 0x1
+    field public static final int INTERACTION_TYPE_THUMBS = 5; // 0x5
+    field public static final int INTERACTION_TYPE_VIEWERS = 6; // 0x6
+    field public static final int INTERACTION_TYPE_VIEWS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_PERCENTAGE = 2; // 0x2
+    field public static final int REVIEW_RATING_STYLE_STARS = 0; // 0x0
+    field public static final int REVIEW_RATING_STYLE_THUMBS_UP_DOWN = 1; // 0x1
+    field public static final int TYPE_ALBUM = 8; // 0x8
+    field public static final int TYPE_ARTIST = 9; // 0x9
+    field public static final int TYPE_CHANNEL = 6; // 0x6
+    field public static final int TYPE_CLIP = 4; // 0x4
+    field public static final int TYPE_EVENT = 5; // 0x5
+    field public static final int TYPE_MOVIE = 0; // 0x0
+    field public static final int TYPE_PLAYLIST = 10; // 0xa
+    field public static final int TYPE_STATION = 11; // 0xb
+    field public static final int TYPE_TRACK = 7; // 0x7
+    field public static final int TYPE_TV_EPISODE = 3; // 0x3
+    field public static final int TYPE_TV_SEASON = 2; // 0x2
+    field public static final int TYPE_TV_SERIES = 1; // 0x1
+    field public static final int WATCH_NEXT_TYPE_CONTINUE = 0; // 0x0
+    field public static final int WATCH_NEXT_TYPE_NEW = 2; // 0x2
+    field public static final int WATCH_NEXT_TYPE_NEXT = 1; // 0x1
+    field public static final int WATCH_NEXT_TYPE_WATCHLIST = 3; // 0x3
+  }
+
+  public final class TvInputInfo implements android.os.Parcelable {
+    method public boolean canPauseRecording();
+    method public boolean canRecord();
+    method @Deprecated public android.content.Intent createSettingsIntent();
+    method public android.content.Intent createSetupIntent();
+    method public int describeContents();
+    method public android.os.Bundle getExtras();
+    method public String getId();
+    method public String getParentId();
+    method public android.content.pm.ServiceInfo getServiceInfo();
+    method public int getTunerCount();
+    method public int getType();
+    method public boolean isHidden(android.content.Context);
+    method public boolean isPassthroughInput();
+    method public CharSequence loadCustomLabel(android.content.Context);
+    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context);
+    method public CharSequence loadLabel(@NonNull android.content.Context);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputInfo> CREATOR;
+    field public static final String EXTRA_INPUT_ID = "android.media.tv.extra.INPUT_ID";
+    field public static final int TYPE_COMPONENT = 1004; // 0x3ec
+    field public static final int TYPE_COMPOSITE = 1001; // 0x3e9
+    field public static final int TYPE_DISPLAY_PORT = 1008; // 0x3f0
+    field public static final int TYPE_DVI = 1006; // 0x3ee
+    field public static final int TYPE_HDMI = 1007; // 0x3ef
+    field public static final int TYPE_OTHER = 1000; // 0x3e8
+    field public static final int TYPE_SCART = 1003; // 0x3eb
+    field public static final int TYPE_SVIDEO = 1002; // 0x3ea
+    field public static final int TYPE_TUNER = 0; // 0x0
+    field public static final int TYPE_VGA = 1005; // 0x3ed
+  }
+
+  public static final class TvInputInfo.Builder {
+    ctor public TvInputInfo.Builder(android.content.Context, android.content.ComponentName);
+    method public android.media.tv.TvInputInfo build();
+    method @NonNull public android.media.tv.TvInputInfo.Builder setCanPauseRecording(boolean);
+    method public android.media.tv.TvInputInfo.Builder setCanRecord(boolean);
+    method public android.media.tv.TvInputInfo.Builder setExtras(android.os.Bundle);
+    method public android.media.tv.TvInputInfo.Builder setTunerCount(int);
+  }
+
+  public final class TvInputManager {
+    method public java.util.List<android.media.tv.TvContentRating> getBlockedRatings();
+    method public int getInputState(@NonNull String);
+    method @Nullable public android.media.tv.TvInputInfo getTvInputInfo(@NonNull String);
+    method public java.util.List<android.media.tv.TvInputInfo> getTvInputList();
+    method public boolean isParentalControlsEnabled();
+    method public boolean isRatingBlocked(@NonNull android.media.tv.TvContentRating);
+    method public void registerCallback(@NonNull android.media.tv.TvInputManager.TvInputCallback, @NonNull android.os.Handler);
+    method public void unregisterCallback(@NonNull android.media.tv.TvInputManager.TvInputCallback);
+    method public void updateTvInputInfo(@NonNull android.media.tv.TvInputInfo);
+    field public static final String ACTION_BLOCKED_RATINGS_CHANGED = "android.media.tv.action.BLOCKED_RATINGS_CHANGED";
+    field public static final String ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED = "android.media.tv.action.PARENTAL_CONTROLS_ENABLED_CHANGED";
+    field public static final String ACTION_QUERY_CONTENT_RATING_SYSTEMS = "android.media.tv.action.QUERY_CONTENT_RATING_SYSTEMS";
+    field public static final String ACTION_SETUP_INPUTS = "android.media.tv.action.SETUP_INPUTS";
+    field public static final String ACTION_VIEW_RECORDING_SCHEDULES = "android.media.tv.action.VIEW_RECORDING_SCHEDULES";
+    field public static final int INPUT_STATE_CONNECTED = 0; // 0x0
+    field public static final int INPUT_STATE_CONNECTED_STANDBY = 1; // 0x1
+    field public static final int INPUT_STATE_DISCONNECTED = 2; // 0x2
+    field public static final String META_DATA_CONTENT_RATING_SYSTEMS = "android.media.tv.metadata.CONTENT_RATING_SYSTEMS";
+    field public static final int RECORDING_ERROR_INSUFFICIENT_SPACE = 1; // 0x1
+    field public static final int RECORDING_ERROR_RESOURCE_BUSY = 2; // 0x2
+    field public static final int RECORDING_ERROR_UNKNOWN = 0; // 0x0
+    field public static final long TIME_SHIFT_INVALID_TIME = -9223372036854775808L; // 0x8000000000000000L
+    field public static final int TIME_SHIFT_STATUS_AVAILABLE = 3; // 0x3
+    field public static final int TIME_SHIFT_STATUS_UNAVAILABLE = 2; // 0x2
+    field public static final int TIME_SHIFT_STATUS_UNKNOWN = 0; // 0x0
+    field public static final int TIME_SHIFT_STATUS_UNSUPPORTED = 1; // 0x1
+    field public static final int VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY = 4; // 0x4
+    field public static final int VIDEO_UNAVAILABLE_REASON_BUFFERING = 3; // 0x3
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT = 16; // 0x10
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID = 15; // 0xf
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE = 14; // 0xe
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_INSUFFICIENT_OUTPUT_PROTECTION = 7; // 0x7
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_LICENSE_EXPIRED = 10; // 0xa
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION = 11; // 0xb
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING = 12; // 0xc
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD = 13; // 0xd
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_PVR_RECORDING_NOT_ALLOWED = 8; // 0x8
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING = 17; // 0x11
+    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN = 18; // 0x12
+    field public static final int VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE = 6; // 0x6
+    field public static final int VIDEO_UNAVAILABLE_REASON_NOT_CONNECTED = 5; // 0x5
+    field public static final int VIDEO_UNAVAILABLE_REASON_TUNING = 1; // 0x1
+    field public static final int VIDEO_UNAVAILABLE_REASON_UNKNOWN = 0; // 0x0
+    field public static final int VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL = 2; // 0x2
+  }
+
+  public abstract static class TvInputManager.TvInputCallback {
+    ctor public TvInputManager.TvInputCallback();
+    method public void onInputAdded(String);
+    method public void onInputRemoved(String);
+    method public void onInputStateChanged(String, int);
+    method public void onInputUpdated(String);
+    method public void onTvInputInfoUpdated(android.media.tv.TvInputInfo);
+  }
+
+  public abstract class TvInputService extends android.app.Service {
+    ctor public TvInputService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public android.media.tv.TvInputService.RecordingSession onCreateRecordingSession(@NonNull String);
+    method @Nullable public android.media.tv.TvInputService.RecordingSession onCreateRecordingSession(@NonNull String, @NonNull String);
+    method @Nullable public abstract android.media.tv.TvInputService.Session onCreateSession(@NonNull String);
+    method @Nullable public android.media.tv.TvInputService.Session onCreateSession(@NonNull String, @NonNull String);
+    field public static final int PRIORITY_HINT_USE_CASE_TYPE_BACKGROUND = 100; // 0x64
+    field public static final int PRIORITY_HINT_USE_CASE_TYPE_LIVE = 400; // 0x190
+    field public static final int PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK = 300; // 0x12c
+    field public static final int PRIORITY_HINT_USE_CASE_TYPE_RECORD = 500; // 0x1f4
+    field public static final int PRIORITY_HINT_USE_CASE_TYPE_SCAN = 200; // 0xc8
+    field public static final String SERVICE_INTERFACE = "android.media.tv.TvInputService";
+    field public static final String SERVICE_META_DATA = "android.media.tv.input";
+  }
+
+  public abstract static class TvInputService.HardwareSession extends android.media.tv.TvInputService.Session {
+    ctor public TvInputService.HardwareSession(android.content.Context);
+    method public abstract String getHardwareInputId();
+    method public void onHardwareVideoAvailable();
+    method public void onHardwareVideoUnavailable(int);
+    method public final boolean onSetSurface(android.view.Surface);
+  }
+
+  public abstract static class TvInputService.RecordingSession {
+    ctor public TvInputService.RecordingSession(android.content.Context);
+    method public void notifyError(int);
+    method public void notifyRecordingStopped(android.net.Uri);
+    method public void notifyTuned(android.net.Uri);
+    method public void onAppPrivateCommand(@NonNull String, android.os.Bundle);
+    method public void onPauseRecording(@NonNull android.os.Bundle);
+    method public abstract void onRelease();
+    method public void onResumeRecording(@NonNull android.os.Bundle);
+    method public abstract void onStartRecording(@Nullable android.net.Uri);
+    method public void onStartRecording(@Nullable android.net.Uri, @NonNull android.os.Bundle);
+    method public abstract void onStopRecording();
+    method public abstract void onTune(android.net.Uri);
+    method public void onTune(android.net.Uri, android.os.Bundle);
+  }
+
+  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
+    ctor public TvInputService.Session(android.content.Context);
+    method public void layoutSurface(int, int, int, int);
+    method public void notifyChannelRetuned(android.net.Uri);
+    method public void notifyContentAllowed();
+    method public void notifyContentBlocked(@NonNull android.media.tv.TvContentRating);
+    method public void notifyTimeShiftStatusChanged(int);
+    method public void notifyTrackSelected(int, String);
+    method public void notifyTracksChanged(java.util.List<android.media.tv.TvTrackInfo>);
+    method public void notifyVideoAvailable();
+    method public void notifyVideoUnavailable(int);
+    method public void onAppPrivateCommand(@NonNull String, android.os.Bundle);
+    method public android.view.View onCreateOverlayView();
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public void onOverlayViewSizeChanged(int, int);
+    method public abstract void onRelease();
+    method public boolean onSelectTrack(int, @Nullable String);
+    method public abstract void onSetCaptionEnabled(boolean);
+    method public abstract void onSetStreamVolume(@FloatRange(from=0.0, to=1.0) float);
+    method public abstract boolean onSetSurface(@Nullable android.view.Surface);
+    method public void onSurfaceChanged(int, int, int);
+    method public long onTimeShiftGetCurrentPosition();
+    method public long onTimeShiftGetStartPosition();
+    method public void onTimeShiftPause();
+    method public void onTimeShiftPlay(android.net.Uri);
+    method public void onTimeShiftResume();
+    method public void onTimeShiftSeekTo(long);
+    method public void onTimeShiftSetPlaybackParams(android.media.PlaybackParams);
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.view.MotionEvent);
+    method public abstract boolean onTune(android.net.Uri);
+    method public boolean onTune(android.net.Uri, android.os.Bundle);
+    method public void onUnblockContent(android.media.tv.TvContentRating);
+    method public void setOverlayViewEnabled(boolean);
+  }
+
+  public class TvRecordingClient {
+    ctor public TvRecordingClient(android.content.Context, String, @NonNull android.media.tv.TvRecordingClient.RecordingCallback, android.os.Handler);
+    method public void pauseRecording();
+    method public void pauseRecording(@NonNull android.os.Bundle);
+    method public void release();
+    method public void resumeRecording();
+    method public void resumeRecording(@NonNull android.os.Bundle);
+    method public void sendAppPrivateCommand(@NonNull String, android.os.Bundle);
+    method public void startRecording(@Nullable android.net.Uri);
+    method public void startRecording(@Nullable android.net.Uri, @NonNull android.os.Bundle);
+    method public void stopRecording();
+    method public void tune(String, android.net.Uri);
+    method public void tune(String, android.net.Uri, android.os.Bundle);
+  }
+
+  public abstract static class TvRecordingClient.RecordingCallback {
+    ctor public TvRecordingClient.RecordingCallback();
+    method public void onConnectionFailed(String);
+    method public void onDisconnected(String);
+    method public void onError(int);
+    method public void onRecordingStopped(android.net.Uri);
+    method public void onTuned(android.net.Uri);
+  }
+
+  public final class TvTrackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAudioChannelCount();
+    method public int getAudioSampleRate();
+    method public CharSequence getDescription();
+    method @Nullable public String getEncoding();
+    method public android.os.Bundle getExtra();
+    method public String getId();
+    method public String getLanguage();
+    method public int getType();
+    method public byte getVideoActiveFormatDescription();
+    method public float getVideoFrameRate();
+    method public int getVideoHeight();
+    method public float getVideoPixelAspectRatio();
+    method public int getVideoWidth();
+    method public boolean isAudioDescription();
+    method public boolean isEncrypted();
+    method public boolean isHardOfHearing();
+    method public boolean isSpokenSubtitle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvTrackInfo> CREATOR;
+    field public static final int TYPE_AUDIO = 0; // 0x0
+    field public static final int TYPE_SUBTITLE = 2; // 0x2
+    field public static final int TYPE_VIDEO = 1; // 0x1
+  }
+
+  public static final class TvTrackInfo.Builder {
+    ctor public TvTrackInfo.Builder(int, @NonNull String);
+    method @NonNull public android.media.tv.TvTrackInfo build();
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setAudioChannelCount(int);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setAudioDescription(boolean);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setAudioSampleRate(int);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setDescription(@NonNull CharSequence);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setEncoding(@Nullable String);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setEncrypted(boolean);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setExtra(@NonNull android.os.Bundle);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setHardOfHearing(boolean);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setLanguage(@NonNull String);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setSpokenSubtitle(boolean);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoActiveFormatDescription(byte);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoFrameRate(float);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoHeight(int);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoPixelAspectRatio(float);
+    method @NonNull public android.media.tv.TvTrackInfo.Builder setVideoWidth(int);
+  }
+
+  public class TvView extends android.view.ViewGroup {
+    ctor public TvView(android.content.Context);
+    ctor public TvView(android.content.Context, android.util.AttributeSet);
+    ctor public TvView(android.content.Context, android.util.AttributeSet, int);
+    method public boolean dispatchUnhandledInputEvent(android.view.InputEvent);
+    method public String getSelectedTrack(int);
+    method public java.util.List<android.media.tv.TvTrackInfo> getTracks(int);
+    method public boolean onUnhandledInputEvent(android.view.InputEvent);
+    method public void reset();
+    method public void selectTrack(int, String);
+    method public void sendAppPrivateCommand(@NonNull String, android.os.Bundle);
+    method public void setCallback(@Nullable android.media.tv.TvView.TvInputCallback);
+    method public void setCaptionEnabled(boolean);
+    method public void setOnUnhandledInputEventListener(android.media.tv.TvView.OnUnhandledInputEventListener);
+    method public void setStreamVolume(@FloatRange(from=0.0, to=1.0) float);
+    method public void setTimeShiftPositionCallback(@Nullable android.media.tv.TvView.TimeShiftPositionCallback);
+    method public void setZOrderMediaOverlay(boolean);
+    method public void setZOrderOnTop(boolean);
+    method public void timeShiftPause();
+    method public void timeShiftPlay(String, android.net.Uri);
+    method public void timeShiftResume();
+    method public void timeShiftSeekTo(long);
+    method public void timeShiftSetPlaybackParams(@NonNull android.media.PlaybackParams);
+    method public void tune(@NonNull String, android.net.Uri);
+    method public void tune(String, android.net.Uri, android.os.Bundle);
+  }
+
+  public static interface TvView.OnUnhandledInputEventListener {
+    method public boolean onUnhandledInputEvent(android.view.InputEvent);
+  }
+
+  public abstract static class TvView.TimeShiftPositionCallback {
+    ctor public TvView.TimeShiftPositionCallback();
+    method public void onTimeShiftCurrentPositionChanged(String, long);
+    method public void onTimeShiftStartPositionChanged(String, long);
+  }
+
+  public abstract static class TvView.TvInputCallback {
+    ctor public TvView.TvInputCallback();
+    method public void onChannelRetuned(String, android.net.Uri);
+    method public void onConnectionFailed(String);
+    method public void onContentAllowed(String);
+    method public void onContentBlocked(String, android.media.tv.TvContentRating);
+    method public void onDisconnected(String);
+    method public void onTimeShiftStatusChanged(String, int);
+    method public void onTrackSelected(String, int, String);
+    method public void onTracksChanged(String, java.util.List<android.media.tv.TvTrackInfo>);
+    method public void onVideoAvailable(String);
+    method public void onVideoSizeChanged(String, int, int);
+    method public void onVideoUnavailable(String, int);
+  }
+
+}
+
+package android.mtp {
+
+  public final class MtpConstants {
+    ctor public MtpConstants();
+    method public static boolean isAbstractObject(int);
+    field public static final int ASSOCIATION_TYPE_GENERIC_FOLDER = 1; // 0x1
+    field public static final int FORMAT_3GP_CONTAINER = 47492; // 0xb984
+    field public static final int FORMAT_AAC = 47363; // 0xb903
+    field public static final int FORMAT_ABSTRACT_AUDIO_ALBUM = 47619; // 0xba03
+    field public static final int FORMAT_ABSTRACT_AUDIO_PLAYLIST = 47625; // 0xba09
+    field public static final int FORMAT_ABSTRACT_AV_PLAYLIST = 47621; // 0xba05
+    field public static final int FORMAT_ABSTRACT_DOCUMENT = 47745; // 0xba81
+    field public static final int FORMAT_ABSTRACT_IMAGE_ALBUM = 47618; // 0xba02
+    field public static final int FORMAT_ABSTRACT_MEDIACAST = 47627; // 0xba0b
+    field public static final int FORMAT_ABSTRACT_MULTIMEDIA_ALBUM = 47617; // 0xba01
+    field public static final int FORMAT_ABSTRACT_VIDEO_ALBUM = 47620; // 0xba04
+    field public static final int FORMAT_ABSTRACT_VIDEO_PLAYLIST = 47626; // 0xba0a
+    field public static final int FORMAT_AIFF = 12295; // 0x3007
+    field public static final int FORMAT_ASF = 12300; // 0x300c
+    field public static final int FORMAT_ASSOCIATION = 12289; // 0x3001
+    field public static final int FORMAT_ASX_PLAYLIST = 47635; // 0xba13
+    field public static final int FORMAT_AUDIBLE = 47364; // 0xb904
+    field public static final int FORMAT_AVI = 12298; // 0x300a
+    field public static final int FORMAT_BMP = 14340; // 0x3804
+    field public static final int FORMAT_DEFINED = 14336; // 0x3800
+    field public static final int FORMAT_DNG = 14353; // 0x3811
+    field public static final int FORMAT_DPOF = 12294; // 0x3006
+    field public static final int FORMAT_EXECUTABLE = 12291; // 0x3003
+    field public static final int FORMAT_EXIF_JPEG = 14337; // 0x3801
+    field public static final int FORMAT_FLAC = 47366; // 0xb906
+    field public static final int FORMAT_GIF = 14343; // 0x3807
+    field public static final int FORMAT_HTML = 12293; // 0x3005
+    field public static final int FORMAT_JFIF = 14344; // 0x3808
+    field public static final int FORMAT_JP2 = 14351; // 0x380f
+    field public static final int FORMAT_JPX = 14352; // 0x3810
+    field public static final int FORMAT_M3U_PLAYLIST = 47633; // 0xba11
+    field public static final int FORMAT_MP2 = 47491; // 0xb983
+    field public static final int FORMAT_MP3 = 12297; // 0x3009
+    field public static final int FORMAT_MP4_CONTAINER = 47490; // 0xb982
+    field public static final int FORMAT_MPEG = 12299; // 0x300b
+    field public static final int FORMAT_MPL_PLAYLIST = 47634; // 0xba12
+    field public static final int FORMAT_MS_EXCEL_SPREADSHEET = 47749; // 0xba85
+    field public static final int FORMAT_MS_POWERPOINT_PRESENTATION = 47750; // 0xba86
+    field public static final int FORMAT_MS_WORD_DOCUMENT = 47747; // 0xba83
+    field public static final int FORMAT_OGG = 47362; // 0xb902
+    field public static final int FORMAT_PICT = 14346; // 0x380a
+    field public static final int FORMAT_PLS_PLAYLIST = 47636; // 0xba14
+    field public static final int FORMAT_PNG = 14347; // 0x380b
+    field public static final int FORMAT_SCRIPT = 12290; // 0x3002
+    field public static final int FORMAT_TEXT = 12292; // 0x3004
+    field public static final int FORMAT_TIFF = 14349; // 0x380d
+    field public static final int FORMAT_TIFF_EP = 14338; // 0x3802
+    field public static final int FORMAT_UNDEFINED = 12288; // 0x3000
+    field public static final int FORMAT_UNDEFINED_AUDIO = 47360; // 0xb900
+    field public static final int FORMAT_UNDEFINED_COLLECTION = 47616; // 0xba00
+    field public static final int FORMAT_UNDEFINED_DOCUMENT = 47744; // 0xba80
+    field public static final int FORMAT_UNDEFINED_FIRMWARE = 47106; // 0xb802
+    field public static final int FORMAT_UNDEFINED_VIDEO = 47488; // 0xb980
+    field public static final int FORMAT_WAV = 12296; // 0x3008
+    field public static final int FORMAT_WINDOWS_IMAGE_FORMAT = 47233; // 0xb881
+    field public static final int FORMAT_WMA = 47361; // 0xb901
+    field public static final int FORMAT_WMV = 47489; // 0xb981
+    field public static final int FORMAT_WPL_PLAYLIST = 47632; // 0xba10
+    field public static final int FORMAT_XML_DOCUMENT = 47746; // 0xba82
+    field public static final int OPERATION_CLOSE_SESSION = 4099; // 0x1003
+    field public static final int OPERATION_COPY_OBJECT = 4122; // 0x101a
+    field public static final int OPERATION_DELETE_OBJECT = 4107; // 0x100b
+    field public static final int OPERATION_FORMAT_STORE = 4111; // 0x100f
+    field public static final int OPERATION_GET_DEVICE_INFO = 4097; // 0x1001
+    field public static final int OPERATION_GET_DEVICE_PROP_DESC = 4116; // 0x1014
+    field public static final int OPERATION_GET_DEVICE_PROP_VALUE = 4117; // 0x1015
+    field public static final int OPERATION_GET_NUM_OBJECTS = 4102; // 0x1006
+    field public static final int OPERATION_GET_OBJECT = 4105; // 0x1009
+    field public static final int OPERATION_GET_OBJECT_HANDLES = 4103; // 0x1007
+    field public static final int OPERATION_GET_OBJECT_INFO = 4104; // 0x1008
+    field public static final int OPERATION_GET_OBJECT_PROPS_SUPPORTED = 38913; // 0x9801
+    field public static final int OPERATION_GET_OBJECT_PROP_DESC = 38914; // 0x9802
+    field public static final int OPERATION_GET_OBJECT_PROP_VALUE = 38915; // 0x9803
+    field public static final int OPERATION_GET_OBJECT_REFERENCES = 38928; // 0x9810
+    field public static final int OPERATION_GET_PARTIAL_OBJECT = 4123; // 0x101b
+    field public static final int OPERATION_GET_PARTIAL_OBJECT_64 = 38337; // 0x95c1
+    field public static final int OPERATION_GET_STORAGE_INFO = 4101; // 0x1005
+    field public static final int OPERATION_GET_STORAGE_I_DS = 4100; // 0x1004
+    field public static final int OPERATION_GET_THUMB = 4106; // 0x100a
+    field public static final int OPERATION_INITIATE_CAPTURE = 4110; // 0x100e
+    field public static final int OPERATION_INITIATE_OPEN_CAPTURE = 4124; // 0x101c
+    field public static final int OPERATION_MOVE_OBJECT = 4121; // 0x1019
+    field public static final int OPERATION_OPEN_SESSION = 4098; // 0x1002
+    field public static final int OPERATION_POWER_DOWN = 4115; // 0x1013
+    field public static final int OPERATION_RESET_DEVICE = 4112; // 0x1010
+    field public static final int OPERATION_RESET_DEVICE_PROP_VALUE = 4119; // 0x1017
+    field public static final int OPERATION_SELF_TEST = 4113; // 0x1011
+    field public static final int OPERATION_SEND_OBJECT = 4109; // 0x100d
+    field public static final int OPERATION_SEND_OBJECT_INFO = 4108; // 0x100c
+    field public static final int OPERATION_SET_DEVICE_PROP_VALUE = 4118; // 0x1016
+    field public static final int OPERATION_SET_OBJECT_PROP_VALUE = 38916; // 0x9804
+    field public static final int OPERATION_SET_OBJECT_PROTECTION = 4114; // 0x1012
+    field public static final int OPERATION_SET_OBJECT_REFERENCES = 38929; // 0x9811
+    field public static final int OPERATION_SKIP = 38944; // 0x9820
+    field public static final int OPERATION_TERMINATE_OPEN_CAPTURE = 4120; // 0x1018
+    field public static final int PROTECTION_STATUS_NONE = 0; // 0x0
+    field public static final int PROTECTION_STATUS_NON_TRANSFERABLE_DATA = 32771; // 0x8003
+    field public static final int PROTECTION_STATUS_READ_ONLY = 32769; // 0x8001
+    field public static final int PROTECTION_STATUS_READ_ONLY_DATA = 32770; // 0x8002
+  }
+
+  public final class MtpDevice {
+    ctor public MtpDevice(@NonNull android.hardware.usb.UsbDevice);
+    method public void close();
+    method public boolean deleteObject(int);
+    method public int getDeviceId();
+    method @Nullable public android.mtp.MtpDeviceInfo getDeviceInfo();
+    method @NonNull public String getDeviceName();
+    method @Nullable public byte[] getObject(int, int);
+    method @Nullable public int[] getObjectHandles(int, int, int);
+    method @Nullable public android.mtp.MtpObjectInfo getObjectInfo(int);
+    method public long getParent(int);
+    method public long getPartialObject(int, long, long, @NonNull byte[]) throws java.io.IOException;
+    method public long getPartialObject64(int, long, long, @NonNull byte[]) throws java.io.IOException;
+    method public long getStorageId(int);
+    method @Nullable public int[] getStorageIds();
+    method @Nullable public android.mtp.MtpStorageInfo getStorageInfo(int);
+    method @Nullable public byte[] getThumbnail(int);
+    method public boolean importFile(int, @NonNull String);
+    method public boolean importFile(int, @NonNull android.os.ParcelFileDescriptor);
+    method public boolean open(@NonNull android.hardware.usb.UsbDeviceConnection);
+    method @NonNull public android.mtp.MtpEvent readEvent(@Nullable android.os.CancellationSignal) throws java.io.IOException;
+    method public boolean sendObject(int, long, @NonNull android.os.ParcelFileDescriptor);
+    method @Nullable public android.mtp.MtpObjectInfo sendObjectInfo(@NonNull android.mtp.MtpObjectInfo);
+  }
+
+  public class MtpDeviceInfo {
+    method @NonNull public final int[] getEventsSupported();
+    method @NonNull public final String getManufacturer();
+    method @NonNull public final String getModel();
+    method @NonNull public final int[] getOperationsSupported();
+    method @NonNull public final String getSerialNumber();
+    method @NonNull public final String getVersion();
+    method public boolean isEventSupported(int);
+    method public boolean isOperationSupported(int);
+  }
+
+  public class MtpEvent {
+    method public int getDevicePropCode();
+    method public int getEventCode();
+    method public int getObjectFormatCode();
+    method public int getObjectHandle();
+    method public int getObjectPropCode();
+    method public int getParameter1();
+    method public int getParameter2();
+    method public int getParameter3();
+    method public int getStorageId();
+    method public int getTransactionId();
+    field public static final int EVENT_CANCEL_TRANSACTION = 16385; // 0x4001
+    field public static final int EVENT_CAPTURE_COMPLETE = 16397; // 0x400d
+    field public static final int EVENT_DEVICE_INFO_CHANGED = 16392; // 0x4008
+    field public static final int EVENT_DEVICE_PROP_CHANGED = 16390; // 0x4006
+    field public static final int EVENT_DEVICE_RESET = 16395; // 0x400b
+    field public static final int EVENT_OBJECT_ADDED = 16386; // 0x4002
+    field public static final int EVENT_OBJECT_INFO_CHANGED = 16391; // 0x4007
+    field public static final int EVENT_OBJECT_PROP_CHANGED = 51201; // 0xc801
+    field public static final int EVENT_OBJECT_PROP_DESC_CHANGED = 51202; // 0xc802
+    field public static final int EVENT_OBJECT_REFERENCES_CHANGED = 51203; // 0xc803
+    field public static final int EVENT_OBJECT_REMOVED = 16387; // 0x4003
+    field public static final int EVENT_REQUEST_OBJECT_TRANSFER = 16393; // 0x4009
+    field public static final int EVENT_STORAGE_INFO_CHANGED = 16396; // 0x400c
+    field public static final int EVENT_STORE_ADDED = 16388; // 0x4004
+    field public static final int EVENT_STORE_FULL = 16394; // 0x400a
+    field public static final int EVENT_STORE_REMOVED = 16389; // 0x4005
+    field public static final int EVENT_UNDEFINED = 16384; // 0x4000
+    field public static final int EVENT_UNREPORTED_STATUS = 16398; // 0x400e
+  }
+
+  public final class MtpObjectInfo {
+    method public int getAssociationDesc();
+    method public int getAssociationType();
+    method public int getCompressedSize();
+    method public long getCompressedSizeLong();
+    method public long getDateCreated();
+    method public long getDateModified();
+    method public int getFormat();
+    method public int getImagePixDepth();
+    method public long getImagePixDepthLong();
+    method public int getImagePixHeight();
+    method public long getImagePixHeightLong();
+    method public int getImagePixWidth();
+    method public long getImagePixWidthLong();
+    method @NonNull public String getKeywords();
+    method @NonNull public String getName();
+    method public int getObjectHandle();
+    method public int getParent();
+    method public int getProtectionStatus();
+    method public int getSequenceNumber();
+    method public long getSequenceNumberLong();
+    method public int getStorageId();
+    method public int getThumbCompressedSize();
+    method public long getThumbCompressedSizeLong();
+    method public int getThumbFormat();
+    method public int getThumbPixHeight();
+    method public long getThumbPixHeightLong();
+    method public int getThumbPixWidth();
+    method public long getThumbPixWidthLong();
+  }
+
+  public static class MtpObjectInfo.Builder {
+    ctor public MtpObjectInfo.Builder();
+    ctor public MtpObjectInfo.Builder(android.mtp.MtpObjectInfo);
+    method public android.mtp.MtpObjectInfo build();
+    method public android.mtp.MtpObjectInfo.Builder setAssociationDesc(int);
+    method public android.mtp.MtpObjectInfo.Builder setAssociationType(int);
+    method public android.mtp.MtpObjectInfo.Builder setCompressedSize(long);
+    method public android.mtp.MtpObjectInfo.Builder setDateCreated(long);
+    method public android.mtp.MtpObjectInfo.Builder setDateModified(long);
+    method public android.mtp.MtpObjectInfo.Builder setFormat(int);
+    method public android.mtp.MtpObjectInfo.Builder setImagePixDepth(long);
+    method public android.mtp.MtpObjectInfo.Builder setImagePixHeight(long);
+    method public android.mtp.MtpObjectInfo.Builder setImagePixWidth(long);
+    method public android.mtp.MtpObjectInfo.Builder setKeywords(@NonNull String);
+    method public android.mtp.MtpObjectInfo.Builder setName(@NonNull String);
+    method public android.mtp.MtpObjectInfo.Builder setObjectHandle(int);
+    method public android.mtp.MtpObjectInfo.Builder setParent(int);
+    method public android.mtp.MtpObjectInfo.Builder setProtectionStatus(int);
+    method public android.mtp.MtpObjectInfo.Builder setSequenceNumber(long);
+    method public android.mtp.MtpObjectInfo.Builder setStorageId(int);
+    method public android.mtp.MtpObjectInfo.Builder setThumbCompressedSize(long);
+    method public android.mtp.MtpObjectInfo.Builder setThumbFormat(int);
+    method public android.mtp.MtpObjectInfo.Builder setThumbPixHeight(long);
+    method public android.mtp.MtpObjectInfo.Builder setThumbPixWidth(long);
+  }
+
+  public final class MtpStorageInfo {
+    method @NonNull public String getDescription();
+    method public long getFreeSpace();
+    method public long getMaxCapacity();
+    method public int getStorageId();
+    method @NonNull public String getVolumeIdentifier();
+  }
+
+}
+
+package android.net {
+
+  public class CaptivePortal implements android.os.Parcelable {
+    method public int describeContents();
+    method public void ignoreNetwork();
+    method public void reportCaptivePortalDismissed();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortal> CREATOR;
+  }
+
+  public class ConnectivityDiagnosticsManager {
+    method public void registerConnectivityDiagnosticsCallback(@NonNull android.net.NetworkRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback);
+    method public void unregisterConnectivityDiagnosticsCallback(@NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback);
+  }
+
+  public abstract static class ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback {
+    ctor public ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback();
+    method public void onConnectivityReportAvailable(@NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityReport);
+    method public void onDataStallSuspected(@NonNull android.net.ConnectivityDiagnosticsManager.DataStallReport);
+    method public void onNetworkConnectivityReported(@NonNull android.net.Network, boolean);
+  }
+
+  public static final class ConnectivityDiagnosticsManager.ConnectivityReport implements android.os.Parcelable {
+    ctor public ConnectivityDiagnosticsManager.ConnectivityReport(@NonNull android.net.Network, long, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkCapabilities, @NonNull android.os.PersistableBundle);
+    method public int describeContents();
+    method @NonNull public android.os.PersistableBundle getAdditionalInfo();
+    method @NonNull public android.net.LinkProperties getLinkProperties();
+    method @NonNull public android.net.Network getNetwork();
+    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
+    method public long getReportTimestamp();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.ConnectivityReport> CREATOR;
+    field public static final String KEY_NETWORK_PROBES_ATTEMPTED_BITMASK = "networkProbesAttempted";
+    field public static final String KEY_NETWORK_PROBES_SUCCEEDED_BITMASK = "networkProbesSucceeded";
+    field public static final String KEY_NETWORK_VALIDATION_RESULT = "networkValidationResult";
+    field public static final int NETWORK_PROBE_DNS = 4; // 0x4
+    field public static final int NETWORK_PROBE_FALLBACK = 32; // 0x20
+    field public static final int NETWORK_PROBE_HTTP = 8; // 0x8
+    field public static final int NETWORK_PROBE_HTTPS = 16; // 0x10
+    field public static final int NETWORK_PROBE_PRIVATE_DNS = 64; // 0x40
+    field public static final int NETWORK_VALIDATION_RESULT_INVALID = 0; // 0x0
+    field public static final int NETWORK_VALIDATION_RESULT_PARTIALLY_VALID = 2; // 0x2
+    field public static final int NETWORK_VALIDATION_RESULT_SKIPPED = 3; // 0x3
+    field public static final int NETWORK_VALIDATION_RESULT_VALID = 1; // 0x1
+  }
+
+  public static final class ConnectivityDiagnosticsManager.DataStallReport implements android.os.Parcelable {
+    ctor public ConnectivityDiagnosticsManager.DataStallReport(@NonNull android.net.Network, long, int, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkCapabilities, @NonNull android.os.PersistableBundle);
+    method public int describeContents();
+    method public int getDetectionMethod();
+    method @NonNull public android.net.LinkProperties getLinkProperties();
+    method @NonNull public android.net.Network getNetwork();
+    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
+    method public long getReportTimestamp();
+    method @NonNull public android.os.PersistableBundle getStallDetails();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.DataStallReport> CREATOR;
+    field public static final int DETECTION_METHOD_DNS_EVENTS = 1; // 0x1
+    field public static final int DETECTION_METHOD_TCP_METRICS = 2; // 0x2
+    field public static final String KEY_DNS_CONSECUTIVE_TIMEOUTS = "dnsConsecutiveTimeouts";
+    field public static final String KEY_TCP_METRICS_COLLECTION_PERIOD_MILLIS = "tcpMetricsCollectionPeriodMillis";
+    field public static final String KEY_TCP_PACKET_FAIL_RATE = "tcpPacketFailRate";
+  }
+
+  public class ConnectivityManager {
+    method public void addDefaultNetworkActiveListener(android.net.ConnectivityManager.OnNetworkActiveListener);
+    method public boolean bindProcessToNetwork(@Nullable android.net.Network);
+    method @NonNull public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull android.net.IpSecManager.UdpEncapsulationSocket, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
+    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network getActiveNetwork();
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getActiveNetworkInfo();
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo[] getAllNetworkInfo();
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network[] getAllNetworks();
+    method @Deprecated public boolean getBackgroundDataSetting();
+    method @Nullable public android.net.Network getBoundNetworkForProcess();
+    method public int getConnectionOwnerUid(int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
+    method @Nullable public android.net.ProxyInfo getDefaultProxy();
+    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.LinkProperties getLinkProperties(@Nullable android.net.Network);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public int getMultipathPreference(@Nullable android.net.Network);
+    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkCapabilities getNetworkCapabilities(@Nullable android.net.Network);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getNetworkInfo(int);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getNetworkInfo(@Nullable android.net.Network);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public int getNetworkPreference();
+    method @Nullable public byte[] getNetworkWatchlistConfigHash();
+    method @Deprecated @Nullable public static android.net.Network getProcessDefaultNetwork();
+    method public int getRestrictBackgroundStatus();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public boolean isActiveNetworkMetered();
+    method public boolean isDefaultNetworkActive();
+    method @Deprecated public static boolean isNetworkTypeValid(int);
+    method public void registerBestMatchingNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.app.PendingIntent);
+    method public void releaseNetworkRequest(@NonNull android.app.PendingIntent);
+    method public void removeDefaultNetworkActiveListener(@NonNull android.net.ConnectivityManager.OnNetworkActiveListener);
+    method @Deprecated public void reportBadNetwork(@Nullable android.net.Network);
+    method public void reportNetworkConnectivity(@Nullable android.net.Network, boolean);
+    method public boolean requestBandwidthUpdate(@NonNull android.net.Network);
+    method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback);
+    method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, int);
+    method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler, int);
+    method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.app.PendingIntent);
+    method @Deprecated public void setNetworkPreference(int);
+    method @Deprecated public static boolean setProcessDefaultNetwork(@Nullable android.net.Network);
+    method public void unregisterNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback);
+    method public void unregisterNetworkCallback(@NonNull android.app.PendingIntent);
+    field @Deprecated public static final String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED";
+    field public static final String ACTION_CAPTIVE_PORTAL_SIGN_IN = "android.net.conn.CAPTIVE_PORTAL";
+    field public static final String ACTION_RESTRICT_BACKGROUND_CHANGED = "android.net.conn.RESTRICT_BACKGROUND_CHANGED";
+    field @Deprecated public static final String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE";
+    field @Deprecated public static final int DEFAULT_NETWORK_PREFERENCE = 1; // 0x1
+    field public static final String EXTRA_CAPTIVE_PORTAL = "android.net.extra.CAPTIVE_PORTAL";
+    field public static final String EXTRA_CAPTIVE_PORTAL_URL = "android.net.extra.CAPTIVE_PORTAL_URL";
+    field @Deprecated public static final String EXTRA_EXTRA_INFO = "extraInfo";
+    field @Deprecated public static final String EXTRA_IS_FAILOVER = "isFailover";
+    field public static final String EXTRA_NETWORK = "android.net.extra.NETWORK";
+    field @Deprecated public static final String EXTRA_NETWORK_INFO = "networkInfo";
+    field public static final String EXTRA_NETWORK_REQUEST = "android.net.extra.NETWORK_REQUEST";
+    field @Deprecated public static final String EXTRA_NETWORK_TYPE = "networkType";
+    field public static final String EXTRA_NO_CONNECTIVITY = "noConnectivity";
+    field @Deprecated public static final String EXTRA_OTHER_NETWORK_INFO = "otherNetwork";
+    field public static final String EXTRA_REASON = "reason";
+    field public static final int MULTIPATH_PREFERENCE_HANDOVER = 1; // 0x1
+    field public static final int MULTIPATH_PREFERENCE_PERFORMANCE = 4; // 0x4
+    field public static final int MULTIPATH_PREFERENCE_RELIABILITY = 2; // 0x2
+    field public static final int RESTRICT_BACKGROUND_STATUS_DISABLED = 1; // 0x1
+    field public static final int RESTRICT_BACKGROUND_STATUS_ENABLED = 3; // 0x3
+    field public static final int RESTRICT_BACKGROUND_STATUS_WHITELISTED = 2; // 0x2
+    field @Deprecated public static final int TYPE_BLUETOOTH = 7; // 0x7
+    field @Deprecated public static final int TYPE_DUMMY = 8; // 0x8
+    field @Deprecated public static final int TYPE_ETHERNET = 9; // 0x9
+    field @Deprecated public static final int TYPE_MOBILE = 0; // 0x0
+    field @Deprecated public static final int TYPE_MOBILE_DUN = 4; // 0x4
+    field @Deprecated public static final int TYPE_MOBILE_HIPRI = 5; // 0x5
+    field @Deprecated public static final int TYPE_MOBILE_MMS = 2; // 0x2
+    field @Deprecated public static final int TYPE_MOBILE_SUPL = 3; // 0x3
+    field @Deprecated public static final int TYPE_VPN = 17; // 0x11
+    field @Deprecated public static final int TYPE_WIFI = 1; // 0x1
+    field @Deprecated public static final int TYPE_WIMAX = 6; // 0x6
+  }
+
+  public static class ConnectivityManager.NetworkCallback {
+    ctor public ConnectivityManager.NetworkCallback();
+    ctor public ConnectivityManager.NetworkCallback(int);
+    method public void onAvailable(@NonNull android.net.Network);
+    method public void onBlockedStatusChanged(@NonNull android.net.Network, boolean);
+    method public void onCapabilitiesChanged(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities);
+    method public void onLinkPropertiesChanged(@NonNull android.net.Network, @NonNull android.net.LinkProperties);
+    method public void onLosing(@NonNull android.net.Network, int);
+    method public void onLost(@NonNull android.net.Network);
+    method public void onUnavailable();
+    field public static final int FLAG_INCLUDE_LOCATION_INFO = 1; // 0x1
+  }
+
+  public static interface ConnectivityManager.OnNetworkActiveListener {
+    method public void onNetworkActive();
+  }
+
+  public class Credentials {
+    ctor public Credentials(int, int, int);
+    method public int getGid();
+    method public int getPid();
+    method public int getUid();
+  }
+
+  public class DhcpInfo implements android.os.Parcelable {
+    ctor public DhcpInfo();
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpInfo> CREATOR;
+    field public int dns1;
+    field public int dns2;
+    field public int gateway;
+    field public int ipAddress;
+    field public int leaseDuration;
+    field public int netmask;
+    field public int serverAddress;
+  }
+
+  public final class DnsResolver {
+    method @NonNull public static android.net.DnsResolver getInstance();
+    method public void query(@Nullable android.net.Network, @NonNull String, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super java.util.List<java.net.InetAddress>>);
+    method public void query(@Nullable android.net.Network, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super java.util.List<java.net.InetAddress>>);
+    method public void rawQuery(@Nullable android.net.Network, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super byte[]>);
+    method public void rawQuery(@Nullable android.net.Network, @NonNull String, int, int, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super byte[]>);
+    field public static final int CLASS_IN = 1; // 0x1
+    field public static final int ERROR_PARSE = 0; // 0x0
+    field public static final int ERROR_SYSTEM = 1; // 0x1
+    field public static final int FLAG_EMPTY = 0; // 0x0
+    field public static final int FLAG_NO_CACHE_LOOKUP = 4; // 0x4
+    field public static final int FLAG_NO_CACHE_STORE = 2; // 0x2
+    field public static final int FLAG_NO_RETRY = 1; // 0x1
+    field public static final int TYPE_A = 1; // 0x1
+    field public static final int TYPE_AAAA = 28; // 0x1c
+  }
+
+  public static interface DnsResolver.Callback<T> {
+    method public void onAnswer(@NonNull T, int);
+    method public void onError(@NonNull android.net.DnsResolver.DnsException);
+  }
+
+  public static class DnsResolver.DnsException extends java.lang.Exception {
+    field public final int code;
+  }
+
+  public final class Ikev2VpnProfile extends android.net.PlatformVpnProfile {
+    method @NonNull public java.util.List<java.lang.String> getAllowedAlgorithms();
+    method public int getMaxMtu();
+    method @Nullable public String getPassword();
+    method @Nullable public byte[] getPresharedKey();
+    method @Nullable public android.net.ProxyInfo getProxyInfo();
+    method @Nullable public java.security.PrivateKey getRsaPrivateKey();
+    method @NonNull public String getServerAddr();
+    method @Nullable public java.security.cert.X509Certificate getServerRootCaCert();
+    method @Nullable public java.security.cert.X509Certificate getUserCert();
+    method @NonNull public String getUserIdentity();
+    method @Nullable public String getUsername();
+    method public boolean isBypassable();
+    method public boolean isMetered();
+  }
+
+  public static final class Ikev2VpnProfile.Builder {
+    ctor public Ikev2VpnProfile.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.net.Ikev2VpnProfile build();
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setAllowedAlgorithms(@NonNull java.util.List<java.lang.String>);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setAuthDigitalSignature(@NonNull java.security.cert.X509Certificate, @NonNull java.security.PrivateKey, @Nullable java.security.cert.X509Certificate);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setAuthPsk(@NonNull byte[]);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setAuthUsernamePassword(@NonNull String, @NonNull String, @Nullable java.security.cert.X509Certificate);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setBypassable(boolean);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setMaxMtu(int);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setMetered(boolean);
+    method @NonNull public android.net.Ikev2VpnProfile.Builder setProxy(@Nullable android.net.ProxyInfo);
+  }
+
+  public class InetAddresses {
+    method public static boolean isNumericAddress(@NonNull String);
+    method @NonNull public static java.net.InetAddress parseNumericAddress(@NonNull String);
+  }
+
+  public final class IpPrefix implements android.os.Parcelable {
+    method public boolean contains(@NonNull java.net.InetAddress);
+    method public int describeContents();
+    method @NonNull public java.net.InetAddress getAddress();
+    method @IntRange(from=0, to=128) public int getPrefixLength();
+    method @NonNull public byte[] getRawAddress();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.IpPrefix> CREATOR;
+  }
+
+  public final class IpSecAlgorithm implements android.os.Parcelable {
+    ctor public IpSecAlgorithm(@NonNull String, @NonNull byte[]);
+    ctor public IpSecAlgorithm(@NonNull String, @NonNull byte[], int);
+    method public int describeContents();
+    method @NonNull public byte[] getKey();
+    method @NonNull public String getName();
+    method @NonNull public static java.util.Set<java.lang.String> getSupportedAlgorithms();
+    method public int getTruncationLengthBits();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final String AUTH_AES_CMAC = "cmac(aes)";
+    field public static final String AUTH_AES_XCBC = "xcbc(aes)";
+    field public static final String AUTH_CRYPT_AES_GCM = "rfc4106(gcm(aes))";
+    field public static final String AUTH_CRYPT_CHACHA20_POLY1305 = "rfc7539esp(chacha20,poly1305)";
+    field public static final String AUTH_HMAC_MD5 = "hmac(md5)";
+    field public static final String AUTH_HMAC_SHA1 = "hmac(sha1)";
+    field public static final String AUTH_HMAC_SHA256 = "hmac(sha256)";
+    field public static final String AUTH_HMAC_SHA384 = "hmac(sha384)";
+    field public static final String AUTH_HMAC_SHA512 = "hmac(sha512)";
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.IpSecAlgorithm> CREATOR;
+    field public static final String CRYPT_AES_CBC = "cbc(aes)";
+    field public static final String CRYPT_AES_CTR = "rfc3686(ctr(aes))";
+  }
+
+  public final class IpSecManager {
+    method @NonNull public android.net.IpSecManager.SecurityParameterIndex allocateSecurityParameterIndex(@NonNull java.net.InetAddress) throws android.net.IpSecManager.ResourceUnavailableException;
+    method @NonNull public android.net.IpSecManager.SecurityParameterIndex allocateSecurityParameterIndex(@NonNull java.net.InetAddress, int) throws android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException;
+    method public void applyTransportModeTransform(@NonNull java.net.Socket, int, @NonNull android.net.IpSecTransform) throws java.io.IOException;
+    method public void applyTransportModeTransform(@NonNull java.net.DatagramSocket, int, @NonNull android.net.IpSecTransform) throws java.io.IOException;
+    method public void applyTransportModeTransform(@NonNull java.io.FileDescriptor, int, @NonNull android.net.IpSecTransform) throws java.io.IOException;
+    method @NonNull public android.net.IpSecManager.UdpEncapsulationSocket openUdpEncapsulationSocket(int) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException;
+    method @NonNull public android.net.IpSecManager.UdpEncapsulationSocket openUdpEncapsulationSocket() throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException;
+    method public void removeTransportModeTransforms(@NonNull java.net.Socket) throws java.io.IOException;
+    method public void removeTransportModeTransforms(@NonNull java.net.DatagramSocket) throws java.io.IOException;
+    method public void removeTransportModeTransforms(@NonNull java.io.FileDescriptor) throws java.io.IOException;
+    field public static final int DIRECTION_IN = 0; // 0x0
+    field public static final int DIRECTION_OUT = 1; // 0x1
+  }
+
+  public static final class IpSecManager.ResourceUnavailableException extends android.util.AndroidException {
+  }
+
+  public static final class IpSecManager.SecurityParameterIndex implements java.lang.AutoCloseable {
+    method public void close();
+    method public int getSpi();
+  }
+
+  public static final class IpSecManager.SpiUnavailableException extends android.util.AndroidException {
+    method public int getSpi();
+  }
+
+  public static final class IpSecManager.UdpEncapsulationSocket implements java.lang.AutoCloseable {
+    method public void close() throws java.io.IOException;
+    method public java.io.FileDescriptor getFileDescriptor();
+    method public int getPort();
+  }
+
+  public final class IpSecTransform implements java.lang.AutoCloseable {
+    method public void close();
+  }
+
+  public static class IpSecTransform.Builder {
+    ctor public IpSecTransform.Builder(@NonNull android.content.Context);
+    method @NonNull public android.net.IpSecTransform buildTransportModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException;
+    method @NonNull public android.net.IpSecTransform.Builder setAuthenticatedEncryption(@NonNull android.net.IpSecAlgorithm);
+    method @NonNull public android.net.IpSecTransform.Builder setAuthentication(@NonNull android.net.IpSecAlgorithm);
+    method @NonNull public android.net.IpSecTransform.Builder setEncryption(@NonNull android.net.IpSecAlgorithm);
+    method @NonNull public android.net.IpSecTransform.Builder setIpv4Encapsulation(@NonNull android.net.IpSecManager.UdpEncapsulationSocket, int);
+  }
+
+  public class LinkAddress implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.net.InetAddress getAddress();
+    method public int getFlags();
+    method @IntRange(from=0, to=128) public int getPrefixLength();
+    method public int getScope();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkAddress> CREATOR;
+  }
+
+  public final class LinkProperties implements android.os.Parcelable {
+    ctor public LinkProperties();
+    method public boolean addRoute(@NonNull android.net.RouteInfo);
+    method public void clear();
+    method public int describeContents();
+    method @Nullable public java.net.Inet4Address getDhcpServerAddress();
+    method @NonNull public java.util.List<java.net.InetAddress> getDnsServers();
+    method @Nullable public String getDomains();
+    method @Nullable public android.net.ProxyInfo getHttpProxy();
+    method @Nullable public String getInterfaceName();
+    method @NonNull public java.util.List<android.net.LinkAddress> getLinkAddresses();
+    method public int getMtu();
+    method @Nullable public android.net.IpPrefix getNat64Prefix();
+    method @Nullable public String getPrivateDnsServerName();
+    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes();
+    method public boolean isPrivateDnsActive();
+    method public boolean isWakeOnLanSupported();
+    method public void setDhcpServerAddress(@Nullable java.net.Inet4Address);
+    method public void setDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
+    method public void setDomains(@Nullable String);
+    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
+    method public void setInterfaceName(@Nullable String);
+    method public void setLinkAddresses(@NonNull java.util.Collection<android.net.LinkAddress>);
+    method public void setMtu(int);
+    method public void setNat64Prefix(@Nullable android.net.IpPrefix);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkProperties> CREATOR;
+  }
+
+  public class LocalServerSocket implements java.io.Closeable {
+    ctor public LocalServerSocket(String) throws java.io.IOException;
+    ctor public LocalServerSocket(java.io.FileDescriptor) throws java.io.IOException;
+    method public android.net.LocalSocket accept() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public java.io.FileDescriptor getFileDescriptor();
+    method public android.net.LocalSocketAddress getLocalSocketAddress();
+  }
+
+  public class LocalSocket implements java.io.Closeable {
+    ctor public LocalSocket();
+    ctor public LocalSocket(int);
+    method public void bind(android.net.LocalSocketAddress) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void connect(android.net.LocalSocketAddress) throws java.io.IOException;
+    method public void connect(android.net.LocalSocketAddress, int) throws java.io.IOException;
+    method public java.io.FileDescriptor[] getAncillaryFileDescriptors() throws java.io.IOException;
+    method public java.io.FileDescriptor getFileDescriptor();
+    method public java.io.InputStream getInputStream() throws java.io.IOException;
+    method public android.net.LocalSocketAddress getLocalSocketAddress();
+    method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+    method public android.net.Credentials getPeerCredentials() throws java.io.IOException;
+    method public int getReceiveBufferSize() throws java.io.IOException;
+    method public android.net.LocalSocketAddress getRemoteSocketAddress();
+    method public int getSendBufferSize() throws java.io.IOException;
+    method public int getSoTimeout() throws java.io.IOException;
+    method public boolean isBound();
+    method public boolean isClosed();
+    method public boolean isConnected();
+    method public boolean isInputShutdown();
+    method public boolean isOutputShutdown();
+    method public void setFileDescriptorsForSend(java.io.FileDescriptor[]);
+    method public void setReceiveBufferSize(int) throws java.io.IOException;
+    method public void setSendBufferSize(int) throws java.io.IOException;
+    method public void setSoTimeout(int) throws java.io.IOException;
+    method public void shutdownInput() throws java.io.IOException;
+    method public void shutdownOutput() throws java.io.IOException;
+    field public static final int SOCKET_DGRAM = 1; // 0x1
+    field public static final int SOCKET_SEQPACKET = 3; // 0x3
+    field public static final int SOCKET_STREAM = 2; // 0x2
+  }
+
+  public class LocalSocketAddress {
+    ctor public LocalSocketAddress(String, android.net.LocalSocketAddress.Namespace);
+    ctor public LocalSocketAddress(String);
+    method public String getName();
+    method public android.net.LocalSocketAddress.Namespace getNamespace();
+  }
+
+  public enum LocalSocketAddress.Namespace {
+    enum_constant public static final android.net.LocalSocketAddress.Namespace ABSTRACT;
+    enum_constant public static final android.net.LocalSocketAddress.Namespace FILESYSTEM;
+    enum_constant public static final android.net.LocalSocketAddress.Namespace RESERVED;
+  }
+
+  public final class MacAddress implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.net.MacAddress fromBytes(@NonNull byte[]);
+    method @NonNull public static android.net.MacAddress fromString(@NonNull String);
+    method public int getAddressType();
+    method @Nullable public java.net.Inet6Address getLinkLocalIpv6FromEui48Mac();
+    method public boolean isLocallyAssigned();
+    method public boolean matches(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress);
+    method @NonNull public byte[] toByteArray();
+    method @NonNull public String toOuiString();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.net.MacAddress BROADCAST_ADDRESS;
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.MacAddress> CREATOR;
+    field public static final int TYPE_BROADCAST = 3; // 0x3
+    field public static final int TYPE_MULTICAST = 2; // 0x2
+    field public static final int TYPE_UNICAST = 1; // 0x1
+  }
+
+  public class MailTo {
+    method public String getBody();
+    method public String getCc();
+    method public java.util.Map<java.lang.String,java.lang.String> getHeaders();
+    method public String getSubject();
+    method public String getTo();
+    method public static boolean isMailTo(String);
+    method public static android.net.MailTo parse(String) throws android.net.ParseException;
+    field public static final String MAILTO_SCHEME = "mailto:";
+  }
+
+  public class Network implements android.os.Parcelable {
+    method public void bindSocket(java.net.DatagramSocket) throws java.io.IOException;
+    method public void bindSocket(java.net.Socket) throws java.io.IOException;
+    method public void bindSocket(java.io.FileDescriptor) throws java.io.IOException;
+    method public int describeContents();
+    method public static android.net.Network fromNetworkHandle(long);
+    method public java.net.InetAddress[] getAllByName(String) throws java.net.UnknownHostException;
+    method public java.net.InetAddress getByName(String) throws java.net.UnknownHostException;
+    method public long getNetworkHandle();
+    method public javax.net.SocketFactory getSocketFactory();
+    method public java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException;
+    method public java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException;
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.Network> CREATOR;
+  }
+
+  public final class NetworkCapabilities implements android.os.Parcelable {
+    ctor public NetworkCapabilities();
+    ctor public NetworkCapabilities(android.net.NetworkCapabilities);
+    method public int describeContents();
+    method @NonNull public int[] getCapabilities();
+    method public int getLinkDownstreamBandwidthKbps();
+    method public int getLinkUpstreamBandwidthKbps();
+    method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier();
+    method public int getOwnerUid();
+    method public int getSignalStrength();
+    method @Nullable public android.net.TransportInfo getTransportInfo();
+    method public boolean hasCapability(int);
+    method public boolean hasTransport(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkCapabilities> CREATOR;
+    field public static final int NET_CAPABILITY_CAPTIVE_PORTAL = 17; // 0x11
+    field public static final int NET_CAPABILITY_CBS = 5; // 0x5
+    field public static final int NET_CAPABILITY_DUN = 2; // 0x2
+    field public static final int NET_CAPABILITY_EIMS = 10; // 0xa
+    field public static final int NET_CAPABILITY_ENTERPRISE = 29; // 0x1d
+    field public static final int NET_CAPABILITY_FOREGROUND = 19; // 0x13
+    field public static final int NET_CAPABILITY_FOTA = 3; // 0x3
+    field public static final int NET_CAPABILITY_HEAD_UNIT = 32; // 0x20
+    field public static final int NET_CAPABILITY_IA = 7; // 0x7
+    field public static final int NET_CAPABILITY_IMS = 4; // 0x4
+    field public static final int NET_CAPABILITY_INTERNET = 12; // 0xc
+    field public static final int NET_CAPABILITY_MCX = 23; // 0x17
+    field public static final int NET_CAPABILITY_MMS = 0; // 0x0
+    field public static final int NET_CAPABILITY_NOT_CONGESTED = 20; // 0x14
+    field public static final int NET_CAPABILITY_NOT_METERED = 11; // 0xb
+    field public static final int NET_CAPABILITY_NOT_RESTRICTED = 13; // 0xd
+    field public static final int NET_CAPABILITY_NOT_ROAMING = 18; // 0x12
+    field public static final int NET_CAPABILITY_NOT_SUSPENDED = 21; // 0x15
+    field public static final int NET_CAPABILITY_NOT_VPN = 15; // 0xf
+    field public static final int NET_CAPABILITY_RCS = 8; // 0x8
+    field public static final int NET_CAPABILITY_SUPL = 1; // 0x1
+    field public static final int NET_CAPABILITY_TEMPORARILY_NOT_METERED = 25; // 0x19
+    field public static final int NET_CAPABILITY_TRUSTED = 14; // 0xe
+    field public static final int NET_CAPABILITY_VALIDATED = 16; // 0x10
+    field public static final int NET_CAPABILITY_WIFI_P2P = 6; // 0x6
+    field public static final int NET_CAPABILITY_XCAP = 9; // 0x9
+    field public static final int SIGNAL_STRENGTH_UNSPECIFIED = -2147483648; // 0x80000000
+    field public static final int TRANSPORT_BLUETOOTH = 2; // 0x2
+    field public static final int TRANSPORT_CELLULAR = 0; // 0x0
+    field public static final int TRANSPORT_ETHERNET = 3; // 0x3
+    field public static final int TRANSPORT_LOWPAN = 6; // 0x6
+    field public static final int TRANSPORT_USB = 8; // 0x8
+    field public static final int TRANSPORT_VPN = 4; // 0x4
+    field public static final int TRANSPORT_WIFI = 1; // 0x1
+    field public static final int TRANSPORT_WIFI_AWARE = 5; // 0x5
+  }
+
+  @Deprecated public class NetworkInfo implements android.os.Parcelable {
+    ctor @Deprecated public NetworkInfo(int, int, @Nullable String, @Nullable String);
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public android.net.NetworkInfo.DetailedState getDetailedState();
+    method @Deprecated public String getExtraInfo();
+    method @Deprecated public String getReason();
+    method @Deprecated public android.net.NetworkInfo.State getState();
+    method @Deprecated public int getSubtype();
+    method @Deprecated public String getSubtypeName();
+    method @Deprecated public int getType();
+    method @Deprecated public String getTypeName();
+    method @Deprecated public boolean isAvailable();
+    method @Deprecated public boolean isConnected();
+    method @Deprecated public boolean isConnectedOrConnecting();
+    method @Deprecated public boolean isFailover();
+    method @Deprecated public boolean isRoaming();
+    method @Deprecated public void setDetailedState(@NonNull android.net.NetworkInfo.DetailedState, @Nullable String, @Nullable String);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkInfo> CREATOR;
+  }
+
+  @Deprecated public enum NetworkInfo.DetailedState {
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState AUTHENTICATING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState BLOCKED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CAPTIVE_PORTAL_CHECK;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState FAILED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState IDLE;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState OBTAINING_IPADDR;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SCANNING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SUSPENDED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState VERIFYING_POOR_LINK;
+  }
+
+  @Deprecated public enum NetworkInfo.State {
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State SUSPENDED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State UNKNOWN;
+  }
+
+  public class NetworkRequest implements android.os.Parcelable {
+    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkCapabilities);
+    method public int describeContents();
+    method @NonNull public int[] getCapabilities();
+    method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier();
+    method @NonNull public int[] getTransportTypes();
+    method public boolean hasCapability(int);
+    method public boolean hasTransport(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkRequest> CREATOR;
+  }
+
+  public static class NetworkRequest.Builder {
+    ctor public NetworkRequest.Builder();
+    ctor public NetworkRequest.Builder(@NonNull android.net.NetworkRequest);
+    method public android.net.NetworkRequest.Builder addCapability(int);
+    method public android.net.NetworkRequest.Builder addTransportType(int);
+    method public android.net.NetworkRequest build();
+    method @NonNull public android.net.NetworkRequest.Builder clearCapabilities();
+    method public android.net.NetworkRequest.Builder removeCapability(int);
+    method public android.net.NetworkRequest.Builder removeTransportType(int);
+    method @NonNull public android.net.NetworkRequest.Builder setIncludeOtherUidNetworks(boolean);
+    method @Deprecated public android.net.NetworkRequest.Builder setNetworkSpecifier(String);
+    method public android.net.NetworkRequest.Builder setNetworkSpecifier(android.net.NetworkSpecifier);
+  }
+
+  public abstract class NetworkSpecifier {
+    ctor public NetworkSpecifier();
+  }
+
+  public class ParseException extends java.lang.RuntimeException {
+    ctor public ParseException(@NonNull String);
+    ctor public ParseException(@NonNull String, @NonNull Throwable);
+    field public String response;
+  }
+
+  public abstract class PlatformVpnProfile {
+    method public final int getType();
+    method @NonNull public final String getTypeString();
+    field public static final int TYPE_IKEV2_IPSEC_PSK = 7; // 0x7
+    field public static final int TYPE_IKEV2_IPSEC_RSA = 8; // 0x8
+    field public static final int TYPE_IKEV2_IPSEC_USER_PASS = 6; // 0x6
+  }
+
+  public final class Proxy {
+    ctor public Proxy();
+    method @Deprecated public static String getDefaultHost();
+    method @Deprecated public static int getDefaultPort();
+    method @Deprecated public static String getHost(android.content.Context);
+    method @Deprecated public static int getPort(android.content.Context);
+    field public static final String PROXY_CHANGE_ACTION = "android.intent.action.PROXY_CHANGE";
+  }
+
+  public class ProxyInfo implements android.os.Parcelable {
+    ctor public ProxyInfo(@Nullable android.net.ProxyInfo);
+    method public static android.net.ProxyInfo buildDirectProxy(String, int);
+    method public static android.net.ProxyInfo buildDirectProxy(String, int, java.util.List<java.lang.String>);
+    method public static android.net.ProxyInfo buildPacProxy(android.net.Uri);
+    method @NonNull public static android.net.ProxyInfo buildPacProxy(@NonNull android.net.Uri, int);
+    method public int describeContents();
+    method public String[] getExclusionList();
+    method public String getHost();
+    method public android.net.Uri getPacFileUrl();
+    method public int getPort();
+    method public boolean isValid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR;
+  }
+
+  public final class RouteInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.net.IpPrefix getDestination();
+    method @Nullable public java.net.InetAddress getGateway();
+    method @Nullable public String getInterface();
+    method public boolean hasGateway();
+    method public boolean isDefaultRoute();
+    method public boolean matches(java.net.InetAddress);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.RouteInfo> CREATOR;
+  }
+
+  @Deprecated public class SSLCertificateSocketFactory extends javax.net.ssl.SSLSocketFactory {
+    ctor @Deprecated public SSLCertificateSocketFactory(int);
+    method @Deprecated public java.net.Socket createSocket(java.net.Socket, String, int, boolean) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket(java.net.InetAddress, int) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket(String, int, java.net.InetAddress, int) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket(String, int) throws java.io.IOException;
+    method @Deprecated public static javax.net.SocketFactory getDefault(int);
+    method @Deprecated public static javax.net.ssl.SSLSocketFactory getDefault(int, android.net.SSLSessionCache);
+    method @Deprecated public String[] getDefaultCipherSuites();
+    method @Deprecated public static javax.net.ssl.SSLSocketFactory getInsecure(int, android.net.SSLSessionCache);
+    method @Deprecated public byte[] getNpnSelectedProtocol(java.net.Socket);
+    method @Deprecated public String[] getSupportedCipherSuites();
+    method @Deprecated public void setHostname(java.net.Socket, String);
+    method @Deprecated public void setKeyManagers(javax.net.ssl.KeyManager[]);
+    method @Deprecated public void setNpnProtocols(byte[][]);
+    method @Deprecated public void setTrustManagers(javax.net.ssl.TrustManager[]);
+    method @Deprecated public void setUseSessionTickets(java.net.Socket, boolean);
+  }
+
+  public final class SSLSessionCache {
+    ctor public SSLSessionCache(java.io.File) throws java.io.IOException;
+    ctor public SSLSessionCache(android.content.Context);
+  }
+
+  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
+    method public final void close();
+    method public final void start(@IntRange(from=0xa, to=0xe10) int);
+    method public final void stop();
+    field public static final int ERROR_HARDWARE_ERROR = -31; // 0xffffffe1
+    field public static final int ERROR_INSUFFICIENT_RESOURCES = -32; // 0xffffffe0
+    field public static final int ERROR_INVALID_INTERVAL = -24; // 0xffffffe8
+    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
+    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
+    field public static final int ERROR_INVALID_NETWORK = -20; // 0xffffffec
+    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
+    field public static final int ERROR_INVALID_SOCKET = -25; // 0xffffffe7
+    field public static final int ERROR_SOCKET_NOT_IDLE = -26; // 0xffffffe6
+    field public static final int ERROR_UNSUPPORTED = -30; // 0xffffffe2
+  }
+
+  public static class SocketKeepalive.Callback {
+    ctor public SocketKeepalive.Callback();
+    method public void onDataReceived();
+    method public void onError(int);
+    method public void onStarted();
+    method public void onStopped();
+  }
+
+  public final class TelephonyNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getSubscriptionId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TelephonyNetworkSpecifier> CREATOR;
+  }
+
+  public static final class TelephonyNetworkSpecifier.Builder {
+    ctor public TelephonyNetworkSpecifier.Builder();
+    method @NonNull public android.net.TelephonyNetworkSpecifier build();
+    method @NonNull public android.net.TelephonyNetworkSpecifier.Builder setSubscriptionId(int);
+  }
+
+  public class TrafficStats {
+    ctor public TrafficStats();
+    method public static void clearThreadStatsTag();
+    method public static void clearThreadStatsUid();
+    method public static int getAndSetThreadStatsTag(int);
+    method public static long getMobileRxBytes();
+    method public static long getMobileRxPackets();
+    method public static long getMobileTxBytes();
+    method public static long getMobileTxPackets();
+    method public static long getRxBytes(@NonNull String);
+    method public static long getRxPackets(@NonNull String);
+    method public static int getThreadStatsTag();
+    method public static int getThreadStatsUid();
+    method public static long getTotalRxBytes();
+    method public static long getTotalRxPackets();
+    method public static long getTotalTxBytes();
+    method public static long getTotalTxPackets();
+    method public static long getTxBytes(@NonNull String);
+    method public static long getTxPackets(@NonNull String);
+    method public static long getUidRxBytes(int);
+    method public static long getUidRxPackets(int);
+    method @Deprecated public static long getUidTcpRxBytes(int);
+    method @Deprecated public static long getUidTcpRxSegments(int);
+    method @Deprecated public static long getUidTcpTxBytes(int);
+    method @Deprecated public static long getUidTcpTxSegments(int);
+    method public static long getUidTxBytes(int);
+    method public static long getUidTxPackets(int);
+    method @Deprecated public static long getUidUdpRxBytes(int);
+    method @Deprecated public static long getUidUdpRxPackets(int);
+    method @Deprecated public static long getUidUdpTxBytes(int);
+    method @Deprecated public static long getUidUdpTxPackets(int);
+    method public static void incrementOperationCount(int);
+    method public static void incrementOperationCount(int, int);
+    method public static void setThreadStatsTag(int);
+    method public static void setThreadStatsUid(int);
+    method public static void tagDatagramSocket(java.net.DatagramSocket) throws java.net.SocketException;
+    method public static void tagFileDescriptor(java.io.FileDescriptor) throws java.io.IOException;
+    method public static void tagSocket(java.net.Socket) throws java.net.SocketException;
+    method public static void untagDatagramSocket(java.net.DatagramSocket) throws java.net.SocketException;
+    method public static void untagFileDescriptor(java.io.FileDescriptor) throws java.io.IOException;
+    method public static void untagSocket(java.net.Socket) throws java.net.SocketException;
+    field public static final int UNSUPPORTED = -1; // 0xffffffff
+  }
+
+  public interface TransportInfo {
+  }
+
+  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
+    method public abstract android.net.Uri.Builder buildUpon();
+    method public int compareTo(android.net.Uri);
+    method public static String decode(String);
+    method public static String encode(String);
+    method public static String encode(String, String);
+    method public static android.net.Uri fromFile(java.io.File);
+    method public static android.net.Uri fromParts(String, String, String);
+    method @Nullable public abstract String getAuthority();
+    method public boolean getBooleanQueryParameter(String, boolean);
+    method @Nullable public abstract String getEncodedAuthority();
+    method @Nullable public abstract String getEncodedFragment();
+    method @Nullable public abstract String getEncodedPath();
+    method @Nullable public abstract String getEncodedQuery();
+    method public abstract String getEncodedSchemeSpecificPart();
+    method @Nullable public abstract String getEncodedUserInfo();
+    method @Nullable public abstract String getFragment();
+    method @Nullable public abstract String getHost();
+    method @Nullable public abstract String getLastPathSegment();
+    method @Nullable public abstract String getPath();
+    method public abstract java.util.List<java.lang.String> getPathSegments();
+    method public abstract int getPort();
+    method @Nullable public abstract String getQuery();
+    method @Nullable public String getQueryParameter(String);
+    method public java.util.Set<java.lang.String> getQueryParameterNames();
+    method public java.util.List<java.lang.String> getQueryParameters(String);
+    method @Nullable public abstract String getScheme();
+    method public abstract String getSchemeSpecificPart();
+    method @Nullable public abstract String getUserInfo();
+    method public boolean isAbsolute();
+    method public abstract boolean isHierarchical();
+    method public boolean isOpaque();
+    method public abstract boolean isRelative();
+    method public android.net.Uri normalizeScheme();
+    method public static android.net.Uri parse(String);
+    method public abstract String toString();
+    method public static android.net.Uri withAppendedPath(android.net.Uri, String);
+    method public static void writeToParcel(android.os.Parcel, android.net.Uri);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.Uri> CREATOR;
+    field public static final android.net.Uri EMPTY;
+  }
+
+  public static final class Uri.Builder {
+    ctor public Uri.Builder();
+    method public android.net.Uri.Builder appendEncodedPath(String);
+    method public android.net.Uri.Builder appendPath(String);
+    method public android.net.Uri.Builder appendQueryParameter(String, String);
+    method public android.net.Uri.Builder authority(String);
+    method public android.net.Uri build();
+    method public android.net.Uri.Builder clearQuery();
+    method public android.net.Uri.Builder encodedAuthority(String);
+    method public android.net.Uri.Builder encodedFragment(String);
+    method public android.net.Uri.Builder encodedOpaquePart(String);
+    method public android.net.Uri.Builder encodedPath(String);
+    method public android.net.Uri.Builder encodedQuery(String);
+    method public android.net.Uri.Builder fragment(String);
+    method public android.net.Uri.Builder opaquePart(String);
+    method public android.net.Uri.Builder path(String);
+    method public android.net.Uri.Builder query(String);
+    method public android.net.Uri.Builder scheme(String);
+  }
+
+  public class UrlQuerySanitizer {
+    ctor public UrlQuerySanitizer();
+    ctor public UrlQuerySanitizer(String);
+    method protected void addSanitizedEntry(String, String);
+    method protected void clear();
+    method protected int decodeHexDigit(char);
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllButNulAndAngleBracketsLegal();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllButNulLegal();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllButWhitespaceLegal();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAllIllegal();
+    method public boolean getAllowUnregisteredParamaters();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAmpAndSpaceLegal();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getAmpLegal();
+    method public android.net.UrlQuerySanitizer.ValueSanitizer getEffectiveValueSanitizer(String);
+    method public java.util.List<android.net.UrlQuerySanitizer.ParameterValuePair> getParameterList();
+    method public java.util.Set<java.lang.String> getParameterSet();
+    method public boolean getPreferFirstRepeatedParameter();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getSpaceLegal();
+    method public android.net.UrlQuerySanitizer.ValueSanitizer getUnregisteredParameterValueSanitizer();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getUrlAndSpaceLegal();
+    method public static final android.net.UrlQuerySanitizer.ValueSanitizer getUrlLegal();
+    method public String getValue(String);
+    method public android.net.UrlQuerySanitizer.ValueSanitizer getValueSanitizer(String);
+    method public boolean hasParameter(String);
+    method protected boolean isHexDigit(char);
+    method protected void parseEntry(String, String);
+    method public void parseQuery(String);
+    method public void parseUrl(String);
+    method public void registerParameter(String, android.net.UrlQuerySanitizer.ValueSanitizer);
+    method public void registerParameters(String[], android.net.UrlQuerySanitizer.ValueSanitizer);
+    method public void setAllowUnregisteredParamaters(boolean);
+    method public void setPreferFirstRepeatedParameter(boolean);
+    method public void setUnregisteredParameterValueSanitizer(android.net.UrlQuerySanitizer.ValueSanitizer);
+    method public String unescape(String);
+  }
+
+  public static class UrlQuerySanitizer.IllegalCharacterValueSanitizer implements android.net.UrlQuerySanitizer.ValueSanitizer {
+    ctor public UrlQuerySanitizer.IllegalCharacterValueSanitizer(int);
+    method public String sanitize(String);
+    field public static final int ALL_BUT_NUL_AND_ANGLE_BRACKETS_LEGAL = 1439; // 0x59f
+    field public static final int ALL_BUT_NUL_LEGAL = 1535; // 0x5ff
+    field public static final int ALL_BUT_WHITESPACE_LEGAL = 1532; // 0x5fc
+    field public static final int ALL_ILLEGAL = 0; // 0x0
+    field public static final int ALL_OK = 2047; // 0x7ff
+    field public static final int ALL_WHITESPACE_OK = 3; // 0x3
+    field public static final int AMP_AND_SPACE_LEGAL = 129; // 0x81
+    field public static final int AMP_LEGAL = 128; // 0x80
+    field public static final int AMP_OK = 128; // 0x80
+    field public static final int DQUOTE_OK = 8; // 0x8
+    field public static final int GT_OK = 64; // 0x40
+    field public static final int LT_OK = 32; // 0x20
+    field public static final int NON_7_BIT_ASCII_OK = 4; // 0x4
+    field public static final int NUL_OK = 512; // 0x200
+    field public static final int OTHER_WHITESPACE_OK = 2; // 0x2
+    field public static final int PCT_OK = 256; // 0x100
+    field public static final int SCRIPT_URL_OK = 1024; // 0x400
+    field public static final int SPACE_LEGAL = 1; // 0x1
+    field public static final int SPACE_OK = 1; // 0x1
+    field public static final int SQUOTE_OK = 16; // 0x10
+    field public static final int URL_AND_SPACE_LEGAL = 405; // 0x195
+    field public static final int URL_LEGAL = 404; // 0x194
+  }
+
+  public class UrlQuerySanitizer.ParameterValuePair {
+    ctor public UrlQuerySanitizer.ParameterValuePair(String, String);
+    field public String mParameter;
+    field public String mValue;
+  }
+
+  public static interface UrlQuerySanitizer.ValueSanitizer {
+    method public String sanitize(String);
+  }
+
+  public class VpnManager {
+    method public void deleteProvisionedVpnProfile();
+    method @Nullable public android.content.Intent provisionVpnProfile(@NonNull android.net.PlatformVpnProfile);
+    method public void startProvisionedVpnProfile();
+    method public void stopProvisionedVpnProfile();
+  }
+
+  public class VpnService extends android.app.Service {
+    ctor public VpnService();
+    method public final boolean isAlwaysOn();
+    method public final boolean isLockdownEnabled();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onRevoke();
+    method public static android.content.Intent prepare(android.content.Context);
+    method public boolean protect(int);
+    method public boolean protect(java.net.Socket);
+    method public boolean protect(java.net.DatagramSocket);
+    method public boolean setUnderlyingNetworks(android.net.Network[]);
+    field public static final String SERVICE_INTERFACE = "android.net.VpnService";
+    field public static final String SERVICE_META_DATA_SUPPORTS_ALWAYS_ON = "android.net.VpnService.SUPPORTS_ALWAYS_ON";
+  }
+
+  public class VpnService.Builder {
+    ctor public VpnService.Builder();
+    method @NonNull public android.net.VpnService.Builder addAddress(@NonNull java.net.InetAddress, int);
+    method @NonNull public android.net.VpnService.Builder addAddress(@NonNull String, int);
+    method @NonNull public android.net.VpnService.Builder addAllowedApplication(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public android.net.VpnService.Builder addDisallowedApplication(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public android.net.VpnService.Builder addDnsServer(@NonNull java.net.InetAddress);
+    method @NonNull public android.net.VpnService.Builder addDnsServer(@NonNull String);
+    method @NonNull public android.net.VpnService.Builder addRoute(@NonNull java.net.InetAddress, int);
+    method @NonNull public android.net.VpnService.Builder addRoute(@NonNull String, int);
+    method @NonNull public android.net.VpnService.Builder addSearchDomain(@NonNull String);
+    method @NonNull public android.net.VpnService.Builder allowBypass();
+    method @NonNull public android.net.VpnService.Builder allowFamily(int);
+    method @Nullable public android.os.ParcelFileDescriptor establish();
+    method @NonNull public android.net.VpnService.Builder setBlocking(boolean);
+    method @NonNull public android.net.VpnService.Builder setConfigureIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.net.VpnService.Builder setHttpProxy(@NonNull android.net.ProxyInfo);
+    method @NonNull public android.net.VpnService.Builder setMetered(boolean);
+    method @NonNull public android.net.VpnService.Builder setMtu(int);
+    method @NonNull public android.net.VpnService.Builder setSession(@NonNull String);
+    method @NonNull public android.net.VpnService.Builder setUnderlyingNetworks(@Nullable android.net.Network[]);
+  }
+
+}
+
+package android.net.eap {
+
+  public final class EapSessionConfig {
+    method @Nullable public android.net.eap.EapSessionConfig.EapAkaConfig getEapAkaConfig();
+    method @Nullable public android.net.eap.EapSessionConfig.EapAkaPrimeConfig getEapAkaPrimeConfig();
+    method @NonNull public byte[] getEapIdentity();
+    method @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2Config();
+    method @Nullable public android.net.eap.EapSessionConfig.EapSimConfig getEapSimConfig();
+    method @Nullable public android.net.eap.EapSessionConfig.EapTtlsConfig getEapTtlsConfig();
+  }
+
+  public static final class EapSessionConfig.Builder {
+    ctor public EapSessionConfig.Builder();
+    method @NonNull public android.net.eap.EapSessionConfig build();
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaConfig(int, int);
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapAkaPrimeConfig(int, int, @NonNull String, boolean);
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapIdentity(@NonNull byte[]);
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapMsChapV2Config(@NonNull String, @NonNull String);
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapSimConfig(int, int);
+    method @NonNull public android.net.eap.EapSessionConfig.Builder setEapTtlsConfig(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig);
+  }
+
+  public static class EapSessionConfig.EapAkaConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
+    method public int getAppType();
+    method public int getSubId();
+  }
+
+  public static class EapSessionConfig.EapAkaPrimeConfig extends android.net.eap.EapSessionConfig.EapAkaConfig {
+    method public boolean allowsMismatchedNetworkNames();
+    method @NonNull public String getNetworkName();
+  }
+
+  public abstract static class EapSessionConfig.EapMethodConfig {
+    method public int getMethodType();
+    field public static final int EAP_TYPE_AKA = 23; // 0x17
+    field public static final int EAP_TYPE_AKA_PRIME = 50; // 0x32
+    field public static final int EAP_TYPE_MSCHAP_V2 = 26; // 0x1a
+    field public static final int EAP_TYPE_SIM = 18; // 0x12
+    field public static final int EAP_TYPE_TTLS = 21; // 0x15
+  }
+
+  public static class EapSessionConfig.EapMsChapV2Config extends android.net.eap.EapSessionConfig.EapMethodConfig {
+    method @NonNull public String getPassword();
+    method @NonNull public String getUsername();
+  }
+
+  public static class EapSessionConfig.EapSimConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
+    method public int getAppType();
+    method public int getSubId();
+  }
+
+  public static class EapSessionConfig.EapTtlsConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
+    method @NonNull public android.net.eap.EapSessionConfig getInnerEapSessionConfig();
+    method @Nullable public java.security.cert.X509Certificate getServerCaCert();
+  }
+
+}
+
+package android.net.http {
+
+  public final class HttpResponseCache extends java.net.ResponseCache implements java.io.Closeable {
+    method public void close() throws java.io.IOException;
+    method public void delete() throws java.io.IOException;
+    method public void flush();
+    method public java.net.CacheResponse get(java.net.URI, String, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public int getHitCount();
+    method public static android.net.http.HttpResponseCache getInstalled();
+    method public int getNetworkCount();
+    method public int getRequestCount();
+    method public static android.net.http.HttpResponseCache install(java.io.File, long) throws java.io.IOException;
+    method public long maxSize();
+    method public java.net.CacheRequest put(java.net.URI, java.net.URLConnection) throws java.io.IOException;
+    method public long size();
+  }
+
+  public class SslCertificate {
+    ctor @Deprecated public SslCertificate(String, String, String, String);
+    ctor @Deprecated public SslCertificate(String, String, java.util.Date, java.util.Date);
+    ctor public SslCertificate(java.security.cert.X509Certificate);
+    method public android.net.http.SslCertificate.DName getIssuedBy();
+    method public android.net.http.SslCertificate.DName getIssuedTo();
+    method @Deprecated public String getValidNotAfter();
+    method public java.util.Date getValidNotAfterDate();
+    method @Deprecated public String getValidNotBefore();
+    method public java.util.Date getValidNotBeforeDate();
+    method @Nullable public java.security.cert.X509Certificate getX509Certificate();
+    method public static android.net.http.SslCertificate restoreState(android.os.Bundle);
+    method public static android.os.Bundle saveState(android.net.http.SslCertificate);
+  }
+
+  public class SslCertificate.DName {
+    ctor public SslCertificate.DName(String);
+    method public String getCName();
+    method public String getDName();
+    method public String getOName();
+    method public String getUName();
+  }
+
+  public class SslError {
+    ctor @Deprecated public SslError(int, android.net.http.SslCertificate);
+    ctor @Deprecated public SslError(int, java.security.cert.X509Certificate);
+    ctor public SslError(int, android.net.http.SslCertificate, String);
+    ctor public SslError(int, java.security.cert.X509Certificate, String);
+    method public boolean addError(int);
+    method public android.net.http.SslCertificate getCertificate();
+    method public int getPrimaryError();
+    method public String getUrl();
+    method public boolean hasError(int);
+    field public static final int SSL_DATE_INVALID = 4; // 0x4
+    field public static final int SSL_EXPIRED = 1; // 0x1
+    field public static final int SSL_IDMISMATCH = 2; // 0x2
+    field public static final int SSL_INVALID = 5; // 0x5
+    field @Deprecated public static final int SSL_MAX_ERROR = 6; // 0x6
+    field public static final int SSL_NOTYETVALID = 0; // 0x0
+    field public static final int SSL_UNTRUSTED = 3; // 0x3
+  }
+
+  public class X509TrustManagerExtensions {
+    ctor public X509TrustManagerExtensions(javax.net.ssl.X509TrustManager) throws java.lang.IllegalArgumentException;
+    method public java.util.List<java.security.cert.X509Certificate> checkServerTrusted(java.security.cert.X509Certificate[], String, String) throws java.security.cert.CertificateException;
+    method public boolean isSameTrustConfiguration(String, String);
+    method public boolean isUserAddedCertificate(java.security.cert.X509Certificate);
+  }
+
+}
+
+package android.net.ipsec.ike {
+
+  public final class ChildSaProposal extends android.net.ipsec.ike.SaProposal {
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedEncryptionAlgorithms();
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedIntegrityAlgorithms();
+  }
+
+  public static final class ChildSaProposal.Builder {
+    ctor public ChildSaProposal.Builder();
+    method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addDhGroup(int);
+    method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addEncryptionAlgorithm(int, int);
+    method @NonNull public android.net.ipsec.ike.ChildSaProposal.Builder addIntegrityAlgorithm(int);
+    method @NonNull public android.net.ipsec.ike.ChildSaProposal build();
+  }
+
+  public interface ChildSessionCallback {
+    method public void onClosed();
+    method public default void onClosedWithException(@NonNull android.net.ipsec.ike.exceptions.IkeException);
+    method public void onIpSecTransformCreated(@NonNull android.net.IpSecTransform, int);
+    method public void onIpSecTransformDeleted(@NonNull android.net.IpSecTransform, int);
+    method public void onOpened(@NonNull android.net.ipsec.ike.ChildSessionConfiguration);
+  }
+
+  public final class ChildSessionConfiguration {
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors();
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors();
+  }
+
+  public static final class ChildSessionConfiguration.Builder {
+    ctor public ChildSessionConfiguration.Builder(@NonNull java.util.List<android.net.ipsec.ike.IkeTrafficSelector>, @NonNull java.util.List<android.net.ipsec.ike.IkeTrafficSelector>);
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration build();
+  }
+
+  public abstract class ChildSessionParams {
+    method @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getChildSaProposals();
+    method @IntRange(from=0x12c, to=0x3840) public int getHardLifetimeSeconds();
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getInboundTrafficSelectors();
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeTrafficSelector> getOutboundTrafficSelectors();
+    method @IntRange(from=0x78, to=0x3840) public int getSoftLifetimeSeconds();
+  }
+
+  public final class IkeDerAsn1DnIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeDerAsn1DnIdentification(@NonNull javax.security.auth.x500.X500Principal);
+    field @NonNull public final javax.security.auth.x500.X500Principal derAsn1Dn;
+  }
+
+  public class IkeFqdnIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeFqdnIdentification(@NonNull String);
+    field @NonNull public final String fqdn;
+  }
+
+  public abstract class IkeIdentification {
+  }
+
+  public final class IkeIpv4AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeIpv4AddrIdentification(@NonNull java.net.Inet4Address);
+    field @NonNull public final java.net.Inet4Address ipv4Address;
+  }
+
+  public class IkeIpv6AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeIpv6AddrIdentification(@NonNull java.net.Inet6Address);
+    field @NonNull public final java.net.Inet6Address ipv6Address;
+  }
+
+  public final class IkeKeyIdIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeKeyIdIdentification(@NonNull byte[]);
+    field @NonNull public final byte[] keyId;
+  }
+
+  public final class IkeRfc822AddrIdentification extends android.net.ipsec.ike.IkeIdentification {
+    ctor public IkeRfc822AddrIdentification(@NonNull String);
+    field @NonNull public final String rfc822Name;
+  }
+
+  public final class IkeSaProposal extends android.net.ipsec.ike.SaProposal {
+    method @NonNull public java.util.List<java.lang.Integer> getPseudorandomFunctions();
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedEncryptionAlgorithms();
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedIntegrityAlgorithms();
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedPseudorandomFunctions();
+  }
+
+  public static final class IkeSaProposal.Builder {
+    ctor public IkeSaProposal.Builder();
+    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addDhGroup(int);
+    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addEncryptionAlgorithm(int, int);
+    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addIntegrityAlgorithm(int);
+    method @NonNull public android.net.ipsec.ike.IkeSaProposal.Builder addPseudorandomFunction(int);
+    method @NonNull public android.net.ipsec.ike.IkeSaProposal build();
+  }
+
+  public final class IkeSession implements java.lang.AutoCloseable {
+    ctor public IkeSession(@NonNull android.content.Context, @NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull java.util.concurrent.Executor, @NonNull android.net.ipsec.ike.IkeSessionCallback, @NonNull android.net.ipsec.ike.ChildSessionCallback);
+    method public void close();
+    method public void closeChildSession(@NonNull android.net.ipsec.ike.ChildSessionCallback);
+    method public void finalize();
+    method public void kill();
+    method public void openChildSession(@NonNull android.net.ipsec.ike.ChildSessionParams, @NonNull android.net.ipsec.ike.ChildSessionCallback);
+  }
+
+  public interface IkeSessionCallback {
+    method public void onClosed();
+    method public default void onClosedWithException(@NonNull android.net.ipsec.ike.exceptions.IkeException);
+    method public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeException);
+    method public void onOpened(@NonNull android.net.ipsec.ike.IkeSessionConfiguration);
+  }
+
+  public final class IkeSessionConfiguration {
+    method @NonNull public android.net.ipsec.ike.IkeSessionConnectionInfo getIkeSessionConnectionInfo();
+    method @NonNull public String getRemoteApplicationVersion();
+    method @NonNull public java.util.List<byte[]> getRemoteVendorIds();
+    method public boolean isIkeExtensionEnabled(int);
+    field public static final int EXTENSION_TYPE_FRAGMENTATION = 1; // 0x1
+    field public static final int EXTENSION_TYPE_MOBIKE = 2; // 0x2
+  }
+
+  public static final class IkeSessionConfiguration.Builder {
+    ctor public IkeSessionConfiguration.Builder(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addIkeExtension(int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addRemoteVendorId(@NonNull byte[]);
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration build();
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearIkeExtensions();
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearRemoteApplicationVersion();
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearRemoteVendorIds();
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder setRemoteApplicationVersion(@NonNull String);
+  }
+
+  public final class IkeSessionConnectionInfo {
+    ctor public IkeSessionConnectionInfo(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network);
+    method @NonNull public java.net.InetAddress getLocalAddress();
+    method @NonNull public android.net.Network getNetwork();
+    method @NonNull public java.net.InetAddress getRemoteAddress();
+  }
+
+  public final class IkeSessionParams {
+    method @IntRange(from=0x14, to=0x708) public int getDpdDelaySeconds();
+    method @IntRange(from=0x12c, to=0x15180) public int getHardLifetimeSeconds();
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getIkeSaProposals();
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getLocalAuthConfig();
+    method @NonNull public android.net.ipsec.ike.IkeIdentification getLocalIdentification();
+    method @IntRange(from=0xa, to=0xe10) public int getNattKeepAliveDelaySeconds();
+    method @Nullable public android.net.Network getNetwork();
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig getRemoteAuthConfig();
+    method @NonNull public android.net.ipsec.ike.IkeIdentification getRemoteIdentification();
+    method @NonNull public int[] getRetransmissionTimeoutsMillis();
+    method @NonNull public String getServerHostname();
+    method @IntRange(from=0x78, to=0x15180) public int getSoftLifetimeSeconds();
+    method public boolean hasIkeOption(int);
+    field public static final int IKE_OPTION_ACCEPT_ANY_REMOTE_ID = 0; // 0x0
+    field public static final int IKE_OPTION_EAP_ONLY_AUTH = 1; // 0x1
+    field public static final int IKE_OPTION_FORCE_PORT_4500 = 3; // 0x3
+    field public static final int IKE_OPTION_MOBIKE = 2; // 0x2
+  }
+
+  public static final class IkeSessionParams.Builder {
+    ctor public IkeSessionParams.Builder();
+    ctor public IkeSessionParams.Builder(@NonNull android.net.ipsec.ike.IkeSessionParams);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeOption(int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addIkeSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams build();
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder removeIkeOption(int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.security.PrivateKey);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthDigitalSignature(@Nullable java.security.cert.X509Certificate, @NonNull java.security.cert.X509Certificate, @NonNull java.util.List<java.security.cert.X509Certificate>, @NonNull java.security.PrivateKey);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthEap(@Nullable java.security.cert.X509Certificate, @NonNull android.net.eap.EapSessionConfig);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setAuthPsk(@NonNull byte[]);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDpdDelaySeconds(@IntRange(from=0x14, to=0x708) int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x15180) int, @IntRange(from=0x78, to=0x15180) int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLocalIdentification(@NonNull android.net.ipsec.ike.IkeIdentification);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNattKeepAliveDelaySeconds(@IntRange(from=0xa, to=0xe10) int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setNetwork(@Nullable android.net.Network);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRemoteIdentification(@NonNull android.net.ipsec.ike.IkeIdentification);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setRetransmissionTimeoutsMillis(@NonNull int[]);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setServerHostname(@NonNull String);
+  }
+
+  public abstract static class IkeSessionParams.IkeAuthConfig {
+  }
+
+  public static class IkeSessionParams.IkeAuthDigitalSignLocalConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
+    method @NonNull public java.security.cert.X509Certificate getClientEndCertificate();
+    method @NonNull public java.util.List<java.security.cert.X509Certificate> getIntermediateCertificates();
+    method @NonNull public java.security.PrivateKey getPrivateKey();
+  }
+
+  public static class IkeSessionParams.IkeAuthDigitalSignRemoteConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
+    method @Nullable public java.security.cert.X509Certificate getRemoteCaCert();
+  }
+
+  public static class IkeSessionParams.IkeAuthEapConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
+    method @NonNull public android.net.eap.EapSessionConfig getEapConfig();
+  }
+
+  public static class IkeSessionParams.IkeAuthPskConfig extends android.net.ipsec.ike.IkeSessionParams.IkeAuthConfig {
+    method @NonNull public byte[] getPsk();
+  }
+
+  public final class IkeTrafficSelector {
+    ctor public IkeTrafficSelector(int, int, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress);
+    field public final int endPort;
+    field @NonNull public final java.net.InetAddress endingAddress;
+    field public final int startPort;
+    field @NonNull public final java.net.InetAddress startingAddress;
+  }
+
+  public final class IkeTunnelConnectionParams {
+    ctor public IkeTunnelConnectionParams(@NonNull android.net.ipsec.ike.IkeSessionParams, @NonNull android.net.ipsec.ike.TunnelModeChildSessionParams);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams getIkeSessionParams();
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams getTunnelModeChildSessionParams();
+  }
+
+  public abstract class SaProposal {
+    method @NonNull public java.util.List<java.lang.Integer> getDhGroups();
+    method @NonNull public java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>> getEncryptionAlgorithms();
+    method @NonNull public java.util.List<java.lang.Integer> getIntegrityAlgorithms();
+    method @NonNull public static java.util.Set<java.lang.Integer> getSupportedDhGroups();
+    field public static final int DH_GROUP_1024_BIT_MODP = 2; // 0x2
+    field public static final int DH_GROUP_1536_BIT_MODP = 5; // 0x5
+    field public static final int DH_GROUP_2048_BIT_MODP = 14; // 0xe
+    field public static final int DH_GROUP_3072_BIT_MODP = 15; // 0xf
+    field public static final int DH_GROUP_4096_BIT_MODP = 16; // 0x10
+    field public static final int DH_GROUP_CURVE_25519 = 31; // 0x1f
+    field public static final int DH_GROUP_NONE = 0; // 0x0
+    field public static final int ENCRYPTION_ALGORITHM_3DES = 3; // 0x3
+    field public static final int ENCRYPTION_ALGORITHM_AES_CBC = 12; // 0xc
+    field public static final int ENCRYPTION_ALGORITHM_AES_CTR = 13; // 0xd
+    field public static final int ENCRYPTION_ALGORITHM_AES_GCM_12 = 19; // 0x13
+    field public static final int ENCRYPTION_ALGORITHM_AES_GCM_16 = 20; // 0x14
+    field public static final int ENCRYPTION_ALGORITHM_AES_GCM_8 = 18; // 0x12
+    field public static final int ENCRYPTION_ALGORITHM_CHACHA20_POLY1305 = 28; // 0x1c
+    field public static final int INTEGRITY_ALGORITHM_AES_CMAC_96 = 8; // 0x8
+    field public static final int INTEGRITY_ALGORITHM_AES_XCBC_96 = 5; // 0x5
+    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA1_96 = 2; // 0x2
+    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_256_128 = 12; // 0xc
+    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_384_192 = 13; // 0xd
+    field public static final int INTEGRITY_ALGORITHM_HMAC_SHA2_512_256 = 14; // 0xe
+    field public static final int INTEGRITY_ALGORITHM_NONE = 0; // 0x0
+    field public static final int KEY_LEN_AES_128 = 128; // 0x80
+    field public static final int KEY_LEN_AES_192 = 192; // 0xc0
+    field public static final int KEY_LEN_AES_256 = 256; // 0x100
+    field public static final int KEY_LEN_UNUSED = 0; // 0x0
+    field public static final int PSEUDORANDOM_FUNCTION_AES128_CMAC = 8; // 0x8
+    field public static final int PSEUDORANDOM_FUNCTION_AES128_XCBC = 4; // 0x4
+    field public static final int PSEUDORANDOM_FUNCTION_HMAC_SHA1 = 2; // 0x2
+    field public static final int PSEUDORANDOM_FUNCTION_SHA2_256 = 5; // 0x5
+    field public static final int PSEUDORANDOM_FUNCTION_SHA2_384 = 6; // 0x6
+    field public static final int PSEUDORANDOM_FUNCTION_SHA2_512 = 7; // 0x7
+  }
+
+  public final class TransportModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams {
+  }
+
+  public static final class TransportModeChildSessionParams.Builder {
+    ctor public TransportModeChildSessionParams.Builder();
+    ctor public TransportModeChildSessionParams.Builder(@NonNull android.net.ipsec.ike.TransportModeChildSessionParams);
+    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addChildSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
+    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
+    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
+    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams build();
+    method @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int);
+  }
+
+  public final class TunnelModeChildSessionParams extends android.net.ipsec.ike.ChildSessionParams {
+    method @NonNull public java.util.List<android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest> getConfigurationRequests();
+  }
+
+  public static final class TunnelModeChildSessionParams.Builder {
+    ctor public TunnelModeChildSessionParams.Builder();
+    ctor public TunnelModeChildSessionParams.Builder(@NonNull android.net.ipsec.ike.TunnelModeChildSessionParams);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addChildSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(int);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet4Address);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalAddressRequest(@NonNull java.net.Inet6Address, int);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDhcpServerRequest(int);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addInternalDnsServerRequest(int);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addOutboundTrafficSelectors(@NonNull android.net.ipsec.ike.IkeTrafficSelector);
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams build();
+    method @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder setLifetimeSeconds(@IntRange(from=0x12c, to=0x3840) int, @IntRange(from=0x78, to=0x3840) int);
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+    method @Nullable public java.net.Inet4Address getAddress();
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DhcpServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv4Netmask extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv6Address extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+    method @Nullable public java.net.Inet6Address getAddress();
+    method public int getPrefixLength();
+  }
+
+  public static interface TunnelModeChildSessionParams.ConfigRequestIpv6DnsServer extends android.net.ipsec.ike.TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+  }
+
+  public static interface TunnelModeChildSessionParams.TunnelModeChildConfigRequest {
+  }
+
+}
+
+package android.net.ipsec.ike.exceptions {
+
+  public abstract class IkeException extends java.lang.Exception {
+  }
+
+  public final class IkeInternalException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException {
+    ctor public IkeInternalException(@NonNull Throwable);
+    ctor public IkeInternalException(@NonNull String, @NonNull Throwable);
+  }
+
+  public final class IkeNetworkLostException extends android.net.ipsec.ike.exceptions.IkeNonProtocolException {
+    ctor public IkeNetworkLostException(@NonNull android.net.Network);
+    method @NonNull public android.net.Network getNetwork();
+  }
+
+  public abstract class IkeNonProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
+  }
+
+  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
+    method public int getErrorType();
+    field public static final int ERROR_TYPE_AUTHENTICATION_FAILED = 24; // 0x18
+    field public static final int ERROR_TYPE_CHILD_SA_NOT_FOUND = 44; // 0x2c
+    field public static final int ERROR_TYPE_FAILED_CP_REQUIRED = 37; // 0x25
+    field public static final int ERROR_TYPE_INTERNAL_ADDRESS_FAILURE = 36; // 0x24
+    field public static final int ERROR_TYPE_INVALID_IKE_SPI = 4; // 0x4
+    field public static final int ERROR_TYPE_INVALID_KE_PAYLOAD = 17; // 0x11
+    field public static final int ERROR_TYPE_INVALID_MAJOR_VERSION = 5; // 0x5
+    field public static final int ERROR_TYPE_INVALID_MESSAGE_ID = 9; // 0x9
+    field public static final int ERROR_TYPE_INVALID_SELECTORS = 39; // 0x27
+    field public static final int ERROR_TYPE_INVALID_SYNTAX = 7; // 0x7
+    field public static final int ERROR_TYPE_NO_ADDITIONAL_SAS = 35; // 0x23
+    field public static final int ERROR_TYPE_NO_PROPOSAL_CHOSEN = 14; // 0xe
+    field public static final int ERROR_TYPE_SINGLE_PAIR_REQUIRED = 34; // 0x22
+    field public static final int ERROR_TYPE_TEMPORARY_FAILURE = 43; // 0x2b
+    field public static final int ERROR_TYPE_TS_UNACCEPTABLE = 38; // 0x26
+    field public static final int ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD = 1; // 0x1
+  }
+
+  public final class InvalidKeException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
+    ctor public InvalidKeException(int);
+    method public int getDhGroup();
+  }
+
+  public final class InvalidMajorVersionException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
+    ctor public InvalidMajorVersionException(byte);
+    method public byte getMajorVersion();
+  }
+
+  public final class InvalidSelectorsException extends android.net.ipsec.ike.exceptions.IkeProtocolException {
+    ctor public InvalidSelectorsException(int, @NonNull byte[]);
+    method @NonNull public byte[] getIpSecPacketInfo();
+    method public int getIpSecSpi();
+  }
+
+}
+
+package android.net.nsd {
+
+  public final class NsdManager {
+    method public void discoverServices(String, int, android.net.nsd.NsdManager.DiscoveryListener);
+    method public void registerService(android.net.nsd.NsdServiceInfo, int, android.net.nsd.NsdManager.RegistrationListener);
+    method public void resolveService(android.net.nsd.NsdServiceInfo, android.net.nsd.NsdManager.ResolveListener);
+    method public void stopServiceDiscovery(android.net.nsd.NsdManager.DiscoveryListener);
+    method public void unregisterService(android.net.nsd.NsdManager.RegistrationListener);
+    field public static final String ACTION_NSD_STATE_CHANGED = "android.net.nsd.STATE_CHANGED";
+    field public static final String EXTRA_NSD_STATE = "nsd_state";
+    field public static final int FAILURE_ALREADY_ACTIVE = 3; // 0x3
+    field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0
+    field public static final int FAILURE_MAX_LIMIT = 4; // 0x4
+    field public static final int NSD_STATE_DISABLED = 1; // 0x1
+    field public static final int NSD_STATE_ENABLED = 2; // 0x2
+    field public static final int PROTOCOL_DNS_SD = 1; // 0x1
+  }
+
+  public static interface NsdManager.DiscoveryListener {
+    method public void onDiscoveryStarted(String);
+    method public void onDiscoveryStopped(String);
+    method public void onServiceFound(android.net.nsd.NsdServiceInfo);
+    method public void onServiceLost(android.net.nsd.NsdServiceInfo);
+    method public void onStartDiscoveryFailed(String, int);
+    method public void onStopDiscoveryFailed(String, int);
+  }
+
+  public static interface NsdManager.RegistrationListener {
+    method public void onRegistrationFailed(android.net.nsd.NsdServiceInfo, int);
+    method public void onServiceRegistered(android.net.nsd.NsdServiceInfo);
+    method public void onServiceUnregistered(android.net.nsd.NsdServiceInfo);
+    method public void onUnregistrationFailed(android.net.nsd.NsdServiceInfo, int);
+  }
+
+  public static interface NsdManager.ResolveListener {
+    method public void onResolveFailed(android.net.nsd.NsdServiceInfo, int);
+    method public void onServiceResolved(android.net.nsd.NsdServiceInfo);
+  }
+
+  public final class NsdServiceInfo implements android.os.Parcelable {
+    ctor public NsdServiceInfo();
+    method public int describeContents();
+    method public java.util.Map<java.lang.String,byte[]> getAttributes();
+    method public java.net.InetAddress getHost();
+    method public int getPort();
+    method public String getServiceName();
+    method public String getServiceType();
+    method public void removeAttribute(String);
+    method public void setAttribute(String, String);
+    method public void setHost(java.net.InetAddress);
+    method public void setPort(int);
+    method public void setServiceName(String);
+    method public void setServiceType(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.NsdServiceInfo> CREATOR;
+  }
+
+}
+
+package android.net.rtp {
+
+  @Deprecated public class AudioCodec {
+    method @Deprecated public static android.net.rtp.AudioCodec getCodec(int, String, String);
+    method @Deprecated public static android.net.rtp.AudioCodec[] getCodecs();
+    field @Deprecated public static final android.net.rtp.AudioCodec AMR;
+    field @Deprecated public static final android.net.rtp.AudioCodec GSM;
+    field @Deprecated public static final android.net.rtp.AudioCodec GSM_EFR;
+    field @Deprecated public static final android.net.rtp.AudioCodec PCMA;
+    field @Deprecated public static final android.net.rtp.AudioCodec PCMU;
+    field @Deprecated public final String fmtp;
+    field @Deprecated public final String rtpmap;
+    field @Deprecated public final int type;
+  }
+
+  @Deprecated public class AudioGroup {
+    ctor @Deprecated public AudioGroup();
+    ctor @Deprecated public AudioGroup(@NonNull android.content.Context);
+    method @Deprecated public void clear();
+    method @Deprecated public int getMode();
+    method @Deprecated public android.net.rtp.AudioStream[] getStreams();
+    method @Deprecated public void sendDtmf(int);
+    method @Deprecated public void setMode(int);
+    field @Deprecated public static final int MODE_ECHO_SUPPRESSION = 3; // 0x3
+    field @Deprecated public static final int MODE_MUTED = 1; // 0x1
+    field @Deprecated public static final int MODE_NORMAL = 2; // 0x2
+    field @Deprecated public static final int MODE_ON_HOLD = 0; // 0x0
+  }
+
+  @Deprecated public class AudioStream extends android.net.rtp.RtpStream {
+    ctor @Deprecated public AudioStream(java.net.InetAddress) throws java.net.SocketException;
+    method @Deprecated public android.net.rtp.AudioCodec getCodec();
+    method @Deprecated public int getDtmfType();
+    method @Deprecated public android.net.rtp.AudioGroup getGroup();
+    method @Deprecated public final boolean isBusy();
+    method @Deprecated public void join(android.net.rtp.AudioGroup);
+    method @Deprecated public void setCodec(android.net.rtp.AudioCodec);
+    method @Deprecated public void setDtmfType(int);
+  }
+
+  @Deprecated public class RtpStream {
+    method @Deprecated public void associate(java.net.InetAddress, int);
+    method @Deprecated public java.net.InetAddress getLocalAddress();
+    method @Deprecated public int getLocalPort();
+    method @Deprecated public int getMode();
+    method @Deprecated public java.net.InetAddress getRemoteAddress();
+    method @Deprecated public int getRemotePort();
+    method @Deprecated public boolean isBusy();
+    method @Deprecated public void release();
+    method @Deprecated public void setMode(int);
+    field @Deprecated public static final int MODE_NORMAL = 0; // 0x0
+    field @Deprecated public static final int MODE_RECEIVE_ONLY = 2; // 0x2
+    field @Deprecated public static final int MODE_SEND_ONLY = 1; // 0x1
+  }
+
+}
+
+package android.net.sip {
+
+  @Deprecated public class SipAudioCall {
+    ctor @Deprecated public SipAudioCall(android.content.Context, android.net.sip.SipProfile);
+    method @Deprecated public void answerCall(int) throws android.net.sip.SipException;
+    method @Deprecated public void attachCall(android.net.sip.SipSession, String) throws android.net.sip.SipException;
+    method @Deprecated public void close();
+    method @Deprecated public void continueCall(int) throws android.net.sip.SipException;
+    method @Deprecated public void endCall() throws android.net.sip.SipException;
+    method @Deprecated public android.net.sip.SipProfile getLocalProfile();
+    method @Deprecated public android.net.sip.SipProfile getPeerProfile();
+    method @Deprecated public int getState();
+    method @Deprecated public void holdCall(int) throws android.net.sip.SipException;
+    method @Deprecated public boolean isInCall();
+    method @Deprecated public boolean isMuted();
+    method @Deprecated public boolean isOnHold();
+    method @Deprecated public void makeCall(android.net.sip.SipProfile, android.net.sip.SipSession, int) throws android.net.sip.SipException;
+    method @Deprecated public void sendDtmf(int);
+    method @Deprecated public void sendDtmf(int, android.os.Message);
+    method @Deprecated public void setListener(android.net.sip.SipAudioCall.Listener);
+    method @Deprecated public void setListener(android.net.sip.SipAudioCall.Listener, boolean);
+    method @Deprecated public void setSpeakerMode(boolean);
+    method @Deprecated public void startAudio();
+    method @Deprecated public void toggleMute();
+  }
+
+  @Deprecated public static class SipAudioCall.Listener {
+    ctor @Deprecated public SipAudioCall.Listener();
+    method @Deprecated public void onCallBusy(android.net.sip.SipAudioCall);
+    method @Deprecated public void onCallEnded(android.net.sip.SipAudioCall);
+    method @Deprecated public void onCallEstablished(android.net.sip.SipAudioCall);
+    method @Deprecated public void onCallHeld(android.net.sip.SipAudioCall);
+    method @Deprecated public void onCalling(android.net.sip.SipAudioCall);
+    method @Deprecated public void onChanged(android.net.sip.SipAudioCall);
+    method @Deprecated public void onError(android.net.sip.SipAudioCall, int, String);
+    method @Deprecated public void onReadyToCall(android.net.sip.SipAudioCall);
+    method @Deprecated public void onRinging(android.net.sip.SipAudioCall, android.net.sip.SipProfile);
+    method @Deprecated public void onRingingBack(android.net.sip.SipAudioCall);
+  }
+
+  @Deprecated public class SipErrorCode {
+    method @Deprecated public static String toString(int);
+    field @Deprecated public static final int CLIENT_ERROR = -4; // 0xfffffffc
+    field @Deprecated public static final int CROSS_DOMAIN_AUTHENTICATION = -11; // 0xfffffff5
+    field @Deprecated public static final int DATA_CONNECTION_LOST = -10; // 0xfffffff6
+    field @Deprecated public static final int INVALID_CREDENTIALS = -8; // 0xfffffff8
+    field @Deprecated public static final int INVALID_REMOTE_URI = -6; // 0xfffffffa
+    field @Deprecated public static final int IN_PROGRESS = -9; // 0xfffffff7
+    field @Deprecated public static final int NO_ERROR = 0; // 0x0
+    field @Deprecated public static final int PEER_NOT_REACHABLE = -7; // 0xfffffff9
+    field @Deprecated public static final int SERVER_ERROR = -2; // 0xfffffffe
+    field @Deprecated public static final int SERVER_UNREACHABLE = -12; // 0xfffffff4
+    field @Deprecated public static final int SOCKET_ERROR = -1; // 0xffffffff
+    field @Deprecated public static final int TIME_OUT = -5; // 0xfffffffb
+    field @Deprecated public static final int TRANSACTION_TERMINTED = -3; // 0xfffffffd
+  }
+
+  @Deprecated public class SipException extends java.lang.Exception {
+    ctor @Deprecated public SipException();
+    ctor @Deprecated public SipException(String);
+    ctor @Deprecated public SipException(String, Throwable);
+  }
+
+  @Deprecated public class SipManager {
+    method @Deprecated public void close(String) throws android.net.sip.SipException;
+    method @Deprecated public android.net.sip.SipSession createSipSession(android.net.sip.SipProfile, android.net.sip.SipSession.Listener) throws android.net.sip.SipException;
+    method @Deprecated public static String getCallId(android.content.Intent);
+    method @Deprecated public static String getOfferSessionDescription(android.content.Intent);
+    method @Deprecated public android.net.sip.SipSession getSessionFor(android.content.Intent) throws android.net.sip.SipException;
+    method @Deprecated public static boolean isApiSupported(android.content.Context);
+    method @Deprecated public static boolean isIncomingCallIntent(android.content.Intent);
+    method @Deprecated public boolean isOpened(String) throws android.net.sip.SipException;
+    method @Deprecated public boolean isRegistered(String) throws android.net.sip.SipException;
+    method @Deprecated public static boolean isSipWifiOnly(android.content.Context);
+    method @Deprecated public static boolean isVoipSupported(android.content.Context);
+    method @Deprecated public android.net.sip.SipAudioCall makeAudioCall(android.net.sip.SipProfile, android.net.sip.SipProfile, android.net.sip.SipAudioCall.Listener, int) throws android.net.sip.SipException;
+    method @Deprecated public android.net.sip.SipAudioCall makeAudioCall(String, String, android.net.sip.SipAudioCall.Listener, int) throws android.net.sip.SipException;
+    method @Deprecated public static android.net.sip.SipManager newInstance(android.content.Context);
+    method @Deprecated public void open(android.net.sip.SipProfile) throws android.net.sip.SipException;
+    method @Deprecated public void open(android.net.sip.SipProfile, android.app.PendingIntent, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+    method @Deprecated public void register(android.net.sip.SipProfile, int, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+    method @Deprecated public void setRegistrationListener(String, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+    method @Deprecated public android.net.sip.SipAudioCall takeAudioCall(android.content.Intent, android.net.sip.SipAudioCall.Listener) throws android.net.sip.SipException;
+    method @Deprecated public void unregister(android.net.sip.SipProfile, android.net.sip.SipRegistrationListener) throws android.net.sip.SipException;
+    field @Deprecated public static final String EXTRA_CALL_ID = "android:sipCallID";
+    field @Deprecated public static final String EXTRA_OFFER_SD = "android:sipOfferSD";
+    field @Deprecated public static final int INCOMING_CALL_RESULT_CODE = 101; // 0x65
+  }
+
+  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
+    method @Deprecated public int describeContents();
+    method @Deprecated public String getAuthUserName();
+    method @Deprecated public boolean getAutoRegistration();
+    method @Deprecated public String getDisplayName();
+    method @Deprecated public String getPassword();
+    method @Deprecated public int getPort();
+    method @Deprecated public String getProfileName();
+    method @Deprecated public String getProtocol();
+    method @Deprecated public String getProxyAddress();
+    method @Deprecated public boolean getSendKeepAlive();
+    method @Deprecated public String getSipDomain();
+    method @Deprecated public String getUriString();
+    method @Deprecated public String getUserName();
+    method @Deprecated public void setCallingUid(int);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final android.os.Parcelable.Creator<android.net.sip.SipProfile> CREATOR;
+  }
+
+  @Deprecated public static class SipProfile.Builder {
+    ctor @Deprecated public SipProfile.Builder(android.net.sip.SipProfile);
+    ctor @Deprecated public SipProfile.Builder(String) throws java.text.ParseException;
+    ctor @Deprecated public SipProfile.Builder(String, String) throws java.text.ParseException;
+    method @Deprecated public android.net.sip.SipProfile build();
+    method @Deprecated public android.net.sip.SipProfile.Builder setAuthUserName(String);
+    method @Deprecated public android.net.sip.SipProfile.Builder setAutoRegistration(boolean);
+    method @Deprecated public android.net.sip.SipProfile.Builder setDisplayName(String);
+    method @Deprecated public android.net.sip.SipProfile.Builder setOutboundProxy(String);
+    method @Deprecated public android.net.sip.SipProfile.Builder setPassword(String);
+    method @Deprecated public android.net.sip.SipProfile.Builder setPort(int) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.net.sip.SipProfile.Builder setProfileName(String);
+    method @Deprecated public android.net.sip.SipProfile.Builder setProtocol(String) throws java.lang.IllegalArgumentException;
+    method @Deprecated public android.net.sip.SipProfile.Builder setSendKeepAlive(boolean);
+  }
+
+  @Deprecated public interface SipRegistrationListener {
+    method @Deprecated public void onRegistering(String);
+    method @Deprecated public void onRegistrationDone(String, long);
+    method @Deprecated public void onRegistrationFailed(String, int, String);
+  }
+
+  @Deprecated public final class SipSession {
+    method @Deprecated public void answerCall(String, int);
+    method @Deprecated public void changeCall(String, int);
+    method @Deprecated public void endCall();
+    method @Deprecated public String getCallId();
+    method @Deprecated public String getLocalIp();
+    method @Deprecated public android.net.sip.SipProfile getLocalProfile();
+    method @Deprecated public android.net.sip.SipProfile getPeerProfile();
+    method @Deprecated public int getState();
+    method @Deprecated public boolean isInCall();
+    method @Deprecated public void makeCall(android.net.sip.SipProfile, String, int);
+    method @Deprecated public void register(int);
+    method @Deprecated public void setListener(android.net.sip.SipSession.Listener);
+    method @Deprecated public void unregister();
+  }
+
+  @Deprecated public static class SipSession.Listener {
+    ctor @Deprecated public SipSession.Listener();
+    method @Deprecated public void onCallBusy(android.net.sip.SipSession);
+    method @Deprecated public void onCallChangeFailed(android.net.sip.SipSession, int, String);
+    method @Deprecated public void onCallEnded(android.net.sip.SipSession);
+    method @Deprecated public void onCallEstablished(android.net.sip.SipSession, String);
+    method @Deprecated public void onCalling(android.net.sip.SipSession);
+    method @Deprecated public void onError(android.net.sip.SipSession, int, String);
+    method @Deprecated public void onRegistering(android.net.sip.SipSession);
+    method @Deprecated public void onRegistrationDone(android.net.sip.SipSession, int);
+    method @Deprecated public void onRegistrationFailed(android.net.sip.SipSession, int, String);
+    method @Deprecated public void onRegistrationTimeout(android.net.sip.SipSession);
+    method @Deprecated public void onRinging(android.net.sip.SipSession, android.net.sip.SipProfile, String);
+    method @Deprecated public void onRingingBack(android.net.sip.SipSession);
+  }
+
+  @Deprecated public static class SipSession.State {
+    method @Deprecated public static String toString(int);
+    field @Deprecated public static final int DEREGISTERING = 2; // 0x2
+    field @Deprecated public static final int INCOMING_CALL = 3; // 0x3
+    field @Deprecated public static final int INCOMING_CALL_ANSWERING = 4; // 0x4
+    field @Deprecated public static final int IN_CALL = 8; // 0x8
+    field @Deprecated public static final int NOT_DEFINED = 101; // 0x65
+    field @Deprecated public static final int OUTGOING_CALL = 5; // 0x5
+    field @Deprecated public static final int OUTGOING_CALL_CANCELING = 7; // 0x7
+    field @Deprecated public static final int OUTGOING_CALL_RING_BACK = 6; // 0x6
+    field @Deprecated public static final int PINGING = 9; // 0x9
+    field @Deprecated public static final int READY_TO_CALL = 0; // 0x0
+    field @Deprecated public static final int REGISTERING = 1; // 0x1
+  }
+
+}
+
+package android.net.ssl {
+
+  public class SSLEngines {
+    method @Nullable public static byte[] exportKeyingMaterial(@NonNull javax.net.ssl.SSLEngine, @NonNull String, @Nullable byte[], int) throws javax.net.ssl.SSLException;
+    method public static boolean isSupportedEngine(@NonNull javax.net.ssl.SSLEngine);
+    method public static void setUseSessionTickets(@NonNull javax.net.ssl.SSLEngine, boolean);
+  }
+
+  public class SSLSockets {
+    method @Nullable public static byte[] exportKeyingMaterial(@NonNull javax.net.ssl.SSLSocket, @NonNull String, @Nullable byte[], int) throws javax.net.ssl.SSLException;
+    method public static boolean isSupportedSocket(@NonNull javax.net.ssl.SSLSocket);
+    method public static void setUseSessionTickets(@NonNull javax.net.ssl.SSLSocket, boolean);
+  }
+
+}
+
+package android.net.vcn {
+
+  public final class VcnConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Set<android.net.vcn.VcnGatewayConnectionConfig> getGatewayConnectionConfigs();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnConfig> CREATOR;
+  }
+
+  public static final class VcnConfig.Builder {
+    ctor public VcnConfig.Builder(@NonNull android.content.Context);
+    method @NonNull public android.net.vcn.VcnConfig.Builder addGatewayConnectionConfig(@NonNull android.net.vcn.VcnGatewayConnectionConfig);
+    method @NonNull public android.net.vcn.VcnConfig build();
+  }
+
+  public final class VcnGatewayConnectionConfig {
+    method @NonNull public int[] getExposedCapabilities();
+    method @NonNull public String getGatewayConnectionName();
+    method @IntRange(from=0x500) public int getMaxMtu();
+    method @NonNull public long[] getRetryIntervalsMillis();
+  }
+
+  public static final class VcnGatewayConnectionConfig.Builder {
+    ctor public VcnGatewayConnectionConfig.Builder(@NonNull String, @NonNull android.net.ipsec.ike.IkeTunnelConnectionParams);
+    method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder addExposedCapability(int);
+    method @NonNull public android.net.vcn.VcnGatewayConnectionConfig build();
+    method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder removeExposedCapability(int);
+    method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setMaxMtu(@IntRange(from=0x500) int);
+    method @NonNull public android.net.vcn.VcnGatewayConnectionConfig.Builder setRetryIntervalsMillis(@NonNull long[]);
+  }
+
+  public class VcnManager {
+    method @RequiresPermission("carrier privileges") public void clearVcnConfig(@NonNull android.os.ParcelUuid) throws java.io.IOException;
+    method @NonNull public java.util.List<android.os.ParcelUuid> getConfiguredSubscriptionGroups();
+    method public void registerVcnStatusCallback(@NonNull android.os.ParcelUuid, @NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnStatusCallback);
+    method @RequiresPermission("carrier privileges") public void setVcnConfig(@NonNull android.os.ParcelUuid, @NonNull android.net.vcn.VcnConfig) throws java.io.IOException;
+    method public void unregisterVcnStatusCallback(@NonNull android.net.vcn.VcnManager.VcnStatusCallback);
+    field public static final int VCN_ERROR_CODE_CONFIG_ERROR = 1; // 0x1
+    field public static final int VCN_ERROR_CODE_INTERNAL_ERROR = 0; // 0x0
+    field public static final int VCN_ERROR_CODE_NETWORK_ERROR = 2; // 0x2
+    field public static final int VCN_STATUS_CODE_ACTIVE = 2; // 0x2
+    field public static final int VCN_STATUS_CODE_INACTIVE = 1; // 0x1
+    field public static final int VCN_STATUS_CODE_NOT_CONFIGURED = 0; // 0x0
+    field public static final int VCN_STATUS_CODE_SAFE_MODE = 3; // 0x3
+  }
+
+  public abstract static class VcnManager.VcnStatusCallback {
+    ctor public VcnManager.VcnStatusCallback();
+    method public abstract void onGatewayConnectionError(@NonNull String, int, @Nullable Throwable);
+    method public abstract void onStatusChanged(int);
+  }
+
+}
+
+package android.net.wifi {
+
+  public abstract class EasyConnectStatusCallback {
+    field public static final int EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION = -2; // 0xfffffffe
+    field public static final int EASY_CONNECT_EVENT_FAILURE_BUSY = -5; // 0xfffffffb
+    field public static final int EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK = -10; // 0xfffffff6
+    field public static final int EASY_CONNECT_EVENT_FAILURE_CONFIGURATION = -4; // 0xfffffffc
+    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION = -11; // 0xfffffff5
+    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_FAILED_TO_SCAN_NETWORK_CHANNEL = -14; // 0xfffffff2
+    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION = -12; // 0xfffffff4
+    field public static final int EASY_CONNECT_EVENT_FAILURE_GENERIC = -7; // 0xfffffff9
+    field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK = -9; // 0xfffffff7
+    field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_URI = -1; // 0xffffffff
+    field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE = -3; // 0xfffffffd
+    field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED = -8; // 0xfffffff8
+    field public static final int EASY_CONNECT_EVENT_FAILURE_TIMEOUT = -6; // 0xfffffffa
+    field public static final int EASY_CONNECT_EVENT_FAILURE_URI_GENERATION = -13; // 0xfffffff3
+  }
+
+  public final class ScanResult implements android.os.Parcelable {
+    ctor public ScanResult(@NonNull android.net.wifi.ScanResult);
+    ctor public ScanResult();
+    method public static int convertChannelToFrequencyMhzIfSupported(int, int);
+    method public static int convertFrequencyMhzToChannelIfSupported(int);
+    method public int describeContents();
+    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
+    method public int getWifiStandard();
+    method public boolean is80211mcResponder();
+    method public boolean isPasspointNetwork();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public String BSSID;
+    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
+    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
+    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
+    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
+    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult> CREATOR;
+    field public String SSID;
+    field public static final int UNSPECIFIED = -1; // 0xffffffff
+    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
+    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
+    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
+    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
+    field public static final int WIFI_STANDARD_11AC = 5; // 0x5
+    field public static final int WIFI_STANDARD_11AD = 7; // 0x7
+    field public static final int WIFI_STANDARD_11AX = 6; // 0x6
+    field public static final int WIFI_STANDARD_11N = 4; // 0x4
+    field public static final int WIFI_STANDARD_LEGACY = 1; // 0x1
+    field public static final int WIFI_STANDARD_UNKNOWN = 0; // 0x0
+    field public String capabilities;
+    field public int centerFreq0;
+    field public int centerFreq1;
+    field public int channelWidth;
+    field public int frequency;
+    field public int level;
+    field @Deprecated public CharSequence operatorFriendlyName;
+    field public long timestamp;
+    field @Deprecated public CharSequence venueName;
+  }
+
+  public static class ScanResult.InformationElement implements android.os.Parcelable {
+    ctor public ScanResult.InformationElement(@NonNull android.net.wifi.ScanResult.InformationElement);
+    method public int describeContents();
+    method @NonNull public java.nio.ByteBuffer getBytes();
+    method public int getId();
+    method public int getIdExt();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult.InformationElement> CREATOR;
+  }
+
+  public final class SoftApConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.net.MacAddress getBssid();
+    method @Nullable public String getPassphrase();
+    method public int getSecurityType();
+    method @Nullable public String getSsid();
+    method public boolean isHiddenSsid();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApConfiguration> CREATOR;
+    field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
+    field public static final int SECURITY_TYPE_WPA2_PSK = 1; // 0x1
+    field public static final int SECURITY_TYPE_WPA3_SAE = 3; // 0x3
+    field public static final int SECURITY_TYPE_WPA3_SAE_TRANSITION = 2; // 0x2
+  }
+
+  public enum SupplicantState implements android.os.Parcelable {
+    method public int describeContents();
+    method public static boolean isValidState(android.net.wifi.SupplicantState);
+    method public void writeToParcel(android.os.Parcel, int);
+    enum_constant public static final android.net.wifi.SupplicantState ASSOCIATED;
+    enum_constant public static final android.net.wifi.SupplicantState ASSOCIATING;
+    enum_constant public static final android.net.wifi.SupplicantState AUTHENTICATING;
+    enum_constant public static final android.net.wifi.SupplicantState COMPLETED;
+    enum_constant public static final android.net.wifi.SupplicantState DISCONNECTED;
+    enum_constant public static final android.net.wifi.SupplicantState DORMANT;
+    enum_constant public static final android.net.wifi.SupplicantState FOUR_WAY_HANDSHAKE;
+    enum_constant public static final android.net.wifi.SupplicantState GROUP_HANDSHAKE;
+    enum_constant public static final android.net.wifi.SupplicantState INACTIVE;
+    enum_constant public static final android.net.wifi.SupplicantState INTERFACE_DISABLED;
+    enum_constant public static final android.net.wifi.SupplicantState INVALID;
+    enum_constant public static final android.net.wifi.SupplicantState SCANNING;
+    enum_constant public static final android.net.wifi.SupplicantState UNINITIALIZED;
+  }
+
+  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
+    ctor @Deprecated public WifiConfiguration();
+    ctor @Deprecated public WifiConfiguration(@NonNull android.net.wifi.WifiConfiguration);
+    method public int describeContents();
+    method @Deprecated public android.net.ProxyInfo getHttpProxy();
+    method @Deprecated @NonNull public String getKey();
+    method @Deprecated @NonNull public android.net.MacAddress getRandomizedMacAddress();
+    method @Deprecated public boolean isPasspoint();
+    method @Deprecated public void setHttpProxy(android.net.ProxyInfo);
+    method @Deprecated public void setSecurityParams(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public String BSSID;
+    field @Deprecated public String FQDN;
+    field @Deprecated public static final int SECURITY_TYPE_EAP = 3; // 0x3
+    field @Deprecated public static final int SECURITY_TYPE_EAP_SUITE_B = 5; // 0x5
+    field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
+    field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
+    field @Deprecated public static final int SECURITY_TYPE_OPEN = 0; // 0x0
+    field @Deprecated public static final int SECURITY_TYPE_OWE = 6; // 0x6
+    field @Deprecated public static final int SECURITY_TYPE_PSK = 2; // 0x2
+    field @Deprecated public static final int SECURITY_TYPE_SAE = 4; // 0x4
+    field @Deprecated public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
+    field @Deprecated public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
+    field @Deprecated public static final int SECURITY_TYPE_WEP = 1; // 0x1
+    field @Deprecated public String SSID;
+    field @Deprecated @NonNull public java.util.BitSet allowedAuthAlgorithms;
+    field @Deprecated @NonNull public java.util.BitSet allowedGroupCiphers;
+    field @Deprecated @NonNull public java.util.BitSet allowedGroupManagementCiphers;
+    field @Deprecated @NonNull public java.util.BitSet allowedKeyManagement;
+    field @Deprecated @NonNull public java.util.BitSet allowedPairwiseCiphers;
+    field @Deprecated @NonNull public java.util.BitSet allowedProtocols;
+    field @Deprecated @NonNull public java.util.BitSet allowedSuiteBCiphers;
+    field @Deprecated public android.net.wifi.WifiEnterpriseConfig enterpriseConfig;
+    field @Deprecated public boolean hiddenSSID;
+    field @Deprecated public boolean isHomeProviderNetwork;
+    field @Deprecated public int networkId;
+    field @Deprecated public String preSharedKey;
+    field @Deprecated public int priority;
+    field @Deprecated public String providerFriendlyName;
+    field @Deprecated public long[] roamingConsortiumIds;
+    field @Deprecated public int status;
+    field @Deprecated public String[] wepKeys;
+    field @Deprecated public int wepTxKeyIndex;
+  }
+
+  @Deprecated public static class WifiConfiguration.AuthAlgorithm {
+    field @Deprecated public static final int LEAP = 2; // 0x2
+    field @Deprecated public static final int OPEN = 0; // 0x0
+    field @Deprecated public static final int SAE = 3; // 0x3
+    field @Deprecated public static final int SHARED = 1; // 0x1
+    field @Deprecated public static final String[] strings;
+    field @Deprecated public static final String varName = "auth_alg";
+  }
+
+  @Deprecated public static class WifiConfiguration.GroupCipher {
+    field @Deprecated public static final int CCMP = 3; // 0x3
+    field @Deprecated public static final int GCMP_128 = 7; // 0x7
+    field @Deprecated public static final int GCMP_256 = 5; // 0x5
+    field @Deprecated public static final int SMS4 = 6; // 0x6
+    field @Deprecated public static final int TKIP = 2; // 0x2
+    field @Deprecated public static final int WEP104 = 1; // 0x1
+    field @Deprecated public static final int WEP40 = 0; // 0x0
+    field @Deprecated public static final String[] strings;
+    field @Deprecated public static final String varName = "group";
+  }
+
+  @Deprecated public static class WifiConfiguration.GroupMgmtCipher {
+    field @Deprecated public static final int BIP_CMAC_256 = 0; // 0x0
+    field @Deprecated public static final int BIP_GMAC_128 = 1; // 0x1
+    field @Deprecated public static final int BIP_GMAC_256 = 2; // 0x2
+  }
+
+  @Deprecated public static class WifiConfiguration.KeyMgmt {
+    field @Deprecated public static final int IEEE8021X = 3; // 0x3
+    field @Deprecated public static final int NONE = 0; // 0x0
+    field @Deprecated public static final int OWE = 9; // 0x9
+    field @Deprecated public static final int SAE = 8; // 0x8
+    field @Deprecated public static final int SUITE_B_192 = 10; // 0xa
+    field @Deprecated public static final int WPA_EAP = 2; // 0x2
+    field @Deprecated public static final int WPA_PSK = 1; // 0x1
+    field @Deprecated public static final String[] strings;
+    field @Deprecated public static final String varName = "key_mgmt";
+  }
+
+  @Deprecated public static class WifiConfiguration.PairwiseCipher {
+    field @Deprecated public static final int CCMP = 2; // 0x2
+    field @Deprecated public static final int GCMP_128 = 5; // 0x5
+    field @Deprecated public static final int GCMP_256 = 3; // 0x3
+    field @Deprecated public static final int NONE = 0; // 0x0
+    field @Deprecated public static final int SMS4 = 4; // 0x4
+    field @Deprecated public static final int TKIP = 1; // 0x1
+    field @Deprecated public static final String[] strings;
+    field @Deprecated public static final String varName = "pairwise";
+  }
+
+  @Deprecated public static class WifiConfiguration.Protocol {
+    field @Deprecated public static final int RSN = 1; // 0x1
+    field @Deprecated public static final int WAPI = 3; // 0x3
+    field @Deprecated public static final int WPA = 0; // 0x0
+    field @Deprecated public static final String[] strings;
+    field @Deprecated public static final String varName = "proto";
+  }
+
+  @Deprecated public static class WifiConfiguration.Status {
+    field @Deprecated public static final int CURRENT = 0; // 0x0
+    field @Deprecated public static final int DISABLED = 1; // 0x1
+    field @Deprecated public static final int ENABLED = 2; // 0x2
+    field @Deprecated public static final String[] strings;
+  }
+
+  public class WifiEnterpriseConfig implements android.os.Parcelable {
+    ctor public WifiEnterpriseConfig();
+    ctor public WifiEnterpriseConfig(android.net.wifi.WifiEnterpriseConfig);
+    method public int describeContents();
+    method public String getAltSubjectMatch();
+    method public String getAnonymousIdentity();
+    method @Nullable public java.security.cert.X509Certificate getCaCertificate();
+    method @Nullable public java.security.cert.X509Certificate[] getCaCertificates();
+    method public java.security.cert.X509Certificate getClientCertificate();
+    method @Nullable public java.security.cert.X509Certificate[] getClientCertificateChain();
+    method @Nullable public String getClientKeyPairAlias();
+    method @Nullable public java.security.PrivateKey getClientPrivateKey();
+    method @Nullable public String getDecoratedIdentityPrefix();
+    method public String getDomainSuffixMatch();
+    method public int getEapMethod();
+    method public String getIdentity();
+    method public String getPassword();
+    method public int getPhase2Method();
+    method public String getPlmn();
+    method public String getRealm();
+    method @Deprecated public String getSubjectMatch();
+    method public boolean isAuthenticationSimBased();
+    method public boolean isEapMethodServerCertUsed();
+    method public boolean isServerCertValidationEnabled();
+    method public void setAltSubjectMatch(String);
+    method public void setAnonymousIdentity(String);
+    method public void setCaCertificate(@Nullable java.security.cert.X509Certificate);
+    method public void setCaCertificates(@Nullable java.security.cert.X509Certificate[]);
+    method public void setClientKeyEntry(java.security.PrivateKey, java.security.cert.X509Certificate);
+    method public void setClientKeyEntryWithCertificateChain(java.security.PrivateKey, java.security.cert.X509Certificate[]);
+    method public void setClientKeyPairAlias(@NonNull String);
+    method public void setDecoratedIdentityPrefix(@Nullable String);
+    method public void setDomainSuffixMatch(String);
+    method public void setEapMethod(int);
+    method public void setIdentity(String);
+    method public void setPassword(String);
+    method public void setPhase2Method(int);
+    method public void setPlmn(String);
+    method public void setRealm(String);
+    method @Deprecated public void setSubjectMatch(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR;
+    field public static final String EXTRA_WAPI_AS_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_DATA";
+    field public static final String EXTRA_WAPI_AS_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_NAME";
+    field public static final String EXTRA_WAPI_USER_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_DATA";
+    field public static final String EXTRA_WAPI_USER_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_NAME";
+    field public static final String WAPI_AS_CERTIFICATE = "WAPIAS_";
+    field public static final String WAPI_USER_CERTIFICATE = "WAPIUSR_";
+  }
+
+  public static final class WifiEnterpriseConfig.Eap {
+    field public static final int AKA = 5; // 0x5
+    field public static final int AKA_PRIME = 6; // 0x6
+    field public static final int NONE = -1; // 0xffffffff
+    field public static final int PEAP = 0; // 0x0
+    field public static final int PWD = 3; // 0x3
+    field public static final int SIM = 4; // 0x4
+    field public static final int TLS = 1; // 0x1
+    field public static final int TTLS = 2; // 0x2
+    field public static final int UNAUTH_TLS = 7; // 0x7
+    field public static final int WAPI_CERT = 8; // 0x8
+  }
+
+  public static final class WifiEnterpriseConfig.Phase2 {
+    field public static final int AKA = 6; // 0x6
+    field public static final int AKA_PRIME = 7; // 0x7
+    field public static final int GTC = 4; // 0x4
+    field public static final int MSCHAP = 2; // 0x2
+    field public static final int MSCHAPV2 = 3; // 0x3
+    field public static final int NONE = 0; // 0x0
+    field public static final int PAP = 1; // 0x1
+    field public static final int SIM = 5; // 0x5
+  }
+
+  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
+    method public int describeContents();
+    method public String getBSSID();
+    method public int getCurrentSecurityType();
+    method public static android.net.NetworkInfo.DetailedState getDetailedStateOf(android.net.wifi.SupplicantState);
+    method public int getFrequency();
+    method public boolean getHiddenSSID();
+    method @Nullable public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
+    method @Deprecated public int getIpAddress();
+    method public int getLinkSpeed();
+    method @RequiresPermission(allOf={android.Manifest.permission.LOCAL_MAC_ADDRESS, android.Manifest.permission.ACCESS_FINE_LOCATION}) public String getMacAddress();
+    method public int getMaxSupportedRxLinkSpeedMbps();
+    method public int getMaxSupportedTxLinkSpeedMbps();
+    method public int getNetworkId();
+    method @Nullable public String getPasspointFqdn();
+    method @Nullable public String getPasspointProviderFriendlyName();
+    method public int getRssi();
+    method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps();
+    method public String getSSID();
+    method public int getSubscriptionId();
+    method public android.net.wifi.SupplicantState getSupplicantState();
+    method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps();
+    method public int getWifiStandard();
+    method @NonNull public android.net.wifi.WifiInfo makeCopy(long);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final String FREQUENCY_UNITS = "MHz";
+    field public static final String LINK_SPEED_UNITS = "Mbps";
+    field public static final int LINK_SPEED_UNKNOWN = -1; // 0xffffffff
+    field public static final int SECURITY_TYPE_EAP = 3; // 0x3
+    field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
+    field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
+    field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
+    field public static final int SECURITY_TYPE_OSEN = 10; // 0xa
+    field public static final int SECURITY_TYPE_OWE = 6; // 0x6
+    field public static final int SECURITY_TYPE_PASSPOINT_R1_R2 = 11; // 0xb
+    field public static final int SECURITY_TYPE_PASSPOINT_R3 = 12; // 0xc
+    field public static final int SECURITY_TYPE_PSK = 2; // 0x2
+    field public static final int SECURITY_TYPE_SAE = 4; // 0x4
+    field public static final int SECURITY_TYPE_UNKNOWN = -1; // 0xffffffff
+    field public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
+    field public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
+    field public static final int SECURITY_TYPE_WEP = 1; // 0x1
+  }
+
+  public static final class WifiInfo.Builder {
+    ctor public WifiInfo.Builder();
+    method @NonNull public android.net.wifi.WifiInfo build();
+    method @NonNull public android.net.wifi.WifiInfo.Builder setBssid(@NonNull String);
+    method @NonNull public android.net.wifi.WifiInfo.Builder setCurrentSecurityType(int);
+    method @NonNull public android.net.wifi.WifiInfo.Builder setNetworkId(int);
+    method @NonNull public android.net.wifi.WifiInfo.Builder setRssi(int);
+    method @NonNull public android.net.wifi.WifiInfo.Builder setSsid(@NonNull byte[]);
+  }
+
+  public class WifiManager {
+    method @Deprecated public int addNetwork(android.net.wifi.WifiConfiguration);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING}) public android.net.wifi.WifiManager.AddNetworkResult addNetworkPrivileged(@NonNull android.net.wifi.WifiConfiguration);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int addNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
+    method public void addOrUpdatePasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public void addSuggestionConnectionStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addSuggestionUserApprovalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
+    method @Deprecated public static int calculateSignalLevel(int, int);
+    method @IntRange(from=0) public int calculateSignalLevel(int);
+    method @Deprecated public void cancelWps(android.net.wifi.WifiManager.WpsCallback);
+    method public static int compareSignalLevel(int, int);
+    method public android.net.wifi.WifiManager.MulticastLock createMulticastLock(String);
+    method public android.net.wifi.WifiManager.WifiLock createWifiLock(int, String);
+    method @Deprecated public android.net.wifi.WifiManager.WifiLock createWifiLock(String);
+    method @Deprecated public boolean disableNetwork(int);
+    method @Deprecated public boolean disconnect();
+    method @Deprecated public boolean enableNetwork(int, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING, android.Manifest.permission.NETWORK_CARRIER_PROVISIONING}) public void flushPasspointAnqpCache();
+    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiConfiguration> getCallerConfiguredNetworks();
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public java.util.List<android.net.wifi.WifiConfiguration> getConfiguredNetworks();
+    method @Deprecated public android.net.wifi.WifiInfo getConnectionInfo();
+    method @Deprecated public android.net.DhcpInfo getDhcpInfo();
+    method public int getMaxNumberOfNetworkSuggestionsPerApp();
+    method @IntRange(from=0) public int getMaxSignalLevel();
+    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations();
+    method public java.util.List<android.net.wifi.ScanResult> getScanResults();
+    method public int getWifiState();
+    method public boolean is24GHzBandSupported();
+    method public boolean is5GHzBandSupported();
+    method public boolean is60GHzBandSupported();
+    method public boolean is6GHzBandSupported();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAutoWakeupEnabled();
+    method public boolean isBridgedApConcurrencySupported();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isCarrierNetworkOffloadEnabled(int, boolean);
+    method public boolean isDecoratedIdentitySupported();
+    method @Deprecated public boolean isDeviceToApRttSupported();
+    method public boolean isEasyConnectEnrolleeResponderModeSupported();
+    method public boolean isEasyConnectSupported();
+    method public boolean isEnhancedOpenSupported();
+    method public boolean isEnhancedPowerReportingSupported();
+    method public boolean isMakeBeforeBreakWifiSwitchingSupported();
+    method public boolean isP2pSupported();
+    method public boolean isPasspointTermsAndConditionsSupported();
+    method public boolean isPreferredNetworkOffloadSupported();
+    method @Deprecated public boolean isScanAlwaysAvailable();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isScanThrottleEnabled();
+    method public boolean isStaApConcurrencySupported();
+    method public boolean isStaBridgedApConcurrencySupported();
+    method public boolean isStaConcurrencyForLocalOnlyConnectionsSupported();
+    method public boolean isTdlsSupported();
+    method public boolean isWapiSupported();
+    method public boolean isWifiDisplayR2Supported();
+    method public boolean isWifiEnabled();
+    method public boolean isWifiStandardSupported(int);
+    method public boolean isWpa3SaeH2eSupported();
+    method public boolean isWpa3SaePublicKeySupported();
+    method public boolean isWpa3SaeSupported();
+    method public boolean isWpa3SuiteBSupported();
+    method @Deprecated public boolean pingSupplicant();
+    method @Deprecated public boolean reassociate();
+    method @Deprecated public boolean reconnect();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerScanResultsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ScanResultsCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerSubsystemRestartTrackingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
+    method @Deprecated public boolean removeNetwork(int);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int removeNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean removeNonCallerConfiguredNetworks();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_CARRIER_PROVISIONING}) public void removePasspointConfiguration(String);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionConnectionStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionUserApprovalStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
+    method @Deprecated public boolean saveConfiguration();
+    method public void setTdlsEnabled(java.net.InetAddress, boolean);
+    method public void setTdlsEnabledWithMacAddress(String, boolean);
+    method @Deprecated public boolean setWifiEnabled(boolean);
+    method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void startLocalOnlyHotspot(android.net.wifi.WifiManager.LocalOnlyHotspotCallback, @Nullable android.os.Handler);
+    method @Deprecated public boolean startScan();
+    method @Deprecated public void startWps(android.net.wifi.WpsInfo, android.net.wifi.WifiManager.WpsCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterScanResultsCallback(@NonNull android.net.wifi.WifiManager.ScanResultsCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterSubsystemRestartTrackingCallback(@NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
+    method @Deprecated public int updateNetwork(android.net.wifi.WifiConfiguration);
+    field public static final String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK";
+    field public static final String ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE = "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE";
+    field public static final String ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION = "android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION";
+    field public static final String ACTION_WIFI_SCAN_AVAILABILITY_CHANGED = "android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED";
+    field @Deprecated public static final int ERROR_AUTHENTICATING = 1; // 0x1
+    field @Deprecated public static final String EXTRA_BSSID = "bssid";
+    field public static final String EXTRA_NETWORK_INFO = "networkInfo";
+    field public static final String EXTRA_NETWORK_SUGGESTION = "android.net.wifi.extra.NETWORK_SUGGESTION";
+    field public static final String EXTRA_NEW_RSSI = "newRssi";
+    field @Deprecated public static final String EXTRA_NEW_STATE = "newState";
+    field public static final String EXTRA_PREVIOUS_WIFI_STATE = "previous_wifi_state";
+    field public static final String EXTRA_RESULTS_UPDATED = "resultsUpdated";
+    field public static final String EXTRA_SCAN_AVAILABLE = "android.net.wifi.extra.SCAN_AVAILABLE";
+    field @Deprecated public static final String EXTRA_SUPPLICANT_CONNECTED = "connected";
+    field @Deprecated public static final String EXTRA_SUPPLICANT_ERROR = "supplicantError";
+    field @Deprecated public static final String EXTRA_WIFI_INFO = "wifiInfo";
+    field public static final String EXTRA_WIFI_STATE = "wifi_state";
+    field public static final String NETWORK_IDS_CHANGED_ACTION = "android.net.wifi.NETWORK_IDS_CHANGED";
+    field public static final String NETWORK_STATE_CHANGED_ACTION = "android.net.wifi.STATE_CHANGE";
+    field public static final String RSSI_CHANGED_ACTION = "android.net.wifi.RSSI_CHANGED";
+    field public static final String SCAN_RESULTS_AVAILABLE_ACTION = "android.net.wifi.SCAN_RESULTS";
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE = 3; // 0x3
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP = 4; // 0x4
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_INVALID = 7; // 0x7
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_NOT_ALLOWED = 6; // 0x6
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED = 2; // 0x2
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5
+    field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0
+    field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4
+    field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2
+    field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1
+    field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3
+    field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0
+    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1
+    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2
+    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3
+    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final String SUPPLICANT_CONNECTION_CHANGE_ACTION = "android.net.wifi.supplicant.CONNECTION_CHANGE";
+    field @Deprecated public static final String SUPPLICANT_STATE_CHANGED_ACTION = "android.net.wifi.supplicant.STATE_CHANGE";
+    field public static final String UNKNOWN_SSID = "<unknown ssid>";
+    field @Deprecated public static final int WIFI_MODE_FULL = 1; // 0x1
+    field public static final int WIFI_MODE_FULL_HIGH_PERF = 3; // 0x3
+    field public static final int WIFI_MODE_FULL_LOW_LATENCY = 4; // 0x4
+    field @Deprecated public static final int WIFI_MODE_SCAN_ONLY = 2; // 0x2
+    field public static final String WIFI_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_STATE_CHANGED";
+    field public static final int WIFI_STATE_DISABLED = 1; // 0x1
+    field public static final int WIFI_STATE_DISABLING = 0; // 0x0
+    field public static final int WIFI_STATE_ENABLED = 3; // 0x3
+    field public static final int WIFI_STATE_ENABLING = 2; // 0x2
+    field public static final int WIFI_STATE_UNKNOWN = 4; // 0x4
+    field @Deprecated public static final int WPS_AUTH_FAILURE = 6; // 0x6
+    field @Deprecated public static final int WPS_OVERLAP_ERROR = 3; // 0x3
+    field @Deprecated public static final int WPS_TIMED_OUT = 7; // 0x7
+    field @Deprecated public static final int WPS_TKIP_ONLY_PROHIBITED = 5; // 0x5
+    field @Deprecated public static final int WPS_WEP_PROHIBITED = 4; // 0x4
+  }
+
+  public static final class WifiManager.AddNetworkResult implements android.os.Parcelable {
+    ctor public WifiManager.AddNetworkResult(int, int);
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiManager.AddNetworkResult> CREATOR;
+    field public static final int STATUS_ADD_PASSPOINT_FAILURE = 3; // 0x3
+    field public static final int STATUS_ADD_WIFI_CONFIG_FAILURE = 4; // 0x4
+    field public static final int STATUS_FAILURE_UNKNOWN = 1; // 0x1
+    field public static final int STATUS_FAILURE_UPDATE_NETWORK_KEYS = 9; // 0x9
+    field public static final int STATUS_INVALID_CONFIGURATION = 5; // 0x5
+    field public static final int STATUS_INVALID_CONFIGURATION_ENTERPRISE = 10; // 0xa
+    field public static final int STATUS_NO_PERMISSION = 2; // 0x2
+    field public static final int STATUS_NO_PERMISSION_MODIFY_CONFIG = 6; // 0x6
+    field public static final int STATUS_NO_PERMISSION_MODIFY_MAC_RANDOMIZATION = 8; // 0x8
+    field public static final int STATUS_NO_PERMISSION_MODIFY_PROXY_SETTING = 7; // 0x7
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+    field public final int networkId;
+    field public final int statusCode;
+  }
+
+  public static class WifiManager.LocalOnlyHotspotCallback {
+    ctor public WifiManager.LocalOnlyHotspotCallback();
+    method public void onFailed(int);
+    method public void onStarted(android.net.wifi.WifiManager.LocalOnlyHotspotReservation);
+    method public void onStopped();
+    field public static final int ERROR_GENERIC = 2; // 0x2
+    field public static final int ERROR_INCOMPATIBLE_MODE = 3; // 0x3
+    field public static final int ERROR_NO_CHANNEL = 1; // 0x1
+    field public static final int ERROR_TETHERING_DISALLOWED = 4; // 0x4
+  }
+
+  public class WifiManager.LocalOnlyHotspotReservation implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
+    method @Deprecated @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration();
+  }
+
+  public class WifiManager.MulticastLock {
+    method public void acquire();
+    method public boolean isHeld();
+    method public void release();
+    method public void setReferenceCounted(boolean);
+  }
+
+  public abstract static class WifiManager.ScanResultsCallback {
+    ctor public WifiManager.ScanResultsCallback();
+    method public abstract void onScanResultsAvailable();
+  }
+
+  public abstract static class WifiManager.SubsystemRestartTrackingCallback {
+    ctor public WifiManager.SubsystemRestartTrackingCallback();
+    method public abstract void onSubsystemRestarted();
+    method public abstract void onSubsystemRestarting();
+  }
+
+  public static interface WifiManager.SuggestionConnectionStatusListener {
+    method public void onConnectionStatus(@NonNull android.net.wifi.WifiNetworkSuggestion, int);
+  }
+
+  public static interface WifiManager.SuggestionUserApprovalStatusListener {
+    method public void onUserApprovalStatusChange(int);
+  }
+
+  public class WifiManager.WifiLock {
+    method public void acquire();
+    method public boolean isHeld();
+    method public void release();
+    method public void setReferenceCounted(boolean);
+    method public void setWorkSource(android.os.WorkSource);
+  }
+
+  @Deprecated public abstract static class WifiManager.WpsCallback {
+    ctor @Deprecated public WifiManager.WpsCallback();
+    method @Deprecated public abstract void onFailed(int);
+    method @Deprecated public abstract void onStarted(String);
+    method @Deprecated public abstract void onSucceeded();
+  }
+
+  public final class WifiNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getBand();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSpecifier> CREATOR;
+  }
+
+  public static final class WifiNetworkSpecifier.Builder {
+    ctor public WifiNetworkSpecifier.Builder();
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier build();
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBand(int);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssid(@NonNull android.net.MacAddress);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssidPattern(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsEnhancedOpen(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsHiddenSsid(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsid(@NonNull String);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsidPattern(@NonNull android.os.PatternMatcher);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2Passphrase(@NonNull String);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @Deprecated @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Passphrase(@NonNull String);
+  }
+
+  public final class WifiNetworkSuggestion implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.net.MacAddress getBssid();
+    method @Nullable public android.net.wifi.WifiEnterpriseConfig getEnterpriseConfig();
+    method @Nullable public String getPassphrase();
+    method @Nullable public android.net.wifi.hotspot2.PasspointConfiguration getPasspointConfig();
+    method @IntRange(from=0) public int getPriority();
+    method @IntRange(from=0) public int getPriorityGroup();
+    method @Nullable public String getSsid();
+    method public int getSubscriptionId();
+    method public boolean isAppInteractionRequired();
+    method public boolean isCarrierMerged();
+    method public boolean isCredentialSharedWithUser();
+    method public boolean isEnhancedOpen();
+    method public boolean isHiddenSsid();
+    method public boolean isInitialAutojoinEnabled();
+    method public boolean isMetered();
+    method public boolean isUntrusted();
+    method public boolean isUserInteractionRequired();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion> CREATOR;
+    field public static final int RANDOMIZATION_NON_PERSISTENT = 1; // 0x1
+    field public static final int RANDOMIZATION_PERSISTENT = 0; // 0x0
+  }
+
+  public static final class WifiNetworkSuggestion.Builder {
+    ctor public WifiNetworkSuggestion.Builder();
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion build();
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setBssid(@NonNull android.net.MacAddress);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierMerged(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCredentialSharedWithUser(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsAppInteractionRequired(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsEnhancedOpen(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsHiddenSsid(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsInitialAutojoinEnabled(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsMetered(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsWpa3SaeH2eOnlyModeEnabled(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setMacRandomizationSetting(int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPasspointConfig(@NonNull android.net.wifi.hotspot2.PasspointConfiguration);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriorityGroup(@IntRange(from=0) int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionId(int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setUntrusted(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiEnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiPassphrase(@NonNull String);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2Passphrase(@NonNull String);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @Deprecated @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Passphrase(@NonNull String);
+  }
+
+  public class WpsInfo implements android.os.Parcelable {
+    ctor public WpsInfo();
+    ctor public WpsInfo(android.net.wifi.WpsInfo);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public String BSSID;
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WpsInfo> CREATOR;
+    field public static final int DISPLAY = 1; // 0x1
+    field public static final int INVALID = 4; // 0x4
+    field public static final int KEYPAD = 2; // 0x2
+    field public static final int LABEL = 3; // 0x3
+    field public static final int PBC = 0; // 0x0
+    field public String pin;
+    field public int setup;
+  }
+
+}
+
+package android.net.wifi.aware {
+
+  public class AttachCallback {
+    ctor public AttachCallback();
+    method public void onAttachFailed();
+    method public void onAttached(android.net.wifi.aware.WifiAwareSession);
+  }
+
+  public final class AwareResources implements android.os.Parcelable {
+    ctor public AwareResources(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public int describeContents();
+    method @IntRange(from=0) public int getAvailableDataPathsCount();
+    method @IntRange(from=0) public int getAvailablePublishSessionsCount();
+    method @IntRange(from=0) public int getAvailableSubscribeSessionsCount();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareResources> CREATOR;
+  }
+
+  public final class Characteristics implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getMaxMatchFilterLength();
+    method public int getMaxServiceNameLength();
+    method public int getMaxServiceSpecificInfoLength();
+    method public int getSupportedCipherSuites();
+    method public boolean isInstantCommunicationModeSupported();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics> CREATOR;
+    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_128 = 1; // 0x1
+    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_256 = 2; // 0x2
+  }
+
+  public class DiscoverySession implements java.lang.AutoCloseable {
+    method public void close();
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(@NonNull android.net.wifi.aware.PeerHandle);
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
+    method public void sendMessage(@NonNull android.net.wifi.aware.PeerHandle, int, @Nullable byte[]);
+  }
+
+  public class DiscoverySessionCallback {
+    ctor public DiscoverySessionCallback();
+    method public void onMessageReceived(android.net.wifi.aware.PeerHandle, byte[]);
+    method public void onMessageSendFailed(int);
+    method public void onMessageSendSucceeded(int);
+    method public void onPublishStarted(@NonNull android.net.wifi.aware.PublishDiscoverySession);
+    method public void onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>);
+    method public void onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>, int);
+    method public void onServiceLost(@NonNull android.net.wifi.aware.PeerHandle, int);
+    method public void onSessionConfigFailed();
+    method public void onSessionConfigUpdated();
+    method public void onSessionTerminated();
+    method public void onSubscribeStarted(@NonNull android.net.wifi.aware.SubscribeDiscoverySession);
+  }
+
+  public class IdentityChangedListener {
+    ctor public IdentityChangedListener();
+    method public void onIdentityChanged(byte[]);
+  }
+
+  public final class ParcelablePeerHandle extends android.net.wifi.aware.PeerHandle implements android.os.Parcelable {
+    ctor public ParcelablePeerHandle(@NonNull android.net.wifi.aware.PeerHandle);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle> CREATOR;
+  }
+
+  public class PeerHandle {
+  }
+
+  public final class PublishConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.PublishConfig> CREATOR;
+    field public static final int PUBLISH_TYPE_SOLICITED = 1; // 0x1
+    field public static final int PUBLISH_TYPE_UNSOLICITED = 0; // 0x0
+  }
+
+  public static final class PublishConfig.Builder {
+    ctor public PublishConfig.Builder();
+    method public android.net.wifi.aware.PublishConfig build();
+    method public android.net.wifi.aware.PublishConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
+    method public android.net.wifi.aware.PublishConfig.Builder setPublishType(int);
+    method public android.net.wifi.aware.PublishConfig.Builder setRangingEnabled(boolean);
+    method public android.net.wifi.aware.PublishConfig.Builder setServiceName(@NonNull String);
+    method public android.net.wifi.aware.PublishConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
+    method public android.net.wifi.aware.PublishConfig.Builder setTerminateNotificationEnabled(boolean);
+    method public android.net.wifi.aware.PublishConfig.Builder setTtlSec(int);
+  }
+
+  public class PublishDiscoverySession extends android.net.wifi.aware.DiscoverySession {
+    method public void updatePublish(@NonNull android.net.wifi.aware.PublishConfig);
+  }
+
+  public final class SubscribeConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.SubscribeConfig> CREATOR;
+    field public static final int SUBSCRIBE_TYPE_ACTIVE = 1; // 0x1
+    field public static final int SUBSCRIBE_TYPE_PASSIVE = 0; // 0x0
+  }
+
+  public static final class SubscribeConfig.Builder {
+    ctor public SubscribeConfig.Builder();
+    method public android.net.wifi.aware.SubscribeConfig build();
+    method public android.net.wifi.aware.SubscribeConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setMaxDistanceMm(int);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setMinDistanceMm(int);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setServiceName(@NonNull String);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setSubscribeType(int);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setTerminateNotificationEnabled(boolean);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setTtlSec(int);
+  }
+
+  public class SubscribeDiscoverySession extends android.net.wifi.aware.DiscoverySession {
+    method public void updateSubscribe(@NonNull android.net.wifi.aware.SubscribeConfig);
+  }
+
+  public class WifiAwareManager {
+    method public void attach(@NonNull android.net.wifi.aware.AttachCallback, @Nullable android.os.Handler);
+    method public void attach(@NonNull android.net.wifi.aware.AttachCallback, @NonNull android.net.wifi.aware.IdentityChangedListener, @Nullable android.os.Handler);
+    method @Nullable public android.net.wifi.aware.AwareResources getAvailableAwareResources();
+    method @Nullable public android.net.wifi.aware.Characteristics getCharacteristics();
+    method public boolean isAvailable();
+    method public boolean isDeviceAttached();
+    method public boolean isInstantCommunicationModeEnabled();
+    field public static final String ACTION_WIFI_AWARE_STATE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED";
+    field public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0; // 0x0
+    field public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; // 0x1
+    field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_PEER_NOT_VISIBLE = 1; // 0x1
+    field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_UNKNOWN = 0; // 0x0
+  }
+
+  public final class WifiAwareNetworkInfo implements android.os.Parcelable android.net.TransportInfo {
+    method public int describeContents();
+    method @Nullable public java.net.Inet6Address getPeerIpv6Addr();
+    method public int getPort();
+    method public int getTransportProtocol();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo> CREATOR;
+  }
+
+  public final class WifiAwareNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkSpecifier> CREATOR;
+  }
+
+  public static final class WifiAwareNetworkSpecifier.Builder {
+    ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.DiscoverySession, @NonNull android.net.wifi.aware.PeerHandle);
+    ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.PublishDiscoverySession);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier build();
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPmk(@NonNull byte[]);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(@IntRange(from=0, to=65535) int);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPskPassphrase(@NonNull String);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(@IntRange(from=0, to=255) int);
+  }
+
+  public class WifiAwareSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(int, @NonNull byte[]);
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(int, @NonNull byte[], @NonNull String);
+    method public void publish(@NonNull android.net.wifi.aware.PublishConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
+    method public void subscribe(@NonNull android.net.wifi.aware.SubscribeConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
+  }
+
+}
+
+package android.net.wifi.hotspot2 {
+
+  public final class ConfigParser {
+    method public static android.net.wifi.hotspot2.PasspointConfiguration parsePasspointConfig(String, byte[]);
+  }
+
+  public final class PasspointConfiguration implements android.os.Parcelable {
+    ctor public PasspointConfiguration();
+    ctor public PasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
+    method public int describeContents();
+    method public android.net.wifi.hotspot2.pps.Credential getCredential();
+    method @Nullable public String getDecoratedIdentityPrefix();
+    method public android.net.wifi.hotspot2.pps.HomeSp getHomeSp();
+    method public long getSubscriptionExpirationTimeMillis();
+    method @NonNull public String getUniqueId();
+    method public boolean isOsuProvisioned();
+    method public void setCredential(android.net.wifi.hotspot2.pps.Credential);
+    method public void setDecoratedIdentityPrefix(@Nullable String);
+    method public void setHomeSp(android.net.wifi.hotspot2.pps.HomeSp);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.PasspointConfiguration> CREATOR;
+  }
+
+}
+
+package android.net.wifi.hotspot2.omadm {
+
+  public final class PpsMoParser {
+    method public static android.net.wifi.hotspot2.PasspointConfiguration parseMoText(String);
+  }
+
+}
+
+package android.net.wifi.hotspot2.pps {
+
+  public final class Credential implements android.os.Parcelable {
+    ctor public Credential();
+    ctor public Credential(android.net.wifi.hotspot2.pps.Credential);
+    method public int describeContents();
+    method public java.security.cert.X509Certificate getCaCertificate();
+    method public android.net.wifi.hotspot2.pps.Credential.CertificateCredential getCertCredential();
+    method public java.security.cert.X509Certificate[] getClientCertificateChain();
+    method public java.security.PrivateKey getClientPrivateKey();
+    method public String getRealm();
+    method public android.net.wifi.hotspot2.pps.Credential.SimCredential getSimCredential();
+    method public android.net.wifi.hotspot2.pps.Credential.UserCredential getUserCredential();
+    method public void setCaCertificate(java.security.cert.X509Certificate);
+    method public void setCertCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
+    method public void setClientCertificateChain(java.security.cert.X509Certificate[]);
+    method public void setClientPrivateKey(java.security.PrivateKey);
+    method public void setRealm(String);
+    method public void setSimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
+    method public void setUserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential> CREATOR;
+  }
+
+  public static final class Credential.CertificateCredential implements android.os.Parcelable {
+    ctor public Credential.CertificateCredential();
+    ctor public Credential.CertificateCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
+    method public int describeContents();
+    method public byte[] getCertSha256Fingerprint();
+    method public String getCertType();
+    method public void setCertSha256Fingerprint(byte[]);
+    method public void setCertType(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.CertificateCredential> CREATOR;
+  }
+
+  public static final class Credential.SimCredential implements android.os.Parcelable {
+    ctor public Credential.SimCredential();
+    ctor public Credential.SimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
+    method public int describeContents();
+    method public int getEapType();
+    method public String getImsi();
+    method public void setEapType(int);
+    method public void setImsi(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.SimCredential> CREATOR;
+  }
+
+  public static final class Credential.UserCredential implements android.os.Parcelable {
+    ctor public Credential.UserCredential();
+    ctor public Credential.UserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
+    method public int describeContents();
+    method public int getEapType();
+    method public String getNonEapInnerMethod();
+    method public String getPassword();
+    method public String getUsername();
+    method public void setEapType(int);
+    method public void setNonEapInnerMethod(String);
+    method public void setPassword(String);
+    method public void setUsername(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.UserCredential> CREATOR;
+  }
+
+  public final class HomeSp implements android.os.Parcelable {
+    ctor public HomeSp();
+    ctor public HomeSp(android.net.wifi.hotspot2.pps.HomeSp);
+    method public int describeContents();
+    method public String getFqdn();
+    method public String getFriendlyName();
+    method @Nullable public long[] getMatchAllOis();
+    method @Nullable public long[] getMatchAnyOis();
+    method @NonNull public java.util.Collection<java.lang.String> getOtherHomePartnersList();
+    method public long[] getRoamingConsortiumOis();
+    method public void setFqdn(String);
+    method public void setFriendlyName(String);
+    method public void setMatchAllOis(@Nullable long[]);
+    method public void setMatchAnyOis(@Nullable long[]);
+    method public void setOtherHomePartnersList(@NonNull java.util.Collection<java.lang.String>);
+    method public void setRoamingConsortiumOis(long[]);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.HomeSp> CREATOR;
+  }
+
+}
+
+package android.net.wifi.p2p {
+
+  public class WifiP2pConfig implements android.os.Parcelable {
+    ctor public WifiP2pConfig();
+    ctor public WifiP2pConfig(android.net.wifi.p2p.WifiP2pConfig);
+    method public int describeContents();
+    method public int getGroupOwnerBand();
+    method public int getNetworkId();
+    method @Nullable public String getNetworkName();
+    method @Nullable public String getPassphrase();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig> CREATOR;
+    field public static final int GROUP_OWNER_BAND_2GHZ = 1; // 0x1
+    field public static final int GROUP_OWNER_BAND_5GHZ = 2; // 0x2
+    field public static final int GROUP_OWNER_BAND_AUTO = 0; // 0x0
+    field public static final int GROUP_OWNER_INTENT_AUTO = -1; // 0xffffffff
+    field public static final int GROUP_OWNER_INTENT_MAX = 15; // 0xf
+    field public static final int GROUP_OWNER_INTENT_MIN = 0; // 0x0
+    field public String deviceAddress;
+    field @IntRange(from=0, to=15) public int groupOwnerIntent;
+    field public android.net.wifi.WpsInfo wps;
+  }
+
+  public static final class WifiP2pConfig.Builder {
+    ctor public WifiP2pConfig.Builder();
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig build();
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder enablePersistentMode(boolean);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setDeviceAddress(@Nullable android.net.MacAddress);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingBand(int);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingFrequency(int);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setNetworkName(@NonNull String);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setPassphrase(@NonNull String);
+  }
+
+  public class WifiP2pDevice implements android.os.Parcelable {
+    ctor public WifiP2pDevice();
+    ctor public WifiP2pDevice(android.net.wifi.p2p.WifiP2pDevice);
+    method public int describeContents();
+    method @Nullable public android.net.wifi.p2p.WifiP2pWfdInfo getWfdInfo();
+    method public boolean isGroupOwner();
+    method public boolean isServiceDiscoveryCapable();
+    method public void update(@NonNull android.net.wifi.p2p.WifiP2pDevice);
+    method public boolean wpsDisplaySupported();
+    method public boolean wpsKeypadSupported();
+    method public boolean wpsPbcSupported();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AVAILABLE = 3; // 0x3
+    field public static final int CONNECTED = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice> CREATOR;
+    field public static final int FAILED = 2; // 0x2
+    field public static final int INVITED = 1; // 0x1
+    field public static final int UNAVAILABLE = 4; // 0x4
+    field public String deviceAddress;
+    field public String deviceName;
+    field public String primaryDeviceType;
+    field public String secondaryDeviceType;
+    field public int status;
+  }
+
+  public class WifiP2pDeviceList implements android.os.Parcelable {
+    ctor public WifiP2pDeviceList();
+    ctor public WifiP2pDeviceList(android.net.wifi.p2p.WifiP2pDeviceList);
+    method public int describeContents();
+    method public android.net.wifi.p2p.WifiP2pDevice get(String);
+    method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getDeviceList();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDeviceList> CREATOR;
+  }
+
+  public class WifiP2pGroup implements android.os.Parcelable {
+    ctor public WifiP2pGroup();
+    ctor public WifiP2pGroup(android.net.wifi.p2p.WifiP2pGroup);
+    method public int describeContents();
+    method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getClientList();
+    method public int getFrequency();
+    method public String getInterface();
+    method public int getNetworkId();
+    method public String getNetworkName();
+    method public android.net.wifi.p2p.WifiP2pDevice getOwner();
+    method public String getPassphrase();
+    method public boolean isGroupOwner();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR;
+    field public static final int NETWORK_ID_PERSISTENT = -2; // 0xfffffffe
+    field public static final int NETWORK_ID_TEMPORARY = -1; // 0xffffffff
+  }
+
+  public class WifiP2pInfo implements android.os.Parcelable {
+    ctor public WifiP2pInfo();
+    ctor public WifiP2pInfo(android.net.wifi.p2p.WifiP2pInfo);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pInfo> CREATOR;
+    field public boolean groupFormed;
+    field public java.net.InetAddress groupOwnerAddress;
+    field public boolean isGroupOwner;
+  }
+
+  public class WifiP2pManager {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void addLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void addServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void cancelConnect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void clearLocalServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void clearServiceRequests(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void connect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void createGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void createGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void discoverPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void discoverServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public android.net.wifi.p2p.WifiP2pManager.Channel initialize(android.content.Context, android.os.Looper, android.net.wifi.p2p.WifiP2pManager.ChannelListener);
+    method public void removeGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void removeLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void removeServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void requestConnectionInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestDeviceInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DeviceInfoListener);
+    method public void requestDiscoveryState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DiscoveryStateListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestGroupInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.GroupInfoListener);
+    method public void requestNetworkInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.NetworkInfoListener);
+    method public void requestP2pState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.P2pStateListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.PeerListListener);
+    method public void setDnsSdResponseListeners(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener, android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener);
+    method public void setServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener);
+    method public void setUpnpServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener);
+    method public void stopPeerDiscovery(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    field public static final int BUSY = 2; // 0x2
+    field public static final int ERROR = 0; // 0x0
+    field public static final String EXTRA_DISCOVERY_STATE = "discoveryState";
+    field public static final String EXTRA_NETWORK_INFO = "networkInfo";
+    field public static final String EXTRA_P2P_DEVICE_LIST = "wifiP2pDeviceList";
+    field public static final String EXTRA_WIFI_P2P_DEVICE = "wifiP2pDevice";
+    field public static final String EXTRA_WIFI_P2P_GROUP = "p2pGroupInfo";
+    field public static final String EXTRA_WIFI_P2P_INFO = "wifiP2pInfo";
+    field public static final String EXTRA_WIFI_STATE = "wifi_p2p_state";
+    field public static final int NO_SERVICE_REQUESTS = 3; // 0x3
+    field public static final int P2P_UNSUPPORTED = 1; // 0x1
+    field public static final String WIFI_P2P_CONNECTION_CHANGED_ACTION = "android.net.wifi.p2p.CONNECTION_STATE_CHANGE";
+    field public static final String WIFI_P2P_DISCOVERY_CHANGED_ACTION = "android.net.wifi.p2p.DISCOVERY_STATE_CHANGE";
+    field public static final int WIFI_P2P_DISCOVERY_STARTED = 2; // 0x2
+    field public static final int WIFI_P2P_DISCOVERY_STOPPED = 1; // 0x1
+    field public static final String WIFI_P2P_PEERS_CHANGED_ACTION = "android.net.wifi.p2p.PEERS_CHANGED";
+    field public static final String WIFI_P2P_STATE_CHANGED_ACTION = "android.net.wifi.p2p.STATE_CHANGED";
+    field public static final int WIFI_P2P_STATE_DISABLED = 1; // 0x1
+    field public static final int WIFI_P2P_STATE_ENABLED = 2; // 0x2
+    field public static final String WIFI_P2P_THIS_DEVICE_CHANGED_ACTION = "android.net.wifi.p2p.THIS_DEVICE_CHANGED";
+  }
+
+  public static interface WifiP2pManager.ActionListener {
+    method public void onFailure(int);
+    method public void onSuccess();
+  }
+
+  public static class WifiP2pManager.Channel implements java.lang.AutoCloseable {
+    method public void close();
+  }
+
+  public static interface WifiP2pManager.ChannelListener {
+    method public void onChannelDisconnected();
+  }
+
+  public static interface WifiP2pManager.ConnectionInfoListener {
+    method public void onConnectionInfoAvailable(android.net.wifi.p2p.WifiP2pInfo);
+  }
+
+  public static interface WifiP2pManager.DeviceInfoListener {
+    method public void onDeviceInfoAvailable(@Nullable android.net.wifi.p2p.WifiP2pDevice);
+  }
+
+  public static interface WifiP2pManager.DiscoveryStateListener {
+    method public void onDiscoveryStateAvailable(int);
+  }
+
+  public static interface WifiP2pManager.DnsSdServiceResponseListener {
+    method public void onDnsSdServiceAvailable(String, String, android.net.wifi.p2p.WifiP2pDevice);
+  }
+
+  public static interface WifiP2pManager.DnsSdTxtRecordListener {
+    method public void onDnsSdTxtRecordAvailable(String, java.util.Map<java.lang.String,java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
+  }
+
+  public static interface WifiP2pManager.GroupInfoListener {
+    method public void onGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroup);
+  }
+
+  public static interface WifiP2pManager.NetworkInfoListener {
+    method public void onNetworkInfoAvailable(@NonNull android.net.NetworkInfo);
+  }
+
+  public static interface WifiP2pManager.P2pStateListener {
+    method public void onP2pStateAvailable(int);
+  }
+
+  public static interface WifiP2pManager.PeerListListener {
+    method public void onPeersAvailable(android.net.wifi.p2p.WifiP2pDeviceList);
+  }
+
+  public static interface WifiP2pManager.ServiceResponseListener {
+    method public void onServiceAvailable(int, byte[], android.net.wifi.p2p.WifiP2pDevice);
+  }
+
+  public static interface WifiP2pManager.UpnpServiceResponseListener {
+    method public void onUpnpServiceAvailable(java.util.List<java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
+  }
+
+  public final class WifiP2pWfdInfo implements android.os.Parcelable {
+    ctor public WifiP2pWfdInfo();
+    ctor public WifiP2pWfdInfo(@Nullable android.net.wifi.p2p.WifiP2pWfdInfo);
+    method public int describeContents();
+    method public int getControlPort();
+    method public int getDeviceInfo();
+    method public int getDeviceType();
+    method public int getMaxThroughput();
+    method public int getR2DeviceInfo();
+    method public int getR2DeviceType();
+    method public boolean isContentProtectionSupported();
+    method public boolean isCoupledSinkSupportedAtSink();
+    method public boolean isCoupledSinkSupportedAtSource();
+    method public boolean isEnabled();
+    method public boolean isR2Supported();
+    method public boolean isSessionAvailable();
+    method public void setContentProtectionSupported(boolean);
+    method public void setControlPort(@IntRange(from=0) int);
+    method public void setCoupledSinkSupportAtSink(boolean);
+    method public void setCoupledSinkSupportAtSource(boolean);
+    method public boolean setDeviceType(int);
+    method public void setEnabled(boolean);
+    method public void setMaxThroughput(@IntRange(from=0) int);
+    method public boolean setR2DeviceType(int);
+    method public void setSessionAvailable(boolean);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pWfdInfo> CREATOR;
+    field public static final int DEVICE_INFO_AUDIO_ONLY_SUPPORT_AT_SOURCE = 2048; // 0x800
+    field public static final int DEVICE_INFO_AUDIO_UNSUPPORTED_AT_PRIMARY_SINK = 1024; // 0x400
+    field public static final int DEVICE_INFO_CONTENT_PROTECTION_SUPPORT = 256; // 0x100
+    field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SINK = 8; // 0x8
+    field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SOURCE = 4; // 0x4
+    field public static final int DEVICE_INFO_DEVICE_TYPE_MASK = 3; // 0x3
+    field public static final int DEVICE_INFO_PREFERRED_CONNECTIVITY_MASK = 128; // 0x80
+    field public static final int DEVICE_INFO_SESSION_AVAILABLE_MASK = 48; // 0x30
+    field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP = 4096; // 0x1000
+    field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP_REINVOKE = 8192; // 0x2000
+    field public static final int DEVICE_INFO_TIME_SYNCHRONIZATION_SUPPORT = 512; // 0x200
+    field public static final int DEVICE_INFO_WFD_SERVICE_DISCOVERY_SUPPORT = 64; // 0x40
+    field public static final int DEVICE_TYPE_PRIMARY_SINK = 1; // 0x1
+    field public static final int DEVICE_TYPE_SECONDARY_SINK = 2; // 0x2
+    field public static final int DEVICE_TYPE_SOURCE_OR_PRIMARY_SINK = 3; // 0x3
+    field public static final int DEVICE_TYPE_WFD_SOURCE = 0; // 0x0
+    field public static final int PREFERRED_CONNECTIVITY_P2P = 0; // 0x0
+    field public static final int PREFERRED_CONNECTIVITY_TDLS = 1; // 0x1
+  }
+
+}
+
+package android.net.wifi.p2p.nsd {
+
+  public class WifiP2pDnsSdServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
+    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo newInstance(String, String, java.util.Map<java.lang.String,java.lang.String>);
+  }
+
+  public class WifiP2pDnsSdServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
+    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance();
+    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String);
+    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String, String);
+  }
+
+  public class WifiP2pServiceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int SERVICE_TYPE_ALL = 0; // 0x0
+    field public static final int SERVICE_TYPE_BONJOUR = 1; // 0x1
+    field public static final int SERVICE_TYPE_UPNP = 2; // 0x2
+    field public static final int SERVICE_TYPE_VENDOR_SPECIFIC = 255; // 0xff
+  }
+
+  public class WifiP2pServiceRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int, String);
+    method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int);
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class WifiP2pUpnpServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
+    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo newInstance(String, String, java.util.List<java.lang.String>);
+  }
+
+  public class WifiP2pUpnpServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
+    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance();
+    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance(String);
+  }
+
+}
+
+package android.net.wifi.rtt {
+
+  public class CivicLocationKeys {
+    field public static final int ADDITIONAL_CODE = 32; // 0x20
+    field public static final int APT = 26; // 0x1a
+    field public static final int BOROUGH = 4; // 0x4
+    field public static final int BRANCH_ROAD_NAME = 36; // 0x24
+    field public static final int BUILDING = 25; // 0x19
+    field public static final int CITY = 3; // 0x3
+    field public static final int COUNTY = 2; // 0x2
+    field public static final int DESK = 33; // 0x21
+    field public static final int FLOOR = 27; // 0x1b
+    field public static final int GROUP_OF_STREETS = 6; // 0x6
+    field public static final int HNO = 19; // 0x13
+    field public static final int HNS = 20; // 0x14
+    field public static final int LANGUAGE = 0; // 0x0
+    field public static final int LMK = 21; // 0x15
+    field public static final int LOC = 22; // 0x16
+    field public static final int NAM = 23; // 0x17
+    field public static final int NEIGHBORHOOD = 5; // 0x5
+    field public static final int PCN = 30; // 0x1e
+    field public static final int POD = 17; // 0x11
+    field public static final int POSTAL_CODE = 24; // 0x18
+    field public static final int PO_BOX = 31; // 0x1f
+    field public static final int PRD = 16; // 0x10
+    field public static final int PRIMARY_ROAD_NAME = 34; // 0x22
+    field public static final int ROAD_SECTION = 35; // 0x23
+    field public static final int ROOM = 28; // 0x1c
+    field public static final int SCRIPT = 128; // 0x80
+    field public static final int STATE = 1; // 0x1
+    field public static final int STREET_NAME_POST_MODIFIER = 39; // 0x27
+    field public static final int STREET_NAME_PRE_MODIFIER = 38; // 0x26
+    field public static final int STS = 18; // 0x12
+    field public static final int SUBBRANCH_ROAD_NAME = 37; // 0x25
+    field public static final int TYPE_OF_PLACE = 29; // 0x1d
+  }
+
+  public final class RangingRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public static int getDefaultRttBurstSize();
+    method public static int getMaxPeers();
+    method public static int getMaxRttBurstSize();
+    method public static int getMinRttBurstSize();
+    method public int getRttBurstSize();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest> CREATOR;
+  }
+
+  public static final class RangingRequest.Builder {
+    ctor public RangingRequest.Builder();
+    method public android.net.wifi.rtt.RangingRequest.Builder addAccessPoint(@NonNull android.net.wifi.ScanResult);
+    method public android.net.wifi.rtt.RangingRequest.Builder addAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>);
+    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoint(@NonNull android.net.wifi.ScanResult);
+    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>);
+    method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.MacAddress);
+    method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.wifi.aware.PeerHandle);
+    method public android.net.wifi.rtt.RangingRequest build();
+    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder setRttBurstSize(int);
+  }
+
+  public final class RangingResult implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getDistanceMm();
+    method public int getDistanceStdDevMm();
+    method @Nullable public android.net.MacAddress getMacAddress();
+    method public int getNumAttemptedMeasurements();
+    method public int getNumSuccessfulMeasurements();
+    method @Nullable public android.net.wifi.aware.PeerHandle getPeerHandle();
+    method public long getRangingTimestampMillis();
+    method public int getRssi();
+    method public int getStatus();
+    method @Nullable public android.net.wifi.rtt.ResponderLocation getUnverifiedResponderLocation();
+    method public boolean is80211mcMeasurement();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR;
+    field public static final int STATUS_FAIL = 1; // 0x1
+    field public static final int STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC = 2; // 0x2
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public abstract class RangingResultCallback {
+    ctor public RangingResultCallback();
+    method public abstract void onRangingFailure(int);
+    method public abstract void onRangingResults(@NonNull java.util.List<android.net.wifi.rtt.RangingResult>);
+    field public static final int STATUS_CODE_FAIL = 1; // 0x1
+    field public static final int STATUS_CODE_FAIL_RTT_NOT_AVAILABLE = 2; // 0x2
+  }
+
+  public final class ResponderLocation implements android.os.Parcelable {
+    method public int describeContents();
+    method public double getAltitude();
+    method public int getAltitudeType();
+    method public double getAltitudeUncertainty();
+    method public java.util.List<android.net.MacAddress> getColocatedBssids();
+    method public int getDatum();
+    method public int getExpectedToMove();
+    method public double getFloorNumber();
+    method public double getHeightAboveFloorMeters();
+    method public double getHeightAboveFloorUncertaintyMeters();
+    method public double getLatitude();
+    method public double getLatitudeUncertainty();
+    method public int getLciVersion();
+    method public double getLongitude();
+    method public double getLongitudeUncertainty();
+    method @Nullable public String getMapImageMimeType();
+    method @Nullable public android.net.Uri getMapImageUri();
+    method public boolean getRegisteredLocationAgreementIndication();
+    method public boolean isLciSubelementValid();
+    method public boolean isZaxisSubelementValid();
+    method @Nullable public android.location.Address toCivicLocationAddress();
+    method @Nullable public android.util.SparseArray<java.lang.String> toCivicLocationSparseArray();
+    method @NonNull public android.location.Location toLocation();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ALTITUDE_FLOORS = 2; // 0x2
+    field public static final int ALTITUDE_METERS = 1; // 0x1
+    field public static final int ALTITUDE_UNDEFINED = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderLocation> CREATOR;
+    field public static final int DATUM_NAD83_MLLW = 3; // 0x3
+    field public static final int DATUM_NAD83_NAV88 = 2; // 0x2
+    field public static final int DATUM_UNDEFINED = 0; // 0x0
+    field public static final int DATUM_WGS84 = 1; // 0x1
+    field public static final int LCI_VERSION_1 = 1; // 0x1
+    field public static final int LOCATION_FIXED = 0; // 0x0
+    field public static final int LOCATION_MOVEMENT_UNKNOWN = 2; // 0x2
+    field public static final int LOCATION_RESERVED = 3; // 0x3
+    field public static final int LOCATION_VARIABLE = 1; // 0x1
+  }
+
+  public class WifiRttManager {
+    method public boolean isAvailable();
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_WIFI_STATE}) public void startRanging(@NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback);
+    field public static final String ACTION_WIFI_RTT_STATE_CHANGED = "android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED";
+  }
+
+}
+
+package android.nfc {
+
+  public class FormatException extends java.lang.Exception {
+    ctor public FormatException();
+    ctor public FormatException(String);
+    ctor public FormatException(String, Throwable);
+  }
+
+  public final class NdefMessage implements android.os.Parcelable {
+    ctor public NdefMessage(byte[]) throws android.nfc.FormatException;
+    ctor public NdefMessage(android.nfc.NdefRecord, android.nfc.NdefRecord...);
+    ctor public NdefMessage(android.nfc.NdefRecord[]);
+    method public int describeContents();
+    method public int getByteArrayLength();
+    method public android.nfc.NdefRecord[] getRecords();
+    method public byte[] toByteArray();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.NdefMessage> CREATOR;
+  }
+
+  public final class NdefRecord implements android.os.Parcelable {
+    ctor public NdefRecord(short, byte[], byte[], byte[]);
+    ctor @Deprecated public NdefRecord(byte[]) throws android.nfc.FormatException;
+    method public static android.nfc.NdefRecord createApplicationRecord(String);
+    method public static android.nfc.NdefRecord createExternal(String, String, byte[]);
+    method public static android.nfc.NdefRecord createMime(String, byte[]);
+    method public static android.nfc.NdefRecord createTextRecord(String, String);
+    method public static android.nfc.NdefRecord createUri(android.net.Uri);
+    method public static android.nfc.NdefRecord createUri(String);
+    method public int describeContents();
+    method public byte[] getId();
+    method public byte[] getPayload();
+    method public short getTnf();
+    method public byte[] getType();
+    method @Deprecated public byte[] toByteArray();
+    method public String toMimeType();
+    method public android.net.Uri toUri();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.NdefRecord> CREATOR;
+    field public static final byte[] RTD_ALTERNATIVE_CARRIER;
+    field public static final byte[] RTD_HANDOVER_CARRIER;
+    field public static final byte[] RTD_HANDOVER_REQUEST;
+    field public static final byte[] RTD_HANDOVER_SELECT;
+    field public static final byte[] RTD_SMART_POSTER;
+    field public static final byte[] RTD_TEXT;
+    field public static final byte[] RTD_URI;
+    field public static final short TNF_ABSOLUTE_URI = 3; // 0x3
+    field public static final short TNF_EMPTY = 0; // 0x0
+    field public static final short TNF_EXTERNAL_TYPE = 4; // 0x4
+    field public static final short TNF_MIME_MEDIA = 2; // 0x2
+    field public static final short TNF_UNCHANGED = 6; // 0x6
+    field public static final short TNF_UNKNOWN = 5; // 0x5
+    field public static final short TNF_WELL_KNOWN = 1; // 0x1
+  }
+
+  public final class NfcAdapter {
+    method public void disableForegroundDispatch(android.app.Activity);
+    method @Deprecated public void disableForegroundNdefPush(android.app.Activity);
+    method public void disableReaderMode(android.app.Activity);
+    method public void enableForegroundDispatch(android.app.Activity, android.app.PendingIntent, android.content.IntentFilter[], String[][]);
+    method @Deprecated public void enableForegroundNdefPush(android.app.Activity, android.nfc.NdefMessage);
+    method public void enableReaderMode(android.app.Activity, android.nfc.NfcAdapter.ReaderCallback, int, android.os.Bundle);
+    method public static android.nfc.NfcAdapter getDefaultAdapter(android.content.Context);
+    method public boolean ignore(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler);
+    method @Deprecated public boolean invokeBeam(android.app.Activity);
+    method public boolean isEnabled();
+    method @Deprecated public boolean isNdefPushEnabled();
+    method public boolean isSecureNfcEnabled();
+    method public boolean isSecureNfcSupported();
+    method @Deprecated public void setBeamPushUris(android.net.Uri[], android.app.Activity);
+    method @Deprecated public void setBeamPushUrisCallback(android.nfc.NfcAdapter.CreateBeamUrisCallback, android.app.Activity);
+    method @Deprecated public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...);
+    method @Deprecated public void setNdefPushMessageCallback(android.nfc.NfcAdapter.CreateNdefMessageCallback, android.app.Activity, android.app.Activity...);
+    method @Deprecated public void setOnNdefPushCompleteCallback(android.nfc.NfcAdapter.OnNdefPushCompleteCallback, android.app.Activity, android.app.Activity...);
+    field public static final String ACTION_ADAPTER_STATE_CHANGED = "android.nfc.action.ADAPTER_STATE_CHANGED";
+    field public static final String ACTION_NDEF_DISCOVERED = "android.nfc.action.NDEF_DISCOVERED";
+    field @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public static final String ACTION_PREFERRED_PAYMENT_CHANGED = "android.nfc.action.PREFERRED_PAYMENT_CHANGED";
+    field public static final String ACTION_TAG_DISCOVERED = "android.nfc.action.TAG_DISCOVERED";
+    field public static final String ACTION_TECH_DISCOVERED = "android.nfc.action.TECH_DISCOVERED";
+    field @RequiresPermission(android.Manifest.permission.NFC_TRANSACTION_EVENT) public static final String ACTION_TRANSACTION_DETECTED = "android.nfc.action.TRANSACTION_DETECTED";
+    field public static final String EXTRA_ADAPTER_STATE = "android.nfc.extra.ADAPTER_STATE";
+    field public static final String EXTRA_AID = "android.nfc.extra.AID";
+    field public static final String EXTRA_DATA = "android.nfc.extra.DATA";
+    field public static final String EXTRA_ID = "android.nfc.extra.ID";
+    field public static final String EXTRA_NDEF_MESSAGES = "android.nfc.extra.NDEF_MESSAGES";
+    field public static final String EXTRA_PREFERRED_PAYMENT_CHANGED_REASON = "android.nfc.extra.PREFERRED_PAYMENT_CHANGED_REASON";
+    field public static final String EXTRA_READER_PRESENCE_CHECK_DELAY = "presence";
+    field public static final String EXTRA_SECURE_ELEMENT_NAME = "android.nfc.extra.SECURE_ELEMENT_NAME";
+    field public static final String EXTRA_TAG = "android.nfc.extra.TAG";
+    field public static final int FLAG_READER_NFC_A = 1; // 0x1
+    field public static final int FLAG_READER_NFC_B = 2; // 0x2
+    field public static final int FLAG_READER_NFC_BARCODE = 16; // 0x10
+    field public static final int FLAG_READER_NFC_F = 4; // 0x4
+    field public static final int FLAG_READER_NFC_V = 8; // 0x8
+    field public static final int FLAG_READER_NO_PLATFORM_SOUNDS = 256; // 0x100
+    field public static final int FLAG_READER_SKIP_NDEF_CHECK = 128; // 0x80
+    field public static final int PREFERRED_PAYMENT_CHANGED = 2; // 0x2
+    field public static final int PREFERRED_PAYMENT_LOADED = 1; // 0x1
+    field public static final int PREFERRED_PAYMENT_UPDATED = 3; // 0x3
+    field public static final int STATE_OFF = 1; // 0x1
+    field public static final int STATE_ON = 3; // 0x3
+    field public static final int STATE_TURNING_OFF = 4; // 0x4
+    field public static final int STATE_TURNING_ON = 2; // 0x2
+  }
+
+  @Deprecated public static interface NfcAdapter.CreateBeamUrisCallback {
+    method @Deprecated public android.net.Uri[] createBeamUris(android.nfc.NfcEvent);
+  }
+
+  @Deprecated public static interface NfcAdapter.CreateNdefMessageCallback {
+    method @Deprecated public android.nfc.NdefMessage createNdefMessage(android.nfc.NfcEvent);
+  }
+
+  @Deprecated public static interface NfcAdapter.OnNdefPushCompleteCallback {
+    method @Deprecated public void onNdefPushComplete(android.nfc.NfcEvent);
+  }
+
+  public static interface NfcAdapter.OnTagRemovedListener {
+    method public void onTagRemoved();
+  }
+
+  public static interface NfcAdapter.ReaderCallback {
+    method public void onTagDiscovered(android.nfc.Tag);
+  }
+
+  public final class NfcEvent {
+    field public final android.nfc.NfcAdapter nfcAdapter;
+    field public final int peerLlcpMajorVersion;
+    field public final int peerLlcpMinorVersion;
+  }
+
+  public final class NfcManager {
+    method public android.nfc.NfcAdapter getDefaultAdapter();
+  }
+
+  public final class Tag implements android.os.Parcelable {
+    method public int describeContents();
+    method public byte[] getId();
+    method public String[] getTechList();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.Tag> CREATOR;
+  }
+
+  public class TagLostException extends java.io.IOException {
+    ctor public TagLostException();
+    ctor public TagLostException(String);
+  }
+
+}
+
+package android.nfc.cardemulation {
+
+  public final class CardEmulation {
+    method public boolean categoryAllowsForegroundPreference(String);
+    method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public java.util.List<java.lang.String> getAidsForPreferredPaymentService();
+    method public java.util.List<java.lang.String> getAidsForService(android.content.ComponentName, String);
+    method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public CharSequence getDescriptionForPreferredPaymentService();
+    method public static android.nfc.cardemulation.CardEmulation getInstance(android.nfc.NfcAdapter);
+    method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public String getRouteDestinationForPreferredPaymentService();
+    method public int getSelectionModeForCategory(String);
+    method public boolean isDefaultServiceForAid(android.content.ComponentName, String);
+    method public boolean isDefaultServiceForCategory(android.content.ComponentName, String);
+    method public boolean registerAidsForService(android.content.ComponentName, String, java.util.List<java.lang.String>);
+    method public boolean removeAidsForService(android.content.ComponentName, String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NFC) public boolean setOffHostForService(@NonNull android.content.ComponentName, @NonNull String);
+    method public boolean setPreferredService(android.app.Activity, android.content.ComponentName);
+    method public boolean supportsAidPrefixRegistration();
+    method @NonNull @RequiresPermission(android.Manifest.permission.NFC) public boolean unsetOffHostForService(@NonNull android.content.ComponentName);
+    method public boolean unsetPreferredService(android.app.Activity);
+    field public static final String ACTION_CHANGE_DEFAULT = "android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT";
+    field public static final String CATEGORY_OTHER = "other";
+    field public static final String CATEGORY_PAYMENT = "payment";
+    field public static final String EXTRA_CATEGORY = "category";
+    field public static final String EXTRA_SERVICE_COMPONENT = "component";
+    field public static final int SELECTION_MODE_ALWAYS_ASK = 1; // 0x1
+    field public static final int SELECTION_MODE_ASK_IF_CONFLICT = 2; // 0x2
+    field public static final int SELECTION_MODE_PREFER_DEFAULT = 0; // 0x0
+  }
+
+  public abstract class HostApduService extends android.app.Service {
+    ctor public HostApduService();
+    method public final void notifyUnhandled();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract void onDeactivated(int);
+    method public abstract byte[] processCommandApdu(byte[], android.os.Bundle);
+    method public final void sendResponseApdu(byte[]);
+    field public static final int DEACTIVATION_DESELECTED = 1; // 0x1
+    field public static final int DEACTIVATION_LINK_LOSS = 0; // 0x0
+    field public static final String SERVICE_INTERFACE = "android.nfc.cardemulation.action.HOST_APDU_SERVICE";
+    field public static final String SERVICE_META_DATA = "android.nfc.cardemulation.host_apdu_service";
+  }
+
+  public abstract class HostNfcFService extends android.app.Service {
+    ctor public HostNfcFService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract void onDeactivated(int);
+    method public abstract byte[] processNfcFPacket(byte[], android.os.Bundle);
+    method public final void sendResponsePacket(byte[]);
+    field public static final int DEACTIVATION_LINK_LOSS = 0; // 0x0
+    field public static final String SERVICE_INTERFACE = "android.nfc.cardemulation.action.HOST_NFCF_SERVICE";
+    field public static final String SERVICE_META_DATA = "android.nfc.cardemulation.host_nfcf_service";
+  }
+
+  public final class NfcFCardEmulation {
+    method public boolean disableService(android.app.Activity) throws java.lang.RuntimeException;
+    method public boolean enableService(android.app.Activity, android.content.ComponentName) throws java.lang.RuntimeException;
+    method public static android.nfc.cardemulation.NfcFCardEmulation getInstance(android.nfc.NfcAdapter);
+    method public String getNfcid2ForService(android.content.ComponentName) throws java.lang.RuntimeException;
+    method public String getSystemCodeForService(android.content.ComponentName) throws java.lang.RuntimeException;
+    method public boolean registerSystemCodeForService(android.content.ComponentName, String) throws java.lang.RuntimeException;
+    method public boolean setNfcid2ForService(android.content.ComponentName, String) throws java.lang.RuntimeException;
+    method public boolean unregisterSystemCodeForService(android.content.ComponentName) throws java.lang.RuntimeException;
+  }
+
+  public abstract class OffHostApduService extends android.app.Service {
+    ctor public OffHostApduService();
+    field public static final String SERVICE_INTERFACE = "android.nfc.cardemulation.action.OFF_HOST_APDU_SERVICE";
+    field public static final String SERVICE_META_DATA = "android.nfc.cardemulation.off_host_apdu_service";
+  }
+
+}
+
+package android.nfc.tech {
+
+  public final class IsoDep implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.IsoDep get(android.nfc.Tag);
+    method public byte[] getHiLayerResponse();
+    method public byte[] getHistoricalBytes();
+    method public int getMaxTransceiveLength();
+    method public android.nfc.Tag getTag();
+    method public int getTimeout();
+    method public boolean isConnected();
+    method public boolean isExtendedLengthApduSupported();
+    method public void setTimeout(int);
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+  }
+
+  public final class MifareClassic implements android.nfc.tech.TagTechnology {
+    method public boolean authenticateSectorWithKeyA(int, byte[]) throws java.io.IOException;
+    method public boolean authenticateSectorWithKeyB(int, byte[]) throws java.io.IOException;
+    method public int blockToSector(int);
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public void decrement(int, int) throws java.io.IOException;
+    method public static android.nfc.tech.MifareClassic get(android.nfc.Tag);
+    method public int getBlockCount();
+    method public int getBlockCountInSector(int);
+    method public int getMaxTransceiveLength();
+    method public int getSectorCount();
+    method public int getSize();
+    method public android.nfc.Tag getTag();
+    method public int getTimeout();
+    method public int getType();
+    method public void increment(int, int) throws java.io.IOException;
+    method public boolean isConnected();
+    method public byte[] readBlock(int) throws java.io.IOException;
+    method public void restore(int) throws java.io.IOException;
+    method public int sectorToBlock(int);
+    method public void setTimeout(int);
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+    method public void transfer(int) throws java.io.IOException;
+    method public void writeBlock(int, byte[]) throws java.io.IOException;
+    field public static final int BLOCK_SIZE = 16; // 0x10
+    field public static final byte[] KEY_DEFAULT;
+    field public static final byte[] KEY_MIFARE_APPLICATION_DIRECTORY;
+    field public static final byte[] KEY_NFC_FORUM;
+    field public static final int SIZE_1K = 1024; // 0x400
+    field public static final int SIZE_2K = 2048; // 0x800
+    field public static final int SIZE_4K = 4096; // 0x1000
+    field public static final int SIZE_MINI = 320; // 0x140
+    field public static final int TYPE_CLASSIC = 0; // 0x0
+    field public static final int TYPE_PLUS = 1; // 0x1
+    field public static final int TYPE_PRO = 2; // 0x2
+    field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class MifareUltralight implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.MifareUltralight get(android.nfc.Tag);
+    method public int getMaxTransceiveLength();
+    method public android.nfc.Tag getTag();
+    method public int getTimeout();
+    method public int getType();
+    method public boolean isConnected();
+    method public byte[] readPages(int) throws java.io.IOException;
+    method public void setTimeout(int);
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+    method public void writePage(int, byte[]) throws java.io.IOException;
+    field public static final int PAGE_SIZE = 4; // 0x4
+    field public static final int TYPE_ULTRALIGHT = 1; // 0x1
+    field public static final int TYPE_ULTRALIGHT_C = 2; // 0x2
+    field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class Ndef implements android.nfc.tech.TagTechnology {
+    method public boolean canMakeReadOnly();
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.Ndef get(android.nfc.Tag);
+    method public android.nfc.NdefMessage getCachedNdefMessage();
+    method public int getMaxSize();
+    method public android.nfc.NdefMessage getNdefMessage() throws android.nfc.FormatException, java.io.IOException;
+    method public android.nfc.Tag getTag();
+    method public String getType();
+    method public boolean isConnected();
+    method public boolean isWritable();
+    method public boolean makeReadOnly() throws java.io.IOException;
+    method public void writeNdefMessage(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException;
+    field public static final String MIFARE_CLASSIC = "com.nxp.ndef.mifareclassic";
+    field public static final String NFC_FORUM_TYPE_1 = "org.nfcforum.ndef.type1";
+    field public static final String NFC_FORUM_TYPE_2 = "org.nfcforum.ndef.type2";
+    field public static final String NFC_FORUM_TYPE_3 = "org.nfcforum.ndef.type3";
+    field public static final String NFC_FORUM_TYPE_4 = "org.nfcforum.ndef.type4";
+  }
+
+  public final class NdefFormatable implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public void format(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException;
+    method public void formatReadOnly(android.nfc.NdefMessage) throws android.nfc.FormatException, java.io.IOException;
+    method public static android.nfc.tech.NdefFormatable get(android.nfc.Tag);
+    method public android.nfc.Tag getTag();
+    method public boolean isConnected();
+  }
+
+  public final class NfcA implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.NfcA get(android.nfc.Tag);
+    method public byte[] getAtqa();
+    method public int getMaxTransceiveLength();
+    method public short getSak();
+    method public android.nfc.Tag getTag();
+    method public int getTimeout();
+    method public boolean isConnected();
+    method public void setTimeout(int);
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+  }
+
+  public final class NfcB implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.NfcB get(android.nfc.Tag);
+    method public byte[] getApplicationData();
+    method public int getMaxTransceiveLength();
+    method public byte[] getProtocolInfo();
+    method public android.nfc.Tag getTag();
+    method public boolean isConnected();
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+  }
+
+  public final class NfcBarcode implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.NfcBarcode get(android.nfc.Tag);
+    method public byte[] getBarcode();
+    method public android.nfc.Tag getTag();
+    method public int getType();
+    method public boolean isConnected();
+    field public static final int TYPE_KOVIO = 1; // 0x1
+    field public static final int TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class NfcF implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.NfcF get(android.nfc.Tag);
+    method public byte[] getManufacturer();
+    method public int getMaxTransceiveLength();
+    method public byte[] getSystemCode();
+    method public android.nfc.Tag getTag();
+    method public int getTimeout();
+    method public boolean isConnected();
+    method public void setTimeout(int);
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+  }
+
+  public final class NfcV implements android.nfc.tech.TagTechnology {
+    method public void close() throws java.io.IOException;
+    method public void connect() throws java.io.IOException;
+    method public static android.nfc.tech.NfcV get(android.nfc.Tag);
+    method public byte getDsfId();
+    method public int getMaxTransceiveLength();
+    method public byte getResponseFlags();
+    method public android.nfc.Tag getTag();
+    method public boolean isConnected();
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+  }
+
+  public interface TagTechnology extends java.io.Closeable {
+    method public void connect() throws java.io.IOException;
+    method public android.nfc.Tag getTag();
+    method public boolean isConnected();
+  }
+
+}
+
+package android.opengl {
+
+  public class EGL14 {
+    ctor public EGL14();
+    method public static boolean eglBindAPI(int);
+    method public static boolean eglBindTexImage(android.opengl.EGLDisplay, android.opengl.EGLSurface, int);
+    method public static boolean eglChooseConfig(android.opengl.EGLDisplay, int[], int, android.opengl.EGLConfig[], int, int, int[], int);
+    method public static boolean eglCopyBuffers(android.opengl.EGLDisplay, android.opengl.EGLSurface, int);
+    method public static android.opengl.EGLContext eglCreateContext(android.opengl.EGLDisplay, android.opengl.EGLConfig, android.opengl.EGLContext, int[], int);
+    method public static android.opengl.EGLSurface eglCreatePbufferFromClientBuffer(android.opengl.EGLDisplay, int, int, android.opengl.EGLConfig, int[], int);
+    method public static android.opengl.EGLSurface eglCreatePbufferSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int[], int);
+    method @Deprecated public static android.opengl.EGLSurface eglCreatePixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int);
+    method public static android.opengl.EGLSurface eglCreateWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, Object, int[], int);
+    method public static boolean eglDestroyContext(android.opengl.EGLDisplay, android.opengl.EGLContext);
+    method public static boolean eglDestroySurface(android.opengl.EGLDisplay, android.opengl.EGLSurface);
+    method public static boolean eglGetConfigAttrib(android.opengl.EGLDisplay, android.opengl.EGLConfig, int, int[], int);
+    method public static boolean eglGetConfigs(android.opengl.EGLDisplay, android.opengl.EGLConfig[], int, int, int[], int);
+    method public static android.opengl.EGLContext eglGetCurrentContext();
+    method public static android.opengl.EGLDisplay eglGetCurrentDisplay();
+    method public static android.opengl.EGLSurface eglGetCurrentSurface(int);
+    method public static android.opengl.EGLDisplay eglGetDisplay(int);
+    method public static int eglGetError();
+    method public static boolean eglInitialize(android.opengl.EGLDisplay, int[], int, int[], int);
+    method public static boolean eglMakeCurrent(android.opengl.EGLDisplay, android.opengl.EGLSurface, android.opengl.EGLSurface, android.opengl.EGLContext);
+    method public static int eglQueryAPI();
+    method public static boolean eglQueryContext(android.opengl.EGLDisplay, android.opengl.EGLContext, int, int[], int);
+    method public static String eglQueryString(android.opengl.EGLDisplay, int);
+    method public static boolean eglQuerySurface(android.opengl.EGLDisplay, android.opengl.EGLSurface, int, int[], int);
+    method public static boolean eglReleaseTexImage(android.opengl.EGLDisplay, android.opengl.EGLSurface, int);
+    method public static boolean eglReleaseThread();
+    method public static boolean eglSurfaceAttrib(android.opengl.EGLDisplay, android.opengl.EGLSurface, int, int);
+    method public static boolean eglSwapBuffers(android.opengl.EGLDisplay, android.opengl.EGLSurface);
+    method public static boolean eglSwapInterval(android.opengl.EGLDisplay, int);
+    method public static boolean eglTerminate(android.opengl.EGLDisplay);
+    method public static boolean eglWaitClient();
+    method public static boolean eglWaitGL();
+    method public static boolean eglWaitNative(int);
+    field public static final int EGL_ALPHA_MASK_SIZE = 12350; // 0x303e
+    field public static final int EGL_ALPHA_SIZE = 12321; // 0x3021
+    field public static final int EGL_BACK_BUFFER = 12420; // 0x3084
+    field public static final int EGL_BAD_ACCESS = 12290; // 0x3002
+    field public static final int EGL_BAD_ALLOC = 12291; // 0x3003
+    field public static final int EGL_BAD_ATTRIBUTE = 12292; // 0x3004
+    field public static final int EGL_BAD_CONFIG = 12293; // 0x3005
+    field public static final int EGL_BAD_CONTEXT = 12294; // 0x3006
+    field public static final int EGL_BAD_CURRENT_SURFACE = 12295; // 0x3007
+    field public static final int EGL_BAD_DISPLAY = 12296; // 0x3008
+    field public static final int EGL_BAD_MATCH = 12297; // 0x3009
+    field public static final int EGL_BAD_NATIVE_PIXMAP = 12298; // 0x300a
+    field public static final int EGL_BAD_NATIVE_WINDOW = 12299; // 0x300b
+    field public static final int EGL_BAD_PARAMETER = 12300; // 0x300c
+    field public static final int EGL_BAD_SURFACE = 12301; // 0x300d
+    field public static final int EGL_BIND_TO_TEXTURE_RGB = 12345; // 0x3039
+    field public static final int EGL_BIND_TO_TEXTURE_RGBA = 12346; // 0x303a
+    field public static final int EGL_BLUE_SIZE = 12322; // 0x3022
+    field public static final int EGL_BUFFER_DESTROYED = 12437; // 0x3095
+    field public static final int EGL_BUFFER_PRESERVED = 12436; // 0x3094
+    field public static final int EGL_BUFFER_SIZE = 12320; // 0x3020
+    field public static final int EGL_CLIENT_APIS = 12429; // 0x308d
+    field public static final int EGL_COLOR_BUFFER_TYPE = 12351; // 0x303f
+    field public static final int EGL_CONFIG_CAVEAT = 12327; // 0x3027
+    field public static final int EGL_CONFIG_ID = 12328; // 0x3028
+    field public static final int EGL_CONFORMANT = 12354; // 0x3042
+    field public static final int EGL_CONTEXT_CLIENT_TYPE = 12439; // 0x3097
+    field public static final int EGL_CONTEXT_CLIENT_VERSION = 12440; // 0x3098
+    field public static final int EGL_CONTEXT_LOST = 12302; // 0x300e
+    field public static final int EGL_CORE_NATIVE_ENGINE = 12379; // 0x305b
+    field public static final int EGL_DEFAULT_DISPLAY = 0; // 0x0
+    field public static final int EGL_DEPTH_SIZE = 12325; // 0x3025
+    field public static final int EGL_DISPLAY_SCALING = 10000; // 0x2710
+    field public static final int EGL_DRAW = 12377; // 0x3059
+    field public static final int EGL_EXTENSIONS = 12373; // 0x3055
+    field public static final int EGL_FALSE = 0; // 0x0
+    field public static final int EGL_GREEN_SIZE = 12323; // 0x3023
+    field public static final int EGL_HEIGHT = 12374; // 0x3056
+    field public static final int EGL_HORIZONTAL_RESOLUTION = 12432; // 0x3090
+    field public static final int EGL_LARGEST_PBUFFER = 12376; // 0x3058
+    field public static final int EGL_LEVEL = 12329; // 0x3029
+    field public static final int EGL_LUMINANCE_BUFFER = 12431; // 0x308f
+    field public static final int EGL_LUMINANCE_SIZE = 12349; // 0x303d
+    field public static final int EGL_MATCH_NATIVE_PIXMAP = 12353; // 0x3041
+    field public static final int EGL_MAX_PBUFFER_HEIGHT = 12330; // 0x302a
+    field public static final int EGL_MAX_PBUFFER_PIXELS = 12331; // 0x302b
+    field public static final int EGL_MAX_PBUFFER_WIDTH = 12332; // 0x302c
+    field public static final int EGL_MAX_SWAP_INTERVAL = 12348; // 0x303c
+    field public static final int EGL_MIN_SWAP_INTERVAL = 12347; // 0x303b
+    field public static final int EGL_MIPMAP_LEVEL = 12419; // 0x3083
+    field public static final int EGL_MIPMAP_TEXTURE = 12418; // 0x3082
+    field public static final int EGL_MULTISAMPLE_RESOLVE = 12441; // 0x3099
+    field public static final int EGL_MULTISAMPLE_RESOLVE_BOX = 12443; // 0x309b
+    field public static final int EGL_MULTISAMPLE_RESOLVE_BOX_BIT = 512; // 0x200
+    field public static final int EGL_MULTISAMPLE_RESOLVE_DEFAULT = 12442; // 0x309a
+    field public static final int EGL_NATIVE_RENDERABLE = 12333; // 0x302d
+    field public static final int EGL_NATIVE_VISUAL_ID = 12334; // 0x302e
+    field public static final int EGL_NATIVE_VISUAL_TYPE = 12335; // 0x302f
+    field public static final int EGL_NONE = 12344; // 0x3038
+    field public static final int EGL_NON_CONFORMANT_CONFIG = 12369; // 0x3051
+    field public static final int EGL_NOT_INITIALIZED = 12289; // 0x3001
+    field public static android.opengl.EGLContext EGL_NO_CONTEXT;
+    field public static android.opengl.EGLDisplay EGL_NO_DISPLAY;
+    field public static android.opengl.EGLSurface EGL_NO_SURFACE;
+    field public static final int EGL_NO_TEXTURE = 12380; // 0x305c
+    field public static final int EGL_OPENGL_API = 12450; // 0x30a2
+    field public static final int EGL_OPENGL_BIT = 8; // 0x8
+    field public static final int EGL_OPENGL_ES2_BIT = 4; // 0x4
+    field public static final int EGL_OPENGL_ES_API = 12448; // 0x30a0
+    field public static final int EGL_OPENGL_ES_BIT = 1; // 0x1
+    field public static final int EGL_OPENVG_API = 12449; // 0x30a1
+    field public static final int EGL_OPENVG_BIT = 2; // 0x2
+    field public static final int EGL_OPENVG_IMAGE = 12438; // 0x3096
+    field public static final int EGL_PBUFFER_BIT = 1; // 0x1
+    field public static final int EGL_PIXEL_ASPECT_RATIO = 12434; // 0x3092
+    field public static final int EGL_PIXMAP_BIT = 2; // 0x2
+    field public static final int EGL_READ = 12378; // 0x305a
+    field public static final int EGL_RED_SIZE = 12324; // 0x3024
+    field public static final int EGL_RENDERABLE_TYPE = 12352; // 0x3040
+    field public static final int EGL_RENDER_BUFFER = 12422; // 0x3086
+    field public static final int EGL_RGB_BUFFER = 12430; // 0x308e
+    field public static final int EGL_SAMPLES = 12337; // 0x3031
+    field public static final int EGL_SAMPLE_BUFFERS = 12338; // 0x3032
+    field public static final int EGL_SINGLE_BUFFER = 12421; // 0x3085
+    field public static final int EGL_SLOW_CONFIG = 12368; // 0x3050
+    field public static final int EGL_STENCIL_SIZE = 12326; // 0x3026
+    field public static final int EGL_SUCCESS = 12288; // 0x3000
+    field public static final int EGL_SURFACE_TYPE = 12339; // 0x3033
+    field public static final int EGL_SWAP_BEHAVIOR = 12435; // 0x3093
+    field public static final int EGL_SWAP_BEHAVIOR_PRESERVED_BIT = 1024; // 0x400
+    field public static final int EGL_TEXTURE_2D = 12383; // 0x305f
+    field public static final int EGL_TEXTURE_FORMAT = 12416; // 0x3080
+    field public static final int EGL_TEXTURE_RGB = 12381; // 0x305d
+    field public static final int EGL_TEXTURE_RGBA = 12382; // 0x305e
+    field public static final int EGL_TEXTURE_TARGET = 12417; // 0x3081
+    field public static final int EGL_TRANSPARENT_BLUE_VALUE = 12341; // 0x3035
+    field public static final int EGL_TRANSPARENT_GREEN_VALUE = 12342; // 0x3036
+    field public static final int EGL_TRANSPARENT_RED_VALUE = 12343; // 0x3037
+    field public static final int EGL_TRANSPARENT_RGB = 12370; // 0x3052
+    field public static final int EGL_TRANSPARENT_TYPE = 12340; // 0x3034
+    field public static final int EGL_TRUE = 1; // 0x1
+    field public static final int EGL_VENDOR = 12371; // 0x3053
+    field public static final int EGL_VERSION = 12372; // 0x3054
+    field public static final int EGL_VERTICAL_RESOLUTION = 12433; // 0x3091
+    field public static final int EGL_VG_ALPHA_FORMAT = 12424; // 0x3088
+    field public static final int EGL_VG_ALPHA_FORMAT_NONPRE = 12427; // 0x308b
+    field public static final int EGL_VG_ALPHA_FORMAT_PRE = 12428; // 0x308c
+    field public static final int EGL_VG_ALPHA_FORMAT_PRE_BIT = 64; // 0x40
+    field public static final int EGL_VG_COLORSPACE = 12423; // 0x3087
+    field public static final int EGL_VG_COLORSPACE_LINEAR = 12426; // 0x308a
+    field public static final int EGL_VG_COLORSPACE_LINEAR_BIT = 32; // 0x20
+    field public static final int EGL_VG_COLORSPACE_sRGB = 12425; // 0x3089
+    field public static final int EGL_WIDTH = 12375; // 0x3057
+    field public static final int EGL_WINDOW_BIT = 4; // 0x4
+  }
+
+  public final class EGL15 {
+    method public static int eglClientWaitSync(android.opengl.EGLDisplay, android.opengl.EGLSync, int, long);
+    method public static android.opengl.EGLImage eglCreateImage(android.opengl.EGLDisplay, android.opengl.EGLContext, int, long, long[], int);
+    method public static android.opengl.EGLSurface eglCreatePlatformPixmapSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, java.nio.Buffer, long[], int);
+    method public static android.opengl.EGLSurface eglCreatePlatformWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, java.nio.Buffer, long[], int);
+    method public static android.opengl.EGLSync eglCreateSync(android.opengl.EGLDisplay, int, long[], int);
+    method public static boolean eglDestroyImage(android.opengl.EGLDisplay, android.opengl.EGLImage);
+    method public static boolean eglDestroySync(android.opengl.EGLDisplay, android.opengl.EGLSync);
+    method public static android.opengl.EGLDisplay eglGetPlatformDisplay(int, long, long[], int);
+    method public static boolean eglGetSyncAttrib(android.opengl.EGLDisplay, android.opengl.EGLSync, int, long[], int);
+    method public static boolean eglWaitSync(android.opengl.EGLDisplay, android.opengl.EGLSync, int);
+    field public static final int EGL_CL_EVENT_HANDLE = 12444; // 0x309c
+    field public static final int EGL_CONDITION_SATISFIED = 12534; // 0x30f6
+    field public static final int EGL_CONTEXT_MAJOR_VERSION = 12440; // 0x3098
+    field public static final int EGL_CONTEXT_MINOR_VERSION = 12539; // 0x30fb
+    field public static final int EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT = 2; // 0x2
+    field public static final int EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT = 1; // 0x1
+    field public static final int EGL_CONTEXT_OPENGL_DEBUG = 12720; // 0x31b0
+    field public static final int EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE = 12721; // 0x31b1
+    field public static final int EGL_CONTEXT_OPENGL_PROFILE_MASK = 12541; // 0x30fd
+    field public static final int EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY = 12733; // 0x31bd
+    field public static final int EGL_CONTEXT_OPENGL_ROBUST_ACCESS = 12722; // 0x31b2
+    field public static final long EGL_FOREVER = -1L; // 0xffffffffffffffffL
+    field public static final int EGL_GL_COLORSPACE = 12445; // 0x309d
+    field public static final int EGL_GL_COLORSPACE_LINEAR = 12426; // 0x308a
+    field public static final int EGL_GL_COLORSPACE_SRGB = 12425; // 0x3089
+    field public static final int EGL_GL_RENDERBUFFER = 12473; // 0x30b9
+    field public static final int EGL_GL_TEXTURE_2D = 12465; // 0x30b1
+    field public static final int EGL_GL_TEXTURE_3D = 12466; // 0x30b2
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 12468; // 0x30b4
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 12470; // 0x30b6
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 12472; // 0x30b8
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X = 12467; // 0x30b3
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 12469; // 0x30b5
+    field public static final int EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 12471; // 0x30b7
+    field public static final int EGL_GL_TEXTURE_LEVEL = 12476; // 0x30bc
+    field public static final int EGL_GL_TEXTURE_ZOFFSET = 12477; // 0x30bd
+    field public static final int EGL_IMAGE_PRESERVED = 12498; // 0x30d2
+    field public static final int EGL_LOSE_CONTEXT_ON_RESET = 12735; // 0x31bf
+    field public static final android.opengl.EGLContext EGL_NO_CONTEXT;
+    field public static final android.opengl.EGLDisplay EGL_NO_DISPLAY;
+    field public static final android.opengl.EGLImage EGL_NO_IMAGE;
+    field public static final int EGL_NO_RESET_NOTIFICATION = 12734; // 0x31be
+    field public static final android.opengl.EGLSurface EGL_NO_SURFACE;
+    field public static final android.opengl.EGLSync EGL_NO_SYNC;
+    field public static final int EGL_OPENGL_ES3_BIT = 64; // 0x40
+    field public static final int EGL_PLATFORM_ANDROID_KHR = 12609; // 0x3141
+    field public static final int EGL_SIGNALED = 12530; // 0x30f2
+    field public static final int EGL_SYNC_CL_EVENT = 12542; // 0x30fe
+    field public static final int EGL_SYNC_CL_EVENT_COMPLETE = 12543; // 0x30ff
+    field public static final int EGL_SYNC_CONDITION = 12536; // 0x30f8
+    field public static final int EGL_SYNC_FENCE = 12537; // 0x30f9
+    field public static final int EGL_SYNC_FLUSH_COMMANDS_BIT = 1; // 0x1
+    field public static final int EGL_SYNC_PRIOR_COMMANDS_COMPLETE = 12528; // 0x30f0
+    field public static final int EGL_SYNC_STATUS = 12529; // 0x30f1
+    field public static final int EGL_SYNC_TYPE = 12535; // 0x30f7
+    field public static final int EGL_TIMEOUT_EXPIRED = 12533; // 0x30f5
+    field public static final int EGL_UNSIGNALED = 12531; // 0x30f3
+  }
+
+  public class EGLConfig extends android.opengl.EGLObjectHandle {
+  }
+
+  public class EGLContext extends android.opengl.EGLObjectHandle {
+  }
+
+  public class EGLDisplay extends android.opengl.EGLObjectHandle {
+  }
+
+  public class EGLExt {
+    ctor public EGLExt();
+    method public static boolean eglPresentationTimeANDROID(android.opengl.EGLDisplay, android.opengl.EGLSurface, long);
+    field public static final int EGL_CONTEXT_FLAGS_KHR = 12540; // 0x30fc
+    field public static final int EGL_CONTEXT_MAJOR_VERSION_KHR = 12440; // 0x3098
+    field public static final int EGL_CONTEXT_MINOR_VERSION_KHR = 12539; // 0x30fb
+    field public static final int EGL_OPENGL_ES3_BIT_KHR = 64; // 0x40
+    field public static final int EGL_RECORDABLE_ANDROID = 12610; // 0x3142
+  }
+
+  public class EGLImage extends android.opengl.EGLObjectHandle {
+  }
+
+  public abstract class EGLObjectHandle {
+    ctor @Deprecated protected EGLObjectHandle(int);
+    ctor protected EGLObjectHandle(long);
+    method @Deprecated public int getHandle();
+    method public long getNativeHandle();
+  }
+
+  public class EGLSurface extends android.opengl.EGLObjectHandle {
+  }
+
+  public class EGLSync extends android.opengl.EGLObjectHandle {
+  }
+
+  public class ETC1 {
+    ctor public ETC1();
+    method public static void decodeBlock(java.nio.Buffer, java.nio.Buffer);
+    method public static void decodeImage(java.nio.Buffer, java.nio.Buffer, int, int, int, int);
+    method public static void encodeBlock(java.nio.Buffer, int, java.nio.Buffer);
+    method public static void encodeImage(java.nio.Buffer, int, int, int, int, java.nio.Buffer);
+    method public static void formatHeader(java.nio.Buffer, int, int);
+    method public static int getEncodedDataSize(int, int);
+    method public static int getHeight(java.nio.Buffer);
+    method public static int getWidth(java.nio.Buffer);
+    method public static boolean isValid(java.nio.Buffer);
+    field public static final int DECODED_BLOCK_SIZE = 48; // 0x30
+    field public static final int ENCODED_BLOCK_SIZE = 8; // 0x8
+    field public static final int ETC1_RGB8_OES = 36196; // 0x8d64
+    field public static final int ETC_PKM_HEADER_SIZE = 16; // 0x10
+  }
+
+  public class ETC1Util {
+    ctor public ETC1Util();
+    method public static android.opengl.ETC1Util.ETC1Texture compressTexture(java.nio.Buffer, int, int, int, int);
+    method public static android.opengl.ETC1Util.ETC1Texture createTexture(java.io.InputStream) throws java.io.IOException;
+    method public static boolean isETC1Supported();
+    method public static void loadTexture(int, int, int, int, int, java.io.InputStream) throws java.io.IOException;
+    method public static void loadTexture(int, int, int, int, int, android.opengl.ETC1Util.ETC1Texture);
+    method public static void writeTexture(android.opengl.ETC1Util.ETC1Texture, java.io.OutputStream) throws java.io.IOException;
+  }
+
+  public static class ETC1Util.ETC1Texture {
+    ctor public ETC1Util.ETC1Texture(int, int, java.nio.ByteBuffer);
+    method public java.nio.ByteBuffer getData();
+    method public int getHeight();
+    method public int getWidth();
+  }
+
+  public class GLDebugHelper {
+    ctor public GLDebugHelper();
+    method public static javax.microedition.khronos.opengles.GL wrap(javax.microedition.khronos.opengles.GL, int, java.io.Writer);
+    method public static javax.microedition.khronos.egl.EGL wrap(javax.microedition.khronos.egl.EGL, int, java.io.Writer);
+    field public static final int CONFIG_CHECK_GL_ERROR = 1; // 0x1
+    field public static final int CONFIG_CHECK_THREAD = 2; // 0x2
+    field public static final int CONFIG_LOG_ARGUMENT_NAMES = 4; // 0x4
+    field public static final int ERROR_WRONG_THREAD = 28672; // 0x7000
+  }
+
+  public class GLES10 {
+    ctor public GLES10();
+    method public static void glActiveTexture(int);
+    method public static void glAlphaFunc(int, float);
+    method public static void glAlphaFuncx(int, int);
+    method public static void glBindTexture(int, int);
+    method public static void glBlendFunc(int, int);
+    method public static void glClear(int);
+    method public static void glClearColor(float, float, float, float);
+    method public static void glClearColorx(int, int, int, int);
+    method public static void glClearDepthf(float);
+    method public static void glClearDepthx(int);
+    method public static void glClearStencil(int);
+    method public static void glClientActiveTexture(int);
+    method public static void glColor4f(float, float, float, float);
+    method public static void glColor4x(int, int, int, int);
+    method public static void glColorMask(boolean, boolean, boolean, boolean);
+    method public static void glColorPointer(int, int, int, java.nio.Buffer);
+    method public static void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCompressedTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+    method public static void glCopyTexSubImage2D(int, int, int, int, int, int, int, int);
+    method public static void glCullFace(int);
+    method public static void glDeleteTextures(int, int[], int);
+    method public static void glDeleteTextures(int, java.nio.IntBuffer);
+    method public static void glDepthFunc(int);
+    method public static void glDepthMask(boolean);
+    method public static void glDepthRangef(float, float);
+    method public static void glDepthRangex(int, int);
+    method public static void glDisable(int);
+    method public static void glDisableClientState(int);
+    method public static void glDrawArrays(int, int, int);
+    method public static void glDrawElements(int, int, int, java.nio.Buffer);
+    method public static void glEnable(int);
+    method public static void glEnableClientState(int);
+    method public static void glFinish();
+    method public static void glFlush();
+    method public static void glFogf(int, float);
+    method public static void glFogfv(int, float[], int);
+    method public static void glFogfv(int, java.nio.FloatBuffer);
+    method public static void glFogx(int, int);
+    method public static void glFogxv(int, int[], int);
+    method public static void glFogxv(int, java.nio.IntBuffer);
+    method public static void glFrontFace(int);
+    method public static void glFrustumf(float, float, float, float, float, float);
+    method public static void glFrustumx(int, int, int, int, int, int);
+    method public static void glGenTextures(int, int[], int);
+    method public static void glGenTextures(int, java.nio.IntBuffer);
+    method public static int glGetError();
+    method public static void glGetIntegerv(int, int[], int);
+    method public static void glGetIntegerv(int, java.nio.IntBuffer);
+    method public static String glGetString(int);
+    method public static void glHint(int, int);
+    method public static void glLightModelf(int, float);
+    method public static void glLightModelfv(int, float[], int);
+    method public static void glLightModelfv(int, java.nio.FloatBuffer);
+    method public static void glLightModelx(int, int);
+    method public static void glLightModelxv(int, int[], int);
+    method public static void glLightModelxv(int, java.nio.IntBuffer);
+    method public static void glLightf(int, int, float);
+    method public static void glLightfv(int, int, float[], int);
+    method public static void glLightfv(int, int, java.nio.FloatBuffer);
+    method public static void glLightx(int, int, int);
+    method public static void glLightxv(int, int, int[], int);
+    method public static void glLightxv(int, int, java.nio.IntBuffer);
+    method public static void glLineWidth(float);
+    method public static void glLineWidthx(int);
+    method public static void glLoadIdentity();
+    method public static void glLoadMatrixf(float[], int);
+    method public static void glLoadMatrixf(java.nio.FloatBuffer);
+    method public static void glLoadMatrixx(int[], int);
+    method public static void glLoadMatrixx(java.nio.IntBuffer);
+    method public static void glLogicOp(int);
+    method public static void glMaterialf(int, int, float);
+    method public static void glMaterialfv(int, int, float[], int);
+    method public static void glMaterialfv(int, int, java.nio.FloatBuffer);
+    method public static void glMaterialx(int, int, int);
+    method public static void glMaterialxv(int, int, int[], int);
+    method public static void glMaterialxv(int, int, java.nio.IntBuffer);
+    method public static void glMatrixMode(int);
+    method public static void glMultMatrixf(float[], int);
+    method public static void glMultMatrixf(java.nio.FloatBuffer);
+    method public static void glMultMatrixx(int[], int);
+    method public static void glMultMatrixx(java.nio.IntBuffer);
+    method public static void glMultiTexCoord4f(int, float, float, float, float);
+    method public static void glMultiTexCoord4x(int, int, int, int, int);
+    method public static void glNormal3f(float, float, float);
+    method public static void glNormal3x(int, int, int);
+    method public static void glNormalPointer(int, int, java.nio.Buffer);
+    method public static void glOrthof(float, float, float, float, float, float);
+    method public static void glOrthox(int, int, int, int, int, int);
+    method public static void glPixelStorei(int, int);
+    method public static void glPointSize(float);
+    method public static void glPointSizex(int);
+    method public static void glPolygonOffset(float, float);
+    method public static void glPolygonOffsetx(int, int);
+    method public static void glPopMatrix();
+    method public static void glPushMatrix();
+    method public static void glReadPixels(int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glRotatef(float, float, float, float);
+    method public static void glRotatex(int, int, int, int);
+    method public static void glSampleCoverage(float, boolean);
+    method public static void glSampleCoveragex(int, boolean);
+    method public static void glScalef(float, float, float);
+    method public static void glScalex(int, int, int);
+    method public static void glScissor(int, int, int, int);
+    method public static void glShadeModel(int);
+    method public static void glStencilFunc(int, int, int);
+    method public static void glStencilMask(int);
+    method public static void glStencilOp(int, int, int);
+    method public static void glTexCoordPointer(int, int, int, java.nio.Buffer);
+    method public static void glTexEnvf(int, int, float);
+    method public static void glTexEnvfv(int, int, float[], int);
+    method public static void glTexEnvfv(int, int, java.nio.FloatBuffer);
+    method public static void glTexEnvx(int, int, int);
+    method public static void glTexEnvxv(int, int, int[], int);
+    method public static void glTexEnvxv(int, int, java.nio.IntBuffer);
+    method public static void glTexImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glTexParameterf(int, int, float);
+    method public static void glTexParameterx(int, int, int);
+    method public static void glTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glTranslatef(float, float, float);
+    method public static void glTranslatex(int, int, int);
+    method public static void glVertexPointer(int, int, int, java.nio.Buffer);
+    method public static void glViewport(int, int, int, int);
+    field public static final int GL_ADD = 260; // 0x104
+    field public static final int GL_ALIASED_LINE_WIDTH_RANGE = 33902; // 0x846e
+    field public static final int GL_ALIASED_POINT_SIZE_RANGE = 33901; // 0x846d
+    field public static final int GL_ALPHA = 6406; // 0x1906
+    field public static final int GL_ALPHA_BITS = 3413; // 0xd55
+    field public static final int GL_ALPHA_TEST = 3008; // 0xbc0
+    field public static final int GL_ALWAYS = 519; // 0x207
+    field public static final int GL_AMBIENT = 4608; // 0x1200
+    field public static final int GL_AMBIENT_AND_DIFFUSE = 5634; // 0x1602
+    field public static final int GL_AND = 5377; // 0x1501
+    field public static final int GL_AND_INVERTED = 5380; // 0x1504
+    field public static final int GL_AND_REVERSE = 5378; // 0x1502
+    field public static final int GL_BACK = 1029; // 0x405
+    field public static final int GL_BLEND = 3042; // 0xbe2
+    field public static final int GL_BLUE_BITS = 3412; // 0xd54
+    field public static final int GL_BYTE = 5120; // 0x1400
+    field public static final int GL_CCW = 2305; // 0x901
+    field public static final int GL_CLAMP_TO_EDGE = 33071; // 0x812f
+    field public static final int GL_CLEAR = 5376; // 0x1500
+    field public static final int GL_COLOR_ARRAY = 32886; // 0x8076
+    field public static final int GL_COLOR_BUFFER_BIT = 16384; // 0x4000
+    field public static final int GL_COLOR_LOGIC_OP = 3058; // 0xbf2
+    field public static final int GL_COLOR_MATERIAL = 2903; // 0xb57
+    field public static final int GL_COMPRESSED_TEXTURE_FORMATS = 34467; // 0x86a3
+    field public static final int GL_CONSTANT_ATTENUATION = 4615; // 0x1207
+    field public static final int GL_COPY = 5379; // 0x1503
+    field public static final int GL_COPY_INVERTED = 5388; // 0x150c
+    field public static final int GL_CULL_FACE = 2884; // 0xb44
+    field public static final int GL_CW = 2304; // 0x900
+    field public static final int GL_DECAL = 8449; // 0x2101
+    field public static final int GL_DECR = 7683; // 0x1e03
+    field public static final int GL_DEPTH_BITS = 3414; // 0xd56
+    field public static final int GL_DEPTH_BUFFER_BIT = 256; // 0x100
+    field public static final int GL_DEPTH_TEST = 2929; // 0xb71
+    field public static final int GL_DIFFUSE = 4609; // 0x1201
+    field public static final int GL_DITHER = 3024; // 0xbd0
+    field public static final int GL_DONT_CARE = 4352; // 0x1100
+    field public static final int GL_DST_ALPHA = 772; // 0x304
+    field public static final int GL_DST_COLOR = 774; // 0x306
+    field public static final int GL_EMISSION = 5632; // 0x1600
+    field public static final int GL_EQUAL = 514; // 0x202
+    field public static final int GL_EQUIV = 5385; // 0x1509
+    field public static final int GL_EXP = 2048; // 0x800
+    field public static final int GL_EXP2 = 2049; // 0x801
+    field public static final int GL_EXTENSIONS = 7939; // 0x1f03
+    field public static final int GL_FALSE = 0; // 0x0
+    field public static final int GL_FASTEST = 4353; // 0x1101
+    field public static final int GL_FIXED = 5132; // 0x140c
+    field public static final int GL_FLAT = 7424; // 0x1d00
+    field public static final int GL_FLOAT = 5126; // 0x1406
+    field public static final int GL_FOG = 2912; // 0xb60
+    field public static final int GL_FOG_COLOR = 2918; // 0xb66
+    field public static final int GL_FOG_DENSITY = 2914; // 0xb62
+    field public static final int GL_FOG_END = 2916; // 0xb64
+    field public static final int GL_FOG_HINT = 3156; // 0xc54
+    field public static final int GL_FOG_MODE = 2917; // 0xb65
+    field public static final int GL_FOG_START = 2915; // 0xb63
+    field public static final int GL_FRONT = 1028; // 0x404
+    field public static final int GL_FRONT_AND_BACK = 1032; // 0x408
+    field public static final int GL_GEQUAL = 518; // 0x206
+    field public static final int GL_GREATER = 516; // 0x204
+    field public static final int GL_GREEN_BITS = 3411; // 0xd53
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 35739; // 0x8b9b
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 35738; // 0x8b9a
+    field public static final int GL_INCR = 7682; // 0x1e02
+    field public static final int GL_INVALID_ENUM = 1280; // 0x500
+    field public static final int GL_INVALID_OPERATION = 1282; // 0x502
+    field public static final int GL_INVALID_VALUE = 1281; // 0x501
+    field public static final int GL_INVERT = 5386; // 0x150a
+    field public static final int GL_KEEP = 7680; // 0x1e00
+    field public static final int GL_LEQUAL = 515; // 0x203
+    field public static final int GL_LESS = 513; // 0x201
+    field public static final int GL_LIGHT0 = 16384; // 0x4000
+    field public static final int GL_LIGHT1 = 16385; // 0x4001
+    field public static final int GL_LIGHT2 = 16386; // 0x4002
+    field public static final int GL_LIGHT3 = 16387; // 0x4003
+    field public static final int GL_LIGHT4 = 16388; // 0x4004
+    field public static final int GL_LIGHT5 = 16389; // 0x4005
+    field public static final int GL_LIGHT6 = 16390; // 0x4006
+    field public static final int GL_LIGHT7 = 16391; // 0x4007
+    field public static final int GL_LIGHTING = 2896; // 0xb50
+    field public static final int GL_LIGHT_MODEL_AMBIENT = 2899; // 0xb53
+    field public static final int GL_LIGHT_MODEL_TWO_SIDE = 2898; // 0xb52
+    field public static final int GL_LINEAR = 9729; // 0x2601
+    field public static final int GL_LINEAR_ATTENUATION = 4616; // 0x1208
+    field public static final int GL_LINEAR_MIPMAP_LINEAR = 9987; // 0x2703
+    field public static final int GL_LINEAR_MIPMAP_NEAREST = 9985; // 0x2701
+    field public static final int GL_LINES = 1; // 0x1
+    field public static final int GL_LINE_LOOP = 2; // 0x2
+    field public static final int GL_LINE_SMOOTH = 2848; // 0xb20
+    field public static final int GL_LINE_SMOOTH_HINT = 3154; // 0xc52
+    field public static final int GL_LINE_STRIP = 3; // 0x3
+    field public static final int GL_LUMINANCE = 6409; // 0x1909
+    field public static final int GL_LUMINANCE_ALPHA = 6410; // 0x190a
+    field public static final int GL_MAX_ELEMENTS_INDICES = 33001; // 0x80e9
+    field public static final int GL_MAX_ELEMENTS_VERTICES = 33000; // 0x80e8
+    field public static final int GL_MAX_LIGHTS = 3377; // 0xd31
+    field public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 3382; // 0xd36
+    field public static final int GL_MAX_PROJECTION_STACK_DEPTH = 3384; // 0xd38
+    field public static final int GL_MAX_TEXTURE_SIZE = 3379; // 0xd33
+    field public static final int GL_MAX_TEXTURE_STACK_DEPTH = 3385; // 0xd39
+    field public static final int GL_MAX_TEXTURE_UNITS = 34018; // 0x84e2
+    field public static final int GL_MAX_VIEWPORT_DIMS = 3386; // 0xd3a
+    field public static final int GL_MODELVIEW = 5888; // 0x1700
+    field public static final int GL_MODULATE = 8448; // 0x2100
+    field public static final int GL_MULTISAMPLE = 32925; // 0x809d
+    field public static final int GL_NAND = 5390; // 0x150e
+    field public static final int GL_NEAREST = 9728; // 0x2600
+    field public static final int GL_NEAREST_MIPMAP_LINEAR = 9986; // 0x2702
+    field public static final int GL_NEAREST_MIPMAP_NEAREST = 9984; // 0x2700
+    field public static final int GL_NEVER = 512; // 0x200
+    field public static final int GL_NICEST = 4354; // 0x1102
+    field public static final int GL_NOOP = 5381; // 0x1505
+    field public static final int GL_NOR = 5384; // 0x1508
+    field public static final int GL_NORMALIZE = 2977; // 0xba1
+    field public static final int GL_NORMAL_ARRAY = 32885; // 0x8075
+    field public static final int GL_NOTEQUAL = 517; // 0x205
+    field public static final int GL_NO_ERROR = 0; // 0x0
+    field public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 34466; // 0x86a2
+    field public static final int GL_ONE = 1; // 0x1
+    field public static final int GL_ONE_MINUS_DST_ALPHA = 773; // 0x305
+    field public static final int GL_ONE_MINUS_DST_COLOR = 775; // 0x307
+    field public static final int GL_ONE_MINUS_SRC_ALPHA = 771; // 0x303
+    field public static final int GL_ONE_MINUS_SRC_COLOR = 769; // 0x301
+    field public static final int GL_OR = 5383; // 0x1507
+    field public static final int GL_OR_INVERTED = 5389; // 0x150d
+    field public static final int GL_OR_REVERSE = 5387; // 0x150b
+    field public static final int GL_OUT_OF_MEMORY = 1285; // 0x505
+    field public static final int GL_PACK_ALIGNMENT = 3333; // 0xd05
+    field public static final int GL_PALETTE4_R5_G6_B5_OES = 35730; // 0x8b92
+    field public static final int GL_PALETTE4_RGB5_A1_OES = 35732; // 0x8b94
+    field public static final int GL_PALETTE4_RGB8_OES = 35728; // 0x8b90
+    field public static final int GL_PALETTE4_RGBA4_OES = 35731; // 0x8b93
+    field public static final int GL_PALETTE4_RGBA8_OES = 35729; // 0x8b91
+    field public static final int GL_PALETTE8_R5_G6_B5_OES = 35735; // 0x8b97
+    field public static final int GL_PALETTE8_RGB5_A1_OES = 35737; // 0x8b99
+    field public static final int GL_PALETTE8_RGB8_OES = 35733; // 0x8b95
+    field public static final int GL_PALETTE8_RGBA4_OES = 35736; // 0x8b98
+    field public static final int GL_PALETTE8_RGBA8_OES = 35734; // 0x8b96
+    field public static final int GL_PERSPECTIVE_CORRECTION_HINT = 3152; // 0xc50
+    field public static final int GL_POINTS = 0; // 0x0
+    field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+    field public static final int GL_POINT_SIZE = 2833; // 0xb11
+    field public static final int GL_POINT_SMOOTH = 2832; // 0xb10
+    field public static final int GL_POINT_SMOOTH_HINT = 3153; // 0xc51
+    field public static final int GL_POLYGON_OFFSET_FILL = 32823; // 0x8037
+    field public static final int GL_POLYGON_SMOOTH_HINT = 3155; // 0xc53
+    field public static final int GL_POSITION = 4611; // 0x1203
+    field public static final int GL_PROJECTION = 5889; // 0x1701
+    field public static final int GL_QUADRATIC_ATTENUATION = 4617; // 0x1209
+    field public static final int GL_RED_BITS = 3410; // 0xd52
+    field public static final int GL_RENDERER = 7937; // 0x1f01
+    field public static final int GL_REPEAT = 10497; // 0x2901
+    field public static final int GL_REPLACE = 7681; // 0x1e01
+    field public static final int GL_RESCALE_NORMAL = 32826; // 0x803a
+    field public static final int GL_RGB = 6407; // 0x1907
+    field public static final int GL_RGBA = 6408; // 0x1908
+    field public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 32926; // 0x809e
+    field public static final int GL_SAMPLE_ALPHA_TO_ONE = 32927; // 0x809f
+    field public static final int GL_SAMPLE_COVERAGE = 32928; // 0x80a0
+    field public static final int GL_SCISSOR_TEST = 3089; // 0xc11
+    field public static final int GL_SET = 5391; // 0x150f
+    field public static final int GL_SHININESS = 5633; // 0x1601
+    field public static final int GL_SHORT = 5122; // 0x1402
+    field public static final int GL_SMOOTH = 7425; // 0x1d01
+    field public static final int GL_SMOOTH_LINE_WIDTH_RANGE = 2850; // 0xb22
+    field public static final int GL_SMOOTH_POINT_SIZE_RANGE = 2834; // 0xb12
+    field public static final int GL_SPECULAR = 4610; // 0x1202
+    field public static final int GL_SPOT_CUTOFF = 4614; // 0x1206
+    field public static final int GL_SPOT_DIRECTION = 4612; // 0x1204
+    field public static final int GL_SPOT_EXPONENT = 4613; // 0x1205
+    field public static final int GL_SRC_ALPHA = 770; // 0x302
+    field public static final int GL_SRC_ALPHA_SATURATE = 776; // 0x308
+    field public static final int GL_SRC_COLOR = 768; // 0x300
+    field public static final int GL_STACK_OVERFLOW = 1283; // 0x503
+    field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504
+    field public static final int GL_STENCIL_BITS = 3415; // 0xd57
+    field public static final int GL_STENCIL_BUFFER_BIT = 1024; // 0x400
+    field public static final int GL_STENCIL_TEST = 2960; // 0xb90
+    field public static final int GL_SUBPIXEL_BITS = 3408; // 0xd50
+    field public static final int GL_TEXTURE = 5890; // 0x1702
+    field public static final int GL_TEXTURE0 = 33984; // 0x84c0
+    field public static final int GL_TEXTURE1 = 33985; // 0x84c1
+    field public static final int GL_TEXTURE10 = 33994; // 0x84ca
+    field public static final int GL_TEXTURE11 = 33995; // 0x84cb
+    field public static final int GL_TEXTURE12 = 33996; // 0x84cc
+    field public static final int GL_TEXTURE13 = 33997; // 0x84cd
+    field public static final int GL_TEXTURE14 = 33998; // 0x84ce
+    field public static final int GL_TEXTURE15 = 33999; // 0x84cf
+    field public static final int GL_TEXTURE16 = 34000; // 0x84d0
+    field public static final int GL_TEXTURE17 = 34001; // 0x84d1
+    field public static final int GL_TEXTURE18 = 34002; // 0x84d2
+    field public static final int GL_TEXTURE19 = 34003; // 0x84d3
+    field public static final int GL_TEXTURE2 = 33986; // 0x84c2
+    field public static final int GL_TEXTURE20 = 34004; // 0x84d4
+    field public static final int GL_TEXTURE21 = 34005; // 0x84d5
+    field public static final int GL_TEXTURE22 = 34006; // 0x84d6
+    field public static final int GL_TEXTURE23 = 34007; // 0x84d7
+    field public static final int GL_TEXTURE24 = 34008; // 0x84d8
+    field public static final int GL_TEXTURE25 = 34009; // 0x84d9
+    field public static final int GL_TEXTURE26 = 34010; // 0x84da
+    field public static final int GL_TEXTURE27 = 34011; // 0x84db
+    field public static final int GL_TEXTURE28 = 34012; // 0x84dc
+    field public static final int GL_TEXTURE29 = 34013; // 0x84dd
+    field public static final int GL_TEXTURE3 = 33987; // 0x84c3
+    field public static final int GL_TEXTURE30 = 34014; // 0x84de
+    field public static final int GL_TEXTURE31 = 34015; // 0x84df
+    field public static final int GL_TEXTURE4 = 33988; // 0x84c4
+    field public static final int GL_TEXTURE5 = 33989; // 0x84c5
+    field public static final int GL_TEXTURE6 = 33990; // 0x84c6
+    field public static final int GL_TEXTURE7 = 33991; // 0x84c7
+    field public static final int GL_TEXTURE8 = 33992; // 0x84c8
+    field public static final int GL_TEXTURE9 = 33993; // 0x84c9
+    field public static final int GL_TEXTURE_2D = 3553; // 0xde1
+    field public static final int GL_TEXTURE_COORD_ARRAY = 32888; // 0x8078
+    field public static final int GL_TEXTURE_ENV = 8960; // 0x2300
+    field public static final int GL_TEXTURE_ENV_COLOR = 8705; // 0x2201
+    field public static final int GL_TEXTURE_ENV_MODE = 8704; // 0x2200
+    field public static final int GL_TEXTURE_MAG_FILTER = 10240; // 0x2800
+    field public static final int GL_TEXTURE_MIN_FILTER = 10241; // 0x2801
+    field public static final int GL_TEXTURE_WRAP_S = 10242; // 0x2802
+    field public static final int GL_TEXTURE_WRAP_T = 10243; // 0x2803
+    field public static final int GL_TRIANGLES = 4; // 0x4
+    field public static final int GL_TRIANGLE_FAN = 6; // 0x6
+    field public static final int GL_TRIANGLE_STRIP = 5; // 0x5
+    field public static final int GL_TRUE = 1; // 0x1
+    field public static final int GL_UNPACK_ALIGNMENT = 3317; // 0xcf5
+    field public static final int GL_UNSIGNED_BYTE = 5121; // 0x1401
+    field public static final int GL_UNSIGNED_SHORT = 5123; // 0x1403
+    field public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 32819; // 0x8033
+    field public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 32820; // 0x8034
+    field public static final int GL_UNSIGNED_SHORT_5_6_5 = 33635; // 0x8363
+    field public static final int GL_VENDOR = 7936; // 0x1f00
+    field public static final int GL_VERSION = 7938; // 0x1f02
+    field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074
+    field public static final int GL_XOR = 5382; // 0x1506
+    field public static final int GL_ZERO = 0; // 0x0
+  }
+
+  public class GLES10Ext {
+    ctor public GLES10Ext();
+    method public static int glQueryMatrixxOES(int[], int, int[], int);
+    method public static int glQueryMatrixxOES(java.nio.IntBuffer, java.nio.IntBuffer);
+  }
+
+  public class GLES11 extends android.opengl.GLES10 {
+    ctor public GLES11();
+    method public static void glBindBuffer(int, int);
+    method public static void glBufferData(int, int, java.nio.Buffer, int);
+    method public static void glBufferSubData(int, int, int, java.nio.Buffer);
+    method public static void glClipPlanef(int, float[], int);
+    method public static void glClipPlanef(int, java.nio.FloatBuffer);
+    method public static void glClipPlanex(int, int[], int);
+    method public static void glClipPlanex(int, java.nio.IntBuffer);
+    method public static void glColor4ub(byte, byte, byte, byte);
+    method public static void glColorPointer(int, int, int, int);
+    method public static void glDeleteBuffers(int, int[], int);
+    method public static void glDeleteBuffers(int, java.nio.IntBuffer);
+    method public static void glDrawElements(int, int, int, int);
+    method public static void glGenBuffers(int, int[], int);
+    method public static void glGenBuffers(int, java.nio.IntBuffer);
+    method public static void glGetBooleanv(int, boolean[], int);
+    method public static void glGetBooleanv(int, java.nio.IntBuffer);
+    method public static void glGetBufferParameteriv(int, int, int[], int);
+    method public static void glGetBufferParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glGetClipPlanef(int, float[], int);
+    method public static void glGetClipPlanef(int, java.nio.FloatBuffer);
+    method public static void glGetClipPlanex(int, int[], int);
+    method public static void glGetClipPlanex(int, java.nio.IntBuffer);
+    method public static void glGetFixedv(int, int[], int);
+    method public static void glGetFixedv(int, java.nio.IntBuffer);
+    method public static void glGetFloatv(int, float[], int);
+    method public static void glGetFloatv(int, java.nio.FloatBuffer);
+    method public static void glGetLightfv(int, int, float[], int);
+    method public static void glGetLightfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetLightxv(int, int, int[], int);
+    method public static void glGetLightxv(int, int, java.nio.IntBuffer);
+    method public static void glGetMaterialfv(int, int, float[], int);
+    method public static void glGetMaterialfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetMaterialxv(int, int, int[], int);
+    method public static void glGetMaterialxv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexEnvfv(int, int, float[], int);
+    method public static void glGetTexEnvfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetTexEnviv(int, int, int[], int);
+    method public static void glGetTexEnviv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexEnvxv(int, int, int[], int);
+    method public static void glGetTexEnvxv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterfv(int, int, float[], int);
+    method public static void glGetTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetTexParameteriv(int, int, int[], int);
+    method public static void glGetTexParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterxv(int, int, int[], int);
+    method public static void glGetTexParameterxv(int, int, java.nio.IntBuffer);
+    method public static boolean glIsBuffer(int);
+    method public static boolean glIsEnabled(int);
+    method public static boolean glIsTexture(int);
+    method public static void glNormalPointer(int, int, int);
+    method public static void glPointParameterf(int, float);
+    method public static void glPointParameterfv(int, float[], int);
+    method public static void glPointParameterfv(int, java.nio.FloatBuffer);
+    method public static void glPointParameterx(int, int);
+    method public static void glPointParameterxv(int, int[], int);
+    method public static void glPointParameterxv(int, java.nio.IntBuffer);
+    method public static void glPointSizePointerOES(int, int, java.nio.Buffer);
+    method public static void glTexCoordPointer(int, int, int, int);
+    method public static void glTexEnvi(int, int, int);
+    method public static void glTexEnviv(int, int, int[], int);
+    method public static void glTexEnviv(int, int, java.nio.IntBuffer);
+    method public static void glTexParameterfv(int, int, float[], int);
+    method public static void glTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glTexParameteri(int, int, int);
+    method public static void glTexParameteriv(int, int, int[], int);
+    method public static void glTexParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glTexParameterxv(int, int, int[], int);
+    method public static void glTexParameterxv(int, int, java.nio.IntBuffer);
+    method public static void glVertexPointer(int, int, int, int);
+    field public static final int GL_ACTIVE_TEXTURE = 34016; // 0x84e0
+    field public static final int GL_ADD_SIGNED = 34164; // 0x8574
+    field public static final int GL_ALPHA_SCALE = 3356; // 0xd1c
+    field public static final int GL_ALPHA_TEST_FUNC = 3009; // 0xbc1
+    field public static final int GL_ALPHA_TEST_REF = 3010; // 0xbc2
+    field public static final int GL_ARRAY_BUFFER = 34962; // 0x8892
+    field public static final int GL_ARRAY_BUFFER_BINDING = 34964; // 0x8894
+    field public static final int GL_BLEND_DST = 3040; // 0xbe0
+    field public static final int GL_BLEND_SRC = 3041; // 0xbe1
+    field public static final int GL_BUFFER_ACCESS = 35003; // 0x88bb
+    field public static final int GL_BUFFER_SIZE = 34660; // 0x8764
+    field public static final int GL_BUFFER_USAGE = 34661; // 0x8765
+    field public static final int GL_CLIENT_ACTIVE_TEXTURE = 34017; // 0x84e1
+    field public static final int GL_CLIP_PLANE0 = 12288; // 0x3000
+    field public static final int GL_CLIP_PLANE1 = 12289; // 0x3001
+    field public static final int GL_CLIP_PLANE2 = 12290; // 0x3002
+    field public static final int GL_CLIP_PLANE3 = 12291; // 0x3003
+    field public static final int GL_CLIP_PLANE4 = 12292; // 0x3004
+    field public static final int GL_CLIP_PLANE5 = 12293; // 0x3005
+    field public static final int GL_COLOR_ARRAY_BUFFER_BINDING = 34968; // 0x8898
+    field public static final int GL_COLOR_ARRAY_POINTER = 32912; // 0x8090
+    field public static final int GL_COLOR_ARRAY_SIZE = 32897; // 0x8081
+    field public static final int GL_COLOR_ARRAY_STRIDE = 32899; // 0x8083
+    field public static final int GL_COLOR_ARRAY_TYPE = 32898; // 0x8082
+    field public static final int GL_COLOR_CLEAR_VALUE = 3106; // 0xc22
+    field public static final int GL_COLOR_WRITEMASK = 3107; // 0xc23
+    field public static final int GL_COMBINE = 34160; // 0x8570
+    field public static final int GL_COMBINE_ALPHA = 34162; // 0x8572
+    field public static final int GL_COMBINE_RGB = 34161; // 0x8571
+    field public static final int GL_CONSTANT = 34166; // 0x8576
+    field public static final int GL_COORD_REPLACE_OES = 34914; // 0x8862
+    field public static final int GL_CULL_FACE_MODE = 2885; // 0xb45
+    field public static final int GL_CURRENT_COLOR = 2816; // 0xb00
+    field public static final int GL_CURRENT_NORMAL = 2818; // 0xb02
+    field public static final int GL_CURRENT_TEXTURE_COORDS = 2819; // 0xb03
+    field public static final int GL_DEPTH_CLEAR_VALUE = 2931; // 0xb73
+    field public static final int GL_DEPTH_FUNC = 2932; // 0xb74
+    field public static final int GL_DEPTH_RANGE = 2928; // 0xb70
+    field public static final int GL_DEPTH_WRITEMASK = 2930; // 0xb72
+    field public static final int GL_DOT3_RGB = 34478; // 0x86ae
+    field public static final int GL_DOT3_RGBA = 34479; // 0x86af
+    field public static final int GL_DYNAMIC_DRAW = 35048; // 0x88e8
+    field public static final int GL_ELEMENT_ARRAY_BUFFER = 34963; // 0x8893
+    field public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 34965; // 0x8895
+    field public static final int GL_FRONT_FACE = 2886; // 0xb46
+    field public static final int GL_GENERATE_MIPMAP = 33169; // 0x8191
+    field public static final int GL_GENERATE_MIPMAP_HINT = 33170; // 0x8192
+    field public static final int GL_INTERPOLATE = 34165; // 0x8575
+    field public static final int GL_LINE_WIDTH = 2849; // 0xb21
+    field public static final int GL_LOGIC_OP_MODE = 3056; // 0xbf0
+    field public static final int GL_MATRIX_MODE = 2976; // 0xba0
+    field public static final int GL_MAX_CLIP_PLANES = 3378; // 0xd32
+    field public static final int GL_MODELVIEW_MATRIX = 2982; // 0xba6
+    field public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 35213; // 0x898d
+    field public static final int GL_MODELVIEW_STACK_DEPTH = 2979; // 0xba3
+    field public static final int GL_NORMAL_ARRAY_BUFFER_BINDING = 34967; // 0x8897
+    field public static final int GL_NORMAL_ARRAY_POINTER = 32911; // 0x808f
+    field public static final int GL_NORMAL_ARRAY_STRIDE = 32895; // 0x807f
+    field public static final int GL_NORMAL_ARRAY_TYPE = 32894; // 0x807e
+    field public static final int GL_OPERAND0_ALPHA = 34200; // 0x8598
+    field public static final int GL_OPERAND0_RGB = 34192; // 0x8590
+    field public static final int GL_OPERAND1_ALPHA = 34201; // 0x8599
+    field public static final int GL_OPERAND1_RGB = 34193; // 0x8591
+    field public static final int GL_OPERAND2_ALPHA = 34202; // 0x859a
+    field public static final int GL_OPERAND2_RGB = 34194; // 0x8592
+    field public static final int GL_POINT_DISTANCE_ATTENUATION = 33065; // 0x8129
+    field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+    field public static final int GL_POINT_SIZE = 2833; // 0xb11
+    field public static final int GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 35743; // 0x8b9f
+    field public static final int GL_POINT_SIZE_ARRAY_OES = 35740; // 0x8b9c
+    field public static final int GL_POINT_SIZE_ARRAY_POINTER_OES = 35212; // 0x898c
+    field public static final int GL_POINT_SIZE_ARRAY_STRIDE_OES = 35211; // 0x898b
+    field public static final int GL_POINT_SIZE_ARRAY_TYPE_OES = 35210; // 0x898a
+    field public static final int GL_POINT_SIZE_MAX = 33063; // 0x8127
+    field public static final int GL_POINT_SIZE_MIN = 33062; // 0x8126
+    field public static final int GL_POINT_SPRITE_OES = 34913; // 0x8861
+    field public static final int GL_POLYGON_OFFSET_FACTOR = 32824; // 0x8038
+    field public static final int GL_POLYGON_OFFSET_UNITS = 10752; // 0x2a00
+    field public static final int GL_PREVIOUS = 34168; // 0x8578
+    field public static final int GL_PRIMARY_COLOR = 34167; // 0x8577
+    field public static final int GL_PROJECTION_MATRIX = 2983; // 0xba7
+    field public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 35214; // 0x898e
+    field public static final int GL_PROJECTION_STACK_DEPTH = 2980; // 0xba4
+    field public static final int GL_RGB_SCALE = 34163; // 0x8573
+    field public static final int GL_SAMPLES = 32937; // 0x80a9
+    field public static final int GL_SAMPLE_BUFFERS = 32936; // 0x80a8
+    field public static final int GL_SAMPLE_COVERAGE_INVERT = 32939; // 0x80ab
+    field public static final int GL_SAMPLE_COVERAGE_VALUE = 32938; // 0x80aa
+    field public static final int GL_SCISSOR_BOX = 3088; // 0xc10
+    field public static final int GL_SHADE_MODEL = 2900; // 0xb54
+    field public static final int GL_SRC0_ALPHA = 34184; // 0x8588
+    field public static final int GL_SRC0_RGB = 34176; // 0x8580
+    field public static final int GL_SRC1_ALPHA = 34185; // 0x8589
+    field public static final int GL_SRC1_RGB = 34177; // 0x8581
+    field public static final int GL_SRC2_ALPHA = 34186; // 0x858a
+    field public static final int GL_SRC2_RGB = 34178; // 0x8582
+    field public static final int GL_STATIC_DRAW = 35044; // 0x88e4
+    field public static final int GL_STENCIL_CLEAR_VALUE = 2961; // 0xb91
+    field public static final int GL_STENCIL_FAIL = 2964; // 0xb94
+    field public static final int GL_STENCIL_FUNC = 2962; // 0xb92
+    field public static final int GL_STENCIL_PASS_DEPTH_FAIL = 2965; // 0xb95
+    field public static final int GL_STENCIL_PASS_DEPTH_PASS = 2966; // 0xb96
+    field public static final int GL_STENCIL_REF = 2967; // 0xb97
+    field public static final int GL_STENCIL_VALUE_MASK = 2963; // 0xb93
+    field public static final int GL_STENCIL_WRITEMASK = 2968; // 0xb98
+    field public static final int GL_SUBTRACT = 34023; // 0x84e7
+    field public static final int GL_TEXTURE_BINDING_2D = 32873; // 0x8069
+    field public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 34970; // 0x889a
+    field public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 32914; // 0x8092
+    field public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 32904; // 0x8088
+    field public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 32906; // 0x808a
+    field public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 32905; // 0x8089
+    field public static final int GL_TEXTURE_MATRIX = 2984; // 0xba8
+    field public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 35215; // 0x898f
+    field public static final int GL_TEXTURE_STACK_DEPTH = 2981; // 0xba5
+    field public static final int GL_VERTEX_ARRAY_BUFFER_BINDING = 34966; // 0x8896
+    field public static final int GL_VERTEX_ARRAY_POINTER = 32910; // 0x808e
+    field public static final int GL_VERTEX_ARRAY_SIZE = 32890; // 0x807a
+    field public static final int GL_VERTEX_ARRAY_STRIDE = 32892; // 0x807c
+    field public static final int GL_VERTEX_ARRAY_TYPE = 32891; // 0x807b
+    field public static final int GL_VIEWPORT = 2978; // 0xba2
+    field public static final int GL_WRITE_ONLY = 35001; // 0x88b9
+  }
+
+  public class GLES11Ext {
+    ctor public GLES11Ext();
+    method public static void glAlphaFuncxOES(int, int);
+    method public static void glBindFramebufferOES(int, int);
+    method public static void glBindRenderbufferOES(int, int);
+    method public static void glBlendEquationOES(int);
+    method public static void glBlendEquationSeparateOES(int, int);
+    method public static void glBlendFuncSeparateOES(int, int, int, int);
+    method public static int glCheckFramebufferStatusOES(int);
+    method public static void glClearColorxOES(int, int, int, int);
+    method public static void glClearDepthfOES(float);
+    method public static void glClearDepthxOES(int);
+    method public static void glClipPlanefOES(int, float[], int);
+    method public static void glClipPlanefOES(int, java.nio.FloatBuffer);
+    method public static void glClipPlanexOES(int, int[], int);
+    method public static void glClipPlanexOES(int, java.nio.IntBuffer);
+    method public static void glColor4xOES(int, int, int, int);
+    method public static void glCurrentPaletteMatrixOES(int);
+    method public static void glDeleteFramebuffersOES(int, int[], int);
+    method public static void glDeleteFramebuffersOES(int, java.nio.IntBuffer);
+    method public static void glDeleteRenderbuffersOES(int, int[], int);
+    method public static void glDeleteRenderbuffersOES(int, java.nio.IntBuffer);
+    method public static void glDepthRangefOES(float, float);
+    method public static void glDepthRangexOES(int, int);
+    method public static void glDrawTexfOES(float, float, float, float, float);
+    method public static void glDrawTexfvOES(float[], int);
+    method public static void glDrawTexfvOES(java.nio.FloatBuffer);
+    method public static void glDrawTexiOES(int, int, int, int, int);
+    method public static void glDrawTexivOES(int[], int);
+    method public static void glDrawTexivOES(java.nio.IntBuffer);
+    method public static void glDrawTexsOES(short, short, short, short, short);
+    method public static void glDrawTexsvOES(short[], int);
+    method public static void glDrawTexsvOES(java.nio.ShortBuffer);
+    method public static void glDrawTexxOES(int, int, int, int, int);
+    method public static void glDrawTexxvOES(int[], int);
+    method public static void glDrawTexxvOES(java.nio.IntBuffer);
+    method public static void glEGLImageTargetRenderbufferStorageOES(int, java.nio.Buffer);
+    method public static void glEGLImageTargetTexture2DOES(int, java.nio.Buffer);
+    method public static void glFogxOES(int, int);
+    method public static void glFogxvOES(int, int[], int);
+    method public static void glFogxvOES(int, java.nio.IntBuffer);
+    method public static void glFramebufferRenderbufferOES(int, int, int, int);
+    method public static void glFramebufferTexture2DOES(int, int, int, int, int);
+    method public static void glFrustumfOES(float, float, float, float, float, float);
+    method public static void glFrustumxOES(int, int, int, int, int, int);
+    method public static void glGenFramebuffersOES(int, int[], int);
+    method public static void glGenFramebuffersOES(int, java.nio.IntBuffer);
+    method public static void glGenRenderbuffersOES(int, int[], int);
+    method public static void glGenRenderbuffersOES(int, java.nio.IntBuffer);
+    method public static void glGenerateMipmapOES(int);
+    method public static void glGetClipPlanefOES(int, float[], int);
+    method public static void glGetClipPlanefOES(int, java.nio.FloatBuffer);
+    method public static void glGetClipPlanexOES(int, int[], int);
+    method public static void glGetClipPlanexOES(int, java.nio.IntBuffer);
+    method public static void glGetFixedvOES(int, int[], int);
+    method public static void glGetFixedvOES(int, java.nio.IntBuffer);
+    method public static void glGetFramebufferAttachmentParameterivOES(int, int, int, int[], int);
+    method public static void glGetFramebufferAttachmentParameterivOES(int, int, int, java.nio.IntBuffer);
+    method public static void glGetLightxvOES(int, int, int[], int);
+    method public static void glGetLightxvOES(int, int, java.nio.IntBuffer);
+    method public static void glGetMaterialxvOES(int, int, int[], int);
+    method public static void glGetMaterialxvOES(int, int, java.nio.IntBuffer);
+    method public static void glGetRenderbufferParameterivOES(int, int, int[], int);
+    method public static void glGetRenderbufferParameterivOES(int, int, java.nio.IntBuffer);
+    method public static void glGetTexEnvxvOES(int, int, int[], int);
+    method public static void glGetTexEnvxvOES(int, int, java.nio.IntBuffer);
+    method public static void glGetTexGenfvOES(int, int, float[], int);
+    method public static void glGetTexGenfvOES(int, int, java.nio.FloatBuffer);
+    method public static void glGetTexGenivOES(int, int, int[], int);
+    method public static void glGetTexGenivOES(int, int, java.nio.IntBuffer);
+    method public static void glGetTexGenxvOES(int, int, int[], int);
+    method public static void glGetTexGenxvOES(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterxvOES(int, int, int[], int);
+    method public static void glGetTexParameterxvOES(int, int, java.nio.IntBuffer);
+    method public static boolean glIsFramebufferOES(int);
+    method public static boolean glIsRenderbufferOES(int);
+    method public static void glLightModelxOES(int, int);
+    method public static void glLightModelxvOES(int, int[], int);
+    method public static void glLightModelxvOES(int, java.nio.IntBuffer);
+    method public static void glLightxOES(int, int, int);
+    method public static void glLightxvOES(int, int, int[], int);
+    method public static void glLightxvOES(int, int, java.nio.IntBuffer);
+    method public static void glLineWidthxOES(int);
+    method public static void glLoadMatrixxOES(int[], int);
+    method public static void glLoadMatrixxOES(java.nio.IntBuffer);
+    method public static void glLoadPaletteFromModelViewMatrixOES();
+    method public static void glMaterialxOES(int, int, int);
+    method public static void glMaterialxvOES(int, int, int[], int);
+    method public static void glMaterialxvOES(int, int, java.nio.IntBuffer);
+    method public static void glMatrixIndexPointerOES(int, int, int, java.nio.Buffer);
+    method public static void glMultMatrixxOES(int[], int);
+    method public static void glMultMatrixxOES(java.nio.IntBuffer);
+    method public static void glMultiTexCoord4xOES(int, int, int, int, int);
+    method public static void glNormal3xOES(int, int, int);
+    method public static void glOrthofOES(float, float, float, float, float, float);
+    method public static void glOrthoxOES(int, int, int, int, int, int);
+    method public static void glPointParameterxOES(int, int);
+    method public static void glPointParameterxvOES(int, int[], int);
+    method public static void glPointParameterxvOES(int, java.nio.IntBuffer);
+    method public static void glPointSizexOES(int);
+    method public static void glPolygonOffsetxOES(int, int);
+    method public static void glRenderbufferStorageOES(int, int, int, int);
+    method public static void glRotatexOES(int, int, int, int);
+    method public static void glSampleCoveragexOES(int, boolean);
+    method public static void glScalexOES(int, int, int);
+    method public static void glTexEnvxOES(int, int, int);
+    method public static void glTexEnvxvOES(int, int, int[], int);
+    method public static void glTexEnvxvOES(int, int, java.nio.IntBuffer);
+    method public static void glTexGenfOES(int, int, float);
+    method public static void glTexGenfvOES(int, int, float[], int);
+    method public static void glTexGenfvOES(int, int, java.nio.FloatBuffer);
+    method public static void glTexGeniOES(int, int, int);
+    method public static void glTexGenivOES(int, int, int[], int);
+    method public static void glTexGenivOES(int, int, java.nio.IntBuffer);
+    method public static void glTexGenxOES(int, int, int);
+    method public static void glTexGenxvOES(int, int, int[], int);
+    method public static void glTexGenxvOES(int, int, java.nio.IntBuffer);
+    method public static void glTexParameterxOES(int, int, int);
+    method public static void glTexParameterxvOES(int, int, int[], int);
+    method public static void glTexParameterxvOES(int, int, java.nio.IntBuffer);
+    method public static void glTranslatexOES(int, int, int);
+    method public static void glWeightPointerOES(int, int, int, java.nio.Buffer);
+    field public static final int GL_3DC_XY_AMD = 34810; // 0x87fa
+    field public static final int GL_3DC_X_AMD = 34809; // 0x87f9
+    field public static final int GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = 35987; // 0x8c93
+    field public static final int GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 34798; // 0x87ee
+    field public static final int GL_ATC_RGB_AMD = 35986; // 0x8c92
+    field public static final int GL_BGRA = 32993; // 0x80e1
+    field public static final int GL_BLEND_DST_ALPHA_OES = 32970; // 0x80ca
+    field public static final int GL_BLEND_DST_RGB_OES = 32968; // 0x80c8
+    field public static final int GL_BLEND_EQUATION_ALPHA_OES = 34877; // 0x883d
+    field public static final int GL_BLEND_EQUATION_OES = 32777; // 0x8009
+    field public static final int GL_BLEND_EQUATION_RGB_OES = 32777; // 0x8009
+    field public static final int GL_BLEND_SRC_ALPHA_OES = 32971; // 0x80cb
+    field public static final int GL_BLEND_SRC_RGB_OES = 32969; // 0x80c9
+    field public static final int GL_BUFFER_ACCESS_OES = 35003; // 0x88bb
+    field public static final int GL_BUFFER_MAPPED_OES = 35004; // 0x88bc
+    field public static final int GL_BUFFER_MAP_POINTER_OES = 35005; // 0x88bd
+    field public static final int GL_COLOR_ATTACHMENT0_OES = 36064; // 0x8ce0
+    field public static final int GL_CURRENT_PALETTE_MATRIX_OES = 34883; // 0x8843
+    field public static final int GL_DECR_WRAP_OES = 34056; // 0x8508
+    field public static final int GL_DEPTH24_STENCIL8_OES = 35056; // 0x88f0
+    field public static final int GL_DEPTH_ATTACHMENT_OES = 36096; // 0x8d00
+    field public static final int GL_DEPTH_COMPONENT16_OES = 33189; // 0x81a5
+    field public static final int GL_DEPTH_COMPONENT24_OES = 33190; // 0x81a6
+    field public static final int GL_DEPTH_COMPONENT32_OES = 33191; // 0x81a7
+    field public static final int GL_DEPTH_STENCIL_OES = 34041; // 0x84f9
+    field public static final int GL_ETC1_RGB8_OES = 36196; // 0x8d64
+    field public static final int GL_FIXED_OES = 5132; // 0x140c
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 36049; // 0x8cd1
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 36048; // 0x8cd0
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 36051; // 0x8cd3
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 36050; // 0x8cd2
+    field public static final int GL_FRAMEBUFFER_BINDING_OES = 36006; // 0x8ca6
+    field public static final int GL_FRAMEBUFFER_COMPLETE_OES = 36053; // 0x8cd5
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 36054; // 0x8cd6
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 36057; // 0x8cd9
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 36058; // 0x8cda
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 36055; // 0x8cd7
+    field public static final int GL_FRAMEBUFFER_OES = 36160; // 0x8d40
+    field public static final int GL_FRAMEBUFFER_UNSUPPORTED_OES = 36061; // 0x8cdd
+    field public static final int GL_FUNC_ADD_OES = 32774; // 0x8006
+    field public static final int GL_FUNC_REVERSE_SUBTRACT_OES = 32779; // 0x800b
+    field public static final int GL_FUNC_SUBTRACT_OES = 32778; // 0x800a
+    field public static final int GL_INCR_WRAP_OES = 34055; // 0x8507
+    field public static final int GL_INVALID_FRAMEBUFFER_OPERATION_OES = 1286; // 0x506
+    field public static final int GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 35742; // 0x8b9e
+    field public static final int GL_MATRIX_INDEX_ARRAY_OES = 34884; // 0x8844
+    field public static final int GL_MATRIX_INDEX_ARRAY_POINTER_OES = 34889; // 0x8849
+    field public static final int GL_MATRIX_INDEX_ARRAY_SIZE_OES = 34886; // 0x8846
+    field public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 34888; // 0x8848
+    field public static final int GL_MATRIX_INDEX_ARRAY_TYPE_OES = 34887; // 0x8847
+    field public static final int GL_MATRIX_PALETTE_OES = 34880; // 0x8840
+    field public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 34076; // 0x851c
+    field public static final int GL_MAX_PALETTE_MATRICES_OES = 34882; // 0x8842
+    field public static final int GL_MAX_RENDERBUFFER_SIZE_OES = 34024; // 0x84e8
+    field public static final int GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 34047; // 0x84ff
+    field public static final int GL_MAX_VERTEX_UNITS_OES = 34468; // 0x86a4
+    field public static final int GL_MIRRORED_REPEAT_OES = 33648; // 0x8370
+    field public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 35213; // 0x898d
+    field public static final int GL_NONE_OES = 0; // 0x0
+    field public static final int GL_NORMAL_MAP_OES = 34065; // 0x8511
+    field public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 35214; // 0x898e
+    field public static final int GL_REFLECTION_MAP_OES = 34066; // 0x8512
+    field public static final int GL_RENDERBUFFER_ALPHA_SIZE_OES = 36179; // 0x8d53
+    field public static final int GL_RENDERBUFFER_BINDING_OES = 36007; // 0x8ca7
+    field public static final int GL_RENDERBUFFER_BLUE_SIZE_OES = 36178; // 0x8d52
+    field public static final int GL_RENDERBUFFER_DEPTH_SIZE_OES = 36180; // 0x8d54
+    field public static final int GL_RENDERBUFFER_GREEN_SIZE_OES = 36177; // 0x8d51
+    field public static final int GL_RENDERBUFFER_HEIGHT_OES = 36163; // 0x8d43
+    field public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 36164; // 0x8d44
+    field public static final int GL_RENDERBUFFER_OES = 36161; // 0x8d41
+    field public static final int GL_RENDERBUFFER_RED_SIZE_OES = 36176; // 0x8d50
+    field public static final int GL_RENDERBUFFER_STENCIL_SIZE_OES = 36181; // 0x8d55
+    field public static final int GL_RENDERBUFFER_WIDTH_OES = 36162; // 0x8d42
+    field public static final int GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 36200; // 0x8d68
+    field public static final int GL_RGB565_OES = 36194; // 0x8d62
+    field public static final int GL_RGB5_A1_OES = 32855; // 0x8057
+    field public static final int GL_RGB8_OES = 32849; // 0x8051
+    field public static final int GL_RGBA4_OES = 32854; // 0x8056
+    field public static final int GL_RGBA8_OES = 32856; // 0x8058
+    field public static final int GL_SAMPLER_EXTERNAL_OES = 36198; // 0x8d66
+    field public static final int GL_STENCIL_ATTACHMENT_OES = 36128; // 0x8d20
+    field public static final int GL_STENCIL_INDEX1_OES = 36166; // 0x8d46
+    field public static final int GL_STENCIL_INDEX4_OES = 36167; // 0x8d47
+    field public static final int GL_STENCIL_INDEX8_OES = 36168; // 0x8d48
+    field public static final int GL_TEXTURE_BINDING_CUBE_MAP_OES = 34068; // 0x8514
+    field public static final int GL_TEXTURE_BINDING_EXTERNAL_OES = 36199; // 0x8d67
+    field public static final int GL_TEXTURE_CROP_RECT_OES = 35741; // 0x8b9d
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 34070; // 0x8516
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 34072; // 0x8518
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 34074; // 0x851a
+    field public static final int GL_TEXTURE_CUBE_MAP_OES = 34067; // 0x8513
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 34069; // 0x8515
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 34071; // 0x8517
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 34073; // 0x8519
+    field public static final int GL_TEXTURE_EXTERNAL_OES = 36197; // 0x8d65
+    field public static final int GL_TEXTURE_GEN_MODE_OES = 9472; // 0x2500
+    field public static final int GL_TEXTURE_GEN_STR_OES = 36192; // 0x8d60
+    field public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 35215; // 0x898f
+    field public static final int GL_TEXTURE_MAX_ANISOTROPY_EXT = 34046; // 0x84fe
+    field public static final int GL_UNSIGNED_INT_24_8_OES = 34042; // 0x84fa
+    field public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 34974; // 0x889e
+    field public static final int GL_WEIGHT_ARRAY_OES = 34477; // 0x86ad
+    field public static final int GL_WEIGHT_ARRAY_POINTER_OES = 34476; // 0x86ac
+    field public static final int GL_WEIGHT_ARRAY_SIZE_OES = 34475; // 0x86ab
+    field public static final int GL_WEIGHT_ARRAY_STRIDE_OES = 34474; // 0x86aa
+    field public static final int GL_WEIGHT_ARRAY_TYPE_OES = 34473; // 0x86a9
+    field public static final int GL_WRITE_ONLY_OES = 35001; // 0x88b9
+  }
+
+  public class GLES20 {
+    ctor public GLES20();
+    method public static void glActiveTexture(int);
+    method public static void glAttachShader(int, int);
+    method public static void glBindAttribLocation(int, int, String);
+    method public static void glBindBuffer(int, int);
+    method public static void glBindFramebuffer(int, int);
+    method public static void glBindRenderbuffer(int, int);
+    method public static void glBindTexture(int, int);
+    method public static void glBlendColor(float, float, float, float);
+    method public static void glBlendEquation(int);
+    method public static void glBlendEquationSeparate(int, int);
+    method public static void glBlendFunc(int, int);
+    method public static void glBlendFuncSeparate(int, int, int, int);
+    method public static void glBufferData(int, int, java.nio.Buffer, int);
+    method public static void glBufferSubData(int, int, int, java.nio.Buffer);
+    method public static int glCheckFramebufferStatus(int);
+    method public static void glClear(int);
+    method public static void glClearColor(float, float, float, float);
+    method public static void glClearDepthf(float);
+    method public static void glClearStencil(int);
+    method public static void glColorMask(boolean, boolean, boolean, boolean);
+    method public static void glCompileShader(int);
+    method public static void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCompressedTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+    method public static void glCopyTexSubImage2D(int, int, int, int, int, int, int, int);
+    method public static int glCreateProgram();
+    method public static int glCreateShader(int);
+    method public static void glCullFace(int);
+    method public static void glDeleteBuffers(int, int[], int);
+    method public static void glDeleteBuffers(int, java.nio.IntBuffer);
+    method public static void glDeleteFramebuffers(int, int[], int);
+    method public static void glDeleteFramebuffers(int, java.nio.IntBuffer);
+    method public static void glDeleteProgram(int);
+    method public static void glDeleteRenderbuffers(int, int[], int);
+    method public static void glDeleteRenderbuffers(int, java.nio.IntBuffer);
+    method public static void glDeleteShader(int);
+    method public static void glDeleteTextures(int, int[], int);
+    method public static void glDeleteTextures(int, java.nio.IntBuffer);
+    method public static void glDepthFunc(int);
+    method public static void glDepthMask(boolean);
+    method public static void glDepthRangef(float, float);
+    method public static void glDetachShader(int, int);
+    method public static void glDisable(int);
+    method public static void glDisableVertexAttribArray(int);
+    method public static void glDrawArrays(int, int, int);
+    method public static void glDrawElements(int, int, int, int);
+    method public static void glDrawElements(int, int, int, java.nio.Buffer);
+    method public static void glEnable(int);
+    method public static void glEnableVertexAttribArray(int);
+    method public static void glFinish();
+    method public static void glFlush();
+    method public static void glFramebufferRenderbuffer(int, int, int, int);
+    method public static void glFramebufferTexture2D(int, int, int, int, int);
+    method public static void glFrontFace(int);
+    method public static void glGenBuffers(int, int[], int);
+    method public static void glGenBuffers(int, java.nio.IntBuffer);
+    method public static void glGenFramebuffers(int, int[], int);
+    method public static void glGenFramebuffers(int, java.nio.IntBuffer);
+    method public static void glGenRenderbuffers(int, int[], int);
+    method public static void glGenRenderbuffers(int, java.nio.IntBuffer);
+    method public static void glGenTextures(int, int[], int);
+    method public static void glGenTextures(int, java.nio.IntBuffer);
+    method public static void glGenerateMipmap(int);
+    method public static void glGetActiveAttrib(int, int, int, int[], int, int[], int, int[], int, byte[], int);
+    method public static String glGetActiveAttrib(int, int, int[], int, int[], int);
+    method public static String glGetActiveAttrib(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static void glGetActiveUniform(int, int, int, int[], int, int[], int, int[], int, byte[], int);
+    method public static String glGetActiveUniform(int, int, int[], int, int[], int);
+    method public static String glGetActiveUniform(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static void glGetAttachedShaders(int, int, int[], int, int[], int);
+    method public static void glGetAttachedShaders(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static int glGetAttribLocation(int, String);
+    method public static void glGetBooleanv(int, boolean[], int);
+    method public static void glGetBooleanv(int, java.nio.IntBuffer);
+    method public static void glGetBufferParameteriv(int, int, int[], int);
+    method public static void glGetBufferParameteriv(int, int, java.nio.IntBuffer);
+    method public static int glGetError();
+    method public static void glGetFloatv(int, float[], int);
+    method public static void glGetFloatv(int, java.nio.FloatBuffer);
+    method public static void glGetFramebufferAttachmentParameteriv(int, int, int, int[], int);
+    method public static void glGetFramebufferAttachmentParameteriv(int, int, int, java.nio.IntBuffer);
+    method public static void glGetIntegerv(int, int[], int);
+    method public static void glGetIntegerv(int, java.nio.IntBuffer);
+    method public static String glGetProgramInfoLog(int);
+    method public static void glGetProgramiv(int, int, int[], int);
+    method public static void glGetProgramiv(int, int, java.nio.IntBuffer);
+    method public static void glGetRenderbufferParameteriv(int, int, int[], int);
+    method public static void glGetRenderbufferParameteriv(int, int, java.nio.IntBuffer);
+    method public static String glGetShaderInfoLog(int);
+    method public static void glGetShaderPrecisionFormat(int, int, int[], int, int[], int);
+    method public static void glGetShaderPrecisionFormat(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static void glGetShaderSource(int, int, int[], int, byte[], int);
+    method public static String glGetShaderSource(int);
+    method public static void glGetShaderiv(int, int, int[], int);
+    method public static void glGetShaderiv(int, int, java.nio.IntBuffer);
+    method public static String glGetString(int);
+    method public static void glGetTexParameterfv(int, int, float[], int);
+    method public static void glGetTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetTexParameteriv(int, int, int[], int);
+    method public static void glGetTexParameteriv(int, int, java.nio.IntBuffer);
+    method public static int glGetUniformLocation(int, String);
+    method public static void glGetUniformfv(int, int, float[], int);
+    method public static void glGetUniformfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetUniformiv(int, int, int[], int);
+    method public static void glGetUniformiv(int, int, java.nio.IntBuffer);
+    method public static void glGetVertexAttribfv(int, int, float[], int);
+    method public static void glGetVertexAttribfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetVertexAttribiv(int, int, int[], int);
+    method public static void glGetVertexAttribiv(int, int, java.nio.IntBuffer);
+    method public static void glHint(int, int);
+    method public static boolean glIsBuffer(int);
+    method public static boolean glIsEnabled(int);
+    method public static boolean glIsFramebuffer(int);
+    method public static boolean glIsProgram(int);
+    method public static boolean glIsRenderbuffer(int);
+    method public static boolean glIsShader(int);
+    method public static boolean glIsTexture(int);
+    method public static void glLineWidth(float);
+    method public static void glLinkProgram(int);
+    method public static void glPixelStorei(int, int);
+    method public static void glPolygonOffset(float, float);
+    method public static void glReadPixels(int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glReleaseShaderCompiler();
+    method public static void glRenderbufferStorage(int, int, int, int);
+    method public static void glSampleCoverage(float, boolean);
+    method public static void glScissor(int, int, int, int);
+    method public static void glShaderBinary(int, int[], int, int, java.nio.Buffer, int);
+    method public static void glShaderBinary(int, java.nio.IntBuffer, int, java.nio.Buffer, int);
+    method public static void glShaderSource(int, String);
+    method public static void glStencilFunc(int, int, int);
+    method public static void glStencilFuncSeparate(int, int, int, int);
+    method public static void glStencilMask(int);
+    method public static void glStencilMaskSeparate(int, int);
+    method public static void glStencilOp(int, int, int);
+    method public static void glStencilOpSeparate(int, int, int, int);
+    method public static void glTexImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glTexParameterf(int, int, float);
+    method public static void glTexParameterfv(int, int, float[], int);
+    method public static void glTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glTexParameteri(int, int, int);
+    method public static void glTexParameteriv(int, int, int[], int);
+    method public static void glTexParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glUniform1f(int, float);
+    method public static void glUniform1fv(int, int, float[], int);
+    method public static void glUniform1fv(int, int, java.nio.FloatBuffer);
+    method public static void glUniform1i(int, int);
+    method public static void glUniform1iv(int, int, int[], int);
+    method public static void glUniform1iv(int, int, java.nio.IntBuffer);
+    method public static void glUniform2f(int, float, float);
+    method public static void glUniform2fv(int, int, float[], int);
+    method public static void glUniform2fv(int, int, java.nio.FloatBuffer);
+    method public static void glUniform2i(int, int, int);
+    method public static void glUniform2iv(int, int, int[], int);
+    method public static void glUniform2iv(int, int, java.nio.IntBuffer);
+    method public static void glUniform3f(int, float, float, float);
+    method public static void glUniform3fv(int, int, float[], int);
+    method public static void glUniform3fv(int, int, java.nio.FloatBuffer);
+    method public static void glUniform3i(int, int, int, int);
+    method public static void glUniform3iv(int, int, int[], int);
+    method public static void glUniform3iv(int, int, java.nio.IntBuffer);
+    method public static void glUniform4f(int, float, float, float, float);
+    method public static void glUniform4fv(int, int, float[], int);
+    method public static void glUniform4fv(int, int, java.nio.FloatBuffer);
+    method public static void glUniform4i(int, int, int, int, int);
+    method public static void glUniform4iv(int, int, int[], int);
+    method public static void glUniform4iv(int, int, java.nio.IntBuffer);
+    method public static void glUniformMatrix2fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix2fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix3fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix3fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix4fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix4fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUseProgram(int);
+    method public static void glValidateProgram(int);
+    method public static void glVertexAttrib1f(int, float);
+    method public static void glVertexAttrib1fv(int, float[], int);
+    method public static void glVertexAttrib1fv(int, java.nio.FloatBuffer);
+    method public static void glVertexAttrib2f(int, float, float);
+    method public static void glVertexAttrib2fv(int, float[], int);
+    method public static void glVertexAttrib2fv(int, java.nio.FloatBuffer);
+    method public static void glVertexAttrib3f(int, float, float, float);
+    method public static void glVertexAttrib3fv(int, float[], int);
+    method public static void glVertexAttrib3fv(int, java.nio.FloatBuffer);
+    method public static void glVertexAttrib4f(int, float, float, float, float);
+    method public static void glVertexAttrib4fv(int, float[], int);
+    method public static void glVertexAttrib4fv(int, java.nio.FloatBuffer);
+    method public static void glVertexAttribPointer(int, int, int, boolean, int, int);
+    method public static void glVertexAttribPointer(int, int, int, boolean, int, java.nio.Buffer);
+    method public static void glViewport(int, int, int, int);
+    field public static final int GL_ACTIVE_ATTRIBUTES = 35721; // 0x8b89
+    field public static final int GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 35722; // 0x8b8a
+    field public static final int GL_ACTIVE_TEXTURE = 34016; // 0x84e0
+    field public static final int GL_ACTIVE_UNIFORMS = 35718; // 0x8b86
+    field public static final int GL_ACTIVE_UNIFORM_MAX_LENGTH = 35719; // 0x8b87
+    field public static final int GL_ALIASED_LINE_WIDTH_RANGE = 33902; // 0x846e
+    field public static final int GL_ALIASED_POINT_SIZE_RANGE = 33901; // 0x846d
+    field public static final int GL_ALPHA = 6406; // 0x1906
+    field public static final int GL_ALPHA_BITS = 3413; // 0xd55
+    field public static final int GL_ALWAYS = 519; // 0x207
+    field public static final int GL_ARRAY_BUFFER = 34962; // 0x8892
+    field public static final int GL_ARRAY_BUFFER_BINDING = 34964; // 0x8894
+    field public static final int GL_ATTACHED_SHADERS = 35717; // 0x8b85
+    field public static final int GL_BACK = 1029; // 0x405
+    field public static final int GL_BLEND = 3042; // 0xbe2
+    field public static final int GL_BLEND_COLOR = 32773; // 0x8005
+    field public static final int GL_BLEND_DST_ALPHA = 32970; // 0x80ca
+    field public static final int GL_BLEND_DST_RGB = 32968; // 0x80c8
+    field public static final int GL_BLEND_EQUATION = 32777; // 0x8009
+    field public static final int GL_BLEND_EQUATION_ALPHA = 34877; // 0x883d
+    field public static final int GL_BLEND_EQUATION_RGB = 32777; // 0x8009
+    field public static final int GL_BLEND_SRC_ALPHA = 32971; // 0x80cb
+    field public static final int GL_BLEND_SRC_RGB = 32969; // 0x80c9
+    field public static final int GL_BLUE_BITS = 3412; // 0xd54
+    field public static final int GL_BOOL = 35670; // 0x8b56
+    field public static final int GL_BOOL_VEC2 = 35671; // 0x8b57
+    field public static final int GL_BOOL_VEC3 = 35672; // 0x8b58
+    field public static final int GL_BOOL_VEC4 = 35673; // 0x8b59
+    field public static final int GL_BUFFER_SIZE = 34660; // 0x8764
+    field public static final int GL_BUFFER_USAGE = 34661; // 0x8765
+    field public static final int GL_BYTE = 5120; // 0x1400
+    field public static final int GL_CCW = 2305; // 0x901
+    field public static final int GL_CLAMP_TO_EDGE = 33071; // 0x812f
+    field public static final int GL_COLOR_ATTACHMENT0 = 36064; // 0x8ce0
+    field public static final int GL_COLOR_BUFFER_BIT = 16384; // 0x4000
+    field public static final int GL_COLOR_CLEAR_VALUE = 3106; // 0xc22
+    field public static final int GL_COLOR_WRITEMASK = 3107; // 0xc23
+    field public static final int GL_COMPILE_STATUS = 35713; // 0x8b81
+    field public static final int GL_COMPRESSED_TEXTURE_FORMATS = 34467; // 0x86a3
+    field public static final int GL_CONSTANT_ALPHA = 32771; // 0x8003
+    field public static final int GL_CONSTANT_COLOR = 32769; // 0x8001
+    field public static final int GL_CULL_FACE = 2884; // 0xb44
+    field public static final int GL_CULL_FACE_MODE = 2885; // 0xb45
+    field public static final int GL_CURRENT_PROGRAM = 35725; // 0x8b8d
+    field public static final int GL_CURRENT_VERTEX_ATTRIB = 34342; // 0x8626
+    field public static final int GL_CW = 2304; // 0x900
+    field public static final int GL_DECR = 7683; // 0x1e03
+    field public static final int GL_DECR_WRAP = 34056; // 0x8508
+    field public static final int GL_DELETE_STATUS = 35712; // 0x8b80
+    field public static final int GL_DEPTH_ATTACHMENT = 36096; // 0x8d00
+    field public static final int GL_DEPTH_BITS = 3414; // 0xd56
+    field public static final int GL_DEPTH_BUFFER_BIT = 256; // 0x100
+    field public static final int GL_DEPTH_CLEAR_VALUE = 2931; // 0xb73
+    field public static final int GL_DEPTH_COMPONENT = 6402; // 0x1902
+    field public static final int GL_DEPTH_COMPONENT16 = 33189; // 0x81a5
+    field public static final int GL_DEPTH_FUNC = 2932; // 0xb74
+    field public static final int GL_DEPTH_RANGE = 2928; // 0xb70
+    field public static final int GL_DEPTH_TEST = 2929; // 0xb71
+    field public static final int GL_DEPTH_WRITEMASK = 2930; // 0xb72
+    field public static final int GL_DITHER = 3024; // 0xbd0
+    field public static final int GL_DONT_CARE = 4352; // 0x1100
+    field public static final int GL_DST_ALPHA = 772; // 0x304
+    field public static final int GL_DST_COLOR = 774; // 0x306
+    field public static final int GL_DYNAMIC_DRAW = 35048; // 0x88e8
+    field public static final int GL_ELEMENT_ARRAY_BUFFER = 34963; // 0x8893
+    field public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 34965; // 0x8895
+    field public static final int GL_EQUAL = 514; // 0x202
+    field public static final int GL_EXTENSIONS = 7939; // 0x1f03
+    field public static final int GL_FALSE = 0; // 0x0
+    field public static final int GL_FASTEST = 4353; // 0x1101
+    field public static final int GL_FIXED = 5132; // 0x140c
+    field public static final int GL_FLOAT = 5126; // 0x1406
+    field public static final int GL_FLOAT_MAT2 = 35674; // 0x8b5a
+    field public static final int GL_FLOAT_MAT3 = 35675; // 0x8b5b
+    field public static final int GL_FLOAT_MAT4 = 35676; // 0x8b5c
+    field public static final int GL_FLOAT_VEC2 = 35664; // 0x8b50
+    field public static final int GL_FLOAT_VEC3 = 35665; // 0x8b51
+    field public static final int GL_FLOAT_VEC4 = 35666; // 0x8b52
+    field public static final int GL_FRAGMENT_SHADER = 35632; // 0x8b30
+    field public static final int GL_FRAMEBUFFER = 36160; // 0x8d40
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049; // 0x8cd1
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048; // 0x8cd0
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051; // 0x8cd3
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050; // 0x8cd2
+    field public static final int GL_FRAMEBUFFER_BINDING = 36006; // 0x8ca6
+    field public static final int GL_FRAMEBUFFER_COMPLETE = 36053; // 0x8cd5
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054; // 0x8cd6
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057; // 0x8cd9
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055; // 0x8cd7
+    field public static final int GL_FRAMEBUFFER_UNSUPPORTED = 36061; // 0x8cdd
+    field public static final int GL_FRONT = 1028; // 0x404
+    field public static final int GL_FRONT_AND_BACK = 1032; // 0x408
+    field public static final int GL_FRONT_FACE = 2886; // 0xb46
+    field public static final int GL_FUNC_ADD = 32774; // 0x8006
+    field public static final int GL_FUNC_REVERSE_SUBTRACT = 32779; // 0x800b
+    field public static final int GL_FUNC_SUBTRACT = 32778; // 0x800a
+    field public static final int GL_GENERATE_MIPMAP_HINT = 33170; // 0x8192
+    field public static final int GL_GEQUAL = 518; // 0x206
+    field public static final int GL_GREATER = 516; // 0x204
+    field public static final int GL_GREEN_BITS = 3411; // 0xd53
+    field public static final int GL_HIGH_FLOAT = 36338; // 0x8df2
+    field public static final int GL_HIGH_INT = 36341; // 0x8df5
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT = 35739; // 0x8b9b
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE = 35738; // 0x8b9a
+    field public static final int GL_INCR = 7682; // 0x1e02
+    field public static final int GL_INCR_WRAP = 34055; // 0x8507
+    field public static final int GL_INFO_LOG_LENGTH = 35716; // 0x8b84
+    field public static final int GL_INT = 5124; // 0x1404
+    field public static final int GL_INT_VEC2 = 35667; // 0x8b53
+    field public static final int GL_INT_VEC3 = 35668; // 0x8b54
+    field public static final int GL_INT_VEC4 = 35669; // 0x8b55
+    field public static final int GL_INVALID_ENUM = 1280; // 0x500
+    field public static final int GL_INVALID_FRAMEBUFFER_OPERATION = 1286; // 0x506
+    field public static final int GL_INVALID_OPERATION = 1282; // 0x502
+    field public static final int GL_INVALID_VALUE = 1281; // 0x501
+    field public static final int GL_INVERT = 5386; // 0x150a
+    field public static final int GL_KEEP = 7680; // 0x1e00
+    field public static final int GL_LEQUAL = 515; // 0x203
+    field public static final int GL_LESS = 513; // 0x201
+    field public static final int GL_LINEAR = 9729; // 0x2601
+    field public static final int GL_LINEAR_MIPMAP_LINEAR = 9987; // 0x2703
+    field public static final int GL_LINEAR_MIPMAP_NEAREST = 9985; // 0x2701
+    field public static final int GL_LINES = 1; // 0x1
+    field public static final int GL_LINE_LOOP = 2; // 0x2
+    field public static final int GL_LINE_STRIP = 3; // 0x3
+    field public static final int GL_LINE_WIDTH = 2849; // 0xb21
+    field public static final int GL_LINK_STATUS = 35714; // 0x8b82
+    field public static final int GL_LOW_FLOAT = 36336; // 0x8df0
+    field public static final int GL_LOW_INT = 36339; // 0x8df3
+    field public static final int GL_LUMINANCE = 6409; // 0x1909
+    field public static final int GL_LUMINANCE_ALPHA = 6410; // 0x190a
+    field public static final int GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661; // 0x8b4d
+    field public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE = 34076; // 0x851c
+    field public static final int GL_MAX_FRAGMENT_UNIFORM_VECTORS = 36349; // 0x8dfd
+    field public static final int GL_MAX_RENDERBUFFER_SIZE = 34024; // 0x84e8
+    field public static final int GL_MAX_TEXTURE_IMAGE_UNITS = 34930; // 0x8872
+    field public static final int GL_MAX_TEXTURE_SIZE = 3379; // 0xd33
+    field public static final int GL_MAX_VARYING_VECTORS = 36348; // 0x8dfc
+    field public static final int GL_MAX_VERTEX_ATTRIBS = 34921; // 0x8869
+    field public static final int GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660; // 0x8b4c
+    field public static final int GL_MAX_VERTEX_UNIFORM_VECTORS = 36347; // 0x8dfb
+    field public static final int GL_MAX_VIEWPORT_DIMS = 3386; // 0xd3a
+    field public static final int GL_MEDIUM_FLOAT = 36337; // 0x8df1
+    field public static final int GL_MEDIUM_INT = 36340; // 0x8df4
+    field public static final int GL_MIRRORED_REPEAT = 33648; // 0x8370
+    field public static final int GL_NEAREST = 9728; // 0x2600
+    field public static final int GL_NEAREST_MIPMAP_LINEAR = 9986; // 0x2702
+    field public static final int GL_NEAREST_MIPMAP_NEAREST = 9984; // 0x2700
+    field public static final int GL_NEVER = 512; // 0x200
+    field public static final int GL_NICEST = 4354; // 0x1102
+    field public static final int GL_NONE = 0; // 0x0
+    field public static final int GL_NOTEQUAL = 517; // 0x205
+    field public static final int GL_NO_ERROR = 0; // 0x0
+    field public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 34466; // 0x86a2
+    field public static final int GL_NUM_SHADER_BINARY_FORMATS = 36345; // 0x8df9
+    field public static final int GL_ONE = 1; // 0x1
+    field public static final int GL_ONE_MINUS_CONSTANT_ALPHA = 32772; // 0x8004
+    field public static final int GL_ONE_MINUS_CONSTANT_COLOR = 32770; // 0x8002
+    field public static final int GL_ONE_MINUS_DST_ALPHA = 773; // 0x305
+    field public static final int GL_ONE_MINUS_DST_COLOR = 775; // 0x307
+    field public static final int GL_ONE_MINUS_SRC_ALPHA = 771; // 0x303
+    field public static final int GL_ONE_MINUS_SRC_COLOR = 769; // 0x301
+    field public static final int GL_OUT_OF_MEMORY = 1285; // 0x505
+    field public static final int GL_PACK_ALIGNMENT = 3333; // 0xd05
+    field public static final int GL_POINTS = 0; // 0x0
+    field public static final int GL_POLYGON_OFFSET_FACTOR = 32824; // 0x8038
+    field public static final int GL_POLYGON_OFFSET_FILL = 32823; // 0x8037
+    field public static final int GL_POLYGON_OFFSET_UNITS = 10752; // 0x2a00
+    field public static final int GL_RED_BITS = 3410; // 0xd52
+    field public static final int GL_RENDERBUFFER = 36161; // 0x8d41
+    field public static final int GL_RENDERBUFFER_ALPHA_SIZE = 36179; // 0x8d53
+    field public static final int GL_RENDERBUFFER_BINDING = 36007; // 0x8ca7
+    field public static final int GL_RENDERBUFFER_BLUE_SIZE = 36178; // 0x8d52
+    field public static final int GL_RENDERBUFFER_DEPTH_SIZE = 36180; // 0x8d54
+    field public static final int GL_RENDERBUFFER_GREEN_SIZE = 36177; // 0x8d51
+    field public static final int GL_RENDERBUFFER_HEIGHT = 36163; // 0x8d43
+    field public static final int GL_RENDERBUFFER_INTERNAL_FORMAT = 36164; // 0x8d44
+    field public static final int GL_RENDERBUFFER_RED_SIZE = 36176; // 0x8d50
+    field public static final int GL_RENDERBUFFER_STENCIL_SIZE = 36181; // 0x8d55
+    field public static final int GL_RENDERBUFFER_WIDTH = 36162; // 0x8d42
+    field public static final int GL_RENDERER = 7937; // 0x1f01
+    field public static final int GL_REPEAT = 10497; // 0x2901
+    field public static final int GL_REPLACE = 7681; // 0x1e01
+    field public static final int GL_RGB = 6407; // 0x1907
+    field public static final int GL_RGB565 = 36194; // 0x8d62
+    field public static final int GL_RGB5_A1 = 32855; // 0x8057
+    field public static final int GL_RGBA = 6408; // 0x1908
+    field public static final int GL_RGBA4 = 32854; // 0x8056
+    field public static final int GL_SAMPLER_2D = 35678; // 0x8b5e
+    field public static final int GL_SAMPLER_CUBE = 35680; // 0x8b60
+    field public static final int GL_SAMPLES = 32937; // 0x80a9
+    field public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 32926; // 0x809e
+    field public static final int GL_SAMPLE_BUFFERS = 32936; // 0x80a8
+    field public static final int GL_SAMPLE_COVERAGE = 32928; // 0x80a0
+    field public static final int GL_SAMPLE_COVERAGE_INVERT = 32939; // 0x80ab
+    field public static final int GL_SAMPLE_COVERAGE_VALUE = 32938; // 0x80aa
+    field public static final int GL_SCISSOR_BOX = 3088; // 0xc10
+    field public static final int GL_SCISSOR_TEST = 3089; // 0xc11
+    field public static final int GL_SHADER_BINARY_FORMATS = 36344; // 0x8df8
+    field public static final int GL_SHADER_COMPILER = 36346; // 0x8dfa
+    field public static final int GL_SHADER_SOURCE_LENGTH = 35720; // 0x8b88
+    field public static final int GL_SHADER_TYPE = 35663; // 0x8b4f
+    field public static final int GL_SHADING_LANGUAGE_VERSION = 35724; // 0x8b8c
+    field public static final int GL_SHORT = 5122; // 0x1402
+    field public static final int GL_SRC_ALPHA = 770; // 0x302
+    field public static final int GL_SRC_ALPHA_SATURATE = 776; // 0x308
+    field public static final int GL_SRC_COLOR = 768; // 0x300
+    field public static final int GL_STATIC_DRAW = 35044; // 0x88e4
+    field public static final int GL_STENCIL_ATTACHMENT = 36128; // 0x8d20
+    field public static final int GL_STENCIL_BACK_FAIL = 34817; // 0x8801
+    field public static final int GL_STENCIL_BACK_FUNC = 34816; // 0x8800
+    field public static final int GL_STENCIL_BACK_PASS_DEPTH_FAIL = 34818; // 0x8802
+    field public static final int GL_STENCIL_BACK_PASS_DEPTH_PASS = 34819; // 0x8803
+    field public static final int GL_STENCIL_BACK_REF = 36003; // 0x8ca3
+    field public static final int GL_STENCIL_BACK_VALUE_MASK = 36004; // 0x8ca4
+    field public static final int GL_STENCIL_BACK_WRITEMASK = 36005; // 0x8ca5
+    field public static final int GL_STENCIL_BITS = 3415; // 0xd57
+    field public static final int GL_STENCIL_BUFFER_BIT = 1024; // 0x400
+    field public static final int GL_STENCIL_CLEAR_VALUE = 2961; // 0xb91
+    field public static final int GL_STENCIL_FAIL = 2964; // 0xb94
+    field public static final int GL_STENCIL_FUNC = 2962; // 0xb92
+    field @Deprecated public static final int GL_STENCIL_INDEX = 6401; // 0x1901
+    field public static final int GL_STENCIL_INDEX8 = 36168; // 0x8d48
+    field public static final int GL_STENCIL_PASS_DEPTH_FAIL = 2965; // 0xb95
+    field public static final int GL_STENCIL_PASS_DEPTH_PASS = 2966; // 0xb96
+    field public static final int GL_STENCIL_REF = 2967; // 0xb97
+    field public static final int GL_STENCIL_TEST = 2960; // 0xb90
+    field public static final int GL_STENCIL_VALUE_MASK = 2963; // 0xb93
+    field public static final int GL_STENCIL_WRITEMASK = 2968; // 0xb98
+    field public static final int GL_STREAM_DRAW = 35040; // 0x88e0
+    field public static final int GL_SUBPIXEL_BITS = 3408; // 0xd50
+    field public static final int GL_TEXTURE = 5890; // 0x1702
+    field public static final int GL_TEXTURE0 = 33984; // 0x84c0
+    field public static final int GL_TEXTURE1 = 33985; // 0x84c1
+    field public static final int GL_TEXTURE10 = 33994; // 0x84ca
+    field public static final int GL_TEXTURE11 = 33995; // 0x84cb
+    field public static final int GL_TEXTURE12 = 33996; // 0x84cc
+    field public static final int GL_TEXTURE13 = 33997; // 0x84cd
+    field public static final int GL_TEXTURE14 = 33998; // 0x84ce
+    field public static final int GL_TEXTURE15 = 33999; // 0x84cf
+    field public static final int GL_TEXTURE16 = 34000; // 0x84d0
+    field public static final int GL_TEXTURE17 = 34001; // 0x84d1
+    field public static final int GL_TEXTURE18 = 34002; // 0x84d2
+    field public static final int GL_TEXTURE19 = 34003; // 0x84d3
+    field public static final int GL_TEXTURE2 = 33986; // 0x84c2
+    field public static final int GL_TEXTURE20 = 34004; // 0x84d4
+    field public static final int GL_TEXTURE21 = 34005; // 0x84d5
+    field public static final int GL_TEXTURE22 = 34006; // 0x84d6
+    field public static final int GL_TEXTURE23 = 34007; // 0x84d7
+    field public static final int GL_TEXTURE24 = 34008; // 0x84d8
+    field public static final int GL_TEXTURE25 = 34009; // 0x84d9
+    field public static final int GL_TEXTURE26 = 34010; // 0x84da
+    field public static final int GL_TEXTURE27 = 34011; // 0x84db
+    field public static final int GL_TEXTURE28 = 34012; // 0x84dc
+    field public static final int GL_TEXTURE29 = 34013; // 0x84dd
+    field public static final int GL_TEXTURE3 = 33987; // 0x84c3
+    field public static final int GL_TEXTURE30 = 34014; // 0x84de
+    field public static final int GL_TEXTURE31 = 34015; // 0x84df
+    field public static final int GL_TEXTURE4 = 33988; // 0x84c4
+    field public static final int GL_TEXTURE5 = 33989; // 0x84c5
+    field public static final int GL_TEXTURE6 = 33990; // 0x84c6
+    field public static final int GL_TEXTURE7 = 33991; // 0x84c7
+    field public static final int GL_TEXTURE8 = 33992; // 0x84c8
+    field public static final int GL_TEXTURE9 = 33993; // 0x84c9
+    field public static final int GL_TEXTURE_2D = 3553; // 0xde1
+    field public static final int GL_TEXTURE_BINDING_2D = 32873; // 0x8069
+    field public static final int GL_TEXTURE_BINDING_CUBE_MAP = 34068; // 0x8514
+    field public static final int GL_TEXTURE_CUBE_MAP = 34067; // 0x8513
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070; // 0x8516
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072; // 0x8518
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074; // 0x851a
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069; // 0x8515
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 34071; // 0x8517
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073; // 0x8519
+    field public static final int GL_TEXTURE_MAG_FILTER = 10240; // 0x2800
+    field public static final int GL_TEXTURE_MIN_FILTER = 10241; // 0x2801
+    field public static final int GL_TEXTURE_WRAP_S = 10242; // 0x2802
+    field public static final int GL_TEXTURE_WRAP_T = 10243; // 0x2803
+    field public static final int GL_TRIANGLES = 4; // 0x4
+    field public static final int GL_TRIANGLE_FAN = 6; // 0x6
+    field public static final int GL_TRIANGLE_STRIP = 5; // 0x5
+    field public static final int GL_TRUE = 1; // 0x1
+    field public static final int GL_UNPACK_ALIGNMENT = 3317; // 0xcf5
+    field public static final int GL_UNSIGNED_BYTE = 5121; // 0x1401
+    field public static final int GL_UNSIGNED_INT = 5125; // 0x1405
+    field public static final int GL_UNSIGNED_SHORT = 5123; // 0x1403
+    field public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 32819; // 0x8033
+    field public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 32820; // 0x8034
+    field public static final int GL_UNSIGNED_SHORT_5_6_5 = 33635; // 0x8363
+    field public static final int GL_VALIDATE_STATUS = 35715; // 0x8b83
+    field public static final int GL_VENDOR = 7936; // 0x1f00
+    field public static final int GL_VERSION = 7938; // 0x1f02
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975; // 0x889f
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_ENABLED = 34338; // 0x8622
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922; // 0x886a
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_POINTER = 34373; // 0x8645
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_SIZE = 34339; // 0x8623
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_STRIDE = 34340; // 0x8624
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_TYPE = 34341; // 0x8625
+    field public static final int GL_VERTEX_SHADER = 35633; // 0x8b31
+    field public static final int GL_VIEWPORT = 2978; // 0xba2
+    field public static final int GL_ZERO = 0; // 0x0
+  }
+
+  public class GLES30 extends android.opengl.GLES20 {
+    ctor public GLES30();
+    method public static void glBeginQuery(int, int);
+    method public static void glBeginTransformFeedback(int);
+    method public static void glBindBufferBase(int, int, int);
+    method public static void glBindBufferRange(int, int, int, int, int);
+    method public static void glBindSampler(int, int);
+    method public static void glBindTransformFeedback(int, int);
+    method public static void glBindVertexArray(int);
+    method public static void glBlitFramebuffer(int, int, int, int, int, int, int, int, int, int);
+    method public static void glClearBufferfi(int, int, float, int);
+    method public static void glClearBufferfv(int, int, float[], int);
+    method public static void glClearBufferfv(int, int, java.nio.FloatBuffer);
+    method public static void glClearBufferiv(int, int, int[], int);
+    method public static void glClearBufferiv(int, int, java.nio.IntBuffer);
+    method public static void glClearBufferuiv(int, int, int[], int);
+    method public static void glClearBufferuiv(int, int, java.nio.IntBuffer);
+    method public static int glClientWaitSync(long, int, long);
+    method public static void glCompressedTexImage3D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCompressedTexImage3D(int, int, int, int, int, int, int, int, int);
+    method public static void glCompressedTexSubImage3D(int, int, int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glCompressedTexSubImage3D(int, int, int, int, int, int, int, int, int, int, int);
+    method public static void glCopyBufferSubData(int, int, int, int, int);
+    method public static void glCopyTexSubImage3D(int, int, int, int, int, int, int, int, int);
+    method public static void glDeleteQueries(int, int[], int);
+    method public static void glDeleteQueries(int, java.nio.IntBuffer);
+    method public static void glDeleteSamplers(int, int[], int);
+    method public static void glDeleteSamplers(int, java.nio.IntBuffer);
+    method public static void glDeleteSync(long);
+    method public static void glDeleteTransformFeedbacks(int, int[], int);
+    method public static void glDeleteTransformFeedbacks(int, java.nio.IntBuffer);
+    method public static void glDeleteVertexArrays(int, int[], int);
+    method public static void glDeleteVertexArrays(int, java.nio.IntBuffer);
+    method public static void glDrawArraysInstanced(int, int, int, int);
+    method public static void glDrawBuffers(int, int[], int);
+    method public static void glDrawBuffers(int, java.nio.IntBuffer);
+    method public static void glDrawElementsInstanced(int, int, int, java.nio.Buffer, int);
+    method public static void glDrawElementsInstanced(int, int, int, int, int);
+    method public static void glDrawRangeElements(int, int, int, int, int, java.nio.Buffer);
+    method public static void glDrawRangeElements(int, int, int, int, int, int);
+    method public static void glEndQuery(int);
+    method public static void glEndTransformFeedback();
+    method public static long glFenceSync(int, int);
+    method public static void glFlushMappedBufferRange(int, int, int);
+    method public static void glFramebufferTextureLayer(int, int, int, int, int);
+    method public static void glGenQueries(int, int[], int);
+    method public static void glGenQueries(int, java.nio.IntBuffer);
+    method public static void glGenSamplers(int, int[], int);
+    method public static void glGenSamplers(int, java.nio.IntBuffer);
+    method public static void glGenTransformFeedbacks(int, int[], int);
+    method public static void glGenTransformFeedbacks(int, java.nio.IntBuffer);
+    method public static void glGenVertexArrays(int, int[], int);
+    method public static void glGenVertexArrays(int, java.nio.IntBuffer);
+    method public static void glGetActiveUniformBlockName(int, int, int, int[], int, byte[], int);
+    method public static void glGetActiveUniformBlockName(int, int, java.nio.Buffer, java.nio.Buffer);
+    method public static String glGetActiveUniformBlockName(int, int);
+    method public static void glGetActiveUniformBlockiv(int, int, int, int[], int);
+    method public static void glGetActiveUniformBlockiv(int, int, int, java.nio.IntBuffer);
+    method public static void glGetActiveUniformsiv(int, int, int[], int, int, int[], int);
+    method public static void glGetActiveUniformsiv(int, int, java.nio.IntBuffer, int, java.nio.IntBuffer);
+    method public static void glGetBufferParameteri64v(int, int, long[], int);
+    method public static void glGetBufferParameteri64v(int, int, java.nio.LongBuffer);
+    method public static java.nio.Buffer glGetBufferPointerv(int, int);
+    method public static int glGetFragDataLocation(int, String);
+    method public static void glGetInteger64i_v(int, int, long[], int);
+    method public static void glGetInteger64i_v(int, int, java.nio.LongBuffer);
+    method public static void glGetInteger64v(int, long[], int);
+    method public static void glGetInteger64v(int, java.nio.LongBuffer);
+    method public static void glGetIntegeri_v(int, int, int[], int);
+    method public static void glGetIntegeri_v(int, int, java.nio.IntBuffer);
+    method public static void glGetInternalformativ(int, int, int, int, int[], int);
+    method public static void glGetInternalformativ(int, int, int, int, java.nio.IntBuffer);
+    method public static void glGetProgramBinary(int, int, int[], int, int[], int, java.nio.Buffer);
+    method public static void glGetProgramBinary(int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.Buffer);
+    method public static void glGetQueryObjectuiv(int, int, int[], int);
+    method public static void glGetQueryObjectuiv(int, int, java.nio.IntBuffer);
+    method public static void glGetQueryiv(int, int, int[], int);
+    method public static void glGetQueryiv(int, int, java.nio.IntBuffer);
+    method public static void glGetSamplerParameterfv(int, int, float[], int);
+    method public static void glGetSamplerParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glGetSamplerParameteriv(int, int, int[], int);
+    method public static void glGetSamplerParameteriv(int, int, java.nio.IntBuffer);
+    method public static String glGetStringi(int, int);
+    method public static void glGetSynciv(long, int, int, int[], int, int[], int);
+    method public static void glGetSynciv(long, int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static void glGetTransformFeedbackVarying(int, int, int, int[], int, int[], int, int[], int, byte[], int);
+    method @Deprecated public static void glGetTransformFeedbackVarying(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, byte);
+    method public static void glGetTransformFeedbackVarying(int, int, int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer);
+    method public static String glGetTransformFeedbackVarying(int, int, int[], int, int[], int);
+    method public static String glGetTransformFeedbackVarying(int, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static int glGetUniformBlockIndex(int, String);
+    method public static void glGetUniformIndices(int, String[], int[], int);
+    method public static void glGetUniformIndices(int, String[], java.nio.IntBuffer);
+    method public static void glGetUniformuiv(int, int, int[], int);
+    method public static void glGetUniformuiv(int, int, java.nio.IntBuffer);
+    method public static void glGetVertexAttribIiv(int, int, int[], int);
+    method public static void glGetVertexAttribIiv(int, int, java.nio.IntBuffer);
+    method public static void glGetVertexAttribIuiv(int, int, int[], int);
+    method public static void glGetVertexAttribIuiv(int, int, java.nio.IntBuffer);
+    method public static void glInvalidateFramebuffer(int, int, int[], int);
+    method public static void glInvalidateFramebuffer(int, int, java.nio.IntBuffer);
+    method public static void glInvalidateSubFramebuffer(int, int, int[], int, int, int, int, int);
+    method public static void glInvalidateSubFramebuffer(int, int, java.nio.IntBuffer, int, int, int, int);
+    method public static boolean glIsQuery(int);
+    method public static boolean glIsSampler(int);
+    method public static boolean glIsSync(long);
+    method public static boolean glIsTransformFeedback(int);
+    method public static boolean glIsVertexArray(int);
+    method public static java.nio.Buffer glMapBufferRange(int, int, int, int);
+    method public static void glPauseTransformFeedback();
+    method public static void glProgramBinary(int, int, java.nio.Buffer, int);
+    method public static void glProgramParameteri(int, int, int);
+    method public static void glReadBuffer(int);
+    method public static void glReadPixels(int, int, int, int, int, int, int);
+    method public static void glRenderbufferStorageMultisample(int, int, int, int, int);
+    method public static void glResumeTransformFeedback();
+    method public static void glSamplerParameterf(int, int, float);
+    method public static void glSamplerParameterfv(int, int, float[], int);
+    method public static void glSamplerParameterfv(int, int, java.nio.FloatBuffer);
+    method public static void glSamplerParameteri(int, int, int);
+    method public static void glSamplerParameteriv(int, int, int[], int);
+    method public static void glSamplerParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glTexImage3D(int, int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glTexImage3D(int, int, int, int, int, int, int, int, int, int);
+    method public static void glTexStorage2D(int, int, int, int, int);
+    method public static void glTexStorage3D(int, int, int, int, int, int);
+    method public static void glTexSubImage3D(int, int, int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glTexSubImage3D(int, int, int, int, int, int, int, int, int, int, int);
+    method public static void glTransformFeedbackVaryings(int, String[], int);
+    method public static void glUniform1ui(int, int);
+    method public static void glUniform1uiv(int, int, int[], int);
+    method public static void glUniform1uiv(int, int, java.nio.IntBuffer);
+    method public static void glUniform2ui(int, int, int);
+    method public static void glUniform2uiv(int, int, int[], int);
+    method public static void glUniform2uiv(int, int, java.nio.IntBuffer);
+    method public static void glUniform3ui(int, int, int, int);
+    method public static void glUniform3uiv(int, int, int[], int);
+    method public static void glUniform3uiv(int, int, java.nio.IntBuffer);
+    method public static void glUniform4ui(int, int, int, int, int);
+    method public static void glUniform4uiv(int, int, int[], int);
+    method public static void glUniform4uiv(int, int, java.nio.IntBuffer);
+    method public static void glUniformBlockBinding(int, int, int);
+    method public static void glUniformMatrix2x3fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix2x3fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix2x4fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix2x4fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix3x2fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix3x2fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix3x4fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix3x4fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix4x2fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix4x2fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static void glUniformMatrix4x3fv(int, int, boolean, float[], int);
+    method public static void glUniformMatrix4x3fv(int, int, boolean, java.nio.FloatBuffer);
+    method public static boolean glUnmapBuffer(int);
+    method public static void glVertexAttribDivisor(int, int);
+    method public static void glVertexAttribI4i(int, int, int, int, int);
+    method public static void glVertexAttribI4iv(int, int[], int);
+    method public static void glVertexAttribI4iv(int, java.nio.IntBuffer);
+    method public static void glVertexAttribI4ui(int, int, int, int, int);
+    method public static void glVertexAttribI4uiv(int, int[], int);
+    method public static void glVertexAttribI4uiv(int, java.nio.IntBuffer);
+    method public static void glVertexAttribIPointer(int, int, int, int, java.nio.Buffer);
+    method public static void glVertexAttribIPointer(int, int, int, int, int);
+    method public static void glWaitSync(long, int, long);
+    field public static final int GL_ACTIVE_UNIFORM_BLOCKS = 35382; // 0x8a36
+    field public static final int GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 35381; // 0x8a35
+    field public static final int GL_ALREADY_SIGNALED = 37146; // 0x911a
+    field public static final int GL_ANY_SAMPLES_PASSED = 35887; // 0x8c2f
+    field public static final int GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 36202; // 0x8d6a
+    field public static final int GL_BLUE = 6405; // 0x1905
+    field public static final int GL_BUFFER_ACCESS_FLAGS = 37151; // 0x911f
+    field public static final int GL_BUFFER_MAPPED = 35004; // 0x88bc
+    field public static final int GL_BUFFER_MAP_LENGTH = 37152; // 0x9120
+    field public static final int GL_BUFFER_MAP_OFFSET = 37153; // 0x9121
+    field public static final int GL_BUFFER_MAP_POINTER = 35005; // 0x88bd
+    field public static final int GL_COLOR = 6144; // 0x1800
+    field public static final int GL_COLOR_ATTACHMENT1 = 36065; // 0x8ce1
+    field public static final int GL_COLOR_ATTACHMENT10 = 36074; // 0x8cea
+    field public static final int GL_COLOR_ATTACHMENT11 = 36075; // 0x8ceb
+    field public static final int GL_COLOR_ATTACHMENT12 = 36076; // 0x8cec
+    field public static final int GL_COLOR_ATTACHMENT13 = 36077; // 0x8ced
+    field public static final int GL_COLOR_ATTACHMENT14 = 36078; // 0x8cee
+    field public static final int GL_COLOR_ATTACHMENT15 = 36079; // 0x8cef
+    field public static final int GL_COLOR_ATTACHMENT2 = 36066; // 0x8ce2
+    field public static final int GL_COLOR_ATTACHMENT3 = 36067; // 0x8ce3
+    field public static final int GL_COLOR_ATTACHMENT4 = 36068; // 0x8ce4
+    field public static final int GL_COLOR_ATTACHMENT5 = 36069; // 0x8ce5
+    field public static final int GL_COLOR_ATTACHMENT6 = 36070; // 0x8ce6
+    field public static final int GL_COLOR_ATTACHMENT7 = 36071; // 0x8ce7
+    field public static final int GL_COLOR_ATTACHMENT8 = 36072; // 0x8ce8
+    field public static final int GL_COLOR_ATTACHMENT9 = 36073; // 0x8ce9
+    field public static final int GL_COMPARE_REF_TO_TEXTURE = 34894; // 0x884e
+    field public static final int GL_COMPRESSED_R11_EAC = 37488; // 0x9270
+    field public static final int GL_COMPRESSED_RG11_EAC = 37490; // 0x9272
+    field public static final int GL_COMPRESSED_RGB8_ETC2 = 37492; // 0x9274
+    field public static final int GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37494; // 0x9276
+    field public static final int GL_COMPRESSED_RGBA8_ETC2_EAC = 37496; // 0x9278
+    field public static final int GL_COMPRESSED_SIGNED_R11_EAC = 37489; // 0x9271
+    field public static final int GL_COMPRESSED_SIGNED_RG11_EAC = 37491; // 0x9273
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37497; // 0x9279
+    field public static final int GL_COMPRESSED_SRGB8_ETC2 = 37493; // 0x9275
+    field public static final int GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37495; // 0x9277
+    field public static final int GL_CONDITION_SATISFIED = 37148; // 0x911c
+    field public static final int GL_COPY_READ_BUFFER = 36662; // 0x8f36
+    field public static final int GL_COPY_READ_BUFFER_BINDING = 36662; // 0x8f36
+    field public static final int GL_COPY_WRITE_BUFFER = 36663; // 0x8f37
+    field public static final int GL_COPY_WRITE_BUFFER_BINDING = 36663; // 0x8f37
+    field public static final int GL_CURRENT_QUERY = 34917; // 0x8865
+    field public static final int GL_DEPTH = 6145; // 0x1801
+    field public static final int GL_DEPTH24_STENCIL8 = 35056; // 0x88f0
+    field public static final int GL_DEPTH32F_STENCIL8 = 36013; // 0x8cad
+    field public static final int GL_DEPTH_COMPONENT24 = 33190; // 0x81a6
+    field public static final int GL_DEPTH_COMPONENT32F = 36012; // 0x8cac
+    field public static final int GL_DEPTH_STENCIL = 34041; // 0x84f9
+    field public static final int GL_DEPTH_STENCIL_ATTACHMENT = 33306; // 0x821a
+    field public static final int GL_DRAW_BUFFER0 = 34853; // 0x8825
+    field public static final int GL_DRAW_BUFFER1 = 34854; // 0x8826
+    field public static final int GL_DRAW_BUFFER10 = 34863; // 0x882f
+    field public static final int GL_DRAW_BUFFER11 = 34864; // 0x8830
+    field public static final int GL_DRAW_BUFFER12 = 34865; // 0x8831
+    field public static final int GL_DRAW_BUFFER13 = 34866; // 0x8832
+    field public static final int GL_DRAW_BUFFER14 = 34867; // 0x8833
+    field public static final int GL_DRAW_BUFFER15 = 34868; // 0x8834
+    field public static final int GL_DRAW_BUFFER2 = 34855; // 0x8827
+    field public static final int GL_DRAW_BUFFER3 = 34856; // 0x8828
+    field public static final int GL_DRAW_BUFFER4 = 34857; // 0x8829
+    field public static final int GL_DRAW_BUFFER5 = 34858; // 0x882a
+    field public static final int GL_DRAW_BUFFER6 = 34859; // 0x882b
+    field public static final int GL_DRAW_BUFFER7 = 34860; // 0x882c
+    field public static final int GL_DRAW_BUFFER8 = 34861; // 0x882d
+    field public static final int GL_DRAW_BUFFER9 = 34862; // 0x882e
+    field public static final int GL_DRAW_FRAMEBUFFER = 36009; // 0x8ca9
+    field public static final int GL_DRAW_FRAMEBUFFER_BINDING = 36006; // 0x8ca6
+    field public static final int GL_DYNAMIC_COPY = 35050; // 0x88ea
+    field public static final int GL_DYNAMIC_READ = 35049; // 0x88e9
+    field public static final int GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 36269; // 0x8dad
+    field public static final int GL_FLOAT_MAT2x3 = 35685; // 0x8b65
+    field public static final int GL_FLOAT_MAT2x4 = 35686; // 0x8b66
+    field public static final int GL_FLOAT_MAT3x2 = 35687; // 0x8b67
+    field public static final int GL_FLOAT_MAT3x4 = 35688; // 0x8b68
+    field public static final int GL_FLOAT_MAT4x2 = 35689; // 0x8b69
+    field public static final int GL_FLOAT_MAT4x3 = 35690; // 0x8b6a
+    field public static final int GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 35723; // 0x8b8b
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 33301; // 0x8215
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 33300; // 0x8214
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 33296; // 0x8210
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 33297; // 0x8211
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 33302; // 0x8216
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 33299; // 0x8213
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 33298; // 0x8212
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 33303; // 0x8217
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 36052; // 0x8cd4
+    field public static final int GL_FRAMEBUFFER_DEFAULT = 33304; // 0x8218
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 36182; // 0x8d56
+    field public static final int GL_FRAMEBUFFER_UNDEFINED = 33305; // 0x8219
+    field public static final int GL_GREEN = 6404; // 0x1904
+    field public static final int GL_HALF_FLOAT = 5131; // 0x140b
+    field public static final int GL_INTERLEAVED_ATTRIBS = 35980; // 0x8c8c
+    field public static final int GL_INT_2_10_10_10_REV = 36255; // 0x8d9f
+    field public static final int GL_INT_SAMPLER_2D = 36298; // 0x8dca
+    field public static final int GL_INT_SAMPLER_2D_ARRAY = 36303; // 0x8dcf
+    field public static final int GL_INT_SAMPLER_3D = 36299; // 0x8dcb
+    field public static final int GL_INT_SAMPLER_CUBE = 36300; // 0x8dcc
+    field public static final int GL_INVALID_INDEX = -1; // 0xffffffff
+    field public static final int GL_MAJOR_VERSION = 33307; // 0x821b
+    field public static final int GL_MAP_FLUSH_EXPLICIT_BIT = 16; // 0x10
+    field public static final int GL_MAP_INVALIDATE_BUFFER_BIT = 8; // 0x8
+    field public static final int GL_MAP_INVALIDATE_RANGE_BIT = 4; // 0x4
+    field public static final int GL_MAP_READ_BIT = 1; // 0x1
+    field public static final int GL_MAP_UNSYNCHRONIZED_BIT = 32; // 0x20
+    field public static final int GL_MAP_WRITE_BIT = 2; // 0x2
+    field public static final int GL_MAX = 32776; // 0x8008
+    field public static final int GL_MAX_3D_TEXTURE_SIZE = 32883; // 0x8073
+    field public static final int GL_MAX_ARRAY_TEXTURE_LAYERS = 35071; // 0x88ff
+    field public static final int GL_MAX_COLOR_ATTACHMENTS = 36063; // 0x8cdf
+    field public static final int GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 35379; // 0x8a33
+    field public static final int GL_MAX_COMBINED_UNIFORM_BLOCKS = 35374; // 0x8a2e
+    field public static final int GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 35377; // 0x8a31
+    field public static final int GL_MAX_DRAW_BUFFERS = 34852; // 0x8824
+    field public static final int GL_MAX_ELEMENTS_INDICES = 33001; // 0x80e9
+    field public static final int GL_MAX_ELEMENTS_VERTICES = 33000; // 0x80e8
+    field public static final int GL_MAX_ELEMENT_INDEX = 36203; // 0x8d6b
+    field public static final int GL_MAX_FRAGMENT_INPUT_COMPONENTS = 37157; // 0x9125
+    field public static final int GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 35373; // 0x8a2d
+    field public static final int GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 35657; // 0x8b49
+    field public static final int GL_MAX_PROGRAM_TEXEL_OFFSET = 35077; // 0x8905
+    field public static final int GL_MAX_SAMPLES = 36183; // 0x8d57
+    field public static final int GL_MAX_SERVER_WAIT_TIMEOUT = 37137; // 0x9111
+    field public static final int GL_MAX_TEXTURE_LOD_BIAS = 34045; // 0x84fd
+    field public static final int GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 35978; // 0x8c8a
+    field public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 35979; // 0x8c8b
+    field public static final int GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 35968; // 0x8c80
+    field public static final int GL_MAX_UNIFORM_BLOCK_SIZE = 35376; // 0x8a30
+    field public static final int GL_MAX_UNIFORM_BUFFER_BINDINGS = 35375; // 0x8a2f
+    field public static final int GL_MAX_VARYING_COMPONENTS = 35659; // 0x8b4b
+    field public static final int GL_MAX_VERTEX_OUTPUT_COMPONENTS = 37154; // 0x9122
+    field public static final int GL_MAX_VERTEX_UNIFORM_BLOCKS = 35371; // 0x8a2b
+    field public static final int GL_MAX_VERTEX_UNIFORM_COMPONENTS = 35658; // 0x8b4a
+    field public static final int GL_MIN = 32775; // 0x8007
+    field public static final int GL_MINOR_VERSION = 33308; // 0x821c
+    field public static final int GL_MIN_PROGRAM_TEXEL_OFFSET = 35076; // 0x8904
+    field public static final int GL_NUM_EXTENSIONS = 33309; // 0x821d
+    field public static final int GL_NUM_PROGRAM_BINARY_FORMATS = 34814; // 0x87fe
+    field public static final int GL_NUM_SAMPLE_COUNTS = 37760; // 0x9380
+    field public static final int GL_OBJECT_TYPE = 37138; // 0x9112
+    field public static final int GL_PACK_ROW_LENGTH = 3330; // 0xd02
+    field public static final int GL_PACK_SKIP_PIXELS = 3332; // 0xd04
+    field public static final int GL_PACK_SKIP_ROWS = 3331; // 0xd03
+    field public static final int GL_PIXEL_PACK_BUFFER = 35051; // 0x88eb
+    field public static final int GL_PIXEL_PACK_BUFFER_BINDING = 35053; // 0x88ed
+    field public static final int GL_PIXEL_UNPACK_BUFFER = 35052; // 0x88ec
+    field public static final int GL_PIXEL_UNPACK_BUFFER_BINDING = 35055; // 0x88ef
+    field public static final int GL_PRIMITIVE_RESTART_FIXED_INDEX = 36201; // 0x8d69
+    field public static final int GL_PROGRAM_BINARY_FORMATS = 34815; // 0x87ff
+    field public static final int GL_PROGRAM_BINARY_LENGTH = 34625; // 0x8741
+    field public static final int GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 33367; // 0x8257
+    field public static final int GL_QUERY_RESULT = 34918; // 0x8866
+    field public static final int GL_QUERY_RESULT_AVAILABLE = 34919; // 0x8867
+    field public static final int GL_R11F_G11F_B10F = 35898; // 0x8c3a
+    field public static final int GL_R16F = 33325; // 0x822d
+    field public static final int GL_R16I = 33331; // 0x8233
+    field public static final int GL_R16UI = 33332; // 0x8234
+    field public static final int GL_R32F = 33326; // 0x822e
+    field public static final int GL_R32I = 33333; // 0x8235
+    field public static final int GL_R32UI = 33334; // 0x8236
+    field public static final int GL_R8 = 33321; // 0x8229
+    field public static final int GL_R8I = 33329; // 0x8231
+    field public static final int GL_R8UI = 33330; // 0x8232
+    field public static final int GL_R8_SNORM = 36756; // 0x8f94
+    field public static final int GL_RASTERIZER_DISCARD = 35977; // 0x8c89
+    field public static final int GL_READ_BUFFER = 3074; // 0xc02
+    field public static final int GL_READ_FRAMEBUFFER = 36008; // 0x8ca8
+    field public static final int GL_READ_FRAMEBUFFER_BINDING = 36010; // 0x8caa
+    field public static final int GL_RED = 6403; // 0x1903
+    field public static final int GL_RED_INTEGER = 36244; // 0x8d94
+    field public static final int GL_RENDERBUFFER_SAMPLES = 36011; // 0x8cab
+    field public static final int GL_RG = 33319; // 0x8227
+    field public static final int GL_RG16F = 33327; // 0x822f
+    field public static final int GL_RG16I = 33337; // 0x8239
+    field public static final int GL_RG16UI = 33338; // 0x823a
+    field public static final int GL_RG32F = 33328; // 0x8230
+    field public static final int GL_RG32I = 33339; // 0x823b
+    field public static final int GL_RG32UI = 33340; // 0x823c
+    field public static final int GL_RG8 = 33323; // 0x822b
+    field public static final int GL_RG8I = 33335; // 0x8237
+    field public static final int GL_RG8UI = 33336; // 0x8238
+    field public static final int GL_RG8_SNORM = 36757; // 0x8f95
+    field public static final int GL_RGB10_A2 = 32857; // 0x8059
+    field public static final int GL_RGB10_A2UI = 36975; // 0x906f
+    field public static final int GL_RGB16F = 34843; // 0x881b
+    field public static final int GL_RGB16I = 36233; // 0x8d89
+    field public static final int GL_RGB16UI = 36215; // 0x8d77
+    field public static final int GL_RGB32F = 34837; // 0x8815
+    field public static final int GL_RGB32I = 36227; // 0x8d83
+    field public static final int GL_RGB32UI = 36209; // 0x8d71
+    field public static final int GL_RGB8 = 32849; // 0x8051
+    field public static final int GL_RGB8I = 36239; // 0x8d8f
+    field public static final int GL_RGB8UI = 36221; // 0x8d7d
+    field public static final int GL_RGB8_SNORM = 36758; // 0x8f96
+    field public static final int GL_RGB9_E5 = 35901; // 0x8c3d
+    field public static final int GL_RGBA16F = 34842; // 0x881a
+    field public static final int GL_RGBA16I = 36232; // 0x8d88
+    field public static final int GL_RGBA16UI = 36214; // 0x8d76
+    field public static final int GL_RGBA32F = 34836; // 0x8814
+    field public static final int GL_RGBA32I = 36226; // 0x8d82
+    field public static final int GL_RGBA32UI = 36208; // 0x8d70
+    field public static final int GL_RGBA8 = 32856; // 0x8058
+    field public static final int GL_RGBA8I = 36238; // 0x8d8e
+    field public static final int GL_RGBA8UI = 36220; // 0x8d7c
+    field public static final int GL_RGBA8_SNORM = 36759; // 0x8f97
+    field public static final int GL_RGBA_INTEGER = 36249; // 0x8d99
+    field public static final int GL_RGB_INTEGER = 36248; // 0x8d98
+    field public static final int GL_RG_INTEGER = 33320; // 0x8228
+    field public static final int GL_SAMPLER_2D_ARRAY = 36289; // 0x8dc1
+    field public static final int GL_SAMPLER_2D_ARRAY_SHADOW = 36292; // 0x8dc4
+    field public static final int GL_SAMPLER_2D_SHADOW = 35682; // 0x8b62
+    field public static final int GL_SAMPLER_3D = 35679; // 0x8b5f
+    field public static final int GL_SAMPLER_BINDING = 35097; // 0x8919
+    field public static final int GL_SAMPLER_CUBE_SHADOW = 36293; // 0x8dc5
+    field public static final int GL_SEPARATE_ATTRIBS = 35981; // 0x8c8d
+    field public static final int GL_SIGNALED = 37145; // 0x9119
+    field public static final int GL_SIGNED_NORMALIZED = 36764; // 0x8f9c
+    field public static final int GL_SRGB = 35904; // 0x8c40
+    field public static final int GL_SRGB8 = 35905; // 0x8c41
+    field public static final int GL_SRGB8_ALPHA8 = 35907; // 0x8c43
+    field public static final int GL_STATIC_COPY = 35046; // 0x88e6
+    field public static final int GL_STATIC_READ = 35045; // 0x88e5
+    field public static final int GL_STENCIL = 6146; // 0x1802
+    field public static final int GL_STREAM_COPY = 35042; // 0x88e2
+    field public static final int GL_STREAM_READ = 35041; // 0x88e1
+    field public static final int GL_SYNC_CONDITION = 37139; // 0x9113
+    field public static final int GL_SYNC_FENCE = 37142; // 0x9116
+    field public static final int GL_SYNC_FLAGS = 37141; // 0x9115
+    field public static final int GL_SYNC_FLUSH_COMMANDS_BIT = 1; // 0x1
+    field public static final int GL_SYNC_GPU_COMMANDS_COMPLETE = 37143; // 0x9117
+    field public static final int GL_SYNC_STATUS = 37140; // 0x9114
+    field public static final int GL_TEXTURE_2D_ARRAY = 35866; // 0x8c1a
+    field public static final int GL_TEXTURE_3D = 32879; // 0x806f
+    field public static final int GL_TEXTURE_BASE_LEVEL = 33084; // 0x813c
+    field public static final int GL_TEXTURE_BINDING_2D_ARRAY = 35869; // 0x8c1d
+    field public static final int GL_TEXTURE_BINDING_3D = 32874; // 0x806a
+    field public static final int GL_TEXTURE_COMPARE_FUNC = 34893; // 0x884d
+    field public static final int GL_TEXTURE_COMPARE_MODE = 34892; // 0x884c
+    field public static final int GL_TEXTURE_IMMUTABLE_FORMAT = 37167; // 0x912f
+    field public static final int GL_TEXTURE_IMMUTABLE_LEVELS = 33503; // 0x82df
+    field public static final int GL_TEXTURE_MAX_LEVEL = 33085; // 0x813d
+    field public static final int GL_TEXTURE_MAX_LOD = 33083; // 0x813b
+    field public static final int GL_TEXTURE_MIN_LOD = 33082; // 0x813a
+    field public static final int GL_TEXTURE_SWIZZLE_A = 36421; // 0x8e45
+    field public static final int GL_TEXTURE_SWIZZLE_B = 36420; // 0x8e44
+    field public static final int GL_TEXTURE_SWIZZLE_G = 36419; // 0x8e43
+    field public static final int GL_TEXTURE_SWIZZLE_R = 36418; // 0x8e42
+    field public static final int GL_TEXTURE_WRAP_R = 32882; // 0x8072
+    field public static final int GL_TIMEOUT_EXPIRED = 37147; // 0x911b
+    field public static final long GL_TIMEOUT_IGNORED = -1L; // 0xffffffffffffffffL
+    field public static final int GL_TRANSFORM_FEEDBACK = 36386; // 0x8e22
+    field public static final int GL_TRANSFORM_FEEDBACK_ACTIVE = 36388; // 0x8e24
+    field public static final int GL_TRANSFORM_FEEDBACK_BINDING = 36389; // 0x8e25
+    field public static final int GL_TRANSFORM_FEEDBACK_BUFFER = 35982; // 0x8c8e
+    field public static final int GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 35983; // 0x8c8f
+    field public static final int GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 35967; // 0x8c7f
+    field public static final int GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 35973; // 0x8c85
+    field public static final int GL_TRANSFORM_FEEDBACK_BUFFER_START = 35972; // 0x8c84
+    field public static final int GL_TRANSFORM_FEEDBACK_PAUSED = 36387; // 0x8e23
+    field public static final int GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 35976; // 0x8c88
+    field public static final int GL_TRANSFORM_FEEDBACK_VARYINGS = 35971; // 0x8c83
+    field public static final int GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 35958; // 0x8c76
+    field public static final int GL_UNIFORM_ARRAY_STRIDE = 35388; // 0x8a3c
+    field public static final int GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 35394; // 0x8a42
+    field public static final int GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 35395; // 0x8a43
+    field public static final int GL_UNIFORM_BLOCK_BINDING = 35391; // 0x8a3f
+    field public static final int GL_UNIFORM_BLOCK_DATA_SIZE = 35392; // 0x8a40
+    field public static final int GL_UNIFORM_BLOCK_INDEX = 35386; // 0x8a3a
+    field public static final int GL_UNIFORM_BLOCK_NAME_LENGTH = 35393; // 0x8a41
+    field public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 35398; // 0x8a46
+    field public static final int GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 35396; // 0x8a44
+    field public static final int GL_UNIFORM_BUFFER = 35345; // 0x8a11
+    field public static final int GL_UNIFORM_BUFFER_BINDING = 35368; // 0x8a28
+    field public static final int GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 35380; // 0x8a34
+    field public static final int GL_UNIFORM_BUFFER_SIZE = 35370; // 0x8a2a
+    field public static final int GL_UNIFORM_BUFFER_START = 35369; // 0x8a29
+    field public static final int GL_UNIFORM_IS_ROW_MAJOR = 35390; // 0x8a3e
+    field public static final int GL_UNIFORM_MATRIX_STRIDE = 35389; // 0x8a3d
+    field public static final int GL_UNIFORM_NAME_LENGTH = 35385; // 0x8a39
+    field public static final int GL_UNIFORM_OFFSET = 35387; // 0x8a3b
+    field public static final int GL_UNIFORM_SIZE = 35384; // 0x8a38
+    field public static final int GL_UNIFORM_TYPE = 35383; // 0x8a37
+    field public static final int GL_UNPACK_IMAGE_HEIGHT = 32878; // 0x806e
+    field public static final int GL_UNPACK_ROW_LENGTH = 3314; // 0xcf2
+    field public static final int GL_UNPACK_SKIP_IMAGES = 32877; // 0x806d
+    field public static final int GL_UNPACK_SKIP_PIXELS = 3316; // 0xcf4
+    field public static final int GL_UNPACK_SKIP_ROWS = 3315; // 0xcf3
+    field public static final int GL_UNSIGNALED = 37144; // 0x9118
+    field public static final int GL_UNSIGNED_INT_10F_11F_11F_REV = 35899; // 0x8c3b
+    field public static final int GL_UNSIGNED_INT_24_8 = 34042; // 0x84fa
+    field public static final int GL_UNSIGNED_INT_2_10_10_10_REV = 33640; // 0x8368
+    field public static final int GL_UNSIGNED_INT_5_9_9_9_REV = 35902; // 0x8c3e
+    field public static final int GL_UNSIGNED_INT_SAMPLER_2D = 36306; // 0x8dd2
+    field public static final int GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 36311; // 0x8dd7
+    field public static final int GL_UNSIGNED_INT_SAMPLER_3D = 36307; // 0x8dd3
+    field public static final int GL_UNSIGNED_INT_SAMPLER_CUBE = 36308; // 0x8dd4
+    field public static final int GL_UNSIGNED_INT_VEC2 = 36294; // 0x8dc6
+    field public static final int GL_UNSIGNED_INT_VEC3 = 36295; // 0x8dc7
+    field public static final int GL_UNSIGNED_INT_VEC4 = 36296; // 0x8dc8
+    field public static final int GL_UNSIGNED_NORMALIZED = 35863; // 0x8c17
+    field public static final int GL_VERTEX_ARRAY_BINDING = 34229; // 0x85b5
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 35070; // 0x88fe
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_INTEGER = 35069; // 0x88fd
+    field public static final int GL_WAIT_FAILED = 37149; // 0x911d
+  }
+
+  public class GLES31 extends android.opengl.GLES30 {
+    method public static void glActiveShaderProgram(int, int);
+    method public static void glBindImageTexture(int, int, int, boolean, int, int, int);
+    method public static void glBindProgramPipeline(int);
+    method public static void glBindVertexBuffer(int, int, long, int);
+    method public static int glCreateShaderProgramv(int, String[]);
+    method public static void glDeleteProgramPipelines(int, int[], int);
+    method public static void glDeleteProgramPipelines(int, java.nio.IntBuffer);
+    method public static void glDispatchCompute(int, int, int);
+    method public static void glDispatchComputeIndirect(long);
+    method public static void glDrawArraysIndirect(int, long);
+    method public static void glDrawElementsIndirect(int, int, long);
+    method public static void glFramebufferParameteri(int, int, int);
+    method public static void glGenProgramPipelines(int, int[], int);
+    method public static void glGenProgramPipelines(int, java.nio.IntBuffer);
+    method public static void glGetBooleani_v(int, int, boolean[], int);
+    method public static void glGetBooleani_v(int, int, java.nio.IntBuffer);
+    method public static void glGetFramebufferParameteriv(int, int, int[], int);
+    method public static void glGetFramebufferParameteriv(int, int, java.nio.IntBuffer);
+    method public static void glGetMultisamplefv(int, int, float[], int);
+    method public static void glGetMultisamplefv(int, int, java.nio.FloatBuffer);
+    method public static void glGetProgramInterfaceiv(int, int, int, int[], int);
+    method public static void glGetProgramInterfaceiv(int, int, int, java.nio.IntBuffer);
+    method public static String glGetProgramPipelineInfoLog(int);
+    method public static void glGetProgramPipelineiv(int, int, int[], int);
+    method public static void glGetProgramPipelineiv(int, int, java.nio.IntBuffer);
+    method public static int glGetProgramResourceIndex(int, int, String);
+    method public static int glGetProgramResourceLocation(int, int, String);
+    method public static String glGetProgramResourceName(int, int, int);
+    method public static void glGetProgramResourceiv(int, int, int, int, int[], int, int, int[], int, int[], int);
+    method public static void glGetProgramResourceiv(int, int, int, int, java.nio.IntBuffer, int, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static void glGetTexLevelParameterfv(int, int, int, float[], int);
+    method public static void glGetTexLevelParameterfv(int, int, int, java.nio.FloatBuffer);
+    method public static void glGetTexLevelParameteriv(int, int, int, int[], int);
+    method public static void glGetTexLevelParameteriv(int, int, int, java.nio.IntBuffer);
+    method public static boolean glIsProgramPipeline(int);
+    method public static void glMemoryBarrier(int);
+    method public static void glMemoryBarrierByRegion(int);
+    method public static void glProgramUniform1f(int, int, float);
+    method public static void glProgramUniform1fv(int, int, int, float[], int);
+    method public static void glProgramUniform1fv(int, int, int, java.nio.FloatBuffer);
+    method public static void glProgramUniform1i(int, int, int);
+    method public static void glProgramUniform1iv(int, int, int, int[], int);
+    method public static void glProgramUniform1iv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform1ui(int, int, int);
+    method public static void glProgramUniform1uiv(int, int, int, int[], int);
+    method public static void glProgramUniform1uiv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform2f(int, int, float, float);
+    method public static void glProgramUniform2fv(int, int, int, float[], int);
+    method public static void glProgramUniform2fv(int, int, int, java.nio.FloatBuffer);
+    method public static void glProgramUniform2i(int, int, int, int);
+    method public static void glProgramUniform2iv(int, int, int, int[], int);
+    method public static void glProgramUniform2iv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform2ui(int, int, int, int);
+    method public static void glProgramUniform2uiv(int, int, int, int[], int);
+    method public static void glProgramUniform2uiv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform3f(int, int, float, float, float);
+    method public static void glProgramUniform3fv(int, int, int, float[], int);
+    method public static void glProgramUniform3fv(int, int, int, java.nio.FloatBuffer);
+    method public static void glProgramUniform3i(int, int, int, int, int);
+    method public static void glProgramUniform3iv(int, int, int, int[], int);
+    method public static void glProgramUniform3iv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform3ui(int, int, int, int, int);
+    method public static void glProgramUniform3uiv(int, int, int, int[], int);
+    method public static void glProgramUniform3uiv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform4f(int, int, float, float, float, float);
+    method public static void glProgramUniform4fv(int, int, int, float[], int);
+    method public static void glProgramUniform4fv(int, int, int, java.nio.FloatBuffer);
+    method public static void glProgramUniform4i(int, int, int, int, int, int);
+    method public static void glProgramUniform4iv(int, int, int, int[], int);
+    method public static void glProgramUniform4iv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniform4ui(int, int, int, int, int, int);
+    method public static void glProgramUniform4uiv(int, int, int, int[], int);
+    method public static void glProgramUniform4uiv(int, int, int, java.nio.IntBuffer);
+    method public static void glProgramUniformMatrix2fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix2fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix2x3fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix2x3fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix2x4fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix2x4fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix3fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix3fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix3x2fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix3x2fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix3x4fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix3x4fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix4fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix4fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix4x2fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix4x2fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glProgramUniformMatrix4x3fv(int, int, int, boolean, float[], int);
+    method public static void glProgramUniformMatrix4x3fv(int, int, int, boolean, java.nio.FloatBuffer);
+    method public static void glSampleMaski(int, int);
+    method public static void glTexStorage2DMultisample(int, int, int, int, int, boolean);
+    method public static void glUseProgramStages(int, int, int);
+    method public static void glValidateProgramPipeline(int);
+    method public static void glVertexAttribBinding(int, int);
+    method public static void glVertexAttribFormat(int, int, int, boolean, int);
+    method public static void glVertexAttribIFormat(int, int, int, int);
+    method public static void glVertexBindingDivisor(int, int);
+    field public static final int GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 37593; // 0x92d9
+    field public static final int GL_ACTIVE_PROGRAM = 33369; // 0x8259
+    field public static final int GL_ACTIVE_RESOURCES = 37621; // 0x92f5
+    field public static final int GL_ACTIVE_VARIABLES = 37637; // 0x9305
+    field public static final int GL_ALL_BARRIER_BITS = -1; // 0xffffffff
+    field public static final int GL_ALL_SHADER_BITS = -1; // 0xffffffff
+    field public static final int GL_ARRAY_SIZE = 37627; // 0x92fb
+    field public static final int GL_ARRAY_STRIDE = 37630; // 0x92fe
+    field public static final int GL_ATOMIC_COUNTER_BARRIER_BIT = 4096; // 0x1000
+    field public static final int GL_ATOMIC_COUNTER_BUFFER = 37568; // 0x92c0
+    field public static final int GL_ATOMIC_COUNTER_BUFFER_BINDING = 37569; // 0x92c1
+    field public static final int GL_ATOMIC_COUNTER_BUFFER_INDEX = 37633; // 0x9301
+    field public static final int GL_ATOMIC_COUNTER_BUFFER_SIZE = 37571; // 0x92c3
+    field public static final int GL_ATOMIC_COUNTER_BUFFER_START = 37570; // 0x92c2
+    field public static final int GL_BLOCK_INDEX = 37629; // 0x92fd
+    field public static final int GL_BUFFER_BINDING = 37634; // 0x9302
+    field public static final int GL_BUFFER_DATA_SIZE = 37635; // 0x9303
+    field public static final int GL_BUFFER_UPDATE_BARRIER_BIT = 512; // 0x200
+    field public static final int GL_BUFFER_VARIABLE = 37605; // 0x92e5
+    field public static final int GL_COMMAND_BARRIER_BIT = 64; // 0x40
+    field public static final int GL_COMPUTE_SHADER = 37305; // 0x91b9
+    field public static final int GL_COMPUTE_SHADER_BIT = 32; // 0x20
+    field public static final int GL_COMPUTE_WORK_GROUP_SIZE = 33383; // 0x8267
+    field public static final int GL_DEPTH_STENCIL_TEXTURE_MODE = 37098; // 0x90ea
+    field public static final int GL_DISPATCH_INDIRECT_BUFFER = 37102; // 0x90ee
+    field public static final int GL_DISPATCH_INDIRECT_BUFFER_BINDING = 37103; // 0x90ef
+    field public static final int GL_DRAW_INDIRECT_BUFFER = 36671; // 0x8f3f
+    field public static final int GL_DRAW_INDIRECT_BUFFER_BINDING = 36675; // 0x8f43
+    field public static final int GL_ELEMENT_ARRAY_BARRIER_BIT = 2; // 0x2
+    field public static final int GL_FRAGMENT_SHADER_BIT = 2; // 0x2
+    field public static final int GL_FRAMEBUFFER_BARRIER_BIT = 1024; // 0x400
+    field public static final int GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 37652; // 0x9314
+    field public static final int GL_FRAMEBUFFER_DEFAULT_HEIGHT = 37649; // 0x9311
+    field public static final int GL_FRAMEBUFFER_DEFAULT_SAMPLES = 37651; // 0x9313
+    field public static final int GL_FRAMEBUFFER_DEFAULT_WIDTH = 37648; // 0x9310
+    field public static final int GL_IMAGE_2D = 36941; // 0x904d
+    field public static final int GL_IMAGE_2D_ARRAY = 36947; // 0x9053
+    field public static final int GL_IMAGE_3D = 36942; // 0x904e
+    field public static final int GL_IMAGE_BINDING_ACCESS = 36670; // 0x8f3e
+    field public static final int GL_IMAGE_BINDING_FORMAT = 36974; // 0x906e
+    field public static final int GL_IMAGE_BINDING_LAYER = 36669; // 0x8f3d
+    field public static final int GL_IMAGE_BINDING_LAYERED = 36668; // 0x8f3c
+    field public static final int GL_IMAGE_BINDING_LEVEL = 36667; // 0x8f3b
+    field public static final int GL_IMAGE_BINDING_NAME = 36666; // 0x8f3a
+    field public static final int GL_IMAGE_CUBE = 36944; // 0x9050
+    field public static final int GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 37065; // 0x90c9
+    field public static final int GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 37064; // 0x90c8
+    field public static final int GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 37063; // 0x90c7
+    field public static final int GL_INT_IMAGE_2D = 36952; // 0x9058
+    field public static final int GL_INT_IMAGE_2D_ARRAY = 36958; // 0x905e
+    field public static final int GL_INT_IMAGE_3D = 36953; // 0x9059
+    field public static final int GL_INT_IMAGE_CUBE = 36955; // 0x905b
+    field public static final int GL_INT_SAMPLER_2D_MULTISAMPLE = 37129; // 0x9109
+    field public static final int GL_IS_ROW_MAJOR = 37632; // 0x9300
+    field public static final int GL_LOCATION = 37646; // 0x930e
+    field public static final int GL_MATRIX_STRIDE = 37631; // 0x92ff
+    field public static final int GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 37596; // 0x92dc
+    field public static final int GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 37592; // 0x92d8
+    field public static final int GL_MAX_COLOR_TEXTURE_SAMPLES = 37134; // 0x910e
+    field public static final int GL_MAX_COMBINED_ATOMIC_COUNTERS = 37591; // 0x92d7
+    field public static final int GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 37585; // 0x92d1
+    field public static final int GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 33382; // 0x8266
+    field public static final int GL_MAX_COMBINED_IMAGE_UNIFORMS = 37071; // 0x90cf
+    field public static final int GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 36665; // 0x8f39
+    field public static final int GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 37084; // 0x90dc
+    field public static final int GL_MAX_COMPUTE_ATOMIC_COUNTERS = 33381; // 0x8265
+    field public static final int GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 33380; // 0x8264
+    field public static final int GL_MAX_COMPUTE_IMAGE_UNIFORMS = 37309; // 0x91bd
+    field public static final int GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 37083; // 0x90db
+    field public static final int GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 33378; // 0x8262
+    field public static final int GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 37308; // 0x91bc
+    field public static final int GL_MAX_COMPUTE_UNIFORM_BLOCKS = 37307; // 0x91bb
+    field public static final int GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 33379; // 0x8263
+    field public static final int GL_MAX_COMPUTE_WORK_GROUP_COUNT = 37310; // 0x91be
+    field public static final int GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 37099; // 0x90eb
+    field public static final int GL_MAX_COMPUTE_WORK_GROUP_SIZE = 37311; // 0x91bf
+    field public static final int GL_MAX_DEPTH_TEXTURE_SAMPLES = 37135; // 0x910f
+    field public static final int GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 37590; // 0x92d6
+    field public static final int GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 37584; // 0x92d0
+    field public static final int GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 37070; // 0x90ce
+    field public static final int GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 37082; // 0x90da
+    field public static final int GL_MAX_FRAMEBUFFER_HEIGHT = 37654; // 0x9316
+    field public static final int GL_MAX_FRAMEBUFFER_SAMPLES = 37656; // 0x9318
+    field public static final int GL_MAX_FRAMEBUFFER_WIDTH = 37653; // 0x9315
+    field public static final int GL_MAX_IMAGE_UNITS = 36664; // 0x8f38
+    field public static final int GL_MAX_INTEGER_SAMPLES = 37136; // 0x9110
+    field public static final int GL_MAX_NAME_LENGTH = 37622; // 0x92f6
+    field public static final int GL_MAX_NUM_ACTIVE_VARIABLES = 37623; // 0x92f7
+    field public static final int GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 36447; // 0x8e5f
+    field public static final int GL_MAX_SAMPLE_MASK_WORDS = 36441; // 0x8e59
+    field public static final int GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 37086; // 0x90de
+    field public static final int GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 37085; // 0x90dd
+    field public static final int GL_MAX_UNIFORM_LOCATIONS = 33390; // 0x826e
+    field public static final int GL_MAX_VERTEX_ATOMIC_COUNTERS = 37586; // 0x92d2
+    field public static final int GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 37580; // 0x92cc
+    field public static final int GL_MAX_VERTEX_ATTRIB_BINDINGS = 33498; // 0x82da
+    field public static final int GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 33497; // 0x82d9
+    field public static final int GL_MAX_VERTEX_ATTRIB_STRIDE = 33509; // 0x82e5
+    field public static final int GL_MAX_VERTEX_IMAGE_UNIFORMS = 37066; // 0x90ca
+    field public static final int GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 37078; // 0x90d6
+    field public static final int GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 36446; // 0x8e5e
+    field public static final int GL_NAME_LENGTH = 37625; // 0x92f9
+    field public static final int GL_NUM_ACTIVE_VARIABLES = 37636; // 0x9304
+    field public static final int GL_OFFSET = 37628; // 0x92fc
+    field public static final int GL_PIXEL_BUFFER_BARRIER_BIT = 128; // 0x80
+    field public static final int GL_PROGRAM_INPUT = 37603; // 0x92e3
+    field public static final int GL_PROGRAM_OUTPUT = 37604; // 0x92e4
+    field public static final int GL_PROGRAM_PIPELINE_BINDING = 33370; // 0x825a
+    field public static final int GL_PROGRAM_SEPARABLE = 33368; // 0x8258
+    field public static final int GL_READ_ONLY = 35000; // 0x88b8
+    field public static final int GL_READ_WRITE = 35002; // 0x88ba
+    field public static final int GL_REFERENCED_BY_COMPUTE_SHADER = 37643; // 0x930b
+    field public static final int GL_REFERENCED_BY_FRAGMENT_SHADER = 37642; // 0x930a
+    field public static final int GL_REFERENCED_BY_VERTEX_SHADER = 37638; // 0x9306
+    field public static final int GL_SAMPLER_2D_MULTISAMPLE = 37128; // 0x9108
+    field public static final int GL_SAMPLE_MASK = 36433; // 0x8e51
+    field public static final int GL_SAMPLE_MASK_VALUE = 36434; // 0x8e52
+    field public static final int GL_SAMPLE_POSITION = 36432; // 0x8e50
+    field public static final int GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 32; // 0x20
+    field public static final int GL_SHADER_STORAGE_BARRIER_BIT = 8192; // 0x2000
+    field public static final int GL_SHADER_STORAGE_BLOCK = 37606; // 0x92e6
+    field public static final int GL_SHADER_STORAGE_BUFFER = 37074; // 0x90d2
+    field public static final int GL_SHADER_STORAGE_BUFFER_BINDING = 37075; // 0x90d3
+    field public static final int GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 37087; // 0x90df
+    field public static final int GL_SHADER_STORAGE_BUFFER_SIZE = 37077; // 0x90d5
+    field public static final int GL_SHADER_STORAGE_BUFFER_START = 37076; // 0x90d4
+    field public static final int GL_STENCIL_INDEX = 6401; // 0x1901
+    field public static final int GL_TEXTURE_2D_MULTISAMPLE = 37120; // 0x9100
+    field public static final int GL_TEXTURE_ALPHA_SIZE = 32863; // 0x805f
+    field public static final int GL_TEXTURE_ALPHA_TYPE = 35859; // 0x8c13
+    field public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE = 37124; // 0x9104
+    field public static final int GL_TEXTURE_BLUE_SIZE = 32862; // 0x805e
+    field public static final int GL_TEXTURE_BLUE_TYPE = 35858; // 0x8c12
+    field public static final int GL_TEXTURE_COMPRESSED = 34465; // 0x86a1
+    field public static final int GL_TEXTURE_DEPTH = 32881; // 0x8071
+    field public static final int GL_TEXTURE_DEPTH_SIZE = 34890; // 0x884a
+    field public static final int GL_TEXTURE_DEPTH_TYPE = 35862; // 0x8c16
+    field public static final int GL_TEXTURE_FETCH_BARRIER_BIT = 8; // 0x8
+    field public static final int GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 37127; // 0x9107
+    field public static final int GL_TEXTURE_GREEN_SIZE = 32861; // 0x805d
+    field public static final int GL_TEXTURE_GREEN_TYPE = 35857; // 0x8c11
+    field public static final int GL_TEXTURE_HEIGHT = 4097; // 0x1001
+    field public static final int GL_TEXTURE_INTERNAL_FORMAT = 4099; // 0x1003
+    field public static final int GL_TEXTURE_RED_SIZE = 32860; // 0x805c
+    field public static final int GL_TEXTURE_RED_TYPE = 35856; // 0x8c10
+    field public static final int GL_TEXTURE_SAMPLES = 37126; // 0x9106
+    field public static final int GL_TEXTURE_SHARED_SIZE = 35903; // 0x8c3f
+    field public static final int GL_TEXTURE_STENCIL_SIZE = 35057; // 0x88f1
+    field public static final int GL_TEXTURE_UPDATE_BARRIER_BIT = 256; // 0x100
+    field public static final int GL_TEXTURE_WIDTH = 4096; // 0x1000
+    field public static final int GL_TOP_LEVEL_ARRAY_SIZE = 37644; // 0x930c
+    field public static final int GL_TOP_LEVEL_ARRAY_STRIDE = 37645; // 0x930d
+    field public static final int GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 2048; // 0x800
+    field public static final int GL_TRANSFORM_FEEDBACK_VARYING = 37620; // 0x92f4
+    field public static final int GL_TYPE = 37626; // 0x92fa
+    field public static final int GL_UNIFORM = 37601; // 0x92e1
+    field public static final int GL_UNIFORM_BARRIER_BIT = 4; // 0x4
+    field public static final int GL_UNIFORM_BLOCK = 37602; // 0x92e2
+    field public static final int GL_UNSIGNED_INT_ATOMIC_COUNTER = 37595; // 0x92db
+    field public static final int GL_UNSIGNED_INT_IMAGE_2D = 36963; // 0x9063
+    field public static final int GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 36969; // 0x9069
+    field public static final int GL_UNSIGNED_INT_IMAGE_3D = 36964; // 0x9064
+    field public static final int GL_UNSIGNED_INT_IMAGE_CUBE = 36966; // 0x9066
+    field public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 37130; // 0x910a
+    field public static final int GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 1; // 0x1
+    field public static final int GL_VERTEX_ATTRIB_BINDING = 33492; // 0x82d4
+    field public static final int GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 33493; // 0x82d5
+    field public static final int GL_VERTEX_BINDING_BUFFER = 36687; // 0x8f4f
+    field public static final int GL_VERTEX_BINDING_DIVISOR = 33494; // 0x82d6
+    field public static final int GL_VERTEX_BINDING_OFFSET = 33495; // 0x82d7
+    field public static final int GL_VERTEX_BINDING_STRIDE = 33496; // 0x82d8
+    field public static final int GL_VERTEX_SHADER_BIT = 1; // 0x1
+    field public static final int GL_WRITE_ONLY = 35001; // 0x88b9
+  }
+
+  public class GLES31Ext {
+    method public static void glBlendBarrierKHR();
+    method public static void glBlendEquationSeparateiEXT(int, int, int);
+    method public static void glBlendEquationiEXT(int, int);
+    method public static void glBlendFuncSeparateiEXT(int, int, int, int, int);
+    method public static void glBlendFunciEXT(int, int, int);
+    method public static void glColorMaskiEXT(int, boolean, boolean, boolean, boolean);
+    method public static void glCopyImageSubDataEXT(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
+    method public static void glDebugMessageCallbackKHR(android.opengl.GLES31Ext.DebugProcKHR);
+    method public static void glDebugMessageControlKHR(int, int, int, int, int[], int, boolean);
+    method public static void glDebugMessageControlKHR(int, int, int, int, java.nio.IntBuffer, boolean);
+    method public static void glDebugMessageInsertKHR(int, int, int, int, String);
+    method public static void glDisableiEXT(int, int);
+    method public static void glEnableiEXT(int, int);
+    method public static void glFramebufferTextureEXT(int, int, int, int);
+    method public static android.opengl.GLES31Ext.DebugProcKHR glGetDebugMessageCallbackKHR();
+    method public static int glGetDebugMessageLogKHR(int, int, int[], int, int[], int, int[], int, int[], int, int[], int, byte[], int);
+    method public static int glGetDebugMessageLogKHR(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer);
+    method public static String[] glGetDebugMessageLogKHR(int, int[], int, int[], int, int[], int, int[], int);
+    method public static String[] glGetDebugMessageLogKHR(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static String glGetObjectLabelKHR(int, int);
+    method public static String glGetObjectPtrLabelKHR(long);
+    method public static void glGetSamplerParameterIivEXT(int, int, int[], int);
+    method public static void glGetSamplerParameterIivEXT(int, int, java.nio.IntBuffer);
+    method public static void glGetSamplerParameterIuivEXT(int, int, int[], int);
+    method public static void glGetSamplerParameterIuivEXT(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterIivEXT(int, int, int[], int);
+    method public static void glGetTexParameterIivEXT(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterIuivEXT(int, int, int[], int);
+    method public static void glGetTexParameterIuivEXT(int, int, java.nio.IntBuffer);
+    method public static boolean glIsEnablediEXT(int, int);
+    method public static void glMinSampleShadingOES(float);
+    method public static void glObjectLabelKHR(int, int, int, String);
+    method public static void glObjectPtrLabelKHR(long, String);
+    method public static void glPatchParameteriEXT(int, int);
+    method public static void glPopDebugGroupKHR();
+    method public static void glPrimitiveBoundingBoxEXT(float, float, float, float, float, float, float, float);
+    method public static void glPushDebugGroupKHR(int, int, int, String);
+    method public static void glSamplerParameterIivEXT(int, int, int[], int);
+    method public static void glSamplerParameterIivEXT(int, int, java.nio.IntBuffer);
+    method public static void glSamplerParameterIuivEXT(int, int, int[], int);
+    method public static void glSamplerParameterIuivEXT(int, int, java.nio.IntBuffer);
+    method public static void glTexBufferEXT(int, int, int);
+    method public static void glTexBufferRangeEXT(int, int, int, int, int);
+    method public static void glTexParameterIivEXT(int, int, int[], int);
+    method public static void glTexParameterIivEXT(int, int, java.nio.IntBuffer);
+    method public static void glTexParameterIuivEXT(int, int, int[], int);
+    method public static void glTexParameterIuivEXT(int, int, java.nio.IntBuffer);
+    method public static void glTexStorage3DMultisampleOES(int, int, int, int, int, int, boolean);
+    field public static final int GL_BLEND_ADVANCED_COHERENT_KHR = 37509; // 0x9285
+    field public static final int GL_BUFFER_KHR = 33504; // 0x82e0
+    field public static final int GL_CLAMP_TO_BORDER_EXT = 33069; // 0x812d
+    field public static final int GL_COLORBURN_KHR = 37530; // 0x929a
+    field public static final int GL_COLORDODGE_KHR = 37529; // 0x9299
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 37819; // 0x93bb
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 37816; // 0x93b8
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 37817; // 0x93b9
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 37818; // 0x93ba
+    field public static final int GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 37820; // 0x93bc
+    field public static final int GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 37821; // 0x93bd
+    field public static final int GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 37808; // 0x93b0
+    field public static final int GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 37809; // 0x93b1
+    field public static final int GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 37810; // 0x93b2
+    field public static final int GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 37811; // 0x93b3
+    field public static final int GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 37812; // 0x93b4
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 37813; // 0x93b5
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 37814; // 0x93b6
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 37815; // 0x93b7
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 37851; // 0x93db
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 37848; // 0x93d8
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 37849; // 0x93d9
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 37850; // 0x93da
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 37852; // 0x93dc
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 37853; // 0x93dd
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 37840; // 0x93d0
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 37841; // 0x93d1
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 37842; // 0x93d2
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 37843; // 0x93d3
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 37844; // 0x93d4
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 37845; // 0x93d5
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 37846; // 0x93d6
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 37847; // 0x93d7
+    field public static final int GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 2; // 0x2
+    field public static final int GL_DARKEN_KHR = 37527; // 0x9297
+    field public static final int GL_DEBUG_CALLBACK_FUNCTION_KHR = 33348; // 0x8244
+    field public static final int GL_DEBUG_CALLBACK_USER_PARAM_KHR = 33349; // 0x8245
+    field public static final int GL_DEBUG_GROUP_STACK_DEPTH_KHR = 33389; // 0x826d
+    field public static final int GL_DEBUG_LOGGED_MESSAGES_KHR = 37189; // 0x9145
+    field public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 33347; // 0x8243
+    field public static final int GL_DEBUG_OUTPUT_KHR = 37600; // 0x92e0
+    field public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 33346; // 0x8242
+    field public static final int GL_DEBUG_SEVERITY_HIGH_KHR = 37190; // 0x9146
+    field public static final int GL_DEBUG_SEVERITY_LOW_KHR = 37192; // 0x9148
+    field public static final int GL_DEBUG_SEVERITY_MEDIUM_KHR = 37191; // 0x9147
+    field public static final int GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 33387; // 0x826b
+    field public static final int GL_DEBUG_SOURCE_API_KHR = 33350; // 0x8246
+    field public static final int GL_DEBUG_SOURCE_APPLICATION_KHR = 33354; // 0x824a
+    field public static final int GL_DEBUG_SOURCE_OTHER_KHR = 33355; // 0x824b
+    field public static final int GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 33352; // 0x8248
+    field public static final int GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 33353; // 0x8249
+    field public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 33351; // 0x8247
+    field public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 33357; // 0x824d
+    field public static final int GL_DEBUG_TYPE_ERROR_KHR = 33356; // 0x824c
+    field public static final int GL_DEBUG_TYPE_MARKER_KHR = 33384; // 0x8268
+    field public static final int GL_DEBUG_TYPE_OTHER_KHR = 33361; // 0x8251
+    field public static final int GL_DEBUG_TYPE_PERFORMANCE_KHR = 33360; // 0x8250
+    field public static final int GL_DEBUG_TYPE_POP_GROUP_KHR = 33386; // 0x826a
+    field public static final int GL_DEBUG_TYPE_PORTABILITY_KHR = 33359; // 0x824f
+    field public static final int GL_DEBUG_TYPE_PUSH_GROUP_KHR = 33385; // 0x8269
+    field public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 33358; // 0x824e
+    field public static final int GL_DECODE_EXT = 35401; // 0x8a49
+    field public static final int GL_DIFFERENCE_KHR = 37534; // 0x929e
+    field public static final int GL_EXCLUSION_KHR = 37536; // 0x92a0
+    field public static final int GL_FIRST_VERTEX_CONVENTION_EXT = 36429; // 0x8e4d
+    field public static final int GL_FRACTIONAL_EVEN_EXT = 36476; // 0x8e7c
+    field public static final int GL_FRACTIONAL_ODD_EXT = 36475; // 0x8e7b
+    field public static final int GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 36445; // 0x8e5d
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 36263; // 0x8da7
+    field public static final int GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 37650; // 0x9312
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 36264; // 0x8da8
+    field public static final int GL_GEOMETRY_LINKED_INPUT_TYPE_EXT = 35095; // 0x8917
+    field public static final int GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 35096; // 0x8918
+    field public static final int GL_GEOMETRY_LINKED_VERTICES_OUT_EXT = 35094; // 0x8916
+    field public static final int GL_GEOMETRY_SHADER_BIT_EXT = 4; // 0x4
+    field public static final int GL_GEOMETRY_SHADER_EXT = 36313; // 0x8dd9
+    field public static final int GL_GEOMETRY_SHADER_INVOCATIONS_EXT = 34943; // 0x887f
+    field public static final int GL_HARDLIGHT_KHR = 37531; // 0x929b
+    field public static final int GL_HSL_COLOR_KHR = 37551; // 0x92af
+    field public static final int GL_HSL_HUE_KHR = 37549; // 0x92ad
+    field public static final int GL_HSL_LUMINOSITY_KHR = 37552; // 0x92b0
+    field public static final int GL_HSL_SATURATION_KHR = 37550; // 0x92ae
+    field public static final int GL_IMAGE_BUFFER_EXT = 36945; // 0x9051
+    field public static final int GL_IMAGE_CUBE_MAP_ARRAY_EXT = 36948; // 0x9054
+    field public static final int GL_INT_IMAGE_BUFFER_EXT = 36956; // 0x905c
+    field public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 36959; // 0x905f
+    field public static final int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 37132; // 0x910c
+    field public static final int GL_INT_SAMPLER_BUFFER_EXT = 36304; // 0x8dd0
+    field public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 36878; // 0x900e
+    field public static final int GL_ISOLINES_EXT = 36474; // 0x8e7a
+    field public static final int GL_IS_PER_PATCH_EXT = 37607; // 0x92e7
+    field public static final int GL_LAST_VERTEX_CONVENTION_EXT = 36430; // 0x8e4e
+    field public static final int GL_LAYER_PROVOKING_VERTEX_EXT = 33374; // 0x825e
+    field public static final int GL_LIGHTEN_KHR = 37528; // 0x9298
+    field public static final int GL_LINES_ADJACENCY_EXT = 10; // 0xa
+    field public static final int GL_LINE_STRIP_ADJACENCY_EXT = 11; // 0xb
+    field public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 35378; // 0x8a32
+    field public static final int GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 36382; // 0x8e1e
+    field public static final int GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 36383; // 0x8e1f
+    field public static final int GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 33388; // 0x826c
+    field public static final int GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 37188; // 0x9144
+    field public static final int GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 37187; // 0x9143
+    field public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 36444; // 0x8e5c
+    field public static final int GL_MAX_FRAMEBUFFER_LAYERS_EXT = 37655; // 0x9317
+    field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 37589; // 0x92d5
+    field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 37583; // 0x92cf
+    field public static final int GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 37069; // 0x90cd
+    field public static final int GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 37155; // 0x9123
+    field public static final int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 37156; // 0x9124
+    field public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 36320; // 0x8de0
+    field public static final int GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 36442; // 0x8e5a
+    field public static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 37079; // 0x90d7
+    field public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 35881; // 0x8c29
+    field public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 36321; // 0x8de1
+    field public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 35372; // 0x8a2c
+    field public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 36319; // 0x8ddf
+    field public static final int GL_MAX_LABEL_LENGTH_KHR = 33512; // 0x82e8
+    field public static final int GL_MAX_PATCH_VERTICES_EXT = 36477; // 0x8e7d
+    field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 37587; // 0x92d3
+    field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 37581; // 0x92cd
+    field public static final int GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 37067; // 0x90cb
+    field public static final int GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 34924; // 0x886c
+    field public static final int GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 36483; // 0x8e83
+    field public static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 37080; // 0x90d8
+    field public static final int GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 36481; // 0x8e81
+    field public static final int GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 36485; // 0x8e85
+    field public static final int GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 36489; // 0x8e89
+    field public static final int GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 36479; // 0x8e7f
+    field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 37588; // 0x92d4
+    field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 37582; // 0x92ce
+    field public static final int GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 37068; // 0x90cc
+    field public static final int GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 34925; // 0x886d
+    field public static final int GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 36486; // 0x8e86
+    field public static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 37081; // 0x90d9
+    field public static final int GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 36482; // 0x8e82
+    field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 36490; // 0x8e8a
+    field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 36480; // 0x8e80
+    field public static final int GL_MAX_TESS_GEN_LEVEL_EXT = 36478; // 0x8e7e
+    field public static final int GL_MAX_TESS_PATCH_COMPONENTS_EXT = 36484; // 0x8e84
+    field public static final int GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 35883; // 0x8c2b
+    field public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 36443; // 0x8e5b
+    field public static final int GL_MIN_SAMPLE_SHADING_VALUE_OES = 35895; // 0x8c37
+    field public static final int GL_MULTIPLY_KHR = 37524; // 0x9294
+    field public static final int GL_OVERLAY_KHR = 37526; // 0x9296
+    field public static final int GL_PATCHES_EXT = 14; // 0xe
+    field public static final int GL_PATCH_VERTICES_EXT = 36466; // 0x8e72
+    field public static final int GL_PRIMITIVES_GENERATED_EXT = 35975; // 0x8c87
+    field public static final int GL_PRIMITIVE_BOUNDING_BOX_EXT = 37566; // 0x92be
+    field public static final int GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 33313; // 0x8221
+    field public static final int GL_PROGRAM_KHR = 33506; // 0x82e2
+    field public static final int GL_QUADS_EXT = 7; // 0x7
+    field public static final int GL_QUERY_KHR = 33507; // 0x82e3
+    field public static final int GL_REFERENCED_BY_GEOMETRY_SHADER_EXT = 37641; // 0x9309
+    field public static final int GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 37639; // 0x9307
+    field public static final int GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 37640; // 0x9308
+    field public static final int GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 37131; // 0x910b
+    field public static final int GL_SAMPLER_BUFFER_EXT = 36290; // 0x8dc2
+    field public static final int GL_SAMPLER_CUBE_MAP_ARRAY_EXT = 36876; // 0x900c
+    field public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 36877; // 0x900d
+    field public static final int GL_SAMPLER_KHR = 33510; // 0x82e6
+    field public static final int GL_SAMPLE_SHADING_OES = 35894; // 0x8c36
+    field public static final int GL_SCREEN_KHR = 37525; // 0x9295
+    field public static final int GL_SHADER_KHR = 33505; // 0x82e1
+    field public static final int GL_SKIP_DECODE_EXT = 35402; // 0x8a4a
+    field public static final int GL_SOFTLIGHT_KHR = 37532; // 0x929c
+    field public static final int GL_STACK_OVERFLOW_KHR = 1283; // 0x503
+    field public static final int GL_STACK_UNDERFLOW_KHR = 1284; // 0x504
+    field public static final int GL_STENCIL_INDEX8_OES = 36168; // 0x8d48
+    field public static final int GL_STENCIL_INDEX_OES = 6401; // 0x1901
+    field public static final int GL_TESS_CONTROL_OUTPUT_VERTICES_EXT = 36469; // 0x8e75
+    field public static final int GL_TESS_CONTROL_SHADER_BIT_EXT = 8; // 0x8
+    field public static final int GL_TESS_CONTROL_SHADER_EXT = 36488; // 0x8e88
+    field public static final int GL_TESS_EVALUATION_SHADER_BIT_EXT = 16; // 0x10
+    field public static final int GL_TESS_EVALUATION_SHADER_EXT = 36487; // 0x8e87
+    field public static final int GL_TESS_GEN_MODE_EXT = 36470; // 0x8e76
+    field public static final int GL_TESS_GEN_POINT_MODE_EXT = 36473; // 0x8e79
+    field public static final int GL_TESS_GEN_SPACING_EXT = 36471; // 0x8e77
+    field public static final int GL_TESS_GEN_VERTEX_ORDER_EXT = 36472; // 0x8e78
+    field public static final int GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 37122; // 0x9102
+    field public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 37125; // 0x9105
+    field public static final int GL_TEXTURE_BINDING_BUFFER_EXT = 35884; // 0x8c2c
+    field public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 36874; // 0x900a
+    field public static final int GL_TEXTURE_BORDER_COLOR_EXT = 4100; // 0x1004
+    field public static final int GL_TEXTURE_BUFFER_BINDING_EXT = 35882; // 0x8c2a
+    field public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 35885; // 0x8c2d
+    field public static final int GL_TEXTURE_BUFFER_EXT = 35882; // 0x8c2a
+    field public static final int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 37279; // 0x919f
+    field public static final int GL_TEXTURE_BUFFER_OFFSET_EXT = 37277; // 0x919d
+    field public static final int GL_TEXTURE_BUFFER_SIZE_EXT = 37278; // 0x919e
+    field public static final int GL_TEXTURE_CUBE_MAP_ARRAY_EXT = 36873; // 0x9009
+    field public static final int GL_TEXTURE_SRGB_DECODE_EXT = 35400; // 0x8a48
+    field public static final int GL_TRIANGLES_ADJACENCY_EXT = 12; // 0xc
+    field public static final int GL_TRIANGLE_STRIP_ADJACENCY_EXT = 13; // 0xd
+    field public static final int GL_UNDEFINED_VERTEX_EXT = 33376; // 0x8260
+    field public static final int GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 36967; // 0x9067
+    field public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 36970; // 0x906a
+    field public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 37133; // 0x910d
+    field public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 36312; // 0x8dd8
+    field public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 36879; // 0x900f
+    field public static final int GL_VERTEX_ARRAY_KHR = 32884; // 0x8074
+  }
+
+  public static interface GLES31Ext.DebugProcKHR {
+    method public void onMessage(int, int, int, int, String);
+  }
+
+  public class GLES32 extends android.opengl.GLES31 {
+    method public static void glBlendBarrier();
+    method public static void glBlendEquationSeparatei(int, int, int);
+    method public static void glBlendEquationi(int, int);
+    method public static void glBlendFuncSeparatei(int, int, int, int, int);
+    method public static void glBlendFunci(int, int, int);
+    method public static void glColorMaski(int, boolean, boolean, boolean, boolean);
+    method public static void glCopyImageSubData(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int);
+    method public static void glDebugMessageCallback(android.opengl.GLES32.DebugProc);
+    method public static void glDebugMessageControl(int, int, int, int, int[], int, boolean);
+    method public static void glDebugMessageControl(int, int, int, int, java.nio.IntBuffer, boolean);
+    method public static void glDebugMessageInsert(int, int, int, int, int, String);
+    method public static void glDisablei(int, int);
+    method public static void glDrawElementsBaseVertex(int, int, int, java.nio.Buffer, int);
+    method public static void glDrawElementsInstancedBaseVertex(int, int, int, java.nio.Buffer, int, int);
+    method public static void glDrawElementsInstancedBaseVertex(int, int, int, int, int, int);
+    method public static void glDrawRangeElementsBaseVertex(int, int, int, int, int, java.nio.Buffer, int);
+    method public static void glEnablei(int, int);
+    method public static void glFramebufferTexture(int, int, int, int);
+    method public static int glGetDebugMessageLog(int, int, int[], int, int[], int, int[], int, int[], int, int[], int, byte[], int);
+    method public static int glGetDebugMessageLog(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.ByteBuffer);
+    method public static String[] glGetDebugMessageLog(int, int[], int, int[], int, int[], int, int[], int);
+    method public static String[] glGetDebugMessageLog(int, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer, java.nio.IntBuffer);
+    method public static int glGetGraphicsResetStatus();
+    method public static String glGetObjectLabel(int, int);
+    method public static String glGetObjectPtrLabel(long);
+    method public static long glGetPointerv(int);
+    method public static void glGetSamplerParameterIiv(int, int, int[], int);
+    method public static void glGetSamplerParameterIiv(int, int, java.nio.IntBuffer);
+    method public static void glGetSamplerParameterIuiv(int, int, int[], int);
+    method public static void glGetSamplerParameterIuiv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterIiv(int, int, int[], int);
+    method public static void glGetTexParameterIiv(int, int, java.nio.IntBuffer);
+    method public static void glGetTexParameterIuiv(int, int, int[], int);
+    method public static void glGetTexParameterIuiv(int, int, java.nio.IntBuffer);
+    method public static void glGetnUniformfv(int, int, int, float[], int);
+    method public static void glGetnUniformfv(int, int, int, java.nio.FloatBuffer);
+    method public static void glGetnUniformiv(int, int, int, int[], int);
+    method public static void glGetnUniformiv(int, int, int, java.nio.IntBuffer);
+    method public static void glGetnUniformuiv(int, int, int, int[], int);
+    method public static void glGetnUniformuiv(int, int, int, java.nio.IntBuffer);
+    method public static boolean glIsEnabledi(int, int);
+    method public static void glMinSampleShading(float);
+    method public static void glObjectLabel(int, int, int, String);
+    method public static void glObjectPtrLabel(long, String);
+    method public static void glPatchParameteri(int, int);
+    method public static void glPopDebugGroup();
+    method public static void glPrimitiveBoundingBox(float, float, float, float, float, float, float, float);
+    method public static void glPushDebugGroup(int, int, int, String);
+    method public static void glReadnPixels(int, int, int, int, int, int, int, java.nio.Buffer);
+    method public static void glSamplerParameterIiv(int, int, int[], int);
+    method public static void glSamplerParameterIiv(int, int, java.nio.IntBuffer);
+    method public static void glSamplerParameterIuiv(int, int, int[], int);
+    method public static void glSamplerParameterIuiv(int, int, java.nio.IntBuffer);
+    method public static void glTexBuffer(int, int, int);
+    method public static void glTexBufferRange(int, int, int, int, int);
+    method public static void glTexParameterIiv(int, int, int[], int);
+    method public static void glTexParameterIiv(int, int, java.nio.IntBuffer);
+    method public static void glTexParameterIuiv(int, int, int[], int);
+    method public static void glTexParameterIuiv(int, int, java.nio.IntBuffer);
+    method public static void glTexStorage3DMultisample(int, int, int, int, int, int, boolean);
+    field public static final int GL_BUFFER = 33504; // 0x82e0
+    field public static final int GL_CLAMP_TO_BORDER = 33069; // 0x812d
+    field public static final int GL_COLORBURN = 37530; // 0x929a
+    field public static final int GL_COLORDODGE = 37529; // 0x9299
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x10 = 37819; // 0x93bb
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x5 = 37816; // 0x93b8
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x6 = 37817; // 0x93b9
+    field public static final int GL_COMPRESSED_RGBA_ASTC_10x8 = 37818; // 0x93ba
+    field public static final int GL_COMPRESSED_RGBA_ASTC_12x10 = 37820; // 0x93bc
+    field public static final int GL_COMPRESSED_RGBA_ASTC_12x12 = 37821; // 0x93bd
+    field public static final int GL_COMPRESSED_RGBA_ASTC_4x4 = 37808; // 0x93b0
+    field public static final int GL_COMPRESSED_RGBA_ASTC_5x4 = 37809; // 0x93b1
+    field public static final int GL_COMPRESSED_RGBA_ASTC_5x5 = 37810; // 0x93b2
+    field public static final int GL_COMPRESSED_RGBA_ASTC_6x5 = 37811; // 0x93b3
+    field public static final int GL_COMPRESSED_RGBA_ASTC_6x6 = 37812; // 0x93b4
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x5 = 37813; // 0x93b5
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x6 = 37814; // 0x93b6
+    field public static final int GL_COMPRESSED_RGBA_ASTC_8x8 = 37815; // 0x93b7
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 37851; // 0x93db
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 37848; // 0x93d8
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 37849; // 0x93d9
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 37850; // 0x93da
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 37852; // 0x93dc
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 37853; // 0x93dd
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 37840; // 0x93d0
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 37841; // 0x93d1
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 37842; // 0x93d2
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 37843; // 0x93d3
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 37844; // 0x93d4
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 37845; // 0x93d5
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 37846; // 0x93d6
+    field public static final int GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 37847; // 0x93d7
+    field public static final int GL_CONTEXT_FLAGS = 33310; // 0x821e
+    field public static final int GL_CONTEXT_FLAG_DEBUG_BIT = 2; // 0x2
+    field public static final int GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 4; // 0x4
+    field public static final int GL_CONTEXT_LOST = 1287; // 0x507
+    field public static final int GL_DARKEN = 37527; // 0x9297
+    field public static final int GL_DEBUG_CALLBACK_FUNCTION = 33348; // 0x8244
+    field public static final int GL_DEBUG_CALLBACK_USER_PARAM = 33349; // 0x8245
+    field public static final int GL_DEBUG_GROUP_STACK_DEPTH = 33389; // 0x826d
+    field public static final int GL_DEBUG_LOGGED_MESSAGES = 37189; // 0x9145
+    field public static final int GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 33347; // 0x8243
+    field public static final int GL_DEBUG_OUTPUT = 37600; // 0x92e0
+    field public static final int GL_DEBUG_OUTPUT_SYNCHRONOUS = 33346; // 0x8242
+    field public static final int GL_DEBUG_SEVERITY_HIGH = 37190; // 0x9146
+    field public static final int GL_DEBUG_SEVERITY_LOW = 37192; // 0x9148
+    field public static final int GL_DEBUG_SEVERITY_MEDIUM = 37191; // 0x9147
+    field public static final int GL_DEBUG_SEVERITY_NOTIFICATION = 33387; // 0x826b
+    field public static final int GL_DEBUG_SOURCE_API = 33350; // 0x8246
+    field public static final int GL_DEBUG_SOURCE_APPLICATION = 33354; // 0x824a
+    field public static final int GL_DEBUG_SOURCE_OTHER = 33355; // 0x824b
+    field public static final int GL_DEBUG_SOURCE_SHADER_COMPILER = 33352; // 0x8248
+    field public static final int GL_DEBUG_SOURCE_THIRD_PARTY = 33353; // 0x8249
+    field public static final int GL_DEBUG_SOURCE_WINDOW_SYSTEM = 33351; // 0x8247
+    field public static final int GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 33357; // 0x824d
+    field public static final int GL_DEBUG_TYPE_ERROR = 33356; // 0x824c
+    field public static final int GL_DEBUG_TYPE_MARKER = 33384; // 0x8268
+    field public static final int GL_DEBUG_TYPE_OTHER = 33361; // 0x8251
+    field public static final int GL_DEBUG_TYPE_PERFORMANCE = 33360; // 0x8250
+    field public static final int GL_DEBUG_TYPE_POP_GROUP = 33386; // 0x826a
+    field public static final int GL_DEBUG_TYPE_PORTABILITY = 33359; // 0x824f
+    field public static final int GL_DEBUG_TYPE_PUSH_GROUP = 33385; // 0x8269
+    field public static final int GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 33358; // 0x824e
+    field public static final int GL_DIFFERENCE = 37534; // 0x929e
+    field public static final int GL_EXCLUSION = 37536; // 0x92a0
+    field public static final int GL_FIRST_VERTEX_CONVENTION = 36429; // 0x8e4d
+    field public static final int GL_FRACTIONAL_EVEN = 36476; // 0x8e7c
+    field public static final int GL_FRACTIONAL_ODD = 36475; // 0x8e7b
+    field public static final int GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 36445; // 0x8e5d
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 36263; // 0x8da7
+    field public static final int GL_FRAMEBUFFER_DEFAULT_LAYERS = 37650; // 0x9312
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 36264; // 0x8da8
+    field public static final int GL_GEOMETRY_INPUT_TYPE = 35095; // 0x8917
+    field public static final int GL_GEOMETRY_OUTPUT_TYPE = 35096; // 0x8918
+    field public static final int GL_GEOMETRY_SHADER = 36313; // 0x8dd9
+    field public static final int GL_GEOMETRY_SHADER_BIT = 4; // 0x4
+    field public static final int GL_GEOMETRY_SHADER_INVOCATIONS = 34943; // 0x887f
+    field public static final int GL_GEOMETRY_VERTICES_OUT = 35094; // 0x8916
+    field public static final int GL_GUILTY_CONTEXT_RESET = 33363; // 0x8253
+    field public static final int GL_HARDLIGHT = 37531; // 0x929b
+    field public static final int GL_HSL_COLOR = 37551; // 0x92af
+    field public static final int GL_HSL_HUE = 37549; // 0x92ad
+    field public static final int GL_HSL_LUMINOSITY = 37552; // 0x92b0
+    field public static final int GL_HSL_SATURATION = 37550; // 0x92ae
+    field public static final int GL_IMAGE_BUFFER = 36945; // 0x9051
+    field public static final int GL_IMAGE_CUBE_MAP_ARRAY = 36948; // 0x9054
+    field public static final int GL_INNOCENT_CONTEXT_RESET = 33364; // 0x8254
+    field public static final int GL_INT_IMAGE_BUFFER = 36956; // 0x905c
+    field public static final int GL_INT_IMAGE_CUBE_MAP_ARRAY = 36959; // 0x905f
+    field public static final int GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37132; // 0x910c
+    field public static final int GL_INT_SAMPLER_BUFFER = 36304; // 0x8dd0
+    field public static final int GL_INT_SAMPLER_CUBE_MAP_ARRAY = 36878; // 0x900e
+    field public static final int GL_ISOLINES = 36474; // 0x8e7a
+    field public static final int GL_IS_PER_PATCH = 37607; // 0x92e7
+    field public static final int GL_LAST_VERTEX_CONVENTION = 36430; // 0x8e4e
+    field public static final int GL_LAYER_PROVOKING_VERTEX = 33374; // 0x825e
+    field public static final int GL_LIGHTEN = 37528; // 0x9298
+    field public static final int GL_LINES_ADJACENCY = 10; // 0xa
+    field public static final int GL_LINE_STRIP_ADJACENCY = 11; // 0xb
+    field public static final int GL_LOSE_CONTEXT_ON_RESET = 33362; // 0x8252
+    field public static final int GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 35378; // 0x8a32
+    field public static final int GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 36382; // 0x8e1e
+    field public static final int GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 36383; // 0x8e1f
+    field public static final int GL_MAX_DEBUG_GROUP_STACK_DEPTH = 33388; // 0x826c
+    field public static final int GL_MAX_DEBUG_LOGGED_MESSAGES = 37188; // 0x9144
+    field public static final int GL_MAX_DEBUG_MESSAGE_LENGTH = 37187; // 0x9143
+    field public static final int GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 36444; // 0x8e5c
+    field public static final int GL_MAX_FRAMEBUFFER_LAYERS = 37655; // 0x9317
+    field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 37589; // 0x92d5
+    field public static final int GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 37583; // 0x92cf
+    field public static final int GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 37069; // 0x90cd
+    field public static final int GL_MAX_GEOMETRY_INPUT_COMPONENTS = 37155; // 0x9123
+    field public static final int GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 37156; // 0x9124
+    field public static final int GL_MAX_GEOMETRY_OUTPUT_VERTICES = 36320; // 0x8de0
+    field public static final int GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 36442; // 0x8e5a
+    field public static final int GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 37079; // 0x90d7
+    field public static final int GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 35881; // 0x8c29
+    field public static final int GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 36321; // 0x8de1
+    field public static final int GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 35372; // 0x8a2c
+    field public static final int GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 36319; // 0x8ddf
+    field public static final int GL_MAX_LABEL_LENGTH = 33512; // 0x82e8
+    field public static final int GL_MAX_PATCH_VERTICES = 36477; // 0x8e7d
+    field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 37587; // 0x92d3
+    field public static final int GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 37581; // 0x92cd
+    field public static final int GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 37067; // 0x90cb
+    field public static final int GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 34924; // 0x886c
+    field public static final int GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 36483; // 0x8e83
+    field public static final int GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 37080; // 0x90d8
+    field public static final int GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 36481; // 0x8e81
+    field public static final int GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 36485; // 0x8e85
+    field public static final int GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 36489; // 0x8e89
+    field public static final int GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 36479; // 0x8e7f
+    field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 37588; // 0x92d4
+    field public static final int GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 37582; // 0x92ce
+    field public static final int GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 37068; // 0x90cc
+    field public static final int GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 34925; // 0x886d
+    field public static final int GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 36486; // 0x8e86
+    field public static final int GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 37081; // 0x90d9
+    field public static final int GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 36482; // 0x8e82
+    field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 36490; // 0x8e8a
+    field public static final int GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 36480; // 0x8e80
+    field public static final int GL_MAX_TESS_GEN_LEVEL = 36478; // 0x8e7e
+    field public static final int GL_MAX_TESS_PATCH_COMPONENTS = 36484; // 0x8e84
+    field public static final int GL_MAX_TEXTURE_BUFFER_SIZE = 35883; // 0x8c2b
+    field public static final int GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 36443; // 0x8e5b
+    field public static final int GL_MIN_SAMPLE_SHADING_VALUE = 35895; // 0x8c37
+    field public static final int GL_MULTIPLY = 37524; // 0x9294
+    field public static final int GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 37762; // 0x9382
+    field public static final int GL_MULTISAMPLE_LINE_WIDTH_RANGE = 37761; // 0x9381
+    field public static final int GL_NO_RESET_NOTIFICATION = 33377; // 0x8261
+    field public static final int GL_OVERLAY = 37526; // 0x9296
+    field public static final int GL_PATCHES = 14; // 0xe
+    field public static final int GL_PATCH_VERTICES = 36466; // 0x8e72
+    field public static final int GL_PRIMITIVES_GENERATED = 35975; // 0x8c87
+    field public static final int GL_PRIMITIVE_BOUNDING_BOX = 37566; // 0x92be
+    field public static final int GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 33313; // 0x8221
+    field public static final int GL_PROGRAM = 33506; // 0x82e2
+    field public static final int GL_PROGRAM_PIPELINE = 33508; // 0x82e4
+    field public static final int GL_QUADS = 7; // 0x7
+    field public static final int GL_QUERY = 33507; // 0x82e3
+    field public static final int GL_REFERENCED_BY_GEOMETRY_SHADER = 37641; // 0x9309
+    field public static final int GL_REFERENCED_BY_TESS_CONTROL_SHADER = 37639; // 0x9307
+    field public static final int GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 37640; // 0x9308
+    field public static final int GL_RESET_NOTIFICATION_STRATEGY = 33366; // 0x8256
+    field public static final int GL_SAMPLER = 33510; // 0x82e6
+    field public static final int GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 37131; // 0x910b
+    field public static final int GL_SAMPLER_BUFFER = 36290; // 0x8dc2
+    field public static final int GL_SAMPLER_CUBE_MAP_ARRAY = 36876; // 0x900c
+    field public static final int GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 36877; // 0x900d
+    field public static final int GL_SAMPLE_SHADING = 35894; // 0x8c36
+    field public static final int GL_SCREEN = 37525; // 0x9295
+    field public static final int GL_SHADER = 33505; // 0x82e1
+    field public static final int GL_SOFTLIGHT = 37532; // 0x929c
+    field public static final int GL_STACK_OVERFLOW = 1283; // 0x503
+    field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504
+    field public static final int GL_TESS_CONTROL_OUTPUT_VERTICES = 36469; // 0x8e75
+    field public static final int GL_TESS_CONTROL_SHADER = 36488; // 0x8e88
+    field public static final int GL_TESS_CONTROL_SHADER_BIT = 8; // 0x8
+    field public static final int GL_TESS_EVALUATION_SHADER = 36487; // 0x8e87
+    field public static final int GL_TESS_EVALUATION_SHADER_BIT = 16; // 0x10
+    field public static final int GL_TESS_GEN_MODE = 36470; // 0x8e76
+    field public static final int GL_TESS_GEN_POINT_MODE = 36473; // 0x8e79
+    field public static final int GL_TESS_GEN_SPACING = 36471; // 0x8e77
+    field public static final int GL_TESS_GEN_VERTEX_ORDER = 36472; // 0x8e78
+    field public static final int GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 37122; // 0x9102
+    field public static final int GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 37125; // 0x9105
+    field public static final int GL_TEXTURE_BINDING_BUFFER = 35884; // 0x8c2c
+    field public static final int GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 36874; // 0x900a
+    field public static final int GL_TEXTURE_BORDER_COLOR = 4100; // 0x1004
+    field public static final int GL_TEXTURE_BUFFER = 35882; // 0x8c2a
+    field public static final int GL_TEXTURE_BUFFER_BINDING = 35882; // 0x8c2a
+    field public static final int GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 35885; // 0x8c2d
+    field public static final int GL_TEXTURE_BUFFER_OFFSET = 37277; // 0x919d
+    field public static final int GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 37279; // 0x919f
+    field public static final int GL_TEXTURE_BUFFER_SIZE = 37278; // 0x919e
+    field public static final int GL_TEXTURE_CUBE_MAP_ARRAY = 36873; // 0x9009
+    field public static final int GL_TRIANGLES_ADJACENCY = 12; // 0xc
+    field public static final int GL_TRIANGLE_STRIP_ADJACENCY = 13; // 0xd
+    field public static final int GL_UNDEFINED_VERTEX = 33376; // 0x8260
+    field public static final int GL_UNKNOWN_CONTEXT_RESET = 33365; // 0x8255
+    field public static final int GL_UNSIGNED_INT_IMAGE_BUFFER = 36967; // 0x9067
+    field public static final int GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 36970; // 0x906a
+    field public static final int GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 37133; // 0x910d
+    field public static final int GL_UNSIGNED_INT_SAMPLER_BUFFER = 36312; // 0x8dd8
+    field public static final int GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 36879; // 0x900f
+    field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074
+  }
+
+  public static interface GLES32.DebugProc {
+    method public void onMessage(int, int, int, int, String);
+  }
+
+  public class GLException extends java.lang.RuntimeException {
+    ctor public GLException(int);
+    ctor public GLException(int, String);
+  }
+
+  public class GLSurfaceView extends android.view.SurfaceView implements android.view.SurfaceHolder.Callback2 {
+    ctor public GLSurfaceView(android.content.Context);
+    ctor public GLSurfaceView(android.content.Context, android.util.AttributeSet);
+    method public int getDebugFlags();
+    method public boolean getPreserveEGLContextOnPause();
+    method public int getRenderMode();
+    method public void onPause();
+    method public void onResume();
+    method public void queueEvent(Runnable);
+    method public void requestRender();
+    method public void setDebugFlags(int);
+    method public void setEGLConfigChooser(android.opengl.GLSurfaceView.EGLConfigChooser);
+    method public void setEGLConfigChooser(boolean);
+    method public void setEGLConfigChooser(int, int, int, int, int, int);
+    method public void setEGLContextClientVersion(int);
+    method public void setEGLContextFactory(android.opengl.GLSurfaceView.EGLContextFactory);
+    method public void setEGLWindowSurfaceFactory(android.opengl.GLSurfaceView.EGLWindowSurfaceFactory);
+    method public void setGLWrapper(android.opengl.GLSurfaceView.GLWrapper);
+    method public void setPreserveEGLContextOnPause(boolean);
+    method public void setRenderMode(int);
+    method public void setRenderer(android.opengl.GLSurfaceView.Renderer);
+    method public void surfaceChanged(android.view.SurfaceHolder, int, int, int);
+    method public void surfaceCreated(android.view.SurfaceHolder);
+    method public void surfaceDestroyed(android.view.SurfaceHolder);
+    method @Deprecated public void surfaceRedrawNeeded(android.view.SurfaceHolder);
+    field public static final int DEBUG_CHECK_GL_ERROR = 1; // 0x1
+    field public static final int DEBUG_LOG_GL_CALLS = 2; // 0x2
+    field public static final int RENDERMODE_CONTINUOUSLY = 1; // 0x1
+    field public static final int RENDERMODE_WHEN_DIRTY = 0; // 0x0
+  }
+
+  public static interface GLSurfaceView.EGLConfigChooser {
+    method public javax.microedition.khronos.egl.EGLConfig chooseConfig(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay);
+  }
+
+  public static interface GLSurfaceView.EGLContextFactory {
+    method public javax.microedition.khronos.egl.EGLContext createContext(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig);
+    method public void destroyContext(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext);
+  }
+
+  public static interface GLSurfaceView.EGLWindowSurfaceFactory {
+    method public javax.microedition.khronos.egl.EGLSurface createWindowSurface(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, Object);
+    method public void destroySurface(javax.microedition.khronos.egl.EGL10, javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
+  }
+
+  public static interface GLSurfaceView.GLWrapper {
+    method public javax.microedition.khronos.opengles.GL wrap(javax.microedition.khronos.opengles.GL);
+  }
+
+  public static interface GLSurfaceView.Renderer {
+    method public void onDrawFrame(javax.microedition.khronos.opengles.GL10);
+    method public void onSurfaceChanged(javax.microedition.khronos.opengles.GL10, int, int);
+    method public void onSurfaceCreated(javax.microedition.khronos.opengles.GL10, javax.microedition.khronos.egl.EGLConfig);
+  }
+
+  public class GLU {
+    ctor public GLU();
+    method public static String gluErrorString(int);
+    method public static void gluLookAt(javax.microedition.khronos.opengles.GL10, float, float, float, float, float, float, float, float, float);
+    method public static void gluOrtho2D(javax.microedition.khronos.opengles.GL10, float, float, float, float);
+    method public static void gluPerspective(javax.microedition.khronos.opengles.GL10, float, float, float, float);
+    method public static int gluProject(float, float, float, float[], int, float[], int, int[], int, float[], int);
+    method public static int gluUnProject(float, float, float, float[], int, float[], int, int[], int, float[], int);
+  }
+
+  public final class GLUtils {
+    method public static String getEGLErrorString(int);
+    method public static int getInternalFormat(android.graphics.Bitmap);
+    method public static int getType(android.graphics.Bitmap);
+    method public static void texImage2D(int, int, int, android.graphics.Bitmap, int);
+    method public static void texImage2D(int, int, int, android.graphics.Bitmap, int, int);
+    method public static void texImage2D(int, int, android.graphics.Bitmap, int);
+    method public static void texSubImage2D(int, int, int, int, android.graphics.Bitmap);
+    method public static void texSubImage2D(int, int, int, int, android.graphics.Bitmap, int, int);
+  }
+
+  public class Matrix {
+    ctor @Deprecated public Matrix();
+    method public static void frustumM(float[], int, float, float, float, float, float, float);
+    method public static boolean invertM(float[], int, float[], int);
+    method public static float length(float, float, float);
+    method public static void multiplyMM(float[], int, float[], int, float[], int);
+    method public static void multiplyMV(float[], int, float[], int, float[], int);
+    method public static void orthoM(float[], int, float, float, float, float, float, float);
+    method public static void perspectiveM(float[], int, float, float, float, float);
+    method public static void rotateM(float[], int, float[], int, float, float, float, float);
+    method public static void rotateM(float[], int, float, float, float, float);
+    method public static void scaleM(float[], int, float[], int, float, float, float);
+    method public static void scaleM(float[], int, float, float, float);
+    method public static void setIdentityM(float[], int);
+    method public static void setLookAtM(float[], int, float, float, float, float, float, float, float, float, float);
+    method public static void setRotateEulerM(float[], int, float, float, float);
+    method public static void setRotateM(float[], int, float, float, float, float);
+    method public static void translateM(float[], int, float[], int, float, float, float);
+    method public static void translateM(float[], int, float, float, float);
+    method public static void transposeM(float[], int, float[], int);
+  }
+
+  public class Visibility {
+    ctor public Visibility();
+    method public static void computeBoundingSphere(float[], int, int, float[], int);
+    method public static int frustumCullSpheres(float[], int, float[], int, int, int[], int, int);
+    method public static int visibilityTest(float[], int, float[], int, char[], int, int);
+  }
+
+}
+
+package android.os {
+
+  @Deprecated public abstract class AsyncTask<Params, Progress, Result> {
+    ctor @Deprecated public AsyncTask();
+    method @Deprecated public final boolean cancel(boolean);
+    method @Deprecated @WorkerThread protected abstract Result doInBackground(Params...);
+    method @Deprecated @MainThread public final android.os.AsyncTask<Params,Progress,Result> execute(Params...);
+    method @Deprecated @MainThread public static void execute(Runnable);
+    method @Deprecated @MainThread public final android.os.AsyncTask<Params,Progress,Result> executeOnExecutor(java.util.concurrent.Executor, Params...);
+    method @Deprecated public final Result get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method @Deprecated public final Result get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method @Deprecated public final android.os.AsyncTask.Status getStatus();
+    method @Deprecated public final boolean isCancelled();
+    method @Deprecated @MainThread protected void onCancelled(Result);
+    method @Deprecated @MainThread protected void onCancelled();
+    method @Deprecated @MainThread protected void onPostExecute(Result);
+    method @Deprecated @MainThread protected void onPreExecute();
+    method @Deprecated @MainThread protected void onProgressUpdate(Progress...);
+    method @Deprecated @WorkerThread protected final void publishProgress(Progress...);
+    field @Deprecated public static final java.util.concurrent.Executor SERIAL_EXECUTOR;
+    field @Deprecated public static final java.util.concurrent.Executor THREAD_POOL_EXECUTOR;
+  }
+
+  @Deprecated public enum AsyncTask.Status {
+    enum_constant @Deprecated public static final android.os.AsyncTask.Status FINISHED;
+    enum_constant @Deprecated public static final android.os.AsyncTask.Status PENDING;
+    enum_constant @Deprecated public static final android.os.AsyncTask.Status RUNNING;
+  }
+
+  public class BadParcelableException extends android.util.AndroidRuntimeException {
+    ctor public BadParcelableException(String);
+    ctor public BadParcelableException(Exception);
+  }
+
+  public class BaseBundle {
+    method public void clear();
+    method public boolean containsKey(String);
+    method @Nullable public Object get(String);
+    method public boolean getBoolean(String);
+    method public boolean getBoolean(String, boolean);
+    method @Nullable public boolean[] getBooleanArray(@Nullable String);
+    method public double getDouble(String);
+    method public double getDouble(String, double);
+    method @Nullable public double[] getDoubleArray(@Nullable String);
+    method public int getInt(String);
+    method public int getInt(String, int);
+    method @Nullable public int[] getIntArray(@Nullable String);
+    method public long getLong(String);
+    method public long getLong(String, long);
+    method @Nullable public long[] getLongArray(@Nullable String);
+    method @Nullable public String getString(@Nullable String);
+    method public String getString(@Nullable String, String);
+    method @Nullable public String[] getStringArray(@Nullable String);
+    method public boolean isEmpty();
+    method public java.util.Set<java.lang.String> keySet();
+    method public void putAll(android.os.PersistableBundle);
+    method public void putBoolean(@Nullable String, boolean);
+    method public void putBooleanArray(@Nullable String, @Nullable boolean[]);
+    method public void putDouble(@Nullable String, double);
+    method public void putDoubleArray(@Nullable String, @Nullable double[]);
+    method public void putInt(@Nullable String, int);
+    method public void putIntArray(@Nullable String, @Nullable int[]);
+    method public void putLong(@Nullable String, long);
+    method public void putLongArray(@Nullable String, @Nullable long[]);
+    method public void putString(@Nullable String, @Nullable String);
+    method public void putStringArray(@Nullable String, @Nullable String[]);
+    method public void remove(String);
+    method public int size();
+  }
+
+  public class BatteryManager {
+    method public long computeChargeTimeRemaining();
+    method public int getIntProperty(int);
+    method public long getLongProperty(int);
+    method public boolean isCharging();
+    field public static final String ACTION_CHARGING = "android.os.action.CHARGING";
+    field public static final String ACTION_DISCHARGING = "android.os.action.DISCHARGING";
+    field public static final int BATTERY_HEALTH_COLD = 7; // 0x7
+    field public static final int BATTERY_HEALTH_DEAD = 4; // 0x4
+    field public static final int BATTERY_HEALTH_GOOD = 2; // 0x2
+    field public static final int BATTERY_HEALTH_OVERHEAT = 3; // 0x3
+    field public static final int BATTERY_HEALTH_OVER_VOLTAGE = 5; // 0x5
+    field public static final int BATTERY_HEALTH_UNKNOWN = 1; // 0x1
+    field public static final int BATTERY_HEALTH_UNSPECIFIED_FAILURE = 6; // 0x6
+    field public static final int BATTERY_PLUGGED_AC = 1; // 0x1
+    field public static final int BATTERY_PLUGGED_USB = 2; // 0x2
+    field public static final int BATTERY_PLUGGED_WIRELESS = 4; // 0x4
+    field public static final int BATTERY_PROPERTY_CAPACITY = 4; // 0x4
+    field public static final int BATTERY_PROPERTY_CHARGE_COUNTER = 1; // 0x1
+    field public static final int BATTERY_PROPERTY_CURRENT_AVERAGE = 3; // 0x3
+    field public static final int BATTERY_PROPERTY_CURRENT_NOW = 2; // 0x2
+    field public static final int BATTERY_PROPERTY_ENERGY_COUNTER = 5; // 0x5
+    field public static final int BATTERY_PROPERTY_STATUS = 6; // 0x6
+    field public static final int BATTERY_STATUS_CHARGING = 2; // 0x2
+    field public static final int BATTERY_STATUS_DISCHARGING = 3; // 0x3
+    field public static final int BATTERY_STATUS_FULL = 5; // 0x5
+    field public static final int BATTERY_STATUS_NOT_CHARGING = 4; // 0x4
+    field public static final int BATTERY_STATUS_UNKNOWN = 1; // 0x1
+    field public static final String EXTRA_BATTERY_LOW = "battery_low";
+    field public static final String EXTRA_HEALTH = "health";
+    field public static final String EXTRA_ICON_SMALL = "icon-small";
+    field public static final String EXTRA_LEVEL = "level";
+    field public static final String EXTRA_PLUGGED = "plugged";
+    field public static final String EXTRA_PRESENT = "present";
+    field public static final String EXTRA_SCALE = "scale";
+    field public static final String EXTRA_STATUS = "status";
+    field public static final String EXTRA_TECHNOLOGY = "technology";
+    field public static final String EXTRA_TEMPERATURE = "temperature";
+    field public static final String EXTRA_VOLTAGE = "voltage";
+  }
+
+  public class Binder implements android.os.IBinder {
+    ctor public Binder();
+    ctor public Binder(@Nullable String);
+    method public void attachInterface(@Nullable android.os.IInterface, @Nullable String);
+    method public static final long clearCallingIdentity();
+    method public static final long clearCallingWorkSource();
+    method public void dump(@NonNull java.io.FileDescriptor, @Nullable String[]);
+    method protected void dump(@NonNull java.io.FileDescriptor, @NonNull java.io.PrintWriter, @Nullable String[]);
+    method public void dumpAsync(@NonNull java.io.FileDescriptor, @Nullable String[]);
+    method public static final void flushPendingCommands();
+    method public static final int getCallingPid();
+    method public static final int getCallingUid();
+    method public static final int getCallingUidOrThrow();
+    method @NonNull public static final android.os.UserHandle getCallingUserHandle();
+    method public static final int getCallingWorkSourceUid();
+    method @Nullable public String getInterfaceDescriptor();
+    method public boolean isBinderAlive();
+    method public static final void joinThreadPool();
+    method public void linkToDeath(@NonNull android.os.IBinder.DeathRecipient, int);
+    method protected boolean onTransact(int, @NonNull android.os.Parcel, @Nullable android.os.Parcel, int) throws android.os.RemoteException;
+    method public boolean pingBinder();
+    method @Nullable public android.os.IInterface queryLocalInterface(@NonNull String);
+    method public static final void restoreCallingIdentity(long);
+    method public static final void restoreCallingWorkSource(long);
+    method public static final long setCallingWorkSourceUid(int);
+    method public final boolean transact(int, @NonNull android.os.Parcel, @Nullable android.os.Parcel, int) throws android.os.RemoteException;
+    method public boolean unlinkToDeath(@NonNull android.os.IBinder.DeathRecipient, int);
+  }
+
+  public final class BugreportManager {
+    method @WorkerThread public void cancelBugreport();
+    method @WorkerThread public void startConnectivityBugreport(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.concurrent.Executor, @NonNull android.os.BugreportManager.BugreportCallback);
+  }
+
+  public abstract static class BugreportManager.BugreportCallback {
+    ctor public BugreportManager.BugreportCallback();
+    method public void onEarlyReportFinished();
+    method public void onError(int);
+    method public void onFinished();
+    method public void onProgress(@FloatRange(from=0.0f, to=100.0f) float);
+    field public static final int BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS = 5; // 0x5
+    field public static final int BUGREPORT_ERROR_INVALID_INPUT = 1; // 0x1
+    field public static final int BUGREPORT_ERROR_RUNTIME = 2; // 0x2
+    field public static final int BUGREPORT_ERROR_USER_CONSENT_TIMED_OUT = 4; // 0x4
+    field public static final int BUGREPORT_ERROR_USER_DENIED_CONSENT = 3; // 0x3
+  }
+
+  public class Build {
+    ctor public Build();
+    method @NonNull public static java.util.List<android.os.Build.Partition> getFingerprintedPartitions();
+    method public static String getRadioVersion();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public static String getSerial();
+    field public static final String BOARD;
+    field public static final String BOOTLOADER;
+    field public static final String BRAND;
+    field @Deprecated public static final String CPU_ABI;
+    field @Deprecated public static final String CPU_ABI2;
+    field public static final String DEVICE;
+    field public static final String DISPLAY;
+    field public static final String FINGERPRINT;
+    field public static final String HARDWARE;
+    field public static final String HOST;
+    field public static final String ID;
+    field public static final String MANUFACTURER;
+    field public static final String MODEL;
+    field @NonNull public static final String ODM_SKU;
+    field public static final String PRODUCT;
+    field @Deprecated public static final String RADIO;
+    field @Deprecated public static final String SERIAL;
+    field @NonNull public static final String SKU;
+    field @NonNull public static final String SOC_MANUFACTURER;
+    field @NonNull public static final String SOC_MODEL;
+    field public static final String[] SUPPORTED_32_BIT_ABIS;
+    field public static final String[] SUPPORTED_64_BIT_ABIS;
+    field public static final String[] SUPPORTED_ABIS;
+    field public static final String TAGS;
+    field public static final long TIME;
+    field public static final String TYPE;
+    field public static final String UNKNOWN = "unknown";
+    field public static final String USER;
+  }
+
+  public static class Build.Partition {
+    method public long getBuildTimeMillis();
+    method @NonNull public String getFingerprint();
+    method @NonNull public String getName();
+    field public static final String PARTITION_NAME_SYSTEM = "system";
+  }
+
+  public static class Build.VERSION {
+    ctor public Build.VERSION();
+    field public static final String BASE_OS;
+    field public static final String CODENAME;
+    field public static final String INCREMENTAL;
+    field public static final int MEDIA_PERFORMANCE_CLASS;
+    field public static final int PREVIEW_SDK_INT;
+    field public static final String RELEASE;
+    field @NonNull public static final String RELEASE_OR_CODENAME;
+    field @Deprecated public static final String SDK;
+    field public static final int SDK_INT;
+    field public static final String SECURITY_PATCH;
+  }
+
+  public static class Build.VERSION_CODES {
+    ctor public Build.VERSION_CODES();
+    field public static final int BASE = 1; // 0x1
+    field public static final int BASE_1_1 = 2; // 0x2
+    field public static final int CUPCAKE = 3; // 0x3
+    field public static final int CUR_DEVELOPMENT = 10000; // 0x2710
+    field public static final int DONUT = 4; // 0x4
+    field public static final int ECLAIR = 5; // 0x5
+    field public static final int ECLAIR_0_1 = 6; // 0x6
+    field public static final int ECLAIR_MR1 = 7; // 0x7
+    field public static final int FROYO = 8; // 0x8
+    field public static final int GINGERBREAD = 9; // 0x9
+    field public static final int GINGERBREAD_MR1 = 10; // 0xa
+    field public static final int HONEYCOMB = 11; // 0xb
+    field public static final int HONEYCOMB_MR1 = 12; // 0xc
+    field public static final int HONEYCOMB_MR2 = 13; // 0xd
+    field public static final int ICE_CREAM_SANDWICH = 14; // 0xe
+    field public static final int ICE_CREAM_SANDWICH_MR1 = 15; // 0xf
+    field public static final int JELLY_BEAN = 16; // 0x10
+    field public static final int JELLY_BEAN_MR1 = 17; // 0x11
+    field public static final int JELLY_BEAN_MR2 = 18; // 0x12
+    field public static final int KITKAT = 19; // 0x13
+    field public static final int KITKAT_WATCH = 20; // 0x14
+    field public static final int LOLLIPOP = 21; // 0x15
+    field public static final int LOLLIPOP_MR1 = 22; // 0x16
+    field public static final int M = 23; // 0x17
+    field public static final int N = 24; // 0x18
+    field public static final int N_MR1 = 25; // 0x19
+    field public static final int O = 26; // 0x1a
+    field public static final int O_MR1 = 27; // 0x1b
+    field public static final int P = 28; // 0x1c
+    field public static final int Q = 29; // 0x1d
+    field public static final int R = 30; // 0x1e
+    field public static final int S = 31; // 0x1f
+    field public static final int S_V2 = 32; // 0x20
+  }
+
+  public final class Bundle extends android.os.BaseBundle implements java.lang.Cloneable android.os.Parcelable {
+    ctor public Bundle();
+    ctor public Bundle(ClassLoader);
+    ctor public Bundle(int);
+    ctor public Bundle(android.os.Bundle);
+    ctor public Bundle(android.os.PersistableBundle);
+    method public Object clone();
+    method public android.os.Bundle deepCopy();
+    method public int describeContents();
+    method @Nullable public android.os.IBinder getBinder(@Nullable String);
+    method @Nullable public android.os.Bundle getBundle(@Nullable String);
+    method public byte getByte(String);
+    method public Byte getByte(String, byte);
+    method @Nullable public byte[] getByteArray(@Nullable String);
+    method public char getChar(String);
+    method public char getChar(String, char);
+    method @Nullable public char[] getCharArray(@Nullable String);
+    method @Nullable public CharSequence getCharSequence(@Nullable String);
+    method public CharSequence getCharSequence(@Nullable String, CharSequence);
+    method @Nullable public CharSequence[] getCharSequenceArray(@Nullable String);
+    method @Nullable public java.util.ArrayList<java.lang.CharSequence> getCharSequenceArrayList(@Nullable String);
+    method public ClassLoader getClassLoader();
+    method public float getFloat(String);
+    method public float getFloat(String, float);
+    method @Nullable public float[] getFloatArray(@Nullable String);
+    method @Nullable public java.util.ArrayList<java.lang.Integer> getIntegerArrayList(@Nullable String);
+    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@Nullable String);
+    method @Nullable public android.os.Parcelable[] getParcelableArray(@Nullable String);
+    method @Nullable public <T extends android.os.Parcelable> java.util.ArrayList<T> getParcelableArrayList(@Nullable String);
+    method @Nullable public java.io.Serializable getSerializable(@Nullable String);
+    method public short getShort(String);
+    method public short getShort(String, short);
+    method @Nullable public short[] getShortArray(@Nullable String);
+    method @Nullable public android.util.Size getSize(@Nullable String);
+    method @Nullable public android.util.SizeF getSizeF(@Nullable String);
+    method @Nullable public <T extends android.os.Parcelable> android.util.SparseArray<T> getSparseParcelableArray(@Nullable String);
+    method @Nullable public java.util.ArrayList<java.lang.String> getStringArrayList(@Nullable String);
+    method public boolean hasFileDescriptors();
+    method public void putAll(android.os.Bundle);
+    method public void putBinder(@Nullable String, @Nullable android.os.IBinder);
+    method public void putBundle(@Nullable String, @Nullable android.os.Bundle);
+    method public void putByte(@Nullable String, byte);
+    method public void putByteArray(@Nullable String, @Nullable byte[]);
+    method public void putChar(@Nullable String, char);
+    method public void putCharArray(@Nullable String, @Nullable char[]);
+    method public void putCharSequence(@Nullable String, @Nullable CharSequence);
+    method public void putCharSequenceArray(@Nullable String, @Nullable CharSequence[]);
+    method public void putCharSequenceArrayList(@Nullable String, @Nullable java.util.ArrayList<java.lang.CharSequence>);
+    method public void putFloat(@Nullable String, float);
+    method public void putFloatArray(@Nullable String, @Nullable float[]);
+    method public void putIntegerArrayList(@Nullable String, @Nullable java.util.ArrayList<java.lang.Integer>);
+    method public void putParcelable(@Nullable String, @Nullable android.os.Parcelable);
+    method public void putParcelableArray(@Nullable String, @Nullable android.os.Parcelable[]);
+    method public void putParcelableArrayList(@Nullable String, @Nullable java.util.ArrayList<? extends android.os.Parcelable>);
+    method public void putSerializable(@Nullable String, @Nullable java.io.Serializable);
+    method public void putShort(@Nullable String, short);
+    method public void putShortArray(@Nullable String, @Nullable short[]);
+    method public void putSize(@Nullable String, @Nullable android.util.Size);
+    method public void putSizeF(@Nullable String, @Nullable android.util.SizeF);
+    method public void putSparseParcelableArray(@Nullable String, @Nullable android.util.SparseArray<? extends android.os.Parcelable>);
+    method public void putStringArrayList(@Nullable String, @Nullable java.util.ArrayList<java.lang.String>);
+    method public void readFromParcel(android.os.Parcel);
+    method public void setClassLoader(ClassLoader);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.Bundle> CREATOR;
+    field public static final android.os.Bundle EMPTY;
+  }
+
+  public final class CancellationSignal {
+    ctor public CancellationSignal();
+    method public void cancel();
+    method public boolean isCanceled();
+    method public void setOnCancelListener(android.os.CancellationSignal.OnCancelListener);
+    method public void throwIfCanceled();
+  }
+
+  public static interface CancellationSignal.OnCancelListener {
+    method public void onCancel();
+  }
+
+  public abstract class CombinedVibration implements android.os.Parcelable {
+    method @NonNull public static android.os.CombinedVibration createParallel(@NonNull android.os.VibrationEffect);
+    method public int describeContents();
+    method @NonNull public static android.os.CombinedVibration.ParallelCombination startParallel();
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.CombinedVibration> CREATOR;
+  }
+
+  public static final class CombinedVibration.ParallelCombination {
+    method @NonNull public android.os.CombinedVibration.ParallelCombination addVibrator(int, @NonNull android.os.VibrationEffect);
+    method @NonNull public android.os.CombinedVibration combine();
+  }
+
+  public class ConditionVariable {
+    ctor public ConditionVariable();
+    ctor public ConditionVariable(boolean);
+    method public void block();
+    method public boolean block(long);
+    method public void close();
+    method public void open();
+  }
+
+  public abstract class CountDownTimer {
+    ctor public CountDownTimer(long, long);
+    method public final void cancel();
+    method public abstract void onFinish();
+    method public abstract void onTick(long);
+    method public final android.os.CountDownTimer start();
+  }
+
+  public final class CpuUsageInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getActive();
+    method public long getTotal();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.CpuUsageInfo> CREATOR;
+  }
+
+  public class DeadObjectException extends android.os.RemoteException {
+    ctor public DeadObjectException();
+    ctor public DeadObjectException(String);
+  }
+
+  public class DeadSystemException extends android.os.DeadObjectException {
+    ctor public DeadSystemException();
+  }
+
+  public final class Debug {
+    method public static void attachJvmtiAgent(@NonNull String, @Nullable String, @Nullable ClassLoader) throws java.io.IOException;
+    method @Deprecated public static void changeDebugPort(int);
+    method public static void dumpHprofData(String) throws java.io.IOException;
+    method public static boolean dumpService(String, java.io.FileDescriptor, String[]);
+    method public static void enableEmulatorTraceOutput();
+    method public static int getBinderDeathObjectCount();
+    method public static int getBinderLocalObjectCount();
+    method public static int getBinderProxyObjectCount();
+    method public static int getBinderReceivedTransactions();
+    method public static int getBinderSentTransactions();
+    method @Deprecated public static int getGlobalAllocCount();
+    method @Deprecated public static int getGlobalAllocSize();
+    method @Deprecated public static int getGlobalClassInitCount();
+    method @Deprecated public static int getGlobalClassInitTime();
+    method @Deprecated public static int getGlobalExternalAllocCount();
+    method @Deprecated public static int getGlobalExternalAllocSize();
+    method @Deprecated public static int getGlobalExternalFreedCount();
+    method @Deprecated public static int getGlobalExternalFreedSize();
+    method @Deprecated public static int getGlobalFreedCount();
+    method @Deprecated public static int getGlobalFreedSize();
+    method @Deprecated public static int getGlobalGcInvocationCount();
+    method public static int getLoadedClassCount();
+    method public static void getMemoryInfo(android.os.Debug.MemoryInfo);
+    method public static long getNativeHeapAllocatedSize();
+    method public static long getNativeHeapFreeSize();
+    method public static long getNativeHeapSize();
+    method public static long getPss();
+    method public static String getRuntimeStat(String);
+    method public static java.util.Map<java.lang.String,java.lang.String> getRuntimeStats();
+    method @Deprecated public static int getThreadAllocCount();
+    method @Deprecated public static int getThreadAllocSize();
+    method @Deprecated public static int getThreadExternalAllocCount();
+    method @Deprecated public static int getThreadExternalAllocSize();
+    method @Deprecated public static int getThreadGcInvocationCount();
+    method public static boolean isDebuggerConnected();
+    method public static void printLoadedClasses(int);
+    method @Deprecated public static void resetAllCounts();
+    method @Deprecated public static void resetGlobalAllocCount();
+    method @Deprecated public static void resetGlobalAllocSize();
+    method @Deprecated public static void resetGlobalClassInitCount();
+    method @Deprecated public static void resetGlobalClassInitTime();
+    method @Deprecated public static void resetGlobalExternalAllocCount();
+    method @Deprecated public static void resetGlobalExternalAllocSize();
+    method @Deprecated public static void resetGlobalExternalFreedCount();
+    method @Deprecated public static void resetGlobalExternalFreedSize();
+    method @Deprecated public static void resetGlobalFreedCount();
+    method @Deprecated public static void resetGlobalFreedSize();
+    method @Deprecated public static void resetGlobalGcInvocationCount();
+    method @Deprecated public static void resetThreadAllocCount();
+    method @Deprecated public static void resetThreadAllocSize();
+    method @Deprecated public static void resetThreadExternalAllocCount();
+    method @Deprecated public static void resetThreadExternalAllocSize();
+    method @Deprecated public static void resetThreadGcInvocationCount();
+    method @Deprecated public static int setAllocationLimit(int);
+    method @Deprecated public static int setGlobalAllocationLimit(int);
+    method @Deprecated public static void startAllocCounting();
+    method public static void startMethodTracing();
+    method public static void startMethodTracing(String);
+    method public static void startMethodTracing(String, int);
+    method public static void startMethodTracing(String, int, int);
+    method public static void startMethodTracingSampling(String, int, int);
+    method public static void startNativeTracing();
+    method @Deprecated public static void stopAllocCounting();
+    method public static void stopMethodTracing();
+    method public static void stopNativeTracing();
+    method public static long threadCpuTimeNanos();
+    method public static void waitForDebugger();
+    method public static boolean waitingForDebugger();
+    field public static final int SHOW_CLASSLOADER = 2; // 0x2
+    field public static final int SHOW_FULL_DETAIL = 1; // 0x1
+    field public static final int SHOW_INITIALIZED = 4; // 0x4
+    field @Deprecated public static final int TRACE_COUNT_ALLOCS = 1; // 0x1
+  }
+
+  @Deprecated public static class Debug.InstructionCount {
+    ctor @Deprecated public Debug.InstructionCount();
+    method @Deprecated public boolean collect();
+    method @Deprecated public int globalMethodInvocations();
+    method @Deprecated public int globalTotal();
+    method @Deprecated public boolean resetAndStart();
+  }
+
+  public static class Debug.MemoryInfo implements android.os.Parcelable {
+    ctor public Debug.MemoryInfo();
+    method public int describeContents();
+    method public String getMemoryStat(String);
+    method public java.util.Map<java.lang.String,java.lang.String> getMemoryStats();
+    method public int getTotalPrivateClean();
+    method public int getTotalPrivateDirty();
+    method public int getTotalPss();
+    method public int getTotalSharedClean();
+    method public int getTotalSharedDirty();
+    method public int getTotalSwappablePss();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.Debug.MemoryInfo> CREATOR;
+    field public int dalvikPrivateDirty;
+    field public int dalvikPss;
+    field public int dalvikSharedDirty;
+    field public int nativePrivateDirty;
+    field public int nativePss;
+    field public int nativeSharedDirty;
+    field public int otherPrivateDirty;
+    field public int otherPss;
+    field public int otherSharedDirty;
+  }
+
+  public class DropBoxManager {
+    ctor protected DropBoxManager();
+    method public void addData(@NonNull String, @Nullable byte[], int);
+    method public void addFile(@NonNull String, @NonNull java.io.File, int) throws java.io.IOException;
+    method public void addText(@NonNull String, @NonNull String);
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.READ_LOGS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.DropBoxManager.Entry getNextEntry(String, long);
+    method public boolean isTagEnabled(String);
+    field public static final String ACTION_DROPBOX_ENTRY_ADDED = "android.intent.action.DROPBOX_ENTRY_ADDED";
+    field public static final String EXTRA_DROPPED_COUNT = "android.os.extra.DROPPED_COUNT";
+    field public static final String EXTRA_TAG = "tag";
+    field public static final String EXTRA_TIME = "time";
+    field public static final int IS_EMPTY = 1; // 0x1
+    field public static final int IS_GZIPPED = 4; // 0x4
+    field public static final int IS_TEXT = 2; // 0x2
+  }
+
+  public static class DropBoxManager.Entry implements java.io.Closeable android.os.Parcelable {
+    ctor public DropBoxManager.Entry(@NonNull String, long);
+    ctor public DropBoxManager.Entry(@NonNull String, long, @NonNull String);
+    ctor public DropBoxManager.Entry(@NonNull String, long, @Nullable byte[], int);
+    ctor public DropBoxManager.Entry(@NonNull String, long, @Nullable android.os.ParcelFileDescriptor, int);
+    ctor public DropBoxManager.Entry(@NonNull String, long, @NonNull java.io.File, int) throws java.io.IOException;
+    method public void close();
+    method public int describeContents();
+    method public int getFlags();
+    method @Nullable public java.io.InputStream getInputStream() throws java.io.IOException;
+    method @NonNull public String getTag();
+    method @Nullable public String getText(int);
+    method public long getTimeMillis();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.DropBoxManager.Entry> CREATOR;
+  }
+
+  public class Environment {
+    ctor public Environment();
+    method public static java.io.File getDataDirectory();
+    method public static java.io.File getDownloadCacheDirectory();
+    method public static java.io.File getExternalStorageDirectory();
+    method public static java.io.File getExternalStoragePublicDirectory(String);
+    method public static String getExternalStorageState();
+    method public static String getExternalStorageState(java.io.File);
+    method @NonNull public static java.io.File getRootDirectory();
+    method @NonNull public static java.io.File getStorageDirectory();
+    method @Deprecated public static String getStorageState(java.io.File);
+    method public static boolean isExternalStorageEmulated();
+    method public static boolean isExternalStorageEmulated(@NonNull java.io.File);
+    method public static boolean isExternalStorageLegacy();
+    method public static boolean isExternalStorageLegacy(@NonNull java.io.File);
+    method public static boolean isExternalStorageManager();
+    method public static boolean isExternalStorageManager(@NonNull java.io.File);
+    method public static boolean isExternalStorageRemovable();
+    method public static boolean isExternalStorageRemovable(@NonNull java.io.File);
+    field public static String DIRECTORY_ALARMS;
+    field public static String DIRECTORY_AUDIOBOOKS;
+    field public static String DIRECTORY_DCIM;
+    field public static String DIRECTORY_DOCUMENTS;
+    field public static String DIRECTORY_DOWNLOADS;
+    field public static String DIRECTORY_MOVIES;
+    field public static String DIRECTORY_MUSIC;
+    field public static String DIRECTORY_NOTIFICATIONS;
+    field public static String DIRECTORY_PICTURES;
+    field public static String DIRECTORY_PODCASTS;
+    field @NonNull public static String DIRECTORY_RECORDINGS;
+    field public static String DIRECTORY_RINGTONES;
+    field public static String DIRECTORY_SCREENSHOTS;
+    field public static final String MEDIA_BAD_REMOVAL = "bad_removal";
+    field public static final String MEDIA_CHECKING = "checking";
+    field public static final String MEDIA_EJECTING = "ejecting";
+    field public static final String MEDIA_MOUNTED = "mounted";
+    field public static final String MEDIA_MOUNTED_READ_ONLY = "mounted_ro";
+    field public static final String MEDIA_NOFS = "nofs";
+    field public static final String MEDIA_REMOVED = "removed";
+    field public static final String MEDIA_SHARED = "shared";
+    field public static final String MEDIA_UNKNOWN = "unknown";
+    field public static final String MEDIA_UNMOUNTABLE = "unmountable";
+    field public static final String MEDIA_UNMOUNTED = "unmounted";
+  }
+
+  public abstract class FileObserver {
+    ctor @Deprecated public FileObserver(String);
+    ctor public FileObserver(@NonNull java.io.File);
+    ctor public FileObserver(@NonNull java.util.List<java.io.File>);
+    ctor @Deprecated public FileObserver(String, int);
+    ctor public FileObserver(@NonNull java.io.File, int);
+    ctor public FileObserver(@NonNull java.util.List<java.io.File>, int);
+    method protected void finalize();
+    method public abstract void onEvent(int, @Nullable String);
+    method public void startWatching();
+    method public void stopWatching();
+    field public static final int ACCESS = 1; // 0x1
+    field public static final int ALL_EVENTS = 4095; // 0xfff
+    field public static final int ATTRIB = 4; // 0x4
+    field public static final int CLOSE_NOWRITE = 16; // 0x10
+    field public static final int CLOSE_WRITE = 8; // 0x8
+    field public static final int CREATE = 256; // 0x100
+    field public static final int DELETE = 512; // 0x200
+    field public static final int DELETE_SELF = 1024; // 0x400
+    field public static final int MODIFY = 2; // 0x2
+    field public static final int MOVED_FROM = 64; // 0x40
+    field public static final int MOVED_TO = 128; // 0x80
+    field public static final int MOVE_SELF = 2048; // 0x800
+    field public static final int OPEN = 32; // 0x20
+  }
+
+  public class FileUriExposedException extends java.lang.RuntimeException {
+    ctor public FileUriExposedException(String);
+  }
+
+  public final class FileUtils {
+    method @Deprecated public static void closeQuietly(@Nullable AutoCloseable);
+    method @Deprecated public static void closeQuietly(@Nullable java.io.FileDescriptor);
+    method public static long copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream) throws java.io.IOException;
+    method public static long copy(@NonNull java.io.InputStream, @NonNull java.io.OutputStream, @Nullable android.os.CancellationSignal, @Nullable java.util.concurrent.Executor, @Nullable android.os.FileUtils.ProgressListener) throws java.io.IOException;
+    method public static long copy(@NonNull java.io.FileDescriptor, @NonNull java.io.FileDescriptor) throws java.io.IOException;
+    method public static long copy(@NonNull java.io.FileDescriptor, @NonNull java.io.FileDescriptor, @Nullable android.os.CancellationSignal, @Nullable java.util.concurrent.Executor, @Nullable android.os.FileUtils.ProgressListener) throws java.io.IOException;
+  }
+
+  public static interface FileUtils.ProgressListener {
+    method public void onProgress(long);
+  }
+
+  public class Handler {
+    ctor @Deprecated public Handler();
+    ctor @Deprecated public Handler(@Nullable android.os.Handler.Callback);
+    ctor public Handler(@NonNull android.os.Looper);
+    ctor public Handler(@NonNull android.os.Looper, @Nullable android.os.Handler.Callback);
+    method @NonNull public static android.os.Handler createAsync(@NonNull android.os.Looper);
+    method @NonNull public static android.os.Handler createAsync(@NonNull android.os.Looper, @NonNull android.os.Handler.Callback);
+    method public void dispatchMessage(@NonNull android.os.Message);
+    method public final void dump(@NonNull android.util.Printer, @NonNull String);
+    method @NonNull public final android.os.Looper getLooper();
+    method @NonNull public String getMessageName(@NonNull android.os.Message);
+    method public void handleMessage(@NonNull android.os.Message);
+    method public final boolean hasCallbacks(@NonNull Runnable);
+    method public final boolean hasMessages(int);
+    method public final boolean hasMessages(int, @Nullable Object);
+    method @NonNull public final android.os.Message obtainMessage();
+    method @NonNull public final android.os.Message obtainMessage(int);
+    method @NonNull public final android.os.Message obtainMessage(int, @Nullable Object);
+    method @NonNull public final android.os.Message obtainMessage(int, int, int);
+    method @NonNull public final android.os.Message obtainMessage(int, int, int, @Nullable Object);
+    method public final boolean post(@NonNull Runnable);
+    method public final boolean postAtFrontOfQueue(@NonNull Runnable);
+    method public final boolean postAtTime(@NonNull Runnable, long);
+    method public final boolean postAtTime(@NonNull Runnable, @Nullable Object, long);
+    method public final boolean postDelayed(@NonNull Runnable, long);
+    method public final boolean postDelayed(@NonNull Runnable, @Nullable Object, long);
+    method public final void removeCallbacks(@NonNull Runnable);
+    method public final void removeCallbacks(@NonNull Runnable, @Nullable Object);
+    method public final void removeCallbacksAndMessages(@Nullable Object);
+    method public final void removeMessages(int);
+    method public final void removeMessages(int, @Nullable Object);
+    method public final boolean sendEmptyMessage(int);
+    method public final boolean sendEmptyMessageAtTime(int, long);
+    method public final boolean sendEmptyMessageDelayed(int, long);
+    method public final boolean sendMessage(@NonNull android.os.Message);
+    method public final boolean sendMessageAtFrontOfQueue(@NonNull android.os.Message);
+    method public boolean sendMessageAtTime(@NonNull android.os.Message, long);
+    method public final boolean sendMessageDelayed(@NonNull android.os.Message, long);
+  }
+
+  public static interface Handler.Callback {
+    method public boolean handleMessage(@NonNull android.os.Message);
+  }
+
+  public class HandlerThread extends java.lang.Thread {
+    ctor public HandlerThread(String);
+    ctor public HandlerThread(String, int);
+    method public android.os.Looper getLooper();
+    method public int getThreadId();
+    method protected void onLooperPrepared();
+    method public boolean quit();
+    method public boolean quitSafely();
+  }
+
+  public class HardwarePropertiesManager {
+    method @NonNull public android.os.CpuUsageInfo[] getCpuUsages();
+    method @NonNull public float[] getDeviceTemperatures(int, int);
+    method @NonNull public float[] getFanSpeeds();
+    field public static final int DEVICE_TEMPERATURE_BATTERY = 2; // 0x2
+    field public static final int DEVICE_TEMPERATURE_CPU = 0; // 0x0
+    field public static final int DEVICE_TEMPERATURE_GPU = 1; // 0x1
+    field public static final int DEVICE_TEMPERATURE_SKIN = 3; // 0x3
+    field public static final int TEMPERATURE_CURRENT = 0; // 0x0
+    field public static final int TEMPERATURE_SHUTDOWN = 2; // 0x2
+    field public static final int TEMPERATURE_THROTTLING = 1; // 0x1
+    field public static final int TEMPERATURE_THROTTLING_BELOW_VR_MIN = 3; // 0x3
+    field public static final float UNDEFINED_TEMPERATURE = -3.4028235E38f;
+  }
+
+  public interface IBinder {
+    method public void dump(@NonNull java.io.FileDescriptor, @Nullable String[]) throws android.os.RemoteException;
+    method public void dumpAsync(@NonNull java.io.FileDescriptor, @Nullable String[]) throws android.os.RemoteException;
+    method @Nullable public String getInterfaceDescriptor() throws android.os.RemoteException;
+    method public static int getSuggestedMaxIpcSizeBytes();
+    method public boolean isBinderAlive();
+    method public void linkToDeath(@NonNull android.os.IBinder.DeathRecipient, int) throws android.os.RemoteException;
+    method public boolean pingBinder();
+    method @Nullable public android.os.IInterface queryLocalInterface(@NonNull String);
+    method public boolean transact(int, @NonNull android.os.Parcel, @Nullable android.os.Parcel, int) throws android.os.RemoteException;
+    method public boolean unlinkToDeath(@NonNull android.os.IBinder.DeathRecipient, int);
+    field public static final int DUMP_TRANSACTION = 1598311760; // 0x5f444d50
+    field public static final int FIRST_CALL_TRANSACTION = 1; // 0x1
+    field public static final int FLAG_ONEWAY = 1; // 0x1
+    field public static final int INTERFACE_TRANSACTION = 1598968902; // 0x5f4e5446
+    field public static final int LAST_CALL_TRANSACTION = 16777215; // 0xffffff
+    field public static final int LIKE_TRANSACTION = 1598835019; // 0x5f4c494b
+    field public static final int PING_TRANSACTION = 1599098439; // 0x5f504e47
+    field public static final int TWEET_TRANSACTION = 1599362900; // 0x5f545754
+  }
+
+  public static interface IBinder.DeathRecipient {
+    method public void binderDied();
+  }
+
+  public interface IInterface {
+    method public android.os.IBinder asBinder();
+  }
+
+  public class LimitExceededException extends java.lang.IllegalStateException {
+    ctor public LimitExceededException();
+    ctor public LimitExceededException(@NonNull String);
+  }
+
+  public final class LocaleList implements android.os.Parcelable {
+    ctor public LocaleList(@NonNull java.util.Locale...);
+    method public int describeContents();
+    method @NonNull public static android.os.LocaleList forLanguageTags(@Nullable String);
+    method public java.util.Locale get(int);
+    method @NonNull @Size(min=1) public static android.os.LocaleList getAdjustedDefault();
+    method @NonNull @Size(min=1) public static android.os.LocaleList getDefault();
+    method @NonNull public static android.os.LocaleList getEmptyLocaleList();
+    method @Nullable public java.util.Locale getFirstMatch(String[]);
+    method @IntRange(from=0xffffffff) public int indexOf(java.util.Locale);
+    method public boolean isEmpty();
+    method public static boolean isPseudoLocale(@Nullable android.icu.util.ULocale);
+    method public static void setDefault(@NonNull @Size(min=1) android.os.LocaleList);
+    method @IntRange(from=0) public int size();
+    method @NonNull public String toLanguageTags();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.LocaleList> CREATOR;
+  }
+
+  public final class Looper {
+    method public void dump(@NonNull android.util.Printer, @NonNull String);
+    method public static android.os.Looper getMainLooper();
+    method @NonNull public android.os.MessageQueue getQueue();
+    method @NonNull public Thread getThread();
+    method public boolean isCurrentThread();
+    method public static void loop();
+    method @Nullable public static android.os.Looper myLooper();
+    method @NonNull public static android.os.MessageQueue myQueue();
+    method public static void prepare();
+    method @Deprecated public static void prepareMainLooper();
+    method public void quit();
+    method public void quitSafely();
+    method public void setMessageLogging(@Nullable android.util.Printer);
+  }
+
+  public class MemoryFile {
+    ctor public MemoryFile(String, int) throws java.io.IOException;
+    method @Deprecated public boolean allowPurging(boolean) throws java.io.IOException;
+    method public void close();
+    method public java.io.InputStream getInputStream();
+    method public java.io.OutputStream getOutputStream();
+    method @Deprecated public boolean isPurgingAllowed();
+    method public int length();
+    method public int readBytes(byte[], int, int, int) throws java.io.IOException;
+    method public void writeBytes(byte[], int, int, int) throws java.io.IOException;
+  }
+
+  public final class Message implements android.os.Parcelable {
+    ctor public Message();
+    method public void copyFrom(android.os.Message);
+    method public int describeContents();
+    method public Runnable getCallback();
+    method public android.os.Bundle getData();
+    method public android.os.Handler getTarget();
+    method public long getWhen();
+    method public boolean isAsynchronous();
+    method public static android.os.Message obtain();
+    method public static android.os.Message obtain(android.os.Message);
+    method public static android.os.Message obtain(android.os.Handler);
+    method public static android.os.Message obtain(android.os.Handler, Runnable);
+    method public static android.os.Message obtain(android.os.Handler, int);
+    method public static android.os.Message obtain(android.os.Handler, int, Object);
+    method public static android.os.Message obtain(android.os.Handler, int, int, int);
+    method public static android.os.Message obtain(android.os.Handler, int, int, int, Object);
+    method public android.os.Bundle peekData();
+    method public void recycle();
+    method public void sendToTarget();
+    method public void setAsynchronous(boolean);
+    method public void setData(android.os.Bundle);
+    method public void setTarget(android.os.Handler);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.Message> CREATOR;
+    field public int arg1;
+    field public int arg2;
+    field public Object obj;
+    field public android.os.Messenger replyTo;
+    field public int sendingUid;
+    field public int what;
+  }
+
+  public final class MessageQueue {
+    method public void addIdleHandler(@NonNull android.os.MessageQueue.IdleHandler);
+    method public void addOnFileDescriptorEventListener(@NonNull java.io.FileDescriptor, int, @NonNull android.os.MessageQueue.OnFileDescriptorEventListener);
+    method public boolean isIdle();
+    method public void removeIdleHandler(@NonNull android.os.MessageQueue.IdleHandler);
+    method public void removeOnFileDescriptorEventListener(@NonNull java.io.FileDescriptor);
+  }
+
+  public static interface MessageQueue.IdleHandler {
+    method public boolean queueIdle();
+  }
+
+  public static interface MessageQueue.OnFileDescriptorEventListener {
+    method public int onFileDescriptorEvents(@NonNull java.io.FileDescriptor, int);
+    field public static final int EVENT_ERROR = 4; // 0x4
+    field public static final int EVENT_INPUT = 1; // 0x1
+    field public static final int EVENT_OUTPUT = 2; // 0x2
+  }
+
+  public final class Messenger implements android.os.Parcelable {
+    ctor public Messenger(android.os.Handler);
+    ctor public Messenger(android.os.IBinder);
+    method public int describeContents();
+    method public android.os.IBinder getBinder();
+    method public static android.os.Messenger readMessengerOrNullFromParcel(android.os.Parcel);
+    method public void send(android.os.Message) throws android.os.RemoteException;
+    method public static void writeMessengerOrNullToParcel(android.os.Messenger, android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.Messenger> CREATOR;
+  }
+
+  public class NetworkOnMainThreadException extends java.lang.RuntimeException {
+    ctor public NetworkOnMainThreadException();
+  }
+
+  public class OperationCanceledException extends java.lang.RuntimeException {
+    ctor public OperationCanceledException();
+    ctor public OperationCanceledException(String);
+  }
+
+  public interface OutcomeReceiver<R, E extends java.lang.Throwable> {
+    method public default void onError(@NonNull E);
+    method public void onResult(@NonNull R);
+  }
+
+  public final class Parcel {
+    method public void appendFrom(android.os.Parcel, int, int);
+    method @Nullable public android.os.IBinder[] createBinderArray();
+    method @Nullable public java.util.ArrayList<android.os.IBinder> createBinderArrayList();
+    method @Nullable public boolean[] createBooleanArray();
+    method @Nullable public byte[] createByteArray();
+    method @Nullable public char[] createCharArray();
+    method @Nullable public double[] createDoubleArray();
+    method @Nullable public float[] createFloatArray();
+    method @Nullable public int[] createIntArray();
+    method @Nullable public long[] createLongArray();
+    method @Nullable public String[] createStringArray();
+    method @Nullable public java.util.ArrayList<java.lang.String> createStringArrayList();
+    method @Nullable public <T> T[] createTypedArray(@NonNull android.os.Parcelable.Creator<T>);
+    method @Nullable public <T> java.util.ArrayList<T> createTypedArrayList(@NonNull android.os.Parcelable.Creator<T>);
+    method @Nullable public <T extends android.os.Parcelable> android.util.ArrayMap<java.lang.String,T> createTypedArrayMap(@NonNull android.os.Parcelable.Creator<T>);
+    method @Nullable public <T extends android.os.Parcelable> android.util.SparseArray<T> createTypedSparseArray(@NonNull android.os.Parcelable.Creator<T>);
+    method public int dataAvail();
+    method public int dataCapacity();
+    method public int dataPosition();
+    method public int dataSize();
+    method public void enforceInterface(@NonNull String);
+    method public boolean hasFileDescriptors();
+    method public byte[] marshall();
+    method @NonNull public static android.os.Parcel obtain();
+    method @Nullable public Object[] readArray(@Nullable ClassLoader);
+    method @Nullable public java.util.ArrayList readArrayList(@Nullable ClassLoader);
+    method public void readBinderArray(@NonNull android.os.IBinder[]);
+    method public void readBinderList(@NonNull java.util.List<android.os.IBinder>);
+    method public boolean readBoolean();
+    method public void readBooleanArray(@NonNull boolean[]);
+    method @Nullable public android.os.Bundle readBundle();
+    method @Nullable public android.os.Bundle readBundle(@Nullable ClassLoader);
+    method public byte readByte();
+    method public void readByteArray(@NonNull byte[]);
+    method public void readCharArray(@NonNull char[]);
+    method public double readDouble();
+    method public void readDoubleArray(@NonNull double[]);
+    method public void readException();
+    method public void readException(int, String);
+    method public android.os.ParcelFileDescriptor readFileDescriptor();
+    method public float readFloat();
+    method public void readFloatArray(@NonNull float[]);
+    method @Nullable public java.util.HashMap readHashMap(@Nullable ClassLoader);
+    method public int readInt();
+    method public void readIntArray(@NonNull int[]);
+    method public void readList(@NonNull java.util.List, @Nullable ClassLoader);
+    method public long readLong();
+    method public void readLongArray(@NonNull long[]);
+    method public void readMap(@NonNull java.util.Map, @Nullable ClassLoader);
+    method @Nullable public <T extends android.os.Parcelable> T readParcelable(@Nullable ClassLoader);
+    method @Nullable public android.os.Parcelable[] readParcelableArray(@Nullable ClassLoader);
+    method @Nullable public android.os.Parcelable.Creator<?> readParcelableCreator(@Nullable ClassLoader);
+    method @NonNull public <T extends android.os.Parcelable> java.util.List<T> readParcelableList(@NonNull java.util.List<T>, @Nullable ClassLoader);
+    method @Nullable public android.os.PersistableBundle readPersistableBundle();
+    method @Nullable public android.os.PersistableBundle readPersistableBundle(@Nullable ClassLoader);
+    method @Nullable public java.io.Serializable readSerializable();
+    method @NonNull public android.util.Size readSize();
+    method @NonNull public android.util.SizeF readSizeF();
+    method @Nullable public <T> android.util.SparseArray<T> readSparseArray(@Nullable ClassLoader);
+    method @Nullable public android.util.SparseBooleanArray readSparseBooleanArray();
+    method @Nullable public String readString();
+    method public void readStringArray(@NonNull String[]);
+    method public void readStringList(@NonNull java.util.List<java.lang.String>);
+    method public android.os.IBinder readStrongBinder();
+    method public <T> void readTypedArray(@NonNull T[], @NonNull android.os.Parcelable.Creator<T>);
+    method public <T> void readTypedList(@NonNull java.util.List<T>, @NonNull android.os.Parcelable.Creator<T>);
+    method @Nullable public <T> T readTypedObject(@NonNull android.os.Parcelable.Creator<T>);
+    method @Nullable public Object readValue(@Nullable ClassLoader);
+    method public void recycle();
+    method public void setDataCapacity(int);
+    method public void setDataPosition(int);
+    method public void setDataSize(int);
+    method public void unmarshall(@NonNull byte[], int, int);
+    method public void writeArray(@Nullable Object[]);
+    method public void writeBinderArray(@Nullable android.os.IBinder[]);
+    method public void writeBinderList(@Nullable java.util.List<android.os.IBinder>);
+    method public void writeBoolean(boolean);
+    method public void writeBooleanArray(@Nullable boolean[]);
+    method public void writeBundle(@Nullable android.os.Bundle);
+    method public void writeByte(byte);
+    method public void writeByteArray(@Nullable byte[]);
+    method public void writeByteArray(@Nullable byte[], int, int);
+    method public void writeCharArray(@Nullable char[]);
+    method public void writeDouble(double);
+    method public void writeDoubleArray(@Nullable double[]);
+    method public void writeException(@NonNull Exception);
+    method public void writeFileDescriptor(@NonNull java.io.FileDescriptor);
+    method public void writeFloat(float);
+    method public void writeFloatArray(@Nullable float[]);
+    method public void writeInt(int);
+    method public void writeIntArray(@Nullable int[]);
+    method public void writeInterfaceToken(@NonNull String);
+    method public void writeList(@Nullable java.util.List);
+    method public void writeLong(long);
+    method public void writeLongArray(@Nullable long[]);
+    method public void writeMap(@Nullable java.util.Map);
+    method public void writeNoException();
+    method public void writeParcelable(@Nullable android.os.Parcelable, int);
+    method public <T extends android.os.Parcelable> void writeParcelableArray(@Nullable T[], int);
+    method public void writeParcelableCreator(@NonNull android.os.Parcelable);
+    method public <T extends android.os.Parcelable> void writeParcelableList(@Nullable java.util.List<T>, int);
+    method public void writePersistableBundle(@Nullable android.os.PersistableBundle);
+    method public void writeSerializable(@Nullable java.io.Serializable);
+    method public void writeSize(@NonNull android.util.Size);
+    method public void writeSizeF(@NonNull android.util.SizeF);
+    method public <T> void writeSparseArray(@Nullable android.util.SparseArray<T>);
+    method public void writeSparseBooleanArray(@Nullable android.util.SparseBooleanArray);
+    method public void writeString(@Nullable String);
+    method public void writeStringArray(@Nullable String[]);
+    method public void writeStringList(@Nullable java.util.List<java.lang.String>);
+    method public void writeStrongBinder(android.os.IBinder);
+    method public void writeStrongInterface(android.os.IInterface);
+    method public <T extends android.os.Parcelable> void writeTypedArray(@Nullable T[], int);
+    method public <T extends android.os.Parcelable> void writeTypedArrayMap(@Nullable android.util.ArrayMap<java.lang.String,T>, int);
+    method public <T extends android.os.Parcelable> void writeTypedList(@Nullable java.util.List<T>);
+    method public <T extends android.os.Parcelable> void writeTypedObject(@Nullable T, int);
+    method public <T extends android.os.Parcelable> void writeTypedSparseArray(@Nullable android.util.SparseArray<T>, int);
+    method public void writeValue(@Nullable Object);
+    field public static final android.os.Parcelable.Creator<java.lang.String> STRING_CREATOR;
+  }
+
+  public class ParcelFileDescriptor implements java.io.Closeable android.os.Parcelable {
+    ctor public ParcelFileDescriptor(android.os.ParcelFileDescriptor);
+    method public static android.os.ParcelFileDescriptor adoptFd(int);
+    method public boolean canDetectErrors();
+    method public void checkError() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void closeWithError(String) throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor[] createPipe() throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor[] createReliablePipe() throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor[] createReliableSocketPair() throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor[] createSocketPair() throws java.io.IOException;
+    method public int describeContents();
+    method public int detachFd();
+    method public static android.os.ParcelFileDescriptor dup(java.io.FileDescriptor) throws java.io.IOException;
+    method public android.os.ParcelFileDescriptor dup() throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor fromDatagramSocket(java.net.DatagramSocket);
+    method public static android.os.ParcelFileDescriptor fromFd(int) throws java.io.IOException;
+    method public static android.os.ParcelFileDescriptor fromSocket(java.net.Socket);
+    method public int getFd();
+    method public java.io.FileDescriptor getFileDescriptor();
+    method public long getStatSize();
+    method public static android.os.ParcelFileDescriptor open(java.io.File, int) throws java.io.FileNotFoundException;
+    method public static android.os.ParcelFileDescriptor open(java.io.File, int, android.os.Handler, android.os.ParcelFileDescriptor.OnCloseListener) throws java.io.IOException;
+    method public static int parseMode(String);
+    method @NonNull public static android.os.ParcelFileDescriptor wrap(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.Handler, @NonNull android.os.ParcelFileDescriptor.OnCloseListener) throws java.io.IOException;
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelFileDescriptor> CREATOR;
+    field public static final int MODE_APPEND = 33554432; // 0x2000000
+    field public static final int MODE_CREATE = 134217728; // 0x8000000
+    field public static final int MODE_READ_ONLY = 268435456; // 0x10000000
+    field public static final int MODE_READ_WRITE = 805306368; // 0x30000000
+    field public static final int MODE_TRUNCATE = 67108864; // 0x4000000
+    field @Deprecated public static final int MODE_WORLD_READABLE = 1; // 0x1
+    field @Deprecated public static final int MODE_WORLD_WRITEABLE = 2; // 0x2
+    field public static final int MODE_WRITE_ONLY = 536870912; // 0x20000000
+  }
+
+  public static class ParcelFileDescriptor.AutoCloseInputStream extends java.io.FileInputStream {
+    ctor public ParcelFileDescriptor.AutoCloseInputStream(android.os.ParcelFileDescriptor);
+  }
+
+  public static class ParcelFileDescriptor.AutoCloseOutputStream extends java.io.FileOutputStream {
+    ctor public ParcelFileDescriptor.AutoCloseOutputStream(android.os.ParcelFileDescriptor);
+  }
+
+  public static class ParcelFileDescriptor.FileDescriptorDetachedException extends java.io.IOException {
+    ctor public ParcelFileDescriptor.FileDescriptorDetachedException();
+  }
+
+  public static interface ParcelFileDescriptor.OnCloseListener {
+    method public void onClose(java.io.IOException);
+  }
+
+  public class ParcelFormatException extends java.lang.RuntimeException {
+    ctor public ParcelFormatException();
+    ctor public ParcelFormatException(String);
+  }
+
+  public final class ParcelUuid implements android.os.Parcelable {
+    ctor public ParcelUuid(java.util.UUID);
+    method public int describeContents();
+    method public static android.os.ParcelUuid fromString(String);
+    method public java.util.UUID getUuid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelUuid> CREATOR;
+  }
+
+  public interface Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CONTENTS_FILE_DESCRIPTOR = 1; // 0x1
+    field public static final int PARCELABLE_WRITE_RETURN_VALUE = 1; // 0x1
+  }
+
+  public static interface Parcelable.ClassLoaderCreator<T> extends android.os.Parcelable.Creator<T> {
+    method public T createFromParcel(android.os.Parcel, ClassLoader);
+  }
+
+  public static interface Parcelable.Creator<T> {
+    method public T createFromParcel(android.os.Parcel);
+    method public T[] newArray(int);
+  }
+
+  public class PatternMatcher implements android.os.Parcelable {
+    ctor public PatternMatcher(String, int);
+    ctor public PatternMatcher(android.os.Parcel);
+    method public int describeContents();
+    method public final String getPath();
+    method public final int getType();
+    method public boolean match(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.PatternMatcher> CREATOR;
+    field public static final int PATTERN_ADVANCED_GLOB = 3; // 0x3
+    field public static final int PATTERN_LITERAL = 0; // 0x0
+    field public static final int PATTERN_PREFIX = 1; // 0x1
+    field public static final int PATTERN_SIMPLE_GLOB = 2; // 0x2
+    field public static final int PATTERN_SUFFIX = 4; // 0x4
+  }
+
+  public final class PerformanceHintManager {
+    method @Nullable public android.os.PerformanceHintManager.Session createHintSession(@NonNull int[], long);
+    method public long getPreferredUpdateRateNanos();
+  }
+
+  public static class PerformanceHintManager.Session implements java.io.Closeable {
+    method public void close();
+    method public void reportActualWorkDuration(long);
+    method public void updateTargetWorkDuration(long);
+  }
+
+  public final class PersistableBundle extends android.os.BaseBundle implements java.lang.Cloneable android.os.Parcelable {
+    ctor public PersistableBundle();
+    ctor public PersistableBundle(int);
+    ctor public PersistableBundle(android.os.PersistableBundle);
+    method public Object clone();
+    method public android.os.PersistableBundle deepCopy();
+    method public int describeContents();
+    method @Nullable public android.os.PersistableBundle getPersistableBundle(@Nullable String);
+    method public void putPersistableBundle(@Nullable String, @Nullable android.os.PersistableBundle);
+    method @NonNull public static android.os.PersistableBundle readFromStream(@NonNull java.io.InputStream) throws java.io.IOException;
+    method public void writeToParcel(android.os.Parcel, int);
+    method public void writeToStream(@NonNull java.io.OutputStream) throws java.io.IOException;
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.PersistableBundle> CREATOR;
+    field public static final android.os.PersistableBundle EMPTY;
+  }
+
+  public final class PowerManager {
+    method public void addThermalStatusListener(@NonNull android.os.PowerManager.OnThermalStatusChangedListener);
+    method public void addThermalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.PowerManager.OnThermalStatusChangedListener);
+    method @Nullable public java.time.Duration getBatteryDischargePrediction();
+    method public int getCurrentThermalStatus();
+    method public int getLocationPowerSaveMode();
+    method public float getThermalHeadroom(@IntRange(from=0, to=60) int);
+    method public boolean isBatteryDischargePredictionPersonalized();
+    method public boolean isDeviceIdleMode();
+    method public boolean isIgnoringBatteryOptimizations(String);
+    method public boolean isInteractive();
+    method public boolean isPowerSaveMode();
+    method public boolean isRebootingUserspaceSupported();
+    method @Deprecated public boolean isScreenOn();
+    method public boolean isSustainedPerformanceModeSupported();
+    method public boolean isWakeLockLevelSupported(int);
+    method public android.os.PowerManager.WakeLock newWakeLock(int, String);
+    method @RequiresPermission(android.Manifest.permission.REBOOT) public void reboot(@Nullable String);
+    method public void removeThermalStatusListener(@NonNull android.os.PowerManager.OnThermalStatusChangedListener);
+    field public static final int ACQUIRE_CAUSES_WAKEUP = 268435456; // 0x10000000
+    field public static final String ACTION_DEVICE_IDLE_MODE_CHANGED = "android.os.action.DEVICE_IDLE_MODE_CHANGED";
+    field public static final String ACTION_POWER_SAVE_MODE_CHANGED = "android.os.action.POWER_SAVE_MODE_CHANGED";
+    field @Deprecated public static final int FULL_WAKE_LOCK = 26; // 0x1a
+    field public static final int LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF = 2; // 0x2
+    field public static final int LOCATION_MODE_FOREGROUND_ONLY = 3; // 0x3
+    field public static final int LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF = 1; // 0x1
+    field public static final int LOCATION_MODE_NO_CHANGE = 0; // 0x0
+    field public static final int LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF = 4; // 0x4
+    field public static final int ON_AFTER_RELEASE = 536870912; // 0x20000000
+    field public static final int PARTIAL_WAKE_LOCK = 1; // 0x1
+    field public static final int PROXIMITY_SCREEN_OFF_WAKE_LOCK = 32; // 0x20
+    field public static final int RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY = 1; // 0x1
+    field @Deprecated public static final int SCREEN_BRIGHT_WAKE_LOCK = 10; // 0xa
+    field @Deprecated public static final int SCREEN_DIM_WAKE_LOCK = 6; // 0x6
+    field public static final int THERMAL_STATUS_CRITICAL = 4; // 0x4
+    field public static final int THERMAL_STATUS_EMERGENCY = 5; // 0x5
+    field public static final int THERMAL_STATUS_LIGHT = 1; // 0x1
+    field public static final int THERMAL_STATUS_MODERATE = 2; // 0x2
+    field public static final int THERMAL_STATUS_NONE = 0; // 0x0
+    field public static final int THERMAL_STATUS_SEVERE = 3; // 0x3
+    field public static final int THERMAL_STATUS_SHUTDOWN = 6; // 0x6
+  }
+
+  public static interface PowerManager.OnThermalStatusChangedListener {
+    method public void onThermalStatusChanged(int);
+  }
+
+  public final class PowerManager.WakeLock {
+    method public void acquire();
+    method public void acquire(long);
+    method public boolean isHeld();
+    method public void release();
+    method public void release(int);
+    method public void setReferenceCounted(boolean);
+    method public void setWorkSource(android.os.WorkSource);
+  }
+
+  public class Process {
+    ctor public Process();
+    method public static final long getElapsedCpuTime();
+    method public static final int[] getExclusiveCores();
+    method public static final int getGidForName(String);
+    method public static final long getStartElapsedRealtime();
+    method public static final long getStartUptimeMillis();
+    method public static final int getThreadPriority(int) throws java.lang.IllegalArgumentException;
+    method public static final int getUidForName(String);
+    method public static final boolean is64Bit();
+    method public static boolean isApplicationUid(int);
+    method public static final boolean isIsolated();
+    method public static final void killProcess(int);
+    method public static final int myPid();
+    method public static final int myTid();
+    method public static final int myUid();
+    method public static android.os.UserHandle myUserHandle();
+    method public static final void sendSignal(int, int);
+    method public static final void setThreadPriority(int, int) throws java.lang.IllegalArgumentException, java.lang.SecurityException;
+    method public static final void setThreadPriority(int) throws java.lang.IllegalArgumentException, java.lang.SecurityException;
+    method @Deprecated public static final boolean supportsProcesses();
+    field public static final int BLUETOOTH_UID = 1002; // 0x3ea
+    field public static final int FIRST_APPLICATION_UID = 10000; // 0x2710
+    field public static final int INVALID_UID = -1; // 0xffffffff
+    field public static final int LAST_APPLICATION_UID = 19999; // 0x4e1f
+    field public static final int PHONE_UID = 1001; // 0x3e9
+    field public static final int ROOT_UID = 0; // 0x0
+    field public static final int SHELL_UID = 2000; // 0x7d0
+    field public static final int SIGNAL_KILL = 9; // 0x9
+    field public static final int SIGNAL_QUIT = 3; // 0x3
+    field public static final int SIGNAL_USR1 = 10; // 0xa
+    field public static final int SYSTEM_UID = 1000; // 0x3e8
+    field public static final int THREAD_PRIORITY_AUDIO = -16; // 0xfffffff0
+    field public static final int THREAD_PRIORITY_BACKGROUND = 10; // 0xa
+    field public static final int THREAD_PRIORITY_DEFAULT = 0; // 0x0
+    field public static final int THREAD_PRIORITY_DISPLAY = -4; // 0xfffffffc
+    field public static final int THREAD_PRIORITY_FOREGROUND = -2; // 0xfffffffe
+    field public static final int THREAD_PRIORITY_LESS_FAVORABLE = 1; // 0x1
+    field public static final int THREAD_PRIORITY_LOWEST = 19; // 0x13
+    field public static final int THREAD_PRIORITY_MORE_FAVORABLE = -1; // 0xffffffff
+    field public static final int THREAD_PRIORITY_URGENT_AUDIO = -19; // 0xffffffed
+    field public static final int THREAD_PRIORITY_URGENT_DISPLAY = -8; // 0xfffffff8
+    field public static final int THREAD_PRIORITY_VIDEO = -10; // 0xfffffff6
+    field public static final int WIFI_UID = 1010; // 0x3f2
+  }
+
+  public abstract class ProxyFileDescriptorCallback {
+    ctor public ProxyFileDescriptorCallback();
+    method public void onFsync() throws android.system.ErrnoException;
+    method public long onGetSize() throws android.system.ErrnoException;
+    method public int onRead(long, int, byte[]) throws android.system.ErrnoException;
+    method public abstract void onRelease();
+    method public int onWrite(long, int, byte[]) throws android.system.ErrnoException;
+  }
+
+  public class RecoverySystem {
+    method @RequiresPermission("android.permission.RECOVERY") public static void installPackage(android.content.Context, java.io.File) throws java.io.IOException;
+    method public static void rebootWipeCache(android.content.Context) throws java.io.IOException;
+    method public static void rebootWipeUserData(android.content.Context) throws java.io.IOException;
+    method public static void verifyPackage(java.io.File, android.os.RecoverySystem.ProgressListener, java.io.File) throws java.security.GeneralSecurityException, java.io.IOException;
+  }
+
+  public static interface RecoverySystem.ProgressListener {
+    method public void onProgress(int);
+  }
+
+  public class RemoteCallbackList<E extends android.os.IInterface> {
+    ctor public RemoteCallbackList();
+    method public int beginBroadcast();
+    method public void finishBroadcast();
+    method public Object getBroadcastCookie(int);
+    method public E getBroadcastItem(int);
+    method public Object getRegisteredCallbackCookie(int);
+    method public int getRegisteredCallbackCount();
+    method public E getRegisteredCallbackItem(int);
+    method public void kill();
+    method public void onCallbackDied(E);
+    method public void onCallbackDied(E, Object);
+    method public boolean register(E);
+    method public boolean register(E, Object);
+    method public boolean unregister(E);
+  }
+
+  public class RemoteException extends android.util.AndroidException {
+    ctor public RemoteException();
+    ctor public RemoteException(String);
+    method @NonNull public RuntimeException rethrowAsRuntimeException();
+    method @NonNull public RuntimeException rethrowFromSystemServer();
+  }
+
+  public class ResultReceiver implements android.os.Parcelable {
+    ctor public ResultReceiver(android.os.Handler);
+    method public int describeContents();
+    method protected void onReceiveResult(int, android.os.Bundle);
+    method public void send(int, android.os.Bundle);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.ResultReceiver> CREATOR;
+  }
+
+  public final class SharedMemory implements java.io.Closeable android.os.Parcelable {
+    method public void close();
+    method @NonNull public static android.os.SharedMemory create(@Nullable String, int) throws android.system.ErrnoException;
+    method public int describeContents();
+    method public int getSize();
+    method @NonNull public java.nio.ByteBuffer map(int, int, int) throws android.system.ErrnoException;
+    method @NonNull public java.nio.ByteBuffer mapReadOnly() throws android.system.ErrnoException;
+    method @NonNull public java.nio.ByteBuffer mapReadWrite() throws android.system.ErrnoException;
+    method public boolean setProtect(int);
+    method public static void unmap(@NonNull java.nio.ByteBuffer);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.SharedMemory> CREATOR;
+  }
+
+  public class StatFs {
+    ctor public StatFs(String);
+    method @Deprecated public int getAvailableBlocks();
+    method public long getAvailableBlocksLong();
+    method public long getAvailableBytes();
+    method @Deprecated public int getBlockCount();
+    method public long getBlockCountLong();
+    method @Deprecated public int getBlockSize();
+    method public long getBlockSizeLong();
+    method @Deprecated public int getFreeBlocks();
+    method public long getFreeBlocksLong();
+    method public long getFreeBytes();
+    method public long getTotalBytes();
+    method public void restat(String);
+  }
+
+  public final class StrictMode {
+    method public static android.os.StrictMode.ThreadPolicy allowThreadDiskReads();
+    method public static android.os.StrictMode.ThreadPolicy allowThreadDiskWrites();
+    method public static void enableDefaults();
+    method public static android.os.StrictMode.ThreadPolicy getThreadPolicy();
+    method public static android.os.StrictMode.VmPolicy getVmPolicy();
+    method public static void noteSlowCall(String);
+    method public static void setThreadPolicy(android.os.StrictMode.ThreadPolicy);
+    method public static void setVmPolicy(android.os.StrictMode.VmPolicy);
+  }
+
+  public static interface StrictMode.OnThreadViolationListener {
+    method public void onThreadViolation(android.os.strictmode.Violation);
+  }
+
+  public static interface StrictMode.OnVmViolationListener {
+    method public void onVmViolation(android.os.strictmode.Violation);
+  }
+
+  public static final class StrictMode.ThreadPolicy {
+    field public static final android.os.StrictMode.ThreadPolicy LAX;
+  }
+
+  public static final class StrictMode.ThreadPolicy.Builder {
+    ctor public StrictMode.ThreadPolicy.Builder();
+    ctor public StrictMode.ThreadPolicy.Builder(android.os.StrictMode.ThreadPolicy);
+    method public android.os.StrictMode.ThreadPolicy build();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectAll();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectCustomSlowCalls();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectDiskReads();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectDiskWrites();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectNetwork();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectResourceMismatches();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectUnbufferedIo();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDeath();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDeathOnNetwork();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDialog();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDropBox();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyFlashScreen();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.StrictMode.OnThreadViolationListener);
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyLog();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitAll();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitCustomSlowCalls();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitDiskReads();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitDiskWrites();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitNetwork();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitResourceMismatches();
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitUnbufferedIo();
+  }
+
+  public static final class StrictMode.VmPolicy {
+    field public static final android.os.StrictMode.VmPolicy LAX;
+  }
+
+  public static final class StrictMode.VmPolicy.Builder {
+    ctor public StrictMode.VmPolicy.Builder();
+    ctor public StrictMode.VmPolicy.Builder(android.os.StrictMode.VmPolicy);
+    method public android.os.StrictMode.VmPolicy build();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectActivityLeaks();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectAll();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectCleartextNetwork();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectContentUriWithoutPermission();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectCredentialProtectedWhileLocked();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectFileUriExposure();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectImplicitDirectBoot();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectIncorrectContextUse();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectLeakedClosableObjects();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectLeakedRegistrationObjects();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectLeakedSqlLiteObjects();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectNonSdkApiUsage();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectUnsafeIntentLaunch();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder detectUntaggedSockets();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDeath();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDeathOnCleartextNetwork();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDeathOnFileUriExposure();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDropBox();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.StrictMode.OnVmViolationListener);
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyLog();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder permitNonSdkApiUsage();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder permitUnsafeIntentLaunch();
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder setClassInstanceLimit(Class, int);
+  }
+
+  public final class SystemClock {
+    method @NonNull public static java.time.Clock currentGnssTimeClock();
+    method public static long currentThreadTimeMillis();
+    method public static long elapsedRealtime();
+    method public static long elapsedRealtimeNanos();
+    method public static boolean setCurrentTimeMillis(long);
+    method public static void sleep(long);
+    method public static long uptimeMillis();
+  }
+
+  public class TestLooperManager {
+    method public void execute(android.os.Message);
+    method public android.os.MessageQueue getMessageQueue();
+    method public boolean hasMessages(android.os.Handler, Object, int);
+    method public boolean hasMessages(android.os.Handler, Object, Runnable);
+    method public android.os.Message next();
+    method public void recycle(android.os.Message);
+    method public void release();
+  }
+
+  public abstract class TokenWatcher {
+    ctor public TokenWatcher(android.os.Handler, String);
+    method public void acquire(android.os.IBinder, String);
+    method public abstract void acquired();
+    method public void cleanup(android.os.IBinder, boolean);
+    method public void dump();
+    method public void dump(java.io.PrintWriter);
+    method public boolean isAcquired();
+    method public void release(android.os.IBinder);
+    method public abstract void released();
+  }
+
+  public final class Trace {
+    method public static void beginAsyncSection(@NonNull String, int);
+    method public static void beginSection(@NonNull String);
+    method public static void endAsyncSection(@NonNull String, int);
+    method public static void endSection();
+    method public static boolean isEnabled();
+    method public static void setCounter(@NonNull String, long);
+  }
+
+  public class TransactionTooLargeException extends android.os.RemoteException {
+    ctor public TransactionTooLargeException();
+    ctor public TransactionTooLargeException(String);
+  }
+
+  public final class UserHandle implements android.os.Parcelable {
+    ctor public UserHandle(android.os.Parcel);
+    method public int describeContents();
+    method public static android.os.UserHandle getUserHandleForUid(int);
+    method public static android.os.UserHandle readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    method public static void writeToParcel(android.os.UserHandle, android.os.Parcel);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserHandle> CREATOR;
+  }
+
+  public class UserManager {
+    method public static android.content.Intent createUserCreationIntent(@Nullable String, @Nullable String, @Nullable String, @Nullable android.os.PersistableBundle);
+    method @WorkerThread public android.os.Bundle getApplicationRestrictions(String);
+    method public long getSerialNumberForUser(android.os.UserHandle);
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.CREATE_USERS"}) public int getUserCount();
+    method public long getUserCreationTime(android.os.UserHandle);
+    method public android.os.UserHandle getUserForSerialNumber(long);
+    method @NonNull @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED, "android.permission.CREATE_USERS"}, conditional=true) public String getUserName();
+    method public java.util.List<android.os.UserHandle> getUserProfiles();
+    method public android.os.Bundle getUserRestrictions();
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public android.os.Bundle getUserRestrictions(android.os.UserHandle);
+    method public boolean hasUserRestriction(String);
+    method public boolean isDemoUser();
+    method public static boolean isHeadlessSystemUserMode();
+    method public boolean isManagedProfile();
+    method public boolean isQuietModeEnabled(android.os.UserHandle);
+    method public boolean isSystemUser();
+    method public boolean isUserAGoat();
+    method public boolean isUserForeground();
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserRunning(android.os.UserHandle);
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserRunningOrStopping(android.os.UserHandle);
+    method public boolean isUserUnlocked();
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.INTERACT_ACROSS_USERS"}, conditional=true) public boolean isUserUnlocked(android.os.UserHandle);
+    method @RequiresPermission(anyOf={"android.permission.MANAGE_USERS", "android.permission.MODIFY_QUIET_MODE"}, conditional=true) public boolean requestQuietModeEnabled(boolean, @NonNull android.os.UserHandle);
+    method public boolean requestQuietModeEnabled(boolean, @NonNull android.os.UserHandle, int);
+    method @Deprecated public boolean setRestrictionsChallenge(String);
+    method @Deprecated @RequiresPermission("android.permission.MANAGE_USERS") public void setUserRestriction(String, boolean);
+    method @Deprecated public void setUserRestrictions(android.os.Bundle);
+    method @Deprecated public void setUserRestrictions(android.os.Bundle, android.os.UserHandle);
+    method public static boolean supportsMultipleUsers();
+    field public static final String ALLOW_PARENT_PROFILE_APP_LINKING = "allow_parent_profile_app_linking";
+    field @Deprecated public static final String DISALLOW_ADD_MANAGED_PROFILE = "no_add_managed_profile";
+    field public static final String DISALLOW_ADD_USER = "no_add_user";
+    field public static final String DISALLOW_ADJUST_VOLUME = "no_adjust_volume";
+    field public static final String DISALLOW_AIRPLANE_MODE = "no_airplane_mode";
+    field public static final String DISALLOW_AMBIENT_DISPLAY = "no_ambient_display";
+    field public static final String DISALLOW_APPS_CONTROL = "no_control_apps";
+    field public static final String DISALLOW_AUTOFILL = "no_autofill";
+    field public static final String DISALLOW_BLUETOOTH = "no_bluetooth";
+    field public static final String DISALLOW_BLUETOOTH_SHARING = "no_bluetooth_sharing";
+    field public static final String DISALLOW_CAMERA_TOGGLE = "disallow_camera_toggle";
+    field public static final String DISALLOW_CONFIG_BLUETOOTH = "no_config_bluetooth";
+    field public static final String DISALLOW_CONFIG_BRIGHTNESS = "no_config_brightness";
+    field public static final String DISALLOW_CONFIG_CELL_BROADCASTS = "no_config_cell_broadcasts";
+    field public static final String DISALLOW_CONFIG_CREDENTIALS = "no_config_credentials";
+    field public static final String DISALLOW_CONFIG_DATE_TIME = "no_config_date_time";
+    field public static final String DISALLOW_CONFIG_LOCALE = "no_config_locale";
+    field public static final String DISALLOW_CONFIG_LOCATION = "no_config_location";
+    field public static final String DISALLOW_CONFIG_MOBILE_NETWORKS = "no_config_mobile_networks";
+    field public static final String DISALLOW_CONFIG_PRIVATE_DNS = "disallow_config_private_dns";
+    field public static final String DISALLOW_CONFIG_SCREEN_TIMEOUT = "no_config_screen_timeout";
+    field public static final String DISALLOW_CONFIG_TETHERING = "no_config_tethering";
+    field public static final String DISALLOW_CONFIG_VPN = "no_config_vpn";
+    field public static final String DISALLOW_CONFIG_WIFI = "no_config_wifi";
+    field public static final String DISALLOW_CONTENT_CAPTURE = "no_content_capture";
+    field public static final String DISALLOW_CONTENT_SUGGESTIONS = "no_content_suggestions";
+    field public static final String DISALLOW_CREATE_WINDOWS = "no_create_windows";
+    field public static final String DISALLOW_CROSS_PROFILE_COPY_PASTE = "no_cross_profile_copy_paste";
+    field public static final String DISALLOW_DATA_ROAMING = "no_data_roaming";
+    field public static final String DISALLOW_DEBUGGING_FEATURES = "no_debugging_features";
+    field public static final String DISALLOW_FACTORY_RESET = "no_factory_reset";
+    field public static final String DISALLOW_FUN = "no_fun";
+    field public static final String DISALLOW_INSTALL_APPS = "no_install_apps";
+    field public static final String DISALLOW_INSTALL_UNKNOWN_SOURCES = "no_install_unknown_sources";
+    field public static final String DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY = "no_install_unknown_sources_globally";
+    field public static final String DISALLOW_MICROPHONE_TOGGLE = "disallow_microphone_toggle";
+    field public static final String DISALLOW_MODIFY_ACCOUNTS = "no_modify_accounts";
+    field public static final String DISALLOW_MOUNT_PHYSICAL_MEDIA = "no_physical_media";
+    field public static final String DISALLOW_NETWORK_RESET = "no_network_reset";
+    field public static final String DISALLOW_OUTGOING_BEAM = "no_outgoing_beam";
+    field public static final String DISALLOW_OUTGOING_CALLS = "no_outgoing_calls";
+    field public static final String DISALLOW_PRINTING = "no_printing";
+    field @Deprecated public static final String DISALLOW_REMOVE_MANAGED_PROFILE = "no_remove_managed_profile";
+    field public static final String DISALLOW_REMOVE_USER = "no_remove_user";
+    field public static final String DISALLOW_SAFE_BOOT = "no_safe_boot";
+    field public static final String DISALLOW_SET_USER_ICON = "no_set_user_icon";
+    field public static final String DISALLOW_SET_WALLPAPER = "no_set_wallpaper";
+    field public static final String DISALLOW_SHARE_INTO_MANAGED_PROFILE = "no_sharing_into_profile";
+    field public static final String DISALLOW_SHARE_LOCATION = "no_share_location";
+    field public static final String DISALLOW_SMS = "no_sms";
+    field public static final String DISALLOW_SYSTEM_ERROR_DIALOGS = "no_system_error_dialogs";
+    field public static final String DISALLOW_UNIFIED_PASSWORD = "no_unified_password";
+    field public static final String DISALLOW_UNINSTALL_APPS = "no_uninstall_apps";
+    field public static final String DISALLOW_UNMUTE_MICROPHONE = "no_unmute_microphone";
+    field public static final String DISALLOW_USB_FILE_TRANSFER = "no_usb_file_transfer";
+    field public static final String DISALLOW_USER_SWITCH = "no_user_switch";
+    field public static final String ENSURE_VERIFY_APPS = "ensure_verify_apps";
+    field public static final String KEY_RESTRICTIONS_PENDING = "restrictions_pending";
+    field public static final int QUIET_MODE_DISABLE_ONLY_IF_CREDENTIAL_NOT_REQUIRED = 1; // 0x1
+    field public static final int USER_CREATION_FAILED_NOT_PERMITTED = 1; // 0x1
+    field public static final int USER_CREATION_FAILED_NO_MORE_USERS = 2; // 0x2
+    field public static final int USER_OPERATION_ERROR_CURRENT_USER = 4; // 0x4
+    field public static final int USER_OPERATION_ERROR_LOW_STORAGE = 5; // 0x5
+    field public static final int USER_OPERATION_ERROR_MANAGED_PROFILE = 2; // 0x2
+    field public static final int USER_OPERATION_ERROR_MAX_RUNNING_USERS = 3; // 0x3
+    field public static final int USER_OPERATION_ERROR_MAX_USERS = 6; // 0x6
+    field public static final int USER_OPERATION_ERROR_UNKNOWN = 1; // 0x1
+    field public static final int USER_OPERATION_SUCCESS = 0; // 0x0
+  }
+
+  public static class UserManager.UserOperationException extends java.lang.RuntimeException {
+    method public int getUserOperationResult();
+  }
+
+  public final class VibrationAttributes implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getFlags();
+    method public int getUsage();
+    method public int getUsageClass();
+    method public boolean isFlagSet(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationAttributes> CREATOR;
+    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 1; // 0x1
+    field public static final int USAGE_ALARM = 17; // 0x11
+    field public static final int USAGE_CLASS_ALARM = 1; // 0x1
+    field public static final int USAGE_CLASS_FEEDBACK = 2; // 0x2
+    field public static final int USAGE_CLASS_MASK = 15; // 0xf
+    field public static final int USAGE_CLASS_UNKNOWN = 0; // 0x0
+    field public static final int USAGE_COMMUNICATION_REQUEST = 65; // 0x41
+    field public static final int USAGE_HARDWARE_FEEDBACK = 50; // 0x32
+    field public static final int USAGE_NOTIFICATION = 49; // 0x31
+    field public static final int USAGE_PHYSICAL_EMULATION = 34; // 0x22
+    field public static final int USAGE_RINGTONE = 33; // 0x21
+    field public static final int USAGE_TOUCH = 18; // 0x12
+    field public static final int USAGE_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class VibrationAttributes.Builder {
+    ctor public VibrationAttributes.Builder();
+    ctor public VibrationAttributes.Builder(@Nullable android.os.VibrationAttributes);
+    method @NonNull public android.os.VibrationAttributes build();
+    method @NonNull public android.os.VibrationAttributes.Builder setFlags(int, int);
+    method @NonNull public android.os.VibrationAttributes.Builder setUsage(int);
+  }
+
+  public abstract class VibrationEffect implements android.os.Parcelable {
+    method public static android.os.VibrationEffect createOneShot(long, int);
+    method @NonNull public static android.os.VibrationEffect createPredefined(int);
+    method public static android.os.VibrationEffect createWaveform(long[], int);
+    method public static android.os.VibrationEffect createWaveform(long[], int[], int);
+    method public int describeContents();
+    method @NonNull public static android.os.VibrationEffect.Composition startComposition();
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect> CREATOR;
+    field public static final int DEFAULT_AMPLITUDE = -1; // 0xffffffff
+    field public static final int EFFECT_CLICK = 0; // 0x0
+    field public static final int EFFECT_DOUBLE_CLICK = 1; // 0x1
+    field public static final int EFFECT_HEAVY_CLICK = 5; // 0x5
+    field public static final int EFFECT_TICK = 2; // 0x2
+  }
+
+  public static final class VibrationEffect.Composition {
+    method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int);
+    method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float);
+    method @NonNull public android.os.VibrationEffect.Composition addPrimitive(int, @FloatRange(from=0.0f, to=1.0f) float, @IntRange(from=0) int);
+    method @NonNull public android.os.VibrationEffect compose();
+    field public static final int PRIMITIVE_CLICK = 1; // 0x1
+    field public static final int PRIMITIVE_LOW_TICK = 8; // 0x8
+    field public static final int PRIMITIVE_QUICK_FALL = 6; // 0x6
+    field public static final int PRIMITIVE_QUICK_RISE = 4; // 0x4
+    field public static final int PRIMITIVE_SLOW_RISE = 5; // 0x5
+    field public static final int PRIMITIVE_SPIN = 3; // 0x3
+    field public static final int PRIMITIVE_THUD = 2; // 0x2
+    field public static final int PRIMITIVE_TICK = 7; // 0x7
+  }
+
+  public abstract class Vibrator {
+    method public final int areAllEffectsSupported(@NonNull int...);
+    method public final boolean areAllPrimitivesSupported(@NonNull int...);
+    method @NonNull public int[] areEffectsSupported(@NonNull int...);
+    method @NonNull public boolean[] arePrimitivesSupported(@NonNull int...);
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public abstract void cancel();
+    method public int getId();
+    method @NonNull public int[] getPrimitiveDurations(@NonNull int...);
+    method public abstract boolean hasAmplitudeControl();
+    method public abstract boolean hasVibrator();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long, android.media.AudioAttributes);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long[], int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(long[], int, android.media.AudioAttributes);
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(android.os.VibrationEffect);
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(android.os.VibrationEffect, android.media.AudioAttributes);
+    field public static final int VIBRATION_EFFECT_SUPPORT_NO = 2; // 0x2
+    field public static final int VIBRATION_EFFECT_SUPPORT_UNKNOWN = 0; // 0x0
+    field public static final int VIBRATION_EFFECT_SUPPORT_YES = 1; // 0x1
+  }
+
+  public abstract class VibratorManager {
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public abstract void cancel();
+    method @NonNull public abstract android.os.Vibrator getDefaultVibrator();
+    method @NonNull public abstract android.os.Vibrator getVibrator(int);
+    method @NonNull public abstract int[] getVibratorIds();
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public final void vibrate(@NonNull android.os.CombinedVibration);
+    method @RequiresPermission(android.Manifest.permission.VIBRATE) public final void vibrate(@NonNull android.os.CombinedVibration, @Nullable android.os.VibrationAttributes);
+  }
+
+  public class WorkSource implements android.os.Parcelable {
+    ctor public WorkSource();
+    ctor public WorkSource(android.os.WorkSource);
+    method public boolean add(android.os.WorkSource);
+    method public void clear();
+    method public int describeContents();
+    method public boolean diff(android.os.WorkSource);
+    method public boolean remove(android.os.WorkSource);
+    method public void set(android.os.WorkSource);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource> CREATOR;
+  }
+
+}
+
+package android.os.health {
+
+  public class HealthStats {
+    method public String getDataType();
+    method public long getMeasurement(int);
+    method public int getMeasurementKeyAt(int);
+    method public int getMeasurementKeyCount();
+    method public java.util.Map<java.lang.String,java.lang.Long> getMeasurements(int);
+    method public int getMeasurementsKeyAt(int);
+    method public int getMeasurementsKeyCount();
+    method public java.util.Map<java.lang.String,android.os.health.HealthStats> getStats(int);
+    method public int getStatsKeyAt(int);
+    method public int getStatsKeyCount();
+    method public android.os.health.TimerStat getTimer(int);
+    method public int getTimerCount(int);
+    method public int getTimerKeyAt(int);
+    method public int getTimerKeyCount();
+    method public long getTimerTime(int);
+    method public java.util.Map<java.lang.String,android.os.health.TimerStat> getTimers(int);
+    method public int getTimersKeyAt(int);
+    method public int getTimersKeyCount();
+    method public boolean hasMeasurement(int);
+    method public boolean hasMeasurements(int);
+    method public boolean hasStats(int);
+    method public boolean hasTimer(int);
+    method public boolean hasTimers(int);
+  }
+
+  public final class PackageHealthStats {
+    field public static final int MEASUREMENTS_WAKEUP_ALARMS_COUNT = 40002; // 0x9c42
+    field public static final int STATS_SERVICES = 40001; // 0x9c41
+  }
+
+  public final class PidHealthStats {
+    field public static final int MEASUREMENT_WAKE_NESTING_COUNT = 20001; // 0x4e21
+    field public static final int MEASUREMENT_WAKE_START_MS = 20003; // 0x4e23
+    field public static final int MEASUREMENT_WAKE_SUM_MS = 20002; // 0x4e22
+  }
+
+  public final class ProcessHealthStats {
+    field public static final int MEASUREMENT_ANR_COUNT = 30005; // 0x7535
+    field public static final int MEASUREMENT_CRASHES_COUNT = 30004; // 0x7534
+    field public static final int MEASUREMENT_FOREGROUND_MS = 30006; // 0x7536
+    field public static final int MEASUREMENT_STARTS_COUNT = 30003; // 0x7533
+    field public static final int MEASUREMENT_SYSTEM_TIME_MS = 30002; // 0x7532
+    field public static final int MEASUREMENT_USER_TIME_MS = 30001; // 0x7531
+  }
+
+  public final class ServiceHealthStats {
+    field public static final int MEASUREMENT_LAUNCH_COUNT = 50002; // 0xc352
+    field public static final int MEASUREMENT_START_SERVICE_COUNT = 50001; // 0xc351
+  }
+
+  public class SystemHealthManager {
+    method public android.os.health.HealthStats takeMyUidSnapshot();
+    method public android.os.health.HealthStats takeUidSnapshot(int);
+    method public android.os.health.HealthStats[] takeUidSnapshots(int[]);
+  }
+
+  public final class TimerStat implements android.os.Parcelable {
+    ctor public TimerStat();
+    ctor public TimerStat(int, long);
+    ctor public TimerStat(android.os.Parcel);
+    method public int describeContents();
+    method public int getCount();
+    method public long getTime();
+    method public void setCount(int);
+    method public void setTime(long);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.health.TimerStat> CREATOR;
+  }
+
+  public final class UidHealthStats {
+    field public static final int MEASUREMENT_BLUETOOTH_IDLE_MS = 10020; // 0x2724
+    field public static final int MEASUREMENT_BLUETOOTH_POWER_MAMS = 10023; // 0x2727
+    field public static final int MEASUREMENT_BLUETOOTH_RX_BYTES = 10052; // 0x2744
+    field public static final int MEASUREMENT_BLUETOOTH_RX_MS = 10021; // 0x2725
+    field public static final int MEASUREMENT_BLUETOOTH_RX_PACKETS = 10058; // 0x274a
+    field public static final int MEASUREMENT_BLUETOOTH_TX_BYTES = 10053; // 0x2745
+    field public static final int MEASUREMENT_BLUETOOTH_TX_MS = 10022; // 0x2726
+    field public static final int MEASUREMENT_BLUETOOTH_TX_PACKETS = 10059; // 0x274b
+    field public static final int MEASUREMENT_BUTTON_USER_ACTIVITY_COUNT = 10046; // 0x273e
+    field @Deprecated public static final int MEASUREMENT_CPU_POWER_MAMS = 10064; // 0x2750
+    field public static final int MEASUREMENT_MOBILE_IDLE_MS = 10024; // 0x2728
+    field public static final int MEASUREMENT_MOBILE_POWER_MAMS = 10027; // 0x272b
+    field public static final int MEASUREMENT_MOBILE_RX_BYTES = 10048; // 0x2740
+    field public static final int MEASUREMENT_MOBILE_RX_MS = 10025; // 0x2729
+    field public static final int MEASUREMENT_MOBILE_RX_PACKETS = 10054; // 0x2746
+    field public static final int MEASUREMENT_MOBILE_TX_BYTES = 10049; // 0x2741
+    field public static final int MEASUREMENT_MOBILE_TX_MS = 10026; // 0x272a
+    field public static final int MEASUREMENT_MOBILE_TX_PACKETS = 10055; // 0x2747
+    field public static final int MEASUREMENT_OTHER_USER_ACTIVITY_COUNT = 10045; // 0x273d
+    field public static final int MEASUREMENT_REALTIME_BATTERY_MS = 10001; // 0x2711
+    field public static final int MEASUREMENT_REALTIME_SCREEN_OFF_BATTERY_MS = 10003; // 0x2713
+    field public static final int MEASUREMENT_SYSTEM_CPU_TIME_MS = 10063; // 0x274f
+    field public static final int MEASUREMENT_TOUCH_USER_ACTIVITY_COUNT = 10047; // 0x273f
+    field public static final int MEASUREMENT_UPTIME_BATTERY_MS = 10002; // 0x2712
+    field public static final int MEASUREMENT_UPTIME_SCREEN_OFF_BATTERY_MS = 10004; // 0x2714
+    field public static final int MEASUREMENT_USER_CPU_TIME_MS = 10062; // 0x274e
+    field public static final int MEASUREMENT_WIFI_FULL_LOCK_MS = 10029; // 0x272d
+    field public static final int MEASUREMENT_WIFI_IDLE_MS = 10016; // 0x2720
+    field public static final int MEASUREMENT_WIFI_MULTICAST_MS = 10031; // 0x272f
+    field public static final int MEASUREMENT_WIFI_POWER_MAMS = 10019; // 0x2723
+    field public static final int MEASUREMENT_WIFI_RUNNING_MS = 10028; // 0x272c
+    field public static final int MEASUREMENT_WIFI_RX_BYTES = 10050; // 0x2742
+    field public static final int MEASUREMENT_WIFI_RX_MS = 10017; // 0x2721
+    field public static final int MEASUREMENT_WIFI_RX_PACKETS = 10056; // 0x2748
+    field public static final int MEASUREMENT_WIFI_TX_BYTES = 10051; // 0x2743
+    field public static final int MEASUREMENT_WIFI_TX_MS = 10018; // 0x2722
+    field public static final int MEASUREMENT_WIFI_TX_PACKETS = 10057; // 0x2749
+    field public static final int STATS_PACKAGES = 10015; // 0x271f
+    field public static final int STATS_PIDS = 10013; // 0x271d
+    field public static final int STATS_PROCESSES = 10014; // 0x271e
+    field public static final int TIMERS_JOBS = 10010; // 0x271a
+    field public static final int TIMERS_SENSORS = 10012; // 0x271c
+    field public static final int TIMERS_SYNCS = 10009; // 0x2719
+    field public static final int TIMERS_WAKELOCKS_DRAW = 10008; // 0x2718
+    field public static final int TIMERS_WAKELOCKS_FULL = 10005; // 0x2715
+    field public static final int TIMERS_WAKELOCKS_PARTIAL = 10006; // 0x2716
+    field public static final int TIMERS_WAKELOCKS_WINDOW = 10007; // 0x2717
+    field public static final int TIMER_AUDIO = 10032; // 0x2730
+    field public static final int TIMER_BLUETOOTH_SCAN = 10037; // 0x2735
+    field public static final int TIMER_CAMERA = 10035; // 0x2733
+    field public static final int TIMER_FLASHLIGHT = 10034; // 0x2732
+    field public static final int TIMER_FOREGROUND_ACTIVITY = 10036; // 0x2734
+    field public static final int TIMER_GPS_SENSOR = 10011; // 0x271b
+    field public static final int TIMER_MOBILE_RADIO_ACTIVE = 10061; // 0x274d
+    field public static final int TIMER_PROCESS_STATE_BACKGROUND_MS = 10042; // 0x273a
+    field public static final int TIMER_PROCESS_STATE_CACHED_MS = 10043; // 0x273b
+    field public static final int TIMER_PROCESS_STATE_FOREGROUND_MS = 10041; // 0x2739
+    field public static final int TIMER_PROCESS_STATE_FOREGROUND_SERVICE_MS = 10039; // 0x2737
+    field public static final int TIMER_PROCESS_STATE_TOP_MS = 10038; // 0x2736
+    field public static final int TIMER_PROCESS_STATE_TOP_SLEEPING_MS = 10040; // 0x2738
+    field public static final int TIMER_VIBRATOR = 10044; // 0x273c
+    field public static final int TIMER_VIDEO = 10033; // 0x2731
+    field public static final int TIMER_WIFI_SCAN = 10030; // 0x272e
+  }
+
+}
+
+package android.os.storage {
+
+  public abstract class OnObbStateChangeListener {
+    ctor public OnObbStateChangeListener();
+    method public void onObbStateChange(String, int);
+    field public static final int ERROR_ALREADY_MOUNTED = 24; // 0x18
+    field public static final int ERROR_COULD_NOT_MOUNT = 21; // 0x15
+    field public static final int ERROR_COULD_NOT_UNMOUNT = 22; // 0x16
+    field public static final int ERROR_INTERNAL = 20; // 0x14
+    field public static final int ERROR_NOT_MOUNTED = 23; // 0x17
+    field public static final int ERROR_PERMISSION_DENIED = 25; // 0x19
+    field public static final int MOUNTED = 1; // 0x1
+    field public static final int UNMOUNTED = 2; // 0x2
+  }
+
+  public class StorageManager {
+    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long) throws java.io.IOException;
+    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long) throws java.io.IOException;
+    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID) throws java.io.IOException;
+    method @WorkerThread public long getCacheQuotaBytes(@NonNull java.util.UUID) throws java.io.IOException;
+    method @WorkerThread public long getCacheSizeBytes(@NonNull java.util.UUID) throws java.io.IOException;
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_EXTERNAL_STORAGE) public android.app.PendingIntent getManageSpaceActivityIntent(@NonNull String, int);
+    method public String getMountedObbPath(String);
+    method @NonNull public android.os.storage.StorageVolume getPrimaryStorageVolume();
+    method @NonNull public java.util.List<android.os.storage.StorageVolume> getRecentStorageVolumes();
+    method @Nullable public android.os.storage.StorageVolume getStorageVolume(@NonNull java.io.File);
+    method @NonNull public android.os.storage.StorageVolume getStorageVolume(@NonNull android.net.Uri);
+    method @NonNull public java.util.List<android.os.storage.StorageVolume> getStorageVolumes();
+    method @NonNull public java.util.UUID getUuidForPath(@NonNull java.io.File) throws java.io.IOException;
+    method public boolean isAllocationSupported(@NonNull java.io.FileDescriptor);
+    method public boolean isCacheBehaviorGroup(java.io.File) throws java.io.IOException;
+    method public boolean isCacheBehaviorTombstone(java.io.File) throws java.io.IOException;
+    method public boolean isCheckpointSupported();
+    method public boolean isEncrypted(java.io.File);
+    method public boolean isObbMounted(String);
+    method public boolean mountObb(String, String, android.os.storage.OnObbStateChangeListener);
+    method @NonNull public android.os.ParcelFileDescriptor openProxyFileDescriptor(int, android.os.ProxyFileDescriptorCallback, android.os.Handler) throws java.io.IOException;
+    method public void registerStorageVolumeCallback(@NonNull java.util.concurrent.Executor, @NonNull android.os.storage.StorageManager.StorageVolumeCallback);
+    method public void setCacheBehaviorGroup(java.io.File, boolean) throws java.io.IOException;
+    method public void setCacheBehaviorTombstone(java.io.File, boolean) throws java.io.IOException;
+    method public boolean unmountObb(String, boolean, android.os.storage.OnObbStateChangeListener);
+    method public void unregisterStorageVolumeCallback(@NonNull android.os.storage.StorageManager.StorageVolumeCallback);
+    field @RequiresPermission(android.Manifest.permission.MANAGE_EXTERNAL_STORAGE) public static final String ACTION_CLEAR_APP_CACHE = "android.os.storage.action.CLEAR_APP_CACHE";
+    field public static final String ACTION_MANAGE_STORAGE = "android.os.storage.action.MANAGE_STORAGE";
+    field public static final String EXTRA_REQUESTED_BYTES = "android.os.storage.extra.REQUESTED_BYTES";
+    field public static final String EXTRA_UUID = "android.os.storage.extra.UUID";
+    field public static final java.util.UUID UUID_DEFAULT;
+  }
+
+  public static class StorageManager.StorageVolumeCallback {
+    ctor public StorageManager.StorageVolumeCallback();
+    method public void onStateChanged(@NonNull android.os.storage.StorageVolume);
+  }
+
+  public final class StorageVolume implements android.os.Parcelable {
+    method @Deprecated @Nullable public android.content.Intent createAccessIntent(String);
+    method @NonNull public android.content.Intent createOpenDocumentTreeIntent();
+    method public int describeContents();
+    method public String getDescription(android.content.Context);
+    method @Nullable public java.io.File getDirectory();
+    method @Nullable public String getMediaStoreVolumeName();
+    method public String getState();
+    method @Nullable public java.util.UUID getStorageUuid();
+    method @Nullable public String getUuid();
+    method public boolean isEmulated();
+    method public boolean isPrimary();
+    method public boolean isRemovable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.storage.StorageVolume> CREATOR;
+    field public static final String EXTRA_STORAGE_VOLUME = "android.os.storage.extra.STORAGE_VOLUME";
+  }
+
+}
+
+package android.os.strictmode {
+
+  public final class CleartextNetworkViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class ContentUriWithoutPermissionViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class CredentialProtectedWhileLockedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class CustomViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class DiskReadViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class DiskWriteViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class FileUriExposedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class ImplicitDirectBootViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class IncorrectContextUseViolation extends android.os.strictmode.Violation {
+    ctor public IncorrectContextUseViolation(@NonNull String, @NonNull Throwable);
+  }
+
+  public class InstanceCountViolation extends android.os.strictmode.Violation {
+    method public long getNumberOfInstances();
+  }
+
+  public final class IntentReceiverLeakedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class LeakedClosableViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class NetworkViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class NonSdkApiUsedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class ResourceMismatchViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class ServiceConnectionLeakedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class SqliteObjectLeakedViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class UnbufferedIoViolation extends android.os.strictmode.Violation {
+  }
+
+  public final class UnsafeIntentLaunchViolation extends android.os.strictmode.Violation {
+    ctor public UnsafeIntentLaunchViolation(@NonNull android.content.Intent);
+    method @Nullable public android.content.Intent getIntent();
+  }
+
+  public final class UntaggedSocketViolation extends android.os.strictmode.Violation {
+  }
+
+  public abstract class Violation extends java.lang.Throwable {
+  }
+
+  public final class WebViewMethodCalledOnWrongThreadViolation extends android.os.strictmode.Violation {
+  }
+
+}
+
+package android.preference {
+
+  @Deprecated public class CheckBoxPreference extends android.preference.TwoStatePreference {
+    ctor @Deprecated public CheckBoxPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public CheckBoxPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public CheckBoxPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public CheckBoxPreference(android.content.Context);
+  }
+
+  @Deprecated public abstract class DialogPreference extends android.preference.Preference implements android.content.DialogInterface.OnClickListener android.content.DialogInterface.OnDismissListener android.preference.PreferenceManager.OnActivityDestroyListener {
+    ctor @Deprecated public DialogPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public DialogPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public DialogPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public DialogPreference(android.content.Context);
+    method @Deprecated public android.app.Dialog getDialog();
+    method @Deprecated public android.graphics.drawable.Drawable getDialogIcon();
+    method @Deprecated public int getDialogLayoutResource();
+    method @Deprecated public CharSequence getDialogMessage();
+    method @Deprecated public CharSequence getDialogTitle();
+    method @Deprecated public CharSequence getNegativeButtonText();
+    method @Deprecated public CharSequence getPositiveButtonText();
+    method @Deprecated public void onActivityDestroy();
+    method @Deprecated @CallSuper protected void onBindDialogView(android.view.View);
+    method @Deprecated public void onClick(android.content.DialogInterface, int);
+    method @Deprecated protected android.view.View onCreateDialogView();
+    method @Deprecated protected void onDialogClosed(boolean);
+    method @Deprecated public void onDismiss(android.content.DialogInterface);
+    method @Deprecated protected void onPrepareDialogBuilder(android.app.AlertDialog.Builder);
+    method @Deprecated public void setDialogIcon(android.graphics.drawable.Drawable);
+    method @Deprecated public void setDialogIcon(@DrawableRes int);
+    method @Deprecated public void setDialogLayoutResource(int);
+    method @Deprecated public void setDialogMessage(CharSequence);
+    method @Deprecated public void setDialogMessage(int);
+    method @Deprecated public void setDialogTitle(CharSequence);
+    method @Deprecated public void setDialogTitle(int);
+    method @Deprecated public void setNegativeButtonText(CharSequence);
+    method @Deprecated public void setNegativeButtonText(@StringRes int);
+    method @Deprecated public void setPositiveButtonText(CharSequence);
+    method @Deprecated public void setPositiveButtonText(@StringRes int);
+    method @Deprecated protected void showDialog(android.os.Bundle);
+  }
+
+  @Deprecated public class EditTextPreference extends android.preference.DialogPreference {
+    ctor @Deprecated public EditTextPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public EditTextPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public EditTextPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public EditTextPreference(android.content.Context);
+    method @Deprecated public android.widget.EditText getEditText();
+    method @Deprecated public String getText();
+    method @Deprecated protected void onAddEditTextToDialogView(android.view.View, android.widget.EditText);
+    method @Deprecated public void setText(String);
+  }
+
+  @Deprecated public class ListPreference extends android.preference.DialogPreference {
+    ctor @Deprecated public ListPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public ListPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public ListPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public ListPreference(android.content.Context);
+    method @Deprecated public int findIndexOfValue(String);
+    method @Deprecated public CharSequence[] getEntries();
+    method @Deprecated public CharSequence getEntry();
+    method @Deprecated public CharSequence[] getEntryValues();
+    method @Deprecated public String getValue();
+    method @Deprecated public void setEntries(CharSequence[]);
+    method @Deprecated public void setEntries(@ArrayRes int);
+    method @Deprecated public void setEntryValues(CharSequence[]);
+    method @Deprecated public void setEntryValues(@ArrayRes int);
+    method @Deprecated public void setValue(String);
+    method @Deprecated public void setValueIndex(int);
+  }
+
+  @Deprecated public class MultiSelectListPreference extends android.preference.DialogPreference {
+    ctor @Deprecated public MultiSelectListPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public MultiSelectListPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public MultiSelectListPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public MultiSelectListPreference(android.content.Context);
+    method @Deprecated public int findIndexOfValue(String);
+    method @Deprecated public CharSequence[] getEntries();
+    method @Deprecated public CharSequence[] getEntryValues();
+    method @Deprecated public java.util.Set<java.lang.String> getValues();
+    method @Deprecated public void setEntries(CharSequence[]);
+    method @Deprecated public void setEntries(@ArrayRes int);
+    method @Deprecated public void setEntryValues(CharSequence[]);
+    method @Deprecated public void setEntryValues(@ArrayRes int);
+    method @Deprecated public void setValues(java.util.Set<java.lang.String>);
+  }
+
+  @Deprecated public class Preference implements java.lang.Comparable<android.preference.Preference> {
+    ctor @Deprecated public Preference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public Preference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public Preference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public Preference(android.content.Context);
+    method @Deprecated protected boolean callChangeListener(Object);
+    method @Deprecated public int compareTo(android.preference.Preference);
+    method @Deprecated protected android.preference.Preference findPreferenceInHierarchy(String);
+    method @Deprecated public android.content.Context getContext();
+    method @Deprecated public String getDependency();
+    method @Deprecated public android.content.SharedPreferences.Editor getEditor();
+    method @Deprecated public android.os.Bundle getExtras();
+    method @Deprecated public String getFragment();
+    method @Deprecated public android.graphics.drawable.Drawable getIcon();
+    method @Deprecated public android.content.Intent getIntent();
+    method @Deprecated public String getKey();
+    method @Deprecated @LayoutRes public int getLayoutResource();
+    method @Deprecated public android.preference.Preference.OnPreferenceChangeListener getOnPreferenceChangeListener();
+    method @Deprecated public android.preference.Preference.OnPreferenceClickListener getOnPreferenceClickListener();
+    method @Deprecated public int getOrder();
+    method @Deprecated @Nullable public android.preference.PreferenceGroup getParent();
+    method @Deprecated protected boolean getPersistedBoolean(boolean);
+    method @Deprecated protected float getPersistedFloat(float);
+    method @Deprecated protected int getPersistedInt(int);
+    method @Deprecated protected long getPersistedLong(long);
+    method @Deprecated protected String getPersistedString(String);
+    method @Deprecated public java.util.Set<java.lang.String> getPersistedStringSet(java.util.Set<java.lang.String>);
+    method @Deprecated @Nullable public android.preference.PreferenceDataStore getPreferenceDataStore();
+    method @Deprecated public android.preference.PreferenceManager getPreferenceManager();
+    method @Deprecated public android.content.SharedPreferences getSharedPreferences();
+    method @Deprecated public boolean getShouldDisableView();
+    method @Deprecated public CharSequence getSummary();
+    method @Deprecated public CharSequence getTitle();
+    method @Deprecated @StringRes public int getTitleRes();
+    method @Deprecated public android.view.View getView(android.view.View, android.view.ViewGroup);
+    method @Deprecated @LayoutRes public int getWidgetLayoutResource();
+    method @Deprecated public boolean hasKey();
+    method @Deprecated public boolean isEnabled();
+    method @Deprecated public boolean isIconSpaceReserved();
+    method @Deprecated public boolean isPersistent();
+    method @Deprecated public boolean isRecycleEnabled();
+    method @Deprecated public boolean isSelectable();
+    method @Deprecated public boolean isSingleLineTitle();
+    method @Deprecated protected void notifyChanged();
+    method @Deprecated public void notifyDependencyChange(boolean);
+    method @Deprecated protected void notifyHierarchyChanged();
+    method @Deprecated protected void onAttachedToActivity();
+    method @Deprecated protected void onAttachedToHierarchy(android.preference.PreferenceManager);
+    method @Deprecated @CallSuper protected void onBindView(android.view.View);
+    method @Deprecated protected void onClick();
+    method @Deprecated @CallSuper protected android.view.View onCreateView(android.view.ViewGroup);
+    method @Deprecated public void onDependencyChanged(android.preference.Preference, boolean);
+    method @Deprecated protected Object onGetDefaultValue(android.content.res.TypedArray, int);
+    method @Deprecated public void onParentChanged(android.preference.Preference, boolean);
+    method @Deprecated @CallSuper protected void onPrepareForRemoval();
+    method @Deprecated protected void onRestoreInstanceState(android.os.Parcelable);
+    method @Deprecated protected android.os.Parcelable onSaveInstanceState();
+    method @Deprecated protected void onSetInitialValue(boolean, Object);
+    method @Deprecated public android.os.Bundle peekExtras();
+    method @Deprecated protected boolean persistBoolean(boolean);
+    method @Deprecated protected boolean persistFloat(float);
+    method @Deprecated protected boolean persistInt(int);
+    method @Deprecated protected boolean persistLong(long);
+    method @Deprecated protected boolean persistString(String);
+    method @Deprecated public boolean persistStringSet(java.util.Set<java.lang.String>);
+    method @Deprecated public void restoreHierarchyState(android.os.Bundle);
+    method @Deprecated public void saveHierarchyState(android.os.Bundle);
+    method @Deprecated public void setDefaultValue(Object);
+    method @Deprecated public void setDependency(String);
+    method @Deprecated public void setEnabled(boolean);
+    method @Deprecated public void setFragment(String);
+    method @Deprecated public void setIcon(android.graphics.drawable.Drawable);
+    method @Deprecated public void setIcon(@DrawableRes int);
+    method @Deprecated public void setIconSpaceReserved(boolean);
+    method @Deprecated public void setIntent(android.content.Intent);
+    method @Deprecated public void setKey(String);
+    method @Deprecated public void setLayoutResource(@LayoutRes int);
+    method @Deprecated public void setOnPreferenceChangeListener(android.preference.Preference.OnPreferenceChangeListener);
+    method @Deprecated public void setOnPreferenceClickListener(android.preference.Preference.OnPreferenceClickListener);
+    method @Deprecated public void setOrder(int);
+    method @Deprecated public void setPersistent(boolean);
+    method @Deprecated public void setPreferenceDataStore(android.preference.PreferenceDataStore);
+    method @Deprecated @CallSuper public void setRecycleEnabled(boolean);
+    method @Deprecated public void setSelectable(boolean);
+    method @Deprecated public void setShouldDisableView(boolean);
+    method @Deprecated public void setSingleLineTitle(boolean);
+    method @Deprecated public void setSummary(CharSequence);
+    method @Deprecated public void setSummary(@StringRes int);
+    method @Deprecated public void setTitle(CharSequence);
+    method @Deprecated public void setTitle(@StringRes int);
+    method @Deprecated public void setWidgetLayoutResource(@LayoutRes int);
+    method @Deprecated public boolean shouldCommit();
+    method @Deprecated public boolean shouldDisableDependents();
+    method @Deprecated protected boolean shouldPersist();
+    field @Deprecated public static final int DEFAULT_ORDER = 2147483647; // 0x7fffffff
+  }
+
+  @Deprecated public static class Preference.BaseSavedState extends android.view.AbsSavedState {
+    ctor @Deprecated public Preference.BaseSavedState(android.os.Parcel);
+    ctor @Deprecated public Preference.BaseSavedState(android.os.Parcelable);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.preference.Preference.BaseSavedState> CREATOR;
+  }
+
+  @Deprecated public static interface Preference.OnPreferenceChangeListener {
+    method @Deprecated public boolean onPreferenceChange(android.preference.Preference, Object);
+  }
+
+  @Deprecated public static interface Preference.OnPreferenceClickListener {
+    method @Deprecated public boolean onPreferenceClick(android.preference.Preference);
+  }
+
+  @Deprecated public abstract class PreferenceActivity extends android.app.ListActivity implements android.preference.PreferenceFragment.OnPreferenceStartFragmentCallback {
+    ctor @Deprecated public PreferenceActivity();
+    method @Deprecated public void addPreferencesFromIntent(android.content.Intent);
+    method @Deprecated public void addPreferencesFromResource(int);
+    method @Deprecated public android.preference.Preference findPreference(CharSequence);
+    method @Deprecated public void finishPreferencePanel(android.app.Fragment, int, android.content.Intent);
+    method @Deprecated public android.preference.PreferenceManager getPreferenceManager();
+    method @Deprecated public android.preference.PreferenceScreen getPreferenceScreen();
+    method @Deprecated public boolean hasHeaders();
+    method @Deprecated public void invalidateHeaders();
+    method @Deprecated public boolean isMultiPane();
+    method @Deprecated protected boolean isValidFragment(String);
+    method @Deprecated public void loadHeadersFromResource(@XmlRes int, java.util.List<android.preference.PreferenceActivity.Header>);
+    method @Deprecated public void onBuildHeaders(java.util.List<android.preference.PreferenceActivity.Header>);
+    method @Deprecated public android.content.Intent onBuildStartFragmentIntent(String, android.os.Bundle, @StringRes int, int);
+    method @Deprecated public android.preference.PreferenceActivity.Header onGetInitialHeader();
+    method @Deprecated public android.preference.PreferenceActivity.Header onGetNewHeader();
+    method @Deprecated public void onHeaderClick(android.preference.PreferenceActivity.Header, int);
+    method @Deprecated public boolean onIsHidingHeaders();
+    method @Deprecated public boolean onIsMultiPane();
+    method @Deprecated public boolean onPreferenceStartFragment(android.preference.PreferenceFragment, android.preference.Preference);
+    method @Deprecated public boolean onPreferenceTreeClick(android.preference.PreferenceScreen, android.preference.Preference);
+    method @Deprecated public void setListFooter(android.view.View);
+    method @Deprecated public void setParentTitle(CharSequence, CharSequence, android.view.View.OnClickListener);
+    method @Deprecated public void setPreferenceScreen(android.preference.PreferenceScreen);
+    method @Deprecated public void showBreadCrumbs(CharSequence, CharSequence);
+    method @Deprecated public void startPreferenceFragment(android.app.Fragment, boolean);
+    method @Deprecated public void startPreferencePanel(String, android.os.Bundle, @StringRes int, CharSequence, android.app.Fragment, int);
+    method @Deprecated public void startWithFragment(String, android.os.Bundle, android.app.Fragment, int);
+    method @Deprecated public void startWithFragment(String, android.os.Bundle, android.app.Fragment, int, @StringRes int, @StringRes int);
+    method @Deprecated public void switchToHeader(String, android.os.Bundle);
+    method @Deprecated public void switchToHeader(android.preference.PreferenceActivity.Header);
+    field @Deprecated public static final String EXTRA_NO_HEADERS = ":android:no_headers";
+    field @Deprecated public static final String EXTRA_SHOW_FRAGMENT = ":android:show_fragment";
+    field @Deprecated public static final String EXTRA_SHOW_FRAGMENT_ARGUMENTS = ":android:show_fragment_args";
+    field @Deprecated public static final String EXTRA_SHOW_FRAGMENT_SHORT_TITLE = ":android:show_fragment_short_title";
+    field @Deprecated public static final String EXTRA_SHOW_FRAGMENT_TITLE = ":android:show_fragment_title";
+    field @Deprecated public static final long HEADER_ID_UNDEFINED = -1L; // 0xffffffffffffffffL
+  }
+
+  @Deprecated public static final class PreferenceActivity.Header implements android.os.Parcelable {
+    ctor @Deprecated public PreferenceActivity.Header();
+    method @Deprecated public int describeContents();
+    method @Deprecated public CharSequence getBreadCrumbShortTitle(android.content.res.Resources);
+    method @Deprecated public CharSequence getBreadCrumbTitle(android.content.res.Resources);
+    method @Deprecated public CharSequence getSummary(android.content.res.Resources);
+    method @Deprecated public CharSequence getTitle(android.content.res.Resources);
+    method @Deprecated public void readFromParcel(android.os.Parcel);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.preference.PreferenceActivity.Header> CREATOR;
+    field @Deprecated public CharSequence breadCrumbShortTitle;
+    field @Deprecated @StringRes public int breadCrumbShortTitleRes;
+    field @Deprecated public CharSequence breadCrumbTitle;
+    field @Deprecated @StringRes public int breadCrumbTitleRes;
+    field @Deprecated public android.os.Bundle extras;
+    field @Deprecated public String fragment;
+    field @Deprecated public android.os.Bundle fragmentArguments;
+    field @Deprecated public int iconRes;
+    field @Deprecated public long id;
+    field @Deprecated public android.content.Intent intent;
+    field @Deprecated public CharSequence summary;
+    field @Deprecated @StringRes public int summaryRes;
+    field @Deprecated public CharSequence title;
+    field @Deprecated @StringRes public int titleRes;
+  }
+
+  @Deprecated public class PreferenceCategory extends android.preference.PreferenceGroup {
+    ctor @Deprecated public PreferenceCategory(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public PreferenceCategory(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public PreferenceCategory(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public PreferenceCategory(android.content.Context);
+  }
+
+  @Deprecated public interface PreferenceDataStore {
+    method @Deprecated public default boolean getBoolean(String, boolean);
+    method @Deprecated public default float getFloat(String, float);
+    method @Deprecated public default int getInt(String, int);
+    method @Deprecated public default long getLong(String, long);
+    method @Deprecated @Nullable public default String getString(String, @Nullable String);
+    method @Deprecated @Nullable public default java.util.Set<java.lang.String> getStringSet(String, @Nullable java.util.Set<java.lang.String>);
+    method @Deprecated public default void putBoolean(String, boolean);
+    method @Deprecated public default void putFloat(String, float);
+    method @Deprecated public default void putInt(String, int);
+    method @Deprecated public default void putLong(String, long);
+    method @Deprecated public default void putString(String, @Nullable String);
+    method @Deprecated public default void putStringSet(String, @Nullable java.util.Set<java.lang.String>);
+  }
+
+  @Deprecated public abstract class PreferenceFragment extends android.app.Fragment {
+    ctor @Deprecated public PreferenceFragment();
+    method @Deprecated public void addPreferencesFromIntent(android.content.Intent);
+    method @Deprecated public void addPreferencesFromResource(@XmlRes int);
+    method @Deprecated public android.preference.Preference findPreference(CharSequence);
+    method @Deprecated public android.preference.PreferenceManager getPreferenceManager();
+    method @Deprecated public android.preference.PreferenceScreen getPreferenceScreen();
+    method @Deprecated public boolean onPreferenceTreeClick(android.preference.PreferenceScreen, android.preference.Preference);
+    method @Deprecated public void setPreferenceScreen(android.preference.PreferenceScreen);
+  }
+
+  @Deprecated public static interface PreferenceFragment.OnPreferenceStartFragmentCallback {
+    method @Deprecated public boolean onPreferenceStartFragment(android.preference.PreferenceFragment, android.preference.Preference);
+  }
+
+  @Deprecated public abstract class PreferenceGroup extends android.preference.Preference {
+    ctor @Deprecated public PreferenceGroup(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public PreferenceGroup(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public PreferenceGroup(android.content.Context, android.util.AttributeSet);
+    method @Deprecated public void addItemFromInflater(android.preference.Preference);
+    method @Deprecated public boolean addPreference(android.preference.Preference);
+    method @Deprecated protected void dispatchRestoreInstanceState(android.os.Bundle);
+    method @Deprecated protected void dispatchSaveInstanceState(android.os.Bundle);
+    method @Deprecated public android.preference.Preference findPreference(CharSequence);
+    method @Deprecated public android.preference.Preference getPreference(int);
+    method @Deprecated public int getPreferenceCount();
+    method @Deprecated protected boolean isOnSameScreenAsChildren();
+    method @Deprecated public boolean isOrderingAsAdded();
+    method @Deprecated protected boolean onPrepareAddPreference(android.preference.Preference);
+    method @Deprecated public void removeAll();
+    method @Deprecated public boolean removePreference(android.preference.Preference);
+    method @Deprecated public void setOrderingAsAdded(boolean);
+  }
+
+  @Deprecated public class PreferenceManager {
+    method @Deprecated public android.preference.PreferenceScreen createPreferenceScreen(android.content.Context);
+    method @Deprecated @Nullable public android.preference.Preference findPreference(CharSequence);
+    method @Deprecated public static android.content.SharedPreferences getDefaultSharedPreferences(android.content.Context);
+    method @Deprecated public static String getDefaultSharedPreferencesName(android.content.Context);
+    method @Deprecated @Nullable public android.preference.PreferenceDataStore getPreferenceDataStore();
+    method @Deprecated public android.content.SharedPreferences getSharedPreferences();
+    method @Deprecated public int getSharedPreferencesMode();
+    method @Deprecated public String getSharedPreferencesName();
+    method @Deprecated public boolean isStorageDefault();
+    method @Deprecated public boolean isStorageDeviceProtected();
+    method @Deprecated public static void setDefaultValues(android.content.Context, @XmlRes int, boolean);
+    method @Deprecated public static void setDefaultValues(android.content.Context, String, int, int, boolean);
+    method @Deprecated public void setPreferenceDataStore(android.preference.PreferenceDataStore);
+    method @Deprecated public void setSharedPreferencesMode(int);
+    method @Deprecated public void setSharedPreferencesName(String);
+    method @Deprecated public void setStorageDefault();
+    method @Deprecated public void setStorageDeviceProtected();
+    field @Deprecated public static final String KEY_HAS_SET_DEFAULT_VALUES = "_has_set_default_values";
+    field @Deprecated public static final String METADATA_KEY_PREFERENCES = "android.preference";
+  }
+
+  @Deprecated public static interface PreferenceManager.OnActivityDestroyListener {
+    method @Deprecated public void onActivityDestroy();
+  }
+
+  @Deprecated public static interface PreferenceManager.OnActivityResultListener {
+    method @Deprecated public boolean onActivityResult(int, int, android.content.Intent);
+  }
+
+  @Deprecated public static interface PreferenceManager.OnActivityStopListener {
+    method @Deprecated public void onActivityStop();
+  }
+
+  @Deprecated public final class PreferenceScreen extends android.preference.PreferenceGroup implements android.widget.AdapterView.OnItemClickListener android.content.DialogInterface.OnDismissListener {
+    method @Deprecated public void bind(android.widget.ListView);
+    method @Deprecated public android.app.Dialog getDialog();
+    method @Deprecated public android.widget.ListAdapter getRootAdapter();
+    method @Deprecated protected android.widget.ListAdapter onCreateRootAdapter();
+    method @Deprecated public void onDismiss(android.content.DialogInterface);
+    method @Deprecated public void onItemClick(android.widget.AdapterView, android.view.View, int, long);
+  }
+
+  @Deprecated public class RingtonePreference extends android.preference.Preference implements android.preference.PreferenceManager.OnActivityResultListener {
+    ctor @Deprecated public RingtonePreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public RingtonePreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public RingtonePreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public RingtonePreference(android.content.Context);
+    method @Deprecated public int getRingtoneType();
+    method @Deprecated public boolean getShowDefault();
+    method @Deprecated public boolean getShowSilent();
+    method @Deprecated public boolean onActivityResult(int, int, android.content.Intent);
+    method @Deprecated protected void onPrepareRingtonePickerIntent(android.content.Intent);
+    method @Deprecated protected android.net.Uri onRestoreRingtone();
+    method @Deprecated protected void onSaveRingtone(android.net.Uri);
+    method @Deprecated public void setRingtoneType(int);
+    method @Deprecated public void setShowDefault(boolean);
+    method @Deprecated public void setShowSilent(boolean);
+  }
+
+  @Deprecated public class SwitchPreference extends android.preference.TwoStatePreference {
+    ctor @Deprecated public SwitchPreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public SwitchPreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public SwitchPreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public SwitchPreference(android.content.Context);
+    method @Deprecated public CharSequence getSwitchTextOff();
+    method @Deprecated public CharSequence getSwitchTextOn();
+    method @Deprecated public void setSwitchTextOff(CharSequence);
+    method @Deprecated public void setSwitchTextOff(@StringRes int);
+    method @Deprecated public void setSwitchTextOn(CharSequence);
+    method @Deprecated public void setSwitchTextOn(@StringRes int);
+  }
+
+  @Deprecated public abstract class TwoStatePreference extends android.preference.Preference {
+    ctor @Deprecated public TwoStatePreference(android.content.Context, android.util.AttributeSet, int, int);
+    ctor @Deprecated public TwoStatePreference(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public TwoStatePreference(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public TwoStatePreference(android.content.Context);
+    method @Deprecated public boolean getDisableDependentsState();
+    method @Deprecated public CharSequence getSummaryOff();
+    method @Deprecated public CharSequence getSummaryOn();
+    method @Deprecated public boolean isChecked();
+    method @Deprecated public void setChecked(boolean);
+    method @Deprecated public void setDisableDependentsState(boolean);
+    method @Deprecated public void setSummaryOff(CharSequence);
+    method @Deprecated public void setSummaryOff(@StringRes int);
+    method @Deprecated public void setSummaryOn(CharSequence);
+    method @Deprecated public void setSummaryOn(@StringRes int);
+  }
+
+}
+
+package android.print {
+
+  public final class PageRange implements android.os.Parcelable {
+    ctor public PageRange(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public int describeContents();
+    method @IntRange(from=0) public int getEnd();
+    method @IntRange(from=0) public int getStart();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.print.PageRange ALL_PAGES;
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PageRange> CREATOR;
+  }
+
+  public final class PrintAttributes implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0) public int getColorMode();
+    method @IntRange(from=0) public int getDuplexMode();
+    method @Nullable public android.print.PrintAttributes.MediaSize getMediaSize();
+    method @Nullable public android.print.PrintAttributes.Margins getMinMargins();
+    method @Nullable public android.print.PrintAttributes.Resolution getResolution();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int COLOR_MODE_COLOR = 2; // 0x2
+    field public static final int COLOR_MODE_MONOCHROME = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintAttributes> CREATOR;
+    field public static final int DUPLEX_MODE_LONG_EDGE = 2; // 0x2
+    field public static final int DUPLEX_MODE_NONE = 1; // 0x1
+    field public static final int DUPLEX_MODE_SHORT_EDGE = 4; // 0x4
+  }
+
+  public static final class PrintAttributes.Builder {
+    ctor public PrintAttributes.Builder();
+    method @NonNull public android.print.PrintAttributes build();
+    method @NonNull public android.print.PrintAttributes.Builder setColorMode(int);
+    method @NonNull public android.print.PrintAttributes.Builder setDuplexMode(int);
+    method @NonNull public android.print.PrintAttributes.Builder setMediaSize(@NonNull android.print.PrintAttributes.MediaSize);
+    method @NonNull public android.print.PrintAttributes.Builder setMinMargins(@NonNull android.print.PrintAttributes.Margins);
+    method @NonNull public android.print.PrintAttributes.Builder setResolution(@NonNull android.print.PrintAttributes.Resolution);
+  }
+
+  public static final class PrintAttributes.Margins {
+    ctor public PrintAttributes.Margins(int, int, int, int);
+    method public int getBottomMils();
+    method public int getLeftMils();
+    method public int getRightMils();
+    method public int getTopMils();
+    field public static final android.print.PrintAttributes.Margins NO_MARGINS;
+  }
+
+  public static final class PrintAttributes.MediaSize {
+    ctor public PrintAttributes.MediaSize(@NonNull String, @NonNull String, @IntRange(from=1) int, @IntRange(from=1) int);
+    method @NonNull public android.print.PrintAttributes.MediaSize asLandscape();
+    method @NonNull public android.print.PrintAttributes.MediaSize asPortrait();
+    method @IntRange(from=1) public int getHeightMils();
+    method @NonNull public String getId();
+    method @NonNull public String getLabel(@NonNull android.content.pm.PackageManager);
+    method @IntRange(from=1) public int getWidthMils();
+    method public boolean isPortrait();
+    field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_C;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_D;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_E;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize ANSI_F;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A0;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A1;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A10;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A2;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A3;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A4;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A5;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A6;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A7;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A8;
+    field public static final android.print.PrintAttributes.MediaSize ISO_A9;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B0;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B1;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B10;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B2;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B3;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B4;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B5;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B6;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B7;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B8;
+    field public static final android.print.PrintAttributes.MediaSize ISO_B9;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C0;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C1;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C10;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C2;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C3;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C4;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C5;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C6;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C7;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C8;
+    field public static final android.print.PrintAttributes.MediaSize ISO_C9;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B0;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B1;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B10;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B2;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B3;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B4;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B5;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B6;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B7;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B8;
+    field public static final android.print.PrintAttributes.MediaSize JIS_B9;
+    field public static final android.print.PrintAttributes.MediaSize JIS_EXEC;
+    field public static final android.print.PrintAttributes.MediaSize JPN_CHOU2;
+    field public static final android.print.PrintAttributes.MediaSize JPN_CHOU3;
+    field public static final android.print.PrintAttributes.MediaSize JPN_CHOU4;
+    field public static final android.print.PrintAttributes.MediaSize JPN_HAGAKI;
+    field public static final android.print.PrintAttributes.MediaSize JPN_KAHU;
+    field public static final android.print.PrintAttributes.MediaSize JPN_KAKU2;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize JPN_OE_PHOTO_L;
+    field public static final android.print.PrintAttributes.MediaSize JPN_OUFUKU;
+    field public static final android.print.PrintAttributes.MediaSize JPN_YOU4;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_A;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_B;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_C;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_D;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_E;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_ARCH_E1;
+    field public static final android.print.PrintAttributes.MediaSize NA_FOOLSCAP;
+    field public static final android.print.PrintAttributes.MediaSize NA_GOVT_LETTER;
+    field public static final android.print.PrintAttributes.MediaSize NA_INDEX_3X5;
+    field public static final android.print.PrintAttributes.MediaSize NA_INDEX_4X6;
+    field public static final android.print.PrintAttributes.MediaSize NA_INDEX_5X8;
+    field public static final android.print.PrintAttributes.MediaSize NA_JUNIOR_LEGAL;
+    field public static final android.print.PrintAttributes.MediaSize NA_LEDGER;
+    field public static final android.print.PrintAttributes.MediaSize NA_LEGAL;
+    field public static final android.print.PrintAttributes.MediaSize NA_LETTER;
+    field public static final android.print.PrintAttributes.MediaSize NA_MONARCH;
+    field public static final android.print.PrintAttributes.MediaSize NA_QUARTO;
+    field @NonNull public static final android.print.PrintAttributes.MediaSize NA_SUPER_B;
+    field public static final android.print.PrintAttributes.MediaSize NA_TABLOID;
+    field public static final android.print.PrintAttributes.MediaSize OM_DAI_PA_KAI;
+    field public static final android.print.PrintAttributes.MediaSize OM_JUURO_KU_KAI;
+    field public static final android.print.PrintAttributes.MediaSize OM_PA_KAI;
+    field public static final android.print.PrintAttributes.MediaSize PRC_1;
+    field public static final android.print.PrintAttributes.MediaSize PRC_10;
+    field public static final android.print.PrintAttributes.MediaSize PRC_16K;
+    field public static final android.print.PrintAttributes.MediaSize PRC_2;
+    field public static final android.print.PrintAttributes.MediaSize PRC_3;
+    field public static final android.print.PrintAttributes.MediaSize PRC_4;
+    field public static final android.print.PrintAttributes.MediaSize PRC_5;
+    field public static final android.print.PrintAttributes.MediaSize PRC_6;
+    field public static final android.print.PrintAttributes.MediaSize PRC_7;
+    field public static final android.print.PrintAttributes.MediaSize PRC_8;
+    field public static final android.print.PrintAttributes.MediaSize PRC_9;
+    field public static final android.print.PrintAttributes.MediaSize ROC_16K;
+    field public static final android.print.PrintAttributes.MediaSize ROC_8K;
+    field public static final android.print.PrintAttributes.MediaSize UNKNOWN_LANDSCAPE;
+    field public static final android.print.PrintAttributes.MediaSize UNKNOWN_PORTRAIT;
+  }
+
+  public static final class PrintAttributes.Resolution {
+    ctor public PrintAttributes.Resolution(@NonNull String, @NonNull String, @IntRange(from=1) int, @IntRange(from=1) int);
+    method @IntRange(from=1) public int getHorizontalDpi();
+    method @NonNull public String getId();
+    method @NonNull public String getLabel();
+    method @IntRange(from=1) public int getVerticalDpi();
+  }
+
+  public abstract class PrintDocumentAdapter {
+    ctor public PrintDocumentAdapter();
+    method public void onFinish();
+    method public abstract void onLayout(android.print.PrintAttributes, android.print.PrintAttributes, android.os.CancellationSignal, android.print.PrintDocumentAdapter.LayoutResultCallback, android.os.Bundle);
+    method public void onStart();
+    method public abstract void onWrite(android.print.PageRange[], android.os.ParcelFileDescriptor, android.os.CancellationSignal, android.print.PrintDocumentAdapter.WriteResultCallback);
+    field public static final String EXTRA_PRINT_PREVIEW = "EXTRA_PRINT_PREVIEW";
+  }
+
+  public abstract static class PrintDocumentAdapter.LayoutResultCallback {
+    method public void onLayoutCancelled();
+    method public void onLayoutFailed(CharSequence);
+    method public void onLayoutFinished(android.print.PrintDocumentInfo, boolean);
+  }
+
+  public abstract static class PrintDocumentAdapter.WriteResultCallback {
+    method public void onWriteCancelled();
+    method public void onWriteFailed(CharSequence);
+    method public void onWriteFinished(android.print.PageRange[]);
+  }
+
+  public final class PrintDocumentInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getContentType();
+    method @IntRange(from=0) public long getDataSize();
+    method @NonNull public String getName();
+    method @IntRange(from=0xffffffff) public int getPageCount();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CONTENT_TYPE_DOCUMENT = 0; // 0x0
+    field public static final int CONTENT_TYPE_PHOTO = 1; // 0x1
+    field public static final int CONTENT_TYPE_UNKNOWN = -1; // 0xffffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintDocumentInfo> CREATOR;
+    field public static final int PAGE_COUNT_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public static final class PrintDocumentInfo.Builder {
+    ctor public PrintDocumentInfo.Builder(@NonNull String);
+    method @NonNull public android.print.PrintDocumentInfo build();
+    method @NonNull public android.print.PrintDocumentInfo.Builder setContentType(int);
+    method @NonNull public android.print.PrintDocumentInfo.Builder setPageCount(@IntRange(from=0xffffffff) int);
+  }
+
+  public final class PrintJob {
+    method public void cancel();
+    method @Nullable public android.print.PrintJobId getId();
+    method @NonNull public android.print.PrintJobInfo getInfo();
+    method public boolean isBlocked();
+    method public boolean isCancelled();
+    method public boolean isCompleted();
+    method public boolean isFailed();
+    method public boolean isQueued();
+    method public boolean isStarted();
+    method public void restart();
+  }
+
+  public final class PrintJobId implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintJobId> CREATOR;
+  }
+
+  public final class PrintJobInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAdvancedIntOption(String);
+    method public String getAdvancedStringOption(String);
+    method @NonNull public android.print.PrintAttributes getAttributes();
+    method @IntRange(from=0) public int getCopies();
+    method public long getCreationTime();
+    method @Nullable public android.print.PrintJobId getId();
+    method @NonNull public String getLabel();
+    method @Nullable public android.print.PageRange[] getPages();
+    method @Nullable public android.print.PrinterId getPrinterId();
+    method public int getState();
+    method public boolean hasAdvancedOption(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintJobInfo> CREATOR;
+    field public static final int STATE_BLOCKED = 4; // 0x4
+    field public static final int STATE_CANCELED = 7; // 0x7
+    field public static final int STATE_COMPLETED = 5; // 0x5
+    field public static final int STATE_CREATED = 1; // 0x1
+    field public static final int STATE_FAILED = 6; // 0x6
+    field public static final int STATE_QUEUED = 2; // 0x2
+    field public static final int STATE_STARTED = 3; // 0x3
+  }
+
+  public static final class PrintJobInfo.Builder {
+    ctor public PrintJobInfo.Builder(@Nullable android.print.PrintJobInfo);
+    method @NonNull public android.print.PrintJobInfo build();
+    method public void putAdvancedOption(@NonNull String, @Nullable String);
+    method public void putAdvancedOption(@NonNull String, int);
+    method public void setAttributes(@NonNull android.print.PrintAttributes);
+    method public void setCopies(@IntRange(from=1) int);
+    method public void setPages(@NonNull android.print.PageRange[]);
+  }
+
+  public final class PrintManager {
+    method @NonNull public java.util.List<android.print.PrintJob> getPrintJobs();
+    method @NonNull public android.print.PrintJob print(@NonNull String, @NonNull android.print.PrintDocumentAdapter, @Nullable android.print.PrintAttributes);
+  }
+
+  public final class PrinterCapabilitiesInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getColorModes();
+    method @NonNull public android.print.PrintAttributes getDefaults();
+    method public int getDuplexModes();
+    method @NonNull public java.util.List<android.print.PrintAttributes.MediaSize> getMediaSizes();
+    method @NonNull public android.print.PrintAttributes.Margins getMinMargins();
+    method @NonNull public java.util.List<android.print.PrintAttributes.Resolution> getResolutions();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrinterCapabilitiesInfo> CREATOR;
+  }
+
+  public static final class PrinterCapabilitiesInfo.Builder {
+    ctor public PrinterCapabilitiesInfo.Builder(@NonNull android.print.PrinterId);
+    method @NonNull public android.print.PrinterCapabilitiesInfo.Builder addMediaSize(@NonNull android.print.PrintAttributes.MediaSize, boolean);
+    method @NonNull public android.print.PrinterCapabilitiesInfo.Builder addResolution(@NonNull android.print.PrintAttributes.Resolution, boolean);
+    method @NonNull public android.print.PrinterCapabilitiesInfo build();
+    method @NonNull public android.print.PrinterCapabilitiesInfo.Builder setColorModes(int, int);
+    method @NonNull public android.print.PrinterCapabilitiesInfo.Builder setDuplexModes(int, int);
+    method @NonNull public android.print.PrinterCapabilitiesInfo.Builder setMinMargins(@NonNull android.print.PrintAttributes.Margins);
+  }
+
+  public final class PrinterId implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getLocalId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrinterId> CREATOR;
+  }
+
+  public final class PrinterInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.print.PrinterCapabilitiesInfo getCapabilities();
+    method @Nullable public String getDescription();
+    method @NonNull public android.print.PrinterId getId();
+    method @NonNull public String getName();
+    method public int getStatus();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.print.PrinterInfo> CREATOR;
+    field public static final int STATUS_BUSY = 2; // 0x2
+    field public static final int STATUS_IDLE = 1; // 0x1
+    field public static final int STATUS_UNAVAILABLE = 3; // 0x3
+  }
+
+  public static final class PrinterInfo.Builder {
+    ctor public PrinterInfo.Builder(@NonNull android.print.PrinterId, @NonNull String, int);
+    ctor public PrinterInfo.Builder(@NonNull android.print.PrinterInfo);
+    method @NonNull public android.print.PrinterInfo build();
+    method @NonNull public android.print.PrinterInfo.Builder setCapabilities(@NonNull android.print.PrinterCapabilitiesInfo);
+    method @NonNull public android.print.PrinterInfo.Builder setDescription(@NonNull String);
+    method @NonNull public android.print.PrinterInfo.Builder setHasCustomPrinterIcon(boolean);
+    method @NonNull public android.print.PrinterInfo.Builder setIconResourceId(@DrawableRes int);
+    method @NonNull public android.print.PrinterInfo.Builder setInfoIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.print.PrinterInfo.Builder setName(@NonNull String);
+    method @NonNull public android.print.PrinterInfo.Builder setStatus(int);
+  }
+
+}
+
+package android.print.pdf {
+
+  public class PrintedPdfDocument extends android.graphics.pdf.PdfDocument {
+    ctor public PrintedPdfDocument(@NonNull android.content.Context, @NonNull android.print.PrintAttributes);
+    method @NonNull public android.graphics.Rect getPageContentRect();
+    method @IntRange(from=0) public int getPageHeight();
+    method @IntRange(from=0) public int getPageWidth();
+    method @NonNull public android.graphics.pdf.PdfDocument.Page startPage(@IntRange(from=0) int);
+  }
+
+}
+
+package android.printservice {
+
+  public final class CustomPrinterIconCallback {
+    method public boolean onCustomPrinterIconLoaded(@Nullable android.graphics.drawable.Icon);
+  }
+
+  public final class PrintDocument {
+    method @Nullable public android.os.ParcelFileDescriptor getData();
+    method @NonNull public android.print.PrintDocumentInfo getInfo();
+  }
+
+  public final class PrintJob {
+    method @MainThread public boolean block(@Nullable String);
+    method @MainThread public boolean cancel();
+    method @MainThread public boolean complete();
+    method @MainThread public boolean fail(@Nullable String);
+    method @MainThread public int getAdvancedIntOption(String);
+    method @MainThread public String getAdvancedStringOption(String);
+    method @MainThread @NonNull public android.printservice.PrintDocument getDocument();
+    method @MainThread public android.print.PrintJobId getId();
+    method @MainThread @NonNull public android.print.PrintJobInfo getInfo();
+    method @MainThread @Nullable public String getTag();
+    method @MainThread public boolean hasAdvancedOption(String);
+    method @MainThread public boolean isBlocked();
+    method @MainThread public boolean isCancelled();
+    method @MainThread public boolean isCompleted();
+    method @MainThread public boolean isFailed();
+    method @MainThread public boolean isQueued();
+    method @MainThread public boolean isStarted();
+    method @MainThread public void setProgress(@FloatRange(from=0.0, to=1.0) float);
+    method @MainThread public void setStatus(@Nullable CharSequence);
+    method @MainThread public void setStatus(@StringRes int);
+    method @MainThread public boolean setTag(@NonNull String);
+    method @MainThread public boolean start();
+  }
+
+  public abstract class PrintService extends android.app.Service {
+    ctor public PrintService();
+    method protected final void attachBaseContext(android.content.Context);
+    method @NonNull public final android.print.PrinterId generatePrinterId(String);
+    method public final java.util.List<android.printservice.PrintJob> getActivePrintJobs();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method protected void onConnected();
+    method @Nullable protected abstract android.printservice.PrinterDiscoverySession onCreatePrinterDiscoverySession();
+    method protected void onDisconnected();
+    method protected abstract void onPrintJobQueued(android.printservice.PrintJob);
+    method protected abstract void onRequestCancelPrintJob(android.printservice.PrintJob);
+    field public static final String EXTRA_CAN_SELECT_PRINTER = "android.printservice.extra.CAN_SELECT_PRINTER";
+    field public static final String EXTRA_PRINTER_INFO = "android.intent.extra.print.EXTRA_PRINTER_INFO";
+    field public static final String EXTRA_PRINT_DOCUMENT_INFO = "android.printservice.extra.PRINT_DOCUMENT_INFO";
+    field public static final String EXTRA_PRINT_JOB_INFO = "android.intent.extra.print.PRINT_JOB_INFO";
+    field public static final String EXTRA_SELECT_PRINTER = "android.printservice.extra.SELECT_PRINTER";
+    field public static final String SERVICE_INTERFACE = "android.printservice.PrintService";
+    field public static final String SERVICE_META_DATA = "android.printservice";
+  }
+
+  public abstract class PrinterDiscoverySession {
+    ctor public PrinterDiscoverySession();
+    method public final void addPrinters(@NonNull java.util.List<android.print.PrinterInfo>);
+    method @NonNull public final java.util.List<android.print.PrinterInfo> getPrinters();
+    method @NonNull public final java.util.List<android.print.PrinterId> getTrackedPrinters();
+    method public final boolean isDestroyed();
+    method public final boolean isPrinterDiscoveryStarted();
+    method public abstract void onDestroy();
+    method public void onRequestCustomPrinterIcon(@NonNull android.print.PrinterId, @NonNull android.os.CancellationSignal, @NonNull android.printservice.CustomPrinterIconCallback);
+    method public abstract void onStartPrinterDiscovery(@NonNull java.util.List<android.print.PrinterId>);
+    method public abstract void onStartPrinterStateTracking(@NonNull android.print.PrinterId);
+    method public abstract void onStopPrinterDiscovery();
+    method public abstract void onStopPrinterStateTracking(@NonNull android.print.PrinterId);
+    method public abstract void onValidatePrinters(@NonNull java.util.List<android.print.PrinterId>);
+    method public final void removePrinters(@NonNull java.util.List<android.print.PrinterId>);
+  }
+
+}
+
+package android.provider {
+
+  public final class AlarmClock {
+    ctor public AlarmClock();
+    field public static final String ACTION_DISMISS_ALARM = "android.intent.action.DISMISS_ALARM";
+    field public static final String ACTION_DISMISS_TIMER = "android.intent.action.DISMISS_TIMER";
+    field public static final String ACTION_SET_ALARM = "android.intent.action.SET_ALARM";
+    field public static final String ACTION_SET_TIMER = "android.intent.action.SET_TIMER";
+    field public static final String ACTION_SHOW_ALARMS = "android.intent.action.SHOW_ALARMS";
+    field public static final String ACTION_SHOW_TIMERS = "android.intent.action.SHOW_TIMERS";
+    field public static final String ACTION_SNOOZE_ALARM = "android.intent.action.SNOOZE_ALARM";
+    field public static final String ALARM_SEARCH_MODE_ALL = "android.all";
+    field public static final String ALARM_SEARCH_MODE_LABEL = "android.label";
+    field public static final String ALARM_SEARCH_MODE_NEXT = "android.next";
+    field public static final String ALARM_SEARCH_MODE_TIME = "android.time";
+    field public static final String EXTRA_ALARM_SEARCH_MODE = "android.intent.extra.alarm.SEARCH_MODE";
+    field public static final String EXTRA_ALARM_SNOOZE_DURATION = "android.intent.extra.alarm.SNOOZE_DURATION";
+    field public static final String EXTRA_DAYS = "android.intent.extra.alarm.DAYS";
+    field public static final String EXTRA_HOUR = "android.intent.extra.alarm.HOUR";
+    field public static final String EXTRA_IS_PM = "android.intent.extra.alarm.IS_PM";
+    field public static final String EXTRA_LENGTH = "android.intent.extra.alarm.LENGTH";
+    field public static final String EXTRA_MESSAGE = "android.intent.extra.alarm.MESSAGE";
+    field public static final String EXTRA_MINUTES = "android.intent.extra.alarm.MINUTES";
+    field public static final String EXTRA_RINGTONE = "android.intent.extra.alarm.RINGTONE";
+    field public static final String EXTRA_SKIP_UI = "android.intent.extra.alarm.SKIP_UI";
+    field public static final String EXTRA_VIBRATE = "android.intent.extra.alarm.VIBRATE";
+    field public static final String VALUE_RINGTONE_SILENT = "silent";
+  }
+
+  public interface BaseColumns {
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  public class BlockedNumberContract {
+    method public static boolean canCurrentUserBlockNumbers(android.content.Context);
+    method @WorkerThread public static boolean isBlocked(android.content.Context, String);
+    method @WorkerThread public static int unblock(android.content.Context, String);
+    field public static final String AUTHORITY = "com.android.blockednumber";
+    field public static final android.net.Uri AUTHORITY_URI;
+  }
+
+  public static class BlockedNumberContract.BlockedNumbers {
+    field public static final String COLUMN_E164_NUMBER = "e164_number";
+    field public static final String COLUMN_ID = "_id";
+    field public static final String COLUMN_ORIGINAL_NUMBER = "original_number";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/blocked_number";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/blocked_number";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public class Browser {
+    ctor public Browser();
+    method public static final void sendString(android.content.Context, String);
+    field public static final String EXTRA_APPLICATION_ID = "com.android.browser.application_id";
+    field public static final String EXTRA_CREATE_NEW_TAB = "create_new_tab";
+    field public static final String EXTRA_HEADERS = "com.android.browser.headers";
+    field public static final String INITIAL_ZOOM_LEVEL = "browser.initialZoomLevel";
+  }
+
+  public final class CalendarContract {
+    method public static boolean startViewCalendarEventInManagedProfile(@NonNull android.content.Context, long, long, long, boolean, int);
+    field public static final String ACCOUNT_TYPE_LOCAL = "LOCAL";
+    field public static final String ACTION_EVENT_REMINDER = "android.intent.action.EVENT_REMINDER";
+    field public static final String ACTION_HANDLE_CUSTOM_EVENT = "android.provider.calendar.action.HANDLE_CUSTOM_EVENT";
+    field public static final String ACTION_VIEW_MANAGED_PROFILE_CALENDAR_EVENT = "android.provider.calendar.action.VIEW_MANAGED_PROFILE_CALENDAR_EVENT";
+    field public static final String AUTHORITY = "com.android.calendar";
+    field public static final String CALLER_IS_SYNCADAPTER = "caller_is_syncadapter";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String EXTRA_CUSTOM_APP_URI = "customAppUri";
+    field public static final String EXTRA_EVENT_ALL_DAY = "allDay";
+    field public static final String EXTRA_EVENT_BEGIN_TIME = "beginTime";
+    field public static final String EXTRA_EVENT_END_TIME = "endTime";
+    field public static final String EXTRA_EVENT_ID = "id";
+  }
+
+  public static final class CalendarContract.Attendees implements android.provider.BaseColumns android.provider.CalendarContract.AttendeesColumns android.provider.CalendarContract.EventsColumns {
+    method public static android.database.Cursor query(android.content.ContentResolver, long, String[]);
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.AttendeesColumns {
+    field public static final String ATTENDEE_EMAIL = "attendeeEmail";
+    field public static final String ATTENDEE_IDENTITY = "attendeeIdentity";
+    field public static final String ATTENDEE_ID_NAMESPACE = "attendeeIdNamespace";
+    field public static final String ATTENDEE_NAME = "attendeeName";
+    field public static final String ATTENDEE_RELATIONSHIP = "attendeeRelationship";
+    field public static final String ATTENDEE_STATUS = "attendeeStatus";
+    field public static final int ATTENDEE_STATUS_ACCEPTED = 1; // 0x1
+    field public static final int ATTENDEE_STATUS_DECLINED = 2; // 0x2
+    field public static final int ATTENDEE_STATUS_INVITED = 3; // 0x3
+    field public static final int ATTENDEE_STATUS_NONE = 0; // 0x0
+    field public static final int ATTENDEE_STATUS_TENTATIVE = 4; // 0x4
+    field public static final String ATTENDEE_TYPE = "attendeeType";
+    field public static final String EVENT_ID = "event_id";
+    field public static final int RELATIONSHIP_ATTENDEE = 1; // 0x1
+    field public static final int RELATIONSHIP_NONE = 0; // 0x0
+    field public static final int RELATIONSHIP_ORGANIZER = 2; // 0x2
+    field public static final int RELATIONSHIP_PERFORMER = 3; // 0x3
+    field public static final int RELATIONSHIP_SPEAKER = 4; // 0x4
+    field public static final int TYPE_NONE = 0; // 0x0
+    field public static final int TYPE_OPTIONAL = 2; // 0x2
+    field public static final int TYPE_REQUIRED = 1; // 0x1
+    field public static final int TYPE_RESOURCE = 3; // 0x3
+  }
+
+  public static final class CalendarContract.CalendarAlerts implements android.provider.BaseColumns android.provider.CalendarContract.CalendarAlertsColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri CONTENT_URI_BY_INSTANCE;
+  }
+
+  protected static interface CalendarContract.CalendarAlertsColumns {
+    field public static final String ALARM_TIME = "alarmTime";
+    field public static final String BEGIN = "begin";
+    field public static final String CREATION_TIME = "creationTime";
+    field public static final String DEFAULT_SORT_ORDER = "begin ASC,title ASC";
+    field public static final String END = "end";
+    field public static final String EVENT_ID = "event_id";
+    field public static final String MINUTES = "minutes";
+    field public static final String NOTIFY_TIME = "notifyTime";
+    field public static final String RECEIVED_TIME = "receivedTime";
+    field public static final String STATE = "state";
+    field public static final int STATE_DISMISSED = 2; // 0x2
+    field public static final int STATE_FIRED = 1; // 0x1
+    field public static final int STATE_SCHEDULED = 0; // 0x0
+  }
+
+  public static final class CalendarContract.CalendarCache implements android.provider.CalendarContract.CalendarCacheColumns {
+    field public static final String KEY_TIMEZONE_INSTANCES = "timezoneInstances";
+    field public static final String KEY_TIMEZONE_INSTANCES_PREVIOUS = "timezoneInstancesPrevious";
+    field public static final String KEY_TIMEZONE_TYPE = "timezoneType";
+    field public static final String TIMEZONE_TYPE_AUTO = "auto";
+    field public static final String TIMEZONE_TYPE_HOME = "home";
+    field public static final android.net.Uri URI;
+  }
+
+  protected static interface CalendarContract.CalendarCacheColumns {
+    field public static final String KEY = "key";
+    field public static final String VALUE = "value";
+  }
+
+  protected static interface CalendarContract.CalendarColumns {
+    field public static final String ALLOWED_ATTENDEE_TYPES = "allowedAttendeeTypes";
+    field public static final String ALLOWED_AVAILABILITY = "allowedAvailability";
+    field public static final String ALLOWED_REMINDERS = "allowedReminders";
+    field public static final String CALENDAR_ACCESS_LEVEL = "calendar_access_level";
+    field public static final String CALENDAR_COLOR = "calendar_color";
+    field public static final String CALENDAR_COLOR_KEY = "calendar_color_index";
+    field public static final String CALENDAR_DISPLAY_NAME = "calendar_displayName";
+    field public static final String CALENDAR_TIME_ZONE = "calendar_timezone";
+    field public static final int CAL_ACCESS_CONTRIBUTOR = 500; // 0x1f4
+    field public static final int CAL_ACCESS_EDITOR = 600; // 0x258
+    field public static final int CAL_ACCESS_FREEBUSY = 100; // 0x64
+    field public static final int CAL_ACCESS_NONE = 0; // 0x0
+    field public static final int CAL_ACCESS_OVERRIDE = 400; // 0x190
+    field public static final int CAL_ACCESS_OWNER = 700; // 0x2bc
+    field public static final int CAL_ACCESS_READ = 200; // 0xc8
+    field public static final int CAL_ACCESS_RESPOND = 300; // 0x12c
+    field public static final int CAL_ACCESS_ROOT = 800; // 0x320
+    field public static final String CAN_MODIFY_TIME_ZONE = "canModifyTimeZone";
+    field public static final String CAN_ORGANIZER_RESPOND = "canOrganizerRespond";
+    field public static final String IS_PRIMARY = "isPrimary";
+    field public static final String MAX_REMINDERS = "maxReminders";
+    field public static final String OWNER_ACCOUNT = "ownerAccount";
+    field public static final String SYNC_EVENTS = "sync_events";
+    field public static final String VISIBLE = "visible";
+  }
+
+  public static final class CalendarContract.CalendarEntity implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.SyncColumns {
+    method public static android.content.EntityIterator newEntityIterator(android.database.Cursor);
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.CalendarSyncColumns {
+    field public static final String CAL_SYNC1 = "cal_sync1";
+    field public static final String CAL_SYNC10 = "cal_sync10";
+    field public static final String CAL_SYNC2 = "cal_sync2";
+    field public static final String CAL_SYNC3 = "cal_sync3";
+    field public static final String CAL_SYNC4 = "cal_sync4";
+    field public static final String CAL_SYNC5 = "cal_sync5";
+    field public static final String CAL_SYNC6 = "cal_sync6";
+    field public static final String CAL_SYNC7 = "cal_sync7";
+    field public static final String CAL_SYNC8 = "cal_sync8";
+    field public static final String CAL_SYNC9 = "cal_sync9";
+  }
+
+  public static final class CalendarContract.Calendars implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.SyncColumns {
+    field public static final String CALENDAR_LOCATION = "calendar_location";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "calendar_displayName";
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+    field public static final String NAME = "name";
+  }
+
+  public static final class CalendarContract.Colors implements android.provider.CalendarContract.ColorsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.ColorsColumns extends android.provider.SyncStateContract.Columns {
+    field public static final String COLOR = "color";
+    field public static final String COLOR_KEY = "color_index";
+    field public static final String COLOR_TYPE = "color_type";
+    field public static final int TYPE_CALENDAR = 0; // 0x0
+    field public static final int TYPE_EVENT = 1; // 0x1
+  }
+
+  public static final class CalendarContract.EventDays implements android.provider.CalendarContract.EventDaysColumns {
+    method public static android.database.Cursor query(android.content.ContentResolver, int, int, String[]);
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.EventDaysColumns {
+    field public static final String ENDDAY = "endDay";
+    field public static final String STARTDAY = "startDay";
+  }
+
+  public static final class CalendarContract.Events implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.SyncColumns {
+    field public static final android.net.Uri CONTENT_EXCEPTION_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.EventsColumns {
+    field public static final int ACCESS_CONFIDENTIAL = 1; // 0x1
+    field public static final int ACCESS_DEFAULT = 0; // 0x0
+    field public static final String ACCESS_LEVEL = "accessLevel";
+    field public static final int ACCESS_PRIVATE = 2; // 0x2
+    field public static final int ACCESS_PUBLIC = 3; // 0x3
+    field public static final String ALL_DAY = "allDay";
+    field public static final String AVAILABILITY = "availability";
+    field public static final int AVAILABILITY_BUSY = 0; // 0x0
+    field public static final int AVAILABILITY_FREE = 1; // 0x1
+    field public static final int AVAILABILITY_TENTATIVE = 2; // 0x2
+    field public static final String CALENDAR_ID = "calendar_id";
+    field public static final String CAN_INVITE_OTHERS = "canInviteOthers";
+    field public static final String CUSTOM_APP_PACKAGE = "customAppPackage";
+    field public static final String CUSTOM_APP_URI = "customAppUri";
+    field public static final String DESCRIPTION = "description";
+    field public static final String DISPLAY_COLOR = "displayColor";
+    field public static final String DTEND = "dtend";
+    field public static final String DTSTART = "dtstart";
+    field public static final String DURATION = "duration";
+    field public static final String EVENT_COLOR = "eventColor";
+    field public static final String EVENT_COLOR_KEY = "eventColor_index";
+    field public static final String EVENT_END_TIMEZONE = "eventEndTimezone";
+    field public static final String EVENT_LOCATION = "eventLocation";
+    field public static final String EVENT_TIMEZONE = "eventTimezone";
+    field public static final String EXDATE = "exdate";
+    field public static final String EXRULE = "exrule";
+    field public static final String GUESTS_CAN_INVITE_OTHERS = "guestsCanInviteOthers";
+    field public static final String GUESTS_CAN_MODIFY = "guestsCanModify";
+    field public static final String GUESTS_CAN_SEE_GUESTS = "guestsCanSeeGuests";
+    field public static final String HAS_ALARM = "hasAlarm";
+    field public static final String HAS_ATTENDEE_DATA = "hasAttendeeData";
+    field public static final String HAS_EXTENDED_PROPERTIES = "hasExtendedProperties";
+    field public static final String IS_ORGANIZER = "isOrganizer";
+    field public static final String LAST_DATE = "lastDate";
+    field public static final String LAST_SYNCED = "lastSynced";
+    field public static final String ORGANIZER = "organizer";
+    field public static final String ORIGINAL_ALL_DAY = "originalAllDay";
+    field public static final String ORIGINAL_ID = "original_id";
+    field public static final String ORIGINAL_INSTANCE_TIME = "originalInstanceTime";
+    field public static final String ORIGINAL_SYNC_ID = "original_sync_id";
+    field public static final String RDATE = "rdate";
+    field public static final String RRULE = "rrule";
+    field public static final String SELF_ATTENDEE_STATUS = "selfAttendeeStatus";
+    field public static final String STATUS = "eventStatus";
+    field public static final int STATUS_CANCELED = 2; // 0x2
+    field public static final int STATUS_CONFIRMED = 1; // 0x1
+    field public static final int STATUS_TENTATIVE = 0; // 0x0
+    field public static final String SYNC_DATA1 = "sync_data1";
+    field public static final String SYNC_DATA10 = "sync_data10";
+    field public static final String SYNC_DATA2 = "sync_data2";
+    field public static final String SYNC_DATA3 = "sync_data3";
+    field public static final String SYNC_DATA4 = "sync_data4";
+    field public static final String SYNC_DATA5 = "sync_data5";
+    field public static final String SYNC_DATA6 = "sync_data6";
+    field public static final String SYNC_DATA7 = "sync_data7";
+    field public static final String SYNC_DATA8 = "sync_data8";
+    field public static final String SYNC_DATA9 = "sync_data9";
+    field public static final String TITLE = "title";
+    field public static final String UID_2445 = "uid2445";
+  }
+
+  public static final class CalendarContract.EventsEntity implements android.provider.BaseColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.SyncColumns {
+    method public static android.content.EntityIterator newEntityIterator(android.database.Cursor, android.content.ContentResolver);
+    method public static android.content.EntityIterator newEntityIterator(android.database.Cursor, android.content.ContentProviderClient);
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public static final class CalendarContract.ExtendedProperties implements android.provider.BaseColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.ExtendedPropertiesColumns {
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.ExtendedPropertiesColumns {
+    field public static final String EVENT_ID = "event_id";
+    field public static final String NAME = "name";
+    field public static final String VALUE = "value";
+  }
+
+  public static final class CalendarContract.Instances implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns {
+    method public static android.database.Cursor query(android.content.ContentResolver, String[], long, long);
+    method public static android.database.Cursor query(android.content.ContentResolver, String[], long, long, String);
+    field public static final String BEGIN = "begin";
+    field public static final android.net.Uri CONTENT_BY_DAY_URI;
+    field public static final android.net.Uri CONTENT_SEARCH_BY_DAY_URI;
+    field public static final android.net.Uri CONTENT_SEARCH_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String END = "end";
+    field public static final String END_DAY = "endDay";
+    field public static final String END_MINUTE = "endMinute";
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_BY_DAY_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_SEARCH_BY_DAY_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_SEARCH_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+    field public static final String EVENT_ID = "event_id";
+    field public static final String START_DAY = "startDay";
+    field public static final String START_MINUTE = "startMinute";
+  }
+
+  public static final class CalendarContract.Reminders implements android.provider.BaseColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.RemindersColumns {
+    method public static android.database.Cursor query(android.content.ContentResolver, long, String[]);
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface CalendarContract.RemindersColumns {
+    field public static final String EVENT_ID = "event_id";
+    field public static final String METHOD = "method";
+    field public static final int METHOD_ALARM = 4; // 0x4
+    field public static final int METHOD_ALERT = 1; // 0x1
+    field public static final int METHOD_DEFAULT = 0; // 0x0
+    field public static final int METHOD_EMAIL = 2; // 0x2
+    field public static final int METHOD_SMS = 3; // 0x3
+    field public static final String MINUTES = "minutes";
+    field public static final int MINUTES_DEFAULT = -1; // 0xffffffff
+  }
+
+  protected static interface CalendarContract.SyncColumns extends android.provider.CalendarContract.CalendarSyncColumns {
+    field public static final String ACCOUNT_NAME = "account_name";
+    field public static final String ACCOUNT_TYPE = "account_type";
+    field public static final String CAN_PARTIALLY_UPDATE = "canPartiallyUpdate";
+    field public static final String DELETED = "deleted";
+    field public static final String DIRTY = "dirty";
+    field public static final String MUTATORS = "mutators";
+    field public static final String _SYNC_ID = "_sync_id";
+  }
+
+  public static final class CalendarContract.SyncState implements android.provider.SyncStateContract.Columns {
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public class CallLog {
+    ctor public CallLog();
+    field public static final String AUTHORITY = "call_log";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public static class CallLog.Calls implements android.provider.BaseColumns {
+    ctor public CallLog.Calls();
+    method public static String getLastOutgoingCall(android.content.Context);
+    field public static final int ANSWERED_EXTERNALLY_TYPE = 7; // 0x7
+    field public static final long AUTO_MISSED_EMERGENCY_CALL = 1L; // 0x1L
+    field public static final long AUTO_MISSED_MAXIMUM_DIALING = 4L; // 0x4L
+    field public static final long AUTO_MISSED_MAXIMUM_RINGING = 2L; // 0x2L
+    field public static final int BLOCKED_TYPE = 6; // 0x6
+    field public static final String BLOCK_REASON = "block_reason";
+    field public static final int BLOCK_REASON_BLOCKED_NUMBER = 3; // 0x3
+    field public static final int BLOCK_REASON_CALL_SCREENING_SERVICE = 1; // 0x1
+    field public static final int BLOCK_REASON_DIRECT_TO_VOICEMAIL = 2; // 0x2
+    field public static final int BLOCK_REASON_NOT_BLOCKED = 0; // 0x0
+    field public static final int BLOCK_REASON_NOT_IN_CONTACTS = 7; // 0x7
+    field public static final int BLOCK_REASON_PAY_PHONE = 6; // 0x6
+    field public static final int BLOCK_REASON_RESTRICTED_NUMBER = 5; // 0x5
+    field public static final int BLOCK_REASON_UNKNOWN_NUMBER = 4; // 0x4
+    field public static final String CACHED_FORMATTED_NUMBER = "formatted_number";
+    field public static final String CACHED_LOOKUP_URI = "lookup_uri";
+    field public static final String CACHED_MATCHED_NUMBER = "matched_number";
+    field public static final String CACHED_NAME = "name";
+    field public static final String CACHED_NORMALIZED_NUMBER = "normalized_number";
+    field public static final String CACHED_NUMBER_LABEL = "numberlabel";
+    field public static final String CACHED_NUMBER_TYPE = "numbertype";
+    field public static final String CACHED_PHOTO_ID = "photo_id";
+    field public static final String CACHED_PHOTO_URI = "photo_uri";
+    field public static final String CALL_SCREENING_APP_NAME = "call_screening_app_name";
+    field public static final String CALL_SCREENING_COMPONENT_NAME = "call_screening_component_name";
+    field public static final String COMPOSER_PHOTO_URI = "composer_photo_uri";
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/calls";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/calls";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri CONTENT_URI_WITH_VOICEMAIL;
+    field public static final String COUNTRY_ISO = "countryiso";
+    field public static final String DATA_USAGE = "data_usage";
+    field public static final String DATE = "date";
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+    field public static final String DURATION = "duration";
+    field public static final String EXTRA_CALL_TYPE_FILTER = "android.provider.extra.CALL_TYPE_FILTER";
+    field public static final String FEATURES = "features";
+    field public static final int FEATURES_ASSISTED_DIALING_USED = 16; // 0x10
+    field public static final int FEATURES_HD_CALL = 4; // 0x4
+    field public static final int FEATURES_PULLED_EXTERNALLY = 2; // 0x2
+    field public static final int FEATURES_RTT = 32; // 0x20
+    field public static final int FEATURES_VIDEO = 1; // 0x1
+    field public static final int FEATURES_VOLTE = 64; // 0x40
+    field public static final int FEATURES_WIFI = 8; // 0x8
+    field public static final String GEOCODED_LOCATION = "geocoded_location";
+    field public static final int INCOMING_TYPE = 1; // 0x1
+    field public static final String IS_READ = "is_read";
+    field public static final String LAST_MODIFIED = "last_modified";
+    field public static final String LIMIT_PARAM_KEY = "limit";
+    field public static final String LOCATION = "location";
+    field public static final String MISSED_REASON = "missed_reason";
+    field public static final long MISSED_REASON_NOT_MISSED = 0L; // 0x0L
+    field public static final int MISSED_TYPE = 3; // 0x3
+    field public static final String NEW = "new";
+    field public static final String NUMBER = "number";
+    field public static final String NUMBER_PRESENTATION = "presentation";
+    field public static final String OFFSET_PARAM_KEY = "offset";
+    field public static final int OUTGOING_TYPE = 2; // 0x2
+    field public static final String PHONE_ACCOUNT_COMPONENT_NAME = "subscription_component_name";
+    field public static final String PHONE_ACCOUNT_ID = "subscription_id";
+    field public static final String POST_DIAL_DIGITS = "post_dial_digits";
+    field public static final int PRESENTATION_ALLOWED = 1; // 0x1
+    field public static final int PRESENTATION_PAYPHONE = 4; // 0x4
+    field public static final int PRESENTATION_RESTRICTED = 2; // 0x2
+    field public static final int PRESENTATION_UNKNOWN = 3; // 0x3
+    field public static final String PRIORITY = "priority";
+    field public static final int PRIORITY_NORMAL = 0; // 0x0
+    field public static final int PRIORITY_URGENT = 1; // 0x1
+    field public static final int REJECTED_TYPE = 5; // 0x5
+    field public static final String SUBJECT = "subject";
+    field public static final String TRANSCRIPTION = "transcription";
+    field public static final String TYPE = "type";
+    field public static final long USER_MISSED_CALL_FILTERS_TIMEOUT = 4194304L; // 0x400000L
+    field public static final long USER_MISSED_CALL_SCREENING_SERVICE_SILENCED = 2097152L; // 0x200000L
+    field public static final long USER_MISSED_DND_MODE = 262144L; // 0x40000L
+    field public static final long USER_MISSED_LOW_RING_VOLUME = 524288L; // 0x80000L
+    field public static final long USER_MISSED_NO_ANSWER = 65536L; // 0x10000L
+    field public static final long USER_MISSED_NO_VIBRATE = 1048576L; // 0x100000L
+    field public static final long USER_MISSED_SHORT_RING = 131072L; // 0x20000L
+    field public static final String VIA_NUMBER = "via_number";
+    field public static final int VOICEMAIL_TYPE = 4; // 0x4
+    field public static final String VOICEMAIL_URI = "voicemail_uri";
+  }
+
+  public static class CallLog.Locations implements android.provider.BaseColumns {
+    field public static final String AUTHORITY = "call_composer_locations";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/call_composer_location";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/call_composer_location";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final String LATITUDE = "latitude";
+    field public static final String LONGITUDE = "longitude";
+  }
+
+  @Deprecated public class Contacts {
+    field @Deprecated public static final String AUTHORITY = "contacts";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final int KIND_EMAIL = 1; // 0x1
+    field @Deprecated public static final int KIND_IM = 3; // 0x3
+    field @Deprecated public static final int KIND_ORGANIZATION = 4; // 0x4
+    field @Deprecated public static final int KIND_PHONE = 5; // 0x5
+    field @Deprecated public static final int KIND_POSTAL = 2; // 0x2
+  }
+
+  @Deprecated public static final class Contacts.ContactMethods implements android.provider.BaseColumns android.provider.Contacts.ContactMethodsColumns android.provider.Contacts.PeopleColumns {
+    method @Deprecated public void addPostalLocation(android.content.Context, long, double, double);
+    method @Deprecated public static Object decodeImProtocol(String);
+    method @Deprecated public static String encodeCustomImProtocol(String);
+    method @Deprecated public static String encodePredefinedImProtocol(int);
+    method @Deprecated public static CharSequence getDisplayLabel(android.content.Context, int, int, CharSequence);
+    field @Deprecated public static final String CONTENT_EMAIL_ITEM_TYPE = "vnd.android.cursor.item/email";
+    field @Deprecated public static final String CONTENT_EMAIL_TYPE = "vnd.android.cursor.dir/email";
+    field @Deprecated public static final android.net.Uri CONTENT_EMAIL_URI;
+    field @Deprecated public static final String CONTENT_IM_ITEM_TYPE = "vnd.android.cursor.item/jabber-im";
+    field @Deprecated public static final String CONTENT_POSTAL_ITEM_TYPE = "vnd.android.cursor.item/postal-address";
+    field @Deprecated public static final String CONTENT_POSTAL_TYPE = "vnd.android.cursor.dir/postal-address";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact-methods";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final String PERSON_ID = "person";
+    field @Deprecated public static final String POSTAL_LOCATION_LATITUDE = "data";
+    field @Deprecated public static final String POSTAL_LOCATION_LONGITUDE = "aux_data";
+    field @Deprecated public static final int PROTOCOL_AIM = 0; // 0x0
+    field @Deprecated public static final int PROTOCOL_GOOGLE_TALK = 5; // 0x5
+    field @Deprecated public static final int PROTOCOL_ICQ = 6; // 0x6
+    field @Deprecated public static final int PROTOCOL_JABBER = 7; // 0x7
+    field @Deprecated public static final int PROTOCOL_MSN = 1; // 0x1
+    field @Deprecated public static final int PROTOCOL_QQ = 4; // 0x4
+    field @Deprecated public static final int PROTOCOL_SKYPE = 3; // 0x3
+    field @Deprecated public static final int PROTOCOL_YAHOO = 2; // 0x2
+  }
+
+  @Deprecated public static interface Contacts.ContactMethodsColumns {
+    field @Deprecated public static final String AUX_DATA = "aux_data";
+    field @Deprecated public static final String DATA = "data";
+    field @Deprecated public static final String ISPRIMARY = "isprimary";
+    field @Deprecated public static final String KIND = "kind";
+    field @Deprecated public static final String LABEL = "label";
+    field @Deprecated public static final String TYPE = "type";
+    field @Deprecated public static final int TYPE_CUSTOM = 0; // 0x0
+    field @Deprecated public static final int TYPE_HOME = 1; // 0x1
+    field @Deprecated public static final int TYPE_OTHER = 3; // 0x3
+    field @Deprecated public static final int TYPE_WORK = 2; // 0x2
+  }
+
+  @Deprecated public static final class Contacts.Extensions implements android.provider.BaseColumns android.provider.Contacts.ExtensionsColumns {
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_extensions";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_extensions";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "person, name ASC";
+    field @Deprecated public static final String PERSON_ID = "person";
+  }
+
+  @Deprecated public static interface Contacts.ExtensionsColumns {
+    field @Deprecated public static final String NAME = "name";
+    field @Deprecated public static final String VALUE = "value";
+  }
+
+  @Deprecated public static final class Contacts.GroupMembership implements android.provider.BaseColumns android.provider.Contacts.GroupsColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "groupmembership";
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contactsgroupmembership";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contactsgroupmembership";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "group_id ASC";
+    field @Deprecated public static final String GROUP_ID = "group_id";
+    field @Deprecated public static final String GROUP_SYNC_ACCOUNT = "group_sync_account";
+    field @Deprecated public static final String GROUP_SYNC_ACCOUNT_TYPE = "group_sync_account_type";
+    field @Deprecated public static final String GROUP_SYNC_ID = "group_sync_id";
+    field @Deprecated public static final String PERSON_ID = "person";
+    field @Deprecated public static final android.net.Uri RAW_CONTENT_URI;
+  }
+
+  @Deprecated public static final class Contacts.Groups implements android.provider.BaseColumns android.provider.Contacts.GroupsColumns {
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contactsgroup";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contactsgroup";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final android.net.Uri DELETED_CONTENT_URI;
+    field @Deprecated public static final String GROUP_ANDROID_STARRED = "Starred in Android";
+    field @Deprecated public static final String GROUP_MY_CONTACTS = "Contacts";
+  }
+
+  @Deprecated public static interface Contacts.GroupsColumns {
+    field @Deprecated public static final String NAME = "name";
+    field @Deprecated public static final String NOTES = "notes";
+    field @Deprecated public static final String SHOULD_SYNC = "should_sync";
+    field @Deprecated public static final String SYSTEM_ID = "system_id";
+  }
+
+  @Deprecated public static final class Contacts.Intents {
+    ctor @Deprecated public Contacts.Intents();
+    field @Deprecated public static final String ATTACH_IMAGE = "com.android.contacts.action.ATTACH_IMAGE";
+    field @Deprecated public static final String EXTRA_CREATE_DESCRIPTION = "com.android.contacts.action.CREATE_DESCRIPTION";
+    field @Deprecated public static final String EXTRA_FORCE_CREATE = "com.android.contacts.action.FORCE_CREATE";
+    field @Deprecated public static final String SEARCH_SUGGESTION_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CLICKED";
+    field @Deprecated public static final String SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED";
+    field @Deprecated public static final String SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED";
+    field @Deprecated public static final String SHOW_OR_CREATE_CONTACT = "com.android.contacts.action.SHOW_OR_CREATE_CONTACT";
+  }
+
+  @Deprecated public static final class Contacts.Intents.Insert {
+    ctor @Deprecated public Contacts.Intents.Insert();
+    field @Deprecated public static final String ACTION = "android.intent.action.INSERT";
+    field @Deprecated public static final String COMPANY = "company";
+    field @Deprecated public static final String EMAIL = "email";
+    field @Deprecated public static final String EMAIL_ISPRIMARY = "email_isprimary";
+    field @Deprecated public static final String EMAIL_TYPE = "email_type";
+    field @Deprecated public static final String FULL_MODE = "full_mode";
+    field @Deprecated public static final String IM_HANDLE = "im_handle";
+    field @Deprecated public static final String IM_ISPRIMARY = "im_isprimary";
+    field @Deprecated public static final String IM_PROTOCOL = "im_protocol";
+    field @Deprecated public static final String JOB_TITLE = "job_title";
+    field @Deprecated public static final String NAME = "name";
+    field @Deprecated public static final String NOTES = "notes";
+    field @Deprecated public static final String PHONE = "phone";
+    field @Deprecated public static final String PHONETIC_NAME = "phonetic_name";
+    field @Deprecated public static final String PHONE_ISPRIMARY = "phone_isprimary";
+    field @Deprecated public static final String PHONE_TYPE = "phone_type";
+    field @Deprecated public static final String POSTAL = "postal";
+    field @Deprecated public static final String POSTAL_ISPRIMARY = "postal_isprimary";
+    field @Deprecated public static final String POSTAL_TYPE = "postal_type";
+    field @Deprecated public static final String SECONDARY_EMAIL = "secondary_email";
+    field @Deprecated public static final String SECONDARY_EMAIL_TYPE = "secondary_email_type";
+    field @Deprecated public static final String SECONDARY_PHONE = "secondary_phone";
+    field @Deprecated public static final String SECONDARY_PHONE_TYPE = "secondary_phone_type";
+    field @Deprecated public static final String TERTIARY_EMAIL = "tertiary_email";
+    field @Deprecated public static final String TERTIARY_EMAIL_TYPE = "tertiary_email_type";
+    field @Deprecated public static final String TERTIARY_PHONE = "tertiary_phone";
+    field @Deprecated public static final String TERTIARY_PHONE_TYPE = "tertiary_phone_type";
+  }
+
+  @Deprecated public static final class Contacts.Intents.UI {
+    ctor @Deprecated public Contacts.Intents.UI();
+    field @Deprecated public static final String FILTER_CONTACTS_ACTION = "com.android.contacts.action.FILTER_CONTACTS";
+    field @Deprecated public static final String FILTER_TEXT_EXTRA_KEY = "com.android.contacts.extra.FILTER_TEXT";
+    field @Deprecated public static final String GROUP_NAME_EXTRA_KEY = "com.android.contacts.extra.GROUP";
+    field @Deprecated public static final String LIST_ALL_CONTACTS_ACTION = "com.android.contacts.action.LIST_ALL_CONTACTS";
+    field @Deprecated public static final String LIST_CONTACTS_WITH_PHONES_ACTION = "com.android.contacts.action.LIST_CONTACTS_WITH_PHONES";
+    field @Deprecated public static final String LIST_DEFAULT = "com.android.contacts.action.LIST_DEFAULT";
+    field @Deprecated public static final String LIST_FREQUENT_ACTION = "com.android.contacts.action.LIST_FREQUENT";
+    field @Deprecated public static final String LIST_GROUP_ACTION = "com.android.contacts.action.LIST_GROUP";
+    field @Deprecated public static final String LIST_STARRED_ACTION = "com.android.contacts.action.LIST_STARRED";
+    field @Deprecated public static final String LIST_STREQUENT_ACTION = "com.android.contacts.action.LIST_STREQUENT";
+    field @Deprecated public static final String TITLE_EXTRA_KEY = "com.android.contacts.extra.TITLE_EXTRA";
+  }
+
+  @Deprecated public static interface Contacts.OrganizationColumns {
+    field @Deprecated public static final String COMPANY = "company";
+    field @Deprecated public static final String ISPRIMARY = "isprimary";
+    field @Deprecated public static final String LABEL = "label";
+    field @Deprecated public static final String PERSON_ID = "person";
+    field @Deprecated public static final String TITLE = "title";
+    field @Deprecated public static final String TYPE = "type";
+    field @Deprecated public static final int TYPE_CUSTOM = 0; // 0x0
+    field @Deprecated public static final int TYPE_OTHER = 2; // 0x2
+    field @Deprecated public static final int TYPE_WORK = 1; // 0x1
+  }
+
+  @Deprecated public static final class Contacts.Organizations implements android.provider.BaseColumns android.provider.Contacts.OrganizationColumns {
+    method @Deprecated public static CharSequence getDisplayLabel(android.content.Context, int, CharSequence);
+    field @Deprecated public static final String CONTENT_DIRECTORY = "organizations";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "company, title, isprimary ASC";
+  }
+
+  @Deprecated public static final class Contacts.People implements android.provider.BaseColumns android.provider.Contacts.PeopleColumns android.provider.Contacts.PhonesColumns android.provider.Contacts.PresenceColumns {
+    method @Deprecated public static android.net.Uri addToGroup(android.content.ContentResolver, long, String);
+    method @Deprecated public static android.net.Uri addToGroup(android.content.ContentResolver, long, long);
+    method @Deprecated public static android.net.Uri addToMyContactsGroup(android.content.ContentResolver, long);
+    method @Deprecated public static android.net.Uri createPersonInMyContactsGroup(android.content.ContentResolver, android.content.ContentValues);
+    method @Deprecated public static android.graphics.Bitmap loadContactPhoto(android.content.Context, android.net.Uri, int, android.graphics.BitmapFactory.Options);
+    method @Deprecated public static void markAsContacted(android.content.ContentResolver, long);
+    method @Deprecated public static java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri);
+    method @Deprecated public static android.database.Cursor queryGroups(android.content.ContentResolver, long);
+    method @Deprecated public static void setPhotoData(android.content.ContentResolver, android.net.Uri, byte[]);
+    field @Deprecated public static final android.net.Uri CONTENT_FILTER_URI;
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/person";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/person";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final android.net.Uri DELETED_CONTENT_URI;
+    field @Deprecated public static final String PRIMARY_EMAIL_ID = "primary_email";
+    field @Deprecated public static final String PRIMARY_ORGANIZATION_ID = "primary_organization";
+    field @Deprecated public static final String PRIMARY_PHONE_ID = "primary_phone";
+  }
+
+  @Deprecated public static final class Contacts.People.ContactMethods implements android.provider.BaseColumns android.provider.Contacts.ContactMethodsColumns android.provider.Contacts.PeopleColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "contact_methods";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "data ASC";
+  }
+
+  @Deprecated public static class Contacts.People.Extensions implements android.provider.BaseColumns android.provider.Contacts.ExtensionsColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "extensions";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final String PERSON_ID = "person";
+  }
+
+  @Deprecated public static final class Contacts.People.Phones implements android.provider.BaseColumns android.provider.Contacts.PeopleColumns android.provider.Contacts.PhonesColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "phones";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "number ASC";
+  }
+
+  @Deprecated public static interface Contacts.PeopleColumns {
+    field @Deprecated public static final String CUSTOM_RINGTONE = "custom_ringtone";
+    field @Deprecated public static final String DISPLAY_NAME = "display_name";
+    field @Deprecated public static final String LAST_TIME_CONTACTED = "last_time_contacted";
+    field @Deprecated public static final String NAME = "name";
+    field @Deprecated public static final String NOTES = "notes";
+    field @Deprecated public static final String PHONETIC_NAME = "phonetic_name";
+    field @Deprecated public static final String PHOTO_VERSION = "photo_version";
+    field @Deprecated public static final String SEND_TO_VOICEMAIL = "send_to_voicemail";
+    field @Deprecated public static final String STARRED = "starred";
+    field @Deprecated public static final String TIMES_CONTACTED = "times_contacted";
+  }
+
+  @Deprecated public static final class Contacts.Phones implements android.provider.BaseColumns android.provider.Contacts.PeopleColumns android.provider.Contacts.PhonesColumns {
+    method @Deprecated public static CharSequence getDisplayLabel(android.content.Context, int, CharSequence, CharSequence[]);
+    method @Deprecated public static CharSequence getDisplayLabel(android.content.Context, int, CharSequence);
+    field @Deprecated public static final android.net.Uri CONTENT_FILTER_URL;
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/phone";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/phone";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final String PERSON_ID = "person";
+  }
+
+  @Deprecated public static interface Contacts.PhonesColumns {
+    field @Deprecated public static final String ISPRIMARY = "isprimary";
+    field @Deprecated public static final String LABEL = "label";
+    field @Deprecated public static final String NUMBER = "number";
+    field @Deprecated public static final String NUMBER_KEY = "number_key";
+    field @Deprecated public static final String TYPE = "type";
+    field @Deprecated public static final int TYPE_CUSTOM = 0; // 0x0
+    field @Deprecated public static final int TYPE_FAX_HOME = 5; // 0x5
+    field @Deprecated public static final int TYPE_FAX_WORK = 4; // 0x4
+    field @Deprecated public static final int TYPE_HOME = 1; // 0x1
+    field @Deprecated public static final int TYPE_MOBILE = 2; // 0x2
+    field @Deprecated public static final int TYPE_OTHER = 7; // 0x7
+    field @Deprecated public static final int TYPE_PAGER = 6; // 0x6
+    field @Deprecated public static final int TYPE_WORK = 3; // 0x3
+  }
+
+  @Deprecated public static final class Contacts.Photos implements android.provider.BaseColumns android.provider.Contacts.PhotosColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "photo";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "person ASC";
+  }
+
+  @Deprecated public static interface Contacts.PhotosColumns {
+    field @Deprecated public static final String DATA = "data";
+    field @Deprecated public static final String DOWNLOAD_REQUIRED = "download_required";
+    field @Deprecated public static final String EXISTS_ON_SERVER = "exists_on_server";
+    field @Deprecated public static final String LOCAL_VERSION = "local_version";
+    field @Deprecated public static final String PERSON_ID = "person";
+    field @Deprecated public static final String SYNC_ERROR = "sync_error";
+  }
+
+  @Deprecated public static interface Contacts.PresenceColumns {
+    field @Deprecated public static final int AVAILABLE = 5; // 0x5
+    field @Deprecated public static final int AWAY = 2; // 0x2
+    field @Deprecated public static final int DO_NOT_DISTURB = 4; // 0x4
+    field @Deprecated public static final int IDLE = 3; // 0x3
+    field @Deprecated public static final String IM_ACCOUNT = "im_account";
+    field @Deprecated public static final String IM_HANDLE = "im_handle";
+    field @Deprecated public static final String IM_PROTOCOL = "im_protocol";
+    field @Deprecated public static final int INVISIBLE = 1; // 0x1
+    field @Deprecated public static final int OFFLINE = 0; // 0x0
+    field @Deprecated public static final String PRESENCE_CUSTOM_STATUS = "status";
+    field @Deprecated public static final String PRESENCE_STATUS = "mode";
+    field @Deprecated public static final String PRIORITY = "priority";
+  }
+
+  @Deprecated public static final class Contacts.Settings implements android.provider.BaseColumns android.provider.Contacts.SettingsColumns {
+    method @Deprecated public static String getSetting(android.content.ContentResolver, String, String);
+    method @Deprecated public static void setSetting(android.content.ContentResolver, String, String, String);
+    field @Deprecated public static final String CONTENT_DIRECTORY = "settings";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "key ASC";
+    field @Deprecated public static final String SYNC_EVERYTHING = "syncEverything";
+  }
+
+  @Deprecated public static interface Contacts.SettingsColumns {
+    field @Deprecated public static final String KEY = "key";
+    field @Deprecated public static final String VALUE = "value";
+    field @Deprecated public static final String _SYNC_ACCOUNT = "_sync_account";
+    field @Deprecated public static final String _SYNC_ACCOUNT_TYPE = "_sync_account_type";
+  }
+
+  public final class ContactsContract {
+    ctor public ContactsContract();
+    method public static boolean isProfileId(long);
+    field public static final String AUTHORITY = "com.android.contacts";
+    field public static final android.net.Uri AUTHORITY_URI;
+    field public static final String CALLER_IS_SYNCADAPTER = "caller_is_syncadapter";
+    field public static final String DEFERRED_SNIPPETING = "deferred_snippeting";
+    field public static final String DEFERRED_SNIPPETING_QUERY = "deferred_snippeting_query";
+    field public static final String DIRECTORY_PARAM_KEY = "directory";
+    field public static final String LIMIT_PARAM_KEY = "limit";
+    field public static final String PRIMARY_ACCOUNT_NAME = "name_for_primary_account";
+    field public static final String PRIMARY_ACCOUNT_TYPE = "type_for_primary_account";
+    field public static final String REMOVE_DUPLICATE_ENTRIES = "remove_duplicate_entries";
+    field public static final String STREQUENT_PHONE_ONLY = "strequent_phone_only";
+  }
+
+  public static final class ContactsContract.AggregationExceptions implements android.provider.BaseColumns {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/aggregation_exception";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/aggregation_exception";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String RAW_CONTACT_ID1 = "raw_contact_id1";
+    field public static final String RAW_CONTACT_ID2 = "raw_contact_id2";
+    field public static final String TYPE = "type";
+    field public static final int TYPE_AUTOMATIC = 0; // 0x0
+    field public static final int TYPE_KEEP_SEPARATE = 2; // 0x2
+    field public static final int TYPE_KEEP_TOGETHER = 1; // 0x1
+  }
+
+  protected static interface ContactsContract.BaseSyncColumns {
+    field public static final String SYNC1 = "sync1";
+    field public static final String SYNC2 = "sync2";
+    field public static final String SYNC3 = "sync3";
+    field public static final String SYNC4 = "sync4";
+  }
+
+  public static final class ContactsContract.CommonDataKinds {
+  }
+
+  public static interface ContactsContract.CommonDataKinds.BaseTypes {
+    field public static final int TYPE_CUSTOM = 0; // 0x0
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Callable implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    ctor public ContactsContract.CommonDataKinds.Callable();
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri ENTERPRISE_CONTENT_FILTER_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+  }
+
+  protected static interface ContactsContract.CommonDataKinds.CommonColumns extends android.provider.ContactsContract.CommonDataKinds.BaseTypes {
+    field public static final String DATA = "data1";
+    field public static final String LABEL = "data3";
+    field public static final String TYPE = "data2";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Contactables implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    ctor public ContactsContract.CommonDataKinds.Contactables();
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String VISIBLE_CONTACTS_ONLY = "visible_contacts_only";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Email implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String ADDRESS = "data1";
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/email_v2";
+    field public static final android.net.Uri CONTENT_LOOKUP_URI;
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/email_v2";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DISPLAY_NAME = "data4";
+    field public static final android.net.Uri ENTERPRISE_CONTENT_FILTER_URI;
+    field public static final android.net.Uri ENTERPRISE_CONTENT_LOOKUP_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final int TYPE_HOME = 1; // 0x1
+    field public static final int TYPE_MOBILE = 4; // 0x4
+    field public static final int TYPE_OTHER = 3; // 0x3
+    field public static final int TYPE_WORK = 2; // 0x2
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Event implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeResource(Integer);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_event";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String START_DATE = "data1";
+    field public static final int TYPE_ANNIVERSARY = 1; // 0x1
+    field public static final int TYPE_BIRTHDAY = 3; // 0x3
+    field public static final int TYPE_OTHER = 2; // 0x2
+  }
+
+  public static final class ContactsContract.CommonDataKinds.GroupMembership implements android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/group_membership";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String GROUP_ROW_ID = "data1";
+    field public static final String GROUP_SOURCE_ID = "group_sourceid";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Identity implements android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/identity";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String IDENTITY = "data1";
+    field public static final String NAMESPACE = "data2";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Im implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getProtocolLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getProtocolLabelResource(int);
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/im";
+    field public static final String CUSTOM_PROTOCOL = "data6";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String PROTOCOL = "data5";
+    field @Deprecated public static final int PROTOCOL_AIM = 0; // 0x0
+    field public static final int PROTOCOL_CUSTOM = -1; // 0xffffffff
+    field @Deprecated public static final int PROTOCOL_GOOGLE_TALK = 5; // 0x5
+    field @Deprecated public static final int PROTOCOL_ICQ = 6; // 0x6
+    field @Deprecated public static final int PROTOCOL_JABBER = 7; // 0x7
+    field @Deprecated public static final int PROTOCOL_MSN = 1; // 0x1
+    field @Deprecated public static final int PROTOCOL_NETMEETING = 8; // 0x8
+    field @Deprecated public static final int PROTOCOL_QQ = 4; // 0x4
+    field @Deprecated public static final int PROTOCOL_SKYPE = 3; // 0x3
+    field @Deprecated public static final int PROTOCOL_YAHOO = 2; // 0x2
+    field public static final int TYPE_HOME = 1; // 0x1
+    field public static final int TYPE_OTHER = 3; // 0x3
+    field public static final int TYPE_WORK = 2; // 0x2
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Nickname implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/nickname";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String NAME = "data1";
+    field public static final int TYPE_DEFAULT = 1; // 0x1
+    field public static final int TYPE_INITIALS = 5; // 0x5
+    field public static final int TYPE_MAIDEN_NAME = 3; // 0x3
+    field @Deprecated public static final int TYPE_MAINDEN_NAME = 3; // 0x3
+    field public static final int TYPE_OTHER_NAME = 2; // 0x2
+    field public static final int TYPE_SHORT_NAME = 4; // 0x4
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Note implements android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/note";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String NOTE = "data1";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Organization implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String COMPANY = "data1";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/organization";
+    field public static final String DEPARTMENT = "data5";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String JOB_DESCRIPTION = "data6";
+    field public static final String OFFICE_LOCATION = "data9";
+    field public static final String PHONETIC_NAME = "data8";
+    field public static final String PHONETIC_NAME_STYLE = "data10";
+    field public static final String SYMBOL = "data7";
+    field public static final String TITLE = "data4";
+    field public static final int TYPE_OTHER = 2; // 0x2
+    field public static final int TYPE_WORK = 1; // 0x1
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Phone implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/phone_v2";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/phone_v2";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri ENTERPRISE_CONTENT_FILTER_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String NORMALIZED_NUMBER = "data4";
+    field public static final String NUMBER = "data1";
+    field public static final String SEARCH_DISPLAY_NAME_KEY = "search_display_name";
+    field public static final String SEARCH_PHONE_NUMBER_KEY = "search_phone_number";
+    field public static final int TYPE_ASSISTANT = 19; // 0x13
+    field public static final int TYPE_CALLBACK = 8; // 0x8
+    field public static final int TYPE_CAR = 9; // 0x9
+    field public static final int TYPE_COMPANY_MAIN = 10; // 0xa
+    field public static final int TYPE_FAX_HOME = 5; // 0x5
+    field public static final int TYPE_FAX_WORK = 4; // 0x4
+    field public static final int TYPE_HOME = 1; // 0x1
+    field public static final int TYPE_ISDN = 11; // 0xb
+    field public static final int TYPE_MAIN = 12; // 0xc
+    field public static final int TYPE_MMS = 20; // 0x14
+    field public static final int TYPE_MOBILE = 2; // 0x2
+    field public static final int TYPE_OTHER = 7; // 0x7
+    field public static final int TYPE_OTHER_FAX = 13; // 0xd
+    field public static final int TYPE_PAGER = 6; // 0x6
+    field public static final int TYPE_RADIO = 14; // 0xe
+    field public static final int TYPE_TELEX = 15; // 0xf
+    field public static final int TYPE_TTY_TDD = 16; // 0x10
+    field public static final int TYPE_WORK = 3; // 0x3
+    field public static final int TYPE_WORK_MOBILE = 17; // 0x11
+    field public static final int TYPE_WORK_PAGER = 18; // 0x12
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Photo implements android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/photo";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String PHOTO = "data15";
+    field public static final String PHOTO_FILE_ID = "data14";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Relation implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/relation";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String NAME = "data1";
+    field public static final int TYPE_ASSISTANT = 1; // 0x1
+    field public static final int TYPE_BROTHER = 2; // 0x2
+    field public static final int TYPE_CHILD = 3; // 0x3
+    field public static final int TYPE_DOMESTIC_PARTNER = 4; // 0x4
+    field public static final int TYPE_FATHER = 5; // 0x5
+    field public static final int TYPE_FRIEND = 6; // 0x6
+    field public static final int TYPE_MANAGER = 7; // 0x7
+    field public static final int TYPE_MOTHER = 8; // 0x8
+    field public static final int TYPE_PARENT = 9; // 0x9
+    field public static final int TYPE_PARTNER = 10; // 0xa
+    field public static final int TYPE_REFERRED_BY = 11; // 0xb
+    field public static final int TYPE_RELATIVE = 12; // 0xc
+    field public static final int TYPE_SISTER = 13; // 0xd
+    field public static final int TYPE_SPOUSE = 14; // 0xe
+  }
+
+  public static final class ContactsContract.CommonDataKinds.SipAddress implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/sip_address";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String SIP_ADDRESS = "data1";
+    field public static final int TYPE_HOME = 1; // 0x1
+    field public static final int TYPE_OTHER = 3; // 0x3
+    field public static final int TYPE_WORK = 2; // 0x2
+  }
+
+  public static final class ContactsContract.CommonDataKinds.StructuredName implements android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/name";
+    field public static final String DISPLAY_NAME = "data1";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String FAMILY_NAME = "data3";
+    field public static final String FULL_NAME_STYLE = "data10";
+    field public static final String GIVEN_NAME = "data2";
+    field public static final String MIDDLE_NAME = "data5";
+    field public static final String PHONETIC_FAMILY_NAME = "data9";
+    field public static final String PHONETIC_GIVEN_NAME = "data7";
+    field public static final String PHONETIC_MIDDLE_NAME = "data8";
+    field public static final String PHONETIC_NAME_STYLE = "data11";
+    field public static final String PREFIX = "data4";
+    field public static final String SUFFIX = "data6";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.StructuredPostal implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static CharSequence getTypeLabel(android.content.res.Resources, int, CharSequence);
+    method public static int getTypeLabelResource(int);
+    field public static final String CITY = "data7";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/postal-address_v2";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/postal-address_v2";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String COUNTRY = "data10";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String FORMATTED_ADDRESS = "data1";
+    field public static final String NEIGHBORHOOD = "data6";
+    field public static final String POBOX = "data5";
+    field public static final String POSTCODE = "data9";
+    field public static final String REGION = "data8";
+    field public static final String STREET = "data4";
+    field public static final int TYPE_HOME = 1; // 0x1
+    field public static final int TYPE_OTHER = 3; // 0x3
+    field public static final int TYPE_WORK = 2; // 0x2
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Website implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/website";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final int TYPE_BLOG = 2; // 0x2
+    field public static final int TYPE_FTP = 6; // 0x6
+    field public static final int TYPE_HOME = 4; // 0x4
+    field public static final int TYPE_HOMEPAGE = 1; // 0x1
+    field public static final int TYPE_OTHER = 7; // 0x7
+    field public static final int TYPE_PROFILE = 3; // 0x3
+    field public static final int TYPE_WORK = 5; // 0x5
+    field public static final String URL = "data1";
+  }
+
+  protected static interface ContactsContract.ContactNameColumns {
+    field public static final String DISPLAY_NAME_ALTERNATIVE = "display_name_alt";
+    field public static final String DISPLAY_NAME_PRIMARY = "display_name";
+    field public static final String DISPLAY_NAME_SOURCE = "display_name_source";
+    field public static final String PHONETIC_NAME = "phonetic_name";
+    field public static final String PHONETIC_NAME_STYLE = "phonetic_name_style";
+    field public static final String SORT_KEY_ALTERNATIVE = "sort_key_alt";
+    field public static final String SORT_KEY_PRIMARY = "sort_key";
+  }
+
+  protected static interface ContactsContract.ContactOptionsColumns {
+    field public static final String CUSTOM_RINGTONE = "custom_ringtone";
+    field @Deprecated public static final String LAST_TIME_CONTACTED = "last_time_contacted";
+    field public static final String PINNED = "pinned";
+    field public static final String SEND_TO_VOICEMAIL = "send_to_voicemail";
+    field public static final String STARRED = "starred";
+    field @Deprecated public static final String TIMES_CONTACTED = "times_contacted";
+  }
+
+  protected static interface ContactsContract.ContactStatusColumns {
+    field public static final String CONTACT_CHAT_CAPABILITY = "contact_chat_capability";
+    field public static final String CONTACT_PRESENCE = "contact_presence";
+    field public static final String CONTACT_STATUS = "contact_status";
+    field public static final String CONTACT_STATUS_ICON = "contact_status_icon";
+    field public static final String CONTACT_STATUS_LABEL = "contact_status_label";
+    field public static final String CONTACT_STATUS_RES_PACKAGE = "contact_status_res_package";
+    field public static final String CONTACT_STATUS_TIMESTAMP = "contact_status_ts";
+  }
+
+  public static class ContactsContract.Contacts implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns {
+    method public static android.net.Uri getLookupUri(android.content.ContentResolver, android.net.Uri);
+    method public static android.net.Uri getLookupUri(long, String);
+    method public static boolean isEnterpriseContactId(long);
+    method public static android.net.Uri lookupContact(android.content.ContentResolver, android.net.Uri);
+    method @Deprecated public static void markAsContacted(android.content.ContentResolver, long);
+    method public static java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri, boolean);
+    method public static java.io.InputStream openContactPhotoInputStream(android.content.ContentResolver, android.net.Uri);
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field @Deprecated public static final android.net.Uri CONTENT_FREQUENT_URI;
+    field public static final android.net.Uri CONTENT_GROUP_URI;
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact";
+    field public static final android.net.Uri CONTENT_LOOKUP_URI;
+    field public static final android.net.Uri CONTENT_MULTI_VCARD_URI;
+    field public static final android.net.Uri CONTENT_STREQUENT_FILTER_URI;
+    field public static final android.net.Uri CONTENT_STREQUENT_URI;
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String CONTENT_VCARD_TYPE = "text/x-vcard";
+    field public static final android.net.Uri CONTENT_VCARD_URI;
+    field public static final android.net.Uri ENTERPRISE_CONTENT_FILTER_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String QUERY_PARAMETER_VCARD_NO_PHOTO = "no_photo";
+  }
+
+  public static final class ContactsContract.Contacts.AggregationSuggestions implements android.provider.BaseColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns {
+    field public static final String CONTENT_DIRECTORY = "suggestions";
+  }
+
+  public static final class ContactsContract.Contacts.AggregationSuggestions.Builder {
+    ctor public ContactsContract.Contacts.AggregationSuggestions.Builder();
+    method public android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder addNameParameter(String);
+    method public android.net.Uri build();
+    method public android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder setContactId(long);
+    method public android.provider.ContactsContract.Contacts.AggregationSuggestions.Builder setLimit(int);
+  }
+
+  public static final class ContactsContract.Contacts.Data implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns {
+    field public static final String CONTENT_DIRECTORY = "data";
+  }
+
+  public static final class ContactsContract.Contacts.Entity implements android.provider.BaseColumns android.provider.ContactsContract.BaseSyncColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.DataUsageStatColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.StatusColumns android.provider.ContactsContract.SyncColumns {
+    field public static final String CONTENT_DIRECTORY = "entities";
+    field public static final String DATA_ID = "data_id";
+    field public static final String RAW_CONTACT_ID = "raw_contact_id";
+  }
+
+  public static final class ContactsContract.Contacts.Photo implements android.provider.BaseColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final String CONTENT_DIRECTORY = "photo";
+    field public static final String DISPLAY_PHOTO = "display_photo";
+    field public static final String PHOTO = "data15";
+    field public static final String PHOTO_FILE_ID = "data14";
+  }
+
+  protected static interface ContactsContract.ContactsColumns {
+    field public static final String CONTACT_LAST_UPDATED_TIMESTAMP = "contact_last_updated_timestamp";
+    field public static final String DISPLAY_NAME = "display_name";
+    field public static final String HAS_PHONE_NUMBER = "has_phone_number";
+    field public static final String IN_DEFAULT_DIRECTORY = "in_default_directory";
+    field public static final String IN_VISIBLE_GROUP = "in_visible_group";
+    field public static final String IS_USER_PROFILE = "is_user_profile";
+    field public static final String LOOKUP_KEY = "lookup";
+    field public static final String NAME_RAW_CONTACT_ID = "name_raw_contact_id";
+    field public static final String PHOTO_FILE_ID = "photo_file_id";
+    field public static final String PHOTO_ID = "photo_id";
+    field public static final String PHOTO_THUMBNAIL_URI = "photo_thumb_uri";
+    field public static final String PHOTO_URI = "photo_uri";
+  }
+
+  public static final class ContactsContract.Data implements android.provider.ContactsContract.DataColumnsWithJoins {
+    method public static android.net.Uri getContactLookupUri(android.content.ContentResolver, android.net.Uri);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/data";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX = "android.provider.extra.ADDRESS_BOOK_INDEX";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_COUNTS = "android.provider.extra.ADDRESS_BOOK_INDEX_COUNTS";
+    field public static final String EXTRA_ADDRESS_BOOK_INDEX_TITLES = "android.provider.extra.ADDRESS_BOOK_INDEX_TITLES";
+    field public static final String VISIBLE_CONTACTS_ONLY = "visible_contacts_only";
+  }
+
+  protected static interface ContactsContract.DataColumns {
+    field @Deprecated public static final String CARRIER_PRESENCE = "carrier_presence";
+    field @Deprecated public static final int CARRIER_PRESENCE_VT_CAPABLE = 1; // 0x1
+    field public static final String DATA1 = "data1";
+    field public static final String DATA10 = "data10";
+    field public static final String DATA11 = "data11";
+    field public static final String DATA12 = "data12";
+    field public static final String DATA13 = "data13";
+    field public static final String DATA14 = "data14";
+    field public static final String DATA15 = "data15";
+    field public static final String DATA2 = "data2";
+    field public static final String DATA3 = "data3";
+    field public static final String DATA4 = "data4";
+    field public static final String DATA5 = "data5";
+    field public static final String DATA6 = "data6";
+    field public static final String DATA7 = "data7";
+    field public static final String DATA8 = "data8";
+    field public static final String DATA9 = "data9";
+    field public static final String DATA_VERSION = "data_version";
+    field public static final String IS_PRIMARY = "is_primary";
+    field public static final String IS_READ_ONLY = "is_read_only";
+    field public static final String IS_SUPER_PRIMARY = "is_super_primary";
+    field public static final String MIMETYPE = "mimetype";
+    field public static final String PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME = "preferred_phone_account_component_name";
+    field public static final String PREFERRED_PHONE_ACCOUNT_ID = "preferred_phone_account_id";
+    field public static final String RAW_CONTACT_ID = "raw_contact_id";
+    field public static final String RES_PACKAGE = "res_package";
+    field public static final String SYNC1 = "data_sync1";
+    field public static final String SYNC2 = "data_sync2";
+    field public static final String SYNC3 = "data_sync3";
+    field public static final String SYNC4 = "data_sync4";
+  }
+
+  protected static interface ContactsContract.DataColumnsWithJoins extends android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.DataUsageStatColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.StatusColumns {
+  }
+
+  @Deprecated public static final class ContactsContract.DataUsageFeedback {
+    ctor @Deprecated public ContactsContract.DataUsageFeedback();
+    field @Deprecated public static final android.net.Uri DELETE_USAGE_URI;
+    field @Deprecated public static final android.net.Uri FEEDBACK_URI;
+    field @Deprecated public static final String USAGE_TYPE = "type";
+    field @Deprecated public static final String USAGE_TYPE_CALL = "call";
+    field @Deprecated public static final String USAGE_TYPE_LONG_TEXT = "long_text";
+    field @Deprecated public static final String USAGE_TYPE_SHORT_TEXT = "short_text";
+  }
+
+  protected static interface ContactsContract.DataUsageStatColumns {
+    field @Deprecated public static final String LAST_TIME_USED = "last_time_used";
+    field @Deprecated public static final String TIMES_USED = "times_used";
+  }
+
+  public static final class ContactsContract.DeletedContacts implements android.provider.ContactsContract.DeletedContactsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final long DAYS_KEPT_MILLISECONDS = 2592000000L; // 0x9a7ec800L
+  }
+
+  protected static interface ContactsContract.DeletedContactsColumns {
+    field public static final String CONTACT_DELETED_TIMESTAMP = "contact_deleted_timestamp";
+    field public static final String CONTACT_ID = "contact_id";
+  }
+
+  public static final class ContactsContract.Directory implements android.provider.BaseColumns {
+    method public static boolean isEnterpriseDirectoryId(long);
+    method public static boolean isRemoteDirectoryId(long);
+    method public static void notifyDirectoryChange(android.content.ContentResolver);
+    field public static final String ACCOUNT_NAME = "accountName";
+    field public static final String ACCOUNT_TYPE = "accountType";
+    field public static final String CALLER_PACKAGE_PARAM_KEY = "callerPackage";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_directory";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_directories";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final long DEFAULT = 0L; // 0x0L
+    field public static final String DIRECTORY_AUTHORITY = "authority";
+    field public static final String DISPLAY_NAME = "displayName";
+    field public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+    field public static final long ENTERPRISE_DEFAULT = 1000000000L; // 0x3b9aca00L
+    field public static final long ENTERPRISE_LOCAL_INVISIBLE = 1000000001L; // 0x3b9aca01L
+    field public static final String EXPORT_SUPPORT = "exportSupport";
+    field public static final int EXPORT_SUPPORT_ANY_ACCOUNT = 2; // 0x2
+    field public static final int EXPORT_SUPPORT_NONE = 0; // 0x0
+    field public static final int EXPORT_SUPPORT_SAME_ACCOUNT_ONLY = 1; // 0x1
+    field public static final long LOCAL_INVISIBLE = 1L; // 0x1L
+    field public static final String PACKAGE_NAME = "packageName";
+    field public static final String PHOTO_SUPPORT = "photoSupport";
+    field public static final int PHOTO_SUPPORT_FULL = 3; // 0x3
+    field public static final int PHOTO_SUPPORT_FULL_SIZE_ONLY = 2; // 0x2
+    field public static final int PHOTO_SUPPORT_NONE = 0; // 0x0
+    field public static final int PHOTO_SUPPORT_THUMBNAIL_ONLY = 1; // 0x1
+    field public static final String SHORTCUT_SUPPORT = "shortcutSupport";
+    field public static final int SHORTCUT_SUPPORT_DATA_ITEMS_ONLY = 1; // 0x1
+    field public static final int SHORTCUT_SUPPORT_FULL = 2; // 0x2
+    field public static final int SHORTCUT_SUPPORT_NONE = 0; // 0x0
+    field public static final String TYPE_RESOURCE_ID = "typeResourceId";
+  }
+
+  public static interface ContactsContract.DisplayNameSources {
+    field public static final int EMAIL = 10; // 0xa
+    field public static final int NICKNAME = 35; // 0x23
+    field public static final int ORGANIZATION = 30; // 0x1e
+    field public static final int PHONE = 20; // 0x14
+    field public static final int STRUCTURED_NAME = 40; // 0x28
+    field public static final int STRUCTURED_PHONETIC_NAME = 37; // 0x25
+    field public static final int UNDEFINED = 0; // 0x0
+  }
+
+  public static final class ContactsContract.DisplayPhoto {
+    field public static final android.net.Uri CONTENT_MAX_DIMENSIONS_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DISPLAY_MAX_DIM = "display_max_dim";
+    field public static final String THUMBNAIL_MAX_DIM = "thumbnail_max_dim";
+  }
+
+  public static interface ContactsContract.FullNameStyle {
+    field public static final int CHINESE = 3; // 0x3
+    field public static final int CJK = 2; // 0x2
+    field public static final int JAPANESE = 4; // 0x4
+    field public static final int KOREAN = 5; // 0x5
+    field public static final int UNDEFINED = 0; // 0x0
+    field public static final int WESTERN = 1; // 0x1
+  }
+
+  public static final class ContactsContract.Groups implements android.provider.BaseColumns android.provider.ContactsContract.GroupsColumns android.provider.ContactsContract.SyncColumns {
+    method public static android.content.EntityIterator newEntityIterator(android.database.Cursor);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/group";
+    field public static final android.net.Uri CONTENT_SUMMARY_URI;
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/group";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface ContactsContract.GroupsColumns {
+    field public static final String AUTO_ADD = "auto_add";
+    field public static final String DATA_SET = "data_set";
+    field public static final String DELETED = "deleted";
+    field public static final String FAVORITES = "favorites";
+    field public static final String GROUP_IS_READ_ONLY = "group_is_read_only";
+    field public static final String GROUP_VISIBLE = "group_visible";
+    field public static final String NOTES = "notes";
+    field public static final String RES_PACKAGE = "res_package";
+    field public static final String SHOULD_SYNC = "should_sync";
+    field public static final String SUMMARY_COUNT = "summ_count";
+    field public static final String SUMMARY_WITH_PHONES = "summ_phones";
+    field public static final String SYSTEM_ID = "system_id";
+    field public static final String TITLE = "title";
+    field public static final String TITLE_RES = "title_res";
+  }
+
+  public static final class ContactsContract.Intents {
+    ctor public ContactsContract.Intents();
+    field public static final String ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS = "android.provider.action.VOICE_SEND_MESSAGE_TO_CONTACTS";
+    field public static final String ATTACH_IMAGE = "com.android.contacts.action.ATTACH_IMAGE";
+    field public static final String CONTACTS_DATABASE_CREATED = "android.provider.Contacts.DATABASE_CREATED";
+    field public static final String EXTRA_CREATE_DESCRIPTION = "com.android.contacts.action.CREATE_DESCRIPTION";
+    field public static final String EXTRA_FORCE_CREATE = "com.android.contacts.action.FORCE_CREATE";
+    field public static final String EXTRA_RECIPIENT_CONTACT_CHAT_ID = "android.provider.extra.RECIPIENT_CONTACT_CHAT_ID";
+    field public static final String EXTRA_RECIPIENT_CONTACT_NAME = "android.provider.extra.RECIPIENT_CONTACT_NAME";
+    field public static final String EXTRA_RECIPIENT_CONTACT_URI = "android.provider.extra.RECIPIENT_CONTACT_URI";
+    field public static final String INVITE_CONTACT = "com.android.contacts.action.INVITE_CONTACT";
+    field public static final String METADATA_ACCOUNT_TYPE = "android.provider.account_type";
+    field public static final String METADATA_MIMETYPE = "android.provider.mimetype";
+    field public static final String SEARCH_SUGGESTION_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CLICKED";
+    field public static final String SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED";
+    field public static final String SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED = "android.provider.Contacts.SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED";
+    field public static final String SHOW_OR_CREATE_CONTACT = "com.android.contacts.action.SHOW_OR_CREATE_CONTACT";
+  }
+
+  public static final class ContactsContract.Intents.Insert {
+    ctor public ContactsContract.Intents.Insert();
+    field public static final String ACTION = "android.intent.action.INSERT";
+    field public static final String COMPANY = "company";
+    field public static final String DATA = "data";
+    field public static final String EMAIL = "email";
+    field public static final String EMAIL_ISPRIMARY = "email_isprimary";
+    field public static final String EMAIL_TYPE = "email_type";
+    field public static final String EXTRA_ACCOUNT = "android.provider.extra.ACCOUNT";
+    field public static final String EXTRA_DATA_SET = "android.provider.extra.DATA_SET";
+    field public static final String FULL_MODE = "full_mode";
+    field public static final String IM_HANDLE = "im_handle";
+    field public static final String IM_ISPRIMARY = "im_isprimary";
+    field public static final String IM_PROTOCOL = "im_protocol";
+    field public static final String JOB_TITLE = "job_title";
+    field public static final String NAME = "name";
+    field public static final String NOTES = "notes";
+    field public static final String PHONE = "phone";
+    field public static final String PHONETIC_NAME = "phonetic_name";
+    field public static final String PHONE_ISPRIMARY = "phone_isprimary";
+    field public static final String PHONE_TYPE = "phone_type";
+    field public static final String POSTAL = "postal";
+    field public static final String POSTAL_ISPRIMARY = "postal_isprimary";
+    field public static final String POSTAL_TYPE = "postal_type";
+    field public static final String SECONDARY_EMAIL = "secondary_email";
+    field public static final String SECONDARY_EMAIL_TYPE = "secondary_email_type";
+    field public static final String SECONDARY_PHONE = "secondary_phone";
+    field public static final String SECONDARY_PHONE_TYPE = "secondary_phone_type";
+    field public static final String TERTIARY_EMAIL = "tertiary_email";
+    field public static final String TERTIARY_EMAIL_TYPE = "tertiary_email_type";
+    field public static final String TERTIARY_PHONE = "tertiary_phone";
+    field public static final String TERTIARY_PHONE_TYPE = "tertiary_phone_type";
+  }
+
+  public static final class ContactsContract.PhoneLookup implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactsColumns android.provider.ContactsContract.PhoneLookupColumns {
+    field public static final android.net.Uri CONTENT_FILTER_URI;
+    field public static final android.net.Uri ENTERPRISE_CONTENT_FILTER_URI;
+    field public static final String QUERY_PARAMETER_SIP_ADDRESS = "sip";
+  }
+
+  protected static interface ContactsContract.PhoneLookupColumns {
+    field public static final String CONTACT_ID = "contact_id";
+    field public static final String DATA_ID = "data_id";
+    field public static final String LABEL = "label";
+    field public static final String NORMALIZED_NUMBER = "normalized_number";
+    field public static final String NUMBER = "number";
+    field public static final String TYPE = "type";
+  }
+
+  public static interface ContactsContract.PhoneticNameStyle {
+    field public static final int JAPANESE = 4; // 0x4
+    field public static final int KOREAN = 5; // 0x5
+    field public static final int PINYIN = 3; // 0x3
+    field public static final int UNDEFINED = 0; // 0x0
+  }
+
+  public static final class ContactsContract.PinnedPositions {
+    ctor public ContactsContract.PinnedPositions();
+    method public static void pin(android.content.ContentResolver, long, int);
+    method public static void undemote(android.content.ContentResolver, long);
+    field public static final int DEMOTED = -1; // 0xffffffff
+    field public static final int UNPINNED = 0; // 0x0
+  }
+
+  @Deprecated public static final class ContactsContract.Presence extends android.provider.ContactsContract.StatusUpdates {
+    ctor @Deprecated public ContactsContract.Presence();
+  }
+
+  protected static interface ContactsContract.PresenceColumns {
+    field public static final String CUSTOM_PROTOCOL = "custom_protocol";
+    field public static final String DATA_ID = "presence_data_id";
+    field public static final String IM_ACCOUNT = "im_account";
+    field public static final String IM_HANDLE = "im_handle";
+    field public static final String PROTOCOL = "protocol";
+  }
+
+  public static final class ContactsContract.Profile implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.ContactStatusColumns android.provider.ContactsContract.ContactsColumns {
+    field public static final android.net.Uri CONTENT_RAW_CONTACTS_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri CONTENT_VCARD_URI;
+    field public static final long MIN_ID = 9223372034707292160L; // 0x7fffffff80000000L
+  }
+
+  public static final class ContactsContract.ProfileSyncState implements android.provider.SyncStateContract.Columns {
+    method public static byte[] get(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.util.Pair<android.net.Uri,byte[]> getWithUri(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.content.ContentProviderOperation newSetOperation(android.accounts.Account, byte[]);
+    method public static void set(android.content.ContentProviderClient, android.accounts.Account, byte[]) throws android.os.RemoteException;
+    field public static final String CONTENT_DIRECTORY = "syncstate";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public static final class ContactsContract.ProviderStatus {
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/provider_status";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATABASE_CREATION_TIMESTAMP = "database_creation_timestamp";
+    field public static final String STATUS = "status";
+    field public static final int STATUS_BUSY = 1; // 0x1
+    field public static final int STATUS_EMPTY = 2; // 0x2
+    field public static final int STATUS_NORMAL = 0; // 0x0
+  }
+
+  public static final class ContactsContract.QuickContact {
+    ctor public ContactsContract.QuickContact();
+    method public static void showQuickContact(android.content.Context, android.view.View, android.net.Uri, int, String[]);
+    method public static void showQuickContact(android.content.Context, android.graphics.Rect, android.net.Uri, int, String[]);
+    method public static void showQuickContact(android.content.Context, android.view.View, android.net.Uri, String[], String);
+    method public static void showQuickContact(android.content.Context, android.graphics.Rect, android.net.Uri, String[], String);
+    field public static final String ACTION_QUICK_CONTACT = "android.provider.action.QUICK_CONTACT";
+    field public static final String EXTRA_EXCLUDE_MIMES = "android.provider.extra.EXCLUDE_MIMES";
+    field public static final String EXTRA_MODE = "android.provider.extra.MODE";
+    field public static final String EXTRA_PRIORITIZED_MIMETYPE = "android.provider.extra.PRIORITIZED_MIMETYPE";
+    field public static final int MODE_LARGE = 3; // 0x3
+    field public static final int MODE_MEDIUM = 2; // 0x2
+    field public static final int MODE_SMALL = 1; // 0x1
+  }
+
+  public static final class ContactsContract.RawContacts implements android.provider.BaseColumns android.provider.ContactsContract.ContactNameColumns android.provider.ContactsContract.ContactOptionsColumns android.provider.ContactsContract.RawContactsColumns android.provider.ContactsContract.SyncColumns {
+    method public static android.net.Uri getContactLookupUri(android.content.ContentResolver, android.net.Uri);
+    method @Nullable public static String getLocalAccountName(@NonNull android.content.Context);
+    method @Nullable public static String getLocalAccountType(@NonNull android.content.Context);
+    method public static android.content.EntityIterator newEntityIterator(android.database.Cursor);
+    field public static final int AGGREGATION_MODE_DEFAULT = 0; // 0x0
+    field public static final int AGGREGATION_MODE_DISABLED = 3; // 0x3
+    field @Deprecated public static final int AGGREGATION_MODE_IMMEDIATE = 1; // 0x1
+    field public static final int AGGREGATION_MODE_SUSPENDED = 2; // 0x2
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/raw_contact";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/raw_contact";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public static final class ContactsContract.RawContacts.Data implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns {
+    field public static final String CONTENT_DIRECTORY = "data";
+  }
+
+  public static final class ContactsContract.RawContacts.DisplayPhoto {
+    field public static final String CONTENT_DIRECTORY = "display_photo";
+  }
+
+  public static final class ContactsContract.RawContacts.Entity implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns {
+    field public static final String CONTENT_DIRECTORY = "entity";
+    field public static final String DATA_ID = "data_id";
+  }
+
+  protected static interface ContactsContract.RawContactsColumns {
+    field public static final String ACCOUNT_TYPE_AND_DATA_SET = "account_type_and_data_set";
+    field public static final String AGGREGATION_MODE = "aggregation_mode";
+    field public static final String BACKUP_ID = "backup_id";
+    field public static final String CONTACT_ID = "contact_id";
+    field public static final String DATA_SET = "data_set";
+    field public static final String DELETED = "deleted";
+    field @Deprecated public static final String METADATA_DIRTY = "metadata_dirty";
+    field public static final String RAW_CONTACT_IS_READ_ONLY = "raw_contact_is_read_only";
+    field public static final String RAW_CONTACT_IS_USER_PROFILE = "raw_contact_is_user_profile";
+  }
+
+  public static final class ContactsContract.RawContactsEntity implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.RawContactsColumns {
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/raw_contact_entity";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATA_ID = "data_id";
+    field public static final android.net.Uri PROFILE_CONTENT_URI;
+  }
+
+  public static class ContactsContract.SearchSnippets {
+    ctor public ContactsContract.SearchSnippets();
+    field public static final String DEFERRED_SNIPPETING_KEY = "deferred_snippeting";
+    field public static final String SNIPPET = "snippet";
+  }
+
+  public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/setting";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/setting";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  protected static interface ContactsContract.SettingsColumns {
+    field public static final String ACCOUNT_NAME = "account_name";
+    field public static final String ACCOUNT_TYPE = "account_type";
+    field public static final String ANY_UNSYNCED = "any_unsynced";
+    field public static final String DATA_SET = "data_set";
+    field public static final String SHOULD_SYNC = "should_sync";
+    field public static final String UNGROUPED_COUNT = "summ_count";
+    field public static final String UNGROUPED_VISIBLE = "ungrouped_visible";
+    field public static final String UNGROUPED_WITH_PHONES = "summ_phones";
+  }
+
+  public static final class ContactsContract.SimAccount implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getAccountName();
+    method @NonNull public String getAccountType();
+    method public int getEfType();
+    method public int getSimSlotIndex();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int ADN_EF_TYPE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.provider.ContactsContract.SimAccount> CREATOR;
+    field public static final int FDN_EF_TYPE = 2; // 0x2
+    field public static final int SDN_EF_TYPE = 3; // 0x3
+    field public static final int UNKNOWN_EF_TYPE = 0; // 0x0
+  }
+
+  public static final class ContactsContract.SimContacts {
+    method @NonNull public static java.util.List<android.provider.ContactsContract.SimAccount> getSimAccounts(@NonNull android.content.ContentResolver);
+    field public static final String ACTION_SIM_ACCOUNTS_CHANGED = "android.provider.action.SIM_ACCOUNTS_CHANGED";
+  }
+
+  protected static interface ContactsContract.StatusColumns {
+    field public static final int AVAILABLE = 5; // 0x5
+    field public static final int AWAY = 2; // 0x2
+    field public static final int CAPABILITY_HAS_CAMERA = 4; // 0x4
+    field public static final int CAPABILITY_HAS_VIDEO = 2; // 0x2
+    field public static final int CAPABILITY_HAS_VOICE = 1; // 0x1
+    field public static final String CHAT_CAPABILITY = "chat_capability";
+    field public static final int DO_NOT_DISTURB = 4; // 0x4
+    field public static final int IDLE = 3; // 0x3
+    field public static final int INVISIBLE = 1; // 0x1
+    field public static final int OFFLINE = 0; // 0x0
+    field public static final String PRESENCE = "mode";
+    field @Deprecated public static final String PRESENCE_CUSTOM_STATUS = "status";
+    field @Deprecated public static final String PRESENCE_STATUS = "mode";
+    field public static final String STATUS = "status";
+    field public static final String STATUS_ICON = "status_icon";
+    field public static final String STATUS_LABEL = "status_label";
+    field public static final String STATUS_RES_PACKAGE = "status_res_package";
+    field public static final String STATUS_TIMESTAMP = "status_ts";
+  }
+
+  public static class ContactsContract.StatusUpdates implements android.provider.ContactsContract.PresenceColumns android.provider.ContactsContract.StatusColumns {
+    method public static final int getPresenceIconResourceId(int);
+    method public static final int getPresencePrecedence(int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/status-update";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/status-update";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri PROFILE_CONTENT_URI;
+  }
+
+  protected static interface ContactsContract.SyncColumns extends android.provider.ContactsContract.BaseSyncColumns {
+    field public static final String ACCOUNT_NAME = "account_name";
+    field public static final String ACCOUNT_TYPE = "account_type";
+    field public static final String DIRTY = "dirty";
+    field public static final String SOURCE_ID = "sourceid";
+    field public static final String VERSION = "version";
+  }
+
+  public static final class ContactsContract.SyncState implements android.provider.SyncStateContract.Columns {
+    method public static byte[] get(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.util.Pair<android.net.Uri,byte[]> getWithUri(android.content.ContentProviderClient, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.content.ContentProviderOperation newSetOperation(android.accounts.Account, byte[]);
+    method public static void set(android.content.ContentProviderClient, android.accounts.Account, byte[]) throws android.os.RemoteException;
+    field public static final String CONTENT_DIRECTORY = "syncstate";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public final class DocumentsContract {
+    method public static android.net.Uri buildChildDocumentsUri(String, String);
+    method public static android.net.Uri buildChildDocumentsUriUsingTree(android.net.Uri, String);
+    method public static android.net.Uri buildDocumentUri(String, String);
+    method public static android.net.Uri buildDocumentUriUsingTree(android.net.Uri, String);
+    method public static android.net.Uri buildRecentDocumentsUri(String, String);
+    method public static android.net.Uri buildRootUri(String, String);
+    method public static android.net.Uri buildRootsUri(String);
+    method public static android.net.Uri buildSearchDocumentsUri(String, String, String);
+    method public static android.net.Uri buildTreeDocumentUri(String, String);
+    method @Nullable public static android.net.Uri copyDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method @Nullable public static android.net.Uri createDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull String, @NonNull String) throws java.io.FileNotFoundException;
+    method @Nullable public static android.content.IntentSender createWebLinkIntent(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
+    method public static boolean deleteDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method public static void ejectRoot(@NonNull android.content.ContentResolver, @NonNull android.net.Uri);
+    method @Nullable public static android.provider.DocumentsContract.Path findDocumentPath(@NonNull android.content.ContentResolver, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method public static String getDocumentId(android.net.Uri);
+    method @Nullable public static android.os.Bundle getDocumentMetadata(@NonNull android.content.ContentResolver, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method @Nullable public static android.graphics.Bitmap getDocumentThumbnail(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull android.graphics.Point, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public static String getRootId(android.net.Uri);
+    method public static String getSearchDocumentsQuery(android.net.Uri);
+    method public static String getTreeDocumentId(android.net.Uri);
+    method public static boolean isChildDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method public static boolean isDocumentUri(android.content.Context, @Nullable android.net.Uri);
+    method public static boolean isRootUri(@NonNull android.content.Context, @Nullable android.net.Uri);
+    method public static boolean isRootsUri(@NonNull android.content.Context, @Nullable android.net.Uri);
+    method public static boolean isTreeUri(android.net.Uri);
+    method @Nullable public static android.net.Uri moveDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method public static boolean removeDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull android.net.Uri) throws java.io.FileNotFoundException;
+    method @Nullable public static android.net.Uri renameDocument(@NonNull android.content.ContentResolver, @NonNull android.net.Uri, @NonNull String) throws java.io.FileNotFoundException;
+    field public static final String ACTION_DOCUMENT_SETTINGS = "android.provider.action.DOCUMENT_SETTINGS";
+    field public static final String EXTRA_ERROR = "error";
+    field public static final String EXTRA_EXCLUDE_SELF = "android.provider.extra.EXCLUDE_SELF";
+    field public static final String EXTRA_INFO = "info";
+    field public static final String EXTRA_INITIAL_URI = "android.provider.extra.INITIAL_URI";
+    field public static final String EXTRA_LOADING = "loading";
+    field public static final String EXTRA_ORIENTATION = "android.provider.extra.ORIENTATION";
+    field public static final String EXTRA_PROMPT = "android.provider.extra.PROMPT";
+    field public static final String METADATA_EXIF = "android:documentExif";
+    field public static final String METADATA_TREE_COUNT = "android:metadataTreeCount";
+    field public static final String METADATA_TREE_SIZE = "android:metadataTreeSize";
+    field public static final String METADATA_TYPES = "android:documentMetadataTypes";
+    field public static final String PROVIDER_INTERFACE = "android.content.action.DOCUMENTS_PROVIDER";
+    field public static final String QUERY_ARG_DISPLAY_NAME = "android:query-arg-display-name";
+    field public static final String QUERY_ARG_EXCLUDE_MEDIA = "android:query-arg-exclude-media";
+    field public static final String QUERY_ARG_FILE_SIZE_OVER = "android:query-arg-file-size-over";
+    field public static final String QUERY_ARG_LAST_MODIFIED_AFTER = "android:query-arg-last-modified-after";
+    field public static final String QUERY_ARG_MIME_TYPES = "android:query-arg-mime-types";
+  }
+
+  public static final class DocumentsContract.Document {
+    field public static final String COLUMN_DISPLAY_NAME = "_display_name";
+    field public static final String COLUMN_DOCUMENT_ID = "document_id";
+    field public static final String COLUMN_FLAGS = "flags";
+    field public static final String COLUMN_ICON = "icon";
+    field public static final String COLUMN_LAST_MODIFIED = "last_modified";
+    field public static final String COLUMN_MIME_TYPE = "mime_type";
+    field public static final String COLUMN_SIZE = "_size";
+    field public static final String COLUMN_SUMMARY = "summary";
+    field public static final int FLAG_DIR_BLOCKS_OPEN_DOCUMENT_TREE = 32768; // 0x8000
+    field public static final int FLAG_DIR_PREFERS_GRID = 16; // 0x10
+    field public static final int FLAG_DIR_PREFERS_LAST_MODIFIED = 32; // 0x20
+    field public static final int FLAG_DIR_SUPPORTS_CREATE = 8; // 0x8
+    field public static final int FLAG_PARTIAL = 8192; // 0x2000
+    field public static final int FLAG_SUPPORTS_COPY = 128; // 0x80
+    field public static final int FLAG_SUPPORTS_DELETE = 4; // 0x4
+    field public static final int FLAG_SUPPORTS_METADATA = 16384; // 0x4000
+    field public static final int FLAG_SUPPORTS_MOVE = 256; // 0x100
+    field public static final int FLAG_SUPPORTS_REMOVE = 1024; // 0x400
+    field public static final int FLAG_SUPPORTS_RENAME = 64; // 0x40
+    field public static final int FLAG_SUPPORTS_SETTINGS = 2048; // 0x800
+    field public static final int FLAG_SUPPORTS_THUMBNAIL = 1; // 0x1
+    field public static final int FLAG_SUPPORTS_WRITE = 2; // 0x2
+    field public static final int FLAG_VIRTUAL_DOCUMENT = 512; // 0x200
+    field public static final int FLAG_WEB_LINKABLE = 4096; // 0x1000
+    field public static final String MIME_TYPE_DIR = "vnd.android.document/directory";
+  }
+
+  public static final class DocumentsContract.Path implements android.os.Parcelable {
+    ctor public DocumentsContract.Path(@Nullable String, java.util.List<java.lang.String>);
+    method public int describeContents();
+    method public java.util.List<java.lang.String> getPath();
+    method @Nullable public String getRootId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.provider.DocumentsContract.Path> CREATOR;
+  }
+
+  public static final class DocumentsContract.Root {
+    field public static final String COLUMN_AVAILABLE_BYTES = "available_bytes";
+    field public static final String COLUMN_CAPACITY_BYTES = "capacity_bytes";
+    field public static final String COLUMN_DOCUMENT_ID = "document_id";
+    field public static final String COLUMN_FLAGS = "flags";
+    field public static final String COLUMN_ICON = "icon";
+    field public static final String COLUMN_MIME_TYPES = "mime_types";
+    field public static final String COLUMN_QUERY_ARGS = "query_args";
+    field public static final String COLUMN_ROOT_ID = "root_id";
+    field public static final String COLUMN_SUMMARY = "summary";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final int FLAG_EMPTY = 64; // 0x40
+    field public static final int FLAG_LOCAL_ONLY = 2; // 0x2
+    field public static final int FLAG_SUPPORTS_CREATE = 1; // 0x1
+    field public static final int FLAG_SUPPORTS_EJECT = 32; // 0x20
+    field public static final int FLAG_SUPPORTS_IS_CHILD = 16; // 0x10
+    field public static final int FLAG_SUPPORTS_RECENTS = 4; // 0x4
+    field public static final int FLAG_SUPPORTS_SEARCH = 8; // 0x8
+    field public static final String MIME_TYPE_ITEM = "vnd.android.document/root";
+  }
+
+  public abstract class DocumentsProvider extends android.content.ContentProvider {
+    ctor public DocumentsProvider();
+    method public String copyDocument(String, String) throws java.io.FileNotFoundException;
+    method public String createDocument(String, String, String) throws java.io.FileNotFoundException;
+    method public android.content.IntentSender createWebLinkIntent(String, @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
+    method public final int delete(android.net.Uri, String, String[]);
+    method public void deleteDocument(String) throws java.io.FileNotFoundException;
+    method public void ejectRoot(String);
+    method public android.provider.DocumentsContract.Path findDocumentPath(@Nullable String, String) throws java.io.FileNotFoundException;
+    method @Nullable public android.os.Bundle getDocumentMetadata(@NonNull String) throws java.io.FileNotFoundException;
+    method public String[] getDocumentStreamTypes(String, String);
+    method public String getDocumentType(String) throws java.io.FileNotFoundException;
+    method public final String getType(android.net.Uri);
+    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+    method public boolean isChildDocument(String, String);
+    method public String moveDocument(String, String, String) throws java.io.FileNotFoundException;
+    method public final android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, String) throws java.io.FileNotFoundException;
+    method public final android.content.res.AssetFileDescriptor openAssetFile(android.net.Uri, String, android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public abstract android.os.ParcelFileDescriptor openDocument(String, String, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public android.content.res.AssetFileDescriptor openDocumentThumbnail(String, android.graphics.Point, android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public final android.os.ParcelFileDescriptor openFile(android.net.Uri, String) throws java.io.FileNotFoundException;
+    method public final android.os.ParcelFileDescriptor openFile(android.net.Uri, String, android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public final android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, String, android.os.Bundle) throws java.io.FileNotFoundException;
+    method public final android.content.res.AssetFileDescriptor openTypedAssetFile(android.net.Uri, String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public android.content.res.AssetFileDescriptor openTypedDocument(String, String, android.os.Bundle, android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public final android.database.Cursor query(android.net.Uri, String[], String, String[], String);
+    method public final android.database.Cursor query(android.net.Uri, String[], android.os.Bundle, android.os.CancellationSignal);
+    method public abstract android.database.Cursor queryChildDocuments(String, String[], String) throws java.io.FileNotFoundException;
+    method public android.database.Cursor queryChildDocuments(String, @Nullable String[], @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
+    method public abstract android.database.Cursor queryDocument(String, String[]) throws java.io.FileNotFoundException;
+    method public android.database.Cursor queryRecentDocuments(String, String[]) throws java.io.FileNotFoundException;
+    method @Nullable public android.database.Cursor queryRecentDocuments(@NonNull String, @Nullable String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method public abstract android.database.Cursor queryRoots(String[]) throws java.io.FileNotFoundException;
+    method public android.database.Cursor querySearchDocuments(String, String, String[]) throws java.io.FileNotFoundException;
+    method @Nullable public android.database.Cursor querySearchDocuments(@NonNull String, @Nullable String[], @NonNull android.os.Bundle) throws java.io.FileNotFoundException;
+    method public void removeDocument(String, String) throws java.io.FileNotFoundException;
+    method public String renameDocument(String, String) throws java.io.FileNotFoundException;
+    method public final void revokeDocumentPermission(String);
+    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
+  }
+
+  @Deprecated public final class FontRequest {
+    ctor @Deprecated public FontRequest(@NonNull String, @NonNull String, @NonNull String);
+    ctor @Deprecated public FontRequest(@NonNull String, @NonNull String, @NonNull String, @NonNull java.util.List<java.util.List<byte[]>>);
+    method @Deprecated public java.util.List<java.util.List<byte[]>> getCertificates();
+    method @Deprecated public String getProviderAuthority();
+    method @Deprecated public String getProviderPackage();
+    method @Deprecated public String getQuery();
+  }
+
+  @Deprecated public class FontsContract {
+    method @Deprecated public static android.graphics.Typeface buildTypeface(@NonNull android.content.Context, @Nullable android.os.CancellationSignal, @NonNull android.provider.FontsContract.FontInfo[]);
+    method @Deprecated @NonNull public static android.provider.FontsContract.FontFamilyResult fetchFonts(@NonNull android.content.Context, @Nullable android.os.CancellationSignal, @NonNull android.provider.FontRequest) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public static void requestFonts(@NonNull android.content.Context, @NonNull android.provider.FontRequest, @NonNull android.os.Handler, @Nullable android.os.CancellationSignal, @NonNull android.provider.FontsContract.FontRequestCallback);
+  }
+
+  @Deprecated public static final class FontsContract.Columns implements android.provider.BaseColumns {
+    field @Deprecated public static final String FILE_ID = "file_id";
+    field @Deprecated public static final String ITALIC = "font_italic";
+    field @Deprecated public static final String RESULT_CODE = "result_code";
+    field @Deprecated public static final int RESULT_CODE_FONT_NOT_FOUND = 1; // 0x1
+    field @Deprecated public static final int RESULT_CODE_FONT_UNAVAILABLE = 2; // 0x2
+    field @Deprecated public static final int RESULT_CODE_MALFORMED_QUERY = 3; // 0x3
+    field @Deprecated public static final int RESULT_CODE_OK = 0; // 0x0
+    field @Deprecated public static final String TTC_INDEX = "font_ttc_index";
+    field @Deprecated public static final String VARIATION_SETTINGS = "font_variation_settings";
+    field @Deprecated public static final String WEIGHT = "font_weight";
+  }
+
+  @Deprecated public static class FontsContract.FontFamilyResult {
+    method @Deprecated @NonNull public android.provider.FontsContract.FontInfo[] getFonts();
+    method @Deprecated public int getStatusCode();
+    field @Deprecated public static final int STATUS_OK = 0; // 0x0
+    field @Deprecated public static final int STATUS_REJECTED = 3; // 0x3
+    field @Deprecated public static final int STATUS_UNEXPECTED_DATA_PROVIDED = 2; // 0x2
+    field @Deprecated public static final int STATUS_WRONG_CERTIFICATES = 1; // 0x1
+  }
+
+  @Deprecated public static class FontsContract.FontInfo {
+    method @Deprecated @Nullable public android.graphics.fonts.FontVariationAxis[] getAxes();
+    method @Deprecated public int getResultCode();
+    method @Deprecated @IntRange(from=0) public int getTtcIndex();
+    method @Deprecated @NonNull public android.net.Uri getUri();
+    method @Deprecated @IntRange(from=1, to=1000) public int getWeight();
+    method @Deprecated public boolean isItalic();
+  }
+
+  @Deprecated public static class FontsContract.FontRequestCallback {
+    ctor @Deprecated public FontsContract.FontRequestCallback();
+    method @Deprecated public void onTypefaceRequestFailed(int);
+    method @Deprecated public void onTypefaceRetrieved(android.graphics.Typeface);
+    field @Deprecated public static final int FAIL_REASON_FONT_LOAD_ERROR = -3; // 0xfffffffd
+    field @Deprecated public static final int FAIL_REASON_FONT_NOT_FOUND = 1; // 0x1
+    field @Deprecated public static final int FAIL_REASON_FONT_UNAVAILABLE = 2; // 0x2
+    field @Deprecated public static final int FAIL_REASON_MALFORMED_QUERY = 3; // 0x3
+    field @Deprecated public static final int FAIL_REASON_PROVIDER_NOT_FOUND = -1; // 0xffffffff
+    field @Deprecated public static final int FAIL_REASON_WRONG_CERTIFICATES = -2; // 0xfffffffe
+  }
+
+  @Deprecated public final class LiveFolders implements android.provider.BaseColumns {
+    field @Deprecated public static final String ACTION_CREATE_LIVE_FOLDER = "android.intent.action.CREATE_LIVE_FOLDER";
+    field @Deprecated public static final String DESCRIPTION = "description";
+    field @Deprecated public static final int DISPLAY_MODE_GRID = 1; // 0x1
+    field @Deprecated public static final int DISPLAY_MODE_LIST = 2; // 0x2
+    field @Deprecated public static final String EXTRA_LIVE_FOLDER_BASE_INTENT = "android.intent.extra.livefolder.BASE_INTENT";
+    field @Deprecated public static final String EXTRA_LIVE_FOLDER_DISPLAY_MODE = "android.intent.extra.livefolder.DISPLAY_MODE";
+    field @Deprecated public static final String EXTRA_LIVE_FOLDER_ICON = "android.intent.extra.livefolder.ICON";
+    field @Deprecated public static final String EXTRA_LIVE_FOLDER_NAME = "android.intent.extra.livefolder.NAME";
+    field @Deprecated public static final String ICON_BITMAP = "icon_bitmap";
+    field @Deprecated public static final String ICON_PACKAGE = "icon_package";
+    field @Deprecated public static final String ICON_RESOURCE = "icon_resource";
+    field @Deprecated public static final String INTENT = "intent";
+    field @Deprecated public static final String NAME = "name";
+  }
+
+  public final class MediaStore {
+    ctor public MediaStore();
+    method public static boolean canManageMedia(@NonNull android.content.Context);
+    method @NonNull public static android.app.PendingIntent createDeleteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>);
+    method @NonNull public static android.app.PendingIntent createFavoriteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>, boolean);
+    method @NonNull public static android.app.PendingIntent createTrashRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>, boolean);
+    method @NonNull public static android.app.PendingIntent createWriteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>);
+    method @Nullable public static android.net.Uri getDocumentUri(@NonNull android.content.Context, @NonNull android.net.Uri);
+    method @NonNull public static java.util.Set<java.lang.String> getExternalVolumeNames(@NonNull android.content.Context);
+    method public static long getGeneration(@NonNull android.content.Context, @NonNull String);
+    method public static android.net.Uri getMediaScannerUri();
+    method @Nullable public static android.net.Uri getMediaUri(@NonNull android.content.Context, @NonNull android.net.Uri);
+    method @NonNull public static android.os.ParcelFileDescriptor getOriginalMediaFormatFileDescriptor(@NonNull android.content.Context, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method @NonNull public static java.util.Set<java.lang.String> getRecentExternalVolumeNames(@NonNull android.content.Context);
+    method @Nullable public static android.net.Uri getRedactedUri(@NonNull android.content.ContentResolver, @NonNull android.net.Uri);
+    method @NonNull public static java.util.List<android.net.Uri> getRedactedUri(@NonNull android.content.ContentResolver, @NonNull java.util.List<android.net.Uri>);
+    method public static boolean getRequireOriginal(@NonNull android.net.Uri);
+    method @NonNull public static String getVersion(@NonNull android.content.Context);
+    method @NonNull public static String getVersion(@NonNull android.content.Context, @NonNull String);
+    method @NonNull public static String getVolumeName(@NonNull android.net.Uri);
+    method public static boolean isCurrentSystemGallery(@NonNull android.content.ContentResolver, int, @NonNull String);
+    method @Deprecated @NonNull public static android.net.Uri setIncludePending(@NonNull android.net.Uri);
+    method @NonNull public static android.net.Uri setRequireOriginal(@NonNull android.net.Uri);
+    field public static final String ACTION_IMAGE_CAPTURE = "android.media.action.IMAGE_CAPTURE";
+    field public static final String ACTION_IMAGE_CAPTURE_SECURE = "android.media.action.IMAGE_CAPTURE_SECURE";
+    field public static final String ACTION_REVIEW = "android.provider.action.REVIEW";
+    field public static final String ACTION_REVIEW_SECURE = "android.provider.action.REVIEW_SECURE";
+    field public static final String ACTION_VIDEO_CAPTURE = "android.media.action.VIDEO_CAPTURE";
+    field public static final String AUTHORITY = "media";
+    field @NonNull public static final android.net.Uri AUTHORITY_URI;
+    field public static final String EXTRA_ACCEPT_ORIGINAL_MEDIA_FORMAT = "android.provider.extra.ACCEPT_ORIGINAL_MEDIA_FORMAT";
+    field public static final String EXTRA_BRIGHTNESS = "android.provider.extra.BRIGHTNESS";
+    field public static final String EXTRA_DURATION_LIMIT = "android.intent.extra.durationLimit";
+    field public static final String EXTRA_FINISH_ON_COMPLETION = "android.intent.extra.finishOnCompletion";
+    field public static final String EXTRA_FULL_SCREEN = "android.intent.extra.fullScreen";
+    field public static final String EXTRA_MEDIA_ALBUM = "android.intent.extra.album";
+    field public static final String EXTRA_MEDIA_ARTIST = "android.intent.extra.artist";
+    field public static final String EXTRA_MEDIA_CAPABILITIES = "android.provider.extra.MEDIA_CAPABILITIES";
+    field public static final String EXTRA_MEDIA_CAPABILITIES_UID = "android.provider.extra.MEDIA_CAPABILITIES_UID";
+    field public static final String EXTRA_MEDIA_FOCUS = "android.intent.extra.focus";
+    field public static final String EXTRA_MEDIA_GENRE = "android.intent.extra.genre";
+    field @Deprecated public static final String EXTRA_MEDIA_PLAYLIST = "android.intent.extra.playlist";
+    field public static final String EXTRA_MEDIA_RADIO_CHANNEL = "android.intent.extra.radio_channel";
+    field public static final String EXTRA_MEDIA_TITLE = "android.intent.extra.title";
+    field public static final String EXTRA_OUTPUT = "output";
+    field public static final String EXTRA_SCREEN_ORIENTATION = "android.intent.extra.screenOrientation";
+    field public static final String EXTRA_SHOW_ACTION_ICONS = "android.intent.extra.showActionIcons";
+    field public static final String EXTRA_SIZE_LIMIT = "android.intent.extra.sizeLimit";
+    field public static final String EXTRA_VIDEO_QUALITY = "android.intent.extra.videoQuality";
+    field public static final String INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH = "android.media.action.MEDIA_PLAY_FROM_SEARCH";
+    field public static final String INTENT_ACTION_MEDIA_SEARCH = "android.intent.action.MEDIA_SEARCH";
+    field @Deprecated public static final String INTENT_ACTION_MUSIC_PLAYER = "android.intent.action.MUSIC_PLAYER";
+    field public static final String INTENT_ACTION_STILL_IMAGE_CAMERA = "android.media.action.STILL_IMAGE_CAMERA";
+    field public static final String INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE = "android.media.action.STILL_IMAGE_CAMERA_SECURE";
+    field public static final String INTENT_ACTION_TEXT_OPEN_FROM_SEARCH = "android.media.action.TEXT_OPEN_FROM_SEARCH";
+    field public static final String INTENT_ACTION_VIDEO_CAMERA = "android.media.action.VIDEO_CAMERA";
+    field public static final String INTENT_ACTION_VIDEO_PLAY_FROM_SEARCH = "android.media.action.VIDEO_PLAY_FROM_SEARCH";
+    field public static final int MATCH_DEFAULT = 0; // 0x0
+    field public static final int MATCH_EXCLUDE = 2; // 0x2
+    field public static final int MATCH_INCLUDE = 1; // 0x1
+    field public static final int MATCH_ONLY = 3; // 0x3
+    field public static final String MEDIA_IGNORE_FILENAME = ".nomedia";
+    field public static final String MEDIA_SCANNER_VOLUME = "volume";
+    field public static final String META_DATA_REVIEW_GALLERY_PREWARM_SERVICE = "android.media.review_gallery_prewarm_service";
+    field public static final String META_DATA_STILL_IMAGE_CAMERA_PREWARM_SERVICE = "android.media.still_image_camera_preview_service";
+    field public static final String QUERY_ARG_INCLUDE_RECENTLY_UNMOUNTED_VOLUMES = "android:query-arg-recently-unmounted-volumes";
+    field public static final String QUERY_ARG_MATCH_FAVORITE = "android:query-arg-match-favorite";
+    field public static final String QUERY_ARG_MATCH_PENDING = "android:query-arg-match-pending";
+    field public static final String QUERY_ARG_MATCH_TRASHED = "android:query-arg-match-trashed";
+    field public static final String QUERY_ARG_RELATED_URI = "android:query-arg-related-uri";
+    field public static final String UNKNOWN_STRING = "<unknown>";
+    field public static final String VOLUME_EXTERNAL = "external";
+    field public static final String VOLUME_EXTERNAL_PRIMARY = "external_primary";
+    field public static final String VOLUME_INTERNAL = "internal";
+  }
+
+  public static final class MediaStore.Audio {
+    ctor public MediaStore.Audio();
+    method @Deprecated @Nullable public static String keyFor(@Nullable String);
+  }
+
+  public static interface MediaStore.Audio.AlbumColumns {
+    field public static final String ALBUM = "album";
+    field @Deprecated public static final String ALBUM_ART = "album_art";
+    field public static final String ALBUM_ID = "album_id";
+    field @Deprecated public static final String ALBUM_KEY = "album_key";
+    field public static final String ARTIST = "artist";
+    field public static final String ARTIST_ID = "artist_id";
+    field @Deprecated public static final String ARTIST_KEY = "artist_key";
+    field public static final String FIRST_YEAR = "minyear";
+    field public static final String LAST_YEAR = "maxyear";
+    field public static final String NUMBER_OF_SONGS = "numsongs";
+    field public static final String NUMBER_OF_SONGS_FOR_ARTIST = "numsongs_by_artist";
+  }
+
+  public static final class MediaStore.Audio.Albums implements android.provider.BaseColumns android.provider.MediaStore.Audio.AlbumColumns {
+    ctor public MediaStore.Audio.Albums();
+    method public static android.net.Uri getContentUri(String);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/albums";
+    field public static final String DEFAULT_SORT_ORDER = "album_key";
+    field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/album";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  public static interface MediaStore.Audio.ArtistColumns {
+    field public static final String ARTIST = "artist";
+    field @Deprecated public static final String ARTIST_KEY = "artist_key";
+    field public static final String NUMBER_OF_ALBUMS = "number_of_albums";
+    field public static final String NUMBER_OF_TRACKS = "number_of_tracks";
+  }
+
+  public static final class MediaStore.Audio.Artists implements android.provider.BaseColumns android.provider.MediaStore.Audio.ArtistColumns {
+    ctor public MediaStore.Audio.Artists();
+    method public static android.net.Uri getContentUri(String);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/artists";
+    field public static final String DEFAULT_SORT_ORDER = "artist_key";
+    field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/artist";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  public static final class MediaStore.Audio.Artists.Albums implements android.provider.BaseColumns android.provider.MediaStore.Audio.AlbumColumns {
+    ctor public MediaStore.Audio.Artists.Albums();
+    method public static android.net.Uri getContentUri(String, long);
+  }
+
+  public static interface MediaStore.Audio.AudioColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String ALBUM_ID = "album_id";
+    field @Deprecated public static final String ALBUM_KEY = "album_key";
+    field public static final String ARTIST_ID = "artist_id";
+    field @Deprecated public static final String ARTIST_KEY = "artist_key";
+    field public static final String BOOKMARK = "bookmark";
+    field public static final String GENRE = "genre";
+    field public static final String GENRE_ID = "genre_id";
+    field @Deprecated public static final String GENRE_KEY = "genre_key";
+    field public static final String IS_ALARM = "is_alarm";
+    field public static final String IS_AUDIOBOOK = "is_audiobook";
+    field public static final String IS_MUSIC = "is_music";
+    field public static final String IS_NOTIFICATION = "is_notification";
+    field public static final String IS_PODCAST = "is_podcast";
+    field public static final String IS_RECORDING = "is_recording";
+    field public static final String IS_RINGTONE = "is_ringtone";
+    field @Deprecated public static final String TITLE_KEY = "title_key";
+    field public static final String TITLE_RESOURCE_URI = "title_resource_uri";
+    field public static final String TRACK = "track";
+    field public static final String YEAR = "year";
+  }
+
+  public static final class MediaStore.Audio.Genres implements android.provider.BaseColumns android.provider.MediaStore.Audio.GenresColumns {
+    ctor public MediaStore.Audio.Genres();
+    method public static android.net.Uri getContentUri(String);
+    method public static android.net.Uri getContentUriForAudioId(String, int);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/genre";
+    field public static final String DEFAULT_SORT_ORDER = "name";
+    field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/genre";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  public static final class MediaStore.Audio.Genres.Members implements android.provider.MediaStore.Audio.AudioColumns {
+    ctor public MediaStore.Audio.Genres.Members();
+    method public static android.net.Uri getContentUri(String, long);
+    field public static final String AUDIO_ID = "audio_id";
+    field public static final String CONTENT_DIRECTORY = "members";
+    field public static final String DEFAULT_SORT_ORDER = "title_key";
+    field public static final String GENRE_ID = "genre_id";
+  }
+
+  public static interface MediaStore.Audio.GenresColumns {
+    field public static final String NAME = "name";
+  }
+
+  public static final class MediaStore.Audio.Media implements android.provider.MediaStore.Audio.AudioColumns {
+    ctor public MediaStore.Audio.Media();
+    method public static android.net.Uri getContentUri(String);
+    method @NonNull public static android.net.Uri getContentUri(@NonNull String, long);
+    method @Deprecated @Nullable public static android.net.Uri getContentUriForPath(@NonNull String);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/audio";
+    field public static final String DEFAULT_SORT_ORDER = "title_key";
+    field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/audio";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final String EXTRA_MAX_BYTES = "android.provider.MediaStore.extra.MAX_BYTES";
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+    field public static final String RECORD_SOUND_ACTION = "android.provider.MediaStore.RECORD_SOUND";
+  }
+
+  @Deprecated public static final class MediaStore.Audio.Playlists implements android.provider.BaseColumns android.provider.MediaStore.Audio.PlaylistsColumns {
+    ctor @Deprecated public MediaStore.Audio.Playlists();
+    method @Deprecated public static android.net.Uri getContentUri(String);
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/playlist";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name";
+    field @Deprecated public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/playlist";
+    field @Deprecated public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field @Deprecated public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  @Deprecated public static final class MediaStore.Audio.Playlists.Members implements android.provider.MediaStore.Audio.AudioColumns {
+    ctor @Deprecated public MediaStore.Audio.Playlists.Members();
+    method @Deprecated public static android.net.Uri getContentUri(String, long);
+    method @Deprecated public static boolean moveItem(android.content.ContentResolver, long, int, int);
+    field @Deprecated public static final String AUDIO_ID = "audio_id";
+    field @Deprecated public static final String CONTENT_DIRECTORY = "members";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "play_order";
+    field @Deprecated public static final String PLAYLIST_ID = "playlist_id";
+    field @Deprecated public static final String PLAY_ORDER = "play_order";
+    field @Deprecated public static final String _ID = "_id";
+  }
+
+  @Deprecated public static interface MediaStore.Audio.PlaylistsColumns extends android.provider.MediaStore.MediaColumns {
+    field @Deprecated public static final String DATA = "_data";
+    field @Deprecated public static final String DATE_ADDED = "date_added";
+    field @Deprecated public static final String DATE_MODIFIED = "date_modified";
+    field @Deprecated public static final String NAME = "name";
+  }
+
+  public static final class MediaStore.Audio.Radio {
+    field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/radio";
+  }
+
+  public static interface MediaStore.DownloadColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String DOWNLOAD_URI = "download_uri";
+    field public static final String REFERER_URI = "referer_uri";
+  }
+
+  public static final class MediaStore.Downloads implements android.provider.MediaStore.DownloadColumns {
+    method @NonNull public static android.net.Uri getContentUri(@NonNull String);
+    method @NonNull public static android.net.Uri getContentUri(@NonNull String, long);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/download";
+    field @NonNull public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field @NonNull public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  public static final class MediaStore.Files {
+    ctor public MediaStore.Files();
+    method public static android.net.Uri getContentUri(String);
+    method public static android.net.Uri getContentUri(String, long);
+  }
+
+  public static interface MediaStore.Files.FileColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String MEDIA_TYPE = "media_type";
+    field public static final int MEDIA_TYPE_AUDIO = 2; // 0x2
+    field public static final int MEDIA_TYPE_DOCUMENT = 6; // 0x6
+    field public static final int MEDIA_TYPE_IMAGE = 1; // 0x1
+    field public static final int MEDIA_TYPE_NONE = 0; // 0x0
+    field @Deprecated public static final int MEDIA_TYPE_PLAYLIST = 4; // 0x4
+    field public static final int MEDIA_TYPE_SUBTITLE = 5; // 0x5
+    field public static final int MEDIA_TYPE_VIDEO = 3; // 0x3
+    field public static final String MIME_TYPE = "mime_type";
+    field public static final String PARENT = "parent";
+  }
+
+  public static final class MediaStore.Images {
+    ctor public MediaStore.Images();
+  }
+
+  public static interface MediaStore.Images.ImageColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String DESCRIPTION = "description";
+    field public static final String EXPOSURE_TIME = "exposure_time";
+    field public static final String F_NUMBER = "f_number";
+    field public static final String ISO = "iso";
+    field public static final String IS_PRIVATE = "isprivate";
+    field @Deprecated public static final String LATITUDE = "latitude";
+    field @Deprecated public static final String LONGITUDE = "longitude";
+    field @Deprecated public static final String MINI_THUMB_MAGIC = "mini_thumb_magic";
+    field @Deprecated public static final String PICASA_ID = "picasa_id";
+    field public static final String SCENE_CAPTURE_TYPE = "scene_capture_type";
+  }
+
+  public static final class MediaStore.Images.Media implements android.provider.MediaStore.Images.ImageColumns {
+    ctor public MediaStore.Images.Media();
+    method @Deprecated public static android.graphics.Bitmap getBitmap(android.content.ContentResolver, android.net.Uri) throws java.io.FileNotFoundException, java.io.IOException;
+    method public static android.net.Uri getContentUri(String);
+    method @NonNull public static android.net.Uri getContentUri(@NonNull String, long);
+    method @Deprecated public static String insertImage(android.content.ContentResolver, String, String, String) throws java.io.FileNotFoundException;
+    method @Deprecated public static String insertImage(android.content.ContentResolver, android.graphics.Bitmap, String, String);
+    method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]);
+    method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[], String, String);
+    method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[], String, String[], String);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/image";
+    field public static final String DEFAULT_SORT_ORDER = "bucket_display_name";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  @Deprecated public static class MediaStore.Images.Thumbnails implements android.provider.BaseColumns {
+    ctor @Deprecated public MediaStore.Images.Thumbnails();
+    method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long);
+    method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long, long);
+    method @Deprecated public static android.net.Uri getContentUri(String);
+    method @Deprecated @NonNull public static android.util.Size getKindSize(int);
+    method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, int, android.graphics.BitmapFactory.Options);
+    method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options);
+    method @Deprecated public static final android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]);
+    method @Deprecated public static final android.database.Cursor queryMiniThumbnail(android.content.ContentResolver, long, int, String[]);
+    method @Deprecated public static final android.database.Cursor queryMiniThumbnails(android.content.ContentResolver, android.net.Uri, int, String[]);
+    field @Deprecated public static final String DATA = "_data";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "image_id ASC";
+    field @Deprecated public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field @Deprecated public static final int FULL_SCREEN_KIND = 2; // 0x2
+    field @Deprecated public static final String HEIGHT = "height";
+    field @Deprecated public static final String IMAGE_ID = "image_id";
+    field @Deprecated public static final android.net.Uri INTERNAL_CONTENT_URI;
+    field @Deprecated public static final String KIND = "kind";
+    field @Deprecated public static final int MICRO_KIND = 3; // 0x3
+    field @Deprecated public static final int MINI_KIND = 1; // 0x1
+    field @Deprecated public static final String THUMB_DATA = "thumb_data";
+    field @Deprecated public static final String WIDTH = "width";
+  }
+
+  public static interface MediaStore.MediaColumns extends android.provider.BaseColumns {
+    field public static final String ALBUM = "album";
+    field public static final String ALBUM_ARTIST = "album_artist";
+    field public static final String ARTIST = "artist";
+    field public static final String AUTHOR = "author";
+    field public static final String BITRATE = "bitrate";
+    field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
+    field public static final String BUCKET_ID = "bucket_id";
+    field public static final String CAPTURE_FRAMERATE = "capture_framerate";
+    field public static final String CD_TRACK_NUMBER = "cd_track_number";
+    field public static final String COMPILATION = "compilation";
+    field public static final String COMPOSER = "composer";
+    field @Deprecated public static final String DATA = "_data";
+    field public static final String DATE_ADDED = "date_added";
+    field public static final String DATE_EXPIRES = "date_expires";
+    field public static final String DATE_MODIFIED = "date_modified";
+    field public static final String DATE_TAKEN = "datetaken";
+    field public static final String DISC_NUMBER = "disc_number";
+    field public static final String DISPLAY_NAME = "_display_name";
+    field public static final String DOCUMENT_ID = "document_id";
+    field public static final String DURATION = "duration";
+    field public static final String GENERATION_ADDED = "generation_added";
+    field public static final String GENERATION_MODIFIED = "generation_modified";
+    field public static final String GENRE = "genre";
+    field public static final String HEIGHT = "height";
+    field public static final String INSTANCE_ID = "instance_id";
+    field public static final String IS_DOWNLOAD = "is_download";
+    field public static final String IS_DRM = "is_drm";
+    field public static final String IS_FAVORITE = "is_favorite";
+    field public static final String IS_PENDING = "is_pending";
+    field public static final String IS_TRASHED = "is_trashed";
+    field public static final String MIME_TYPE = "mime_type";
+    field public static final String NUM_TRACKS = "num_tracks";
+    field public static final String ORIENTATION = "orientation";
+    field public static final String ORIGINAL_DOCUMENT_ID = "original_document_id";
+    field public static final String OWNER_PACKAGE_NAME = "owner_package_name";
+    field public static final String RELATIVE_PATH = "relative_path";
+    field public static final String RESOLUTION = "resolution";
+    field public static final String SIZE = "_size";
+    field public static final String TITLE = "title";
+    field public static final String VOLUME_NAME = "volume_name";
+    field public static final String WIDTH = "width";
+    field public static final String WRITER = "writer";
+    field public static final String XMP = "xmp";
+    field public static final String YEAR = "year";
+  }
+
+  public static final class MediaStore.Video {
+    ctor public MediaStore.Video();
+    method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]);
+    field public static final String DEFAULT_SORT_ORDER = "_display_name";
+  }
+
+  public static final class MediaStore.Video.Media implements android.provider.MediaStore.Video.VideoColumns {
+    ctor public MediaStore.Video.Media();
+    method public static android.net.Uri getContentUri(String);
+    method @NonNull public static android.net.Uri getContentUri(@NonNull String, long);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/video";
+    field public static final String DEFAULT_SORT_ORDER = "title";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  @Deprecated public static class MediaStore.Video.Thumbnails implements android.provider.BaseColumns {
+    ctor @Deprecated public MediaStore.Video.Thumbnails();
+    method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long);
+    method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long, long);
+    method @Deprecated public static android.net.Uri getContentUri(String);
+    method @Deprecated @NonNull public static android.util.Size getKindSize(int);
+    method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, int, android.graphics.BitmapFactory.Options);
+    method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options);
+    field @Deprecated public static final String DATA = "_data";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "video_id ASC";
+    field @Deprecated public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field @Deprecated public static final int FULL_SCREEN_KIND = 2; // 0x2
+    field @Deprecated public static final String HEIGHT = "height";
+    field @Deprecated public static final android.net.Uri INTERNAL_CONTENT_URI;
+    field @Deprecated public static final String KIND = "kind";
+    field @Deprecated public static final int MICRO_KIND = 3; // 0x3
+    field @Deprecated public static final int MINI_KIND = 1; // 0x1
+    field @Deprecated public static final String VIDEO_ID = "video_id";
+    field @Deprecated public static final String WIDTH = "width";
+  }
+
+  public static interface MediaStore.Video.VideoColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String BOOKMARK = "bookmark";
+    field public static final String CATEGORY = "category";
+    field public static final String COLOR_RANGE = "color_range";
+    field public static final String COLOR_STANDARD = "color_standard";
+    field public static final String COLOR_TRANSFER = "color_transfer";
+    field public static final String DESCRIPTION = "description";
+    field public static final String IS_PRIVATE = "isprivate";
+    field public static final String LANGUAGE = "language";
+    field @Deprecated public static final String LATITUDE = "latitude";
+    field @Deprecated public static final String LONGITUDE = "longitude";
+    field @Deprecated public static final String MINI_THUMB_MAGIC = "mini_thumb_magic";
+    field public static final String TAGS = "tags";
+  }
+
+  public interface OpenableColumns {
+    field public static final String DISPLAY_NAME = "_display_name";
+    field public static final String SIZE = "_size";
+  }
+
+  public class SearchRecentSuggestions {
+    ctor public SearchRecentSuggestions(android.content.Context, String, int);
+    method public void clearHistory();
+    method public void saveRecentQuery(String, String);
+    method protected void truncateHistory(android.content.ContentResolver, int);
+    field public static final String[] QUERIES_PROJECTION_1LINE;
+    field public static final String[] QUERIES_PROJECTION_2LINE;
+    field public static final int QUERIES_PROJECTION_DATE_INDEX = 1; // 0x1
+    field public static final int QUERIES_PROJECTION_DISPLAY1_INDEX = 3; // 0x3
+    field public static final int QUERIES_PROJECTION_DISPLAY2_INDEX = 4; // 0x4
+    field public static final int QUERIES_PROJECTION_QUERY_INDEX = 2; // 0x2
+  }
+
+  public final class Settings {
+    ctor public Settings();
+    method public static boolean canDrawOverlays(android.content.Context);
+    field public static final String ACTION_ACCESSIBILITY_SETTINGS = "android.settings.ACCESSIBILITY_SETTINGS";
+    field public static final String ACTION_ADD_ACCOUNT = "android.settings.ADD_ACCOUNT_SETTINGS";
+    field public static final String ACTION_AIRPLANE_MODE_SETTINGS = "android.settings.AIRPLANE_MODE_SETTINGS";
+    field public static final String ACTION_APN_SETTINGS = "android.settings.APN_SETTINGS";
+    field public static final String ACTION_APPLICATION_DETAILS_SETTINGS = "android.settings.APPLICATION_DETAILS_SETTINGS";
+    field public static final String ACTION_APPLICATION_DEVELOPMENT_SETTINGS = "android.settings.APPLICATION_DEVELOPMENT_SETTINGS";
+    field public static final String ACTION_APPLICATION_SETTINGS = "android.settings.APPLICATION_SETTINGS";
+    field public static final String ACTION_APP_NOTIFICATION_BUBBLE_SETTINGS = "android.settings.APP_NOTIFICATION_BUBBLE_SETTINGS";
+    field public static final String ACTION_APP_NOTIFICATION_SETTINGS = "android.settings.APP_NOTIFICATION_SETTINGS";
+    field public static final String ACTION_APP_OPEN_BY_DEFAULT_SETTINGS = "android.settings.APP_OPEN_BY_DEFAULT_SETTINGS";
+    field public static final String ACTION_APP_SEARCH_SETTINGS = "android.settings.APP_SEARCH_SETTINGS";
+    field public static final String ACTION_APP_USAGE_SETTINGS = "android.settings.action.APP_USAGE_SETTINGS";
+    field public static final String ACTION_AUTO_ROTATE_SETTINGS = "android.settings.AUTO_ROTATE_SETTINGS";
+    field public static final String ACTION_BATTERY_SAVER_SETTINGS = "android.settings.BATTERY_SAVER_SETTINGS";
+    field public static final String ACTION_BIOMETRIC_ENROLL = "android.settings.BIOMETRIC_ENROLL";
+    field public static final String ACTION_BLUETOOTH_SETTINGS = "android.settings.BLUETOOTH_SETTINGS";
+    field public static final String ACTION_CAPTIONING_SETTINGS = "android.settings.CAPTIONING_SETTINGS";
+    field public static final String ACTION_CAST_SETTINGS = "android.settings.CAST_SETTINGS";
+    field public static final String ACTION_CHANNEL_NOTIFICATION_SETTINGS = "android.settings.CHANNEL_NOTIFICATION_SETTINGS";
+    field public static final String ACTION_CONDITION_PROVIDER_SETTINGS = "android.settings.ACTION_CONDITION_PROVIDER_SETTINGS";
+    field public static final String ACTION_DATA_ROAMING_SETTINGS = "android.settings.DATA_ROAMING_SETTINGS";
+    field public static final String ACTION_DATA_USAGE_SETTINGS = "android.settings.DATA_USAGE_SETTINGS";
+    field public static final String ACTION_DATE_SETTINGS = "android.settings.DATE_SETTINGS";
+    field public static final String ACTION_DEVICE_INFO_SETTINGS = "android.settings.DEVICE_INFO_SETTINGS";
+    field public static final String ACTION_DISPLAY_SETTINGS = "android.settings.DISPLAY_SETTINGS";
+    field public static final String ACTION_DREAM_SETTINGS = "android.settings.DREAM_SETTINGS";
+    field @Deprecated public static final String ACTION_FINGERPRINT_ENROLL = "android.settings.FINGERPRINT_ENROLL";
+    field public static final String ACTION_HARD_KEYBOARD_SETTINGS = "android.settings.HARD_KEYBOARD_SETTINGS";
+    field public static final String ACTION_HOME_SETTINGS = "android.settings.HOME_SETTINGS";
+    field public static final String ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS = "android.settings.IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS";
+    field public static final String ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS = "android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS";
+    field public static final String ACTION_INPUT_METHOD_SETTINGS = "android.settings.INPUT_METHOD_SETTINGS";
+    field public static final String ACTION_INPUT_METHOD_SUBTYPE_SETTINGS = "android.settings.INPUT_METHOD_SUBTYPE_SETTINGS";
+    field public static final String ACTION_INTERNAL_STORAGE_SETTINGS = "android.settings.INTERNAL_STORAGE_SETTINGS";
+    field public static final String ACTION_LOCALE_SETTINGS = "android.settings.LOCALE_SETTINGS";
+    field public static final String ACTION_LOCATION_SOURCE_SETTINGS = "android.settings.LOCATION_SOURCE_SETTINGS";
+    field public static final String ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS = "android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS";
+    field public static final String ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION = "android.settings.MANAGE_ALL_FILES_ACCESS_PERMISSION";
+    field public static final String ACTION_MANAGE_ALL_SIM_PROFILES_SETTINGS = "android.settings.MANAGE_ALL_SIM_PROFILES_SETTINGS";
+    field public static final String ACTION_MANAGE_APPLICATIONS_SETTINGS = "android.settings.MANAGE_APPLICATIONS_SETTINGS";
+    field public static final String ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION = "android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION";
+    field public static final String ACTION_MANAGE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_DEFAULT_APPS_SETTINGS";
+    field public static final String ACTION_MANAGE_OVERLAY_PERMISSION = "android.settings.action.MANAGE_OVERLAY_PERMISSION";
+    field public static final String ACTION_MANAGE_UNKNOWN_APP_SOURCES = "android.settings.MANAGE_UNKNOWN_APP_SOURCES";
+    field public static final String ACTION_MANAGE_WRITE_SETTINGS = "android.settings.action.MANAGE_WRITE_SETTINGS";
+    field public static final String ACTION_MEMORY_CARD_SETTINGS = "android.settings.MEMORY_CARD_SETTINGS";
+    field public static final String ACTION_NETWORK_OPERATOR_SETTINGS = "android.settings.NETWORK_OPERATOR_SETTINGS";
+    field public static final String ACTION_NFCSHARING_SETTINGS = "android.settings.NFCSHARING_SETTINGS";
+    field public static final String ACTION_NFC_PAYMENT_SETTINGS = "android.settings.NFC_PAYMENT_SETTINGS";
+    field public static final String ACTION_NFC_SETTINGS = "android.settings.NFC_SETTINGS";
+    field public static final String ACTION_NIGHT_DISPLAY_SETTINGS = "android.settings.NIGHT_DISPLAY_SETTINGS";
+    field public static final String ACTION_NOTIFICATION_ASSISTANT_SETTINGS = "android.settings.NOTIFICATION_ASSISTANT_SETTINGS";
+    field public static final String ACTION_NOTIFICATION_LISTENER_DETAIL_SETTINGS = "android.settings.NOTIFICATION_LISTENER_DETAIL_SETTINGS";
+    field public static final String ACTION_NOTIFICATION_LISTENER_SETTINGS = "android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS";
+    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_SETTINGS";
+    field public static final String ACTION_PRINT_SETTINGS = "android.settings.ACTION_PRINT_SETTINGS";
+    field public static final String ACTION_PRIVACY_SETTINGS = "android.settings.PRIVACY_SETTINGS";
+    field public static final String ACTION_PROCESS_WIFI_EASY_CONNECT_URI = "android.settings.PROCESS_WIFI_EASY_CONNECT_URI";
+    field public static final String ACTION_QUICK_ACCESS_WALLET_SETTINGS = "android.settings.QUICK_ACCESS_WALLET_SETTINGS";
+    field public static final String ACTION_QUICK_LAUNCH_SETTINGS = "android.settings.QUICK_LAUNCH_SETTINGS";
+    field public static final String ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS = "android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS";
+    field public static final String ACTION_REQUEST_MANAGE_MEDIA = "android.settings.REQUEST_MANAGE_MEDIA";
+    field public static final String ACTION_REQUEST_SCHEDULE_EXACT_ALARM = "android.settings.REQUEST_SCHEDULE_EXACT_ALARM";
+    field public static final String ACTION_REQUEST_SET_AUTOFILL_SERVICE = "android.settings.REQUEST_SET_AUTOFILL_SERVICE";
+    field public static final String ACTION_SEARCH_SETTINGS = "android.search.action.SEARCH_SETTINGS";
+    field public static final String ACTION_SECURITY_SETTINGS = "android.settings.SECURITY_SETTINGS";
+    field public static final String ACTION_SETTINGS = "android.settings.SETTINGS";
+    field public static final String ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY = "android.settings.SETTINGS_EMBED_DEEP_LINK_ACTIVITY";
+    field public static final String ACTION_SHOW_REGULATORY_INFO = "android.settings.SHOW_REGULATORY_INFO";
+    field public static final String ACTION_SHOW_WORK_POLICY_INFO = "android.settings.SHOW_WORK_POLICY_INFO";
+    field public static final String ACTION_SOUND_SETTINGS = "android.settings.SOUND_SETTINGS";
+    field @Deprecated public static final String ACTION_STORAGE_VOLUME_ACCESS_SETTINGS = "android.settings.STORAGE_VOLUME_ACCESS_SETTINGS";
+    field public static final String ACTION_SYNC_SETTINGS = "android.settings.SYNC_SETTINGS";
+    field public static final String ACTION_USAGE_ACCESS_SETTINGS = "android.settings.USAGE_ACCESS_SETTINGS";
+    field public static final String ACTION_USER_DICTIONARY_SETTINGS = "android.settings.USER_DICTIONARY_SETTINGS";
+    field public static final String ACTION_VOICE_CONTROL_AIRPLANE_MODE = "android.settings.VOICE_CONTROL_AIRPLANE_MODE";
+    field public static final String ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE = "android.settings.VOICE_CONTROL_BATTERY_SAVER_MODE";
+    field public static final String ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE = "android.settings.VOICE_CONTROL_DO_NOT_DISTURB_MODE";
+    field public static final String ACTION_VOICE_INPUT_SETTINGS = "android.settings.VOICE_INPUT_SETTINGS";
+    field public static final String ACTION_VPN_SETTINGS = "android.settings.VPN_SETTINGS";
+    field public static final String ACTION_VR_LISTENER_SETTINGS = "android.settings.VR_LISTENER_SETTINGS";
+    field public static final String ACTION_WEBVIEW_SETTINGS = "android.settings.WEBVIEW_SETTINGS";
+    field public static final String ACTION_WIFI_ADD_NETWORKS = "android.settings.WIFI_ADD_NETWORKS";
+    field public static final String ACTION_WIFI_IP_SETTINGS = "android.settings.WIFI_IP_SETTINGS";
+    field public static final String ACTION_WIFI_SETTINGS = "android.settings.WIFI_SETTINGS";
+    field public static final String ACTION_WIRELESS_SETTINGS = "android.settings.WIRELESS_SETTINGS";
+    field public static final String ACTION_ZEN_MODE_PRIORITY_SETTINGS = "android.settings.ZEN_MODE_PRIORITY_SETTINGS";
+    field public static final int ADD_WIFI_RESULT_ADD_OR_UPDATE_FAILED = 1; // 0x1
+    field public static final int ADD_WIFI_RESULT_ALREADY_EXISTS = 2; // 0x2
+    field public static final int ADD_WIFI_RESULT_SUCCESS = 0; // 0x0
+    field public static final String AUTHORITY = "settings";
+    field public static final String EXTRA_ACCOUNT_TYPES = "account_types";
+    field public static final String EXTRA_AIRPLANE_MODE_ENABLED = "airplane_mode_enabled";
+    field public static final String EXTRA_APP_PACKAGE = "android.provider.extra.APP_PACKAGE";
+    field public static final String EXTRA_AUTHORITIES = "authorities";
+    field public static final String EXTRA_BATTERY_SAVER_MODE_ENABLED = "android.settings.extra.battery_saver_mode_enabled";
+    field public static final String EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED = "android.provider.extra.BIOMETRIC_AUTHENTICATORS_ALLOWED";
+    field public static final String EXTRA_CHANNEL_FILTER_LIST = "android.provider.extra.CHANNEL_FILTER_LIST";
+    field public static final String EXTRA_CHANNEL_ID = "android.provider.extra.CHANNEL_ID";
+    field public static final String EXTRA_CONVERSATION_ID = "android.provider.extra.CONVERSATION_ID";
+    field public static final String EXTRA_DO_NOT_DISTURB_MODE_ENABLED = "android.settings.extra.do_not_disturb_mode_enabled";
+    field public static final String EXTRA_DO_NOT_DISTURB_MODE_MINUTES = "android.settings.extra.do_not_disturb_mode_minutes";
+    field public static final String EXTRA_EASY_CONNECT_ATTEMPTED_SSID = "android.provider.extra.EASY_CONNECT_ATTEMPTED_SSID";
+    field public static final String EXTRA_EASY_CONNECT_BAND_LIST = "android.provider.extra.EASY_CONNECT_BAND_LIST";
+    field public static final String EXTRA_EASY_CONNECT_CHANNEL_LIST = "android.provider.extra.EASY_CONNECT_CHANNEL_LIST";
+    field public static final String EXTRA_EASY_CONNECT_ERROR_CODE = "android.provider.extra.EASY_CONNECT_ERROR_CODE";
+    field public static final String EXTRA_INPUT_METHOD_ID = "input_method_id";
+    field public static final String EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME = "android.provider.extra.NOTIFICATION_LISTENER_COMPONENT_NAME";
+    field public static final String EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY = "android.provider.extra.SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY";
+    field public static final String EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI = "android.provider.extra.SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI";
+    field public static final String EXTRA_SUB_ID = "android.provider.extra.SUB_ID";
+    field public static final String EXTRA_WIFI_NETWORK_LIST = "android.provider.extra.WIFI_NETWORK_LIST";
+    field public static final String EXTRA_WIFI_NETWORK_RESULT_LIST = "android.provider.extra.WIFI_NETWORK_RESULT_LIST";
+    field public static final String INTENT_CATEGORY_USAGE_ACCESS_CONFIG = "android.intent.category.USAGE_ACCESS_CONFIG";
+    field public static final String METADATA_USAGE_ACCESS_REASON = "android.settings.metadata.USAGE_ACCESS_REASON";
+  }
+
+  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
+    ctor public Settings.Global();
+    method public static float getFloat(android.content.ContentResolver, String, float);
+    method public static float getFloat(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static int getInt(android.content.ContentResolver, String, int);
+    method public static int getInt(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static long getLong(android.content.ContentResolver, String, long);
+    method public static long getLong(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static String getString(android.content.ContentResolver, String);
+    method public static android.net.Uri getUriFor(String);
+    method public static boolean putFloat(android.content.ContentResolver, String, float);
+    method public static boolean putInt(android.content.ContentResolver, String, int);
+    method public static boolean putLong(android.content.ContentResolver, String, long);
+    method public static boolean putString(android.content.ContentResolver, String, String);
+    field public static final String ADB_ENABLED = "adb_enabled";
+    field public static final String AIRPLANE_MODE_ON = "airplane_mode_on";
+    field public static final String AIRPLANE_MODE_RADIOS = "airplane_mode_radios";
+    field public static final String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities";
+    field public static final String ANIMATOR_DURATION_SCALE = "animator_duration_scale";
+    field public static final String APPLY_RAMPING_RINGER = "apply_ramping_ringer";
+    field public static final String AUTO_TIME = "auto_time";
+    field public static final String AUTO_TIME_ZONE = "auto_time_zone";
+    field public static final String BLUETOOTH_ON = "bluetooth_on";
+    field public static final String BOOT_COUNT = "boot_count";
+    field public static final String CONTACT_METADATA_SYNC_ENABLED = "contact_metadata_sync_enabled";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATA_ROAMING = "data_roaming";
+    field public static final String DEBUG_APP = "debug_app";
+    field public static final String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled";
+    field public static final String DEVICE_NAME = "device_name";
+    field public static final String DEVICE_PROVISIONED = "device_provisioned";
+    field public static final String HTTP_PROXY = "http_proxy";
+    field @Deprecated public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
+    field public static final String MODE_RINGER = "mode_ringer";
+    field public static final String NETWORK_PREFERENCE = "network_preference";
+    field public static final String RADIO_BLUETOOTH = "bluetooth";
+    field public static final String RADIO_CELL = "cell";
+    field public static final String RADIO_NFC = "nfc";
+    field public static final String RADIO_WIFI = "wifi";
+    field @Deprecated public static final String SHOW_PROCESSES = "show_processes";
+    field public static final String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
+    field public static final String TRANSITION_ANIMATION_SCALE = "transition_animation_scale";
+    field public static final String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled";
+    field public static final String USE_GOOGLE_MAIL = "use_google_mail";
+    field public static final String WAIT_FOR_DEBUGGER = "wait_for_debugger";
+    field public static final String WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN = "wifi_device_owner_configs_lockdown";
+    field public static final String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
+    field public static final String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay";
+    field @Deprecated public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept";
+    field public static final String WIFI_ON = "wifi_on";
+    field @Deprecated public static final String WIFI_SLEEP_POLICY = "wifi_sleep_policy";
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_DEFAULT = 0; // 0x0
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_NEVER = 2; // 0x2
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED = 1; // 0x1
+    field public static final String WIFI_WATCHDOG_ON = "wifi_watchdog_on";
+    field public static final String WINDOW_ANIMATION_SCALE = "window_animation_scale";
+  }
+
+  public static class Settings.NameValueTable implements android.provider.BaseColumns {
+    ctor public Settings.NameValueTable();
+    method public static android.net.Uri getUriFor(android.net.Uri, String);
+    method protected static boolean putString(android.content.ContentResolver, android.net.Uri, String, String);
+    field public static final String NAME = "name";
+    field public static final String VALUE = "value";
+  }
+
+  public static final class Settings.Panel {
+    field public static final String ACTION_INTERNET_CONNECTIVITY = "android.settings.panel.action.INTERNET_CONNECTIVITY";
+    field public static final String ACTION_NFC = "android.settings.panel.action.NFC";
+    field public static final String ACTION_VOLUME = "android.settings.panel.action.VOLUME";
+    field public static final String ACTION_WIFI = "android.settings.panel.action.WIFI";
+  }
+
+  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
+    ctor public Settings.Secure();
+    method public static float getFloat(android.content.ContentResolver, String, float);
+    method public static float getFloat(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static int getInt(android.content.ContentResolver, String, int);
+    method public static int getInt(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static long getLong(android.content.ContentResolver, String, long);
+    method public static long getLong(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static String getString(android.content.ContentResolver, String);
+    method public static android.net.Uri getUriFor(String);
+    method @Deprecated public static boolean isLocationProviderEnabled(android.content.ContentResolver, String);
+    method public static boolean putFloat(android.content.ContentResolver, String, float);
+    method public static boolean putInt(android.content.ContentResolver, String, int);
+    method public static boolean putLong(android.content.ContentResolver, String, long);
+    method public static boolean putString(android.content.ContentResolver, String, String);
+    method @Deprecated public static void setLocationProviderEnabled(android.content.ContentResolver, String, boolean);
+    field public static final String ACCESSIBILITY_DISPLAY_INVERSION_ENABLED = "accessibility_display_inversion_enabled";
+    field public static final String ACCESSIBILITY_ENABLED = "accessibility_enabled";
+    field @Deprecated public static final String ACCESSIBILITY_SPEAK_PASSWORD = "speak_password";
+    field @Deprecated public static final String ADB_ENABLED = "adb_enabled";
+    field public static final String ALLOWED_GEOLOCATION_ORIGINS = "allowed_geolocation_origins";
+    field @Deprecated public static final String ALLOW_MOCK_LOCATION = "mock_location";
+    field public static final String ANDROID_ID = "android_id";
+    field @Deprecated public static final String BACKGROUND_DATA = "background_data";
+    field @Deprecated public static final String BLUETOOTH_ON = "bluetooth_on";
+    field public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DATA_ROAMING = "data_roaming";
+    field public static final String DEFAULT_INPUT_METHOD = "default_input_method";
+    field @Deprecated public static final String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled";
+    field @Deprecated public static final String DEVICE_PROVISIONED = "device_provisioned";
+    field public static final String ENABLED_ACCESSIBILITY_SERVICES = "enabled_accessibility_services";
+    field public static final String ENABLED_INPUT_METHODS = "enabled_input_methods";
+    field @Deprecated public static final String HTTP_PROXY = "http_proxy";
+    field public static final String INPUT_METHOD_SELECTOR_VISIBILITY = "input_method_selector_visibility";
+    field @Deprecated public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
+    field @Deprecated public static final String LOCATION_MODE = "location_mode";
+    field @Deprecated public static final int LOCATION_MODE_BATTERY_SAVING = 2; // 0x2
+    field @Deprecated public static final int LOCATION_MODE_HIGH_ACCURACY = 3; // 0x3
+    field public static final int LOCATION_MODE_OFF = 0; // 0x0
+    field @Deprecated public static final int LOCATION_MODE_SENSORS_ONLY = 1; // 0x1
+    field @Deprecated public static final String LOCATION_PROVIDERS_ALLOWED = "location_providers_allowed";
+    field @Deprecated public static final String LOCK_PATTERN_ENABLED = "lock_pattern_autolock";
+    field @Deprecated public static final String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED = "lock_pattern_tactile_feedback_enabled";
+    field @Deprecated public static final String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
+    field @Deprecated public static final String LOGGING_ID = "logging_id";
+    field @Deprecated public static final String NETWORK_PREFERENCE = "network_preference";
+    field public static final String PARENTAL_CONTROL_ENABLED = "parental_control_enabled";
+    field public static final String PARENTAL_CONTROL_LAST_UPDATE = "parental_control_last_update";
+    field public static final String PARENTAL_CONTROL_REDIRECT_URL = "parental_control_redirect_url";
+    field public static final String RTT_CALLING_MODE = "rtt_calling_mode";
+    field public static final String SECURE_FRP_MODE = "secure_frp_mode";
+    field public static final String SELECTED_INPUT_METHOD_SUBTYPE = "selected_input_method_subtype";
+    field public static final String SETTINGS_CLASSNAME = "settings_classname";
+    field public static final String SKIP_FIRST_USE_HINTS = "skip_first_use_hints";
+    field public static final String TOUCH_EXPLORATION_ENABLED = "touch_exploration_enabled";
+    field @Deprecated public static final String TTS_DEFAULT_COUNTRY = "tts_default_country";
+    field @Deprecated public static final String TTS_DEFAULT_LANG = "tts_default_lang";
+    field public static final String TTS_DEFAULT_PITCH = "tts_default_pitch";
+    field public static final String TTS_DEFAULT_RATE = "tts_default_rate";
+    field public static final String TTS_DEFAULT_SYNTH = "tts_default_synth";
+    field @Deprecated public static final String TTS_DEFAULT_VARIANT = "tts_default_variant";
+    field public static final String TTS_ENABLED_PLUGINS = "tts_enabled_plugins";
+    field @Deprecated public static final String TTS_USE_DEFAULTS = "tts_use_defaults";
+    field @Deprecated public static final String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled";
+    field @Deprecated public static final String USE_GOOGLE_MAIL = "use_google_mail";
+    field @Deprecated public static final String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
+    field @Deprecated public static final String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay";
+    field @Deprecated public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept";
+    field @Deprecated public static final String WIFI_ON = "wifi_on";
+    field @Deprecated public static final String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE = "wifi_watchdog_acceptable_packet_loss_percentage";
+    field @Deprecated public static final String WIFI_WATCHDOG_AP_COUNT = "wifi_watchdog_ap_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS = "wifi_watchdog_background_check_delay_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED = "wifi_watchdog_background_check_enabled";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS = "wifi_watchdog_background_check_timeout_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT = "wifi_watchdog_initial_ignored_ping_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_MAX_AP_CHECKS = "wifi_watchdog_max_ap_checks";
+    field @Deprecated public static final String WIFI_WATCHDOG_ON = "wifi_watchdog_on";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_COUNT = "wifi_watchdog_ping_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_DELAY_MS = "wifi_watchdog_ping_delay_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_TIMEOUT_MS = "wifi_watchdog_ping_timeout_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_WATCH_LIST = "wifi_watchdog_watch_list";
+  }
+
+  public static class Settings.SettingNotFoundException extends android.util.AndroidException {
+    ctor public Settings.SettingNotFoundException(String);
+  }
+
+  public static final class Settings.System extends android.provider.Settings.NameValueTable {
+    ctor public Settings.System();
+    method public static boolean canWrite(android.content.Context);
+    method public static void getConfiguration(android.content.ContentResolver, android.content.res.Configuration);
+    method public static float getFloat(android.content.ContentResolver, String, float);
+    method public static float getFloat(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static int getInt(android.content.ContentResolver, String, int);
+    method public static int getInt(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method public static long getLong(android.content.ContentResolver, String, long);
+    method public static long getLong(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException;
+    method @Deprecated public static boolean getShowGTalkServiceStatus(android.content.ContentResolver);
+    method public static String getString(android.content.ContentResolver, String);
+    method public static android.net.Uri getUriFor(String);
+    method public static boolean putConfiguration(android.content.ContentResolver, android.content.res.Configuration);
+    method public static boolean putFloat(android.content.ContentResolver, String, float);
+    method public static boolean putInt(android.content.ContentResolver, String, int);
+    method public static boolean putLong(android.content.ContentResolver, String, long);
+    method public static boolean putString(android.content.ContentResolver, String, String);
+    method @Deprecated public static void setShowGTalkServiceStatus(android.content.ContentResolver, boolean);
+    field public static final String ACCELEROMETER_ROTATION = "accelerometer_rotation";
+    field @Deprecated public static final String ADB_ENABLED = "adb_enabled";
+    field @Deprecated public static final String AIRPLANE_MODE_ON = "airplane_mode_on";
+    field @Deprecated public static final String AIRPLANE_MODE_RADIOS = "airplane_mode_radios";
+    field public static final String ALARM_ALERT = "alarm_alert";
+    field @Deprecated public static final String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities";
+    field @Deprecated public static final String ANDROID_ID = "android_id";
+    field @Deprecated public static final String ANIMATOR_DURATION_SCALE = "animator_duration_scale";
+    field @Deprecated public static final String AUTO_TIME = "auto_time";
+    field @Deprecated public static final String AUTO_TIME_ZONE = "auto_time_zone";
+    field public static final String BLUETOOTH_DISCOVERABILITY = "bluetooth_discoverability";
+    field public static final String BLUETOOTH_DISCOVERABILITY_TIMEOUT = "bluetooth_discoverability_timeout";
+    field @Deprecated public static final String BLUETOOTH_ON = "bluetooth_on";
+    field public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String DATA_ROAMING = "data_roaming";
+    field @Deprecated public static final String DATE_FORMAT = "date_format";
+    field @Deprecated public static final String DEBUG_APP = "debug_app";
+    field public static final android.net.Uri DEFAULT_ALARM_ALERT_URI;
+    field public static final android.net.Uri DEFAULT_NOTIFICATION_URI;
+    field public static final android.net.Uri DEFAULT_RINGTONE_URI;
+    field @Deprecated public static final String DEVICE_PROVISIONED = "device_provisioned";
+    field @Deprecated public static final String DIM_SCREEN = "dim_screen";
+    field public static final String DTMF_TONE_TYPE_WHEN_DIALING = "dtmf_tone_type";
+    field public static final String DTMF_TONE_WHEN_DIALING = "dtmf_tone";
+    field public static final String END_BUTTON_BEHAVIOR = "end_button_behavior";
+    field public static final String FONT_SCALE = "font_scale";
+    field public static final String HAPTIC_FEEDBACK_ENABLED = "haptic_feedback_enabled";
+    field @Deprecated public static final String HTTP_PROXY = "http_proxy";
+    field @Deprecated public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps";
+    field @Deprecated public static final String LOCATION_PROVIDERS_ALLOWED = "location_providers_allowed";
+    field @Deprecated public static final String LOCK_PATTERN_ENABLED = "lock_pattern_autolock";
+    field @Deprecated public static final String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED = "lock_pattern_tactile_feedback_enabled";
+    field @Deprecated public static final String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
+    field @Deprecated public static final String LOGGING_ID = "logging_id";
+    field @Deprecated public static final String MODE_RINGER = "mode_ringer";
+    field public static final String MODE_RINGER_STREAMS_AFFECTED = "mode_ringer_streams_affected";
+    field public static final String MUTE_STREAMS_AFFECTED = "mute_streams_affected";
+    field @Deprecated public static final String NETWORK_PREFERENCE = "network_preference";
+    field @Deprecated public static final String NEXT_ALARM_FORMATTED = "next_alarm_formatted";
+    field public static final String NOTIFICATION_SOUND = "notification_sound";
+    field @Deprecated public static final String PARENTAL_CONTROL_ENABLED = "parental_control_enabled";
+    field @Deprecated public static final String PARENTAL_CONTROL_LAST_UPDATE = "parental_control_last_update";
+    field @Deprecated public static final String PARENTAL_CONTROL_REDIRECT_URL = "parental_control_redirect_url";
+    field @Deprecated public static final String RADIO_BLUETOOTH = "bluetooth";
+    field @Deprecated public static final String RADIO_CELL = "cell";
+    field @Deprecated public static final String RADIO_NFC = "nfc";
+    field @Deprecated public static final String RADIO_WIFI = "wifi";
+    field public static final String RINGTONE = "ringtone";
+    field public static final String SCREEN_BRIGHTNESS = "screen_brightness";
+    field public static final String SCREEN_BRIGHTNESS_MODE = "screen_brightness_mode";
+    field public static final int SCREEN_BRIGHTNESS_MODE_AUTOMATIC = 1; // 0x1
+    field public static final int SCREEN_BRIGHTNESS_MODE_MANUAL = 0; // 0x0
+    field public static final String SCREEN_OFF_TIMEOUT = "screen_off_timeout";
+    field @Deprecated public static final String SETTINGS_CLASSNAME = "settings_classname";
+    field public static final String SETUP_WIZARD_HAS_RUN = "setup_wizard_has_run";
+    field public static final String SHOW_GTALK_SERVICE_STATUS = "SHOW_GTALK_SERVICE_STATUS";
+    field @Deprecated public static final String SHOW_PROCESSES = "show_processes";
+    field @Deprecated public static final String SHOW_WEB_SUGGESTIONS = "show_web_suggestions";
+    field public static final String SOUND_EFFECTS_ENABLED = "sound_effects_enabled";
+    field @Deprecated public static final String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in";
+    field public static final String TEXT_AUTO_CAPS = "auto_caps";
+    field public static final String TEXT_AUTO_PUNCTUATE = "auto_punctuate";
+    field public static final String TEXT_AUTO_REPLACE = "auto_replace";
+    field public static final String TEXT_SHOW_PASSWORD = "show_password";
+    field public static final String TIME_12_24 = "time_12_24";
+    field @Deprecated public static final String TRANSITION_ANIMATION_SCALE = "transition_animation_scale";
+    field @Deprecated public static final String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled";
+    field public static final String USER_ROTATION = "user_rotation";
+    field @Deprecated public static final String USE_GOOGLE_MAIL = "use_google_mail";
+    field public static final String VIBRATE_ON = "vibrate_on";
+    field public static final String VIBRATE_WHEN_RINGING = "vibrate_when_ringing";
+    field @Deprecated public static final String WAIT_FOR_DEBUGGER = "wait_for_debugger";
+    field @Deprecated public static final String WALLPAPER_ACTIVITY = "wallpaper_activity";
+    field @Deprecated public static final String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count";
+    field @Deprecated public static final String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on";
+    field @Deprecated public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay";
+    field @Deprecated public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept";
+    field @Deprecated public static final String WIFI_ON = "wifi_on";
+    field @Deprecated public static final String WIFI_SLEEP_POLICY = "wifi_sleep_policy";
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_DEFAULT = 0; // 0x0
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_NEVER = 2; // 0x2
+    field @Deprecated public static final int WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED = 1; // 0x1
+    field @Deprecated public static final String WIFI_STATIC_DNS1 = "wifi_static_dns1";
+    field @Deprecated public static final String WIFI_STATIC_DNS2 = "wifi_static_dns2";
+    field @Deprecated public static final String WIFI_STATIC_GATEWAY = "wifi_static_gateway";
+    field @Deprecated public static final String WIFI_STATIC_IP = "wifi_static_ip";
+    field @Deprecated public static final String WIFI_STATIC_NETMASK = "wifi_static_netmask";
+    field @Deprecated public static final String WIFI_USE_STATIC_IP = "wifi_use_static_ip";
+    field @Deprecated public static final String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE = "wifi_watchdog_acceptable_packet_loss_percentage";
+    field @Deprecated public static final String WIFI_WATCHDOG_AP_COUNT = "wifi_watchdog_ap_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS = "wifi_watchdog_background_check_delay_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED = "wifi_watchdog_background_check_enabled";
+    field @Deprecated public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS = "wifi_watchdog_background_check_timeout_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT = "wifi_watchdog_initial_ignored_ping_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_MAX_AP_CHECKS = "wifi_watchdog_max_ap_checks";
+    field @Deprecated public static final String WIFI_WATCHDOG_ON = "wifi_watchdog_on";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_COUNT = "wifi_watchdog_ping_count";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_DELAY_MS = "wifi_watchdog_ping_delay_ms";
+    field @Deprecated public static final String WIFI_WATCHDOG_PING_TIMEOUT_MS = "wifi_watchdog_ping_timeout_ms";
+    field @Deprecated public static final String WINDOW_ANIMATION_SCALE = "window_animation_scale";
+  }
+
+  public class SettingsSlicesContract {
+    field public static final String AUTHORITY = "android.settings.slices";
+    field public static final android.net.Uri BASE_URI;
+    field public static final String KEY_AIRPLANE_MODE = "airplane_mode";
+    field public static final String KEY_BATTERY_SAVER = "battery_saver";
+    field public static final String KEY_BLUETOOTH = "bluetooth";
+    field public static final String KEY_LOCATION = "location";
+    field public static final String KEY_WIFI = "wifi";
+    field public static final String PATH_SETTING_ACTION = "action";
+    field public static final String PATH_SETTING_INTENT = "intent";
+  }
+
+  public final class SimPhonebookContract {
+    field public static final String AUTHORITY = "com.android.simphonebook";
+    field @NonNull public static final android.net.Uri AUTHORITY_URI;
+  }
+
+  public static final class SimPhonebookContract.ElementaryFiles {
+    method @NonNull public static android.net.Uri getItemUri(int, int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/sim-elementary-file";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/sim-elementary-file";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final int EF_ADN = 1; // 0x1
+    field public static final int EF_FDN = 2; // 0x2
+    field public static final int EF_SDN = 3; // 0x3
+    field public static final String EF_TYPE = "ef_type";
+    field public static final int EF_UNKNOWN = 0; // 0x0
+    field public static final String MAX_RECORDS = "max_records";
+    field public static final String NAME_MAX_LENGTH = "name_max_length";
+    field public static final String PHONE_NUMBER_MAX_LENGTH = "phone_number_max_length";
+    field public static final String RECORD_COUNT = "record_count";
+    field public static final String SLOT_INDEX = "slot_index";
+    field public static final String SUBSCRIPTION_ID = "subscription_id";
+  }
+
+  public static final class SimPhonebookContract.SimRecords {
+    method @NonNull public static android.net.Uri getContentUri(int, int);
+    method @IntRange(from=0) @WorkerThread public static int getEncodedNameLength(@NonNull android.content.ContentResolver, @NonNull String);
+    method @NonNull public static android.net.Uri getItemUri(int, int, @IntRange(from=1) int);
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/sim-contact_v2";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/sim-contact_v2";
+    field public static final String ELEMENTARY_FILE_TYPE = "elementary_file_type";
+    field public static final int ERROR_NAME_UNSUPPORTED = -1; // 0xffffffff
+    field public static final String NAME = "name";
+    field public static final String PHONE_NUMBER = "phone_number";
+    field public static final String RECORD_NUMBER = "record_number";
+    field public static final String SUBSCRIPTION_ID = "subscription_id";
+  }
+
+  public class SyncStateContract {
+    ctor public SyncStateContract();
+  }
+
+  public static interface SyncStateContract.Columns extends android.provider.BaseColumns {
+    field public static final String ACCOUNT_NAME = "account_name";
+    field public static final String ACCOUNT_TYPE = "account_type";
+    field public static final String DATA = "data";
+  }
+
+  public static class SyncStateContract.Constants implements android.provider.SyncStateContract.Columns {
+    ctor public SyncStateContract.Constants();
+    field public static final String CONTENT_DIRECTORY = "syncstate";
+  }
+
+  public static final class SyncStateContract.Helpers {
+    ctor public SyncStateContract.Helpers();
+    method public static byte[] get(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.util.Pair<android.net.Uri,byte[]> getWithUri(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account) throws android.os.RemoteException;
+    method public static android.net.Uri insert(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account, byte[]) throws android.os.RemoteException;
+    method public static android.content.ContentProviderOperation newSetOperation(android.net.Uri, android.accounts.Account, byte[]);
+    method public static android.content.ContentProviderOperation newUpdateOperation(android.net.Uri, byte[]);
+    method public static void set(android.content.ContentProviderClient, android.net.Uri, android.accounts.Account, byte[]) throws android.os.RemoteException;
+    method public static void update(android.content.ContentProviderClient, android.net.Uri, byte[]) throws android.os.RemoteException;
+  }
+
+  public final class Telephony {
+  }
+
+  public static interface Telephony.BaseMmsColumns extends android.provider.BaseColumns {
+    field public static final String CONTENT_CLASS = "ct_cls";
+    field public static final String CONTENT_LOCATION = "ct_l";
+    field public static final String CONTENT_TYPE = "ct_t";
+    field public static final String CREATOR = "creator";
+    field public static final String DATE = "date";
+    field public static final String DATE_SENT = "date_sent";
+    field public static final String DELIVERY_REPORT = "d_rpt";
+    field public static final String DELIVERY_TIME = "d_tm";
+    field public static final String EXPIRY = "exp";
+    field public static final String LOCKED = "locked";
+    field public static final String MESSAGE_BOX = "msg_box";
+    field public static final int MESSAGE_BOX_ALL = 0; // 0x0
+    field public static final int MESSAGE_BOX_DRAFTS = 3; // 0x3
+    field public static final int MESSAGE_BOX_FAILED = 5; // 0x5
+    field public static final int MESSAGE_BOX_INBOX = 1; // 0x1
+    field public static final int MESSAGE_BOX_OUTBOX = 4; // 0x4
+    field public static final int MESSAGE_BOX_SENT = 2; // 0x2
+    field public static final String MESSAGE_CLASS = "m_cls";
+    field public static final String MESSAGE_ID = "m_id";
+    field public static final String MESSAGE_SIZE = "m_size";
+    field public static final String MESSAGE_TYPE = "m_type";
+    field public static final String MMS_VERSION = "v";
+    field public static final String PRIORITY = "pri";
+    field public static final String READ = "read";
+    field public static final String READ_REPORT = "rr";
+    field public static final String READ_STATUS = "read_status";
+    field public static final String REPORT_ALLOWED = "rpt_a";
+    field public static final String RESPONSE_STATUS = "resp_st";
+    field public static final String RESPONSE_TEXT = "resp_txt";
+    field public static final String RETRIEVE_STATUS = "retr_st";
+    field public static final String RETRIEVE_TEXT = "retr_txt";
+    field public static final String RETRIEVE_TEXT_CHARSET = "retr_txt_cs";
+    field public static final String SEEN = "seen";
+    field public static final String STATUS = "st";
+    field public static final String SUBJECT = "sub";
+    field public static final String SUBJECT_CHARSET = "sub_cs";
+    field public static final String SUBSCRIPTION_ID = "sub_id";
+    field public static final String TEXT_ONLY = "text_only";
+    field public static final String THREAD_ID = "thread_id";
+    field public static final String TRANSACTION_ID = "tr_id";
+  }
+
+  public static interface Telephony.CanonicalAddressesColumns extends android.provider.BaseColumns {
+    field public static final String ADDRESS = "address";
+  }
+
+  public static final class Telephony.CarrierId implements android.provider.BaseColumns {
+    method @NonNull public static android.net.Uri getSpecificCarrierIdUriForSubscriptionId(int);
+    method public static android.net.Uri getUriForSubscriptionId(int);
+    field public static final String CARRIER_ID = "carrier_id";
+    field public static final String CARRIER_NAME = "carrier_name";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String SPECIFIC_CARRIER_ID = "specific_carrier_id";
+    field public static final String SPECIFIC_CARRIER_ID_NAME = "specific_carrier_id_name";
+  }
+
+  public static final class Telephony.Carriers implements android.provider.BaseColumns {
+    field public static final String APN = "apn";
+    field public static final String AUTH_TYPE = "authtype";
+    field @Deprecated public static final String BEARER = "bearer";
+    field public static final String CARRIER_ENABLED = "carrier_enabled";
+    field public static final String CARRIER_ID = "carrier_id";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final String CURRENT = "current";
+    field public static final String DEFAULT_SORT_ORDER = "name ASC";
+    field @Deprecated public static final String MCC = "mcc";
+    field public static final String MMSC = "mmsc";
+    field public static final String MMSPORT = "mmsport";
+    field public static final String MMSPROXY = "mmsproxy";
+    field @Deprecated public static final String MNC = "mnc";
+    field @Deprecated public static final String MVNO_MATCH_DATA = "mvno_match_data";
+    field @Deprecated public static final String MVNO_TYPE = "mvno_type";
+    field public static final String NAME = "name";
+    field public static final String NETWORK_TYPE_BITMASK = "network_type_bitmask";
+    field @Deprecated public static final String NUMERIC = "numeric";
+    field public static final String PASSWORD = "password";
+    field public static final String PORT = "port";
+    field public static final String PROTOCOL = "protocol";
+    field public static final String PROXY = "proxy";
+    field public static final String ROAMING_PROTOCOL = "roaming_protocol";
+    field public static final String SERVER = "server";
+    field @NonNull public static final android.net.Uri SIM_APN_URI;
+    field public static final String SUBSCRIPTION_ID = "sub_id";
+    field public static final String TYPE = "type";
+    field public static final String USER = "user";
+  }
+
+  public static final class Telephony.Mms implements android.provider.Telephony.BaseMmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+    field public static final android.net.Uri REPORT_REQUEST_URI;
+    field public static final android.net.Uri REPORT_STATUS_URI;
+  }
+
+  public static final class Telephony.Mms.Addr implements android.provider.BaseColumns {
+    method @NonNull public static android.net.Uri getAddrUriForMessage(@NonNull String);
+    field public static final String ADDRESS = "address";
+    field public static final String CHARSET = "charset";
+    field public static final String CONTACT_ID = "contact_id";
+    field public static final String MSG_ID = "msg_id";
+    field public static final String TYPE = "type";
+  }
+
+  public static final class Telephony.Mms.Draft implements android.provider.Telephony.BaseMmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Mms.Inbox implements android.provider.Telephony.BaseMmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Mms.Intents {
+    field public static final String CONTENT_CHANGED_ACTION = "android.intent.action.CONTENT_CHANGED";
+    field public static final String DELETED_CONTENTS = "deleted_contents";
+  }
+
+  public static final class Telephony.Mms.Outbox implements android.provider.Telephony.BaseMmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Mms.Part implements android.provider.BaseColumns {
+    method @NonNull public static android.net.Uri getPartUriForMessage(@NonNull String);
+    field public static final String CHARSET = "chset";
+    field public static final String CONTENT_DISPOSITION = "cd";
+    field public static final String CONTENT_ID = "cid";
+    field public static final String CONTENT_LOCATION = "cl";
+    field public static final String CONTENT_TYPE = "ct";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final String CT_START = "ctt_s";
+    field public static final String CT_TYPE = "ctt_t";
+    field public static final String FILENAME = "fn";
+    field public static final String MSG_ID = "mid";
+    field public static final String NAME = "name";
+    field public static final String SEQ = "seq";
+    field public static final String TEXT = "text";
+    field public static final String _DATA = "_data";
+  }
+
+  public static final class Telephony.Mms.Rate {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String SENT_TIME = "sent_time";
+  }
+
+  public static final class Telephony.Mms.Sent implements android.provider.Telephony.BaseMmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.MmsSms implements android.provider.BaseColumns {
+    field public static final android.net.Uri CONTENT_CONVERSATIONS_URI;
+    field public static final android.net.Uri CONTENT_DRAFT_URI;
+    field public static final android.net.Uri CONTENT_FILTER_BYPHONE_URI;
+    field public static final android.net.Uri CONTENT_LOCKED_URI;
+    field public static final android.net.Uri CONTENT_UNDELIVERED_URI;
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final int ERR_TYPE_GENERIC = 1; // 0x1
+    field public static final int ERR_TYPE_GENERIC_PERMANENT = 10; // 0xa
+    field public static final int ERR_TYPE_MMS_PROTO_PERMANENT = 12; // 0xc
+    field public static final int ERR_TYPE_MMS_PROTO_TRANSIENT = 3; // 0x3
+    field public static final int ERR_TYPE_SMS_PROTO_PERMANENT = 11; // 0xb
+    field public static final int ERR_TYPE_SMS_PROTO_TRANSIENT = 2; // 0x2
+    field public static final int ERR_TYPE_TRANSPORT_FAILURE = 4; // 0x4
+    field public static final int MMS_PROTO = 1; // 0x1
+    field public static final int NO_ERROR = 0; // 0x0
+    field public static final android.net.Uri SEARCH_URI;
+    field public static final int SMS_PROTO = 0; // 0x0
+    field public static final String TYPE_DISCRIMINATOR_COLUMN = "transport_type";
+  }
+
+  public static final class Telephony.MmsSms.PendingMessages implements android.provider.BaseColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DUE_TIME = "due_time";
+    field public static final String ERROR_CODE = "err_code";
+    field public static final String ERROR_TYPE = "err_type";
+    field public static final String LAST_TRY = "last_try";
+    field public static final String MSG_ID = "msg_id";
+    field public static final String MSG_TYPE = "msg_type";
+    field public static final String PROTO_TYPE = "proto_type";
+    field public static final String RETRY_INDEX = "retry_index";
+    field public static final String SUBSCRIPTION_ID = "pending_sub_id";
+  }
+
+  public static final class Telephony.ServiceStateTable {
+    method public static android.net.Uri getUriForSubscriptionId(int);
+    method public static android.net.Uri getUriForSubscriptionIdAndField(int, String);
+    field public static final String AUTHORITY = "service-state";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATA_NETWORK_TYPE = "data_network_type";
+    field public static final String DATA_REG_STATE = "data_reg_state";
+    field public static final String DUPLEX_MODE = "duplex_mode";
+    field public static final String IS_MANUAL_NETWORK_SELECTION = "is_manual_network_selection";
+    field public static final String VOICE_OPERATOR_NUMERIC = "voice_operator_numeric";
+    field public static final String VOICE_REG_STATE = "voice_reg_state";
+  }
+
+  public static final class Telephony.Sms implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    method public static String getDefaultSmsPackage(android.content.Context);
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Sms.Conversations implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+    field public static final String MESSAGE_COUNT = "msg_count";
+    field public static final String SNIPPET = "snippet";
+  }
+
+  public static final class Telephony.Sms.Draft implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Sms.Inbox implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Sms.Intents {
+    method public static android.telephony.SmsMessage[] getMessagesFromIntent(android.content.Intent);
+    field public static final String ACTION_CHANGE_DEFAULT = "android.provider.Telephony.ACTION_CHANGE_DEFAULT";
+    field public static final String ACTION_DEFAULT_SMS_PACKAGE_CHANGED = "android.provider.action.DEFAULT_SMS_PACKAGE_CHANGED";
+    field public static final String ACTION_EXTERNAL_PROVIDER_CHANGE = "android.provider.action.EXTERNAL_PROVIDER_CHANGE";
+    field public static final String DATA_SMS_RECEIVED_ACTION = "android.intent.action.DATA_SMS_RECEIVED";
+    field public static final String EXTRA_IS_DEFAULT_SMS_APP = "android.provider.extra.IS_DEFAULT_SMS_APP";
+    field public static final String EXTRA_PACKAGE_NAME = "package";
+    field public static final int RESULT_SMS_DATABASE_ERROR = 10; // 0xa
+    field public static final int RESULT_SMS_DISPATCH_FAILURE = 6; // 0x6
+    field public static final int RESULT_SMS_DUPLICATED = 5; // 0x5
+    field public static final int RESULT_SMS_GENERIC_ERROR = 2; // 0x2
+    field public static final int RESULT_SMS_HANDLED = 1; // 0x1
+    field public static final int RESULT_SMS_INVALID_URI = 11; // 0xb
+    field public static final int RESULT_SMS_NULL_MESSAGE = 8; // 0x8
+    field public static final int RESULT_SMS_NULL_PDU = 7; // 0x7
+    field public static final int RESULT_SMS_OUT_OF_MEMORY = 3; // 0x3
+    field public static final int RESULT_SMS_RECEIVED_WHILE_ENCRYPTED = 9; // 0x9
+    field public static final int RESULT_SMS_UNSUPPORTED = 4; // 0x4
+    field @Deprecated public static final String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE";
+    field public static final String SIM_FULL_ACTION = "android.provider.Telephony.SIM_FULL";
+    field public static final String SMS_CB_RECEIVED_ACTION = "android.provider.Telephony.SMS_CB_RECEIVED";
+    field public static final String SMS_DELIVER_ACTION = "android.provider.Telephony.SMS_DELIVER";
+    field public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED";
+    field public static final String SMS_REJECTED_ACTION = "android.provider.Telephony.SMS_REJECTED";
+    field public static final String SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION = "android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED";
+    field public static final String WAP_PUSH_DELIVER_ACTION = "android.provider.Telephony.WAP_PUSH_DELIVER";
+    field public static final String WAP_PUSH_RECEIVED_ACTION = "android.provider.Telephony.WAP_PUSH_RECEIVED";
+  }
+
+  public static final class Telephony.Sms.Outbox implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static final class Telephony.Sms.Sent implements android.provider.BaseColumns android.provider.Telephony.TextBasedSmsColumns {
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+  }
+
+  public static interface Telephony.TextBasedSmsColumns {
+    field public static final String ADDRESS = "address";
+    field public static final String BODY = "body";
+    field public static final String CREATOR = "creator";
+    field public static final String DATE = "date";
+    field public static final String DATE_SENT = "date_sent";
+    field public static final String ERROR_CODE = "error_code";
+    field public static final String LOCKED = "locked";
+    field public static final int MESSAGE_TYPE_ALL = 0; // 0x0
+    field public static final int MESSAGE_TYPE_DRAFT = 3; // 0x3
+    field public static final int MESSAGE_TYPE_FAILED = 5; // 0x5
+    field public static final int MESSAGE_TYPE_INBOX = 1; // 0x1
+    field public static final int MESSAGE_TYPE_OUTBOX = 4; // 0x4
+    field public static final int MESSAGE_TYPE_QUEUED = 6; // 0x6
+    field public static final int MESSAGE_TYPE_SENT = 2; // 0x2
+    field public static final String PERSON = "person";
+    field public static final String PROTOCOL = "protocol";
+    field public static final String READ = "read";
+    field public static final String REPLY_PATH_PRESENT = "reply_path_present";
+    field public static final String SEEN = "seen";
+    field public static final String SERVICE_CENTER = "service_center";
+    field public static final String STATUS = "status";
+    field public static final int STATUS_COMPLETE = 0; // 0x0
+    field public static final int STATUS_FAILED = 64; // 0x40
+    field public static final int STATUS_NONE = -1; // 0xffffffff
+    field public static final int STATUS_PENDING = 32; // 0x20
+    field public static final String SUBJECT = "subject";
+    field public static final String SUBSCRIPTION_ID = "sub_id";
+    field public static final String THREAD_ID = "thread_id";
+    field public static final String TYPE = "type";
+  }
+
+  public static final class Telephony.Threads implements android.provider.Telephony.ThreadsColumns {
+    method public static long getOrCreateThreadId(android.content.Context, String);
+    method public static long getOrCreateThreadId(android.content.Context, java.util.Set<java.lang.String>);
+    field public static final int BROADCAST_THREAD = 1; // 0x1
+    field public static final int COMMON_THREAD = 0; // 0x0
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final android.net.Uri OBSOLETE_THREADS_URI;
+  }
+
+  public static interface Telephony.ThreadsColumns extends android.provider.BaseColumns {
+    field public static final String ARCHIVED = "archived";
+    field public static final String DATE = "date";
+    field public static final String ERROR = "error";
+    field public static final String HAS_ATTACHMENT = "has_attachment";
+    field public static final String MESSAGE_COUNT = "message_count";
+    field public static final String READ = "read";
+    field public static final String RECIPIENT_IDS = "recipient_ids";
+    field public static final String SNIPPET = "snippet";
+    field public static final String SNIPPET_CHARSET = "snippet_cs";
+    field public static final String TYPE = "type";
+  }
+
+  public class UserDictionary {
+    ctor public UserDictionary();
+    field public static final String AUTHORITY = "user_dictionary";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public static class UserDictionary.Words implements android.provider.BaseColumns {
+    ctor public UserDictionary.Words();
+    method @Deprecated public static void addWord(android.content.Context, String, int, int);
+    method public static void addWord(android.content.Context, String, int, String, java.util.Locale);
+    field public static final String APP_ID = "appid";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.google.userword";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.google.userword";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DEFAULT_SORT_ORDER = "frequency DESC";
+    field public static final String FREQUENCY = "frequency";
+    field public static final String LOCALE = "locale";
+    field @Deprecated public static final int LOCALE_TYPE_ALL = 0; // 0x0
+    field @Deprecated public static final int LOCALE_TYPE_CURRENT = 1; // 0x1
+    field public static final String SHORTCUT = "shortcut";
+    field public static final String WORD = "word";
+    field public static final String _ID = "_id";
+  }
+
+  public class VoicemailContract {
+    field public static final String ACTION_FETCH_VOICEMAIL = "android.intent.action.FETCH_VOICEMAIL";
+    field public static final String ACTION_NEW_VOICEMAIL = "android.intent.action.NEW_VOICEMAIL";
+    field public static final String ACTION_SYNC_VOICEMAIL = "android.provider.action.SYNC_VOICEMAIL";
+    field public static final String AUTHORITY = "com.android.voicemail";
+    field public static final String EXTRA_PHONE_ACCOUNT_HANDLE = "android.provider.extra.PHONE_ACCOUNT_HANDLE";
+    field public static final String EXTRA_SELF_CHANGE = "com.android.voicemail.extra.SELF_CHANGE";
+    field public static final String PARAM_KEY_SOURCE_PACKAGE = "source_package";
+  }
+
+  public static final class VoicemailContract.Status implements android.provider.BaseColumns {
+    method public static android.net.Uri buildSourceUri(String);
+    field public static final String CONFIGURATION_STATE = "configuration_state";
+    field public static final int CONFIGURATION_STATE_CAN_BE_CONFIGURED = 2; // 0x2
+    field public static final int CONFIGURATION_STATE_CONFIGURING = 3; // 0x3
+    field public static final int CONFIGURATION_STATE_DISABLED = 5; // 0x5
+    field public static final int CONFIGURATION_STATE_FAILED = 4; // 0x4
+    field public static final int CONFIGURATION_STATE_NOT_CONFIGURED = 1; // 0x1
+    field public static final int CONFIGURATION_STATE_OK = 0; // 0x0
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATA_CHANNEL_STATE = "data_channel_state";
+    field public static final int DATA_CHANNEL_STATE_BAD_CONFIGURATION = 3; // 0x3
+    field public static final int DATA_CHANNEL_STATE_COMMUNICATION_ERROR = 4; // 0x4
+    field public static final int DATA_CHANNEL_STATE_NO_CONNECTION = 1; // 0x1
+    field public static final int DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED = 2; // 0x2
+    field public static final int DATA_CHANNEL_STATE_OK = 0; // 0x0
+    field public static final int DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR = 6; // 0x6
+    field public static final int DATA_CHANNEL_STATE_SERVER_ERROR = 5; // 0x5
+    field public static final String DIR_TYPE = "vnd.android.cursor.dir/voicemail.source.status";
+    field public static final String ITEM_TYPE = "vnd.android.cursor.item/voicemail.source.status";
+    field public static final String NOTIFICATION_CHANNEL_STATE = "notification_channel_state";
+    field public static final int NOTIFICATION_CHANNEL_STATE_MESSAGE_WAITING = 2; // 0x2
+    field public static final int NOTIFICATION_CHANNEL_STATE_NO_CONNECTION = 1; // 0x1
+    field public static final int NOTIFICATION_CHANNEL_STATE_OK = 0; // 0x0
+    field public static final String PHONE_ACCOUNT_COMPONENT_NAME = "phone_account_component_name";
+    field public static final String PHONE_ACCOUNT_ID = "phone_account_id";
+    field public static final String QUOTA_OCCUPIED = "quota_occupied";
+    field public static final String QUOTA_TOTAL = "quota_total";
+    field public static final int QUOTA_UNAVAILABLE = -1; // 0xffffffff
+    field public static final String SETTINGS_URI = "settings_uri";
+    field public static final String SOURCE_PACKAGE = "source_package";
+    field public static final String SOURCE_TYPE = "source_type";
+    field public static final String VOICEMAIL_ACCESS_URI = "voicemail_access_uri";
+  }
+
+  public static final class VoicemailContract.Voicemails implements android.provider.BaseColumns android.provider.OpenableColumns {
+    method public static android.net.Uri buildSourceUri(String);
+    field public static final String ARCHIVED = "archived";
+    field public static final String BACKED_UP = "backed_up";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String DATE = "date";
+    field public static final String DELETED = "deleted";
+    field public static final String DIRTY = "dirty";
+    field public static final int DIRTY_RETAIN = -1; // 0xffffffff
+    field public static final String DIR_TYPE = "vnd.android.cursor.dir/voicemails";
+    field public static final String DURATION = "duration";
+    field public static final String HAS_CONTENT = "has_content";
+    field public static final String IS_OMTP_VOICEMAIL = "is_omtp_voicemail";
+    field public static final String IS_READ = "is_read";
+    field public static final String ITEM_TYPE = "vnd.android.cursor.item/voicemail";
+    field public static final String LAST_MODIFIED = "last_modified";
+    field public static final String MIME_TYPE = "mime_type";
+    field public static final String NEW = "new";
+    field public static final String NUMBER = "number";
+    field public static final String PHONE_ACCOUNT_COMPONENT_NAME = "subscription_component_name";
+    field public static final String PHONE_ACCOUNT_ID = "subscription_id";
+    field public static final String RESTORED = "restored";
+    field public static final String SOURCE_DATA = "source_data";
+    field public static final String SOURCE_PACKAGE = "source_package";
+    field public static final String TRANSCRIPTION = "transcription";
+  }
+
+}
+
+package android.renderscript {
+
+  @Deprecated public class Allocation extends android.renderscript.BaseObj {
+    method @Deprecated public void copy1DRangeFrom(int, int, Object);
+    method @Deprecated public void copy1DRangeFrom(int, int, int[]);
+    method @Deprecated public void copy1DRangeFrom(int, int, short[]);
+    method @Deprecated public void copy1DRangeFrom(int, int, byte[]);
+    method @Deprecated public void copy1DRangeFrom(int, int, float[]);
+    method @Deprecated public void copy1DRangeFrom(int, int, android.renderscript.Allocation, int);
+    method @Deprecated public void copy1DRangeFromUnchecked(int, int, Object);
+    method @Deprecated public void copy1DRangeFromUnchecked(int, int, int[]);
+    method @Deprecated public void copy1DRangeFromUnchecked(int, int, short[]);
+    method @Deprecated public void copy1DRangeFromUnchecked(int, int, byte[]);
+    method @Deprecated public void copy1DRangeFromUnchecked(int, int, float[]);
+    method @Deprecated public void copy1DRangeTo(int, int, Object);
+    method @Deprecated public void copy1DRangeTo(int, int, int[]);
+    method @Deprecated public void copy1DRangeTo(int, int, short[]);
+    method @Deprecated public void copy1DRangeTo(int, int, byte[]);
+    method @Deprecated public void copy1DRangeTo(int, int, float[]);
+    method @Deprecated public void copy1DRangeToUnchecked(int, int, Object);
+    method @Deprecated public void copy1DRangeToUnchecked(int, int, int[]);
+    method @Deprecated public void copy1DRangeToUnchecked(int, int, short[]);
+    method @Deprecated public void copy1DRangeToUnchecked(int, int, byte[]);
+    method @Deprecated public void copy1DRangeToUnchecked(int, int, float[]);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, Object);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, byte[]);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, short[]);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, int[]);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, float[]);
+    method @Deprecated public void copy2DRangeFrom(int, int, int, int, android.renderscript.Allocation, int, int);
+    method @Deprecated public void copy2DRangeFrom(int, int, android.graphics.Bitmap);
+    method @Deprecated public void copy2DRangeTo(int, int, int, int, Object);
+    method @Deprecated public void copy2DRangeTo(int, int, int, int, byte[]);
+    method @Deprecated public void copy2DRangeTo(int, int, int, int, short[]);
+    method @Deprecated public void copy2DRangeTo(int, int, int, int, int[]);
+    method @Deprecated public void copy2DRangeTo(int, int, int, int, float[]);
+    method @Deprecated public void copy3DRangeFrom(int, int, int, int, int, int, Object);
+    method @Deprecated public void copy3DRangeFrom(int, int, int, int, int, int, android.renderscript.Allocation, int, int, int);
+    method @Deprecated public void copy3DRangeTo(int, int, int, int, int, int, Object);
+    method @Deprecated public void copyFrom(android.renderscript.BaseObj[]);
+    method @Deprecated public void copyFrom(Object);
+    method @Deprecated public void copyFrom(int[]);
+    method @Deprecated public void copyFrom(short[]);
+    method @Deprecated public void copyFrom(byte[]);
+    method @Deprecated public void copyFrom(float[]);
+    method @Deprecated public void copyFrom(android.graphics.Bitmap);
+    method @Deprecated public void copyFrom(android.renderscript.Allocation);
+    method @Deprecated public void copyFromUnchecked(Object);
+    method @Deprecated public void copyFromUnchecked(int[]);
+    method @Deprecated public void copyFromUnchecked(short[]);
+    method @Deprecated public void copyFromUnchecked(byte[]);
+    method @Deprecated public void copyFromUnchecked(float[]);
+    method @Deprecated public void copyTo(android.graphics.Bitmap);
+    method @Deprecated public void copyTo(Object);
+    method @Deprecated public void copyTo(byte[]);
+    method @Deprecated public void copyTo(short[]);
+    method @Deprecated public void copyTo(int[]);
+    method @Deprecated public void copyTo(float[]);
+    method @Deprecated public static android.renderscript.Allocation[] createAllocations(android.renderscript.RenderScript, android.renderscript.Type, int, int);
+    method @Deprecated public static android.renderscript.Allocation createCubemapFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap, android.renderscript.Allocation.MipmapControl, int);
+    method @Deprecated public static android.renderscript.Allocation createCubemapFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap);
+    method @Deprecated public static android.renderscript.Allocation createCubemapFromCubeFaces(android.renderscript.RenderScript, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.renderscript.Allocation.MipmapControl, int);
+    method @Deprecated public static android.renderscript.Allocation createCubemapFromCubeFaces(android.renderscript.RenderScript, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap, android.graphics.Bitmap);
+    method @Deprecated public static android.renderscript.Allocation createFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap, android.renderscript.Allocation.MipmapControl, int);
+    method @Deprecated public static android.renderscript.Allocation createFromBitmap(android.renderscript.RenderScript, android.graphics.Bitmap);
+    method @Deprecated public static android.renderscript.Allocation createFromBitmapResource(android.renderscript.RenderScript, android.content.res.Resources, int, android.renderscript.Allocation.MipmapControl, int);
+    method @Deprecated public static android.renderscript.Allocation createFromBitmapResource(android.renderscript.RenderScript, android.content.res.Resources, int);
+    method @Deprecated public static android.renderscript.Allocation createFromString(android.renderscript.RenderScript, String, int);
+    method @Deprecated public static android.renderscript.Allocation createSized(android.renderscript.RenderScript, android.renderscript.Element, int, int);
+    method @Deprecated public static android.renderscript.Allocation createSized(android.renderscript.RenderScript, android.renderscript.Element, int);
+    method @Deprecated public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type, android.renderscript.Allocation.MipmapControl, int);
+    method @Deprecated public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type, int);
+    method @Deprecated public static android.renderscript.Allocation createTyped(android.renderscript.RenderScript, android.renderscript.Type);
+    method @Deprecated public void generateMipmaps();
+    method @Deprecated public java.nio.ByteBuffer getByteBuffer();
+    method @Deprecated public int getBytesSize();
+    method @Deprecated public android.renderscript.Element getElement();
+    method @Deprecated public long getStride();
+    method @Deprecated public android.view.Surface getSurface();
+    method @Deprecated public long getTimeStamp();
+    method @Deprecated public android.renderscript.Type getType();
+    method @Deprecated public int getUsage();
+    method @Deprecated public void ioReceive();
+    method @Deprecated public void ioSend();
+    method @Deprecated public void resize(int);
+    method @Deprecated public void setAutoPadding(boolean);
+    method @Deprecated public void setFromFieldPacker(int, android.renderscript.FieldPacker);
+    method @Deprecated public void setFromFieldPacker(int, int, android.renderscript.FieldPacker);
+    method @Deprecated public void setFromFieldPacker(int, int, int, int, android.renderscript.FieldPacker);
+    method @Deprecated public void setOnBufferAvailableListener(android.renderscript.Allocation.OnBufferAvailableListener);
+    method @Deprecated public void setSurface(android.view.Surface);
+    method @Deprecated public void syncAll(int);
+    field @Deprecated public static final int USAGE_GRAPHICS_CONSTANTS = 8; // 0x8
+    field @Deprecated public static final int USAGE_GRAPHICS_RENDER_TARGET = 16; // 0x10
+    field @Deprecated public static final int USAGE_GRAPHICS_TEXTURE = 2; // 0x2
+    field @Deprecated public static final int USAGE_GRAPHICS_VERTEX = 4; // 0x4
+    field @Deprecated public static final int USAGE_IO_INPUT = 32; // 0x20
+    field @Deprecated public static final int USAGE_IO_OUTPUT = 64; // 0x40
+    field @Deprecated public static final int USAGE_SCRIPT = 1; // 0x1
+    field @Deprecated public static final int USAGE_SHARED = 128; // 0x80
+  }
+
+  @Deprecated public enum Allocation.MipmapControl {
+    enum_constant @Deprecated public static final android.renderscript.Allocation.MipmapControl MIPMAP_FULL;
+    enum_constant @Deprecated public static final android.renderscript.Allocation.MipmapControl MIPMAP_NONE;
+    enum_constant @Deprecated public static final android.renderscript.Allocation.MipmapControl MIPMAP_ON_SYNC_TO_TEXTURE;
+  }
+
+  @Deprecated public static interface Allocation.OnBufferAvailableListener {
+    method @Deprecated public void onBufferAvailable(android.renderscript.Allocation);
+  }
+
+  @Deprecated public class AllocationAdapter extends android.renderscript.Allocation {
+    method @Deprecated public static android.renderscript.AllocationAdapter create1D(android.renderscript.RenderScript, android.renderscript.Allocation);
+    method @Deprecated public static android.renderscript.AllocationAdapter create2D(android.renderscript.RenderScript, android.renderscript.Allocation);
+    method @Deprecated public static android.renderscript.AllocationAdapter createTyped(android.renderscript.RenderScript, android.renderscript.Allocation, android.renderscript.Type);
+    method @Deprecated public void resize(int);
+    method @Deprecated public void setFace(android.renderscript.Type.CubemapFace);
+    method @Deprecated public void setLOD(int);
+    method @Deprecated public void setX(int);
+    method @Deprecated public void setY(int);
+    method @Deprecated public void setZ(int);
+  }
+
+  @Deprecated public class BaseObj {
+    method @Deprecated public void destroy();
+    method @Deprecated public String getName();
+    method @Deprecated public void setName(String);
+  }
+
+  @Deprecated public class Byte2 {
+    ctor @Deprecated public Byte2();
+    ctor @Deprecated public Byte2(byte, byte);
+    field @Deprecated public byte x;
+    field @Deprecated public byte y;
+  }
+
+  @Deprecated public class Byte3 {
+    ctor @Deprecated public Byte3();
+    ctor @Deprecated public Byte3(byte, byte, byte);
+    field @Deprecated public byte x;
+    field @Deprecated public byte y;
+    field @Deprecated public byte z;
+  }
+
+  @Deprecated public class Byte4 {
+    ctor @Deprecated public Byte4();
+    ctor @Deprecated public Byte4(byte, byte, byte, byte);
+    field @Deprecated public byte w;
+    field @Deprecated public byte x;
+    field @Deprecated public byte y;
+    field @Deprecated public byte z;
+  }
+
+  @Deprecated public class Double2 {
+    ctor @Deprecated public Double2();
+    ctor @Deprecated public Double2(double, double);
+    field @Deprecated public double x;
+    field @Deprecated public double y;
+  }
+
+  @Deprecated public class Double3 {
+    ctor @Deprecated public Double3();
+    ctor @Deprecated public Double3(double, double, double);
+    field @Deprecated public double x;
+    field @Deprecated public double y;
+    field @Deprecated public double z;
+  }
+
+  @Deprecated public class Double4 {
+    ctor @Deprecated public Double4();
+    ctor @Deprecated public Double4(double, double, double, double);
+    field @Deprecated public double w;
+    field @Deprecated public double x;
+    field @Deprecated public double y;
+    field @Deprecated public double z;
+  }
+
+  @Deprecated public class Element extends android.renderscript.BaseObj {
+    method @Deprecated public static android.renderscript.Element ALLOCATION(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element A_8(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element BOOLEAN(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element ELEMENT(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F16(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F16_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F16_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F16_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F32(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F32_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F32_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F32_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F64(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F64_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F64_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element F64_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element FONT(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I16(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I16_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I16_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I16_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I32(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I32_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I32_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I32_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I64(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I64_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I64_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I64_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I8(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I8_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I8_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element I8_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element MATRIX4X4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element MATRIX_2X2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element MATRIX_3X3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element MATRIX_4X4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element MESH(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element PROGRAM_FRAGMENT(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element PROGRAM_RASTER(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element PROGRAM_STORE(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element PROGRAM_VERTEX(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element RGBA_4444(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element RGBA_5551(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element RGBA_8888(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element RGB_565(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element RGB_888(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element SAMPLER(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element SCRIPT(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element TYPE(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U16(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U16_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U16_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U16_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U32(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U32_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U32_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U32_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U64(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U64_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U64_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U64_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U8(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U8_2(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U8_3(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element U8_4(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element YUV(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Element createPixel(android.renderscript.RenderScript, android.renderscript.Element.DataType, android.renderscript.Element.DataKind);
+    method @Deprecated public static android.renderscript.Element createVector(android.renderscript.RenderScript, android.renderscript.Element.DataType, int);
+    method @Deprecated public int getBytesSize();
+    method @Deprecated public android.renderscript.Element.DataKind getDataKind();
+    method @Deprecated public android.renderscript.Element.DataType getDataType();
+    method @Deprecated public android.renderscript.Element getSubElement(int);
+    method @Deprecated public int getSubElementArraySize(int);
+    method @Deprecated public int getSubElementCount();
+    method @Deprecated public String getSubElementName(int);
+    method @Deprecated public int getSubElementOffsetBytes(int);
+    method @Deprecated public int getVectorSize();
+    method @Deprecated public boolean isCompatible(android.renderscript.Element);
+    method @Deprecated public boolean isComplex();
+  }
+
+  @Deprecated public static class Element.Builder {
+    ctor @Deprecated public Element.Builder(android.renderscript.RenderScript);
+    method @Deprecated public android.renderscript.Element.Builder add(android.renderscript.Element, String, int);
+    method @Deprecated public android.renderscript.Element.Builder add(android.renderscript.Element, String);
+    method @Deprecated public android.renderscript.Element create();
+  }
+
+  @Deprecated public enum Element.DataKind {
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_A;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_DEPTH;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_L;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_LA;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_RGB;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_RGBA;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind PIXEL_YUV;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataKind USER;
+  }
+
+  @Deprecated public enum Element.DataType {
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType BOOLEAN;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType FLOAT_16;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType FLOAT_32;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType FLOAT_64;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType MATRIX_2X2;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType MATRIX_3X3;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType MATRIX_4X4;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType NONE;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_ALLOCATION;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_ELEMENT;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_FONT;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_MESH;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_PROGRAM_FRAGMENT;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_PROGRAM_RASTER;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_PROGRAM_STORE;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_PROGRAM_VERTEX;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_SAMPLER;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_SCRIPT;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType RS_TYPE;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType SIGNED_16;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType SIGNED_32;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType SIGNED_64;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType SIGNED_8;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_16;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_32;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_4_4_4_4;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_5_5_5_1;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_5_6_5;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_64;
+    enum_constant @Deprecated public static final android.renderscript.Element.DataType UNSIGNED_8;
+  }
+
+  @Deprecated public class FieldPacker {
+    ctor @Deprecated public FieldPacker(int);
+    ctor @Deprecated public FieldPacker(byte[]);
+    method @Deprecated public void addBoolean(boolean);
+    method @Deprecated public void addF32(float);
+    method @Deprecated public void addF32(android.renderscript.Float2);
+    method @Deprecated public void addF32(android.renderscript.Float3);
+    method @Deprecated public void addF32(android.renderscript.Float4);
+    method @Deprecated public void addF64(double);
+    method @Deprecated public void addF64(android.renderscript.Double2);
+    method @Deprecated public void addF64(android.renderscript.Double3);
+    method @Deprecated public void addF64(android.renderscript.Double4);
+    method @Deprecated public void addI16(short);
+    method @Deprecated public void addI16(android.renderscript.Short2);
+    method @Deprecated public void addI16(android.renderscript.Short3);
+    method @Deprecated public void addI16(android.renderscript.Short4);
+    method @Deprecated public void addI32(int);
+    method @Deprecated public void addI32(android.renderscript.Int2);
+    method @Deprecated public void addI32(android.renderscript.Int3);
+    method @Deprecated public void addI32(android.renderscript.Int4);
+    method @Deprecated public void addI64(long);
+    method @Deprecated public void addI64(android.renderscript.Long2);
+    method @Deprecated public void addI64(android.renderscript.Long3);
+    method @Deprecated public void addI64(android.renderscript.Long4);
+    method @Deprecated public void addI8(byte);
+    method @Deprecated public void addI8(android.renderscript.Byte2);
+    method @Deprecated public void addI8(android.renderscript.Byte3);
+    method @Deprecated public void addI8(android.renderscript.Byte4);
+    method @Deprecated public void addMatrix(android.renderscript.Matrix4f);
+    method @Deprecated public void addMatrix(android.renderscript.Matrix3f);
+    method @Deprecated public void addMatrix(android.renderscript.Matrix2f);
+    method @Deprecated public void addObj(android.renderscript.BaseObj);
+    method @Deprecated public void addU16(int);
+    method @Deprecated public void addU16(android.renderscript.Int2);
+    method @Deprecated public void addU16(android.renderscript.Int3);
+    method @Deprecated public void addU16(android.renderscript.Int4);
+    method @Deprecated public void addU32(long);
+    method @Deprecated public void addU32(android.renderscript.Long2);
+    method @Deprecated public void addU32(android.renderscript.Long3);
+    method @Deprecated public void addU32(android.renderscript.Long4);
+    method @Deprecated public void addU64(long);
+    method @Deprecated public void addU64(android.renderscript.Long2);
+    method @Deprecated public void addU64(android.renderscript.Long3);
+    method @Deprecated public void addU64(android.renderscript.Long4);
+    method @Deprecated public void addU8(short);
+    method @Deprecated public void addU8(android.renderscript.Short2);
+    method @Deprecated public void addU8(android.renderscript.Short3);
+    method @Deprecated public void addU8(android.renderscript.Short4);
+    method @Deprecated public void align(int);
+    method @Deprecated public final byte[] getData();
+    method @Deprecated public void reset();
+    method @Deprecated public void reset(int);
+    method @Deprecated public void skip(int);
+    method @Deprecated public boolean subBoolean();
+    method @Deprecated public android.renderscript.Byte2 subByte2();
+    method @Deprecated public android.renderscript.Byte3 subByte3();
+    method @Deprecated public android.renderscript.Byte4 subByte4();
+    method @Deprecated public android.renderscript.Double2 subDouble2();
+    method @Deprecated public android.renderscript.Double3 subDouble3();
+    method @Deprecated public android.renderscript.Double4 subDouble4();
+    method @Deprecated public float subF32();
+    method @Deprecated public double subF64();
+    method @Deprecated public android.renderscript.Float2 subFloat2();
+    method @Deprecated public android.renderscript.Float3 subFloat3();
+    method @Deprecated public android.renderscript.Float4 subFloat4();
+    method @Deprecated public short subI16();
+    method @Deprecated public int subI32();
+    method @Deprecated public long subI64();
+    method @Deprecated public byte subI8();
+    method @Deprecated public android.renderscript.Int2 subInt2();
+    method @Deprecated public android.renderscript.Int3 subInt3();
+    method @Deprecated public android.renderscript.Int4 subInt4();
+    method @Deprecated public android.renderscript.Long2 subLong2();
+    method @Deprecated public android.renderscript.Long3 subLong3();
+    method @Deprecated public android.renderscript.Long4 subLong4();
+    method @Deprecated public android.renderscript.Matrix2f subMatrix2f();
+    method @Deprecated public android.renderscript.Matrix3f subMatrix3f();
+    method @Deprecated public android.renderscript.Matrix4f subMatrix4f();
+    method @Deprecated public android.renderscript.Short2 subShort2();
+    method @Deprecated public android.renderscript.Short3 subShort3();
+    method @Deprecated public android.renderscript.Short4 subShort4();
+    method @Deprecated public void subalign(int);
+  }
+
+  @Deprecated public class Float2 {
+    ctor @Deprecated public Float2();
+    ctor @Deprecated public Float2(float, float);
+    field @Deprecated public float x;
+    field @Deprecated public float y;
+  }
+
+  @Deprecated public class Float3 {
+    ctor @Deprecated public Float3();
+    ctor @Deprecated public Float3(float, float, float);
+    field @Deprecated public float x;
+    field @Deprecated public float y;
+    field @Deprecated public float z;
+  }
+
+  @Deprecated public class Float4 {
+    ctor @Deprecated public Float4();
+    ctor @Deprecated public Float4(float, float, float, float);
+    field @Deprecated public float w;
+    field @Deprecated public float x;
+    field @Deprecated public float y;
+    field @Deprecated public float z;
+  }
+
+  @Deprecated public class Int2 {
+    ctor @Deprecated public Int2();
+    ctor @Deprecated public Int2(int, int);
+    field @Deprecated public int x;
+    field @Deprecated public int y;
+  }
+
+  @Deprecated public class Int3 {
+    ctor @Deprecated public Int3();
+    ctor @Deprecated public Int3(int, int, int);
+    field @Deprecated public int x;
+    field @Deprecated public int y;
+    field @Deprecated public int z;
+  }
+
+  @Deprecated public class Int4 {
+    ctor @Deprecated public Int4();
+    ctor @Deprecated public Int4(int, int, int, int);
+    field @Deprecated public int w;
+    field @Deprecated public int x;
+    field @Deprecated public int y;
+    field @Deprecated public int z;
+  }
+
+  @Deprecated public class Long2 {
+    ctor @Deprecated public Long2();
+    ctor @Deprecated public Long2(long, long);
+    field @Deprecated public long x;
+    field @Deprecated public long y;
+  }
+
+  @Deprecated public class Long3 {
+    ctor @Deprecated public Long3();
+    ctor @Deprecated public Long3(long, long, long);
+    field @Deprecated public long x;
+    field @Deprecated public long y;
+    field @Deprecated public long z;
+  }
+
+  @Deprecated public class Long4 {
+    ctor @Deprecated public Long4();
+    ctor @Deprecated public Long4(long, long, long, long);
+    field @Deprecated public long w;
+    field @Deprecated public long x;
+    field @Deprecated public long y;
+    field @Deprecated public long z;
+  }
+
+  @Deprecated public class Matrix2f {
+    ctor @Deprecated public Matrix2f();
+    ctor @Deprecated public Matrix2f(float[]);
+    method @Deprecated public float get(int, int);
+    method @Deprecated public float[] getArray();
+    method @Deprecated public void load(android.renderscript.Matrix2f);
+    method @Deprecated public void loadIdentity();
+    method @Deprecated public void loadMultiply(android.renderscript.Matrix2f, android.renderscript.Matrix2f);
+    method @Deprecated public void loadRotate(float);
+    method @Deprecated public void loadScale(float, float);
+    method @Deprecated public void multiply(android.renderscript.Matrix2f);
+    method @Deprecated public void rotate(float);
+    method @Deprecated public void scale(float, float);
+    method @Deprecated public void set(int, int, float);
+    method @Deprecated public void transpose();
+  }
+
+  @Deprecated public class Matrix3f {
+    ctor @Deprecated public Matrix3f();
+    ctor @Deprecated public Matrix3f(float[]);
+    method @Deprecated public float get(int, int);
+    method @Deprecated public float[] getArray();
+    method @Deprecated public void load(android.renderscript.Matrix3f);
+    method @Deprecated public void loadIdentity();
+    method @Deprecated public void loadMultiply(android.renderscript.Matrix3f, android.renderscript.Matrix3f);
+    method @Deprecated public void loadRotate(float, float, float, float);
+    method @Deprecated public void loadRotate(float);
+    method @Deprecated public void loadScale(float, float);
+    method @Deprecated public void loadScale(float, float, float);
+    method @Deprecated public void loadTranslate(float, float);
+    method @Deprecated public void multiply(android.renderscript.Matrix3f);
+    method @Deprecated public void rotate(float, float, float, float);
+    method @Deprecated public void rotate(float);
+    method @Deprecated public void scale(float, float);
+    method @Deprecated public void scale(float, float, float);
+    method @Deprecated public void set(int, int, float);
+    method @Deprecated public void translate(float, float);
+    method @Deprecated public void transpose();
+  }
+
+  @Deprecated public class Matrix4f {
+    ctor @Deprecated public Matrix4f();
+    ctor @Deprecated public Matrix4f(float[]);
+    method @Deprecated public float get(int, int);
+    method @Deprecated public float[] getArray();
+    method @Deprecated public boolean inverse();
+    method @Deprecated public boolean inverseTranspose();
+    method @Deprecated public void load(android.renderscript.Matrix4f);
+    method @Deprecated public void loadFrustum(float, float, float, float, float, float);
+    method @Deprecated public void loadIdentity();
+    method @Deprecated public void loadMultiply(android.renderscript.Matrix4f, android.renderscript.Matrix4f);
+    method @Deprecated public void loadOrtho(float, float, float, float, float, float);
+    method @Deprecated public void loadOrthoWindow(int, int);
+    method @Deprecated public void loadPerspective(float, float, float, float);
+    method @Deprecated public void loadProjectionNormalized(int, int);
+    method @Deprecated public void loadRotate(float, float, float, float);
+    method @Deprecated public void loadScale(float, float, float);
+    method @Deprecated public void loadTranslate(float, float, float);
+    method @Deprecated public void multiply(android.renderscript.Matrix4f);
+    method @Deprecated public void rotate(float, float, float, float);
+    method @Deprecated public void scale(float, float, float);
+    method @Deprecated public void set(int, int, float);
+    method @Deprecated public void translate(float, float, float);
+    method @Deprecated public void transpose();
+  }
+
+  @Deprecated public class RSDriverException extends android.renderscript.RSRuntimeException {
+    ctor @Deprecated public RSDriverException(String);
+  }
+
+  @Deprecated public class RSIllegalArgumentException extends android.renderscript.RSRuntimeException {
+    ctor @Deprecated public RSIllegalArgumentException(String);
+  }
+
+  @Deprecated public class RSInvalidStateException extends android.renderscript.RSRuntimeException {
+    ctor @Deprecated public RSInvalidStateException(String);
+  }
+
+  @Deprecated public class RSRuntimeException extends java.lang.RuntimeException {
+    ctor @Deprecated public RSRuntimeException(String);
+  }
+
+  @Deprecated public class RenderScript {
+    method @Deprecated public void contextDump();
+    method @Deprecated public static android.renderscript.RenderScript create(android.content.Context);
+    method @Deprecated public static android.renderscript.RenderScript create(android.content.Context, android.renderscript.RenderScript.ContextType);
+    method @Deprecated public static android.renderscript.RenderScript create(android.content.Context, android.renderscript.RenderScript.ContextType, int);
+    method @Deprecated public static android.renderscript.RenderScript createMultiContext(android.content.Context, android.renderscript.RenderScript.ContextType, int, int);
+    method @Deprecated public void destroy();
+    method @Deprecated public void finish();
+    method @Deprecated public final android.content.Context getApplicationContext();
+    method @Deprecated public android.renderscript.RenderScript.RSErrorHandler getErrorHandler();
+    method @Deprecated public android.renderscript.RenderScript.RSMessageHandler getMessageHandler();
+    method @Deprecated public static long getMinorVersion();
+    method @Deprecated public static void releaseAllContexts();
+    method @Deprecated public void sendMessage(int, int[]);
+    method @Deprecated public void setErrorHandler(android.renderscript.RenderScript.RSErrorHandler);
+    method @Deprecated public void setMessageHandler(android.renderscript.RenderScript.RSMessageHandler);
+    method @Deprecated public void setPriority(android.renderscript.RenderScript.Priority);
+    field @Deprecated public static final int CREATE_FLAG_LOW_LATENCY = 2; // 0x2
+    field @Deprecated public static final int CREATE_FLAG_LOW_POWER = 4; // 0x4
+    field @Deprecated public static final int CREATE_FLAG_NONE = 0; // 0x0
+  }
+
+  @Deprecated public enum RenderScript.ContextType {
+    enum_constant @Deprecated public static final android.renderscript.RenderScript.ContextType DEBUG;
+    enum_constant @Deprecated public static final android.renderscript.RenderScript.ContextType NORMAL;
+    enum_constant @Deprecated public static final android.renderscript.RenderScript.ContextType PROFILE;
+  }
+
+  @Deprecated public enum RenderScript.Priority {
+    enum_constant @Deprecated public static final android.renderscript.RenderScript.Priority LOW;
+    enum_constant @Deprecated public static final android.renderscript.RenderScript.Priority NORMAL;
+  }
+
+  @Deprecated public static class RenderScript.RSErrorHandler implements java.lang.Runnable {
+    ctor @Deprecated public RenderScript.RSErrorHandler();
+    method @Deprecated public void run();
+    field @Deprecated protected String mErrorMessage;
+    field @Deprecated protected int mErrorNum;
+  }
+
+  @Deprecated public static class RenderScript.RSMessageHandler implements java.lang.Runnable {
+    ctor @Deprecated public RenderScript.RSMessageHandler();
+    method @Deprecated public void run();
+    field @Deprecated protected int[] mData;
+    field @Deprecated protected int mID;
+    field @Deprecated protected int mLength;
+  }
+
+  @Deprecated public class Sampler extends android.renderscript.BaseObj {
+    method @Deprecated public static android.renderscript.Sampler CLAMP_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler CLAMP_LINEAR_MIP_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler CLAMP_NEAREST(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler MIRRORED_REPEAT_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler MIRRORED_REPEAT_LINEAR_MIP_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler MIRRORED_REPEAT_NEAREST(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler WRAP_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler WRAP_LINEAR_MIP_LINEAR(android.renderscript.RenderScript);
+    method @Deprecated public static android.renderscript.Sampler WRAP_NEAREST(android.renderscript.RenderScript);
+    method @Deprecated public float getAnisotropy();
+    method @Deprecated public android.renderscript.Sampler.Value getMagnification();
+    method @Deprecated public android.renderscript.Sampler.Value getMinification();
+    method @Deprecated public android.renderscript.Sampler.Value getWrapS();
+    method @Deprecated public android.renderscript.Sampler.Value getWrapT();
+  }
+
+  @Deprecated public static class Sampler.Builder {
+    ctor @Deprecated public Sampler.Builder(android.renderscript.RenderScript);
+    method @Deprecated public android.renderscript.Sampler create();
+    method @Deprecated public void setAnisotropy(float);
+    method @Deprecated public void setMagnification(android.renderscript.Sampler.Value);
+    method @Deprecated public void setMinification(android.renderscript.Sampler.Value);
+    method @Deprecated public void setWrapS(android.renderscript.Sampler.Value);
+    method @Deprecated public void setWrapT(android.renderscript.Sampler.Value);
+  }
+
+  @Deprecated public enum Sampler.Value {
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value CLAMP;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value LINEAR;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value LINEAR_MIP_LINEAR;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value LINEAR_MIP_NEAREST;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value MIRRORED_REPEAT;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value NEAREST;
+    enum_constant @Deprecated public static final android.renderscript.Sampler.Value WRAP;
+  }
+
+  @Deprecated public class Script extends android.renderscript.BaseObj {
+    method @Deprecated public void bindAllocation(android.renderscript.Allocation, int);
+    method @Deprecated protected android.renderscript.Script.FieldID createFieldID(int, android.renderscript.Element);
+    method @Deprecated protected android.renderscript.Script.InvokeID createInvokeID(int);
+    method @Deprecated protected android.renderscript.Script.KernelID createKernelID(int, int, android.renderscript.Element, android.renderscript.Element);
+    method @Deprecated protected void forEach(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker);
+    method @Deprecated protected void forEach(int, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.FieldPacker, android.renderscript.Script.LaunchOptions);
+    method @Deprecated protected void forEach(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.FieldPacker);
+    method @Deprecated protected void forEach(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.FieldPacker, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public boolean getVarB(int);
+    method @Deprecated public double getVarD(int);
+    method @Deprecated public float getVarF(int);
+    method @Deprecated public int getVarI(int);
+    method @Deprecated public long getVarJ(int);
+    method @Deprecated public void getVarV(int, android.renderscript.FieldPacker);
+    method @Deprecated protected void invoke(int);
+    method @Deprecated protected void invoke(int, android.renderscript.FieldPacker);
+    method @Deprecated protected void reduce(int, android.renderscript.Allocation[], android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void setTimeZone(String);
+    method @Deprecated public void setVar(int, float);
+    method @Deprecated public void setVar(int, double);
+    method @Deprecated public void setVar(int, int);
+    method @Deprecated public void setVar(int, long);
+    method @Deprecated public void setVar(int, boolean);
+    method @Deprecated public void setVar(int, android.renderscript.BaseObj);
+    method @Deprecated public void setVar(int, android.renderscript.FieldPacker);
+    method @Deprecated public void setVar(int, android.renderscript.FieldPacker, android.renderscript.Element, int[]);
+  }
+
+  @Deprecated public static class Script.Builder {
+  }
+
+  @Deprecated public static class Script.FieldBase {
+    ctor @Deprecated protected Script.FieldBase();
+    method @Deprecated public android.renderscript.Allocation getAllocation();
+    method @Deprecated public android.renderscript.Element getElement();
+    method @Deprecated public android.renderscript.Type getType();
+    method @Deprecated protected void init(android.renderscript.RenderScript, int);
+    method @Deprecated protected void init(android.renderscript.RenderScript, int, int);
+    method @Deprecated public void updateAllocation();
+    field @Deprecated protected android.renderscript.Allocation mAllocation;
+    field @Deprecated protected android.renderscript.Element mElement;
+  }
+
+  @Deprecated public static final class Script.FieldID extends android.renderscript.BaseObj {
+  }
+
+  @Deprecated public static final class Script.InvokeID extends android.renderscript.BaseObj {
+  }
+
+  @Deprecated public static final class Script.KernelID extends android.renderscript.BaseObj {
+  }
+
+  @Deprecated public static final class Script.LaunchOptions {
+    ctor @Deprecated public Script.LaunchOptions();
+    method @Deprecated public int getXEnd();
+    method @Deprecated public int getXStart();
+    method @Deprecated public int getYEnd();
+    method @Deprecated public int getYStart();
+    method @Deprecated public int getZEnd();
+    method @Deprecated public int getZStart();
+    method @Deprecated public android.renderscript.Script.LaunchOptions setX(int, int);
+    method @Deprecated public android.renderscript.Script.LaunchOptions setY(int, int);
+    method @Deprecated public android.renderscript.Script.LaunchOptions setZ(int, int);
+  }
+
+  @Deprecated public class ScriptC extends android.renderscript.Script {
+    ctor @Deprecated protected ScriptC(int, android.renderscript.RenderScript);
+    ctor @Deprecated protected ScriptC(long, android.renderscript.RenderScript);
+    ctor @Deprecated protected ScriptC(android.renderscript.RenderScript, android.content.res.Resources, int);
+    ctor @Deprecated protected ScriptC(android.renderscript.RenderScript, String, byte[], byte[]);
+  }
+
+  @Deprecated public final class ScriptGroup extends android.renderscript.BaseObj {
+    method @Deprecated public Object[] execute(java.lang.Object...);
+    method @Deprecated public void execute();
+    method @Deprecated public void setInput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
+    method @Deprecated public void setOutput(android.renderscript.Script.KernelID, android.renderscript.Allocation);
+  }
+
+  @Deprecated public static final class ScriptGroup.Binding {
+    ctor @Deprecated public ScriptGroup.Binding(android.renderscript.Script.FieldID, Object);
+  }
+
+  @Deprecated public static final class ScriptGroup.Builder {
+    ctor @Deprecated public ScriptGroup.Builder(android.renderscript.RenderScript);
+    method @Deprecated public android.renderscript.ScriptGroup.Builder addConnection(android.renderscript.Type, android.renderscript.Script.KernelID, android.renderscript.Script.FieldID);
+    method @Deprecated public android.renderscript.ScriptGroup.Builder addConnection(android.renderscript.Type, android.renderscript.Script.KernelID, android.renderscript.Script.KernelID);
+    method @Deprecated public android.renderscript.ScriptGroup.Builder addKernel(android.renderscript.Script.KernelID);
+    method @Deprecated public android.renderscript.ScriptGroup create();
+  }
+
+  @Deprecated public static final class ScriptGroup.Builder2 {
+    ctor @Deprecated public ScriptGroup.Builder2(android.renderscript.RenderScript);
+    method @Deprecated public android.renderscript.ScriptGroup.Input addInput();
+    method @Deprecated public android.renderscript.ScriptGroup.Closure addInvoke(android.renderscript.Script.InvokeID, java.lang.Object...);
+    method @Deprecated public android.renderscript.ScriptGroup.Closure addKernel(android.renderscript.Script.KernelID, android.renderscript.Type, java.lang.Object...);
+    method @Deprecated public android.renderscript.ScriptGroup create(String, android.renderscript.ScriptGroup.Future...);
+  }
+
+  @Deprecated public static final class ScriptGroup.Closure extends android.renderscript.BaseObj {
+    method @Deprecated public android.renderscript.ScriptGroup.Future getGlobal(android.renderscript.Script.FieldID);
+    method @Deprecated public android.renderscript.ScriptGroup.Future getReturn();
+  }
+
+  @Deprecated public static final class ScriptGroup.Future {
+  }
+
+  @Deprecated public static final class ScriptGroup.Input {
+  }
+
+  @Deprecated public abstract class ScriptIntrinsic extends android.renderscript.Script {
+  }
+
+  @Deprecated public final class ScriptIntrinsic3DLUT extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsic3DLUT create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setLUT(android.renderscript.Allocation);
+  }
+
+  @Deprecated public final class ScriptIntrinsicBLAS extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public void BNNM(android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation, int, int);
+    method @Deprecated public void CGBMV(int, int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Float2, android.renderscript.Allocation, int);
+    method @Deprecated public void CGEMM(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Float2, android.renderscript.Allocation);
+    method @Deprecated public void CGEMV(int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Float2, android.renderscript.Allocation, int);
+    method @Deprecated public void CGERC(android.renderscript.Float2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CGERU(android.renderscript.Float2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CHBMV(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Float2, android.renderscript.Allocation, int);
+    method @Deprecated public void CHEMM(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Float2, android.renderscript.Allocation);
+    method @Deprecated public void CHEMV(int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Float2, android.renderscript.Allocation, int);
+    method @Deprecated public void CHER(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CHER2(int, android.renderscript.Float2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CHER2K(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void CHERK(int, int, float, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void CHPMV(int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Float2, android.renderscript.Allocation, int);
+    method @Deprecated public void CHPR(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CHPR2(int, android.renderscript.Float2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void CSYMM(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Float2, android.renderscript.Allocation);
+    method @Deprecated public void CSYR2K(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Float2, android.renderscript.Allocation);
+    method @Deprecated public void CSYRK(int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Float2, android.renderscript.Allocation);
+    method @Deprecated public void CTBMV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void CTBSV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void CTPMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void CTPSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void CTRMM(int, int, int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void CTRMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void CTRSM(int, int, int, int, android.renderscript.Float2, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void CTRSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DGBMV(int, int, int, double, android.renderscript.Allocation, android.renderscript.Allocation, int, double, android.renderscript.Allocation, int);
+    method @Deprecated public void DGEMM(int, int, double, android.renderscript.Allocation, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void DGEMV(int, double, android.renderscript.Allocation, android.renderscript.Allocation, int, double, android.renderscript.Allocation, int);
+    method @Deprecated public void DGER(double, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void DSBMV(int, int, double, android.renderscript.Allocation, android.renderscript.Allocation, int, double, android.renderscript.Allocation, int);
+    method @Deprecated public void DSPMV(int, double, android.renderscript.Allocation, android.renderscript.Allocation, int, double, android.renderscript.Allocation, int);
+    method @Deprecated public void DSPR(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void DSPR2(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void DSYMM(int, int, double, android.renderscript.Allocation, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void DSYMV(int, double, android.renderscript.Allocation, android.renderscript.Allocation, int, double, android.renderscript.Allocation, int);
+    method @Deprecated public void DSYR(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void DSYR2(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void DSYR2K(int, int, double, android.renderscript.Allocation, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void DSYRK(int, int, double, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void DTBMV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DTBSV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DTPMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DTPSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DTRMM(int, int, int, int, double, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void DTRMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void DTRSM(int, int, int, int, double, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void DTRSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void SGBMV(int, int, int, float, android.renderscript.Allocation, android.renderscript.Allocation, int, float, android.renderscript.Allocation, int);
+    method @Deprecated public void SGEMM(int, int, float, android.renderscript.Allocation, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void SGEMV(int, float, android.renderscript.Allocation, android.renderscript.Allocation, int, float, android.renderscript.Allocation, int);
+    method @Deprecated public void SGER(float, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void SSBMV(int, int, float, android.renderscript.Allocation, android.renderscript.Allocation, int, float, android.renderscript.Allocation, int);
+    method @Deprecated public void SSPMV(int, float, android.renderscript.Allocation, android.renderscript.Allocation, int, float, android.renderscript.Allocation, int);
+    method @Deprecated public void SSPR(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void SSPR2(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void SSYMM(int, int, float, android.renderscript.Allocation, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void SSYMV(int, float, android.renderscript.Allocation, android.renderscript.Allocation, int, float, android.renderscript.Allocation, int);
+    method @Deprecated public void SSYR(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void SSYR2(int, float, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void SSYR2K(int, int, float, android.renderscript.Allocation, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void SSYRK(int, int, float, android.renderscript.Allocation, float, android.renderscript.Allocation);
+    method @Deprecated public void STBMV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void STBSV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void STPMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void STPSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void STRMM(int, int, int, int, float, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void STRMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void STRSM(int, int, int, int, float, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void STRSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZGBMV(int, int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Double2, android.renderscript.Allocation, int);
+    method @Deprecated public void ZGEMM(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Double2, android.renderscript.Allocation);
+    method @Deprecated public void ZGEMV(int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Double2, android.renderscript.Allocation, int);
+    method @Deprecated public void ZGERC(android.renderscript.Double2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZGERU(android.renderscript.Double2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZHBMV(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Double2, android.renderscript.Allocation, int);
+    method @Deprecated public void ZHEMM(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Double2, android.renderscript.Allocation);
+    method @Deprecated public void ZHEMV(int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Double2, android.renderscript.Allocation, int);
+    method @Deprecated public void ZHER(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZHER2(int, android.renderscript.Double2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZHER2K(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void ZHERK(int, int, double, android.renderscript.Allocation, double, android.renderscript.Allocation);
+    method @Deprecated public void ZHPMV(int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, int, android.renderscript.Double2, android.renderscript.Allocation, int);
+    method @Deprecated public void ZHPR(int, double, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZHPR2(int, android.renderscript.Double2, android.renderscript.Allocation, int, android.renderscript.Allocation, int, android.renderscript.Allocation);
+    method @Deprecated public void ZSYMM(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Double2, android.renderscript.Allocation);
+    method @Deprecated public void ZSYR2K(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Double2, android.renderscript.Allocation);
+    method @Deprecated public void ZSYRK(int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Double2, android.renderscript.Allocation);
+    method @Deprecated public void ZTBMV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZTBSV(int, int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZTPMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZTPSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZTRMM(int, int, int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void ZTRMV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public void ZTRSM(int, int, int, int, android.renderscript.Double2, android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void ZTRSV(int, int, int, android.renderscript.Allocation, android.renderscript.Allocation, int);
+    method @Deprecated public static android.renderscript.ScriptIntrinsicBLAS create(android.renderscript.RenderScript);
+    field @Deprecated public static final int CONJ_TRANSPOSE = 113; // 0x71
+    field @Deprecated public static final int LEFT = 141; // 0x8d
+    field @Deprecated public static final int LOWER = 122; // 0x7a
+    field @Deprecated public static final int NON_UNIT = 131; // 0x83
+    field @Deprecated public static final int NO_TRANSPOSE = 111; // 0x6f
+    field @Deprecated public static final int RIGHT = 142; // 0x8e
+    field @Deprecated public static final int TRANSPOSE = 112; // 0x70
+    field @Deprecated public static final int UNIT = 132; // 0x84
+    field @Deprecated public static final int UPPER = 121; // 0x79
+  }
+
+  @Deprecated public class ScriptIntrinsicBlend extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicBlend create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEachAdd(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachAdd(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachClear(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachClear(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachDst(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachDst(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachDstAtop(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachDstAtop(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachDstIn(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachDstIn(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachDstOut(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachDstOut(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachDstOver(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachDstOver(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachMultiply(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachMultiply(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSrc(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSrc(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSrcAtop(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSrcAtop(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSrcIn(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSrcIn(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSrcOut(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSrcOut(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSrcOver(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSrcOver(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachSubtract(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachSubtract(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEachXor(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEachXor(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDAdd();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDClear();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDDst();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDDstAtop();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDDstIn();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDDstOut();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDDstOver();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDMultiply();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSrc();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSrcAtop();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSrcIn();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSrcOut();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSrcOver();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDSubtract();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelIDXor();
+  }
+
+  @Deprecated public final class ScriptIntrinsicBlur extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicBlur create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setInput(android.renderscript.Allocation);
+    method @Deprecated public void setRadius(float);
+  }
+
+  @Deprecated public final class ScriptIntrinsicColorMatrix extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicColorMatrix create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public static android.renderscript.ScriptIntrinsicColorMatrix create(android.renderscript.RenderScript);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setAdd(android.renderscript.Float4);
+    method @Deprecated public void setAdd(float, float, float, float);
+    method @Deprecated public void setColorMatrix(android.renderscript.Matrix4f);
+    method @Deprecated public void setColorMatrix(android.renderscript.Matrix3f);
+    method @Deprecated public void setGreyscale();
+    method @Deprecated public void setRGBtoYUV();
+    method @Deprecated public void setYUVtoRGB();
+  }
+
+  @Deprecated public final class ScriptIntrinsicConvolve3x3 extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicConvolve3x3 create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setCoefficients(float[]);
+    method @Deprecated public void setInput(android.renderscript.Allocation);
+  }
+
+  @Deprecated public final class ScriptIntrinsicConvolve5x5 extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicConvolve5x5 create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setCoefficients(float[]);
+    method @Deprecated public void setInput(android.renderscript.Allocation);
+  }
+
+  @Deprecated public final class ScriptIntrinsicHistogram extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicHistogram create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public void forEach_Dot(android.renderscript.Allocation);
+    method @Deprecated public void forEach_Dot(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID_Separate();
+    method @Deprecated public void setDotCoefficients(float, float, float, float);
+    method @Deprecated public void setOutput(android.renderscript.Allocation);
+  }
+
+  @Deprecated public final class ScriptIntrinsicLUT extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicLUT create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation);
+    method @Deprecated public void forEach(android.renderscript.Allocation, android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setAlpha(int, int);
+    method @Deprecated public void setBlue(int, int);
+    method @Deprecated public void setGreen(int, int);
+    method @Deprecated public void setRed(int, int);
+  }
+
+  @Deprecated public final class ScriptIntrinsicResize extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicResize create(android.renderscript.RenderScript);
+    method @Deprecated public void forEach_bicubic(android.renderscript.Allocation);
+    method @Deprecated public void forEach_bicubic(android.renderscript.Allocation, android.renderscript.Script.LaunchOptions);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID_bicubic();
+    method @Deprecated public void setInput(android.renderscript.Allocation);
+  }
+
+  @Deprecated public final class ScriptIntrinsicYuvToRGB extends android.renderscript.ScriptIntrinsic {
+    method @Deprecated public static android.renderscript.ScriptIntrinsicYuvToRGB create(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public void forEach(android.renderscript.Allocation);
+    method @Deprecated public android.renderscript.Script.FieldID getFieldID_Input();
+    method @Deprecated public android.renderscript.Script.KernelID getKernelID();
+    method @Deprecated public void setInput(android.renderscript.Allocation);
+  }
+
+  @Deprecated public class Short2 {
+    ctor @Deprecated public Short2();
+    ctor @Deprecated public Short2(short, short);
+    field @Deprecated public short x;
+    field @Deprecated public short y;
+  }
+
+  @Deprecated public class Short3 {
+    ctor @Deprecated public Short3();
+    ctor @Deprecated public Short3(short, short, short);
+    field @Deprecated public short x;
+    field @Deprecated public short y;
+    field @Deprecated public short z;
+  }
+
+  @Deprecated public class Short4 {
+    ctor @Deprecated public Short4();
+    ctor @Deprecated public Short4(short, short, short, short);
+    field @Deprecated public short w;
+    field @Deprecated public short x;
+    field @Deprecated public short y;
+    field @Deprecated public short z;
+  }
+
+  @Deprecated public class Type extends android.renderscript.BaseObj {
+    method @Deprecated public static android.renderscript.Type createX(android.renderscript.RenderScript, android.renderscript.Element, int);
+    method @Deprecated public static android.renderscript.Type createXY(android.renderscript.RenderScript, android.renderscript.Element, int, int);
+    method @Deprecated public static android.renderscript.Type createXYZ(android.renderscript.RenderScript, android.renderscript.Element, int, int, int);
+    method @Deprecated public int getCount();
+    method @Deprecated public android.renderscript.Element getElement();
+    method @Deprecated public int getX();
+    method @Deprecated public int getY();
+    method @Deprecated public int getYuv();
+    method @Deprecated public int getZ();
+    method @Deprecated public boolean hasFaces();
+    method @Deprecated public boolean hasMipmaps();
+  }
+
+  @Deprecated public static class Type.Builder {
+    ctor @Deprecated public Type.Builder(android.renderscript.RenderScript, android.renderscript.Element);
+    method @Deprecated public android.renderscript.Type create();
+    method @Deprecated public android.renderscript.Type.Builder setFaces(boolean);
+    method @Deprecated public android.renderscript.Type.Builder setMipmaps(boolean);
+    method @Deprecated public android.renderscript.Type.Builder setX(int);
+    method @Deprecated public android.renderscript.Type.Builder setY(int);
+    method @Deprecated public android.renderscript.Type.Builder setYuvFormat(int);
+    method @Deprecated public android.renderscript.Type.Builder setZ(int);
+  }
+
+  @Deprecated public enum Type.CubemapFace {
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace NEGATIVE_X;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace NEGATIVE_Y;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace NEGATIVE_Z;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITIVE_X;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITIVE_Y;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITIVE_Z;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITVE_X;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITVE_Y;
+    enum_constant @Deprecated public static final android.renderscript.Type.CubemapFace POSITVE_Z;
+  }
+
+}
+
+package android.sax {
+
+  public class Element {
+    method public android.sax.Element getChild(String);
+    method public android.sax.Element getChild(String, String);
+    method public android.sax.Element requireChild(String);
+    method public android.sax.Element requireChild(String, String);
+    method public void setElementListener(android.sax.ElementListener);
+    method public void setEndElementListener(android.sax.EndElementListener);
+    method public void setEndTextElementListener(android.sax.EndTextElementListener);
+    method public void setStartElementListener(android.sax.StartElementListener);
+    method public void setTextElementListener(android.sax.TextElementListener);
+  }
+
+  public interface ElementListener extends android.sax.StartElementListener android.sax.EndElementListener {
+  }
+
+  public interface EndElementListener {
+    method public void end();
+  }
+
+  public interface EndTextElementListener {
+    method public void end(String);
+  }
+
+  public class RootElement extends android.sax.Element {
+    ctor public RootElement(String, String);
+    ctor public RootElement(String);
+    method public org.xml.sax.ContentHandler getContentHandler();
+  }
+
+  public interface StartElementListener {
+    method public void start(org.xml.sax.Attributes);
+  }
+
+  public interface TextElementListener extends android.sax.StartElementListener android.sax.EndTextElementListener {
+  }
+
+}
+
+package android.se.omapi {
+
+  public final class Channel implements java.nio.channels.Channel {
+    method public void close();
+    method @Nullable public byte[] getSelectResponse();
+    method @NonNull public android.se.omapi.Session getSession();
+    method public boolean isBasicChannel();
+    method public boolean isOpen();
+    method public boolean selectNext() throws java.io.IOException;
+    method @NonNull public byte[] transmit(@NonNull byte[]) throws java.io.IOException;
+  }
+
+  public final class Reader {
+    method public void closeSessions();
+    method @NonNull public String getName();
+    method @NonNull public android.se.omapi.SEService getSEService();
+    method public boolean isSecureElementPresent();
+    method @NonNull public android.se.omapi.Session openSession() throws java.io.IOException;
+  }
+
+  public final class SEService {
+    ctor public SEService(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.se.omapi.SEService.OnConnectedListener);
+    method @NonNull public android.se.omapi.Reader[] getReaders();
+    method @NonNull public android.se.omapi.Reader getUiccReader(int);
+    method @NonNull public String getVersion();
+    method public boolean isConnected();
+    method public void shutdown();
+    field public static final String ACTION_SECURE_ELEMENT_STATE_CHANGED = "android.se.omapi.action.SECURE_ELEMENT_STATE_CHANGED";
+    field public static final String EXTRA_READER_NAME = "android.se.omapi.extra.READER_NAME";
+    field public static final String EXTRA_READER_STATE = "android.se.omapi.extra.READER_STATE";
+  }
+
+  public static interface SEService.OnConnectedListener {
+    method public void onConnected();
+  }
+
+  public final class Session {
+    method public void close();
+    method public void closeChannels();
+    method @Nullable public byte[] getATR();
+    method @NonNull public android.se.omapi.Reader getReader();
+    method public boolean isClosed();
+    method @Nullable public android.se.omapi.Channel openBasicChannel(@Nullable byte[], @Nullable byte) throws java.io.IOException;
+    method @Nullable public android.se.omapi.Channel openBasicChannel(@Nullable byte[]) throws java.io.IOException;
+    method @Nullable public android.se.omapi.Channel openLogicalChannel(@Nullable byte[], @Nullable byte) throws java.io.IOException;
+    method @Nullable public android.se.omapi.Channel openLogicalChannel(@Nullable byte[]) throws java.io.IOException;
+  }
+
+}
+
+package android.security {
+
+  public final class AppUriAuthenticationPolicy implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.String,java.util.Map<android.net.Uri,java.lang.String>> getAppAndUriMappings();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.security.AppUriAuthenticationPolicy> CREATOR;
+  }
+
+  public static final class AppUriAuthenticationPolicy.Builder {
+    ctor public AppUriAuthenticationPolicy.Builder();
+    method @NonNull public android.security.AppUriAuthenticationPolicy.Builder addAppAndUriMapping(@NonNull String, @NonNull android.net.Uri, @NonNull String);
+    method @NonNull public android.security.AppUriAuthenticationPolicy build();
+  }
+
+  public final class AttestedKeyPair {
+    ctor public AttestedKeyPair(@Nullable java.security.KeyPair, @NonNull java.util.List<java.security.cert.Certificate>);
+    method @NonNull public java.util.List<java.security.cert.Certificate> getAttestationRecord();
+    method @Nullable public java.security.KeyPair getKeyPair();
+  }
+
+  public class ConfirmationAlreadyPresentingException extends java.lang.Exception {
+    ctor public ConfirmationAlreadyPresentingException();
+    ctor public ConfirmationAlreadyPresentingException(String);
+  }
+
+  public abstract class ConfirmationCallback {
+    ctor public ConfirmationCallback();
+    method public void onCanceled();
+    method public void onConfirmed(@NonNull byte[]);
+    method public void onDismissed();
+    method public void onError(Throwable);
+  }
+
+  public class ConfirmationNotAvailableException extends java.lang.Exception {
+    ctor public ConfirmationNotAvailableException();
+    ctor public ConfirmationNotAvailableException(String);
+  }
+
+  public class ConfirmationPrompt {
+    method public void cancelPrompt();
+    method public static boolean isSupported(android.content.Context);
+    method public void presentPrompt(@NonNull java.util.concurrent.Executor, @NonNull android.security.ConfirmationCallback) throws android.security.ConfirmationAlreadyPresentingException, android.security.ConfirmationNotAvailableException;
+  }
+
+  public static final class ConfirmationPrompt.Builder {
+    ctor public ConfirmationPrompt.Builder(android.content.Context);
+    method public android.security.ConfirmationPrompt build();
+    method public android.security.ConfirmationPrompt.Builder setExtraData(byte[]);
+    method public android.security.ConfirmationPrompt.Builder setPromptText(CharSequence);
+  }
+
+  public final class FileIntegrityManager {
+    method public boolean isApkVeritySupported();
+    method @RequiresPermission(anyOf={android.Manifest.permission.INSTALL_PACKAGES, android.Manifest.permission.REQUEST_INSTALL_PACKAGES}) public boolean isAppSourceCertificateTrusted(@NonNull java.security.cert.X509Certificate) throws java.security.cert.CertificateEncodingException;
+  }
+
+  public final class KeyChain {
+    ctor public KeyChain();
+    method public static void choosePrivateKeyAlias(@NonNull android.app.Activity, @NonNull android.security.KeyChainAliasCallback, @Nullable String[], @Nullable java.security.Principal[], @Nullable String, int, @Nullable String);
+    method public static void choosePrivateKeyAlias(@NonNull android.app.Activity, @NonNull android.security.KeyChainAliasCallback, @Nullable String[], @Nullable java.security.Principal[], @Nullable android.net.Uri, @Nullable String);
+    method @NonNull public static android.content.Intent createInstallIntent();
+    method @NonNull public static android.content.Intent createManageCredentialsIntent(@NonNull android.security.AppUriAuthenticationPolicy);
+    method @Nullable @WorkerThread public static java.security.cert.X509Certificate[] getCertificateChain(@NonNull android.content.Context, @NonNull String) throws java.lang.InterruptedException, android.security.KeyChainException;
+    method @NonNull @WorkerThread public static android.security.AppUriAuthenticationPolicy getCredentialManagementAppPolicy(@NonNull android.content.Context) throws java.lang.SecurityException;
+    method @Nullable @WorkerThread public static java.security.PrivateKey getPrivateKey(@NonNull android.content.Context, @NonNull String) throws java.lang.InterruptedException, android.security.KeyChainException;
+    method @Deprecated public static boolean isBoundKeyAlgorithm(@NonNull String);
+    method @WorkerThread public static boolean isCredentialManagementApp(@NonNull android.content.Context);
+    method public static boolean isKeyAlgorithmSupported(@NonNull String);
+    method @RequiresPermission(value="android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP", conditional=true) @WorkerThread public static boolean removeCredentialManagementApp(@NonNull android.content.Context);
+    field public static final String ACTION_KEYCHAIN_CHANGED = "android.security.action.KEYCHAIN_CHANGED";
+    field public static final String ACTION_KEY_ACCESS_CHANGED = "android.security.action.KEY_ACCESS_CHANGED";
+    field @Deprecated public static final String ACTION_STORAGE_CHANGED = "android.security.STORAGE_CHANGED";
+    field public static final String ACTION_TRUST_STORE_CHANGED = "android.security.action.TRUST_STORE_CHANGED";
+    field public static final String EXTRA_CERTIFICATE = "CERT";
+    field public static final String EXTRA_KEY_ACCESSIBLE = "android.security.extra.KEY_ACCESSIBLE";
+    field public static final String EXTRA_KEY_ALIAS = "android.security.extra.KEY_ALIAS";
+    field public static final String EXTRA_NAME = "name";
+    field public static final String EXTRA_PKCS12 = "PKCS12";
+    field public static final String KEY_ALIAS_SELECTION_DENIED = "android:alias-selection-denied";
+  }
+
+  public interface KeyChainAliasCallback {
+    method public void alias(@Nullable String);
+  }
+
+  public class KeyChainException extends java.lang.Exception {
+    ctor public KeyChainException();
+    ctor public KeyChainException(String);
+    ctor public KeyChainException(String, Throwable);
+    ctor public KeyChainException(Throwable);
+  }
+
+  @Deprecated public final class KeyPairGeneratorSpec implements java.security.spec.AlgorithmParameterSpec {
+    method @Deprecated @NonNull public java.security.spec.AlgorithmParameterSpec getAlgorithmParameterSpec();
+    method @Deprecated public android.content.Context getContext();
+    method @Deprecated @NonNull public java.util.Date getEndDate();
+    method @Deprecated public int getKeySize();
+    method @Deprecated @Nullable public String getKeyType();
+    method @Deprecated public String getKeystoreAlias();
+    method @Deprecated @NonNull public java.math.BigInteger getSerialNumber();
+    method @Deprecated @NonNull public java.util.Date getStartDate();
+    method @Deprecated @NonNull public javax.security.auth.x500.X500Principal getSubjectDN();
+    method @Deprecated public boolean isEncryptionRequired();
+  }
+
+  @Deprecated public static final class KeyPairGeneratorSpec.Builder {
+    ctor @Deprecated public KeyPairGeneratorSpec.Builder(@NonNull android.content.Context);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec build();
+    method @Deprecated public android.security.KeyPairGeneratorSpec.Builder setAlgorithmParameterSpec(@NonNull java.security.spec.AlgorithmParameterSpec);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setAlias(@NonNull String);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setEncryptionRequired();
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setEndDate(@NonNull java.util.Date);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setKeySize(int);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setKeyType(@NonNull String) throws java.security.NoSuchAlgorithmException;
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setSerialNumber(@NonNull java.math.BigInteger);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setStartDate(@NonNull java.util.Date);
+    method @Deprecated @NonNull public android.security.KeyPairGeneratorSpec.Builder setSubject(@NonNull javax.security.auth.x500.X500Principal);
+  }
+
+  @Deprecated public final class KeyStoreParameter implements java.security.KeyStore.ProtectionParameter {
+    method @Deprecated public boolean isEncryptionRequired();
+  }
+
+  @Deprecated public static final class KeyStoreParameter.Builder {
+    ctor @Deprecated public KeyStoreParameter.Builder(@NonNull android.content.Context);
+    method @Deprecated @NonNull public android.security.KeyStoreParameter build();
+    method @Deprecated @NonNull public android.security.KeyStoreParameter.Builder setEncryptionRequired(boolean);
+  }
+
+  public class NetworkSecurityPolicy {
+    method public static android.security.NetworkSecurityPolicy getInstance();
+    method public boolean isCleartextTrafficPermitted();
+    method public boolean isCleartextTrafficPermitted(String);
+  }
+
+}
+
+package android.security.identity {
+
+  public class AccessControlProfile {
+  }
+
+  public static final class AccessControlProfile.Builder {
+    ctor public AccessControlProfile.Builder(@NonNull android.security.identity.AccessControlProfileId);
+    method @NonNull public android.security.identity.AccessControlProfile build();
+    method @NonNull public android.security.identity.AccessControlProfile.Builder setReaderCertificate(@NonNull java.security.cert.X509Certificate);
+    method @NonNull public android.security.identity.AccessControlProfile.Builder setUserAuthenticationRequired(boolean);
+    method @NonNull public android.security.identity.AccessControlProfile.Builder setUserAuthenticationTimeout(long);
+  }
+
+  public class AccessControlProfileId {
+    ctor public AccessControlProfileId(int);
+    method public int getId();
+  }
+
+  public class AlreadyPersonalizedException extends android.security.identity.IdentityCredentialException {
+    ctor public AlreadyPersonalizedException(@NonNull String);
+    ctor public AlreadyPersonalizedException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class CipherSuiteNotSupportedException extends android.security.identity.IdentityCredentialException {
+    ctor public CipherSuiteNotSupportedException(@NonNull String);
+    ctor public CipherSuiteNotSupportedException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class DocTypeNotSupportedException extends android.security.identity.IdentityCredentialException {
+    ctor public DocTypeNotSupportedException(@NonNull String);
+    ctor public DocTypeNotSupportedException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class EphemeralPublicKeyNotFoundException extends android.security.identity.IdentityCredentialException {
+    ctor public EphemeralPublicKeyNotFoundException(@NonNull String);
+    ctor public EphemeralPublicKeyNotFoundException(@NonNull String, @NonNull Throwable);
+  }
+
+  public abstract class IdentityCredential {
+    method @NonNull public abstract java.security.KeyPair createEphemeralKeyPair();
+    method @NonNull public abstract byte[] decryptMessageFromReader(@NonNull byte[]) throws android.security.identity.MessageDecryptionException;
+    method @NonNull public byte[] delete(@NonNull byte[]);
+    method @NonNull public abstract byte[] encryptMessageToReader(@NonNull byte[]);
+    method @NonNull public abstract java.util.Collection<java.security.cert.X509Certificate> getAuthKeysNeedingCertification();
+    method @NonNull public abstract int[] getAuthenticationDataUsageCount();
+    method @NonNull public abstract java.util.Collection<java.security.cert.X509Certificate> getCredentialKeyCertificateChain();
+    method @NonNull public abstract android.security.identity.ResultData getEntries(@Nullable byte[], @NonNull java.util.Map<java.lang.String,java.util.Collection<java.lang.String>>, @Nullable byte[], @Nullable byte[]) throws android.security.identity.EphemeralPublicKeyNotFoundException, android.security.identity.InvalidReaderSignatureException, android.security.identity.InvalidRequestMessageException, android.security.identity.NoAuthenticationKeyAvailableException, android.security.identity.SessionTranscriptMismatchException;
+    method @NonNull public byte[] proveOwnership(@NonNull byte[]);
+    method public abstract void setAllowUsingExhaustedKeys(boolean);
+    method public void setAllowUsingExpiredKeys(boolean);
+    method public abstract void setAvailableAuthenticationKeys(int, int);
+    method public abstract void setReaderEphemeralPublicKey(@NonNull java.security.PublicKey) throws java.security.InvalidKeyException;
+    method @Deprecated public abstract void storeStaticAuthenticationData(@NonNull java.security.cert.X509Certificate, @NonNull byte[]) throws android.security.identity.UnknownAuthenticationKeyException;
+    method public void storeStaticAuthenticationData(@NonNull java.security.cert.X509Certificate, @NonNull java.time.Instant, @NonNull byte[]) throws android.security.identity.UnknownAuthenticationKeyException;
+    method @NonNull public byte[] update(@NonNull android.security.identity.PersonalizationData);
+  }
+
+  public class IdentityCredentialException extends java.lang.Exception {
+    ctor public IdentityCredentialException(@NonNull String);
+    ctor public IdentityCredentialException(@NonNull String, @NonNull Throwable);
+  }
+
+  public abstract class IdentityCredentialStore {
+    method @NonNull public abstract android.security.identity.WritableIdentityCredential createCredential(@NonNull String, @NonNull String) throws android.security.identity.AlreadyPersonalizedException, android.security.identity.DocTypeNotSupportedException;
+    method @Deprecated @Nullable public abstract byte[] deleteCredentialByName(@NonNull String);
+    method @Nullable public abstract android.security.identity.IdentityCredential getCredentialByName(@NonNull String, int) throws android.security.identity.CipherSuiteNotSupportedException;
+    method @Nullable public static android.security.identity.IdentityCredentialStore getDirectAccessInstance(@NonNull android.content.Context);
+    method @Nullable public static android.security.identity.IdentityCredentialStore getInstance(@NonNull android.content.Context);
+    method @NonNull public abstract String[] getSupportedDocTypes();
+    field public static final int CIPHERSUITE_ECDHE_HKDF_ECDSA_WITH_AES_256_GCM_SHA256 = 1; // 0x1
+  }
+
+  public class InvalidReaderSignatureException extends android.security.identity.IdentityCredentialException {
+    ctor public InvalidReaderSignatureException(@NonNull String);
+    ctor public InvalidReaderSignatureException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class InvalidRequestMessageException extends android.security.identity.IdentityCredentialException {
+    ctor public InvalidRequestMessageException(@NonNull String);
+    ctor public InvalidRequestMessageException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class MessageDecryptionException extends android.security.identity.IdentityCredentialException {
+    ctor public MessageDecryptionException(@NonNull String);
+    ctor public MessageDecryptionException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class NoAuthenticationKeyAvailableException extends android.security.identity.IdentityCredentialException {
+    ctor public NoAuthenticationKeyAvailableException(@NonNull String);
+    ctor public NoAuthenticationKeyAvailableException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class PersonalizationData {
+  }
+
+  public static final class PersonalizationData.Builder {
+    ctor public PersonalizationData.Builder();
+    method @NonNull public android.security.identity.PersonalizationData.Builder addAccessControlProfile(@NonNull android.security.identity.AccessControlProfile);
+    method @NonNull public android.security.identity.PersonalizationData build();
+    method @NonNull public android.security.identity.PersonalizationData.Builder putEntry(@NonNull String, @NonNull String, @NonNull java.util.Collection<android.security.identity.AccessControlProfileId>, @NonNull byte[]);
+  }
+
+  public abstract class ResultData {
+    method @NonNull public abstract byte[] getAuthenticatedData();
+    method @Nullable public abstract byte[] getEntry(@NonNull String, @NonNull String);
+    method @Nullable public abstract java.util.Collection<java.lang.String> getEntryNames(@NonNull String);
+    method @Nullable public abstract byte[] getMessageAuthenticationCode();
+    method @NonNull public abstract java.util.Collection<java.lang.String> getNamespaces();
+    method @Nullable public abstract java.util.Collection<java.lang.String> getRetrievedEntryNames(@NonNull String);
+    method @NonNull public abstract byte[] getStaticAuthenticationData();
+    method public abstract int getStatus(@NonNull String, @NonNull String);
+    field public static final int STATUS_NOT_IN_REQUEST_MESSAGE = 3; // 0x3
+    field public static final int STATUS_NOT_REQUESTED = 2; // 0x2
+    field public static final int STATUS_NO_ACCESS_CONTROL_PROFILES = 6; // 0x6
+    field public static final int STATUS_NO_SUCH_ENTRY = 1; // 0x1
+    field public static final int STATUS_OK = 0; // 0x0
+    field public static final int STATUS_READER_AUTHENTICATION_FAILED = 5; // 0x5
+    field public static final int STATUS_USER_AUTHENTICATION_FAILED = 4; // 0x4
+  }
+
+  public class SessionTranscriptMismatchException extends android.security.identity.IdentityCredentialException {
+    ctor public SessionTranscriptMismatchException(@NonNull String);
+    ctor public SessionTranscriptMismatchException(@NonNull String, @NonNull Throwable);
+  }
+
+  public class UnknownAuthenticationKeyException extends android.security.identity.IdentityCredentialException {
+    ctor public UnknownAuthenticationKeyException(@NonNull String);
+    ctor public UnknownAuthenticationKeyException(@NonNull String, @NonNull Throwable);
+  }
+
+  public abstract class WritableIdentityCredential {
+    method @NonNull public abstract java.util.Collection<java.security.cert.X509Certificate> getCredentialKeyCertificateChain(@NonNull byte[]);
+    method @NonNull public abstract byte[] personalize(@NonNull android.security.identity.PersonalizationData);
+  }
+
+}
+
+package android.security.keystore {
+
+  public class BackendBusyException extends java.security.ProviderException {
+    ctor public BackendBusyException(long);
+    ctor public BackendBusyException(long, @NonNull String);
+    ctor public BackendBusyException(long, @NonNull String, @NonNull Throwable);
+    method public long getBackOffHintMillis();
+  }
+
+  public class KeyExpiredException extends java.security.InvalidKeyException {
+    ctor public KeyExpiredException();
+    ctor public KeyExpiredException(String);
+    ctor public KeyExpiredException(String, Throwable);
+  }
+
+  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    method @Nullable public java.security.spec.AlgorithmParameterSpec getAlgorithmParameterSpec();
+    method @Nullable public String getAttestKeyAlias();
+    method public byte[] getAttestationChallenge();
+    method @NonNull public String[] getBlockModes();
+    method @NonNull public java.util.Date getCertificateNotAfter();
+    method @NonNull public java.util.Date getCertificateNotBefore();
+    method @NonNull public java.math.BigInteger getCertificateSerialNumber();
+    method @NonNull public javax.security.auth.x500.X500Principal getCertificateSubject();
+    method @NonNull public String[] getDigests();
+    method @NonNull public String[] getEncryptionPaddings();
+    method public int getKeySize();
+    method @Nullable public java.util.Date getKeyValidityForConsumptionEnd();
+    method @Nullable public java.util.Date getKeyValidityForOriginationEnd();
+    method @Nullable public java.util.Date getKeyValidityStart();
+    method @NonNull public String getKeystoreAlias();
+    method public int getMaxUsageCount();
+    method public int getPurposes();
+    method @NonNull public String[] getSignaturePaddings();
+    method public int getUserAuthenticationType();
+    method public int getUserAuthenticationValidityDurationSeconds();
+    method public boolean isDevicePropertiesAttestationIncluded();
+    method @NonNull public boolean isDigestsSpecified();
+    method public boolean isInvalidatedByBiometricEnrollment();
+    method public boolean isRandomizedEncryptionRequired();
+    method public boolean isStrongBoxBacked();
+    method public boolean isUnlockedDeviceRequired();
+    method public boolean isUserAuthenticationRequired();
+    method public boolean isUserAuthenticationValidWhileOnBody();
+    method public boolean isUserConfirmationRequired();
+    method public boolean isUserPresenceRequired();
+  }
+
+  public static final class KeyGenParameterSpec.Builder {
+    ctor public KeyGenParameterSpec.Builder(@NonNull String, int);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec build();
+    method public android.security.keystore.KeyGenParameterSpec.Builder setAlgorithmParameterSpec(@NonNull java.security.spec.AlgorithmParameterSpec);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestKeyAlias(@Nullable String);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationChallenge(byte[]);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setBlockModes(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setCertificateNotAfter(@NonNull java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setCertificateNotBefore(@NonNull java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setCertificateSerialNumber(@NonNull java.math.BigInteger);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setCertificateSubject(@NonNull javax.security.auth.x500.X500Principal);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setDevicePropertiesAttestationIncluded(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setDigests(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setEncryptionPaddings(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setInvalidatedByBiometricEnrollment(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setIsStrongBoxBacked(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setKeySize(int);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setKeyValidityEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setKeyValidityForConsumptionEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setKeyValidityForOriginationEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setKeyValidityStart(java.util.Date);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setMaxUsageCount(int);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setRandomizedEncryptionRequired(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setSignaturePaddings(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUnlockedDeviceRequired(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationParameters(@IntRange(from=0) int, int);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationRequired(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationValidWhileOnBody(boolean);
+    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserAuthenticationValidityDurationSeconds(@IntRange(from=0xffffffff) int);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserConfirmationRequired(boolean);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUserPresenceRequired(boolean);
+  }
+
+  public class KeyInfo implements java.security.spec.KeySpec {
+    method @NonNull public String[] getBlockModes();
+    method @NonNull public String[] getDigests();
+    method @NonNull public String[] getEncryptionPaddings();
+    method public int getKeySize();
+    method @Nullable public java.util.Date getKeyValidityForConsumptionEnd();
+    method @Nullable public java.util.Date getKeyValidityForOriginationEnd();
+    method @Nullable public java.util.Date getKeyValidityStart();
+    method public String getKeystoreAlias();
+    method public int getOrigin();
+    method public int getPurposes();
+    method public int getRemainingUsageCount();
+    method public int getSecurityLevel();
+    method @NonNull public String[] getSignaturePaddings();
+    method public int getUserAuthenticationType();
+    method public int getUserAuthenticationValidityDurationSeconds();
+    method @Deprecated public boolean isInsideSecureHardware();
+    method public boolean isInvalidatedByBiometricEnrollment();
+    method public boolean isTrustedUserPresenceRequired();
+    method public boolean isUserAuthenticationRequired();
+    method public boolean isUserAuthenticationRequirementEnforcedBySecureHardware();
+    method public boolean isUserAuthenticationValidWhileOnBody();
+    method public boolean isUserConfirmationRequired();
+  }
+
+  public class KeyNotYetValidException extends java.security.InvalidKeyException {
+    ctor public KeyNotYetValidException();
+    ctor public KeyNotYetValidException(String);
+    ctor public KeyNotYetValidException(String, Throwable);
+  }
+
+  public class KeyPermanentlyInvalidatedException extends java.security.InvalidKeyException {
+    ctor public KeyPermanentlyInvalidatedException();
+    ctor public KeyPermanentlyInvalidatedException(String);
+    ctor public KeyPermanentlyInvalidatedException(String, Throwable);
+  }
+
+  public abstract class KeyProperties {
+    field public static final int AUTH_BIOMETRIC_STRONG = 2; // 0x2
+    field public static final int AUTH_DEVICE_CREDENTIAL = 1; // 0x1
+    field public static final String BLOCK_MODE_CBC = "CBC";
+    field public static final String BLOCK_MODE_CTR = "CTR";
+    field public static final String BLOCK_MODE_ECB = "ECB";
+    field public static final String BLOCK_MODE_GCM = "GCM";
+    field public static final String DIGEST_MD5 = "MD5";
+    field public static final String DIGEST_NONE = "NONE";
+    field public static final String DIGEST_SHA1 = "SHA-1";
+    field public static final String DIGEST_SHA224 = "SHA-224";
+    field public static final String DIGEST_SHA256 = "SHA-256";
+    field public static final String DIGEST_SHA384 = "SHA-384";
+    field public static final String DIGEST_SHA512 = "SHA-512";
+    field public static final String ENCRYPTION_PADDING_NONE = "NoPadding";
+    field public static final String ENCRYPTION_PADDING_PKCS7 = "PKCS7Padding";
+    field public static final String ENCRYPTION_PADDING_RSA_OAEP = "OAEPPadding";
+    field public static final String ENCRYPTION_PADDING_RSA_PKCS1 = "PKCS1Padding";
+    field @Deprecated public static final String KEY_ALGORITHM_3DES = "DESede";
+    field public static final String KEY_ALGORITHM_AES = "AES";
+    field public static final String KEY_ALGORITHM_EC = "EC";
+    field public static final String KEY_ALGORITHM_HMAC_SHA1 = "HmacSHA1";
+    field public static final String KEY_ALGORITHM_HMAC_SHA224 = "HmacSHA224";
+    field public static final String KEY_ALGORITHM_HMAC_SHA256 = "HmacSHA256";
+    field public static final String KEY_ALGORITHM_HMAC_SHA384 = "HmacSHA384";
+    field public static final String KEY_ALGORITHM_HMAC_SHA512 = "HmacSHA512";
+    field public static final String KEY_ALGORITHM_RSA = "RSA";
+    field public static final int ORIGIN_GENERATED = 1; // 0x1
+    field public static final int ORIGIN_IMPORTED = 2; // 0x2
+    field public static final int ORIGIN_SECURELY_IMPORTED = 8; // 0x8
+    field public static final int ORIGIN_UNKNOWN = 4; // 0x4
+    field public static final int PURPOSE_AGREE_KEY = 64; // 0x40
+    field public static final int PURPOSE_ATTEST_KEY = 128; // 0x80
+    field public static final int PURPOSE_DECRYPT = 2; // 0x2
+    field public static final int PURPOSE_ENCRYPT = 1; // 0x1
+    field public static final int PURPOSE_SIGN = 4; // 0x4
+    field public static final int PURPOSE_VERIFY = 8; // 0x8
+    field public static final int PURPOSE_WRAP_KEY = 32; // 0x20
+    field public static final int SECURITY_LEVEL_SOFTWARE = 0; // 0x0
+    field public static final int SECURITY_LEVEL_STRONGBOX = 2; // 0x2
+    field public static final int SECURITY_LEVEL_TRUSTED_ENVIRONMENT = 1; // 0x1
+    field public static final int SECURITY_LEVEL_UNKNOWN = -2; // 0xfffffffe
+    field public static final int SECURITY_LEVEL_UNKNOWN_SECURE = -1; // 0xffffffff
+    field public static final String SIGNATURE_PADDING_RSA_PKCS1 = "PKCS1";
+    field public static final String SIGNATURE_PADDING_RSA_PSS = "PSS";
+    field public static final int UNRESTRICTED_USAGE_COUNT = -1; // 0xffffffff
+  }
+
+  public final class KeyProtection implements java.security.KeyStore.ProtectionParameter {
+    method @NonNull public String[] getBlockModes();
+    method @NonNull public String[] getDigests();
+    method @NonNull public String[] getEncryptionPaddings();
+    method @Nullable public java.util.Date getKeyValidityForConsumptionEnd();
+    method @Nullable public java.util.Date getKeyValidityForOriginationEnd();
+    method @Nullable public java.util.Date getKeyValidityStart();
+    method public int getMaxUsageCount();
+    method public int getPurposes();
+    method @NonNull public String[] getSignaturePaddings();
+    method public int getUserAuthenticationType();
+    method public int getUserAuthenticationValidityDurationSeconds();
+    method public boolean isDigestsSpecified();
+    method public boolean isInvalidatedByBiometricEnrollment();
+    method public boolean isRandomizedEncryptionRequired();
+    method public boolean isUnlockedDeviceRequired();
+    method public boolean isUserAuthenticationRequired();
+    method public boolean isUserAuthenticationValidWhileOnBody();
+    method public boolean isUserConfirmationRequired();
+    method public boolean isUserPresenceRequired();
+  }
+
+  public static final class KeyProtection.Builder {
+    ctor public KeyProtection.Builder(int);
+    method @NonNull public android.security.keystore.KeyProtection build();
+    method @NonNull public android.security.keystore.KeyProtection.Builder setBlockModes(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setDigests(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setEncryptionPaddings(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setInvalidatedByBiometricEnrollment(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setIsStrongBoxBacked(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setKeyValidityEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setKeyValidityForConsumptionEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setKeyValidityForOriginationEnd(java.util.Date);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setKeyValidityStart(java.util.Date);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setMaxUsageCount(int);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setRandomizedEncryptionRequired(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setSignaturePaddings(java.lang.String...);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUnlockedDeviceRequired(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationParameters(@IntRange(from=0) int, int);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationRequired(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationValidWhileOnBody(boolean);
+    method @Deprecated @NonNull public android.security.keystore.KeyProtection.Builder setUserAuthenticationValidityDurationSeconds(@IntRange(from=0xffffffff) int);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUserConfirmationRequired(boolean);
+    method @NonNull public android.security.keystore.KeyProtection.Builder setUserPresenceRequired(boolean);
+  }
+
+  public class SecureKeyImportUnavailableException extends java.security.ProviderException {
+    ctor public SecureKeyImportUnavailableException();
+    ctor public SecureKeyImportUnavailableException(String);
+    ctor public SecureKeyImportUnavailableException(String, Throwable);
+    ctor public SecureKeyImportUnavailableException(Throwable);
+  }
+
+  public class StrongBoxUnavailableException extends java.security.ProviderException {
+    ctor public StrongBoxUnavailableException();
+    ctor public StrongBoxUnavailableException(String);
+    ctor public StrongBoxUnavailableException(String, Throwable);
+    ctor public StrongBoxUnavailableException(Throwable);
+  }
+
+  public class UserNotAuthenticatedException extends java.security.InvalidKeyException {
+    ctor public UserNotAuthenticatedException();
+    ctor public UserNotAuthenticatedException(String);
+    ctor public UserNotAuthenticatedException(String, Throwable);
+  }
+
+  public class UserPresenceUnavailableException extends java.security.InvalidKeyException {
+    ctor public UserPresenceUnavailableException();
+    ctor public UserPresenceUnavailableException(String);
+    ctor public UserPresenceUnavailableException(String, Throwable);
+  }
+
+  public class WrappedKeyEntry implements java.security.KeyStore.Entry {
+    ctor public WrappedKeyEntry(byte[], String, String, java.security.spec.AlgorithmParameterSpec);
+    method public java.security.spec.AlgorithmParameterSpec getAlgorithmParameterSpec();
+    method public String getTransformation();
+    method public byte[] getWrappedKeyBytes();
+    method public String getWrappingKeyAlias();
+  }
+
+}
+
+package android.service.autofill {
+
+  public abstract class AutofillService extends android.app.Service {
+    ctor public AutofillService();
+    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public void onConnected();
+    method public void onDisconnected();
+    method public abstract void onFillRequest(@NonNull android.service.autofill.FillRequest, @NonNull android.os.CancellationSignal, @NonNull android.service.autofill.FillCallback);
+    method public abstract void onSaveRequest(@NonNull android.service.autofill.SaveRequest, @NonNull android.service.autofill.SaveCallback);
+    method public void onSavedDatasetsInfoRequest(@NonNull android.service.autofill.SavedDatasetsInfoCallback);
+    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillService";
+    field public static final String SERVICE_META_DATA = "android.autofill";
+  }
+
+  public final class BatchUpdates implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.BatchUpdates> CREATOR;
+  }
+
+  public static class BatchUpdates.Builder {
+    ctor public BatchUpdates.Builder();
+    method public android.service.autofill.BatchUpdates build();
+    method public android.service.autofill.BatchUpdates.Builder transformChild(int, @NonNull android.service.autofill.Transformation);
+    method public android.service.autofill.BatchUpdates.Builder updateTemplate(@NonNull android.widget.RemoteViews);
+  }
+
+  public final class CharSequenceTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.CharSequenceTransformation> CREATOR;
+  }
+
+  public static class CharSequenceTransformation.Builder {
+    ctor public CharSequenceTransformation.Builder(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern, @NonNull String);
+    method public android.service.autofill.CharSequenceTransformation.Builder addField(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern, @NonNull String);
+    method public android.service.autofill.CharSequenceTransformation build();
+  }
+
+  public final class CustomDescription implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.CustomDescription> CREATOR;
+  }
+
+  public static class CustomDescription.Builder {
+    ctor public CustomDescription.Builder(@NonNull android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.CustomDescription.Builder addChild(int, @NonNull android.service.autofill.Transformation);
+    method @NonNull public android.service.autofill.CustomDescription.Builder addOnClickAction(int, @NonNull android.service.autofill.OnClickAction);
+    method @NonNull public android.service.autofill.CustomDescription.Builder batchUpdate(@NonNull android.service.autofill.Validator, @NonNull android.service.autofill.BatchUpdates);
+    method @NonNull public android.service.autofill.CustomDescription build();
+  }
+
+  public final class Dataset implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.Dataset> CREATOR;
+  }
+
+  public static final class Dataset.Builder {
+    ctor public Dataset.Builder(@NonNull android.widget.RemoteViews);
+    ctor public Dataset.Builder();
+    method @NonNull public android.service.autofill.Dataset build();
+    method @NonNull public android.service.autofill.Dataset.Builder setAuthentication(@Nullable android.content.IntentSender);
+    method @NonNull public android.service.autofill.Dataset.Builder setId(@Nullable String);
+    method @NonNull public android.service.autofill.Dataset.Builder setInlinePresentation(@NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setInlinePresentation(@NonNull android.service.autofill.InlinePresentation, @NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @NonNull android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @NonNull android.widget.RemoteViews, @NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @NonNull android.widget.RemoteViews, @NonNull android.service.autofill.InlinePresentation, @NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.widget.RemoteViews, @NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setValue(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.widget.RemoteViews, @NonNull android.service.autofill.InlinePresentation, @NonNull android.service.autofill.InlinePresentation);
+  }
+
+  public final class DateTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    ctor public DateTransformation(@NonNull android.view.autofill.AutofillId, @NonNull android.icu.text.DateFormat);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.DateTransformation> CREATOR;
+  }
+
+  public final class DateValueSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
+    ctor public DateValueSanitizer(@NonNull android.icu.text.DateFormat);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.DateValueSanitizer> CREATOR;
+  }
+
+  public final class FieldClassification {
+    method @NonNull public java.util.List<android.service.autofill.FieldClassification.Match> getMatches();
+  }
+
+  public static final class FieldClassification.Match {
+    method @NonNull public String getCategoryId();
+    method public float getScore();
+  }
+
+  public final class FillCallback {
+    method public void onFailure(@Nullable CharSequence);
+    method public void onSuccess(@Nullable android.service.autofill.FillResponse);
+  }
+
+  public final class FillContext implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.autofill.AutofillId getFocusedId();
+    method public int getRequestId();
+    method @NonNull public android.app.assist.AssistStructure getStructure();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillContext> CREATOR;
+  }
+
+  public final class FillEventHistory implements android.os.Parcelable {
+    method public int describeContents();
+    method @Deprecated @Nullable public android.os.Bundle getClientState();
+    method @Nullable public java.util.List<android.service.autofill.FillEventHistory.Event> getEvents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillEventHistory> CREATOR;
+  }
+
+  public static final class FillEventHistory.Event {
+    method @NonNull public java.util.Map<android.view.autofill.AutofillId,java.lang.String> getChangedFields();
+    method @Nullable public android.os.Bundle getClientState();
+    method @Nullable public String getDatasetId();
+    method @NonNull public java.util.Map<android.view.autofill.AutofillId,android.service.autofill.FieldClassification> getFieldsClassification();
+    method @NonNull public java.util.Set<java.lang.String> getIgnoredDatasetIds();
+    method @NonNull public java.util.Map<android.view.autofill.AutofillId,java.util.Set<java.lang.String>> getManuallyEnteredField();
+    method public int getNoSaveUiReason();
+    method @NonNull public java.util.Set<java.lang.String> getSelectedDatasetIds();
+    method public int getType();
+    field public static final int NO_SAVE_UI_REASON_DATASET_MATCH = 6; // 0x6
+    field public static final int NO_SAVE_UI_REASON_FIELD_VALIDATION_FAILED = 5; // 0x5
+    field public static final int NO_SAVE_UI_REASON_HAS_EMPTY_REQUIRED = 3; // 0x3
+    field public static final int NO_SAVE_UI_REASON_NONE = 0; // 0x0
+    field public static final int NO_SAVE_UI_REASON_NO_SAVE_INFO = 1; // 0x1
+    field public static final int NO_SAVE_UI_REASON_NO_VALUE_CHANGED = 4; // 0x4
+    field public static final int NO_SAVE_UI_REASON_WITH_DELAY_SAVE_FLAG = 2; // 0x2
+    field public static final int TYPE_AUTHENTICATION_SELECTED = 2; // 0x2
+    field public static final int TYPE_CONTEXT_COMMITTED = 4; // 0x4
+    field public static final int TYPE_DATASETS_SHOWN = 5; // 0x5
+    field public static final int TYPE_DATASET_AUTHENTICATION_SELECTED = 1; // 0x1
+    field public static final int TYPE_DATASET_SELECTED = 0; // 0x0
+    field public static final int TYPE_SAVE_SHOWN = 3; // 0x3
+  }
+
+  public final class FillRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.os.Bundle getClientState();
+    method @NonNull public java.util.List<android.service.autofill.FillContext> getFillContexts();
+    method public int getFlags();
+    method public int getId();
+    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillRequest> CREATOR;
+    field public static final int FLAG_COMPATIBILITY_MODE_REQUEST = 2; // 0x2
+    field public static final int FLAG_MANUAL_REQUEST = 1; // 0x1
+  }
+
+  public final class FillResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillResponse> CREATOR;
+    field public static final int FLAG_DISABLE_ACTIVITY_ONLY = 2; // 0x2
+    field public static final int FLAG_TRACK_CONTEXT_COMMITED = 1; // 0x1
+  }
+
+  public static final class FillResponse.Builder {
+    ctor public FillResponse.Builder();
+    method @NonNull public android.service.autofill.FillResponse.Builder addDataset(@Nullable android.service.autofill.Dataset);
+    method @NonNull public android.service.autofill.FillResponse build();
+    method @NonNull public android.service.autofill.FillResponse.Builder disableAutofill(long);
+    method @NonNull public android.service.autofill.FillResponse.Builder setAuthentication(@NonNull android.view.autofill.AutofillId[], @Nullable android.content.IntentSender, @Nullable android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.FillResponse.Builder setAuthentication(@NonNull android.view.autofill.AutofillId[], @Nullable android.content.IntentSender, @Nullable android.widget.RemoteViews, @Nullable android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.FillResponse.Builder setAuthentication(@NonNull android.view.autofill.AutofillId[], @Nullable android.content.IntentSender, @Nullable android.widget.RemoteViews, @Nullable android.service.autofill.InlinePresentation, @Nullable android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.FillResponse.Builder setClientState(@Nullable android.os.Bundle);
+    method @NonNull public android.service.autofill.FillResponse.Builder setFieldClassificationIds(@NonNull android.view.autofill.AutofillId...);
+    method @NonNull public android.service.autofill.FillResponse.Builder setFlags(int);
+    method @NonNull public android.service.autofill.FillResponse.Builder setFooter(@NonNull android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.FillResponse.Builder setHeader(@NonNull android.widget.RemoteViews);
+    method @NonNull public android.service.autofill.FillResponse.Builder setIgnoredIds(android.view.autofill.AutofillId...);
+    method @NonNull public android.service.autofill.FillResponse.Builder setPresentationCancelIds(@Nullable int[]);
+    method @NonNull public android.service.autofill.FillResponse.Builder setSaveInfo(@NonNull android.service.autofill.SaveInfo);
+    method @NonNull public android.service.autofill.FillResponse.Builder setUserData(@NonNull android.service.autofill.UserData);
+  }
+
+  public final class ImageTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.ImageTransformation> CREATOR;
+  }
+
+  public static class ImageTransformation.Builder {
+    ctor @Deprecated public ImageTransformation.Builder(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern, @DrawableRes int);
+    ctor public ImageTransformation.Builder(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern, @DrawableRes int, @NonNull CharSequence);
+    method @Deprecated public android.service.autofill.ImageTransformation.Builder addOption(@NonNull java.util.regex.Pattern, @DrawableRes int);
+    method public android.service.autofill.ImageTransformation.Builder addOption(@NonNull java.util.regex.Pattern, @DrawableRes int, @NonNull CharSequence);
+    method public android.service.autofill.ImageTransformation build();
+  }
+
+  public final class InlinePresentation implements android.os.Parcelable {
+    ctor public InlinePresentation(@NonNull android.app.slice.Slice, @NonNull android.widget.inline.InlinePresentationSpec, boolean);
+    method @NonNull public static android.service.autofill.InlinePresentation createTooltipPresentation(@NonNull android.app.slice.Slice, @NonNull android.widget.inline.InlinePresentationSpec);
+    method public int describeContents();
+    method @NonNull public android.widget.inline.InlinePresentationSpec getInlinePresentationSpec();
+    method @NonNull public android.app.slice.Slice getSlice();
+    method public boolean isPinned();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.InlinePresentation> CREATOR;
+  }
+
+  public final class LuhnChecksumValidator implements android.os.Parcelable android.service.autofill.Validator {
+    ctor public LuhnChecksumValidator(@NonNull android.view.autofill.AutofillId...);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.LuhnChecksumValidator> CREATOR;
+  }
+
+  public interface OnClickAction {
+  }
+
+  public final class RegexValidator implements android.os.Parcelable android.service.autofill.Validator {
+    ctor public RegexValidator(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.RegexValidator> CREATOR;
+  }
+
+  public interface Sanitizer {
+  }
+
+  public final class SaveCallback {
+    method public void onFailure(CharSequence);
+    method public void onSuccess();
+    method public void onSuccess(@NonNull android.content.IntentSender);
+  }
+
+  public final class SaveInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.SaveInfo> CREATOR;
+    field public static final int FLAG_DELAY_SAVE = 4; // 0x4
+    field public static final int FLAG_DONT_SAVE_ON_FINISH = 2; // 0x2
+    field public static final int FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE = 1; // 0x1
+    field public static final int NEGATIVE_BUTTON_STYLE_CANCEL = 0; // 0x0
+    field public static final int NEGATIVE_BUTTON_STYLE_NEVER = 2; // 0x2
+    field public static final int NEGATIVE_BUTTON_STYLE_REJECT = 1; // 0x1
+    field public static final int POSITIVE_BUTTON_STYLE_CONTINUE = 1; // 0x1
+    field public static final int POSITIVE_BUTTON_STYLE_SAVE = 0; // 0x0
+    field public static final int SAVE_DATA_TYPE_ADDRESS = 2; // 0x2
+    field public static final int SAVE_DATA_TYPE_CREDIT_CARD = 4; // 0x4
+    field public static final int SAVE_DATA_TYPE_DEBIT_CARD = 32; // 0x20
+    field public static final int SAVE_DATA_TYPE_EMAIL_ADDRESS = 16; // 0x10
+    field public static final int SAVE_DATA_TYPE_GENERIC = 0; // 0x0
+    field public static final int SAVE_DATA_TYPE_GENERIC_CARD = 128; // 0x80
+    field public static final int SAVE_DATA_TYPE_PASSWORD = 1; // 0x1
+    field public static final int SAVE_DATA_TYPE_PAYMENT_CARD = 64; // 0x40
+    field public static final int SAVE_DATA_TYPE_USERNAME = 8; // 0x8
+  }
+
+  public static final class SaveInfo.Builder {
+    ctor public SaveInfo.Builder(int, @NonNull android.view.autofill.AutofillId[]);
+    ctor public SaveInfo.Builder(int);
+    method @NonNull public android.service.autofill.SaveInfo.Builder addSanitizer(@NonNull android.service.autofill.Sanitizer, @NonNull android.view.autofill.AutofillId...);
+    method public android.service.autofill.SaveInfo build();
+    method @NonNull public android.service.autofill.SaveInfo.Builder setCustomDescription(@NonNull android.service.autofill.CustomDescription);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setDescription(@Nullable CharSequence);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setFlags(int);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setNegativeAction(int, @Nullable android.content.IntentSender);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setOptionalIds(@NonNull android.view.autofill.AutofillId[]);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setPositiveAction(int);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setTriggerId(@NonNull android.view.autofill.AutofillId);
+    method @NonNull public android.service.autofill.SaveInfo.Builder setValidator(@NonNull android.service.autofill.Validator);
+  }
+
+  public final class SaveRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.os.Bundle getClientState();
+    method @Nullable public java.util.List<java.lang.String> getDatasetIds();
+    method @NonNull public java.util.List<android.service.autofill.FillContext> getFillContexts();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.SaveRequest> CREATOR;
+  }
+
+  public final class SavedDatasetsInfo {
+    ctor public SavedDatasetsInfo(@NonNull String, @IntRange(from=0) int);
+    method @IntRange(from=0) public int getCount();
+    method @NonNull public String getType();
+    field public static final String TYPE_OTHER = "other";
+    field public static final String TYPE_PASSWORDS = "passwords";
+  }
+
+  public interface SavedDatasetsInfoCallback {
+    method public void onError(int);
+    method public void onSuccess(@NonNull java.util.Set<android.service.autofill.SavedDatasetsInfo>);
+    field public static final int ERROR_NEEDS_USER_ACTION = 2; // 0x2
+    field public static final int ERROR_OTHER = 0; // 0x0
+    field public static final int ERROR_UNSUPPORTED = 1; // 0x1
+  }
+
+  public final class TextValueSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
+    ctor public TextValueSanitizer(@NonNull java.util.regex.Pattern, @NonNull String);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.TextValueSanitizer> CREATOR;
+  }
+
+  public interface Transformation {
+  }
+
+  public final class UserData implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getFieldClassificationAlgorithm();
+    method @Nullable public String getFieldClassificationAlgorithmForCategory(@NonNull String);
+    method public String getId();
+    method public static int getMaxCategoryCount();
+    method public static int getMaxFieldClassificationIdsSize();
+    method public static int getMaxUserDataSize();
+    method public static int getMaxValueLength();
+    method public static int getMinValueLength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.UserData> CREATOR;
+  }
+
+  public static final class UserData.Builder {
+    ctor public UserData.Builder(@NonNull String, @NonNull String, @NonNull String);
+    method @NonNull public android.service.autofill.UserData.Builder add(@NonNull String, @NonNull String);
+    method @NonNull public android.service.autofill.UserData build();
+    method @NonNull public android.service.autofill.UserData.Builder setFieldClassificationAlgorithm(@Nullable String, @Nullable android.os.Bundle);
+    method @NonNull public android.service.autofill.UserData.Builder setFieldClassificationAlgorithmForCategory(@NonNull String, @Nullable String, @Nullable android.os.Bundle);
+  }
+
+  public interface Validator {
+  }
+
+  public final class Validators {
+    method @NonNull public static android.service.autofill.Validator and(@NonNull android.service.autofill.Validator...);
+    method @NonNull public static android.service.autofill.Validator not(@NonNull android.service.autofill.Validator);
+    method @NonNull public static android.service.autofill.Validator or(@NonNull android.service.autofill.Validator...);
+  }
+
+  public final class VisibilitySetterAction implements android.service.autofill.OnClickAction android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.VisibilitySetterAction> CREATOR;
+  }
+
+  public static final class VisibilitySetterAction.Builder {
+    ctor public VisibilitySetterAction.Builder(@IdRes int, int);
+    method @NonNull public android.service.autofill.VisibilitySetterAction build();
+    method @NonNull public android.service.autofill.VisibilitySetterAction.Builder setVisibility(@IdRes int, int);
+  }
+
+}
+
+package android.service.carrier {
+
+  public class CarrierIdentifier implements android.os.Parcelable {
+    ctor public CarrierIdentifier(String, String, @Nullable String, @Nullable String, @Nullable String, @Nullable String);
+    ctor public CarrierIdentifier(@NonNull String, @NonNull String, @Nullable String, @Nullable String, @Nullable String, @Nullable String, int, int);
+    ctor public CarrierIdentifier(byte[], @Nullable String, @Nullable String);
+    method public int describeContents();
+    method public int getCarrierId();
+    method @Nullable public String getGid1();
+    method @Nullable public String getGid2();
+    method @Nullable public String getImsi();
+    method public String getMcc();
+    method public String getMnc();
+    method public int getSpecificCarrierId();
+    method @Nullable public String getSpn();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.carrier.CarrierIdentifier> CREATOR;
+  }
+
+  public class CarrierMessagingClientService extends android.app.Service {
+    ctor public CarrierMessagingClientService();
+    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
+  }
+
+  public abstract class CarrierMessagingService extends android.app.Service {
+    ctor public CarrierMessagingService();
+    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public void onDownloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>);
+    method @Deprecated public void onFilterSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Boolean>);
+    method public void onReceiveTextSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<java.lang.Integer>);
+    method @Deprecated public void onSendDataSms(@NonNull byte[], int, @NonNull String, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>);
+    method public void onSendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>);
+    method public void onSendMms(@NonNull android.net.Uri, int, @Nullable android.net.Uri, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMmsResult>);
+    method @Deprecated public void onSendMultipartTextSms(@NonNull java.util.List<java.lang.String>, int, @NonNull String, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>);
+    method public void onSendMultipartTextSms(@NonNull java.util.List<java.lang.String>, int, @NonNull String, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendMultipartSmsResult>);
+    method @Deprecated public void onSendTextSms(@NonNull String, int, @NonNull String, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>);
+    method public void onSendTextSms(@NonNull String, int, @NonNull String, int, @NonNull android.service.carrier.CarrierMessagingService.ResultCallback<android.service.carrier.CarrierMessagingService.SendSmsResult>);
+    field public static final int DOWNLOAD_STATUS_ERROR = 2; // 0x2
+    field public static final int DOWNLOAD_STATUS_OK = 0; // 0x0
+    field public static final int DOWNLOAD_STATUS_RETRY_ON_CARRIER_NETWORK = 1; // 0x1
+    field public static final int RECEIVE_OPTIONS_DEFAULT = 0; // 0x0
+    field public static final int RECEIVE_OPTIONS_DROP = 1; // 0x1
+    field public static final int RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE = 2; // 0x2
+    field public static final int SEND_FLAG_REQUEST_DELIVERY_STATUS = 1; // 0x1
+    field public static final int SEND_STATUS_ERROR = 2; // 0x2
+    field public static final int SEND_STATUS_OK = 0; // 0x0
+    field public static final int SEND_STATUS_RETRY_ON_CARRIER_NETWORK = 1; // 0x1
+    field public static final String SERVICE_INTERFACE = "android.service.carrier.CarrierMessagingService";
+  }
+
+  public static interface CarrierMessagingService.ResultCallback<T> {
+    method public void onReceiveResult(@NonNull T) throws android.os.RemoteException;
+  }
+
+  public static final class CarrierMessagingService.SendMmsResult {
+    ctor public CarrierMessagingService.SendMmsResult(int, @Nullable byte[]);
+    method @Nullable public byte[] getSendConfPdu();
+    method public int getSendStatus();
+  }
+
+  public static final class CarrierMessagingService.SendMultipartSmsResult {
+    ctor public CarrierMessagingService.SendMultipartSmsResult(int, @Nullable int[]);
+    method @Nullable public int[] getMessageRefs();
+    method public int getSendStatus();
+  }
+
+  public static final class CarrierMessagingService.SendSmsResult {
+    ctor public CarrierMessagingService.SendSmsResult(int, int);
+    method public int getMessageRef();
+    method public int getSendStatus();
+  }
+
+  public abstract class CarrierService extends android.app.Service {
+    ctor public CarrierService();
+    method public final void notifyCarrierNetworkChange(boolean);
+    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
+    method public abstract android.os.PersistableBundle onLoadConfig(android.service.carrier.CarrierIdentifier);
+    field public static final String CARRIER_SERVICE_INTERFACE = "android.service.carrier.CarrierService";
+  }
+
+  public final class MessagePdu implements android.os.Parcelable {
+    ctor public MessagePdu(@NonNull java.util.List<byte[]>);
+    method public int describeContents();
+    method @NonNull public java.util.List<byte[]> getPdus();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.carrier.MessagePdu> CREATOR;
+  }
+
+}
+
+package android.service.chooser {
+
+  @Deprecated public final class ChooserTarget implements android.os.Parcelable {
+    ctor @Deprecated public ChooserTarget(CharSequence, android.graphics.drawable.Icon, float, android.content.ComponentName, @Nullable android.os.Bundle);
+    method @Deprecated public int describeContents();
+    method @Deprecated public android.content.ComponentName getComponentName();
+    method @Deprecated public android.graphics.drawable.Icon getIcon();
+    method @Deprecated public android.os.Bundle getIntentExtras();
+    method @Deprecated public float getScore();
+    method @Deprecated public CharSequence getTitle();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.service.chooser.ChooserTarget> CREATOR;
+  }
+
+  @Deprecated public abstract class ChooserTargetService extends android.app.Service {
+    ctor @Deprecated public ChooserTargetService();
+    method @Deprecated public android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated public abstract java.util.List<android.service.chooser.ChooserTarget> onGetChooserTargets(android.content.ComponentName, android.content.IntentFilter);
+    field @Deprecated public static final String BIND_PERMISSION = "android.permission.BIND_CHOOSER_TARGET_SERVICE";
+    field @Deprecated public static final String META_DATA_NAME = "android.service.chooser.chooser_target_service";
+    field @Deprecated public static final String SERVICE_INTERFACE = "android.service.chooser.ChooserTargetService";
+  }
+
+}
+
+package android.service.controls {
+
+  public final class Control implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.app.PendingIntent getAppIntent();
+    method @NonNull public String getControlId();
+    method @NonNull public android.service.controls.templates.ControlTemplate getControlTemplate();
+    method @Nullable public android.content.res.ColorStateList getCustomColor();
+    method @Nullable public android.graphics.drawable.Icon getCustomIcon();
+    method public int getDeviceType();
+    method public int getStatus();
+    method @NonNull public CharSequence getStatusText();
+    method @Nullable public CharSequence getStructure();
+    method @NonNull public CharSequence getSubtitle();
+    method @NonNull public CharSequence getTitle();
+    method @Nullable public CharSequence getZone();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.controls.Control> CREATOR;
+    field public static final int STATUS_DISABLED = 4; // 0x4
+    field public static final int STATUS_ERROR = 3; // 0x3
+    field public static final int STATUS_NOT_FOUND = 2; // 0x2
+    field public static final int STATUS_OK = 1; // 0x1
+    field public static final int STATUS_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class Control.StatefulBuilder {
+    ctor public Control.StatefulBuilder(@NonNull String, @NonNull android.app.PendingIntent);
+    ctor public Control.StatefulBuilder(@NonNull android.service.controls.Control);
+    method @NonNull public android.service.controls.Control build();
+    method @NonNull public android.service.controls.Control.StatefulBuilder setAppIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setControlId(@NonNull String);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setControlTemplate(@NonNull android.service.controls.templates.ControlTemplate);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setCustomColor(@Nullable android.content.res.ColorStateList);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setCustomIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setDeviceType(int);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setStatus(int);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setStatusText(@NonNull CharSequence);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setStructure(@Nullable CharSequence);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setSubtitle(@NonNull CharSequence);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setTitle(@NonNull CharSequence);
+    method @NonNull public android.service.controls.Control.StatefulBuilder setZone(@Nullable CharSequence);
+  }
+
+  public static final class Control.StatelessBuilder {
+    ctor public Control.StatelessBuilder(@NonNull String, @NonNull android.app.PendingIntent);
+    ctor public Control.StatelessBuilder(@NonNull android.service.controls.Control);
+    method @NonNull public android.service.controls.Control build();
+    method @NonNull public android.service.controls.Control.StatelessBuilder setAppIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setControlId(@NonNull String);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setCustomColor(@Nullable android.content.res.ColorStateList);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setCustomIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setDeviceType(int);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setStructure(@Nullable CharSequence);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setSubtitle(@NonNull CharSequence);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setTitle(@NonNull CharSequence);
+    method @NonNull public android.service.controls.Control.StatelessBuilder setZone(@Nullable CharSequence);
+  }
+
+  public abstract class ControlsProviderService extends android.app.Service {
+    ctor public ControlsProviderService();
+    method @NonNull public abstract java.util.concurrent.Flow.Publisher<android.service.controls.Control> createPublisherFor(@NonNull java.util.List<java.lang.String>);
+    method @NonNull public abstract java.util.concurrent.Flow.Publisher<android.service.controls.Control> createPublisherForAllAvailable();
+    method @Nullable public java.util.concurrent.Flow.Publisher<android.service.controls.Control> createPublisherForSuggested();
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public final boolean onUnbind(@NonNull android.content.Intent);
+    method public abstract void performControlAction(@NonNull String, @NonNull android.service.controls.actions.ControlAction, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method public static void requestAddControl(@NonNull android.content.Context, @NonNull android.content.ComponentName, @NonNull android.service.controls.Control);
+    field public static final String SERVICE_CONTROLS = "android.service.controls.ControlsProviderService";
+    field @NonNull public static final String TAG = "ControlsProviderService";
+  }
+
+  public class DeviceTypes {
+    method public static boolean validDeviceType(int);
+    field public static final int TYPE_AC_HEATER = 1; // 0x1
+    field public static final int TYPE_AC_UNIT = 2; // 0x2
+    field public static final int TYPE_AIR_FRESHENER = 3; // 0x3
+    field public static final int TYPE_AIR_PURIFIER = 4; // 0x4
+    field public static final int TYPE_AWNING = 33; // 0x21
+    field public static final int TYPE_BLINDS = 34; // 0x22
+    field public static final int TYPE_CAMERA = 50; // 0x32
+    field public static final int TYPE_CLOSET = 35; // 0x23
+    field public static final int TYPE_COFFEE_MAKER = 5; // 0x5
+    field public static final int TYPE_CURTAIN = 36; // 0x24
+    field public static final int TYPE_DEHUMIDIFIER = 6; // 0x6
+    field public static final int TYPE_DISHWASHER = 24; // 0x18
+    field public static final int TYPE_DISPLAY = 7; // 0x7
+    field public static final int TYPE_DOOR = 37; // 0x25
+    field public static final int TYPE_DOORBELL = 51; // 0x33
+    field public static final int TYPE_DRAWER = 38; // 0x26
+    field public static final int TYPE_DRYER = 25; // 0x19
+    field public static final int TYPE_FAN = 8; // 0x8
+    field public static final int TYPE_GARAGE = 39; // 0x27
+    field public static final int TYPE_GATE = 40; // 0x28
+    field public static final int TYPE_GENERIC_ARM_DISARM = -5; // 0xfffffffb
+    field public static final int TYPE_GENERIC_LOCK_UNLOCK = -4; // 0xfffffffc
+    field public static final int TYPE_GENERIC_ON_OFF = -1; // 0xffffffff
+    field public static final int TYPE_GENERIC_OPEN_CLOSE = -3; // 0xfffffffd
+    field public static final int TYPE_GENERIC_START_STOP = -2; // 0xfffffffe
+    field public static final int TYPE_GENERIC_TEMP_SETTING = -6; // 0xfffffffa
+    field public static final int TYPE_GENERIC_VIEWSTREAM = -7; // 0xfffffff9
+    field public static final int TYPE_HEATER = 47; // 0x2f
+    field public static final int TYPE_HOOD = 10; // 0xa
+    field public static final int TYPE_HUMIDIFIER = 11; // 0xb
+    field public static final int TYPE_KETTLE = 12; // 0xc
+    field public static final int TYPE_LIGHT = 13; // 0xd
+    field public static final int TYPE_LOCK = 45; // 0x2d
+    field public static final int TYPE_MICROWAVE = 14; // 0xe
+    field public static final int TYPE_MOP = 26; // 0x1a
+    field public static final int TYPE_MOWER = 27; // 0x1b
+    field public static final int TYPE_MULTICOOKER = 28; // 0x1c
+    field public static final int TYPE_OUTLET = 15; // 0xf
+    field public static final int TYPE_PERGOLA = 41; // 0x29
+    field public static final int TYPE_RADIATOR = 16; // 0x10
+    field public static final int TYPE_REFRIGERATOR = 48; // 0x30
+    field public static final int TYPE_REMOTE_CONTROL = 17; // 0x11
+    field public static final int TYPE_ROUTINE = 52; // 0x34
+    field public static final int TYPE_SECURITY_SYSTEM = 46; // 0x2e
+    field public static final int TYPE_SET_TOP = 18; // 0x12
+    field public static final int TYPE_SHOWER = 29; // 0x1d
+    field public static final int TYPE_SHUTTER = 42; // 0x2a
+    field public static final int TYPE_SPRINKLER = 30; // 0x1e
+    field public static final int TYPE_STANDMIXER = 19; // 0x13
+    field public static final int TYPE_STYLER = 20; // 0x14
+    field public static final int TYPE_SWITCH = 21; // 0x15
+    field public static final int TYPE_THERMOSTAT = 49; // 0x31
+    field public static final int TYPE_TV = 22; // 0x16
+    field public static final int TYPE_UNKNOWN = 0; // 0x0
+    field public static final int TYPE_VACUUM = 32; // 0x20
+    field public static final int TYPE_VALVE = 44; // 0x2c
+    field public static final int TYPE_WASHER = 31; // 0x1f
+    field public static final int TYPE_WATER_HEATER = 23; // 0x17
+    field public static final int TYPE_WINDOW = 43; // 0x2b
+  }
+
+}
+
+package android.service.controls.actions {
+
+  public final class BooleanAction extends android.service.controls.actions.ControlAction {
+    ctor public BooleanAction(@NonNull String, boolean);
+    ctor public BooleanAction(@NonNull String, boolean, @Nullable String);
+    method public int getActionType();
+    method public boolean getNewState();
+  }
+
+  public final class CommandAction extends android.service.controls.actions.ControlAction {
+    ctor public CommandAction(@NonNull String, @Nullable String);
+    ctor public CommandAction(@NonNull String);
+    method public int getActionType();
+  }
+
+  public abstract class ControlAction {
+    method public abstract int getActionType();
+    method @Nullable public String getChallengeValue();
+    method @NonNull public static android.service.controls.actions.ControlAction getErrorAction();
+    method @NonNull public String getTemplateId();
+    method public static final boolean isValidResponse(int);
+    field public static final int RESPONSE_CHALLENGE_ACK = 3; // 0x3
+    field public static final int RESPONSE_CHALLENGE_PASSPHRASE = 5; // 0x5
+    field public static final int RESPONSE_CHALLENGE_PIN = 4; // 0x4
+    field public static final int RESPONSE_FAIL = 2; // 0x2
+    field public static final int RESPONSE_OK = 1; // 0x1
+    field public static final int RESPONSE_UNKNOWN = 0; // 0x0
+    field public static final int TYPE_BOOLEAN = 1; // 0x1
+    field public static final int TYPE_COMMAND = 5; // 0x5
+    field public static final int TYPE_ERROR = -1; // 0xffffffff
+    field public static final int TYPE_FLOAT = 2; // 0x2
+    field public static final int TYPE_MODE = 4; // 0x4
+  }
+
+  public final class FloatAction extends android.service.controls.actions.ControlAction {
+    ctor public FloatAction(@NonNull String, float);
+    ctor public FloatAction(@NonNull String, float, @Nullable String);
+    method public int getActionType();
+    method public float getNewValue();
+  }
+
+  public final class ModeAction extends android.service.controls.actions.ControlAction {
+    ctor public ModeAction(@NonNull String, int, @Nullable String);
+    ctor public ModeAction(@NonNull String, int);
+    method public int getActionType();
+    method public int getNewMode();
+  }
+
+}
+
+package android.service.controls.templates {
+
+  public final class ControlButton implements android.os.Parcelable {
+    ctor public ControlButton(boolean, @NonNull CharSequence);
+    method public int describeContents();
+    method @NonNull public CharSequence getActionDescription();
+    method public boolean isChecked();
+    method @NonNull public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.controls.templates.ControlButton> CREATOR;
+  }
+
+  public abstract class ControlTemplate {
+    method @NonNull public static android.service.controls.templates.ControlTemplate getErrorTemplate();
+    method @NonNull public static android.service.controls.templates.ControlTemplate getNoTemplateObject();
+    method @NonNull public String getTemplateId();
+    method public abstract int getTemplateType();
+    field public static final int TYPE_ERROR = -1; // 0xffffffff
+    field public static final int TYPE_NO_TEMPLATE = 0; // 0x0
+    field public static final int TYPE_RANGE = 2; // 0x2
+    field public static final int TYPE_STATELESS = 8; // 0x8
+    field public static final int TYPE_TEMPERATURE = 7; // 0x7
+    field public static final int TYPE_THUMBNAIL = 3; // 0x3
+    field public static final int TYPE_TOGGLE = 1; // 0x1
+    field public static final int TYPE_TOGGLE_RANGE = 6; // 0x6
+  }
+
+  public final class RangeTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public RangeTemplate(@NonNull String, float, float, float, float, @Nullable CharSequence);
+    method public float getCurrentValue();
+    method @NonNull public CharSequence getFormatString();
+    method public float getMaxValue();
+    method public float getMinValue();
+    method public float getStepValue();
+    method public int getTemplateType();
+  }
+
+  public final class StatelessTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public StatelessTemplate(@NonNull String);
+    method public int getTemplateType();
+  }
+
+  public final class TemperatureControlTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public TemperatureControlTemplate(@NonNull String, @NonNull android.service.controls.templates.ControlTemplate, int, int, int);
+    method public int getCurrentActiveMode();
+    method public int getCurrentMode();
+    method public int getModes();
+    method @NonNull public android.service.controls.templates.ControlTemplate getTemplate();
+    method public int getTemplateType();
+    field public static final int FLAG_MODE_COOL = 8; // 0x8
+    field public static final int FLAG_MODE_ECO = 32; // 0x20
+    field public static final int FLAG_MODE_HEAT = 4; // 0x4
+    field public static final int FLAG_MODE_HEAT_COOL = 16; // 0x10
+    field public static final int FLAG_MODE_OFF = 2; // 0x2
+    field public static final int MODE_COOL = 3; // 0x3
+    field public static final int MODE_ECO = 5; // 0x5
+    field public static final int MODE_HEAT = 2; // 0x2
+    field public static final int MODE_HEAT_COOL = 4; // 0x4
+    field public static final int MODE_OFF = 1; // 0x1
+    field public static final int MODE_UNKNOWN = 0; // 0x0
+  }
+
+  public final class ThumbnailTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public ThumbnailTemplate(@NonNull String, boolean, @NonNull android.graphics.drawable.Icon, @NonNull CharSequence);
+    method @NonNull public CharSequence getContentDescription();
+    method public int getTemplateType();
+    method @NonNull public android.graphics.drawable.Icon getThumbnail();
+    method public boolean isActive();
+  }
+
+  public final class ToggleRangeTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public ToggleRangeTemplate(@NonNull String, @NonNull android.service.controls.templates.ControlButton, @NonNull android.service.controls.templates.RangeTemplate);
+    ctor public ToggleRangeTemplate(@NonNull String, boolean, @NonNull CharSequence, @NonNull android.service.controls.templates.RangeTemplate);
+    method @NonNull public CharSequence getActionDescription();
+    method @NonNull public android.service.controls.templates.RangeTemplate getRange();
+    method public int getTemplateType();
+    method public boolean isChecked();
+  }
+
+  public final class ToggleTemplate extends android.service.controls.templates.ControlTemplate {
+    ctor public ToggleTemplate(@NonNull String, @NonNull android.service.controls.templates.ControlButton);
+    method @NonNull public CharSequence getContentDescription();
+    method public int getTemplateType();
+    method public boolean isChecked();
+  }
+
+}
+
+package android.service.dreams {
+
+  public class DreamService extends android.app.Service implements android.view.Window.Callback {
+    ctor public DreamService();
+    method public void addContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+    method public boolean dispatchKeyEvent(android.view.KeyEvent);
+    method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+    method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public boolean dispatchTouchEvent(android.view.MotionEvent);
+    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+    method public <T extends android.view.View> T findViewById(@IdRes int);
+    method public final void finish();
+    method public android.view.Window getWindow();
+    method public android.view.WindowManager getWindowManager();
+    method public boolean isFullscreen();
+    method public boolean isInteractive();
+    method public boolean isScreenBright();
+    method public void onActionModeFinished(android.view.ActionMode);
+    method public void onActionModeStarted(android.view.ActionMode);
+    method public void onAttachedToWindow();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public void onContentChanged();
+    method public boolean onCreatePanelMenu(int, android.view.Menu);
+    method public android.view.View onCreatePanelView(int);
+    method public void onDetachedFromWindow();
+    method public void onDreamingStarted();
+    method public void onDreamingStopped();
+    method public boolean onMenuItemSelected(int, android.view.MenuItem);
+    method public boolean onMenuOpened(int, android.view.Menu);
+    method public void onPanelClosed(int, android.view.Menu);
+    method public boolean onPreparePanel(int, android.view.View, android.view.Menu);
+    method public boolean onSearchRequested(android.view.SearchEvent);
+    method public boolean onSearchRequested();
+    method public void onWakeUp();
+    method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+    method public void onWindowFocusChanged(boolean);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
+    method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
+    method public void setContentView(@LayoutRes int);
+    method public void setContentView(android.view.View);
+    method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public void setFullscreen(boolean);
+    method public void setInteractive(boolean);
+    method public void setScreenBright(boolean);
+    method public final void wakeUp();
+    field public static final String DREAM_META_DATA = "android.service.dream";
+    field public static final String SERVICE_INTERFACE = "android.service.dreams.DreamService";
+  }
+
+}
+
+package android.service.media {
+
+  public abstract class CameraPrewarmService extends android.app.Service {
+    ctor public CameraPrewarmService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract void onCooldown(boolean);
+    method public abstract void onPrewarm();
+  }
+
+  public abstract class MediaBrowserService extends android.app.Service {
+    ctor public MediaBrowserService();
+    method public void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method public final android.os.Bundle getBrowserRootHints();
+    method public final android.media.session.MediaSessionManager.RemoteUserInfo getCurrentBrowserInfo();
+    method @Nullable public android.media.session.MediaSession.Token getSessionToken();
+    method public void notifyChildrenChanged(@NonNull String);
+    method public void notifyChildrenChanged(@NonNull String, @NonNull android.os.Bundle);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public abstract android.service.media.MediaBrowserService.BrowserRoot onGetRoot(@NonNull String, int, @Nullable android.os.Bundle);
+    method public abstract void onLoadChildren(@NonNull String, @NonNull android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>);
+    method public void onLoadChildren(@NonNull String, @NonNull android.service.media.MediaBrowserService.Result<java.util.List<android.media.browse.MediaBrowser.MediaItem>>, @NonNull android.os.Bundle);
+    method public void onLoadItem(String, android.service.media.MediaBrowserService.Result<android.media.browse.MediaBrowser.MediaItem>);
+    method public void setSessionToken(android.media.session.MediaSession.Token);
+    field public static final String SERVICE_INTERFACE = "android.media.browse.MediaBrowserService";
+  }
+
+  public static final class MediaBrowserService.BrowserRoot {
+    ctor public MediaBrowserService.BrowserRoot(@NonNull String, @Nullable android.os.Bundle);
+    method public android.os.Bundle getExtras();
+    method public String getRootId();
+    field public static final String EXTRA_OFFLINE = "android.service.media.extra.OFFLINE";
+    field public static final String EXTRA_RECENT = "android.service.media.extra.RECENT";
+    field public static final String EXTRA_SUGGESTED = "android.service.media.extra.SUGGESTED";
+  }
+
+  public class MediaBrowserService.Result<T> {
+    method public void detach();
+    method public void sendResult(T);
+  }
+
+}
+
+package android.service.notification {
+
+  public final class Condition implements android.os.Parcelable {
+    ctor public Condition(android.net.Uri, String, int);
+    ctor public Condition(android.net.Uri, String, String, String, int, int, int);
+    ctor public Condition(android.os.Parcel);
+    method public android.service.notification.Condition copy();
+    method public int describeContents();
+    method public static boolean isValidId(android.net.Uri, String);
+    method public static android.net.Uri.Builder newId(android.content.Context);
+    method public static String relevanceToString(int);
+    method public static String stateToString(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Condition> CREATOR;
+    field public static final int FLAG_RELEVANT_ALWAYS = 2; // 0x2
+    field public static final int FLAG_RELEVANT_NOW = 1; // 0x1
+    field public static final String SCHEME = "condition";
+    field public static final int STATE_ERROR = 3; // 0x3
+    field public static final int STATE_FALSE = 0; // 0x0
+    field public static final int STATE_TRUE = 1; // 0x1
+    field public static final int STATE_UNKNOWN = 2; // 0x2
+    field public final int flags;
+    field public final int icon;
+    field public final android.net.Uri id;
+    field public final String line1;
+    field public final String line2;
+    field public final int state;
+    field public final String summary;
+  }
+
+  @Deprecated public abstract class ConditionProviderService extends android.app.Service {
+    ctor @Deprecated public ConditionProviderService();
+    method @Deprecated public final void notifyCondition(android.service.notification.Condition);
+    method @Deprecated public final void notifyConditions(android.service.notification.Condition...);
+    method @Deprecated public android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated public abstract void onConnected();
+    method @Deprecated public void onRequestConditions(int);
+    method @Deprecated public abstract void onSubscribe(android.net.Uri);
+    method @Deprecated public abstract void onUnsubscribe(android.net.Uri);
+    method @Deprecated public static final void requestRebind(android.content.ComponentName);
+    method @Deprecated public final void requestUnbind();
+    field @Deprecated public static final String EXTRA_RULE_ID = "android.service.notification.extra.RULE_ID";
+    field @Deprecated public static final String META_DATA_CONFIGURATION_ACTIVITY = "android.service.zen.automatic.configurationActivity";
+    field @Deprecated public static final String META_DATA_RULE_INSTANCE_LIMIT = "android.service.zen.automatic.ruleInstanceLimit";
+    field @Deprecated public static final String META_DATA_RULE_TYPE = "android.service.zen.automatic.ruleType";
+    field @Deprecated public static final String SERVICE_INTERFACE = "android.service.notification.ConditionProviderService";
+  }
+
+  public abstract class NotificationListenerService extends android.app.Service {
+    ctor public NotificationListenerService();
+    method public final void cancelAllNotifications();
+    method @Deprecated public final void cancelNotification(String, String, int);
+    method public final void cancelNotification(String);
+    method public final void cancelNotifications(String[]);
+    method public final void clearRequestedListenerHints();
+    method public android.service.notification.StatusBarNotification[] getActiveNotifications();
+    method public android.service.notification.StatusBarNotification[] getActiveNotifications(String[]);
+    method public final int getCurrentInterruptionFilter();
+    method public final int getCurrentListenerHints();
+    method public android.service.notification.NotificationListenerService.RankingMap getCurrentRanking();
+    method public final java.util.List<android.app.NotificationChannelGroup> getNotificationChannelGroups(@NonNull String, @NonNull android.os.UserHandle);
+    method public final java.util.List<android.app.NotificationChannel> getNotificationChannels(@NonNull String, @NonNull android.os.UserHandle);
+    method public final android.service.notification.StatusBarNotification[] getSnoozedNotifications();
+    method public final void migrateNotificationFilter(int, @Nullable java.util.List<java.lang.String>);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onInterruptionFilterChanged(int);
+    method public void onListenerConnected();
+    method public void onListenerDisconnected();
+    method public void onListenerHintsChanged(int);
+    method public void onNotificationChannelGroupModified(String, android.os.UserHandle, android.app.NotificationChannelGroup, int);
+    method public void onNotificationChannelModified(String, android.os.UserHandle, android.app.NotificationChannel, int);
+    method public void onNotificationPosted(android.service.notification.StatusBarNotification);
+    method public void onNotificationPosted(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap);
+    method public void onNotificationRankingUpdate(android.service.notification.NotificationListenerService.RankingMap);
+    method public void onNotificationRemoved(android.service.notification.StatusBarNotification);
+    method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap);
+    method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap, int);
+    method public void onSilentStatusBarIconsVisibilityChanged(boolean);
+    method public final void requestInterruptionFilter(int);
+    method public final void requestListenerHints(int);
+    method public static void requestRebind(android.content.ComponentName);
+    method public final void requestUnbind();
+    method public final void setNotificationsShown(String[]);
+    method public final void snoozeNotification(String, long);
+    method public final void updateNotificationChannel(@NonNull String, @NonNull android.os.UserHandle, @NonNull android.app.NotificationChannel);
+    field public static final int FLAG_FILTER_TYPE_ALERTING = 2; // 0x2
+    field public static final int FLAG_FILTER_TYPE_CONVERSATIONS = 1; // 0x1
+    field public static final int FLAG_FILTER_TYPE_ONGOING = 8; // 0x8
+    field public static final int FLAG_FILTER_TYPE_SILENT = 4; // 0x4
+    field public static final int HINT_HOST_DISABLE_CALL_EFFECTS = 4; // 0x4
+    field public static final int HINT_HOST_DISABLE_EFFECTS = 1; // 0x1
+    field public static final int HINT_HOST_DISABLE_NOTIFICATION_EFFECTS = 2; // 0x2
+    field public static final int INTERRUPTION_FILTER_ALARMS = 4; // 0x4
+    field public static final int INTERRUPTION_FILTER_ALL = 1; // 0x1
+    field public static final int INTERRUPTION_FILTER_NONE = 3; // 0x3
+    field public static final int INTERRUPTION_FILTER_PRIORITY = 2; // 0x2
+    field public static final int INTERRUPTION_FILTER_UNKNOWN = 0; // 0x0
+    field public static final String META_DATA_DEFAULT_FILTER_TYPES = "android.service.notification.default_filter_types";
+    field public static final String META_DATA_DISABLED_FILTER_TYPES = "android.service.notification.disabled_filter_types";
+    field public static final int NOTIFICATION_CHANNEL_OR_GROUP_ADDED = 1; // 0x1
+    field public static final int NOTIFICATION_CHANNEL_OR_GROUP_DELETED = 3; // 0x3
+    field public static final int NOTIFICATION_CHANNEL_OR_GROUP_UPDATED = 2; // 0x2
+    field public static final int REASON_APP_CANCEL = 8; // 0x8
+    field public static final int REASON_APP_CANCEL_ALL = 9; // 0x9
+    field public static final int REASON_CANCEL = 2; // 0x2
+    field public static final int REASON_CANCEL_ALL = 3; // 0x3
+    field public static final int REASON_CHANNEL_BANNED = 17; // 0x11
+    field public static final int REASON_CHANNEL_REMOVED = 20; // 0x14
+    field public static final int REASON_CLEAR_DATA = 21; // 0x15
+    field public static final int REASON_CLICK = 1; // 0x1
+    field public static final int REASON_ERROR = 4; // 0x4
+    field public static final int REASON_GROUP_OPTIMIZATION = 13; // 0xd
+    field public static final int REASON_GROUP_SUMMARY_CANCELED = 12; // 0xc
+    field public static final int REASON_LISTENER_CANCEL = 10; // 0xa
+    field public static final int REASON_LISTENER_CANCEL_ALL = 11; // 0xb
+    field public static final int REASON_PACKAGE_BANNED = 7; // 0x7
+    field public static final int REASON_PACKAGE_CHANGED = 5; // 0x5
+    field public static final int REASON_PACKAGE_SUSPENDED = 14; // 0xe
+    field public static final int REASON_PROFILE_TURNED_OFF = 15; // 0xf
+    field public static final int REASON_SNOOZED = 18; // 0x12
+    field public static final int REASON_TIMEOUT = 19; // 0x13
+    field public static final int REASON_UNAUTOBUNDLED = 16; // 0x10
+    field public static final int REASON_USER_STOPPED = 6; // 0x6
+    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationListenerService";
+    field @Deprecated public static final int SUPPRESSED_EFFECT_SCREEN_OFF = 1; // 0x1
+    field @Deprecated public static final int SUPPRESSED_EFFECT_SCREEN_ON = 2; // 0x2
+  }
+
+  public static class NotificationListenerService.Ranking {
+    ctor public NotificationListenerService.Ranking();
+    method public boolean canBubble();
+    method public boolean canShowBadge();
+    method public android.app.NotificationChannel getChannel();
+    method @Nullable public android.content.pm.ShortcutInfo getConversationShortcutInfo();
+    method public int getImportance();
+    method public CharSequence getImportanceExplanation();
+    method public String getKey();
+    method public long getLastAudiblyAlertedMillis();
+    method public int getLockscreenVisibilityOverride();
+    method public String getOverrideGroupKey();
+    method public int getRank();
+    method @NonNull public java.util.List<android.app.Notification.Action> getSmartActions();
+    method @NonNull public java.util.List<java.lang.CharSequence> getSmartReplies();
+    method public int getSuppressedVisualEffects();
+    method public int getUserSentiment();
+    method public boolean isAmbient();
+    method public boolean isConversation();
+    method public boolean isSuspended();
+    method public boolean matchesInterruptionFilter();
+    field public static final int USER_SENTIMENT_NEGATIVE = -1; // 0xffffffff
+    field public static final int USER_SENTIMENT_NEUTRAL = 0; // 0x0
+    field public static final int USER_SENTIMENT_POSITIVE = 1; // 0x1
+    field public static final int VISIBILITY_NO_OVERRIDE = -1000; // 0xfffffc18
+  }
+
+  public static class NotificationListenerService.RankingMap implements android.os.Parcelable {
+    method public int describeContents();
+    method public String[] getOrderedKeys();
+    method public boolean getRanking(String, android.service.notification.NotificationListenerService.Ranking);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationListenerService.RankingMap> CREATOR;
+  }
+
+  public class StatusBarNotification implements android.os.Parcelable {
+    ctor @Deprecated public StatusBarNotification(String, String, int, String, int, int, int, android.app.Notification, android.os.UserHandle, long);
+    ctor public StatusBarNotification(android.os.Parcel);
+    method public android.service.notification.StatusBarNotification clone();
+    method public int describeContents();
+    method public String getGroupKey();
+    method public int getId();
+    method public String getKey();
+    method public android.app.Notification getNotification();
+    method @NonNull public String getOpPkg();
+    method public String getOverrideGroupKey();
+    method public String getPackageName();
+    method public long getPostTime();
+    method public String getTag();
+    method public int getUid();
+    method public android.os.UserHandle getUser();
+    method @Deprecated public int getUserId();
+    method public boolean isAppGroup();
+    method public boolean isClearable();
+    method public boolean isGroup();
+    method public boolean isOngoing();
+    method public void setOverrideGroupKey(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.StatusBarNotification> CREATOR;
+  }
+
+  public final class ZenPolicy implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getPriorityCallSenders();
+    method public int getPriorityCategoryAlarms();
+    method public int getPriorityCategoryCalls();
+    method public int getPriorityCategoryConversations();
+    method public int getPriorityCategoryEvents();
+    method public int getPriorityCategoryMedia();
+    method public int getPriorityCategoryMessages();
+    method public int getPriorityCategoryReminders();
+    method public int getPriorityCategoryRepeatCallers();
+    method public int getPriorityCategorySystem();
+    method public int getPriorityConversationSenders();
+    method public int getPriorityMessageSenders();
+    method public int getVisualEffectAmbient();
+    method public int getVisualEffectBadge();
+    method public int getVisualEffectFullScreenIntent();
+    method public int getVisualEffectLights();
+    method public int getVisualEffectNotificationList();
+    method public int getVisualEffectPeek();
+    method public int getVisualEffectStatusBar();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CONVERSATION_SENDERS_ANYONE = 1; // 0x1
+    field public static final int CONVERSATION_SENDERS_IMPORTANT = 2; // 0x2
+    field public static final int CONVERSATION_SENDERS_NONE = 3; // 0x3
+    field public static final int CONVERSATION_SENDERS_UNSET = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.ZenPolicy> CREATOR;
+    field public static final int PEOPLE_TYPE_ANYONE = 1; // 0x1
+    field public static final int PEOPLE_TYPE_CONTACTS = 2; // 0x2
+    field public static final int PEOPLE_TYPE_NONE = 4; // 0x4
+    field public static final int PEOPLE_TYPE_STARRED = 3; // 0x3
+    field public static final int PEOPLE_TYPE_UNSET = 0; // 0x0
+    field public static final int STATE_ALLOW = 1; // 0x1
+    field public static final int STATE_DISALLOW = 2; // 0x2
+    field public static final int STATE_UNSET = 0; // 0x0
+  }
+
+  public static final class ZenPolicy.Builder {
+    ctor public ZenPolicy.Builder();
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowAlarms(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowAllSounds();
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowCalls(int);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowConversations(int);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowEvents(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowMedia(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowMessages(int);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowReminders(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowRepeatCallers(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowSystem(boolean);
+    method @NonNull public android.service.notification.ZenPolicy build();
+    method @NonNull public android.service.notification.ZenPolicy.Builder disallowAllSounds();
+    method @NonNull public android.service.notification.ZenPolicy.Builder hideAllVisualEffects();
+    method @NonNull public android.service.notification.ZenPolicy.Builder showAllVisualEffects();
+    method @NonNull public android.service.notification.ZenPolicy.Builder showBadges(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showFullScreenIntent(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showInAmbientDisplay(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showInNotificationList(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showLights(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showPeeking(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showStatusBarIcons(boolean);
+  }
+
+}
+
+package android.service.quickaccesswallet {
+
+  public interface GetWalletCardsCallback {
+    method public void onFailure(@NonNull android.service.quickaccesswallet.GetWalletCardsError);
+    method public void onSuccess(@NonNull android.service.quickaccesswallet.GetWalletCardsResponse);
+  }
+
+  public final class GetWalletCardsError implements android.os.Parcelable {
+    ctor public GetWalletCardsError(@Nullable android.graphics.drawable.Icon, @Nullable CharSequence);
+    method public int describeContents();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @Nullable public CharSequence getMessage();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsError> CREATOR;
+  }
+
+  public final class GetWalletCardsRequest implements android.os.Parcelable {
+    ctor public GetWalletCardsRequest(int, int, int, int);
+    method public int describeContents();
+    method public int getCardHeightPx();
+    method public int getCardWidthPx();
+    method public int getIconSizePx();
+    method public int getMaxCards();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsRequest> CREATOR;
+  }
+
+  public final class GetWalletCardsResponse implements android.os.Parcelable {
+    ctor public GetWalletCardsResponse(@NonNull java.util.List<android.service.quickaccesswallet.WalletCard>, int);
+    method public int describeContents();
+    method public int getSelectedIndex();
+    method @NonNull public java.util.List<android.service.quickaccesswallet.WalletCard> getWalletCards();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.GetWalletCardsResponse> CREATOR;
+  }
+
+  public abstract class QuickAccessWalletService extends android.app.Service {
+    ctor public QuickAccessWalletService();
+    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onWalletCardSelected(@NonNull android.service.quickaccesswallet.SelectWalletCardRequest);
+    method public abstract void onWalletCardsRequested(@NonNull android.service.quickaccesswallet.GetWalletCardsRequest, @NonNull android.service.quickaccesswallet.GetWalletCardsCallback);
+    method public abstract void onWalletDismissed();
+    method public final void sendWalletServiceEvent(@NonNull android.service.quickaccesswallet.WalletServiceEvent);
+    field public static final String ACTION_VIEW_WALLET = "android.service.quickaccesswallet.action.VIEW_WALLET";
+    field public static final String ACTION_VIEW_WALLET_SETTINGS = "android.service.quickaccesswallet.action.VIEW_WALLET_SETTINGS";
+    field public static final String SERVICE_INTERFACE = "android.service.quickaccesswallet.QuickAccessWalletService";
+    field public static final String SERVICE_META_DATA = "android.quickaccesswallet";
+  }
+
+  public final class SelectWalletCardRequest implements android.os.Parcelable {
+    ctor public SelectWalletCardRequest(@NonNull String);
+    method public int describeContents();
+    method @NonNull public String getCardId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.SelectWalletCardRequest> CREATOR;
+  }
+
+  public final class WalletCard implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.graphics.drawable.Icon getCardIcon();
+    method @NonNull public String getCardId();
+    method @NonNull public android.graphics.drawable.Icon getCardImage();
+    method @Nullable public CharSequence getCardLabel();
+    method @NonNull public CharSequence getContentDescription();
+    method @NonNull public android.app.PendingIntent getPendingIntent();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.WalletCard> CREATOR;
+  }
+
+  public static final class WalletCard.Builder {
+    ctor public WalletCard.Builder(@NonNull String, @NonNull android.graphics.drawable.Icon, @NonNull CharSequence, @NonNull android.app.PendingIntent);
+    method @NonNull public android.service.quickaccesswallet.WalletCard build();
+    method @NonNull public android.service.quickaccesswallet.WalletCard.Builder setCardIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.service.quickaccesswallet.WalletCard.Builder setCardLabel(@Nullable CharSequence);
+  }
+
+  public final class WalletServiceEvent implements android.os.Parcelable {
+    ctor public WalletServiceEvent(int);
+    method public int describeContents();
+    method public int getEventType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quickaccesswallet.WalletServiceEvent> CREATOR;
+    field public static final int TYPE_NFC_PAYMENT_STARTED = 1; // 0x1
+  }
+
+}
+
+package android.service.quicksettings {
+
+  public final class Tile implements android.os.Parcelable {
+    method public int describeContents();
+    method public CharSequence getContentDescription();
+    method public android.graphics.drawable.Icon getIcon();
+    method public CharSequence getLabel();
+    method public int getState();
+    method @Nullable public CharSequence getStateDescription();
+    method @Nullable public CharSequence getSubtitle();
+    method public void setContentDescription(CharSequence);
+    method public void setIcon(android.graphics.drawable.Icon);
+    method public void setLabel(CharSequence);
+    method public void setState(int);
+    method public void setStateDescription(@Nullable CharSequence);
+    method public void setSubtitle(@Nullable CharSequence);
+    method public void updateTile();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.quicksettings.Tile> CREATOR;
+    field public static final int STATE_ACTIVE = 2; // 0x2
+    field public static final int STATE_INACTIVE = 1; // 0x1
+    field public static final int STATE_UNAVAILABLE = 0; // 0x0
+  }
+
+  public class TileService extends android.app.Service {
+    ctor public TileService();
+    method public final android.service.quicksettings.Tile getQsTile();
+    method public final boolean isLocked();
+    method public final boolean isSecure();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onClick();
+    method public void onStartListening();
+    method public void onStopListening();
+    method public void onTileAdded();
+    method public void onTileRemoved();
+    method public static final void requestListeningState(android.content.Context, android.content.ComponentName);
+    method public final void showDialog(android.app.Dialog);
+    method public final void startActivityAndCollapse(android.content.Intent);
+    method public final void unlockAndRun(Runnable);
+    field public static final String ACTION_QS_TILE = "android.service.quicksettings.action.QS_TILE";
+    field public static final String ACTION_QS_TILE_PREFERENCES = "android.service.quicksettings.action.QS_TILE_PREFERENCES";
+    field public static final String META_DATA_ACTIVE_TILE = "android.service.quicksettings.ACTIVE_TILE";
+    field public static final String META_DATA_TOGGLEABLE_TILE = "android.service.quicksettings.TOGGLEABLE_TILE";
+  }
+
+}
+
+package android.service.restrictions {
+
+  public abstract class RestrictionsReceiver extends android.content.BroadcastReceiver {
+    ctor public RestrictionsReceiver();
+    method public void onReceive(android.content.Context, android.content.Intent);
+    method public abstract void onRequestPermission(android.content.Context, String, String, String, android.os.PersistableBundle);
+  }
+
+}
+
+package android.service.textservice {
+
+  public abstract class SpellCheckerService extends android.app.Service {
+    ctor public SpellCheckerService();
+    method public abstract android.service.textservice.SpellCheckerService.Session createSession();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    field public static final String SERVICE_INTERFACE = "android.service.textservice.SpellCheckerService";
+  }
+
+  public abstract static class SpellCheckerService.Session {
+    ctor public SpellCheckerService.Session();
+    method public android.os.Bundle getBundle();
+    method public String getLocale();
+    method public int getSupportedAttributes();
+    method public void onCancel();
+    method public void onClose();
+    method public abstract void onCreate();
+    method public android.view.textservice.SentenceSuggestionsInfo[] onGetSentenceSuggestionsMultiple(android.view.textservice.TextInfo[], int);
+    method public abstract android.view.textservice.SuggestionsInfo onGetSuggestions(android.view.textservice.TextInfo, int);
+    method public android.view.textservice.SuggestionsInfo[] onGetSuggestionsMultiple(android.view.textservice.TextInfo[], int, boolean);
+  }
+
+}
+
+package android.service.voice {
+
+  public final class VisibleActivityInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.service.voice.VoiceInteractionSession.ActivityId getActivityId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisibleActivityInfo> CREATOR;
+  }
+
+  public class VoiceInteractionService extends android.app.Service {
+    ctor public VoiceInteractionService();
+    method public int getDisabledShowContext();
+    method public static boolean isActiveService(android.content.Context, android.content.ComponentName);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @NonNull public java.util.Set<java.lang.String> onGetSupportedVoiceActions(@NonNull java.util.Set<java.lang.String>);
+    method public void onLaunchVoiceAssistFromKeyguard();
+    method public void onReady();
+    method public void onShutdown();
+    method public void setDisabledShowContext(int);
+    method public final void setUiHints(@NonNull android.os.Bundle);
+    method public void showSession(android.os.Bundle, int);
+    field public static final String SERVICE_INTERFACE = "android.service.voice.VoiceInteractionService";
+    field public static final String SERVICE_META_DATA = "android.voice_interaction";
+  }
+
+  public class VoiceInteractionSession implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback {
+    ctor public VoiceInteractionSession(android.content.Context);
+    ctor public VoiceInteractionSession(android.content.Context, android.os.Handler);
+    method public void closeSystemDialogs();
+    method public void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method public void finish();
+    method public android.content.Context getContext();
+    method public int getDisabledShowContext();
+    method public android.view.LayoutInflater getLayoutInflater();
+    method public int getUserDisabledShowContext();
+    method public android.app.Dialog getWindow();
+    method public void hide();
+    method public void onAssistStructureFailure(Throwable);
+    method public void onBackPressed();
+    method public void onCancelRequest(android.service.voice.VoiceInteractionSession.Request);
+    method public void onCloseSystemDialogs();
+    method public void onComputeInsets(android.service.voice.VoiceInteractionSession.Insets);
+    method public void onConfigurationChanged(android.content.res.Configuration);
+    method public void onCreate();
+    method public android.view.View onCreateContentView();
+    method public void onDestroy();
+    method public void onDirectActionsInvalidated(@NonNull android.service.voice.VoiceInteractionSession.ActivityId);
+    method public boolean[] onGetSupportedCommands(String[]);
+    method @Deprecated public void onHandleAssist(@Nullable android.os.Bundle, @Nullable android.app.assist.AssistStructure, @Nullable android.app.assist.AssistContent);
+    method public void onHandleAssist(@NonNull android.service.voice.VoiceInteractionSession.AssistState);
+    method @Deprecated public void onHandleAssistSecondary(@Nullable android.os.Bundle, @Nullable android.app.assist.AssistStructure, @Nullable android.app.assist.AssistContent, int, int);
+    method public void onHandleScreenshot(@Nullable android.graphics.Bitmap);
+    method public void onHide();
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public void onLockscreenShown();
+    method public void onLowMemory();
+    method public void onPrepareShow(android.os.Bundle, int);
+    method public void onRequestAbortVoice(android.service.voice.VoiceInteractionSession.AbortVoiceRequest);
+    method public void onRequestCommand(android.service.voice.VoiceInteractionSession.CommandRequest);
+    method public void onRequestCompleteVoice(android.service.voice.VoiceInteractionSession.CompleteVoiceRequest);
+    method public void onRequestConfirmation(android.service.voice.VoiceInteractionSession.ConfirmationRequest);
+    method public void onRequestPickOption(android.service.voice.VoiceInteractionSession.PickOptionRequest);
+    method public void onShow(android.os.Bundle, int);
+    method public void onTaskFinished(android.content.Intent, int);
+    method public void onTaskStarted(android.content.Intent, int);
+    method public void onTrimMemory(int);
+    method public final void performDirectAction(@NonNull android.app.DirectAction, @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.Bundle>);
+    method public final void registerVisibleActivityCallback(@NonNull java.util.concurrent.Executor, @NonNull android.service.voice.VoiceInteractionSession.VisibleActivityCallback);
+    method public final void requestDirectActions(@NonNull android.service.voice.VoiceInteractionSession.ActivityId, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.app.DirectAction>>);
+    method public void setContentView(android.view.View);
+    method public void setDisabledShowContext(int);
+    method public void setKeepAwake(boolean);
+    method public void setTheme(int);
+    method public void setUiEnabled(boolean);
+    method public void show(android.os.Bundle, int);
+    method public void startAssistantActivity(android.content.Intent);
+    method public void startVoiceActivity(android.content.Intent);
+    method public final void unregisterVisibleActivityCallback(@NonNull android.service.voice.VoiceInteractionSession.VisibleActivityCallback);
+    field public static final int SHOW_SOURCE_ACTIVITY = 16; // 0x10
+    field public static final int SHOW_SOURCE_APPLICATION = 8; // 0x8
+    field public static final int SHOW_SOURCE_ASSIST_GESTURE = 4; // 0x4
+    field public static final int SHOW_SOURCE_AUTOMOTIVE_SYSTEM_UI = 128; // 0x80
+    field public static final int SHOW_SOURCE_NOTIFICATION = 64; // 0x40
+    field public static final int SHOW_SOURCE_PUSH_TO_TALK = 32; // 0x20
+    field public static final int SHOW_WITH_ASSIST = 1; // 0x1
+    field public static final int SHOW_WITH_SCREENSHOT = 2; // 0x2
+  }
+
+  public static final class VoiceInteractionSession.AbortVoiceRequest extends android.service.voice.VoiceInteractionSession.Request {
+    method @Deprecated @Nullable public CharSequence getMessage();
+    method @Nullable public android.app.VoiceInteractor.Prompt getVoicePrompt();
+    method public void sendAbortResult(android.os.Bundle);
+  }
+
+  public static class VoiceInteractionSession.ActivityId {
+  }
+
+  public static final class VoiceInteractionSession.AssistState {
+    method @NonNull public android.service.voice.VoiceInteractionSession.ActivityId getActivityId();
+    method @Nullable public android.app.assist.AssistContent getAssistContent();
+    method @Nullable public android.os.Bundle getAssistData();
+    method @Nullable public android.app.assist.AssistStructure getAssistStructure();
+    method @IntRange(from=0) public int getCount();
+    method @IntRange(from=0xffffffff) public int getIndex();
+    method public boolean isFocused();
+  }
+
+  public static final class VoiceInteractionSession.CommandRequest extends android.service.voice.VoiceInteractionSession.Request {
+    method public String getCommand();
+    method public void sendIntermediateResult(android.os.Bundle);
+    method public void sendResult(android.os.Bundle);
+  }
+
+  public static final class VoiceInteractionSession.CompleteVoiceRequest extends android.service.voice.VoiceInteractionSession.Request {
+    method @Deprecated @Nullable public CharSequence getMessage();
+    method @Nullable public android.app.VoiceInteractor.Prompt getVoicePrompt();
+    method public void sendCompleteResult(android.os.Bundle);
+  }
+
+  public static final class VoiceInteractionSession.ConfirmationRequest extends android.service.voice.VoiceInteractionSession.Request {
+    method @Deprecated @Nullable public CharSequence getPrompt();
+    method @Nullable public android.app.VoiceInteractor.Prompt getVoicePrompt();
+    method public void sendConfirmationResult(boolean, android.os.Bundle);
+  }
+
+  public static final class VoiceInteractionSession.Insets {
+    ctor public VoiceInteractionSession.Insets();
+    field public static final int TOUCHABLE_INSETS_CONTENT = 1; // 0x1
+    field public static final int TOUCHABLE_INSETS_FRAME = 0; // 0x0
+    field public static final int TOUCHABLE_INSETS_REGION = 3; // 0x3
+    field public final android.graphics.Rect contentInsets;
+    field public int touchableInsets;
+    field public final android.graphics.Region touchableRegion;
+  }
+
+  public static final class VoiceInteractionSession.PickOptionRequest extends android.service.voice.VoiceInteractionSession.Request {
+    method public android.app.VoiceInteractor.PickOptionRequest.Option[] getOptions();
+    method @Deprecated @Nullable public CharSequence getPrompt();
+    method @Nullable public android.app.VoiceInteractor.Prompt getVoicePrompt();
+    method public void sendIntermediatePickOptionResult(android.app.VoiceInteractor.PickOptionRequest.Option[], android.os.Bundle);
+    method public void sendPickOptionResult(android.app.VoiceInteractor.PickOptionRequest.Option[], android.os.Bundle);
+  }
+
+  public static class VoiceInteractionSession.Request {
+    method public void cancel();
+    method public String getCallingPackage();
+    method public int getCallingUid();
+    method public android.os.Bundle getExtras();
+    method public boolean isActive();
+  }
+
+  public static interface VoiceInteractionSession.VisibleActivityCallback {
+    method public default void onInvisible(@NonNull android.service.voice.VoiceInteractionSession.ActivityId);
+    method public default void onVisible(@NonNull android.service.voice.VisibleActivityInfo);
+  }
+
+  public abstract class VoiceInteractionSessionService extends android.app.Service {
+    ctor public VoiceInteractionSessionService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract android.service.voice.VoiceInteractionSession onNewSession(android.os.Bundle);
+  }
+
+}
+
+package android.service.vr {
+
+  public abstract class VrListenerService extends android.app.Service {
+    ctor public VrListenerService();
+    method public static final boolean isVrModePackageEnabled(@NonNull android.content.Context, @NonNull android.content.ComponentName);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onCurrentVrActivityChanged(android.content.ComponentName);
+    field public static final String SERVICE_INTERFACE = "android.service.vr.VrListenerService";
+  }
+
+}
+
+package android.service.wallpaper {
+
+  public abstract class WallpaperService extends android.app.Service {
+    ctor public WallpaperService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract android.service.wallpaper.WallpaperService.Engine onCreateEngine();
+    field public static final String SERVICE_INTERFACE = "android.service.wallpaper.WallpaperService";
+    field public static final String SERVICE_META_DATA = "android.service.wallpaper";
+  }
+
+  public class WallpaperService.Engine {
+    ctor public WallpaperService.Engine();
+    method protected void dump(String, java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method public int getDesiredMinimumHeight();
+    method public int getDesiredMinimumWidth();
+    method @Nullable public android.content.Context getDisplayContext();
+    method public android.view.SurfaceHolder getSurfaceHolder();
+    method public boolean isPreview();
+    method public boolean isVisible();
+    method public void notifyColorsChanged();
+    method public void onApplyWindowInsets(android.view.WindowInsets);
+    method public android.os.Bundle onCommand(String, int, int, int, android.os.Bundle, boolean);
+    method @Nullable public android.app.WallpaperColors onComputeColors();
+    method public void onCreate(android.view.SurfaceHolder);
+    method public void onDesiredSizeChanged(int, int);
+    method public void onDestroy();
+    method public void onOffsetsChanged(float, float, float, float, int, int);
+    method public void onSurfaceChanged(android.view.SurfaceHolder, int, int, int);
+    method public void onSurfaceCreated(android.view.SurfaceHolder);
+    method public void onSurfaceDestroyed(android.view.SurfaceHolder);
+    method public void onSurfaceRedrawNeeded(android.view.SurfaceHolder);
+    method public void onTouchEvent(android.view.MotionEvent);
+    method public void onVisibilityChanged(boolean);
+    method public void onZoomChanged(@FloatRange(from=0.0f, to=1.0f) float);
+    method public void setOffsetNotificationsEnabled(boolean);
+    method public void setTouchEventsEnabled(boolean);
+  }
+
+}
+
+package android.speech {
+
+  public interface RecognitionListener {
+    method public void onBeginningOfSpeech();
+    method public void onBufferReceived(byte[]);
+    method public void onEndOfSpeech();
+    method public void onError(int);
+    method public void onEvent(int, android.os.Bundle);
+    method public void onPartialResults(android.os.Bundle);
+    method public void onReadyForSpeech(android.os.Bundle);
+    method public void onResults(android.os.Bundle);
+    method public void onRmsChanged(float);
+  }
+
+  public abstract class RecognitionService extends android.app.Service {
+    ctor public RecognitionService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method protected abstract void onCancel(android.speech.RecognitionService.Callback);
+    method protected abstract void onStartListening(android.content.Intent, android.speech.RecognitionService.Callback);
+    method protected abstract void onStopListening(android.speech.RecognitionService.Callback);
+    field public static final String SERVICE_INTERFACE = "android.speech.RecognitionService";
+    field public static final String SERVICE_META_DATA = "android.speech";
+  }
+
+  public class RecognitionService.Callback {
+    method public void beginningOfSpeech() throws android.os.RemoteException;
+    method public void bufferReceived(byte[]) throws android.os.RemoteException;
+    method public void endOfSpeech() throws android.os.RemoteException;
+    method public void error(int) throws android.os.RemoteException;
+    method @NonNull public android.content.AttributionSource getCallingAttributionSource();
+    method public int getCallingUid();
+    method public void partialResults(android.os.Bundle) throws android.os.RemoteException;
+    method public void readyForSpeech(android.os.Bundle) throws android.os.RemoteException;
+    method public void results(android.os.Bundle) throws android.os.RemoteException;
+    method public void rmsChanged(float) throws android.os.RemoteException;
+  }
+
+  public class RecognizerIntent {
+    method public static final android.content.Intent getVoiceDetailsIntent(android.content.Context);
+    field public static final String ACTION_GET_LANGUAGE_DETAILS = "android.speech.action.GET_LANGUAGE_DETAILS";
+    field public static final String ACTION_RECOGNIZE_SPEECH = "android.speech.action.RECOGNIZE_SPEECH";
+    field public static final String ACTION_VOICE_SEARCH_HANDS_FREE = "android.speech.action.VOICE_SEARCH_HANDS_FREE";
+    field public static final String ACTION_WEB_SEARCH = "android.speech.action.WEB_SEARCH";
+    field public static final String DETAILS_META_DATA = "android.speech.DETAILS";
+    field public static final String EXTRA_AUDIO_INJECT_SOURCE = "android.speech.extra.AUDIO_INJECT_SOURCE";
+    field public static final String EXTRA_CALLING_PACKAGE = "calling_package";
+    field public static final String EXTRA_CONFIDENCE_SCORES = "android.speech.extra.CONFIDENCE_SCORES";
+    field public static final String EXTRA_LANGUAGE = "android.speech.extra.LANGUAGE";
+    field public static final String EXTRA_LANGUAGE_MODEL = "android.speech.extra.LANGUAGE_MODEL";
+    field public static final String EXTRA_LANGUAGE_PREFERENCE = "android.speech.extra.LANGUAGE_PREFERENCE";
+    field public static final String EXTRA_MAX_RESULTS = "android.speech.extra.MAX_RESULTS";
+    field public static final String EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE = "android.speech.extra.ONLY_RETURN_LANGUAGE_PREFERENCE";
+    field public static final String EXTRA_ORIGIN = "android.speech.extra.ORIGIN";
+    field public static final String EXTRA_PARTIAL_RESULTS = "android.speech.extra.PARTIAL_RESULTS";
+    field public static final String EXTRA_PREFER_OFFLINE = "android.speech.extra.PREFER_OFFLINE";
+    field public static final String EXTRA_PROMPT = "android.speech.extra.PROMPT";
+    field public static final String EXTRA_RESULTS = "android.speech.extra.RESULTS";
+    field public static final String EXTRA_RESULTS_PENDINGINTENT = "android.speech.extra.RESULTS_PENDINGINTENT";
+    field public static final String EXTRA_RESULTS_PENDINGINTENT_BUNDLE = "android.speech.extra.RESULTS_PENDINGINTENT_BUNDLE";
+    field public static final String EXTRA_SECURE = "android.speech.extras.EXTRA_SECURE";
+    field public static final String EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS = "android.speech.extras.SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS";
+    field public static final String EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS = "android.speech.extras.SPEECH_INPUT_MINIMUM_LENGTH_MILLIS";
+    field public static final String EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS = "android.speech.extras.SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS";
+    field public static final String EXTRA_SUPPORTED_LANGUAGES = "android.speech.extra.SUPPORTED_LANGUAGES";
+    field public static final String EXTRA_WEB_SEARCH_ONLY = "android.speech.extra.WEB_SEARCH_ONLY";
+    field public static final String LANGUAGE_MODEL_FREE_FORM = "free_form";
+    field public static final String LANGUAGE_MODEL_WEB_SEARCH = "web_search";
+    field public static final int RESULT_AUDIO_ERROR = 5; // 0x5
+    field public static final int RESULT_CLIENT_ERROR = 2; // 0x2
+    field public static final int RESULT_NETWORK_ERROR = 4; // 0x4
+    field public static final int RESULT_NO_MATCH = 1; // 0x1
+    field public static final int RESULT_SERVER_ERROR = 3; // 0x3
+  }
+
+  public class RecognizerResultsIntent {
+    field public static final String ACTION_VOICE_SEARCH_RESULTS = "android.speech.action.VOICE_SEARCH_RESULTS";
+    field public static final String EXTRA_VOICE_SEARCH_RESULT_HTML = "android.speech.extras.VOICE_SEARCH_RESULT_HTML";
+    field public static final String EXTRA_VOICE_SEARCH_RESULT_HTML_BASE_URLS = "android.speech.extras.VOICE_SEARCH_RESULT_HTML_BASE_URLS";
+    field public static final String EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS = "android.speech.extras.EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS";
+    field public static final String EXTRA_VOICE_SEARCH_RESULT_STRINGS = "android.speech.extras.VOICE_SEARCH_RESULT_STRINGS";
+    field public static final String EXTRA_VOICE_SEARCH_RESULT_URLS = "android.speech.extras.VOICE_SEARCH_RESULT_URLS";
+    field public static final String URI_SCHEME_INLINE = "inline";
+  }
+
+  public class SpeechRecognizer {
+    method @MainThread public void cancel();
+    method @MainThread @NonNull public static android.speech.SpeechRecognizer createOnDeviceSpeechRecognizer(@NonNull android.content.Context);
+    method @MainThread public static android.speech.SpeechRecognizer createSpeechRecognizer(android.content.Context);
+    method @MainThread public static android.speech.SpeechRecognizer createSpeechRecognizer(android.content.Context, android.content.ComponentName);
+    method public void destroy();
+    method public static boolean isOnDeviceRecognitionAvailable(@NonNull android.content.Context);
+    method public static boolean isRecognitionAvailable(@NonNull android.content.Context);
+    method @MainThread public void setRecognitionListener(android.speech.RecognitionListener);
+    method @MainThread public void startListening(android.content.Intent);
+    method @MainThread public void stopListening();
+    field public static final String CONFIDENCE_SCORES = "confidence_scores";
+    field public static final int ERROR_AUDIO = 3; // 0x3
+    field public static final int ERROR_CLIENT = 5; // 0x5
+    field public static final int ERROR_INSUFFICIENT_PERMISSIONS = 9; // 0x9
+    field public static final int ERROR_LANGUAGE_NOT_SUPPORTED = 12; // 0xc
+    field public static final int ERROR_LANGUAGE_UNAVAILABLE = 13; // 0xd
+    field public static final int ERROR_NETWORK = 2; // 0x2
+    field public static final int ERROR_NETWORK_TIMEOUT = 1; // 0x1
+    field public static final int ERROR_NO_MATCH = 7; // 0x7
+    field public static final int ERROR_RECOGNIZER_BUSY = 8; // 0x8
+    field public static final int ERROR_SERVER = 4; // 0x4
+    field public static final int ERROR_SERVER_DISCONNECTED = 11; // 0xb
+    field public static final int ERROR_SPEECH_TIMEOUT = 6; // 0x6
+    field public static final int ERROR_TOO_MANY_REQUESTS = 10; // 0xa
+    field public static final String RESULTS_RECOGNITION = "results_recognition";
+  }
+
+}
+
+package android.speech.tts {
+
+  public interface SynthesisCallback {
+    method public int audioAvailable(byte[], int, int);
+    method public int done();
+    method public void error();
+    method public void error(int);
+    method public int getMaxBufferSize();
+    method public boolean hasFinished();
+    method public boolean hasStarted();
+    method public default void rangeStart(int, int, int);
+    method public int start(int, int, @IntRange(from=1, to=2) int);
+  }
+
+  public final class SynthesisRequest {
+    ctor public SynthesisRequest(String, android.os.Bundle);
+    ctor public SynthesisRequest(CharSequence, android.os.Bundle);
+    method public int getCallerUid();
+    method public CharSequence getCharSequenceText();
+    method public String getCountry();
+    method public String getLanguage();
+    method public android.os.Bundle getParams();
+    method public int getPitch();
+    method public int getSpeechRate();
+    method @Deprecated public String getText();
+    method public String getVariant();
+    method public String getVoiceName();
+  }
+
+  public class TextToSpeech {
+    ctor public TextToSpeech(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener);
+    ctor public TextToSpeech(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener, String);
+    method public int addEarcon(String, String, @RawRes int);
+    method @Deprecated public int addEarcon(String, String);
+    method public int addEarcon(String, java.io.File);
+    method public int addEarcon(@NonNull String, @NonNull android.net.Uri);
+    method public int addSpeech(String, String, @RawRes int);
+    method public int addSpeech(CharSequence, String, @RawRes int);
+    method public int addSpeech(String, String);
+    method public int addSpeech(CharSequence, java.io.File);
+    method public int addSpeech(@NonNull CharSequence, @NonNull android.net.Uri);
+    method @Deprecated public boolean areDefaultsEnforced();
+    method public java.util.Set<java.util.Locale> getAvailableLanguages();
+    method public String getDefaultEngine();
+    method @Deprecated public java.util.Locale getDefaultLanguage();
+    method public android.speech.tts.Voice getDefaultVoice();
+    method public java.util.List<android.speech.tts.TextToSpeech.EngineInfo> getEngines();
+    method @Deprecated public java.util.Set<java.lang.String> getFeatures(java.util.Locale);
+    method @Deprecated public java.util.Locale getLanguage();
+    method public static int getMaxSpeechInputLength();
+    method public android.speech.tts.Voice getVoice();
+    method public java.util.Set<android.speech.tts.Voice> getVoices();
+    method public int isLanguageAvailable(java.util.Locale);
+    method public boolean isSpeaking();
+    method public int playEarcon(String, int, android.os.Bundle, String);
+    method @Deprecated public int playEarcon(String, int, java.util.HashMap<java.lang.String,java.lang.String>);
+    method @Deprecated public int playSilence(long, int, java.util.HashMap<java.lang.String,java.lang.String>);
+    method public int playSilentUtterance(long, int, String);
+    method public int setAudioAttributes(android.media.AudioAttributes);
+    method @Deprecated public int setEngineByPackageName(String);
+    method public int setLanguage(java.util.Locale);
+    method @Deprecated public int setOnUtteranceCompletedListener(android.speech.tts.TextToSpeech.OnUtteranceCompletedListener);
+    method public int setOnUtteranceProgressListener(android.speech.tts.UtteranceProgressListener);
+    method public int setPitch(float);
+    method public int setSpeechRate(float);
+    method public int setVoice(android.speech.tts.Voice);
+    method public void shutdown();
+    method public int speak(CharSequence, int, android.os.Bundle, String);
+    method @Deprecated public int speak(String, int, java.util.HashMap<java.lang.String,java.lang.String>);
+    method public int stop();
+    method public int synthesizeToFile(@NonNull CharSequence, @NonNull android.os.Bundle, @NonNull android.os.ParcelFileDescriptor, @NonNull String);
+    method public int synthesizeToFile(CharSequence, android.os.Bundle, java.io.File, String);
+    method @Deprecated public int synthesizeToFile(String, java.util.HashMap<java.lang.String,java.lang.String>, String);
+    field public static final String ACTION_TTS_QUEUE_PROCESSING_COMPLETED = "android.speech.tts.TTS_QUEUE_PROCESSING_COMPLETED";
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_INVALID_REQUEST = -8; // 0xfffffff8
+    field public static final int ERROR_NETWORK = -6; // 0xfffffffa
+    field public static final int ERROR_NETWORK_TIMEOUT = -7; // 0xfffffff9
+    field public static final int ERROR_NOT_INSTALLED_YET = -9; // 0xfffffff7
+    field public static final int ERROR_OUTPUT = -5; // 0xfffffffb
+    field public static final int ERROR_SERVICE = -4; // 0xfffffffc
+    field public static final int ERROR_SYNTHESIS = -3; // 0xfffffffd
+    field public static final int LANG_AVAILABLE = 0; // 0x0
+    field public static final int LANG_COUNTRY_AVAILABLE = 1; // 0x1
+    field public static final int LANG_COUNTRY_VAR_AVAILABLE = 2; // 0x2
+    field public static final int LANG_MISSING_DATA = -1; // 0xffffffff
+    field public static final int LANG_NOT_SUPPORTED = -2; // 0xfffffffe
+    field public static final int QUEUE_ADD = 1; // 0x1
+    field public static final int QUEUE_FLUSH = 0; // 0x0
+    field public static final int STOPPED = -2; // 0xfffffffe
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public class TextToSpeech.Engine {
+    ctor public TextToSpeech.Engine();
+    field public static final String ACTION_CHECK_TTS_DATA = "android.speech.tts.engine.CHECK_TTS_DATA";
+    field public static final String ACTION_GET_SAMPLE_TEXT = "android.speech.tts.engine.GET_SAMPLE_TEXT";
+    field public static final String ACTION_INSTALL_TTS_DATA = "android.speech.tts.engine.INSTALL_TTS_DATA";
+    field public static final String ACTION_TTS_DATA_INSTALLED = "android.speech.tts.engine.TTS_DATA_INSTALLED";
+    field @Deprecated public static final int CHECK_VOICE_DATA_BAD_DATA = -1; // 0xffffffff
+    field public static final int CHECK_VOICE_DATA_FAIL = 0; // 0x0
+    field @Deprecated public static final int CHECK_VOICE_DATA_MISSING_DATA = -2; // 0xfffffffe
+    field @Deprecated public static final int CHECK_VOICE_DATA_MISSING_VOLUME = -3; // 0xfffffffd
+    field public static final int CHECK_VOICE_DATA_PASS = 1; // 0x1
+    field public static final int DEFAULT_STREAM = 3; // 0x3
+    field public static final String EXTRA_AVAILABLE_VOICES = "availableVoices";
+    field @Deprecated public static final String EXTRA_CHECK_VOICE_DATA_FOR = "checkVoiceDataFor";
+    field public static final String EXTRA_SAMPLE_TEXT = "sampleText";
+    field @Deprecated public static final String EXTRA_TTS_DATA_INSTALLED = "dataInstalled";
+    field public static final String EXTRA_UNAVAILABLE_VOICES = "unavailableVoices";
+    field @Deprecated public static final String EXTRA_VOICE_DATA_FILES = "dataFiles";
+    field @Deprecated public static final String EXTRA_VOICE_DATA_FILES_INFO = "dataFilesInfo";
+    field @Deprecated public static final String EXTRA_VOICE_DATA_ROOT_DIRECTORY = "dataRoot";
+    field public static final String INTENT_ACTION_TTS_SERVICE = "android.intent.action.TTS_SERVICE";
+    field @Deprecated public static final String KEY_FEATURE_EMBEDDED_SYNTHESIS = "embeddedTts";
+    field public static final String KEY_FEATURE_NETWORK_RETRIES_COUNT = "networkRetriesCount";
+    field @Deprecated public static final String KEY_FEATURE_NETWORK_SYNTHESIS = "networkTts";
+    field public static final String KEY_FEATURE_NETWORK_TIMEOUT_MS = "networkTimeoutMs";
+    field public static final String KEY_FEATURE_NOT_INSTALLED = "notInstalled";
+    field public static final String KEY_PARAM_PAN = "pan";
+    field public static final String KEY_PARAM_SESSION_ID = "sessionId";
+    field public static final String KEY_PARAM_STREAM = "streamType";
+    field public static final String KEY_PARAM_UTTERANCE_ID = "utteranceId";
+    field public static final String KEY_PARAM_VOLUME = "volume";
+    field public static final String SERVICE_META_DATA = "android.speech.tts";
+  }
+
+  public static class TextToSpeech.EngineInfo {
+    ctor public TextToSpeech.EngineInfo();
+    field public int icon;
+    field public String label;
+    field public String name;
+  }
+
+  public static interface TextToSpeech.OnInitListener {
+    method public void onInit(int);
+  }
+
+  @Deprecated public static interface TextToSpeech.OnUtteranceCompletedListener {
+    method @Deprecated public void onUtteranceCompleted(String);
+  }
+
+  public abstract class TextToSpeechService extends android.app.Service {
+    ctor public TextToSpeechService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public String onGetDefaultVoiceNameFor(String, String, String);
+    method protected java.util.Set<java.lang.String> onGetFeaturesForLanguage(String, String, String);
+    method protected abstract String[] onGetLanguage();
+    method public java.util.List<android.speech.tts.Voice> onGetVoices();
+    method protected abstract int onIsLanguageAvailable(String, String, String);
+    method public int onIsValidVoiceName(String);
+    method protected abstract int onLoadLanguage(String, String, String);
+    method public int onLoadVoice(String);
+    method protected abstract void onStop();
+    method protected abstract void onSynthesizeText(android.speech.tts.SynthesisRequest, android.speech.tts.SynthesisCallback);
+  }
+
+  public abstract class UtteranceProgressListener {
+    ctor public UtteranceProgressListener();
+    method public void onAudioAvailable(String, byte[]);
+    method public void onBeginSynthesis(String, int, int, int);
+    method public abstract void onDone(String);
+    method @Deprecated public abstract void onError(String);
+    method public void onError(String, int);
+    method public void onRangeStart(String, int, int, int);
+    method public abstract void onStart(String);
+    method public void onStop(String, boolean);
+  }
+
+  public class Voice implements android.os.Parcelable {
+    ctor public Voice(String, java.util.Locale, int, int, boolean, java.util.Set<java.lang.String>);
+    method public int describeContents();
+    method public java.util.Set<java.lang.String> getFeatures();
+    method public int getLatency();
+    method public java.util.Locale getLocale();
+    method public String getName();
+    method public int getQuality();
+    method public boolean isNetworkConnectionRequired();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.speech.tts.Voice> CREATOR;
+    field public static final int LATENCY_HIGH = 400; // 0x190
+    field public static final int LATENCY_LOW = 200; // 0xc8
+    field public static final int LATENCY_NORMAL = 300; // 0x12c
+    field public static final int LATENCY_VERY_HIGH = 500; // 0x1f4
+    field public static final int LATENCY_VERY_LOW = 100; // 0x64
+    field public static final int QUALITY_HIGH = 400; // 0x190
+    field public static final int QUALITY_LOW = 200; // 0xc8
+    field public static final int QUALITY_NORMAL = 300; // 0x12c
+    field public static final int QUALITY_VERY_HIGH = 500; // 0x1f4
+    field public static final int QUALITY_VERY_LOW = 100; // 0x64
+  }
+
+}
+
+package android.system {
+
+  public final class ErrnoException extends java.lang.Exception {
+    ctor public ErrnoException(String, int);
+    ctor public ErrnoException(String, int, Throwable);
+    method @NonNull public java.io.IOException rethrowAsIOException() throws java.io.IOException;
+    method @NonNull public java.net.SocketException rethrowAsSocketException() throws java.net.SocketException;
+    field public final int errno;
+  }
+
+  public class Int64Ref {
+    ctor public Int64Ref(long);
+    field public long value;
+  }
+
+  public final class Os {
+    method public static java.io.FileDescriptor accept(java.io.FileDescriptor, java.net.InetSocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method public static boolean access(String, int) throws android.system.ErrnoException;
+    method public static void bind(java.io.FileDescriptor, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static void bind(@NonNull java.io.FileDescriptor, @NonNull java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method public static void chmod(String, int) throws android.system.ErrnoException;
+    method public static void chown(String, int, int) throws android.system.ErrnoException;
+    method public static void close(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static void connect(java.io.FileDescriptor, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static void connect(@NonNull java.io.FileDescriptor, @NonNull java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method public static java.io.FileDescriptor dup(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static java.io.FileDescriptor dup2(java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method public static String[] environ();
+    method public static void execv(String, String[]) throws android.system.ErrnoException;
+    method public static void execve(String, String[], String[]) throws android.system.ErrnoException;
+    method public static void fchmod(java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method public static void fchown(java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
+    method public static int fcntlInt(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
+    method public static void fdatasync(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static android.system.StructStat fstat(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static android.system.StructStatVfs fstatvfs(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static void fsync(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static void ftruncate(java.io.FileDescriptor, long) throws android.system.ErrnoException;
+    method public static String gai_strerror(int);
+    method public static int getegid();
+    method public static String getenv(String);
+    method public static int geteuid();
+    method public static int getgid();
+    method public static java.net.SocketAddress getpeername(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static int getpid();
+    method public static int getppid();
+    method public static java.net.SocketAddress getsockname(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method @NonNull public static android.system.StructTimeval getsockoptTimeval(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
+    method public static int gettid();
+    method public static int getuid();
+    method public static byte[] getxattr(String, String) throws android.system.ErrnoException;
+    method public static String if_indextoname(int);
+    method public static int if_nametoindex(String);
+    method public static java.net.InetAddress inet_pton(int, String);
+    method public static boolean isatty(java.io.FileDescriptor);
+    method public static void kill(int, int) throws android.system.ErrnoException;
+    method public static void lchown(String, int, int) throws android.system.ErrnoException;
+    method public static void link(String, String) throws android.system.ErrnoException;
+    method public static void listen(java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method public static String[] listxattr(String) throws android.system.ErrnoException;
+    method public static long lseek(java.io.FileDescriptor, long, int) throws android.system.ErrnoException;
+    method public static android.system.StructStat lstat(String) throws android.system.ErrnoException;
+    method @NonNull public static java.io.FileDescriptor memfd_create(@NonNull String, int) throws android.system.ErrnoException;
+    method public static void mincore(long, long, byte[]) throws android.system.ErrnoException;
+    method public static void mkdir(String, int) throws android.system.ErrnoException;
+    method public static void mkfifo(String, int) throws android.system.ErrnoException;
+    method public static void mlock(long, long) throws android.system.ErrnoException;
+    method public static long mmap(long, long, int, int, java.io.FileDescriptor, long) throws android.system.ErrnoException;
+    method public static void msync(long, long, int) throws android.system.ErrnoException;
+    method public static void munlock(long, long) throws android.system.ErrnoException;
+    method public static void munmap(long, long) throws android.system.ErrnoException;
+    method public static java.io.FileDescriptor open(String, int, int) throws android.system.ErrnoException;
+    method public static java.io.FileDescriptor[] pipe() throws android.system.ErrnoException;
+    method public static int poll(android.system.StructPollfd[], int) throws android.system.ErrnoException;
+    method public static void posix_fallocate(java.io.FileDescriptor, long, long) throws android.system.ErrnoException;
+    method public static int prctl(int, long, long, long, long) throws android.system.ErrnoException;
+    method public static int pread(java.io.FileDescriptor, java.nio.ByteBuffer, long) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int pread(java.io.FileDescriptor, byte[], int, int, long) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int pwrite(java.io.FileDescriptor, java.nio.ByteBuffer, long) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int pwrite(java.io.FileDescriptor, byte[], int, int, long) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int read(java.io.FileDescriptor, java.nio.ByteBuffer) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int read(java.io.FileDescriptor, byte[], int, int) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static String readlink(String) throws android.system.ErrnoException;
+    method public static int readv(java.io.FileDescriptor, Object[], int[], int[]) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int recvfrom(java.io.FileDescriptor, java.nio.ByteBuffer, int, java.net.InetSocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method public static int recvfrom(java.io.FileDescriptor, byte[], int, int, int, java.net.InetSocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method public static int recvmsg(@NonNull java.io.FileDescriptor, @NonNull android.system.StructMsghdr, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static void remove(String) throws android.system.ErrnoException;
+    method public static void removexattr(String, String) throws android.system.ErrnoException;
+    method public static void rename(String, String) throws android.system.ErrnoException;
+    method public static long sendfile(java.io.FileDescriptor, java.io.FileDescriptor, android.system.Int64Ref, long) throws android.system.ErrnoException;
+    method public static int sendmsg(@NonNull java.io.FileDescriptor, @NonNull android.system.StructMsghdr, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static int sendto(java.io.FileDescriptor, java.nio.ByteBuffer, int, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static int sendto(java.io.FileDescriptor, byte[], int, int, int, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static int sendto(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int, int, @Nullable java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method @Deprecated public static void setegid(int) throws android.system.ErrnoException;
+    method public static void setenv(String, String, boolean) throws android.system.ErrnoException;
+    method @Deprecated public static void seteuid(int) throws android.system.ErrnoException;
+    method @Deprecated public static void setgid(int) throws android.system.ErrnoException;
+    method public static int setsid() throws android.system.ErrnoException;
+    method public static void setsockoptInt(java.io.FileDescriptor, int, int, int) throws android.system.ErrnoException;
+    method public static void setsockoptTimeval(@NonNull java.io.FileDescriptor, int, int, @NonNull android.system.StructTimeval) throws android.system.ErrnoException;
+    method @Deprecated public static void setuid(int) throws android.system.ErrnoException;
+    method public static void setxattr(String, String, byte[], int) throws android.system.ErrnoException;
+    method public static void shutdown(java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method public static java.io.FileDescriptor socket(int, int, int) throws android.system.ErrnoException;
+    method public static void socketpair(int, int, int, java.io.FileDescriptor, java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static android.system.StructStat stat(String) throws android.system.ErrnoException;
+    method public static android.system.StructStatVfs statvfs(String) throws android.system.ErrnoException;
+    method public static String strerror(int);
+    method public static String strsignal(int);
+    method public static void symlink(String, String) throws android.system.ErrnoException;
+    method public static long sysconf(int);
+    method public static void tcdrain(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static void tcsendbreak(java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method public static int umask(int);
+    method public static android.system.StructUtsname uname();
+    method public static void unsetenv(String) throws android.system.ErrnoException;
+    method public static int write(java.io.FileDescriptor, java.nio.ByteBuffer) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int write(java.io.FileDescriptor, byte[], int, int) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int writev(java.io.FileDescriptor, Object[], int[], int[]) throws android.system.ErrnoException, java.io.InterruptedIOException;
+  }
+
+  public final class OsConstants {
+    method public static boolean S_ISBLK(int);
+    method public static boolean S_ISCHR(int);
+    method public static boolean S_ISDIR(int);
+    method public static boolean S_ISFIFO(int);
+    method public static boolean S_ISLNK(int);
+    method public static boolean S_ISREG(int);
+    method public static boolean S_ISSOCK(int);
+    method public static boolean WCOREDUMP(int);
+    method public static int WEXITSTATUS(int);
+    method public static boolean WIFEXITED(int);
+    method public static boolean WIFSIGNALED(int);
+    method public static boolean WIFSTOPPED(int);
+    method public static int WSTOPSIG(int);
+    method public static int WTERMSIG(int);
+    method public static String errnoName(int);
+    method public static String gaiName(int);
+    field public static final int AF_INET;
+    field public static final int AF_INET6;
+    field public static final int AF_NETLINK;
+    field public static final int AF_PACKET;
+    field public static final int AF_UNIX;
+    field public static final int AF_UNSPEC;
+    field public static final int AF_VSOCK;
+    field public static final int AI_ADDRCONFIG;
+    field public static final int AI_ALL;
+    field public static final int AI_CANONNAME;
+    field public static final int AI_NUMERICHOST;
+    field public static final int AI_NUMERICSERV;
+    field public static final int AI_PASSIVE;
+    field public static final int AI_V4MAPPED;
+    field public static final int ARPHRD_ETHER;
+    field public static final int CAP_AUDIT_CONTROL;
+    field public static final int CAP_AUDIT_WRITE;
+    field public static final int CAP_BLOCK_SUSPEND;
+    field public static final int CAP_CHOWN;
+    field public static final int CAP_DAC_OVERRIDE;
+    field public static final int CAP_DAC_READ_SEARCH;
+    field public static final int CAP_FOWNER;
+    field public static final int CAP_FSETID;
+    field public static final int CAP_IPC_LOCK;
+    field public static final int CAP_IPC_OWNER;
+    field public static final int CAP_KILL;
+    field public static final int CAP_LAST_CAP;
+    field public static final int CAP_LEASE;
+    field public static final int CAP_LINUX_IMMUTABLE;
+    field public static final int CAP_MAC_ADMIN;
+    field public static final int CAP_MAC_OVERRIDE;
+    field public static final int CAP_MKNOD;
+    field public static final int CAP_NET_ADMIN;
+    field public static final int CAP_NET_BIND_SERVICE;
+    field public static final int CAP_NET_BROADCAST;
+    field public static final int CAP_NET_RAW;
+    field public static final int CAP_SETFCAP;
+    field public static final int CAP_SETGID;
+    field public static final int CAP_SETPCAP;
+    field public static final int CAP_SETUID;
+    field public static final int CAP_SYSLOG;
+    field public static final int CAP_SYS_ADMIN;
+    field public static final int CAP_SYS_BOOT;
+    field public static final int CAP_SYS_CHROOT;
+    field public static final int CAP_SYS_MODULE;
+    field public static final int CAP_SYS_NICE;
+    field public static final int CAP_SYS_PACCT;
+    field public static final int CAP_SYS_PTRACE;
+    field public static final int CAP_SYS_RAWIO;
+    field public static final int CAP_SYS_RESOURCE;
+    field public static final int CAP_SYS_TIME;
+    field public static final int CAP_SYS_TTY_CONFIG;
+    field public static final int CAP_WAKE_ALARM;
+    field public static final int E2BIG;
+    field public static final int EACCES;
+    field public static final int EADDRINUSE;
+    field public static final int EADDRNOTAVAIL;
+    field public static final int EAFNOSUPPORT;
+    field public static final int EAGAIN;
+    field public static final int EAI_AGAIN;
+    field public static final int EAI_BADFLAGS;
+    field public static final int EAI_FAIL;
+    field public static final int EAI_FAMILY;
+    field public static final int EAI_MEMORY;
+    field public static final int EAI_NODATA;
+    field public static final int EAI_NONAME;
+    field public static final int EAI_OVERFLOW;
+    field public static final int EAI_SERVICE;
+    field public static final int EAI_SOCKTYPE;
+    field public static final int EAI_SYSTEM;
+    field public static final int EALREADY;
+    field public static final int EBADF;
+    field public static final int EBADMSG;
+    field public static final int EBUSY;
+    field public static final int ECANCELED;
+    field public static final int ECHILD;
+    field public static final int ECONNABORTED;
+    field public static final int ECONNREFUSED;
+    field public static final int ECONNRESET;
+    field public static final int EDEADLK;
+    field public static final int EDESTADDRREQ;
+    field public static final int EDOM;
+    field public static final int EDQUOT;
+    field public static final int EEXIST;
+    field public static final int EFAULT;
+    field public static final int EFBIG;
+    field public static final int EHOSTUNREACH;
+    field public static final int EIDRM;
+    field public static final int EILSEQ;
+    field public static final int EINPROGRESS;
+    field public static final int EINTR;
+    field public static final int EINVAL;
+    field public static final int EIO;
+    field public static final int EISCONN;
+    field public static final int EISDIR;
+    field public static final int ELOOP;
+    field public static final int EMFILE;
+    field public static final int EMLINK;
+    field public static final int EMSGSIZE;
+    field public static final int EMULTIHOP;
+    field public static final int ENAMETOOLONG;
+    field public static final int ENETDOWN;
+    field public static final int ENETRESET;
+    field public static final int ENETUNREACH;
+    field public static final int ENFILE;
+    field public static final int ENOBUFS;
+    field public static final int ENODATA;
+    field public static final int ENODEV;
+    field public static final int ENOENT;
+    field public static final int ENOEXEC;
+    field public static final int ENOLCK;
+    field public static final int ENOLINK;
+    field public static final int ENOMEM;
+    field public static final int ENOMSG;
+    field public static final int ENONET;
+    field public static final int ENOPROTOOPT;
+    field public static final int ENOSPC;
+    field public static final int ENOSR;
+    field public static final int ENOSTR;
+    field public static final int ENOSYS;
+    field public static final int ENOTCONN;
+    field public static final int ENOTDIR;
+    field public static final int ENOTEMPTY;
+    field public static final int ENOTSOCK;
+    field public static final int ENOTSUP;
+    field public static final int ENOTTY;
+    field public static final int ENXIO;
+    field public static final int EOPNOTSUPP;
+    field public static final int EOVERFLOW;
+    field public static final int EPERM;
+    field public static final int EPIPE;
+    field public static final int EPROTO;
+    field public static final int EPROTONOSUPPORT;
+    field public static final int EPROTOTYPE;
+    field public static final int ERANGE;
+    field public static final int EROFS;
+    field public static final int ESPIPE;
+    field public static final int ESRCH;
+    field public static final int ESTALE;
+    field public static final int ETH_P_ALL;
+    field public static final int ETH_P_ARP;
+    field public static final int ETH_P_IP;
+    field public static final int ETH_P_IPV6;
+    field public static final int ETIME;
+    field public static final int ETIMEDOUT;
+    field public static final int ETXTBSY;
+    field public static final int EXDEV;
+    field public static final int EXIT_FAILURE;
+    field public static final int EXIT_SUCCESS;
+    field public static final int FD_CLOEXEC;
+    field public static final int FIONREAD;
+    field public static final int F_DUPFD;
+    field public static final int F_DUPFD_CLOEXEC;
+    field public static final int F_GETFD;
+    field public static final int F_GETFL;
+    field public static final int F_GETLK;
+    field public static final int F_GETLK64;
+    field public static final int F_GETOWN;
+    field public static final int F_OK;
+    field public static final int F_RDLCK;
+    field public static final int F_SETFD;
+    field public static final int F_SETFL;
+    field public static final int F_SETLK;
+    field public static final int F_SETLK64;
+    field public static final int F_SETLKW;
+    field public static final int F_SETLKW64;
+    field public static final int F_SETOWN;
+    field public static final int F_UNLCK;
+    field public static final int F_WRLCK;
+    field public static final int ICMP6_ECHO_REPLY;
+    field public static final int ICMP6_ECHO_REQUEST;
+    field public static final int ICMP_ECHO;
+    field public static final int ICMP_ECHOREPLY;
+    field public static final int IFA_F_DADFAILED;
+    field public static final int IFA_F_DEPRECATED;
+    field public static final int IFA_F_HOMEADDRESS;
+    field public static final int IFA_F_NODAD;
+    field public static final int IFA_F_OPTIMISTIC;
+    field public static final int IFA_F_PERMANENT;
+    field public static final int IFA_F_SECONDARY;
+    field public static final int IFA_F_TEMPORARY;
+    field public static final int IFA_F_TENTATIVE;
+    field public static final int IFF_ALLMULTI;
+    field public static final int IFF_AUTOMEDIA;
+    field public static final int IFF_BROADCAST;
+    field public static final int IFF_DEBUG;
+    field public static final int IFF_DYNAMIC;
+    field public static final int IFF_LOOPBACK;
+    field public static final int IFF_MASTER;
+    field public static final int IFF_MULTICAST;
+    field public static final int IFF_NOARP;
+    field public static final int IFF_NOTRAILERS;
+    field public static final int IFF_POINTOPOINT;
+    field public static final int IFF_PORTSEL;
+    field public static final int IFF_PROMISC;
+    field public static final int IFF_RUNNING;
+    field public static final int IFF_SLAVE;
+    field public static final int IFF_UP;
+    field public static final int IPPROTO_ICMP;
+    field public static final int IPPROTO_ICMPV6;
+    field public static final int IPPROTO_IP;
+    field public static final int IPPROTO_IPV6;
+    field public static final int IPPROTO_RAW;
+    field public static final int IPPROTO_TCP;
+    field public static final int IPPROTO_UDP;
+    field public static final int IPV6_CHECKSUM;
+    field public static final int IPV6_MULTICAST_HOPS;
+    field public static final int IPV6_MULTICAST_IF;
+    field public static final int IPV6_MULTICAST_LOOP;
+    field public static final int IPV6_RECVDSTOPTS;
+    field public static final int IPV6_RECVHOPLIMIT;
+    field public static final int IPV6_RECVHOPOPTS;
+    field public static final int IPV6_RECVPKTINFO;
+    field public static final int IPV6_RECVRTHDR;
+    field public static final int IPV6_RECVTCLASS;
+    field public static final int IPV6_TCLASS;
+    field public static final int IPV6_UNICAST_HOPS;
+    field public static final int IPV6_V6ONLY;
+    field public static final int IP_MULTICAST_IF;
+    field public static final int IP_MULTICAST_LOOP;
+    field public static final int IP_MULTICAST_TTL;
+    field public static final int IP_TOS;
+    field public static final int IP_TTL;
+    field public static final int MAP_ANONYMOUS;
+    field public static final int MAP_FIXED;
+    field public static final int MAP_PRIVATE;
+    field public static final int MAP_SHARED;
+    field public static final int MCAST_BLOCK_SOURCE;
+    field public static final int MCAST_JOIN_GROUP;
+    field public static final int MCAST_JOIN_SOURCE_GROUP;
+    field public static final int MCAST_LEAVE_GROUP;
+    field public static final int MCAST_LEAVE_SOURCE_GROUP;
+    field public static final int MCAST_UNBLOCK_SOURCE;
+    field public static final int MCL_CURRENT;
+    field public static final int MCL_FUTURE;
+    field public static final int MFD_CLOEXEC;
+    field public static final int MSG_CTRUNC;
+    field public static final int MSG_DONTROUTE;
+    field public static final int MSG_EOR;
+    field public static final int MSG_OOB;
+    field public static final int MSG_PEEK;
+    field public static final int MSG_TRUNC;
+    field public static final int MSG_WAITALL;
+    field public static final int MS_ASYNC;
+    field public static final int MS_INVALIDATE;
+    field public static final int MS_SYNC;
+    field public static final int NETLINK_INET_DIAG;
+    field public static final int NETLINK_NETFILTER;
+    field public static final int NETLINK_ROUTE;
+    field public static final int NI_DGRAM;
+    field public static final int NI_NAMEREQD;
+    field public static final int NI_NOFQDN;
+    field public static final int NI_NUMERICHOST;
+    field public static final int NI_NUMERICSERV;
+    field public static final int O_ACCMODE;
+    field public static final int O_APPEND;
+    field public static final int O_CLOEXEC;
+    field public static final int O_CREAT;
+    field public static final int O_DSYNC;
+    field public static final int O_EXCL;
+    field public static final int O_NOCTTY;
+    field public static final int O_NOFOLLOW;
+    field public static final int O_NONBLOCK;
+    field public static final int O_RDONLY;
+    field public static final int O_RDWR;
+    field public static final int O_SYNC;
+    field public static final int O_TRUNC;
+    field public static final int O_WRONLY;
+    field public static final int POLLERR;
+    field public static final int POLLHUP;
+    field public static final int POLLIN;
+    field public static final int POLLNVAL;
+    field public static final int POLLOUT;
+    field public static final int POLLPRI;
+    field public static final int POLLRDBAND;
+    field public static final int POLLRDNORM;
+    field public static final int POLLWRBAND;
+    field public static final int POLLWRNORM;
+    field public static final int PROT_EXEC;
+    field public static final int PROT_NONE;
+    field public static final int PROT_READ;
+    field public static final int PROT_WRITE;
+    field public static final int PR_GET_DUMPABLE;
+    field public static final int PR_SET_DUMPABLE;
+    field public static final int PR_SET_NO_NEW_PRIVS;
+    field public static final int RTMGRP_NEIGH;
+    field public static final int RT_SCOPE_HOST;
+    field public static final int RT_SCOPE_LINK;
+    field public static final int RT_SCOPE_NOWHERE;
+    field public static final int RT_SCOPE_SITE;
+    field public static final int RT_SCOPE_UNIVERSE;
+    field public static final int R_OK;
+    field public static final int SEEK_CUR;
+    field public static final int SEEK_END;
+    field public static final int SEEK_SET;
+    field public static final int SHUT_RD;
+    field public static final int SHUT_RDWR;
+    field public static final int SHUT_WR;
+    field public static final int SIGABRT;
+    field public static final int SIGALRM;
+    field public static final int SIGBUS;
+    field public static final int SIGCHLD;
+    field public static final int SIGCONT;
+    field public static final int SIGFPE;
+    field public static final int SIGHUP;
+    field public static final int SIGILL;
+    field public static final int SIGINT;
+    field public static final int SIGIO;
+    field public static final int SIGKILL;
+    field public static final int SIGPIPE;
+    field public static final int SIGPROF;
+    field public static final int SIGPWR;
+    field public static final int SIGQUIT;
+    field public static final int SIGRTMAX;
+    field public static final int SIGRTMIN;
+    field public static final int SIGSEGV;
+    field public static final int SIGSTKFLT;
+    field public static final int SIGSTOP;
+    field public static final int SIGSYS;
+    field public static final int SIGTERM;
+    field public static final int SIGTRAP;
+    field public static final int SIGTSTP;
+    field public static final int SIGTTIN;
+    field public static final int SIGTTOU;
+    field public static final int SIGURG;
+    field public static final int SIGUSR1;
+    field public static final int SIGUSR2;
+    field public static final int SIGVTALRM;
+    field public static final int SIGWINCH;
+    field public static final int SIGXCPU;
+    field public static final int SIGXFSZ;
+    field public static final int SIOCGIFADDR;
+    field public static final int SIOCGIFBRDADDR;
+    field public static final int SIOCGIFDSTADDR;
+    field public static final int SIOCGIFNETMASK;
+    field public static final int SOCK_CLOEXEC;
+    field public static final int SOCK_DGRAM;
+    field public static final int SOCK_NONBLOCK;
+    field public static final int SOCK_RAW;
+    field public static final int SOCK_SEQPACKET;
+    field public static final int SOCK_STREAM;
+    field public static final int SOL_SOCKET;
+    field public static final int SOL_UDP;
+    field public static final int SO_BINDTODEVICE;
+    field public static final int SO_BROADCAST;
+    field public static final int SO_DEBUG;
+    field public static final int SO_DONTROUTE;
+    field public static final int SO_ERROR;
+    field public static final int SO_KEEPALIVE;
+    field public static final int SO_LINGER;
+    field public static final int SO_OOBINLINE;
+    field public static final int SO_PASSCRED;
+    field public static final int SO_PEERCRED;
+    field public static final int SO_RCVBUF;
+    field public static final int SO_RCVLOWAT;
+    field public static final int SO_RCVTIMEO;
+    field public static final int SO_REUSEADDR;
+    field public static final int SO_SNDBUF;
+    field public static final int SO_SNDLOWAT;
+    field public static final int SO_SNDTIMEO;
+    field public static final int SO_TYPE;
+    field public static final int STDERR_FILENO;
+    field public static final int STDIN_FILENO;
+    field public static final int STDOUT_FILENO;
+    field public static final int ST_MANDLOCK;
+    field public static final int ST_NOATIME;
+    field public static final int ST_NODEV;
+    field public static final int ST_NODIRATIME;
+    field public static final int ST_NOEXEC;
+    field public static final int ST_NOSUID;
+    field public static final int ST_RDONLY;
+    field public static final int ST_RELATIME;
+    field public static final int ST_SYNCHRONOUS;
+    field public static final int S_IFBLK;
+    field public static final int S_IFCHR;
+    field public static final int S_IFDIR;
+    field public static final int S_IFIFO;
+    field public static final int S_IFLNK;
+    field public static final int S_IFMT;
+    field public static final int S_IFREG;
+    field public static final int S_IFSOCK;
+    field public static final int S_IRGRP;
+    field public static final int S_IROTH;
+    field public static final int S_IRUSR;
+    field public static final int S_IRWXG;
+    field public static final int S_IRWXO;
+    field public static final int S_IRWXU;
+    field public static final int S_ISGID;
+    field public static final int S_ISUID;
+    field public static final int S_ISVTX;
+    field public static final int S_IWGRP;
+    field public static final int S_IWOTH;
+    field public static final int S_IWUSR;
+    field public static final int S_IXGRP;
+    field public static final int S_IXOTH;
+    field public static final int S_IXUSR;
+    field public static final int TCP_NODELAY;
+    field public static final int TCP_USER_TIMEOUT;
+    field public static final int UDP_GRO;
+    field public static final int UDP_SEGMENT;
+    field public static final int VMADDR_CID_ANY;
+    field public static final int VMADDR_CID_HOST;
+    field public static final int VMADDR_CID_LOCAL;
+    field public static final int VMADDR_PORT_ANY;
+    field public static final int WCONTINUED;
+    field public static final int WEXITED;
+    field public static final int WNOHANG;
+    field public static final int WNOWAIT;
+    field public static final int WSTOPPED;
+    field public static final int WUNTRACED;
+    field public static final int W_OK;
+    field public static final int X_OK;
+    field public static final int _SC_2_CHAR_TERM;
+    field public static final int _SC_2_C_BIND;
+    field public static final int _SC_2_C_DEV;
+    field public static final int _SC_2_C_VERSION;
+    field public static final int _SC_2_FORT_DEV;
+    field public static final int _SC_2_FORT_RUN;
+    field public static final int _SC_2_LOCALEDEF;
+    field public static final int _SC_2_SW_DEV;
+    field public static final int _SC_2_UPE;
+    field public static final int _SC_2_VERSION;
+    field public static final int _SC_AIO_LISTIO_MAX;
+    field public static final int _SC_AIO_MAX;
+    field public static final int _SC_AIO_PRIO_DELTA_MAX;
+    field public static final int _SC_ARG_MAX;
+    field public static final int _SC_ASYNCHRONOUS_IO;
+    field public static final int _SC_ATEXIT_MAX;
+    field public static final int _SC_AVPHYS_PAGES;
+    field public static final int _SC_BC_BASE_MAX;
+    field public static final int _SC_BC_DIM_MAX;
+    field public static final int _SC_BC_SCALE_MAX;
+    field public static final int _SC_BC_STRING_MAX;
+    field public static final int _SC_CHILD_MAX;
+    field public static final int _SC_CLK_TCK;
+    field public static final int _SC_COLL_WEIGHTS_MAX;
+    field public static final int _SC_DELAYTIMER_MAX;
+    field public static final int _SC_EXPR_NEST_MAX;
+    field public static final int _SC_FSYNC;
+    field public static final int _SC_GETGR_R_SIZE_MAX;
+    field public static final int _SC_GETPW_R_SIZE_MAX;
+    field public static final int _SC_IOV_MAX;
+    field public static final int _SC_JOB_CONTROL;
+    field public static final int _SC_LINE_MAX;
+    field public static final int _SC_LOGIN_NAME_MAX;
+    field public static final int _SC_MAPPED_FILES;
+    field public static final int _SC_MEMLOCK;
+    field public static final int _SC_MEMLOCK_RANGE;
+    field public static final int _SC_MEMORY_PROTECTION;
+    field public static final int _SC_MESSAGE_PASSING;
+    field public static final int _SC_MQ_OPEN_MAX;
+    field public static final int _SC_MQ_PRIO_MAX;
+    field public static final int _SC_NGROUPS_MAX;
+    field public static final int _SC_NPROCESSORS_CONF;
+    field public static final int _SC_NPROCESSORS_ONLN;
+    field public static final int _SC_OPEN_MAX;
+    field public static final int _SC_PAGESIZE;
+    field public static final int _SC_PAGE_SIZE;
+    field public static final int _SC_PASS_MAX;
+    field public static final int _SC_PHYS_PAGES;
+    field public static final int _SC_PRIORITIZED_IO;
+    field public static final int _SC_PRIORITY_SCHEDULING;
+    field public static final int _SC_REALTIME_SIGNALS;
+    field public static final int _SC_RE_DUP_MAX;
+    field public static final int _SC_RTSIG_MAX;
+    field public static final int _SC_SAVED_IDS;
+    field public static final int _SC_SEMAPHORES;
+    field public static final int _SC_SEM_NSEMS_MAX;
+    field public static final int _SC_SEM_VALUE_MAX;
+    field public static final int _SC_SHARED_MEMORY_OBJECTS;
+    field public static final int _SC_SIGQUEUE_MAX;
+    field public static final int _SC_STREAM_MAX;
+    field public static final int _SC_SYNCHRONIZED_IO;
+    field public static final int _SC_THREADS;
+    field public static final int _SC_THREAD_ATTR_STACKADDR;
+    field public static final int _SC_THREAD_ATTR_STACKSIZE;
+    field public static final int _SC_THREAD_DESTRUCTOR_ITERATIONS;
+    field public static final int _SC_THREAD_KEYS_MAX;
+    field public static final int _SC_THREAD_PRIORITY_SCHEDULING;
+    field public static final int _SC_THREAD_PRIO_INHERIT;
+    field public static final int _SC_THREAD_PRIO_PROTECT;
+    field public static final int _SC_THREAD_SAFE_FUNCTIONS;
+    field public static final int _SC_THREAD_STACK_MIN;
+    field public static final int _SC_THREAD_THREADS_MAX;
+    field public static final int _SC_TIMERS;
+    field public static final int _SC_TIMER_MAX;
+    field public static final int _SC_TTY_NAME_MAX;
+    field public static final int _SC_TZNAME_MAX;
+    field public static final int _SC_VERSION;
+    field public static final int _SC_XBS5_ILP32_OFF32;
+    field public static final int _SC_XBS5_ILP32_OFFBIG;
+    field public static final int _SC_XBS5_LP64_OFF64;
+    field public static final int _SC_XBS5_LPBIG_OFFBIG;
+    field public static final int _SC_XOPEN_CRYPT;
+    field public static final int _SC_XOPEN_ENH_I18N;
+    field public static final int _SC_XOPEN_LEGACY;
+    field public static final int _SC_XOPEN_REALTIME;
+    field public static final int _SC_XOPEN_REALTIME_THREADS;
+    field public static final int _SC_XOPEN_SHM;
+    field public static final int _SC_XOPEN_UNIX;
+    field public static final int _SC_XOPEN_VERSION;
+    field public static final int _SC_XOPEN_XCU_VERSION;
+  }
+
+  public final class StructCmsghdr {
+    ctor public StructCmsghdr(int, int, short);
+    ctor public StructCmsghdr(int, int, @NonNull byte[]);
+    field @NonNull public final byte[] cmsg_data;
+    field public final int cmsg_level;
+    field public final int cmsg_type;
+  }
+
+  public final class StructMsghdr {
+    ctor public StructMsghdr(@Nullable java.net.SocketAddress, @NonNull java.nio.ByteBuffer[], @Nullable android.system.StructCmsghdr[], int);
+    field @Nullable public android.system.StructCmsghdr[] msg_control;
+    field public int msg_flags;
+    field @NonNull public final java.nio.ByteBuffer[] msg_iov;
+    field @Nullable public java.net.SocketAddress msg_name;
+  }
+
+  public final class StructPollfd {
+    ctor public StructPollfd();
+    field public short events;
+    field public java.io.FileDescriptor fd;
+    field public short revents;
+    field public Object userData;
+  }
+
+  public final class StructStat {
+    ctor public StructStat(long, long, int, long, int, int, long, long, long, long, long, long, long);
+    ctor public StructStat(long, long, int, long, int, int, long, long, android.system.StructTimespec, android.system.StructTimespec, android.system.StructTimespec, long, long);
+    field public final android.system.StructTimespec st_atim;
+    field public final long st_atime;
+    field public final long st_blksize;
+    field public final long st_blocks;
+    field public final android.system.StructTimespec st_ctim;
+    field public final long st_ctime;
+    field public final long st_dev;
+    field public final int st_gid;
+    field public final long st_ino;
+    field public final int st_mode;
+    field public final android.system.StructTimespec st_mtim;
+    field public final long st_mtime;
+    field public final long st_nlink;
+    field public final long st_rdev;
+    field public final long st_size;
+    field public final int st_uid;
+  }
+
+  public final class StructStatVfs {
+    ctor public StructStatVfs(long, long, long, long, long, long, long, long, long, long, long);
+    field public final long f_bavail;
+    field public final long f_bfree;
+    field public final long f_blocks;
+    field public final long f_bsize;
+    field public final long f_favail;
+    field public final long f_ffree;
+    field public final long f_files;
+    field public final long f_flag;
+    field public final long f_frsize;
+    field public final long f_fsid;
+    field public final long f_namemax;
+  }
+
+  public final class StructTimespec implements java.lang.Comparable<android.system.StructTimespec> {
+    ctor public StructTimespec(long, long);
+    method public int compareTo(android.system.StructTimespec);
+    field public final long tv_nsec;
+    field public final long tv_sec;
+  }
+
+  public final class StructTimeval {
+    method @NonNull public static android.system.StructTimeval fromMillis(long);
+    method public long toMillis();
+    field public final long tv_sec;
+    field public final long tv_usec;
+  }
+
+  public final class StructUtsname {
+    ctor public StructUtsname(String, String, String, String, String);
+    field public final String machine;
+    field public final String nodename;
+    field public final String release;
+    field public final String sysname;
+    field public final String version;
+  }
+
+}
+
+package android.telecom {
+
+  public final class Call {
+    method public void addConferenceParticipants(@NonNull java.util.List<android.net.Uri>);
+    method public void answer(int);
+    method public void conference(android.telecom.Call);
+    method public void deflect(android.net.Uri);
+    method public void disconnect();
+    method public java.util.List<java.lang.String> getCannedTextResponses();
+    method public java.util.List<android.telecom.Call> getChildren();
+    method public java.util.List<android.telecom.Call> getConferenceableCalls();
+    method public android.telecom.Call.Details getDetails();
+    method @Nullable public android.telecom.Call getGenericConferenceActiveChildCall();
+    method public android.telecom.Call getParent();
+    method public String getRemainingPostDialSequence();
+    method @Nullable public android.telecom.Call.RttCall getRttCall();
+    method @Deprecated public int getState();
+    method public android.telecom.InCallService.VideoCall getVideoCall();
+    method public void handoverTo(android.telecom.PhoneAccountHandle, int, android.os.Bundle);
+    method public void hold();
+    method public boolean isRttActive();
+    method public void mergeConference();
+    method public void phoneAccountSelected(android.telecom.PhoneAccountHandle, boolean);
+    method public void playDtmfTone(char);
+    method public void postDialContinue(boolean);
+    method public void pullExternalCall();
+    method public void putExtras(android.os.Bundle);
+    method public void registerCallback(android.telecom.Call.Callback);
+    method public void registerCallback(android.telecom.Call.Callback, android.os.Handler);
+    method public void reject(boolean, String);
+    method public void reject(int);
+    method public void removeExtras(java.util.List<java.lang.String>);
+    method public void removeExtras(java.lang.String...);
+    method public void respondToRttRequest(int, boolean);
+    method public void sendCallEvent(String, android.os.Bundle);
+    method public void sendRttRequest();
+    method public void splitFromConference();
+    method public void stopDtmfTone();
+    method public void stopRtt();
+    method public void swapConference();
+    method public void unhold();
+    method public void unregisterCallback(android.telecom.Call.Callback);
+    field @Deprecated public static final String AVAILABLE_PHONE_ACCOUNTS = "selectPhoneAccountAccounts";
+    field public static final String EVENT_CLEAR_DIAGNOSTIC_MESSAGE = "android.telecom.event.CLEAR_DIAGNOSTIC_MESSAGE";
+    field public static final String EVENT_DISPLAY_DIAGNOSTIC_MESSAGE = "android.telecom.event.DISPLAY_DIAGNOSTIC_MESSAGE";
+    field public static final String EXTRA_DIAGNOSTIC_MESSAGE = "android.telecom.extra.DIAGNOSTIC_MESSAGE";
+    field public static final String EXTRA_DIAGNOSTIC_MESSAGE_ID = "android.telecom.extra.DIAGNOSTIC_MESSAGE_ID";
+    field public static final String EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS = "android.telecom.extra.LAST_EMERGENCY_CALLBACK_TIME_MILLIS";
+    field public static final String EXTRA_SILENT_RINGING_REQUESTED = "android.telecom.extra.SILENT_RINGING_REQUESTED";
+    field public static final String EXTRA_SUGGESTED_PHONE_ACCOUNTS = "android.telecom.extra.SUGGESTED_PHONE_ACCOUNTS";
+    field public static final int REJECT_REASON_DECLINED = 1; // 0x1
+    field public static final int REJECT_REASON_UNWANTED = 2; // 0x2
+    field public static final int STATE_ACTIVE = 4; // 0x4
+    field public static final int STATE_AUDIO_PROCESSING = 12; // 0xc
+    field public static final int STATE_CONNECTING = 9; // 0x9
+    field public static final int STATE_DIALING = 1; // 0x1
+    field public static final int STATE_DISCONNECTED = 7; // 0x7
+    field public static final int STATE_DISCONNECTING = 10; // 0xa
+    field public static final int STATE_HOLDING = 3; // 0x3
+    field public static final int STATE_NEW = 0; // 0x0
+    field public static final int STATE_PULLING_CALL = 11; // 0xb
+    field public static final int STATE_RINGING = 2; // 0x2
+    field public static final int STATE_SELECT_PHONE_ACCOUNT = 8; // 0x8
+    field public static final int STATE_SIMULATED_RINGING = 13; // 0xd
+  }
+
+  public abstract static class Call.Callback {
+    ctor public Call.Callback();
+    method public void onCallDestroyed(android.telecom.Call);
+    method public void onCannedTextResponsesLoaded(android.telecom.Call, java.util.List<java.lang.String>);
+    method public void onChildrenChanged(android.telecom.Call, java.util.List<android.telecom.Call>);
+    method public void onConferenceableCallsChanged(android.telecom.Call, java.util.List<android.telecom.Call>);
+    method public void onConnectionEvent(android.telecom.Call, String, android.os.Bundle);
+    method public void onDetailsChanged(android.telecom.Call, android.telecom.Call.Details);
+    method public void onHandoverComplete(android.telecom.Call);
+    method public void onHandoverFailed(android.telecom.Call, int);
+    method public void onParentChanged(android.telecom.Call, android.telecom.Call);
+    method public void onPostDialWait(android.telecom.Call, String);
+    method public void onRttInitiationFailure(android.telecom.Call, int);
+    method public void onRttModeChanged(android.telecom.Call, int);
+    method public void onRttRequest(android.telecom.Call, int);
+    method public void onRttStatusChanged(android.telecom.Call, boolean, android.telecom.Call.RttCall);
+    method public void onStateChanged(android.telecom.Call, int);
+    method public void onVideoCallChanged(android.telecom.Call, android.telecom.InCallService.VideoCall);
+    field public static final int HANDOVER_FAILURE_DEST_APP_REJECTED = 1; // 0x1
+    field public static final int HANDOVER_FAILURE_NOT_SUPPORTED = 2; // 0x2
+    field public static final int HANDOVER_FAILURE_ONGOING_EMERGENCY_CALL = 4; // 0x4
+    field public static final int HANDOVER_FAILURE_UNKNOWN = 5; // 0x5
+    field public static final int HANDOVER_FAILURE_USER_REJECTED = 3; // 0x3
+  }
+
+  public static class Call.Details {
+    method public static boolean can(int, int);
+    method public boolean can(int);
+    method public static String capabilitiesToString(int);
+    method public android.telecom.PhoneAccountHandle getAccountHandle();
+    method public int getCallCapabilities();
+    method public int getCallDirection();
+    method public int getCallProperties();
+    method public String getCallerDisplayName();
+    method public int getCallerDisplayNamePresentation();
+    method public int getCallerNumberVerificationStatus();
+    method public final long getConnectTimeMillis();
+    method @Nullable public String getContactDisplayName();
+    method public long getCreationTimeMillis();
+    method public android.telecom.DisconnectCause getDisconnectCause();
+    method public android.os.Bundle getExtras();
+    method public android.telecom.GatewayInfo getGatewayInfo();
+    method public android.net.Uri getHandle();
+    method public int getHandlePresentation();
+    method public android.os.Bundle getIntentExtras();
+    method public final int getState();
+    method public android.telecom.StatusHints getStatusHints();
+    method public int getVideoState();
+    method public static boolean hasProperty(int, int);
+    method public boolean hasProperty(int);
+    method public static String propertiesToString(int);
+    field public static final int CAPABILITY_ADD_PARTICIPANT = 33554432; // 0x2000000
+    field public static final int CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO = 4194304; // 0x400000
+    field public static final int CAPABILITY_CAN_PAUSE_VIDEO = 1048576; // 0x100000
+    field public static final int CAPABILITY_CAN_PULL_CALL = 8388608; // 0x800000
+    field public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE = 8192; // 0x2000
+    field public static final int CAPABILITY_HOLD = 1; // 0x1
+    field public static final int CAPABILITY_MANAGE_CONFERENCE = 128; // 0x80
+    field public static final int CAPABILITY_MERGE_CONFERENCE = 4; // 0x4
+    field public static final int CAPABILITY_MUTE = 64; // 0x40
+    field public static final int CAPABILITY_RESPOND_VIA_TEXT = 32; // 0x20
+    field public static final int CAPABILITY_SEPARATE_FROM_CONFERENCE = 4096; // 0x1000
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL = 768; // 0x300
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX = 256; // 0x100
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX = 512; // 0x200
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL = 3072; // 0xc00
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_RX = 1024; // 0x400
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 2048; // 0x800
+    field public static final int CAPABILITY_SUPPORT_DEFLECT = 16777216; // 0x1000000
+    field public static final int CAPABILITY_SUPPORT_HOLD = 2; // 0x2
+    field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
+    field public static final int DIRECTION_INCOMING = 0; // 0x0
+    field public static final int DIRECTION_OUTGOING = 1; // 0x1
+    field public static final int DIRECTION_UNKNOWN = -1; // 0xffffffff
+    field public static final int PROPERTY_ASSISTED_DIALING = 512; // 0x200
+    field public static final int PROPERTY_CONFERENCE = 1; // 0x1
+    field public static final int PROPERTY_CROSS_SIM = 16384; // 0x4000
+    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 4; // 0x4
+    field public static final int PROPERTY_ENTERPRISE_CALL = 32; // 0x20
+    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
+    field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 128; // 0x80
+    field public static final int PROPERTY_HIGH_DEF_AUDIO = 16; // 0x10
+    field public static final int PROPERTY_IS_ADHOC_CONFERENCE = 8192; // 0x2000
+    field public static final int PROPERTY_IS_EXTERNAL_CALL = 64; // 0x40
+    field public static final int PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL = 2048; // 0x800
+    field public static final int PROPERTY_RTT = 1024; // 0x400
+    field public static final int PROPERTY_SELF_MANAGED = 256; // 0x100
+    field public static final int PROPERTY_VOIP_AUDIO_MODE = 4096; // 0x1000
+    field public static final int PROPERTY_WIFI = 8; // 0x8
+  }
+
+  public static final class Call.RttCall {
+    method public int getRttAudioMode();
+    method public String read();
+    method public String readImmediately() throws java.io.IOException;
+    method public void setRttMode(int);
+    method public void write(String) throws java.io.IOException;
+    field public static final int RTT_MODE_FULL = 1; // 0x1
+    field public static final int RTT_MODE_HCO = 2; // 0x2
+    field public static final int RTT_MODE_VCO = 3; // 0x3
+  }
+
+  public final class CallAudioState implements android.os.Parcelable {
+    ctor public CallAudioState(boolean, int, int);
+    method public static String audioRouteToString(int);
+    method public int describeContents();
+    method public android.bluetooth.BluetoothDevice getActiveBluetoothDevice();
+    method public int getRoute();
+    method public java.util.Collection<android.bluetooth.BluetoothDevice> getSupportedBluetoothDevices();
+    method public int getSupportedRouteMask();
+    method public boolean isMuted();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.CallAudioState> CREATOR;
+    field public static final int ROUTE_BLUETOOTH = 2; // 0x2
+    field public static final int ROUTE_EARPIECE = 1; // 0x1
+    field public static final int ROUTE_SPEAKER = 8; // 0x8
+    field public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
+    field public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
+  }
+
+  public abstract class CallRedirectionService extends android.app.Service {
+    ctor public CallRedirectionService();
+    method public final void cancelCall();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onPlaceCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
+    method public final boolean onUnbind(@NonNull android.content.Intent);
+    method public final void placeCallUnmodified();
+    method public final void redirectCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
+    field public static final String SERVICE_INTERFACE = "android.telecom.CallRedirectionService";
+  }
+
+  public abstract class CallScreeningService extends android.app.Service {
+    ctor public CallScreeningService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract void onScreenCall(@NonNull android.telecom.Call.Details);
+    method public final void respondToCall(@NonNull android.telecom.Call.Details, @NonNull android.telecom.CallScreeningService.CallResponse);
+    field public static final String SERVICE_INTERFACE = "android.telecom.CallScreeningService";
+  }
+
+  public static class CallScreeningService.CallResponse {
+    method public int getCallComposerAttachmentsToShow();
+    method public boolean getDisallowCall();
+    method public boolean getRejectCall();
+    method public boolean getSilenceCall();
+    method public boolean getSkipCallLog();
+    method public boolean getSkipNotification();
+    field public static final int CALL_COMPOSER_ATTACHMENT_LOCATION = 2; // 0x2
+    field public static final int CALL_COMPOSER_ATTACHMENT_PICTURE = 1; // 0x1
+    field public static final int CALL_COMPOSER_ATTACHMENT_PRIORITY = 8; // 0x8
+    field public static final int CALL_COMPOSER_ATTACHMENT_SUBJECT = 4; // 0x4
+  }
+
+  public static class CallScreeningService.CallResponse.Builder {
+    ctor public CallScreeningService.CallResponse.Builder();
+    method public android.telecom.CallScreeningService.CallResponse build();
+    method @NonNull public android.telecom.CallScreeningService.CallResponse.Builder setCallComposerAttachmentsToShow(int);
+    method public android.telecom.CallScreeningService.CallResponse.Builder setDisallowCall(boolean);
+    method public android.telecom.CallScreeningService.CallResponse.Builder setRejectCall(boolean);
+    method @NonNull public android.telecom.CallScreeningService.CallResponse.Builder setSilenceCall(boolean);
+    method public android.telecom.CallScreeningService.CallResponse.Builder setSkipCallLog(boolean);
+    method public android.telecom.CallScreeningService.CallResponse.Builder setSkipNotification(boolean);
+  }
+
+  public abstract class Conference extends android.telecom.Conferenceable {
+    ctor public Conference(android.telecom.PhoneAccountHandle);
+    method public final boolean addConnection(android.telecom.Connection);
+    method @NonNull public static android.telecom.Conference createFailedConference(@NonNull android.telecom.DisconnectCause, @NonNull android.telecom.PhoneAccountHandle);
+    method public final void destroy();
+    method public final android.telecom.CallAudioState getCallAudioState();
+    method public final java.util.List<android.telecom.Connection> getConferenceableConnections();
+    method public final int getConnectionCapabilities();
+    method public final int getConnectionProperties();
+    method public final long getConnectionStartElapsedRealtimeMillis();
+    method @IntRange(from=0) public final long getConnectionTime();
+    method public final java.util.List<android.telecom.Connection> getConnections();
+    method public final android.telecom.DisconnectCause getDisconnectCause();
+    method public final android.os.Bundle getExtras();
+    method public final android.telecom.PhoneAccountHandle getPhoneAccountHandle();
+    method public final int getState();
+    method public final android.telecom.StatusHints getStatusHints();
+    method public android.telecom.Connection.VideoProvider getVideoProvider();
+    method public int getVideoState();
+    method public final boolean isRingbackRequested();
+    method public void onAddConferenceParticipants(@NonNull java.util.List<android.net.Uri>);
+    method public void onAnswer(int);
+    method public void onCallAudioStateChanged(android.telecom.CallAudioState);
+    method public void onConnectionAdded(android.telecom.Connection);
+    method public void onDisconnect();
+    method public void onExtrasChanged(android.os.Bundle);
+    method public void onHold();
+    method public void onMerge(android.telecom.Connection);
+    method public void onMerge();
+    method public void onPlayDtmfTone(char);
+    method public void onReject();
+    method public void onSeparate(android.telecom.Connection);
+    method public void onStopDtmfTone();
+    method public void onSwap();
+    method public void onUnhold();
+    method public final void putExtras(@NonNull android.os.Bundle);
+    method public final void removeConnection(android.telecom.Connection);
+    method public final void removeExtras(java.util.List<java.lang.String>);
+    method public final void removeExtras(java.lang.String...);
+    method public void sendConferenceEvent(@NonNull String, @Nullable android.os.Bundle);
+    method public final void setActive();
+    method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>);
+    method public final void setConnectionCapabilities(int);
+    method public final void setConnectionProperties(int);
+    method @Deprecated public final void setConnectionStartElapsedRealTime(long);
+    method public final void setConnectionStartElapsedRealtimeMillis(long);
+    method public final void setConnectionTime(@IntRange(from=0) long);
+    method public final void setDialing();
+    method public final void setDisconnected(android.telecom.DisconnectCause);
+    method public final void setExtras(@Nullable android.os.Bundle);
+    method public final void setOnHold();
+    method public final void setRingbackRequested(boolean);
+    method public final void setRinging();
+    method public final void setStatusHints(android.telecom.StatusHints);
+    method public final void setVideoProvider(android.telecom.Connection, android.telecom.Connection.VideoProvider);
+    method public final void setVideoState(android.telecom.Connection, int);
+    field public static final long CONNECT_TIME_NOT_SPECIFIED = 0L; // 0x0L
+  }
+
+  public abstract class Conferenceable {
+  }
+
+  public abstract class Connection extends android.telecom.Conferenceable {
+    ctor public Connection();
+    method public static String capabilitiesToString(int);
+    method public static android.telecom.Connection createCanceledConnection();
+    method public static android.telecom.Connection createFailedConnection(android.telecom.DisconnectCause);
+    method public final void destroy();
+    method public final android.net.Uri getAddress();
+    method public final int getAddressPresentation();
+    method public final boolean getAudioModeIsVoip();
+    method public final android.telecom.CallAudioState getCallAudioState();
+    method public final String getCallerDisplayName();
+    method public final int getCallerDisplayNamePresentation();
+    method public final int getCallerNumberVerificationStatus();
+    method public final android.telecom.Conference getConference();
+    method public final java.util.List<android.telecom.Conferenceable> getConferenceables();
+    method public final int getConnectionCapabilities();
+    method public final int getConnectionProperties();
+    method public final android.telecom.DisconnectCause getDisconnectCause();
+    method public final android.os.Bundle getExtras();
+    method public final int getState();
+    method public final android.telecom.StatusHints getStatusHints();
+    method public final android.telecom.Connection.VideoProvider getVideoProvider();
+    method public final int getVideoState();
+    method public void handleRttUpgradeResponse(@Nullable android.telecom.Connection.RttTextStream);
+    method public final boolean isRingbackRequested();
+    method public final void notifyConferenceMergeFailed();
+    method public void onAbort();
+    method public void onAddConferenceParticipants(@NonNull java.util.List<android.net.Uri>);
+    method public void onAnswer(int);
+    method public void onAnswer();
+    method public void onCallAudioStateChanged(android.telecom.CallAudioState);
+    method public void onCallEvent(String, android.os.Bundle);
+    method public void onDeflect(android.net.Uri);
+    method public void onDisconnect();
+    method public void onExtrasChanged(android.os.Bundle);
+    method public void onHandoverComplete();
+    method public void onHold();
+    method public void onPlayDtmfTone(char);
+    method public void onPostDialContinue(boolean);
+    method public void onPullExternalCall();
+    method public void onReject();
+    method public void onReject(int);
+    method public void onReject(String);
+    method public void onSeparate();
+    method public void onShowIncomingCallUi();
+    method public void onSilence();
+    method public void onStartRtt(@NonNull android.telecom.Connection.RttTextStream);
+    method public void onStateChanged(int);
+    method public void onStopDtmfTone();
+    method public void onStopRtt();
+    method public void onTrackedByNonUiService(boolean);
+    method public void onUnhold();
+    method public void onUsingAlternativeUi(boolean);
+    method public static String propertiesToString(int);
+    method public final void putExtras(@NonNull android.os.Bundle);
+    method public final void removeExtras(java.util.List<java.lang.String>);
+    method public final void removeExtras(java.lang.String...);
+    method public void requestBluetoothAudio(@NonNull android.bluetooth.BluetoothDevice);
+    method public void sendConnectionEvent(String, android.os.Bundle);
+    method public final void sendRemoteRttRequest();
+    method public final void sendRttInitiationFailure(int);
+    method public final void sendRttInitiationSuccess();
+    method public final void sendRttSessionRemotelyTerminated();
+    method public final void setActive();
+    method public final void setAddress(android.net.Uri, int);
+    method public final void setAudioModeIsVoip(boolean);
+    method public final void setAudioRoute(int);
+    method public final void setCallerDisplayName(String, int);
+    method public final void setCallerNumberVerificationStatus(int);
+    method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>);
+    method public final void setConferenceables(java.util.List<android.telecom.Conferenceable>);
+    method public final void setConnectionCapabilities(int);
+    method public final void setConnectionProperties(int);
+    method public final void setDialing();
+    method public final void setDisconnected(android.telecom.DisconnectCause);
+    method public final void setExtras(@Nullable android.os.Bundle);
+    method public final void setInitialized();
+    method public final void setInitializing();
+    method public final void setNextPostDialChar(char);
+    method public final void setOnHold();
+    method public final void setPostDialWait(String);
+    method public final void setPulling();
+    method public final void setRingbackRequested(boolean);
+    method public final void setRinging();
+    method public final void setStatusHints(android.telecom.StatusHints);
+    method public final void setVideoProvider(android.telecom.Connection.VideoProvider);
+    method public final void setVideoState(int);
+    method public static String stateToString(int);
+    field public static final int AUDIO_CODEC_AMR = 1; // 0x1
+    field public static final int AUDIO_CODEC_AMR_WB = 2; // 0x2
+    field public static final int AUDIO_CODEC_EVRC = 4; // 0x4
+    field public static final int AUDIO_CODEC_EVRC_B = 5; // 0x5
+    field public static final int AUDIO_CODEC_EVRC_NW = 7; // 0x7
+    field public static final int AUDIO_CODEC_EVRC_WB = 6; // 0x6
+    field public static final int AUDIO_CODEC_EVS_FB = 20; // 0x14
+    field public static final int AUDIO_CODEC_EVS_NB = 17; // 0x11
+    field public static final int AUDIO_CODEC_EVS_SWB = 19; // 0x13
+    field public static final int AUDIO_CODEC_EVS_WB = 18; // 0x12
+    field public static final int AUDIO_CODEC_G711A = 13; // 0xd
+    field public static final int AUDIO_CODEC_G711AB = 15; // 0xf
+    field public static final int AUDIO_CODEC_G711U = 11; // 0xb
+    field public static final int AUDIO_CODEC_G722 = 14; // 0xe
+    field public static final int AUDIO_CODEC_G723 = 12; // 0xc
+    field public static final int AUDIO_CODEC_G729 = 16; // 0x10
+    field public static final int AUDIO_CODEC_GSM_EFR = 8; // 0x8
+    field public static final int AUDIO_CODEC_GSM_FR = 9; // 0x9
+    field public static final int AUDIO_CODEC_GSM_HR = 10; // 0xa
+    field public static final int AUDIO_CODEC_NONE = 0; // 0x0
+    field public static final int AUDIO_CODEC_QCELP13K = 3; // 0x3
+    field public static final int CAPABILITY_ADD_PARTICIPANT = 67108864; // 0x4000000
+    field public static final int CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO = 8388608; // 0x800000
+    field public static final int CAPABILITY_CAN_PAUSE_VIDEO = 1048576; // 0x100000
+    field public static final int CAPABILITY_CAN_PULL_CALL = 16777216; // 0x1000000
+    field public static final int CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION = 4194304; // 0x400000
+    field @Deprecated public static final int CAPABILITY_CAN_UPGRADE_TO_VIDEO = 524288; // 0x80000
+    field public static final int CAPABILITY_DISCONNECT_FROM_CONFERENCE = 8192; // 0x2000
+    field public static final int CAPABILITY_HOLD = 1; // 0x1
+    field public static final int CAPABILITY_MANAGE_CONFERENCE = 128; // 0x80
+    field public static final int CAPABILITY_MERGE_CONFERENCE = 4; // 0x4
+    field public static final int CAPABILITY_MUTE = 64; // 0x40
+    field public static final int CAPABILITY_RESPOND_VIA_TEXT = 32; // 0x20
+    field public static final int CAPABILITY_SEPARATE_FROM_CONFERENCE = 4096; // 0x1000
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL = 768; // 0x300
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_RX = 256; // 0x100
+    field public static final int CAPABILITY_SUPPORTS_VT_LOCAL_TX = 512; // 0x200
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL = 3072; // 0xc00
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_RX = 1024; // 0x400
+    field public static final int CAPABILITY_SUPPORTS_VT_REMOTE_TX = 2048; // 0x800
+    field public static final int CAPABILITY_SUPPORT_DEFLECT = 33554432; // 0x2000000
+    field public static final int CAPABILITY_SUPPORT_HOLD = 2; // 0x2
+    field public static final int CAPABILITY_SWAP_CONFERENCE = 8; // 0x8
+    field public static final String EVENT_CALL_HOLD_FAILED = "android.telecom.event.CALL_HOLD_FAILED";
+    field public static final String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
+    field public static final String EVENT_CALL_PULL_FAILED = "android.telecom.event.CALL_PULL_FAILED";
+    field public static final String EVENT_CALL_REMOTELY_HELD = "android.telecom.event.CALL_REMOTELY_HELD";
+    field public static final String EVENT_CALL_REMOTELY_UNHELD = "android.telecom.event.CALL_REMOTELY_UNHELD";
+    field public static final String EVENT_CALL_SWITCH_FAILED = "android.telecom.event.CALL_SWITCH_FAILED";
+    field public static final String EVENT_MERGE_COMPLETE = "android.telecom.event.MERGE_COMPLETE";
+    field public static final String EVENT_MERGE_START = "android.telecom.event.MERGE_START";
+    field public static final String EVENT_ON_HOLD_TONE_END = "android.telecom.event.ON_HOLD_TONE_END";
+    field public static final String EVENT_ON_HOLD_TONE_START = "android.telecom.event.ON_HOLD_TONE_START";
+    field public static final String EVENT_RTT_AUDIO_INDICATION_CHANGED = "android.telecom.event.RTT_AUDIO_INDICATION_CHANGED";
+    field public static final String EXTRA_ANSWERING_DROPS_FG_CALL = "android.telecom.extra.ANSWERING_DROPS_FG_CALL";
+    field public static final String EXTRA_ANSWERING_DROPS_FG_CALL_APP_NAME = "android.telecom.extra.ANSWERING_DROPS_FG_CALL_APP_NAME";
+    field public static final String EXTRA_AUDIO_CODEC = "android.telecom.extra.AUDIO_CODEC";
+    field public static final String EXTRA_AUDIO_CODEC_BANDWIDTH_KHZ = "android.telecom.extra.AUDIO_CODEC_BANDWIDTH_KHZ";
+    field public static final String EXTRA_AUDIO_CODEC_BITRATE_KBPS = "android.telecom.extra.AUDIO_CODEC_BITRATE_KBPS";
+    field public static final String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
+    field public static final String EXTRA_CHILD_ADDRESS = "android.telecom.extra.CHILD_ADDRESS";
+    field public static final String EXTRA_IS_RTT_AUDIO_PRESENT = "android.telecom.extra.IS_RTT_AUDIO_PRESENT";
+    field public static final String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
+    field public static final String EXTRA_SIP_INVITE = "android.telecom.extra.SIP_INVITE";
+    field public static final int PROPERTY_ASSISTED_DIALING = 512; // 0x200
+    field public static final int PROPERTY_CROSS_SIM = 8192; // 0x2000
+    field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 32; // 0x20
+    field public static final int PROPERTY_HIGH_DEF_AUDIO = 4; // 0x4
+    field public static final int PROPERTY_IS_ADHOC_CONFERENCE = 4096; // 0x1000
+    field public static final int PROPERTY_IS_EXTERNAL_CALL = 16; // 0x10
+    field public static final int PROPERTY_IS_RTT = 256; // 0x100
+    field public static final int PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL = 1024; // 0x400
+    field public static final int PROPERTY_SELF_MANAGED = 128; // 0x80
+    field public static final int PROPERTY_WIFI = 8; // 0x8
+    field public static final int STATE_ACTIVE = 4; // 0x4
+    field public static final int STATE_DIALING = 3; // 0x3
+    field public static final int STATE_DISCONNECTED = 6; // 0x6
+    field public static final int STATE_HOLDING = 5; // 0x5
+    field public static final int STATE_INITIALIZING = 0; // 0x0
+    field public static final int STATE_NEW = 1; // 0x1
+    field public static final int STATE_PULLING_CALL = 7; // 0x7
+    field public static final int STATE_RINGING = 2; // 0x2
+    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
+    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
+    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
+  }
+
+  public static final class Connection.RttModifyStatus {
+    field public static final int SESSION_MODIFY_REQUEST_FAIL = 2; // 0x2
+    field public static final int SESSION_MODIFY_REQUEST_INVALID = 3; // 0x3
+    field public static final int SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE = 5; // 0x5
+    field public static final int SESSION_MODIFY_REQUEST_SUCCESS = 1; // 0x1
+    field public static final int SESSION_MODIFY_REQUEST_TIMED_OUT = 4; // 0x4
+  }
+
+  public static final class Connection.RttTextStream {
+    method public String read() throws java.io.IOException;
+    method public String readImmediately() throws java.io.IOException;
+    method public void write(String) throws java.io.IOException;
+  }
+
+  public abstract static class Connection.VideoProvider {
+    ctor public Connection.VideoProvider();
+    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
+    method public void changePeerDimensions(int, int);
+    method public void changeVideoQuality(int);
+    method public void handleCallSessionEvent(int);
+    method public abstract void onRequestCameraCapabilities();
+    method public abstract void onRequestConnectionDataUsage();
+    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
+    method public abstract void onSetCamera(String);
+    method public abstract void onSetDeviceOrientation(int);
+    method public abstract void onSetDisplaySurface(android.view.Surface);
+    method public abstract void onSetPauseImage(android.net.Uri);
+    method public abstract void onSetPreviewSurface(android.view.Surface);
+    method public abstract void onSetZoom(float);
+    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
+    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public void setCallDataUsage(long);
+    field public static final int SESSION_EVENT_CAMERA_FAILURE = 5; // 0x5
+    field public static final int SESSION_EVENT_CAMERA_PERMISSION_ERROR = 7; // 0x7
+    field public static final int SESSION_EVENT_CAMERA_READY = 6; // 0x6
+    field public static final int SESSION_EVENT_RX_PAUSE = 1; // 0x1
+    field public static final int SESSION_EVENT_RX_RESUME = 2; // 0x2
+    field public static final int SESSION_EVENT_TX_START = 3; // 0x3
+    field public static final int SESSION_EVENT_TX_STOP = 4; // 0x4
+    field public static final int SESSION_MODIFY_REQUEST_FAIL = 2; // 0x2
+    field public static final int SESSION_MODIFY_REQUEST_INVALID = 3; // 0x3
+    field public static final int SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE = 5; // 0x5
+    field public static final int SESSION_MODIFY_REQUEST_SUCCESS = 1; // 0x1
+    field public static final int SESSION_MODIFY_REQUEST_TIMED_OUT = 4; // 0x4
+  }
+
+  public final class ConnectionRequest implements android.os.Parcelable {
+    ctor public ConnectionRequest(android.telecom.PhoneAccountHandle, android.net.Uri, android.os.Bundle);
+    ctor public ConnectionRequest(android.telecom.PhoneAccountHandle, android.net.Uri, android.os.Bundle, int);
+    method public int describeContents();
+    method public android.telecom.PhoneAccountHandle getAccountHandle();
+    method public android.net.Uri getAddress();
+    method public android.os.Bundle getExtras();
+    method @Nullable public java.util.List<android.net.Uri> getParticipants();
+    method public android.telecom.Connection.RttTextStream getRttTextStream();
+    method public int getVideoState();
+    method public boolean isAdhocConferenceCall();
+    method public boolean isRequestingRtt();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ConnectionRequest> CREATOR;
+  }
+
+  public abstract class ConnectionService extends android.app.Service {
+    ctor public ConnectionService();
+    method public final void addConference(android.telecom.Conference);
+    method public final void addExistingConnection(android.telecom.PhoneAccountHandle, android.telecom.Connection);
+    method public final void conferenceRemoteConnections(android.telecom.RemoteConnection, android.telecom.RemoteConnection);
+    method public final void connectionServiceFocusReleased();
+    method @Nullable public final android.telecom.RemoteConference createRemoteIncomingConference(@Nullable android.telecom.PhoneAccountHandle, @Nullable android.telecom.ConnectionRequest);
+    method @Nullable public final android.telecom.RemoteConnection createRemoteIncomingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+    method @Nullable public final android.telecom.RemoteConference createRemoteOutgoingConference(@Nullable android.telecom.PhoneAccountHandle, @Nullable android.telecom.ConnectionRequest);
+    method @Nullable public final android.telecom.RemoteConnection createRemoteOutgoingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+    method public final java.util.Collection<android.telecom.Conference> getAllConferences();
+    method public final java.util.Collection<android.telecom.Connection> getAllConnections();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public void onConference(android.telecom.Connection, android.telecom.Connection);
+    method public void onConnectionServiceFocusGained();
+    method public void onConnectionServiceFocusLost();
+    method @Nullable public android.telecom.Conference onCreateIncomingConference(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+    method public void onCreateIncomingConferenceFailed(@Nullable android.telecom.PhoneAccountHandle, @Nullable android.telecom.ConnectionRequest);
+    method public android.telecom.Connection onCreateIncomingConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method public void onCreateIncomingConnectionFailed(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method public android.telecom.Connection onCreateIncomingHandoverConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method @Nullable public android.telecom.Conference onCreateOutgoingConference(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+    method public void onCreateOutgoingConferenceFailed(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.ConnectionRequest);
+    method public android.telecom.Connection onCreateOutgoingConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method public void onCreateOutgoingConnectionFailed(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method public android.telecom.Connection onCreateOutgoingHandoverConnection(android.telecom.PhoneAccountHandle, android.telecom.ConnectionRequest);
+    method public void onHandoverFailed(android.telecom.ConnectionRequest, int);
+    method public void onRemoteConferenceAdded(android.telecom.RemoteConference);
+    method public void onRemoteExistingConnectionAdded(android.telecom.RemoteConnection);
+    field public static final String SERVICE_INTERFACE = "android.telecom.ConnectionService";
+  }
+
+  public final class DisconnectCause implements android.os.Parcelable {
+    ctor public DisconnectCause(int);
+    ctor public DisconnectCause(int, String);
+    ctor public DisconnectCause(int, CharSequence, CharSequence, String);
+    ctor public DisconnectCause(int, CharSequence, CharSequence, String, int);
+    method public int describeContents();
+    method public int getCode();
+    method public CharSequence getDescription();
+    method public CharSequence getLabel();
+    method public String getReason();
+    method public int getTone();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ANSWERED_ELSEWHERE = 11; // 0xb
+    field public static final int BUSY = 7; // 0x7
+    field public static final int CALL_PULLED = 12; // 0xc
+    field public static final int CANCELED = 4; // 0x4
+    field public static final int CONNECTION_MANAGER_NOT_SUPPORTED = 10; // 0xa
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.DisconnectCause> CREATOR;
+    field public static final int ERROR = 1; // 0x1
+    field public static final int LOCAL = 2; // 0x2
+    field public static final int MISSED = 5; // 0x5
+    field public static final int OTHER = 9; // 0x9
+    field public static final String REASON_EMERGENCY_CALL_PLACED = "REASON_EMERGENCY_CALL_PLACED";
+    field public static final String REASON_EMULATING_SINGLE_CALL = "EMULATING_SINGLE_CALL";
+    field public static final String REASON_IMS_ACCESS_BLOCKED = "REASON_IMS_ACCESS_BLOCKED";
+    field public static final String REASON_WIFI_ON_BUT_WFC_OFF = "REASON_WIFI_ON_BUT_WFC_OFF";
+    field public static final int REJECTED = 6; // 0x6
+    field public static final int REMOTE = 3; // 0x3
+    field public static final int RESTRICTED = 8; // 0x8
+    field public static final int UNKNOWN = 0; // 0x0
+  }
+
+  public class GatewayInfo implements android.os.Parcelable {
+    ctor public GatewayInfo(String, android.net.Uri, android.net.Uri);
+    method public int describeContents();
+    method public android.net.Uri getGatewayAddress();
+    method public String getGatewayProviderPackageName();
+    method public android.net.Uri getOriginalAddress();
+    method public boolean isEmpty();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.GatewayInfo> CREATOR;
+  }
+
+  public abstract class InCallService extends android.app.Service {
+    ctor public InCallService();
+    method public final boolean canAddCall();
+    method public final android.telecom.CallAudioState getCallAudioState();
+    method public final java.util.List<android.telecom.Call> getCalls();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onBringToForeground(boolean);
+    method public void onCallAdded(android.telecom.Call);
+    method public void onCallAudioStateChanged(android.telecom.CallAudioState);
+    method public void onCallRemoved(android.telecom.Call);
+    method public void onCanAddCallChanged(boolean);
+    method public void onConnectionEvent(android.telecom.Call, String, android.os.Bundle);
+    method public void onSilenceRinger();
+    method public final void requestBluetoothAudio(@NonNull android.bluetooth.BluetoothDevice);
+    method public final void setAudioRoute(int);
+    method public final void setMuted(boolean);
+    field public static final String SERVICE_INTERFACE = "android.telecom.InCallService";
+  }
+
+  public abstract static class InCallService.VideoCall {
+    ctor public InCallService.VideoCall();
+    method public abstract void registerCallback(android.telecom.InCallService.VideoCall.Callback);
+    method public abstract void registerCallback(android.telecom.InCallService.VideoCall.Callback, android.os.Handler);
+    method public abstract void requestCallDataUsage();
+    method public abstract void requestCameraCapabilities();
+    method public abstract void sendSessionModifyRequest(android.telecom.VideoProfile);
+    method public abstract void sendSessionModifyResponse(android.telecom.VideoProfile);
+    method public abstract void setCamera(String);
+    method public abstract void setDeviceOrientation(int);
+    method public abstract void setDisplaySurface(android.view.Surface);
+    method public abstract void setPauseImage(android.net.Uri);
+    method public abstract void setPreviewSurface(android.view.Surface);
+    method public abstract void setZoom(float);
+    method public abstract void unregisterCallback(android.telecom.InCallService.VideoCall.Callback);
+  }
+
+  public abstract static class InCallService.VideoCall.Callback {
+    ctor public InCallService.VideoCall.Callback();
+    method public abstract void onCallDataUsageChanged(long);
+    method public abstract void onCallSessionEvent(int);
+    method public abstract void onCameraCapabilitiesChanged(android.telecom.VideoProfile.CameraCapabilities);
+    method public abstract void onPeerDimensionsChanged(int, int);
+    method public abstract void onSessionModifyRequestReceived(android.telecom.VideoProfile);
+    method public abstract void onSessionModifyResponseReceived(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public abstract void onVideoQualityChanged(int);
+  }
+
+  public final class PhoneAccount implements android.os.Parcelable {
+    method public static android.telecom.PhoneAccount.Builder builder(android.telecom.PhoneAccountHandle, CharSequence);
+    method public int describeContents();
+    method public android.telecom.PhoneAccountHandle getAccountHandle();
+    method public android.net.Uri getAddress();
+    method public int getCapabilities();
+    method public android.os.Bundle getExtras();
+    method public int getHighlightColor();
+    method public android.graphics.drawable.Icon getIcon();
+    method public CharSequence getLabel();
+    method public CharSequence getShortDescription();
+    method public android.net.Uri getSubscriptionAddress();
+    method public java.util.List<java.lang.String> getSupportedUriSchemes();
+    method public boolean hasCapabilities(int);
+    method public boolean isEnabled();
+    method public boolean supportsUriScheme(String);
+    method public android.telecom.PhoneAccount.Builder toBuilder();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CAPABILITY_ADHOC_CONFERENCE_CALLING = 16384; // 0x4000
+    field public static final int CAPABILITY_CALL_COMPOSER = 32768; // 0x8000
+    field public static final int CAPABILITY_CALL_PROVIDER = 2; // 0x2
+    field public static final int CAPABILITY_CALL_SUBJECT = 64; // 0x40
+    field public static final int CAPABILITY_CONNECTION_MANAGER = 1; // 0x1
+    field public static final int CAPABILITY_PLACE_EMERGENCY_CALLS = 16; // 0x10
+    field public static final int CAPABILITY_RTT = 4096; // 0x1000
+    field public static final int CAPABILITY_SELF_MANAGED = 2048; // 0x800
+    field public static final int CAPABILITY_SIM_SUBSCRIPTION = 4; // 0x4
+    field public static final int CAPABILITY_SUPPORTS_VIDEO_CALLING = 1024; // 0x400
+    field public static final int CAPABILITY_VIDEO_CALLING = 8; // 0x8
+    field public static final int CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE = 256; // 0x100
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.PhoneAccount> CREATOR;
+    field public static final String EXTRA_ADD_SELF_MANAGED_CALLS_TO_INCALLSERVICE = "android.telecom.extra.ADD_SELF_MANAGED_CALLS_TO_INCALLSERVICE";
+    field public static final String EXTRA_ALWAYS_USE_VOIP_AUDIO_MODE = "android.telecom.extra.ALWAYS_USE_VOIP_AUDIO_MODE";
+    field public static final String EXTRA_CALL_SUBJECT_CHARACTER_ENCODING = "android.telecom.extra.CALL_SUBJECT_CHARACTER_ENCODING";
+    field public static final String EXTRA_CALL_SUBJECT_MAX_LENGTH = "android.telecom.extra.CALL_SUBJECT_MAX_LENGTH";
+    field public static final String EXTRA_LOG_SELF_MANAGED_CALLS = "android.telecom.extra.LOG_SELF_MANAGED_CALLS";
+    field public static final String EXTRA_SUPPORTS_HANDOVER_FROM = "android.telecom.extra.SUPPORTS_HANDOVER_FROM";
+    field public static final String EXTRA_SUPPORTS_HANDOVER_TO = "android.telecom.extra.SUPPORTS_HANDOVER_TO";
+    field public static final int NO_HIGHLIGHT_COLOR = 0; // 0x0
+    field public static final int NO_RESOURCE_ID = -1; // 0xffffffff
+    field public static final String SCHEME_SIP = "sip";
+    field public static final String SCHEME_TEL = "tel";
+    field public static final String SCHEME_VOICEMAIL = "voicemail";
+  }
+
+  public static class PhoneAccount.Builder {
+    ctor public PhoneAccount.Builder(android.telecom.PhoneAccountHandle, CharSequence);
+    ctor public PhoneAccount.Builder(android.telecom.PhoneAccount);
+    method public android.telecom.PhoneAccount.Builder addSupportedUriScheme(String);
+    method public android.telecom.PhoneAccount build();
+    method public android.telecom.PhoneAccount.Builder setAddress(android.net.Uri);
+    method public android.telecom.PhoneAccount.Builder setCapabilities(int);
+    method public android.telecom.PhoneAccount.Builder setExtras(android.os.Bundle);
+    method public android.telecom.PhoneAccount.Builder setHighlightColor(int);
+    method public android.telecom.PhoneAccount.Builder setIcon(android.graphics.drawable.Icon);
+    method public android.telecom.PhoneAccount.Builder setShortDescription(CharSequence);
+    method public android.telecom.PhoneAccount.Builder setSubscriptionAddress(android.net.Uri);
+    method public android.telecom.PhoneAccount.Builder setSupportedUriSchemes(java.util.List<java.lang.String>);
+  }
+
+  public final class PhoneAccountHandle implements android.os.Parcelable {
+    ctor public PhoneAccountHandle(@NonNull android.content.ComponentName, @NonNull String);
+    ctor public PhoneAccountHandle(@NonNull android.content.ComponentName, @NonNull String, @NonNull android.os.UserHandle);
+    method public int describeContents();
+    method public android.content.ComponentName getComponentName();
+    method public String getId();
+    method public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountHandle> CREATOR;
+  }
+
+  public final class PhoneAccountSuggestion implements android.os.Parcelable {
+    ctor public PhoneAccountSuggestion(@NonNull android.telecom.PhoneAccountHandle, int, boolean);
+    method public int describeContents();
+    method @NonNull public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
+    method public int getReason();
+    method public boolean shouldAutoSelect();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountSuggestion> CREATOR;
+    field public static final int REASON_FREQUENT = 2; // 0x2
+    field public static final int REASON_INTRA_CARRIER = 1; // 0x1
+    field public static final int REASON_NONE = 0; // 0x0
+    field public static final int REASON_OTHER = 4; // 0x4
+    field public static final int REASON_USER_SET = 3; // 0x3
+  }
+
+  public final class RemoteConference {
+    method public void disconnect();
+    method public java.util.List<android.telecom.RemoteConnection> getConferenceableConnections();
+    method public int getConnectionCapabilities();
+    method public int getConnectionProperties();
+    method public java.util.List<android.telecom.RemoteConnection> getConnections();
+    method public android.telecom.DisconnectCause getDisconnectCause();
+    method public android.os.Bundle getExtras();
+    method public int getState();
+    method public void hold();
+    method public void merge();
+    method public void playDtmfTone(char);
+    method public void registerCallback(android.telecom.RemoteConference.Callback);
+    method public void registerCallback(android.telecom.RemoteConference.Callback, android.os.Handler);
+    method public void separate(android.telecom.RemoteConnection);
+    method public void setCallAudioState(android.telecom.CallAudioState);
+    method public void stopDtmfTone();
+    method public void swap();
+    method public void unhold();
+    method public void unregisterCallback(android.telecom.RemoteConference.Callback);
+  }
+
+  public abstract static class RemoteConference.Callback {
+    ctor public RemoteConference.Callback();
+    method public void onConferenceableConnectionsChanged(android.telecom.RemoteConference, java.util.List<android.telecom.RemoteConnection>);
+    method public void onConnectionAdded(android.telecom.RemoteConference, android.telecom.RemoteConnection);
+    method public void onConnectionCapabilitiesChanged(android.telecom.RemoteConference, int);
+    method public void onConnectionPropertiesChanged(android.telecom.RemoteConference, int);
+    method public void onConnectionRemoved(android.telecom.RemoteConference, android.telecom.RemoteConnection);
+    method public void onDestroyed(android.telecom.RemoteConference);
+    method public void onDisconnected(android.telecom.RemoteConference, android.telecom.DisconnectCause);
+    method public void onExtrasChanged(android.telecom.RemoteConference, @Nullable android.os.Bundle);
+    method public void onStateChanged(android.telecom.RemoteConference, int, int);
+  }
+
+  public final class RemoteConnection {
+    method public void abort();
+    method public void addConferenceParticipants(@NonNull java.util.List<android.net.Uri>);
+    method public void answer();
+    method public void disconnect();
+    method public android.net.Uri getAddress();
+    method public int getAddressPresentation();
+    method public CharSequence getCallerDisplayName();
+    method public int getCallerDisplayNamePresentation();
+    method public android.telecom.RemoteConference getConference();
+    method public java.util.List<android.telecom.RemoteConnection> getConferenceableConnections();
+    method public int getConnectionCapabilities();
+    method public int getConnectionProperties();
+    method public android.telecom.DisconnectCause getDisconnectCause();
+    method public android.os.Bundle getExtras();
+    method public int getState();
+    method public android.telecom.StatusHints getStatusHints();
+    method public android.telecom.RemoteConnection.VideoProvider getVideoProvider();
+    method public int getVideoState();
+    method public void hold();
+    method public boolean isRingbackRequested();
+    method public boolean isVoipAudioMode();
+    method public void playDtmfTone(char);
+    method public void postDialContinue(boolean);
+    method public void pullExternalCall();
+    method public void registerCallback(android.telecom.RemoteConnection.Callback);
+    method public void registerCallback(android.telecom.RemoteConnection.Callback, android.os.Handler);
+    method public void reject();
+    method public void setCallAudioState(android.telecom.CallAudioState);
+    method public void stopDtmfTone();
+    method public void unhold();
+    method public void unregisterCallback(android.telecom.RemoteConnection.Callback);
+  }
+
+  public abstract static class RemoteConnection.Callback {
+    ctor public RemoteConnection.Callback();
+    method public void onAddressChanged(android.telecom.RemoteConnection, android.net.Uri, int);
+    method public void onCallerDisplayNameChanged(android.telecom.RemoteConnection, String, int);
+    method public void onConferenceChanged(android.telecom.RemoteConnection, android.telecom.RemoteConference);
+    method public void onConferenceableConnectionsChanged(android.telecom.RemoteConnection, java.util.List<android.telecom.RemoteConnection>);
+    method public void onConnectionCapabilitiesChanged(android.telecom.RemoteConnection, int);
+    method public void onConnectionEvent(android.telecom.RemoteConnection, String, android.os.Bundle);
+    method public void onConnectionPropertiesChanged(android.telecom.RemoteConnection, int);
+    method public void onDestroyed(android.telecom.RemoteConnection);
+    method public void onDisconnected(android.telecom.RemoteConnection, android.telecom.DisconnectCause);
+    method public void onExtrasChanged(android.telecom.RemoteConnection, @Nullable android.os.Bundle);
+    method public void onPostDialChar(android.telecom.RemoteConnection, char);
+    method public void onPostDialWait(android.telecom.RemoteConnection, String);
+    method public void onRingbackRequested(android.telecom.RemoteConnection, boolean);
+    method public void onStateChanged(android.telecom.RemoteConnection, int);
+    method public void onStatusHintsChanged(android.telecom.RemoteConnection, android.telecom.StatusHints);
+    method public void onVideoProviderChanged(android.telecom.RemoteConnection, android.telecom.RemoteConnection.VideoProvider);
+    method public void onVideoStateChanged(android.telecom.RemoteConnection, int);
+    method public void onVoipAudioChanged(android.telecom.RemoteConnection, boolean);
+  }
+
+  public static class RemoteConnection.VideoProvider {
+    method public void registerCallback(android.telecom.RemoteConnection.VideoProvider.Callback);
+    method public void requestCallDataUsage();
+    method public void requestCameraCapabilities();
+    method public void sendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public void sendSessionModifyResponse(android.telecom.VideoProfile);
+    method public void setCamera(String);
+    method public void setDeviceOrientation(int);
+    method public void setDisplaySurface(android.view.Surface);
+    method public void setPauseImage(android.net.Uri);
+    method public void setPreviewSurface(android.view.Surface);
+    method public void setZoom(float);
+    method public void unregisterCallback(android.telecom.RemoteConnection.VideoProvider.Callback);
+  }
+
+  public abstract static class RemoteConnection.VideoProvider.Callback {
+    ctor public RemoteConnection.VideoProvider.Callback();
+    method public void onCallDataUsageChanged(android.telecom.RemoteConnection.VideoProvider, long);
+    method public void onCallSessionEvent(android.telecom.RemoteConnection.VideoProvider, int);
+    method public void onCameraCapabilitiesChanged(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile.CameraCapabilities);
+    method public void onPeerDimensionsChanged(android.telecom.RemoteConnection.VideoProvider, int, int);
+    method public void onSessionModifyRequestReceived(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile);
+    method public void onSessionModifyResponseReceived(android.telecom.RemoteConnection.VideoProvider, int, android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public void onVideoQualityChanged(android.telecom.RemoteConnection.VideoProvider, int);
+  }
+
+  public final class StatusHints implements android.os.Parcelable {
+    ctor public StatusHints(CharSequence, android.graphics.drawable.Icon, android.os.Bundle);
+    method public int describeContents();
+    method public android.os.Bundle getExtras();
+    method public android.graphics.drawable.Icon getIcon();
+    method public CharSequence getLabel();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StatusHints> CREATOR;
+  }
+
+  public class TelecomManager {
+    method public void acceptHandover(android.net.Uri, int, android.telecom.PhoneAccountHandle);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ANSWER_PHONE_CALLS, android.Manifest.permission.MODIFY_PHONE_STATE}) public void acceptRingingCall();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ANSWER_PHONE_CALLS, android.Manifest.permission.MODIFY_PHONE_STATE}) public void acceptRingingCall(int);
+    method public void addNewIncomingCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
+    method public void addNewIncomingConference(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void cancelMissedCallsNotification();
+    method public android.content.Intent createManageBlockedNumbersIntent();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ANSWER_PHONE_CALLS) public boolean endCall();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.net.Uri getAdnUriForPhoneAccount(android.telecom.PhoneAccountHandle);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts();
+    method public String getDefaultDialerPackage();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telecom.PhoneAccountHandle getDefaultOutgoingPhoneAccount(String);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.READ_SMS, android.Manifest.permission.READ_PHONE_NUMBERS}, conditional=true) public String getLine1Number(android.telecom.PhoneAccountHandle);
+    method public android.telecom.PhoneAccount getPhoneAccount(android.telecom.PhoneAccountHandle);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getSelfManagedPhoneAccounts();
+    method public android.telecom.PhoneAccountHandle getSimCallManager();
+    method @Nullable public android.telecom.PhoneAccountHandle getSimCallManagerForSubscription(int);
+    method @Nullable public String getSystemDialerPackage();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telecom.PhoneAccountHandle getUserSelectedOutgoingPhoneAccount();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVoiceMailNumber(android.telecom.PhoneAccountHandle);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handleMmi(String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handleMmi(String, android.telecom.PhoneAccountHandle);
+    method public boolean hasManageOngoingCallsPermission();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isInCall();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isInManagedCall();
+    method public boolean isIncomingCallPermitted(android.telecom.PhoneAccountHandle);
+    method public boolean isOutgoingCallPermitted(android.telecom.PhoneAccountHandle);
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PHONE_STATE}) public boolean isTtySupported();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVoiceMailNumber(android.telecom.PhoneAccountHandle, String);
+    method @RequiresPermission(anyOf={android.Manifest.permission.CALL_PHONE, android.Manifest.permission.MANAGE_OWN_CALLS}) public void placeCall(android.net.Uri, android.os.Bundle);
+    method public void registerPhoneAccount(android.telecom.PhoneAccount);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void showInCallScreen(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void silenceRinger();
+    method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void startConference(@NonNull java.util.List<android.net.Uri>, @NonNull android.os.Bundle);
+    method public void unregisterPhoneAccount(android.telecom.PhoneAccountHandle);
+    field public static final String ACTION_CHANGE_DEFAULT_DIALER = "android.telecom.action.CHANGE_DEFAULT_DIALER";
+    field public static final String ACTION_CHANGE_PHONE_ACCOUNTS = "android.telecom.action.CHANGE_PHONE_ACCOUNTS";
+    field public static final String ACTION_CONFIGURE_PHONE_ACCOUNT = "android.telecom.action.CONFIGURE_PHONE_ACCOUNT";
+    field public static final String ACTION_DEFAULT_CALL_SCREENING_APP_CHANGED = "android.telecom.action.DEFAULT_CALL_SCREENING_APP_CHANGED";
+    field public static final String ACTION_DEFAULT_DIALER_CHANGED = "android.telecom.action.DEFAULT_DIALER_CHANGED";
+    field @Deprecated public static final String ACTION_INCOMING_CALL = "android.telecom.action.INCOMING_CALL";
+    field public static final String ACTION_PHONE_ACCOUNT_REGISTERED = "android.telecom.action.PHONE_ACCOUNT_REGISTERED";
+    field public static final String ACTION_PHONE_ACCOUNT_UNREGISTERED = "android.telecom.action.PHONE_ACCOUNT_UNREGISTERED";
+    field public static final String ACTION_POST_CALL = "android.telecom.action.POST_CALL";
+    field public static final String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS = "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS";
+    field public static final String ACTION_SHOW_CALL_SETTINGS = "android.telecom.action.SHOW_CALL_SETTINGS";
+    field public static final String ACTION_SHOW_MISSED_CALLS_NOTIFICATION = "android.telecom.action.SHOW_MISSED_CALLS_NOTIFICATION";
+    field public static final String ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS = "android.telecom.action.SHOW_RESPOND_VIA_SMS_SETTINGS";
+    field public static final char DTMF_CHARACTER_PAUSE = 44; // 0x002c ','
+    field public static final char DTMF_CHARACTER_WAIT = 59; // 0x003b ';'
+    field public static final int DURATION_LONG = 3; // 0x3
+    field public static final int DURATION_MEDIUM = 2; // 0x2
+    field public static final int DURATION_SHORT = 1; // 0x1
+    field public static final int DURATION_VERY_SHORT = 0; // 0x0
+    field public static final String EXTRA_CALL_BACK_NUMBER = "android.telecom.extra.CALL_BACK_NUMBER";
+    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telecom.extra.CALL_DISCONNECT_CAUSE";
+    field public static final String EXTRA_CALL_DISCONNECT_MESSAGE = "android.telecom.extra.CALL_DISCONNECT_MESSAGE";
+    field public static final String EXTRA_CALL_DURATION = "android.telecom.extra.CALL_DURATION";
+    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telecom.extra.CALL_NETWORK_TYPE";
+    field public static final String EXTRA_CALL_SUBJECT = "android.telecom.extra.CALL_SUBJECT";
+    field public static final String EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME = "android.telecom.extra.CHANGE_DEFAULT_DIALER_PACKAGE_NAME";
+    field public static final String EXTRA_DEFAULT_CALL_SCREENING_APP_COMPONENT_NAME = "android.telecom.extra.DEFAULT_CALL_SCREENING_APP_COMPONENT_NAME";
+    field public static final String EXTRA_DISCONNECT_CAUSE = "android.telecom.extra.DISCONNECT_CAUSE";
+    field public static final String EXTRA_HANDLE = "android.telecom.extra.HANDLE";
+    field public static final String EXTRA_HAS_PICTURE = "android.telecom.extra.HAS_PICTURE";
+    field public static final String EXTRA_INCOMING_CALL_ADDRESS = "android.telecom.extra.INCOMING_CALL_ADDRESS";
+    field public static final String EXTRA_INCOMING_CALL_EXTRAS = "android.telecom.extra.INCOMING_CALL_EXTRAS";
+    field public static final String EXTRA_INCOMING_VIDEO_STATE = "android.telecom.extra.INCOMING_VIDEO_STATE";
+    field public static final String EXTRA_IS_DEFAULT_CALL_SCREENING_APP = "android.telecom.extra.IS_DEFAULT_CALL_SCREENING_APP";
+    field public static final String EXTRA_LOCATION = "android.telecom.extra.LOCATION";
+    field public static final String EXTRA_NOTIFICATION_COUNT = "android.telecom.extra.NOTIFICATION_COUNT";
+    field public static final String EXTRA_NOTIFICATION_PHONE_NUMBER = "android.telecom.extra.NOTIFICATION_PHONE_NUMBER";
+    field public static final String EXTRA_OUTGOING_CALL_EXTRAS = "android.telecom.extra.OUTGOING_CALL_EXTRAS";
+    field public static final String EXTRA_OUTGOING_PICTURE = "android.telecom.extra.OUTGOING_PICTURE";
+    field public static final String EXTRA_PHONE_ACCOUNT_HANDLE = "android.telecom.extra.PHONE_ACCOUNT_HANDLE";
+    field public static final String EXTRA_PICTURE_URI = "android.telecom.extra.PICTURE_URI";
+    field public static final String EXTRA_PRIORITY = "android.telecom.extra.PRIORITY";
+    field public static final String EXTRA_START_CALL_WITH_RTT = "android.telecom.extra.START_CALL_WITH_RTT";
+    field public static final String EXTRA_START_CALL_WITH_SPEAKERPHONE = "android.telecom.extra.START_CALL_WITH_SPEAKERPHONE";
+    field public static final String EXTRA_START_CALL_WITH_VIDEO_STATE = "android.telecom.extra.START_CALL_WITH_VIDEO_STATE";
+    field public static final String EXTRA_USE_ASSISTED_DIALING = "android.telecom.extra.USE_ASSISTED_DIALING";
+    field public static final String GATEWAY_ORIGINAL_ADDRESS = "android.telecom.extra.GATEWAY_ORIGINAL_ADDRESS";
+    field public static final String GATEWAY_PROVIDER_PACKAGE = "android.telecom.extra.GATEWAY_PROVIDER_PACKAGE";
+    field public static final String METADATA_INCLUDE_EXTERNAL_CALLS = "android.telecom.INCLUDE_EXTERNAL_CALLS";
+    field public static final String METADATA_INCLUDE_SELF_MANAGED_CALLS = "android.telecom.INCLUDE_SELF_MANAGED_CALLS";
+    field public static final String METADATA_IN_CALL_SERVICE_CAR_MODE_UI = "android.telecom.IN_CALL_SERVICE_CAR_MODE_UI";
+    field public static final String METADATA_IN_CALL_SERVICE_RINGING = "android.telecom.IN_CALL_SERVICE_RINGING";
+    field public static final String METADATA_IN_CALL_SERVICE_UI = "android.telecom.IN_CALL_SERVICE_UI";
+    field public static final int PRESENTATION_ALLOWED = 1; // 0x1
+    field public static final int PRESENTATION_PAYPHONE = 4; // 0x4
+    field public static final int PRESENTATION_RESTRICTED = 2; // 0x2
+    field public static final int PRESENTATION_UNKNOWN = 3; // 0x3
+    field public static final int PRIORITY_NORMAL = 0; // 0x0
+    field public static final int PRIORITY_URGENT = 1; // 0x1
+  }
+
+  public class VideoProfile implements android.os.Parcelable {
+    ctor public VideoProfile(int);
+    ctor public VideoProfile(int, int);
+    method public int describeContents();
+    method public int getQuality();
+    method public int getVideoState();
+    method public static boolean isAudioOnly(int);
+    method public static boolean isBidirectional(int);
+    method public static boolean isPaused(int);
+    method public static boolean isReceptionEnabled(int);
+    method public static boolean isTransmissionEnabled(int);
+    method public static boolean isVideo(int);
+    method public static String videoStateToString(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.VideoProfile> CREATOR;
+    field public static final int QUALITY_DEFAULT = 4; // 0x4
+    field public static final int QUALITY_HIGH = 1; // 0x1
+    field public static final int QUALITY_LOW = 3; // 0x3
+    field public static final int QUALITY_MEDIUM = 2; // 0x2
+    field public static final int STATE_AUDIO_ONLY = 0; // 0x0
+    field public static final int STATE_BIDIRECTIONAL = 3; // 0x3
+    field public static final int STATE_PAUSED = 4; // 0x4
+    field public static final int STATE_RX_ENABLED = 2; // 0x2
+    field public static final int STATE_TX_ENABLED = 1; // 0x1
+  }
+
+  public static final class VideoProfile.CameraCapabilities implements android.os.Parcelable {
+    ctor public VideoProfile.CameraCapabilities(@IntRange(from=0) int, @IntRange(from=0) int);
+    ctor public VideoProfile.CameraCapabilities(@IntRange(from=0) int, @IntRange(from=0) int, boolean, @FloatRange(from=1.0f) float);
+    method public int describeContents();
+    method public int getHeight();
+    method public float getMaxZoom();
+    method public int getWidth();
+    method public boolean isZoomSupported();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.VideoProfile.CameraCapabilities> CREATOR;
+  }
+
+}
+
+package android.telephony {
+
+  public final class AccessNetworkConstants {
+    field public static final int TRANSPORT_TYPE_WLAN = 2; // 0x2
+    field public static final int TRANSPORT_TYPE_WWAN = 1; // 0x1
+  }
+
+  public static final class AccessNetworkConstants.AccessNetworkType {
+    field public static final int CDMA2000 = 4; // 0x4
+    field public static final int EUTRAN = 3; // 0x3
+    field public static final int GERAN = 1; // 0x1
+    field public static final int IWLAN = 5; // 0x5
+    field public static final int NGRAN = 6; // 0x6
+    field public static final int UNKNOWN = 0; // 0x0
+    field public static final int UTRAN = 2; // 0x2
+  }
+
+  public static final class AccessNetworkConstants.EutranBand {
+    field public static final int BAND_1 = 1; // 0x1
+    field public static final int BAND_10 = 10; // 0xa
+    field public static final int BAND_11 = 11; // 0xb
+    field public static final int BAND_12 = 12; // 0xc
+    field public static final int BAND_13 = 13; // 0xd
+    field public static final int BAND_14 = 14; // 0xe
+    field public static final int BAND_17 = 17; // 0x11
+    field public static final int BAND_18 = 18; // 0x12
+    field public static final int BAND_19 = 19; // 0x13
+    field public static final int BAND_2 = 2; // 0x2
+    field public static final int BAND_20 = 20; // 0x14
+    field public static final int BAND_21 = 21; // 0x15
+    field public static final int BAND_22 = 22; // 0x16
+    field public static final int BAND_23 = 23; // 0x17
+    field public static final int BAND_24 = 24; // 0x18
+    field public static final int BAND_25 = 25; // 0x19
+    field public static final int BAND_26 = 26; // 0x1a
+    field public static final int BAND_27 = 27; // 0x1b
+    field public static final int BAND_28 = 28; // 0x1c
+    field public static final int BAND_3 = 3; // 0x3
+    field public static final int BAND_30 = 30; // 0x1e
+    field public static final int BAND_31 = 31; // 0x1f
+    field public static final int BAND_33 = 33; // 0x21
+    field public static final int BAND_34 = 34; // 0x22
+    field public static final int BAND_35 = 35; // 0x23
+    field public static final int BAND_36 = 36; // 0x24
+    field public static final int BAND_37 = 37; // 0x25
+    field public static final int BAND_38 = 38; // 0x26
+    field public static final int BAND_39 = 39; // 0x27
+    field public static final int BAND_4 = 4; // 0x4
+    field public static final int BAND_40 = 40; // 0x28
+    field public static final int BAND_41 = 41; // 0x29
+    field public static final int BAND_42 = 42; // 0x2a
+    field public static final int BAND_43 = 43; // 0x2b
+    field public static final int BAND_44 = 44; // 0x2c
+    field public static final int BAND_45 = 45; // 0x2d
+    field public static final int BAND_46 = 46; // 0x2e
+    field public static final int BAND_47 = 47; // 0x2f
+    field public static final int BAND_48 = 48; // 0x30
+    field public static final int BAND_49 = 49; // 0x31
+    field public static final int BAND_5 = 5; // 0x5
+    field public static final int BAND_50 = 50; // 0x32
+    field public static final int BAND_51 = 51; // 0x33
+    field public static final int BAND_52 = 52; // 0x34
+    field public static final int BAND_53 = 53; // 0x35
+    field public static final int BAND_6 = 6; // 0x6
+    field public static final int BAND_65 = 65; // 0x41
+    field public static final int BAND_66 = 66; // 0x42
+    field public static final int BAND_68 = 68; // 0x44
+    field public static final int BAND_7 = 7; // 0x7
+    field public static final int BAND_70 = 70; // 0x46
+    field public static final int BAND_71 = 71; // 0x47
+    field public static final int BAND_72 = 72; // 0x48
+    field public static final int BAND_73 = 73; // 0x49
+    field public static final int BAND_74 = 74; // 0x4a
+    field public static final int BAND_8 = 8; // 0x8
+    field public static final int BAND_85 = 85; // 0x55
+    field public static final int BAND_87 = 87; // 0x57
+    field public static final int BAND_88 = 88; // 0x58
+    field public static final int BAND_9 = 9; // 0x9
+  }
+
+  public static final class AccessNetworkConstants.GeranBand {
+    field public static final int BAND_450 = 3; // 0x3
+    field public static final int BAND_480 = 4; // 0x4
+    field public static final int BAND_710 = 5; // 0x5
+    field public static final int BAND_750 = 6; // 0x6
+    field public static final int BAND_850 = 8; // 0x8
+    field public static final int BAND_DCS1800 = 12; // 0xc
+    field public static final int BAND_E900 = 10; // 0xa
+    field public static final int BAND_ER900 = 14; // 0xe
+    field public static final int BAND_P900 = 9; // 0x9
+    field public static final int BAND_PCS1900 = 13; // 0xd
+    field public static final int BAND_R900 = 11; // 0xb
+    field public static final int BAND_T380 = 1; // 0x1
+    field public static final int BAND_T410 = 2; // 0x2
+    field public static final int BAND_T810 = 7; // 0x7
+  }
+
+  public static final class AccessNetworkConstants.NgranBands {
+    field public static final int BAND_1 = 1; // 0x1
+    field public static final int BAND_12 = 12; // 0xc
+    field public static final int BAND_14 = 14; // 0xe
+    field public static final int BAND_18 = 18; // 0x12
+    field public static final int BAND_2 = 2; // 0x2
+    field public static final int BAND_20 = 20; // 0x14
+    field public static final int BAND_25 = 25; // 0x19
+    field public static final int BAND_257 = 257; // 0x101
+    field public static final int BAND_258 = 258; // 0x102
+    field public static final int BAND_26 = 26; // 0x1a
+    field public static final int BAND_260 = 260; // 0x104
+    field public static final int BAND_261 = 261; // 0x105
+    field public static final int BAND_28 = 28; // 0x1c
+    field public static final int BAND_29 = 29; // 0x1d
+    field public static final int BAND_3 = 3; // 0x3
+    field public static final int BAND_30 = 30; // 0x1e
+    field public static final int BAND_34 = 34; // 0x22
+    field public static final int BAND_38 = 38; // 0x26
+    field public static final int BAND_39 = 39; // 0x27
+    field public static final int BAND_40 = 40; // 0x28
+    field public static final int BAND_41 = 41; // 0x29
+    field public static final int BAND_46 = 46; // 0x2e
+    field public static final int BAND_48 = 48; // 0x30
+    field public static final int BAND_5 = 5; // 0x5
+    field public static final int BAND_50 = 50; // 0x32
+    field public static final int BAND_51 = 51; // 0x33
+    field public static final int BAND_53 = 53; // 0x35
+    field public static final int BAND_65 = 65; // 0x41
+    field public static final int BAND_66 = 66; // 0x42
+    field public static final int BAND_7 = 7; // 0x7
+    field public static final int BAND_70 = 70; // 0x46
+    field public static final int BAND_71 = 71; // 0x47
+    field public static final int BAND_74 = 74; // 0x4a
+    field public static final int BAND_75 = 75; // 0x4b
+    field public static final int BAND_76 = 76; // 0x4c
+    field public static final int BAND_77 = 77; // 0x4d
+    field public static final int BAND_78 = 78; // 0x4e
+    field public static final int BAND_79 = 79; // 0x4f
+    field public static final int BAND_8 = 8; // 0x8
+    field public static final int BAND_80 = 80; // 0x50
+    field public static final int BAND_81 = 81; // 0x51
+    field public static final int BAND_82 = 82; // 0x52
+    field public static final int BAND_83 = 83; // 0x53
+    field public static final int BAND_84 = 84; // 0x54
+    field public static final int BAND_86 = 86; // 0x56
+    field public static final int BAND_89 = 89; // 0x59
+    field public static final int BAND_90 = 90; // 0x5a
+    field public static final int BAND_91 = 91; // 0x5b
+    field public static final int BAND_92 = 92; // 0x5c
+    field public static final int BAND_93 = 93; // 0x5d
+    field public static final int BAND_94 = 94; // 0x5e
+    field public static final int BAND_95 = 95; // 0x5f
+    field public static final int BAND_96 = 96; // 0x60
+  }
+
+  public static final class AccessNetworkConstants.UtranBand {
+    field public static final int BAND_1 = 1; // 0x1
+    field public static final int BAND_10 = 10; // 0xa
+    field public static final int BAND_11 = 11; // 0xb
+    field public static final int BAND_12 = 12; // 0xc
+    field public static final int BAND_13 = 13; // 0xd
+    field public static final int BAND_14 = 14; // 0xe
+    field public static final int BAND_19 = 19; // 0x13
+    field public static final int BAND_2 = 2; // 0x2
+    field public static final int BAND_20 = 20; // 0x14
+    field public static final int BAND_21 = 21; // 0x15
+    field public static final int BAND_22 = 22; // 0x16
+    field public static final int BAND_25 = 25; // 0x19
+    field public static final int BAND_26 = 26; // 0x1a
+    field public static final int BAND_3 = 3; // 0x3
+    field public static final int BAND_4 = 4; // 0x4
+    field public static final int BAND_5 = 5; // 0x5
+    field public static final int BAND_6 = 6; // 0x6
+    field public static final int BAND_7 = 7; // 0x7
+    field public static final int BAND_8 = 8; // 0x8
+    field public static final int BAND_9 = 9; // 0x9
+    field public static final int BAND_A = 101; // 0x65
+    field public static final int BAND_B = 102; // 0x66
+    field public static final int BAND_C = 103; // 0x67
+    field public static final int BAND_D = 104; // 0x68
+    field public static final int BAND_E = 105; // 0x69
+    field public static final int BAND_F = 106; // 0x6a
+  }
+
+  public final class AvailableNetworkInfo implements android.os.Parcelable {
+    ctor public AvailableNetworkInfo(int, int, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<java.lang.Integer>);
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.Integer> getBands();
+    method @NonNull public java.util.List<java.lang.String> getMccMncs();
+    method public int getPriority();
+    method public int getSubId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.AvailableNetworkInfo> CREATOR;
+    field public static final int PRIORITY_HIGH = 1; // 0x1
+    field public static final int PRIORITY_LOW = 3; // 0x3
+    field public static final int PRIORITY_MED = 2; // 0x2
+  }
+
+  public final class BarringInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.telephony.BarringInfo.BarringServiceInfo getBarringServiceInfo(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int BARRING_SERVICE_TYPE_CS_FALLBACK = 5; // 0x5
+    field public static final int BARRING_SERVICE_TYPE_CS_SERVICE = 0; // 0x0
+    field public static final int BARRING_SERVICE_TYPE_CS_VOICE = 2; // 0x2
+    field public static final int BARRING_SERVICE_TYPE_EMERGENCY = 8; // 0x8
+    field public static final int BARRING_SERVICE_TYPE_MMTEL_VIDEO = 7; // 0x7
+    field public static final int BARRING_SERVICE_TYPE_MMTEL_VOICE = 6; // 0x6
+    field public static final int BARRING_SERVICE_TYPE_MO_DATA = 4; // 0x4
+    field public static final int BARRING_SERVICE_TYPE_MO_SIGNALLING = 3; // 0x3
+    field public static final int BARRING_SERVICE_TYPE_PS_SERVICE = 1; // 0x1
+    field public static final int BARRING_SERVICE_TYPE_SMS = 9; // 0x9
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.BarringInfo> CREATOR;
+  }
+
+  public static final class BarringInfo.BarringServiceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getBarringType();
+    method public int getConditionalBarringFactor();
+    method public int getConditionalBarringTimeSeconds();
+    method public boolean isBarred();
+    method public boolean isConditionallyBarred();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int BARRING_TYPE_CONDITIONAL = 1; // 0x1
+    field public static final int BARRING_TYPE_NONE = 0; // 0x0
+    field public static final int BARRING_TYPE_UNCONDITIONAL = 2; // 0x2
+    field public static final int BARRING_TYPE_UNKNOWN = -1; // 0xffffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.BarringInfo.BarringServiceInfo> CREATOR;
+  }
+
+  public class CarrierConfigManager {
+    method @Nullable public android.os.PersistableBundle getConfig();
+    method @Nullable public android.os.PersistableBundle getConfigByComponentForSubId(@NonNull String, int);
+    method @Nullable public android.os.PersistableBundle getConfigForSubId(int);
+    method public static boolean isConfigForIdentifiedCarrier(android.os.PersistableBundle);
+    method public void notifyConfigChangedForSubId(int);
+    field public static final String ACTION_CARRIER_CONFIG_CHANGED = "android.telephony.action.CARRIER_CONFIG_CHANGED";
+    field public static final int CARRIER_NR_AVAILABILITY_NSA = 1; // 0x1
+    field public static final int CARRIER_NR_AVAILABILITY_SA = 2; // 0x2
+    field public static final int CROSS_SIM_SPN_FORMAT_CARRIER_NAME_ONLY = 0; // 0x0
+    field public static final int CROSS_SIM_SPN_FORMAT_CARRIER_NAME_WITH_BRANDING = 1; // 0x1
+    field public static final int DATA_CYCLE_THRESHOLD_DISABLED = -2; // 0xfffffffe
+    field public static final int DATA_CYCLE_USE_PLATFORM_DEFAULT = -1; // 0xffffffff
+    field public static final String ENABLE_EAP_METHOD_PREFIX_BOOL = "enable_eap_method_prefix_bool";
+    field public static final String EXTRA_REBROADCAST_ON_UNLOCK = "android.telephony.extra.REBROADCAST_ON_UNLOCK";
+    field public static final String EXTRA_SLOT_INDEX = "android.telephony.extra.SLOT_INDEX";
+    field public static final String EXTRA_SUBSCRIPTION_INDEX = "android.telephony.extra.SUBSCRIPTION_INDEX";
+    field public static final String IMSI_KEY_AVAILABILITY_INT = "imsi_key_availability_int";
+    field public static final String KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAY = "5g_nr_ssrsrp_thresholds_int_array";
+    field public static final String KEY_5G_NR_SSRSRQ_THRESHOLDS_INT_ARRAY = "5g_nr_ssrsrq_thresholds_int_array";
+    field public static final String KEY_5G_NR_SSSINR_THRESHOLDS_INT_ARRAY = "5g_nr_sssinr_thresholds_int_array";
+    field public static final String KEY_ADDITIONAL_CALL_SETTING_BOOL = "additional_call_setting_bool";
+    field public static final String KEY_ALLOW_ADDING_APNS_BOOL = "allow_adding_apns_bool";
+    field public static final String KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL = "allow_add_call_during_video_call";
+    field public static final String KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL = "allow_emergency_numbers_in_call_log_bool";
+    field public static final String KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL = "allow_emergency_video_calls_bool";
+    field public static final String KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL = "allow_hold_call_during_emergency_bool";
+    field public static final String KEY_ALLOW_HOLD_VIDEO_CALL_BOOL = "allow_hold_video_call_bool";
+    field public static final String KEY_ALLOW_LOCAL_DTMF_TONES_BOOL = "allow_local_dtmf_tones_bool";
+    field public static final String KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL = "allow_merge_wifi_calls_when_vowifi_off_bool";
+    field public static final String KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL = "allow_non_emergency_calls_in_ecm_bool";
+    field public static final String KEY_ALLOW_VIDEO_CALLING_FALLBACK_BOOL = "allow_video_calling_fallback_bool";
+    field public static final String KEY_ALWAYS_SHOW_DATA_RAT_ICON_BOOL = "always_show_data_rat_icon_bool";
+    field @Deprecated public static final String KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL = "always_show_emergency_alert_onoff_bool";
+    field public static final String KEY_ALWAYS_SHOW_PRIMARY_SIGNAL_BAR_IN_OPPORTUNISTIC_NETWORK_BOOLEAN = "always_show_primary_signal_bar_in_opportunistic_network_boolean";
+    field public static final String KEY_APN_EXPAND_BOOL = "apn_expand_bool";
+    field public static final String KEY_APN_SETTINGS_DEFAULT_APN_TYPES_STRING_ARRAY = "apn_settings_default_apn_types_string_array";
+    field public static final String KEY_AUTO_RETRY_ENABLED_BOOL = "auto_retry_enabled_bool";
+    field public static final String KEY_CALL_BARRING_DEFAULT_SERVICE_CLASS_INT = "call_barring_default_service_class_int";
+    field public static final String KEY_CALL_BARRING_SUPPORTS_DEACTIVATE_ALL_BOOL = "call_barring_supports_deactivate_all_bool";
+    field public static final String KEY_CALL_BARRING_SUPPORTS_PASSWORD_CHANGE_BOOL = "call_barring_supports_password_change_bool";
+    field public static final String KEY_CALL_BARRING_VISIBILITY_BOOL = "call_barring_visibility_bool";
+    field public static final String KEY_CALL_COMPOSER_PICTURE_SERVER_URL_STRING = "call_composer_picture_server_url_string";
+    field public static final String KEY_CALL_FORWARDING_BLOCKS_WHILE_ROAMING_STRING_ARRAY = "call_forwarding_blocks_while_roaming_string_array";
+    field public static final String KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING = "call_redirection_service_component_name_string";
+    field public static final String KEY_CARRIER_ALLOW_DEFLECT_IMS_CALL_BOOL = "carrier_allow_deflect_ims_call_bool";
+    field public static final String KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL = "carrier_allow_turnoff_ims_bool";
+    field public static final String KEY_CARRIER_APP_REQUIRED_DURING_SIM_SETUP_BOOL = "carrier_app_required_during_setup_bool";
+    field public static final String KEY_CARRIER_CALL_SCREENING_APP_STRING = "call_screening_app";
+    field public static final String KEY_CARRIER_CERTIFICATE_STRING_ARRAY = "carrier_certificate_string_array";
+    field public static final String KEY_CARRIER_CONFIG_APPLIED_BOOL = "carrier_config_applied_bool";
+    field public static final String KEY_CARRIER_CONFIG_VERSION_STRING = "carrier_config_version_string";
+    field public static final String KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL = "carrier_cross_sim_ims_available_bool";
+    field public static final String KEY_CARRIER_DATA_CALL_PERMANENT_FAILURE_STRINGS = "carrier_data_call_permanent_failure_strings";
+    field public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY = "carrier_default_actions_on_dcfailure_string_array";
+    field public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE = "carrier_default_actions_on_default_network_available_string_array";
+    field public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY = "carrier_default_actions_on_redirection_string_array";
+    field public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET = "carrier_default_actions_on_reset_string_array";
+    field public static final String KEY_CARRIER_DEFAULT_REDIRECTION_URL_STRING_ARRAY = "carrier_default_redirection_url_string_array";
+    field public static final String KEY_CARRIER_DEFAULT_WFC_IMS_ENABLED_BOOL = "carrier_default_wfc_ims_enabled_bool";
+    field public static final String KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT = "carrier_default_wfc_ims_mode_int";
+    field public static final String KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT = "carrier_default_wfc_ims_roaming_mode_int";
+    field @Deprecated public static final String KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL = "carrier_force_disable_etws_cmas_test_bool";
+    field public static final String KEY_CARRIER_IMS_GBA_REQUIRED_BOOL = "carrier_ims_gba_required_bool";
+    field public static final String KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL = "carrier_instant_lettering_available_bool";
+    field public static final String KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING = "carrier_instant_lettering_encoding_string";
+    field public static final String KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING = "carrier_instant_lettering_escaped_chars_string";
+    field public static final String KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING = "carrier_instant_lettering_invalid_chars_string";
+    field public static final String KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT = "carrier_instant_lettering_length_limit_int";
+    field public static final String KEY_CARRIER_NAME_OVERRIDE_BOOL = "carrier_name_override_bool";
+    field public static final String KEY_CARRIER_NAME_STRING = "carrier_name_string";
+    field public static final String KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY = "carrier_nr_availabilities_int_array";
+    field public static final String KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL = "carrier_provisions_wifi_merged_networks_bool";
+    field public static final String KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL = "carrier_rcs_provisioning_required_bool";
+    field public static final String KEY_CARRIER_SETTINGS_ACTIVITY_COMPONENT_NAME_STRING = "carrier_settings_activity_component_name_string";
+    field public static final String KEY_CARRIER_SETTINGS_ENABLE_BOOL = "carrier_settings_enable_bool";
+    field public static final String KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL = "carrier_supports_ss_over_ut_bool";
+    field public static final String KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL = "carrier_use_ims_first_for_emergency_bool";
+    field public static final String KEY_CARRIER_USSD_METHOD_INT = "carrier_ussd_method_int";
+    field public static final String KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL = "carrier_ut_provisioning_required_bool";
+    field public static final String KEY_CARRIER_VOLTE_AVAILABLE_BOOL = "carrier_volte_available_bool";
+    field public static final String KEY_CARRIER_VOLTE_OVERRIDE_WFC_PROVISIONING_BOOL = "carrier_volte_override_wfc_provisioning_bool";
+    field public static final String KEY_CARRIER_VOLTE_PROVISIONED_BOOL = "carrier_volte_provisioned_bool";
+    field public static final String KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL = "carrier_volte_provisioning_required_bool";
+    field public static final String KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL = "carrier_volte_tty_supported_bool";
+    field public static final String KEY_CARRIER_VT_AVAILABLE_BOOL = "carrier_vt_available_bool";
+    field @Deprecated public static final String KEY_CARRIER_VVM_PACKAGE_NAME_STRING = "carrier_vvm_package_name_string";
+    field public static final String KEY_CARRIER_VVM_PACKAGE_NAME_STRING_ARRAY = "carrier_vvm_package_name_string_array";
+    field public static final String KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL = "carrier_wfc_ims_available_bool";
+    field public static final String KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL = "carrier_wfc_supports_wifi_only_bool";
+    field public static final String KEY_CDMA_3WAYCALL_FLASH_DELAY_INT = "cdma_3waycall_flash_delay_int";
+    field public static final String KEY_CDMA_DTMF_TONE_DELAY_INT = "cdma_dtmf_tone_delay_int";
+    field public static final String KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY = "cdma_nonroaming_networks_string_array";
+    field public static final String KEY_CDMA_ROAMING_MODE_INT = "cdma_roaming_mode_int";
+    field public static final String KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY = "cdma_roaming_networks_string_array";
+    field public static final String KEY_CHECK_PRICING_WITH_CARRIER_FOR_DATA_ROAMING_BOOL = "check_pricing_with_carrier_data_roaming_bool";
+    field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_BOOL = "ci_action_on_sys_update_bool";
+    field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING = "ci_action_on_sys_update_extra_string";
+    field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING = "ci_action_on_sys_update_extra_val_string";
+    field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING = "ci_action_on_sys_update_intent_string";
+    field public static final String KEY_CONFIG_IMS_MMTEL_PACKAGE_OVERRIDE_STRING = "config_ims_mmtel_package_override_string";
+    field @Deprecated public static final String KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING = "config_ims_package_override_string";
+    field public static final String KEY_CONFIG_IMS_RCS_PACKAGE_OVERRIDE_STRING = "config_ims_rcs_package_override_string";
+    field public static final String KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING = "config_plans_package_override_string";
+    field public static final String KEY_CONFIG_TELEPHONY_USE_OWN_NUMBER_FOR_VOICEMAIL_BOOL = "config_telephony_use_own_number_for_voicemail_bool";
+    field public static final String KEY_CONFIG_WIFI_DISABLE_IN_ECBM = "config_wifi_disable_in_ecbm";
+    field public static final String KEY_CROSS_SIM_SPN_FORMAT_INT = "cross_sim_spn_format_int";
+    field public static final String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool";
+    field public static final String KEY_DATA_LIMIT_NOTIFICATION_BOOL = "data_limit_notification_bool";
+    field public static final String KEY_DATA_LIMIT_THRESHOLD_BYTES_LONG = "data_limit_threshold_bytes_long";
+    field public static final String KEY_DATA_RAPID_NOTIFICATION_BOOL = "data_rapid_notification_bool";
+    field public static final String KEY_DATA_SWITCH_VALIDATION_TIMEOUT_LONG = "data_switch_validation_timeout_long";
+    field public static final String KEY_DATA_WARNING_NOTIFICATION_BOOL = "data_warning_notification_bool";
+    field public static final String KEY_DATA_WARNING_THRESHOLD_BYTES_LONG = "data_warning_threshold_bytes_long";
+    field public static final String KEY_DEFAULT_SIM_CALL_MANAGER_STRING = "default_sim_call_manager_string";
+    field public static final String KEY_DEFAULT_VM_NUMBER_ROAMING_AND_IMS_UNREGISTERED_STRING = "default_vm_number_roaming_and_ims_unregistered_string";
+    field public static final String KEY_DEFAULT_VM_NUMBER_STRING = "default_vm_number_string";
+    field public static final String KEY_DIAL_STRING_REPLACE_STRING_ARRAY = "dial_string_replace_string_array";
+    field public static final String KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL = "disable_cdma_activation_code_bool";
+    field public static final String KEY_DISABLE_CHARGE_INDICATION_BOOL = "disable_charge_indication_bool";
+    field public static final String KEY_DISABLE_SUPPLEMENTARY_SERVICES_IN_AIRPLANE_MODE_BOOL = "disable_supplementary_services_in_airplane_mode_bool";
+    field public static final String KEY_DISCONNECT_CAUSE_PLAY_BUSYTONE_INT_ARRAY = "disconnect_cause_play_busytone_int_array";
+    field public static final String KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL = "display_call_strength_indicator_bool";
+    field public static final String KEY_DISPLAY_HD_AUDIO_PROPERTY_BOOL = "display_hd_audio_property_bool";
+    field public static final String KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL = "drop_video_call_when_answering_audio_call_bool";
+    field public static final String KEY_DTMF_TYPE_ENABLED_BOOL = "dtmf_type_enabled_bool";
+    field public static final String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int";
+    field public static final String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool";
+    field public static final String KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL = "editable_voicemail_number_bool";
+    field public static final String KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL = "editable_voicemail_number_setting_bool";
+    field public static final String KEY_EDITABLE_WFC_MODE_BOOL = "editable_wfc_mode_bool";
+    field public static final String KEY_EDITABLE_WFC_ROAMING_MODE_BOOL = "editable_wfc_roaming_mode_bool";
+    field public static final String KEY_EMERGENCY_NOTIFICATION_DELAY_INT = "emergency_notification_delay_int";
+    field public static final String KEY_EMERGENCY_NUMBER_PREFIX_STRING_ARRAY = "emergency_number_prefix_string_array";
+    field public static final String KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL = "enable_dialer_key_vibration_bool";
+    field public static final String KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL = "enhanced_4g_lte_on_by_default_bool";
+    field public static final String KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT = "enhanced_4g_lte_title_variant_int";
+    field public static final String KEY_FORCE_HOME_NETWORK_BOOL = "force_home_network_bool";
+    field public static final String KEY_GSM_DTMF_TONE_DELAY_INT = "gsm_dtmf_tone_delay_int";
+    field public static final String KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY = "gsm_nonroaming_networks_string_array";
+    field public static final String KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY = "gsm_roaming_networks_string_array";
+    field public static final String KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL = "has_in_call_noise_suppression_bool";
+    field public static final String KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL = "hide_carrier_network_settings_bool";
+    field public static final String KEY_HIDE_ENABLE_2G = "hide_enable_2g_bool";
+    field public static final String KEY_HIDE_ENHANCED_4G_LTE_BOOL = "hide_enhanced_4g_lte_bool";
+    field public static final String KEY_HIDE_IMS_APN_BOOL = "hide_ims_apn_bool";
+    field public static final String KEY_HIDE_LTE_PLUS_DATA_ICON_BOOL = "hide_lte_plus_data_icon_bool";
+    field public static final String KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL = "hide_preferred_network_type_bool";
+    field public static final String KEY_HIDE_PRESET_APN_DETAILS_BOOL = "hide_preset_apn_details_bool";
+    field public static final String KEY_HIDE_SIM_LOCK_SETTINGS_BOOL = "hide_sim_lock_settings_bool";
+    field public static final String KEY_HIDE_TTY_HCO_VCO_WITH_RTT_BOOL = "hide_tty_hco_vco_with_rtt";
+    field public static final String KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS = "ignore_data_enabled_changed_for_video_calls";
+    field public static final String KEY_IGNORE_RTT_MODE_SETTING_BOOL = "ignore_rtt_mode_setting_bool";
+    field public static final String KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL = "ignore_sim_network_locked_events_bool";
+    field public static final String KEY_IMS_CONFERENCE_SIZE_LIMIT_INT = "ims_conference_size_limit_int";
+    field public static final String KEY_IMS_DTMF_TONE_DELAY_INT = "ims_dtmf_tone_delay_int";
+    field public static final String KEY_IS_IMS_CONFERENCE_SIZE_ENFORCED_BOOL = "is_ims_conference_size_enforced_bool";
+    field public static final String KEY_LTE_ENABLED_BOOL = "lte_enabled_bool";
+    field public static final String KEY_LTE_RSRQ_THRESHOLDS_INT_ARRAY = "lte_rsrq_thresholds_int_array";
+    field public static final String KEY_LTE_RSSNR_THRESHOLDS_INT_ARRAY = "lte_rssnr_thresholds_int_array";
+    field public static final String KEY_MDN_IS_ADDITIONAL_VOICEMAIL_NUMBER_BOOL = "mdn_is_additional_voicemail_number_bool";
+    field public static final String KEY_MMS_ALIAS_ENABLED_BOOL = "aliasEnabled";
+    field public static final String KEY_MMS_ALIAS_MAX_CHARS_INT = "aliasMaxChars";
+    field public static final String KEY_MMS_ALIAS_MIN_CHARS_INT = "aliasMinChars";
+    field public static final String KEY_MMS_ALLOW_ATTACH_AUDIO_BOOL = "allowAttachAudio";
+    field public static final String KEY_MMS_APPEND_TRANSACTION_ID_BOOL = "enabledTransID";
+    field public static final String KEY_MMS_CLOSE_CONNECTION_BOOL = "mmsCloseConnection";
+    field public static final String KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING = "emailGatewayNumber";
+    field public static final String KEY_MMS_GROUP_MMS_ENABLED_BOOL = "enableGroupMms";
+    field public static final String KEY_MMS_HTTP_PARAMS_STRING = "httpParams";
+    field public static final String KEY_MMS_HTTP_SOCKET_TIMEOUT_INT = "httpSocketTimeout";
+    field public static final String KEY_MMS_MAX_IMAGE_HEIGHT_INT = "maxImageHeight";
+    field public static final String KEY_MMS_MAX_IMAGE_WIDTH_INT = "maxImageWidth";
+    field public static final String KEY_MMS_MAX_MESSAGE_SIZE_INT = "maxMessageSize";
+    field public static final String KEY_MMS_MESSAGE_TEXT_MAX_SIZE_INT = "maxMessageTextSize";
+    field public static final String KEY_MMS_MMS_DELIVERY_REPORT_ENABLED_BOOL = "enableMMSDeliveryReports";
+    field public static final String KEY_MMS_MMS_ENABLED_BOOL = "enabledMMS";
+    field public static final String KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL = "enableMMSReadReports";
+    field public static final String KEY_MMS_MULTIPART_SMS_ENABLED_BOOL = "enableMultipartSMS";
+    field public static final String KEY_MMS_NAI_SUFFIX_STRING = "naiSuffix";
+    field public static final String KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL = "enabledNotifyWapMMSC";
+    field public static final String KEY_MMS_RECIPIENT_LIMIT_INT = "recipientLimit";
+    field public static final String KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL = "sendMultipartSmsAsSeparateMessages";
+    field public static final String KEY_MMS_SHOW_CELL_BROADCAST_APP_LINKS_BOOL = "config_cellBroadcastAppLinks";
+    field public static final String KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL = "enableSMSDeliveryReports";
+    field public static final String KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT = "smsToMmsTextLengthThreshold";
+    field public static final String KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT = "smsToMmsTextThreshold";
+    field public static final String KEY_MMS_SUBJECT_MAX_LENGTH_INT = "maxSubjectLength";
+    field public static final String KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL = "supportHttpCharsetHeader";
+    field public static final String KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL = "supportMmsContentDisposition";
+    field public static final String KEY_MMS_UA_PROF_TAG_NAME_STRING = "uaProfTagName";
+    field public static final String KEY_MMS_UA_PROF_URL_STRING = "uaProfUrl";
+    field public static final String KEY_MMS_USER_AGENT_STRING = "userAgent";
+    field public static final String KEY_MONTHLY_DATA_CYCLE_DAY_INT = "monthly_data_cycle_day_int";
+    field public static final String KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL = "only_auto_select_in_home_network";
+    field public static final String KEY_ONLY_SINGLE_DC_ALLOWED_INT_ARRAY = "only_single_dc_allowed_int_array";
+    field public static final String KEY_OPERATOR_SELECTION_EXPAND_BOOL = "operator_selection_expand_bool";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG = "opportunistic_network_backoff_time_long";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_EXIT_HYSTERESIS_TIME_LONG = "opportunistic_network_data_switch_exit_hysteresis_time_long";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_HYSTERESIS_TIME_LONG = "opportunistic_network_data_switch_hysteresis_time_long";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_ENTRY_OR_EXIT_HYSTERESIS_TIME_LONG = "opportunistic_network_entry_or_exit_hysteresis_time_long";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_BANDWIDTH_INT = "opportunistic_network_entry_threshold_bandwidth_int";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_RSRP_INT = "opportunistic_network_entry_threshold_rsrp_int";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_RSSNR_INT = "opportunistic_network_entry_threshold_rssnr_int";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSRP_INT = "opportunistic_network_exit_threshold_rsrp_int";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSSNR_INT = "opportunistic_network_exit_threshold_rssnr_int";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG = "opportunistic_network_max_backoff_time_long";
+    field public static final String KEY_OPPORTUNISTIC_NETWORK_PING_PONG_TIME_LONG = "opportunistic_network_ping_pong_time_long";
+    field public static final String KEY_PING_TEST_BEFORE_DATA_SWITCH_BOOL = "ping_test_before_data_switch_bool";
+    field public static final String KEY_PREFER_2G_BOOL = "prefer_2g_bool";
+    field public static final String KEY_PREVENT_CLIR_ACTIVATION_AND_DEACTIVATION_CODE_BOOL = "prevent_clir_activation_and_deactivation_code_bool";
+    field public static final String KEY_RADIO_RESTART_FAILURE_CAUSES_INT_ARRAY = "radio_restart_failure_causes_int_array";
+    field public static final String KEY_RCS_CONFIG_SERVER_URL_STRING = "rcs_config_server_url_string";
+    field public static final String KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY = "read_only_apn_fields_string_array";
+    field public static final String KEY_READ_ONLY_APN_TYPES_STRING_ARRAY = "read_only_apn_types_string_array";
+    field public static final String KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL = "require_entitlement_checks_bool";
+    field @Deprecated public static final String KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL = "restart_radio_on_pdp_fail_regular_deactivation_bool";
+    field public static final String KEY_RTT_AUTO_UPGRADE_BOOL = "rtt_auto_upgrade_bool";
+    field public static final String KEY_RTT_DOWNGRADE_SUPPORTED_BOOL = "rtt_downgrade_supported_bool";
+    field public static final String KEY_RTT_SUPPORTED_BOOL = "rtt_supported_bool";
+    field public static final String KEY_RTT_SUPPORTED_FOR_VT_BOOL = "rtt_supported_for_vt_bool";
+    field public static final String KEY_RTT_SUPPORTED_WHILE_ROAMING_BOOL = "rtt_supported_while_roaming_bool";
+    field public static final String KEY_RTT_UPGRADE_SUPPORTED_BOOL = "rtt_upgrade_supported_bool";
+    field public static final String KEY_RTT_UPGRADE_SUPPORTED_FOR_DOWNGRADED_VT_CALL_BOOL = "rtt_upgrade_supported_for_downgraded_vt_call";
+    field public static final String KEY_SHOW_4G_FOR_3G_DATA_ICON_BOOL = "show_4g_for_3g_data_icon_bool";
+    field public static final String KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL = "show_4g_for_lte_data_icon_bool";
+    field public static final String KEY_SHOW_APN_SETTING_CDMA_BOOL = "show_apn_setting_cdma_bool";
+    field public static final String KEY_SHOW_BLOCKING_PAY_PHONE_OPTION_BOOL = "show_blocking_pay_phone_option_bool";
+    field public static final String KEY_SHOW_CALL_BLOCKING_DISABLED_NOTIFICATION_ALWAYS_BOOL = "show_call_blocking_disabled_notification_always_bool";
+    field public static final String KEY_SHOW_CDMA_CHOICES_BOOL = "show_cdma_choices_bool";
+    field public static final String KEY_SHOW_FORWARDED_NUMBER_BOOL = "show_forwarded_number_bool";
+    field public static final String KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL = "show_iccid_in_sim_status_bool";
+    field public static final String KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL = "show_ims_registration_status_bool";
+    field public static final String KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL = "show_onscreen_dial_button_bool";
+    field public static final String KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL = "show_signal_strength_in_sim_status_bool";
+    field public static final String KEY_SHOW_VIDEO_CALL_CHARGES_ALERT_DIALOG_BOOL = "show_video_call_charges_alert_dialog_bool";
+    field public static final String KEY_SHOW_WFC_LOCATION_PRIVACY_POLICY_BOOL = "show_wfc_location_privacy_policy_bool";
+    field public static final String KEY_SIMPLIFIED_NETWORK_SETTINGS_BOOL = "simplified_network_settings_bool";
+    field public static final String KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL = "sim_network_unlock_allow_dismiss_bool";
+    field public static final String KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL = "sms_requires_destination_number_conversion_bool";
+    field public static final String KEY_SUPPORTS_CALL_COMPOSER_BOOL = "supports_call_composer_bool";
+    field public static final String KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_DTMF_BOOL = "supports_device_to_device_communication_using_dtmf_bool";
+    field public static final String KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_RTP_BOOL = "supports_device_to_device_communication_using_rtp_bool";
+    field public static final String KEY_SUPPORTS_SDP_NEGOTIATION_OF_D2D_RTP_HEADER_EXTENSIONS_BOOL = "supports_sdp_negotiation_of_d2d_rtp_header_extensions_bool";
+    field public static final String KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL = "support_3gpp_call_forwarding_while_roaming_bool";
+    field public static final String KEY_SUPPORT_ADD_CONFERENCE_PARTICIPANTS_BOOL = "support_add_conference_participants_bool";
+    field public static final String KEY_SUPPORT_ADHOC_CONFERENCE_CALLS_BOOL = "support_adhoc_conference_calls_bool";
+    field public static final String KEY_SUPPORT_CLIR_NETWORK_DEFAULT_BOOL = "support_clir_network_default_bool";
+    field public static final String KEY_SUPPORT_CONFERENCE_CALL_BOOL = "support_conference_call_bool";
+    field public static final String KEY_SUPPORT_EMERGENCY_SMS_OVER_IMS_BOOL = "support_emergency_sms_over_ims_bool";
+    field public static final String KEY_SUPPORT_ENHANCED_CALL_BLOCKING_BOOL = "support_enhanced_call_blocking_bool";
+    field public static final String KEY_SUPPORT_IMS_CONFERENCE_EVENT_PACKAGE_BOOL = "support_ims_conference_event_package_bool";
+    field public static final String KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL = "support_pause_ims_video_calls_bool";
+    field public static final String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL = "support_swap_after_merge_bool";
+    field public static final String KEY_SUPPORT_TDSCDMA_BOOL = "support_tdscdma_bool";
+    field public static final String KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY = "support_tdscdma_roaming_networks_string_array";
+    field public static final String KEY_SWITCH_DATA_TO_PRIMARY_IF_PRIMARY_IS_OOS_BOOL = "switch_data_to_primary_if_primary_is_oos_bool";
+    field public static final String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL = "treat_downgraded_video_calls_as_video_calls_bool";
+    field public static final String KEY_TTY_SUPPORTED_BOOL = "tty_supported_bool";
+    field public static final String KEY_UNLOGGABLE_NUMBERS_STRING_ARRAY = "unloggable_numbers_string_array";
+    field public static final String KEY_USE_ACS_FOR_RCS_BOOL = "use_acs_for_rcs_bool";
+    field public static final String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool";
+    field public static final String KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL = "use_ip_for_calling_indicator_bool";
+    field public static final String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool";
+    field @Deprecated public static final String KEY_USE_RCS_PRESENCE_BOOL = "use_rcs_presence_bool";
+    field public static final String KEY_USE_RCS_SIP_OPTIONS_BOOL = "use_rcs_sip_options_bool";
+    field public static final String KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL = "use_wfc_home_network_mode_in_roaming_network_bool";
+    field public static final String KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL = "voicemail_notification_persistent_bool";
+    field public static final String KEY_VOICE_PRIVACY_DISABLE_UI_BOOL = "voice_privacy_disable_ui_bool";
+    field public static final String KEY_VOLTE_REPLACEMENT_RAT_INT = "volte_replacement_rat_int";
+    field public static final String KEY_VT_UPGRADE_SUPPORTED_FOR_DOWNGRADED_RTT_CALL_BOOL = "vt_upgrade_supported_for_downgraded_rtt_call";
+    field public static final String KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL = "vvm_cellular_data_required_bool";
+    field public static final String KEY_VVM_CLIENT_PREFIX_STRING = "vvm_client_prefix_string";
+    field public static final String KEY_VVM_DESTINATION_NUMBER_STRING = "vvm_destination_number_string";
+    field public static final String KEY_VVM_DISABLED_CAPABILITIES_STRING_ARRAY = "vvm_disabled_capabilities_string_array";
+    field public static final String KEY_VVM_LEGACY_MODE_ENABLED_BOOL = "vvm_legacy_mode_enabled_bool";
+    field public static final String KEY_VVM_PORT_NUMBER_INT = "vvm_port_number_int";
+    field public static final String KEY_VVM_PREFETCH_BOOL = "vvm_prefetch_bool";
+    field public static final String KEY_VVM_SSL_ENABLED_BOOL = "vvm_ssl_enabled_bool";
+    field public static final String KEY_VVM_TYPE_STRING = "vvm_type_string";
+    field public static final String KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING = "wfc_emergency_address_carrier_app_string";
+    field public static final String KEY_WORLD_MODE_ENABLED_BOOL = "world_mode_enabled_bool";
+    field public static final String KEY_WORLD_PHONE_BOOL = "world_phone_bool";
+    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
+    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
+    field public static final int USSD_OVER_CS_ONLY = 2; // 0x2
+    field public static final int USSD_OVER_CS_PREFERRED = 0; // 0x0
+    field public static final int USSD_OVER_IMS_ONLY = 3; // 0x3
+    field public static final int USSD_OVER_IMS_PREFERRED = 1; // 0x1
+  }
+
+  public static final class CarrierConfigManager.Apn {
+    field @Deprecated public static final String KEY_PREFIX = "apn.";
+    field public static final String KEY_SETTINGS_DEFAULT_PROTOCOL_STRING = "apn.settings_default_protocol_string";
+    field public static final String KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING = "apn.settings_default_roaming_protocol_string";
+    field public static final String PROTOCOL_IPV4 = "IP";
+    field public static final String PROTOCOL_IPV4V6 = "IPV4V6";
+    field public static final String PROTOCOL_IPV6 = "IPV6";
+  }
+
+  public static final class CarrierConfigManager.Gps {
+    field public static final String KEY_PERSIST_LPP_MODE_BOOL = "gps.persist_lpp_mode_bool";
+    field public static final String KEY_PREFIX = "gps.";
+  }
+
+  public static final class CarrierConfigManager.Ims {
+    field public static final String KEY_ENABLE_PRESENCE_CAPABILITY_EXCHANGE_BOOL = "ims.enable_presence_capability_exchange_bool";
+    field public static final String KEY_ENABLE_PRESENCE_GROUP_SUBSCRIBE_BOOL = "ims.enable_presence_group_subscribe_bool";
+    field public static final String KEY_ENABLE_PRESENCE_PUBLISH_BOOL = "ims.enable_presence_publish_bool";
+    field public static final String KEY_IMS_SINGLE_REGISTRATION_REQUIRED_BOOL = "ims.ims_single_registration_required_bool";
+    field public static final String KEY_NON_RCS_CAPABILITIES_CACHE_EXPIRATION_SEC_INT = "ims.non_rcs_capabilities_cache_expiration_sec_int";
+    field public static final String KEY_PREFIX = "ims.";
+    field public static final String KEY_RCS_BULK_CAPABILITY_EXCHANGE_BOOL = "ims.rcs_bulk_capability_exchange_bool";
+    field public static final String KEY_RCS_FEATURE_TAG_ALLOWED_STRING_ARRAY = "ims.rcs_feature_tag_allowed_string_array";
+    field public static final String KEY_WIFI_OFF_DEFERRING_TIME_MILLIS_INT = "ims.wifi_off_deferring_time_millis_int";
+  }
+
+  public static final class CarrierConfigManager.ImsServiceEntitlement {
+    field public static final String KEY_ENTITLEMENT_SERVER_URL_STRING = "imsserviceentitlement.entitlement_server_url_string";
+    field public static final String KEY_FCM_SENDER_ID_STRING = "imsserviceentitlement.fcm_sender_id_string";
+    field public static final String KEY_IMS_PROVISIONING_BOOL = "imsserviceentitlement.ims_provisioning_bool";
+    field public static final String KEY_PREFIX = "imsserviceentitlement.";
+    field public static final String KEY_SHOW_VOWIFI_WEBVIEW_BOOL = "imsserviceentitlement.show_vowifi_webview_bool";
+  }
+
+  public static final class CarrierConfigManager.Iwlan {
+    field public static final int AUTHENTICATION_METHOD_CERT = 1; // 0x1
+    field public static final int AUTHENTICATION_METHOD_EAP_ONLY = 0; // 0x0
+    field public static final int EPDG_ADDRESS_CELLULAR_LOC = 3; // 0x3
+    field public static final int EPDG_ADDRESS_PCO = 2; // 0x2
+    field public static final int EPDG_ADDRESS_PLMN = 1; // 0x1
+    field public static final int EPDG_ADDRESS_STATIC = 0; // 0x0
+    field public static final int ID_TYPE_FQDN = 2; // 0x2
+    field public static final int ID_TYPE_KEY_ID = 11; // 0xb
+    field public static final int ID_TYPE_RFC822_ADDR = 3; // 0x3
+    field public static final String KEY_ADD_KE_TO_CHILD_SESSION_REKEY_BOOL = "iwlan.add_ke_to_child_session_rekey_bool";
+    field public static final String KEY_CHILD_SA_REKEY_HARD_TIMER_SEC_INT = "iwlan.child_sa_rekey_hard_timer_sec_int";
+    field public static final String KEY_CHILD_SA_REKEY_SOFT_TIMER_SEC_INT = "iwlan.child_sa_rekey_soft_timer_sec_int";
+    field public static final String KEY_CHILD_SESSION_AES_CBC_KEY_SIZE_INT_ARRAY = "iwlan.child_session_aes_cbc_key_size_int_array";
+    field public static final String KEY_CHILD_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY = "iwlan.child_session_aes_ctr_key_size_int_array";
+    field public static final String KEY_DIFFIE_HELLMAN_GROUPS_INT_ARRAY = "iwlan.diffie_hellman_groups_int_array";
+    field public static final String KEY_DPD_TIMER_SEC_INT = "iwlan.dpd_timer_sec_int";
+    field public static final String KEY_EPDG_ADDRESS_PRIORITY_INT_ARRAY = "iwlan.epdg_address_priority_int_array";
+    field public static final String KEY_EPDG_AUTHENTICATION_METHOD_INT = "iwlan.epdg_authentication_method_int";
+    field public static final String KEY_EPDG_PCO_ID_IPV4_INT = "iwlan.epdg_pco_id_ipv4_int";
+    field public static final String KEY_EPDG_PCO_ID_IPV6_INT = "iwlan.epdg_pco_id_ipv6_int";
+    field public static final String KEY_EPDG_STATIC_ADDRESS_ROAMING_STRING = "iwlan.epdg_static_address_roaming_string";
+    field public static final String KEY_EPDG_STATIC_ADDRESS_STRING = "iwlan.epdg_static_address_string";
+    field public static final String KEY_IKE_LOCAL_ID_TYPE_INT = "iwlan.ike_local_id_type_int";
+    field public static final String KEY_IKE_REKEY_HARD_TIMER_SEC_INT = "iwlan.ike_rekey_hard_timer_in_sec";
+    field public static final String KEY_IKE_REKEY_SOFT_TIMER_SEC_INT = "iwlan.ike_rekey_soft_timer_sec_int";
+    field public static final String KEY_IKE_REMOTE_ID_TYPE_INT = "iwlan.ike_remote_id_type_int";
+    field public static final String KEY_IKE_SESSION_AES_CBC_KEY_SIZE_INT_ARRAY = "iwlan.ike_session_encryption_aes_cbc_key_size_int_array";
+    field public static final String KEY_IKE_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY = "iwlan.ike_session_encryption_aes_ctr_key_size_int_array";
+    field public static final String KEY_MAX_RETRIES_INT = "iwlan.max_retries_int";
+    field public static final String KEY_MCC_MNCS_STRING_ARRAY = "iwlan.mcc_mncs_string_array";
+    field public static final String KEY_NATT_KEEP_ALIVE_TIMER_SEC_INT = "iwlan.natt_keep_alive_timer_sec_int";
+    field public static final String KEY_PREFIX = "iwlan.";
+    field public static final String KEY_RETRANSMIT_TIMER_MSEC_INT_ARRAY = "iwlan.retransmit_timer_sec_int_array";
+    field public static final String KEY_SUPPORTED_CHILD_SESSION_ENCRYPTION_ALGORITHMS_INT_ARRAY = "iwlan.supported_child_session_encryption_algorithms_int_array";
+    field public static final String KEY_SUPPORTED_IKE_SESSION_ENCRYPTION_ALGORITHMS_INT_ARRAY = "iwlan.supported_ike_session_encryption_algorithms_int_array";
+    field public static final String KEY_SUPPORTED_INTEGRITY_ALGORITHMS_INT_ARRAY = "iwlan.supported_integrity_algorithms_int_array";
+    field public static final String KEY_SUPPORTED_PRF_ALGORITHMS_INT_ARRAY = "iwlan.supported_prf_algorithms_int_array";
+  }
+
+  public abstract class CellIdentity implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public CharSequence getOperatorAlphaLong();
+    method @Nullable public CharSequence getOperatorAlphaShort();
+    method @CallSuper public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentity> CREATOR;
+  }
+
+  public final class CellIdentityCdma extends android.telephony.CellIdentity {
+    method public int getBasestationId();
+    method public int getLatitude();
+    method public int getLongitude();
+    method public int getNetworkId();
+    method public int getSystemId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityCdma> CREATOR;
+  }
+
+  public final class CellIdentityGsm extends android.telephony.CellIdentity {
+    method @NonNull public java.util.Set<java.lang.String> getAdditionalPlmns();
+    method public int getArfcn();
+    method public int getBsic();
+    method public int getCid();
+    method public int getLac();
+    method @Deprecated public int getMcc();
+    method @Nullable public String getMccString();
+    method @Deprecated public int getMnc();
+    method @Nullable public String getMncString();
+    method @Nullable public String getMobileNetworkOperator();
+    method @Deprecated public int getPsc();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityGsm> CREATOR;
+  }
+
+  public final class CellIdentityLte extends android.telephony.CellIdentity {
+    method @NonNull public java.util.Set<java.lang.String> getAdditionalPlmns();
+    method @NonNull public int[] getBands();
+    method public int getBandwidth();
+    method public int getCi();
+    method @Nullable public android.telephony.ClosedSubscriberGroupInfo getClosedSubscriberGroupInfo();
+    method public int getEarfcn();
+    method @Deprecated public int getMcc();
+    method @Nullable public String getMccString();
+    method @Deprecated public int getMnc();
+    method @Nullable public String getMncString();
+    method @Nullable public String getMobileNetworkOperator();
+    method public int getPci();
+    method public int getTac();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityLte> CREATOR;
+  }
+
+  public final class CellIdentityNr extends android.telephony.CellIdentity {
+    method @NonNull public java.util.Set<java.lang.String> getAdditionalPlmns();
+    method @NonNull public int[] getBands();
+    method @Nullable public String getMccString();
+    method @Nullable public String getMncString();
+    method public long getNci();
+    method @IntRange(from=0, to=3279165) public int getNrarfcn();
+    method @IntRange(from=0, to=1007) public int getPci();
+    method @IntRange(from=0, to=16777215) public int getTac();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityNr> CREATOR;
+  }
+
+  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
+    method @NonNull public java.util.Set<java.lang.String> getAdditionalPlmns();
+    method public int getCid();
+    method @Nullable public android.telephony.ClosedSubscriberGroupInfo getClosedSubscriberGroupInfo();
+    method public int getCpid();
+    method public int getLac();
+    method @Nullable public String getMccString();
+    method @Nullable public String getMncString();
+    method @Nullable public String getMobileNetworkOperator();
+    method public int getUarfcn();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityTdscdma> CREATOR;
+  }
+
+  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
+    method @NonNull public java.util.Set<java.lang.String> getAdditionalPlmns();
+    method public int getCid();
+    method @Nullable public android.telephony.ClosedSubscriberGroupInfo getClosedSubscriberGroupInfo();
+    method public int getLac();
+    method @Deprecated public int getMcc();
+    method @Nullable public String getMccString();
+    method @Deprecated public int getMnc();
+    method @Nullable public String getMncString();
+    method @Nullable public String getMobileNetworkOperator();
+    method public int getPsc();
+    method public int getUarfcn();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityWcdma> CREATOR;
+  }
+
+  public abstract class CellInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCellConnectionStatus();
+    method @NonNull public abstract android.telephony.CellIdentity getCellIdentity();
+    method @NonNull public abstract android.telephony.CellSignalStrength getCellSignalStrength();
+    method @Deprecated public long getTimeStamp();
+    method public long getTimestampMillis();
+    method public boolean isRegistered();
+    field public static final int CONNECTION_NONE = 0; // 0x0
+    field public static final int CONNECTION_PRIMARY_SERVING = 1; // 0x1
+    field public static final int CONNECTION_SECONDARY_SERVING = 2; // 0x2
+    field public static final int CONNECTION_UNKNOWN = 2147483647; // 0x7fffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfo> CREATOR;
+    field public static final int UNAVAILABLE = 2147483647; // 0x7fffffff
+    field public static final long UNAVAILABLE_LONG = 9223372036854775807L; // 0x7fffffffffffffffL
+  }
+
+  public final class CellInfoCdma extends android.telephony.CellInfo implements android.os.Parcelable {
+    method @NonNull public android.telephony.CellIdentityCdma getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrengthCdma getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoCdma> CREATOR;
+  }
+
+  public final class CellInfoGsm extends android.telephony.CellInfo implements android.os.Parcelable {
+    method @NonNull public android.telephony.CellIdentityGsm getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrengthGsm getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoGsm> CREATOR;
+  }
+
+  public final class CellInfoLte extends android.telephony.CellInfo implements android.os.Parcelable {
+    method @NonNull public android.telephony.CellIdentityLte getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrengthLte getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoLte> CREATOR;
+  }
+
+  public final class CellInfoNr extends android.telephony.CellInfo {
+    method @NonNull public android.telephony.CellIdentity getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrength getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoNr> CREATOR;
+  }
+
+  public final class CellInfoTdscdma extends android.telephony.CellInfo implements android.os.Parcelable {
+    method @NonNull public android.telephony.CellIdentityTdscdma getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrengthTdscdma getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoTdscdma> CREATOR;
+  }
+
+  public final class CellInfoWcdma extends android.telephony.CellInfo implements android.os.Parcelable {
+    method public android.telephony.CellIdentityWcdma getCellIdentity();
+    method public android.telephony.CellSignalStrengthWcdma getCellSignalStrength();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoWcdma> CREATOR;
+  }
+
+  @Deprecated public abstract class CellLocation {
+    ctor @Deprecated public CellLocation();
+    method @Deprecated public static android.telephony.CellLocation getEmpty();
+    method @Deprecated public static void requestLocationUpdate();
+  }
+
+  public abstract class CellSignalStrength {
+    method public abstract boolean equals(Object);
+    method public abstract int getAsuLevel();
+    method public abstract int getDbm();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public abstract int getLevel();
+    method public abstract int hashCode();
+    field public static final int SIGNAL_STRENGTH_GOOD = 3; // 0x3
+    field public static final int SIGNAL_STRENGTH_GREAT = 4; // 0x4
+    field public static final int SIGNAL_STRENGTH_MODERATE = 2; // 0x2
+    field public static final int SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0; // 0x0
+    field public static final int SIGNAL_STRENGTH_POOR = 1; // 0x1
+  }
+
+  public final class CellSignalStrengthCdma extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method public int getCdmaDbm();
+    method public int getCdmaEcio();
+    method public int getCdmaLevel();
+    method public int getDbm();
+    method public int getEvdoDbm();
+    method public int getEvdoEcio();
+    method public int getEvdoLevel();
+    method public int getEvdoSnr();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public int getLevel();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthCdma> CREATOR;
+  }
+
+  public final class CellSignalStrengthGsm extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method public int getBitErrorRate();
+    method public int getDbm();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public int getLevel();
+    method public int getRssi();
+    method public int getTimingAdvance();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthGsm> CREATOR;
+  }
+
+  public final class CellSignalStrengthLte extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method @IntRange(from=0, to=15) public int getCqi();
+    method @IntRange(from=1, to=6) public int getCqiTableIndex();
+    method public int getDbm();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public int getLevel();
+    method public int getRsrp();
+    method public int getRsrq();
+    method public int getRssi();
+    method public int getRssnr();
+    method public int getTimingAdvance();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthLte> CREATOR;
+  }
+
+  public final class CellSignalStrengthNr extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method @IntRange(from=0, to=15) @NonNull public java.util.List<java.lang.Integer> getCsiCqiReport();
+    method @IntRange(from=1, to=3) public int getCsiCqiTableIndex();
+    method public int getCsiRsrp();
+    method public int getCsiRsrq();
+    method public int getCsiSinr();
+    method public int getDbm();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public int getLevel();
+    method public int getSsRsrp();
+    method public int getSsRsrq();
+    method public int getSsSinr();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthNr> CREATOR;
+  }
+
+  public final class CellSignalStrengthTdscdma extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method public int getDbm();
+    method @IntRange(from=0, to=4) public int getLevel();
+    method public int getRscp();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthTdscdma> CREATOR;
+  }
+
+  public final class CellSignalStrengthWcdma extends android.telephony.CellSignalStrength implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAsuLevel();
+    method public int getDbm();
+    method public int getEcNo();
+    method @IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) public int getLevel();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthWcdma> CREATOR;
+  }
+
+  public final class ClosedSubscriberGroupInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0, to=134217727) public int getCsgIdentity();
+    method public boolean getCsgIndicator();
+    method @NonNull public String getHomeNodebName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ClosedSubscriberGroupInfo> CREATOR;
+  }
+
+  public final class DataFailCause {
+    field public static final int ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 2219; // 0x8ab
+    field public static final int ACCESS_BLOCK = 2087; // 0x827
+    field public static final int ACCESS_BLOCK_ALL = 2088; // 0x828
+    field public static final int ACCESS_CLASS_DSAC_REJECTION = 2108; // 0x83c
+    field public static final int ACCESS_CONTROL_LIST_CHECK_FAILURE = 2128; // 0x850
+    field public static final int ACTIVATION_REJECTED_BCM_VIOLATION = 48; // 0x30
+    field public static final int ACTIVATION_REJECT_GGSN = 30; // 0x1e
+    field public static final int ACTIVATION_REJECT_UNSPECIFIED = 31; // 0x1f
+    field public static final int ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED = 65; // 0x41
+    field public static final int ALL_MATCHING_RULES_FAILED = 2254; // 0x8ce
+    field public static final int APN_DISABLED = 2045; // 0x7fd
+    field public static final int APN_DISALLOWED_ON_ROAMING = 2059; // 0x80b
+    field public static final int APN_MISMATCH = 2054; // 0x806
+    field public static final int APN_PARAMETERS_CHANGED = 2060; // 0x80c
+    field public static final int APN_PENDING_HANDOVER = 2041; // 0x7f9
+    field public static final int APN_TYPE_CONFLICT = 112; // 0x70
+    field public static final int AUTH_FAILURE_ON_EMERGENCY_CALL = 122; // 0x7a
+    field public static final int BEARER_HANDLING_NOT_SUPPORTED = 60; // 0x3c
+    field public static final int CALL_DISALLOWED_IN_ROAMING = 2068; // 0x814
+    field public static final int CALL_PREEMPT_BY_EMERGENCY_APN = 127; // 0x7f
+    field public static final int CANNOT_ENCODE_OTA_MESSAGE = 2159; // 0x86f
+    field public static final int CDMA_ALERT_STOP = 2077; // 0x81d
+    field public static final int CDMA_INCOMING_CALL = 2076; // 0x81c
+    field public static final int CDMA_INTERCEPT = 2073; // 0x819
+    field public static final int CDMA_LOCK = 2072; // 0x818
+    field public static final int CDMA_RELEASE_DUE_TO_SO_REJECTION = 2075; // 0x81b
+    field public static final int CDMA_REORDER = 2074; // 0x81a
+    field public static final int CDMA_RETRY_ORDER = 2086; // 0x826
+    field public static final int CHANNEL_ACQUISITION_FAILURE = 2078; // 0x81e
+    field public static final int CLOSE_IN_PROGRESS = 2030; // 0x7ee
+    field public static final int COLLISION_WITH_NETWORK_INITIATED_REQUEST = 56; // 0x38
+    field public static final int COMPANION_IFACE_IN_USE = 118; // 0x76
+    field public static final int CONCURRENT_SERVICES_INCOMPATIBLE = 2083; // 0x823
+    field public static final int CONCURRENT_SERVICES_NOT_ALLOWED = 2091; // 0x82b
+    field public static final int CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 2080; // 0x820
+    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
+    field public static final int CONGESTION = 2106; // 0x83a
+    field public static final int CONNECTION_RELEASED = 2113; // 0x841
+    field public static final int CS_DOMAIN_NOT_AVAILABLE = 2181; // 0x885
+    field public static final int CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 2188; // 0x88c
+    field public static final int DATA_PLAN_EXPIRED = 2198; // 0x896
+    field public static final int DATA_ROAMING_SETTINGS_DISABLED = 2064; // 0x810
+    field public static final int DATA_SETTINGS_DISABLED = 2063; // 0x80f
+    field public static final int DBM_OR_SMS_IN_PROGRESS = 2211; // 0x8a3
+    field public static final int DDS_SWITCHED = 2065; // 0x811
+    field public static final int DDS_SWITCH_IN_PROGRESS = 2067; // 0x813
+    field public static final int DRB_RELEASED_BY_RRC = 2112; // 0x840
+    field public static final int DS_EXPLICIT_DEACTIVATION = 2125; // 0x84d
+    field public static final int DUAL_SWITCH = 2227; // 0x8b3
+    field public static final int DUN_CALL_DISALLOWED = 2056; // 0x808
+    field public static final int DUPLICATE_BEARER_ID = 2118; // 0x846
+    field public static final int EHRPD_TO_HRPD_FALLBACK = 2049; // 0x801
+    field public static final int EMBMS_NOT_ENABLED = 2193; // 0x891
+    field public static final int EMBMS_REGULAR_DEACTIVATION = 2195; // 0x893
+    field public static final int EMERGENCY_IFACE_ONLY = 116; // 0x74
+    field public static final int EMERGENCY_MODE = 2221; // 0x8ad
+    field public static final int EMM_ACCESS_BARRED = 115; // 0x73
+    field public static final int EMM_ACCESS_BARRED_INFINITE_RETRY = 121; // 0x79
+    field public static final int EMM_ATTACH_FAILED = 2115; // 0x843
+    field public static final int EMM_ATTACH_STARTED = 2116; // 0x844
+    field public static final int EMM_DETACHED = 2114; // 0x842
+    field public static final int EMM_T3417_EXPIRED = 2130; // 0x852
+    field public static final int EMM_T3417_EXT_EXPIRED = 2131; // 0x853
+    field public static final int EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 2178; // 0x882
+    field public static final int EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 2179; // 0x883
+    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
+    field public static final int ESM_BAD_OTA_MESSAGE = 2122; // 0x84a
+    field public static final int ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 2120; // 0x848
+    field public static final int ESM_COLLISION_SCENARIOS = 2119; // 0x847
+    field public static final int ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 2124; // 0x84c
+    field public static final int ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 2123; // 0x84b
+    field public static final int ESM_FAILURE = 2182; // 0x886
+    field public static final int ESM_INFO_NOT_RECEIVED = 53; // 0x35
+    field public static final int ESM_LOCAL_CAUSE_NONE = 2126; // 0x84e
+    field public static final int ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 2121; // 0x849
+    field public static final int ESM_PROCEDURE_TIME_OUT = 2155; // 0x86b
+    field public static final int ESM_UNKNOWN_EPS_BEARER_CONTEXT = 2111; // 0x83f
+    field public static final int EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 2201; // 0x899
+    field public static final int EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 2200; // 0x898
+    field public static final int EVDO_HDR_CHANGED = 2202; // 0x89a
+    field public static final int EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 2206; // 0x89e
+    field public static final int EVDO_HDR_EXITED = 2203; // 0x89b
+    field public static final int EVDO_HDR_NO_SESSION = 2204; // 0x89c
+    field public static final int EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 2205; // 0x89d
+    field public static final int FADE = 2217; // 0x8a9
+    field public static final int FAILED_TO_ACQUIRE_COLOCATED_HDR = 2207; // 0x89f
+    field public static final int FEATURE_NOT_SUPP = 40; // 0x28
+    field public static final int FILTER_SEMANTIC_ERROR = 44; // 0x2c
+    field public static final int FILTER_SYTAX_ERROR = 45; // 0x2d
+    field public static final int FORBIDDEN_APN_NAME = 2066; // 0x812
+    field public static final int GPRS_REGISTRATION_FAIL = -2; // 0xfffffffe
+    field public static final int GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 2097; // 0x831
+    field public static final int GPRS_SERVICES_NOT_ALLOWED = 2098; // 0x832
+    field public static final int GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 2103; // 0x837
+    field public static final int HANDOFF_PREFERENCE_CHANGED = 2251; // 0x8cb
+    field public static final int HDR_ACCESS_FAILURE = 2213; // 0x8a5
+    field public static final int HDR_FADE = 2212; // 0x8a4
+    field public static final int HDR_NO_LOCK_GRANTED = 2210; // 0x8a2
+    field public static final int IFACE_AND_POL_FAMILY_MISMATCH = 120; // 0x78
+    field public static final int IFACE_MISMATCH = 117; // 0x75
+    field public static final int ILLEGAL_ME = 2096; // 0x830
+    field public static final int ILLEGAL_MS = 2095; // 0x82f
+    field public static final int IMEI_NOT_ACCEPTED = 2177; // 0x881
+    field public static final int IMPLICITLY_DETACHED = 2100; // 0x834
+    field public static final int IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 2176; // 0x880
+    field public static final int INCOMING_CALL_REJECTED = 2092; // 0x82c
+    field public static final int INSUFFICIENT_RESOURCES = 26; // 0x1a
+    field public static final int INTERFACE_IN_USE = 2058; // 0x80a
+    field public static final int INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 114; // 0x72
+    field public static final int INTERNAL_EPC_NONEPC_TRANSITION = 2057; // 0x809
+    field public static final int INVALID_CONNECTION_ID = 2156; // 0x86c
+    field public static final int INVALID_DNS_ADDR = 123; // 0x7b
+    field public static final int INVALID_EMM_STATE = 2190; // 0x88e
+    field public static final int INVALID_MANDATORY_INFO = 96; // 0x60
+    field public static final int INVALID_MODE = 2223; // 0x8af
+    field public static final int INVALID_PCSCF_ADDR = 113; // 0x71
+    field public static final int INVALID_PCSCF_OR_DNS_ADDRESS = 124; // 0x7c
+    field public static final int INVALID_PRIMARY_NSAPI = 2158; // 0x86e
+    field public static final int INVALID_SIM_STATE = 2224; // 0x8b0
+    field public static final int INVALID_TRANSACTION_ID = 81; // 0x51
+    field public static final int IPV6_ADDRESS_TRANSFER_FAILED = 2047; // 0x7ff
+    field public static final int IPV6_PREFIX_UNAVAILABLE = 2250; // 0x8ca
+    field public static final int IP_ADDRESS_MISMATCH = 119; // 0x77
+    field public static final int IP_VERSION_MISMATCH = 2055; // 0x807
+    field public static final int IRAT_HANDOVER_FAILED = 2194; // 0x892
+    field public static final int IS707B_MAX_ACCESS_PROBES = 2089; // 0x829
+    field public static final int IWLAN_AUTHORIZATION_REJECTED = 9003; // 0x232b
+    field public static final int IWLAN_DNS_RESOLUTION_NAME_FAILURE = 16388; // 0x4004
+    field public static final int IWLAN_DNS_RESOLUTION_TIMEOUT = 16389; // 0x4005
+    field public static final int IWLAN_IKEV2_AUTH_FAILURE = 16385; // 0x4001
+    field public static final int IWLAN_IKEV2_CERT_INVALID = 16387; // 0x4003
+    field public static final int IWLAN_IKEV2_CONFIG_FAILURE = 16384; // 0x4000
+    field public static final int IWLAN_IKEV2_MSG_TIMEOUT = 16386; // 0x4002
+    field public static final int IWLAN_ILLEGAL_ME = 9006; // 0x232e
+    field public static final int IWLAN_IMEI_NOT_ACCEPTED = 11005; // 0x2afd
+    field public static final int IWLAN_MAX_CONNECTION_REACHED = 8193; // 0x2001
+    field public static final int IWLAN_NETWORK_FAILURE = 10500; // 0x2904
+    field public static final int IWLAN_NON_3GPP_ACCESS_TO_EPC_NOT_ALLOWED = 9000; // 0x2328
+    field public static final int IWLAN_NO_APN_SUBSCRIPTION = 9002; // 0x232a
+    field public static final int IWLAN_PDN_CONNECTION_REJECTION = 8192; // 0x2000
+    field public static final int IWLAN_PLMN_NOT_ALLOWED = 11011; // 0x2b03
+    field public static final int IWLAN_RAT_TYPE_NOT_ALLOWED = 11001; // 0x2af9
+    field public static final int IWLAN_SEMANTIC_ERRORS_IN_PACKET_FILTERS = 8244; // 0x2034
+    field public static final int IWLAN_SEMANTIC_ERROR_IN_THE_TFT_OPERATION = 8241; // 0x2031
+    field public static final int IWLAN_SYNTACTICAL_ERRORS_IN_PACKET_FILTERS = 8245; // 0x2035
+    field public static final int IWLAN_SYNTACTICAL_ERROR_IN_THE_TFT_OPERATION = 8242; // 0x2032
+    field public static final int IWLAN_UNAUTHENTICATED_EMERGENCY_NOT_SUPPORTED = 11055; // 0x2b2f
+    field public static final int IWLAN_USER_UNKNOWN = 9001; // 0x2329
+    field public static final int LIMITED_TO_IPV4 = 2234; // 0x8ba
+    field public static final int LIMITED_TO_IPV6 = 2235; // 0x8bb
+    field public static final int LLC_SNDCP = 25; // 0x19
+    field public static final int LOCAL_END = 2215; // 0x8a7
+    field public static final int LOCATION_AREA_NOT_ALLOWED = 2102; // 0x836
+    field public static final int LOST_CONNECTION = 65540; // 0x10004
+    field public static final int LOWER_LAYER_REGISTRATION_FAILURE = 2197; // 0x895
+    field public static final int LOW_POWER_MODE_OR_POWERING_DOWN = 2044; // 0x7fc
+    field public static final int LTE_NAS_SERVICE_REQUEST_FAILED = 2117; // 0x845
+    field public static final int LTE_THROTTLING_NOT_REQUIRED = 2127; // 0x84f
+    field public static final int MAC_FAILURE = 2183; // 0x887
+    field public static final int MATCH_ALL_RULE_NOT_ALLOWED = 2253; // 0x8cd
+    field public static final int MAXIMIUM_NSAPIS_EXCEEDED = 2157; // 0x86d
+    field public static final int MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 2166; // 0x876
+    field public static final int MAX_ACCESS_PROBE = 2079; // 0x81f
+    field public static final int MAX_IPV4_CONNECTIONS = 2052; // 0x804
+    field public static final int MAX_IPV6_CONNECTIONS = 2053; // 0x805
+    field public static final int MAX_PPP_INACTIVITY_TIMER_EXPIRED = 2046; // 0x7fe
+    field public static final int MESSAGE_INCORRECT_SEMANTIC = 95; // 0x5f
+    field public static final int MESSAGE_TYPE_UNSUPPORTED = 97; // 0x61
+    field public static final int MIP_CONFIG_FAILURE = 2050; // 0x802
+    field public static final int MIP_FA_ADMIN_PROHIBITED = 2001; // 0x7d1
+    field public static final int MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 2012; // 0x7dc
+    field public static final int MIP_FA_ENCAPSULATION_UNAVAILABLE = 2008; // 0x7d8
+    field public static final int MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 2004; // 0x7d4
+    field public static final int MIP_FA_INSUFFICIENT_RESOURCES = 2002; // 0x7d2
+    field public static final int MIP_FA_MALFORMED_REPLY = 2007; // 0x7d7
+    field public static final int MIP_FA_MALFORMED_REQUEST = 2006; // 0x7d6
+    field public static final int MIP_FA_MISSING_CHALLENGE = 2017; // 0x7e1
+    field public static final int MIP_FA_MISSING_HOME_ADDRESS = 2015; // 0x7df
+    field public static final int MIP_FA_MISSING_HOME_AGENT = 2014; // 0x7de
+    field public static final int MIP_FA_MISSING_NAI = 2013; // 0x7dd
+    field public static final int MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2003; // 0x7d3
+    field public static final int MIP_FA_REASON_UNSPECIFIED = 2000; // 0x7d0
+    field public static final int MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 2005; // 0x7d5
+    field public static final int MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 2011; // 0x7db
+    field public static final int MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 2010; // 0x7da
+    field public static final int MIP_FA_STALE_CHALLENGE = 2018; // 0x7e2
+    field public static final int MIP_FA_UNKNOWN_CHALLENGE = 2016; // 0x7e0
+    field public static final int MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 2009; // 0x7d9
+    field public static final int MIP_HA_ADMIN_PROHIBITED = 2020; // 0x7e4
+    field public static final int MIP_HA_ENCAPSULATION_UNAVAILABLE = 2029; // 0x7ed
+    field public static final int MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 2023; // 0x7e7
+    field public static final int MIP_HA_INSUFFICIENT_RESOURCES = 2021; // 0x7e5
+    field public static final int MIP_HA_MALFORMED_REQUEST = 2025; // 0x7e9
+    field public static final int MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2022; // 0x7e6
+    field public static final int MIP_HA_REASON_UNSPECIFIED = 2019; // 0x7e3
+    field public static final int MIP_HA_REGISTRATION_ID_MISMATCH = 2024; // 0x7e8
+    field public static final int MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 2028; // 0x7ec
+    field public static final int MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 2027; // 0x7eb
+    field public static final int MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 2026; // 0x7ea
+    field public static final int MISSING_UNKNOWN_APN = 27; // 0x1b
+    field public static final int MODEM_APP_PREEMPTED = 2032; // 0x7f0
+    field public static final int MODEM_RESTART = 2037; // 0x7f5
+    field public static final int MSC_TEMPORARILY_NOT_REACHABLE = 2180; // 0x884
+    field public static final int MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 101; // 0x65
+    field public static final int MSG_TYPE_NONCOMPATIBLE_STATE = 98; // 0x62
+    field public static final int MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 2099; // 0x833
+    field public static final int MULTIPLE_PDP_CALL_NOT_ALLOWED = 2192; // 0x890
+    field public static final int MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 55; // 0x37
+    field public static final int NAS_LAYER_FAILURE = 2191; // 0x88f
+    field public static final int NAS_REQUEST_REJECTED_BY_NETWORK = 2167; // 0x877
+    field public static final int NAS_SIGNALLING = 14; // 0xe
+    field public static final int NETWORK_FAILURE = 38; // 0x26
+    field public static final int NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 2154; // 0x86a
+    field public static final int NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 2153; // 0x869
+    field public static final int NETWORK_INITIATED_TERMINATION = 2031; // 0x7ef
+    field public static final int NONE = 0; // 0x0
+    field public static final int NON_IP_NOT_SUPPORTED = 2069; // 0x815
+    field public static final int NORMAL_RELEASE = 2218; // 0x8aa
+    field public static final int NO_CDMA_SERVICE = 2084; // 0x824
+    field public static final int NO_COLLOCATED_HDR = 2225; // 0x8b1
+    field public static final int NO_EPS_BEARER_CONTEXT_ACTIVATED = 2189; // 0x88d
+    field public static final int NO_GPRS_CONTEXT = 2094; // 0x82e
+    field public static final int NO_HYBRID_HDR_SERVICE = 2209; // 0x8a1
+    field public static final int NO_PDP_CONTEXT_ACTIVATED = 2107; // 0x83b
+    field public static final int NO_RESPONSE_FROM_BASE_STATION = 2081; // 0x821
+    field public static final int NO_SERVICE = 2216; // 0x8a8
+    field public static final int NO_SERVICE_ON_GATEWAY = 2093; // 0x82d
+    field public static final int NSAPI_IN_USE = 35; // 0x23
+    field public static final int NULL_APN_DISALLOWED = 2061; // 0x80d
+    field public static final int OEM_DCFAILCAUSE_1 = 4097; // 0x1001
+    field public static final int OEM_DCFAILCAUSE_10 = 4106; // 0x100a
+    field public static final int OEM_DCFAILCAUSE_11 = 4107; // 0x100b
+    field public static final int OEM_DCFAILCAUSE_12 = 4108; // 0x100c
+    field public static final int OEM_DCFAILCAUSE_13 = 4109; // 0x100d
+    field public static final int OEM_DCFAILCAUSE_14 = 4110; // 0x100e
+    field public static final int OEM_DCFAILCAUSE_15 = 4111; // 0x100f
+    field public static final int OEM_DCFAILCAUSE_2 = 4098; // 0x1002
+    field public static final int OEM_DCFAILCAUSE_3 = 4099; // 0x1003
+    field public static final int OEM_DCFAILCAUSE_4 = 4100; // 0x1004
+    field public static final int OEM_DCFAILCAUSE_5 = 4101; // 0x1005
+    field public static final int OEM_DCFAILCAUSE_6 = 4102; // 0x1006
+    field public static final int OEM_DCFAILCAUSE_7 = 4103; // 0x1007
+    field public static final int OEM_DCFAILCAUSE_8 = 4104; // 0x1008
+    field public static final int OEM_DCFAILCAUSE_9 = 4105; // 0x1009
+    field public static final int ONLY_IPV4V6_ALLOWED = 57; // 0x39
+    field public static final int ONLY_IPV4_ALLOWED = 50; // 0x32
+    field public static final int ONLY_IPV6_ALLOWED = 51; // 0x33
+    field public static final int ONLY_NON_IP_ALLOWED = 58; // 0x3a
+    field public static final int ONLY_SINGLE_BEARER_ALLOWED = 52; // 0x34
+    field public static final int OPERATOR_BARRED = 8; // 0x8
+    field public static final int OTASP_COMMIT_IN_PROGRESS = 2208; // 0x8a0
+    field public static final int PDN_CONN_DOES_NOT_EXIST = 54; // 0x36
+    field public static final int PDN_INACTIVITY_TIMER_EXPIRED = 2051; // 0x803
+    field public static final int PDN_IPV4_CALL_DISALLOWED = 2033; // 0x7f1
+    field public static final int PDN_IPV4_CALL_THROTTLED = 2034; // 0x7f2
+    field public static final int PDN_IPV6_CALL_DISALLOWED = 2035; // 0x7f3
+    field public static final int PDN_IPV6_CALL_THROTTLED = 2036; // 0x7f4
+    field public static final int PDN_NON_IP_CALL_DISALLOWED = 2071; // 0x817
+    field public static final int PDN_NON_IP_CALL_THROTTLED = 2070; // 0x816
+    field public static final int PDP_ACTIVATE_MAX_RETRY_FAILED = 2109; // 0x83d
+    field public static final int PDP_DUPLICATE = 2104; // 0x838
+    field public static final int PDP_ESTABLISH_TIMEOUT_EXPIRED = 2161; // 0x871
+    field public static final int PDP_INACTIVE_TIMEOUT_EXPIRED = 2163; // 0x873
+    field public static final int PDP_LOWERLAYER_ERROR = 2164; // 0x874
+    field public static final int PDP_MODIFY_COLLISION = 2165; // 0x875
+    field public static final int PDP_MODIFY_TIMEOUT_EXPIRED = 2162; // 0x872
+    field public static final int PDP_PPP_NOT_SUPPORTED = 2038; // 0x7f6
+    field public static final int PDP_WITHOUT_ACTIVE_TFT = 46; // 0x2e
+    field public static final int PHONE_IN_USE = 2222; // 0x8ae
+    field public static final int PHYSICAL_LINK_CLOSE_IN_PROGRESS = 2040; // 0x7f8
+    field public static final int PLMN_NOT_ALLOWED = 2101; // 0x835
+    field public static final int PPP_AUTH_FAILURE = 2229; // 0x8b5
+    field public static final int PPP_CHAP_FAILURE = 2232; // 0x8b8
+    field public static final int PPP_CLOSE_IN_PROGRESS = 2233; // 0x8b9
+    field public static final int PPP_OPTION_MISMATCH = 2230; // 0x8b6
+    field public static final int PPP_PAP_FAILURE = 2231; // 0x8b7
+    field public static final int PPP_TIMEOUT = 2228; // 0x8b4
+    field public static final int PREF_RADIO_TECH_CHANGED = -4; // 0xfffffffc
+    field public static final int PROFILE_BEARER_INCOMPATIBLE = 2042; // 0x7fa
+    field public static final int PROTOCOL_ERRORS = 111; // 0x6f
+    field public static final int QOS_NOT_ACCEPTED = 37; // 0x25
+    field public static final int RADIO_ACCESS_BEARER_FAILURE = 2110; // 0x83e
+    field public static final int RADIO_ACCESS_BEARER_SETUP_FAILURE = 2160; // 0x870
+    field public static final int RADIO_NOT_AVAILABLE = 65537; // 0x10001
+    field public static final int RADIO_POWER_OFF = -5; // 0xfffffffb
+    field public static final int REDIRECTION_OR_HANDOFF_IN_PROGRESS = 2220; // 0x8ac
+    field public static final int REGISTRATION_FAIL = -1; // 0xffffffff
+    field public static final int REGULAR_DEACTIVATION = 36; // 0x24
+    field public static final int REJECTED_BY_BASE_STATION = 2082; // 0x822
+    field public static final int RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 2173; // 0x87d
+    field public static final int RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 2174; // 0x87e
+    field public static final int RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 2171; // 0x87b
+    field public static final int RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 2175; // 0x87f
+    field public static final int RRC_CONNECTION_ABORT_REQUEST = 2151; // 0x867
+    field public static final int RRC_CONNECTION_ACCESS_BARRED = 2139; // 0x85b
+    field public static final int RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 2137; // 0x859
+    field public static final int RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 2138; // 0x85a
+    field public static final int RRC_CONNECTION_CELL_NOT_CAMPED = 2144; // 0x860
+    field public static final int RRC_CONNECTION_CELL_RESELECTION = 2140; // 0x85c
+    field public static final int RRC_CONNECTION_CONFIG_FAILURE = 2141; // 0x85d
+    field public static final int RRC_CONNECTION_INVALID_REQUEST = 2168; // 0x878
+    field public static final int RRC_CONNECTION_LINK_FAILURE = 2143; // 0x85f
+    field public static final int RRC_CONNECTION_NORMAL_RELEASE = 2147; // 0x863
+    field public static final int RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 2150; // 0x866
+    field public static final int RRC_CONNECTION_RADIO_LINK_FAILURE = 2148; // 0x864
+    field public static final int RRC_CONNECTION_REESTABLISHMENT_FAILURE = 2149; // 0x865
+    field public static final int RRC_CONNECTION_REJECT_BY_NETWORK = 2146; // 0x862
+    field public static final int RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 2172; // 0x87c
+    field public static final int RRC_CONNECTION_RF_UNAVAILABLE = 2170; // 0x87a
+    field public static final int RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 2152; // 0x868
+    field public static final int RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 2145; // 0x861
+    field public static final int RRC_CONNECTION_TIMER_EXPIRED = 2142; // 0x85e
+    field public static final int RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 2169; // 0x879
+    field public static final int RRC_UPLINK_CONNECTION_RELEASE = 2134; // 0x856
+    field public static final int RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 2132; // 0x854
+    field public static final int RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 2133; // 0x855
+    field public static final int RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 2136; // 0x858
+    field public static final int RRC_UPLINK_RADIO_LINK_FAILURE = 2135; // 0x857
+    field public static final int RUIM_NOT_PRESENT = 2085; // 0x825
+    field public static final int SECURITY_MODE_REJECTED = 2186; // 0x88a
+    field public static final int SERVICE_NOT_ALLOWED_ON_PLMN = 2129; // 0x851
+    field public static final int SERVICE_OPTION_NOT_SUBSCRIBED = 33; // 0x21
+    field public static final int SERVICE_OPTION_NOT_SUPPORTED = 32; // 0x20
+    field public static final int SERVICE_OPTION_OUT_OF_ORDER = 34; // 0x22
+    field public static final int SIGNAL_LOST = -3; // 0xfffffffd
+    field public static final int SIM_CARD_CHANGED = 2043; // 0x7fb
+    field public static final int SLICE_REJECTED = 2252; // 0x8cc
+    field public static final int SYNCHRONIZATION_FAILURE = 2184; // 0x888
+    field public static final int TEST_LOOPBACK_REGULAR_DEACTIVATION = 2196; // 0x894
+    field public static final int TETHERED_CALL_ACTIVE = -6; // 0xfffffffa
+    field public static final int TFT_SEMANTIC_ERROR = 41; // 0x29
+    field public static final int TFT_SYTAX_ERROR = 42; // 0x2a
+    field public static final int THERMAL_EMERGENCY = 2090; // 0x82a
+    field public static final int THERMAL_MITIGATION = 2062; // 0x80e
+    field public static final int TRAT_SWAP_FAILED = 2048; // 0x800
+    field public static final int UE_INITIATED_DETACH_OR_DISCONNECT = 128; // 0x80
+    field public static final int UE_IS_ENTERING_POWERSAVE_MODE = 2226; // 0x8b2
+    field public static final int UE_RAT_CHANGE = 2105; // 0x839
+    field public static final int UE_SECURITY_CAPABILITIES_MISMATCH = 2185; // 0x889
+    field public static final int UMTS_HANDOVER_TO_IWLAN = 2199; // 0x897
+    field public static final int UMTS_REACTIVATION_REQ = 39; // 0x27
+    field public static final int UNACCEPTABLE_NETWORK_PARAMETER = 65538; // 0x10002
+    field public static final int UNACCEPTABLE_NON_EPS_AUTHENTICATION = 2187; // 0x88b
+    field public static final int UNKNOWN = 65536; // 0x10000
+    field public static final int UNKNOWN_INFO_ELEMENT = 99; // 0x63
+    field public static final int UNKNOWN_PDP_ADDRESS_TYPE = 28; // 0x1c
+    field public static final int UNKNOWN_PDP_CONTEXT = 43; // 0x2b
+    field public static final int UNPREFERRED_RAT = 2039; // 0x7f7
+    field public static final int UNSUPPORTED_1X_PREV = 2214; // 0x8a6
+    field public static final int UNSUPPORTED_APN_IN_CURRENT_PLMN = 66; // 0x42
+    field public static final int UNSUPPORTED_QCI_VALUE = 59; // 0x3b
+    field public static final int USER_AUTHENTICATION = 29; // 0x1d
+    field public static final int VSNCP_ADMINISTRATIVELY_PROHIBITED = 2245; // 0x8c5
+    field public static final int VSNCP_APN_UNAUTHORIZED = 2238; // 0x8be
+    field public static final int VSNCP_GEN_ERROR = 2237; // 0x8bd
+    field public static final int VSNCP_INSUFFICIENT_PARAMETERS = 2243; // 0x8c3
+    field public static final int VSNCP_NO_PDN_GATEWAY_ADDRESS = 2240; // 0x8c0
+    field public static final int VSNCP_PDN_EXISTS_FOR_THIS_APN = 2248; // 0x8c8
+    field public static final int VSNCP_PDN_GATEWAY_REJECT = 2242; // 0x8c2
+    field public static final int VSNCP_PDN_GATEWAY_UNREACHABLE = 2241; // 0x8c1
+    field public static final int VSNCP_PDN_ID_IN_USE = 2246; // 0x8c6
+    field public static final int VSNCP_PDN_LIMIT_EXCEEDED = 2239; // 0x8bf
+    field public static final int VSNCP_RECONNECT_NOT_ALLOWED = 2249; // 0x8c9
+    field public static final int VSNCP_RESOURCE_UNAVAILABLE = 2244; // 0x8c4
+    field public static final int VSNCP_SUBSCRIBER_LIMITATION = 2247; // 0x8c7
+    field public static final int VSNCP_TIMEOUT = 2236; // 0x8bc
+  }
+
+  public final class DisconnectCause {
+    field public static final int ALREADY_DIALING = 72; // 0x48
+    field public static final int ANSWERED_ELSEWHERE = 52; // 0x34
+    field public static final int BUSY = 4; // 0x4
+    field public static final int CALLING_DISABLED = 74; // 0x4a
+    field public static final int CALL_BARRED = 20; // 0x14
+    field public static final int CALL_PULLED = 51; // 0x33
+    field public static final int CANT_CALL_WHILE_RINGING = 73; // 0x49
+    field public static final int CDMA_ACCESS_BLOCKED = 35; // 0x23
+    field public static final int CDMA_ACCESS_FAILURE = 32; // 0x20
+    field public static final int CDMA_ALREADY_ACTIVATED = 49; // 0x31
+    field public static final int CDMA_DROP = 27; // 0x1b
+    field public static final int CDMA_INTERCEPT = 28; // 0x1c
+    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 26; // 0x1a
+    field public static final int CDMA_NOT_EMERGENCY = 34; // 0x22
+    field public static final int CDMA_PREEMPTED = 33; // 0x21
+    field public static final int CDMA_REORDER = 29; // 0x1d
+    field public static final int CDMA_RETRY_ORDER = 31; // 0x1f
+    field public static final int CDMA_SO_REJECT = 30; // 0x1e
+    field public static final int CONGESTION = 5; // 0x5
+    field public static final int CS_RESTRICTED = 22; // 0x16
+    field public static final int CS_RESTRICTED_EMERGENCY = 24; // 0x18
+    field public static final int CS_RESTRICTED_NORMAL = 23; // 0x17
+    field public static final int DATA_DISABLED = 54; // 0x36
+    field public static final int DATA_LIMIT_REACHED = 55; // 0x37
+    field public static final int DIALED_CALL_FORWARDING_WHILE_ROAMING = 57; // 0x39
+    field public static final int DIALED_MMI = 39; // 0x27
+    field public static final int DIAL_LOW_BATTERY = 62; // 0x3e
+    field public static final int DIAL_MODIFIED_TO_DIAL = 48; // 0x30
+    field public static final int DIAL_MODIFIED_TO_DIAL_VIDEO = 66; // 0x42
+    field public static final int DIAL_MODIFIED_TO_SS = 47; // 0x2f
+    field public static final int DIAL_MODIFIED_TO_USSD = 46; // 0x2e
+    field public static final int DIAL_VIDEO_MODIFIED_TO_DIAL = 69; // 0x45
+    field public static final int DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO = 70; // 0x46
+    field public static final int DIAL_VIDEO_MODIFIED_TO_SS = 67; // 0x43
+    field public static final int DIAL_VIDEO_MODIFIED_TO_USSD = 68; // 0x44
+    field public static final int EMERGENCY_CALL_OVER_WFC_NOT_AVAILABLE = 78; // 0x4e
+    field public static final int EMERGENCY_PERM_FAILURE = 64; // 0x40
+    field public static final int EMERGENCY_TEMP_FAILURE = 63; // 0x3f
+    field public static final int ERROR_UNSPECIFIED = 36; // 0x24
+    field public static final int FDN_BLOCKED = 21; // 0x15
+    field public static final int ICC_ERROR = 19; // 0x13
+    field public static final int IMEI_NOT_ACCEPTED = 58; // 0x3a
+    field public static final int IMS_ACCESS_BLOCKED = 60; // 0x3c
+    field public static final int IMS_MERGED_SUCCESSFULLY = 45; // 0x2d
+    field public static final int IMS_SIP_ALTERNATE_EMERGENCY_CALL = 71; // 0x47
+    field public static final int INCOMING_AUTO_REJECTED = 81; // 0x51
+    field public static final int INCOMING_MISSED = 1; // 0x1
+    field public static final int INCOMING_REJECTED = 16; // 0x10
+    field public static final int INVALID_CREDENTIALS = 10; // 0xa
+    field public static final int INVALID_NUMBER = 7; // 0x7
+    field public static final int LIMIT_EXCEEDED = 15; // 0xf
+    field public static final int LOCAL = 3; // 0x3
+    field public static final int LOST_SIGNAL = 14; // 0xe
+    field public static final int LOW_BATTERY = 61; // 0x3d
+    field public static final int MAXIMUM_NUMBER_OF_CALLS_REACHED = 53; // 0x35
+    field public static final int MEDIA_TIMEOUT = 77; // 0x4d
+    field public static final int MMI = 6; // 0x6
+    field public static final int NORMAL = 2; // 0x2
+    field public static final int NORMAL_UNSPECIFIED = 65; // 0x41
+    field public static final int NOT_DISCONNECTED = 0; // 0x0
+    field public static final int NOT_VALID = -1; // 0xffffffff
+    field public static final int NO_PHONE_NUMBER_SUPPLIED = 38; // 0x26
+    field public static final int NUMBER_UNREACHABLE = 8; // 0x8
+    field public static final int OTASP_PROVISIONING_IN_PROCESS = 76; // 0x4c
+    field public static final int OUTGOING_CANCELED = 44; // 0x2c
+    field public static final int OUTGOING_EMERGENCY_CALL_PLACED = 80; // 0x50
+    field public static final int OUTGOING_FAILURE = 43; // 0x2b
+    field public static final int OUT_OF_NETWORK = 11; // 0xb
+    field public static final int OUT_OF_SERVICE = 18; // 0x12
+    field public static final int POWER_OFF = 17; // 0x11
+    field public static final int SERVER_ERROR = 12; // 0xc
+    field public static final int SERVER_UNREACHABLE = 9; // 0x9
+    field public static final int TIMED_OUT = 13; // 0xd
+    field public static final int TOO_MANY_ONGOING_CALLS = 75; // 0x4b
+    field public static final int UNOBTAINABLE_NUMBER = 25; // 0x19
+    field public static final int VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED = 50; // 0x32
+    field public static final int VOICEMAIL_NUMBER_MISSING = 40; // 0x28
+    field public static final int WFC_SERVICE_NOT_AVAILABLE_IN_THIS_LOCATION = 79; // 0x4f
+    field public static final int WIFI_LOST = 59; // 0x3b
+  }
+
+  public class IccOpenLogicalChannelResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getChannel();
+    method public byte[] getSelectResponse();
+    method public int getStatus();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.IccOpenLogicalChannelResponse> CREATOR;
+    field public static final int INVALID_CHANNEL = -1; // 0xffffffff
+    field public static final int STATUS_MISSING_RESOURCE = 2; // 0x2
+    field public static final int STATUS_NO_ERROR = 1; // 0x1
+    field public static final int STATUS_NO_SUCH_ELEMENT = 3; // 0x3
+    field public static final int STATUS_UNKNOWN_ERROR = 4; // 0x4
+  }
+
+  public class MbmsDownloadSession implements java.lang.AutoCloseable {
+    method public void addProgressListener(@NonNull android.telephony.mbms.DownloadRequest, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.DownloadProgressListener);
+    method public void addServiceAnnouncement(@NonNull byte[]);
+    method public void addStatusListener(@NonNull android.telephony.mbms.DownloadRequest, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.DownloadStatusListener);
+    method public void cancelDownload(@NonNull android.telephony.mbms.DownloadRequest);
+    method public void close();
+    method public static android.telephony.MbmsDownloadSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsDownloadSessionCallback);
+    method @Nullable public static android.telephony.MbmsDownloadSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, int, @NonNull android.telephony.mbms.MbmsDownloadSessionCallback);
+    method public void download(@NonNull android.telephony.mbms.DownloadRequest);
+    method public static int getMaximumServiceAnnouncementSize();
+    method @Nullable public java.io.File getTempFileRootDirectory();
+    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads();
+    method public void removeProgressListener(@NonNull android.telephony.mbms.DownloadRequest, @NonNull android.telephony.mbms.DownloadProgressListener);
+    method public void removeStatusListener(@NonNull android.telephony.mbms.DownloadRequest, @NonNull android.telephony.mbms.DownloadStatusListener);
+    method public void requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo);
+    method public void requestUpdateFileServices(@NonNull java.util.List<java.lang.String>);
+    method public void resetDownloadKnowledge(android.telephony.mbms.DownloadRequest);
+    method public void setTempFileRootDirectory(@NonNull java.io.File);
+    field public static final String DEFAULT_TOP_LEVEL_TEMP_DIRECTORY = "androidMbmsTempFileRoot";
+    field public static final String EXTRA_MBMS_COMPLETED_FILE_URI = "android.telephony.extra.MBMS_COMPLETED_FILE_URI";
+    field public static final String EXTRA_MBMS_DOWNLOAD_REQUEST = "android.telephony.extra.MBMS_DOWNLOAD_REQUEST";
+    field public static final String EXTRA_MBMS_DOWNLOAD_RESULT = "android.telephony.extra.MBMS_DOWNLOAD_RESULT";
+    field public static final String EXTRA_MBMS_FILE_INFO = "android.telephony.extra.MBMS_FILE_INFO";
+    field public static final int RESULT_CANCELLED = 2; // 0x2
+    field public static final int RESULT_DOWNLOAD_FAILURE = 6; // 0x6
+    field public static final int RESULT_EXPIRED = 3; // 0x3
+    field public static final int RESULT_FILE_ROOT_UNREACHABLE = 8; // 0x8
+    field public static final int RESULT_IO_ERROR = 4; // 0x4
+    field public static final int RESULT_OUT_OF_STORAGE = 7; // 0x7
+    field public static final int RESULT_SERVICE_ID_NOT_DEFINED = 5; // 0x5
+    field public static final int RESULT_SUCCESSFUL = 1; // 0x1
+    field public static final int STATUS_ACTIVELY_DOWNLOADING = 1; // 0x1
+    field public static final int STATUS_PENDING_DOWNLOAD = 2; // 0x2
+    field public static final int STATUS_PENDING_DOWNLOAD_WINDOW = 4; // 0x4
+    field public static final int STATUS_PENDING_REPAIR = 3; // 0x3
+    field public static final int STATUS_UNKNOWN = 0; // 0x0
+  }
+
+  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @Nullable public static android.telephony.MbmsGroupCallSession create(@NonNull android.content.Context, int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsGroupCallSessionCallback);
+    method @Nullable public static android.telephony.MbmsGroupCallSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsGroupCallSessionCallback);
+    method @Nullable public android.telephony.mbms.GroupCall startGroupCall(long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.GroupCallCallback);
+  }
+
+  public class MbmsStreamingSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @Nullable public static android.telephony.MbmsStreamingSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, int, @NonNull android.telephony.mbms.MbmsStreamingSessionCallback);
+    method public static android.telephony.MbmsStreamingSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsStreamingSessionCallback);
+    method public void requestUpdateStreamingServices(java.util.List<java.lang.String>);
+    method @Nullable public android.telephony.mbms.StreamingService startStreaming(android.telephony.mbms.StreamingServiceInfo, @NonNull java.util.concurrent.Executor, android.telephony.mbms.StreamingServiceCallback);
+  }
+
+  @Deprecated public class NeighboringCellInfo implements android.os.Parcelable {
+    ctor @Deprecated public NeighboringCellInfo();
+    ctor @Deprecated public NeighboringCellInfo(int, int);
+    ctor @Deprecated public NeighboringCellInfo(int, String, int);
+    ctor @Deprecated public NeighboringCellInfo(android.os.Parcel);
+    method @Deprecated public int describeContents();
+    method @Deprecated public int getCid();
+    method @Deprecated public int getLac();
+    method @Deprecated public int getNetworkType();
+    method @Deprecated public int getPsc();
+    method @Deprecated public int getRssi();
+    method @Deprecated public void setCid(int);
+    method @Deprecated public void setRssi(int);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telephony.NeighboringCellInfo> CREATOR;
+    field @Deprecated public static final int UNKNOWN_CID = -1; // 0xffffffff
+    field @Deprecated public static final int UNKNOWN_RSSI = 99; // 0x63
+  }
+
+  public final class NetworkRegistrationInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAccessNetworkTechnology();
+    method @NonNull public java.util.List<java.lang.Integer> getAvailableServices();
+    method @Nullable public android.telephony.CellIdentity getCellIdentity();
+    method public int getDomain();
+    method @Nullable public String getRegisteredPlmn();
+    method public int getTransportType();
+    method public boolean isRegistered();
+    method public boolean isRoaming();
+    method public boolean isSearching();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NetworkRegistrationInfo> CREATOR;
+    field public static final int DOMAIN_CS = 1; // 0x1
+    field public static final int DOMAIN_CS_PS = 3; // 0x3
+    field public static final int DOMAIN_PS = 2; // 0x2
+    field public static final int DOMAIN_UNKNOWN = 0; // 0x0
+    field public static final int NR_STATE_CONNECTED = 3; // 0x3
+    field public static final int NR_STATE_NONE = 0; // 0x0
+    field public static final int NR_STATE_NOT_RESTRICTED = 2; // 0x2
+    field public static final int NR_STATE_RESTRICTED = 1; // 0x1
+    field public static final int SERVICE_TYPE_DATA = 2; // 0x2
+    field public static final int SERVICE_TYPE_EMERGENCY = 5; // 0x5
+    field public static final int SERVICE_TYPE_SMS = 3; // 0x3
+    field public static final int SERVICE_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int SERVICE_TYPE_VIDEO = 4; // 0x4
+    field public static final int SERVICE_TYPE_VOICE = 1; // 0x1
+  }
+
+  public class NetworkScan {
+    method public void stopScan();
+    field public static final int ERROR_INTERRUPTED = 10002; // 0x2712
+    field public static final int ERROR_INVALID_SCAN = 2; // 0x2
+    field public static final int ERROR_INVALID_SCANID = 10001; // 0x2711
+    field public static final int ERROR_MODEM_ERROR = 1; // 0x1
+    field public static final int ERROR_MODEM_UNAVAILABLE = 3; // 0x3
+    field public static final int ERROR_RADIO_INTERFACE_ERROR = 10000; // 0x2710
+    field public static final int ERROR_UNSUPPORTED = 4; // 0x4
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public final class NetworkScanRequest implements android.os.Parcelable {
+    ctor public NetworkScanRequest(int, android.telephony.RadioAccessSpecifier[], int, int, boolean, int, java.util.ArrayList<java.lang.String>);
+    method public int describeContents();
+    method public boolean getIncrementalResults();
+    method public int getIncrementalResultsPeriodicity();
+    method public int getMaxSearchTime();
+    method public java.util.ArrayList<java.lang.String> getPlmns();
+    method public int getScanType();
+    method public int getSearchPeriodicity();
+    method public android.telephony.RadioAccessSpecifier[] getSpecifiers();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NetworkScanRequest> CREATOR;
+    field public static final int SCAN_TYPE_ONE_SHOT = 0; // 0x0
+    field public static final int SCAN_TYPE_PERIODIC = 1; // 0x1
+  }
+
+  public class PhoneNumberFormattingTextWatcher implements android.text.TextWatcher {
+    ctor public PhoneNumberFormattingTextWatcher();
+    ctor public PhoneNumberFormattingTextWatcher(String);
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public void onTextChanged(CharSequence, int, int, int);
+  }
+
+  public class PhoneNumberUtils {
+    ctor public PhoneNumberUtils();
+    method public static void addTtsSpan(android.text.Spannable, int, int);
+    method public static boolean areSamePhoneNumber(@NonNull String, @NonNull String, @NonNull String);
+    method @Deprecated public static String calledPartyBCDFragmentToString(byte[], int, int);
+    method public static String calledPartyBCDFragmentToString(byte[], int, int, int);
+    method @Deprecated public static String calledPartyBCDToString(byte[], int, int);
+    method public static String calledPartyBCDToString(byte[], int, int, int);
+    method @Deprecated public static boolean compare(String, String);
+    method @Deprecated public static boolean compare(android.content.Context, String, String);
+    method public static String convertKeypadLettersToDigits(String);
+    method public static android.text.style.TtsSpan createTtsSpan(String);
+    method public static CharSequence createTtsSpannable(CharSequence);
+    method public static String extractNetworkPortion(String);
+    method public static String extractPostDialPortion(String);
+    method @Deprecated public static void formatJapaneseNumber(android.text.Editable);
+    method @Deprecated public static void formatNanpNumber(android.text.Editable);
+    method @Deprecated public static String formatNumber(String);
+    method @Deprecated public static void formatNumber(android.text.Editable, int);
+    method public static String formatNumber(String, String);
+    method public static String formatNumber(String, String, String);
+    method public static String formatNumberToE164(String, String);
+    method public static String formatNumberToRFC3966(String, String);
+    method @Deprecated public static int getFormatTypeForLocale(java.util.Locale);
+    method public static String getNumberFromIntent(android.content.Intent, android.content.Context);
+    method public static String getStrippedReversed(String);
+    method public static final boolean is12Key(char);
+    method public static final boolean isDialable(char);
+    method @Deprecated public static boolean isEmergencyNumber(String);
+    method public static boolean isGlobalPhoneNumber(String);
+    method public static boolean isISODigit(char);
+    method @Deprecated public static boolean isLocalEmergencyNumber(android.content.Context, String);
+    method public static final boolean isNonSeparator(char);
+    method public static final boolean isReallyDialable(char);
+    method public static final boolean isStartsPostDial(char);
+    method public static boolean isVoiceMailNumber(String);
+    method public static boolean isWellFormedSmsAddress(String);
+    method public static byte[] networkPortionToCalledPartyBCD(String);
+    method public static byte[] networkPortionToCalledPartyBCDWithLength(String);
+    method public static String normalizeNumber(String);
+    method @Deprecated public static byte[] numberToCalledPartyBCD(String);
+    method public static byte[] numberToCalledPartyBCD(String, int);
+    method public static String replaceUnicodeDigits(String);
+    method public static String stringFromStringAndTOA(String, int);
+    method public static String stripSeparators(String);
+    method public static String toCallerIDMinMatch(String);
+    method public static int toaFromString(String);
+    field public static final int BCD_EXTENDED_TYPE_CALLED_PARTY = 2; // 0x2
+    field public static final int BCD_EXTENDED_TYPE_EF_ADN = 1; // 0x1
+    field public static final int FORMAT_JAPAN = 2; // 0x2
+    field public static final int FORMAT_NANP = 1; // 0x1
+    field public static final int FORMAT_UNKNOWN = 0; // 0x0
+    field public static final char PAUSE = 44; // 0x002c ','
+    field public static final int TOA_International = 145; // 0x91
+    field public static final int TOA_Unknown = 129; // 0x81
+    field public static final char WAIT = 59; // 0x003b ';'
+    field public static final char WILD = 78; // 0x004e 'N'
+  }
+
+  @Deprecated public class PhoneStateListener {
+    ctor @Deprecated public PhoneStateListener();
+    ctor @Deprecated public PhoneStateListener(@NonNull java.util.concurrent.Executor);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onActiveDataSubscriptionIdChanged(int);
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onBarringInfoChanged(@NonNull android.telephony.BarringInfo);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallDisconnectCauseChanged(int, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onCallForwardingIndicatorChanged(boolean);
+    method @Deprecated @RequiresPermission(value=android.Manifest.permission.READ_PHONE_STATE, conditional=true) public void onCallStateChanged(int, String);
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onCellInfoChanged(java.util.List<android.telephony.CellInfo>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void onCellLocationChanged(android.telephony.CellLocation);
+    method @Deprecated public void onDataActivity(int);
+    method @Deprecated public void onDataConnectionStateChanged(int);
+    method @Deprecated public void onDataConnectionStateChanged(int, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onDisplayInfoChanged(@NonNull android.telephony.TelephonyDisplayInfo);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onEmergencyNumberListChanged(@NonNull java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onImsCallDisconnectCauseChanged(@NonNull android.telephony.ims.ImsReasonInfo);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onMessageWaitingIndicatorChanged(boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseDataConnectionStateChanged(@NonNull android.telephony.PreciseDataConnectionState);
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onRegistrationFailed(@NonNull android.telephony.CellIdentity, @NonNull String, int, int, int);
+    method @Deprecated public void onServiceStateChanged(android.telephony.ServiceState);
+    method @Deprecated public void onSignalStrengthChanged(int);
+    method @Deprecated public void onSignalStrengthsChanged(android.telephony.SignalStrength);
+    method @Deprecated public void onUserMobileDataStateChanged(boolean);
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE = 4194304; // 0x400000
+    field @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int LISTEN_BARRING_INFO = -2147483648; // 0x80000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_DISCONNECT_CAUSES = 33554432; // 0x2000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_CALL_FORWARDING_INDICATOR = 8; // 0x8
+    field @Deprecated public static final int LISTEN_CALL_STATE = 32; // 0x20
+    field @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int LISTEN_CELL_INFO = 1024; // 0x400
+    field @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int LISTEN_CELL_LOCATION = 16; // 0x10
+    field @Deprecated public static final int LISTEN_DATA_ACTIVITY = 128; // 0x80
+    field @Deprecated public static final int LISTEN_DATA_CONNECTION_STATE = 64; // 0x40
+    field @Deprecated public static final int LISTEN_DISPLAY_INFO_CHANGED = 1048576; // 0x100000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_EMERGENCY_NUMBER_LIST = 16777216; // 0x1000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_IMS_CALL_DISCONNECT_CAUSES = 134217728; // 0x8000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int LISTEN_MESSAGE_WAITING_INDICATOR = 4; // 0x4
+    field @Deprecated public static final int LISTEN_NONE = 0; // 0x0
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_DATA_CONNECTION_STATE = 4096; // 0x1000
+    field @Deprecated @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int LISTEN_REGISTRATION_FAILURE = 1073741824; // 0x40000000
+    field @Deprecated public static final int LISTEN_SERVICE_STATE = 1; // 0x1
+    field @Deprecated public static final int LISTEN_SIGNAL_STRENGTH = 2; // 0x2
+    field @Deprecated public static final int LISTEN_SIGNAL_STRENGTHS = 256; // 0x100
+    field @Deprecated public static final int LISTEN_USER_MOBILE_DATA_STATE = 524288; // 0x80000
+  }
+
+  public final class PhysicalChannelConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=1, to=261) public int getBand();
+    method @IntRange(from=1) public int getCellBandwidthDownlinkKhz();
+    method @IntRange(from=1) public int getCellBandwidthUplinkKhz();
+    method public int getConnectionStatus();
+    method @IntRange(from=0) public int getDownlinkChannelNumber();
+    method @IntRange(from=0) public int getDownlinkFrequencyKhz();
+    method public int getNetworkType();
+    method @IntRange(from=0, to=1007) public int getPhysicalCellId();
+    method @IntRange(from=0) public int getUplinkChannelNumber();
+    method @IntRange(from=0) public int getUplinkFrequencyKhz();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int BAND_UNKNOWN = 0; // 0x0
+    field public static final int CELL_BANDWIDTH_UNKNOWN = 0; // 0x0
+    field public static final int CHANNEL_NUMBER_UNKNOWN = 2147483647; // 0x7fffffff
+    field public static final int CONNECTION_PRIMARY_SERVING = 1; // 0x1
+    field public static final int CONNECTION_SECONDARY_SERVING = 2; // 0x2
+    field public static final int CONNECTION_UNKNOWN = -1; // 0xffffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhysicalChannelConfig> CREATOR;
+    field public static final int FREQUENCY_UNKNOWN = -1; // 0xffffffff
+    field public static final int PHYSICAL_CELL_ID_MAXIMUM_VALUE = 1007; // 0x3ef
+    field public static final int PHYSICAL_CELL_ID_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class PreciseDataConnectionState implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.telephony.data.ApnSetting getApnSetting();
+    method public int getId();
+    method public int getLastCauseCode();
+    method @Nullable public android.net.LinkProperties getLinkProperties();
+    method public int getNetworkType();
+    method public int getState();
+    method public int getTransportType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseDataConnectionState> CREATOR;
+  }
+
+  public final class RadioAccessSpecifier implements android.os.Parcelable {
+    ctor public RadioAccessSpecifier(int, int[], int[]);
+    method public int describeContents();
+    method public int[] getBands();
+    method public int[] getChannels();
+    method public int getRadioAccessNetwork();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.RadioAccessSpecifier> CREATOR;
+  }
+
+  public class ServiceState implements android.os.Parcelable {
+    ctor public ServiceState();
+    ctor public ServiceState(android.telephony.ServiceState);
+    ctor @Deprecated public ServiceState(android.os.Parcel);
+    method protected void copyFrom(android.telephony.ServiceState);
+    method public int describeContents();
+    method public int getCdmaNetworkId();
+    method public int getCdmaSystemId();
+    method public int[] getCellBandwidths();
+    method public int getChannelNumber();
+    method public int getDuplexMode();
+    method public boolean getIsManualSelection();
+    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoList();
+    method public String getOperatorAlphaLong();
+    method public String getOperatorAlphaShort();
+    method public String getOperatorNumeric();
+    method public boolean getRoaming();
+    method public int getState();
+    method public boolean isSearching();
+    method public void setIsManualSelection(boolean);
+    method public void setOperatorName(String, String, String);
+    method public void setRoaming(boolean);
+    method public void setState(int);
+    method public void setStateOff();
+    method public void setStateOutOfService();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ServiceState> CREATOR;
+    field public static final int DUPLEX_MODE_FDD = 1; // 0x1
+    field public static final int DUPLEX_MODE_TDD = 2; // 0x2
+    field public static final int DUPLEX_MODE_UNKNOWN = 0; // 0x0
+    field public static final int STATE_EMERGENCY_ONLY = 2; // 0x2
+    field public static final int STATE_IN_SERVICE = 0; // 0x0
+    field public static final int STATE_OUT_OF_SERVICE = 1; // 0x1
+    field public static final int STATE_POWER_OFF = 3; // 0x3
+    field public static final int UNKNOWN_ID = -1; // 0xffffffff
+  }
+
+  public class SignalStrength implements android.os.Parcelable {
+    ctor public SignalStrength(@NonNull android.telephony.SignalStrength);
+    method public int describeContents();
+    method @Deprecated public int getCdmaDbm();
+    method @Deprecated public int getCdmaEcio();
+    method @NonNull public java.util.List<android.telephony.CellSignalStrength> getCellSignalStrengths();
+    method @NonNull public <T extends android.telephony.CellSignalStrength> java.util.List<T> getCellSignalStrengths(@NonNull Class<T>);
+    method @Deprecated public int getEvdoDbm();
+    method @Deprecated public int getEvdoEcio();
+    method @Deprecated public int getEvdoSnr();
+    method @Deprecated public int getGsmBitErrorRate();
+    method @Deprecated public int getGsmSignalStrength();
+    method public int getLevel();
+    method public long getTimestampMillis();
+    method @Deprecated public boolean isGsm();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SignalStrength> CREATOR;
+    field public static final int INVALID = 2147483647; // 0x7fffffff
+  }
+
+  public final class SignalStrengthUpdateRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Collection<android.telephony.SignalThresholdInfo> getSignalThresholdInfos();
+    method public boolean isReportingRequestedWhileIdle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SignalStrengthUpdateRequest> CREATOR;
+  }
+
+  public static final class SignalStrengthUpdateRequest.Builder {
+    ctor public SignalStrengthUpdateRequest.Builder();
+    method @NonNull public android.telephony.SignalStrengthUpdateRequest build();
+    method @NonNull public android.telephony.SignalStrengthUpdateRequest.Builder setReportingRequestedWhileIdle(boolean);
+    method @NonNull public android.telephony.SignalStrengthUpdateRequest.Builder setSignalThresholdInfos(@NonNull java.util.Collection<android.telephony.SignalThresholdInfo>);
+  }
+
+  public final class SignalThresholdInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public static int getMaximumNumberOfThresholdsAllowed();
+    method public static int getMinimumNumberOfThresholdsAllowed();
+    method public int getRadioAccessNetworkType();
+    method public int getSignalMeasurementType();
+    method @NonNull public int[] getThresholds();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SignalThresholdInfo> CREATOR;
+    field public static final int SIGNAL_MEASUREMENT_TYPE_RSCP = 2; // 0x2
+    field public static final int SIGNAL_MEASUREMENT_TYPE_RSRP = 3; // 0x3
+    field public static final int SIGNAL_MEASUREMENT_TYPE_RSRQ = 4; // 0x4
+    field public static final int SIGNAL_MEASUREMENT_TYPE_RSSI = 1; // 0x1
+    field public static final int SIGNAL_MEASUREMENT_TYPE_RSSNR = 5; // 0x5
+    field public static final int SIGNAL_MEASUREMENT_TYPE_SSRSRP = 6; // 0x6
+    field public static final int SIGNAL_MEASUREMENT_TYPE_SSRSRQ = 7; // 0x7
+    field public static final int SIGNAL_MEASUREMENT_TYPE_SSSINR = 8; // 0x8
+    field public static final int SIGNAL_MEASUREMENT_TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class SignalThresholdInfo.Builder {
+    ctor public SignalThresholdInfo.Builder();
+    method @NonNull public android.telephony.SignalThresholdInfo build();
+    method @NonNull public android.telephony.SignalThresholdInfo.Builder setRadioAccessNetworkType(int);
+    method @NonNull public android.telephony.SignalThresholdInfo.Builder setSignalMeasurementType(int);
+    method @NonNull public android.telephony.SignalThresholdInfo.Builder setThresholds(@NonNull int[]);
+  }
+
+  public final class SmsManager {
+    method public String createAppSpecificSmsToken(android.app.PendingIntent);
+    method @Nullable public String createAppSpecificSmsTokenWithPackageInfo(@Nullable String, @NonNull android.app.PendingIntent);
+    method @NonNull public android.telephony.SmsManager createForSubscriptionId(int);
+    method public java.util.ArrayList<java.lang.String> divideMessage(String);
+    method public void downloadMultimediaMessage(android.content.Context, String, android.net.Uri, android.os.Bundle, android.app.PendingIntent);
+    method public void downloadMultimediaMessage(@NonNull android.content.Context, @NonNull String, @NonNull android.net.Uri, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent, long);
+    method @NonNull public android.os.Bundle getCarrierConfigValues();
+    method @Deprecated public static android.telephony.SmsManager getDefault();
+    method public static int getDefaultSmsSubscriptionId();
+    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.READ_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public int getSmsCapacityOnIcc();
+    method @Deprecated public static android.telephony.SmsManager getSmsManagerForSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.SMS_FINANCIAL_TRANSACTIONS) public void getSmsMessagesForFinancialApp(android.os.Bundle, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.SmsManager.FinancialSmsCallback);
+    method @Nullable @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getSmscAddress();
+    method public int getSubscriptionId();
+    method public void injectSmsPdu(byte[], String, android.app.PendingIntent);
+    method public void sendDataMessage(String, String, short, byte[], android.app.PendingIntent, android.app.PendingIntent);
+    method public void sendMultimediaMessage(android.content.Context, android.net.Uri, String, android.os.Bundle, android.app.PendingIntent);
+    method public void sendMultimediaMessage(@NonNull android.content.Context, @NonNull android.net.Uri, @Nullable String, @Nullable android.os.Bundle, @Nullable android.app.PendingIntent, long);
+    method public void sendMultipartTextMessage(String, String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>);
+    method public void sendMultipartTextMessage(@NonNull String, @Nullable String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, long);
+    method public void sendMultipartTextMessage(@NonNull String, @Nullable String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String, @Nullable String);
+    method public void sendTextMessage(String, String, String, android.app.PendingIntent, android.app.PendingIntent);
+    method public void sendTextMessage(@NonNull String, @Nullable String, @NonNull String, @Nullable android.app.PendingIntent, @Nullable android.app.PendingIntent, long);
+    method @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.SEND_SMS}) public void sendTextMessageWithoutPersisting(String, String, String, android.app.PendingIntent, android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSmscAddress(@NonNull String);
+    field public static final String EXTRA_MMS_DATA = "android.telephony.extra.MMS_DATA";
+    field public static final String EXTRA_MMS_HTTP_STATUS = "android.telephony.extra.MMS_HTTP_STATUS";
+    field public static final String MMS_CONFIG_ALIAS_ENABLED = "aliasEnabled";
+    field public static final String MMS_CONFIG_ALIAS_MAX_CHARS = "aliasMaxChars";
+    field public static final String MMS_CONFIG_ALIAS_MIN_CHARS = "aliasMinChars";
+    field public static final String MMS_CONFIG_ALLOW_ATTACH_AUDIO = "allowAttachAudio";
+    field public static final String MMS_CONFIG_APPEND_TRANSACTION_ID = "enabledTransID";
+    field public static final String MMS_CONFIG_EMAIL_GATEWAY_NUMBER = "emailGatewayNumber";
+    field public static final String MMS_CONFIG_GROUP_MMS_ENABLED = "enableGroupMms";
+    field public static final String MMS_CONFIG_HTTP_PARAMS = "httpParams";
+    field public static final String MMS_CONFIG_HTTP_SOCKET_TIMEOUT = "httpSocketTimeout";
+    field public static final String MMS_CONFIG_MAX_IMAGE_HEIGHT = "maxImageHeight";
+    field public static final String MMS_CONFIG_MAX_IMAGE_WIDTH = "maxImageWidth";
+    field public static final String MMS_CONFIG_MAX_MESSAGE_SIZE = "maxMessageSize";
+    field public static final String MMS_CONFIG_MESSAGE_TEXT_MAX_SIZE = "maxMessageTextSize";
+    field public static final String MMS_CONFIG_MMS_DELIVERY_REPORT_ENABLED = "enableMMSDeliveryReports";
+    field public static final String MMS_CONFIG_MMS_ENABLED = "enabledMMS";
+    field public static final String MMS_CONFIG_MMS_READ_REPORT_ENABLED = "enableMMSReadReports";
+    field public static final String MMS_CONFIG_MULTIPART_SMS_ENABLED = "enableMultipartSMS";
+    field public static final String MMS_CONFIG_NAI_SUFFIX = "naiSuffix";
+    field public static final String MMS_CONFIG_NOTIFY_WAP_MMSC_ENABLED = "enabledNotifyWapMMSC";
+    field public static final String MMS_CONFIG_RECIPIENT_LIMIT = "recipientLimit";
+    field public static final String MMS_CONFIG_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES = "sendMultipartSmsAsSeparateMessages";
+    field public static final String MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS = "config_cellBroadcastAppLinks";
+    field public static final String MMS_CONFIG_SMS_DELIVERY_REPORT_ENABLED = "enableSMSDeliveryReports";
+    field public static final String MMS_CONFIG_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD = "smsToMmsTextLengthThreshold";
+    field public static final String MMS_CONFIG_SMS_TO_MMS_TEXT_THRESHOLD = "smsToMmsTextThreshold";
+    field public static final String MMS_CONFIG_SUBJECT_MAX_LENGTH = "maxSubjectLength";
+    field public static final String MMS_CONFIG_SUPPORT_HTTP_CHARSET_HEADER = "supportHttpCharsetHeader";
+    field public static final String MMS_CONFIG_SUPPORT_MMS_CONTENT_DISPOSITION = "supportMmsContentDisposition";
+    field public static final String MMS_CONFIG_UA_PROF_TAG_NAME = "uaProfTagName";
+    field public static final String MMS_CONFIG_UA_PROF_URL = "uaProfUrl";
+    field public static final String MMS_CONFIG_USER_AGENT = "userAgent";
+    field public static final int MMS_ERROR_CONFIGURATION_ERROR = 7; // 0x7
+    field public static final int MMS_ERROR_HTTP_FAILURE = 4; // 0x4
+    field public static final int MMS_ERROR_INVALID_APN = 2; // 0x2
+    field public static final int MMS_ERROR_IO_ERROR = 5; // 0x5
+    field public static final int MMS_ERROR_NO_DATA_NETWORK = 8; // 0x8
+    field public static final int MMS_ERROR_RETRY = 6; // 0x6
+    field public static final int MMS_ERROR_UNABLE_CONNECT_MMS = 3; // 0x3
+    field public static final int MMS_ERROR_UNSPECIFIED = 1; // 0x1
+    field public static final int RESULT_BLUETOOTH_DISCONNECTED = 27; // 0x1b
+    field public static final int RESULT_CANCELLED = 23; // 0x17
+    field public static final int RESULT_ENCODING_ERROR = 18; // 0x12
+    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 6; // 0x6
+    field public static final int RESULT_ERROR_GENERIC_FAILURE = 1; // 0x1
+    field public static final int RESULT_ERROR_LIMIT_EXCEEDED = 5; // 0x5
+    field public static final int RESULT_ERROR_NONE = 0; // 0x0
+    field public static final int RESULT_ERROR_NO_SERVICE = 4; // 0x4
+    field public static final int RESULT_ERROR_NULL_PDU = 3; // 0x3
+    field public static final int RESULT_ERROR_RADIO_OFF = 2; // 0x2
+    field public static final int RESULT_ERROR_SHORT_CODE_NEVER_ALLOWED = 8; // 0x8
+    field public static final int RESULT_ERROR_SHORT_CODE_NOT_ALLOWED = 7; // 0x7
+    field public static final int RESULT_INTERNAL_ERROR = 21; // 0x15
+    field public static final int RESULT_INVALID_ARGUMENTS = 11; // 0xb
+    field public static final int RESULT_INVALID_BLUETOOTH_ADDRESS = 26; // 0x1a
+    field public static final int RESULT_INVALID_SMSC_ADDRESS = 19; // 0x13
+    field public static final int RESULT_INVALID_SMS_FORMAT = 14; // 0xe
+    field public static final int RESULT_INVALID_STATE = 12; // 0xc
+    field public static final int RESULT_MODEM_ERROR = 16; // 0x10
+    field public static final int RESULT_NETWORK_ERROR = 17; // 0x11
+    field public static final int RESULT_NETWORK_REJECT = 10; // 0xa
+    field public static final int RESULT_NO_BLUETOOTH_SERVICE = 25; // 0x19
+    field public static final int RESULT_NO_DEFAULT_SMS_APP = 32; // 0x20
+    field public static final int RESULT_NO_MEMORY = 13; // 0xd
+    field public static final int RESULT_NO_RESOURCES = 22; // 0x16
+    field public static final int RESULT_OPERATION_NOT_ALLOWED = 20; // 0x14
+    field public static final int RESULT_RADIO_NOT_AVAILABLE = 9; // 0x9
+    field public static final int RESULT_RECEIVE_DISPATCH_FAILURE = 500; // 0x1f4
+    field public static final int RESULT_RECEIVE_INJECTED_NULL_PDU = 501; // 0x1f5
+    field public static final int RESULT_RECEIVE_NULL_MESSAGE_FROM_RIL = 503; // 0x1f7
+    field public static final int RESULT_RECEIVE_RUNTIME_EXCEPTION = 502; // 0x1f6
+    field public static final int RESULT_RECEIVE_SQL_EXCEPTION = 505; // 0x1f9
+    field public static final int RESULT_RECEIVE_URI_EXCEPTION = 506; // 0x1fa
+    field public static final int RESULT_RECEIVE_WHILE_ENCRYPTED = 504; // 0x1f8
+    field public static final int RESULT_REMOTE_EXCEPTION = 31; // 0x1f
+    field public static final int RESULT_REQUEST_NOT_SUPPORTED = 24; // 0x18
+    field public static final int RESULT_RIL_ACCESS_BARRED = 122; // 0x7a
+    field public static final int RESULT_RIL_BLOCKED_DUE_TO_CALL = 123; // 0x7b
+    field public static final int RESULT_RIL_CANCELLED = 119; // 0x77
+    field public static final int RESULT_RIL_ENCODING_ERR = 109; // 0x6d
+    field public static final int RESULT_RIL_INTERNAL_ERR = 113; // 0x71
+    field public static final int RESULT_RIL_INVALID_ARGUMENTS = 104; // 0x68
+    field public static final int RESULT_RIL_INVALID_MODEM_STATE = 115; // 0x73
+    field public static final int RESULT_RIL_INVALID_SMSC_ADDRESS = 110; // 0x6e
+    field public static final int RESULT_RIL_INVALID_SMS_FORMAT = 107; // 0x6b
+    field public static final int RESULT_RIL_INVALID_STATE = 103; // 0x67
+    field public static final int RESULT_RIL_MODEM_ERR = 111; // 0x6f
+    field public static final int RESULT_RIL_NETWORK_ERR = 112; // 0x70
+    field public static final int RESULT_RIL_NETWORK_NOT_READY = 116; // 0x74
+    field public static final int RESULT_RIL_NETWORK_REJECT = 102; // 0x66
+    field public static final int RESULT_RIL_NO_MEMORY = 105; // 0x69
+    field public static final int RESULT_RIL_NO_RESOURCES = 118; // 0x76
+    field public static final int RESULT_RIL_OPERATION_NOT_ALLOWED = 117; // 0x75
+    field public static final int RESULT_RIL_RADIO_NOT_AVAILABLE = 100; // 0x64
+    field public static final int RESULT_RIL_REQUEST_NOT_SUPPORTED = 114; // 0x72
+    field public static final int RESULT_RIL_REQUEST_RATE_LIMITED = 106; // 0x6a
+    field public static final int RESULT_RIL_SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED = 121; // 0x79
+    field public static final int RESULT_RIL_SIM_ABSENT = 120; // 0x78
+    field public static final int RESULT_RIL_SMS_SEND_FAIL_RETRY = 101; // 0x65
+    field public static final int RESULT_RIL_SYSTEM_ERR = 108; // 0x6c
+    field public static final int RESULT_SMS_BLOCKED_DURING_EMERGENCY = 29; // 0x1d
+    field public static final int RESULT_SMS_SEND_RETRY_FAILED = 30; // 0x1e
+    field public static final int RESULT_SYSTEM_ERROR = 15; // 0xf
+    field public static final int RESULT_UNEXPECTED_EVENT_STOP_SENDING = 28; // 0x1c
+    field public static final int STATUS_ON_ICC_FREE = 0; // 0x0
+    field public static final int STATUS_ON_ICC_READ = 1; // 0x1
+    field public static final int STATUS_ON_ICC_SENT = 5; // 0x5
+    field public static final int STATUS_ON_ICC_UNREAD = 3; // 0x3
+    field public static final int STATUS_ON_ICC_UNSENT = 7; // 0x7
+  }
+
+  public abstract static class SmsManager.FinancialSmsCallback {
+    ctor public SmsManager.FinancialSmsCallback();
+    method public abstract void onFinancialSmsMessages(android.database.CursorWindow);
+  }
+
+  public class SmsMessage {
+    method public static int[] calculateLength(CharSequence, boolean);
+    method public static int[] calculateLength(String, boolean);
+    method @Deprecated public static android.telephony.SmsMessage createFromPdu(byte[]);
+    method public static android.telephony.SmsMessage createFromPdu(byte[], String);
+    method public String getDisplayMessageBody();
+    method public String getDisplayOriginatingAddress();
+    method public String getEmailBody();
+    method public String getEmailFrom();
+    method public int getIndexOnIcc();
+    method @Deprecated public int getIndexOnSim();
+    method public String getMessageBody();
+    method public android.telephony.SmsMessage.MessageClass getMessageClass();
+    method @Nullable public String getOriginatingAddress();
+    method public byte[] getPdu();
+    method public int getProtocolIdentifier();
+    method public String getPseudoSubject();
+    method public String getServiceCenterAddress();
+    method public int getStatus();
+    method public int getStatusOnIcc();
+    method @Deprecated public int getStatusOnSim();
+    method public static android.telephony.SmsMessage.SubmitPdu getSubmitPdu(String, String, String, boolean);
+    method public static android.telephony.SmsMessage.SubmitPdu getSubmitPdu(String, String, short, byte[], boolean);
+    method public static int getTPLayerLengthForPDU(String);
+    method public long getTimestampMillis();
+    method public byte[] getUserData();
+    method public boolean isCphsMwiMessage();
+    method public boolean isEmail();
+    method public boolean isMWIClearMessage();
+    method public boolean isMWISetMessage();
+    method public boolean isMwiDontStore();
+    method public boolean isReplace();
+    method public boolean isReplyPathPresent();
+    method public boolean isStatusReportMessage();
+    field public static final int ENCODING_16BIT = 3; // 0x3
+    field public static final int ENCODING_7BIT = 1; // 0x1
+    field public static final int ENCODING_8BIT = 2; // 0x2
+    field public static final int ENCODING_UNKNOWN = 0; // 0x0
+    field public static final String FORMAT_3GPP = "3gpp";
+    field public static final String FORMAT_3GPP2 = "3gpp2";
+    field public static final int MAX_USER_DATA_BYTES = 140; // 0x8c
+    field public static final int MAX_USER_DATA_BYTES_WITH_HEADER = 134; // 0x86
+    field public static final int MAX_USER_DATA_SEPTETS = 160; // 0xa0
+    field public static final int MAX_USER_DATA_SEPTETS_WITH_HEADER = 153; // 0x99
+  }
+
+  public enum SmsMessage.MessageClass {
+    enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_0;
+    enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_1;
+    enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_2;
+    enum_constant public static final android.telephony.SmsMessage.MessageClass CLASS_3;
+    enum_constant public static final android.telephony.SmsMessage.MessageClass UNKNOWN;
+  }
+
+  public static class SmsMessage.SubmitPdu {
+    field public byte[] encodedMessage;
+    field public byte[] encodedScAddress;
+  }
+
+  public class SubscriptionInfo implements android.os.Parcelable {
+    method public android.graphics.Bitmap createIconBitmap(android.content.Context);
+    method public int describeContents();
+    method public int getCardId();
+    method public int getCarrierId();
+    method public CharSequence getCarrierName();
+    method public String getCountryIso();
+    method public int getDataRoaming();
+    method public CharSequence getDisplayName();
+    method @Nullable public android.os.ParcelUuid getGroupUuid();
+    method public String getIccId();
+    method public int getIconTint();
+    method @Deprecated public int getMcc();
+    method @Nullable public String getMccString();
+    method @Deprecated public int getMnc();
+    method @Nullable public String getMncString();
+    method public String getNumber();
+    method public int getSimSlotIndex();
+    method public int getSubscriptionId();
+    method public int getSubscriptionType();
+    method public boolean isEmbedded();
+    method public boolean isOpportunistic();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SubscriptionInfo> CREATOR;
+  }
+
+  public class SubscriptionManager {
+    method public void addOnOpportunisticSubscriptionsChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.SubscriptionManager.OnOpportunisticSubscriptionsChangedListener);
+    method @Deprecated public void addOnSubscriptionsChangedListener(android.telephony.SubscriptionManager.OnSubscriptionsChangedListener);
+    method public void addOnSubscriptionsChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.SubscriptionManager.OnSubscriptionsChangedListener);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void addSubscriptionsIntoGroup(@NonNull java.util.List<java.lang.Integer>, @NonNull android.os.ParcelUuid);
+    method public boolean canManageSubscription(android.telephony.SubscriptionInfo);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.os.ParcelUuid createSubscriptionGroup(@NonNull java.util.List<java.lang.Integer>);
+    method @Deprecated public static android.telephony.SubscriptionManager from(android.content.Context);
+    method public java.util.List<android.telephony.SubscriptionInfo> getAccessibleSubscriptionInfoList();
+    method public static int getActiveDataSubscriptionId();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfo(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getActiveSubscriptionInfoCount();
+    method public int getActiveSubscriptionInfoCountMax();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForSimSlotIndex(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telephony.SubscriptionInfo> getActiveSubscriptionInfoList();
+    method @NonNull public java.util.List<android.telephony.SubscriptionInfo> getCompleteActiveSubscriptionInfoList();
+    method public static int getDefaultDataSubscriptionId();
+    method public static int getDefaultSmsSubscriptionId();
+    method public static int getDefaultSubscriptionId();
+    method public static int getDefaultVoiceSubscriptionId();
+    method @NonNull public java.util.List<android.net.Uri> getDeviceToDeviceStatusSharingContacts(int);
+    method public int getDeviceToDeviceStatusSharingPreference(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telephony.SubscriptionInfo> getOpportunisticSubscriptions();
+    method public static int getSlotIndex(int);
+    method @Nullable public int[] getSubscriptionIds(int);
+    method @NonNull public java.util.List<android.telephony.SubscriptionPlan> getSubscriptionPlans(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<android.telephony.SubscriptionInfo> getSubscriptionsInGroup(@NonNull android.os.ParcelUuid);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isActiveSubscriptionId(int);
+    method public boolean isNetworkRoaming(int);
+    method public static boolean isUsableSubscriptionId(int);
+    method public static boolean isValidSubscriptionId(int);
+    method public void removeOnOpportunisticSubscriptionsChangedListener(@NonNull android.telephony.SubscriptionManager.OnOpportunisticSubscriptionsChangedListener);
+    method public void removeOnSubscriptionsChangedListener(android.telephony.SubscriptionManager.OnSubscriptionsChangedListener);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void removeSubscriptionsFromGroup(@NonNull java.util.List<java.lang.Integer>, @NonNull android.os.ParcelUuid);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDeviceToDeviceStatusSharingContacts(int, @NonNull java.util.List<android.net.Uri>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDeviceToDeviceStatusSharingPreference(int, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunistic(boolean, int);
+    method public void setSubscriptionOverrideCongested(int, boolean, long);
+    method public void setSubscriptionOverrideCongested(int, boolean, @NonNull int[], long);
+    method public void setSubscriptionOverrideUnmetered(int, boolean, long);
+    method public void setSubscriptionOverrideUnmetered(int, boolean, @NonNull int[], long);
+    method public void setSubscriptionPlans(int, @NonNull java.util.List<android.telephony.SubscriptionPlan>);
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void switchToSubscription(int, @NonNull android.app.PendingIntent);
+    field public static final String ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED = "android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED";
+    field public static final String ACTION_DEFAULT_SUBSCRIPTION_CHANGED = "android.telephony.action.DEFAULT_SUBSCRIPTION_CHANGED";
+    field public static final String ACTION_MANAGE_SUBSCRIPTION_PLANS = "android.telephony.action.MANAGE_SUBSCRIPTION_PLANS";
+    field public static final String ACTION_REFRESH_SUBSCRIPTION_PLANS = "android.telephony.action.REFRESH_SUBSCRIPTION_PLANS";
+    field public static final int D2D_SHARING_ALL = 3; // 0x3
+    field public static final int D2D_SHARING_ALL_CONTACTS = 1; // 0x1
+    field public static final int D2D_SHARING_DISABLED = 0; // 0x0
+    field public static final int D2D_SHARING_SELECTED_CONTACTS = 2; // 0x2
+    field public static final String D2D_STATUS_SHARING = "d2d_sharing_status";
+    field public static final String D2D_STATUS_SHARING_SELECTED_CONTACTS = "d2d_sharing_contacts";
+    field public static final int DATA_ROAMING_DISABLE = 0; // 0x0
+    field public static final int DATA_ROAMING_ENABLE = 1; // 0x1
+    field public static final int DEFAULT_SUBSCRIPTION_ID = 2147483647; // 0x7fffffff
+    field public static final String EXTRA_SLOT_INDEX = "android.telephony.extra.SLOT_INDEX";
+    field public static final String EXTRA_SUBSCRIPTION_INDEX = "android.telephony.extra.SUBSCRIPTION_INDEX";
+    field public static final int INVALID_SIM_SLOT_INDEX = -1; // 0xffffffff
+    field public static final int INVALID_SUBSCRIPTION_ID = -1; // 0xffffffff
+    field public static final int SUBSCRIPTION_TYPE_LOCAL_SIM = 0; // 0x0
+    field public static final int SUBSCRIPTION_TYPE_REMOTE_SIM = 1; // 0x1
+  }
+
+  public static class SubscriptionManager.OnOpportunisticSubscriptionsChangedListener {
+    ctor public SubscriptionManager.OnOpportunisticSubscriptionsChangedListener();
+    method public void onOpportunisticSubscriptionsChanged();
+  }
+
+  public static class SubscriptionManager.OnSubscriptionsChangedListener {
+    ctor public SubscriptionManager.OnSubscriptionsChangedListener();
+    method public void onSubscriptionsChanged();
+  }
+
+  public final class SubscriptionPlan implements android.os.Parcelable {
+    method public java.util.Iterator<android.util.Range<java.time.ZonedDateTime>> cycleIterator();
+    method public int describeContents();
+    method public int getDataLimitBehavior();
+    method public long getDataLimitBytes();
+    method public long getDataUsageBytes();
+    method public long getDataUsageTime();
+    method @NonNull public int[] getNetworkTypes();
+    method @Nullable public CharSequence getSummary();
+    method @Nullable public CharSequence getTitle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final long BYTES_UNKNOWN = -1L; // 0xffffffffffffffffL
+    field public static final long BYTES_UNLIMITED = 9223372036854775807L; // 0x7fffffffffffffffL
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SubscriptionPlan> CREATOR;
+    field public static final int LIMIT_BEHAVIOR_BILLED = 1; // 0x1
+    field public static final int LIMIT_BEHAVIOR_DISABLED = 0; // 0x0
+    field public static final int LIMIT_BEHAVIOR_THROTTLED = 2; // 0x2
+    field public static final int LIMIT_BEHAVIOR_UNKNOWN = -1; // 0xffffffff
+    field public static final long TIME_UNKNOWN = -1L; // 0xffffffffffffffffL
+  }
+
+  public static class SubscriptionPlan.Builder {
+    method public android.telephony.SubscriptionPlan build();
+    method public static android.telephony.SubscriptionPlan.Builder createNonrecurring(java.time.ZonedDateTime, java.time.ZonedDateTime);
+    method public static android.telephony.SubscriptionPlan.Builder createRecurring(java.time.ZonedDateTime, java.time.Period);
+    method @NonNull public android.telephony.SubscriptionPlan.Builder resetNetworkTypes();
+    method public android.telephony.SubscriptionPlan.Builder setDataLimit(long, int);
+    method public android.telephony.SubscriptionPlan.Builder setDataUsage(long, long);
+    method @NonNull public android.telephony.SubscriptionPlan.Builder setNetworkTypes(@NonNull int[]);
+    method public android.telephony.SubscriptionPlan.Builder setSummary(@Nullable CharSequence);
+    method public android.telephony.SubscriptionPlan.Builder setTitle(@Nullable CharSequence);
+  }
+
+  public class TelephonyCallback {
+    ctor public TelephonyCallback();
+  }
+
+  public static interface TelephonyCallback.ActiveDataSubscriptionIdListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onActiveDataSubscriptionIdChanged(int);
+  }
+
+  public static interface TelephonyCallback.BarringInfoListener {
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onBarringInfoChanged(@NonNull android.telephony.BarringInfo);
+  }
+
+  public static interface TelephonyCallback.CallDisconnectCauseListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallDisconnectCauseChanged(int, int);
+  }
+
+  public static interface TelephonyCallback.CallForwardingIndicatorListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onCallForwardingIndicatorChanged(boolean);
+  }
+
+  public static interface TelephonyCallback.CallStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onCallStateChanged(int);
+  }
+
+  public static interface TelephonyCallback.CarrierNetworkListener {
+    method public void onCarrierNetworkChange(boolean);
+  }
+
+  public static interface TelephonyCallback.CellInfoListener {
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onCellInfoChanged(@NonNull java.util.List<android.telephony.CellInfo>);
+  }
+
+  public static interface TelephonyCallback.CellLocationListener {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void onCellLocationChanged(@NonNull android.telephony.CellLocation);
+  }
+
+  public static interface TelephonyCallback.DataActivationStateListener {
+    method public void onDataActivationStateChanged(int);
+  }
+
+  public static interface TelephonyCallback.DataActivityListener {
+    method public void onDataActivity(int);
+  }
+
+  public static interface TelephonyCallback.DataConnectionStateListener {
+    method public void onDataConnectionStateChanged(int, int);
+  }
+
+  public static interface TelephonyCallback.DisplayInfoListener {
+    method public void onDisplayInfoChanged(@NonNull android.telephony.TelephonyDisplayInfo);
+  }
+
+  public static interface TelephonyCallback.EmergencyNumberListListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onEmergencyNumberListChanged(@NonNull java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>>);
+  }
+
+  public static interface TelephonyCallback.ImsCallDisconnectCauseListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onImsCallDisconnectCauseChanged(@NonNull android.telephony.ims.ImsReasonInfo);
+  }
+
+  public static interface TelephonyCallback.MessageWaitingIndicatorListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public void onMessageWaitingIndicatorChanged(boolean);
+  }
+
+  public static interface TelephonyCallback.PhysicalChannelConfigListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPhysicalChannelConfigChanged(@NonNull java.util.List<android.telephony.PhysicalChannelConfig>);
+  }
+
+  public static interface TelephonyCallback.PreciseDataConnectionStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseDataConnectionStateChanged(@NonNull android.telephony.PreciseDataConnectionState);
+  }
+
+  public static interface TelephonyCallback.RegistrationFailedListener {
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void onRegistrationFailed(@NonNull android.telephony.CellIdentity, @NonNull String, int, int, int);
+  }
+
+  public static interface TelephonyCallback.ServiceStateListener {
+    method public void onServiceStateChanged(@NonNull android.telephony.ServiceState);
+  }
+
+  public static interface TelephonyCallback.SignalStrengthsListener {
+    method public void onSignalStrengthsChanged(@NonNull android.telephony.SignalStrength);
+  }
+
+  public static interface TelephonyCallback.UserMobileDataStateListener {
+    method public void onUserMobileDataStateChanged(boolean);
+  }
+
+  public final class TelephonyDisplayInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getNetworkType();
+    method public int getOverrideNetworkType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyDisplayInfo> CREATOR;
+    field public static final int OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO = 2; // 0x2
+    field public static final int OVERRIDE_NETWORK_TYPE_LTE_CA = 1; // 0x1
+    field public static final int OVERRIDE_NETWORK_TYPE_NONE = 0; // 0x0
+    field public static final int OVERRIDE_NETWORK_TYPE_NR_ADVANCED = 5; // 0x5
+    field public static final int OVERRIDE_NETWORK_TYPE_NR_NSA = 3; // 0x3
+    field @Deprecated public static final int OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE = 4; // 0x4
+  }
+
+  public class TelephonyManager {
+    method public boolean canChangeDtmfToneLength();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void clearSignalStrengthUpdateRequest(@NonNull android.telephony.SignalStrengthUpdateRequest);
+    method @Nullable public android.telephony.TelephonyManager createForPhoneAccountHandle(android.telecom.PhoneAccountHandle);
+    method public android.telephony.TelephonyManager createForSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean doesSwitchMultiSimConfigTriggerReboot();
+    method public int getActiveModemCount();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public java.util.List<android.telephony.CellInfo> getAllCellInfo();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getCallComposerStatus();
+    method @Deprecated @RequiresPermission(value=android.Manifest.permission.READ_PHONE_STATE, conditional=true) public int getCallState();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getCallStateForSubscription();
+    method public int getCardIdForDefaultEuicc();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @WorkerThread public android.os.PersistableBundle getCarrierConfig();
+    method public int getCarrierIdFromSimMccMnc();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.telephony.CellLocation getCellLocation();
+    method public int getDataActivity();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getDataNetworkType();
+    method public int getDataState();
+    method @Deprecated @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getDeviceId();
+    method @Deprecated @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getDeviceId(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getEmergencyNumberList();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getEmergencyNumberList(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public java.util.List<java.lang.String> getEquivalentHomePlmns();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String[] getForbiddenPlmns();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getGroupIdLevel1();
+    method public String getIccAuthentication(int, int, String);
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getImei();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getImei(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.READ_SMS, android.Manifest.permission.READ_PHONE_NUMBERS}) public String getLine1Number();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public String getManualNetworkSelectionPlmn();
+    method @Nullable public String getManufacturerCode();
+    method @Nullable public String getManufacturerCode(int);
+    method public static long getMaximumCallComposerPictureSize();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getMeid();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getMeid(int);
+    method public String getMmsUAProfUrl();
+    method public String getMmsUserAgent();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getNai();
+    method public String getNetworkCountryIso();
+    method @NonNull public String getNetworkCountryIso(int);
+    method public String getNetworkOperator();
+    method public String getNetworkOperatorName();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public int getNetworkSelectionMode();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getNetworkSlicingConfiguration(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.data.NetworkSlicingConfig,android.telephony.TelephonyManager.NetworkSlicingException>);
+    method public String getNetworkSpecifier();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getNetworkType();
+    method @Nullable @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
+    method @Deprecated public int getPhoneCount();
+    method public int getPhoneType();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PHONE_STATE}) public int getPreferredOpportunisticDataSubscription();
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_COARSE_LOCATION}) public android.telephony.ServiceState getServiceState();
+    method @Nullable public android.telephony.SignalStrength getSignalStrength();
+    method public int getSimCarrierId();
+    method @Nullable public CharSequence getSimCarrierIdName();
+    method public String getSimCountryIso();
+    method public String getSimOperator();
+    method public String getSimOperatorName();
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getSimSerialNumber();
+    method public int getSimSpecificCarrierId();
+    method @Nullable public CharSequence getSimSpecificCarrierIdName();
+    method public int getSimState();
+    method public int getSimState(int);
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getSubscriberId();
+    method public int getSubscriptionId();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getSubscriptionId(@NonNull android.telecom.PhoneAccountHandle);
+    method public int getSupportedModemCount();
+    method @Nullable public String getTypeAllocationCode();
+    method @Nullable public String getTypeAllocationCode(int);
+    method @NonNull @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public java.util.List<android.telephony.UiccCardInfo> getUiccCardsInfo();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVisualVoicemailPackageName();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVoiceMailAlphaTag();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getVoiceMailNumber();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getVoiceNetworkType();
+    method @Nullable public android.net.Uri getVoicemailRingtoneUri(android.telecom.PhoneAccountHandle);
+    method public boolean hasCarrierPrivileges();
+    method public boolean hasIccCard();
+    method @Deprecated public boolean iccCloseLogicalChannel(int);
+    method @Deprecated public byte[] iccExchangeSimIO(int, int, int, int, int, String);
+    method @Deprecated public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(String);
+    method @Deprecated public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannel(String, int);
+    method @Deprecated public String iccTransmitApduBasicChannel(int, int, int, int, int, String);
+    method @Deprecated public String iccTransmitApduLogicalChannel(int, int, int, int, int, int, String);
+    method public boolean isConcurrentVoiceAndDataSupported();
+    method public boolean isDataCapable();
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public boolean isDataConnectionAllowed();
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabled();
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataEnabledForReason(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataRoamingEnabled();
+    method public boolean isEmergencyNumber(@NonNull String);
+    method public boolean isHearingAidCompatibilitySupported();
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, "android.permission.READ_PRIVILEGED_PHONE_STATE"}) public boolean isManualNetworkSelectionAllowed();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isModemEnabledForSlot(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int isMultiSimSupported();
+    method public boolean isNetworkRoaming();
+    method public boolean isRadioInterfaceCapabilitySupported(@NonNull String);
+    method public boolean isRttSupported();
+    method public boolean isSmsCapable();
+    method @Deprecated public boolean isTtyModeSupported();
+    method public boolean isVoiceCapable();
+    method public boolean isVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle);
+    method public boolean isWorldPhone();
+    method @Deprecated public void listen(android.telephony.PhoneStateListener, int);
+    method public void registerTelephonyCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestCellInfoUpdate(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CellInfoCallback);
+    method @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.telephony.NetworkScan requestNetworkScan(android.telephony.NetworkScanRequest, java.util.concurrent.Executor, android.telephony.TelephonyScanManager.NetworkScanCallback);
+    method public void sendDialerSpecialCode(String);
+    method @Deprecated public String sendEnvelopeWithStatus(String);
+    method @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void sendUssdRequest(String, android.telephony.TelephonyManager.UssdResponseCallback, android.os.Handler);
+    method public void sendVisualVoicemailSms(String, int, String, android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallComposerStatus(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabledForReason(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setForbiddenPlmns(@NonNull java.util.List<java.lang.String>);
+    method public boolean setLine1NumberForDisplay(String, String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNetworkSelectionModeAutomatic();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setNetworkSelectionModeManual(String, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setNetworkSelectionModeManual(@NonNull String, boolean, int);
+    method public boolean setOperatorBrandOverride(String);
+    method public boolean setPreferredNetworkTypeToGlobal();
+    method public void setPreferredOpportunisticDataSubscription(int, boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSignalStrengthUpdateRequest(@NonNull android.telephony.SignalStrengthUpdateRequest);
+    method public void setVisualVoicemailSmsFilterSettings(android.telephony.VisualVoicemailSmsFilterSettings);
+    method public boolean setVoiceMailNumber(String, String);
+    method @Deprecated public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri);
+    method @Deprecated public void setVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void switchMultiSimConfig(int);
+    method public void unregisterTelephonyCallback(@NonNull android.telephony.TelephonyCallback);
+    method public void updateAvailableNetworks(@NonNull java.util.List<android.telephony.AvailableNetworkInfo>, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
+    method public void uploadCallComposerPicture(@NonNull java.nio.file.Path, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.os.ParcelUuid,android.telephony.TelephonyManager.CallComposerException>);
+    method public void uploadCallComposerPicture(@NonNull java.io.InputStream, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.os.ParcelUuid,android.telephony.TelephonyManager.CallComposerException>);
+    field public static final String ACTION_CARRIER_MESSAGING_CLIENT_SERVICE = "android.telephony.action.CARRIER_MESSAGING_CLIENT_SERVICE";
+    field public static final String ACTION_CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE = "android.telephony.action.CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE";
+    field public static final String ACTION_CARRIER_SIGNAL_PCO_VALUE = "android.telephony.action.CARRIER_SIGNAL_PCO_VALUE";
+    field public static final String ACTION_CARRIER_SIGNAL_REDIRECTED = "android.telephony.action.CARRIER_SIGNAL_REDIRECTED";
+    field public static final String ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED = "android.telephony.action.CARRIER_SIGNAL_REQUEST_NETWORK_FAILED";
+    field public static final String ACTION_CARRIER_SIGNAL_RESET = "android.telephony.action.CARRIER_SIGNAL_RESET";
+    field public static final String ACTION_CONFIGURE_VOICEMAIL = "android.telephony.action.CONFIGURE_VOICEMAIL";
+    field public static final String ACTION_MULTI_SIM_CONFIG_CHANGED = "android.telephony.action.MULTI_SIM_CONFIG_CHANGED";
+    field public static final String ACTION_NETWORK_COUNTRY_CHANGED = "android.telephony.action.NETWORK_COUNTRY_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final String ACTION_PHONE_STATE_CHANGED = "android.intent.action.PHONE_STATE";
+    field public static final String ACTION_RESPOND_VIA_MESSAGE = "android.intent.action.RESPOND_VIA_MESSAGE";
+    field public static final String ACTION_SECRET_CODE = "android.telephony.action.SECRET_CODE";
+    field public static final String ACTION_SHOW_VOICEMAIL_NOTIFICATION = "android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION";
+    field public static final String ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED";
+    field public static final String ACTION_SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED";
+    field public static final int APPTYPE_CSIM = 4; // 0x4
+    field public static final int APPTYPE_ISIM = 5; // 0x5
+    field public static final int APPTYPE_RUIM = 3; // 0x3
+    field public static final int APPTYPE_SIM = 1; // 0x1
+    field public static final int APPTYPE_UNKNOWN = 0; // 0x0
+    field public static final int APPTYPE_USIM = 2; // 0x2
+    field public static final int AUTHTYPE_EAP_AKA = 129; // 0x81
+    field public static final int AUTHTYPE_EAP_SIM = 128; // 0x80
+    field public static final int CALL_COMPOSER_STATUS_OFF = 0; // 0x0
+    field public static final int CALL_COMPOSER_STATUS_ON = 1; // 0x1
+    field public static final int CALL_STATE_IDLE = 0; // 0x0
+    field public static final int CALL_STATE_OFFHOOK = 2; // 0x2
+    field public static final int CALL_STATE_RINGING = 1; // 0x1
+    field public static final String CAPABILITY_SLICING_CONFIG_SUPPORTED = "CAPABILITY_SLICING_CONFIG_SUPPORTED";
+    field public static final int CDMA_ROAMING_MODE_AFFILIATED = 1; // 0x1
+    field public static final int CDMA_ROAMING_MODE_ANY = 2; // 0x2
+    field public static final int CDMA_ROAMING_MODE_HOME = 0; // 0x0
+    field public static final int CDMA_ROAMING_MODE_RADIO_DEFAULT = -1; // 0xffffffff
+    field public static final int DATA_ACTIVITY_DORMANT = 4; // 0x4
+    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
+    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
+    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
+    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
+    field public static final int DATA_CONNECTED = 2; // 0x2
+    field public static final int DATA_CONNECTING = 1; // 0x1
+    field public static final int DATA_DISCONNECTED = 0; // 0x0
+    field public static final int DATA_DISCONNECTING = 4; // 0x4
+    field public static final int DATA_ENABLED_REASON_CARRIER = 2; // 0x2
+    field public static final int DATA_ENABLED_REASON_POLICY = 1; // 0x1
+    field public static final int DATA_ENABLED_REASON_THERMAL = 3; // 0x3
+    field public static final int DATA_ENABLED_REASON_USER = 0; // 0x0
+    field public static final int DATA_SUSPENDED = 3; // 0x3
+    field public static final int DATA_UNKNOWN = -1; // 0xffffffff
+    field public static final int ERI_FLASH = 2; // 0x2
+    field public static final int ERI_OFF = 1; // 0x1
+    field public static final int ERI_ON = 0; // 0x0
+    field public static final String EXTRA_ACTIVE_SIM_SUPPORTED_COUNT = "android.telephony.extra.ACTIVE_SIM_SUPPORTED_COUNT";
+    field public static final String EXTRA_APN_PROTOCOL = "android.telephony.extra.APN_PROTOCOL";
+    field public static final String EXTRA_APN_TYPE = "android.telephony.extra.APN_TYPE";
+    field public static final String EXTRA_CALL_VOICEMAIL_INTENT = "android.telephony.extra.CALL_VOICEMAIL_INTENT";
+    field public static final String EXTRA_CARRIER_ID = "android.telephony.extra.CARRIER_ID";
+    field public static final String EXTRA_CARRIER_NAME = "android.telephony.extra.CARRIER_NAME";
+    field public static final String EXTRA_DATA_FAIL_CAUSE = "android.telephony.extra.DATA_FAIL_CAUSE";
+    field public static final String EXTRA_DEFAULT_NETWORK_AVAILABLE = "android.telephony.extra.DEFAULT_NETWORK_AVAILABLE";
+    field public static final String EXTRA_HIDE_PUBLIC_SETTINGS = "android.telephony.extra.HIDE_PUBLIC_SETTINGS";
+    field @Deprecated public static final String EXTRA_INCOMING_NUMBER = "incoming_number";
+    field public static final String EXTRA_IS_REFRESH = "android.telephony.extra.IS_REFRESH";
+    field public static final String EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT = "android.telephony.extra.LAUNCH_VOICEMAIL_SETTINGS_INTENT";
+    field public static final String EXTRA_NETWORK_COUNTRY = "android.telephony.extra.NETWORK_COUNTRY";
+    field public static final String EXTRA_NOTIFICATION_COUNT = "android.telephony.extra.NOTIFICATION_COUNT";
+    field public static final String EXTRA_PCO_ID = "android.telephony.extra.PCO_ID";
+    field public static final String EXTRA_PCO_VALUE = "android.telephony.extra.PCO_VALUE";
+    field public static final String EXTRA_PHONE_ACCOUNT_HANDLE = "android.telephony.extra.PHONE_ACCOUNT_HANDLE";
+    field public static final String EXTRA_REDIRECTION_URL = "android.telephony.extra.REDIRECTION_URL";
+    field public static final String EXTRA_SPECIFIC_CARRIER_ID = "android.telephony.extra.SPECIFIC_CARRIER_ID";
+    field public static final String EXTRA_SPECIFIC_CARRIER_NAME = "android.telephony.extra.SPECIFIC_CARRIER_NAME";
+    field public static final String EXTRA_STATE = "state";
+    field public static final String EXTRA_STATE_IDLE;
+    field public static final String EXTRA_STATE_OFFHOOK;
+    field public static final String EXTRA_STATE_RINGING;
+    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.extra.SUBSCRIPTION_ID";
+    field public static final String EXTRA_VOICEMAIL_NUMBER = "android.telephony.extra.VOICEMAIL_NUMBER";
+    field public static final String METADATA_HIDE_VOICEMAIL_SETTINGS_MENU = "android.telephony.HIDE_VOICEMAIL_SETTINGS_MENU";
+    field public static final int MULTISIM_ALLOWED = 0; // 0x0
+    field public static final int MULTISIM_NOT_SUPPORTED_BY_CARRIER = 2; // 0x2
+    field public static final int MULTISIM_NOT_SUPPORTED_BY_HARDWARE = 1; // 0x1
+    field public static final int NETWORK_SELECTION_MODE_AUTO = 1; // 0x1
+    field public static final int NETWORK_SELECTION_MODE_MANUAL = 2; // 0x2
+    field public static final int NETWORK_SELECTION_MODE_UNKNOWN = 0; // 0x0
+    field public static final int NETWORK_TYPE_1xRTT = 7; // 0x7
+    field public static final int NETWORK_TYPE_CDMA = 4; // 0x4
+    field public static final int NETWORK_TYPE_EDGE = 2; // 0x2
+    field public static final int NETWORK_TYPE_EHRPD = 14; // 0xe
+    field public static final int NETWORK_TYPE_EVDO_0 = 5; // 0x5
+    field public static final int NETWORK_TYPE_EVDO_A = 6; // 0x6
+    field public static final int NETWORK_TYPE_EVDO_B = 12; // 0xc
+    field public static final int NETWORK_TYPE_GPRS = 1; // 0x1
+    field public static final int NETWORK_TYPE_GSM = 16; // 0x10
+    field public static final int NETWORK_TYPE_HSDPA = 8; // 0x8
+    field public static final int NETWORK_TYPE_HSPA = 10; // 0xa
+    field public static final int NETWORK_TYPE_HSPAP = 15; // 0xf
+    field public static final int NETWORK_TYPE_HSUPA = 9; // 0x9
+    field public static final int NETWORK_TYPE_IDEN = 11; // 0xb
+    field public static final int NETWORK_TYPE_IWLAN = 18; // 0x12
+    field public static final int NETWORK_TYPE_LTE = 13; // 0xd
+    field public static final int NETWORK_TYPE_NR = 20; // 0x14
+    field public static final int NETWORK_TYPE_TD_SCDMA = 17; // 0x11
+    field public static final int NETWORK_TYPE_UMTS = 3; // 0x3
+    field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
+    field public static final int PHONE_TYPE_CDMA = 2; // 0x2
+    field public static final int PHONE_TYPE_GSM = 1; // 0x1
+    field public static final int PHONE_TYPE_NONE = 0; // 0x0
+    field public static final int PHONE_TYPE_SIP = 3; // 0x3
+    field public static final int SET_OPPORTUNISTIC_SUB_INACTIVE_SUBSCRIPTION = 2; // 0x2
+    field public static final int SET_OPPORTUNISTIC_SUB_NO_OPPORTUNISTIC_SUB_AVAILABLE = 3; // 0x3
+    field public static final int SET_OPPORTUNISTIC_SUB_REMOTE_SERVICE_EXCEPTION = 4; // 0x4
+    field public static final int SET_OPPORTUNISTIC_SUB_SUCCESS = 0; // 0x0
+    field public static final int SET_OPPORTUNISTIC_SUB_VALIDATION_FAILED = 1; // 0x1
+    field public static final int SIM_STATE_ABSENT = 1; // 0x1
+    field public static final int SIM_STATE_CARD_IO_ERROR = 8; // 0x8
+    field public static final int SIM_STATE_CARD_RESTRICTED = 9; // 0x9
+    field public static final int SIM_STATE_NETWORK_LOCKED = 4; // 0x4
+    field public static final int SIM_STATE_NOT_READY = 6; // 0x6
+    field public static final int SIM_STATE_PERM_DISABLED = 7; // 0x7
+    field public static final int SIM_STATE_PIN_REQUIRED = 2; // 0x2
+    field public static final int SIM_STATE_PUK_REQUIRED = 3; // 0x3
+    field public static final int SIM_STATE_READY = 5; // 0x5
+    field public static final int SIM_STATE_UNKNOWN = 0; // 0x0
+    field public static final int UNINITIALIZED_CARD_ID = -2; // 0xfffffffe
+    field public static final int UNKNOWN_CARRIER_ID = -1; // 0xffffffff
+    field public static final int UNSUPPORTED_CARD_ID = -1; // 0xffffffff
+    field public static final int UPDATE_AVAILABLE_NETWORKS_ABORTED = 2; // 0x2
+    field public static final int UPDATE_AVAILABLE_NETWORKS_DISABLE_MODEM_FAIL = 5; // 0x5
+    field public static final int UPDATE_AVAILABLE_NETWORKS_ENABLE_MODEM_FAIL = 6; // 0x6
+    field public static final int UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS = 3; // 0x3
+    field public static final int UPDATE_AVAILABLE_NETWORKS_MULTIPLE_NETWORKS_NOT_SUPPORTED = 7; // 0x7
+    field public static final int UPDATE_AVAILABLE_NETWORKS_NO_CARRIER_PRIVILEGE = 4; // 0x4
+    field public static final int UPDATE_AVAILABLE_NETWORKS_NO_OPPORTUNISTIC_SUB_AVAILABLE = 8; // 0x8
+    field public static final int UPDATE_AVAILABLE_NETWORKS_REMOTE_SERVICE_EXCEPTION = 9; // 0x9
+    field public static final int UPDATE_AVAILABLE_NETWORKS_SERVICE_IS_DISABLED = 10; // 0xa
+    field public static final int UPDATE_AVAILABLE_NETWORKS_SUCCESS = 0; // 0x0
+    field public static final int UPDATE_AVAILABLE_NETWORKS_UNKNOWN_FAILURE = 1; // 0x1
+    field public static final int USSD_ERROR_SERVICE_UNAVAIL = -2; // 0xfffffffe
+    field public static final int USSD_RETURN_FAILURE = -1; // 0xffffffff
+    field public static final String VVM_TYPE_CVVM = "vvm_type_cvvm";
+    field public static final String VVM_TYPE_OMTP = "vvm_type_omtp";
+  }
+
+  public static class TelephonyManager.CallComposerException extends java.lang.Exception {
+    ctor public TelephonyManager.CallComposerException(int, @Nullable java.io.IOException);
+    method public int getErrorCode();
+    method @Nullable public java.io.IOException getIOException();
+    field public static final int ERROR_AUTHENTICATION_FAILED = 3; // 0x3
+    field public static final int ERROR_FILE_TOO_LARGE = 2; // 0x2
+    field public static final int ERROR_INPUT_CLOSED = 4; // 0x4
+    field public static final int ERROR_IO_EXCEPTION = 5; // 0x5
+    field public static final int ERROR_NETWORK_UNAVAILABLE = 6; // 0x6
+    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
+    field public static final int ERROR_UNKNOWN = 0; // 0x0
+  }
+
+  public abstract static class TelephonyManager.CellInfoCallback {
+    ctor public TelephonyManager.CellInfoCallback();
+    method public abstract void onCellInfo(@NonNull java.util.List<android.telephony.CellInfo>);
+    method public void onError(int, @Nullable Throwable);
+    field public static final int ERROR_MODEM_ERROR = 2; // 0x2
+    field public static final int ERROR_TIMEOUT = 1; // 0x1
+  }
+
+  public class TelephonyManager.ModemErrorException extends android.telephony.TelephonyManager.NetworkSlicingException {
+  }
+
+  public static class TelephonyManager.NetworkSlicingException extends java.lang.Exception {
+  }
+
+  public class TelephonyManager.TimeoutException extends android.telephony.TelephonyManager.NetworkSlicingException {
+  }
+
+  public abstract static class TelephonyManager.UssdResponseCallback {
+    ctor public TelephonyManager.UssdResponseCallback();
+    method public void onReceiveUssdResponse(android.telephony.TelephonyManager, String, CharSequence);
+    method public void onReceiveUssdResponseFailed(android.telephony.TelephonyManager, String, int);
+  }
+
+  public final class TelephonyScanManager {
+    ctor public TelephonyScanManager();
+  }
+
+  public abstract static class TelephonyScanManager.NetworkScanCallback {
+    ctor public TelephonyScanManager.NetworkScanCallback();
+    method public void onComplete();
+    method public void onError(int);
+    method public void onResults(java.util.List<android.telephony.CellInfo>);
+  }
+
+  public final class UiccCardInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCardId();
+    method @Nullable public String getEid();
+    method @Nullable public String getIccId();
+    method public int getSlotIndex();
+    method public boolean isEuicc();
+    method public boolean isRemovable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccCardInfo> CREATOR;
+  }
+
+  public abstract class VisualVoicemailService extends android.app.Service {
+    ctor public VisualVoicemailService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @MainThread public abstract void onCellServiceConnected(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telecom.PhoneAccountHandle);
+    method @MainThread public abstract void onSimRemoved(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telecom.PhoneAccountHandle);
+    method @MainThread public abstract void onSmsReceived(android.telephony.VisualVoicemailService.VisualVoicemailTask, android.telephony.VisualVoicemailSms);
+    method @MainThread public abstract void onStopped(android.telephony.VisualVoicemailService.VisualVoicemailTask);
+    field public static final String SERVICE_INTERFACE = "android.telephony.VisualVoicemailService";
+  }
+
+  public static class VisualVoicemailService.VisualVoicemailTask {
+    method public final void finish();
+  }
+
+  public final class VisualVoicemailSms implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.os.Bundle getFields();
+    method public String getMessageBody();
+    method public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
+    method public String getPrefix();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSms> CREATOR;
+  }
+
+  public final class VisualVoicemailSmsFilterSettings implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSmsFilterSettings> CREATOR;
+    field public static final int DESTINATION_PORT_ANY = -1; // 0xffffffff
+    field public static final int DESTINATION_PORT_DATA_SMS = -2; // 0xfffffffe
+    field public final String clientPrefix;
+    field public final int destinationPort;
+    field public final java.util.List<java.lang.String> originatingNumbers;
+  }
+
+  public static class VisualVoicemailSmsFilterSettings.Builder {
+    ctor public VisualVoicemailSmsFilterSettings.Builder();
+    method public android.telephony.VisualVoicemailSmsFilterSettings build();
+    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setClientPrefix(String);
+    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setDestinationPort(int);
+    method public android.telephony.VisualVoicemailSmsFilterSettings.Builder setOriginatingNumbers(java.util.List<java.lang.String>);
+  }
+
+}
+
+package android.telephony.cdma {
+
+  @Deprecated public class CdmaCellLocation extends android.telephony.CellLocation {
+    ctor @Deprecated public CdmaCellLocation();
+    ctor @Deprecated public CdmaCellLocation(android.os.Bundle);
+    method @Deprecated public static double convertQuartSecToDecDegrees(int);
+    method @Deprecated public void fillInNotifierBundle(android.os.Bundle);
+    method @Deprecated public int getBaseStationId();
+    method @Deprecated public int getBaseStationLatitude();
+    method @Deprecated public int getBaseStationLongitude();
+    method @Deprecated public int getNetworkId();
+    method @Deprecated public int getSystemId();
+    method @Deprecated public void setCellLocationData(int, int, int);
+    method @Deprecated public void setCellLocationData(int, int, int, int, int);
+    method @Deprecated public void setStateInvalid();
+  }
+
+}
+
+package android.telephony.data {
+
+  public class ApnSetting implements android.os.Parcelable {
+    method public int describeContents();
+    method public String getApnName();
+    method public int getApnTypeBitmask();
+    method public int getAuthType();
+    method public int getCarrierId();
+    method public String getEntryName();
+    method public int getId();
+    method @Deprecated public java.net.InetAddress getMmsProxyAddress();
+    method public String getMmsProxyAddressAsString();
+    method public int getMmsProxyPort();
+    method public android.net.Uri getMmsc();
+    method public int getMvnoType();
+    method public int getNetworkTypeBitmask();
+    method public String getOperatorNumeric();
+    method public String getPassword();
+    method public int getProtocol();
+    method @Deprecated public java.net.InetAddress getProxyAddress();
+    method public String getProxyAddressAsString();
+    method public int getProxyPort();
+    method public int getRoamingProtocol();
+    method public String getUser();
+    method public boolean isEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int AUTH_TYPE_CHAP = 2; // 0x2
+    field public static final int AUTH_TYPE_NONE = 0; // 0x0
+    field public static final int AUTH_TYPE_PAP = 1; // 0x1
+    field public static final int AUTH_TYPE_PAP_OR_CHAP = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ApnSetting> CREATOR;
+    field public static final int MVNO_TYPE_GID = 2; // 0x2
+    field public static final int MVNO_TYPE_ICCID = 3; // 0x3
+    field public static final int MVNO_TYPE_IMSI = 1; // 0x1
+    field public static final int MVNO_TYPE_SPN = 0; // 0x0
+    field public static final int PROTOCOL_IP = 0; // 0x0
+    field public static final int PROTOCOL_IPV4V6 = 2; // 0x2
+    field public static final int PROTOCOL_IPV6 = 1; // 0x1
+    field public static final int PROTOCOL_NON_IP = 4; // 0x4
+    field public static final int PROTOCOL_PPP = 3; // 0x3
+    field public static final int PROTOCOL_UNSTRUCTURED = 5; // 0x5
+    field public static final int TYPE_BIP = 8192; // 0x2000
+    field public static final int TYPE_CBS = 128; // 0x80
+    field public static final int TYPE_DEFAULT = 17; // 0x11
+    field public static final int TYPE_DUN = 8; // 0x8
+    field public static final int TYPE_EMERGENCY = 512; // 0x200
+    field public static final int TYPE_FOTA = 32; // 0x20
+    field public static final int TYPE_HIPRI = 16; // 0x10
+    field public static final int TYPE_IA = 256; // 0x100
+    field public static final int TYPE_IMS = 64; // 0x40
+    field public static final int TYPE_MCX = 1024; // 0x400
+    field public static final int TYPE_MMS = 2; // 0x2
+    field public static final int TYPE_SUPL = 4; // 0x4
+    field public static final int TYPE_VSIM = 4096; // 0x1000
+    field public static final int TYPE_XCAP = 2048; // 0x800
+  }
+
+  public static class ApnSetting.Builder {
+    ctor public ApnSetting.Builder();
+    method public android.telephony.data.ApnSetting build();
+    method @NonNull public android.telephony.data.ApnSetting.Builder setApnName(@Nullable String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setApnTypeBitmask(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setAuthType(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setCarrierEnabled(boolean);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setCarrierId(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setEntryName(@Nullable String);
+    method @Deprecated public android.telephony.data.ApnSetting.Builder setMmsProxyAddress(java.net.InetAddress);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMmsProxyAddress(@Nullable String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMmsProxyPort(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMmsc(@Nullable android.net.Uri);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMvnoType(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setNetworkTypeBitmask(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setOperatorNumeric(@Nullable String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setPassword(@Nullable String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setProtocol(int);
+    method @Deprecated public android.telephony.data.ApnSetting.Builder setProxyAddress(java.net.InetAddress);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setProxyAddress(@Nullable String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setProxyPort(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setRoamingProtocol(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setUser(@Nullable String);
+  }
+
+  public final class NetworkSliceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0xffffffff, to=0xfffffe) public int getMappedHplmnSliceDifferentiator();
+    method public int getMappedHplmnSliceServiceType();
+    method @IntRange(from=0xffffffff, to=0xfffffe) public int getSliceDifferentiator();
+    method public int getSliceServiceType();
+    method public int getStatus();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NetworkSliceInfo> CREATOR;
+    field public static final int SLICE_DIFFERENTIATOR_NO_SLICE = -1; // 0xffffffff
+    field public static final int SLICE_SERVICE_TYPE_EMBB = 1; // 0x1
+    field public static final int SLICE_SERVICE_TYPE_MIOT = 3; // 0x3
+    field public static final int SLICE_SERVICE_TYPE_NONE = 0; // 0x0
+    field public static final int SLICE_SERVICE_TYPE_URLLC = 2; // 0x2
+    field public static final int SLICE_STATUS_ALLOWED = 2; // 0x2
+    field public static final int SLICE_STATUS_CONFIGURED = 1; // 0x1
+    field public static final int SLICE_STATUS_DEFAULT_CONFIGURED = 5; // 0x5
+    field public static final int SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_PLMN = 3; // 0x3
+    field public static final int SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_REGISTERED_AREA = 4; // 0x4
+    field public static final int SLICE_STATUS_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class NetworkSliceInfo.Builder {
+    ctor public NetworkSliceInfo.Builder();
+    method @NonNull public android.telephony.data.NetworkSliceInfo build();
+    method @NonNull public android.telephony.data.NetworkSliceInfo.Builder setMappedHplmnSliceDifferentiator(@IntRange(from=0xffffffff, to=0xfffffe) int);
+    method @NonNull public android.telephony.data.NetworkSliceInfo.Builder setMappedHplmnSliceServiceType(int);
+    method @NonNull public android.telephony.data.NetworkSliceInfo.Builder setSliceDifferentiator(@IntRange(from=0xffffffff, to=0xfffffe) int);
+    method @NonNull public android.telephony.data.NetworkSliceInfo.Builder setSliceServiceType(int);
+    method @NonNull public android.telephony.data.NetworkSliceInfo.Builder setStatus(int);
+  }
+
+  public final class NetworkSlicingConfig implements android.os.Parcelable {
+    ctor public NetworkSlicingConfig();
+    method public int describeContents();
+    method @NonNull public java.util.List<android.telephony.data.NetworkSliceInfo> getSliceInfo();
+    method @NonNull public java.util.List<android.telephony.data.UrspRule> getUrspRules();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NetworkSlicingConfig> CREATOR;
+  }
+
+  public final class RouteSelectionDescriptor implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getDataNetworkName();
+    method @IntRange(from=0x0, to=0xff) public int getPrecedence();
+    method public int getSessionType();
+    method @NonNull public java.util.List<android.telephony.data.NetworkSliceInfo> getSliceInfo();
+    method public int getSscMode();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.RouteSelectionDescriptor> CREATOR;
+    field public static final int ROUTE_SSC_MODE_1 = 1; // 0x1
+    field public static final int ROUTE_SSC_MODE_2 = 2; // 0x2
+    field public static final int ROUTE_SSC_MODE_3 = 3; // 0x3
+    field public static final int SESSION_TYPE_IPV4 = 0; // 0x0
+    field public static final int SESSION_TYPE_IPV4V6 = 2; // 0x2
+    field public static final int SESSION_TYPE_IPV6 = 1; // 0x1
+  }
+
+  public final class TrafficDescriptor implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getDataNetworkName();
+    method @Nullable public byte[] getOsAppId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.TrafficDescriptor> CREATOR;
+  }
+
+  public static final class TrafficDescriptor.Builder {
+    ctor public TrafficDescriptor.Builder();
+    method @NonNull public android.telephony.data.TrafficDescriptor build();
+    method @NonNull public android.telephony.data.TrafficDescriptor.Builder setDataNetworkName(@NonNull String);
+    method @NonNull public android.telephony.data.TrafficDescriptor.Builder setOsAppId(@NonNull byte[]);
+  }
+
+  public final class UrspRule implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0x0, to=0xff) public int getPrecedence();
+    method @NonNull public java.util.List<android.telephony.data.RouteSelectionDescriptor> getRouteSelectionDescriptor();
+    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.UrspRule> CREATOR;
+  }
+
+}
+
+package android.telephony.emergency {
+
+  public final class EmergencyNumber implements java.lang.Comparable<android.telephony.emergency.EmergencyNumber> android.os.Parcelable {
+    method public int compareTo(@NonNull android.telephony.emergency.EmergencyNumber);
+    method public int describeContents();
+    method @NonNull public String getCountryIso();
+    method public int getEmergencyCallRouting();
+    method @NonNull public java.util.List<java.lang.Integer> getEmergencyNumberSources();
+    method @NonNull public java.util.List<java.lang.Integer> getEmergencyServiceCategories();
+    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
+    method @NonNull public String getMnc();
+    method @NonNull public String getNumber();
+    method public boolean isFromSources(int);
+    method public boolean isInEmergencyServiceCategories(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.emergency.EmergencyNumber> CREATOR;
+    field public static final int EMERGENCY_CALL_ROUTING_EMERGENCY = 1; // 0x1
+    field public static final int EMERGENCY_CALL_ROUTING_NORMAL = 2; // 0x2
+    field public static final int EMERGENCY_CALL_ROUTING_UNKNOWN = 0; // 0x0
+    field public static final int EMERGENCY_NUMBER_SOURCE_DATABASE = 16; // 0x10
+    field public static final int EMERGENCY_NUMBER_SOURCE_DEFAULT = 8; // 0x8
+    field public static final int EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG = 4; // 0x4
+    field public static final int EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING = 1; // 0x1
+    field public static final int EMERGENCY_NUMBER_SOURCE_SIM = 2; // 0x2
+    field public static final int EMERGENCY_SERVICE_CATEGORY_AIEC = 64; // 0x40
+    field public static final int EMERGENCY_SERVICE_CATEGORY_AMBULANCE = 2; // 0x2
+    field public static final int EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE = 4; // 0x4
+    field public static final int EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD = 8; // 0x8
+    field public static final int EMERGENCY_SERVICE_CATEGORY_MIEC = 32; // 0x20
+    field public static final int EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE = 16; // 0x10
+    field public static final int EMERGENCY_SERVICE_CATEGORY_POLICE = 1; // 0x1
+    field public static final int EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED = 0; // 0x0
+  }
+
+}
+
+package android.telephony.euicc {
+
+  public final class DownloadableSubscription implements android.os.Parcelable {
+    method public int describeContents();
+    method public static android.telephony.euicc.DownloadableSubscription forActivationCode(String);
+    method @Nullable public String getConfirmationCode();
+    method @Nullable public String getEncodedActivationCode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.DownloadableSubscription> CREATOR;
+  }
+
+  public static final class DownloadableSubscription.Builder {
+    ctor public DownloadableSubscription.Builder(@NonNull android.telephony.euicc.DownloadableSubscription);
+    ctor public DownloadableSubscription.Builder(@NonNull String);
+    method @NonNull public android.telephony.euicc.DownloadableSubscription build();
+    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setConfirmationCode(@NonNull String);
+    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setEncodedActivationCode(@NonNull String);
+  }
+
+  public final class EuiccInfo implements android.os.Parcelable {
+    ctor public EuiccInfo(@Nullable String);
+    method public int describeContents();
+    method @Nullable public String getOsVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccInfo> CREATOR;
+  }
+
+  public class EuiccManager {
+    method @NonNull public android.telephony.euicc.EuiccManager createForCardId(int);
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void deleteSubscription(int, android.app.PendingIntent);
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void downloadSubscription(android.telephony.euicc.DownloadableSubscription, boolean, android.app.PendingIntent);
+    method @Nullable public String getEid();
+    method @Nullable public android.telephony.euicc.EuiccInfo getEuiccInfo();
+    method public boolean isEnabled();
+    method public void startResolutionActivity(android.app.Activity, int, android.content.Intent, android.app.PendingIntent) throws android.content.IntentSender.SendIntentException;
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void switchToSubscription(int, android.app.PendingIntent);
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void updateSubscriptionNickname(int, @Nullable String, @NonNull android.app.PendingIntent);
+    field public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.telephony.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
+    field public static final String ACTION_NOTIFY_CARRIER_SETUP_INCOMPLETE = "android.telephony.euicc.action.NOTIFY_CARRIER_SETUP_INCOMPLETE";
+    field public static final String ACTION_START_EUICC_ACTIVATION = "android.telephony.euicc.action.START_EUICC_ACTIVATION";
+    field public static final int EMBEDDED_SUBSCRIPTION_RESULT_ERROR = 2; // 0x2
+    field public static final int EMBEDDED_SUBSCRIPTION_RESULT_OK = 0; // 0x0
+    field public static final int EMBEDDED_SUBSCRIPTION_RESULT_RESOLVABLE_ERROR = 1; // 0x1
+    field public static final int ERROR_ADDRESS_MISSING = 10011; // 0x271b
+    field public static final int ERROR_CARRIER_LOCKED = 10000; // 0x2710
+    field public static final int ERROR_CERTIFICATE_ERROR = 10012; // 0x271c
+    field public static final int ERROR_CONNECTION_ERROR = 10014; // 0x271e
+    field public static final int ERROR_DISALLOWED_BY_PPR = 10010; // 0x271a
+    field public static final int ERROR_EUICC_INSUFFICIENT_MEMORY = 10004; // 0x2714
+    field public static final int ERROR_EUICC_MISSING = 10006; // 0x2716
+    field public static final int ERROR_INCOMPATIBLE_CARRIER = 10003; // 0x2713
+    field public static final int ERROR_INSTALL_PROFILE = 10009; // 0x2719
+    field public static final int ERROR_INVALID_ACTIVATION_CODE = 10001; // 0x2711
+    field public static final int ERROR_INVALID_CONFIRMATION_CODE = 10002; // 0x2712
+    field public static final int ERROR_INVALID_RESPONSE = 10015; // 0x271f
+    field public static final int ERROR_NO_PROFILES_AVAILABLE = 10013; // 0x271d
+    field public static final int ERROR_OPERATION_BUSY = 10016; // 0x2720
+    field public static final int ERROR_SIM_MISSING = 10008; // 0x2718
+    field public static final int ERROR_TIME_OUT = 10005; // 0x2715
+    field public static final int ERROR_UNSUPPORTED_VERSION = 10007; // 0x2717
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DETAILED_CODE";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_ERROR_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_ERROR_CODE";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_OPERATION_CODE";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE";
+    field public static final String EXTRA_USE_QR_SCANNER = "android.telephony.euicc.extra.USE_QR_SCANNER";
+    field public static final String META_DATA_CARRIER_ICON = "android.telephony.euicc.carriericon";
+    field public static final int OPERATION_APDU = 8; // 0x8
+    field public static final int OPERATION_DOWNLOAD = 5; // 0x5
+    field public static final int OPERATION_EUICC_CARD = 3; // 0x3
+    field public static final int OPERATION_EUICC_GSMA = 7; // 0x7
+    field public static final int OPERATION_HTTP = 11; // 0xb
+    field public static final int OPERATION_METADATA = 6; // 0x6
+    field public static final int OPERATION_SIM_SLOT = 2; // 0x2
+    field public static final int OPERATION_SMDX = 9; // 0x9
+    field public static final int OPERATION_SMDX_SUBJECT_REASON_CODE = 10; // 0xa
+    field public static final int OPERATION_SWITCH = 4; // 0x4
+    field public static final int OPERATION_SYSTEM = 1; // 0x1
+  }
+
+}
+
+package android.telephony.gsm {
+
+  @Deprecated public class GsmCellLocation extends android.telephony.CellLocation {
+    ctor @Deprecated public GsmCellLocation();
+    ctor @Deprecated public GsmCellLocation(android.os.Bundle);
+    method @Deprecated public void fillInNotifierBundle(android.os.Bundle);
+    method @Deprecated public int getCid();
+    method @Deprecated public int getLac();
+    method @Deprecated public int getPsc();
+    method @Deprecated public void setLacAndCid(int, int);
+    method @Deprecated public void setStateInvalid();
+  }
+
+  @Deprecated public final class SmsManager {
+    method @Deprecated public java.util.ArrayList<java.lang.String> divideMessage(String);
+    method @Deprecated public static android.telephony.gsm.SmsManager getDefault();
+    method @Deprecated public void sendDataMessage(String, String, short, byte[], android.app.PendingIntent, android.app.PendingIntent);
+    method @Deprecated public void sendMultipartTextMessage(String, String, java.util.ArrayList<java.lang.String>, java.util.ArrayList<android.app.PendingIntent>, java.util.ArrayList<android.app.PendingIntent>);
+    method @Deprecated public void sendTextMessage(String, String, String, android.app.PendingIntent, android.app.PendingIntent);
+    field @Deprecated public static final int RESULT_ERROR_GENERIC_FAILURE = 1; // 0x1
+    field @Deprecated public static final int RESULT_ERROR_NO_SERVICE = 4; // 0x4
+    field @Deprecated public static final int RESULT_ERROR_NULL_PDU = 3; // 0x3
+    field @Deprecated public static final int RESULT_ERROR_RADIO_OFF = 2; // 0x2
+    field @Deprecated public static final int STATUS_ON_SIM_FREE = 0; // 0x0
+    field @Deprecated public static final int STATUS_ON_SIM_READ = 1; // 0x1
+    field @Deprecated public static final int STATUS_ON_SIM_SENT = 5; // 0x5
+    field @Deprecated public static final int STATUS_ON_SIM_UNREAD = 3; // 0x3
+    field @Deprecated public static final int STATUS_ON_SIM_UNSENT = 7; // 0x7
+  }
+
+  @Deprecated public class SmsMessage {
+    ctor @Deprecated public SmsMessage();
+    method @Deprecated public static int[] calculateLength(CharSequence, boolean);
+    method @Deprecated public static int[] calculateLength(String, boolean);
+    method @Deprecated public static android.telephony.gsm.SmsMessage createFromPdu(byte[]);
+    method @Deprecated public String getDisplayMessageBody();
+    method @Deprecated public String getDisplayOriginatingAddress();
+    method @Deprecated public String getEmailBody();
+    method @Deprecated public String getEmailFrom();
+    method @Deprecated public int getIndexOnSim();
+    method @Deprecated public String getMessageBody();
+    method @Deprecated public android.telephony.gsm.SmsMessage.MessageClass getMessageClass();
+    method @Deprecated public String getOriginatingAddress();
+    method @Deprecated public byte[] getPdu();
+    method @Deprecated public int getProtocolIdentifier();
+    method @Deprecated public String getPseudoSubject();
+    method @Deprecated public String getServiceCenterAddress();
+    method @Deprecated public int getStatus();
+    method @Deprecated public int getStatusOnSim();
+    method @Deprecated public static android.telephony.gsm.SmsMessage.SubmitPdu getSubmitPdu(String, String, String, boolean);
+    method @Deprecated public static android.telephony.gsm.SmsMessage.SubmitPdu getSubmitPdu(String, String, short, byte[], boolean);
+    method @Deprecated public static int getTPLayerLengthForPDU(String);
+    method @Deprecated public long getTimestampMillis();
+    method @Deprecated public byte[] getUserData();
+    method @Deprecated public boolean isCphsMwiMessage();
+    method @Deprecated public boolean isEmail();
+    method @Deprecated public boolean isMWIClearMessage();
+    method @Deprecated public boolean isMWISetMessage();
+    method @Deprecated public boolean isMwiDontStore();
+    method @Deprecated public boolean isReplace();
+    method @Deprecated public boolean isReplyPathPresent();
+    method @Deprecated public boolean isStatusReportMessage();
+    field @Deprecated public static final int ENCODING_16BIT = 3; // 0x3
+    field @Deprecated public static final int ENCODING_7BIT = 1; // 0x1
+    field @Deprecated public static final int ENCODING_8BIT = 2; // 0x2
+    field @Deprecated public static final int ENCODING_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final int MAX_USER_DATA_BYTES = 140; // 0x8c
+    field @Deprecated public static final int MAX_USER_DATA_SEPTETS = 160; // 0xa0
+    field @Deprecated public static final int MAX_USER_DATA_SEPTETS_WITH_HEADER = 153; // 0x99
+  }
+
+  @Deprecated public enum SmsMessage.MessageClass {
+    enum_constant @Deprecated public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_0;
+    enum_constant @Deprecated public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_1;
+    enum_constant @Deprecated public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_2;
+    enum_constant @Deprecated public static final android.telephony.gsm.SmsMessage.MessageClass CLASS_3;
+    enum_constant @Deprecated public static final android.telephony.gsm.SmsMessage.MessageClass UNKNOWN;
+  }
+
+  @Deprecated public static class SmsMessage.SubmitPdu {
+    ctor @Deprecated public SmsMessage.SubmitPdu();
+    field @Deprecated public byte[] encodedMessage;
+    field @Deprecated public byte[] encodedScAddress;
+  }
+
+}
+
+package android.telephony.ims {
+
+  public final class ImsException extends java.lang.Exception {
+    method public int getCode();
+    field public static final int CODE_ERROR_INVALID_SUBSCRIPTION = 3; // 0x3
+    field public static final int CODE_ERROR_SERVICE_UNAVAILABLE = 1; // 0x1
+    field public static final int CODE_ERROR_UNSPECIFIED = 0; // 0x0
+    field public static final int CODE_ERROR_UNSUPPORTED_OPERATION = 2; // 0x2
+  }
+
+  public class ImsManager {
+    method @NonNull public android.telephony.ims.ImsMmTelManager getImsMmTelManager(int);
+    method @NonNull public android.telephony.ims.ImsRcsManager getImsRcsManager(int);
+    field public static final String ACTION_WFC_IMS_REGISTRATION_ERROR = "android.telephony.ims.action.WFC_IMS_REGISTRATION_ERROR";
+    field public static final String EXTRA_WFC_REGISTRATION_FAILURE_MESSAGE = "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_MESSAGE";
+    field public static final String EXTRA_WFC_REGISTRATION_FAILURE_TITLE = "android.telephony.ims.extra.WFC_REGISTRATION_FAILURE_TITLE";
+  }
+
+  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public int getVoWiFiModeSetting();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isAdvancedCallingSettingEnabled();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isCrossSimCallingEnabled() throws android.telephony.ims.ImsException;
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isTtyOverVolteEnabled();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isVoWiFiRoamingSettingEnabled();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isVoWiFiSettingEnabled();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public boolean isVtSettingEnabled();
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void registerMmTelCapabilityCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.CapabilityCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
+    method @RequiresPermission(anyOf={"android.permission.READ_PRIVILEGED_PHONE_STATE", android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public void unregisterMmTelCapabilityCallback(@NonNull android.telephony.ims.ImsMmTelManager.CapabilityCallback);
+    field public static final int WIFI_MODE_CELLULAR_PREFERRED = 1; // 0x1
+    field public static final int WIFI_MODE_WIFI_ONLY = 0; // 0x0
+    field public static final int WIFI_MODE_WIFI_PREFERRED = 2; // 0x2
+  }
+
+  public static class ImsMmTelManager.CapabilityCallback {
+    ctor public ImsMmTelManager.CapabilityCallback();
+    method public void onCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
+  }
+
+  public class ImsRcsManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @NonNull public android.telephony.ims.RcsUceAdapter getUceAdapter();
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
+    field public static final String ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN = "android.telephony.ims.action.SHOW_CAPABILITY_DISCOVERY_OPT_IN";
+  }
+
+  public final class ImsReasonInfo implements android.os.Parcelable {
+    ctor public ImsReasonInfo(int, int, @Nullable String);
+    method public int describeContents();
+    method public int getCode();
+    method public int getExtraCode();
+    method @Nullable public String getExtraMessage();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CODE_ACCESS_CLASS_BLOCKED = 1512; // 0x5e8
+    field public static final int CODE_ANSWERED_ELSEWHERE = 1014; // 0x3f6
+    field public static final int CODE_BLACKLISTED_CALL_ID = 506; // 0x1fa
+    field public static final int CODE_CALL_BARRED = 240; // 0xf0
+    field public static final int CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE = 1100; // 0x44c
+    field public static final int CODE_CALL_END_CAUSE_CALL_PULL = 1016; // 0x3f8
+    field public static final int CODE_CALL_PULL_OUT_OF_SYNC = 1015; // 0x3f7
+    field public static final int CODE_DATA_DISABLED = 1406; // 0x57e
+    field public static final int CODE_DATA_LIMIT_REACHED = 1405; // 0x57d
+    field public static final int CODE_DIAL_MODIFIED_TO_DIAL = 246; // 0xf6
+    field public static final int CODE_DIAL_MODIFIED_TO_DIAL_VIDEO = 247; // 0xf7
+    field public static final int CODE_DIAL_MODIFIED_TO_SS = 245; // 0xf5
+    field public static final int CODE_DIAL_MODIFIED_TO_USSD = 244; // 0xf4
+    field public static final int CODE_DIAL_VIDEO_MODIFIED_TO_DIAL = 248; // 0xf8
+    field public static final int CODE_DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO = 249; // 0xf9
+    field public static final int CODE_DIAL_VIDEO_MODIFIED_TO_SS = 250; // 0xfa
+    field public static final int CODE_DIAL_VIDEO_MODIFIED_TO_USSD = 251; // 0xfb
+    field public static final int CODE_ECBM_NOT_SUPPORTED = 901; // 0x385
+    field public static final int CODE_EMERGENCY_PERM_FAILURE = 364; // 0x16c
+    field public static final int CODE_EMERGENCY_TEMP_FAILURE = 363; // 0x16b
+    field public static final int CODE_EPDG_TUNNEL_ESTABLISH_FAILURE = 1400; // 0x578
+    field public static final int CODE_EPDG_TUNNEL_LOST_CONNECTION = 1402; // 0x57a
+    field public static final int CODE_EPDG_TUNNEL_REKEY_FAILURE = 1401; // 0x579
+    field public static final int CODE_FDN_BLOCKED = 241; // 0xf1
+    field public static final int CODE_IKEV2_AUTH_FAILURE = 1408; // 0x580
+    field public static final int CODE_IMEI_NOT_ACCEPTED = 243; // 0xf3
+    field public static final int CODE_IWLAN_DPD_FAILURE = 1300; // 0x514
+    field public static final int CODE_LOCAL_CALL_BUSY = 142; // 0x8e
+    field public static final int CODE_LOCAL_CALL_CS_RETRY_REQUIRED = 146; // 0x92
+    field public static final int CODE_LOCAL_CALL_DECLINE = 143; // 0x8f
+    field public static final int CODE_LOCAL_CALL_EXCEEDED = 141; // 0x8d
+    field public static final int CODE_LOCAL_CALL_RESOURCE_RESERVATION_FAILED = 145; // 0x91
+    field public static final int CODE_LOCAL_CALL_TERMINATED = 148; // 0x94
+    field public static final int CODE_LOCAL_CALL_VCC_ON_PROGRESSING = 144; // 0x90
+    field public static final int CODE_LOCAL_CALL_VOLTE_RETRY_REQUIRED = 147; // 0x93
+    field public static final int CODE_LOCAL_ENDED_BY_CONFERENCE_MERGE = 108; // 0x6c
+    field public static final int CODE_LOCAL_HO_NOT_FEASIBLE = 149; // 0x95
+    field public static final int CODE_LOCAL_ILLEGAL_ARGUMENT = 101; // 0x65
+    field public static final int CODE_LOCAL_ILLEGAL_STATE = 102; // 0x66
+    field public static final int CODE_LOCAL_IMS_SERVICE_DOWN = 106; // 0x6a
+    field public static final int CODE_LOCAL_INTERNAL_ERROR = 103; // 0x67
+    field public static final int CODE_LOCAL_LOW_BATTERY = 112; // 0x70
+    field public static final int CODE_LOCAL_NETWORK_IP_CHANGED = 124; // 0x7c
+    field public static final int CODE_LOCAL_NETWORK_NO_LTE_COVERAGE = 122; // 0x7a
+    field public static final int CODE_LOCAL_NETWORK_NO_SERVICE = 121; // 0x79
+    field public static final int CODE_LOCAL_NETWORK_ROAMING = 123; // 0x7b
+    field public static final int CODE_LOCAL_NOT_REGISTERED = 132; // 0x84
+    field public static final int CODE_LOCAL_NO_PENDING_CALL = 107; // 0x6b
+    field public static final int CODE_LOCAL_POWER_OFF = 111; // 0x6f
+    field public static final int CODE_LOCAL_SERVICE_UNAVAILABLE = 131; // 0x83
+    field public static final int CODE_LOW_BATTERY = 505; // 0x1f9
+    field public static final int CODE_MAXIMUM_NUMBER_OF_CALLS_REACHED = 1403; // 0x57b
+    field public static final int CODE_MEDIA_INIT_FAILED = 401; // 0x191
+    field public static final int CODE_MEDIA_NOT_ACCEPTABLE = 403; // 0x193
+    field public static final int CODE_MEDIA_NO_DATA = 402; // 0x192
+    field public static final int CODE_MEDIA_UNSPECIFIED = 404; // 0x194
+    field public static final int CODE_MULTIENDPOINT_NOT_SUPPORTED = 902; // 0x386
+    field public static final int CODE_NETWORK_CONGESTION = 1624; // 0x658
+    field public static final int CODE_NETWORK_DETACH = 1513; // 0x5e9
+    field public static final int CODE_NETWORK_REJECT = 1504; // 0x5e0
+    field public static final int CODE_NETWORK_RESP_TIMEOUT = 1503; // 0x5df
+    field public static final int CODE_NO_CSFB_IN_CS_ROAM = 1516; // 0x5ec
+    field public static final int CODE_NO_VALID_SIM = 1501; // 0x5dd
+    field public static final int CODE_OEM_CAUSE_1 = 61441; // 0xf001
+    field public static final int CODE_OEM_CAUSE_10 = 61450; // 0xf00a
+    field public static final int CODE_OEM_CAUSE_11 = 61451; // 0xf00b
+    field public static final int CODE_OEM_CAUSE_12 = 61452; // 0xf00c
+    field public static final int CODE_OEM_CAUSE_13 = 61453; // 0xf00d
+    field public static final int CODE_OEM_CAUSE_14 = 61454; // 0xf00e
+    field public static final int CODE_OEM_CAUSE_15 = 61455; // 0xf00f
+    field public static final int CODE_OEM_CAUSE_2 = 61442; // 0xf002
+    field public static final int CODE_OEM_CAUSE_3 = 61443; // 0xf003
+    field public static final int CODE_OEM_CAUSE_4 = 61444; // 0xf004
+    field public static final int CODE_OEM_CAUSE_5 = 61445; // 0xf005
+    field public static final int CODE_OEM_CAUSE_6 = 61446; // 0xf006
+    field public static final int CODE_OEM_CAUSE_7 = 61447; // 0xf007
+    field public static final int CODE_OEM_CAUSE_8 = 61448; // 0xf008
+    field public static final int CODE_OEM_CAUSE_9 = 61449; // 0xf009
+    field public static final int CODE_RADIO_ACCESS_FAILURE = 1505; // 0x5e1
+    field public static final int CODE_RADIO_INTERNAL_ERROR = 1502; // 0x5de
+    field public static final int CODE_RADIO_LINK_FAILURE = 1506; // 0x5e2
+    field public static final int CODE_RADIO_LINK_LOST = 1507; // 0x5e3
+    field public static final int CODE_RADIO_OFF = 1500; // 0x5dc
+    field public static final int CODE_RADIO_RELEASE_ABNORMAL = 1511; // 0x5e7
+    field public static final int CODE_RADIO_RELEASE_NORMAL = 1510; // 0x5e6
+    field public static final int CODE_RADIO_SETUP_FAILURE = 1509; // 0x5e5
+    field public static final int CODE_RADIO_UPLINK_FAILURE = 1508; // 0x5e4
+    field public static final int CODE_REGISTRATION_ERROR = 1000; // 0x3e8
+    field public static final int CODE_REJECTED_ELSEWHERE = 1017; // 0x3f9
+    field public static final int CODE_REJECT_1X_COLLISION = 1603; // 0x643
+    field public static final int CODE_REJECT_CALL_ON_OTHER_SUB = 1602; // 0x642
+    field public static final int CODE_REJECT_CALL_TYPE_NOT_ALLOWED = 1605; // 0x645
+    field public static final int CODE_REJECT_CONFERENCE_TTY_NOT_ALLOWED = 1617; // 0x651
+    field public static final int CODE_REJECT_INTERNAL_ERROR = 1612; // 0x64c
+    field public static final int CODE_REJECT_MAX_CALL_LIMIT_REACHED = 1608; // 0x648
+    field public static final int CODE_REJECT_ONGOING_CALL_SETUP = 1607; // 0x647
+    field public static final int CODE_REJECT_ONGOING_CALL_TRANSFER = 1611; // 0x64b
+    field public static final int CODE_REJECT_ONGOING_CALL_UPGRADE = 1616; // 0x650
+    field public static final int CODE_REJECT_ONGOING_CALL_WAITING_DISABLED = 1601; // 0x641
+    field public static final int CODE_REJECT_ONGOING_CONFERENCE_CALL = 1618; // 0x652
+    field public static final int CODE_REJECT_ONGOING_CS_CALL = 1621; // 0x655
+    field public static final int CODE_REJECT_ONGOING_E911_CALL = 1606; // 0x646
+    field public static final int CODE_REJECT_ONGOING_ENCRYPTED_CALL = 1620; // 0x654
+    field public static final int CODE_REJECT_ONGOING_HANDOVER = 1614; // 0x64e
+    field public static final int CODE_REJECT_QOS_FAILURE = 1613; // 0x64d
+    field public static final int CODE_REJECT_SERVICE_NOT_REGISTERED = 1604; // 0x644
+    field public static final int CODE_REJECT_UNKNOWN = 1600; // 0x640
+    field public static final int CODE_REJECT_UNSUPPORTED_SDP_HEADERS = 1610; // 0x64a
+    field public static final int CODE_REJECT_UNSUPPORTED_SIP_HEADERS = 1609; // 0x649
+    field public static final int CODE_REJECT_VT_AVPF_NOT_ALLOWED = 1619; // 0x653
+    field public static final int CODE_REJECT_VT_TTY_NOT_ALLOWED = 1615; // 0x64f
+    field public static final int CODE_REMOTE_CALL_DECLINE = 1404; // 0x57c
+    field public static final int CODE_SESSION_MODIFICATION_FAILED = 1517; // 0x5ed
+    field public static final int CODE_SIP_ALTERNATE_EMERGENCY_CALL = 1514; // 0x5ea
+    field public static final int CODE_SIP_AMBIGUOUS = 376; // 0x178
+    field public static final int CODE_SIP_BAD_ADDRESS = 337; // 0x151
+    field public static final int CODE_SIP_BAD_REQUEST = 331; // 0x14b
+    field public static final int CODE_SIP_BUSY = 338; // 0x152
+    field public static final int CODE_SIP_CALL_OR_TRANS_DOES_NOT_EXIST = 372; // 0x174
+    field public static final int CODE_SIP_CLIENT_ERROR = 342; // 0x156
+    field public static final int CODE_SIP_EXTENSION_REQUIRED = 370; // 0x172
+    field public static final int CODE_SIP_FORBIDDEN = 332; // 0x14c
+    field public static final int CODE_SIP_GLOBAL_ERROR = 362; // 0x16a
+    field public static final int CODE_SIP_INTERVAL_TOO_BRIEF = 371; // 0x173
+    field public static final int CODE_SIP_LOOP_DETECTED = 373; // 0x175
+    field public static final int CODE_SIP_METHOD_NOT_ALLOWED = 366; // 0x16e
+    field public static final int CODE_SIP_NOT_ACCEPTABLE = 340; // 0x154
+    field public static final int CODE_SIP_NOT_FOUND = 333; // 0x14d
+    field public static final int CODE_SIP_NOT_REACHABLE = 341; // 0x155
+    field public static final int CODE_SIP_NOT_SUPPORTED = 334; // 0x14e
+    field public static final int CODE_SIP_PROXY_AUTHENTICATION_REQUIRED = 367; // 0x16f
+    field public static final int CODE_SIP_REDIRECTED = 321; // 0x141
+    field public static final int CODE_SIP_REQUEST_CANCELLED = 339; // 0x153
+    field public static final int CODE_SIP_REQUEST_ENTITY_TOO_LARGE = 368; // 0x170
+    field public static final int CODE_SIP_REQUEST_PENDING = 377; // 0x179
+    field public static final int CODE_SIP_REQUEST_TIMEOUT = 335; // 0x14f
+    field public static final int CODE_SIP_REQUEST_URI_TOO_LARGE = 369; // 0x171
+    field public static final int CODE_SIP_SERVER_ERROR = 354; // 0x162
+    field public static final int CODE_SIP_SERVER_INTERNAL_ERROR = 351; // 0x15f
+    field public static final int CODE_SIP_SERVER_TIMEOUT = 353; // 0x161
+    field public static final int CODE_SIP_SERVICE_UNAVAILABLE = 352; // 0x160
+    field public static final int CODE_SIP_TEMPRARILY_UNAVAILABLE = 336; // 0x150
+    field public static final int CODE_SIP_TOO_MANY_HOPS = 374; // 0x176
+    field public static final int CODE_SIP_TRANSACTION_DOES_NOT_EXIST = 343; // 0x157
+    field public static final int CODE_SIP_UNDECIPHERABLE = 378; // 0x17a
+    field public static final int CODE_SIP_USER_MARKED_UNWANTED = 365; // 0x16d
+    field public static final int CODE_SIP_USER_REJECTED = 361; // 0x169
+    field public static final int CODE_SUPP_SVC_CANCELLED = 1202; // 0x4b2
+    field public static final int CODE_SUPP_SVC_FAILED = 1201; // 0x4b1
+    field public static final int CODE_SUPP_SVC_REINVITE_COLLISION = 1203; // 0x4b3
+    field public static final int CODE_TIMEOUT_1XX_WAITING = 201; // 0xc9
+    field public static final int CODE_TIMEOUT_NO_ANSWER = 202; // 0xca
+    field public static final int CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE = 203; // 0xcb
+    field public static final int CODE_UNSPECIFIED = 0; // 0x0
+    field public static final int CODE_USER_CANCELLED_SESSION_MODIFICATION = 512; // 0x200
+    field public static final int CODE_USER_DECLINE = 504; // 0x1f8
+    field public static final int CODE_USER_IGNORE = 503; // 0x1f7
+    field public static final int CODE_USER_NOANSWER = 502; // 0x1f6
+    field public static final int CODE_USER_REJECTED_SESSION_MODIFICATION = 511; // 0x1ff
+    field public static final int CODE_USER_TERMINATED = 501; // 0x1f5
+    field public static final int CODE_USER_TERMINATED_BY_REMOTE = 510; // 0x1fe
+    field public static final int CODE_UT_CB_PASSWORD_MISMATCH = 821; // 0x335
+    field public static final int CODE_UT_NETWORK_ERROR = 804; // 0x324
+    field public static final int CODE_UT_NOT_SUPPORTED = 801; // 0x321
+    field public static final int CODE_UT_OPERATION_NOT_ALLOWED = 803; // 0x323
+    field public static final int CODE_UT_SERVICE_UNAVAILABLE = 802; // 0x322
+    field public static final int CODE_UT_SS_MODIFIED_TO_DIAL = 822; // 0x336
+    field public static final int CODE_UT_SS_MODIFIED_TO_DIAL_VIDEO = 825; // 0x339
+    field public static final int CODE_UT_SS_MODIFIED_TO_SS = 824; // 0x338
+    field public static final int CODE_UT_SS_MODIFIED_TO_USSD = 823; // 0x337
+    field public static final int CODE_WIFI_LOST = 1407; // 0x57f
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsReasonInfo> CREATOR;
+    field public static final int EXTRA_CODE_CALL_RETRY_BY_SETTINGS = 3; // 0x3
+    field public static final int EXTRA_CODE_CALL_RETRY_EMERGENCY = 4; // 0x4
+    field public static final int EXTRA_CODE_CALL_RETRY_NORMAL = 1; // 0x1
+    field public static final int EXTRA_CODE_CALL_RETRY_SILENT_REDIAL = 2; // 0x2
+  }
+
+  public final class ImsRegistrationAttributes implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAttributeFlags();
+    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
+    method public int getTransportType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int ATTR_EPDG_OVER_CELL_INTERNET = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsRegistrationAttributes> CREATOR;
+  }
+
+  public class RcsUceAdapter {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isUceSettingEnabled() throws android.telephony.ims.ImsException;
+  }
+
+  public interface RegistrationManager {
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void getRegistrationTransportType(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
+    field public static final int REGISTRATION_STATE_NOT_REGISTERED = 0; // 0x0
+    field public static final int REGISTRATION_STATE_REGISTERED = 2; // 0x2
+    field public static final int REGISTRATION_STATE_REGISTERING = 1; // 0x1
+  }
+
+  public static class RegistrationManager.RegistrationCallback {
+    ctor public RegistrationManager.RegistrationCallback();
+    method @Deprecated public void onRegistered(int);
+    method public void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
+    method @Deprecated public void onRegistering(int);
+    method public void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
+    method public void onTechnologyChangeFailed(int, @NonNull android.telephony.ims.ImsReasonInfo);
+    method public void onUnregistered(@NonNull android.telephony.ims.ImsReasonInfo);
+  }
+
+}
+
+package android.telephony.ims.feature {
+
+  public class MmTelFeature {
+  }
+
+  public static class MmTelFeature.MmTelCapabilities {
+    method public final boolean isCapable(int);
+    field public static final int CAPABILITY_TYPE_CALL_COMPOSER = 16; // 0x10
+    field public static final int CAPABILITY_TYPE_SMS = 8; // 0x8
+    field public static final int CAPABILITY_TYPE_UT = 4; // 0x4
+    field public static final int CAPABILITY_TYPE_VIDEO = 2; // 0x2
+    field public static final int CAPABILITY_TYPE_VOICE = 1; // 0x1
+  }
+
+}
+
+package android.telephony.mbms {
+
+  public class DownloadProgressListener {
+    ctor public DownloadProgressListener();
+    method public void onProgressUpdated(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo, int, int, int, int);
+  }
+
+  public final class DownloadRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.net.Uri getDestinationUri();
+    method public String getFileServiceId();
+    method public static int getMaxAppIntentSize();
+    method public static int getMaxDestinationUriSize();
+    method public android.net.Uri getSourceUri();
+    method public int getSubscriptionId();
+    method public byte[] toByteArray();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.DownloadRequest> CREATOR;
+  }
+
+  public static class DownloadRequest.Builder {
+    ctor public DownloadRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri);
+    method public android.telephony.mbms.DownloadRequest build();
+    method public static android.telephony.mbms.DownloadRequest.Builder fromDownloadRequest(android.telephony.mbms.DownloadRequest);
+    method public static android.telephony.mbms.DownloadRequest.Builder fromSerializedRequest(byte[]);
+    method public android.telephony.mbms.DownloadRequest.Builder setAppIntent(android.content.Intent);
+    method public android.telephony.mbms.DownloadRequest.Builder setServiceInfo(android.telephony.mbms.FileServiceInfo);
+    method public android.telephony.mbms.DownloadRequest.Builder setSubscriptionId(int);
+  }
+
+  public class DownloadStatusListener {
+    ctor public DownloadStatusListener();
+    method public void onStatusUpdated(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo, int);
+  }
+
+  public final class FileInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public String getMimeType();
+    method public android.net.Uri getUri();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.FileInfo> CREATOR;
+  }
+
+  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.util.List<android.telephony.mbms.FileInfo> getFiles();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.FileServiceInfo> CREATOR;
+  }
+
+  public class GroupCall implements java.lang.AutoCloseable {
+    method public void close();
+    method public long getTmgi();
+    method public void updateGroupCall(@NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
+    field public static final int REASON_BY_USER_REQUEST = 1; // 0x1
+    field public static final int REASON_FREQUENCY_CONFLICT = 3; // 0x3
+    field public static final int REASON_LEFT_MBMS_BROADCAST_AREA = 6; // 0x6
+    field public static final int REASON_NONE = 0; // 0x0
+    field public static final int REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE = 5; // 0x5
+    field public static final int REASON_OUT_OF_MEMORY = 4; // 0x4
+    field public static final int STATE_STALLED = 3; // 0x3
+    field public static final int STATE_STARTED = 2; // 0x2
+    field public static final int STATE_STOPPED = 1; // 0x1
+  }
+
+  public interface GroupCallCallback {
+    method public default void onBroadcastSignalStrengthUpdated(@IntRange(from=0xffffffff, to=4) int);
+    method public default void onError(int, @Nullable String);
+    method public default void onGroupCallStateChanged(int, int);
+    field public static final int SIGNAL_STRENGTH_UNAVAILABLE = -1; // 0xffffffff
+  }
+
+  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
+    ctor public MbmsDownloadReceiver();
+    method public void onReceive(android.content.Context, android.content.Intent);
+  }
+
+  public class MbmsDownloadSessionCallback {
+    ctor public MbmsDownloadSessionCallback();
+    method public void onError(int, String);
+    method public void onFileServicesUpdated(java.util.List<android.telephony.mbms.FileServiceInfo>);
+    method public void onMiddlewareReady();
+  }
+
+  public class MbmsErrors {
+    field public static final int ERROR_MIDDLEWARE_LOST = 3; // 0x3
+    field public static final int ERROR_MIDDLEWARE_NOT_BOUND = 2; // 0x2
+    field public static final int ERROR_NO_UNIQUE_MIDDLEWARE = 1; // 0x1
+    field public static final int SUCCESS = 0; // 0x0
+    field public static final int UNKNOWN = -1; // 0xffffffff
+  }
+
+  public static class MbmsErrors.DownloadErrors {
+    field public static final int ERROR_CANNOT_CHANGE_TEMP_FILE_ROOT = 401; // 0x191
+    field public static final int ERROR_MALFORMED_SERVICE_ANNOUNCEMENT = 404; // 0x194
+    field public static final int ERROR_UNKNOWN_DOWNLOAD_REQUEST = 402; // 0x192
+    field public static final int ERROR_UNKNOWN_FILE_INFO = 403; // 0x193
+  }
+
+  public static class MbmsErrors.GeneralErrors {
+    field public static final int ERROR_CARRIER_CHANGE_NOT_ALLOWED = 207; // 0xcf
+    field public static final int ERROR_IN_E911 = 204; // 0xcc
+    field public static final int ERROR_MIDDLEWARE_NOT_YET_READY = 201; // 0xc9
+    field public static final int ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE = 203; // 0xcb
+    field public static final int ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE = 205; // 0xcd
+    field public static final int ERROR_OUT_OF_MEMORY = 202; // 0xca
+    field public static final int ERROR_UNABLE_TO_READ_SIM = 206; // 0xce
+  }
+
+  public static class MbmsErrors.GroupCallErrors {
+    field public static final int ERROR_DUPLICATE_START_GROUP_CALL = 502; // 0x1f6
+    field public static final int ERROR_UNABLE_TO_START_SERVICE = 501; // 0x1f5
+  }
+
+  public static class MbmsErrors.InitializationErrors {
+    field public static final int ERROR_APP_PERMISSIONS_NOT_GRANTED = 102; // 0x66
+    field public static final int ERROR_DUPLICATE_INITIALIZE = 101; // 0x65
+    field public static final int ERROR_UNABLE_TO_INITIALIZE = 103; // 0x67
+  }
+
+  public static class MbmsErrors.StreamingErrors {
+    field public static final int ERROR_CONCURRENT_SERVICE_LIMIT_REACHED = 301; // 0x12d
+    field public static final int ERROR_DUPLICATE_START_STREAM = 303; // 0x12f
+    field public static final int ERROR_UNABLE_TO_START_SERVICE = 302; // 0x12e
+  }
+
+  public interface MbmsGroupCallSessionCallback {
+    method public default void onAvailableSaisUpdated(@NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.util.List<java.lang.Integer>>);
+    method public default void onError(int, @Nullable String);
+    method public default void onMiddlewareReady();
+    method public default void onServiceInterfaceAvailable(@NonNull String, int);
+  }
+
+  public class MbmsStreamingSessionCallback {
+    ctor public MbmsStreamingSessionCallback();
+    method public void onError(int, @Nullable String);
+    method public void onMiddlewareReady();
+    method public void onStreamingServicesUpdated(java.util.List<android.telephony.mbms.StreamingServiceInfo>);
+  }
+
+  public class ServiceInfo {
+    method public java.util.List<java.util.Locale> getLocales();
+    method @NonNull public CharSequence getNameForLocale(@NonNull java.util.Locale);
+    method @NonNull public java.util.Set<java.util.Locale> getNamedContentLocales();
+    method public String getServiceClassName();
+    method public String getServiceId();
+    method public java.util.Date getSessionEndTime();
+    method public java.util.Date getSessionStartTime();
+  }
+
+  public class StreamingService implements java.lang.AutoCloseable {
+    method public void close();
+    method public android.telephony.mbms.StreamingServiceInfo getInfo();
+    method @Nullable public android.net.Uri getPlaybackUri();
+    field public static final int BROADCAST_METHOD = 1; // 0x1
+    field public static final int REASON_BY_USER_REQUEST = 1; // 0x1
+    field public static final int REASON_END_OF_SESSION = 2; // 0x2
+    field public static final int REASON_FREQUENCY_CONFLICT = 3; // 0x3
+    field public static final int REASON_LEFT_MBMS_BROADCAST_AREA = 6; // 0x6
+    field public static final int REASON_NONE = 0; // 0x0
+    field public static final int REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE = 5; // 0x5
+    field public static final int REASON_OUT_OF_MEMORY = 4; // 0x4
+    field public static final int STATE_STALLED = 3; // 0x3
+    field public static final int STATE_STARTED = 2; // 0x2
+    field public static final int STATE_STOPPED = 1; // 0x1
+    field public static final int UNICAST_METHOD = 2; // 0x2
+  }
+
+  public class StreamingServiceCallback {
+    ctor public StreamingServiceCallback();
+    method public void onBroadcastSignalStrengthUpdated(int);
+    method public void onError(int, @Nullable String);
+    method public void onMediaDescriptionUpdated();
+    method public void onStreamMethodUpdated(int);
+    method public void onStreamStateUpdated(int, int);
+    field public static final int SIGNAL_STRENGTH_UNAVAILABLE = -1; // 0xffffffff
+  }
+
+  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.StreamingServiceInfo> CREATOR;
+  }
+
+}
+
+package android.text {
+
+  @Deprecated public class AlteredCharSequence implements java.lang.CharSequence android.text.GetChars {
+    method @Deprecated public char charAt(int);
+    method @Deprecated public void getChars(int, int, char[], int);
+    method @Deprecated public int length();
+    method @Deprecated public static android.text.AlteredCharSequence make(CharSequence, char[], int, int);
+    method @Deprecated public CharSequence subSequence(int, int);
+  }
+
+  @Deprecated public class AndroidCharacter {
+    ctor @Deprecated public AndroidCharacter();
+    method @Deprecated public static void getDirectionalities(char[], byte[], int);
+    method @Deprecated public static int getEastAsianWidth(char);
+    method @Deprecated public static void getEastAsianWidths(char[], int, int, byte[]);
+    method @Deprecated public static char getMirror(char);
+    method @Deprecated public static boolean mirror(char[], int, int);
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_AMBIGUOUS = 1; // 0x1
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_FULL_WIDTH = 3; // 0x3
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_HALF_WIDTH = 2; // 0x2
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_NARROW = 4; // 0x4
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_NEUTRAL = 0; // 0x0
+    field @Deprecated public static final int EAST_ASIAN_WIDTH_WIDE = 5; // 0x5
+  }
+
+  public class Annotation implements android.text.ParcelableSpan {
+    ctor public Annotation(String, String);
+    ctor public Annotation(android.os.Parcel);
+    method public int describeContents();
+    method public String getKey();
+    method public int getSpanTypeId();
+    method public String getValue();
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class AutoText {
+    method public static String get(CharSequence, int, int, android.view.View);
+    method public static int getSize(android.view.View);
+  }
+
+  public final class BidiFormatter {
+    method public static android.text.BidiFormatter getInstance();
+    method public static android.text.BidiFormatter getInstance(boolean);
+    method public static android.text.BidiFormatter getInstance(java.util.Locale);
+    method public boolean getStereoReset();
+    method public boolean isRtl(String);
+    method public boolean isRtl(CharSequence);
+    method public boolean isRtlContext();
+    method @Nullable public String unicodeWrap(@Nullable String, android.text.TextDirectionHeuristic, boolean);
+    method @Nullable public CharSequence unicodeWrap(@Nullable CharSequence, android.text.TextDirectionHeuristic, boolean);
+    method public String unicodeWrap(String, android.text.TextDirectionHeuristic);
+    method public CharSequence unicodeWrap(CharSequence, android.text.TextDirectionHeuristic);
+    method public String unicodeWrap(String, boolean);
+    method public CharSequence unicodeWrap(CharSequence, boolean);
+    method public String unicodeWrap(String);
+    method public CharSequence unicodeWrap(CharSequence);
+  }
+
+  public static final class BidiFormatter.Builder {
+    ctor public BidiFormatter.Builder();
+    ctor public BidiFormatter.Builder(boolean);
+    ctor public BidiFormatter.Builder(java.util.Locale);
+    method public android.text.BidiFormatter build();
+    method public android.text.BidiFormatter.Builder setTextDirectionHeuristic(android.text.TextDirectionHeuristic);
+    method public android.text.BidiFormatter.Builder stereoReset(boolean);
+  }
+
+  public class BoringLayout extends android.text.Layout implements android.text.TextUtils.EllipsizeCallback {
+    ctor public BoringLayout(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean);
+    ctor public BoringLayout(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean, android.text.TextUtils.TruncateAt, int);
+    method public void ellipsized(int, int);
+    method public int getBottomPadding();
+    method public int getEllipsisCount(int);
+    method public int getEllipsisStart(int);
+    method public boolean getLineContainsTab(int);
+    method public int getLineCount();
+    method public int getLineDescent(int);
+    method public final android.text.Layout.Directions getLineDirections(int);
+    method public int getLineStart(int);
+    method public int getLineTop(int);
+    method public int getParagraphDirection(int);
+    method public int getTopPadding();
+    method public static android.text.BoringLayout.Metrics isBoring(CharSequence, android.text.TextPaint);
+    method public static android.text.BoringLayout.Metrics isBoring(CharSequence, android.text.TextPaint, android.text.BoringLayout.Metrics);
+    method public static android.text.BoringLayout make(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean);
+    method public static android.text.BoringLayout make(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean, android.text.TextUtils.TruncateAt, int);
+    method public android.text.BoringLayout replaceOrMake(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean);
+    method public android.text.BoringLayout replaceOrMake(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, android.text.BoringLayout.Metrics, boolean, android.text.TextUtils.TruncateAt, int);
+  }
+
+  public static class BoringLayout.Metrics extends android.graphics.Paint.FontMetricsInt {
+    ctor public BoringLayout.Metrics();
+    field public int width;
+  }
+
+  @Deprecated public abstract class ClipboardManager {
+    ctor @Deprecated public ClipboardManager();
+    method @Deprecated public abstract CharSequence getText();
+    method @Deprecated public abstract boolean hasText();
+    method @Deprecated public abstract void setText(CharSequence);
+  }
+
+  public class DynamicLayout extends android.text.Layout {
+    ctor @Deprecated public DynamicLayout(@NonNull CharSequence, @NonNull android.text.TextPaint, @IntRange(from=0) int, @NonNull android.text.Layout.Alignment, @FloatRange(from=0.0) float, float, boolean);
+    ctor @Deprecated public DynamicLayout(@NonNull CharSequence, @NonNull CharSequence, @NonNull android.text.TextPaint, @IntRange(from=0) int, @NonNull android.text.Layout.Alignment, @FloatRange(from=0.0) float, float, boolean);
+    ctor @Deprecated public DynamicLayout(@NonNull CharSequence, @NonNull CharSequence, @NonNull android.text.TextPaint, @IntRange(from=0) int, @NonNull android.text.Layout.Alignment, @FloatRange(from=0.0) float, float, boolean, @Nullable android.text.TextUtils.TruncateAt, @IntRange(from=0) int);
+    method public int getBottomPadding();
+    method public int getEllipsisCount(int);
+    method public int getEllipsisStart(int);
+    method public boolean getLineContainsTab(int);
+    method public int getLineCount();
+    method public int getLineDescent(int);
+    method public final android.text.Layout.Directions getLineDirections(int);
+    method public int getLineStart(int);
+    method public int getLineTop(int);
+    method public int getParagraphDirection(int);
+    method public int getTopPadding();
+  }
+
+  public static final class DynamicLayout.Builder {
+    method @NonNull public android.text.DynamicLayout build();
+    method @NonNull public static android.text.DynamicLayout.Builder obtain(@NonNull CharSequence, @NonNull android.text.TextPaint, @IntRange(from=0) int);
+    method @NonNull public android.text.DynamicLayout.Builder setAlignment(@NonNull android.text.Layout.Alignment);
+    method @NonNull public android.text.DynamicLayout.Builder setBreakStrategy(int);
+    method @NonNull public android.text.DynamicLayout.Builder setDisplayText(@NonNull CharSequence);
+    method public android.text.DynamicLayout.Builder setEllipsize(@Nullable android.text.TextUtils.TruncateAt);
+    method @NonNull public android.text.DynamicLayout.Builder setEllipsizedWidth(@IntRange(from=0) int);
+    method @NonNull public android.text.DynamicLayout.Builder setHyphenationFrequency(int);
+    method @NonNull public android.text.DynamicLayout.Builder setIncludePad(boolean);
+    method @NonNull public android.text.DynamicLayout.Builder setJustificationMode(int);
+    method @NonNull public android.text.DynamicLayout.Builder setLineSpacing(float, @FloatRange(from=0.0) float);
+    method @NonNull public android.text.DynamicLayout.Builder setTextDirection(@NonNull android.text.TextDirectionHeuristic);
+    method @NonNull public android.text.DynamicLayout.Builder setUseLineSpacingFromFallbacks(boolean);
+  }
+
+  public interface Editable extends java.lang.CharSequence java.lang.Appendable android.text.GetChars android.text.Spannable {
+    method public android.text.Editable append(CharSequence);
+    method public android.text.Editable append(CharSequence, int, int);
+    method public android.text.Editable append(char);
+    method public void clear();
+    method public void clearSpans();
+    method public android.text.Editable delete(int, int);
+    method public android.text.InputFilter[] getFilters();
+    method public android.text.Editable insert(int, CharSequence, int, int);
+    method public android.text.Editable insert(int, CharSequence);
+    method public android.text.Editable replace(int, int, CharSequence, int, int);
+    method public android.text.Editable replace(int, int, CharSequence);
+    method public void setFilters(android.text.InputFilter[]);
+  }
+
+  public static class Editable.Factory {
+    ctor public Editable.Factory();
+    method public static android.text.Editable.Factory getInstance();
+    method public android.text.Editable newEditable(CharSequence);
+  }
+
+  public interface GetChars extends java.lang.CharSequence {
+    method public void getChars(int, int, char[], int);
+  }
+
+  public class Html {
+    method public static String escapeHtml(CharSequence);
+    method @Deprecated public static android.text.Spanned fromHtml(String);
+    method public static android.text.Spanned fromHtml(String, int);
+    method @Deprecated public static android.text.Spanned fromHtml(String, android.text.Html.ImageGetter, android.text.Html.TagHandler);
+    method public static android.text.Spanned fromHtml(String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler);
+    method @Deprecated public static String toHtml(android.text.Spanned);
+    method public static String toHtml(android.text.Spanned, int);
+    field public static final int FROM_HTML_MODE_COMPACT = 63; // 0x3f
+    field public static final int FROM_HTML_MODE_LEGACY = 0; // 0x0
+    field public static final int FROM_HTML_OPTION_USE_CSS_COLORS = 256; // 0x100
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE = 32; // 0x20
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_DIV = 16; // 0x10
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_HEADING = 2; // 0x2
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST = 8; // 0x8
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM = 4; // 0x4
+    field public static final int FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH = 1; // 0x1
+    field public static final int TO_HTML_PARAGRAPH_LINES_CONSECUTIVE = 0; // 0x0
+    field public static final int TO_HTML_PARAGRAPH_LINES_INDIVIDUAL = 1; // 0x1
+  }
+
+  public static interface Html.ImageGetter {
+    method public android.graphics.drawable.Drawable getDrawable(String);
+  }
+
+  public static interface Html.TagHandler {
+    method public void handleTag(boolean, String, android.text.Editable, org.xml.sax.XMLReader);
+  }
+
+  public interface InputFilter {
+    method public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
+  }
+
+  public static class InputFilter.AllCaps implements android.text.InputFilter {
+    ctor public InputFilter.AllCaps();
+    ctor public InputFilter.AllCaps(@NonNull java.util.Locale);
+    method public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
+  }
+
+  public static class InputFilter.LengthFilter implements android.text.InputFilter {
+    ctor public InputFilter.LengthFilter(int);
+    method public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
+    method public int getMax();
+  }
+
+  public interface InputType {
+    field public static final int TYPE_CLASS_DATETIME = 4; // 0x4
+    field public static final int TYPE_CLASS_NUMBER = 2; // 0x2
+    field public static final int TYPE_CLASS_PHONE = 3; // 0x3
+    field public static final int TYPE_CLASS_TEXT = 1; // 0x1
+    field public static final int TYPE_DATETIME_VARIATION_DATE = 16; // 0x10
+    field public static final int TYPE_DATETIME_VARIATION_NORMAL = 0; // 0x0
+    field public static final int TYPE_DATETIME_VARIATION_TIME = 32; // 0x20
+    field public static final int TYPE_MASK_CLASS = 15; // 0xf
+    field public static final int TYPE_MASK_FLAGS = 16773120; // 0xfff000
+    field public static final int TYPE_MASK_VARIATION = 4080; // 0xff0
+    field public static final int TYPE_NULL = 0; // 0x0
+    field public static final int TYPE_NUMBER_FLAG_DECIMAL = 8192; // 0x2000
+    field public static final int TYPE_NUMBER_FLAG_SIGNED = 4096; // 0x1000
+    field public static final int TYPE_NUMBER_VARIATION_NORMAL = 0; // 0x0
+    field public static final int TYPE_NUMBER_VARIATION_PASSWORD = 16; // 0x10
+    field public static final int TYPE_TEXT_FLAG_AUTO_COMPLETE = 65536; // 0x10000
+    field public static final int TYPE_TEXT_FLAG_AUTO_CORRECT = 32768; // 0x8000
+    field public static final int TYPE_TEXT_FLAG_CAP_CHARACTERS = 4096; // 0x1000
+    field public static final int TYPE_TEXT_FLAG_CAP_SENTENCES = 16384; // 0x4000
+    field public static final int TYPE_TEXT_FLAG_CAP_WORDS = 8192; // 0x2000
+    field public static final int TYPE_TEXT_FLAG_IME_MULTI_LINE = 262144; // 0x40000
+    field public static final int TYPE_TEXT_FLAG_MULTI_LINE = 131072; // 0x20000
+    field public static final int TYPE_TEXT_FLAG_NO_SUGGESTIONS = 524288; // 0x80000
+    field public static final int TYPE_TEXT_VARIATION_EMAIL_ADDRESS = 32; // 0x20
+    field public static final int TYPE_TEXT_VARIATION_EMAIL_SUBJECT = 48; // 0x30
+    field public static final int TYPE_TEXT_VARIATION_FILTER = 176; // 0xb0
+    field public static final int TYPE_TEXT_VARIATION_LONG_MESSAGE = 80; // 0x50
+    field public static final int TYPE_TEXT_VARIATION_NORMAL = 0; // 0x0
+    field public static final int TYPE_TEXT_VARIATION_PASSWORD = 128; // 0x80
+    field public static final int TYPE_TEXT_VARIATION_PERSON_NAME = 96; // 0x60
+    field public static final int TYPE_TEXT_VARIATION_PHONETIC = 192; // 0xc0
+    field public static final int TYPE_TEXT_VARIATION_POSTAL_ADDRESS = 112; // 0x70
+    field public static final int TYPE_TEXT_VARIATION_SHORT_MESSAGE = 64; // 0x40
+    field public static final int TYPE_TEXT_VARIATION_URI = 16; // 0x10
+    field public static final int TYPE_TEXT_VARIATION_VISIBLE_PASSWORD = 144; // 0x90
+    field public static final int TYPE_TEXT_VARIATION_WEB_EDIT_TEXT = 160; // 0xa0
+    field public static final int TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS = 208; // 0xd0
+    field public static final int TYPE_TEXT_VARIATION_WEB_PASSWORD = 224; // 0xe0
+  }
+
+  public abstract class Layout {
+    ctor protected Layout(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float);
+    method public void draw(android.graphics.Canvas);
+    method public void draw(android.graphics.Canvas, android.graphics.Path, android.graphics.Paint, int);
+    method public final android.text.Layout.Alignment getAlignment();
+    method public abstract int getBottomPadding();
+    method public void getCursorPath(int, android.graphics.Path, CharSequence);
+    method public static float getDesiredWidth(CharSequence, android.text.TextPaint);
+    method public static float getDesiredWidth(CharSequence, int, int, android.text.TextPaint);
+    method public abstract int getEllipsisCount(int);
+    method public abstract int getEllipsisStart(int);
+    method public int getEllipsizedWidth();
+    method public int getHeight();
+    method public final int getLineAscent(int);
+    method public final int getLineBaseline(int);
+    method public final int getLineBottom(int);
+    method public int getLineBounds(int, android.graphics.Rect);
+    method public abstract boolean getLineContainsTab(int);
+    method public abstract int getLineCount();
+    method public abstract int getLineDescent(int);
+    method public abstract android.text.Layout.Directions getLineDirections(int);
+    method public final int getLineEnd(int);
+    method public int getLineForOffset(int);
+    method public int getLineForVertical(int);
+    method public float getLineLeft(int);
+    method public float getLineMax(int);
+    method public float getLineRight(int);
+    method public abstract int getLineStart(int);
+    method public abstract int getLineTop(int);
+    method public int getLineVisibleEnd(int);
+    method public float getLineWidth(int);
+    method public int getOffsetForHorizontal(int, float);
+    method public int getOffsetToLeftOf(int);
+    method public int getOffsetToRightOf(int);
+    method public final android.text.TextPaint getPaint();
+    method public final android.text.Layout.Alignment getParagraphAlignment(int);
+    method public abstract int getParagraphDirection(int);
+    method public final int getParagraphLeft(int);
+    method public final int getParagraphRight(int);
+    method public float getPrimaryHorizontal(int);
+    method public float getSecondaryHorizontal(int);
+    method public void getSelectionPath(int, int, android.graphics.Path);
+    method public final float getSpacingAdd();
+    method public final float getSpacingMultiplier();
+    method public final CharSequence getText();
+    method public abstract int getTopPadding();
+    method public final int getWidth();
+    method public final void increaseWidthTo(int);
+    method public boolean isRtlCharAt(int);
+    method protected final boolean isSpanned();
+    field public static final int BREAK_STRATEGY_BALANCED = 2; // 0x2
+    field public static final int BREAK_STRATEGY_HIGH_QUALITY = 1; // 0x1
+    field public static final int BREAK_STRATEGY_SIMPLE = 0; // 0x0
+    field public static final float DEFAULT_LINESPACING_ADDITION = 0.0f;
+    field public static final float DEFAULT_LINESPACING_MULTIPLIER = 1.0f;
+    field public static final int DIR_LEFT_TO_RIGHT = 1; // 0x1
+    field public static final int DIR_RIGHT_TO_LEFT = -1; // 0xffffffff
+    field public static final int HYPHENATION_FREQUENCY_FULL = 2; // 0x2
+    field public static final int HYPHENATION_FREQUENCY_NONE = 0; // 0x0
+    field public static final int HYPHENATION_FREQUENCY_NORMAL = 1; // 0x1
+    field public static final int JUSTIFICATION_MODE_INTER_WORD = 1; // 0x1
+    field public static final int JUSTIFICATION_MODE_NONE = 0; // 0x0
+  }
+
+  public enum Layout.Alignment {
+    enum_constant public static final android.text.Layout.Alignment ALIGN_CENTER;
+    enum_constant public static final android.text.Layout.Alignment ALIGN_NORMAL;
+    enum_constant public static final android.text.Layout.Alignment ALIGN_OPPOSITE;
+  }
+
+  public static class Layout.Directions {
+  }
+
+  @Deprecated public abstract class LoginFilter implements android.text.InputFilter {
+    method @Deprecated public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
+    method @Deprecated public abstract boolean isAllowed(char);
+    method @Deprecated public void onInvalidCharacter(char);
+    method @Deprecated public void onStart();
+    method @Deprecated public void onStop();
+  }
+
+  @Deprecated public static class LoginFilter.PasswordFilterGMail extends android.text.LoginFilter {
+    ctor @Deprecated public LoginFilter.PasswordFilterGMail();
+    ctor @Deprecated public LoginFilter.PasswordFilterGMail(boolean);
+    method @Deprecated public boolean isAllowed(char);
+  }
+
+  @Deprecated public static class LoginFilter.UsernameFilterGMail extends android.text.LoginFilter {
+    ctor @Deprecated public LoginFilter.UsernameFilterGMail();
+    ctor @Deprecated public LoginFilter.UsernameFilterGMail(boolean);
+    method @Deprecated public boolean isAllowed(char);
+  }
+
+  @Deprecated public static class LoginFilter.UsernameFilterGeneric extends android.text.LoginFilter {
+    ctor @Deprecated public LoginFilter.UsernameFilterGeneric();
+    ctor @Deprecated public LoginFilter.UsernameFilterGeneric(boolean);
+    method @Deprecated public boolean isAllowed(char);
+  }
+
+  public interface NoCopySpan {
+  }
+
+  public static class NoCopySpan.Concrete implements android.text.NoCopySpan {
+    ctor public NoCopySpan.Concrete();
+  }
+
+  public interface ParcelableSpan extends android.os.Parcelable {
+    method public int getSpanTypeId();
+  }
+
+  public class PrecomputedText implements android.text.Spannable {
+    method public char charAt(int);
+    method public static android.text.PrecomputedText create(@NonNull CharSequence, @NonNull android.text.PrecomputedText.Params);
+    method public void getBounds(@IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.graphics.Rect);
+    method @IntRange(from=0) public int getParagraphCount();
+    method @IntRange(from=0) public int getParagraphEnd(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getParagraphStart(@IntRange(from=0) int);
+    method @NonNull public android.text.PrecomputedText.Params getParams();
+    method public int getSpanEnd(Object);
+    method public int getSpanFlags(Object);
+    method public int getSpanStart(Object);
+    method public <T> T[] getSpans(int, int, Class<T>);
+    method @FloatRange(from=0) public float getWidth(@IntRange(from=0) int, @IntRange(from=0) int);
+    method public int length();
+    method public int nextSpanTransition(int, int, Class);
+    method public void removeSpan(Object);
+    method public void setSpan(Object, int, int, int);
+    method public CharSequence subSequence(int, int);
+  }
+
+  public static final class PrecomputedText.Params {
+    method public int getBreakStrategy();
+    method public int getHyphenationFrequency();
+    method @NonNull public android.text.TextDirectionHeuristic getTextDirection();
+    method @NonNull public android.text.TextPaint getTextPaint();
+  }
+
+  public static class PrecomputedText.Params.Builder {
+    ctor public PrecomputedText.Params.Builder(@NonNull android.text.TextPaint);
+    ctor public PrecomputedText.Params.Builder(@NonNull android.text.PrecomputedText.Params);
+    method @NonNull public android.text.PrecomputedText.Params build();
+    method public android.text.PrecomputedText.Params.Builder setBreakStrategy(int);
+    method public android.text.PrecomputedText.Params.Builder setHyphenationFrequency(int);
+    method public android.text.PrecomputedText.Params.Builder setTextDirection(@NonNull android.text.TextDirectionHeuristic);
+  }
+
+  public class Selection {
+    method public static boolean extendDown(android.text.Spannable, android.text.Layout);
+    method public static boolean extendLeft(android.text.Spannable, android.text.Layout);
+    method public static boolean extendRight(android.text.Spannable, android.text.Layout);
+    method public static final void extendSelection(android.text.Spannable, int);
+    method public static boolean extendToLeftEdge(android.text.Spannable, android.text.Layout);
+    method public static boolean extendToRightEdge(android.text.Spannable, android.text.Layout);
+    method public static boolean extendUp(android.text.Spannable, android.text.Layout);
+    method public static final int getSelectionEnd(CharSequence);
+    method public static final int getSelectionStart(CharSequence);
+    method public static boolean moveDown(android.text.Spannable, android.text.Layout);
+    method public static boolean moveLeft(android.text.Spannable, android.text.Layout);
+    method public static boolean moveRight(android.text.Spannable, android.text.Layout);
+    method public static boolean moveToLeftEdge(android.text.Spannable, android.text.Layout);
+    method public static boolean moveToRightEdge(android.text.Spannable, android.text.Layout);
+    method public static boolean moveUp(android.text.Spannable, android.text.Layout);
+    method public static final void removeSelection(android.text.Spannable);
+    method public static final void selectAll(android.text.Spannable);
+    method public static void setSelection(android.text.Spannable, int, int);
+    method public static final void setSelection(android.text.Spannable, int);
+    field public static final Object SELECTION_END;
+    field public static final Object SELECTION_START;
+  }
+
+  public interface SpanWatcher extends android.text.NoCopySpan {
+    method public void onSpanAdded(android.text.Spannable, Object, int, int);
+    method public void onSpanChanged(android.text.Spannable, Object, int, int, int, int);
+    method public void onSpanRemoved(android.text.Spannable, Object, int, int);
+  }
+
+  public interface Spannable extends android.text.Spanned {
+    method public void removeSpan(Object);
+    method public void setSpan(Object, int, int, int);
+  }
+
+  public static class Spannable.Factory {
+    ctor public Spannable.Factory();
+    method public static android.text.Spannable.Factory getInstance();
+    method public android.text.Spannable newSpannable(CharSequence);
+  }
+
+  public class SpannableString implements java.lang.CharSequence android.text.GetChars android.text.Spannable {
+    ctor public SpannableString(CharSequence);
+    method public final char charAt(int);
+    method public final void getChars(int, int, char[], int);
+    method public int getSpanEnd(Object);
+    method public int getSpanFlags(Object);
+    method public int getSpanStart(Object);
+    method public <T> T[] getSpans(int, int, Class<T>);
+    method public final int length();
+    method public int nextSpanTransition(int, int, Class);
+    method public void removeSpan(Object);
+    method public void setSpan(Object, int, int, int);
+    method public final CharSequence subSequence(int, int);
+    method public final String toString();
+    method public static android.text.SpannableString valueOf(CharSequence);
+  }
+
+  public class SpannableStringBuilder implements java.lang.Appendable java.lang.CharSequence android.text.Editable android.text.GetChars android.text.Spannable {
+    ctor public SpannableStringBuilder();
+    ctor public SpannableStringBuilder(CharSequence);
+    ctor public SpannableStringBuilder(CharSequence, int, int);
+    method public android.text.SpannableStringBuilder append(CharSequence);
+    method public android.text.SpannableStringBuilder append(CharSequence, Object, int);
+    method public android.text.SpannableStringBuilder append(CharSequence, int, int);
+    method public android.text.SpannableStringBuilder append(char);
+    method public char charAt(int);
+    method public void clear();
+    method public void clearSpans();
+    method public android.text.SpannableStringBuilder delete(int, int);
+    method public void getChars(int, int, char[], int);
+    method public android.text.InputFilter[] getFilters();
+    method public int getSpanEnd(Object);
+    method public int getSpanFlags(Object);
+    method public int getSpanStart(Object);
+    method public <T> T[] getSpans(int, int, @Nullable Class<T>);
+    method @Deprecated public int getTextRunCursor(int, int, int, int, int, android.graphics.Paint);
+    method public int getTextWatcherDepth();
+    method public android.text.SpannableStringBuilder insert(int, CharSequence, int, int);
+    method public android.text.SpannableStringBuilder insert(int, CharSequence);
+    method public int length();
+    method public int nextSpanTransition(int, int, Class);
+    method public void removeSpan(Object);
+    method public android.text.SpannableStringBuilder replace(int, int, CharSequence);
+    method public android.text.SpannableStringBuilder replace(int, int, CharSequence, int, int);
+    method public void setFilters(android.text.InputFilter[]);
+    method public void setSpan(Object, int, int, int);
+    method public CharSequence subSequence(int, int);
+    method public static android.text.SpannableStringBuilder valueOf(CharSequence);
+  }
+
+  public interface Spanned extends java.lang.CharSequence {
+    method public int getSpanEnd(Object);
+    method public int getSpanFlags(Object);
+    method public int getSpanStart(Object);
+    method public <T> T[] getSpans(int, int, Class<T>);
+    method public int nextSpanTransition(int, int, Class);
+    field public static final int SPAN_COMPOSING = 256; // 0x100
+    field public static final int SPAN_EXCLUSIVE_EXCLUSIVE = 33; // 0x21
+    field public static final int SPAN_EXCLUSIVE_INCLUSIVE = 34; // 0x22
+    field public static final int SPAN_INCLUSIVE_EXCLUSIVE = 17; // 0x11
+    field public static final int SPAN_INCLUSIVE_INCLUSIVE = 18; // 0x12
+    field public static final int SPAN_INTERMEDIATE = 512; // 0x200
+    field public static final int SPAN_MARK_MARK = 17; // 0x11
+    field public static final int SPAN_MARK_POINT = 18; // 0x12
+    field public static final int SPAN_PARAGRAPH = 51; // 0x33
+    field public static final int SPAN_POINT_MARK = 33; // 0x21
+    field public static final int SPAN_POINT_MARK_MASK = 51; // 0x33
+    field public static final int SPAN_POINT_POINT = 34; // 0x22
+    field public static final int SPAN_PRIORITY = 16711680; // 0xff0000
+    field public static final int SPAN_PRIORITY_SHIFT = 16; // 0x10
+    field public static final int SPAN_USER = -16777216; // 0xff000000
+    field public static final int SPAN_USER_SHIFT = 24; // 0x18
+  }
+
+  public final class SpannedString implements java.lang.CharSequence android.text.GetChars android.text.Spanned {
+    ctor public SpannedString(CharSequence);
+    method public final char charAt(int);
+    method public final void getChars(int, int, char[], int);
+    method public int getSpanEnd(Object);
+    method public int getSpanFlags(Object);
+    method public int getSpanStart(Object);
+    method public <T> T[] getSpans(int, int, Class<T>);
+    method public final int length();
+    method public int nextSpanTransition(int, int, Class);
+    method public CharSequence subSequence(int, int);
+    method public static android.text.SpannedString valueOf(CharSequence);
+  }
+
+  public class StaticLayout extends android.text.Layout {
+    ctor @Deprecated public StaticLayout(CharSequence, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean);
+    ctor @Deprecated public StaticLayout(CharSequence, int, int, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean);
+    ctor @Deprecated public StaticLayout(CharSequence, int, int, android.text.TextPaint, int, android.text.Layout.Alignment, float, float, boolean, android.text.TextUtils.TruncateAt, int);
+    method public int getBottomPadding();
+    method public int getEllipsisCount(int);
+    method public int getEllipsisStart(int);
+    method public boolean getLineContainsTab(int);
+    method public int getLineCount();
+    method public int getLineDescent(int);
+    method public final android.text.Layout.Directions getLineDirections(int);
+    method public int getLineStart(int);
+    method public int getLineTop(int);
+    method public int getParagraphDirection(int);
+    method public int getTopPadding();
+  }
+
+  public static final class StaticLayout.Builder {
+    method @NonNull public android.text.StaticLayout build();
+    method @NonNull public static android.text.StaticLayout.Builder obtain(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.text.TextPaint, @IntRange(from=0) int);
+    method @NonNull public android.text.StaticLayout.Builder setAlignment(@NonNull android.text.Layout.Alignment);
+    method @NonNull public android.text.StaticLayout.Builder setBreakStrategy(int);
+    method @NonNull public android.text.StaticLayout.Builder setEllipsize(@Nullable android.text.TextUtils.TruncateAt);
+    method @NonNull public android.text.StaticLayout.Builder setEllipsizedWidth(@IntRange(from=0) int);
+    method @NonNull public android.text.StaticLayout.Builder setHyphenationFrequency(int);
+    method @NonNull public android.text.StaticLayout.Builder setIncludePad(boolean);
+    method @NonNull public android.text.StaticLayout.Builder setIndents(@Nullable int[], @Nullable int[]);
+    method @NonNull public android.text.StaticLayout.Builder setJustificationMode(int);
+    method @NonNull public android.text.StaticLayout.Builder setLineSpacing(float, @FloatRange(from=0.0) float);
+    method @NonNull public android.text.StaticLayout.Builder setMaxLines(@IntRange(from=0) int);
+    method public android.text.StaticLayout.Builder setText(CharSequence);
+    method @NonNull public android.text.StaticLayout.Builder setTextDirection(@NonNull android.text.TextDirectionHeuristic);
+    method @NonNull public android.text.StaticLayout.Builder setUseLineSpacingFromFallbacks(boolean);
+  }
+
+  public interface TextDirectionHeuristic {
+    method public boolean isRtl(char[], int, int);
+    method public boolean isRtl(CharSequence, int, int);
+  }
+
+  public class TextDirectionHeuristics {
+    ctor public TextDirectionHeuristics();
+    field public static final android.text.TextDirectionHeuristic ANYRTL_LTR;
+    field public static final android.text.TextDirectionHeuristic FIRSTSTRONG_LTR;
+    field public static final android.text.TextDirectionHeuristic FIRSTSTRONG_RTL;
+    field public static final android.text.TextDirectionHeuristic LOCALE;
+    field public static final android.text.TextDirectionHeuristic LTR;
+    field public static final android.text.TextDirectionHeuristic RTL;
+  }
+
+  public class TextPaint extends android.graphics.Paint {
+    ctor public TextPaint();
+    ctor public TextPaint(int);
+    ctor public TextPaint(android.graphics.Paint);
+    method public void set(android.text.TextPaint);
+    field public int baselineShift;
+    field @ColorInt public int bgColor;
+    field public float density;
+    field public int[] drawableState;
+    field @ColorInt public int linkColor;
+    field @ColorInt public int underlineColor;
+    field @Px public float underlineThickness;
+  }
+
+  public class TextShaper {
+    method public static void shapeText(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.text.TextDirectionHeuristic, @NonNull android.text.TextPaint, @NonNull android.text.TextShaper.GlyphsConsumer);
+  }
+
+  public static interface TextShaper.GlyphsConsumer {
+    method public void accept(@IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.graphics.text.PositionedGlyphs, @NonNull android.text.TextPaint);
+  }
+
+  public class TextUtils {
+    method @Deprecated public static CharSequence commaEllipsize(CharSequence, android.text.TextPaint, float, String, String);
+    method public static CharSequence concat(java.lang.CharSequence...);
+    method public static void copySpansFrom(android.text.Spanned, int, int, Class, android.text.Spannable, int);
+    method public static void dumpSpans(CharSequence, android.util.Printer, String);
+    method public static CharSequence ellipsize(CharSequence, android.text.TextPaint, float, android.text.TextUtils.TruncateAt);
+    method public static CharSequence ellipsize(CharSequence, android.text.TextPaint, float, android.text.TextUtils.TruncateAt, boolean, @Nullable android.text.TextUtils.EllipsizeCallback);
+    method public static boolean equals(CharSequence, CharSequence);
+    method public static CharSequence expandTemplate(CharSequence, java.lang.CharSequence...);
+    method public static int getCapsMode(CharSequence, int, int);
+    method public static void getChars(CharSequence, int, int, char[], int);
+    method public static int getLayoutDirectionFromLocale(java.util.Locale);
+    method public static int getOffsetAfter(CharSequence, int);
+    method public static int getOffsetBefore(CharSequence, int);
+    method @Deprecated public static CharSequence getReverse(CharSequence, int, int);
+    method public static int getTrimmedLength(CharSequence);
+    method public static String htmlEncode(String);
+    method public static int indexOf(CharSequence, char);
+    method public static int indexOf(CharSequence, char, int);
+    method public static int indexOf(CharSequence, char, int, int);
+    method public static int indexOf(CharSequence, CharSequence);
+    method public static int indexOf(CharSequence, CharSequence, int);
+    method public static int indexOf(CharSequence, CharSequence, int, int);
+    method public static boolean isDigitsOnly(CharSequence);
+    method public static boolean isEmpty(@Nullable CharSequence);
+    method public static boolean isGraphic(CharSequence);
+    method @Deprecated public static boolean isGraphic(char);
+    method public static String join(@NonNull CharSequence, @NonNull Object[]);
+    method public static String join(@NonNull CharSequence, @NonNull Iterable);
+    method public static int lastIndexOf(CharSequence, char);
+    method public static int lastIndexOf(CharSequence, char, int);
+    method public static int lastIndexOf(CharSequence, char, int, int);
+    method public static CharSequence listEllipsize(@Nullable android.content.Context, @Nullable java.util.List<java.lang.CharSequence>, @NonNull String, @NonNull android.text.TextPaint, @FloatRange(from=0.0, fromInclusive=false) float, @PluralsRes int);
+    method @NonNull public static CharSequence makeSafeForPresentation(@NonNull String, @IntRange(from=0) int, @FloatRange(from=0) float, int);
+    method public static boolean regionMatches(CharSequence, int, CharSequence, int, int);
+    method public static CharSequence replace(CharSequence, String[], CharSequence[]);
+    method public static String[] split(String, String);
+    method public static String[] split(String, java.util.regex.Pattern);
+    method public static CharSequence stringOrSpannedString(CharSequence);
+    method public static String substring(CharSequence, int, int);
+    method public static void writeToParcel(@Nullable CharSequence, @NonNull android.os.Parcel, int);
+    field public static final int CAP_MODE_CHARACTERS = 4096; // 0x1000
+    field public static final int CAP_MODE_SENTENCES = 16384; // 0x4000
+    field public static final int CAP_MODE_WORDS = 8192; // 0x2000
+    field public static final android.os.Parcelable.Creator<java.lang.CharSequence> CHAR_SEQUENCE_CREATOR;
+    field public static final int SAFE_STRING_FLAG_FIRST_LINE = 4; // 0x4
+    field public static final int SAFE_STRING_FLAG_SINGLE_LINE = 2; // 0x2
+    field public static final int SAFE_STRING_FLAG_TRIM = 1; // 0x1
+  }
+
+  public static interface TextUtils.EllipsizeCallback {
+    method public void ellipsized(int, int);
+  }
+
+  public static class TextUtils.SimpleStringSplitter implements java.util.Iterator<java.lang.String> android.text.TextUtils.StringSplitter {
+    ctor public TextUtils.SimpleStringSplitter(char);
+    method public boolean hasNext();
+    method public java.util.Iterator<java.lang.String> iterator();
+    method public String next();
+    method public void setString(String);
+  }
+
+  public static interface TextUtils.StringSplitter extends java.lang.Iterable<java.lang.String> {
+    method public void setString(String);
+  }
+
+  public enum TextUtils.TruncateAt {
+    enum_constant public static final android.text.TextUtils.TruncateAt END;
+    enum_constant public static final android.text.TextUtils.TruncateAt MARQUEE;
+    enum_constant public static final android.text.TextUtils.TruncateAt MIDDLE;
+    enum_constant public static final android.text.TextUtils.TruncateAt START;
+  }
+
+  public interface TextWatcher extends android.text.NoCopySpan {
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public void onTextChanged(CharSequence, int, int, int);
+  }
+
+}
+
+package android.text.format {
+
+  public class DateFormat {
+    ctor public DateFormat();
+    method public static CharSequence format(CharSequence, long);
+    method public static CharSequence format(CharSequence, java.util.Date);
+    method public static CharSequence format(CharSequence, java.util.Calendar);
+    method public static String getBestDateTimePattern(java.util.Locale, String);
+    method public static java.text.DateFormat getDateFormat(android.content.Context);
+    method public static char[] getDateFormatOrder(android.content.Context);
+    method public static java.text.DateFormat getLongDateFormat(android.content.Context);
+    method public static java.text.DateFormat getMediumDateFormat(android.content.Context);
+    method public static java.text.DateFormat getTimeFormat(android.content.Context);
+    method public static boolean is24HourFormat(android.content.Context);
+  }
+
+  public class DateUtils {
+    ctor public DateUtils();
+    method public static String formatDateRange(android.content.Context, long, long, int);
+    method public static java.util.Formatter formatDateRange(android.content.Context, java.util.Formatter, long, long, int);
+    method public static java.util.Formatter formatDateRange(android.content.Context, java.util.Formatter, long, long, int, String);
+    method public static String formatDateTime(android.content.Context, long, int);
+    method public static String formatElapsedTime(long);
+    method public static String formatElapsedTime(StringBuilder, long);
+    method public static final CharSequence formatSameDayTime(long, long, int, int);
+    method @Deprecated public static String getAMPMString(int);
+    method @Deprecated public static String getDayOfWeekString(int, int);
+    method @Deprecated public static String getMonthString(int, int);
+    method public static CharSequence getRelativeDateTimeString(android.content.Context, long, long, long, int);
+    method public static CharSequence getRelativeTimeSpanString(long);
+    method public static CharSequence getRelativeTimeSpanString(long, long, long);
+    method public static CharSequence getRelativeTimeSpanString(long, long, long, int);
+    method public static CharSequence getRelativeTimeSpanString(android.content.Context, long, boolean);
+    method public static CharSequence getRelativeTimeSpanString(android.content.Context, long);
+    method public static boolean isToday(long);
+    field @Deprecated public static final String ABBREV_MONTH_FORMAT = "%b";
+    field public static final String ABBREV_WEEKDAY_FORMAT = "%a";
+    field public static final long DAY_IN_MILLIS = 86400000L; // 0x5265c00L
+    field @Deprecated public static final int FORMAT_12HOUR = 64; // 0x40
+    field @Deprecated public static final int FORMAT_24HOUR = 128; // 0x80
+    field public static final int FORMAT_ABBREV_ALL = 524288; // 0x80000
+    field public static final int FORMAT_ABBREV_MONTH = 65536; // 0x10000
+    field public static final int FORMAT_ABBREV_RELATIVE = 262144; // 0x40000
+    field public static final int FORMAT_ABBREV_TIME = 16384; // 0x4000
+    field public static final int FORMAT_ABBREV_WEEKDAY = 32768; // 0x8000
+    field @Deprecated public static final int FORMAT_CAP_AMPM = 256; // 0x100
+    field @Deprecated public static final int FORMAT_CAP_MIDNIGHT = 4096; // 0x1000
+    field @Deprecated public static final int FORMAT_CAP_NOON = 1024; // 0x400
+    field @Deprecated public static final int FORMAT_CAP_NOON_MIDNIGHT = 5120; // 0x1400
+    field public static final int FORMAT_NO_MIDNIGHT = 2048; // 0x800
+    field public static final int FORMAT_NO_MONTH_DAY = 32; // 0x20
+    field public static final int FORMAT_NO_NOON = 512; // 0x200
+    field @Deprecated public static final int FORMAT_NO_NOON_MIDNIGHT = 2560; // 0xa00
+    field public static final int FORMAT_NO_YEAR = 8; // 0x8
+    field public static final int FORMAT_NUMERIC_DATE = 131072; // 0x20000
+    field public static final int FORMAT_SHOW_DATE = 16; // 0x10
+    field public static final int FORMAT_SHOW_TIME = 1; // 0x1
+    field public static final int FORMAT_SHOW_WEEKDAY = 2; // 0x2
+    field public static final int FORMAT_SHOW_YEAR = 4; // 0x4
+    field @Deprecated public static final int FORMAT_UTC = 8192; // 0x2000
+    field public static final long HOUR_IN_MILLIS = 3600000L; // 0x36ee80L
+    field @Deprecated public static final String HOUR_MINUTE_24 = "%H:%M";
+    field @Deprecated public static final int LENGTH_LONG = 10; // 0xa
+    field @Deprecated public static final int LENGTH_MEDIUM = 20; // 0x14
+    field @Deprecated public static final int LENGTH_SHORT = 30; // 0x1e
+    field @Deprecated public static final int LENGTH_SHORTER = 40; // 0x28
+    field @Deprecated public static final int LENGTH_SHORTEST = 50; // 0x32
+    field public static final long MINUTE_IN_MILLIS = 60000L; // 0xea60L
+    field public static final String MONTH_DAY_FORMAT = "%-d";
+    field public static final String MONTH_FORMAT = "%B";
+    field public static final String NUMERIC_MONTH_FORMAT = "%m";
+    field public static final long SECOND_IN_MILLIS = 1000L; // 0x3e8L
+    field public static final String WEEKDAY_FORMAT = "%A";
+    field public static final long WEEK_IN_MILLIS = 604800000L; // 0x240c8400L
+    field public static final String YEAR_FORMAT = "%Y";
+    field public static final String YEAR_FORMAT_TWO_DIGITS = "%g";
+    field @Deprecated public static final long YEAR_IN_MILLIS = 31449600000L; // 0x7528ad000L
+    field @Deprecated public static final int[] sameMonthTable;
+    field @Deprecated public static final int[] sameYearTable;
+  }
+
+  public final class Formatter {
+    ctor public Formatter();
+    method public static String formatFileSize(@Nullable android.content.Context, long);
+    method @Deprecated public static String formatIpAddress(int);
+    method public static String formatShortFileSize(@Nullable android.content.Context, long);
+  }
+
+  @Deprecated public class Time {
+    ctor @Deprecated public Time(String);
+    ctor @Deprecated public Time();
+    ctor @Deprecated public Time(android.text.format.Time);
+    method @Deprecated public boolean after(android.text.format.Time);
+    method @Deprecated public boolean before(android.text.format.Time);
+    method @Deprecated public void clear(String);
+    method @Deprecated public static int compare(android.text.format.Time, android.text.format.Time);
+    method @Deprecated public String format(String);
+    method @Deprecated public String format2445();
+    method @Deprecated public String format3339(boolean);
+    method @Deprecated public int getActualMaximum(int);
+    method @Deprecated public static String getCurrentTimezone();
+    method @Deprecated public static int getJulianDay(long, long);
+    method @Deprecated public static int getJulianMondayFromWeeksSinceEpoch(int);
+    method @Deprecated public int getWeekNumber();
+    method @Deprecated public static int getWeeksSinceEpochFromJulianDay(int, int);
+    method @Deprecated public static boolean isEpoch(android.text.format.Time);
+    method @Deprecated public long normalize(boolean);
+    method @Deprecated public boolean parse(String);
+    method @Deprecated public boolean parse3339(String);
+    method @Deprecated public void set(long);
+    method @Deprecated public void set(android.text.format.Time);
+    method @Deprecated public void set(int, int, int, int, int, int);
+    method @Deprecated public void set(int, int, int);
+    method @Deprecated public long setJulianDay(int);
+    method @Deprecated public void setToNow();
+    method @Deprecated public void switchTimezone(String);
+    method @Deprecated public long toMillis(boolean);
+    field @Deprecated public static final int EPOCH_JULIAN_DAY = 2440588; // 0x253d8c
+    field @Deprecated public static final int FRIDAY = 5; // 0x5
+    field @Deprecated public static final int HOUR = 3; // 0x3
+    field @Deprecated public static final int MINUTE = 2; // 0x2
+    field @Deprecated public static final int MONDAY = 1; // 0x1
+    field @Deprecated public static final int MONDAY_BEFORE_JULIAN_EPOCH = 2440585; // 0x253d89
+    field @Deprecated public static final int MONTH = 5; // 0x5
+    field @Deprecated public static final int MONTH_DAY = 4; // 0x4
+    field @Deprecated public static final int SATURDAY = 6; // 0x6
+    field @Deprecated public static final int SECOND = 1; // 0x1
+    field @Deprecated public static final int SUNDAY = 0; // 0x0
+    field @Deprecated public static final int THURSDAY = 4; // 0x4
+    field @Deprecated public static final String TIMEZONE_UTC = "UTC";
+    field @Deprecated public static final int TUESDAY = 2; // 0x2
+    field @Deprecated public static final int WEDNESDAY = 3; // 0x3
+    field @Deprecated public static final int WEEK_DAY = 7; // 0x7
+    field @Deprecated public static final int WEEK_NUM = 9; // 0x9
+    field @Deprecated public static final int YEAR = 6; // 0x6
+    field @Deprecated public static final int YEAR_DAY = 8; // 0x8
+    field @Deprecated public boolean allDay;
+    field @Deprecated public long gmtoff;
+    field @Deprecated public int hour;
+    field @Deprecated public int isDst;
+    field @Deprecated public int minute;
+    field @Deprecated public int month;
+    field @Deprecated public int monthDay;
+    field @Deprecated public int second;
+    field @Deprecated public String timezone;
+    field @Deprecated public int weekDay;
+    field @Deprecated public int year;
+    field @Deprecated public int yearDay;
+  }
+
+}
+
+package android.text.method {
+
+  public class ArrowKeyMovementMethod extends android.text.method.BaseMovementMethod implements android.text.method.MovementMethod {
+    ctor public ArrowKeyMovementMethod();
+    method public static android.text.method.MovementMethod getInstance();
+  }
+
+  public abstract class BaseKeyListener extends android.text.method.MetaKeyKeyListener implements android.text.method.KeyListener {
+    ctor public BaseKeyListener();
+    method public boolean backspace(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+    method public boolean forwardDelete(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+    method public boolean onKeyOther(android.view.View, android.text.Editable, android.view.KeyEvent);
+  }
+
+  public class BaseMovementMethod implements android.text.method.MovementMethod {
+    ctor public BaseMovementMethod();
+    method protected boolean bottom(android.widget.TextView, android.text.Spannable);
+    method public boolean canSelectArbitrarily();
+    method protected boolean down(android.widget.TextView, android.text.Spannable);
+    method protected boolean end(android.widget.TextView, android.text.Spannable);
+    method protected int getMovementMetaState(android.text.Spannable, android.view.KeyEvent);
+    method protected boolean handleMovementKey(android.widget.TextView, android.text.Spannable, int, int, android.view.KeyEvent);
+    method protected boolean home(android.widget.TextView, android.text.Spannable);
+    method public void initialize(android.widget.TextView, android.text.Spannable);
+    method protected boolean left(android.widget.TextView, android.text.Spannable);
+    method protected boolean lineEnd(android.widget.TextView, android.text.Spannable);
+    method protected boolean lineStart(android.widget.TextView, android.text.Spannable);
+    method public boolean onGenericMotionEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method public boolean onKeyDown(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+    method public boolean onKeyOther(android.widget.TextView, android.text.Spannable, android.view.KeyEvent);
+    method public boolean onKeyUp(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+    method public void onTakeFocus(android.widget.TextView, android.text.Spannable, int);
+    method public boolean onTouchEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method protected boolean pageDown(android.widget.TextView, android.text.Spannable);
+    method protected boolean pageUp(android.widget.TextView, android.text.Spannable);
+    method protected boolean right(android.widget.TextView, android.text.Spannable);
+    method protected boolean top(android.widget.TextView, android.text.Spannable);
+    method protected boolean up(android.widget.TextView, android.text.Spannable);
+  }
+
+  public class CharacterPickerDialog extends android.app.Dialog implements android.widget.AdapterView.OnItemClickListener android.view.View.OnClickListener {
+    ctor public CharacterPickerDialog(android.content.Context, android.view.View, android.text.Editable, String, boolean);
+    method public void onClick(android.view.View);
+    method public void onItemClick(android.widget.AdapterView, android.view.View, int, long);
+  }
+
+  public class DateKeyListener extends android.text.method.NumberKeyListener {
+    ctor @Deprecated public DateKeyListener();
+    ctor public DateKeyListener(@Nullable java.util.Locale);
+    method @NonNull protected char[] getAcceptedChars();
+    method public int getInputType();
+    method @Deprecated @NonNull public static android.text.method.DateKeyListener getInstance();
+    method @NonNull public static android.text.method.DateKeyListener getInstance(@Nullable java.util.Locale);
+    field @Deprecated public static final char[] CHARACTERS;
+  }
+
+  public class DateTimeKeyListener extends android.text.method.NumberKeyListener {
+    ctor @Deprecated public DateTimeKeyListener();
+    ctor public DateTimeKeyListener(@Nullable java.util.Locale);
+    method @NonNull protected char[] getAcceptedChars();
+    method public int getInputType();
+    method @Deprecated @NonNull public static android.text.method.DateTimeKeyListener getInstance();
+    method @NonNull public static android.text.method.DateTimeKeyListener getInstance(@Nullable java.util.Locale);
+    field @Deprecated public static final char[] CHARACTERS;
+  }
+
+  public class DialerKeyListener extends android.text.method.NumberKeyListener {
+    ctor public DialerKeyListener();
+    method protected char[] getAcceptedChars();
+    method public int getInputType();
+    method public static android.text.method.DialerKeyListener getInstance();
+    field public static final char[] CHARACTERS;
+  }
+
+  public class DigitsKeyListener extends android.text.method.NumberKeyListener {
+    ctor @Deprecated public DigitsKeyListener();
+    ctor @Deprecated public DigitsKeyListener(boolean, boolean);
+    ctor public DigitsKeyListener(@Nullable java.util.Locale);
+    ctor public DigitsKeyListener(@Nullable java.util.Locale, boolean, boolean);
+    method protected char[] getAcceptedChars();
+    method public int getInputType();
+    method @Deprecated @NonNull public static android.text.method.DigitsKeyListener getInstance();
+    method @Deprecated @NonNull public static android.text.method.DigitsKeyListener getInstance(boolean, boolean);
+    method @NonNull public static android.text.method.DigitsKeyListener getInstance(@Nullable java.util.Locale);
+    method @NonNull public static android.text.method.DigitsKeyListener getInstance(@Nullable java.util.Locale, boolean, boolean);
+    method @NonNull public static android.text.method.DigitsKeyListener getInstance(@NonNull String);
+  }
+
+  public class HideReturnsTransformationMethod extends android.text.method.ReplacementTransformationMethod {
+    ctor public HideReturnsTransformationMethod();
+    method public static android.text.method.HideReturnsTransformationMethod getInstance();
+    method protected char[] getOriginal();
+    method protected char[] getReplacement();
+  }
+
+  public interface KeyListener {
+    method public void clearMetaKeyState(android.view.View, android.text.Editable, int);
+    method public int getInputType();
+    method public boolean onKeyDown(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+    method public boolean onKeyOther(android.view.View, android.text.Editable, android.view.KeyEvent);
+    method public boolean onKeyUp(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+  }
+
+  public class LinkMovementMethod extends android.text.method.ScrollingMovementMethod {
+    ctor public LinkMovementMethod();
+    method public static android.text.method.MovementMethod getInstance();
+  }
+
+  public abstract class MetaKeyKeyListener {
+    ctor public MetaKeyKeyListener();
+    method public static void adjustMetaAfterKeypress(android.text.Spannable);
+    method public static long adjustMetaAfterKeypress(long);
+    method public void clearMetaKeyState(android.view.View, android.text.Editable, int);
+    method public static void clearMetaKeyState(android.text.Editable, int);
+    method public long clearMetaKeyState(long, int);
+    method public static final int getMetaState(CharSequence);
+    method public static final int getMetaState(CharSequence, android.view.KeyEvent);
+    method public static final int getMetaState(CharSequence, int);
+    method public static final int getMetaState(CharSequence, int, android.view.KeyEvent);
+    method public static final int getMetaState(long);
+    method public static final int getMetaState(long, int);
+    method public static long handleKeyDown(long, int, android.view.KeyEvent);
+    method public static long handleKeyUp(long, int, android.view.KeyEvent);
+    method public static boolean isMetaTracker(CharSequence, Object);
+    method public static boolean isSelectingMetaTracker(CharSequence, Object);
+    method public boolean onKeyDown(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+    method public boolean onKeyUp(android.view.View, android.text.Editable, int, android.view.KeyEvent);
+    method protected static void resetLockedMeta(android.text.Spannable);
+    method public static long resetLockedMeta(long);
+    method public static void resetMetaState(android.text.Spannable);
+    field public static final int META_ALT_LOCKED = 512; // 0x200
+    field public static final int META_ALT_ON = 2; // 0x2
+    field public static final int META_CAP_LOCKED = 256; // 0x100
+    field public static final int META_SHIFT_ON = 1; // 0x1
+    field public static final int META_SYM_LOCKED = 1024; // 0x400
+    field public static final int META_SYM_ON = 4; // 0x4
+  }
+
+  public interface MovementMethod {
+    method public boolean canSelectArbitrarily();
+    method public void initialize(android.widget.TextView, android.text.Spannable);
+    method public boolean onGenericMotionEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method public boolean onKeyDown(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+    method public boolean onKeyOther(android.widget.TextView, android.text.Spannable, android.view.KeyEvent);
+    method public boolean onKeyUp(android.widget.TextView, android.text.Spannable, int, android.view.KeyEvent);
+    method public void onTakeFocus(android.widget.TextView, android.text.Spannable, int);
+    method public boolean onTouchEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+  }
+
+  public class MultiTapKeyListener extends android.text.method.BaseKeyListener implements android.text.SpanWatcher {
+    ctor public MultiTapKeyListener(android.text.method.TextKeyListener.Capitalize, boolean);
+    method public int getInputType();
+    method public static android.text.method.MultiTapKeyListener getInstance(boolean, android.text.method.TextKeyListener.Capitalize);
+    method public void onSpanAdded(android.text.Spannable, Object, int, int);
+    method public void onSpanChanged(android.text.Spannable, Object, int, int, int, int);
+    method public void onSpanRemoved(android.text.Spannable, Object, int, int);
+  }
+
+  public abstract class NumberKeyListener extends android.text.method.BaseKeyListener implements android.text.InputFilter {
+    ctor public NumberKeyListener();
+    method public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
+    method @NonNull protected abstract char[] getAcceptedChars();
+    method protected int lookup(android.view.KeyEvent, android.text.Spannable);
+    method protected static boolean ok(char[], char);
+  }
+
+  public class PasswordTransformationMethod implements android.text.TextWatcher android.text.method.TransformationMethod {
+    ctor public PasswordTransformationMethod();
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public static android.text.method.PasswordTransformationMethod getInstance();
+    method public CharSequence getTransformation(CharSequence, android.view.View);
+    method public void onFocusChanged(android.view.View, CharSequence, boolean, int, android.graphics.Rect);
+    method public void onTextChanged(CharSequence, int, int, int);
+  }
+
+  public class QwertyKeyListener extends android.text.method.BaseKeyListener {
+    ctor public QwertyKeyListener(android.text.method.TextKeyListener.Capitalize, boolean);
+    method public int getInputType();
+    method public static android.text.method.QwertyKeyListener getInstance(boolean, android.text.method.TextKeyListener.Capitalize);
+    method public static android.text.method.QwertyKeyListener getInstanceForFullKeyboard();
+    method public static void markAsReplaced(android.text.Spannable, int, int, String);
+  }
+
+  public abstract class ReplacementTransformationMethod implements android.text.method.TransformationMethod {
+    ctor public ReplacementTransformationMethod();
+    method protected abstract char[] getOriginal();
+    method protected abstract char[] getReplacement();
+    method public CharSequence getTransformation(CharSequence, android.view.View);
+    method public void onFocusChanged(android.view.View, CharSequence, boolean, int, android.graphics.Rect);
+  }
+
+  public class ScrollingMovementMethod extends android.text.method.BaseMovementMethod implements android.text.method.MovementMethod {
+    ctor public ScrollingMovementMethod();
+    method public static android.text.method.MovementMethod getInstance();
+  }
+
+  public class SingleLineTransformationMethod extends android.text.method.ReplacementTransformationMethod {
+    ctor public SingleLineTransformationMethod();
+    method public static android.text.method.SingleLineTransformationMethod getInstance();
+    method protected char[] getOriginal();
+    method protected char[] getReplacement();
+  }
+
+  public class TextKeyListener extends android.text.method.BaseKeyListener implements android.text.SpanWatcher {
+    ctor public TextKeyListener(android.text.method.TextKeyListener.Capitalize, boolean);
+    method public static void clear(android.text.Editable);
+    method public int getInputType();
+    method public static android.text.method.TextKeyListener getInstance(boolean, android.text.method.TextKeyListener.Capitalize);
+    method public static android.text.method.TextKeyListener getInstance();
+    method public void onSpanAdded(android.text.Spannable, Object, int, int);
+    method public void onSpanChanged(android.text.Spannable, Object, int, int, int, int);
+    method public void onSpanRemoved(android.text.Spannable, Object, int, int);
+    method public void release();
+    method public static boolean shouldCap(android.text.method.TextKeyListener.Capitalize, CharSequence, int);
+  }
+
+  public enum TextKeyListener.Capitalize {
+    enum_constant public static final android.text.method.TextKeyListener.Capitalize CHARACTERS;
+    enum_constant public static final android.text.method.TextKeyListener.Capitalize NONE;
+    enum_constant public static final android.text.method.TextKeyListener.Capitalize SENTENCES;
+    enum_constant public static final android.text.method.TextKeyListener.Capitalize WORDS;
+  }
+
+  public class TimeKeyListener extends android.text.method.NumberKeyListener {
+    ctor @Deprecated public TimeKeyListener();
+    ctor public TimeKeyListener(@Nullable java.util.Locale);
+    method @NonNull protected char[] getAcceptedChars();
+    method public int getInputType();
+    method @Deprecated @NonNull public static android.text.method.TimeKeyListener getInstance();
+    method @NonNull public static android.text.method.TimeKeyListener getInstance(@Nullable java.util.Locale);
+    field @Deprecated public static final char[] CHARACTERS;
+  }
+
+  public class Touch {
+    method public static int getInitialScrollX(android.widget.TextView, android.text.Spannable);
+    method public static int getInitialScrollY(android.widget.TextView, android.text.Spannable);
+    method public static boolean onTouchEvent(android.widget.TextView, android.text.Spannable, android.view.MotionEvent);
+    method public static void scrollTo(android.widget.TextView, android.text.Layout, int, int);
+  }
+
+  public interface TransformationMethod {
+    method public CharSequence getTransformation(CharSequence, android.view.View);
+    method public void onFocusChanged(android.view.View, CharSequence, boolean, int, android.graphics.Rect);
+  }
+
+}
+
+package android.text.style {
+
+  public class AbsoluteSizeSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public AbsoluteSizeSpan(int);
+    ctor public AbsoluteSizeSpan(int, boolean);
+    ctor public AbsoluteSizeSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public boolean getDip();
+    method public int getSize();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void updateMeasureState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public interface AlignmentSpan extends android.text.style.ParagraphStyle {
+    method public android.text.Layout.Alignment getAlignment();
+  }
+
+  public static class AlignmentSpan.Standard implements android.text.style.AlignmentSpan android.text.ParcelableSpan {
+    ctor public AlignmentSpan.Standard(@NonNull android.text.Layout.Alignment);
+    ctor public AlignmentSpan.Standard(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public android.text.Layout.Alignment getAlignment();
+    method public int getSpanTypeId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class BackgroundColorSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+    ctor public BackgroundColorSpan(@ColorInt int);
+    ctor public BackgroundColorSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method @ColorInt public int getBackgroundColor();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class BulletSpan implements android.text.style.LeadingMarginSpan android.text.ParcelableSpan {
+    ctor public BulletSpan();
+    ctor public BulletSpan(int);
+    ctor public BulletSpan(int, @ColorInt int);
+    ctor public BulletSpan(int, @ColorInt int, @IntRange(from=0) int);
+    ctor public BulletSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public void drawLeadingMargin(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, int, int, int, int, int, @NonNull CharSequence, int, int, boolean, @Nullable android.text.Layout);
+    method public int getBulletRadius();
+    method public int getColor();
+    method public int getGapWidth();
+    method public int getLeadingMargin(boolean);
+    method public int getSpanTypeId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int STANDARD_GAP_WIDTH = 2; // 0x2
+  }
+
+  public abstract class CharacterStyle {
+    ctor public CharacterStyle();
+    method public android.text.style.CharacterStyle getUnderlying();
+    method public abstract void updateDrawState(android.text.TextPaint);
+    method public static android.text.style.CharacterStyle wrap(android.text.style.CharacterStyle);
+  }
+
+  public abstract class ClickableSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
+    ctor public ClickableSpan();
+    method public abstract void onClick(@NonNull android.view.View);
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+  }
+
+  public class DrawableMarginSpan implements android.text.style.LeadingMarginSpan android.text.style.LineHeightSpan {
+    ctor public DrawableMarginSpan(@NonNull android.graphics.drawable.Drawable);
+    ctor public DrawableMarginSpan(@NonNull android.graphics.drawable.Drawable, int);
+    method public void chooseHeight(@NonNull CharSequence, int, int, int, int, @NonNull android.graphics.Paint.FontMetricsInt);
+    method public void drawLeadingMargin(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, int, int, int, int, int, @NonNull CharSequence, int, int, boolean, @NonNull android.text.Layout);
+    method public int getLeadingMargin(boolean);
+  }
+
+  public abstract class DynamicDrawableSpan extends android.text.style.ReplacementSpan {
+    ctor public DynamicDrawableSpan();
+    ctor protected DynamicDrawableSpan(int);
+    method public void draw(@NonNull android.graphics.Canvas, CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, float, int, int, int, @NonNull android.graphics.Paint);
+    method public abstract android.graphics.drawable.Drawable getDrawable();
+    method public int getSize(@NonNull android.graphics.Paint, CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @Nullable android.graphics.Paint.FontMetricsInt);
+    method public int getVerticalAlignment();
+    field public static final int ALIGN_BASELINE = 1; // 0x1
+    field public static final int ALIGN_BOTTOM = 0; // 0x0
+    field public static final int ALIGN_CENTER = 2; // 0x2
+    field protected final int mVerticalAlignment;
+  }
+
+  public class EasyEditSpan implements android.text.ParcelableSpan {
+    ctor public EasyEditSpan();
+    ctor public EasyEditSpan(android.app.PendingIntent);
+    ctor public EasyEditSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final String EXTRA_TEXT_CHANGED_TYPE = "android.text.style.EXTRA_TEXT_CHANGED_TYPE";
+    field public static final int TEXT_DELETED = 1; // 0x1
+    field public static final int TEXT_MODIFIED = 2; // 0x2
+  }
+
+  public class ForegroundColorSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+    ctor public ForegroundColorSpan(@ColorInt int);
+    ctor public ForegroundColorSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method @ColorInt public int getForegroundColor();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class IconMarginSpan implements android.text.style.LeadingMarginSpan android.text.style.LineHeightSpan {
+    ctor public IconMarginSpan(@NonNull android.graphics.Bitmap);
+    ctor public IconMarginSpan(@NonNull android.graphics.Bitmap, @IntRange(from=0) int);
+    method public void chooseHeight(CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
+    method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, CharSequence, int, int, boolean, android.text.Layout);
+    method public int getLeadingMargin(boolean);
+  }
+
+  public class ImageSpan extends android.text.style.DynamicDrawableSpan {
+    ctor @Deprecated public ImageSpan(@NonNull android.graphics.Bitmap);
+    ctor @Deprecated public ImageSpan(@NonNull android.graphics.Bitmap, int);
+    ctor public ImageSpan(@NonNull android.content.Context, @NonNull android.graphics.Bitmap);
+    ctor public ImageSpan(@NonNull android.content.Context, @NonNull android.graphics.Bitmap, int);
+    ctor public ImageSpan(@NonNull android.graphics.drawable.Drawable);
+    ctor public ImageSpan(@NonNull android.graphics.drawable.Drawable, int);
+    ctor public ImageSpan(@NonNull android.graphics.drawable.Drawable, @NonNull String);
+    ctor public ImageSpan(@NonNull android.graphics.drawable.Drawable, @NonNull String, int);
+    ctor public ImageSpan(@NonNull android.content.Context, @NonNull android.net.Uri);
+    ctor public ImageSpan(@NonNull android.content.Context, @NonNull android.net.Uri, int);
+    ctor public ImageSpan(@NonNull android.content.Context, @DrawableRes int);
+    ctor public ImageSpan(@NonNull android.content.Context, @DrawableRes int, int);
+    method public android.graphics.drawable.Drawable getDrawable();
+    method @Nullable public String getSource();
+  }
+
+  public interface LeadingMarginSpan extends android.text.style.ParagraphStyle {
+    method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, CharSequence, int, int, boolean, android.text.Layout);
+    method public int getLeadingMargin(boolean);
+  }
+
+  public static interface LeadingMarginSpan.LeadingMarginSpan2 extends android.text.style.LeadingMarginSpan android.text.style.WrapTogetherSpan {
+    method public int getLeadingMarginLineCount();
+  }
+
+  public static class LeadingMarginSpan.Standard implements android.text.style.LeadingMarginSpan android.text.ParcelableSpan {
+    ctor public LeadingMarginSpan.Standard(int, int);
+    ctor public LeadingMarginSpan.Standard(int);
+    ctor public LeadingMarginSpan.Standard(android.os.Parcel);
+    method public int describeContents();
+    method public void drawLeadingMargin(android.graphics.Canvas, android.graphics.Paint, int, int, int, int, int, CharSequence, int, int, boolean, android.text.Layout);
+    method public int getLeadingMargin(boolean);
+    method public int getSpanTypeId();
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public interface LineBackgroundSpan extends android.text.style.ParagraphStyle {
+    method public void drawBackground(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, @Px int, @Px int, @Px int, @Px int, @Px int, @NonNull CharSequence, int, int, int);
+  }
+
+  public static class LineBackgroundSpan.Standard implements android.text.style.LineBackgroundSpan android.text.ParcelableSpan {
+    ctor public LineBackgroundSpan.Standard(@ColorInt int);
+    ctor public LineBackgroundSpan.Standard(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public void drawBackground(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, @Px int, @Px int, @Px int, @Px int, @Px int, @NonNull CharSequence, int, int, int);
+    method @ColorInt public final int getColor();
+    method public int getSpanTypeId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public interface LineHeightSpan extends android.text.style.ParagraphStyle android.text.style.WrapTogetherSpan {
+    method public void chooseHeight(CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
+  }
+
+  public static class LineHeightSpan.Standard implements android.text.style.LineHeightSpan android.text.ParcelableSpan {
+    ctor public LineHeightSpan.Standard(@IntRange(from=1) @Px int);
+    ctor public LineHeightSpan.Standard(@NonNull android.os.Parcel);
+    method public void chooseHeight(@NonNull CharSequence, int, int, int, int, @NonNull android.graphics.Paint.FontMetricsInt);
+    method public int describeContents();
+    method @Px public int getHeight();
+    method public int getSpanTypeId();
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public static interface LineHeightSpan.WithDensity extends android.text.style.LineHeightSpan {
+    method public void chooseHeight(CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt, android.text.TextPaint);
+  }
+
+  public class LocaleSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public LocaleSpan(@Nullable java.util.Locale);
+    ctor public LocaleSpan(@NonNull android.os.LocaleList);
+    ctor public LocaleSpan(android.os.Parcel);
+    method public int describeContents();
+    method @Nullable public java.util.Locale getLocale();
+    method @NonNull public android.os.LocaleList getLocales();
+    method public int getSpanTypeId();
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class MaskFilterSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
+    ctor public MaskFilterSpan(android.graphics.MaskFilter);
+    method public android.graphics.MaskFilter getMaskFilter();
+    method public void updateDrawState(android.text.TextPaint);
+  }
+
+  public abstract class MetricAffectingSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateLayout {
+    ctor public MetricAffectingSpan();
+    method public android.text.style.MetricAffectingSpan getUnderlying();
+    method public abstract void updateMeasureState(@NonNull android.text.TextPaint);
+  }
+
+  public interface ParagraphStyle {
+  }
+
+  public class QuoteSpan implements android.text.style.LeadingMarginSpan android.text.ParcelableSpan {
+    ctor public QuoteSpan();
+    ctor public QuoteSpan(@ColorInt int);
+    ctor public QuoteSpan(@ColorInt int, @IntRange(from=0) int, @IntRange(from=0) int);
+    ctor public QuoteSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public void drawLeadingMargin(@NonNull android.graphics.Canvas, @NonNull android.graphics.Paint, int, int, int, int, int, @NonNull CharSequence, int, int, boolean, @NonNull android.text.Layout);
+    method @ColorInt public int getColor();
+    method public int getGapWidth();
+    method public int getLeadingMargin(boolean);
+    method public int getSpanTypeId();
+    method public int getStripeWidth();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @ColorInt public static final int STANDARD_COLOR = -16776961; // 0xff0000ff
+    field public static final int STANDARD_GAP_WIDTH_PX = 2; // 0x2
+    field public static final int STANDARD_STRIPE_WIDTH_PX = 2; // 0x2
+  }
+
+  public class RelativeSizeSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public RelativeSizeSpan(@FloatRange(from=0) float);
+    ctor public RelativeSizeSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public float getSizeChange();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void updateMeasureState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public abstract class ReplacementSpan extends android.text.style.MetricAffectingSpan {
+    ctor public ReplacementSpan();
+    method public abstract void draw(@NonNull android.graphics.Canvas, CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, float, int, int, int, @NonNull android.graphics.Paint);
+    method @Nullable public CharSequence getContentDescription();
+    method public abstract int getSize(@NonNull android.graphics.Paint, CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @Nullable android.graphics.Paint.FontMetricsInt);
+    method public void setContentDescription(@Nullable CharSequence);
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+  }
+
+  public class ScaleXSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public ScaleXSpan(@FloatRange(from=0) float);
+    ctor public ScaleXSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public float getScaleX();
+    method public int getSpanTypeId();
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class StrikethroughSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+    ctor public StrikethroughSpan();
+    ctor public StrikethroughSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class StyleSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public StyleSpan(int);
+    ctor public StyleSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public int getStyle();
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class SubscriptSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public SubscriptSpan();
+    ctor public SubscriptSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void updateMeasureState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class SuggestionSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan {
+    ctor public SuggestionSpan(android.content.Context, String[], int);
+    ctor public SuggestionSpan(java.util.Locale, String[], int);
+    ctor public SuggestionSpan(android.content.Context, java.util.Locale, String[], int, Class<?>);
+    ctor public SuggestionSpan(android.os.Parcel);
+    method public int describeContents();
+    method public int getFlags();
+    method @Deprecated @NonNull public String getLocale();
+    method @Nullable public java.util.Locale getLocaleObject();
+    method public int getSpanTypeId();
+    method public String[] getSuggestions();
+    method @ColorInt public int getUnderlineColor();
+    method public void setFlags(int);
+    method public void updateDrawState(android.text.TextPaint);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final String ACTION_SUGGESTION_PICKED = "android.text.style.SUGGESTION_PICKED";
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.style.SuggestionSpan> CREATOR;
+    field public static final int FLAG_AUTO_CORRECTION = 4; // 0x4
+    field public static final int FLAG_EASY_CORRECT = 1; // 0x1
+    field public static final int FLAG_GRAMMAR_ERROR = 8; // 0x8
+    field public static final int FLAG_MISSPELLED = 2; // 0x2
+    field public static final int SUGGESTIONS_MAX_SIZE = 5; // 0x5
+    field @Deprecated public static final String SUGGESTION_SPAN_PICKED_AFTER = "after";
+    field @Deprecated public static final String SUGGESTION_SPAN_PICKED_BEFORE = "before";
+    field @Deprecated public static final String SUGGESTION_SPAN_PICKED_HASHCODE = "hashcode";
+  }
+
+  public class SuperscriptSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public SuperscriptSpan();
+    ctor public SuperscriptSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void updateMeasureState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public interface TabStopSpan extends android.text.style.ParagraphStyle {
+    method public int getTabStop();
+  }
+
+  public static class TabStopSpan.Standard implements android.text.style.TabStopSpan {
+    ctor public TabStopSpan.Standard(@IntRange(from=0) int);
+    method public int getTabStop();
+  }
+
+  public class TextAppearanceSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public TextAppearanceSpan(android.content.Context, int);
+    ctor public TextAppearanceSpan(android.content.Context, int, int);
+    ctor public TextAppearanceSpan(String, int, int, android.content.res.ColorStateList, android.content.res.ColorStateList);
+    ctor public TextAppearanceSpan(android.os.Parcel);
+    method public int describeContents();
+    method public String getFamily();
+    method @Nullable public String getFontFeatureSettings();
+    method @Nullable public String getFontVariationSettings();
+    method public android.content.res.ColorStateList getLinkTextColor();
+    method public int getShadowColor();
+    method public float getShadowDx();
+    method public float getShadowDy();
+    method public float getShadowRadius();
+    method public int getSpanTypeId();
+    method public android.content.res.ColorStateList getTextColor();
+    method public int getTextFontWeight();
+    method @Nullable public android.os.LocaleList getTextLocales();
+    method public int getTextSize();
+    method public int getTextStyle();
+    method @Nullable public android.graphics.Typeface getTypeface();
+    method public boolean isElegantTextHeight();
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class TtsSpan implements android.text.ParcelableSpan {
+    ctor public TtsSpan(String, android.os.PersistableBundle);
+    ctor public TtsSpan(android.os.Parcel);
+    method public int describeContents();
+    method public android.os.PersistableBundle getArgs();
+    method public int getSpanTypeId();
+    method public String getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final String ANIMACY_ANIMATE = "android.animate";
+    field public static final String ANIMACY_INANIMATE = "android.inanimate";
+    field public static final String ARG_ANIMACY = "android.arg.animacy";
+    field public static final String ARG_CASE = "android.arg.case";
+    field public static final String ARG_COUNTRY_CODE = "android.arg.country_code";
+    field public static final String ARG_CURRENCY = "android.arg.money";
+    field public static final String ARG_DAY = "android.arg.day";
+    field public static final String ARG_DENOMINATOR = "android.arg.denominator";
+    field public static final String ARG_DIGITS = "android.arg.digits";
+    field public static final String ARG_DOMAIN = "android.arg.domain";
+    field public static final String ARG_EXTENSION = "android.arg.extension";
+    field public static final String ARG_FRACTIONAL_PART = "android.arg.fractional_part";
+    field public static final String ARG_FRAGMENT_ID = "android.arg.fragment_id";
+    field public static final String ARG_GENDER = "android.arg.gender";
+    field public static final String ARG_HOURS = "android.arg.hours";
+    field public static final String ARG_INTEGER_PART = "android.arg.integer_part";
+    field public static final String ARG_MINUTES = "android.arg.minutes";
+    field public static final String ARG_MONTH = "android.arg.month";
+    field public static final String ARG_MULTIPLICITY = "android.arg.multiplicity";
+    field public static final String ARG_NUMBER = "android.arg.number";
+    field public static final String ARG_NUMBER_PARTS = "android.arg.number_parts";
+    field public static final String ARG_NUMERATOR = "android.arg.numerator";
+    field public static final String ARG_PASSWORD = "android.arg.password";
+    field public static final String ARG_PATH = "android.arg.path";
+    field public static final String ARG_PORT = "android.arg.port";
+    field public static final String ARG_PROTOCOL = "android.arg.protocol";
+    field public static final String ARG_QUANTITY = "android.arg.quantity";
+    field public static final String ARG_QUERY_STRING = "android.arg.query_string";
+    field public static final String ARG_TEXT = "android.arg.text";
+    field public static final String ARG_UNIT = "android.arg.unit";
+    field public static final String ARG_USERNAME = "android.arg.username";
+    field public static final String ARG_VERBATIM = "android.arg.verbatim";
+    field public static final String ARG_WEEKDAY = "android.arg.weekday";
+    field public static final String ARG_YEAR = "android.arg.year";
+    field public static final String CASE_ABLATIVE = "android.ablative";
+    field public static final String CASE_ACCUSATIVE = "android.accusative";
+    field public static final String CASE_DATIVE = "android.dative";
+    field public static final String CASE_GENITIVE = "android.genitive";
+    field public static final String CASE_INSTRUMENTAL = "android.instrumental";
+    field public static final String CASE_LOCATIVE = "android.locative";
+    field public static final String CASE_NOMINATIVE = "android.nominative";
+    field public static final String CASE_VOCATIVE = "android.vocative";
+    field public static final String GENDER_FEMALE = "android.female";
+    field public static final String GENDER_MALE = "android.male";
+    field public static final String GENDER_NEUTRAL = "android.neutral";
+    field public static final int MONTH_APRIL = 3; // 0x3
+    field public static final int MONTH_AUGUST = 7; // 0x7
+    field public static final int MONTH_DECEMBER = 11; // 0xb
+    field public static final int MONTH_FEBRUARY = 1; // 0x1
+    field public static final int MONTH_JANUARY = 0; // 0x0
+    field public static final int MONTH_JULY = 6; // 0x6
+    field public static final int MONTH_JUNE = 5; // 0x5
+    field public static final int MONTH_MARCH = 2; // 0x2
+    field public static final int MONTH_MAY = 4; // 0x4
+    field public static final int MONTH_NOVEMBER = 10; // 0xa
+    field public static final int MONTH_OCTOBER = 9; // 0x9
+    field public static final int MONTH_SEPTEMBER = 8; // 0x8
+    field public static final String MULTIPLICITY_DUAL = "android.dual";
+    field public static final String MULTIPLICITY_PLURAL = "android.plural";
+    field public static final String MULTIPLICITY_SINGLE = "android.single";
+    field public static final String TYPE_CARDINAL = "android.type.cardinal";
+    field public static final String TYPE_DATE = "android.type.date";
+    field public static final String TYPE_DECIMAL = "android.type.decimal";
+    field public static final String TYPE_DIGITS = "android.type.digits";
+    field public static final String TYPE_ELECTRONIC = "android.type.electronic";
+    field public static final String TYPE_FRACTION = "android.type.fraction";
+    field public static final String TYPE_MEASURE = "android.type.measure";
+    field public static final String TYPE_MONEY = "android.type.money";
+    field public static final String TYPE_ORDINAL = "android.type.ordinal";
+    field public static final String TYPE_TELEPHONE = "android.type.telephone";
+    field public static final String TYPE_TEXT = "android.type.text";
+    field public static final String TYPE_TIME = "android.type.time";
+    field public static final String TYPE_VERBATIM = "android.type.verbatim";
+    field public static final int WEEKDAY_FRIDAY = 6; // 0x6
+    field public static final int WEEKDAY_MONDAY = 2; // 0x2
+    field public static final int WEEKDAY_SATURDAY = 7; // 0x7
+    field public static final int WEEKDAY_SUNDAY = 1; // 0x1
+    field public static final int WEEKDAY_THURSDAY = 5; // 0x5
+    field public static final int WEEKDAY_TUESDAY = 3; // 0x3
+    field public static final int WEEKDAY_WEDNESDAY = 4; // 0x4
+  }
+
+  public static class TtsSpan.Builder<C extends android.text.style.TtsSpan.Builder<?>> {
+    ctor public TtsSpan.Builder(String);
+    method public android.text.style.TtsSpan build();
+    method public C setIntArgument(String, int);
+    method public C setLongArgument(String, long);
+    method public C setStringArgument(String, String);
+  }
+
+  public static class TtsSpan.CardinalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.CardinalBuilder> {
+    ctor public TtsSpan.CardinalBuilder();
+    ctor public TtsSpan.CardinalBuilder(long);
+    ctor public TtsSpan.CardinalBuilder(String);
+    method public android.text.style.TtsSpan.CardinalBuilder setNumber(long);
+    method public android.text.style.TtsSpan.CardinalBuilder setNumber(String);
+  }
+
+  public static class TtsSpan.DateBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.DateBuilder> {
+    ctor public TtsSpan.DateBuilder();
+    ctor public TtsSpan.DateBuilder(Integer, Integer, Integer, Integer);
+    method public android.text.style.TtsSpan.DateBuilder setDay(int);
+    method public android.text.style.TtsSpan.DateBuilder setMonth(int);
+    method public android.text.style.TtsSpan.DateBuilder setWeekday(int);
+    method public android.text.style.TtsSpan.DateBuilder setYear(int);
+  }
+
+  public static class TtsSpan.DecimalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.DecimalBuilder> {
+    ctor public TtsSpan.DecimalBuilder();
+    ctor public TtsSpan.DecimalBuilder(double, int, int);
+    ctor public TtsSpan.DecimalBuilder(String, String);
+    method public android.text.style.TtsSpan.DecimalBuilder setArgumentsFromDouble(double, int, int);
+    method public android.text.style.TtsSpan.DecimalBuilder setFractionalPart(String);
+    method public android.text.style.TtsSpan.DecimalBuilder setIntegerPart(long);
+    method public android.text.style.TtsSpan.DecimalBuilder setIntegerPart(String);
+  }
+
+  public static class TtsSpan.DigitsBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.DigitsBuilder> {
+    ctor public TtsSpan.DigitsBuilder();
+    ctor public TtsSpan.DigitsBuilder(String);
+    method public android.text.style.TtsSpan.DigitsBuilder setDigits(String);
+  }
+
+  public static class TtsSpan.ElectronicBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.ElectronicBuilder> {
+    ctor public TtsSpan.ElectronicBuilder();
+    method public android.text.style.TtsSpan.ElectronicBuilder setDomain(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setEmailArguments(String, String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setFragmentId(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setPassword(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setPath(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setPort(int);
+    method public android.text.style.TtsSpan.ElectronicBuilder setProtocol(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setQueryString(String);
+    method public android.text.style.TtsSpan.ElectronicBuilder setUsername(String);
+  }
+
+  public static class TtsSpan.FractionBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.FractionBuilder> {
+    ctor public TtsSpan.FractionBuilder();
+    ctor public TtsSpan.FractionBuilder(long, long, long);
+    method public android.text.style.TtsSpan.FractionBuilder setDenominator(long);
+    method public android.text.style.TtsSpan.FractionBuilder setDenominator(String);
+    method public android.text.style.TtsSpan.FractionBuilder setIntegerPart(long);
+    method public android.text.style.TtsSpan.FractionBuilder setIntegerPart(String);
+    method public android.text.style.TtsSpan.FractionBuilder setNumerator(long);
+    method public android.text.style.TtsSpan.FractionBuilder setNumerator(String);
+  }
+
+  public static class TtsSpan.MeasureBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.MeasureBuilder> {
+    ctor public TtsSpan.MeasureBuilder();
+    method public android.text.style.TtsSpan.MeasureBuilder setDenominator(long);
+    method public android.text.style.TtsSpan.MeasureBuilder setDenominator(String);
+    method public android.text.style.TtsSpan.MeasureBuilder setFractionalPart(String);
+    method public android.text.style.TtsSpan.MeasureBuilder setIntegerPart(long);
+    method public android.text.style.TtsSpan.MeasureBuilder setIntegerPart(String);
+    method public android.text.style.TtsSpan.MeasureBuilder setNumber(long);
+    method public android.text.style.TtsSpan.MeasureBuilder setNumber(String);
+    method public android.text.style.TtsSpan.MeasureBuilder setNumerator(long);
+    method public android.text.style.TtsSpan.MeasureBuilder setNumerator(String);
+    method public android.text.style.TtsSpan.MeasureBuilder setUnit(String);
+  }
+
+  public static class TtsSpan.MoneyBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.MoneyBuilder> {
+    ctor public TtsSpan.MoneyBuilder();
+    method public android.text.style.TtsSpan.MoneyBuilder setCurrency(String);
+    method public android.text.style.TtsSpan.MoneyBuilder setFractionalPart(String);
+    method public android.text.style.TtsSpan.MoneyBuilder setIntegerPart(long);
+    method public android.text.style.TtsSpan.MoneyBuilder setIntegerPart(String);
+    method public android.text.style.TtsSpan.MoneyBuilder setQuantity(String);
+  }
+
+  public static class TtsSpan.OrdinalBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.OrdinalBuilder> {
+    ctor public TtsSpan.OrdinalBuilder();
+    ctor public TtsSpan.OrdinalBuilder(long);
+    ctor public TtsSpan.OrdinalBuilder(String);
+    method public android.text.style.TtsSpan.OrdinalBuilder setNumber(long);
+    method public android.text.style.TtsSpan.OrdinalBuilder setNumber(String);
+  }
+
+  public static class TtsSpan.SemioticClassBuilder<C extends android.text.style.TtsSpan.SemioticClassBuilder<?>> extends android.text.style.TtsSpan.Builder<C> {
+    ctor public TtsSpan.SemioticClassBuilder(String);
+    method public C setAnimacy(String);
+    method public C setCase(String);
+    method public C setGender(String);
+    method public C setMultiplicity(String);
+  }
+
+  public static class TtsSpan.TelephoneBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.TelephoneBuilder> {
+    ctor public TtsSpan.TelephoneBuilder();
+    ctor public TtsSpan.TelephoneBuilder(String);
+    method public android.text.style.TtsSpan.TelephoneBuilder setCountryCode(String);
+    method public android.text.style.TtsSpan.TelephoneBuilder setExtension(String);
+    method public android.text.style.TtsSpan.TelephoneBuilder setNumberParts(String);
+  }
+
+  public static class TtsSpan.TextBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.TextBuilder> {
+    ctor public TtsSpan.TextBuilder();
+    ctor public TtsSpan.TextBuilder(String);
+    method public android.text.style.TtsSpan.TextBuilder setText(String);
+  }
+
+  public static class TtsSpan.TimeBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.TimeBuilder> {
+    ctor public TtsSpan.TimeBuilder();
+    ctor public TtsSpan.TimeBuilder(int, int);
+    method public android.text.style.TtsSpan.TimeBuilder setHours(int);
+    method public android.text.style.TtsSpan.TimeBuilder setMinutes(int);
+  }
+
+  public static class TtsSpan.VerbatimBuilder extends android.text.style.TtsSpan.SemioticClassBuilder<android.text.style.TtsSpan.VerbatimBuilder> {
+    ctor public TtsSpan.VerbatimBuilder();
+    ctor public TtsSpan.VerbatimBuilder(String);
+    method public android.text.style.TtsSpan.VerbatimBuilder setVerbatim(String);
+  }
+
+  public class TypefaceSpan extends android.text.style.MetricAffectingSpan implements android.text.ParcelableSpan {
+    ctor public TypefaceSpan(@Nullable String);
+    ctor public TypefaceSpan(@NonNull android.graphics.Typeface);
+    ctor public TypefaceSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method @Nullable public String getFamily();
+    method public int getSpanTypeId();
+    method @Nullable public android.graphics.Typeface getTypeface();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void updateMeasureState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class URLSpan extends android.text.style.ClickableSpan implements android.text.ParcelableSpan {
+    ctor public URLSpan(String);
+    ctor public URLSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public String getURL();
+    method public void onClick(android.view.View);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public class UnderlineSpan extends android.text.style.CharacterStyle implements android.text.ParcelableSpan android.text.style.UpdateAppearance {
+    ctor public UnderlineSpan();
+    ctor public UnderlineSpan(@NonNull android.os.Parcel);
+    method public int describeContents();
+    method public int getSpanTypeId();
+    method public void updateDrawState(@NonNull android.text.TextPaint);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+  public interface UpdateAppearance {
+  }
+
+  public interface UpdateLayout extends android.text.style.UpdateAppearance {
+  }
+
+  public interface WrapTogetherSpan extends android.text.style.ParagraphStyle {
+  }
+
+}
+
+package android.text.util {
+
+  public class Linkify {
+    ctor public Linkify();
+    method public static final boolean addLinks(@NonNull android.text.Spannable, int);
+    method public static final boolean addLinks(@NonNull android.text.Spannable, int, @Nullable java.util.function.Function<java.lang.String,android.text.style.URLSpan>);
+    method public static final boolean addLinks(@NonNull android.widget.TextView, int);
+    method public static final void addLinks(@NonNull android.widget.TextView, @NonNull java.util.regex.Pattern, @Nullable String);
+    method public static final void addLinks(@NonNull android.widget.TextView, @NonNull java.util.regex.Pattern, @Nullable String, @Nullable android.text.util.Linkify.MatchFilter, @Nullable android.text.util.Linkify.TransformFilter);
+    method public static final void addLinks(@NonNull android.widget.TextView, @NonNull java.util.regex.Pattern, @Nullable String, @Nullable String[], @Nullable android.text.util.Linkify.MatchFilter, @Nullable android.text.util.Linkify.TransformFilter);
+    method public static final boolean addLinks(@NonNull android.text.Spannable, @NonNull java.util.regex.Pattern, @Nullable String);
+    method public static final boolean addLinks(@NonNull android.text.Spannable, @NonNull java.util.regex.Pattern, @Nullable String, @Nullable android.text.util.Linkify.MatchFilter, @Nullable android.text.util.Linkify.TransformFilter);
+    method public static final boolean addLinks(@NonNull android.text.Spannable, @NonNull java.util.regex.Pattern, @Nullable String, @Nullable String[], @Nullable android.text.util.Linkify.MatchFilter, @Nullable android.text.util.Linkify.TransformFilter);
+    method public static final boolean addLinks(@NonNull android.text.Spannable, @NonNull java.util.regex.Pattern, @Nullable String, @Nullable String[], @Nullable android.text.util.Linkify.MatchFilter, @Nullable android.text.util.Linkify.TransformFilter, @Nullable java.util.function.Function<java.lang.String,android.text.style.URLSpan>);
+    field public static final int ALL = 15; // 0xf
+    field public static final int EMAIL_ADDRESSES = 2; // 0x2
+    field @Deprecated public static final int MAP_ADDRESSES = 8; // 0x8
+    field public static final int PHONE_NUMBERS = 4; // 0x4
+    field public static final int WEB_URLS = 1; // 0x1
+    field public static final android.text.util.Linkify.MatchFilter sPhoneNumberMatchFilter;
+    field public static final android.text.util.Linkify.TransformFilter sPhoneNumberTransformFilter;
+    field public static final android.text.util.Linkify.MatchFilter sUrlMatchFilter;
+  }
+
+  public static interface Linkify.MatchFilter {
+    method public boolean acceptMatch(CharSequence, int, int);
+  }
+
+  public static interface Linkify.TransformFilter {
+    method public String transformUrl(java.util.regex.Matcher, String);
+  }
+
+  public class Rfc822Token {
+    ctor public Rfc822Token(@Nullable String, @Nullable String, @Nullable String);
+    method @Nullable public String getAddress();
+    method @Nullable public String getComment();
+    method @Nullable public String getName();
+    method public static String quoteComment(String);
+    method public static String quoteName(String);
+    method public static String quoteNameIfNecessary(String);
+    method public void setAddress(@Nullable String);
+    method public void setComment(@Nullable String);
+    method public void setName(@Nullable String);
+  }
+
+  public class Rfc822Tokenizer implements android.widget.MultiAutoCompleteTextView.Tokenizer {
+    ctor public Rfc822Tokenizer();
+    method public int findTokenEnd(CharSequence, int);
+    method public int findTokenStart(CharSequence, int);
+    method public CharSequence terminateToken(CharSequence);
+    method public static void tokenize(CharSequence, java.util.Collection<android.text.util.Rfc822Token>);
+    method public static android.text.util.Rfc822Token[] tokenize(CharSequence);
+  }
+
+}
+
+package android.transition {
+
+  public class ArcMotion extends android.transition.PathMotion {
+    ctor public ArcMotion();
+    ctor public ArcMotion(android.content.Context, android.util.AttributeSet);
+    method public float getMaximumAngle();
+    method public float getMinimumHorizontalAngle();
+    method public float getMinimumVerticalAngle();
+    method public android.graphics.Path getPath(float, float, float, float);
+    method public void setMaximumAngle(float);
+    method public void setMinimumHorizontalAngle(float);
+    method public void setMinimumVerticalAngle(float);
+  }
+
+  public class AutoTransition extends android.transition.TransitionSet {
+    ctor public AutoTransition();
+    ctor public AutoTransition(android.content.Context, android.util.AttributeSet);
+  }
+
+  public class ChangeBounds extends android.transition.Transition {
+    ctor public ChangeBounds();
+    ctor public ChangeBounds(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+    method public boolean getResizeClip();
+    method @Deprecated public void setReparent(boolean);
+    method public void setResizeClip(boolean);
+  }
+
+  public class ChangeClipBounds extends android.transition.Transition {
+    ctor public ChangeClipBounds();
+    ctor public ChangeClipBounds(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+  }
+
+  public class ChangeImageTransform extends android.transition.Transition {
+    ctor public ChangeImageTransform();
+    ctor public ChangeImageTransform(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+  }
+
+  public class ChangeScroll extends android.transition.Transition {
+    ctor public ChangeScroll();
+    ctor public ChangeScroll(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+  }
+
+  public class ChangeTransform extends android.transition.Transition {
+    ctor public ChangeTransform();
+    ctor public ChangeTransform(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+    method public boolean getReparent();
+    method public boolean getReparentWithOverlay();
+    method public void setReparent(boolean);
+    method public void setReparentWithOverlay(boolean);
+  }
+
+  public class CircularPropagation extends android.transition.VisibilityPropagation {
+    ctor public CircularPropagation();
+    method public long getStartDelay(android.view.ViewGroup, android.transition.Transition, android.transition.TransitionValues, android.transition.TransitionValues);
+    method public void setPropagationSpeed(float);
+  }
+
+  public class Explode extends android.transition.Visibility {
+    ctor public Explode();
+    ctor public Explode(android.content.Context, android.util.AttributeSet);
+  }
+
+  public class Fade extends android.transition.Visibility {
+    ctor public Fade();
+    ctor public Fade(int);
+    ctor public Fade(android.content.Context, android.util.AttributeSet);
+    field public static final int IN = 1; // 0x1
+    field public static final int OUT = 2; // 0x2
+  }
+
+  public abstract class PathMotion {
+    ctor public PathMotion();
+    ctor public PathMotion(android.content.Context, android.util.AttributeSet);
+    method public abstract android.graphics.Path getPath(float, float, float, float);
+  }
+
+  public class PatternPathMotion extends android.transition.PathMotion {
+    ctor public PatternPathMotion();
+    ctor public PatternPathMotion(android.content.Context, android.util.AttributeSet);
+    ctor public PatternPathMotion(android.graphics.Path);
+    method public android.graphics.Path getPath(float, float, float, float);
+    method public android.graphics.Path getPatternPath();
+    method public void setPatternPath(android.graphics.Path);
+  }
+
+  public final class Scene {
+    ctor public Scene(android.view.ViewGroup);
+    ctor public Scene(android.view.ViewGroup, android.view.View);
+    ctor @Deprecated public Scene(android.view.ViewGroup, android.view.ViewGroup);
+    method public void enter();
+    method public void exit();
+    method @Nullable public static android.transition.Scene getCurrentScene(@NonNull android.view.ViewGroup);
+    method public static android.transition.Scene getSceneForLayout(android.view.ViewGroup, int, android.content.Context);
+    method public android.view.ViewGroup getSceneRoot();
+    method public void setEnterAction(Runnable);
+    method public void setExitAction(Runnable);
+  }
+
+  public class SidePropagation extends android.transition.VisibilityPropagation {
+    ctor public SidePropagation();
+    method public long getStartDelay(android.view.ViewGroup, android.transition.Transition, android.transition.TransitionValues, android.transition.TransitionValues);
+    method public void setPropagationSpeed(float);
+    method public void setSide(int);
+  }
+
+  public class Slide extends android.transition.Visibility {
+    ctor public Slide();
+    ctor public Slide(int);
+    ctor public Slide(android.content.Context, android.util.AttributeSet);
+    method public int getSlideEdge();
+    method public void setSlideEdge(int);
+  }
+
+  public abstract class Transition implements java.lang.Cloneable {
+    ctor public Transition();
+    ctor public Transition(android.content.Context, android.util.AttributeSet);
+    method public android.transition.Transition addListener(android.transition.Transition.TransitionListener);
+    method public android.transition.Transition addTarget(int);
+    method public android.transition.Transition addTarget(String);
+    method public android.transition.Transition addTarget(Class);
+    method public android.transition.Transition addTarget(android.view.View);
+    method public boolean canRemoveViews();
+    method public abstract void captureEndValues(android.transition.TransitionValues);
+    method public abstract void captureStartValues(android.transition.TransitionValues);
+    method public android.transition.Transition clone();
+    method public android.animation.Animator createAnimator(android.view.ViewGroup, android.transition.TransitionValues, android.transition.TransitionValues);
+    method public android.transition.Transition excludeChildren(int, boolean);
+    method public android.transition.Transition excludeChildren(android.view.View, boolean);
+    method public android.transition.Transition excludeChildren(Class, boolean);
+    method public android.transition.Transition excludeTarget(int, boolean);
+    method public android.transition.Transition excludeTarget(String, boolean);
+    method public android.transition.Transition excludeTarget(android.view.View, boolean);
+    method public android.transition.Transition excludeTarget(Class, boolean);
+    method public long getDuration();
+    method public android.graphics.Rect getEpicenter();
+    method public android.transition.Transition.EpicenterCallback getEpicenterCallback();
+    method public android.animation.TimeInterpolator getInterpolator();
+    method public String getName();
+    method public android.transition.PathMotion getPathMotion();
+    method public android.transition.TransitionPropagation getPropagation();
+    method public long getStartDelay();
+    method public java.util.List<java.lang.Integer> getTargetIds();
+    method public java.util.List<java.lang.String> getTargetNames();
+    method public java.util.List<java.lang.Class> getTargetTypes();
+    method public java.util.List<android.view.View> getTargets();
+    method public String[] getTransitionProperties();
+    method public android.transition.TransitionValues getTransitionValues(android.view.View, boolean);
+    method public boolean isTransitionRequired(@Nullable android.transition.TransitionValues, @Nullable android.transition.TransitionValues);
+    method public android.transition.Transition removeListener(android.transition.Transition.TransitionListener);
+    method public android.transition.Transition removeTarget(int);
+    method public android.transition.Transition removeTarget(String);
+    method public android.transition.Transition removeTarget(android.view.View);
+    method public android.transition.Transition removeTarget(Class);
+    method public android.transition.Transition setDuration(long);
+    method public void setEpicenterCallback(android.transition.Transition.EpicenterCallback);
+    method public android.transition.Transition setInterpolator(android.animation.TimeInterpolator);
+    method public void setMatchOrder(int...);
+    method public void setPathMotion(android.transition.PathMotion);
+    method public void setPropagation(android.transition.TransitionPropagation);
+    method public android.transition.Transition setStartDelay(long);
+    field public static final int MATCH_ID = 3; // 0x3
+    field public static final int MATCH_INSTANCE = 1; // 0x1
+    field public static final int MATCH_ITEM_ID = 4; // 0x4
+    field public static final int MATCH_NAME = 2; // 0x2
+  }
+
+  public abstract static class Transition.EpicenterCallback {
+    ctor public Transition.EpicenterCallback();
+    method public abstract android.graphics.Rect onGetEpicenter(android.transition.Transition);
+  }
+
+  public static interface Transition.TransitionListener {
+    method public void onTransitionCancel(android.transition.Transition);
+    method public void onTransitionEnd(android.transition.Transition);
+    method public void onTransitionPause(android.transition.Transition);
+    method public void onTransitionResume(android.transition.Transition);
+    method public void onTransitionStart(android.transition.Transition);
+  }
+
+  public class TransitionInflater {
+    method public static android.transition.TransitionInflater from(android.content.Context);
+    method public android.transition.Transition inflateTransition(@TransitionRes int);
+    method public android.transition.TransitionManager inflateTransitionManager(@TransitionRes int, android.view.ViewGroup);
+  }
+
+  public abstract class TransitionListenerAdapter implements android.transition.Transition.TransitionListener {
+    ctor public TransitionListenerAdapter();
+    method public void onTransitionCancel(android.transition.Transition);
+    method public void onTransitionEnd(android.transition.Transition);
+    method public void onTransitionPause(android.transition.Transition);
+    method public void onTransitionResume(android.transition.Transition);
+    method public void onTransitionStart(android.transition.Transition);
+  }
+
+  public class TransitionManager {
+    ctor public TransitionManager();
+    method public static void beginDelayedTransition(android.view.ViewGroup);
+    method public static void beginDelayedTransition(android.view.ViewGroup, android.transition.Transition);
+    method public static void endTransitions(android.view.ViewGroup);
+    method public static void go(android.transition.Scene);
+    method public static void go(android.transition.Scene, android.transition.Transition);
+    method public void setTransition(android.transition.Scene, android.transition.Transition);
+    method public void setTransition(android.transition.Scene, android.transition.Scene, android.transition.Transition);
+    method public void transitionTo(android.transition.Scene);
+  }
+
+  public abstract class TransitionPropagation {
+    ctor public TransitionPropagation();
+    method public abstract void captureValues(android.transition.TransitionValues);
+    method public abstract String[] getPropagationProperties();
+    method public abstract long getStartDelay(android.view.ViewGroup, android.transition.Transition, android.transition.TransitionValues, android.transition.TransitionValues);
+  }
+
+  public class TransitionSet extends android.transition.Transition {
+    ctor public TransitionSet();
+    ctor public TransitionSet(android.content.Context, android.util.AttributeSet);
+    method public android.transition.TransitionSet addListener(android.transition.Transition.TransitionListener);
+    method public android.transition.TransitionSet addTarget(android.view.View);
+    method public android.transition.TransitionSet addTarget(int);
+    method public android.transition.TransitionSet addTarget(String);
+    method public android.transition.TransitionSet addTarget(Class);
+    method public android.transition.TransitionSet addTransition(android.transition.Transition);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+    method public android.transition.TransitionSet clone();
+    method public int getOrdering();
+    method public android.transition.Transition getTransitionAt(int);
+    method public int getTransitionCount();
+    method public android.transition.TransitionSet removeListener(android.transition.Transition.TransitionListener);
+    method public android.transition.TransitionSet removeTarget(int);
+    method public android.transition.TransitionSet removeTarget(android.view.View);
+    method public android.transition.TransitionSet removeTarget(Class);
+    method public android.transition.TransitionSet removeTarget(String);
+    method public android.transition.TransitionSet removeTransition(android.transition.Transition);
+    method public android.transition.TransitionSet setDuration(long);
+    method public android.transition.TransitionSet setInterpolator(android.animation.TimeInterpolator);
+    method public android.transition.TransitionSet setOrdering(int);
+    method public android.transition.TransitionSet setStartDelay(long);
+    field public static final int ORDERING_SEQUENTIAL = 1; // 0x1
+    field public static final int ORDERING_TOGETHER = 0; // 0x0
+  }
+
+  public class TransitionValues {
+    ctor @Deprecated public TransitionValues();
+    ctor public TransitionValues(@NonNull android.view.View);
+    field @NonNull public final java.util.Map<java.lang.String,java.lang.Object> values;
+    field @NonNull public android.view.View view;
+  }
+
+  public abstract class Visibility extends android.transition.Transition {
+    ctor public Visibility();
+    ctor public Visibility(android.content.Context, android.util.AttributeSet);
+    method public void captureEndValues(android.transition.TransitionValues);
+    method public void captureStartValues(android.transition.TransitionValues);
+    method public int getMode();
+    method public boolean isVisible(android.transition.TransitionValues);
+    method public android.animation.Animator onAppear(android.view.ViewGroup, android.transition.TransitionValues, int, android.transition.TransitionValues, int);
+    method public android.animation.Animator onAppear(android.view.ViewGroup, android.view.View, android.transition.TransitionValues, android.transition.TransitionValues);
+    method public android.animation.Animator onDisappear(android.view.ViewGroup, android.transition.TransitionValues, int, android.transition.TransitionValues, int);
+    method public android.animation.Animator onDisappear(android.view.ViewGroup, android.view.View, android.transition.TransitionValues, android.transition.TransitionValues);
+    method public void setMode(int);
+    field public static final int MODE_IN = 1; // 0x1
+    field public static final int MODE_OUT = 2; // 0x2
+  }
+
+  public abstract class VisibilityPropagation extends android.transition.TransitionPropagation {
+    ctor public VisibilityPropagation();
+    method public void captureValues(android.transition.TransitionValues);
+    method public String[] getPropagationProperties();
+    method public int getViewVisibility(android.transition.TransitionValues);
+    method public int getViewX(android.transition.TransitionValues);
+    method public int getViewY(android.transition.TransitionValues);
+  }
+
+}
+
+package android.util {
+
+  public class AndroidException extends java.lang.Exception {
+    ctor public AndroidException();
+    ctor public AndroidException(String);
+    ctor public AndroidException(String, Throwable);
+    ctor public AndroidException(Exception);
+  }
+
+  public class AndroidRuntimeException extends java.lang.RuntimeException {
+    ctor public AndroidRuntimeException();
+    ctor public AndroidRuntimeException(String);
+    ctor public AndroidRuntimeException(String, Throwable);
+    ctor public AndroidRuntimeException(Exception);
+  }
+
+  public final class ArrayMap<K, V> implements java.util.Map<K,V> {
+    ctor public ArrayMap();
+    ctor public ArrayMap(int);
+    ctor public ArrayMap(android.util.ArrayMap<K,V>);
+    method public void clear();
+    method public boolean containsAll(java.util.Collection<?>);
+    method public boolean containsKey(Object);
+    method public boolean containsValue(Object);
+    method public void ensureCapacity(int);
+    method public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method public V get(Object);
+    method public int indexOfKey(Object);
+    method public int indexOfValue(Object);
+    method public boolean isEmpty();
+    method public K keyAt(int);
+    method public java.util.Set<K> keySet();
+    method public V put(K, V);
+    method public void putAll(android.util.ArrayMap<? extends K,? extends V>);
+    method public void putAll(java.util.Map<? extends K,? extends V>);
+    method public V remove(Object);
+    method public boolean removeAll(java.util.Collection<?>);
+    method public V removeAt(int);
+    method public boolean retainAll(java.util.Collection<?>);
+    method public V setValueAt(int, V);
+    method public int size();
+    method public V valueAt(int);
+    method public java.util.Collection<V> values();
+  }
+
+  public final class ArraySet<E> implements java.util.Collection<E> java.util.Set<E> {
+    ctor public ArraySet();
+    ctor public ArraySet(int);
+    ctor public ArraySet(android.util.ArraySet<E>);
+    ctor public ArraySet(java.util.Collection<? extends E>);
+    ctor public ArraySet(@Nullable E[]);
+    method public boolean add(E);
+    method public void addAll(android.util.ArraySet<? extends E>);
+    method public boolean addAll(java.util.Collection<? extends E>);
+    method public void clear();
+    method public boolean contains(Object);
+    method public boolean containsAll(java.util.Collection<?>);
+    method public void ensureCapacity(int);
+    method public int indexOf(Object);
+    method public boolean isEmpty();
+    method public java.util.Iterator<E> iterator();
+    method public boolean remove(Object);
+    method public boolean removeAll(android.util.ArraySet<? extends E>);
+    method public boolean removeAll(java.util.Collection<?>);
+    method public E removeAt(int);
+    method public boolean retainAll(java.util.Collection<?>);
+    method public int size();
+    method public Object[] toArray();
+    method public <T> T[] toArray(T[]);
+    method public E valueAt(int);
+  }
+
+  public class AtomicFile {
+    ctor public AtomicFile(java.io.File);
+    method public void delete();
+    method public void failWrite(java.io.FileOutputStream);
+    method public void finishWrite(java.io.FileOutputStream);
+    method public java.io.File getBaseFile();
+    method public long getLastModifiedTime();
+    method public java.io.FileInputStream openRead() throws java.io.FileNotFoundException;
+    method public byte[] readFully() throws java.io.IOException;
+    method public java.io.FileOutputStream startWrite() throws java.io.IOException;
+  }
+
+  public interface AttributeSet {
+    method public boolean getAttributeBooleanValue(String, String, boolean);
+    method public boolean getAttributeBooleanValue(int, boolean);
+    method public int getAttributeCount();
+    method public float getAttributeFloatValue(String, String, float);
+    method public float getAttributeFloatValue(int, float);
+    method public int getAttributeIntValue(String, String, int);
+    method public int getAttributeIntValue(int, int);
+    method public int getAttributeListValue(String, String, String[], int);
+    method public int getAttributeListValue(int, String[], int);
+    method public String getAttributeName(int);
+    method public int getAttributeNameResource(int);
+    method public default String getAttributeNamespace(int);
+    method public int getAttributeResourceValue(String, String, int);
+    method public int getAttributeResourceValue(int, int);
+    method public int getAttributeUnsignedIntValue(String, String, int);
+    method public int getAttributeUnsignedIntValue(int, int);
+    method public String getAttributeValue(int);
+    method public String getAttributeValue(String, String);
+    method public String getClassAttribute();
+    method public String getIdAttribute();
+    method public int getIdAttributeResourceValue(int);
+    method public String getPositionDescription();
+    method public int getStyleAttribute();
+  }
+
+  public class Base64 {
+    method public static byte[] decode(String, int);
+    method public static byte[] decode(byte[], int);
+    method public static byte[] decode(byte[], int, int, int);
+    method public static byte[] encode(byte[], int);
+    method public static byte[] encode(byte[], int, int, int);
+    method public static String encodeToString(byte[], int);
+    method public static String encodeToString(byte[], int, int, int);
+    field public static final int CRLF = 4; // 0x4
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int NO_CLOSE = 16; // 0x10
+    field public static final int NO_PADDING = 1; // 0x1
+    field public static final int NO_WRAP = 2; // 0x2
+    field public static final int URL_SAFE = 8; // 0x8
+  }
+
+  public class Base64DataException extends java.io.IOException {
+    ctor public Base64DataException(String);
+  }
+
+  public class Base64InputStream extends java.io.FilterInputStream {
+    ctor public Base64InputStream(java.io.InputStream, int);
+    method public int available();
+    method public void reset();
+  }
+
+  public class Base64OutputStream extends java.io.FilterOutputStream {
+    ctor public Base64OutputStream(java.io.OutputStream, int);
+  }
+
+  public final class CloseGuard {
+    ctor public CloseGuard();
+    method public void close();
+    method public void open(@NonNull String);
+    method public void warnIfOpen();
+  }
+
+  @Deprecated public final class Config {
+    field @Deprecated public static final boolean DEBUG = false;
+    field @Deprecated public static final boolean LOGD = true;
+    field @Deprecated public static final boolean LOGV = false;
+    field @Deprecated public static final boolean PROFILE = false;
+    field @Deprecated public static final boolean RELEASE = true;
+  }
+
+  public class DebugUtils {
+    method public static boolean isObjectSelected(Object);
+  }
+
+  public class DisplayMetrics {
+    ctor public DisplayMetrics();
+    method public boolean equals(android.util.DisplayMetrics);
+    method public void setTo(android.util.DisplayMetrics);
+    method public void setToDefaults();
+    field public static final int DENSITY_140 = 140; // 0x8c
+    field public static final int DENSITY_180 = 180; // 0xb4
+    field public static final int DENSITY_200 = 200; // 0xc8
+    field public static final int DENSITY_220 = 220; // 0xdc
+    field public static final int DENSITY_260 = 260; // 0x104
+    field public static final int DENSITY_280 = 280; // 0x118
+    field public static final int DENSITY_300 = 300; // 0x12c
+    field public static final int DENSITY_340 = 340; // 0x154
+    field public static final int DENSITY_360 = 360; // 0x168
+    field public static final int DENSITY_400 = 400; // 0x190
+    field public static final int DENSITY_420 = 420; // 0x1a4
+    field public static final int DENSITY_440 = 440; // 0x1b8
+    field public static final int DENSITY_450 = 450; // 0x1c2
+    field public static final int DENSITY_560 = 560; // 0x230
+    field public static final int DENSITY_600 = 600; // 0x258
+    field public static final int DENSITY_DEFAULT = 160; // 0xa0
+    field public static final int DENSITY_DEVICE_STABLE;
+    field public static final int DENSITY_HIGH = 240; // 0xf0
+    field public static final int DENSITY_LOW = 120; // 0x78
+    field public static final int DENSITY_MEDIUM = 160; // 0xa0
+    field public static final int DENSITY_TV = 213; // 0xd5
+    field public static final int DENSITY_XHIGH = 320; // 0x140
+    field public static final int DENSITY_XXHIGH = 480; // 0x1e0
+    field public static final int DENSITY_XXXHIGH = 640; // 0x280
+    field public float density;
+    field public int densityDpi;
+    field public int heightPixels;
+    field public float scaledDensity;
+    field public int widthPixels;
+    field public float xdpi;
+    field public float ydpi;
+  }
+
+  public class EventLog {
+    method public static int getTagCode(String);
+    method public static String getTagName(int);
+    method public static void readEvents(int[], java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
+    method public static int writeEvent(int, int);
+    method public static int writeEvent(int, long);
+    method public static int writeEvent(int, float);
+    method public static int writeEvent(int, String);
+    method public static int writeEvent(int, java.lang.Object...);
+  }
+
+  public static final class EventLog.Event {
+    method public Object getData();
+    method public int getProcessId();
+    method public int getTag();
+    method public int getThreadId();
+    method public long getTimeNanos();
+  }
+
+  @Deprecated public class EventLogTags {
+    ctor @Deprecated public EventLogTags() throws java.io.IOException;
+    ctor @Deprecated public EventLogTags(java.io.BufferedReader) throws java.io.IOException;
+    method @Deprecated public android.util.EventLogTags.Description get(String);
+    method @Deprecated public android.util.EventLogTags.Description get(int);
+  }
+
+  @Deprecated public static class EventLogTags.Description {
+    field @Deprecated public final String mName;
+    field @Deprecated public final int mTag;
+  }
+
+  @Deprecated public class FloatMath {
+  }
+
+  public abstract class FloatProperty<T> extends android.util.Property<T,java.lang.Float> {
+    ctor public FloatProperty(String);
+    method public final void set(T, Float);
+    method public abstract void setValue(T, float);
+  }
+
+  public final class Half extends java.lang.Number implements java.lang.Comparable<android.util.Half> {
+    ctor public Half(@HalfFloat short);
+    ctor public Half(float);
+    ctor public Half(double);
+    ctor public Half(@NonNull String) throws java.lang.NumberFormatException;
+    method @HalfFloat public static short abs(@HalfFloat short);
+    method @HalfFloat public static short ceil(@HalfFloat short);
+    method public static int compare(@HalfFloat short, @HalfFloat short);
+    method public int compareTo(@NonNull android.util.Half);
+    method @HalfFloat public static short copySign(@HalfFloat short, @HalfFloat short);
+    method public double doubleValue();
+    method public static boolean equals(@HalfFloat short, @HalfFloat short);
+    method public float floatValue();
+    method @HalfFloat public static short floor(@HalfFloat short);
+    method public static int getExponent(@HalfFloat short);
+    method public static int getSign(@HalfFloat short);
+    method public static int getSignificand(@HalfFloat short);
+    method public static boolean greater(@HalfFloat short, @HalfFloat short);
+    method public static boolean greaterEquals(@HalfFloat short, @HalfFloat short);
+    method public static int halfToIntBits(@HalfFloat short);
+    method public static int halfToRawIntBits(@HalfFloat short);
+    method @HalfFloat public static short halfToShortBits(@HalfFloat short);
+    method @HalfFloat public short halfValue();
+    method public static int hashCode(@HalfFloat short);
+    method @HalfFloat public static short intBitsToHalf(int);
+    method public int intValue();
+    method public static boolean isInfinite(@HalfFloat short);
+    method public boolean isNaN();
+    method public static boolean isNaN(@HalfFloat short);
+    method public static boolean isNormalized(@HalfFloat short);
+    method public static boolean less(@HalfFloat short, @HalfFloat short);
+    method public static boolean lessEquals(@HalfFloat short, @HalfFloat short);
+    method public long longValue();
+    method @HalfFloat public static short max(@HalfFloat short, @HalfFloat short);
+    method @HalfFloat public static short min(@HalfFloat short, @HalfFloat short);
+    method @HalfFloat public static short parseHalf(@NonNull String) throws java.lang.NumberFormatException;
+    method @HalfFloat public static short round(@HalfFloat short);
+    method public static float toFloat(@HalfFloat short);
+    method @HalfFloat public static short toHalf(float);
+    method @NonNull public static String toHexString(@HalfFloat short);
+    method @NonNull public static String toString(@HalfFloat short);
+    method @HalfFloat public static short trunc(@HalfFloat short);
+    method @NonNull public static android.util.Half valueOf(@HalfFloat short);
+    method @NonNull public static android.util.Half valueOf(float);
+    method @NonNull public static android.util.Half valueOf(@NonNull String);
+    field @HalfFloat public static final short EPSILON = 5120; // 0x1400
+    field @HalfFloat public static final short LOWEST_VALUE = -1025; // 0xfffffbff
+    field public static final int MAX_EXPONENT = 15; // 0xf
+    field @HalfFloat public static final short MAX_VALUE = 31743; // 0x7bff
+    field public static final int MIN_EXPONENT = -14; // 0xfffffff2
+    field @HalfFloat public static final short MIN_NORMAL = 1024; // 0x400
+    field @HalfFloat public static final short MIN_VALUE = 1; // 0x1
+    field @HalfFloat public static final short NEGATIVE_INFINITY = -1024; // 0xfffffc00
+    field @HalfFloat public static final short NEGATIVE_ZERO = -32768; // 0xffff8000
+    field @HalfFloat public static final short NaN = 32256; // 0x7e00
+    field @HalfFloat public static final short POSITIVE_INFINITY = 31744; // 0x7c00
+    field @HalfFloat public static final short POSITIVE_ZERO = 0; // 0x0
+    field public static final int SIZE = 16; // 0x10
+  }
+
+  public abstract class IntProperty<T> extends android.util.Property<T,java.lang.Integer> {
+    ctor public IntProperty(String);
+    method public final void set(T, Integer);
+    method public abstract void setValue(T, int);
+  }
+
+  public final class JsonReader implements java.io.Closeable {
+    ctor public JsonReader(java.io.Reader);
+    method public void beginArray() throws java.io.IOException;
+    method public void beginObject() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void endArray() throws java.io.IOException;
+    method public void endObject() throws java.io.IOException;
+    method public boolean hasNext() throws java.io.IOException;
+    method public boolean isLenient();
+    method public boolean nextBoolean() throws java.io.IOException;
+    method public double nextDouble() throws java.io.IOException;
+    method public int nextInt() throws java.io.IOException;
+    method public long nextLong() throws java.io.IOException;
+    method public String nextName() throws java.io.IOException;
+    method public void nextNull() throws java.io.IOException;
+    method public String nextString() throws java.io.IOException;
+    method public android.util.JsonToken peek() throws java.io.IOException;
+    method public void setLenient(boolean);
+    method public void skipValue() throws java.io.IOException;
+  }
+
+  public enum JsonToken {
+    enum_constant public static final android.util.JsonToken BEGIN_ARRAY;
+    enum_constant public static final android.util.JsonToken BEGIN_OBJECT;
+    enum_constant public static final android.util.JsonToken BOOLEAN;
+    enum_constant public static final android.util.JsonToken END_ARRAY;
+    enum_constant public static final android.util.JsonToken END_DOCUMENT;
+    enum_constant public static final android.util.JsonToken END_OBJECT;
+    enum_constant public static final android.util.JsonToken NAME;
+    enum_constant public static final android.util.JsonToken NULL;
+    enum_constant public static final android.util.JsonToken NUMBER;
+    enum_constant public static final android.util.JsonToken STRING;
+  }
+
+  public final class JsonWriter implements java.io.Closeable {
+    ctor public JsonWriter(java.io.Writer);
+    method public android.util.JsonWriter beginArray() throws java.io.IOException;
+    method public android.util.JsonWriter beginObject() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public android.util.JsonWriter endArray() throws java.io.IOException;
+    method public android.util.JsonWriter endObject() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public boolean isLenient();
+    method public android.util.JsonWriter name(String) throws java.io.IOException;
+    method public android.util.JsonWriter nullValue() throws java.io.IOException;
+    method public void setIndent(String);
+    method public void setLenient(boolean);
+    method public android.util.JsonWriter value(String) throws java.io.IOException;
+    method public android.util.JsonWriter value(boolean) throws java.io.IOException;
+    method public android.util.JsonWriter value(double) throws java.io.IOException;
+    method public android.util.JsonWriter value(long) throws java.io.IOException;
+    method public android.util.JsonWriter value(Number) throws java.io.IOException;
+  }
+
+  public final class LayoutDirection {
+    field public static final int INHERIT = 2; // 0x2
+    field public static final int LOCALE = 3; // 0x3
+    field public static final int LTR = 0; // 0x0
+    field public static final int RTL = 1; // 0x1
+  }
+
+  public final class Log {
+    method public static int d(@Nullable String, @NonNull String);
+    method public static int d(@Nullable String, @Nullable String, @Nullable Throwable);
+    method public static int e(@Nullable String, @NonNull String);
+    method public static int e(@Nullable String, @Nullable String, @Nullable Throwable);
+    method @NonNull public static String getStackTraceString(@Nullable Throwable);
+    method public static int i(@Nullable String, @NonNull String);
+    method public static int i(@Nullable String, @Nullable String, @Nullable Throwable);
+    method public static boolean isLoggable(@Nullable @Size(max=23, apis="..23") String, int);
+    method public static int println(int, @Nullable String, @NonNull String);
+    method public static int v(@Nullable String, @NonNull String);
+    method public static int v(@Nullable String, @Nullable String, @Nullable Throwable);
+    method public static int w(@Nullable String, @NonNull String);
+    method public static int w(@Nullable String, @Nullable String, @Nullable Throwable);
+    method public static int w(@Nullable String, @Nullable Throwable);
+    method public static int wtf(@Nullable String, @Nullable String);
+    method public static int wtf(@Nullable String, @NonNull Throwable);
+    method public static int wtf(@Nullable String, @Nullable String, @Nullable Throwable);
+    field public static final int ASSERT = 7; // 0x7
+    field public static final int DEBUG = 3; // 0x3
+    field public static final int ERROR = 6; // 0x6
+    field public static final int INFO = 4; // 0x4
+    field public static final int VERBOSE = 2; // 0x2
+    field public static final int WARN = 5; // 0x5
+  }
+
+  public class LogPrinter implements android.util.Printer {
+    ctor public LogPrinter(int, String);
+    method public void println(String);
+  }
+
+  public class LongSparseArray<E> implements java.lang.Cloneable {
+    ctor public LongSparseArray();
+    ctor public LongSparseArray(int);
+    method public void append(long, E);
+    method public void clear();
+    method public android.util.LongSparseArray<E> clone();
+    method public void delete(long);
+    method public E get(long);
+    method public E get(long, E);
+    method public int indexOfKey(long);
+    method public int indexOfValue(E);
+    method public long keyAt(int);
+    method public void put(long, E);
+    method public void remove(long);
+    method public void removeAt(int);
+    method public void setValueAt(int, E);
+    method public int size();
+    method public E valueAt(int);
+  }
+
+  public class LruCache<K, V> {
+    ctor public LruCache(int);
+    method protected V create(K);
+    method public final int createCount();
+    method protected void entryRemoved(boolean, K, V, V);
+    method public final void evictAll();
+    method public final int evictionCount();
+    method public final V get(K);
+    method public final int hitCount();
+    method public final int maxSize();
+    method public final int missCount();
+    method public final V put(K, V);
+    method public final int putCount();
+    method public final V remove(K);
+    method public void resize(int);
+    method public final int size();
+    method protected int sizeOf(K, V);
+    method public final java.util.Map<K,V> snapshot();
+    method public final String toString();
+    method public void trimToSize(int);
+  }
+
+  public final class MalformedJsonException extends java.io.IOException {
+    ctor public MalformedJsonException(String);
+  }
+
+  public class MonthDisplayHelper {
+    ctor public MonthDisplayHelper(int, int, int);
+    ctor public MonthDisplayHelper(int, int);
+    method public int getColumnOf(int);
+    method public int getDayAt(int, int);
+    method public int[] getDigitsForRow(int);
+    method public int getFirstDayOfMonth();
+    method public int getMonth();
+    method public int getNumberOfDaysInMonth();
+    method public int getOffset();
+    method public int getRowOf(int);
+    method public int getWeekStartDay();
+    method public int getYear();
+    method public boolean isWithinCurrentMonth(int, int);
+    method public void nextMonth();
+    method public void previousMonth();
+  }
+
+  @Deprecated public final class MutableBoolean {
+    ctor @Deprecated public MutableBoolean(boolean);
+    field @Deprecated public boolean value;
+  }
+
+  @Deprecated public final class MutableByte {
+    ctor @Deprecated public MutableByte(byte);
+    field @Deprecated public byte value;
+  }
+
+  @Deprecated public final class MutableChar {
+    ctor @Deprecated public MutableChar(char);
+    field @Deprecated public char value;
+  }
+
+  @Deprecated public final class MutableDouble {
+    ctor @Deprecated public MutableDouble(double);
+    field @Deprecated public double value;
+  }
+
+  @Deprecated public final class MutableFloat {
+    ctor @Deprecated public MutableFloat(float);
+    field @Deprecated public float value;
+  }
+
+  @Deprecated public final class MutableInt {
+    ctor @Deprecated public MutableInt(int);
+    field @Deprecated public int value;
+  }
+
+  @Deprecated public final class MutableLong {
+    ctor @Deprecated public MutableLong(long);
+    field @Deprecated public long value;
+  }
+
+  @Deprecated public final class MutableShort {
+    ctor @Deprecated public MutableShort(short);
+    field @Deprecated public short value;
+  }
+
+  public class NoSuchPropertyException extends java.lang.RuntimeException {
+    ctor public NoSuchPropertyException(String);
+  }
+
+  public class Pair<F, S> {
+    ctor public Pair(F, S);
+    method public static <A, B> android.util.Pair<A,B> create(A, B);
+    field public final F first;
+    field public final S second;
+  }
+
+  public class Patterns {
+    method public static final String concatGroups(java.util.regex.Matcher);
+    method public static final String digitsAndPlusOnly(java.util.regex.Matcher);
+    field public static final java.util.regex.Pattern DOMAIN_NAME;
+    field public static final java.util.regex.Pattern EMAIL_ADDRESS;
+    field @Deprecated public static final String GOOD_IRI_CHAR = "a-zA-Z0-9\u00a0-\ud7ff\uf900-\ufdcf\ufdf0-\uffef";
+    field @Deprecated public static final java.util.regex.Pattern IP_ADDRESS;
+    field public static final java.util.regex.Pattern PHONE;
+    field @Deprecated public static final java.util.regex.Pattern TOP_LEVEL_DOMAIN;
+    field @Deprecated public static final String TOP_LEVEL_DOMAIN_STR = "((aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(biz|b[abdefghijmnorstvwyz])|(cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(edu|e[cegrstu])|f[ijkmor]|(gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(info|int|i[delmnoqrst])|(jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(name|net|n[acefgilopruz])|(org|om)|(pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae|\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435|\u0440\u0444|\u0441\u0440\u0431|\u05d8\u05e2\u05e1\u05d8|\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc|\u0625\u062e\u062a\u0628\u0627\u0631|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0633\u0648\u0631\u064a\u0629|\u0641\u0644\u0633\u0637\u064a\u0646|\u0642\u0637\u0631|\u0645\u0635\u0631|\u092a\u0930\u0940\u0915\u094d\u0937\u093e|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e44\u0e17\u0e22|\u30c6\u30b9\u30c8|\u4e2d\u56fd|\u4e2d\u570b|\u53f0\u6e7e|\u53f0\u7063|\u65b0\u52a0\u5761|\u6d4b\u8bd5|\u6e2c\u8a66|\u9999\u6e2f|\ud14c\uc2a4\ud2b8|\ud55c\uad6d|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)|y[et]|z[amw])";
+    field @Deprecated public static final String TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL = "(?:(?:aero|arpa|asia|a[cdefgilmnoqrstuwxz])|(?:biz|b[abdefghijmnorstvwyz])|(?:cat|com|coop|c[acdfghiklmnoruvxyz])|d[ejkmoz]|(?:edu|e[cegrstu])|f[ijkmor]|(?:gov|g[abdefghilmnpqrstuwy])|h[kmnrtu]|(?:info|int|i[delmnoqrst])|(?:jobs|j[emop])|k[eghimnprwyz]|l[abcikrstuvy]|(?:mil|mobi|museum|m[acdeghklmnopqrstuvwxyz])|(?:name|net|n[acefgilopruz])|(?:org|om)|(?:pro|p[aefghklmnrstwy])|qa|r[eosuw]|s[abcdeghijklmnortuvyz]|(?:tel|travel|t[cdfghjklmnoprtvwz])|u[agksyz]|v[aceginu]|w[fs]|(?:\u03b4\u03bf\u03ba\u03b9\u03bc\u03ae|\u0438\u0441\u043f\u044b\u0442\u0430\u043d\u0438\u0435|\u0440\u0444|\u0441\u0440\u0431|\u05d8\u05e2\u05e1\u05d8|\u0622\u0632\u0645\u0627\u06cc\u0634\u06cc|\u0625\u062e\u062a\u0628\u0627\u0631|\u0627\u0644\u0627\u0631\u062f\u0646|\u0627\u0644\u062c\u0632\u0627\u0626\u0631|\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629|\u0627\u0644\u0645\u063a\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062a|\u0628\u06be\u0627\u0631\u062a|\u062a\u0648\u0646\u0633|\u0633\u0648\u0631\u064a\u0629|\u0641\u0644\u0633\u0637\u064a\u0646|\u0642\u0637\u0631|\u0645\u0635\u0631|\u092a\u0930\u0940\u0915\u094d\u0937\u093e|\u092d\u093e\u0930\u0924|\u09ad\u09be\u09b0\u09a4|\u0a2d\u0a3e\u0a30\u0a24|\u0aad\u0abe\u0ab0\u0aa4|\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe|\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8|\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd|\u0baa\u0bb0\u0bbf\u0b9f\u0bcd\u0b9a\u0bc8|\u0c2d\u0c3e\u0c30\u0c24\u0c4d|\u0dbd\u0d82\u0d9a\u0dcf|\u0e44\u0e17\u0e22|\u30c6\u30b9\u30c8|\u4e2d\u56fd|\u4e2d\u570b|\u53f0\u6e7e|\u53f0\u7063|\u65b0\u52a0\u5761|\u6d4b\u8bd5|\u6e2c\u8a66|\u9999\u6e2f|\ud14c\uc2a4\ud2b8|\ud55c\uad6d|xn\\-\\-0zwm56d|xn\\-\\-11b5bs3a9aj6g|xn\\-\\-3e0b707e|xn\\-\\-45brj9c|xn\\-\\-80akhbyknj4f|xn\\-\\-90a3ac|xn\\-\\-9t4b11yi5a|xn\\-\\-clchc0ea0b2g2a9gcd|xn\\-\\-deba0ad|xn\\-\\-fiqs8s|xn\\-\\-fiqz9s|xn\\-\\-fpcrj9c3d|xn\\-\\-fzc2c9e2c|xn\\-\\-g6w251d|xn\\-\\-gecrj9c|xn\\-\\-h2brj9c|xn\\-\\-hgbk6aj7f53bba|xn\\-\\-hlcj6aya9esc7a|xn\\-\\-j6w193g|xn\\-\\-jxalpdlp|xn\\-\\-kgbechtv|xn\\-\\-kprw13d|xn\\-\\-kpry57d|xn\\-\\-lgbbat1ad8j|xn\\-\\-mgbaam7a8h|xn\\-\\-mgbayh7gpa|xn\\-\\-mgbbh1a71e|xn\\-\\-mgbc0a9azcg|xn\\-\\-mgberp4a5d4ar|xn\\-\\-o3cw4h|xn\\-\\-ogbpf8fl|xn\\-\\-p1ai|xn\\-\\-pgbs0dh|xn\\-\\-s9brj9c|xn\\-\\-wgbh1c|xn\\-\\-wgbl6a|xn\\-\\-xkc2al3hye2a|xn\\-\\-xkc2dl3a5ee0h|xn\\-\\-yfro4i67o|xn\\-\\-ygbi2ammx|xn\\-\\-zckzah|xxx)|y[et]|z[amw]))";
+    field public static final java.util.regex.Pattern WEB_URL;
+  }
+
+  public class PrintStreamPrinter implements android.util.Printer {
+    ctor public PrintStreamPrinter(java.io.PrintStream);
+    method public void println(String);
+  }
+
+  public class PrintWriterPrinter implements android.util.Printer {
+    ctor public PrintWriterPrinter(java.io.PrintWriter);
+    method public void println(String);
+  }
+
+  public interface Printer {
+    method public void println(String);
+  }
+
+  public abstract class Property<T, V> {
+    ctor public Property(Class<V>, String);
+    method public abstract V get(T);
+    method public String getName();
+    method public Class<V> getType();
+    method public boolean isReadOnly();
+    method public static <T, V> android.util.Property<T,V> of(Class<T>, Class<V>, String);
+    method public void set(T, V);
+  }
+
+  public final class Range<T extends java.lang.Comparable<? super T>> {
+    ctor public Range(T, T);
+    method public T clamp(T);
+    method public boolean contains(T);
+    method public boolean contains(android.util.Range<T>);
+    method public static <T extends java.lang.Comparable<? super T>> android.util.Range<T> create(T, T);
+    method public android.util.Range<T> extend(android.util.Range<T>);
+    method public android.util.Range<T> extend(T, T);
+    method public android.util.Range<T> extend(T);
+    method public T getLower();
+    method public T getUpper();
+    method public android.util.Range<T> intersect(android.util.Range<T>);
+    method public android.util.Range<T> intersect(T, T);
+  }
+
+  public final class Rational extends java.lang.Number implements java.lang.Comparable<android.util.Rational> {
+    ctor public Rational(int, int);
+    method public int compareTo(android.util.Rational);
+    method public double doubleValue();
+    method public float floatValue();
+    method public int getDenominator();
+    method public int getNumerator();
+    method public int intValue();
+    method public boolean isFinite();
+    method public boolean isInfinite();
+    method public boolean isNaN();
+    method public boolean isZero();
+    method public long longValue();
+    method public static android.util.Rational parseRational(String) throws java.lang.NumberFormatException;
+    field public static final android.util.Rational NEGATIVE_INFINITY;
+    field public static final android.util.Rational NaN;
+    field public static final android.util.Rational POSITIVE_INFINITY;
+    field public static final android.util.Rational ZERO;
+  }
+
+  public final class Size {
+    ctor public Size(int, int);
+    method public int getHeight();
+    method public int getWidth();
+    method public static android.util.Size parseSize(String) throws java.lang.NumberFormatException;
+  }
+
+  public final class SizeF implements android.os.Parcelable {
+    ctor public SizeF(float, float);
+    method public int describeContents();
+    method public float getHeight();
+    method public float getWidth();
+    method public static android.util.SizeF parseSizeF(String) throws java.lang.NumberFormatException;
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.util.SizeF> CREATOR;
+  }
+
+  public class SparseArray<E> implements java.lang.Cloneable {
+    ctor public SparseArray();
+    ctor public SparseArray(int);
+    method public void append(int, E);
+    method public void clear();
+    method public android.util.SparseArray<E> clone();
+    method public boolean contains(int);
+    method public boolean contentEquals(@Nullable android.util.SparseArray<?>);
+    method public int contentHashCode();
+    method public void delete(int);
+    method public E get(int);
+    method public E get(int, E);
+    method public int indexOfKey(int);
+    method public int indexOfValue(E);
+    method public int keyAt(int);
+    method public void put(int, E);
+    method public void remove(int);
+    method public void removeAt(int);
+    method public void removeAtRange(int, int);
+    method public void set(int, E);
+    method public void setValueAt(int, E);
+    method public int size();
+    method public E valueAt(int);
+  }
+
+  public class SparseBooleanArray implements java.lang.Cloneable {
+    ctor public SparseBooleanArray();
+    ctor public SparseBooleanArray(int);
+    method public void append(int, boolean);
+    method public void clear();
+    method public android.util.SparseBooleanArray clone();
+    method public void delete(int);
+    method public boolean get(int);
+    method public boolean get(int, boolean);
+    method public int indexOfKey(int);
+    method public int indexOfValue(boolean);
+    method public int keyAt(int);
+    method public void put(int, boolean);
+    method public void removeAt(int);
+    method public void setValueAt(int, boolean);
+    method public int size();
+    method public boolean valueAt(int);
+  }
+
+  public class SparseIntArray implements java.lang.Cloneable {
+    ctor public SparseIntArray();
+    ctor public SparseIntArray(int);
+    method public void append(int, int);
+    method public void clear();
+    method public android.util.SparseIntArray clone();
+    method public void delete(int);
+    method public int get(int);
+    method public int get(int, int);
+    method public int indexOfKey(int);
+    method public int indexOfValue(int);
+    method public int keyAt(int);
+    method public void put(int, int);
+    method public void removeAt(int);
+    method public void setValueAt(int, int);
+    method public int size();
+    method public int valueAt(int);
+  }
+
+  public class SparseLongArray implements java.lang.Cloneable {
+    ctor public SparseLongArray();
+    ctor public SparseLongArray(int);
+    method public void append(int, long);
+    method public void clear();
+    method public android.util.SparseLongArray clone();
+    method public void delete(int);
+    method public long get(int);
+    method public long get(int, long);
+    method public int indexOfKey(int);
+    method public int indexOfValue(long);
+    method public int keyAt(int);
+    method public void put(int, long);
+    method public void removeAt(int);
+    method public int size();
+    method public long valueAt(int);
+  }
+
+  public class StateSet {
+    method public static String dump(int[]);
+    method public static boolean isWildCard(int[]);
+    method public static boolean stateSetMatches(int[], int[]);
+    method public static boolean stateSetMatches(int[], int);
+    method public static int[] trimStateSet(int[], int);
+    field public static final int[] NOTHING;
+    field public static final int[] WILD_CARD;
+  }
+
+  public final class StatsLog {
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public static boolean logBinaryPushStateChanged(@NonNull String, long, int, int, @NonNull long[]);
+    method public static boolean logEvent(int);
+    method public static boolean logStart(int);
+    method public static boolean logStop(int);
+  }
+
+  public class StringBuilderPrinter implements android.util.Printer {
+    ctor public StringBuilderPrinter(StringBuilder);
+    method public void println(String);
+  }
+
+  public class TimeFormatException extends java.lang.RuntimeException {
+  }
+
+  public class TimeUtils {
+    method public static java.util.TimeZone getTimeZone(int, boolean, long, String);
+    method public static String getTimeZoneDatabaseVersion();
+    method @Nullable public static java.util.List<java.lang.String> getTimeZoneIdsForCountryCode(@NonNull String);
+    method public static boolean isTimeBetween(@NonNull java.time.LocalTime, @NonNull java.time.LocalTime, @NonNull java.time.LocalTime);
+  }
+
+  @Deprecated public class TimingLogger {
+    ctor @Deprecated public TimingLogger(String, String);
+    method @Deprecated public void addSplit(String);
+    method @Deprecated public void dumpToLog();
+    method @Deprecated public void reset(String, String);
+    method @Deprecated public void reset();
+  }
+
+  public class TypedValue {
+    ctor public TypedValue();
+    method public static float applyDimension(int, float, android.util.DisplayMetrics);
+    method public final CharSequence coerceToString();
+    method public static final String coerceToString(int, int);
+    method public static float complexToDimension(int, android.util.DisplayMetrics);
+    method public static int complexToDimensionPixelOffset(int, android.util.DisplayMetrics);
+    method public static int complexToDimensionPixelSize(int, android.util.DisplayMetrics);
+    method public static float complexToFloat(int);
+    method public static float complexToFraction(int, float, float);
+    method public int getComplexUnit();
+    method public float getDimension(android.util.DisplayMetrics);
+    method public final float getFloat();
+    method public float getFraction(float, float);
+    method public boolean isColorType();
+    method public void setTo(android.util.TypedValue);
+    field public static final int COMPLEX_MANTISSA_MASK = 16777215; // 0xffffff
+    field public static final int COMPLEX_MANTISSA_SHIFT = 8; // 0x8
+    field public static final int COMPLEX_RADIX_0p23 = 3; // 0x3
+    field public static final int COMPLEX_RADIX_16p7 = 1; // 0x1
+    field public static final int COMPLEX_RADIX_23p0 = 0; // 0x0
+    field public static final int COMPLEX_RADIX_8p15 = 2; // 0x2
+    field public static final int COMPLEX_RADIX_MASK = 3; // 0x3
+    field public static final int COMPLEX_RADIX_SHIFT = 4; // 0x4
+    field public static final int COMPLEX_UNIT_DIP = 1; // 0x1
+    field public static final int COMPLEX_UNIT_FRACTION = 0; // 0x0
+    field public static final int COMPLEX_UNIT_FRACTION_PARENT = 1; // 0x1
+    field public static final int COMPLEX_UNIT_IN = 4; // 0x4
+    field public static final int COMPLEX_UNIT_MASK = 15; // 0xf
+    field public static final int COMPLEX_UNIT_MM = 5; // 0x5
+    field public static final int COMPLEX_UNIT_PT = 3; // 0x3
+    field public static final int COMPLEX_UNIT_PX = 0; // 0x0
+    field public static final int COMPLEX_UNIT_SHIFT = 0; // 0x0
+    field public static final int COMPLEX_UNIT_SP = 2; // 0x2
+    field public static final int DATA_NULL_EMPTY = 1; // 0x1
+    field public static final int DATA_NULL_UNDEFINED = 0; // 0x0
+    field public static final int DENSITY_DEFAULT = 0; // 0x0
+    field public static final int DENSITY_NONE = 65535; // 0xffff
+    field public static final int TYPE_ATTRIBUTE = 2; // 0x2
+    field public static final int TYPE_DIMENSION = 5; // 0x5
+    field public static final int TYPE_FIRST_COLOR_INT = 28; // 0x1c
+    field public static final int TYPE_FIRST_INT = 16; // 0x10
+    field public static final int TYPE_FLOAT = 4; // 0x4
+    field public static final int TYPE_FRACTION = 6; // 0x6
+    field public static final int TYPE_INT_BOOLEAN = 18; // 0x12
+    field public static final int TYPE_INT_COLOR_ARGB4 = 30; // 0x1e
+    field public static final int TYPE_INT_COLOR_ARGB8 = 28; // 0x1c
+    field public static final int TYPE_INT_COLOR_RGB4 = 31; // 0x1f
+    field public static final int TYPE_INT_COLOR_RGB8 = 29; // 0x1d
+    field public static final int TYPE_INT_DEC = 16; // 0x10
+    field public static final int TYPE_INT_HEX = 17; // 0x11
+    field public static final int TYPE_LAST_COLOR_INT = 31; // 0x1f
+    field public static final int TYPE_LAST_INT = 31; // 0x1f
+    field public static final int TYPE_NULL = 0; // 0x0
+    field public static final int TYPE_REFERENCE = 1; // 0x1
+    field public static final int TYPE_STRING = 3; // 0x3
+    field public int assetCookie;
+    field public int changingConfigurations;
+    field public int data;
+    field public int density;
+    field @AnyRes public int resourceId;
+    field public int sourceResourceId;
+    field public CharSequence string;
+    field public int type;
+  }
+
+  public class Xml {
+    method public static android.util.AttributeSet asAttributeSet(org.xmlpull.v1.XmlPullParser);
+    method public static android.util.Xml.Encoding findEncodingByName(String) throws java.io.UnsupportedEncodingException;
+    method public static org.xmlpull.v1.XmlPullParser newPullParser();
+    method public static org.xmlpull.v1.XmlSerializer newSerializer();
+    method public static void parse(String, org.xml.sax.ContentHandler) throws org.xml.sax.SAXException;
+    method public static void parse(java.io.Reader, org.xml.sax.ContentHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    method public static void parse(java.io.InputStream, android.util.Xml.Encoding, org.xml.sax.ContentHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    field public static String FEATURE_RELAXED;
+  }
+
+  public enum Xml.Encoding {
+    enum_constant public static final android.util.Xml.Encoding ISO_8859_1;
+    enum_constant public static final android.util.Xml.Encoding US_ASCII;
+    enum_constant public static final android.util.Xml.Encoding UTF_16;
+    enum_constant public static final android.util.Xml.Encoding UTF_8;
+  }
+
+}
+
+package android.util.proto {
+
+  public final class ProtoOutputStream {
+    ctor public ProtoOutputStream();
+    ctor public ProtoOutputStream(int);
+    ctor public ProtoOutputStream(@NonNull java.io.OutputStream);
+    method public static int checkFieldId(long, long);
+    method public void dump(@NonNull String);
+    method public void end(long);
+    method public void flush();
+    method @NonNull public byte[] getBytes();
+    method @Nullable public static String getFieldCountString(long);
+    method @NonNull public static String getFieldIdString(long);
+    method @Nullable public static String getFieldTypeString(long);
+    method public int getRawSize();
+    method @Nullable public static String getWireTypeString(int);
+    method public static long makeFieldId(int, long);
+    method public static long makeToken(int, boolean, int, int, int);
+    method public long start(long);
+    method @NonNull public static String token2String(long);
+    method public void write(long, double);
+    method public void write(long, float);
+    method public void write(long, int);
+    method public void write(long, long);
+    method public void write(long, boolean);
+    method public void write(long, @Nullable String);
+    method public void write(long, @Nullable byte[]);
+    method public void writeTag(int, int);
+    field public static final long FIELD_COUNT_MASK = 16492674416640L; // 0xf0000000000L
+    field public static final long FIELD_COUNT_PACKED = 5497558138880L; // 0x50000000000L
+    field public static final long FIELD_COUNT_REPEATED = 2199023255552L; // 0x20000000000L
+    field public static final int FIELD_COUNT_SHIFT = 40; // 0x28
+    field public static final long FIELD_COUNT_SINGLE = 1099511627776L; // 0x10000000000L
+    field public static final long FIELD_COUNT_UNKNOWN = 0L; // 0x0L
+    field public static final int FIELD_ID_SHIFT = 3; // 0x3
+    field public static final long FIELD_TYPE_BOOL = 34359738368L; // 0x800000000L
+    field public static final long FIELD_TYPE_BYTES = 51539607552L; // 0xc00000000L
+    field public static final long FIELD_TYPE_DOUBLE = 4294967296L; // 0x100000000L
+    field public static final long FIELD_TYPE_ENUM = 60129542144L; // 0xe00000000L
+    field public static final long FIELD_TYPE_FIXED32 = 30064771072L; // 0x700000000L
+    field public static final long FIELD_TYPE_FIXED64 = 25769803776L; // 0x600000000L
+    field public static final long FIELD_TYPE_FLOAT = 8589934592L; // 0x200000000L
+    field public static final long FIELD_TYPE_INT32 = 21474836480L; // 0x500000000L
+    field public static final long FIELD_TYPE_INT64 = 12884901888L; // 0x300000000L
+    field public static final long FIELD_TYPE_MASK = 1095216660480L; // 0xff00000000L
+    field public static final long FIELD_TYPE_MESSAGE = 47244640256L; // 0xb00000000L
+    field public static final long FIELD_TYPE_SFIXED32 = 64424509440L; // 0xf00000000L
+    field public static final long FIELD_TYPE_SFIXED64 = 68719476736L; // 0x1000000000L
+    field public static final int FIELD_TYPE_SHIFT = 32; // 0x20
+    field public static final long FIELD_TYPE_SINT32 = 73014444032L; // 0x1100000000L
+    field public static final long FIELD_TYPE_SINT64 = 77309411328L; // 0x1200000000L
+    field public static final long FIELD_TYPE_STRING = 38654705664L; // 0x900000000L
+    field public static final long FIELD_TYPE_UINT32 = 55834574848L; // 0xd00000000L
+    field public static final long FIELD_TYPE_UINT64 = 17179869184L; // 0x400000000L
+    field public static final int WIRE_TYPE_END_GROUP = 4; // 0x4
+    field public static final int WIRE_TYPE_FIXED32 = 5; // 0x5
+    field public static final int WIRE_TYPE_FIXED64 = 1; // 0x1
+    field public static final int WIRE_TYPE_LENGTH_DELIMITED = 2; // 0x2
+    field public static final int WIRE_TYPE_MASK = 7; // 0x7
+    field public static final int WIRE_TYPE_START_GROUP = 3; // 0x3
+    field public static final int WIRE_TYPE_VARINT = 0; // 0x0
+  }
+
+}
+
+package android.view {
+
+  public abstract class AbsSavedState implements android.os.Parcelable {
+    ctor protected AbsSavedState(android.os.Parcelable);
+    ctor protected AbsSavedState(android.os.Parcel);
+    ctor protected AbsSavedState(android.os.Parcel, ClassLoader);
+    method public int describeContents();
+    method public final android.os.Parcelable getSuperState();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.AbsSavedState> CREATOR;
+    field public static final android.view.AbsSavedState EMPTY_STATE;
+  }
+
+  public abstract class ActionMode {
+    ctor public ActionMode();
+    method public abstract void finish();
+    method public abstract android.view.View getCustomView();
+    method public abstract android.view.Menu getMenu();
+    method public abstract android.view.MenuInflater getMenuInflater();
+    method public abstract CharSequence getSubtitle();
+    method public Object getTag();
+    method public abstract CharSequence getTitle();
+    method public boolean getTitleOptionalHint();
+    method public int getType();
+    method public void hide(long);
+    method public abstract void invalidate();
+    method public void invalidateContentRect();
+    method public boolean isTitleOptional();
+    method public void onWindowFocusChanged(boolean);
+    method public abstract void setCustomView(android.view.View);
+    method public abstract void setSubtitle(CharSequence);
+    method public abstract void setSubtitle(@StringRes int);
+    method public void setTag(Object);
+    method public abstract void setTitle(CharSequence);
+    method public abstract void setTitle(@StringRes int);
+    method public void setTitleOptionalHint(boolean);
+    method public void setType(int);
+    field public static final int DEFAULT_HIDE_DURATION = -1; // 0xffffffff
+    field public static final int TYPE_FLOATING = 1; // 0x1
+    field public static final int TYPE_PRIMARY = 0; // 0x0
+  }
+
+  public static interface ActionMode.Callback {
+    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
+    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
+    method public void onDestroyActionMode(android.view.ActionMode);
+    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
+  }
+
+  public abstract static class ActionMode.Callback2 implements android.view.ActionMode.Callback {
+    ctor public ActionMode.Callback2();
+    method public void onGetContentRect(android.view.ActionMode, android.view.View, android.graphics.Rect);
+  }
+
+  public abstract class ActionProvider {
+    ctor public ActionProvider(android.content.Context);
+    method public boolean hasSubMenu();
+    method public boolean isVisible();
+    method @Deprecated public abstract android.view.View onCreateActionView();
+    method public android.view.View onCreateActionView(android.view.MenuItem);
+    method public boolean onPerformDefaultAction();
+    method public void onPrepareSubMenu(android.view.SubMenu);
+    method public boolean overridesItemVisibility();
+    method public void refreshVisibility();
+    method public void setVisibilityListener(android.view.ActionProvider.VisibilityListener);
+  }
+
+  public static interface ActionProvider.VisibilityListener {
+    method public void onActionProviderVisibilityChanged(boolean);
+  }
+
+  @UiThread public interface AttachedSurfaceControl {
+    method public default void addOnBufferTransformHintChangedListener(@NonNull android.view.AttachedSurfaceControl.OnBufferTransformHintChangedListener);
+    method public boolean applyTransactionOnDraw(@NonNull android.view.SurfaceControl.Transaction);
+    method @Nullable public android.view.SurfaceControl.Transaction buildReparentTransaction(@NonNull android.view.SurfaceControl);
+    method public default int getBufferTransformHint();
+    method public default void removeOnBufferTransformHintChangedListener(@NonNull android.view.AttachedSurfaceControl.OnBufferTransformHintChangedListener);
+  }
+
+  @UiThread public static interface AttachedSurfaceControl.OnBufferTransformHintChangedListener {
+    method public void onBufferTransformHintChanged(int);
+  }
+
+  public final class Choreographer {
+    method public static android.view.Choreographer getInstance();
+    method public void postFrameCallback(android.view.Choreographer.FrameCallback);
+    method public void postFrameCallbackDelayed(android.view.Choreographer.FrameCallback, long);
+    method public void removeFrameCallback(android.view.Choreographer.FrameCallback);
+  }
+
+  public static interface Choreographer.FrameCallback {
+    method public void doFrame(long);
+  }
+
+  public interface CollapsibleActionView {
+    method public void onActionViewCollapsed();
+    method public void onActionViewExpanded();
+  }
+
+  public final class ContentInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.ClipData getClip();
+    method @Nullable public android.os.Bundle getExtras();
+    method public int getFlags();
+    method @Nullable public android.net.Uri getLinkUri();
+    method public int getSource();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.ContentInfo> CREATOR;
+    field public static final int FLAG_CONVERT_TO_PLAIN_TEXT = 1; // 0x1
+    field public static final int SOURCE_APP = 0; // 0x0
+    field public static final int SOURCE_AUTOFILL = 4; // 0x4
+    field public static final int SOURCE_CLIPBOARD = 1; // 0x1
+    field public static final int SOURCE_DRAG_AND_DROP = 3; // 0x3
+    field public static final int SOURCE_INPUT_METHOD = 2; // 0x2
+    field public static final int SOURCE_PROCESS_TEXT = 5; // 0x5
+  }
+
+  public static final class ContentInfo.Builder {
+    ctor public ContentInfo.Builder(@NonNull android.view.ContentInfo);
+    ctor public ContentInfo.Builder(@NonNull android.content.ClipData, int);
+    method @NonNull public android.view.ContentInfo build();
+    method @NonNull public android.view.ContentInfo.Builder setClip(@NonNull android.content.ClipData);
+    method @NonNull public android.view.ContentInfo.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.ContentInfo.Builder setFlags(int);
+    method @NonNull public android.view.ContentInfo.Builder setLinkUri(@Nullable android.net.Uri);
+    method @NonNull public android.view.ContentInfo.Builder setSource(int);
+  }
+
+  public interface ContextMenu extends android.view.Menu {
+    method public void clearHeader();
+    method public android.view.ContextMenu setHeaderIcon(@DrawableRes int);
+    method public android.view.ContextMenu setHeaderIcon(android.graphics.drawable.Drawable);
+    method public android.view.ContextMenu setHeaderTitle(@StringRes int);
+    method public android.view.ContextMenu setHeaderTitle(CharSequence);
+    method public android.view.ContextMenu setHeaderView(android.view.View);
+  }
+
+  public static interface ContextMenu.ContextMenuInfo {
+  }
+
+  public class ContextThemeWrapper extends android.content.ContextWrapper {
+    ctor public ContextThemeWrapper();
+    ctor public ContextThemeWrapper(android.content.Context, @StyleRes int);
+    ctor public ContextThemeWrapper(android.content.Context, android.content.res.Resources.Theme);
+    method public void applyOverrideConfiguration(android.content.res.Configuration);
+    method protected void onApplyThemeResource(android.content.res.Resources.Theme, int, boolean);
+    method public void setTheme(@Nullable android.content.res.Resources.Theme);
+  }
+
+  public final class Display {
+    method public long getAppVsyncOffsetNanos();
+    method public void getCurrentSizeRange(android.graphics.Point, android.graphics.Point);
+    method @Nullable public android.view.DisplayCutout getCutout();
+    method @Nullable public android.hardware.display.DeviceProductInfo getDeviceProductInfo();
+    method public int getDisplayId();
+    method public int getFlags();
+    method public android.view.Display.HdrCapabilities getHdrCapabilities();
+    method @Deprecated public int getHeight();
+    method @Deprecated public void getMetrics(android.util.DisplayMetrics);
+    method public android.view.Display.Mode getMode();
+    method public String getName();
+    method @Deprecated public int getOrientation();
+    method @Deprecated public int getPixelFormat();
+    method @Nullable public android.graphics.ColorSpace getPreferredWideGamutColorSpace();
+    method public long getPresentationDeadlineNanos();
+    method @Deprecated public void getRealMetrics(android.util.DisplayMetrics);
+    method @Deprecated public void getRealSize(android.graphics.Point);
+    method @Deprecated public void getRectSize(android.graphics.Rect);
+    method public float getRefreshRate();
+    method public int getRotation();
+    method @Nullable public android.view.RoundedCorner getRoundedCorner(int);
+    method @Deprecated public void getSize(android.graphics.Point);
+    method public int getState();
+    method public android.view.Display.Mode[] getSupportedModes();
+    method @Deprecated public float[] getSupportedRefreshRates();
+    method @Deprecated public int getWidth();
+    method public boolean isHdr();
+    method public boolean isMinimalPostProcessingSupported();
+    method public boolean isValid();
+    method public boolean isWideColorGamut();
+    field public static final int DEFAULT_DISPLAY = 0; // 0x0
+    field public static final int FLAG_PRESENTATION = 8; // 0x8
+    field public static final int FLAG_PRIVATE = 4; // 0x4
+    field public static final int FLAG_ROUND = 16; // 0x10
+    field public static final int FLAG_SECURE = 2; // 0x2
+    field public static final int FLAG_SUPPORTS_PROTECTED_BUFFERS = 1; // 0x1
+    field public static final int INVALID_DISPLAY = -1; // 0xffffffff
+    field public static final int STATE_DOZE = 3; // 0x3
+    field public static final int STATE_DOZE_SUSPEND = 4; // 0x4
+    field public static final int STATE_OFF = 1; // 0x1
+    field public static final int STATE_ON = 2; // 0x2
+    field public static final int STATE_ON_SUSPEND = 6; // 0x6
+    field public static final int STATE_UNKNOWN = 0; // 0x0
+    field public static final int STATE_VR = 5; // 0x5
+  }
+
+  public static final class Display.HdrCapabilities implements android.os.Parcelable {
+    method public int describeContents();
+    method public float getDesiredMaxAverageLuminance();
+    method public float getDesiredMaxLuminance();
+    method public float getDesiredMinLuminance();
+    method public int[] getSupportedHdrTypes();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.Display.HdrCapabilities> CREATOR;
+    field public static final int HDR_TYPE_DOLBY_VISION = 1; // 0x1
+    field public static final int HDR_TYPE_HDR10 = 2; // 0x2
+    field public static final int HDR_TYPE_HDR10_PLUS = 4; // 0x4
+    field public static final int HDR_TYPE_HLG = 3; // 0x3
+    field public static final float INVALID_LUMINANCE = -1.0f;
+  }
+
+  public static final class Display.Mode implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public float[] getAlternativeRefreshRates();
+    method public int getModeId();
+    method public int getPhysicalHeight();
+    method public int getPhysicalWidth();
+    method public float getRefreshRate();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR;
+  }
+
+  public final class DisplayCutout {
+    ctor public DisplayCutout(@NonNull android.graphics.Insets, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect);
+    ctor public DisplayCutout(@NonNull android.graphics.Insets, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, @NonNull android.graphics.Insets);
+    ctor @Deprecated public DisplayCutout(@Nullable android.graphics.Rect, @Nullable java.util.List<android.graphics.Rect>);
+    method @NonNull public android.graphics.Rect getBoundingRectBottom();
+    method @NonNull public android.graphics.Rect getBoundingRectLeft();
+    method @NonNull public android.graphics.Rect getBoundingRectRight();
+    method @NonNull public android.graphics.Rect getBoundingRectTop();
+    method @NonNull public java.util.List<android.graphics.Rect> getBoundingRects();
+    method @Nullable public android.graphics.Path getCutoutPath();
+    method public int getSafeInsetBottom();
+    method public int getSafeInsetLeft();
+    method public int getSafeInsetRight();
+    method public int getSafeInsetTop();
+    method @NonNull public android.graphics.Insets getWaterfallInsets();
+  }
+
+  public final class DragAndDropPermissions implements android.os.Parcelable {
+    method public int describeContents();
+    method public void release();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR;
+  }
+
+  public class DragEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAction();
+    method public android.content.ClipData getClipData();
+    method public android.content.ClipDescription getClipDescription();
+    method public Object getLocalState();
+    method public boolean getResult();
+    method public float getX();
+    method public float getY();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_DRAG_ENDED = 4; // 0x4
+    field public static final int ACTION_DRAG_ENTERED = 5; // 0x5
+    field public static final int ACTION_DRAG_EXITED = 6; // 0x6
+    field public static final int ACTION_DRAG_LOCATION = 2; // 0x2
+    field public static final int ACTION_DRAG_STARTED = 1; // 0x1
+    field public static final int ACTION_DROP = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.DragEvent> CREATOR;
+  }
+
+  public class FocusFinder {
+    method public android.view.View findNearestTouchable(android.view.ViewGroup, int, int, int, int[]);
+    method public final android.view.View findNextFocus(android.view.ViewGroup, android.view.View, int);
+    method public android.view.View findNextFocusFromRect(android.view.ViewGroup, android.graphics.Rect, int);
+    method public android.view.View findNextKeyboardNavigationCluster(@NonNull android.view.View, @Nullable android.view.View, int);
+    method public static android.view.FocusFinder getInstance();
+  }
+
+  public final class FrameMetrics {
+    ctor public FrameMetrics(android.view.FrameMetrics);
+    method public long getMetric(int);
+    field public static final int ANIMATION_DURATION = 2; // 0x2
+    field public static final int COMMAND_ISSUE_DURATION = 6; // 0x6
+    field public static final int DEADLINE = 13; // 0xd
+    field public static final int DRAW_DURATION = 4; // 0x4
+    field public static final int FIRST_DRAW_FRAME = 9; // 0x9
+    field public static final int GPU_DURATION = 12; // 0xc
+    field public static final int INPUT_HANDLING_DURATION = 1; // 0x1
+    field public static final int INTENDED_VSYNC_TIMESTAMP = 10; // 0xa
+    field public static final int LAYOUT_MEASURE_DURATION = 3; // 0x3
+    field public static final int SWAP_BUFFERS_DURATION = 7; // 0x7
+    field public static final int SYNC_DURATION = 5; // 0x5
+    field public static final int TOTAL_DURATION = 8; // 0x8
+    field public static final int UNKNOWN_DELAY_DURATION = 0; // 0x0
+    field public static final int VSYNC_TIMESTAMP = 11; // 0xb
+  }
+
+  public abstract class FrameStats {
+    ctor public FrameStats();
+    method public final long getEndTimeNano();
+    method public final int getFrameCount();
+    method public final long getFramePresentedTimeNano(int);
+    method public final long getRefreshPeriodNano();
+    method public final long getStartTimeNano();
+    field public static final long UNDEFINED_TIME_NANO = -1L; // 0xffffffffffffffffL
+  }
+
+  public class GestureDetector {
+    ctor @Deprecated public GestureDetector(android.view.GestureDetector.OnGestureListener, android.os.Handler);
+    ctor @Deprecated public GestureDetector(android.view.GestureDetector.OnGestureListener);
+    ctor public GestureDetector(@UiContext android.content.Context, android.view.GestureDetector.OnGestureListener);
+    ctor public GestureDetector(@UiContext android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler);
+    ctor public GestureDetector(@UiContext android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean);
+    method public boolean isLongpressEnabled();
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public void setContextClickListener(android.view.GestureDetector.OnContextClickListener);
+    method public void setIsLongpressEnabled(boolean);
+    method public void setOnDoubleTapListener(android.view.GestureDetector.OnDoubleTapListener);
+  }
+
+  public static interface GestureDetector.OnContextClickListener {
+    method public boolean onContextClick(android.view.MotionEvent);
+  }
+
+  public static interface GestureDetector.OnDoubleTapListener {
+    method public boolean onDoubleTap(android.view.MotionEvent);
+    method public boolean onDoubleTapEvent(android.view.MotionEvent);
+    method public boolean onSingleTapConfirmed(android.view.MotionEvent);
+  }
+
+  public static interface GestureDetector.OnGestureListener {
+    method public boolean onDown(android.view.MotionEvent);
+    method public boolean onFling(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method public void onLongPress(android.view.MotionEvent);
+    method public boolean onScroll(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method public void onShowPress(android.view.MotionEvent);
+    method public boolean onSingleTapUp(android.view.MotionEvent);
+  }
+
+  public static class GestureDetector.SimpleOnGestureListener implements android.view.GestureDetector.OnContextClickListener android.view.GestureDetector.OnDoubleTapListener android.view.GestureDetector.OnGestureListener {
+    ctor public GestureDetector.SimpleOnGestureListener();
+    method public boolean onContextClick(android.view.MotionEvent);
+    method public boolean onDoubleTap(android.view.MotionEvent);
+    method public boolean onDoubleTapEvent(android.view.MotionEvent);
+    method public boolean onDown(android.view.MotionEvent);
+    method public boolean onFling(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method public void onLongPress(android.view.MotionEvent);
+    method public boolean onScroll(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method public void onShowPress(android.view.MotionEvent);
+    method public boolean onSingleTapConfirmed(android.view.MotionEvent);
+    method public boolean onSingleTapUp(android.view.MotionEvent);
+  }
+
+  public class Gravity {
+    ctor public Gravity();
+    method public static void apply(int, int, int, android.graphics.Rect, android.graphics.Rect);
+    method public static void apply(int, int, int, android.graphics.Rect, android.graphics.Rect, int);
+    method public static void apply(int, int, int, android.graphics.Rect, int, int, android.graphics.Rect);
+    method public static void apply(int, int, int, android.graphics.Rect, int, int, android.graphics.Rect, int);
+    method public static void applyDisplay(int, android.graphics.Rect, android.graphics.Rect);
+    method public static void applyDisplay(int, android.graphics.Rect, android.graphics.Rect, int);
+    method public static int getAbsoluteGravity(int, int);
+    method public static boolean isHorizontal(int);
+    method public static boolean isVertical(int);
+    field public static final int AXIS_CLIP = 8; // 0x8
+    field public static final int AXIS_PULL_AFTER = 4; // 0x4
+    field public static final int AXIS_PULL_BEFORE = 2; // 0x2
+    field public static final int AXIS_SPECIFIED = 1; // 0x1
+    field public static final int AXIS_X_SHIFT = 0; // 0x0
+    field public static final int AXIS_Y_SHIFT = 4; // 0x4
+    field public static final int BOTTOM = 80; // 0x50
+    field public static final int CENTER = 17; // 0x11
+    field public static final int CENTER_HORIZONTAL = 1; // 0x1
+    field public static final int CENTER_VERTICAL = 16; // 0x10
+    field public static final int CLIP_HORIZONTAL = 8; // 0x8
+    field public static final int CLIP_VERTICAL = 128; // 0x80
+    field public static final int DISPLAY_CLIP_HORIZONTAL = 16777216; // 0x1000000
+    field public static final int DISPLAY_CLIP_VERTICAL = 268435456; // 0x10000000
+    field public static final int END = 8388613; // 0x800005
+    field public static final int FILL = 119; // 0x77
+    field public static final int FILL_HORIZONTAL = 7; // 0x7
+    field public static final int FILL_VERTICAL = 112; // 0x70
+    field public static final int HORIZONTAL_GRAVITY_MASK = 7; // 0x7
+    field public static final int LEFT = 3; // 0x3
+    field public static final int NO_GRAVITY = 0; // 0x0
+    field public static final int RELATIVE_HORIZONTAL_GRAVITY_MASK = 8388615; // 0x800007
+    field public static final int RELATIVE_LAYOUT_DIRECTION = 8388608; // 0x800000
+    field public static final int RIGHT = 5; // 0x5
+    field public static final int START = 8388611; // 0x800003
+    field public static final int TOP = 48; // 0x30
+    field public static final int VERTICAL_GRAVITY_MASK = 112; // 0x70
+  }
+
+  public class HapticFeedbackConstants {
+    field public static final int CLOCK_TICK = 4; // 0x4
+    field public static final int CONFIRM = 16; // 0x10
+    field public static final int CONTEXT_CLICK = 6; // 0x6
+    field public static final int FLAG_IGNORE_GLOBAL_SETTING = 2; // 0x2
+    field public static final int FLAG_IGNORE_VIEW_SETTING = 1; // 0x1
+    field public static final int GESTURE_END = 13; // 0xd
+    field public static final int GESTURE_START = 12; // 0xc
+    field public static final int KEYBOARD_PRESS = 3; // 0x3
+    field public static final int KEYBOARD_RELEASE = 7; // 0x7
+    field public static final int KEYBOARD_TAP = 3; // 0x3
+    field public static final int LONG_PRESS = 0; // 0x0
+    field public static final int REJECT = 17; // 0x11
+    field public static final int TEXT_HANDLE_MOVE = 9; // 0x9
+    field public static final int VIRTUAL_KEY = 1; // 0x1
+    field public static final int VIRTUAL_KEY_RELEASE = 8; // 0x8
+  }
+
+  public class InflateException extends java.lang.RuntimeException {
+    ctor public InflateException();
+    ctor public InflateException(String, Throwable);
+    ctor public InflateException(String);
+    ctor public InflateException(Throwable);
+  }
+
+  public final class InputDevice implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.hardware.BatteryState getBatteryState();
+    method public int getControllerNumber();
+    method public String getDescriptor();
+    method public static android.view.InputDevice getDevice(int);
+    method public static int[] getDeviceIds();
+    method public int getId();
+    method public android.view.KeyCharacterMap getKeyCharacterMap();
+    method public int getKeyboardType();
+    method @NonNull public android.hardware.lights.LightsManager getLightsManager();
+    method public android.view.InputDevice.MotionRange getMotionRange(int);
+    method public android.view.InputDevice.MotionRange getMotionRange(int, int);
+    method public java.util.List<android.view.InputDevice.MotionRange> getMotionRanges();
+    method public String getName();
+    method public int getProductId();
+    method @NonNull public android.hardware.SensorManager getSensorManager();
+    method public int getSources();
+    method public int getVendorId();
+    method @Deprecated public android.os.Vibrator getVibrator();
+    method @NonNull public android.os.VibratorManager getVibratorManager();
+    method public boolean[] hasKeys(int...);
+    method public boolean hasMicrophone();
+    method public boolean isEnabled();
+    method public boolean isExternal();
+    method public boolean isVirtual();
+    method public boolean supportsSource(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.InputDevice> CREATOR;
+    field public static final int KEYBOARD_TYPE_ALPHABETIC = 2; // 0x2
+    field public static final int KEYBOARD_TYPE_NONE = 0; // 0x0
+    field public static final int KEYBOARD_TYPE_NON_ALPHABETIC = 1; // 0x1
+    field @Deprecated public static final int MOTION_RANGE_ORIENTATION = 8; // 0x8
+    field @Deprecated public static final int MOTION_RANGE_PRESSURE = 2; // 0x2
+    field @Deprecated public static final int MOTION_RANGE_SIZE = 3; // 0x3
+    field @Deprecated public static final int MOTION_RANGE_TOOL_MAJOR = 6; // 0x6
+    field @Deprecated public static final int MOTION_RANGE_TOOL_MINOR = 7; // 0x7
+    field @Deprecated public static final int MOTION_RANGE_TOUCH_MAJOR = 4; // 0x4
+    field @Deprecated public static final int MOTION_RANGE_TOUCH_MINOR = 5; // 0x5
+    field @Deprecated public static final int MOTION_RANGE_X = 0; // 0x0
+    field @Deprecated public static final int MOTION_RANGE_Y = 1; // 0x1
+    field public static final int SOURCE_ANY = -256; // 0xffffff00
+    field public static final int SOURCE_BLUETOOTH_STYLUS = 49154; // 0xc002
+    field public static final int SOURCE_CLASS_BUTTON = 1; // 0x1
+    field public static final int SOURCE_CLASS_JOYSTICK = 16; // 0x10
+    field public static final int SOURCE_CLASS_MASK = 255; // 0xff
+    field public static final int SOURCE_CLASS_NONE = 0; // 0x0
+    field public static final int SOURCE_CLASS_POINTER = 2; // 0x2
+    field public static final int SOURCE_CLASS_POSITION = 8; // 0x8
+    field public static final int SOURCE_CLASS_TRACKBALL = 4; // 0x4
+    field public static final int SOURCE_DPAD = 513; // 0x201
+    field public static final int SOURCE_GAMEPAD = 1025; // 0x401
+    field public static final int SOURCE_HDMI = 33554433; // 0x2000001
+    field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010
+    field public static final int SOURCE_KEYBOARD = 257; // 0x101
+    field public static final int SOURCE_MOUSE = 8194; // 0x2002
+    field public static final int SOURCE_MOUSE_RELATIVE = 131076; // 0x20004
+    field public static final int SOURCE_ROTARY_ENCODER = 4194304; // 0x400000
+    field public static final int SOURCE_SENSOR = 67108864; // 0x4000000
+    field public static final int SOURCE_STYLUS = 16386; // 0x4002
+    field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008
+    field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002
+    field public static final int SOURCE_TOUCH_NAVIGATION = 2097152; // 0x200000
+    field public static final int SOURCE_TRACKBALL = 65540; // 0x10004
+    field public static final int SOURCE_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class InputDevice.MotionRange {
+    method public int getAxis();
+    method public float getFlat();
+    method public float getFuzz();
+    method public float getMax();
+    method public float getMin();
+    method public float getRange();
+    method public float getResolution();
+    method public int getSource();
+    method public boolean isFromSource(int);
+  }
+
+  public abstract class InputEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public final android.view.InputDevice getDevice();
+    method public abstract int getDeviceId();
+    method public abstract long getEventTime();
+    method public abstract int getSource();
+    method public boolean isFromSource(int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.InputEvent> CREATOR;
+  }
+
+  public final class InputQueue {
+  }
+
+  public static interface InputQueue.Callback {
+    method public void onInputQueueCreated(android.view.InputQueue);
+    method public void onInputQueueDestroyed(android.view.InputQueue);
+  }
+
+  public class KeyCharacterMap implements android.os.Parcelable {
+    method public int describeContents();
+    method public static boolean deviceHasKey(int);
+    method public static boolean[] deviceHasKeys(int[]);
+    method public int get(int, int);
+    method public static int getDeadChar(int, int);
+    method public char getDisplayLabel(int);
+    method public android.view.KeyEvent[] getEvents(char[]);
+    method @Deprecated public boolean getKeyData(int, android.view.KeyCharacterMap.KeyData);
+    method public int getKeyboardType();
+    method public char getMatch(int, char[]);
+    method public char getMatch(int, char[], int);
+    method public int getModifierBehavior();
+    method public char getNumber(int);
+    method public boolean isPrintingKey(int);
+    method public static android.view.KeyCharacterMap load(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ALPHA = 3; // 0x3
+    field @Deprecated public static final int BUILT_IN_KEYBOARD = 0; // 0x0
+    field public static final int COMBINING_ACCENT = -2147483648; // 0x80000000
+    field public static final int COMBINING_ACCENT_MASK = 2147483647; // 0x7fffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyCharacterMap> CREATOR;
+    field public static final int FULL = 4; // 0x4
+    field public static final char HEX_INPUT = 61184; // 0xef00 '\uef00'
+    field public static final int MODIFIER_BEHAVIOR_CHORDED = 0; // 0x0
+    field public static final int MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED = 1; // 0x1
+    field public static final int NUMERIC = 1; // 0x1
+    field public static final char PICKER_DIALOG_INPUT = 61185; // 0xef01 '\uef01'
+    field public static final int PREDICTIVE = 2; // 0x2
+    field public static final int SPECIAL_FUNCTION = 5; // 0x5
+    field public static final int VIRTUAL_KEYBOARD = -1; // 0xffffffff
+  }
+
+  @Deprecated public static class KeyCharacterMap.KeyData {
+    ctor @Deprecated public KeyCharacterMap.KeyData();
+    field @Deprecated public static final int META_LENGTH = 4; // 0x4
+    field @Deprecated public char displayLabel;
+    field @Deprecated public char[] meta;
+    field @Deprecated public char number;
+  }
+
+  public static class KeyCharacterMap.UnavailableException extends android.util.AndroidRuntimeException {
+    ctor public KeyCharacterMap.UnavailableException(String);
+  }
+
+  public class KeyEvent extends android.view.InputEvent implements android.os.Parcelable {
+    ctor public KeyEvent(int, int);
+    ctor public KeyEvent(long, long, int, int, int);
+    ctor public KeyEvent(long, long, int, int, int, int);
+    ctor public KeyEvent(long, long, int, int, int, int, int, int);
+    ctor public KeyEvent(long, long, int, int, int, int, int, int, int);
+    ctor public KeyEvent(long, long, int, int, int, int, int, int, int, int);
+    ctor public KeyEvent(long, String, int, int);
+    ctor public KeyEvent(android.view.KeyEvent);
+    ctor @Deprecated public KeyEvent(android.view.KeyEvent, long, int);
+    method public static android.view.KeyEvent changeAction(android.view.KeyEvent, int);
+    method public static android.view.KeyEvent changeFlags(android.view.KeyEvent, int);
+    method public static android.view.KeyEvent changeTimeRepeat(android.view.KeyEvent, long, int);
+    method public static android.view.KeyEvent changeTimeRepeat(android.view.KeyEvent, long, int, int);
+    method @Deprecated public final boolean dispatch(android.view.KeyEvent.Callback);
+    method public final boolean dispatch(android.view.KeyEvent.Callback, android.view.KeyEvent.DispatcherState, Object);
+    method public final int getAction();
+    method @Deprecated public final String getCharacters();
+    method public static int getDeadChar(int, int);
+    method public final int getDeviceId();
+    method public char getDisplayLabel();
+    method public final long getDownTime();
+    method public final long getEventTime();
+    method public final int getFlags();
+    method public final android.view.KeyCharacterMap getKeyCharacterMap();
+    method public final int getKeyCode();
+    method @Deprecated public boolean getKeyData(android.view.KeyCharacterMap.KeyData);
+    method public char getMatch(char[]);
+    method public char getMatch(char[], int);
+    method public static int getMaxKeyCode();
+    method public final int getMetaState();
+    method public static int getModifierMetaStateMask();
+    method public final int getModifiers();
+    method public char getNumber();
+    method public final int getRepeatCount();
+    method public final int getScanCode();
+    method public final int getSource();
+    method public int getUnicodeChar();
+    method public int getUnicodeChar(int);
+    method public final boolean hasModifiers(int);
+    method public final boolean hasNoModifiers();
+    method public final boolean isAltPressed();
+    method public final boolean isCanceled();
+    method public final boolean isCapsLockOn();
+    method public final boolean isCtrlPressed();
+    method public final boolean isFunctionPressed();
+    method public static final boolean isGamepadButton(int);
+    method public final boolean isLongPress();
+    method public static final boolean isMediaSessionKey(int);
+    method public final boolean isMetaPressed();
+    method public static boolean isModifierKey(int);
+    method public final boolean isNumLockOn();
+    method public boolean isPrintingKey();
+    method public final boolean isScrollLockOn();
+    method public final boolean isShiftPressed();
+    method public final boolean isSymPressed();
+    method public final boolean isSystem();
+    method public final boolean isTracking();
+    method public static int keyCodeFromString(@NonNull String);
+    method public static String keyCodeToString(int);
+    method public static boolean metaStateHasModifiers(int, int);
+    method public static boolean metaStateHasNoModifiers(int);
+    method public static int normalizeMetaState(int);
+    method public final void setSource(int);
+    method public final void startTracking();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_DOWN = 0; // 0x0
+    field @Deprecated public static final int ACTION_MULTIPLE = 2; // 0x2
+    field public static final int ACTION_UP = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyEvent> CREATOR;
+    field public static final int FLAG_CANCELED = 32; // 0x20
+    field public static final int FLAG_CANCELED_LONG_PRESS = 256; // 0x100
+    field public static final int FLAG_EDITOR_ACTION = 16; // 0x10
+    field public static final int FLAG_FALLBACK = 1024; // 0x400
+    field public static final int FLAG_FROM_SYSTEM = 8; // 0x8
+    field public static final int FLAG_KEEP_TOUCH_MODE = 4; // 0x4
+    field public static final int FLAG_LONG_PRESS = 128; // 0x80
+    field public static final int FLAG_SOFT_KEYBOARD = 2; // 0x2
+    field public static final int FLAG_TRACKING = 512; // 0x200
+    field public static final int FLAG_VIRTUAL_HARD_KEY = 64; // 0x40
+    field @Deprecated public static final int FLAG_WOKE_HERE = 1; // 0x1
+    field public static final int KEYCODE_0 = 7; // 0x7
+    field public static final int KEYCODE_1 = 8; // 0x8
+    field public static final int KEYCODE_11 = 227; // 0xe3
+    field public static final int KEYCODE_12 = 228; // 0xe4
+    field public static final int KEYCODE_2 = 9; // 0x9
+    field public static final int KEYCODE_3 = 10; // 0xa
+    field public static final int KEYCODE_3D_MODE = 206; // 0xce
+    field public static final int KEYCODE_4 = 11; // 0xb
+    field public static final int KEYCODE_5 = 12; // 0xc
+    field public static final int KEYCODE_6 = 13; // 0xd
+    field public static final int KEYCODE_7 = 14; // 0xe
+    field public static final int KEYCODE_8 = 15; // 0xf
+    field public static final int KEYCODE_9 = 16; // 0x10
+    field public static final int KEYCODE_A = 29; // 0x1d
+    field public static final int KEYCODE_ALL_APPS = 284; // 0x11c
+    field public static final int KEYCODE_ALT_LEFT = 57; // 0x39
+    field public static final int KEYCODE_ALT_RIGHT = 58; // 0x3a
+    field public static final int KEYCODE_APOSTROPHE = 75; // 0x4b
+    field public static final int KEYCODE_APP_SWITCH = 187; // 0xbb
+    field public static final int KEYCODE_ASSIST = 219; // 0xdb
+    field public static final int KEYCODE_AT = 77; // 0x4d
+    field public static final int KEYCODE_AVR_INPUT = 182; // 0xb6
+    field public static final int KEYCODE_AVR_POWER = 181; // 0xb5
+    field public static final int KEYCODE_B = 30; // 0x1e
+    field public static final int KEYCODE_BACK = 4; // 0x4
+    field public static final int KEYCODE_BACKSLASH = 73; // 0x49
+    field public static final int KEYCODE_BOOKMARK = 174; // 0xae
+    field public static final int KEYCODE_BREAK = 121; // 0x79
+    field public static final int KEYCODE_BRIGHTNESS_DOWN = 220; // 0xdc
+    field public static final int KEYCODE_BRIGHTNESS_UP = 221; // 0xdd
+    field public static final int KEYCODE_BUTTON_1 = 188; // 0xbc
+    field public static final int KEYCODE_BUTTON_10 = 197; // 0xc5
+    field public static final int KEYCODE_BUTTON_11 = 198; // 0xc6
+    field public static final int KEYCODE_BUTTON_12 = 199; // 0xc7
+    field public static final int KEYCODE_BUTTON_13 = 200; // 0xc8
+    field public static final int KEYCODE_BUTTON_14 = 201; // 0xc9
+    field public static final int KEYCODE_BUTTON_15 = 202; // 0xca
+    field public static final int KEYCODE_BUTTON_16 = 203; // 0xcb
+    field public static final int KEYCODE_BUTTON_2 = 189; // 0xbd
+    field public static final int KEYCODE_BUTTON_3 = 190; // 0xbe
+    field public static final int KEYCODE_BUTTON_4 = 191; // 0xbf
+    field public static final int KEYCODE_BUTTON_5 = 192; // 0xc0
+    field public static final int KEYCODE_BUTTON_6 = 193; // 0xc1
+    field public static final int KEYCODE_BUTTON_7 = 194; // 0xc2
+    field public static final int KEYCODE_BUTTON_8 = 195; // 0xc3
+    field public static final int KEYCODE_BUTTON_9 = 196; // 0xc4
+    field public static final int KEYCODE_BUTTON_A = 96; // 0x60
+    field public static final int KEYCODE_BUTTON_B = 97; // 0x61
+    field public static final int KEYCODE_BUTTON_C = 98; // 0x62
+    field public static final int KEYCODE_BUTTON_L1 = 102; // 0x66
+    field public static final int KEYCODE_BUTTON_L2 = 104; // 0x68
+    field public static final int KEYCODE_BUTTON_MODE = 110; // 0x6e
+    field public static final int KEYCODE_BUTTON_R1 = 103; // 0x67
+    field public static final int KEYCODE_BUTTON_R2 = 105; // 0x69
+    field public static final int KEYCODE_BUTTON_SELECT = 109; // 0x6d
+    field public static final int KEYCODE_BUTTON_START = 108; // 0x6c
+    field public static final int KEYCODE_BUTTON_THUMBL = 106; // 0x6a
+    field public static final int KEYCODE_BUTTON_THUMBR = 107; // 0x6b
+    field public static final int KEYCODE_BUTTON_X = 99; // 0x63
+    field public static final int KEYCODE_BUTTON_Y = 100; // 0x64
+    field public static final int KEYCODE_BUTTON_Z = 101; // 0x65
+    field public static final int KEYCODE_C = 31; // 0x1f
+    field public static final int KEYCODE_CALCULATOR = 210; // 0xd2
+    field public static final int KEYCODE_CALENDAR = 208; // 0xd0
+    field public static final int KEYCODE_CALL = 5; // 0x5
+    field public static final int KEYCODE_CAMERA = 27; // 0x1b
+    field public static final int KEYCODE_CAPS_LOCK = 115; // 0x73
+    field public static final int KEYCODE_CAPTIONS = 175; // 0xaf
+    field public static final int KEYCODE_CHANNEL_DOWN = 167; // 0xa7
+    field public static final int KEYCODE_CHANNEL_UP = 166; // 0xa6
+    field public static final int KEYCODE_CLEAR = 28; // 0x1c
+    field public static final int KEYCODE_COMMA = 55; // 0x37
+    field public static final int KEYCODE_CONTACTS = 207; // 0xcf
+    field public static final int KEYCODE_COPY = 278; // 0x116
+    field public static final int KEYCODE_CTRL_LEFT = 113; // 0x71
+    field public static final int KEYCODE_CTRL_RIGHT = 114; // 0x72
+    field public static final int KEYCODE_CUT = 277; // 0x115
+    field public static final int KEYCODE_D = 32; // 0x20
+    field public static final int KEYCODE_DEL = 67; // 0x43
+    field public static final int KEYCODE_DPAD_CENTER = 23; // 0x17
+    field public static final int KEYCODE_DPAD_DOWN = 20; // 0x14
+    field public static final int KEYCODE_DPAD_DOWN_LEFT = 269; // 0x10d
+    field public static final int KEYCODE_DPAD_DOWN_RIGHT = 271; // 0x10f
+    field public static final int KEYCODE_DPAD_LEFT = 21; // 0x15
+    field public static final int KEYCODE_DPAD_RIGHT = 22; // 0x16
+    field public static final int KEYCODE_DPAD_UP = 19; // 0x13
+    field public static final int KEYCODE_DPAD_UP_LEFT = 268; // 0x10c
+    field public static final int KEYCODE_DPAD_UP_RIGHT = 270; // 0x10e
+    field public static final int KEYCODE_DVR = 173; // 0xad
+    field public static final int KEYCODE_E = 33; // 0x21
+    field public static final int KEYCODE_EISU = 212; // 0xd4
+    field public static final int KEYCODE_ENDCALL = 6; // 0x6
+    field public static final int KEYCODE_ENTER = 66; // 0x42
+    field public static final int KEYCODE_ENVELOPE = 65; // 0x41
+    field public static final int KEYCODE_EQUALS = 70; // 0x46
+    field public static final int KEYCODE_ESCAPE = 111; // 0x6f
+    field public static final int KEYCODE_EXPLORER = 64; // 0x40
+    field public static final int KEYCODE_F = 34; // 0x22
+    field public static final int KEYCODE_F1 = 131; // 0x83
+    field public static final int KEYCODE_F10 = 140; // 0x8c
+    field public static final int KEYCODE_F11 = 141; // 0x8d
+    field public static final int KEYCODE_F12 = 142; // 0x8e
+    field public static final int KEYCODE_F2 = 132; // 0x84
+    field public static final int KEYCODE_F3 = 133; // 0x85
+    field public static final int KEYCODE_F4 = 134; // 0x86
+    field public static final int KEYCODE_F5 = 135; // 0x87
+    field public static final int KEYCODE_F6 = 136; // 0x88
+    field public static final int KEYCODE_F7 = 137; // 0x89
+    field public static final int KEYCODE_F8 = 138; // 0x8a
+    field public static final int KEYCODE_F9 = 139; // 0x8b
+    field public static final int KEYCODE_FOCUS = 80; // 0x50
+    field public static final int KEYCODE_FORWARD = 125; // 0x7d
+    field public static final int KEYCODE_FORWARD_DEL = 112; // 0x70
+    field public static final int KEYCODE_FUNCTION = 119; // 0x77
+    field public static final int KEYCODE_G = 35; // 0x23
+    field public static final int KEYCODE_GRAVE = 68; // 0x44
+    field public static final int KEYCODE_GUIDE = 172; // 0xac
+    field public static final int KEYCODE_H = 36; // 0x24
+    field public static final int KEYCODE_HEADSETHOOK = 79; // 0x4f
+    field public static final int KEYCODE_HELP = 259; // 0x103
+    field public static final int KEYCODE_HENKAN = 214; // 0xd6
+    field public static final int KEYCODE_HOME = 3; // 0x3
+    field public static final int KEYCODE_I = 37; // 0x25
+    field public static final int KEYCODE_INFO = 165; // 0xa5
+    field public static final int KEYCODE_INSERT = 124; // 0x7c
+    field public static final int KEYCODE_J = 38; // 0x26
+    field public static final int KEYCODE_K = 39; // 0x27
+    field public static final int KEYCODE_KANA = 218; // 0xda
+    field public static final int KEYCODE_KATAKANA_HIRAGANA = 215; // 0xd7
+    field public static final int KEYCODE_L = 40; // 0x28
+    field public static final int KEYCODE_LANGUAGE_SWITCH = 204; // 0xcc
+    field public static final int KEYCODE_LAST_CHANNEL = 229; // 0xe5
+    field public static final int KEYCODE_LEFT_BRACKET = 71; // 0x47
+    field public static final int KEYCODE_M = 41; // 0x29
+    field public static final int KEYCODE_MANNER_MODE = 205; // 0xcd
+    field public static final int KEYCODE_MEDIA_AUDIO_TRACK = 222; // 0xde
+    field public static final int KEYCODE_MEDIA_CLOSE = 128; // 0x80
+    field public static final int KEYCODE_MEDIA_EJECT = 129; // 0x81
+    field public static final int KEYCODE_MEDIA_FAST_FORWARD = 90; // 0x5a
+    field public static final int KEYCODE_MEDIA_NEXT = 87; // 0x57
+    field public static final int KEYCODE_MEDIA_PAUSE = 127; // 0x7f
+    field public static final int KEYCODE_MEDIA_PLAY = 126; // 0x7e
+    field public static final int KEYCODE_MEDIA_PLAY_PAUSE = 85; // 0x55
+    field public static final int KEYCODE_MEDIA_PREVIOUS = 88; // 0x58
+    field public static final int KEYCODE_MEDIA_RECORD = 130; // 0x82
+    field public static final int KEYCODE_MEDIA_REWIND = 89; // 0x59
+    field public static final int KEYCODE_MEDIA_SKIP_BACKWARD = 273; // 0x111
+    field public static final int KEYCODE_MEDIA_SKIP_FORWARD = 272; // 0x110
+    field public static final int KEYCODE_MEDIA_STEP_BACKWARD = 275; // 0x113
+    field public static final int KEYCODE_MEDIA_STEP_FORWARD = 274; // 0x112
+    field public static final int KEYCODE_MEDIA_STOP = 86; // 0x56
+    field public static final int KEYCODE_MEDIA_TOP_MENU = 226; // 0xe2
+    field public static final int KEYCODE_MENU = 82; // 0x52
+    field public static final int KEYCODE_META_LEFT = 117; // 0x75
+    field public static final int KEYCODE_META_RIGHT = 118; // 0x76
+    field public static final int KEYCODE_MINUS = 69; // 0x45
+    field public static final int KEYCODE_MOVE_END = 123; // 0x7b
+    field public static final int KEYCODE_MOVE_HOME = 122; // 0x7a
+    field public static final int KEYCODE_MUHENKAN = 213; // 0xd5
+    field public static final int KEYCODE_MUSIC = 209; // 0xd1
+    field public static final int KEYCODE_MUTE = 91; // 0x5b
+    field public static final int KEYCODE_N = 42; // 0x2a
+    field public static final int KEYCODE_NAVIGATE_IN = 262; // 0x106
+    field public static final int KEYCODE_NAVIGATE_NEXT = 261; // 0x105
+    field public static final int KEYCODE_NAVIGATE_OUT = 263; // 0x107
+    field public static final int KEYCODE_NAVIGATE_PREVIOUS = 260; // 0x104
+    field public static final int KEYCODE_NOTIFICATION = 83; // 0x53
+    field public static final int KEYCODE_NUM = 78; // 0x4e
+    field public static final int KEYCODE_NUMPAD_0 = 144; // 0x90
+    field public static final int KEYCODE_NUMPAD_1 = 145; // 0x91
+    field public static final int KEYCODE_NUMPAD_2 = 146; // 0x92
+    field public static final int KEYCODE_NUMPAD_3 = 147; // 0x93
+    field public static final int KEYCODE_NUMPAD_4 = 148; // 0x94
+    field public static final int KEYCODE_NUMPAD_5 = 149; // 0x95
+    field public static final int KEYCODE_NUMPAD_6 = 150; // 0x96
+    field public static final int KEYCODE_NUMPAD_7 = 151; // 0x97
+    field public static final int KEYCODE_NUMPAD_8 = 152; // 0x98
+    field public static final int KEYCODE_NUMPAD_9 = 153; // 0x99
+    field public static final int KEYCODE_NUMPAD_ADD = 157; // 0x9d
+    field public static final int KEYCODE_NUMPAD_COMMA = 159; // 0x9f
+    field public static final int KEYCODE_NUMPAD_DIVIDE = 154; // 0x9a
+    field public static final int KEYCODE_NUMPAD_DOT = 158; // 0x9e
+    field public static final int KEYCODE_NUMPAD_ENTER = 160; // 0xa0
+    field public static final int KEYCODE_NUMPAD_EQUALS = 161; // 0xa1
+    field public static final int KEYCODE_NUMPAD_LEFT_PAREN = 162; // 0xa2
+    field public static final int KEYCODE_NUMPAD_MULTIPLY = 155; // 0x9b
+    field public static final int KEYCODE_NUMPAD_RIGHT_PAREN = 163; // 0xa3
+    field public static final int KEYCODE_NUMPAD_SUBTRACT = 156; // 0x9c
+    field public static final int KEYCODE_NUM_LOCK = 143; // 0x8f
+    field public static final int KEYCODE_O = 43; // 0x2b
+    field public static final int KEYCODE_P = 44; // 0x2c
+    field public static final int KEYCODE_PAGE_DOWN = 93; // 0x5d
+    field public static final int KEYCODE_PAGE_UP = 92; // 0x5c
+    field public static final int KEYCODE_PAIRING = 225; // 0xe1
+    field public static final int KEYCODE_PASTE = 279; // 0x117
+    field public static final int KEYCODE_PERIOD = 56; // 0x38
+    field public static final int KEYCODE_PICTSYMBOLS = 94; // 0x5e
+    field public static final int KEYCODE_PLUS = 81; // 0x51
+    field public static final int KEYCODE_POUND = 18; // 0x12
+    field public static final int KEYCODE_POWER = 26; // 0x1a
+    field public static final int KEYCODE_PROFILE_SWITCH = 288; // 0x120
+    field public static final int KEYCODE_PROG_BLUE = 186; // 0xba
+    field public static final int KEYCODE_PROG_GREEN = 184; // 0xb8
+    field public static final int KEYCODE_PROG_RED = 183; // 0xb7
+    field public static final int KEYCODE_PROG_YELLOW = 185; // 0xb9
+    field public static final int KEYCODE_Q = 45; // 0x2d
+    field public static final int KEYCODE_R = 46; // 0x2e
+    field public static final int KEYCODE_REFRESH = 285; // 0x11d
+    field public static final int KEYCODE_RIGHT_BRACKET = 72; // 0x48
+    field public static final int KEYCODE_RO = 217; // 0xd9
+    field public static final int KEYCODE_S = 47; // 0x2f
+    field public static final int KEYCODE_SCROLL_LOCK = 116; // 0x74
+    field public static final int KEYCODE_SEARCH = 84; // 0x54
+    field public static final int KEYCODE_SEMICOLON = 74; // 0x4a
+    field public static final int KEYCODE_SETTINGS = 176; // 0xb0
+    field public static final int KEYCODE_SHIFT_LEFT = 59; // 0x3b
+    field public static final int KEYCODE_SHIFT_RIGHT = 60; // 0x3c
+    field public static final int KEYCODE_SLASH = 76; // 0x4c
+    field public static final int KEYCODE_SLEEP = 223; // 0xdf
+    field public static final int KEYCODE_SOFT_LEFT = 1; // 0x1
+    field public static final int KEYCODE_SOFT_RIGHT = 2; // 0x2
+    field public static final int KEYCODE_SOFT_SLEEP = 276; // 0x114
+    field public static final int KEYCODE_SPACE = 62; // 0x3e
+    field public static final int KEYCODE_STAR = 17; // 0x11
+    field public static final int KEYCODE_STB_INPUT = 180; // 0xb4
+    field public static final int KEYCODE_STB_POWER = 179; // 0xb3
+    field public static final int KEYCODE_STEM_1 = 265; // 0x109
+    field public static final int KEYCODE_STEM_2 = 266; // 0x10a
+    field public static final int KEYCODE_STEM_3 = 267; // 0x10b
+    field public static final int KEYCODE_STEM_PRIMARY = 264; // 0x108
+    field public static final int KEYCODE_SWITCH_CHARSET = 95; // 0x5f
+    field public static final int KEYCODE_SYM = 63; // 0x3f
+    field public static final int KEYCODE_SYSRQ = 120; // 0x78
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_DOWN = 281; // 0x119
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_LEFT = 282; // 0x11a
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_RIGHT = 283; // 0x11b
+    field public static final int KEYCODE_SYSTEM_NAVIGATION_UP = 280; // 0x118
+    field public static final int KEYCODE_T = 48; // 0x30
+    field public static final int KEYCODE_TAB = 61; // 0x3d
+    field public static final int KEYCODE_THUMBS_DOWN = 287; // 0x11f
+    field public static final int KEYCODE_THUMBS_UP = 286; // 0x11e
+    field public static final int KEYCODE_TV = 170; // 0xaa
+    field public static final int KEYCODE_TV_ANTENNA_CABLE = 242; // 0xf2
+    field public static final int KEYCODE_TV_AUDIO_DESCRIPTION = 252; // 0xfc
+    field public static final int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN = 254; // 0xfe
+    field public static final int KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP = 253; // 0xfd
+    field public static final int KEYCODE_TV_CONTENTS_MENU = 256; // 0x100
+    field public static final int KEYCODE_TV_DATA_SERVICE = 230; // 0xe6
+    field public static final int KEYCODE_TV_INPUT = 178; // 0xb2
+    field public static final int KEYCODE_TV_INPUT_COMPONENT_1 = 249; // 0xf9
+    field public static final int KEYCODE_TV_INPUT_COMPONENT_2 = 250; // 0xfa
+    field public static final int KEYCODE_TV_INPUT_COMPOSITE_1 = 247; // 0xf7
+    field public static final int KEYCODE_TV_INPUT_COMPOSITE_2 = 248; // 0xf8
+    field public static final int KEYCODE_TV_INPUT_HDMI_1 = 243; // 0xf3
+    field public static final int KEYCODE_TV_INPUT_HDMI_2 = 244; // 0xf4
+    field public static final int KEYCODE_TV_INPUT_HDMI_3 = 245; // 0xf5
+    field public static final int KEYCODE_TV_INPUT_HDMI_4 = 246; // 0xf6
+    field public static final int KEYCODE_TV_INPUT_VGA_1 = 251; // 0xfb
+    field public static final int KEYCODE_TV_MEDIA_CONTEXT_MENU = 257; // 0x101
+    field public static final int KEYCODE_TV_NETWORK = 241; // 0xf1
+    field public static final int KEYCODE_TV_NUMBER_ENTRY = 234; // 0xea
+    field public static final int KEYCODE_TV_POWER = 177; // 0xb1
+    field public static final int KEYCODE_TV_RADIO_SERVICE = 232; // 0xe8
+    field public static final int KEYCODE_TV_SATELLITE = 237; // 0xed
+    field public static final int KEYCODE_TV_SATELLITE_BS = 238; // 0xee
+    field public static final int KEYCODE_TV_SATELLITE_CS = 239; // 0xef
+    field public static final int KEYCODE_TV_SATELLITE_SERVICE = 240; // 0xf0
+    field public static final int KEYCODE_TV_TELETEXT = 233; // 0xe9
+    field public static final int KEYCODE_TV_TERRESTRIAL_ANALOG = 235; // 0xeb
+    field public static final int KEYCODE_TV_TERRESTRIAL_DIGITAL = 236; // 0xec
+    field public static final int KEYCODE_TV_TIMER_PROGRAMMING = 258; // 0x102
+    field public static final int KEYCODE_TV_ZOOM_MODE = 255; // 0xff
+    field public static final int KEYCODE_U = 49; // 0x31
+    field public static final int KEYCODE_UNKNOWN = 0; // 0x0
+    field public static final int KEYCODE_V = 50; // 0x32
+    field public static final int KEYCODE_VOICE_ASSIST = 231; // 0xe7
+    field public static final int KEYCODE_VOLUME_DOWN = 25; // 0x19
+    field public static final int KEYCODE_VOLUME_MUTE = 164; // 0xa4
+    field public static final int KEYCODE_VOLUME_UP = 24; // 0x18
+    field public static final int KEYCODE_W = 51; // 0x33
+    field public static final int KEYCODE_WAKEUP = 224; // 0xe0
+    field public static final int KEYCODE_WINDOW = 171; // 0xab
+    field public static final int KEYCODE_X = 52; // 0x34
+    field public static final int KEYCODE_Y = 53; // 0x35
+    field public static final int KEYCODE_YEN = 216; // 0xd8
+    field public static final int KEYCODE_Z = 54; // 0x36
+    field public static final int KEYCODE_ZENKAKU_HANKAKU = 211; // 0xd3
+    field public static final int KEYCODE_ZOOM_IN = 168; // 0xa8
+    field public static final int KEYCODE_ZOOM_OUT = 169; // 0xa9
+    field @Deprecated public static final int MAX_KEYCODE = 84; // 0x54
+    field public static final int META_ALT_LEFT_ON = 16; // 0x10
+    field public static final int META_ALT_MASK = 50; // 0x32
+    field public static final int META_ALT_ON = 2; // 0x2
+    field public static final int META_ALT_RIGHT_ON = 32; // 0x20
+    field public static final int META_CAPS_LOCK_ON = 1048576; // 0x100000
+    field public static final int META_CTRL_LEFT_ON = 8192; // 0x2000
+    field public static final int META_CTRL_MASK = 28672; // 0x7000
+    field public static final int META_CTRL_ON = 4096; // 0x1000
+    field public static final int META_CTRL_RIGHT_ON = 16384; // 0x4000
+    field public static final int META_FUNCTION_ON = 8; // 0x8
+    field public static final int META_META_LEFT_ON = 131072; // 0x20000
+    field public static final int META_META_MASK = 458752; // 0x70000
+    field public static final int META_META_ON = 65536; // 0x10000
+    field public static final int META_META_RIGHT_ON = 262144; // 0x40000
+    field public static final int META_NUM_LOCK_ON = 2097152; // 0x200000
+    field public static final int META_SCROLL_LOCK_ON = 4194304; // 0x400000
+    field public static final int META_SHIFT_LEFT_ON = 64; // 0x40
+    field public static final int META_SHIFT_MASK = 193; // 0xc1
+    field public static final int META_SHIFT_ON = 1; // 0x1
+    field public static final int META_SHIFT_RIGHT_ON = 128; // 0x80
+    field public static final int META_SYM_ON = 4; // 0x4
+  }
+
+  public static interface KeyEvent.Callback {
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+  }
+
+  public static class KeyEvent.DispatcherState {
+    ctor public KeyEvent.DispatcherState();
+    method public void handleUpEvent(android.view.KeyEvent);
+    method public boolean isTracking(android.view.KeyEvent);
+    method public void performedLongPress(android.view.KeyEvent);
+    method public void reset();
+    method public void reset(Object);
+    method public void startTracking(android.view.KeyEvent, Object);
+  }
+
+  public final class KeyboardShortcutGroup implements android.os.Parcelable {
+    ctor public KeyboardShortcutGroup(@Nullable CharSequence, @NonNull java.util.List<android.view.KeyboardShortcutInfo>);
+    ctor public KeyboardShortcutGroup(@Nullable CharSequence);
+    method public void addItem(android.view.KeyboardShortcutInfo);
+    method public int describeContents();
+    method public java.util.List<android.view.KeyboardShortcutInfo> getItems();
+    method public CharSequence getLabel();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyboardShortcutGroup> CREATOR;
+  }
+
+  public final class KeyboardShortcutInfo implements android.os.Parcelable {
+    ctor public KeyboardShortcutInfo(CharSequence, int, int);
+    ctor public KeyboardShortcutInfo(CharSequence, char, int);
+    method public int describeContents();
+    method public char getBaseCharacter();
+    method public int getKeycode();
+    method @Nullable public CharSequence getLabel();
+    method public int getModifiers();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyboardShortcutInfo> CREATOR;
+  }
+
+  public abstract class LayoutInflater {
+    ctor protected LayoutInflater(android.content.Context);
+    ctor protected LayoutInflater(android.view.LayoutInflater, android.content.Context);
+    method public abstract android.view.LayoutInflater cloneInContext(android.content.Context);
+    method public final android.view.View createView(String, String, android.util.AttributeSet) throws java.lang.ClassNotFoundException, android.view.InflateException;
+    method @Nullable public final android.view.View createView(@NonNull android.content.Context, @NonNull String, @Nullable String, @Nullable android.util.AttributeSet) throws java.lang.ClassNotFoundException, android.view.InflateException;
+    method public static android.view.LayoutInflater from(@UiContext android.content.Context);
+    method public android.content.Context getContext();
+    method public final android.view.LayoutInflater.Factory getFactory();
+    method public final android.view.LayoutInflater.Factory2 getFactory2();
+    method public android.view.LayoutInflater.Filter getFilter();
+    method public android.view.View inflate(@LayoutRes int, @Nullable android.view.ViewGroup);
+    method public android.view.View inflate(org.xmlpull.v1.XmlPullParser, @Nullable android.view.ViewGroup);
+    method public android.view.View inflate(@LayoutRes int, @Nullable android.view.ViewGroup, boolean);
+    method public android.view.View inflate(org.xmlpull.v1.XmlPullParser, @Nullable android.view.ViewGroup, boolean);
+    method protected android.view.View onCreateView(String, android.util.AttributeSet) throws java.lang.ClassNotFoundException;
+    method protected android.view.View onCreateView(android.view.View, String, android.util.AttributeSet) throws java.lang.ClassNotFoundException;
+    method @Nullable public android.view.View onCreateView(@NonNull android.content.Context, @Nullable android.view.View, @NonNull String, @Nullable android.util.AttributeSet) throws java.lang.ClassNotFoundException;
+    method public void setFactory(android.view.LayoutInflater.Factory);
+    method public void setFactory2(android.view.LayoutInflater.Factory2);
+    method public void setFilter(android.view.LayoutInflater.Filter);
+  }
+
+  public static interface LayoutInflater.Factory {
+    method @Nullable public android.view.View onCreateView(@NonNull String, @NonNull android.content.Context, @NonNull android.util.AttributeSet);
+  }
+
+  public static interface LayoutInflater.Factory2 extends android.view.LayoutInflater.Factory {
+    method @Nullable public android.view.View onCreateView(@Nullable android.view.View, @NonNull String, @NonNull android.content.Context, @NonNull android.util.AttributeSet);
+  }
+
+  public static interface LayoutInflater.Filter {
+    method public boolean onLoadClass(Class);
+  }
+
+  public interface Menu {
+    method public android.view.MenuItem add(CharSequence);
+    method public android.view.MenuItem add(@StringRes int);
+    method public android.view.MenuItem add(int, int, int, CharSequence);
+    method public android.view.MenuItem add(int, int, int, @StringRes int);
+    method public int addIntentOptions(int, int, int, android.content.ComponentName, android.content.Intent[], android.content.Intent, int, android.view.MenuItem[]);
+    method public android.view.SubMenu addSubMenu(CharSequence);
+    method public android.view.SubMenu addSubMenu(@StringRes int);
+    method public android.view.SubMenu addSubMenu(int, int, int, CharSequence);
+    method public android.view.SubMenu addSubMenu(int, int, int, @StringRes int);
+    method public void clear();
+    method public void close();
+    method public android.view.MenuItem findItem(int);
+    method public android.view.MenuItem getItem(int);
+    method public boolean hasVisibleItems();
+    method public boolean isShortcutKey(int, android.view.KeyEvent);
+    method public boolean performIdentifierAction(int, int);
+    method public boolean performShortcut(int, android.view.KeyEvent, int);
+    method public void removeGroup(int);
+    method public void removeItem(int);
+    method public void setGroupCheckable(int, boolean, boolean);
+    method public default void setGroupDividerEnabled(boolean);
+    method public void setGroupEnabled(int, boolean);
+    method public void setGroupVisible(int, boolean);
+    method public void setQwertyMode(boolean);
+    method public int size();
+    field public static final int CATEGORY_ALTERNATIVE = 262144; // 0x40000
+    field public static final int CATEGORY_CONTAINER = 65536; // 0x10000
+    field public static final int CATEGORY_SECONDARY = 196608; // 0x30000
+    field public static final int CATEGORY_SYSTEM = 131072; // 0x20000
+    field public static final int FIRST = 1; // 0x1
+    field public static final int FLAG_ALWAYS_PERFORM_CLOSE = 2; // 0x2
+    field public static final int FLAG_APPEND_TO_GROUP = 1; // 0x1
+    field public static final int FLAG_PERFORM_NO_CLOSE = 1; // 0x1
+    field public static final int NONE = 0; // 0x0
+    field public static final int SUPPORTED_MODIFIERS_MASK = 69647; // 0x1100f
+  }
+
+  public class MenuInflater {
+    ctor public MenuInflater(android.content.Context);
+    method public void inflate(@MenuRes int, android.view.Menu);
+  }
+
+  public interface MenuItem {
+    method public boolean collapseActionView();
+    method public boolean expandActionView();
+    method public android.view.ActionProvider getActionProvider();
+    method public android.view.View getActionView();
+    method public default int getAlphabeticModifiers();
+    method public char getAlphabeticShortcut();
+    method public default CharSequence getContentDescription();
+    method public int getGroupId();
+    method public android.graphics.drawable.Drawable getIcon();
+    method @Nullable public default android.graphics.BlendMode getIconTintBlendMode();
+    method @Nullable public default android.content.res.ColorStateList getIconTintList();
+    method @Nullable public default android.graphics.PorterDuff.Mode getIconTintMode();
+    method public android.content.Intent getIntent();
+    method public int getItemId();
+    method public android.view.ContextMenu.ContextMenuInfo getMenuInfo();
+    method public default int getNumericModifiers();
+    method public char getNumericShortcut();
+    method public int getOrder();
+    method public android.view.SubMenu getSubMenu();
+    method public CharSequence getTitle();
+    method public CharSequence getTitleCondensed();
+    method public default CharSequence getTooltipText();
+    method public boolean hasSubMenu();
+    method public boolean isActionViewExpanded();
+    method public boolean isCheckable();
+    method public boolean isChecked();
+    method public boolean isEnabled();
+    method public boolean isVisible();
+    method public android.view.MenuItem setActionProvider(android.view.ActionProvider);
+    method public android.view.MenuItem setActionView(android.view.View);
+    method public android.view.MenuItem setActionView(@LayoutRes int);
+    method public android.view.MenuItem setAlphabeticShortcut(char);
+    method public default android.view.MenuItem setAlphabeticShortcut(char, int);
+    method public android.view.MenuItem setCheckable(boolean);
+    method public android.view.MenuItem setChecked(boolean);
+    method public default android.view.MenuItem setContentDescription(CharSequence);
+    method public android.view.MenuItem setEnabled(boolean);
+    method public android.view.MenuItem setIcon(android.graphics.drawable.Drawable);
+    method public android.view.MenuItem setIcon(@DrawableRes int);
+    method @NonNull public default android.view.MenuItem setIconTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public default android.view.MenuItem setIconTintList(@Nullable android.content.res.ColorStateList);
+    method @NonNull public default android.view.MenuItem setIconTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public android.view.MenuItem setIntent(android.content.Intent);
+    method public android.view.MenuItem setNumericShortcut(char);
+    method public default android.view.MenuItem setNumericShortcut(char, int);
+    method public android.view.MenuItem setOnActionExpandListener(android.view.MenuItem.OnActionExpandListener);
+    method public android.view.MenuItem setOnMenuItemClickListener(android.view.MenuItem.OnMenuItemClickListener);
+    method public android.view.MenuItem setShortcut(char, char);
+    method public default android.view.MenuItem setShortcut(char, char, int, int);
+    method public void setShowAsAction(int);
+    method public android.view.MenuItem setShowAsActionFlags(int);
+    method public android.view.MenuItem setTitle(CharSequence);
+    method public android.view.MenuItem setTitle(@StringRes int);
+    method public android.view.MenuItem setTitleCondensed(CharSequence);
+    method public default android.view.MenuItem setTooltipText(CharSequence);
+    method public android.view.MenuItem setVisible(boolean);
+    field public static final int SHOW_AS_ACTION_ALWAYS = 2; // 0x2
+    field public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8; // 0x8
+    field public static final int SHOW_AS_ACTION_IF_ROOM = 1; // 0x1
+    field public static final int SHOW_AS_ACTION_NEVER = 0; // 0x0
+    field public static final int SHOW_AS_ACTION_WITH_TEXT = 4; // 0x4
+  }
+
+  public static interface MenuItem.OnActionExpandListener {
+    method public boolean onMenuItemActionCollapse(android.view.MenuItem);
+    method public boolean onMenuItemActionExpand(android.view.MenuItem);
+  }
+
+  public static interface MenuItem.OnMenuItemClickListener {
+    method public boolean onMenuItemClick(android.view.MenuItem);
+  }
+
+  public final class MotionEvent extends android.view.InputEvent implements android.os.Parcelable {
+    method public static String actionToString(int);
+    method public void addBatch(long, float, float, float, float, int);
+    method public void addBatch(long, android.view.MotionEvent.PointerCoords[], int);
+    method public static int axisFromString(String);
+    method public static String axisToString(int);
+    method public int findPointerIndex(int);
+    method public int getAction();
+    method public int getActionButton();
+    method public int getActionIndex();
+    method public int getActionMasked();
+    method public float getAxisValue(int);
+    method public float getAxisValue(int, int);
+    method public int getButtonState();
+    method public int getClassification();
+    method public int getDeviceId();
+    method public long getDownTime();
+    method public int getEdgeFlags();
+    method public long getEventTime();
+    method public int getFlags();
+    method public float getHistoricalAxisValue(int, int);
+    method public float getHistoricalAxisValue(int, int, int);
+    method public long getHistoricalEventTime(int);
+    method public float getHistoricalOrientation(int);
+    method public float getHistoricalOrientation(int, int);
+    method public void getHistoricalPointerCoords(int, int, android.view.MotionEvent.PointerCoords);
+    method public float getHistoricalPressure(int);
+    method public float getHistoricalPressure(int, int);
+    method public float getHistoricalSize(int);
+    method public float getHistoricalSize(int, int);
+    method public float getHistoricalToolMajor(int);
+    method public float getHistoricalToolMajor(int, int);
+    method public float getHistoricalToolMinor(int);
+    method public float getHistoricalToolMinor(int, int);
+    method public float getHistoricalTouchMajor(int);
+    method public float getHistoricalTouchMajor(int, int);
+    method public float getHistoricalTouchMinor(int);
+    method public float getHistoricalTouchMinor(int, int);
+    method public float getHistoricalX(int);
+    method public float getHistoricalX(int, int);
+    method public float getHistoricalY(int);
+    method public float getHistoricalY(int, int);
+    method public int getHistorySize();
+    method public int getMetaState();
+    method public float getOrientation();
+    method public float getOrientation(int);
+    method public void getPointerCoords(int, android.view.MotionEvent.PointerCoords);
+    method public int getPointerCount();
+    method public int getPointerId(int);
+    method public void getPointerProperties(int, android.view.MotionEvent.PointerProperties);
+    method public float getPressure();
+    method public float getPressure(int);
+    method public float getRawX();
+    method public float getRawX(int);
+    method public float getRawY();
+    method public float getRawY(int);
+    method public float getSize();
+    method public float getSize(int);
+    method public int getSource();
+    method public float getToolMajor();
+    method public float getToolMajor(int);
+    method public float getToolMinor();
+    method public float getToolMinor(int);
+    method public int getToolType(int);
+    method public float getTouchMajor();
+    method public float getTouchMajor(int);
+    method public float getTouchMinor();
+    method public float getTouchMinor(int);
+    method public float getX();
+    method public float getX(int);
+    method public float getXPrecision();
+    method public float getY();
+    method public float getY(int);
+    method public float getYPrecision();
+    method public boolean isButtonPressed(int);
+    method public static android.view.MotionEvent obtain(long, long, int, int, android.view.MotionEvent.PointerProperties[], android.view.MotionEvent.PointerCoords[], int, int, float, float, int, int, int, int);
+    method @Deprecated public static android.view.MotionEvent obtain(long, long, int, int, int[], android.view.MotionEvent.PointerCoords[], int, float, float, int, int, int, int);
+    method public static android.view.MotionEvent obtain(long, long, int, float, float, float, float, int, float, float, int, int);
+    method @Deprecated public static android.view.MotionEvent obtain(long, long, int, int, float, float, float, float, int, float, float, int, int);
+    method public static android.view.MotionEvent obtain(long, long, int, float, float, int);
+    method public static android.view.MotionEvent obtain(android.view.MotionEvent);
+    method public static android.view.MotionEvent obtainNoHistory(android.view.MotionEvent);
+    method public void offsetLocation(float, float);
+    method public void recycle();
+    method public void setAction(int);
+    method public void setEdgeFlags(int);
+    method public void setLocation(float, float);
+    method public void setSource(int);
+    method public void transform(android.graphics.Matrix);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_BUTTON_PRESS = 11; // 0xb
+    field public static final int ACTION_BUTTON_RELEASE = 12; // 0xc
+    field public static final int ACTION_CANCEL = 3; // 0x3
+    field public static final int ACTION_DOWN = 0; // 0x0
+    field public static final int ACTION_HOVER_ENTER = 9; // 0x9
+    field public static final int ACTION_HOVER_EXIT = 10; // 0xa
+    field public static final int ACTION_HOVER_MOVE = 7; // 0x7
+    field public static final int ACTION_MASK = 255; // 0xff
+    field public static final int ACTION_MOVE = 2; // 0x2
+    field public static final int ACTION_OUTSIDE = 4; // 0x4
+    field @Deprecated public static final int ACTION_POINTER_1_DOWN = 5; // 0x5
+    field @Deprecated public static final int ACTION_POINTER_1_UP = 6; // 0x6
+    field @Deprecated public static final int ACTION_POINTER_2_DOWN = 261; // 0x105
+    field @Deprecated public static final int ACTION_POINTER_2_UP = 262; // 0x106
+    field @Deprecated public static final int ACTION_POINTER_3_DOWN = 517; // 0x205
+    field @Deprecated public static final int ACTION_POINTER_3_UP = 518; // 0x206
+    field public static final int ACTION_POINTER_DOWN = 5; // 0x5
+    field @Deprecated public static final int ACTION_POINTER_ID_MASK = 65280; // 0xff00
+    field @Deprecated public static final int ACTION_POINTER_ID_SHIFT = 8; // 0x8
+    field public static final int ACTION_POINTER_INDEX_MASK = 65280; // 0xff00
+    field public static final int ACTION_POINTER_INDEX_SHIFT = 8; // 0x8
+    field public static final int ACTION_POINTER_UP = 6; // 0x6
+    field public static final int ACTION_SCROLL = 8; // 0x8
+    field public static final int ACTION_UP = 1; // 0x1
+    field public static final int AXIS_BRAKE = 23; // 0x17
+    field public static final int AXIS_DISTANCE = 24; // 0x18
+    field public static final int AXIS_GAS = 22; // 0x16
+    field public static final int AXIS_GENERIC_1 = 32; // 0x20
+    field public static final int AXIS_GENERIC_10 = 41; // 0x29
+    field public static final int AXIS_GENERIC_11 = 42; // 0x2a
+    field public static final int AXIS_GENERIC_12 = 43; // 0x2b
+    field public static final int AXIS_GENERIC_13 = 44; // 0x2c
+    field public static final int AXIS_GENERIC_14 = 45; // 0x2d
+    field public static final int AXIS_GENERIC_15 = 46; // 0x2e
+    field public static final int AXIS_GENERIC_16 = 47; // 0x2f
+    field public static final int AXIS_GENERIC_2 = 33; // 0x21
+    field public static final int AXIS_GENERIC_3 = 34; // 0x22
+    field public static final int AXIS_GENERIC_4 = 35; // 0x23
+    field public static final int AXIS_GENERIC_5 = 36; // 0x24
+    field public static final int AXIS_GENERIC_6 = 37; // 0x25
+    field public static final int AXIS_GENERIC_7 = 38; // 0x26
+    field public static final int AXIS_GENERIC_8 = 39; // 0x27
+    field public static final int AXIS_GENERIC_9 = 40; // 0x28
+    field public static final int AXIS_HAT_X = 15; // 0xf
+    field public static final int AXIS_HAT_Y = 16; // 0x10
+    field public static final int AXIS_HSCROLL = 10; // 0xa
+    field public static final int AXIS_LTRIGGER = 17; // 0x11
+    field public static final int AXIS_ORIENTATION = 8; // 0x8
+    field public static final int AXIS_PRESSURE = 2; // 0x2
+    field public static final int AXIS_RELATIVE_X = 27; // 0x1b
+    field public static final int AXIS_RELATIVE_Y = 28; // 0x1c
+    field public static final int AXIS_RTRIGGER = 18; // 0x12
+    field public static final int AXIS_RUDDER = 20; // 0x14
+    field public static final int AXIS_RX = 12; // 0xc
+    field public static final int AXIS_RY = 13; // 0xd
+    field public static final int AXIS_RZ = 14; // 0xe
+    field public static final int AXIS_SCROLL = 26; // 0x1a
+    field public static final int AXIS_SIZE = 3; // 0x3
+    field public static final int AXIS_THROTTLE = 19; // 0x13
+    field public static final int AXIS_TILT = 25; // 0x19
+    field public static final int AXIS_TOOL_MAJOR = 6; // 0x6
+    field public static final int AXIS_TOOL_MINOR = 7; // 0x7
+    field public static final int AXIS_TOUCH_MAJOR = 4; // 0x4
+    field public static final int AXIS_TOUCH_MINOR = 5; // 0x5
+    field public static final int AXIS_VSCROLL = 9; // 0x9
+    field public static final int AXIS_WHEEL = 21; // 0x15
+    field public static final int AXIS_X = 0; // 0x0
+    field public static final int AXIS_Y = 1; // 0x1
+    field public static final int AXIS_Z = 11; // 0xb
+    field public static final int BUTTON_BACK = 8; // 0x8
+    field public static final int BUTTON_FORWARD = 16; // 0x10
+    field public static final int BUTTON_PRIMARY = 1; // 0x1
+    field public static final int BUTTON_SECONDARY = 2; // 0x2
+    field public static final int BUTTON_STYLUS_PRIMARY = 32; // 0x20
+    field public static final int BUTTON_STYLUS_SECONDARY = 64; // 0x40
+    field public static final int BUTTON_TERTIARY = 4; // 0x4
+    field public static final int CLASSIFICATION_AMBIGUOUS_GESTURE = 1; // 0x1
+    field public static final int CLASSIFICATION_DEEP_PRESS = 2; // 0x2
+    field public static final int CLASSIFICATION_NONE = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.MotionEvent> CREATOR;
+    field public static final int EDGE_BOTTOM = 2; // 0x2
+    field public static final int EDGE_LEFT = 4; // 0x4
+    field public static final int EDGE_RIGHT = 8; // 0x8
+    field public static final int EDGE_TOP = 1; // 0x1
+    field public static final int FLAG_WINDOW_IS_OBSCURED = 1; // 0x1
+    field public static final int FLAG_WINDOW_IS_PARTIALLY_OBSCURED = 2; // 0x2
+    field public static final int INVALID_POINTER_ID = -1; // 0xffffffff
+    field public static final int TOOL_TYPE_ERASER = 4; // 0x4
+    field public static final int TOOL_TYPE_FINGER = 1; // 0x1
+    field public static final int TOOL_TYPE_MOUSE = 3; // 0x3
+    field public static final int TOOL_TYPE_STYLUS = 2; // 0x2
+    field public static final int TOOL_TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  public static final class MotionEvent.PointerCoords {
+    ctor public MotionEvent.PointerCoords();
+    ctor public MotionEvent.PointerCoords(android.view.MotionEvent.PointerCoords);
+    method public void clear();
+    method public void copyFrom(android.view.MotionEvent.PointerCoords);
+    method public float getAxisValue(int);
+    method public void setAxisValue(int, float);
+    field public float orientation;
+    field public float pressure;
+    field public float size;
+    field public float toolMajor;
+    field public float toolMinor;
+    field public float touchMajor;
+    field public float touchMinor;
+    field public float x;
+    field public float y;
+  }
+
+  public static final class MotionEvent.PointerProperties {
+    ctor public MotionEvent.PointerProperties();
+    ctor public MotionEvent.PointerProperties(android.view.MotionEvent.PointerProperties);
+    method public void clear();
+    method public void copyFrom(android.view.MotionEvent.PointerProperties);
+    field public int id;
+    field public int toolType;
+  }
+
+  public interface OnReceiveContentListener {
+    method @Nullable public android.view.ContentInfo onReceiveContent(@NonNull android.view.View, @NonNull android.view.ContentInfo);
+  }
+
+  public abstract class OrientationEventListener {
+    ctor public OrientationEventListener(android.content.Context);
+    ctor public OrientationEventListener(android.content.Context, int);
+    method public boolean canDetectOrientation();
+    method public void disable();
+    method public void enable();
+    method public abstract void onOrientationChanged(int);
+    field public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
+  }
+
+  @Deprecated public abstract class OrientationListener implements android.hardware.SensorListener {
+    ctor @Deprecated public OrientationListener(android.content.Context);
+    ctor @Deprecated public OrientationListener(android.content.Context, int);
+    method @Deprecated public void disable();
+    method @Deprecated public void enable();
+    method @Deprecated public void onAccuracyChanged(int, int);
+    method @Deprecated public abstract void onOrientationChanged(int);
+    method @Deprecated public void onSensorChanged(int, float[]);
+    field @Deprecated public static final int ORIENTATION_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class PixelCopy {
+    method public static void request(@NonNull android.view.SurfaceView, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    method public static void request(@NonNull android.view.SurfaceView, @Nullable android.graphics.Rect, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    method public static void request(@NonNull android.view.Surface, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    method public static void request(@NonNull android.view.Surface, @Nullable android.graphics.Rect, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    method public static void request(@NonNull android.view.Window, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    method public static void request(@NonNull android.view.Window, @Nullable android.graphics.Rect, @NonNull android.graphics.Bitmap, @NonNull android.view.PixelCopy.OnPixelCopyFinishedListener, @NonNull android.os.Handler);
+    field public static final int ERROR_DESTINATION_INVALID = 5; // 0x5
+    field public static final int ERROR_SOURCE_INVALID = 4; // 0x4
+    field public static final int ERROR_SOURCE_NO_DATA = 3; // 0x3
+    field public static final int ERROR_TIMEOUT = 2; // 0x2
+    field public static final int ERROR_UNKNOWN = 1; // 0x1
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public static interface PixelCopy.OnPixelCopyFinishedListener {
+    method public void onPixelCopyFinished(int);
+  }
+
+  public final class PointerIcon implements android.os.Parcelable {
+    method public static android.view.PointerIcon create(@NonNull android.graphics.Bitmap, float, float);
+    method public int describeContents();
+    method public static android.view.PointerIcon getSystemIcon(@NonNull android.content.Context, int);
+    method public static android.view.PointerIcon load(@NonNull android.content.res.Resources, @XmlRes int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.PointerIcon> CREATOR;
+    field public static final int TYPE_ALIAS = 1010; // 0x3f2
+    field public static final int TYPE_ALL_SCROLL = 1013; // 0x3f5
+    field public static final int TYPE_ARROW = 1000; // 0x3e8
+    field public static final int TYPE_CELL = 1006; // 0x3ee
+    field public static final int TYPE_CONTEXT_MENU = 1001; // 0x3e9
+    field public static final int TYPE_COPY = 1011; // 0x3f3
+    field public static final int TYPE_CROSSHAIR = 1007; // 0x3ef
+    field public static final int TYPE_DEFAULT = 1000; // 0x3e8
+    field public static final int TYPE_GRAB = 1020; // 0x3fc
+    field public static final int TYPE_GRABBING = 1021; // 0x3fd
+    field public static final int TYPE_HAND = 1002; // 0x3ea
+    field public static final int TYPE_HELP = 1003; // 0x3eb
+    field public static final int TYPE_HORIZONTAL_DOUBLE_ARROW = 1014; // 0x3f6
+    field public static final int TYPE_NO_DROP = 1012; // 0x3f4
+    field public static final int TYPE_NULL = 0; // 0x0
+    field public static final int TYPE_TEXT = 1008; // 0x3f0
+    field public static final int TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW = 1017; // 0x3f9
+    field public static final int TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW = 1016; // 0x3f8
+    field public static final int TYPE_VERTICAL_DOUBLE_ARROW = 1015; // 0x3f7
+    field public static final int TYPE_VERTICAL_TEXT = 1009; // 0x3f1
+    field public static final int TYPE_WAIT = 1004; // 0x3ec
+    field public static final int TYPE_ZOOM_IN = 1018; // 0x3fa
+    field public static final int TYPE_ZOOM_OUT = 1019; // 0x3fb
+  }
+
+  public final class RoundedCorner implements android.os.Parcelable {
+    ctor public RoundedCorner(int, int, int, int);
+    method public int describeContents();
+    method @NonNull public android.graphics.Point getCenter();
+    method public int getPosition();
+    method public int getRadius();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.RoundedCorner> CREATOR;
+    field public static final int POSITION_BOTTOM_LEFT = 3; // 0x3
+    field public static final int POSITION_BOTTOM_RIGHT = 2; // 0x2
+    field public static final int POSITION_TOP_LEFT = 0; // 0x0
+    field public static final int POSITION_TOP_RIGHT = 1; // 0x1
+  }
+
+  public class ScaleGestureDetector {
+    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener);
+    ctor public ScaleGestureDetector(android.content.Context, android.view.ScaleGestureDetector.OnScaleGestureListener, android.os.Handler);
+    method public float getCurrentSpan();
+    method public float getCurrentSpanX();
+    method public float getCurrentSpanY();
+    method public long getEventTime();
+    method public float getFocusX();
+    method public float getFocusY();
+    method public float getPreviousSpan();
+    method public float getPreviousSpanX();
+    method public float getPreviousSpanY();
+    method public float getScaleFactor();
+    method public long getTimeDelta();
+    method public boolean isInProgress();
+    method public boolean isQuickScaleEnabled();
+    method public boolean isStylusScaleEnabled();
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public void setQuickScaleEnabled(boolean);
+    method public void setStylusScaleEnabled(boolean);
+  }
+
+  public static interface ScaleGestureDetector.OnScaleGestureListener {
+    method public boolean onScale(android.view.ScaleGestureDetector);
+    method public boolean onScaleBegin(android.view.ScaleGestureDetector);
+    method public void onScaleEnd(android.view.ScaleGestureDetector);
+  }
+
+  public static class ScaleGestureDetector.SimpleOnScaleGestureListener implements android.view.ScaleGestureDetector.OnScaleGestureListener {
+    ctor public ScaleGestureDetector.SimpleOnScaleGestureListener();
+    method public boolean onScale(android.view.ScaleGestureDetector);
+    method public boolean onScaleBegin(android.view.ScaleGestureDetector);
+    method public void onScaleEnd(android.view.ScaleGestureDetector);
+  }
+
+  @UiThread public interface ScrollCaptureCallback {
+    method public void onScrollCaptureEnd(@NonNull Runnable);
+    method public void onScrollCaptureImageRequest(@NonNull android.view.ScrollCaptureSession, @NonNull android.os.CancellationSignal, @NonNull android.graphics.Rect, @NonNull java.util.function.Consumer<android.graphics.Rect>);
+    method public void onScrollCaptureSearch(@NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.graphics.Rect>);
+    method public void onScrollCaptureStart(@NonNull android.view.ScrollCaptureSession, @NonNull android.os.CancellationSignal, @NonNull Runnable);
+  }
+
+  public class ScrollCaptureSession {
+    ctor public ScrollCaptureSession(@NonNull android.view.Surface, @NonNull android.graphics.Rect, @NonNull android.graphics.Point);
+    method @NonNull public android.graphics.Point getPositionInWindow();
+    method @NonNull public android.graphics.Rect getScrollBounds();
+    method @NonNull public android.view.Surface getSurface();
+  }
+
+  public final class ScrollCaptureTarget {
+    ctor public ScrollCaptureTarget(@NonNull android.view.View, @NonNull android.graphics.Rect, @NonNull android.graphics.Point, @NonNull android.view.ScrollCaptureCallback);
+    method @NonNull public android.view.ScrollCaptureCallback getCallback();
+    method @NonNull public android.view.View getContainingView();
+    method public int getHint();
+    method @NonNull public android.graphics.Rect getLocalVisibleRect();
+    method @NonNull public android.graphics.Point getPositionInWindow();
+    method @Nullable public android.graphics.Rect getScrollBounds();
+    method public void setScrollBounds(@Nullable android.graphics.Rect);
+    method @UiThread public void updatePositionInWindow();
+  }
+
+  public class SearchEvent {
+    ctor public SearchEvent(android.view.InputDevice);
+    method public android.view.InputDevice getInputDevice();
+  }
+
+  public class SoundEffectConstants {
+    method public static int getConstantForFocusDirection(int, boolean);
+    method public static int getContantForFocusDirection(int);
+    field public static final int CLICK = 0; // 0x0
+    field public static final int NAVIGATION_DOWN = 4; // 0x4
+    field public static final int NAVIGATION_LEFT = 1; // 0x1
+    field public static final int NAVIGATION_REPEAT_DOWN = 8; // 0x8
+    field public static final int NAVIGATION_REPEAT_LEFT = 5; // 0x5
+    field public static final int NAVIGATION_REPEAT_RIGHT = 7; // 0x7
+    field public static final int NAVIGATION_REPEAT_UP = 6; // 0x6
+    field public static final int NAVIGATION_RIGHT = 3; // 0x3
+    field public static final int NAVIGATION_UP = 2; // 0x2
+  }
+
+  public interface SubMenu extends android.view.Menu {
+    method public void clearHeader();
+    method public android.view.MenuItem getItem();
+    method public android.view.SubMenu setHeaderIcon(@DrawableRes int);
+    method public android.view.SubMenu setHeaderIcon(android.graphics.drawable.Drawable);
+    method public android.view.SubMenu setHeaderTitle(@StringRes int);
+    method public android.view.SubMenu setHeaderTitle(CharSequence);
+    method public android.view.SubMenu setHeaderView(android.view.View);
+    method public android.view.SubMenu setIcon(@DrawableRes int);
+    method public android.view.SubMenu setIcon(android.graphics.drawable.Drawable);
+  }
+
+  public class Surface implements android.os.Parcelable {
+    ctor public Surface(@NonNull android.view.SurfaceControl);
+    ctor public Surface(android.graphics.SurfaceTexture);
+    method public int describeContents();
+    method public boolean isValid();
+    method public android.graphics.Canvas lockCanvas(android.graphics.Rect) throws java.lang.IllegalArgumentException, android.view.Surface.OutOfResourcesException;
+    method public android.graphics.Canvas lockHardwareCanvas();
+    method public void readFromParcel(android.os.Parcel);
+    method public void release();
+    method public void setFrameRate(@FloatRange(from=0.0) float, int, int);
+    method public void setFrameRate(@FloatRange(from=0.0) float, int);
+    method @Deprecated public void unlockCanvas(android.graphics.Canvas);
+    method public void unlockCanvasAndPost(android.graphics.Canvas);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CHANGE_FRAME_RATE_ALWAYS = 1; // 0x1
+    field public static final int CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.Surface> CREATOR;
+    field public static final int FRAME_RATE_COMPATIBILITY_DEFAULT = 0; // 0x0
+    field public static final int FRAME_RATE_COMPATIBILITY_FIXED_SOURCE = 1; // 0x1
+    field public static final int ROTATION_0 = 0; // 0x0
+    field public static final int ROTATION_180 = 2; // 0x2
+    field public static final int ROTATION_270 = 3; // 0x3
+    field public static final int ROTATION_90 = 1; // 0x1
+  }
+
+  public static class Surface.OutOfResourcesException extends java.lang.RuntimeException {
+    ctor public Surface.OutOfResourcesException();
+    ctor public Surface.OutOfResourcesException(String);
+  }
+
+  public final class SurfaceControl implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isValid();
+    method public void readFromParcel(android.os.Parcel);
+    method public void release();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int BUFFER_TRANSFORM_IDENTITY = 0; // 0x0
+    field public static final int BUFFER_TRANSFORM_MIRROR_HORIZONTAL = 1; // 0x1
+    field public static final int BUFFER_TRANSFORM_MIRROR_VERTICAL = 2; // 0x2
+    field public static final int BUFFER_TRANSFORM_ROTATE_180 = 3; // 0x3
+    field public static final int BUFFER_TRANSFORM_ROTATE_270 = 7; // 0x7
+    field public static final int BUFFER_TRANSFORM_ROTATE_90 = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControl> CREATOR;
+  }
+
+  public static class SurfaceControl.Builder {
+    ctor public SurfaceControl.Builder();
+    method @NonNull public android.view.SurfaceControl build();
+    method @NonNull public android.view.SurfaceControl.Builder setBufferSize(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.SurfaceControl.Builder setFormat(int);
+    method @NonNull public android.view.SurfaceControl.Builder setName(@NonNull String);
+    method @NonNull public android.view.SurfaceControl.Builder setOpaque(boolean);
+    method @NonNull public android.view.SurfaceControl.Builder setParent(@Nullable android.view.SurfaceControl);
+  }
+
+  public static class SurfaceControl.Transaction implements java.io.Closeable android.os.Parcelable {
+    ctor public SurfaceControl.Transaction();
+    method public void apply();
+    method public void close();
+    method public int describeContents();
+    method @NonNull public android.view.SurfaceControl.Transaction merge(@NonNull android.view.SurfaceControl.Transaction);
+    method @NonNull public android.view.SurfaceControl.Transaction reparent(@NonNull android.view.SurfaceControl, @Nullable android.view.SurfaceControl);
+    method @NonNull public android.view.SurfaceControl.Transaction setAlpha(@NonNull android.view.SurfaceControl, @FloatRange(from=0.0, to=1.0) float);
+    method @NonNull public android.view.SurfaceControl.Transaction setBufferSize(@NonNull android.view.SurfaceControl, @IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.SurfaceControl.Transaction setFrameRate(@NonNull android.view.SurfaceControl, @FloatRange(from=0.0) float, int);
+    method @NonNull public android.view.SurfaceControl.Transaction setFrameRate(@NonNull android.view.SurfaceControl, @FloatRange(from=0.0) float, int, int);
+    method @NonNull public android.view.SurfaceControl.Transaction setGeometry(@NonNull android.view.SurfaceControl, @Nullable android.graphics.Rect, @Nullable android.graphics.Rect, int);
+    method @NonNull public android.view.SurfaceControl.Transaction setLayer(@NonNull android.view.SurfaceControl, @IntRange(from=java.lang.Integer.MIN_VALUE, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public android.view.SurfaceControl.Transaction setVisibility(@NonNull android.view.SurfaceControl, boolean);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControl.Transaction> CREATOR;
+  }
+
+  public class SurfaceControlViewHost {
+    ctor public SurfaceControlViewHost(@NonNull android.content.Context, @NonNull android.view.Display, @Nullable android.os.IBinder);
+    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage getSurfacePackage();
+    method @Nullable public android.view.View getView();
+    method public void relayout(int, int);
+    method public void release();
+    method public void setView(@NonNull android.view.View, int, int);
+  }
+
+  public static final class SurfaceControlViewHost.SurfacePackage implements android.os.Parcelable {
+    ctor public SurfaceControlViewHost.SurfacePackage(@NonNull android.view.SurfaceControlViewHost.SurfacePackage);
+    method public int describeContents();
+    method public void release();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControlViewHost.SurfacePackage> CREATOR;
+  }
+
+  public interface SurfaceHolder {
+    method public void addCallback(android.view.SurfaceHolder.Callback);
+    method public android.view.Surface getSurface();
+    method public android.graphics.Rect getSurfaceFrame();
+    method public boolean isCreating();
+    method public android.graphics.Canvas lockCanvas();
+    method public android.graphics.Canvas lockCanvas(android.graphics.Rect);
+    method public default android.graphics.Canvas lockHardwareCanvas();
+    method public void removeCallback(android.view.SurfaceHolder.Callback);
+    method public void setFixedSize(int, int);
+    method public void setFormat(int);
+    method public void setKeepScreenOn(boolean);
+    method public void setSizeFromLayout();
+    method @Deprecated public void setType(int);
+    method public void unlockCanvasAndPost(android.graphics.Canvas);
+    field @Deprecated public static final int SURFACE_TYPE_GPU = 2; // 0x2
+    field @Deprecated public static final int SURFACE_TYPE_HARDWARE = 1; // 0x1
+    field @Deprecated public static final int SURFACE_TYPE_NORMAL = 0; // 0x0
+    field @Deprecated public static final int SURFACE_TYPE_PUSH_BUFFERS = 3; // 0x3
+  }
+
+  public static class SurfaceHolder.BadSurfaceTypeException extends java.lang.RuntimeException {
+    ctor public SurfaceHolder.BadSurfaceTypeException();
+    ctor public SurfaceHolder.BadSurfaceTypeException(String);
+  }
+
+  public static interface SurfaceHolder.Callback {
+    method public void surfaceChanged(@NonNull android.view.SurfaceHolder, int, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public void surfaceCreated(@NonNull android.view.SurfaceHolder);
+    method public void surfaceDestroyed(@NonNull android.view.SurfaceHolder);
+  }
+
+  public static interface SurfaceHolder.Callback2 extends android.view.SurfaceHolder.Callback {
+    method public void surfaceRedrawNeeded(@NonNull android.view.SurfaceHolder);
+    method public default void surfaceRedrawNeededAsync(@NonNull android.view.SurfaceHolder, @NonNull Runnable);
+  }
+
+  public class SurfaceView extends android.view.View {
+    ctor public SurfaceView(android.content.Context);
+    ctor public SurfaceView(android.content.Context, android.util.AttributeSet);
+    ctor public SurfaceView(android.content.Context, android.util.AttributeSet, int);
+    ctor public SurfaceView(android.content.Context, android.util.AttributeSet, int, int);
+    method public android.view.SurfaceHolder getHolder();
+    method @Nullable public android.os.IBinder getHostToken();
+    method public android.view.SurfaceControl getSurfaceControl();
+    method public void setChildSurfacePackage(@NonNull android.view.SurfaceControlViewHost.SurfacePackage);
+    method public void setSecure(boolean);
+    method public void setZOrderMediaOverlay(boolean);
+    method public void setZOrderOnTop(boolean);
+  }
+
+  public class TextureView extends android.view.View {
+    ctor public TextureView(@NonNull android.content.Context);
+    ctor public TextureView(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public TextureView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public TextureView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, int);
+    method public final void draw(android.graphics.Canvas);
+    method @Nullable public android.graphics.Bitmap getBitmap();
+    method @Nullable public android.graphics.Bitmap getBitmap(int, int);
+    method @NonNull public android.graphics.Bitmap getBitmap(@NonNull android.graphics.Bitmap);
+    method @Nullable public android.graphics.SurfaceTexture getSurfaceTexture();
+    method @Nullable public android.view.TextureView.SurfaceTextureListener getSurfaceTextureListener();
+    method @NonNull public android.graphics.Matrix getTransform(@Nullable android.graphics.Matrix);
+    method public boolean isAvailable();
+    method @Nullable public android.graphics.Canvas lockCanvas();
+    method @Nullable public android.graphics.Canvas lockCanvas(@Nullable android.graphics.Rect);
+    method protected final void onDraw(android.graphics.Canvas);
+    method public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setOpaque(boolean);
+    method public void setSurfaceTexture(@NonNull android.graphics.SurfaceTexture);
+    method public void setSurfaceTextureListener(@Nullable android.view.TextureView.SurfaceTextureListener);
+    method public void setTransform(@Nullable android.graphics.Matrix);
+    method public void unlockCanvasAndPost(@NonNull android.graphics.Canvas);
+  }
+
+  public static interface TextureView.SurfaceTextureListener {
+    method public void onSurfaceTextureAvailable(@NonNull android.graphics.SurfaceTexture, int, int);
+    method public boolean onSurfaceTextureDestroyed(@NonNull android.graphics.SurfaceTexture);
+    method public void onSurfaceTextureSizeChanged(@NonNull android.graphics.SurfaceTexture, int, int);
+    method public void onSurfaceTextureUpdated(@NonNull android.graphics.SurfaceTexture);
+  }
+
+  public class TouchDelegate {
+    ctor public TouchDelegate(android.graphics.Rect, android.view.View);
+    method @NonNull public android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo getTouchDelegateInfo();
+    method public boolean onTouchEvent(@NonNull android.view.MotionEvent);
+    method public boolean onTouchExplorationHoverEvent(@NonNull android.view.MotionEvent);
+    field public static final int ABOVE = 1; // 0x1
+    field public static final int BELOW = 2; // 0x2
+    field public static final int TO_LEFT = 4; // 0x4
+    field public static final int TO_RIGHT = 8; // 0x8
+  }
+
+  public final class VelocityTracker {
+    method public void addMovement(android.view.MotionEvent);
+    method public void clear();
+    method public void computeCurrentVelocity(int);
+    method public void computeCurrentVelocity(int, float);
+    method public float getXVelocity();
+    method public float getXVelocity(int);
+    method public float getYVelocity();
+    method public float getYVelocity(int);
+    method public static android.view.VelocityTracker obtain();
+    method public void recycle();
+  }
+
+  public abstract class VerifiedInputEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getDeviceId();
+    method public int getDisplayId();
+    method public long getEventTimeNanos();
+    method public int getSource();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.VerifiedInputEvent> CREATOR;
+  }
+
+  public final class VerifiedKeyEvent extends android.view.VerifiedInputEvent implements android.os.Parcelable {
+    method public int getAction();
+    method public long getDownTimeNanos();
+    method @Nullable public Boolean getFlag(int);
+    method public int getKeyCode();
+    method public int getMetaState();
+    method public int getRepeatCount();
+    method public int getScanCode();
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.VerifiedKeyEvent> CREATOR;
+  }
+
+  public final class VerifiedMotionEvent extends android.view.VerifiedInputEvent implements android.os.Parcelable {
+    method public int getActionMasked();
+    method public int getButtonState();
+    method public long getDownTimeNanos();
+    method @Nullable public Boolean getFlag(int);
+    method public int getMetaState();
+    method public float getRawX();
+    method public float getRawY();
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.VerifiedMotionEvent> CREATOR;
+  }
+
+  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
+    ctor public View(android.content.Context);
+    ctor public View(android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public View(android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public View(android.content.Context, @Nullable android.util.AttributeSet, int, int);
+    method public void addChildrenForAccessibility(java.util.ArrayList<android.view.View>);
+    method public void addExtraDataToAccessibilityNodeInfo(@NonNull android.view.accessibility.AccessibilityNodeInfo, @NonNull String, @Nullable android.os.Bundle);
+    method public void addFocusables(java.util.ArrayList<android.view.View>, int);
+    method public void addFocusables(java.util.ArrayList<android.view.View>, int, int);
+    method public void addKeyboardNavigationClusters(@NonNull java.util.Collection<android.view.View>, int);
+    method public void addOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener);
+    method public void addOnLayoutChangeListener(android.view.View.OnLayoutChangeListener);
+    method public void addOnUnhandledKeyEventListener(android.view.View.OnUnhandledKeyEventListener);
+    method public void addTouchables(java.util.ArrayList<android.view.View>);
+    method public android.view.ViewPropertyAnimator animate();
+    method public void announceForAccessibility(CharSequence);
+    method public void autofill(android.view.autofill.AutofillValue);
+    method public void autofill(@NonNull android.util.SparseArray<android.view.autofill.AutofillValue>);
+    method protected boolean awakenScrollBars();
+    method protected boolean awakenScrollBars(int);
+    method protected boolean awakenScrollBars(int, boolean);
+    method public void bringToFront();
+    method @Deprecated public void buildDrawingCache();
+    method @Deprecated public void buildDrawingCache(boolean);
+    method public void buildLayer();
+    method public boolean callOnClick();
+    method public boolean canResolveLayoutDirection();
+    method public boolean canResolveTextAlignment();
+    method public boolean canResolveTextDirection();
+    method public boolean canScrollHorizontally(int);
+    method public boolean canScrollVertically(int);
+    method public final void cancelDragAndDrop();
+    method public void cancelLongPress();
+    method public final void cancelPendingInputEvents();
+    method public boolean checkInputConnectionProxy(android.view.View);
+    method public void clearAnimation();
+    method public void clearFocus();
+    method public void clearViewTranslationCallback();
+    method public static int combineMeasuredStates(int, int);
+    method protected int computeHorizontalScrollExtent();
+    method protected int computeHorizontalScrollOffset();
+    method protected int computeHorizontalScrollRange();
+    method public void computeScroll();
+    method public android.view.WindowInsets computeSystemWindowInsets(android.view.WindowInsets, android.graphics.Rect);
+    method protected int computeVerticalScrollExtent();
+    method protected int computeVerticalScrollOffset();
+    method protected int computeVerticalScrollRange();
+    method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo();
+    method public void createContextMenu(android.view.ContextMenu);
+    method @Deprecated public void destroyDrawingCache();
+    method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets);
+    method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent);
+    method public void dispatchConfigurationChanged(android.content.res.Configuration);
+    method public void dispatchCreateViewTranslationRequest(@NonNull java.util.Map<android.view.autofill.AutofillId,long[]>, @NonNull int[], @NonNull android.view.translation.TranslationCapability, @NonNull java.util.List<android.view.translation.ViewTranslationRequest>);
+    method public void dispatchDisplayHint(int);
+    method public boolean dispatchDragEvent(android.view.DragEvent);
+    method protected void dispatchDraw(android.graphics.Canvas);
+    method public void dispatchDrawableHotspotChanged(float, float);
+    method @CallSuper public void dispatchFinishTemporaryDetach();
+    method protected boolean dispatchGenericFocusedEvent(android.view.MotionEvent);
+    method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+    method protected boolean dispatchGenericPointerEvent(android.view.MotionEvent);
+    method protected boolean dispatchHoverEvent(android.view.MotionEvent);
+    method public boolean dispatchKeyEvent(android.view.KeyEvent);
+    method public boolean dispatchKeyEventPreIme(android.view.KeyEvent);
+    method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+    method public boolean dispatchNestedFling(float, float, boolean);
+    method public boolean dispatchNestedPreFling(float, float);
+    method public boolean dispatchNestedPrePerformAccessibilityAction(int, android.os.Bundle);
+    method public boolean dispatchNestedPreScroll(int, int, @Nullable @Size(2) int[], @Nullable @Size(2) int[]);
+    method public boolean dispatchNestedScroll(int, int, int, int, @Nullable @Size(2) int[]);
+    method public void dispatchPointerCaptureChanged(boolean);
+    method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public void dispatchProvideAutofillStructure(@NonNull android.view.ViewStructure, int);
+    method public void dispatchProvideStructure(android.view.ViewStructure);
+    method protected void dispatchRestoreInstanceState(android.util.SparseArray<android.os.Parcelable>);
+    method protected void dispatchSaveInstanceState(android.util.SparseArray<android.os.Parcelable>);
+    method public void dispatchScrollCaptureSearch(@NonNull android.graphics.Rect, @NonNull android.graphics.Point, @NonNull java.util.function.Consumer<android.view.ScrollCaptureTarget>);
+    method protected void dispatchSetActivated(boolean);
+    method protected void dispatchSetPressed(boolean);
+    method protected void dispatchSetSelected(boolean);
+    method @CallSuper public void dispatchStartTemporaryDetach();
+    method @Deprecated public void dispatchSystemUiVisibilityChanged(int);
+    method public boolean dispatchTouchEvent(android.view.MotionEvent);
+    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+    method public boolean dispatchUnhandledMove(android.view.View, int);
+    method protected void dispatchVisibilityChanged(@NonNull android.view.View, int);
+    method public void dispatchWindowFocusChanged(boolean);
+    method public void dispatchWindowInsetsAnimationEnd(@NonNull android.view.WindowInsetsAnimation);
+    method public void dispatchWindowInsetsAnimationPrepare(@NonNull android.view.WindowInsetsAnimation);
+    method @NonNull public android.view.WindowInsets dispatchWindowInsetsAnimationProgress(@NonNull android.view.WindowInsets, @NonNull java.util.List<android.view.WindowInsetsAnimation>);
+    method @NonNull public android.view.WindowInsetsAnimation.Bounds dispatchWindowInsetsAnimationStart(@NonNull android.view.WindowInsetsAnimation, @NonNull android.view.WindowInsetsAnimation.Bounds);
+    method @Deprecated public void dispatchWindowSystemUiVisiblityChanged(int);
+    method public void dispatchWindowVisibilityChanged(int);
+    method @CallSuper public void draw(android.graphics.Canvas);
+    method @CallSuper public void drawableHotspotChanged(float, float);
+    method @CallSuper protected void drawableStateChanged();
+    method public android.view.View findFocus();
+    method public final <T extends android.view.View> T findViewById(@IdRes int);
+    method public final <T extends android.view.View> T findViewWithTag(Object);
+    method public void findViewsWithText(java.util.ArrayList<android.view.View>, CharSequence, int);
+    method @Deprecated protected boolean fitSystemWindows(android.graphics.Rect);
+    method public android.view.View focusSearch(int);
+    method public void forceHasOverlappingRendering(boolean);
+    method public void forceLayout();
+    method public boolean gatherTransparentRegion(@Nullable android.graphics.Region);
+    method public void generateDisplayHash(@NonNull String, @Nullable android.graphics.Rect, @NonNull java.util.concurrent.Executor, @NonNull android.view.displayhash.DisplayHashResultCallback);
+    method public static int generateViewId();
+    method public CharSequence getAccessibilityClassName();
+    method public android.view.View.AccessibilityDelegate getAccessibilityDelegate();
+    method public int getAccessibilityLiveRegion();
+    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
+    method @Nullable public CharSequence getAccessibilityPaneTitle();
+    method @IdRes public int getAccessibilityTraversalAfter();
+    method @IdRes public int getAccessibilityTraversalBefore();
+    method public float getAlpha();
+    method public android.view.animation.Animation getAnimation();
+    method @Nullable public android.graphics.Matrix getAnimationMatrix();
+    method public android.os.IBinder getApplicationWindowToken();
+    method @NonNull public int[] getAttributeResolutionStack(@AttrRes int);
+    method @NonNull public java.util.Map<java.lang.Integer,java.lang.Integer> getAttributeSourceResourceMap();
+    method @Nullable public String[] getAutofillHints();
+    method public final android.view.autofill.AutofillId getAutofillId();
+    method public int getAutofillType();
+    method @Nullable public android.view.autofill.AutofillValue getAutofillValue();
+    method public android.graphics.drawable.Drawable getBackground();
+    method @Nullable public android.graphics.BlendMode getBackgroundTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getBackgroundTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getBackgroundTintMode();
+    method public int getBaseline();
+    method public final int getBottom();
+    method protected float getBottomFadingEdgeStrength();
+    method protected int getBottomPaddingOffset();
+    method public float getCameraDistance();
+    method public android.graphics.Rect getClipBounds();
+    method public boolean getClipBounds(android.graphics.Rect);
+    method public final boolean getClipToOutline();
+    method @Nullable public final android.view.contentcapture.ContentCaptureSession getContentCaptureSession();
+    method public CharSequence getContentDescription();
+    method @UiContext public final android.content.Context getContext();
+    method protected android.view.ContextMenu.ContextMenuInfo getContextMenuInfo();
+    method public final boolean getDefaultFocusHighlightEnabled();
+    method public static int getDefaultSize(int, int);
+    method public android.view.Display getDisplay();
+    method public final int[] getDrawableState();
+    method @Deprecated public android.graphics.Bitmap getDrawingCache();
+    method @Deprecated public android.graphics.Bitmap getDrawingCache(boolean);
+    method @Deprecated @ColorInt public int getDrawingCacheBackgroundColor();
+    method @Deprecated public int getDrawingCacheQuality();
+    method public void getDrawingRect(android.graphics.Rect);
+    method public long getDrawingTime();
+    method public float getElevation();
+    method @StyleRes public int getExplicitStyle();
+    method public boolean getFilterTouchesWhenObscured();
+    method public boolean getFitsSystemWindows();
+    method public int getFocusable();
+    method public java.util.ArrayList<android.view.View> getFocusables(int);
+    method public void getFocusedRect(android.graphics.Rect);
+    method public android.graphics.drawable.Drawable getForeground();
+    method public int getForegroundGravity();
+    method @Nullable public android.graphics.BlendMode getForegroundTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getForegroundTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getForegroundTintMode();
+    method public boolean getGlobalVisibleRect(android.graphics.Rect, android.graphics.Point);
+    method public final boolean getGlobalVisibleRect(android.graphics.Rect);
+    method public android.os.Handler getHandler();
+    method public final boolean getHasOverlappingRendering();
+    method public final int getHeight();
+    method public void getHitRect(android.graphics.Rect);
+    method public int getHorizontalFadingEdgeLength();
+    method protected int getHorizontalScrollbarHeight();
+    method @Nullable public android.graphics.drawable.Drawable getHorizontalScrollbarThumbDrawable();
+    method @Nullable public android.graphics.drawable.Drawable getHorizontalScrollbarTrackDrawable();
+    method @IdRes public int getId();
+    method public int getImportantForAccessibility();
+    method public int getImportantForAutofill();
+    method public int getImportantForContentCapture();
+    method public boolean getKeepScreenOn();
+    method public android.view.KeyEvent.DispatcherState getKeyDispatcherState();
+    method @IdRes public int getLabelFor();
+    method public int getLayerType();
+    method public int getLayoutDirection();
+    method public android.view.ViewGroup.LayoutParams getLayoutParams();
+    method public final int getLeft();
+    method protected float getLeftFadingEdgeStrength();
+    method protected int getLeftPaddingOffset();
+    method public final boolean getLocalVisibleRect(android.graphics.Rect);
+    method public void getLocationInSurface(@NonNull @Size(2) int[]);
+    method public void getLocationInWindow(@Size(2) int[]);
+    method public void getLocationOnScreen(@Size(2) int[]);
+    method public android.graphics.Matrix getMatrix();
+    method public final int getMeasuredHeight();
+    method public final int getMeasuredHeightAndState();
+    method public final int getMeasuredState();
+    method public final int getMeasuredWidth();
+    method public final int getMeasuredWidthAndState();
+    method public int getMinimumHeight();
+    method public int getMinimumWidth();
+    method @IdRes public int getNextClusterForwardId();
+    method @IdRes public int getNextFocusDownId();
+    method @IdRes public int getNextFocusForwardId();
+    method @IdRes public int getNextFocusLeftId();
+    method @IdRes public int getNextFocusRightId();
+    method @IdRes public int getNextFocusUpId();
+    method public android.view.View.OnFocusChangeListener getOnFocusChangeListener();
+    method @ColorInt public int getOutlineAmbientShadowColor();
+    method public android.view.ViewOutlineProvider getOutlineProvider();
+    method @ColorInt public int getOutlineSpotShadowColor();
+    method public int getOverScrollMode();
+    method public android.view.ViewOverlay getOverlay();
+    method public int getPaddingBottom();
+    method public int getPaddingEnd();
+    method public int getPaddingLeft();
+    method public int getPaddingRight();
+    method public int getPaddingStart();
+    method public int getPaddingTop();
+    method public final android.view.ViewParent getParent();
+    method public android.view.ViewParent getParentForAccessibility();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public android.view.PointerIcon getPointerIcon();
+    method @Nullable public String[] getReceiveContentMimeTypes();
+    method public android.content.res.Resources getResources();
+    method public final boolean getRevealOnFocusHint();
+    method public final int getRight();
+    method protected float getRightFadingEdgeStrength();
+    method protected int getRightPaddingOffset();
+    method @Nullable public android.view.AttachedSurfaceControl getRootSurfaceControl();
+    method public android.view.View getRootView();
+    method public android.view.WindowInsets getRootWindowInsets();
+    method public float getRotation();
+    method public float getRotationX();
+    method public float getRotationY();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getScrollBarDefaultDelayBeforeFade();
+    method public int getScrollBarFadeDuration();
+    method public int getScrollBarSize();
+    method public int getScrollBarStyle();
+    method public int getScrollCaptureHint();
+    method public int getScrollIndicators();
+    method public final int getScrollX();
+    method public final int getScrollY();
+    method @ColorInt public int getSolidColor();
+    method @LayoutRes public int getSourceLayoutResId();
+    method @Nullable public final CharSequence getStateDescription();
+    method public android.animation.StateListAnimator getStateListAnimator();
+    method protected int getSuggestedMinimumHeight();
+    method protected int getSuggestedMinimumWidth();
+    method @NonNull public java.util.List<android.graphics.Rect> getSystemGestureExclusionRects();
+    method @Deprecated public int getSystemUiVisibility();
+    method public Object getTag();
+    method public Object getTag(int);
+    method public int getTextAlignment();
+    method public int getTextDirection();
+    method @Nullable public CharSequence getTooltipText();
+    method public final int getTop();
+    method protected float getTopFadingEdgeStrength();
+    method protected int getTopPaddingOffset();
+    method public android.view.TouchDelegate getTouchDelegate();
+    method public java.util.ArrayList<android.view.View> getTouchables();
+    method public float getTransitionAlpha();
+    method public String getTransitionName();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public float getTranslationZ();
+    method public long getUniqueDrawingId();
+    method public int getVerticalFadingEdgeLength();
+    method public int getVerticalScrollbarPosition();
+    method @Nullable public android.graphics.drawable.Drawable getVerticalScrollbarThumbDrawable();
+    method @Nullable public android.graphics.drawable.Drawable getVerticalScrollbarTrackDrawable();
+    method public int getVerticalScrollbarWidth();
+    method @Nullable public android.view.translation.ViewTranslationResponse getViewTranslationResponse();
+    method public android.view.ViewTreeObserver getViewTreeObserver();
+    method public int getVisibility();
+    method public final int getWidth();
+    method protected int getWindowAttachCount();
+    method public android.view.WindowId getWindowId();
+    method @Nullable public android.view.WindowInsetsController getWindowInsetsController();
+    method @Deprecated public int getWindowSystemUiVisibility();
+    method public android.os.IBinder getWindowToken();
+    method public int getWindowVisibility();
+    method public void getWindowVisibleDisplayFrame(android.graphics.Rect);
+    method public float getX();
+    method public float getY();
+    method public float getZ();
+    method public boolean hasExplicitFocusable();
+    method public boolean hasFocus();
+    method public boolean hasFocusable();
+    method public boolean hasNestedScrollingParent();
+    method public boolean hasOnClickListeners();
+    method public boolean hasOnLongClickListeners();
+    method public boolean hasOverlappingRendering();
+    method public boolean hasPointerCapture();
+    method public boolean hasTransientState();
+    method public boolean hasWindowFocus();
+    method public static android.view.View inflate(android.content.Context, @LayoutRes int, android.view.ViewGroup);
+    method @Deprecated public void invalidate(android.graphics.Rect);
+    method @Deprecated public void invalidate(int, int, int, int);
+    method public void invalidate();
+    method public void invalidateDrawable(@NonNull android.graphics.drawable.Drawable);
+    method public void invalidateOutline();
+    method public boolean isAccessibilityFocused();
+    method public boolean isAccessibilityHeading();
+    method public boolean isActivated();
+    method public boolean isAttachedToWindow();
+    method public boolean isClickable();
+    method public boolean isContextClickable();
+    method public boolean isDirty();
+    method @Deprecated public boolean isDrawingCacheEnabled();
+    method public boolean isDuplicateParentStateEnabled();
+    method public boolean isEnabled();
+    method public final boolean isFocusable();
+    method public final boolean isFocusableInTouchMode();
+    method public boolean isFocused();
+    method public final boolean isFocusedByDefault();
+    method public boolean isForceDarkAllowed();
+    method public boolean isHapticFeedbackEnabled();
+    method public boolean isHardwareAccelerated();
+    method public boolean isHorizontalFadingEdgeEnabled();
+    method public boolean isHorizontalScrollBarEnabled();
+    method public boolean isHovered();
+    method public boolean isImportantForAccessibility();
+    method public final boolean isImportantForAutofill();
+    method public final boolean isImportantForContentCapture();
+    method public boolean isInEditMode();
+    method public boolean isInLayout();
+    method public boolean isInTouchMode();
+    method public final boolean isKeyboardNavigationCluster();
+    method public boolean isLaidOut();
+    method public boolean isLayoutDirectionResolved();
+    method public boolean isLayoutRequested();
+    method public boolean isLongClickable();
+    method public boolean isNestedScrollingEnabled();
+    method public boolean isOpaque();
+    method protected boolean isPaddingOffsetRequired();
+    method public boolean isPaddingRelative();
+    method public boolean isPivotSet();
+    method public boolean isPressed();
+    method public boolean isSaveEnabled();
+    method public boolean isSaveFromParentEnabled();
+    method public boolean isScreenReaderFocusable();
+    method public boolean isScrollContainer();
+    method public boolean isScrollbarFadingEnabled();
+    method public boolean isSelected();
+    method public final boolean isShowingLayoutBounds();
+    method public boolean isShown();
+    method public boolean isSoundEffectsEnabled();
+    method public final boolean isTemporarilyDetached();
+    method public boolean isTextAlignmentResolved();
+    method public boolean isTextDirectionResolved();
+    method public boolean isVerticalFadingEdgeEnabled();
+    method public boolean isVerticalScrollBarEnabled();
+    method public boolean isVisibleToUserForAutofill(int);
+    method @CallSuper public void jumpDrawablesToCurrentState();
+    method public android.view.View keyboardNavigationClusterSearch(android.view.View, int);
+    method public void layout(int, int, int, int);
+    method public final void measure(int, int);
+    method protected static int[] mergeDrawableStates(int[], int[]);
+    method public void offsetLeftAndRight(int);
+    method public void offsetTopAndBottom(int);
+    method @CallSuper protected void onAnimationEnd();
+    method @CallSuper protected void onAnimationStart();
+    method public android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets);
+    method @CallSuper protected void onAttachedToWindow();
+    method public void onCancelPendingInputEvents();
+    method public boolean onCapturedPointerEvent(android.view.MotionEvent);
+    method public boolean onCheckIsTextEditor();
+    method protected void onConfigurationChanged(android.content.res.Configuration);
+    method protected void onCreateContextMenu(android.view.ContextMenu);
+    method protected int[] onCreateDrawableState(int);
+    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
+    method public void onCreateViewTranslationRequest(@NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
+    method public void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
+    method @CallSuper protected void onDetachedFromWindow();
+    method protected void onDisplayHint(int);
+    method public boolean onDragEvent(android.view.DragEvent);
+    method protected void onDraw(android.graphics.Canvas);
+    method public void onDrawForeground(android.graphics.Canvas);
+    method protected final void onDrawScrollBars(android.graphics.Canvas);
+    method public boolean onFilterTouchEventForSecurity(android.view.MotionEvent);
+    method @CallSuper protected void onFinishInflate();
+    method public void onFinishTemporaryDetach();
+    method @CallSuper protected void onFocusChanged(boolean, int, @Nullable android.graphics.Rect);
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public void onHoverChanged(boolean);
+    method public boolean onHoverEvent(android.view.MotionEvent);
+    method @CallSuper public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method @CallSuper public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyLongPress(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyPreIme(int, android.view.KeyEvent);
+    method public boolean onKeyShortcut(int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method protected void onLayout(boolean, int, int, int, int);
+    method protected void onMeasure(int, int);
+    method protected void onOverScrolled(int, int, boolean, boolean);
+    method @CallSuper public void onPointerCaptureChange(boolean);
+    method @CallSuper public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public void onProvideAutofillStructure(android.view.ViewStructure, int);
+    method public void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
+    method public void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
+    method public void onProvideStructure(android.view.ViewStructure);
+    method public void onProvideVirtualStructure(android.view.ViewStructure);
+    method @Nullable public android.view.ContentInfo onReceiveContent(@NonNull android.view.ContentInfo);
+    method public android.view.PointerIcon onResolvePointerIcon(android.view.MotionEvent, int);
+    method @CallSuper protected void onRestoreInstanceState(android.os.Parcelable);
+    method public void onRtlPropertiesChanged(int);
+    method @CallSuper @Nullable protected android.os.Parcelable onSaveInstanceState();
+    method public void onScreenStateChanged(int);
+    method public void onScrollCaptureSearch(@NonNull android.graphics.Rect, @NonNull android.graphics.Point, @NonNull java.util.function.Consumer<android.view.ScrollCaptureTarget>);
+    method protected void onScrollChanged(int, int, int, int);
+    method protected boolean onSetAlpha(int);
+    method protected void onSizeChanged(int, int, int, int);
+    method public void onStartTemporaryDetach();
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.view.MotionEvent);
+    method public void onViewTranslationResponse(@NonNull android.view.translation.ViewTranslationResponse);
+    method public void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
+    method @CallSuper public void onVisibilityAggregated(boolean);
+    method protected void onVisibilityChanged(@NonNull android.view.View, int);
+    method public void onWindowFocusChanged(boolean);
+    method @Deprecated public void onWindowSystemUiVisibilityChanged(int);
+    method protected void onWindowVisibilityChanged(int);
+    method protected boolean overScrollBy(int, int, int, int, int, int, int, int, boolean);
+    method public boolean performAccessibilityAction(int, android.os.Bundle);
+    method public boolean performClick();
+    method public boolean performContextClick(float, float);
+    method public boolean performContextClick();
+    method public boolean performHapticFeedback(int);
+    method public boolean performHapticFeedback(int, int);
+    method public boolean performLongClick();
+    method public boolean performLongClick(float, float);
+    method @Nullable public android.view.ContentInfo performReceiveContent(@NonNull android.view.ContentInfo);
+    method public void playSoundEffect(int);
+    method public boolean post(Runnable);
+    method public boolean postDelayed(Runnable, long);
+    method public void postInvalidate();
+    method public void postInvalidate(int, int, int, int);
+    method public void postInvalidateDelayed(long);
+    method public void postInvalidateDelayed(long, int, int, int, int);
+    method public void postInvalidateOnAnimation();
+    method public void postInvalidateOnAnimation(int, int, int, int);
+    method public void postOnAnimation(Runnable);
+    method public void postOnAnimationDelayed(Runnable, long);
+    method public void refreshDrawableState();
+    method public void releasePointerCapture();
+    method public boolean removeCallbacks(Runnable);
+    method public void removeOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener);
+    method public void removeOnLayoutChangeListener(android.view.View.OnLayoutChangeListener);
+    method public void removeOnUnhandledKeyEventListener(android.view.View.OnUnhandledKeyEventListener);
+    method public void requestApplyInsets();
+    method @Deprecated public void requestFitSystemWindows();
+    method public final boolean requestFocus();
+    method public final boolean requestFocus(int);
+    method public boolean requestFocus(int, android.graphics.Rect);
+    method public final boolean requestFocusFromTouch();
+    method @CallSuper public void requestLayout();
+    method public void requestPointerCapture();
+    method public boolean requestRectangleOnScreen(android.graphics.Rect);
+    method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean);
+    method public final void requestUnbufferedDispatch(android.view.MotionEvent);
+    method public final void requestUnbufferedDispatch(int);
+    method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
+    method public void resetPivot();
+    method public static int resolveSize(int, int);
+    method public static int resolveSizeAndState(int, int, int);
+    method public boolean restoreDefaultFocus();
+    method public void restoreHierarchyState(android.util.SparseArray<android.os.Parcelable>);
+    method public final void saveAttributeDataForStyleable(@NonNull android.content.Context, @NonNull int[], @Nullable android.util.AttributeSet, @NonNull android.content.res.TypedArray, int, int);
+    method public void saveHierarchyState(android.util.SparseArray<android.os.Parcelable>);
+    method public void scheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable, long);
+    method public void scrollBy(int, int);
+    method public void scrollTo(int, int);
+    method public void sendAccessibilityEvent(int);
+    method public void sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent);
+    method public void setAccessibilityDelegate(@Nullable android.view.View.AccessibilityDelegate);
+    method public void setAccessibilityHeading(boolean);
+    method public void setAccessibilityLiveRegion(int);
+    method public void setAccessibilityPaneTitle(@Nullable CharSequence);
+    method public void setAccessibilityTraversalAfter(@IdRes int);
+    method public void setAccessibilityTraversalBefore(@IdRes int);
+    method public void setActivated(boolean);
+    method public void setAllowClickWhenDisabled(boolean);
+    method public void setAlpha(@FloatRange(from=0.0, to=1.0) float);
+    method public void setAnimation(android.view.animation.Animation);
+    method public void setAnimationMatrix(@Nullable android.graphics.Matrix);
+    method public void setAutofillHints(@Nullable java.lang.String...);
+    method public void setAutofillId(@Nullable android.view.autofill.AutofillId);
+    method public void setBackground(android.graphics.drawable.Drawable);
+    method public void setBackgroundColor(@ColorInt int);
+    method @Deprecated public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setBackgroundResource(@DrawableRes int);
+    method public void setBackgroundTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setBackgroundTintList(@Nullable android.content.res.ColorStateList);
+    method public void setBackgroundTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public final void setBottom(int);
+    method public void setCameraDistance(float);
+    method public void setClickable(boolean);
+    method public void setClipBounds(android.graphics.Rect);
+    method public void setClipToOutline(boolean);
+    method public void setContentCaptureSession(@Nullable android.view.contentcapture.ContentCaptureSession);
+    method public void setContentDescription(CharSequence);
+    method public void setContextClickable(boolean);
+    method public void setDefaultFocusHighlightEnabled(boolean);
+    method @Deprecated public void setDrawingCacheBackgroundColor(@ColorInt int);
+    method @Deprecated public void setDrawingCacheEnabled(boolean);
+    method @Deprecated public void setDrawingCacheQuality(int);
+    method public void setDuplicateParentStateEnabled(boolean);
+    method public void setElevation(float);
+    method public void setEnabled(boolean);
+    method public void setFadingEdgeLength(int);
+    method public void setFilterTouchesWhenObscured(boolean);
+    method public void setFitsSystemWindows(boolean);
+    method public void setFocusable(boolean);
+    method public void setFocusable(int);
+    method public void setFocusableInTouchMode(boolean);
+    method public void setFocusedByDefault(boolean);
+    method public void setForceDarkAllowed(boolean);
+    method public void setForeground(android.graphics.drawable.Drawable);
+    method public void setForegroundGravity(int);
+    method public void setForegroundTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setForegroundTintList(@Nullable android.content.res.ColorStateList);
+    method public void setForegroundTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setHapticFeedbackEnabled(boolean);
+    method public void setHasTransientState(boolean);
+    method public void setHorizontalFadingEdgeEnabled(boolean);
+    method public void setHorizontalScrollBarEnabled(boolean);
+    method public void setHorizontalScrollbarThumbDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setHorizontalScrollbarTrackDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setHovered(boolean);
+    method public void setId(@IdRes int);
+    method public void setImportantForAccessibility(int);
+    method public void setImportantForAutofill(int);
+    method public void setImportantForContentCapture(int);
+    method public void setKeepScreenOn(boolean);
+    method public void setKeyboardNavigationCluster(boolean);
+    method public void setLabelFor(@IdRes int);
+    method public void setLayerPaint(@Nullable android.graphics.Paint);
+    method public void setLayerType(int, @Nullable android.graphics.Paint);
+    method public void setLayoutDirection(int);
+    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public final void setLeft(int);
+    method public final void setLeftTopRightBottom(int, int, int, int);
+    method public void setLongClickable(boolean);
+    method protected final void setMeasuredDimension(int, int);
+    method public void setMinimumHeight(int);
+    method public void setMinimumWidth(int);
+    method public void setNestedScrollingEnabled(boolean);
+    method public void setNextClusterForwardId(@IdRes int);
+    method public void setNextFocusDownId(@IdRes int);
+    method public void setNextFocusForwardId(@IdRes int);
+    method public void setNextFocusLeftId(@IdRes int);
+    method public void setNextFocusRightId(@IdRes int);
+    method public void setNextFocusUpId(@IdRes int);
+    method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener);
+    method public void setOnCapturedPointerListener(android.view.View.OnCapturedPointerListener);
+    method public void setOnClickListener(@Nullable android.view.View.OnClickListener);
+    method public void setOnContextClickListener(@Nullable android.view.View.OnContextClickListener);
+    method public void setOnCreateContextMenuListener(android.view.View.OnCreateContextMenuListener);
+    method public void setOnDragListener(android.view.View.OnDragListener);
+    method public void setOnFocusChangeListener(android.view.View.OnFocusChangeListener);
+    method public void setOnGenericMotionListener(android.view.View.OnGenericMotionListener);
+    method public void setOnHoverListener(android.view.View.OnHoverListener);
+    method public void setOnKeyListener(android.view.View.OnKeyListener);
+    method public void setOnLongClickListener(@Nullable android.view.View.OnLongClickListener);
+    method public void setOnReceiveContentListener(@Nullable String[], @Nullable android.view.OnReceiveContentListener);
+    method public void setOnScrollChangeListener(android.view.View.OnScrollChangeListener);
+    method @Deprecated public void setOnSystemUiVisibilityChangeListener(android.view.View.OnSystemUiVisibilityChangeListener);
+    method public void setOnTouchListener(android.view.View.OnTouchListener);
+    method public void setOutlineAmbientShadowColor(@ColorInt int);
+    method public void setOutlineProvider(android.view.ViewOutlineProvider);
+    method public void setOutlineSpotShadowColor(@ColorInt int);
+    method public void setOverScrollMode(int);
+    method public void setPadding(int, int, int, int);
+    method public void setPaddingRelative(int, int, int, int);
+    method public void setPivotX(float);
+    method public void setPivotY(float);
+    method public void setPointerIcon(android.view.PointerIcon);
+    method public void setPressed(boolean);
+    method public void setRenderEffect(@Nullable android.graphics.RenderEffect);
+    method public final void setRevealOnFocusHint(boolean);
+    method public final void setRight(int);
+    method public void setRotation(float);
+    method public void setRotationX(float);
+    method public void setRotationY(float);
+    method public void setSaveEnabled(boolean);
+    method public void setSaveFromParentEnabled(boolean);
+    method public void setScaleX(float);
+    method public void setScaleY(float);
+    method public void setScreenReaderFocusable(boolean);
+    method public void setScrollBarDefaultDelayBeforeFade(int);
+    method public void setScrollBarFadeDuration(int);
+    method public void setScrollBarSize(int);
+    method public void setScrollBarStyle(int);
+    method public final void setScrollCaptureCallback(@Nullable android.view.ScrollCaptureCallback);
+    method public void setScrollCaptureHint(int);
+    method public void setScrollContainer(boolean);
+    method public void setScrollIndicators(int);
+    method public void setScrollIndicators(int, int);
+    method public void setScrollX(int);
+    method public void setScrollY(int);
+    method public void setScrollbarFadingEnabled(boolean);
+    method public void setSelected(boolean);
+    method public void setSoundEffectsEnabled(boolean);
+    method public void setStateDescription(@Nullable CharSequence);
+    method public void setStateListAnimator(android.animation.StateListAnimator);
+    method public void setSystemGestureExclusionRects(@NonNull java.util.List<android.graphics.Rect>);
+    method @Deprecated public void setSystemUiVisibility(int);
+    method public void setTag(Object);
+    method public void setTag(int, Object);
+    method public void setTextAlignment(int);
+    method public void setTextDirection(int);
+    method public void setTooltipText(@Nullable CharSequence);
+    method public final void setTop(int);
+    method public void setTouchDelegate(android.view.TouchDelegate);
+    method public void setTransitionAlpha(float);
+    method public final void setTransitionName(String);
+    method public void setTransitionVisibility(int);
+    method public void setTranslationX(float);
+    method public void setTranslationY(float);
+    method public void setTranslationZ(float);
+    method public void setVerticalFadingEdgeEnabled(boolean);
+    method public void setVerticalScrollBarEnabled(boolean);
+    method public void setVerticalScrollbarPosition(int);
+    method public void setVerticalScrollbarThumbDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setVerticalScrollbarTrackDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setViewTranslationCallback(@NonNull android.view.translation.ViewTranslationCallback);
+    method public void setVisibility(int);
+    method @Deprecated public void setWillNotCacheDrawing(boolean);
+    method public void setWillNotDraw(boolean);
+    method public void setWindowInsetsAnimationCallback(@Nullable android.view.WindowInsetsAnimation.Callback);
+    method public void setX(float);
+    method public void setY(float);
+    method public void setZ(float);
+    method public boolean showContextMenu();
+    method public boolean showContextMenu(float, float);
+    method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionMode(android.view.ActionMode.Callback, int);
+    method public void startAnimation(android.view.animation.Animation);
+    method @Deprecated public final boolean startDrag(android.content.ClipData, android.view.View.DragShadowBuilder, Object, int);
+    method public final boolean startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, Object, int);
+    method public boolean startNestedScroll(int);
+    method public void stopNestedScroll();
+    method public void transformMatrixToGlobal(@NonNull android.graphics.Matrix);
+    method public void transformMatrixToLocal(@NonNull android.graphics.Matrix);
+    method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
+    method public void unscheduleDrawable(android.graphics.drawable.Drawable);
+    method public final void updateDragShadow(android.view.View.DragShadowBuilder);
+    method @CallSuper protected boolean verifyDrawable(@NonNull android.graphics.drawable.Drawable);
+    method @Deprecated public boolean willNotCacheDrawing();
+    method public boolean willNotDraw();
+    field public static final int ACCESSIBILITY_LIVE_REGION_ASSERTIVE = 2; // 0x2
+    field public static final int ACCESSIBILITY_LIVE_REGION_NONE = 0; // 0x0
+    field public static final int ACCESSIBILITY_LIVE_REGION_POLITE = 1; // 0x1
+    field public static final android.util.Property<android.view.View,java.lang.Float> ALPHA;
+    field public static final int AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS = 1; // 0x1
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE = "creditCardExpirationDate";
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY = "creditCardExpirationDay";
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH = "creditCardExpirationMonth";
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR = "creditCardExpirationYear";
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_NUMBER = "creditCardNumber";
+    field public static final String AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE = "creditCardSecurityCode";
+    field public static final String AUTOFILL_HINT_EMAIL_ADDRESS = "emailAddress";
+    field public static final String AUTOFILL_HINT_NAME = "name";
+    field public static final String AUTOFILL_HINT_PASSWORD = "password";
+    field public static final String AUTOFILL_HINT_PHONE = "phone";
+    field public static final String AUTOFILL_HINT_POSTAL_ADDRESS = "postalAddress";
+    field public static final String AUTOFILL_HINT_POSTAL_CODE = "postalCode";
+    field public static final String AUTOFILL_HINT_USERNAME = "username";
+    field public static final int AUTOFILL_TYPE_DATE = 4; // 0x4
+    field public static final int AUTOFILL_TYPE_LIST = 3; // 0x3
+    field public static final int AUTOFILL_TYPE_NONE = 0; // 0x0
+    field public static final int AUTOFILL_TYPE_TEXT = 1; // 0x1
+    field public static final int AUTOFILL_TYPE_TOGGLE = 2; // 0x2
+    field public static final int DRAG_FLAG_ACCESSIBILITY_ACTION = 1024; // 0x400
+    field public static final int DRAG_FLAG_GLOBAL = 256; // 0x100
+    field public static final int DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION = 64; // 0x40
+    field public static final int DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION = 128; // 0x80
+    field public static final int DRAG_FLAG_GLOBAL_URI_READ = 1; // 0x1
+    field public static final int DRAG_FLAG_GLOBAL_URI_WRITE = 2; // 0x2
+    field public static final int DRAG_FLAG_OPAQUE = 512; // 0x200
+    field @Deprecated public static final int DRAWING_CACHE_QUALITY_AUTO = 0; // 0x0
+    field @Deprecated public static final int DRAWING_CACHE_QUALITY_HIGH = 1048576; // 0x100000
+    field @Deprecated public static final int DRAWING_CACHE_QUALITY_LOW = 524288; // 0x80000
+    field protected static final int[] EMPTY_STATE_SET;
+    field protected static final int[] ENABLED_FOCUSED_SELECTED_STATE_SET;
+    field protected static final int[] ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] ENABLED_FOCUSED_STATE_SET;
+    field protected static final int[] ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] ENABLED_SELECTED_STATE_SET;
+    field protected static final int[] ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] ENABLED_STATE_SET;
+    field protected static final int[] ENABLED_WINDOW_FOCUSED_STATE_SET;
+    field public static final int FIND_VIEWS_WITH_CONTENT_DESCRIPTION = 2; // 0x2
+    field public static final int FIND_VIEWS_WITH_TEXT = 1; // 0x1
+    field public static final int FOCUSABLE = 1; // 0x1
+    field public static final int FOCUSABLES_ALL = 0; // 0x0
+    field public static final int FOCUSABLES_TOUCH_MODE = 1; // 0x1
+    field public static final int FOCUSABLE_AUTO = 16; // 0x10
+    field protected static final int[] FOCUSED_SELECTED_STATE_SET;
+    field protected static final int[] FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] FOCUSED_STATE_SET;
+    field protected static final int[] FOCUSED_WINDOW_FOCUSED_STATE_SET;
+    field public static final int FOCUS_BACKWARD = 1; // 0x1
+    field public static final int FOCUS_DOWN = 130; // 0x82
+    field public static final int FOCUS_FORWARD = 2; // 0x2
+    field public static final int FOCUS_LEFT = 17; // 0x11
+    field public static final int FOCUS_RIGHT = 66; // 0x42
+    field public static final int FOCUS_UP = 33; // 0x21
+    field public static final int GONE = 8; // 0x8
+    field public static final int HAPTIC_FEEDBACK_ENABLED = 268435456; // 0x10000000
+    field public static final int IMPORTANT_FOR_ACCESSIBILITY_AUTO = 0; // 0x0
+    field public static final int IMPORTANT_FOR_ACCESSIBILITY_NO = 2; // 0x2
+    field public static final int IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS = 4; // 0x4
+    field public static final int IMPORTANT_FOR_ACCESSIBILITY_YES = 1; // 0x1
+    field public static final int IMPORTANT_FOR_AUTOFILL_AUTO = 0; // 0x0
+    field public static final int IMPORTANT_FOR_AUTOFILL_NO = 2; // 0x2
+    field public static final int IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS = 8; // 0x8
+    field public static final int IMPORTANT_FOR_AUTOFILL_YES = 1; // 0x1
+    field public static final int IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS = 4; // 0x4
+    field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_AUTO = 0; // 0x0
+    field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO = 2; // 0x2
+    field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS = 8; // 0x8
+    field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES = 1; // 0x1
+    field public static final int IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS = 4; // 0x4
+    field public static final int INVISIBLE = 4; // 0x4
+    field public static final int KEEP_SCREEN_ON = 67108864; // 0x4000000
+    field public static final int LAYER_TYPE_HARDWARE = 2; // 0x2
+    field public static final int LAYER_TYPE_NONE = 0; // 0x0
+    field public static final int LAYER_TYPE_SOFTWARE = 1; // 0x1
+    field public static final int LAYOUT_DIRECTION_INHERIT = 2; // 0x2
+    field public static final int LAYOUT_DIRECTION_LOCALE = 3; // 0x3
+    field public static final int LAYOUT_DIRECTION_LTR = 0; // 0x0
+    field public static final int LAYOUT_DIRECTION_RTL = 1; // 0x1
+    field public static final int MEASURED_HEIGHT_STATE_SHIFT = 16; // 0x10
+    field public static final int MEASURED_SIZE_MASK = 16777215; // 0xffffff
+    field public static final int MEASURED_STATE_MASK = -16777216; // 0xff000000
+    field public static final int MEASURED_STATE_TOO_SMALL = 16777216; // 0x1000000
+    field public static final int NOT_FOCUSABLE = 0; // 0x0
+    field public static final int NO_ID = -1; // 0xffffffff
+    field public static final int OVER_SCROLL_ALWAYS = 0; // 0x0
+    field public static final int OVER_SCROLL_IF_CONTENT_SCROLLS = 1; // 0x1
+    field public static final int OVER_SCROLL_NEVER = 2; // 0x2
+    field protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_SELECTED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_STATE_SET;
+    field protected static final int[] PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_FOCUSED_SELECTED_STATE_SET;
+    field protected static final int[] PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_SELECTED_STATE_SET;
+    field protected static final int[] PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field protected static final int[] PRESSED_STATE_SET;
+    field protected static final int[] PRESSED_WINDOW_FOCUSED_STATE_SET;
+    field public static final android.util.Property<android.view.View,java.lang.Float> ROTATION;
+    field public static final android.util.Property<android.view.View,java.lang.Float> ROTATION_X;
+    field public static final android.util.Property<android.view.View,java.lang.Float> ROTATION_Y;
+    field public static final android.util.Property<android.view.View,java.lang.Float> SCALE_X;
+    field public static final android.util.Property<android.view.View,java.lang.Float> SCALE_Y;
+    field public static final int SCREEN_STATE_OFF = 0; // 0x0
+    field public static final int SCREEN_STATE_ON = 1; // 0x1
+    field public static final int SCROLLBARS_INSIDE_INSET = 16777216; // 0x1000000
+    field public static final int SCROLLBARS_INSIDE_OVERLAY = 0; // 0x0
+    field public static final int SCROLLBARS_OUTSIDE_INSET = 50331648; // 0x3000000
+    field public static final int SCROLLBARS_OUTSIDE_OVERLAY = 33554432; // 0x2000000
+    field public static final int SCROLLBAR_POSITION_DEFAULT = 0; // 0x0
+    field public static final int SCROLLBAR_POSITION_LEFT = 1; // 0x1
+    field public static final int SCROLLBAR_POSITION_RIGHT = 2; // 0x2
+    field public static final int SCROLL_AXIS_HORIZONTAL = 1; // 0x1
+    field public static final int SCROLL_AXIS_NONE = 0; // 0x0
+    field public static final int SCROLL_AXIS_VERTICAL = 2; // 0x2
+    field public static final int SCROLL_CAPTURE_HINT_AUTO = 0; // 0x0
+    field public static final int SCROLL_CAPTURE_HINT_EXCLUDE = 1; // 0x1
+    field public static final int SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS = 4; // 0x4
+    field public static final int SCROLL_CAPTURE_HINT_INCLUDE = 2; // 0x2
+    field public static final int SCROLL_INDICATOR_BOTTOM = 2; // 0x2
+    field public static final int SCROLL_INDICATOR_END = 32; // 0x20
+    field public static final int SCROLL_INDICATOR_LEFT = 4; // 0x4
+    field public static final int SCROLL_INDICATOR_RIGHT = 8; // 0x8
+    field public static final int SCROLL_INDICATOR_START = 16; // 0x10
+    field public static final int SCROLL_INDICATOR_TOP = 1; // 0x1
+    field protected static final int[] SELECTED_STATE_SET;
+    field protected static final int[] SELECTED_WINDOW_FOCUSED_STATE_SET;
+    field public static final int SOUND_EFFECTS_ENABLED = 134217728; // 0x8000000
+    field @Deprecated public static final int STATUS_BAR_HIDDEN = 1; // 0x1
+    field @Deprecated public static final int STATUS_BAR_VISIBLE = 0; // 0x0
+    field @Deprecated public static final int SYSTEM_UI_FLAG_FULLSCREEN = 4; // 0x4
+    field @Deprecated public static final int SYSTEM_UI_FLAG_HIDE_NAVIGATION = 2; // 0x2
+    field @Deprecated public static final int SYSTEM_UI_FLAG_IMMERSIVE = 2048; // 0x800
+    field @Deprecated public static final int SYSTEM_UI_FLAG_IMMERSIVE_STICKY = 4096; // 0x1000
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN = 1024; // 0x400
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION = 512; // 0x200
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LAYOUT_STABLE = 256; // 0x100
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR = 16; // 0x10
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LIGHT_STATUS_BAR = 8192; // 0x2000
+    field @Deprecated public static final int SYSTEM_UI_FLAG_LOW_PROFILE = 1; // 0x1
+    field @Deprecated public static final int SYSTEM_UI_FLAG_VISIBLE = 0; // 0x0
+    field @Deprecated public static final int SYSTEM_UI_LAYOUT_FLAGS = 1536; // 0x600
+    field public static final int TEXT_ALIGNMENT_CENTER = 4; // 0x4
+    field public static final int TEXT_ALIGNMENT_GRAVITY = 1; // 0x1
+    field public static final int TEXT_ALIGNMENT_INHERIT = 0; // 0x0
+    field public static final int TEXT_ALIGNMENT_TEXT_END = 3; // 0x3
+    field public static final int TEXT_ALIGNMENT_TEXT_START = 2; // 0x2
+    field public static final int TEXT_ALIGNMENT_VIEW_END = 6; // 0x6
+    field public static final int TEXT_ALIGNMENT_VIEW_START = 5; // 0x5
+    field public static final int TEXT_DIRECTION_ANY_RTL = 2; // 0x2
+    field public static final int TEXT_DIRECTION_FIRST_STRONG = 1; // 0x1
+    field public static final int TEXT_DIRECTION_FIRST_STRONG_LTR = 6; // 0x6
+    field public static final int TEXT_DIRECTION_FIRST_STRONG_RTL = 7; // 0x7
+    field public static final int TEXT_DIRECTION_INHERIT = 0; // 0x0
+    field public static final int TEXT_DIRECTION_LOCALE = 5; // 0x5
+    field public static final int TEXT_DIRECTION_LTR = 3; // 0x3
+    field public static final int TEXT_DIRECTION_RTL = 4; // 0x4
+    field public static final android.util.Property<android.view.View,java.lang.Float> TRANSLATION_X;
+    field public static final android.util.Property<android.view.View,java.lang.Float> TRANSLATION_Y;
+    field public static final android.util.Property<android.view.View,java.lang.Float> TRANSLATION_Z;
+    field protected static final String VIEW_LOG_TAG = "View";
+    field public static final int VISIBLE = 0; // 0x0
+    field protected static final int[] WINDOW_FOCUSED_STATE_SET;
+    field public static final android.util.Property<android.view.View,java.lang.Float> X;
+    field public static final android.util.Property<android.view.View,java.lang.Float> Y;
+    field public static final android.util.Property<android.view.View,java.lang.Float> Z;
+  }
+
+  public static class View.AccessibilityDelegate {
+    ctor public View.AccessibilityDelegate();
+    method public void addExtraDataToAccessibilityNodeInfo(@NonNull android.view.View, @NonNull android.view.accessibility.AccessibilityNodeInfo, @NonNull String, @Nullable android.os.Bundle);
+    method public boolean dispatchPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider(android.view.View);
+    method public void onInitializeAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public void onInitializeAccessibilityNodeInfo(android.view.View, android.view.accessibility.AccessibilityNodeInfo);
+    method public void onPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public boolean onRequestSendAccessibilityEvent(android.view.ViewGroup, android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public boolean performAccessibilityAction(android.view.View, int, android.os.Bundle);
+    method public void sendAccessibilityEvent(android.view.View, int);
+    method public void sendAccessibilityEventUnchecked(android.view.View, android.view.accessibility.AccessibilityEvent);
+  }
+
+  public static class View.BaseSavedState extends android.view.AbsSavedState {
+    ctor public View.BaseSavedState(android.os.Parcel);
+    ctor public View.BaseSavedState(android.os.Parcel, ClassLoader);
+    ctor public View.BaseSavedState(android.os.Parcelable);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.View.BaseSavedState> CREATOR;
+  }
+
+  public static class View.DragShadowBuilder {
+    ctor public View.DragShadowBuilder(android.view.View);
+    ctor public View.DragShadowBuilder();
+    method public final android.view.View getView();
+    method public void onDrawShadow(android.graphics.Canvas);
+    method public void onProvideShadowMetrics(android.graphics.Point, android.graphics.Point);
+  }
+
+  public static class View.MeasureSpec {
+    ctor public View.MeasureSpec();
+    method public static int getMode(int);
+    method public static int getSize(int);
+    method public static int makeMeasureSpec(@IntRange(from=0, to=0x40000000 - 1) int, int);
+    method public static String toString(int);
+    field public static final int AT_MOST = -2147483648; // 0x80000000
+    field public static final int EXACTLY = 1073741824; // 0x40000000
+    field public static final int UNSPECIFIED = 0; // 0x0
+  }
+
+  public static interface View.OnApplyWindowInsetsListener {
+    method public android.view.WindowInsets onApplyWindowInsets(android.view.View, android.view.WindowInsets);
+  }
+
+  public static interface View.OnAttachStateChangeListener {
+    method public void onViewAttachedToWindow(android.view.View);
+    method public void onViewDetachedFromWindow(android.view.View);
+  }
+
+  public static interface View.OnCapturedPointerListener {
+    method public boolean onCapturedPointer(android.view.View, android.view.MotionEvent);
+  }
+
+  public static interface View.OnClickListener {
+    method public void onClick(android.view.View);
+  }
+
+  public static interface View.OnContextClickListener {
+    method public boolean onContextClick(android.view.View);
+  }
+
+  public static interface View.OnCreateContextMenuListener {
+    method public void onCreateContextMenu(android.view.ContextMenu, android.view.View, android.view.ContextMenu.ContextMenuInfo);
+  }
+
+  public static interface View.OnDragListener {
+    method public boolean onDrag(android.view.View, android.view.DragEvent);
+  }
+
+  public static interface View.OnFocusChangeListener {
+    method public void onFocusChange(android.view.View, boolean);
+  }
+
+  public static interface View.OnGenericMotionListener {
+    method public boolean onGenericMotion(android.view.View, android.view.MotionEvent);
+  }
+
+  public static interface View.OnHoverListener {
+    method public boolean onHover(android.view.View, android.view.MotionEvent);
+  }
+
+  public static interface View.OnKeyListener {
+    method public boolean onKey(android.view.View, int, android.view.KeyEvent);
+  }
+
+  public static interface View.OnLayoutChangeListener {
+    method public void onLayoutChange(android.view.View, int, int, int, int, int, int, int, int);
+  }
+
+  public static interface View.OnLongClickListener {
+    method public boolean onLongClick(android.view.View);
+  }
+
+  public static interface View.OnScrollChangeListener {
+    method public void onScrollChange(android.view.View, int, int, int, int);
+  }
+
+  @Deprecated public static interface View.OnSystemUiVisibilityChangeListener {
+    method @Deprecated public void onSystemUiVisibilityChange(int);
+  }
+
+  public static interface View.OnTouchListener {
+    method public boolean onTouch(android.view.View, android.view.MotionEvent);
+  }
+
+  public static interface View.OnUnhandledKeyEventListener {
+    method public boolean onUnhandledKeyEvent(android.view.View, android.view.KeyEvent);
+  }
+
+  public final class ViewAnimationUtils {
+    method public static android.animation.Animator createCircularReveal(android.view.View, int, int, float, float);
+  }
+
+  public class ViewConfiguration {
+    ctor @Deprecated public ViewConfiguration();
+    method public static android.view.ViewConfiguration get(@UiContext android.content.Context);
+    method @Deprecated @FloatRange(from=1.0) public static float getAmbiguousGestureMultiplier();
+    method public static long getDefaultActionModeHideDuration();
+    method public static int getDoubleTapTimeout();
+    method @Deprecated public static int getEdgeSlop();
+    method @Deprecated public static int getFadingEdgeLength();
+    method @Deprecated public static long getGlobalActionKeyTimeout();
+    method public static int getJumpTapTimeout();
+    method public static int getKeyRepeatDelay();
+    method public static int getKeyRepeatTimeout();
+    method public static int getLongPressTimeout();
+    method @Deprecated public static int getMaximumDrawingCacheSize();
+    method @Deprecated public static int getMaximumFlingVelocity();
+    method @Deprecated public static int getMinimumFlingVelocity();
+    method public static int getMultiPressTimeout();
+    method public static int getPressedStateDuration();
+    method @FloatRange(from=1.0) public float getScaledAmbiguousGestureMultiplier();
+    method public int getScaledDoubleTapSlop();
+    method public int getScaledEdgeSlop();
+    method public int getScaledFadingEdgeLength();
+    method public float getScaledHorizontalScrollFactor();
+    method public int getScaledHoverSlop();
+    method public int getScaledMaximumDrawingCacheSize();
+    method public int getScaledMaximumFlingVelocity();
+    method public int getScaledMinimumFlingVelocity();
+    method public int getScaledMinimumScalingSpan();
+    method public int getScaledOverflingDistance();
+    method public int getScaledOverscrollDistance();
+    method public int getScaledPagingTouchSlop();
+    method public int getScaledScrollBarSize();
+    method public int getScaledTouchSlop();
+    method public float getScaledVerticalScrollFactor();
+    method public int getScaledWindowTouchSlop();
+    method public static int getScrollBarFadeDuration();
+    method @Deprecated public static int getScrollBarSize();
+    method public static int getScrollDefaultDelay();
+    method public static float getScrollFriction();
+    method public static int getTapTimeout();
+    method @Deprecated public static int getTouchSlop();
+    method @Deprecated public static int getWindowTouchSlop();
+    method public static long getZoomControlsTimeout();
+    method public boolean hasPermanentMenuKey();
+    method public boolean shouldShowMenuShortcutsWhenKeyboardPresent();
+  }
+
+  public class ViewDebug {
+    ctor public ViewDebug();
+    method public static void dumpCapturedView(String, Object);
+    method @Deprecated public static void startHierarchyTracing(String, android.view.View);
+    method @Deprecated public static void startRecyclerTracing(String, android.view.View);
+    method @Deprecated public static void stopHierarchyTracing();
+    method @Deprecated public static void stopRecyclerTracing();
+    method @Deprecated public static void trace(android.view.View, android.view.ViewDebug.RecyclerTraceType, int...);
+    method @Deprecated public static void trace(android.view.View, android.view.ViewDebug.HierarchyTraceType);
+    field @Deprecated public static final boolean TRACE_HIERARCHY = false;
+    field @Deprecated public static final boolean TRACE_RECYCLER = false;
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD}) public static @interface ViewDebug.CapturedViewProperty {
+    method public abstract boolean retrieveReturn() default false;
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD}) public static @interface ViewDebug.ExportedProperty {
+    method public abstract String category() default "";
+    method public abstract boolean deepExport() default false;
+    method public abstract android.view.ViewDebug.FlagToString[] flagMapping() default {};
+    method public abstract boolean formatToHexString() default false;
+    method public abstract boolean hasAdjacentMapping() default false;
+    method public abstract android.view.ViewDebug.IntToString[] indexMapping() default {};
+    method public abstract android.view.ViewDebug.IntToString[] mapping() default {};
+    method public abstract String prefix() default "";
+    method public abstract boolean resolveId() default false;
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface ViewDebug.FlagToString {
+    method public abstract int equals();
+    method public abstract int mask();
+    method public abstract String name();
+    method public abstract boolean outputIf() default true;
+  }
+
+  @Deprecated public enum ViewDebug.HierarchyTraceType {
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType BUILD_CACHE;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType DRAW;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType INVALIDATE;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType INVALIDATE_CHILD;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType INVALIDATE_CHILD_IN_PARENT;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType ON_LAYOUT;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType ON_MEASURE;
+    enum_constant @Deprecated public static final android.view.ViewDebug.HierarchyTraceType REQUEST_LAYOUT;
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface ViewDebug.IntToString {
+    method public abstract int from();
+    method public abstract String to();
+  }
+
+  @Deprecated public enum ViewDebug.RecyclerTraceType {
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType BIND_VIEW;
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType MOVE_FROM_ACTIVE_TO_SCRAP_HEAP;
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType MOVE_TO_SCRAP_HEAP;
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType NEW_VIEW;
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType RECYCLE_FROM_ACTIVE_HEAP;
+    enum_constant @Deprecated public static final android.view.ViewDebug.RecyclerTraceType RECYCLE_FROM_SCRAP_HEAP;
+  }
+
+  @UiThread public abstract class ViewGroup extends android.view.View implements android.view.ViewManager android.view.ViewParent {
+    ctor public ViewGroup(android.content.Context);
+    ctor public ViewGroup(android.content.Context, android.util.AttributeSet);
+    ctor public ViewGroup(android.content.Context, android.util.AttributeSet, int);
+    ctor public ViewGroup(android.content.Context, android.util.AttributeSet, int, int);
+    method public boolean addStatesFromChildren();
+    method public void addView(android.view.View);
+    method public void addView(android.view.View, int);
+    method public void addView(android.view.View, int, int);
+    method public void addView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public void addView(android.view.View, int, android.view.ViewGroup.LayoutParams);
+    method protected boolean addViewInLayout(android.view.View, int, android.view.ViewGroup.LayoutParams);
+    method protected boolean addViewInLayout(android.view.View, int, android.view.ViewGroup.LayoutParams, boolean);
+    method protected void attachLayoutAnimationParameters(android.view.View, android.view.ViewGroup.LayoutParams, int, int);
+    method protected void attachViewToParent(android.view.View, int, android.view.ViewGroup.LayoutParams);
+    method public void bringChildToFront(android.view.View);
+    method protected boolean canAnimate();
+    method protected boolean checkLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public void childDrawableStateChanged(android.view.View);
+    method public void childHasTransientStateChanged(android.view.View, boolean);
+    method protected void cleanupLayoutState(android.view.View);
+    method public void clearChildFocus(android.view.View);
+    method public void clearDisappearingChildren();
+    method protected void debug(int);
+    method protected void detachAllViewsFromParent();
+    method protected void detachViewFromParent(android.view.View);
+    method protected void detachViewFromParent(int);
+    method protected void detachViewsFromParent(int, int);
+    method protected void dispatchFreezeSelfOnly(android.util.SparseArray<android.os.Parcelable>);
+    method public void dispatchSetActivated(boolean);
+    method public void dispatchSetSelected(boolean);
+    method protected void dispatchThawSelfOnly(android.util.SparseArray<android.os.Parcelable>);
+    method protected boolean drawChild(android.graphics.Canvas, android.view.View, long);
+    method public void endViewTransition(android.view.View);
+    method public android.view.View focusSearch(android.view.View, int);
+    method public void focusableViewAvailable(android.view.View);
+    method protected android.view.ViewGroup.LayoutParams generateDefaultLayoutParams();
+    method public android.view.ViewGroup.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method protected android.view.ViewGroup.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public android.view.View getChildAt(int);
+    method public int getChildCount();
+    method protected int getChildDrawingOrder(int, int);
+    method public final int getChildDrawingOrder(int);
+    method public static int getChildMeasureSpec(int, int, int);
+    method protected boolean getChildStaticTransformation(android.view.View, android.view.animation.Transformation);
+    method public boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point);
+    method public boolean getClipChildren();
+    method public boolean getClipToPadding();
+    method public int getDescendantFocusability();
+    method public android.view.View getFocusedChild();
+    method public android.view.animation.LayoutAnimationController getLayoutAnimation();
+    method public android.view.animation.Animation.AnimationListener getLayoutAnimationListener();
+    method public int getLayoutMode();
+    method public android.animation.LayoutTransition getLayoutTransition();
+    method public int getNestedScrollAxes();
+    method public android.view.ViewGroupOverlay getOverlay();
+    method @Deprecated public int getPersistentDrawingCache();
+    method public boolean getTouchscreenBlocksFocus();
+    method public int indexOfChild(android.view.View);
+    method @Deprecated public final void invalidateChild(android.view.View, android.graphics.Rect);
+    method @Deprecated public android.view.ViewParent invalidateChildInParent(int[], android.graphics.Rect);
+    method @Deprecated public boolean isAlwaysDrawnWithCacheEnabled();
+    method @Deprecated public boolean isAnimationCacheEnabled();
+    method protected boolean isChildrenDrawingOrderEnabled();
+    method @Deprecated protected boolean isChildrenDrawnWithCacheEnabled();
+    method public boolean isLayoutSuppressed();
+    method public boolean isMotionEventSplittingEnabled();
+    method public boolean isTransitionGroup();
+    method public final void layout(int, int, int, int);
+    method protected void measureChild(android.view.View, int, int);
+    method protected void measureChildWithMargins(android.view.View, int, int, int, int);
+    method protected void measureChildren(int, int);
+    method public void notifySubtreeAccessibilityStateChanged(android.view.View, android.view.View, int);
+    method public final void offsetDescendantRectToMyCoords(android.view.View, android.graphics.Rect);
+    method public final void offsetRectIntoDescendantCoords(android.view.View, android.graphics.Rect);
+    method public boolean onInterceptHoverEvent(android.view.MotionEvent);
+    method public boolean onInterceptTouchEvent(android.view.MotionEvent);
+    method protected abstract void onLayout(boolean, int, int, int, int);
+    method public boolean onNestedFling(android.view.View, float, float, boolean);
+    method public boolean onNestedPreFling(android.view.View, float, float);
+    method public boolean onNestedPrePerformAccessibilityAction(android.view.View, int, android.os.Bundle);
+    method public void onNestedPreScroll(android.view.View, int, int, int[]);
+    method public void onNestedScroll(android.view.View, int, int, int, int);
+    method public void onNestedScrollAccepted(android.view.View, android.view.View, int);
+    method protected boolean onRequestFocusInDescendants(int, android.graphics.Rect);
+    method public boolean onRequestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public boolean onStartNestedScroll(android.view.View, android.view.View, int);
+    method public void onStopNestedScroll(android.view.View);
+    method public void onViewAdded(android.view.View);
+    method public void onViewRemoved(android.view.View);
+    method public void recomputeViewAttributes(android.view.View);
+    method public void removeAllViews();
+    method public void removeAllViewsInLayout();
+    method protected void removeDetachedView(android.view.View, boolean);
+    method public void removeView(android.view.View);
+    method public void removeViewAt(int);
+    method public void removeViewInLayout(android.view.View);
+    method public void removeViews(int, int);
+    method public void removeViewsInLayout(int, int);
+    method public void requestChildFocus(android.view.View, android.view.View);
+    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
+    method public void requestDisallowInterceptTouchEvent(boolean);
+    method public boolean requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public void requestTransparentRegion(android.view.View);
+    method public void scheduleLayoutAnimation();
+    method public void setAddStatesFromChildren(boolean);
+    method @Deprecated public void setAlwaysDrawnWithCacheEnabled(boolean);
+    method @Deprecated public void setAnimationCacheEnabled(boolean);
+    method @Deprecated protected void setChildrenDrawingCacheEnabled(boolean);
+    method protected void setChildrenDrawingOrderEnabled(boolean);
+    method @Deprecated protected void setChildrenDrawnWithCacheEnabled(boolean);
+    method public void setClipChildren(boolean);
+    method public void setClipToPadding(boolean);
+    method public void setDescendantFocusability(int);
+    method public void setLayoutAnimation(android.view.animation.LayoutAnimationController);
+    method public void setLayoutAnimationListener(android.view.animation.Animation.AnimationListener);
+    method public void setLayoutMode(int);
+    method public void setLayoutTransition(android.animation.LayoutTransition);
+    method public void setMotionEventSplittingEnabled(boolean);
+    method public void setOnHierarchyChangeListener(android.view.ViewGroup.OnHierarchyChangeListener);
+    method @Deprecated public void setPersistentDrawingCache(int);
+    method protected void setStaticTransformationsEnabled(boolean);
+    method public void setTouchscreenBlocksFocus(boolean);
+    method public void setTransitionGroup(boolean);
+    method public boolean shouldDelayChildPressedState();
+    method public boolean showContextMenuForChild(android.view.View);
+    method public boolean showContextMenuForChild(android.view.View, float, float);
+    method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback, int);
+    method public void startLayoutAnimation();
+    method public void startViewTransition(android.view.View);
+    method public void suppressLayout(boolean);
+    method public void updateViewLayout(android.view.View, android.view.ViewGroup.LayoutParams);
+    field protected static final int CLIP_TO_PADDING_MASK = 34; // 0x22
+    field public static final int FOCUS_AFTER_DESCENDANTS = 262144; // 0x40000
+    field public static final int FOCUS_BEFORE_DESCENDANTS = 131072; // 0x20000
+    field public static final int FOCUS_BLOCK_DESCENDANTS = 393216; // 0x60000
+    field public static final int LAYOUT_MODE_CLIP_BOUNDS = 0; // 0x0
+    field public static final int LAYOUT_MODE_OPTICAL_BOUNDS = 1; // 0x1
+    field @Deprecated public static final int PERSISTENT_ALL_CACHES = 3; // 0x3
+    field @Deprecated public static final int PERSISTENT_ANIMATION_CACHE = 1; // 0x1
+    field @Deprecated public static final int PERSISTENT_NO_CACHE = 0; // 0x0
+    field @Deprecated public static final int PERSISTENT_SCROLLING_CACHE = 2; // 0x2
+  }
+
+  public static class ViewGroup.LayoutParams {
+    ctor public ViewGroup.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public ViewGroup.LayoutParams(int, int);
+    ctor public ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams);
+    method public void resolveLayoutDirection(int);
+    method protected void setBaseAttributes(android.content.res.TypedArray, int, int);
+    field @Deprecated public static final int FILL_PARENT = -1; // 0xffffffff
+    field public static final int MATCH_PARENT = -1; // 0xffffffff
+    field public static final int WRAP_CONTENT = -2; // 0xfffffffe
+    field public int height;
+    field public android.view.animation.LayoutAnimationController.AnimationParameters layoutAnimationParameters;
+    field public int width;
+  }
+
+  public static class ViewGroup.MarginLayoutParams extends android.view.ViewGroup.LayoutParams {
+    ctor public ViewGroup.MarginLayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public ViewGroup.MarginLayoutParams(int, int);
+    ctor public ViewGroup.MarginLayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    ctor public ViewGroup.MarginLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public int getLayoutDirection();
+    method public int getMarginEnd();
+    method public int getMarginStart();
+    method public boolean isMarginRelative();
+    method public void setLayoutDirection(int);
+    method public void setMarginEnd(int);
+    method public void setMarginStart(int);
+    method public void setMargins(int, int, int, int);
+    field public int bottomMargin;
+    field public int leftMargin;
+    field public int rightMargin;
+    field public int topMargin;
+  }
+
+  public static interface ViewGroup.OnHierarchyChangeListener {
+    method public void onChildViewAdded(android.view.View, android.view.View);
+    method public void onChildViewRemoved(android.view.View, android.view.View);
+  }
+
+  public class ViewGroupOverlay extends android.view.ViewOverlay {
+    method public void add(@NonNull android.view.View);
+    method public void remove(@NonNull android.view.View);
+  }
+
+  public interface ViewManager {
+    method public void addView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public void removeView(android.view.View);
+    method public void updateViewLayout(android.view.View, android.view.ViewGroup.LayoutParams);
+  }
+
+  public abstract class ViewOutlineProvider {
+    ctor public ViewOutlineProvider();
+    method public abstract void getOutline(android.view.View, android.graphics.Outline);
+    field public static final android.view.ViewOutlineProvider BACKGROUND;
+    field public static final android.view.ViewOutlineProvider BOUNDS;
+    field public static final android.view.ViewOutlineProvider PADDED_BOUNDS;
+  }
+
+  public class ViewOverlay {
+    method public void add(@NonNull android.graphics.drawable.Drawable);
+    method public void clear();
+    method public void remove(@NonNull android.graphics.drawable.Drawable);
+  }
+
+  public interface ViewParent {
+    method public void bringChildToFront(android.view.View);
+    method public boolean canResolveLayoutDirection();
+    method public boolean canResolveTextAlignment();
+    method public boolean canResolveTextDirection();
+    method public void childDrawableStateChanged(android.view.View);
+    method public void childHasTransientStateChanged(android.view.View, boolean);
+    method public void clearChildFocus(android.view.View);
+    method public void createContextMenu(android.view.ContextMenu);
+    method public android.view.View focusSearch(android.view.View, int);
+    method public void focusableViewAvailable(android.view.View);
+    method public boolean getChildVisibleRect(android.view.View, android.graphics.Rect, android.graphics.Point);
+    method public int getLayoutDirection();
+    method public android.view.ViewParent getParent();
+    method public android.view.ViewParent getParentForAccessibility();
+    method public int getTextAlignment();
+    method public int getTextDirection();
+    method @Deprecated public void invalidateChild(android.view.View, android.graphics.Rect);
+    method @Deprecated public android.view.ViewParent invalidateChildInParent(int[], android.graphics.Rect);
+    method public boolean isLayoutDirectionResolved();
+    method public boolean isLayoutRequested();
+    method public boolean isTextAlignmentResolved();
+    method public boolean isTextDirectionResolved();
+    method public android.view.View keyboardNavigationClusterSearch(android.view.View, int);
+    method public void notifySubtreeAccessibilityStateChanged(android.view.View, @NonNull android.view.View, int);
+    method public default void onDescendantInvalidated(@NonNull android.view.View, @NonNull android.view.View);
+    method public boolean onNestedFling(android.view.View, float, float, boolean);
+    method public boolean onNestedPreFling(android.view.View, float, float);
+    method public boolean onNestedPrePerformAccessibilityAction(android.view.View, int, android.os.Bundle);
+    method public void onNestedPreScroll(android.view.View, int, int, int[]);
+    method public void onNestedScroll(android.view.View, int, int, int, int);
+    method public void onNestedScrollAccepted(android.view.View, android.view.View, int);
+    method public boolean onStartNestedScroll(android.view.View, android.view.View, int);
+    method public void onStopNestedScroll(android.view.View);
+    method public void recomputeViewAttributes(android.view.View);
+    method public void requestChildFocus(android.view.View, android.view.View);
+    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
+    method public void requestDisallowInterceptTouchEvent(boolean);
+    method public void requestFitSystemWindows();
+    method public void requestLayout();
+    method public boolean requestSendAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
+    method public void requestTransparentRegion(android.view.View);
+    method public boolean showContextMenuForChild(android.view.View);
+    method public boolean showContextMenuForChild(android.view.View, float, float);
+    method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback);
+    method public android.view.ActionMode startActionModeForChild(android.view.View, android.view.ActionMode.Callback, int);
+  }
+
+  public class ViewPropertyAnimator {
+    method public android.view.ViewPropertyAnimator alpha(@FloatRange(from=0.0f, to=1.0f) float);
+    method public android.view.ViewPropertyAnimator alphaBy(float);
+    method public void cancel();
+    method public long getDuration();
+    method public android.animation.TimeInterpolator getInterpolator();
+    method public long getStartDelay();
+    method public android.view.ViewPropertyAnimator rotation(float);
+    method public android.view.ViewPropertyAnimator rotationBy(float);
+    method public android.view.ViewPropertyAnimator rotationX(float);
+    method public android.view.ViewPropertyAnimator rotationXBy(float);
+    method public android.view.ViewPropertyAnimator rotationY(float);
+    method public android.view.ViewPropertyAnimator rotationYBy(float);
+    method public android.view.ViewPropertyAnimator scaleX(float);
+    method public android.view.ViewPropertyAnimator scaleXBy(float);
+    method public android.view.ViewPropertyAnimator scaleY(float);
+    method public android.view.ViewPropertyAnimator scaleYBy(float);
+    method public android.view.ViewPropertyAnimator setDuration(long);
+    method public android.view.ViewPropertyAnimator setInterpolator(android.animation.TimeInterpolator);
+    method public android.view.ViewPropertyAnimator setListener(android.animation.Animator.AnimatorListener);
+    method public android.view.ViewPropertyAnimator setStartDelay(long);
+    method public android.view.ViewPropertyAnimator setUpdateListener(android.animation.ValueAnimator.AnimatorUpdateListener);
+    method public void start();
+    method public android.view.ViewPropertyAnimator translationX(float);
+    method public android.view.ViewPropertyAnimator translationXBy(float);
+    method public android.view.ViewPropertyAnimator translationY(float);
+    method public android.view.ViewPropertyAnimator translationYBy(float);
+    method public android.view.ViewPropertyAnimator translationZ(float);
+    method public android.view.ViewPropertyAnimator translationZBy(float);
+    method public android.view.ViewPropertyAnimator withEndAction(Runnable);
+    method public android.view.ViewPropertyAnimator withLayer();
+    method public android.view.ViewPropertyAnimator withStartAction(Runnable);
+    method public android.view.ViewPropertyAnimator x(float);
+    method public android.view.ViewPropertyAnimator xBy(float);
+    method public android.view.ViewPropertyAnimator y(float);
+    method public android.view.ViewPropertyAnimator yBy(float);
+    method public android.view.ViewPropertyAnimator z(float);
+    method public android.view.ViewPropertyAnimator zBy(float);
+  }
+
+  public abstract class ViewStructure {
+    ctor public ViewStructure();
+    method public abstract int addChildCount(int);
+    method public abstract void asyncCommit();
+    method public abstract android.view.ViewStructure asyncNewChild(int);
+    method @Nullable public abstract android.view.autofill.AutofillId getAutofillId();
+    method public abstract int getChildCount();
+    method public abstract android.os.Bundle getExtras();
+    method public abstract CharSequence getHint();
+    method public abstract CharSequence getText();
+    method public abstract int getTextSelectionEnd();
+    method public abstract int getTextSelectionStart();
+    method public abstract boolean hasExtras();
+    method public abstract android.view.ViewStructure newChild(int);
+    method public abstract android.view.ViewStructure.HtmlInfo.Builder newHtmlInfoBuilder(@NonNull String);
+    method public abstract void setAccessibilityFocused(boolean);
+    method public abstract void setActivated(boolean);
+    method public abstract void setAlpha(float);
+    method public abstract void setAutofillHints(@Nullable String[]);
+    method public abstract void setAutofillId(@NonNull android.view.autofill.AutofillId);
+    method public abstract void setAutofillId(@NonNull android.view.autofill.AutofillId, int);
+    method public abstract void setAutofillOptions(CharSequence[]);
+    method public abstract void setAutofillType(int);
+    method public abstract void setAutofillValue(android.view.autofill.AutofillValue);
+    method public abstract void setCheckable(boolean);
+    method public abstract void setChecked(boolean);
+    method public abstract void setChildCount(int);
+    method public abstract void setClassName(String);
+    method public abstract void setClickable(boolean);
+    method public abstract void setContentDescription(CharSequence);
+    method public abstract void setContextClickable(boolean);
+    method public abstract void setDataIsSensitive(boolean);
+    method public abstract void setDimens(int, int, int, int, int, int);
+    method public abstract void setElevation(float);
+    method public abstract void setEnabled(boolean);
+    method public abstract void setFocusable(boolean);
+    method public abstract void setFocused(boolean);
+    method public abstract void setHint(CharSequence);
+    method public void setHintIdEntry(@NonNull String);
+    method public abstract void setHtmlInfo(@NonNull android.view.ViewStructure.HtmlInfo);
+    method public abstract void setId(int, String, String, String);
+    method public void setImportantForAutofill(int);
+    method public abstract void setInputType(int);
+    method public abstract void setLocaleList(android.os.LocaleList);
+    method public abstract void setLongClickable(boolean);
+    method public void setMaxTextEms(int);
+    method public void setMaxTextLength(int);
+    method public void setMinTextEms(int);
+    method public abstract void setOpaque(boolean);
+    method public void setReceiveContentMimeTypes(@Nullable String[]);
+    method public abstract void setSelected(boolean);
+    method public abstract void setText(CharSequence);
+    method public abstract void setText(CharSequence, int, int);
+    method public void setTextIdEntry(@NonNull String);
+    method public abstract void setTextLines(int[], int[]);
+    method public abstract void setTextStyle(float, int, int, int);
+    method public abstract void setTransformation(android.graphics.Matrix);
+    method public abstract void setVisibility(int);
+    method public abstract void setWebDomain(@Nullable String);
+  }
+
+  public abstract static class ViewStructure.HtmlInfo {
+    ctor public ViewStructure.HtmlInfo();
+    method @Nullable public abstract java.util.List<android.util.Pair<java.lang.String,java.lang.String>> getAttributes();
+    method @NonNull public abstract String getTag();
+  }
+
+  public abstract static class ViewStructure.HtmlInfo.Builder {
+    ctor public ViewStructure.HtmlInfo.Builder();
+    method public abstract android.view.ViewStructure.HtmlInfo.Builder addAttribute(@NonNull String, @NonNull String);
+    method public abstract android.view.ViewStructure.HtmlInfo build();
+  }
+
+  @android.widget.RemoteViews.RemoteView public final class ViewStub extends android.view.View {
+    ctor public ViewStub(android.content.Context);
+    ctor public ViewStub(android.content.Context, @LayoutRes int);
+    ctor public ViewStub(android.content.Context, android.util.AttributeSet);
+    ctor public ViewStub(android.content.Context, android.util.AttributeSet, int);
+    ctor public ViewStub(android.content.Context, android.util.AttributeSet, int, int);
+    method @IdRes public int getInflatedId();
+    method public android.view.LayoutInflater getLayoutInflater();
+    method @LayoutRes public int getLayoutResource();
+    method public android.view.View inflate();
+    method public void setInflatedId(@IdRes int);
+    method public void setLayoutInflater(android.view.LayoutInflater);
+    method public void setLayoutResource(@LayoutRes int);
+    method public void setOnInflateListener(android.view.ViewStub.OnInflateListener);
+  }
+
+  public static interface ViewStub.OnInflateListener {
+    method public void onInflate(android.view.ViewStub, android.view.View);
+  }
+
+  public final class ViewTreeObserver {
+    method public void addOnDrawListener(android.view.ViewTreeObserver.OnDrawListener);
+    method public void addOnGlobalFocusChangeListener(android.view.ViewTreeObserver.OnGlobalFocusChangeListener);
+    method public void addOnGlobalLayoutListener(android.view.ViewTreeObserver.OnGlobalLayoutListener);
+    method public void addOnPreDrawListener(android.view.ViewTreeObserver.OnPreDrawListener);
+    method public void addOnScrollChangedListener(android.view.ViewTreeObserver.OnScrollChangedListener);
+    method public void addOnSystemGestureExclusionRectsChangedListener(@NonNull java.util.function.Consumer<java.util.List<android.graphics.Rect>>);
+    method public void addOnTouchModeChangeListener(android.view.ViewTreeObserver.OnTouchModeChangeListener);
+    method public void addOnWindowAttachListener(android.view.ViewTreeObserver.OnWindowAttachListener);
+    method public void addOnWindowFocusChangeListener(android.view.ViewTreeObserver.OnWindowFocusChangeListener);
+    method public void dispatchOnDraw();
+    method public void dispatchOnGlobalLayout();
+    method public boolean dispatchOnPreDraw();
+    method public boolean isAlive();
+    method public void registerFrameCommitCallback(@NonNull Runnable);
+    method @Deprecated public void removeGlobalOnLayoutListener(android.view.ViewTreeObserver.OnGlobalLayoutListener);
+    method public void removeOnDrawListener(android.view.ViewTreeObserver.OnDrawListener);
+    method public void removeOnGlobalFocusChangeListener(android.view.ViewTreeObserver.OnGlobalFocusChangeListener);
+    method public void removeOnGlobalLayoutListener(android.view.ViewTreeObserver.OnGlobalLayoutListener);
+    method public void removeOnPreDrawListener(android.view.ViewTreeObserver.OnPreDrawListener);
+    method public void removeOnScrollChangedListener(android.view.ViewTreeObserver.OnScrollChangedListener);
+    method public void removeOnSystemGestureExclusionRectsChangedListener(@NonNull java.util.function.Consumer<java.util.List<android.graphics.Rect>>);
+    method public void removeOnTouchModeChangeListener(android.view.ViewTreeObserver.OnTouchModeChangeListener);
+    method public void removeOnWindowAttachListener(android.view.ViewTreeObserver.OnWindowAttachListener);
+    method public void removeOnWindowFocusChangeListener(android.view.ViewTreeObserver.OnWindowFocusChangeListener);
+    method public boolean unregisterFrameCommitCallback(@NonNull Runnable);
+  }
+
+  public static interface ViewTreeObserver.OnDrawListener {
+    method public void onDraw();
+  }
+
+  public static interface ViewTreeObserver.OnGlobalFocusChangeListener {
+    method public void onGlobalFocusChanged(android.view.View, android.view.View);
+  }
+
+  public static interface ViewTreeObserver.OnGlobalLayoutListener {
+    method public void onGlobalLayout();
+  }
+
+  public static interface ViewTreeObserver.OnPreDrawListener {
+    method public boolean onPreDraw();
+  }
+
+  public static interface ViewTreeObserver.OnScrollChangedListener {
+    method public void onScrollChanged();
+  }
+
+  public static interface ViewTreeObserver.OnTouchModeChangeListener {
+    method public void onTouchModeChanged(boolean);
+  }
+
+  public static interface ViewTreeObserver.OnWindowAttachListener {
+    method public void onWindowAttached();
+    method public void onWindowDetached();
+  }
+
+  public static interface ViewTreeObserver.OnWindowFocusChangeListener {
+    method public void onWindowFocusChanged(boolean);
+  }
+
+  public abstract class Window {
+    ctor public Window(@UiContext android.content.Context);
+    method public abstract void addContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public void addFlags(int);
+    method public final void addOnFrameMetricsAvailableListener(@NonNull android.view.Window.OnFrameMetricsAvailableListener, android.os.Handler);
+    method public void clearFlags(int);
+    method public abstract void closeAllPanels();
+    method public abstract void closePanel(int);
+    method public <T extends android.view.View> T findViewById(@IdRes int);
+    method public boolean getAllowEnterTransitionOverlap();
+    method public boolean getAllowReturnTransitionOverlap();
+    method public final android.view.WindowManager.LayoutParams getAttributes();
+    method public final android.view.Window.Callback getCallback();
+    method public int getColorMode();
+    method public final android.view.Window getContainer();
+    method public android.transition.Scene getContentScene();
+    method @UiContext public final android.content.Context getContext();
+    method @Nullable public abstract android.view.View getCurrentFocus();
+    method @NonNull public abstract android.view.View getDecorView();
+    method public static int getDefaultFeatures(android.content.Context);
+    method public android.transition.Transition getEnterTransition();
+    method public android.transition.Transition getExitTransition();
+    method protected final int getFeatures();
+    method protected final int getForcedWindowFlags();
+    method @Nullable public android.view.WindowInsetsController getInsetsController();
+    method @NonNull public abstract android.view.LayoutInflater getLayoutInflater();
+    method protected final int getLocalFeatures();
+    method public android.media.session.MediaController getMediaController();
+    method @ColorInt public abstract int getNavigationBarColor();
+    method @ColorInt public int getNavigationBarDividerColor();
+    method public android.transition.Transition getReenterTransition();
+    method public android.transition.Transition getReturnTransition();
+    method @Nullable public android.view.AttachedSurfaceControl getRootSurfaceControl();
+    method public android.transition.Transition getSharedElementEnterTransition();
+    method public android.transition.Transition getSharedElementExitTransition();
+    method public android.transition.Transition getSharedElementReenterTransition();
+    method public android.transition.Transition getSharedElementReturnTransition();
+    method public boolean getSharedElementsUseOverlay();
+    method @ColorInt public abstract int getStatusBarColor();
+    method @NonNull public java.util.List<android.graphics.Rect> getSystemGestureExclusionRects();
+    method public long getTransitionBackgroundFadeDuration();
+    method public android.transition.TransitionManager getTransitionManager();
+    method public abstract int getVolumeControlStream();
+    method public android.view.WindowManager getWindowManager();
+    method public final android.content.res.TypedArray getWindowStyle();
+    method public final boolean hasChildren();
+    method public boolean hasFeature(int);
+    method protected final boolean hasSoftInputMode();
+    method public void injectInputEvent(android.view.InputEvent);
+    method public abstract void invalidatePanelMenu(int);
+    method public final boolean isActive();
+    method public abstract boolean isFloating();
+    method public boolean isNavigationBarContrastEnforced();
+    method public abstract boolean isShortcutKey(int, android.view.KeyEvent);
+    method public boolean isStatusBarContrastEnforced();
+    method public boolean isWideColorGamut();
+    method public final void makeActive();
+    method protected abstract void onActive();
+    method public abstract void onConfigurationChanged(android.content.res.Configuration);
+    method public abstract void openPanel(int, android.view.KeyEvent);
+    method public abstract android.view.View peekDecorView();
+    method public abstract boolean performContextMenuIdentifierAction(int, int);
+    method public abstract boolean performPanelIdentifierAction(int, int, int);
+    method public abstract boolean performPanelShortcut(int, int, android.view.KeyEvent, int);
+    method public void registerScrollCaptureCallback(@NonNull android.view.ScrollCaptureCallback);
+    method public final void removeOnFrameMetricsAvailableListener(android.view.Window.OnFrameMetricsAvailableListener);
+    method public boolean requestFeature(int);
+    method @NonNull public final <T extends android.view.View> T requireViewById(@IdRes int);
+    method public abstract void restoreHierarchyState(android.os.Bundle);
+    method public abstract android.os.Bundle saveHierarchyState();
+    method public void setAllowEnterTransitionOverlap(boolean);
+    method public void setAllowReturnTransitionOverlap(boolean);
+    method public void setAttributes(android.view.WindowManager.LayoutParams);
+    method public void setBackgroundBlurRadius(int);
+    method public abstract void setBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setBackgroundDrawableResource(@DrawableRes int);
+    method public void setCallback(android.view.Window.Callback);
+    method public abstract void setChildDrawable(int, android.graphics.drawable.Drawable);
+    method public abstract void setChildInt(int, int);
+    method public void setClipToOutline(boolean);
+    method public void setColorMode(int);
+    method public void setContainer(android.view.Window);
+    method public abstract void setContentView(@LayoutRes int);
+    method public abstract void setContentView(android.view.View);
+    method public abstract void setContentView(android.view.View, android.view.ViewGroup.LayoutParams);
+    method public abstract void setDecorCaptionShade(int);
+    method public void setDecorFitsSystemWindows(boolean);
+    method protected void setDefaultWindowFormat(int);
+    method public void setDimAmount(float);
+    method public void setElevation(float);
+    method public void setEnterTransition(android.transition.Transition);
+    method public void setExitTransition(android.transition.Transition);
+    method public abstract void setFeatureDrawable(int, android.graphics.drawable.Drawable);
+    method public abstract void setFeatureDrawableAlpha(int, int);
+    method public abstract void setFeatureDrawableResource(int, @DrawableRes int);
+    method public abstract void setFeatureDrawableUri(int, android.net.Uri);
+    method public abstract void setFeatureInt(int, int);
+    method public void setFlags(int, int);
+    method public void setFormat(int);
+    method public void setGravity(int);
+    method @RequiresPermission(android.Manifest.permission.HIDE_OVERLAY_WINDOWS) public final void setHideOverlayWindows(boolean);
+    method public void setIcon(@DrawableRes int);
+    method public void setLayout(int, int);
+    method public void setLocalFocus(boolean, boolean);
+    method public void setLogo(@DrawableRes int);
+    method public void setMediaController(android.media.session.MediaController);
+    method public abstract void setNavigationBarColor(@ColorInt int);
+    method public void setNavigationBarContrastEnforced(boolean);
+    method public void setNavigationBarDividerColor(@ColorInt int);
+    method public void setPreferMinimalPostProcessing(boolean);
+    method public void setReenterTransition(android.transition.Transition);
+    method public abstract void setResizingCaptionDrawable(android.graphics.drawable.Drawable);
+    method public final void setRestrictedCaptionAreaListener(android.view.Window.OnRestrictedCaptionAreaChangedListener);
+    method public void setReturnTransition(android.transition.Transition);
+    method public void setSharedElementEnterTransition(android.transition.Transition);
+    method public void setSharedElementExitTransition(android.transition.Transition);
+    method public void setSharedElementReenterTransition(android.transition.Transition);
+    method public void setSharedElementReturnTransition(android.transition.Transition);
+    method public void setSharedElementsUseOverlay(boolean);
+    method public void setSoftInputMode(int);
+    method public abstract void setStatusBarColor(@ColorInt int);
+    method public void setStatusBarContrastEnforced(boolean);
+    method public void setSustainedPerformanceMode(boolean);
+    method public void setSystemGestureExclusionRects(@NonNull java.util.List<android.graphics.Rect>);
+    method public abstract void setTitle(CharSequence);
+    method @Deprecated public abstract void setTitleColor(@ColorInt int);
+    method public void setTransitionBackgroundFadeDuration(long);
+    method public void setTransitionManager(android.transition.TransitionManager);
+    method public void setType(int);
+    method public void setUiOptions(int);
+    method public void setUiOptions(int, int);
+    method public abstract void setVolumeControlStream(int);
+    method public void setWindowAnimations(@StyleRes int);
+    method public void setWindowManager(android.view.WindowManager, android.os.IBinder, String);
+    method public void setWindowManager(android.view.WindowManager, android.os.IBinder, String, boolean);
+    method public abstract boolean superDispatchGenericMotionEvent(android.view.MotionEvent);
+    method public abstract boolean superDispatchKeyEvent(android.view.KeyEvent);
+    method public abstract boolean superDispatchKeyShortcutEvent(android.view.KeyEvent);
+    method public abstract boolean superDispatchTouchEvent(android.view.MotionEvent);
+    method public abstract boolean superDispatchTrackballEvent(android.view.MotionEvent);
+    method public abstract void takeInputQueue(android.view.InputQueue.Callback);
+    method public abstract void takeKeyEvents(boolean);
+    method public abstract void takeSurface(android.view.SurfaceHolder.Callback2);
+    method public abstract void togglePanel(int, android.view.KeyEvent);
+    method public void unregisterScrollCaptureCallback(@NonNull android.view.ScrollCaptureCallback);
+    field public static final int DECOR_CAPTION_SHADE_AUTO = 0; // 0x0
+    field public static final int DECOR_CAPTION_SHADE_DARK = 2; // 0x2
+    field public static final int DECOR_CAPTION_SHADE_LIGHT = 1; // 0x1
+    field @Deprecated protected static final int DEFAULT_FEATURES = 65; // 0x41
+    field public static final int FEATURE_ACTION_BAR = 8; // 0x8
+    field public static final int FEATURE_ACTION_BAR_OVERLAY = 9; // 0x9
+    field public static final int FEATURE_ACTION_MODE_OVERLAY = 10; // 0xa
+    field public static final int FEATURE_ACTIVITY_TRANSITIONS = 13; // 0xd
+    field public static final int FEATURE_CONTENT_TRANSITIONS = 12; // 0xc
+    field public static final int FEATURE_CONTEXT_MENU = 6; // 0x6
+    field public static final int FEATURE_CUSTOM_TITLE = 7; // 0x7
+    field @Deprecated public static final int FEATURE_INDETERMINATE_PROGRESS = 5; // 0x5
+    field public static final int FEATURE_LEFT_ICON = 3; // 0x3
+    field public static final int FEATURE_NO_TITLE = 1; // 0x1
+    field public static final int FEATURE_OPTIONS_PANEL = 0; // 0x0
+    field @Deprecated public static final int FEATURE_PROGRESS = 2; // 0x2
+    field public static final int FEATURE_RIGHT_ICON = 4; // 0x4
+    field @Deprecated public static final int FEATURE_SWIPE_TO_DISMISS = 11; // 0xb
+    field public static final int ID_ANDROID_CONTENT = 16908290; // 0x1020002
+    field public static final String NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME = "android:navigation:background";
+    field @Deprecated public static final int PROGRESS_END = 10000; // 0x2710
+    field @Deprecated public static final int PROGRESS_INDETERMINATE_OFF = -4; // 0xfffffffc
+    field @Deprecated public static final int PROGRESS_INDETERMINATE_ON = -3; // 0xfffffffd
+    field @Deprecated public static final int PROGRESS_SECONDARY_END = 30000; // 0x7530
+    field @Deprecated public static final int PROGRESS_SECONDARY_START = 20000; // 0x4e20
+    field @Deprecated public static final int PROGRESS_START = 0; // 0x0
+    field @Deprecated public static final int PROGRESS_VISIBILITY_OFF = -2; // 0xfffffffe
+    field @Deprecated public static final int PROGRESS_VISIBILITY_ON = -1; // 0xffffffff
+    field public static final String STATUS_BAR_BACKGROUND_TRANSITION_NAME = "android:status:background";
+  }
+
+  public static interface Window.Callback {
+    method public boolean dispatchGenericMotionEvent(android.view.MotionEvent);
+    method public boolean dispatchKeyEvent(android.view.KeyEvent);
+    method public boolean dispatchKeyShortcutEvent(android.view.KeyEvent);
+    method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public boolean dispatchTouchEvent(android.view.MotionEvent);
+    method public boolean dispatchTrackballEvent(android.view.MotionEvent);
+    method public void onActionModeFinished(android.view.ActionMode);
+    method public void onActionModeStarted(android.view.ActionMode);
+    method public void onAttachedToWindow();
+    method public void onContentChanged();
+    method public boolean onCreatePanelMenu(int, @NonNull android.view.Menu);
+    method @Nullable public android.view.View onCreatePanelView(int);
+    method public void onDetachedFromWindow();
+    method public boolean onMenuItemSelected(int, @NonNull android.view.MenuItem);
+    method public boolean onMenuOpened(int, @NonNull android.view.Menu);
+    method public void onPanelClosed(int, @NonNull android.view.Menu);
+    method public default void onPointerCaptureChanged(boolean);
+    method public boolean onPreparePanel(int, @Nullable android.view.View, @NonNull android.view.Menu);
+    method public default void onProvideKeyboardShortcuts(java.util.List<android.view.KeyboardShortcutGroup>, @Nullable android.view.Menu, int);
+    method public boolean onSearchRequested();
+    method public boolean onSearchRequested(android.view.SearchEvent);
+    method public void onWindowAttributesChanged(android.view.WindowManager.LayoutParams);
+    method public void onWindowFocusChanged(boolean);
+    method @Nullable public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback);
+    method @Nullable public android.view.ActionMode onWindowStartingActionMode(android.view.ActionMode.Callback, int);
+  }
+
+  public static interface Window.OnFrameMetricsAvailableListener {
+    method public void onFrameMetricsAvailable(android.view.Window, android.view.FrameMetrics, int);
+  }
+
+  public static interface Window.OnRestrictedCaptionAreaChangedListener {
+    method public void onRestrictedCaptionAreaChanged(android.graphics.Rect);
+  }
+
+  public final class WindowAnimationFrameStats extends android.view.FrameStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowAnimationFrameStats> CREATOR;
+  }
+
+  public final class WindowContentFrameStats extends android.view.FrameStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getFramePostedTimeNano(int);
+    method public long getFrameReadyTimeNano(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowContentFrameStats> CREATOR;
+  }
+
+  public class WindowId implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isFocused();
+    method public void registerFocusObserver(android.view.WindowId.FocusObserver);
+    method public void unregisterFocusObserver(android.view.WindowId.FocusObserver);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowId> CREATOR;
+  }
+
+  public abstract static class WindowId.FocusObserver {
+    ctor public WindowId.FocusObserver();
+    method public abstract void onFocusGained(android.view.WindowId);
+    method public abstract void onFocusLost(android.view.WindowId);
+  }
+
+  public final class WindowInsets {
+    ctor public WindowInsets(android.view.WindowInsets);
+    method @Deprecated @NonNull public android.view.WindowInsets consumeDisplayCutout();
+    method @Deprecated @NonNull public android.view.WindowInsets consumeStableInsets();
+    method @Deprecated @NonNull public android.view.WindowInsets consumeSystemWindowInsets();
+    method @Nullable public android.view.DisplayCutout getDisplayCutout();
+    method @NonNull public android.graphics.Insets getInsets(int);
+    method @NonNull public android.graphics.Insets getInsetsIgnoringVisibility(int);
+    method @Deprecated @NonNull public android.graphics.Insets getMandatorySystemGestureInsets();
+    method @Nullable public android.graphics.Rect getPrivacyIndicatorBounds();
+    method @Nullable public android.view.RoundedCorner getRoundedCorner(int);
+    method @Deprecated public int getStableInsetBottom();
+    method @Deprecated public int getStableInsetLeft();
+    method @Deprecated public int getStableInsetRight();
+    method @Deprecated public int getStableInsetTop();
+    method @Deprecated @NonNull public android.graphics.Insets getStableInsets();
+    method @Deprecated @NonNull public android.graphics.Insets getSystemGestureInsets();
+    method @Deprecated public int getSystemWindowInsetBottom();
+    method @Deprecated public int getSystemWindowInsetLeft();
+    method @Deprecated public int getSystemWindowInsetRight();
+    method @Deprecated public int getSystemWindowInsetTop();
+    method @Deprecated @NonNull public android.graphics.Insets getSystemWindowInsets();
+    method @Deprecated @NonNull public android.graphics.Insets getTappableElementInsets();
+    method public boolean hasInsets();
+    method @Deprecated public boolean hasStableInsets();
+    method @Deprecated public boolean hasSystemWindowInsets();
+    method @NonNull public android.view.WindowInsets inset(@NonNull android.graphics.Insets);
+    method @NonNull public android.view.WindowInsets inset(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public boolean isConsumed();
+    method public boolean isRound();
+    method public boolean isVisible(int);
+    method @Deprecated @NonNull public android.view.WindowInsets replaceSystemWindowInsets(int, int, int, int);
+    method @Deprecated @NonNull public android.view.WindowInsets replaceSystemWindowInsets(android.graphics.Rect);
+    field @NonNull public static final android.view.WindowInsets CONSUMED;
+  }
+
+  public static final class WindowInsets.Builder {
+    ctor public WindowInsets.Builder();
+    ctor public WindowInsets.Builder(@NonNull android.view.WindowInsets);
+    method @NonNull public android.view.WindowInsets build();
+    method @NonNull public android.view.WindowInsets.Builder setDisplayCutout(@Nullable android.view.DisplayCutout);
+    method @NonNull public android.view.WindowInsets.Builder setInsets(int, @NonNull android.graphics.Insets);
+    method @NonNull public android.view.WindowInsets.Builder setInsetsIgnoringVisibility(int, @NonNull android.graphics.Insets) throws java.lang.IllegalArgumentException;
+    method @Deprecated @NonNull public android.view.WindowInsets.Builder setMandatorySystemGestureInsets(@NonNull android.graphics.Insets);
+    method @NonNull public android.view.WindowInsets.Builder setPrivacyIndicatorBounds(@Nullable android.graphics.Rect);
+    method @NonNull public android.view.WindowInsets.Builder setRoundedCorner(int, @Nullable android.view.RoundedCorner);
+    method @Deprecated @NonNull public android.view.WindowInsets.Builder setStableInsets(@NonNull android.graphics.Insets);
+    method @Deprecated @NonNull public android.view.WindowInsets.Builder setSystemGestureInsets(@NonNull android.graphics.Insets);
+    method @Deprecated @NonNull public android.view.WindowInsets.Builder setSystemWindowInsets(@NonNull android.graphics.Insets);
+    method @Deprecated @NonNull public android.view.WindowInsets.Builder setTappableElementInsets(@NonNull android.graphics.Insets);
+    method @NonNull public android.view.WindowInsets.Builder setVisible(int, boolean);
+  }
+
+  public static final class WindowInsets.Side {
+    method public static int all();
+    field public static final int BOTTOM = 8; // 0x8
+    field public static final int LEFT = 1; // 0x1
+    field public static final int RIGHT = 4; // 0x4
+    field public static final int TOP = 2; // 0x2
+  }
+
+  public static final class WindowInsets.Type {
+    method public static int captionBar();
+    method public static int displayCutout();
+    method public static int ime();
+    method public static int mandatorySystemGestures();
+    method public static int navigationBars();
+    method public static int statusBars();
+    method public static int systemBars();
+    method public static int systemGestures();
+    method public static int tappableElement();
+  }
+
+  public final class WindowInsetsAnimation {
+    ctor public WindowInsetsAnimation(int, @Nullable android.view.animation.Interpolator, long);
+    method @FloatRange(from=0.0f, to=1.0f) public float getAlpha();
+    method public long getDurationMillis();
+    method @FloatRange(from=0.0f, to=1.0f) public float getFraction();
+    method public float getInterpolatedFraction();
+    method @Nullable public android.view.animation.Interpolator getInterpolator();
+    method public int getTypeMask();
+    method public void setAlpha(@FloatRange(from=0.0f, to=1.0f) float);
+    method public void setFraction(@FloatRange(from=0.0f, to=1.0f) float);
+  }
+
+  public static final class WindowInsetsAnimation.Bounds {
+    ctor public WindowInsetsAnimation.Bounds(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
+    method @NonNull public android.graphics.Insets getLowerBound();
+    method @NonNull public android.graphics.Insets getUpperBound();
+    method @NonNull public android.view.WindowInsetsAnimation.Bounds inset(@NonNull android.graphics.Insets);
+  }
+
+  public abstract static class WindowInsetsAnimation.Callback {
+    ctor public WindowInsetsAnimation.Callback(int);
+    method public final int getDispatchMode();
+    method public void onEnd(@NonNull android.view.WindowInsetsAnimation);
+    method public void onPrepare(@NonNull android.view.WindowInsetsAnimation);
+    method @NonNull public abstract android.view.WindowInsets onProgress(@NonNull android.view.WindowInsets, @NonNull java.util.List<android.view.WindowInsetsAnimation>);
+    method @NonNull public android.view.WindowInsetsAnimation.Bounds onStart(@NonNull android.view.WindowInsetsAnimation, @NonNull android.view.WindowInsetsAnimation.Bounds);
+    field public static final int DISPATCH_MODE_CONTINUE_ON_SUBTREE = 1; // 0x1
+    field public static final int DISPATCH_MODE_STOP = 0; // 0x0
+  }
+
+  public interface WindowInsetsAnimationControlListener {
+    method public void onCancelled(@Nullable android.view.WindowInsetsAnimationController);
+    method public void onFinished(@NonNull android.view.WindowInsetsAnimationController);
+    method public void onReady(@NonNull android.view.WindowInsetsAnimationController, int);
+  }
+
+  public interface WindowInsetsAnimationController {
+    method public void finish(boolean);
+    method public float getCurrentAlpha();
+    method @FloatRange(from=0.0f, to=1.0f) public float getCurrentFraction();
+    method @NonNull public android.graphics.Insets getCurrentInsets();
+    method @NonNull public android.graphics.Insets getHiddenStateInsets();
+    method @NonNull public android.graphics.Insets getShownStateInsets();
+    method public int getTypes();
+    method public boolean isCancelled();
+    method public boolean isFinished();
+    method public default boolean isReady();
+    method public void setInsetsAndAlpha(@Nullable android.graphics.Insets, @FloatRange(from=0.0f, to=1.0f) float, @FloatRange(from=0.0f, to=1.0f) float);
+  }
+
+  public interface WindowInsetsController {
+    method public void addOnControllableInsetsChangedListener(@NonNull android.view.WindowInsetsController.OnControllableInsetsChangedListener);
+    method public void controlWindowInsetsAnimation(int, long, @Nullable android.view.animation.Interpolator, @Nullable android.os.CancellationSignal, @NonNull android.view.WindowInsetsAnimationControlListener);
+    method public int getSystemBarsAppearance();
+    method public int getSystemBarsBehavior();
+    method public void hide(int);
+    method public void removeOnControllableInsetsChangedListener(@NonNull android.view.WindowInsetsController.OnControllableInsetsChangedListener);
+    method public void setSystemBarsAppearance(int, int);
+    method public void setSystemBarsBehavior(int);
+    method public void show(int);
+    field public static final int APPEARANCE_LIGHT_NAVIGATION_BARS = 16; // 0x10
+    field public static final int APPEARANCE_LIGHT_STATUS_BARS = 8; // 0x8
+    field public static final int BEHAVIOR_DEFAULT = 1; // 0x1
+    field @Deprecated public static final int BEHAVIOR_SHOW_BARS_BY_SWIPE = 1; // 0x1
+    field @Deprecated public static final int BEHAVIOR_SHOW_BARS_BY_TOUCH = 0; // 0x0
+    field public static final int BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE = 2; // 0x2
+  }
+
+  public static interface WindowInsetsController.OnControllableInsetsChangedListener {
+    method public void onControllableInsetsChanged(@NonNull android.view.WindowInsetsController, int);
+  }
+
+  public interface WindowManager extends android.view.ViewManager {
+    method public default void addCrossWindowBlurEnabledListener(@NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method public default void addCrossWindowBlurEnabledListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @NonNull public default android.view.WindowMetrics getCurrentWindowMetrics();
+    method @Deprecated public android.view.Display getDefaultDisplay();
+    method @NonNull public default android.view.WindowMetrics getMaximumWindowMetrics();
+    method public default boolean isCrossWindowBlurEnabled();
+    method public default void removeCrossWindowBlurEnabledListener(@NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method public void removeViewImmediate(android.view.View);
+  }
+
+  public static class WindowManager.BadTokenException extends java.lang.RuntimeException {
+    ctor public WindowManager.BadTokenException();
+    ctor public WindowManager.BadTokenException(String);
+  }
+
+  public static class WindowManager.InvalidDisplayException extends java.lang.RuntimeException {
+    ctor public WindowManager.InvalidDisplayException();
+    ctor public WindowManager.InvalidDisplayException(String);
+  }
+
+  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
+    ctor public WindowManager.LayoutParams();
+    ctor public WindowManager.LayoutParams(int);
+    ctor public WindowManager.LayoutParams(int, int);
+    ctor public WindowManager.LayoutParams(int, int, int);
+    ctor public WindowManager.LayoutParams(int, int, int, int, int);
+    ctor public WindowManager.LayoutParams(int, int, int, int, int, int, int);
+    ctor public WindowManager.LayoutParams(android.os.Parcel);
+    method public final int copyFrom(android.view.WindowManager.LayoutParams);
+    method public String debug(String);
+    method public int describeContents();
+    method public int getBlurBehindRadius();
+    method public int getColorMode();
+    method public int getFitInsetsSides();
+    method public int getFitInsetsTypes();
+    method public final CharSequence getTitle();
+    method public boolean isFitInsetsIgnoringVisibility();
+    method public static boolean mayUseInputMethod(int);
+    method public void setBlurBehindRadius(@IntRange(from=0) int);
+    method public void setColorMode(int);
+    method public void setFitInsetsIgnoringVisibility(boolean);
+    method public void setFitInsetsSides(int);
+    method public void setFitInsetsTypes(int);
+    method public final void setTitle(CharSequence);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ALPHA_CHANGED = 128; // 0x80
+    field public static final int ANIMATION_CHANGED = 16; // 0x10
+    field public static final float BRIGHTNESS_OVERRIDE_FULL = 1.0f;
+    field public static final float BRIGHTNESS_OVERRIDE_NONE = -1.0f;
+    field public static final float BRIGHTNESS_OVERRIDE_OFF = 0.0f;
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowManager.LayoutParams> CREATOR;
+    field public static final int DIM_AMOUNT_CHANGED = 32; // 0x20
+    field public static final int FIRST_APPLICATION_WINDOW = 1; // 0x1
+    field public static final int FIRST_SUB_WINDOW = 1000; // 0x3e8
+    field public static final int FIRST_SYSTEM_WINDOW = 2000; // 0x7d0
+    field public static final int FLAGS_CHANGED = 4; // 0x4
+    field public static final int FLAG_ALLOW_LOCK_WHILE_SCREEN_ON = 1; // 0x1
+    field public static final int FLAG_ALT_FOCUSABLE_IM = 131072; // 0x20000
+    field public static final int FLAG_BLUR_BEHIND = 4; // 0x4
+    field public static final int FLAG_DIM_BEHIND = 2; // 0x2
+    field @Deprecated public static final int FLAG_DISMISS_KEYGUARD = 4194304; // 0x400000
+    field @Deprecated public static final int FLAG_DITHER = 4096; // 0x1000
+    field public static final int FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS = -2147483648; // 0x80000000
+    field @Deprecated public static final int FLAG_FORCE_NOT_FULLSCREEN = 2048; // 0x800
+    field @Deprecated public static final int FLAG_FULLSCREEN = 1024; // 0x400
+    field public static final int FLAG_HARDWARE_ACCELERATED = 16777216; // 0x1000000
+    field public static final int FLAG_IGNORE_CHEEK_PRESSES = 32768; // 0x8000
+    field public static final int FLAG_KEEP_SCREEN_ON = 128; // 0x80
+    field @Deprecated public static final int FLAG_LAYOUT_ATTACHED_IN_DECOR = 1073741824; // 0x40000000
+    field @Deprecated public static final int FLAG_LAYOUT_INSET_DECOR = 65536; // 0x10000
+    field @Deprecated public static final int FLAG_LAYOUT_IN_OVERSCAN = 33554432; // 0x2000000
+    field public static final int FLAG_LAYOUT_IN_SCREEN = 256; // 0x100
+    field public static final int FLAG_LAYOUT_NO_LIMITS = 512; // 0x200
+    field public static final int FLAG_LOCAL_FOCUS_MODE = 268435456; // 0x10000000
+    field public static final int FLAG_NOT_FOCUSABLE = 8; // 0x8
+    field public static final int FLAG_NOT_TOUCHABLE = 16; // 0x10
+    field public static final int FLAG_NOT_TOUCH_MODAL = 32; // 0x20
+    field public static final int FLAG_SCALED = 16384; // 0x4000
+    field public static final int FLAG_SECURE = 8192; // 0x2000
+    field public static final int FLAG_SHOW_WALLPAPER = 1048576; // 0x100000
+    field @Deprecated public static final int FLAG_SHOW_WHEN_LOCKED = 524288; // 0x80000
+    field public static final int FLAG_SPLIT_TOUCH = 8388608; // 0x800000
+    field @Deprecated public static final int FLAG_TOUCHABLE_WHEN_WAKING = 64; // 0x40
+    field @Deprecated public static final int FLAG_TRANSLUCENT_NAVIGATION = 134217728; // 0x8000000
+    field @Deprecated public static final int FLAG_TRANSLUCENT_STATUS = 67108864; // 0x4000000
+    field @Deprecated public static final int FLAG_TURN_SCREEN_ON = 2097152; // 0x200000
+    field public static final int FLAG_WATCH_OUTSIDE_TOUCH = 262144; // 0x40000
+    field public static final int FORMAT_CHANGED = 8; // 0x8
+    field public static final int LAST_APPLICATION_WINDOW = 99; // 0x63
+    field public static final int LAST_SUB_WINDOW = 1999; // 0x7cf
+    field public static final int LAST_SYSTEM_WINDOW = 2999; // 0xbb7
+    field public static final int LAYOUT_CHANGED = 1; // 0x1
+    field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS = 3; // 0x3
+    field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT = 0; // 0x0
+    field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER = 2; // 0x2
+    field public static final int LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES = 1; // 0x1
+    field public static final int MEMORY_TYPE_CHANGED = 256; // 0x100
+    field @Deprecated public static final int MEMORY_TYPE_GPU = 2; // 0x2
+    field @Deprecated public static final int MEMORY_TYPE_HARDWARE = 1; // 0x1
+    field @Deprecated public static final int MEMORY_TYPE_NORMAL = 0; // 0x0
+    field @Deprecated public static final int MEMORY_TYPE_PUSH_BUFFERS = 3; // 0x3
+    field public static final int ROTATION_ANIMATION_CHANGED = 4096; // 0x1000
+    field public static final int ROTATION_ANIMATION_CROSSFADE = 1; // 0x1
+    field public static final int ROTATION_ANIMATION_JUMPCUT = 2; // 0x2
+    field public static final int ROTATION_ANIMATION_ROTATE = 0; // 0x0
+    field public static final int ROTATION_ANIMATION_SEAMLESS = 3; // 0x3
+    field public static final int SCREEN_BRIGHTNESS_CHANGED = 2048; // 0x800
+    field public static final int SCREEN_ORIENTATION_CHANGED = 1024; // 0x400
+    field public static final int SOFT_INPUT_ADJUST_NOTHING = 48; // 0x30
+    field public static final int SOFT_INPUT_ADJUST_PAN = 32; // 0x20
+    field @Deprecated public static final int SOFT_INPUT_ADJUST_RESIZE = 16; // 0x10
+    field public static final int SOFT_INPUT_ADJUST_UNSPECIFIED = 0; // 0x0
+    field public static final int SOFT_INPUT_IS_FORWARD_NAVIGATION = 256; // 0x100
+    field public static final int SOFT_INPUT_MASK_ADJUST = 240; // 0xf0
+    field public static final int SOFT_INPUT_MASK_STATE = 15; // 0xf
+    field public static final int SOFT_INPUT_MODE_CHANGED = 512; // 0x200
+    field public static final int SOFT_INPUT_STATE_ALWAYS_HIDDEN = 3; // 0x3
+    field public static final int SOFT_INPUT_STATE_ALWAYS_VISIBLE = 5; // 0x5
+    field public static final int SOFT_INPUT_STATE_HIDDEN = 2; // 0x2
+    field public static final int SOFT_INPUT_STATE_UNCHANGED = 1; // 0x1
+    field public static final int SOFT_INPUT_STATE_UNSPECIFIED = 0; // 0x0
+    field public static final int SOFT_INPUT_STATE_VISIBLE = 4; // 0x4
+    field public static final int TITLE_CHANGED = 64; // 0x40
+    field public static final int TYPE_ACCESSIBILITY_OVERLAY = 2032; // 0x7f0
+    field public static final int TYPE_APPLICATION = 2; // 0x2
+    field public static final int TYPE_APPLICATION_ATTACHED_DIALOG = 1003; // 0x3eb
+    field public static final int TYPE_APPLICATION_MEDIA = 1001; // 0x3e9
+    field public static final int TYPE_APPLICATION_OVERLAY = 2038; // 0x7f6
+    field public static final int TYPE_APPLICATION_PANEL = 1000; // 0x3e8
+    field public static final int TYPE_APPLICATION_STARTING = 3; // 0x3
+    field public static final int TYPE_APPLICATION_SUB_PANEL = 1002; // 0x3ea
+    field public static final int TYPE_BASE_APPLICATION = 1; // 0x1
+    field public static final int TYPE_CHANGED = 2; // 0x2
+    field public static final int TYPE_DRAWN_APPLICATION = 4; // 0x4
+    field public static final int TYPE_INPUT_METHOD = 2011; // 0x7db
+    field public static final int TYPE_INPUT_METHOD_DIALOG = 2012; // 0x7dc
+    field public static final int TYPE_KEYGUARD_DIALOG = 2009; // 0x7d9
+    field @Deprecated public static final int TYPE_PHONE = 2002; // 0x7d2
+    field @Deprecated public static final int TYPE_PRIORITY_PHONE = 2007; // 0x7d7
+    field public static final int TYPE_PRIVATE_PRESENTATION = 2030; // 0x7ee
+    field public static final int TYPE_SEARCH_BAR = 2001; // 0x7d1
+    field public static final int TYPE_STATUS_BAR = 2000; // 0x7d0
+    field @Deprecated public static final int TYPE_SYSTEM_ALERT = 2003; // 0x7d3
+    field public static final int TYPE_SYSTEM_DIALOG = 2008; // 0x7d8
+    field @Deprecated public static final int TYPE_SYSTEM_ERROR = 2010; // 0x7da
+    field @Deprecated public static final int TYPE_SYSTEM_OVERLAY = 2006; // 0x7d6
+    field @Deprecated public static final int TYPE_TOAST = 2005; // 0x7d5
+    field public static final int TYPE_WALLPAPER = 2013; // 0x7dd
+    field public float alpha;
+    field public float buttonBrightness;
+    field public float dimAmount;
+    field public int flags;
+    field public int format;
+    field public int gravity;
+    field public float horizontalMargin;
+    field public float horizontalWeight;
+    field public int layoutInDisplayCutoutMode;
+    field @Deprecated public int memoryType;
+    field public String packageName;
+    field public boolean preferMinimalPostProcessing;
+    field public int preferredDisplayModeId;
+    field @Deprecated public float preferredRefreshRate;
+    field public int rotationAnimation;
+    field public float screenBrightness;
+    field public int screenOrientation;
+    field public int softInputMode;
+    field @Deprecated public int systemUiVisibility;
+    field public android.os.IBinder token;
+    field public int type;
+    field public float verticalMargin;
+    field public float verticalWeight;
+    field public int windowAnimations;
+    field public int x;
+    field public int y;
+  }
+
+  public final class WindowMetrics {
+    ctor public WindowMetrics(@NonNull android.graphics.Rect, @NonNull android.view.WindowInsets);
+    method @NonNull public android.graphics.Rect getBounds();
+    method @NonNull public android.view.WindowInsets getWindowInsets();
+  }
+
+}
+
+package android.view.accessibility {
+
+  public final class AccessibilityEvent extends android.view.accessibility.AccessibilityRecord implements android.os.Parcelable {
+    ctor public AccessibilityEvent();
+    ctor public AccessibilityEvent(int);
+    ctor public AccessibilityEvent(@NonNull android.view.accessibility.AccessibilityEvent);
+    method public void appendRecord(android.view.accessibility.AccessibilityRecord);
+    method public int describeContents();
+    method public static String eventTypeToString(int);
+    method public int getAction();
+    method public int getContentChangeTypes();
+    method public long getEventTime();
+    method public int getEventType();
+    method public int getMovementGranularity();
+    method public CharSequence getPackageName();
+    method public android.view.accessibility.AccessibilityRecord getRecord(int);
+    method public int getRecordCount();
+    method public int getWindowChanges();
+    method public void initFromParcel(android.os.Parcel);
+    method public static android.view.accessibility.AccessibilityEvent obtain(int);
+    method public static android.view.accessibility.AccessibilityEvent obtain(android.view.accessibility.AccessibilityEvent);
+    method public static android.view.accessibility.AccessibilityEvent obtain();
+    method public void setAction(int);
+    method public void setContentChangeTypes(int);
+    method public void setEventTime(long);
+    method public void setEventType(int);
+    method public void setMovementGranularity(int);
+    method public void setPackageName(CharSequence);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION = 4; // 0x4
+    field public static final int CONTENT_CHANGE_TYPE_DRAG_CANCELLED = 512; // 0x200
+    field public static final int CONTENT_CHANGE_TYPE_DRAG_DROPPED = 256; // 0x100
+    field public static final int CONTENT_CHANGE_TYPE_DRAG_STARTED = 128; // 0x80
+    field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10
+    field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20
+    field public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 8; // 0x8
+    field public static final int CONTENT_CHANGE_TYPE_STATE_DESCRIPTION = 64; // 0x40
+    field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
+    field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
+    field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityEvent> CREATOR;
+    field public static final int INVALID_POSITION = -1; // 0xffffffff
+    field @Deprecated public static final int MAX_TEXT_LENGTH = 500; // 0x1f4
+    field public static final int TYPES_ALL_MASK = -1; // 0xffffffff
+    field public static final int TYPE_ANNOUNCEMENT = 16384; // 0x4000
+    field public static final int TYPE_ASSIST_READING_CONTEXT = 16777216; // 0x1000000
+    field public static final int TYPE_GESTURE_DETECTION_END = 524288; // 0x80000
+    field public static final int TYPE_GESTURE_DETECTION_START = 262144; // 0x40000
+    field public static final int TYPE_NOTIFICATION_STATE_CHANGED = 64; // 0x40
+    field public static final int TYPE_TOUCH_EXPLORATION_GESTURE_END = 1024; // 0x400
+    field public static final int TYPE_TOUCH_EXPLORATION_GESTURE_START = 512; // 0x200
+    field public static final int TYPE_TOUCH_INTERACTION_END = 2097152; // 0x200000
+    field public static final int TYPE_TOUCH_INTERACTION_START = 1048576; // 0x100000
+    field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUSED = 32768; // 0x8000
+    field public static final int TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED = 65536; // 0x10000
+    field public static final int TYPE_VIEW_CLICKED = 1; // 0x1
+    field public static final int TYPE_VIEW_CONTEXT_CLICKED = 8388608; // 0x800000
+    field public static final int TYPE_VIEW_FOCUSED = 8; // 0x8
+    field public static final int TYPE_VIEW_HOVER_ENTER = 128; // 0x80
+    field public static final int TYPE_VIEW_HOVER_EXIT = 256; // 0x100
+    field public static final int TYPE_VIEW_LONG_CLICKED = 2; // 0x2
+    field public static final int TYPE_VIEW_SCROLLED = 4096; // 0x1000
+    field public static final int TYPE_VIEW_SELECTED = 4; // 0x4
+    field public static final int TYPE_VIEW_TEXT_CHANGED = 16; // 0x10
+    field public static final int TYPE_VIEW_TEXT_SELECTION_CHANGED = 8192; // 0x2000
+    field public static final int TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY = 131072; // 0x20000
+    field public static final int TYPE_WINDOWS_CHANGED = 4194304; // 0x400000
+    field public static final int TYPE_WINDOW_CONTENT_CHANGED = 2048; // 0x800
+    field public static final int TYPE_WINDOW_STATE_CHANGED = 32; // 0x20
+    field public static final int WINDOWS_CHANGE_ACCESSIBILITY_FOCUSED = 128; // 0x80
+    field public static final int WINDOWS_CHANGE_ACTIVE = 32; // 0x20
+    field public static final int WINDOWS_CHANGE_ADDED = 1; // 0x1
+    field public static final int WINDOWS_CHANGE_BOUNDS = 8; // 0x8
+    field public static final int WINDOWS_CHANGE_CHILDREN = 512; // 0x200
+    field public static final int WINDOWS_CHANGE_FOCUSED = 64; // 0x40
+    field public static final int WINDOWS_CHANGE_LAYER = 16; // 0x10
+    field public static final int WINDOWS_CHANGE_PARENT = 256; // 0x100
+    field public static final int WINDOWS_CHANGE_PIP = 1024; // 0x400
+    field public static final int WINDOWS_CHANGE_REMOVED = 2; // 0x2
+    field public static final int WINDOWS_CHANGE_TITLE = 4; // 0x4
+  }
+
+  public interface AccessibilityEventSource {
+    method public void sendAccessibilityEvent(int);
+    method public void sendAccessibilityEventUnchecked(android.view.accessibility.AccessibilityEvent);
+  }
+
+  public final class AccessibilityManager {
+    method public void addAccessibilityRequestPreparer(android.view.accessibility.AccessibilityRequestPreparer);
+    method public boolean addAccessibilityStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener);
+    method public void addAccessibilityStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener, @Nullable android.os.Handler);
+    method public boolean addTouchExplorationStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener);
+    method public void addTouchExplorationStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener, @Nullable android.os.Handler);
+    method @ColorInt public int getAccessibilityFocusColor();
+    method public int getAccessibilityFocusStrokeWidth();
+    method @Deprecated public java.util.List<android.content.pm.ServiceInfo> getAccessibilityServiceList();
+    method public java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getEnabledAccessibilityServiceList(int);
+    method public java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getInstalledAccessibilityServiceList();
+    method public int getRecommendedTimeoutMillis(int, int);
+    method public void interrupt();
+    method public static boolean isAccessibilityButtonSupported();
+    method public boolean isEnabled();
+    method public boolean isTouchExplorationEnabled();
+    method public void removeAccessibilityRequestPreparer(android.view.accessibility.AccessibilityRequestPreparer);
+    method public boolean removeAccessibilityStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityStateChangeListener);
+    method public boolean removeTouchExplorationStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener);
+    method public void sendAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    field public static final int FLAG_CONTENT_CONTROLS = 4; // 0x4
+    field public static final int FLAG_CONTENT_ICONS = 1; // 0x1
+    field public static final int FLAG_CONTENT_TEXT = 2; // 0x2
+  }
+
+  public static interface AccessibilityManager.AccessibilityStateChangeListener {
+    method public void onAccessibilityStateChanged(boolean);
+  }
+
+  public static interface AccessibilityManager.TouchExplorationStateChangeListener {
+    method public void onTouchExplorationStateChanged(boolean);
+  }
+
+  public class AccessibilityNodeInfo implements android.os.Parcelable {
+    ctor public AccessibilityNodeInfo();
+    ctor public AccessibilityNodeInfo(@NonNull android.view.View);
+    ctor public AccessibilityNodeInfo(@NonNull android.view.View, int);
+    ctor public AccessibilityNodeInfo(@NonNull android.view.accessibility.AccessibilityNodeInfo);
+    method public void addAction(android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction);
+    method @Deprecated public void addAction(int);
+    method public void addChild(android.view.View);
+    method public void addChild(android.view.View, int);
+    method public boolean canOpenPopup();
+    method public int describeContents();
+    method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(String);
+    method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByViewId(@NonNull String);
+    method public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
+    method public android.view.accessibility.AccessibilityNodeInfo focusSearch(int);
+    method public java.util.List<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction> getActionList();
+    method @Deprecated public int getActions();
+    method public java.util.List<java.lang.String> getAvailableExtraData();
+    method @Deprecated public void getBoundsInParent(android.graphics.Rect);
+    method public void getBoundsInScreen(android.graphics.Rect);
+    method public android.view.accessibility.AccessibilityNodeInfo getChild(int);
+    method public int getChildCount();
+    method public CharSequence getClassName();
+    method public android.view.accessibility.AccessibilityNodeInfo.CollectionInfo getCollectionInfo();
+    method public android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo getCollectionItemInfo();
+    method public CharSequence getContentDescription();
+    method public int getDrawingOrder();
+    method public CharSequence getError();
+    method @Nullable public android.view.accessibility.AccessibilityNodeInfo.ExtraRenderingInfo getExtraRenderingInfo();
+    method public android.os.Bundle getExtras();
+    method public CharSequence getHintText();
+    method public int getInputType();
+    method public android.view.accessibility.AccessibilityNodeInfo getLabelFor();
+    method public android.view.accessibility.AccessibilityNodeInfo getLabeledBy();
+    method public int getLiveRegion();
+    method public int getMaxTextLength();
+    method public int getMovementGranularities();
+    method public CharSequence getPackageName();
+    method @Nullable public CharSequence getPaneTitle();
+    method public android.view.accessibility.AccessibilityNodeInfo getParent();
+    method public android.view.accessibility.AccessibilityNodeInfo.RangeInfo getRangeInfo();
+    method @Nullable public CharSequence getStateDescription();
+    method public CharSequence getText();
+    method public int getTextSelectionEnd();
+    method public int getTextSelectionStart();
+    method @Nullable public CharSequence getTooltipText();
+    method @Nullable public android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo getTouchDelegateInfo();
+    method public android.view.accessibility.AccessibilityNodeInfo getTraversalAfter();
+    method public android.view.accessibility.AccessibilityNodeInfo getTraversalBefore();
+    method public String getViewIdResourceName();
+    method public android.view.accessibility.AccessibilityWindowInfo getWindow();
+    method public int getWindowId();
+    method public boolean isAccessibilityFocused();
+    method public boolean isCheckable();
+    method public boolean isChecked();
+    method public boolean isClickable();
+    method public boolean isContentInvalid();
+    method public boolean isContextClickable();
+    method public boolean isDismissable();
+    method public boolean isEditable();
+    method public boolean isEnabled();
+    method public boolean isFocusable();
+    method public boolean isFocused();
+    method public boolean isHeading();
+    method public boolean isImportantForAccessibility();
+    method public boolean isLongClickable();
+    method public boolean isMultiLine();
+    method public boolean isPassword();
+    method public boolean isScreenReaderFocusable();
+    method public boolean isScrollable();
+    method public boolean isSelected();
+    method public boolean isShowingHintText();
+    method public boolean isTextEntryKey();
+    method public boolean isVisibleToUser();
+    method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View);
+    method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.View, int);
+    method public static android.view.accessibility.AccessibilityNodeInfo obtain();
+    method public static android.view.accessibility.AccessibilityNodeInfo obtain(android.view.accessibility.AccessibilityNodeInfo);
+    method public boolean performAction(int);
+    method public boolean performAction(int, android.os.Bundle);
+    method public void recycle();
+    method public boolean refresh();
+    method public boolean refreshWithExtraData(String, android.os.Bundle);
+    method @Deprecated public void removeAction(int);
+    method public boolean removeAction(android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction);
+    method public boolean removeChild(android.view.View);
+    method public boolean removeChild(android.view.View, int);
+    method public void setAccessibilityFocused(boolean);
+    method public void setAvailableExtraData(java.util.List<java.lang.String>);
+    method @Deprecated public void setBoundsInParent(android.graphics.Rect);
+    method public void setBoundsInScreen(android.graphics.Rect);
+    method public void setCanOpenPopup(boolean);
+    method public void setCheckable(boolean);
+    method public void setChecked(boolean);
+    method public void setClassName(CharSequence);
+    method public void setClickable(boolean);
+    method public void setCollectionInfo(android.view.accessibility.AccessibilityNodeInfo.CollectionInfo);
+    method public void setCollectionItemInfo(android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo);
+    method public void setContentDescription(CharSequence);
+    method public void setContentInvalid(boolean);
+    method public void setContextClickable(boolean);
+    method public void setDismissable(boolean);
+    method public void setDrawingOrder(int);
+    method public void setEditable(boolean);
+    method public void setEnabled(boolean);
+    method public void setError(CharSequence);
+    method public void setFocusable(boolean);
+    method public void setFocused(boolean);
+    method public void setHeading(boolean);
+    method public void setHintText(CharSequence);
+    method public void setImportantForAccessibility(boolean);
+    method public void setInputType(int);
+    method public void setLabelFor(android.view.View);
+    method public void setLabelFor(android.view.View, int);
+    method public void setLabeledBy(android.view.View);
+    method public void setLabeledBy(android.view.View, int);
+    method public void setLiveRegion(int);
+    method public void setLongClickable(boolean);
+    method public void setMaxTextLength(int);
+    method public void setMovementGranularities(int);
+    method public void setMultiLine(boolean);
+    method public void setPackageName(CharSequence);
+    method public void setPaneTitle(@Nullable CharSequence);
+    method public void setParent(android.view.View);
+    method public void setParent(android.view.View, int);
+    method public void setPassword(boolean);
+    method public void setRangeInfo(android.view.accessibility.AccessibilityNodeInfo.RangeInfo);
+    method public void setScreenReaderFocusable(boolean);
+    method public void setScrollable(boolean);
+    method public void setSelected(boolean);
+    method public void setShowingHintText(boolean);
+    method public void setSource(android.view.View);
+    method public void setSource(android.view.View, int);
+    method public void setStateDescription(@Nullable CharSequence);
+    method public void setText(CharSequence);
+    method public void setTextEntryKey(boolean);
+    method public void setTextSelection(int, int);
+    method public void setTooltipText(@Nullable CharSequence);
+    method public void setTouchDelegateInfo(@NonNull android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo);
+    method public void setTraversalAfter(android.view.View);
+    method public void setTraversalAfter(android.view.View, int);
+    method public void setTraversalBefore(android.view.View);
+    method public void setTraversalBefore(android.view.View, int);
+    method public void setViewIdResourceName(String);
+    method public void setVisibleToUser(boolean);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_ACCESSIBILITY_FOCUS = 64; // 0x40
+    field public static final String ACTION_ARGUMENT_COLUMN_INT = "android.view.accessibility.action.ARGUMENT_COLUMN_INT";
+    field public static final String ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN = "ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN";
+    field public static final String ACTION_ARGUMENT_HTML_ELEMENT_STRING = "ACTION_ARGUMENT_HTML_ELEMENT_STRING";
+    field public static final String ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT = "ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT";
+    field public static final String ACTION_ARGUMENT_MOVE_WINDOW_X = "ACTION_ARGUMENT_MOVE_WINDOW_X";
+    field public static final String ACTION_ARGUMENT_MOVE_WINDOW_Y = "ACTION_ARGUMENT_MOVE_WINDOW_Y";
+    field public static final String ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT = "android.view.accessibility.action.ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT";
+    field public static final String ACTION_ARGUMENT_PROGRESS_VALUE = "android.view.accessibility.action.ARGUMENT_PROGRESS_VALUE";
+    field public static final String ACTION_ARGUMENT_ROW_INT = "android.view.accessibility.action.ARGUMENT_ROW_INT";
+    field public static final String ACTION_ARGUMENT_SELECTION_END_INT = "ACTION_ARGUMENT_SELECTION_END_INT";
+    field public static final String ACTION_ARGUMENT_SELECTION_START_INT = "ACTION_ARGUMENT_SELECTION_START_INT";
+    field public static final String ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE = "ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE";
+    field public static final int ACTION_CLEAR_ACCESSIBILITY_FOCUS = 128; // 0x80
+    field public static final int ACTION_CLEAR_FOCUS = 2; // 0x2
+    field public static final int ACTION_CLEAR_SELECTION = 8; // 0x8
+    field public static final int ACTION_CLICK = 16; // 0x10
+    field public static final int ACTION_COLLAPSE = 524288; // 0x80000
+    field public static final int ACTION_COPY = 16384; // 0x4000
+    field public static final int ACTION_CUT = 65536; // 0x10000
+    field public static final int ACTION_DISMISS = 1048576; // 0x100000
+    field public static final int ACTION_EXPAND = 262144; // 0x40000
+    field public static final int ACTION_FOCUS = 1; // 0x1
+    field public static final int ACTION_LONG_CLICK = 32; // 0x20
+    field public static final int ACTION_NEXT_AT_MOVEMENT_GRANULARITY = 256; // 0x100
+    field public static final int ACTION_NEXT_HTML_ELEMENT = 1024; // 0x400
+    field public static final int ACTION_PASTE = 32768; // 0x8000
+    field public static final int ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY = 512; // 0x200
+    field public static final int ACTION_PREVIOUS_HTML_ELEMENT = 2048; // 0x800
+    field public static final int ACTION_SCROLL_BACKWARD = 8192; // 0x2000
+    field public static final int ACTION_SCROLL_FORWARD = 4096; // 0x1000
+    field public static final int ACTION_SELECT = 4; // 0x4
+    field public static final int ACTION_SET_SELECTION = 131072; // 0x20000
+    field public static final int ACTION_SET_TEXT = 2097152; // 0x200000
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo> CREATOR;
+    field public static final String EXTRA_DATA_RENDERING_INFO_KEY = "android.view.accessibility.extra.DATA_RENDERING_INFO_KEY";
+    field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH";
+    field public static final int EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH = 20000; // 0x4e20
+    field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX";
+    field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_KEY";
+    field public static final int FOCUS_ACCESSIBILITY = 2; // 0x2
+    field public static final int FOCUS_INPUT = 1; // 0x1
+    field public static final int MOVEMENT_GRANULARITY_CHARACTER = 1; // 0x1
+    field public static final int MOVEMENT_GRANULARITY_LINE = 4; // 0x4
+    field public static final int MOVEMENT_GRANULARITY_PAGE = 16; // 0x10
+    field public static final int MOVEMENT_GRANULARITY_PARAGRAPH = 8; // 0x8
+    field public static final int MOVEMENT_GRANULARITY_WORD = 2; // 0x2
+  }
+
+  public static final class AccessibilityNodeInfo.AccessibilityAction implements android.os.Parcelable {
+    ctor public AccessibilityNodeInfo.AccessibilityAction(int, @Nullable CharSequence);
+    method public int describeContents();
+    method public int getId();
+    method public CharSequence getLabel();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_ACCESSIBILITY_FOCUS;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CLEAR_ACCESSIBILITY_FOCUS;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CLEAR_FOCUS;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CLEAR_SELECTION;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CLICK;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_COLLAPSE;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CONTEXT_CLICK;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_COPY;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_CUT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DISMISS;
+    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DRAG_CANCEL;
+    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DRAG_DROP;
+    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_DRAG_START;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_EXPAND;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_FOCUS;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_HIDE_TOOLTIP;
+    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_IME_ENTER;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_LONG_CLICK;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_MOVE_WINDOW;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_NEXT_AT_MOVEMENT_GRANULARITY;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_NEXT_HTML_ELEMENT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PAGE_DOWN;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PAGE_LEFT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PAGE_RIGHT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PAGE_UP;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PASTE;
+    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PRESS_AND_HOLD;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_PREVIOUS_HTML_ELEMENT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_BACKWARD;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_DOWN;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_FORWARD;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_LEFT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_RIGHT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_TO_POSITION;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SCROLL_UP;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SELECT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SET_PROGRESS;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SET_SELECTION;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SET_TEXT;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SHOW_ON_SCREEN;
+    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SHOW_TOOLTIP;
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction> CREATOR;
+  }
+
+  public static final class AccessibilityNodeInfo.CollectionInfo {
+    ctor public AccessibilityNodeInfo.CollectionInfo(int, int, boolean);
+    ctor public AccessibilityNodeInfo.CollectionInfo(int, int, boolean, int);
+    method public int getColumnCount();
+    method public int getRowCount();
+    method public int getSelectionMode();
+    method public boolean isHierarchical();
+    method public static android.view.accessibility.AccessibilityNodeInfo.CollectionInfo obtain(int, int, boolean);
+    method public static android.view.accessibility.AccessibilityNodeInfo.CollectionInfo obtain(int, int, boolean, int);
+    field public static final int SELECTION_MODE_MULTIPLE = 2; // 0x2
+    field public static final int SELECTION_MODE_NONE = 0; // 0x0
+    field public static final int SELECTION_MODE_SINGLE = 1; // 0x1
+  }
+
+  public static final class AccessibilityNodeInfo.CollectionItemInfo {
+    ctor public AccessibilityNodeInfo.CollectionItemInfo(int, int, int, int, boolean);
+    ctor public AccessibilityNodeInfo.CollectionItemInfo(int, int, int, int, boolean, boolean);
+    method public int getColumnIndex();
+    method public int getColumnSpan();
+    method public int getRowIndex();
+    method public int getRowSpan();
+    method @Deprecated public boolean isHeading();
+    method public boolean isSelected();
+    method public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(int, int, int, int, boolean);
+    method public static android.view.accessibility.AccessibilityNodeInfo.CollectionItemInfo obtain(int, int, int, int, boolean, boolean);
+  }
+
+  public static final class AccessibilityNodeInfo.ExtraRenderingInfo {
+    method @Nullable public android.util.Size getLayoutSize();
+    method public float getTextSizeInPx();
+    method public int getTextSizeUnit();
+  }
+
+  public static final class AccessibilityNodeInfo.RangeInfo {
+    ctor public AccessibilityNodeInfo.RangeInfo(int, float, float, float);
+    method public float getCurrent();
+    method public float getMax();
+    method public float getMin();
+    method public int getType();
+    method public static android.view.accessibility.AccessibilityNodeInfo.RangeInfo obtain(int, float, float, float);
+    field public static final int RANGE_TYPE_FLOAT = 1; // 0x1
+    field public static final int RANGE_TYPE_INT = 0; // 0x0
+    field public static final int RANGE_TYPE_PERCENT = 2; // 0x2
+  }
+
+  public static final class AccessibilityNodeInfo.TouchDelegateInfo implements android.os.Parcelable {
+    ctor public AccessibilityNodeInfo.TouchDelegateInfo(@NonNull java.util.Map<android.graphics.Region,android.view.View>);
+    method public int describeContents();
+    method @NonNull public android.graphics.Region getRegionAt(int);
+    method public int getRegionCount();
+    method @Nullable public android.view.accessibility.AccessibilityNodeInfo getTargetForRegion(@NonNull android.graphics.Region);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo> CREATOR;
+  }
+
+  public abstract class AccessibilityNodeProvider {
+    ctor public AccessibilityNodeProvider();
+    method public void addExtraDataToAccessibilityNodeInfo(int, android.view.accessibility.AccessibilityNodeInfo, String, android.os.Bundle);
+    method public android.view.accessibility.AccessibilityNodeInfo createAccessibilityNodeInfo(int);
+    method public java.util.List<android.view.accessibility.AccessibilityNodeInfo> findAccessibilityNodeInfosByText(String, int);
+    method public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
+    method public boolean performAction(int, int, android.os.Bundle);
+    field public static final int HOST_VIEW_ID = -1; // 0xffffffff
+  }
+
+  public class AccessibilityRecord {
+    ctor public AccessibilityRecord();
+    ctor public AccessibilityRecord(@NonNull android.view.accessibility.AccessibilityRecord);
+    method public int getAddedCount();
+    method public CharSequence getBeforeText();
+    method public CharSequence getClassName();
+    method public CharSequence getContentDescription();
+    method public int getCurrentItemIndex();
+    method public int getFromIndex();
+    method public int getItemCount();
+    method public int getMaxScrollX();
+    method public int getMaxScrollY();
+    method public android.os.Parcelable getParcelableData();
+    method public int getRemovedCount();
+    method public int getScrollDeltaX();
+    method public int getScrollDeltaY();
+    method public int getScrollX();
+    method public int getScrollY();
+    method public android.view.accessibility.AccessibilityNodeInfo getSource();
+    method public java.util.List<java.lang.CharSequence> getText();
+    method public int getToIndex();
+    method public int getWindowId();
+    method public boolean isChecked();
+    method public boolean isEnabled();
+    method public boolean isFullScreen();
+    method public boolean isPassword();
+    method public boolean isScrollable();
+    method public static android.view.accessibility.AccessibilityRecord obtain(android.view.accessibility.AccessibilityRecord);
+    method public static android.view.accessibility.AccessibilityRecord obtain();
+    method public void recycle();
+    method public void setAddedCount(int);
+    method public void setBeforeText(CharSequence);
+    method public void setChecked(boolean);
+    method public void setClassName(CharSequence);
+    method public void setContentDescription(CharSequence);
+    method public void setCurrentItemIndex(int);
+    method public void setEnabled(boolean);
+    method public void setFromIndex(int);
+    method public void setFullScreen(boolean);
+    method public void setItemCount(int);
+    method public void setMaxScrollX(int);
+    method public void setMaxScrollY(int);
+    method public void setParcelableData(android.os.Parcelable);
+    method public void setPassword(boolean);
+    method public void setRemovedCount(int);
+    method public void setScrollDeltaX(int);
+    method public void setScrollDeltaY(int);
+    method public void setScrollX(int);
+    method public void setScrollY(int);
+    method public void setScrollable(boolean);
+    method public void setSource(android.view.View);
+    method public void setSource(@Nullable android.view.View, int);
+    method public void setToIndex(int);
+  }
+
+  public abstract class AccessibilityRequestPreparer {
+    ctor public AccessibilityRequestPreparer(android.view.View, int);
+    method @Nullable public android.view.View getView();
+    method public abstract void onPrepareExtraData(int, String, android.os.Bundle, android.os.Message);
+    field public static final int REQUEST_TYPE_EXTRA_DATA = 1; // 0x1
+  }
+
+  public final class AccessibilityWindowInfo implements android.os.Parcelable {
+    ctor public AccessibilityWindowInfo();
+    ctor public AccessibilityWindowInfo(@NonNull android.view.accessibility.AccessibilityWindowInfo);
+    method public int describeContents();
+    method public android.view.accessibility.AccessibilityNodeInfo getAnchor();
+    method public void getBoundsInScreen(android.graphics.Rect);
+    method public android.view.accessibility.AccessibilityWindowInfo getChild(int);
+    method public int getChildCount();
+    method public int getDisplayId();
+    method public int getId();
+    method public int getLayer();
+    method public android.view.accessibility.AccessibilityWindowInfo getParent();
+    method public void getRegionInScreen(@NonNull android.graphics.Region);
+    method public android.view.accessibility.AccessibilityNodeInfo getRoot();
+    method @Nullable public CharSequence getTitle();
+    method public int getType();
+    method public boolean isAccessibilityFocused();
+    method public boolean isActive();
+    method public boolean isFocused();
+    method public boolean isInPictureInPictureMode();
+    method public static android.view.accessibility.AccessibilityWindowInfo obtain();
+    method public static android.view.accessibility.AccessibilityWindowInfo obtain(android.view.accessibility.AccessibilityWindowInfo);
+    method public void recycle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityWindowInfo> CREATOR;
+    field public static final int TYPE_ACCESSIBILITY_OVERLAY = 4; // 0x4
+    field public static final int TYPE_APPLICATION = 1; // 0x1
+    field public static final int TYPE_INPUT_METHOD = 2; // 0x2
+    field public static final int TYPE_SPLIT_SCREEN_DIVIDER = 5; // 0x5
+    field public static final int TYPE_SYSTEM = 3; // 0x3
+  }
+
+  public class CaptioningManager {
+    method public void addCaptioningChangeListener(@NonNull android.view.accessibility.CaptioningManager.CaptioningChangeListener);
+    method public final float getFontScale();
+    method @Nullable public final java.util.Locale getLocale();
+    method @NonNull public android.view.accessibility.CaptioningManager.CaptionStyle getUserStyle();
+    method public final boolean isEnabled();
+    method public void removeCaptioningChangeListener(@NonNull android.view.accessibility.CaptioningManager.CaptioningChangeListener);
+  }
+
+  public static final class CaptioningManager.CaptionStyle {
+    method @Nullable public android.graphics.Typeface getTypeface();
+    method public boolean hasBackgroundColor();
+    method public boolean hasEdgeColor();
+    method public boolean hasEdgeType();
+    method public boolean hasForegroundColor();
+    method public boolean hasWindowColor();
+    field public static final int EDGE_TYPE_DEPRESSED = 4; // 0x4
+    field public static final int EDGE_TYPE_DROP_SHADOW = 2; // 0x2
+    field public static final int EDGE_TYPE_NONE = 0; // 0x0
+    field public static final int EDGE_TYPE_OUTLINE = 1; // 0x1
+    field public static final int EDGE_TYPE_RAISED = 3; // 0x3
+    field public static final int EDGE_TYPE_UNSPECIFIED = -1; // 0xffffffff
+    field public final int backgroundColor;
+    field public final int edgeColor;
+    field public final int edgeType;
+    field public final int foregroundColor;
+    field public final int windowColor;
+  }
+
+  public abstract static class CaptioningManager.CaptioningChangeListener {
+    ctor public CaptioningManager.CaptioningChangeListener();
+    method public void onEnabledChanged(boolean);
+    method public void onFontScaleChanged(float);
+    method public void onLocaleChanged(@Nullable java.util.Locale);
+    method public void onUserStyleChanged(@NonNull android.view.accessibility.CaptioningManager.CaptionStyle);
+  }
+
+}
+
+package android.view.animation {
+
+  public class AccelerateDecelerateInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public AccelerateDecelerateInterpolator();
+    ctor public AccelerateDecelerateInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class AccelerateInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public AccelerateInterpolator();
+    ctor public AccelerateInterpolator(float);
+    ctor public AccelerateInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class AlphaAnimation extends android.view.animation.Animation {
+    ctor public AlphaAnimation(android.content.Context, android.util.AttributeSet);
+    ctor public AlphaAnimation(float, float);
+  }
+
+  public abstract class Animation implements java.lang.Cloneable {
+    ctor public Animation();
+    ctor public Animation(android.content.Context, android.util.AttributeSet);
+    method protected void applyTransformation(float, android.view.animation.Transformation);
+    method public void cancel();
+    method protected android.view.animation.Animation clone() throws java.lang.CloneNotSupportedException;
+    method public long computeDurationHint();
+    method protected void ensureInterpolator();
+    method @Deprecated @ColorInt public int getBackgroundColor();
+    method @Deprecated public boolean getDetachWallpaper();
+    method public long getDuration();
+    method public boolean getFillAfter();
+    method public boolean getFillBefore();
+    method public android.view.animation.Interpolator getInterpolator();
+    method public int getRepeatCount();
+    method public int getRepeatMode();
+    method protected float getScaleFactor();
+    method public long getStartOffset();
+    method public long getStartTime();
+    method public boolean getTransformation(long, android.view.animation.Transformation);
+    method public boolean getTransformation(long, android.view.animation.Transformation, float);
+    method public int getZAdjustment();
+    method public boolean hasEnded();
+    method public boolean hasStarted();
+    method public void initialize(int, int, int, int);
+    method public boolean isFillEnabled();
+    method public boolean isInitialized();
+    method public void reset();
+    method protected float resolveSize(int, float, int, int);
+    method public void restrictDuration(long);
+    method public void scaleCurrentDuration(float);
+    method public void setAnimationListener(android.view.animation.Animation.AnimationListener);
+    method @Deprecated public void setBackgroundColor(@ColorInt int);
+    method @Deprecated public void setDetachWallpaper(boolean);
+    method public void setDuration(long);
+    method public void setFillAfter(boolean);
+    method public void setFillBefore(boolean);
+    method public void setFillEnabled(boolean);
+    method public void setInterpolator(android.content.Context, @AnimRes @InterpolatorRes int);
+    method public void setInterpolator(android.view.animation.Interpolator);
+    method public void setRepeatCount(int);
+    method public void setRepeatMode(int);
+    method public void setStartOffset(long);
+    method public void setStartTime(long);
+    method public void setZAdjustment(int);
+    method public void start();
+    method public void startNow();
+    method public boolean willChangeBounds();
+    method public boolean willChangeTransformationMatrix();
+    field public static final int ABSOLUTE = 0; // 0x0
+    field public static final int INFINITE = -1; // 0xffffffff
+    field public static final int RELATIVE_TO_PARENT = 2; // 0x2
+    field public static final int RELATIVE_TO_SELF = 1; // 0x1
+    field public static final int RESTART = 1; // 0x1
+    field public static final int REVERSE = 2; // 0x2
+    field public static final int START_ON_FIRST_FRAME = -1; // 0xffffffff
+    field public static final int ZORDER_BOTTOM = -1; // 0xffffffff
+    field public static final int ZORDER_NORMAL = 0; // 0x0
+    field public static final int ZORDER_TOP = 1; // 0x1
+  }
+
+  public static interface Animation.AnimationListener {
+    method public void onAnimationEnd(android.view.animation.Animation);
+    method public void onAnimationRepeat(android.view.animation.Animation);
+    method public void onAnimationStart(android.view.animation.Animation);
+  }
+
+  protected static class Animation.Description {
+    ctor protected Animation.Description();
+    field public int type;
+    field public float value;
+  }
+
+  public class AnimationSet extends android.view.animation.Animation {
+    ctor public AnimationSet(android.content.Context, android.util.AttributeSet);
+    ctor public AnimationSet(boolean);
+    method public void addAnimation(android.view.animation.Animation);
+    method protected android.view.animation.AnimationSet clone() throws java.lang.CloneNotSupportedException;
+    method public java.util.List<android.view.animation.Animation> getAnimations();
+  }
+
+  public class AnimationUtils {
+    ctor public AnimationUtils();
+    method public static long currentAnimationTimeMillis();
+    method public static android.view.animation.Animation loadAnimation(android.content.Context, @AnimRes int) throws android.content.res.Resources.NotFoundException;
+    method public static android.view.animation.Interpolator loadInterpolator(android.content.Context, @AnimRes @InterpolatorRes int) throws android.content.res.Resources.NotFoundException;
+    method public static android.view.animation.LayoutAnimationController loadLayoutAnimation(android.content.Context, @AnimRes int) throws android.content.res.Resources.NotFoundException;
+    method public static android.view.animation.Animation makeInAnimation(android.content.Context, boolean);
+    method public static android.view.animation.Animation makeInChildBottomAnimation(android.content.Context);
+    method public static android.view.animation.Animation makeOutAnimation(android.content.Context, boolean);
+  }
+
+  public class AnticipateInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public AnticipateInterpolator();
+    ctor public AnticipateInterpolator(float);
+    ctor public AnticipateInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class AnticipateOvershootInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public AnticipateOvershootInterpolator();
+    ctor public AnticipateOvershootInterpolator(float);
+    ctor public AnticipateOvershootInterpolator(float, float);
+    ctor public AnticipateOvershootInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public abstract class BaseInterpolator implements android.view.animation.Interpolator {
+    ctor public BaseInterpolator();
+  }
+
+  public class BounceInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public BounceInterpolator();
+    ctor public BounceInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class CycleInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public CycleInterpolator(float);
+    ctor public CycleInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class DecelerateInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public DecelerateInterpolator();
+    ctor public DecelerateInterpolator(float);
+    ctor public DecelerateInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class GridLayoutAnimationController extends android.view.animation.LayoutAnimationController {
+    ctor public GridLayoutAnimationController(android.content.Context, android.util.AttributeSet);
+    ctor public GridLayoutAnimationController(android.view.animation.Animation);
+    ctor public GridLayoutAnimationController(android.view.animation.Animation, float, float);
+    method public float getColumnDelay();
+    method public int getDirection();
+    method public int getDirectionPriority();
+    method public float getRowDelay();
+    method public void setColumnDelay(float);
+    method public void setDirection(int);
+    method public void setDirectionPriority(int);
+    method public void setRowDelay(float);
+    field public static final int DIRECTION_BOTTOM_TO_TOP = 2; // 0x2
+    field public static final int DIRECTION_HORIZONTAL_MASK = 1; // 0x1
+    field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1
+    field public static final int DIRECTION_TOP_TO_BOTTOM = 0; // 0x0
+    field public static final int DIRECTION_VERTICAL_MASK = 2; // 0x2
+    field public static final int PRIORITY_COLUMN = 1; // 0x1
+    field public static final int PRIORITY_NONE = 0; // 0x0
+    field public static final int PRIORITY_ROW = 2; // 0x2
+  }
+
+  public static class GridLayoutAnimationController.AnimationParameters extends android.view.animation.LayoutAnimationController.AnimationParameters {
+    ctor public GridLayoutAnimationController.AnimationParameters();
+    field public int column;
+    field public int columnsCount;
+    field public int row;
+    field public int rowsCount;
+  }
+
+  public interface Interpolator extends android.animation.TimeInterpolator {
+  }
+
+  public class LayoutAnimationController {
+    ctor public LayoutAnimationController(android.content.Context, android.util.AttributeSet);
+    ctor public LayoutAnimationController(android.view.animation.Animation);
+    ctor public LayoutAnimationController(android.view.animation.Animation, float);
+    method public android.view.animation.Animation getAnimation();
+    method public final android.view.animation.Animation getAnimationForView(android.view.View);
+    method public float getDelay();
+    method protected long getDelayForView(android.view.View);
+    method public android.view.animation.Interpolator getInterpolator();
+    method public int getOrder();
+    method protected int getTransformedIndex(android.view.animation.LayoutAnimationController.AnimationParameters);
+    method public boolean isDone();
+    method public void setAnimation(android.content.Context, @AnimRes int);
+    method public void setAnimation(android.view.animation.Animation);
+    method public void setDelay(float);
+    method public void setInterpolator(android.content.Context, @InterpolatorRes int);
+    method public void setInterpolator(android.view.animation.Interpolator);
+    method public void setOrder(int);
+    method public void start();
+    method public boolean willOverlap();
+    field public static final int ORDER_NORMAL = 0; // 0x0
+    field public static final int ORDER_RANDOM = 2; // 0x2
+    field public static final int ORDER_REVERSE = 1; // 0x1
+    field protected android.view.animation.Animation mAnimation;
+    field protected android.view.animation.Interpolator mInterpolator;
+    field protected java.util.Random mRandomizer;
+  }
+
+  public static class LayoutAnimationController.AnimationParameters {
+    ctor public LayoutAnimationController.AnimationParameters();
+    field public int count;
+    field public int index;
+  }
+
+  public class LinearInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public LinearInterpolator();
+    ctor public LinearInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class OvershootInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public OvershootInterpolator();
+    ctor public OvershootInterpolator(float);
+    ctor public OvershootInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class PathInterpolator extends android.view.animation.BaseInterpolator {
+    ctor public PathInterpolator(android.graphics.Path);
+    ctor public PathInterpolator(float, float);
+    ctor public PathInterpolator(float, float, float, float);
+    ctor public PathInterpolator(android.content.Context, android.util.AttributeSet);
+    method public float getInterpolation(float);
+  }
+
+  public class RotateAnimation extends android.view.animation.Animation {
+    ctor public RotateAnimation(android.content.Context, android.util.AttributeSet);
+    ctor public RotateAnimation(float, float);
+    ctor public RotateAnimation(float, float, float, float);
+    ctor public RotateAnimation(float, float, int, float, int, float);
+  }
+
+  public class ScaleAnimation extends android.view.animation.Animation {
+    ctor public ScaleAnimation(android.content.Context, android.util.AttributeSet);
+    ctor public ScaleAnimation(float, float, float, float);
+    ctor public ScaleAnimation(float, float, float, float, float, float);
+    ctor public ScaleAnimation(float, float, float, float, int, float, int, float);
+  }
+
+  public class Transformation {
+    ctor public Transformation();
+    method public void clear();
+    method public void compose(android.view.animation.Transformation);
+    method public float getAlpha();
+    method public android.graphics.Matrix getMatrix();
+    method public int getTransformationType();
+    method public void set(android.view.animation.Transformation);
+    method public void setAlpha(@FloatRange(from=0.0, to=1.0) float);
+    method public void setTransformationType(int);
+    method public String toShortString();
+    field public static final int TYPE_ALPHA = 1; // 0x1
+    field public static final int TYPE_BOTH = 3; // 0x3
+    field public static final int TYPE_IDENTITY = 0; // 0x0
+    field public static final int TYPE_MATRIX = 2; // 0x2
+    field protected float mAlpha;
+    field protected android.graphics.Matrix mMatrix;
+    field protected int mTransformationType;
+  }
+
+  public class TranslateAnimation extends android.view.animation.Animation {
+    ctor public TranslateAnimation(android.content.Context, android.util.AttributeSet);
+    ctor public TranslateAnimation(float, float, float, float);
+    ctor public TranslateAnimation(int, float, int, float, int, float, int, float);
+  }
+
+}
+
+package android.view.autofill {
+
+  public final class AutofillId implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.autofill.AutofillId> CREATOR;
+  }
+
+  public final class AutofillManager {
+    method public void cancel();
+    method public void commit();
+    method public void disableAutofillServices();
+    method @Nullable public android.content.ComponentName getAutofillServiceComponentName();
+    method @NonNull public java.util.List<java.lang.String> getAvailableFieldClassificationAlgorithms();
+    method @Nullable public String getDefaultFieldClassificationAlgorithm();
+    method @Nullable public android.view.autofill.AutofillId getNextAutofillId();
+    method @Nullable public android.service.autofill.UserData getUserData();
+    method @Nullable public String getUserDataId();
+    method public boolean hasEnabledAutofillServices();
+    method public boolean isAutofillSupported();
+    method public boolean isEnabled();
+    method public boolean isFieldClassificationEnabled();
+    method public void notifyValueChanged(android.view.View);
+    method public void notifyValueChanged(android.view.View, int, android.view.autofill.AutofillValue);
+    method public void notifyViewClicked(@NonNull android.view.View);
+    method public void notifyViewClicked(@NonNull android.view.View, int);
+    method public void notifyViewEntered(@NonNull android.view.View);
+    method public void notifyViewEntered(@NonNull android.view.View, int, @NonNull android.graphics.Rect);
+    method public void notifyViewExited(@NonNull android.view.View);
+    method public void notifyViewExited(@NonNull android.view.View, int);
+    method public void notifyViewVisibilityChanged(@NonNull android.view.View, boolean);
+    method public void notifyViewVisibilityChanged(@NonNull android.view.View, int, boolean);
+    method public void registerCallback(@Nullable android.view.autofill.AutofillManager.AutofillCallback);
+    method public void requestAutofill(@NonNull android.view.View);
+    method public void requestAutofill(@NonNull android.view.View, int, @NonNull android.graphics.Rect);
+    method public void setUserData(@Nullable android.service.autofill.UserData);
+    method public void unregisterCallback(@Nullable android.view.autofill.AutofillManager.AutofillCallback);
+    field public static final String EXTRA_ASSIST_STRUCTURE = "android.view.autofill.extra.ASSIST_STRUCTURE";
+    field public static final String EXTRA_AUTHENTICATION_RESULT = "android.view.autofill.extra.AUTHENTICATION_RESULT";
+    field public static final String EXTRA_AUTHENTICATION_RESULT_EPHEMERAL_DATASET = "android.view.autofill.extra.AUTHENTICATION_RESULT_EPHEMERAL_DATASET";
+    field public static final String EXTRA_CLIENT_STATE = "android.view.autofill.extra.CLIENT_STATE";
+    field public static final String EXTRA_INLINE_SUGGESTIONS_REQUEST = "android.view.autofill.extra.INLINE_SUGGESTIONS_REQUEST";
+  }
+
+  public abstract static class AutofillManager.AutofillCallback {
+    ctor public AutofillManager.AutofillCallback();
+    method public void onAutofillEvent(@NonNull android.view.View, int);
+    method public void onAutofillEvent(@NonNull android.view.View, int, int);
+    field public static final int EVENT_INPUT_HIDDEN = 2; // 0x2
+    field public static final int EVENT_INPUT_SHOWN = 1; // 0x1
+    field public static final int EVENT_INPUT_UNAVAILABLE = 3; // 0x3
+  }
+
+  public final class AutofillValue implements android.os.Parcelable {
+    method public int describeContents();
+    method public static android.view.autofill.AutofillValue forDate(long);
+    method public static android.view.autofill.AutofillValue forList(int);
+    method public static android.view.autofill.AutofillValue forText(@Nullable CharSequence);
+    method public static android.view.autofill.AutofillValue forToggle(boolean);
+    method public long getDateValue();
+    method public int getListValue();
+    method @NonNull public CharSequence getTextValue();
+    method public boolean getToggleValue();
+    method public boolean isDate();
+    method public boolean isList();
+    method public boolean isText();
+    method public boolean isToggle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.autofill.AutofillValue> CREATOR;
+  }
+
+}
+
+package android.view.contentcapture {
+
+  public final class ContentCaptureCondition implements android.os.Parcelable {
+    ctor public ContentCaptureCondition(@NonNull android.content.LocusId, int);
+    method public int describeContents();
+    method public int getFlags();
+    method @NonNull public android.content.LocusId getLocusId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureCondition> CREATOR;
+    field public static final int FLAG_IS_REGEX = 2; // 0x2
+  }
+
+  public final class ContentCaptureContext implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.view.contentcapture.ContentCaptureContext forLocusId(@NonNull String);
+    method @Nullable public android.os.Bundle getExtras();
+    method @Nullable public android.content.LocusId getLocusId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureContext> CREATOR;
+  }
+
+  public static final class ContentCaptureContext.Builder {
+    ctor public ContentCaptureContext.Builder(@NonNull android.content.LocusId);
+    method @NonNull public android.view.contentcapture.ContentCaptureContext build();
+    method @NonNull public android.view.contentcapture.ContentCaptureContext.Builder setExtras(@NonNull android.os.Bundle);
+  }
+
+  public final class ContentCaptureManager {
+    method @Nullable public java.util.Set<android.view.contentcapture.ContentCaptureCondition> getContentCaptureConditions();
+    method @Nullable public android.content.ComponentName getServiceComponentName();
+    method public boolean isContentCaptureEnabled();
+    method public void removeData(@NonNull android.view.contentcapture.DataRemovalRequest);
+    method public void setContentCaptureEnabled(boolean);
+    method public void shareData(@NonNull android.view.contentcapture.DataShareRequest, @NonNull java.util.concurrent.Executor, @NonNull android.view.contentcapture.DataShareWriteAdapter);
+    field public static final int DATA_SHARE_ERROR_CONCURRENT_REQUEST = 2; // 0x2
+    field public static final int DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED = 3; // 0x3
+    field public static final int DATA_SHARE_ERROR_UNKNOWN = 1; // 0x1
+  }
+
+  public abstract class ContentCaptureSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public final android.view.contentcapture.ContentCaptureSession createContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext);
+    method public final void destroy();
+    method @Nullable public final android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
+    method @NonNull public final android.view.contentcapture.ContentCaptureSessionId getContentCaptureSessionId();
+    method @NonNull public android.view.autofill.AutofillId newAutofillId(@NonNull android.view.autofill.AutofillId, long);
+    method @NonNull public final android.view.ViewStructure newViewStructure(@NonNull android.view.View);
+    method @NonNull public final android.view.ViewStructure newVirtualViewStructure(@NonNull android.view.autofill.AutofillId, long);
+    method public final void notifySessionPaused();
+    method public final void notifySessionResumed();
+    method public final void notifyViewAppeared(@NonNull android.view.ViewStructure);
+    method public final void notifyViewDisappeared(@NonNull android.view.autofill.AutofillId);
+    method public final void notifyViewInsetsChanged(@NonNull android.graphics.Insets);
+    method public final void notifyViewTextChanged(@NonNull android.view.autofill.AutofillId, @Nullable CharSequence);
+    method public final void notifyViewsDisappeared(@NonNull android.view.autofill.AutofillId, @NonNull long[]);
+    method public final void setContentCaptureContext(@Nullable android.view.contentcapture.ContentCaptureContext);
+  }
+
+  public final class ContentCaptureSessionId implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureSessionId> CREATOR;
+  }
+
+  public final class DataRemovalRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.view.contentcapture.DataRemovalRequest.LocusIdRequest> getLocusIdRequests();
+    method @NonNull public String getPackageName();
+    method public boolean isForEverything();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.DataRemovalRequest> CREATOR;
+    field public static final int FLAG_IS_PREFIX = 1; // 0x1
+  }
+
+  public static final class DataRemovalRequest.Builder {
+    ctor public DataRemovalRequest.Builder();
+    method @NonNull public android.view.contentcapture.DataRemovalRequest.Builder addLocusId(@NonNull android.content.LocusId, int);
+    method @NonNull public android.view.contentcapture.DataRemovalRequest build();
+    method @NonNull public android.view.contentcapture.DataRemovalRequest.Builder forEverything();
+  }
+
+  public final class DataRemovalRequest.LocusIdRequest {
+    method @NonNull public int getFlags();
+    method @NonNull public android.content.LocusId getLocusId();
+  }
+
+  public final class DataShareRequest implements android.os.Parcelable {
+    ctor public DataShareRequest(@Nullable android.content.LocusId, @NonNull String);
+    method public int describeContents();
+    method @Nullable public android.content.LocusId getLocusId();
+    method @NonNull public String getMimeType();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.DataShareRequest> CREATOR;
+  }
+
+  public interface DataShareWriteAdapter {
+    method public default void onError(int);
+    method public void onRejected();
+    method public void onWrite(@NonNull android.os.ParcelFileDescriptor);
+  }
+
+}
+
+package android.view.displayhash {
+
+  public final class DisplayHash implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.displayhash.DisplayHash> CREATOR;
+  }
+
+  public final class DisplayHashManager {
+    method @NonNull public java.util.Set<java.lang.String> getSupportedHashAlgorithms();
+    method @Nullable public android.view.displayhash.VerifiedDisplayHash verifyDisplayHash(@NonNull android.view.displayhash.DisplayHash);
+  }
+
+  public interface DisplayHashResultCallback {
+    method public void onDisplayHashError(int);
+    method public void onDisplayHashResult(@NonNull android.view.displayhash.DisplayHash);
+    field public static final int DISPLAY_HASH_ERROR_INVALID_BOUNDS = -2; // 0xfffffffe
+    field public static final int DISPLAY_HASH_ERROR_INVALID_HASH_ALGORITHM = -5; // 0xfffffffb
+    field public static final int DISPLAY_HASH_ERROR_MISSING_WINDOW = -3; // 0xfffffffd
+    field public static final int DISPLAY_HASH_ERROR_NOT_VISIBLE_ON_SCREEN = -4; // 0xfffffffc
+    field public static final int DISPLAY_HASH_ERROR_TOO_MANY_REQUESTS = -6; // 0xfffffffa
+    field public static final int DISPLAY_HASH_ERROR_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class VerifiedDisplayHash implements android.os.Parcelable {
+    ctor public VerifiedDisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[]);
+    method public int describeContents();
+    method @NonNull public android.graphics.Rect getBoundsInWindow();
+    method @NonNull public String getHashAlgorithm();
+    method @NonNull public byte[] getImageHash();
+    method public long getTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.displayhash.VerifiedDisplayHash> CREATOR;
+  }
+
+}
+
+package android.view.inputmethod {
+
+  public class BaseInputConnection implements android.view.inputmethod.InputConnection {
+    ctor public BaseInputConnection(android.view.View, boolean);
+    method public boolean beginBatchEdit();
+    method public boolean clearMetaKeyStates(int);
+    method @CallSuper public void closeConnection();
+    method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
+    method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
+    method public boolean commitText(CharSequence, int);
+    method public boolean deleteSurroundingText(int, int);
+    method public boolean deleteSurroundingTextInCodePoints(int, int);
+    method public boolean endBatchEdit();
+    method public boolean finishComposingText();
+    method public static int getComposingSpanEnd(android.text.Spannable);
+    method public static int getComposingSpanStart(android.text.Spannable);
+    method public int getCursorCapsMode(int);
+    method public android.text.Editable getEditable();
+    method public android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
+    method public android.os.Handler getHandler();
+    method public CharSequence getSelectedText(int);
+    method @Nullable public CharSequence getTextAfterCursor(@IntRange(from=0) int, int);
+    method @Nullable public CharSequence getTextBeforeCursor(@IntRange(from=0) int, int);
+    method public boolean performContextMenuAction(int);
+    method public boolean performEditorAction(int);
+    method public boolean performPrivateCommand(String, android.os.Bundle);
+    method public static final void removeComposingSpans(android.text.Spannable);
+    method public boolean reportFullscreenMode(boolean);
+    method public boolean requestCursorUpdates(int);
+    method public boolean sendKeyEvent(android.view.KeyEvent);
+    method public boolean setComposingRegion(int, int);
+    method public static void setComposingSpans(android.text.Spannable);
+    method public boolean setComposingText(CharSequence, int);
+    method public boolean setSelection(int, int);
+  }
+
+  public final class CompletionInfo implements android.os.Parcelable {
+    ctor public CompletionInfo(long, int, CharSequence);
+    ctor public CompletionInfo(long, int, CharSequence, CharSequence);
+    method public int describeContents();
+    method public long getId();
+    method public CharSequence getLabel();
+    method public int getPosition();
+    method public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.CompletionInfo> CREATOR;
+  }
+
+  public final class CorrectionInfo implements android.os.Parcelable {
+    ctor public CorrectionInfo(int, CharSequence, CharSequence);
+    method public int describeContents();
+    method public CharSequence getNewText();
+    method public int getOffset();
+    method public CharSequence getOldText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.CorrectionInfo> CREATOR;
+  }
+
+  public final class CursorAnchorInfo implements android.os.Parcelable {
+    ctor public CursorAnchorInfo(android.os.Parcel);
+    method public int describeContents();
+    method public android.graphics.RectF getCharacterBounds(int);
+    method public int getCharacterBoundsFlags(int);
+    method public CharSequence getComposingText();
+    method public int getComposingTextStart();
+    method public float getInsertionMarkerBaseline();
+    method public float getInsertionMarkerBottom();
+    method public int getInsertionMarkerFlags();
+    method public float getInsertionMarkerHorizontal();
+    method public float getInsertionMarkerTop();
+    method public android.graphics.Matrix getMatrix();
+    method public int getSelectionEnd();
+    method public int getSelectionStart();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.CursorAnchorInfo> CREATOR;
+    field public static final int FLAG_HAS_INVISIBLE_REGION = 2; // 0x2
+    field public static final int FLAG_HAS_VISIBLE_REGION = 1; // 0x1
+    field public static final int FLAG_IS_RTL = 4; // 0x4
+  }
+
+  public static final class CursorAnchorInfo.Builder {
+    ctor public CursorAnchorInfo.Builder();
+    method public android.view.inputmethod.CursorAnchorInfo.Builder addCharacterBounds(int, float, float, float, float, int);
+    method public android.view.inputmethod.CursorAnchorInfo build();
+    method public void reset();
+    method public android.view.inputmethod.CursorAnchorInfo.Builder setComposingText(int, CharSequence);
+    method public android.view.inputmethod.CursorAnchorInfo.Builder setInsertionMarkerLocation(float, float, float, float, int);
+    method public android.view.inputmethod.CursorAnchorInfo.Builder setMatrix(android.graphics.Matrix);
+    method public android.view.inputmethod.CursorAnchorInfo.Builder setSelectionRange(int, int);
+  }
+
+  public class EditorInfo implements android.text.InputType android.os.Parcelable {
+    ctor public EditorInfo();
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method @Nullable public CharSequence getInitialSelectedText(int);
+    method @Nullable public android.view.inputmethod.SurroundingText getInitialSurroundingText(@IntRange(from=0) int, @IntRange(from=0) int, int);
+    method @Nullable public CharSequence getInitialTextAfterCursor(@IntRange(from=0) int, int);
+    method @Nullable public CharSequence getInitialTextBeforeCursor(@IntRange(from=0) int, int);
+    method public final void makeCompatible(int);
+    method public void setInitialSurroundingSubText(@NonNull CharSequence, int);
+    method public void setInitialSurroundingText(@NonNull CharSequence);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.EditorInfo> CREATOR;
+    field public static final int IME_ACTION_DONE = 6; // 0x6
+    field public static final int IME_ACTION_GO = 2; // 0x2
+    field public static final int IME_ACTION_NEXT = 5; // 0x5
+    field public static final int IME_ACTION_NONE = 1; // 0x1
+    field public static final int IME_ACTION_PREVIOUS = 7; // 0x7
+    field public static final int IME_ACTION_SEARCH = 3; // 0x3
+    field public static final int IME_ACTION_SEND = 4; // 0x4
+    field public static final int IME_ACTION_UNSPECIFIED = 0; // 0x0
+    field public static final int IME_FLAG_FORCE_ASCII = -2147483648; // 0x80000000
+    field public static final int IME_FLAG_NAVIGATE_NEXT = 134217728; // 0x8000000
+    field public static final int IME_FLAG_NAVIGATE_PREVIOUS = 67108864; // 0x4000000
+    field public static final int IME_FLAG_NO_ACCESSORY_ACTION = 536870912; // 0x20000000
+    field public static final int IME_FLAG_NO_ENTER_ACTION = 1073741824; // 0x40000000
+    field public static final int IME_FLAG_NO_EXTRACT_UI = 268435456; // 0x10000000
+    field public static final int IME_FLAG_NO_FULLSCREEN = 33554432; // 0x2000000
+    field public static final int IME_FLAG_NO_PERSONALIZED_LEARNING = 16777216; // 0x1000000
+    field public static final int IME_MASK_ACTION = 255; // 0xff
+    field public static final int IME_NULL = 0; // 0x0
+    field public int actionId;
+    field public CharSequence actionLabel;
+    field @Nullable public String[] contentMimeTypes;
+    field public android.os.Bundle extras;
+    field public int fieldId;
+    field public String fieldName;
+    field @Nullable public android.os.LocaleList hintLocales;
+    field public CharSequence hintText;
+    field public int imeOptions;
+    field public int initialCapsMode;
+    field public int initialSelEnd;
+    field public int initialSelStart;
+    field public int inputType;
+    field public CharSequence label;
+    field public String packageName;
+    field public String privateImeOptions;
+  }
+
+  public class ExtractedText implements android.os.Parcelable {
+    ctor public ExtractedText();
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.ExtractedText> CREATOR;
+    field public static final int FLAG_SELECTING = 2; // 0x2
+    field public static final int FLAG_SINGLE_LINE = 1; // 0x1
+    field public int flags;
+    field public CharSequence hint;
+    field public int partialEndOffset;
+    field public int partialStartOffset;
+    field public int selectionEnd;
+    field public int selectionStart;
+    field public int startOffset;
+    field public CharSequence text;
+  }
+
+  public class ExtractedTextRequest implements android.os.Parcelable {
+    ctor public ExtractedTextRequest();
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.ExtractedTextRequest> CREATOR;
+    field public int flags;
+    field public int hintMaxChars;
+    field public int hintMaxLines;
+    field public int token;
+  }
+
+  public final class InlineSuggestion implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.inputmethod.InlineSuggestionInfo getInfo();
+    method public void inflate(@NonNull android.content.Context, @NonNull android.util.Size, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.widget.inline.InlineContentView>);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestion> CREATOR;
+  }
+
+  public final class InlineSuggestionInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String[] getAutofillHints();
+    method @NonNull public android.widget.inline.InlinePresentationSpec getInlinePresentationSpec();
+    method @NonNull public String getSource();
+    method @NonNull public String getType();
+    method public boolean isPinned();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionInfo> CREATOR;
+    field public static final String SOURCE_AUTOFILL = "android:autofill";
+    field public static final String SOURCE_PLATFORM = "android:platform";
+    field public static final String TYPE_ACTION = "android:autofill:action";
+    field public static final String TYPE_SUGGESTION = "android:autofill:suggestion";
+  }
+
+  public final class InlineSuggestionsRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getHostPackageName();
+    method @NonNull public java.util.List<android.widget.inline.InlinePresentationSpec> getInlinePresentationSpecs();
+    method @Nullable public android.widget.inline.InlinePresentationSpec getInlineTooltipPresentationSpec();
+    method public int getMaxSuggestionCount();
+    method @NonNull public android.os.LocaleList getSupportedLocales();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionsRequest> CREATOR;
+    field public static final int SUGGESTION_COUNT_UNLIMITED = 2147483647; // 0x7fffffff
+  }
+
+  public static final class InlineSuggestionsRequest.Builder {
+    ctor public InlineSuggestionsRequest.Builder(@NonNull java.util.List<android.widget.inline.InlinePresentationSpec>);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder addInlinePresentationSpecs(@NonNull android.widget.inline.InlinePresentationSpec);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest build();
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setInlinePresentationSpecs(@NonNull java.util.List<android.widget.inline.InlinePresentationSpec>);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setInlineTooltipPresentationSpec(@NonNull android.widget.inline.InlinePresentationSpec);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setMaxSuggestionCount(int);
+    method @NonNull public android.view.inputmethod.InlineSuggestionsRequest.Builder setSupportedLocales(@NonNull android.os.LocaleList);
+  }
+
+  public final class InlineSuggestionsResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.view.inputmethod.InlineSuggestion> getInlineSuggestions();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InlineSuggestionsResponse> CREATOR;
+  }
+
+  public final class InputBinding implements android.os.Parcelable {
+    ctor public InputBinding(android.view.inputmethod.InputConnection, android.os.IBinder, int, int);
+    ctor public InputBinding(android.view.inputmethod.InputConnection, android.view.inputmethod.InputBinding);
+    method public int describeContents();
+    method public android.view.inputmethod.InputConnection getConnection();
+    method public android.os.IBinder getConnectionToken();
+    method public int getPid();
+    method public int getUid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputBinding> CREATOR;
+  }
+
+  public interface InputConnection {
+    method public boolean beginBatchEdit();
+    method public boolean clearMetaKeyStates(int);
+    method public void closeConnection();
+    method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(@NonNull android.view.inputmethod.InputContentInfo, int, @Nullable android.os.Bundle);
+    method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
+    method public boolean commitText(CharSequence, int);
+    method public boolean deleteSurroundingText(int, int);
+    method public boolean deleteSurroundingTextInCodePoints(int, int);
+    method public boolean endBatchEdit();
+    method public boolean finishComposingText();
+    method public int getCursorCapsMode(int);
+    method public android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
+    method public android.os.Handler getHandler();
+    method public CharSequence getSelectedText(int);
+    method @Nullable public default android.view.inputmethod.SurroundingText getSurroundingText(@IntRange(from=0) int, @IntRange(from=0) int, int);
+    method @Nullable public CharSequence getTextAfterCursor(@IntRange(from=0) int, int);
+    method @Nullable public CharSequence getTextBeforeCursor(@IntRange(from=0) int, int);
+    method public boolean performContextMenuAction(int);
+    method public boolean performEditorAction(int);
+    method public boolean performPrivateCommand(String, android.os.Bundle);
+    method public default boolean performSpellCheck();
+    method public boolean reportFullscreenMode(boolean);
+    method public boolean requestCursorUpdates(int);
+    method public boolean sendKeyEvent(android.view.KeyEvent);
+    method public boolean setComposingRegion(int, int);
+    method public boolean setComposingText(CharSequence, int);
+    method public default boolean setImeConsumesInput(boolean);
+    method public boolean setSelection(int, int);
+    field public static final int CURSOR_UPDATE_IMMEDIATE = 1; // 0x1
+    field public static final int CURSOR_UPDATE_MONITOR = 2; // 0x2
+    field public static final int GET_EXTRACTED_TEXT_MONITOR = 1; // 0x1
+    field public static final int GET_TEXT_WITH_STYLES = 1; // 0x1
+    field public static final int INPUT_CONTENT_GRANT_READ_URI_PERMISSION = 1; // 0x1
+  }
+
+  public class InputConnectionWrapper implements android.view.inputmethod.InputConnection {
+    ctor public InputConnectionWrapper(android.view.inputmethod.InputConnection, boolean);
+    method public boolean beginBatchEdit();
+    method public boolean clearMetaKeyStates(int);
+    method public void closeConnection();
+    method public boolean commitCompletion(android.view.inputmethod.CompletionInfo);
+    method public boolean commitContent(android.view.inputmethod.InputContentInfo, int, android.os.Bundle);
+    method public boolean commitCorrection(android.view.inputmethod.CorrectionInfo);
+    method public boolean commitText(CharSequence, int);
+    method public boolean deleteSurroundingText(int, int);
+    method public boolean deleteSurroundingTextInCodePoints(int, int);
+    method public boolean endBatchEdit();
+    method public boolean finishComposingText();
+    method public int getCursorCapsMode(int);
+    method public android.view.inputmethod.ExtractedText getExtractedText(android.view.inputmethod.ExtractedTextRequest, int);
+    method public android.os.Handler getHandler();
+    method public CharSequence getSelectedText(int);
+    method @Nullable public CharSequence getTextAfterCursor(@IntRange(from=0) int, int);
+    method @Nullable public CharSequence getTextBeforeCursor(@IntRange(from=0) int, int);
+    method public boolean performContextMenuAction(int);
+    method public boolean performEditorAction(int);
+    method public boolean performPrivateCommand(String, android.os.Bundle);
+    method public boolean reportFullscreenMode(boolean);
+    method public boolean requestCursorUpdates(int);
+    method public boolean sendKeyEvent(android.view.KeyEvent);
+    method public boolean setComposingRegion(int, int);
+    method public boolean setComposingText(CharSequence, int);
+    method public boolean setSelection(int, int);
+    method public void setTarget(android.view.inputmethod.InputConnection);
+  }
+
+  public final class InputContentInfo implements android.os.Parcelable {
+    ctor public InputContentInfo(@NonNull android.net.Uri, @NonNull android.content.ClipDescription);
+    ctor public InputContentInfo(@NonNull android.net.Uri, @NonNull android.content.ClipDescription, @Nullable android.net.Uri);
+    method public int describeContents();
+    method @NonNull public android.net.Uri getContentUri();
+    method @NonNull public android.content.ClipDescription getDescription();
+    method @Nullable public android.net.Uri getLinkUri();
+    method public void releasePermission();
+    method public void requestPermission();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputContentInfo> CREATOR;
+  }
+
+  public interface InputMethod {
+    method @MainThread public void attachToken(android.os.IBinder);
+    method @MainThread public void bindInput(android.view.inputmethod.InputBinding);
+    method @MainThread public void changeInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
+    method @MainThread public void createSession(android.view.inputmethod.InputMethod.SessionCallback);
+    method @MainThread public void hideSoftInput(int, android.os.ResultReceiver);
+    method @MainThread public void restartInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+    method @MainThread public void revokeSession(android.view.inputmethod.InputMethodSession);
+    method @MainThread public void setSessionEnabled(android.view.inputmethod.InputMethodSession, boolean);
+    method @MainThread public void showSoftInput(int, android.os.ResultReceiver);
+    method @MainThread public void startInput(android.view.inputmethod.InputConnection, android.view.inputmethod.EditorInfo);
+    method @MainThread public void unbindInput();
+    field public static final String SERVICE_INTERFACE = "android.view.InputMethod";
+    field public static final String SERVICE_META_DATA = "android.view.im";
+    field public static final int SHOW_EXPLICIT = 1; // 0x1
+    field public static final int SHOW_FORCED = 2; // 0x2
+  }
+
+  public static interface InputMethod.SessionCallback {
+    method public void sessionCreated(android.view.inputmethod.InputMethodSession);
+  }
+
+  public final class InputMethodInfo implements android.os.Parcelable {
+    ctor public InputMethodInfo(android.content.Context, android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    ctor public InputMethodInfo(String, String, CharSequence, String);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public android.content.ComponentName getComponent();
+    method public int getConfigChanges();
+    method public String getId();
+    method public int getIsDefaultResourceId();
+    method public String getPackageName();
+    method public android.content.pm.ServiceInfo getServiceInfo();
+    method public String getServiceName();
+    method public String getSettingsActivity();
+    method public android.view.inputmethod.InputMethodSubtype getSubtypeAt(int);
+    method public int getSubtypeCount();
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    method public boolean shouldShowInInputMethodPicker();
+    method public boolean suppressesSpellChecker();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputMethodInfo> CREATOR;
+  }
+
+  public final class InputMethodManager {
+    method public void dispatchKeyEventFromInputMethod(@Nullable android.view.View, @NonNull android.view.KeyEvent);
+    method public void displayCompletions(android.view.View, android.view.inputmethod.CompletionInfo[]);
+    method public android.view.inputmethod.InputMethodSubtype getCurrentInputMethodSubtype();
+    method public java.util.List<android.view.inputmethod.InputMethodInfo> getEnabledInputMethodList();
+    method public java.util.List<android.view.inputmethod.InputMethodSubtype> getEnabledInputMethodSubtypeList(android.view.inputmethod.InputMethodInfo, boolean);
+    method public java.util.List<android.view.inputmethod.InputMethodInfo> getInputMethodList();
+    method public android.view.inputmethod.InputMethodSubtype getLastInputMethodSubtype();
+    method public java.util.Map<android.view.inputmethod.InputMethodInfo,java.util.List<android.view.inputmethod.InputMethodSubtype>> getShortcutInputMethodsAndSubtypes();
+    method @Deprecated public void hideSoftInputFromInputMethod(android.os.IBinder, int);
+    method public boolean hideSoftInputFromWindow(android.os.IBinder, int);
+    method public boolean hideSoftInputFromWindow(android.os.IBinder, int, android.os.ResultReceiver);
+    method @Deprecated public void hideStatusIcon(android.os.IBinder);
+    method public boolean isAcceptingText();
+    method public boolean isActive(android.view.View);
+    method public boolean isActive();
+    method public boolean isFullscreenMode();
+    method public boolean isInputMethodSuppressingSpellChecker();
+    method @Deprecated public boolean isWatchingCursor(android.view.View);
+    method public void restartInput(android.view.View);
+    method public void sendAppPrivateCommand(android.view.View, String, android.os.Bundle);
+    method @Deprecated public void setAdditionalInputMethodSubtypes(String, android.view.inputmethod.InputMethodSubtype[]);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setCurrentInputMethodSubtype(android.view.inputmethod.InputMethodSubtype);
+    method @Deprecated public void setInputMethod(android.os.IBinder, String);
+    method @Deprecated public void setInputMethodAndSubtype(@NonNull android.os.IBinder, String, android.view.inputmethod.InputMethodSubtype);
+    method @Deprecated public boolean shouldOfferSwitchingToNextInputMethod(android.os.IBinder);
+    method public void showInputMethodAndSubtypeEnabler(String);
+    method public void showInputMethodPicker();
+    method public boolean showSoftInput(android.view.View, int);
+    method public boolean showSoftInput(android.view.View, int, android.os.ResultReceiver);
+    method @Deprecated public void showSoftInputFromInputMethod(android.os.IBinder, int);
+    method @Deprecated public void showStatusIcon(android.os.IBinder, String, @DrawableRes int);
+    method @Deprecated public boolean switchToLastInputMethod(android.os.IBinder);
+    method @Deprecated public boolean switchToNextInputMethod(android.os.IBinder, boolean);
+    method @Deprecated public void toggleSoftInput(int, int);
+    method @Deprecated public void toggleSoftInputFromWindow(android.os.IBinder, int, int);
+    method @Deprecated public void updateCursor(android.view.View, int, int, int, int);
+    method public void updateCursorAnchorInfo(android.view.View, android.view.inputmethod.CursorAnchorInfo);
+    method public void updateExtractedText(android.view.View, int, android.view.inputmethod.ExtractedText);
+    method public void updateSelection(android.view.View, int, int, int, int);
+    method @Deprecated public void viewClicked(android.view.View);
+    field public static final int HIDE_IMPLICIT_ONLY = 1; // 0x1
+    field public static final int HIDE_NOT_ALWAYS = 2; // 0x2
+    field public static final int RESULT_HIDDEN = 3; // 0x3
+    field public static final int RESULT_SHOWN = 2; // 0x2
+    field public static final int RESULT_UNCHANGED_HIDDEN = 1; // 0x1
+    field public static final int RESULT_UNCHANGED_SHOWN = 0; // 0x0
+    field public static final int SHOW_FORCED = 2; // 0x2
+    field public static final int SHOW_IMPLICIT = 1; // 0x1
+  }
+
+  public interface InputMethodSession {
+    method public void appPrivateCommand(String, android.os.Bundle);
+    method public void dispatchGenericMotionEvent(int, android.view.MotionEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public void dispatchKeyEvent(int, android.view.KeyEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public void dispatchTrackballEvent(int, android.view.MotionEvent, android.view.inputmethod.InputMethodSession.EventCallback);
+    method public void displayCompletions(android.view.inputmethod.CompletionInfo[]);
+    method public void finishInput();
+    method @Deprecated public void toggleSoftInput(int, int);
+    method public void updateCursor(android.graphics.Rect);
+    method public void updateCursorAnchorInfo(android.view.inputmethod.CursorAnchorInfo);
+    method public void updateExtractedText(int, android.view.inputmethod.ExtractedText);
+    method public void updateSelection(int, int, int, int, int, int);
+    method public void viewClicked(boolean);
+  }
+
+  public static interface InputMethodSession.EventCallback {
+    method public void finishedEvent(int, boolean);
+  }
+
+  public final class InputMethodSubtype implements android.os.Parcelable {
+    ctor @Deprecated public InputMethodSubtype(int, int, String, String, String, boolean, boolean);
+    ctor @Deprecated public InputMethodSubtype(int, int, String, String, String, boolean, boolean, int);
+    method public boolean containsExtraValueKey(String);
+    method public int describeContents();
+    method @NonNull public CharSequence getDisplayName(android.content.Context, String, android.content.pm.ApplicationInfo);
+    method public String getExtraValue();
+    method public String getExtraValueOf(String);
+    method public int getIconResId();
+    method @NonNull public String getLanguageTag();
+    method @Deprecated @NonNull public String getLocale();
+    method public String getMode();
+    method public int getNameResId();
+    method public boolean isAsciiCapable();
+    method public boolean isAuxiliary();
+    method public boolean overridesImplicitlyEnabledSubtype();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputMethodSubtype> CREATOR;
+  }
+
+  public static class InputMethodSubtype.InputMethodSubtypeBuilder {
+    ctor public InputMethodSubtype.InputMethodSubtypeBuilder();
+    method public android.view.inputmethod.InputMethodSubtype build();
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setIsAsciiCapable(boolean);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setIsAuxiliary(boolean);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setLanguageTag(String);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setOverridesImplicitlyEnabledSubtype(boolean);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeExtraValue(String);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeIconResId(int);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeId(int);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeLocale(String);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeMode(String);
+    method public android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder setSubtypeNameResId(int);
+  }
+
+  public final class SurroundingText implements android.os.Parcelable {
+    ctor public SurroundingText(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0xffffffff) int);
+    method public int describeContents();
+    method @IntRange(from=0xffffffff) public int getOffset();
+    method @IntRange(from=0) public int getSelectionEnd();
+    method @IntRange(from=0) public int getSelectionStart();
+    method @NonNull public CharSequence getText();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.SurroundingText> CREATOR;
+  }
+
+}
+
+package android.view.inspector {
+
+  public interface InspectionCompanion<T> {
+    method public void mapProperties(@NonNull android.view.inspector.PropertyMapper);
+    method public void readProperties(@NonNull T, @NonNull android.view.inspector.PropertyReader);
+  }
+
+  public static class InspectionCompanion.UninitializedPropertyMapException extends java.lang.RuntimeException {
+    ctor public InspectionCompanion.UninitializedPropertyMapException();
+  }
+
+  public interface InspectionCompanionProvider {
+    method @Nullable public <T> android.view.inspector.InspectionCompanion<T> provide(@NonNull Class<T>);
+  }
+
+  public final class IntFlagMapping {
+    ctor public IntFlagMapping();
+    method public void add(int, int, @NonNull String);
+    method @NonNull public java.util.Set<java.lang.String> get(int);
+  }
+
+  public interface PropertyMapper {
+    method public int mapBoolean(@NonNull String, @AttrRes int);
+    method public int mapByte(@NonNull String, @AttrRes int);
+    method public int mapChar(@NonNull String, @AttrRes int);
+    method public int mapColor(@NonNull String, @AttrRes int);
+    method public int mapDouble(@NonNull String, @AttrRes int);
+    method public int mapFloat(@NonNull String, @AttrRes int);
+    method public int mapGravity(@NonNull String, @AttrRes int);
+    method public int mapInt(@NonNull String, @AttrRes int);
+    method public int mapIntEnum(@NonNull String, @AttrRes int, @NonNull java.util.function.IntFunction<java.lang.String>);
+    method public int mapIntFlag(@NonNull String, @AttrRes int, @NonNull java.util.function.IntFunction<java.util.Set<java.lang.String>>);
+    method public int mapLong(@NonNull String, @AttrRes int);
+    method public int mapObject(@NonNull String, @AttrRes int);
+    method public int mapResourceId(@NonNull String, @AttrRes int);
+    method public int mapShort(@NonNull String, @AttrRes int);
+  }
+
+  public static class PropertyMapper.PropertyConflictException extends java.lang.RuntimeException {
+    ctor public PropertyMapper.PropertyConflictException(@NonNull String, @NonNull String, @NonNull String);
+  }
+
+  public interface PropertyReader {
+    method public void readBoolean(int, boolean);
+    method public void readByte(int, byte);
+    method public void readChar(int, char);
+    method public void readColor(int, @ColorInt int);
+    method public void readColor(int, @ColorLong long);
+    method public void readColor(int, @Nullable android.graphics.Color);
+    method public void readDouble(int, double);
+    method public void readFloat(int, float);
+    method public void readGravity(int, int);
+    method public void readInt(int, int);
+    method public void readIntEnum(int, int);
+    method public void readIntFlag(int, int);
+    method public void readLong(int, long);
+    method public void readObject(int, @Nullable Object);
+    method public void readResourceId(int, @AnyRes int);
+    method public void readShort(int, short);
+  }
+
+  public static class PropertyReader.PropertyTypeMismatchException extends java.lang.RuntimeException {
+    ctor public PropertyReader.PropertyTypeMismatchException(int, @NonNull String, @NonNull String, @Nullable String);
+    ctor public PropertyReader.PropertyTypeMismatchException(int, @NonNull String, @NonNull String);
+  }
+
+  public class StaticInspectionCompanionProvider implements android.view.inspector.InspectionCompanionProvider {
+    ctor public StaticInspectionCompanionProvider();
+    method @Nullable public <T> android.view.inspector.InspectionCompanion<T> provide(@NonNull Class<T>);
+  }
+
+  public final class WindowInspector {
+    method @NonNull public static java.util.List<android.view.View> getGlobalWindowViews();
+  }
+
+}
+
+package android.view.textclassifier {
+
+  public final class ConversationAction implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.app.RemoteAction getAction();
+    method @FloatRange(from=0, to=1) public float getConfidenceScore();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public CharSequence getTextReply();
+    method @NonNull public String getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationAction> CREATOR;
+    field public static final String TYPE_CALL_PHONE = "call_phone";
+    field public static final String TYPE_CREATE_REMINDER = "create_reminder";
+    field public static final String TYPE_OPEN_URL = "open_url";
+    field public static final String TYPE_SEND_EMAIL = "send_email";
+    field public static final String TYPE_SEND_SMS = "send_sms";
+    field public static final String TYPE_SHARE_LOCATION = "share_location";
+    field public static final String TYPE_TEXT_REPLY = "text_reply";
+    field public static final String TYPE_TRACK_FLIGHT = "track_flight";
+    field public static final String TYPE_VIEW_CALENDAR = "view_calendar";
+    field public static final String TYPE_VIEW_MAP = "view_map";
+  }
+
+  public static final class ConversationAction.Builder {
+    ctor public ConversationAction.Builder(@NonNull String);
+    method @NonNull public android.view.textclassifier.ConversationAction build();
+    method @NonNull public android.view.textclassifier.ConversationAction.Builder setAction(@Nullable android.app.RemoteAction);
+    method @NonNull public android.view.textclassifier.ConversationAction.Builder setConfidenceScore(@FloatRange(from=0, to=1) float);
+    method @NonNull public android.view.textclassifier.ConversationAction.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.ConversationAction.Builder setTextReply(@Nullable CharSequence);
+  }
+
+  public final class ConversationActions implements android.os.Parcelable {
+    ctor public ConversationActions(@NonNull java.util.List<android.view.textclassifier.ConversationAction>, @Nullable String);
+    method public int describeContents();
+    method @NonNull public java.util.List<android.view.textclassifier.ConversationAction> getConversationActions();
+    method @Nullable public String getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions> CREATOR;
+  }
+
+  public static final class ConversationActions.Message implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.app.Person getAuthor();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public java.time.ZonedDateTime getReferenceTime();
+    method @Nullable public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions.Message> CREATOR;
+    field @NonNull public static final android.app.Person PERSON_USER_OTHERS;
+    field @NonNull public static final android.app.Person PERSON_USER_SELF;
+  }
+
+  public static final class ConversationActions.Message.Builder {
+    ctor public ConversationActions.Message.Builder(@NonNull android.app.Person);
+    method @NonNull public android.view.textclassifier.ConversationActions.Message build();
+    method @NonNull public android.view.textclassifier.ConversationActions.Message.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.ConversationActions.Message.Builder setReferenceTime(@Nullable java.time.ZonedDateTime);
+    method @NonNull public android.view.textclassifier.ConversationActions.Message.Builder setText(@Nullable CharSequence);
+  }
+
+  public static final class ConversationActions.Request implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCallingPackageName();
+    method @NonNull public java.util.List<android.view.textclassifier.ConversationActions.Message> getConversation();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public java.util.List<java.lang.String> getHints();
+    method @IntRange(from=0xffffffff) public int getMaxSuggestions();
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig getTypeConfig();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions.Request> CREATOR;
+    field public static final String HINT_FOR_IN_APP = "in_app";
+    field public static final String HINT_FOR_NOTIFICATION = "notification";
+  }
+
+  public static final class ConversationActions.Request.Builder {
+    ctor public ConversationActions.Request.Builder(@NonNull java.util.List<android.view.textclassifier.ConversationActions.Message>);
+    method @NonNull public android.view.textclassifier.ConversationActions.Request build();
+    method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setHints(@Nullable java.util.List<java.lang.String>);
+    method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setMaxSuggestions(@IntRange(from=0xffffffff) int);
+    method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setTypeConfig(@Nullable android.view.textclassifier.TextClassifier.EntityConfig);
+  }
+
+  public final class SelectionEvent implements android.os.Parcelable {
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionActionEvent(int, int, int);
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionActionEvent(int, int, int, @NonNull android.view.textclassifier.TextClassification);
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionModifiedEvent(int, int);
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionModifiedEvent(int, int, @NonNull android.view.textclassifier.TextClassification);
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionModifiedEvent(int, int, @NonNull android.view.textclassifier.TextSelection);
+    method @NonNull public static android.view.textclassifier.SelectionEvent createSelectionStartedEvent(int, int);
+    method public int describeContents();
+    method public long getDurationSincePreviousEvent();
+    method public long getDurationSinceSessionStart();
+    method public int getEnd();
+    method @NonNull public String getEntityType();
+    method public int getEventIndex();
+    method public long getEventTime();
+    method public int getEventType();
+    method public int getInvocationMethod();
+    method @NonNull public String getPackageName();
+    method @Nullable public String getResultId();
+    method @Nullable public android.view.textclassifier.TextClassificationSessionId getSessionId();
+    method public int getSmartEnd();
+    method public int getSmartStart();
+    method public int getStart();
+    method @NonNull public String getWidgetType();
+    method @Nullable public String getWidgetVersion();
+    method public static boolean isTerminal(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_ABANDON = 107; // 0x6b
+    field public static final int ACTION_COPY = 101; // 0x65
+    field public static final int ACTION_CUT = 103; // 0x67
+    field public static final int ACTION_DRAG = 106; // 0x6a
+    field public static final int ACTION_OTHER = 108; // 0x6c
+    field public static final int ACTION_OVERTYPE = 100; // 0x64
+    field public static final int ACTION_PASTE = 102; // 0x66
+    field public static final int ACTION_RESET = 201; // 0xc9
+    field public static final int ACTION_SELECT_ALL = 200; // 0xc8
+    field public static final int ACTION_SHARE = 104; // 0x68
+    field public static final int ACTION_SMART_SHARE = 105; // 0x69
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.SelectionEvent> CREATOR;
+    field public static final int EVENT_AUTO_SELECTION = 5; // 0x5
+    field public static final int EVENT_SELECTION_MODIFIED = 2; // 0x2
+    field public static final int EVENT_SELECTION_STARTED = 1; // 0x1
+    field public static final int EVENT_SMART_SELECTION_MULTI = 4; // 0x4
+    field public static final int EVENT_SMART_SELECTION_SINGLE = 3; // 0x3
+    field public static final int INVOCATION_LINK = 2; // 0x2
+    field public static final int INVOCATION_MANUAL = 1; // 0x1
+    field public static final int INVOCATION_UNKNOWN = 0; // 0x0
+  }
+
+  public final class TextClassification implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.util.List<android.app.RemoteAction> getActions();
+    method @FloatRange(from=0.0, to=1.0) public float getConfidenceScore(String);
+    method @NonNull public String getEntity(int);
+    method @IntRange(from=0) public int getEntityCount();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Deprecated @Nullable public android.graphics.drawable.Drawable getIcon();
+    method @Nullable public String getId();
+    method @Deprecated @Nullable public android.content.Intent getIntent();
+    method @Deprecated @Nullable public CharSequence getLabel();
+    method @Deprecated @Nullable public android.view.View.OnClickListener getOnClickListener();
+    method @Nullable public String getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassification> CREATOR;
+  }
+
+  public static final class TextClassification.Builder {
+    ctor public TextClassification.Builder();
+    method @NonNull public android.view.textclassifier.TextClassification.Builder addAction(@NonNull android.app.RemoteAction);
+    method @NonNull public android.view.textclassifier.TextClassification build();
+    method @NonNull public android.view.textclassifier.TextClassification.Builder setEntityType(@NonNull String, @FloatRange(from=0.0, to=1.0) float);
+    method @NonNull public android.view.textclassifier.TextClassification.Builder setExtras(@Nullable android.os.Bundle);
+    method @Deprecated @NonNull public android.view.textclassifier.TextClassification.Builder setIcon(@Nullable android.graphics.drawable.Drawable);
+    method @NonNull public android.view.textclassifier.TextClassification.Builder setId(@Nullable String);
+    method @Deprecated @NonNull public android.view.textclassifier.TextClassification.Builder setIntent(@Nullable android.content.Intent);
+    method @Deprecated @NonNull public android.view.textclassifier.TextClassification.Builder setLabel(@Nullable String);
+    method @Deprecated @NonNull public android.view.textclassifier.TextClassification.Builder setOnClickListener(@Nullable android.view.View.OnClickListener);
+    method @NonNull public android.view.textclassifier.TextClassification.Builder setText(@Nullable String);
+  }
+
+  public static final class TextClassification.Request implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCallingPackageName();
+    method @Nullable public android.os.LocaleList getDefaultLocales();
+    method @IntRange(from=0) public int getEndIndex();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public java.time.ZonedDateTime getReferenceTime();
+    method @IntRange(from=0) public int getStartIndex();
+    method @NonNull public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassification.Request> CREATOR;
+  }
+
+  public static final class TextClassification.Request.Builder {
+    ctor public TextClassification.Request.Builder(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.textclassifier.TextClassification.Request build();
+    method @NonNull public android.view.textclassifier.TextClassification.Request.Builder setDefaultLocales(@Nullable android.os.LocaleList);
+    method @NonNull public android.view.textclassifier.TextClassification.Request.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextClassification.Request.Builder setReferenceTime(@Nullable java.time.ZonedDateTime);
+  }
+
+  public final class TextClassificationContext implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getPackageName();
+    method @NonNull public String getWidgetType();
+    method @Nullable public String getWidgetVersion();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassificationContext> CREATOR;
+  }
+
+  public static final class TextClassificationContext.Builder {
+    ctor public TextClassificationContext.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.view.textclassifier.TextClassificationContext build();
+    method public android.view.textclassifier.TextClassificationContext.Builder setWidgetVersion(@Nullable String);
+  }
+
+  public final class TextClassificationManager {
+    method @NonNull public android.view.textclassifier.TextClassifier createTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext);
+    method @NonNull public android.view.textclassifier.TextClassifier getTextClassifier();
+    method public void setTextClassificationSessionFactory(@Nullable android.view.textclassifier.TextClassificationSessionFactory);
+    method public void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
+  }
+
+  public interface TextClassificationSessionFactory {
+    method @NonNull public android.view.textclassifier.TextClassifier createTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext);
+  }
+
+  public final class TextClassificationSessionId implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getValue();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassificationSessionId> CREATOR;
+  }
+
+  public interface TextClassifier {
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextClassification classifyText(@NonNull android.view.textclassifier.TextClassification.Request);
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextClassification classifyText(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @Nullable android.os.LocaleList);
+    method public default void destroy();
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextLanguage detectLanguage(@NonNull android.view.textclassifier.TextLanguage.Request);
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextLinks generateLinks(@NonNull android.view.textclassifier.TextLinks.Request);
+    method @WorkerThread public default int getMaxGenerateLinksTextLength();
+    method public default boolean isDestroyed();
+    method public default void onSelectionEvent(@NonNull android.view.textclassifier.SelectionEvent);
+    method public default void onTextClassifierEvent(@NonNull android.view.textclassifier.TextClassifierEvent);
+    method @NonNull @WorkerThread public default android.view.textclassifier.ConversationActions suggestConversationActions(@NonNull android.view.textclassifier.ConversationActions.Request);
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextSelection suggestSelection(@NonNull android.view.textclassifier.TextSelection.Request);
+    method @NonNull @WorkerThread public default android.view.textclassifier.TextSelection suggestSelection(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @Nullable android.os.LocaleList);
+    field public static final String EXTRA_FROM_TEXT_CLASSIFIER = "android.view.textclassifier.extra.FROM_TEXT_CLASSIFIER";
+    field public static final String HINT_TEXT_IS_EDITABLE = "android.text_is_editable";
+    field public static final String HINT_TEXT_IS_NOT_EDITABLE = "android.text_is_not_editable";
+    field public static final android.view.textclassifier.TextClassifier NO_OP;
+    field public static final String TYPE_ADDRESS = "address";
+    field public static final String TYPE_DATE = "date";
+    field public static final String TYPE_DATE_TIME = "datetime";
+    field public static final String TYPE_EMAIL = "email";
+    field public static final String TYPE_FLIGHT_NUMBER = "flight";
+    field public static final String TYPE_OTHER = "other";
+    field public static final String TYPE_PHONE = "phone";
+    field public static final String TYPE_UNKNOWN = "";
+    field public static final String TYPE_URL = "url";
+    field public static final String WIDGET_TYPE_CLIPBOARD = "clipboard";
+    field public static final String WIDGET_TYPE_CUSTOM_EDITTEXT = "customedit";
+    field public static final String WIDGET_TYPE_CUSTOM_TEXTVIEW = "customview";
+    field public static final String WIDGET_TYPE_CUSTOM_UNSELECTABLE_TEXTVIEW = "nosel-customview";
+    field public static final String WIDGET_TYPE_EDITTEXT = "edittext";
+    field public static final String WIDGET_TYPE_EDIT_WEBVIEW = "edit-webview";
+    field public static final String WIDGET_TYPE_NOTIFICATION = "notification";
+    field public static final String WIDGET_TYPE_TEXTVIEW = "textview";
+    field public static final String WIDGET_TYPE_UNKNOWN = "unknown";
+    field public static final String WIDGET_TYPE_UNSELECTABLE_TEXTVIEW = "nosel-textview";
+    field public static final String WIDGET_TYPE_WEBVIEW = "webview";
+  }
+
+  public static final class TextClassifier.EntityConfig implements android.os.Parcelable {
+    method @Deprecated public static android.view.textclassifier.TextClassifier.EntityConfig create(@Nullable java.util.Collection<java.lang.String>, @Nullable java.util.Collection<java.lang.String>, @Nullable java.util.Collection<java.lang.String>);
+    method @Deprecated public static android.view.textclassifier.TextClassifier.EntityConfig createWithExplicitEntityList(@Nullable java.util.Collection<java.lang.String>);
+    method @Deprecated public static android.view.textclassifier.TextClassifier.EntityConfig createWithHints(@Nullable java.util.Collection<java.lang.String>);
+    method public int describeContents();
+    method public java.util.Collection<java.lang.String> getHints();
+    method public java.util.Collection<java.lang.String> resolveEntityListModifications(@NonNull java.util.Collection<java.lang.String>);
+    method public boolean shouldIncludeTypesFromTextClassifier();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifier.EntityConfig> CREATOR;
+  }
+
+  public static final class TextClassifier.EntityConfig.Builder {
+    ctor public TextClassifier.EntityConfig.Builder();
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig build();
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder includeTypesFromTextClassifier(boolean);
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder setExcludedTypes(@Nullable java.util.Collection<java.lang.String>);
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder setHints(@Nullable java.util.Collection<java.lang.String>);
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder setIncludedTypes(@Nullable java.util.Collection<java.lang.String>);
+  }
+
+  public abstract class TextClassifierEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public int[] getActionIndices();
+    method @NonNull public String[] getEntityTypes();
+    method public int getEventCategory();
+    method @Nullable public android.view.textclassifier.TextClassificationContext getEventContext();
+    method public int getEventIndex();
+    method public int getEventType();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public android.icu.util.ULocale getLocale();
+    method @Nullable public String getModelName();
+    method @Nullable public String getResultId();
+    method @NonNull public float[] getScores();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CATEGORY_CONVERSATION_ACTIONS = 3; // 0x3
+    field public static final int CATEGORY_LANGUAGE_DETECTION = 4; // 0x4
+    field public static final int CATEGORY_LINKIFY = 2; // 0x2
+    field public static final int CATEGORY_SELECTION = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent> CREATOR;
+    field public static final int TYPE_ACTIONS_GENERATED = 20; // 0x14
+    field public static final int TYPE_ACTIONS_SHOWN = 6; // 0x6
+    field public static final int TYPE_AUTO_SELECTION = 5; // 0x5
+    field public static final int TYPE_COPY_ACTION = 9; // 0x9
+    field public static final int TYPE_CUT_ACTION = 11; // 0xb
+    field public static final int TYPE_LINKS_GENERATED = 21; // 0x15
+    field public static final int TYPE_LINK_CLICKED = 7; // 0x7
+    field public static final int TYPE_MANUAL_REPLY = 19; // 0x13
+    field public static final int TYPE_OTHER_ACTION = 16; // 0x10
+    field public static final int TYPE_OVERTYPE = 8; // 0x8
+    field public static final int TYPE_PASTE_ACTION = 10; // 0xa
+    field public static final int TYPE_SELECTION_DESTROYED = 15; // 0xf
+    field public static final int TYPE_SELECTION_DRAG = 14; // 0xe
+    field public static final int TYPE_SELECTION_MODIFIED = 2; // 0x2
+    field public static final int TYPE_SELECTION_RESET = 18; // 0x12
+    field public static final int TYPE_SELECTION_STARTED = 1; // 0x1
+    field public static final int TYPE_SELECT_ALL = 17; // 0x11
+    field public static final int TYPE_SHARE_ACTION = 12; // 0xc
+    field public static final int TYPE_SMART_ACTION = 13; // 0xd
+    field public static final int TYPE_SMART_SELECTION_MULTI = 4; // 0x4
+    field public static final int TYPE_SMART_SELECTION_SINGLE = 3; // 0x3
+  }
+
+  public abstract static class TextClassifierEvent.Builder<T extends android.view.textclassifier.TextClassifierEvent.Builder<T>> {
+    method @NonNull public T setActionIndices(@NonNull int...);
+    method @NonNull public T setEntityTypes(@NonNull java.lang.String...);
+    method @NonNull public T setEventContext(@Nullable android.view.textclassifier.TextClassificationContext);
+    method @NonNull public T setEventIndex(int);
+    method @NonNull public T setExtras(@NonNull android.os.Bundle);
+    method @NonNull public T setLocale(@Nullable android.icu.util.ULocale);
+    method @NonNull public T setModelName(@Nullable String);
+    method @NonNull public T setResultId(@Nullable String);
+    method @NonNull public T setScores(@NonNull float...);
+  }
+
+  public static final class TextClassifierEvent.ConversationActionsEvent extends android.view.textclassifier.TextClassifierEvent implements android.os.Parcelable {
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent.ConversationActionsEvent> CREATOR;
+  }
+
+  public static final class TextClassifierEvent.ConversationActionsEvent.Builder extends android.view.textclassifier.TextClassifierEvent.Builder<android.view.textclassifier.TextClassifierEvent.ConversationActionsEvent.Builder> {
+    ctor public TextClassifierEvent.ConversationActionsEvent.Builder(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.ConversationActionsEvent build();
+  }
+
+  public static final class TextClassifierEvent.LanguageDetectionEvent extends android.view.textclassifier.TextClassifierEvent implements android.os.Parcelable {
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent.LanguageDetectionEvent> CREATOR;
+  }
+
+  public static final class TextClassifierEvent.LanguageDetectionEvent.Builder extends android.view.textclassifier.TextClassifierEvent.Builder<android.view.textclassifier.TextClassifierEvent.LanguageDetectionEvent.Builder> {
+    ctor public TextClassifierEvent.LanguageDetectionEvent.Builder(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.LanguageDetectionEvent build();
+  }
+
+  public static final class TextClassifierEvent.TextLinkifyEvent extends android.view.textclassifier.TextClassifierEvent implements android.os.Parcelable {
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent.TextLinkifyEvent> CREATOR;
+  }
+
+  public static final class TextClassifierEvent.TextLinkifyEvent.Builder extends android.view.textclassifier.TextClassifierEvent.Builder<android.view.textclassifier.TextClassifierEvent.TextLinkifyEvent.Builder> {
+    ctor public TextClassifierEvent.TextLinkifyEvent.Builder(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextLinkifyEvent build();
+  }
+
+  public static final class TextClassifierEvent.TextSelectionEvent extends android.view.textclassifier.TextClassifierEvent implements android.os.Parcelable {
+    method public int getRelativeSuggestedWordEndIndex();
+    method public int getRelativeSuggestedWordStartIndex();
+    method public int getRelativeWordEndIndex();
+    method public int getRelativeWordStartIndex();
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent.TextSelectionEvent> CREATOR;
+  }
+
+  public static final class TextClassifierEvent.TextSelectionEvent.Builder extends android.view.textclassifier.TextClassifierEvent.Builder<android.view.textclassifier.TextClassifierEvent.TextSelectionEvent.Builder> {
+    ctor public TextClassifierEvent.TextSelectionEvent.Builder(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextSelectionEvent build();
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextSelectionEvent.Builder setRelativeSuggestedWordEndIndex(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextSelectionEvent.Builder setRelativeSuggestedWordStartIndex(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextSelectionEvent.Builder setRelativeWordEndIndex(int);
+    method @NonNull public android.view.textclassifier.TextClassifierEvent.TextSelectionEvent.Builder setRelativeWordStartIndex(int);
+  }
+
+  public final class TextLanguage implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0, to=1.0) public float getConfidenceScore(@NonNull android.icu.util.ULocale);
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public String getId();
+    method @NonNull public android.icu.util.ULocale getLocale(int);
+    method @IntRange(from=0) public int getLocaleHypothesisCount();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLanguage> CREATOR;
+  }
+
+  public static final class TextLanguage.Builder {
+    ctor public TextLanguage.Builder();
+    method @NonNull public android.view.textclassifier.TextLanguage build();
+    method @NonNull public android.view.textclassifier.TextLanguage.Builder putLocale(@NonNull android.icu.util.ULocale, @FloatRange(from=0.0, to=1.0) float);
+    method @NonNull public android.view.textclassifier.TextLanguage.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextLanguage.Builder setId(@Nullable String);
+  }
+
+  public static final class TextLanguage.Request implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCallingPackageName();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLanguage.Request> CREATOR;
+  }
+
+  public static final class TextLanguage.Request.Builder {
+    ctor public TextLanguage.Request.Builder(@NonNull CharSequence);
+    method @NonNull public android.view.textclassifier.TextLanguage.Request build();
+    method @NonNull public android.view.textclassifier.TextLanguage.Request.Builder setExtras(@NonNull android.os.Bundle);
+  }
+
+  public final class TextLinks implements android.os.Parcelable {
+    method public int apply(@NonNull android.text.Spannable, int, @Nullable java.util.function.Function<android.view.textclassifier.TextLinks.TextLink,android.view.textclassifier.TextLinks.TextLinkSpan>);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public java.util.Collection<android.view.textclassifier.TextLinks.TextLink> getLinks();
+    method @NonNull public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int APPLY_STRATEGY_IGNORE = 0; // 0x0
+    field public static final int APPLY_STRATEGY_REPLACE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks> CREATOR;
+    field public static final int STATUS_DIFFERENT_TEXT = 3; // 0x3
+    field public static final int STATUS_LINKS_APPLIED = 0; // 0x0
+    field public static final int STATUS_NO_LINKS_APPLIED = 2; // 0x2
+    field public static final int STATUS_NO_LINKS_FOUND = 1; // 0x1
+    field public static final int STATUS_UNSUPPORTED_CHARACTER = 4; // 0x4
+  }
+
+  public static final class TextLinks.Builder {
+    ctor public TextLinks.Builder(@NonNull String);
+    method @NonNull public android.view.textclassifier.TextLinks.Builder addLink(int, int, @NonNull java.util.Map<java.lang.String,java.lang.Float>);
+    method @NonNull public android.view.textclassifier.TextLinks.Builder addLink(int, int, @NonNull java.util.Map<java.lang.String,java.lang.Float>, @NonNull android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextLinks build();
+    method @NonNull public android.view.textclassifier.TextLinks.Builder clearTextLinks();
+    method @NonNull public android.view.textclassifier.TextLinks.Builder setExtras(@Nullable android.os.Bundle);
+  }
+
+  public static final class TextLinks.Request implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCallingPackageName();
+    method @Nullable public android.os.LocaleList getDefaultLocales();
+    method @Nullable public android.view.textclassifier.TextClassifier.EntityConfig getEntityConfig();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public java.time.ZonedDateTime getReferenceTime();
+    method @NonNull public CharSequence getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks.Request> CREATOR;
+  }
+
+  public static final class TextLinks.Request.Builder {
+    ctor public TextLinks.Request.Builder(@NonNull CharSequence);
+    method @NonNull public android.view.textclassifier.TextLinks.Request build();
+    method @NonNull public android.view.textclassifier.TextLinks.Request.Builder setDefaultLocales(@Nullable android.os.LocaleList);
+    method @NonNull public android.view.textclassifier.TextLinks.Request.Builder setEntityConfig(@Nullable android.view.textclassifier.TextClassifier.EntityConfig);
+    method public android.view.textclassifier.TextLinks.Request.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextLinks.Request.Builder setReferenceTime(@Nullable java.time.ZonedDateTime);
+  }
+
+  public static final class TextLinks.TextLink implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0, to=1.0) public float getConfidenceScore(String);
+    method public int getEnd();
+    method @NonNull public String getEntity(int);
+    method public int getEntityCount();
+    method @NonNull public android.os.Bundle getExtras();
+    method public int getStart();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks.TextLink> CREATOR;
+  }
+
+  public static class TextLinks.TextLinkSpan extends android.text.style.ClickableSpan {
+    ctor public TextLinks.TextLinkSpan(@NonNull android.view.textclassifier.TextLinks.TextLink);
+    method public final android.view.textclassifier.TextLinks.TextLink getTextLink();
+    method public void onClick(android.view.View);
+  }
+
+  public final class TextSelection implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0, to=1.0) public float getConfidenceScore(String);
+    method @NonNull public String getEntity(int);
+    method @IntRange(from=0) public int getEntityCount();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public String getId();
+    method public int getSelectionEndIndex();
+    method public int getSelectionStartIndex();
+    method @Nullable public android.view.textclassifier.TextClassification getTextClassification();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextSelection> CREATOR;
+  }
+
+  public static final class TextSelection.Builder {
+    ctor public TextSelection.Builder(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.textclassifier.TextSelection build();
+    method @NonNull public android.view.textclassifier.TextSelection.Builder setEntityType(@NonNull String, @FloatRange(from=0.0, to=1.0) float);
+    method @NonNull public android.view.textclassifier.TextSelection.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextSelection.Builder setId(@Nullable String);
+    method @NonNull public android.view.textclassifier.TextSelection.Builder setTextClassification(@Nullable android.view.textclassifier.TextClassification);
+  }
+
+  public static final class TextSelection.Request implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCallingPackageName();
+    method @Nullable public android.os.LocaleList getDefaultLocales();
+    method @IntRange(from=0) public int getEndIndex();
+    method @NonNull public android.os.Bundle getExtras();
+    method @IntRange(from=0) public int getStartIndex();
+    method @NonNull public CharSequence getText();
+    method public boolean shouldIncludeTextClassification();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextSelection.Request> CREATOR;
+  }
+
+  public static final class TextSelection.Request.Builder {
+    ctor public TextSelection.Request.Builder(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.textclassifier.TextSelection.Request build();
+    method @NonNull public android.view.textclassifier.TextSelection.Request.Builder setDefaultLocales(@Nullable android.os.LocaleList);
+    method @NonNull public android.view.textclassifier.TextSelection.Request.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextSelection.Request.Builder setIncludeTextClassification(boolean);
+  }
+
+}
+
+package android.view.textservice {
+
+  public final class SentenceSuggestionsInfo implements android.os.Parcelable {
+    ctor public SentenceSuggestionsInfo(android.view.textservice.SuggestionsInfo[], int[], int[]);
+    ctor public SentenceSuggestionsInfo(android.os.Parcel);
+    method public int describeContents();
+    method public int getLengthAt(int);
+    method public int getOffsetAt(int);
+    method public int getSuggestionsCount();
+    method public android.view.textservice.SuggestionsInfo getSuggestionsInfoAt(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SentenceSuggestionsInfo> CREATOR;
+  }
+
+  public final class SpellCheckerInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.content.ComponentName getComponent();
+    method public String getId();
+    method public String getPackageName();
+    method public android.content.pm.ServiceInfo getServiceInfo();
+    method public String getSettingsActivity();
+    method public android.view.textservice.SpellCheckerSubtype getSubtypeAt(int);
+    method public int getSubtypeCount();
+    method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
+    method public CharSequence loadLabel(android.content.pm.PackageManager);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SpellCheckerInfo> CREATOR;
+  }
+
+  public class SpellCheckerSession {
+    method public void cancel();
+    method public void close();
+    method public void getSentenceSuggestions(android.view.textservice.TextInfo[], int);
+    method public android.view.textservice.SpellCheckerInfo getSpellChecker();
+    method @Deprecated public void getSuggestions(android.view.textservice.TextInfo, int);
+    method @Deprecated public void getSuggestions(android.view.textservice.TextInfo[], int, boolean);
+    method public boolean isSessionDisconnected();
+    field public static final String SERVICE_META_DATA = "android.view.textservice.scs";
+  }
+
+  public static interface SpellCheckerSession.SpellCheckerSessionListener {
+    method public void onGetSentenceSuggestions(android.view.textservice.SentenceSuggestionsInfo[]);
+    method public void onGetSuggestions(android.view.textservice.SuggestionsInfo[]);
+  }
+
+  public static class SpellCheckerSession.SpellCheckerSessionParams {
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public java.util.Locale getLocale();
+    method public int getSupportedAttributes();
+    method public boolean shouldReferToSpellCheckerLanguageSettings();
+  }
+
+  public static final class SpellCheckerSession.SpellCheckerSessionParams.Builder {
+    ctor public SpellCheckerSession.SpellCheckerSessionParams.Builder();
+    method @NonNull public android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams build();
+    method @NonNull public android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder setLocale(@Nullable java.util.Locale);
+    method @NonNull public android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder setShouldReferToSpellCheckerLanguageSettings(boolean);
+    method @NonNull public android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams.Builder setSupportedAttributes(int);
+  }
+
+  public final class SpellCheckerSubtype implements android.os.Parcelable {
+    ctor @Deprecated public SpellCheckerSubtype(int, String, String);
+    method public boolean containsExtraValueKey(String);
+    method public int describeContents();
+    method public CharSequence getDisplayName(android.content.Context, String, android.content.pm.ApplicationInfo);
+    method public String getExtraValue();
+    method public String getExtraValueOf(String);
+    method @NonNull public String getLanguageTag();
+    method @Deprecated @NonNull public String getLocale();
+    method public int getNameResId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SpellCheckerSubtype> CREATOR;
+  }
+
+  public final class SuggestionsInfo implements android.os.Parcelable {
+    ctor public SuggestionsInfo(int, String[]);
+    ctor public SuggestionsInfo(int, String[], int, int);
+    ctor public SuggestionsInfo(android.os.Parcel);
+    method public int describeContents();
+    method public int getCookie();
+    method public int getSequence();
+    method public String getSuggestionAt(int);
+    method public int getSuggestionsAttributes();
+    method public int getSuggestionsCount();
+    method public void setCookieAndSequence(int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SuggestionsInfo> CREATOR;
+    field public static final int RESULT_ATTR_DONT_SHOW_UI_FOR_SUGGESTIONS = 16; // 0x10
+    field public static final int RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS = 4; // 0x4
+    field public static final int RESULT_ATTR_IN_THE_DICTIONARY = 1; // 0x1
+    field public static final int RESULT_ATTR_LOOKS_LIKE_GRAMMAR_ERROR = 8; // 0x8
+    field public static final int RESULT_ATTR_LOOKS_LIKE_TYPO = 2; // 0x2
+  }
+
+  public final class TextInfo implements android.os.Parcelable {
+    ctor public TextInfo(String);
+    ctor public TextInfo(String, int, int);
+    ctor public TextInfo(CharSequence, int, int, int, int);
+    ctor public TextInfo(android.os.Parcel);
+    method public int describeContents();
+    method public CharSequence getCharSequence();
+    method public int getCookie();
+    method public int getSequence();
+    method public String getText();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.TextInfo> CREATOR;
+  }
+
+  public final class TextServicesManager {
+    method @Nullable public android.view.textservice.SpellCheckerInfo getCurrentSpellCheckerInfo();
+    method @NonNull public java.util.List<android.view.textservice.SpellCheckerInfo> getEnabledSpellCheckerInfos();
+    method public boolean isSpellCheckerEnabled();
+    method @Nullable public android.view.textservice.SpellCheckerSession newSpellCheckerSession(@Nullable android.os.Bundle, @Nullable java.util.Locale, @NonNull android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener, boolean);
+    method @Nullable public android.view.textservice.SpellCheckerSession newSpellCheckerSession(@NonNull android.view.textservice.SpellCheckerSession.SpellCheckerSessionParams, @NonNull java.util.concurrent.Executor, @NonNull android.view.textservice.SpellCheckerSession.SpellCheckerSessionListener);
+  }
+
+}
+
+package android.view.translation {
+
+  public final class TranslationCapability implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.translation.TranslationSpec getSourceSpec();
+    method public int getState();
+    method public int getSupportedTranslationFlags();
+    method @NonNull public android.view.translation.TranslationSpec getTargetSpec();
+    method public boolean isUiTranslationEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationCapability> CREATOR;
+    field public static final int STATE_AVAILABLE_TO_DOWNLOAD = 1; // 0x1
+    field public static final int STATE_DOWNLOADING = 2; // 0x2
+    field public static final int STATE_NOT_AVAILABLE = 4; // 0x4
+    field public static final int STATE_ON_DEVICE = 3; // 0x3
+  }
+
+  public final class TranslationContext implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.translation.TranslationSpec getSourceSpec();
+    method @NonNull public android.view.translation.TranslationSpec getTargetSpec();
+    method public int getTranslationFlags();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationContext> CREATOR;
+    field public static final int FLAG_DEFINITIONS = 4; // 0x4
+    field public static final int FLAG_LOW_LATENCY = 1; // 0x1
+    field public static final int FLAG_TRANSLITERATION = 2; // 0x2
+  }
+
+  public static final class TranslationContext.Builder {
+    ctor public TranslationContext.Builder(@NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec);
+    method @NonNull public android.view.translation.TranslationContext build();
+    method @NonNull public android.view.translation.TranslationContext.Builder setTranslationFlags(int);
+  }
+
+  public final class TranslationManager {
+    method public void addOnDeviceTranslationCapabilityUpdateListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.view.translation.TranslationCapability>);
+    method public void createOnDeviceTranslator(@NonNull android.view.translation.TranslationContext, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.view.translation.Translator>);
+    method @NonNull @WorkerThread public java.util.Set<android.view.translation.TranslationCapability> getOnDeviceTranslationCapabilities(int, int);
+    method @Nullable public android.app.PendingIntent getOnDeviceTranslationSettingsActivityIntent();
+    method public void removeOnDeviceTranslationCapabilityUpdateListener(@NonNull java.util.function.Consumer<android.view.translation.TranslationCapability>);
+  }
+
+  public final class TranslationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getFlags();
+    method @NonNull public java.util.List<android.view.translation.TranslationRequestValue> getTranslationRequestValues();
+    method @NonNull public java.util.List<android.view.translation.ViewTranslationRequest> getViewTranslationRequests();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationRequest> CREATOR;
+    field public static final int FLAG_DICTIONARY_RESULT = 2; // 0x2
+    field public static final int FLAG_PARTIAL_RESPONSES = 8; // 0x8
+    field public static final int FLAG_TRANSLATION_RESULT = 1; // 0x1
+    field public static final int FLAG_TRANSLITERATION_RESULT = 4; // 0x4
+  }
+
+  public static final class TranslationRequest.Builder {
+    ctor public TranslationRequest.Builder();
+    method @NonNull public android.view.translation.TranslationRequest build();
+    method @NonNull public android.view.translation.TranslationRequest.Builder setFlags(int);
+    method @NonNull public android.view.translation.TranslationRequest.Builder setTranslationRequestValues(@NonNull java.util.List<android.view.translation.TranslationRequestValue>);
+    method @NonNull public android.view.translation.TranslationRequest.Builder setViewTranslationRequests(@NonNull java.util.List<android.view.translation.ViewTranslationRequest>);
+  }
+
+  public final class TranslationRequestValue implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.view.translation.TranslationRequestValue forText(@NonNull CharSequence);
+    method @Nullable public CharSequence getText();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationRequestValue> CREATOR;
+  }
+
+  public final class TranslationResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.util.SparseArray<android.view.translation.TranslationResponseValue> getTranslationResponseValues();
+    method public int getTranslationStatus();
+    method @NonNull public android.util.SparseArray<android.view.translation.ViewTranslationResponse> getViewTranslationResponses();
+    method public boolean isFinalResponse();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationResponse> CREATOR;
+    field public static final int TRANSLATION_STATUS_CONTEXT_UNSUPPORTED = 2; // 0x2
+    field public static final int TRANSLATION_STATUS_SUCCESS = 0; // 0x0
+    field public static final int TRANSLATION_STATUS_UNKNOWN_ERROR = 1; // 0x1
+  }
+
+  public static final class TranslationResponse.Builder {
+    ctor public TranslationResponse.Builder(int);
+    method @NonNull public android.view.translation.TranslationResponse build();
+    method @NonNull public android.view.translation.TranslationResponse.Builder setFinalResponse(boolean);
+    method @NonNull public android.view.translation.TranslationResponse.Builder setTranslationResponseValue(int, @NonNull android.view.translation.TranslationResponseValue);
+    method @NonNull public android.view.translation.TranslationResponse.Builder setTranslationResponseValues(@NonNull android.util.SparseArray<android.view.translation.TranslationResponseValue>);
+    method @NonNull public android.view.translation.TranslationResponse.Builder setViewTranslationResponse(int, @NonNull android.view.translation.ViewTranslationResponse);
+    method @NonNull public android.view.translation.TranslationResponse.Builder setViewTranslationResponses(@NonNull android.util.SparseArray<android.view.translation.ViewTranslationResponse>);
+  }
+
+  public final class TranslationResponseValue implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.view.translation.TranslationResponseValue forError();
+    method @NonNull public android.os.Bundle getExtras();
+    method public int getStatusCode();
+    method @Nullable public CharSequence getText();
+    method @Nullable public CharSequence getTransliteration();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationResponseValue> CREATOR;
+    field public static final String EXTRA_DEFINITIONS = "android.view.translation.extra.DEFINITIONS";
+    field public static final int STATUS_ERROR = 1; // 0x1
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public static final class TranslationResponseValue.Builder {
+    ctor public TranslationResponseValue.Builder(int);
+    method @NonNull public android.view.translation.TranslationResponseValue build();
+    method @NonNull public android.view.translation.TranslationResponseValue.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.view.translation.TranslationResponseValue.Builder setText(@NonNull CharSequence);
+    method @NonNull public android.view.translation.TranslationResponseValue.Builder setTransliteration(@NonNull CharSequence);
+  }
+
+  public final class TranslationSpec implements android.os.Parcelable {
+    ctor public TranslationSpec(@NonNull android.icu.util.ULocale, int);
+    method public int describeContents();
+    method public int getDataFormat();
+    method @NonNull public android.icu.util.ULocale getLocale();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.TranslationSpec> CREATOR;
+    field public static final int DATA_FORMAT_TEXT = 1; // 0x1
+  }
+
+  public class Translator {
+    method public void destroy();
+    method public boolean isDestroyed();
+    method @Nullable public void translate(@NonNull android.view.translation.TranslationRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
+  }
+
+  public final class UiTranslationManager {
+    method public void registerUiTranslationStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.view.translation.UiTranslationStateCallback);
+    method public void unregisterUiTranslationStateCallback(@NonNull android.view.translation.UiTranslationStateCallback);
+  }
+
+  public interface UiTranslationStateCallback {
+    method public void onFinished();
+    method public void onPaused();
+    method public default void onResumed(@NonNull android.icu.util.ULocale, @NonNull android.icu.util.ULocale);
+    method public default void onStarted(@NonNull android.icu.util.ULocale, @NonNull android.icu.util.ULocale);
+  }
+
+  @UiThread public interface ViewTranslationCallback {
+    method public boolean onClearTranslation(@NonNull android.view.View);
+    method public boolean onHideTranslation(@NonNull android.view.View);
+    method public boolean onShowTranslation(@NonNull android.view.View);
+  }
+
+  public final class ViewTranslationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.autofill.AutofillId getAutofillId();
+    method @NonNull public java.util.Set<java.lang.String> getKeys();
+    method @NonNull public android.view.translation.TranslationRequestValue getValue(@NonNull String);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.ViewTranslationRequest> CREATOR;
+    field public static final String ID_TEXT = "android:text";
+  }
+
+  public static final class ViewTranslationRequest.Builder {
+    ctor public ViewTranslationRequest.Builder(@NonNull android.view.autofill.AutofillId);
+    ctor public ViewTranslationRequest.Builder(@NonNull android.view.autofill.AutofillId, long);
+    method @NonNull public android.view.translation.ViewTranslationRequest build();
+    method @NonNull public android.view.translation.ViewTranslationRequest.Builder setValue(@NonNull String, @NonNull android.view.translation.TranslationRequestValue);
+  }
+
+  public final class ViewTranslationResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.view.autofill.AutofillId getAutofillId();
+    method @NonNull public java.util.Set<java.lang.String> getKeys();
+    method @NonNull public android.view.translation.TranslationResponseValue getValue(@NonNull String);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.ViewTranslationResponse> CREATOR;
+  }
+
+  public static final class ViewTranslationResponse.Builder {
+    ctor public ViewTranslationResponse.Builder(@NonNull android.view.autofill.AutofillId);
+    method @NonNull public android.view.translation.ViewTranslationResponse build();
+    method public android.view.translation.ViewTranslationResponse.Builder setValue(String, android.view.translation.TranslationResponseValue);
+  }
+
+}
+
+package android.webkit {
+
+  public abstract class ClientCertRequest {
+    ctor public ClientCertRequest();
+    method public abstract void cancel();
+    method public abstract String getHost();
+    method @Nullable public abstract String[] getKeyTypes();
+    method public abstract int getPort();
+    method @Nullable public abstract java.security.Principal[] getPrincipals();
+    method public abstract void ignore();
+    method public abstract void proceed(java.security.PrivateKey, java.security.cert.X509Certificate[]);
+  }
+
+  public class ConsoleMessage {
+    ctor public ConsoleMessage(String, String, int, android.webkit.ConsoleMessage.MessageLevel);
+    method public int lineNumber();
+    method public String message();
+    method public android.webkit.ConsoleMessage.MessageLevel messageLevel();
+    method public String sourceId();
+  }
+
+  public enum ConsoleMessage.MessageLevel {
+    enum_constant public static final android.webkit.ConsoleMessage.MessageLevel DEBUG;
+    enum_constant public static final android.webkit.ConsoleMessage.MessageLevel ERROR;
+    enum_constant public static final android.webkit.ConsoleMessage.MessageLevel LOG;
+    enum_constant public static final android.webkit.ConsoleMessage.MessageLevel TIP;
+    enum_constant public static final android.webkit.ConsoleMessage.MessageLevel WARNING;
+  }
+
+  public abstract class CookieManager {
+    ctor @Deprecated public CookieManager();
+    method public abstract boolean acceptCookie();
+    method public abstract boolean acceptThirdPartyCookies(android.webkit.WebView);
+    method public static boolean allowFileSchemeCookies();
+    method public abstract void flush();
+    method public abstract String getCookie(String);
+    method public static android.webkit.CookieManager getInstance();
+    method public abstract boolean hasCookies();
+    method @Deprecated public abstract void removeAllCookie();
+    method public abstract void removeAllCookies(@Nullable android.webkit.ValueCallback<java.lang.Boolean>);
+    method @Deprecated public abstract void removeExpiredCookie();
+    method @Deprecated public abstract void removeSessionCookie();
+    method public abstract void removeSessionCookies(@Nullable android.webkit.ValueCallback<java.lang.Boolean>);
+    method public abstract void setAcceptCookie(boolean);
+    method @Deprecated public static void setAcceptFileSchemeCookies(boolean);
+    method public abstract void setAcceptThirdPartyCookies(android.webkit.WebView, boolean);
+    method public abstract void setCookie(String, String);
+    method public abstract void setCookie(String, String, @Nullable android.webkit.ValueCallback<java.lang.Boolean>);
+  }
+
+  @Deprecated public final class CookieSyncManager implements java.lang.Runnable {
+    method @Deprecated public static android.webkit.CookieSyncManager createInstance(android.content.Context);
+    method @Deprecated public static android.webkit.CookieSyncManager getInstance();
+    method @Deprecated public void resetSync();
+    method @Deprecated public void run();
+    method @Deprecated public void startSync();
+    method @Deprecated public void stopSync();
+    method @Deprecated public void sync();
+    method @Deprecated protected void syncFromRamToFlash();
+  }
+
+  public class DateSorter {
+    ctor public DateSorter(android.content.Context);
+    method public long getBoundary(int);
+    method public int getIndex(long);
+    method public String getLabel(int);
+    field public static final int DAY_COUNT = 5; // 0x5
+  }
+
+  public interface DownloadListener {
+    method public void onDownloadStart(String, String, String, String, long);
+  }
+
+  public class GeolocationPermissions {
+    method public void allow(String);
+    method public void clear(String);
+    method public void clearAll();
+    method public void getAllowed(String, android.webkit.ValueCallback<java.lang.Boolean>);
+    method public static android.webkit.GeolocationPermissions getInstance();
+    method public void getOrigins(android.webkit.ValueCallback<java.util.Set<java.lang.String>>);
+  }
+
+  public static interface GeolocationPermissions.Callback {
+    method public void invoke(String, boolean, boolean);
+  }
+
+  public class HttpAuthHandler extends android.os.Handler {
+    method public void cancel();
+    method public void proceed(String, String);
+    method public boolean useHttpAuthUsernamePassword();
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface JavascriptInterface {
+  }
+
+  public class JsPromptResult extends android.webkit.JsResult {
+    method public void confirm(String);
+  }
+
+  public class JsResult {
+    method public final void cancel();
+    method public final void confirm();
+  }
+
+  public class MimeTypeMap {
+    method @Nullable public String getExtensionFromMimeType(String);
+    method public static String getFileExtensionFromUrl(String);
+    method @Nullable public String getMimeTypeFromExtension(String);
+    method public static android.webkit.MimeTypeMap getSingleton();
+    method public boolean hasExtension(String);
+    method public boolean hasMimeType(String);
+  }
+
+  public abstract class PermissionRequest {
+    ctor public PermissionRequest();
+    method public abstract void deny();
+    method public abstract android.net.Uri getOrigin();
+    method public abstract String[] getResources();
+    method public abstract void grant(String[]);
+    field public static final String RESOURCE_AUDIO_CAPTURE = "android.webkit.resource.AUDIO_CAPTURE";
+    field public static final String RESOURCE_MIDI_SYSEX = "android.webkit.resource.MIDI_SYSEX";
+    field public static final String RESOURCE_PROTECTED_MEDIA_ID = "android.webkit.resource.PROTECTED_MEDIA_ID";
+    field public static final String RESOURCE_VIDEO_CAPTURE = "android.webkit.resource.VIDEO_CAPTURE";
+  }
+
+  public interface PluginStub {
+    method public android.view.View getEmbeddedView(int, android.content.Context);
+    method public android.view.View getFullScreenView(int, android.content.Context);
+  }
+
+  public abstract class RenderProcessGoneDetail {
+    ctor @Deprecated public RenderProcessGoneDetail();
+    method public abstract boolean didCrash();
+    method public abstract int rendererPriorityAtExit();
+  }
+
+  public abstract class SafeBrowsingResponse {
+    ctor @Deprecated public SafeBrowsingResponse();
+    method public abstract void backToSafety(boolean);
+    method public abstract void proceed(boolean);
+    method public abstract void showInterstitial(boolean);
+  }
+
+  public class ServiceWorkerClient {
+    ctor public ServiceWorkerClient();
+    method @Nullable public android.webkit.WebResourceResponse shouldInterceptRequest(android.webkit.WebResourceRequest);
+  }
+
+  public abstract class ServiceWorkerController {
+    ctor @Deprecated public ServiceWorkerController();
+    method @NonNull public static android.webkit.ServiceWorkerController getInstance();
+    method @NonNull public abstract android.webkit.ServiceWorkerWebSettings getServiceWorkerWebSettings();
+    method public abstract void setServiceWorkerClient(@Nullable android.webkit.ServiceWorkerClient);
+  }
+
+  public abstract class ServiceWorkerWebSettings {
+    ctor public ServiceWorkerWebSettings();
+    method public abstract boolean getAllowContentAccess();
+    method public abstract boolean getAllowFileAccess();
+    method public abstract boolean getBlockNetworkLoads();
+    method public abstract int getCacheMode();
+    method public abstract void setAllowContentAccess(boolean);
+    method public abstract void setAllowFileAccess(boolean);
+    method public abstract void setBlockNetworkLoads(boolean);
+    method public abstract void setCacheMode(int);
+  }
+
+  public class SslErrorHandler extends android.os.Handler {
+    method public void cancel();
+    method public void proceed();
+  }
+
+  public class TracingConfig {
+    method @NonNull public java.util.List<java.lang.String> getCustomIncludedCategories();
+    method public int getPredefinedCategories();
+    method public int getTracingMode();
+    field public static final int CATEGORIES_ALL = 1; // 0x1
+    field public static final int CATEGORIES_ANDROID_WEBVIEW = 2; // 0x2
+    field public static final int CATEGORIES_FRAME_VIEWER = 64; // 0x40
+    field public static final int CATEGORIES_INPUT_LATENCY = 8; // 0x8
+    field public static final int CATEGORIES_JAVASCRIPT_AND_RENDERING = 32; // 0x20
+    field public static final int CATEGORIES_NONE = 0; // 0x0
+    field public static final int CATEGORIES_RENDERING = 16; // 0x10
+    field public static final int CATEGORIES_WEB_DEVELOPER = 4; // 0x4
+    field public static final int RECORD_CONTINUOUSLY = 1; // 0x1
+    field public static final int RECORD_UNTIL_FULL = 0; // 0x0
+  }
+
+  public static class TracingConfig.Builder {
+    ctor public TracingConfig.Builder();
+    method public android.webkit.TracingConfig.Builder addCategories(int...);
+    method public android.webkit.TracingConfig.Builder addCategories(java.lang.String...);
+    method public android.webkit.TracingConfig.Builder addCategories(java.util.Collection<java.lang.String>);
+    method public android.webkit.TracingConfig build();
+    method public android.webkit.TracingConfig.Builder setTracingMode(int);
+  }
+
+  public abstract class TracingController {
+    ctor @Deprecated public TracingController();
+    method @NonNull public static android.webkit.TracingController getInstance();
+    method public abstract boolean isTracing();
+    method public abstract void start(@NonNull android.webkit.TracingConfig);
+    method public abstract boolean stop(@Nullable java.io.OutputStream, @NonNull java.util.concurrent.Executor);
+  }
+
+  public final class URLUtil {
+    ctor public URLUtil();
+    method public static String composeSearchUrl(String, String, String);
+    method public static byte[] decode(byte[]) throws java.lang.IllegalArgumentException;
+    method public static String guessFileName(String, @Nullable String, @Nullable String);
+    method public static String guessUrl(String);
+    method public static boolean isAboutUrl(String);
+    method public static boolean isAssetUrl(String);
+    method public static boolean isContentUrl(String);
+    method @Deprecated public static boolean isCookielessProxyUrl(String);
+    method public static boolean isDataUrl(String);
+    method public static boolean isFileUrl(String);
+    method public static boolean isHttpUrl(String);
+    method public static boolean isHttpsUrl(String);
+    method public static boolean isJavaScriptUrl(String);
+    method public static boolean isNetworkUrl(String);
+    method public static boolean isValidUrl(String);
+    method public static String stripAnchor(String);
+  }
+
+  public interface ValueCallback<T> {
+    method public void onReceiveValue(T);
+  }
+
+  public abstract class WebBackForwardList implements java.lang.Cloneable java.io.Serializable {
+    ctor public WebBackForwardList();
+    method protected abstract android.webkit.WebBackForwardList clone();
+    method public abstract int getCurrentIndex();
+    method @Nullable public abstract android.webkit.WebHistoryItem getCurrentItem();
+    method public abstract android.webkit.WebHistoryItem getItemAtIndex(int);
+    method public abstract int getSize();
+  }
+
+  public class WebChromeClient {
+    ctor public WebChromeClient();
+    method @Nullable public android.graphics.Bitmap getDefaultVideoPoster();
+    method @Nullable public android.view.View getVideoLoadingProgressView();
+    method public void getVisitedHistory(android.webkit.ValueCallback<java.lang.String[]>);
+    method public void onCloseWindow(android.webkit.WebView);
+    method @Deprecated public void onConsoleMessage(String, int, String);
+    method public boolean onConsoleMessage(android.webkit.ConsoleMessage);
+    method public boolean onCreateWindow(android.webkit.WebView, boolean, boolean, android.os.Message);
+    method @Deprecated public void onExceededDatabaseQuota(String, String, long, long, long, android.webkit.WebStorage.QuotaUpdater);
+    method public void onGeolocationPermissionsHidePrompt();
+    method public void onGeolocationPermissionsShowPrompt(String, android.webkit.GeolocationPermissions.Callback);
+    method public void onHideCustomView();
+    method public boolean onJsAlert(android.webkit.WebView, String, String, android.webkit.JsResult);
+    method public boolean onJsBeforeUnload(android.webkit.WebView, String, String, android.webkit.JsResult);
+    method public boolean onJsConfirm(android.webkit.WebView, String, String, android.webkit.JsResult);
+    method public boolean onJsPrompt(android.webkit.WebView, String, String, String, android.webkit.JsPromptResult);
+    method @Deprecated public boolean onJsTimeout();
+    method public void onPermissionRequest(android.webkit.PermissionRequest);
+    method public void onPermissionRequestCanceled(android.webkit.PermissionRequest);
+    method public void onProgressChanged(android.webkit.WebView, int);
+    method @Deprecated public void onReachedMaxAppCacheSize(long, long, android.webkit.WebStorage.QuotaUpdater);
+    method public void onReceivedIcon(android.webkit.WebView, android.graphics.Bitmap);
+    method public void onReceivedTitle(android.webkit.WebView, String);
+    method public void onReceivedTouchIconUrl(android.webkit.WebView, String, boolean);
+    method public void onRequestFocus(android.webkit.WebView);
+    method public void onShowCustomView(android.view.View, android.webkit.WebChromeClient.CustomViewCallback);
+    method @Deprecated public void onShowCustomView(android.view.View, int, android.webkit.WebChromeClient.CustomViewCallback);
+    method public boolean onShowFileChooser(android.webkit.WebView, android.webkit.ValueCallback<android.net.Uri[]>, android.webkit.WebChromeClient.FileChooserParams);
+  }
+
+  public static interface WebChromeClient.CustomViewCallback {
+    method public void onCustomViewHidden();
+  }
+
+  public abstract static class WebChromeClient.FileChooserParams {
+    ctor public WebChromeClient.FileChooserParams();
+    method public abstract android.content.Intent createIntent();
+    method public abstract String[] getAcceptTypes();
+    method @Nullable public abstract String getFilenameHint();
+    method public abstract int getMode();
+    method @Nullable public abstract CharSequence getTitle();
+    method public abstract boolean isCaptureEnabled();
+    method @Nullable public static android.net.Uri[] parseResult(int, android.content.Intent);
+    field public static final int MODE_OPEN = 0; // 0x0
+    field public static final int MODE_OPEN_MULTIPLE = 1; // 0x1
+    field public static final int MODE_SAVE = 3; // 0x3
+  }
+
+  public abstract class WebHistoryItem implements java.lang.Cloneable {
+    ctor public WebHistoryItem();
+    method protected abstract android.webkit.WebHistoryItem clone();
+    method @Nullable public abstract android.graphics.Bitmap getFavicon();
+    method public abstract String getOriginalUrl();
+    method public abstract String getTitle();
+    method public abstract String getUrl();
+  }
+
+  @Deprecated public abstract class WebIconDatabase {
+    ctor @Deprecated public WebIconDatabase();
+    method @Deprecated public abstract void close();
+    method @Deprecated public static android.webkit.WebIconDatabase getInstance();
+    method @Deprecated public abstract void open(String);
+    method @Deprecated public abstract void releaseIconForPageUrl(String);
+    method @Deprecated public abstract void removeAllIcons();
+    method @Deprecated public abstract void requestIconForPageUrl(String, android.webkit.WebIconDatabase.IconListener);
+    method @Deprecated public abstract void retainIconForPageUrl(String);
+  }
+
+  @Deprecated public static interface WebIconDatabase.IconListener {
+    method @Deprecated public void onReceivedIcon(String, android.graphics.Bitmap);
+  }
+
+  public class WebMessage {
+    ctor public WebMessage(String);
+    ctor public WebMessage(String, android.webkit.WebMessagePort[]);
+    method public String getData();
+    method @Nullable public android.webkit.WebMessagePort[] getPorts();
+  }
+
+  public abstract class WebMessagePort {
+    method public abstract void close();
+    method public abstract void postMessage(android.webkit.WebMessage);
+    method public abstract void setWebMessageCallback(android.webkit.WebMessagePort.WebMessageCallback);
+    method public abstract void setWebMessageCallback(android.webkit.WebMessagePort.WebMessageCallback, android.os.Handler);
+  }
+
+  public abstract static class WebMessagePort.WebMessageCallback {
+    ctor public WebMessagePort.WebMessageCallback();
+    method public void onMessage(android.webkit.WebMessagePort, android.webkit.WebMessage);
+  }
+
+  public abstract class WebResourceError {
+    method public abstract CharSequence getDescription();
+    method public abstract int getErrorCode();
+  }
+
+  public interface WebResourceRequest {
+    method public String getMethod();
+    method public java.util.Map<java.lang.String,java.lang.String> getRequestHeaders();
+    method public android.net.Uri getUrl();
+    method public boolean hasGesture();
+    method public boolean isForMainFrame();
+    method public boolean isRedirect();
+  }
+
+  public class WebResourceResponse {
+    ctor public WebResourceResponse(String, String, java.io.InputStream);
+    ctor public WebResourceResponse(String, String, int, @NonNull String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
+    method public java.io.InputStream getData();
+    method public String getEncoding();
+    method public String getMimeType();
+    method public String getReasonPhrase();
+    method public java.util.Map<java.lang.String,java.lang.String> getResponseHeaders();
+    method public int getStatusCode();
+    method public void setData(java.io.InputStream);
+    method public void setEncoding(String);
+    method public void setMimeType(String);
+    method public void setResponseHeaders(java.util.Map<java.lang.String,java.lang.String>);
+    method public void setStatusCodeAndReasonPhrase(int, @NonNull String);
+  }
+
+  public abstract class WebSettings {
+    ctor public WebSettings();
+    method @Deprecated public abstract boolean enableSmoothTransition();
+    method public abstract boolean getAllowContentAccess();
+    method public abstract boolean getAllowFileAccess();
+    method public abstract boolean getAllowFileAccessFromFileURLs();
+    method public abstract boolean getAllowUniversalAccessFromFileURLs();
+    method public abstract boolean getBlockNetworkImage();
+    method public abstract boolean getBlockNetworkLoads();
+    method public abstract boolean getBuiltInZoomControls();
+    method public abstract int getCacheMode();
+    method public abstract String getCursiveFontFamily();
+    method public abstract boolean getDatabaseEnabled();
+    method @Deprecated public abstract String getDatabasePath();
+    method public abstract int getDefaultFixedFontSize();
+    method public abstract int getDefaultFontSize();
+    method public abstract String getDefaultTextEncodingName();
+    method public static String getDefaultUserAgent(android.content.Context);
+    method @Deprecated public abstract android.webkit.WebSettings.ZoomDensity getDefaultZoom();
+    method public abstract int getDisabledActionModeMenuItems();
+    method public abstract boolean getDisplayZoomControls();
+    method public abstract boolean getDomStorageEnabled();
+    method public abstract String getFantasyFontFamily();
+    method public abstract String getFixedFontFamily();
+    method public int getForceDark();
+    method public abstract boolean getJavaScriptCanOpenWindowsAutomatically();
+    method public abstract boolean getJavaScriptEnabled();
+    method public abstract android.webkit.WebSettings.LayoutAlgorithm getLayoutAlgorithm();
+    method @Deprecated public abstract boolean getLightTouchEnabled();
+    method public abstract boolean getLoadWithOverviewMode();
+    method public abstract boolean getLoadsImagesAutomatically();
+    method public abstract boolean getMediaPlaybackRequiresUserGesture();
+    method public abstract int getMinimumFontSize();
+    method public abstract int getMinimumLogicalFontSize();
+    method public abstract int getMixedContentMode();
+    method public abstract boolean getOffscreenPreRaster();
+    method @Deprecated public abstract android.webkit.WebSettings.PluginState getPluginState();
+    method public abstract boolean getSafeBrowsingEnabled();
+    method public abstract String getSansSerifFontFamily();
+    method @Deprecated public abstract boolean getSaveFormData();
+    method @Deprecated public abstract boolean getSavePassword();
+    method public abstract String getSerifFontFamily();
+    method public abstract String getStandardFontFamily();
+    method @Deprecated public android.webkit.WebSettings.TextSize getTextSize();
+    method public abstract int getTextZoom();
+    method public abstract boolean getUseWideViewPort();
+    method public abstract String getUserAgentString();
+    method public abstract void setAllowContentAccess(boolean);
+    method public abstract void setAllowFileAccess(boolean);
+    method @Deprecated public abstract void setAllowFileAccessFromFileURLs(boolean);
+    method @Deprecated public abstract void setAllowUniversalAccessFromFileURLs(boolean);
+    method @Deprecated public abstract void setAppCacheEnabled(boolean);
+    method @Deprecated public abstract void setAppCacheMaxSize(long);
+    method @Deprecated public abstract void setAppCachePath(String);
+    method public abstract void setBlockNetworkImage(boolean);
+    method public abstract void setBlockNetworkLoads(boolean);
+    method public abstract void setBuiltInZoomControls(boolean);
+    method public abstract void setCacheMode(int);
+    method public abstract void setCursiveFontFamily(String);
+    method public abstract void setDatabaseEnabled(boolean);
+    method @Deprecated public abstract void setDatabasePath(String);
+    method public abstract void setDefaultFixedFontSize(int);
+    method public abstract void setDefaultFontSize(int);
+    method public abstract void setDefaultTextEncodingName(String);
+    method @Deprecated public abstract void setDefaultZoom(android.webkit.WebSettings.ZoomDensity);
+    method public abstract void setDisabledActionModeMenuItems(int);
+    method public abstract void setDisplayZoomControls(boolean);
+    method public abstract void setDomStorageEnabled(boolean);
+    method @Deprecated public abstract void setEnableSmoothTransition(boolean);
+    method public abstract void setFantasyFontFamily(String);
+    method public abstract void setFixedFontFamily(String);
+    method public void setForceDark(int);
+    method @Deprecated public abstract void setGeolocationDatabasePath(String);
+    method public abstract void setGeolocationEnabled(boolean);
+    method public abstract void setJavaScriptCanOpenWindowsAutomatically(boolean);
+    method public abstract void setJavaScriptEnabled(boolean);
+    method public abstract void setLayoutAlgorithm(android.webkit.WebSettings.LayoutAlgorithm);
+    method @Deprecated public abstract void setLightTouchEnabled(boolean);
+    method public abstract void setLoadWithOverviewMode(boolean);
+    method public abstract void setLoadsImagesAutomatically(boolean);
+    method public abstract void setMediaPlaybackRequiresUserGesture(boolean);
+    method public abstract void setMinimumFontSize(int);
+    method public abstract void setMinimumLogicalFontSize(int);
+    method public abstract void setMixedContentMode(int);
+    method public abstract void setNeedInitialFocus(boolean);
+    method public abstract void setOffscreenPreRaster(boolean);
+    method @Deprecated public abstract void setPluginState(android.webkit.WebSettings.PluginState);
+    method @Deprecated public abstract void setRenderPriority(android.webkit.WebSettings.RenderPriority);
+    method public abstract void setSafeBrowsingEnabled(boolean);
+    method public abstract void setSansSerifFontFamily(String);
+    method @Deprecated public abstract void setSaveFormData(boolean);
+    method @Deprecated public abstract void setSavePassword(boolean);
+    method public abstract void setSerifFontFamily(String);
+    method public abstract void setStandardFontFamily(String);
+    method public abstract void setSupportMultipleWindows(boolean);
+    method public abstract void setSupportZoom(boolean);
+    method @Deprecated public void setTextSize(android.webkit.WebSettings.TextSize);
+    method public abstract void setTextZoom(int);
+    method public abstract void setUseWideViewPort(boolean);
+    method public abstract void setUserAgentString(@Nullable String);
+    method public abstract boolean supportMultipleWindows();
+    method public abstract boolean supportZoom();
+    field public static final int FORCE_DARK_AUTO = 1; // 0x1
+    field public static final int FORCE_DARK_OFF = 0; // 0x0
+    field public static final int FORCE_DARK_ON = 2; // 0x2
+    field public static final int LOAD_CACHE_ELSE_NETWORK = 1; // 0x1
+    field public static final int LOAD_CACHE_ONLY = 3; // 0x3
+    field public static final int LOAD_DEFAULT = -1; // 0xffffffff
+    field @Deprecated public static final int LOAD_NORMAL = 0; // 0x0
+    field public static final int LOAD_NO_CACHE = 2; // 0x2
+    field public static final int MENU_ITEM_NONE = 0; // 0x0
+    field public static final int MENU_ITEM_PROCESS_TEXT = 4; // 0x4
+    field public static final int MENU_ITEM_SHARE = 1; // 0x1
+    field public static final int MENU_ITEM_WEB_SEARCH = 2; // 0x2
+    field public static final int MIXED_CONTENT_ALWAYS_ALLOW = 0; // 0x0
+    field public static final int MIXED_CONTENT_COMPATIBILITY_MODE = 2; // 0x2
+    field public static final int MIXED_CONTENT_NEVER_ALLOW = 1; // 0x1
+  }
+
+  public enum WebSettings.LayoutAlgorithm {
+    enum_constant @Deprecated public static final android.webkit.WebSettings.LayoutAlgorithm NARROW_COLUMNS;
+    enum_constant public static final android.webkit.WebSettings.LayoutAlgorithm NORMAL;
+    enum_constant @Deprecated public static final android.webkit.WebSettings.LayoutAlgorithm SINGLE_COLUMN;
+    enum_constant public static final android.webkit.WebSettings.LayoutAlgorithm TEXT_AUTOSIZING;
+  }
+
+  public enum WebSettings.PluginState {
+    enum_constant public static final android.webkit.WebSettings.PluginState OFF;
+    enum_constant public static final android.webkit.WebSettings.PluginState ON;
+    enum_constant public static final android.webkit.WebSettings.PluginState ON_DEMAND;
+  }
+
+  public enum WebSettings.RenderPriority {
+    enum_constant public static final android.webkit.WebSettings.RenderPriority HIGH;
+    enum_constant public static final android.webkit.WebSettings.RenderPriority LOW;
+    enum_constant public static final android.webkit.WebSettings.RenderPriority NORMAL;
+  }
+
+  @Deprecated public enum WebSettings.TextSize {
+    enum_constant @Deprecated public static final android.webkit.WebSettings.TextSize LARGER;
+    enum_constant @Deprecated public static final android.webkit.WebSettings.TextSize LARGEST;
+    enum_constant @Deprecated public static final android.webkit.WebSettings.TextSize NORMAL;
+    enum_constant @Deprecated public static final android.webkit.WebSettings.TextSize SMALLER;
+    enum_constant @Deprecated public static final android.webkit.WebSettings.TextSize SMALLEST;
+  }
+
+  public enum WebSettings.ZoomDensity {
+    enum_constant public static final android.webkit.WebSettings.ZoomDensity CLOSE;
+    enum_constant public static final android.webkit.WebSettings.ZoomDensity FAR;
+    enum_constant public static final android.webkit.WebSettings.ZoomDensity MEDIUM;
+  }
+
+  public class WebStorage {
+    method public void deleteAllData();
+    method public void deleteOrigin(String);
+    method public static android.webkit.WebStorage getInstance();
+    method public void getOrigins(android.webkit.ValueCallback<java.util.Map>);
+    method public void getQuotaForOrigin(String, android.webkit.ValueCallback<java.lang.Long>);
+    method public void getUsageForOrigin(String, android.webkit.ValueCallback<java.lang.Long>);
+    method @Deprecated public void setQuotaForOrigin(String, long);
+  }
+
+  public static class WebStorage.Origin {
+    method public String getOrigin();
+    method public long getQuota();
+    method public long getUsage();
+  }
+
+  @Deprecated public static interface WebStorage.QuotaUpdater {
+    method @Deprecated public void updateQuota(long);
+  }
+
+  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
+    ctor public WebView(@NonNull android.content.Context);
+    ctor public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, int);
+    ctor @Deprecated public WebView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int, boolean);
+    method public void addJavascriptInterface(@NonNull Object, @NonNull String);
+    method public boolean canGoBack();
+    method public boolean canGoBackOrForward(int);
+    method public boolean canGoForward();
+    method @Deprecated public boolean canZoomIn();
+    method @Deprecated public boolean canZoomOut();
+    method @Deprecated public android.graphics.Picture capturePicture();
+    method public void clearCache(boolean);
+    method public static void clearClientCertPreferences(@Nullable Runnable);
+    method public void clearFormData();
+    method public void clearHistory();
+    method public void clearMatches();
+    method public void clearSslPreferences();
+    method @Deprecated public void clearView();
+    method @NonNull public android.webkit.WebBackForwardList copyBackForwardList();
+    method @Deprecated public android.print.PrintDocumentAdapter createPrintDocumentAdapter();
+    method @NonNull public android.print.PrintDocumentAdapter createPrintDocumentAdapter(@NonNull String);
+    method @NonNull public android.webkit.WebMessagePort[] createWebMessageChannel();
+    method public void destroy();
+    method public static void disableWebView();
+    method public void documentHasImages(@NonNull android.os.Message);
+    method public static void enableSlowWholeDocumentDraw();
+    method public void evaluateJavascript(@NonNull String, @Nullable android.webkit.ValueCallback<java.lang.String>);
+    method @Deprecated @Nullable public static String findAddress(String);
+    method @Deprecated public int findAll(String);
+    method public void findAllAsync(@NonNull String);
+    method public void findNext(boolean);
+    method public void flingScroll(int, int);
+    method @Deprecated public void freeMemory();
+    method @Nullable public android.net.http.SslCertificate getCertificate();
+    method public int getContentHeight();
+    method @Nullable public static android.content.pm.PackageInfo getCurrentWebViewPackage();
+    method @Nullable public android.graphics.Bitmap getFavicon();
+    method @NonNull public android.webkit.WebView.HitTestResult getHitTestResult();
+    method @Deprecated @Nullable public String[] getHttpAuthUsernamePassword(String, String);
+    method @Nullable public String getOriginalUrl();
+    method public int getProgress();
+    method public boolean getRendererPriorityWaivedWhenNotVisible();
+    method public int getRendererRequestedPriority();
+    method @NonNull public static android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
+    method @Deprecated public float getScale();
+    method @NonNull public android.webkit.WebSettings getSettings();
+    method @NonNull public android.view.textclassifier.TextClassifier getTextClassifier();
+    method @Nullable public String getTitle();
+    method @Nullable public String getUrl();
+    method @Nullable public android.webkit.WebChromeClient getWebChromeClient();
+    method @NonNull public static ClassLoader getWebViewClassLoader();
+    method @NonNull public android.webkit.WebViewClient getWebViewClient();
+    method @NonNull public android.os.Looper getWebViewLooper();
+    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
+    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
+    method public void goBack();
+    method public void goBackOrForward(int);
+    method public void goForward();
+    method public void invokeZoomPicker();
+    method public boolean isPrivateBrowsingEnabled();
+    method public void loadData(@NonNull String, @Nullable String, @Nullable String);
+    method public void loadDataWithBaseURL(@Nullable String, @NonNull String, @Nullable String, @Nullable String, @Nullable String);
+    method public void loadUrl(@NonNull String, @NonNull java.util.Map<java.lang.String,java.lang.String>);
+    method public void loadUrl(@NonNull String);
+    method @Deprecated public void onChildViewAdded(android.view.View, android.view.View);
+    method @Deprecated public void onChildViewRemoved(android.view.View, android.view.View);
+    method @Deprecated public void onGlobalFocusChanged(android.view.View, android.view.View);
+    method public void onPause();
+    method public void onResume();
+    method @Deprecated public boolean overlayHorizontalScrollbar();
+    method @Deprecated public boolean overlayVerticalScrollbar();
+    method public boolean pageDown(boolean);
+    method public boolean pageUp(boolean);
+    method public void pauseTimers();
+    method public void postUrl(@NonNull String, @NonNull byte[]);
+    method public void postVisualStateCallback(long, @NonNull android.webkit.WebView.VisualStateCallback);
+    method public void postWebMessage(@NonNull android.webkit.WebMessage, @NonNull android.net.Uri);
+    method public void reload();
+    method public void removeJavascriptInterface(@NonNull String);
+    method public void requestFocusNodeHref(@Nullable android.os.Message);
+    method public void requestImageRef(@NonNull android.os.Message);
+    method @Nullable public android.webkit.WebBackForwardList restoreState(@NonNull android.os.Bundle);
+    method public void resumeTimers();
+    method @Deprecated public void savePassword(String, String, String);
+    method @Nullable public android.webkit.WebBackForwardList saveState(@NonNull android.os.Bundle);
+    method public void saveWebArchive(@NonNull String);
+    method public void saveWebArchive(@NonNull String, boolean, @Nullable android.webkit.ValueCallback<java.lang.String>);
+    method @Deprecated public void setCertificate(android.net.http.SslCertificate);
+    method public static void setDataDirectorySuffix(@NonNull String);
+    method public void setDownloadListener(@Nullable android.webkit.DownloadListener);
+    method public void setFindListener(@Nullable android.webkit.WebView.FindListener);
+    method @Deprecated public void setHorizontalScrollbarOverlay(boolean);
+    method @Deprecated public void setHttpAuthUsernamePassword(String, String, String, String);
+    method public void setInitialScale(int);
+    method @Deprecated public void setMapTrackballToArrowKeys(boolean);
+    method public void setNetworkAvailable(boolean);
+    method @Deprecated public void setPictureListener(android.webkit.WebView.PictureListener);
+    method public void setRendererPriorityPolicy(int, boolean);
+    method public static void setSafeBrowsingWhitelist(@NonNull java.util.List<java.lang.String>, @Nullable android.webkit.ValueCallback<java.lang.Boolean>);
+    method public void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
+    method @Deprecated public void setVerticalScrollbarOverlay(boolean);
+    method public void setWebChromeClient(@Nullable android.webkit.WebChromeClient);
+    method public static void setWebContentsDebuggingEnabled(boolean);
+    method public void setWebViewClient(@NonNull android.webkit.WebViewClient);
+    method public void setWebViewRenderProcessClient(@NonNull java.util.concurrent.Executor, @NonNull android.webkit.WebViewRenderProcessClient);
+    method public void setWebViewRenderProcessClient(@Nullable android.webkit.WebViewRenderProcessClient);
+    method @Deprecated public boolean shouldDelayChildPressedState();
+    method @Deprecated public boolean showFindDialog(@Nullable String, boolean);
+    method public static void startSafeBrowsing(@NonNull android.content.Context, @Nullable android.webkit.ValueCallback<java.lang.Boolean>);
+    method public void stopLoading();
+    method public void zoomBy(float);
+    method public boolean zoomIn();
+    method public boolean zoomOut();
+    field public static final int RENDERER_PRIORITY_BOUND = 1; // 0x1
+    field public static final int RENDERER_PRIORITY_IMPORTANT = 2; // 0x2
+    field public static final int RENDERER_PRIORITY_WAIVED = 0; // 0x0
+    field public static final String SCHEME_GEO = "geo:0,0?q=";
+    field public static final String SCHEME_MAILTO = "mailto:";
+    field public static final String SCHEME_TEL = "tel:";
+  }
+
+  public static interface WebView.FindListener {
+    method public void onFindResultReceived(int, int, boolean);
+  }
+
+  public static class WebView.HitTestResult {
+    method @Nullable public String getExtra();
+    method public int getType();
+    field @Deprecated public static final int ANCHOR_TYPE = 1; // 0x1
+    field public static final int EDIT_TEXT_TYPE = 9; // 0x9
+    field public static final int EMAIL_TYPE = 4; // 0x4
+    field public static final int GEO_TYPE = 3; // 0x3
+    field @Deprecated public static final int IMAGE_ANCHOR_TYPE = 6; // 0x6
+    field public static final int IMAGE_TYPE = 5; // 0x5
+    field public static final int PHONE_TYPE = 2; // 0x2
+    field public static final int SRC_ANCHOR_TYPE = 7; // 0x7
+    field public static final int SRC_IMAGE_ANCHOR_TYPE = 8; // 0x8
+    field public static final int UNKNOWN_TYPE = 0; // 0x0
+  }
+
+  @Deprecated public static interface WebView.PictureListener {
+    method @Deprecated public void onNewPicture(android.webkit.WebView, @Nullable android.graphics.Picture);
+  }
+
+  public abstract static class WebView.VisualStateCallback {
+    ctor public WebView.VisualStateCallback();
+    method public abstract void onComplete(long);
+  }
+
+  public class WebView.WebViewTransport {
+    ctor public WebView.WebViewTransport();
+    method @Nullable public android.webkit.WebView getWebView();
+    method public void setWebView(@Nullable android.webkit.WebView);
+  }
+
+  public class WebViewClient {
+    ctor public WebViewClient();
+    method public void doUpdateVisitedHistory(android.webkit.WebView, String, boolean);
+    method public void onFormResubmission(android.webkit.WebView, android.os.Message, android.os.Message);
+    method public void onLoadResource(android.webkit.WebView, String);
+    method public void onPageCommitVisible(android.webkit.WebView, String);
+    method public void onPageFinished(android.webkit.WebView, String);
+    method public void onPageStarted(android.webkit.WebView, String, android.graphics.Bitmap);
+    method public void onReceivedClientCertRequest(android.webkit.WebView, android.webkit.ClientCertRequest);
+    method @Deprecated public void onReceivedError(android.webkit.WebView, int, String, String);
+    method public void onReceivedError(android.webkit.WebView, android.webkit.WebResourceRequest, android.webkit.WebResourceError);
+    method public void onReceivedHttpAuthRequest(android.webkit.WebView, android.webkit.HttpAuthHandler, String, String);
+    method public void onReceivedHttpError(android.webkit.WebView, android.webkit.WebResourceRequest, android.webkit.WebResourceResponse);
+    method public void onReceivedLoginRequest(android.webkit.WebView, String, @Nullable String, String);
+    method public void onReceivedSslError(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError);
+    method public boolean onRenderProcessGone(android.webkit.WebView, android.webkit.RenderProcessGoneDetail);
+    method public void onSafeBrowsingHit(android.webkit.WebView, android.webkit.WebResourceRequest, int, android.webkit.SafeBrowsingResponse);
+    method public void onScaleChanged(android.webkit.WebView, float, float);
+    method @Deprecated public void onTooManyRedirects(android.webkit.WebView, android.os.Message, android.os.Message);
+    method public void onUnhandledKeyEvent(android.webkit.WebView, android.view.KeyEvent);
+    method @Deprecated @Nullable public android.webkit.WebResourceResponse shouldInterceptRequest(android.webkit.WebView, String);
+    method @Nullable public android.webkit.WebResourceResponse shouldInterceptRequest(android.webkit.WebView, android.webkit.WebResourceRequest);
+    method public boolean shouldOverrideKeyEvent(android.webkit.WebView, android.view.KeyEvent);
+    method @Deprecated public boolean shouldOverrideUrlLoading(android.webkit.WebView, String);
+    method public boolean shouldOverrideUrlLoading(android.webkit.WebView, android.webkit.WebResourceRequest);
+    field public static final int ERROR_AUTHENTICATION = -4; // 0xfffffffc
+    field public static final int ERROR_BAD_URL = -12; // 0xfffffff4
+    field public static final int ERROR_CONNECT = -6; // 0xfffffffa
+    field public static final int ERROR_FAILED_SSL_HANDSHAKE = -11; // 0xfffffff5
+    field public static final int ERROR_FILE = -13; // 0xfffffff3
+    field public static final int ERROR_FILE_NOT_FOUND = -14; // 0xfffffff2
+    field public static final int ERROR_HOST_LOOKUP = -2; // 0xfffffffe
+    field public static final int ERROR_IO = -7; // 0xfffffff9
+    field public static final int ERROR_PROXY_AUTHENTICATION = -5; // 0xfffffffb
+    field public static final int ERROR_REDIRECT_LOOP = -9; // 0xfffffff7
+    field public static final int ERROR_TIMEOUT = -8; // 0xfffffff8
+    field public static final int ERROR_TOO_MANY_REQUESTS = -15; // 0xfffffff1
+    field public static final int ERROR_UNKNOWN = -1; // 0xffffffff
+    field public static final int ERROR_UNSAFE_RESOURCE = -16; // 0xfffffff0
+    field public static final int ERROR_UNSUPPORTED_AUTH_SCHEME = -3; // 0xfffffffd
+    field public static final int ERROR_UNSUPPORTED_SCHEME = -10; // 0xfffffff6
+    field public static final int SAFE_BROWSING_THREAT_BILLING = 4; // 0x4
+    field public static final int SAFE_BROWSING_THREAT_MALWARE = 1; // 0x1
+    field public static final int SAFE_BROWSING_THREAT_PHISHING = 2; // 0x2
+    field public static final int SAFE_BROWSING_THREAT_UNKNOWN = 0; // 0x0
+    field public static final int SAFE_BROWSING_THREAT_UNWANTED_SOFTWARE = 3; // 0x3
+  }
+
+  public abstract class WebViewDatabase {
+    ctor @Deprecated public WebViewDatabase();
+    method @Deprecated public abstract void clearFormData();
+    method public abstract void clearHttpAuthUsernamePassword();
+    method @Deprecated public abstract void clearUsernamePassword();
+    method @Nullable public abstract String[] getHttpAuthUsernamePassword(String, String);
+    method public static android.webkit.WebViewDatabase getInstance(android.content.Context);
+    method @Deprecated public abstract boolean hasFormData();
+    method public abstract boolean hasHttpAuthUsernamePassword();
+    method @Deprecated public abstract boolean hasUsernamePassword();
+    method public abstract void setHttpAuthUsernamePassword(String, String, String, String);
+  }
+
+  @Deprecated public class WebViewFragment extends android.app.Fragment {
+    ctor @Deprecated public WebViewFragment();
+    method @Deprecated public android.webkit.WebView getWebView();
+  }
+
+  public abstract class WebViewRenderProcess {
+    ctor public WebViewRenderProcess();
+    method public abstract boolean terminate();
+  }
+
+  public abstract class WebViewRenderProcessClient {
+    ctor public WebViewRenderProcessClient();
+    method public abstract void onRenderProcessResponsive(@NonNull android.webkit.WebView, @Nullable android.webkit.WebViewRenderProcess);
+    method public abstract void onRenderProcessUnresponsive(@NonNull android.webkit.WebView, @Nullable android.webkit.WebViewRenderProcess);
+  }
+
+}
+
+package android.widget {
+
+  public abstract class AbsListView extends android.widget.AdapterView<android.widget.ListAdapter> implements android.widget.Filter.FilterListener android.text.TextWatcher android.view.ViewTreeObserver.OnGlobalLayoutListener android.view.ViewTreeObserver.OnTouchModeChangeListener {
+    ctor public AbsListView(android.content.Context);
+    ctor public AbsListView(android.content.Context, android.util.AttributeSet);
+    ctor public AbsListView(android.content.Context, android.util.AttributeSet, int);
+    ctor public AbsListView(android.content.Context, android.util.AttributeSet, int, int);
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public boolean canScrollList(int);
+    method public void clearChoices();
+    method public void clearTextFilter();
+    method public void deferNotifyDataSetChanged();
+    method public void fling(int);
+    method public android.widget.AbsListView.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method @ColorInt public int getBottomEdgeEffectColor();
+    method @ColorInt public int getCacheColorHint();
+    method public int getCheckedItemCount();
+    method public long[] getCheckedItemIds();
+    method public int getCheckedItemPosition();
+    method public android.util.SparseBooleanArray getCheckedItemPositions();
+    method public int getChoiceMode();
+    method public int getListPaddingBottom();
+    method public int getListPaddingLeft();
+    method public int getListPaddingRight();
+    method public int getListPaddingTop();
+    method public android.view.View getSelectedView();
+    method public android.graphics.drawable.Drawable getSelector();
+    method public CharSequence getTextFilter();
+    method @ColorInt public int getTopEdgeEffectColor();
+    method public int getTranscriptMode();
+    method protected void handleDataChanged();
+    method public boolean hasTextFilter();
+    method public void invalidateViews();
+    method public boolean isDrawSelectorOnTop();
+    method public boolean isFastScrollAlwaysVisible();
+    method public boolean isFastScrollEnabled();
+    method protected boolean isInFilterMode();
+    method public boolean isItemChecked(int);
+    method public boolean isScrollingCacheEnabled();
+    method public boolean isSmoothScrollbarEnabled();
+    method public boolean isStackFromBottom();
+    method public boolean isTextFilterEnabled();
+    method protected void layoutChildren();
+    method public void onFilterComplete(int);
+    method public void onGlobalLayout();
+    method public void onInitializeAccessibilityNodeInfoForItem(android.view.View, int, android.view.accessibility.AccessibilityNodeInfo);
+    method public boolean onRemoteAdapterConnected();
+    method public void onRemoteAdapterDisconnected();
+    method public void onRestoreInstanceState(android.os.Parcelable);
+    method public android.os.Parcelable onSaveInstanceState();
+    method public void onTextChanged(CharSequence, int, int, int);
+    method public void onTouchModeChanged(boolean);
+    method public int pointToPosition(int, int);
+    method public long pointToRowId(int, int);
+    method public void reclaimViews(java.util.List<android.view.View>);
+    method public void scrollListBy(int);
+    method public void setAdapter(android.widget.ListAdapter);
+    method public void setBottomEdgeEffectColor(@ColorInt int);
+    method public void setCacheColorHint(@ColorInt int);
+    method public void setChoiceMode(int);
+    method public void setDrawSelectorOnTop(boolean);
+    method public void setEdgeEffectColor(@ColorInt int);
+    method public void setFastScrollAlwaysVisible(boolean);
+    method public void setFastScrollEnabled(boolean);
+    method public void setFastScrollStyle(int);
+    method public void setFilterText(String);
+    method public void setFriction(float);
+    method public void setItemChecked(int, boolean);
+    method public void setMultiChoiceModeListener(android.widget.AbsListView.MultiChoiceModeListener);
+    method public void setOnScrollListener(android.widget.AbsListView.OnScrollListener);
+    method public void setRecyclerListener(android.widget.AbsListView.RecyclerListener);
+    method public void setRemoteViewsAdapter(android.content.Intent);
+    method public void setScrollIndicators(android.view.View, android.view.View);
+    method public void setScrollingCacheEnabled(boolean);
+    method public void setSelectionFromTop(int, int);
+    method public void setSelector(@DrawableRes int);
+    method public void setSelector(android.graphics.drawable.Drawable);
+    method public void setSmoothScrollbarEnabled(boolean);
+    method public void setStackFromBottom(boolean);
+    method public void setTextFilterEnabled(boolean);
+    method public void setTopEdgeEffectColor(@ColorInt int);
+    method public void setTranscriptMode(int);
+    method public void setVelocityScale(float);
+    method public void smoothScrollBy(int, int);
+    method public void smoothScrollToPosition(int);
+    method public void smoothScrollToPosition(int, int);
+    method public void smoothScrollToPositionFromTop(int, int, int);
+    method public void smoothScrollToPositionFromTop(int, int);
+    method public boolean verifyDrawable(@NonNull android.graphics.drawable.Drawable);
+    field public static final int CHOICE_MODE_MULTIPLE = 2; // 0x2
+    field public static final int CHOICE_MODE_MULTIPLE_MODAL = 3; // 0x3
+    field public static final int CHOICE_MODE_NONE = 0; // 0x0
+    field public static final int CHOICE_MODE_SINGLE = 1; // 0x1
+    field public static final int TRANSCRIPT_MODE_ALWAYS_SCROLL = 2; // 0x2
+    field public static final int TRANSCRIPT_MODE_DISABLED = 0; // 0x0
+    field public static final int TRANSCRIPT_MODE_NORMAL = 1; // 0x1
+  }
+
+  public static class AbsListView.LayoutParams extends android.view.ViewGroup.LayoutParams {
+    ctor public AbsListView.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public AbsListView.LayoutParams(int, int);
+    ctor public AbsListView.LayoutParams(int, int, int);
+    ctor public AbsListView.LayoutParams(android.view.ViewGroup.LayoutParams);
+  }
+
+  public static interface AbsListView.MultiChoiceModeListener extends android.view.ActionMode.Callback {
+    method public void onItemCheckedStateChanged(android.view.ActionMode, int, long, boolean);
+  }
+
+  public static interface AbsListView.OnScrollListener {
+    method public void onScroll(android.widget.AbsListView, int, int, int);
+    method public void onScrollStateChanged(android.widget.AbsListView, int);
+    field public static final int SCROLL_STATE_FLING = 2; // 0x2
+    field public static final int SCROLL_STATE_IDLE = 0; // 0x0
+    field public static final int SCROLL_STATE_TOUCH_SCROLL = 1; // 0x1
+  }
+
+  public static interface AbsListView.RecyclerListener {
+    method public void onMovedToScrapHeap(android.view.View);
+  }
+
+  public static interface AbsListView.SelectionBoundsAdjuster {
+    method public void adjustListItemSelectionBounds(android.graphics.Rect);
+  }
+
+  public abstract class AbsSeekBar extends android.widget.ProgressBar {
+    ctor public AbsSeekBar(android.content.Context);
+    ctor public AbsSeekBar(android.content.Context, android.util.AttributeSet);
+    ctor public AbsSeekBar(android.content.Context, android.util.AttributeSet, int);
+    ctor public AbsSeekBar(android.content.Context, android.util.AttributeSet, int, int);
+    method public int getKeyProgressIncrement();
+    method public boolean getSplitTrack();
+    method public android.graphics.drawable.Drawable getThumb();
+    method public int getThumbOffset();
+    method @Nullable public android.graphics.BlendMode getThumbTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getThumbTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getThumbTintMode();
+    method public android.graphics.drawable.Drawable getTickMark();
+    method @Nullable public android.graphics.BlendMode getTickMarkTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getTickMarkTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getTickMarkTintMode();
+    method public void setKeyProgressIncrement(int);
+    method public void setSplitTrack(boolean);
+    method public void setThumb(android.graphics.drawable.Drawable);
+    method public void setThumbOffset(int);
+    method public void setThumbTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setThumbTintList(@Nullable android.content.res.ColorStateList);
+    method public void setThumbTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setTickMark(android.graphics.drawable.Drawable);
+    method public void setTickMarkTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setTickMarkTintList(@Nullable android.content.res.ColorStateList);
+    method public void setTickMarkTintMode(@Nullable android.graphics.PorterDuff.Mode);
+  }
+
+  public abstract class AbsSpinner extends android.widget.AdapterView<android.widget.SpinnerAdapter> {
+    ctor public AbsSpinner(android.content.Context);
+    ctor public AbsSpinner(android.content.Context, android.util.AttributeSet);
+    ctor public AbsSpinner(android.content.Context, android.util.AttributeSet, int);
+    ctor public AbsSpinner(android.content.Context, android.util.AttributeSet, int, int);
+    method public android.widget.SpinnerAdapter getAdapter();
+    method public android.view.View getSelectedView();
+    method public void onRestoreInstanceState(android.os.Parcelable);
+    method public android.os.Parcelable onSaveInstanceState();
+    method public int pointToPosition(int, int);
+    method public void setAdapter(android.widget.SpinnerAdapter);
+    method public void setSelection(int, boolean);
+    method public void setSelection(int);
+  }
+
+  @Deprecated @android.widget.RemoteViews.RemoteView public class AbsoluteLayout extends android.view.ViewGroup {
+    ctor @Deprecated public AbsoluteLayout(android.content.Context);
+    ctor @Deprecated public AbsoluteLayout(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public AbsoluteLayout(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public AbsoluteLayout(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  @Deprecated public static class AbsoluteLayout.LayoutParams extends android.view.ViewGroup.LayoutParams {
+    ctor @Deprecated public AbsoluteLayout.LayoutParams(int, int, int, int);
+    ctor @Deprecated public AbsoluteLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public AbsoluteLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+    method @Deprecated public String debug(String);
+    field @Deprecated public int x;
+    field @Deprecated public int y;
+  }
+
+  public class ActionMenuView extends android.widget.LinearLayout {
+    ctor public ActionMenuView(android.content.Context);
+    ctor public ActionMenuView(android.content.Context, android.util.AttributeSet);
+    method public void dismissPopupMenus();
+    method protected android.widget.ActionMenuView.LayoutParams generateDefaultLayoutParams();
+    method public android.widget.ActionMenuView.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method protected android.widget.ActionMenuView.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public android.view.Menu getMenu();
+    method @Nullable public android.graphics.drawable.Drawable getOverflowIcon();
+    method public int getPopupTheme();
+    method public boolean hideOverflowMenu();
+    method public boolean isOverflowMenuShowing();
+    method public void onConfigurationChanged(android.content.res.Configuration);
+    method public void onDetachedFromWindow();
+    method public void setOnMenuItemClickListener(android.widget.ActionMenuView.OnMenuItemClickListener);
+    method public void setOverflowIcon(@Nullable android.graphics.drawable.Drawable);
+    method public void setPopupTheme(@StyleRes int);
+    method public boolean showOverflowMenu();
+  }
+
+  public static class ActionMenuView.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+    ctor public ActionMenuView.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public ActionMenuView.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public ActionMenuView.LayoutParams(android.widget.ActionMenuView.LayoutParams);
+    ctor public ActionMenuView.LayoutParams(int, int);
+  }
+
+  public static interface ActionMenuView.OnMenuItemClickListener {
+    method public boolean onMenuItemClick(android.view.MenuItem);
+  }
+
+  public interface Adapter {
+    method @Nullable public default CharSequence[] getAutofillOptions();
+    method public int getCount();
+    method public Object getItem(int);
+    method public long getItemId(int);
+    method public int getItemViewType(int);
+    method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+    method public int getViewTypeCount();
+    method public boolean hasStableIds();
+    method public boolean isEmpty();
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+    field public static final int IGNORE_ITEM_VIEW_TYPE = -1; // 0xffffffff
+    field public static final int NO_SELECTION = -2147483648; // 0x80000000
+  }
+
+  public abstract class AdapterView<T extends android.widget.Adapter> extends android.view.ViewGroup {
+    ctor public AdapterView(android.content.Context);
+    ctor public AdapterView(android.content.Context, android.util.AttributeSet);
+    ctor public AdapterView(android.content.Context, android.util.AttributeSet, int);
+    ctor public AdapterView(android.content.Context, android.util.AttributeSet, int, int);
+    method public abstract T getAdapter();
+    method public int getCount();
+    method public android.view.View getEmptyView();
+    method public int getFirstVisiblePosition();
+    method public Object getItemAtPosition(int);
+    method public long getItemIdAtPosition(int);
+    method public int getLastVisiblePosition();
+    method @Nullable public final android.widget.AdapterView.OnItemClickListener getOnItemClickListener();
+    method public final android.widget.AdapterView.OnItemLongClickListener getOnItemLongClickListener();
+    method @Nullable public final android.widget.AdapterView.OnItemSelectedListener getOnItemSelectedListener();
+    method public int getPositionForView(android.view.View);
+    method public Object getSelectedItem();
+    method public long getSelectedItemId();
+    method public int getSelectedItemPosition();
+    method public abstract android.view.View getSelectedView();
+    method public boolean performItemClick(android.view.View, int, long);
+    method public abstract void setAdapter(T);
+    method public void setEmptyView(android.view.View);
+    method public void setOnItemClickListener(@Nullable android.widget.AdapterView.OnItemClickListener);
+    method public void setOnItemLongClickListener(android.widget.AdapterView.OnItemLongClickListener);
+    method public void setOnItemSelectedListener(@Nullable android.widget.AdapterView.OnItemSelectedListener);
+    method public abstract void setSelection(int);
+    field public static final int INVALID_POSITION = -1; // 0xffffffff
+    field public static final long INVALID_ROW_ID = -9223372036854775808L; // 0x8000000000000000L
+    field public static final int ITEM_VIEW_TYPE_HEADER_OR_FOOTER = -2; // 0xfffffffe
+    field public static final int ITEM_VIEW_TYPE_IGNORE = -1; // 0xffffffff
+  }
+
+  public static class AdapterView.AdapterContextMenuInfo implements android.view.ContextMenu.ContextMenuInfo {
+    ctor public AdapterView.AdapterContextMenuInfo(android.view.View, int, long);
+    field public long id;
+    field public int position;
+    field public android.view.View targetView;
+  }
+
+  public static interface AdapterView.OnItemClickListener {
+    method public void onItemClick(android.widget.AdapterView<?>, android.view.View, int, long);
+  }
+
+  public static interface AdapterView.OnItemLongClickListener {
+    method public boolean onItemLongClick(android.widget.AdapterView<?>, android.view.View, int, long);
+  }
+
+  public static interface AdapterView.OnItemSelectedListener {
+    method public void onItemSelected(android.widget.AdapterView<?>, android.view.View, int, long);
+    method public void onNothingSelected(android.widget.AdapterView<?>);
+  }
+
+  public abstract class AdapterViewAnimator extends android.widget.AdapterView<android.widget.Adapter> implements android.widget.Advanceable {
+    ctor public AdapterViewAnimator(android.content.Context);
+    ctor public AdapterViewAnimator(android.content.Context, android.util.AttributeSet);
+    ctor public AdapterViewAnimator(android.content.Context, android.util.AttributeSet, int);
+    ctor public AdapterViewAnimator(android.content.Context, android.util.AttributeSet, int, int);
+    method public void advance();
+    method public void deferNotifyDataSetChanged();
+    method public void fyiWillBeAdvancedByHostKThx();
+    method public android.widget.Adapter getAdapter();
+    method public android.view.View getCurrentView();
+    method public int getDisplayedChild();
+    method public android.animation.ObjectAnimator getInAnimation();
+    method public android.animation.ObjectAnimator getOutAnimation();
+    method public android.view.View getSelectedView();
+    method public boolean onRemoteAdapterConnected();
+    method public void onRemoteAdapterDisconnected();
+    method public void onRestoreInstanceState(android.os.Parcelable);
+    method public android.os.Parcelable onSaveInstanceState();
+    method public void setAdapter(android.widget.Adapter);
+    method public void setAnimateFirstView(boolean);
+    method public void setDisplayedChild(int);
+    method public void setInAnimation(android.animation.ObjectAnimator);
+    method public void setInAnimation(android.content.Context, int);
+    method public void setOutAnimation(android.animation.ObjectAnimator);
+    method public void setOutAnimation(android.content.Context, int);
+    method public void setRemoteViewsAdapter(android.content.Intent);
+    method public void setSelection(int);
+    method public void showNext();
+    method public void showPrevious();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class AdapterViewFlipper extends android.widget.AdapterViewAnimator {
+    ctor public AdapterViewFlipper(android.content.Context);
+    ctor public AdapterViewFlipper(android.content.Context, android.util.AttributeSet);
+    ctor public AdapterViewFlipper(android.content.Context, android.util.AttributeSet, int);
+    ctor public AdapterViewFlipper(android.content.Context, android.util.AttributeSet, int, int);
+    method public int getFlipInterval();
+    method public boolean isAutoStart();
+    method public boolean isFlipping();
+    method public void setAutoStart(boolean);
+    method public void setFlipInterval(int);
+    method public void startFlipping();
+    method public void stopFlipping();
+  }
+
+  public interface Advanceable {
+    method public void advance();
+    method public void fyiWillBeAdvancedByHostKThx();
+  }
+
+  public class AlphabetIndexer extends android.database.DataSetObserver implements android.widget.SectionIndexer {
+    ctor public AlphabetIndexer(android.database.Cursor, int, CharSequence);
+    method protected int compare(String, String);
+    method public int getPositionForSection(int);
+    method public int getSectionForPosition(int);
+    method public Object[] getSections();
+    method public void setCursor(android.database.Cursor);
+    field protected CharSequence mAlphabet;
+    field protected int mColumnIndex;
+    field protected android.database.Cursor mDataCursor;
+  }
+
+  @Deprecated @android.widget.RemoteViews.RemoteView public class AnalogClock extends android.view.View {
+    ctor @Deprecated public AnalogClock(android.content.Context);
+    ctor @Deprecated public AnalogClock(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public AnalogClock(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public AnalogClock(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated @Nullable public android.graphics.BlendMode getDialTintBlendMode();
+    method @Deprecated @Nullable public android.content.res.ColorStateList getDialTintList();
+    method @Deprecated @Nullable public android.graphics.BlendMode getHourHandTintBlendMode();
+    method @Deprecated @Nullable public android.content.res.ColorStateList getHourHandTintList();
+    method @Deprecated @Nullable public android.graphics.BlendMode getMinuteHandTintBlendMode();
+    method @Deprecated @Nullable public android.content.res.ColorStateList getMinuteHandTintList();
+    method @Deprecated @Nullable public android.graphics.BlendMode getSecondHandTintBlendMode();
+    method @Deprecated @Nullable public android.content.res.ColorStateList getSecondHandTintList();
+    method @Deprecated @Nullable public String getTimeZone();
+    method @Deprecated public void setDial(@NonNull android.graphics.drawable.Icon);
+    method @Deprecated public void setDialTintBlendMode(@Nullable android.graphics.BlendMode);
+    method @Deprecated public void setDialTintList(@Nullable android.content.res.ColorStateList);
+    method @Deprecated public void setHourHand(@NonNull android.graphics.drawable.Icon);
+    method @Deprecated public void setHourHandTintBlendMode(@Nullable android.graphics.BlendMode);
+    method @Deprecated public void setHourHandTintList(@Nullable android.content.res.ColorStateList);
+    method @Deprecated public void setMinuteHand(@NonNull android.graphics.drawable.Icon);
+    method @Deprecated public void setMinuteHandTintBlendMode(@Nullable android.graphics.BlendMode);
+    method @Deprecated public void setMinuteHandTintList(@Nullable android.content.res.ColorStateList);
+    method @Deprecated public void setSecondHand(@Nullable android.graphics.drawable.Icon);
+    method @Deprecated public void setSecondHandTintBlendMode(@Nullable android.graphics.BlendMode);
+    method @Deprecated public void setSecondHandTintList(@Nullable android.content.res.ColorStateList);
+    method @Deprecated public void setTimeZone(@Nullable String);
+  }
+
+  public class ArrayAdapter<T> extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int);
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int, @IdRes int);
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int, @NonNull T[]);
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int, @IdRes int, @NonNull T[]);
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int, @NonNull java.util.List<T>);
+    ctor public ArrayAdapter(@NonNull android.content.Context, @LayoutRes int, @IdRes int, @NonNull java.util.List<T>);
+    method public void add(@Nullable T);
+    method public void addAll(@NonNull java.util.Collection<? extends T>);
+    method public void addAll(T...);
+    method public void clear();
+    method @NonNull public static android.widget.ArrayAdapter<java.lang.CharSequence> createFromResource(@NonNull android.content.Context, @ArrayRes int, @LayoutRes int);
+    method @NonNull public android.content.Context getContext();
+    method public int getCount();
+    method @Nullable public android.content.res.Resources.Theme getDropDownViewTheme();
+    method @NonNull public android.widget.Filter getFilter();
+    method @Nullable public T getItem(int);
+    method public long getItemId(int);
+    method public int getPosition(@Nullable T);
+    method @NonNull public android.view.View getView(int, @Nullable android.view.View, @NonNull android.view.ViewGroup);
+    method public void insert(@Nullable T, int);
+    method public void remove(@Nullable T);
+    method public void setDropDownViewResource(@LayoutRes int);
+    method public void setDropDownViewTheme(@Nullable android.content.res.Resources.Theme);
+    method public void setNotifyOnChange(boolean);
+    method public void sort(@NonNull java.util.Comparator<? super T>);
+  }
+
+  public class AutoCompleteTextView extends android.widget.EditText implements android.widget.Filter.FilterListener {
+    ctor public AutoCompleteTextView(android.content.Context);
+    ctor public AutoCompleteTextView(android.content.Context, android.util.AttributeSet);
+    ctor public AutoCompleteTextView(android.content.Context, android.util.AttributeSet, int);
+    ctor public AutoCompleteTextView(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public AutoCompleteTextView(android.content.Context, android.util.AttributeSet, int, int, android.content.res.Resources.Theme);
+    method public void clearListSelection();
+    method protected CharSequence convertSelectionToString(Object);
+    method public void dismissDropDown();
+    method public boolean enoughToFilter();
+    method public android.widget.ListAdapter getAdapter();
+    method public CharSequence getCompletionHint();
+    method public int getDropDownAnchor();
+    method public android.graphics.drawable.Drawable getDropDownBackground();
+    method public int getDropDownHeight();
+    method public int getDropDownHorizontalOffset();
+    method public int getDropDownVerticalOffset();
+    method public int getDropDownWidth();
+    method protected android.widget.Filter getFilter();
+    method public int getInputMethodMode();
+    method @Deprecated public android.widget.AdapterView.OnItemClickListener getItemClickListener();
+    method @Deprecated public android.widget.AdapterView.OnItemSelectedListener getItemSelectedListener();
+    method public int getListSelection();
+    method public android.widget.AdapterView.OnItemClickListener getOnItemClickListener();
+    method public android.widget.AdapterView.OnItemSelectedListener getOnItemSelectedListener();
+    method public int getThreshold();
+    method public android.widget.AutoCompleteTextView.Validator getValidator();
+    method public boolean isPerformingCompletion();
+    method public boolean isPopupShowing();
+    method public void onFilterComplete(int);
+    method public void performCompletion();
+    method protected void performFiltering(CharSequence, int);
+    method public void performValidation();
+    method public final void refreshAutoCompleteResults();
+    method protected void replaceText(CharSequence);
+    method public <T extends android.widget.ListAdapter & android.widget.Filterable> void setAdapter(T);
+    method public void setCompletionHint(CharSequence);
+    method public void setDropDownAnchor(int);
+    method public void setDropDownBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setDropDownBackgroundResource(@DrawableRes int);
+    method public void setDropDownHeight(int);
+    method public void setDropDownHorizontalOffset(int);
+    method public void setDropDownVerticalOffset(int);
+    method public void setDropDownWidth(int);
+    method public void setInputMethodMode(int);
+    method public void setListSelection(int);
+    method public void setOnDismissListener(android.widget.AutoCompleteTextView.OnDismissListener);
+    method public void setOnItemClickListener(android.widget.AdapterView.OnItemClickListener);
+    method public void setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener);
+    method public void setText(CharSequence, boolean);
+    method public void setThreshold(int);
+    method public void setValidator(android.widget.AutoCompleteTextView.Validator);
+    method public void showDropDown();
+  }
+
+  public static interface AutoCompleteTextView.OnDismissListener {
+    method public void onDismiss();
+  }
+
+  public static interface AutoCompleteTextView.Validator {
+    method public CharSequence fixText(CharSequence);
+    method public boolean isValid(CharSequence);
+  }
+
+  public abstract class BaseAdapter implements android.widget.ListAdapter android.widget.SpinnerAdapter {
+    ctor public BaseAdapter();
+    method public boolean areAllItemsEnabled();
+    method public android.view.View getDropDownView(int, android.view.View, android.view.ViewGroup);
+    method public int getItemViewType(int);
+    method public int getViewTypeCount();
+    method public boolean hasStableIds();
+    method public boolean isEmpty();
+    method public boolean isEnabled(int);
+    method public void notifyDataSetChanged();
+    method public void notifyDataSetInvalidated();
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public void setAutofillOptions(@Nullable java.lang.CharSequence...);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  public abstract class BaseExpandableListAdapter implements android.widget.ExpandableListAdapter android.widget.HeterogeneousExpandableList {
+    ctor public BaseExpandableListAdapter();
+    method public boolean areAllItemsEnabled();
+    method public int getChildType(int, int);
+    method public int getChildTypeCount();
+    method public long getCombinedChildId(long, long);
+    method public long getCombinedGroupId(long);
+    method public int getGroupType(int);
+    method public int getGroupTypeCount();
+    method public boolean isEmpty();
+    method public void notifyDataSetChanged();
+    method public void notifyDataSetInvalidated();
+    method public void onGroupCollapsed(int);
+    method public void onGroupExpanded(int);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class Button extends android.widget.TextView {
+    ctor public Button(android.content.Context);
+    ctor public Button(android.content.Context, android.util.AttributeSet);
+    ctor public Button(android.content.Context, android.util.AttributeSet, int);
+    ctor public Button(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  public class CalendarView extends android.widget.FrameLayout {
+    ctor public CalendarView(@NonNull android.content.Context);
+    ctor public CalendarView(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public CalendarView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int);
+    ctor public CalendarView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int, @StyleRes int);
+    method public long getDate();
+    method @StyleRes public int getDateTextAppearance();
+    method public int getFirstDayOfWeek();
+    method @Deprecated @ColorInt public int getFocusedMonthDateColor();
+    method public long getMaxDate();
+    method public long getMinDate();
+    method @Deprecated public android.graphics.drawable.Drawable getSelectedDateVerticalBar();
+    method @Deprecated @ColorInt public int getSelectedWeekBackgroundColor();
+    method @Deprecated public boolean getShowWeekNumber();
+    method @Deprecated public int getShownWeekCount();
+    method @Deprecated @ColorInt public int getUnfocusedMonthDateColor();
+    method @StyleRes public int getWeekDayTextAppearance();
+    method @Deprecated @ColorInt public int getWeekNumberColor();
+    method @Deprecated @ColorInt public int getWeekSeparatorLineColor();
+    method public void setDate(long);
+    method public void setDate(long, boolean, boolean);
+    method public void setDateTextAppearance(@StyleRes int);
+    method public void setFirstDayOfWeek(int);
+    method @Deprecated public void setFocusedMonthDateColor(@ColorInt int);
+    method public void setMaxDate(long);
+    method public void setMinDate(long);
+    method public void setOnDateChangeListener(android.widget.CalendarView.OnDateChangeListener);
+    method @Deprecated public void setSelectedDateVerticalBar(@DrawableRes int);
+    method @Deprecated public void setSelectedDateVerticalBar(android.graphics.drawable.Drawable);
+    method @Deprecated public void setSelectedWeekBackgroundColor(@ColorInt int);
+    method @Deprecated public void setShowWeekNumber(boolean);
+    method @Deprecated public void setShownWeekCount(int);
+    method @Deprecated public void setUnfocusedMonthDateColor(@ColorInt int);
+    method public void setWeekDayTextAppearance(@StyleRes int);
+    method @Deprecated public void setWeekNumberColor(@ColorInt int);
+    method @Deprecated public void setWeekSeparatorLineColor(@ColorInt int);
+  }
+
+  public static interface CalendarView.OnDateChangeListener {
+    method public void onSelectedDayChange(@NonNull android.widget.CalendarView, int, int, int);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class CheckBox extends android.widget.CompoundButton {
+    ctor public CheckBox(android.content.Context);
+    ctor public CheckBox(android.content.Context, android.util.AttributeSet);
+    ctor public CheckBox(android.content.Context, android.util.AttributeSet, int);
+    ctor public CheckBox(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  public interface Checkable {
+    method public boolean isChecked();
+    method public void setChecked(boolean);
+    method public void toggle();
+  }
+
+  public class CheckedTextView extends android.widget.TextView implements android.widget.Checkable {
+    ctor public CheckedTextView(android.content.Context);
+    ctor public CheckedTextView(android.content.Context, android.util.AttributeSet);
+    ctor public CheckedTextView(android.content.Context, android.util.AttributeSet, int);
+    ctor public CheckedTextView(android.content.Context, android.util.AttributeSet, int, int);
+    method public android.graphics.drawable.Drawable getCheckMarkDrawable();
+    method @Nullable public android.graphics.BlendMode getCheckMarkTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getCheckMarkTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getCheckMarkTintMode();
+    method public boolean isChecked();
+    method public void setCheckMarkDrawable(@DrawableRes int);
+    method public void setCheckMarkDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setCheckMarkTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setCheckMarkTintList(@Nullable android.content.res.ColorStateList);
+    method public void setCheckMarkTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setChecked(boolean);
+    method public void toggle();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class Chronometer extends android.widget.TextView {
+    ctor public Chronometer(android.content.Context);
+    ctor public Chronometer(android.content.Context, android.util.AttributeSet);
+    ctor public Chronometer(android.content.Context, android.util.AttributeSet, int);
+    ctor public Chronometer(android.content.Context, android.util.AttributeSet, int, int);
+    method public long getBase();
+    method public String getFormat();
+    method public android.widget.Chronometer.OnChronometerTickListener getOnChronometerTickListener();
+    method public boolean isCountDown();
+    method public boolean isTheFinalCountDown();
+    method public void setBase(long);
+    method public void setCountDown(boolean);
+    method public void setFormat(String);
+    method public void setOnChronometerTickListener(android.widget.Chronometer.OnChronometerTickListener);
+    method public void start();
+    method public void stop();
+  }
+
+  public static interface Chronometer.OnChronometerTickListener {
+    method public void onChronometerTick(android.widget.Chronometer);
+  }
+
+  public abstract class CompoundButton extends android.widget.Button implements android.widget.Checkable {
+    ctor public CompoundButton(android.content.Context);
+    ctor public CompoundButton(android.content.Context, android.util.AttributeSet);
+    ctor public CompoundButton(android.content.Context, android.util.AttributeSet, int);
+    ctor public CompoundButton(android.content.Context, android.util.AttributeSet, int, int);
+    method @Nullable public android.graphics.drawable.Drawable getButtonDrawable();
+    method @Nullable public android.graphics.BlendMode getButtonTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getButtonTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getButtonTintMode();
+    method public boolean isChecked();
+    method public void setButtonDrawable(@DrawableRes int);
+    method public void setButtonDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setButtonIcon(@Nullable android.graphics.drawable.Icon);
+    method public void setButtonTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setButtonTintList(@Nullable android.content.res.ColorStateList);
+    method public void setButtonTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setChecked(boolean);
+    method public void setOnCheckedChangeListener(@Nullable android.widget.CompoundButton.OnCheckedChangeListener);
+    method public void toggle();
+  }
+
+  public static interface CompoundButton.OnCheckedChangeListener {
+    method public void onCheckedChanged(android.widget.CompoundButton, boolean);
+  }
+
+  public abstract class CursorAdapter extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
+    ctor @Deprecated public CursorAdapter(android.content.Context, android.database.Cursor);
+    ctor public CursorAdapter(android.content.Context, android.database.Cursor, boolean);
+    ctor public CursorAdapter(android.content.Context, android.database.Cursor, int);
+    method public abstract void bindView(android.view.View, android.content.Context, android.database.Cursor);
+    method public void changeCursor(android.database.Cursor);
+    method public CharSequence convertToString(android.database.Cursor);
+    method public int getCount();
+    method public android.database.Cursor getCursor();
+    method public android.content.res.Resources.Theme getDropDownViewTheme();
+    method public android.widget.Filter getFilter();
+    method public android.widget.FilterQueryProvider getFilterQueryProvider();
+    method public Object getItem(int);
+    method public long getItemId(int);
+    method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+    method @Deprecated protected void init(android.content.Context, android.database.Cursor, boolean);
+    method public android.view.View newDropDownView(android.content.Context, android.database.Cursor, android.view.ViewGroup);
+    method public abstract android.view.View newView(android.content.Context, android.database.Cursor, android.view.ViewGroup);
+    method protected void onContentChanged();
+    method @WorkerThread public android.database.Cursor runQueryOnBackgroundThread(CharSequence);
+    method public void setDropDownViewTheme(android.content.res.Resources.Theme);
+    method public void setFilterQueryProvider(android.widget.FilterQueryProvider);
+    method public android.database.Cursor swapCursor(android.database.Cursor);
+    field @Deprecated public static final int FLAG_AUTO_REQUERY = 1; // 0x1
+    field public static final int FLAG_REGISTER_CONTENT_OBSERVER = 2; // 0x2
+  }
+
+  public abstract class CursorTreeAdapter extends android.widget.BaseExpandableListAdapter implements android.widget.Filterable {
+    ctor public CursorTreeAdapter(android.database.Cursor, android.content.Context);
+    ctor public CursorTreeAdapter(android.database.Cursor, android.content.Context, boolean);
+    method protected abstract void bindChildView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+    method protected abstract void bindGroupView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+    method public void changeCursor(android.database.Cursor);
+    method public String convertToString(android.database.Cursor);
+    method public android.database.Cursor getChild(int, int);
+    method public long getChildId(int, int);
+    method public android.view.View getChildView(int, int, boolean, android.view.View, android.view.ViewGroup);
+    method public int getChildrenCount(int);
+    method protected abstract android.database.Cursor getChildrenCursor(android.database.Cursor);
+    method public android.database.Cursor getCursor();
+    method public android.widget.Filter getFilter();
+    method public android.widget.FilterQueryProvider getFilterQueryProvider();
+    method public android.database.Cursor getGroup(int);
+    method public int getGroupCount();
+    method public long getGroupId(int);
+    method public android.view.View getGroupView(int, boolean, android.view.View, android.view.ViewGroup);
+    method public boolean hasStableIds();
+    method public boolean isChildSelectable(int, int);
+    method protected abstract android.view.View newChildView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+    method protected abstract android.view.View newGroupView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+    method public void notifyDataSetChanged(boolean);
+    method public android.database.Cursor runQueryOnBackgroundThread(CharSequence);
+    method public void setChildrenCursor(int, android.database.Cursor);
+    method public void setFilterQueryProvider(android.widget.FilterQueryProvider);
+    method public void setGroupCursor(android.database.Cursor);
+  }
+
+  public class DatePicker extends android.widget.FrameLayout {
+    ctor public DatePicker(android.content.Context);
+    ctor public DatePicker(android.content.Context, android.util.AttributeSet);
+    ctor public DatePicker(android.content.Context, android.util.AttributeSet, int);
+    ctor public DatePicker(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public android.widget.CalendarView getCalendarView();
+    method @Deprecated public boolean getCalendarViewShown();
+    method public int getDayOfMonth();
+    method public int getFirstDayOfWeek();
+    method public long getMaxDate();
+    method public long getMinDate();
+    method public int getMonth();
+    method @Deprecated public boolean getSpinnersShown();
+    method public int getYear();
+    method public void init(int, int, int, android.widget.DatePicker.OnDateChangedListener);
+    method @Deprecated public void setCalendarViewShown(boolean);
+    method public void setFirstDayOfWeek(int);
+    method public void setMaxDate(long);
+    method public void setMinDate(long);
+    method public void setOnDateChangedListener(android.widget.DatePicker.OnDateChangedListener);
+    method @Deprecated public void setSpinnersShown(boolean);
+    method public void updateDate(int, int, int);
+  }
+
+  public static interface DatePicker.OnDateChangedListener {
+    method public void onDateChanged(android.widget.DatePicker, int, int, int);
+  }
+
+  @Deprecated public class DialerFilter extends android.widget.RelativeLayout {
+    ctor @Deprecated public DialerFilter(android.content.Context);
+    ctor @Deprecated public DialerFilter(android.content.Context, android.util.AttributeSet);
+    method @Deprecated public void append(String);
+    method @Deprecated public void clearText();
+    method @Deprecated public CharSequence getDigits();
+    method @Deprecated public CharSequence getFilterText();
+    method @Deprecated public CharSequence getLetters();
+    method @Deprecated public int getMode();
+    method @Deprecated public boolean isQwertyKeyboard();
+    method @Deprecated protected void onModeChange(int, int);
+    method @Deprecated public void removeFilterWatcher(android.text.TextWatcher);
+    method @Deprecated public void setDigitsWatcher(android.text.TextWatcher);
+    method @Deprecated public void setFilterWatcher(android.text.TextWatcher);
+    method @Deprecated public void setLettersWatcher(android.text.TextWatcher);
+    method @Deprecated public void setMode(int);
+    field @Deprecated public static final int DIGITS_AND_LETTERS = 1; // 0x1
+    field @Deprecated public static final int DIGITS_AND_LETTERS_NO_DIGITS = 2; // 0x2
+    field @Deprecated public static final int DIGITS_AND_LETTERS_NO_LETTERS = 3; // 0x3
+    field @Deprecated public static final int DIGITS_ONLY = 4; // 0x4
+    field @Deprecated public static final int LETTERS_ONLY = 5; // 0x5
+  }
+
+  @Deprecated public class DigitalClock extends android.widget.TextView {
+    ctor @Deprecated public DigitalClock(android.content.Context);
+    ctor @Deprecated public DigitalClock(android.content.Context, android.util.AttributeSet);
+  }
+
+  public class EdgeEffect {
+    ctor public EdgeEffect(android.content.Context);
+    ctor public EdgeEffect(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    method public boolean draw(android.graphics.Canvas);
+    method public void finish();
+    method @Nullable public android.graphics.BlendMode getBlendMode();
+    method @ColorInt public int getColor();
+    method public float getDistance();
+    method public int getMaxHeight();
+    method public boolean isFinished();
+    method public void onAbsorb(int);
+    method public void onPull(float);
+    method public void onPull(float, float);
+    method public float onPullDistance(float, float);
+    method public void onRelease();
+    method public void setBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setColor(@ColorInt int);
+    method public void setSize(int, int);
+    field public static final android.graphics.BlendMode DEFAULT_BLEND_MODE;
+  }
+
+  public class EditText extends android.widget.TextView {
+    ctor public EditText(android.content.Context);
+    ctor public EditText(android.content.Context, android.util.AttributeSet);
+    ctor public EditText(android.content.Context, android.util.AttributeSet, int);
+    ctor public EditText(android.content.Context, android.util.AttributeSet, int, int);
+    method public void extendSelection(int);
+    method public android.text.Editable getText();
+    method public void selectAll();
+    method public void setSelection(int, int);
+    method public void setSelection(int);
+  }
+
+  public interface ExpandableListAdapter {
+    method public boolean areAllItemsEnabled();
+    method public Object getChild(int, int);
+    method public long getChildId(int, int);
+    method public android.view.View getChildView(int, int, boolean, android.view.View, android.view.ViewGroup);
+    method public int getChildrenCount(int);
+    method public long getCombinedChildId(long, long);
+    method public long getCombinedGroupId(long);
+    method public Object getGroup(int);
+    method public int getGroupCount();
+    method public long getGroupId(int);
+    method public android.view.View getGroupView(int, boolean, android.view.View, android.view.ViewGroup);
+    method public boolean hasStableIds();
+    method public boolean isChildSelectable(int, int);
+    method public boolean isEmpty();
+    method public void onGroupCollapsed(int);
+    method public void onGroupExpanded(int);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  public class ExpandableListView extends android.widget.ListView {
+    ctor public ExpandableListView(android.content.Context);
+    ctor public ExpandableListView(android.content.Context, android.util.AttributeSet);
+    ctor public ExpandableListView(android.content.Context, android.util.AttributeSet, int);
+    ctor public ExpandableListView(android.content.Context, android.util.AttributeSet, int, int);
+    method public boolean collapseGroup(int);
+    method public boolean expandGroup(int);
+    method public boolean expandGroup(int, boolean);
+    method public android.widget.ExpandableListAdapter getExpandableListAdapter();
+    method public long getExpandableListPosition(int);
+    method public int getFlatListPosition(long);
+    method public static int getPackedPositionChild(long);
+    method public static long getPackedPositionForChild(int, int);
+    method public static long getPackedPositionForGroup(int);
+    method public static int getPackedPositionGroup(long);
+    method public static int getPackedPositionType(long);
+    method public long getSelectedId();
+    method public long getSelectedPosition();
+    method public boolean isGroupExpanded(int);
+    method public void setAdapter(android.widget.ExpandableListAdapter);
+    method public void setChildDivider(android.graphics.drawable.Drawable);
+    method public void setChildIndicator(android.graphics.drawable.Drawable);
+    method public void setChildIndicatorBounds(int, int);
+    method public void setChildIndicatorBoundsRelative(int, int);
+    method public void setGroupIndicator(android.graphics.drawable.Drawable);
+    method public void setIndicatorBounds(int, int);
+    method public void setIndicatorBoundsRelative(int, int);
+    method public void setOnChildClickListener(android.widget.ExpandableListView.OnChildClickListener);
+    method public void setOnGroupClickListener(android.widget.ExpandableListView.OnGroupClickListener);
+    method public void setOnGroupCollapseListener(android.widget.ExpandableListView.OnGroupCollapseListener);
+    method public void setOnGroupExpandListener(android.widget.ExpandableListView.OnGroupExpandListener);
+    method public boolean setSelectedChild(int, int, boolean);
+    method public void setSelectedGroup(int);
+    field public static final int CHILD_INDICATOR_INHERIT = -1; // 0xffffffff
+    field public static final int PACKED_POSITION_TYPE_CHILD = 1; // 0x1
+    field public static final int PACKED_POSITION_TYPE_GROUP = 0; // 0x0
+    field public static final int PACKED_POSITION_TYPE_NULL = 2; // 0x2
+    field public static final long PACKED_POSITION_VALUE_NULL = 4294967295L; // 0xffffffffL
+  }
+
+  public static class ExpandableListView.ExpandableListContextMenuInfo implements android.view.ContextMenu.ContextMenuInfo {
+    ctor public ExpandableListView.ExpandableListContextMenuInfo(android.view.View, long, long);
+    field public long id;
+    field public long packedPosition;
+    field public android.view.View targetView;
+  }
+
+  public static interface ExpandableListView.OnChildClickListener {
+    method public boolean onChildClick(android.widget.ExpandableListView, android.view.View, int, int, long);
+  }
+
+  public static interface ExpandableListView.OnGroupClickListener {
+    method public boolean onGroupClick(android.widget.ExpandableListView, android.view.View, int, long);
+  }
+
+  public static interface ExpandableListView.OnGroupCollapseListener {
+    method public void onGroupCollapse(int);
+  }
+
+  public static interface ExpandableListView.OnGroupExpandListener {
+    method public void onGroupExpand(int);
+  }
+
+  public abstract class Filter {
+    ctor public Filter();
+    method public CharSequence convertResultToString(Object);
+    method public final void filter(CharSequence);
+    method public final void filter(CharSequence, android.widget.Filter.FilterListener);
+    method protected abstract android.widget.Filter.FilterResults performFiltering(CharSequence);
+    method protected abstract void publishResults(CharSequence, android.widget.Filter.FilterResults);
+  }
+
+  public static interface Filter.FilterListener {
+    method public void onFilterComplete(int);
+  }
+
+  protected static class Filter.FilterResults {
+    ctor public Filter.FilterResults();
+    field public int count;
+    field public Object values;
+  }
+
+  public interface FilterQueryProvider {
+    method public android.database.Cursor runQuery(CharSequence);
+  }
+
+  public interface Filterable {
+    method public android.widget.Filter getFilter();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class FrameLayout extends android.view.ViewGroup {
+    ctor public FrameLayout(@NonNull android.content.Context);
+    ctor public FrameLayout(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public FrameLayout(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int);
+    ctor public FrameLayout(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int, @StyleRes int);
+    method protected android.widget.FrameLayout.LayoutParams generateDefaultLayoutParams();
+    method public android.widget.FrameLayout.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method @Deprecated public boolean getConsiderGoneChildrenWhenMeasuring();
+    method public boolean getMeasureAllChildren();
+    method public void setMeasureAllChildren(boolean);
+  }
+
+  public static class FrameLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+    ctor public FrameLayout.LayoutParams(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public FrameLayout.LayoutParams(int, int);
+    ctor public FrameLayout.LayoutParams(int, int, int);
+    ctor public FrameLayout.LayoutParams(@NonNull android.view.ViewGroup.LayoutParams);
+    ctor public FrameLayout.LayoutParams(@NonNull android.view.ViewGroup.MarginLayoutParams);
+    ctor public FrameLayout.LayoutParams(@NonNull android.widget.FrameLayout.LayoutParams);
+    field public static final int UNSPECIFIED_GRAVITY = -1; // 0xffffffff
+    field public int gravity;
+  }
+
+  @Deprecated public class Gallery extends android.widget.AbsSpinner implements android.view.GestureDetector.OnGestureListener {
+    ctor @Deprecated public Gallery(android.content.Context);
+    ctor @Deprecated public Gallery(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public Gallery(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public Gallery(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public boolean onDown(android.view.MotionEvent);
+    method @Deprecated public boolean onFling(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method @Deprecated public void onLongPress(@NonNull android.view.MotionEvent);
+    method @Deprecated public boolean onScroll(android.view.MotionEvent, android.view.MotionEvent, float, float);
+    method @Deprecated public void onShowPress(android.view.MotionEvent);
+    method @Deprecated public boolean onSingleTapUp(android.view.MotionEvent);
+    method @Deprecated public void setAnimationDuration(int);
+    method @Deprecated public void setCallbackDuringFling(boolean);
+    method @Deprecated public void setGravity(int);
+    method @Deprecated public void setSpacing(int);
+    method @Deprecated public void setUnselectedAlpha(float);
+  }
+
+  @Deprecated public static class Gallery.LayoutParams extends android.view.ViewGroup.LayoutParams {
+    ctor @Deprecated public Gallery.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public Gallery.LayoutParams(int, int);
+    ctor @Deprecated public Gallery.LayoutParams(android.view.ViewGroup.LayoutParams);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class GridLayout extends android.view.ViewGroup {
+    ctor public GridLayout(android.content.Context);
+    ctor public GridLayout(android.content.Context, android.util.AttributeSet);
+    ctor public GridLayout(android.content.Context, android.util.AttributeSet, int);
+    ctor public GridLayout(android.content.Context, android.util.AttributeSet, int, int);
+    method protected android.widget.GridLayout.LayoutParams generateDefaultLayoutParams();
+    method public android.widget.GridLayout.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method protected android.widget.GridLayout.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public int getAlignmentMode();
+    method public int getColumnCount();
+    method public int getOrientation();
+    method public int getRowCount();
+    method public boolean getUseDefaultMargins();
+    method public boolean isColumnOrderPreserved();
+    method public boolean isRowOrderPreserved();
+    method public void setAlignmentMode(int);
+    method public void setColumnCount(int);
+    method public void setColumnOrderPreserved(boolean);
+    method public void setOrientation(int);
+    method public void setRowCount(int);
+    method public void setRowOrderPreserved(boolean);
+    method public void setUseDefaultMargins(boolean);
+    method public static android.widget.GridLayout.Spec spec(int, int, android.widget.GridLayout.Alignment, float);
+    method public static android.widget.GridLayout.Spec spec(int, android.widget.GridLayout.Alignment, float);
+    method public static android.widget.GridLayout.Spec spec(int, int, float);
+    method public static android.widget.GridLayout.Spec spec(int, float);
+    method public static android.widget.GridLayout.Spec spec(int, int, android.widget.GridLayout.Alignment);
+    method public static android.widget.GridLayout.Spec spec(int, android.widget.GridLayout.Alignment);
+    method public static android.widget.GridLayout.Spec spec(int, int);
+    method public static android.widget.GridLayout.Spec spec(int);
+    field public static final int ALIGN_BOUNDS = 0; // 0x0
+    field public static final int ALIGN_MARGINS = 1; // 0x1
+    field public static final android.widget.GridLayout.Alignment BASELINE;
+    field public static final android.widget.GridLayout.Alignment BOTTOM;
+    field public static final android.widget.GridLayout.Alignment CENTER;
+    field public static final android.widget.GridLayout.Alignment END;
+    field public static final android.widget.GridLayout.Alignment FILL;
+    field public static final int HORIZONTAL = 0; // 0x0
+    field public static final android.widget.GridLayout.Alignment LEFT;
+    field public static final android.widget.GridLayout.Alignment RIGHT;
+    field public static final android.widget.GridLayout.Alignment START;
+    field public static final android.widget.GridLayout.Alignment TOP;
+    field public static final int UNDEFINED = -2147483648; // 0x80000000
+    field public static final int VERTICAL = 1; // 0x1
+  }
+
+  public abstract static class GridLayout.Alignment {
+  }
+
+  public static class GridLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+    ctor public GridLayout.LayoutParams(android.widget.GridLayout.Spec, android.widget.GridLayout.Spec);
+    ctor public GridLayout.LayoutParams();
+    ctor public GridLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public GridLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    ctor public GridLayout.LayoutParams(android.widget.GridLayout.LayoutParams);
+    ctor public GridLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+    method public void setGravity(int);
+    field public android.widget.GridLayout.Spec columnSpec;
+    field public android.widget.GridLayout.Spec rowSpec;
+  }
+
+  public static class GridLayout.Spec {
+  }
+
+  @android.widget.RemoteViews.RemoteView public class GridView extends android.widget.AbsListView {
+    ctor public GridView(android.content.Context);
+    ctor public GridView(android.content.Context, android.util.AttributeSet);
+    ctor public GridView(android.content.Context, android.util.AttributeSet, int);
+    ctor public GridView(android.content.Context, android.util.AttributeSet, int, int);
+    method public android.widget.ListAdapter getAdapter();
+    method public int getColumnWidth();
+    method public int getGravity();
+    method public int getHorizontalSpacing();
+    method public int getNumColumns();
+    method public int getRequestedColumnWidth();
+    method public int getRequestedHorizontalSpacing();
+    method public int getStretchMode();
+    method public int getVerticalSpacing();
+    method public void setColumnWidth(int);
+    method public void setGravity(int);
+    method public void setHorizontalSpacing(int);
+    method public void setNumColumns(int);
+    method public void setSelection(int);
+    method public void setStretchMode(int);
+    method public void setVerticalSpacing(int);
+    method public void smoothScrollByOffset(int);
+    field public static final int AUTO_FIT = -1; // 0xffffffff
+    field public static final int NO_STRETCH = 0; // 0x0
+    field public static final int STRETCH_COLUMN_WIDTH = 2; // 0x2
+    field public static final int STRETCH_SPACING = 1; // 0x1
+    field public static final int STRETCH_SPACING_UNIFORM = 3; // 0x3
+  }
+
+  public class HeaderViewListAdapter implements android.widget.Filterable android.widget.WrapperListAdapter {
+    ctor public HeaderViewListAdapter(java.util.ArrayList<android.widget.ListView.FixedViewInfo>, java.util.ArrayList<android.widget.ListView.FixedViewInfo>, android.widget.ListAdapter);
+    method public boolean areAllItemsEnabled();
+    method public int getCount();
+    method public android.widget.Filter getFilter();
+    method public int getFootersCount();
+    method public int getHeadersCount();
+    method public Object getItem(int);
+    method public long getItemId(int);
+    method public int getItemViewType(int);
+    method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+    method public int getViewTypeCount();
+    method public android.widget.ListAdapter getWrappedAdapter();
+    method public boolean hasStableIds();
+    method public boolean isEmpty();
+    method public boolean isEnabled(int);
+    method public void registerDataSetObserver(android.database.DataSetObserver);
+    method public boolean removeFooter(android.view.View);
+    method public boolean removeHeader(android.view.View);
+    method public void unregisterDataSetObserver(android.database.DataSetObserver);
+  }
+
+  public interface HeterogeneousExpandableList {
+    method public int getChildType(int, int);
+    method public int getChildTypeCount();
+    method public int getGroupType(int);
+    method public int getGroupTypeCount();
+  }
+
+  public class HorizontalScrollView extends android.widget.FrameLayout {
+    ctor public HorizontalScrollView(android.content.Context);
+    ctor public HorizontalScrollView(android.content.Context, android.util.AttributeSet);
+    ctor public HorizontalScrollView(android.content.Context, android.util.AttributeSet, int);
+    ctor public HorizontalScrollView(android.content.Context, android.util.AttributeSet, int, int);
+    method public boolean arrowScroll(int);
+    method protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect);
+    method public boolean executeKeyEvent(android.view.KeyEvent);
+    method public void fling(int);
+    method public boolean fullScroll(int);
+    method @ColorInt public int getLeftEdgeEffectColor();
+    method public int getMaxScrollAmount();
+    method @ColorInt public int getRightEdgeEffectColor();
+    method public boolean isFillViewport();
+    method public boolean isSmoothScrollingEnabled();
+    method public boolean pageScroll(int);
+    method public void setEdgeEffectColor(@ColorInt int);
+    method public void setFillViewport(boolean);
+    method public void setLeftEdgeEffectColor(@ColorInt int);
+    method public void setRightEdgeEffectColor(@ColorInt int);
+    method public void setSmoothScrollingEnabled(boolean);
+    method public final void smoothScrollBy(int, int);
+    method public final void smoothScrollTo(int, int);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class ImageButton extends android.widget.ImageView {
+    ctor public ImageButton(android.content.Context);
+    ctor public ImageButton(android.content.Context, android.util.AttributeSet);
+    ctor public ImageButton(android.content.Context, android.util.AttributeSet, int);
+    ctor public ImageButton(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  public class ImageSwitcher extends android.widget.ViewSwitcher {
+    ctor public ImageSwitcher(android.content.Context);
+    ctor public ImageSwitcher(android.content.Context, android.util.AttributeSet);
+    method public void setImageDrawable(android.graphics.drawable.Drawable);
+    method public void setImageResource(@DrawableRes int);
+    method public void setImageURI(android.net.Uri);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class ImageView extends android.view.View {
+    ctor public ImageView(android.content.Context);
+    ctor public ImageView(android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public ImageView(android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public ImageView(android.content.Context, @Nullable android.util.AttributeSet, int, int);
+    method public void animateTransform(@Nullable android.graphics.Matrix);
+    method public final void clearColorFilter();
+    method public boolean getAdjustViewBounds();
+    method public boolean getBaselineAlignBottom();
+    method public android.graphics.ColorFilter getColorFilter();
+    method public boolean getCropToPadding();
+    method public android.graphics.drawable.Drawable getDrawable();
+    method public int getImageAlpha();
+    method public android.graphics.Matrix getImageMatrix();
+    method @Nullable public android.graphics.BlendMode getImageTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getImageTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getImageTintMode();
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public android.widget.ImageView.ScaleType getScaleType();
+    method public int[] onCreateDrawableState(int);
+    method public void setAdjustViewBounds(boolean);
+    method @Deprecated public void setAlpha(int);
+    method public void setBaseline(int);
+    method public void setBaselineAlignBottom(boolean);
+    method public final void setColorFilter(int, android.graphics.PorterDuff.Mode);
+    method public final void setColorFilter(int);
+    method public void setColorFilter(android.graphics.ColorFilter);
+    method public void setCropToPadding(boolean);
+    method protected boolean setFrame(int, int, int, int);
+    method public void setImageAlpha(int);
+    method public void setImageBitmap(android.graphics.Bitmap);
+    method public void setImageDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setImageIcon(@Nullable android.graphics.drawable.Icon);
+    method public void setImageLevel(int);
+    method public void setImageMatrix(android.graphics.Matrix);
+    method public void setImageResource(@DrawableRes int);
+    method public void setImageState(int[], boolean);
+    method public void setImageTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setImageTintList(@Nullable android.content.res.ColorStateList);
+    method public void setImageTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setImageURI(@Nullable android.net.Uri);
+    method public void setMaxHeight(int);
+    method public void setMaxWidth(int);
+    method public void setScaleType(android.widget.ImageView.ScaleType);
+  }
+
+  public enum ImageView.ScaleType {
+    enum_constant public static final android.widget.ImageView.ScaleType CENTER;
+    enum_constant public static final android.widget.ImageView.ScaleType CENTER_CROP;
+    enum_constant public static final android.widget.ImageView.ScaleType CENTER_INSIDE;
+    enum_constant public static final android.widget.ImageView.ScaleType FIT_CENTER;
+    enum_constant public static final android.widget.ImageView.ScaleType FIT_END;
+    enum_constant public static final android.widget.ImageView.ScaleType FIT_START;
+    enum_constant public static final android.widget.ImageView.ScaleType FIT_XY;
+    enum_constant public static final android.widget.ImageView.ScaleType MATRIX;
+  }
+
+  @android.widget.RemoteViews.RemoteView public class LinearLayout extends android.view.ViewGroup {
+    ctor public LinearLayout(android.content.Context);
+    ctor public LinearLayout(android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public LinearLayout(android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public LinearLayout(android.content.Context, android.util.AttributeSet, int, int);
+    method protected android.widget.LinearLayout.LayoutParams generateDefaultLayoutParams();
+    method public android.widget.LinearLayout.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method protected android.widget.LinearLayout.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public int getBaselineAlignedChildIndex();
+    method public android.graphics.drawable.Drawable getDividerDrawable();
+    method public int getDividerPadding();
+    method public int getGravity();
+    method public int getOrientation();
+    method public int getShowDividers();
+    method public float getWeightSum();
+    method public boolean isBaselineAligned();
+    method public boolean isMeasureWithLargestChildEnabled();
+    method public void setBaselineAligned(boolean);
+    method public void setBaselineAlignedChildIndex(int);
+    method public void setDividerDrawable(android.graphics.drawable.Drawable);
+    method public void setDividerPadding(int);
+    method public void setGravity(int);
+    method public void setHorizontalGravity(int);
+    method public void setMeasureWithLargestChildEnabled(boolean);
+    method public void setOrientation(int);
+    method public void setShowDividers(int);
+    method public void setVerticalGravity(int);
+    method public void setWeightSum(float);
+    field public static final int HORIZONTAL = 0; // 0x0
+    field public static final int SHOW_DIVIDER_BEGINNING = 1; // 0x1
+    field public static final int SHOW_DIVIDER_END = 4; // 0x4
+    field public static final int SHOW_DIVIDER_MIDDLE = 2; // 0x2
+    field public static final int SHOW_DIVIDER_NONE = 0; // 0x0
+    field public static final int VERTICAL = 1; // 0x1
+  }
+
+  public static class LinearLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+    ctor public LinearLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public LinearLayout.LayoutParams(int, int);
+    ctor public LinearLayout.LayoutParams(int, int, float);
+    ctor public LinearLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public LinearLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    ctor public LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams);
+    method public String debug(String);
+    field public int gravity;
+    field public float weight;
+  }
+
+  public interface ListAdapter extends android.widget.Adapter {
+    method public boolean areAllItemsEnabled();
+    method public boolean isEnabled(int);
+  }
+
+  public class ListPopupWindow {
+    ctor public ListPopupWindow(@NonNull android.content.Context);
+    ctor public ListPopupWindow(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public ListPopupWindow(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int);
+    ctor public ListPopupWindow(@NonNull android.content.Context, @Nullable android.util.AttributeSet, @AttrRes int, @StyleRes int);
+    method public void clearListSelection();
+    method public android.view.View.OnTouchListener createDragToOpenListener(android.view.View);
+    method public void dismiss();
+    method @Nullable public android.view.View getAnchorView();
+    method @StyleRes public int getAnimationStyle();
+    method @Nullable public android.graphics.drawable.Drawable getBackground();
+    method @Nullable public android.graphics.Rect getEpicenterBounds();
+    method public int getHeight();
+    method public int getHorizontalOffset();
+    method public int getInputMethodMode();
+    method @Nullable public android.widget.ListView getListView();
+    method public int getPromptPosition();
+    method @Nullable public Object getSelectedItem();
+    method public long getSelectedItemId();
+    method public int getSelectedItemPosition();
+    method @Nullable public android.view.View getSelectedView();
+    method public int getSoftInputMode();
+    method public int getVerticalOffset();
+    method public int getWidth();
+    method public boolean isInputMethodNotNeeded();
+    method public boolean isModal();
+    method public boolean isShowing();
+    method public boolean onKeyDown(int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyPreIme(int, @NonNull android.view.KeyEvent);
+    method public boolean onKeyUp(int, @NonNull android.view.KeyEvent);
+    method public boolean performItemClick(int);
+    method public void postShow();
+    method public void setAdapter(@Nullable android.widget.ListAdapter);
+    method public void setAnchorView(@Nullable android.view.View);
+    method public void setAnimationStyle(@StyleRes int);
+    method public void setBackgroundDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setContentWidth(int);
+    method public void setDropDownGravity(int);
+    method public void setEpicenterBounds(@Nullable android.graphics.Rect);
+    method public void setHeight(int);
+    method public void setHorizontalOffset(int);
+    method public void setInputMethodMode(int);
+    method public void setListSelector(android.graphics.drawable.Drawable);
+    method public void setModal(boolean);
+    method public void setOnDismissListener(@Nullable android.widget.PopupWindow.OnDismissListener);
+    method public void setOnItemClickListener(@Nullable android.widget.AdapterView.OnItemClickListener);
+    method public void setOnItemSelectedListener(@Nullable android.widget.AdapterView.OnItemSelectedListener);
+    method public void setPromptPosition(int);
+    method public void setPromptView(@Nullable android.view.View);
+    method public void setSelection(int);
+    method public void setSoftInputMode(int);
+    method public void setVerticalOffset(int);
+    method public void setWidth(int);
+    method public void setWindowLayoutType(int);
+    method public void show();
+    field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0
+    field public static final int INPUT_METHOD_NEEDED = 1; // 0x1
+    field public static final int INPUT_METHOD_NOT_NEEDED = 2; // 0x2
+    field public static final int MATCH_PARENT = -1; // 0xffffffff
+    field public static final int POSITION_PROMPT_ABOVE = 0; // 0x0
+    field public static final int POSITION_PROMPT_BELOW = 1; // 0x1
+    field public static final int WRAP_CONTENT = -2; // 0xfffffffe
+  }
+
+  @android.widget.RemoteViews.RemoteView public class ListView extends android.widget.AbsListView {
+    ctor public ListView(android.content.Context);
+    ctor public ListView(android.content.Context, android.util.AttributeSet);
+    ctor public ListView(android.content.Context, android.util.AttributeSet, int);
+    ctor public ListView(android.content.Context, android.util.AttributeSet, int, int);
+    method public void addFooterView(android.view.View, Object, boolean);
+    method public void addFooterView(android.view.View);
+    method public void addHeaderView(android.view.View, Object, boolean);
+    method public void addHeaderView(android.view.View);
+    method public boolean areFooterDividersEnabled();
+    method public boolean areHeaderDividersEnabled();
+    method public android.widget.ListAdapter getAdapter();
+    method @Deprecated public long[] getCheckItemIds();
+    method @Nullable public android.graphics.drawable.Drawable getDivider();
+    method public int getDividerHeight();
+    method public int getFooterViewsCount();
+    method public int getHeaderViewsCount();
+    method public boolean getItemsCanFocus();
+    method public int getMaxScrollAmount();
+    method public android.graphics.drawable.Drawable getOverscrollFooter();
+    method public android.graphics.drawable.Drawable getOverscrollHeader();
+    method public boolean removeFooterView(android.view.View);
+    method public boolean removeHeaderView(android.view.View);
+    method public void setDivider(@Nullable android.graphics.drawable.Drawable);
+    method public void setDividerHeight(int);
+    method public void setFooterDividersEnabled(boolean);
+    method public void setHeaderDividersEnabled(boolean);
+    method public void setItemsCanFocus(boolean);
+    method public void setOverscrollFooter(android.graphics.drawable.Drawable);
+    method public void setOverscrollHeader(android.graphics.drawable.Drawable);
+    method public void setSelection(int);
+    method public void setSelectionAfterHeaderView();
+    method public void smoothScrollByOffset(int);
+  }
+
+  public class ListView.FixedViewInfo {
+    ctor public ListView.FixedViewInfo();
+    field public Object data;
+    field public boolean isSelectable;
+    field public android.view.View view;
+  }
+
+  @UiThread public final class Magnifier {
+    ctor @Deprecated public Magnifier(@NonNull android.view.View);
+    method public void dismiss();
+    method @Px public float getCornerRadius();
+    method @Px public int getDefaultHorizontalSourceToMagnifierOffset();
+    method @Px public int getDefaultVerticalSourceToMagnifierOffset();
+    method @Px public float getElevation();
+    method @Px public int getHeight();
+    method @Nullable public android.graphics.drawable.Drawable getOverlay();
+    method @Nullable public android.graphics.Point getPosition();
+    method @Px public int getSourceHeight();
+    method @Nullable public android.graphics.Point getSourcePosition();
+    method @Px public int getSourceWidth();
+    method @Px public int getWidth();
+    method public float getZoom();
+    method public boolean isClippingEnabled();
+    method public void setZoom(@FloatRange(from=0.0f) float);
+    method public void show(@FloatRange(from=0) float, @FloatRange(from=0) float);
+    method public void show(@FloatRange(from=0) float, @FloatRange(from=0) float, float, float);
+    method public void update();
+    field public static final int SOURCE_BOUND_MAX_IN_SURFACE = 0; // 0x0
+    field public static final int SOURCE_BOUND_MAX_VISIBLE = 1; // 0x1
+  }
+
+  public static final class Magnifier.Builder {
+    ctor public Magnifier.Builder(@NonNull android.view.View);
+    method @NonNull public android.widget.Magnifier build();
+    method @NonNull public android.widget.Magnifier.Builder setClippingEnabled(boolean);
+    method @NonNull public android.widget.Magnifier.Builder setCornerRadius(@FloatRange(from=0) @Px float);
+    method @NonNull public android.widget.Magnifier.Builder setDefaultSourceToMagnifierOffset(@Px int, @Px int);
+    method @NonNull public android.widget.Magnifier.Builder setElevation(@FloatRange(from=0) @Px float);
+    method @NonNull public android.widget.Magnifier.Builder setInitialZoom(@FloatRange(from=0.0f) float);
+    method @NonNull public android.widget.Magnifier.Builder setOverlay(@Nullable android.graphics.drawable.Drawable);
+    method @NonNull public android.widget.Magnifier.Builder setSize(@IntRange(from=0) @Px int, @IntRange(from=0) @Px int);
+    method @NonNull public android.widget.Magnifier.Builder setSourceBounds(int, int, int, int);
+  }
+
+  public class MediaController extends android.widget.FrameLayout {
+    ctor public MediaController(android.content.Context, android.util.AttributeSet);
+    ctor public MediaController(android.content.Context, boolean);
+    ctor public MediaController(android.content.Context);
+    method public void hide();
+    method public boolean isShowing();
+    method public void onFinishInflate();
+    method public void setAnchorView(android.view.View);
+    method public void setMediaPlayer(android.widget.MediaController.MediaPlayerControl);
+    method public void setPrevNextListeners(android.view.View.OnClickListener, android.view.View.OnClickListener);
+    method public void show();
+    method public void show(int);
+  }
+
+  public static interface MediaController.MediaPlayerControl {
+    method public boolean canPause();
+    method public boolean canSeekBackward();
+    method public boolean canSeekForward();
+    method public int getAudioSessionId();
+    method public int getBufferPercentage();
+    method public int getCurrentPosition();
+    method public int getDuration();
+    method public boolean isPlaying();
+    method public void pause();
+    method public void seekTo(int);
+    method public void start();
+  }
+
+  public class MultiAutoCompleteTextView extends android.widget.AutoCompleteTextView {
+    ctor public MultiAutoCompleteTextView(android.content.Context);
+    ctor public MultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet);
+    ctor public MultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet, int);
+    ctor public MultiAutoCompleteTextView(android.content.Context, android.util.AttributeSet, int, int);
+    method protected void performFiltering(CharSequence, int, int, int);
+    method public void setTokenizer(android.widget.MultiAutoCompleteTextView.Tokenizer);
+  }
+
+  public static class MultiAutoCompleteTextView.CommaTokenizer implements android.widget.MultiAutoCompleteTextView.Tokenizer {
+    ctor public MultiAutoCompleteTextView.CommaTokenizer();
+    method public int findTokenEnd(CharSequence, int);
+    method public int findTokenStart(CharSequence, int);
+    method public CharSequence terminateToken(CharSequence);
+  }
+
+  public static interface MultiAutoCompleteTextView.Tokenizer {
+    method public int findTokenEnd(CharSequence, int);
+    method public int findTokenStart(CharSequence, int);
+    method public CharSequence terminateToken(CharSequence);
+  }
+
+  public class NumberPicker extends android.widget.LinearLayout {
+    ctor public NumberPicker(android.content.Context);
+    ctor public NumberPicker(android.content.Context, android.util.AttributeSet);
+    ctor public NumberPicker(android.content.Context, android.util.AttributeSet, int);
+    ctor public NumberPicker(android.content.Context, android.util.AttributeSet, int, int);
+    method public String[] getDisplayedValues();
+    method public int getMaxValue();
+    method public int getMinValue();
+    method @Px public int getSelectionDividerHeight();
+    method @ColorInt public int getTextColor();
+    method @FloatRange(from=0.0, fromInclusive=false) public float getTextSize();
+    method public int getValue();
+    method public boolean getWrapSelectorWheel();
+    method public void setDisplayedValues(String[]);
+    method public void setFormatter(android.widget.NumberPicker.Formatter);
+    method public void setMaxValue(int);
+    method public void setMinValue(int);
+    method public void setOnLongPressUpdateInterval(long);
+    method public void setOnScrollListener(android.widget.NumberPicker.OnScrollListener);
+    method public void setOnValueChangedListener(android.widget.NumberPicker.OnValueChangeListener);
+    method public void setSelectionDividerHeight(@IntRange(from=0) @Px int);
+    method public void setTextColor(@ColorInt int);
+    method public void setTextSize(@FloatRange(from=0.0, fromInclusive=false) float);
+    method public void setValue(int);
+    method public void setWrapSelectorWheel(boolean);
+  }
+
+  public static interface NumberPicker.Formatter {
+    method public String format(int);
+  }
+
+  public static interface NumberPicker.OnScrollListener {
+    method public void onScrollStateChange(android.widget.NumberPicker, int);
+    field public static final int SCROLL_STATE_FLING = 2; // 0x2
+    field public static final int SCROLL_STATE_IDLE = 0; // 0x0
+    field public static final int SCROLL_STATE_TOUCH_SCROLL = 1; // 0x1
+  }
+
+  public static interface NumberPicker.OnValueChangeListener {
+    method public void onValueChange(android.widget.NumberPicker, int, int);
+  }
+
+  public class OverScroller {
+    ctor public OverScroller(android.content.Context);
+    ctor public OverScroller(android.content.Context, android.view.animation.Interpolator);
+    ctor @Deprecated public OverScroller(android.content.Context, android.view.animation.Interpolator, float, float);
+    ctor @Deprecated public OverScroller(android.content.Context, android.view.animation.Interpolator, float, float, boolean);
+    method public void abortAnimation();
+    method public boolean computeScrollOffset();
+    method public void fling(int, int, int, int, int, int, int, int);
+    method public void fling(int, int, int, int, int, int, int, int, int, int);
+    method public final void forceFinished(boolean);
+    method public float getCurrVelocity();
+    method public final int getCurrX();
+    method public final int getCurrY();
+    method public final int getFinalX();
+    method public final int getFinalY();
+    method public final int getStartX();
+    method public final int getStartY();
+    method public final boolean isFinished();
+    method public boolean isOverScrolled();
+    method public void notifyHorizontalEdgeReached(int, int, int);
+    method public void notifyVerticalEdgeReached(int, int, int);
+    method public final void setFriction(float);
+    method public boolean springBack(int, int, int, int, int, int);
+    method public void startScroll(int, int, int, int);
+    method public void startScroll(int, int, int, int, int);
+  }
+
+  public class PopupMenu {
+    ctor public PopupMenu(android.content.Context, android.view.View);
+    ctor public PopupMenu(android.content.Context, android.view.View, int);
+    ctor public PopupMenu(android.content.Context, android.view.View, int, int, int);
+    method public void dismiss();
+    method public android.view.View.OnTouchListener getDragToOpenListener();
+    method public int getGravity();
+    method public android.view.Menu getMenu();
+    method public android.view.MenuInflater getMenuInflater();
+    method public void inflate(@MenuRes int);
+    method public void setForceShowIcon(boolean);
+    method public void setGravity(int);
+    method public void setOnDismissListener(android.widget.PopupMenu.OnDismissListener);
+    method public void setOnMenuItemClickListener(android.widget.PopupMenu.OnMenuItemClickListener);
+    method public void show();
+  }
+
+  public static interface PopupMenu.OnDismissListener {
+    method public void onDismiss(android.widget.PopupMenu);
+  }
+
+  public static interface PopupMenu.OnMenuItemClickListener {
+    method public boolean onMenuItemClick(android.view.MenuItem);
+  }
+
+  public class PopupWindow {
+    ctor public PopupWindow(android.content.Context);
+    ctor public PopupWindow(android.content.Context, android.util.AttributeSet);
+    ctor public PopupWindow(android.content.Context, android.util.AttributeSet, int);
+    ctor public PopupWindow(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public PopupWindow();
+    ctor public PopupWindow(android.view.View);
+    ctor public PopupWindow(int, int);
+    ctor public PopupWindow(android.view.View, int, int);
+    ctor public PopupWindow(android.view.View, int, int, boolean);
+    method public void dismiss();
+    method public int getAnimationStyle();
+    method public android.graphics.drawable.Drawable getBackground();
+    method public android.view.View getContentView();
+    method public float getElevation();
+    method @Nullable public android.transition.Transition getEnterTransition();
+    method @Nullable public android.graphics.Rect getEpicenterBounds();
+    method @Nullable public android.transition.Transition getExitTransition();
+    method public int getHeight();
+    method public int getInputMethodMode();
+    method public int getMaxAvailableHeight(@NonNull android.view.View);
+    method public int getMaxAvailableHeight(@NonNull android.view.View, int);
+    method public int getMaxAvailableHeight(@NonNull android.view.View, int, boolean);
+    method public boolean getOverlapAnchor();
+    method public int getSoftInputMode();
+    method public int getWidth();
+    method public int getWindowLayoutType();
+    method public boolean isAboveAnchor();
+    method public boolean isAttachedInDecor();
+    method public boolean isClippedToScreen();
+    method public boolean isClippingEnabled();
+    method public boolean isFocusable();
+    method public boolean isLaidOutInScreen();
+    method public boolean isOutsideTouchable();
+    method public boolean isShowing();
+    method public boolean isSplitTouchEnabled();
+    method public boolean isTouchModal();
+    method public boolean isTouchable();
+    method public void setAnimationStyle(int);
+    method public void setAttachedInDecor(boolean);
+    method public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setClippingEnabled(boolean);
+    method public void setContentView(android.view.View);
+    method public void setElevation(float);
+    method public void setEnterTransition(@Nullable android.transition.Transition);
+    method public void setEpicenterBounds(@Nullable android.graphics.Rect);
+    method public void setExitTransition(@Nullable android.transition.Transition);
+    method public void setFocusable(boolean);
+    method public void setHeight(int);
+    method public void setIgnoreCheekPress();
+    method public void setInputMethodMode(int);
+    method public void setIsClippedToScreen(boolean);
+    method public void setIsLaidOutInScreen(boolean);
+    method public void setOnDismissListener(android.widget.PopupWindow.OnDismissListener);
+    method public void setOutsideTouchable(boolean);
+    method public void setOverlapAnchor(boolean);
+    method public void setSoftInputMode(int);
+    method public void setSplitTouchEnabled(boolean);
+    method public void setTouchInterceptor(android.view.View.OnTouchListener);
+    method public void setTouchModal(boolean);
+    method public void setTouchable(boolean);
+    method public void setWidth(int);
+    method @Deprecated public void setWindowLayoutMode(int, int);
+    method public void setWindowLayoutType(int);
+    method public void showAsDropDown(android.view.View);
+    method public void showAsDropDown(android.view.View, int, int);
+    method public void showAsDropDown(android.view.View, int, int, int);
+    method public void showAtLocation(android.view.View, int, int, int);
+    method public void update();
+    method public void update(int, int);
+    method public void update(int, int, int, int);
+    method public void update(int, int, int, int, boolean);
+    method public void update(android.view.View, int, int);
+    method public void update(android.view.View, int, int, int, int);
+    field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0
+    field public static final int INPUT_METHOD_NEEDED = 1; // 0x1
+    field public static final int INPUT_METHOD_NOT_NEEDED = 2; // 0x2
+  }
+
+  public static interface PopupWindow.OnDismissListener {
+    method public void onDismiss();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class ProgressBar extends android.view.View {
+    ctor public ProgressBar(android.content.Context);
+    ctor public ProgressBar(android.content.Context, android.util.AttributeSet);
+    ctor public ProgressBar(android.content.Context, android.util.AttributeSet, int);
+    ctor public ProgressBar(android.content.Context, android.util.AttributeSet, int, int);
+    method @Nullable public android.graphics.drawable.Drawable getCurrentDrawable();
+    method public android.graphics.drawable.Drawable getIndeterminateDrawable();
+    method @Nullable public android.graphics.BlendMode getIndeterminateTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getIndeterminateTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getIndeterminateTintMode();
+    method public android.view.animation.Interpolator getInterpolator();
+    method public int getMax();
+    method @Px public int getMaxHeight();
+    method @Px public int getMaxWidth();
+    method public int getMin();
+    method @Px public int getMinHeight();
+    method @Px public int getMinWidth();
+    method public int getProgress();
+    method @Nullable public android.graphics.BlendMode getProgressBackgroundTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getProgressBackgroundTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getProgressBackgroundTintMode();
+    method public android.graphics.drawable.Drawable getProgressDrawable();
+    method @Nullable public android.graphics.BlendMode getProgressTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getProgressTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getProgressTintMode();
+    method public int getSecondaryProgress();
+    method @Nullable public android.graphics.BlendMode getSecondaryProgressTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getSecondaryProgressTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getSecondaryProgressTintMode();
+    method public final void incrementProgressBy(int);
+    method public final void incrementSecondaryProgressBy(int);
+    method public boolean isAnimating();
+    method public boolean isIndeterminate();
+    method public void onRestoreInstanceState(android.os.Parcelable);
+    method public android.os.Parcelable onSaveInstanceState();
+    method public void setIndeterminate(boolean);
+    method public void setIndeterminateDrawable(android.graphics.drawable.Drawable);
+    method public void setIndeterminateDrawableTiled(android.graphics.drawable.Drawable);
+    method public void setIndeterminateTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setIndeterminateTintList(@Nullable android.content.res.ColorStateList);
+    method public void setIndeterminateTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setInterpolator(android.content.Context, @InterpolatorRes int);
+    method public void setInterpolator(android.view.animation.Interpolator);
+    method public void setMax(int);
+    method public void setMaxHeight(@Px int);
+    method public void setMaxWidth(@Px int);
+    method public void setMin(int);
+    method public void setMinHeight(@Px int);
+    method public void setMinWidth(@Px int);
+    method public void setProgress(int);
+    method public void setProgress(int, boolean);
+    method public void setProgressBackgroundTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setProgressBackgroundTintList(@Nullable android.content.res.ColorStateList);
+    method public void setProgressBackgroundTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setProgressDrawable(android.graphics.drawable.Drawable);
+    method public void setProgressDrawableTiled(android.graphics.drawable.Drawable);
+    method public void setProgressTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setProgressTintList(@Nullable android.content.res.ColorStateList);
+    method public void setProgressTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setSecondaryProgress(int);
+    method public void setSecondaryProgressTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setSecondaryProgressTintList(@Nullable android.content.res.ColorStateList);
+    method public void setSecondaryProgressTintMode(@Nullable android.graphics.PorterDuff.Mode);
+  }
+
+  public class QuickContactBadge extends android.widget.ImageView implements android.view.View.OnClickListener {
+    ctor public QuickContactBadge(android.content.Context);
+    ctor public QuickContactBadge(android.content.Context, android.util.AttributeSet);
+    ctor public QuickContactBadge(android.content.Context, android.util.AttributeSet, int);
+    ctor public QuickContactBadge(android.content.Context, android.util.AttributeSet, int, int);
+    method public void assignContactFromEmail(String, boolean);
+    method public void assignContactFromEmail(String, boolean, android.os.Bundle);
+    method public void assignContactFromPhone(String, boolean);
+    method public void assignContactFromPhone(String, boolean, android.os.Bundle);
+    method public void assignContactUri(android.net.Uri);
+    method public void onClick(android.view.View);
+    method public void setExcludeMimes(String[]);
+    method public void setImageToDefault();
+    method public void setMode(int);
+    method public void setOverlay(android.graphics.drawable.Drawable);
+    method public void setPrioritizedMimeType(String);
+    field protected String[] mExcludeMimes;
+  }
+
+  @android.widget.RemoteViews.RemoteView public class RadioButton extends android.widget.CompoundButton {
+    ctor public RadioButton(android.content.Context);
+    ctor public RadioButton(android.content.Context, android.util.AttributeSet);
+    ctor public RadioButton(android.content.Context, android.util.AttributeSet, int);
+    ctor public RadioButton(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class RadioGroup extends android.widget.LinearLayout {
+    ctor public RadioGroup(android.content.Context);
+    ctor public RadioGroup(android.content.Context, android.util.AttributeSet);
+    method public void check(@IdRes int);
+    method public void clearCheck();
+    method public android.widget.RadioGroup.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method @IdRes public int getCheckedRadioButtonId();
+    method public void setOnCheckedChangeListener(android.widget.RadioGroup.OnCheckedChangeListener);
+  }
+
+  public static class RadioGroup.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+    ctor public RadioGroup.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public RadioGroup.LayoutParams(int, int);
+    ctor public RadioGroup.LayoutParams(int, int, float);
+    ctor public RadioGroup.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public RadioGroup.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+  }
+
+  public static interface RadioGroup.OnCheckedChangeListener {
+    method public void onCheckedChanged(android.widget.RadioGroup, @IdRes int);
+  }
+
+  public class RatingBar extends android.widget.AbsSeekBar {
+    ctor public RatingBar(android.content.Context, android.util.AttributeSet, int);
+    ctor public RatingBar(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public RatingBar(android.content.Context, android.util.AttributeSet);
+    ctor public RatingBar(android.content.Context);
+    method public int getNumStars();
+    method public android.widget.RatingBar.OnRatingBarChangeListener getOnRatingBarChangeListener();
+    method public float getRating();
+    method public float getStepSize();
+    method public boolean isIndicator();
+    method public void setIsIndicator(boolean);
+    method public void setNumStars(int);
+    method public void setOnRatingBarChangeListener(android.widget.RatingBar.OnRatingBarChangeListener);
+    method public void setRating(float);
+    method public void setStepSize(float);
+  }
+
+  public static interface RatingBar.OnRatingBarChangeListener {
+    method public void onRatingChanged(android.widget.RatingBar, float, boolean);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class RelativeLayout extends android.view.ViewGroup {
+    ctor public RelativeLayout(android.content.Context);
+    ctor public RelativeLayout(android.content.Context, android.util.AttributeSet);
+    ctor public RelativeLayout(android.content.Context, android.util.AttributeSet, int);
+    ctor public RelativeLayout(android.content.Context, android.util.AttributeSet, int, int);
+    method public android.widget.RelativeLayout.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method public int getGravity();
+    method public int getIgnoreGravity();
+    method public void setGravity(int);
+    method public void setHorizontalGravity(int);
+    method public void setIgnoreGravity(int);
+    method public void setVerticalGravity(int);
+    field public static final int ABOVE = 2; // 0x2
+    field public static final int ALIGN_BASELINE = 4; // 0x4
+    field public static final int ALIGN_BOTTOM = 8; // 0x8
+    field public static final int ALIGN_END = 19; // 0x13
+    field public static final int ALIGN_LEFT = 5; // 0x5
+    field public static final int ALIGN_PARENT_BOTTOM = 12; // 0xc
+    field public static final int ALIGN_PARENT_END = 21; // 0x15
+    field public static final int ALIGN_PARENT_LEFT = 9; // 0x9
+    field public static final int ALIGN_PARENT_RIGHT = 11; // 0xb
+    field public static final int ALIGN_PARENT_START = 20; // 0x14
+    field public static final int ALIGN_PARENT_TOP = 10; // 0xa
+    field public static final int ALIGN_RIGHT = 7; // 0x7
+    field public static final int ALIGN_START = 18; // 0x12
+    field public static final int ALIGN_TOP = 6; // 0x6
+    field public static final int BELOW = 3; // 0x3
+    field public static final int CENTER_HORIZONTAL = 14; // 0xe
+    field public static final int CENTER_IN_PARENT = 13; // 0xd
+    field public static final int CENTER_VERTICAL = 15; // 0xf
+    field public static final int END_OF = 17; // 0x11
+    field public static final int LEFT_OF = 0; // 0x0
+    field public static final int RIGHT_OF = 1; // 0x1
+    field public static final int START_OF = 16; // 0x10
+    field public static final int TRUE = -1; // 0xffffffff
+  }
+
+  public static class RelativeLayout.LayoutParams extends android.view.ViewGroup.MarginLayoutParams {
+    ctor public RelativeLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public RelativeLayout.LayoutParams(int, int);
+    ctor public RelativeLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public RelativeLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    ctor public RelativeLayout.LayoutParams(android.widget.RelativeLayout.LayoutParams);
+    method public void addRule(int);
+    method public void addRule(int, int);
+    method public String debug(String);
+    method public int getRule(int);
+    method public int[] getRules();
+    method public void removeRule(int);
+    field public boolean alignWithParent;
+  }
+
+  public class RemoteViews implements android.view.LayoutInflater.Filter android.os.Parcelable {
+    ctor public RemoteViews(String, int);
+    ctor public RemoteViews(@NonNull String, @LayoutRes int, @IdRes int);
+    ctor public RemoteViews(android.widget.RemoteViews, android.widget.RemoteViews);
+    ctor public RemoteViews(@NonNull java.util.Map<android.util.SizeF,android.widget.RemoteViews>);
+    ctor public RemoteViews(android.widget.RemoteViews);
+    ctor public RemoteViews(android.os.Parcel);
+    method public void addStableView(@IdRes int, @NonNull android.widget.RemoteViews, int);
+    method public void addView(@IdRes int, android.widget.RemoteViews);
+    method public android.view.View apply(android.content.Context, android.view.ViewGroup);
+    method @Deprecated public android.widget.RemoteViews clone();
+    method public int describeContents();
+    method public int getLayoutId();
+    method public String getPackage();
+    method @IdRes public int getViewId();
+    method @Deprecated public boolean onLoadClass(Class);
+    method public void reapply(android.content.Context, android.view.View);
+    method public void removeAllViews(@IdRes int);
+    method public void setAccessibilityTraversalAfter(@IdRes int, @IdRes int);
+    method public void setAccessibilityTraversalBefore(@IdRes int, @IdRes int);
+    method public void setBitmap(@IdRes int, String, android.graphics.Bitmap);
+    method public void setBlendMode(@IdRes int, @NonNull String, @Nullable android.graphics.BlendMode);
+    method public void setBoolean(@IdRes int, String, boolean);
+    method public void setBundle(@IdRes int, String, android.os.Bundle);
+    method public void setByte(@IdRes int, String, byte);
+    method public void setChar(@IdRes int, String, char);
+    method public void setCharSequence(@IdRes int, String, CharSequence);
+    method public void setCharSequence(@IdRes int, @NonNull String, @StringRes int);
+    method public void setCharSequenceAttr(@IdRes int, @NonNull String, @AttrRes int);
+    method public void setChronometer(@IdRes int, long, String, boolean);
+    method public void setChronometerCountDown(@IdRes int, boolean);
+    method public void setColor(@IdRes int, @NonNull String, @ColorRes int);
+    method public void setColorAttr(@IdRes int, @NonNull String, @AttrRes int);
+    method public void setColorInt(@IdRes int, @NonNull String, @ColorInt int, @ColorInt int);
+    method public void setColorStateList(@IdRes int, @NonNull String, @Nullable android.content.res.ColorStateList);
+    method public void setColorStateList(@IdRes int, @NonNull String, @Nullable android.content.res.ColorStateList, @Nullable android.content.res.ColorStateList);
+    method public void setColorStateList(@IdRes int, @NonNull String, @ColorRes int);
+    method public void setColorStateListAttr(@IdRes int, @NonNull String, @AttrRes int);
+    method public void setCompoundButtonChecked(@IdRes int, boolean);
+    method public void setContentDescription(@IdRes int, CharSequence);
+    method public void setDisplayedChild(@IdRes int, int);
+    method public void setDouble(@IdRes int, String, double);
+    method public void setEmptyView(@IdRes int, @IdRes int);
+    method public void setFloat(@IdRes int, String, float);
+    method public void setFloatDimen(@IdRes int, @NonNull String, @DimenRes int);
+    method public void setFloatDimen(@IdRes int, @NonNull String, float, int);
+    method public void setFloatDimenAttr(@IdRes int, @NonNull String, @AttrRes int);
+    method public void setIcon(@IdRes int, String, android.graphics.drawable.Icon);
+    method public void setIcon(@IdRes int, @NonNull String, @Nullable android.graphics.drawable.Icon, @Nullable android.graphics.drawable.Icon);
+    method public void setImageViewBitmap(@IdRes int, android.graphics.Bitmap);
+    method public void setImageViewIcon(@IdRes int, android.graphics.drawable.Icon);
+    method public void setImageViewResource(@IdRes int, @DrawableRes int);
+    method public void setImageViewUri(@IdRes int, android.net.Uri);
+    method public void setInt(@IdRes int, String, int);
+    method public void setIntDimen(@IdRes int, @NonNull String, @DimenRes int);
+    method public void setIntDimen(@IdRes int, @NonNull String, float, int);
+    method public void setIntDimenAttr(@IdRes int, @NonNull String, @AttrRes int);
+    method public void setIntent(@IdRes int, String, android.content.Intent);
+    method public void setLabelFor(@IdRes int, @IdRes int);
+    method public void setLightBackgroundLayoutId(@LayoutRes int);
+    method public void setLong(@IdRes int, String, long);
+    method public void setOnCheckedChangeResponse(@IdRes int, @NonNull android.widget.RemoteViews.RemoteResponse);
+    method public void setOnClickFillInIntent(@IdRes int, android.content.Intent);
+    method public void setOnClickPendingIntent(@IdRes int, android.app.PendingIntent);
+    method public void setOnClickResponse(@IdRes int, @NonNull android.widget.RemoteViews.RemoteResponse);
+    method public void setPendingIntentTemplate(@IdRes int, android.app.PendingIntent);
+    method public void setProgressBar(@IdRes int, int, int, boolean);
+    method public void setRadioGroupChecked(@IdRes int, @IdRes int);
+    method public void setRelativeScrollPosition(@IdRes int, int);
+    method @Deprecated public void setRemoteAdapter(int, @IdRes int, android.content.Intent);
+    method public void setRemoteAdapter(@IdRes int, android.content.Intent);
+    method public void setRemoteAdapter(@IdRes int, @NonNull android.widget.RemoteViews.RemoteCollectionItems);
+    method public void setScrollPosition(@IdRes int, int);
+    method public void setShort(@IdRes int, String, short);
+    method public void setString(@IdRes int, String, String);
+    method public void setTextColor(@IdRes int, @ColorInt int);
+    method public void setTextViewCompoundDrawables(@IdRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
+    method public void setTextViewCompoundDrawablesRelative(@IdRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
+    method public void setTextViewText(@IdRes int, CharSequence);
+    method public void setTextViewTextSize(@IdRes int, int, float);
+    method public void setUri(@IdRes int, String, android.net.Uri);
+    method public void setViewLayoutHeight(@IdRes int, float, int);
+    method public void setViewLayoutHeightAttr(@IdRes int, @AttrRes int);
+    method public void setViewLayoutHeightDimen(@IdRes int, @DimenRes int);
+    method public void setViewLayoutMargin(@IdRes int, int, float, int);
+    method public void setViewLayoutMarginAttr(@IdRes int, int, @AttrRes int);
+    method public void setViewLayoutMarginDimen(@IdRes int, int, @DimenRes int);
+    method public void setViewLayoutWidth(@IdRes int, float, int);
+    method public void setViewLayoutWidthAttr(@IdRes int, @AttrRes int);
+    method public void setViewLayoutWidthDimen(@IdRes int, @DimenRes int);
+    method public void setViewOutlinePreferredRadius(@IdRes int, float, int);
+    method public void setViewOutlinePreferredRadiusAttr(@IdRes int, @AttrRes int);
+    method public void setViewOutlinePreferredRadiusDimen(@IdRes int, @DimenRes int);
+    method public void setViewPadding(@IdRes int, @Px int, @Px int, @Px int, @Px int);
+    method public void setViewVisibility(@IdRes int, int);
+    method public void showNext(@IdRes int);
+    method public void showPrevious(@IdRes int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.widget.RemoteViews> CREATOR;
+    field public static final String EXTRA_CHECKED = "android.widget.extra.CHECKED";
+    field public static final String EXTRA_SHARED_ELEMENT_BOUNDS = "android.widget.extra.SHARED_ELEMENT_BOUNDS";
+    field public static final int MARGIN_BOTTOM = 3; // 0x3
+    field public static final int MARGIN_END = 5; // 0x5
+    field public static final int MARGIN_LEFT = 0; // 0x0
+    field public static final int MARGIN_RIGHT = 2; // 0x2
+    field public static final int MARGIN_START = 4; // 0x4
+    field public static final int MARGIN_TOP = 1; // 0x1
+  }
+
+  public static class RemoteViews.ActionException extends java.lang.RuntimeException {
+    ctor public RemoteViews.ActionException(Exception);
+    ctor public RemoteViews.ActionException(String);
+  }
+
+  public static final class RemoteViews.RemoteCollectionItems implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getItemCount();
+    method public long getItemId(int);
+    method @NonNull public android.widget.RemoteViews getItemView(int);
+    method public int getViewTypeCount();
+    method public boolean hasStableIds();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.widget.RemoteViews.RemoteCollectionItems> CREATOR;
+  }
+
+  public static final class RemoteViews.RemoteCollectionItems.Builder {
+    ctor public RemoteViews.RemoteCollectionItems.Builder();
+    method @NonNull public android.widget.RemoteViews.RemoteCollectionItems.Builder addItem(long, @NonNull android.widget.RemoteViews);
+    method @NonNull public android.widget.RemoteViews.RemoteCollectionItems build();
+    method @NonNull public android.widget.RemoteViews.RemoteCollectionItems.Builder setHasStableIds(boolean);
+    method @NonNull public android.widget.RemoteViews.RemoteCollectionItems.Builder setViewTypeCount(int);
+  }
+
+  public static class RemoteViews.RemoteResponse {
+    ctor public RemoteViews.RemoteResponse();
+    method @NonNull public android.widget.RemoteViews.RemoteResponse addSharedElement(@IdRes int, @NonNull String);
+    method @NonNull public static android.widget.RemoteViews.RemoteResponse fromFillInIntent(@NonNull android.content.Intent);
+    method @NonNull public static android.widget.RemoteViews.RemoteResponse fromPendingIntent(@NonNull android.app.PendingIntent);
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface RemoteViews.RemoteView {
+  }
+
+  public static final class RemoteViews.RemoteViewOutlineProvider extends android.view.ViewOutlineProvider {
+    ctor public RemoteViews.RemoteViewOutlineProvider(float);
+    method public void getOutline(@NonNull android.view.View, @NonNull android.graphics.Outline);
+    method public float getRadius();
+  }
+
+  public abstract class RemoteViewsService extends android.app.Service {
+    ctor public RemoteViewsService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract android.widget.RemoteViewsService.RemoteViewsFactory onGetViewFactory(android.content.Intent);
+  }
+
+  public static interface RemoteViewsService.RemoteViewsFactory {
+    method public int getCount();
+    method public long getItemId(int);
+    method public android.widget.RemoteViews getLoadingView();
+    method public android.widget.RemoteViews getViewAt(int);
+    method public int getViewTypeCount();
+    method public boolean hasStableIds();
+    method public void onCreate();
+    method public void onDataSetChanged();
+    method public void onDestroy();
+  }
+
+  public abstract class ResourceCursorAdapter extends android.widget.CursorAdapter {
+    ctor @Deprecated public ResourceCursorAdapter(android.content.Context, int, android.database.Cursor);
+    ctor public ResourceCursorAdapter(android.content.Context, int, android.database.Cursor, boolean);
+    ctor public ResourceCursorAdapter(android.content.Context, int, android.database.Cursor, int);
+    method public android.view.View newView(android.content.Context, android.database.Cursor, android.view.ViewGroup);
+    method public void setDropDownViewResource(int);
+    method public void setViewResource(int);
+  }
+
+  public abstract class ResourceCursorTreeAdapter extends android.widget.CursorTreeAdapter {
+    ctor public ResourceCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, int, int);
+    ctor public ResourceCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, int);
+    ctor public ResourceCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int);
+    method public android.view.View newChildView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+    method public android.view.View newGroupView(android.content.Context, android.database.Cursor, boolean, android.view.ViewGroup);
+  }
+
+  public class ScrollView extends android.widget.FrameLayout {
+    ctor public ScrollView(android.content.Context);
+    ctor public ScrollView(android.content.Context, android.util.AttributeSet);
+    ctor public ScrollView(android.content.Context, android.util.AttributeSet, int);
+    ctor public ScrollView(android.content.Context, android.util.AttributeSet, int, int);
+    method public boolean arrowScroll(int);
+    method protected int computeScrollDeltaToGetChildRectOnScreen(android.graphics.Rect);
+    method public boolean executeKeyEvent(android.view.KeyEvent);
+    method public void fling(int);
+    method public boolean fullScroll(int);
+    method @ColorInt public int getBottomEdgeEffectColor();
+    method public int getMaxScrollAmount();
+    method @ColorInt public int getTopEdgeEffectColor();
+    method public boolean isFillViewport();
+    method public boolean isSmoothScrollingEnabled();
+    method public boolean pageScroll(int);
+    method public void scrollToDescendant(@NonNull android.view.View);
+    method public void setBottomEdgeEffectColor(@ColorInt int);
+    method public void setEdgeEffectColor(@ColorInt int);
+    method public void setFillViewport(boolean);
+    method public void setSmoothScrollingEnabled(boolean);
+    method public void setTopEdgeEffectColor(@ColorInt int);
+    method public final void smoothScrollBy(int, int);
+    method public final void smoothScrollTo(int, int);
+  }
+
+  public class Scroller {
+    ctor public Scroller(android.content.Context);
+    ctor public Scroller(android.content.Context, android.view.animation.Interpolator);
+    ctor public Scroller(android.content.Context, android.view.animation.Interpolator, boolean);
+    method public void abortAnimation();
+    method public boolean computeScrollOffset();
+    method public void extendDuration(int);
+    method public void fling(int, int, int, int, int, int, int, int);
+    method public final void forceFinished(boolean);
+    method public float getCurrVelocity();
+    method public final int getCurrX();
+    method public final int getCurrY();
+    method public final int getDuration();
+    method public final int getFinalX();
+    method public final int getFinalY();
+    method public final int getStartX();
+    method public final int getStartY();
+    method public final boolean isFinished();
+    method public void setFinalX(int);
+    method public void setFinalY(int);
+    method public final void setFriction(float);
+    method public void startScroll(int, int, int, int);
+    method public void startScroll(int, int, int, int, int);
+    method public int timePassed();
+  }
+
+  public class SearchView extends android.widget.LinearLayout implements android.view.CollapsibleActionView {
+    ctor public SearchView(android.content.Context);
+    ctor public SearchView(android.content.Context, android.util.AttributeSet);
+    ctor public SearchView(android.content.Context, android.util.AttributeSet, int);
+    ctor public SearchView(android.content.Context, android.util.AttributeSet, int, int);
+    method public int getImeOptions();
+    method public int getInputType();
+    method public int getMaxWidth();
+    method public CharSequence getQuery();
+    method @Nullable public CharSequence getQueryHint();
+    method public android.widget.CursorAdapter getSuggestionsAdapter();
+    method @Deprecated public boolean isIconfiedByDefault();
+    method public boolean isIconified();
+    method public boolean isIconifiedByDefault();
+    method public boolean isQueryRefinementEnabled();
+    method public boolean isSubmitButtonEnabled();
+    method public void onActionViewCollapsed();
+    method public void onActionViewExpanded();
+    method public void setIconified(boolean);
+    method public void setIconifiedByDefault(boolean);
+    method public void setImeOptions(int);
+    method public void setInputType(int);
+    method public void setMaxWidth(int);
+    method public void setOnCloseListener(android.widget.SearchView.OnCloseListener);
+    method public void setOnQueryTextFocusChangeListener(android.view.View.OnFocusChangeListener);
+    method public void setOnQueryTextListener(android.widget.SearchView.OnQueryTextListener);
+    method public void setOnSearchClickListener(android.view.View.OnClickListener);
+    method public void setOnSuggestionListener(android.widget.SearchView.OnSuggestionListener);
+    method public void setQuery(CharSequence, boolean);
+    method public void setQueryHint(@Nullable CharSequence);
+    method public void setQueryRefinementEnabled(boolean);
+    method public void setSearchableInfo(android.app.SearchableInfo);
+    method public void setSubmitButtonEnabled(boolean);
+    method public void setSuggestionsAdapter(android.widget.CursorAdapter);
+  }
+
+  public static interface SearchView.OnCloseListener {
+    method public boolean onClose();
+  }
+
+  public static interface SearchView.OnQueryTextListener {
+    method public boolean onQueryTextChange(String);
+    method public boolean onQueryTextSubmit(String);
+  }
+
+  public static interface SearchView.OnSuggestionListener {
+    method public boolean onSuggestionClick(int);
+    method public boolean onSuggestionSelect(int);
+  }
+
+  public interface SectionIndexer {
+    method public int getPositionForSection(int);
+    method public int getSectionForPosition(int);
+    method public Object[] getSections();
+  }
+
+  public class SeekBar extends android.widget.AbsSeekBar {
+    ctor public SeekBar(android.content.Context);
+    ctor public SeekBar(android.content.Context, android.util.AttributeSet);
+    ctor public SeekBar(android.content.Context, android.util.AttributeSet, int);
+    ctor public SeekBar(android.content.Context, android.util.AttributeSet, int, int);
+    method public void setOnSeekBarChangeListener(android.widget.SeekBar.OnSeekBarChangeListener);
+  }
+
+  public static interface SeekBar.OnSeekBarChangeListener {
+    method public void onProgressChanged(android.widget.SeekBar, int, boolean);
+    method public void onStartTrackingTouch(android.widget.SeekBar);
+    method public void onStopTrackingTouch(android.widget.SeekBar);
+  }
+
+  public class ShareActionProvider extends android.view.ActionProvider {
+    ctor public ShareActionProvider(android.content.Context);
+    method public android.view.View onCreateActionView();
+    method public void setOnShareTargetSelectedListener(android.widget.ShareActionProvider.OnShareTargetSelectedListener);
+    method public void setShareHistoryFileName(String);
+    method public void setShareIntent(android.content.Intent);
+    field public static final String DEFAULT_SHARE_HISTORY_FILE_NAME = "share_history.xml";
+  }
+
+  public static interface ShareActionProvider.OnShareTargetSelectedListener {
+    method public boolean onShareTargetSelected(android.widget.ShareActionProvider, android.content.Intent);
+  }
+
+  public class SimpleAdapter extends android.widget.BaseAdapter implements android.widget.Filterable android.widget.ThemedSpinnerAdapter {
+    ctor public SimpleAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String,?>>, @LayoutRes int, String[], @IdRes int[]);
+    method public int getCount();
+    method public android.content.res.Resources.Theme getDropDownViewTheme();
+    method public android.widget.Filter getFilter();
+    method public Object getItem(int);
+    method public long getItemId(int);
+    method public android.view.View getView(int, android.view.View, android.view.ViewGroup);
+    method public android.widget.SimpleAdapter.ViewBinder getViewBinder();
+    method public void setDropDownViewResource(int);
+    method public void setDropDownViewTheme(android.content.res.Resources.Theme);
+    method public void setViewBinder(android.widget.SimpleAdapter.ViewBinder);
+    method public void setViewImage(android.widget.ImageView, int);
+    method public void setViewImage(android.widget.ImageView, String);
+    method public void setViewText(android.widget.TextView, String);
+  }
+
+  public static interface SimpleAdapter.ViewBinder {
+    method public boolean setViewValue(android.view.View, Object, String);
+  }
+
+  public class SimpleCursorAdapter extends android.widget.ResourceCursorAdapter {
+    ctor @Deprecated public SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, String[], int[]);
+    ctor public SimpleCursorAdapter(android.content.Context, int, android.database.Cursor, String[], int[], int);
+    method public void bindView(android.view.View, android.content.Context, android.database.Cursor);
+    method public void changeCursorAndColumns(android.database.Cursor, String[], int[]);
+    method public android.widget.SimpleCursorAdapter.CursorToStringConverter getCursorToStringConverter();
+    method public int getStringConversionColumn();
+    method public android.widget.SimpleCursorAdapter.ViewBinder getViewBinder();
+    method public void setCursorToStringConverter(android.widget.SimpleCursorAdapter.CursorToStringConverter);
+    method public void setStringConversionColumn(int);
+    method public void setViewBinder(android.widget.SimpleCursorAdapter.ViewBinder);
+    method public void setViewImage(android.widget.ImageView, String);
+    method public void setViewText(android.widget.TextView, String);
+  }
+
+  public static interface SimpleCursorAdapter.CursorToStringConverter {
+    method public CharSequence convertToString(android.database.Cursor);
+  }
+
+  public static interface SimpleCursorAdapter.ViewBinder {
+    method public boolean setViewValue(android.view.View, android.database.Cursor, int);
+  }
+
+  public abstract class SimpleCursorTreeAdapter extends android.widget.ResourceCursorTreeAdapter {
+    ctor public SimpleCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, String[], int[], int, int, String[], int[]);
+    ctor public SimpleCursorTreeAdapter(android.content.Context, android.database.Cursor, int, int, String[], int[], int, String[], int[]);
+    ctor public SimpleCursorTreeAdapter(android.content.Context, android.database.Cursor, int, String[], int[], int, String[], int[]);
+    method protected void bindChildView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+    method protected void bindGroupView(android.view.View, android.content.Context, android.database.Cursor, boolean);
+    method public android.widget.SimpleCursorTreeAdapter.ViewBinder getViewBinder();
+    method public void setViewBinder(android.widget.SimpleCursorTreeAdapter.ViewBinder);
+    method protected void setViewImage(android.widget.ImageView, String);
+    method public void setViewText(android.widget.TextView, String);
+  }
+
+  public static interface SimpleCursorTreeAdapter.ViewBinder {
+    method public boolean setViewValue(android.view.View, android.database.Cursor, int);
+  }
+
+  public class SimpleExpandableListAdapter extends android.widget.BaseExpandableListAdapter {
+    ctor public SimpleExpandableListAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String,?>>, int, String[], int[], java.util.List<? extends java.util.List<? extends java.util.Map<java.lang.String,?>>>, int, String[], int[]);
+    ctor public SimpleExpandableListAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String,?>>, int, int, String[], int[], java.util.List<? extends java.util.List<? extends java.util.Map<java.lang.String,?>>>, int, String[], int[]);
+    ctor public SimpleExpandableListAdapter(android.content.Context, java.util.List<? extends java.util.Map<java.lang.String,?>>, int, int, String[], int[], java.util.List<? extends java.util.List<? extends java.util.Map<java.lang.String,?>>>, int, int, String[], int[]);
+    method public Object getChild(int, int);
+    method public long getChildId(int, int);
+    method public android.view.View getChildView(int, int, boolean, android.view.View, android.view.ViewGroup);
+    method public int getChildrenCount(int);
+    method public Object getGroup(int);
+    method public int getGroupCount();
+    method public long getGroupId(int);
+    method public android.view.View getGroupView(int, boolean, android.view.View, android.view.ViewGroup);
+    method public boolean hasStableIds();
+    method public boolean isChildSelectable(int, int);
+    method public android.view.View newChildView(boolean, android.view.ViewGroup);
+    method public android.view.View newGroupView(boolean, android.view.ViewGroup);
+  }
+
+  @Deprecated public class SlidingDrawer extends android.view.ViewGroup {
+    ctor @Deprecated public SlidingDrawer(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public SlidingDrawer(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public SlidingDrawer(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public void animateClose();
+    method @Deprecated public void animateOpen();
+    method @Deprecated public void animateToggle();
+    method @Deprecated public void close();
+    method @Deprecated public android.view.View getContent();
+    method @Deprecated public android.view.View getHandle();
+    method @Deprecated public boolean isMoving();
+    method @Deprecated public boolean isOpened();
+    method @Deprecated public void lock();
+    method @Deprecated public void open();
+    method @Deprecated public void setOnDrawerCloseListener(android.widget.SlidingDrawer.OnDrawerCloseListener);
+    method @Deprecated public void setOnDrawerOpenListener(android.widget.SlidingDrawer.OnDrawerOpenListener);
+    method @Deprecated public void setOnDrawerScrollListener(android.widget.SlidingDrawer.OnDrawerScrollListener);
+    method @Deprecated public void toggle();
+    method @Deprecated public void unlock();
+    field @Deprecated public static final int ORIENTATION_HORIZONTAL = 0; // 0x0
+    field @Deprecated public static final int ORIENTATION_VERTICAL = 1; // 0x1
+  }
+
+  @Deprecated public static interface SlidingDrawer.OnDrawerCloseListener {
+    method @Deprecated public void onDrawerClosed();
+  }
+
+  @Deprecated public static interface SlidingDrawer.OnDrawerOpenListener {
+    method @Deprecated public void onDrawerOpened();
+  }
+
+  @Deprecated public static interface SlidingDrawer.OnDrawerScrollListener {
+    method @Deprecated public void onScrollEnded();
+    method @Deprecated public void onScrollStarted();
+  }
+
+  public final class Space extends android.view.View {
+    ctor public Space(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public Space(android.content.Context, android.util.AttributeSet, int);
+    ctor public Space(android.content.Context, android.util.AttributeSet);
+    ctor public Space(android.content.Context);
+  }
+
+  public class Spinner extends android.widget.AbsSpinner implements android.content.DialogInterface.OnClickListener {
+    ctor public Spinner(android.content.Context);
+    ctor public Spinner(android.content.Context, int);
+    ctor public Spinner(android.content.Context, android.util.AttributeSet);
+    ctor public Spinner(android.content.Context, android.util.AttributeSet, int);
+    ctor public Spinner(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public Spinner(android.content.Context, android.util.AttributeSet, int, int, int);
+    ctor public Spinner(android.content.Context, android.util.AttributeSet, int, int, int, android.content.res.Resources.Theme);
+    method public int getDropDownHorizontalOffset();
+    method public int getDropDownVerticalOffset();
+    method public int getDropDownWidth();
+    method public int getGravity();
+    method public android.graphics.drawable.Drawable getPopupBackground();
+    method public android.content.Context getPopupContext();
+    method public CharSequence getPrompt();
+    method public void onClick(android.content.DialogInterface, int);
+    method public void setDropDownHorizontalOffset(int);
+    method public void setDropDownVerticalOffset(int);
+    method public void setDropDownWidth(int);
+    method public void setGravity(int);
+    method public void setPopupBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setPopupBackgroundResource(@DrawableRes int);
+    method public void setPrompt(CharSequence);
+    method public void setPromptId(int);
+    field public static final int MODE_DIALOG = 0; // 0x0
+    field public static final int MODE_DROPDOWN = 1; // 0x1
+  }
+
+  public interface SpinnerAdapter extends android.widget.Adapter {
+    method public android.view.View getDropDownView(int, android.view.View, android.view.ViewGroup);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class StackView extends android.widget.AdapterViewAnimator {
+    ctor public StackView(android.content.Context);
+    ctor public StackView(android.content.Context, android.util.AttributeSet);
+    ctor public StackView(android.content.Context, android.util.AttributeSet, int);
+    ctor public StackView(android.content.Context, android.util.AttributeSet, int, int);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class Switch extends android.widget.CompoundButton {
+    ctor public Switch(android.content.Context);
+    ctor public Switch(android.content.Context, android.util.AttributeSet);
+    ctor public Switch(android.content.Context, android.util.AttributeSet, int);
+    ctor public Switch(android.content.Context, android.util.AttributeSet, int, int);
+    method public boolean getShowText();
+    method public boolean getSplitTrack();
+    method public int getSwitchMinWidth();
+    method public int getSwitchPadding();
+    method public CharSequence getTextOff();
+    method public CharSequence getTextOn();
+    method public android.graphics.drawable.Drawable getThumbDrawable();
+    method public int getThumbTextPadding();
+    method @Nullable public android.graphics.BlendMode getThumbTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getThumbTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getThumbTintMode();
+    method public android.graphics.drawable.Drawable getTrackDrawable();
+    method @Nullable public android.graphics.BlendMode getTrackTintBlendMode();
+    method @Nullable public android.content.res.ColorStateList getTrackTintList();
+    method @Nullable public android.graphics.PorterDuff.Mode getTrackTintMode();
+    method public void onMeasure(int, int);
+    method public void setShowText(boolean);
+    method public void setSplitTrack(boolean);
+    method public void setSwitchMinWidth(int);
+    method public void setSwitchPadding(int);
+    method public void setSwitchTextAppearance(android.content.Context, @StyleRes int);
+    method public void setSwitchTypeface(android.graphics.Typeface, int);
+    method public void setSwitchTypeface(android.graphics.Typeface);
+    method public void setTextOff(CharSequence);
+    method public void setTextOn(CharSequence);
+    method public void setThumbDrawable(android.graphics.drawable.Drawable);
+    method public void setThumbIcon(@Nullable android.graphics.drawable.Icon);
+    method public void setThumbResource(@DrawableRes int);
+    method public void setThumbTextPadding(int);
+    method public void setThumbTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setThumbTintList(@Nullable android.content.res.ColorStateList);
+    method public void setThumbTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setTrackDrawable(android.graphics.drawable.Drawable);
+    method public void setTrackIcon(@Nullable android.graphics.drawable.Icon);
+    method public void setTrackResource(@DrawableRes int);
+    method public void setTrackTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setTrackTintList(@Nullable android.content.res.ColorStateList);
+    method public void setTrackTintMode(@Nullable android.graphics.PorterDuff.Mode);
+  }
+
+  @Deprecated public class TabHost extends android.widget.FrameLayout implements android.view.ViewTreeObserver.OnTouchModeChangeListener {
+    ctor @Deprecated public TabHost(android.content.Context);
+    ctor @Deprecated public TabHost(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public TabHost(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public TabHost(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public void addTab(android.widget.TabHost.TabSpec);
+    method @Deprecated public void clearAllTabs();
+    method @Deprecated @Nullable public int getCurrentTab();
+    method @Deprecated @Nullable public String getCurrentTabTag();
+    method @Deprecated @Nullable public android.view.View getCurrentTabView();
+    method @Deprecated public android.view.View getCurrentView();
+    method @Deprecated public android.widget.FrameLayout getTabContentView();
+    method @Deprecated public android.widget.TabWidget getTabWidget();
+    method @Deprecated @NonNull public android.widget.TabHost.TabSpec newTabSpec(@NonNull String);
+    method @Deprecated public void onTouchModeChanged(boolean);
+    method @Deprecated public void setCurrentTab(int);
+    method @Deprecated public void setCurrentTabByTag(String);
+    method @Deprecated public void setOnTabChangedListener(android.widget.TabHost.OnTabChangeListener);
+    method @Deprecated public void setup();
+    method @Deprecated public void setup(android.app.LocalActivityManager);
+  }
+
+  @Deprecated public static interface TabHost.OnTabChangeListener {
+    method @Deprecated public void onTabChanged(String);
+  }
+
+  @Deprecated public static interface TabHost.TabContentFactory {
+    method @Deprecated public android.view.View createTabContent(String);
+  }
+
+  @Deprecated public class TabHost.TabSpec {
+    method @Deprecated @NonNull public String getTag();
+    method @Deprecated public android.widget.TabHost.TabSpec setContent(int);
+    method @Deprecated public android.widget.TabHost.TabSpec setContent(android.widget.TabHost.TabContentFactory);
+    method @Deprecated public android.widget.TabHost.TabSpec setContent(android.content.Intent);
+    method @Deprecated public android.widget.TabHost.TabSpec setIndicator(CharSequence);
+    method @Deprecated public android.widget.TabHost.TabSpec setIndicator(CharSequence, android.graphics.drawable.Drawable);
+    method @Deprecated public android.widget.TabHost.TabSpec setIndicator(android.view.View);
+  }
+
+  @Deprecated public class TabWidget extends android.widget.LinearLayout implements android.view.View.OnFocusChangeListener {
+    ctor @Deprecated public TabWidget(android.content.Context);
+    ctor @Deprecated public TabWidget(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public TabWidget(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public TabWidget(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public void dispatchDraw(android.graphics.Canvas);
+    method @Deprecated public void focusCurrentTab(int);
+    method @Deprecated public android.view.View getChildTabViewAt(int);
+    method @Deprecated @Nullable public android.graphics.drawable.Drawable getLeftStripDrawable();
+    method @Deprecated @Nullable public android.graphics.drawable.Drawable getRightStripDrawable();
+    method @Deprecated public int getTabCount();
+    method @Deprecated public boolean isStripEnabled();
+    method @Deprecated public void onFocusChange(android.view.View, boolean);
+    method @Deprecated public void setCurrentTab(int);
+    method @Deprecated public void setDividerDrawable(@DrawableRes int);
+    method @Deprecated public void setLeftStripDrawable(@Nullable android.graphics.drawable.Drawable);
+    method @Deprecated public void setLeftStripDrawable(@DrawableRes int);
+    method @Deprecated public void setRightStripDrawable(@Nullable android.graphics.drawable.Drawable);
+    method @Deprecated public void setRightStripDrawable(@DrawableRes int);
+    method @Deprecated public void setStripEnabled(boolean);
+  }
+
+  public class TableLayout extends android.widget.LinearLayout {
+    ctor public TableLayout(android.content.Context);
+    ctor public TableLayout(android.content.Context, android.util.AttributeSet);
+    method public android.widget.TableLayout.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method public boolean isColumnCollapsed(int);
+    method public boolean isColumnShrinkable(int);
+    method public boolean isColumnStretchable(int);
+    method public boolean isShrinkAllColumns();
+    method public boolean isStretchAllColumns();
+    method public void setColumnCollapsed(int, boolean);
+    method public void setColumnShrinkable(int, boolean);
+    method public void setColumnStretchable(int, boolean);
+    method public void setShrinkAllColumns(boolean);
+    method public void setStretchAllColumns(boolean);
+  }
+
+  public static class TableLayout.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+    ctor public TableLayout.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public TableLayout.LayoutParams(int, int);
+    ctor public TableLayout.LayoutParams(int, int, float);
+    ctor public TableLayout.LayoutParams();
+    ctor public TableLayout.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public TableLayout.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+  }
+
+  public class TableRow extends android.widget.LinearLayout {
+    ctor public TableRow(android.content.Context);
+    ctor public TableRow(android.content.Context, android.util.AttributeSet);
+    method public android.widget.TableRow.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method public android.view.View getVirtualChildAt(int);
+    method public int getVirtualChildCount();
+  }
+
+  public static class TableRow.LayoutParams extends android.widget.LinearLayout.LayoutParams {
+    ctor public TableRow.LayoutParams(android.content.Context, android.util.AttributeSet);
+    ctor public TableRow.LayoutParams(int, int);
+    ctor public TableRow.LayoutParams(int, int, float);
+    ctor public TableRow.LayoutParams();
+    ctor public TableRow.LayoutParams(int);
+    ctor public TableRow.LayoutParams(android.view.ViewGroup.LayoutParams);
+    ctor public TableRow.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    field public int column;
+    field public int span;
+  }
+
+  @android.widget.RemoteViews.RemoteView public class TextClock extends android.widget.TextView {
+    ctor public TextClock(android.content.Context);
+    ctor public TextClock(android.content.Context, android.util.AttributeSet);
+    ctor public TextClock(android.content.Context, android.util.AttributeSet, int);
+    ctor public TextClock(android.content.Context, android.util.AttributeSet, int, int);
+    method public CharSequence getFormat12Hour();
+    method public CharSequence getFormat24Hour();
+    method public String getTimeZone();
+    method public boolean is24HourModeEnabled();
+    method public void refreshTime();
+    method public void setFormat12Hour(CharSequence);
+    method public void setFormat24Hour(CharSequence);
+    method public void setTimeZone(String);
+    field @Deprecated public static final CharSequence DEFAULT_FORMAT_12_HOUR;
+    field @Deprecated public static final CharSequence DEFAULT_FORMAT_24_HOUR;
+  }
+
+  public class TextSwitcher extends android.widget.ViewSwitcher {
+    ctor public TextSwitcher(android.content.Context);
+    ctor public TextSwitcher(android.content.Context, android.util.AttributeSet);
+    method public void setCurrentText(CharSequence);
+    method public void setText(CharSequence);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class TextView extends android.view.View implements android.view.ViewTreeObserver.OnPreDrawListener {
+    ctor public TextView(android.content.Context);
+    ctor public TextView(android.content.Context, @Nullable android.util.AttributeSet);
+    ctor public TextView(android.content.Context, @Nullable android.util.AttributeSet, int);
+    ctor public TextView(android.content.Context, @Nullable android.util.AttributeSet, int, int);
+    method public void addTextChangedListener(android.text.TextWatcher);
+    method public final void append(CharSequence);
+    method public void append(CharSequence, int, int);
+    method public void beginBatchEdit();
+    method public boolean bringPointIntoView(int);
+    method public void clearComposingText();
+    method public void debug(int);
+    method public boolean didTouchFocusSelect();
+    method public void endBatchEdit();
+    method public boolean extractText(android.view.inputmethod.ExtractedTextRequest, android.view.inputmethod.ExtractedText);
+    method public final int getAutoLinkMask();
+    method public int getAutoSizeMaxTextSize();
+    method public int getAutoSizeMinTextSize();
+    method public int getAutoSizeStepGranularity();
+    method public int[] getAutoSizeTextAvailableSizes();
+    method public int getAutoSizeTextType();
+    method public int getBreakStrategy();
+    method public int getCompoundDrawablePadding();
+    method @Nullable public android.graphics.BlendMode getCompoundDrawableTintBlendMode();
+    method public android.content.res.ColorStateList getCompoundDrawableTintList();
+    method public android.graphics.PorterDuff.Mode getCompoundDrawableTintMode();
+    method @NonNull public android.graphics.drawable.Drawable[] getCompoundDrawables();
+    method @NonNull public android.graphics.drawable.Drawable[] getCompoundDrawablesRelative();
+    method public int getCompoundPaddingBottom();
+    method public int getCompoundPaddingEnd();
+    method public int getCompoundPaddingLeft();
+    method public int getCompoundPaddingRight();
+    method public int getCompoundPaddingStart();
+    method public int getCompoundPaddingTop();
+    method @ColorInt public final int getCurrentHintTextColor();
+    method @ColorInt public final int getCurrentTextColor();
+    method public android.view.ActionMode.Callback getCustomInsertionActionModeCallback();
+    method public android.view.ActionMode.Callback getCustomSelectionActionModeCallback();
+    method protected boolean getDefaultEditable();
+    method protected android.text.method.MovementMethod getDefaultMovementMethod();
+    method public android.text.Editable getEditableText();
+    method public android.text.TextUtils.TruncateAt getEllipsize();
+    method public CharSequence getError();
+    method public int getExtendedPaddingBottom();
+    method public int getExtendedPaddingTop();
+    method public android.text.InputFilter[] getFilters();
+    method public int getFirstBaselineToTopHeight();
+    method @Nullable public String getFontFeatureSettings();
+    method @Nullable public String getFontVariationSettings();
+    method public boolean getFreezesText();
+    method public int getGravity();
+    method @ColorInt public int getHighlightColor();
+    method public CharSequence getHint();
+    method public final android.content.res.ColorStateList getHintTextColors();
+    method public int getHyphenationFrequency();
+    method public int getImeActionId();
+    method public CharSequence getImeActionLabel();
+    method @Nullable public android.os.LocaleList getImeHintLocales();
+    method public int getImeOptions();
+    method public boolean getIncludeFontPadding();
+    method public android.os.Bundle getInputExtras(boolean);
+    method public int getInputType();
+    method public int getJustificationMode();
+    method public final android.text.method.KeyListener getKeyListener();
+    method public int getLastBaselineToBottomHeight();
+    method public final android.text.Layout getLayout();
+    method public float getLetterSpacing();
+    method public int getLineBounds(int, android.graphics.Rect);
+    method public int getLineCount();
+    method public int getLineHeight();
+    method public float getLineSpacingExtra();
+    method public float getLineSpacingMultiplier();
+    method public final android.content.res.ColorStateList getLinkTextColors();
+    method public final boolean getLinksClickable();
+    method public int getMarqueeRepeatLimit();
+    method public int getMaxEms();
+    method public int getMaxHeight();
+    method public int getMaxLines();
+    method public int getMaxWidth();
+    method public int getMinEms();
+    method public int getMinHeight();
+    method public int getMinLines();
+    method public int getMinWidth();
+    method public final android.text.method.MovementMethod getMovementMethod();
+    method public int getOffsetForPosition(float, float);
+    method public android.text.TextPaint getPaint();
+    method public int getPaintFlags();
+    method public String getPrivateImeOptions();
+    method public int getSelectionEnd();
+    method public int getSelectionStart();
+    method @ColorInt public int getShadowColor();
+    method public float getShadowDx();
+    method public float getShadowDy();
+    method public float getShadowRadius();
+    method public final boolean getShowSoftInputOnFocus();
+    method public CharSequence getText();
+    method @NonNull public android.view.textclassifier.TextClassifier getTextClassifier();
+    method public final android.content.res.ColorStateList getTextColors();
+    method @Nullable public android.graphics.drawable.Drawable getTextCursorDrawable();
+    method @NonNull public android.text.TextDirectionHeuristic getTextDirectionHeuristic();
+    method @NonNull public java.util.Locale getTextLocale();
+    method @NonNull @Size(min=1) public android.os.LocaleList getTextLocales();
+    method @NonNull public android.text.PrecomputedText.Params getTextMetricsParams();
+    method public float getTextScaleX();
+    method @Nullable public android.graphics.drawable.Drawable getTextSelectHandle();
+    method @Nullable public android.graphics.drawable.Drawable getTextSelectHandleLeft();
+    method @Nullable public android.graphics.drawable.Drawable getTextSelectHandleRight();
+    method public float getTextSize();
+    method public int getTextSizeUnit();
+    method public int getTotalPaddingBottom();
+    method public int getTotalPaddingEnd();
+    method public int getTotalPaddingLeft();
+    method public int getTotalPaddingRight();
+    method public int getTotalPaddingStart();
+    method public int getTotalPaddingTop();
+    method public final android.text.method.TransformationMethod getTransformationMethod();
+    method public android.graphics.Typeface getTypeface();
+    method public android.text.style.URLSpan[] getUrls();
+    method public boolean hasSelection();
+    method public boolean isAllCaps();
+    method public boolean isCursorVisible();
+    method public boolean isElegantTextHeight();
+    method public boolean isFallbackLineSpacing();
+    method public final boolean isHorizontallyScrollable();
+    method public boolean isInputMethodTarget();
+    method public boolean isSingleLine();
+    method public boolean isSuggestionsEnabled();
+    method public boolean isTextSelectable();
+    method public int length();
+    method public boolean moveCursorToVisibleOffset();
+    method public void onBeginBatchEdit();
+    method public void onCommitCompletion(android.view.inputmethod.CompletionInfo);
+    method public void onCommitCorrection(android.view.inputmethod.CorrectionInfo);
+    method public void onEditorAction(int);
+    method public void onEndBatchEdit();
+    method public boolean onPreDraw();
+    method public boolean onPrivateIMECommand(String, android.os.Bundle);
+    method public void onRestoreInstanceState(android.os.Parcelable);
+    method public android.os.Parcelable onSaveInstanceState();
+    method @CallSuper protected void onSelectionChanged(int, int);
+    method protected void onTextChanged(CharSequence, int, int, int);
+    method public boolean onTextContextMenuItem(int);
+    method public void removeTextChangedListener(android.text.TextWatcher);
+    method public void setAllCaps(boolean);
+    method public final void setAutoLinkMask(int);
+    method public void setAutoSizeTextTypeUniformWithConfiguration(int, int, int, int);
+    method public void setAutoSizeTextTypeUniformWithPresetSizes(@NonNull int[], int);
+    method public void setAutoSizeTextTypeWithDefaults(int);
+    method public void setBreakStrategy(int);
+    method public void setCompoundDrawablePadding(int);
+    method public void setCompoundDrawableTintBlendMode(@Nullable android.graphics.BlendMode);
+    method public void setCompoundDrawableTintList(@Nullable android.content.res.ColorStateList);
+    method public void setCompoundDrawableTintMode(@Nullable android.graphics.PorterDuff.Mode);
+    method public void setCompoundDrawables(@Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable);
+    method public void setCompoundDrawablesRelative(@Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable);
+    method public void setCompoundDrawablesRelativeWithIntrinsicBounds(@DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
+    method public void setCompoundDrawablesRelativeWithIntrinsicBounds(@Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable);
+    method public void setCompoundDrawablesWithIntrinsicBounds(@DrawableRes int, @DrawableRes int, @DrawableRes int, @DrawableRes int);
+    method public void setCompoundDrawablesWithIntrinsicBounds(@Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable, @Nullable android.graphics.drawable.Drawable);
+    method public void setCursorVisible(boolean);
+    method public void setCustomInsertionActionModeCallback(android.view.ActionMode.Callback);
+    method public void setCustomSelectionActionModeCallback(android.view.ActionMode.Callback);
+    method public final void setEditableFactory(android.text.Editable.Factory);
+    method public void setElegantTextHeight(boolean);
+    method public void setEllipsize(android.text.TextUtils.TruncateAt);
+    method public void setEms(int);
+    method public void setError(CharSequence);
+    method public void setError(CharSequence, android.graphics.drawable.Drawable);
+    method public void setExtractedText(android.view.inputmethod.ExtractedText);
+    method public void setFallbackLineSpacing(boolean);
+    method public void setFilters(android.text.InputFilter[]);
+    method public void setFirstBaselineToTopHeight(@IntRange(from=0) @Px int);
+    method public void setFontFeatureSettings(@Nullable String);
+    method public boolean setFontVariationSettings(@Nullable String);
+    method protected boolean setFrame(int, int, int, int);
+    method public void setFreezesText(boolean);
+    method public void setGravity(int);
+    method public void setHeight(int);
+    method public void setHighlightColor(@ColorInt int);
+    method public final void setHint(CharSequence);
+    method public final void setHint(@StringRes int);
+    method public final void setHintTextColor(@ColorInt int);
+    method public final void setHintTextColor(android.content.res.ColorStateList);
+    method public void setHorizontallyScrolling(boolean);
+    method public void setHyphenationFrequency(int);
+    method public void setImeActionLabel(CharSequence, int);
+    method public void setImeHintLocales(@Nullable android.os.LocaleList);
+    method public void setImeOptions(int);
+    method public void setIncludeFontPadding(boolean);
+    method public void setInputExtras(@XmlRes int) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void setInputType(int);
+    method public void setJustificationMode(int);
+    method public void setKeyListener(android.text.method.KeyListener);
+    method public void setLastBaselineToBottomHeight(@IntRange(from=0) @Px int);
+    method public void setLetterSpacing(float);
+    method public void setLineHeight(@IntRange(from=0) @Px int);
+    method public void setLineSpacing(float, float);
+    method public void setLines(int);
+    method public final void setLinkTextColor(@ColorInt int);
+    method public final void setLinkTextColor(android.content.res.ColorStateList);
+    method public final void setLinksClickable(boolean);
+    method public void setMarqueeRepeatLimit(int);
+    method public void setMaxEms(int);
+    method public void setMaxHeight(int);
+    method public void setMaxLines(int);
+    method public void setMaxWidth(int);
+    method public void setMinEms(int);
+    method public void setMinHeight(int);
+    method public void setMinLines(int);
+    method public void setMinWidth(int);
+    method public final void setMovementMethod(android.text.method.MovementMethod);
+    method public void setOnEditorActionListener(android.widget.TextView.OnEditorActionListener);
+    method public void setPaintFlags(int);
+    method public void setPrivateImeOptions(String);
+    method public void setRawInputType(int);
+    method public void setScroller(android.widget.Scroller);
+    method public void setSelectAllOnFocus(boolean);
+    method public void setShadowLayer(float, float, float, int);
+    method public final void setShowSoftInputOnFocus(boolean);
+    method public void setSingleLine();
+    method public void setSingleLine(boolean);
+    method public final void setSpannableFactory(android.text.Spannable.Factory);
+    method public final void setText(CharSequence);
+    method public void setText(CharSequence, android.widget.TextView.BufferType);
+    method public final void setText(char[], int, int);
+    method public final void setText(@StringRes int);
+    method public final void setText(@StringRes int, android.widget.TextView.BufferType);
+    method public void setTextAppearance(@StyleRes int);
+    method @Deprecated public void setTextAppearance(android.content.Context, @StyleRes int);
+    method public void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
+    method public void setTextColor(@ColorInt int);
+    method public void setTextColor(android.content.res.ColorStateList);
+    method public void setTextCursorDrawable(@Nullable android.graphics.drawable.Drawable);
+    method public void setTextCursorDrawable(@DrawableRes int);
+    method public void setTextIsSelectable(boolean);
+    method public final void setTextKeepState(CharSequence);
+    method public final void setTextKeepState(CharSequence, android.widget.TextView.BufferType);
+    method public void setTextLocale(@NonNull java.util.Locale);
+    method public void setTextLocales(@NonNull @Size(min=1) android.os.LocaleList);
+    method public void setTextMetricsParams(@NonNull android.text.PrecomputedText.Params);
+    method public void setTextScaleX(float);
+    method public void setTextSelectHandle(@NonNull android.graphics.drawable.Drawable);
+    method public void setTextSelectHandle(@DrawableRes int);
+    method public void setTextSelectHandleLeft(@NonNull android.graphics.drawable.Drawable);
+    method public void setTextSelectHandleLeft(@DrawableRes int);
+    method public void setTextSelectHandleRight(@NonNull android.graphics.drawable.Drawable);
+    method public void setTextSelectHandleRight(@DrawableRes int);
+    method public void setTextSize(float);
+    method public void setTextSize(int, float);
+    method public final void setTransformationMethod(android.text.method.TransformationMethod);
+    method public void setTypeface(@Nullable android.graphics.Typeface, int);
+    method public void setTypeface(@Nullable android.graphics.Typeface);
+    method public void setWidth(int);
+    field public static final int AUTO_SIZE_TEXT_TYPE_NONE = 0; // 0x0
+    field public static final int AUTO_SIZE_TEXT_TYPE_UNIFORM = 1; // 0x1
+  }
+
+  public enum TextView.BufferType {
+    enum_constant public static final android.widget.TextView.BufferType EDITABLE;
+    enum_constant public static final android.widget.TextView.BufferType NORMAL;
+    enum_constant public static final android.widget.TextView.BufferType SPANNABLE;
+  }
+
+  public static interface TextView.OnEditorActionListener {
+    method public boolean onEditorAction(android.widget.TextView, int, android.view.KeyEvent);
+  }
+
+  public static class TextView.SavedState extends android.view.View.BaseSavedState {
+    field @NonNull public static final android.os.Parcelable.Creator<android.widget.TextView.SavedState> CREATOR;
+  }
+
+  public interface ThemedSpinnerAdapter extends android.widget.SpinnerAdapter {
+    method @Nullable public android.content.res.Resources.Theme getDropDownViewTheme();
+    method public void setDropDownViewTheme(@Nullable android.content.res.Resources.Theme);
+  }
+
+  public class TimePicker extends android.widget.FrameLayout {
+    ctor public TimePicker(android.content.Context);
+    ctor public TimePicker(android.content.Context, android.util.AttributeSet);
+    ctor public TimePicker(android.content.Context, android.util.AttributeSet, int);
+    ctor public TimePicker(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated @NonNull public Integer getCurrentHour();
+    method @Deprecated @NonNull public Integer getCurrentMinute();
+    method public int getHour();
+    method public int getMinute();
+    method public boolean is24HourView();
+    method @Deprecated public void setCurrentHour(@NonNull Integer);
+    method @Deprecated public void setCurrentMinute(@NonNull Integer);
+    method public void setHour(@IntRange(from=0, to=23) int);
+    method public void setIs24HourView(@NonNull Boolean);
+    method public void setMinute(@IntRange(from=0, to=59) int);
+    method public void setOnTimeChangedListener(android.widget.TimePicker.OnTimeChangedListener);
+    method public boolean validateInput();
+  }
+
+  public static interface TimePicker.OnTimeChangedListener {
+    method public void onTimeChanged(android.widget.TimePicker, int, int);
+  }
+
+  public class Toast {
+    ctor public Toast(android.content.Context);
+    method public void addCallback(@NonNull android.widget.Toast.Callback);
+    method public void cancel();
+    method public int getDuration();
+    method public int getGravity();
+    method public float getHorizontalMargin();
+    method public float getVerticalMargin();
+    method @Deprecated @Nullable public android.view.View getView();
+    method public int getXOffset();
+    method public int getYOffset();
+    method public static android.widget.Toast makeText(android.content.Context, CharSequence, int);
+    method public static android.widget.Toast makeText(android.content.Context, @StringRes int, int) throws android.content.res.Resources.NotFoundException;
+    method public void removeCallback(@NonNull android.widget.Toast.Callback);
+    method public void setDuration(int);
+    method public void setGravity(int, int, int);
+    method public void setMargin(float, float);
+    method public void setText(@StringRes int);
+    method public void setText(CharSequence);
+    method @Deprecated public void setView(android.view.View);
+    method public void show();
+    field public static final int LENGTH_LONG = 1; // 0x1
+    field public static final int LENGTH_SHORT = 0; // 0x0
+  }
+
+  public abstract static class Toast.Callback {
+    ctor public Toast.Callback();
+    method public void onToastHidden();
+    method public void onToastShown();
+  }
+
+  public class ToggleButton extends android.widget.CompoundButton {
+    ctor public ToggleButton(android.content.Context, android.util.AttributeSet, int, int);
+    ctor public ToggleButton(android.content.Context, android.util.AttributeSet, int);
+    ctor public ToggleButton(android.content.Context, android.util.AttributeSet);
+    ctor public ToggleButton(android.content.Context);
+    method @FloatRange(from=0.0, to=1.0) public float getDisabledAlpha();
+    method public CharSequence getTextOff();
+    method public CharSequence getTextOn();
+    method public void setBackgroundDrawable(android.graphics.drawable.Drawable);
+    method public void setTextOff(CharSequence);
+    method public void setTextOn(CharSequence);
+  }
+
+  public class Toolbar extends android.view.ViewGroup {
+    ctor public Toolbar(android.content.Context);
+    ctor public Toolbar(android.content.Context, android.util.AttributeSet);
+    ctor public Toolbar(android.content.Context, android.util.AttributeSet, int);
+    ctor public Toolbar(android.content.Context, android.util.AttributeSet, int, int);
+    method public void collapseActionView();
+    method public void dismissPopupMenus();
+    method protected android.widget.Toolbar.LayoutParams generateDefaultLayoutParams();
+    method public android.widget.Toolbar.LayoutParams generateLayoutParams(android.util.AttributeSet);
+    method protected android.widget.Toolbar.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams);
+    method @Nullable public CharSequence getCollapseContentDescription();
+    method @Nullable public android.graphics.drawable.Drawable getCollapseIcon();
+    method public int getContentInsetEnd();
+    method public int getContentInsetEndWithActions();
+    method public int getContentInsetLeft();
+    method public int getContentInsetRight();
+    method public int getContentInsetStart();
+    method public int getContentInsetStartWithNavigation();
+    method public int getCurrentContentInsetEnd();
+    method public int getCurrentContentInsetLeft();
+    method public int getCurrentContentInsetRight();
+    method public int getCurrentContentInsetStart();
+    method public android.graphics.drawable.Drawable getLogo();
+    method public CharSequence getLogoDescription();
+    method public android.view.Menu getMenu();
+    method @Nullable public CharSequence getNavigationContentDescription();
+    method @Nullable public android.graphics.drawable.Drawable getNavigationIcon();
+    method @Nullable public android.graphics.drawable.Drawable getOverflowIcon();
+    method public int getPopupTheme();
+    method public CharSequence getSubtitle();
+    method public CharSequence getTitle();
+    method public int getTitleMarginBottom();
+    method public int getTitleMarginEnd();
+    method public int getTitleMarginStart();
+    method public int getTitleMarginTop();
+    method public boolean hasExpandedActionView();
+    method public boolean hideOverflowMenu();
+    method public void inflateMenu(@MenuRes int);
+    method public boolean isOverflowMenuShowing();
+    method public void setCollapseContentDescription(@StringRes int);
+    method public void setCollapseContentDescription(@Nullable CharSequence);
+    method public void setCollapseIcon(@DrawableRes int);
+    method public void setCollapseIcon(@Nullable android.graphics.drawable.Drawable);
+    method public void setContentInsetEndWithActions(int);
+    method public void setContentInsetStartWithNavigation(int);
+    method public void setContentInsetsAbsolute(int, int);
+    method public void setContentInsetsRelative(int, int);
+    method public void setLogo(@DrawableRes int);
+    method public void setLogo(android.graphics.drawable.Drawable);
+    method public void setLogoDescription(@StringRes int);
+    method public void setLogoDescription(CharSequence);
+    method public void setNavigationContentDescription(@StringRes int);
+    method public void setNavigationContentDescription(@Nullable CharSequence);
+    method public void setNavigationIcon(@DrawableRes int);
+    method public void setNavigationIcon(@Nullable android.graphics.drawable.Drawable);
+    method public void setNavigationOnClickListener(android.view.View.OnClickListener);
+    method public void setOnMenuItemClickListener(android.widget.Toolbar.OnMenuItemClickListener);
+    method public void setOverflowIcon(@Nullable android.graphics.drawable.Drawable);
+    method public void setPopupTheme(@StyleRes int);
+    method public void setSubtitle(@StringRes int);
+    method public void setSubtitle(CharSequence);
+    method public void setSubtitleTextAppearance(android.content.Context, @StyleRes int);
+    method public void setSubtitleTextColor(@ColorInt int);
+    method public void setTitle(@StringRes int);
+    method public void setTitle(CharSequence);
+    method public void setTitleMargin(int, int, int, int);
+    method public void setTitleMarginBottom(int);
+    method public void setTitleMarginEnd(int);
+    method public void setTitleMarginStart(int);
+    method public void setTitleMarginTop(int);
+    method public void setTitleTextAppearance(android.content.Context, @StyleRes int);
+    method public void setTitleTextColor(@ColorInt int);
+    method public boolean showOverflowMenu();
+  }
+
+  public static class Toolbar.LayoutParams extends android.app.ActionBar.LayoutParams {
+    ctor public Toolbar.LayoutParams(@NonNull android.content.Context, android.util.AttributeSet);
+    ctor public Toolbar.LayoutParams(int, int);
+    ctor public Toolbar.LayoutParams(int, int, int);
+    ctor public Toolbar.LayoutParams(int);
+    ctor public Toolbar.LayoutParams(android.widget.Toolbar.LayoutParams);
+    ctor public Toolbar.LayoutParams(android.app.ActionBar.LayoutParams);
+    ctor public Toolbar.LayoutParams(android.view.ViewGroup.MarginLayoutParams);
+    ctor public Toolbar.LayoutParams(android.view.ViewGroup.LayoutParams);
+  }
+
+  public static interface Toolbar.OnMenuItemClickListener {
+    method public boolean onMenuItemClick(android.view.MenuItem);
+  }
+
+  @Deprecated public class TwoLineListItem extends android.widget.RelativeLayout {
+    ctor @Deprecated public TwoLineListItem(android.content.Context);
+    ctor @Deprecated public TwoLineListItem(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public TwoLineListItem(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public TwoLineListItem(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public android.widget.TextView getText1();
+    method @Deprecated public android.widget.TextView getText2();
+  }
+
+  public class VideoView extends android.view.SurfaceView implements android.widget.MediaController.MediaPlayerControl {
+    ctor public VideoView(android.content.Context);
+    ctor public VideoView(android.content.Context, android.util.AttributeSet);
+    ctor public VideoView(android.content.Context, android.util.AttributeSet, int);
+    ctor public VideoView(android.content.Context, android.util.AttributeSet, int, int);
+    method public void addSubtitleSource(java.io.InputStream, android.media.MediaFormat);
+    method public boolean canPause();
+    method public boolean canSeekBackward();
+    method public boolean canSeekForward();
+    method public int getAudioSessionId();
+    method public int getBufferPercentage();
+    method public int getCurrentPosition();
+    method public int getDuration();
+    method public boolean isPlaying();
+    method public void pause();
+    method public int resolveAdjustedSize(int, int);
+    method public void resume();
+    method public void seekTo(int);
+    method public void setAudioAttributes(@NonNull android.media.AudioAttributes);
+    method public void setAudioFocusRequest(int);
+    method public void setMediaController(android.widget.MediaController);
+    method public void setOnCompletionListener(android.media.MediaPlayer.OnCompletionListener);
+    method public void setOnErrorListener(android.media.MediaPlayer.OnErrorListener);
+    method public void setOnInfoListener(android.media.MediaPlayer.OnInfoListener);
+    method public void setOnPreparedListener(android.media.MediaPlayer.OnPreparedListener);
+    method public void setVideoPath(String);
+    method public void setVideoURI(android.net.Uri);
+    method public void setVideoURI(android.net.Uri, java.util.Map<java.lang.String,java.lang.String>);
+    method public void start();
+    method public void stopPlayback();
+    method public void suspend();
+  }
+
+  public class ViewAnimator extends android.widget.FrameLayout {
+    ctor public ViewAnimator(android.content.Context);
+    ctor public ViewAnimator(android.content.Context, android.util.AttributeSet);
+    method public boolean getAnimateFirstView();
+    method public android.view.View getCurrentView();
+    method public int getDisplayedChild();
+    method public android.view.animation.Animation getInAnimation();
+    method public android.view.animation.Animation getOutAnimation();
+    method public void setAnimateFirstView(boolean);
+    method public void setDisplayedChild(int);
+    method public void setInAnimation(android.view.animation.Animation);
+    method public void setInAnimation(android.content.Context, @AnimRes int);
+    method public void setOutAnimation(android.view.animation.Animation);
+    method public void setOutAnimation(android.content.Context, @AnimRes int);
+    method public void showNext();
+    method public void showPrevious();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class ViewFlipper extends android.widget.ViewAnimator {
+    ctor public ViewFlipper(android.content.Context);
+    ctor public ViewFlipper(android.content.Context, android.util.AttributeSet);
+    method @IntRange(from=0) public int getFlipInterval();
+    method public boolean isAutoStart();
+    method public boolean isFlipping();
+    method public void setAutoStart(boolean);
+    method public void setFlipInterval(@IntRange(from=0) int);
+    method public void startFlipping();
+    method public void stopFlipping();
+  }
+
+  public class ViewSwitcher extends android.widget.ViewAnimator {
+    ctor public ViewSwitcher(android.content.Context);
+    ctor public ViewSwitcher(android.content.Context, android.util.AttributeSet);
+    method public android.view.View getNextView();
+    method public void reset();
+    method public void setFactory(android.widget.ViewSwitcher.ViewFactory);
+  }
+
+  public static interface ViewSwitcher.ViewFactory {
+    method public android.view.View makeView();
+  }
+
+  public interface WrapperListAdapter extends android.widget.ListAdapter {
+    method public android.widget.ListAdapter getWrappedAdapter();
+  }
+
+  @Deprecated public class ZoomButton extends android.widget.ImageButton implements android.view.View.OnLongClickListener {
+    ctor @Deprecated public ZoomButton(android.content.Context);
+    ctor @Deprecated public ZoomButton(android.content.Context, android.util.AttributeSet);
+    ctor @Deprecated public ZoomButton(android.content.Context, android.util.AttributeSet, int);
+    ctor @Deprecated public ZoomButton(android.content.Context, android.util.AttributeSet, int, int);
+    method @Deprecated public boolean onLongClick(android.view.View);
+    method @Deprecated public void setZoomSpeed(long);
+  }
+
+  @Deprecated public class ZoomButtonsController implements android.view.View.OnTouchListener {
+    ctor @Deprecated public ZoomButtonsController(android.view.View);
+    method @Deprecated public android.view.ViewGroup getContainer();
+    method @Deprecated public android.view.View getZoomControls();
+    method @Deprecated public boolean isAutoDismissed();
+    method @Deprecated public boolean isVisible();
+    method public boolean onTouch(android.view.View, android.view.MotionEvent);
+    method @Deprecated public void setAutoDismissed(boolean);
+    method @Deprecated public void setFocusable(boolean);
+    method @Deprecated public void setOnZoomListener(android.widget.ZoomButtonsController.OnZoomListener);
+    method @Deprecated public void setVisible(boolean);
+    method @Deprecated public void setZoomInEnabled(boolean);
+    method @Deprecated public void setZoomOutEnabled(boolean);
+    method @Deprecated public void setZoomSpeed(long);
+  }
+
+  @Deprecated public static interface ZoomButtonsController.OnZoomListener {
+    method @Deprecated public void onVisibilityChanged(boolean);
+    method @Deprecated public void onZoom(boolean);
+  }
+
+  @Deprecated public class ZoomControls extends android.widget.LinearLayout {
+    ctor @Deprecated public ZoomControls(android.content.Context);
+    ctor @Deprecated public ZoomControls(android.content.Context, android.util.AttributeSet);
+    method @Deprecated public void hide();
+    method @Deprecated public void setIsZoomInEnabled(boolean);
+    method @Deprecated public void setIsZoomOutEnabled(boolean);
+    method @Deprecated public void setOnZoomInClickListener(android.view.View.OnClickListener);
+    method @Deprecated public void setOnZoomOutClickListener(android.view.View.OnClickListener);
+    method @Deprecated public void setZoomSpeed(long);
+    method @Deprecated public void show();
+  }
+
+}
+
+package android.widget.inline {
+
+  public class InlineContentView extends android.view.ViewGroup {
+    method @Nullable public android.view.SurfaceControl getSurfaceControl();
+    method public boolean isZOrderedOnTop();
+    method public void onLayout(boolean, int, int, int, int);
+    method public void setSurfaceControlCallback(@Nullable android.widget.inline.InlineContentView.SurfaceControlCallback);
+    method public boolean setZOrderedOnTop(boolean);
+  }
+
+  public static interface InlineContentView.SurfaceControlCallback {
+    method public void onCreated(@NonNull android.view.SurfaceControl);
+    method public void onDestroyed(@NonNull android.view.SurfaceControl);
+  }
+
+  public final class InlinePresentationSpec implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.util.Size getMaxSize();
+    method @NonNull public android.util.Size getMinSize();
+    method @NonNull public android.os.Bundle getStyle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.widget.inline.InlinePresentationSpec> CREATOR;
+  }
+
+  public static final class InlinePresentationSpec.Builder {
+    ctor public InlinePresentationSpec.Builder(@NonNull android.util.Size, @NonNull android.util.Size);
+    method @NonNull public android.widget.inline.InlinePresentationSpec build();
+    method @NonNull public android.widget.inline.InlinePresentationSpec.Builder setStyle(@NonNull android.os.Bundle);
+  }
+
+}
+
+package android.window {
+
+  public interface SplashScreen {
+    method public void clearOnExitAnimationListener();
+    method public void setOnExitAnimationListener(@NonNull android.window.SplashScreen.OnExitAnimationListener);
+    method public void setSplashScreenTheme(@StyleRes int);
+  }
+
+  public static interface SplashScreen.OnExitAnimationListener {
+    method @UiThread public void onSplashScreenExit(@NonNull android.window.SplashScreenView);
+  }
+
+  public final class SplashScreenView extends android.widget.FrameLayout {
+    method @Nullable public java.time.Duration getIconAnimationDuration();
+    method @Nullable public java.time.Instant getIconAnimationStart();
+    method @Nullable public android.view.View getIconView();
+    method @UiThread public void remove();
+  }
+
+}
+
+package dalvik.annotation {
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.ANNOTATION_TYPE}) public @interface TestTarget {
+    method @Deprecated public abstract String conceptName() default "";
+    method @Deprecated public abstract Class<?>[] methodArgs() default {};
+    method @Deprecated public abstract String methodName() default "";
+  }
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public @interface TestTargetClass {
+    method @Deprecated public abstract Class<?> value();
+  }
+
+}
+
+package dalvik.bytecode {
+
+  public final class OpcodeInfo {
+    field public static final int MAXIMUM_PACKED_VALUE;
+    field public static final int MAXIMUM_VALUE;
+  }
+
+  public interface Opcodes {
+    field public static final int OP_ADD_DOUBLE = 171; // 0xab
+    field public static final int OP_ADD_DOUBLE_2ADDR = 203; // 0xcb
+    field public static final int OP_ADD_FLOAT = 166; // 0xa6
+    field public static final int OP_ADD_FLOAT_2ADDR = 198; // 0xc6
+    field public static final int OP_ADD_INT = 144; // 0x90
+    field public static final int OP_ADD_INT_2ADDR = 176; // 0xb0
+    field public static final int OP_ADD_INT_LIT16 = 208; // 0xd0
+    field public static final int OP_ADD_INT_LIT8 = 216; // 0xd8
+    field public static final int OP_ADD_LONG = 155; // 0x9b
+    field public static final int OP_ADD_LONG_2ADDR = 187; // 0xbb
+    field public static final int OP_AGET = 68; // 0x44
+    field public static final int OP_AGET_BOOLEAN = 71; // 0x47
+    field public static final int OP_AGET_BYTE = 72; // 0x48
+    field public static final int OP_AGET_CHAR = 73; // 0x49
+    field public static final int OP_AGET_OBJECT = 70; // 0x46
+    field public static final int OP_AGET_SHORT = 74; // 0x4a
+    field public static final int OP_AGET_WIDE = 69; // 0x45
+    field public static final int OP_AND_INT = 149; // 0x95
+    field public static final int OP_AND_INT_2ADDR = 181; // 0xb5
+    field public static final int OP_AND_INT_LIT16 = 213; // 0xd5
+    field public static final int OP_AND_INT_LIT8 = 221; // 0xdd
+    field public static final int OP_AND_LONG = 160; // 0xa0
+    field public static final int OP_AND_LONG_2ADDR = 192; // 0xc0
+    field public static final int OP_APUT = 75; // 0x4b
+    field public static final int OP_APUT_BOOLEAN = 78; // 0x4e
+    field public static final int OP_APUT_BYTE = 79; // 0x4f
+    field public static final int OP_APUT_CHAR = 80; // 0x50
+    field public static final int OP_APUT_OBJECT = 77; // 0x4d
+    field public static final int OP_APUT_SHORT = 81; // 0x51
+    field public static final int OP_APUT_WIDE = 76; // 0x4c
+    field public static final int OP_ARRAY_LENGTH = 33; // 0x21
+    field @Deprecated public static final int OP_BREAKPOINT = 236; // 0xec
+    field public static final int OP_CHECK_CAST = 31; // 0x1f
+    field public static final int OP_CHECK_CAST_JUMBO = 511; // 0x1ff
+    field public static final int OP_CMPG_DOUBLE = 48; // 0x30
+    field public static final int OP_CMPG_FLOAT = 46; // 0x2e
+    field public static final int OP_CMPL_DOUBLE = 47; // 0x2f
+    field public static final int OP_CMPL_FLOAT = 45; // 0x2d
+    field public static final int OP_CMP_LONG = 49; // 0x31
+    field public static final int OP_CONST = 20; // 0x14
+    field public static final int OP_CONST_16 = 19; // 0x13
+    field public static final int OP_CONST_4 = 18; // 0x12
+    field public static final int OP_CONST_CLASS = 28; // 0x1c
+    field public static final int OP_CONST_CLASS_JUMBO = 255; // 0xff
+    field public static final int OP_CONST_HIGH16 = 21; // 0x15
+    field public static final int OP_CONST_METHOD_HANDLE = 254; // 0xfe
+    field public static final int OP_CONST_METHOD_TYPE = 255; // 0xff
+    field public static final int OP_CONST_STRING = 26; // 0x1a
+    field public static final int OP_CONST_STRING_JUMBO = 27; // 0x1b
+    field public static final int OP_CONST_WIDE = 24; // 0x18
+    field public static final int OP_CONST_WIDE_16 = 22; // 0x16
+    field public static final int OP_CONST_WIDE_32 = 23; // 0x17
+    field public static final int OP_CONST_WIDE_HIGH16 = 25; // 0x19
+    field public static final int OP_DIV_DOUBLE = 174; // 0xae
+    field public static final int OP_DIV_DOUBLE_2ADDR = 206; // 0xce
+    field public static final int OP_DIV_FLOAT = 169; // 0xa9
+    field public static final int OP_DIV_FLOAT_2ADDR = 201; // 0xc9
+    field public static final int OP_DIV_INT = 147; // 0x93
+    field public static final int OP_DIV_INT_2ADDR = 179; // 0xb3
+    field public static final int OP_DIV_INT_LIT16 = 211; // 0xd3
+    field public static final int OP_DIV_INT_LIT8 = 219; // 0xdb
+    field public static final int OP_DIV_LONG = 158; // 0x9e
+    field public static final int OP_DIV_LONG_2ADDR = 190; // 0xbe
+    field public static final int OP_DOUBLE_TO_FLOAT = 140; // 0x8c
+    field public static final int OP_DOUBLE_TO_INT = 138; // 0x8a
+    field public static final int OP_DOUBLE_TO_LONG = 139; // 0x8b
+    field @Deprecated public static final int OP_EXECUTE_INLINE = 238; // 0xee
+    field @Deprecated public static final int OP_EXECUTE_INLINE_RANGE = 239; // 0xef
+    field public static final int OP_FILLED_NEW_ARRAY = 36; // 0x24
+    field public static final int OP_FILLED_NEW_ARRAY_JUMBO = 1535; // 0x5ff
+    field public static final int OP_FILLED_NEW_ARRAY_RANGE = 37; // 0x25
+    field public static final int OP_FILL_ARRAY_DATA = 38; // 0x26
+    field public static final int OP_FLOAT_TO_DOUBLE = 137; // 0x89
+    field public static final int OP_FLOAT_TO_INT = 135; // 0x87
+    field public static final int OP_FLOAT_TO_LONG = 136; // 0x88
+    field public static final int OP_GOTO = 40; // 0x28
+    field public static final int OP_GOTO_16 = 41; // 0x29
+    field public static final int OP_GOTO_32 = 42; // 0x2a
+    field public static final int OP_IF_EQ = 50; // 0x32
+    field public static final int OP_IF_EQZ = 56; // 0x38
+    field public static final int OP_IF_GE = 53; // 0x35
+    field public static final int OP_IF_GEZ = 59; // 0x3b
+    field public static final int OP_IF_GT = 54; // 0x36
+    field public static final int OP_IF_GTZ = 60; // 0x3c
+    field public static final int OP_IF_LE = 55; // 0x37
+    field public static final int OP_IF_LEZ = 61; // 0x3d
+    field public static final int OP_IF_LT = 52; // 0x34
+    field public static final int OP_IF_LTZ = 58; // 0x3a
+    field public static final int OP_IF_NE = 51; // 0x33
+    field public static final int OP_IF_NEZ = 57; // 0x39
+    field public static final int OP_IGET = 82; // 0x52
+    field public static final int OP_IGET_BOOLEAN = 85; // 0x55
+    field public static final int OP_IGET_BOOLEAN_JUMBO = 2559; // 0x9ff
+    field public static final int OP_IGET_BYTE = 86; // 0x56
+    field public static final int OP_IGET_BYTE_JUMBO = 2815; // 0xaff
+    field public static final int OP_IGET_CHAR = 87; // 0x57
+    field public static final int OP_IGET_CHAR_JUMBO = 3071; // 0xbff
+    field public static final int OP_IGET_JUMBO = 1791; // 0x6ff
+    field public static final int OP_IGET_OBJECT = 84; // 0x54
+    field public static final int OP_IGET_OBJECT_JUMBO = 2303; // 0x8ff
+    field @Deprecated public static final int OP_IGET_OBJECT_QUICK = 244; // 0xf4
+    field @Deprecated public static final int OP_IGET_QUICK = 242; // 0xf2
+    field public static final int OP_IGET_SHORT = 88; // 0x58
+    field public static final int OP_IGET_SHORT_JUMBO = 3327; // 0xcff
+    field public static final int OP_IGET_WIDE = 83; // 0x53
+    field public static final int OP_IGET_WIDE_JUMBO = 2047; // 0x7ff
+    field @Deprecated public static final int OP_IGET_WIDE_QUICK = 243; // 0xf3
+    field @Deprecated public static final int OP_IGET_WIDE_VOLATILE = 232; // 0xe8
+    field public static final int OP_INSTANCE_OF = 32; // 0x20
+    field public static final int OP_INSTANCE_OF_JUMBO = 767; // 0x2ff
+    field public static final int OP_INT_TO_BYTE = 141; // 0x8d
+    field public static final int OP_INT_TO_CHAR = 142; // 0x8e
+    field public static final int OP_INT_TO_DOUBLE = 131; // 0x83
+    field public static final int OP_INT_TO_FLOAT = 130; // 0x82
+    field public static final int OP_INT_TO_LONG = 129; // 0x81
+    field public static final int OP_INT_TO_SHORT = 143; // 0x8f
+    field public static final int OP_INVOKE_CUSTOM = 252; // 0xfc
+    field public static final int OP_INVOKE_CUSTOM_RANGE = 253; // 0xfd
+    field public static final int OP_INVOKE_DIRECT = 112; // 0x70
+    field @Deprecated public static final int OP_INVOKE_DIRECT_EMPTY = 240; // 0xf0
+    field public static final int OP_INVOKE_DIRECT_JUMBO = 9471; // 0x24ff
+    field public static final int OP_INVOKE_DIRECT_RANGE = 118; // 0x76
+    field public static final int OP_INVOKE_INTERFACE = 114; // 0x72
+    field public static final int OP_INVOKE_INTERFACE_JUMBO = 9983; // 0x26ff
+    field public static final int OP_INVOKE_INTERFACE_RANGE = 120; // 0x78
+    field public static final int OP_INVOKE_POLYMORPHIC = 250; // 0xfa
+    field public static final int OP_INVOKE_POLYMORPHIC_RANGE = 251; // 0xfb
+    field public static final int OP_INVOKE_STATIC = 113; // 0x71
+    field public static final int OP_INVOKE_STATIC_JUMBO = 9727; // 0x25ff
+    field public static final int OP_INVOKE_STATIC_RANGE = 119; // 0x77
+    field public static final int OP_INVOKE_SUPER = 111; // 0x6f
+    field public static final int OP_INVOKE_SUPER_JUMBO = 9215; // 0x23ff
+    field @Deprecated public static final int OP_INVOKE_SUPER_QUICK = 250; // 0xfa
+    field @Deprecated public static final int OP_INVOKE_SUPER_QUICK_RANGE = 251; // 0xfb
+    field public static final int OP_INVOKE_SUPER_RANGE = 117; // 0x75
+    field public static final int OP_INVOKE_VIRTUAL = 110; // 0x6e
+    field public static final int OP_INVOKE_VIRTUAL_JUMBO = 8959; // 0x22ff
+    field @Deprecated public static final int OP_INVOKE_VIRTUAL_QUICK = 248; // 0xf8
+    field @Deprecated public static final int OP_INVOKE_VIRTUAL_QUICK_RANGE = 249; // 0xf9
+    field public static final int OP_INVOKE_VIRTUAL_RANGE = 116; // 0x74
+    field public static final int OP_IPUT = 89; // 0x59
+    field public static final int OP_IPUT_BOOLEAN = 92; // 0x5c
+    field public static final int OP_IPUT_BOOLEAN_JUMBO = 4351; // 0x10ff
+    field public static final int OP_IPUT_BYTE = 93; // 0x5d
+    field public static final int OP_IPUT_BYTE_JUMBO = 4607; // 0x11ff
+    field public static final int OP_IPUT_CHAR = 94; // 0x5e
+    field public static final int OP_IPUT_CHAR_JUMBO = 4863; // 0x12ff
+    field public static final int OP_IPUT_JUMBO = 3583; // 0xdff
+    field public static final int OP_IPUT_OBJECT = 91; // 0x5b
+    field public static final int OP_IPUT_OBJECT_JUMBO = 4095; // 0xfff
+    field @Deprecated public static final int OP_IPUT_OBJECT_QUICK = 247; // 0xf7
+    field @Deprecated public static final int OP_IPUT_QUICK = 245; // 0xf5
+    field public static final int OP_IPUT_SHORT = 95; // 0x5f
+    field public static final int OP_IPUT_SHORT_JUMBO = 5119; // 0x13ff
+    field public static final int OP_IPUT_WIDE = 90; // 0x5a
+    field public static final int OP_IPUT_WIDE_JUMBO = 3839; // 0xeff
+    field @Deprecated public static final int OP_IPUT_WIDE_QUICK = 246; // 0xf6
+    field @Deprecated public static final int OP_IPUT_WIDE_VOLATILE = 233; // 0xe9
+    field public static final int OP_LONG_TO_DOUBLE = 134; // 0x86
+    field public static final int OP_LONG_TO_FLOAT = 133; // 0x85
+    field public static final int OP_LONG_TO_INT = 132; // 0x84
+    field public static final int OP_MONITOR_ENTER = 29; // 0x1d
+    field public static final int OP_MONITOR_EXIT = 30; // 0x1e
+    field public static final int OP_MOVE = 1; // 0x1
+    field public static final int OP_MOVE_16 = 3; // 0x3
+    field public static final int OP_MOVE_EXCEPTION = 13; // 0xd
+    field public static final int OP_MOVE_FROM16 = 2; // 0x2
+    field public static final int OP_MOVE_OBJECT = 7; // 0x7
+    field public static final int OP_MOVE_OBJECT_16 = 9; // 0x9
+    field public static final int OP_MOVE_OBJECT_FROM16 = 8; // 0x8
+    field public static final int OP_MOVE_RESULT = 10; // 0xa
+    field public static final int OP_MOVE_RESULT_OBJECT = 12; // 0xc
+    field public static final int OP_MOVE_RESULT_WIDE = 11; // 0xb
+    field public static final int OP_MOVE_WIDE = 4; // 0x4
+    field public static final int OP_MOVE_WIDE_16 = 6; // 0x6
+    field public static final int OP_MOVE_WIDE_FROM16 = 5; // 0x5
+    field public static final int OP_MUL_DOUBLE = 173; // 0xad
+    field public static final int OP_MUL_DOUBLE_2ADDR = 205; // 0xcd
+    field public static final int OP_MUL_FLOAT = 168; // 0xa8
+    field public static final int OP_MUL_FLOAT_2ADDR = 200; // 0xc8
+    field public static final int OP_MUL_INT = 146; // 0x92
+    field public static final int OP_MUL_INT_2ADDR = 178; // 0xb2
+    field public static final int OP_MUL_INT_LIT16 = 210; // 0xd2
+    field public static final int OP_MUL_INT_LIT8 = 218; // 0xda
+    field public static final int OP_MUL_LONG = 157; // 0x9d
+    field public static final int OP_MUL_LONG_2ADDR = 189; // 0xbd
+    field public static final int OP_NEG_DOUBLE = 128; // 0x80
+    field public static final int OP_NEG_FLOAT = 127; // 0x7f
+    field public static final int OP_NEG_INT = 123; // 0x7b
+    field public static final int OP_NEG_LONG = 125; // 0x7d
+    field public static final int OP_NEW_ARRAY = 35; // 0x23
+    field public static final int OP_NEW_ARRAY_JUMBO = 1279; // 0x4ff
+    field public static final int OP_NEW_INSTANCE = 34; // 0x22
+    field public static final int OP_NEW_INSTANCE_JUMBO = 1023; // 0x3ff
+    field public static final int OP_NOP = 0; // 0x0
+    field public static final int OP_NOT_INT = 124; // 0x7c
+    field public static final int OP_NOT_LONG = 126; // 0x7e
+    field public static final int OP_OR_INT = 150; // 0x96
+    field public static final int OP_OR_INT_2ADDR = 182; // 0xb6
+    field public static final int OP_OR_INT_LIT16 = 214; // 0xd6
+    field public static final int OP_OR_INT_LIT8 = 222; // 0xde
+    field public static final int OP_OR_LONG = 161; // 0xa1
+    field public static final int OP_OR_LONG_2ADDR = 193; // 0xc1
+    field public static final int OP_PACKED_SWITCH = 43; // 0x2b
+    field public static final int OP_REM_DOUBLE = 175; // 0xaf
+    field public static final int OP_REM_DOUBLE_2ADDR = 207; // 0xcf
+    field public static final int OP_REM_FLOAT = 170; // 0xaa
+    field public static final int OP_REM_FLOAT_2ADDR = 202; // 0xca
+    field public static final int OP_REM_INT = 148; // 0x94
+    field public static final int OP_REM_INT_2ADDR = 180; // 0xb4
+    field public static final int OP_REM_INT_LIT16 = 212; // 0xd4
+    field public static final int OP_REM_INT_LIT8 = 220; // 0xdc
+    field public static final int OP_REM_LONG = 159; // 0x9f
+    field public static final int OP_REM_LONG_2ADDR = 191; // 0xbf
+    field public static final int OP_RETURN = 15; // 0xf
+    field public static final int OP_RETURN_OBJECT = 17; // 0x11
+    field public static final int OP_RETURN_VOID = 14; // 0xe
+    field public static final int OP_RETURN_WIDE = 16; // 0x10
+    field public static final int OP_RSUB_INT = 209; // 0xd1
+    field public static final int OP_RSUB_INT_LIT8 = 217; // 0xd9
+    field public static final int OP_SGET = 96; // 0x60
+    field public static final int OP_SGET_BOOLEAN = 99; // 0x63
+    field public static final int OP_SGET_BOOLEAN_JUMBO = 6143; // 0x17ff
+    field public static final int OP_SGET_BYTE = 100; // 0x64
+    field public static final int OP_SGET_BYTE_JUMBO = 6399; // 0x18ff
+    field public static final int OP_SGET_CHAR = 101; // 0x65
+    field public static final int OP_SGET_CHAR_JUMBO = 6655; // 0x19ff
+    field public static final int OP_SGET_JUMBO = 5375; // 0x14ff
+    field public static final int OP_SGET_OBJECT = 98; // 0x62
+    field public static final int OP_SGET_OBJECT_JUMBO = 5887; // 0x16ff
+    field public static final int OP_SGET_SHORT = 102; // 0x66
+    field public static final int OP_SGET_SHORT_JUMBO = 6911; // 0x1aff
+    field public static final int OP_SGET_WIDE = 97; // 0x61
+    field public static final int OP_SGET_WIDE_JUMBO = 5631; // 0x15ff
+    field @Deprecated public static final int OP_SGET_WIDE_VOLATILE = 234; // 0xea
+    field public static final int OP_SHL_INT = 152; // 0x98
+    field public static final int OP_SHL_INT_2ADDR = 184; // 0xb8
+    field public static final int OP_SHL_INT_LIT8 = 224; // 0xe0
+    field public static final int OP_SHL_LONG = 163; // 0xa3
+    field public static final int OP_SHL_LONG_2ADDR = 195; // 0xc3
+    field public static final int OP_SHR_INT = 153; // 0x99
+    field public static final int OP_SHR_INT_2ADDR = 185; // 0xb9
+    field public static final int OP_SHR_INT_LIT8 = 225; // 0xe1
+    field public static final int OP_SHR_LONG = 164; // 0xa4
+    field public static final int OP_SHR_LONG_2ADDR = 196; // 0xc4
+    field public static final int OP_SPARSE_SWITCH = 44; // 0x2c
+    field public static final int OP_SPUT = 103; // 0x67
+    field public static final int OP_SPUT_BOOLEAN = 106; // 0x6a
+    field public static final int OP_SPUT_BOOLEAN_JUMBO = 7935; // 0x1eff
+    field public static final int OP_SPUT_BYTE = 107; // 0x6b
+    field public static final int OP_SPUT_BYTE_JUMBO = 8191; // 0x1fff
+    field public static final int OP_SPUT_CHAR = 108; // 0x6c
+    field public static final int OP_SPUT_CHAR_JUMBO = 8447; // 0x20ff
+    field public static final int OP_SPUT_JUMBO = 7167; // 0x1bff
+    field public static final int OP_SPUT_OBJECT = 105; // 0x69
+    field public static final int OP_SPUT_OBJECT_JUMBO = 7679; // 0x1dff
+    field public static final int OP_SPUT_SHORT = 109; // 0x6d
+    field public static final int OP_SPUT_SHORT_JUMBO = 8703; // 0x21ff
+    field public static final int OP_SPUT_WIDE = 104; // 0x68
+    field public static final int OP_SPUT_WIDE_JUMBO = 7423; // 0x1cff
+    field @Deprecated public static final int OP_SPUT_WIDE_VOLATILE = 235; // 0xeb
+    field public static final int OP_SUB_DOUBLE = 172; // 0xac
+    field public static final int OP_SUB_DOUBLE_2ADDR = 204; // 0xcc
+    field public static final int OP_SUB_FLOAT = 167; // 0xa7
+    field public static final int OP_SUB_FLOAT_2ADDR = 199; // 0xc7
+    field public static final int OP_SUB_INT = 145; // 0x91
+    field public static final int OP_SUB_INT_2ADDR = 177; // 0xb1
+    field public static final int OP_SUB_LONG = 156; // 0x9c
+    field public static final int OP_SUB_LONG_2ADDR = 188; // 0xbc
+    field public static final int OP_THROW = 39; // 0x27
+    field @Deprecated public static final int OP_THROW_VERIFICATION_ERROR = 237; // 0xed
+    field public static final int OP_USHR_INT = 154; // 0x9a
+    field public static final int OP_USHR_INT_2ADDR = 186; // 0xba
+    field public static final int OP_USHR_INT_LIT8 = 226; // 0xe2
+    field public static final int OP_USHR_LONG = 165; // 0xa5
+    field public static final int OP_USHR_LONG_2ADDR = 197; // 0xc5
+    field public static final int OP_XOR_INT = 151; // 0x97
+    field public static final int OP_XOR_INT_2ADDR = 183; // 0xb7
+    field public static final int OP_XOR_INT_LIT16 = 215; // 0xd7
+    field public static final int OP_XOR_INT_LIT8 = 223; // 0xdf
+    field public static final int OP_XOR_LONG = 162; // 0xa2
+    field public static final int OP_XOR_LONG_2ADDR = 194; // 0xc2
+  }
+
+}
+
+package dalvik.system {
+
+  public class BaseDexClassLoader extends java.lang.ClassLoader {
+    ctor public BaseDexClassLoader(String, java.io.File, String, ClassLoader);
+    method public String findLibrary(String);
+    method protected java.util.Enumeration<java.net.URL> findResources(String);
+  }
+
+  public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
+    ctor public DelegateLastClassLoader(String, ClassLoader);
+    ctor public DelegateLastClassLoader(String, String, ClassLoader);
+    ctor public DelegateLastClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, boolean);
+  }
+
+  public class DexClassLoader extends dalvik.system.BaseDexClassLoader {
+    ctor public DexClassLoader(String, String, String, ClassLoader);
+  }
+
+  @Deprecated public final class DexFile {
+    ctor @Deprecated public DexFile(java.io.File) throws java.io.IOException;
+    ctor @Deprecated public DexFile(String) throws java.io.IOException;
+    method @Deprecated public void close() throws java.io.IOException;
+    method @Deprecated public java.util.Enumeration<java.lang.String> entries();
+    method @Deprecated public String getName();
+    method @Deprecated public static boolean isDexOptNeeded(String) throws java.io.FileNotFoundException, java.io.IOException;
+    method @Deprecated public Class loadClass(String, ClassLoader);
+    method @Deprecated public static dalvik.system.DexFile loadDex(String, String, int) throws java.io.IOException;
+  }
+
+  public final class InMemoryDexClassLoader extends dalvik.system.BaseDexClassLoader {
+    ctor public InMemoryDexClassLoader(@NonNull java.nio.ByteBuffer[], @Nullable String, @Nullable ClassLoader);
+    ctor public InMemoryDexClassLoader(@NonNull java.nio.ByteBuffer[], @Nullable ClassLoader);
+    ctor public InMemoryDexClassLoader(@NonNull java.nio.ByteBuffer, @Nullable ClassLoader);
+  }
+
+  public class PathClassLoader extends dalvik.system.BaseDexClassLoader {
+    ctor public PathClassLoader(String, ClassLoader);
+    ctor public PathClassLoader(String, String, ClassLoader);
+  }
+
+}
+
+package java.awt.font {
+
+  public final class NumericShaper implements java.io.Serializable {
+    method public static java.awt.font.NumericShaper getContextualShaper(int);
+    method public static java.awt.font.NumericShaper getContextualShaper(java.util.Set<java.awt.font.NumericShaper.Range>);
+    method public static java.awt.font.NumericShaper getContextualShaper(int, int);
+    method public static java.awt.font.NumericShaper getContextualShaper(java.util.Set<java.awt.font.NumericShaper.Range>, java.awt.font.NumericShaper.Range);
+    method public java.util.Set<java.awt.font.NumericShaper.Range> getRangeSet();
+    method public int getRanges();
+    method public static java.awt.font.NumericShaper getShaper(int);
+    method public static java.awt.font.NumericShaper getShaper(java.awt.font.NumericShaper.Range);
+    method public boolean isContextual();
+    method public void shape(char[], int, int);
+    method public void shape(char[], int, int, int);
+    method public void shape(char[], int, int, java.awt.font.NumericShaper.Range);
+    field public static final int ALL_RANGES = 524287; // 0x7ffff
+    field public static final int ARABIC = 2; // 0x2
+    field public static final int BENGALI = 16; // 0x10
+    field public static final int DEVANAGARI = 8; // 0x8
+    field public static final int EASTERN_ARABIC = 4; // 0x4
+    field public static final int ETHIOPIC = 65536; // 0x10000
+    field public static final int EUROPEAN = 1; // 0x1
+    field public static final int GUJARATI = 64; // 0x40
+    field public static final int GURMUKHI = 32; // 0x20
+    field public static final int KANNADA = 1024; // 0x400
+    field public static final int KHMER = 131072; // 0x20000
+    field public static final int LAO = 8192; // 0x2000
+    field public static final int MALAYALAM = 2048; // 0x800
+    field public static final int MONGOLIAN = 262144; // 0x40000
+    field public static final int MYANMAR = 32768; // 0x8000
+    field public static final int ORIYA = 128; // 0x80
+    field public static final int TAMIL = 256; // 0x100
+    field public static final int TELUGU = 512; // 0x200
+    field public static final int THAI = 4096; // 0x1000
+    field public static final int TIBETAN = 16384; // 0x4000
+  }
+
+  public enum NumericShaper.Range {
+    enum_constant public static final java.awt.font.NumericShaper.Range ARABIC;
+    enum_constant public static final java.awt.font.NumericShaper.Range BALINESE;
+    enum_constant public static final java.awt.font.NumericShaper.Range BENGALI;
+    enum_constant public static final java.awt.font.NumericShaper.Range CHAM;
+    enum_constant public static final java.awt.font.NumericShaper.Range DEVANAGARI;
+    enum_constant public static final java.awt.font.NumericShaper.Range EASTERN_ARABIC;
+    enum_constant public static final java.awt.font.NumericShaper.Range ETHIOPIC;
+    enum_constant public static final java.awt.font.NumericShaper.Range EUROPEAN;
+    enum_constant public static final java.awt.font.NumericShaper.Range GUJARATI;
+    enum_constant public static final java.awt.font.NumericShaper.Range GURMUKHI;
+    enum_constant public static final java.awt.font.NumericShaper.Range JAVANESE;
+    enum_constant public static final java.awt.font.NumericShaper.Range KANNADA;
+    enum_constant public static final java.awt.font.NumericShaper.Range KAYAH_LI;
+    enum_constant public static final java.awt.font.NumericShaper.Range KHMER;
+    enum_constant public static final java.awt.font.NumericShaper.Range LAO;
+    enum_constant public static final java.awt.font.NumericShaper.Range LEPCHA;
+    enum_constant public static final java.awt.font.NumericShaper.Range LIMBU;
+    enum_constant public static final java.awt.font.NumericShaper.Range MALAYALAM;
+    enum_constant public static final java.awt.font.NumericShaper.Range MEETEI_MAYEK;
+    enum_constant public static final java.awt.font.NumericShaper.Range MONGOLIAN;
+    enum_constant public static final java.awt.font.NumericShaper.Range MYANMAR;
+    enum_constant public static final java.awt.font.NumericShaper.Range MYANMAR_SHAN;
+    enum_constant public static final java.awt.font.NumericShaper.Range NEW_TAI_LUE;
+    enum_constant public static final java.awt.font.NumericShaper.Range NKO;
+    enum_constant public static final java.awt.font.NumericShaper.Range OL_CHIKI;
+    enum_constant public static final java.awt.font.NumericShaper.Range ORIYA;
+    enum_constant public static final java.awt.font.NumericShaper.Range SAURASHTRA;
+    enum_constant public static final java.awt.font.NumericShaper.Range SUNDANESE;
+    enum_constant public static final java.awt.font.NumericShaper.Range TAI_THAM_HORA;
+    enum_constant public static final java.awt.font.NumericShaper.Range TAI_THAM_THAM;
+    enum_constant public static final java.awt.font.NumericShaper.Range TAMIL;
+    enum_constant public static final java.awt.font.NumericShaper.Range TELUGU;
+    enum_constant public static final java.awt.font.NumericShaper.Range THAI;
+    enum_constant public static final java.awt.font.NumericShaper.Range TIBETAN;
+    enum_constant public static final java.awt.font.NumericShaper.Range VAI;
+  }
+
+  public final class TextAttribute extends java.text.AttributedCharacterIterator.Attribute {
+    ctor protected TextAttribute(String);
+    field public static final java.awt.font.TextAttribute BACKGROUND;
+    field public static final java.awt.font.TextAttribute BIDI_EMBEDDING;
+    field public static final java.awt.font.TextAttribute CHAR_REPLACEMENT;
+    field public static final java.awt.font.TextAttribute FAMILY;
+    field public static final java.awt.font.TextAttribute FONT;
+    field public static final java.awt.font.TextAttribute FOREGROUND;
+    field public static final java.awt.font.TextAttribute INPUT_METHOD_HIGHLIGHT;
+    field public static final java.awt.font.TextAttribute INPUT_METHOD_UNDERLINE;
+    field public static final java.awt.font.TextAttribute JUSTIFICATION;
+    field public static final Float JUSTIFICATION_FULL;
+    field public static final Float JUSTIFICATION_NONE;
+    field public static final java.awt.font.TextAttribute KERNING;
+    field public static final Integer KERNING_ON;
+    field public static final java.awt.font.TextAttribute LIGATURES;
+    field public static final Integer LIGATURES_ON;
+    field public static final java.awt.font.TextAttribute NUMERIC_SHAPING;
+    field public static final java.awt.font.TextAttribute POSTURE;
+    field public static final Float POSTURE_OBLIQUE;
+    field public static final Float POSTURE_REGULAR;
+    field public static final java.awt.font.TextAttribute RUN_DIRECTION;
+    field public static final Boolean RUN_DIRECTION_LTR;
+    field public static final Boolean RUN_DIRECTION_RTL;
+    field public static final java.awt.font.TextAttribute SIZE;
+    field public static final java.awt.font.TextAttribute STRIKETHROUGH;
+    field public static final Boolean STRIKETHROUGH_ON;
+    field public static final java.awt.font.TextAttribute SUPERSCRIPT;
+    field public static final Integer SUPERSCRIPT_SUB;
+    field public static final Integer SUPERSCRIPT_SUPER;
+    field public static final java.awt.font.TextAttribute SWAP_COLORS;
+    field public static final Boolean SWAP_COLORS_ON;
+    field public static final java.awt.font.TextAttribute TRACKING;
+    field public static final Float TRACKING_LOOSE;
+    field public static final Float TRACKING_TIGHT;
+    field public static final java.awt.font.TextAttribute TRANSFORM;
+    field public static final java.awt.font.TextAttribute UNDERLINE;
+    field public static final Integer UNDERLINE_LOW_DASHED;
+    field public static final Integer UNDERLINE_LOW_DOTTED;
+    field public static final Integer UNDERLINE_LOW_GRAY;
+    field public static final Integer UNDERLINE_LOW_ONE_PIXEL;
+    field public static final Integer UNDERLINE_LOW_TWO_PIXEL;
+    field public static final Integer UNDERLINE_ON;
+    field public static final java.awt.font.TextAttribute WEIGHT;
+    field public static final Float WEIGHT_BOLD;
+    field public static final Float WEIGHT_DEMIBOLD;
+    field public static final Float WEIGHT_DEMILIGHT;
+    field public static final Float WEIGHT_EXTRABOLD;
+    field public static final Float WEIGHT_EXTRA_LIGHT;
+    field public static final Float WEIGHT_HEAVY;
+    field public static final Float WEIGHT_LIGHT;
+    field public static final Float WEIGHT_MEDIUM;
+    field public static final Float WEIGHT_REGULAR;
+    field public static final Float WEIGHT_SEMIBOLD;
+    field public static final Float WEIGHT_ULTRABOLD;
+    field public static final java.awt.font.TextAttribute WIDTH;
+    field public static final Float WIDTH_CONDENSED;
+    field public static final Float WIDTH_EXTENDED;
+    field public static final Float WIDTH_REGULAR;
+    field public static final Float WIDTH_SEMI_CONDENSED;
+    field public static final Float WIDTH_SEMI_EXTENDED;
+  }
+
+}
+
+package java.beans {
+
+  public class IndexedPropertyChangeEvent extends java.beans.PropertyChangeEvent {
+    ctor public IndexedPropertyChangeEvent(Object, String, Object, Object, int);
+    method public int getIndex();
+  }
+
+  public class PropertyChangeEvent extends java.util.EventObject {
+    ctor public PropertyChangeEvent(Object, String, Object, Object);
+    method public Object getNewValue();
+    method public Object getOldValue();
+    method public Object getPropagationId();
+    method public String getPropertyName();
+    method public void setPropagationId(Object);
+  }
+
+  public interface PropertyChangeListener extends java.util.EventListener {
+    method public void propertyChange(java.beans.PropertyChangeEvent);
+  }
+
+  public class PropertyChangeListenerProxy extends java.util.EventListenerProxy<java.beans.PropertyChangeListener> implements java.beans.PropertyChangeListener {
+    ctor public PropertyChangeListenerProxy(String, java.beans.PropertyChangeListener);
+    method public String getPropertyName();
+    method public void propertyChange(java.beans.PropertyChangeEvent);
+  }
+
+  public class PropertyChangeSupport implements java.io.Serializable {
+    ctor public PropertyChangeSupport(Object);
+    method public void addPropertyChangeListener(java.beans.PropertyChangeListener);
+    method public void addPropertyChangeListener(String, java.beans.PropertyChangeListener);
+    method public void fireIndexedPropertyChange(String, int, Object, Object);
+    method public void fireIndexedPropertyChange(String, int, int, int);
+    method public void fireIndexedPropertyChange(String, int, boolean, boolean);
+    method public void firePropertyChange(String, Object, Object);
+    method public void firePropertyChange(String, int, int);
+    method public void firePropertyChange(String, boolean, boolean);
+    method public void firePropertyChange(java.beans.PropertyChangeEvent);
+    method public java.beans.PropertyChangeListener[] getPropertyChangeListeners();
+    method public java.beans.PropertyChangeListener[] getPropertyChangeListeners(String);
+    method public boolean hasListeners(String);
+    method public void removePropertyChangeListener(java.beans.PropertyChangeListener);
+    method public void removePropertyChangeListener(String, java.beans.PropertyChangeListener);
+  }
+
+}
+
+package java.io {
+
+  public class BufferedInputStream extends java.io.FilterInputStream {
+    ctor public BufferedInputStream(java.io.InputStream);
+    ctor public BufferedInputStream(java.io.InputStream, int);
+    field protected volatile byte[] buf;
+    field protected int count;
+    field protected int marklimit;
+    field protected int markpos;
+    field protected int pos;
+  }
+
+  public class BufferedOutputStream extends java.io.FilterOutputStream {
+    ctor public BufferedOutputStream(java.io.OutputStream);
+    ctor public BufferedOutputStream(java.io.OutputStream, int);
+    field protected byte[] buf;
+    field protected int count;
+  }
+
+  public class BufferedReader extends java.io.Reader {
+    ctor public BufferedReader(java.io.Reader, int);
+    ctor public BufferedReader(java.io.Reader);
+    method public void close() throws java.io.IOException;
+    method public java.util.stream.Stream<java.lang.String> lines();
+    method public int read(char[], int, int) throws java.io.IOException;
+    method public String readLine() throws java.io.IOException;
+  }
+
+  public class BufferedWriter extends java.io.Writer {
+    ctor public BufferedWriter(java.io.Writer);
+    ctor public BufferedWriter(java.io.Writer, int);
+    method public void close() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public void newLine() throws java.io.IOException;
+    method public void write(char[], int, int) throws java.io.IOException;
+  }
+
+  public class ByteArrayInputStream extends java.io.InputStream {
+    ctor public ByteArrayInputStream(byte[]);
+    ctor public ByteArrayInputStream(byte[], int, int);
+    method public int available();
+    method public int read();
+    method public int read(byte[], int, int);
+    method public void reset();
+    method public long skip(long);
+    field protected byte[] buf;
+    field protected int count;
+    field protected int mark;
+    field protected int pos;
+  }
+
+  public class ByteArrayOutputStream extends java.io.OutputStream {
+    ctor public ByteArrayOutputStream();
+    ctor public ByteArrayOutputStream(int);
+    method public void reset();
+    method public int size();
+    method @NonNull public byte[] toByteArray();
+    method @NonNull public String toString(@NonNull String) throws java.io.UnsupportedEncodingException;
+    method @Deprecated @NonNull public String toString(int);
+    method public void write(int);
+    method public void write(@NonNull byte[], int, int);
+    method public void writeTo(@NonNull java.io.OutputStream) throws java.io.IOException;
+    field @NonNull protected byte[] buf;
+    field protected int count;
+  }
+
+  public class CharArrayReader extends java.io.Reader {
+    ctor public CharArrayReader(char[]);
+    ctor public CharArrayReader(char[], int, int);
+    method public void close();
+    method public int read(char[], int, int) throws java.io.IOException;
+    field protected char[] buf;
+    field protected int count;
+    field protected int markedPos;
+    field protected int pos;
+  }
+
+  public class CharArrayWriter extends java.io.Writer {
+    ctor public CharArrayWriter();
+    ctor public CharArrayWriter(int);
+    method public java.io.CharArrayWriter append(CharSequence);
+    method public java.io.CharArrayWriter append(CharSequence, int, int);
+    method public java.io.CharArrayWriter append(char);
+    method public void close();
+    method public void flush();
+    method public void reset();
+    method public int size();
+    method public char[] toCharArray();
+    method public void write(int);
+    method public void write(char[], int, int);
+    method public void write(String, int, int);
+    method public void writeTo(java.io.Writer) throws java.io.IOException;
+    field protected char[] buf;
+    field protected int count;
+  }
+
+  public class CharConversionException extends java.io.IOException {
+    ctor public CharConversionException();
+    ctor public CharConversionException(String);
+  }
+
+  public interface Closeable extends java.lang.AutoCloseable {
+    method public void close() throws java.io.IOException;
+  }
+
+  public final class Console implements java.io.Flushable {
+    method public void flush();
+    method public java.io.Console format(String, java.lang.Object...);
+    method public java.io.Console printf(String, java.lang.Object...);
+    method public String readLine(String, java.lang.Object...);
+    method public String readLine();
+    method public char[] readPassword(String, java.lang.Object...);
+    method public char[] readPassword();
+    method public java.io.Reader reader();
+    method public java.io.PrintWriter writer();
+  }
+
+  public interface DataInput {
+    method public boolean readBoolean() throws java.io.IOException;
+    method public byte readByte() throws java.io.IOException;
+    method public char readChar() throws java.io.IOException;
+    method public double readDouble() throws java.io.IOException;
+    method public float readFloat() throws java.io.IOException;
+    method public void readFully(byte[]) throws java.io.IOException;
+    method public void readFully(byte[], int, int) throws java.io.IOException;
+    method public int readInt() throws java.io.IOException;
+    method public String readLine() throws java.io.IOException;
+    method public long readLong() throws java.io.IOException;
+    method public short readShort() throws java.io.IOException;
+    method public String readUTF() throws java.io.IOException;
+    method public int readUnsignedByte() throws java.io.IOException;
+    method public int readUnsignedShort() throws java.io.IOException;
+    method public int skipBytes(int) throws java.io.IOException;
+  }
+
+  public class DataInputStream extends java.io.FilterInputStream implements java.io.DataInput {
+    ctor public DataInputStream(java.io.InputStream);
+    method public final int read(byte[]) throws java.io.IOException;
+    method public final int read(byte[], int, int) throws java.io.IOException;
+    method public final boolean readBoolean() throws java.io.IOException;
+    method public final byte readByte() throws java.io.IOException;
+    method public final char readChar() throws java.io.IOException;
+    method public final double readDouble() throws java.io.IOException;
+    method public final float readFloat() throws java.io.IOException;
+    method public final void readFully(byte[]) throws java.io.IOException;
+    method public final void readFully(byte[], int, int) throws java.io.IOException;
+    method public final int readInt() throws java.io.IOException;
+    method @Deprecated public final String readLine() throws java.io.IOException;
+    method public final long readLong() throws java.io.IOException;
+    method public final short readShort() throws java.io.IOException;
+    method public final String readUTF() throws java.io.IOException;
+    method public static final String readUTF(java.io.DataInput) throws java.io.IOException;
+    method public final int readUnsignedByte() throws java.io.IOException;
+    method public final int readUnsignedShort() throws java.io.IOException;
+    method public final int skipBytes(int) throws java.io.IOException;
+  }
+
+  public interface DataOutput {
+    method public void write(int) throws java.io.IOException;
+    method public void write(byte[]) throws java.io.IOException;
+    method public void write(byte[], int, int) throws java.io.IOException;
+    method public void writeBoolean(boolean) throws java.io.IOException;
+    method public void writeByte(int) throws java.io.IOException;
+    method public void writeBytes(String) throws java.io.IOException;
+    method public void writeChar(int) throws java.io.IOException;
+    method public void writeChars(String) throws java.io.IOException;
+    method public void writeDouble(double) throws java.io.IOException;
+    method public void writeFloat(float) throws java.io.IOException;
+    method public void writeInt(int) throws java.io.IOException;
+    method public void writeLong(long) throws java.io.IOException;
+    method public void writeShort(int) throws java.io.IOException;
+    method public void writeUTF(String) throws java.io.IOException;
+  }
+
+  public class DataOutputStream extends java.io.FilterOutputStream implements java.io.DataOutput {
+    ctor public DataOutputStream(java.io.OutputStream);
+    method public final int size();
+    method public final void writeBoolean(boolean) throws java.io.IOException;
+    method public final void writeByte(int) throws java.io.IOException;
+    method public final void writeBytes(String) throws java.io.IOException;
+    method public final void writeChar(int) throws java.io.IOException;
+    method public final void writeChars(String) throws java.io.IOException;
+    method public final void writeDouble(double) throws java.io.IOException;
+    method public final void writeFloat(float) throws java.io.IOException;
+    method public final void writeInt(int) throws java.io.IOException;
+    method public final void writeLong(long) throws java.io.IOException;
+    method public final void writeShort(int) throws java.io.IOException;
+    method public final void writeUTF(String) throws java.io.IOException;
+    field protected int written;
+  }
+
+  public class EOFException extends java.io.IOException {
+    ctor public EOFException();
+    ctor public EOFException(String);
+  }
+
+  public interface Externalizable extends java.io.Serializable {
+    method public void readExternal(java.io.ObjectInput) throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public void writeExternal(java.io.ObjectOutput) throws java.io.IOException;
+  }
+
+  public class File implements java.lang.Comparable<java.io.File> java.io.Serializable {
+    ctor public File(@NonNull String);
+    ctor public File(@Nullable String, @NonNull String);
+    ctor public File(@Nullable java.io.File, @NonNull String);
+    ctor public File(@NonNull java.net.URI);
+    method public boolean canExecute();
+    method public boolean canRead();
+    method public boolean canWrite();
+    method public int compareTo(@NonNull java.io.File);
+    method public boolean createNewFile() throws java.io.IOException;
+    method @NonNull public static java.io.File createTempFile(@NonNull String, @Nullable String, @Nullable java.io.File) throws java.io.IOException;
+    method @NonNull public static java.io.File createTempFile(@NonNull String, @Nullable String) throws java.io.IOException;
+    method public boolean delete();
+    method public void deleteOnExit();
+    method public boolean exists();
+    method @NonNull public java.io.File getAbsoluteFile();
+    method @NonNull public String getAbsolutePath();
+    method @NonNull public java.io.File getCanonicalFile() throws java.io.IOException;
+    method @NonNull public String getCanonicalPath() throws java.io.IOException;
+    method public long getFreeSpace();
+    method @NonNull public String getName();
+    method @Nullable public String getParent();
+    method @Nullable public java.io.File getParentFile();
+    method @NonNull public String getPath();
+    method public long getTotalSpace();
+    method public long getUsableSpace();
+    method public boolean isAbsolute();
+    method public boolean isDirectory();
+    method public boolean isFile();
+    method public boolean isHidden();
+    method public long lastModified();
+    method public long length();
+    method @Nullable public String[] list();
+    method @Nullable public String[] list(@Nullable java.io.FilenameFilter);
+    method @Nullable public java.io.File[] listFiles();
+    method @Nullable public java.io.File[] listFiles(@Nullable java.io.FilenameFilter);
+    method @Nullable public java.io.File[] listFiles(@Nullable java.io.FileFilter);
+    method @NonNull public static java.io.File[] listRoots();
+    method public boolean mkdir();
+    method public boolean mkdirs();
+    method public boolean renameTo(@NonNull java.io.File);
+    method public boolean setExecutable(boolean, boolean);
+    method public boolean setExecutable(boolean);
+    method public boolean setLastModified(long);
+    method public boolean setReadOnly();
+    method public boolean setReadable(boolean, boolean);
+    method public boolean setReadable(boolean);
+    method public boolean setWritable(boolean, boolean);
+    method public boolean setWritable(boolean);
+    method @NonNull public java.nio.file.Path toPath();
+    method @NonNull public java.net.URI toURI();
+    method @Deprecated @NonNull public java.net.URL toURL() throws java.net.MalformedURLException;
+    field @NonNull public static final String pathSeparator;
+    field public static final char pathSeparatorChar;
+    field @NonNull public static final String separator;
+    field public static final char separatorChar;
+  }
+
+  public final class FileDescriptor {
+    ctor public FileDescriptor();
+    method public void sync() throws java.io.SyncFailedException;
+    method public boolean valid();
+    field public static final java.io.FileDescriptor err;
+    field public static final java.io.FileDescriptor in;
+    field public static final java.io.FileDescriptor out;
+  }
+
+  @java.lang.FunctionalInterface public interface FileFilter {
+    method public boolean accept(java.io.File);
+  }
+
+  public class FileInputStream extends java.io.InputStream {
+    ctor public FileInputStream(String) throws java.io.FileNotFoundException;
+    ctor public FileInputStream(java.io.File) throws java.io.FileNotFoundException;
+    ctor public FileInputStream(java.io.FileDescriptor);
+    method protected void finalize() throws java.io.IOException;
+    method public java.nio.channels.FileChannel getChannel();
+    method public final java.io.FileDescriptor getFD() throws java.io.IOException;
+    method public int read() throws java.io.IOException;
+  }
+
+  public class FileNotFoundException extends java.io.IOException {
+    ctor public FileNotFoundException();
+    ctor public FileNotFoundException(String);
+  }
+
+  public class FileOutputStream extends java.io.OutputStream {
+    ctor public FileOutputStream(String) throws java.io.FileNotFoundException;
+    ctor public FileOutputStream(String, boolean) throws java.io.FileNotFoundException;
+    ctor public FileOutputStream(java.io.File) throws java.io.FileNotFoundException;
+    ctor public FileOutputStream(java.io.File, boolean) throws java.io.FileNotFoundException;
+    ctor public FileOutputStream(java.io.FileDescriptor);
+    method protected void finalize() throws java.io.IOException;
+    method public java.nio.channels.FileChannel getChannel();
+    method public final java.io.FileDescriptor getFD() throws java.io.IOException;
+    method public void write(int) throws java.io.IOException;
+  }
+
+  public final class FilePermission extends java.security.Permission implements java.io.Serializable {
+    ctor public FilePermission(String, String);
+    method public String getActions();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public class FileReader extends java.io.InputStreamReader {
+    ctor public FileReader(String) throws java.io.FileNotFoundException;
+    ctor public FileReader(java.io.File) throws java.io.FileNotFoundException;
+    ctor public FileReader(java.io.FileDescriptor);
+  }
+
+  public class FileWriter extends java.io.OutputStreamWriter {
+    ctor public FileWriter(String) throws java.io.IOException;
+    ctor public FileWriter(String, boolean) throws java.io.IOException;
+    ctor public FileWriter(java.io.File) throws java.io.IOException;
+    ctor public FileWriter(java.io.File, boolean) throws java.io.IOException;
+    ctor public FileWriter(java.io.FileDescriptor);
+  }
+
+  @java.lang.FunctionalInterface public interface FilenameFilter {
+    method public boolean accept(java.io.File, String);
+  }
+
+  public class FilterInputStream extends java.io.InputStream {
+    ctor protected FilterInputStream(java.io.InputStream);
+    method public int read() throws java.io.IOException;
+    field protected volatile java.io.InputStream in;
+  }
+
+  public class FilterOutputStream extends java.io.OutputStream {
+    ctor public FilterOutputStream(java.io.OutputStream);
+    method public void write(int) throws java.io.IOException;
+    field protected java.io.OutputStream out;
+  }
+
+  public abstract class FilterReader extends java.io.Reader {
+    ctor protected FilterReader(java.io.Reader);
+    method public void close() throws java.io.IOException;
+    method public int read(char[], int, int) throws java.io.IOException;
+    field protected java.io.Reader in;
+  }
+
+  public abstract class FilterWriter extends java.io.Writer {
+    ctor protected FilterWriter(java.io.Writer);
+    method public void close() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public void write(char[], int, int) throws java.io.IOException;
+    field protected java.io.Writer out;
+  }
+
+  public interface Flushable {
+    method public void flush() throws java.io.IOException;
+  }
+
+  public class IOError extends java.lang.Error {
+    ctor public IOError(Throwable);
+  }
+
+  public class IOException extends java.lang.Exception {
+    ctor public IOException();
+    ctor public IOException(String);
+    ctor public IOException(String, Throwable);
+    ctor public IOException(Throwable);
+  }
+
+  public abstract class InputStream implements java.io.Closeable {
+    ctor public InputStream();
+    method public int available() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void mark(int);
+    method public boolean markSupported();
+    method public abstract int read() throws java.io.IOException;
+    method public int read(byte[]) throws java.io.IOException;
+    method public int read(byte[], int, int) throws java.io.IOException;
+    method public void reset() throws java.io.IOException;
+    method public long skip(long) throws java.io.IOException;
+  }
+
+  public class InputStreamReader extends java.io.Reader {
+    ctor public InputStreamReader(java.io.InputStream);
+    ctor public InputStreamReader(java.io.InputStream, String) throws java.io.UnsupportedEncodingException;
+    ctor public InputStreamReader(java.io.InputStream, java.nio.charset.Charset);
+    ctor public InputStreamReader(java.io.InputStream, java.nio.charset.CharsetDecoder);
+    method public void close() throws java.io.IOException;
+    method public String getEncoding();
+    method public int read(char[], int, int) throws java.io.IOException;
+  }
+
+  public class InterruptedIOException extends java.io.IOException {
+    ctor public InterruptedIOException();
+    ctor public InterruptedIOException(String);
+    field public int bytesTransferred;
+  }
+
+  public class InvalidClassException extends java.io.ObjectStreamException {
+    ctor public InvalidClassException(String);
+    ctor public InvalidClassException(String, String);
+    field public String classname;
+  }
+
+  public class InvalidObjectException extends java.io.ObjectStreamException {
+    ctor public InvalidObjectException(String);
+  }
+
+  @Deprecated public class LineNumberInputStream extends java.io.FilterInputStream {
+    ctor @Deprecated public LineNumberInputStream(java.io.InputStream);
+    method @Deprecated public int getLineNumber();
+    method @Deprecated public void setLineNumber(int);
+  }
+
+  public class LineNumberReader extends java.io.BufferedReader {
+    ctor public LineNumberReader(java.io.Reader);
+    ctor public LineNumberReader(java.io.Reader, int);
+    method public int getLineNumber();
+    method public void setLineNumber(int);
+  }
+
+  public class NotActiveException extends java.io.ObjectStreamException {
+    ctor public NotActiveException(String);
+    ctor public NotActiveException();
+  }
+
+  public class NotSerializableException extends java.io.ObjectStreamException {
+    ctor public NotSerializableException(String);
+    ctor public NotSerializableException();
+  }
+
+  public interface ObjectInput extends java.io.DataInput java.lang.AutoCloseable {
+    method public int available() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public int read() throws java.io.IOException;
+    method public int read(byte[]) throws java.io.IOException;
+    method public int read(byte[], int, int) throws java.io.IOException;
+    method public Object readObject() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public long skip(long) throws java.io.IOException;
+  }
+
+  public class ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput java.io.ObjectStreamConstants {
+    ctor public ObjectInputStream(java.io.InputStream) throws java.io.IOException;
+    ctor protected ObjectInputStream() throws java.io.IOException, java.lang.SecurityException;
+    method public void defaultReadObject() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method protected boolean enableResolveObject(boolean) throws java.lang.SecurityException;
+    method public int read() throws java.io.IOException;
+    method public boolean readBoolean() throws java.io.IOException;
+    method public byte readByte() throws java.io.IOException;
+    method public char readChar() throws java.io.IOException;
+    method protected java.io.ObjectStreamClass readClassDescriptor() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public double readDouble() throws java.io.IOException;
+    method public java.io.ObjectInputStream.GetField readFields() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public float readFloat() throws java.io.IOException;
+    method public void readFully(byte[]) throws java.io.IOException;
+    method public void readFully(byte[], int, int) throws java.io.IOException;
+    method public int readInt() throws java.io.IOException;
+    method @Deprecated public String readLine() throws java.io.IOException;
+    method public long readLong() throws java.io.IOException;
+    method public final Object readObject() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method protected Object readObjectOverride() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public short readShort() throws java.io.IOException;
+    method protected void readStreamHeader() throws java.io.IOException, java.io.StreamCorruptedException;
+    method public String readUTF() throws java.io.IOException;
+    method public Object readUnshared() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public int readUnsignedByte() throws java.io.IOException;
+    method public int readUnsignedShort() throws java.io.IOException;
+    method public void registerValidation(java.io.ObjectInputValidation, int) throws java.io.InvalidObjectException, java.io.NotActiveException;
+    method protected Class<?> resolveClass(java.io.ObjectStreamClass) throws java.lang.ClassNotFoundException, java.io.IOException;
+    method protected Object resolveObject(Object) throws java.io.IOException;
+    method protected Class<?> resolveProxyClass(String[]) throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public int skipBytes(int) throws java.io.IOException;
+  }
+
+  public abstract static class ObjectInputStream.GetField {
+    ctor public ObjectInputStream.GetField();
+    method public abstract boolean defaulted(String) throws java.io.IOException;
+    method public abstract boolean get(String, boolean) throws java.io.IOException;
+    method public abstract byte get(String, byte) throws java.io.IOException;
+    method public abstract char get(String, char) throws java.io.IOException;
+    method public abstract short get(String, short) throws java.io.IOException;
+    method public abstract int get(String, int) throws java.io.IOException;
+    method public abstract long get(String, long) throws java.io.IOException;
+    method public abstract float get(String, float) throws java.io.IOException;
+    method public abstract double get(String, double) throws java.io.IOException;
+    method public abstract Object get(String, Object) throws java.io.IOException;
+    method public abstract java.io.ObjectStreamClass getObjectStreamClass();
+  }
+
+  public interface ObjectInputValidation {
+    method public void validateObject() throws java.io.InvalidObjectException;
+  }
+
+  public interface ObjectOutput extends java.io.DataOutput java.lang.AutoCloseable {
+    method public void close() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public void writeObject(Object) throws java.io.IOException;
+  }
+
+  public class ObjectOutputStream extends java.io.OutputStream implements java.io.ObjectOutput java.io.ObjectStreamConstants {
+    ctor public ObjectOutputStream(java.io.OutputStream) throws java.io.IOException;
+    ctor protected ObjectOutputStream() throws java.io.IOException, java.lang.SecurityException;
+    method protected void annotateClass(Class<?>) throws java.io.IOException;
+    method protected void annotateProxyClass(Class<?>) throws java.io.IOException;
+    method public void defaultWriteObject() throws java.io.IOException;
+    method protected void drain() throws java.io.IOException;
+    method protected boolean enableReplaceObject(boolean) throws java.lang.SecurityException;
+    method public java.io.ObjectOutputStream.PutField putFields() throws java.io.IOException;
+    method protected Object replaceObject(Object) throws java.io.IOException;
+    method public void reset() throws java.io.IOException;
+    method public void useProtocolVersion(int) throws java.io.IOException;
+    method public void write(int) throws java.io.IOException;
+    method public void writeBoolean(boolean) throws java.io.IOException;
+    method public void writeByte(int) throws java.io.IOException;
+    method public void writeBytes(String) throws java.io.IOException;
+    method public void writeChar(int) throws java.io.IOException;
+    method public void writeChars(String) throws java.io.IOException;
+    method protected void writeClassDescriptor(java.io.ObjectStreamClass) throws java.io.IOException;
+    method public void writeDouble(double) throws java.io.IOException;
+    method public void writeFields() throws java.io.IOException;
+    method public void writeFloat(float) throws java.io.IOException;
+    method public void writeInt(int) throws java.io.IOException;
+    method public void writeLong(long) throws java.io.IOException;
+    method public final void writeObject(Object) throws java.io.IOException;
+    method protected void writeObjectOverride(Object) throws java.io.IOException;
+    method public void writeShort(int) throws java.io.IOException;
+    method protected void writeStreamHeader() throws java.io.IOException;
+    method public void writeUTF(String) throws java.io.IOException;
+    method public void writeUnshared(Object) throws java.io.IOException;
+  }
+
+  public abstract static class ObjectOutputStream.PutField {
+    ctor public ObjectOutputStream.PutField();
+    method public abstract void put(String, boolean);
+    method public abstract void put(String, byte);
+    method public abstract void put(String, char);
+    method public abstract void put(String, short);
+    method public abstract void put(String, int);
+    method public abstract void put(String, long);
+    method public abstract void put(String, float);
+    method public abstract void put(String, double);
+    method public abstract void put(String, Object);
+    method @Deprecated public abstract void write(java.io.ObjectOutput) throws java.io.IOException;
+  }
+
+  public class ObjectStreamClass implements java.io.Serializable {
+    method public Class<?> forClass();
+    method public java.io.ObjectStreamField getField(String);
+    method public java.io.ObjectStreamField[] getFields();
+    method public String getName();
+    method public long getSerialVersionUID();
+    method public static java.io.ObjectStreamClass lookup(Class<?>);
+    method public static java.io.ObjectStreamClass lookupAny(Class<?>);
+    field public static final java.io.ObjectStreamField[] NO_FIELDS;
+  }
+
+  public interface ObjectStreamConstants {
+    field public static final int PROTOCOL_VERSION_1 = 1; // 0x1
+    field public static final int PROTOCOL_VERSION_2 = 2; // 0x2
+    field public static final byte SC_BLOCK_DATA = 8; // 0x8
+    field public static final byte SC_ENUM = 16; // 0x10
+    field public static final byte SC_EXTERNALIZABLE = 4; // 0x4
+    field public static final byte SC_SERIALIZABLE = 2; // 0x2
+    field public static final byte SC_WRITE_METHOD = 1; // 0x1
+    field public static final short STREAM_MAGIC = -21267; // 0xffffaced
+    field public static final short STREAM_VERSION = 5; // 0x5
+    field public static final java.io.SerializablePermission SUBCLASS_IMPLEMENTATION_PERMISSION;
+    field public static final java.io.SerializablePermission SUBSTITUTION_PERMISSION;
+    field public static final byte TC_ARRAY = 117; // 0x75
+    field public static final byte TC_BASE = 112; // 0x70
+    field public static final byte TC_BLOCKDATA = 119; // 0x77
+    field public static final byte TC_BLOCKDATALONG = 122; // 0x7a
+    field public static final byte TC_CLASS = 118; // 0x76
+    field public static final byte TC_CLASSDESC = 114; // 0x72
+    field public static final byte TC_ENDBLOCKDATA = 120; // 0x78
+    field public static final byte TC_ENUM = 126; // 0x7e
+    field public static final byte TC_EXCEPTION = 123; // 0x7b
+    field public static final byte TC_LONGSTRING = 124; // 0x7c
+    field public static final byte TC_MAX = 126; // 0x7e
+    field public static final byte TC_NULL = 112; // 0x70
+    field public static final byte TC_OBJECT = 115; // 0x73
+    field public static final byte TC_PROXYCLASSDESC = 125; // 0x7d
+    field public static final byte TC_REFERENCE = 113; // 0x71
+    field public static final byte TC_RESET = 121; // 0x79
+    field public static final byte TC_STRING = 116; // 0x74
+    field public static final int baseWireHandle = 8257536; // 0x7e0000
+  }
+
+  public abstract class ObjectStreamException extends java.io.IOException {
+    ctor protected ObjectStreamException(String);
+    ctor protected ObjectStreamException();
+  }
+
+  public class ObjectStreamField implements java.lang.Comparable<java.lang.Object> {
+    ctor public ObjectStreamField(String, Class<?>);
+    ctor public ObjectStreamField(String, Class<?>, boolean);
+    method public int compareTo(Object);
+    method public String getName();
+    method public int getOffset();
+    method public Class<?> getType();
+    method public char getTypeCode();
+    method public String getTypeString();
+    method public boolean isPrimitive();
+    method public boolean isUnshared();
+    method protected void setOffset(int);
+  }
+
+  public class OptionalDataException extends java.io.ObjectStreamException {
+    field public boolean eof;
+    field public int length;
+  }
+
+  public abstract class OutputStream implements java.io.Closeable java.io.Flushable {
+    ctor public OutputStream();
+    method public void close() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public abstract void write(int) throws java.io.IOException;
+    method public void write(byte[]) throws java.io.IOException;
+    method public void write(byte[], int, int) throws java.io.IOException;
+  }
+
+  public class OutputStreamWriter extends java.io.Writer {
+    ctor public OutputStreamWriter(java.io.OutputStream, String) throws java.io.UnsupportedEncodingException;
+    ctor public OutputStreamWriter(java.io.OutputStream);
+    ctor public OutputStreamWriter(java.io.OutputStream, java.nio.charset.Charset);
+    ctor public OutputStreamWriter(java.io.OutputStream, java.nio.charset.CharsetEncoder);
+    method public void close() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public String getEncoding();
+    method public void write(char[], int, int) throws java.io.IOException;
+  }
+
+  public class PipedInputStream extends java.io.InputStream {
+    ctor public PipedInputStream(java.io.PipedOutputStream) throws java.io.IOException;
+    ctor public PipedInputStream(java.io.PipedOutputStream, int) throws java.io.IOException;
+    ctor public PipedInputStream();
+    ctor public PipedInputStream(int);
+    method public void connect(java.io.PipedOutputStream) throws java.io.IOException;
+    method public int read() throws java.io.IOException;
+    method protected void receive(int) throws java.io.IOException;
+    field protected static final int PIPE_SIZE = 1024; // 0x400
+    field protected byte[] buffer;
+    field protected int in;
+    field protected int out;
+  }
+
+  public class PipedOutputStream extends java.io.OutputStream {
+    ctor public PipedOutputStream(java.io.PipedInputStream) throws java.io.IOException;
+    ctor public PipedOutputStream();
+    method public void connect(java.io.PipedInputStream) throws java.io.IOException;
+    method public void write(int) throws java.io.IOException;
+  }
+
+  public class PipedReader extends java.io.Reader {
+    ctor public PipedReader(java.io.PipedWriter) throws java.io.IOException;
+    ctor public PipedReader(java.io.PipedWriter, int) throws java.io.IOException;
+    ctor public PipedReader();
+    ctor public PipedReader(int);
+    method public void close() throws java.io.IOException;
+    method public void connect(java.io.PipedWriter) throws java.io.IOException;
+    method public int read(char[], int, int) throws java.io.IOException;
+  }
+
+  public class PipedWriter extends java.io.Writer {
+    ctor public PipedWriter(java.io.PipedReader) throws java.io.IOException;
+    ctor public PipedWriter();
+    method public void close() throws java.io.IOException;
+    method public void connect(java.io.PipedReader) throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public void write(char[], int, int) throws java.io.IOException;
+  }
+
+  public class PrintStream extends java.io.FilterOutputStream implements java.lang.Appendable java.io.Closeable {
+    ctor public PrintStream(java.io.OutputStream);
+    ctor public PrintStream(java.io.OutputStream, boolean);
+    ctor public PrintStream(java.io.OutputStream, boolean, String) throws java.io.UnsupportedEncodingException;
+    ctor public PrintStream(String) throws java.io.FileNotFoundException;
+    ctor public PrintStream(String, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public PrintStream(java.io.File) throws java.io.FileNotFoundException;
+    ctor public PrintStream(java.io.File, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    method public java.io.PrintStream append(CharSequence);
+    method public java.io.PrintStream append(CharSequence, int, int);
+    method public java.io.PrintStream append(char);
+    method public boolean checkError();
+    method protected void clearError();
+    method public void close();
+    method public void flush();
+    method public java.io.PrintStream format(String, java.lang.Object...);
+    method public java.io.PrintStream format(java.util.Locale, String, java.lang.Object...);
+    method public void print(boolean);
+    method public void print(char);
+    method public void print(int);
+    method public void print(long);
+    method public void print(float);
+    method public void print(double);
+    method public void print(char[]);
+    method public void print(String);
+    method public void print(Object);
+    method public java.io.PrintStream printf(String, java.lang.Object...);
+    method public java.io.PrintStream printf(java.util.Locale, String, java.lang.Object...);
+    method public void println();
+    method public void println(boolean);
+    method public void println(char);
+    method public void println(int);
+    method public void println(long);
+    method public void println(float);
+    method public void println(double);
+    method public void println(char[]);
+    method public void println(String);
+    method public void println(Object);
+    method protected void setError();
+    method public void write(int);
+    method public void write(byte[], int, int);
+  }
+
+  public class PrintWriter extends java.io.Writer {
+    ctor public PrintWriter(@NonNull java.io.Writer);
+    ctor public PrintWriter(@NonNull java.io.Writer, boolean);
+    ctor public PrintWriter(@NonNull java.io.OutputStream);
+    ctor public PrintWriter(@NonNull java.io.OutputStream, boolean);
+    ctor public PrintWriter(@NonNull String) throws java.io.FileNotFoundException;
+    ctor public PrintWriter(@NonNull String, @NonNull String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public PrintWriter(@NonNull java.io.File) throws java.io.FileNotFoundException;
+    ctor public PrintWriter(@NonNull java.io.File, @NonNull String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    method @NonNull public java.io.PrintWriter append(@Nullable CharSequence);
+    method @NonNull public java.io.PrintWriter append(@Nullable CharSequence, int, int);
+    method @NonNull public java.io.PrintWriter append(char);
+    method public boolean checkError();
+    method protected void clearError();
+    method public void close();
+    method public void flush();
+    method @NonNull public java.io.PrintWriter format(@NonNull String, @NonNull java.lang.Object...);
+    method @NonNull public java.io.PrintWriter format(@Nullable java.util.Locale, @NonNull String, @NonNull java.lang.Object...);
+    method public void print(boolean);
+    method public void print(char);
+    method public void print(int);
+    method public void print(long);
+    method public void print(float);
+    method public void print(double);
+    method public void print(char[]);
+    method public void print(@Nullable String);
+    method public void print(@Nullable Object);
+    method @NonNull public java.io.PrintWriter printf(@NonNull String, @NonNull java.lang.Object...);
+    method @NonNull public java.io.PrintWriter printf(@Nullable java.util.Locale, @NonNull String, @NonNull java.lang.Object...);
+    method public void println();
+    method public void println(boolean);
+    method public void println(char);
+    method public void println(int);
+    method public void println(long);
+    method public void println(float);
+    method public void println(double);
+    method public void println(char[]);
+    method public void println(@Nullable String);
+    method public void println(@Nullable Object);
+    method protected void setError();
+    method public void write(int);
+    method public void write(char[], int, int);
+    method public void write(char[]);
+    method public void write(@NonNull String, int, int);
+    method public void write(@NonNull String);
+    field protected java.io.Writer out;
+  }
+
+  public class PushbackInputStream extends java.io.FilterInputStream {
+    ctor public PushbackInputStream(java.io.InputStream, int);
+    ctor public PushbackInputStream(java.io.InputStream);
+    method public void unread(int) throws java.io.IOException;
+    method public void unread(byte[], int, int) throws java.io.IOException;
+    method public void unread(byte[]) throws java.io.IOException;
+    field protected byte[] buf;
+    field protected int pos;
+  }
+
+  public class PushbackReader extends java.io.FilterReader {
+    ctor public PushbackReader(java.io.Reader, int);
+    ctor public PushbackReader(java.io.Reader);
+    method public void unread(int) throws java.io.IOException;
+    method public void unread(char[], int, int) throws java.io.IOException;
+    method public void unread(char[]) throws java.io.IOException;
+  }
+
+  public class RandomAccessFile implements java.io.Closeable java.io.DataInput java.io.DataOutput {
+    ctor public RandomAccessFile(String, String) throws java.io.FileNotFoundException;
+    ctor public RandomAccessFile(java.io.File, String) throws java.io.FileNotFoundException;
+    method public void close() throws java.io.IOException;
+    method public final java.nio.channels.FileChannel getChannel();
+    method public final java.io.FileDescriptor getFD() throws java.io.IOException;
+    method public long getFilePointer() throws java.io.IOException;
+    method public long length() throws java.io.IOException;
+    method public int read() throws java.io.IOException;
+    method public int read(byte[], int, int) throws java.io.IOException;
+    method public int read(byte[]) throws java.io.IOException;
+    method public final boolean readBoolean() throws java.io.IOException;
+    method public final byte readByte() throws java.io.IOException;
+    method public final char readChar() throws java.io.IOException;
+    method public final double readDouble() throws java.io.IOException;
+    method public final float readFloat() throws java.io.IOException;
+    method public final void readFully(byte[]) throws java.io.IOException;
+    method public final void readFully(byte[], int, int) throws java.io.IOException;
+    method public final int readInt() throws java.io.IOException;
+    method public final String readLine() throws java.io.IOException;
+    method public final long readLong() throws java.io.IOException;
+    method public final short readShort() throws java.io.IOException;
+    method public final String readUTF() throws java.io.IOException;
+    method public final int readUnsignedByte() throws java.io.IOException;
+    method public final int readUnsignedShort() throws java.io.IOException;
+    method public void seek(long) throws java.io.IOException;
+    method public void setLength(long) throws java.io.IOException;
+    method public int skipBytes(int) throws java.io.IOException;
+    method public void write(int) throws java.io.IOException;
+    method public void write(byte[]) throws java.io.IOException;
+    method public void write(byte[], int, int) throws java.io.IOException;
+    method public final void writeBoolean(boolean) throws java.io.IOException;
+    method public final void writeByte(int) throws java.io.IOException;
+    method public final void writeBytes(String) throws java.io.IOException;
+    method public final void writeChar(int) throws java.io.IOException;
+    method public final void writeChars(String) throws java.io.IOException;
+    method public final void writeDouble(double) throws java.io.IOException;
+    method public final void writeFloat(float) throws java.io.IOException;
+    method public final void writeInt(int) throws java.io.IOException;
+    method public final void writeLong(long) throws java.io.IOException;
+    method public final void writeShort(int) throws java.io.IOException;
+    method public final void writeUTF(String) throws java.io.IOException;
+  }
+
+  public abstract class Reader implements java.io.Closeable java.lang.Readable {
+    ctor protected Reader();
+    ctor protected Reader(Object);
+    method public void mark(int) throws java.io.IOException;
+    method public boolean markSupported();
+    method public int read(java.nio.CharBuffer) throws java.io.IOException;
+    method public int read() throws java.io.IOException;
+    method public int read(char[]) throws java.io.IOException;
+    method public abstract int read(char[], int, int) throws java.io.IOException;
+    method public boolean ready() throws java.io.IOException;
+    method public void reset() throws java.io.IOException;
+    method public long skip(long) throws java.io.IOException;
+    field protected Object lock;
+  }
+
+  public class SequenceInputStream extends java.io.InputStream {
+    ctor public SequenceInputStream(java.util.Enumeration<? extends java.io.InputStream>);
+    ctor public SequenceInputStream(java.io.InputStream, java.io.InputStream);
+    method public int read() throws java.io.IOException;
+  }
+
+  public interface Serializable {
+  }
+
+  public final class SerializablePermission extends java.security.BasicPermission {
+    ctor public SerializablePermission(String);
+    ctor public SerializablePermission(String, String);
+  }
+
+  public class StreamCorruptedException extends java.io.ObjectStreamException {
+    ctor public StreamCorruptedException(String);
+    ctor public StreamCorruptedException();
+  }
+
+  public class StreamTokenizer {
+    ctor @Deprecated public StreamTokenizer(java.io.InputStream);
+    ctor public StreamTokenizer(java.io.Reader);
+    method public void commentChar(int);
+    method public void eolIsSignificant(boolean);
+    method public int lineno();
+    method public void lowerCaseMode(boolean);
+    method public int nextToken() throws java.io.IOException;
+    method public void ordinaryChar(int);
+    method public void ordinaryChars(int, int);
+    method public void parseNumbers();
+    method public void pushBack();
+    method public void quoteChar(int);
+    method public void resetSyntax();
+    method public void slashSlashComments(boolean);
+    method public void slashStarComments(boolean);
+    method public void whitespaceChars(int, int);
+    method public void wordChars(int, int);
+    field public static final int TT_EOF = -1; // 0xffffffff
+    field public static final int TT_EOL = 10; // 0xa
+    field public static final int TT_NUMBER = -2; // 0xfffffffe
+    field public static final int TT_WORD = -3; // 0xfffffffd
+    field public double nval;
+    field public String sval;
+    field public int ttype;
+  }
+
+  @Deprecated public class StringBufferInputStream extends java.io.InputStream {
+    ctor @Deprecated public StringBufferInputStream(String);
+    method @Deprecated public int available();
+    method @Deprecated public int read();
+    method @Deprecated public int read(byte[], int, int);
+    method @Deprecated public void reset();
+    method @Deprecated public long skip(long);
+    field @Deprecated protected String buffer;
+    field @Deprecated protected int count;
+    field @Deprecated protected int pos;
+  }
+
+  public class StringReader extends java.io.Reader {
+    ctor public StringReader(String);
+    method public void close();
+    method public int read(char[], int, int) throws java.io.IOException;
+  }
+
+  public class StringWriter extends java.io.Writer {
+    ctor public StringWriter();
+    ctor public StringWriter(int);
+    method public java.io.StringWriter append(CharSequence);
+    method public java.io.StringWriter append(CharSequence, int, int);
+    method public java.io.StringWriter append(char);
+    method public void close() throws java.io.IOException;
+    method public void flush();
+    method public StringBuffer getBuffer();
+    method public void write(int);
+    method public void write(char[], int, int);
+    method public void write(String);
+    method public void write(String, int, int);
+  }
+
+  public class SyncFailedException extends java.io.IOException {
+    ctor public SyncFailedException(String);
+  }
+
+  public class UTFDataFormatException extends java.io.IOException {
+    ctor public UTFDataFormatException();
+    ctor public UTFDataFormatException(String);
+  }
+
+  public class UncheckedIOException extends java.lang.RuntimeException {
+    ctor public UncheckedIOException(String, java.io.IOException);
+    ctor public UncheckedIOException(java.io.IOException);
+    method public java.io.IOException getCause();
+  }
+
+  public class UnsupportedEncodingException extends java.io.IOException {
+    ctor public UnsupportedEncodingException();
+    ctor public UnsupportedEncodingException(String);
+  }
+
+  public class WriteAbortedException extends java.io.ObjectStreamException {
+    ctor public WriteAbortedException(String, Exception);
+    field public Exception detail;
+  }
+
+  public abstract class Writer implements java.lang.Appendable java.io.Closeable java.io.Flushable {
+    ctor protected Writer();
+    ctor protected Writer(Object);
+    method public java.io.Writer append(CharSequence) throws java.io.IOException;
+    method public java.io.Writer append(CharSequence, int, int) throws java.io.IOException;
+    method public java.io.Writer append(char) throws java.io.IOException;
+    method public void write(int) throws java.io.IOException;
+    method public void write(char[]) throws java.io.IOException;
+    method public abstract void write(char[], int, int) throws java.io.IOException;
+    method public void write(String) throws java.io.IOException;
+    method public void write(String, int, int) throws java.io.IOException;
+    field protected Object lock;
+  }
+
+}
+
+package java.lang {
+
+  public class AbstractMethodError extends java.lang.IncompatibleClassChangeError {
+    ctor public AbstractMethodError();
+    ctor public AbstractMethodError(String);
+  }
+
+  public interface Appendable {
+    method @NonNull public Appendable append(@Nullable CharSequence) throws java.io.IOException;
+    method @NonNull public Appendable append(@Nullable CharSequence, int, int) throws java.io.IOException;
+    method @NonNull public Appendable append(char) throws java.io.IOException;
+  }
+
+  public class ArithmeticException extends java.lang.RuntimeException {
+    ctor public ArithmeticException();
+    ctor public ArithmeticException(String);
+  }
+
+  public class ArrayIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
+    ctor public ArrayIndexOutOfBoundsException();
+    ctor public ArrayIndexOutOfBoundsException(int);
+    ctor public ArrayIndexOutOfBoundsException(String);
+  }
+
+  public class ArrayStoreException extends java.lang.RuntimeException {
+    ctor public ArrayStoreException();
+    ctor public ArrayStoreException(String);
+  }
+
+  public class AssertionError extends java.lang.Error {
+    ctor public AssertionError();
+    ctor public AssertionError(Object);
+    ctor public AssertionError(boolean);
+    ctor public AssertionError(char);
+    ctor public AssertionError(int);
+    ctor public AssertionError(long);
+    ctor public AssertionError(float);
+    ctor public AssertionError(double);
+    ctor public AssertionError(String, Throwable);
+  }
+
+  public interface AutoCloseable {
+    method public void close() throws java.lang.Exception;
+  }
+
+  public final class Boolean implements java.lang.Comparable<java.lang.Boolean> java.io.Serializable {
+    ctor public Boolean(boolean);
+    ctor public Boolean(@Nullable String);
+    method public boolean booleanValue();
+    method public static int compare(boolean, boolean);
+    method public int compareTo(@NonNull Boolean);
+    method public static boolean getBoolean(@NonNull String);
+    method public static int hashCode(boolean);
+    method public static boolean logicalAnd(boolean, boolean);
+    method public static boolean logicalOr(boolean, boolean);
+    method public static boolean logicalXor(boolean, boolean);
+    method public static boolean parseBoolean(@Nullable String);
+    method @NonNull public static String toString(boolean);
+    method @NonNull public static Boolean valueOf(boolean);
+    method @NonNull public static Boolean valueOf(@Nullable String);
+    field public static final Boolean FALSE;
+    field public static final Boolean TRUE;
+    field public static final Class<java.lang.Boolean> TYPE;
+  }
+
+  public class BootstrapMethodError extends java.lang.LinkageError {
+    ctor public BootstrapMethodError();
+    ctor public BootstrapMethodError(String);
+    ctor public BootstrapMethodError(String, Throwable);
+    ctor public BootstrapMethodError(Throwable);
+  }
+
+  public final class Byte extends java.lang.Number implements java.lang.Comparable<java.lang.Byte> {
+    ctor @Deprecated public Byte(byte);
+    ctor @Deprecated public Byte(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int compare(byte, byte);
+    method public int compareTo(@NonNull Byte);
+    method public static int compareUnsigned(byte, byte);
+    method @NonNull public static Byte decode(@NonNull String) throws java.lang.NumberFormatException;
+    method public double doubleValue();
+    method public float floatValue();
+    method public static int hashCode(byte);
+    method public int intValue();
+    method public long longValue();
+    method public static byte parseByte(@NonNull String, int) throws java.lang.NumberFormatException;
+    method public static byte parseByte(@NonNull String) throws java.lang.NumberFormatException;
+    method @NonNull public static String toString(byte);
+    method public static int toUnsignedInt(byte);
+    method public static long toUnsignedLong(byte);
+    method @NonNull public static Byte valueOf(byte);
+    method @NonNull public static Byte valueOf(@NonNull String, int) throws java.lang.NumberFormatException;
+    method @NonNull public static Byte valueOf(@NonNull String) throws java.lang.NumberFormatException;
+    field public static final int BYTES = 1; // 0x1
+    field public static final byte MAX_VALUE = 127; // 0x7f
+    field public static final byte MIN_VALUE = -128; // 0xffffff80
+    field public static final int SIZE = 8; // 0x8
+    field public static final Class<java.lang.Byte> TYPE;
+  }
+
+  public interface CharSequence {
+    method public char charAt(int);
+    method @NonNull public default java.util.stream.IntStream chars();
+    method @NonNull public default java.util.stream.IntStream codePoints();
+    method public int length();
+    method @NonNull public CharSequence subSequence(int, int);
+    method @NonNull public String toString();
+  }
+
+  public final class Character implements java.lang.Comparable<java.lang.Character> java.io.Serializable {
+    ctor public Character(char);
+    method public static int charCount(int);
+    method public char charValue();
+    method public static int codePointAt(@NonNull CharSequence, int);
+    method public static int codePointAt(char[], int);
+    method public static int codePointAt(char[], int, int);
+    method public static int codePointBefore(@NonNull CharSequence, int);
+    method public static int codePointBefore(char[], int);
+    method public static int codePointBefore(char[], int, int);
+    method public static int codePointCount(@NonNull CharSequence, int, int);
+    method public static int codePointCount(char[], int, int);
+    method public static int compare(char, char);
+    method public int compareTo(@NonNull Character);
+    method public static int digit(char, int);
+    method public static int digit(int, int);
+    method public static char forDigit(int, int);
+    method public static byte getDirectionality(char);
+    method public static byte getDirectionality(int);
+    method @Nullable public static String getName(int);
+    method public static int getNumericValue(char);
+    method public static int getNumericValue(int);
+    method public static int getType(char);
+    method public static int getType(int);
+    method public static int hashCode(char);
+    method public static char highSurrogate(int);
+    method public static boolean isAlphabetic(int);
+    method public static boolean isBmpCodePoint(int);
+    method public static boolean isDefined(char);
+    method public static boolean isDefined(int);
+    method public static boolean isDigit(char);
+    method public static boolean isDigit(int);
+    method public static boolean isHighSurrogate(char);
+    method public static boolean isISOControl(char);
+    method public static boolean isISOControl(int);
+    method public static boolean isIdentifierIgnorable(char);
+    method public static boolean isIdentifierIgnorable(int);
+    method public static boolean isIdeographic(int);
+    method public static boolean isJavaIdentifierPart(char);
+    method public static boolean isJavaIdentifierPart(int);
+    method public static boolean isJavaIdentifierStart(char);
+    method public static boolean isJavaIdentifierStart(int);
+    method @Deprecated public static boolean isJavaLetter(char);
+    method @Deprecated public static boolean isJavaLetterOrDigit(char);
+    method public static boolean isLetter(char);
+    method public static boolean isLetter(int);
+    method public static boolean isLetterOrDigit(char);
+    method public static boolean isLetterOrDigit(int);
+    method public static boolean isLowSurrogate(char);
+    method public static boolean isLowerCase(char);
+    method public static boolean isLowerCase(int);
+    method public static boolean isMirrored(char);
+    method public static boolean isMirrored(int);
+    method @Deprecated public static boolean isSpace(char);
+    method public static boolean isSpaceChar(char);
+    method public static boolean isSpaceChar(int);
+    method public static boolean isSupplementaryCodePoint(int);
+    method public static boolean isSurrogate(char);
+    method public static boolean isSurrogatePair(char, char);
+    method public static boolean isTitleCase(char);
+    method public static boolean isTitleCase(int);
+    method public static boolean isUnicodeIdentifierPart(char);
+    method public static boolean isUnicodeIdentifierPart(int);
+    method public static boolean isUnicodeIdentifierStart(char);
+    method public static boolean isUnicodeIdentifierStart(int);
+    method public static boolean isUpperCase(char);
+    method public static boolean isUpperCase(int);
+    method public static boolean isValidCodePoint(int);
+    method public static boolean isWhitespace(char);
+    method public static boolean isWhitespace(int);
+    method public static char lowSurrogate(int);
+    method public static int offsetByCodePoints(@NonNull CharSequence, int, int);
+    method public static int offsetByCodePoints(char[], int, int, int, int);
+    method public static char reverseBytes(char);
+    method public static int toChars(int, char[], int);
+    method public static char[] toChars(int);
+    method public static int toCodePoint(char, char);
+    method public static char toLowerCase(char);
+    method public static int toLowerCase(int);
+    method @NonNull public static String toString(char);
+    method public static char toTitleCase(char);
+    method public static int toTitleCase(int);
+    method public static char toUpperCase(char);
+    method public static int toUpperCase(int);
+    method @NonNull public static Character valueOf(char);
+    field public static final int BYTES = 2; // 0x2
+    field public static final byte COMBINING_SPACING_MARK = 8; // 0x8
+    field public static final byte CONNECTOR_PUNCTUATION = 23; // 0x17
+    field public static final byte CONTROL = 15; // 0xf
+    field public static final byte CURRENCY_SYMBOL = 26; // 0x1a
+    field public static final byte DASH_PUNCTUATION = 20; // 0x14
+    field public static final byte DECIMAL_DIGIT_NUMBER = 9; // 0x9
+    field public static final byte DIRECTIONALITY_ARABIC_NUMBER = 6; // 0x6
+    field public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 9; // 0x9
+    field public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7; // 0x7
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = 3; // 0x3
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4; // 0x4
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5; // 0x5
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14; // 0xe
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15; // 0xf
+    field public static final byte DIRECTIONALITY_NONSPACING_MARK = 8; // 0x8
+    field public static final byte DIRECTIONALITY_OTHER_NEUTRALS = 13; // 0xd
+    field public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10; // 0xa
+    field public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18; // 0x12
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = 1; // 0x1
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2; // 0x2
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16; // 0x10
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17; // 0x11
+    field public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = 11; // 0xb
+    field public static final byte DIRECTIONALITY_UNDEFINED = -1; // 0xffffffff
+    field public static final byte DIRECTIONALITY_WHITESPACE = 12; // 0xc
+    field public static final byte ENCLOSING_MARK = 7; // 0x7
+    field public static final byte END_PUNCTUATION = 22; // 0x16
+    field public static final byte FINAL_QUOTE_PUNCTUATION = 30; // 0x1e
+    field public static final byte FORMAT = 16; // 0x10
+    field public static final byte INITIAL_QUOTE_PUNCTUATION = 29; // 0x1d
+    field public static final byte LETTER_NUMBER = 10; // 0xa
+    field public static final byte LINE_SEPARATOR = 13; // 0xd
+    field public static final byte LOWERCASE_LETTER = 2; // 0x2
+    field public static final byte MATH_SYMBOL = 25; // 0x19
+    field public static final int MAX_CODE_POINT = 1114111; // 0x10ffff
+    field public static final char MAX_HIGH_SURROGATE = 56319; // 0xdbff '\udbff'
+    field public static final char MAX_LOW_SURROGATE = 57343; // 0xdfff '\udfff'
+    field public static final int MAX_RADIX = 36; // 0x24
+    field public static final char MAX_SURROGATE = 57343; // 0xdfff '\udfff'
+    field public static final char MAX_VALUE = 65535; // 0xffff '\uffff'
+    field public static final int MIN_CODE_POINT = 0; // 0x0
+    field public static final char MIN_HIGH_SURROGATE = 55296; // 0xd800 '\ud800'
+    field public static final char MIN_LOW_SURROGATE = 56320; // 0xdc00 '\udc00'
+    field public static final int MIN_RADIX = 2; // 0x2
+    field public static final int MIN_SUPPLEMENTARY_CODE_POINT = 65536; // 0x10000
+    field public static final char MIN_SURROGATE = 55296; // 0xd800 '\ud800'
+    field public static final char MIN_VALUE = 0; // 0x0000 '\u0000'
+    field public static final byte MODIFIER_LETTER = 4; // 0x4
+    field public static final byte MODIFIER_SYMBOL = 27; // 0x1b
+    field public static final byte NON_SPACING_MARK = 6; // 0x6
+    field public static final byte OTHER_LETTER = 5; // 0x5
+    field public static final byte OTHER_NUMBER = 11; // 0xb
+    field public static final byte OTHER_PUNCTUATION = 24; // 0x18
+    field public static final byte OTHER_SYMBOL = 28; // 0x1c
+    field public static final byte PARAGRAPH_SEPARATOR = 14; // 0xe
+    field public static final byte PRIVATE_USE = 18; // 0x12
+    field public static final int SIZE = 16; // 0x10
+    field public static final byte SPACE_SEPARATOR = 12; // 0xc
+    field public static final byte START_PUNCTUATION = 21; // 0x15
+    field public static final byte SURROGATE = 19; // 0x13
+    field public static final byte TITLECASE_LETTER = 3; // 0x3
+    field public static final Class<java.lang.Character> TYPE;
+    field public static final byte UNASSIGNED = 0; // 0x0
+    field public static final byte UPPERCASE_LETTER = 1; // 0x1
+  }
+
+  public static class Character.Subset {
+    ctor protected Character.Subset(@NonNull String);
+    method public final boolean equals(@Nullable Object);
+    method public final int hashCode();
+    method @NonNull public final String toString();
+  }
+
+  public static final class Character.UnicodeBlock extends java.lang.Character.Subset {
+    method @NonNull public static java.lang.Character.UnicodeBlock forName(@NonNull String);
+    method @Nullable public static java.lang.Character.UnicodeBlock of(char);
+    method @Nullable public static java.lang.Character.UnicodeBlock of(int);
+    field public static final java.lang.Character.UnicodeBlock AEGEAN_NUMBERS;
+    field public static final java.lang.Character.UnicodeBlock ALCHEMICAL_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock ALPHABETIC_PRESENTATION_FORMS;
+    field public static final java.lang.Character.UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION;
+    field public static final java.lang.Character.UnicodeBlock ANCIENT_GREEK_NUMBERS;
+    field public static final java.lang.Character.UnicodeBlock ANCIENT_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock ARABIC;
+    field public static final java.lang.Character.UnicodeBlock ARABIC_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock ARABIC_PRESENTATION_FORMS_A;
+    field public static final java.lang.Character.UnicodeBlock ARABIC_PRESENTATION_FORMS_B;
+    field public static final java.lang.Character.UnicodeBlock ARABIC_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock ARMENIAN;
+    field public static final java.lang.Character.UnicodeBlock ARROWS;
+    field public static final java.lang.Character.UnicodeBlock AVESTAN;
+    field public static final java.lang.Character.UnicodeBlock BALINESE;
+    field public static final java.lang.Character.UnicodeBlock BAMUM;
+    field public static final java.lang.Character.UnicodeBlock BAMUM_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock BASIC_LATIN;
+    field public static final java.lang.Character.UnicodeBlock BATAK;
+    field public static final java.lang.Character.UnicodeBlock BENGALI;
+    field public static final java.lang.Character.UnicodeBlock BLOCK_ELEMENTS;
+    field public static final java.lang.Character.UnicodeBlock BOPOMOFO;
+    field public static final java.lang.Character.UnicodeBlock BOPOMOFO_EXTENDED;
+    field public static final java.lang.Character.UnicodeBlock BOX_DRAWING;
+    field public static final java.lang.Character.UnicodeBlock BRAHMI;
+    field public static final java.lang.Character.UnicodeBlock BRAILLE_PATTERNS;
+    field public static final java.lang.Character.UnicodeBlock BUGINESE;
+    field public static final java.lang.Character.UnicodeBlock BUHID;
+    field public static final java.lang.Character.UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock CARIAN;
+    field public static final java.lang.Character.UnicodeBlock CHAKMA;
+    field public static final java.lang.Character.UnicodeBlock CHAM;
+    field public static final java.lang.Character.UnicodeBlock CHEROKEE;
+    field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY;
+    field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_FORMS;
+    field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS;
+    field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock CJK_RADICALS_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock CJK_STROKES;
+    field public static final java.lang.Character.UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION;
+    field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS;
+    field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A;
+    field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B;
+    field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C;
+    field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D;
+    field public static final java.lang.Character.UnicodeBlock COMBINING_DIACRITICAL_MARKS;
+    field public static final java.lang.Character.UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock COMBINING_HALF_MARKS;
+    field public static final java.lang.Character.UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock COMMON_INDIC_NUMBER_FORMS;
+    field public static final java.lang.Character.UnicodeBlock CONTROL_PICTURES;
+    field public static final java.lang.Character.UnicodeBlock COPTIC;
+    field public static final java.lang.Character.UnicodeBlock COUNTING_ROD_NUMERALS;
+    field public static final java.lang.Character.UnicodeBlock CUNEIFORM;
+    field public static final java.lang.Character.UnicodeBlock CUNEIFORM_NUMBERS_AND_PUNCTUATION;
+    field public static final java.lang.Character.UnicodeBlock CURRENCY_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock CYPRIOT_SYLLABARY;
+    field public static final java.lang.Character.UnicodeBlock CYRILLIC;
+    field public static final java.lang.Character.UnicodeBlock CYRILLIC_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock CYRILLIC_EXTENDED_B;
+    field public static final java.lang.Character.UnicodeBlock CYRILLIC_SUPPLEMENTARY;
+    field public static final java.lang.Character.UnicodeBlock DESERET;
+    field public static final java.lang.Character.UnicodeBlock DEVANAGARI;
+    field public static final java.lang.Character.UnicodeBlock DEVANAGARI_EXTENDED;
+    field public static final java.lang.Character.UnicodeBlock DINGBATS;
+    field public static final java.lang.Character.UnicodeBlock DOMINO_TILES;
+    field public static final java.lang.Character.UnicodeBlock EGYPTIAN_HIEROGLYPHS;
+    field public static final java.lang.Character.UnicodeBlock EMOTICONS;
+    field public static final java.lang.Character.UnicodeBlock ENCLOSED_ALPHANUMERICS;
+    field public static final java.lang.Character.UnicodeBlock ENCLOSED_ALPHANUMERIC_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS;
+    field public static final java.lang.Character.UnicodeBlock ENCLOSED_IDEOGRAPHIC_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock ETHIOPIC;
+    field public static final java.lang.Character.UnicodeBlock ETHIOPIC_EXTENDED;
+    field public static final java.lang.Character.UnicodeBlock ETHIOPIC_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock ETHIOPIC_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock GENERAL_PUNCTUATION;
+    field public static final java.lang.Character.UnicodeBlock GEOMETRIC_SHAPES;
+    field public static final java.lang.Character.UnicodeBlock GEORGIAN;
+    field public static final java.lang.Character.UnicodeBlock GEORGIAN_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock GLAGOLITIC;
+    field public static final java.lang.Character.UnicodeBlock GOTHIC;
+    field public static final java.lang.Character.UnicodeBlock GREEK;
+    field public static final java.lang.Character.UnicodeBlock GREEK_EXTENDED;
+    field public static final java.lang.Character.UnicodeBlock GUJARATI;
+    field public static final java.lang.Character.UnicodeBlock GURMUKHI;
+    field public static final java.lang.Character.UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS;
+    field public static final java.lang.Character.UnicodeBlock HANGUL_COMPATIBILITY_JAMO;
+    field public static final java.lang.Character.UnicodeBlock HANGUL_JAMO;
+    field public static final java.lang.Character.UnicodeBlock HANGUL_JAMO_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock HANGUL_JAMO_EXTENDED_B;
+    field public static final java.lang.Character.UnicodeBlock HANGUL_SYLLABLES;
+    field public static final java.lang.Character.UnicodeBlock HANUNOO;
+    field public static final java.lang.Character.UnicodeBlock HEBREW;
+    field public static final java.lang.Character.UnicodeBlock HIGH_PRIVATE_USE_SURROGATES;
+    field public static final java.lang.Character.UnicodeBlock HIGH_SURROGATES;
+    field public static final java.lang.Character.UnicodeBlock HIRAGANA;
+    field public static final java.lang.Character.UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS;
+    field public static final java.lang.Character.UnicodeBlock IMPERIAL_ARAMAIC;
+    field public static final java.lang.Character.UnicodeBlock INSCRIPTIONAL_PAHLAVI;
+    field public static final java.lang.Character.UnicodeBlock INSCRIPTIONAL_PARTHIAN;
+    field public static final java.lang.Character.UnicodeBlock IPA_EXTENSIONS;
+    field public static final java.lang.Character.UnicodeBlock JAVANESE;
+    field public static final java.lang.Character.UnicodeBlock KAITHI;
+    field public static final java.lang.Character.UnicodeBlock KANA_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock KANBUN;
+    field public static final java.lang.Character.UnicodeBlock KANGXI_RADICALS;
+    field public static final java.lang.Character.UnicodeBlock KANNADA;
+    field public static final java.lang.Character.UnicodeBlock KATAKANA;
+    field public static final java.lang.Character.UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS;
+    field public static final java.lang.Character.UnicodeBlock KAYAH_LI;
+    field public static final java.lang.Character.UnicodeBlock KHAROSHTHI;
+    field public static final java.lang.Character.UnicodeBlock KHMER;
+    field public static final java.lang.Character.UnicodeBlock KHMER_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock LAO;
+    field public static final java.lang.Character.UnicodeBlock LATIN_1_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_ADDITIONAL;
+    field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_B;
+    field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_C;
+    field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_D;
+    field public static final java.lang.Character.UnicodeBlock LEPCHA;
+    field public static final java.lang.Character.UnicodeBlock LETTERLIKE_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock LIMBU;
+    field public static final java.lang.Character.UnicodeBlock LINEAR_B_IDEOGRAMS;
+    field public static final java.lang.Character.UnicodeBlock LINEAR_B_SYLLABARY;
+    field public static final java.lang.Character.UnicodeBlock LISU;
+    field public static final java.lang.Character.UnicodeBlock LOW_SURROGATES;
+    field public static final java.lang.Character.UnicodeBlock LYCIAN;
+    field public static final java.lang.Character.UnicodeBlock LYDIAN;
+    field public static final java.lang.Character.UnicodeBlock MAHJONG_TILES;
+    field public static final java.lang.Character.UnicodeBlock MALAYALAM;
+    field public static final java.lang.Character.UnicodeBlock MANDAIC;
+    field public static final java.lang.Character.UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock MATHEMATICAL_OPERATORS;
+    field public static final java.lang.Character.UnicodeBlock MEETEI_MAYEK;
+    field public static final java.lang.Character.UnicodeBlock MEETEI_MAYEK_EXTENSIONS;
+    field public static final java.lang.Character.UnicodeBlock MEROITIC_CURSIVE;
+    field public static final java.lang.Character.UnicodeBlock MEROITIC_HIEROGLYPHS;
+    field public static final java.lang.Character.UnicodeBlock MIAO;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_TECHNICAL;
+    field public static final java.lang.Character.UnicodeBlock MODIFIER_TONE_LETTERS;
+    field public static final java.lang.Character.UnicodeBlock MONGOLIAN;
+    field public static final java.lang.Character.UnicodeBlock MUSICAL_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock MYANMAR;
+    field public static final java.lang.Character.UnicodeBlock MYANMAR_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock NEW_TAI_LUE;
+    field public static final java.lang.Character.UnicodeBlock NKO;
+    field public static final java.lang.Character.UnicodeBlock NUMBER_FORMS;
+    field public static final java.lang.Character.UnicodeBlock OGHAM;
+    field public static final java.lang.Character.UnicodeBlock OLD_ITALIC;
+    field public static final java.lang.Character.UnicodeBlock OLD_PERSIAN;
+    field public static final java.lang.Character.UnicodeBlock OLD_SOUTH_ARABIAN;
+    field public static final java.lang.Character.UnicodeBlock OLD_TURKIC;
+    field public static final java.lang.Character.UnicodeBlock OL_CHIKI;
+    field public static final java.lang.Character.UnicodeBlock OPTICAL_CHARACTER_RECOGNITION;
+    field public static final java.lang.Character.UnicodeBlock ORIYA;
+    field public static final java.lang.Character.UnicodeBlock OSMANYA;
+    field public static final java.lang.Character.UnicodeBlock PHAGS_PA;
+    field public static final java.lang.Character.UnicodeBlock PHAISTOS_DISC;
+    field public static final java.lang.Character.UnicodeBlock PHOENICIAN;
+    field public static final java.lang.Character.UnicodeBlock PHONETIC_EXTENSIONS;
+    field public static final java.lang.Character.UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock PLAYING_CARDS;
+    field public static final java.lang.Character.UnicodeBlock PRIVATE_USE_AREA;
+    field public static final java.lang.Character.UnicodeBlock REJANG;
+    field public static final java.lang.Character.UnicodeBlock RUMI_NUMERAL_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock RUNIC;
+    field public static final java.lang.Character.UnicodeBlock SAMARITAN;
+    field public static final java.lang.Character.UnicodeBlock SAURASHTRA;
+    field public static final java.lang.Character.UnicodeBlock SHARADA;
+    field public static final java.lang.Character.UnicodeBlock SHAVIAN;
+    field public static final java.lang.Character.UnicodeBlock SINHALA;
+    field public static final java.lang.Character.UnicodeBlock SMALL_FORM_VARIANTS;
+    field public static final java.lang.Character.UnicodeBlock SORA_SOMPENG;
+    field public static final java.lang.Character.UnicodeBlock SPACING_MODIFIER_LETTERS;
+    field public static final java.lang.Character.UnicodeBlock SPECIALS;
+    field public static final java.lang.Character.UnicodeBlock SUNDANESE;
+    field public static final java.lang.Character.UnicodeBlock SUNDANESE_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_ARROWS_A;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_ARROWS_B;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_PUNCTUATION;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B;
+    field @Deprecated public static final java.lang.Character.UnicodeBlock SURROGATES_AREA;
+    field public static final java.lang.Character.UnicodeBlock SYLOTI_NAGRI;
+    field public static final java.lang.Character.UnicodeBlock SYRIAC;
+    field public static final java.lang.Character.UnicodeBlock TAGALOG;
+    field public static final java.lang.Character.UnicodeBlock TAGBANWA;
+    field public static final java.lang.Character.UnicodeBlock TAGS;
+    field public static final java.lang.Character.UnicodeBlock TAI_LE;
+    field public static final java.lang.Character.UnicodeBlock TAI_THAM;
+    field public static final java.lang.Character.UnicodeBlock TAI_VIET;
+    field public static final java.lang.Character.UnicodeBlock TAI_XUAN_JING_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock TAKRI;
+    field public static final java.lang.Character.UnicodeBlock TAMIL;
+    field public static final java.lang.Character.UnicodeBlock TELUGU;
+    field public static final java.lang.Character.UnicodeBlock THAANA;
+    field public static final java.lang.Character.UnicodeBlock THAI;
+    field public static final java.lang.Character.UnicodeBlock TIBETAN;
+    field public static final java.lang.Character.UnicodeBlock TIFINAGH;
+    field public static final java.lang.Character.UnicodeBlock TRANSPORT_AND_MAP_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock UGARITIC;
+    field public static final java.lang.Character.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS;
+    field public static final java.lang.Character.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED;
+    field public static final java.lang.Character.UnicodeBlock VAI;
+    field public static final java.lang.Character.UnicodeBlock VARIATION_SELECTORS;
+    field public static final java.lang.Character.UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock VEDIC_EXTENSIONS;
+    field public static final java.lang.Character.UnicodeBlock VERTICAL_FORMS;
+    field public static final java.lang.Character.UnicodeBlock YIJING_HEXAGRAM_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock YI_RADICALS;
+    field public static final java.lang.Character.UnicodeBlock YI_SYLLABLES;
+  }
+
+  public enum Character.UnicodeScript {
+    method @NonNull public static java.lang.Character.UnicodeScript forName(@NonNull String);
+    method @NonNull public static java.lang.Character.UnicodeScript of(int);
+    enum_constant public static final java.lang.Character.UnicodeScript ARABIC;
+    enum_constant public static final java.lang.Character.UnicodeScript ARMENIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript AVESTAN;
+    enum_constant public static final java.lang.Character.UnicodeScript BALINESE;
+    enum_constant public static final java.lang.Character.UnicodeScript BAMUM;
+    enum_constant public static final java.lang.Character.UnicodeScript BATAK;
+    enum_constant public static final java.lang.Character.UnicodeScript BENGALI;
+    enum_constant public static final java.lang.Character.UnicodeScript BOPOMOFO;
+    enum_constant public static final java.lang.Character.UnicodeScript BRAHMI;
+    enum_constant public static final java.lang.Character.UnicodeScript BRAILLE;
+    enum_constant public static final java.lang.Character.UnicodeScript BUGINESE;
+    enum_constant public static final java.lang.Character.UnicodeScript BUHID;
+    enum_constant public static final java.lang.Character.UnicodeScript CANADIAN_ABORIGINAL;
+    enum_constant public static final java.lang.Character.UnicodeScript CARIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript CHAKMA;
+    enum_constant public static final java.lang.Character.UnicodeScript CHAM;
+    enum_constant public static final java.lang.Character.UnicodeScript CHEROKEE;
+    enum_constant public static final java.lang.Character.UnicodeScript COMMON;
+    enum_constant public static final java.lang.Character.UnicodeScript COPTIC;
+    enum_constant public static final java.lang.Character.UnicodeScript CUNEIFORM;
+    enum_constant public static final java.lang.Character.UnicodeScript CYPRIOT;
+    enum_constant public static final java.lang.Character.UnicodeScript CYRILLIC;
+    enum_constant public static final java.lang.Character.UnicodeScript DESERET;
+    enum_constant public static final java.lang.Character.UnicodeScript DEVANAGARI;
+    enum_constant public static final java.lang.Character.UnicodeScript EGYPTIAN_HIEROGLYPHS;
+    enum_constant public static final java.lang.Character.UnicodeScript ETHIOPIC;
+    enum_constant public static final java.lang.Character.UnicodeScript GEORGIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript GLAGOLITIC;
+    enum_constant public static final java.lang.Character.UnicodeScript GOTHIC;
+    enum_constant public static final java.lang.Character.UnicodeScript GREEK;
+    enum_constant public static final java.lang.Character.UnicodeScript GUJARATI;
+    enum_constant public static final java.lang.Character.UnicodeScript GURMUKHI;
+    enum_constant public static final java.lang.Character.UnicodeScript HAN;
+    enum_constant public static final java.lang.Character.UnicodeScript HANGUL;
+    enum_constant public static final java.lang.Character.UnicodeScript HANUNOO;
+    enum_constant public static final java.lang.Character.UnicodeScript HEBREW;
+    enum_constant public static final java.lang.Character.UnicodeScript HIRAGANA;
+    enum_constant public static final java.lang.Character.UnicodeScript IMPERIAL_ARAMAIC;
+    enum_constant public static final java.lang.Character.UnicodeScript INHERITED;
+    enum_constant public static final java.lang.Character.UnicodeScript INSCRIPTIONAL_PAHLAVI;
+    enum_constant public static final java.lang.Character.UnicodeScript INSCRIPTIONAL_PARTHIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript JAVANESE;
+    enum_constant public static final java.lang.Character.UnicodeScript KAITHI;
+    enum_constant public static final java.lang.Character.UnicodeScript KANNADA;
+    enum_constant public static final java.lang.Character.UnicodeScript KATAKANA;
+    enum_constant public static final java.lang.Character.UnicodeScript KAYAH_LI;
+    enum_constant public static final java.lang.Character.UnicodeScript KHAROSHTHI;
+    enum_constant public static final java.lang.Character.UnicodeScript KHMER;
+    enum_constant public static final java.lang.Character.UnicodeScript LAO;
+    enum_constant public static final java.lang.Character.UnicodeScript LATIN;
+    enum_constant public static final java.lang.Character.UnicodeScript LEPCHA;
+    enum_constant public static final java.lang.Character.UnicodeScript LIMBU;
+    enum_constant public static final java.lang.Character.UnicodeScript LINEAR_B;
+    enum_constant public static final java.lang.Character.UnicodeScript LISU;
+    enum_constant public static final java.lang.Character.UnicodeScript LYCIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript LYDIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript MALAYALAM;
+    enum_constant public static final java.lang.Character.UnicodeScript MANDAIC;
+    enum_constant public static final java.lang.Character.UnicodeScript MEETEI_MAYEK;
+    enum_constant public static final java.lang.Character.UnicodeScript MEROITIC_CURSIVE;
+    enum_constant public static final java.lang.Character.UnicodeScript MEROITIC_HIEROGLYPHS;
+    enum_constant public static final java.lang.Character.UnicodeScript MIAO;
+    enum_constant public static final java.lang.Character.UnicodeScript MONGOLIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript MYANMAR;
+    enum_constant public static final java.lang.Character.UnicodeScript NEW_TAI_LUE;
+    enum_constant public static final java.lang.Character.UnicodeScript NKO;
+    enum_constant public static final java.lang.Character.UnicodeScript OGHAM;
+    enum_constant public static final java.lang.Character.UnicodeScript OLD_ITALIC;
+    enum_constant public static final java.lang.Character.UnicodeScript OLD_PERSIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript OLD_SOUTH_ARABIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript OLD_TURKIC;
+    enum_constant public static final java.lang.Character.UnicodeScript OL_CHIKI;
+    enum_constant public static final java.lang.Character.UnicodeScript ORIYA;
+    enum_constant public static final java.lang.Character.UnicodeScript OSMANYA;
+    enum_constant public static final java.lang.Character.UnicodeScript PHAGS_PA;
+    enum_constant public static final java.lang.Character.UnicodeScript PHOENICIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript REJANG;
+    enum_constant public static final java.lang.Character.UnicodeScript RUNIC;
+    enum_constant public static final java.lang.Character.UnicodeScript SAMARITAN;
+    enum_constant public static final java.lang.Character.UnicodeScript SAURASHTRA;
+    enum_constant public static final java.lang.Character.UnicodeScript SHARADA;
+    enum_constant public static final java.lang.Character.UnicodeScript SHAVIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript SINHALA;
+    enum_constant public static final java.lang.Character.UnicodeScript SORA_SOMPENG;
+    enum_constant public static final java.lang.Character.UnicodeScript SUNDANESE;
+    enum_constant public static final java.lang.Character.UnicodeScript SYLOTI_NAGRI;
+    enum_constant public static final java.lang.Character.UnicodeScript SYRIAC;
+    enum_constant public static final java.lang.Character.UnicodeScript TAGALOG;
+    enum_constant public static final java.lang.Character.UnicodeScript TAGBANWA;
+    enum_constant public static final java.lang.Character.UnicodeScript TAI_LE;
+    enum_constant public static final java.lang.Character.UnicodeScript TAI_THAM;
+    enum_constant public static final java.lang.Character.UnicodeScript TAI_VIET;
+    enum_constant public static final java.lang.Character.UnicodeScript TAKRI;
+    enum_constant public static final java.lang.Character.UnicodeScript TAMIL;
+    enum_constant public static final java.lang.Character.UnicodeScript TELUGU;
+    enum_constant public static final java.lang.Character.UnicodeScript THAANA;
+    enum_constant public static final java.lang.Character.UnicodeScript THAI;
+    enum_constant public static final java.lang.Character.UnicodeScript TIBETAN;
+    enum_constant public static final java.lang.Character.UnicodeScript TIFINAGH;
+    enum_constant public static final java.lang.Character.UnicodeScript UGARITIC;
+    enum_constant public static final java.lang.Character.UnicodeScript UNKNOWN;
+    enum_constant public static final java.lang.Character.UnicodeScript VAI;
+    enum_constant public static final java.lang.Character.UnicodeScript YI;
+  }
+
+  public final class Class<T> implements java.lang.reflect.AnnotatedElement java.lang.reflect.GenericDeclaration java.io.Serializable java.lang.reflect.Type {
+    method @NonNull public <U> Class<? extends U> asSubclass(@NonNull Class<U>);
+    method @Nullable public T cast(@Nullable Object);
+    method public boolean desiredAssertionStatus();
+    method @NonNull public static Class<?> forName(@NonNull String) throws java.lang.ClassNotFoundException;
+    method @NonNull public static Class<?> forName(@NonNull String, boolean, @Nullable ClassLoader) throws java.lang.ClassNotFoundException;
+    method @Nullable public <A extends java.lang.annotation.Annotation> A getAnnotation(@NonNull Class<A>);
+    method @NonNull public java.lang.annotation.Annotation[] getAnnotations();
+    method @NonNull public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(@NonNull Class<A>);
+    method @Nullable public String getCanonicalName();
+    method @Nullable public ClassLoader getClassLoader();
+    method @NonNull public Class<?>[] getClasses();
+    method @Nullable public Class<?> getComponentType();
+    method @NonNull public java.lang.reflect.Constructor<T> getConstructor(@Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Constructor<?>[] getConstructors() throws java.lang.SecurityException;
+    method @Nullable public <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation(@NonNull Class<A>);
+    method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+    method @NonNull public Class<?>[] getDeclaredClasses();
+    method @NonNull public java.lang.reflect.Constructor<T> getDeclaredConstructor(@Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Constructor<?>[] getDeclaredConstructors() throws java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Field getDeclaredField(@NonNull String) throws java.lang.NoSuchFieldException;
+    method @NonNull public java.lang.reflect.Field[] getDeclaredFields();
+    method @NonNull public java.lang.reflect.Method getDeclaredMethod(@NonNull String, @Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Method[] getDeclaredMethods() throws java.lang.SecurityException;
+    method @Nullable public Class<?> getDeclaringClass();
+    method @Nullable public Class<?> getEnclosingClass();
+    method @Nullable public java.lang.reflect.Constructor<?> getEnclosingConstructor();
+    method @Nullable public java.lang.reflect.Method getEnclosingMethod();
+    method @Nullable public T[] getEnumConstants();
+    method @NonNull public java.lang.reflect.Field getField(@NonNull String) throws java.lang.NoSuchFieldException;
+    method @NonNull public java.lang.reflect.Field[] getFields() throws java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Type[] getGenericInterfaces();
+    method @Nullable public java.lang.reflect.Type getGenericSuperclass();
+    method @NonNull public Class<?>[] getInterfaces();
+    method @NonNull public java.lang.reflect.Method getMethod(@NonNull String, @Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Method[] getMethods() throws java.lang.SecurityException;
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method @Nullable public Package getPackage();
+    method @NonNull public String getPackageName();
+    method @Nullable public java.security.ProtectionDomain getProtectionDomain();
+    method @Nullable public java.net.URL getResource(@NonNull String);
+    method @Nullable public java.io.InputStream getResourceAsStream(@NonNull String);
+    method @Nullable public Object[] getSigners();
+    method @NonNull public String getSimpleName();
+    method @Nullable public Class<? super T> getSuperclass();
+    method @NonNull public java.lang.reflect.TypeVariable<java.lang.Class<T>>[] getTypeParameters();
+    method public boolean isAnnotation();
+    method public boolean isAnonymousClass();
+    method public boolean isArray();
+    method public boolean isAssignableFrom(@NonNull Class<?>);
+    method public boolean isEnum();
+    method public boolean isInstance(@Nullable Object);
+    method public boolean isInterface();
+    method public boolean isLocalClass();
+    method public boolean isMemberClass();
+    method public boolean isPrimitive();
+    method public boolean isSynthetic();
+    method @NonNull public T newInstance() throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @NonNull public String toGenericString();
+  }
+
+  public class ClassCastException extends java.lang.RuntimeException {
+    ctor public ClassCastException();
+    ctor public ClassCastException(String);
+  }
+
+  public class ClassCircularityError extends java.lang.LinkageError {
+    ctor public ClassCircularityError();
+    ctor public ClassCircularityError(String);
+  }
+
+  public class ClassFormatError extends java.lang.LinkageError {
+    ctor public ClassFormatError();
+    ctor public ClassFormatError(String);
+  }
+
+  public abstract class ClassLoader {
+    ctor protected ClassLoader(ClassLoader);
+    ctor protected ClassLoader();
+    method public void clearAssertionStatus();
+    method @Deprecated protected final Class<?> defineClass(byte[], int, int) throws java.lang.ClassFormatError;
+    method protected final Class<?> defineClass(String, byte[], int, int) throws java.lang.ClassFormatError;
+    method protected final Class<?> defineClass(String, byte[], int, int, java.security.ProtectionDomain) throws java.lang.ClassFormatError;
+    method protected final Class<?> defineClass(String, java.nio.ByteBuffer, java.security.ProtectionDomain) throws java.lang.ClassFormatError;
+    method protected Package definePackage(String, String, String, String, String, String, String, java.net.URL) throws java.lang.IllegalArgumentException;
+    method protected Class<?> findClass(String) throws java.lang.ClassNotFoundException;
+    method protected String findLibrary(String);
+    method protected final Class<?> findLoadedClass(String);
+    method protected java.net.URL findResource(String);
+    method protected java.util.Enumeration<java.net.URL> findResources(String) throws java.io.IOException;
+    method protected final Class<?> findSystemClass(String) throws java.lang.ClassNotFoundException;
+    method protected Package getPackage(String);
+    method protected Package[] getPackages();
+    method public final ClassLoader getParent();
+    method public java.net.URL getResource(String);
+    method public java.io.InputStream getResourceAsStream(String);
+    method public java.util.Enumeration<java.net.URL> getResources(String) throws java.io.IOException;
+    method public static ClassLoader getSystemClassLoader();
+    method public static java.net.URL getSystemResource(String);
+    method public static java.io.InputStream getSystemResourceAsStream(String);
+    method public static java.util.Enumeration<java.net.URL> getSystemResources(String) throws java.io.IOException;
+    method public Class<?> loadClass(String) throws java.lang.ClassNotFoundException;
+    method protected Class<?> loadClass(String, boolean) throws java.lang.ClassNotFoundException;
+    method protected static boolean registerAsParallelCapable();
+    method protected final void resolveClass(Class<?>);
+    method public void setClassAssertionStatus(String, boolean);
+    method public void setDefaultAssertionStatus(boolean);
+    method public void setPackageAssertionStatus(String, boolean);
+    method protected final void setSigners(Class<?>, Object[]);
+  }
+
+  public class ClassNotFoundException extends java.lang.ReflectiveOperationException {
+    ctor public ClassNotFoundException();
+    ctor public ClassNotFoundException(String);
+    ctor public ClassNotFoundException(String, Throwable);
+    method public Throwable getException();
+  }
+
+  public class CloneNotSupportedException extends java.lang.Exception {
+    ctor public CloneNotSupportedException();
+    ctor public CloneNotSupportedException(String);
+  }
+
+  public interface Cloneable {
+  }
+
+  public interface Comparable<T> {
+    method public int compareTo(T);
+  }
+
+  public final class Compiler {
+    method public static Object command(Object);
+    method public static boolean compileClass(Class<?>);
+    method public static boolean compileClasses(String);
+    method public static void disable();
+    method public static void enable();
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.LOCAL_VARIABLE, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PACKAGE, java.lang.annotation.ElementType.MODULE, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.TYPE}) public @interface Deprecated {
+    method public abstract boolean forRemoval() default false;
+    method public abstract String since() default "";
+  }
+
+  public final class Double extends java.lang.Number implements java.lang.Comparable<java.lang.Double> {
+    ctor public Double(double);
+    ctor public Double(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int compare(double, double);
+    method public int compareTo(@NonNull Double);
+    method public static long doubleToLongBits(double);
+    method public static long doubleToRawLongBits(double);
+    method public double doubleValue();
+    method public float floatValue();
+    method public static int hashCode(double);
+    method public int intValue();
+    method public static boolean isFinite(double);
+    method public static boolean isInfinite(double);
+    method public boolean isInfinite();
+    method public static boolean isNaN(double);
+    method public boolean isNaN();
+    method public static double longBitsToDouble(long);
+    method public long longValue();
+    method public static double max(double, double);
+    method public static double min(double, double);
+    method public static double parseDouble(@NonNull String) throws java.lang.NumberFormatException;
+    method public static double sum(double, double);
+    method @NonNull public static String toHexString(double);
+    method @NonNull public static String toString(double);
+    method @NonNull public static Double valueOf(@NonNull String) throws java.lang.NumberFormatException;
+    method @NonNull public static Double valueOf(double);
+    field public static final int BYTES = 8; // 0x8
+    field public static final int MAX_EXPONENT = 1023; // 0x3ff
+    field public static final double MAX_VALUE = 1.7976931348623157E308;
+    field public static final int MIN_EXPONENT = -1022; // 0xfffffc02
+    field public static final double MIN_NORMAL = 2.2250738585072014E-308;
+    field public static final double MIN_VALUE = 4.9E-324;
+    field public static final double NEGATIVE_INFINITY = (-1.0/0.0);
+    field public static final double NaN = (0.0/0.0);
+    field public static final double POSITIVE_INFINITY = (1.0/0.0);
+    field public static final int SIZE = 64; // 0x40
+    field public static final Class<java.lang.Double> TYPE;
+  }
+
+  public abstract class Enum<E extends java.lang.Enum<E>> implements java.lang.Comparable<E> java.io.Serializable {
+    ctor protected Enum(@NonNull String, int);
+    method @NonNull protected final Object clone() throws java.lang.CloneNotSupportedException;
+    method public final int compareTo(E);
+    method public final boolean equals(@Nullable Object);
+    method protected final void finalize();
+    method @NonNull public final Class<E> getDeclaringClass();
+    method public final int hashCode();
+    method @NonNull public final String name();
+    method public final int ordinal();
+    method @NonNull public static <T extends java.lang.Enum<T>> T valueOf(@NonNull Class<T>, @NonNull String);
+  }
+
+  public class EnumConstantNotPresentException extends java.lang.RuntimeException {
+    ctor public EnumConstantNotPresentException(Class<? extends java.lang.Enum>, String);
+    method public String constantName();
+    method public Class<? extends java.lang.Enum> enumType();
+  }
+
+  public class Error extends java.lang.Throwable {
+    ctor public Error();
+    ctor public Error(String);
+    ctor public Error(String, Throwable);
+    ctor public Error(Throwable);
+    ctor protected Error(String, Throwable, boolean, boolean);
+  }
+
+  public class Exception extends java.lang.Throwable {
+    ctor public Exception();
+    ctor public Exception(String);
+    ctor public Exception(String, Throwable);
+    ctor public Exception(Throwable);
+    ctor protected Exception(String, Throwable, boolean, boolean);
+  }
+
+  public class ExceptionInInitializerError extends java.lang.LinkageError {
+    ctor public ExceptionInInitializerError();
+    ctor public ExceptionInInitializerError(Throwable);
+    ctor public ExceptionInInitializerError(String);
+    method public Throwable getException();
+  }
+
+  public final class Float extends java.lang.Number implements java.lang.Comparable<java.lang.Float> {
+    ctor public Float(float);
+    ctor public Float(double);
+    ctor public Float(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int compare(float, float);
+    method public int compareTo(@NonNull Float);
+    method public double doubleValue();
+    method public static int floatToIntBits(float);
+    method public static int floatToRawIntBits(float);
+    method public float floatValue();
+    method public static int hashCode(float);
+    method public static float intBitsToFloat(int);
+    method public int intValue();
+    method public static boolean isFinite(float);
+    method public static boolean isInfinite(float);
+    method public boolean isInfinite();
+    method public static boolean isNaN(float);
+    method public boolean isNaN();
+    method public long longValue();
+    method public static float max(float, float);
+    method public static float min(float, float);
+    method public static float parseFloat(@NonNull String) throws java.lang.NumberFormatException;
+    method public static float sum(float, float);
+    method @NonNull public static String toHexString(float);
+    method @NonNull public static String toString(float);
+    method @NonNull public static Float valueOf(@NonNull String) throws java.lang.NumberFormatException;
+    method @NonNull public static Float valueOf(float);
+    field public static final int BYTES = 4; // 0x4
+    field public static final int MAX_EXPONENT = 127; // 0x7f
+    field public static final float MAX_VALUE = 3.4028235E38f;
+    field public static final int MIN_EXPONENT = -126; // 0xffffff82
+    field public static final float MIN_NORMAL = 1.17549435E-38f;
+    field public static final float MIN_VALUE = 1.4E-45f;
+    field public static final float NEGATIVE_INFINITY = (-1.0f/0.0f);
+    field public static final float NaN = (0.0f/0.0f);
+    field public static final float POSITIVE_INFINITY = (1.0f/0.0f);
+    field public static final int SIZE = 32; // 0x20
+    field public static final Class<java.lang.Float> TYPE;
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface FunctionalInterface {
+  }
+
+  public class IllegalAccessError extends java.lang.IncompatibleClassChangeError {
+    ctor public IllegalAccessError();
+    ctor public IllegalAccessError(String);
+  }
+
+  public class IllegalAccessException extends java.lang.ReflectiveOperationException {
+    ctor public IllegalAccessException();
+    ctor public IllegalAccessException(String);
+  }
+
+  public class IllegalArgumentException extends java.lang.RuntimeException {
+    ctor public IllegalArgumentException();
+    ctor public IllegalArgumentException(String);
+    ctor public IllegalArgumentException(String, Throwable);
+    ctor public IllegalArgumentException(Throwable);
+  }
+
+  public class IllegalMonitorStateException extends java.lang.RuntimeException {
+    ctor public IllegalMonitorStateException();
+    ctor public IllegalMonitorStateException(String);
+  }
+
+  public class IllegalStateException extends java.lang.RuntimeException {
+    ctor public IllegalStateException();
+    ctor public IllegalStateException(String);
+    ctor public IllegalStateException(String, Throwable);
+    ctor public IllegalStateException(Throwable);
+  }
+
+  public class IllegalThreadStateException extends java.lang.IllegalArgumentException {
+    ctor public IllegalThreadStateException();
+    ctor public IllegalThreadStateException(String);
+  }
+
+  public class IncompatibleClassChangeError extends java.lang.LinkageError {
+    ctor public IncompatibleClassChangeError();
+    ctor public IncompatibleClassChangeError(String);
+  }
+
+  public class IndexOutOfBoundsException extends java.lang.RuntimeException {
+    ctor public IndexOutOfBoundsException();
+    ctor public IndexOutOfBoundsException(String);
+  }
+
+  public class InheritableThreadLocal<T> extends java.lang.ThreadLocal<T> {
+    ctor public InheritableThreadLocal();
+    method protected T childValue(T);
+  }
+
+  public class InstantiationError extends java.lang.IncompatibleClassChangeError {
+    ctor public InstantiationError();
+    ctor public InstantiationError(String);
+  }
+
+  public class InstantiationException extends java.lang.ReflectiveOperationException {
+    ctor public InstantiationException();
+    ctor public InstantiationException(String);
+  }
+
+  public final class Integer extends java.lang.Number implements java.lang.Comparable<java.lang.Integer> {
+    ctor public Integer(int);
+    ctor public Integer(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int bitCount(int);
+    method public static int compare(int, int);
+    method public int compareTo(@NonNull Integer);
+    method public static int compareUnsigned(int, int);
+    method @NonNull public static Integer decode(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int divideUnsigned(int, int);
+    method public double doubleValue();
+    method public float floatValue();
+    method @Nullable public static Integer getInteger(@NonNull String);
+    method @Nullable public static Integer getInteger(@NonNull String, int);
+    method @Nullable public static Integer getInteger(@NonNull String, @Nullable Integer);
+    method public static int hashCode(int);
+    method public static int highestOneBit(int);
+    method public int intValue();
+    method public long longValue();
+    method public static int lowestOneBit(int);
+    method public static int max(int, int);
+    method public static int min(int, int);
+    method public static int numberOfLeadingZeros(int);
+    method public static int numberOfTrailingZeros(int);
+    method public static int parseInt(@NonNull String, int) throws java.lang.NumberFormatException;
+    method public static int parseInt(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int parseUnsignedInt(@NonNull String, int) throws java.lang.NumberFormatException;
+    method public static int parseUnsignedInt(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int remainderUnsigned(int, int);
+    method public static int reverse(int);
+    method public static int reverseBytes(int);
+    method public static int rotateLeft(int, int);
+    method public static int rotateRight(int, int);
+    method public static int signum(int);
+    method public static int sum(int, int);
+    method @NonNull public static String toBinaryString(int);
+    method @NonNull public static String toHexString(int);
+    method @NonNull public static String toOctalString(int);
+    method @NonNull public static String toString(int, int);
+    method @NonNull public static String toString(int);
+    method public static long toUnsignedLong(int);
+    method @NonNull public static String toUnsignedString(int, int);
+    method @NonNull public static String toUnsignedString(int);
+    method @NonNull public static Integer valueOf(@NonNull String, int) throws java.lang.NumberFormatException;
+    method @NonNull public static Integer valueOf(@NonNull String) throws java.lang.NumberFormatException;
+    method @NonNull public static Integer valueOf(int);
+    field public static final int BYTES = 4; // 0x4
+    field public static final int MAX_VALUE = 2147483647; // 0x7fffffff
+    field public static final int MIN_VALUE = -2147483648; // 0x80000000
+    field public static final int SIZE = 32; // 0x20
+    field public static final Class<java.lang.Integer> TYPE;
+  }
+
+  public class InternalError extends java.lang.VirtualMachineError {
+    ctor public InternalError();
+    ctor public InternalError(String);
+    ctor public InternalError(String, Throwable);
+    ctor public InternalError(Throwable);
+  }
+
+  public class InterruptedException extends java.lang.Exception {
+    ctor public InterruptedException();
+    ctor public InterruptedException(String);
+  }
+
+  public interface Iterable<T> {
+    method public default void forEach(@NonNull java.util.function.Consumer<? super T>);
+    method @NonNull public java.util.Iterator<T> iterator();
+    method @NonNull public default java.util.Spliterator<T> spliterator();
+  }
+
+  public class LinkageError extends java.lang.Error {
+    ctor public LinkageError();
+    ctor public LinkageError(String);
+    ctor public LinkageError(String, Throwable);
+  }
+
+  public final class Long extends java.lang.Number implements java.lang.Comparable<java.lang.Long> {
+    ctor public Long(long);
+    ctor public Long(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int bitCount(long);
+    method public static int compare(long, long);
+    method public int compareTo(@NonNull Long);
+    method public static int compareUnsigned(long, long);
+    method @NonNull public static Long decode(@NonNull String) throws java.lang.NumberFormatException;
+    method public static long divideUnsigned(long, long);
+    method public double doubleValue();
+    method public float floatValue();
+    method @Nullable public static Long getLong(@NonNull String);
+    method @Nullable public static Long getLong(@NonNull String, long);
+    method @Nullable public static Long getLong(@NonNull String, @Nullable Long);
+    method public static int hashCode(long);
+    method public static long highestOneBit(long);
+    method public int intValue();
+    method public long longValue();
+    method public static long lowestOneBit(long);
+    method public static long max(long, long);
+    method public static long min(long, long);
+    method public static int numberOfLeadingZeros(long);
+    method public static int numberOfTrailingZeros(long);
+    method public static long parseLong(@NonNull String, int) throws java.lang.NumberFormatException;
+    method public static long parseLong(@NonNull String) throws java.lang.NumberFormatException;
+    method public static long parseUnsignedLong(@NonNull String, int) throws java.lang.NumberFormatException;
+    method public static long parseUnsignedLong(@NonNull String) throws java.lang.NumberFormatException;
+    method public static long remainderUnsigned(long, long);
+    method public static long reverse(long);
+    method public static long reverseBytes(long);
+    method public static long rotateLeft(long, int);
+    method public static long rotateRight(long, int);
+    method public static int signum(long);
+    method public static long sum(long, long);
+    method @NonNull public static String toBinaryString(long);
+    method @NonNull public static String toHexString(long);
+    method @NonNull public static String toOctalString(long);
+    method @NonNull public static String toString(long, int);
+    method @NonNull public static String toString(long);
+    method @NonNull public static String toUnsignedString(long, int);
+    method @NonNull public static String toUnsignedString(long);
+    method @NonNull public static Long valueOf(@NonNull String, int) throws java.lang.NumberFormatException;
+    method @NonNull public static Long valueOf(@NonNull String) throws java.lang.NumberFormatException;
+    method @NonNull public static Long valueOf(long);
+    field public static final int BYTES = 8; // 0x8
+    field public static final long MAX_VALUE = 9223372036854775807L; // 0x7fffffffffffffffL
+    field public static final long MIN_VALUE = -9223372036854775808L; // 0x8000000000000000L
+    field public static final int SIZE = 64; // 0x40
+    field public static final Class<java.lang.Long> TYPE;
+  }
+
+  public final class Math {
+    method public static double IEEEremainder(double, double);
+    method public static int abs(int);
+    method public static long abs(long);
+    method public static float abs(float);
+    method public static double abs(double);
+    method public static double acos(double);
+    method public static int addExact(int, int);
+    method public static long addExact(long, long);
+    method public static double asin(double);
+    method public static double atan(double);
+    method public static double atan2(double, double);
+    method public static double cbrt(double);
+    method public static double ceil(double);
+    method public static double copySign(double, double);
+    method public static float copySign(float, float);
+    method public static double cos(double);
+    method public static double cosh(double);
+    method public static int decrementExact(int);
+    method public static long decrementExact(long);
+    method public static double exp(double);
+    method public static double expm1(double);
+    method public static double floor(double);
+    method public static int floorDiv(int, int);
+    method public static long floorDiv(long, int);
+    method public static long floorDiv(long, long);
+    method public static int floorMod(int, int);
+    method public static int floorMod(long, int);
+    method public static long floorMod(long, long);
+    method public static int getExponent(float);
+    method public static int getExponent(double);
+    method public static double hypot(double, double);
+    method public static int incrementExact(int);
+    method public static long incrementExact(long);
+    method public static double log(double);
+    method public static double log10(double);
+    method public static double log1p(double);
+    method public static int max(int, int);
+    method public static long max(long, long);
+    method public static float max(float, float);
+    method public static double max(double, double);
+    method public static int min(int, int);
+    method public static long min(long, long);
+    method public static float min(float, float);
+    method public static double min(double, double);
+    method public static int multiplyExact(int, int);
+    method public static long multiplyExact(long, int);
+    method public static long multiplyExact(long, long);
+    method public static long multiplyFull(int, int);
+    method public static long multiplyHigh(long, long);
+    method public static int negateExact(int);
+    method public static long negateExact(long);
+    method public static double nextAfter(double, double);
+    method public static float nextAfter(float, double);
+    method public static double nextDown(double);
+    method public static float nextDown(float);
+    method public static double nextUp(double);
+    method public static float nextUp(float);
+    method public static double pow(double, double);
+    method public static double random();
+    method public static double rint(double);
+    method public static int round(float);
+    method public static long round(double);
+    method public static double scalb(double, int);
+    method public static float scalb(float, int);
+    method public static double signum(double);
+    method public static float signum(float);
+    method public static double sin(double);
+    method public static double sinh(double);
+    method public static double sqrt(double);
+    method public static int subtractExact(int, int);
+    method public static long subtractExact(long, long);
+    method public static double tan(double);
+    method public static double tanh(double);
+    method public static double toDegrees(double);
+    method public static int toIntExact(long);
+    method public static double toRadians(double);
+    method public static double ulp(double);
+    method public static float ulp(float);
+    field public static final double E = 2.718281828459045;
+    field public static final double PI = 3.141592653589793;
+  }
+
+  public class NegativeArraySizeException extends java.lang.RuntimeException {
+    ctor public NegativeArraySizeException();
+    ctor public NegativeArraySizeException(String);
+  }
+
+  public class NoClassDefFoundError extends java.lang.LinkageError {
+    ctor public NoClassDefFoundError();
+    ctor public NoClassDefFoundError(String);
+  }
+
+  public class NoSuchFieldError extends java.lang.IncompatibleClassChangeError {
+    ctor public NoSuchFieldError();
+    ctor public NoSuchFieldError(String);
+  }
+
+  public class NoSuchFieldException extends java.lang.ReflectiveOperationException {
+    ctor public NoSuchFieldException();
+    ctor public NoSuchFieldException(String);
+  }
+
+  public class NoSuchMethodError extends java.lang.IncompatibleClassChangeError {
+    ctor public NoSuchMethodError();
+    ctor public NoSuchMethodError(String);
+  }
+
+  public class NoSuchMethodException extends java.lang.ReflectiveOperationException {
+    ctor public NoSuchMethodException();
+    ctor public NoSuchMethodException(String);
+  }
+
+  public class NullPointerException extends java.lang.RuntimeException {
+    ctor public NullPointerException();
+    ctor public NullPointerException(String);
+  }
+
+  public abstract class Number implements java.io.Serializable {
+    ctor public Number();
+    method public byte byteValue();
+    method public abstract double doubleValue();
+    method public abstract float floatValue();
+    method public abstract int intValue();
+    method public abstract long longValue();
+    method public short shortValue();
+  }
+
+  public class NumberFormatException extends java.lang.IllegalArgumentException {
+    ctor public NumberFormatException();
+    ctor public NumberFormatException(String);
+  }
+
+  public class Object {
+    ctor public Object();
+    method @NonNull protected Object clone() throws java.lang.CloneNotSupportedException;
+    method public boolean equals(@Nullable Object);
+    method protected void finalize() throws java.lang.Throwable;
+    method @NonNull public final Class<?> getClass();
+    method public int hashCode();
+    method public final void notify();
+    method public final void notifyAll();
+    method @NonNull public String toString();
+    method public final void wait(long) throws java.lang.InterruptedException;
+    method public final void wait(long, int) throws java.lang.InterruptedException;
+    method public final void wait() throws java.lang.InterruptedException;
+  }
+
+  public class OutOfMemoryError extends java.lang.VirtualMachineError {
+    ctor public OutOfMemoryError();
+    ctor public OutOfMemoryError(String);
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface Override {
+  }
+
+  public class Package implements java.lang.reflect.AnnotatedElement {
+    method public <A extends java.lang.annotation.Annotation> A getAnnotation(Class<A>);
+    method public java.lang.annotation.Annotation[] getAnnotations();
+    method public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(Class<A>);
+    method public <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation(Class<A>);
+    method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+    method public <A extends java.lang.annotation.Annotation> A[] getDeclaredAnnotationsByType(Class<A>);
+    method public String getImplementationTitle();
+    method public String getImplementationVendor();
+    method public String getImplementationVersion();
+    method public String getName();
+    method public static Package getPackage(String);
+    method public static Package[] getPackages();
+    method public String getSpecificationTitle();
+    method public String getSpecificationVendor();
+    method public String getSpecificationVersion();
+    method public boolean isCompatibleWith(String) throws java.lang.NumberFormatException;
+    method public boolean isSealed();
+    method public boolean isSealed(java.net.URL);
+  }
+
+  public abstract class Process {
+    ctor public Process();
+    method public abstract void destroy();
+    method public Process destroyForcibly();
+    method public abstract int exitValue();
+    method public abstract java.io.InputStream getErrorStream();
+    method public abstract java.io.InputStream getInputStream();
+    method public abstract java.io.OutputStream getOutputStream();
+    method public boolean isAlive();
+    method public abstract int waitFor() throws java.lang.InterruptedException;
+    method public boolean waitFor(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+  }
+
+  public final class ProcessBuilder {
+    ctor public ProcessBuilder(java.util.List<java.lang.String>);
+    ctor public ProcessBuilder(java.lang.String...);
+    method public ProcessBuilder command(java.util.List<java.lang.String>);
+    method public ProcessBuilder command(java.lang.String...);
+    method public java.util.List<java.lang.String> command();
+    method public java.io.File directory();
+    method public ProcessBuilder directory(java.io.File);
+    method public java.util.Map<java.lang.String,java.lang.String> environment();
+    method public ProcessBuilder inheritIO();
+    method public ProcessBuilder redirectError(java.lang.ProcessBuilder.Redirect);
+    method public ProcessBuilder redirectError(java.io.File);
+    method public java.lang.ProcessBuilder.Redirect redirectError();
+    method public boolean redirectErrorStream();
+    method public ProcessBuilder redirectErrorStream(boolean);
+    method public ProcessBuilder redirectInput(java.lang.ProcessBuilder.Redirect);
+    method public ProcessBuilder redirectInput(java.io.File);
+    method public java.lang.ProcessBuilder.Redirect redirectInput();
+    method public ProcessBuilder redirectOutput(java.lang.ProcessBuilder.Redirect);
+    method public ProcessBuilder redirectOutput(java.io.File);
+    method public java.lang.ProcessBuilder.Redirect redirectOutput();
+    method public Process start() throws java.io.IOException;
+  }
+
+  public abstract static class ProcessBuilder.Redirect {
+    method public static java.lang.ProcessBuilder.Redirect appendTo(java.io.File);
+    method public java.io.File file();
+    method public static java.lang.ProcessBuilder.Redirect from(java.io.File);
+    method public static java.lang.ProcessBuilder.Redirect to(java.io.File);
+    method public abstract java.lang.ProcessBuilder.Redirect.Type type();
+    field public static final java.lang.ProcessBuilder.Redirect INHERIT;
+    field public static final java.lang.ProcessBuilder.Redirect PIPE;
+  }
+
+  public enum ProcessBuilder.Redirect.Type {
+    enum_constant public static final java.lang.ProcessBuilder.Redirect.Type APPEND;
+    enum_constant public static final java.lang.ProcessBuilder.Redirect.Type INHERIT;
+    enum_constant public static final java.lang.ProcessBuilder.Redirect.Type PIPE;
+    enum_constant public static final java.lang.ProcessBuilder.Redirect.Type READ;
+    enum_constant public static final java.lang.ProcessBuilder.Redirect.Type WRITE;
+  }
+
+  public interface Readable {
+    method public int read(java.nio.CharBuffer) throws java.io.IOException;
+  }
+
+  public class ReflectiveOperationException extends java.lang.Exception {
+    ctor public ReflectiveOperationException();
+    ctor public ReflectiveOperationException(String);
+    ctor public ReflectiveOperationException(String, Throwable);
+    ctor public ReflectiveOperationException(Throwable);
+  }
+
+  @java.lang.FunctionalInterface public interface Runnable {
+    method public void run();
+  }
+
+  public class Runtime {
+    method public void addShutdownHook(Thread);
+    method public int availableProcessors();
+    method public Process exec(String) throws java.io.IOException;
+    method public Process exec(String, String[]) throws java.io.IOException;
+    method public Process exec(String, String[], java.io.File) throws java.io.IOException;
+    method public Process exec(String[]) throws java.io.IOException;
+    method public Process exec(String[], String[]) throws java.io.IOException;
+    method public Process exec(String[], String[], java.io.File) throws java.io.IOException;
+    method public void exit(int);
+    method public long freeMemory();
+    method public void gc();
+    method @Deprecated public java.io.InputStream getLocalizedInputStream(java.io.InputStream);
+    method @Deprecated public java.io.OutputStream getLocalizedOutputStream(java.io.OutputStream);
+    method public static Runtime getRuntime();
+    method public void halt(int);
+    method public void load(String);
+    method public void loadLibrary(String);
+    method public long maxMemory();
+    method public boolean removeShutdownHook(Thread);
+    method public void runFinalization();
+    method @Deprecated public static void runFinalizersOnExit(boolean);
+    method public long totalMemory();
+    method public void traceInstructions(boolean);
+    method public void traceMethodCalls(boolean);
+  }
+
+  public class RuntimeException extends java.lang.Exception {
+    ctor public RuntimeException();
+    ctor public RuntimeException(String);
+    ctor public RuntimeException(String, Throwable);
+    ctor public RuntimeException(Throwable);
+    ctor protected RuntimeException(String, Throwable, boolean, boolean);
+  }
+
+  public final class RuntimePermission extends java.security.BasicPermission {
+    ctor public RuntimePermission(String);
+    ctor public RuntimePermission(String, String);
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.METHOD}) public @interface SafeVarargs {
+  }
+
+  public class SecurityException extends java.lang.RuntimeException {
+    ctor public SecurityException();
+    ctor public SecurityException(String);
+    ctor public SecurityException(String, Throwable);
+    ctor public SecurityException(Throwable);
+  }
+
+  public class SecurityManager {
+    ctor public SecurityManager();
+    method public void checkAccept(String, int);
+    method public void checkAccess(Thread);
+    method public void checkAccess(ThreadGroup);
+    method public void checkAwtEventQueueAccess();
+    method public void checkConnect(String, int);
+    method public void checkConnect(String, int, Object);
+    method public void checkCreateClassLoader();
+    method public void checkDelete(String);
+    method public void checkExec(String);
+    method public void checkExit(int);
+    method public void checkLink(String);
+    method public void checkListen(int);
+    method public void checkMemberAccess(Class<?>, int);
+    method public void checkMulticast(java.net.InetAddress);
+    method @Deprecated public void checkMulticast(java.net.InetAddress, byte);
+    method public void checkPackageAccess(String);
+    method public void checkPackageDefinition(String);
+    method public void checkPermission(java.security.Permission);
+    method public void checkPermission(java.security.Permission, Object);
+    method public void checkPrintJobAccess();
+    method public void checkPropertiesAccess();
+    method public void checkPropertyAccess(String);
+    method public void checkRead(java.io.FileDescriptor);
+    method public void checkRead(String);
+    method public void checkRead(String, Object);
+    method public void checkSecurityAccess(String);
+    method public void checkSetFactory();
+    method public void checkSystemClipboardAccess();
+    method public boolean checkTopLevelWindow(Object);
+    method public void checkWrite(java.io.FileDescriptor);
+    method public void checkWrite(String);
+    method @Deprecated protected int classDepth(String);
+    method @Deprecated protected int classLoaderDepth();
+    method @Deprecated protected ClassLoader currentClassLoader();
+    method @Deprecated protected Class<?> currentLoadedClass();
+    method protected Class[] getClassContext();
+    method @Deprecated public boolean getInCheck();
+    method public Object getSecurityContext();
+    method public ThreadGroup getThreadGroup();
+    method @Deprecated protected boolean inClass(String);
+    method @Deprecated protected boolean inClassLoader();
+    field @Deprecated protected boolean inCheck;
+  }
+
+  public final class Short extends java.lang.Number implements java.lang.Comparable<java.lang.Short> {
+    ctor @Deprecated public Short(short);
+    ctor @Deprecated public Short(String) throws java.lang.NumberFormatException;
+    method public static int compare(short, short);
+    method public int compareTo(Short);
+    method public static int compareUnsigned(short, short);
+    method public static Short decode(String) throws java.lang.NumberFormatException;
+    method public double doubleValue();
+    method public float floatValue();
+    method public static int hashCode(short);
+    method public int intValue();
+    method public long longValue();
+    method public static short parseShort(String, int) throws java.lang.NumberFormatException;
+    method public static short parseShort(String) throws java.lang.NumberFormatException;
+    method public static short reverseBytes(short);
+    method public static String toString(short);
+    method public static int toUnsignedInt(short);
+    method public static long toUnsignedLong(short);
+    method public static Short valueOf(String, int) throws java.lang.NumberFormatException;
+    method public static Short valueOf(String) throws java.lang.NumberFormatException;
+    method public static Short valueOf(short);
+    field public static final int BYTES = 2; // 0x2
+    field public static final short MAX_VALUE = 32767; // 0x7fff
+    field public static final short MIN_VALUE = -32768; // 0xffff8000
+    field public static final int SIZE = 16; // 0x10
+    field public static final Class<java.lang.Short> TYPE;
+  }
+
+  public class StackOverflowError extends java.lang.VirtualMachineError {
+    ctor public StackOverflowError();
+    ctor public StackOverflowError(String);
+  }
+
+  public final class StackTraceElement implements java.io.Serializable {
+    ctor public StackTraceElement(String, String, String, int);
+    method public String getClassName();
+    method public String getFileName();
+    method public int getLineNumber();
+    method public String getMethodName();
+    method public boolean isNativeMethod();
+  }
+
+  public final class StrictMath {
+    method public static double IEEEremainder(double, double);
+    method public static int abs(int);
+    method public static long abs(long);
+    method public static float abs(float);
+    method public static double abs(double);
+    method public static double acos(double);
+    method public static int addExact(int, int);
+    method public static long addExact(long, long);
+    method public static double asin(double);
+    method public static double atan(double);
+    method public static double atan2(double, double);
+    method public static double cbrt(double);
+    method public static double ceil(double);
+    method public static double copySign(double, double);
+    method public static float copySign(float, float);
+    method public static double cos(double);
+    method public static double cosh(double);
+    method public static double exp(double);
+    method public static double expm1(double);
+    method public static double floor(double);
+    method public static int floorDiv(int, int);
+    method public static long floorDiv(long, int);
+    method public static long floorDiv(long, long);
+    method public static int floorMod(int, int);
+    method public static int floorMod(long, int);
+    method public static long floorMod(long, long);
+    method public static int getExponent(float);
+    method public static int getExponent(double);
+    method public static double hypot(double, double);
+    method public static double log(double);
+    method public static double log10(double);
+    method public static double log1p(double);
+    method public static int max(int, int);
+    method public static long max(long, long);
+    method public static float max(float, float);
+    method public static double max(double, double);
+    method public static int min(int, int);
+    method public static long min(long, long);
+    method public static float min(float, float);
+    method public static double min(double, double);
+    method public static int multiplyExact(int, int);
+    method public static long multiplyExact(long, int);
+    method public static long multiplyExact(long, long);
+    method public static long multiplyFull(int, int);
+    method public static long multiplyHigh(long, long);
+    method public static double nextAfter(double, double);
+    method public static float nextAfter(float, double);
+    method public static double nextDown(double);
+    method public static float nextDown(float);
+    method public static double nextUp(double);
+    method public static float nextUp(float);
+    method public static double pow(double, double);
+    method public static double random();
+    method public static double rint(double);
+    method public static int round(float);
+    method public static long round(double);
+    method public static double scalb(double, int);
+    method public static float scalb(float, int);
+    method public static double signum(double);
+    method public static float signum(float);
+    method public static double sin(double);
+    method public static double sinh(double);
+    method public static double sqrt(double);
+    method public static int subtractExact(int, int);
+    method public static long subtractExact(long, long);
+    method public static double tan(double);
+    method public static double tanh(double);
+    method public static double toDegrees(double);
+    method public static int toIntExact(long);
+    method public static double toRadians(double);
+    method public static double ulp(double);
+    method public static float ulp(float);
+    field public static final double E = 2.718281828459045;
+    field public static final double PI = 3.141592653589793;
+  }
+
+  public final class String implements java.lang.CharSequence java.lang.Comparable<java.lang.String> java.io.Serializable {
+    ctor public String();
+    ctor public String(@NonNull String);
+    ctor public String(char[]);
+    ctor public String(char[], int, int);
+    ctor public String(int[], int, int);
+    ctor @Deprecated public String(byte[], int, int, int);
+    ctor @Deprecated public String(byte[], int);
+    ctor public String(byte[], int, int, @NonNull String) throws java.io.UnsupportedEncodingException;
+    ctor public String(byte[], int, int, @NonNull java.nio.charset.Charset);
+    ctor public String(byte[], @NonNull String) throws java.io.UnsupportedEncodingException;
+    ctor public String(byte[], @NonNull java.nio.charset.Charset);
+    ctor public String(byte[], int, int);
+    ctor public String(byte[]);
+    ctor public String(@NonNull StringBuffer);
+    ctor public String(@NonNull StringBuilder);
+    method public char charAt(int);
+    method public int codePointAt(int);
+    method public int codePointBefore(int);
+    method public int codePointCount(int, int);
+    method public int compareTo(@NonNull String);
+    method public int compareToIgnoreCase(@NonNull String);
+    method @NonNull public String concat(@NonNull String);
+    method public boolean contains(@NonNull CharSequence);
+    method public boolean contentEquals(@NonNull StringBuffer);
+    method public boolean contentEquals(@NonNull CharSequence);
+    method @NonNull public static String copyValueOf(char[], int, int);
+    method @NonNull public static String copyValueOf(char[]);
+    method public boolean endsWith(@NonNull String);
+    method public boolean equalsIgnoreCase(@Nullable String);
+    method @NonNull public static String format(@NonNull String, @NonNull java.lang.Object...);
+    method @NonNull public static String format(@NonNull java.util.Locale, @NonNull String, @NonNull java.lang.Object...);
+    method @Deprecated public void getBytes(int, int, byte[], int);
+    method public byte[] getBytes(@NonNull String) throws java.io.UnsupportedEncodingException;
+    method public byte[] getBytes(@NonNull java.nio.charset.Charset);
+    method public byte[] getBytes();
+    method public void getChars(int, int, char[], int);
+    method public int indexOf(int);
+    method public int indexOf(int, int);
+    method public int indexOf(@NonNull String);
+    method public int indexOf(@NonNull String, int);
+    method @NonNull public String intern();
+    method public boolean isEmpty();
+    method @NonNull public static String join(@NonNull CharSequence, @Nullable java.lang.CharSequence...);
+    method @NonNull public static String join(@NonNull CharSequence, @NonNull Iterable<? extends java.lang.CharSequence>);
+    method public int lastIndexOf(int);
+    method public int lastIndexOf(int, int);
+    method public int lastIndexOf(@NonNull String);
+    method public int lastIndexOf(@NonNull String, int);
+    method public int length();
+    method public boolean matches(@NonNull String);
+    method public int offsetByCodePoints(int, int);
+    method public boolean regionMatches(int, @NonNull String, int, int);
+    method public boolean regionMatches(boolean, int, @NonNull String, int, int);
+    method @NonNull public String replace(char, char);
+    method @NonNull public String replace(@NonNull CharSequence, @NonNull CharSequence);
+    method @NonNull public String replaceAll(@NonNull String, @NonNull String);
+    method @NonNull public String replaceFirst(@NonNull String, @NonNull String);
+    method @NonNull public String[] split(@NonNull String, int);
+    method @NonNull public String[] split(@NonNull String);
+    method public boolean startsWith(@NonNull String, int);
+    method public boolean startsWith(@NonNull String);
+    method @NonNull public CharSequence subSequence(int, int);
+    method @NonNull public String substring(int);
+    method @NonNull public String substring(int, int);
+    method public char[] toCharArray();
+    method @NonNull public String toLowerCase(@NonNull java.util.Locale);
+    method @NonNull public String toLowerCase();
+    method @NonNull public String toUpperCase(@NonNull java.util.Locale);
+    method @NonNull public String toUpperCase();
+    method @NonNull public String trim();
+    method @NonNull public static String valueOf(@Nullable Object);
+    method @NonNull public static String valueOf(char[]);
+    method @NonNull public static String valueOf(char[], int, int);
+    method @NonNull public static String valueOf(boolean);
+    method @NonNull public static String valueOf(char);
+    method @NonNull public static String valueOf(int);
+    method @NonNull public static String valueOf(long);
+    method @NonNull public static String valueOf(float);
+    method @NonNull public static String valueOf(double);
+    field public static final java.util.Comparator<java.lang.String> CASE_INSENSITIVE_ORDER;
+  }
+
+  public final class StringBuffer implements java.lang.Appendable java.lang.CharSequence java.io.Serializable {
+    ctor public StringBuffer();
+    ctor public StringBuffer(int);
+    ctor public StringBuffer(@NonNull String);
+    ctor public StringBuffer(@NonNull CharSequence);
+    method @NonNull public StringBuffer append(@Nullable Object);
+    method @NonNull public StringBuffer append(@Nullable String);
+    method @NonNull public StringBuffer append(@Nullable StringBuffer);
+    method @NonNull public StringBuffer append(@Nullable CharSequence);
+    method @NonNull public StringBuffer append(@Nullable CharSequence, int, int);
+    method @NonNull public StringBuffer append(char[]);
+    method @NonNull public StringBuffer append(char[], int, int);
+    method @NonNull public StringBuffer append(boolean);
+    method @NonNull public StringBuffer append(char);
+    method @NonNull public StringBuffer append(int);
+    method @NonNull public StringBuffer append(long);
+    method @NonNull public StringBuffer append(float);
+    method @NonNull public StringBuffer append(double);
+    method @NonNull public StringBuffer appendCodePoint(int);
+    method public int capacity();
+    method public char charAt(int);
+    method public int codePointAt(int);
+    method public int codePointBefore(int);
+    method public int codePointCount(int, int);
+    method @NonNull public StringBuffer delete(int, int);
+    method @NonNull public StringBuffer deleteCharAt(int);
+    method public void ensureCapacity(int);
+    method public void getChars(int, int, char[], int);
+    method public int indexOf(@NonNull String);
+    method public int indexOf(@NonNull String, int);
+    method @NonNull public StringBuffer insert(int, char[], int, int);
+    method @NonNull public StringBuffer insert(int, @Nullable Object);
+    method @NonNull public StringBuffer insert(int, @Nullable String);
+    method @NonNull public StringBuffer insert(int, char[]);
+    method @NonNull public StringBuffer insert(int, @Nullable CharSequence);
+    method @NonNull public StringBuffer insert(int, @Nullable CharSequence, int, int);
+    method @NonNull public StringBuffer insert(int, boolean);
+    method @NonNull public StringBuffer insert(int, char);
+    method @NonNull public StringBuffer insert(int, int);
+    method @NonNull public StringBuffer insert(int, long);
+    method @NonNull public StringBuffer insert(int, float);
+    method @NonNull public StringBuffer insert(int, double);
+    method public int lastIndexOf(@NonNull String);
+    method public int lastIndexOf(@NonNull String, int);
+    method public int length();
+    method public int offsetByCodePoints(int, int);
+    method @NonNull public StringBuffer replace(int, int, @NonNull String);
+    method @NonNull public StringBuffer reverse();
+    method public void setCharAt(int, char);
+    method public void setLength(int);
+    method @NonNull public CharSequence subSequence(int, int);
+    method @NonNull public String substring(int);
+    method @NonNull public String substring(int, int);
+    method public void trimToSize();
+  }
+
+  public final class StringBuilder implements java.lang.Appendable java.lang.CharSequence java.io.Serializable {
+    ctor public StringBuilder();
+    ctor public StringBuilder(int);
+    ctor public StringBuilder(@NonNull String);
+    ctor public StringBuilder(@NonNull CharSequence);
+    method @NonNull public StringBuilder append(@Nullable Object);
+    method @NonNull public StringBuilder append(@Nullable String);
+    method @NonNull public StringBuilder append(@Nullable StringBuffer);
+    method @NonNull public StringBuilder append(@Nullable CharSequence);
+    method @NonNull public StringBuilder append(@Nullable CharSequence, int, int);
+    method @NonNull public StringBuilder append(char[]);
+    method @NonNull public StringBuilder append(char[], int, int);
+    method @NonNull public StringBuilder append(boolean);
+    method @NonNull public StringBuilder append(char);
+    method @NonNull public StringBuilder append(int);
+    method @NonNull public StringBuilder append(long);
+    method @NonNull public StringBuilder append(float);
+    method @NonNull public StringBuilder append(double);
+    method @NonNull public StringBuilder appendCodePoint(int);
+    method public int capacity();
+    method public char charAt(int);
+    method public int codePointAt(int);
+    method public int codePointBefore(int);
+    method public int codePointCount(int, int);
+    method @NonNull public StringBuilder delete(int, int);
+    method @NonNull public StringBuilder deleteCharAt(int);
+    method public void ensureCapacity(int);
+    method public void getChars(int, int, char[], int);
+    method public int indexOf(@NonNull String);
+    method public int indexOf(@NonNull String, int);
+    method @NonNull public StringBuilder insert(int, char[], int, int);
+    method @NonNull public StringBuilder insert(int, @Nullable Object);
+    method @NonNull public StringBuilder insert(int, @Nullable String);
+    method @NonNull public StringBuilder insert(int, char[]);
+    method @NonNull public StringBuilder insert(int, @Nullable CharSequence);
+    method @NonNull public StringBuilder insert(int, @Nullable CharSequence, int, int);
+    method @NonNull public StringBuilder insert(int, boolean);
+    method @NonNull public StringBuilder insert(int, char);
+    method @NonNull public StringBuilder insert(int, int);
+    method @NonNull public StringBuilder insert(int, long);
+    method @NonNull public StringBuilder insert(int, float);
+    method @NonNull public StringBuilder insert(int, double);
+    method public int lastIndexOf(@NonNull String);
+    method public int lastIndexOf(@NonNull String, int);
+    method public int length();
+    method public int offsetByCodePoints(int, int);
+    method @NonNull public StringBuilder replace(int, int, @NonNull String);
+    method @NonNull public StringBuilder reverse();
+    method public void setCharAt(int, char);
+    method public void setLength(int);
+    method @NonNull public CharSequence subSequence(int, int);
+    method @NonNull public String substring(int);
+    method @NonNull public String substring(int, int);
+    method public void trimToSize();
+  }
+
+  public class StringIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
+    ctor public StringIndexOutOfBoundsException();
+    ctor public StringIndexOutOfBoundsException(String);
+    ctor public StringIndexOutOfBoundsException(int);
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.LOCAL_VARIABLE}) public @interface SuppressWarnings {
+    method public abstract String[] value();
+  }
+
+  public final class System {
+    method public static void arraycopy(@NonNull Object, int, @NonNull Object, int, int);
+    method @Nullable public static String clearProperty(@NonNull String);
+    method @Nullable public static java.io.Console console();
+    method public static long currentTimeMillis();
+    method public static void exit(int);
+    method public static void gc();
+    method @NonNull public static java.util.Properties getProperties();
+    method @Nullable public static String getProperty(@NonNull String);
+    method @Nullable public static String getProperty(@NonNull String, @Nullable String);
+    method @Nullable public static SecurityManager getSecurityManager();
+    method @Nullable public static String getenv(@NonNull String);
+    method @NonNull public static java.util.Map<java.lang.String,java.lang.String> getenv();
+    method public static int identityHashCode(@Nullable Object);
+    method @Nullable public static java.nio.channels.Channel inheritedChannel() throws java.io.IOException;
+    method @NonNull public static String lineSeparator();
+    method public static void load(@NonNull String);
+    method public static void loadLibrary(@NonNull String);
+    method @NonNull public static String mapLibraryName(@NonNull String);
+    method public static long nanoTime();
+    method public static void runFinalization();
+    method @Deprecated public static void runFinalizersOnExit(boolean);
+    method public static void setErr(@Nullable java.io.PrintStream);
+    method public static void setIn(@Nullable java.io.InputStream);
+    method public static void setOut(@Nullable java.io.PrintStream);
+    method public static void setProperties(@Nullable java.util.Properties);
+    method @Nullable public static String setProperty(@NonNull String, @Nullable String);
+    method public static void setSecurityManager(@Nullable SecurityManager);
+    field public static final java.io.PrintStream err;
+    field public static final java.io.InputStream in;
+    field public static final java.io.PrintStream out;
+  }
+
+  public class Thread implements java.lang.Runnable {
+    ctor public Thread();
+    ctor public Thread(@Nullable Runnable);
+    ctor public Thread(@Nullable ThreadGroup, @Nullable Runnable);
+    ctor public Thread(@NonNull String);
+    ctor public Thread(@Nullable ThreadGroup, @NonNull String);
+    ctor public Thread(@Nullable Runnable, @NonNull String);
+    ctor public Thread(@Nullable ThreadGroup, @Nullable Runnable, @NonNull String);
+    ctor public Thread(@Nullable ThreadGroup, @Nullable Runnable, @NonNull String, long);
+    method public static int activeCount();
+    method public final void checkAccess();
+    method @Deprecated public int countStackFrames();
+    method @NonNull public static Thread currentThread();
+    method @Deprecated public void destroy();
+    method public static void dumpStack();
+    method public static int enumerate(Thread[]);
+    method @NonNull public static java.util.Map<java.lang.Thread,java.lang.StackTraceElement[]> getAllStackTraces();
+    method @Nullable public ClassLoader getContextClassLoader();
+    method @Nullable public static java.lang.Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler();
+    method public long getId();
+    method @NonNull public final String getName();
+    method public final int getPriority();
+    method @NonNull public StackTraceElement[] getStackTrace();
+    method @NonNull public java.lang.Thread.State getState();
+    method @Nullable public final ThreadGroup getThreadGroup();
+    method @Nullable public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler();
+    method public static boolean holdsLock(@NonNull Object);
+    method public void interrupt();
+    method public static boolean interrupted();
+    method public final boolean isAlive();
+    method public final boolean isDaemon();
+    method public boolean isInterrupted();
+    method public final void join(long) throws java.lang.InterruptedException;
+    method public final void join(long, int) throws java.lang.InterruptedException;
+    method public final void join() throws java.lang.InterruptedException;
+    method @Deprecated public final void resume();
+    method public void run();
+    method public void setContextClassLoader(@Nullable ClassLoader);
+    method public final void setDaemon(boolean);
+    method public static void setDefaultUncaughtExceptionHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler);
+    method public final void setName(@NonNull String);
+    method public final void setPriority(int);
+    method public void setUncaughtExceptionHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler);
+    method public static void sleep(long) throws java.lang.InterruptedException;
+    method public static void sleep(long, int) throws java.lang.InterruptedException;
+    method public void start();
+    method @Deprecated public final void stop();
+    method @Deprecated public final void stop(@Nullable Throwable);
+    method @Deprecated public final void suspend();
+    method public static void yield();
+    field public static final int MAX_PRIORITY = 10; // 0xa
+    field public static final int MIN_PRIORITY = 1; // 0x1
+    field public static final int NORM_PRIORITY = 5; // 0x5
+  }
+
+  public enum Thread.State {
+    enum_constant public static final java.lang.Thread.State BLOCKED;
+    enum_constant public static final java.lang.Thread.State NEW;
+    enum_constant public static final java.lang.Thread.State RUNNABLE;
+    enum_constant public static final java.lang.Thread.State TERMINATED;
+    enum_constant public static final java.lang.Thread.State TIMED_WAITING;
+    enum_constant public static final java.lang.Thread.State WAITING;
+  }
+
+  @java.lang.FunctionalInterface public static interface Thread.UncaughtExceptionHandler {
+    method public void uncaughtException(@NonNull Thread, @NonNull Throwable);
+  }
+
+  public class ThreadDeath extends java.lang.Error {
+    ctor public ThreadDeath();
+  }
+
+  public class ThreadGroup implements java.lang.Thread.UncaughtExceptionHandler {
+    ctor public ThreadGroup(String);
+    ctor public ThreadGroup(ThreadGroup, String);
+    method public int activeCount();
+    method public int activeGroupCount();
+    method @Deprecated public boolean allowThreadSuspension(boolean);
+    method public final void checkAccess();
+    method public final void destroy();
+    method public int enumerate(Thread[]);
+    method public int enumerate(Thread[], boolean);
+    method public int enumerate(ThreadGroup[]);
+    method public int enumerate(ThreadGroup[], boolean);
+    method public final int getMaxPriority();
+    method public final String getName();
+    method public final ThreadGroup getParent();
+    method public final void interrupt();
+    method public final boolean isDaemon();
+    method public boolean isDestroyed();
+    method public void list();
+    method public final boolean parentOf(ThreadGroup);
+    method @Deprecated public final void resume();
+    method public final void setDaemon(boolean);
+    method public final void setMaxPriority(int);
+    method @Deprecated public final void stop();
+    method @Deprecated public final void suspend();
+    method public void uncaughtException(Thread, Throwable);
+  }
+
+  public class ThreadLocal<T> {
+    ctor public ThreadLocal();
+    method @Nullable public T get();
+    method @Nullable protected T initialValue();
+    method public void remove();
+    method public void set(T);
+    method @NonNull public static <S> ThreadLocal<S> withInitial(@NonNull java.util.function.Supplier<? extends S>);
+  }
+
+  public class Throwable implements java.io.Serializable {
+    ctor public Throwable();
+    ctor public Throwable(@Nullable String);
+    ctor public Throwable(@Nullable String, @Nullable Throwable);
+    ctor public Throwable(@Nullable Throwable);
+    ctor protected Throwable(@Nullable String, @Nullable Throwable, boolean, boolean);
+    method public final void addSuppressed(@NonNull Throwable);
+    method @NonNull public Throwable fillInStackTrace();
+    method @Nullable public Throwable getCause();
+    method @Nullable public String getLocalizedMessage();
+    method @Nullable public String getMessage();
+    method @NonNull public StackTraceElement[] getStackTrace();
+    method @NonNull public final Throwable[] getSuppressed();
+    method @NonNull public Throwable initCause(@Nullable Throwable);
+    method public void printStackTrace();
+    method public void printStackTrace(@NonNull java.io.PrintStream);
+    method public void printStackTrace(@NonNull java.io.PrintWriter);
+    method public void setStackTrace(@NonNull StackTraceElement[]);
+  }
+
+  public class TypeNotPresentException extends java.lang.RuntimeException {
+    ctor public TypeNotPresentException(String, Throwable);
+    method public String typeName();
+  }
+
+  public class UnknownError extends java.lang.VirtualMachineError {
+    ctor public UnknownError();
+    ctor public UnknownError(String);
+  }
+
+  public class UnsatisfiedLinkError extends java.lang.LinkageError {
+    ctor public UnsatisfiedLinkError();
+    ctor public UnsatisfiedLinkError(String);
+  }
+
+  public class UnsupportedClassVersionError extends java.lang.ClassFormatError {
+    ctor public UnsupportedClassVersionError();
+    ctor public UnsupportedClassVersionError(String);
+  }
+
+  public class UnsupportedOperationException extends java.lang.RuntimeException {
+    ctor public UnsupportedOperationException();
+    ctor public UnsupportedOperationException(String);
+    ctor public UnsupportedOperationException(String, Throwable);
+    ctor public UnsupportedOperationException(Throwable);
+  }
+
+  public class VerifyError extends java.lang.LinkageError {
+    ctor public VerifyError();
+    ctor public VerifyError(String);
+  }
+
+  public abstract class VirtualMachineError extends java.lang.Error {
+    ctor public VirtualMachineError();
+    ctor public VirtualMachineError(String);
+    ctor public VirtualMachineError(String, Throwable);
+    ctor public VirtualMachineError(Throwable);
+  }
+
+  public final class Void {
+    field public static final Class<java.lang.Void> TYPE;
+  }
+
+}
+
+package java.lang.annotation {
+
+  public interface Annotation {
+    method public Class<? extends java.lang.annotation.Annotation> annotationType();
+    method public boolean equals(Object);
+    method public int hashCode();
+    method public String toString();
+  }
+
+  public class AnnotationFormatError extends java.lang.Error {
+    ctor public AnnotationFormatError(String);
+    ctor public AnnotationFormatError(String, Throwable);
+    ctor public AnnotationFormatError(Throwable);
+  }
+
+  public class AnnotationTypeMismatchException extends java.lang.RuntimeException {
+    ctor public AnnotationTypeMismatchException(java.lang.reflect.Method, String);
+    method public java.lang.reflect.Method element();
+    method public String foundType();
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Documented {
+  }
+
+  public enum ElementType {
+    enum_constant public static final java.lang.annotation.ElementType ANNOTATION_TYPE;
+    enum_constant public static final java.lang.annotation.ElementType CONSTRUCTOR;
+    enum_constant public static final java.lang.annotation.ElementType FIELD;
+    enum_constant public static final java.lang.annotation.ElementType LOCAL_VARIABLE;
+    enum_constant public static final java.lang.annotation.ElementType METHOD;
+    enum_constant public static final java.lang.annotation.ElementType MODULE;
+    enum_constant public static final java.lang.annotation.ElementType PACKAGE;
+    enum_constant public static final java.lang.annotation.ElementType PARAMETER;
+    enum_constant public static final java.lang.annotation.ElementType TYPE;
+    enum_constant public static final java.lang.annotation.ElementType TYPE_PARAMETER;
+    enum_constant public static final java.lang.annotation.ElementType TYPE_USE;
+  }
+
+  public class IncompleteAnnotationException extends java.lang.RuntimeException {
+    ctor public IncompleteAnnotationException(Class<? extends java.lang.annotation.Annotation>, String);
+    method public Class<? extends java.lang.annotation.Annotation> annotationType();
+    method public String elementName();
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Inherited {
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.FIELD) public @interface Native {
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Repeatable {
+    method public abstract Class<? extends java.lang.annotation.Annotation> value();
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Retention {
+    method public abstract java.lang.annotation.RetentionPolicy value();
+  }
+
+  public enum RetentionPolicy {
+    enum_constant public static final java.lang.annotation.RetentionPolicy CLASS;
+    enum_constant public static final java.lang.annotation.RetentionPolicy RUNTIME;
+    enum_constant public static final java.lang.annotation.RetentionPolicy SOURCE;
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Target {
+    method public abstract java.lang.annotation.ElementType[] value();
+  }
+
+}
+
+package java.lang.invoke {
+
+  public abstract class CallSite {
+    method public abstract java.lang.invoke.MethodHandle dynamicInvoker();
+    method public abstract java.lang.invoke.MethodHandle getTarget();
+    method public abstract void setTarget(java.lang.invoke.MethodHandle);
+    method public java.lang.invoke.MethodType type();
+  }
+
+  public class ConstantCallSite extends java.lang.invoke.CallSite {
+    ctor public ConstantCallSite(java.lang.invoke.MethodHandle);
+    ctor protected ConstantCallSite(java.lang.invoke.MethodType, java.lang.invoke.MethodHandle) throws java.lang.Throwable;
+    method public final java.lang.invoke.MethodHandle dynamicInvoker();
+    method public final java.lang.invoke.MethodHandle getTarget();
+    method public final void setTarget(java.lang.invoke.MethodHandle);
+  }
+
+  public class LambdaConversionException extends java.lang.Exception {
+    ctor public LambdaConversionException();
+    ctor public LambdaConversionException(String);
+    ctor public LambdaConversionException(String, Throwable);
+    ctor public LambdaConversionException(Throwable);
+    ctor public LambdaConversionException(String, Throwable, boolean, boolean);
+  }
+
+  public abstract class MethodHandle {
+    method public java.lang.invoke.MethodHandle asCollector(Class<?>, int);
+    method public java.lang.invoke.MethodHandle asFixedArity();
+    method public java.lang.invoke.MethodHandle asSpreader(Class<?>, int);
+    method public java.lang.invoke.MethodHandle asType(java.lang.invoke.MethodType);
+    method public java.lang.invoke.MethodHandle asVarargsCollector(Class<?>);
+    method public java.lang.invoke.MethodHandle bindTo(Object);
+    method public final Object invoke(java.lang.Object...) throws java.lang.Throwable;
+    method public final Object invokeExact(java.lang.Object...) throws java.lang.Throwable;
+    method public Object invokeWithArguments(java.lang.Object...) throws java.lang.Throwable;
+    method public Object invokeWithArguments(java.util.List<?>) throws java.lang.Throwable;
+    method public boolean isVarargsCollector();
+    method public java.lang.invoke.MethodType type();
+  }
+
+  public interface MethodHandleInfo {
+    method public Class<?> getDeclaringClass();
+    method public java.lang.invoke.MethodType getMethodType();
+    method public int getModifiers();
+    method public String getName();
+    method public int getReferenceKind();
+    method public default boolean isVarArgs();
+    method @Deprecated public static boolean refKindIsField(int);
+    method @Deprecated public static boolean refKindIsValid(int);
+    method @Deprecated public static String refKindName(int);
+    method public static String referenceKindToString(int);
+    method public <T extends java.lang.reflect.Member> T reflectAs(Class<T>, java.lang.invoke.MethodHandles.Lookup);
+    method public static String toString(int, Class<?>, String, java.lang.invoke.MethodType);
+    field public static final int REF_getField = 1; // 0x1
+    field public static final int REF_getStatic = 2; // 0x2
+    field public static final int REF_invokeInterface = 9; // 0x9
+    field public static final int REF_invokeSpecial = 7; // 0x7
+    field public static final int REF_invokeStatic = 6; // 0x6
+    field public static final int REF_invokeVirtual = 5; // 0x5
+    field public static final int REF_newInvokeSpecial = 8; // 0x8
+    field public static final int REF_putField = 3; // 0x3
+    field public static final int REF_putStatic = 4; // 0x4
+  }
+
+  public class MethodHandles {
+    method public static java.lang.invoke.MethodHandle arrayElementGetter(Class<?>) throws java.lang.IllegalArgumentException;
+    method public static java.lang.invoke.MethodHandle arrayElementSetter(Class<?>) throws java.lang.IllegalArgumentException;
+    method public static java.lang.invoke.MethodHandle catchException(java.lang.invoke.MethodHandle, Class<? extends java.lang.Throwable>, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle collectArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle constant(Class<?>, Object);
+    method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>);
+    method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, Class<?>...);
+    method public static java.lang.invoke.MethodHandle exactInvoker(java.lang.invoke.MethodType);
+    method public static java.lang.invoke.MethodHandle explicitCastArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType);
+    method public static java.lang.invoke.MethodHandle filterArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle...);
+    method public static java.lang.invoke.MethodHandle filterReturnValue(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle foldArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle guardWithTest(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle identity(Class<?>);
+    method public static java.lang.invoke.MethodHandle insertArguments(java.lang.invoke.MethodHandle, int, java.lang.Object...);
+    method public static java.lang.invoke.MethodHandle invoker(java.lang.invoke.MethodType);
+    method public static java.lang.invoke.MethodHandles.Lookup lookup();
+    method public static java.lang.invoke.MethodHandle permuteArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, int...);
+    method public static java.lang.invoke.MethodHandles.Lookup publicLookup();
+    method public static <T extends java.lang.reflect.Member> T reflectAs(Class<T>, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle spreadInvoker(java.lang.invoke.MethodType, int);
+    method public static java.lang.invoke.MethodHandle throwException(Class<?>, Class<? extends java.lang.Throwable>);
+  }
+
+  public static final class MethodHandles.Lookup {
+    method public java.lang.invoke.MethodHandle bind(Object, String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException;
+    method public java.lang.invoke.MethodHandle findConstructor(Class<?>, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException;
+    method public java.lang.invoke.MethodHandle findGetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException;
+    method public java.lang.invoke.MethodHandle findSetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException;
+    method public java.lang.invoke.MethodHandle findSpecial(Class<?>, String, java.lang.invoke.MethodType, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException;
+    method public java.lang.invoke.MethodHandle findStatic(Class<?>, String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException;
+    method public java.lang.invoke.MethodHandle findStaticGetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException;
+    method public java.lang.invoke.MethodHandle findStaticSetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException;
+    method public java.lang.invoke.MethodHandle findVirtual(Class<?>, String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException;
+    method public java.lang.invoke.MethodHandles.Lookup in(Class<?>);
+    method public Class<?> lookupClass();
+    method public int lookupModes();
+    method public java.lang.invoke.MethodHandleInfo revealDirect(java.lang.invoke.MethodHandle);
+    method public java.lang.invoke.MethodHandle unreflect(java.lang.reflect.Method) throws java.lang.IllegalAccessException;
+    method public java.lang.invoke.MethodHandle unreflectConstructor(java.lang.reflect.Constructor<?>) throws java.lang.IllegalAccessException;
+    method public java.lang.invoke.MethodHandle unreflectGetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException;
+    method public java.lang.invoke.MethodHandle unreflectSetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException;
+    method public java.lang.invoke.MethodHandle unreflectSpecial(java.lang.reflect.Method, Class<?>) throws java.lang.IllegalAccessException;
+    field public static final int PACKAGE = 8; // 0x8
+    field public static final int PRIVATE = 2; // 0x2
+    field public static final int PROTECTED = 4; // 0x4
+    field public static final int PUBLIC = 1; // 0x1
+  }
+
+  public final class MethodType implements java.io.Serializable {
+    method public java.lang.invoke.MethodType appendParameterTypes(Class<?>...);
+    method public java.lang.invoke.MethodType appendParameterTypes(java.util.List<java.lang.Class<?>>);
+    method public java.lang.invoke.MethodType changeParameterType(int, Class<?>);
+    method public java.lang.invoke.MethodType changeReturnType(Class<?>);
+    method public java.lang.invoke.MethodType dropParameterTypes(int, int);
+    method public java.lang.invoke.MethodType erase();
+    method public static java.lang.invoke.MethodType fromMethodDescriptorString(String, ClassLoader) throws java.lang.IllegalArgumentException, java.lang.TypeNotPresentException;
+    method public java.lang.invoke.MethodType generic();
+    method public static java.lang.invoke.MethodType genericMethodType(int, boolean);
+    method public static java.lang.invoke.MethodType genericMethodType(int);
+    method public boolean hasPrimitives();
+    method public boolean hasWrappers();
+    method public java.lang.invoke.MethodType insertParameterTypes(int, Class<?>...);
+    method public java.lang.invoke.MethodType insertParameterTypes(int, java.util.List<java.lang.Class<?>>);
+    method public static java.lang.invoke.MethodType methodType(Class<?>, Class<?>[]);
+    method public static java.lang.invoke.MethodType methodType(Class<?>, java.util.List<java.lang.Class<?>>);
+    method public static java.lang.invoke.MethodType methodType(Class<?>, Class<?>, Class<?>...);
+    method public static java.lang.invoke.MethodType methodType(Class<?>);
+    method public static java.lang.invoke.MethodType methodType(Class<?>, Class<?>);
+    method public static java.lang.invoke.MethodType methodType(Class<?>, java.lang.invoke.MethodType);
+    method public Class<?>[] parameterArray();
+    method public int parameterCount();
+    method public java.util.List<java.lang.Class<?>> parameterList();
+    method public Class<?> parameterType(int);
+    method public Class<?> returnType();
+    method public String toMethodDescriptorString();
+    method public java.lang.invoke.MethodType unwrap();
+    method public java.lang.invoke.MethodType wrap();
+  }
+
+  public class MutableCallSite extends java.lang.invoke.CallSite {
+    ctor public MutableCallSite(java.lang.invoke.MethodType);
+    ctor public MutableCallSite(java.lang.invoke.MethodHandle);
+    method public final java.lang.invoke.MethodHandle dynamicInvoker();
+    method public final java.lang.invoke.MethodHandle getTarget();
+    method public void setTarget(java.lang.invoke.MethodHandle);
+  }
+
+  public class VolatileCallSite extends java.lang.invoke.CallSite {
+    ctor public VolatileCallSite(java.lang.invoke.MethodType);
+    ctor public VolatileCallSite(java.lang.invoke.MethodHandle);
+    method public final java.lang.invoke.MethodHandle dynamicInvoker();
+    method public final java.lang.invoke.MethodHandle getTarget();
+    method public void setTarget(java.lang.invoke.MethodHandle);
+  }
+
+  public class WrongMethodTypeException extends java.lang.RuntimeException {
+    ctor public WrongMethodTypeException();
+    ctor public WrongMethodTypeException(String);
+  }
+
+}
+
+package java.lang.ref {
+
+  public class PhantomReference<T> extends java.lang.ref.Reference<T> {
+    ctor public PhantomReference(T, java.lang.ref.ReferenceQueue<? super T>);
+  }
+
+  public abstract class Reference<T> {
+    method public void clear();
+    method public boolean enqueue();
+    method public T get();
+    method @Deprecated public boolean isEnqueued();
+    method public static void reachabilityFence(Object);
+  }
+
+  public class ReferenceQueue<T> {
+    ctor public ReferenceQueue();
+    method public java.lang.ref.Reference<? extends T> poll();
+    method public java.lang.ref.Reference<? extends T> remove(long) throws java.lang.IllegalArgumentException, java.lang.InterruptedException;
+    method public java.lang.ref.Reference<? extends T> remove() throws java.lang.InterruptedException;
+  }
+
+  public class SoftReference<T> extends java.lang.ref.Reference<T> {
+    ctor public SoftReference(T);
+    ctor public SoftReference(T, java.lang.ref.ReferenceQueue<? super T>);
+  }
+
+  public class WeakReference<T> extends java.lang.ref.Reference<T> {
+    ctor public WeakReference(T);
+    ctor public WeakReference(T, java.lang.ref.ReferenceQueue<? super T>);
+  }
+
+}
+
+package java.lang.reflect {
+
+  public class AccessibleObject implements java.lang.reflect.AnnotatedElement {
+    ctor protected AccessibleObject();
+    method @Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@NonNull Class<T>);
+    method @NonNull public java.lang.annotation.Annotation[] getAnnotations();
+    method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+    method public boolean isAccessible();
+    method public static void setAccessible(java.lang.reflect.AccessibleObject[], boolean) throws java.lang.SecurityException;
+    method public void setAccessible(boolean) throws java.lang.SecurityException;
+  }
+
+  public interface AnnotatedElement {
+    method @Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@NonNull Class<T>);
+    method @NonNull public java.lang.annotation.Annotation[] getAnnotations();
+    method public default <T extends java.lang.annotation.Annotation> T[] getAnnotationsByType(@NonNull Class<T>);
+    method @Nullable public default <T extends java.lang.annotation.Annotation> T getDeclaredAnnotation(@NonNull Class<T>);
+    method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+    method public default <T extends java.lang.annotation.Annotation> T[] getDeclaredAnnotationsByType(@NonNull Class<T>);
+    method public default boolean isAnnotationPresent(@NonNull Class<? extends java.lang.annotation.Annotation>);
+  }
+
+  public final class Array {
+    method @Nullable public static Object get(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static boolean getBoolean(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static byte getByte(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static char getChar(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static double getDouble(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static float getFloat(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static int getInt(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static int getLength(@NonNull Object);
+    method public static long getLong(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static short getShort(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method @NonNull public static Object newInstance(@NonNull Class<?>, int) throws java.lang.NegativeArraySizeException;
+    method @NonNull public static Object newInstance(@NonNull Class<?>, int...) throws java.lang.IllegalArgumentException, java.lang.NegativeArraySizeException;
+    method public static void set(@NonNull Object, int, @Nullable Object) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setBoolean(@NonNull Object, int, boolean);
+    method public static void setByte(@NonNull Object, int, byte) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setChar(@NonNull Object, int, char) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setDouble(@NonNull Object, int, double) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setFloat(@NonNull Object, int, float) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setInt(@NonNull Object, int, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setLong(@NonNull Object, int, long) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setShort(@NonNull Object, int, short) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+  }
+
+  public final class Constructor<T> extends java.lang.reflect.Executable {
+    method @NonNull public Class<T> getDeclaringClass();
+    method public Class<?>[] getExceptionTypes();
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method public java.lang.annotation.Annotation[][] getParameterAnnotations();
+    method @NonNull public Class<?>[] getParameterTypes();
+    method public java.lang.reflect.TypeVariable<java.lang.reflect.Constructor<T>>[] getTypeParameters();
+    method @NonNull public T newInstance(java.lang.Object...) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException;
+    method @NonNull public String toGenericString();
+  }
+
+  public abstract class Executable extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
+    method @NonNull public abstract Class<?>[] getExceptionTypes();
+    method @NonNull public java.lang.reflect.Type[] getGenericExceptionTypes();
+    method @NonNull public java.lang.reflect.Type[] getGenericParameterTypes();
+    method @NonNull public abstract java.lang.annotation.Annotation[][] getParameterAnnotations();
+    method public int getParameterCount();
+    method @NonNull public abstract Class<?>[] getParameterTypes();
+    method @NonNull public java.lang.reflect.Parameter[] getParameters();
+    method public final boolean isAnnotationPresent(@NonNull Class<? extends java.lang.annotation.Annotation>);
+    method public boolean isSynthetic();
+    method public boolean isVarArgs();
+    method @NonNull public abstract String toGenericString();
+  }
+
+  public final class Field extends java.lang.reflect.AccessibleObject implements java.lang.reflect.Member {
+    method @Nullable public Object get(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public boolean getBoolean(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public byte getByte(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public char getChar(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method @NonNull public Class<?> getDeclaringClass();
+    method public double getDouble(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public float getFloat(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method @NonNull public java.lang.reflect.Type getGenericType();
+    method public int getInt(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public long getLong(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method public short getShort(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method @NonNull public Class<?> getType();
+    method public boolean isEnumConstant();
+    method public boolean isSynthetic();
+    method public void set(@Nullable Object, @Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setBoolean(@Nullable Object, boolean) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setByte(@Nullable Object, byte) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setChar(@Nullable Object, char) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setDouble(@Nullable Object, double) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setFloat(@Nullable Object, float) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setInt(@Nullable Object, int) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setLong(@Nullable Object, long) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setShort(@Nullable Object, short) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method @NonNull public String toGenericString();
+  }
+
+  public interface GenericArrayType extends java.lang.reflect.Type {
+    method @NonNull public java.lang.reflect.Type getGenericComponentType();
+  }
+
+  public interface GenericDeclaration extends java.lang.reflect.AnnotatedElement {
+    method @NonNull public java.lang.reflect.TypeVariable<?>[] getTypeParameters();
+  }
+
+  public class GenericSignatureFormatError extends java.lang.ClassFormatError {
+    ctor public GenericSignatureFormatError();
+    ctor public GenericSignatureFormatError(String);
+  }
+
+  public interface InvocationHandler {
+    method public Object invoke(Object, java.lang.reflect.Method, Object[]) throws java.lang.Throwable;
+  }
+
+  public class InvocationTargetException extends java.lang.ReflectiveOperationException {
+    ctor protected InvocationTargetException();
+    ctor public InvocationTargetException(Throwable);
+    ctor public InvocationTargetException(Throwable, String);
+    method public Throwable getTargetException();
+  }
+
+  public class MalformedParameterizedTypeException extends java.lang.RuntimeException {
+    ctor public MalformedParameterizedTypeException();
+  }
+
+  public class MalformedParametersException extends java.lang.RuntimeException {
+    ctor public MalformedParametersException();
+    ctor public MalformedParametersException(String);
+  }
+
+  public interface Member {
+    method @NonNull public Class<?> getDeclaringClass();
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method public boolean isSynthetic();
+    field public static final int DECLARED = 1; // 0x1
+    field public static final int PUBLIC = 0; // 0x0
+  }
+
+  public final class Method extends java.lang.reflect.Executable {
+    method @NonNull public Class<?> getDeclaringClass();
+    method @Nullable public Object getDefaultValue();
+    method @NonNull public Class<?>[] getExceptionTypes();
+    method @NonNull public java.lang.reflect.Type getGenericReturnType();
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method @NonNull public java.lang.annotation.Annotation[][] getParameterAnnotations();
+    method @NonNull public Class<?>[] getParameterTypes();
+    method @NonNull public Class<?> getReturnType();
+    method @NonNull public java.lang.reflect.TypeVariable<java.lang.reflect.Method>[] getTypeParameters();
+    method @Nullable public Object invoke(@Nullable Object, @Nullable java.lang.Object...) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException;
+    method public boolean isBridge();
+    method public boolean isDefault();
+    method @NonNull public String toGenericString();
+  }
+
+  public class Modifier {
+    ctor public Modifier();
+    method public static int classModifiers();
+    method public static int constructorModifiers();
+    method public static int fieldModifiers();
+    method public static int interfaceModifiers();
+    method public static boolean isAbstract(int);
+    method public static boolean isFinal(int);
+    method public static boolean isInterface(int);
+    method public static boolean isNative(int);
+    method public static boolean isPrivate(int);
+    method public static boolean isProtected(int);
+    method public static boolean isPublic(int);
+    method public static boolean isStatic(int);
+    method public static boolean isStrict(int);
+    method public static boolean isSynchronized(int);
+    method public static boolean isTransient(int);
+    method public static boolean isVolatile(int);
+    method public static int methodModifiers();
+    method public static int parameterModifiers();
+    method public static String toString(int);
+    field public static final int ABSTRACT = 1024; // 0x400
+    field public static final int FINAL = 16; // 0x10
+    field public static final int INTERFACE = 512; // 0x200
+    field public static final int NATIVE = 256; // 0x100
+    field public static final int PRIVATE = 2; // 0x2
+    field public static final int PROTECTED = 4; // 0x4
+    field public static final int PUBLIC = 1; // 0x1
+    field public static final int STATIC = 8; // 0x8
+    field public static final int STRICT = 2048; // 0x800
+    field public static final int SYNCHRONIZED = 32; // 0x20
+    field public static final int TRANSIENT = 128; // 0x80
+    field public static final int VOLATILE = 64; // 0x40
+  }
+
+  public final class Parameter implements java.lang.reflect.AnnotatedElement {
+    method @Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@NonNull Class<T>);
+    method @NonNull public java.lang.annotation.Annotation[] getAnnotations();
+    method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+    method @NonNull public java.lang.reflect.Executable getDeclaringExecutable();
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method @NonNull public java.lang.reflect.Type getParameterizedType();
+    method @NonNull public Class<?> getType();
+    method public boolean isImplicit();
+    method public boolean isNamePresent();
+    method public boolean isSynthetic();
+    method public boolean isVarArgs();
+  }
+
+  public interface ParameterizedType extends java.lang.reflect.Type {
+    method @NonNull public java.lang.reflect.Type[] getActualTypeArguments();
+    method @Nullable public java.lang.reflect.Type getOwnerType();
+    method @NonNull public java.lang.reflect.Type getRawType();
+  }
+
+  public class Proxy implements java.io.Serializable {
+    ctor protected Proxy(@NonNull java.lang.reflect.InvocationHandler);
+    method @NonNull public static java.lang.reflect.InvocationHandler getInvocationHandler(@NonNull Object) throws java.lang.IllegalArgumentException;
+    method @NonNull public static Class<?> getProxyClass(@Nullable ClassLoader, @NonNull Class<?>...) throws java.lang.IllegalArgumentException;
+    method public static boolean isProxyClass(@NonNull Class<?>);
+    method @NonNull public static Object newProxyInstance(@Nullable ClassLoader, @NonNull Class<?>[], @NonNull java.lang.reflect.InvocationHandler) throws java.lang.IllegalArgumentException;
+    field protected java.lang.reflect.InvocationHandler h;
+  }
+
+  public final class ReflectPermission extends java.security.BasicPermission {
+    ctor public ReflectPermission(String);
+    ctor public ReflectPermission(String, String);
+  }
+
+  public interface Type {
+    method @NonNull public default String getTypeName();
+  }
+
+  public interface TypeVariable<D extends java.lang.reflect.GenericDeclaration> extends java.lang.reflect.Type {
+    method @NonNull public java.lang.reflect.Type[] getBounds();
+    method @NonNull public D getGenericDeclaration();
+    method @NonNull public String getName();
+  }
+
+  public class UndeclaredThrowableException extends java.lang.RuntimeException {
+    ctor public UndeclaredThrowableException(Throwable);
+    ctor public UndeclaredThrowableException(Throwable, String);
+    method public Throwable getUndeclaredThrowable();
+  }
+
+  public interface WildcardType extends java.lang.reflect.Type {
+    method @NonNull public java.lang.reflect.Type[] getLowerBounds();
+    method @NonNull public java.lang.reflect.Type[] getUpperBounds();
+  }
+
+}
+
+package java.math {
+
+  public class BigDecimal extends java.lang.Number implements java.lang.Comparable<java.math.BigDecimal> {
+    ctor public BigDecimal(char[], int, int);
+    ctor public BigDecimal(char[], int, int, java.math.MathContext);
+    ctor public BigDecimal(char[]);
+    ctor public BigDecimal(char[], java.math.MathContext);
+    ctor public BigDecimal(String);
+    ctor public BigDecimal(String, java.math.MathContext);
+    ctor public BigDecimal(double);
+    ctor public BigDecimal(double, java.math.MathContext);
+    ctor public BigDecimal(java.math.BigInteger);
+    ctor public BigDecimal(java.math.BigInteger, java.math.MathContext);
+    ctor public BigDecimal(java.math.BigInteger, int);
+    ctor public BigDecimal(java.math.BigInteger, int, java.math.MathContext);
+    ctor public BigDecimal(int);
+    ctor public BigDecimal(int, java.math.MathContext);
+    ctor public BigDecimal(long);
+    ctor public BigDecimal(long, java.math.MathContext);
+    method public java.math.BigDecimal abs();
+    method public java.math.BigDecimal abs(java.math.MathContext);
+    method public java.math.BigDecimal add(java.math.BigDecimal);
+    method public java.math.BigDecimal add(java.math.BigDecimal, java.math.MathContext);
+    method public byte byteValueExact();
+    method public int compareTo(java.math.BigDecimal);
+    method public java.math.BigDecimal divide(java.math.BigDecimal, int, int);
+    method public java.math.BigDecimal divide(java.math.BigDecimal, int, java.math.RoundingMode);
+    method public java.math.BigDecimal divide(java.math.BigDecimal, int);
+    method public java.math.BigDecimal divide(java.math.BigDecimal, java.math.RoundingMode);
+    method public java.math.BigDecimal divide(java.math.BigDecimal);
+    method public java.math.BigDecimal divide(java.math.BigDecimal, java.math.MathContext);
+    method public java.math.BigDecimal[] divideAndRemainder(java.math.BigDecimal);
+    method public java.math.BigDecimal[] divideAndRemainder(java.math.BigDecimal, java.math.MathContext);
+    method public java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal);
+    method public java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal, java.math.MathContext);
+    method public double doubleValue();
+    method public float floatValue();
+    method public int intValue();
+    method public int intValueExact();
+    method public long longValue();
+    method public long longValueExact();
+    method public java.math.BigDecimal max(java.math.BigDecimal);
+    method public java.math.BigDecimal min(java.math.BigDecimal);
+    method public java.math.BigDecimal movePointLeft(int);
+    method public java.math.BigDecimal movePointRight(int);
+    method public java.math.BigDecimal multiply(java.math.BigDecimal);
+    method public java.math.BigDecimal multiply(java.math.BigDecimal, java.math.MathContext);
+    method public java.math.BigDecimal negate();
+    method public java.math.BigDecimal negate(java.math.MathContext);
+    method public java.math.BigDecimal plus();
+    method public java.math.BigDecimal plus(java.math.MathContext);
+    method public java.math.BigDecimal pow(int);
+    method public java.math.BigDecimal pow(int, java.math.MathContext);
+    method public int precision();
+    method public java.math.BigDecimal remainder(java.math.BigDecimal);
+    method public java.math.BigDecimal remainder(java.math.BigDecimal, java.math.MathContext);
+    method public java.math.BigDecimal round(java.math.MathContext);
+    method public int scale();
+    method public java.math.BigDecimal scaleByPowerOfTen(int);
+    method public java.math.BigDecimal setScale(int, java.math.RoundingMode);
+    method public java.math.BigDecimal setScale(int, int);
+    method public java.math.BigDecimal setScale(int);
+    method public short shortValueExact();
+    method public int signum();
+    method public java.math.BigDecimal stripTrailingZeros();
+    method public java.math.BigDecimal subtract(java.math.BigDecimal);
+    method public java.math.BigDecimal subtract(java.math.BigDecimal, java.math.MathContext);
+    method public java.math.BigInteger toBigInteger();
+    method public java.math.BigInteger toBigIntegerExact();
+    method public String toEngineeringString();
+    method public String toPlainString();
+    method public java.math.BigDecimal ulp();
+    method public java.math.BigInteger unscaledValue();
+    method public static java.math.BigDecimal valueOf(long, int);
+    method public static java.math.BigDecimal valueOf(long);
+    method public static java.math.BigDecimal valueOf(double);
+    field public static final java.math.BigDecimal ONE;
+    field public static final int ROUND_CEILING = 2; // 0x2
+    field public static final int ROUND_DOWN = 1; // 0x1
+    field public static final int ROUND_FLOOR = 3; // 0x3
+    field public static final int ROUND_HALF_DOWN = 5; // 0x5
+    field public static final int ROUND_HALF_EVEN = 6; // 0x6
+    field public static final int ROUND_HALF_UP = 4; // 0x4
+    field public static final int ROUND_UNNECESSARY = 7; // 0x7
+    field public static final int ROUND_UP = 0; // 0x0
+    field public static final java.math.BigDecimal TEN;
+    field public static final java.math.BigDecimal ZERO;
+  }
+
+  public class BigInteger extends java.lang.Number implements java.lang.Comparable<java.math.BigInteger> {
+    ctor public BigInteger(byte[]);
+    ctor public BigInteger(int, byte[]);
+    ctor public BigInteger(@NonNull String, int);
+    ctor public BigInteger(@NonNull String);
+    ctor public BigInteger(int, @NonNull java.util.Random);
+    ctor public BigInteger(int, int, @NonNull java.util.Random);
+    method @NonNull public java.math.BigInteger abs();
+    method @NonNull public java.math.BigInteger add(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger and(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger andNot(@NonNull java.math.BigInteger);
+    method public int bitCount();
+    method public int bitLength();
+    method public byte byteValueExact();
+    method @NonNull public java.math.BigInteger clearBit(int);
+    method public int compareTo(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger divide(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger[] divideAndRemainder(@NonNull java.math.BigInteger);
+    method public double doubleValue();
+    method @NonNull public java.math.BigInteger flipBit(int);
+    method public float floatValue();
+    method @NonNull public java.math.BigInteger gcd(@NonNull java.math.BigInteger);
+    method public int getLowestSetBit();
+    method public int intValue();
+    method public int intValueExact();
+    method public boolean isProbablePrime(int);
+    method public long longValue();
+    method public long longValueExact();
+    method @NonNull public java.math.BigInteger max(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger min(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger mod(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger modInverse(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger modPow(@NonNull java.math.BigInteger, @NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger multiply(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger negate();
+    method @NonNull public java.math.BigInteger nextProbablePrime();
+    method @NonNull public java.math.BigInteger not();
+    method @NonNull public java.math.BigInteger or(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger pow(int);
+    method @NonNull public static java.math.BigInteger probablePrime(int, @NonNull java.util.Random);
+    method @NonNull public java.math.BigInteger remainder(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger setBit(int);
+    method @NonNull public java.math.BigInteger shiftLeft(int);
+    method @NonNull public java.math.BigInteger shiftRight(int);
+    method public short shortValueExact();
+    method public int signum();
+    method @NonNull public java.math.BigInteger subtract(@NonNull java.math.BigInteger);
+    method public boolean testBit(int);
+    method public byte[] toByteArray();
+    method @NonNull public String toString(int);
+    method @NonNull public static java.math.BigInteger valueOf(long);
+    method @NonNull public java.math.BigInteger xor(@NonNull java.math.BigInteger);
+    field @NonNull public static final java.math.BigInteger ONE;
+    field @NonNull public static final java.math.BigInteger TEN;
+    field @NonNull public static final java.math.BigInteger ZERO;
+  }
+
+  public final class MathContext implements java.io.Serializable {
+    ctor public MathContext(int);
+    ctor public MathContext(int, java.math.RoundingMode);
+    ctor public MathContext(String);
+    method public int getPrecision();
+    method public java.math.RoundingMode getRoundingMode();
+    field public static final java.math.MathContext DECIMAL128;
+    field public static final java.math.MathContext DECIMAL32;
+    field public static final java.math.MathContext DECIMAL64;
+    field public static final java.math.MathContext UNLIMITED;
+  }
+
+  public enum RoundingMode {
+    method public static java.math.RoundingMode valueOf(int);
+    enum_constant public static final java.math.RoundingMode CEILING;
+    enum_constant public static final java.math.RoundingMode DOWN;
+    enum_constant public static final java.math.RoundingMode FLOOR;
+    enum_constant public static final java.math.RoundingMode HALF_DOWN;
+    enum_constant public static final java.math.RoundingMode HALF_EVEN;
+    enum_constant public static final java.math.RoundingMode HALF_UP;
+    enum_constant public static final java.math.RoundingMode UNNECESSARY;
+    enum_constant public static final java.math.RoundingMode UP;
+  }
+
+}
+
+package java.net {
+
+  public abstract class Authenticator {
+    ctor public Authenticator();
+    method protected java.net.PasswordAuthentication getPasswordAuthentication();
+    method protected final String getRequestingHost();
+    method protected final int getRequestingPort();
+    method protected final String getRequestingPrompt();
+    method protected final String getRequestingProtocol();
+    method protected final String getRequestingScheme();
+    method protected final java.net.InetAddress getRequestingSite();
+    method protected java.net.URL getRequestingURL();
+    method protected java.net.Authenticator.RequestorType getRequestorType();
+    method public static java.net.PasswordAuthentication requestPasswordAuthentication(java.net.InetAddress, int, String, String, String);
+    method public static java.net.PasswordAuthentication requestPasswordAuthentication(String, java.net.InetAddress, int, String, String, String);
+    method public static java.net.PasswordAuthentication requestPasswordAuthentication(String, java.net.InetAddress, int, String, String, String, java.net.URL, java.net.Authenticator.RequestorType);
+    method public static void setDefault(java.net.Authenticator);
+  }
+
+  public enum Authenticator.RequestorType {
+    enum_constant public static final java.net.Authenticator.RequestorType PROXY;
+    enum_constant public static final java.net.Authenticator.RequestorType SERVER;
+  }
+
+  public class BindException extends java.net.SocketException {
+    ctor public BindException(String);
+    ctor public BindException();
+  }
+
+  public abstract class CacheRequest {
+    ctor public CacheRequest();
+    method public abstract void abort();
+    method public abstract java.io.OutputStream getBody() throws java.io.IOException;
+  }
+
+  public abstract class CacheResponse {
+    ctor public CacheResponse();
+    method public abstract java.io.InputStream getBody() throws java.io.IOException;
+    method public abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaders() throws java.io.IOException;
+  }
+
+  public class ConnectException extends java.net.SocketException {
+    ctor public ConnectException(String);
+    ctor public ConnectException();
+  }
+
+  public abstract class ContentHandler {
+    ctor public ContentHandler();
+    method public abstract Object getContent(java.net.URLConnection) throws java.io.IOException;
+    method public Object getContent(java.net.URLConnection, Class[]) throws java.io.IOException;
+  }
+
+  public interface ContentHandlerFactory {
+    method public java.net.ContentHandler createContentHandler(String);
+  }
+
+  public abstract class CookieHandler {
+    ctor public CookieHandler();
+    method public abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> get(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public static java.net.CookieHandler getDefault();
+    method public abstract void put(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public static void setDefault(java.net.CookieHandler);
+  }
+
+  public class CookieManager extends java.net.CookieHandler {
+    ctor public CookieManager();
+    ctor public CookieManager(java.net.CookieStore, java.net.CookiePolicy);
+    method public java.util.Map<java.lang.String,java.util.List<java.lang.String>> get(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public java.net.CookieStore getCookieStore();
+    method public void put(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public void setCookiePolicy(java.net.CookiePolicy);
+  }
+
+  public interface CookiePolicy {
+    method public boolean shouldAccept(java.net.URI, java.net.HttpCookie);
+    field public static final java.net.CookiePolicy ACCEPT_ALL;
+    field public static final java.net.CookiePolicy ACCEPT_NONE;
+    field public static final java.net.CookiePolicy ACCEPT_ORIGINAL_SERVER;
+  }
+
+  public interface CookieStore {
+    method public void add(java.net.URI, java.net.HttpCookie);
+    method public java.util.List<java.net.HttpCookie> get(java.net.URI);
+    method public java.util.List<java.net.HttpCookie> getCookies();
+    method public java.util.List<java.net.URI> getURIs();
+    method public boolean remove(java.net.URI, java.net.HttpCookie);
+    method public boolean removeAll();
+  }
+
+  public final class DatagramPacket {
+    ctor public DatagramPacket(byte[], int, int);
+    ctor public DatagramPacket(byte[], int);
+    ctor public DatagramPacket(byte[], int, int, java.net.InetAddress, int);
+    ctor public DatagramPacket(byte[], int, int, java.net.SocketAddress);
+    ctor public DatagramPacket(byte[], int, java.net.InetAddress, int);
+    ctor public DatagramPacket(byte[], int, java.net.SocketAddress);
+    method public java.net.InetAddress getAddress();
+    method public byte[] getData();
+    method public int getLength();
+    method public int getOffset();
+    method public int getPort();
+    method public java.net.SocketAddress getSocketAddress();
+    method public void setAddress(java.net.InetAddress);
+    method public void setData(byte[], int, int);
+    method public void setData(byte[]);
+    method public void setLength(int);
+    method public void setPort(int);
+    method public void setSocketAddress(java.net.SocketAddress);
+  }
+
+  public class DatagramSocket implements java.io.Closeable {
+    ctor public DatagramSocket() throws java.net.SocketException;
+    ctor protected DatagramSocket(java.net.DatagramSocketImpl);
+    ctor public DatagramSocket(java.net.SocketAddress) throws java.net.SocketException;
+    ctor public DatagramSocket(int) throws java.net.SocketException;
+    ctor public DatagramSocket(int, java.net.InetAddress) throws java.net.SocketException;
+    method public void bind(java.net.SocketAddress) throws java.net.SocketException;
+    method public void close();
+    method public void connect(java.net.InetAddress, int);
+    method public void connect(java.net.SocketAddress) throws java.net.SocketException;
+    method public void disconnect();
+    method public boolean getBroadcast() throws java.net.SocketException;
+    method public java.nio.channels.DatagramChannel getChannel();
+    method public java.net.InetAddress getInetAddress();
+    method public java.net.InetAddress getLocalAddress();
+    method public int getLocalPort();
+    method public java.net.SocketAddress getLocalSocketAddress();
+    method public int getPort();
+    method public int getReceiveBufferSize() throws java.net.SocketException;
+    method public java.net.SocketAddress getRemoteSocketAddress();
+    method public boolean getReuseAddress() throws java.net.SocketException;
+    method public int getSendBufferSize() throws java.net.SocketException;
+    method public int getSoTimeout() throws java.net.SocketException;
+    method public int getTrafficClass() throws java.net.SocketException;
+    method public boolean isBound();
+    method public boolean isClosed();
+    method public boolean isConnected();
+    method public void receive(java.net.DatagramPacket) throws java.io.IOException;
+    method public void send(java.net.DatagramPacket) throws java.io.IOException;
+    method public void setBroadcast(boolean) throws java.net.SocketException;
+    method public static void setDatagramSocketImplFactory(java.net.DatagramSocketImplFactory) throws java.io.IOException;
+    method public void setReceiveBufferSize(int) throws java.net.SocketException;
+    method public void setReuseAddress(boolean) throws java.net.SocketException;
+    method public void setSendBufferSize(int) throws java.net.SocketException;
+    method public void setSoTimeout(int) throws java.net.SocketException;
+    method public void setTrafficClass(int) throws java.net.SocketException;
+  }
+
+  public abstract class DatagramSocketImpl implements java.net.SocketOptions {
+    ctor public DatagramSocketImpl();
+    method protected abstract void bind(int, java.net.InetAddress) throws java.net.SocketException;
+    method protected abstract void close();
+    method protected void connect(java.net.InetAddress, int) throws java.net.SocketException;
+    method protected abstract void create() throws java.net.SocketException;
+    method protected void disconnect();
+    method protected java.io.FileDescriptor getFileDescriptor();
+    method protected int getLocalPort();
+    method @Deprecated protected abstract byte getTTL() throws java.io.IOException;
+    method protected abstract int getTimeToLive() throws java.io.IOException;
+    method protected abstract void join(java.net.InetAddress) throws java.io.IOException;
+    method protected abstract void joinGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+    method protected abstract void leave(java.net.InetAddress) throws java.io.IOException;
+    method protected abstract void leaveGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+    method protected abstract int peek(java.net.InetAddress) throws java.io.IOException;
+    method protected abstract int peekData(java.net.DatagramPacket) throws java.io.IOException;
+    method protected abstract void receive(java.net.DatagramPacket) throws java.io.IOException;
+    method protected abstract void send(java.net.DatagramPacket) throws java.io.IOException;
+    method @Deprecated protected abstract void setTTL(byte) throws java.io.IOException;
+    method protected abstract void setTimeToLive(int) throws java.io.IOException;
+    field protected java.io.FileDescriptor fd;
+    field protected int localPort;
+  }
+
+  public interface DatagramSocketImplFactory {
+    method public java.net.DatagramSocketImpl createDatagramSocketImpl();
+  }
+
+  public interface FileNameMap {
+    method public String getContentTypeFor(String);
+  }
+
+  public final class HttpCookie implements java.lang.Cloneable {
+    ctor public HttpCookie(String, String);
+    method public Object clone();
+    method public static boolean domainMatches(String, String);
+    method public String getComment();
+    method public String getCommentURL();
+    method public boolean getDiscard();
+    method public String getDomain();
+    method public long getMaxAge();
+    method public String getName();
+    method public String getPath();
+    method public String getPortlist();
+    method public boolean getSecure();
+    method public String getValue();
+    method public int getVersion();
+    method public boolean hasExpired();
+    method public boolean isHttpOnly();
+    method public static java.util.List<java.net.HttpCookie> parse(String);
+    method public void setComment(String);
+    method public void setCommentURL(String);
+    method public void setDiscard(boolean);
+    method public void setDomain(String);
+    method public void setHttpOnly(boolean);
+    method public void setMaxAge(long);
+    method public void setPath(String);
+    method public void setPortlist(String);
+    method public void setSecure(boolean);
+    method public void setValue(String);
+    method public void setVersion(int);
+  }
+
+  public class HttpRetryException extends java.io.IOException {
+    ctor public HttpRetryException(String, int);
+    ctor public HttpRetryException(String, int, String);
+    method public String getLocation();
+    method public String getReason();
+    method public int responseCode();
+  }
+
+  public abstract class HttpURLConnection extends java.net.URLConnection {
+    ctor protected HttpURLConnection(java.net.URL);
+    method public abstract void disconnect();
+    method public java.io.InputStream getErrorStream();
+    method public static boolean getFollowRedirects();
+    method public boolean getInstanceFollowRedirects();
+    method public String getRequestMethod();
+    method public int getResponseCode() throws java.io.IOException;
+    method public String getResponseMessage() throws java.io.IOException;
+    method public void setChunkedStreamingMode(int);
+    method public void setFixedLengthStreamingMode(int);
+    method public void setFixedLengthStreamingMode(long);
+    method public static void setFollowRedirects(boolean);
+    method public void setInstanceFollowRedirects(boolean);
+    method public void setRequestMethod(String) throws java.net.ProtocolException;
+    method public abstract boolean usingProxy();
+    field public static final int HTTP_ACCEPTED = 202; // 0xca
+    field public static final int HTTP_BAD_GATEWAY = 502; // 0x1f6
+    field public static final int HTTP_BAD_METHOD = 405; // 0x195
+    field public static final int HTTP_BAD_REQUEST = 400; // 0x190
+    field public static final int HTTP_CLIENT_TIMEOUT = 408; // 0x198
+    field public static final int HTTP_CONFLICT = 409; // 0x199
+    field public static final int HTTP_CREATED = 201; // 0xc9
+    field public static final int HTTP_ENTITY_TOO_LARGE = 413; // 0x19d
+    field public static final int HTTP_FORBIDDEN = 403; // 0x193
+    field public static final int HTTP_GATEWAY_TIMEOUT = 504; // 0x1f8
+    field public static final int HTTP_GONE = 410; // 0x19a
+    field public static final int HTTP_INTERNAL_ERROR = 500; // 0x1f4
+    field public static final int HTTP_LENGTH_REQUIRED = 411; // 0x19b
+    field public static final int HTTP_MOVED_PERM = 301; // 0x12d
+    field public static final int HTTP_MOVED_TEMP = 302; // 0x12e
+    field public static final int HTTP_MULT_CHOICE = 300; // 0x12c
+    field public static final int HTTP_NOT_ACCEPTABLE = 406; // 0x196
+    field public static final int HTTP_NOT_AUTHORITATIVE = 203; // 0xcb
+    field public static final int HTTP_NOT_FOUND = 404; // 0x194
+    field public static final int HTTP_NOT_IMPLEMENTED = 501; // 0x1f5
+    field public static final int HTTP_NOT_MODIFIED = 304; // 0x130
+    field public static final int HTTP_NO_CONTENT = 204; // 0xcc
+    field public static final int HTTP_OK = 200; // 0xc8
+    field public static final int HTTP_PARTIAL = 206; // 0xce
+    field public static final int HTTP_PAYMENT_REQUIRED = 402; // 0x192
+    field public static final int HTTP_PRECON_FAILED = 412; // 0x19c
+    field public static final int HTTP_PROXY_AUTH = 407; // 0x197
+    field public static final int HTTP_REQ_TOO_LONG = 414; // 0x19e
+    field public static final int HTTP_RESET = 205; // 0xcd
+    field public static final int HTTP_SEE_OTHER = 303; // 0x12f
+    field @Deprecated public static final int HTTP_SERVER_ERROR = 500; // 0x1f4
+    field public static final int HTTP_UNAUTHORIZED = 401; // 0x191
+    field public static final int HTTP_UNAVAILABLE = 503; // 0x1f7
+    field public static final int HTTP_UNSUPPORTED_TYPE = 415; // 0x19f
+    field public static final int HTTP_USE_PROXY = 305; // 0x131
+    field public static final int HTTP_VERSION = 505; // 0x1f9
+    field protected int chunkLength;
+    field protected int fixedContentLength;
+    field protected long fixedContentLengthLong;
+    field protected boolean instanceFollowRedirects;
+    field protected String method;
+    field protected int responseCode;
+    field protected String responseMessage;
+  }
+
+  public final class IDN {
+    method public static String toASCII(String, int);
+    method public static String toASCII(String);
+    method public static String toUnicode(String, int);
+    method public static String toUnicode(String);
+    field public static final int ALLOW_UNASSIGNED = 1; // 0x1
+    field public static final int USE_STD3_ASCII_RULES = 2; // 0x2
+  }
+
+  public final class Inet4Address extends java.net.InetAddress {
+  }
+
+  public final class Inet6Address extends java.net.InetAddress {
+    method public static java.net.Inet6Address getByAddress(String, byte[], java.net.NetworkInterface) throws java.net.UnknownHostException;
+    method public static java.net.Inet6Address getByAddress(String, byte[], int) throws java.net.UnknownHostException;
+    method public int getScopeId();
+    method public java.net.NetworkInterface getScopedInterface();
+    method public boolean isIPv4CompatibleAddress();
+  }
+
+  public class InetAddress implements java.io.Serializable {
+    method public byte[] getAddress();
+    method public static java.net.InetAddress[] getAllByName(@Nullable String) throws java.net.UnknownHostException;
+    method @NonNull public static java.net.InetAddress getByAddress(@Nullable String, byte[]) throws java.net.UnknownHostException;
+    method @NonNull public static java.net.InetAddress getByAddress(byte[]) throws java.net.UnknownHostException;
+    method @NonNull public static java.net.InetAddress getByName(@Nullable String) throws java.net.UnknownHostException;
+    method @NonNull public String getCanonicalHostName();
+    method @Nullable public String getHostAddress();
+    method @NonNull public String getHostName();
+    method @NonNull public static java.net.InetAddress getLocalHost() throws java.net.UnknownHostException;
+    method @NonNull public static java.net.InetAddress getLoopbackAddress();
+    method public boolean isAnyLocalAddress();
+    method public boolean isLinkLocalAddress();
+    method public boolean isLoopbackAddress();
+    method public boolean isMCGlobal();
+    method public boolean isMCLinkLocal();
+    method public boolean isMCNodeLocal();
+    method public boolean isMCOrgLocal();
+    method public boolean isMCSiteLocal();
+    method public boolean isMulticastAddress();
+    method public boolean isReachable(int) throws java.io.IOException;
+    method public boolean isReachable(@Nullable java.net.NetworkInterface, int, int) throws java.io.IOException;
+    method public boolean isSiteLocalAddress();
+  }
+
+  public class InetSocketAddress extends java.net.SocketAddress {
+    ctor public InetSocketAddress(int);
+    ctor public InetSocketAddress(java.net.InetAddress, int);
+    ctor public InetSocketAddress(String, int);
+    method public static java.net.InetSocketAddress createUnresolved(String, int);
+    method public final boolean equals(Object);
+    method public final java.net.InetAddress getAddress();
+    method public final String getHostName();
+    method public final String getHostString();
+    method public final int getPort();
+    method public final int hashCode();
+    method public final boolean isUnresolved();
+  }
+
+  public class InterfaceAddress {
+    method public java.net.InetAddress getAddress();
+    method public java.net.InetAddress getBroadcast();
+    method public short getNetworkPrefixLength();
+  }
+
+  public abstract class JarURLConnection extends java.net.URLConnection {
+    ctor protected JarURLConnection(java.net.URL) throws java.net.MalformedURLException;
+    method public java.util.jar.Attributes getAttributes() throws java.io.IOException;
+    method public java.security.cert.Certificate[] getCertificates() throws java.io.IOException;
+    method public String getEntryName();
+    method public java.util.jar.JarEntry getJarEntry() throws java.io.IOException;
+    method public abstract java.util.jar.JarFile getJarFile() throws java.io.IOException;
+    method public java.net.URL getJarFileURL();
+    method public java.util.jar.Attributes getMainAttributes() throws java.io.IOException;
+    method public java.util.jar.Manifest getManifest() throws java.io.IOException;
+    field protected java.net.URLConnection jarFileURLConnection;
+  }
+
+  public class MalformedURLException extends java.io.IOException {
+    ctor public MalformedURLException();
+    ctor public MalformedURLException(String);
+  }
+
+  public class MulticastSocket extends java.net.DatagramSocket {
+    ctor public MulticastSocket() throws java.io.IOException;
+    ctor public MulticastSocket(int) throws java.io.IOException;
+    ctor public MulticastSocket(java.net.SocketAddress) throws java.io.IOException;
+    method public java.net.InetAddress getInterface() throws java.net.SocketException;
+    method public boolean getLoopbackMode() throws java.net.SocketException;
+    method public java.net.NetworkInterface getNetworkInterface() throws java.net.SocketException;
+    method @Deprecated public byte getTTL() throws java.io.IOException;
+    method public int getTimeToLive() throws java.io.IOException;
+    method public void joinGroup(java.net.InetAddress) throws java.io.IOException;
+    method public void joinGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+    method public void leaveGroup(java.net.InetAddress) throws java.io.IOException;
+    method public void leaveGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+    method @Deprecated public void send(java.net.DatagramPacket, byte) throws java.io.IOException;
+    method public void setInterface(java.net.InetAddress) throws java.net.SocketException;
+    method public void setLoopbackMode(boolean) throws java.net.SocketException;
+    method public void setNetworkInterface(java.net.NetworkInterface) throws java.net.SocketException;
+    method @Deprecated public void setTTL(byte) throws java.io.IOException;
+    method public void setTimeToLive(int) throws java.io.IOException;
+  }
+
+  public final class NetPermission extends java.security.BasicPermission {
+    ctor public NetPermission(String);
+    ctor public NetPermission(String, String);
+  }
+
+  public final class NetworkInterface {
+    method public static java.net.NetworkInterface getByIndex(int) throws java.net.SocketException;
+    method public static java.net.NetworkInterface getByInetAddress(java.net.InetAddress) throws java.net.SocketException;
+    method public static java.net.NetworkInterface getByName(String) throws java.net.SocketException;
+    method public String getDisplayName();
+    method public byte[] getHardwareAddress() throws java.net.SocketException;
+    method public int getIndex();
+    method public java.util.Enumeration<java.net.InetAddress> getInetAddresses();
+    method public java.util.List<java.net.InterfaceAddress> getInterfaceAddresses();
+    method public int getMTU() throws java.net.SocketException;
+    method public String getName();
+    method public static java.util.Enumeration<java.net.NetworkInterface> getNetworkInterfaces() throws java.net.SocketException;
+    method public java.net.NetworkInterface getParent();
+    method public java.util.Enumeration<java.net.NetworkInterface> getSubInterfaces();
+    method public boolean isLoopback() throws java.net.SocketException;
+    method public boolean isPointToPoint() throws java.net.SocketException;
+    method public boolean isUp() throws java.net.SocketException;
+    method public boolean isVirtual();
+    method public boolean supportsMulticast() throws java.net.SocketException;
+  }
+
+  public class NoRouteToHostException extends java.net.SocketException {
+    ctor public NoRouteToHostException(String);
+    ctor public NoRouteToHostException();
+  }
+
+  public final class PasswordAuthentication {
+    ctor public PasswordAuthentication(String, char[]);
+    method public char[] getPassword();
+    method public String getUserName();
+  }
+
+  public class PortUnreachableException extends java.net.SocketException {
+    ctor public PortUnreachableException(String);
+    ctor public PortUnreachableException();
+  }
+
+  public class ProtocolException extends java.io.IOException {
+    ctor public ProtocolException(String);
+    ctor public ProtocolException();
+  }
+
+  public interface ProtocolFamily {
+    method public String name();
+  }
+
+  public class Proxy {
+    ctor public Proxy(java.net.Proxy.Type, java.net.SocketAddress);
+    method public java.net.SocketAddress address();
+    method public final boolean equals(Object);
+    method public final int hashCode();
+    method public java.net.Proxy.Type type();
+    field public static final java.net.Proxy NO_PROXY;
+  }
+
+  public enum Proxy.Type {
+    enum_constant public static final java.net.Proxy.Type DIRECT;
+    enum_constant public static final java.net.Proxy.Type HTTP;
+    enum_constant public static final java.net.Proxy.Type SOCKS;
+  }
+
+  public abstract class ProxySelector {
+    ctor public ProxySelector();
+    method public abstract void connectFailed(java.net.URI, java.net.SocketAddress, java.io.IOException);
+    method public static java.net.ProxySelector getDefault();
+    method public abstract java.util.List<java.net.Proxy> select(java.net.URI);
+    method public static void setDefault(java.net.ProxySelector);
+  }
+
+  public abstract class ResponseCache {
+    ctor public ResponseCache();
+    method public abstract java.net.CacheResponse get(java.net.URI, String, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public static java.net.ResponseCache getDefault();
+    method public abstract java.net.CacheRequest put(java.net.URI, java.net.URLConnection) throws java.io.IOException;
+    method public static void setDefault(java.net.ResponseCache);
+  }
+
+  public abstract class SecureCacheResponse extends java.net.CacheResponse {
+    ctor public SecureCacheResponse();
+    method public abstract String getCipherSuite();
+    method public abstract java.util.List<java.security.cert.Certificate> getLocalCertificateChain();
+    method public abstract java.security.Principal getLocalPrincipal();
+    method public abstract java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public abstract java.util.List<java.security.cert.Certificate> getServerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException;
+  }
+
+  public class ServerSocket implements java.io.Closeable {
+    ctor public ServerSocket() throws java.io.IOException;
+    ctor public ServerSocket(int) throws java.io.IOException;
+    ctor public ServerSocket(int, int) throws java.io.IOException;
+    ctor public ServerSocket(int, int, java.net.InetAddress) throws java.io.IOException;
+    method public java.net.Socket accept() throws java.io.IOException;
+    method public void bind(java.net.SocketAddress) throws java.io.IOException;
+    method public void bind(java.net.SocketAddress, int) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public java.nio.channels.ServerSocketChannel getChannel();
+    method public java.net.InetAddress getInetAddress();
+    method public int getLocalPort();
+    method public java.net.SocketAddress getLocalSocketAddress();
+    method public int getReceiveBufferSize() throws java.net.SocketException;
+    method public boolean getReuseAddress() throws java.net.SocketException;
+    method public int getSoTimeout() throws java.io.IOException;
+    method protected final void implAccept(java.net.Socket) throws java.io.IOException;
+    method public boolean isBound();
+    method public boolean isClosed();
+    method public void setPerformancePreferences(int, int, int);
+    method public void setReceiveBufferSize(int) throws java.net.SocketException;
+    method public void setReuseAddress(boolean) throws java.net.SocketException;
+    method public void setSoTimeout(int) throws java.net.SocketException;
+    method public static void setSocketFactory(java.net.SocketImplFactory) throws java.io.IOException;
+  }
+
+  public class Socket implements java.io.Closeable {
+    ctor public Socket();
+    ctor public Socket(java.net.Proxy);
+    ctor protected Socket(java.net.SocketImpl) throws java.net.SocketException;
+    ctor public Socket(String, int) throws java.io.IOException, java.net.UnknownHostException;
+    ctor public Socket(java.net.InetAddress, int) throws java.io.IOException;
+    ctor public Socket(String, int, java.net.InetAddress, int) throws java.io.IOException;
+    ctor public Socket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+    ctor @Deprecated public Socket(String, int, boolean) throws java.io.IOException;
+    ctor @Deprecated public Socket(java.net.InetAddress, int, boolean) throws java.io.IOException;
+    method public void bind(java.net.SocketAddress) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void connect(java.net.SocketAddress) throws java.io.IOException;
+    method public void connect(java.net.SocketAddress, int) throws java.io.IOException;
+    method public java.nio.channels.SocketChannel getChannel();
+    method public java.net.InetAddress getInetAddress();
+    method public java.io.InputStream getInputStream() throws java.io.IOException;
+    method public boolean getKeepAlive() throws java.net.SocketException;
+    method public java.net.InetAddress getLocalAddress();
+    method public int getLocalPort();
+    method public java.net.SocketAddress getLocalSocketAddress();
+    method public boolean getOOBInline() throws java.net.SocketException;
+    method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+    method public int getPort();
+    method public int getReceiveBufferSize() throws java.net.SocketException;
+    method public java.net.SocketAddress getRemoteSocketAddress();
+    method public boolean getReuseAddress() throws java.net.SocketException;
+    method public int getSendBufferSize() throws java.net.SocketException;
+    method public int getSoLinger() throws java.net.SocketException;
+    method public int getSoTimeout() throws java.net.SocketException;
+    method public boolean getTcpNoDelay() throws java.net.SocketException;
+    method public int getTrafficClass() throws java.net.SocketException;
+    method public boolean isBound();
+    method public boolean isClosed();
+    method public boolean isConnected();
+    method public boolean isInputShutdown();
+    method public boolean isOutputShutdown();
+    method public void sendUrgentData(int) throws java.io.IOException;
+    method public void setKeepAlive(boolean) throws java.net.SocketException;
+    method public void setOOBInline(boolean) throws java.net.SocketException;
+    method public void setPerformancePreferences(int, int, int);
+    method public void setReceiveBufferSize(int) throws java.net.SocketException;
+    method public void setReuseAddress(boolean) throws java.net.SocketException;
+    method public void setSendBufferSize(int) throws java.net.SocketException;
+    method public void setSoLinger(boolean, int) throws java.net.SocketException;
+    method public void setSoTimeout(int) throws java.net.SocketException;
+    method public static void setSocketImplFactory(java.net.SocketImplFactory) throws java.io.IOException;
+    method public void setTcpNoDelay(boolean) throws java.net.SocketException;
+    method public void setTrafficClass(int) throws java.net.SocketException;
+    method public void shutdownInput() throws java.io.IOException;
+    method public void shutdownOutput() throws java.io.IOException;
+  }
+
+  public abstract class SocketAddress implements java.io.Serializable {
+    ctor public SocketAddress();
+  }
+
+  public class SocketException extends java.io.IOException {
+    ctor public SocketException(String);
+    ctor public SocketException();
+  }
+
+  public abstract class SocketImpl implements java.net.SocketOptions {
+    ctor public SocketImpl();
+    method protected abstract void accept(java.net.SocketImpl) throws java.io.IOException;
+    method protected abstract int available() throws java.io.IOException;
+    method protected abstract void bind(java.net.InetAddress, int) throws java.io.IOException;
+    method protected abstract void close() throws java.io.IOException;
+    method protected abstract void connect(String, int) throws java.io.IOException;
+    method protected abstract void connect(java.net.InetAddress, int) throws java.io.IOException;
+    method protected abstract void connect(java.net.SocketAddress, int) throws java.io.IOException;
+    method protected abstract void create(boolean) throws java.io.IOException;
+    method protected java.io.FileDescriptor getFileDescriptor();
+    method protected java.net.InetAddress getInetAddress();
+    method protected abstract java.io.InputStream getInputStream() throws java.io.IOException;
+    method protected int getLocalPort();
+    method protected abstract java.io.OutputStream getOutputStream() throws java.io.IOException;
+    method protected int getPort();
+    method protected abstract void listen(int) throws java.io.IOException;
+    method protected abstract void sendUrgentData(int) throws java.io.IOException;
+    method protected void setPerformancePreferences(int, int, int);
+    method protected void shutdownInput() throws java.io.IOException;
+    method protected void shutdownOutput() throws java.io.IOException;
+    method protected boolean supportsUrgentData();
+    field protected java.net.InetAddress address;
+    field protected java.io.FileDescriptor fd;
+    field protected int localport;
+    field protected int port;
+  }
+
+  public interface SocketImplFactory {
+    method public java.net.SocketImpl createSocketImpl();
+  }
+
+  public interface SocketOption<T> {
+    method public String name();
+    method public Class<T> type();
+  }
+
+  public interface SocketOptions {
+    method public Object getOption(int) throws java.net.SocketException;
+    method public void setOption(int, Object) throws java.net.SocketException;
+    field public static final int IP_MULTICAST_IF = 16; // 0x10
+    field public static final int IP_MULTICAST_IF2 = 31; // 0x1f
+    field public static final int IP_MULTICAST_LOOP = 18; // 0x12
+    field public static final int IP_TOS = 3; // 0x3
+    field public static final int SO_BINDADDR = 15; // 0xf
+    field public static final int SO_BROADCAST = 32; // 0x20
+    field public static final int SO_KEEPALIVE = 8; // 0x8
+    field public static final int SO_LINGER = 128; // 0x80
+    field public static final int SO_OOBINLINE = 4099; // 0x1003
+    field public static final int SO_RCVBUF = 4098; // 0x1002
+    field public static final int SO_REUSEADDR = 4; // 0x4
+    field public static final int SO_SNDBUF = 4097; // 0x1001
+    field public static final int SO_TIMEOUT = 4102; // 0x1006
+    field public static final int TCP_NODELAY = 1; // 0x1
+  }
+
+  public final class SocketPermission extends java.security.Permission implements java.io.Serializable {
+    ctor public SocketPermission(String, String);
+    method public String getActions();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public class SocketTimeoutException extends java.io.InterruptedIOException {
+    ctor public SocketTimeoutException(String);
+    ctor public SocketTimeoutException();
+  }
+
+  public enum StandardProtocolFamily implements java.net.ProtocolFamily {
+    enum_constant public static final java.net.StandardProtocolFamily INET;
+    enum_constant public static final java.net.StandardProtocolFamily INET6;
+  }
+
+  public final class StandardSocketOptions {
+    field public static final java.net.SocketOption<java.net.NetworkInterface> IP_MULTICAST_IF;
+    field public static final java.net.SocketOption<java.lang.Boolean> IP_MULTICAST_LOOP;
+    field public static final java.net.SocketOption<java.lang.Integer> IP_MULTICAST_TTL;
+    field public static final java.net.SocketOption<java.lang.Integer> IP_TOS;
+    field public static final java.net.SocketOption<java.lang.Boolean> SO_BROADCAST;
+    field public static final java.net.SocketOption<java.lang.Boolean> SO_KEEPALIVE;
+    field public static final java.net.SocketOption<java.lang.Integer> SO_LINGER;
+    field public static final java.net.SocketOption<java.lang.Integer> SO_RCVBUF;
+    field public static final java.net.SocketOption<java.lang.Boolean> SO_REUSEADDR;
+    field public static final java.net.SocketOption<java.lang.Integer> SO_SNDBUF;
+    field public static final java.net.SocketOption<java.lang.Boolean> TCP_NODELAY;
+  }
+
+  public final class URI implements java.lang.Comparable<java.net.URI> java.io.Serializable {
+    ctor public URI(String) throws java.net.URISyntaxException;
+    ctor public URI(String, String, String, int, String, String, String) throws java.net.URISyntaxException;
+    ctor public URI(String, String, String, String, String) throws java.net.URISyntaxException;
+    ctor public URI(String, String, String, String) throws java.net.URISyntaxException;
+    ctor public URI(String, String, String) throws java.net.URISyntaxException;
+    method public int compareTo(java.net.URI);
+    method public static java.net.URI create(String);
+    method public String getAuthority();
+    method public String getFragment();
+    method public String getHost();
+    method public String getPath();
+    method public int getPort();
+    method public String getQuery();
+    method public String getRawAuthority();
+    method public String getRawFragment();
+    method public String getRawPath();
+    method public String getRawQuery();
+    method public String getRawSchemeSpecificPart();
+    method public String getRawUserInfo();
+    method public String getScheme();
+    method public String getSchemeSpecificPart();
+    method public String getUserInfo();
+    method public boolean isAbsolute();
+    method public boolean isOpaque();
+    method public java.net.URI normalize();
+    method public java.net.URI parseServerAuthority() throws java.net.URISyntaxException;
+    method public java.net.URI relativize(java.net.URI);
+    method public java.net.URI resolve(java.net.URI);
+    method public java.net.URI resolve(String);
+    method public String toASCIIString();
+    method public java.net.URL toURL() throws java.net.MalformedURLException;
+  }
+
+  public class URISyntaxException extends java.lang.Exception {
+    ctor public URISyntaxException(String, String, int);
+    ctor public URISyntaxException(String, String);
+    method public int getIndex();
+    method public String getInput();
+    method public String getReason();
+  }
+
+  public final class URL implements java.io.Serializable {
+    ctor public URL(String, String, int, String) throws java.net.MalformedURLException;
+    ctor public URL(String, String, String) throws java.net.MalformedURLException;
+    ctor public URL(String, String, int, String, java.net.URLStreamHandler) throws java.net.MalformedURLException;
+    ctor public URL(String) throws java.net.MalformedURLException;
+    ctor public URL(java.net.URL, String) throws java.net.MalformedURLException;
+    ctor public URL(java.net.URL, String, java.net.URLStreamHandler) throws java.net.MalformedURLException;
+    method public String getAuthority();
+    method public Object getContent() throws java.io.IOException;
+    method public Object getContent(Class[]) throws java.io.IOException;
+    method public int getDefaultPort();
+    method public String getFile();
+    method public String getHost();
+    method public String getPath();
+    method public int getPort();
+    method public String getProtocol();
+    method public String getQuery();
+    method public String getRef();
+    method public String getUserInfo();
+    method public java.net.URLConnection openConnection() throws java.io.IOException;
+    method public java.net.URLConnection openConnection(java.net.Proxy) throws java.io.IOException;
+    method public java.io.InputStream openStream() throws java.io.IOException;
+    method public boolean sameFile(java.net.URL);
+    method public static void setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory);
+    method public String toExternalForm();
+    method public java.net.URI toURI() throws java.net.URISyntaxException;
+  }
+
+  public class URLClassLoader extends java.security.SecureClassLoader implements java.io.Closeable {
+    ctor public URLClassLoader(java.net.URL[], ClassLoader);
+    ctor public URLClassLoader(java.net.URL[]);
+    ctor public URLClassLoader(java.net.URL[], ClassLoader, java.net.URLStreamHandlerFactory);
+    method protected void addURL(java.net.URL);
+    method public void close() throws java.io.IOException;
+    method protected Package definePackage(String, java.util.jar.Manifest, java.net.URL) throws java.lang.IllegalArgumentException;
+    method public java.net.URL findResource(String);
+    method public java.util.Enumeration<java.net.URL> findResources(String) throws java.io.IOException;
+    method public java.net.URL[] getURLs();
+    method public static java.net.URLClassLoader newInstance(java.net.URL[], ClassLoader);
+    method public static java.net.URLClassLoader newInstance(java.net.URL[]);
+  }
+
+  public abstract class URLConnection {
+    ctor protected URLConnection(java.net.URL);
+    method public void addRequestProperty(String, String);
+    method public abstract void connect() throws java.io.IOException;
+    method public boolean getAllowUserInteraction();
+    method public int getConnectTimeout();
+    method public Object getContent() throws java.io.IOException;
+    method public Object getContent(Class[]) throws java.io.IOException;
+    method public String getContentEncoding();
+    method public int getContentLength();
+    method public long getContentLengthLong();
+    method public String getContentType();
+    method public long getDate();
+    method public static boolean getDefaultAllowUserInteraction();
+    method @Deprecated public static String getDefaultRequestProperty(String);
+    method public boolean getDefaultUseCaches();
+    method public boolean getDoInput();
+    method public boolean getDoOutput();
+    method public long getExpiration();
+    method public static java.net.FileNameMap getFileNameMap();
+    method public String getHeaderField(String);
+    method public String getHeaderField(int);
+    method public long getHeaderFieldDate(String, long);
+    method public int getHeaderFieldInt(String, int);
+    method public String getHeaderFieldKey(int);
+    method public long getHeaderFieldLong(String, long);
+    method public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaderFields();
+    method public long getIfModifiedSince();
+    method public java.io.InputStream getInputStream() throws java.io.IOException;
+    method public long getLastModified();
+    method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+    method public java.security.Permission getPermission() throws java.io.IOException;
+    method public int getReadTimeout();
+    method public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getRequestProperties();
+    method public String getRequestProperty(String);
+    method public java.net.URL getURL();
+    method public boolean getUseCaches();
+    method public static String guessContentTypeFromName(String);
+    method public static String guessContentTypeFromStream(java.io.InputStream) throws java.io.IOException;
+    method public void setAllowUserInteraction(boolean);
+    method public void setConnectTimeout(int);
+    method public static void setContentHandlerFactory(java.net.ContentHandlerFactory);
+    method public static void setDefaultAllowUserInteraction(boolean);
+    method @Deprecated public static void setDefaultRequestProperty(String, String);
+    method public void setDefaultUseCaches(boolean);
+    method public void setDoInput(boolean);
+    method public void setDoOutput(boolean);
+    method public static void setFileNameMap(java.net.FileNameMap);
+    method public void setIfModifiedSince(long);
+    method public void setReadTimeout(int);
+    method public void setRequestProperty(String, String);
+    method public void setUseCaches(boolean);
+    field protected boolean allowUserInteraction;
+    field protected boolean connected;
+    field protected boolean doInput;
+    field protected boolean doOutput;
+    field protected long ifModifiedSince;
+    field protected java.net.URL url;
+    field protected boolean useCaches;
+  }
+
+  public class URLDecoder {
+    ctor public URLDecoder();
+    method @Deprecated public static String decode(String);
+    method public static String decode(String, String) throws java.io.UnsupportedEncodingException;
+  }
+
+  public class URLEncoder {
+    method @Deprecated public static String encode(String);
+    method public static String encode(String, String) throws java.io.UnsupportedEncodingException;
+  }
+
+  public abstract class URLStreamHandler {
+    ctor public URLStreamHandler();
+    method protected boolean equals(java.net.URL, java.net.URL);
+    method protected int getDefaultPort();
+    method protected java.net.InetAddress getHostAddress(java.net.URL);
+    method protected int hashCode(java.net.URL);
+    method protected boolean hostsEqual(java.net.URL, java.net.URL);
+    method protected abstract java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException;
+    method protected java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException;
+    method protected void parseURL(java.net.URL, String, int, int);
+    method protected boolean sameFile(java.net.URL, java.net.URL);
+    method protected void setURL(java.net.URL, String, String, int, String, String, String, String, String);
+    method @Deprecated protected void setURL(java.net.URL, String, String, int, String, String);
+    method protected String toExternalForm(java.net.URL);
+  }
+
+  public interface URLStreamHandlerFactory {
+    method public java.net.URLStreamHandler createURLStreamHandler(String);
+  }
+
+  public class UnknownHostException extends java.io.IOException {
+    ctor public UnknownHostException(String);
+    ctor public UnknownHostException();
+  }
+
+  public class UnknownServiceException extends java.io.IOException {
+    ctor public UnknownServiceException();
+    ctor public UnknownServiceException(String);
+  }
+
+}
+
+package java.nio {
+
+  public abstract class Buffer {
+    method public abstract Object array();
+    method public abstract int arrayOffset();
+    method public final int capacity();
+    method public java.nio.Buffer clear();
+    method public java.nio.Buffer flip();
+    method public abstract boolean hasArray();
+    method public final boolean hasRemaining();
+    method public abstract boolean isDirect();
+    method public abstract boolean isReadOnly();
+    method public final int limit();
+    method public java.nio.Buffer limit(int);
+    method public java.nio.Buffer mark();
+    method public final int position();
+    method public java.nio.Buffer position(int);
+    method public final int remaining();
+    method public java.nio.Buffer reset();
+    method public java.nio.Buffer rewind();
+  }
+
+  public class BufferOverflowException extends java.lang.RuntimeException {
+    ctor public BufferOverflowException();
+  }
+
+  public class BufferUnderflowException extends java.lang.RuntimeException {
+    ctor public BufferUnderflowException();
+  }
+
+  public abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer> {
+    method @NonNull public static java.nio.ByteBuffer allocate(int);
+    method @NonNull public static java.nio.ByteBuffer allocateDirect(int);
+    method @NonNull public final byte[] array();
+    method public final int arrayOffset();
+    method @NonNull public abstract java.nio.CharBuffer asCharBuffer();
+    method @NonNull public abstract java.nio.DoubleBuffer asDoubleBuffer();
+    method @NonNull public abstract java.nio.FloatBuffer asFloatBuffer();
+    method @NonNull public abstract java.nio.IntBuffer asIntBuffer();
+    method @NonNull public abstract java.nio.LongBuffer asLongBuffer();
+    method @NonNull public abstract java.nio.ByteBuffer asReadOnlyBuffer();
+    method @NonNull public abstract java.nio.ShortBuffer asShortBuffer();
+    method @NonNull public abstract java.nio.ByteBuffer compact();
+    method public int compareTo(@NonNull java.nio.ByteBuffer);
+    method @NonNull public abstract java.nio.ByteBuffer duplicate();
+    method public abstract byte get();
+    method public abstract byte get(int);
+    method @NonNull public java.nio.ByteBuffer get(@NonNull byte[], int, int);
+    method @NonNull public java.nio.ByteBuffer get(@NonNull byte[]);
+    method public abstract char getChar();
+    method public abstract char getChar(int);
+    method public abstract double getDouble();
+    method public abstract double getDouble(int);
+    method public abstract float getFloat();
+    method public abstract float getFloat(int);
+    method public abstract int getInt();
+    method public abstract int getInt(int);
+    method public abstract long getLong();
+    method public abstract long getLong(int);
+    method public abstract short getShort();
+    method public abstract short getShort(int);
+    method public final boolean hasArray();
+    method @NonNull public final java.nio.ByteOrder order();
+    method @NonNull public final java.nio.ByteBuffer order(@NonNull java.nio.ByteOrder);
+    method @NonNull public abstract java.nio.ByteBuffer put(byte);
+    method @NonNull public abstract java.nio.ByteBuffer put(int, byte);
+    method @NonNull public java.nio.ByteBuffer put(@NonNull java.nio.ByteBuffer);
+    method @NonNull public java.nio.ByteBuffer put(@NonNull byte[], int, int);
+    method @NonNull public final java.nio.ByteBuffer put(@NonNull byte[]);
+    method @NonNull public abstract java.nio.ByteBuffer putChar(char);
+    method @NonNull public abstract java.nio.ByteBuffer putChar(int, char);
+    method @NonNull public abstract java.nio.ByteBuffer putDouble(double);
+    method @NonNull public abstract java.nio.ByteBuffer putDouble(int, double);
+    method @NonNull public abstract java.nio.ByteBuffer putFloat(float);
+    method @NonNull public abstract java.nio.ByteBuffer putFloat(int, float);
+    method @NonNull public abstract java.nio.ByteBuffer putInt(int);
+    method @NonNull public abstract java.nio.ByteBuffer putInt(int, int);
+    method @NonNull public abstract java.nio.ByteBuffer putLong(long);
+    method @NonNull public abstract java.nio.ByteBuffer putLong(int, long);
+    method @NonNull public abstract java.nio.ByteBuffer putShort(short);
+    method @NonNull public abstract java.nio.ByteBuffer putShort(int, short);
+    method @NonNull public abstract java.nio.ByteBuffer slice();
+    method @NonNull public static java.nio.ByteBuffer wrap(@NonNull byte[], int, int);
+    method @NonNull public static java.nio.ByteBuffer wrap(@NonNull byte[]);
+  }
+
+  public final class ByteOrder {
+    method public static java.nio.ByteOrder nativeOrder();
+    field public static final java.nio.ByteOrder BIG_ENDIAN;
+    field public static final java.nio.ByteOrder LITTLE_ENDIAN;
+  }
+
+  public abstract class CharBuffer extends java.nio.Buffer implements java.lang.Appendable java.lang.CharSequence java.lang.Comparable<java.nio.CharBuffer> java.lang.Readable {
+    method public static java.nio.CharBuffer allocate(int);
+    method public java.nio.CharBuffer append(CharSequence);
+    method public java.nio.CharBuffer append(CharSequence, int, int);
+    method public java.nio.CharBuffer append(char);
+    method public final char[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.CharBuffer asReadOnlyBuffer();
+    method public final char charAt(int);
+    method public abstract java.nio.CharBuffer compact();
+    method public int compareTo(java.nio.CharBuffer);
+    method public abstract java.nio.CharBuffer duplicate();
+    method public abstract char get();
+    method public abstract char get(int);
+    method public java.nio.CharBuffer get(char[], int, int);
+    method public java.nio.CharBuffer get(char[]);
+    method public final boolean hasArray();
+    method public final int length();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.CharBuffer put(char);
+    method public abstract java.nio.CharBuffer put(int, char);
+    method public java.nio.CharBuffer put(java.nio.CharBuffer);
+    method public java.nio.CharBuffer put(char[], int, int);
+    method public final java.nio.CharBuffer put(char[]);
+    method public java.nio.CharBuffer put(String, int, int);
+    method public final java.nio.CharBuffer put(String);
+    method public int read(java.nio.CharBuffer) throws java.io.IOException;
+    method public abstract java.nio.CharBuffer slice();
+    method public abstract java.nio.CharBuffer subSequence(int, int);
+    method public static java.nio.CharBuffer wrap(char[], int, int);
+    method public static java.nio.CharBuffer wrap(char[]);
+    method public static java.nio.CharBuffer wrap(CharSequence, int, int);
+    method public static java.nio.CharBuffer wrap(CharSequence);
+  }
+
+  public abstract class DoubleBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.DoubleBuffer> {
+    method public static java.nio.DoubleBuffer allocate(int);
+    method public final double[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.DoubleBuffer asReadOnlyBuffer();
+    method public abstract java.nio.DoubleBuffer compact();
+    method public int compareTo(java.nio.DoubleBuffer);
+    method public abstract java.nio.DoubleBuffer duplicate();
+    method public abstract double get();
+    method public abstract double get(int);
+    method public java.nio.DoubleBuffer get(double[], int, int);
+    method public java.nio.DoubleBuffer get(double[]);
+    method public final boolean hasArray();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.DoubleBuffer put(double);
+    method public abstract java.nio.DoubleBuffer put(int, double);
+    method public java.nio.DoubleBuffer put(java.nio.DoubleBuffer);
+    method public java.nio.DoubleBuffer put(double[], int, int);
+    method public final java.nio.DoubleBuffer put(double[]);
+    method public abstract java.nio.DoubleBuffer slice();
+    method public static java.nio.DoubleBuffer wrap(double[], int, int);
+    method public static java.nio.DoubleBuffer wrap(double[]);
+  }
+
+  public abstract class FloatBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.FloatBuffer> {
+    method public static java.nio.FloatBuffer allocate(int);
+    method public final float[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.FloatBuffer asReadOnlyBuffer();
+    method public abstract java.nio.FloatBuffer compact();
+    method public int compareTo(java.nio.FloatBuffer);
+    method public abstract java.nio.FloatBuffer duplicate();
+    method public abstract float get();
+    method public abstract float get(int);
+    method public java.nio.FloatBuffer get(float[], int, int);
+    method public java.nio.FloatBuffer get(float[]);
+    method public final boolean hasArray();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.FloatBuffer put(float);
+    method public abstract java.nio.FloatBuffer put(int, float);
+    method public java.nio.FloatBuffer put(java.nio.FloatBuffer);
+    method public java.nio.FloatBuffer put(float[], int, int);
+    method public final java.nio.FloatBuffer put(float[]);
+    method public abstract java.nio.FloatBuffer slice();
+    method public static java.nio.FloatBuffer wrap(float[], int, int);
+    method public static java.nio.FloatBuffer wrap(float[]);
+  }
+
+  public abstract class IntBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.IntBuffer> {
+    method public static java.nio.IntBuffer allocate(int);
+    method public final int[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.IntBuffer asReadOnlyBuffer();
+    method public abstract java.nio.IntBuffer compact();
+    method public int compareTo(java.nio.IntBuffer);
+    method public abstract java.nio.IntBuffer duplicate();
+    method public abstract int get();
+    method public abstract int get(int);
+    method public java.nio.IntBuffer get(int[], int, int);
+    method public java.nio.IntBuffer get(int[]);
+    method public final boolean hasArray();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.IntBuffer put(int);
+    method public abstract java.nio.IntBuffer put(int, int);
+    method public java.nio.IntBuffer put(java.nio.IntBuffer);
+    method public java.nio.IntBuffer put(int[], int, int);
+    method public final java.nio.IntBuffer put(int[]);
+    method public abstract java.nio.IntBuffer slice();
+    method public static java.nio.IntBuffer wrap(int[], int, int);
+    method public static java.nio.IntBuffer wrap(int[]);
+  }
+
+  public class InvalidMarkException extends java.lang.IllegalStateException {
+    ctor public InvalidMarkException();
+  }
+
+  public abstract class LongBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.LongBuffer> {
+    method public static java.nio.LongBuffer allocate(int);
+    method public final long[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.LongBuffer asReadOnlyBuffer();
+    method public abstract java.nio.LongBuffer compact();
+    method public int compareTo(java.nio.LongBuffer);
+    method public abstract java.nio.LongBuffer duplicate();
+    method public abstract long get();
+    method public abstract long get(int);
+    method public java.nio.LongBuffer get(long[], int, int);
+    method public java.nio.LongBuffer get(long[]);
+    method public final boolean hasArray();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.LongBuffer put(long);
+    method public abstract java.nio.LongBuffer put(int, long);
+    method public java.nio.LongBuffer put(java.nio.LongBuffer);
+    method public java.nio.LongBuffer put(long[], int, int);
+    method public final java.nio.LongBuffer put(long[]);
+    method public abstract java.nio.LongBuffer slice();
+    method public static java.nio.LongBuffer wrap(long[], int, int);
+    method public static java.nio.LongBuffer wrap(long[]);
+  }
+
+  public abstract class MappedByteBuffer extends java.nio.ByteBuffer {
+    method public final java.nio.MappedByteBuffer force();
+    method public final boolean isLoaded();
+    method public final java.nio.MappedByteBuffer load();
+  }
+
+  public class ReadOnlyBufferException extends java.lang.UnsupportedOperationException {
+    ctor public ReadOnlyBufferException();
+  }
+
+  public abstract class ShortBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ShortBuffer> {
+    method public static java.nio.ShortBuffer allocate(int);
+    method public final short[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.ShortBuffer asReadOnlyBuffer();
+    method public abstract java.nio.ShortBuffer compact();
+    method public int compareTo(java.nio.ShortBuffer);
+    method public abstract java.nio.ShortBuffer duplicate();
+    method public abstract short get();
+    method public abstract short get(int);
+    method public java.nio.ShortBuffer get(short[], int, int);
+    method public java.nio.ShortBuffer get(short[]);
+    method public final boolean hasArray();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.ShortBuffer put(short);
+    method public abstract java.nio.ShortBuffer put(int, short);
+    method public java.nio.ShortBuffer put(java.nio.ShortBuffer);
+    method public java.nio.ShortBuffer put(short[], int, int);
+    method public final java.nio.ShortBuffer put(short[]);
+    method public abstract java.nio.ShortBuffer slice();
+    method public static java.nio.ShortBuffer wrap(short[], int, int);
+    method public static java.nio.ShortBuffer wrap(short[]);
+  }
+
+}
+
+package java.nio.channels {
+
+  public class AcceptPendingException extends java.lang.IllegalStateException {
+    ctor public AcceptPendingException();
+  }
+
+  public class AlreadyBoundException extends java.lang.IllegalStateException {
+    ctor public AlreadyBoundException();
+  }
+
+  public class AlreadyConnectedException extends java.lang.IllegalStateException {
+    ctor public AlreadyConnectedException();
+  }
+
+  public interface AsynchronousByteChannel extends java.nio.channels.AsynchronousChannel {
+    method public <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer);
+    method public <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer);
+  }
+
+  public interface AsynchronousChannel extends java.nio.channels.Channel {
+  }
+
+  public abstract class AsynchronousChannelGroup {
+    ctor protected AsynchronousChannelGroup(java.nio.channels.spi.AsynchronousChannelProvider);
+    method public abstract boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public abstract boolean isShutdown();
+    method public abstract boolean isTerminated();
+    method public final java.nio.channels.spi.AsynchronousChannelProvider provider();
+    method public abstract void shutdown();
+    method public abstract void shutdownNow() throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousChannelGroup withCachedThreadPool(java.util.concurrent.ExecutorService, int) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousChannelGroup withFixedThreadPool(int, java.util.concurrent.ThreadFactory) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousChannelGroup withThreadPool(java.util.concurrent.ExecutorService) throws java.io.IOException;
+  }
+
+  public class AsynchronousCloseException extends java.nio.channels.ClosedChannelException {
+    ctor public AsynchronousCloseException();
+  }
+
+  public abstract class AsynchronousFileChannel implements java.nio.channels.AsynchronousChannel {
+    ctor protected AsynchronousFileChannel();
+    method public abstract void force(boolean) throws java.io.IOException;
+    method public abstract <A> void lock(long, long, boolean, A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock,? super A>);
+    method public final <A> void lock(A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock,? super A>);
+    method public abstract java.util.concurrent.Future<java.nio.channels.FileLock> lock(long, long, boolean);
+    method public final java.util.concurrent.Future<java.nio.channels.FileLock> lock();
+    method public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.util.concurrent.ExecutorService, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public abstract <A> void read(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer, long);
+    method public abstract long size() throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousFileChannel truncate(long) throws java.io.IOException;
+    method public abstract java.nio.channels.FileLock tryLock(long, long, boolean) throws java.io.IOException;
+    method public final java.nio.channels.FileLock tryLock() throws java.io.IOException;
+    method public abstract <A> void write(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer, long);
+  }
+
+  public abstract class AsynchronousServerSocketChannel implements java.nio.channels.AsynchronousChannel java.nio.channels.NetworkChannel {
+    ctor protected AsynchronousServerSocketChannel(java.nio.channels.spi.AsynchronousChannelProvider);
+    method public abstract <A> void accept(A, java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel,? super A>);
+    method public abstract java.util.concurrent.Future<java.nio.channels.AsynchronousSocketChannel> accept();
+    method public final java.nio.channels.AsynchronousServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousServerSocketChannel open(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousServerSocketChannel open() throws java.io.IOException;
+    method public final java.nio.channels.spi.AsynchronousChannelProvider provider();
+    method public abstract <T> java.nio.channels.AsynchronousServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+  }
+
+  public abstract class AsynchronousSocketChannel implements java.nio.channels.AsynchronousByteChannel java.nio.channels.NetworkChannel {
+    ctor protected AsynchronousSocketChannel(java.nio.channels.spi.AsynchronousChannelProvider);
+    method public abstract java.nio.channels.AsynchronousSocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract <A> void connect(java.net.SocketAddress, A, java.nio.channels.CompletionHandler<java.lang.Void,? super A>);
+    method public abstract java.util.concurrent.Future<java.lang.Void> connect(java.net.SocketAddress);
+    method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousSocketChannel open(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousSocketChannel open() throws java.io.IOException;
+    method public final java.nio.channels.spi.AsynchronousChannelProvider provider();
+    method public abstract <A> void read(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public final <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public abstract <A> void read(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long,? super A>);
+    method public abstract <T> java.nio.channels.AsynchronousSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousSocketChannel shutdownInput() throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousSocketChannel shutdownOutput() throws java.io.IOException;
+    method public abstract <A> void write(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public final <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public abstract <A> void write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long,? super A>);
+  }
+
+  public interface ByteChannel extends java.nio.channels.ReadableByteChannel java.nio.channels.WritableByteChannel {
+  }
+
+  public class CancelledKeyException extends java.lang.IllegalStateException {
+    ctor public CancelledKeyException();
+  }
+
+  public interface Channel extends java.io.Closeable {
+    method public boolean isOpen();
+  }
+
+  public final class Channels {
+    method public static java.nio.channels.ReadableByteChannel newChannel(java.io.InputStream);
+    method public static java.nio.channels.WritableByteChannel newChannel(java.io.OutputStream);
+    method public static java.io.InputStream newInputStream(java.nio.channels.ReadableByteChannel);
+    method public static java.io.InputStream newInputStream(java.nio.channels.AsynchronousByteChannel);
+    method public static java.io.OutputStream newOutputStream(java.nio.channels.WritableByteChannel);
+    method public static java.io.OutputStream newOutputStream(java.nio.channels.AsynchronousByteChannel);
+    method public static java.io.Reader newReader(java.nio.channels.ReadableByteChannel, java.nio.charset.CharsetDecoder, int);
+    method public static java.io.Reader newReader(java.nio.channels.ReadableByteChannel, String);
+    method public static java.io.Writer newWriter(java.nio.channels.WritableByteChannel, java.nio.charset.CharsetEncoder, int);
+    method public static java.io.Writer newWriter(java.nio.channels.WritableByteChannel, String);
+  }
+
+  public class ClosedByInterruptException extends java.nio.channels.AsynchronousCloseException {
+    ctor public ClosedByInterruptException();
+  }
+
+  public class ClosedChannelException extends java.io.IOException {
+    ctor public ClosedChannelException();
+  }
+
+  public class ClosedSelectorException extends java.lang.IllegalStateException {
+    ctor public ClosedSelectorException();
+  }
+
+  public interface CompletionHandler<V, A> {
+    method public void completed(V, A);
+    method public void failed(Throwable, A);
+  }
+
+  public class ConnectionPendingException extends java.lang.IllegalStateException {
+    ctor public ConnectionPendingException();
+  }
+
+  public abstract class DatagramChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ByteChannel java.nio.channels.GatheringByteChannel java.nio.channels.MulticastChannel java.nio.channels.ScatteringByteChannel {
+    ctor protected DatagramChannel(java.nio.channels.spi.SelectorProvider);
+    method public abstract java.nio.channels.DatagramChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract java.nio.channels.DatagramChannel connect(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract java.nio.channels.DatagramChannel disconnect() throws java.io.IOException;
+    method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException;
+    method public abstract boolean isConnected();
+    method public static java.nio.channels.DatagramChannel open() throws java.io.IOException;
+    method public static java.nio.channels.DatagramChannel open(java.net.ProtocolFamily) throws java.io.IOException;
+    method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+    method public abstract java.net.SocketAddress receive(java.nio.ByteBuffer) throws java.io.IOException;
+    method public abstract int send(java.nio.ByteBuffer, java.net.SocketAddress) throws java.io.IOException;
+    method public abstract <T> java.nio.channels.DatagramChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+    method public abstract java.net.DatagramSocket socket();
+    method public final int validOps();
+    method public final long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+  }
+
+  public abstract class FileChannel extends java.nio.channels.spi.AbstractInterruptibleChannel implements java.nio.channels.GatheringByteChannel java.nio.channels.ScatteringByteChannel java.nio.channels.SeekableByteChannel {
+    ctor protected FileChannel();
+    method public abstract void force(boolean) throws java.io.IOException;
+    method public abstract java.nio.channels.FileLock lock(long, long, boolean) throws java.io.IOException;
+    method public final java.nio.channels.FileLock lock() throws java.io.IOException;
+    method public abstract java.nio.MappedByteBuffer map(java.nio.channels.FileChannel.MapMode, long, long) throws java.io.IOException;
+    method public static java.nio.channels.FileChannel open(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.channels.FileChannel open(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public abstract java.nio.channels.FileChannel position(long) throws java.io.IOException;
+    method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+    method public abstract int read(java.nio.ByteBuffer, long) throws java.io.IOException;
+    method public abstract long transferFrom(java.nio.channels.ReadableByteChannel, long, long) throws java.io.IOException;
+    method public abstract long transferTo(long, long, java.nio.channels.WritableByteChannel) throws java.io.IOException;
+    method public abstract java.nio.channels.FileChannel truncate(long) throws java.io.IOException;
+    method public abstract java.nio.channels.FileLock tryLock(long, long, boolean) throws java.io.IOException;
+    method public final java.nio.channels.FileLock tryLock() throws java.io.IOException;
+    method public final long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+    method public abstract int write(java.nio.ByteBuffer, long) throws java.io.IOException;
+  }
+
+  public static class FileChannel.MapMode {
+    field public static final java.nio.channels.FileChannel.MapMode PRIVATE;
+    field public static final java.nio.channels.FileChannel.MapMode READ_ONLY;
+    field public static final java.nio.channels.FileChannel.MapMode READ_WRITE;
+  }
+
+  public abstract class FileLock implements java.lang.AutoCloseable {
+    ctor protected FileLock(java.nio.channels.FileChannel, long, long, boolean);
+    ctor protected FileLock(java.nio.channels.AsynchronousFileChannel, long, long, boolean);
+    method public java.nio.channels.Channel acquiredBy();
+    method public final java.nio.channels.FileChannel channel();
+    method public final void close() throws java.io.IOException;
+    method public final boolean isShared();
+    method public abstract boolean isValid();
+    method public final boolean overlaps(long, long);
+    method public final long position();
+    method public abstract void release() throws java.io.IOException;
+    method public final long size();
+    method public final String toString();
+  }
+
+  public class FileLockInterruptionException extends java.io.IOException {
+    ctor public FileLockInterruptionException();
+  }
+
+  public interface GatheringByteChannel extends java.nio.channels.WritableByteChannel {
+    method public long write(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+    method public long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+  }
+
+  public class IllegalBlockingModeException extends java.lang.IllegalStateException {
+    ctor public IllegalBlockingModeException();
+  }
+
+  public class IllegalChannelGroupException extends java.lang.IllegalArgumentException {
+    ctor public IllegalChannelGroupException();
+  }
+
+  public class IllegalSelectorException extends java.lang.IllegalArgumentException {
+    ctor public IllegalSelectorException();
+  }
+
+  public class InterruptedByTimeoutException extends java.io.IOException {
+    ctor public InterruptedByTimeoutException();
+  }
+
+  public interface InterruptibleChannel extends java.nio.channels.Channel {
+  }
+
+  public abstract class MembershipKey {
+    ctor protected MembershipKey();
+    method public abstract java.nio.channels.MembershipKey block(java.net.InetAddress) throws java.io.IOException;
+    method public abstract java.nio.channels.MulticastChannel channel();
+    method public abstract void drop();
+    method public abstract java.net.InetAddress group();
+    method public abstract boolean isValid();
+    method public abstract java.net.NetworkInterface networkInterface();
+    method public abstract java.net.InetAddress sourceAddress();
+    method public abstract java.nio.channels.MembershipKey unblock(java.net.InetAddress);
+  }
+
+  public interface MulticastChannel extends java.nio.channels.NetworkChannel {
+    method public java.nio.channels.MembershipKey join(java.net.InetAddress, java.net.NetworkInterface) throws java.io.IOException;
+    method public java.nio.channels.MembershipKey join(java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress) throws java.io.IOException;
+  }
+
+  public interface NetworkChannel extends java.nio.channels.Channel {
+    method public java.nio.channels.NetworkChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public java.net.SocketAddress getLocalAddress() throws java.io.IOException;
+    method public <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException;
+    method public <T> java.nio.channels.NetworkChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+    method public java.util.Set<java.net.SocketOption<?>> supportedOptions();
+  }
+
+  public class NoConnectionPendingException extends java.lang.IllegalStateException {
+    ctor public NoConnectionPendingException();
+  }
+
+  public class NonReadableChannelException extends java.lang.IllegalStateException {
+    ctor public NonReadableChannelException();
+  }
+
+  public class NonWritableChannelException extends java.lang.IllegalStateException {
+    ctor public NonWritableChannelException();
+  }
+
+  public class NotYetBoundException extends java.lang.IllegalStateException {
+    ctor public NotYetBoundException();
+  }
+
+  public class NotYetConnectedException extends java.lang.IllegalStateException {
+    ctor public NotYetConnectedException();
+  }
+
+  public class OverlappingFileLockException extends java.lang.IllegalStateException {
+    ctor public OverlappingFileLockException();
+  }
+
+  public abstract class Pipe {
+    ctor protected Pipe();
+    method public static java.nio.channels.Pipe open() throws java.io.IOException;
+    method public abstract java.nio.channels.Pipe.SinkChannel sink();
+    method public abstract java.nio.channels.Pipe.SourceChannel source();
+  }
+
+  public abstract static class Pipe.SinkChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.GatheringByteChannel java.nio.channels.WritableByteChannel {
+    ctor protected Pipe.SinkChannel(java.nio.channels.spi.SelectorProvider);
+    method public final int validOps();
+  }
+
+  public abstract static class Pipe.SourceChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ReadableByteChannel java.nio.channels.ScatteringByteChannel {
+    ctor protected Pipe.SourceChannel(java.nio.channels.spi.SelectorProvider);
+    method public final int validOps();
+  }
+
+  public class ReadPendingException extends java.lang.IllegalStateException {
+    ctor public ReadPendingException();
+  }
+
+  public interface ReadableByteChannel extends java.nio.channels.Channel {
+    method public int read(java.nio.ByteBuffer) throws java.io.IOException;
+  }
+
+  public interface ScatteringByteChannel extends java.nio.channels.ReadableByteChannel {
+    method public long read(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+    method public long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+  }
+
+  public interface SeekableByteChannel extends java.nio.channels.ByteChannel {
+    method public long position() throws java.io.IOException;
+    method public java.nio.channels.SeekableByteChannel position(long) throws java.io.IOException;
+    method public long size() throws java.io.IOException;
+    method public java.nio.channels.SeekableByteChannel truncate(long) throws java.io.IOException;
+  }
+
+  public abstract class SelectableChannel extends java.nio.channels.spi.AbstractInterruptibleChannel implements java.nio.channels.Channel {
+    ctor protected SelectableChannel();
+    method public abstract Object blockingLock();
+    method public abstract java.nio.channels.SelectableChannel configureBlocking(boolean) throws java.io.IOException;
+    method public abstract boolean isBlocking();
+    method public abstract boolean isRegistered();
+    method public abstract java.nio.channels.SelectionKey keyFor(java.nio.channels.Selector);
+    method public abstract java.nio.channels.spi.SelectorProvider provider();
+    method public abstract java.nio.channels.SelectionKey register(java.nio.channels.Selector, int, Object) throws java.nio.channels.ClosedChannelException;
+    method public final java.nio.channels.SelectionKey register(java.nio.channels.Selector, int) throws java.nio.channels.ClosedChannelException;
+    method public abstract int validOps();
+  }
+
+  public abstract class SelectionKey {
+    ctor protected SelectionKey();
+    method public final Object attach(Object);
+    method public final Object attachment();
+    method public abstract void cancel();
+    method public abstract java.nio.channels.SelectableChannel channel();
+    method public abstract int interestOps();
+    method public abstract java.nio.channels.SelectionKey interestOps(int);
+    method public final boolean isAcceptable();
+    method public final boolean isConnectable();
+    method public final boolean isReadable();
+    method public abstract boolean isValid();
+    method public final boolean isWritable();
+    method public abstract int readyOps();
+    method public abstract java.nio.channels.Selector selector();
+    field public static final int OP_ACCEPT = 16; // 0x10
+    field public static final int OP_CONNECT = 8; // 0x8
+    field public static final int OP_READ = 1; // 0x1
+    field public static final int OP_WRITE = 4; // 0x4
+  }
+
+  public abstract class Selector implements java.io.Closeable {
+    ctor protected Selector();
+    method public abstract boolean isOpen();
+    method public abstract java.util.Set<java.nio.channels.SelectionKey> keys();
+    method public static java.nio.channels.Selector open() throws java.io.IOException;
+    method public abstract java.nio.channels.spi.SelectorProvider provider();
+    method public abstract int select(long) throws java.io.IOException;
+    method public abstract int select() throws java.io.IOException;
+    method public abstract int selectNow() throws java.io.IOException;
+    method public abstract java.util.Set<java.nio.channels.SelectionKey> selectedKeys();
+    method public abstract java.nio.channels.Selector wakeup();
+  }
+
+  public abstract class ServerSocketChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.NetworkChannel {
+    ctor protected ServerSocketChannel(java.nio.channels.spi.SelectorProvider);
+    method public abstract java.nio.channels.SocketChannel accept() throws java.io.IOException;
+    method public final java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException;
+    method public static java.nio.channels.ServerSocketChannel open() throws java.io.IOException;
+    method public abstract <T> java.nio.channels.ServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+    method public abstract java.net.ServerSocket socket();
+    method public final int validOps();
+  }
+
+  public class ShutdownChannelGroupException extends java.lang.IllegalStateException {
+    ctor public ShutdownChannelGroupException();
+  }
+
+  public abstract class SocketChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ByteChannel java.nio.channels.GatheringByteChannel java.nio.channels.NetworkChannel java.nio.channels.ScatteringByteChannel {
+    ctor protected SocketChannel(java.nio.channels.spi.SelectorProvider);
+    method public abstract java.nio.channels.SocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract boolean connect(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract boolean finishConnect() throws java.io.IOException;
+    method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException;
+    method public abstract boolean isConnected();
+    method public abstract boolean isConnectionPending();
+    method public static java.nio.channels.SocketChannel open() throws java.io.IOException;
+    method public static java.nio.channels.SocketChannel open(java.net.SocketAddress) throws java.io.IOException;
+    method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+    method public abstract <T> java.nio.channels.SocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+    method public abstract java.nio.channels.SocketChannel shutdownInput() throws java.io.IOException;
+    method public abstract java.nio.channels.SocketChannel shutdownOutput() throws java.io.IOException;
+    method public abstract java.net.Socket socket();
+    method public final int validOps();
+    method public final long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+  }
+
+  public class UnresolvedAddressException extends java.lang.IllegalArgumentException {
+    ctor public UnresolvedAddressException();
+  }
+
+  public class UnsupportedAddressTypeException extends java.lang.IllegalArgumentException {
+    ctor public UnsupportedAddressTypeException();
+  }
+
+  public interface WritableByteChannel extends java.nio.channels.Channel {
+    method public int write(java.nio.ByteBuffer) throws java.io.IOException;
+  }
+
+  public class WritePendingException extends java.lang.IllegalStateException {
+    ctor public WritePendingException();
+  }
+
+}
+
+package java.nio.channels.spi {
+
+  public abstract class AbstractInterruptibleChannel implements java.nio.channels.Channel java.nio.channels.InterruptibleChannel {
+    ctor protected AbstractInterruptibleChannel();
+    method protected final void begin();
+    method public final void close() throws java.io.IOException;
+    method protected final void end(boolean) throws java.nio.channels.AsynchronousCloseException;
+    method protected abstract void implCloseChannel() throws java.io.IOException;
+    method public final boolean isOpen();
+  }
+
+  public abstract class AbstractSelectableChannel extends java.nio.channels.SelectableChannel {
+    ctor protected AbstractSelectableChannel(java.nio.channels.spi.SelectorProvider);
+    method public final Object blockingLock();
+    method public final java.nio.channels.SelectableChannel configureBlocking(boolean) throws java.io.IOException;
+    method protected final void implCloseChannel() throws java.io.IOException;
+    method protected abstract void implCloseSelectableChannel() throws java.io.IOException;
+    method protected abstract void implConfigureBlocking(boolean) throws java.io.IOException;
+    method public final boolean isBlocking();
+    method public final boolean isRegistered();
+    method public final java.nio.channels.SelectionKey keyFor(java.nio.channels.Selector);
+    method public final java.nio.channels.spi.SelectorProvider provider();
+    method public final java.nio.channels.SelectionKey register(java.nio.channels.Selector, int, Object) throws java.nio.channels.ClosedChannelException;
+  }
+
+  public abstract class AbstractSelectionKey extends java.nio.channels.SelectionKey {
+    ctor protected AbstractSelectionKey();
+    method public final void cancel();
+    method public final boolean isValid();
+  }
+
+  public abstract class AbstractSelector extends java.nio.channels.Selector {
+    ctor protected AbstractSelector(java.nio.channels.spi.SelectorProvider);
+    method protected final void begin();
+    method protected final java.util.Set<java.nio.channels.SelectionKey> cancelledKeys();
+    method public final void close() throws java.io.IOException;
+    method protected final void deregister(java.nio.channels.spi.AbstractSelectionKey);
+    method protected final void end();
+    method protected abstract void implCloseSelector() throws java.io.IOException;
+    method public final boolean isOpen();
+    method public final java.nio.channels.spi.SelectorProvider provider();
+    method protected abstract java.nio.channels.SelectionKey register(java.nio.channels.spi.AbstractSelectableChannel, int, Object);
+  }
+
+  public abstract class AsynchronousChannelProvider {
+    ctor protected AsynchronousChannelProvider();
+    method public abstract java.nio.channels.AsynchronousChannelGroup openAsynchronousChannelGroup(int, java.util.concurrent.ThreadFactory) throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousChannelGroup openAsynchronousChannelGroup(java.util.concurrent.ExecutorService, int) throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousServerSocketChannel openAsynchronousServerSocketChannel(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousSocketChannel openAsynchronousSocketChannel(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException;
+    method public static java.nio.channels.spi.AsynchronousChannelProvider provider();
+  }
+
+  public abstract class SelectorProvider {
+    ctor protected SelectorProvider();
+    method public java.nio.channels.Channel inheritedChannel() throws java.io.IOException;
+    method public abstract java.nio.channels.DatagramChannel openDatagramChannel() throws java.io.IOException;
+    method public abstract java.nio.channels.DatagramChannel openDatagramChannel(java.net.ProtocolFamily) throws java.io.IOException;
+    method public abstract java.nio.channels.Pipe openPipe() throws java.io.IOException;
+    method public abstract java.nio.channels.spi.AbstractSelector openSelector() throws java.io.IOException;
+    method public abstract java.nio.channels.ServerSocketChannel openServerSocketChannel() throws java.io.IOException;
+    method public abstract java.nio.channels.SocketChannel openSocketChannel() throws java.io.IOException;
+    method public static java.nio.channels.spi.SelectorProvider provider();
+  }
+
+}
+
+package java.nio.charset {
+
+  public class CharacterCodingException extends java.io.IOException {
+    ctor public CharacterCodingException();
+  }
+
+  public abstract class Charset implements java.lang.Comparable<java.nio.charset.Charset> {
+    ctor protected Charset(String, String[]);
+    method public final java.util.Set<java.lang.String> aliases();
+    method public static java.util.SortedMap<java.lang.String,java.nio.charset.Charset> availableCharsets();
+    method public boolean canEncode();
+    method public final int compareTo(java.nio.charset.Charset);
+    method public abstract boolean contains(java.nio.charset.Charset);
+    method public final java.nio.CharBuffer decode(java.nio.ByteBuffer);
+    method public static java.nio.charset.Charset defaultCharset();
+    method public String displayName();
+    method public String displayName(java.util.Locale);
+    method public final java.nio.ByteBuffer encode(java.nio.CharBuffer);
+    method public final java.nio.ByteBuffer encode(String);
+    method public final boolean equals(Object);
+    method public static java.nio.charset.Charset forName(String);
+    method public final int hashCode();
+    method public final boolean isRegistered();
+    method public static boolean isSupported(String);
+    method public final String name();
+    method public abstract java.nio.charset.CharsetDecoder newDecoder();
+    method public abstract java.nio.charset.CharsetEncoder newEncoder();
+    method public final String toString();
+  }
+
+  public abstract class CharsetDecoder {
+    ctor protected CharsetDecoder(java.nio.charset.Charset, float, float);
+    method public final float averageCharsPerByte();
+    method public final java.nio.charset.Charset charset();
+    method public final java.nio.charset.CoderResult decode(java.nio.ByteBuffer, java.nio.CharBuffer, boolean);
+    method public final java.nio.CharBuffer decode(java.nio.ByteBuffer) throws java.nio.charset.CharacterCodingException;
+    method protected abstract java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
+    method public java.nio.charset.Charset detectedCharset();
+    method public final java.nio.charset.CoderResult flush(java.nio.CharBuffer);
+    method protected java.nio.charset.CoderResult implFlush(java.nio.CharBuffer);
+    method protected void implOnMalformedInput(java.nio.charset.CodingErrorAction);
+    method protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction);
+    method protected void implReplaceWith(String);
+    method protected void implReset();
+    method public boolean isAutoDetecting();
+    method public boolean isCharsetDetected();
+    method public java.nio.charset.CodingErrorAction malformedInputAction();
+    method public final float maxCharsPerByte();
+    method public final java.nio.charset.CharsetDecoder onMalformedInput(java.nio.charset.CodingErrorAction);
+    method public final java.nio.charset.CharsetDecoder onUnmappableCharacter(java.nio.charset.CodingErrorAction);
+    method public final java.nio.charset.CharsetDecoder replaceWith(String);
+    method public final String replacement();
+    method public final java.nio.charset.CharsetDecoder reset();
+    method public java.nio.charset.CodingErrorAction unmappableCharacterAction();
+  }
+
+  public abstract class CharsetEncoder {
+    ctor protected CharsetEncoder(java.nio.charset.Charset, float, float, byte[]);
+    ctor protected CharsetEncoder(java.nio.charset.Charset, float, float);
+    method public final float averageBytesPerChar();
+    method public boolean canEncode(char);
+    method public boolean canEncode(CharSequence);
+    method public final java.nio.charset.Charset charset();
+    method public final java.nio.charset.CoderResult encode(java.nio.CharBuffer, java.nio.ByteBuffer, boolean);
+    method public final java.nio.ByteBuffer encode(java.nio.CharBuffer) throws java.nio.charset.CharacterCodingException;
+    method protected abstract java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
+    method public final java.nio.charset.CoderResult flush(java.nio.ByteBuffer);
+    method protected java.nio.charset.CoderResult implFlush(java.nio.ByteBuffer);
+    method protected void implOnMalformedInput(java.nio.charset.CodingErrorAction);
+    method protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction);
+    method protected void implReplaceWith(byte[]);
+    method protected void implReset();
+    method public boolean isLegalReplacement(byte[]);
+    method public java.nio.charset.CodingErrorAction malformedInputAction();
+    method public final float maxBytesPerChar();
+    method public final java.nio.charset.CharsetEncoder onMalformedInput(java.nio.charset.CodingErrorAction);
+    method public final java.nio.charset.CharsetEncoder onUnmappableCharacter(java.nio.charset.CodingErrorAction);
+    method public final java.nio.charset.CharsetEncoder replaceWith(byte[]);
+    method public final byte[] replacement();
+    method public final java.nio.charset.CharsetEncoder reset();
+    method public java.nio.charset.CodingErrorAction unmappableCharacterAction();
+  }
+
+  public class CoderMalfunctionError extends java.lang.Error {
+    ctor public CoderMalfunctionError(Exception);
+  }
+
+  public class CoderResult {
+    method public boolean isError();
+    method public boolean isMalformed();
+    method public boolean isOverflow();
+    method public boolean isUnderflow();
+    method public boolean isUnmappable();
+    method public int length();
+    method public static java.nio.charset.CoderResult malformedForLength(int);
+    method public void throwException() throws java.nio.charset.CharacterCodingException;
+    method public static java.nio.charset.CoderResult unmappableForLength(int);
+    field public static final java.nio.charset.CoderResult OVERFLOW;
+    field public static final java.nio.charset.CoderResult UNDERFLOW;
+  }
+
+  public class CodingErrorAction {
+    field public static final java.nio.charset.CodingErrorAction IGNORE;
+    field public static final java.nio.charset.CodingErrorAction REPLACE;
+    field public static final java.nio.charset.CodingErrorAction REPORT;
+  }
+
+  public class IllegalCharsetNameException extends java.lang.IllegalArgumentException {
+    ctor public IllegalCharsetNameException(String);
+    method public String getCharsetName();
+  }
+
+  public class MalformedInputException extends java.nio.charset.CharacterCodingException {
+    ctor public MalformedInputException(int);
+    method public int getInputLength();
+  }
+
+  public final class StandardCharsets {
+    field public static final java.nio.charset.Charset ISO_8859_1;
+    field public static final java.nio.charset.Charset US_ASCII;
+    field public static final java.nio.charset.Charset UTF_16;
+    field public static final java.nio.charset.Charset UTF_16BE;
+    field public static final java.nio.charset.Charset UTF_16LE;
+    field public static final java.nio.charset.Charset UTF_8;
+  }
+
+  public class UnmappableCharacterException extends java.nio.charset.CharacterCodingException {
+    ctor public UnmappableCharacterException(int);
+    method public int getInputLength();
+  }
+
+  public class UnsupportedCharsetException extends java.lang.IllegalArgumentException {
+    ctor public UnsupportedCharsetException(String);
+    method public String getCharsetName();
+  }
+
+}
+
+package java.nio.charset.spi {
+
+  public abstract class CharsetProvider {
+    ctor protected CharsetProvider();
+    method public abstract java.nio.charset.Charset charsetForName(String);
+    method public abstract java.util.Iterator<java.nio.charset.Charset> charsets();
+  }
+
+}
+
+package java.nio.file {
+
+  public class AccessDeniedException extends java.nio.file.FileSystemException {
+    ctor public AccessDeniedException(String);
+    ctor public AccessDeniedException(String, String, String);
+  }
+
+  public enum AccessMode {
+    enum_constant public static final java.nio.file.AccessMode EXECUTE;
+    enum_constant public static final java.nio.file.AccessMode READ;
+    enum_constant public static final java.nio.file.AccessMode WRITE;
+  }
+
+  public class AtomicMoveNotSupportedException extends java.nio.file.FileSystemException {
+    ctor public AtomicMoveNotSupportedException(String, String, String);
+  }
+
+  public class ClosedDirectoryStreamException extends java.lang.IllegalStateException {
+    ctor public ClosedDirectoryStreamException();
+  }
+
+  public class ClosedFileSystemException extends java.lang.IllegalStateException {
+    ctor public ClosedFileSystemException();
+  }
+
+  public class ClosedWatchServiceException extends java.lang.IllegalStateException {
+    ctor public ClosedWatchServiceException();
+  }
+
+  public interface CopyOption {
+  }
+
+  public final class DirectoryIteratorException extends java.util.ConcurrentModificationException {
+    ctor public DirectoryIteratorException(java.io.IOException);
+    method public java.io.IOException getCause();
+  }
+
+  public class DirectoryNotEmptyException extends java.nio.file.FileSystemException {
+    ctor public DirectoryNotEmptyException(String);
+  }
+
+  public interface DirectoryStream<T> extends java.io.Closeable java.lang.Iterable<T> {
+  }
+
+  @java.lang.FunctionalInterface public static interface DirectoryStream.Filter<T> {
+    method public boolean accept(T) throws java.io.IOException;
+  }
+
+  public class FileAlreadyExistsException extends java.nio.file.FileSystemException {
+    ctor public FileAlreadyExistsException(String);
+    ctor public FileAlreadyExistsException(String, String, String);
+  }
+
+  public abstract class FileStore {
+    ctor protected FileStore();
+    method public abstract Object getAttribute(String) throws java.io.IOException;
+    method public abstract <V extends java.nio.file.attribute.FileStoreAttributeView> V getFileStoreAttributeView(Class<V>);
+    method public abstract long getTotalSpace() throws java.io.IOException;
+    method public abstract long getUnallocatedSpace() throws java.io.IOException;
+    method public abstract long getUsableSpace() throws java.io.IOException;
+    method public abstract boolean isReadOnly();
+    method public abstract String name();
+    method public abstract boolean supportsFileAttributeView(Class<? extends java.nio.file.attribute.FileAttributeView>);
+    method public abstract boolean supportsFileAttributeView(String);
+    method public abstract String type();
+  }
+
+  public abstract class FileSystem implements java.io.Closeable {
+    ctor protected FileSystem();
+    method public abstract Iterable<java.nio.file.FileStore> getFileStores();
+    method public abstract java.nio.file.Path getPath(String, java.lang.String...);
+    method public abstract java.nio.file.PathMatcher getPathMatcher(String);
+    method public abstract Iterable<java.nio.file.Path> getRootDirectories();
+    method public abstract String getSeparator();
+    method public abstract java.nio.file.attribute.UserPrincipalLookupService getUserPrincipalLookupService();
+    method public abstract boolean isOpen();
+    method public abstract boolean isReadOnly();
+    method public abstract java.nio.file.WatchService newWatchService() throws java.io.IOException;
+    method public abstract java.nio.file.spi.FileSystemProvider provider();
+    method public abstract java.util.Set<java.lang.String> supportedFileAttributeViews();
+  }
+
+  public class FileSystemAlreadyExistsException extends java.lang.RuntimeException {
+    ctor public FileSystemAlreadyExistsException();
+    ctor public FileSystemAlreadyExistsException(String);
+  }
+
+  public class FileSystemException extends java.io.IOException {
+    ctor public FileSystemException(String);
+    ctor public FileSystemException(String, String, String);
+    method public String getFile();
+    method public String getOtherFile();
+    method public String getReason();
+  }
+
+  public class FileSystemLoopException extends java.nio.file.FileSystemException {
+    ctor public FileSystemLoopException(String);
+  }
+
+  public class FileSystemNotFoundException extends java.lang.RuntimeException {
+    ctor public FileSystemNotFoundException();
+    ctor public FileSystemNotFoundException(String);
+  }
+
+  public final class FileSystems {
+    method public static java.nio.file.FileSystem getDefault();
+    method public static java.nio.file.FileSystem getFileSystem(java.net.URI);
+    method public static java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map<java.lang.String,?>) throws java.io.IOException;
+    method public static java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map<java.lang.String,?>, ClassLoader) throws java.io.IOException;
+    method public static java.nio.file.FileSystem newFileSystem(java.nio.file.Path, ClassLoader) throws java.io.IOException;
+  }
+
+  public enum FileVisitOption {
+    enum_constant public static final java.nio.file.FileVisitOption FOLLOW_LINKS;
+  }
+
+  public enum FileVisitResult {
+    enum_constant public static final java.nio.file.FileVisitResult CONTINUE;
+    enum_constant public static final java.nio.file.FileVisitResult SKIP_SIBLINGS;
+    enum_constant public static final java.nio.file.FileVisitResult SKIP_SUBTREE;
+    enum_constant public static final java.nio.file.FileVisitResult TERMINATE;
+  }
+
+  public interface FileVisitor<T> {
+    method public java.nio.file.FileVisitResult postVisitDirectory(T, java.io.IOException) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult preVisitDirectory(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult visitFile(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult visitFileFailed(T, java.io.IOException) throws java.io.IOException;
+  }
+
+  public final class Files {
+    method public static java.nio.file.Path copy(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException;
+    method public static long copy(java.io.InputStream, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException;
+    method public static long copy(java.nio.file.Path, java.io.OutputStream) throws java.io.IOException;
+    method public static java.nio.file.Path createDirectories(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createFile(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createLink(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException;
+    method public static java.nio.file.Path createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createTempDirectory(java.nio.file.Path, String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createTempDirectory(String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createTempFile(java.nio.file.Path, String, String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createTempFile(String, String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static void delete(java.nio.file.Path) throws java.io.IOException;
+    method public static boolean deleteIfExists(java.nio.file.Path) throws java.io.IOException;
+    method public static boolean exists(java.nio.file.Path, java.nio.file.LinkOption...);
+    method public static java.util.stream.Stream<java.nio.file.Path> find(java.nio.file.Path, int, java.util.function.BiPredicate<java.nio.file.Path,java.nio.file.attribute.BasicFileAttributes>, java.nio.file.FileVisitOption...) throws java.io.IOException;
+    method public static Object getAttribute(java.nio.file.Path, String, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, Class<V>, java.nio.file.LinkOption...);
+    method public static java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException;
+    method public static java.nio.file.attribute.FileTime getLastModifiedTime(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static java.nio.file.attribute.UserPrincipal getOwner(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static java.util.Set<java.nio.file.attribute.PosixFilePermission> getPosixFilePermissions(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static boolean isDirectory(java.nio.file.Path, java.nio.file.LinkOption...);
+    method public static boolean isExecutable(java.nio.file.Path);
+    method public static boolean isHidden(java.nio.file.Path) throws java.io.IOException;
+    method public static boolean isReadable(java.nio.file.Path);
+    method public static boolean isRegularFile(java.nio.file.Path, java.nio.file.LinkOption...);
+    method public static boolean isSameFile(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException;
+    method public static boolean isSymbolicLink(java.nio.file.Path);
+    method public static boolean isWritable(java.nio.file.Path);
+    method public static java.util.stream.Stream<java.lang.String> lines(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException;
+    method public static java.util.stream.Stream<java.lang.String> lines(java.nio.file.Path) throws java.io.IOException;
+    method public static java.util.stream.Stream<java.nio.file.Path> list(java.nio.file.Path) throws java.io.IOException;
+    method public static java.nio.file.Path move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException;
+    method public static java.io.BufferedReader newBufferedReader(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException;
+    method public static java.io.BufferedReader newBufferedReader(java.nio.file.Path) throws java.io.IOException;
+    method public static java.io.BufferedWriter newBufferedWriter(java.nio.file.Path, java.nio.charset.Charset, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.io.BufferedWriter newBufferedWriter(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path) throws java.io.IOException;
+    method public static java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, String) throws java.io.IOException;
+    method public static java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream.Filter<? super java.nio.file.Path>) throws java.io.IOException;
+    method public static java.io.InputStream newInputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.io.OutputStream newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static boolean notExists(java.nio.file.Path, java.nio.file.LinkOption...);
+    method public static String probeContentType(java.nio.file.Path) throws java.io.IOException;
+    method public static byte[] readAllBytes(java.nio.file.Path) throws java.io.IOException;
+    method public static java.util.List<java.lang.String> readAllLines(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException;
+    method public static java.util.List<java.lang.String> readAllLines(java.nio.file.Path) throws java.io.IOException;
+    method public static <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, Class<A>, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static java.util.Map<java.lang.String,java.lang.Object> readAttributes(java.nio.file.Path, String, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException;
+    method public static java.nio.file.Path setAttribute(java.nio.file.Path, String, Object, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static java.nio.file.Path setLastModifiedTime(java.nio.file.Path, java.nio.file.attribute.FileTime) throws java.io.IOException;
+    method public static java.nio.file.Path setOwner(java.nio.file.Path, java.nio.file.attribute.UserPrincipal) throws java.io.IOException;
+    method public static java.nio.file.Path setPosixFilePermissions(java.nio.file.Path, java.util.Set<java.nio.file.attribute.PosixFilePermission>) throws java.io.IOException;
+    method public static long size(java.nio.file.Path) throws java.io.IOException;
+    method public static java.util.stream.Stream<java.nio.file.Path> walk(java.nio.file.Path, int, java.nio.file.FileVisitOption...) throws java.io.IOException;
+    method public static java.util.stream.Stream<java.nio.file.Path> walk(java.nio.file.Path, java.nio.file.FileVisitOption...) throws java.io.IOException;
+    method public static java.nio.file.Path walkFileTree(java.nio.file.Path, java.util.Set<java.nio.file.FileVisitOption>, int, java.nio.file.FileVisitor<? super java.nio.file.Path>) throws java.io.IOException;
+    method public static java.nio.file.Path walkFileTree(java.nio.file.Path, java.nio.file.FileVisitor<? super java.nio.file.Path>) throws java.io.IOException;
+    method public static java.nio.file.Path write(java.nio.file.Path, byte[], java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.nio.file.Path write(java.nio.file.Path, Iterable<? extends java.lang.CharSequence>, java.nio.charset.Charset, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.nio.file.Path write(java.nio.file.Path, Iterable<? extends java.lang.CharSequence>, java.nio.file.OpenOption...) throws java.io.IOException;
+  }
+
+  public class InvalidPathException extends java.lang.IllegalArgumentException {
+    ctor public InvalidPathException(String, String, int);
+    ctor public InvalidPathException(String, String);
+    method public int getIndex();
+    method public String getInput();
+    method public String getReason();
+  }
+
+  public enum LinkOption implements java.nio.file.CopyOption java.nio.file.OpenOption {
+    enum_constant public static final java.nio.file.LinkOption NOFOLLOW_LINKS;
+  }
+
+  public final class LinkPermission extends java.security.BasicPermission {
+    ctor public LinkPermission(String);
+    ctor public LinkPermission(String, String);
+  }
+
+  public class NoSuchFileException extends java.nio.file.FileSystemException {
+    ctor public NoSuchFileException(String);
+    ctor public NoSuchFileException(String, String, String);
+  }
+
+  public class NotDirectoryException extends java.nio.file.FileSystemException {
+    ctor public NotDirectoryException(String);
+  }
+
+  public class NotLinkException extends java.nio.file.FileSystemException {
+    ctor public NotLinkException(String);
+    ctor public NotLinkException(String, String, String);
+  }
+
+  public interface OpenOption {
+  }
+
+  public interface Path extends java.lang.Comparable<java.nio.file.Path> java.lang.Iterable<java.nio.file.Path> java.nio.file.Watchable {
+    method public int compareTo(java.nio.file.Path);
+    method public boolean endsWith(java.nio.file.Path);
+    method public boolean endsWith(String);
+    method public boolean equals(Object);
+    method public java.nio.file.Path getFileName();
+    method public java.nio.file.FileSystem getFileSystem();
+    method public java.nio.file.Path getName(int);
+    method public int getNameCount();
+    method public java.nio.file.Path getParent();
+    method public java.nio.file.Path getRoot();
+    method public int hashCode();
+    method public boolean isAbsolute();
+    method public java.util.Iterator<java.nio.file.Path> iterator();
+    method public java.nio.file.Path normalize();
+    method public java.nio.file.Path relativize(java.nio.file.Path);
+    method public java.nio.file.Path resolve(java.nio.file.Path);
+    method public java.nio.file.Path resolve(String);
+    method public java.nio.file.Path resolveSibling(java.nio.file.Path);
+    method public java.nio.file.Path resolveSibling(String);
+    method public boolean startsWith(java.nio.file.Path);
+    method public boolean startsWith(String);
+    method public java.nio.file.Path subpath(int, int);
+    method public java.nio.file.Path toAbsolutePath();
+    method public java.io.File toFile();
+    method public java.nio.file.Path toRealPath(java.nio.file.LinkOption...) throws java.io.IOException;
+    method public String toString();
+    method public java.net.URI toUri();
+  }
+
+  @java.lang.FunctionalInterface public interface PathMatcher {
+    method public boolean matches(java.nio.file.Path);
+  }
+
+  public final class Paths {
+    method public static java.nio.file.Path get(String, java.lang.String...);
+    method public static java.nio.file.Path get(java.net.URI);
+  }
+
+  public class ProviderMismatchException extends java.lang.IllegalArgumentException {
+    ctor public ProviderMismatchException();
+    ctor public ProviderMismatchException(String);
+  }
+
+  public class ProviderNotFoundException extends java.lang.RuntimeException {
+    ctor public ProviderNotFoundException();
+    ctor public ProviderNotFoundException(String);
+  }
+
+  public class ReadOnlyFileSystemException extends java.lang.UnsupportedOperationException {
+    ctor public ReadOnlyFileSystemException();
+  }
+
+  public interface SecureDirectoryStream<T> extends java.nio.file.DirectoryStream<T> {
+    method public void deleteDirectory(T) throws java.io.IOException;
+    method public void deleteFile(T) throws java.io.IOException;
+    method public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(Class<V>);
+    method public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(T, Class<V>, java.nio.file.LinkOption...);
+    method public void move(T, java.nio.file.SecureDirectoryStream<T>, T) throws java.io.IOException;
+    method public java.nio.channels.SeekableByteChannel newByteChannel(T, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public java.nio.file.SecureDirectoryStream<T> newDirectoryStream(T, java.nio.file.LinkOption...) throws java.io.IOException;
+  }
+
+  public class SimpleFileVisitor<T> implements java.nio.file.FileVisitor<T> {
+    ctor protected SimpleFileVisitor();
+    method public java.nio.file.FileVisitResult postVisitDirectory(T, java.io.IOException) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult preVisitDirectory(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult visitFile(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult visitFileFailed(T, java.io.IOException) throws java.io.IOException;
+  }
+
+  public enum StandardCopyOption implements java.nio.file.CopyOption {
+    enum_constant public static final java.nio.file.StandardCopyOption ATOMIC_MOVE;
+    enum_constant public static final java.nio.file.StandardCopyOption COPY_ATTRIBUTES;
+    enum_constant public static final java.nio.file.StandardCopyOption REPLACE_EXISTING;
+  }
+
+  public enum StandardOpenOption implements java.nio.file.OpenOption {
+    enum_constant public static final java.nio.file.StandardOpenOption APPEND;
+    enum_constant public static final java.nio.file.StandardOpenOption CREATE;
+    enum_constant public static final java.nio.file.StandardOpenOption CREATE_NEW;
+    enum_constant public static final java.nio.file.StandardOpenOption DELETE_ON_CLOSE;
+    enum_constant public static final java.nio.file.StandardOpenOption DSYNC;
+    enum_constant public static final java.nio.file.StandardOpenOption READ;
+    enum_constant public static final java.nio.file.StandardOpenOption SPARSE;
+    enum_constant public static final java.nio.file.StandardOpenOption SYNC;
+    enum_constant public static final java.nio.file.StandardOpenOption TRUNCATE_EXISTING;
+    enum_constant public static final java.nio.file.StandardOpenOption WRITE;
+  }
+
+  public final class StandardWatchEventKinds {
+    field public static final java.nio.file.WatchEvent.Kind<java.nio.file.Path> ENTRY_CREATE;
+    field public static final java.nio.file.WatchEvent.Kind<java.nio.file.Path> ENTRY_DELETE;
+    field public static final java.nio.file.WatchEvent.Kind<java.nio.file.Path> ENTRY_MODIFY;
+    field public static final java.nio.file.WatchEvent.Kind<java.lang.Object> OVERFLOW;
+  }
+
+  public interface WatchEvent<T> {
+    method public T context();
+    method public int count();
+    method public java.nio.file.WatchEvent.Kind<T> kind();
+  }
+
+  public static interface WatchEvent.Kind<T> {
+    method public String name();
+    method public Class<T> type();
+  }
+
+  public static interface WatchEvent.Modifier {
+    method public String name();
+  }
+
+  public interface WatchKey {
+    method public void cancel();
+    method public boolean isValid();
+    method public java.util.List<java.nio.file.WatchEvent<?>> pollEvents();
+    method public boolean reset();
+    method public java.nio.file.Watchable watchable();
+  }
+
+  public interface WatchService extends java.io.Closeable {
+    method public java.nio.file.WatchKey poll();
+    method public java.nio.file.WatchKey poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public java.nio.file.WatchKey take() throws java.lang.InterruptedException;
+  }
+
+  public interface Watchable {
+    method public java.nio.file.WatchKey register(java.nio.file.WatchService, java.nio.file.WatchEvent.Kind<?>[], java.nio.file.WatchEvent.Modifier...) throws java.io.IOException;
+    method public java.nio.file.WatchKey register(java.nio.file.WatchService, java.nio.file.WatchEvent.Kind<?>...) throws java.io.IOException;
+  }
+
+}
+
+package java.nio.file.attribute {
+
+  public final class AclEntry {
+    method public java.util.Set<java.nio.file.attribute.AclEntryFlag> flags();
+    method public static java.nio.file.attribute.AclEntry.Builder newBuilder();
+    method public static java.nio.file.attribute.AclEntry.Builder newBuilder(java.nio.file.attribute.AclEntry);
+    method public java.util.Set<java.nio.file.attribute.AclEntryPermission> permissions();
+    method public java.nio.file.attribute.UserPrincipal principal();
+    method public java.nio.file.attribute.AclEntryType type();
+  }
+
+  public static final class AclEntry.Builder {
+    method public java.nio.file.attribute.AclEntry build();
+    method public java.nio.file.attribute.AclEntry.Builder setFlags(java.util.Set<java.nio.file.attribute.AclEntryFlag>);
+    method public java.nio.file.attribute.AclEntry.Builder setFlags(java.nio.file.attribute.AclEntryFlag...);
+    method public java.nio.file.attribute.AclEntry.Builder setPermissions(java.util.Set<java.nio.file.attribute.AclEntryPermission>);
+    method public java.nio.file.attribute.AclEntry.Builder setPermissions(java.nio.file.attribute.AclEntryPermission...);
+    method public java.nio.file.attribute.AclEntry.Builder setPrincipal(java.nio.file.attribute.UserPrincipal);
+    method public java.nio.file.attribute.AclEntry.Builder setType(java.nio.file.attribute.AclEntryType);
+  }
+
+  public enum AclEntryFlag {
+    enum_constant public static final java.nio.file.attribute.AclEntryFlag DIRECTORY_INHERIT;
+    enum_constant public static final java.nio.file.attribute.AclEntryFlag FILE_INHERIT;
+    enum_constant public static final java.nio.file.attribute.AclEntryFlag INHERIT_ONLY;
+    enum_constant public static final java.nio.file.attribute.AclEntryFlag NO_PROPAGATE_INHERIT;
+  }
+
+  public enum AclEntryPermission {
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission APPEND_DATA;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission DELETE;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission DELETE_CHILD;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission EXECUTE;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_ACL;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_ATTRIBUTES;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_DATA;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_NAMED_ATTRS;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission SYNCHRONIZE;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_ACL;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_ATTRIBUTES;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_DATA;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_NAMED_ATTRS;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_OWNER;
+    field public static final java.nio.file.attribute.AclEntryPermission ADD_FILE;
+    field public static final java.nio.file.attribute.AclEntryPermission ADD_SUBDIRECTORY;
+    field public static final java.nio.file.attribute.AclEntryPermission LIST_DIRECTORY;
+  }
+
+  public enum AclEntryType {
+    enum_constant public static final java.nio.file.attribute.AclEntryType ALARM;
+    enum_constant public static final java.nio.file.attribute.AclEntryType ALLOW;
+    enum_constant public static final java.nio.file.attribute.AclEntryType AUDIT;
+    enum_constant public static final java.nio.file.attribute.AclEntryType DENY;
+  }
+
+  public interface AclFileAttributeView extends java.nio.file.attribute.FileOwnerAttributeView {
+    method public java.util.List<java.nio.file.attribute.AclEntry> getAcl() throws java.io.IOException;
+    method public void setAcl(java.util.List<java.nio.file.attribute.AclEntry>) throws java.io.IOException;
+  }
+
+  public interface AttributeView {
+    method public String name();
+  }
+
+  public interface BasicFileAttributeView extends java.nio.file.attribute.FileAttributeView {
+    method public java.nio.file.attribute.BasicFileAttributes readAttributes() throws java.io.IOException;
+    method public void setTimes(java.nio.file.attribute.FileTime, java.nio.file.attribute.FileTime, java.nio.file.attribute.FileTime) throws java.io.IOException;
+  }
+
+  public interface BasicFileAttributes {
+    method public java.nio.file.attribute.FileTime creationTime();
+    method public Object fileKey();
+    method public boolean isDirectory();
+    method public boolean isOther();
+    method public boolean isRegularFile();
+    method public boolean isSymbolicLink();
+    method public java.nio.file.attribute.FileTime lastAccessTime();
+    method public java.nio.file.attribute.FileTime lastModifiedTime();
+    method public long size();
+  }
+
+  public interface DosFileAttributeView extends java.nio.file.attribute.BasicFileAttributeView {
+    method public java.nio.file.attribute.DosFileAttributes readAttributes() throws java.io.IOException;
+    method public void setArchive(boolean) throws java.io.IOException;
+    method public void setHidden(boolean) throws java.io.IOException;
+    method public void setReadOnly(boolean) throws java.io.IOException;
+    method public void setSystem(boolean) throws java.io.IOException;
+  }
+
+  public interface DosFileAttributes extends java.nio.file.attribute.BasicFileAttributes {
+    method public boolean isArchive();
+    method public boolean isHidden();
+    method public boolean isReadOnly();
+    method public boolean isSystem();
+  }
+
+  public interface FileAttribute<T> {
+    method public String name();
+    method public T value();
+  }
+
+  public interface FileAttributeView extends java.nio.file.attribute.AttributeView {
+  }
+
+  public interface FileOwnerAttributeView extends java.nio.file.attribute.FileAttributeView {
+    method public java.nio.file.attribute.UserPrincipal getOwner() throws java.io.IOException;
+    method public void setOwner(java.nio.file.attribute.UserPrincipal) throws java.io.IOException;
+  }
+
+  public interface FileStoreAttributeView extends java.nio.file.attribute.AttributeView {
+  }
+
+  public final class FileTime implements java.lang.Comparable<java.nio.file.attribute.FileTime> {
+    method public int compareTo(java.nio.file.attribute.FileTime);
+    method public static java.nio.file.attribute.FileTime from(long, java.util.concurrent.TimeUnit);
+    method public static java.nio.file.attribute.FileTime from(java.time.Instant);
+    method public static java.nio.file.attribute.FileTime fromMillis(long);
+    method public long to(java.util.concurrent.TimeUnit);
+    method public java.time.Instant toInstant();
+    method public long toMillis();
+  }
+
+  public interface GroupPrincipal extends java.nio.file.attribute.UserPrincipal {
+  }
+
+  public interface PosixFileAttributeView extends java.nio.file.attribute.BasicFileAttributeView java.nio.file.attribute.FileOwnerAttributeView {
+    method public java.nio.file.attribute.PosixFileAttributes readAttributes() throws java.io.IOException;
+    method public void setGroup(java.nio.file.attribute.GroupPrincipal) throws java.io.IOException;
+    method public void setPermissions(java.util.Set<java.nio.file.attribute.PosixFilePermission>) throws java.io.IOException;
+  }
+
+  public interface PosixFileAttributes extends java.nio.file.attribute.BasicFileAttributes {
+    method public java.nio.file.attribute.GroupPrincipal group();
+    method public java.nio.file.attribute.UserPrincipal owner();
+    method public java.util.Set<java.nio.file.attribute.PosixFilePermission> permissions();
+  }
+
+  public enum PosixFilePermission {
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission GROUP_EXECUTE;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission GROUP_READ;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission GROUP_WRITE;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OTHERS_EXECUTE;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OTHERS_READ;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OTHERS_WRITE;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OWNER_EXECUTE;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OWNER_READ;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OWNER_WRITE;
+  }
+
+  public final class PosixFilePermissions {
+    method public static java.nio.file.attribute.FileAttribute<java.util.Set<java.nio.file.attribute.PosixFilePermission>> asFileAttribute(java.util.Set<java.nio.file.attribute.PosixFilePermission>);
+    method public static java.util.Set<java.nio.file.attribute.PosixFilePermission> fromString(String);
+    method public static String toString(java.util.Set<java.nio.file.attribute.PosixFilePermission>);
+  }
+
+  public interface UserDefinedFileAttributeView extends java.nio.file.attribute.FileAttributeView {
+    method public void delete(String) throws java.io.IOException;
+    method public java.util.List<java.lang.String> list() throws java.io.IOException;
+    method public int read(String, java.nio.ByteBuffer) throws java.io.IOException;
+    method public int size(String) throws java.io.IOException;
+    method public int write(String, java.nio.ByteBuffer) throws java.io.IOException;
+  }
+
+  public interface UserPrincipal extends java.security.Principal {
+  }
+
+  public abstract class UserPrincipalLookupService {
+    ctor protected UserPrincipalLookupService();
+    method public abstract java.nio.file.attribute.GroupPrincipal lookupPrincipalByGroupName(String) throws java.io.IOException;
+    method public abstract java.nio.file.attribute.UserPrincipal lookupPrincipalByName(String) throws java.io.IOException;
+  }
+
+  public class UserPrincipalNotFoundException extends java.io.IOException {
+    ctor public UserPrincipalNotFoundException(String);
+    method public String getName();
+  }
+
+}
+
+package java.nio.file.spi {
+
+  public abstract class FileSystemProvider {
+    ctor protected FileSystemProvider();
+    method public abstract void checkAccess(java.nio.file.Path, java.nio.file.AccessMode...) throws java.io.IOException;
+    method public abstract void copy(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException;
+    method public abstract void createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public void createLink(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException;
+    method public void createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public abstract void delete(java.nio.file.Path) throws java.io.IOException;
+    method public boolean deleteIfExists(java.nio.file.Path) throws java.io.IOException;
+    method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, Class<V>, java.nio.file.LinkOption...);
+    method public abstract java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException;
+    method public abstract java.nio.file.FileSystem getFileSystem(java.net.URI);
+    method public abstract java.nio.file.Path getPath(java.net.URI);
+    method public abstract String getScheme();
+    method public static java.util.List<java.nio.file.spi.FileSystemProvider> installedProviders();
+    method public abstract boolean isHidden(java.nio.file.Path) throws java.io.IOException;
+    method public abstract boolean isSameFile(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException;
+    method public abstract void move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException;
+    method public java.nio.channels.AsynchronousFileChannel newAsynchronousFileChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.util.concurrent.ExecutorService, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public abstract java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public abstract java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream.Filter<? super java.nio.file.Path>) throws java.io.IOException;
+    method public java.nio.channels.FileChannel newFileChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public abstract java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map<java.lang.String,?>) throws java.io.IOException;
+    method public java.nio.file.FileSystem newFileSystem(java.nio.file.Path, java.util.Map<java.lang.String,?>) throws java.io.IOException;
+    method public java.io.InputStream newInputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public java.io.OutputStream newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public abstract <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, Class<A>, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public abstract java.util.Map<java.lang.String,java.lang.Object> readAttributes(java.nio.file.Path, String, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException;
+    method public abstract void setAttribute(java.nio.file.Path, String, Object, java.nio.file.LinkOption...) throws java.io.IOException;
+  }
+
+  public abstract class FileTypeDetector {
+    ctor protected FileTypeDetector();
+    method public abstract String probeContentType(java.nio.file.Path) throws java.io.IOException;
+  }
+
+}
+
+package java.security {
+
+  public final class AccessControlContext {
+    ctor public AccessControlContext(java.security.ProtectionDomain[]);
+    ctor public AccessControlContext(java.security.AccessControlContext, java.security.DomainCombiner);
+    method public void checkPermission(java.security.Permission) throws java.security.AccessControlException;
+    method public java.security.DomainCombiner getDomainCombiner();
+  }
+
+  public class AccessControlException extends java.lang.SecurityException {
+    ctor public AccessControlException(String);
+    ctor public AccessControlException(String, java.security.Permission);
+    method public java.security.Permission getPermission();
+  }
+
+  public final class AccessController {
+    method public static void checkPermission(java.security.Permission) throws java.security.AccessControlException;
+    method public static <T> T doPrivileged(java.security.PrivilegedAction<T>);
+    method public static <T> T doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+    method public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+    method public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+    method public static <T> T doPrivilegedWithCombiner(java.security.PrivilegedAction<T>);
+    method public static <T> T doPrivilegedWithCombiner(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+    method public static java.security.AccessControlContext getContext();
+  }
+
+  public interface AlgorithmConstraints {
+    method public boolean permits(java.util.Set<java.security.CryptoPrimitive>, String, java.security.AlgorithmParameters);
+    method public boolean permits(java.util.Set<java.security.CryptoPrimitive>, java.security.Key);
+    method public boolean permits(java.util.Set<java.security.CryptoPrimitive>, String, java.security.Key, java.security.AlgorithmParameters);
+  }
+
+  public class AlgorithmParameterGenerator {
+    ctor protected AlgorithmParameterGenerator(java.security.AlgorithmParameterGeneratorSpi, java.security.Provider, String);
+    method public final java.security.AlgorithmParameters generateParameters();
+    method public final String getAlgorithm();
+    method public static java.security.AlgorithmParameterGenerator getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.AlgorithmParameterGenerator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.AlgorithmParameterGenerator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final void init(int);
+    method public final void init(int, java.security.SecureRandom);
+    method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+    method public final void init(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public abstract class AlgorithmParameterGeneratorSpi {
+    ctor public AlgorithmParameterGeneratorSpi();
+    method protected abstract java.security.AlgorithmParameters engineGenerateParameters();
+    method protected abstract void engineInit(int, java.security.SecureRandom);
+    method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public class AlgorithmParameters {
+    ctor protected AlgorithmParameters(java.security.AlgorithmParametersSpi, java.security.Provider, String);
+    method public final String getAlgorithm();
+    method public final byte[] getEncoded() throws java.io.IOException;
+    method public final byte[] getEncoded(String) throws java.io.IOException;
+    method public static java.security.AlgorithmParameters getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.AlgorithmParameters getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.AlgorithmParameters getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final <T extends java.security.spec.AlgorithmParameterSpec> T getParameterSpec(Class<T>) throws java.security.spec.InvalidParameterSpecException;
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
+    method public final void init(byte[]) throws java.io.IOException;
+    method public final void init(byte[], String) throws java.io.IOException;
+    method public final String toString();
+  }
+
+  public abstract class AlgorithmParametersSpi {
+    ctor public AlgorithmParametersSpi();
+    method protected abstract byte[] engineGetEncoded() throws java.io.IOException;
+    method protected abstract byte[] engineGetEncoded(String) throws java.io.IOException;
+    method protected abstract <T extends java.security.spec.AlgorithmParameterSpec> T engineGetParameterSpec(Class<T>) throws java.security.spec.InvalidParameterSpecException;
+    method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
+    method protected abstract void engineInit(byte[]) throws java.io.IOException;
+    method protected abstract void engineInit(byte[], String) throws java.io.IOException;
+    method protected abstract String engineToString();
+  }
+
+  public final class AllPermission extends java.security.Permission {
+    ctor public AllPermission();
+    ctor public AllPermission(String, String);
+    method public String getActions();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public abstract class AuthProvider extends java.security.Provider {
+    ctor protected AuthProvider(String, double, String);
+    method public abstract void login(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler) throws javax.security.auth.login.LoginException;
+    method public abstract void logout() throws javax.security.auth.login.LoginException;
+    method public abstract void setCallbackHandler(javax.security.auth.callback.CallbackHandler);
+  }
+
+  public abstract class BasicPermission extends java.security.Permission implements java.io.Serializable {
+    ctor public BasicPermission(String);
+    ctor public BasicPermission(String, String);
+    method public String getActions();
+    method public boolean implies(java.security.Permission);
+  }
+
+  @Deprecated public interface Certificate {
+    method @Deprecated public void decode(java.io.InputStream) throws java.io.IOException, java.security.KeyException;
+    method @Deprecated public void encode(java.io.OutputStream) throws java.io.IOException, java.security.KeyException;
+    method @Deprecated public String getFormat();
+    method @Deprecated public java.security.Principal getGuarantor();
+    method @Deprecated public java.security.Principal getPrincipal();
+    method @Deprecated public java.security.PublicKey getPublicKey();
+    method @Deprecated public String toString(boolean);
+  }
+
+  public final class CodeSigner implements java.io.Serializable {
+    ctor public CodeSigner(java.security.cert.CertPath, java.security.Timestamp);
+    method public java.security.cert.CertPath getSignerCertPath();
+    method public java.security.Timestamp getTimestamp();
+  }
+
+  public class CodeSource implements java.io.Serializable {
+    ctor public CodeSource(java.net.URL, java.security.cert.Certificate[]);
+    ctor public CodeSource(java.net.URL, java.security.CodeSigner[]);
+    method public final java.security.cert.Certificate[] getCertificates();
+    method public final java.security.CodeSigner[] getCodeSigners();
+    method public final java.net.URL getLocation();
+    method public boolean implies(java.security.CodeSource);
+  }
+
+  public enum CryptoPrimitive {
+    enum_constant public static final java.security.CryptoPrimitive BLOCK_CIPHER;
+    enum_constant public static final java.security.CryptoPrimitive KEY_AGREEMENT;
+    enum_constant public static final java.security.CryptoPrimitive KEY_ENCAPSULATION;
+    enum_constant public static final java.security.CryptoPrimitive KEY_WRAP;
+    enum_constant public static final java.security.CryptoPrimitive MAC;
+    enum_constant public static final java.security.CryptoPrimitive MESSAGE_DIGEST;
+    enum_constant public static final java.security.CryptoPrimitive PUBLIC_KEY_ENCRYPTION;
+    enum_constant public static final java.security.CryptoPrimitive SECURE_RANDOM;
+    enum_constant public static final java.security.CryptoPrimitive SIGNATURE;
+    enum_constant public static final java.security.CryptoPrimitive STREAM_CIPHER;
+  }
+
+  public class DigestException extends java.security.GeneralSecurityException {
+    ctor public DigestException();
+    ctor public DigestException(String);
+    ctor public DigestException(String, Throwable);
+    ctor public DigestException(Throwable);
+  }
+
+  public class DigestInputStream extends java.io.FilterInputStream {
+    ctor public DigestInputStream(java.io.InputStream, java.security.MessageDigest);
+    method public java.security.MessageDigest getMessageDigest();
+    method public void on(boolean);
+    method public void setMessageDigest(java.security.MessageDigest);
+    field protected java.security.MessageDigest digest;
+  }
+
+  public class DigestOutputStream extends java.io.FilterOutputStream {
+    ctor public DigestOutputStream(java.io.OutputStream, java.security.MessageDigest);
+    method public java.security.MessageDigest getMessageDigest();
+    method public void on(boolean);
+    method public void setMessageDigest(java.security.MessageDigest);
+    field protected java.security.MessageDigest digest;
+  }
+
+  public interface DomainCombiner {
+    method public java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
+  }
+
+  public final class DomainLoadStoreParameter implements java.security.KeyStore.LoadStoreParameter {
+    ctor public DomainLoadStoreParameter(java.net.URI, java.util.Map<java.lang.String,java.security.KeyStore.ProtectionParameter>);
+    method public java.net.URI getConfiguration();
+    method public java.security.KeyStore.ProtectionParameter getProtectionParameter();
+    method public java.util.Map<java.lang.String,java.security.KeyStore.ProtectionParameter> getProtectionParams();
+  }
+
+  public class GeneralSecurityException extends java.lang.Exception {
+    ctor public GeneralSecurityException();
+    ctor public GeneralSecurityException(String);
+    ctor public GeneralSecurityException(String, Throwable);
+    ctor public GeneralSecurityException(Throwable);
+  }
+
+  public interface Guard {
+    method public void checkGuard(Object) throws java.lang.SecurityException;
+  }
+
+  public class GuardedObject implements java.io.Serializable {
+    ctor public GuardedObject(Object, java.security.Guard);
+    method public Object getObject() throws java.lang.SecurityException;
+  }
+
+  @Deprecated public abstract class Identity implements java.security.Principal java.io.Serializable {
+    ctor @Deprecated protected Identity();
+    ctor @Deprecated public Identity(String, java.security.IdentityScope) throws java.security.KeyManagementException;
+    ctor @Deprecated public Identity(String);
+    method @Deprecated public void addCertificate(java.security.Certificate) throws java.security.KeyManagementException;
+    method @Deprecated public java.security.Certificate[] certificates();
+    method @Deprecated public final boolean equals(Object);
+    method @Deprecated public String getInfo();
+    method @Deprecated public final String getName();
+    method @Deprecated public java.security.PublicKey getPublicKey();
+    method @Deprecated public final java.security.IdentityScope getScope();
+    method @Deprecated protected boolean identityEquals(java.security.Identity);
+    method @Deprecated public void removeCertificate(java.security.Certificate) throws java.security.KeyManagementException;
+    method @Deprecated public void setInfo(String);
+    method @Deprecated public void setPublicKey(java.security.PublicKey) throws java.security.KeyManagementException;
+    method @Deprecated public String toString(boolean);
+  }
+
+  @Deprecated public abstract class IdentityScope extends java.security.Identity {
+    ctor @Deprecated protected IdentityScope();
+    ctor @Deprecated public IdentityScope(String);
+    ctor @Deprecated public IdentityScope(String, java.security.IdentityScope) throws java.security.KeyManagementException;
+    method @Deprecated public abstract void addIdentity(java.security.Identity) throws java.security.KeyManagementException;
+    method @Deprecated public abstract java.security.Identity getIdentity(String);
+    method @Deprecated public java.security.Identity getIdentity(java.security.Principal);
+    method @Deprecated public abstract java.security.Identity getIdentity(java.security.PublicKey);
+    method @Deprecated public static java.security.IdentityScope getSystemScope();
+    method @Deprecated public abstract java.util.Enumeration<java.security.Identity> identities();
+    method @Deprecated public abstract void removeIdentity(java.security.Identity) throws java.security.KeyManagementException;
+    method @Deprecated protected static void setSystemScope(java.security.IdentityScope);
+    method @Deprecated public abstract int size();
+  }
+
+  public class InvalidAlgorithmParameterException extends java.security.GeneralSecurityException {
+    ctor public InvalidAlgorithmParameterException();
+    ctor public InvalidAlgorithmParameterException(String);
+    ctor public InvalidAlgorithmParameterException(String, Throwable);
+    ctor public InvalidAlgorithmParameterException(Throwable);
+  }
+
+  public class InvalidKeyException extends java.security.KeyException {
+    ctor public InvalidKeyException();
+    ctor public InvalidKeyException(String);
+    ctor public InvalidKeyException(String, Throwable);
+    ctor public InvalidKeyException(Throwable);
+  }
+
+  public class InvalidParameterException extends java.lang.IllegalArgumentException {
+    ctor public InvalidParameterException();
+    ctor public InvalidParameterException(String);
+  }
+
+  public interface Key extends java.io.Serializable {
+    method public String getAlgorithm();
+    method public byte[] getEncoded();
+    method public String getFormat();
+    field public static final long serialVersionUID = 6603384152749567654L; // 0x5ba3eee69414eea6L
+  }
+
+  public class KeyException extends java.security.GeneralSecurityException {
+    ctor public KeyException();
+    ctor public KeyException(String);
+    ctor public KeyException(String, Throwable);
+    ctor public KeyException(Throwable);
+  }
+
+  public class KeyFactory {
+    ctor protected KeyFactory(java.security.KeyFactorySpi, java.security.Provider, String);
+    method public final java.security.PrivateKey generatePrivate(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method public final java.security.PublicKey generatePublic(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method public final String getAlgorithm();
+    method public static java.security.KeyFactory getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.KeyFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.KeyFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final <T extends java.security.spec.KeySpec> T getKeySpec(java.security.Key, Class<T>) throws java.security.spec.InvalidKeySpecException;
+    method public final java.security.Provider getProvider();
+    method public final java.security.Key translateKey(java.security.Key) throws java.security.InvalidKeyException;
+  }
+
+  public abstract class KeyFactorySpi {
+    ctor public KeyFactorySpi();
+    method protected abstract java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method protected abstract java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method protected abstract <T extends java.security.spec.KeySpec> T engineGetKeySpec(java.security.Key, Class<T>) throws java.security.spec.InvalidKeySpecException;
+    method protected abstract java.security.Key engineTranslateKey(java.security.Key) throws java.security.InvalidKeyException;
+  }
+
+  public class KeyManagementException extends java.security.KeyException {
+    ctor public KeyManagementException();
+    ctor public KeyManagementException(String);
+    ctor public KeyManagementException(String, Throwable);
+    ctor public KeyManagementException(Throwable);
+  }
+
+  public final class KeyPair implements java.io.Serializable {
+    ctor public KeyPair(java.security.PublicKey, java.security.PrivateKey);
+    method public java.security.PrivateKey getPrivate();
+    method public java.security.PublicKey getPublic();
+  }
+
+  public abstract class KeyPairGenerator extends java.security.KeyPairGeneratorSpi {
+    ctor protected KeyPairGenerator(String);
+    method public final java.security.KeyPair genKeyPair();
+    method public java.security.KeyPair generateKeyPair();
+    method public String getAlgorithm();
+    method public static java.security.KeyPairGenerator getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.KeyPairGenerator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.KeyPairGenerator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public void initialize(int);
+    method public void initialize(int, java.security.SecureRandom);
+    method public void initialize(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public abstract class KeyPairGeneratorSpi {
+    ctor public KeyPairGeneratorSpi();
+    method public abstract java.security.KeyPair generateKeyPair();
+    method public abstract void initialize(int, java.security.SecureRandom);
+    method public void initialize(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public class KeyRep implements java.io.Serializable {
+    ctor public KeyRep(java.security.KeyRep.Type, String, String, byte[]);
+    method protected Object readResolve() throws java.io.ObjectStreamException;
+  }
+
+  public enum KeyRep.Type {
+    enum_constant public static final java.security.KeyRep.Type PRIVATE;
+    enum_constant public static final java.security.KeyRep.Type PUBLIC;
+    enum_constant public static final java.security.KeyRep.Type SECRET;
+  }
+
+  public class KeyStore {
+    ctor protected KeyStore(java.security.KeyStoreSpi, java.security.Provider, String);
+    method public final java.util.Enumeration<java.lang.String> aliases() throws java.security.KeyStoreException;
+    method public final boolean containsAlias(String) throws java.security.KeyStoreException;
+    method public final void deleteEntry(String) throws java.security.KeyStoreException;
+    method public final boolean entryInstanceOf(String, Class<? extends java.security.KeyStore.Entry>) throws java.security.KeyStoreException;
+    method public final java.security.cert.Certificate getCertificate(String) throws java.security.KeyStoreException;
+    method public final String getCertificateAlias(java.security.cert.Certificate) throws java.security.KeyStoreException;
+    method public final java.security.cert.Certificate[] getCertificateChain(String) throws java.security.KeyStoreException;
+    method public final java.util.Date getCreationDate(String) throws java.security.KeyStoreException;
+    method public static final String getDefaultType();
+    method public final java.security.KeyStore.Entry getEntry(String, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException;
+    method public static java.security.KeyStore getInstance(String) throws java.security.KeyStoreException;
+    method public static java.security.KeyStore getInstance(String, String) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
+    method public static java.security.KeyStore getInstance(String, java.security.Provider) throws java.security.KeyStoreException;
+    method public final java.security.Key getKey(String, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    method public final java.security.Provider getProvider();
+    method public final String getType();
+    method public final boolean isCertificateEntry(String) throws java.security.KeyStoreException;
+    method public final boolean isKeyEntry(String) throws java.security.KeyStoreException;
+    method public final void load(java.io.InputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+    method public final void load(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+    method public final void setCertificateEntry(String, java.security.cert.Certificate) throws java.security.KeyStoreException;
+    method public final void setEntry(String, java.security.KeyStore.Entry, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException;
+    method public final void setKeyEntry(String, java.security.Key, char[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+    method public final void setKeyEntry(String, byte[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+    method public final int size() throws java.security.KeyStoreException;
+    method public final void store(java.io.OutputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException;
+    method public final void store(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException;
+  }
+
+  public abstract static class KeyStore.Builder {
+    ctor protected KeyStore.Builder();
+    method public abstract java.security.KeyStore getKeyStore() throws java.security.KeyStoreException;
+    method public abstract java.security.KeyStore.ProtectionParameter getProtectionParameter(String) throws java.security.KeyStoreException;
+    method public static java.security.KeyStore.Builder newInstance(java.security.KeyStore, java.security.KeyStore.ProtectionParameter);
+    method public static java.security.KeyStore.Builder newInstance(String, java.security.Provider, java.io.File, java.security.KeyStore.ProtectionParameter);
+    method public static java.security.KeyStore.Builder newInstance(String, java.security.Provider, java.security.KeyStore.ProtectionParameter);
+  }
+
+  public static class KeyStore.CallbackHandlerProtection implements java.security.KeyStore.ProtectionParameter {
+    ctor public KeyStore.CallbackHandlerProtection(javax.security.auth.callback.CallbackHandler);
+    method public javax.security.auth.callback.CallbackHandler getCallbackHandler();
+  }
+
+  public static interface KeyStore.Entry {
+    method public default java.util.Set<java.security.KeyStore.Entry.Attribute> getAttributes();
+  }
+
+  public static interface KeyStore.Entry.Attribute {
+    method public String getName();
+    method public String getValue();
+  }
+
+  public static interface KeyStore.LoadStoreParameter {
+    method public java.security.KeyStore.ProtectionParameter getProtectionParameter();
+  }
+
+  public static class KeyStore.PasswordProtection implements javax.security.auth.Destroyable java.security.KeyStore.ProtectionParameter {
+    ctor public KeyStore.PasswordProtection(char[]);
+    ctor public KeyStore.PasswordProtection(char[], String, java.security.spec.AlgorithmParameterSpec);
+    method public char[] getPassword();
+    method public String getProtectionAlgorithm();
+    method public java.security.spec.AlgorithmParameterSpec getProtectionParameters();
+  }
+
+  public static final class KeyStore.PrivateKeyEntry implements java.security.KeyStore.Entry {
+    ctor public KeyStore.PrivateKeyEntry(java.security.PrivateKey, java.security.cert.Certificate[]);
+    ctor public KeyStore.PrivateKeyEntry(java.security.PrivateKey, java.security.cert.Certificate[], java.util.Set<java.security.KeyStore.Entry.Attribute>);
+    method public java.security.cert.Certificate getCertificate();
+    method public java.security.cert.Certificate[] getCertificateChain();
+    method public java.security.PrivateKey getPrivateKey();
+  }
+
+  public static interface KeyStore.ProtectionParameter {
+  }
+
+  public static final class KeyStore.SecretKeyEntry implements java.security.KeyStore.Entry {
+    ctor public KeyStore.SecretKeyEntry(javax.crypto.SecretKey);
+    ctor public KeyStore.SecretKeyEntry(javax.crypto.SecretKey, java.util.Set<java.security.KeyStore.Entry.Attribute>);
+    method public javax.crypto.SecretKey getSecretKey();
+  }
+
+  public static final class KeyStore.TrustedCertificateEntry implements java.security.KeyStore.Entry {
+    ctor public KeyStore.TrustedCertificateEntry(java.security.cert.Certificate);
+    ctor public KeyStore.TrustedCertificateEntry(java.security.cert.Certificate, java.util.Set<java.security.KeyStore.Entry.Attribute>);
+    method public java.security.cert.Certificate getTrustedCertificate();
+  }
+
+  public class KeyStoreException extends java.security.GeneralSecurityException {
+    ctor public KeyStoreException();
+    ctor public KeyStoreException(String);
+    ctor public KeyStoreException(String, Throwable);
+    ctor public KeyStoreException(Throwable);
+  }
+
+  public abstract class KeyStoreSpi {
+    ctor public KeyStoreSpi();
+    method public abstract java.util.Enumeration<java.lang.String> engineAliases();
+    method public abstract boolean engineContainsAlias(String);
+    method public abstract void engineDeleteEntry(String) throws java.security.KeyStoreException;
+    method public boolean engineEntryInstanceOf(String, Class<? extends java.security.KeyStore.Entry>);
+    method public abstract java.security.cert.Certificate engineGetCertificate(String);
+    method public abstract String engineGetCertificateAlias(java.security.cert.Certificate);
+    method public abstract java.security.cert.Certificate[] engineGetCertificateChain(String);
+    method public abstract java.util.Date engineGetCreationDate(String);
+    method public java.security.KeyStore.Entry engineGetEntry(String, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException;
+    method public abstract java.security.Key engineGetKey(String, char[]) throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    method public abstract boolean engineIsCertificateEntry(String);
+    method public abstract boolean engineIsKeyEntry(String);
+    method public abstract void engineLoad(java.io.InputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+    method public void engineLoad(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+    method public abstract void engineSetCertificateEntry(String, java.security.cert.Certificate) throws java.security.KeyStoreException;
+    method public void engineSetEntry(String, java.security.KeyStore.Entry, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException;
+    method public abstract void engineSetKeyEntry(String, java.security.Key, char[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+    method public abstract void engineSetKeyEntry(String, byte[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+    method public abstract int engineSize();
+    method public abstract void engineStore(java.io.OutputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+    method public void engineStore(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+  }
+
+  public abstract class MessageDigest extends java.security.MessageDigestSpi {
+    ctor protected MessageDigest(@NonNull String);
+    method @NonNull public byte[] digest();
+    method public int digest(@NonNull byte[], int, int) throws java.security.DigestException;
+    method @NonNull public byte[] digest(@NonNull byte[]);
+    method @NonNull public final String getAlgorithm();
+    method public final int getDigestLength();
+    method @NonNull public static java.security.MessageDigest getInstance(@NonNull String) throws java.security.NoSuchAlgorithmException;
+    method @NonNull public static java.security.MessageDigest getInstance(@NonNull String, @NonNull String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method @NonNull public static java.security.MessageDigest getInstance(@NonNull String, @NonNull java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method @NonNull public final java.security.Provider getProvider();
+    method public static boolean isEqual(@Nullable byte[], @Nullable byte[]);
+    method public void reset();
+    method public void update(byte);
+    method public void update(@NonNull byte[], int, int);
+    method public void update(@NonNull byte[]);
+    method public final void update(@NonNull java.nio.ByteBuffer);
+  }
+
+  public abstract class MessageDigestSpi {
+    ctor public MessageDigestSpi();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method protected abstract byte[] engineDigest();
+    method protected int engineDigest(byte[], int, int) throws java.security.DigestException;
+    method protected int engineGetDigestLength();
+    method protected abstract void engineReset();
+    method protected abstract void engineUpdate(byte);
+    method protected abstract void engineUpdate(byte[], int, int);
+    method protected void engineUpdate(java.nio.ByteBuffer);
+  }
+
+  public class NoSuchAlgorithmException extends java.security.GeneralSecurityException {
+    ctor public NoSuchAlgorithmException();
+    ctor public NoSuchAlgorithmException(String);
+    ctor public NoSuchAlgorithmException(String, Throwable);
+    ctor public NoSuchAlgorithmException(Throwable);
+  }
+
+  public class NoSuchProviderException extends java.security.GeneralSecurityException {
+    ctor public NoSuchProviderException();
+    ctor public NoSuchProviderException(String);
+  }
+
+  public final class PKCS12Attribute implements java.security.KeyStore.Entry.Attribute {
+    ctor public PKCS12Attribute(String, String);
+    ctor public PKCS12Attribute(byte[]);
+    method public byte[] getEncoded();
+    method public String getName();
+    method public String getValue();
+  }
+
+  public abstract class Permission implements java.security.Guard java.io.Serializable {
+    ctor public Permission(String);
+    method public void checkGuard(Object) throws java.lang.SecurityException;
+    method public abstract String getActions();
+    method public final String getName();
+    method public abstract boolean implies(java.security.Permission);
+    method public java.security.PermissionCollection newPermissionCollection();
+  }
+
+  public abstract class PermissionCollection implements java.io.Serializable {
+    ctor public PermissionCollection();
+    method public abstract void add(java.security.Permission);
+    method public abstract java.util.Enumeration<java.security.Permission> elements();
+    method public abstract boolean implies(java.security.Permission);
+    method public boolean isReadOnly();
+    method public void setReadOnly();
+  }
+
+  public final class Permissions extends java.security.PermissionCollection implements java.io.Serializable {
+    ctor public Permissions();
+    method public void add(java.security.Permission);
+    method public java.util.Enumeration<java.security.Permission> elements();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public abstract class Policy {
+    ctor public Policy();
+    method public static java.security.Policy getInstance(String, java.security.Policy.Parameters) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.Policy getInstance(String, java.security.Policy.Parameters, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.Policy getInstance(String, java.security.Policy.Parameters, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public java.security.Policy.Parameters getParameters();
+    method public java.security.PermissionCollection getPermissions(java.security.CodeSource);
+    method public java.security.PermissionCollection getPermissions(java.security.ProtectionDomain);
+    method public static java.security.Policy getPolicy();
+    method public java.security.Provider getProvider();
+    method public String getType();
+    method public boolean implies(java.security.ProtectionDomain, java.security.Permission);
+    method public void refresh();
+    method public static void setPolicy(java.security.Policy);
+    field public static final java.security.PermissionCollection UNSUPPORTED_EMPTY_COLLECTION;
+  }
+
+  public static interface Policy.Parameters {
+  }
+
+  public abstract class PolicySpi {
+    ctor public PolicySpi();
+    method protected java.security.PermissionCollection engineGetPermissions(java.security.CodeSource);
+    method protected java.security.PermissionCollection engineGetPermissions(java.security.ProtectionDomain);
+    method protected abstract boolean engineImplies(java.security.ProtectionDomain, java.security.Permission);
+    method protected void engineRefresh();
+  }
+
+  public interface Principal {
+    method public boolean equals(Object);
+    method public String getName();
+    method public int hashCode();
+    method public default boolean implies(javax.security.auth.Subject);
+    method public String toString();
+  }
+
+  public interface PrivateKey extends java.security.Key javax.security.auth.Destroyable {
+    field public static final long serialVersionUID = 6034044314589513430L; // 0x53bd3b559a12c6d6L
+  }
+
+  public interface PrivilegedAction<T> {
+    method public T run();
+  }
+
+  public class PrivilegedActionException extends java.lang.Exception {
+    ctor public PrivilegedActionException(Exception);
+    method public Exception getException();
+  }
+
+  public interface PrivilegedExceptionAction<T> {
+    method public T run() throws java.lang.Exception;
+  }
+
+  public class ProtectionDomain {
+    ctor public ProtectionDomain(java.security.CodeSource, java.security.PermissionCollection);
+    ctor public ProtectionDomain(java.security.CodeSource, java.security.PermissionCollection, ClassLoader, java.security.Principal[]);
+    method public final ClassLoader getClassLoader();
+    method public final java.security.CodeSource getCodeSource();
+    method public final java.security.PermissionCollection getPermissions();
+    method public final java.security.Principal[] getPrincipals();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public abstract class Provider extends java.util.Properties {
+    ctor protected Provider(String, double, String);
+    method public Object compute(Object, java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>);
+    method public Object computeIfAbsent(Object, java.util.function.Function<? super java.lang.Object,?>);
+    method public Object computeIfPresent(Object, java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>);
+    method public java.util.Enumeration<java.lang.Object> elements();
+    method public java.util.Set<java.util.Map.Entry<java.lang.Object,java.lang.Object>> entrySet();
+    method public void forEach(java.util.function.BiConsumer<? super java.lang.Object,? super java.lang.Object>);
+    method public Object get(Object);
+    method public String getInfo();
+    method public String getName();
+    method public Object getOrDefault(Object, Object);
+    method public java.security.Provider.Service getService(String, String);
+    method public java.util.Set<java.security.Provider.Service> getServices();
+    method public double getVersion();
+    method public java.util.Set<java.lang.Object> keySet();
+    method public java.util.Enumeration<java.lang.Object> keys();
+    method public Object merge(Object, Object, java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>);
+    method public Object put(Object, Object);
+    method public void putAll(java.util.Map<?,?>);
+    method public Object putIfAbsent(Object, Object);
+    method protected void putService(java.security.Provider.Service);
+    method public Object remove(Object);
+    method protected void removeService(java.security.Provider.Service);
+    method public boolean replace(Object, Object, Object);
+    method public Object replace(Object, Object);
+    method public void replaceAll(java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>);
+    method public java.util.Collection<java.lang.Object> values();
+  }
+
+  public static class Provider.Service {
+    ctor public Provider.Service(java.security.Provider, String, String, String, java.util.List<java.lang.String>, java.util.Map<java.lang.String,java.lang.String>);
+    method public final String getAlgorithm();
+    method public final String getAttribute(String);
+    method public final String getClassName();
+    method public final java.security.Provider getProvider();
+    method public final String getType();
+    method public Object newInstance(Object) throws java.security.NoSuchAlgorithmException;
+    method public boolean supportsParameter(Object);
+  }
+
+  public class ProviderException extends java.lang.RuntimeException {
+    ctor public ProviderException();
+    ctor public ProviderException(String);
+    ctor public ProviderException(String, Throwable);
+    ctor public ProviderException(Throwable);
+  }
+
+  public interface PublicKey extends java.security.Key {
+    field public static final long serialVersionUID = 7187392471159151072L; // 0x63bebf5f40c219e0L
+  }
+
+  public class SecureClassLoader extends java.lang.ClassLoader {
+    ctor protected SecureClassLoader(ClassLoader);
+    ctor protected SecureClassLoader();
+    method protected final Class<?> defineClass(String, byte[], int, int, java.security.CodeSource);
+    method protected final Class<?> defineClass(String, java.nio.ByteBuffer, java.security.CodeSource);
+    method protected java.security.PermissionCollection getPermissions(java.security.CodeSource);
+  }
+
+  public class SecureRandom extends java.util.Random {
+    ctor public SecureRandom();
+    ctor public SecureRandom(byte[]);
+    ctor protected SecureRandom(java.security.SecureRandomSpi, java.security.Provider);
+    method public byte[] generateSeed(int);
+    method public String getAlgorithm();
+    method public static java.security.SecureRandom getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.SecureRandom getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.SecureRandom getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.SecureRandom getInstanceStrong() throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public static byte[] getSeed(int);
+    method protected final int next(int);
+    method public void setSeed(byte[]);
+  }
+
+  public abstract class SecureRandomSpi implements java.io.Serializable {
+    ctor public SecureRandomSpi();
+    method protected abstract byte[] engineGenerateSeed(int);
+    method protected abstract void engineNextBytes(byte[]);
+    method protected abstract void engineSetSeed(byte[]);
+  }
+
+  public final class Security {
+    method public static int addProvider(java.security.Provider);
+    method @Deprecated public static String getAlgorithmProperty(String, String);
+    method public static java.util.Set<java.lang.String> getAlgorithms(String);
+    method public static String getProperty(String);
+    method public static java.security.Provider getProvider(String);
+    method public static java.security.Provider[] getProviders();
+    method public static java.security.Provider[] getProviders(String);
+    method public static java.security.Provider[] getProviders(java.util.Map<java.lang.String,java.lang.String>);
+    method public static int insertProviderAt(java.security.Provider, int);
+    method public static void removeProvider(String);
+    method public static void setProperty(String, String);
+  }
+
+  public final class SecurityPermission extends java.security.BasicPermission {
+    ctor public SecurityPermission(String);
+    ctor public SecurityPermission(String, String);
+  }
+
+  public abstract class Signature extends java.security.SignatureSpi {
+    ctor protected Signature(String);
+    method public final String getAlgorithm();
+    method public static java.security.Signature getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.Signature getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.Signature getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method @Deprecated public final Object getParameter(String) throws java.security.InvalidParameterException;
+    method public final java.security.AlgorithmParameters getParameters();
+    method public final java.security.Provider getProvider();
+    method public final void initSign(java.security.PrivateKey) throws java.security.InvalidKeyException;
+    method public final void initSign(java.security.PrivateKey, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method public final void initVerify(java.security.PublicKey) throws java.security.InvalidKeyException;
+    method public final void initVerify(java.security.cert.Certificate) throws java.security.InvalidKeyException;
+    method @Deprecated public final void setParameter(String, Object) throws java.security.InvalidParameterException;
+    method public final void setParameter(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+    method public final byte[] sign() throws java.security.SignatureException;
+    method public final int sign(byte[], int, int) throws java.security.SignatureException;
+    method public final void update(byte) throws java.security.SignatureException;
+    method public final void update(byte[]) throws java.security.SignatureException;
+    method public final void update(byte[], int, int) throws java.security.SignatureException;
+    method public final void update(java.nio.ByteBuffer) throws java.security.SignatureException;
+    method public final boolean verify(byte[]) throws java.security.SignatureException;
+    method public final boolean verify(byte[], int, int) throws java.security.SignatureException;
+    field protected static final int SIGN = 2; // 0x2
+    field protected static final int UNINITIALIZED = 0; // 0x0
+    field protected static final int VERIFY = 3; // 0x3
+    field protected int state;
+  }
+
+  public class SignatureException extends java.security.GeneralSecurityException {
+    ctor public SignatureException();
+    ctor public SignatureException(String);
+    ctor public SignatureException(String, Throwable);
+    ctor public SignatureException(Throwable);
+  }
+
+  public abstract class SignatureSpi {
+    ctor public SignatureSpi();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated protected abstract Object engineGetParameter(String) throws java.security.InvalidParameterException;
+    method protected java.security.AlgorithmParameters engineGetParameters();
+    method protected abstract void engineInitSign(java.security.PrivateKey) throws java.security.InvalidKeyException;
+    method protected void engineInitSign(java.security.PrivateKey, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method protected abstract void engineInitVerify(java.security.PublicKey) throws java.security.InvalidKeyException;
+    method @Deprecated protected abstract void engineSetParameter(String, Object) throws java.security.InvalidParameterException;
+    method protected void engineSetParameter(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+    method protected abstract byte[] engineSign() throws java.security.SignatureException;
+    method protected int engineSign(byte[], int, int) throws java.security.SignatureException;
+    method protected abstract void engineUpdate(byte) throws java.security.SignatureException;
+    method protected abstract void engineUpdate(byte[], int, int) throws java.security.SignatureException;
+    method protected void engineUpdate(java.nio.ByteBuffer);
+    method protected abstract boolean engineVerify(byte[]) throws java.security.SignatureException;
+    method protected boolean engineVerify(byte[], int, int) throws java.security.SignatureException;
+    field protected java.security.SecureRandom appRandom;
+  }
+
+  public final class SignedObject implements java.io.Serializable {
+    ctor public SignedObject(java.io.Serializable, java.security.PrivateKey, java.security.Signature) throws java.io.IOException, java.security.InvalidKeyException, java.security.SignatureException;
+    method public String getAlgorithm();
+    method public Object getObject() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public byte[] getSignature();
+    method public boolean verify(java.security.PublicKey, java.security.Signature) throws java.security.InvalidKeyException, java.security.SignatureException;
+  }
+
+  @Deprecated public abstract class Signer extends java.security.Identity {
+    ctor @Deprecated protected Signer();
+    ctor @Deprecated public Signer(String);
+    ctor @Deprecated public Signer(String, java.security.IdentityScope) throws java.security.KeyManagementException;
+    method @Deprecated public java.security.PrivateKey getPrivateKey();
+    method @Deprecated public final void setKeyPair(java.security.KeyPair) throws java.security.InvalidParameterException, java.security.KeyException;
+  }
+
+  public final class Timestamp implements java.io.Serializable {
+    ctor public Timestamp(java.util.Date, java.security.cert.CertPath);
+    method public java.security.cert.CertPath getSignerCertPath();
+    method public java.util.Date getTimestamp();
+  }
+
+  public class UnrecoverableEntryException extends java.security.GeneralSecurityException {
+    ctor public UnrecoverableEntryException();
+    ctor public UnrecoverableEntryException(String);
+  }
+
+  public class UnrecoverableKeyException extends java.security.UnrecoverableEntryException {
+    ctor public UnrecoverableKeyException();
+    ctor public UnrecoverableKeyException(String);
+  }
+
+  public final class UnresolvedPermission extends java.security.Permission implements java.io.Serializable {
+    ctor public UnresolvedPermission(String, String, String, java.security.cert.Certificate[]);
+    method public String getActions();
+    method public String getUnresolvedActions();
+    method public java.security.cert.Certificate[] getUnresolvedCerts();
+    method public String getUnresolvedName();
+    method public String getUnresolvedType();
+    method public boolean implies(java.security.Permission);
+  }
+
+}
+
+package java.security.acl {
+
+  public interface Acl extends java.security.acl.Owner {
+    method public boolean addEntry(java.security.Principal, java.security.acl.AclEntry) throws java.security.acl.NotOwnerException;
+    method public boolean checkPermission(java.security.Principal, java.security.acl.Permission);
+    method public java.util.Enumeration<java.security.acl.AclEntry> entries();
+    method public String getName();
+    method public java.util.Enumeration<java.security.acl.Permission> getPermissions(java.security.Principal);
+    method public boolean removeEntry(java.security.Principal, java.security.acl.AclEntry) throws java.security.acl.NotOwnerException;
+    method public void setName(java.security.Principal, String) throws java.security.acl.NotOwnerException;
+    method public String toString();
+  }
+
+  public interface AclEntry extends java.lang.Cloneable {
+    method public boolean addPermission(java.security.acl.Permission);
+    method public boolean checkPermission(java.security.acl.Permission);
+    method public Object clone();
+    method public java.security.Principal getPrincipal();
+    method public boolean isNegative();
+    method public java.util.Enumeration<java.security.acl.Permission> permissions();
+    method public boolean removePermission(java.security.acl.Permission);
+    method public void setNegativePermissions();
+    method public boolean setPrincipal(java.security.Principal);
+    method public String toString();
+  }
+
+  public class AclNotFoundException extends java.lang.Exception {
+    ctor public AclNotFoundException();
+  }
+
+  public interface Group extends java.security.Principal {
+    method public boolean addMember(java.security.Principal);
+    method public boolean isMember(java.security.Principal);
+    method public java.util.Enumeration<? extends java.security.Principal> members();
+    method public boolean removeMember(java.security.Principal);
+  }
+
+  public class LastOwnerException extends java.lang.Exception {
+    ctor public LastOwnerException();
+  }
+
+  public class NotOwnerException extends java.lang.Exception {
+    ctor public NotOwnerException();
+  }
+
+  public interface Owner {
+    method public boolean addOwner(java.security.Principal, java.security.Principal) throws java.security.acl.NotOwnerException;
+    method public boolean deleteOwner(java.security.Principal, java.security.Principal) throws java.security.acl.LastOwnerException, java.security.acl.NotOwnerException;
+    method public boolean isOwner(java.security.Principal);
+  }
+
+  public interface Permission {
+  }
+
+}
+
+package java.security.cert {
+
+  public abstract class CRL {
+    ctor protected CRL(String);
+    method public final String getType();
+    method public abstract boolean isRevoked(java.security.cert.Certificate);
+    method public abstract String toString();
+  }
+
+  public class CRLException extends java.security.GeneralSecurityException {
+    ctor public CRLException();
+    ctor public CRLException(String);
+    ctor public CRLException(String, Throwable);
+    ctor public CRLException(Throwable);
+  }
+
+  public enum CRLReason {
+    enum_constant public static final java.security.cert.CRLReason AA_COMPROMISE;
+    enum_constant public static final java.security.cert.CRLReason AFFILIATION_CHANGED;
+    enum_constant public static final java.security.cert.CRLReason CA_COMPROMISE;
+    enum_constant public static final java.security.cert.CRLReason CERTIFICATE_HOLD;
+    enum_constant public static final java.security.cert.CRLReason CESSATION_OF_OPERATION;
+    enum_constant public static final java.security.cert.CRLReason KEY_COMPROMISE;
+    enum_constant public static final java.security.cert.CRLReason PRIVILEGE_WITHDRAWN;
+    enum_constant public static final java.security.cert.CRLReason REMOVE_FROM_CRL;
+    enum_constant public static final java.security.cert.CRLReason SUPERSEDED;
+    enum_constant public static final java.security.cert.CRLReason UNSPECIFIED;
+    enum_constant public static final java.security.cert.CRLReason UNUSED;
+  }
+
+  public interface CRLSelector extends java.lang.Cloneable {
+    method public Object clone();
+    method public boolean match(java.security.cert.CRL);
+  }
+
+  public abstract class CertPath implements java.io.Serializable {
+    ctor protected CertPath(String);
+    method public abstract java.util.List<? extends java.security.cert.Certificate> getCertificates();
+    method public abstract byte[] getEncoded() throws java.security.cert.CertificateEncodingException;
+    method public abstract byte[] getEncoded(String) throws java.security.cert.CertificateEncodingException;
+    method public abstract java.util.Iterator<java.lang.String> getEncodings();
+    method public String getType();
+    method protected Object writeReplace() throws java.io.ObjectStreamException;
+  }
+
+  protected static class CertPath.CertPathRep implements java.io.Serializable {
+    ctor protected CertPath.CertPathRep(String, byte[]);
+    method protected Object readResolve() throws java.io.ObjectStreamException;
+  }
+
+  public class CertPathBuilder {
+    ctor protected CertPathBuilder(java.security.cert.CertPathBuilderSpi, java.security.Provider, String);
+    method public final java.security.cert.CertPathBuilderResult build(java.security.cert.CertPathParameters) throws java.security.cert.CertPathBuilderException, java.security.InvalidAlgorithmParameterException;
+    method public final String getAlgorithm();
+    method public static final String getDefaultType();
+    method public static java.security.cert.CertPathBuilder getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.cert.CertPathBuilder getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.cert.CertPathBuilder getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final java.security.cert.CertPathChecker getRevocationChecker();
+  }
+
+  public class CertPathBuilderException extends java.security.GeneralSecurityException {
+    ctor public CertPathBuilderException();
+    ctor public CertPathBuilderException(String);
+    ctor public CertPathBuilderException(Throwable);
+    ctor public CertPathBuilderException(String, Throwable);
+  }
+
+  public interface CertPathBuilderResult extends java.lang.Cloneable {
+    method public Object clone();
+    method public java.security.cert.CertPath getCertPath();
+  }
+
+  public abstract class CertPathBuilderSpi {
+    ctor public CertPathBuilderSpi();
+    method public abstract java.security.cert.CertPathBuilderResult engineBuild(java.security.cert.CertPathParameters) throws java.security.cert.CertPathBuilderException, java.security.InvalidAlgorithmParameterException;
+    method public java.security.cert.CertPathChecker engineGetRevocationChecker();
+  }
+
+  public interface CertPathChecker {
+    method public void check(java.security.cert.Certificate) throws java.security.cert.CertPathValidatorException;
+    method public void init(boolean) throws java.security.cert.CertPathValidatorException;
+    method public boolean isForwardCheckingSupported();
+  }
+
+  public interface CertPathParameters extends java.lang.Cloneable {
+    method public Object clone();
+  }
+
+  public class CertPathValidator {
+    ctor protected CertPathValidator(java.security.cert.CertPathValidatorSpi, java.security.Provider, String);
+    method public final String getAlgorithm();
+    method public static final String getDefaultType();
+    method public static java.security.cert.CertPathValidator getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.cert.CertPathValidator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.cert.CertPathValidator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final java.security.cert.CertPathChecker getRevocationChecker();
+    method public final java.security.cert.CertPathValidatorResult validate(java.security.cert.CertPath, java.security.cert.CertPathParameters) throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException;
+  }
+
+  public class CertPathValidatorException extends java.security.GeneralSecurityException {
+    ctor public CertPathValidatorException();
+    ctor public CertPathValidatorException(String);
+    ctor public CertPathValidatorException(Throwable);
+    ctor public CertPathValidatorException(String, Throwable);
+    ctor public CertPathValidatorException(String, Throwable, java.security.cert.CertPath, int);
+    ctor public CertPathValidatorException(String, Throwable, java.security.cert.CertPath, int, java.security.cert.CertPathValidatorException.Reason);
+    method public java.security.cert.CertPath getCertPath();
+    method public int getIndex();
+    method public java.security.cert.CertPathValidatorException.Reason getReason();
+  }
+
+  public enum CertPathValidatorException.BasicReason implements java.security.cert.CertPathValidatorException.Reason {
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason ALGORITHM_CONSTRAINED;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason EXPIRED;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason INVALID_SIGNATURE;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason NOT_YET_VALID;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason REVOKED;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason UNDETERMINED_REVOCATION_STATUS;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason UNSPECIFIED;
+  }
+
+  public static interface CertPathValidatorException.Reason extends java.io.Serializable {
+  }
+
+  public interface CertPathValidatorResult extends java.lang.Cloneable {
+    method public Object clone();
+  }
+
+  public abstract class CertPathValidatorSpi {
+    ctor public CertPathValidatorSpi();
+    method public java.security.cert.CertPathChecker engineGetRevocationChecker();
+    method public abstract java.security.cert.CertPathValidatorResult engineValidate(java.security.cert.CertPath, java.security.cert.CertPathParameters) throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException;
+  }
+
+  public interface CertSelector extends java.lang.Cloneable {
+    method public Object clone();
+    method public boolean match(java.security.cert.Certificate);
+  }
+
+  public class CertStore {
+    ctor protected CertStore(java.security.cert.CertStoreSpi, java.security.Provider, String, java.security.cert.CertStoreParameters);
+    method public final java.util.Collection<? extends java.security.cert.CRL> getCRLs(java.security.cert.CRLSelector) throws java.security.cert.CertStoreException;
+    method public final java.security.cert.CertStoreParameters getCertStoreParameters();
+    method public final java.util.Collection<? extends java.security.cert.Certificate> getCertificates(java.security.cert.CertSelector) throws java.security.cert.CertStoreException;
+    method public static final String getDefaultType();
+    method public static java.security.cert.CertStore getInstance(String, java.security.cert.CertStoreParameters) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException;
+    method public static java.security.cert.CertStore getInstance(String, java.security.cert.CertStoreParameters, String) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.cert.CertStore getInstance(String, java.security.cert.CertStoreParameters, java.security.Provider) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final String getType();
+  }
+
+  public class CertStoreException extends java.security.GeneralSecurityException {
+    ctor public CertStoreException();
+    ctor public CertStoreException(String);
+    ctor public CertStoreException(Throwable);
+    ctor public CertStoreException(String, Throwable);
+  }
+
+  public interface CertStoreParameters extends java.lang.Cloneable {
+    method public Object clone();
+  }
+
+  public abstract class CertStoreSpi {
+    ctor public CertStoreSpi(java.security.cert.CertStoreParameters) throws java.security.InvalidAlgorithmParameterException;
+    method public abstract java.util.Collection<? extends java.security.cert.CRL> engineGetCRLs(java.security.cert.CRLSelector) throws java.security.cert.CertStoreException;
+    method public abstract java.util.Collection<? extends java.security.cert.Certificate> engineGetCertificates(java.security.cert.CertSelector) throws java.security.cert.CertStoreException;
+  }
+
+  public abstract class Certificate implements java.io.Serializable {
+    ctor protected Certificate(String);
+    method public abstract byte[] getEncoded() throws java.security.cert.CertificateEncodingException;
+    method public abstract java.security.PublicKey getPublicKey();
+    method public final String getType();
+    method public abstract String toString();
+    method public abstract void verify(java.security.PublicKey) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+    method public abstract void verify(java.security.PublicKey, String) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+    method public void verify(java.security.PublicKey, java.security.Provider) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.SignatureException;
+    method protected Object writeReplace() throws java.io.ObjectStreamException;
+  }
+
+  protected static class Certificate.CertificateRep implements java.io.Serializable {
+    ctor protected Certificate.CertificateRep(String, byte[]);
+    method protected Object readResolve() throws java.io.ObjectStreamException;
+  }
+
+  public class CertificateEncodingException extends java.security.cert.CertificateException {
+    ctor public CertificateEncodingException();
+    ctor public CertificateEncodingException(String);
+    ctor public CertificateEncodingException(String, Throwable);
+    ctor public CertificateEncodingException(Throwable);
+  }
+
+  public class CertificateException extends java.security.GeneralSecurityException {
+    ctor public CertificateException();
+    ctor public CertificateException(String);
+    ctor public CertificateException(String, Throwable);
+    ctor public CertificateException(Throwable);
+  }
+
+  public class CertificateExpiredException extends java.security.cert.CertificateException {
+    ctor public CertificateExpiredException();
+    ctor public CertificateExpiredException(String);
+  }
+
+  public class CertificateFactory {
+    ctor protected CertificateFactory(java.security.cert.CertificateFactorySpi, java.security.Provider, String);
+    method public final java.security.cert.CRL generateCRL(java.io.InputStream) throws java.security.cert.CRLException;
+    method public final java.util.Collection<? extends java.security.cert.CRL> generateCRLs(java.io.InputStream) throws java.security.cert.CRLException;
+    method public final java.security.cert.CertPath generateCertPath(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public final java.security.cert.CertPath generateCertPath(java.io.InputStream, String) throws java.security.cert.CertificateException;
+    method public final java.security.cert.CertPath generateCertPath(java.util.List<? extends java.security.cert.Certificate>) throws java.security.cert.CertificateException;
+    method public final java.security.cert.Certificate generateCertificate(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public final java.util.Collection<? extends java.security.cert.Certificate> generateCertificates(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public final java.util.Iterator<java.lang.String> getCertPathEncodings();
+    method public static final java.security.cert.CertificateFactory getInstance(String) throws java.security.cert.CertificateException;
+    method public static final java.security.cert.CertificateFactory getInstance(String, String) throws java.security.cert.CertificateException, java.security.NoSuchProviderException;
+    method public static final java.security.cert.CertificateFactory getInstance(String, java.security.Provider) throws java.security.cert.CertificateException;
+    method public final java.security.Provider getProvider();
+    method public final String getType();
+  }
+
+  public abstract class CertificateFactorySpi {
+    ctor public CertificateFactorySpi();
+    method public abstract java.security.cert.CRL engineGenerateCRL(java.io.InputStream) throws java.security.cert.CRLException;
+    method public abstract java.util.Collection<? extends java.security.cert.CRL> engineGenerateCRLs(java.io.InputStream) throws java.security.cert.CRLException;
+    method public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream, String) throws java.security.cert.CertificateException;
+    method public java.security.cert.CertPath engineGenerateCertPath(java.util.List<? extends java.security.cert.Certificate>) throws java.security.cert.CertificateException;
+    method public abstract java.security.cert.Certificate engineGenerateCertificate(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public abstract java.util.Collection<? extends java.security.cert.Certificate> engineGenerateCertificates(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public java.util.Iterator<java.lang.String> engineGetCertPathEncodings();
+  }
+
+  public class CertificateNotYetValidException extends java.security.cert.CertificateException {
+    ctor public CertificateNotYetValidException();
+    ctor public CertificateNotYetValidException(String);
+  }
+
+  public class CertificateParsingException extends java.security.cert.CertificateException {
+    ctor public CertificateParsingException();
+    ctor public CertificateParsingException(String);
+    ctor public CertificateParsingException(String, Throwable);
+    ctor public CertificateParsingException(Throwable);
+  }
+
+  public class CertificateRevokedException extends java.security.cert.CertificateException {
+    ctor public CertificateRevokedException(java.util.Date, java.security.cert.CRLReason, javax.security.auth.x500.X500Principal, java.util.Map<java.lang.String,java.security.cert.Extension>);
+    method public javax.security.auth.x500.X500Principal getAuthorityName();
+    method public java.util.Map<java.lang.String,java.security.cert.Extension> getExtensions();
+    method public java.util.Date getInvalidityDate();
+    method public java.util.Date getRevocationDate();
+    method public java.security.cert.CRLReason getRevocationReason();
+  }
+
+  public class CollectionCertStoreParameters implements java.security.cert.CertStoreParameters {
+    ctor public CollectionCertStoreParameters(java.util.Collection<?>);
+    ctor public CollectionCertStoreParameters();
+    method public Object clone();
+    method public java.util.Collection<?> getCollection();
+  }
+
+  public interface Extension {
+    method public void encode(java.io.OutputStream) throws java.io.IOException;
+    method public String getId();
+    method public byte[] getValue();
+    method public boolean isCritical();
+  }
+
+  public class LDAPCertStoreParameters implements java.security.cert.CertStoreParameters {
+    ctor public LDAPCertStoreParameters(String, int);
+    ctor public LDAPCertStoreParameters(String);
+    ctor public LDAPCertStoreParameters();
+    method public Object clone();
+    method public int getPort();
+    method public String getServerName();
+  }
+
+  public class PKIXBuilderParameters extends java.security.cert.PKIXParameters {
+    ctor public PKIXBuilderParameters(java.util.Set<java.security.cert.TrustAnchor>, java.security.cert.CertSelector) throws java.security.InvalidAlgorithmParameterException;
+    ctor public PKIXBuilderParameters(java.security.KeyStore, java.security.cert.CertSelector) throws java.security.InvalidAlgorithmParameterException, java.security.KeyStoreException;
+    method public int getMaxPathLength();
+    method public void setMaxPathLength(int);
+  }
+
+  public class PKIXCertPathBuilderResult extends java.security.cert.PKIXCertPathValidatorResult implements java.security.cert.CertPathBuilderResult {
+    ctor public PKIXCertPathBuilderResult(java.security.cert.CertPath, java.security.cert.TrustAnchor, java.security.cert.PolicyNode, java.security.PublicKey);
+    method public java.security.cert.CertPath getCertPath();
+  }
+
+  public abstract class PKIXCertPathChecker implements java.security.cert.CertPathChecker java.lang.Cloneable {
+    ctor protected PKIXCertPathChecker();
+    method public abstract void check(java.security.cert.Certificate, java.util.Collection<java.lang.String>) throws java.security.cert.CertPathValidatorException;
+    method public void check(java.security.cert.Certificate) throws java.security.cert.CertPathValidatorException;
+    method public Object clone();
+    method public abstract java.util.Set<java.lang.String> getSupportedExtensions();
+  }
+
+  public class PKIXCertPathValidatorResult implements java.security.cert.CertPathValidatorResult {
+    ctor public PKIXCertPathValidatorResult(java.security.cert.TrustAnchor, java.security.cert.PolicyNode, java.security.PublicKey);
+    method public Object clone();
+    method public java.security.cert.PolicyNode getPolicyTree();
+    method public java.security.PublicKey getPublicKey();
+    method public java.security.cert.TrustAnchor getTrustAnchor();
+  }
+
+  public class PKIXParameters implements java.security.cert.CertPathParameters {
+    ctor public PKIXParameters(java.util.Set<java.security.cert.TrustAnchor>) throws java.security.InvalidAlgorithmParameterException;
+    ctor public PKIXParameters(java.security.KeyStore) throws java.security.InvalidAlgorithmParameterException, java.security.KeyStoreException;
+    method public void addCertPathChecker(java.security.cert.PKIXCertPathChecker);
+    method public void addCertStore(java.security.cert.CertStore);
+    method public Object clone();
+    method public java.util.List<java.security.cert.PKIXCertPathChecker> getCertPathCheckers();
+    method public java.util.List<java.security.cert.CertStore> getCertStores();
+    method public java.util.Date getDate();
+    method public java.util.Set<java.lang.String> getInitialPolicies();
+    method public boolean getPolicyQualifiersRejected();
+    method public String getSigProvider();
+    method public java.security.cert.CertSelector getTargetCertConstraints();
+    method public java.util.Set<java.security.cert.TrustAnchor> getTrustAnchors();
+    method public boolean isAnyPolicyInhibited();
+    method public boolean isExplicitPolicyRequired();
+    method public boolean isPolicyMappingInhibited();
+    method public boolean isRevocationEnabled();
+    method public void setAnyPolicyInhibited(boolean);
+    method public void setCertPathCheckers(java.util.List<java.security.cert.PKIXCertPathChecker>);
+    method public void setCertStores(java.util.List<java.security.cert.CertStore>);
+    method public void setDate(java.util.Date);
+    method public void setExplicitPolicyRequired(boolean);
+    method public void setInitialPolicies(java.util.Set<java.lang.String>);
+    method public void setPolicyMappingInhibited(boolean);
+    method public void setPolicyQualifiersRejected(boolean);
+    method public void setRevocationEnabled(boolean);
+    method public void setSigProvider(String);
+    method public void setTargetCertConstraints(java.security.cert.CertSelector);
+    method public void setTrustAnchors(java.util.Set<java.security.cert.TrustAnchor>) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public enum PKIXReason implements java.security.cert.CertPathValidatorException.Reason {
+    enum_constant public static final java.security.cert.PKIXReason INVALID_KEY_USAGE;
+    enum_constant public static final java.security.cert.PKIXReason INVALID_NAME;
+    enum_constant public static final java.security.cert.PKIXReason INVALID_POLICY;
+    enum_constant public static final java.security.cert.PKIXReason NAME_CHAINING;
+    enum_constant public static final java.security.cert.PKIXReason NOT_CA_CERT;
+    enum_constant public static final java.security.cert.PKIXReason NO_TRUST_ANCHOR;
+    enum_constant public static final java.security.cert.PKIXReason PATH_TOO_LONG;
+    enum_constant public static final java.security.cert.PKIXReason UNRECOGNIZED_CRIT_EXT;
+  }
+
+  public abstract class PKIXRevocationChecker extends java.security.cert.PKIXCertPathChecker {
+    ctor protected PKIXRevocationChecker();
+    method public java.security.cert.PKIXRevocationChecker clone();
+    method public java.util.List<java.security.cert.Extension> getOcspExtensions();
+    method public java.net.URI getOcspResponder();
+    method public java.security.cert.X509Certificate getOcspResponderCert();
+    method public java.util.Map<java.security.cert.X509Certificate,byte[]> getOcspResponses();
+    method public java.util.Set<java.security.cert.PKIXRevocationChecker.Option> getOptions();
+    method public abstract java.util.List<java.security.cert.CertPathValidatorException> getSoftFailExceptions();
+    method public void setOcspExtensions(java.util.List<java.security.cert.Extension>);
+    method public void setOcspResponder(java.net.URI);
+    method public void setOcspResponderCert(java.security.cert.X509Certificate);
+    method public void setOcspResponses(java.util.Map<java.security.cert.X509Certificate,byte[]>);
+    method public void setOptions(java.util.Set<java.security.cert.PKIXRevocationChecker.Option>);
+  }
+
+  public enum PKIXRevocationChecker.Option {
+    enum_constant public static final java.security.cert.PKIXRevocationChecker.Option NO_FALLBACK;
+    enum_constant public static final java.security.cert.PKIXRevocationChecker.Option ONLY_END_ENTITY;
+    enum_constant public static final java.security.cert.PKIXRevocationChecker.Option PREFER_CRLS;
+    enum_constant public static final java.security.cert.PKIXRevocationChecker.Option SOFT_FAIL;
+  }
+
+  public interface PolicyNode {
+    method public java.util.Iterator<? extends java.security.cert.PolicyNode> getChildren();
+    method public int getDepth();
+    method public java.util.Set<java.lang.String> getExpectedPolicies();
+    method public java.security.cert.PolicyNode getParent();
+    method public java.util.Set<? extends java.security.cert.PolicyQualifierInfo> getPolicyQualifiers();
+    method public String getValidPolicy();
+    method public boolean isCritical();
+  }
+
+  public class PolicyQualifierInfo {
+    ctor public PolicyQualifierInfo(byte[]) throws java.io.IOException;
+    method public final byte[] getEncoded();
+    method public final byte[] getPolicyQualifier();
+    method public final String getPolicyQualifierId();
+  }
+
+  public class TrustAnchor {
+    ctor public TrustAnchor(java.security.cert.X509Certificate, byte[]);
+    ctor public TrustAnchor(javax.security.auth.x500.X500Principal, java.security.PublicKey, byte[]);
+    ctor public TrustAnchor(String, java.security.PublicKey, byte[]);
+    method public final javax.security.auth.x500.X500Principal getCA();
+    method public final String getCAName();
+    method public final java.security.PublicKey getCAPublicKey();
+    method public final byte[] getNameConstraints();
+    method public final java.security.cert.X509Certificate getTrustedCert();
+  }
+
+  public abstract class X509CRL extends java.security.cert.CRL implements java.security.cert.X509Extension {
+    ctor protected X509CRL();
+    method public abstract byte[] getEncoded() throws java.security.cert.CRLException;
+    method public abstract java.security.Principal getIssuerDN();
+    method public javax.security.auth.x500.X500Principal getIssuerX500Principal();
+    method public abstract java.util.Date getNextUpdate();
+    method public abstract java.security.cert.X509CRLEntry getRevokedCertificate(java.math.BigInteger);
+    method public java.security.cert.X509CRLEntry getRevokedCertificate(java.security.cert.X509Certificate);
+    method public abstract java.util.Set<? extends java.security.cert.X509CRLEntry> getRevokedCertificates();
+    method public abstract String getSigAlgName();
+    method public abstract String getSigAlgOID();
+    method public abstract byte[] getSigAlgParams();
+    method public abstract byte[] getSignature();
+    method public abstract byte[] getTBSCertList() throws java.security.cert.CRLException;
+    method public abstract java.util.Date getThisUpdate();
+    method public abstract int getVersion();
+    method public abstract void verify(java.security.PublicKey) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+    method public abstract void verify(java.security.PublicKey, String) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+    method public void verify(java.security.PublicKey, java.security.Provider) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.SignatureException;
+  }
+
+  public abstract class X509CRLEntry implements java.security.cert.X509Extension {
+    ctor public X509CRLEntry();
+    method public javax.security.auth.x500.X500Principal getCertificateIssuer();
+    method public abstract byte[] getEncoded() throws java.security.cert.CRLException;
+    method public abstract java.util.Date getRevocationDate();
+    method public java.security.cert.CRLReason getRevocationReason();
+    method public abstract java.math.BigInteger getSerialNumber();
+    method public abstract boolean hasExtensions();
+    method public abstract String toString();
+  }
+
+  public class X509CRLSelector implements java.security.cert.CRLSelector {
+    ctor public X509CRLSelector();
+    method public void addIssuer(javax.security.auth.x500.X500Principal);
+    method public void addIssuerName(String) throws java.io.IOException;
+    method public void addIssuerName(byte[]) throws java.io.IOException;
+    method public Object clone();
+    method public java.security.cert.X509Certificate getCertificateChecking();
+    method public java.util.Date getDateAndTime();
+    method public java.util.Collection<java.lang.Object> getIssuerNames();
+    method public java.util.Collection<javax.security.auth.x500.X500Principal> getIssuers();
+    method public java.math.BigInteger getMaxCRL();
+    method public java.math.BigInteger getMinCRL();
+    method public boolean match(java.security.cert.CRL);
+    method public void setCertificateChecking(java.security.cert.X509Certificate);
+    method public void setDateAndTime(java.util.Date);
+    method public void setIssuerNames(java.util.Collection<?>) throws java.io.IOException;
+    method public void setIssuers(java.util.Collection<javax.security.auth.x500.X500Principal>);
+    method public void setMaxCRLNumber(java.math.BigInteger);
+    method public void setMinCRLNumber(java.math.BigInteger);
+  }
+
+  public class X509CertSelector implements java.security.cert.CertSelector {
+    ctor public X509CertSelector();
+    method public void addPathToName(int, String) throws java.io.IOException;
+    method public void addPathToName(int, byte[]) throws java.io.IOException;
+    method public void addSubjectAlternativeName(int, String) throws java.io.IOException;
+    method public void addSubjectAlternativeName(int, byte[]) throws java.io.IOException;
+    method public Object clone();
+    method public byte[] getAuthorityKeyIdentifier();
+    method public int getBasicConstraints();
+    method public java.security.cert.X509Certificate getCertificate();
+    method public java.util.Date getCertificateValid();
+    method public java.util.Set<java.lang.String> getExtendedKeyUsage();
+    method public javax.security.auth.x500.X500Principal getIssuer();
+    method public byte[] getIssuerAsBytes() throws java.io.IOException;
+    method public String getIssuerAsString();
+    method public boolean[] getKeyUsage();
+    method public boolean getMatchAllSubjectAltNames();
+    method public byte[] getNameConstraints();
+    method public java.util.Collection<java.util.List<?>> getPathToNames();
+    method public java.util.Set<java.lang.String> getPolicy();
+    method public java.util.Date getPrivateKeyValid();
+    method public java.math.BigInteger getSerialNumber();
+    method public javax.security.auth.x500.X500Principal getSubject();
+    method public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames();
+    method public byte[] getSubjectAsBytes() throws java.io.IOException;
+    method public String getSubjectAsString();
+    method public byte[] getSubjectKeyIdentifier();
+    method public java.security.PublicKey getSubjectPublicKey();
+    method public String getSubjectPublicKeyAlgID();
+    method public boolean match(java.security.cert.Certificate);
+    method public void setAuthorityKeyIdentifier(byte[]);
+    method public void setBasicConstraints(int);
+    method public void setCertificate(java.security.cert.X509Certificate);
+    method public void setCertificateValid(java.util.Date);
+    method public void setExtendedKeyUsage(java.util.Set<java.lang.String>) throws java.io.IOException;
+    method public void setIssuer(javax.security.auth.x500.X500Principal);
+    method public void setIssuer(String) throws java.io.IOException;
+    method public void setIssuer(byte[]) throws java.io.IOException;
+    method public void setKeyUsage(boolean[]);
+    method public void setMatchAllSubjectAltNames(boolean);
+    method public void setNameConstraints(byte[]) throws java.io.IOException;
+    method public void setPathToNames(java.util.Collection<java.util.List<?>>) throws java.io.IOException;
+    method public void setPolicy(java.util.Set<java.lang.String>) throws java.io.IOException;
+    method public void setPrivateKeyValid(java.util.Date);
+    method public void setSerialNumber(java.math.BigInteger);
+    method public void setSubject(javax.security.auth.x500.X500Principal);
+    method public void setSubject(String) throws java.io.IOException;
+    method public void setSubject(byte[]) throws java.io.IOException;
+    method public void setSubjectAlternativeNames(java.util.Collection<java.util.List<?>>) throws java.io.IOException;
+    method public void setSubjectKeyIdentifier(byte[]);
+    method public void setSubjectPublicKey(java.security.PublicKey);
+    method public void setSubjectPublicKey(byte[]) throws java.io.IOException;
+    method public void setSubjectPublicKeyAlgID(String) throws java.io.IOException;
+  }
+
+  public abstract class X509Certificate extends java.security.cert.Certificate implements java.security.cert.X509Extension {
+    ctor protected X509Certificate();
+    method public abstract void checkValidity() throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException;
+    method public abstract void checkValidity(java.util.Date) throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException;
+    method public abstract int getBasicConstraints();
+    method public java.util.List<java.lang.String> getExtendedKeyUsage() throws java.security.cert.CertificateParsingException;
+    method public java.util.Collection<java.util.List<?>> getIssuerAlternativeNames() throws java.security.cert.CertificateParsingException;
+    method public abstract java.security.Principal getIssuerDN();
+    method public abstract boolean[] getIssuerUniqueID();
+    method public javax.security.auth.x500.X500Principal getIssuerX500Principal();
+    method public abstract boolean[] getKeyUsage();
+    method public abstract java.util.Date getNotAfter();
+    method public abstract java.util.Date getNotBefore();
+    method public abstract java.math.BigInteger getSerialNumber();
+    method public abstract String getSigAlgName();
+    method public abstract String getSigAlgOID();
+    method public abstract byte[] getSigAlgParams();
+    method public abstract byte[] getSignature();
+    method public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames() throws java.security.cert.CertificateParsingException;
+    method public abstract java.security.Principal getSubjectDN();
+    method public abstract boolean[] getSubjectUniqueID();
+    method public javax.security.auth.x500.X500Principal getSubjectX500Principal();
+    method public abstract byte[] getTBSCertificate() throws java.security.cert.CertificateEncodingException;
+    method public abstract int getVersion();
+  }
+
+  public interface X509Extension {
+    method public java.util.Set<java.lang.String> getCriticalExtensionOIDs();
+    method public byte[] getExtensionValue(String);
+    method public java.util.Set<java.lang.String> getNonCriticalExtensionOIDs();
+    method public boolean hasUnsupportedCriticalExtension();
+  }
+
+}
+
+package java.security.interfaces {
+
+  public interface DSAKey {
+    method public java.security.interfaces.DSAParams getParams();
+  }
+
+  public interface DSAKeyPairGenerator {
+    method public void initialize(java.security.interfaces.DSAParams, java.security.SecureRandom) throws java.security.InvalidParameterException;
+    method public void initialize(int, boolean, java.security.SecureRandom) throws java.security.InvalidParameterException;
+  }
+
+  public interface DSAParams {
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getQ();
+  }
+
+  public interface DSAPrivateKey extends java.security.interfaces.DSAKey java.security.PrivateKey {
+    method public java.math.BigInteger getX();
+    field public static final long serialVersionUID = 7776497482533790279L; // 0x6bebab423b256247L
+  }
+
+  public interface DSAPublicKey extends java.security.interfaces.DSAKey java.security.PublicKey {
+    method public java.math.BigInteger getY();
+    field public static final long serialVersionUID = 1234526332779022332L; // 0x1121eb28ab28c7fcL
+  }
+
+  public interface ECKey {
+    method public java.security.spec.ECParameterSpec getParams();
+  }
+
+  public interface ECPrivateKey extends java.security.PrivateKey java.security.interfaces.ECKey {
+    method public java.math.BigInteger getS();
+    field public static final long serialVersionUID = -7896394956925609184L; // 0x926a5e9fa2435b20L
+  }
+
+  public interface ECPublicKey extends java.security.PublicKey java.security.interfaces.ECKey {
+    method public java.security.spec.ECPoint getW();
+    field public static final long serialVersionUID = -3314988629879632826L; // 0xd1fecb679990cc46L
+  }
+
+  public interface RSAKey {
+    method public java.math.BigInteger getModulus();
+  }
+
+  public interface RSAMultiPrimePrivateCrtKey extends java.security.interfaces.RSAPrivateKey {
+    method public java.math.BigInteger getCrtCoefficient();
+    method public java.security.spec.RSAOtherPrimeInfo[] getOtherPrimeInfo();
+    method public java.math.BigInteger getPrimeExponentP();
+    method public java.math.BigInteger getPrimeExponentQ();
+    method public java.math.BigInteger getPrimeP();
+    method public java.math.BigInteger getPrimeQ();
+    method public java.math.BigInteger getPublicExponent();
+    field public static final long serialVersionUID = 618058533534628008L; // 0x893c8f62dbaf8a8L
+  }
+
+  public interface RSAPrivateCrtKey extends java.security.interfaces.RSAPrivateKey {
+    method public java.math.BigInteger getCrtCoefficient();
+    method public java.math.BigInteger getPrimeExponentP();
+    method public java.math.BigInteger getPrimeExponentQ();
+    method public java.math.BigInteger getPrimeP();
+    method public java.math.BigInteger getPrimeQ();
+    method public java.math.BigInteger getPublicExponent();
+    field public static final long serialVersionUID = -5682214253527700368L; // 0xb124b83df8d1ec70L
+  }
+
+  public interface RSAPrivateKey extends java.security.PrivateKey java.security.interfaces.RSAKey {
+    method public java.math.BigInteger getPrivateExponent();
+    field public static final long serialVersionUID = 5187144804936595022L; // 0x47fc70b7a8c2364eL
+  }
+
+  public interface RSAPublicKey extends java.security.PublicKey java.security.interfaces.RSAKey {
+    method public java.math.BigInteger getPublicExponent();
+    field public static final long serialVersionUID = -8727434096241101194L; // 0x86e1ecedeceab676L
+  }
+
+}
+
+package java.security.spec {
+
+  public interface AlgorithmParameterSpec {
+  }
+
+  public class DSAParameterSpec implements java.security.spec.AlgorithmParameterSpec java.security.interfaces.DSAParams {
+    ctor public DSAParameterSpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getQ();
+  }
+
+  public class DSAPrivateKeySpec implements java.security.spec.KeySpec {
+    ctor public DSAPrivateKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getQ();
+    method public java.math.BigInteger getX();
+  }
+
+  public class DSAPublicKeySpec implements java.security.spec.KeySpec {
+    ctor public DSAPublicKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getQ();
+    method public java.math.BigInteger getY();
+  }
+
+  public interface ECField {
+    method public int getFieldSize();
+  }
+
+  public class ECFieldF2m implements java.security.spec.ECField {
+    ctor public ECFieldF2m(int);
+    ctor public ECFieldF2m(int, java.math.BigInteger);
+    ctor public ECFieldF2m(int, int[]);
+    method public int getFieldSize();
+    method public int getM();
+    method public int[] getMidTermsOfReductionPolynomial();
+    method public java.math.BigInteger getReductionPolynomial();
+  }
+
+  public class ECFieldFp implements java.security.spec.ECField {
+    ctor public ECFieldFp(java.math.BigInteger);
+    method public int getFieldSize();
+    method public java.math.BigInteger getP();
+  }
+
+  public class ECGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public ECGenParameterSpec(String);
+    method public String getName();
+  }
+
+  public class ECParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public ECParameterSpec(java.security.spec.EllipticCurve, java.security.spec.ECPoint, java.math.BigInteger, int);
+    method public int getCofactor();
+    method public java.security.spec.EllipticCurve getCurve();
+    method public java.security.spec.ECPoint getGenerator();
+    method public java.math.BigInteger getOrder();
+  }
+
+  public class ECPoint {
+    ctor public ECPoint(java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getAffineX();
+    method public java.math.BigInteger getAffineY();
+    field public static final java.security.spec.ECPoint POINT_INFINITY;
+  }
+
+  public class ECPrivateKeySpec implements java.security.spec.KeySpec {
+    ctor public ECPrivateKeySpec(java.math.BigInteger, java.security.spec.ECParameterSpec);
+    method public java.security.spec.ECParameterSpec getParams();
+    method public java.math.BigInteger getS();
+  }
+
+  public class ECPublicKeySpec implements java.security.spec.KeySpec {
+    ctor public ECPublicKeySpec(java.security.spec.ECPoint, java.security.spec.ECParameterSpec);
+    method public java.security.spec.ECParameterSpec getParams();
+    method public java.security.spec.ECPoint getW();
+  }
+
+  public class EllipticCurve {
+    ctor public EllipticCurve(java.security.spec.ECField, java.math.BigInteger, java.math.BigInteger);
+    ctor public EllipticCurve(java.security.spec.ECField, java.math.BigInteger, java.math.BigInteger, byte[]);
+    method public java.math.BigInteger getA();
+    method public java.math.BigInteger getB();
+    method public java.security.spec.ECField getField();
+    method public byte[] getSeed();
+  }
+
+  public abstract class EncodedKeySpec implements java.security.spec.KeySpec {
+    ctor public EncodedKeySpec(byte[]);
+    method public byte[] getEncoded();
+    method public abstract String getFormat();
+  }
+
+  public class InvalidKeySpecException extends java.security.GeneralSecurityException {
+    ctor public InvalidKeySpecException();
+    ctor public InvalidKeySpecException(String);
+    ctor public InvalidKeySpecException(String, Throwable);
+    ctor public InvalidKeySpecException(Throwable);
+  }
+
+  public class InvalidParameterSpecException extends java.security.GeneralSecurityException {
+    ctor public InvalidParameterSpecException();
+    ctor public InvalidParameterSpecException(String);
+  }
+
+  public interface KeySpec {
+  }
+
+  public class MGF1ParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public MGF1ParameterSpec(String);
+    method public String getDigestAlgorithm();
+    field public static final java.security.spec.MGF1ParameterSpec SHA1;
+    field public static final java.security.spec.MGF1ParameterSpec SHA224;
+    field public static final java.security.spec.MGF1ParameterSpec SHA256;
+    field public static final java.security.spec.MGF1ParameterSpec SHA384;
+    field public static final java.security.spec.MGF1ParameterSpec SHA512;
+  }
+
+  public class PKCS8EncodedKeySpec extends java.security.spec.EncodedKeySpec {
+    ctor public PKCS8EncodedKeySpec(byte[]);
+    method public final String getFormat();
+  }
+
+  public class PSSParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public PSSParameterSpec(String, String, java.security.spec.AlgorithmParameterSpec, int, int);
+    ctor public PSSParameterSpec(int);
+    method public String getDigestAlgorithm();
+    method public String getMGFAlgorithm();
+    method public java.security.spec.AlgorithmParameterSpec getMGFParameters();
+    method public int getSaltLength();
+    method public int getTrailerField();
+    field public static final java.security.spec.PSSParameterSpec DEFAULT;
+  }
+
+  public class RSAKeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public RSAKeyGenParameterSpec(int, java.math.BigInteger);
+    method public int getKeysize();
+    method public java.math.BigInteger getPublicExponent();
+    field public static final java.math.BigInteger F0;
+    field public static final java.math.BigInteger F4;
+  }
+
+  public class RSAMultiPrimePrivateCrtKeySpec extends java.security.spec.RSAPrivateKeySpec {
+    ctor public RSAMultiPrimePrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.security.spec.RSAOtherPrimeInfo[]);
+    method public java.math.BigInteger getCrtCoefficient();
+    method public java.security.spec.RSAOtherPrimeInfo[] getOtherPrimeInfo();
+    method public java.math.BigInteger getPrimeExponentP();
+    method public java.math.BigInteger getPrimeExponentQ();
+    method public java.math.BigInteger getPrimeP();
+    method public java.math.BigInteger getPrimeQ();
+    method public java.math.BigInteger getPublicExponent();
+  }
+
+  public class RSAOtherPrimeInfo {
+    ctor public RSAOtherPrimeInfo(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public final java.math.BigInteger getCrtCoefficient();
+    method public final java.math.BigInteger getExponent();
+    method public final java.math.BigInteger getPrime();
+  }
+
+  public class RSAPrivateCrtKeySpec extends java.security.spec.RSAPrivateKeySpec {
+    ctor public RSAPrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getCrtCoefficient();
+    method public java.math.BigInteger getPrimeExponentP();
+    method public java.math.BigInteger getPrimeExponentQ();
+    method public java.math.BigInteger getPrimeP();
+    method public java.math.BigInteger getPrimeQ();
+    method public java.math.BigInteger getPublicExponent();
+  }
+
+  public class RSAPrivateKeySpec implements java.security.spec.KeySpec {
+    ctor public RSAPrivateKeySpec(java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getModulus();
+    method public java.math.BigInteger getPrivateExponent();
+  }
+
+  public class RSAPublicKeySpec implements java.security.spec.KeySpec {
+    ctor public RSAPublicKeySpec(java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getModulus();
+    method public java.math.BigInteger getPublicExponent();
+  }
+
+  public class X509EncodedKeySpec extends java.security.spec.EncodedKeySpec {
+    ctor public X509EncodedKeySpec(byte[]);
+    method public final String getFormat();
+  }
+
+}
+
+package java.sql {
+
+  public interface Array {
+    method public void free() throws java.sql.SQLException;
+    method public Object getArray() throws java.sql.SQLException;
+    method public Object getArray(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public Object getArray(long, int) throws java.sql.SQLException;
+    method public Object getArray(long, int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public int getBaseType() throws java.sql.SQLException;
+    method public String getBaseTypeName() throws java.sql.SQLException;
+    method public java.sql.ResultSet getResultSet() throws java.sql.SQLException;
+    method public java.sql.ResultSet getResultSet(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public java.sql.ResultSet getResultSet(long, int) throws java.sql.SQLException;
+    method public java.sql.ResultSet getResultSet(long, int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+  }
+
+  public class BatchUpdateException extends java.sql.SQLException {
+    ctor public BatchUpdateException(String, String, int, int[]);
+    ctor public BatchUpdateException(String, String, int[]);
+    ctor public BatchUpdateException(String, int[]);
+    ctor public BatchUpdateException(int[]);
+    ctor public BatchUpdateException();
+    ctor public BatchUpdateException(Throwable);
+    ctor public BatchUpdateException(int[], Throwable);
+    ctor public BatchUpdateException(String, int[], Throwable);
+    ctor public BatchUpdateException(String, String, int[], Throwable);
+    ctor public BatchUpdateException(String, String, int, int[], Throwable);
+    method public int[] getUpdateCounts();
+  }
+
+  public interface Blob {
+    method public void free() throws java.sql.SQLException;
+    method public java.io.InputStream getBinaryStream() throws java.sql.SQLException;
+    method public java.io.InputStream getBinaryStream(long, long) throws java.sql.SQLException;
+    method public byte[] getBytes(long, int) throws java.sql.SQLException;
+    method public long length() throws java.sql.SQLException;
+    method public long position(byte[], long) throws java.sql.SQLException;
+    method public long position(java.sql.Blob, long) throws java.sql.SQLException;
+    method public java.io.OutputStream setBinaryStream(long) throws java.sql.SQLException;
+    method public int setBytes(long, byte[]) throws java.sql.SQLException;
+    method public int setBytes(long, byte[], int, int) throws java.sql.SQLException;
+    method public void truncate(long) throws java.sql.SQLException;
+  }
+
+  public interface CallableStatement extends java.sql.PreparedStatement {
+    method public java.sql.Array getArray(int) throws java.sql.SQLException;
+    method public java.sql.Array getArray(String) throws java.sql.SQLException;
+    method @Deprecated public java.math.BigDecimal getBigDecimal(int, int) throws java.sql.SQLException;
+    method public java.math.BigDecimal getBigDecimal(int) throws java.sql.SQLException;
+    method public java.math.BigDecimal getBigDecimal(String) throws java.sql.SQLException;
+    method public java.sql.Blob getBlob(int) throws java.sql.SQLException;
+    method public java.sql.Blob getBlob(String) throws java.sql.SQLException;
+    method public boolean getBoolean(int) throws java.sql.SQLException;
+    method public boolean getBoolean(String) throws java.sql.SQLException;
+    method public byte getByte(int) throws java.sql.SQLException;
+    method public byte getByte(String) throws java.sql.SQLException;
+    method public byte[] getBytes(int) throws java.sql.SQLException;
+    method public byte[] getBytes(String) throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream(int) throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream(String) throws java.sql.SQLException;
+    method public java.sql.Clob getClob(int) throws java.sql.SQLException;
+    method public java.sql.Clob getClob(String) throws java.sql.SQLException;
+    method public java.sql.Date getDate(int) throws java.sql.SQLException;
+    method public java.sql.Date getDate(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Date getDate(String) throws java.sql.SQLException;
+    method public java.sql.Date getDate(String, java.util.Calendar) throws java.sql.SQLException;
+    method public double getDouble(int) throws java.sql.SQLException;
+    method public double getDouble(String) throws java.sql.SQLException;
+    method public float getFloat(int) throws java.sql.SQLException;
+    method public float getFloat(String) throws java.sql.SQLException;
+    method public int getInt(int) throws java.sql.SQLException;
+    method public int getInt(String) throws java.sql.SQLException;
+    method public long getLong(int) throws java.sql.SQLException;
+    method public long getLong(String) throws java.sql.SQLException;
+    method public java.io.Reader getNCharacterStream(int) throws java.sql.SQLException;
+    method public java.io.Reader getNCharacterStream(String) throws java.sql.SQLException;
+    method public java.sql.NClob getNClob(int) throws java.sql.SQLException;
+    method public java.sql.NClob getNClob(String) throws java.sql.SQLException;
+    method public String getNString(int) throws java.sql.SQLException;
+    method public String getNString(String) throws java.sql.SQLException;
+    method public Object getObject(int) throws java.sql.SQLException;
+    method public Object getObject(int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public Object getObject(String) throws java.sql.SQLException;
+    method public Object getObject(String, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public java.sql.Ref getRef(int) throws java.sql.SQLException;
+    method public java.sql.Ref getRef(String) throws java.sql.SQLException;
+    method public java.sql.RowId getRowId(int) throws java.sql.SQLException;
+    method public java.sql.RowId getRowId(String) throws java.sql.SQLException;
+    method public java.sql.SQLXML getSQLXML(int) throws java.sql.SQLException;
+    method public java.sql.SQLXML getSQLXML(String) throws java.sql.SQLException;
+    method public short getShort(int) throws java.sql.SQLException;
+    method public short getShort(String) throws java.sql.SQLException;
+    method public String getString(int) throws java.sql.SQLException;
+    method public String getString(String) throws java.sql.SQLException;
+    method public java.sql.Time getTime(int) throws java.sql.SQLException;
+    method public java.sql.Time getTime(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Time getTime(String) throws java.sql.SQLException;
+    method public java.sql.Time getTime(String, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(int) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(String) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(String, java.util.Calendar) throws java.sql.SQLException;
+    method public java.net.URL getURL(int) throws java.sql.SQLException;
+    method public java.net.URL getURL(String) throws java.sql.SQLException;
+    method public void registerOutParameter(int, int) throws java.sql.SQLException;
+    method public void registerOutParameter(int, int, int) throws java.sql.SQLException;
+    method public void registerOutParameter(int, int, String) throws java.sql.SQLException;
+    method public void registerOutParameter(String, int) throws java.sql.SQLException;
+    method public void registerOutParameter(String, int, int) throws java.sql.SQLException;
+    method public void registerOutParameter(String, int, String) throws java.sql.SQLException;
+    method public void setAsciiStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setAsciiStream(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setAsciiStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBigDecimal(String, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void setBinaryStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setBinaryStream(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBinaryStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBlob(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBlob(String, java.sql.Blob) throws java.sql.SQLException;
+    method public void setBlob(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBoolean(String, boolean) throws java.sql.SQLException;
+    method public void setByte(String, byte) throws java.sql.SQLException;
+    method public void setBytes(String, byte[]) throws java.sql.SQLException;
+    method public void setCharacterStream(String, java.io.Reader, int) throws java.sql.SQLException;
+    method public void setCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setClob(String, java.sql.Clob) throws java.sql.SQLException;
+    method public void setClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setDate(String, java.sql.Date) throws java.sql.SQLException;
+    method public void setDate(String, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+    method public void setDouble(String, double) throws java.sql.SQLException;
+    method public void setFloat(String, float) throws java.sql.SQLException;
+    method public void setInt(String, int) throws java.sql.SQLException;
+    method public void setLong(String, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setNClob(String, java.sql.NClob) throws java.sql.SQLException;
+    method public void setNClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setNString(String, String) throws java.sql.SQLException;
+    method public void setNull(String, int) throws java.sql.SQLException;
+    method public void setNull(String, int, String) throws java.sql.SQLException;
+    method public void setObject(String, Object, int, int) throws java.sql.SQLException;
+    method public void setObject(String, Object, int) throws java.sql.SQLException;
+    method public void setObject(String, Object) throws java.sql.SQLException;
+    method public void setRowId(String, java.sql.RowId) throws java.sql.SQLException;
+    method public void setSQLXML(String, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void setShort(String, short) throws java.sql.SQLException;
+    method public void setString(String, String) throws java.sql.SQLException;
+    method public void setTime(String, java.sql.Time) throws java.sql.SQLException;
+    method public void setTime(String, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTimestamp(String, java.sql.Timestamp) throws java.sql.SQLException;
+    method public void setTimestamp(String, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+    method public void setURL(String, java.net.URL) throws java.sql.SQLException;
+    method public boolean wasNull() throws java.sql.SQLException;
+  }
+
+  public enum ClientInfoStatus {
+    enum_constant public static final java.sql.ClientInfoStatus REASON_UNKNOWN;
+    enum_constant public static final java.sql.ClientInfoStatus REASON_UNKNOWN_PROPERTY;
+    enum_constant public static final java.sql.ClientInfoStatus REASON_VALUE_INVALID;
+    enum_constant public static final java.sql.ClientInfoStatus REASON_VALUE_TRUNCATED;
+  }
+
+  public interface Clob {
+    method public void free() throws java.sql.SQLException;
+    method public java.io.InputStream getAsciiStream() throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream() throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream(long, long) throws java.sql.SQLException;
+    method public String getSubString(long, int) throws java.sql.SQLException;
+    method public long length() throws java.sql.SQLException;
+    method public long position(String, long) throws java.sql.SQLException;
+    method public long position(java.sql.Clob, long) throws java.sql.SQLException;
+    method public java.io.OutputStream setAsciiStream(long) throws java.sql.SQLException;
+    method public java.io.Writer setCharacterStream(long) throws java.sql.SQLException;
+    method public int setString(long, String) throws java.sql.SQLException;
+    method public int setString(long, String, int, int) throws java.sql.SQLException;
+    method public void truncate(long) throws java.sql.SQLException;
+  }
+
+  public interface Connection extends java.sql.Wrapper java.lang.AutoCloseable {
+    method public void clearWarnings() throws java.sql.SQLException;
+    method public void close() throws java.sql.SQLException;
+    method public void commit() throws java.sql.SQLException;
+    method public java.sql.Array createArrayOf(String, Object[]) throws java.sql.SQLException;
+    method public java.sql.Blob createBlob() throws java.sql.SQLException;
+    method public java.sql.Clob createClob() throws java.sql.SQLException;
+    method public java.sql.NClob createNClob() throws java.sql.SQLException;
+    method public java.sql.SQLXML createSQLXML() throws java.sql.SQLException;
+    method public java.sql.Statement createStatement() throws java.sql.SQLException;
+    method public java.sql.Statement createStatement(int, int) throws java.sql.SQLException;
+    method public java.sql.Statement createStatement(int, int, int) throws java.sql.SQLException;
+    method public java.sql.Struct createStruct(String, Object[]) throws java.sql.SQLException;
+    method public boolean getAutoCommit() throws java.sql.SQLException;
+    method public String getCatalog() throws java.sql.SQLException;
+    method public String getClientInfo(String) throws java.sql.SQLException;
+    method public java.util.Properties getClientInfo() throws java.sql.SQLException;
+    method public int getHoldability() throws java.sql.SQLException;
+    method public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException;
+    method public int getTransactionIsolation() throws java.sql.SQLException;
+    method public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap() throws java.sql.SQLException;
+    method public java.sql.SQLWarning getWarnings() throws java.sql.SQLException;
+    method public boolean isClosed() throws java.sql.SQLException;
+    method public boolean isReadOnly() throws java.sql.SQLException;
+    method public boolean isValid(int) throws java.sql.SQLException;
+    method public String nativeSQL(String) throws java.sql.SQLException;
+    method public java.sql.CallableStatement prepareCall(String) throws java.sql.SQLException;
+    method public java.sql.CallableStatement prepareCall(String, int, int) throws java.sql.SQLException;
+    method public java.sql.CallableStatement prepareCall(String, int, int, int) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String, int, int) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String, int, int, int) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String, int) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String, int[]) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String, String[]) throws java.sql.SQLException;
+    method public void releaseSavepoint(java.sql.Savepoint) throws java.sql.SQLException;
+    method public void rollback() throws java.sql.SQLException;
+    method public void rollback(java.sql.Savepoint) throws java.sql.SQLException;
+    method public void setAutoCommit(boolean) throws java.sql.SQLException;
+    method public void setCatalog(String) throws java.sql.SQLException;
+    method public void setClientInfo(String, String) throws java.sql.SQLClientInfoException;
+    method public void setClientInfo(java.util.Properties) throws java.sql.SQLClientInfoException;
+    method public void setHoldability(int) throws java.sql.SQLException;
+    method public void setReadOnly(boolean) throws java.sql.SQLException;
+    method public java.sql.Savepoint setSavepoint() throws java.sql.SQLException;
+    method public java.sql.Savepoint setSavepoint(String) throws java.sql.SQLException;
+    method public void setTransactionIsolation(int) throws java.sql.SQLException;
+    method public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    field public static final int TRANSACTION_NONE = 0; // 0x0
+    field public static final int TRANSACTION_READ_COMMITTED = 2; // 0x2
+    field public static final int TRANSACTION_READ_UNCOMMITTED = 1; // 0x1
+    field public static final int TRANSACTION_REPEATABLE_READ = 4; // 0x4
+    field public static final int TRANSACTION_SERIALIZABLE = 8; // 0x8
+  }
+
+  public class DataTruncation extends java.sql.SQLWarning {
+    ctor public DataTruncation(int, boolean, boolean, int, int);
+    ctor public DataTruncation(int, boolean, boolean, int, int, Throwable);
+    method public int getDataSize();
+    method public int getIndex();
+    method public boolean getParameter();
+    method public boolean getRead();
+    method public int getTransferSize();
+  }
+
+  public interface DatabaseMetaData extends java.sql.Wrapper {
+    method public boolean allProceduresAreCallable() throws java.sql.SQLException;
+    method public boolean allTablesAreSelectable() throws java.sql.SQLException;
+    method public boolean autoCommitFailureClosesAllResultSets() throws java.sql.SQLException;
+    method public boolean dataDefinitionCausesTransactionCommit() throws java.sql.SQLException;
+    method public boolean dataDefinitionIgnoredInTransactions() throws java.sql.SQLException;
+    method public boolean deletesAreDetected(int) throws java.sql.SQLException;
+    method public boolean doesMaxRowSizeIncludeBlobs() throws java.sql.SQLException;
+    method public java.sql.ResultSet getAttributes(String, String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getBestRowIdentifier(String, String, String, int, boolean) throws java.sql.SQLException;
+    method public String getCatalogSeparator() throws java.sql.SQLException;
+    method public String getCatalogTerm() throws java.sql.SQLException;
+    method public java.sql.ResultSet getCatalogs() throws java.sql.SQLException;
+    method public java.sql.ResultSet getClientInfoProperties() throws java.sql.SQLException;
+    method public java.sql.ResultSet getColumnPrivileges(String, String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getColumns(String, String, String, String) throws java.sql.SQLException;
+    method public java.sql.Connection getConnection() throws java.sql.SQLException;
+    method public java.sql.ResultSet getCrossReference(String, String, String, String, String, String) throws java.sql.SQLException;
+    method public int getDatabaseMajorVersion() throws java.sql.SQLException;
+    method public int getDatabaseMinorVersion() throws java.sql.SQLException;
+    method public String getDatabaseProductName() throws java.sql.SQLException;
+    method public String getDatabaseProductVersion() throws java.sql.SQLException;
+    method public int getDefaultTransactionIsolation() throws java.sql.SQLException;
+    method public int getDriverMajorVersion();
+    method public int getDriverMinorVersion();
+    method public String getDriverName() throws java.sql.SQLException;
+    method public String getDriverVersion() throws java.sql.SQLException;
+    method public java.sql.ResultSet getExportedKeys(String, String, String) throws java.sql.SQLException;
+    method public String getExtraNameCharacters() throws java.sql.SQLException;
+    method public java.sql.ResultSet getFunctionColumns(String, String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getFunctions(String, String, String) throws java.sql.SQLException;
+    method public String getIdentifierQuoteString() throws java.sql.SQLException;
+    method public java.sql.ResultSet getImportedKeys(String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getIndexInfo(String, String, String, boolean, boolean) throws java.sql.SQLException;
+    method public int getJDBCMajorVersion() throws java.sql.SQLException;
+    method public int getJDBCMinorVersion() throws java.sql.SQLException;
+    method public int getMaxBinaryLiteralLength() throws java.sql.SQLException;
+    method public int getMaxCatalogNameLength() throws java.sql.SQLException;
+    method public int getMaxCharLiteralLength() throws java.sql.SQLException;
+    method public int getMaxColumnNameLength() throws java.sql.SQLException;
+    method public int getMaxColumnsInGroupBy() throws java.sql.SQLException;
+    method public int getMaxColumnsInIndex() throws java.sql.SQLException;
+    method public int getMaxColumnsInOrderBy() throws java.sql.SQLException;
+    method public int getMaxColumnsInSelect() throws java.sql.SQLException;
+    method public int getMaxColumnsInTable() throws java.sql.SQLException;
+    method public int getMaxConnections() throws java.sql.SQLException;
+    method public int getMaxCursorNameLength() throws java.sql.SQLException;
+    method public int getMaxIndexLength() throws java.sql.SQLException;
+    method public int getMaxProcedureNameLength() throws java.sql.SQLException;
+    method public int getMaxRowSize() throws java.sql.SQLException;
+    method public int getMaxSchemaNameLength() throws java.sql.SQLException;
+    method public int getMaxStatementLength() throws java.sql.SQLException;
+    method public int getMaxStatements() throws java.sql.SQLException;
+    method public int getMaxTableNameLength() throws java.sql.SQLException;
+    method public int getMaxTablesInSelect() throws java.sql.SQLException;
+    method public int getMaxUserNameLength() throws java.sql.SQLException;
+    method public String getNumericFunctions() throws java.sql.SQLException;
+    method public java.sql.ResultSet getPrimaryKeys(String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getProcedureColumns(String, String, String, String) throws java.sql.SQLException;
+    method public String getProcedureTerm() throws java.sql.SQLException;
+    method public java.sql.ResultSet getProcedures(String, String, String) throws java.sql.SQLException;
+    method public int getResultSetHoldability() throws java.sql.SQLException;
+    method public java.sql.RowIdLifetime getRowIdLifetime() throws java.sql.SQLException;
+    method public String getSQLKeywords() throws java.sql.SQLException;
+    method public int getSQLStateType() throws java.sql.SQLException;
+    method public String getSchemaTerm() throws java.sql.SQLException;
+    method public java.sql.ResultSet getSchemas() throws java.sql.SQLException;
+    method public java.sql.ResultSet getSchemas(String, String) throws java.sql.SQLException;
+    method public String getSearchStringEscape() throws java.sql.SQLException;
+    method public String getStringFunctions() throws java.sql.SQLException;
+    method public java.sql.ResultSet getSuperTables(String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getSuperTypes(String, String, String) throws java.sql.SQLException;
+    method public String getSystemFunctions() throws java.sql.SQLException;
+    method public java.sql.ResultSet getTablePrivileges(String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getTableTypes() throws java.sql.SQLException;
+    method public java.sql.ResultSet getTables(String, String, String, String[]) throws java.sql.SQLException;
+    method public String getTimeDateFunctions() throws java.sql.SQLException;
+    method public java.sql.ResultSet getTypeInfo() throws java.sql.SQLException;
+    method public java.sql.ResultSet getUDTs(String, String, String, int[]) throws java.sql.SQLException;
+    method public String getURL() throws java.sql.SQLException;
+    method public String getUserName() throws java.sql.SQLException;
+    method public java.sql.ResultSet getVersionColumns(String, String, String) throws java.sql.SQLException;
+    method public boolean insertsAreDetected(int) throws java.sql.SQLException;
+    method public boolean isCatalogAtStart() throws java.sql.SQLException;
+    method public boolean isReadOnly() throws java.sql.SQLException;
+    method public boolean locatorsUpdateCopy() throws java.sql.SQLException;
+    method public boolean nullPlusNonNullIsNull() throws java.sql.SQLException;
+    method public boolean nullsAreSortedAtEnd() throws java.sql.SQLException;
+    method public boolean nullsAreSortedAtStart() throws java.sql.SQLException;
+    method public boolean nullsAreSortedHigh() throws java.sql.SQLException;
+    method public boolean nullsAreSortedLow() throws java.sql.SQLException;
+    method public boolean othersDeletesAreVisible(int) throws java.sql.SQLException;
+    method public boolean othersInsertsAreVisible(int) throws java.sql.SQLException;
+    method public boolean othersUpdatesAreVisible(int) throws java.sql.SQLException;
+    method public boolean ownDeletesAreVisible(int) throws java.sql.SQLException;
+    method public boolean ownInsertsAreVisible(int) throws java.sql.SQLException;
+    method public boolean ownUpdatesAreVisible(int) throws java.sql.SQLException;
+    method public boolean storesLowerCaseIdentifiers() throws java.sql.SQLException;
+    method public boolean storesLowerCaseQuotedIdentifiers() throws java.sql.SQLException;
+    method public boolean storesMixedCaseIdentifiers() throws java.sql.SQLException;
+    method public boolean storesMixedCaseQuotedIdentifiers() throws java.sql.SQLException;
+    method public boolean storesUpperCaseIdentifiers() throws java.sql.SQLException;
+    method public boolean storesUpperCaseQuotedIdentifiers() throws java.sql.SQLException;
+    method public boolean supportsANSI92EntryLevelSQL() throws java.sql.SQLException;
+    method public boolean supportsANSI92FullSQL() throws java.sql.SQLException;
+    method public boolean supportsANSI92IntermediateSQL() throws java.sql.SQLException;
+    method public boolean supportsAlterTableWithAddColumn() throws java.sql.SQLException;
+    method public boolean supportsAlterTableWithDropColumn() throws java.sql.SQLException;
+    method public boolean supportsBatchUpdates() throws java.sql.SQLException;
+    method public boolean supportsCatalogsInDataManipulation() throws java.sql.SQLException;
+    method public boolean supportsCatalogsInIndexDefinitions() throws java.sql.SQLException;
+    method public boolean supportsCatalogsInPrivilegeDefinitions() throws java.sql.SQLException;
+    method public boolean supportsCatalogsInProcedureCalls() throws java.sql.SQLException;
+    method public boolean supportsCatalogsInTableDefinitions() throws java.sql.SQLException;
+    method public boolean supportsColumnAliasing() throws java.sql.SQLException;
+    method public boolean supportsConvert() throws java.sql.SQLException;
+    method public boolean supportsConvert(int, int) throws java.sql.SQLException;
+    method public boolean supportsCoreSQLGrammar() throws java.sql.SQLException;
+    method public boolean supportsCorrelatedSubqueries() throws java.sql.SQLException;
+    method public boolean supportsDataDefinitionAndDataManipulationTransactions() throws java.sql.SQLException;
+    method public boolean supportsDataManipulationTransactionsOnly() throws java.sql.SQLException;
+    method public boolean supportsDifferentTableCorrelationNames() throws java.sql.SQLException;
+    method public boolean supportsExpressionsInOrderBy() throws java.sql.SQLException;
+    method public boolean supportsExtendedSQLGrammar() throws java.sql.SQLException;
+    method public boolean supportsFullOuterJoins() throws java.sql.SQLException;
+    method public boolean supportsGetGeneratedKeys() throws java.sql.SQLException;
+    method public boolean supportsGroupBy() throws java.sql.SQLException;
+    method public boolean supportsGroupByBeyondSelect() throws java.sql.SQLException;
+    method public boolean supportsGroupByUnrelated() throws java.sql.SQLException;
+    method public boolean supportsIntegrityEnhancementFacility() throws java.sql.SQLException;
+    method public boolean supportsLikeEscapeClause() throws java.sql.SQLException;
+    method public boolean supportsLimitedOuterJoins() throws java.sql.SQLException;
+    method public boolean supportsMinimumSQLGrammar() throws java.sql.SQLException;
+    method public boolean supportsMixedCaseIdentifiers() throws java.sql.SQLException;
+    method public boolean supportsMixedCaseQuotedIdentifiers() throws java.sql.SQLException;
+    method public boolean supportsMultipleOpenResults() throws java.sql.SQLException;
+    method public boolean supportsMultipleResultSets() throws java.sql.SQLException;
+    method public boolean supportsMultipleTransactions() throws java.sql.SQLException;
+    method public boolean supportsNamedParameters() throws java.sql.SQLException;
+    method public boolean supportsNonNullableColumns() throws java.sql.SQLException;
+    method public boolean supportsOpenCursorsAcrossCommit() throws java.sql.SQLException;
+    method public boolean supportsOpenCursorsAcrossRollback() throws java.sql.SQLException;
+    method public boolean supportsOpenStatementsAcrossCommit() throws java.sql.SQLException;
+    method public boolean supportsOpenStatementsAcrossRollback() throws java.sql.SQLException;
+    method public boolean supportsOrderByUnrelated() throws java.sql.SQLException;
+    method public boolean supportsOuterJoins() throws java.sql.SQLException;
+    method public boolean supportsPositionedDelete() throws java.sql.SQLException;
+    method public boolean supportsPositionedUpdate() throws java.sql.SQLException;
+    method public boolean supportsResultSetConcurrency(int, int) throws java.sql.SQLException;
+    method public boolean supportsResultSetHoldability(int) throws java.sql.SQLException;
+    method public boolean supportsResultSetType(int) throws java.sql.SQLException;
+    method public boolean supportsSavepoints() throws java.sql.SQLException;
+    method public boolean supportsSchemasInDataManipulation() throws java.sql.SQLException;
+    method public boolean supportsSchemasInIndexDefinitions() throws java.sql.SQLException;
+    method public boolean supportsSchemasInPrivilegeDefinitions() throws java.sql.SQLException;
+    method public boolean supportsSchemasInProcedureCalls() throws java.sql.SQLException;
+    method public boolean supportsSchemasInTableDefinitions() throws java.sql.SQLException;
+    method public boolean supportsSelectForUpdate() throws java.sql.SQLException;
+    method public boolean supportsStatementPooling() throws java.sql.SQLException;
+    method public boolean supportsStoredFunctionsUsingCallSyntax() throws java.sql.SQLException;
+    method public boolean supportsStoredProcedures() throws java.sql.SQLException;
+    method public boolean supportsSubqueriesInComparisons() throws java.sql.SQLException;
+    method public boolean supportsSubqueriesInExists() throws java.sql.SQLException;
+    method public boolean supportsSubqueriesInIns() throws java.sql.SQLException;
+    method public boolean supportsSubqueriesInQuantifieds() throws java.sql.SQLException;
+    method public boolean supportsTableCorrelationNames() throws java.sql.SQLException;
+    method public boolean supportsTransactionIsolationLevel(int) throws java.sql.SQLException;
+    method public boolean supportsTransactions() throws java.sql.SQLException;
+    method public boolean supportsUnion() throws java.sql.SQLException;
+    method public boolean supportsUnionAll() throws java.sql.SQLException;
+    method public boolean updatesAreDetected(int) throws java.sql.SQLException;
+    method public boolean usesLocalFilePerTable() throws java.sql.SQLException;
+    method public boolean usesLocalFiles() throws java.sql.SQLException;
+    field public static final short attributeNoNulls = 0; // 0x0
+    field public static final short attributeNullable = 1; // 0x1
+    field public static final short attributeNullableUnknown = 2; // 0x2
+    field public static final int bestRowNotPseudo = 1; // 0x1
+    field public static final int bestRowPseudo = 2; // 0x2
+    field public static final int bestRowSession = 2; // 0x2
+    field public static final int bestRowTemporary = 0; // 0x0
+    field public static final int bestRowTransaction = 1; // 0x1
+    field public static final int bestRowUnknown = 0; // 0x0
+    field public static final int columnNoNulls = 0; // 0x0
+    field public static final int columnNullable = 1; // 0x1
+    field public static final int columnNullableUnknown = 2; // 0x2
+    field public static final int functionColumnIn = 1; // 0x1
+    field public static final int functionColumnInOut = 2; // 0x2
+    field public static final int functionColumnOut = 3; // 0x3
+    field public static final int functionColumnResult = 5; // 0x5
+    field public static final int functionColumnUnknown = 0; // 0x0
+    field public static final int functionNoNulls = 0; // 0x0
+    field public static final int functionNoTable = 1; // 0x1
+    field public static final int functionNullable = 1; // 0x1
+    field public static final int functionNullableUnknown = 2; // 0x2
+    field public static final int functionResultUnknown = 0; // 0x0
+    field public static final int functionReturn = 4; // 0x4
+    field public static final int functionReturnsTable = 2; // 0x2
+    field public static final int importedKeyCascade = 0; // 0x0
+    field public static final int importedKeyInitiallyDeferred = 5; // 0x5
+    field public static final int importedKeyInitiallyImmediate = 6; // 0x6
+    field public static final int importedKeyNoAction = 3; // 0x3
+    field public static final int importedKeyNotDeferrable = 7; // 0x7
+    field public static final int importedKeyRestrict = 1; // 0x1
+    field public static final int importedKeySetDefault = 4; // 0x4
+    field public static final int importedKeySetNull = 2; // 0x2
+    field public static final int procedureColumnIn = 1; // 0x1
+    field public static final int procedureColumnInOut = 2; // 0x2
+    field public static final int procedureColumnOut = 4; // 0x4
+    field public static final int procedureColumnResult = 3; // 0x3
+    field public static final int procedureColumnReturn = 5; // 0x5
+    field public static final int procedureColumnUnknown = 0; // 0x0
+    field public static final int procedureNoNulls = 0; // 0x0
+    field public static final int procedureNoResult = 1; // 0x1
+    field public static final int procedureNullable = 1; // 0x1
+    field public static final int procedureNullableUnknown = 2; // 0x2
+    field public static final int procedureResultUnknown = 0; // 0x0
+    field public static final int procedureReturnsResult = 2; // 0x2
+    field public static final int sqlStateSQL = 2; // 0x2
+    field public static final int sqlStateSQL99 = 2; // 0x2
+    field public static final int sqlStateXOpen = 1; // 0x1
+    field public static final short tableIndexClustered = 1; // 0x1
+    field public static final short tableIndexHashed = 2; // 0x2
+    field public static final short tableIndexOther = 3; // 0x3
+    field public static final short tableIndexStatistic = 0; // 0x0
+    field public static final int typeNoNulls = 0; // 0x0
+    field public static final int typeNullable = 1; // 0x1
+    field public static final int typeNullableUnknown = 2; // 0x2
+    field public static final int typePredBasic = 2; // 0x2
+    field public static final int typePredChar = 1; // 0x1
+    field public static final int typePredNone = 0; // 0x0
+    field public static final int typeSearchable = 3; // 0x3
+    field public static final int versionColumnNotPseudo = 1; // 0x1
+    field public static final int versionColumnPseudo = 2; // 0x2
+    field public static final int versionColumnUnknown = 0; // 0x0
+  }
+
+  public class Date extends java.util.Date {
+    ctor @Deprecated public Date(int, int, int);
+    ctor public Date(long);
+    method public static java.sql.Date valueOf(String);
+  }
+
+  public interface Driver {
+    method public boolean acceptsURL(String) throws java.sql.SQLException;
+    method public java.sql.Connection connect(String, java.util.Properties) throws java.sql.SQLException;
+    method public int getMajorVersion();
+    method public int getMinorVersion();
+    method public java.sql.DriverPropertyInfo[] getPropertyInfo(String, java.util.Properties) throws java.sql.SQLException;
+    method public boolean jdbcCompliant();
+  }
+
+  public class DriverManager {
+    method public static void deregisterDriver(java.sql.Driver) throws java.sql.SQLException;
+    method public static java.sql.Connection getConnection(String, java.util.Properties) throws java.sql.SQLException;
+    method public static java.sql.Connection getConnection(String, String, String) throws java.sql.SQLException;
+    method public static java.sql.Connection getConnection(String) throws java.sql.SQLException;
+    method public static java.sql.Driver getDriver(String) throws java.sql.SQLException;
+    method public static java.util.Enumeration<java.sql.Driver> getDrivers();
+    method @Deprecated public static java.io.PrintStream getLogStream();
+    method public static java.io.PrintWriter getLogWriter();
+    method public static int getLoginTimeout();
+    method public static void println(String);
+    method public static void registerDriver(java.sql.Driver) throws java.sql.SQLException;
+    method @Deprecated public static void setLogStream(java.io.PrintStream);
+    method public static void setLogWriter(java.io.PrintWriter);
+    method public static void setLoginTimeout(int);
+  }
+
+  public class DriverPropertyInfo {
+    ctor public DriverPropertyInfo(String, String);
+    field public String[] choices;
+    field public String description;
+    field public String name;
+    field public boolean required;
+    field public String value;
+  }
+
+  public interface NClob extends java.sql.Clob {
+  }
+
+  public interface ParameterMetaData extends java.sql.Wrapper {
+    method public String getParameterClassName(int) throws java.sql.SQLException;
+    method public int getParameterCount() throws java.sql.SQLException;
+    method public int getParameterMode(int) throws java.sql.SQLException;
+    method public int getParameterType(int) throws java.sql.SQLException;
+    method public String getParameterTypeName(int) throws java.sql.SQLException;
+    method public int getPrecision(int) throws java.sql.SQLException;
+    method public int getScale(int) throws java.sql.SQLException;
+    method public int isNullable(int) throws java.sql.SQLException;
+    method public boolean isSigned(int) throws java.sql.SQLException;
+    field public static final int parameterModeIn = 1; // 0x1
+    field public static final int parameterModeInOut = 2; // 0x2
+    field public static final int parameterModeOut = 4; // 0x4
+    field public static final int parameterModeUnknown = 0; // 0x0
+    field public static final int parameterNoNulls = 0; // 0x0
+    field public static final int parameterNullable = 1; // 0x1
+    field public static final int parameterNullableUnknown = 2; // 0x2
+  }
+
+  public interface PreparedStatement extends java.sql.Statement {
+    method public void addBatch() throws java.sql.SQLException;
+    method public void clearParameters() throws java.sql.SQLException;
+    method public boolean execute() throws java.sql.SQLException;
+    method public java.sql.ResultSet executeQuery() throws java.sql.SQLException;
+    method public int executeUpdate() throws java.sql.SQLException;
+    method public java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException;
+    method public java.sql.ParameterMetaData getParameterMetaData() throws java.sql.SQLException;
+    method public void setArray(int, java.sql.Array) throws java.sql.SQLException;
+    method public void setAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setAsciiStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setAsciiStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void setBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setBinaryStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBinaryStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBlob(int, java.sql.Blob) throws java.sql.SQLException;
+    method public void setBlob(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBlob(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBoolean(int, boolean) throws java.sql.SQLException;
+    method public void setByte(int, byte) throws java.sql.SQLException;
+    method public void setBytes(int, byte[]) throws java.sql.SQLException;
+    method public void setCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException;
+    method public void setCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setClob(int, java.sql.Clob) throws java.sql.SQLException;
+    method public void setClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setDate(int, java.sql.Date) throws java.sql.SQLException;
+    method public void setDate(int, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+    method public void setDouble(int, double) throws java.sql.SQLException;
+    method public void setFloat(int, float) throws java.sql.SQLException;
+    method public void setInt(int, int) throws java.sql.SQLException;
+    method public void setLong(int, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setNClob(int, java.sql.NClob) throws java.sql.SQLException;
+    method public void setNClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setNString(int, String) throws java.sql.SQLException;
+    method public void setNull(int, int) throws java.sql.SQLException;
+    method public void setNull(int, int, String) throws java.sql.SQLException;
+    method public void setObject(int, Object, int) throws java.sql.SQLException;
+    method public void setObject(int, Object) throws java.sql.SQLException;
+    method public void setObject(int, Object, int, int) throws java.sql.SQLException;
+    method public void setRef(int, java.sql.Ref) throws java.sql.SQLException;
+    method public void setRowId(int, java.sql.RowId) throws java.sql.SQLException;
+    method public void setSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void setShort(int, short) throws java.sql.SQLException;
+    method public void setString(int, String) throws java.sql.SQLException;
+    method public void setTime(int, java.sql.Time) throws java.sql.SQLException;
+    method public void setTime(int, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException;
+    method public void setTimestamp(int, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+    method public void setURL(int, java.net.URL) throws java.sql.SQLException;
+    method @Deprecated public void setUnicodeStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+  }
+
+  public interface Ref {
+    method public String getBaseTypeName() throws java.sql.SQLException;
+    method public Object getObject(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public Object getObject() throws java.sql.SQLException;
+    method public void setObject(Object) throws java.sql.SQLException;
+  }
+
+  public interface ResultSet extends java.sql.Wrapper java.lang.AutoCloseable {
+    method public boolean absolute(int) throws java.sql.SQLException;
+    method public void afterLast() throws java.sql.SQLException;
+    method public void beforeFirst() throws java.sql.SQLException;
+    method public void cancelRowUpdates() throws java.sql.SQLException;
+    method public void clearWarnings() throws java.sql.SQLException;
+    method public void close() throws java.sql.SQLException;
+    method public void deleteRow() throws java.sql.SQLException;
+    method public int findColumn(String) throws java.sql.SQLException;
+    method public boolean first() throws java.sql.SQLException;
+    method public java.sql.Array getArray(int) throws java.sql.SQLException;
+    method public java.sql.Array getArray(String) throws java.sql.SQLException;
+    method public java.io.InputStream getAsciiStream(int) throws java.sql.SQLException;
+    method public java.io.InputStream getAsciiStream(String) throws java.sql.SQLException;
+    method @Deprecated public java.math.BigDecimal getBigDecimal(int, int) throws java.sql.SQLException;
+    method @Deprecated public java.math.BigDecimal getBigDecimal(String, int) throws java.sql.SQLException;
+    method public java.math.BigDecimal getBigDecimal(int) throws java.sql.SQLException;
+    method public java.math.BigDecimal getBigDecimal(String) throws java.sql.SQLException;
+    method public java.io.InputStream getBinaryStream(int) throws java.sql.SQLException;
+    method public java.io.InputStream getBinaryStream(String) throws java.sql.SQLException;
+    method public java.sql.Blob getBlob(int) throws java.sql.SQLException;
+    method public java.sql.Blob getBlob(String) throws java.sql.SQLException;
+    method public boolean getBoolean(int) throws java.sql.SQLException;
+    method public boolean getBoolean(String) throws java.sql.SQLException;
+    method public byte getByte(int) throws java.sql.SQLException;
+    method public byte getByte(String) throws java.sql.SQLException;
+    method public byte[] getBytes(int) throws java.sql.SQLException;
+    method public byte[] getBytes(String) throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream(int) throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream(String) throws java.sql.SQLException;
+    method public java.sql.Clob getClob(int) throws java.sql.SQLException;
+    method public java.sql.Clob getClob(String) throws java.sql.SQLException;
+    method public int getConcurrency() throws java.sql.SQLException;
+    method public String getCursorName() throws java.sql.SQLException;
+    method public java.sql.Date getDate(int) throws java.sql.SQLException;
+    method public java.sql.Date getDate(String) throws java.sql.SQLException;
+    method public java.sql.Date getDate(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Date getDate(String, java.util.Calendar) throws java.sql.SQLException;
+    method public double getDouble(int) throws java.sql.SQLException;
+    method public double getDouble(String) throws java.sql.SQLException;
+    method public int getFetchDirection() throws java.sql.SQLException;
+    method public int getFetchSize() throws java.sql.SQLException;
+    method public float getFloat(int) throws java.sql.SQLException;
+    method public float getFloat(String) throws java.sql.SQLException;
+    method public int getHoldability() throws java.sql.SQLException;
+    method public int getInt(int) throws java.sql.SQLException;
+    method public int getInt(String) throws java.sql.SQLException;
+    method public long getLong(int) throws java.sql.SQLException;
+    method public long getLong(String) throws java.sql.SQLException;
+    method public java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException;
+    method public java.io.Reader getNCharacterStream(int) throws java.sql.SQLException;
+    method public java.io.Reader getNCharacterStream(String) throws java.sql.SQLException;
+    method public java.sql.NClob getNClob(int) throws java.sql.SQLException;
+    method public java.sql.NClob getNClob(String) throws java.sql.SQLException;
+    method public String getNString(int) throws java.sql.SQLException;
+    method public String getNString(String) throws java.sql.SQLException;
+    method public Object getObject(int) throws java.sql.SQLException;
+    method public Object getObject(String) throws java.sql.SQLException;
+    method public Object getObject(int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public Object getObject(String, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public java.sql.Ref getRef(int) throws java.sql.SQLException;
+    method public java.sql.Ref getRef(String) throws java.sql.SQLException;
+    method public int getRow() throws java.sql.SQLException;
+    method public java.sql.RowId getRowId(int) throws java.sql.SQLException;
+    method public java.sql.RowId getRowId(String) throws java.sql.SQLException;
+    method public java.sql.SQLXML getSQLXML(int) throws java.sql.SQLException;
+    method public java.sql.SQLXML getSQLXML(String) throws java.sql.SQLException;
+    method public short getShort(int) throws java.sql.SQLException;
+    method public short getShort(String) throws java.sql.SQLException;
+    method public java.sql.Statement getStatement() throws java.sql.SQLException;
+    method public String getString(int) throws java.sql.SQLException;
+    method public String getString(String) throws java.sql.SQLException;
+    method public java.sql.Time getTime(int) throws java.sql.SQLException;
+    method public java.sql.Time getTime(String) throws java.sql.SQLException;
+    method public java.sql.Time getTime(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Time getTime(String, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(int) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(String) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(String, java.util.Calendar) throws java.sql.SQLException;
+    method public int getType() throws java.sql.SQLException;
+    method public java.net.URL getURL(int) throws java.sql.SQLException;
+    method public java.net.URL getURL(String) throws java.sql.SQLException;
+    method @Deprecated public java.io.InputStream getUnicodeStream(int) throws java.sql.SQLException;
+    method @Deprecated public java.io.InputStream getUnicodeStream(String) throws java.sql.SQLException;
+    method public java.sql.SQLWarning getWarnings() throws java.sql.SQLException;
+    method public void insertRow() throws java.sql.SQLException;
+    method public boolean isAfterLast() throws java.sql.SQLException;
+    method public boolean isBeforeFirst() throws java.sql.SQLException;
+    method public boolean isClosed() throws java.sql.SQLException;
+    method public boolean isFirst() throws java.sql.SQLException;
+    method public boolean isLast() throws java.sql.SQLException;
+    method public boolean last() throws java.sql.SQLException;
+    method public void moveToCurrentRow() throws java.sql.SQLException;
+    method public void moveToInsertRow() throws java.sql.SQLException;
+    method public boolean next() throws java.sql.SQLException;
+    method public boolean previous() throws java.sql.SQLException;
+    method public void refreshRow() throws java.sql.SQLException;
+    method public boolean relative(int) throws java.sql.SQLException;
+    method public boolean rowDeleted() throws java.sql.SQLException;
+    method public boolean rowInserted() throws java.sql.SQLException;
+    method public boolean rowUpdated() throws java.sql.SQLException;
+    method public void setFetchDirection(int) throws java.sql.SQLException;
+    method public void setFetchSize(int) throws java.sql.SQLException;
+    method public void updateArray(int, java.sql.Array) throws java.sql.SQLException;
+    method public void updateArray(String, java.sql.Array) throws java.sql.SQLException;
+    method public void updateAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void updateAsciiStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void updateAsciiStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateAsciiStream(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateAsciiStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateAsciiStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void updateBigDecimal(String, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void updateBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void updateBinaryStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void updateBinaryStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateBinaryStream(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateBinaryStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateBinaryStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateBlob(int, java.sql.Blob) throws java.sql.SQLException;
+    method public void updateBlob(String, java.sql.Blob) throws java.sql.SQLException;
+    method public void updateBlob(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateBlob(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateBlob(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateBlob(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateBoolean(int, boolean) throws java.sql.SQLException;
+    method public void updateBoolean(String, boolean) throws java.sql.SQLException;
+    method public void updateByte(int, byte) throws java.sql.SQLException;
+    method public void updateByte(String, byte) throws java.sql.SQLException;
+    method public void updateBytes(int, byte[]) throws java.sql.SQLException;
+    method public void updateBytes(String, byte[]) throws java.sql.SQLException;
+    method public void updateCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException;
+    method public void updateCharacterStream(String, java.io.Reader, int) throws java.sql.SQLException;
+    method public void updateCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void updateCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void updateClob(int, java.sql.Clob) throws java.sql.SQLException;
+    method public void updateClob(String, java.sql.Clob) throws java.sql.SQLException;
+    method public void updateClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void updateClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void updateDate(int, java.sql.Date) throws java.sql.SQLException;
+    method public void updateDate(String, java.sql.Date) throws java.sql.SQLException;
+    method public void updateDouble(int, double) throws java.sql.SQLException;
+    method public void updateDouble(String, double) throws java.sql.SQLException;
+    method public void updateFloat(int, float) throws java.sql.SQLException;
+    method public void updateFloat(String, float) throws java.sql.SQLException;
+    method public void updateInt(int, int) throws java.sql.SQLException;
+    method public void updateInt(String, int) throws java.sql.SQLException;
+    method public void updateLong(int, long) throws java.sql.SQLException;
+    method public void updateLong(String, long) throws java.sql.SQLException;
+    method public void updateNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateNCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateNCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void updateNCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void updateNClob(int, java.sql.NClob) throws java.sql.SQLException;
+    method public void updateNClob(String, java.sql.NClob) throws java.sql.SQLException;
+    method public void updateNClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateNClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateNClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void updateNClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void updateNString(int, String) throws java.sql.SQLException;
+    method public void updateNString(String, String) throws java.sql.SQLException;
+    method public void updateNull(int) throws java.sql.SQLException;
+    method public void updateNull(String) throws java.sql.SQLException;
+    method public void updateObject(int, Object, int) throws java.sql.SQLException;
+    method public void updateObject(int, Object) throws java.sql.SQLException;
+    method public void updateObject(String, Object, int) throws java.sql.SQLException;
+    method public void updateObject(String, Object) throws java.sql.SQLException;
+    method public void updateRef(int, java.sql.Ref) throws java.sql.SQLException;
+    method public void updateRef(String, java.sql.Ref) throws java.sql.SQLException;
+    method public void updateRow() throws java.sql.SQLException;
+    method public void updateRowId(int, java.sql.RowId) throws java.sql.SQLException;
+    method public void updateRowId(String, java.sql.RowId) throws java.sql.SQLException;
+    method public void updateSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void updateSQLXML(String, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void updateShort(int, short) throws java.sql.SQLException;
+    method public void updateShort(String, short) throws java.sql.SQLException;
+    method public void updateString(int, String) throws java.sql.SQLException;
+    method public void updateString(String, String) throws java.sql.SQLException;
+    method public void updateTime(int, java.sql.Time) throws java.sql.SQLException;
+    method public void updateTime(String, java.sql.Time) throws java.sql.SQLException;
+    method public void updateTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException;
+    method public void updateTimestamp(String, java.sql.Timestamp) throws java.sql.SQLException;
+    method public boolean wasNull() throws java.sql.SQLException;
+    field public static final int CLOSE_CURSORS_AT_COMMIT = 2; // 0x2
+    field public static final int CONCUR_READ_ONLY = 1007; // 0x3ef
+    field public static final int CONCUR_UPDATABLE = 1008; // 0x3f0
+    field public static final int FETCH_FORWARD = 1000; // 0x3e8
+    field public static final int FETCH_REVERSE = 1001; // 0x3e9
+    field public static final int FETCH_UNKNOWN = 1002; // 0x3ea
+    field public static final int HOLD_CURSORS_OVER_COMMIT = 1; // 0x1
+    field public static final int TYPE_FORWARD_ONLY = 1003; // 0x3eb
+    field public static final int TYPE_SCROLL_INSENSITIVE = 1004; // 0x3ec
+    field public static final int TYPE_SCROLL_SENSITIVE = 1005; // 0x3ed
+  }
+
+  public interface ResultSetMetaData extends java.sql.Wrapper {
+    method public String getCatalogName(int) throws java.sql.SQLException;
+    method public String getColumnClassName(int) throws java.sql.SQLException;
+    method public int getColumnCount() throws java.sql.SQLException;
+    method public int getColumnDisplaySize(int) throws java.sql.SQLException;
+    method public String getColumnLabel(int) throws java.sql.SQLException;
+    method public String getColumnName(int) throws java.sql.SQLException;
+    method public int getColumnType(int) throws java.sql.SQLException;
+    method public String getColumnTypeName(int) throws java.sql.SQLException;
+    method public int getPrecision(int) throws java.sql.SQLException;
+    method public int getScale(int) throws java.sql.SQLException;
+    method public String getSchemaName(int) throws java.sql.SQLException;
+    method public String getTableName(int) throws java.sql.SQLException;
+    method public boolean isAutoIncrement(int) throws java.sql.SQLException;
+    method public boolean isCaseSensitive(int) throws java.sql.SQLException;
+    method public boolean isCurrency(int) throws java.sql.SQLException;
+    method public boolean isDefinitelyWritable(int) throws java.sql.SQLException;
+    method public int isNullable(int) throws java.sql.SQLException;
+    method public boolean isReadOnly(int) throws java.sql.SQLException;
+    method public boolean isSearchable(int) throws java.sql.SQLException;
+    method public boolean isSigned(int) throws java.sql.SQLException;
+    method public boolean isWritable(int) throws java.sql.SQLException;
+    field public static final int columnNoNulls = 0; // 0x0
+    field public static final int columnNullable = 1; // 0x1
+    field public static final int columnNullableUnknown = 2; // 0x2
+  }
+
+  public interface RowId {
+    method public boolean equals(Object);
+    method public byte[] getBytes();
+    method public int hashCode();
+    method public String toString();
+  }
+
+  public enum RowIdLifetime {
+    enum_constant public static final java.sql.RowIdLifetime ROWID_UNSUPPORTED;
+    enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_FOREVER;
+    enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_OTHER;
+    enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_SESSION;
+    enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_TRANSACTION;
+  }
+
+  public class SQLClientInfoException extends java.sql.SQLException {
+    ctor public SQLClientInfoException();
+    ctor public SQLClientInfoException(java.util.Map<java.lang.String,java.sql.ClientInfoStatus>);
+    ctor public SQLClientInfoException(java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable);
+    ctor public SQLClientInfoException(String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>);
+    ctor public SQLClientInfoException(String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable);
+    ctor public SQLClientInfoException(String, String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>);
+    ctor public SQLClientInfoException(String, String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable);
+    ctor public SQLClientInfoException(String, String, int, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>);
+    ctor public SQLClientInfoException(String, String, int, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable);
+    method public java.util.Map<java.lang.String,java.sql.ClientInfoStatus> getFailedProperties();
+  }
+
+  public interface SQLData {
+    method public String getSQLTypeName() throws java.sql.SQLException;
+    method public void readSQL(java.sql.SQLInput, String) throws java.sql.SQLException;
+    method public void writeSQL(java.sql.SQLOutput) throws java.sql.SQLException;
+  }
+
+  public class SQLDataException extends java.sql.SQLNonTransientException {
+    ctor public SQLDataException();
+    ctor public SQLDataException(String);
+    ctor public SQLDataException(String, String);
+    ctor public SQLDataException(String, String, int);
+    ctor public SQLDataException(Throwable);
+    ctor public SQLDataException(String, Throwable);
+    ctor public SQLDataException(String, String, Throwable);
+    ctor public SQLDataException(String, String, int, Throwable);
+  }
+
+  public class SQLException extends java.lang.Exception implements java.lang.Iterable<java.lang.Throwable> {
+    ctor public SQLException(String, String, int);
+    ctor public SQLException(String, String);
+    ctor public SQLException(String);
+    ctor public SQLException();
+    ctor public SQLException(Throwable);
+    ctor public SQLException(String, Throwable);
+    ctor public SQLException(String, String, Throwable);
+    ctor public SQLException(String, String, int, Throwable);
+    method public int getErrorCode();
+    method public java.sql.SQLException getNextException();
+    method public String getSQLState();
+    method public java.util.Iterator<java.lang.Throwable> iterator();
+    method public void setNextException(java.sql.SQLException);
+  }
+
+  public class SQLFeatureNotSupportedException extends java.sql.SQLNonTransientException {
+    ctor public SQLFeatureNotSupportedException();
+    ctor public SQLFeatureNotSupportedException(String);
+    ctor public SQLFeatureNotSupportedException(String, String);
+    ctor public SQLFeatureNotSupportedException(String, String, int);
+    ctor public SQLFeatureNotSupportedException(Throwable);
+    ctor public SQLFeatureNotSupportedException(String, Throwable);
+    ctor public SQLFeatureNotSupportedException(String, String, Throwable);
+    ctor public SQLFeatureNotSupportedException(String, String, int, Throwable);
+  }
+
+  public interface SQLInput {
+    method public java.sql.Array readArray() throws java.sql.SQLException;
+    method public java.io.InputStream readAsciiStream() throws java.sql.SQLException;
+    method public java.math.BigDecimal readBigDecimal() throws java.sql.SQLException;
+    method public java.io.InputStream readBinaryStream() throws java.sql.SQLException;
+    method public java.sql.Blob readBlob() throws java.sql.SQLException;
+    method public boolean readBoolean() throws java.sql.SQLException;
+    method public byte readByte() throws java.sql.SQLException;
+    method public byte[] readBytes() throws java.sql.SQLException;
+    method public java.io.Reader readCharacterStream() throws java.sql.SQLException;
+    method public java.sql.Clob readClob() throws java.sql.SQLException;
+    method public java.sql.Date readDate() throws java.sql.SQLException;
+    method public double readDouble() throws java.sql.SQLException;
+    method public float readFloat() throws java.sql.SQLException;
+    method public int readInt() throws java.sql.SQLException;
+    method public long readLong() throws java.sql.SQLException;
+    method public java.sql.NClob readNClob() throws java.sql.SQLException;
+    method public String readNString() throws java.sql.SQLException;
+    method public Object readObject() throws java.sql.SQLException;
+    method public java.sql.Ref readRef() throws java.sql.SQLException;
+    method public java.sql.RowId readRowId() throws java.sql.SQLException;
+    method public java.sql.SQLXML readSQLXML() throws java.sql.SQLException;
+    method public short readShort() throws java.sql.SQLException;
+    method public String readString() throws java.sql.SQLException;
+    method public java.sql.Time readTime() throws java.sql.SQLException;
+    method public java.sql.Timestamp readTimestamp() throws java.sql.SQLException;
+    method public java.net.URL readURL() throws java.sql.SQLException;
+    method public boolean wasNull() throws java.sql.SQLException;
+  }
+
+  public class SQLIntegrityConstraintViolationException extends java.sql.SQLNonTransientException {
+    ctor public SQLIntegrityConstraintViolationException();
+    ctor public SQLIntegrityConstraintViolationException(String);
+    ctor public SQLIntegrityConstraintViolationException(String, String);
+    ctor public SQLIntegrityConstraintViolationException(String, String, int);
+    ctor public SQLIntegrityConstraintViolationException(Throwable);
+    ctor public SQLIntegrityConstraintViolationException(String, Throwable);
+    ctor public SQLIntegrityConstraintViolationException(String, String, Throwable);
+    ctor public SQLIntegrityConstraintViolationException(String, String, int, Throwable);
+  }
+
+  public class SQLInvalidAuthorizationSpecException extends java.sql.SQLNonTransientException {
+    ctor public SQLInvalidAuthorizationSpecException();
+    ctor public SQLInvalidAuthorizationSpecException(String);
+    ctor public SQLInvalidAuthorizationSpecException(String, String);
+    ctor public SQLInvalidAuthorizationSpecException(String, String, int);
+    ctor public SQLInvalidAuthorizationSpecException(Throwable);
+    ctor public SQLInvalidAuthorizationSpecException(String, Throwable);
+    ctor public SQLInvalidAuthorizationSpecException(String, String, Throwable);
+    ctor public SQLInvalidAuthorizationSpecException(String, String, int, Throwable);
+  }
+
+  public class SQLNonTransientConnectionException extends java.sql.SQLNonTransientException {
+    ctor public SQLNonTransientConnectionException();
+    ctor public SQLNonTransientConnectionException(String);
+    ctor public SQLNonTransientConnectionException(String, String);
+    ctor public SQLNonTransientConnectionException(String, String, int);
+    ctor public SQLNonTransientConnectionException(Throwable);
+    ctor public SQLNonTransientConnectionException(String, Throwable);
+    ctor public SQLNonTransientConnectionException(String, String, Throwable);
+    ctor public SQLNonTransientConnectionException(String, String, int, Throwable);
+  }
+
+  public class SQLNonTransientException extends java.sql.SQLException {
+    ctor public SQLNonTransientException();
+    ctor public SQLNonTransientException(String);
+    ctor public SQLNonTransientException(String, String);
+    ctor public SQLNonTransientException(String, String, int);
+    ctor public SQLNonTransientException(Throwable);
+    ctor public SQLNonTransientException(String, Throwable);
+    ctor public SQLNonTransientException(String, String, Throwable);
+    ctor public SQLNonTransientException(String, String, int, Throwable);
+  }
+
+  public interface SQLOutput {
+    method public void writeArray(java.sql.Array) throws java.sql.SQLException;
+    method public void writeAsciiStream(java.io.InputStream) throws java.sql.SQLException;
+    method public void writeBigDecimal(java.math.BigDecimal) throws java.sql.SQLException;
+    method public void writeBinaryStream(java.io.InputStream) throws java.sql.SQLException;
+    method public void writeBlob(java.sql.Blob) throws java.sql.SQLException;
+    method public void writeBoolean(boolean) throws java.sql.SQLException;
+    method public void writeByte(byte) throws java.sql.SQLException;
+    method public void writeBytes(byte[]) throws java.sql.SQLException;
+    method public void writeCharacterStream(java.io.Reader) throws java.sql.SQLException;
+    method public void writeClob(java.sql.Clob) throws java.sql.SQLException;
+    method public void writeDate(java.sql.Date) throws java.sql.SQLException;
+    method public void writeDouble(double) throws java.sql.SQLException;
+    method public void writeFloat(float) throws java.sql.SQLException;
+    method public void writeInt(int) throws java.sql.SQLException;
+    method public void writeLong(long) throws java.sql.SQLException;
+    method public void writeNClob(java.sql.NClob) throws java.sql.SQLException;
+    method public void writeNString(String) throws java.sql.SQLException;
+    method public void writeObject(java.sql.SQLData) throws java.sql.SQLException;
+    method public void writeRef(java.sql.Ref) throws java.sql.SQLException;
+    method public void writeRowId(java.sql.RowId) throws java.sql.SQLException;
+    method public void writeSQLXML(java.sql.SQLXML) throws java.sql.SQLException;
+    method public void writeShort(short) throws java.sql.SQLException;
+    method public void writeString(String) throws java.sql.SQLException;
+    method public void writeStruct(java.sql.Struct) throws java.sql.SQLException;
+    method public void writeTime(java.sql.Time) throws java.sql.SQLException;
+    method public void writeTimestamp(java.sql.Timestamp) throws java.sql.SQLException;
+    method public void writeURL(java.net.URL) throws java.sql.SQLException;
+  }
+
+  public final class SQLPermission extends java.security.BasicPermission {
+    ctor public SQLPermission(String);
+    ctor public SQLPermission(String, String);
+  }
+
+  public class SQLRecoverableException extends java.sql.SQLException {
+    ctor public SQLRecoverableException();
+    ctor public SQLRecoverableException(String);
+    ctor public SQLRecoverableException(String, String);
+    ctor public SQLRecoverableException(String, String, int);
+    ctor public SQLRecoverableException(Throwable);
+    ctor public SQLRecoverableException(String, Throwable);
+    ctor public SQLRecoverableException(String, String, Throwable);
+    ctor public SQLRecoverableException(String, String, int, Throwable);
+  }
+
+  public class SQLSyntaxErrorException extends java.sql.SQLNonTransientException {
+    ctor public SQLSyntaxErrorException();
+    ctor public SQLSyntaxErrorException(String);
+    ctor public SQLSyntaxErrorException(String, String);
+    ctor public SQLSyntaxErrorException(String, String, int);
+    ctor public SQLSyntaxErrorException(Throwable);
+    ctor public SQLSyntaxErrorException(String, Throwable);
+    ctor public SQLSyntaxErrorException(String, String, Throwable);
+    ctor public SQLSyntaxErrorException(String, String, int, Throwable);
+  }
+
+  public class SQLTimeoutException extends java.sql.SQLTransientException {
+    ctor public SQLTimeoutException();
+    ctor public SQLTimeoutException(String);
+    ctor public SQLTimeoutException(String, String);
+    ctor public SQLTimeoutException(String, String, int);
+    ctor public SQLTimeoutException(Throwable);
+    ctor public SQLTimeoutException(String, Throwable);
+    ctor public SQLTimeoutException(String, String, Throwable);
+    ctor public SQLTimeoutException(String, String, int, Throwable);
+  }
+
+  public class SQLTransactionRollbackException extends java.sql.SQLTransientException {
+    ctor public SQLTransactionRollbackException();
+    ctor public SQLTransactionRollbackException(String);
+    ctor public SQLTransactionRollbackException(String, String);
+    ctor public SQLTransactionRollbackException(String, String, int);
+    ctor public SQLTransactionRollbackException(Throwable);
+    ctor public SQLTransactionRollbackException(String, Throwable);
+    ctor public SQLTransactionRollbackException(String, String, Throwable);
+    ctor public SQLTransactionRollbackException(String, String, int, Throwable);
+  }
+
+  public class SQLTransientConnectionException extends java.sql.SQLTransientException {
+    ctor public SQLTransientConnectionException();
+    ctor public SQLTransientConnectionException(String);
+    ctor public SQLTransientConnectionException(String, String);
+    ctor public SQLTransientConnectionException(String, String, int);
+    ctor public SQLTransientConnectionException(Throwable);
+    ctor public SQLTransientConnectionException(String, Throwable);
+    ctor public SQLTransientConnectionException(String, String, Throwable);
+    ctor public SQLTransientConnectionException(String, String, int, Throwable);
+  }
+
+  public class SQLTransientException extends java.sql.SQLException {
+    ctor public SQLTransientException();
+    ctor public SQLTransientException(String);
+    ctor public SQLTransientException(String, String);
+    ctor public SQLTransientException(String, String, int);
+    ctor public SQLTransientException(Throwable);
+    ctor public SQLTransientException(String, Throwable);
+    ctor public SQLTransientException(String, String, Throwable);
+    ctor public SQLTransientException(String, String, int, Throwable);
+  }
+
+  public class SQLWarning extends java.sql.SQLException {
+    ctor public SQLWarning(String, String, int);
+    ctor public SQLWarning(String, String);
+    ctor public SQLWarning(String);
+    ctor public SQLWarning();
+    ctor public SQLWarning(Throwable);
+    ctor public SQLWarning(String, Throwable);
+    ctor public SQLWarning(String, String, Throwable);
+    ctor public SQLWarning(String, String, int, Throwable);
+    method public java.sql.SQLWarning getNextWarning();
+    method public void setNextWarning(java.sql.SQLWarning);
+  }
+
+  public interface SQLXML {
+    method public void free() throws java.sql.SQLException;
+    method public java.io.InputStream getBinaryStream() throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream() throws java.sql.SQLException;
+    method public <T extends javax.xml.transform.Source> T getSource(Class<T>) throws java.sql.SQLException;
+    method public String getString() throws java.sql.SQLException;
+    method public java.io.OutputStream setBinaryStream() throws java.sql.SQLException;
+    method public java.io.Writer setCharacterStream() throws java.sql.SQLException;
+    method public <T extends javax.xml.transform.Result> T setResult(Class<T>) throws java.sql.SQLException;
+    method public void setString(String) throws java.sql.SQLException;
+  }
+
+  public interface Savepoint {
+    method public int getSavepointId() throws java.sql.SQLException;
+    method public String getSavepointName() throws java.sql.SQLException;
+  }
+
+  public interface Statement extends java.sql.Wrapper java.lang.AutoCloseable {
+    method public void addBatch(String) throws java.sql.SQLException;
+    method public void cancel() throws java.sql.SQLException;
+    method public void clearBatch() throws java.sql.SQLException;
+    method public void clearWarnings() throws java.sql.SQLException;
+    method public void close() throws java.sql.SQLException;
+    method public boolean execute(String) throws java.sql.SQLException;
+    method public boolean execute(String, int) throws java.sql.SQLException;
+    method public boolean execute(String, int[]) throws java.sql.SQLException;
+    method public boolean execute(String, String[]) throws java.sql.SQLException;
+    method public int[] executeBatch() throws java.sql.SQLException;
+    method public java.sql.ResultSet executeQuery(String) throws java.sql.SQLException;
+    method public int executeUpdate(String) throws java.sql.SQLException;
+    method public int executeUpdate(String, int) throws java.sql.SQLException;
+    method public int executeUpdate(String, int[]) throws java.sql.SQLException;
+    method public int executeUpdate(String, String[]) throws java.sql.SQLException;
+    method public java.sql.Connection getConnection() throws java.sql.SQLException;
+    method public int getFetchDirection() throws java.sql.SQLException;
+    method public int getFetchSize() throws java.sql.SQLException;
+    method public java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException;
+    method public int getMaxFieldSize() throws java.sql.SQLException;
+    method public int getMaxRows() throws java.sql.SQLException;
+    method public boolean getMoreResults() throws java.sql.SQLException;
+    method public boolean getMoreResults(int) throws java.sql.SQLException;
+    method public int getQueryTimeout() throws java.sql.SQLException;
+    method public java.sql.ResultSet getResultSet() throws java.sql.SQLException;
+    method public int getResultSetConcurrency() throws java.sql.SQLException;
+    method public int getResultSetHoldability() throws java.sql.SQLException;
+    method public int getResultSetType() throws java.sql.SQLException;
+    method public int getUpdateCount() throws java.sql.SQLException;
+    method public java.sql.SQLWarning getWarnings() throws java.sql.SQLException;
+    method public boolean isClosed() throws java.sql.SQLException;
+    method public boolean isPoolable() throws java.sql.SQLException;
+    method public void setCursorName(String) throws java.sql.SQLException;
+    method public void setEscapeProcessing(boolean) throws java.sql.SQLException;
+    method public void setFetchDirection(int) throws java.sql.SQLException;
+    method public void setFetchSize(int) throws java.sql.SQLException;
+    method public void setMaxFieldSize(int) throws java.sql.SQLException;
+    method public void setMaxRows(int) throws java.sql.SQLException;
+    method public void setPoolable(boolean) throws java.sql.SQLException;
+    method public void setQueryTimeout(int) throws java.sql.SQLException;
+    field public static final int CLOSE_ALL_RESULTS = 3; // 0x3
+    field public static final int CLOSE_CURRENT_RESULT = 1; // 0x1
+    field public static final int EXECUTE_FAILED = -3; // 0xfffffffd
+    field public static final int KEEP_CURRENT_RESULT = 2; // 0x2
+    field public static final int NO_GENERATED_KEYS = 2; // 0x2
+    field public static final int RETURN_GENERATED_KEYS = 1; // 0x1
+    field public static final int SUCCESS_NO_INFO = -2; // 0xfffffffe
+  }
+
+  public interface Struct {
+    method public Object[] getAttributes() throws java.sql.SQLException;
+    method public Object[] getAttributes(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public String getSQLTypeName() throws java.sql.SQLException;
+  }
+
+  public class Time extends java.util.Date {
+    ctor @Deprecated public Time(int, int, int);
+    ctor public Time(long);
+    method public static java.sql.Time valueOf(String);
+  }
+
+  public class Timestamp extends java.util.Date {
+    ctor @Deprecated public Timestamp(int, int, int, int, int, int, int);
+    ctor public Timestamp(long);
+    method public boolean after(java.sql.Timestamp);
+    method public boolean before(java.sql.Timestamp);
+    method public int compareTo(java.sql.Timestamp);
+    method public boolean equals(java.sql.Timestamp);
+    method public int getNanos();
+    method public void setNanos(int);
+    method public static java.sql.Timestamp valueOf(String);
+  }
+
+  public class Types {
+    field public static final int ARRAY = 2003; // 0x7d3
+    field public static final int BIGINT = -5; // 0xfffffffb
+    field public static final int BINARY = -2; // 0xfffffffe
+    field public static final int BIT = -7; // 0xfffffff9
+    field public static final int BLOB = 2004; // 0x7d4
+    field public static final int BOOLEAN = 16; // 0x10
+    field public static final int CHAR = 1; // 0x1
+    field public static final int CLOB = 2005; // 0x7d5
+    field public static final int DATALINK = 70; // 0x46
+    field public static final int DATE = 91; // 0x5b
+    field public static final int DECIMAL = 3; // 0x3
+    field public static final int DISTINCT = 2001; // 0x7d1
+    field public static final int DOUBLE = 8; // 0x8
+    field public static final int FLOAT = 6; // 0x6
+    field public static final int INTEGER = 4; // 0x4
+    field public static final int JAVA_OBJECT = 2000; // 0x7d0
+    field public static final int LONGNVARCHAR = -16; // 0xfffffff0
+    field public static final int LONGVARBINARY = -4; // 0xfffffffc
+    field public static final int LONGVARCHAR = -1; // 0xffffffff
+    field public static final int NCHAR = -15; // 0xfffffff1
+    field public static final int NCLOB = 2011; // 0x7db
+    field public static final int NULL = 0; // 0x0
+    field public static final int NUMERIC = 2; // 0x2
+    field public static final int NVARCHAR = -9; // 0xfffffff7
+    field public static final int OTHER = 1111; // 0x457
+    field public static final int REAL = 7; // 0x7
+    field public static final int REF = 2006; // 0x7d6
+    field public static final int ROWID = -8; // 0xfffffff8
+    field public static final int SMALLINT = 5; // 0x5
+    field public static final int SQLXML = 2009; // 0x7d9
+    field public static final int STRUCT = 2002; // 0x7d2
+    field public static final int TIME = 92; // 0x5c
+    field public static final int TIMESTAMP = 93; // 0x5d
+    field public static final int TINYINT = -6; // 0xfffffffa
+    field public static final int VARBINARY = -3; // 0xfffffffd
+    field public static final int VARCHAR = 12; // 0xc
+  }
+
+  public interface Wrapper {
+    method public boolean isWrapperFor(Class<?>) throws java.sql.SQLException;
+    method public <T> T unwrap(Class<T>) throws java.sql.SQLException;
+  }
+
+}
+
+package java.text {
+
+  public class Annotation {
+    ctor public Annotation(Object);
+    method public Object getValue();
+  }
+
+  public interface AttributedCharacterIterator extends java.text.CharacterIterator {
+    method public java.util.Set<java.text.AttributedCharacterIterator.Attribute> getAllAttributeKeys();
+    method public Object getAttribute(java.text.AttributedCharacterIterator.Attribute);
+    method public java.util.Map<java.text.AttributedCharacterIterator.Attribute,java.lang.Object> getAttributes();
+    method public int getRunLimit();
+    method public int getRunLimit(java.text.AttributedCharacterIterator.Attribute);
+    method public int getRunLimit(java.util.Set<? extends java.text.AttributedCharacterIterator.Attribute>);
+    method public int getRunStart();
+    method public int getRunStart(java.text.AttributedCharacterIterator.Attribute);
+    method public int getRunStart(java.util.Set<? extends java.text.AttributedCharacterIterator.Attribute>);
+  }
+
+  public static class AttributedCharacterIterator.Attribute implements java.io.Serializable {
+    ctor protected AttributedCharacterIterator.Attribute(String);
+    method public final boolean equals(Object);
+    method protected String getName();
+    method public final int hashCode();
+    method protected Object readResolve() throws java.io.InvalidObjectException;
+    field public static final java.text.AttributedCharacterIterator.Attribute INPUT_METHOD_SEGMENT;
+    field public static final java.text.AttributedCharacterIterator.Attribute LANGUAGE;
+    field public static final java.text.AttributedCharacterIterator.Attribute READING;
+  }
+
+  public class AttributedString {
+    ctor public AttributedString(String);
+    ctor public AttributedString(String, java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute,?>);
+    ctor public AttributedString(java.text.AttributedCharacterIterator);
+    ctor public AttributedString(java.text.AttributedCharacterIterator, int, int);
+    ctor public AttributedString(java.text.AttributedCharacterIterator, int, int, java.text.AttributedCharacterIterator.Attribute[]);
+    method public void addAttribute(java.text.AttributedCharacterIterator.Attribute, Object);
+    method public void addAttribute(java.text.AttributedCharacterIterator.Attribute, Object, int, int);
+    method public void addAttributes(java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute,?>, int, int);
+    method public java.text.AttributedCharacterIterator getIterator();
+    method public java.text.AttributedCharacterIterator getIterator(java.text.AttributedCharacterIterator.Attribute[]);
+    method public java.text.AttributedCharacterIterator getIterator(java.text.AttributedCharacterIterator.Attribute[], int, int);
+  }
+
+  public final class Bidi {
+    ctor public Bidi(String, int);
+    ctor public Bidi(java.text.AttributedCharacterIterator);
+    ctor public Bidi(char[], int, byte[], int, int, int);
+    method public boolean baseIsLeftToRight();
+    method public java.text.Bidi createLineBidi(int, int);
+    method public int getBaseLevel();
+    method public int getLength();
+    method public int getLevelAt(int);
+    method public int getRunCount();
+    method public int getRunLevel(int);
+    method public int getRunLimit(int);
+    method public int getRunStart(int);
+    method public boolean isLeftToRight();
+    method public boolean isMixed();
+    method public boolean isRightToLeft();
+    method public static void reorderVisually(byte[], int, Object[], int, int);
+    method public static boolean requiresBidi(char[], int, int);
+    field public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT = -2; // 0xfffffffe
+    field public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT = -1; // 0xffffffff
+    field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1
+  }
+
+  public abstract class BreakIterator implements java.lang.Cloneable {
+    ctor protected BreakIterator();
+    method public Object clone();
+    method public abstract int current();
+    method public abstract int first();
+    method public abstract int following(int);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public static java.text.BreakIterator getCharacterInstance();
+    method public static java.text.BreakIterator getCharacterInstance(java.util.Locale);
+    method public static java.text.BreakIterator getLineInstance();
+    method public static java.text.BreakIterator getLineInstance(java.util.Locale);
+    method public static java.text.BreakIterator getSentenceInstance();
+    method public static java.text.BreakIterator getSentenceInstance(java.util.Locale);
+    method public abstract java.text.CharacterIterator getText();
+    method public static java.text.BreakIterator getWordInstance();
+    method public static java.text.BreakIterator getWordInstance(java.util.Locale);
+    method public boolean isBoundary(int);
+    method public abstract int last();
+    method public abstract int next(int);
+    method public abstract int next();
+    method public int preceding(int);
+    method public abstract int previous();
+    method public void setText(String);
+    method public abstract void setText(java.text.CharacterIterator);
+    field public static final int DONE = -1; // 0xffffffff
+  }
+
+  public interface CharacterIterator extends java.lang.Cloneable {
+    method public Object clone();
+    method public char current();
+    method public char first();
+    method public int getBeginIndex();
+    method public int getEndIndex();
+    method public int getIndex();
+    method public char last();
+    method public char next();
+    method public char previous();
+    method public char setIndex(int);
+    field public static final char DONE = 65535; // 0xffff '\uffff'
+  }
+
+  public class ChoiceFormat extends java.text.NumberFormat {
+    ctor public ChoiceFormat(String);
+    ctor public ChoiceFormat(double[], String[]);
+    method public void applyPattern(String);
+    method public StringBuffer format(long, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(double, StringBuffer, java.text.FieldPosition);
+    method public Object[] getFormats();
+    method public double[] getLimits();
+    method public static final double nextDouble(double);
+    method public static double nextDouble(double, boolean);
+    method public Number parse(String, java.text.ParsePosition);
+    method public static final double previousDouble(double);
+    method public void setChoices(double[], String[]);
+    method public String toPattern();
+  }
+
+  public final class CollationElementIterator {
+    method public int getMaxExpansion(int);
+    method public int getOffset();
+    method public int next();
+    method public int previous();
+    method public static int primaryOrder(int);
+    method public void reset();
+    method public static short secondaryOrder(int);
+    method public void setOffset(int);
+    method public void setText(String);
+    method public void setText(java.text.CharacterIterator);
+    method public static short tertiaryOrder(int);
+    field public static final int NULLORDER = -1; // 0xffffffff
+  }
+
+  public abstract class CollationKey implements java.lang.Comparable<java.text.CollationKey> {
+    ctor protected CollationKey(String);
+    method public abstract int compareTo(java.text.CollationKey);
+    method public String getSourceString();
+    method public abstract byte[] toByteArray();
+  }
+
+  public abstract class Collator implements java.lang.Cloneable java.util.Comparator<java.lang.Object> {
+    ctor protected Collator();
+    method public Object clone();
+    method public abstract int compare(String, String);
+    method public int compare(Object, Object);
+    method public boolean equals(String, String);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public abstract java.text.CollationKey getCollationKey(String);
+    method public int getDecomposition();
+    method public static java.text.Collator getInstance();
+    method public static java.text.Collator getInstance(java.util.Locale);
+    method public int getStrength();
+    method public abstract int hashCode();
+    method public void setDecomposition(int);
+    method public void setStrength(int);
+    field public static final int CANONICAL_DECOMPOSITION = 1; // 0x1
+    field public static final int FULL_DECOMPOSITION = 2; // 0x2
+    field public static final int IDENTICAL = 3; // 0x3
+    field public static final int NO_DECOMPOSITION = 0; // 0x0
+    field public static final int PRIMARY = 0; // 0x0
+    field public static final int SECONDARY = 1; // 0x1
+    field public static final int TERTIARY = 2; // 0x2
+  }
+
+  public abstract class DateFormat extends java.text.Format {
+    ctor protected DateFormat();
+    method @NonNull public final StringBuffer format(@NonNull Object, @NonNull StringBuffer, @NonNull java.text.FieldPosition);
+    method @NonNull public abstract StringBuffer format(@NonNull java.util.Date, @NonNull StringBuffer, @NonNull java.text.FieldPosition);
+    method @NonNull public final String format(@NonNull java.util.Date);
+    method @NonNull public static java.util.Locale[] getAvailableLocales();
+    method @NonNull public java.util.Calendar getCalendar();
+    method @NonNull public static final java.text.DateFormat getDateInstance();
+    method @NonNull public static final java.text.DateFormat getDateInstance(int);
+    method @NonNull public static final java.text.DateFormat getDateInstance(int, @NonNull java.util.Locale);
+    method @NonNull public static final java.text.DateFormat getDateTimeInstance();
+    method @NonNull public static final java.text.DateFormat getDateTimeInstance(int, int);
+    method @NonNull public static final java.text.DateFormat getDateTimeInstance(int, int, @NonNull java.util.Locale);
+    method @NonNull public static final java.text.DateFormat getInstance();
+    method @NonNull public java.text.NumberFormat getNumberFormat();
+    method @NonNull public static final java.text.DateFormat getTimeInstance();
+    method @NonNull public static final java.text.DateFormat getTimeInstance(int);
+    method @NonNull public static final java.text.DateFormat getTimeInstance(int, @NonNull java.util.Locale);
+    method @NonNull public java.util.TimeZone getTimeZone();
+    method public boolean isLenient();
+    method @Nullable public java.util.Date parse(@NonNull String) throws java.text.ParseException;
+    method @Nullable public abstract java.util.Date parse(@NonNull String, @NonNull java.text.ParsePosition);
+    method @Nullable public Object parseObject(@NonNull String, @NonNull java.text.ParsePosition);
+    method public void setCalendar(@NonNull java.util.Calendar);
+    method public void setLenient(boolean);
+    method public void setNumberFormat(@NonNull java.text.NumberFormat);
+    method public void setTimeZone(@NonNull java.util.TimeZone);
+    field public static final int AM_PM_FIELD = 14; // 0xe
+    field public static final int DATE_FIELD = 3; // 0x3
+    field public static final int DAY_OF_WEEK_FIELD = 9; // 0x9
+    field public static final int DAY_OF_WEEK_IN_MONTH_FIELD = 11; // 0xb
+    field public static final int DAY_OF_YEAR_FIELD = 10; // 0xa
+    field public static final int DEFAULT = 2; // 0x2
+    field public static final int ERA_FIELD = 0; // 0x0
+    field public static final int FULL = 0; // 0x0
+    field public static final int HOUR0_FIELD = 16; // 0x10
+    field public static final int HOUR1_FIELD = 15; // 0xf
+    field public static final int HOUR_OF_DAY0_FIELD = 5; // 0x5
+    field public static final int HOUR_OF_DAY1_FIELD = 4; // 0x4
+    field public static final int LONG = 1; // 0x1
+    field public static final int MEDIUM = 2; // 0x2
+    field public static final int MILLISECOND_FIELD = 8; // 0x8
+    field public static final int MINUTE_FIELD = 6; // 0x6
+    field public static final int MONTH_FIELD = 2; // 0x2
+    field public static final int SECOND_FIELD = 7; // 0x7
+    field public static final int SHORT = 3; // 0x3
+    field public static final int TIMEZONE_FIELD = 17; // 0x11
+    field public static final int WEEK_OF_MONTH_FIELD = 13; // 0xd
+    field public static final int WEEK_OF_YEAR_FIELD = 12; // 0xc
+    field public static final int YEAR_FIELD = 1; // 0x1
+    field @NonNull protected java.util.Calendar calendar;
+    field @NonNull protected java.text.NumberFormat numberFormat;
+  }
+
+  public static class DateFormat.Field extends java.text.Format.Field {
+    ctor protected DateFormat.Field(@NonNull String, int);
+    method public int getCalendarField();
+    method @NonNull public static java.text.DateFormat.Field ofCalendarField(int);
+    field @NonNull public static final java.text.DateFormat.Field AM_PM;
+    field @NonNull public static final java.text.DateFormat.Field DAY_OF_MONTH;
+    field @NonNull public static final java.text.DateFormat.Field DAY_OF_WEEK;
+    field @NonNull public static final java.text.DateFormat.Field DAY_OF_WEEK_IN_MONTH;
+    field @NonNull public static final java.text.DateFormat.Field DAY_OF_YEAR;
+    field @NonNull public static final java.text.DateFormat.Field ERA;
+    field @NonNull public static final java.text.DateFormat.Field HOUR0;
+    field @NonNull public static final java.text.DateFormat.Field HOUR1;
+    field @NonNull public static final java.text.DateFormat.Field HOUR_OF_DAY0;
+    field @NonNull public static final java.text.DateFormat.Field HOUR_OF_DAY1;
+    field @NonNull public static final java.text.DateFormat.Field MILLISECOND;
+    field @NonNull public static final java.text.DateFormat.Field MINUTE;
+    field @NonNull public static final java.text.DateFormat.Field MONTH;
+    field @NonNull public static final java.text.DateFormat.Field SECOND;
+    field @NonNull public static final java.text.DateFormat.Field TIME_ZONE;
+    field @NonNull public static final java.text.DateFormat.Field WEEK_OF_MONTH;
+    field @NonNull public static final java.text.DateFormat.Field WEEK_OF_YEAR;
+    field @NonNull public static final java.text.DateFormat.Field YEAR;
+  }
+
+  public class DateFormatSymbols implements java.lang.Cloneable java.io.Serializable {
+    ctor public DateFormatSymbols();
+    ctor public DateFormatSymbols(java.util.Locale);
+    method public Object clone();
+    method public String[] getAmPmStrings();
+    method public static java.util.Locale[] getAvailableLocales();
+    method public String[] getEras();
+    method public static final java.text.DateFormatSymbols getInstance();
+    method public static final java.text.DateFormatSymbols getInstance(java.util.Locale);
+    method public String getLocalPatternChars();
+    method public String[] getMonths();
+    method public String[] getShortMonths();
+    method public String[] getShortWeekdays();
+    method public String[] getWeekdays();
+    method public String[][] getZoneStrings();
+    method public void setAmPmStrings(String[]);
+    method public void setEras(String[]);
+    method public void setLocalPatternChars(String);
+    method public void setMonths(String[]);
+    method public void setShortMonths(String[]);
+    method public void setShortWeekdays(String[]);
+    method public void setWeekdays(String[]);
+    method public void setZoneStrings(String[][]);
+  }
+
+  public class DecimalFormat extends java.text.NumberFormat {
+    ctor public DecimalFormat();
+    ctor public DecimalFormat(String);
+    ctor public DecimalFormat(String, java.text.DecimalFormatSymbols);
+    method public void applyLocalizedPattern(String);
+    method public void applyPattern(String);
+    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(double, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(long, StringBuffer, java.text.FieldPosition);
+    method public java.text.DecimalFormatSymbols getDecimalFormatSymbols();
+    method public int getGroupingSize();
+    method public int getMultiplier();
+    method public String getNegativePrefix();
+    method public String getNegativeSuffix();
+    method public String getPositivePrefix();
+    method public String getPositiveSuffix();
+    method public boolean isDecimalSeparatorAlwaysShown();
+    method public boolean isParseBigDecimal();
+    method public Number parse(String, java.text.ParsePosition);
+    method public void setDecimalFormatSymbols(java.text.DecimalFormatSymbols);
+    method public void setDecimalSeparatorAlwaysShown(boolean);
+    method public void setGroupingSize(int);
+    method public void setMultiplier(int);
+    method public void setNegativePrefix(String);
+    method public void setNegativeSuffix(String);
+    method public void setParseBigDecimal(boolean);
+    method public void setPositivePrefix(String);
+    method public void setPositiveSuffix(String);
+    method public String toLocalizedPattern();
+    method public String toPattern();
+  }
+
+  public class DecimalFormatSymbols implements java.lang.Cloneable java.io.Serializable {
+    ctor public DecimalFormatSymbols();
+    ctor public DecimalFormatSymbols(java.util.Locale);
+    method public Object clone();
+    method public static java.util.Locale[] getAvailableLocales();
+    method public java.util.Currency getCurrency();
+    method public String getCurrencySymbol();
+    method public char getDecimalSeparator();
+    method public char getDigit();
+    method public String getExponentSeparator();
+    method public char getGroupingSeparator();
+    method public String getInfinity();
+    method public static final java.text.DecimalFormatSymbols getInstance();
+    method public static final java.text.DecimalFormatSymbols getInstance(java.util.Locale);
+    method public String getInternationalCurrencySymbol();
+    method public char getMinusSign();
+    method public char getMonetaryDecimalSeparator();
+    method public String getNaN();
+    method public char getPatternSeparator();
+    method public char getPerMill();
+    method public char getPercent();
+    method public char getZeroDigit();
+    method public void setCurrency(java.util.Currency);
+    method public void setCurrencySymbol(String);
+    method public void setDecimalSeparator(char);
+    method public void setDigit(char);
+    method public void setExponentSeparator(String);
+    method public void setGroupingSeparator(char);
+    method public void setInfinity(String);
+    method public void setInternationalCurrencySymbol(String);
+    method public void setMinusSign(char);
+    method public void setMonetaryDecimalSeparator(char);
+    method public void setNaN(String);
+    method public void setPatternSeparator(char);
+    method public void setPerMill(char);
+    method public void setPercent(char);
+    method public void setZeroDigit(char);
+  }
+
+  public class FieldPosition {
+    ctor public FieldPosition(int);
+    ctor public FieldPosition(java.text.Format.Field);
+    ctor public FieldPosition(java.text.Format.Field, int);
+    method public int getBeginIndex();
+    method public int getEndIndex();
+    method public int getField();
+    method public java.text.Format.Field getFieldAttribute();
+    method public void setBeginIndex(int);
+    method public void setEndIndex(int);
+  }
+
+  public abstract class Format implements java.lang.Cloneable java.io.Serializable {
+    ctor protected Format();
+    method public Object clone();
+    method public final String format(Object);
+    method public abstract StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public java.text.AttributedCharacterIterator formatToCharacterIterator(Object);
+    method public abstract Object parseObject(String, java.text.ParsePosition);
+    method public Object parseObject(String) throws java.text.ParseException;
+  }
+
+  public static class Format.Field extends java.text.AttributedCharacterIterator.Attribute {
+    ctor protected Format.Field(String);
+  }
+
+  public class MessageFormat extends java.text.Format {
+    ctor public MessageFormat(String);
+    ctor public MessageFormat(String, java.util.Locale);
+    method public void applyPattern(String);
+    method public final StringBuffer format(Object[], StringBuffer, java.text.FieldPosition);
+    method public static String format(String, java.lang.Object...);
+    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public java.text.Format[] getFormats();
+    method public java.text.Format[] getFormatsByArgumentIndex();
+    method public java.util.Locale getLocale();
+    method public Object[] parse(String, java.text.ParsePosition);
+    method public Object[] parse(String) throws java.text.ParseException;
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public void setFormat(int, java.text.Format);
+    method public void setFormatByArgumentIndex(int, java.text.Format);
+    method public void setFormats(java.text.Format[]);
+    method public void setFormatsByArgumentIndex(java.text.Format[]);
+    method public void setLocale(java.util.Locale);
+    method public String toPattern();
+  }
+
+  public static class MessageFormat.Field extends java.text.Format.Field {
+    ctor protected MessageFormat.Field(String);
+    field public static final java.text.MessageFormat.Field ARGUMENT;
+  }
+
+  public final class Normalizer {
+    method public static boolean isNormalized(CharSequence, java.text.Normalizer.Form);
+    method public static String normalize(CharSequence, java.text.Normalizer.Form);
+  }
+
+  public enum Normalizer.Form {
+    enum_constant public static final java.text.Normalizer.Form NFC;
+    enum_constant public static final java.text.Normalizer.Form NFD;
+    enum_constant public static final java.text.Normalizer.Form NFKC;
+    enum_constant public static final java.text.Normalizer.Form NFKD;
+  }
+
+  public abstract class NumberFormat extends java.text.Format {
+    ctor protected NumberFormat();
+    method @NonNull public StringBuffer format(@NonNull Object, @NonNull StringBuffer, @NonNull java.text.FieldPosition);
+    method @NonNull public final String format(double);
+    method @NonNull public final String format(long);
+    method @NonNull public abstract StringBuffer format(double, @NonNull StringBuffer, @NonNull java.text.FieldPosition);
+    method @NonNull public abstract StringBuffer format(long, @NonNull StringBuffer, @NonNull java.text.FieldPosition);
+    method @NonNull public static java.util.Locale[] getAvailableLocales();
+    method @Nullable public java.util.Currency getCurrency();
+    method @NonNull public static final java.text.NumberFormat getCurrencyInstance();
+    method @NonNull public static java.text.NumberFormat getCurrencyInstance(@NonNull java.util.Locale);
+    method @NonNull public static final java.text.NumberFormat getInstance();
+    method @NonNull public static java.text.NumberFormat getInstance(@NonNull java.util.Locale);
+    method @NonNull public static final java.text.NumberFormat getIntegerInstance();
+    method @NonNull public static java.text.NumberFormat getIntegerInstance(@NonNull java.util.Locale);
+    method public int getMaximumFractionDigits();
+    method public int getMaximumIntegerDigits();
+    method public int getMinimumFractionDigits();
+    method public int getMinimumIntegerDigits();
+    method @NonNull public static final java.text.NumberFormat getNumberInstance();
+    method @NonNull public static java.text.NumberFormat getNumberInstance(@NonNull java.util.Locale);
+    method @NonNull public static final java.text.NumberFormat getPercentInstance();
+    method @NonNull public static java.text.NumberFormat getPercentInstance(@NonNull java.util.Locale);
+    method @NonNull public java.math.RoundingMode getRoundingMode();
+    method public boolean isGroupingUsed();
+    method public boolean isParseIntegerOnly();
+    method @Nullable public abstract Number parse(@NonNull String, @NonNull java.text.ParsePosition);
+    method @Nullable public Number parse(@NonNull String) throws java.text.ParseException;
+    method @Nullable public final Object parseObject(@NonNull String, @NonNull java.text.ParsePosition);
+    method public void setCurrency(@NonNull java.util.Currency);
+    method public void setGroupingUsed(boolean);
+    method public void setMaximumFractionDigits(int);
+    method public void setMaximumIntegerDigits(int);
+    method public void setMinimumFractionDigits(int);
+    method public void setMinimumIntegerDigits(int);
+    method public void setParseIntegerOnly(boolean);
+    method public void setRoundingMode(@Nullable java.math.RoundingMode);
+    field public static final int FRACTION_FIELD = 1; // 0x1
+    field public static final int INTEGER_FIELD = 0; // 0x0
+  }
+
+  public static class NumberFormat.Field extends java.text.Format.Field {
+    ctor protected NumberFormat.Field(@NonNull String);
+    field @NonNull public static final java.text.NumberFormat.Field CURRENCY;
+    field @NonNull public static final java.text.NumberFormat.Field DECIMAL_SEPARATOR;
+    field @NonNull public static final java.text.NumberFormat.Field EXPONENT;
+    field @NonNull public static final java.text.NumberFormat.Field EXPONENT_SIGN;
+    field @NonNull public static final java.text.NumberFormat.Field EXPONENT_SYMBOL;
+    field @NonNull public static final java.text.NumberFormat.Field FRACTION;
+    field @NonNull public static final java.text.NumberFormat.Field GROUPING_SEPARATOR;
+    field @NonNull public static final java.text.NumberFormat.Field INTEGER;
+    field @NonNull public static final java.text.NumberFormat.Field PERCENT;
+    field @NonNull public static final java.text.NumberFormat.Field PERMILLE;
+    field @NonNull public static final java.text.NumberFormat.Field SIGN;
+  }
+
+  public class ParseException extends java.lang.Exception {
+    ctor public ParseException(String, int);
+    method public int getErrorOffset();
+  }
+
+  public class ParsePosition {
+    ctor public ParsePosition(int);
+    method public int getErrorIndex();
+    method public int getIndex();
+    method public void setErrorIndex(int);
+    method public void setIndex(int);
+  }
+
+  public class RuleBasedCollator extends java.text.Collator {
+    ctor public RuleBasedCollator(String) throws java.text.ParseException;
+    method public int compare(String, String);
+    method public java.text.CollationElementIterator getCollationElementIterator(String);
+    method public java.text.CollationElementIterator getCollationElementIterator(java.text.CharacterIterator);
+    method public java.text.CollationKey getCollationKey(String);
+    method public String getRules();
+  }
+
+  public class SimpleDateFormat extends java.text.DateFormat {
+    ctor public SimpleDateFormat();
+    ctor public SimpleDateFormat(String);
+    ctor public SimpleDateFormat(String, java.util.Locale);
+    ctor public SimpleDateFormat(String, java.text.DateFormatSymbols);
+    method public void applyLocalizedPattern(String);
+    method public void applyPattern(String);
+    method public StringBuffer format(java.util.Date, StringBuffer, java.text.FieldPosition);
+    method public java.util.Date get2DigitYearStart();
+    method public java.text.DateFormatSymbols getDateFormatSymbols();
+    method public java.util.Date parse(String, java.text.ParsePosition);
+    method public void set2DigitYearStart(java.util.Date);
+    method public void setDateFormatSymbols(java.text.DateFormatSymbols);
+    method public String toLocalizedPattern();
+    method public String toPattern();
+  }
+
+  public final class StringCharacterIterator implements java.text.CharacterIterator {
+    ctor public StringCharacterIterator(String);
+    ctor public StringCharacterIterator(String, int);
+    ctor public StringCharacterIterator(String, int, int, int);
+    method public Object clone();
+    method public char current();
+    method public char first();
+    method public int getBeginIndex();
+    method public int getEndIndex();
+    method public int getIndex();
+    method public char last();
+    method public char next();
+    method public char previous();
+    method public char setIndex(int);
+    method public void setText(String);
+  }
+
+}
+
+package java.time {
+
+  public abstract class Clock {
+    ctor protected Clock();
+    method public static java.time.Clock fixed(java.time.Instant, java.time.ZoneId);
+    method public abstract java.time.ZoneId getZone();
+    method public abstract java.time.Instant instant();
+    method public long millis();
+    method public static java.time.Clock offset(java.time.Clock, java.time.Duration);
+    method public static java.time.Clock system(java.time.ZoneId);
+    method public static java.time.Clock systemDefaultZone();
+    method public static java.time.Clock systemUTC();
+    method public static java.time.Clock tick(java.time.Clock, java.time.Duration);
+    method public static java.time.Clock tickMinutes(java.time.ZoneId);
+    method public static java.time.Clock tickSeconds(java.time.ZoneId);
+    method public abstract java.time.Clock withZone(java.time.ZoneId);
+  }
+
+  public class DateTimeException extends java.lang.RuntimeException {
+    ctor public DateTimeException(String);
+    ctor public DateTimeException(String, Throwable);
+  }
+
+  public enum DayOfWeek implements java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public static java.time.DayOfWeek from(java.time.temporal.TemporalAccessor);
+    method public String getDisplayName(java.time.format.TextStyle, java.util.Locale);
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getValue();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public java.time.DayOfWeek minus(long);
+    method public static java.time.DayOfWeek of(int);
+    method public java.time.DayOfWeek plus(long);
+    enum_constant public static final java.time.DayOfWeek FRIDAY;
+    enum_constant public static final java.time.DayOfWeek MONDAY;
+    enum_constant public static final java.time.DayOfWeek SATURDAY;
+    enum_constant public static final java.time.DayOfWeek SUNDAY;
+    enum_constant public static final java.time.DayOfWeek THURSDAY;
+    enum_constant public static final java.time.DayOfWeek TUESDAY;
+    enum_constant public static final java.time.DayOfWeek WEDNESDAY;
+  }
+
+  public final class Duration implements java.lang.Comparable<java.time.Duration> java.io.Serializable java.time.temporal.TemporalAmount {
+    method public java.time.Duration abs();
+    method public java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
+    method public static java.time.Duration between(java.time.temporal.Temporal, java.time.temporal.Temporal);
+    method public int compareTo(java.time.Duration);
+    method public java.time.Duration dividedBy(long);
+    method public long dividedBy(java.time.Duration);
+    method public static java.time.Duration from(java.time.temporal.TemporalAmount);
+    method public long get(java.time.temporal.TemporalUnit);
+    method public int getNano();
+    method public long getSeconds();
+    method public java.util.List<java.time.temporal.TemporalUnit> getUnits();
+    method public boolean isNegative();
+    method public boolean isZero();
+    method public java.time.Duration minus(java.time.Duration);
+    method public java.time.Duration minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Duration minusDays(long);
+    method public java.time.Duration minusHours(long);
+    method public java.time.Duration minusMillis(long);
+    method public java.time.Duration minusMinutes(long);
+    method public java.time.Duration minusNanos(long);
+    method public java.time.Duration minusSeconds(long);
+    method public java.time.Duration multipliedBy(long);
+    method public java.time.Duration negated();
+    method public static java.time.Duration of(long, java.time.temporal.TemporalUnit);
+    method public static java.time.Duration ofDays(long);
+    method public static java.time.Duration ofHours(long);
+    method public static java.time.Duration ofMillis(long);
+    method public static java.time.Duration ofMinutes(long);
+    method public static java.time.Duration ofNanos(long);
+    method public static java.time.Duration ofSeconds(long);
+    method public static java.time.Duration ofSeconds(long, long);
+    method public static java.time.Duration parse(CharSequence);
+    method public java.time.Duration plus(java.time.Duration);
+    method public java.time.Duration plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Duration plusDays(long);
+    method public java.time.Duration plusHours(long);
+    method public java.time.Duration plusMillis(long);
+    method public java.time.Duration plusMinutes(long);
+    method public java.time.Duration plusNanos(long);
+    method public java.time.Duration plusSeconds(long);
+    method public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
+    method public long toDays();
+    method public long toDaysPart();
+    method public long toHours();
+    method public int toHoursPart();
+    method public long toMillis();
+    method public int toMillisPart();
+    method public long toMinutes();
+    method public int toMinutesPart();
+    method public long toNanos();
+    method public int toNanosPart();
+    method public long toSeconds();
+    method public int toSecondsPart();
+    method public java.time.Duration truncatedTo(java.time.temporal.TemporalUnit);
+    method public java.time.Duration withNanos(int);
+    method public java.time.Duration withSeconds(long);
+    field public static final java.time.Duration ZERO;
+  }
+
+  public final class Instant implements java.lang.Comparable<java.time.Instant> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.OffsetDateTime atOffset(java.time.ZoneOffset);
+    method public java.time.ZonedDateTime atZone(java.time.ZoneId);
+    method public int compareTo(java.time.Instant);
+    method public static java.time.Instant from(java.time.temporal.TemporalAccessor);
+    method public long getEpochSecond();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getNano();
+    method public boolean isAfter(java.time.Instant);
+    method public boolean isBefore(java.time.Instant);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public java.time.Instant minus(java.time.temporal.TemporalAmount);
+    method public java.time.Instant minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Instant minusMillis(long);
+    method public java.time.Instant minusNanos(long);
+    method public java.time.Instant minusSeconds(long);
+    method public static java.time.Instant now();
+    method public static java.time.Instant now(java.time.Clock);
+    method public static java.time.Instant ofEpochMilli(long);
+    method public static java.time.Instant ofEpochSecond(long);
+    method public static java.time.Instant ofEpochSecond(long, long);
+    method public static java.time.Instant parse(CharSequence);
+    method public java.time.Instant plus(java.time.temporal.TemporalAmount);
+    method public java.time.Instant plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Instant plusMillis(long);
+    method public java.time.Instant plusNanos(long);
+    method public java.time.Instant plusSeconds(long);
+    method public long toEpochMilli();
+    method public java.time.Instant truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.Instant with(java.time.temporal.TemporalAdjuster);
+    method public java.time.Instant with(java.time.temporal.TemporalField, long);
+    field public static final java.time.Instant EPOCH;
+    field public static final java.time.Instant MAX;
+    field public static final java.time.Instant MIN;
+  }
+
+  public final class LocalDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.LocalDateTime atStartOfDay();
+    method public java.time.ZonedDateTime atStartOfDay(java.time.ZoneId);
+    method public java.time.LocalDateTime atTime(java.time.LocalTime);
+    method public java.time.LocalDateTime atTime(int, int);
+    method public java.time.LocalDateTime atTime(int, int, int);
+    method public java.time.LocalDateTime atTime(int, int, int, int);
+    method public java.time.OffsetDateTime atTime(java.time.OffsetTime);
+    method public static java.time.LocalDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.IsoChronology getChronology();
+    method public int getDayOfMonth();
+    method public java.time.DayOfWeek getDayOfWeek();
+    method public int getDayOfYear();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public int getYear();
+    method public int lengthOfMonth();
+    method public java.time.LocalDate minus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalDate minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalDate minusDays(long);
+    method public java.time.LocalDate minusMonths(long);
+    method public java.time.LocalDate minusWeeks(long);
+    method public java.time.LocalDate minusYears(long);
+    method public static java.time.LocalDate now();
+    method public static java.time.LocalDate now(java.time.ZoneId);
+    method public static java.time.LocalDate now(java.time.Clock);
+    method public static java.time.LocalDate of(int, java.time.Month, int);
+    method public static java.time.LocalDate of(int, int, int);
+    method public static java.time.LocalDate ofEpochDay(long);
+    method public static java.time.LocalDate ofYearDay(int, int);
+    method public static java.time.LocalDate parse(CharSequence);
+    method public static java.time.LocalDate parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.LocalDate plus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalDate plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalDate plusDays(long);
+    method public java.time.LocalDate plusMonths(long);
+    method public java.time.LocalDate plusWeeks(long);
+    method public java.time.LocalDate plusYears(long);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.Period until(java.time.chrono.ChronoLocalDate);
+    method public java.time.LocalDate with(java.time.temporal.TemporalAdjuster);
+    method public java.time.LocalDate with(java.time.temporal.TemporalField, long);
+    method public java.time.LocalDate withDayOfMonth(int);
+    method public java.time.LocalDate withDayOfYear(int);
+    method public java.time.LocalDate withMonth(int);
+    method public java.time.LocalDate withYear(int);
+    field public static final java.time.LocalDate MAX;
+    field public static final java.time.LocalDate MIN;
+  }
+
+  public final class LocalDateTime implements java.time.chrono.ChronoLocalDateTime<java.time.LocalDate> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.OffsetDateTime atOffset(java.time.ZoneOffset);
+    method public java.time.ZonedDateTime atZone(java.time.ZoneId);
+    method public static java.time.LocalDateTime from(java.time.temporal.TemporalAccessor);
+    method public int getDayOfMonth();
+    method public java.time.DayOfWeek getDayOfWeek();
+    method public int getDayOfYear();
+    method public int getHour();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getMinute();
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public int getNano();
+    method public int getSecond();
+    method public int getYear();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public java.time.LocalDateTime minus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalDateTime minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalDateTime minusDays(long);
+    method public java.time.LocalDateTime minusHours(long);
+    method public java.time.LocalDateTime minusMinutes(long);
+    method public java.time.LocalDateTime minusMonths(long);
+    method public java.time.LocalDateTime minusNanos(long);
+    method public java.time.LocalDateTime minusSeconds(long);
+    method public java.time.LocalDateTime minusWeeks(long);
+    method public java.time.LocalDateTime minusYears(long);
+    method public static java.time.LocalDateTime now();
+    method public static java.time.LocalDateTime now(java.time.ZoneId);
+    method public static java.time.LocalDateTime now(java.time.Clock);
+    method public static java.time.LocalDateTime of(int, java.time.Month, int, int, int);
+    method public static java.time.LocalDateTime of(int, java.time.Month, int, int, int, int);
+    method public static java.time.LocalDateTime of(int, java.time.Month, int, int, int, int, int);
+    method public static java.time.LocalDateTime of(int, int, int, int, int);
+    method public static java.time.LocalDateTime of(int, int, int, int, int, int);
+    method public static java.time.LocalDateTime of(int, int, int, int, int, int, int);
+    method public static java.time.LocalDateTime of(java.time.LocalDate, java.time.LocalTime);
+    method public static java.time.LocalDateTime ofEpochSecond(long, int, java.time.ZoneOffset);
+    method public static java.time.LocalDateTime ofInstant(java.time.Instant, java.time.ZoneId);
+    method public static java.time.LocalDateTime parse(CharSequence);
+    method public static java.time.LocalDateTime parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.LocalDateTime plus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalDateTime plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalDateTime plusDays(long);
+    method public java.time.LocalDateTime plusHours(long);
+    method public java.time.LocalDateTime plusMinutes(long);
+    method public java.time.LocalDateTime plusMonths(long);
+    method public java.time.LocalDateTime plusNanos(long);
+    method public java.time.LocalDateTime plusSeconds(long);
+    method public java.time.LocalDateTime plusWeeks(long);
+    method public java.time.LocalDateTime plusYears(long);
+    method public java.time.LocalDate toLocalDate();
+    method public java.time.LocalTime toLocalTime();
+    method public java.time.LocalDateTime truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.LocalDateTime with(java.time.temporal.TemporalAdjuster);
+    method public java.time.LocalDateTime with(java.time.temporal.TemporalField, long);
+    method public java.time.LocalDateTime withDayOfMonth(int);
+    method public java.time.LocalDateTime withDayOfYear(int);
+    method public java.time.LocalDateTime withHour(int);
+    method public java.time.LocalDateTime withMinute(int);
+    method public java.time.LocalDateTime withMonth(int);
+    method public java.time.LocalDateTime withNano(int);
+    method public java.time.LocalDateTime withSecond(int);
+    method public java.time.LocalDateTime withYear(int);
+    field public static final java.time.LocalDateTime MAX;
+    field public static final java.time.LocalDateTime MIN;
+  }
+
+  public final class LocalTime implements java.lang.Comparable<java.time.LocalTime> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.LocalDateTime atDate(java.time.LocalDate);
+    method public java.time.OffsetTime atOffset(java.time.ZoneOffset);
+    method public int compareTo(java.time.LocalTime);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.LocalTime from(java.time.temporal.TemporalAccessor);
+    method public int getHour();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getMinute();
+    method public int getNano();
+    method public int getSecond();
+    method public boolean isAfter(java.time.LocalTime);
+    method public boolean isBefore(java.time.LocalTime);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public java.time.LocalTime minus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalTime minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalTime minusHours(long);
+    method public java.time.LocalTime minusMinutes(long);
+    method public java.time.LocalTime minusNanos(long);
+    method public java.time.LocalTime minusSeconds(long);
+    method public static java.time.LocalTime now();
+    method public static java.time.LocalTime now(java.time.ZoneId);
+    method public static java.time.LocalTime now(java.time.Clock);
+    method public static java.time.LocalTime of(int, int);
+    method public static java.time.LocalTime of(int, int, int);
+    method public static java.time.LocalTime of(int, int, int, int);
+    method public static java.time.LocalTime ofInstant(java.time.Instant, java.time.ZoneId);
+    method public static java.time.LocalTime ofNanoOfDay(long);
+    method public static java.time.LocalTime ofSecondOfDay(long);
+    method public static java.time.LocalTime parse(CharSequence);
+    method public static java.time.LocalTime parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.LocalTime plus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalTime plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalTime plusHours(long);
+    method public java.time.LocalTime plusMinutes(long);
+    method public java.time.LocalTime plusNanos(long);
+    method public java.time.LocalTime plusSeconds(long);
+    method public long toEpochSecond(java.time.LocalDate, java.time.ZoneOffset);
+    method public long toNanoOfDay();
+    method public int toSecondOfDay();
+    method public java.time.LocalTime truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.LocalTime with(java.time.temporal.TemporalAdjuster);
+    method public java.time.LocalTime with(java.time.temporal.TemporalField, long);
+    method public java.time.LocalTime withHour(int);
+    method public java.time.LocalTime withMinute(int);
+    method public java.time.LocalTime withNano(int);
+    method public java.time.LocalTime withSecond(int);
+    field public static final java.time.LocalTime MAX;
+    field public static final java.time.LocalTime MIDNIGHT;
+    field public static final java.time.LocalTime MIN;
+    field public static final java.time.LocalTime NOON;
+  }
+
+  public enum Month implements java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public int firstDayOfYear(boolean);
+    method public java.time.Month firstMonthOfQuarter();
+    method public static java.time.Month from(java.time.temporal.TemporalAccessor);
+    method public String getDisplayName(java.time.format.TextStyle, java.util.Locale);
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getValue();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public int length(boolean);
+    method public int maxLength();
+    method public int minLength();
+    method public java.time.Month minus(long);
+    method public static java.time.Month of(int);
+    method public java.time.Month plus(long);
+    enum_constant public static final java.time.Month APRIL;
+    enum_constant public static final java.time.Month AUGUST;
+    enum_constant public static final java.time.Month DECEMBER;
+    enum_constant public static final java.time.Month FEBRUARY;
+    enum_constant public static final java.time.Month JANUARY;
+    enum_constant public static final java.time.Month JULY;
+    enum_constant public static final java.time.Month JUNE;
+    enum_constant public static final java.time.Month MARCH;
+    enum_constant public static final java.time.Month MAY;
+    enum_constant public static final java.time.Month NOVEMBER;
+    enum_constant public static final java.time.Month OCTOBER;
+    enum_constant public static final java.time.Month SEPTEMBER;
+  }
+
+  public final class MonthDay implements java.lang.Comparable<java.time.MonthDay> java.io.Serializable java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.LocalDate atYear(int);
+    method public int compareTo(java.time.MonthDay);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.MonthDay from(java.time.temporal.TemporalAccessor);
+    method public int getDayOfMonth();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public boolean isAfter(java.time.MonthDay);
+    method public boolean isBefore(java.time.MonthDay);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isValidYear(int);
+    method public static java.time.MonthDay now();
+    method public static java.time.MonthDay now(java.time.ZoneId);
+    method public static java.time.MonthDay now(java.time.Clock);
+    method public static java.time.MonthDay of(java.time.Month, int);
+    method public static java.time.MonthDay of(int, int);
+    method public static java.time.MonthDay parse(CharSequence);
+    method public static java.time.MonthDay parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.MonthDay with(java.time.Month);
+    method public java.time.MonthDay withDayOfMonth(int);
+    method public java.time.MonthDay withMonth(int);
+  }
+
+  public final class OffsetDateTime implements java.lang.Comparable<java.time.OffsetDateTime> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.ZonedDateTime atZoneSameInstant(java.time.ZoneId);
+    method public java.time.ZonedDateTime atZoneSimilarLocal(java.time.ZoneId);
+    method public int compareTo(java.time.OffsetDateTime);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.OffsetDateTime from(java.time.temporal.TemporalAccessor);
+    method public int getDayOfMonth();
+    method public java.time.DayOfWeek getDayOfWeek();
+    method public int getDayOfYear();
+    method public int getHour();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getMinute();
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public int getNano();
+    method public java.time.ZoneOffset getOffset();
+    method public int getSecond();
+    method public int getYear();
+    method public boolean isAfter(java.time.OffsetDateTime);
+    method public boolean isBefore(java.time.OffsetDateTime);
+    method public boolean isEqual(java.time.OffsetDateTime);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public java.time.OffsetDateTime minus(java.time.temporal.TemporalAmount);
+    method public java.time.OffsetDateTime minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetDateTime minusDays(long);
+    method public java.time.OffsetDateTime minusHours(long);
+    method public java.time.OffsetDateTime minusMinutes(long);
+    method public java.time.OffsetDateTime minusMonths(long);
+    method public java.time.OffsetDateTime minusNanos(long);
+    method public java.time.OffsetDateTime minusSeconds(long);
+    method public java.time.OffsetDateTime minusWeeks(long);
+    method public java.time.OffsetDateTime minusYears(long);
+    method public static java.time.OffsetDateTime now();
+    method public static java.time.OffsetDateTime now(java.time.ZoneId);
+    method public static java.time.OffsetDateTime now(java.time.Clock);
+    method public static java.time.OffsetDateTime of(java.time.LocalDate, java.time.LocalTime, java.time.ZoneOffset);
+    method public static java.time.OffsetDateTime of(java.time.LocalDateTime, java.time.ZoneOffset);
+    method public static java.time.OffsetDateTime of(int, int, int, int, int, int, int, java.time.ZoneOffset);
+    method public static java.time.OffsetDateTime ofInstant(java.time.Instant, java.time.ZoneId);
+    method public static java.time.OffsetDateTime parse(CharSequence);
+    method public static java.time.OffsetDateTime parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.OffsetDateTime plus(java.time.temporal.TemporalAmount);
+    method public java.time.OffsetDateTime plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetDateTime plusDays(long);
+    method public java.time.OffsetDateTime plusHours(long);
+    method public java.time.OffsetDateTime plusMinutes(long);
+    method public java.time.OffsetDateTime plusMonths(long);
+    method public java.time.OffsetDateTime plusNanos(long);
+    method public java.time.OffsetDateTime plusSeconds(long);
+    method public java.time.OffsetDateTime plusWeeks(long);
+    method public java.time.OffsetDateTime plusYears(long);
+    method public static java.util.Comparator<java.time.OffsetDateTime> timeLineOrder();
+    method public long toEpochSecond();
+    method public java.time.Instant toInstant();
+    method public java.time.LocalDate toLocalDate();
+    method public java.time.LocalDateTime toLocalDateTime();
+    method public java.time.LocalTime toLocalTime();
+    method public java.time.OffsetTime toOffsetTime();
+    method public java.time.ZonedDateTime toZonedDateTime();
+    method public java.time.OffsetDateTime truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetDateTime with(java.time.temporal.TemporalAdjuster);
+    method public java.time.OffsetDateTime with(java.time.temporal.TemporalField, long);
+    method public java.time.OffsetDateTime withDayOfMonth(int);
+    method public java.time.OffsetDateTime withDayOfYear(int);
+    method public java.time.OffsetDateTime withHour(int);
+    method public java.time.OffsetDateTime withMinute(int);
+    method public java.time.OffsetDateTime withMonth(int);
+    method public java.time.OffsetDateTime withNano(int);
+    method public java.time.OffsetDateTime withOffsetSameInstant(java.time.ZoneOffset);
+    method public java.time.OffsetDateTime withOffsetSameLocal(java.time.ZoneOffset);
+    method public java.time.OffsetDateTime withSecond(int);
+    method public java.time.OffsetDateTime withYear(int);
+    field public static final java.time.OffsetDateTime MAX;
+    field public static final java.time.OffsetDateTime MIN;
+  }
+
+  public final class OffsetTime implements java.lang.Comparable<java.time.OffsetTime> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.OffsetDateTime atDate(java.time.LocalDate);
+    method public int compareTo(java.time.OffsetTime);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.OffsetTime from(java.time.temporal.TemporalAccessor);
+    method public int getHour();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getMinute();
+    method public int getNano();
+    method public java.time.ZoneOffset getOffset();
+    method public int getSecond();
+    method public boolean isAfter(java.time.OffsetTime);
+    method public boolean isBefore(java.time.OffsetTime);
+    method public boolean isEqual(java.time.OffsetTime);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public java.time.OffsetTime minus(java.time.temporal.TemporalAmount);
+    method public java.time.OffsetTime minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetTime minusHours(long);
+    method public java.time.OffsetTime minusMinutes(long);
+    method public java.time.OffsetTime minusNanos(long);
+    method public java.time.OffsetTime minusSeconds(long);
+    method public static java.time.OffsetTime now();
+    method public static java.time.OffsetTime now(java.time.ZoneId);
+    method public static java.time.OffsetTime now(java.time.Clock);
+    method public static java.time.OffsetTime of(java.time.LocalTime, java.time.ZoneOffset);
+    method public static java.time.OffsetTime of(int, int, int, int, java.time.ZoneOffset);
+    method public static java.time.OffsetTime ofInstant(java.time.Instant, java.time.ZoneId);
+    method public static java.time.OffsetTime parse(CharSequence);
+    method public static java.time.OffsetTime parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.OffsetTime plus(java.time.temporal.TemporalAmount);
+    method public java.time.OffsetTime plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetTime plusHours(long);
+    method public java.time.OffsetTime plusMinutes(long);
+    method public java.time.OffsetTime plusNanos(long);
+    method public java.time.OffsetTime plusSeconds(long);
+    method public java.time.LocalTime toLocalTime();
+    method public java.time.OffsetTime truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetTime with(java.time.temporal.TemporalAdjuster);
+    method public java.time.OffsetTime with(java.time.temporal.TemporalField, long);
+    method public java.time.OffsetTime withHour(int);
+    method public java.time.OffsetTime withMinute(int);
+    method public java.time.OffsetTime withNano(int);
+    method public java.time.OffsetTime withOffsetSameInstant(java.time.ZoneOffset);
+    method public java.time.OffsetTime withOffsetSameLocal(java.time.ZoneOffset);
+    method public java.time.OffsetTime withSecond(int);
+    field public static final java.time.OffsetTime MAX;
+    field public static final java.time.OffsetTime MIN;
+  }
+
+  public final class Period implements java.time.chrono.ChronoPeriod java.io.Serializable {
+    method public java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
+    method public static java.time.Period between(java.time.LocalDate, java.time.LocalDate);
+    method public static java.time.Period from(java.time.temporal.TemporalAmount);
+    method public long get(java.time.temporal.TemporalUnit);
+    method public java.time.chrono.IsoChronology getChronology();
+    method public int getDays();
+    method public int getMonths();
+    method public java.util.List<java.time.temporal.TemporalUnit> getUnits();
+    method public int getYears();
+    method public java.time.Period minus(java.time.temporal.TemporalAmount);
+    method public java.time.Period minusDays(long);
+    method public java.time.Period minusMonths(long);
+    method public java.time.Period minusYears(long);
+    method public java.time.Period multipliedBy(int);
+    method public java.time.Period negated();
+    method public java.time.Period normalized();
+    method public static java.time.Period of(int, int, int);
+    method public static java.time.Period ofDays(int);
+    method public static java.time.Period ofMonths(int);
+    method public static java.time.Period ofWeeks(int);
+    method public static java.time.Period ofYears(int);
+    method public static java.time.Period parse(CharSequence);
+    method public java.time.Period plus(java.time.temporal.TemporalAmount);
+    method public java.time.Period plusDays(long);
+    method public java.time.Period plusMonths(long);
+    method public java.time.Period plusYears(long);
+    method public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
+    method public long toTotalMonths();
+    method public java.time.Period withDays(int);
+    method public java.time.Period withMonths(int);
+    method public java.time.Period withYears(int);
+    field public static final java.time.Period ZERO;
+  }
+
+  public final class Year implements java.lang.Comparable<java.time.Year> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.LocalDate atDay(int);
+    method public java.time.YearMonth atMonth(java.time.Month);
+    method public java.time.YearMonth atMonth(int);
+    method public java.time.LocalDate atMonthDay(java.time.MonthDay);
+    method public int compareTo(java.time.Year);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.Year from(java.time.temporal.TemporalAccessor);
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getValue();
+    method public boolean isAfter(java.time.Year);
+    method public boolean isBefore(java.time.Year);
+    method public static boolean isLeap(long);
+    method public boolean isLeap();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public boolean isValidMonthDay(java.time.MonthDay);
+    method public int length();
+    method public java.time.Year minus(java.time.temporal.TemporalAmount);
+    method public java.time.Year minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Year minusYears(long);
+    method public static java.time.Year now();
+    method public static java.time.Year now(java.time.ZoneId);
+    method public static java.time.Year now(java.time.Clock);
+    method public static java.time.Year of(int);
+    method public static java.time.Year parse(CharSequence);
+    method public static java.time.Year parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.Year plus(java.time.temporal.TemporalAmount);
+    method public java.time.Year plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Year plusYears(long);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.Year with(java.time.temporal.TemporalAdjuster);
+    method public java.time.Year with(java.time.temporal.TemporalField, long);
+    field public static final int MAX_VALUE = 999999999; // 0x3b9ac9ff
+    field public static final int MIN_VALUE = -999999999; // 0xc4653601
+  }
+
+  public final class YearMonth implements java.lang.Comparable<java.time.YearMonth> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.LocalDate atDay(int);
+    method public java.time.LocalDate atEndOfMonth();
+    method public int compareTo(java.time.YearMonth);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.YearMonth from(java.time.temporal.TemporalAccessor);
+    method public long getLong(java.time.temporal.TemporalField);
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public int getYear();
+    method public boolean isAfter(java.time.YearMonth);
+    method public boolean isBefore(java.time.YearMonth);
+    method public boolean isLeapYear();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public boolean isValidDay(int);
+    method public int lengthOfMonth();
+    method public int lengthOfYear();
+    method public java.time.YearMonth minus(java.time.temporal.TemporalAmount);
+    method public java.time.YearMonth minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.YearMonth minusMonths(long);
+    method public java.time.YearMonth minusYears(long);
+    method public static java.time.YearMonth now();
+    method public static java.time.YearMonth now(java.time.ZoneId);
+    method public static java.time.YearMonth now(java.time.Clock);
+    method public static java.time.YearMonth of(int, java.time.Month);
+    method public static java.time.YearMonth of(int, int);
+    method public static java.time.YearMonth parse(CharSequence);
+    method public static java.time.YearMonth parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.YearMonth plus(java.time.temporal.TemporalAmount);
+    method public java.time.YearMonth plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.YearMonth plusMonths(long);
+    method public java.time.YearMonth plusYears(long);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.YearMonth with(java.time.temporal.TemporalAdjuster);
+    method public java.time.YearMonth with(java.time.temporal.TemporalField, long);
+    method public java.time.YearMonth withMonth(int);
+    method public java.time.YearMonth withYear(int);
+  }
+
+  public abstract class ZoneId implements java.io.Serializable {
+    method public static java.time.ZoneId from(java.time.temporal.TemporalAccessor);
+    method public static java.util.Set<java.lang.String> getAvailableZoneIds();
+    method public String getDisplayName(java.time.format.TextStyle, java.util.Locale);
+    method public abstract String getId();
+    method public abstract java.time.zone.ZoneRules getRules();
+    method public java.time.ZoneId normalized();
+    method public static java.time.ZoneId of(String, java.util.Map<java.lang.String,java.lang.String>);
+    method public static java.time.ZoneId of(String);
+    method public static java.time.ZoneId ofOffset(String, java.time.ZoneOffset);
+    method public static java.time.ZoneId systemDefault();
+    field public static final java.util.Map<java.lang.String,java.lang.String> SHORT_IDS;
+  }
+
+  public final class ZoneOffset extends java.time.ZoneId implements java.lang.Comparable<java.time.ZoneOffset> java.io.Serializable java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public int compareTo(java.time.ZoneOffset);
+    method public static java.time.ZoneOffset from(java.time.temporal.TemporalAccessor);
+    method public String getId();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public java.time.zone.ZoneRules getRules();
+    method public int getTotalSeconds();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public static java.time.ZoneOffset of(String);
+    method public static java.time.ZoneOffset ofHours(int);
+    method public static java.time.ZoneOffset ofHoursMinutes(int, int);
+    method public static java.time.ZoneOffset ofHoursMinutesSeconds(int, int, int);
+    method public static java.time.ZoneOffset ofTotalSeconds(int);
+    field public static final java.time.ZoneOffset MAX;
+    field public static final java.time.ZoneOffset MIN;
+    field public static final java.time.ZoneOffset UTC;
+  }
+
+  public final class ZonedDateTime implements java.time.chrono.ChronoZonedDateTime<java.time.LocalDate> java.io.Serializable java.time.temporal.Temporal {
+    method public static java.time.ZonedDateTime from(java.time.temporal.TemporalAccessor);
+    method public int getDayOfMonth();
+    method public java.time.DayOfWeek getDayOfWeek();
+    method public int getDayOfYear();
+    method public int getHour();
+    method public int getMinute();
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public int getNano();
+    method public java.time.ZoneOffset getOffset();
+    method public int getSecond();
+    method public int getYear();
+    method public java.time.ZoneId getZone();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public java.time.ZonedDateTime minus(java.time.temporal.TemporalAmount);
+    method public java.time.ZonedDateTime minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.ZonedDateTime minusDays(long);
+    method public java.time.ZonedDateTime minusHours(long);
+    method public java.time.ZonedDateTime minusMinutes(long);
+    method public java.time.ZonedDateTime minusMonths(long);
+    method public java.time.ZonedDateTime minusNanos(long);
+    method public java.time.ZonedDateTime minusSeconds(long);
+    method public java.time.ZonedDateTime minusWeeks(long);
+    method public java.time.ZonedDateTime minusYears(long);
+    method public static java.time.ZonedDateTime now();
+    method public static java.time.ZonedDateTime now(java.time.ZoneId);
+    method public static java.time.ZonedDateTime now(java.time.Clock);
+    method public static java.time.ZonedDateTime of(java.time.LocalDate, java.time.LocalTime, java.time.ZoneId);
+    method public static java.time.ZonedDateTime of(java.time.LocalDateTime, java.time.ZoneId);
+    method public static java.time.ZonedDateTime of(int, int, int, int, int, int, int, java.time.ZoneId);
+    method public static java.time.ZonedDateTime ofInstant(java.time.Instant, java.time.ZoneId);
+    method public static java.time.ZonedDateTime ofInstant(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneId);
+    method public static java.time.ZonedDateTime ofLocal(java.time.LocalDateTime, java.time.ZoneId, java.time.ZoneOffset);
+    method public static java.time.ZonedDateTime ofStrict(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneId);
+    method public static java.time.ZonedDateTime parse(CharSequence);
+    method public static java.time.ZonedDateTime parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.ZonedDateTime plus(java.time.temporal.TemporalAmount);
+    method public java.time.ZonedDateTime plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.ZonedDateTime plusDays(long);
+    method public java.time.ZonedDateTime plusHours(long);
+    method public java.time.ZonedDateTime plusMinutes(long);
+    method public java.time.ZonedDateTime plusMonths(long);
+    method public java.time.ZonedDateTime plusNanos(long);
+    method public java.time.ZonedDateTime plusSeconds(long);
+    method public java.time.ZonedDateTime plusWeeks(long);
+    method public java.time.ZonedDateTime plusYears(long);
+    method public java.time.LocalDate toLocalDate();
+    method public java.time.LocalDateTime toLocalDateTime();
+    method public java.time.OffsetDateTime toOffsetDateTime();
+    method public java.time.ZonedDateTime truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.ZonedDateTime with(java.time.temporal.TemporalAdjuster);
+    method public java.time.ZonedDateTime with(java.time.temporal.TemporalField, long);
+    method public java.time.ZonedDateTime withDayOfMonth(int);
+    method public java.time.ZonedDateTime withDayOfYear(int);
+    method public java.time.ZonedDateTime withEarlierOffsetAtOverlap();
+    method public java.time.ZonedDateTime withFixedOffsetZone();
+    method public java.time.ZonedDateTime withHour(int);
+    method public java.time.ZonedDateTime withLaterOffsetAtOverlap();
+    method public java.time.ZonedDateTime withMinute(int);
+    method public java.time.ZonedDateTime withMonth(int);
+    method public java.time.ZonedDateTime withNano(int);
+    method public java.time.ZonedDateTime withSecond(int);
+    method public java.time.ZonedDateTime withYear(int);
+    method public java.time.ZonedDateTime withZoneSameInstant(java.time.ZoneId);
+    method public java.time.ZonedDateTime withZoneSameLocal(java.time.ZoneId);
+  }
+
+}
+
+package java.time.chrono {
+
+  public abstract class AbstractChronology implements java.time.chrono.Chronology {
+    ctor protected AbstractChronology();
+    method public int compareTo(java.time.chrono.Chronology);
+    method public java.time.chrono.ChronoLocalDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+  }
+
+  public interface ChronoLocalDate extends java.time.temporal.Temporal java.lang.Comparable<java.time.chrono.ChronoLocalDate> java.time.temporal.TemporalAdjuster {
+    method public default java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public default java.time.chrono.ChronoLocalDateTime<?> atTime(java.time.LocalTime);
+    method public default int compareTo(java.time.chrono.ChronoLocalDate);
+    method public boolean equals(Object);
+    method public default String format(java.time.format.DateTimeFormatter);
+    method public static java.time.chrono.ChronoLocalDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.Chronology getChronology();
+    method public default java.time.chrono.Era getEra();
+    method public int hashCode();
+    method public default boolean isAfter(java.time.chrono.ChronoLocalDate);
+    method public default boolean isBefore(java.time.chrono.ChronoLocalDate);
+    method public default boolean isEqual(java.time.chrono.ChronoLocalDate);
+    method public default boolean isLeapYear();
+    method public default boolean isSupported(java.time.temporal.TemporalField);
+    method public default boolean isSupported(java.time.temporal.TemporalUnit);
+    method public int lengthOfMonth();
+    method public default int lengthOfYear();
+    method public default java.time.chrono.ChronoLocalDate minus(java.time.temporal.TemporalAmount);
+    method public default java.time.chrono.ChronoLocalDate minus(long, java.time.temporal.TemporalUnit);
+    method public default java.time.chrono.ChronoLocalDate plus(java.time.temporal.TemporalAmount);
+    method public default java.time.chrono.ChronoLocalDate plus(long, java.time.temporal.TemporalUnit);
+    method public static java.util.Comparator<java.time.chrono.ChronoLocalDate> timeLineOrder();
+    method public default long toEpochDay();
+    method public String toString();
+    method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
+    method public default java.time.chrono.ChronoLocalDate with(java.time.temporal.TemporalAdjuster);
+    method public default java.time.chrono.ChronoLocalDate with(java.time.temporal.TemporalField, long);
+  }
+
+  public interface ChronoLocalDateTime<D extends java.time.chrono.ChronoLocalDate> extends java.time.temporal.Temporal java.lang.Comparable<java.time.chrono.ChronoLocalDateTime<?>> java.time.temporal.TemporalAdjuster {
+    method public default java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.chrono.ChronoZonedDateTime<D> atZone(java.time.ZoneId);
+    method public default int compareTo(java.time.chrono.ChronoLocalDateTime<?>);
+    method public boolean equals(Object);
+    method public default String format(java.time.format.DateTimeFormatter);
+    method public static java.time.chrono.ChronoLocalDateTime<?> from(java.time.temporal.TemporalAccessor);
+    method public default java.time.chrono.Chronology getChronology();
+    method public int hashCode();
+    method public default boolean isAfter(java.time.chrono.ChronoLocalDateTime<?>);
+    method public default boolean isBefore(java.time.chrono.ChronoLocalDateTime<?>);
+    method public default boolean isEqual(java.time.chrono.ChronoLocalDateTime<?>);
+    method public default boolean isSupported(java.time.temporal.TemporalUnit);
+    method public default java.time.chrono.ChronoLocalDateTime<D> minus(java.time.temporal.TemporalAmount);
+    method public default java.time.chrono.ChronoLocalDateTime<D> minus(long, java.time.temporal.TemporalUnit);
+    method public default java.time.chrono.ChronoLocalDateTime<D> plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.ChronoLocalDateTime<D> plus(long, java.time.temporal.TemporalUnit);
+    method public static java.util.Comparator<java.time.chrono.ChronoLocalDateTime<?>> timeLineOrder();
+    method public default long toEpochSecond(java.time.ZoneOffset);
+    method public default java.time.Instant toInstant(java.time.ZoneOffset);
+    method public D toLocalDate();
+    method public java.time.LocalTime toLocalTime();
+    method public String toString();
+    method public default java.time.chrono.ChronoLocalDateTime<D> with(java.time.temporal.TemporalAdjuster);
+    method public java.time.chrono.ChronoLocalDateTime<D> with(java.time.temporal.TemporalField, long);
+  }
+
+  public interface ChronoPeriod extends java.time.temporal.TemporalAmount {
+    method public static java.time.chrono.ChronoPeriod between(java.time.chrono.ChronoLocalDate, java.time.chrono.ChronoLocalDate);
+    method public boolean equals(Object);
+    method public java.time.chrono.Chronology getChronology();
+    method public int hashCode();
+    method public default boolean isNegative();
+    method public default boolean isZero();
+    method public java.time.chrono.ChronoPeriod minus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.ChronoPeriod multipliedBy(int);
+    method public default java.time.chrono.ChronoPeriod negated();
+    method public java.time.chrono.ChronoPeriod normalized();
+    method public java.time.chrono.ChronoPeriod plus(java.time.temporal.TemporalAmount);
+    method public String toString();
+  }
+
+  public interface ChronoZonedDateTime<D extends java.time.chrono.ChronoLocalDate> extends java.time.temporal.Temporal java.lang.Comparable<java.time.chrono.ChronoZonedDateTime<?>> {
+    method public default int compareTo(java.time.chrono.ChronoZonedDateTime<?>);
+    method public boolean equals(Object);
+    method public default String format(java.time.format.DateTimeFormatter);
+    method public static java.time.chrono.ChronoZonedDateTime<?> from(java.time.temporal.TemporalAccessor);
+    method public default java.time.chrono.Chronology getChronology();
+    method public default long getLong(java.time.temporal.TemporalField);
+    method public java.time.ZoneOffset getOffset();
+    method public java.time.ZoneId getZone();
+    method public int hashCode();
+    method public default boolean isAfter(java.time.chrono.ChronoZonedDateTime<?>);
+    method public default boolean isBefore(java.time.chrono.ChronoZonedDateTime<?>);
+    method public default boolean isEqual(java.time.chrono.ChronoZonedDateTime<?>);
+    method public default boolean isSupported(java.time.temporal.TemporalUnit);
+    method public default java.time.chrono.ChronoZonedDateTime<D> minus(java.time.temporal.TemporalAmount);
+    method public default java.time.chrono.ChronoZonedDateTime<D> minus(long, java.time.temporal.TemporalUnit);
+    method public default java.time.chrono.ChronoZonedDateTime<D> plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.ChronoZonedDateTime<D> plus(long, java.time.temporal.TemporalUnit);
+    method public static java.util.Comparator<java.time.chrono.ChronoZonedDateTime<?>> timeLineOrder();
+    method public default long toEpochSecond();
+    method public default java.time.Instant toInstant();
+    method public default D toLocalDate();
+    method public java.time.chrono.ChronoLocalDateTime<D> toLocalDateTime();
+    method public default java.time.LocalTime toLocalTime();
+    method public String toString();
+    method public default java.time.chrono.ChronoZonedDateTime<D> with(java.time.temporal.TemporalAdjuster);
+    method public java.time.chrono.ChronoZonedDateTime<D> with(java.time.temporal.TemporalField, long);
+    method public java.time.chrono.ChronoZonedDateTime<D> withEarlierOffsetAtOverlap();
+    method public java.time.chrono.ChronoZonedDateTime<D> withLaterOffsetAtOverlap();
+    method public java.time.chrono.ChronoZonedDateTime<D> withZoneSameInstant(java.time.ZoneId);
+    method public java.time.chrono.ChronoZonedDateTime<D> withZoneSameLocal(java.time.ZoneId);
+  }
+
+  public interface Chronology extends java.lang.Comparable<java.time.chrono.Chronology> {
+    method public int compareTo(java.time.chrono.Chronology);
+    method public default java.time.chrono.ChronoLocalDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.chrono.ChronoLocalDate date(int, int, int);
+    method public java.time.chrono.ChronoLocalDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ChronoLocalDate dateEpochDay(long);
+    method public default java.time.chrono.ChronoLocalDate dateNow();
+    method public default java.time.chrono.ChronoLocalDate dateNow(java.time.ZoneId);
+    method public default java.time.chrono.ChronoLocalDate dateNow(java.time.Clock);
+    method public default java.time.chrono.ChronoLocalDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.chrono.ChronoLocalDate dateYearDay(int, int);
+    method public boolean equals(Object);
+    method public java.time.chrono.Era eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public static java.time.chrono.Chronology from(java.time.temporal.TemporalAccessor);
+    method public static java.util.Set<java.time.chrono.Chronology> getAvailableChronologies();
+    method public String getCalendarType();
+    method public default String getDisplayName(java.time.format.TextStyle, java.util.Locale);
+    method public String getId();
+    method public int hashCode();
+    method public boolean isLeapYear(long);
+    method public default java.time.chrono.ChronoLocalDateTime<? extends java.time.chrono.ChronoLocalDate> localDateTime(java.time.temporal.TemporalAccessor);
+    method public static java.time.chrono.Chronology of(String);
+    method public static java.time.chrono.Chronology ofLocale(java.util.Locale);
+    method public default java.time.chrono.ChronoPeriod period(int, int, int);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.chrono.ChronoLocalDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public String toString();
+    method public default java.time.chrono.ChronoZonedDateTime<? extends java.time.chrono.ChronoLocalDate> zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public default java.time.chrono.ChronoZonedDateTime<? extends java.time.chrono.ChronoLocalDate> zonedDateTime(java.time.Instant, java.time.ZoneId);
+  }
+
+  public interface Era extends java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster {
+    method public default java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public default String getDisplayName(java.time.format.TextStyle, java.util.Locale);
+    method public default long getLong(java.time.temporal.TemporalField);
+    method public int getValue();
+    method public default boolean isSupported(java.time.temporal.TemporalField);
+  }
+
+  public final class HijrahChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
+    method public java.time.chrono.HijrahDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.chrono.HijrahDate date(int, int, int);
+    method public java.time.chrono.HijrahDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.HijrahDate dateEpochDay(long);
+    method public java.time.chrono.HijrahDate dateNow();
+    method public java.time.chrono.HijrahDate dateNow(java.time.ZoneId);
+    method public java.time.chrono.HijrahDate dateNow(java.time.Clock);
+    method public java.time.chrono.HijrahDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.chrono.HijrahDate dateYearDay(int, int);
+    method public java.time.chrono.HijrahEra eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public String getCalendarType();
+    method public String getId();
+    method public boolean isLeapYear(long);
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.HijrahDate> localDateTime(java.time.temporal.TemporalAccessor);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.chrono.HijrahDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.HijrahDate> zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.HijrahDate> zonedDateTime(java.time.Instant, java.time.ZoneId);
+    field public static final java.time.chrono.HijrahChronology INSTANCE;
+  }
+
+  public final class HijrahDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.HijrahDate> atTime(java.time.LocalTime);
+    method public static java.time.chrono.HijrahDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.HijrahChronology getChronology();
+    method public java.time.chrono.HijrahEra getEra();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int lengthOfMonth();
+    method public java.time.chrono.HijrahDate minus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.HijrahDate minus(long, java.time.temporal.TemporalUnit);
+    method public static java.time.chrono.HijrahDate now();
+    method public static java.time.chrono.HijrahDate now(java.time.ZoneId);
+    method public static java.time.chrono.HijrahDate now(java.time.Clock);
+    method public static java.time.chrono.HijrahDate of(int, int, int);
+    method public java.time.chrono.HijrahDate plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.HijrahDate plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.HijrahDate with(java.time.temporal.TemporalField, long);
+    method public java.time.chrono.HijrahDate with(java.time.temporal.TemporalAdjuster);
+    method public java.time.chrono.HijrahDate withVariant(java.time.chrono.HijrahChronology);
+  }
+
+  public enum HijrahEra implements java.time.chrono.Era {
+    method public int getValue();
+    method public static java.time.chrono.HijrahEra of(int);
+    enum_constant public static final java.time.chrono.HijrahEra AH;
+  }
+
+  public final class IsoChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
+    method public java.time.LocalDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.LocalDate date(int, int, int);
+    method public java.time.LocalDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.LocalDate dateEpochDay(long);
+    method public java.time.LocalDate dateNow();
+    method public java.time.LocalDate dateNow(java.time.ZoneId);
+    method public java.time.LocalDate dateNow(java.time.Clock);
+    method public java.time.LocalDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.LocalDate dateYearDay(int, int);
+    method public java.time.chrono.IsoEra eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public String getCalendarType();
+    method public String getId();
+    method public boolean isLeapYear(long);
+    method public java.time.LocalDateTime localDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.Period period(int, int, int);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.LocalDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public java.time.ZonedDateTime zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.ZonedDateTime zonedDateTime(java.time.Instant, java.time.ZoneId);
+    field public static final java.time.chrono.IsoChronology INSTANCE;
+  }
+
+  public enum IsoEra implements java.time.chrono.Era {
+    method public int getValue();
+    method public static java.time.chrono.IsoEra of(int);
+    enum_constant public static final java.time.chrono.IsoEra BCE;
+    enum_constant public static final java.time.chrono.IsoEra CE;
+  }
+
+  public final class JapaneseChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
+    method public java.time.chrono.JapaneseDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.chrono.JapaneseDate date(int, int, int);
+    method public java.time.chrono.JapaneseDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.JapaneseDate dateEpochDay(long);
+    method public java.time.chrono.JapaneseDate dateNow();
+    method public java.time.chrono.JapaneseDate dateNow(java.time.ZoneId);
+    method public java.time.chrono.JapaneseDate dateNow(java.time.Clock);
+    method public java.time.chrono.JapaneseDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.chrono.JapaneseDate dateYearDay(int, int);
+    method public java.time.chrono.JapaneseEra eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public String getCalendarType();
+    method public String getId();
+    method public boolean isLeapYear(long);
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.JapaneseDate> localDateTime(java.time.temporal.TemporalAccessor);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.chrono.JapaneseDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.JapaneseDate> zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.JapaneseDate> zonedDateTime(java.time.Instant, java.time.ZoneId);
+    field public static final java.time.chrono.JapaneseChronology INSTANCE;
+  }
+
+  public final class JapaneseDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.JapaneseDate> atTime(java.time.LocalTime);
+    method public static java.time.chrono.JapaneseDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.JapaneseChronology getChronology();
+    method public java.time.chrono.JapaneseEra getEra();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int lengthOfMonth();
+    method public java.time.chrono.JapaneseDate minus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.JapaneseDate minus(long, java.time.temporal.TemporalUnit);
+    method public static java.time.chrono.JapaneseDate now();
+    method public static java.time.chrono.JapaneseDate now(java.time.ZoneId);
+    method public static java.time.chrono.JapaneseDate now(java.time.Clock);
+    method public static java.time.chrono.JapaneseDate of(java.time.chrono.JapaneseEra, int, int, int);
+    method public static java.time.chrono.JapaneseDate of(int, int, int);
+    method public java.time.chrono.JapaneseDate plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.JapaneseDate plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.JapaneseDate with(java.time.temporal.TemporalField, long);
+    method public java.time.chrono.JapaneseDate with(java.time.temporal.TemporalAdjuster);
+  }
+
+  public final class JapaneseEra implements java.time.chrono.Era java.io.Serializable {
+    method public int getValue();
+    method public static java.time.chrono.JapaneseEra of(int);
+    method public static java.time.chrono.JapaneseEra valueOf(String);
+    method public static java.time.chrono.JapaneseEra[] values();
+    field public static final java.time.chrono.JapaneseEra HEISEI;
+    field public static final java.time.chrono.JapaneseEra MEIJI;
+    field public static final java.time.chrono.JapaneseEra REIWA;
+    field public static final java.time.chrono.JapaneseEra SHOWA;
+    field public static final java.time.chrono.JapaneseEra TAISHO;
+  }
+
+  public final class MinguoChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
+    method public java.time.chrono.MinguoDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.chrono.MinguoDate date(int, int, int);
+    method public java.time.chrono.MinguoDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.MinguoDate dateEpochDay(long);
+    method public java.time.chrono.MinguoDate dateNow();
+    method public java.time.chrono.MinguoDate dateNow(java.time.ZoneId);
+    method public java.time.chrono.MinguoDate dateNow(java.time.Clock);
+    method public java.time.chrono.MinguoDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.chrono.MinguoDate dateYearDay(int, int);
+    method public java.time.chrono.MinguoEra eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public String getCalendarType();
+    method public String getId();
+    method public boolean isLeapYear(long);
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.MinguoDate> localDateTime(java.time.temporal.TemporalAccessor);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.chrono.MinguoDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.MinguoDate> zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.MinguoDate> zonedDateTime(java.time.Instant, java.time.ZoneId);
+    field public static final java.time.chrono.MinguoChronology INSTANCE;
+  }
+
+  public final class MinguoDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.MinguoDate> atTime(java.time.LocalTime);
+    method public static java.time.chrono.MinguoDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.MinguoChronology getChronology();
+    method public java.time.chrono.MinguoEra getEra();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int lengthOfMonth();
+    method public java.time.chrono.MinguoDate minus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.MinguoDate minus(long, java.time.temporal.TemporalUnit);
+    method public static java.time.chrono.MinguoDate now();
+    method public static java.time.chrono.MinguoDate now(java.time.ZoneId);
+    method public static java.time.chrono.MinguoDate now(java.time.Clock);
+    method public static java.time.chrono.MinguoDate of(int, int, int);
+    method public java.time.chrono.MinguoDate plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.MinguoDate plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.MinguoDate with(java.time.temporal.TemporalField, long);
+    method public java.time.chrono.MinguoDate with(java.time.temporal.TemporalAdjuster);
+  }
+
+  public enum MinguoEra implements java.time.chrono.Era {
+    method public int getValue();
+    method public static java.time.chrono.MinguoEra of(int);
+    enum_constant public static final java.time.chrono.MinguoEra BEFORE_ROC;
+    enum_constant public static final java.time.chrono.MinguoEra ROC;
+  }
+
+  public final class ThaiBuddhistChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
+    method public java.time.chrono.ThaiBuddhistDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.chrono.ThaiBuddhistDate date(int, int, int);
+    method public java.time.chrono.ThaiBuddhistDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ThaiBuddhistDate dateEpochDay(long);
+    method public java.time.chrono.ThaiBuddhistDate dateNow();
+    method public java.time.chrono.ThaiBuddhistDate dateNow(java.time.ZoneId);
+    method public java.time.chrono.ThaiBuddhistDate dateNow(java.time.Clock);
+    method public java.time.chrono.ThaiBuddhistDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.chrono.ThaiBuddhistDate dateYearDay(int, int);
+    method public java.time.chrono.ThaiBuddhistEra eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public String getCalendarType();
+    method public String getId();
+    method public boolean isLeapYear(long);
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.ThaiBuddhistDate> localDateTime(java.time.temporal.TemporalAccessor);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.chrono.ThaiBuddhistDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.ThaiBuddhistDate> zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.ThaiBuddhistDate> zonedDateTime(java.time.Instant, java.time.ZoneId);
+    field public static final java.time.chrono.ThaiBuddhistChronology INSTANCE;
+  }
+
+  public final class ThaiBuddhistDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.ThaiBuddhistDate> atTime(java.time.LocalTime);
+    method public static java.time.chrono.ThaiBuddhistDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ThaiBuddhistChronology getChronology();
+    method public java.time.chrono.ThaiBuddhistEra getEra();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int lengthOfMonth();
+    method public java.time.chrono.ThaiBuddhistDate minus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.ThaiBuddhistDate minus(long, java.time.temporal.TemporalUnit);
+    method public static java.time.chrono.ThaiBuddhistDate now();
+    method public static java.time.chrono.ThaiBuddhistDate now(java.time.ZoneId);
+    method public static java.time.chrono.ThaiBuddhistDate now(java.time.Clock);
+    method public static java.time.chrono.ThaiBuddhistDate of(int, int, int);
+    method public java.time.chrono.ThaiBuddhistDate plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.ThaiBuddhistDate plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.ThaiBuddhistDate with(java.time.temporal.TemporalField, long);
+    method public java.time.chrono.ThaiBuddhistDate with(java.time.temporal.TemporalAdjuster);
+  }
+
+  public enum ThaiBuddhistEra implements java.time.chrono.Era {
+    method public int getValue();
+    method public static java.time.chrono.ThaiBuddhistEra of(int);
+    enum_constant public static final java.time.chrono.ThaiBuddhistEra BE;
+    enum_constant public static final java.time.chrono.ThaiBuddhistEra BEFORE_BE;
+  }
+
+}
+
+package java.time.format {
+
+  public final class DateTimeFormatter {
+    method public String format(java.time.temporal.TemporalAccessor);
+    method public void formatTo(java.time.temporal.TemporalAccessor, Appendable);
+    method public java.time.chrono.Chronology getChronology();
+    method public java.time.format.DecimalStyle getDecimalStyle();
+    method public java.util.Locale getLocale();
+    method public java.util.Set<java.time.temporal.TemporalField> getResolverFields();
+    method public java.time.format.ResolverStyle getResolverStyle();
+    method public java.time.ZoneId getZone();
+    method public static java.time.format.DateTimeFormatter ofLocalizedDate(java.time.format.FormatStyle);
+    method public static java.time.format.DateTimeFormatter ofLocalizedDateTime(java.time.format.FormatStyle);
+    method public static java.time.format.DateTimeFormatter ofLocalizedDateTime(java.time.format.FormatStyle, java.time.format.FormatStyle);
+    method public static java.time.format.DateTimeFormatter ofLocalizedTime(java.time.format.FormatStyle);
+    method public static java.time.format.DateTimeFormatter ofPattern(String);
+    method public static java.time.format.DateTimeFormatter ofPattern(String, java.util.Locale);
+    method public java.time.temporal.TemporalAccessor parse(CharSequence);
+    method public java.time.temporal.TemporalAccessor parse(CharSequence, java.text.ParsePosition);
+    method public <T> T parse(CharSequence, java.time.temporal.TemporalQuery<T>);
+    method public java.time.temporal.TemporalAccessor parseBest(CharSequence, java.time.temporal.TemporalQuery<?>...);
+    method public java.time.temporal.TemporalAccessor parseUnresolved(CharSequence, java.text.ParsePosition);
+    method public static java.time.temporal.TemporalQuery<java.time.Period> parsedExcessDays();
+    method public static java.time.temporal.TemporalQuery<java.lang.Boolean> parsedLeapSecond();
+    method public java.text.Format toFormat();
+    method public java.text.Format toFormat(java.time.temporal.TemporalQuery<?>);
+    method public java.time.format.DateTimeFormatter withChronology(java.time.chrono.Chronology);
+    method public java.time.format.DateTimeFormatter withDecimalStyle(java.time.format.DecimalStyle);
+    method public java.time.format.DateTimeFormatter withLocale(java.util.Locale);
+    method public java.time.format.DateTimeFormatter withResolverFields(java.time.temporal.TemporalField...);
+    method public java.time.format.DateTimeFormatter withResolverFields(java.util.Set<java.time.temporal.TemporalField>);
+    method public java.time.format.DateTimeFormatter withResolverStyle(java.time.format.ResolverStyle);
+    method public java.time.format.DateTimeFormatter withZone(java.time.ZoneId);
+    field public static final java.time.format.DateTimeFormatter BASIC_ISO_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_DATE_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_INSTANT;
+    field public static final java.time.format.DateTimeFormatter ISO_LOCAL_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_LOCAL_DATE_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_LOCAL_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_OFFSET_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_OFFSET_DATE_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_OFFSET_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_ORDINAL_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_WEEK_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_ZONED_DATE_TIME;
+    field public static final java.time.format.DateTimeFormatter RFC_1123_DATE_TIME;
+  }
+
+  public final class DateTimeFormatterBuilder {
+    ctor public DateTimeFormatterBuilder();
+    method public java.time.format.DateTimeFormatterBuilder append(java.time.format.DateTimeFormatter);
+    method public java.time.format.DateTimeFormatterBuilder appendChronologyId();
+    method public java.time.format.DateTimeFormatterBuilder appendChronologyText(java.time.format.TextStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendFraction(java.time.temporal.TemporalField, int, int, boolean);
+    method public java.time.format.DateTimeFormatterBuilder appendInstant();
+    method public java.time.format.DateTimeFormatterBuilder appendInstant(int);
+    method public java.time.format.DateTimeFormatterBuilder appendLiteral(char);
+    method public java.time.format.DateTimeFormatterBuilder appendLiteral(String);
+    method public java.time.format.DateTimeFormatterBuilder appendLocalized(java.time.format.FormatStyle, java.time.format.FormatStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendLocalizedOffset(java.time.format.TextStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendOffset(String, String);
+    method public java.time.format.DateTimeFormatterBuilder appendOffsetId();
+    method public java.time.format.DateTimeFormatterBuilder appendOptional(java.time.format.DateTimeFormatter);
+    method public java.time.format.DateTimeFormatterBuilder appendPattern(String);
+    method public java.time.format.DateTimeFormatterBuilder appendText(java.time.temporal.TemporalField);
+    method public java.time.format.DateTimeFormatterBuilder appendText(java.time.temporal.TemporalField, java.time.format.TextStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendText(java.time.temporal.TemporalField, java.util.Map<java.lang.Long,java.lang.String>);
+    method public java.time.format.DateTimeFormatterBuilder appendValue(java.time.temporal.TemporalField);
+    method public java.time.format.DateTimeFormatterBuilder appendValue(java.time.temporal.TemporalField, int);
+    method public java.time.format.DateTimeFormatterBuilder appendValue(java.time.temporal.TemporalField, int, int, java.time.format.SignStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendValueReduced(java.time.temporal.TemporalField, int, int, int);
+    method public java.time.format.DateTimeFormatterBuilder appendValueReduced(java.time.temporal.TemporalField, int, int, java.time.chrono.ChronoLocalDate);
+    method public java.time.format.DateTimeFormatterBuilder appendZoneId();
+    method public java.time.format.DateTimeFormatterBuilder appendZoneOrOffsetId();
+    method public java.time.format.DateTimeFormatterBuilder appendZoneRegionId();
+    method public java.time.format.DateTimeFormatterBuilder appendZoneText(java.time.format.TextStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendZoneText(java.time.format.TextStyle, java.util.Set<java.time.ZoneId>);
+    method public static String getLocalizedDateTimePattern(java.time.format.FormatStyle, java.time.format.FormatStyle, java.time.chrono.Chronology, java.util.Locale);
+    method public java.time.format.DateTimeFormatterBuilder optionalEnd();
+    method public java.time.format.DateTimeFormatterBuilder optionalStart();
+    method public java.time.format.DateTimeFormatterBuilder padNext(int);
+    method public java.time.format.DateTimeFormatterBuilder padNext(int, char);
+    method public java.time.format.DateTimeFormatterBuilder parseCaseInsensitive();
+    method public java.time.format.DateTimeFormatterBuilder parseCaseSensitive();
+    method public java.time.format.DateTimeFormatterBuilder parseDefaulting(java.time.temporal.TemporalField, long);
+    method public java.time.format.DateTimeFormatterBuilder parseLenient();
+    method public java.time.format.DateTimeFormatterBuilder parseStrict();
+    method public java.time.format.DateTimeFormatter toFormatter();
+    method public java.time.format.DateTimeFormatter toFormatter(java.util.Locale);
+  }
+
+  public class DateTimeParseException extends java.time.DateTimeException {
+    ctor public DateTimeParseException(String, CharSequence, int);
+    ctor public DateTimeParseException(String, CharSequence, int, Throwable);
+    method public int getErrorIndex();
+    method public String getParsedString();
+  }
+
+  public final class DecimalStyle {
+    method public static java.util.Set<java.util.Locale> getAvailableLocales();
+    method public char getDecimalSeparator();
+    method public char getNegativeSign();
+    method public char getPositiveSign();
+    method public char getZeroDigit();
+    method public static java.time.format.DecimalStyle of(java.util.Locale);
+    method public static java.time.format.DecimalStyle ofDefaultLocale();
+    method public java.time.format.DecimalStyle withDecimalSeparator(char);
+    method public java.time.format.DecimalStyle withNegativeSign(char);
+    method public java.time.format.DecimalStyle withPositiveSign(char);
+    method public java.time.format.DecimalStyle withZeroDigit(char);
+    field public static final java.time.format.DecimalStyle STANDARD;
+  }
+
+  public enum FormatStyle {
+    enum_constant public static final java.time.format.FormatStyle FULL;
+    enum_constant public static final java.time.format.FormatStyle LONG;
+    enum_constant public static final java.time.format.FormatStyle MEDIUM;
+    enum_constant public static final java.time.format.FormatStyle SHORT;
+  }
+
+  public enum ResolverStyle {
+    enum_constant public static final java.time.format.ResolverStyle LENIENT;
+    enum_constant public static final java.time.format.ResolverStyle SMART;
+    enum_constant public static final java.time.format.ResolverStyle STRICT;
+  }
+
+  public enum SignStyle {
+    enum_constant public static final java.time.format.SignStyle ALWAYS;
+    enum_constant public static final java.time.format.SignStyle EXCEEDS_PAD;
+    enum_constant public static final java.time.format.SignStyle NEVER;
+    enum_constant public static final java.time.format.SignStyle NORMAL;
+    enum_constant public static final java.time.format.SignStyle NOT_NEGATIVE;
+  }
+
+  public enum TextStyle {
+    method public java.time.format.TextStyle asNormal();
+    method public java.time.format.TextStyle asStandalone();
+    method public boolean isStandalone();
+    enum_constant public static final java.time.format.TextStyle FULL;
+    enum_constant public static final java.time.format.TextStyle FULL_STANDALONE;
+    enum_constant public static final java.time.format.TextStyle NARROW;
+    enum_constant public static final java.time.format.TextStyle NARROW_STANDALONE;
+    enum_constant public static final java.time.format.TextStyle SHORT;
+    enum_constant public static final java.time.format.TextStyle SHORT_STANDALONE;
+  }
+
+}
+
+package java.time.temporal {
+
+  public enum ChronoField implements java.time.temporal.TemporalField {
+    method public <R extends java.time.temporal.Temporal> R adjustInto(R, long);
+    method public int checkValidIntValue(long);
+    method public long checkValidValue(long);
+    method public java.time.temporal.TemporalUnit getBaseUnit();
+    method public long getFrom(java.time.temporal.TemporalAccessor);
+    method public java.time.temporal.TemporalUnit getRangeUnit();
+    method public boolean isDateBased();
+    method public boolean isSupportedBy(java.time.temporal.TemporalAccessor);
+    method public boolean isTimeBased();
+    method public java.time.temporal.ValueRange range();
+    method public java.time.temporal.ValueRange rangeRefinedBy(java.time.temporal.TemporalAccessor);
+    enum_constant public static final java.time.temporal.ChronoField ALIGNED_DAY_OF_WEEK_IN_MONTH;
+    enum_constant public static final java.time.temporal.ChronoField ALIGNED_DAY_OF_WEEK_IN_YEAR;
+    enum_constant public static final java.time.temporal.ChronoField ALIGNED_WEEK_OF_MONTH;
+    enum_constant public static final java.time.temporal.ChronoField ALIGNED_WEEK_OF_YEAR;
+    enum_constant public static final java.time.temporal.ChronoField AMPM_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField CLOCK_HOUR_OF_AMPM;
+    enum_constant public static final java.time.temporal.ChronoField CLOCK_HOUR_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField DAY_OF_MONTH;
+    enum_constant public static final java.time.temporal.ChronoField DAY_OF_WEEK;
+    enum_constant public static final java.time.temporal.ChronoField DAY_OF_YEAR;
+    enum_constant public static final java.time.temporal.ChronoField EPOCH_DAY;
+    enum_constant public static final java.time.temporal.ChronoField ERA;
+    enum_constant public static final java.time.temporal.ChronoField HOUR_OF_AMPM;
+    enum_constant public static final java.time.temporal.ChronoField HOUR_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField INSTANT_SECONDS;
+    enum_constant public static final java.time.temporal.ChronoField MICRO_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField MICRO_OF_SECOND;
+    enum_constant public static final java.time.temporal.ChronoField MILLI_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField MILLI_OF_SECOND;
+    enum_constant public static final java.time.temporal.ChronoField MINUTE_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField MINUTE_OF_HOUR;
+    enum_constant public static final java.time.temporal.ChronoField MONTH_OF_YEAR;
+    enum_constant public static final java.time.temporal.ChronoField NANO_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField NANO_OF_SECOND;
+    enum_constant public static final java.time.temporal.ChronoField OFFSET_SECONDS;
+    enum_constant public static final java.time.temporal.ChronoField PROLEPTIC_MONTH;
+    enum_constant public static final java.time.temporal.ChronoField SECOND_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField SECOND_OF_MINUTE;
+    enum_constant public static final java.time.temporal.ChronoField YEAR;
+    enum_constant public static final java.time.temporal.ChronoField YEAR_OF_ERA;
+  }
+
+  public enum ChronoUnit implements java.time.temporal.TemporalUnit {
+    method public <R extends java.time.temporal.Temporal> R addTo(R, long);
+    method public long between(java.time.temporal.Temporal, java.time.temporal.Temporal);
+    method public java.time.Duration getDuration();
+    method public boolean isDateBased();
+    method public boolean isDurationEstimated();
+    method public boolean isTimeBased();
+    enum_constant public static final java.time.temporal.ChronoUnit CENTURIES;
+    enum_constant public static final java.time.temporal.ChronoUnit DAYS;
+    enum_constant public static final java.time.temporal.ChronoUnit DECADES;
+    enum_constant public static final java.time.temporal.ChronoUnit ERAS;
+    enum_constant public static final java.time.temporal.ChronoUnit FOREVER;
+    enum_constant public static final java.time.temporal.ChronoUnit HALF_DAYS;
+    enum_constant public static final java.time.temporal.ChronoUnit HOURS;
+    enum_constant public static final java.time.temporal.ChronoUnit MICROS;
+    enum_constant public static final java.time.temporal.ChronoUnit MILLENNIA;
+    enum_constant public static final java.time.temporal.ChronoUnit MILLIS;
+    enum_constant public static final java.time.temporal.ChronoUnit MINUTES;
+    enum_constant public static final java.time.temporal.ChronoUnit MONTHS;
+    enum_constant public static final java.time.temporal.ChronoUnit NANOS;
+    enum_constant public static final java.time.temporal.ChronoUnit SECONDS;
+    enum_constant public static final java.time.temporal.ChronoUnit WEEKS;
+    enum_constant public static final java.time.temporal.ChronoUnit YEARS;
+  }
+
+  public final class IsoFields {
+    field public static final java.time.temporal.TemporalField DAY_OF_QUARTER;
+    field public static final java.time.temporal.TemporalField QUARTER_OF_YEAR;
+    field public static final java.time.temporal.TemporalUnit QUARTER_YEARS;
+    field public static final java.time.temporal.TemporalField WEEK_BASED_YEAR;
+    field public static final java.time.temporal.TemporalUnit WEEK_BASED_YEARS;
+    field public static final java.time.temporal.TemporalField WEEK_OF_WEEK_BASED_YEAR;
+  }
+
+  public final class JulianFields {
+    field public static final java.time.temporal.TemporalField JULIAN_DAY;
+    field public static final java.time.temporal.TemporalField MODIFIED_JULIAN_DAY;
+    field public static final java.time.temporal.TemporalField RATA_DIE;
+  }
+
+  public interface Temporal extends java.time.temporal.TemporalAccessor {
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public default java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
+    method public default java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
+    method public default java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
+    method public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public default java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
+    method public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
+  }
+
+  public interface TemporalAccessor {
+    method public default int get(java.time.temporal.TemporalField);
+    method public long getLong(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public default <R> R query(java.time.temporal.TemporalQuery<R>);
+    method public default java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
+  }
+
+  @java.lang.FunctionalInterface public interface TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+  }
+
+  public final class TemporalAdjusters {
+    method public static java.time.temporal.TemporalAdjuster dayOfWeekInMonth(int, java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster firstDayOfMonth();
+    method public static java.time.temporal.TemporalAdjuster firstDayOfNextMonth();
+    method public static java.time.temporal.TemporalAdjuster firstDayOfNextYear();
+    method public static java.time.temporal.TemporalAdjuster firstDayOfYear();
+    method public static java.time.temporal.TemporalAdjuster firstInMonth(java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster lastDayOfMonth();
+    method public static java.time.temporal.TemporalAdjuster lastDayOfYear();
+    method public static java.time.temporal.TemporalAdjuster lastInMonth(java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster next(java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster nextOrSame(java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster ofDateAdjuster(java.util.function.UnaryOperator<java.time.LocalDate>);
+    method public static java.time.temporal.TemporalAdjuster previous(java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster previousOrSame(java.time.DayOfWeek);
+  }
+
+  public interface TemporalAmount {
+    method public java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
+    method public long get(java.time.temporal.TemporalUnit);
+    method public java.util.List<java.time.temporal.TemporalUnit> getUnits();
+    method public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
+  }
+
+  public interface TemporalField {
+    method public <R extends java.time.temporal.Temporal> R adjustInto(R, long);
+    method public java.time.temporal.TemporalUnit getBaseUnit();
+    method public default String getDisplayName(java.util.Locale);
+    method public long getFrom(java.time.temporal.TemporalAccessor);
+    method public java.time.temporal.TemporalUnit getRangeUnit();
+    method public boolean isDateBased();
+    method public boolean isSupportedBy(java.time.temporal.TemporalAccessor);
+    method public boolean isTimeBased();
+    method public java.time.temporal.ValueRange range();
+    method public java.time.temporal.ValueRange rangeRefinedBy(java.time.temporal.TemporalAccessor);
+    method public default java.time.temporal.TemporalAccessor resolve(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.temporal.TemporalAccessor, java.time.format.ResolverStyle);
+    method public String toString();
+  }
+
+  public final class TemporalQueries {
+    method public static java.time.temporal.TemporalQuery<java.time.chrono.Chronology> chronology();
+    method public static java.time.temporal.TemporalQuery<java.time.LocalDate> localDate();
+    method public static java.time.temporal.TemporalQuery<java.time.LocalTime> localTime();
+    method public static java.time.temporal.TemporalQuery<java.time.ZoneOffset> offset();
+    method public static java.time.temporal.TemporalQuery<java.time.temporal.TemporalUnit> precision();
+    method public static java.time.temporal.TemporalQuery<java.time.ZoneId> zone();
+    method public static java.time.temporal.TemporalQuery<java.time.ZoneId> zoneId();
+  }
+
+  @java.lang.FunctionalInterface public interface TemporalQuery<R> {
+    method public R queryFrom(java.time.temporal.TemporalAccessor);
+  }
+
+  public interface TemporalUnit {
+    method public <R extends java.time.temporal.Temporal> R addTo(R, long);
+    method public long between(java.time.temporal.Temporal, java.time.temporal.Temporal);
+    method public java.time.Duration getDuration();
+    method public boolean isDateBased();
+    method public boolean isDurationEstimated();
+    method public default boolean isSupportedBy(java.time.temporal.Temporal);
+    method public boolean isTimeBased();
+    method public String toString();
+  }
+
+  public class UnsupportedTemporalTypeException extends java.time.DateTimeException {
+    ctor public UnsupportedTemporalTypeException(String);
+    ctor public UnsupportedTemporalTypeException(String, Throwable);
+  }
+
+  public final class ValueRange implements java.io.Serializable {
+    method public int checkValidIntValue(long, java.time.temporal.TemporalField);
+    method public long checkValidValue(long, java.time.temporal.TemporalField);
+    method public long getLargestMinimum();
+    method public long getMaximum();
+    method public long getMinimum();
+    method public long getSmallestMaximum();
+    method public boolean isFixed();
+    method public boolean isIntValue();
+    method public boolean isValidIntValue(long);
+    method public boolean isValidValue(long);
+    method public static java.time.temporal.ValueRange of(long, long);
+    method public static java.time.temporal.ValueRange of(long, long, long);
+    method public static java.time.temporal.ValueRange of(long, long, long, long);
+  }
+
+  public final class WeekFields implements java.io.Serializable {
+    method public java.time.temporal.TemporalField dayOfWeek();
+    method public java.time.DayOfWeek getFirstDayOfWeek();
+    method public int getMinimalDaysInFirstWeek();
+    method public static java.time.temporal.WeekFields of(java.util.Locale);
+    method public static java.time.temporal.WeekFields of(java.time.DayOfWeek, int);
+    method public java.time.temporal.TemporalField weekBasedYear();
+    method public java.time.temporal.TemporalField weekOfMonth();
+    method public java.time.temporal.TemporalField weekOfWeekBasedYear();
+    method public java.time.temporal.TemporalField weekOfYear();
+    field public static final java.time.temporal.WeekFields ISO;
+    field public static final java.time.temporal.WeekFields SUNDAY_START;
+    field public static final java.time.temporal.TemporalUnit WEEK_BASED_YEARS;
+  }
+
+}
+
+package java.time.zone {
+
+  public final class ZoneOffsetTransition implements java.lang.Comparable<java.time.zone.ZoneOffsetTransition> java.io.Serializable {
+    method public int compareTo(java.time.zone.ZoneOffsetTransition);
+    method public java.time.LocalDateTime getDateTimeAfter();
+    method public java.time.LocalDateTime getDateTimeBefore();
+    method public java.time.Duration getDuration();
+    method public java.time.Instant getInstant();
+    method public java.time.ZoneOffset getOffsetAfter();
+    method public java.time.ZoneOffset getOffsetBefore();
+    method public boolean isGap();
+    method public boolean isOverlap();
+    method public boolean isValidOffset(java.time.ZoneOffset);
+    method public static java.time.zone.ZoneOffsetTransition of(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneOffset);
+    method public long toEpochSecond();
+  }
+
+  public final class ZoneOffsetTransitionRule implements java.io.Serializable {
+    method public java.time.zone.ZoneOffsetTransition createTransition(int);
+    method public int getDayOfMonthIndicator();
+    method public java.time.DayOfWeek getDayOfWeek();
+    method public java.time.LocalTime getLocalTime();
+    method public java.time.Month getMonth();
+    method public java.time.ZoneOffset getOffsetAfter();
+    method public java.time.ZoneOffset getOffsetBefore();
+    method public java.time.ZoneOffset getStandardOffset();
+    method public java.time.zone.ZoneOffsetTransitionRule.TimeDefinition getTimeDefinition();
+    method public boolean isMidnightEndOfDay();
+    method public static java.time.zone.ZoneOffsetTransitionRule of(java.time.Month, int, java.time.DayOfWeek, java.time.LocalTime, boolean, java.time.zone.ZoneOffsetTransitionRule.TimeDefinition, java.time.ZoneOffset, java.time.ZoneOffset, java.time.ZoneOffset);
+  }
+
+  public enum ZoneOffsetTransitionRule.TimeDefinition {
+    method public java.time.LocalDateTime createDateTime(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneOffset);
+    enum_constant public static final java.time.zone.ZoneOffsetTransitionRule.TimeDefinition STANDARD;
+    enum_constant public static final java.time.zone.ZoneOffsetTransitionRule.TimeDefinition UTC;
+    enum_constant public static final java.time.zone.ZoneOffsetTransitionRule.TimeDefinition WALL;
+  }
+
+  public final class ZoneRules implements java.io.Serializable {
+    method public java.time.Duration getDaylightSavings(java.time.Instant);
+    method public java.time.ZoneOffset getOffset(java.time.Instant);
+    method public java.time.ZoneOffset getOffset(java.time.LocalDateTime);
+    method public java.time.ZoneOffset getStandardOffset(java.time.Instant);
+    method public java.time.zone.ZoneOffsetTransition getTransition(java.time.LocalDateTime);
+    method public java.util.List<java.time.zone.ZoneOffsetTransitionRule> getTransitionRules();
+    method public java.util.List<java.time.zone.ZoneOffsetTransition> getTransitions();
+    method public java.util.List<java.time.ZoneOffset> getValidOffsets(java.time.LocalDateTime);
+    method public boolean isDaylightSavings(java.time.Instant);
+    method public boolean isFixedOffset();
+    method public boolean isValidOffset(java.time.LocalDateTime, java.time.ZoneOffset);
+    method public java.time.zone.ZoneOffsetTransition nextTransition(java.time.Instant);
+    method public static java.time.zone.ZoneRules of(java.time.ZoneOffset, java.time.ZoneOffset, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransitionRule>);
+    method public static java.time.zone.ZoneRules of(java.time.ZoneOffset);
+    method public java.time.zone.ZoneOffsetTransition previousTransition(java.time.Instant);
+  }
+
+  public class ZoneRulesException extends java.time.DateTimeException {
+    ctor public ZoneRulesException(String);
+    ctor public ZoneRulesException(String, Throwable);
+  }
+
+}
+
+package java.util {
+
+  public abstract class AbstractCollection<E> implements java.util.Collection<E> {
+    ctor protected AbstractCollection();
+    method public boolean add(E);
+    method public boolean addAll(@NonNull java.util.Collection<? extends E>);
+    method public void clear();
+    method public boolean contains(@Nullable Object);
+    method public boolean containsAll(@NonNull java.util.Collection<?>);
+    method public boolean isEmpty();
+    method public boolean remove(@Nullable Object);
+    method public boolean removeAll(@NonNull java.util.Collection<?>);
+    method public boolean retainAll(@NonNull java.util.Collection<?>);
+    method @NonNull public Object[] toArray();
+    method @NonNull public <T> T[] toArray(@NonNull T[]);
+  }
+
+  public abstract class AbstractList<E> extends java.util.AbstractCollection<E> implements java.util.List<E> {
+    ctor protected AbstractList();
+    method public void add(int, E);
+    method public boolean addAll(int, @NonNull java.util.Collection<? extends E>);
+    method public int indexOf(@Nullable Object);
+    method @NonNull public java.util.Iterator<E> iterator();
+    method public int lastIndexOf(@Nullable Object);
+    method @NonNull public java.util.ListIterator<E> listIterator();
+    method @NonNull public java.util.ListIterator<E> listIterator(int);
+    method public E remove(int);
+    method protected void removeRange(int, int);
+    method public E set(int, E);
+    method @NonNull public java.util.List<E> subList(int, int);
+    field protected transient int modCount;
+  }
+
+  public abstract class AbstractMap<K, V> implements java.util.Map<K,V> {
+    ctor protected AbstractMap();
+    method public void clear();
+    method public boolean containsKey(@Nullable Object);
+    method public boolean containsValue(@Nullable Object);
+    method @Nullable public V get(@Nullable Object);
+    method public boolean isEmpty();
+    method @NonNull public java.util.Set<K> keySet();
+    method @Nullable public V put(K, V);
+    method public void putAll(@NonNull java.util.Map<? extends K,? extends V>);
+    method @Nullable public V remove(@Nullable Object);
+    method public int size();
+    method @NonNull public java.util.Collection<V> values();
+  }
+
+  public static class AbstractMap.SimpleEntry<K, V> implements java.util.Map.Entry<K,V> java.io.Serializable {
+    ctor public AbstractMap.SimpleEntry(K, V);
+    ctor public AbstractMap.SimpleEntry(@NonNull java.util.Map.Entry<? extends K,? extends V>);
+    method public K getKey();
+    method public V getValue();
+    method public V setValue(V);
+  }
+
+  public static class AbstractMap.SimpleImmutableEntry<K, V> implements java.util.Map.Entry<K,V> java.io.Serializable {
+    ctor public AbstractMap.SimpleImmutableEntry(K, V);
+    ctor public AbstractMap.SimpleImmutableEntry(@NonNull java.util.Map.Entry<? extends K,? extends V>);
+    method public K getKey();
+    method public V getValue();
+    method public V setValue(V);
+  }
+
+  public abstract class AbstractQueue<E> extends java.util.AbstractCollection<E> implements java.util.Queue<E> {
+    ctor protected AbstractQueue();
+    method public E element();
+    method public E remove();
+  }
+
+  public abstract class AbstractSequentialList<E> extends java.util.AbstractList<E> {
+    ctor protected AbstractSequentialList();
+    method public E get(int);
+  }
+
+  public abstract class AbstractSet<E> extends java.util.AbstractCollection<E> implements java.util.Set<E> {
+    ctor protected AbstractSet();
+  }
+
+  public class ArrayDeque<E> extends java.util.AbstractCollection<E> implements java.lang.Cloneable java.util.Deque<E> java.io.Serializable {
+    ctor public ArrayDeque();
+    ctor public ArrayDeque(int);
+    ctor public ArrayDeque(@NonNull java.util.Collection<? extends E>);
+    method public void addFirst(E);
+    method public void addLast(E);
+    method @NonNull public java.util.ArrayDeque<E> clone();
+    method @NonNull public java.util.Iterator<E> descendingIterator();
+    method public E element();
+    method public E getFirst();
+    method public E getLast();
+    method @NonNull public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offerFirst(E);
+    method public boolean offerLast(E);
+    method @Nullable public E peek();
+    method @Nullable public E peekFirst();
+    method @Nullable public E peekLast();
+    method @Nullable public E poll();
+    method @Nullable public E pollFirst();
+    method @Nullable public E pollLast();
+    method public E pop();
+    method public void push(E);
+    method public E remove();
+    method public E removeFirst();
+    method public boolean removeFirstOccurrence(@Nullable Object);
+    method public E removeLast();
+    method public boolean removeLastOccurrence(@Nullable Object);
+    method public int size();
+  }
+
+  public class ArrayList<E> extends java.util.AbstractList<E> implements java.lang.Cloneable java.util.List<E> java.util.RandomAccess java.io.Serializable {
+    ctor public ArrayList(int);
+    ctor public ArrayList();
+    ctor public ArrayList(@NonNull java.util.Collection<? extends E>);
+    method @NonNull public Object clone();
+    method public void ensureCapacity(int);
+    method public void forEach(@NonNull java.util.function.Consumer<? super E>);
+    method public E get(int);
+    method public int size();
+    method public void trimToSize();
+  }
+
+  public class Arrays {
+    method @NonNull @java.lang.SafeVarargs public static <T> java.util.List<T> asList(@NonNull T...);
+    method public static int binarySearch(@NonNull long[], long);
+    method public static int binarySearch(@NonNull long[], int, int, long);
+    method public static int binarySearch(@NonNull int[], int);
+    method public static int binarySearch(@NonNull int[], int, int, int);
+    method public static int binarySearch(@NonNull short[], short);
+    method public static int binarySearch(@NonNull short[], int, int, short);
+    method public static int binarySearch(@NonNull char[], char);
+    method public static int binarySearch(@NonNull char[], int, int, char);
+    method public static int binarySearch(@NonNull byte[], byte);
+    method public static int binarySearch(@NonNull byte[], int, int, byte);
+    method public static int binarySearch(@NonNull double[], double);
+    method public static int binarySearch(@NonNull double[], int, int, double);
+    method public static int binarySearch(@NonNull float[], float);
+    method public static int binarySearch(@NonNull float[], int, int, float);
+    method public static int binarySearch(@NonNull Object[], @NonNull Object);
+    method public static int binarySearch(@NonNull Object[], int, int, @NonNull Object);
+    method public static <T> int binarySearch(@NonNull T[], T, @Nullable java.util.Comparator<? super T>);
+    method public static <T> int binarySearch(@NonNull T[], int, int, T, @Nullable java.util.Comparator<? super T>);
+    method @NonNull public static <T> T[] copyOf(@NonNull T[], int);
+    method @NonNull public static <T, U> T[] copyOf(@NonNull U[], int, @NonNull Class<? extends T[]>);
+    method @NonNull public static byte[] copyOf(@NonNull byte[], int);
+    method @NonNull public static short[] copyOf(@NonNull short[], int);
+    method @NonNull public static int[] copyOf(@NonNull int[], int);
+    method @NonNull public static long[] copyOf(@NonNull long[], int);
+    method @NonNull public static char[] copyOf(@NonNull char[], int);
+    method @NonNull public static float[] copyOf(@NonNull float[], int);
+    method @NonNull public static double[] copyOf(@NonNull double[], int);
+    method @NonNull public static boolean[] copyOf(@NonNull boolean[], int);
+    method @NonNull public static <T> T[] copyOfRange(@NonNull T[], int, int);
+    method @NonNull public static <T, U> T[] copyOfRange(@NonNull U[], int, int, @NonNull Class<? extends T[]>);
+    method @NonNull public static byte[] copyOfRange(@NonNull byte[], int, int);
+    method @NonNull public static short[] copyOfRange(@NonNull short[], int, int);
+    method @NonNull public static int[] copyOfRange(@NonNull int[], int, int);
+    method @NonNull public static long[] copyOfRange(@NonNull long[], int, int);
+    method @NonNull public static char[] copyOfRange(@NonNull char[], int, int);
+    method @NonNull public static float[] copyOfRange(@NonNull float[], int, int);
+    method @NonNull public static double[] copyOfRange(@NonNull double[], int, int);
+    method @NonNull public static boolean[] copyOfRange(@NonNull boolean[], int, int);
+    method public static boolean deepEquals(@Nullable Object[], @Nullable Object[]);
+    method public static int deepHashCode(@Nullable Object[]);
+    method @NonNull public static String deepToString(@Nullable Object[]);
+    method public static boolean equals(@Nullable long[], @Nullable long[]);
+    method public static boolean equals(@Nullable int[], @Nullable int[]);
+    method public static boolean equals(@Nullable short[], @Nullable short[]);
+    method public static boolean equals(@Nullable char[], @Nullable char[]);
+    method public static boolean equals(@Nullable byte[], @Nullable byte[]);
+    method public static boolean equals(@Nullable boolean[], @Nullable boolean[]);
+    method public static boolean equals(@Nullable double[], @Nullable double[]);
+    method public static boolean equals(@Nullable float[], @Nullable float[]);
+    method public static boolean equals(@Nullable Object[], @Nullable Object[]);
+    method public static void fill(@NonNull long[], long);
+    method public static void fill(@NonNull long[], int, int, long);
+    method public static void fill(@NonNull int[], int);
+    method public static void fill(@NonNull int[], int, int, int);
+    method public static void fill(@NonNull short[], short);
+    method public static void fill(@NonNull short[], int, int, short);
+    method public static void fill(@NonNull char[], char);
+    method public static void fill(@NonNull char[], int, int, char);
+    method public static void fill(@NonNull byte[], byte);
+    method public static void fill(@NonNull byte[], int, int, byte);
+    method public static void fill(@NonNull boolean[], boolean);
+    method public static void fill(@NonNull boolean[], int, int, boolean);
+    method public static void fill(@NonNull double[], double);
+    method public static void fill(@NonNull double[], int, int, double);
+    method public static void fill(@NonNull float[], float);
+    method public static void fill(@NonNull float[], int, int, float);
+    method public static void fill(@NonNull Object[], @Nullable Object);
+    method public static void fill(@NonNull Object[], int, int, @Nullable Object);
+    method public static int hashCode(@Nullable long[]);
+    method public static int hashCode(@Nullable int[]);
+    method public static int hashCode(@Nullable short[]);
+    method public static int hashCode(@Nullable char[]);
+    method public static int hashCode(@Nullable byte[]);
+    method public static int hashCode(@Nullable boolean[]);
+    method public static int hashCode(@Nullable float[]);
+    method public static int hashCode(@Nullable double[]);
+    method public static int hashCode(@Nullable Object[]);
+    method public static <T> void parallelPrefix(@NonNull T[], @NonNull java.util.function.BinaryOperator<T>);
+    method public static <T> void parallelPrefix(@NonNull T[], int, int, @NonNull java.util.function.BinaryOperator<T>);
+    method public static void parallelPrefix(@NonNull long[], @NonNull java.util.function.LongBinaryOperator);
+    method public static void parallelPrefix(@NonNull long[], int, int, @NonNull java.util.function.LongBinaryOperator);
+    method public static void parallelPrefix(@NonNull double[], @NonNull java.util.function.DoubleBinaryOperator);
+    method public static void parallelPrefix(@NonNull double[], int, int, @NonNull java.util.function.DoubleBinaryOperator);
+    method public static void parallelPrefix(@NonNull int[], @NonNull java.util.function.IntBinaryOperator);
+    method public static void parallelPrefix(@NonNull int[], int, int, @NonNull java.util.function.IntBinaryOperator);
+    method public static <T> void parallelSetAll(@NonNull T[], @NonNull java.util.function.IntFunction<? extends T>);
+    method public static void parallelSetAll(@NonNull int[], @NonNull java.util.function.IntUnaryOperator);
+    method public static void parallelSetAll(@NonNull long[], @NonNull java.util.function.IntToLongFunction);
+    method public static void parallelSetAll(@NonNull double[], @NonNull java.util.function.IntToDoubleFunction);
+    method public static void parallelSort(@NonNull byte[]);
+    method public static void parallelSort(@NonNull byte[], int, int);
+    method public static void parallelSort(@NonNull char[]);
+    method public static void parallelSort(@NonNull char[], int, int);
+    method public static void parallelSort(@NonNull short[]);
+    method public static void parallelSort(@NonNull short[], int, int);
+    method public static void parallelSort(@NonNull int[]);
+    method public static void parallelSort(@NonNull int[], int, int);
+    method public static void parallelSort(@NonNull long[]);
+    method public static void parallelSort(@NonNull long[], int, int);
+    method public static void parallelSort(@NonNull float[]);
+    method public static void parallelSort(@NonNull float[], int, int);
+    method public static void parallelSort(@NonNull double[]);
+    method public static void parallelSort(@NonNull double[], int, int);
+    method public static <T extends java.lang.Comparable<? super T>> void parallelSort(@NonNull T[]);
+    method public static <T extends java.lang.Comparable<? super T>> void parallelSort(@NonNull T[], int, int);
+    method public static <T> void parallelSort(@NonNull T[], @Nullable java.util.Comparator<? super T>);
+    method public static <T> void parallelSort(@NonNull T[], int, int, @Nullable java.util.Comparator<? super T>);
+    method public static <T> void setAll(@NonNull T[], @NonNull java.util.function.IntFunction<? extends T>);
+    method public static void setAll(@NonNull int[], @NonNull java.util.function.IntUnaryOperator);
+    method public static void setAll(@NonNull long[], @NonNull java.util.function.IntToLongFunction);
+    method public static void setAll(@NonNull double[], @NonNull java.util.function.IntToDoubleFunction);
+    method public static void sort(@NonNull int[]);
+    method public static void sort(@NonNull int[], int, int);
+    method public static void sort(@NonNull long[]);
+    method public static void sort(@NonNull long[], int, int);
+    method public static void sort(@NonNull short[]);
+    method public static void sort(@NonNull short[], int, int);
+    method public static void sort(@NonNull char[]);
+    method public static void sort(@NonNull char[], int, int);
+    method public static void sort(@NonNull byte[]);
+    method public static void sort(@NonNull byte[], int, int);
+    method public static void sort(@NonNull float[]);
+    method public static void sort(@NonNull float[], int, int);
+    method public static void sort(@NonNull double[]);
+    method public static void sort(@NonNull double[], int, int);
+    method public static void sort(@NonNull Object[]);
+    method public static void sort(@NonNull Object[], int, int);
+    method public static <T> void sort(@NonNull T[], @Nullable java.util.Comparator<? super T>);
+    method public static <T> void sort(@NonNull T[], int, int, @Nullable java.util.Comparator<? super T>);
+    method @NonNull public static <T> java.util.Spliterator<T> spliterator(@NonNull T[]);
+    method @NonNull public static <T> java.util.Spliterator<T> spliterator(@NonNull T[], int, int);
+    method @NonNull public static java.util.Spliterator.OfInt spliterator(@NonNull int[]);
+    method @NonNull public static java.util.Spliterator.OfInt spliterator(@NonNull int[], int, int);
+    method @NonNull public static java.util.Spliterator.OfLong spliterator(@NonNull long[]);
+    method @NonNull public static java.util.Spliterator.OfLong spliterator(@NonNull long[], int, int);
+    method @NonNull public static java.util.Spliterator.OfDouble spliterator(@NonNull double[]);
+    method @NonNull public static java.util.Spliterator.OfDouble spliterator(@NonNull double[], int, int);
+    method @NonNull public static <T> java.util.stream.Stream<T> stream(@NonNull T[]);
+    method @NonNull public static <T> java.util.stream.Stream<T> stream(@NonNull T[], int, int);
+    method @NonNull public static java.util.stream.IntStream stream(@NonNull int[]);
+    method @NonNull public static java.util.stream.IntStream stream(@NonNull int[], int, int);
+    method @NonNull public static java.util.stream.LongStream stream(@NonNull long[]);
+    method @NonNull public static java.util.stream.LongStream stream(@NonNull long[], int, int);
+    method @NonNull public static java.util.stream.DoubleStream stream(@NonNull double[]);
+    method @NonNull public static java.util.stream.DoubleStream stream(@NonNull double[], int, int);
+    method @NonNull public static String toString(@Nullable long[]);
+    method @NonNull public static String toString(@Nullable int[]);
+    method @NonNull public static String toString(@Nullable short[]);
+    method @NonNull public static String toString(@Nullable char[]);
+    method @NonNull public static String toString(@Nullable byte[]);
+    method @NonNull public static String toString(@Nullable boolean[]);
+    method @NonNull public static String toString(@Nullable float[]);
+    method @NonNull public static String toString(@Nullable double[]);
+    method @NonNull public static String toString(@Nullable Object[]);
+  }
+
+  public class Base64 {
+    method public static java.util.Base64.Decoder getDecoder();
+    method public static java.util.Base64.Encoder getEncoder();
+    method public static java.util.Base64.Decoder getMimeDecoder();
+    method public static java.util.Base64.Encoder getMimeEncoder();
+    method public static java.util.Base64.Encoder getMimeEncoder(int, byte[]);
+    method public static java.util.Base64.Decoder getUrlDecoder();
+    method public static java.util.Base64.Encoder getUrlEncoder();
+  }
+
+  public static class Base64.Decoder {
+    method public byte[] decode(byte[]);
+    method public byte[] decode(String);
+    method public int decode(byte[], byte[]);
+    method public java.nio.ByteBuffer decode(java.nio.ByteBuffer);
+    method public java.io.InputStream wrap(java.io.InputStream);
+  }
+
+  public static class Base64.Encoder {
+    method public byte[] encode(byte[]);
+    method public int encode(byte[], byte[]);
+    method public java.nio.ByteBuffer encode(java.nio.ByteBuffer);
+    method public String encodeToString(byte[]);
+    method public java.util.Base64.Encoder withoutPadding();
+    method public java.io.OutputStream wrap(java.io.OutputStream);
+  }
+
+  public class BitSet implements java.lang.Cloneable java.io.Serializable {
+    ctor public BitSet();
+    ctor public BitSet(int);
+    method public void and(java.util.BitSet);
+    method public void andNot(java.util.BitSet);
+    method public int cardinality();
+    method public void clear(int);
+    method public void clear(int, int);
+    method public void clear();
+    method public Object clone();
+    method public void flip(int);
+    method public void flip(int, int);
+    method public boolean get(int);
+    method public java.util.BitSet get(int, int);
+    method public boolean intersects(java.util.BitSet);
+    method public boolean isEmpty();
+    method public int length();
+    method public int nextClearBit(int);
+    method public int nextSetBit(int);
+    method public void or(java.util.BitSet);
+    method public int previousClearBit(int);
+    method public int previousSetBit(int);
+    method public void set(int);
+    method public void set(int, boolean);
+    method public void set(int, int);
+    method public void set(int, int, boolean);
+    method public int size();
+    method public java.util.stream.IntStream stream();
+    method public byte[] toByteArray();
+    method public long[] toLongArray();
+    method public static java.util.BitSet valueOf(long[]);
+    method public static java.util.BitSet valueOf(java.nio.LongBuffer);
+    method public static java.util.BitSet valueOf(byte[]);
+    method public static java.util.BitSet valueOf(java.nio.ByteBuffer);
+    method public void xor(java.util.BitSet);
+  }
+
+  public abstract class Calendar implements java.lang.Cloneable java.lang.Comparable<java.util.Calendar> java.io.Serializable {
+    ctor protected Calendar();
+    ctor protected Calendar(@NonNull java.util.TimeZone, @NonNull java.util.Locale);
+    method public abstract void add(int, int);
+    method public boolean after(@Nullable Object);
+    method public boolean before(@Nullable Object);
+    method public final void clear();
+    method public final void clear(int);
+    method @NonNull public Object clone();
+    method public int compareTo(@NonNull java.util.Calendar);
+    method protected void complete();
+    method protected abstract void computeFields();
+    method protected abstract void computeTime();
+    method public int get(int);
+    method public int getActualMaximum(int);
+    method public int getActualMinimum(int);
+    method @NonNull public static java.util.Set<java.lang.String> getAvailableCalendarTypes();
+    method @NonNull public static java.util.Locale[] getAvailableLocales();
+    method @NonNull public String getCalendarType();
+    method @Nullable public String getDisplayName(int, int, @NonNull java.util.Locale);
+    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDisplayNames(int, int, @NonNull java.util.Locale);
+    method public int getFirstDayOfWeek();
+    method public abstract int getGreatestMinimum(int);
+    method @NonNull public static java.util.Calendar getInstance();
+    method @NonNull public static java.util.Calendar getInstance(@NonNull java.util.TimeZone);
+    method @NonNull public static java.util.Calendar getInstance(@NonNull java.util.Locale);
+    method @NonNull public static java.util.Calendar getInstance(@NonNull java.util.TimeZone, @NonNull java.util.Locale);
+    method public abstract int getLeastMaximum(int);
+    method public abstract int getMaximum(int);
+    method public int getMinimalDaysInFirstWeek();
+    method public abstract int getMinimum(int);
+    method @NonNull public final java.util.Date getTime();
+    method public long getTimeInMillis();
+    method @NonNull public java.util.TimeZone getTimeZone();
+    method public int getWeekYear();
+    method public int getWeeksInWeekYear();
+    method protected final int internalGet(int);
+    method public boolean isLenient();
+    method public final boolean isSet(int);
+    method public boolean isWeekDateSupported();
+    method public abstract void roll(int, boolean);
+    method public void roll(int, int);
+    method public void set(int, int);
+    method public final void set(int, int, int);
+    method public final void set(int, int, int, int, int);
+    method public final void set(int, int, int, int, int, int);
+    method public void setFirstDayOfWeek(int);
+    method public void setLenient(boolean);
+    method public void setMinimalDaysInFirstWeek(int);
+    method public final void setTime(@NonNull java.util.Date);
+    method public void setTimeInMillis(long);
+    method public void setTimeZone(@NonNull java.util.TimeZone);
+    method public void setWeekDate(int, int, int);
+    method @NonNull public final java.time.Instant toInstant();
+    field public static final int ALL_STYLES = 0; // 0x0
+    field public static final int AM = 0; // 0x0
+    field public static final int AM_PM = 9; // 0x9
+    field public static final int APRIL = 3; // 0x3
+    field public static final int AUGUST = 7; // 0x7
+    field public static final int DATE = 5; // 0x5
+    field public static final int DAY_OF_MONTH = 5; // 0x5
+    field public static final int DAY_OF_WEEK = 7; // 0x7
+    field public static final int DAY_OF_WEEK_IN_MONTH = 8; // 0x8
+    field public static final int DAY_OF_YEAR = 6; // 0x6
+    field public static final int DECEMBER = 11; // 0xb
+    field public static final int DST_OFFSET = 16; // 0x10
+    field public static final int ERA = 0; // 0x0
+    field public static final int FEBRUARY = 1; // 0x1
+    field public static final int FIELD_COUNT = 17; // 0x11
+    field public static final int FRIDAY = 6; // 0x6
+    field public static final int HOUR = 10; // 0xa
+    field public static final int HOUR_OF_DAY = 11; // 0xb
+    field public static final int JANUARY = 0; // 0x0
+    field public static final int JULY = 6; // 0x6
+    field public static final int JUNE = 5; // 0x5
+    field public static final int LONG = 2; // 0x2
+    field public static final int LONG_FORMAT = 2; // 0x2
+    field public static final int LONG_STANDALONE = 32770; // 0x8002
+    field public static final int MARCH = 2; // 0x2
+    field public static final int MAY = 4; // 0x4
+    field public static final int MILLISECOND = 14; // 0xe
+    field public static final int MINUTE = 12; // 0xc
+    field public static final int MONDAY = 2; // 0x2
+    field public static final int MONTH = 2; // 0x2
+    field public static final int NARROW_FORMAT = 4; // 0x4
+    field public static final int NARROW_STANDALONE = 32772; // 0x8004
+    field public static final int NOVEMBER = 10; // 0xa
+    field public static final int OCTOBER = 9; // 0x9
+    field public static final int PM = 1; // 0x1
+    field public static final int SATURDAY = 7; // 0x7
+    field public static final int SECOND = 13; // 0xd
+    field public static final int SEPTEMBER = 8; // 0x8
+    field public static final int SHORT = 1; // 0x1
+    field public static final int SHORT_FORMAT = 1; // 0x1
+    field public static final int SHORT_STANDALONE = 32769; // 0x8001
+    field public static final int SUNDAY = 1; // 0x1
+    field public static final int THURSDAY = 5; // 0x5
+    field public static final int TUESDAY = 3; // 0x3
+    field public static final int UNDECIMBER = 12; // 0xc
+    field public static final int WEDNESDAY = 4; // 0x4
+    field public static final int WEEK_OF_MONTH = 4; // 0x4
+    field public static final int WEEK_OF_YEAR = 3; // 0x3
+    field public static final int YEAR = 1; // 0x1
+    field public static final int ZONE_OFFSET = 15; // 0xf
+    field protected boolean areFieldsSet;
+    field @NonNull protected int[] fields;
+    field @NonNull protected boolean[] isSet;
+    field protected boolean isTimeSet;
+    field protected long time;
+  }
+
+  public static class Calendar.Builder {
+    ctor public Calendar.Builder();
+    method @NonNull public java.util.Calendar build();
+    method @NonNull public java.util.Calendar.Builder set(int, int);
+    method @NonNull public java.util.Calendar.Builder setCalendarType(@NonNull String);
+    method @NonNull public java.util.Calendar.Builder setDate(int, int, int);
+    method @NonNull public java.util.Calendar.Builder setFields(@NonNull int...);
+    method @NonNull public java.util.Calendar.Builder setInstant(long);
+    method @NonNull public java.util.Calendar.Builder setInstant(@NonNull java.util.Date);
+    method @NonNull public java.util.Calendar.Builder setLenient(boolean);
+    method @NonNull public java.util.Calendar.Builder setLocale(@NonNull java.util.Locale);
+    method @NonNull public java.util.Calendar.Builder setTimeOfDay(int, int, int);
+    method @NonNull public java.util.Calendar.Builder setTimeOfDay(int, int, int, int);
+    method @NonNull public java.util.Calendar.Builder setTimeZone(@NonNull java.util.TimeZone);
+    method @NonNull public java.util.Calendar.Builder setWeekDate(int, int, int);
+    method @NonNull public java.util.Calendar.Builder setWeekDefinition(int, int);
+  }
+
+  public interface Collection<E> extends java.lang.Iterable<E> {
+    method public boolean add(E);
+    method public boolean addAll(@NonNull java.util.Collection<? extends E>);
+    method public void clear();
+    method public boolean contains(@Nullable Object);
+    method public boolean containsAll(@NonNull java.util.Collection<?>);
+    method public boolean equals(@Nullable Object);
+    method public int hashCode();
+    method public boolean isEmpty();
+    method @NonNull public java.util.Iterator<E> iterator();
+    method @NonNull public default java.util.stream.Stream<E> parallelStream();
+    method public boolean remove(@Nullable Object);
+    method public boolean removeAll(@NonNull java.util.Collection<?>);
+    method public default boolean removeIf(@NonNull java.util.function.Predicate<? super E>);
+    method public boolean retainAll(@NonNull java.util.Collection<?>);
+    method public int size();
+    method @NonNull public default java.util.Spliterator<E> spliterator();
+    method @NonNull public default java.util.stream.Stream<E> stream();
+    method @NonNull public Object[] toArray();
+    method @NonNull public <T> T[] toArray(@NonNull T[]);
+  }
+
+  public class Collections {
+    method @java.lang.SafeVarargs public static <T> boolean addAll(@NonNull java.util.Collection<? super T>, @NonNull T...);
+    method @NonNull public static <T> java.util.Queue<T> asLifoQueue(@NonNull java.util.Deque<T>);
+    method public static <T> int binarySearch(@NonNull java.util.List<? extends java.lang.Comparable<? super T>>, @NonNull T);
+    method public static <T> int binarySearch(@NonNull java.util.List<? extends T>, T, @Nullable java.util.Comparator<? super T>);
+    method @NonNull public static <E> java.util.Collection<E> checkedCollection(@NonNull java.util.Collection<E>, @NonNull Class<E>);
+    method @NonNull public static <E> java.util.List<E> checkedList(@NonNull java.util.List<E>, @NonNull Class<E>);
+    method @NonNull public static <K, V> java.util.Map<K,V> checkedMap(@NonNull java.util.Map<K,V>, @NonNull Class<K>, @NonNull Class<V>);
+    method @NonNull public static <K, V> java.util.NavigableMap<K,V> checkedNavigableMap(@NonNull java.util.NavigableMap<K,V>, @NonNull Class<K>, @NonNull Class<V>);
+    method @NonNull public static <E> java.util.NavigableSet<E> checkedNavigableSet(@NonNull java.util.NavigableSet<E>, @NonNull Class<E>);
+    method @NonNull public static <E> java.util.Queue<E> checkedQueue(@NonNull java.util.Queue<E>, @NonNull Class<E>);
+    method @NonNull public static <E> java.util.Set<E> checkedSet(@NonNull java.util.Set<E>, @NonNull Class<E>);
+    method @NonNull public static <K, V> java.util.SortedMap<K,V> checkedSortedMap(@NonNull java.util.SortedMap<K,V>, @NonNull Class<K>, @NonNull Class<V>);
+    method @NonNull public static <E> java.util.SortedSet<E> checkedSortedSet(@NonNull java.util.SortedSet<E>, @NonNull Class<E>);
+    method public static <T> void copy(@NonNull java.util.List<? super T>, @NonNull java.util.List<? extends T>);
+    method public static boolean disjoint(@NonNull java.util.Collection<?>, @NonNull java.util.Collection<?>);
+    method @NonNull public static <T> java.util.Enumeration<T> emptyEnumeration();
+    method @NonNull public static <T> java.util.Iterator<T> emptyIterator();
+    method @NonNull public static final <T> java.util.List<T> emptyList();
+    method @NonNull public static <T> java.util.ListIterator<T> emptyListIterator();
+    method @NonNull public static final <K, V> java.util.Map<K,V> emptyMap();
+    method @NonNull public static final <K, V> java.util.NavigableMap<K,V> emptyNavigableMap();
+    method @NonNull public static <E> java.util.NavigableSet<E> emptyNavigableSet();
+    method @NonNull public static final <T> java.util.Set<T> emptySet();
+    method @NonNull public static final <K, V> java.util.SortedMap<K,V> emptySortedMap();
+    method @NonNull public static <E> java.util.SortedSet<E> emptySortedSet();
+    method @NonNull public static <T> java.util.Enumeration<T> enumeration(@NonNull java.util.Collection<T>);
+    method public static <T> void fill(@NonNull java.util.List<? super T>, T);
+    method public static int frequency(@NonNull java.util.Collection<?>, @Nullable Object);
+    method public static int indexOfSubList(@NonNull java.util.List<?>, @NonNull java.util.List<?>);
+    method public static int lastIndexOfSubList(@NonNull java.util.List<?>, @NonNull java.util.List<?>);
+    method @NonNull public static <T> java.util.ArrayList<T> list(@NonNull java.util.Enumeration<T>);
+    method @NonNull public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T max(@NonNull java.util.Collection<? extends T>);
+    method public static <T> T max(@NonNull java.util.Collection<? extends T>, @Nullable java.util.Comparator<? super T>);
+    method @NonNull public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T min(@NonNull java.util.Collection<? extends T>);
+    method public static <T> T min(@NonNull java.util.Collection<? extends T>, @Nullable java.util.Comparator<? super T>);
+    method @NonNull public static <T> java.util.List<T> nCopies(int, T);
+    method @NonNull public static <E> java.util.Set<E> newSetFromMap(@NonNull java.util.Map<E,java.lang.Boolean>);
+    method public static <T> boolean replaceAll(@NonNull java.util.List<T>, T, T);
+    method public static void reverse(@NonNull java.util.List<?>);
+    method @NonNull public static <T> java.util.Comparator<T> reverseOrder();
+    method @NonNull public static <T> java.util.Comparator<T> reverseOrder(@Nullable java.util.Comparator<T>);
+    method public static void rotate(@NonNull java.util.List<?>, int);
+    method public static void shuffle(@NonNull java.util.List<?>);
+    method public static void shuffle(@NonNull java.util.List<?>, @NonNull java.util.Random);
+    method @NonNull public static <T> java.util.Set<T> singleton(T);
+    method @NonNull public static <T> java.util.List<T> singletonList(T);
+    method @NonNull public static <K, V> java.util.Map<K,V> singletonMap(K, V);
+    method public static <T extends java.lang.Comparable<? super T>> void sort(@NonNull java.util.List<T>);
+    method public static <T> void sort(@NonNull java.util.List<T>, @Nullable java.util.Comparator<? super T>);
+    method public static void swap(@NonNull java.util.List<?>, int, int);
+    method @NonNull public static <T> java.util.Collection<T> synchronizedCollection(@NonNull java.util.Collection<T>);
+    method @NonNull public static <T> java.util.List<T> synchronizedList(@NonNull java.util.List<T>);
+    method @NonNull public static <K, V> java.util.Map<K,V> synchronizedMap(@NonNull java.util.Map<K,V>);
+    method @NonNull public static <K, V> java.util.NavigableMap<K,V> synchronizedNavigableMap(@NonNull java.util.NavigableMap<K,V>);
+    method @NonNull public static <T> java.util.NavigableSet<T> synchronizedNavigableSet(@NonNull java.util.NavigableSet<T>);
+    method @NonNull public static <T> java.util.Set<T> synchronizedSet(@NonNull java.util.Set<T>);
+    method @NonNull public static <K, V> java.util.SortedMap<K,V> synchronizedSortedMap(@NonNull java.util.SortedMap<K,V>);
+    method @NonNull public static <T> java.util.SortedSet<T> synchronizedSortedSet(@NonNull java.util.SortedSet<T>);
+    method @NonNull public static <T> java.util.Collection<T> unmodifiableCollection(@NonNull java.util.Collection<? extends T>);
+    method @NonNull public static <T> java.util.List<T> unmodifiableList(@NonNull java.util.List<? extends T>);
+    method @NonNull public static <K, V> java.util.Map<K,V> unmodifiableMap(@NonNull java.util.Map<? extends K,? extends V>);
+    method @NonNull public static <K, V> java.util.NavigableMap<K,V> unmodifiableNavigableMap(@NonNull java.util.NavigableMap<K,? extends V>);
+    method @NonNull public static <T> java.util.NavigableSet<T> unmodifiableNavigableSet(@NonNull java.util.NavigableSet<T>);
+    method @NonNull public static <T> java.util.Set<T> unmodifiableSet(@NonNull java.util.Set<? extends T>);
+    method @NonNull public static <K, V> java.util.SortedMap<K,V> unmodifiableSortedMap(@NonNull java.util.SortedMap<K,? extends V>);
+    method @NonNull public static <T> java.util.SortedSet<T> unmodifiableSortedSet(@NonNull java.util.SortedSet<T>);
+    field @NonNull public static final java.util.List EMPTY_LIST;
+    field @NonNull public static final java.util.Map EMPTY_MAP;
+    field @NonNull public static final java.util.Set EMPTY_SET;
+  }
+
+  @java.lang.FunctionalInterface public interface Comparator<T> {
+    method public int compare(T, T);
+    method public static <T, U> java.util.Comparator<T> comparing(java.util.function.Function<? super T,? extends U>, java.util.Comparator<? super U>);
+    method public static <T, U extends java.lang.Comparable<? super U>> java.util.Comparator<T> comparing(java.util.function.Function<? super T,? extends U>);
+    method public static <T> java.util.Comparator<T> comparingDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public static <T> java.util.Comparator<T> comparingInt(java.util.function.ToIntFunction<? super T>);
+    method public static <T> java.util.Comparator<T> comparingLong(java.util.function.ToLongFunction<? super T>);
+    method public boolean equals(Object);
+    method public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> naturalOrder();
+    method public static <T> java.util.Comparator<T> nullsFirst(java.util.Comparator<? super T>);
+    method public static <T> java.util.Comparator<T> nullsLast(java.util.Comparator<? super T>);
+    method public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> reverseOrder();
+    method public default java.util.Comparator<T> reversed();
+    method public default java.util.Comparator<T> thenComparing(java.util.Comparator<? super T>);
+    method public default <U> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T,? extends U>, java.util.Comparator<? super U>);
+    method public default <U extends java.lang.Comparable<? super U>> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T,? extends U>);
+    method public default java.util.Comparator<T> thenComparingDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public default java.util.Comparator<T> thenComparingInt(java.util.function.ToIntFunction<? super T>);
+    method public default java.util.Comparator<T> thenComparingLong(java.util.function.ToLongFunction<? super T>);
+  }
+
+  public class ConcurrentModificationException extends java.lang.RuntimeException {
+    ctor public ConcurrentModificationException();
+    ctor public ConcurrentModificationException(String);
+    ctor public ConcurrentModificationException(Throwable);
+    ctor public ConcurrentModificationException(String, Throwable);
+  }
+
+  public final class Currency implements java.io.Serializable {
+    method public static java.util.Set<java.util.Currency> getAvailableCurrencies();
+    method public String getCurrencyCode();
+    method public int getDefaultFractionDigits();
+    method public String getDisplayName();
+    method public String getDisplayName(java.util.Locale);
+    method public static java.util.Currency getInstance(String);
+    method public static java.util.Currency getInstance(java.util.Locale);
+    method public int getNumericCode();
+    method public String getSymbol();
+    method public String getSymbol(java.util.Locale);
+  }
+
+  public class Date implements java.lang.Cloneable java.lang.Comparable<java.util.Date> java.io.Serializable {
+    ctor public Date();
+    ctor public Date(long);
+    ctor @Deprecated public Date(int, int, int);
+    ctor @Deprecated public Date(int, int, int, int, int);
+    ctor @Deprecated public Date(int, int, int, int, int, int);
+    ctor @Deprecated public Date(String);
+    method @Deprecated public static long UTC(int, int, int, int, int, int);
+    method public boolean after(java.util.Date);
+    method public boolean before(java.util.Date);
+    method public Object clone();
+    method public int compareTo(java.util.Date);
+    method public static java.util.Date from(java.time.Instant);
+    method @Deprecated public int getDate();
+    method @Deprecated public int getDay();
+    method @Deprecated public int getHours();
+    method @Deprecated public int getMinutes();
+    method @Deprecated public int getMonth();
+    method @Deprecated public int getSeconds();
+    method public long getTime();
+    method @Deprecated public int getTimezoneOffset();
+    method @Deprecated public int getYear();
+    method @Deprecated public static long parse(String);
+    method @Deprecated public void setDate(int);
+    method @Deprecated public void setHours(int);
+    method @Deprecated public void setMinutes(int);
+    method @Deprecated public void setMonth(int);
+    method @Deprecated public void setSeconds(int);
+    method public void setTime(long);
+    method @Deprecated public void setYear(int);
+    method @Deprecated public String toGMTString();
+    method public java.time.Instant toInstant();
+    method @Deprecated public String toLocaleString();
+  }
+
+  public interface Deque<E> extends java.util.Queue<E> {
+    method public void addFirst(E);
+    method public void addLast(E);
+    method @NonNull public java.util.Iterator<E> descendingIterator();
+    method public E getFirst();
+    method public E getLast();
+    method public boolean offerFirst(E);
+    method public boolean offerLast(E);
+    method @Nullable public E peekFirst();
+    method @Nullable public E peekLast();
+    method @Nullable public E pollFirst();
+    method @Nullable public E pollLast();
+    method public E pop();
+    method public void push(E);
+    method public E removeFirst();
+    method public boolean removeFirstOccurrence(@Nullable Object);
+    method public E removeLast();
+    method public boolean removeLastOccurrence(@Nullable Object);
+  }
+
+  public abstract class Dictionary<K, V> {
+    ctor public Dictionary();
+    method public abstract java.util.Enumeration<V> elements();
+    method public abstract V get(Object);
+    method public abstract boolean isEmpty();
+    method public abstract java.util.Enumeration<K> keys();
+    method public abstract V put(K, V);
+    method public abstract V remove(Object);
+    method public abstract int size();
+  }
+
+  public class DoubleSummaryStatistics implements java.util.function.DoubleConsumer {
+    ctor public DoubleSummaryStatistics();
+    method public void accept(double);
+    method public void combine(java.util.DoubleSummaryStatistics);
+    method public final double getAverage();
+    method public final long getCount();
+    method public final double getMax();
+    method public final double getMin();
+    method public final double getSum();
+  }
+
+  public class DuplicateFormatFlagsException extends java.util.IllegalFormatException {
+    ctor public DuplicateFormatFlagsException(String);
+    method public String getFlags();
+  }
+
+  public class EmptyStackException extends java.lang.RuntimeException {
+    ctor public EmptyStackException();
+  }
+
+  public class EnumMap<K extends java.lang.Enum<K>, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.io.Serializable {
+    ctor public EnumMap(Class<K>);
+    ctor public EnumMap(java.util.EnumMap<K,? extends V>);
+    ctor public EnumMap(java.util.Map<K,? extends V>);
+    method public java.util.EnumMap<K,V> clone();
+    method public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+  }
+
+  public abstract class EnumSet<E extends java.lang.Enum<E>> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.io.Serializable {
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> allOf(Class<E>);
+    method public java.util.EnumSet<E> clone();
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> complementOf(java.util.EnumSet<E>);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.EnumSet<E>);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.Collection<E>);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> noneOf(Class<E>);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E, E);
+    method @java.lang.SafeVarargs public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E...);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> range(E, E);
+  }
+
+  public interface Enumeration<E> {
+    method public boolean hasMoreElements();
+    method public E nextElement();
+  }
+
+  public interface EventListener {
+  }
+
+  public abstract class EventListenerProxy<T extends java.util.EventListener> implements java.util.EventListener {
+    ctor public EventListenerProxy(T);
+    method public T getListener();
+  }
+
+  public class EventObject implements java.io.Serializable {
+    ctor public EventObject(Object);
+    method public Object getSource();
+    field protected transient Object source;
+  }
+
+  public class FormatFlagsConversionMismatchException extends java.util.IllegalFormatException {
+    ctor public FormatFlagsConversionMismatchException(String, char);
+    method public char getConversion();
+    method public String getFlags();
+  }
+
+  public interface Formattable {
+    method public void formatTo(java.util.Formatter, int, int, int);
+  }
+
+  public class FormattableFlags {
+    field public static final int ALTERNATE = 4; // 0x4
+    field public static final int LEFT_JUSTIFY = 1; // 0x1
+    field public static final int UPPERCASE = 2; // 0x2
+  }
+
+  public final class Formatter implements java.io.Closeable java.io.Flushable {
+    ctor public Formatter();
+    ctor public Formatter(Appendable);
+    ctor public Formatter(java.util.Locale);
+    ctor public Formatter(Appendable, java.util.Locale);
+    ctor public Formatter(String) throws java.io.FileNotFoundException;
+    ctor public Formatter(String, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public Formatter(String, String, java.util.Locale) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public Formatter(java.io.File) throws java.io.FileNotFoundException;
+    ctor public Formatter(java.io.File, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public Formatter(java.io.File, String, java.util.Locale) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public Formatter(java.io.PrintStream);
+    ctor public Formatter(java.io.OutputStream);
+    ctor public Formatter(java.io.OutputStream, String) throws java.io.UnsupportedEncodingException;
+    ctor public Formatter(java.io.OutputStream, String, java.util.Locale) throws java.io.UnsupportedEncodingException;
+    method public void close();
+    method public void flush();
+    method public java.util.Formatter format(String, java.lang.Object...);
+    method public java.util.Formatter format(java.util.Locale, String, java.lang.Object...);
+    method public java.io.IOException ioException();
+    method public java.util.Locale locale();
+    method public Appendable out();
+  }
+
+  public enum Formatter.BigDecimalLayoutForm {
+    enum_constant public static final java.util.Formatter.BigDecimalLayoutForm DECIMAL_FLOAT;
+    enum_constant public static final java.util.Formatter.BigDecimalLayoutForm SCIENTIFIC;
+  }
+
+  public class FormatterClosedException extends java.lang.IllegalStateException {
+    ctor public FormatterClosedException();
+  }
+
+  public class GregorianCalendar extends java.util.Calendar {
+    ctor public GregorianCalendar();
+    ctor public GregorianCalendar(java.util.TimeZone);
+    ctor public GregorianCalendar(java.util.Locale);
+    ctor public GregorianCalendar(java.util.TimeZone, java.util.Locale);
+    ctor public GregorianCalendar(int, int, int);
+    ctor public GregorianCalendar(int, int, int, int, int);
+    ctor public GregorianCalendar(int, int, int, int, int, int);
+    method public void add(int, int);
+    method protected void computeFields();
+    method protected void computeTime();
+    method public static java.util.GregorianCalendar from(java.time.ZonedDateTime);
+    method public int getGreatestMinimum(int);
+    method public final java.util.Date getGregorianChange();
+    method public int getLeastMaximum(int);
+    method public int getMaximum(int);
+    method public int getMinimum(int);
+    method public boolean isLeapYear(int);
+    method public final boolean isWeekDateSupported();
+    method public void roll(int, boolean);
+    method public void setGregorianChange(java.util.Date);
+    method public java.time.ZonedDateTime toZonedDateTime();
+    field public static final int AD = 1; // 0x1
+    field public static final int BC = 0; // 0x0
+  }
+
+  public class HashMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.Map<K,V> java.io.Serializable {
+    ctor public HashMap(int, float);
+    ctor public HashMap(int);
+    ctor public HashMap();
+    ctor public HashMap(@NonNull java.util.Map<? extends K,? extends V>);
+    method @NonNull public Object clone();
+    method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+  }
+
+  public class HashSet<E> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.io.Serializable java.util.Set<E> {
+    ctor public HashSet();
+    ctor public HashSet(@NonNull java.util.Collection<? extends E>);
+    ctor public HashSet(int, float);
+    ctor public HashSet(int);
+    method @NonNull public Object clone();
+    method @NonNull public java.util.Iterator<E> iterator();
+    method public int size();
+  }
+
+  public class Hashtable<K, V> extends java.util.Dictionary<K,V> implements java.lang.Cloneable java.util.Map<K,V> java.io.Serializable {
+    ctor public Hashtable(int, float);
+    ctor public Hashtable(int);
+    ctor public Hashtable();
+    ctor public Hashtable(java.util.Map<? extends K,? extends V>);
+    method public void clear();
+    method public Object clone();
+    method public boolean contains(Object);
+    method public boolean containsKey(Object);
+    method public boolean containsValue(Object);
+    method public java.util.Enumeration<V> elements();
+    method public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method public V get(Object);
+    method public boolean isEmpty();
+    method public java.util.Set<K> keySet();
+    method public java.util.Enumeration<K> keys();
+    method public V put(K, V);
+    method public void putAll(java.util.Map<? extends K,? extends V>);
+    method protected void rehash();
+    method public V remove(Object);
+    method public int size();
+    method public java.util.Collection<V> values();
+  }
+
+  public class IdentityHashMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.Map<K,V> java.io.Serializable {
+    ctor public IdentityHashMap();
+    ctor public IdentityHashMap(int);
+    ctor public IdentityHashMap(java.util.Map<? extends K,? extends V>);
+    method public Object clone();
+    method public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+  }
+
+  public class IllegalFormatCodePointException extends java.util.IllegalFormatException {
+    ctor public IllegalFormatCodePointException(int);
+    method public int getCodePoint();
+  }
+
+  public class IllegalFormatConversionException extends java.util.IllegalFormatException {
+    ctor public IllegalFormatConversionException(char, Class<?>);
+    method public Class<?> getArgumentClass();
+    method public char getConversion();
+  }
+
+  public class IllegalFormatException extends java.lang.IllegalArgumentException {
+  }
+
+  public class IllegalFormatFlagsException extends java.util.IllegalFormatException {
+    ctor public IllegalFormatFlagsException(String);
+    method public String getFlags();
+  }
+
+  public class IllegalFormatPrecisionException extends java.util.IllegalFormatException {
+    ctor public IllegalFormatPrecisionException(int);
+    method public int getPrecision();
+  }
+
+  public class IllegalFormatWidthException extends java.util.IllegalFormatException {
+    ctor public IllegalFormatWidthException(int);
+    method public int getWidth();
+  }
+
+  public class IllformedLocaleException extends java.lang.RuntimeException {
+    ctor public IllformedLocaleException();
+    ctor public IllformedLocaleException(String);
+    ctor public IllformedLocaleException(String, int);
+    method public int getErrorIndex();
+  }
+
+  public class InputMismatchException extends java.util.NoSuchElementException {
+    ctor public InputMismatchException();
+    ctor public InputMismatchException(String);
+  }
+
+  public class IntSummaryStatistics implements java.util.function.IntConsumer {
+    ctor public IntSummaryStatistics();
+    method public void accept(int);
+    method public void combine(java.util.IntSummaryStatistics);
+    method public final double getAverage();
+    method public final long getCount();
+    method public final int getMax();
+    method public final int getMin();
+    method public final long getSum();
+  }
+
+  public class InvalidPropertiesFormatException extends java.io.IOException {
+    ctor public InvalidPropertiesFormatException(Throwable);
+    ctor public InvalidPropertiesFormatException(String);
+  }
+
+  public interface Iterator<E> {
+    method public default void forEachRemaining(@NonNull java.util.function.Consumer<? super E>);
+    method public boolean hasNext();
+    method public E next();
+    method public default void remove();
+  }
+
+  public class LinkedHashMap<K, V> extends java.util.HashMap<K,V> implements java.util.Map<K,V> {
+    ctor public LinkedHashMap(int, float);
+    ctor public LinkedHashMap(int);
+    ctor public LinkedHashMap();
+    ctor public LinkedHashMap(java.util.Map<? extends K,? extends V>);
+    ctor public LinkedHashMap(int, float, boolean);
+    method protected boolean removeEldestEntry(java.util.Map.Entry<K,V>);
+  }
+
+  public class LinkedHashSet<E> extends java.util.HashSet<E> implements java.lang.Cloneable java.io.Serializable java.util.Set<E> {
+    ctor public LinkedHashSet(int, float);
+    ctor public LinkedHashSet(int);
+    ctor public LinkedHashSet();
+    ctor public LinkedHashSet(java.util.Collection<? extends E>);
+  }
+
+  public class LinkedList<E> extends java.util.AbstractSequentialList<E> implements java.lang.Cloneable java.util.Deque<E> java.util.List<E> java.io.Serializable {
+    ctor public LinkedList();
+    ctor public LinkedList(@NonNull java.util.Collection<? extends E>);
+    method public void addFirst(E);
+    method public void addLast(E);
+    method @NonNull public Object clone();
+    method @NonNull public java.util.Iterator<E> descendingIterator();
+    method public E element();
+    method public E getFirst();
+    method public E getLast();
+    method public boolean offer(E);
+    method public boolean offerFirst(E);
+    method public boolean offerLast(E);
+    method @Nullable public E peek();
+    method @Nullable public E peekFirst();
+    method @Nullable public E peekLast();
+    method @Nullable public E poll();
+    method @Nullable public E pollFirst();
+    method @Nullable public E pollLast();
+    method public E pop();
+    method public void push(E);
+    method public E remove();
+    method public E removeFirst();
+    method public boolean removeFirstOccurrence(@Nullable Object);
+    method public E removeLast();
+    method public boolean removeLastOccurrence(@Nullable Object);
+    method public int size();
+  }
+
+  public interface List<E> extends java.util.Collection<E> {
+    method public void add(int, E);
+    method public boolean addAll(int, @NonNull java.util.Collection<? extends E>);
+    method @NonNull public static <E> java.util.List<E> copyOf(@NonNull java.util.Collection<? extends E>);
+    method public E get(int);
+    method public int indexOf(@Nullable Object);
+    method public int lastIndexOf(@Nullable Object);
+    method @NonNull public java.util.ListIterator<E> listIterator();
+    method @NonNull public java.util.ListIterator<E> listIterator(int);
+    method @NonNull public static <E> java.util.List<E> of();
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull @java.lang.SafeVarargs public static <E> java.util.List<E> of(@NonNull E...);
+    method public E remove(int);
+    method public default void replaceAll(@NonNull java.util.function.UnaryOperator<E>);
+    method public E set(int, E);
+    method public default void sort(@Nullable java.util.Comparator<? super E>);
+    method @NonNull public java.util.List<E> subList(int, int);
+  }
+
+  public interface ListIterator<E> extends java.util.Iterator<E> {
+    method public void add(E);
+    method public boolean hasPrevious();
+    method public int nextIndex();
+    method public E previous();
+    method public int previousIndex();
+    method public void remove();
+    method public void set(E);
+  }
+
+  public abstract class ListResourceBundle extends java.util.ResourceBundle {
+    ctor public ListResourceBundle();
+    method protected abstract Object[][] getContents();
+    method public java.util.Enumeration<java.lang.String> getKeys();
+    method public final Object handleGetObject(String);
+  }
+
+  public final class Locale implements java.lang.Cloneable java.io.Serializable {
+    ctor public Locale(@NonNull String, @NonNull String, @NonNull String);
+    ctor public Locale(@NonNull String, @NonNull String);
+    ctor public Locale(@NonNull String);
+    method @NonNull public Object clone();
+    method @NonNull public static java.util.List<java.util.Locale> filter(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.util.Locale>, @NonNull java.util.Locale.FilteringMode);
+    method @NonNull public static java.util.List<java.util.Locale> filter(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.util.Locale>);
+    method @NonNull public static java.util.List<java.lang.String> filterTags(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.lang.String>, @NonNull java.util.Locale.FilteringMode);
+    method @NonNull public static java.util.List<java.lang.String> filterTags(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public static java.util.Locale forLanguageTag(@NonNull String);
+    method @NonNull public static java.util.Locale[] getAvailableLocales();
+    method @NonNull public String getCountry();
+    method @NonNull public static java.util.Locale getDefault();
+    method @NonNull public static java.util.Locale getDefault(@NonNull java.util.Locale.Category);
+    method @NonNull public String getDisplayCountry();
+    method @NonNull public String getDisplayCountry(@NonNull java.util.Locale);
+    method @NonNull public String getDisplayLanguage();
+    method @NonNull public String getDisplayLanguage(@NonNull java.util.Locale);
+    method @NonNull public String getDisplayName();
+    method @NonNull public String getDisplayName(@NonNull java.util.Locale);
+    method @NonNull public String getDisplayScript();
+    method @NonNull public String getDisplayScript(@NonNull java.util.Locale);
+    method @NonNull public String getDisplayVariant();
+    method @NonNull public String getDisplayVariant(@NonNull java.util.Locale);
+    method @Nullable public String getExtension(char);
+    method @NonNull public java.util.Set<java.lang.Character> getExtensionKeys();
+    method @NonNull public String getISO3Country() throws java.util.MissingResourceException;
+    method @NonNull public String getISO3Language() throws java.util.MissingResourceException;
+    method @NonNull public static String[] getISOCountries();
+    method @NonNull public static String[] getISOLanguages();
+    method @NonNull public String getLanguage();
+    method @NonNull public String getScript();
+    method @NonNull public java.util.Set<java.lang.String> getUnicodeLocaleAttributes();
+    method @NonNull public java.util.Set<java.lang.String> getUnicodeLocaleKeys();
+    method @Nullable public String getUnicodeLocaleType(@NonNull String);
+    method @NonNull public String getVariant();
+    method public boolean hasExtensions();
+    method @Nullable public static java.util.Locale lookup(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.util.Locale>);
+    method @Nullable public static String lookupTag(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.lang.String>);
+    method public static void setDefault(@NonNull java.util.Locale);
+    method public static void setDefault(@NonNull java.util.Locale.Category, @NonNull java.util.Locale);
+    method @NonNull public java.util.Locale stripExtensions();
+    method @NonNull public String toLanguageTag();
+    field @NonNull public static final java.util.Locale CANADA;
+    field @NonNull public static final java.util.Locale CANADA_FRENCH;
+    field @NonNull public static final java.util.Locale CHINA;
+    field @NonNull public static final java.util.Locale CHINESE;
+    field @NonNull public static final java.util.Locale ENGLISH;
+    field @NonNull public static final java.util.Locale FRANCE;
+    field @NonNull public static final java.util.Locale FRENCH;
+    field @NonNull public static final java.util.Locale GERMAN;
+    field @NonNull public static final java.util.Locale GERMANY;
+    field @NonNull public static final java.util.Locale ITALIAN;
+    field @NonNull public static final java.util.Locale ITALY;
+    field @NonNull public static final java.util.Locale JAPAN;
+    field @NonNull public static final java.util.Locale JAPANESE;
+    field @NonNull public static final java.util.Locale KOREA;
+    field @NonNull public static final java.util.Locale KOREAN;
+    field @NonNull public static final java.util.Locale PRC;
+    field public static final char PRIVATE_USE_EXTENSION = 120; // 0x0078 'x'
+    field @NonNull public static final java.util.Locale ROOT;
+    field @NonNull public static final java.util.Locale SIMPLIFIED_CHINESE;
+    field @NonNull public static final java.util.Locale TAIWAN;
+    field @NonNull public static final java.util.Locale TRADITIONAL_CHINESE;
+    field @NonNull public static final java.util.Locale UK;
+    field public static final char UNICODE_LOCALE_EXTENSION = 117; // 0x0075 'u'
+    field @NonNull public static final java.util.Locale US;
+  }
+
+  public static final class Locale.Builder {
+    ctor public Locale.Builder();
+    method @NonNull public java.util.Locale.Builder addUnicodeLocaleAttribute(@NonNull String);
+    method @NonNull public java.util.Locale build();
+    method @NonNull public java.util.Locale.Builder clear();
+    method @NonNull public java.util.Locale.Builder clearExtensions();
+    method @NonNull public java.util.Locale.Builder removeUnicodeLocaleAttribute(@NonNull String);
+    method @NonNull public java.util.Locale.Builder setExtension(char, @Nullable String);
+    method @NonNull public java.util.Locale.Builder setLanguage(@Nullable String);
+    method @NonNull public java.util.Locale.Builder setLanguageTag(@NonNull String);
+    method @NonNull public java.util.Locale.Builder setLocale(@NonNull java.util.Locale);
+    method @NonNull public java.util.Locale.Builder setRegion(@Nullable String);
+    method @NonNull public java.util.Locale.Builder setScript(@Nullable String);
+    method @NonNull public java.util.Locale.Builder setUnicodeLocaleKeyword(@NonNull String, @Nullable String);
+    method @NonNull public java.util.Locale.Builder setVariant(@Nullable String);
+  }
+
+  public enum Locale.Category {
+    enum_constant public static final java.util.Locale.Category DISPLAY;
+    enum_constant public static final java.util.Locale.Category FORMAT;
+  }
+
+  public enum Locale.FilteringMode {
+    enum_constant public static final java.util.Locale.FilteringMode AUTOSELECT_FILTERING;
+    enum_constant public static final java.util.Locale.FilteringMode EXTENDED_FILTERING;
+    enum_constant public static final java.util.Locale.FilteringMode IGNORE_EXTENDED_RANGES;
+    enum_constant public static final java.util.Locale.FilteringMode MAP_EXTENDED_RANGES;
+    enum_constant public static final java.util.Locale.FilteringMode REJECT_EXTENDED_RANGES;
+  }
+
+  public static final class Locale.LanguageRange {
+    ctor public Locale.LanguageRange(@NonNull String);
+    ctor public Locale.LanguageRange(@NonNull String, double);
+    method @NonNull public String getRange();
+    method public double getWeight();
+    method @NonNull public static java.util.List<java.util.Locale.LanguageRange> mapEquivalents(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
+    method @NonNull public static java.util.List<java.util.Locale.LanguageRange> parse(@NonNull String);
+    method @NonNull public static java.util.List<java.util.Locale.LanguageRange> parse(@NonNull String, @NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
+    field public static final double MAX_WEIGHT = 1.0;
+    field public static final double MIN_WEIGHT = 0.0;
+  }
+
+  public class LongSummaryStatistics implements java.util.function.IntConsumer java.util.function.LongConsumer {
+    ctor public LongSummaryStatistics();
+    method public void accept(int);
+    method public void accept(long);
+    method public void combine(java.util.LongSummaryStatistics);
+    method public final double getAverage();
+    method public final long getCount();
+    method public final long getMax();
+    method public final long getMin();
+    method public final long getSum();
+  }
+
+  public interface Map<K, V> {
+    method public void clear();
+    method @Nullable public default V compute(K, @NonNull java.util.function.BiFunction<? super K,? super V,? extends V>);
+    method @Nullable public default V computeIfAbsent(K, @NonNull java.util.function.Function<? super K,? extends V>);
+    method @Nullable public default V computeIfPresent(K, @NonNull java.util.function.BiFunction<? super K,? super V,? extends V>);
+    method public boolean containsKey(@Nullable Object);
+    method public boolean containsValue(@Nullable Object);
+    method @NonNull public static <K, V> java.util.Map<K,V> copyOf(@NonNull java.util.Map<? extends K,? extends V>);
+    method @NonNull public static <K, V> java.util.Map.Entry<K,V> entry(@NonNull K, @NonNull V);
+    method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method public boolean equals(@Nullable Object);
+    method public default void forEach(@NonNull java.util.function.BiConsumer<? super K,? super V>);
+    method @Nullable public V get(@Nullable Object);
+    method @Nullable public default V getOrDefault(@Nullable Object, @Nullable V);
+    method public int hashCode();
+    method public boolean isEmpty();
+    method @NonNull public java.util.Set<K> keySet();
+    method @Nullable public default V merge(K, @NonNull V, @NonNull java.util.function.BiFunction<? super V,? super V,? extends V>);
+    method @NonNull public static <K, V> java.util.Map<K,V> of();
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull @java.lang.SafeVarargs public static <K, V> java.util.Map<K,V> ofEntries(@NonNull java.util.Map.Entry<? extends K,? extends V>...);
+    method @Nullable public V put(K, V);
+    method public void putAll(@NonNull java.util.Map<? extends K,? extends V>);
+    method @Nullable public default V putIfAbsent(K, V);
+    method @Nullable public V remove(@Nullable Object);
+    method public default boolean remove(@Nullable Object, @Nullable Object);
+    method public default boolean replace(K, @Nullable V, V);
+    method @Nullable public default V replace(K, V);
+    method public default void replaceAll(@NonNull java.util.function.BiFunction<? super K,? super V,? extends V>);
+    method public int size();
+    method @NonNull public java.util.Collection<V> values();
+  }
+
+  public static interface Map.Entry<K, V> {
+    method @NonNull public static <K extends java.lang.Comparable<? super K>, V> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByKey();
+    method @NonNull public static <K, V> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByKey(@NonNull java.util.Comparator<? super K>);
+    method @NonNull public static <K, V extends java.lang.Comparable<? super V>> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByValue();
+    method @NonNull public static <K, V> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByValue(@NonNull java.util.Comparator<? super V>);
+    method public boolean equals(@Nullable Object);
+    method public K getKey();
+    method public V getValue();
+    method public int hashCode();
+    method public V setValue(V);
+  }
+
+  public class MissingFormatArgumentException extends java.util.IllegalFormatException {
+    ctor public MissingFormatArgumentException(String);
+    method public String getFormatSpecifier();
+  }
+
+  public class MissingFormatWidthException extends java.util.IllegalFormatException {
+    ctor public MissingFormatWidthException(String);
+    method public String getFormatSpecifier();
+  }
+
+  public class MissingResourceException extends java.lang.RuntimeException {
+    ctor public MissingResourceException(String, String, String);
+    method public String getClassName();
+    method public String getKey();
+  }
+
+  public interface NavigableMap<K, V> extends java.util.SortedMap<K,V> {
+    method @Nullable public java.util.Map.Entry<K,V> ceilingEntry(K);
+    method @Nullable public K ceilingKey(K);
+    method @NonNull public java.util.NavigableSet<K> descendingKeySet();
+    method @NonNull public java.util.NavigableMap<K,V> descendingMap();
+    method @Nullable public java.util.Map.Entry<K,V> firstEntry();
+    method @Nullable public java.util.Map.Entry<K,V> floorEntry(K);
+    method @Nullable public K floorKey(K);
+    method @NonNull public java.util.NavigableMap<K,V> headMap(K, boolean);
+    method @Nullable public java.util.Map.Entry<K,V> higherEntry(K);
+    method @Nullable public K higherKey(K);
+    method @Nullable public java.util.Map.Entry<K,V> lastEntry();
+    method @Nullable public java.util.Map.Entry<K,V> lowerEntry(K);
+    method @Nullable public K lowerKey(K);
+    method @NonNull public java.util.NavigableSet<K> navigableKeySet();
+    method @Nullable public java.util.Map.Entry<K,V> pollFirstEntry();
+    method @Nullable public java.util.Map.Entry<K,V> pollLastEntry();
+    method @NonNull public java.util.NavigableMap<K,V> subMap(K, boolean, K, boolean);
+    method @NonNull public java.util.NavigableMap<K,V> tailMap(K, boolean);
+  }
+
+  public interface NavigableSet<E> extends java.util.SortedSet<E> {
+    method public E ceiling(E);
+    method public java.util.Iterator<E> descendingIterator();
+    method public java.util.NavigableSet<E> descendingSet();
+    method public E floor(E);
+    method public java.util.NavigableSet<E> headSet(E, boolean);
+    method public E higher(E);
+    method public E lower(E);
+    method public E pollFirst();
+    method public E pollLast();
+    method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean);
+    method public java.util.NavigableSet<E> tailSet(E, boolean);
+  }
+
+  public class NoSuchElementException extends java.lang.RuntimeException {
+    ctor public NoSuchElementException();
+    ctor public NoSuchElementException(String);
+  }
+
+  public final class Objects {
+    method public static int checkFromIndexSize(int, int, int);
+    method public static int checkFromToIndex(int, int, int);
+    method public static int checkIndex(int, int);
+    method public static <T> int compare(T, T, @NonNull java.util.Comparator<? super T>);
+    method public static boolean deepEquals(@Nullable Object, @Nullable Object);
+    method public static boolean equals(@Nullable Object, @Nullable Object);
+    method public static int hash(@Nullable java.lang.Object...);
+    method public static int hashCode(@Nullable Object);
+    method public static boolean isNull(@Nullable Object);
+    method public static boolean nonNull(@Nullable Object);
+    method @NonNull public static <T> T requireNonNull(@Nullable T);
+    method @NonNull public static <T> T requireNonNull(@Nullable T, @NonNull String);
+    method @NonNull public static <T> T requireNonNull(@Nullable T, @NonNull java.util.function.Supplier<java.lang.String>);
+    method @NonNull public static <T> T requireNonNullElse(@Nullable T, @NonNull T);
+    method @NonNull public static <T> T requireNonNullElseGet(@Nullable T, @NonNull java.util.function.Supplier<? extends T>);
+    method @NonNull public static String toString(@Nullable Object);
+    method @NonNull public static String toString(@Nullable Object, @NonNull String);
+  }
+
+  public class Observable {
+    ctor public Observable();
+    method public void addObserver(java.util.Observer);
+    method protected void clearChanged();
+    method public int countObservers();
+    method public void deleteObserver(java.util.Observer);
+    method public void deleteObservers();
+    method public boolean hasChanged();
+    method public void notifyObservers();
+    method public void notifyObservers(Object);
+    method protected void setChanged();
+  }
+
+  public interface Observer {
+    method public void update(java.util.Observable, Object);
+  }
+
+  public final class Optional<T> {
+    method public static <T> java.util.Optional<T> empty();
+    method public java.util.Optional<T> filter(java.util.function.Predicate<? super T>);
+    method public <U> java.util.Optional<U> flatMap(java.util.function.Function<? super T,java.util.Optional<U>>);
+    method public T get();
+    method public void ifPresent(java.util.function.Consumer<? super T>);
+    method public boolean isPresent();
+    method public <U> java.util.Optional<U> map(java.util.function.Function<? super T,? extends U>);
+    method public static <T> java.util.Optional<T> of(T);
+    method public static <T> java.util.Optional<T> ofNullable(T);
+    method public T orElse(T);
+    method public T orElseGet(java.util.function.Supplier<? extends T>);
+    method public <X extends java.lang.Throwable> T orElseThrow(java.util.function.Supplier<? extends X>) throws X;
+  }
+
+  public final class OptionalDouble {
+    method public static java.util.OptionalDouble empty();
+    method public double getAsDouble();
+    method public void ifPresent(java.util.function.DoubleConsumer);
+    method public boolean isPresent();
+    method public static java.util.OptionalDouble of(double);
+    method public double orElse(double);
+    method public double orElseGet(java.util.function.DoubleSupplier);
+    method public <X extends java.lang.Throwable> double orElseThrow(java.util.function.Supplier<X>) throws X;
+  }
+
+  public final class OptionalInt {
+    method public static java.util.OptionalInt empty();
+    method public int getAsInt();
+    method public void ifPresent(java.util.function.IntConsumer);
+    method public boolean isPresent();
+    method public static java.util.OptionalInt of(int);
+    method public int orElse(int);
+    method public int orElseGet(java.util.function.IntSupplier);
+    method public <X extends java.lang.Throwable> int orElseThrow(java.util.function.Supplier<X>) throws X;
+  }
+
+  public final class OptionalLong {
+    method public static java.util.OptionalLong empty();
+    method public long getAsLong();
+    method public void ifPresent(java.util.function.LongConsumer);
+    method public boolean isPresent();
+    method public static java.util.OptionalLong of(long);
+    method public long orElse(long);
+    method public long orElseGet(java.util.function.LongSupplier);
+    method public <X extends java.lang.Throwable> long orElseThrow(java.util.function.Supplier<X>) throws X;
+  }
+
+  public interface PrimitiveIterator<T, T_CONS> extends java.util.Iterator<T> {
+    method public void forEachRemaining(T_CONS);
+  }
+
+  public static interface PrimitiveIterator.OfDouble extends java.util.PrimitiveIterator<java.lang.Double,java.util.function.DoubleConsumer> {
+    method public default void forEachRemaining(java.util.function.DoubleConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Double>);
+    method public default Double next();
+    method public double nextDouble();
+  }
+
+  public static interface PrimitiveIterator.OfInt extends java.util.PrimitiveIterator<java.lang.Integer,java.util.function.IntConsumer> {
+    method public default void forEachRemaining(java.util.function.IntConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Integer>);
+    method public default Integer next();
+    method public int nextInt();
+  }
+
+  public static interface PrimitiveIterator.OfLong extends java.util.PrimitiveIterator<java.lang.Long,java.util.function.LongConsumer> {
+    method public default void forEachRemaining(java.util.function.LongConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Long>);
+    method public default Long next();
+    method public long nextLong();
+  }
+
+  public class PriorityQueue<E> extends java.util.AbstractQueue<E> implements java.io.Serializable {
+    ctor public PriorityQueue();
+    ctor public PriorityQueue(int);
+    ctor public PriorityQueue(java.util.Comparator<? super E>);
+    ctor public PriorityQueue(int, java.util.Comparator<? super E>);
+    ctor public PriorityQueue(java.util.Collection<? extends E>);
+    ctor public PriorityQueue(java.util.PriorityQueue<? extends E>);
+    ctor public PriorityQueue(java.util.SortedSet<? extends E>);
+    method public java.util.Comparator<? super E> comparator();
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public E peek();
+    method public E poll();
+    method public int size();
+    method public final java.util.Spliterator<E> spliterator();
+  }
+
+  public class Properties extends java.util.Hashtable<java.lang.Object,java.lang.Object> {
+    ctor public Properties();
+    ctor public Properties(java.util.Properties);
+    method public String getProperty(String);
+    method public String getProperty(String, String);
+    method public void list(java.io.PrintStream);
+    method public void list(java.io.PrintWriter);
+    method public void load(java.io.Reader) throws java.io.IOException;
+    method public void load(java.io.InputStream) throws java.io.IOException;
+    method public void loadFromXML(java.io.InputStream) throws java.io.IOException, java.util.InvalidPropertiesFormatException;
+    method public java.util.Enumeration<?> propertyNames();
+    method @Deprecated public void save(java.io.OutputStream, String);
+    method public Object setProperty(String, String);
+    method public void store(java.io.Writer, String) throws java.io.IOException;
+    method public void store(java.io.OutputStream, String) throws java.io.IOException;
+    method public void storeToXML(java.io.OutputStream, String) throws java.io.IOException;
+    method public void storeToXML(java.io.OutputStream, String, String) throws java.io.IOException;
+    method public java.util.Set<java.lang.String> stringPropertyNames();
+    field protected java.util.Properties defaults;
+  }
+
+  public final class PropertyPermission extends java.security.BasicPermission {
+    ctor public PropertyPermission(String, String);
+  }
+
+  public class PropertyResourceBundle extends java.util.ResourceBundle {
+    ctor public PropertyResourceBundle(java.io.InputStream) throws java.io.IOException;
+    ctor public PropertyResourceBundle(java.io.Reader) throws java.io.IOException;
+    method public java.util.Enumeration<java.lang.String> getKeys();
+    method public Object handleGetObject(String);
+  }
+
+  public interface Queue<E> extends java.util.Collection<E> {
+    method public E element();
+    method public boolean offer(E);
+    method @Nullable public E peek();
+    method @Nullable public E poll();
+    method public E remove();
+  }
+
+  public class Random implements java.io.Serializable {
+    ctor public Random();
+    ctor public Random(long);
+    method public java.util.stream.DoubleStream doubles(long);
+    method public java.util.stream.DoubleStream doubles();
+    method public java.util.stream.DoubleStream doubles(long, double, double);
+    method public java.util.stream.DoubleStream doubles(double, double);
+    method public java.util.stream.IntStream ints(long);
+    method public java.util.stream.IntStream ints();
+    method public java.util.stream.IntStream ints(long, int, int);
+    method public java.util.stream.IntStream ints(int, int);
+    method public java.util.stream.LongStream longs(long);
+    method public java.util.stream.LongStream longs();
+    method public java.util.stream.LongStream longs(long, long, long);
+    method public java.util.stream.LongStream longs(long, long);
+    method protected int next(int);
+    method public boolean nextBoolean();
+    method public void nextBytes(byte[]);
+    method public double nextDouble();
+    method public float nextFloat();
+    method public double nextGaussian();
+    method public int nextInt();
+    method public int nextInt(int);
+    method public long nextLong();
+    method public void setSeed(long);
+  }
+
+  public interface RandomAccess {
+  }
+
+  public abstract class ResourceBundle {
+    ctor public ResourceBundle();
+    method public static final void clearCache();
+    method public static final void clearCache(ClassLoader);
+    method public boolean containsKey(String);
+    method public String getBaseBundleName();
+    method public static final java.util.ResourceBundle getBundle(String);
+    method public static final java.util.ResourceBundle getBundle(String, java.util.ResourceBundle.Control);
+    method public static final java.util.ResourceBundle getBundle(String, java.util.Locale);
+    method public static final java.util.ResourceBundle getBundle(String, java.util.Locale, java.util.ResourceBundle.Control);
+    method public static java.util.ResourceBundle getBundle(String, java.util.Locale, ClassLoader);
+    method public static java.util.ResourceBundle getBundle(String, java.util.Locale, ClassLoader, java.util.ResourceBundle.Control);
+    method public abstract java.util.Enumeration<java.lang.String> getKeys();
+    method public java.util.Locale getLocale();
+    method public final Object getObject(String);
+    method public final String getString(String);
+    method public final String[] getStringArray(String);
+    method protected abstract Object handleGetObject(String);
+    method protected java.util.Set<java.lang.String> handleKeySet();
+    method public java.util.Set<java.lang.String> keySet();
+    method protected void setParent(java.util.ResourceBundle);
+    field protected java.util.ResourceBundle parent;
+  }
+
+  public static class ResourceBundle.Control {
+    ctor protected ResourceBundle.Control();
+    method public java.util.List<java.util.Locale> getCandidateLocales(String, java.util.Locale);
+    method public static final java.util.ResourceBundle.Control getControl(java.util.List<java.lang.String>);
+    method public java.util.Locale getFallbackLocale(String, java.util.Locale);
+    method public java.util.List<java.lang.String> getFormats(String);
+    method public static final java.util.ResourceBundle.Control getNoFallbackControl(java.util.List<java.lang.String>);
+    method public long getTimeToLive(String, java.util.Locale);
+    method public boolean needsReload(String, java.util.Locale, String, ClassLoader, java.util.ResourceBundle, long);
+    method public java.util.ResourceBundle newBundle(String, java.util.Locale, String, ClassLoader, boolean) throws java.io.IOException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method public String toBundleName(String, java.util.Locale);
+    method public final String toResourceName(String, String);
+    field public static final java.util.List<java.lang.String> FORMAT_CLASS;
+    field public static final java.util.List<java.lang.String> FORMAT_DEFAULT;
+    field public static final java.util.List<java.lang.String> FORMAT_PROPERTIES;
+    field public static final long TTL_DONT_CACHE = -1L; // 0xffffffffffffffffL
+    field public static final long TTL_NO_EXPIRATION_CONTROL = -2L; // 0xfffffffffffffffeL
+  }
+
+  public final class Scanner implements java.io.Closeable java.util.Iterator<java.lang.String> {
+    ctor public Scanner(Readable);
+    ctor public Scanner(java.io.InputStream);
+    ctor public Scanner(java.io.InputStream, String);
+    ctor public Scanner(java.io.File) throws java.io.FileNotFoundException;
+    ctor public Scanner(java.io.File, String) throws java.io.FileNotFoundException;
+    ctor public Scanner(java.nio.file.Path) throws java.io.IOException;
+    ctor public Scanner(java.nio.file.Path, String) throws java.io.IOException;
+    ctor public Scanner(String);
+    ctor public Scanner(java.nio.channels.ReadableByteChannel);
+    ctor public Scanner(java.nio.channels.ReadableByteChannel, String);
+    method public void close();
+    method public java.util.regex.Pattern delimiter();
+    method public String findInLine(String);
+    method public String findInLine(java.util.regex.Pattern);
+    method public String findWithinHorizon(String, int);
+    method public String findWithinHorizon(java.util.regex.Pattern, int);
+    method public boolean hasNext();
+    method public boolean hasNext(String);
+    method public boolean hasNext(java.util.regex.Pattern);
+    method public boolean hasNextBigDecimal();
+    method public boolean hasNextBigInteger();
+    method public boolean hasNextBigInteger(int);
+    method public boolean hasNextBoolean();
+    method public boolean hasNextByte();
+    method public boolean hasNextByte(int);
+    method public boolean hasNextDouble();
+    method public boolean hasNextFloat();
+    method public boolean hasNextInt();
+    method public boolean hasNextInt(int);
+    method public boolean hasNextLine();
+    method public boolean hasNextLong();
+    method public boolean hasNextLong(int);
+    method public boolean hasNextShort();
+    method public boolean hasNextShort(int);
+    method public java.io.IOException ioException();
+    method public java.util.Locale locale();
+    method public java.util.regex.MatchResult match();
+    method public String next();
+    method public String next(String);
+    method public String next(java.util.regex.Pattern);
+    method public java.math.BigDecimal nextBigDecimal();
+    method public java.math.BigInteger nextBigInteger();
+    method public java.math.BigInteger nextBigInteger(int);
+    method public boolean nextBoolean();
+    method public byte nextByte();
+    method public byte nextByte(int);
+    method public double nextDouble();
+    method public float nextFloat();
+    method public int nextInt();
+    method public int nextInt(int);
+    method public String nextLine();
+    method public long nextLong();
+    method public long nextLong(int);
+    method public short nextShort();
+    method public short nextShort(int);
+    method public int radix();
+    method public java.util.Scanner reset();
+    method public java.util.Scanner skip(java.util.regex.Pattern);
+    method public java.util.Scanner skip(String);
+    method public java.util.Scanner useDelimiter(java.util.regex.Pattern);
+    method public java.util.Scanner useDelimiter(String);
+    method public java.util.Scanner useLocale(java.util.Locale);
+    method public java.util.Scanner useRadix(int);
+  }
+
+  public class ServiceConfigurationError extends java.lang.Error {
+    ctor public ServiceConfigurationError(String);
+    ctor public ServiceConfigurationError(String, Throwable);
+  }
+
+  public final class ServiceLoader<S> implements java.lang.Iterable<S> {
+    method public java.util.Iterator<S> iterator();
+    method public static <S> java.util.ServiceLoader<S> load(Class<S>, ClassLoader);
+    method public static <S> java.util.ServiceLoader<S> load(Class<S>);
+    method public static <S> java.util.ServiceLoader<S> loadInstalled(Class<S>);
+    method public void reload();
+  }
+
+  public interface Set<E> extends java.util.Collection<E> {
+    method @NonNull public static <E> java.util.Set<E> copyOf(@NonNull java.util.Collection<? extends E>);
+    method @NonNull public static <E> java.util.Set<E> of();
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull @java.lang.SafeVarargs public static <E> java.util.Set<E> of(@NonNull E...);
+  }
+
+  public class SimpleTimeZone extends java.util.TimeZone {
+    ctor public SimpleTimeZone(int, String);
+    ctor public SimpleTimeZone(int, String, int, int, int, int, int, int, int, int);
+    ctor public SimpleTimeZone(int, String, int, int, int, int, int, int, int, int, int);
+    ctor public SimpleTimeZone(int, String, int, int, int, int, int, int, int, int, int, int, int);
+    method public int getOffset(int, int, int, int, int, int);
+    method public int getRawOffset();
+    method public boolean inDaylightTime(java.util.Date);
+    method public void setDSTSavings(int);
+    method public void setEndRule(int, int, int, int);
+    method public void setEndRule(int, int, int);
+    method public void setEndRule(int, int, int, int, boolean);
+    method public void setRawOffset(int);
+    method public void setStartRule(int, int, int, int);
+    method public void setStartRule(int, int, int);
+    method public void setStartRule(int, int, int, int, boolean);
+    method public void setStartYear(int);
+    method public boolean useDaylightTime();
+    field public static final int STANDARD_TIME = 1; // 0x1
+    field public static final int UTC_TIME = 2; // 0x2
+    field public static final int WALL_TIME = 0; // 0x0
+  }
+
+  public interface SortedMap<K, V> extends java.util.Map<K,V> {
+    method @Nullable public java.util.Comparator<? super K> comparator();
+    method public K firstKey();
+    method @NonNull public java.util.SortedMap<K,V> headMap(K);
+    method public K lastKey();
+    method @NonNull public java.util.SortedMap<K,V> subMap(K, K);
+    method @NonNull public java.util.SortedMap<K,V> tailMap(K);
+  }
+
+  public interface SortedSet<E> extends java.util.Set<E> {
+    method public java.util.Comparator<? super E> comparator();
+    method public E first();
+    method public java.util.SortedSet<E> headSet(E);
+    method public E last();
+    method public java.util.SortedSet<E> subSet(E, E);
+    method public java.util.SortedSet<E> tailSet(E);
+  }
+
+  public interface Spliterator<T> {
+    method public int characteristics();
+    method public long estimateSize();
+    method public default void forEachRemaining(java.util.function.Consumer<? super T>);
+    method public default java.util.Comparator<? super T> getComparator();
+    method public default long getExactSizeIfKnown();
+    method public default boolean hasCharacteristics(int);
+    method public boolean tryAdvance(java.util.function.Consumer<? super T>);
+    method public java.util.Spliterator<T> trySplit();
+    field public static final int CONCURRENT = 4096; // 0x1000
+    field public static final int DISTINCT = 1; // 0x1
+    field public static final int IMMUTABLE = 1024; // 0x400
+    field public static final int NONNULL = 256; // 0x100
+    field public static final int ORDERED = 16; // 0x10
+    field public static final int SIZED = 64; // 0x40
+    field public static final int SORTED = 4; // 0x4
+    field public static final int SUBSIZED = 16384; // 0x4000
+  }
+
+  public static interface Spliterator.OfDouble extends java.util.Spliterator.OfPrimitive<java.lang.Double,java.util.function.DoubleConsumer,java.util.Spliterator.OfDouble> {
+    method public default void forEachRemaining(java.util.function.DoubleConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Double>);
+    method public boolean tryAdvance(java.util.function.DoubleConsumer);
+    method public default boolean tryAdvance(java.util.function.Consumer<? super java.lang.Double>);
+    method public java.util.Spliterator.OfDouble trySplit();
+  }
+
+  public static interface Spliterator.OfInt extends java.util.Spliterator.OfPrimitive<java.lang.Integer,java.util.function.IntConsumer,java.util.Spliterator.OfInt> {
+    method public default void forEachRemaining(java.util.function.IntConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Integer>);
+    method public boolean tryAdvance(java.util.function.IntConsumer);
+    method public default boolean tryAdvance(java.util.function.Consumer<? super java.lang.Integer>);
+    method public java.util.Spliterator.OfInt trySplit();
+  }
+
+  public static interface Spliterator.OfLong extends java.util.Spliterator.OfPrimitive<java.lang.Long,java.util.function.LongConsumer,java.util.Spliterator.OfLong> {
+    method public default void forEachRemaining(java.util.function.LongConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Long>);
+    method public boolean tryAdvance(java.util.function.LongConsumer);
+    method public default boolean tryAdvance(java.util.function.Consumer<? super java.lang.Long>);
+    method public java.util.Spliterator.OfLong trySplit();
+  }
+
+  public static interface Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends java.util.Spliterator.OfPrimitive<T, T_CONS, T_SPLITR>> extends java.util.Spliterator<T> {
+    method public default void forEachRemaining(T_CONS);
+    method public boolean tryAdvance(T_CONS);
+    method public T_SPLITR trySplit();
+  }
+
+  public final class Spliterators {
+    method public static java.util.Spliterator.OfDouble emptyDoubleSpliterator();
+    method public static java.util.Spliterator.OfInt emptyIntSpliterator();
+    method public static java.util.Spliterator.OfLong emptyLongSpliterator();
+    method public static <T> java.util.Spliterator<T> emptySpliterator();
+    method public static <T> java.util.Iterator<T> iterator(java.util.Spliterator<? extends T>);
+    method public static java.util.PrimitiveIterator.OfInt iterator(java.util.Spliterator.OfInt);
+    method public static java.util.PrimitiveIterator.OfLong iterator(java.util.Spliterator.OfLong);
+    method public static java.util.PrimitiveIterator.OfDouble iterator(java.util.Spliterator.OfDouble);
+    method public static <T> java.util.Spliterator<T> spliterator(Object[], int);
+    method public static <T> java.util.Spliterator<T> spliterator(Object[], int, int, int);
+    method public static java.util.Spliterator.OfInt spliterator(int[], int);
+    method public static java.util.Spliterator.OfInt spliterator(int[], int, int, int);
+    method public static java.util.Spliterator.OfLong spliterator(long[], int);
+    method public static java.util.Spliterator.OfLong spliterator(long[], int, int, int);
+    method public static java.util.Spliterator.OfDouble spliterator(double[], int);
+    method public static java.util.Spliterator.OfDouble spliterator(double[], int, int, int);
+    method public static <T> java.util.Spliterator<T> spliterator(java.util.Collection<? extends T>, int);
+    method public static <T> java.util.Spliterator<T> spliterator(java.util.Iterator<? extends T>, long, int);
+    method public static java.util.Spliterator.OfInt spliterator(java.util.PrimitiveIterator.OfInt, long, int);
+    method public static java.util.Spliterator.OfLong spliterator(java.util.PrimitiveIterator.OfLong, long, int);
+    method public static java.util.Spliterator.OfDouble spliterator(java.util.PrimitiveIterator.OfDouble, long, int);
+    method public static <T> java.util.Spliterator<T> spliteratorUnknownSize(java.util.Iterator<? extends T>, int);
+    method public static java.util.Spliterator.OfInt spliteratorUnknownSize(java.util.PrimitiveIterator.OfInt, int);
+    method public static java.util.Spliterator.OfLong spliteratorUnknownSize(java.util.PrimitiveIterator.OfLong, int);
+    method public static java.util.Spliterator.OfDouble spliteratorUnknownSize(java.util.PrimitiveIterator.OfDouble, int);
+  }
+
+  public abstract static class Spliterators.AbstractDoubleSpliterator implements java.util.Spliterator.OfDouble {
+    ctor protected Spliterators.AbstractDoubleSpliterator(long, int);
+    method public int characteristics();
+    method public long estimateSize();
+    method public java.util.Spliterator.OfDouble trySplit();
+  }
+
+  public abstract static class Spliterators.AbstractIntSpliterator implements java.util.Spliterator.OfInt {
+    ctor protected Spliterators.AbstractIntSpliterator(long, int);
+    method public int characteristics();
+    method public long estimateSize();
+    method public java.util.Spliterator.OfInt trySplit();
+  }
+
+  public abstract static class Spliterators.AbstractLongSpliterator implements java.util.Spliterator.OfLong {
+    ctor protected Spliterators.AbstractLongSpliterator(long, int);
+    method public int characteristics();
+    method public long estimateSize();
+    method public java.util.Spliterator.OfLong trySplit();
+  }
+
+  public abstract static class Spliterators.AbstractSpliterator<T> implements java.util.Spliterator<T> {
+    ctor protected Spliterators.AbstractSpliterator(long, int);
+    method public int characteristics();
+    method public long estimateSize();
+    method public java.util.Spliterator<T> trySplit();
+  }
+
+  public final class SplittableRandom {
+    ctor public SplittableRandom(long);
+    ctor public SplittableRandom();
+    method public java.util.stream.DoubleStream doubles(long);
+    method public java.util.stream.DoubleStream doubles();
+    method public java.util.stream.DoubleStream doubles(long, double, double);
+    method public java.util.stream.DoubleStream doubles(double, double);
+    method public java.util.stream.IntStream ints(long);
+    method public java.util.stream.IntStream ints();
+    method public java.util.stream.IntStream ints(long, int, int);
+    method public java.util.stream.IntStream ints(int, int);
+    method public java.util.stream.LongStream longs(long);
+    method public java.util.stream.LongStream longs();
+    method public java.util.stream.LongStream longs(long, long, long);
+    method public java.util.stream.LongStream longs(long, long);
+    method public boolean nextBoolean();
+    method public double nextDouble();
+    method public double nextDouble(double);
+    method public double nextDouble(double, double);
+    method public int nextInt();
+    method public int nextInt(int);
+    method public int nextInt(int, int);
+    method public long nextLong();
+    method public long nextLong(long);
+    method public long nextLong(long, long);
+    method public java.util.SplittableRandom split();
+  }
+
+  public class Stack<E> extends java.util.Vector<E> {
+    ctor public Stack();
+    method public boolean empty();
+    method public E peek();
+    method public E pop();
+    method public E push(E);
+    method public int search(Object);
+  }
+
+  public final class StringJoiner {
+    ctor public StringJoiner(CharSequence);
+    ctor public StringJoiner(CharSequence, CharSequence, CharSequence);
+    method public java.util.StringJoiner add(CharSequence);
+    method public int length();
+    method public java.util.StringJoiner merge(java.util.StringJoiner);
+    method public java.util.StringJoiner setEmptyValue(CharSequence);
+  }
+
+  public class StringTokenizer implements java.util.Enumeration<java.lang.Object> {
+    ctor public StringTokenizer(String, String, boolean);
+    ctor public StringTokenizer(String, String);
+    ctor public StringTokenizer(String);
+    method public int countTokens();
+    method public boolean hasMoreElements();
+    method public boolean hasMoreTokens();
+    method public Object nextElement();
+    method public String nextToken();
+    method public String nextToken(String);
+  }
+
+  public abstract class TimeZone implements java.lang.Cloneable java.io.Serializable {
+    ctor public TimeZone();
+    method public Object clone();
+    method public static String[] getAvailableIDs(int);
+    method public static String[] getAvailableIDs();
+    method public int getDSTSavings();
+    method public static java.util.TimeZone getDefault();
+    method public final String getDisplayName();
+    method public final String getDisplayName(java.util.Locale);
+    method public final String getDisplayName(boolean, int);
+    method public String getDisplayName(boolean, int, java.util.Locale);
+    method public String getID();
+    method public abstract int getOffset(int, int, int, int, int, int);
+    method public int getOffset(long);
+    method public abstract int getRawOffset();
+    method public static java.util.TimeZone getTimeZone(String);
+    method public static java.util.TimeZone getTimeZone(java.time.ZoneId);
+    method public boolean hasSameRules(java.util.TimeZone);
+    method public abstract boolean inDaylightTime(java.util.Date);
+    method public boolean observesDaylightTime();
+    method public static void setDefault(java.util.TimeZone);
+    method public void setID(String);
+    method public abstract void setRawOffset(int);
+    method public java.time.ZoneId toZoneId();
+    method public abstract boolean useDaylightTime();
+    field public static final int LONG = 1; // 0x1
+    field public static final int SHORT = 0; // 0x0
+  }
+
+  public class Timer {
+    ctor public Timer();
+    ctor public Timer(boolean);
+    ctor public Timer(String);
+    ctor public Timer(String, boolean);
+    method public void cancel();
+    method public int purge();
+    method public void schedule(java.util.TimerTask, long);
+    method public void schedule(java.util.TimerTask, java.util.Date);
+    method public void schedule(java.util.TimerTask, long, long);
+    method public void schedule(java.util.TimerTask, java.util.Date, long);
+    method public void scheduleAtFixedRate(java.util.TimerTask, long, long);
+    method public void scheduleAtFixedRate(java.util.TimerTask, java.util.Date, long);
+  }
+
+  public abstract class TimerTask implements java.lang.Runnable {
+    ctor protected TimerTask();
+    method public boolean cancel();
+    method public long scheduledExecutionTime();
+  }
+
+  public class TooManyListenersException extends java.lang.Exception {
+    ctor public TooManyListenersException();
+    ctor public TooManyListenersException(String);
+  }
+
+  public class TreeMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.NavigableMap<K,V> java.io.Serializable {
+    ctor public TreeMap();
+    ctor public TreeMap(@Nullable java.util.Comparator<? super K>);
+    ctor public TreeMap(@NonNull java.util.Map<? extends K,? extends V>);
+    ctor public TreeMap(@NonNull java.util.SortedMap<K,? extends V>);
+    method @Nullable public java.util.Map.Entry<K,V> ceilingEntry(K);
+    method @Nullable public K ceilingKey(K);
+    method @NonNull public Object clone();
+    method @Nullable public java.util.Comparator<? super K> comparator();
+    method @NonNull public java.util.NavigableSet<K> descendingKeySet();
+    method @NonNull public java.util.NavigableMap<K,V> descendingMap();
+    method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method @Nullable public java.util.Map.Entry<K,V> firstEntry();
+    method public K firstKey();
+    method @Nullable public java.util.Map.Entry<K,V> floorEntry(K);
+    method @Nullable public K floorKey(K);
+    method @NonNull public java.util.NavigableMap<K,V> headMap(K, boolean);
+    method @NonNull public java.util.SortedMap<K,V> headMap(K);
+    method @Nullable public java.util.Map.Entry<K,V> higherEntry(K);
+    method @Nullable public K higherKey(K);
+    method @Nullable public java.util.Map.Entry<K,V> lastEntry();
+    method public K lastKey();
+    method @Nullable public java.util.Map.Entry<K,V> lowerEntry(K);
+    method @Nullable public K lowerKey(K);
+    method @NonNull public java.util.NavigableSet<K> navigableKeySet();
+    method @Nullable public java.util.Map.Entry<K,V> pollFirstEntry();
+    method @Nullable public java.util.Map.Entry<K,V> pollLastEntry();
+    method @NonNull public java.util.NavigableMap<K,V> subMap(K, boolean, K, boolean);
+    method @NonNull public java.util.SortedMap<K,V> subMap(K, K);
+    method @NonNull public java.util.NavigableMap<K,V> tailMap(K, boolean);
+    method @NonNull public java.util.SortedMap<K,V> tailMap(K);
+  }
+
+  public class TreeSet<E> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.util.NavigableSet<E> java.io.Serializable {
+    ctor public TreeSet();
+    ctor public TreeSet(java.util.Comparator<? super E>);
+    ctor public TreeSet(java.util.Collection<? extends E>);
+    ctor public TreeSet(java.util.SortedSet<E>);
+    method public E ceiling(E);
+    method public Object clone();
+    method public java.util.Comparator<? super E> comparator();
+    method public java.util.Iterator<E> descendingIterator();
+    method public java.util.NavigableSet<E> descendingSet();
+    method public E first();
+    method public E floor(E);
+    method public java.util.NavigableSet<E> headSet(E, boolean);
+    method public java.util.SortedSet<E> headSet(E);
+    method public E higher(E);
+    method public java.util.Iterator<E> iterator();
+    method public E last();
+    method public E lower(E);
+    method public E pollFirst();
+    method public E pollLast();
+    method public int size();
+    method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean);
+    method public java.util.SortedSet<E> subSet(E, E);
+    method public java.util.NavigableSet<E> tailSet(E, boolean);
+    method public java.util.SortedSet<E> tailSet(E);
+  }
+
+  public final class UUID implements java.lang.Comparable<java.util.UUID> java.io.Serializable {
+    ctor public UUID(long, long);
+    method public int clockSequence();
+    method public int compareTo(java.util.UUID);
+    method public static java.util.UUID fromString(String);
+    method public long getLeastSignificantBits();
+    method public long getMostSignificantBits();
+    method public static java.util.UUID nameUUIDFromBytes(byte[]);
+    method public long node();
+    method public static java.util.UUID randomUUID();
+    method public long timestamp();
+    method public int variant();
+    method public int version();
+  }
+
+  public class UnknownFormatConversionException extends java.util.IllegalFormatException {
+    ctor public UnknownFormatConversionException(String);
+    method public String getConversion();
+  }
+
+  public class UnknownFormatFlagsException extends java.util.IllegalFormatException {
+    ctor public UnknownFormatFlagsException(String);
+    method public String getFlags();
+  }
+
+  public class Vector<E> extends java.util.AbstractList<E> implements java.lang.Cloneable java.util.List<E> java.util.RandomAccess java.io.Serializable {
+    ctor public Vector(int, int);
+    ctor public Vector(int);
+    ctor public Vector();
+    ctor public Vector(@NonNull java.util.Collection<? extends E>);
+    method public void addElement(E);
+    method public int capacity();
+    method @NonNull public Object clone();
+    method public void copyInto(@NonNull Object[]);
+    method public E elementAt(int);
+    method @NonNull public java.util.Enumeration<E> elements();
+    method public void ensureCapacity(int);
+    method public E firstElement();
+    method public void forEach(@NonNull java.util.function.Consumer<? super E>);
+    method public E get(int);
+    method public int indexOf(@Nullable Object, int);
+    method public void insertElementAt(E, int);
+    method public E lastElement();
+    method public int lastIndexOf(@Nullable Object, int);
+    method public void removeAllElements();
+    method public boolean removeElement(@Nullable Object);
+    method public void removeElementAt(int);
+    method public void setElementAt(E, int);
+    method public void setSize(int);
+    method public int size();
+    method public void trimToSize();
+    field protected int capacityIncrement;
+    field protected int elementCount;
+    field @NonNull protected Object[] elementData;
+  }
+
+  public class WeakHashMap<K, V> extends java.util.AbstractMap<K,V> implements java.util.Map<K,V> {
+    ctor public WeakHashMap(int, float);
+    ctor public WeakHashMap(int);
+    ctor public WeakHashMap();
+    ctor public WeakHashMap(@NonNull java.util.Map<? extends K,? extends V>);
+    method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+  }
+
+}
+
+package java.util.concurrent {
+
+  public abstract class AbstractExecutorService implements java.util.concurrent.ExecutorService {
+    ctor public AbstractExecutorService();
+    method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+    method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(Runnable, T);
+    method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>);
+    method public java.util.concurrent.Future<?> submit(Runnable);
+    method public <T> java.util.concurrent.Future<T> submit(Runnable, T);
+    method public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+  }
+
+  public class ArrayBlockingQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable {
+    ctor public ArrayBlockingQueue(int);
+    ctor public ArrayBlockingQueue(int, boolean);
+    ctor public ArrayBlockingQueue(int, boolean, java.util.Collection<? extends E>);
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E peek();
+    method public E poll();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void put(E) throws java.lang.InterruptedException;
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public interface BlockingDeque<E> extends java.util.concurrent.BlockingQueue<E> java.util.Deque<E> {
+    method public boolean offerFirst(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean offerLast(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E pollFirst(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E pollLast(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void putFirst(E) throws java.lang.InterruptedException;
+    method public void putLast(E) throws java.lang.InterruptedException;
+    method public E takeFirst() throws java.lang.InterruptedException;
+    method public E takeLast() throws java.lang.InterruptedException;
+  }
+
+  public interface BlockingQueue<E> extends java.util.Queue<E> {
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void put(E) throws java.lang.InterruptedException;
+    method public int remainingCapacity();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public class BrokenBarrierException extends java.lang.Exception {
+    ctor public BrokenBarrierException();
+    ctor public BrokenBarrierException(String);
+  }
+
+  @java.lang.FunctionalInterface public interface Callable<V> {
+    method public V call() throws java.lang.Exception;
+  }
+
+  public class CancellationException extends java.lang.IllegalStateException {
+    ctor public CancellationException();
+    ctor public CancellationException(String);
+  }
+
+  public class CompletableFuture<T> implements java.util.concurrent.CompletionStage<T> java.util.concurrent.Future<T> {
+    ctor public CompletableFuture();
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
+    method public static java.util.concurrent.CompletableFuture<java.lang.Void> allOf(java.util.concurrent.CompletableFuture<?>...);
+    method public static java.util.concurrent.CompletableFuture<java.lang.Object> anyOf(java.util.concurrent.CompletableFuture<?>...);
+    method public <U> java.util.concurrent.CompletableFuture<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>, java.util.concurrent.Executor);
+    method public boolean cancel(boolean);
+    method public boolean complete(T);
+    method public java.util.concurrent.CompletableFuture<T> completeAsync(java.util.function.Supplier<? extends T>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<T> completeAsync(java.util.function.Supplier<? extends T>);
+    method public boolean completeExceptionally(Throwable);
+    method public java.util.concurrent.CompletableFuture<T> completeOnTimeout(T, long, java.util.concurrent.TimeUnit);
+    method public static <U> java.util.concurrent.CompletableFuture<U> completedFuture(U);
+    method public static <U> java.util.concurrent.CompletionStage<U> completedStage(U);
+    method public java.util.concurrent.CompletableFuture<T> copy();
+    method public java.util.concurrent.Executor defaultExecutor();
+    method public static java.util.concurrent.Executor delayedExecutor(long, java.util.concurrent.TimeUnit, java.util.concurrent.Executor);
+    method public static java.util.concurrent.Executor delayedExecutor(long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.CompletableFuture<T> exceptionally(java.util.function.Function<java.lang.Throwable,? extends T>);
+    method public static <U> java.util.concurrent.CompletableFuture<U> failedFuture(Throwable);
+    method public static <U> java.util.concurrent.CompletionStage<U> failedStage(Throwable);
+    method public T get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public T get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public T getNow(T);
+    method public int getNumberOfDependents();
+    method public <U> java.util.concurrent.CompletableFuture<U> handle(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>, java.util.concurrent.Executor);
+    method public boolean isCancelled();
+    method public boolean isCompletedExceptionally();
+    method public boolean isDone();
+    method public T join();
+    method public java.util.concurrent.CompletionStage<T> minimalCompletionStage();
+    method public <U> java.util.concurrent.CompletableFuture<U> newIncompleteFuture();
+    method public void obtrudeException(Throwable);
+    method public void obtrudeValue(T);
+    method public java.util.concurrent.CompletableFuture<T> orTimeout(long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBoth(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEither(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor);
+    method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(Runnable);
+    method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(Runnable, java.util.concurrent.Executor);
+    method public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>);
+    method public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>);
+    method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>);
+    method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenApply(java.util.function.Function<? super T,? extends U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T,? extends U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T,? extends U>, java.util.concurrent.Executor);
+    method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>);
+    method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>);
+    method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenCompose(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRun(Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(Runnable, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<T> toCompletableFuture();
+    method public java.util.concurrent.CompletableFuture<T> whenComplete(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>);
+    method public java.util.concurrent.CompletableFuture<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>);
+    method public java.util.concurrent.CompletableFuture<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>, java.util.concurrent.Executor);
+  }
+
+  public static interface CompletableFuture.AsynchronousCompletionTask {
+  }
+
+  public class CompletionException extends java.lang.RuntimeException {
+    ctor protected CompletionException();
+    ctor protected CompletionException(String);
+    ctor public CompletionException(String, Throwable);
+    ctor public CompletionException(Throwable);
+  }
+
+  public interface CompletionService<V> {
+    method public java.util.concurrent.Future<V> poll();
+    method public java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>);
+    method public java.util.concurrent.Future<V> submit(Runnable, V);
+    method public java.util.concurrent.Future<V> take() throws java.lang.InterruptedException;
+  }
+
+  public interface CompletionStage<T> {
+    method public java.util.concurrent.CompletionStage<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletionStage<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>);
+    method public <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>);
+    method public <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletionStage<T> exceptionally(java.util.function.Function<java.lang.Throwable,? extends T>);
+    method public <U> java.util.concurrent.CompletionStage<U> handle(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>);
+    method public <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>);
+    method public <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterBoth(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterEither(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>);
+    method public <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>);
+    method public <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletionStage<U> thenApply(java.util.function.Function<? super T,? extends U>);
+    method public <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T,? extends U>);
+    method public <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T,? extends U>, java.util.concurrent.Executor);
+    method public <U, V> java.util.concurrent.CompletionStage<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>);
+    method public <U, V> java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>);
+    method public <U, V> java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletionStage<U> thenCompose(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>);
+    method public <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>);
+    method public <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenRun(Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(Runnable, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<T> toCompletableFuture();
+    method public java.util.concurrent.CompletionStage<T> whenComplete(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>);
+    method public java.util.concurrent.CompletionStage<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>);
+    method public java.util.concurrent.CompletionStage<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>, java.util.concurrent.Executor);
+  }
+
+  public class ConcurrentHashMap<K, V> extends java.util.AbstractMap<K,V> implements java.util.concurrent.ConcurrentMap<K,V> java.io.Serializable {
+    ctor public ConcurrentHashMap();
+    ctor public ConcurrentHashMap(int);
+    ctor public ConcurrentHashMap(@NonNull java.util.Map<? extends K,? extends V>);
+    ctor public ConcurrentHashMap(int, float);
+    ctor public ConcurrentHashMap(int, float, int);
+    method public boolean contains(@NonNull Object);
+    method @NonNull public java.util.Enumeration<V> elements();
+    method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method public void forEach(long, @NonNull java.util.function.BiConsumer<? super K,? super V>);
+    method public <U> void forEach(long, @NonNull java.util.function.BiFunction<? super K,? super V,? extends U>, @NonNull java.util.function.Consumer<? super U>);
+    method public void forEachEntry(long, @NonNull java.util.function.Consumer<? super java.util.Map.Entry<K,V>>);
+    method public <U> void forEachEntry(long, @NonNull java.util.function.Function<java.util.Map.Entry<K,V>,? extends U>, @NonNull java.util.function.Consumer<? super U>);
+    method public void forEachKey(long, @NonNull java.util.function.Consumer<? super K>);
+    method public <U> void forEachKey(long, @NonNull java.util.function.Function<? super K,? extends U>, @NonNull java.util.function.Consumer<? super U>);
+    method public void forEachValue(long, @NonNull java.util.function.Consumer<? super V>);
+    method public <U> void forEachValue(long, @NonNull java.util.function.Function<? super V,? extends U>, @NonNull java.util.function.Consumer<? super U>);
+    method @NonNull public java.util.concurrent.ConcurrentHashMap.KeySetView<K,V> keySet(@NonNull V);
+    method @NonNull public java.util.Enumeration<K> keys();
+    method public long mappingCount();
+    method @NonNull public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K,java.lang.Boolean> newKeySet();
+    method @NonNull public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K,java.lang.Boolean> newKeySet(int);
+    method @Nullable public <U> U reduce(long, @NonNull java.util.function.BiFunction<? super K,? super V,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>);
+    method @Nullable public java.util.Map.Entry<K,V> reduceEntries(long, @NonNull java.util.function.BiFunction<java.util.Map.Entry<K,V>,java.util.Map.Entry<K,V>,? extends java.util.Map.Entry<K,V>>);
+    method @Nullable public <U> U reduceEntries(long, @NonNull java.util.function.Function<java.util.Map.Entry<K,V>,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>);
+    method public double reduceEntriesToDouble(long, @NonNull java.util.function.ToDoubleFunction<java.util.Map.Entry<K,V>>, double, @NonNull java.util.function.DoubleBinaryOperator);
+    method public int reduceEntriesToInt(long, @NonNull java.util.function.ToIntFunction<java.util.Map.Entry<K,V>>, int, @NonNull java.util.function.IntBinaryOperator);
+    method public long reduceEntriesToLong(long, @NonNull java.util.function.ToLongFunction<java.util.Map.Entry<K,V>>, long, @NonNull java.util.function.LongBinaryOperator);
+    method @Nullable public K reduceKeys(long, @NonNull java.util.function.BiFunction<? super K,? super K,? extends K>);
+    method @Nullable public <U> U reduceKeys(long, @NonNull java.util.function.Function<? super K,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>);
+    method public double reduceKeysToDouble(long, @NonNull java.util.function.ToDoubleFunction<? super K>, double, @NonNull java.util.function.DoubleBinaryOperator);
+    method public int reduceKeysToInt(long, @NonNull java.util.function.ToIntFunction<? super K>, int, @NonNull java.util.function.IntBinaryOperator);
+    method public long reduceKeysToLong(long, @NonNull java.util.function.ToLongFunction<? super K>, long, @NonNull java.util.function.LongBinaryOperator);
+    method public double reduceToDouble(long, @NonNull java.util.function.ToDoubleBiFunction<? super K,? super V>, double, @NonNull java.util.function.DoubleBinaryOperator);
+    method public int reduceToInt(long, @NonNull java.util.function.ToIntBiFunction<? super K,? super V>, int, @NonNull java.util.function.IntBinaryOperator);
+    method public long reduceToLong(long, @NonNull java.util.function.ToLongBiFunction<? super K,? super V>, long, @NonNull java.util.function.LongBinaryOperator);
+    method @Nullable public V reduceValues(long, @NonNull java.util.function.BiFunction<? super V,? super V,? extends V>);
+    method @Nullable public <U> U reduceValues(long, @NonNull java.util.function.Function<? super V,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>);
+    method public double reduceValuesToDouble(long, @NonNull java.util.function.ToDoubleFunction<? super V>, double, @NonNull java.util.function.DoubleBinaryOperator);
+    method public int reduceValuesToInt(long, @NonNull java.util.function.ToIntFunction<? super V>, int, @NonNull java.util.function.IntBinaryOperator);
+    method public long reduceValuesToLong(long, @NonNull java.util.function.ToLongFunction<? super V>, long, @NonNull java.util.function.LongBinaryOperator);
+    method @Nullable public <U> U search(long, @NonNull java.util.function.BiFunction<? super K,? super V,? extends U>);
+    method @Nullable public <U> U searchEntries(long, @NonNull java.util.function.Function<java.util.Map.Entry<K,V>,? extends U>);
+    method @Nullable public <U> U searchKeys(long, @NonNull java.util.function.Function<? super K,? extends U>);
+    method @Nullable public <U> U searchValues(long, @NonNull java.util.function.Function<? super V,? extends U>);
+  }
+
+  public static class ConcurrentHashMap.KeySetView<K, V> implements java.util.Collection<K> java.io.Serializable java.util.Set<K> {
+    method public boolean add(@NonNull K);
+    method public boolean addAll(@NonNull java.util.Collection<? extends K>);
+    method public final void clear();
+    method public boolean contains(@NonNull Object);
+    method public final boolean containsAll(@NonNull java.util.Collection<?>);
+    method public void forEach(@NonNull java.util.function.Consumer<? super K>);
+    method @NonNull public java.util.concurrent.ConcurrentHashMap<K,V> getMap();
+    method @Nullable public V getMappedValue();
+    method public final boolean isEmpty();
+    method @NonNull public java.util.Iterator<K> iterator();
+    method public boolean remove(@NonNull Object);
+    method public final boolean removeAll(@NonNull java.util.Collection<?>);
+    method public final boolean retainAll(@NonNull java.util.Collection<?>);
+    method public final int size();
+    method @NonNull public java.util.Spliterator<K> spliterator();
+    method @NonNull public final Object[] toArray();
+    method @NonNull public final <T> T[] toArray(@NonNull T[]);
+    method @NonNull public final String toString();
+  }
+
+  public class ConcurrentLinkedDeque<E> extends java.util.AbstractCollection<E> implements java.util.Deque<E> java.io.Serializable {
+    ctor public ConcurrentLinkedDeque();
+    ctor public ConcurrentLinkedDeque(java.util.Collection<? extends E>);
+    method public void addFirst(E);
+    method public void addLast(E);
+    method public java.util.Iterator<E> descendingIterator();
+    method public E element();
+    method public E getFirst();
+    method public E getLast();
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offerFirst(E);
+    method public boolean offerLast(E);
+    method public E peek();
+    method public E peekFirst();
+    method public E peekLast();
+    method public E poll();
+    method public E pollFirst();
+    method public E pollLast();
+    method public E pop();
+    method public void push(E);
+    method public E remove();
+    method public E removeFirst();
+    method public boolean removeFirstOccurrence(Object);
+    method public E removeLast();
+    method public boolean removeLastOccurrence(Object);
+    method public int size();
+  }
+
+  public class ConcurrentLinkedQueue<E> extends java.util.AbstractQueue<E> implements java.util.Queue<E> java.io.Serializable {
+    ctor public ConcurrentLinkedQueue();
+    ctor public ConcurrentLinkedQueue(java.util.Collection<? extends E>);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public E peek();
+    method public E poll();
+    method public int size();
+  }
+
+  public interface ConcurrentMap<K, V> extends java.util.Map<K,V> {
+    method public V putIfAbsent(K, V);
+    method public boolean remove(Object, Object);
+    method public boolean replace(K, V, V);
+    method public V replace(K, V);
+  }
+
+  public interface ConcurrentNavigableMap<K, V> extends java.util.concurrent.ConcurrentMap<K,V> java.util.NavigableMap<K,V> {
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> descendingMap();
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K);
+    method public java.util.NavigableSet<K> keySet();
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, boolean, K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, K);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K);
+  }
+
+  public class ConcurrentSkipListMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.concurrent.ConcurrentNavigableMap<K,V> java.io.Serializable {
+    ctor public ConcurrentSkipListMap();
+    ctor public ConcurrentSkipListMap(java.util.Comparator<? super K>);
+    ctor public ConcurrentSkipListMap(java.util.Map<? extends K,? extends V>);
+    ctor public ConcurrentSkipListMap(java.util.SortedMap<K,? extends V>);
+    method public java.util.Map.Entry<K,V> ceilingEntry(K);
+    method public K ceilingKey(K);
+    method public java.util.concurrent.ConcurrentSkipListMap<K,V> clone();
+    method public java.util.Comparator<? super K> comparator();
+    method public java.util.NavigableSet<K> descendingKeySet();
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> descendingMap();
+    method public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method public java.util.Map.Entry<K,V> firstEntry();
+    method public K firstKey();
+    method public java.util.Map.Entry<K,V> floorEntry(K);
+    method public K floorKey(K);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K);
+    method public java.util.Map.Entry<K,V> higherEntry(K);
+    method public K higherKey(K);
+    method public java.util.NavigableSet<K> keySet();
+    method public java.util.Map.Entry<K,V> lastEntry();
+    method public K lastKey();
+    method public java.util.Map.Entry<K,V> lowerEntry(K);
+    method public K lowerKey(K);
+    method public java.util.NavigableSet<K> navigableKeySet();
+    method public java.util.Map.Entry<K,V> pollFirstEntry();
+    method public java.util.Map.Entry<K,V> pollLastEntry();
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, boolean, K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, K);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K);
+  }
+
+  public class ConcurrentSkipListSet<E> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.util.NavigableSet<E> java.io.Serializable {
+    ctor public ConcurrentSkipListSet();
+    ctor public ConcurrentSkipListSet(java.util.Comparator<? super E>);
+    ctor public ConcurrentSkipListSet(java.util.Collection<? extends E>);
+    ctor public ConcurrentSkipListSet(java.util.SortedSet<E>);
+    method public E ceiling(E);
+    method public java.util.concurrent.ConcurrentSkipListSet<E> clone();
+    method public java.util.Comparator<? super E> comparator();
+    method public java.util.Iterator<E> descendingIterator();
+    method public java.util.NavigableSet<E> descendingSet();
+    method public E first();
+    method public E floor(E);
+    method public java.util.NavigableSet<E> headSet(E, boolean);
+    method public java.util.NavigableSet<E> headSet(E);
+    method public E higher(E);
+    method public java.util.Iterator<E> iterator();
+    method public E last();
+    method public E lower(E);
+    method public E pollFirst();
+    method public E pollLast();
+    method public int size();
+    method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean);
+    method public java.util.NavigableSet<E> subSet(E, E);
+    method public java.util.NavigableSet<E> tailSet(E, boolean);
+    method public java.util.NavigableSet<E> tailSet(E);
+  }
+
+  public class CopyOnWriteArrayList<E> implements java.lang.Cloneable java.util.List<E> java.util.RandomAccess java.io.Serializable {
+    ctor public CopyOnWriteArrayList();
+    ctor public CopyOnWriteArrayList(@NonNull java.util.Collection<? extends E>);
+    ctor public CopyOnWriteArrayList(@NonNull E[]);
+    method public boolean add(E);
+    method public void add(int, E);
+    method public boolean addAll(@NonNull java.util.Collection<? extends E>);
+    method public boolean addAll(int, @NonNull java.util.Collection<? extends E>);
+    method public int addAllAbsent(@NonNull java.util.Collection<? extends E>);
+    method public boolean addIfAbsent(E);
+    method public void clear();
+    method @NonNull public Object clone();
+    method public boolean contains(@Nullable Object);
+    method public boolean containsAll(@NonNull java.util.Collection<?>);
+    method public void forEach(@NonNull java.util.function.Consumer<? super E>);
+    method public E get(int);
+    method public int indexOf(@Nullable Object);
+    method public int indexOf(@Nullable E, int);
+    method public boolean isEmpty();
+    method @NonNull public java.util.Iterator<E> iterator();
+    method public int lastIndexOf(@Nullable Object);
+    method public int lastIndexOf(@Nullable E, int);
+    method @NonNull public java.util.ListIterator<E> listIterator();
+    method @NonNull public java.util.ListIterator<E> listIterator(int);
+    method public E remove(int);
+    method public boolean remove(@Nullable Object);
+    method public boolean removeAll(@NonNull java.util.Collection<?>);
+    method public boolean retainAll(@NonNull java.util.Collection<?>);
+    method public E set(int, E);
+    method public int size();
+    method @NonNull public java.util.List<E> subList(int, int);
+    method @NonNull public Object[] toArray();
+    method @NonNull public <T> T[] toArray(@NonNull T[]);
+  }
+
+  public class CopyOnWriteArraySet<E> extends java.util.AbstractSet<E> implements java.io.Serializable {
+    ctor public CopyOnWriteArraySet();
+    ctor public CopyOnWriteArraySet(java.util.Collection<? extends E>);
+    method public void forEach(java.util.function.Consumer<? super E>);
+    method public java.util.Iterator<E> iterator();
+    method public int size();
+  }
+
+  public class CountDownLatch {
+    ctor public CountDownLatch(int);
+    method public void await() throws java.lang.InterruptedException;
+    method public boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void countDown();
+    method public long getCount();
+  }
+
+  public abstract class CountedCompleter<T> extends java.util.concurrent.ForkJoinTask<T> {
+    ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>, int);
+    ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>);
+    ctor protected CountedCompleter();
+    method public final void addToPendingCount(int);
+    method public final boolean compareAndSetPendingCount(int, int);
+    method public void complete(T);
+    method public abstract void compute();
+    method public final int decrementPendingCountUnlessZero();
+    method protected final boolean exec();
+    method public final java.util.concurrent.CountedCompleter<?> firstComplete();
+    method public final java.util.concurrent.CountedCompleter<?> getCompleter();
+    method public final int getPendingCount();
+    method public T getRawResult();
+    method public final java.util.concurrent.CountedCompleter<?> getRoot();
+    method public final void helpComplete(int);
+    method public final java.util.concurrent.CountedCompleter<?> nextComplete();
+    method public void onCompletion(java.util.concurrent.CountedCompleter<?>);
+    method public boolean onExceptionalCompletion(Throwable, java.util.concurrent.CountedCompleter<?>);
+    method public final void propagateCompletion();
+    method public final void quietlyCompleteRoot();
+    method public final void setPendingCount(int);
+    method protected void setRawResult(T);
+    method public final void tryComplete();
+  }
+
+  public class CyclicBarrier {
+    ctor public CyclicBarrier(int, Runnable);
+    ctor public CyclicBarrier(int);
+    method public int await() throws java.util.concurrent.BrokenBarrierException, java.lang.InterruptedException;
+    method public int await(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.BrokenBarrierException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public int getNumberWaiting();
+    method public int getParties();
+    method public boolean isBroken();
+    method public void reset();
+  }
+
+  public class DelayQueue<E extends java.util.concurrent.Delayed> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> {
+    ctor public DelayQueue();
+    ctor public DelayQueue(java.util.Collection<? extends E>);
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit);
+    method public E peek();
+    method public E poll();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void put(E);
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public interface Delayed extends java.lang.Comparable<java.util.concurrent.Delayed> {
+    method public long getDelay(java.util.concurrent.TimeUnit);
+  }
+
+  public class Exchanger<V> {
+    ctor public Exchanger();
+    method public V exchange(V) throws java.lang.InterruptedException;
+    method public V exchange(V, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+  }
+
+  public class ExecutionException extends java.lang.Exception {
+    ctor protected ExecutionException();
+    ctor protected ExecutionException(String);
+    ctor public ExecutionException(String, Throwable);
+    ctor public ExecutionException(Throwable);
+  }
+
+  public interface Executor {
+    method public void execute(Runnable);
+  }
+
+  public class ExecutorCompletionService<V> implements java.util.concurrent.CompletionService<V> {
+    ctor public ExecutorCompletionService(java.util.concurrent.Executor);
+    ctor public ExecutorCompletionService(java.util.concurrent.Executor, java.util.concurrent.BlockingQueue<java.util.concurrent.Future<V>>);
+    method public java.util.concurrent.Future<V> poll();
+    method public java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>);
+    method public java.util.concurrent.Future<V> submit(Runnable, V);
+    method public java.util.concurrent.Future<V> take() throws java.lang.InterruptedException;
+  }
+
+  public interface ExecutorService extends java.util.concurrent.Executor {
+    method public boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+    method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public boolean isShutdown();
+    method public boolean isTerminated();
+    method public void shutdown();
+    method public java.util.List<java.lang.Runnable> shutdownNow();
+    method public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+    method public <T> java.util.concurrent.Future<T> submit(Runnable, T);
+    method public java.util.concurrent.Future<?> submit(Runnable);
+  }
+
+  public class Executors {
+    method public static <T> java.util.concurrent.Callable<T> callable(Runnable, T);
+    method public static java.util.concurrent.Callable<java.lang.Object> callable(Runnable);
+    method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedAction<?>);
+    method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedExceptionAction<?>);
+    method public static java.util.concurrent.ThreadFactory defaultThreadFactory();
+    method public static java.util.concurrent.ExecutorService newCachedThreadPool();
+    method public static java.util.concurrent.ExecutorService newCachedThreadPool(java.util.concurrent.ThreadFactory);
+    method public static java.util.concurrent.ExecutorService newFixedThreadPool(int);
+    method public static java.util.concurrent.ExecutorService newFixedThreadPool(int, java.util.concurrent.ThreadFactory);
+    method public static java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int);
+    method public static java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int, java.util.concurrent.ThreadFactory);
+    method public static java.util.concurrent.ExecutorService newSingleThreadExecutor();
+    method public static java.util.concurrent.ExecutorService newSingleThreadExecutor(java.util.concurrent.ThreadFactory);
+    method public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor();
+    method public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory);
+    method public static java.util.concurrent.ExecutorService newWorkStealingPool(int);
+    method public static java.util.concurrent.ExecutorService newWorkStealingPool();
+    method public static <T> java.util.concurrent.Callable<T> privilegedCallable(java.util.concurrent.Callable<T>);
+    method public static <T> java.util.concurrent.Callable<T> privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable<T>);
+    method public static java.util.concurrent.ThreadFactory privilegedThreadFactory();
+    method public static java.util.concurrent.ExecutorService unconfigurableExecutorService(java.util.concurrent.ExecutorService);
+    method public static java.util.concurrent.ScheduledExecutorService unconfigurableScheduledExecutorService(java.util.concurrent.ScheduledExecutorService);
+  }
+
+  public final class Flow {
+    method public static int defaultBufferSize();
+  }
+
+  public static interface Flow.Processor<T, R> extends java.util.concurrent.Flow.Subscriber<T> java.util.concurrent.Flow.Publisher<R> {
+  }
+
+  @java.lang.FunctionalInterface public static interface Flow.Publisher<T> {
+    method public void subscribe(java.util.concurrent.Flow.Subscriber<? super T>);
+  }
+
+  public static interface Flow.Subscriber<T> {
+    method public void onComplete();
+    method public void onError(Throwable);
+    method public void onNext(T);
+    method public void onSubscribe(java.util.concurrent.Flow.Subscription);
+  }
+
+  public static interface Flow.Subscription {
+    method public void cancel();
+    method public void request(long);
+  }
+
+  public class ForkJoinPool extends java.util.concurrent.AbstractExecutorService {
+    ctor public ForkJoinPool();
+    ctor public ForkJoinPool(int);
+    ctor public ForkJoinPool(int, java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory, java.lang.Thread.UncaughtExceptionHandler, boolean);
+    method public boolean awaitQuiescence(long, java.util.concurrent.TimeUnit);
+    method public boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public static java.util.concurrent.ForkJoinPool commonPool();
+    method protected int drainTasksTo(java.util.Collection<? super java.util.concurrent.ForkJoinTask<?>>);
+    method public void execute(java.util.concurrent.ForkJoinTask<?>);
+    method public void execute(Runnable);
+    method public int getActiveThreadCount();
+    method public boolean getAsyncMode();
+    method public static int getCommonPoolParallelism();
+    method public java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory getFactory();
+    method public int getParallelism();
+    method public int getPoolSize();
+    method public int getQueuedSubmissionCount();
+    method public long getQueuedTaskCount();
+    method public int getRunningThreadCount();
+    method public long getStealCount();
+    method public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler();
+    method public boolean hasQueuedSubmissions();
+    method public <T> T invoke(java.util.concurrent.ForkJoinTask<T>);
+    method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>);
+    method public boolean isQuiescent();
+    method public boolean isShutdown();
+    method public boolean isTerminated();
+    method public boolean isTerminating();
+    method public static void managedBlock(java.util.concurrent.ForkJoinPool.ManagedBlocker) throws java.lang.InterruptedException;
+    method protected java.util.concurrent.ForkJoinTask<?> pollSubmission();
+    method public void shutdown();
+    method public java.util.List<java.lang.Runnable> shutdownNow();
+    method public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.ForkJoinTask<T>);
+    method public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.Callable<T>);
+    method public <T> java.util.concurrent.ForkJoinTask<T> submit(Runnable, T);
+    method public java.util.concurrent.ForkJoinTask<?> submit(Runnable);
+    field public static final java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory defaultForkJoinWorkerThreadFactory;
+  }
+
+  public static interface ForkJoinPool.ForkJoinWorkerThreadFactory {
+    method public java.util.concurrent.ForkJoinWorkerThread newThread(java.util.concurrent.ForkJoinPool);
+  }
+
+  public static interface ForkJoinPool.ManagedBlocker {
+    method public boolean block() throws java.lang.InterruptedException;
+    method public boolean isReleasable();
+  }
+
+  public abstract class ForkJoinTask<V> implements java.util.concurrent.Future<V> java.io.Serializable {
+    ctor public ForkJoinTask();
+    method public static java.util.concurrent.ForkJoinTask<?> adapt(Runnable);
+    method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(Runnable, T);
+    method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(java.util.concurrent.Callable<? extends T>);
+    method public boolean cancel(boolean);
+    method public final boolean compareAndSetForkJoinTaskTag(short, short);
+    method public void complete(V);
+    method public void completeExceptionally(Throwable);
+    method protected abstract boolean exec();
+    method public final java.util.concurrent.ForkJoinTask<V> fork();
+    method public final V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public final V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public final Throwable getException();
+    method public final short getForkJoinTaskTag();
+    method public static java.util.concurrent.ForkJoinPool getPool();
+    method public static int getQueuedTaskCount();
+    method public abstract V getRawResult();
+    method public static int getSurplusQueuedTaskCount();
+    method public static void helpQuiesce();
+    method public static boolean inForkJoinPool();
+    method public final V invoke();
+    method public static void invokeAll(java.util.concurrent.ForkJoinTask<?>, java.util.concurrent.ForkJoinTask<?>);
+    method public static void invokeAll(java.util.concurrent.ForkJoinTask<?>...);
+    method public static <T extends java.util.concurrent.ForkJoinTask<?>> java.util.Collection<T> invokeAll(java.util.Collection<T>);
+    method public final boolean isCancelled();
+    method public final boolean isCompletedAbnormally();
+    method public final boolean isCompletedNormally();
+    method public final boolean isDone();
+    method public final V join();
+    method protected static java.util.concurrent.ForkJoinTask<?> peekNextLocalTask();
+    method protected static java.util.concurrent.ForkJoinTask<?> pollNextLocalTask();
+    method protected static java.util.concurrent.ForkJoinTask<?> pollTask();
+    method public final void quietlyComplete();
+    method public final void quietlyInvoke();
+    method public final void quietlyJoin();
+    method public void reinitialize();
+    method public final short setForkJoinTaskTag(short);
+    method protected abstract void setRawResult(V);
+    method public boolean tryUnfork();
+  }
+
+  public class ForkJoinWorkerThread extends java.lang.Thread {
+    ctor protected ForkJoinWorkerThread(java.util.concurrent.ForkJoinPool);
+    method public java.util.concurrent.ForkJoinPool getPool();
+    method public int getPoolIndex();
+    method protected void onStart();
+    method protected void onTermination(Throwable);
+  }
+
+  public interface Future<V> {
+    method public boolean cancel(boolean);
+    method public V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public boolean isCancelled();
+    method public boolean isDone();
+  }
+
+  public class FutureTask<V> implements java.util.concurrent.RunnableFuture<V> {
+    ctor public FutureTask(java.util.concurrent.Callable<V>);
+    ctor public FutureTask(Runnable, V);
+    method public boolean cancel(boolean);
+    method protected void done();
+    method public V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public boolean isCancelled();
+    method public boolean isDone();
+    method public void run();
+    method protected boolean runAndReset();
+    method protected void set(V);
+    method protected void setException(Throwable);
+  }
+
+  public class LinkedBlockingDeque<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingDeque<E> java.io.Serializable {
+    ctor public LinkedBlockingDeque();
+    ctor public LinkedBlockingDeque(int);
+    ctor public LinkedBlockingDeque(java.util.Collection<? extends E>);
+    method public void addFirst(E);
+    method public void addLast(E);
+    method public java.util.Iterator<E> descendingIterator();
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public E getFirst();
+    method public E getLast();
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean offerFirst(E);
+    method public boolean offerFirst(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean offerLast(E);
+    method public boolean offerLast(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E peek();
+    method public E peekFirst();
+    method public E peekLast();
+    method public E poll();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E pollFirst();
+    method public E pollFirst(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E pollLast();
+    method public E pollLast(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E pop();
+    method public void push(E);
+    method public void put(E) throws java.lang.InterruptedException;
+    method public void putFirst(E) throws java.lang.InterruptedException;
+    method public void putLast(E) throws java.lang.InterruptedException;
+    method public int remainingCapacity();
+    method public E removeFirst();
+    method public boolean removeFirstOccurrence(Object);
+    method public E removeLast();
+    method public boolean removeLastOccurrence(Object);
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+    method public E takeFirst() throws java.lang.InterruptedException;
+    method public E takeLast() throws java.lang.InterruptedException;
+  }
+
+  public class LinkedBlockingQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable {
+    ctor public LinkedBlockingQueue();
+    ctor public LinkedBlockingQueue(int);
+    ctor public LinkedBlockingQueue(java.util.Collection<? extends E>);
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean offer(E);
+    method public E peek();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E poll();
+    method public void put(E) throws java.lang.InterruptedException;
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public class LinkedTransferQueue<E> extends java.util.AbstractQueue<E> implements java.io.Serializable java.util.concurrent.TransferQueue<E> {
+    ctor public LinkedTransferQueue();
+    ctor public LinkedTransferQueue(java.util.Collection<? extends E>);
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public int getWaitingConsumerCount();
+    method public boolean hasWaitingConsumer();
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit);
+    method public boolean offer(E);
+    method public E peek();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E poll();
+    method public void put(E);
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+    method public void transfer(E) throws java.lang.InterruptedException;
+    method public boolean tryTransfer(E);
+    method public boolean tryTransfer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+  }
+
+  public class Phaser {
+    ctor public Phaser();
+    ctor public Phaser(int);
+    ctor public Phaser(java.util.concurrent.Phaser);
+    ctor public Phaser(java.util.concurrent.Phaser, int);
+    method public int arrive();
+    method public int arriveAndAwaitAdvance();
+    method public int arriveAndDeregister();
+    method public int awaitAdvance(int);
+    method public int awaitAdvanceInterruptibly(int) throws java.lang.InterruptedException;
+    method public int awaitAdvanceInterruptibly(int, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public int bulkRegister(int);
+    method public void forceTermination();
+    method public int getArrivedParties();
+    method public java.util.concurrent.Phaser getParent();
+    method public final int getPhase();
+    method public int getRegisteredParties();
+    method public java.util.concurrent.Phaser getRoot();
+    method public int getUnarrivedParties();
+    method public boolean isTerminated();
+    method protected boolean onAdvance(int, int);
+    method public int register();
+  }
+
+  public class PriorityBlockingQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable {
+    ctor public PriorityBlockingQueue();
+    ctor public PriorityBlockingQueue(int);
+    ctor public PriorityBlockingQueue(int, java.util.Comparator<? super E>);
+    ctor public PriorityBlockingQueue(java.util.Collection<? extends E>);
+    method public java.util.Comparator<? super E> comparator();
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit);
+    method public E peek();
+    method public E poll();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void put(E);
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public abstract class RecursiveAction extends java.util.concurrent.ForkJoinTask<java.lang.Void> {
+    ctor public RecursiveAction();
+    method protected abstract void compute();
+    method protected final boolean exec();
+    method public final Void getRawResult();
+    method protected final void setRawResult(Void);
+  }
+
+  public abstract class RecursiveTask<V> extends java.util.concurrent.ForkJoinTask<V> {
+    ctor public RecursiveTask();
+    method protected abstract V compute();
+    method protected final boolean exec();
+    method public final V getRawResult();
+    method protected final void setRawResult(V);
+  }
+
+  public class RejectedExecutionException extends java.lang.RuntimeException {
+    ctor public RejectedExecutionException();
+    ctor public RejectedExecutionException(String);
+    ctor public RejectedExecutionException(String, Throwable);
+    ctor public RejectedExecutionException(Throwable);
+  }
+
+  public interface RejectedExecutionHandler {
+    method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor);
+  }
+
+  public interface RunnableFuture<V> extends java.lang.Runnable java.util.concurrent.Future<V> {
+  }
+
+  public interface RunnableScheduledFuture<V> extends java.util.concurrent.RunnableFuture<V> java.util.concurrent.ScheduledFuture<V> {
+    method public boolean isPeriodic();
+  }
+
+  public interface ScheduledExecutorService extends java.util.concurrent.ExecutorService {
+    method public java.util.concurrent.ScheduledFuture<?> schedule(Runnable, long, java.util.concurrent.TimeUnit);
+    method public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(Runnable, long, long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(Runnable, long, long, java.util.concurrent.TimeUnit);
+  }
+
+  public interface ScheduledFuture<V> extends java.util.concurrent.Delayed java.util.concurrent.Future<V> {
+  }
+
+  public class ScheduledThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements java.util.concurrent.ScheduledExecutorService {
+    ctor public ScheduledThreadPoolExecutor(int);
+    ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory);
+    ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.RejectedExecutionHandler);
+    ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
+    method protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(Runnable, java.util.concurrent.RunnableScheduledFuture<V>);
+    method protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.util.concurrent.Callable<V>, java.util.concurrent.RunnableScheduledFuture<V>);
+    method public boolean getContinueExistingPeriodicTasksAfterShutdownPolicy();
+    method public boolean getExecuteExistingDelayedTasksAfterShutdownPolicy();
+    method public boolean getRemoveOnCancelPolicy();
+    method public java.util.concurrent.ScheduledFuture<?> schedule(Runnable, long, java.util.concurrent.TimeUnit);
+    method public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(Runnable, long, long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(Runnable, long, long, java.util.concurrent.TimeUnit);
+    method public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean);
+    method public void setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean);
+    method public void setRemoveOnCancelPolicy(boolean);
+  }
+
+  public class Semaphore implements java.io.Serializable {
+    ctor public Semaphore(int);
+    ctor public Semaphore(int, boolean);
+    method public void acquire() throws java.lang.InterruptedException;
+    method public void acquire(int) throws java.lang.InterruptedException;
+    method public void acquireUninterruptibly();
+    method public void acquireUninterruptibly(int);
+    method public int availablePermits();
+    method public int drainPermits();
+    method public final int getQueueLength();
+    method protected java.util.Collection<java.lang.Thread> getQueuedThreads();
+    method public final boolean hasQueuedThreads();
+    method public boolean isFair();
+    method protected void reducePermits(int);
+    method public void release();
+    method public void release(int);
+    method public boolean tryAcquire();
+    method public boolean tryAcquire(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean tryAcquire(int);
+    method public boolean tryAcquire(int, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+  }
+
+  public class SynchronousQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable {
+    ctor public SynchronousQueue();
+    ctor public SynchronousQueue(boolean);
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean offer(E);
+    method public E peek();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E poll();
+    method public void put(E) throws java.lang.InterruptedException;
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public interface ThreadFactory {
+    method public Thread newThread(Runnable);
+  }
+
+  public class ThreadLocalRandom extends java.util.Random {
+    method public static java.util.concurrent.ThreadLocalRandom current();
+    method public double nextDouble(double);
+    method public double nextDouble(double, double);
+    method public int nextInt(int, int);
+    method public long nextLong(long);
+    method public long nextLong(long, long);
+  }
+
+  public class ThreadPoolExecutor extends java.util.concurrent.AbstractExecutorService {
+    ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>);
+    ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.ThreadFactory);
+    ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.RejectedExecutionHandler);
+    ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
+    method protected void afterExecute(Runnable, Throwable);
+    method public void allowCoreThreadTimeOut(boolean);
+    method public boolean allowsCoreThreadTimeOut();
+    method public boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method protected void beforeExecute(Thread, Runnable);
+    method public void execute(Runnable);
+    method protected void finalize();
+    method public int getActiveCount();
+    method public long getCompletedTaskCount();
+    method public int getCorePoolSize();
+    method public long getKeepAliveTime(java.util.concurrent.TimeUnit);
+    method public int getLargestPoolSize();
+    method public int getMaximumPoolSize();
+    method public int getPoolSize();
+    method public java.util.concurrent.BlockingQueue<java.lang.Runnable> getQueue();
+    method public java.util.concurrent.RejectedExecutionHandler getRejectedExecutionHandler();
+    method public long getTaskCount();
+    method public java.util.concurrent.ThreadFactory getThreadFactory();
+    method public boolean isShutdown();
+    method public boolean isTerminated();
+    method public boolean isTerminating();
+    method public int prestartAllCoreThreads();
+    method public boolean prestartCoreThread();
+    method public void purge();
+    method public boolean remove(Runnable);
+    method public void setCorePoolSize(int);
+    method public void setKeepAliveTime(long, java.util.concurrent.TimeUnit);
+    method public void setMaximumPoolSize(int);
+    method public void setRejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler);
+    method public void setThreadFactory(java.util.concurrent.ThreadFactory);
+    method public void shutdown();
+    method public java.util.List<java.lang.Runnable> shutdownNow();
+    method protected void terminated();
+  }
+
+  public static class ThreadPoolExecutor.AbortPolicy implements java.util.concurrent.RejectedExecutionHandler {
+    ctor public ThreadPoolExecutor.AbortPolicy();
+    method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor);
+  }
+
+  public static class ThreadPoolExecutor.CallerRunsPolicy implements java.util.concurrent.RejectedExecutionHandler {
+    ctor public ThreadPoolExecutor.CallerRunsPolicy();
+    method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor);
+  }
+
+  public static class ThreadPoolExecutor.DiscardOldestPolicy implements java.util.concurrent.RejectedExecutionHandler {
+    ctor public ThreadPoolExecutor.DiscardOldestPolicy();
+    method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor);
+  }
+
+  public static class ThreadPoolExecutor.DiscardPolicy implements java.util.concurrent.RejectedExecutionHandler {
+    ctor public ThreadPoolExecutor.DiscardPolicy();
+    method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor);
+  }
+
+  public enum TimeUnit {
+    method public long convert(long, java.util.concurrent.TimeUnit);
+    method public void sleep(long) throws java.lang.InterruptedException;
+    method public void timedJoin(Thread, long) throws java.lang.InterruptedException;
+    method public void timedWait(Object, long) throws java.lang.InterruptedException;
+    method public long toDays(long);
+    method public long toHours(long);
+    method public long toMicros(long);
+    method public long toMillis(long);
+    method public long toMinutes(long);
+    method public long toNanos(long);
+    method public long toSeconds(long);
+    enum_constant public static final java.util.concurrent.TimeUnit DAYS;
+    enum_constant public static final java.util.concurrent.TimeUnit HOURS;
+    enum_constant public static final java.util.concurrent.TimeUnit MICROSECONDS;
+    enum_constant public static final java.util.concurrent.TimeUnit MILLISECONDS;
+    enum_constant public static final java.util.concurrent.TimeUnit MINUTES;
+    enum_constant public static final java.util.concurrent.TimeUnit NANOSECONDS;
+    enum_constant public static final java.util.concurrent.TimeUnit SECONDS;
+  }
+
+  public class TimeoutException extends java.lang.Exception {
+    ctor public TimeoutException();
+    ctor public TimeoutException(String);
+  }
+
+  public interface TransferQueue<E> extends java.util.concurrent.BlockingQueue<E> {
+    method public int getWaitingConsumerCount();
+    method public boolean hasWaitingConsumer();
+    method public void transfer(E) throws java.lang.InterruptedException;
+    method public boolean tryTransfer(E);
+    method public boolean tryTransfer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+  }
+
+}
+
+package java.util.concurrent.atomic {
+
+  public class AtomicBoolean implements java.io.Serializable {
+    ctor public AtomicBoolean(boolean);
+    ctor public AtomicBoolean();
+    method public final boolean compareAndSet(boolean, boolean);
+    method public final boolean get();
+    method public final boolean getAndSet(boolean);
+    method public final void lazySet(boolean);
+    method public final void set(boolean);
+    method public boolean weakCompareAndSet(boolean, boolean);
+  }
+
+  public class AtomicInteger extends java.lang.Number implements java.io.Serializable {
+    ctor public AtomicInteger(int);
+    ctor public AtomicInteger();
+    method public final int accumulateAndGet(int, java.util.function.IntBinaryOperator);
+    method public final int addAndGet(int);
+    method public final boolean compareAndSet(int, int);
+    method public final int decrementAndGet();
+    method public double doubleValue();
+    method public float floatValue();
+    method public final int get();
+    method public final int getAndAccumulate(int, java.util.function.IntBinaryOperator);
+    method public final int getAndAdd(int);
+    method public final int getAndDecrement();
+    method public final int getAndIncrement();
+    method public final int getAndSet(int);
+    method public final int getAndUpdate(java.util.function.IntUnaryOperator);
+    method public final int incrementAndGet();
+    method public int intValue();
+    method public final void lazySet(int);
+    method public long longValue();
+    method public final void set(int);
+    method public final int updateAndGet(java.util.function.IntUnaryOperator);
+    method public final boolean weakCompareAndSet(int, int);
+  }
+
+  public class AtomicIntegerArray implements java.io.Serializable {
+    ctor public AtomicIntegerArray(int);
+    ctor public AtomicIntegerArray(int[]);
+    method public final int accumulateAndGet(int, int, java.util.function.IntBinaryOperator);
+    method public final int addAndGet(int, int);
+    method public final boolean compareAndSet(int, int, int);
+    method public final int decrementAndGet(int);
+    method public final int get(int);
+    method public final int getAndAccumulate(int, int, java.util.function.IntBinaryOperator);
+    method public final int getAndAdd(int, int);
+    method public final int getAndDecrement(int);
+    method public final int getAndIncrement(int);
+    method public final int getAndSet(int, int);
+    method public final int getAndUpdate(int, java.util.function.IntUnaryOperator);
+    method public final int incrementAndGet(int);
+    method public final void lazySet(int, int);
+    method public final int length();
+    method public final void set(int, int);
+    method public final int updateAndGet(int, java.util.function.IntUnaryOperator);
+    method public final boolean weakCompareAndSet(int, int, int);
+  }
+
+  public abstract class AtomicIntegerFieldUpdater<T> {
+    ctor protected AtomicIntegerFieldUpdater();
+    method public final int accumulateAndGet(T, int, java.util.function.IntBinaryOperator);
+    method public int addAndGet(T, int);
+    method public abstract boolean compareAndSet(T, int, int);
+    method public int decrementAndGet(T);
+    method public abstract int get(T);
+    method public final int getAndAccumulate(T, int, java.util.function.IntBinaryOperator);
+    method public int getAndAdd(T, int);
+    method public int getAndDecrement(T);
+    method public int getAndIncrement(T);
+    method public int getAndSet(T, int);
+    method public final int getAndUpdate(T, java.util.function.IntUnaryOperator);
+    method public int incrementAndGet(T);
+    method public abstract void lazySet(T, int);
+    method public static <U> java.util.concurrent.atomic.AtomicIntegerFieldUpdater<U> newUpdater(Class<U>, String);
+    method public abstract void set(T, int);
+    method public final int updateAndGet(T, java.util.function.IntUnaryOperator);
+    method public abstract boolean weakCompareAndSet(T, int, int);
+  }
+
+  public class AtomicLong extends java.lang.Number implements java.io.Serializable {
+    ctor public AtomicLong(long);
+    ctor public AtomicLong();
+    method public final long accumulateAndGet(long, java.util.function.LongBinaryOperator);
+    method public final long addAndGet(long);
+    method public final boolean compareAndSet(long, long);
+    method public final long decrementAndGet();
+    method public double doubleValue();
+    method public float floatValue();
+    method public final long get();
+    method public final long getAndAccumulate(long, java.util.function.LongBinaryOperator);
+    method public final long getAndAdd(long);
+    method public final long getAndDecrement();
+    method public final long getAndIncrement();
+    method public final long getAndSet(long);
+    method public final long getAndUpdate(java.util.function.LongUnaryOperator);
+    method public final long incrementAndGet();
+    method public int intValue();
+    method public final void lazySet(long);
+    method public long longValue();
+    method public final void set(long);
+    method public final long updateAndGet(java.util.function.LongUnaryOperator);
+    method public final boolean weakCompareAndSet(long, long);
+  }
+
+  public class AtomicLongArray implements java.io.Serializable {
+    ctor public AtomicLongArray(int);
+    ctor public AtomicLongArray(long[]);
+    method public final long accumulateAndGet(int, long, java.util.function.LongBinaryOperator);
+    method public long addAndGet(int, long);
+    method public final boolean compareAndSet(int, long, long);
+    method public final long decrementAndGet(int);
+    method public final long get(int);
+    method public final long getAndAccumulate(int, long, java.util.function.LongBinaryOperator);
+    method public final long getAndAdd(int, long);
+    method public final long getAndDecrement(int);
+    method public final long getAndIncrement(int);
+    method public final long getAndSet(int, long);
+    method public final long getAndUpdate(int, java.util.function.LongUnaryOperator);
+    method public final long incrementAndGet(int);
+    method public final void lazySet(int, long);
+    method public final int length();
+    method public final void set(int, long);
+    method public final long updateAndGet(int, java.util.function.LongUnaryOperator);
+    method public final boolean weakCompareAndSet(int, long, long);
+  }
+
+  public abstract class AtomicLongFieldUpdater<T> {
+    ctor protected AtomicLongFieldUpdater();
+    method public final long accumulateAndGet(T, long, java.util.function.LongBinaryOperator);
+    method public long addAndGet(T, long);
+    method public abstract boolean compareAndSet(T, long, long);
+    method public long decrementAndGet(T);
+    method public abstract long get(T);
+    method public final long getAndAccumulate(T, long, java.util.function.LongBinaryOperator);
+    method public long getAndAdd(T, long);
+    method public long getAndDecrement(T);
+    method public long getAndIncrement(T);
+    method public long getAndSet(T, long);
+    method public final long getAndUpdate(T, java.util.function.LongUnaryOperator);
+    method public long incrementAndGet(T);
+    method public abstract void lazySet(T, long);
+    method public static <U> java.util.concurrent.atomic.AtomicLongFieldUpdater<U> newUpdater(Class<U>, String);
+    method public abstract void set(T, long);
+    method public final long updateAndGet(T, java.util.function.LongUnaryOperator);
+    method public abstract boolean weakCompareAndSet(T, long, long);
+  }
+
+  public class AtomicMarkableReference<V> {
+    ctor public AtomicMarkableReference(V, boolean);
+    method public boolean attemptMark(V, boolean);
+    method public boolean compareAndSet(V, V, boolean, boolean);
+    method public V get(boolean[]);
+    method public V getReference();
+    method public boolean isMarked();
+    method public void set(V, boolean);
+    method public boolean weakCompareAndSet(V, V, boolean, boolean);
+  }
+
+  public class AtomicReference<V> implements java.io.Serializable {
+    ctor public AtomicReference(V);
+    ctor public AtomicReference();
+    method public final V accumulateAndGet(V, java.util.function.BinaryOperator<V>);
+    method public final boolean compareAndSet(V, V);
+    method public final V get();
+    method public final V getAndAccumulate(V, java.util.function.BinaryOperator<V>);
+    method public final V getAndSet(V);
+    method public final V getAndUpdate(java.util.function.UnaryOperator<V>);
+    method public final void lazySet(V);
+    method public final void set(V);
+    method public final V updateAndGet(java.util.function.UnaryOperator<V>);
+    method public final boolean weakCompareAndSet(V, V);
+  }
+
+  public class AtomicReferenceArray<E> implements java.io.Serializable {
+    ctor public AtomicReferenceArray(int);
+    ctor public AtomicReferenceArray(E[]);
+    method public final E accumulateAndGet(int, E, java.util.function.BinaryOperator<E>);
+    method public final boolean compareAndSet(int, E, E);
+    method public final E get(int);
+    method public final E getAndAccumulate(int, E, java.util.function.BinaryOperator<E>);
+    method public final E getAndSet(int, E);
+    method public final E getAndUpdate(int, java.util.function.UnaryOperator<E>);
+    method public final void lazySet(int, E);
+    method public final int length();
+    method public final void set(int, E);
+    method public final E updateAndGet(int, java.util.function.UnaryOperator<E>);
+    method public final boolean weakCompareAndSet(int, E, E);
+  }
+
+  public abstract class AtomicReferenceFieldUpdater<T, V> {
+    ctor protected AtomicReferenceFieldUpdater();
+    method public final V accumulateAndGet(T, V, java.util.function.BinaryOperator<V>);
+    method public abstract boolean compareAndSet(T, V, V);
+    method public abstract V get(T);
+    method public final V getAndAccumulate(T, V, java.util.function.BinaryOperator<V>);
+    method public V getAndSet(T, V);
+    method public final V getAndUpdate(T, java.util.function.UnaryOperator<V>);
+    method public abstract void lazySet(T, V);
+    method public static <U, W> java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U,W> newUpdater(Class<U>, Class<W>, String);
+    method public abstract void set(T, V);
+    method public final V updateAndGet(T, java.util.function.UnaryOperator<V>);
+    method public abstract boolean weakCompareAndSet(T, V, V);
+  }
+
+  public class AtomicStampedReference<V> {
+    ctor public AtomicStampedReference(V, int);
+    method public boolean attemptStamp(V, int);
+    method public boolean compareAndSet(V, V, int, int);
+    method public V get(int[]);
+    method public V getReference();
+    method public int getStamp();
+    method public void set(V, int);
+    method public boolean weakCompareAndSet(V, V, int, int);
+  }
+
+  public class DoubleAccumulator extends java.lang.Number implements java.io.Serializable {
+    ctor public DoubleAccumulator(java.util.function.DoubleBinaryOperator, double);
+    method public void accumulate(double);
+    method public double doubleValue();
+    method public float floatValue();
+    method public double get();
+    method public double getThenReset();
+    method public int intValue();
+    method public long longValue();
+    method public void reset();
+  }
+
+  public class DoubleAdder extends java.lang.Number implements java.io.Serializable {
+    ctor public DoubleAdder();
+    method public void add(double);
+    method public double doubleValue();
+    method public float floatValue();
+    method public int intValue();
+    method public long longValue();
+    method public void reset();
+    method public double sum();
+    method public double sumThenReset();
+  }
+
+  public class LongAccumulator extends java.lang.Number implements java.io.Serializable {
+    ctor public LongAccumulator(java.util.function.LongBinaryOperator, long);
+    method public void accumulate(long);
+    method public double doubleValue();
+    method public float floatValue();
+    method public long get();
+    method public long getThenReset();
+    method public int intValue();
+    method public long longValue();
+    method public void reset();
+  }
+
+  public class LongAdder extends java.lang.Number implements java.io.Serializable {
+    ctor public LongAdder();
+    method public void add(long);
+    method public void decrement();
+    method public double doubleValue();
+    method public float floatValue();
+    method public void increment();
+    method public int intValue();
+    method public long longValue();
+    method public void reset();
+    method public long sum();
+    method public long sumThenReset();
+  }
+
+}
+
+package java.util.concurrent.locks {
+
+  public abstract class AbstractOwnableSynchronizer implements java.io.Serializable {
+    ctor protected AbstractOwnableSynchronizer();
+    method protected final Thread getExclusiveOwnerThread();
+    method protected final void setExclusiveOwnerThread(Thread);
+  }
+
+  public abstract class AbstractQueuedLongSynchronizer extends java.util.concurrent.locks.AbstractOwnableSynchronizer implements java.io.Serializable {
+    ctor protected AbstractQueuedLongSynchronizer();
+    method public final void acquire(long);
+    method public final void acquireInterruptibly(long) throws java.lang.InterruptedException;
+    method public final void acquireShared(long);
+    method public final void acquireSharedInterruptibly(long) throws java.lang.InterruptedException;
+    method protected final boolean compareAndSetState(long, long);
+    method public final java.util.Collection<java.lang.Thread> getExclusiveQueuedThreads();
+    method public final Thread getFirstQueuedThread();
+    method public final int getQueueLength();
+    method public final java.util.Collection<java.lang.Thread> getQueuedThreads();
+    method public final java.util.Collection<java.lang.Thread> getSharedQueuedThreads();
+    method protected final long getState();
+    method public final int getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+    method public final java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+    method public final boolean hasContended();
+    method public final boolean hasQueuedPredecessors();
+    method public final boolean hasQueuedThreads();
+    method public final boolean hasWaiters(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+    method protected boolean isHeldExclusively();
+    method public final boolean isQueued(Thread);
+    method public final boolean owns(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+    method public final boolean release(long);
+    method public final boolean releaseShared(long);
+    method protected final void setState(long);
+    method protected boolean tryAcquire(long);
+    method public final boolean tryAcquireNanos(long, long) throws java.lang.InterruptedException;
+    method protected long tryAcquireShared(long);
+    method public final boolean tryAcquireSharedNanos(long, long) throws java.lang.InterruptedException;
+    method protected boolean tryRelease(long);
+    method protected boolean tryReleaseShared(long);
+  }
+
+  public class AbstractQueuedLongSynchronizer.ConditionObject implements java.util.concurrent.locks.Condition java.io.Serializable {
+    ctor public AbstractQueuedLongSynchronizer.ConditionObject();
+    method public final void await() throws java.lang.InterruptedException;
+    method public final boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public final long awaitNanos(long) throws java.lang.InterruptedException;
+    method public final void awaitUninterruptibly();
+    method public final boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException;
+    method protected final int getWaitQueueLength();
+    method protected final java.util.Collection<java.lang.Thread> getWaitingThreads();
+    method protected final boolean hasWaiters();
+    method public final void signal();
+    method public final void signalAll();
+  }
+
+  public abstract class AbstractQueuedSynchronizer extends java.util.concurrent.locks.AbstractOwnableSynchronizer implements java.io.Serializable {
+    ctor protected AbstractQueuedSynchronizer();
+    method public final void acquire(int);
+    method public final void acquireInterruptibly(int) throws java.lang.InterruptedException;
+    method public final void acquireShared(int);
+    method public final void acquireSharedInterruptibly(int) throws java.lang.InterruptedException;
+    method protected final boolean compareAndSetState(int, int);
+    method public final java.util.Collection<java.lang.Thread> getExclusiveQueuedThreads();
+    method public final Thread getFirstQueuedThread();
+    method public final int getQueueLength();
+    method public final java.util.Collection<java.lang.Thread> getQueuedThreads();
+    method public final java.util.Collection<java.lang.Thread> getSharedQueuedThreads();
+    method protected final int getState();
+    method public final int getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+    method public final java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+    method public final boolean hasContended();
+    method public final boolean hasQueuedPredecessors();
+    method public final boolean hasQueuedThreads();
+    method public final boolean hasWaiters(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+    method protected boolean isHeldExclusively();
+    method public final boolean isQueued(Thread);
+    method public final boolean owns(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+    method public final boolean release(int);
+    method public final boolean releaseShared(int);
+    method protected final void setState(int);
+    method protected boolean tryAcquire(int);
+    method public final boolean tryAcquireNanos(int, long) throws java.lang.InterruptedException;
+    method protected int tryAcquireShared(int);
+    method public final boolean tryAcquireSharedNanos(int, long) throws java.lang.InterruptedException;
+    method protected boolean tryRelease(int);
+    method protected boolean tryReleaseShared(int);
+  }
+
+  public class AbstractQueuedSynchronizer.ConditionObject implements java.util.concurrent.locks.Condition java.io.Serializable {
+    ctor public AbstractQueuedSynchronizer.ConditionObject();
+    method public final void await() throws java.lang.InterruptedException;
+    method public final boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public final long awaitNanos(long) throws java.lang.InterruptedException;
+    method public final void awaitUninterruptibly();
+    method public final boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException;
+    method protected final int getWaitQueueLength();
+    method protected final java.util.Collection<java.lang.Thread> getWaitingThreads();
+    method protected final boolean hasWaiters();
+    method public final void signal();
+    method public final void signalAll();
+  }
+
+  public interface Condition {
+    method public void await() throws java.lang.InterruptedException;
+    method public boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public long awaitNanos(long) throws java.lang.InterruptedException;
+    method public void awaitUninterruptibly();
+    method public boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException;
+    method public void signal();
+    method public void signalAll();
+  }
+
+  public interface Lock {
+    method public void lock();
+    method public void lockInterruptibly() throws java.lang.InterruptedException;
+    method public java.util.concurrent.locks.Condition newCondition();
+    method public boolean tryLock();
+    method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void unlock();
+  }
+
+  public class LockSupport {
+    method public static Object getBlocker(Thread);
+    method public static void park(Object);
+    method public static void park();
+    method public static void parkNanos(Object, long);
+    method public static void parkNanos(long);
+    method public static void parkUntil(Object, long);
+    method public static void parkUntil(long);
+    method public static void unpark(Thread);
+  }
+
+  public interface ReadWriteLock {
+    method public java.util.concurrent.locks.Lock readLock();
+    method public java.util.concurrent.locks.Lock writeLock();
+  }
+
+  public class ReentrantLock implements java.util.concurrent.locks.Lock java.io.Serializable {
+    ctor public ReentrantLock();
+    ctor public ReentrantLock(boolean);
+    method public int getHoldCount();
+    method protected Thread getOwner();
+    method public final int getQueueLength();
+    method protected java.util.Collection<java.lang.Thread> getQueuedThreads();
+    method public int getWaitQueueLength(java.util.concurrent.locks.Condition);
+    method protected java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.Condition);
+    method public final boolean hasQueuedThread(Thread);
+    method public final boolean hasQueuedThreads();
+    method public boolean hasWaiters(java.util.concurrent.locks.Condition);
+    method public final boolean isFair();
+    method public boolean isHeldByCurrentThread();
+    method public boolean isLocked();
+    method public void lock();
+    method public void lockInterruptibly() throws java.lang.InterruptedException;
+    method public java.util.concurrent.locks.Condition newCondition();
+    method public boolean tryLock();
+    method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void unlock();
+  }
+
+  public class ReentrantReadWriteLock implements java.util.concurrent.locks.ReadWriteLock java.io.Serializable {
+    ctor public ReentrantReadWriteLock();
+    ctor public ReentrantReadWriteLock(boolean);
+    method protected Thread getOwner();
+    method public final int getQueueLength();
+    method protected java.util.Collection<java.lang.Thread> getQueuedReaderThreads();
+    method protected java.util.Collection<java.lang.Thread> getQueuedThreads();
+    method protected java.util.Collection<java.lang.Thread> getQueuedWriterThreads();
+    method public int getReadHoldCount();
+    method public int getReadLockCount();
+    method public int getWaitQueueLength(java.util.concurrent.locks.Condition);
+    method protected java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.Condition);
+    method public int getWriteHoldCount();
+    method public final boolean hasQueuedThread(Thread);
+    method public final boolean hasQueuedThreads();
+    method public boolean hasWaiters(java.util.concurrent.locks.Condition);
+    method public final boolean isFair();
+    method public boolean isWriteLocked();
+    method public boolean isWriteLockedByCurrentThread();
+    method public java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock readLock();
+    method public java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock writeLock();
+  }
+
+  public static class ReentrantReadWriteLock.ReadLock implements java.util.concurrent.locks.Lock java.io.Serializable {
+    ctor protected ReentrantReadWriteLock.ReadLock(java.util.concurrent.locks.ReentrantReadWriteLock);
+    method public void lock();
+    method public void lockInterruptibly() throws java.lang.InterruptedException;
+    method public java.util.concurrent.locks.Condition newCondition();
+    method public boolean tryLock();
+    method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void unlock();
+  }
+
+  public static class ReentrantReadWriteLock.WriteLock implements java.util.concurrent.locks.Lock java.io.Serializable {
+    ctor protected ReentrantReadWriteLock.WriteLock(java.util.concurrent.locks.ReentrantReadWriteLock);
+    method public int getHoldCount();
+    method public boolean isHeldByCurrentThread();
+    method public void lock();
+    method public void lockInterruptibly() throws java.lang.InterruptedException;
+    method public java.util.concurrent.locks.Condition newCondition();
+    method public boolean tryLock();
+    method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void unlock();
+  }
+
+  public class StampedLock implements java.io.Serializable {
+    ctor public StampedLock();
+    method public java.util.concurrent.locks.Lock asReadLock();
+    method public java.util.concurrent.locks.ReadWriteLock asReadWriteLock();
+    method public java.util.concurrent.locks.Lock asWriteLock();
+    method public int getReadLockCount();
+    method public boolean isReadLocked();
+    method public boolean isWriteLocked();
+    method public long readLock();
+    method public long readLockInterruptibly() throws java.lang.InterruptedException;
+    method public long tryConvertToOptimisticRead(long);
+    method public long tryConvertToReadLock(long);
+    method public long tryConvertToWriteLock(long);
+    method public long tryOptimisticRead();
+    method public long tryReadLock();
+    method public long tryReadLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean tryUnlockRead();
+    method public boolean tryUnlockWrite();
+    method public long tryWriteLock();
+    method public long tryWriteLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void unlock(long);
+    method public void unlockRead(long);
+    method public void unlockWrite(long);
+    method public boolean validate(long);
+    method public long writeLock();
+    method public long writeLockInterruptibly() throws java.lang.InterruptedException;
+  }
+
+}
+
+package java.util.function {
+
+  @java.lang.FunctionalInterface public interface BiConsumer<T, U> {
+    method public void accept(T, U);
+    method public default java.util.function.BiConsumer<T,U> andThen(java.util.function.BiConsumer<? super T,? super U>);
+  }
+
+  @java.lang.FunctionalInterface public interface BiFunction<T, U, R> {
+    method public default <V> java.util.function.BiFunction<T,U,V> andThen(java.util.function.Function<? super R,? extends V>);
+    method public R apply(T, U);
+  }
+
+  @java.lang.FunctionalInterface public interface BiPredicate<T, U> {
+    method public default java.util.function.BiPredicate<T,U> and(java.util.function.BiPredicate<? super T,? super U>);
+    method public default java.util.function.BiPredicate<T,U> negate();
+    method public default java.util.function.BiPredicate<T,U> or(java.util.function.BiPredicate<? super T,? super U>);
+    method public boolean test(T, U);
+  }
+
+  @java.lang.FunctionalInterface public interface BinaryOperator<T> extends java.util.function.BiFunction<T,T,T> {
+    method public static <T> java.util.function.BinaryOperator<T> maxBy(java.util.Comparator<? super T>);
+    method public static <T> java.util.function.BinaryOperator<T> minBy(java.util.Comparator<? super T>);
+  }
+
+  @java.lang.FunctionalInterface public interface BooleanSupplier {
+    method public boolean getAsBoolean();
+  }
+
+  @java.lang.FunctionalInterface public interface Consumer<T> {
+    method public void accept(T);
+    method public default java.util.function.Consumer<T> andThen(java.util.function.Consumer<? super T>);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleBinaryOperator {
+    method public double applyAsDouble(double, double);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleConsumer {
+    method public void accept(double);
+    method public default java.util.function.DoubleConsumer andThen(java.util.function.DoubleConsumer);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleFunction<R> {
+    method public R apply(double);
+  }
+
+  @java.lang.FunctionalInterface public interface DoublePredicate {
+    method public default java.util.function.DoublePredicate and(java.util.function.DoublePredicate);
+    method public default java.util.function.DoublePredicate negate();
+    method public default java.util.function.DoublePredicate or(java.util.function.DoublePredicate);
+    method public boolean test(double);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleSupplier {
+    method public double getAsDouble();
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleToIntFunction {
+    method public int applyAsInt(double);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleToLongFunction {
+    method public long applyAsLong(double);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleUnaryOperator {
+    method public default java.util.function.DoubleUnaryOperator andThen(java.util.function.DoubleUnaryOperator);
+    method public double applyAsDouble(double);
+    method public default java.util.function.DoubleUnaryOperator compose(java.util.function.DoubleUnaryOperator);
+    method public static java.util.function.DoubleUnaryOperator identity();
+  }
+
+  @java.lang.FunctionalInterface public interface Function<T, R> {
+    method public default <V> java.util.function.Function<T,V> andThen(java.util.function.Function<? super R,? extends V>);
+    method public R apply(T);
+    method public default <V> java.util.function.Function<V,R> compose(java.util.function.Function<? super V,? extends T>);
+    method public static <T> java.util.function.Function<T,T> identity();
+  }
+
+  @java.lang.FunctionalInterface public interface IntBinaryOperator {
+    method public int applyAsInt(int, int);
+  }
+
+  @java.lang.FunctionalInterface public interface IntConsumer {
+    method public void accept(int);
+    method public default java.util.function.IntConsumer andThen(java.util.function.IntConsumer);
+  }
+
+  @java.lang.FunctionalInterface public interface IntFunction<R> {
+    method public R apply(int);
+  }
+
+  @java.lang.FunctionalInterface public interface IntPredicate {
+    method public default java.util.function.IntPredicate and(java.util.function.IntPredicate);
+    method public default java.util.function.IntPredicate negate();
+    method public default java.util.function.IntPredicate or(java.util.function.IntPredicate);
+    method public boolean test(int);
+  }
+
+  @java.lang.FunctionalInterface public interface IntSupplier {
+    method public int getAsInt();
+  }
+
+  @java.lang.FunctionalInterface public interface IntToDoubleFunction {
+    method public double applyAsDouble(int);
+  }
+
+  @java.lang.FunctionalInterface public interface IntToLongFunction {
+    method public long applyAsLong(int);
+  }
+
+  @java.lang.FunctionalInterface public interface IntUnaryOperator {
+    method public default java.util.function.IntUnaryOperator andThen(java.util.function.IntUnaryOperator);
+    method public int applyAsInt(int);
+    method public default java.util.function.IntUnaryOperator compose(java.util.function.IntUnaryOperator);
+    method public static java.util.function.IntUnaryOperator identity();
+  }
+
+  @java.lang.FunctionalInterface public interface LongBinaryOperator {
+    method public long applyAsLong(long, long);
+  }
+
+  @java.lang.FunctionalInterface public interface LongConsumer {
+    method public void accept(long);
+    method public default java.util.function.LongConsumer andThen(java.util.function.LongConsumer);
+  }
+
+  @java.lang.FunctionalInterface public interface LongFunction<R> {
+    method public R apply(long);
+  }
+
+  @java.lang.FunctionalInterface public interface LongPredicate {
+    method public default java.util.function.LongPredicate and(java.util.function.LongPredicate);
+    method public default java.util.function.LongPredicate negate();
+    method public default java.util.function.LongPredicate or(java.util.function.LongPredicate);
+    method public boolean test(long);
+  }
+
+  @java.lang.FunctionalInterface public interface LongSupplier {
+    method public long getAsLong();
+  }
+
+  @java.lang.FunctionalInterface public interface LongToDoubleFunction {
+    method public double applyAsDouble(long);
+  }
+
+  @java.lang.FunctionalInterface public interface LongToIntFunction {
+    method public int applyAsInt(long);
+  }
+
+  @java.lang.FunctionalInterface public interface LongUnaryOperator {
+    method public default java.util.function.LongUnaryOperator andThen(java.util.function.LongUnaryOperator);
+    method public long applyAsLong(long);
+    method public default java.util.function.LongUnaryOperator compose(java.util.function.LongUnaryOperator);
+    method public static java.util.function.LongUnaryOperator identity();
+  }
+
+  @java.lang.FunctionalInterface public interface ObjDoubleConsumer<T> {
+    method public void accept(T, double);
+  }
+
+  @java.lang.FunctionalInterface public interface ObjIntConsumer<T> {
+    method public void accept(T, int);
+  }
+
+  @java.lang.FunctionalInterface public interface ObjLongConsumer<T> {
+    method public void accept(T, long);
+  }
+
+  @java.lang.FunctionalInterface public interface Predicate<T> {
+    method public default java.util.function.Predicate<T> and(java.util.function.Predicate<? super T>);
+    method public static <T> java.util.function.Predicate<T> isEqual(Object);
+    method public default java.util.function.Predicate<T> negate();
+    method public default java.util.function.Predicate<T> or(java.util.function.Predicate<? super T>);
+    method public boolean test(T);
+  }
+
+  @java.lang.FunctionalInterface public interface Supplier<T> {
+    method public T get();
+  }
+
+  @java.lang.FunctionalInterface public interface ToDoubleBiFunction<T, U> {
+    method public double applyAsDouble(T, U);
+  }
+
+  @java.lang.FunctionalInterface public interface ToDoubleFunction<T> {
+    method public double applyAsDouble(T);
+  }
+
+  @java.lang.FunctionalInterface public interface ToIntBiFunction<T, U> {
+    method public int applyAsInt(T, U);
+  }
+
+  @java.lang.FunctionalInterface public interface ToIntFunction<T> {
+    method public int applyAsInt(T);
+  }
+
+  @java.lang.FunctionalInterface public interface ToLongBiFunction<T, U> {
+    method public long applyAsLong(T, U);
+  }
+
+  @java.lang.FunctionalInterface public interface ToLongFunction<T> {
+    method public long applyAsLong(T);
+  }
+
+  @java.lang.FunctionalInterface public interface UnaryOperator<T> extends java.util.function.Function<T,T> {
+    method public static <T> java.util.function.UnaryOperator<T> identity();
+  }
+
+}
+
+package java.util.jar {
+
+  public class Attributes implements java.lang.Cloneable java.util.Map<java.lang.Object,java.lang.Object> {
+    ctor public Attributes();
+    ctor public Attributes(int);
+    ctor public Attributes(java.util.jar.Attributes);
+    method public void clear();
+    method public Object clone();
+    method public boolean containsKey(Object);
+    method public boolean containsValue(Object);
+    method public java.util.Set<java.util.Map.Entry<java.lang.Object,java.lang.Object>> entrySet();
+    method public Object get(Object);
+    method public String getValue(String);
+    method public String getValue(java.util.jar.Attributes.Name);
+    method public boolean isEmpty();
+    method public java.util.Set<java.lang.Object> keySet();
+    method public Object put(Object, Object);
+    method public void putAll(java.util.Map<?,?>);
+    method public String putValue(String, String);
+    method public Object remove(Object);
+    method public int size();
+    method public java.util.Collection<java.lang.Object> values();
+    field protected java.util.Map<java.lang.Object,java.lang.Object> map;
+  }
+
+  public static class Attributes.Name {
+    ctor public Attributes.Name(String);
+    field public static final java.util.jar.Attributes.Name CLASS_PATH;
+    field public static final java.util.jar.Attributes.Name CONTENT_TYPE;
+    field @Deprecated public static final java.util.jar.Attributes.Name EXTENSION_INSTALLATION;
+    field public static final java.util.jar.Attributes.Name EXTENSION_LIST;
+    field public static final java.util.jar.Attributes.Name EXTENSION_NAME;
+    field public static final java.util.jar.Attributes.Name IMPLEMENTATION_TITLE;
+    field @Deprecated public static final java.util.jar.Attributes.Name IMPLEMENTATION_URL;
+    field public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR;
+    field @Deprecated public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR_ID;
+    field public static final java.util.jar.Attributes.Name IMPLEMENTATION_VERSION;
+    field public static final java.util.jar.Attributes.Name MAIN_CLASS;
+    field public static final java.util.jar.Attributes.Name MANIFEST_VERSION;
+    field public static final java.util.jar.Attributes.Name SEALED;
+    field public static final java.util.jar.Attributes.Name SIGNATURE_VERSION;
+    field public static final java.util.jar.Attributes.Name SPECIFICATION_TITLE;
+    field public static final java.util.jar.Attributes.Name SPECIFICATION_VENDOR;
+    field public static final java.util.jar.Attributes.Name SPECIFICATION_VERSION;
+  }
+
+  public class JarEntry extends java.util.zip.ZipEntry {
+    ctor public JarEntry(String);
+    ctor public JarEntry(java.util.zip.ZipEntry);
+    ctor public JarEntry(java.util.jar.JarEntry);
+    method public java.util.jar.Attributes getAttributes() throws java.io.IOException;
+    method public java.security.cert.Certificate[] getCertificates();
+    method public java.security.CodeSigner[] getCodeSigners();
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+  }
+
+  public class JarException extends java.util.zip.ZipException {
+    ctor public JarException();
+    ctor public JarException(String);
+  }
+
+  public class JarFile extends java.util.zip.ZipFile {
+    ctor public JarFile(String) throws java.io.IOException;
+    ctor public JarFile(String, boolean) throws java.io.IOException;
+    ctor public JarFile(java.io.File) throws java.io.IOException;
+    ctor public JarFile(java.io.File, boolean) throws java.io.IOException;
+    ctor public JarFile(java.io.File, boolean, int) throws java.io.IOException;
+    method public java.util.Enumeration<java.util.jar.JarEntry> entries();
+    method public java.util.jar.JarEntry getJarEntry(String);
+    method public java.util.jar.Manifest getManifest() throws java.io.IOException;
+    method public java.util.stream.Stream<java.util.jar.JarEntry> stream();
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+    field public static final String MANIFEST_NAME = "META-INF/MANIFEST.MF";
+  }
+
+  public class JarInputStream extends java.util.zip.ZipInputStream {
+    ctor public JarInputStream(java.io.InputStream) throws java.io.IOException;
+    ctor public JarInputStream(java.io.InputStream, boolean) throws java.io.IOException;
+    method public java.util.jar.Manifest getManifest();
+    method public java.util.jar.JarEntry getNextJarEntry() throws java.io.IOException;
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+  }
+
+  public class JarOutputStream extends java.util.zip.ZipOutputStream {
+    ctor public JarOutputStream(java.io.OutputStream, java.util.jar.Manifest) throws java.io.IOException;
+    ctor public JarOutputStream(java.io.OutputStream) throws java.io.IOException;
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+  }
+
+  public class Manifest implements java.lang.Cloneable {
+    ctor public Manifest();
+    ctor public Manifest(java.io.InputStream) throws java.io.IOException;
+    ctor public Manifest(java.util.jar.Manifest);
+    method public void clear();
+    method public Object clone();
+    method public java.util.jar.Attributes getAttributes(String);
+    method public java.util.Map<java.lang.String,java.util.jar.Attributes> getEntries();
+    method public java.util.jar.Attributes getMainAttributes();
+    method public void read(java.io.InputStream) throws java.io.IOException;
+    method public void write(java.io.OutputStream) throws java.io.IOException;
+  }
+
+  public abstract class Pack200 {
+    method public static java.util.jar.Pack200.Packer newPacker();
+    method public static java.util.jar.Pack200.Unpacker newUnpacker();
+  }
+
+  public static interface Pack200.Packer {
+    method @Deprecated public default void addPropertyChangeListener(java.beans.PropertyChangeListener);
+    method public void pack(java.util.jar.JarFile, java.io.OutputStream) throws java.io.IOException;
+    method public void pack(java.util.jar.JarInputStream, java.io.OutputStream) throws java.io.IOException;
+    method public java.util.SortedMap<java.lang.String,java.lang.String> properties();
+    method @Deprecated public default void removePropertyChangeListener(java.beans.PropertyChangeListener);
+    field public static final String CLASS_ATTRIBUTE_PFX = "pack.class.attribute.";
+    field public static final String CODE_ATTRIBUTE_PFX = "pack.code.attribute.";
+    field public static final String DEFLATE_HINT = "pack.deflate.hint";
+    field public static final String EFFORT = "pack.effort";
+    field public static final String ERROR = "error";
+    field public static final String FALSE = "false";
+    field public static final String FIELD_ATTRIBUTE_PFX = "pack.field.attribute.";
+    field public static final String KEEP = "keep";
+    field public static final String KEEP_FILE_ORDER = "pack.keep.file.order";
+    field public static final String LATEST = "latest";
+    field public static final String METHOD_ATTRIBUTE_PFX = "pack.method.attribute.";
+    field public static final String MODIFICATION_TIME = "pack.modification.time";
+    field public static final String PASS = "pass";
+    field public static final String PASS_FILE_PFX = "pack.pass.file.";
+    field public static final String PROGRESS = "pack.progress";
+    field public static final String SEGMENT_LIMIT = "pack.segment.limit";
+    field public static final String STRIP = "strip";
+    field public static final String TRUE = "true";
+    field public static final String UNKNOWN_ATTRIBUTE = "pack.unknown.attribute";
+  }
+
+  public static interface Pack200.Unpacker {
+    method @Deprecated public default void addPropertyChangeListener(java.beans.PropertyChangeListener);
+    method public java.util.SortedMap<java.lang.String,java.lang.String> properties();
+    method @Deprecated public default void removePropertyChangeListener(java.beans.PropertyChangeListener);
+    method public void unpack(java.io.InputStream, java.util.jar.JarOutputStream) throws java.io.IOException;
+    method public void unpack(java.io.File, java.util.jar.JarOutputStream) throws java.io.IOException;
+    field public static final String DEFLATE_HINT = "unpack.deflate.hint";
+    field public static final String FALSE = "false";
+    field public static final String KEEP = "keep";
+    field public static final String PROGRESS = "unpack.progress";
+    field public static final String TRUE = "true";
+  }
+
+}
+
+package java.util.logging {
+
+  public class ConsoleHandler extends java.util.logging.StreamHandler {
+    ctor public ConsoleHandler();
+    method public void close();
+  }
+
+  public class ErrorManager {
+    ctor public ErrorManager();
+    method public void error(String, Exception, int);
+    field public static final int CLOSE_FAILURE = 3; // 0x3
+    field public static final int FLUSH_FAILURE = 2; // 0x2
+    field public static final int FORMAT_FAILURE = 5; // 0x5
+    field public static final int GENERIC_FAILURE = 0; // 0x0
+    field public static final int OPEN_FAILURE = 4; // 0x4
+    field public static final int WRITE_FAILURE = 1; // 0x1
+  }
+
+  public class FileHandler extends java.util.logging.StreamHandler {
+    ctor public FileHandler() throws java.io.IOException, java.lang.SecurityException;
+    ctor public FileHandler(String) throws java.io.IOException, java.lang.SecurityException;
+    ctor public FileHandler(String, boolean) throws java.io.IOException, java.lang.SecurityException;
+    ctor public FileHandler(String, int, int) throws java.io.IOException, java.lang.SecurityException;
+    ctor public FileHandler(String, int, int, boolean) throws java.io.IOException, java.lang.SecurityException;
+  }
+
+  @java.lang.FunctionalInterface public interface Filter {
+    method public boolean isLoggable(java.util.logging.LogRecord);
+  }
+
+  public abstract class Formatter {
+    ctor protected Formatter();
+    method public abstract String format(java.util.logging.LogRecord);
+    method public String formatMessage(java.util.logging.LogRecord);
+    method public String getHead(java.util.logging.Handler);
+    method public String getTail(java.util.logging.Handler);
+  }
+
+  public abstract class Handler {
+    ctor protected Handler();
+    method public abstract void close() throws java.lang.SecurityException;
+    method public abstract void flush();
+    method public String getEncoding();
+    method public java.util.logging.ErrorManager getErrorManager();
+    method public java.util.logging.Filter getFilter();
+    method public java.util.logging.Formatter getFormatter();
+    method public java.util.logging.Level getLevel();
+    method public boolean isLoggable(java.util.logging.LogRecord);
+    method public abstract void publish(java.util.logging.LogRecord);
+    method protected void reportError(String, Exception, int);
+    method public void setEncoding(String) throws java.lang.SecurityException, java.io.UnsupportedEncodingException;
+    method public void setErrorManager(java.util.logging.ErrorManager);
+    method public void setFilter(java.util.logging.Filter) throws java.lang.SecurityException;
+    method public void setFormatter(java.util.logging.Formatter) throws java.lang.SecurityException;
+    method public void setLevel(java.util.logging.Level) throws java.lang.SecurityException;
+  }
+
+  public class Level implements java.io.Serializable {
+    ctor protected Level(@NonNull String, int);
+    ctor protected Level(@NonNull String, int, @Nullable String);
+    method @NonNull public String getLocalizedName();
+    method @NonNull public String getName();
+    method @Nullable public String getResourceBundleName();
+    method public final int intValue();
+    method @NonNull public static java.util.logging.Level parse(@NonNull String) throws java.lang.IllegalArgumentException;
+    method @NonNull public final String toString();
+    field @NonNull public static final java.util.logging.Level ALL;
+    field @NonNull public static final java.util.logging.Level CONFIG;
+    field @NonNull public static final java.util.logging.Level FINE;
+    field @NonNull public static final java.util.logging.Level FINER;
+    field @NonNull public static final java.util.logging.Level FINEST;
+    field @NonNull public static final java.util.logging.Level INFO;
+    field @NonNull public static final java.util.logging.Level OFF;
+    field @NonNull public static final java.util.logging.Level SEVERE;
+    field @NonNull public static final java.util.logging.Level WARNING;
+  }
+
+  public class LogManager {
+    ctor protected LogManager();
+    method public boolean addLogger(java.util.logging.Logger);
+    method @Deprecated public void addPropertyChangeListener(java.beans.PropertyChangeListener) throws java.lang.SecurityException;
+    method public void checkAccess() throws java.lang.SecurityException;
+    method public static java.util.logging.LogManager getLogManager();
+    method public java.util.logging.Logger getLogger(String);
+    method public java.util.Enumeration<java.lang.String> getLoggerNames();
+    method public static java.util.logging.LoggingMXBean getLoggingMXBean();
+    method public String getProperty(String);
+    method public void readConfiguration() throws java.io.IOException, java.lang.SecurityException;
+    method public void readConfiguration(java.io.InputStream) throws java.io.IOException, java.lang.SecurityException;
+    method @Deprecated public void removePropertyChangeListener(java.beans.PropertyChangeListener) throws java.lang.SecurityException;
+    method public void reset() throws java.lang.SecurityException;
+    field public static final String LOGGING_MXBEAN_NAME = "java.util.logging:type=Logging";
+  }
+
+  public class LogRecord implements java.io.Serializable {
+    ctor public LogRecord(java.util.logging.Level, String);
+    method public java.util.logging.Level getLevel();
+    method public String getLoggerName();
+    method public String getMessage();
+    method public long getMillis();
+    method public Object[] getParameters();
+    method public java.util.ResourceBundle getResourceBundle();
+    method public String getResourceBundleName();
+    method public long getSequenceNumber();
+    method public String getSourceClassName();
+    method public String getSourceMethodName();
+    method public int getThreadID();
+    method public Throwable getThrown();
+    method public void setLevel(java.util.logging.Level);
+    method public void setLoggerName(String);
+    method public void setMessage(String);
+    method public void setMillis(long);
+    method public void setParameters(Object[]);
+    method public void setResourceBundle(java.util.ResourceBundle);
+    method public void setResourceBundleName(String);
+    method public void setSequenceNumber(long);
+    method public void setSourceClassName(String);
+    method public void setSourceMethodName(String);
+    method public void setThreadID(int);
+    method public void setThrown(Throwable);
+  }
+
+  public class Logger {
+    ctor protected Logger(@Nullable String, @Nullable String);
+    method public void addHandler(@NonNull java.util.logging.Handler) throws java.lang.SecurityException;
+    method public void config(@Nullable String);
+    method public void config(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public void entering(@Nullable String, @Nullable String);
+    method public void entering(@Nullable String, @Nullable String, @Nullable Object);
+    method public void entering(@Nullable String, @Nullable String, @Nullable Object[]);
+    method public void exiting(@Nullable String, @Nullable String);
+    method public void exiting(@Nullable String, @Nullable String, @Nullable Object);
+    method public void fine(@Nullable String);
+    method public void fine(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public void finer(@Nullable String);
+    method public void finer(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public void finest(@Nullable String);
+    method public void finest(@NonNull java.util.function.Supplier<java.lang.String>);
+    method @NonNull public static java.util.logging.Logger getAnonymousLogger();
+    method @NonNull public static java.util.logging.Logger getAnonymousLogger(@Nullable String);
+    method @Nullable public java.util.logging.Filter getFilter();
+    method @NonNull public static final java.util.logging.Logger getGlobal();
+    method @NonNull public java.util.logging.Handler[] getHandlers();
+    method @Nullable public java.util.logging.Level getLevel();
+    method @NonNull public static java.util.logging.Logger getLogger(@NonNull String);
+    method @NonNull public static java.util.logging.Logger getLogger(@NonNull String, @Nullable String);
+    method @Nullable public String getName();
+    method @Nullable public java.util.logging.Logger getParent();
+    method @Nullable public java.util.ResourceBundle getResourceBundle();
+    method @Nullable public String getResourceBundleName();
+    method public boolean getUseParentHandlers();
+    method public void info(@Nullable String);
+    method public void info(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public boolean isLoggable(@NonNull java.util.logging.Level);
+    method public void log(@NonNull java.util.logging.LogRecord);
+    method public void log(@NonNull java.util.logging.Level, @Nullable String);
+    method public void log(@NonNull java.util.logging.Level, @NonNull java.util.function.Supplier<java.lang.String>);
+    method public void log(@NonNull java.util.logging.Level, @Nullable String, @Nullable Object);
+    method public void log(@NonNull java.util.logging.Level, @Nullable String, @Nullable Object[]);
+    method public void log(@NonNull java.util.logging.Level, @Nullable String, @Nullable Throwable);
+    method public void log(@NonNull java.util.logging.Level, @Nullable Throwable, @NonNull java.util.function.Supplier<java.lang.String>);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @NonNull java.util.function.Supplier<java.lang.String>);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable Object);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable Object[]);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable Throwable);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable Throwable, @NonNull java.util.function.Supplier<java.lang.String>);
+    method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String);
+    method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String, @Nullable Object);
+    method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String, @Nullable Object[]);
+    method public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable java.util.ResourceBundle, @Nullable String, @Nullable java.lang.Object...);
+    method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String, @Nullable Throwable);
+    method public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable java.util.ResourceBundle, @Nullable String, @Nullable Throwable);
+    method public void removeHandler(@Nullable java.util.logging.Handler) throws java.lang.SecurityException;
+    method public void setFilter(@Nullable java.util.logging.Filter) throws java.lang.SecurityException;
+    method public void setLevel(@Nullable java.util.logging.Level) throws java.lang.SecurityException;
+    method public void setParent(@NonNull java.util.logging.Logger);
+    method public void setResourceBundle(@NonNull java.util.ResourceBundle);
+    method public void setUseParentHandlers(boolean);
+    method public void severe(@Nullable String);
+    method public void severe(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public void throwing(@Nullable String, @Nullable String, @Nullable Throwable);
+    method public void warning(@Nullable String);
+    method public void warning(@NonNull java.util.function.Supplier<java.lang.String>);
+    field @NonNull public static final String GLOBAL_LOGGER_NAME = "global";
+    field @Deprecated @NonNull public static final java.util.logging.Logger global;
+  }
+
+  public interface LoggingMXBean {
+    method public String getLoggerLevel(String);
+    method public java.util.List<java.lang.String> getLoggerNames();
+    method public String getParentLoggerName(String);
+    method public void setLoggerLevel(String, String);
+  }
+
+  public final class LoggingPermission extends java.security.BasicPermission {
+    ctor public LoggingPermission(String, String) throws java.lang.IllegalArgumentException;
+  }
+
+  public class MemoryHandler extends java.util.logging.Handler {
+    ctor public MemoryHandler();
+    ctor public MemoryHandler(java.util.logging.Handler, int, java.util.logging.Level);
+    method public void close() throws java.lang.SecurityException;
+    method public void flush();
+    method public java.util.logging.Level getPushLevel();
+    method public void publish(java.util.logging.LogRecord);
+    method public void push();
+    method public void setPushLevel(java.util.logging.Level) throws java.lang.SecurityException;
+  }
+
+  public class SimpleFormatter extends java.util.logging.Formatter {
+    ctor public SimpleFormatter();
+    method public String format(java.util.logging.LogRecord);
+  }
+
+  public class SocketHandler extends java.util.logging.StreamHandler {
+    ctor public SocketHandler() throws java.io.IOException;
+    ctor public SocketHandler(String, int) throws java.io.IOException;
+  }
+
+  public class StreamHandler extends java.util.logging.Handler {
+    ctor public StreamHandler();
+    ctor public StreamHandler(java.io.OutputStream, java.util.logging.Formatter);
+    method public void close() throws java.lang.SecurityException;
+    method public void flush();
+    method public void publish(java.util.logging.LogRecord);
+    method protected void setOutputStream(java.io.OutputStream) throws java.lang.SecurityException;
+  }
+
+  public class XMLFormatter extends java.util.logging.Formatter {
+    ctor public XMLFormatter();
+    method public String format(java.util.logging.LogRecord);
+  }
+
+}
+
+package java.util.prefs {
+
+  public abstract class AbstractPreferences extends java.util.prefs.Preferences {
+    ctor protected AbstractPreferences(java.util.prefs.AbstractPreferences, String);
+    method public String absolutePath();
+    method public void addNodeChangeListener(java.util.prefs.NodeChangeListener);
+    method public void addPreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+    method protected final java.util.prefs.AbstractPreferences[] cachedChildren();
+    method protected abstract java.util.prefs.AbstractPreferences childSpi(String);
+    method public String[] childrenNames() throws java.util.prefs.BackingStoreException;
+    method protected abstract String[] childrenNamesSpi() throws java.util.prefs.BackingStoreException;
+    method public void clear() throws java.util.prefs.BackingStoreException;
+    method public void exportNode(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+    method public void exportSubtree(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+    method public void flush() throws java.util.prefs.BackingStoreException;
+    method protected abstract void flushSpi() throws java.util.prefs.BackingStoreException;
+    method public String get(String, String);
+    method public boolean getBoolean(String, boolean);
+    method public byte[] getByteArray(String, byte[]);
+    method protected java.util.prefs.AbstractPreferences getChild(String) throws java.util.prefs.BackingStoreException;
+    method public double getDouble(String, double);
+    method public float getFloat(String, float);
+    method public int getInt(String, int);
+    method public long getLong(String, long);
+    method protected abstract String getSpi(String);
+    method protected boolean isRemoved();
+    method public boolean isUserNode();
+    method public String[] keys() throws java.util.prefs.BackingStoreException;
+    method protected abstract String[] keysSpi() throws java.util.prefs.BackingStoreException;
+    method public String name();
+    method public java.util.prefs.Preferences node(String);
+    method public boolean nodeExists(String) throws java.util.prefs.BackingStoreException;
+    method public java.util.prefs.Preferences parent();
+    method public void put(String, String);
+    method public void putBoolean(String, boolean);
+    method public void putByteArray(String, byte[]);
+    method public void putDouble(String, double);
+    method public void putFloat(String, float);
+    method public void putInt(String, int);
+    method public void putLong(String, long);
+    method protected abstract void putSpi(String, String);
+    method public void remove(String);
+    method public void removeNode() throws java.util.prefs.BackingStoreException;
+    method public void removeNodeChangeListener(java.util.prefs.NodeChangeListener);
+    method protected abstract void removeNodeSpi() throws java.util.prefs.BackingStoreException;
+    method public void removePreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+    method protected abstract void removeSpi(String);
+    method public void sync() throws java.util.prefs.BackingStoreException;
+    method protected abstract void syncSpi() throws java.util.prefs.BackingStoreException;
+    field protected final Object lock;
+    field protected boolean newNode;
+  }
+
+  public class BackingStoreException extends java.lang.Exception {
+    ctor public BackingStoreException(String);
+    ctor public BackingStoreException(Throwable);
+  }
+
+  public class InvalidPreferencesFormatException extends java.lang.Exception {
+    ctor public InvalidPreferencesFormatException(Throwable);
+    ctor public InvalidPreferencesFormatException(String);
+    ctor public InvalidPreferencesFormatException(String, Throwable);
+  }
+
+  public class NodeChangeEvent extends java.util.EventObject {
+    ctor public NodeChangeEvent(java.util.prefs.Preferences, java.util.prefs.Preferences);
+    method public java.util.prefs.Preferences getChild();
+    method public java.util.prefs.Preferences getParent();
+  }
+
+  public interface NodeChangeListener extends java.util.EventListener {
+    method public void childAdded(java.util.prefs.NodeChangeEvent);
+    method public void childRemoved(java.util.prefs.NodeChangeEvent);
+  }
+
+  public class PreferenceChangeEvent extends java.util.EventObject {
+    ctor public PreferenceChangeEvent(java.util.prefs.Preferences, String, String);
+    method public String getKey();
+    method public String getNewValue();
+    method public java.util.prefs.Preferences getNode();
+  }
+
+  @java.lang.FunctionalInterface public interface PreferenceChangeListener extends java.util.EventListener {
+    method public void preferenceChange(java.util.prefs.PreferenceChangeEvent);
+  }
+
+  public abstract class Preferences {
+    ctor protected Preferences();
+    method public abstract String absolutePath();
+    method public abstract void addNodeChangeListener(java.util.prefs.NodeChangeListener);
+    method public abstract void addPreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+    method public abstract String[] childrenNames() throws java.util.prefs.BackingStoreException;
+    method public abstract void clear() throws java.util.prefs.BackingStoreException;
+    method public abstract void exportNode(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+    method public abstract void exportSubtree(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+    method public abstract void flush() throws java.util.prefs.BackingStoreException;
+    method public abstract String get(String, String);
+    method public abstract boolean getBoolean(String, boolean);
+    method public abstract byte[] getByteArray(String, byte[]);
+    method public abstract double getDouble(String, double);
+    method public abstract float getFloat(String, float);
+    method public abstract int getInt(String, int);
+    method public abstract long getLong(String, long);
+    method public static void importPreferences(java.io.InputStream) throws java.io.IOException, java.util.prefs.InvalidPreferencesFormatException;
+    method public abstract boolean isUserNode();
+    method public abstract String[] keys() throws java.util.prefs.BackingStoreException;
+    method public abstract String name();
+    method public abstract java.util.prefs.Preferences node(String);
+    method public abstract boolean nodeExists(String) throws java.util.prefs.BackingStoreException;
+    method public abstract java.util.prefs.Preferences parent();
+    method public abstract void put(String, String);
+    method public abstract void putBoolean(String, boolean);
+    method public abstract void putByteArray(String, byte[]);
+    method public abstract void putDouble(String, double);
+    method public abstract void putFloat(String, float);
+    method public abstract void putInt(String, int);
+    method public abstract void putLong(String, long);
+    method public abstract void remove(String);
+    method public abstract void removeNode() throws java.util.prefs.BackingStoreException;
+    method public abstract void removeNodeChangeListener(java.util.prefs.NodeChangeListener);
+    method public abstract void removePreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+    method public abstract void sync() throws java.util.prefs.BackingStoreException;
+    method public static java.util.prefs.Preferences systemNodeForPackage(Class<?>);
+    method public static java.util.prefs.Preferences systemRoot();
+    method public abstract String toString();
+    method public static java.util.prefs.Preferences userNodeForPackage(Class<?>);
+    method public static java.util.prefs.Preferences userRoot();
+    field public static final int MAX_KEY_LENGTH = 80; // 0x50
+    field public static final int MAX_NAME_LENGTH = 80; // 0x50
+    field public static final int MAX_VALUE_LENGTH = 8192; // 0x2000
+  }
+
+  public interface PreferencesFactory {
+    method public java.util.prefs.Preferences systemRoot();
+    method public java.util.prefs.Preferences userRoot();
+  }
+
+}
+
+package java.util.regex {
+
+  public interface MatchResult {
+    method public int end();
+    method public int end(int);
+    method public String group();
+    method public String group(int);
+    method public int groupCount();
+    method public int start();
+    method public int start(int);
+  }
+
+  public final class Matcher implements java.util.regex.MatchResult {
+    method @NonNull public java.util.regex.Matcher appendReplacement(@NonNull StringBuffer, @NonNull String);
+    method @NonNull public StringBuffer appendTail(@NonNull StringBuffer);
+    method public int end();
+    method public int end(int);
+    method public int end(@NonNull String);
+    method public boolean find();
+    method public boolean find(int);
+    method @NonNull public String group();
+    method @Nullable public String group(int);
+    method @Nullable public String group(@NonNull String);
+    method public int groupCount();
+    method public boolean hasAnchoringBounds();
+    method public boolean hasTransparentBounds();
+    method public boolean hitEnd();
+    method public boolean lookingAt();
+    method public boolean matches();
+    method @NonNull public java.util.regex.Pattern pattern();
+    method @NonNull public static String quoteReplacement(@NonNull String);
+    method @NonNull public java.util.regex.Matcher region(int, int);
+    method public int regionEnd();
+    method public int regionStart();
+    method @NonNull public String replaceAll(@NonNull String);
+    method @NonNull public String replaceFirst(@NonNull String);
+    method public boolean requireEnd();
+    method @NonNull public java.util.regex.Matcher reset();
+    method @NonNull public java.util.regex.Matcher reset(@NonNull CharSequence);
+    method public int start();
+    method public int start(int);
+    method public int start(@NonNull String);
+    method @NonNull public java.util.regex.MatchResult toMatchResult();
+    method @NonNull public java.util.regex.Matcher useAnchoringBounds(boolean);
+    method @NonNull public java.util.regex.Matcher usePattern(@NonNull java.util.regex.Pattern);
+    method @NonNull public java.util.regex.Matcher useTransparentBounds(boolean);
+  }
+
+  public final class Pattern implements java.io.Serializable {
+    method @NonNull public java.util.function.Predicate<java.lang.String> asPredicate();
+    method @NonNull public static java.util.regex.Pattern compile(@NonNull String);
+    method @NonNull public static java.util.regex.Pattern compile(@NonNull String, int);
+    method public int flags();
+    method @NonNull public java.util.regex.Matcher matcher(@NonNull CharSequence);
+    method public static boolean matches(@NonNull String, @NonNull CharSequence);
+    method @NonNull public String pattern();
+    method @NonNull public static String quote(@NonNull String);
+    method @NonNull public String[] split(@NonNull CharSequence, int);
+    method @NonNull public String[] split(@NonNull CharSequence);
+    method @NonNull public java.util.stream.Stream<java.lang.String> splitAsStream(@NonNull CharSequence);
+    field public static final int CANON_EQ = 128; // 0x80
+    field public static final int CASE_INSENSITIVE = 2; // 0x2
+    field public static final int COMMENTS = 4; // 0x4
+    field public static final int DOTALL = 32; // 0x20
+    field public static final int LITERAL = 16; // 0x10
+    field public static final int MULTILINE = 8; // 0x8
+    field public static final int UNICODE_CASE = 64; // 0x40
+    field public static final int UNICODE_CHARACTER_CLASS = 256; // 0x100
+    field public static final int UNIX_LINES = 1; // 0x1
+  }
+
+  public class PatternSyntaxException extends java.lang.IllegalArgumentException {
+    ctor public PatternSyntaxException(String, String, int);
+    method public String getDescription();
+    method public int getIndex();
+    method public String getPattern();
+  }
+
+}
+
+package java.util.stream {
+
+  public interface BaseStream<T, S extends java.util.stream.BaseStream<T, S>> extends java.lang.AutoCloseable {
+    method public void close();
+    method public boolean isParallel();
+    method public java.util.Iterator<T> iterator();
+    method public S onClose(Runnable);
+    method public S parallel();
+    method public S sequential();
+    method public java.util.Spliterator<T> spliterator();
+    method public S unordered();
+  }
+
+  public interface Collector<T, A, R> {
+    method public java.util.function.BiConsumer<A,T> accumulator();
+    method public java.util.Set<java.util.stream.Collector.Characteristics> characteristics();
+    method public java.util.function.BinaryOperator<A> combiner();
+    method public java.util.function.Function<A,R> finisher();
+    method public static <T, R> java.util.stream.Collector<T,R,R> of(java.util.function.Supplier<R>, java.util.function.BiConsumer<R,T>, java.util.function.BinaryOperator<R>, java.util.stream.Collector.Characteristics...);
+    method public static <T, A, R> java.util.stream.Collector<T,A,R> of(java.util.function.Supplier<A>, java.util.function.BiConsumer<A,T>, java.util.function.BinaryOperator<A>, java.util.function.Function<A,R>, java.util.stream.Collector.Characteristics...);
+    method public java.util.function.Supplier<A> supplier();
+  }
+
+  public enum Collector.Characteristics {
+    enum_constant public static final java.util.stream.Collector.Characteristics CONCURRENT;
+    enum_constant public static final java.util.stream.Collector.Characteristics IDENTITY_FINISH;
+    enum_constant public static final java.util.stream.Collector.Characteristics UNORDERED;
+  }
+
+  public final class Collectors {
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Double> averagingDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Double> averagingInt(java.util.function.ToIntFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Double> averagingLong(java.util.function.ToLongFunction<? super T>);
+    method public static <T, A, R, RR> java.util.stream.Collector<T,A,RR> collectingAndThen(java.util.stream.Collector<T,A,R>, java.util.function.Function<R,RR>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Long> counting();
+    method public static <T, K> java.util.stream.Collector<T,?,java.util.Map<K,java.util.List<T>>> groupingBy(java.util.function.Function<? super T,? extends K>);
+    method public static <T, K, A, D> java.util.stream.Collector<T,?,java.util.Map<K,D>> groupingBy(java.util.function.Function<? super T,? extends K>, java.util.stream.Collector<? super T,A,D>);
+    method public static <T, K, D, A, M extends java.util.Map<K, D>> java.util.stream.Collector<T,?,M> groupingBy(java.util.function.Function<? super T,? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T,A,D>);
+    method public static <T, K> java.util.stream.Collector<T,?,java.util.concurrent.ConcurrentMap<K,java.util.List<T>>> groupingByConcurrent(java.util.function.Function<? super T,? extends K>);
+    method public static <T, K, A, D> java.util.stream.Collector<T,?,java.util.concurrent.ConcurrentMap<K,D>> groupingByConcurrent(java.util.function.Function<? super T,? extends K>, java.util.stream.Collector<? super T,A,D>);
+    method public static <T, K, A, D, M extends java.util.concurrent.ConcurrentMap<K, D>> java.util.stream.Collector<T,?,M> groupingByConcurrent(java.util.function.Function<? super T,? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T,A,D>);
+    method public static java.util.stream.Collector<java.lang.CharSequence,?,java.lang.String> joining();
+    method public static java.util.stream.Collector<java.lang.CharSequence,?,java.lang.String> joining(CharSequence);
+    method public static java.util.stream.Collector<java.lang.CharSequence,?,java.lang.String> joining(CharSequence, CharSequence, CharSequence);
+    method public static <T, U, A, R> java.util.stream.Collector<T,?,R> mapping(java.util.function.Function<? super T,? extends U>, java.util.stream.Collector<? super U,A,R>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.Optional<T>> maxBy(java.util.Comparator<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.Optional<T>> minBy(java.util.Comparator<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.Map<java.lang.Boolean,java.util.List<T>>> partitioningBy(java.util.function.Predicate<? super T>);
+    method public static <T, D, A> java.util.stream.Collector<T,?,java.util.Map<java.lang.Boolean,D>> partitioningBy(java.util.function.Predicate<? super T>, java.util.stream.Collector<? super T,A,D>);
+    method public static <T> java.util.stream.Collector<T,?,T> reducing(T, java.util.function.BinaryOperator<T>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.Optional<T>> reducing(java.util.function.BinaryOperator<T>);
+    method public static <T, U> java.util.stream.Collector<T,?,U> reducing(U, java.util.function.Function<? super T,? extends U>, java.util.function.BinaryOperator<U>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.DoubleSummaryStatistics> summarizingDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.IntSummaryStatistics> summarizingInt(java.util.function.ToIntFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.LongSummaryStatistics> summarizingLong(java.util.function.ToLongFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Double> summingDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Integer> summingInt(java.util.function.ToIntFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Long> summingLong(java.util.function.ToLongFunction<? super T>);
+    method public static <T, C extends java.util.Collection<T>> java.util.stream.Collector<T,?,C> toCollection(java.util.function.Supplier<C>);
+    method public static <T, K, U> java.util.stream.Collector<T,?,java.util.concurrent.ConcurrentMap<K,U>> toConcurrentMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>);
+    method public static <T, K, U> java.util.stream.Collector<T,?,java.util.concurrent.ConcurrentMap<K,U>> toConcurrentMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>, java.util.function.BinaryOperator<U>);
+    method public static <T, K, U, M extends java.util.concurrent.ConcurrentMap<K, U>> java.util.stream.Collector<T,?,M> toConcurrentMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.List<T>> toList();
+    method public static <T, K, U> java.util.stream.Collector<T,?,java.util.Map<K,U>> toMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>);
+    method public static <T, K, U> java.util.stream.Collector<T,?,java.util.Map<K,U>> toMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>, java.util.function.BinaryOperator<U>);
+    method public static <T, K, U, M extends java.util.Map<K, U>> java.util.stream.Collector<T,?,M> toMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.Set<T>> toSet();
+  }
+
+  public interface DoubleStream extends java.util.stream.BaseStream<java.lang.Double,java.util.stream.DoubleStream> {
+    method public boolean allMatch(java.util.function.DoublePredicate);
+    method public boolean anyMatch(java.util.function.DoublePredicate);
+    method public java.util.OptionalDouble average();
+    method public java.util.stream.Stream<java.lang.Double> boxed();
+    method public static java.util.stream.DoubleStream.Builder builder();
+    method public <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjDoubleConsumer<R>, java.util.function.BiConsumer<R,R>);
+    method public static java.util.stream.DoubleStream concat(java.util.stream.DoubleStream, java.util.stream.DoubleStream);
+    method public long count();
+    method public java.util.stream.DoubleStream distinct();
+    method public static java.util.stream.DoubleStream empty();
+    method public java.util.stream.DoubleStream filter(java.util.function.DoublePredicate);
+    method public java.util.OptionalDouble findAny();
+    method public java.util.OptionalDouble findFirst();
+    method public java.util.stream.DoubleStream flatMap(java.util.function.DoubleFunction<? extends java.util.stream.DoubleStream>);
+    method public void forEach(java.util.function.DoubleConsumer);
+    method public void forEachOrdered(java.util.function.DoubleConsumer);
+    method public static java.util.stream.DoubleStream generate(java.util.function.DoubleSupplier);
+    method public static java.util.stream.DoubleStream iterate(double, java.util.function.DoubleUnaryOperator);
+    method public java.util.PrimitiveIterator.OfDouble iterator();
+    method public java.util.stream.DoubleStream limit(long);
+    method public java.util.stream.DoubleStream map(java.util.function.DoubleUnaryOperator);
+    method public java.util.stream.IntStream mapToInt(java.util.function.DoubleToIntFunction);
+    method public java.util.stream.LongStream mapToLong(java.util.function.DoubleToLongFunction);
+    method public <U> java.util.stream.Stream<U> mapToObj(java.util.function.DoubleFunction<? extends U>);
+    method public java.util.OptionalDouble max();
+    method public java.util.OptionalDouble min();
+    method public boolean noneMatch(java.util.function.DoublePredicate);
+    method public static java.util.stream.DoubleStream of(double);
+    method public static java.util.stream.DoubleStream of(double...);
+    method public java.util.stream.DoubleStream parallel();
+    method public java.util.stream.DoubleStream peek(java.util.function.DoubleConsumer);
+    method public double reduce(double, java.util.function.DoubleBinaryOperator);
+    method public java.util.OptionalDouble reduce(java.util.function.DoubleBinaryOperator);
+    method public java.util.stream.DoubleStream sequential();
+    method public java.util.stream.DoubleStream skip(long);
+    method public java.util.stream.DoubleStream sorted();
+    method public java.util.Spliterator.OfDouble spliterator();
+    method public double sum();
+    method public java.util.DoubleSummaryStatistics summaryStatistics();
+    method public double[] toArray();
+  }
+
+  public static interface DoubleStream.Builder extends java.util.function.DoubleConsumer {
+    method public default java.util.stream.DoubleStream.Builder add(double);
+    method public java.util.stream.DoubleStream build();
+  }
+
+  public interface IntStream extends java.util.stream.BaseStream<java.lang.Integer,java.util.stream.IntStream> {
+    method public boolean allMatch(java.util.function.IntPredicate);
+    method public boolean anyMatch(java.util.function.IntPredicate);
+    method public java.util.stream.DoubleStream asDoubleStream();
+    method public java.util.stream.LongStream asLongStream();
+    method public java.util.OptionalDouble average();
+    method public java.util.stream.Stream<java.lang.Integer> boxed();
+    method public static java.util.stream.IntStream.Builder builder();
+    method public <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjIntConsumer<R>, java.util.function.BiConsumer<R,R>);
+    method public static java.util.stream.IntStream concat(java.util.stream.IntStream, java.util.stream.IntStream);
+    method public long count();
+    method public java.util.stream.IntStream distinct();
+    method public static java.util.stream.IntStream empty();
+    method public java.util.stream.IntStream filter(java.util.function.IntPredicate);
+    method public java.util.OptionalInt findAny();
+    method public java.util.OptionalInt findFirst();
+    method public java.util.stream.IntStream flatMap(java.util.function.IntFunction<? extends java.util.stream.IntStream>);
+    method public void forEach(java.util.function.IntConsumer);
+    method public void forEachOrdered(java.util.function.IntConsumer);
+    method public static java.util.stream.IntStream generate(java.util.function.IntSupplier);
+    method public static java.util.stream.IntStream iterate(int, java.util.function.IntUnaryOperator);
+    method public java.util.PrimitiveIterator.OfInt iterator();
+    method public java.util.stream.IntStream limit(long);
+    method public java.util.stream.IntStream map(java.util.function.IntUnaryOperator);
+    method public java.util.stream.DoubleStream mapToDouble(java.util.function.IntToDoubleFunction);
+    method public java.util.stream.LongStream mapToLong(java.util.function.IntToLongFunction);
+    method public <U> java.util.stream.Stream<U> mapToObj(java.util.function.IntFunction<? extends U>);
+    method public java.util.OptionalInt max();
+    method public java.util.OptionalInt min();
+    method public boolean noneMatch(java.util.function.IntPredicate);
+    method public static java.util.stream.IntStream of(int);
+    method public static java.util.stream.IntStream of(int...);
+    method public java.util.stream.IntStream parallel();
+    method public java.util.stream.IntStream peek(java.util.function.IntConsumer);
+    method public static java.util.stream.IntStream range(int, int);
+    method public static java.util.stream.IntStream rangeClosed(int, int);
+    method public int reduce(int, java.util.function.IntBinaryOperator);
+    method public java.util.OptionalInt reduce(java.util.function.IntBinaryOperator);
+    method public java.util.stream.IntStream sequential();
+    method public java.util.stream.IntStream skip(long);
+    method public java.util.stream.IntStream sorted();
+    method public java.util.Spliterator.OfInt spliterator();
+    method public int sum();
+    method public java.util.IntSummaryStatistics summaryStatistics();
+    method public int[] toArray();
+  }
+
+  public static interface IntStream.Builder extends java.util.function.IntConsumer {
+    method public default java.util.stream.IntStream.Builder add(int);
+    method public java.util.stream.IntStream build();
+  }
+
+  public interface LongStream extends java.util.stream.BaseStream<java.lang.Long,java.util.stream.LongStream> {
+    method public boolean allMatch(java.util.function.LongPredicate);
+    method public boolean anyMatch(java.util.function.LongPredicate);
+    method public java.util.stream.DoubleStream asDoubleStream();
+    method public java.util.OptionalDouble average();
+    method public java.util.stream.Stream<java.lang.Long> boxed();
+    method public static java.util.stream.LongStream.Builder builder();
+    method public <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjLongConsumer<R>, java.util.function.BiConsumer<R,R>);
+    method public static java.util.stream.LongStream concat(java.util.stream.LongStream, java.util.stream.LongStream);
+    method public long count();
+    method public java.util.stream.LongStream distinct();
+    method public static java.util.stream.LongStream empty();
+    method public java.util.stream.LongStream filter(java.util.function.LongPredicate);
+    method public java.util.OptionalLong findAny();
+    method public java.util.OptionalLong findFirst();
+    method public java.util.stream.LongStream flatMap(java.util.function.LongFunction<? extends java.util.stream.LongStream>);
+    method public void forEach(java.util.function.LongConsumer);
+    method public void forEachOrdered(java.util.function.LongConsumer);
+    method public static java.util.stream.LongStream generate(java.util.function.LongSupplier);
+    method public static java.util.stream.LongStream iterate(long, java.util.function.LongUnaryOperator);
+    method public java.util.PrimitiveIterator.OfLong iterator();
+    method public java.util.stream.LongStream limit(long);
+    method public java.util.stream.LongStream map(java.util.function.LongUnaryOperator);
+    method public java.util.stream.DoubleStream mapToDouble(java.util.function.LongToDoubleFunction);
+    method public java.util.stream.IntStream mapToInt(java.util.function.LongToIntFunction);
+    method public <U> java.util.stream.Stream<U> mapToObj(java.util.function.LongFunction<? extends U>);
+    method public java.util.OptionalLong max();
+    method public java.util.OptionalLong min();
+    method public boolean noneMatch(java.util.function.LongPredicate);
+    method public static java.util.stream.LongStream of(long);
+    method public static java.util.stream.LongStream of(long...);
+    method public java.util.stream.LongStream parallel();
+    method public java.util.stream.LongStream peek(java.util.function.LongConsumer);
+    method public static java.util.stream.LongStream range(long, long);
+    method public static java.util.stream.LongStream rangeClosed(long, long);
+    method public long reduce(long, java.util.function.LongBinaryOperator);
+    method public java.util.OptionalLong reduce(java.util.function.LongBinaryOperator);
+    method public java.util.stream.LongStream sequential();
+    method public java.util.stream.LongStream skip(long);
+    method public java.util.stream.LongStream sorted();
+    method public java.util.Spliterator.OfLong spliterator();
+    method public long sum();
+    method public java.util.LongSummaryStatistics summaryStatistics();
+    method public long[] toArray();
+  }
+
+  public static interface LongStream.Builder extends java.util.function.LongConsumer {
+    method public default java.util.stream.LongStream.Builder add(long);
+    method public java.util.stream.LongStream build();
+  }
+
+  public interface Stream<T> extends java.util.stream.BaseStream<T,java.util.stream.Stream<T>> {
+    method public boolean allMatch(java.util.function.Predicate<? super T>);
+    method public boolean anyMatch(java.util.function.Predicate<? super T>);
+    method public static <T> java.util.stream.Stream.Builder<T> builder();
+    method public <R> R collect(java.util.function.Supplier<R>, java.util.function.BiConsumer<R,? super T>, java.util.function.BiConsumer<R,R>);
+    method public <R, A> R collect(java.util.stream.Collector<? super T,A,R>);
+    method public static <T> java.util.stream.Stream<T> concat(java.util.stream.Stream<? extends T>, java.util.stream.Stream<? extends T>);
+    method public long count();
+    method public java.util.stream.Stream<T> distinct();
+    method public static <T> java.util.stream.Stream<T> empty();
+    method public java.util.stream.Stream<T> filter(java.util.function.Predicate<? super T>);
+    method public java.util.Optional<T> findAny();
+    method public java.util.Optional<T> findFirst();
+    method public <R> java.util.stream.Stream<R> flatMap(java.util.function.Function<? super T,? extends java.util.stream.Stream<? extends R>>);
+    method public java.util.stream.DoubleStream flatMapToDouble(java.util.function.Function<? super T,? extends java.util.stream.DoubleStream>);
+    method public java.util.stream.IntStream flatMapToInt(java.util.function.Function<? super T,? extends java.util.stream.IntStream>);
+    method public java.util.stream.LongStream flatMapToLong(java.util.function.Function<? super T,? extends java.util.stream.LongStream>);
+    method public void forEach(java.util.function.Consumer<? super T>);
+    method public void forEachOrdered(java.util.function.Consumer<? super T>);
+    method public static <T> java.util.stream.Stream<T> generate(java.util.function.Supplier<T>);
+    method public static <T> java.util.stream.Stream<T> iterate(T, java.util.function.UnaryOperator<T>);
+    method public java.util.stream.Stream<T> limit(long);
+    method public <R> java.util.stream.Stream<R> map(java.util.function.Function<? super T,? extends R>);
+    method public java.util.stream.DoubleStream mapToDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public java.util.stream.IntStream mapToInt(java.util.function.ToIntFunction<? super T>);
+    method public java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction<? super T>);
+    method public java.util.Optional<T> max(java.util.Comparator<? super T>);
+    method public java.util.Optional<T> min(java.util.Comparator<? super T>);
+    method public boolean noneMatch(java.util.function.Predicate<? super T>);
+    method public static <T> java.util.stream.Stream<T> of(T);
+    method @java.lang.SafeVarargs public static <T> java.util.stream.Stream<T> of(T...);
+    method public java.util.stream.Stream<T> peek(java.util.function.Consumer<? super T>);
+    method public T reduce(T, java.util.function.BinaryOperator<T>);
+    method public java.util.Optional<T> reduce(java.util.function.BinaryOperator<T>);
+    method public <U> U reduce(U, java.util.function.BiFunction<U,? super T,U>, java.util.function.BinaryOperator<U>);
+    method public java.util.stream.Stream<T> skip(long);
+    method public java.util.stream.Stream<T> sorted();
+    method public java.util.stream.Stream<T> sorted(java.util.Comparator<? super T>);
+    method public Object[] toArray();
+    method public <A> A[] toArray(java.util.function.IntFunction<A[]>);
+  }
+
+  public static interface Stream.Builder<T> extends java.util.function.Consumer<T> {
+    method public default java.util.stream.Stream.Builder<T> add(T);
+    method public java.util.stream.Stream<T> build();
+  }
+
+  public final class StreamSupport {
+    method public static java.util.stream.DoubleStream doubleStream(java.util.Spliterator.OfDouble, boolean);
+    method public static java.util.stream.DoubleStream doubleStream(java.util.function.Supplier<? extends java.util.Spliterator.OfDouble>, int, boolean);
+    method public static java.util.stream.IntStream intStream(java.util.Spliterator.OfInt, boolean);
+    method public static java.util.stream.IntStream intStream(java.util.function.Supplier<? extends java.util.Spliterator.OfInt>, int, boolean);
+    method public static java.util.stream.LongStream longStream(java.util.Spliterator.OfLong, boolean);
+    method public static java.util.stream.LongStream longStream(java.util.function.Supplier<? extends java.util.Spliterator.OfLong>, int, boolean);
+    method public static <T> java.util.stream.Stream<T> stream(java.util.Spliterator<T>, boolean);
+    method public static <T> java.util.stream.Stream<T> stream(java.util.function.Supplier<? extends java.util.Spliterator<T>>, int, boolean);
+  }
+
+}
+
+package java.util.zip {
+
+  public class Adler32 implements java.util.zip.Checksum {
+    ctor public Adler32();
+    method public long getValue();
+    method public void reset();
+    method public void update(int);
+    method public void update(byte[], int, int);
+    method public void update(byte[]);
+    method public void update(java.nio.ByteBuffer);
+  }
+
+  public class CRC32 implements java.util.zip.Checksum {
+    ctor public CRC32();
+    method public long getValue();
+    method public void reset();
+    method public void update(int);
+    method public void update(byte[], int, int);
+    method public void update(byte[]);
+    method public void update(java.nio.ByteBuffer);
+  }
+
+  public class CheckedInputStream extends java.io.FilterInputStream {
+    ctor public CheckedInputStream(java.io.InputStream, java.util.zip.Checksum);
+    method public java.util.zip.Checksum getChecksum();
+  }
+
+  public class CheckedOutputStream extends java.io.FilterOutputStream {
+    ctor public CheckedOutputStream(java.io.OutputStream, java.util.zip.Checksum);
+    method public java.util.zip.Checksum getChecksum();
+  }
+
+  public interface Checksum {
+    method public long getValue();
+    method public void reset();
+    method public void update(int);
+    method public void update(byte[], int, int);
+  }
+
+  public class DataFormatException extends java.lang.Exception {
+    ctor public DataFormatException();
+    ctor public DataFormatException(String);
+  }
+
+  public class Deflater {
+    ctor public Deflater(int, boolean);
+    ctor public Deflater(int);
+    ctor public Deflater();
+    method public int deflate(byte[], int, int);
+    method public int deflate(byte[]);
+    method public int deflate(byte[], int, int, int);
+    method public void end();
+    method protected void finalize();
+    method public void finish();
+    method public boolean finished();
+    method public int getAdler();
+    method public long getBytesRead();
+    method public long getBytesWritten();
+    method public int getTotalIn();
+    method public int getTotalOut();
+    method public boolean needsInput();
+    method public void reset();
+    method public void setDictionary(byte[], int, int);
+    method public void setDictionary(byte[]);
+    method public void setInput(byte[], int, int);
+    method public void setInput(byte[]);
+    method public void setLevel(int);
+    method public void setStrategy(int);
+    field public static final int BEST_COMPRESSION = 9; // 0x9
+    field public static final int BEST_SPEED = 1; // 0x1
+    field public static final int DEFAULT_COMPRESSION = -1; // 0xffffffff
+    field public static final int DEFAULT_STRATEGY = 0; // 0x0
+    field public static final int DEFLATED = 8; // 0x8
+    field public static final int FILTERED = 1; // 0x1
+    field public static final int FULL_FLUSH = 3; // 0x3
+    field public static final int HUFFMAN_ONLY = 2; // 0x2
+    field public static final int NO_COMPRESSION = 0; // 0x0
+    field public static final int NO_FLUSH = 0; // 0x0
+    field public static final int SYNC_FLUSH = 2; // 0x2
+  }
+
+  public class DeflaterInputStream extends java.io.FilterInputStream {
+    ctor public DeflaterInputStream(java.io.InputStream);
+    ctor public DeflaterInputStream(java.io.InputStream, java.util.zip.Deflater);
+    ctor public DeflaterInputStream(java.io.InputStream, java.util.zip.Deflater, int);
+    field protected final byte[] buf;
+    field protected final java.util.zip.Deflater def;
+  }
+
+  public class DeflaterOutputStream extends java.io.FilterOutputStream {
+    ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater, int, boolean);
+    ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater, int);
+    ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater, boolean);
+    ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater);
+    ctor public DeflaterOutputStream(java.io.OutputStream, boolean);
+    ctor public DeflaterOutputStream(java.io.OutputStream);
+    method protected void deflate() throws java.io.IOException;
+    method public void finish() throws java.io.IOException;
+    field protected byte[] buf;
+    field protected java.util.zip.Deflater def;
+  }
+
+  public class GZIPInputStream extends java.util.zip.InflaterInputStream {
+    ctor public GZIPInputStream(java.io.InputStream, int) throws java.io.IOException;
+    ctor public GZIPInputStream(java.io.InputStream) throws java.io.IOException;
+    field public static final int GZIP_MAGIC = 35615; // 0x8b1f
+    field protected java.util.zip.CRC32 crc;
+    field protected boolean eos;
+  }
+
+  public class GZIPOutputStream extends java.util.zip.DeflaterOutputStream {
+    ctor public GZIPOutputStream(java.io.OutputStream, int) throws java.io.IOException;
+    ctor public GZIPOutputStream(java.io.OutputStream, int, boolean) throws java.io.IOException;
+    ctor public GZIPOutputStream(java.io.OutputStream) throws java.io.IOException;
+    ctor public GZIPOutputStream(java.io.OutputStream, boolean) throws java.io.IOException;
+    field protected java.util.zip.CRC32 crc;
+  }
+
+  public class Inflater {
+    ctor public Inflater(boolean);
+    ctor public Inflater();
+    method public void end();
+    method protected void finalize();
+    method public boolean finished();
+    method public int getAdler();
+    method public long getBytesRead();
+    method public long getBytesWritten();
+    method public int getRemaining();
+    method public int getTotalIn();
+    method public int getTotalOut();
+    method public int inflate(byte[], int, int) throws java.util.zip.DataFormatException;
+    method public int inflate(byte[]) throws java.util.zip.DataFormatException;
+    method public boolean needsDictionary();
+    method public boolean needsInput();
+    method public void reset();
+    method public void setDictionary(byte[], int, int);
+    method public void setDictionary(byte[]);
+    method public void setInput(byte[], int, int);
+    method public void setInput(byte[]);
+  }
+
+  public class InflaterInputStream extends java.io.FilterInputStream {
+    ctor public InflaterInputStream(java.io.InputStream, java.util.zip.Inflater, int);
+    ctor public InflaterInputStream(java.io.InputStream, java.util.zip.Inflater);
+    ctor public InflaterInputStream(java.io.InputStream);
+    method protected void fill() throws java.io.IOException;
+    field protected byte[] buf;
+    field @Deprecated protected boolean closed;
+    field protected java.util.zip.Inflater inf;
+    field protected int len;
+  }
+
+  public class InflaterOutputStream extends java.io.FilterOutputStream {
+    ctor public InflaterOutputStream(java.io.OutputStream);
+    ctor public InflaterOutputStream(java.io.OutputStream, java.util.zip.Inflater);
+    ctor public InflaterOutputStream(java.io.OutputStream, java.util.zip.Inflater, int);
+    method public void finish() throws java.io.IOException;
+    field protected final byte[] buf;
+    field protected final java.util.zip.Inflater inf;
+  }
+
+  public class ZipEntry implements java.lang.Cloneable {
+    ctor public ZipEntry(String);
+    ctor public ZipEntry(java.util.zip.ZipEntry);
+    method public Object clone();
+    method public String getComment();
+    method public long getCompressedSize();
+    method public long getCrc();
+    method public java.nio.file.attribute.FileTime getCreationTime();
+    method public byte[] getExtra();
+    method public java.nio.file.attribute.FileTime getLastAccessTime();
+    method public java.nio.file.attribute.FileTime getLastModifiedTime();
+    method public int getMethod();
+    method public String getName();
+    method public long getSize();
+    method public long getTime();
+    method public boolean isDirectory();
+    method public void setComment(String);
+    method public void setCompressedSize(long);
+    method public void setCrc(long);
+    method public java.util.zip.ZipEntry setCreationTime(java.nio.file.attribute.FileTime);
+    method public void setExtra(byte[]);
+    method public java.util.zip.ZipEntry setLastAccessTime(java.nio.file.attribute.FileTime);
+    method public java.util.zip.ZipEntry setLastModifiedTime(java.nio.file.attribute.FileTime);
+    method public void setMethod(int);
+    method public void setSize(long);
+    method public void setTime(long);
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int DEFLATED = 8; // 0x8
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+    field public static final int STORED = 0; // 0x0
+  }
+
+  public class ZipError extends java.lang.InternalError {
+    ctor public ZipError(String);
+  }
+
+  public class ZipException extends java.io.IOException {
+    ctor public ZipException();
+    ctor public ZipException(String);
+  }
+
+  public class ZipFile implements java.io.Closeable {
+    ctor public ZipFile(String) throws java.io.IOException;
+    ctor public ZipFile(java.io.File, int) throws java.io.IOException;
+    ctor public ZipFile(java.io.File) throws java.io.IOException, java.util.zip.ZipException;
+    ctor public ZipFile(java.io.File, int, java.nio.charset.Charset) throws java.io.IOException;
+    ctor public ZipFile(String, java.nio.charset.Charset) throws java.io.IOException;
+    ctor public ZipFile(java.io.File, java.nio.charset.Charset) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public java.util.Enumeration<? extends java.util.zip.ZipEntry> entries();
+    method protected void finalize() throws java.io.IOException;
+    method public String getComment();
+    method public java.util.zip.ZipEntry getEntry(String);
+    method public java.io.InputStream getInputStream(java.util.zip.ZipEntry) throws java.io.IOException;
+    method public String getName();
+    method public int size();
+    method public java.util.stream.Stream<? extends java.util.zip.ZipEntry> stream();
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+    field public static final int OPEN_DELETE = 4; // 0x4
+    field public static final int OPEN_READ = 1; // 0x1
+  }
+
+  public class ZipInputStream extends java.util.zip.InflaterInputStream {
+    ctor public ZipInputStream(java.io.InputStream);
+    ctor public ZipInputStream(java.io.InputStream, java.nio.charset.Charset);
+    method public void closeEntry() throws java.io.IOException;
+    method protected java.util.zip.ZipEntry createZipEntry(String);
+    method public java.util.zip.ZipEntry getNextEntry() throws java.io.IOException;
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+  }
+
+  public class ZipOutputStream extends java.util.zip.DeflaterOutputStream {
+    ctor public ZipOutputStream(java.io.OutputStream);
+    ctor public ZipOutputStream(java.io.OutputStream, java.nio.charset.Charset);
+    method public void closeEntry() throws java.io.IOException;
+    method public void putNextEntry(java.util.zip.ZipEntry) throws java.io.IOException;
+    method public void setComment(String);
+    method public void setLevel(int);
+    method public void setMethod(int);
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int DEFLATED = 8; // 0x8
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+    field public static final int STORED = 0; // 0x0
+  }
+
+}
+
+package javax.crypto {
+
+  public class AEADBadTagException extends javax.crypto.BadPaddingException {
+    ctor public AEADBadTagException();
+    ctor public AEADBadTagException(String);
+  }
+
+  public class BadPaddingException extends java.security.GeneralSecurityException {
+    ctor public BadPaddingException();
+    ctor public BadPaddingException(String);
+  }
+
+  public class Cipher {
+    ctor protected Cipher(javax.crypto.CipherSpi, java.security.Provider, String);
+    method public final byte[] doFinal() throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+    method public final int doFinal(byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method public final byte[] doFinal(byte[]) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+    method public final byte[] doFinal(byte[], int, int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+    method public final int doFinal(byte[], int, int, byte[]) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method public final int doFinal(byte[], int, int, byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method public final int doFinal(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method public final String getAlgorithm();
+    method public final int getBlockSize();
+    method public final javax.crypto.ExemptionMechanism getExemptionMechanism();
+    method public final byte[] getIV();
+    method public static final javax.crypto.Cipher getInstance(String) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException;
+    method public static final javax.crypto.Cipher getInstance(String, String) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.Cipher getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException;
+    method public static final int getMaxAllowedKeyLength(String) throws java.security.NoSuchAlgorithmException;
+    method public static final java.security.spec.AlgorithmParameterSpec getMaxAllowedParameterSpec(String) throws java.security.NoSuchAlgorithmException;
+    method public final int getOutputSize(int);
+    method public final java.security.AlgorithmParameters getParameters();
+    method public final java.security.Provider getProvider();
+    method public final void init(int, java.security.Key) throws java.security.InvalidKeyException;
+    method public final void init(int, java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method public final void init(int, java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(int, java.security.Key, java.security.AlgorithmParameters) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(int, java.security.cert.Certificate) throws java.security.InvalidKeyException;
+    method public final void init(int, java.security.cert.Certificate, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method public final java.security.Key unwrap(byte[], String, int) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method public final byte[] update(byte[]);
+    method public final byte[] update(byte[], int, int);
+    method public final int update(byte[], int, int, byte[]) throws javax.crypto.ShortBufferException;
+    method public final int update(byte[], int, int, byte[], int) throws javax.crypto.ShortBufferException;
+    method public final int update(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.ShortBufferException;
+    method public final void updateAAD(byte[]);
+    method public final void updateAAD(byte[], int, int);
+    method public final void updateAAD(java.nio.ByteBuffer);
+    method public final byte[] wrap(java.security.Key) throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException;
+    field public static final int DECRYPT_MODE = 2; // 0x2
+    field public static final int ENCRYPT_MODE = 1; // 0x1
+    field public static final int PRIVATE_KEY = 2; // 0x2
+    field public static final int PUBLIC_KEY = 1; // 0x1
+    field public static final int SECRET_KEY = 3; // 0x3
+    field public static final int UNWRAP_MODE = 4; // 0x4
+    field public static final int WRAP_MODE = 3; // 0x3
+  }
+
+  public class CipherInputStream extends java.io.FilterInputStream {
+    ctor public CipherInputStream(java.io.InputStream, javax.crypto.Cipher);
+    ctor protected CipherInputStream(java.io.InputStream);
+  }
+
+  public class CipherOutputStream extends java.io.FilterOutputStream {
+    ctor public CipherOutputStream(java.io.OutputStream, javax.crypto.Cipher);
+    ctor protected CipherOutputStream(java.io.OutputStream);
+  }
+
+  public abstract class CipherSpi {
+    ctor public CipherSpi();
+    method protected abstract byte[] engineDoFinal(byte[], int, int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+    method protected abstract int engineDoFinal(byte[], int, int, byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method protected int engineDoFinal(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method protected abstract int engineGetBlockSize();
+    method protected abstract byte[] engineGetIV();
+    method protected int engineGetKeySize(java.security.Key) throws java.security.InvalidKeyException;
+    method protected abstract int engineGetOutputSize(int);
+    method protected abstract java.security.AlgorithmParameters engineGetParameters();
+    method protected abstract void engineInit(int, java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method protected abstract void engineInit(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method protected abstract void engineInit(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method protected abstract void engineSetMode(String) throws java.security.NoSuchAlgorithmException;
+    method protected abstract void engineSetPadding(String) throws javax.crypto.NoSuchPaddingException;
+    method protected java.security.Key engineUnwrap(byte[], String, int) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method protected abstract byte[] engineUpdate(byte[], int, int);
+    method protected abstract int engineUpdate(byte[], int, int, byte[], int) throws javax.crypto.ShortBufferException;
+    method protected int engineUpdate(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.ShortBufferException;
+    method protected void engineUpdateAAD(byte[], int, int);
+    method protected void engineUpdateAAD(java.nio.ByteBuffer);
+    method protected byte[] engineWrap(java.security.Key) throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException;
+  }
+
+  public class EncryptedPrivateKeyInfo {
+    ctor public EncryptedPrivateKeyInfo(byte[]) throws java.io.IOException;
+    ctor public EncryptedPrivateKeyInfo(String, byte[]) throws java.security.NoSuchAlgorithmException;
+    ctor public EncryptedPrivateKeyInfo(java.security.AlgorithmParameters, byte[]) throws java.security.NoSuchAlgorithmException;
+    method public String getAlgName();
+    method public java.security.AlgorithmParameters getAlgParameters();
+    method public byte[] getEncoded() throws java.io.IOException;
+    method public byte[] getEncryptedData();
+    method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(javax.crypto.Cipher) throws java.security.spec.InvalidKeySpecException;
+    method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key, String) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key, java.security.Provider) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+  }
+
+  public class ExemptionMechanism {
+    ctor protected ExemptionMechanism(javax.crypto.ExemptionMechanismSpi, java.security.Provider, String);
+    method public final byte[] genExemptionBlob() throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException;
+    method public final int genExemptionBlob(byte[]) throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+    method public final int genExemptionBlob(byte[], int) throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+    method public static final javax.crypto.ExemptionMechanism getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.crypto.ExemptionMechanism getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.ExemptionMechanism getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final String getName();
+    method public final int getOutputSize(int) throws java.lang.IllegalStateException;
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.Key) throws javax.crypto.ExemptionMechanismException, java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.AlgorithmParameters) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final boolean isCryptoAllowed(java.security.Key) throws javax.crypto.ExemptionMechanismException;
+  }
+
+  public class ExemptionMechanismException extends java.security.GeneralSecurityException {
+    ctor public ExemptionMechanismException();
+    ctor public ExemptionMechanismException(String);
+  }
+
+  public abstract class ExemptionMechanismSpi {
+    ctor public ExemptionMechanismSpi();
+    method protected abstract byte[] engineGenExemptionBlob() throws javax.crypto.ExemptionMechanismException;
+    method protected abstract int engineGenExemptionBlob(byte[], int) throws javax.crypto.ExemptionMechanismException, javax.crypto.ShortBufferException;
+    method protected abstract int engineGetOutputSize(int);
+    method protected abstract void engineInit(java.security.Key) throws javax.crypto.ExemptionMechanismException, java.security.InvalidKeyException;
+    method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method protected abstract void engineInit(java.security.Key, java.security.AlgorithmParameters) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+  }
+
+  public class IllegalBlockSizeException extends java.security.GeneralSecurityException {
+    ctor public IllegalBlockSizeException();
+    ctor public IllegalBlockSizeException(String);
+  }
+
+  public class KeyAgreement {
+    ctor protected KeyAgreement(javax.crypto.KeyAgreementSpi, java.security.Provider, String);
+    method public final java.security.Key doPhase(java.security.Key, boolean) throws java.lang.IllegalStateException, java.security.InvalidKeyException;
+    method public final byte[] generateSecret() throws java.lang.IllegalStateException;
+    method public final int generateSecret(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+    method public final javax.crypto.SecretKey generateSecret(String) throws java.lang.IllegalStateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method public final String getAlgorithm();
+    method public static final javax.crypto.KeyAgreement getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.crypto.KeyAgreement getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.KeyAgreement getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.Key) throws java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+  }
+
+  public abstract class KeyAgreementSpi {
+    ctor public KeyAgreementSpi();
+    method protected abstract java.security.Key engineDoPhase(java.security.Key, boolean) throws java.lang.IllegalStateException, java.security.InvalidKeyException;
+    method protected abstract byte[] engineGenerateSecret() throws java.lang.IllegalStateException;
+    method protected abstract int engineGenerateSecret(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+    method protected abstract javax.crypto.SecretKey engineGenerateSecret(String) throws java.lang.IllegalStateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method protected abstract void engineInit(java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+  }
+
+  public class KeyGenerator {
+    ctor protected KeyGenerator(javax.crypto.KeyGeneratorSpi, java.security.Provider, String);
+    method public final javax.crypto.SecretKey generateKey();
+    method public final String getAlgorithm();
+    method public static final javax.crypto.KeyGenerator getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.crypto.KeyGenerator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.KeyGenerator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.SecureRandom);
+    method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+    method public final void init(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+    method public final void init(int);
+    method public final void init(int, java.security.SecureRandom);
+  }
+
+  public abstract class KeyGeneratorSpi {
+    ctor public KeyGeneratorSpi();
+    method protected abstract javax.crypto.SecretKey engineGenerateKey();
+    method protected abstract void engineInit(java.security.SecureRandom);
+    method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+    method protected abstract void engineInit(int, java.security.SecureRandom);
+  }
+
+  public class Mac implements java.lang.Cloneable {
+    ctor protected Mac(javax.crypto.MacSpi, java.security.Provider, String);
+    method public final Object clone() throws java.lang.CloneNotSupportedException;
+    method public final byte[] doFinal() throws java.lang.IllegalStateException;
+    method public final void doFinal(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+    method public final byte[] doFinal(byte[]) throws java.lang.IllegalStateException;
+    method public final String getAlgorithm();
+    method public static final javax.crypto.Mac getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.crypto.Mac getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.Mac getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final int getMacLength();
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.Key) throws java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void reset();
+    method public final void update(byte) throws java.lang.IllegalStateException;
+    method public final void update(byte[]) throws java.lang.IllegalStateException;
+    method public final void update(byte[], int, int) throws java.lang.IllegalStateException;
+    method public final void update(java.nio.ByteBuffer);
+  }
+
+  public abstract class MacSpi {
+    ctor public MacSpi();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method protected abstract byte[] engineDoFinal();
+    method protected abstract int engineGetMacLength();
+    method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method protected abstract void engineReset();
+    method protected abstract void engineUpdate(byte);
+    method protected abstract void engineUpdate(byte[], int, int);
+    method protected void engineUpdate(java.nio.ByteBuffer);
+  }
+
+  public class NoSuchPaddingException extends java.security.GeneralSecurityException {
+    ctor public NoSuchPaddingException();
+    ctor public NoSuchPaddingException(String);
+  }
+
+  public class NullCipher extends javax.crypto.Cipher {
+    ctor public NullCipher();
+  }
+
+  public class SealedObject implements java.io.Serializable {
+    ctor public SealedObject(java.io.Serializable, javax.crypto.Cipher) throws java.io.IOException, javax.crypto.IllegalBlockSizeException;
+    ctor protected SealedObject(javax.crypto.SealedObject);
+    method public final String getAlgorithm();
+    method public final Object getObject(java.security.Key) throws java.lang.ClassNotFoundException, java.io.IOException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method public final Object getObject(javax.crypto.Cipher) throws javax.crypto.BadPaddingException, java.lang.ClassNotFoundException, java.io.IOException, javax.crypto.IllegalBlockSizeException;
+    method public final Object getObject(java.security.Key, String) throws java.lang.ClassNotFoundException, java.io.IOException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    field protected byte[] encodedParams;
+  }
+
+  public interface SecretKey extends java.security.Key javax.security.auth.Destroyable {
+    field public static final long serialVersionUID = -4795878709595146952L; // 0xbd719db928b8f538L
+  }
+
+  public class SecretKeyFactory {
+    ctor protected SecretKeyFactory(javax.crypto.SecretKeyFactorySpi, java.security.Provider, String);
+    method public final javax.crypto.SecretKey generateSecret(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method public final String getAlgorithm();
+    method public static final javax.crypto.SecretKeyFactory getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.crypto.SecretKeyFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.SecretKeyFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.spec.KeySpec getKeySpec(javax.crypto.SecretKey, Class<?>) throws java.security.spec.InvalidKeySpecException;
+    method public final java.security.Provider getProvider();
+    method public final javax.crypto.SecretKey translateKey(javax.crypto.SecretKey) throws java.security.InvalidKeyException;
+  }
+
+  public abstract class SecretKeyFactorySpi {
+    ctor public SecretKeyFactorySpi();
+    method protected abstract javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method protected abstract java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey, Class<?>) throws java.security.spec.InvalidKeySpecException;
+    method protected abstract javax.crypto.SecretKey engineTranslateKey(javax.crypto.SecretKey) throws java.security.InvalidKeyException;
+  }
+
+  public class ShortBufferException extends java.security.GeneralSecurityException {
+    ctor public ShortBufferException();
+    ctor public ShortBufferException(String);
+  }
+
+}
+
+package javax.crypto.interfaces {
+
+  public interface DHKey {
+    method public javax.crypto.spec.DHParameterSpec getParams();
+  }
+
+  public interface DHPrivateKey extends javax.crypto.interfaces.DHKey java.security.PrivateKey {
+    method public java.math.BigInteger getX();
+    field public static final long serialVersionUID = 2211791113380396553L; // 0x1eb1dc4c8e677e09L
+  }
+
+  public interface DHPublicKey extends javax.crypto.interfaces.DHKey java.security.PublicKey {
+    method public java.math.BigInteger getY();
+    field public static final long serialVersionUID = -6628103563352519193L; // 0xa4043eed23df4de7L
+  }
+
+  public interface PBEKey extends javax.crypto.SecretKey {
+    method public int getIterationCount();
+    method public char[] getPassword();
+    method public byte[] getSalt();
+    field public static final long serialVersionUID = -1430015993304333921L; // 0xec279007d7f7c19fL
+  }
+
+}
+
+package javax.crypto.spec {
+
+  public class DESKeySpec implements java.security.spec.KeySpec {
+    ctor public DESKeySpec(byte[]) throws java.security.InvalidKeyException;
+    ctor public DESKeySpec(byte[], int) throws java.security.InvalidKeyException;
+    method public byte[] getKey();
+    method public static boolean isParityAdjusted(byte[], int) throws java.security.InvalidKeyException;
+    method public static boolean isWeak(byte[], int) throws java.security.InvalidKeyException;
+    field public static final int DES_KEY_LEN = 8; // 0x8
+  }
+
+  public class DESedeKeySpec implements java.security.spec.KeySpec {
+    ctor public DESedeKeySpec(byte[]) throws java.security.InvalidKeyException;
+    ctor public DESedeKeySpec(byte[], int) throws java.security.InvalidKeyException;
+    method public byte[] getKey();
+    method public static boolean isParityAdjusted(byte[], int) throws java.security.InvalidKeyException;
+    field public static final int DES_EDE_KEY_LEN = 24; // 0x18
+  }
+
+  public class DHGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public DHGenParameterSpec(int, int);
+    method public int getExponentSize();
+    method public int getPrimeSize();
+  }
+
+  public class DHParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public DHParameterSpec(java.math.BigInteger, java.math.BigInteger);
+    ctor public DHParameterSpec(java.math.BigInteger, java.math.BigInteger, int);
+    method public java.math.BigInteger getG();
+    method public int getL();
+    method public java.math.BigInteger getP();
+  }
+
+  public class DHPrivateKeySpec implements java.security.spec.KeySpec {
+    ctor public DHPrivateKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getX();
+  }
+
+  public class DHPublicKeySpec implements java.security.spec.KeySpec {
+    ctor public DHPublicKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getY();
+  }
+
+  public class GCMParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public GCMParameterSpec(int, byte[]);
+    ctor public GCMParameterSpec(int, byte[], int, int);
+    method public byte[] getIV();
+    method public int getTLen();
+  }
+
+  public class IvParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public IvParameterSpec(byte[]);
+    ctor public IvParameterSpec(byte[], int, int);
+    method public byte[] getIV();
+  }
+
+  public class OAEPParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public OAEPParameterSpec(String, String, java.security.spec.AlgorithmParameterSpec, javax.crypto.spec.PSource);
+    method public String getDigestAlgorithm();
+    method public String getMGFAlgorithm();
+    method public java.security.spec.AlgorithmParameterSpec getMGFParameters();
+    method public javax.crypto.spec.PSource getPSource();
+    field public static final javax.crypto.spec.OAEPParameterSpec DEFAULT;
+  }
+
+  public class PBEKeySpec implements java.security.spec.KeySpec {
+    ctor public PBEKeySpec(char[]);
+    ctor public PBEKeySpec(char[], byte[], int, int);
+    ctor public PBEKeySpec(char[], byte[], int);
+    method public final void clearPassword();
+    method public final int getIterationCount();
+    method public final int getKeyLength();
+    method public final char[] getPassword();
+    method public final byte[] getSalt();
+  }
+
+  public class PBEParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public PBEParameterSpec(byte[], int);
+    ctor public PBEParameterSpec(byte[], int, java.security.spec.AlgorithmParameterSpec);
+    method public int getIterationCount();
+    method public java.security.spec.AlgorithmParameterSpec getParameterSpec();
+    method public byte[] getSalt();
+  }
+
+  public class PSource {
+    ctor protected PSource(String);
+    method public String getAlgorithm();
+  }
+
+  public static final class PSource.PSpecified extends javax.crypto.spec.PSource {
+    ctor public PSource.PSpecified(byte[]);
+    method public byte[] getValue();
+    field public static final javax.crypto.spec.PSource.PSpecified DEFAULT;
+  }
+
+  public class RC2ParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public RC2ParameterSpec(int);
+    ctor public RC2ParameterSpec(int, byte[]);
+    ctor public RC2ParameterSpec(int, byte[], int);
+    method public int getEffectiveKeyBits();
+    method public byte[] getIV();
+  }
+
+  public class RC5ParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public RC5ParameterSpec(int, int, int);
+    ctor public RC5ParameterSpec(int, int, int, byte[]);
+    ctor public RC5ParameterSpec(int, int, int, byte[], int);
+    method public byte[] getIV();
+    method public int getRounds();
+    method public int getVersion();
+    method public int getWordSize();
+  }
+
+  public class SecretKeySpec implements java.security.spec.KeySpec javax.crypto.SecretKey {
+    ctor public SecretKeySpec(byte[], String);
+    ctor public SecretKeySpec(byte[], int, int, String);
+    method public String getAlgorithm();
+    method public byte[] getEncoded();
+    method public String getFormat();
+  }
+
+}
+
+package javax.microedition.khronos.egl {
+
+  public interface EGL {
+  }
+
+  public interface EGL10 extends javax.microedition.khronos.egl.EGL {
+    method public boolean eglChooseConfig(javax.microedition.khronos.egl.EGLDisplay, int[], javax.microedition.khronos.egl.EGLConfig[], int, int[]);
+    method public boolean eglCopyBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, Object);
+    method public javax.microedition.khronos.egl.EGLContext eglCreateContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, javax.microedition.khronos.egl.EGLContext, int[]);
+    method public javax.microedition.khronos.egl.EGLSurface eglCreatePbufferSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int[]);
+    method @Deprecated public javax.microedition.khronos.egl.EGLSurface eglCreatePixmapSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, Object, int[]);
+    method public javax.microedition.khronos.egl.EGLSurface eglCreateWindowSurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, Object, int[]);
+    method public boolean eglDestroyContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext);
+    method public boolean eglDestroySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
+    method public boolean eglGetConfigAttrib(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig, int, int[]);
+    method public boolean eglGetConfigs(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLConfig[], int, int[]);
+    method public javax.microedition.khronos.egl.EGLContext eglGetCurrentContext();
+    method public javax.microedition.khronos.egl.EGLDisplay eglGetCurrentDisplay();
+    method public javax.microedition.khronos.egl.EGLSurface eglGetCurrentSurface(int);
+    method public javax.microedition.khronos.egl.EGLDisplay eglGetDisplay(Object);
+    method public int eglGetError();
+    method public boolean eglInitialize(javax.microedition.khronos.egl.EGLDisplay, int[]);
+    method public boolean eglMakeCurrent(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, javax.microedition.khronos.egl.EGLSurface, javax.microedition.khronos.egl.EGLContext);
+    method public boolean eglQueryContext(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLContext, int, int[]);
+    method public String eglQueryString(javax.microedition.khronos.egl.EGLDisplay, int);
+    method public boolean eglQuerySurface(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface, int, int[]);
+    method public boolean eglSwapBuffers(javax.microedition.khronos.egl.EGLDisplay, javax.microedition.khronos.egl.EGLSurface);
+    method public boolean eglTerminate(javax.microedition.khronos.egl.EGLDisplay);
+    method public boolean eglWaitGL();
+    method public boolean eglWaitNative(int, Object);
+    field public static final int EGL_ALPHA_FORMAT = 12424; // 0x3088
+    field public static final int EGL_ALPHA_MASK_SIZE = 12350; // 0x303e
+    field public static final int EGL_ALPHA_SIZE = 12321; // 0x3021
+    field public static final int EGL_BAD_ACCESS = 12290; // 0x3002
+    field public static final int EGL_BAD_ALLOC = 12291; // 0x3003
+    field public static final int EGL_BAD_ATTRIBUTE = 12292; // 0x3004
+    field public static final int EGL_BAD_CONFIG = 12293; // 0x3005
+    field public static final int EGL_BAD_CONTEXT = 12294; // 0x3006
+    field public static final int EGL_BAD_CURRENT_SURFACE = 12295; // 0x3007
+    field public static final int EGL_BAD_DISPLAY = 12296; // 0x3008
+    field public static final int EGL_BAD_MATCH = 12297; // 0x3009
+    field public static final int EGL_BAD_NATIVE_PIXMAP = 12298; // 0x300a
+    field public static final int EGL_BAD_NATIVE_WINDOW = 12299; // 0x300b
+    field public static final int EGL_BAD_PARAMETER = 12300; // 0x300c
+    field public static final int EGL_BAD_SURFACE = 12301; // 0x300d
+    field public static final int EGL_BLUE_SIZE = 12322; // 0x3022
+    field public static final int EGL_BUFFER_SIZE = 12320; // 0x3020
+    field public static final int EGL_COLORSPACE = 12423; // 0x3087
+    field public static final int EGL_COLOR_BUFFER_TYPE = 12351; // 0x303f
+    field public static final int EGL_CONFIG_CAVEAT = 12327; // 0x3027
+    field public static final int EGL_CONFIG_ID = 12328; // 0x3028
+    field public static final int EGL_CORE_NATIVE_ENGINE = 12379; // 0x305b
+    field public static final Object EGL_DEFAULT_DISPLAY;
+    field public static final int EGL_DEPTH_SIZE = 12325; // 0x3025
+    field public static final int EGL_DONT_CARE = -1; // 0xffffffff
+    field public static final int EGL_DRAW = 12377; // 0x3059
+    field public static final int EGL_EXTENSIONS = 12373; // 0x3055
+    field public static final int EGL_GREEN_SIZE = 12323; // 0x3023
+    field public static final int EGL_HEIGHT = 12374; // 0x3056
+    field public static final int EGL_HORIZONTAL_RESOLUTION = 12432; // 0x3090
+    field public static final int EGL_LARGEST_PBUFFER = 12376; // 0x3058
+    field public static final int EGL_LEVEL = 12329; // 0x3029
+    field public static final int EGL_LUMINANCE_BUFFER = 12431; // 0x308f
+    field public static final int EGL_LUMINANCE_SIZE = 12349; // 0x303d
+    field public static final int EGL_MAX_PBUFFER_HEIGHT = 12330; // 0x302a
+    field public static final int EGL_MAX_PBUFFER_PIXELS = 12331; // 0x302b
+    field public static final int EGL_MAX_PBUFFER_WIDTH = 12332; // 0x302c
+    field public static final int EGL_NATIVE_RENDERABLE = 12333; // 0x302d
+    field public static final int EGL_NATIVE_VISUAL_ID = 12334; // 0x302e
+    field public static final int EGL_NATIVE_VISUAL_TYPE = 12335; // 0x302f
+    field public static final int EGL_NONE = 12344; // 0x3038
+    field public static final int EGL_NON_CONFORMANT_CONFIG = 12369; // 0x3051
+    field public static final int EGL_NOT_INITIALIZED = 12289; // 0x3001
+    field public static final javax.microedition.khronos.egl.EGLContext EGL_NO_CONTEXT;
+    field public static final javax.microedition.khronos.egl.EGLDisplay EGL_NO_DISPLAY;
+    field public static final javax.microedition.khronos.egl.EGLSurface EGL_NO_SURFACE;
+    field public static final int EGL_PBUFFER_BIT = 1; // 0x1
+    field public static final int EGL_PIXEL_ASPECT_RATIO = 12434; // 0x3092
+    field public static final int EGL_PIXMAP_BIT = 2; // 0x2
+    field public static final int EGL_READ = 12378; // 0x305a
+    field public static final int EGL_RED_SIZE = 12324; // 0x3024
+    field public static final int EGL_RENDERABLE_TYPE = 12352; // 0x3040
+    field public static final int EGL_RENDER_BUFFER = 12422; // 0x3086
+    field public static final int EGL_RGB_BUFFER = 12430; // 0x308e
+    field public static final int EGL_SAMPLES = 12337; // 0x3031
+    field public static final int EGL_SAMPLE_BUFFERS = 12338; // 0x3032
+    field public static final int EGL_SINGLE_BUFFER = 12421; // 0x3085
+    field public static final int EGL_SLOW_CONFIG = 12368; // 0x3050
+    field public static final int EGL_STENCIL_SIZE = 12326; // 0x3026
+    field public static final int EGL_SUCCESS = 12288; // 0x3000
+    field public static final int EGL_SURFACE_TYPE = 12339; // 0x3033
+    field public static final int EGL_TRANSPARENT_BLUE_VALUE = 12341; // 0x3035
+    field public static final int EGL_TRANSPARENT_GREEN_VALUE = 12342; // 0x3036
+    field public static final int EGL_TRANSPARENT_RED_VALUE = 12343; // 0x3037
+    field public static final int EGL_TRANSPARENT_RGB = 12370; // 0x3052
+    field public static final int EGL_TRANSPARENT_TYPE = 12340; // 0x3034
+    field public static final int EGL_VENDOR = 12371; // 0x3053
+    field public static final int EGL_VERSION = 12372; // 0x3054
+    field public static final int EGL_VERTICAL_RESOLUTION = 12433; // 0x3091
+    field public static final int EGL_WIDTH = 12375; // 0x3057
+    field public static final int EGL_WINDOW_BIT = 4; // 0x4
+  }
+
+  public interface EGL11 extends javax.microedition.khronos.egl.EGL10 {
+    field public static final int EGL_CONTEXT_LOST = 12302; // 0x300e
+  }
+
+  public abstract class EGLConfig {
+    ctor public EGLConfig();
+  }
+
+  public abstract class EGLContext {
+    ctor public EGLContext();
+    method public static javax.microedition.khronos.egl.EGL getEGL();
+    method public abstract javax.microedition.khronos.opengles.GL getGL();
+  }
+
+  public abstract class EGLDisplay {
+    ctor public EGLDisplay();
+  }
+
+  public abstract class EGLSurface {
+    ctor public EGLSurface();
+  }
+
+}
+
+package javax.microedition.khronos.opengles {
+
+  public interface GL {
+  }
+
+  public interface GL10 extends javax.microedition.khronos.opengles.GL {
+    method public void glActiveTexture(int);
+    method public void glAlphaFunc(int, float);
+    method public void glAlphaFuncx(int, int);
+    method public void glBindTexture(int, int);
+    method public void glBlendFunc(int, int);
+    method public void glClear(int);
+    method public void glClearColor(float, float, float, float);
+    method public void glClearColorx(int, int, int, int);
+    method public void glClearDepthf(float);
+    method public void glClearDepthx(int);
+    method public void glClearStencil(int);
+    method public void glClientActiveTexture(int);
+    method public void glColor4f(float, float, float, float);
+    method public void glColor4x(int, int, int, int);
+    method public void glColorMask(boolean, boolean, boolean, boolean);
+    method public void glColorPointer(int, int, int, java.nio.Buffer);
+    method public void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+    method public void glCompressedTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+    method public void glCopyTexSubImage2D(int, int, int, int, int, int, int, int);
+    method public void glCullFace(int);
+    method public void glDeleteTextures(int, int[], int);
+    method public void glDeleteTextures(int, java.nio.IntBuffer);
+    method public void glDepthFunc(int);
+    method public void glDepthMask(boolean);
+    method public void glDepthRangef(float, float);
+    method public void glDepthRangex(int, int);
+    method public void glDisable(int);
+    method public void glDisableClientState(int);
+    method public void glDrawArrays(int, int, int);
+    method public void glDrawElements(int, int, int, java.nio.Buffer);
+    method public void glEnable(int);
+    method public void glEnableClientState(int);
+    method public void glFinish();
+    method public void glFlush();
+    method public void glFogf(int, float);
+    method public void glFogfv(int, float[], int);
+    method public void glFogfv(int, java.nio.FloatBuffer);
+    method public void glFogx(int, int);
+    method public void glFogxv(int, int[], int);
+    method public void glFogxv(int, java.nio.IntBuffer);
+    method public void glFrontFace(int);
+    method public void glFrustumf(float, float, float, float, float, float);
+    method public void glFrustumx(int, int, int, int, int, int);
+    method public void glGenTextures(int, int[], int);
+    method public void glGenTextures(int, java.nio.IntBuffer);
+    method public int glGetError();
+    method public void glGetIntegerv(int, int[], int);
+    method public void glGetIntegerv(int, java.nio.IntBuffer);
+    method public String glGetString(int);
+    method public void glHint(int, int);
+    method public void glLightModelf(int, float);
+    method public void glLightModelfv(int, float[], int);
+    method public void glLightModelfv(int, java.nio.FloatBuffer);
+    method public void glLightModelx(int, int);
+    method public void glLightModelxv(int, int[], int);
+    method public void glLightModelxv(int, java.nio.IntBuffer);
+    method public void glLightf(int, int, float);
+    method public void glLightfv(int, int, float[], int);
+    method public void glLightfv(int, int, java.nio.FloatBuffer);
+    method public void glLightx(int, int, int);
+    method public void glLightxv(int, int, int[], int);
+    method public void glLightxv(int, int, java.nio.IntBuffer);
+    method public void glLineWidth(float);
+    method public void glLineWidthx(int);
+    method public void glLoadIdentity();
+    method public void glLoadMatrixf(float[], int);
+    method public void glLoadMatrixf(java.nio.FloatBuffer);
+    method public void glLoadMatrixx(int[], int);
+    method public void glLoadMatrixx(java.nio.IntBuffer);
+    method public void glLogicOp(int);
+    method public void glMaterialf(int, int, float);
+    method public void glMaterialfv(int, int, float[], int);
+    method public void glMaterialfv(int, int, java.nio.FloatBuffer);
+    method public void glMaterialx(int, int, int);
+    method public void glMaterialxv(int, int, int[], int);
+    method public void glMaterialxv(int, int, java.nio.IntBuffer);
+    method public void glMatrixMode(int);
+    method public void glMultMatrixf(float[], int);
+    method public void glMultMatrixf(java.nio.FloatBuffer);
+    method public void glMultMatrixx(int[], int);
+    method public void glMultMatrixx(java.nio.IntBuffer);
+    method public void glMultiTexCoord4f(int, float, float, float, float);
+    method public void glMultiTexCoord4x(int, int, int, int, int);
+    method public void glNormal3f(float, float, float);
+    method public void glNormal3x(int, int, int);
+    method public void glNormalPointer(int, int, java.nio.Buffer);
+    method public void glOrthof(float, float, float, float, float, float);
+    method public void glOrthox(int, int, int, int, int, int);
+    method public void glPixelStorei(int, int);
+    method public void glPointSize(float);
+    method public void glPointSizex(int);
+    method public void glPolygonOffset(float, float);
+    method public void glPolygonOffsetx(int, int);
+    method public void glPopMatrix();
+    method public void glPushMatrix();
+    method public void glReadPixels(int, int, int, int, int, int, java.nio.Buffer);
+    method public void glRotatef(float, float, float, float);
+    method public void glRotatex(int, int, int, int);
+    method public void glSampleCoverage(float, boolean);
+    method public void glSampleCoveragex(int, boolean);
+    method public void glScalef(float, float, float);
+    method public void glScalex(int, int, int);
+    method public void glScissor(int, int, int, int);
+    method public void glShadeModel(int);
+    method public void glStencilFunc(int, int, int);
+    method public void glStencilMask(int);
+    method public void glStencilOp(int, int, int);
+    method public void glTexCoordPointer(int, int, int, java.nio.Buffer);
+    method public void glTexEnvf(int, int, float);
+    method public void glTexEnvfv(int, int, float[], int);
+    method public void glTexEnvfv(int, int, java.nio.FloatBuffer);
+    method public void glTexEnvx(int, int, int);
+    method public void glTexEnvxv(int, int, int[], int);
+    method public void glTexEnvxv(int, int, java.nio.IntBuffer);
+    method public void glTexImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public void glTexParameterf(int, int, float);
+    method public void glTexParameterx(int, int, int);
+    method public void glTexSubImage2D(int, int, int, int, int, int, int, int, java.nio.Buffer);
+    method public void glTranslatef(float, float, float);
+    method public void glTranslatex(int, int, int);
+    method public void glVertexPointer(int, int, int, java.nio.Buffer);
+    method public void glViewport(int, int, int, int);
+    field public static final int GL_ADD = 260; // 0x104
+    field public static final int GL_ALIASED_LINE_WIDTH_RANGE = 33902; // 0x846e
+    field public static final int GL_ALIASED_POINT_SIZE_RANGE = 33901; // 0x846d
+    field public static final int GL_ALPHA = 6406; // 0x1906
+    field public static final int GL_ALPHA_BITS = 3413; // 0xd55
+    field public static final int GL_ALPHA_TEST = 3008; // 0xbc0
+    field public static final int GL_ALWAYS = 519; // 0x207
+    field public static final int GL_AMBIENT = 4608; // 0x1200
+    field public static final int GL_AMBIENT_AND_DIFFUSE = 5634; // 0x1602
+    field public static final int GL_AND = 5377; // 0x1501
+    field public static final int GL_AND_INVERTED = 5380; // 0x1504
+    field public static final int GL_AND_REVERSE = 5378; // 0x1502
+    field public static final int GL_BACK = 1029; // 0x405
+    field public static final int GL_BLEND = 3042; // 0xbe2
+    field public static final int GL_BLUE_BITS = 3412; // 0xd54
+    field public static final int GL_BYTE = 5120; // 0x1400
+    field public static final int GL_CCW = 2305; // 0x901
+    field public static final int GL_CLAMP_TO_EDGE = 33071; // 0x812f
+    field public static final int GL_CLEAR = 5376; // 0x1500
+    field public static final int GL_COLOR_ARRAY = 32886; // 0x8076
+    field public static final int GL_COLOR_BUFFER_BIT = 16384; // 0x4000
+    field public static final int GL_COLOR_LOGIC_OP = 3058; // 0xbf2
+    field public static final int GL_COLOR_MATERIAL = 2903; // 0xb57
+    field public static final int GL_COMPRESSED_TEXTURE_FORMATS = 34467; // 0x86a3
+    field public static final int GL_CONSTANT_ATTENUATION = 4615; // 0x1207
+    field public static final int GL_COPY = 5379; // 0x1503
+    field public static final int GL_COPY_INVERTED = 5388; // 0x150c
+    field public static final int GL_CULL_FACE = 2884; // 0xb44
+    field public static final int GL_CW = 2304; // 0x900
+    field public static final int GL_DECAL = 8449; // 0x2101
+    field public static final int GL_DECR = 7683; // 0x1e03
+    field public static final int GL_DEPTH_BITS = 3414; // 0xd56
+    field public static final int GL_DEPTH_BUFFER_BIT = 256; // 0x100
+    field public static final int GL_DEPTH_TEST = 2929; // 0xb71
+    field public static final int GL_DIFFUSE = 4609; // 0x1201
+    field public static final int GL_DITHER = 3024; // 0xbd0
+    field public static final int GL_DONT_CARE = 4352; // 0x1100
+    field public static final int GL_DST_ALPHA = 772; // 0x304
+    field public static final int GL_DST_COLOR = 774; // 0x306
+    field public static final int GL_EMISSION = 5632; // 0x1600
+    field public static final int GL_EQUAL = 514; // 0x202
+    field public static final int GL_EQUIV = 5385; // 0x1509
+    field public static final int GL_EXP = 2048; // 0x800
+    field public static final int GL_EXP2 = 2049; // 0x801
+    field public static final int GL_EXTENSIONS = 7939; // 0x1f03
+    field public static final int GL_FALSE = 0; // 0x0
+    field public static final int GL_FASTEST = 4353; // 0x1101
+    field public static final int GL_FIXED = 5132; // 0x140c
+    field public static final int GL_FLAT = 7424; // 0x1d00
+    field public static final int GL_FLOAT = 5126; // 0x1406
+    field public static final int GL_FOG = 2912; // 0xb60
+    field public static final int GL_FOG_COLOR = 2918; // 0xb66
+    field public static final int GL_FOG_DENSITY = 2914; // 0xb62
+    field public static final int GL_FOG_END = 2916; // 0xb64
+    field public static final int GL_FOG_HINT = 3156; // 0xc54
+    field public static final int GL_FOG_MODE = 2917; // 0xb65
+    field public static final int GL_FOG_START = 2915; // 0xb63
+    field public static final int GL_FRONT = 1028; // 0x404
+    field public static final int GL_FRONT_AND_BACK = 1032; // 0x408
+    field public static final int GL_GEQUAL = 518; // 0x206
+    field public static final int GL_GREATER = 516; // 0x204
+    field public static final int GL_GREEN_BITS = 3411; // 0xd53
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 35739; // 0x8b9b
+    field public static final int GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 35738; // 0x8b9a
+    field public static final int GL_INCR = 7682; // 0x1e02
+    field public static final int GL_INVALID_ENUM = 1280; // 0x500
+    field public static final int GL_INVALID_OPERATION = 1282; // 0x502
+    field public static final int GL_INVALID_VALUE = 1281; // 0x501
+    field public static final int GL_INVERT = 5386; // 0x150a
+    field public static final int GL_KEEP = 7680; // 0x1e00
+    field public static final int GL_LEQUAL = 515; // 0x203
+    field public static final int GL_LESS = 513; // 0x201
+    field public static final int GL_LIGHT0 = 16384; // 0x4000
+    field public static final int GL_LIGHT1 = 16385; // 0x4001
+    field public static final int GL_LIGHT2 = 16386; // 0x4002
+    field public static final int GL_LIGHT3 = 16387; // 0x4003
+    field public static final int GL_LIGHT4 = 16388; // 0x4004
+    field public static final int GL_LIGHT5 = 16389; // 0x4005
+    field public static final int GL_LIGHT6 = 16390; // 0x4006
+    field public static final int GL_LIGHT7 = 16391; // 0x4007
+    field public static final int GL_LIGHTING = 2896; // 0xb50
+    field public static final int GL_LIGHT_MODEL_AMBIENT = 2899; // 0xb53
+    field public static final int GL_LIGHT_MODEL_TWO_SIDE = 2898; // 0xb52
+    field public static final int GL_LINEAR = 9729; // 0x2601
+    field public static final int GL_LINEAR_ATTENUATION = 4616; // 0x1208
+    field public static final int GL_LINEAR_MIPMAP_LINEAR = 9987; // 0x2703
+    field public static final int GL_LINEAR_MIPMAP_NEAREST = 9985; // 0x2701
+    field public static final int GL_LINES = 1; // 0x1
+    field public static final int GL_LINE_LOOP = 2; // 0x2
+    field public static final int GL_LINE_SMOOTH = 2848; // 0xb20
+    field public static final int GL_LINE_SMOOTH_HINT = 3154; // 0xc52
+    field public static final int GL_LINE_STRIP = 3; // 0x3
+    field public static final int GL_LUMINANCE = 6409; // 0x1909
+    field public static final int GL_LUMINANCE_ALPHA = 6410; // 0x190a
+    field public static final int GL_MAX_ELEMENTS_INDICES = 33001; // 0x80e9
+    field public static final int GL_MAX_ELEMENTS_VERTICES = 33000; // 0x80e8
+    field public static final int GL_MAX_LIGHTS = 3377; // 0xd31
+    field public static final int GL_MAX_MODELVIEW_STACK_DEPTH = 3382; // 0xd36
+    field public static final int GL_MAX_PROJECTION_STACK_DEPTH = 3384; // 0xd38
+    field public static final int GL_MAX_TEXTURE_SIZE = 3379; // 0xd33
+    field public static final int GL_MAX_TEXTURE_STACK_DEPTH = 3385; // 0xd39
+    field public static final int GL_MAX_TEXTURE_UNITS = 34018; // 0x84e2
+    field public static final int GL_MAX_VIEWPORT_DIMS = 3386; // 0xd3a
+    field public static final int GL_MODELVIEW = 5888; // 0x1700
+    field public static final int GL_MODULATE = 8448; // 0x2100
+    field public static final int GL_MULTISAMPLE = 32925; // 0x809d
+    field public static final int GL_NAND = 5390; // 0x150e
+    field public static final int GL_NEAREST = 9728; // 0x2600
+    field public static final int GL_NEAREST_MIPMAP_LINEAR = 9986; // 0x2702
+    field public static final int GL_NEAREST_MIPMAP_NEAREST = 9984; // 0x2700
+    field public static final int GL_NEVER = 512; // 0x200
+    field public static final int GL_NICEST = 4354; // 0x1102
+    field public static final int GL_NOOP = 5381; // 0x1505
+    field public static final int GL_NOR = 5384; // 0x1508
+    field public static final int GL_NORMALIZE = 2977; // 0xba1
+    field public static final int GL_NORMAL_ARRAY = 32885; // 0x8075
+    field public static final int GL_NOTEQUAL = 517; // 0x205
+    field public static final int GL_NO_ERROR = 0; // 0x0
+    field public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS = 34466; // 0x86a2
+    field public static final int GL_ONE = 1; // 0x1
+    field public static final int GL_ONE_MINUS_DST_ALPHA = 773; // 0x305
+    field public static final int GL_ONE_MINUS_DST_COLOR = 775; // 0x307
+    field public static final int GL_ONE_MINUS_SRC_ALPHA = 771; // 0x303
+    field public static final int GL_ONE_MINUS_SRC_COLOR = 769; // 0x301
+    field public static final int GL_OR = 5383; // 0x1507
+    field public static final int GL_OR_INVERTED = 5389; // 0x150d
+    field public static final int GL_OR_REVERSE = 5387; // 0x150b
+    field public static final int GL_OUT_OF_MEMORY = 1285; // 0x505
+    field public static final int GL_PACK_ALIGNMENT = 3333; // 0xd05
+    field public static final int GL_PALETTE4_R5_G6_B5_OES = 35730; // 0x8b92
+    field public static final int GL_PALETTE4_RGB5_A1_OES = 35732; // 0x8b94
+    field public static final int GL_PALETTE4_RGB8_OES = 35728; // 0x8b90
+    field public static final int GL_PALETTE4_RGBA4_OES = 35731; // 0x8b93
+    field public static final int GL_PALETTE4_RGBA8_OES = 35729; // 0x8b91
+    field public static final int GL_PALETTE8_R5_G6_B5_OES = 35735; // 0x8b97
+    field public static final int GL_PALETTE8_RGB5_A1_OES = 35737; // 0x8b99
+    field public static final int GL_PALETTE8_RGB8_OES = 35733; // 0x8b95
+    field public static final int GL_PALETTE8_RGBA4_OES = 35736; // 0x8b98
+    field public static final int GL_PALETTE8_RGBA8_OES = 35734; // 0x8b96
+    field public static final int GL_PERSPECTIVE_CORRECTION_HINT = 3152; // 0xc50
+    field public static final int GL_POINTS = 0; // 0x0
+    field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+    field public static final int GL_POINT_SIZE = 2833; // 0xb11
+    field public static final int GL_POINT_SMOOTH = 2832; // 0xb10
+    field public static final int GL_POINT_SMOOTH_HINT = 3153; // 0xc51
+    field public static final int GL_POLYGON_OFFSET_FILL = 32823; // 0x8037
+    field public static final int GL_POLYGON_SMOOTH_HINT = 3155; // 0xc53
+    field public static final int GL_POSITION = 4611; // 0x1203
+    field public static final int GL_PROJECTION = 5889; // 0x1701
+    field public static final int GL_QUADRATIC_ATTENUATION = 4617; // 0x1209
+    field public static final int GL_RED_BITS = 3410; // 0xd52
+    field public static final int GL_RENDERER = 7937; // 0x1f01
+    field public static final int GL_REPEAT = 10497; // 0x2901
+    field public static final int GL_REPLACE = 7681; // 0x1e01
+    field public static final int GL_RESCALE_NORMAL = 32826; // 0x803a
+    field public static final int GL_RGB = 6407; // 0x1907
+    field public static final int GL_RGBA = 6408; // 0x1908
+    field public static final int GL_SAMPLE_ALPHA_TO_COVERAGE = 32926; // 0x809e
+    field public static final int GL_SAMPLE_ALPHA_TO_ONE = 32927; // 0x809f
+    field public static final int GL_SAMPLE_COVERAGE = 32928; // 0x80a0
+    field public static final int GL_SCISSOR_TEST = 3089; // 0xc11
+    field public static final int GL_SET = 5391; // 0x150f
+    field public static final int GL_SHININESS = 5633; // 0x1601
+    field public static final int GL_SHORT = 5122; // 0x1402
+    field public static final int GL_SMOOTH = 7425; // 0x1d01
+    field public static final int GL_SMOOTH_LINE_WIDTH_RANGE = 2850; // 0xb22
+    field public static final int GL_SMOOTH_POINT_SIZE_RANGE = 2834; // 0xb12
+    field public static final int GL_SPECULAR = 4610; // 0x1202
+    field public static final int GL_SPOT_CUTOFF = 4614; // 0x1206
+    field public static final int GL_SPOT_DIRECTION = 4612; // 0x1204
+    field public static final int GL_SPOT_EXPONENT = 4613; // 0x1205
+    field public static final int GL_SRC_ALPHA = 770; // 0x302
+    field public static final int GL_SRC_ALPHA_SATURATE = 776; // 0x308
+    field public static final int GL_SRC_COLOR = 768; // 0x300
+    field public static final int GL_STACK_OVERFLOW = 1283; // 0x503
+    field public static final int GL_STACK_UNDERFLOW = 1284; // 0x504
+    field public static final int GL_STENCIL_BITS = 3415; // 0xd57
+    field public static final int GL_STENCIL_BUFFER_BIT = 1024; // 0x400
+    field public static final int GL_STENCIL_TEST = 2960; // 0xb90
+    field public static final int GL_SUBPIXEL_BITS = 3408; // 0xd50
+    field public static final int GL_TEXTURE = 5890; // 0x1702
+    field public static final int GL_TEXTURE0 = 33984; // 0x84c0
+    field public static final int GL_TEXTURE1 = 33985; // 0x84c1
+    field public static final int GL_TEXTURE10 = 33994; // 0x84ca
+    field public static final int GL_TEXTURE11 = 33995; // 0x84cb
+    field public static final int GL_TEXTURE12 = 33996; // 0x84cc
+    field public static final int GL_TEXTURE13 = 33997; // 0x84cd
+    field public static final int GL_TEXTURE14 = 33998; // 0x84ce
+    field public static final int GL_TEXTURE15 = 33999; // 0x84cf
+    field public static final int GL_TEXTURE16 = 34000; // 0x84d0
+    field public static final int GL_TEXTURE17 = 34001; // 0x84d1
+    field public static final int GL_TEXTURE18 = 34002; // 0x84d2
+    field public static final int GL_TEXTURE19 = 34003; // 0x84d3
+    field public static final int GL_TEXTURE2 = 33986; // 0x84c2
+    field public static final int GL_TEXTURE20 = 34004; // 0x84d4
+    field public static final int GL_TEXTURE21 = 34005; // 0x84d5
+    field public static final int GL_TEXTURE22 = 34006; // 0x84d6
+    field public static final int GL_TEXTURE23 = 34007; // 0x84d7
+    field public static final int GL_TEXTURE24 = 34008; // 0x84d8
+    field public static final int GL_TEXTURE25 = 34009; // 0x84d9
+    field public static final int GL_TEXTURE26 = 34010; // 0x84da
+    field public static final int GL_TEXTURE27 = 34011; // 0x84db
+    field public static final int GL_TEXTURE28 = 34012; // 0x84dc
+    field public static final int GL_TEXTURE29 = 34013; // 0x84dd
+    field public static final int GL_TEXTURE3 = 33987; // 0x84c3
+    field public static final int GL_TEXTURE30 = 34014; // 0x84de
+    field public static final int GL_TEXTURE31 = 34015; // 0x84df
+    field public static final int GL_TEXTURE4 = 33988; // 0x84c4
+    field public static final int GL_TEXTURE5 = 33989; // 0x84c5
+    field public static final int GL_TEXTURE6 = 33990; // 0x84c6
+    field public static final int GL_TEXTURE7 = 33991; // 0x84c7
+    field public static final int GL_TEXTURE8 = 33992; // 0x84c8
+    field public static final int GL_TEXTURE9 = 33993; // 0x84c9
+    field public static final int GL_TEXTURE_2D = 3553; // 0xde1
+    field public static final int GL_TEXTURE_COORD_ARRAY = 32888; // 0x8078
+    field public static final int GL_TEXTURE_ENV = 8960; // 0x2300
+    field public static final int GL_TEXTURE_ENV_COLOR = 8705; // 0x2201
+    field public static final int GL_TEXTURE_ENV_MODE = 8704; // 0x2200
+    field public static final int GL_TEXTURE_MAG_FILTER = 10240; // 0x2800
+    field public static final int GL_TEXTURE_MIN_FILTER = 10241; // 0x2801
+    field public static final int GL_TEXTURE_WRAP_S = 10242; // 0x2802
+    field public static final int GL_TEXTURE_WRAP_T = 10243; // 0x2803
+    field public static final int GL_TRIANGLES = 4; // 0x4
+    field public static final int GL_TRIANGLE_FAN = 6; // 0x6
+    field public static final int GL_TRIANGLE_STRIP = 5; // 0x5
+    field public static final int GL_TRUE = 1; // 0x1
+    field public static final int GL_UNPACK_ALIGNMENT = 3317; // 0xcf5
+    field public static final int GL_UNSIGNED_BYTE = 5121; // 0x1401
+    field public static final int GL_UNSIGNED_SHORT = 5123; // 0x1403
+    field public static final int GL_UNSIGNED_SHORT_4_4_4_4 = 32819; // 0x8033
+    field public static final int GL_UNSIGNED_SHORT_5_5_5_1 = 32820; // 0x8034
+    field public static final int GL_UNSIGNED_SHORT_5_6_5 = 33635; // 0x8363
+    field public static final int GL_VENDOR = 7936; // 0x1f00
+    field public static final int GL_VERSION = 7938; // 0x1f02
+    field public static final int GL_VERTEX_ARRAY = 32884; // 0x8074
+    field public static final int GL_XOR = 5382; // 0x1506
+    field public static final int GL_ZERO = 0; // 0x0
+  }
+
+  public interface GL10Ext extends javax.microedition.khronos.opengles.GL {
+    method public int glQueryMatrixxOES(int[], int, int[], int);
+    method public int glQueryMatrixxOES(java.nio.IntBuffer, java.nio.IntBuffer);
+  }
+
+  public interface GL11 extends javax.microedition.khronos.opengles.GL10 {
+    method public void glBindBuffer(int, int);
+    method public void glBufferData(int, int, java.nio.Buffer, int);
+    method public void glBufferSubData(int, int, int, java.nio.Buffer);
+    method public void glClipPlanef(int, float[], int);
+    method public void glClipPlanef(int, java.nio.FloatBuffer);
+    method public void glClipPlanex(int, int[], int);
+    method public void glClipPlanex(int, java.nio.IntBuffer);
+    method public void glColor4ub(byte, byte, byte, byte);
+    method public void glColorPointer(int, int, int, int);
+    method public void glDeleteBuffers(int, int[], int);
+    method public void glDeleteBuffers(int, java.nio.IntBuffer);
+    method public void glDrawElements(int, int, int, int);
+    method public void glGenBuffers(int, int[], int);
+    method public void glGenBuffers(int, java.nio.IntBuffer);
+    method public void glGetBooleanv(int, boolean[], int);
+    method public void glGetBooleanv(int, java.nio.IntBuffer);
+    method public void glGetBufferParameteriv(int, int, int[], int);
+    method public void glGetBufferParameteriv(int, int, java.nio.IntBuffer);
+    method public void glGetClipPlanef(int, float[], int);
+    method public void glGetClipPlanef(int, java.nio.FloatBuffer);
+    method public void glGetClipPlanex(int, int[], int);
+    method public void glGetClipPlanex(int, java.nio.IntBuffer);
+    method public void glGetFixedv(int, int[], int);
+    method public void glGetFixedv(int, java.nio.IntBuffer);
+    method public void glGetFloatv(int, float[], int);
+    method public void glGetFloatv(int, java.nio.FloatBuffer);
+    method public void glGetLightfv(int, int, float[], int);
+    method public void glGetLightfv(int, int, java.nio.FloatBuffer);
+    method public void glGetLightxv(int, int, int[], int);
+    method public void glGetLightxv(int, int, java.nio.IntBuffer);
+    method public void glGetMaterialfv(int, int, float[], int);
+    method public void glGetMaterialfv(int, int, java.nio.FloatBuffer);
+    method public void glGetMaterialxv(int, int, int[], int);
+    method public void glGetMaterialxv(int, int, java.nio.IntBuffer);
+    method public void glGetPointerv(int, java.nio.Buffer[]);
+    method public void glGetTexEnviv(int, int, int[], int);
+    method public void glGetTexEnviv(int, int, java.nio.IntBuffer);
+    method public void glGetTexEnvxv(int, int, int[], int);
+    method public void glGetTexEnvxv(int, int, java.nio.IntBuffer);
+    method public void glGetTexParameterfv(int, int, float[], int);
+    method public void glGetTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public void glGetTexParameteriv(int, int, int[], int);
+    method public void glGetTexParameteriv(int, int, java.nio.IntBuffer);
+    method public void glGetTexParameterxv(int, int, int[], int);
+    method public void glGetTexParameterxv(int, int, java.nio.IntBuffer);
+    method public boolean glIsBuffer(int);
+    method public boolean glIsEnabled(int);
+    method public boolean glIsTexture(int);
+    method public void glNormalPointer(int, int, int);
+    method public void glPointParameterf(int, float);
+    method public void glPointParameterfv(int, float[], int);
+    method public void glPointParameterfv(int, java.nio.FloatBuffer);
+    method public void glPointParameterx(int, int);
+    method public void glPointParameterxv(int, int[], int);
+    method public void glPointParameterxv(int, java.nio.IntBuffer);
+    method public void glPointSizePointerOES(int, int, java.nio.Buffer);
+    method public void glTexCoordPointer(int, int, int, int);
+    method public void glTexEnvi(int, int, int);
+    method public void glTexEnviv(int, int, int[], int);
+    method public void glTexEnviv(int, int, java.nio.IntBuffer);
+    method public void glTexParameterfv(int, int, float[], int);
+    method public void glTexParameterfv(int, int, java.nio.FloatBuffer);
+    method public void glTexParameteri(int, int, int);
+    method public void glTexParameteriv(int, int, int[], int);
+    method public void glTexParameteriv(int, int, java.nio.IntBuffer);
+    method public void glTexParameterxv(int, int, int[], int);
+    method public void glTexParameterxv(int, int, java.nio.IntBuffer);
+    method public void glVertexPointer(int, int, int, int);
+    field public static final int GL_ACTIVE_TEXTURE = 34016; // 0x84e0
+    field public static final int GL_ADD_SIGNED = 34164; // 0x8574
+    field public static final int GL_ALPHA_SCALE = 3356; // 0xd1c
+    field public static final int GL_ALPHA_TEST_FUNC = 3009; // 0xbc1
+    field public static final int GL_ALPHA_TEST_REF = 3010; // 0xbc2
+    field public static final int GL_ARRAY_BUFFER = 34962; // 0x8892
+    field public static final int GL_ARRAY_BUFFER_BINDING = 34964; // 0x8894
+    field public static final int GL_BLEND_DST = 3040; // 0xbe0
+    field public static final int GL_BLEND_SRC = 3041; // 0xbe1
+    field public static final int GL_BUFFER_ACCESS = 35003; // 0x88bb
+    field public static final int GL_BUFFER_SIZE = 34660; // 0x8764
+    field public static final int GL_BUFFER_USAGE = 34661; // 0x8765
+    field public static final int GL_CLIENT_ACTIVE_TEXTURE = 34017; // 0x84e1
+    field public static final int GL_CLIP_PLANE0 = 12288; // 0x3000
+    field public static final int GL_CLIP_PLANE1 = 12289; // 0x3001
+    field public static final int GL_CLIP_PLANE2 = 12290; // 0x3002
+    field public static final int GL_CLIP_PLANE3 = 12291; // 0x3003
+    field public static final int GL_CLIP_PLANE4 = 12292; // 0x3004
+    field public static final int GL_CLIP_PLANE5 = 12293; // 0x3005
+    field public static final int GL_COLOR_ARRAY_BUFFER_BINDING = 34968; // 0x8898
+    field public static final int GL_COLOR_ARRAY_POINTER = 32912; // 0x8090
+    field public static final int GL_COLOR_ARRAY_SIZE = 32897; // 0x8081
+    field public static final int GL_COLOR_ARRAY_STRIDE = 32899; // 0x8083
+    field public static final int GL_COLOR_ARRAY_TYPE = 32898; // 0x8082
+    field public static final int GL_COLOR_CLEAR_VALUE = 3106; // 0xc22
+    field public static final int GL_COLOR_WRITEMASK = 3107; // 0xc23
+    field public static final int GL_COMBINE = 34160; // 0x8570
+    field public static final int GL_COMBINE_ALPHA = 34162; // 0x8572
+    field public static final int GL_COMBINE_RGB = 34161; // 0x8571
+    field public static final int GL_CONSTANT = 34166; // 0x8576
+    field public static final int GL_COORD_REPLACE_OES = 34914; // 0x8862
+    field public static final int GL_CULL_FACE_MODE = 2885; // 0xb45
+    field public static final int GL_CURRENT_COLOR = 2816; // 0xb00
+    field public static final int GL_CURRENT_NORMAL = 2818; // 0xb02
+    field public static final int GL_CURRENT_TEXTURE_COORDS = 2819; // 0xb03
+    field public static final int GL_DEPTH_CLEAR_VALUE = 2931; // 0xb73
+    field public static final int GL_DEPTH_FUNC = 2932; // 0xb74
+    field public static final int GL_DEPTH_RANGE = 2928; // 0xb70
+    field public static final int GL_DEPTH_WRITEMASK = 2930; // 0xb72
+    field public static final int GL_DOT3_RGB = 34478; // 0x86ae
+    field public static final int GL_DOT3_RGBA = 34479; // 0x86af
+    field public static final int GL_DYNAMIC_DRAW = 35048; // 0x88e8
+    field public static final int GL_ELEMENT_ARRAY_BUFFER = 34963; // 0x8893
+    field public static final int GL_ELEMENT_ARRAY_BUFFER_BINDING = 34965; // 0x8895
+    field public static final int GL_FRONT_FACE = 2886; // 0xb46
+    field public static final int GL_GENERATE_MIPMAP = 33169; // 0x8191
+    field public static final int GL_GENERATE_MIPMAP_HINT = 33170; // 0x8192
+    field public static final int GL_INTERPOLATE = 34165; // 0x8575
+    field public static final int GL_LINE_WIDTH = 2849; // 0xb21
+    field public static final int GL_LOGIC_OP_MODE = 3056; // 0xbf0
+    field public static final int GL_MATRIX_MODE = 2976; // 0xba0
+    field public static final int GL_MAX_CLIP_PLANES = 3378; // 0xd32
+    field public static final int GL_MODELVIEW_MATRIX = 2982; // 0xba6
+    field public static final int GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 35213; // 0x898d
+    field public static final int GL_MODELVIEW_STACK_DEPTH = 2979; // 0xba3
+    field public static final int GL_NORMAL_ARRAY_BUFFER_BINDING = 34967; // 0x8897
+    field public static final int GL_NORMAL_ARRAY_POINTER = 32911; // 0x808f
+    field public static final int GL_NORMAL_ARRAY_STRIDE = 32895; // 0x807f
+    field public static final int GL_NORMAL_ARRAY_TYPE = 32894; // 0x807e
+    field public static final int GL_OPERAND0_ALPHA = 34200; // 0x8598
+    field public static final int GL_OPERAND0_RGB = 34192; // 0x8590
+    field public static final int GL_OPERAND1_ALPHA = 34201; // 0x8599
+    field public static final int GL_OPERAND1_RGB = 34193; // 0x8591
+    field public static final int GL_OPERAND2_ALPHA = 34202; // 0x859a
+    field public static final int GL_OPERAND2_RGB = 34194; // 0x8592
+    field public static final int GL_POINT_DISTANCE_ATTENUATION = 33065; // 0x8129
+    field public static final int GL_POINT_FADE_THRESHOLD_SIZE = 33064; // 0x8128
+    field public static final int GL_POINT_SIZE = 2833; // 0xb11
+    field public static final int GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 35743; // 0x8b9f
+    field public static final int GL_POINT_SIZE_ARRAY_OES = 35740; // 0x8b9c
+    field public static final int GL_POINT_SIZE_ARRAY_POINTER_OES = 35212; // 0x898c
+    field public static final int GL_POINT_SIZE_ARRAY_STRIDE_OES = 35211; // 0x898b
+    field public static final int GL_POINT_SIZE_ARRAY_TYPE_OES = 35210; // 0x898a
+    field public static final int GL_POINT_SIZE_MAX = 33063; // 0x8127
+    field public static final int GL_POINT_SIZE_MIN = 33062; // 0x8126
+    field public static final int GL_POINT_SPRITE_OES = 34913; // 0x8861
+    field public static final int GL_POLYGON_OFFSET_FACTOR = 32824; // 0x8038
+    field public static final int GL_POLYGON_OFFSET_UNITS = 10752; // 0x2a00
+    field public static final int GL_PREVIOUS = 34168; // 0x8578
+    field public static final int GL_PRIMARY_COLOR = 34167; // 0x8577
+    field public static final int GL_PROJECTION_MATRIX = 2983; // 0xba7
+    field public static final int GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 35214; // 0x898e
+    field public static final int GL_PROJECTION_STACK_DEPTH = 2980; // 0xba4
+    field public static final int GL_RGB_SCALE = 34163; // 0x8573
+    field public static final int GL_SAMPLES = 32937; // 0x80a9
+    field public static final int GL_SAMPLE_BUFFERS = 32936; // 0x80a8
+    field public static final int GL_SAMPLE_COVERAGE_INVERT = 32939; // 0x80ab
+    field public static final int GL_SAMPLE_COVERAGE_VALUE = 32938; // 0x80aa
+    field public static final int GL_SCISSOR_BOX = 3088; // 0xc10
+    field public static final int GL_SHADE_MODEL = 2900; // 0xb54
+    field public static final int GL_SRC0_ALPHA = 34184; // 0x8588
+    field public static final int GL_SRC0_RGB = 34176; // 0x8580
+    field public static final int GL_SRC1_ALPHA = 34185; // 0x8589
+    field public static final int GL_SRC1_RGB = 34177; // 0x8581
+    field public static final int GL_SRC2_ALPHA = 34186; // 0x858a
+    field public static final int GL_SRC2_RGB = 34178; // 0x8582
+    field public static final int GL_STATIC_DRAW = 35044; // 0x88e4
+    field public static final int GL_STENCIL_CLEAR_VALUE = 2961; // 0xb91
+    field public static final int GL_STENCIL_FAIL = 2964; // 0xb94
+    field public static final int GL_STENCIL_FUNC = 2962; // 0xb92
+    field public static final int GL_STENCIL_PASS_DEPTH_FAIL = 2965; // 0xb95
+    field public static final int GL_STENCIL_PASS_DEPTH_PASS = 2966; // 0xb96
+    field public static final int GL_STENCIL_REF = 2967; // 0xb97
+    field public static final int GL_STENCIL_VALUE_MASK = 2963; // 0xb93
+    field public static final int GL_STENCIL_WRITEMASK = 2968; // 0xb98
+    field public static final int GL_SUBTRACT = 34023; // 0x84e7
+    field public static final int GL_TEXTURE_BINDING_2D = 32873; // 0x8069
+    field public static final int GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 34970; // 0x889a
+    field public static final int GL_TEXTURE_COORD_ARRAY_POINTER = 32914; // 0x8092
+    field public static final int GL_TEXTURE_COORD_ARRAY_SIZE = 32904; // 0x8088
+    field public static final int GL_TEXTURE_COORD_ARRAY_STRIDE = 32906; // 0x808a
+    field public static final int GL_TEXTURE_COORD_ARRAY_TYPE = 32905; // 0x8089
+    field public static final int GL_TEXTURE_MATRIX = 2984; // 0xba8
+    field public static final int GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 35215; // 0x898f
+    field public static final int GL_TEXTURE_STACK_DEPTH = 2981; // 0xba5
+    field public static final int GL_VERTEX_ARRAY_BUFFER_BINDING = 34966; // 0x8896
+    field public static final int GL_VERTEX_ARRAY_POINTER = 32910; // 0x808e
+    field public static final int GL_VERTEX_ARRAY_SIZE = 32890; // 0x807a
+    field public static final int GL_VERTEX_ARRAY_STRIDE = 32892; // 0x807c
+    field public static final int GL_VERTEX_ARRAY_TYPE = 32891; // 0x807b
+    field public static final int GL_VIEWPORT = 2978; // 0xba2
+    field public static final int GL_WRITE_ONLY = 35001; // 0x88b9
+  }
+
+  public interface GL11Ext extends javax.microedition.khronos.opengles.GL {
+    method public void glCurrentPaletteMatrixOES(int);
+    method public void glDrawTexfOES(float, float, float, float, float);
+    method public void glDrawTexfvOES(float[], int);
+    method public void glDrawTexfvOES(java.nio.FloatBuffer);
+    method public void glDrawTexiOES(int, int, int, int, int);
+    method public void glDrawTexivOES(int[], int);
+    method public void glDrawTexivOES(java.nio.IntBuffer);
+    method public void glDrawTexsOES(short, short, short, short, short);
+    method public void glDrawTexsvOES(short[], int);
+    method public void glDrawTexsvOES(java.nio.ShortBuffer);
+    method public void glDrawTexxOES(int, int, int, int, int);
+    method public void glDrawTexxvOES(int[], int);
+    method public void glDrawTexxvOES(java.nio.IntBuffer);
+    method public void glEnable(int);
+    method public void glEnableClientState(int);
+    method public void glLoadPaletteFromModelViewMatrixOES();
+    method public void glMatrixIndexPointerOES(int, int, int, java.nio.Buffer);
+    method public void glMatrixIndexPointerOES(int, int, int, int);
+    method public void glTexParameterfv(int, int, float[], int);
+    method public void glWeightPointerOES(int, int, int, java.nio.Buffer);
+    method public void glWeightPointerOES(int, int, int, int);
+    field public static final int GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 35742; // 0x8b9e
+    field public static final int GL_MATRIX_INDEX_ARRAY_OES = 34884; // 0x8844
+    field public static final int GL_MATRIX_INDEX_ARRAY_POINTER_OES = 34889; // 0x8849
+    field public static final int GL_MATRIX_INDEX_ARRAY_SIZE_OES = 34886; // 0x8846
+    field public static final int GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 34888; // 0x8848
+    field public static final int GL_MATRIX_INDEX_ARRAY_TYPE_OES = 34887; // 0x8847
+    field public static final int GL_MATRIX_PALETTE_OES = 34880; // 0x8840
+    field public static final int GL_MAX_PALETTE_MATRICES_OES = 34882; // 0x8842
+    field public static final int GL_MAX_VERTEX_UNITS_OES = 34468; // 0x86a4
+    field public static final int GL_TEXTURE_CROP_RECT_OES = 35741; // 0x8b9d
+    field public static final int GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 34974; // 0x889e
+    field public static final int GL_WEIGHT_ARRAY_OES = 34477; // 0x86ad
+    field public static final int GL_WEIGHT_ARRAY_POINTER_OES = 34476; // 0x86ac
+    field public static final int GL_WEIGHT_ARRAY_SIZE_OES = 34475; // 0x86ab
+    field public static final int GL_WEIGHT_ARRAY_STRIDE_OES = 34474; // 0x86aa
+    field public static final int GL_WEIGHT_ARRAY_TYPE_OES = 34473; // 0x86a9
+  }
+
+  public interface GL11ExtensionPack extends javax.microedition.khronos.opengles.GL {
+    method public void glBindFramebufferOES(int, int);
+    method public void glBindRenderbufferOES(int, int);
+    method public void glBindTexture(int, int);
+    method public void glBlendEquation(int);
+    method public void glBlendEquationSeparate(int, int);
+    method public void glBlendFuncSeparate(int, int, int, int);
+    method public int glCheckFramebufferStatusOES(int);
+    method public void glCompressedTexImage2D(int, int, int, int, int, int, int, java.nio.Buffer);
+    method public void glCopyTexImage2D(int, int, int, int, int, int, int, int);
+    method public void glDeleteFramebuffersOES(int, int[], int);
+    method public void glDeleteFramebuffersOES(int, java.nio.IntBuffer);
+    method public void glDeleteRenderbuffersOES(int, int[], int);
+    method public void glDeleteRenderbuffersOES(int, java.nio.IntBuffer);
+    method public void glEnable(int);
+    method public void glFramebufferRenderbufferOES(int, int, int, int);
+    method public void glFramebufferTexture2DOES(int, int, int, int, int);
+    method public void glGenFramebuffersOES(int, int[], int);
+    method public void glGenFramebuffersOES(int, java.nio.IntBuffer);
+    method public void glGenRenderbuffersOES(int, int[], int);
+    method public void glGenRenderbuffersOES(int, java.nio.IntBuffer);
+    method public void glGenerateMipmapOES(int);
+    method public void glGetFramebufferAttachmentParameterivOES(int, int, int, int[], int);
+    method public void glGetFramebufferAttachmentParameterivOES(int, int, int, java.nio.IntBuffer);
+    method public void glGetIntegerv(int, int[], int);
+    method public void glGetIntegerv(int, java.nio.IntBuffer);
+    method public void glGetRenderbufferParameterivOES(int, int, int[], int);
+    method public void glGetRenderbufferParameterivOES(int, int, java.nio.IntBuffer);
+    method public void glGetTexGenfv(int, int, float[], int);
+    method public void glGetTexGenfv(int, int, java.nio.FloatBuffer);
+    method public void glGetTexGeniv(int, int, int[], int);
+    method public void glGetTexGeniv(int, int, java.nio.IntBuffer);
+    method public void glGetTexGenxv(int, int, int[], int);
+    method public void glGetTexGenxv(int, int, java.nio.IntBuffer);
+    method public boolean glIsFramebufferOES(int);
+    method public boolean glIsRenderbufferOES(int);
+    method public void glRenderbufferStorageOES(int, int, int, int);
+    method public void glStencilOp(int, int, int);
+    method public void glTexEnvf(int, int, float);
+    method public void glTexEnvfv(int, int, float[], int);
+    method public void glTexEnvfv(int, int, java.nio.FloatBuffer);
+    method public void glTexEnvx(int, int, int);
+    method public void glTexEnvxv(int, int, int[], int);
+    method public void glTexEnvxv(int, int, java.nio.IntBuffer);
+    method public void glTexGenf(int, int, float);
+    method public void glTexGenfv(int, int, float[], int);
+    method public void glTexGenfv(int, int, java.nio.FloatBuffer);
+    method public void glTexGeni(int, int, int);
+    method public void glTexGeniv(int, int, int[], int);
+    method public void glTexGeniv(int, int, java.nio.IntBuffer);
+    method public void glTexGenx(int, int, int);
+    method public void glTexGenxv(int, int, int[], int);
+    method public void glTexGenxv(int, int, java.nio.IntBuffer);
+    method public void glTexParameterf(int, int, float);
+    field public static final int GL_BLEND_DST_ALPHA = 32970; // 0x80ca
+    field public static final int GL_BLEND_DST_RGB = 32968; // 0x80c8
+    field public static final int GL_BLEND_EQUATION = 32777; // 0x8009
+    field public static final int GL_BLEND_EQUATION_ALPHA = 34877; // 0x883d
+    field public static final int GL_BLEND_EQUATION_RGB = 32777; // 0x8009
+    field public static final int GL_BLEND_SRC_ALPHA = 32971; // 0x80cb
+    field public static final int GL_BLEND_SRC_RGB = 32969; // 0x80c9
+    field public static final int GL_COLOR_ATTACHMENT0_OES = 36064; // 0x8ce0
+    field public static final int GL_COLOR_ATTACHMENT10_OES = 36074; // 0x8cea
+    field public static final int GL_COLOR_ATTACHMENT11_OES = 36075; // 0x8ceb
+    field public static final int GL_COLOR_ATTACHMENT12_OES = 36076; // 0x8cec
+    field public static final int GL_COLOR_ATTACHMENT13_OES = 36077; // 0x8ced
+    field public static final int GL_COLOR_ATTACHMENT14_OES = 36078; // 0x8cee
+    field public static final int GL_COLOR_ATTACHMENT15_OES = 36079; // 0x8cef
+    field public static final int GL_COLOR_ATTACHMENT1_OES = 36065; // 0x8ce1
+    field public static final int GL_COLOR_ATTACHMENT2_OES = 36066; // 0x8ce2
+    field public static final int GL_COLOR_ATTACHMENT3_OES = 36067; // 0x8ce3
+    field public static final int GL_COLOR_ATTACHMENT4_OES = 36068; // 0x8ce4
+    field public static final int GL_COLOR_ATTACHMENT5_OES = 36069; // 0x8ce5
+    field public static final int GL_COLOR_ATTACHMENT6_OES = 36070; // 0x8ce6
+    field public static final int GL_COLOR_ATTACHMENT7_OES = 36071; // 0x8ce7
+    field public static final int GL_COLOR_ATTACHMENT8_OES = 36072; // 0x8ce8
+    field public static final int GL_COLOR_ATTACHMENT9_OES = 36073; // 0x8ce9
+    field public static final int GL_DECR_WRAP = 34056; // 0x8508
+    field public static final int GL_DEPTH_ATTACHMENT_OES = 36096; // 0x8d00
+    field public static final int GL_DEPTH_COMPONENT = 6402; // 0x1902
+    field public static final int GL_DEPTH_COMPONENT16 = 33189; // 0x81a5
+    field public static final int GL_DEPTH_COMPONENT24 = 33190; // 0x81a6
+    field public static final int GL_DEPTH_COMPONENT32 = 33191; // 0x81a7
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 36049; // 0x8cd1
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 36048; // 0x8cd0
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 36051; // 0x8cd3
+    field public static final int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 36050; // 0x8cd2
+    field public static final int GL_FRAMEBUFFER_BINDING_OES = 36006; // 0x8ca6
+    field public static final int GL_FRAMEBUFFER_COMPLETE_OES = 36053; // 0x8cd5
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 36054; // 0x8cd6
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 36057; // 0x8cd9
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 36059; // 0x8cdb
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 36058; // 0x8cda
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 36055; // 0x8cd7
+    field public static final int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 36060; // 0x8cdc
+    field public static final int GL_FRAMEBUFFER_OES = 36160; // 0x8d40
+    field public static final int GL_FRAMEBUFFER_UNSUPPORTED_OES = 36061; // 0x8cdd
+    field public static final int GL_FUNC_ADD = 32774; // 0x8006
+    field public static final int GL_FUNC_REVERSE_SUBTRACT = 32779; // 0x800b
+    field public static final int GL_FUNC_SUBTRACT = 32778; // 0x800a
+    field public static final int GL_INCR_WRAP = 34055; // 0x8507
+    field public static final int GL_INVALID_FRAMEBUFFER_OPERATION_OES = 1286; // 0x506
+    field public static final int GL_MAX_COLOR_ATTACHMENTS_OES = 36063; // 0x8cdf
+    field public static final int GL_MAX_CUBE_MAP_TEXTURE_SIZE = 34076; // 0x851c
+    field public static final int GL_MAX_RENDERBUFFER_SIZE_OES = 34024; // 0x84e8
+    field public static final int GL_MIRRORED_REPEAT = 33648; // 0x8370
+    field public static final int GL_NORMAL_MAP = 34065; // 0x8511
+    field public static final int GL_REFLECTION_MAP = 34066; // 0x8512
+    field public static final int GL_RENDERBUFFER_ALPHA_SIZE_OES = 36179; // 0x8d53
+    field public static final int GL_RENDERBUFFER_BINDING_OES = 36007; // 0x8ca7
+    field public static final int GL_RENDERBUFFER_BLUE_SIZE_OES = 36178; // 0x8d52
+    field public static final int GL_RENDERBUFFER_DEPTH_SIZE_OES = 36180; // 0x8d54
+    field public static final int GL_RENDERBUFFER_GREEN_SIZE_OES = 36177; // 0x8d51
+    field public static final int GL_RENDERBUFFER_HEIGHT_OES = 36163; // 0x8d43
+    field public static final int GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 36164; // 0x8d44
+    field public static final int GL_RENDERBUFFER_OES = 36161; // 0x8d41
+    field public static final int GL_RENDERBUFFER_RED_SIZE_OES = 36176; // 0x8d50
+    field public static final int GL_RENDERBUFFER_STENCIL_SIZE_OES = 36181; // 0x8d55
+    field public static final int GL_RENDERBUFFER_WIDTH_OES = 36162; // 0x8d42
+    field public static final int GL_RGB565_OES = 36194; // 0x8d62
+    field public static final int GL_RGB5_A1 = 32855; // 0x8057
+    field public static final int GL_RGB8 = 32849; // 0x8051
+    field public static final int GL_RGBA4 = 32854; // 0x8056
+    field public static final int GL_RGBA8 = 32856; // 0x8058
+    field public static final int GL_STENCIL_ATTACHMENT_OES = 36128; // 0x8d20
+    field public static final int GL_STENCIL_INDEX = 6401; // 0x1901
+    field public static final int GL_STENCIL_INDEX1_OES = 36166; // 0x8d46
+    field public static final int GL_STENCIL_INDEX4_OES = 36167; // 0x8d47
+    field public static final int GL_STENCIL_INDEX8_OES = 36168; // 0x8d48
+    field public static final int GL_STR = -1; // 0xffffffff
+    field public static final int GL_TEXTURE_BINDING_CUBE_MAP = 34068; // 0x8514
+    field public static final int GL_TEXTURE_CUBE_MAP = 34067; // 0x8513
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070; // 0x8516
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072; // 0x8518
+    field public static final int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074; // 0x851a
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069; // 0x8515
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 34071; // 0x8517
+    field public static final int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073; // 0x8519
+    field public static final int GL_TEXTURE_GEN_MODE = 9472; // 0x2500
+    field public static final int GL_TEXTURE_GEN_STR = 36192; // 0x8d60
+  }
+
+}
+
+package javax.net {
+
+  public abstract class ServerSocketFactory {
+    ctor protected ServerSocketFactory();
+    method public java.net.ServerSocket createServerSocket() throws java.io.IOException;
+    method public abstract java.net.ServerSocket createServerSocket(int) throws java.io.IOException;
+    method public abstract java.net.ServerSocket createServerSocket(int, int) throws java.io.IOException;
+    method public abstract java.net.ServerSocket createServerSocket(int, int, java.net.InetAddress) throws java.io.IOException;
+    method public static javax.net.ServerSocketFactory getDefault();
+  }
+
+  public abstract class SocketFactory {
+    ctor protected SocketFactory();
+    method public java.net.Socket createSocket() throws java.io.IOException;
+    method public abstract java.net.Socket createSocket(String, int) throws java.io.IOException, java.net.UnknownHostException;
+    method public abstract java.net.Socket createSocket(String, int, java.net.InetAddress, int) throws java.io.IOException, java.net.UnknownHostException;
+    method public abstract java.net.Socket createSocket(java.net.InetAddress, int) throws java.io.IOException;
+    method public abstract java.net.Socket createSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+    method public static javax.net.SocketFactory getDefault();
+  }
+
+}
+
+package javax.net.ssl {
+
+  public class CertPathTrustManagerParameters implements javax.net.ssl.ManagerFactoryParameters {
+    ctor public CertPathTrustManagerParameters(java.security.cert.CertPathParameters);
+    method public java.security.cert.CertPathParameters getParameters();
+  }
+
+  public abstract class ExtendedSSLSession implements javax.net.ssl.SSLSession {
+    ctor public ExtendedSSLSession();
+    method public abstract String[] getLocalSupportedSignatureAlgorithms();
+    method public abstract String[] getPeerSupportedSignatureAlgorithms();
+    method public java.util.List<javax.net.ssl.SNIServerName> getRequestedServerNames();
+  }
+
+  public class HandshakeCompletedEvent extends java.util.EventObject {
+    ctor public HandshakeCompletedEvent(javax.net.ssl.SSLSocket, javax.net.ssl.SSLSession);
+    method public String getCipherSuite();
+    method public java.security.cert.Certificate[] getLocalCertificates();
+    method public java.security.Principal getLocalPrincipal();
+    method public javax.security.cert.X509Certificate[] getPeerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public java.security.cert.Certificate[] getPeerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public javax.net.ssl.SSLSession getSession();
+    method public javax.net.ssl.SSLSocket getSocket();
+  }
+
+  public interface HandshakeCompletedListener extends java.util.EventListener {
+    method public void handshakeCompleted(javax.net.ssl.HandshakeCompletedEvent);
+  }
+
+  public interface HostnameVerifier {
+    method public boolean verify(String, javax.net.ssl.SSLSession);
+  }
+
+  public abstract class HttpsURLConnection extends java.net.HttpURLConnection {
+    ctor protected HttpsURLConnection(java.net.URL);
+    method public abstract String getCipherSuite();
+    method public static javax.net.ssl.HostnameVerifier getDefaultHostnameVerifier();
+    method public static javax.net.ssl.SSLSocketFactory getDefaultSSLSocketFactory();
+    method public javax.net.ssl.HostnameVerifier getHostnameVerifier();
+    method public abstract java.security.cert.Certificate[] getLocalCertificates();
+    method public java.security.Principal getLocalPrincipal();
+    method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public javax.net.ssl.SSLSocketFactory getSSLSocketFactory();
+    method public abstract java.security.cert.Certificate[] getServerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public static void setDefaultHostnameVerifier(javax.net.ssl.HostnameVerifier);
+    method public static void setDefaultSSLSocketFactory(javax.net.ssl.SSLSocketFactory);
+    method public void setHostnameVerifier(javax.net.ssl.HostnameVerifier);
+    method public void setSSLSocketFactory(javax.net.ssl.SSLSocketFactory);
+    field protected javax.net.ssl.HostnameVerifier hostnameVerifier;
+  }
+
+  public interface KeyManager {
+  }
+
+  public class KeyManagerFactory {
+    ctor protected KeyManagerFactory(javax.net.ssl.KeyManagerFactorySpi, java.security.Provider, String);
+    method public final String getAlgorithm();
+    method public static final String getDefaultAlgorithm();
+    method public static final javax.net.ssl.KeyManagerFactory getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.net.ssl.KeyManagerFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.net.ssl.KeyManagerFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final javax.net.ssl.KeyManager[] getKeyManagers();
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.KeyStore, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    method public final void init(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public abstract class KeyManagerFactorySpi {
+    ctor public KeyManagerFactorySpi();
+    method protected abstract javax.net.ssl.KeyManager[] engineGetKeyManagers();
+    method protected abstract void engineInit(java.security.KeyStore, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    method protected abstract void engineInit(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public class KeyStoreBuilderParameters implements javax.net.ssl.ManagerFactoryParameters {
+    ctor public KeyStoreBuilderParameters(java.security.KeyStore.Builder);
+    ctor public KeyStoreBuilderParameters(java.util.List<java.security.KeyStore.Builder>);
+    method public java.util.List<java.security.KeyStore.Builder> getParameters();
+  }
+
+  public interface ManagerFactoryParameters {
+  }
+
+  public final class SNIHostName extends javax.net.ssl.SNIServerName {
+    ctor public SNIHostName(String);
+    ctor public SNIHostName(byte[]);
+    method public static javax.net.ssl.SNIMatcher createSNIMatcher(String);
+    method public String getAsciiName();
+  }
+
+  public abstract class SNIMatcher {
+    ctor protected SNIMatcher(int);
+    method public final int getType();
+    method public abstract boolean matches(javax.net.ssl.SNIServerName);
+  }
+
+  public abstract class SNIServerName {
+    ctor protected SNIServerName(int, byte[]);
+    method public final byte[] getEncoded();
+    method public final int getType();
+  }
+
+  public class SSLContext {
+    ctor protected SSLContext(javax.net.ssl.SSLContextSpi, java.security.Provider, String);
+    method public final javax.net.ssl.SSLEngine createSSLEngine();
+    method public final javax.net.ssl.SSLEngine createSSLEngine(String, int);
+    method public final javax.net.ssl.SSLSessionContext getClientSessionContext();
+    method public static javax.net.ssl.SSLContext getDefault() throws java.security.NoSuchAlgorithmException;
+    method public final javax.net.ssl.SSLParameters getDefaultSSLParameters();
+    method public static javax.net.ssl.SSLContext getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static javax.net.ssl.SSLContext getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static javax.net.ssl.SSLContext getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final String getProtocol();
+    method public final java.security.Provider getProvider();
+    method public final javax.net.ssl.SSLSessionContext getServerSessionContext();
+    method public final javax.net.ssl.SSLServerSocketFactory getServerSocketFactory();
+    method public final javax.net.ssl.SSLSocketFactory getSocketFactory();
+    method public final javax.net.ssl.SSLParameters getSupportedSSLParameters();
+    method public final void init(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom) throws java.security.KeyManagementException;
+    method public static void setDefault(javax.net.ssl.SSLContext);
+  }
+
+  public abstract class SSLContextSpi {
+    ctor public SSLContextSpi();
+    method protected abstract javax.net.ssl.SSLEngine engineCreateSSLEngine();
+    method protected abstract javax.net.ssl.SSLEngine engineCreateSSLEngine(String, int);
+    method protected abstract javax.net.ssl.SSLSessionContext engineGetClientSessionContext();
+    method protected javax.net.ssl.SSLParameters engineGetDefaultSSLParameters();
+    method protected abstract javax.net.ssl.SSLSessionContext engineGetServerSessionContext();
+    method protected abstract javax.net.ssl.SSLServerSocketFactory engineGetServerSocketFactory();
+    method protected abstract javax.net.ssl.SSLSocketFactory engineGetSocketFactory();
+    method protected javax.net.ssl.SSLParameters engineGetSupportedSSLParameters();
+    method protected abstract void engineInit(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom) throws java.security.KeyManagementException;
+  }
+
+  public abstract class SSLEngine {
+    ctor protected SSLEngine();
+    ctor protected SSLEngine(String, int);
+    method public abstract void beginHandshake() throws javax.net.ssl.SSLException;
+    method public abstract void closeInbound() throws javax.net.ssl.SSLException;
+    method public abstract void closeOutbound();
+    method public String getApplicationProtocol();
+    method public abstract Runnable getDelegatedTask();
+    method public abstract boolean getEnableSessionCreation();
+    method public abstract String[] getEnabledCipherSuites();
+    method public abstract String[] getEnabledProtocols();
+    method public String getHandshakeApplicationProtocol();
+    method public java.util.function.BiFunction<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>,java.lang.String> getHandshakeApplicationProtocolSelector();
+    method public javax.net.ssl.SSLSession getHandshakeSession();
+    method public abstract javax.net.ssl.SSLEngineResult.HandshakeStatus getHandshakeStatus();
+    method public abstract boolean getNeedClientAuth();
+    method public String getPeerHost();
+    method public int getPeerPort();
+    method public javax.net.ssl.SSLParameters getSSLParameters();
+    method public abstract javax.net.ssl.SSLSession getSession();
+    method public abstract String[] getSupportedCipherSuites();
+    method public abstract String[] getSupportedProtocols();
+    method public abstract boolean getUseClientMode();
+    method public abstract boolean getWantClientAuth();
+    method public abstract boolean isInboundDone();
+    method public abstract boolean isOutboundDone();
+    method public abstract void setEnableSessionCreation(boolean);
+    method public abstract void setEnabledCipherSuites(String[]);
+    method public abstract void setEnabledProtocols(String[]);
+    method public void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>,java.lang.String>);
+    method public abstract void setNeedClientAuth(boolean);
+    method public void setSSLParameters(javax.net.ssl.SSLParameters);
+    method public abstract void setUseClientMode(boolean);
+    method public abstract void setWantClientAuth(boolean);
+    method public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+    method public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[]) throws javax.net.ssl.SSLException;
+    method public abstract javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int) throws javax.net.ssl.SSLException;
+    method public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+    method public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+    method public abstract javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+  }
+
+  public class SSLEngineResult {
+    ctor public SSLEngineResult(javax.net.ssl.SSLEngineResult.Status, javax.net.ssl.SSLEngineResult.HandshakeStatus, int, int);
+    method public final int bytesConsumed();
+    method public final int bytesProduced();
+    method public final javax.net.ssl.SSLEngineResult.HandshakeStatus getHandshakeStatus();
+    method public final javax.net.ssl.SSLEngineResult.Status getStatus();
+  }
+
+  public enum SSLEngineResult.HandshakeStatus {
+    enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus FINISHED;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_TASK;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_UNWRAP;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_WRAP;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NOT_HANDSHAKING;
+  }
+
+  public enum SSLEngineResult.Status {
+    enum_constant public static final javax.net.ssl.SSLEngineResult.Status BUFFER_OVERFLOW;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.Status BUFFER_UNDERFLOW;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.Status CLOSED;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.Status OK;
+  }
+
+  public class SSLException extends java.io.IOException {
+    ctor public SSLException(String);
+    ctor public SSLException(String, Throwable);
+    ctor public SSLException(Throwable);
+  }
+
+  public class SSLHandshakeException extends javax.net.ssl.SSLException {
+    ctor public SSLHandshakeException(String);
+  }
+
+  public class SSLKeyException extends javax.net.ssl.SSLException {
+    ctor public SSLKeyException(String);
+  }
+
+  public class SSLParameters {
+    ctor public SSLParameters();
+    ctor public SSLParameters(String[]);
+    ctor public SSLParameters(String[], String[]);
+    method public java.security.AlgorithmConstraints getAlgorithmConstraints();
+    method public String[] getApplicationProtocols();
+    method public String[] getCipherSuites();
+    method public String getEndpointIdentificationAlgorithm();
+    method public boolean getNeedClientAuth();
+    method public String[] getProtocols();
+    method public final java.util.Collection<javax.net.ssl.SNIMatcher> getSNIMatchers();
+    method public final java.util.List<javax.net.ssl.SNIServerName> getServerNames();
+    method public final boolean getUseCipherSuitesOrder();
+    method public boolean getWantClientAuth();
+    method public void setAlgorithmConstraints(java.security.AlgorithmConstraints);
+    method public void setApplicationProtocols(String[]);
+    method public void setCipherSuites(String[]);
+    method public void setEndpointIdentificationAlgorithm(String);
+    method public void setNeedClientAuth(boolean);
+    method public void setProtocols(String[]);
+    method public final void setSNIMatchers(java.util.Collection<javax.net.ssl.SNIMatcher>);
+    method public final void setServerNames(java.util.List<javax.net.ssl.SNIServerName>);
+    method public final void setUseCipherSuitesOrder(boolean);
+    method public void setWantClientAuth(boolean);
+  }
+
+  public class SSLPeerUnverifiedException extends javax.net.ssl.SSLException {
+    ctor public SSLPeerUnverifiedException(String);
+  }
+
+  public final class SSLPermission extends java.security.BasicPermission {
+    ctor public SSLPermission(String);
+    ctor public SSLPermission(String, String);
+  }
+
+  public class SSLProtocolException extends javax.net.ssl.SSLException {
+    ctor public SSLProtocolException(String);
+  }
+
+  public abstract class SSLServerSocket extends java.net.ServerSocket {
+    ctor protected SSLServerSocket() throws java.io.IOException;
+    ctor protected SSLServerSocket(int) throws java.io.IOException;
+    ctor protected SSLServerSocket(int, int) throws java.io.IOException;
+    ctor protected SSLServerSocket(int, int, java.net.InetAddress) throws java.io.IOException;
+    method public abstract boolean getEnableSessionCreation();
+    method public abstract String[] getEnabledCipherSuites();
+    method public abstract String[] getEnabledProtocols();
+    method public abstract boolean getNeedClientAuth();
+    method public javax.net.ssl.SSLParameters getSSLParameters();
+    method public abstract String[] getSupportedCipherSuites();
+    method public abstract String[] getSupportedProtocols();
+    method public abstract boolean getUseClientMode();
+    method public abstract boolean getWantClientAuth();
+    method public abstract void setEnableSessionCreation(boolean);
+    method public abstract void setEnabledCipherSuites(String[]);
+    method public abstract void setEnabledProtocols(String[]);
+    method public abstract void setNeedClientAuth(boolean);
+    method public void setSSLParameters(javax.net.ssl.SSLParameters);
+    method public abstract void setUseClientMode(boolean);
+    method public abstract void setWantClientAuth(boolean);
+  }
+
+  public abstract class SSLServerSocketFactory extends javax.net.ServerSocketFactory {
+    ctor protected SSLServerSocketFactory();
+    method public static javax.net.ServerSocketFactory getDefault();
+    method public abstract String[] getDefaultCipherSuites();
+    method public abstract String[] getSupportedCipherSuites();
+  }
+
+  public interface SSLSession {
+    method public int getApplicationBufferSize();
+    method public String getCipherSuite();
+    method public long getCreationTime();
+    method public byte[] getId();
+    method public long getLastAccessedTime();
+    method public java.security.cert.Certificate[] getLocalCertificates();
+    method public java.security.Principal getLocalPrincipal();
+    method public int getPacketBufferSize();
+    method public javax.security.cert.X509Certificate[] getPeerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public java.security.cert.Certificate[] getPeerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public String getPeerHost();
+    method public int getPeerPort();
+    method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public String getProtocol();
+    method public javax.net.ssl.SSLSessionContext getSessionContext();
+    method public Object getValue(String);
+    method public String[] getValueNames();
+    method public void invalidate();
+    method public boolean isValid();
+    method public void putValue(String, Object);
+    method public void removeValue(String);
+  }
+
+  public class SSLSessionBindingEvent extends java.util.EventObject {
+    ctor public SSLSessionBindingEvent(javax.net.ssl.SSLSession, String);
+    method public String getName();
+    method public javax.net.ssl.SSLSession getSession();
+  }
+
+  public interface SSLSessionBindingListener extends java.util.EventListener {
+    method public void valueBound(javax.net.ssl.SSLSessionBindingEvent);
+    method public void valueUnbound(javax.net.ssl.SSLSessionBindingEvent);
+  }
+
+  public interface SSLSessionContext {
+    method public java.util.Enumeration<byte[]> getIds();
+    method public javax.net.ssl.SSLSession getSession(byte[]);
+    method public int getSessionCacheSize();
+    method public int getSessionTimeout();
+    method public void setSessionCacheSize(int) throws java.lang.IllegalArgumentException;
+    method public void setSessionTimeout(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public abstract class SSLSocket extends java.net.Socket {
+    ctor protected SSLSocket();
+    ctor protected SSLSocket(String, int) throws java.io.IOException, java.net.UnknownHostException;
+    ctor protected SSLSocket(java.net.InetAddress, int) throws java.io.IOException;
+    ctor protected SSLSocket(String, int, java.net.InetAddress, int) throws java.io.IOException, java.net.UnknownHostException;
+    ctor protected SSLSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+    method public abstract void addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
+    method public String getApplicationProtocol();
+    method public abstract boolean getEnableSessionCreation();
+    method public abstract String[] getEnabledCipherSuites();
+    method public abstract String[] getEnabledProtocols();
+    method public String getHandshakeApplicationProtocol();
+    method public java.util.function.BiFunction<javax.net.ssl.SSLSocket,java.util.List<java.lang.String>,java.lang.String> getHandshakeApplicationProtocolSelector();
+    method public javax.net.ssl.SSLSession getHandshakeSession();
+    method public abstract boolean getNeedClientAuth();
+    method public javax.net.ssl.SSLParameters getSSLParameters();
+    method public abstract javax.net.ssl.SSLSession getSession();
+    method public abstract String[] getSupportedCipherSuites();
+    method public abstract String[] getSupportedProtocols();
+    method public abstract boolean getUseClientMode();
+    method public abstract boolean getWantClientAuth();
+    method public abstract void removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
+    method public abstract void setEnableSessionCreation(boolean);
+    method public abstract void setEnabledCipherSuites(String[]);
+    method public abstract void setEnabledProtocols(String[]);
+    method public void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLSocket,java.util.List<java.lang.String>,java.lang.String>);
+    method public abstract void setNeedClientAuth(boolean);
+    method public void setSSLParameters(javax.net.ssl.SSLParameters);
+    method public abstract void setUseClientMode(boolean);
+    method public abstract void setWantClientAuth(boolean);
+    method public abstract void startHandshake() throws java.io.IOException;
+  }
+
+  public abstract class SSLSocketFactory extends javax.net.SocketFactory {
+    ctor public SSLSocketFactory();
+    method public abstract java.net.Socket createSocket(java.net.Socket, String, int, boolean) throws java.io.IOException;
+    method public static javax.net.SocketFactory getDefault();
+    method public abstract String[] getDefaultCipherSuites();
+    method public abstract String[] getSupportedCipherSuites();
+  }
+
+  public final class StandardConstants {
+    field public static final int SNI_HOST_NAME = 0; // 0x0
+  }
+
+  public interface TrustManager {
+  }
+
+  public class TrustManagerFactory {
+    ctor protected TrustManagerFactory(javax.net.ssl.TrustManagerFactorySpi, java.security.Provider, String);
+    method public final String getAlgorithm();
+    method public static final String getDefaultAlgorithm();
+    method public static final javax.net.ssl.TrustManagerFactory getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.net.ssl.TrustManagerFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.net.ssl.TrustManagerFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final javax.net.ssl.TrustManager[] getTrustManagers();
+    method public final void init(java.security.KeyStore) throws java.security.KeyStoreException;
+    method public final void init(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public abstract class TrustManagerFactorySpi {
+    ctor public TrustManagerFactorySpi();
+    method protected abstract javax.net.ssl.TrustManager[] engineGetTrustManagers();
+    method protected abstract void engineInit(java.security.KeyStore) throws java.security.KeyStoreException;
+    method protected abstract void engineInit(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public abstract class X509ExtendedKeyManager implements javax.net.ssl.X509KeyManager {
+    ctor protected X509ExtendedKeyManager();
+    method public String chooseEngineClientAlias(String[], java.security.Principal[], javax.net.ssl.SSLEngine);
+    method public String chooseEngineServerAlias(String, java.security.Principal[], javax.net.ssl.SSLEngine);
+  }
+
+  public abstract class X509ExtendedTrustManager implements javax.net.ssl.X509TrustManager {
+    ctor public X509ExtendedTrustManager();
+    method public abstract void checkClientTrusted(java.security.cert.X509Certificate[], String, java.net.Socket) throws java.security.cert.CertificateException;
+    method public abstract void checkClientTrusted(java.security.cert.X509Certificate[], String, javax.net.ssl.SSLEngine) throws java.security.cert.CertificateException;
+    method public abstract void checkServerTrusted(java.security.cert.X509Certificate[], String, java.net.Socket) throws java.security.cert.CertificateException;
+    method public abstract void checkServerTrusted(java.security.cert.X509Certificate[], String, javax.net.ssl.SSLEngine) throws java.security.cert.CertificateException;
+  }
+
+  public interface X509KeyManager extends javax.net.ssl.KeyManager {
+    method public String chooseClientAlias(String[], java.security.Principal[], java.net.Socket);
+    method public String chooseServerAlias(String, java.security.Principal[], java.net.Socket);
+    method public java.security.cert.X509Certificate[] getCertificateChain(String);
+    method public String[] getClientAliases(String, java.security.Principal[]);
+    method public java.security.PrivateKey getPrivateKey(String);
+    method public String[] getServerAliases(String, java.security.Principal[]);
+  }
+
+  public interface X509TrustManager extends javax.net.ssl.TrustManager {
+    method public void checkClientTrusted(java.security.cert.X509Certificate[], String) throws java.security.cert.CertificateException;
+    method public void checkServerTrusted(java.security.cert.X509Certificate[], String) throws java.security.cert.CertificateException;
+    method public java.security.cert.X509Certificate[] getAcceptedIssuers();
+  }
+
+}
+
+package javax.security.auth {
+
+  public final class AuthPermission extends java.security.BasicPermission {
+    ctor public AuthPermission(String);
+    ctor public AuthPermission(String, String);
+  }
+
+  public class DestroyFailedException extends java.lang.Exception {
+    ctor public DestroyFailedException();
+    ctor public DestroyFailedException(String);
+  }
+
+  public interface Destroyable {
+    method public default void destroy() throws javax.security.auth.DestroyFailedException;
+    method public default boolean isDestroyed();
+  }
+
+  public final class PrivateCredentialPermission extends java.security.Permission {
+    ctor public PrivateCredentialPermission(String, String);
+    method public String getActions();
+    method public String getCredentialClass();
+    method public String[][] getPrincipals();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public final class Subject implements java.io.Serializable {
+    ctor public Subject();
+    ctor public Subject(boolean, java.util.Set<? extends java.security.Principal>, java.util.Set<?>, java.util.Set<?>);
+    method public static <T> T doAs(javax.security.auth.Subject, java.security.PrivilegedAction<T>);
+    method public static <T> T doAs(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+    method public static <T> T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+    method public static <T> T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+    method public java.util.Set<java.security.Principal> getPrincipals();
+    method public <T extends java.security.Principal> java.util.Set<T> getPrincipals(Class<T>);
+    method public java.util.Set<java.lang.Object> getPrivateCredentials();
+    method public <T> java.util.Set<T> getPrivateCredentials(Class<T>);
+    method public java.util.Set<java.lang.Object> getPublicCredentials();
+    method public <T> java.util.Set<T> getPublicCredentials(Class<T>);
+    method public static javax.security.auth.Subject getSubject(java.security.AccessControlContext);
+    method public boolean isReadOnly();
+    method public void setReadOnly();
+  }
+
+  public class SubjectDomainCombiner implements java.security.DomainCombiner {
+    ctor public SubjectDomainCombiner(javax.security.auth.Subject);
+    method public java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
+    method public javax.security.auth.Subject getSubject();
+  }
+
+}
+
+package javax.security.auth.callback {
+
+  public interface Callback {
+  }
+
+  public interface CallbackHandler {
+    method public void handle(javax.security.auth.callback.Callback[]) throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException;
+  }
+
+  public class PasswordCallback implements javax.security.auth.callback.Callback java.io.Serializable {
+    ctor public PasswordCallback(String, boolean);
+    method public void clearPassword();
+    method public char[] getPassword();
+    method public String getPrompt();
+    method public boolean isEchoOn();
+    method public void setPassword(char[]);
+  }
+
+  public class UnsupportedCallbackException extends java.lang.Exception {
+    ctor public UnsupportedCallbackException(javax.security.auth.callback.Callback);
+    ctor public UnsupportedCallbackException(javax.security.auth.callback.Callback, String);
+    method public javax.security.auth.callback.Callback getCallback();
+  }
+
+}
+
+package javax.security.auth.login {
+
+  public class LoginException extends java.security.GeneralSecurityException {
+    ctor public LoginException();
+    ctor public LoginException(String);
+  }
+
+}
+
+package javax.security.auth.x500 {
+
+  public final class X500Principal implements java.security.Principal java.io.Serializable {
+    ctor public X500Principal(String);
+    ctor public X500Principal(String, java.util.Map<java.lang.String,java.lang.String>);
+    ctor public X500Principal(byte[]);
+    ctor public X500Principal(java.io.InputStream);
+    method public byte[] getEncoded();
+    method public String getName();
+    method public String getName(String);
+    method public String getName(String, java.util.Map<java.lang.String,java.lang.String>);
+    field public static final String CANONICAL = "CANONICAL";
+    field public static final String RFC1779 = "RFC1779";
+    field public static final String RFC2253 = "RFC2253";
+  }
+
+}
+
+package javax.security.cert {
+
+  public abstract class Certificate {
+    ctor public Certificate();
+    method public abstract byte[] getEncoded() throws javax.security.cert.CertificateEncodingException;
+    method public abstract java.security.PublicKey getPublicKey();
+    method public abstract String toString();
+    method public abstract void verify(java.security.PublicKey) throws javax.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+    method public abstract void verify(java.security.PublicKey, String) throws javax.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+  }
+
+  public class CertificateEncodingException extends javax.security.cert.CertificateException {
+    ctor public CertificateEncodingException();
+    ctor public CertificateEncodingException(String);
+  }
+
+  public class CertificateException extends java.lang.Exception {
+    ctor public CertificateException();
+    ctor public CertificateException(String);
+  }
+
+  public class CertificateExpiredException extends javax.security.cert.CertificateException {
+    ctor public CertificateExpiredException();
+    ctor public CertificateExpiredException(String);
+  }
+
+  public class CertificateNotYetValidException extends javax.security.cert.CertificateException {
+    ctor public CertificateNotYetValidException();
+    ctor public CertificateNotYetValidException(String);
+  }
+
+  public class CertificateParsingException extends javax.security.cert.CertificateException {
+    ctor public CertificateParsingException();
+    ctor public CertificateParsingException(String);
+  }
+
+  public abstract class X509Certificate extends javax.security.cert.Certificate {
+    ctor public X509Certificate();
+    method public abstract void checkValidity() throws javax.security.cert.CertificateExpiredException, javax.security.cert.CertificateNotYetValidException;
+    method public abstract void checkValidity(java.util.Date) throws javax.security.cert.CertificateExpiredException, javax.security.cert.CertificateNotYetValidException;
+    method public static final javax.security.cert.X509Certificate getInstance(java.io.InputStream) throws javax.security.cert.CertificateException;
+    method public static final javax.security.cert.X509Certificate getInstance(byte[]) throws javax.security.cert.CertificateException;
+    method public abstract java.security.Principal getIssuerDN();
+    method public abstract java.util.Date getNotAfter();
+    method public abstract java.util.Date getNotBefore();
+    method public abstract java.math.BigInteger getSerialNumber();
+    method public abstract String getSigAlgName();
+    method public abstract String getSigAlgOID();
+    method public abstract byte[] getSigAlgParams();
+    method public abstract java.security.Principal getSubjectDN();
+    method public abstract int getVersion();
+  }
+
+}
+
+package javax.sql {
+
+  public interface CommonDataSource {
+    method public java.io.PrintWriter getLogWriter() throws java.sql.SQLException;
+    method public int getLoginTimeout() throws java.sql.SQLException;
+    method public java.util.logging.Logger getParentLogger() throws java.sql.SQLFeatureNotSupportedException;
+    method public void setLogWriter(java.io.PrintWriter) throws java.sql.SQLException;
+    method public void setLoginTimeout(int) throws java.sql.SQLException;
+  }
+
+  public class ConnectionEvent extends java.util.EventObject {
+    ctor public ConnectionEvent(javax.sql.PooledConnection);
+    ctor public ConnectionEvent(javax.sql.PooledConnection, java.sql.SQLException);
+    method public java.sql.SQLException getSQLException();
+  }
+
+  public interface ConnectionEventListener extends java.util.EventListener {
+    method public void connectionClosed(javax.sql.ConnectionEvent);
+    method public void connectionErrorOccurred(javax.sql.ConnectionEvent);
+  }
+
+  public interface ConnectionPoolDataSource extends javax.sql.CommonDataSource {
+    method public javax.sql.PooledConnection getPooledConnection() throws java.sql.SQLException;
+    method public javax.sql.PooledConnection getPooledConnection(String, String) throws java.sql.SQLException;
+  }
+
+  public interface DataSource extends javax.sql.CommonDataSource java.sql.Wrapper {
+    method public java.sql.Connection getConnection() throws java.sql.SQLException;
+    method public java.sql.Connection getConnection(String, String) throws java.sql.SQLException;
+  }
+
+  public interface PooledConnection {
+    method public void addConnectionEventListener(javax.sql.ConnectionEventListener);
+    method public void addStatementEventListener(javax.sql.StatementEventListener);
+    method public void close() throws java.sql.SQLException;
+    method public java.sql.Connection getConnection() throws java.sql.SQLException;
+    method public void removeConnectionEventListener(javax.sql.ConnectionEventListener);
+    method public void removeStatementEventListener(javax.sql.StatementEventListener);
+  }
+
+  public interface RowSet extends java.sql.ResultSet {
+    method public void addRowSetListener(javax.sql.RowSetListener);
+    method public void clearParameters() throws java.sql.SQLException;
+    method public void execute() throws java.sql.SQLException;
+    method public String getCommand();
+    method public String getDataSourceName();
+    method public boolean getEscapeProcessing() throws java.sql.SQLException;
+    method public int getMaxFieldSize() throws java.sql.SQLException;
+    method public int getMaxRows() throws java.sql.SQLException;
+    method public String getPassword();
+    method public int getQueryTimeout() throws java.sql.SQLException;
+    method public int getTransactionIsolation();
+    method public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap() throws java.sql.SQLException;
+    method public String getUrl() throws java.sql.SQLException;
+    method public String getUsername();
+    method public boolean isReadOnly();
+    method public void removeRowSetListener(javax.sql.RowSetListener);
+    method public void setArray(int, java.sql.Array) throws java.sql.SQLException;
+    method public void setAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setAsciiStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setAsciiStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setAsciiStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void setBigDecimal(String, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void setBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setBinaryStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setBinaryStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBinaryStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBlob(int, java.sql.Blob) throws java.sql.SQLException;
+    method public void setBlob(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBlob(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBlob(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBlob(String, java.sql.Blob) throws java.sql.SQLException;
+    method public void setBlob(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBoolean(int, boolean) throws java.sql.SQLException;
+    method public void setBoolean(String, boolean) throws java.sql.SQLException;
+    method public void setByte(int, byte) throws java.sql.SQLException;
+    method public void setByte(String, byte) throws java.sql.SQLException;
+    method public void setBytes(int, byte[]) throws java.sql.SQLException;
+    method public void setBytes(String, byte[]) throws java.sql.SQLException;
+    method public void setCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException;
+    method public void setCharacterStream(String, java.io.Reader, int) throws java.sql.SQLException;
+    method public void setCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setClob(int, java.sql.Clob) throws java.sql.SQLException;
+    method public void setClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setClob(String, java.sql.Clob) throws java.sql.SQLException;
+    method public void setClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setCommand(String) throws java.sql.SQLException;
+    method public void setConcurrency(int) throws java.sql.SQLException;
+    method public void setDataSourceName(String) throws java.sql.SQLException;
+    method public void setDate(int, java.sql.Date) throws java.sql.SQLException;
+    method public void setDate(int, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+    method public void setDate(String, java.sql.Date) throws java.sql.SQLException;
+    method public void setDate(String, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+    method public void setDouble(int, double) throws java.sql.SQLException;
+    method public void setDouble(String, double) throws java.sql.SQLException;
+    method public void setEscapeProcessing(boolean) throws java.sql.SQLException;
+    method public void setFloat(int, float) throws java.sql.SQLException;
+    method public void setFloat(String, float) throws java.sql.SQLException;
+    method public void setInt(int, int) throws java.sql.SQLException;
+    method public void setInt(String, int) throws java.sql.SQLException;
+    method public void setLong(int, long) throws java.sql.SQLException;
+    method public void setLong(String, long) throws java.sql.SQLException;
+    method public void setMaxFieldSize(int) throws java.sql.SQLException;
+    method public void setMaxRows(int) throws java.sql.SQLException;
+    method public void setNCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setNClob(String, java.sql.NClob) throws java.sql.SQLException;
+    method public void setNClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setNClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNClob(int, java.sql.NClob) throws java.sql.SQLException;
+    method public void setNClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setNString(int, String) throws java.sql.SQLException;
+    method public void setNString(String, String) throws java.sql.SQLException;
+    method public void setNull(int, int) throws java.sql.SQLException;
+    method public void setNull(String, int) throws java.sql.SQLException;
+    method public void setNull(int, int, String) throws java.sql.SQLException;
+    method public void setNull(String, int, String) throws java.sql.SQLException;
+    method public void setObject(int, Object, int, int) throws java.sql.SQLException;
+    method public void setObject(String, Object, int, int) throws java.sql.SQLException;
+    method public void setObject(int, Object, int) throws java.sql.SQLException;
+    method public void setObject(String, Object, int) throws java.sql.SQLException;
+    method public void setObject(String, Object) throws java.sql.SQLException;
+    method public void setObject(int, Object) throws java.sql.SQLException;
+    method public void setPassword(String) throws java.sql.SQLException;
+    method public void setQueryTimeout(int) throws java.sql.SQLException;
+    method public void setReadOnly(boolean) throws java.sql.SQLException;
+    method public void setRef(int, java.sql.Ref) throws java.sql.SQLException;
+    method public void setRowId(int, java.sql.RowId) throws java.sql.SQLException;
+    method public void setRowId(String, java.sql.RowId) throws java.sql.SQLException;
+    method public void setSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void setSQLXML(String, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void setShort(int, short) throws java.sql.SQLException;
+    method public void setShort(String, short) throws java.sql.SQLException;
+    method public void setString(int, String) throws java.sql.SQLException;
+    method public void setString(String, String) throws java.sql.SQLException;
+    method public void setTime(int, java.sql.Time) throws java.sql.SQLException;
+    method public void setTime(int, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTime(String, java.sql.Time) throws java.sql.SQLException;
+    method public void setTime(String, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException;
+    method public void setTimestamp(String, java.sql.Timestamp) throws java.sql.SQLException;
+    method public void setTimestamp(int, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTimestamp(String, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTransactionIsolation(int) throws java.sql.SQLException;
+    method public void setType(int) throws java.sql.SQLException;
+    method public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public void setURL(int, java.net.URL) throws java.sql.SQLException;
+    method public void setUrl(String) throws java.sql.SQLException;
+    method public void setUsername(String) throws java.sql.SQLException;
+  }
+
+  public class RowSetEvent extends java.util.EventObject {
+    ctor public RowSetEvent(javax.sql.RowSet);
+  }
+
+  public interface RowSetInternal {
+    method public java.sql.Connection getConnection() throws java.sql.SQLException;
+    method public java.sql.ResultSet getOriginal() throws java.sql.SQLException;
+    method public java.sql.ResultSet getOriginalRow() throws java.sql.SQLException;
+    method public Object[] getParams() throws java.sql.SQLException;
+    method public void setMetaData(javax.sql.RowSetMetaData) throws java.sql.SQLException;
+  }
+
+  public interface RowSetListener extends java.util.EventListener {
+    method public void cursorMoved(javax.sql.RowSetEvent);
+    method public void rowChanged(javax.sql.RowSetEvent);
+    method public void rowSetChanged(javax.sql.RowSetEvent);
+  }
+
+  public interface RowSetMetaData extends java.sql.ResultSetMetaData {
+    method public void setAutoIncrement(int, boolean) throws java.sql.SQLException;
+    method public void setCaseSensitive(int, boolean) throws java.sql.SQLException;
+    method public void setCatalogName(int, String) throws java.sql.SQLException;
+    method public void setColumnCount(int) throws java.sql.SQLException;
+    method public void setColumnDisplaySize(int, int) throws java.sql.SQLException;
+    method public void setColumnLabel(int, String) throws java.sql.SQLException;
+    method public void setColumnName(int, String) throws java.sql.SQLException;
+    method public void setColumnType(int, int) throws java.sql.SQLException;
+    method public void setColumnTypeName(int, String) throws java.sql.SQLException;
+    method public void setCurrency(int, boolean) throws java.sql.SQLException;
+    method public void setNullable(int, int) throws java.sql.SQLException;
+    method public void setPrecision(int, int) throws java.sql.SQLException;
+    method public void setScale(int, int) throws java.sql.SQLException;
+    method public void setSchemaName(int, String) throws java.sql.SQLException;
+    method public void setSearchable(int, boolean) throws java.sql.SQLException;
+    method public void setSigned(int, boolean) throws java.sql.SQLException;
+    method public void setTableName(int, String) throws java.sql.SQLException;
+  }
+
+  public interface RowSetReader {
+    method public void readData(javax.sql.RowSetInternal) throws java.sql.SQLException;
+  }
+
+  public interface RowSetWriter {
+    method public boolean writeData(javax.sql.RowSetInternal) throws java.sql.SQLException;
+  }
+
+  public class StatementEvent extends java.util.EventObject {
+    ctor public StatementEvent(javax.sql.PooledConnection, java.sql.PreparedStatement);
+    ctor public StatementEvent(javax.sql.PooledConnection, java.sql.PreparedStatement, java.sql.SQLException);
+    method public java.sql.SQLException getSQLException();
+    method public java.sql.PreparedStatement getStatement();
+  }
+
+  public interface StatementEventListener extends java.util.EventListener {
+    method public void statementClosed(javax.sql.StatementEvent);
+    method public void statementErrorOccurred(javax.sql.StatementEvent);
+  }
+
+}
+
+package javax.xml {
+
+  public final class XMLConstants {
+    field public static final String DEFAULT_NS_PREFIX = "";
+    field public static final String FEATURE_SECURE_PROCESSING = "http://javax.xml.XMLConstants/feature/secure-processing";
+    field public static final String NULL_NS_URI = "";
+    field public static final String RELAXNG_NS_URI = "http://relaxng.org/ns/structure/1.0";
+    field public static final String W3C_XML_SCHEMA_INSTANCE_NS_URI = "http://www.w3.org/2001/XMLSchema-instance";
+    field public static final String W3C_XML_SCHEMA_NS_URI = "http://www.w3.org/2001/XMLSchema";
+    field public static final String W3C_XPATH_DATATYPE_NS_URI = "http://www.w3.org/2003/11/xpath-datatypes";
+    field public static final String XMLNS_ATTRIBUTE = "xmlns";
+    field public static final String XMLNS_ATTRIBUTE_NS_URI = "http://www.w3.org/2000/xmlns/";
+    field public static final String XML_DTD_NS_URI = "http://www.w3.org/TR/REC-xml";
+    field public static final String XML_NS_PREFIX = "xml";
+    field public static final String XML_NS_URI = "http://www.w3.org/XML/1998/namespace";
+  }
+
+}
+
+package javax.xml.datatype {
+
+  public class DatatypeConfigurationException extends java.lang.Exception {
+    ctor public DatatypeConfigurationException();
+    ctor public DatatypeConfigurationException(String);
+    ctor public DatatypeConfigurationException(String, Throwable);
+    ctor public DatatypeConfigurationException(Throwable);
+  }
+
+  public final class DatatypeConstants {
+    field public static final int APRIL = 4; // 0x4
+    field public static final int AUGUST = 8; // 0x8
+    field public static final javax.xml.namespace.QName DATE;
+    field public static final javax.xml.namespace.QName DATETIME;
+    field public static final javax.xml.datatype.DatatypeConstants.Field DAYS;
+    field public static final int DECEMBER = 12; // 0xc
+    field public static final javax.xml.namespace.QName DURATION;
+    field public static final javax.xml.namespace.QName DURATION_DAYTIME;
+    field public static final javax.xml.namespace.QName DURATION_YEARMONTH;
+    field public static final int EQUAL = 0; // 0x0
+    field public static final int FEBRUARY = 2; // 0x2
+    field public static final int FIELD_UNDEFINED = -2147483648; // 0x80000000
+    field public static final javax.xml.namespace.QName GDAY;
+    field public static final javax.xml.namespace.QName GMONTH;
+    field public static final javax.xml.namespace.QName GMONTHDAY;
+    field public static final int GREATER = 1; // 0x1
+    field public static final javax.xml.namespace.QName GYEAR;
+    field public static final javax.xml.namespace.QName GYEARMONTH;
+    field public static final javax.xml.datatype.DatatypeConstants.Field HOURS;
+    field public static final int INDETERMINATE = 2; // 0x2
+    field public static final int JANUARY = 1; // 0x1
+    field public static final int JULY = 7; // 0x7
+    field public static final int JUNE = 6; // 0x6
+    field public static final int LESSER = -1; // 0xffffffff
+    field public static final int MARCH = 3; // 0x3
+    field public static final int MAX_TIMEZONE_OFFSET = -840; // 0xfffffcb8
+    field public static final int MAY = 5; // 0x5
+    field public static final javax.xml.datatype.DatatypeConstants.Field MINUTES;
+    field public static final int MIN_TIMEZONE_OFFSET = 840; // 0x348
+    field public static final javax.xml.datatype.DatatypeConstants.Field MONTHS;
+    field public static final int NOVEMBER = 11; // 0xb
+    field public static final int OCTOBER = 10; // 0xa
+    field public static final javax.xml.datatype.DatatypeConstants.Field SECONDS;
+    field public static final int SEPTEMBER = 9; // 0x9
+    field public static final javax.xml.namespace.QName TIME;
+    field public static final javax.xml.datatype.DatatypeConstants.Field YEARS;
+  }
+
+  public static final class DatatypeConstants.Field {
+    method public int getId();
+  }
+
+  public abstract class DatatypeFactory {
+    ctor protected DatatypeFactory();
+    method public abstract javax.xml.datatype.Duration newDuration(String);
+    method public abstract javax.xml.datatype.Duration newDuration(long);
+    method public abstract javax.xml.datatype.Duration newDuration(boolean, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigDecimal);
+    method public javax.xml.datatype.Duration newDuration(boolean, int, int, int, int, int, int);
+    method public javax.xml.datatype.Duration newDurationDayTime(String);
+    method public javax.xml.datatype.Duration newDurationDayTime(long);
+    method public javax.xml.datatype.Duration newDurationDayTime(boolean, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public javax.xml.datatype.Duration newDurationDayTime(boolean, int, int, int, int);
+    method public javax.xml.datatype.Duration newDurationYearMonth(String);
+    method public javax.xml.datatype.Duration newDurationYearMonth(long);
+    method public javax.xml.datatype.Duration newDurationYearMonth(boolean, java.math.BigInteger, java.math.BigInteger);
+    method public javax.xml.datatype.Duration newDurationYearMonth(boolean, int, int);
+    method public static javax.xml.datatype.DatatypeFactory newInstance() throws javax.xml.datatype.DatatypeConfigurationException;
+    method public static javax.xml.datatype.DatatypeFactory newInstance(String, ClassLoader) throws javax.xml.datatype.DatatypeConfigurationException;
+    method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar();
+    method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(String);
+    method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.util.GregorianCalendar);
+    method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.math.BigInteger, int, int, int, int, int, java.math.BigDecimal, int);
+    method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(int, int, int, int, int, int, int, int);
+    method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarDate(int, int, int, int);
+    method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, int);
+    method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, java.math.BigDecimal, int);
+    method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, int, int);
+    field public static final String DATATYPEFACTORY_IMPLEMENTATION_CLASS;
+    field public static final String DATATYPEFACTORY_PROPERTY = "javax.xml.datatype.DatatypeFactory";
+  }
+
+  public abstract class Duration {
+    ctor public Duration();
+    method public abstract javax.xml.datatype.Duration add(javax.xml.datatype.Duration);
+    method public abstract void addTo(java.util.Calendar);
+    method public void addTo(java.util.Date);
+    method public abstract int compare(javax.xml.datatype.Duration);
+    method public int getDays();
+    method public abstract Number getField(javax.xml.datatype.DatatypeConstants.Field);
+    method public int getHours();
+    method public int getMinutes();
+    method public int getMonths();
+    method public int getSeconds();
+    method public abstract int getSign();
+    method public long getTimeInMillis(java.util.Calendar);
+    method public long getTimeInMillis(java.util.Date);
+    method public javax.xml.namespace.QName getXMLSchemaType();
+    method public int getYears();
+    method public abstract int hashCode();
+    method public boolean isLongerThan(javax.xml.datatype.Duration);
+    method public abstract boolean isSet(javax.xml.datatype.DatatypeConstants.Field);
+    method public boolean isShorterThan(javax.xml.datatype.Duration);
+    method public javax.xml.datatype.Duration multiply(int);
+    method public abstract javax.xml.datatype.Duration multiply(java.math.BigDecimal);
+    method public abstract javax.xml.datatype.Duration negate();
+    method public abstract javax.xml.datatype.Duration normalizeWith(java.util.Calendar);
+    method public javax.xml.datatype.Duration subtract(javax.xml.datatype.Duration);
+  }
+
+  public abstract class XMLGregorianCalendar implements java.lang.Cloneable {
+    ctor public XMLGregorianCalendar();
+    method public abstract void add(javax.xml.datatype.Duration);
+    method public abstract void clear();
+    method public abstract Object clone();
+    method public abstract int compare(javax.xml.datatype.XMLGregorianCalendar);
+    method public abstract int getDay();
+    method public abstract java.math.BigInteger getEon();
+    method public abstract java.math.BigInteger getEonAndYear();
+    method public abstract java.math.BigDecimal getFractionalSecond();
+    method public abstract int getHour();
+    method public int getMillisecond();
+    method public abstract int getMinute();
+    method public abstract int getMonth();
+    method public abstract int getSecond();
+    method public abstract java.util.TimeZone getTimeZone(int);
+    method public abstract int getTimezone();
+    method public abstract javax.xml.namespace.QName getXMLSchemaType();
+    method public abstract int getYear();
+    method public abstract boolean isValid();
+    method public abstract javax.xml.datatype.XMLGregorianCalendar normalize();
+    method public abstract void reset();
+    method public abstract void setDay(int);
+    method public abstract void setFractionalSecond(java.math.BigDecimal);
+    method public abstract void setHour(int);
+    method public abstract void setMillisecond(int);
+    method public abstract void setMinute(int);
+    method public abstract void setMonth(int);
+    method public abstract void setSecond(int);
+    method public void setTime(int, int, int);
+    method public void setTime(int, int, int, java.math.BigDecimal);
+    method public void setTime(int, int, int, int);
+    method public abstract void setTimezone(int);
+    method public abstract void setYear(java.math.BigInteger);
+    method public abstract void setYear(int);
+    method public abstract java.util.GregorianCalendar toGregorianCalendar();
+    method public abstract java.util.GregorianCalendar toGregorianCalendar(java.util.TimeZone, java.util.Locale, javax.xml.datatype.XMLGregorianCalendar);
+    method public abstract String toXMLFormat();
+  }
+
+}
+
+package javax.xml.namespace {
+
+  public interface NamespaceContext {
+    method public String getNamespaceURI(String);
+    method public String getPrefix(String);
+    method public java.util.Iterator getPrefixes(String);
+  }
+
+  public class QName implements java.io.Serializable {
+    ctor public QName(String, String);
+    ctor public QName(String, String, String);
+    ctor public QName(String);
+    method public final boolean equals(Object);
+    method public String getLocalPart();
+    method public String getNamespaceURI();
+    method public String getPrefix();
+    method public final int hashCode();
+    method public static javax.xml.namespace.QName valueOf(String);
+  }
+
+}
+
+package javax.xml.parsers {
+
+  public abstract class DocumentBuilder {
+    ctor protected DocumentBuilder();
+    method public abstract org.w3c.dom.DOMImplementation getDOMImplementation();
+    method public javax.xml.validation.Schema getSchema();
+    method public abstract boolean isNamespaceAware();
+    method public abstract boolean isValidating();
+    method public boolean isXIncludeAware();
+    method public abstract org.w3c.dom.Document newDocument();
+    method public org.w3c.dom.Document parse(java.io.InputStream) throws java.io.IOException, org.xml.sax.SAXException;
+    method public org.w3c.dom.Document parse(java.io.InputStream, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public org.w3c.dom.Document parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public org.w3c.dom.Document parse(java.io.File) throws java.io.IOException, org.xml.sax.SAXException;
+    method public abstract org.w3c.dom.Document parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void reset();
+    method public abstract void setEntityResolver(org.xml.sax.EntityResolver);
+    method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+  }
+
+  public abstract class DocumentBuilderFactory {
+    ctor protected DocumentBuilderFactory();
+    method public abstract Object getAttribute(String) throws java.lang.IllegalArgumentException;
+    method public abstract boolean getFeature(String) throws javax.xml.parsers.ParserConfigurationException;
+    method public javax.xml.validation.Schema getSchema();
+    method public boolean isCoalescing();
+    method public boolean isExpandEntityReferences();
+    method public boolean isIgnoringComments();
+    method public boolean isIgnoringElementContentWhitespace();
+    method public boolean isNamespaceAware();
+    method public boolean isValidating();
+    method public boolean isXIncludeAware();
+    method public abstract javax.xml.parsers.DocumentBuilder newDocumentBuilder() throws javax.xml.parsers.ParserConfigurationException;
+    method public static javax.xml.parsers.DocumentBuilderFactory newInstance();
+    method public static javax.xml.parsers.DocumentBuilderFactory newInstance(String, ClassLoader);
+    method public abstract void setAttribute(String, Object) throws java.lang.IllegalArgumentException;
+    method public void setCoalescing(boolean);
+    method public void setExpandEntityReferences(boolean);
+    method public abstract void setFeature(String, boolean) throws javax.xml.parsers.ParserConfigurationException;
+    method public void setIgnoringComments(boolean);
+    method public void setIgnoringElementContentWhitespace(boolean);
+    method public void setNamespaceAware(boolean);
+    method public void setSchema(javax.xml.validation.Schema);
+    method public void setValidating(boolean);
+    method public void setXIncludeAware(boolean);
+  }
+
+  public class FactoryConfigurationError extends java.lang.Error {
+    ctor public FactoryConfigurationError();
+    ctor public FactoryConfigurationError(String);
+    ctor public FactoryConfigurationError(Exception);
+    ctor public FactoryConfigurationError(Exception, String);
+    method public Exception getException();
+  }
+
+  public class ParserConfigurationException extends java.lang.Exception {
+    ctor public ParserConfigurationException();
+    ctor public ParserConfigurationException(String);
+  }
+
+  public abstract class SAXParser {
+    ctor protected SAXParser();
+    method public abstract org.xml.sax.Parser getParser() throws org.xml.sax.SAXException;
+    method public abstract Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public javax.xml.validation.Schema getSchema();
+    method public abstract org.xml.sax.XMLReader getXMLReader() throws org.xml.sax.SAXException;
+    method public abstract boolean isNamespaceAware();
+    method public abstract boolean isValidating();
+    method public boolean isXIncludeAware();
+    method public void parse(java.io.InputStream, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(java.io.InputStream, org.xml.sax.HandlerBase, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(java.io.InputStream, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(java.io.InputStream, org.xml.sax.helpers.DefaultHandler, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(String, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(String, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(java.io.File, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(java.io.File, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(org.xml.sax.InputSource, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(org.xml.sax.InputSource, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void reset();
+    method public abstract void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+  }
+
+  public abstract class SAXParserFactory {
+    ctor protected SAXParserFactory();
+    method public abstract boolean getFeature(String) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public javax.xml.validation.Schema getSchema();
+    method public boolean isNamespaceAware();
+    method public boolean isValidating();
+    method public boolean isXIncludeAware();
+    method public static javax.xml.parsers.SAXParserFactory newInstance();
+    method public static javax.xml.parsers.SAXParserFactory newInstance(String, ClassLoader);
+    method public abstract javax.xml.parsers.SAXParser newSAXParser() throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException;
+    method public abstract void setFeature(String, boolean) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setNamespaceAware(boolean);
+    method public void setSchema(javax.xml.validation.Schema);
+    method public void setValidating(boolean);
+    method public void setXIncludeAware(boolean);
+  }
+
+}
+
+package javax.xml.transform {
+
+  public interface ErrorListener {
+    method public void error(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException;
+    method public void fatalError(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException;
+    method public void warning(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException;
+  }
+
+  public class OutputKeys {
+    field public static final String CDATA_SECTION_ELEMENTS = "cdata-section-elements";
+    field public static final String DOCTYPE_PUBLIC = "doctype-public";
+    field public static final String DOCTYPE_SYSTEM = "doctype-system";
+    field public static final String ENCODING = "encoding";
+    field public static final String INDENT = "indent";
+    field public static final String MEDIA_TYPE = "media-type";
+    field public static final String METHOD = "method";
+    field public static final String OMIT_XML_DECLARATION = "omit-xml-declaration";
+    field public static final String STANDALONE = "standalone";
+    field public static final String VERSION = "version";
+  }
+
+  public interface Result {
+    method public String getSystemId();
+    method public void setSystemId(String);
+    field public static final String PI_DISABLE_OUTPUT_ESCAPING = "javax.xml.transform.disable-output-escaping";
+    field public static final String PI_ENABLE_OUTPUT_ESCAPING = "javax.xml.transform.enable-output-escaping";
+  }
+
+  public interface Source {
+    method public String getSystemId();
+    method public void setSystemId(String);
+  }
+
+  public interface SourceLocator {
+    method public int getColumnNumber();
+    method public int getLineNumber();
+    method public String getPublicId();
+    method public String getSystemId();
+  }
+
+  public interface Templates {
+    method public java.util.Properties getOutputProperties();
+    method public javax.xml.transform.Transformer newTransformer() throws javax.xml.transform.TransformerConfigurationException;
+  }
+
+  public abstract class Transformer {
+    ctor protected Transformer();
+    method public abstract void clearParameters();
+    method public abstract javax.xml.transform.ErrorListener getErrorListener();
+    method public abstract java.util.Properties getOutputProperties();
+    method public abstract String getOutputProperty(String) throws java.lang.IllegalArgumentException;
+    method public abstract Object getParameter(String);
+    method public abstract javax.xml.transform.URIResolver getURIResolver();
+    method public void reset();
+    method public abstract void setErrorListener(javax.xml.transform.ErrorListener) throws java.lang.IllegalArgumentException;
+    method public abstract void setOutputProperties(java.util.Properties);
+    method public abstract void setOutputProperty(String, String) throws java.lang.IllegalArgumentException;
+    method public abstract void setParameter(String, Object);
+    method public abstract void setURIResolver(javax.xml.transform.URIResolver);
+    method public abstract void transform(javax.xml.transform.Source, javax.xml.transform.Result) throws javax.xml.transform.TransformerException;
+  }
+
+  public class TransformerConfigurationException extends javax.xml.transform.TransformerException {
+    ctor public TransformerConfigurationException();
+    ctor public TransformerConfigurationException(String);
+    ctor public TransformerConfigurationException(Throwable);
+    ctor public TransformerConfigurationException(String, Throwable);
+    ctor public TransformerConfigurationException(String, javax.xml.transform.SourceLocator);
+    ctor public TransformerConfigurationException(String, javax.xml.transform.SourceLocator, Throwable);
+  }
+
+  public class TransformerException extends java.lang.Exception {
+    ctor public TransformerException(String);
+    ctor public TransformerException(Throwable);
+    ctor public TransformerException(String, Throwable);
+    ctor public TransformerException(String, javax.xml.transform.SourceLocator);
+    ctor public TransformerException(String, javax.xml.transform.SourceLocator, Throwable);
+    method public Throwable getException();
+    method public String getLocationAsString();
+    method public javax.xml.transform.SourceLocator getLocator();
+    method public String getMessageAndLocation();
+    method public void setLocator(javax.xml.transform.SourceLocator);
+  }
+
+  public abstract class TransformerFactory {
+    ctor protected TransformerFactory();
+    method public abstract javax.xml.transform.Source getAssociatedStylesheet(javax.xml.transform.Source, String, String, String) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract Object getAttribute(String);
+    method public abstract javax.xml.transform.ErrorListener getErrorListener();
+    method public abstract boolean getFeature(String);
+    method public abstract javax.xml.transform.URIResolver getURIResolver();
+    method public static javax.xml.transform.TransformerFactory newInstance() throws javax.xml.transform.TransformerFactoryConfigurationError;
+    method public static javax.xml.transform.TransformerFactory newInstance(String, ClassLoader) throws javax.xml.transform.TransformerFactoryConfigurationError;
+    method public abstract javax.xml.transform.Templates newTemplates(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract javax.xml.transform.Transformer newTransformer(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract javax.xml.transform.Transformer newTransformer() throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract void setAttribute(String, Object);
+    method public abstract void setErrorListener(javax.xml.transform.ErrorListener);
+    method public abstract void setFeature(String, boolean) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract void setURIResolver(javax.xml.transform.URIResolver);
+  }
+
+  public class TransformerFactoryConfigurationError extends java.lang.Error {
+    ctor public TransformerFactoryConfigurationError();
+    ctor public TransformerFactoryConfigurationError(String);
+    ctor public TransformerFactoryConfigurationError(Exception);
+    ctor public TransformerFactoryConfigurationError(Exception, String);
+    method public Exception getException();
+  }
+
+  public interface URIResolver {
+    method public javax.xml.transform.Source resolve(String, String) throws javax.xml.transform.TransformerException;
+  }
+
+}
+
+package javax.xml.transform.dom {
+
+  public interface DOMLocator extends javax.xml.transform.SourceLocator {
+    method public org.w3c.dom.Node getOriginatingNode();
+  }
+
+  public class DOMResult implements javax.xml.transform.Result {
+    ctor public DOMResult();
+    ctor public DOMResult(org.w3c.dom.Node);
+    ctor public DOMResult(org.w3c.dom.Node, String);
+    ctor public DOMResult(org.w3c.dom.Node, org.w3c.dom.Node);
+    ctor public DOMResult(org.w3c.dom.Node, org.w3c.dom.Node, String);
+    method public org.w3c.dom.Node getNextSibling();
+    method public org.w3c.dom.Node getNode();
+    method public String getSystemId();
+    method public void setNextSibling(org.w3c.dom.Node);
+    method public void setNode(org.w3c.dom.Node);
+    method public void setSystemId(String);
+    field public static final String FEATURE = "http://javax.xml.transform.dom.DOMResult/feature";
+  }
+
+  public class DOMSource implements javax.xml.transform.Source {
+    ctor public DOMSource();
+    ctor public DOMSource(org.w3c.dom.Node);
+    ctor public DOMSource(org.w3c.dom.Node, String);
+    method public org.w3c.dom.Node getNode();
+    method public String getSystemId();
+    method public void setNode(org.w3c.dom.Node);
+    method public void setSystemId(String);
+    field public static final String FEATURE = "http://javax.xml.transform.dom.DOMSource/feature";
+  }
+
+}
+
+package javax.xml.transform.sax {
+
+  public class SAXResult implements javax.xml.transform.Result {
+    ctor public SAXResult();
+    ctor public SAXResult(org.xml.sax.ContentHandler);
+    method public org.xml.sax.ContentHandler getHandler();
+    method public org.xml.sax.ext.LexicalHandler getLexicalHandler();
+    method public String getSystemId();
+    method public void setHandler(org.xml.sax.ContentHandler);
+    method public void setLexicalHandler(org.xml.sax.ext.LexicalHandler);
+    method public void setSystemId(String);
+    field public static final String FEATURE = "http://javax.xml.transform.sax.SAXResult/feature";
+  }
+
+  public class SAXSource implements javax.xml.transform.Source {
+    ctor public SAXSource();
+    ctor public SAXSource(org.xml.sax.XMLReader, org.xml.sax.InputSource);
+    ctor public SAXSource(org.xml.sax.InputSource);
+    method public org.xml.sax.InputSource getInputSource();
+    method public String getSystemId();
+    method public org.xml.sax.XMLReader getXMLReader();
+    method public void setInputSource(org.xml.sax.InputSource);
+    method public void setSystemId(String);
+    method public void setXMLReader(org.xml.sax.XMLReader);
+    method public static org.xml.sax.InputSource sourceToInputSource(javax.xml.transform.Source);
+    field public static final String FEATURE = "http://javax.xml.transform.sax.SAXSource/feature";
+  }
+
+  public abstract class SAXTransformerFactory extends javax.xml.transform.TransformerFactory {
+    ctor protected SAXTransformerFactory();
+    method public abstract javax.xml.transform.sax.TemplatesHandler newTemplatesHandler() throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler(javax.xml.transform.Templates) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler() throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract org.xml.sax.XMLFilter newXMLFilter(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract org.xml.sax.XMLFilter newXMLFilter(javax.xml.transform.Templates) throws javax.xml.transform.TransformerConfigurationException;
+    field public static final String FEATURE = "http://javax.xml.transform.sax.SAXTransformerFactory/feature";
+    field public static final String FEATURE_XMLFILTER = "http://javax.xml.transform.sax.SAXTransformerFactory/feature/xmlfilter";
+  }
+
+  public interface TemplatesHandler extends org.xml.sax.ContentHandler {
+    method public String getSystemId();
+    method public javax.xml.transform.Templates getTemplates();
+    method public void setSystemId(String);
+  }
+
+  public interface TransformerHandler extends org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.ext.LexicalHandler {
+    method public String getSystemId();
+    method public javax.xml.transform.Transformer getTransformer();
+    method public void setResult(javax.xml.transform.Result) throws java.lang.IllegalArgumentException;
+    method public void setSystemId(String);
+  }
+
+}
+
+package javax.xml.transform.stream {
+
+  public class StreamResult implements javax.xml.transform.Result {
+    ctor public StreamResult();
+    ctor public StreamResult(java.io.OutputStream);
+    ctor public StreamResult(java.io.Writer);
+    ctor public StreamResult(String);
+    ctor public StreamResult(java.io.File);
+    method public java.io.OutputStream getOutputStream();
+    method public String getSystemId();
+    method public java.io.Writer getWriter();
+    method public void setOutputStream(java.io.OutputStream);
+    method public void setSystemId(String);
+    method public void setSystemId(java.io.File);
+    method public void setWriter(java.io.Writer);
+    field public static final String FEATURE = "http://javax.xml.transform.stream.StreamResult/feature";
+  }
+
+  public class StreamSource implements javax.xml.transform.Source {
+    ctor public StreamSource();
+    ctor public StreamSource(java.io.InputStream);
+    ctor public StreamSource(java.io.InputStream, String);
+    ctor public StreamSource(java.io.Reader);
+    ctor public StreamSource(java.io.Reader, String);
+    ctor public StreamSource(String);
+    ctor public StreamSource(java.io.File);
+    method public java.io.InputStream getInputStream();
+    method public String getPublicId();
+    method public java.io.Reader getReader();
+    method public String getSystemId();
+    method public void setInputStream(java.io.InputStream);
+    method public void setPublicId(String);
+    method public void setReader(java.io.Reader);
+    method public void setSystemId(String);
+    method public void setSystemId(java.io.File);
+    field public static final String FEATURE = "http://javax.xml.transform.stream.StreamSource/feature";
+  }
+
+}
+
+package javax.xml.validation {
+
+  public abstract class Schema {
+    ctor protected Schema();
+    method public abstract javax.xml.validation.Validator newValidator();
+    method public abstract javax.xml.validation.ValidatorHandler newValidatorHandler();
+  }
+
+  public abstract class SchemaFactory {
+    ctor protected SchemaFactory();
+    method public abstract org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver();
+    method public abstract boolean isSchemaLanguageSupported(String);
+    method public static javax.xml.validation.SchemaFactory newInstance(String);
+    method public static javax.xml.validation.SchemaFactory newInstance(String, String, ClassLoader);
+    method public javax.xml.validation.Schema newSchema(javax.xml.transform.Source) throws org.xml.sax.SAXException;
+    method public javax.xml.validation.Schema newSchema(java.io.File) throws org.xml.sax.SAXException;
+    method public javax.xml.validation.Schema newSchema(java.net.URL) throws org.xml.sax.SAXException;
+    method public abstract javax.xml.validation.Schema newSchema(javax.xml.transform.Source[]) throws org.xml.sax.SAXException;
+    method public abstract javax.xml.validation.Schema newSchema() throws org.xml.sax.SAXException;
+    method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver);
+  }
+
+  public abstract class SchemaFactoryLoader {
+    ctor protected SchemaFactoryLoader();
+    method public abstract javax.xml.validation.SchemaFactory newFactory(String);
+  }
+
+  public abstract class TypeInfoProvider {
+    ctor protected TypeInfoProvider();
+    method public abstract org.w3c.dom.TypeInfo getAttributeTypeInfo(int);
+    method public abstract org.w3c.dom.TypeInfo getElementTypeInfo();
+    method public abstract boolean isIdAttribute(int);
+    method public abstract boolean isSpecified(int);
+  }
+
+  public abstract class Validator {
+    ctor protected Validator();
+    method public abstract org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver();
+    method public abstract void reset();
+    method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver);
+    method public void validate(javax.xml.transform.Source) throws java.io.IOException, org.xml.sax.SAXException;
+    method public abstract void validate(javax.xml.transform.Source, javax.xml.transform.Result) throws java.io.IOException, org.xml.sax.SAXException;
+  }
+
+  public abstract class ValidatorHandler implements org.xml.sax.ContentHandler {
+    ctor protected ValidatorHandler();
+    method public abstract org.xml.sax.ContentHandler getContentHandler();
+    method public abstract org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver();
+    method public abstract javax.xml.validation.TypeInfoProvider getTypeInfoProvider();
+    method public abstract void setContentHandler(org.xml.sax.ContentHandler);
+    method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver);
+  }
+
+}
+
+package javax.xml.xpath {
+
+  public interface XPath {
+    method public javax.xml.xpath.XPathExpression compile(String) throws javax.xml.xpath.XPathExpressionException;
+    method public Object evaluate(String, Object, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+    method public String evaluate(String, Object) throws javax.xml.xpath.XPathExpressionException;
+    method public Object evaluate(String, org.xml.sax.InputSource, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+    method public String evaluate(String, org.xml.sax.InputSource) throws javax.xml.xpath.XPathExpressionException;
+    method public javax.xml.namespace.NamespaceContext getNamespaceContext();
+    method public javax.xml.xpath.XPathFunctionResolver getXPathFunctionResolver();
+    method public javax.xml.xpath.XPathVariableResolver getXPathVariableResolver();
+    method public void reset();
+    method public void setNamespaceContext(javax.xml.namespace.NamespaceContext);
+    method public void setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver);
+    method public void setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver);
+  }
+
+  public class XPathConstants {
+    field public static final javax.xml.namespace.QName BOOLEAN;
+    field public static final String DOM_OBJECT_MODEL = "http://java.sun.com/jaxp/xpath/dom";
+    field public static final javax.xml.namespace.QName NODE;
+    field public static final javax.xml.namespace.QName NODESET;
+    field public static final javax.xml.namespace.QName NUMBER;
+    field public static final javax.xml.namespace.QName STRING;
+  }
+
+  public class XPathException extends java.lang.Exception {
+    ctor public XPathException(String);
+    ctor public XPathException(Throwable);
+  }
+
+  public interface XPathExpression {
+    method public Object evaluate(Object, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+    method public String evaluate(Object) throws javax.xml.xpath.XPathExpressionException;
+    method public Object evaluate(org.xml.sax.InputSource, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+    method public String evaluate(org.xml.sax.InputSource) throws javax.xml.xpath.XPathExpressionException;
+  }
+
+  public class XPathExpressionException extends javax.xml.xpath.XPathException {
+    ctor public XPathExpressionException(String);
+    ctor public XPathExpressionException(Throwable);
+  }
+
+  public abstract class XPathFactory {
+    ctor protected XPathFactory();
+    method public abstract boolean getFeature(String) throws javax.xml.xpath.XPathFactoryConfigurationException;
+    method public abstract boolean isObjectModelSupported(String);
+    method public static final javax.xml.xpath.XPathFactory newInstance();
+    method public static final javax.xml.xpath.XPathFactory newInstance(String) throws javax.xml.xpath.XPathFactoryConfigurationException;
+    method public static javax.xml.xpath.XPathFactory newInstance(String, String, ClassLoader) throws javax.xml.xpath.XPathFactoryConfigurationException;
+    method public abstract javax.xml.xpath.XPath newXPath();
+    method public abstract void setFeature(String, boolean) throws javax.xml.xpath.XPathFactoryConfigurationException;
+    method public abstract void setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver);
+    method public abstract void setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver);
+    field public static final String DEFAULT_OBJECT_MODEL_URI = "http://java.sun.com/jaxp/xpath/dom";
+    field public static final String DEFAULT_PROPERTY_NAME = "javax.xml.xpath.XPathFactory";
+  }
+
+  public class XPathFactoryConfigurationException extends javax.xml.xpath.XPathException {
+    ctor public XPathFactoryConfigurationException(String);
+    ctor public XPathFactoryConfigurationException(Throwable);
+  }
+
+  public interface XPathFunction {
+    method public Object evaluate(java.util.List) throws javax.xml.xpath.XPathFunctionException;
+  }
+
+  public class XPathFunctionException extends javax.xml.xpath.XPathExpressionException {
+    ctor public XPathFunctionException(String);
+    ctor public XPathFunctionException(Throwable);
+  }
+
+  public interface XPathFunctionResolver {
+    method public javax.xml.xpath.XPathFunction resolveFunction(javax.xml.namespace.QName, int);
+  }
+
+  public interface XPathVariableResolver {
+    method public Object resolveVariable(javax.xml.namespace.QName);
+  }
+
+}
+
+package org.apache.http.conn {
+
+  @Deprecated public class ConnectTimeoutException extends java.io.InterruptedIOException {
+    ctor @Deprecated public ConnectTimeoutException();
+    ctor @Deprecated public ConnectTimeoutException(String);
+  }
+
+}
+
+package org.apache.http.conn.scheme {
+
+  @Deprecated public interface HostNameResolver {
+    method @Deprecated public java.net.InetAddress resolve(String) throws java.io.IOException;
+  }
+
+  @Deprecated public interface LayeredSocketFactory extends org.apache.http.conn.scheme.SocketFactory {
+    method @Deprecated public java.net.Socket createSocket(java.net.Socket, String, int, boolean) throws java.io.IOException, java.net.UnknownHostException;
+  }
+
+  @Deprecated public interface SocketFactory {
+    method @Deprecated public java.net.Socket connectSocket(java.net.Socket, String, int, java.net.InetAddress, int, org.apache.http.params.HttpParams) throws org.apache.http.conn.ConnectTimeoutException, java.io.IOException, java.net.UnknownHostException;
+    method @Deprecated public java.net.Socket createSocket() throws java.io.IOException;
+    method @Deprecated public boolean isSecure(java.net.Socket) throws java.lang.IllegalArgumentException;
+  }
+
+}
+
+package org.apache.http.conn.ssl {
+
+  @Deprecated public abstract class AbstractVerifier implements org.apache.http.conn.ssl.X509HostnameVerifier {
+    ctor @Deprecated public AbstractVerifier();
+    method @Deprecated public static boolean acceptableCountryWildcard(String);
+    method @Deprecated public static int countDots(String);
+    method @Deprecated public static String[] getCNs(java.security.cert.X509Certificate);
+    method @Deprecated public static String[] getDNSSubjectAlts(java.security.cert.X509Certificate);
+    method @Deprecated public final void verify(String, javax.net.ssl.SSLSocket) throws java.io.IOException;
+    method @Deprecated public final boolean verify(String, javax.net.ssl.SSLSession);
+    method @Deprecated public final void verify(String, java.security.cert.X509Certificate) throws javax.net.ssl.SSLException;
+    method @Deprecated public final void verify(String, String[], String[], boolean) throws javax.net.ssl.SSLException;
+  }
+
+  @Deprecated public class AllowAllHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
+    ctor @Deprecated public AllowAllHostnameVerifier();
+    method @Deprecated public final String toString();
+    method @Deprecated public final void verify(String, String[], String[]);
+  }
+
+  @Deprecated public class BrowserCompatHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
+    ctor @Deprecated public BrowserCompatHostnameVerifier();
+    method @Deprecated public final String toString();
+    method @Deprecated public final void verify(String, String[], String[]) throws javax.net.ssl.SSLException;
+  }
+
+  @Deprecated public class SSLSocketFactory implements org.apache.http.conn.scheme.LayeredSocketFactory {
+    ctor @Deprecated public SSLSocketFactory(String, java.security.KeyStore, String, java.security.KeyStore, java.security.SecureRandom, org.apache.http.conn.scheme.HostNameResolver) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    ctor @Deprecated public SSLSocketFactory(java.security.KeyStore, String, java.security.KeyStore) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    ctor @Deprecated public SSLSocketFactory(java.security.KeyStore, String) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    ctor @Deprecated public SSLSocketFactory(java.security.KeyStore) throws java.security.KeyManagementException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    method @Deprecated public java.net.Socket connectSocket(java.net.Socket, String, int, java.net.InetAddress, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket() throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket(java.net.Socket, String, int, boolean) throws java.io.IOException, java.net.UnknownHostException;
+    method @Deprecated public org.apache.http.conn.ssl.X509HostnameVerifier getHostnameVerifier();
+    method @Deprecated public static org.apache.http.conn.ssl.SSLSocketFactory getSocketFactory();
+    method @Deprecated public boolean isSecure(java.net.Socket) throws java.lang.IllegalArgumentException;
+    method @Deprecated public void setHostnameVerifier(org.apache.http.conn.ssl.X509HostnameVerifier);
+    field @Deprecated public static final org.apache.http.conn.ssl.X509HostnameVerifier ALLOW_ALL_HOSTNAME_VERIFIER;
+    field @Deprecated public static final org.apache.http.conn.ssl.X509HostnameVerifier BROWSER_COMPATIBLE_HOSTNAME_VERIFIER;
+    field @Deprecated public static final String SSL = "SSL";
+    field @Deprecated public static final String SSLV2 = "SSLv2";
+    field @Deprecated public static final org.apache.http.conn.ssl.X509HostnameVerifier STRICT_HOSTNAME_VERIFIER;
+    field @Deprecated public static final String TLS = "TLS";
+  }
+
+  @Deprecated public class StrictHostnameVerifier extends org.apache.http.conn.ssl.AbstractVerifier {
+    ctor @Deprecated public StrictHostnameVerifier();
+    method @Deprecated public final String toString();
+    method @Deprecated public final void verify(String, String[], String[]) throws javax.net.ssl.SSLException;
+  }
+
+  @Deprecated public interface X509HostnameVerifier extends javax.net.ssl.HostnameVerifier {
+    method @Deprecated public void verify(String, javax.net.ssl.SSLSocket) throws java.io.IOException;
+    method @Deprecated public void verify(String, java.security.cert.X509Certificate) throws javax.net.ssl.SSLException;
+    method @Deprecated public void verify(String, String[], String[]) throws javax.net.ssl.SSLException;
+  }
+
+}
+
+package org.apache.http.params {
+
+  @Deprecated public interface CoreConnectionPNames {
+    field @Deprecated public static final String CONNECTION_TIMEOUT = "http.connection.timeout";
+    field @Deprecated public static final String MAX_HEADER_COUNT = "http.connection.max-header-count";
+    field @Deprecated public static final String MAX_LINE_LENGTH = "http.connection.max-line-length";
+    field @Deprecated public static final String SOCKET_BUFFER_SIZE = "http.socket.buffer-size";
+    field @Deprecated public static final String SO_LINGER = "http.socket.linger";
+    field @Deprecated public static final String SO_TIMEOUT = "http.socket.timeout";
+    field @Deprecated public static final String STALE_CONNECTION_CHECK = "http.connection.stalecheck";
+    field @Deprecated public static final String TCP_NODELAY = "http.tcp.nodelay";
+  }
+
+  @Deprecated public final class HttpConnectionParams implements org.apache.http.params.CoreConnectionPNames {
+    method @Deprecated public static int getConnectionTimeout(org.apache.http.params.HttpParams);
+    method @Deprecated public static int getLinger(org.apache.http.params.HttpParams);
+    method @Deprecated public static int getSoTimeout(org.apache.http.params.HttpParams);
+    method @Deprecated public static int getSocketBufferSize(org.apache.http.params.HttpParams);
+    method @Deprecated public static boolean getTcpNoDelay(org.apache.http.params.HttpParams);
+    method @Deprecated public static boolean isStaleCheckingEnabled(org.apache.http.params.HttpParams);
+    method @Deprecated public static void setConnectionTimeout(org.apache.http.params.HttpParams, int);
+    method @Deprecated public static void setLinger(org.apache.http.params.HttpParams, int);
+    method @Deprecated public static void setSoTimeout(org.apache.http.params.HttpParams, int);
+    method @Deprecated public static void setSocketBufferSize(org.apache.http.params.HttpParams, int);
+    method @Deprecated public static void setStaleCheckingEnabled(org.apache.http.params.HttpParams, boolean);
+    method @Deprecated public static void setTcpNoDelay(org.apache.http.params.HttpParams, boolean);
+  }
+
+  @Deprecated public interface HttpParams {
+    method @Deprecated public org.apache.http.params.HttpParams copy();
+    method @Deprecated public boolean getBooleanParameter(String, boolean);
+    method @Deprecated public double getDoubleParameter(String, double);
+    method @Deprecated public int getIntParameter(String, int);
+    method @Deprecated public long getLongParameter(String, long);
+    method @Deprecated public Object getParameter(String);
+    method @Deprecated public boolean isParameterFalse(String);
+    method @Deprecated public boolean isParameterTrue(String);
+    method @Deprecated public boolean removeParameter(String);
+    method @Deprecated public org.apache.http.params.HttpParams setBooleanParameter(String, boolean);
+    method @Deprecated public org.apache.http.params.HttpParams setDoubleParameter(String, double);
+    method @Deprecated public org.apache.http.params.HttpParams setIntParameter(String, int);
+    method @Deprecated public org.apache.http.params.HttpParams setLongParameter(String, long);
+    method @Deprecated public org.apache.http.params.HttpParams setParameter(String, Object);
+  }
+
+}
+
+package org.json {
+
+  public class JSONArray {
+    ctor public JSONArray();
+    ctor public JSONArray(java.util.Collection);
+    ctor public JSONArray(org.json.JSONTokener) throws org.json.JSONException;
+    ctor public JSONArray(String) throws org.json.JSONException;
+    ctor public JSONArray(Object) throws org.json.JSONException;
+    method public Object get(int) throws org.json.JSONException;
+    method public boolean getBoolean(int) throws org.json.JSONException;
+    method public double getDouble(int) throws org.json.JSONException;
+    method public int getInt(int) throws org.json.JSONException;
+    method public org.json.JSONArray getJSONArray(int) throws org.json.JSONException;
+    method public org.json.JSONObject getJSONObject(int) throws org.json.JSONException;
+    method public long getLong(int) throws org.json.JSONException;
+    method public String getString(int) throws org.json.JSONException;
+    method public boolean isNull(int);
+    method public String join(String) throws org.json.JSONException;
+    method public int length();
+    method public Object opt(int);
+    method public boolean optBoolean(int);
+    method public boolean optBoolean(int, boolean);
+    method public double optDouble(int);
+    method public double optDouble(int, double);
+    method public int optInt(int);
+    method public int optInt(int, int);
+    method public org.json.JSONArray optJSONArray(int);
+    method public org.json.JSONObject optJSONObject(int);
+    method public long optLong(int);
+    method public long optLong(int, long);
+    method public String optString(int);
+    method public String optString(int, String);
+    method public org.json.JSONArray put(boolean);
+    method public org.json.JSONArray put(double) throws org.json.JSONException;
+    method public org.json.JSONArray put(int);
+    method public org.json.JSONArray put(long);
+    method public org.json.JSONArray put(Object);
+    method public org.json.JSONArray put(int, boolean) throws org.json.JSONException;
+    method public org.json.JSONArray put(int, double) throws org.json.JSONException;
+    method public org.json.JSONArray put(int, int) throws org.json.JSONException;
+    method public org.json.JSONArray put(int, long) throws org.json.JSONException;
+    method public org.json.JSONArray put(int, Object) throws org.json.JSONException;
+    method public Object remove(int);
+    method public org.json.JSONObject toJSONObject(org.json.JSONArray) throws org.json.JSONException;
+    method public String toString(int) throws org.json.JSONException;
+  }
+
+  public class JSONException extends java.lang.Exception {
+    ctor public JSONException(String);
+    ctor public JSONException(String, Throwable);
+    ctor public JSONException(Throwable);
+  }
+
+  public class JSONObject {
+    ctor public JSONObject();
+    ctor public JSONObject(@NonNull java.util.Map);
+    ctor public JSONObject(@NonNull org.json.JSONTokener) throws org.json.JSONException;
+    ctor public JSONObject(@NonNull String) throws org.json.JSONException;
+    ctor public JSONObject(@NonNull org.json.JSONObject, @NonNull String[]) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject accumulate(@NonNull String, @Nullable Object) throws org.json.JSONException;
+    method @NonNull public Object get(@NonNull String) throws org.json.JSONException;
+    method public boolean getBoolean(@NonNull String) throws org.json.JSONException;
+    method public double getDouble(@NonNull String) throws org.json.JSONException;
+    method public int getInt(@NonNull String) throws org.json.JSONException;
+    method @NonNull public org.json.JSONArray getJSONArray(@NonNull String) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject getJSONObject(@NonNull String) throws org.json.JSONException;
+    method public long getLong(@NonNull String) throws org.json.JSONException;
+    method @NonNull public String getString(@NonNull String) throws org.json.JSONException;
+    method public boolean has(@Nullable String);
+    method public boolean isNull(@Nullable String);
+    method @NonNull public java.util.Iterator<java.lang.String> keys();
+    method public int length();
+    method @Nullable public org.json.JSONArray names();
+    method @NonNull public static String numberToString(@NonNull Number) throws org.json.JSONException;
+    method @Nullable public Object opt(@Nullable String);
+    method public boolean optBoolean(@Nullable String);
+    method public boolean optBoolean(@Nullable String, boolean);
+    method public double optDouble(@Nullable String);
+    method public double optDouble(@Nullable String, double);
+    method public int optInt(@Nullable String);
+    method public int optInt(@Nullable String, int);
+    method @Nullable public org.json.JSONArray optJSONArray(@Nullable String);
+    method @Nullable public org.json.JSONObject optJSONObject(@Nullable String);
+    method public long optLong(@Nullable String);
+    method public long optLong(@Nullable String, long);
+    method @NonNull public String optString(@Nullable String);
+    method @NonNull public String optString(@Nullable String, @NonNull String);
+    method @NonNull public org.json.JSONObject put(@NonNull String, boolean) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject put(@NonNull String, double) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject put(@NonNull String, int) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject put(@NonNull String, long) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject put(@NonNull String, @Nullable Object) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject putOpt(@Nullable String, @Nullable Object) throws org.json.JSONException;
+    method @NonNull public static String quote(@Nullable String);
+    method @Nullable public Object remove(@Nullable String);
+    method @Nullable public org.json.JSONArray toJSONArray(@Nullable org.json.JSONArray) throws org.json.JSONException;
+    method @NonNull public String toString(int) throws org.json.JSONException;
+    method @Nullable public static Object wrap(@Nullable Object);
+    field @NonNull public static final Object NULL;
+  }
+
+  public class JSONStringer {
+    ctor public JSONStringer();
+    method public org.json.JSONStringer array() throws org.json.JSONException;
+    method public org.json.JSONStringer endArray() throws org.json.JSONException;
+    method public org.json.JSONStringer endObject() throws org.json.JSONException;
+    method public org.json.JSONStringer key(String) throws org.json.JSONException;
+    method public org.json.JSONStringer object() throws org.json.JSONException;
+    method public org.json.JSONStringer value(Object) throws org.json.JSONException;
+    method public org.json.JSONStringer value(boolean) throws org.json.JSONException;
+    method public org.json.JSONStringer value(double) throws org.json.JSONException;
+    method public org.json.JSONStringer value(long) throws org.json.JSONException;
+  }
+
+  public class JSONTokener {
+    ctor public JSONTokener(String);
+    method public void back();
+    method public static int dehexchar(char);
+    method public boolean more();
+    method public char next();
+    method public char next(char) throws org.json.JSONException;
+    method public String next(int) throws org.json.JSONException;
+    method public char nextClean() throws org.json.JSONException;
+    method public String nextString(char) throws org.json.JSONException;
+    method public String nextTo(String);
+    method public String nextTo(char);
+    method public Object nextValue() throws org.json.JSONException;
+    method public void skipPast(String);
+    method public char skipTo(char);
+    method public org.json.JSONException syntaxError(String);
+  }
+
+}
+
+package org.w3c.dom {
+
+  public interface Attr extends org.w3c.dom.Node {
+    method public String getName();
+    method public org.w3c.dom.Element getOwnerElement();
+    method public org.w3c.dom.TypeInfo getSchemaTypeInfo();
+    method public boolean getSpecified();
+    method public String getValue();
+    method public boolean isId();
+    method public void setValue(String) throws org.w3c.dom.DOMException;
+  }
+
+  public interface CDATASection extends org.w3c.dom.Text {
+  }
+
+  public interface CharacterData extends org.w3c.dom.Node {
+    method public void appendData(String) throws org.w3c.dom.DOMException;
+    method public void deleteData(int, int) throws org.w3c.dom.DOMException;
+    method public String getData() throws org.w3c.dom.DOMException;
+    method public int getLength();
+    method public void insertData(int, String) throws org.w3c.dom.DOMException;
+    method public void replaceData(int, int, String) throws org.w3c.dom.DOMException;
+    method public void setData(String) throws org.w3c.dom.DOMException;
+    method public String substringData(int, int) throws org.w3c.dom.DOMException;
+  }
+
+  public interface Comment extends org.w3c.dom.CharacterData {
+  }
+
+  public interface DOMConfiguration {
+    method public boolean canSetParameter(String, Object);
+    method public Object getParameter(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.DOMStringList getParameterNames();
+    method public void setParameter(String, Object) throws org.w3c.dom.DOMException;
+  }
+
+  public interface DOMError {
+    method public org.w3c.dom.DOMLocator getLocation();
+    method public String getMessage();
+    method public Object getRelatedData();
+    method public Object getRelatedException();
+    method public short getSeverity();
+    method public String getType();
+    field public static final short SEVERITY_ERROR = 2; // 0x2
+    field public static final short SEVERITY_FATAL_ERROR = 3; // 0x3
+    field public static final short SEVERITY_WARNING = 1; // 0x1
+  }
+
+  public interface DOMErrorHandler {
+    method public boolean handleError(org.w3c.dom.DOMError);
+  }
+
+  public class DOMException extends java.lang.RuntimeException {
+    ctor public DOMException(short, String);
+    field public static final short DOMSTRING_SIZE_ERR = 2; // 0x2
+    field public static final short HIERARCHY_REQUEST_ERR = 3; // 0x3
+    field public static final short INDEX_SIZE_ERR = 1; // 0x1
+    field public static final short INUSE_ATTRIBUTE_ERR = 10; // 0xa
+    field public static final short INVALID_ACCESS_ERR = 15; // 0xf
+    field public static final short INVALID_CHARACTER_ERR = 5; // 0x5
+    field public static final short INVALID_MODIFICATION_ERR = 13; // 0xd
+    field public static final short INVALID_STATE_ERR = 11; // 0xb
+    field public static final short NAMESPACE_ERR = 14; // 0xe
+    field public static final short NOT_FOUND_ERR = 8; // 0x8
+    field public static final short NOT_SUPPORTED_ERR = 9; // 0x9
+    field public static final short NO_DATA_ALLOWED_ERR = 6; // 0x6
+    field public static final short NO_MODIFICATION_ALLOWED_ERR = 7; // 0x7
+    field public static final short SYNTAX_ERR = 12; // 0xc
+    field public static final short TYPE_MISMATCH_ERR = 17; // 0x11
+    field public static final short VALIDATION_ERR = 16; // 0x10
+    field public static final short WRONG_DOCUMENT_ERR = 4; // 0x4
+    field public short code;
+  }
+
+  public interface DOMImplementation {
+    method public org.w3c.dom.Document createDocument(String, String, org.w3c.dom.DocumentType) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.DocumentType createDocumentType(String, String, String) throws org.w3c.dom.DOMException;
+    method public Object getFeature(String, String);
+    method public boolean hasFeature(String, String);
+  }
+
+  public interface DOMImplementationList {
+    method public int getLength();
+    method public org.w3c.dom.DOMImplementation item(int);
+  }
+
+  public interface DOMImplementationSource {
+    method public org.w3c.dom.DOMImplementation getDOMImplementation(String);
+    method public org.w3c.dom.DOMImplementationList getDOMImplementationList(String);
+  }
+
+  public interface DOMLocator {
+    method public int getByteOffset();
+    method public int getColumnNumber();
+    method public int getLineNumber();
+    method public org.w3c.dom.Node getRelatedNode();
+    method public String getUri();
+    method public int getUtf16Offset();
+  }
+
+  public interface DOMStringList {
+    method public boolean contains(String);
+    method public int getLength();
+    method public String item(int);
+  }
+
+  public interface Document extends org.w3c.dom.Node {
+    method public org.w3c.dom.Node adoptNode(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr createAttribute(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr createAttributeNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.CDATASection createCDATASection(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Comment createComment(String);
+    method public org.w3c.dom.DocumentFragment createDocumentFragment();
+    method public org.w3c.dom.Element createElement(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Element createElementNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.EntityReference createEntityReference(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.ProcessingInstruction createProcessingInstruction(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Text createTextNode(String);
+    method public org.w3c.dom.DocumentType getDoctype();
+    method public org.w3c.dom.Element getDocumentElement();
+    method public String getDocumentURI();
+    method public org.w3c.dom.DOMConfiguration getDomConfig();
+    method public org.w3c.dom.Element getElementById(String);
+    method public org.w3c.dom.NodeList getElementsByTagName(String);
+    method public org.w3c.dom.NodeList getElementsByTagNameNS(String, String);
+    method public org.w3c.dom.DOMImplementation getImplementation();
+    method public String getInputEncoding();
+    method public boolean getStrictErrorChecking();
+    method public String getXmlEncoding();
+    method public boolean getXmlStandalone();
+    method public String getXmlVersion();
+    method public org.w3c.dom.Node importNode(org.w3c.dom.Node, boolean) throws org.w3c.dom.DOMException;
+    method public void normalizeDocument();
+    method public org.w3c.dom.Node renameNode(org.w3c.dom.Node, String, String) throws org.w3c.dom.DOMException;
+    method public void setDocumentURI(String);
+    method public void setStrictErrorChecking(boolean);
+    method public void setXmlStandalone(boolean) throws org.w3c.dom.DOMException;
+    method public void setXmlVersion(String) throws org.w3c.dom.DOMException;
+  }
+
+  public interface DocumentFragment extends org.w3c.dom.Node {
+  }
+
+  public interface DocumentType extends org.w3c.dom.Node {
+    method public org.w3c.dom.NamedNodeMap getEntities();
+    method public String getInternalSubset();
+    method public String getName();
+    method public org.w3c.dom.NamedNodeMap getNotations();
+    method public String getPublicId();
+    method public String getSystemId();
+  }
+
+  public interface Element extends org.w3c.dom.Node {
+    method public String getAttribute(String);
+    method public String getAttributeNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr getAttributeNode(String);
+    method public org.w3c.dom.Attr getAttributeNodeNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.NodeList getElementsByTagName(String);
+    method public org.w3c.dom.NodeList getElementsByTagNameNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.TypeInfo getSchemaTypeInfo();
+    method public String getTagName();
+    method public boolean hasAttribute(String);
+    method public boolean hasAttributeNS(String, String) throws org.w3c.dom.DOMException;
+    method public void removeAttribute(String) throws org.w3c.dom.DOMException;
+    method public void removeAttributeNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr) throws org.w3c.dom.DOMException;
+    method public void setAttribute(String, String) throws org.w3c.dom.DOMException;
+    method public void setAttributeNS(String, String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr) throws org.w3c.dom.DOMException;
+    method public void setIdAttribute(String, boolean) throws org.w3c.dom.DOMException;
+    method public void setIdAttributeNS(String, String, boolean) throws org.w3c.dom.DOMException;
+    method public void setIdAttributeNode(org.w3c.dom.Attr, boolean) throws org.w3c.dom.DOMException;
+  }
+
+  public interface Entity extends org.w3c.dom.Node {
+    method public String getInputEncoding();
+    method public String getNotationName();
+    method public String getPublicId();
+    method public String getSystemId();
+    method public String getXmlEncoding();
+    method public String getXmlVersion();
+  }
+
+  public interface EntityReference extends org.w3c.dom.Node {
+  }
+
+  public interface NameList {
+    method public boolean contains(String);
+    method public boolean containsNS(String, String);
+    method public int getLength();
+    method public String getName(int);
+    method public String getNamespaceURI(int);
+  }
+
+  public interface NamedNodeMap {
+    method public int getLength();
+    method public org.w3c.dom.Node getNamedItem(String);
+    method public org.w3c.dom.Node getNamedItemNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node item(int);
+    method public org.w3c.dom.Node removeNamedItem(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node removeNamedItemNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node setNamedItem(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node setNamedItemNS(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+  }
+
+  public interface Node {
+    method public org.w3c.dom.Node appendChild(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node cloneNode(boolean);
+    method public short compareDocumentPosition(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.NamedNodeMap getAttributes();
+    method public String getBaseURI();
+    method public org.w3c.dom.NodeList getChildNodes();
+    method public Object getFeature(String, String);
+    method public org.w3c.dom.Node getFirstChild();
+    method public org.w3c.dom.Node getLastChild();
+    method public String getLocalName();
+    method public String getNamespaceURI();
+    method public org.w3c.dom.Node getNextSibling();
+    method public String getNodeName();
+    method public short getNodeType();
+    method public String getNodeValue() throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Document getOwnerDocument();
+    method public org.w3c.dom.Node getParentNode();
+    method public String getPrefix();
+    method public org.w3c.dom.Node getPreviousSibling();
+    method public String getTextContent() throws org.w3c.dom.DOMException;
+    method public Object getUserData(String);
+    method public boolean hasAttributes();
+    method public boolean hasChildNodes();
+    method public org.w3c.dom.Node insertBefore(org.w3c.dom.Node, org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public boolean isDefaultNamespace(String);
+    method public boolean isEqualNode(org.w3c.dom.Node);
+    method public boolean isSameNode(org.w3c.dom.Node);
+    method public boolean isSupported(String, String);
+    method public String lookupNamespaceURI(String);
+    method public String lookupPrefix(String);
+    method public void normalize();
+    method public org.w3c.dom.Node removeChild(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node replaceChild(org.w3c.dom.Node, org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public void setNodeValue(String) throws org.w3c.dom.DOMException;
+    method public void setPrefix(String) throws org.w3c.dom.DOMException;
+    method public void setTextContent(String) throws org.w3c.dom.DOMException;
+    method public Object setUserData(String, Object, org.w3c.dom.UserDataHandler);
+    field public static final short ATTRIBUTE_NODE = 2; // 0x2
+    field public static final short CDATA_SECTION_NODE = 4; // 0x4
+    field public static final short COMMENT_NODE = 8; // 0x8
+    field public static final short DOCUMENT_FRAGMENT_NODE = 11; // 0xb
+    field public static final short DOCUMENT_NODE = 9; // 0x9
+    field public static final short DOCUMENT_POSITION_CONTAINED_BY = 16; // 0x10
+    field public static final short DOCUMENT_POSITION_CONTAINS = 8; // 0x8
+    field public static final short DOCUMENT_POSITION_DISCONNECTED = 1; // 0x1
+    field public static final short DOCUMENT_POSITION_FOLLOWING = 4; // 0x4
+    field public static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32; // 0x20
+    field public static final short DOCUMENT_POSITION_PRECEDING = 2; // 0x2
+    field public static final short DOCUMENT_TYPE_NODE = 10; // 0xa
+    field public static final short ELEMENT_NODE = 1; // 0x1
+    field public static final short ENTITY_NODE = 6; // 0x6
+    field public static final short ENTITY_REFERENCE_NODE = 5; // 0x5
+    field public static final short NOTATION_NODE = 12; // 0xc
+    field public static final short PROCESSING_INSTRUCTION_NODE = 7; // 0x7
+    field public static final short TEXT_NODE = 3; // 0x3
+  }
+
+  public interface NodeList {
+    method public int getLength();
+    method public org.w3c.dom.Node item(int);
+  }
+
+  public interface Notation extends org.w3c.dom.Node {
+    method public String getPublicId();
+    method public String getSystemId();
+  }
+
+  public interface ProcessingInstruction extends org.w3c.dom.Node {
+    method public String getData();
+    method public String getTarget();
+    method public void setData(String) throws org.w3c.dom.DOMException;
+  }
+
+  public interface Text extends org.w3c.dom.CharacterData {
+    method public String getWholeText();
+    method public boolean isElementContentWhitespace();
+    method public org.w3c.dom.Text replaceWholeText(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Text splitText(int) throws org.w3c.dom.DOMException;
+  }
+
+  public interface TypeInfo {
+    method public String getTypeName();
+    method public String getTypeNamespace();
+    method public boolean isDerivedFrom(String, String, int);
+    field public static final int DERIVATION_EXTENSION = 2; // 0x2
+    field public static final int DERIVATION_LIST = 8; // 0x8
+    field public static final int DERIVATION_RESTRICTION = 1; // 0x1
+    field public static final int DERIVATION_UNION = 4; // 0x4
+  }
+
+  public interface UserDataHandler {
+    method public void handle(short, String, Object, org.w3c.dom.Node, org.w3c.dom.Node);
+    field public static final short NODE_ADOPTED = 5; // 0x5
+    field public static final short NODE_CLONED = 1; // 0x1
+    field public static final short NODE_DELETED = 3; // 0x3
+    field public static final short NODE_IMPORTED = 2; // 0x2
+    field public static final short NODE_RENAMED = 4; // 0x4
+  }
+
+}
+
+package org.w3c.dom.ls {
+
+  public interface DOMImplementationLS {
+    method public org.w3c.dom.ls.LSInput createLSInput();
+    method public org.w3c.dom.ls.LSOutput createLSOutput();
+    method public org.w3c.dom.ls.LSParser createLSParser(short, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.ls.LSSerializer createLSSerializer();
+    field public static final short MODE_ASYNCHRONOUS = 2; // 0x2
+    field public static final short MODE_SYNCHRONOUS = 1; // 0x1
+  }
+
+  public class LSException extends java.lang.RuntimeException {
+    ctor public LSException(short, String);
+    field public static final short PARSE_ERR = 81; // 0x51
+    field public static final short SERIALIZE_ERR = 82; // 0x52
+    field public short code;
+  }
+
+  public interface LSInput {
+    method public String getBaseURI();
+    method public java.io.InputStream getByteStream();
+    method public boolean getCertifiedText();
+    method public java.io.Reader getCharacterStream();
+    method public String getEncoding();
+    method public String getPublicId();
+    method public String getStringData();
+    method public String getSystemId();
+    method public void setBaseURI(String);
+    method public void setByteStream(java.io.InputStream);
+    method public void setCertifiedText(boolean);
+    method public void setCharacterStream(java.io.Reader);
+    method public void setEncoding(String);
+    method public void setPublicId(String);
+    method public void setStringData(String);
+    method public void setSystemId(String);
+  }
+
+  public interface LSOutput {
+    method public java.io.OutputStream getByteStream();
+    method public java.io.Writer getCharacterStream();
+    method public String getEncoding();
+    method public String getSystemId();
+    method public void setByteStream(java.io.OutputStream);
+    method public void setCharacterStream(java.io.Writer);
+    method public void setEncoding(String);
+    method public void setSystemId(String);
+  }
+
+  public interface LSParser {
+    method public void abort();
+    method public boolean getAsync();
+    method public boolean getBusy();
+    method public org.w3c.dom.DOMConfiguration getDomConfig();
+    method public org.w3c.dom.ls.LSParserFilter getFilter();
+    method public org.w3c.dom.Document parse(org.w3c.dom.ls.LSInput) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+    method public org.w3c.dom.Document parseURI(String) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+    method public org.w3c.dom.Node parseWithContext(org.w3c.dom.ls.LSInput, org.w3c.dom.Node, short) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+    method public void setFilter(org.w3c.dom.ls.LSParserFilter);
+    field public static final short ACTION_APPEND_AS_CHILDREN = 1; // 0x1
+    field public static final short ACTION_INSERT_AFTER = 4; // 0x4
+    field public static final short ACTION_INSERT_BEFORE = 3; // 0x3
+    field public static final short ACTION_REPLACE = 5; // 0x5
+    field public static final short ACTION_REPLACE_CHILDREN = 2; // 0x2
+  }
+
+  public interface LSParserFilter {
+    method public short acceptNode(org.w3c.dom.Node);
+    method public int getWhatToShow();
+    method public short startElement(org.w3c.dom.Element);
+    field public static final short FILTER_ACCEPT = 1; // 0x1
+    field public static final short FILTER_INTERRUPT = 4; // 0x4
+    field public static final short FILTER_REJECT = 2; // 0x2
+    field public static final short FILTER_SKIP = 3; // 0x3
+  }
+
+  public interface LSResourceResolver {
+    method public org.w3c.dom.ls.LSInput resolveResource(String, String, String, String, String);
+  }
+
+  public interface LSSerializer {
+    method public org.w3c.dom.DOMConfiguration getDomConfig();
+    method public String getNewLine();
+    method public void setNewLine(String);
+    method public boolean write(org.w3c.dom.Node, org.w3c.dom.ls.LSOutput) throws org.w3c.dom.ls.LSException;
+    method public String writeToString(org.w3c.dom.Node) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+    method public boolean writeToURI(org.w3c.dom.Node, String) throws org.w3c.dom.ls.LSException;
+  }
+
+}
+
+package org.xml.sax {
+
+  @Deprecated public interface AttributeList {
+    method @Deprecated public int getLength();
+    method @Deprecated public String getName(int);
+    method @Deprecated public String getType(int);
+    method @Deprecated public String getType(String);
+    method @Deprecated public String getValue(int);
+    method @Deprecated public String getValue(String);
+  }
+
+  public interface Attributes {
+    method public int getIndex(String, String);
+    method public int getIndex(String);
+    method public int getLength();
+    method public String getLocalName(int);
+    method public String getQName(int);
+    method public String getType(int);
+    method public String getType(String, String);
+    method public String getType(String);
+    method public String getURI(int);
+    method public String getValue(int);
+    method public String getValue(String, String);
+    method public String getValue(String);
+  }
+
+  public interface ContentHandler {
+    method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endDocument() throws org.xml.sax.SAXException;
+    method public void endElement(String, String, String) throws org.xml.sax.SAXException;
+    method public void endPrefixMapping(String) throws org.xml.sax.SAXException;
+    method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method public void setDocumentLocator(org.xml.sax.Locator);
+    method public void skippedEntity(String) throws org.xml.sax.SAXException;
+    method public void startDocument() throws org.xml.sax.SAXException;
+    method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+    method public void startPrefixMapping(String, String) throws org.xml.sax.SAXException;
+  }
+
+  public interface DTDHandler {
+    method public void notationDecl(String, String, String) throws org.xml.sax.SAXException;
+    method public void unparsedEntityDecl(String, String, String, String) throws org.xml.sax.SAXException;
+  }
+
+  @Deprecated public interface DocumentHandler {
+    method @Deprecated public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method @Deprecated public void endDocument() throws org.xml.sax.SAXException;
+    method @Deprecated public void endElement(String) throws org.xml.sax.SAXException;
+    method @Deprecated public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method @Deprecated public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method @Deprecated public void setDocumentLocator(org.xml.sax.Locator);
+    method @Deprecated public void startDocument() throws org.xml.sax.SAXException;
+    method @Deprecated public void startElement(String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException;
+  }
+
+  public interface EntityResolver {
+    method public org.xml.sax.InputSource resolveEntity(String, String) throws java.io.IOException, org.xml.sax.SAXException;
+  }
+
+  public interface ErrorHandler {
+    method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+  }
+
+  @Deprecated public class HandlerBase implements org.xml.sax.DTDHandler org.xml.sax.DocumentHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler {
+    ctor @Deprecated public HandlerBase();
+    method @Deprecated public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method @Deprecated public void endDocument() throws org.xml.sax.SAXException;
+    method @Deprecated public void endElement(String) throws org.xml.sax.SAXException;
+    method @Deprecated public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method @Deprecated public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method @Deprecated public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method @Deprecated public void notationDecl(String, String, String);
+    method @Deprecated public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method @Deprecated public org.xml.sax.InputSource resolveEntity(String, String) throws org.xml.sax.SAXException;
+    method @Deprecated public void setDocumentLocator(org.xml.sax.Locator);
+    method @Deprecated public void startDocument() throws org.xml.sax.SAXException;
+    method @Deprecated public void startElement(String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException;
+    method @Deprecated public void unparsedEntityDecl(String, String, String, String);
+    method @Deprecated public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+  }
+
+  public class InputSource {
+    ctor public InputSource();
+    ctor public InputSource(String);
+    ctor public InputSource(java.io.InputStream);
+    ctor public InputSource(java.io.Reader);
+    method public java.io.InputStream getByteStream();
+    method public java.io.Reader getCharacterStream();
+    method public String getEncoding();
+    method public String getPublicId();
+    method public String getSystemId();
+    method public void setByteStream(java.io.InputStream);
+    method public void setCharacterStream(java.io.Reader);
+    method public void setEncoding(String);
+    method public void setPublicId(String);
+    method public void setSystemId(String);
+  }
+
+  public interface Locator {
+    method public int getColumnNumber();
+    method public int getLineNumber();
+    method public String getPublicId();
+    method public String getSystemId();
+  }
+
+  @Deprecated public interface Parser {
+    method @Deprecated public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method @Deprecated public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method @Deprecated public void setDTDHandler(org.xml.sax.DTDHandler);
+    method @Deprecated public void setDocumentHandler(org.xml.sax.DocumentHandler);
+    method @Deprecated public void setEntityResolver(org.xml.sax.EntityResolver);
+    method @Deprecated public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method @Deprecated public void setLocale(java.util.Locale) throws org.xml.sax.SAXException;
+  }
+
+  public class SAXException extends java.lang.Exception {
+    ctor public SAXException();
+    ctor public SAXException(String);
+    ctor public SAXException(Exception);
+    ctor public SAXException(String, Exception);
+    method public Exception getException();
+  }
+
+  public class SAXNotRecognizedException extends org.xml.sax.SAXException {
+    ctor public SAXNotRecognizedException();
+    ctor public SAXNotRecognizedException(String);
+  }
+
+  public class SAXNotSupportedException extends org.xml.sax.SAXException {
+    ctor public SAXNotSupportedException();
+    ctor public SAXNotSupportedException(String);
+  }
+
+  public class SAXParseException extends org.xml.sax.SAXException {
+    ctor public SAXParseException(String, org.xml.sax.Locator);
+    ctor public SAXParseException(String, org.xml.sax.Locator, Exception);
+    ctor public SAXParseException(String, String, String, int, int);
+    ctor public SAXParseException(String, String, String, int, int, Exception);
+    method public int getColumnNumber();
+    method public int getLineNumber();
+    method public String getPublicId();
+    method public String getSystemId();
+  }
+
+  public interface XMLFilter extends org.xml.sax.XMLReader {
+    method public org.xml.sax.XMLReader getParent();
+    method public void setParent(org.xml.sax.XMLReader);
+  }
+
+  public interface XMLReader {
+    method public org.xml.sax.ContentHandler getContentHandler();
+    method public org.xml.sax.DTDHandler getDTDHandler();
+    method public org.xml.sax.EntityResolver getEntityResolver();
+    method public org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void setContentHandler(org.xml.sax.ContentHandler);
+    method public void setDTDHandler(org.xml.sax.DTDHandler);
+    method public void setEntityResolver(org.xml.sax.EntityResolver);
+    method public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+  }
+
+}
+
+package org.xml.sax.ext {
+
+  public interface Attributes2 extends org.xml.sax.Attributes {
+    method public boolean isDeclared(int);
+    method public boolean isDeclared(String);
+    method public boolean isDeclared(String, String);
+    method public boolean isSpecified(int);
+    method public boolean isSpecified(String, String);
+    method public boolean isSpecified(String);
+  }
+
+  public class Attributes2Impl extends org.xml.sax.helpers.AttributesImpl implements org.xml.sax.ext.Attributes2 {
+    ctor public Attributes2Impl();
+    ctor public Attributes2Impl(org.xml.sax.Attributes);
+    method public boolean isDeclared(int);
+    method public boolean isDeclared(String, String);
+    method public boolean isDeclared(String);
+    method public boolean isSpecified(int);
+    method public boolean isSpecified(String, String);
+    method public boolean isSpecified(String);
+    method public void setDeclared(int, boolean);
+    method public void setSpecified(int, boolean);
+  }
+
+  public interface DeclHandler {
+    method public void attributeDecl(String, String, String, String, String) throws org.xml.sax.SAXException;
+    method public void elementDecl(String, String) throws org.xml.sax.SAXException;
+    method public void externalEntityDecl(String, String, String) throws org.xml.sax.SAXException;
+    method public void internalEntityDecl(String, String) throws org.xml.sax.SAXException;
+  }
+
+  public class DefaultHandler2 extends org.xml.sax.helpers.DefaultHandler implements org.xml.sax.ext.DeclHandler org.xml.sax.ext.EntityResolver2 org.xml.sax.ext.LexicalHandler {
+    ctor public DefaultHandler2();
+    method public void attributeDecl(String, String, String, String, String) throws org.xml.sax.SAXException;
+    method public void comment(char[], int, int) throws org.xml.sax.SAXException;
+    method public void elementDecl(String, String) throws org.xml.sax.SAXException;
+    method public void endCDATA() throws org.xml.sax.SAXException;
+    method public void endDTD() throws org.xml.sax.SAXException;
+    method public void endEntity(String) throws org.xml.sax.SAXException;
+    method public void externalEntityDecl(String, String, String) throws org.xml.sax.SAXException;
+    method public org.xml.sax.InputSource getExternalSubset(String, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void internalEntityDecl(String, String) throws org.xml.sax.SAXException;
+    method public org.xml.sax.InputSource resolveEntity(String, String, String, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void startCDATA() throws org.xml.sax.SAXException;
+    method public void startDTD(String, String, String) throws org.xml.sax.SAXException;
+    method public void startEntity(String) throws org.xml.sax.SAXException;
+  }
+
+  public interface EntityResolver2 extends org.xml.sax.EntityResolver {
+    method public org.xml.sax.InputSource getExternalSubset(String, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public org.xml.sax.InputSource resolveEntity(String, String, String, String) throws java.io.IOException, org.xml.sax.SAXException;
+  }
+
+  public interface LexicalHandler {
+    method public void comment(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endCDATA() throws org.xml.sax.SAXException;
+    method public void endDTD() throws org.xml.sax.SAXException;
+    method public void endEntity(String) throws org.xml.sax.SAXException;
+    method public void startCDATA() throws org.xml.sax.SAXException;
+    method public void startDTD(String, String, String) throws org.xml.sax.SAXException;
+    method public void startEntity(String) throws org.xml.sax.SAXException;
+  }
+
+  public interface Locator2 extends org.xml.sax.Locator {
+    method public String getEncoding();
+    method public String getXMLVersion();
+  }
+
+  public class Locator2Impl extends org.xml.sax.helpers.LocatorImpl implements org.xml.sax.ext.Locator2 {
+    ctor public Locator2Impl();
+    ctor public Locator2Impl(org.xml.sax.Locator);
+    method public String getEncoding();
+    method public String getXMLVersion();
+    method public void setEncoding(String);
+    method public void setXMLVersion(String);
+  }
+
+}
+
+package org.xml.sax.helpers {
+
+  @Deprecated public class AttributeListImpl implements org.xml.sax.AttributeList {
+    ctor @Deprecated public AttributeListImpl();
+    ctor @Deprecated public AttributeListImpl(org.xml.sax.AttributeList);
+    method @Deprecated public void addAttribute(String, String, String);
+    method @Deprecated public void clear();
+    method @Deprecated public int getLength();
+    method @Deprecated public String getName(int);
+    method @Deprecated public String getType(int);
+    method @Deprecated public String getType(String);
+    method @Deprecated public String getValue(int);
+    method @Deprecated public String getValue(String);
+    method @Deprecated public void removeAttribute(String);
+    method @Deprecated public void setAttributeList(org.xml.sax.AttributeList);
+  }
+
+  public class AttributesImpl implements org.xml.sax.Attributes {
+    ctor public AttributesImpl();
+    ctor public AttributesImpl(org.xml.sax.Attributes);
+    method public void addAttribute(String, String, String, String, String);
+    method public void clear();
+    method public int getIndex(String, String);
+    method public int getIndex(String);
+    method public int getLength();
+    method public String getLocalName(int);
+    method public String getQName(int);
+    method public String getType(int);
+    method public String getType(String, String);
+    method public String getType(String);
+    method public String getURI(int);
+    method public String getValue(int);
+    method public String getValue(String, String);
+    method public String getValue(String);
+    method public void removeAttribute(int);
+    method public void setAttribute(int, String, String, String, String, String);
+    method public void setAttributes(org.xml.sax.Attributes);
+    method public void setLocalName(int, String);
+    method public void setQName(int, String);
+    method public void setType(int, String);
+    method public void setURI(int, String);
+    method public void setValue(int, String);
+  }
+
+  public class DefaultHandler implements org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler {
+    ctor public DefaultHandler();
+    method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endDocument() throws org.xml.sax.SAXException;
+    method public void endElement(String, String, String) throws org.xml.sax.SAXException;
+    method public void endPrefixMapping(String) throws org.xml.sax.SAXException;
+    method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method public void notationDecl(String, String, String) throws org.xml.sax.SAXException;
+    method public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method public org.xml.sax.InputSource resolveEntity(String, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void setDocumentLocator(org.xml.sax.Locator);
+    method public void skippedEntity(String) throws org.xml.sax.SAXException;
+    method public void startDocument() throws org.xml.sax.SAXException;
+    method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+    method public void startPrefixMapping(String, String) throws org.xml.sax.SAXException;
+    method public void unparsedEntityDecl(String, String, String, String) throws org.xml.sax.SAXException;
+    method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+  }
+
+  public class LocatorImpl implements org.xml.sax.Locator {
+    ctor public LocatorImpl();
+    ctor public LocatorImpl(org.xml.sax.Locator);
+    method public int getColumnNumber();
+    method public int getLineNumber();
+    method public String getPublicId();
+    method public String getSystemId();
+    method public void setColumnNumber(int);
+    method public void setLineNumber(int);
+    method public void setPublicId(String);
+    method public void setSystemId(String);
+  }
+
+  public class NamespaceSupport {
+    ctor public NamespaceSupport();
+    method public boolean declarePrefix(String, String);
+    method public java.util.Enumeration getDeclaredPrefixes();
+    method public String getPrefix(String);
+    method public java.util.Enumeration getPrefixes();
+    method public java.util.Enumeration getPrefixes(String);
+    method public String getURI(String);
+    method public boolean isNamespaceDeclUris();
+    method public void popContext();
+    method public String[] processName(String, String[], boolean);
+    method public void pushContext();
+    method public void reset();
+    method public void setNamespaceDeclUris(boolean);
+    field public static final String NSDECL = "http://www.w3.org/xmlns/2000/";
+    field public static final String XMLNS = "http://www.w3.org/XML/1998/namespace";
+  }
+
+  public class ParserAdapter implements org.xml.sax.DocumentHandler org.xml.sax.XMLReader {
+    ctor public ParserAdapter() throws org.xml.sax.SAXException;
+    ctor public ParserAdapter(org.xml.sax.Parser);
+    method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endDocument() throws org.xml.sax.SAXException;
+    method public void endElement(String) throws org.xml.sax.SAXException;
+    method public org.xml.sax.ContentHandler getContentHandler();
+    method public org.xml.sax.DTDHandler getDTDHandler();
+    method public org.xml.sax.EntityResolver getEntityResolver();
+    method public org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method public void setContentHandler(org.xml.sax.ContentHandler);
+    method public void setDTDHandler(org.xml.sax.DTDHandler);
+    method public void setDocumentLocator(org.xml.sax.Locator);
+    method public void setEntityResolver(org.xml.sax.EntityResolver);
+    method public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void startDocument() throws org.xml.sax.SAXException;
+    method public void startElement(String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException;
+  }
+
+  @Deprecated public class ParserFactory {
+    method @Deprecated public static org.xml.sax.Parser makeParser() throws java.lang.ClassCastException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.NullPointerException;
+    method @Deprecated public static org.xml.sax.Parser makeParser(String) throws java.lang.ClassCastException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+  }
+
+  public class XMLFilterImpl implements org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler org.xml.sax.XMLFilter {
+    ctor public XMLFilterImpl();
+    ctor public XMLFilterImpl(org.xml.sax.XMLReader);
+    method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endDocument() throws org.xml.sax.SAXException;
+    method public void endElement(String, String, String) throws org.xml.sax.SAXException;
+    method public void endPrefixMapping(String) throws org.xml.sax.SAXException;
+    method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public org.xml.sax.ContentHandler getContentHandler();
+    method public org.xml.sax.DTDHandler getDTDHandler();
+    method public org.xml.sax.EntityResolver getEntityResolver();
+    method public org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public org.xml.sax.XMLReader getParent();
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method public void notationDecl(String, String, String) throws org.xml.sax.SAXException;
+    method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method public org.xml.sax.InputSource resolveEntity(String, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void setContentHandler(org.xml.sax.ContentHandler);
+    method public void setDTDHandler(org.xml.sax.DTDHandler);
+    method public void setDocumentLocator(org.xml.sax.Locator);
+    method public void setEntityResolver(org.xml.sax.EntityResolver);
+    method public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setParent(org.xml.sax.XMLReader);
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void skippedEntity(String) throws org.xml.sax.SAXException;
+    method public void startDocument() throws org.xml.sax.SAXException;
+    method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+    method public void startPrefixMapping(String, String) throws org.xml.sax.SAXException;
+    method public void unparsedEntityDecl(String, String, String, String) throws org.xml.sax.SAXException;
+    method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+  }
+
+  public class XMLReaderAdapter implements org.xml.sax.ContentHandler org.xml.sax.Parser {
+    ctor public XMLReaderAdapter() throws org.xml.sax.SAXException;
+    ctor public XMLReaderAdapter(org.xml.sax.XMLReader);
+    method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endDocument() throws org.xml.sax.SAXException;
+    method public void endElement(String, String, String) throws org.xml.sax.SAXException;
+    method public void endPrefixMapping(String);
+    method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method public void setDTDHandler(org.xml.sax.DTDHandler);
+    method public void setDocumentHandler(org.xml.sax.DocumentHandler);
+    method public void setDocumentLocator(org.xml.sax.Locator);
+    method public void setEntityResolver(org.xml.sax.EntityResolver);
+    method public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setLocale(java.util.Locale) throws org.xml.sax.SAXException;
+    method public void skippedEntity(String) throws org.xml.sax.SAXException;
+    method public void startDocument() throws org.xml.sax.SAXException;
+    method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+    method public void startPrefixMapping(String, String);
+  }
+
+  public final class XMLReaderFactory {
+    method public static org.xml.sax.XMLReader createXMLReader() throws org.xml.sax.SAXException;
+    method public static org.xml.sax.XMLReader createXMLReader(String) throws org.xml.sax.SAXException;
+  }
+
+}
+
+package org.xmlpull.v1 {
+
+  public interface XmlPullParser {
+    method public void defineEntityReplacementText(String, String) throws org.xmlpull.v1.XmlPullParserException;
+    method public int getAttributeCount();
+    method public String getAttributeName(int);
+    method public String getAttributeNamespace(int);
+    method public String getAttributePrefix(int);
+    method public String getAttributeType(int);
+    method public String getAttributeValue(int);
+    method public String getAttributeValue(String, String);
+    method public int getColumnNumber();
+    method public int getDepth();
+    method public int getEventType() throws org.xmlpull.v1.XmlPullParserException;
+    method public boolean getFeature(String);
+    method public String getInputEncoding();
+    method public int getLineNumber();
+    method public String getName();
+    method public String getNamespace(String);
+    method public String getNamespace();
+    method public int getNamespaceCount(int) throws org.xmlpull.v1.XmlPullParserException;
+    method public String getNamespacePrefix(int) throws org.xmlpull.v1.XmlPullParserException;
+    method public String getNamespaceUri(int) throws org.xmlpull.v1.XmlPullParserException;
+    method public String getPositionDescription();
+    method public String getPrefix();
+    method public Object getProperty(String);
+    method public String getText();
+    method public char[] getTextCharacters(int[]);
+    method public boolean isAttributeDefault(int);
+    method public boolean isEmptyElementTag() throws org.xmlpull.v1.XmlPullParserException;
+    method public boolean isWhitespace() throws org.xmlpull.v1.XmlPullParserException;
+    method public int next() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public int nextTag() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public String nextText() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public int nextToken() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void require(int, String, String) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void setFeature(String, boolean) throws org.xmlpull.v1.XmlPullParserException;
+    method public void setInput(java.io.Reader) throws org.xmlpull.v1.XmlPullParserException;
+    method public void setInput(java.io.InputStream, String) throws org.xmlpull.v1.XmlPullParserException;
+    method public void setProperty(String, Object) throws org.xmlpull.v1.XmlPullParserException;
+    field public static final int CDSECT = 5; // 0x5
+    field public static final int COMMENT = 9; // 0x9
+    field public static final int DOCDECL = 10; // 0xa
+    field public static final int END_DOCUMENT = 1; // 0x1
+    field public static final int END_TAG = 3; // 0x3
+    field public static final int ENTITY_REF = 6; // 0x6
+    field public static final String FEATURE_PROCESS_DOCDECL = "http://xmlpull.org/v1/doc/features.html#process-docdecl";
+    field public static final String FEATURE_PROCESS_NAMESPACES = "http://xmlpull.org/v1/doc/features.html#process-namespaces";
+    field public static final String FEATURE_REPORT_NAMESPACE_ATTRIBUTES = "http://xmlpull.org/v1/doc/features.html#report-namespace-prefixes";
+    field public static final String FEATURE_VALIDATION = "http://xmlpull.org/v1/doc/features.html#validation";
+    field public static final int IGNORABLE_WHITESPACE = 7; // 0x7
+    field public static final String NO_NAMESPACE = "";
+    field public static final int PROCESSING_INSTRUCTION = 8; // 0x8
+    field public static final int START_DOCUMENT = 0; // 0x0
+    field public static final int START_TAG = 2; // 0x2
+    field public static final int TEXT = 4; // 0x4
+    field public static final String[] TYPES;
+  }
+
+  public class XmlPullParserException extends java.lang.Exception {
+    ctor public XmlPullParserException(String);
+    ctor public XmlPullParserException(String, org.xmlpull.v1.XmlPullParser, Throwable);
+    method public int getColumnNumber();
+    method public Throwable getDetail();
+    method public int getLineNumber();
+    field protected int column;
+    field protected Throwable detail;
+    field protected int row;
+  }
+
+  public class XmlPullParserFactory {
+    ctor protected XmlPullParserFactory();
+    method public boolean getFeature(String);
+    method public boolean isNamespaceAware();
+    method public boolean isValidating();
+    method public static org.xmlpull.v1.XmlPullParserFactory newInstance() throws org.xmlpull.v1.XmlPullParserException;
+    method public static org.xmlpull.v1.XmlPullParserFactory newInstance(String, Class) throws org.xmlpull.v1.XmlPullParserException;
+    method public org.xmlpull.v1.XmlPullParser newPullParser() throws org.xmlpull.v1.XmlPullParserException;
+    method public org.xmlpull.v1.XmlSerializer newSerializer() throws org.xmlpull.v1.XmlPullParserException;
+    method public void setFeature(String, boolean) throws org.xmlpull.v1.XmlPullParserException;
+    method public void setNamespaceAware(boolean);
+    method public void setValidating(boolean);
+    field public static final String PROPERTY_NAME = "org.xmlpull.v1.XmlPullParserFactory";
+    field protected String classNamesLocation;
+    field protected java.util.HashMap<java.lang.String,java.lang.Boolean> features;
+    field protected java.util.ArrayList parserClasses;
+    field protected java.util.ArrayList serializerClasses;
+  }
+
+  public interface XmlSerializer {
+    method public org.xmlpull.v1.XmlSerializer attribute(String, String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void cdsect(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void comment(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void docdecl(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void endDocument() throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public org.xmlpull.v1.XmlSerializer endTag(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void entityRef(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void flush() throws java.io.IOException;
+    method public int getDepth();
+    method public boolean getFeature(String);
+    method public String getName();
+    method public String getNamespace();
+    method public String getPrefix(String, boolean) throws java.lang.IllegalArgumentException;
+    method public Object getProperty(String);
+    method public void ignorableWhitespace(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void processingInstruction(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setFeature(String, boolean) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setOutput(java.io.OutputStream, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setOutput(java.io.Writer) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setPrefix(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setProperty(String, Object) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void startDocument(String, Boolean) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public org.xmlpull.v1.XmlSerializer startTag(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public org.xmlpull.v1.XmlSerializer text(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public org.xmlpull.v1.XmlSerializer text(char[], int, int) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+  }
+
+}
+
+package org.xmlpull.v1.sax2 {
+
+  public class Driver implements org.xml.sax.Attributes org.xml.sax.Locator org.xml.sax.XMLReader {
+    ctor public Driver() throws org.xmlpull.v1.XmlPullParserException;
+    ctor public Driver(org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException;
+    method public int getColumnNumber();
+    method public org.xml.sax.ContentHandler getContentHandler();
+    method public org.xml.sax.DTDHandler getDTDHandler();
+    method public org.xml.sax.EntityResolver getEntityResolver();
+    method public org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public int getIndex(String, String);
+    method public int getIndex(String);
+    method public int getLength();
+    method public int getLineNumber();
+    method public String getLocalName(int);
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public String getPublicId();
+    method public String getQName(int);
+    method public String getSystemId();
+    method public String getType(int);
+    method public String getType(String, String);
+    method public String getType(String);
+    method public String getURI(int);
+    method public String getValue(int);
+    method public String getValue(String, String);
+    method public String getValue(String);
+    method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parseSubTree(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void setContentHandler(org.xml.sax.ContentHandler);
+    method public void setDTDHandler(org.xml.sax.DTDHandler);
+    method public void setEntityResolver(org.xml.sax.EntityResolver);
+    method public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method protected void startElement(String, String, String) throws org.xml.sax.SAXException;
+    field protected static final String APACHE_DYNAMIC_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/dynamic";
+    field protected static final String APACHE_SCHEMA_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/schema";
+    field protected static final String DECLARATION_HANDLER_PROPERTY = "http://xml.org/sax/properties/declaration-handler";
+    field protected static final String LEXICAL_HANDLER_PROPERTY = "http://xml.org/sax/properties/lexical-handler";
+    field protected static final String NAMESPACES_FEATURE = "http://xml.org/sax/features/namespaces";
+    field protected static final String NAMESPACE_PREFIXES_FEATURE = "http://xml.org/sax/features/namespace-prefixes";
+    field protected static final String VALIDATION_FEATURE = "http://xml.org/sax/features/validation";
+    field protected org.xml.sax.ContentHandler contentHandler;
+    field protected org.xml.sax.ErrorHandler errorHandler;
+    field protected org.xmlpull.v1.XmlPullParser pp;
+    field protected String systemId;
+  }
+
+}
+
diff --git a/32/public/api/art-removed.txt b/32/public/api/art-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/art-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/art.txt b/32/public/api/art.txt
new file mode 100644
index 0000000..5276996
--- /dev/null
+++ b/32/public/api/art.txt
@@ -0,0 +1,20388 @@
+// Signature format: 2.0
+package android.system {
+
+  public final class ErrnoException extends java.lang.Exception {
+    ctor public ErrnoException(String, int);
+    ctor public ErrnoException(String, int, Throwable);
+    method @NonNull public java.io.IOException rethrowAsIOException() throws java.io.IOException;
+    method @NonNull public java.net.SocketException rethrowAsSocketException() throws java.net.SocketException;
+    field public final int errno;
+  }
+
+  public class Int64Ref {
+    ctor public Int64Ref(long);
+    field public long value;
+  }
+
+  public final class Os {
+    method public static java.io.FileDescriptor accept(java.io.FileDescriptor, java.net.InetSocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method public static boolean access(String, int) throws android.system.ErrnoException;
+    method public static void bind(java.io.FileDescriptor, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static void bind(@NonNull java.io.FileDescriptor, @NonNull java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method public static void chmod(String, int) throws android.system.ErrnoException;
+    method public static void chown(String, int, int) throws android.system.ErrnoException;
+    method public static void close(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static void connect(java.io.FileDescriptor, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static void connect(@NonNull java.io.FileDescriptor, @NonNull java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method public static java.io.FileDescriptor dup(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static java.io.FileDescriptor dup2(java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method public static String[] environ();
+    method public static void execv(String, String[]) throws android.system.ErrnoException;
+    method public static void execve(String, String[], String[]) throws android.system.ErrnoException;
+    method public static void fchmod(java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method public static void fchown(java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
+    method public static int fcntlInt(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
+    method public static void fdatasync(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static android.system.StructStat fstat(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static android.system.StructStatVfs fstatvfs(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static void fsync(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static void ftruncate(java.io.FileDescriptor, long) throws android.system.ErrnoException;
+    method public static String gai_strerror(int);
+    method public static int getegid();
+    method public static String getenv(String);
+    method public static int geteuid();
+    method public static int getgid();
+    method public static java.net.SocketAddress getpeername(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static int getpid();
+    method public static int getppid();
+    method public static java.net.SocketAddress getsockname(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method @NonNull public static android.system.StructTimeval getsockoptTimeval(@NonNull java.io.FileDescriptor, int, int) throws android.system.ErrnoException;
+    method public static int gettid();
+    method public static int getuid();
+    method public static byte[] getxattr(String, String) throws android.system.ErrnoException;
+    method public static String if_indextoname(int);
+    method public static int if_nametoindex(String);
+    method public static java.net.InetAddress inet_pton(int, String);
+    method public static boolean isatty(java.io.FileDescriptor);
+    method public static void kill(int, int) throws android.system.ErrnoException;
+    method public static void lchown(String, int, int) throws android.system.ErrnoException;
+    method public static void link(String, String) throws android.system.ErrnoException;
+    method public static void listen(java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method public static String[] listxattr(String) throws android.system.ErrnoException;
+    method public static long lseek(java.io.FileDescriptor, long, int) throws android.system.ErrnoException;
+    method public static android.system.StructStat lstat(String) throws android.system.ErrnoException;
+    method @NonNull public static java.io.FileDescriptor memfd_create(@NonNull String, int) throws android.system.ErrnoException;
+    method public static void mincore(long, long, byte[]) throws android.system.ErrnoException;
+    method public static void mkdir(String, int) throws android.system.ErrnoException;
+    method public static void mkfifo(String, int) throws android.system.ErrnoException;
+    method public static void mlock(long, long) throws android.system.ErrnoException;
+    method public static long mmap(long, long, int, int, java.io.FileDescriptor, long) throws android.system.ErrnoException;
+    method public static void msync(long, long, int) throws android.system.ErrnoException;
+    method public static void munlock(long, long) throws android.system.ErrnoException;
+    method public static void munmap(long, long) throws android.system.ErrnoException;
+    method public static java.io.FileDescriptor open(String, int, int) throws android.system.ErrnoException;
+    method public static java.io.FileDescriptor[] pipe() throws android.system.ErrnoException;
+    method public static int poll(android.system.StructPollfd[], int) throws android.system.ErrnoException;
+    method public static void posix_fallocate(java.io.FileDescriptor, long, long) throws android.system.ErrnoException;
+    method public static int prctl(int, long, long, long, long) throws android.system.ErrnoException;
+    method public static int pread(java.io.FileDescriptor, java.nio.ByteBuffer, long) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int pread(java.io.FileDescriptor, byte[], int, int, long) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int pwrite(java.io.FileDescriptor, java.nio.ByteBuffer, long) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int pwrite(java.io.FileDescriptor, byte[], int, int, long) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int read(java.io.FileDescriptor, java.nio.ByteBuffer) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int read(java.io.FileDescriptor, byte[], int, int) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static String readlink(String) throws android.system.ErrnoException;
+    method public static int readv(java.io.FileDescriptor, Object[], int[], int[]) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int recvfrom(java.io.FileDescriptor, java.nio.ByteBuffer, int, java.net.InetSocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method public static int recvfrom(java.io.FileDescriptor, byte[], int, int, int, java.net.InetSocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method public static int recvmsg(@NonNull java.io.FileDescriptor, @NonNull android.system.StructMsghdr, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static void remove(String) throws android.system.ErrnoException;
+    method public static void removexattr(String, String) throws android.system.ErrnoException;
+    method public static void rename(String, String) throws android.system.ErrnoException;
+    method public static long sendfile(java.io.FileDescriptor, java.io.FileDescriptor, android.system.Int64Ref, long) throws android.system.ErrnoException;
+    method public static int sendmsg(@NonNull java.io.FileDescriptor, @NonNull android.system.StructMsghdr, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static int sendto(java.io.FileDescriptor, java.nio.ByteBuffer, int, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static int sendto(java.io.FileDescriptor, byte[], int, int, int, java.net.InetAddress, int) throws android.system.ErrnoException, java.net.SocketException;
+    method public static int sendto(@NonNull java.io.FileDescriptor, @NonNull byte[], int, int, int, @Nullable java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
+    method @Deprecated public static void setegid(int) throws android.system.ErrnoException;
+    method public static void setenv(String, String, boolean) throws android.system.ErrnoException;
+    method @Deprecated public static void seteuid(int) throws android.system.ErrnoException;
+    method @Deprecated public static void setgid(int) throws android.system.ErrnoException;
+    method public static int setsid() throws android.system.ErrnoException;
+    method public static void setsockoptInt(java.io.FileDescriptor, int, int, int) throws android.system.ErrnoException;
+    method public static void setsockoptTimeval(@NonNull java.io.FileDescriptor, int, int, @NonNull android.system.StructTimeval) throws android.system.ErrnoException;
+    method @Deprecated public static void setuid(int) throws android.system.ErrnoException;
+    method public static void setxattr(String, String, byte[], int) throws android.system.ErrnoException;
+    method public static void shutdown(java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method public static java.io.FileDescriptor socket(int, int, int) throws android.system.ErrnoException;
+    method public static void socketpair(int, int, int, java.io.FileDescriptor, java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static android.system.StructStat stat(String) throws android.system.ErrnoException;
+    method public static android.system.StructStatVfs statvfs(String) throws android.system.ErrnoException;
+    method public static String strerror(int);
+    method public static String strsignal(int);
+    method public static void symlink(String, String) throws android.system.ErrnoException;
+    method public static long sysconf(int);
+    method public static void tcdrain(java.io.FileDescriptor) throws android.system.ErrnoException;
+    method public static void tcsendbreak(java.io.FileDescriptor, int) throws android.system.ErrnoException;
+    method public static int umask(int);
+    method public static android.system.StructUtsname uname();
+    method public static void unsetenv(String) throws android.system.ErrnoException;
+    method public static int write(java.io.FileDescriptor, java.nio.ByteBuffer) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int write(java.io.FileDescriptor, byte[], int, int) throws android.system.ErrnoException, java.io.InterruptedIOException;
+    method public static int writev(java.io.FileDescriptor, Object[], int[], int[]) throws android.system.ErrnoException, java.io.InterruptedIOException;
+  }
+
+  public final class OsConstants {
+    method public static boolean S_ISBLK(int);
+    method public static boolean S_ISCHR(int);
+    method public static boolean S_ISDIR(int);
+    method public static boolean S_ISFIFO(int);
+    method public static boolean S_ISLNK(int);
+    method public static boolean S_ISREG(int);
+    method public static boolean S_ISSOCK(int);
+    method public static boolean WCOREDUMP(int);
+    method public static int WEXITSTATUS(int);
+    method public static boolean WIFEXITED(int);
+    method public static boolean WIFSIGNALED(int);
+    method public static boolean WIFSTOPPED(int);
+    method public static int WSTOPSIG(int);
+    method public static int WTERMSIG(int);
+    method public static String errnoName(int);
+    method public static String gaiName(int);
+    field public static final int AF_INET;
+    field public static final int AF_INET6;
+    field public static final int AF_NETLINK;
+    field public static final int AF_PACKET;
+    field public static final int AF_UNIX;
+    field public static final int AF_UNSPEC;
+    field public static final int AF_VSOCK;
+    field public static final int AI_ADDRCONFIG;
+    field public static final int AI_ALL;
+    field public static final int AI_CANONNAME;
+    field public static final int AI_NUMERICHOST;
+    field public static final int AI_NUMERICSERV;
+    field public static final int AI_PASSIVE;
+    field public static final int AI_V4MAPPED;
+    field public static final int ARPHRD_ETHER;
+    field public static final int CAP_AUDIT_CONTROL;
+    field public static final int CAP_AUDIT_WRITE;
+    field public static final int CAP_BLOCK_SUSPEND;
+    field public static final int CAP_CHOWN;
+    field public static final int CAP_DAC_OVERRIDE;
+    field public static final int CAP_DAC_READ_SEARCH;
+    field public static final int CAP_FOWNER;
+    field public static final int CAP_FSETID;
+    field public static final int CAP_IPC_LOCK;
+    field public static final int CAP_IPC_OWNER;
+    field public static final int CAP_KILL;
+    field public static final int CAP_LAST_CAP;
+    field public static final int CAP_LEASE;
+    field public static final int CAP_LINUX_IMMUTABLE;
+    field public static final int CAP_MAC_ADMIN;
+    field public static final int CAP_MAC_OVERRIDE;
+    field public static final int CAP_MKNOD;
+    field public static final int CAP_NET_ADMIN;
+    field public static final int CAP_NET_BIND_SERVICE;
+    field public static final int CAP_NET_BROADCAST;
+    field public static final int CAP_NET_RAW;
+    field public static final int CAP_SETFCAP;
+    field public static final int CAP_SETGID;
+    field public static final int CAP_SETPCAP;
+    field public static final int CAP_SETUID;
+    field public static final int CAP_SYSLOG;
+    field public static final int CAP_SYS_ADMIN;
+    field public static final int CAP_SYS_BOOT;
+    field public static final int CAP_SYS_CHROOT;
+    field public static final int CAP_SYS_MODULE;
+    field public static final int CAP_SYS_NICE;
+    field public static final int CAP_SYS_PACCT;
+    field public static final int CAP_SYS_PTRACE;
+    field public static final int CAP_SYS_RAWIO;
+    field public static final int CAP_SYS_RESOURCE;
+    field public static final int CAP_SYS_TIME;
+    field public static final int CAP_SYS_TTY_CONFIG;
+    field public static final int CAP_WAKE_ALARM;
+    field public static final int E2BIG;
+    field public static final int EACCES;
+    field public static final int EADDRINUSE;
+    field public static final int EADDRNOTAVAIL;
+    field public static final int EAFNOSUPPORT;
+    field public static final int EAGAIN;
+    field public static final int EAI_AGAIN;
+    field public static final int EAI_BADFLAGS;
+    field public static final int EAI_FAIL;
+    field public static final int EAI_FAMILY;
+    field public static final int EAI_MEMORY;
+    field public static final int EAI_NODATA;
+    field public static final int EAI_NONAME;
+    field public static final int EAI_OVERFLOW;
+    field public static final int EAI_SERVICE;
+    field public static final int EAI_SOCKTYPE;
+    field public static final int EAI_SYSTEM;
+    field public static final int EALREADY;
+    field public static final int EBADF;
+    field public static final int EBADMSG;
+    field public static final int EBUSY;
+    field public static final int ECANCELED;
+    field public static final int ECHILD;
+    field public static final int ECONNABORTED;
+    field public static final int ECONNREFUSED;
+    field public static final int ECONNRESET;
+    field public static final int EDEADLK;
+    field public static final int EDESTADDRREQ;
+    field public static final int EDOM;
+    field public static final int EDQUOT;
+    field public static final int EEXIST;
+    field public static final int EFAULT;
+    field public static final int EFBIG;
+    field public static final int EHOSTUNREACH;
+    field public static final int EIDRM;
+    field public static final int EILSEQ;
+    field public static final int EINPROGRESS;
+    field public static final int EINTR;
+    field public static final int EINVAL;
+    field public static final int EIO;
+    field public static final int EISCONN;
+    field public static final int EISDIR;
+    field public static final int ELOOP;
+    field public static final int EMFILE;
+    field public static final int EMLINK;
+    field public static final int EMSGSIZE;
+    field public static final int EMULTIHOP;
+    field public static final int ENAMETOOLONG;
+    field public static final int ENETDOWN;
+    field public static final int ENETRESET;
+    field public static final int ENETUNREACH;
+    field public static final int ENFILE;
+    field public static final int ENOBUFS;
+    field public static final int ENODATA;
+    field public static final int ENODEV;
+    field public static final int ENOENT;
+    field public static final int ENOEXEC;
+    field public static final int ENOLCK;
+    field public static final int ENOLINK;
+    field public static final int ENOMEM;
+    field public static final int ENOMSG;
+    field public static final int ENONET;
+    field public static final int ENOPROTOOPT;
+    field public static final int ENOSPC;
+    field public static final int ENOSR;
+    field public static final int ENOSTR;
+    field public static final int ENOSYS;
+    field public static final int ENOTCONN;
+    field public static final int ENOTDIR;
+    field public static final int ENOTEMPTY;
+    field public static final int ENOTSOCK;
+    field public static final int ENOTSUP;
+    field public static final int ENOTTY;
+    field public static final int ENXIO;
+    field public static final int EOPNOTSUPP;
+    field public static final int EOVERFLOW;
+    field public static final int EPERM;
+    field public static final int EPIPE;
+    field public static final int EPROTO;
+    field public static final int EPROTONOSUPPORT;
+    field public static final int EPROTOTYPE;
+    field public static final int ERANGE;
+    field public static final int EROFS;
+    field public static final int ESPIPE;
+    field public static final int ESRCH;
+    field public static final int ESTALE;
+    field public static final int ETH_P_ALL;
+    field public static final int ETH_P_ARP;
+    field public static final int ETH_P_IP;
+    field public static final int ETH_P_IPV6;
+    field public static final int ETIME;
+    field public static final int ETIMEDOUT;
+    field public static final int ETXTBSY;
+    field public static final int EXDEV;
+    field public static final int EXIT_FAILURE;
+    field public static final int EXIT_SUCCESS;
+    field public static final int FD_CLOEXEC;
+    field public static final int FIONREAD;
+    field public static final int F_DUPFD;
+    field public static final int F_DUPFD_CLOEXEC;
+    field public static final int F_GETFD;
+    field public static final int F_GETFL;
+    field public static final int F_GETLK;
+    field public static final int F_GETLK64;
+    field public static final int F_GETOWN;
+    field public static final int F_OK;
+    field public static final int F_RDLCK;
+    field public static final int F_SETFD;
+    field public static final int F_SETFL;
+    field public static final int F_SETLK;
+    field public static final int F_SETLK64;
+    field public static final int F_SETLKW;
+    field public static final int F_SETLKW64;
+    field public static final int F_SETOWN;
+    field public static final int F_UNLCK;
+    field public static final int F_WRLCK;
+    field public static final int ICMP6_ECHO_REPLY;
+    field public static final int ICMP6_ECHO_REQUEST;
+    field public static final int ICMP_ECHO;
+    field public static final int ICMP_ECHOREPLY;
+    field public static final int IFA_F_DADFAILED;
+    field public static final int IFA_F_DEPRECATED;
+    field public static final int IFA_F_HOMEADDRESS;
+    field public static final int IFA_F_NODAD;
+    field public static final int IFA_F_OPTIMISTIC;
+    field public static final int IFA_F_PERMANENT;
+    field public static final int IFA_F_SECONDARY;
+    field public static final int IFA_F_TEMPORARY;
+    field public static final int IFA_F_TENTATIVE;
+    field public static final int IFF_ALLMULTI;
+    field public static final int IFF_AUTOMEDIA;
+    field public static final int IFF_BROADCAST;
+    field public static final int IFF_DEBUG;
+    field public static final int IFF_DYNAMIC;
+    field public static final int IFF_LOOPBACK;
+    field public static final int IFF_MASTER;
+    field public static final int IFF_MULTICAST;
+    field public static final int IFF_NOARP;
+    field public static final int IFF_NOTRAILERS;
+    field public static final int IFF_POINTOPOINT;
+    field public static final int IFF_PORTSEL;
+    field public static final int IFF_PROMISC;
+    field public static final int IFF_RUNNING;
+    field public static final int IFF_SLAVE;
+    field public static final int IFF_UP;
+    field public static final int IPPROTO_ICMP;
+    field public static final int IPPROTO_ICMPV6;
+    field public static final int IPPROTO_IP;
+    field public static final int IPPROTO_IPV6;
+    field public static final int IPPROTO_RAW;
+    field public static final int IPPROTO_TCP;
+    field public static final int IPPROTO_UDP;
+    field public static final int IPV6_CHECKSUM;
+    field public static final int IPV6_MULTICAST_HOPS;
+    field public static final int IPV6_MULTICAST_IF;
+    field public static final int IPV6_MULTICAST_LOOP;
+    field public static final int IPV6_RECVDSTOPTS;
+    field public static final int IPV6_RECVHOPLIMIT;
+    field public static final int IPV6_RECVHOPOPTS;
+    field public static final int IPV6_RECVPKTINFO;
+    field public static final int IPV6_RECVRTHDR;
+    field public static final int IPV6_RECVTCLASS;
+    field public static final int IPV6_TCLASS;
+    field public static final int IPV6_UNICAST_HOPS;
+    field public static final int IPV6_V6ONLY;
+    field public static final int IP_MULTICAST_IF;
+    field public static final int IP_MULTICAST_LOOP;
+    field public static final int IP_MULTICAST_TTL;
+    field public static final int IP_TOS;
+    field public static final int IP_TTL;
+    field public static final int MAP_ANONYMOUS;
+    field public static final int MAP_FIXED;
+    field public static final int MAP_PRIVATE;
+    field public static final int MAP_SHARED;
+    field public static final int MCAST_BLOCK_SOURCE;
+    field public static final int MCAST_JOIN_GROUP;
+    field public static final int MCAST_JOIN_SOURCE_GROUP;
+    field public static final int MCAST_LEAVE_GROUP;
+    field public static final int MCAST_LEAVE_SOURCE_GROUP;
+    field public static final int MCAST_UNBLOCK_SOURCE;
+    field public static final int MCL_CURRENT;
+    field public static final int MCL_FUTURE;
+    field public static final int MFD_CLOEXEC;
+    field public static final int MSG_CTRUNC;
+    field public static final int MSG_DONTROUTE;
+    field public static final int MSG_EOR;
+    field public static final int MSG_OOB;
+    field public static final int MSG_PEEK;
+    field public static final int MSG_TRUNC;
+    field public static final int MSG_WAITALL;
+    field public static final int MS_ASYNC;
+    field public static final int MS_INVALIDATE;
+    field public static final int MS_SYNC;
+    field public static final int NETLINK_INET_DIAG;
+    field public static final int NETLINK_NETFILTER;
+    field public static final int NETLINK_ROUTE;
+    field public static final int NI_DGRAM;
+    field public static final int NI_NAMEREQD;
+    field public static final int NI_NOFQDN;
+    field public static final int NI_NUMERICHOST;
+    field public static final int NI_NUMERICSERV;
+    field public static final int O_ACCMODE;
+    field public static final int O_APPEND;
+    field public static final int O_CLOEXEC;
+    field public static final int O_CREAT;
+    field public static final int O_DSYNC;
+    field public static final int O_EXCL;
+    field public static final int O_NOCTTY;
+    field public static final int O_NOFOLLOW;
+    field public static final int O_NONBLOCK;
+    field public static final int O_RDONLY;
+    field public static final int O_RDWR;
+    field public static final int O_SYNC;
+    field public static final int O_TRUNC;
+    field public static final int O_WRONLY;
+    field public static final int POLLERR;
+    field public static final int POLLHUP;
+    field public static final int POLLIN;
+    field public static final int POLLNVAL;
+    field public static final int POLLOUT;
+    field public static final int POLLPRI;
+    field public static final int POLLRDBAND;
+    field public static final int POLLRDNORM;
+    field public static final int POLLWRBAND;
+    field public static final int POLLWRNORM;
+    field public static final int PROT_EXEC;
+    field public static final int PROT_NONE;
+    field public static final int PROT_READ;
+    field public static final int PROT_WRITE;
+    field public static final int PR_GET_DUMPABLE;
+    field public static final int PR_SET_DUMPABLE;
+    field public static final int PR_SET_NO_NEW_PRIVS;
+    field public static final int RTMGRP_NEIGH;
+    field public static final int RT_SCOPE_HOST;
+    field public static final int RT_SCOPE_LINK;
+    field public static final int RT_SCOPE_NOWHERE;
+    field public static final int RT_SCOPE_SITE;
+    field public static final int RT_SCOPE_UNIVERSE;
+    field public static final int R_OK;
+    field public static final int SEEK_CUR;
+    field public static final int SEEK_END;
+    field public static final int SEEK_SET;
+    field public static final int SHUT_RD;
+    field public static final int SHUT_RDWR;
+    field public static final int SHUT_WR;
+    field public static final int SIGABRT;
+    field public static final int SIGALRM;
+    field public static final int SIGBUS;
+    field public static final int SIGCHLD;
+    field public static final int SIGCONT;
+    field public static final int SIGFPE;
+    field public static final int SIGHUP;
+    field public static final int SIGILL;
+    field public static final int SIGINT;
+    field public static final int SIGIO;
+    field public static final int SIGKILL;
+    field public static final int SIGPIPE;
+    field public static final int SIGPROF;
+    field public static final int SIGPWR;
+    field public static final int SIGQUIT;
+    field public static final int SIGRTMAX;
+    field public static final int SIGRTMIN;
+    field public static final int SIGSEGV;
+    field public static final int SIGSTKFLT;
+    field public static final int SIGSTOP;
+    field public static final int SIGSYS;
+    field public static final int SIGTERM;
+    field public static final int SIGTRAP;
+    field public static final int SIGTSTP;
+    field public static final int SIGTTIN;
+    field public static final int SIGTTOU;
+    field public static final int SIGURG;
+    field public static final int SIGUSR1;
+    field public static final int SIGUSR2;
+    field public static final int SIGVTALRM;
+    field public static final int SIGWINCH;
+    field public static final int SIGXCPU;
+    field public static final int SIGXFSZ;
+    field public static final int SIOCGIFADDR;
+    field public static final int SIOCGIFBRDADDR;
+    field public static final int SIOCGIFDSTADDR;
+    field public static final int SIOCGIFNETMASK;
+    field public static final int SOCK_CLOEXEC;
+    field public static final int SOCK_DGRAM;
+    field public static final int SOCK_NONBLOCK;
+    field public static final int SOCK_RAW;
+    field public static final int SOCK_SEQPACKET;
+    field public static final int SOCK_STREAM;
+    field public static final int SOL_SOCKET;
+    field public static final int SOL_UDP;
+    field public static final int SO_BINDTODEVICE;
+    field public static final int SO_BROADCAST;
+    field public static final int SO_DEBUG;
+    field public static final int SO_DONTROUTE;
+    field public static final int SO_ERROR;
+    field public static final int SO_KEEPALIVE;
+    field public static final int SO_LINGER;
+    field public static final int SO_OOBINLINE;
+    field public static final int SO_PASSCRED;
+    field public static final int SO_PEERCRED;
+    field public static final int SO_RCVBUF;
+    field public static final int SO_RCVLOWAT;
+    field public static final int SO_RCVTIMEO;
+    field public static final int SO_REUSEADDR;
+    field public static final int SO_SNDBUF;
+    field public static final int SO_SNDLOWAT;
+    field public static final int SO_SNDTIMEO;
+    field public static final int SO_TYPE;
+    field public static final int STDERR_FILENO;
+    field public static final int STDIN_FILENO;
+    field public static final int STDOUT_FILENO;
+    field public static final int ST_MANDLOCK;
+    field public static final int ST_NOATIME;
+    field public static final int ST_NODEV;
+    field public static final int ST_NODIRATIME;
+    field public static final int ST_NOEXEC;
+    field public static final int ST_NOSUID;
+    field public static final int ST_RDONLY;
+    field public static final int ST_RELATIME;
+    field public static final int ST_SYNCHRONOUS;
+    field public static final int S_IFBLK;
+    field public static final int S_IFCHR;
+    field public static final int S_IFDIR;
+    field public static final int S_IFIFO;
+    field public static final int S_IFLNK;
+    field public static final int S_IFMT;
+    field public static final int S_IFREG;
+    field public static final int S_IFSOCK;
+    field public static final int S_IRGRP;
+    field public static final int S_IROTH;
+    field public static final int S_IRUSR;
+    field public static final int S_IRWXG;
+    field public static final int S_IRWXO;
+    field public static final int S_IRWXU;
+    field public static final int S_ISGID;
+    field public static final int S_ISUID;
+    field public static final int S_ISVTX;
+    field public static final int S_IWGRP;
+    field public static final int S_IWOTH;
+    field public static final int S_IWUSR;
+    field public static final int S_IXGRP;
+    field public static final int S_IXOTH;
+    field public static final int S_IXUSR;
+    field public static final int TCP_NODELAY;
+    field public static final int TCP_USER_TIMEOUT;
+    field public static final int UDP_GRO;
+    field public static final int UDP_SEGMENT;
+    field public static final int VMADDR_CID_ANY;
+    field public static final int VMADDR_CID_HOST;
+    field public static final int VMADDR_CID_LOCAL;
+    field public static final int VMADDR_PORT_ANY;
+    field public static final int WCONTINUED;
+    field public static final int WEXITED;
+    field public static final int WNOHANG;
+    field public static final int WNOWAIT;
+    field public static final int WSTOPPED;
+    field public static final int WUNTRACED;
+    field public static final int W_OK;
+    field public static final int X_OK;
+    field public static final int _SC_2_CHAR_TERM;
+    field public static final int _SC_2_C_BIND;
+    field public static final int _SC_2_C_DEV;
+    field public static final int _SC_2_C_VERSION;
+    field public static final int _SC_2_FORT_DEV;
+    field public static final int _SC_2_FORT_RUN;
+    field public static final int _SC_2_LOCALEDEF;
+    field public static final int _SC_2_SW_DEV;
+    field public static final int _SC_2_UPE;
+    field public static final int _SC_2_VERSION;
+    field public static final int _SC_AIO_LISTIO_MAX;
+    field public static final int _SC_AIO_MAX;
+    field public static final int _SC_AIO_PRIO_DELTA_MAX;
+    field public static final int _SC_ARG_MAX;
+    field public static final int _SC_ASYNCHRONOUS_IO;
+    field public static final int _SC_ATEXIT_MAX;
+    field public static final int _SC_AVPHYS_PAGES;
+    field public static final int _SC_BC_BASE_MAX;
+    field public static final int _SC_BC_DIM_MAX;
+    field public static final int _SC_BC_SCALE_MAX;
+    field public static final int _SC_BC_STRING_MAX;
+    field public static final int _SC_CHILD_MAX;
+    field public static final int _SC_CLK_TCK;
+    field public static final int _SC_COLL_WEIGHTS_MAX;
+    field public static final int _SC_DELAYTIMER_MAX;
+    field public static final int _SC_EXPR_NEST_MAX;
+    field public static final int _SC_FSYNC;
+    field public static final int _SC_GETGR_R_SIZE_MAX;
+    field public static final int _SC_GETPW_R_SIZE_MAX;
+    field public static final int _SC_IOV_MAX;
+    field public static final int _SC_JOB_CONTROL;
+    field public static final int _SC_LINE_MAX;
+    field public static final int _SC_LOGIN_NAME_MAX;
+    field public static final int _SC_MAPPED_FILES;
+    field public static final int _SC_MEMLOCK;
+    field public static final int _SC_MEMLOCK_RANGE;
+    field public static final int _SC_MEMORY_PROTECTION;
+    field public static final int _SC_MESSAGE_PASSING;
+    field public static final int _SC_MQ_OPEN_MAX;
+    field public static final int _SC_MQ_PRIO_MAX;
+    field public static final int _SC_NGROUPS_MAX;
+    field public static final int _SC_NPROCESSORS_CONF;
+    field public static final int _SC_NPROCESSORS_ONLN;
+    field public static final int _SC_OPEN_MAX;
+    field public static final int _SC_PAGESIZE;
+    field public static final int _SC_PAGE_SIZE;
+    field public static final int _SC_PASS_MAX;
+    field public static final int _SC_PHYS_PAGES;
+    field public static final int _SC_PRIORITIZED_IO;
+    field public static final int _SC_PRIORITY_SCHEDULING;
+    field public static final int _SC_REALTIME_SIGNALS;
+    field public static final int _SC_RE_DUP_MAX;
+    field public static final int _SC_RTSIG_MAX;
+    field public static final int _SC_SAVED_IDS;
+    field public static final int _SC_SEMAPHORES;
+    field public static final int _SC_SEM_NSEMS_MAX;
+    field public static final int _SC_SEM_VALUE_MAX;
+    field public static final int _SC_SHARED_MEMORY_OBJECTS;
+    field public static final int _SC_SIGQUEUE_MAX;
+    field public static final int _SC_STREAM_MAX;
+    field public static final int _SC_SYNCHRONIZED_IO;
+    field public static final int _SC_THREADS;
+    field public static final int _SC_THREAD_ATTR_STACKADDR;
+    field public static final int _SC_THREAD_ATTR_STACKSIZE;
+    field public static final int _SC_THREAD_DESTRUCTOR_ITERATIONS;
+    field public static final int _SC_THREAD_KEYS_MAX;
+    field public static final int _SC_THREAD_PRIORITY_SCHEDULING;
+    field public static final int _SC_THREAD_PRIO_INHERIT;
+    field public static final int _SC_THREAD_PRIO_PROTECT;
+    field public static final int _SC_THREAD_SAFE_FUNCTIONS;
+    field public static final int _SC_THREAD_STACK_MIN;
+    field public static final int _SC_THREAD_THREADS_MAX;
+    field public static final int _SC_TIMERS;
+    field public static final int _SC_TIMER_MAX;
+    field public static final int _SC_TTY_NAME_MAX;
+    field public static final int _SC_TZNAME_MAX;
+    field public static final int _SC_VERSION;
+    field public static final int _SC_XBS5_ILP32_OFF32;
+    field public static final int _SC_XBS5_ILP32_OFFBIG;
+    field public static final int _SC_XBS5_LP64_OFF64;
+    field public static final int _SC_XBS5_LPBIG_OFFBIG;
+    field public static final int _SC_XOPEN_CRYPT;
+    field public static final int _SC_XOPEN_ENH_I18N;
+    field public static final int _SC_XOPEN_LEGACY;
+    field public static final int _SC_XOPEN_REALTIME;
+    field public static final int _SC_XOPEN_REALTIME_THREADS;
+    field public static final int _SC_XOPEN_SHM;
+    field public static final int _SC_XOPEN_UNIX;
+    field public static final int _SC_XOPEN_VERSION;
+    field public static final int _SC_XOPEN_XCU_VERSION;
+  }
+
+  public final class StructCmsghdr {
+    ctor public StructCmsghdr(int, int, short);
+    ctor public StructCmsghdr(int, int, @NonNull byte[]);
+    field @NonNull public final byte[] cmsg_data;
+    field public final int cmsg_level;
+    field public final int cmsg_type;
+  }
+
+  public final class StructMsghdr {
+    ctor public StructMsghdr(@Nullable java.net.SocketAddress, @NonNull java.nio.ByteBuffer[], @Nullable android.system.StructCmsghdr[], int);
+    field @Nullable public android.system.StructCmsghdr[] msg_control;
+    field public int msg_flags;
+    field @NonNull public final java.nio.ByteBuffer[] msg_iov;
+    field @Nullable public java.net.SocketAddress msg_name;
+  }
+
+  public final class StructPollfd {
+    ctor public StructPollfd();
+    field public short events;
+    field public java.io.FileDescriptor fd;
+    field public short revents;
+    field public Object userData;
+  }
+
+  public final class StructStat {
+    ctor public StructStat(long, long, int, long, int, int, long, long, long, long, long, long, long);
+    ctor public StructStat(long, long, int, long, int, int, long, long, android.system.StructTimespec, android.system.StructTimespec, android.system.StructTimespec, long, long);
+    field public final android.system.StructTimespec st_atim;
+    field public final long st_atime;
+    field public final long st_blksize;
+    field public final long st_blocks;
+    field public final android.system.StructTimespec st_ctim;
+    field public final long st_ctime;
+    field public final long st_dev;
+    field public final int st_gid;
+    field public final long st_ino;
+    field public final int st_mode;
+    field public final android.system.StructTimespec st_mtim;
+    field public final long st_mtime;
+    field public final long st_nlink;
+    field public final long st_rdev;
+    field public final long st_size;
+    field public final int st_uid;
+  }
+
+  public final class StructStatVfs {
+    ctor public StructStatVfs(long, long, long, long, long, long, long, long, long, long, long);
+    field public final long f_bavail;
+    field public final long f_bfree;
+    field public final long f_blocks;
+    field public final long f_bsize;
+    field public final long f_favail;
+    field public final long f_ffree;
+    field public final long f_files;
+    field public final long f_flag;
+    field public final long f_frsize;
+    field public final long f_fsid;
+    field public final long f_namemax;
+  }
+
+  public final class StructTimespec implements java.lang.Comparable<android.system.StructTimespec> {
+    ctor public StructTimespec(long, long);
+    method public int compareTo(android.system.StructTimespec);
+    field public final long tv_nsec;
+    field public final long tv_sec;
+  }
+
+  public final class StructTimeval {
+    method @NonNull public static android.system.StructTimeval fromMillis(long);
+    method public long toMillis();
+    field public final long tv_sec;
+    field public final long tv_usec;
+  }
+
+  public final class StructUtsname {
+    ctor public StructUtsname(String, String, String, String, String);
+    field public final String machine;
+    field public final String nodename;
+    field public final String release;
+    field public final String sysname;
+    field public final String version;
+  }
+
+}
+
+package dalvik.annotation {
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.ANNOTATION_TYPE}) public @interface TestTarget {
+    method @Deprecated public abstract String conceptName() default "";
+    method @Deprecated public abstract Class<?>[] methodArgs() default {};
+    method @Deprecated public abstract String methodName() default "";
+  }
+
+  @Deprecated @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public @interface TestTargetClass {
+    method @Deprecated public abstract Class<?> value();
+  }
+
+}
+
+package dalvik.bytecode {
+
+  public final class OpcodeInfo {
+    field public static final int MAXIMUM_PACKED_VALUE;
+    field public static final int MAXIMUM_VALUE;
+  }
+
+  public interface Opcodes {
+    field public static final int OP_ADD_DOUBLE = 171; // 0xab
+    field public static final int OP_ADD_DOUBLE_2ADDR = 203; // 0xcb
+    field public static final int OP_ADD_FLOAT = 166; // 0xa6
+    field public static final int OP_ADD_FLOAT_2ADDR = 198; // 0xc6
+    field public static final int OP_ADD_INT = 144; // 0x90
+    field public static final int OP_ADD_INT_2ADDR = 176; // 0xb0
+    field public static final int OP_ADD_INT_LIT16 = 208; // 0xd0
+    field public static final int OP_ADD_INT_LIT8 = 216; // 0xd8
+    field public static final int OP_ADD_LONG = 155; // 0x9b
+    field public static final int OP_ADD_LONG_2ADDR = 187; // 0xbb
+    field public static final int OP_AGET = 68; // 0x44
+    field public static final int OP_AGET_BOOLEAN = 71; // 0x47
+    field public static final int OP_AGET_BYTE = 72; // 0x48
+    field public static final int OP_AGET_CHAR = 73; // 0x49
+    field public static final int OP_AGET_OBJECT = 70; // 0x46
+    field public static final int OP_AGET_SHORT = 74; // 0x4a
+    field public static final int OP_AGET_WIDE = 69; // 0x45
+    field public static final int OP_AND_INT = 149; // 0x95
+    field public static final int OP_AND_INT_2ADDR = 181; // 0xb5
+    field public static final int OP_AND_INT_LIT16 = 213; // 0xd5
+    field public static final int OP_AND_INT_LIT8 = 221; // 0xdd
+    field public static final int OP_AND_LONG = 160; // 0xa0
+    field public static final int OP_AND_LONG_2ADDR = 192; // 0xc0
+    field public static final int OP_APUT = 75; // 0x4b
+    field public static final int OP_APUT_BOOLEAN = 78; // 0x4e
+    field public static final int OP_APUT_BYTE = 79; // 0x4f
+    field public static final int OP_APUT_CHAR = 80; // 0x50
+    field public static final int OP_APUT_OBJECT = 77; // 0x4d
+    field public static final int OP_APUT_SHORT = 81; // 0x51
+    field public static final int OP_APUT_WIDE = 76; // 0x4c
+    field public static final int OP_ARRAY_LENGTH = 33; // 0x21
+    field @Deprecated public static final int OP_BREAKPOINT = 236; // 0xec
+    field public static final int OP_CHECK_CAST = 31; // 0x1f
+    field public static final int OP_CHECK_CAST_JUMBO = 511; // 0x1ff
+    field public static final int OP_CMPG_DOUBLE = 48; // 0x30
+    field public static final int OP_CMPG_FLOAT = 46; // 0x2e
+    field public static final int OP_CMPL_DOUBLE = 47; // 0x2f
+    field public static final int OP_CMPL_FLOAT = 45; // 0x2d
+    field public static final int OP_CMP_LONG = 49; // 0x31
+    field public static final int OP_CONST = 20; // 0x14
+    field public static final int OP_CONST_16 = 19; // 0x13
+    field public static final int OP_CONST_4 = 18; // 0x12
+    field public static final int OP_CONST_CLASS = 28; // 0x1c
+    field public static final int OP_CONST_CLASS_JUMBO = 255; // 0xff
+    field public static final int OP_CONST_HIGH16 = 21; // 0x15
+    field public static final int OP_CONST_METHOD_HANDLE = 254; // 0xfe
+    field public static final int OP_CONST_METHOD_TYPE = 255; // 0xff
+    field public static final int OP_CONST_STRING = 26; // 0x1a
+    field public static final int OP_CONST_STRING_JUMBO = 27; // 0x1b
+    field public static final int OP_CONST_WIDE = 24; // 0x18
+    field public static final int OP_CONST_WIDE_16 = 22; // 0x16
+    field public static final int OP_CONST_WIDE_32 = 23; // 0x17
+    field public static final int OP_CONST_WIDE_HIGH16 = 25; // 0x19
+    field public static final int OP_DIV_DOUBLE = 174; // 0xae
+    field public static final int OP_DIV_DOUBLE_2ADDR = 206; // 0xce
+    field public static final int OP_DIV_FLOAT = 169; // 0xa9
+    field public static final int OP_DIV_FLOAT_2ADDR = 201; // 0xc9
+    field public static final int OP_DIV_INT = 147; // 0x93
+    field public static final int OP_DIV_INT_2ADDR = 179; // 0xb3
+    field public static final int OP_DIV_INT_LIT16 = 211; // 0xd3
+    field public static final int OP_DIV_INT_LIT8 = 219; // 0xdb
+    field public static final int OP_DIV_LONG = 158; // 0x9e
+    field public static final int OP_DIV_LONG_2ADDR = 190; // 0xbe
+    field public static final int OP_DOUBLE_TO_FLOAT = 140; // 0x8c
+    field public static final int OP_DOUBLE_TO_INT = 138; // 0x8a
+    field public static final int OP_DOUBLE_TO_LONG = 139; // 0x8b
+    field @Deprecated public static final int OP_EXECUTE_INLINE = 238; // 0xee
+    field @Deprecated public static final int OP_EXECUTE_INLINE_RANGE = 239; // 0xef
+    field public static final int OP_FILLED_NEW_ARRAY = 36; // 0x24
+    field public static final int OP_FILLED_NEW_ARRAY_JUMBO = 1535; // 0x5ff
+    field public static final int OP_FILLED_NEW_ARRAY_RANGE = 37; // 0x25
+    field public static final int OP_FILL_ARRAY_DATA = 38; // 0x26
+    field public static final int OP_FLOAT_TO_DOUBLE = 137; // 0x89
+    field public static final int OP_FLOAT_TO_INT = 135; // 0x87
+    field public static final int OP_FLOAT_TO_LONG = 136; // 0x88
+    field public static final int OP_GOTO = 40; // 0x28
+    field public static final int OP_GOTO_16 = 41; // 0x29
+    field public static final int OP_GOTO_32 = 42; // 0x2a
+    field public static final int OP_IF_EQ = 50; // 0x32
+    field public static final int OP_IF_EQZ = 56; // 0x38
+    field public static final int OP_IF_GE = 53; // 0x35
+    field public static final int OP_IF_GEZ = 59; // 0x3b
+    field public static final int OP_IF_GT = 54; // 0x36
+    field public static final int OP_IF_GTZ = 60; // 0x3c
+    field public static final int OP_IF_LE = 55; // 0x37
+    field public static final int OP_IF_LEZ = 61; // 0x3d
+    field public static final int OP_IF_LT = 52; // 0x34
+    field public static final int OP_IF_LTZ = 58; // 0x3a
+    field public static final int OP_IF_NE = 51; // 0x33
+    field public static final int OP_IF_NEZ = 57; // 0x39
+    field public static final int OP_IGET = 82; // 0x52
+    field public static final int OP_IGET_BOOLEAN = 85; // 0x55
+    field public static final int OP_IGET_BOOLEAN_JUMBO = 2559; // 0x9ff
+    field public static final int OP_IGET_BYTE = 86; // 0x56
+    field public static final int OP_IGET_BYTE_JUMBO = 2815; // 0xaff
+    field public static final int OP_IGET_CHAR = 87; // 0x57
+    field public static final int OP_IGET_CHAR_JUMBO = 3071; // 0xbff
+    field public static final int OP_IGET_JUMBO = 1791; // 0x6ff
+    field public static final int OP_IGET_OBJECT = 84; // 0x54
+    field public static final int OP_IGET_OBJECT_JUMBO = 2303; // 0x8ff
+    field @Deprecated public static final int OP_IGET_OBJECT_QUICK = 244; // 0xf4
+    field @Deprecated public static final int OP_IGET_QUICK = 242; // 0xf2
+    field public static final int OP_IGET_SHORT = 88; // 0x58
+    field public static final int OP_IGET_SHORT_JUMBO = 3327; // 0xcff
+    field public static final int OP_IGET_WIDE = 83; // 0x53
+    field public static final int OP_IGET_WIDE_JUMBO = 2047; // 0x7ff
+    field @Deprecated public static final int OP_IGET_WIDE_QUICK = 243; // 0xf3
+    field @Deprecated public static final int OP_IGET_WIDE_VOLATILE = 232; // 0xe8
+    field public static final int OP_INSTANCE_OF = 32; // 0x20
+    field public static final int OP_INSTANCE_OF_JUMBO = 767; // 0x2ff
+    field public static final int OP_INT_TO_BYTE = 141; // 0x8d
+    field public static final int OP_INT_TO_CHAR = 142; // 0x8e
+    field public static final int OP_INT_TO_DOUBLE = 131; // 0x83
+    field public static final int OP_INT_TO_FLOAT = 130; // 0x82
+    field public static final int OP_INT_TO_LONG = 129; // 0x81
+    field public static final int OP_INT_TO_SHORT = 143; // 0x8f
+    field public static final int OP_INVOKE_CUSTOM = 252; // 0xfc
+    field public static final int OP_INVOKE_CUSTOM_RANGE = 253; // 0xfd
+    field public static final int OP_INVOKE_DIRECT = 112; // 0x70
+    field @Deprecated public static final int OP_INVOKE_DIRECT_EMPTY = 240; // 0xf0
+    field public static final int OP_INVOKE_DIRECT_JUMBO = 9471; // 0x24ff
+    field public static final int OP_INVOKE_DIRECT_RANGE = 118; // 0x76
+    field public static final int OP_INVOKE_INTERFACE = 114; // 0x72
+    field public static final int OP_INVOKE_INTERFACE_JUMBO = 9983; // 0x26ff
+    field public static final int OP_INVOKE_INTERFACE_RANGE = 120; // 0x78
+    field public static final int OP_INVOKE_POLYMORPHIC = 250; // 0xfa
+    field public static final int OP_INVOKE_POLYMORPHIC_RANGE = 251; // 0xfb
+    field public static final int OP_INVOKE_STATIC = 113; // 0x71
+    field public static final int OP_INVOKE_STATIC_JUMBO = 9727; // 0x25ff
+    field public static final int OP_INVOKE_STATIC_RANGE = 119; // 0x77
+    field public static final int OP_INVOKE_SUPER = 111; // 0x6f
+    field public static final int OP_INVOKE_SUPER_JUMBO = 9215; // 0x23ff
+    field @Deprecated public static final int OP_INVOKE_SUPER_QUICK = 250; // 0xfa
+    field @Deprecated public static final int OP_INVOKE_SUPER_QUICK_RANGE = 251; // 0xfb
+    field public static final int OP_INVOKE_SUPER_RANGE = 117; // 0x75
+    field public static final int OP_INVOKE_VIRTUAL = 110; // 0x6e
+    field public static final int OP_INVOKE_VIRTUAL_JUMBO = 8959; // 0x22ff
+    field @Deprecated public static final int OP_INVOKE_VIRTUAL_QUICK = 248; // 0xf8
+    field @Deprecated public static final int OP_INVOKE_VIRTUAL_QUICK_RANGE = 249; // 0xf9
+    field public static final int OP_INVOKE_VIRTUAL_RANGE = 116; // 0x74
+    field public static final int OP_IPUT = 89; // 0x59
+    field public static final int OP_IPUT_BOOLEAN = 92; // 0x5c
+    field public static final int OP_IPUT_BOOLEAN_JUMBO = 4351; // 0x10ff
+    field public static final int OP_IPUT_BYTE = 93; // 0x5d
+    field public static final int OP_IPUT_BYTE_JUMBO = 4607; // 0x11ff
+    field public static final int OP_IPUT_CHAR = 94; // 0x5e
+    field public static final int OP_IPUT_CHAR_JUMBO = 4863; // 0x12ff
+    field public static final int OP_IPUT_JUMBO = 3583; // 0xdff
+    field public static final int OP_IPUT_OBJECT = 91; // 0x5b
+    field public static final int OP_IPUT_OBJECT_JUMBO = 4095; // 0xfff
+    field @Deprecated public static final int OP_IPUT_OBJECT_QUICK = 247; // 0xf7
+    field @Deprecated public static final int OP_IPUT_QUICK = 245; // 0xf5
+    field public static final int OP_IPUT_SHORT = 95; // 0x5f
+    field public static final int OP_IPUT_SHORT_JUMBO = 5119; // 0x13ff
+    field public static final int OP_IPUT_WIDE = 90; // 0x5a
+    field public static final int OP_IPUT_WIDE_JUMBO = 3839; // 0xeff
+    field @Deprecated public static final int OP_IPUT_WIDE_QUICK = 246; // 0xf6
+    field @Deprecated public static final int OP_IPUT_WIDE_VOLATILE = 233; // 0xe9
+    field public static final int OP_LONG_TO_DOUBLE = 134; // 0x86
+    field public static final int OP_LONG_TO_FLOAT = 133; // 0x85
+    field public static final int OP_LONG_TO_INT = 132; // 0x84
+    field public static final int OP_MONITOR_ENTER = 29; // 0x1d
+    field public static final int OP_MONITOR_EXIT = 30; // 0x1e
+    field public static final int OP_MOVE = 1; // 0x1
+    field public static final int OP_MOVE_16 = 3; // 0x3
+    field public static final int OP_MOVE_EXCEPTION = 13; // 0xd
+    field public static final int OP_MOVE_FROM16 = 2; // 0x2
+    field public static final int OP_MOVE_OBJECT = 7; // 0x7
+    field public static final int OP_MOVE_OBJECT_16 = 9; // 0x9
+    field public static final int OP_MOVE_OBJECT_FROM16 = 8; // 0x8
+    field public static final int OP_MOVE_RESULT = 10; // 0xa
+    field public static final int OP_MOVE_RESULT_OBJECT = 12; // 0xc
+    field public static final int OP_MOVE_RESULT_WIDE = 11; // 0xb
+    field public static final int OP_MOVE_WIDE = 4; // 0x4
+    field public static final int OP_MOVE_WIDE_16 = 6; // 0x6
+    field public static final int OP_MOVE_WIDE_FROM16 = 5; // 0x5
+    field public static final int OP_MUL_DOUBLE = 173; // 0xad
+    field public static final int OP_MUL_DOUBLE_2ADDR = 205; // 0xcd
+    field public static final int OP_MUL_FLOAT = 168; // 0xa8
+    field public static final int OP_MUL_FLOAT_2ADDR = 200; // 0xc8
+    field public static final int OP_MUL_INT = 146; // 0x92
+    field public static final int OP_MUL_INT_2ADDR = 178; // 0xb2
+    field public static final int OP_MUL_INT_LIT16 = 210; // 0xd2
+    field public static final int OP_MUL_INT_LIT8 = 218; // 0xda
+    field public static final int OP_MUL_LONG = 157; // 0x9d
+    field public static final int OP_MUL_LONG_2ADDR = 189; // 0xbd
+    field public static final int OP_NEG_DOUBLE = 128; // 0x80
+    field public static final int OP_NEG_FLOAT = 127; // 0x7f
+    field public static final int OP_NEG_INT = 123; // 0x7b
+    field public static final int OP_NEG_LONG = 125; // 0x7d
+    field public static final int OP_NEW_ARRAY = 35; // 0x23
+    field public static final int OP_NEW_ARRAY_JUMBO = 1279; // 0x4ff
+    field public static final int OP_NEW_INSTANCE = 34; // 0x22
+    field public static final int OP_NEW_INSTANCE_JUMBO = 1023; // 0x3ff
+    field public static final int OP_NOP = 0; // 0x0
+    field public static final int OP_NOT_INT = 124; // 0x7c
+    field public static final int OP_NOT_LONG = 126; // 0x7e
+    field public static final int OP_OR_INT = 150; // 0x96
+    field public static final int OP_OR_INT_2ADDR = 182; // 0xb6
+    field public static final int OP_OR_INT_LIT16 = 214; // 0xd6
+    field public static final int OP_OR_INT_LIT8 = 222; // 0xde
+    field public static final int OP_OR_LONG = 161; // 0xa1
+    field public static final int OP_OR_LONG_2ADDR = 193; // 0xc1
+    field public static final int OP_PACKED_SWITCH = 43; // 0x2b
+    field public static final int OP_REM_DOUBLE = 175; // 0xaf
+    field public static final int OP_REM_DOUBLE_2ADDR = 207; // 0xcf
+    field public static final int OP_REM_FLOAT = 170; // 0xaa
+    field public static final int OP_REM_FLOAT_2ADDR = 202; // 0xca
+    field public static final int OP_REM_INT = 148; // 0x94
+    field public static final int OP_REM_INT_2ADDR = 180; // 0xb4
+    field public static final int OP_REM_INT_LIT16 = 212; // 0xd4
+    field public static final int OP_REM_INT_LIT8 = 220; // 0xdc
+    field public static final int OP_REM_LONG = 159; // 0x9f
+    field public static final int OP_REM_LONG_2ADDR = 191; // 0xbf
+    field public static final int OP_RETURN = 15; // 0xf
+    field public static final int OP_RETURN_OBJECT = 17; // 0x11
+    field public static final int OP_RETURN_VOID = 14; // 0xe
+    field public static final int OP_RETURN_WIDE = 16; // 0x10
+    field public static final int OP_RSUB_INT = 209; // 0xd1
+    field public static final int OP_RSUB_INT_LIT8 = 217; // 0xd9
+    field public static final int OP_SGET = 96; // 0x60
+    field public static final int OP_SGET_BOOLEAN = 99; // 0x63
+    field public static final int OP_SGET_BOOLEAN_JUMBO = 6143; // 0x17ff
+    field public static final int OP_SGET_BYTE = 100; // 0x64
+    field public static final int OP_SGET_BYTE_JUMBO = 6399; // 0x18ff
+    field public static final int OP_SGET_CHAR = 101; // 0x65
+    field public static final int OP_SGET_CHAR_JUMBO = 6655; // 0x19ff
+    field public static final int OP_SGET_JUMBO = 5375; // 0x14ff
+    field public static final int OP_SGET_OBJECT = 98; // 0x62
+    field public static final int OP_SGET_OBJECT_JUMBO = 5887; // 0x16ff
+    field public static final int OP_SGET_SHORT = 102; // 0x66
+    field public static final int OP_SGET_SHORT_JUMBO = 6911; // 0x1aff
+    field public static final int OP_SGET_WIDE = 97; // 0x61
+    field public static final int OP_SGET_WIDE_JUMBO = 5631; // 0x15ff
+    field @Deprecated public static final int OP_SGET_WIDE_VOLATILE = 234; // 0xea
+    field public static final int OP_SHL_INT = 152; // 0x98
+    field public static final int OP_SHL_INT_2ADDR = 184; // 0xb8
+    field public static final int OP_SHL_INT_LIT8 = 224; // 0xe0
+    field public static final int OP_SHL_LONG = 163; // 0xa3
+    field public static final int OP_SHL_LONG_2ADDR = 195; // 0xc3
+    field public static final int OP_SHR_INT = 153; // 0x99
+    field public static final int OP_SHR_INT_2ADDR = 185; // 0xb9
+    field public static final int OP_SHR_INT_LIT8 = 225; // 0xe1
+    field public static final int OP_SHR_LONG = 164; // 0xa4
+    field public static final int OP_SHR_LONG_2ADDR = 196; // 0xc4
+    field public static final int OP_SPARSE_SWITCH = 44; // 0x2c
+    field public static final int OP_SPUT = 103; // 0x67
+    field public static final int OP_SPUT_BOOLEAN = 106; // 0x6a
+    field public static final int OP_SPUT_BOOLEAN_JUMBO = 7935; // 0x1eff
+    field public static final int OP_SPUT_BYTE = 107; // 0x6b
+    field public static final int OP_SPUT_BYTE_JUMBO = 8191; // 0x1fff
+    field public static final int OP_SPUT_CHAR = 108; // 0x6c
+    field public static final int OP_SPUT_CHAR_JUMBO = 8447; // 0x20ff
+    field public static final int OP_SPUT_JUMBO = 7167; // 0x1bff
+    field public static final int OP_SPUT_OBJECT = 105; // 0x69
+    field public static final int OP_SPUT_OBJECT_JUMBO = 7679; // 0x1dff
+    field public static final int OP_SPUT_SHORT = 109; // 0x6d
+    field public static final int OP_SPUT_SHORT_JUMBO = 8703; // 0x21ff
+    field public static final int OP_SPUT_WIDE = 104; // 0x68
+    field public static final int OP_SPUT_WIDE_JUMBO = 7423; // 0x1cff
+    field @Deprecated public static final int OP_SPUT_WIDE_VOLATILE = 235; // 0xeb
+    field public static final int OP_SUB_DOUBLE = 172; // 0xac
+    field public static final int OP_SUB_DOUBLE_2ADDR = 204; // 0xcc
+    field public static final int OP_SUB_FLOAT = 167; // 0xa7
+    field public static final int OP_SUB_FLOAT_2ADDR = 199; // 0xc7
+    field public static final int OP_SUB_INT = 145; // 0x91
+    field public static final int OP_SUB_INT_2ADDR = 177; // 0xb1
+    field public static final int OP_SUB_LONG = 156; // 0x9c
+    field public static final int OP_SUB_LONG_2ADDR = 188; // 0xbc
+    field public static final int OP_THROW = 39; // 0x27
+    field @Deprecated public static final int OP_THROW_VERIFICATION_ERROR = 237; // 0xed
+    field public static final int OP_USHR_INT = 154; // 0x9a
+    field public static final int OP_USHR_INT_2ADDR = 186; // 0xba
+    field public static final int OP_USHR_INT_LIT8 = 226; // 0xe2
+    field public static final int OP_USHR_LONG = 165; // 0xa5
+    field public static final int OP_USHR_LONG_2ADDR = 197; // 0xc5
+    field public static final int OP_XOR_INT = 151; // 0x97
+    field public static final int OP_XOR_INT_2ADDR = 183; // 0xb7
+    field public static final int OP_XOR_INT_LIT16 = 215; // 0xd7
+    field public static final int OP_XOR_INT_LIT8 = 223; // 0xdf
+    field public static final int OP_XOR_LONG = 162; // 0xa2
+    field public static final int OP_XOR_LONG_2ADDR = 194; // 0xc2
+  }
+
+}
+
+package dalvik.system {
+
+  public class BaseDexClassLoader extends java.lang.ClassLoader {
+    ctor public BaseDexClassLoader(String, java.io.File, String, ClassLoader);
+    method public String findLibrary(String);
+    method protected java.util.Enumeration<java.net.URL> findResources(String);
+  }
+
+  public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
+    ctor public DelegateLastClassLoader(String, ClassLoader);
+    ctor public DelegateLastClassLoader(String, String, ClassLoader);
+    ctor public DelegateLastClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, boolean);
+  }
+
+  public class DexClassLoader extends dalvik.system.BaseDexClassLoader {
+    ctor public DexClassLoader(String, String, String, ClassLoader);
+  }
+
+  @Deprecated public final class DexFile {
+    ctor @Deprecated public DexFile(java.io.File) throws java.io.IOException;
+    ctor @Deprecated public DexFile(String) throws java.io.IOException;
+    method @Deprecated public void close() throws java.io.IOException;
+    method @Deprecated public java.util.Enumeration<java.lang.String> entries();
+    method @Deprecated public String getName();
+    method @Deprecated public static boolean isDexOptNeeded(String) throws java.io.FileNotFoundException, java.io.IOException;
+    method @Deprecated public Class loadClass(String, ClassLoader);
+    method @Deprecated public static dalvik.system.DexFile loadDex(String, String, int) throws java.io.IOException;
+  }
+
+  public final class InMemoryDexClassLoader extends dalvik.system.BaseDexClassLoader {
+    ctor public InMemoryDexClassLoader(@NonNull java.nio.ByteBuffer[], @Nullable String, @Nullable ClassLoader);
+    ctor public InMemoryDexClassLoader(@NonNull java.nio.ByteBuffer[], @Nullable ClassLoader);
+    ctor public InMemoryDexClassLoader(@NonNull java.nio.ByteBuffer, @Nullable ClassLoader);
+  }
+
+  public class PathClassLoader extends dalvik.system.BaseDexClassLoader {
+    ctor public PathClassLoader(String, ClassLoader);
+    ctor public PathClassLoader(String, String, ClassLoader);
+  }
+
+}
+
+package java.awt.font {
+
+  public final class NumericShaper implements java.io.Serializable {
+    method public static java.awt.font.NumericShaper getContextualShaper(int);
+    method public static java.awt.font.NumericShaper getContextualShaper(java.util.Set<java.awt.font.NumericShaper.Range>);
+    method public static java.awt.font.NumericShaper getContextualShaper(int, int);
+    method public static java.awt.font.NumericShaper getContextualShaper(java.util.Set<java.awt.font.NumericShaper.Range>, java.awt.font.NumericShaper.Range);
+    method public java.util.Set<java.awt.font.NumericShaper.Range> getRangeSet();
+    method public int getRanges();
+    method public static java.awt.font.NumericShaper getShaper(int);
+    method public static java.awt.font.NumericShaper getShaper(java.awt.font.NumericShaper.Range);
+    method public boolean isContextual();
+    method public void shape(char[], int, int);
+    method public void shape(char[], int, int, int);
+    method public void shape(char[], int, int, java.awt.font.NumericShaper.Range);
+    field public static final int ALL_RANGES = 524287; // 0x7ffff
+    field public static final int ARABIC = 2; // 0x2
+    field public static final int BENGALI = 16; // 0x10
+    field public static final int DEVANAGARI = 8; // 0x8
+    field public static final int EASTERN_ARABIC = 4; // 0x4
+    field public static final int ETHIOPIC = 65536; // 0x10000
+    field public static final int EUROPEAN = 1; // 0x1
+    field public static final int GUJARATI = 64; // 0x40
+    field public static final int GURMUKHI = 32; // 0x20
+    field public static final int KANNADA = 1024; // 0x400
+    field public static final int KHMER = 131072; // 0x20000
+    field public static final int LAO = 8192; // 0x2000
+    field public static final int MALAYALAM = 2048; // 0x800
+    field public static final int MONGOLIAN = 262144; // 0x40000
+    field public static final int MYANMAR = 32768; // 0x8000
+    field public static final int ORIYA = 128; // 0x80
+    field public static final int TAMIL = 256; // 0x100
+    field public static final int TELUGU = 512; // 0x200
+    field public static final int THAI = 4096; // 0x1000
+    field public static final int TIBETAN = 16384; // 0x4000
+  }
+
+  public enum NumericShaper.Range {
+    enum_constant public static final java.awt.font.NumericShaper.Range ARABIC;
+    enum_constant public static final java.awt.font.NumericShaper.Range BALINESE;
+    enum_constant public static final java.awt.font.NumericShaper.Range BENGALI;
+    enum_constant public static final java.awt.font.NumericShaper.Range CHAM;
+    enum_constant public static final java.awt.font.NumericShaper.Range DEVANAGARI;
+    enum_constant public static final java.awt.font.NumericShaper.Range EASTERN_ARABIC;
+    enum_constant public static final java.awt.font.NumericShaper.Range ETHIOPIC;
+    enum_constant public static final java.awt.font.NumericShaper.Range EUROPEAN;
+    enum_constant public static final java.awt.font.NumericShaper.Range GUJARATI;
+    enum_constant public static final java.awt.font.NumericShaper.Range GURMUKHI;
+    enum_constant public static final java.awt.font.NumericShaper.Range JAVANESE;
+    enum_constant public static final java.awt.font.NumericShaper.Range KANNADA;
+    enum_constant public static final java.awt.font.NumericShaper.Range KAYAH_LI;
+    enum_constant public static final java.awt.font.NumericShaper.Range KHMER;
+    enum_constant public static final java.awt.font.NumericShaper.Range LAO;
+    enum_constant public static final java.awt.font.NumericShaper.Range LEPCHA;
+    enum_constant public static final java.awt.font.NumericShaper.Range LIMBU;
+    enum_constant public static final java.awt.font.NumericShaper.Range MALAYALAM;
+    enum_constant public static final java.awt.font.NumericShaper.Range MEETEI_MAYEK;
+    enum_constant public static final java.awt.font.NumericShaper.Range MONGOLIAN;
+    enum_constant public static final java.awt.font.NumericShaper.Range MYANMAR;
+    enum_constant public static final java.awt.font.NumericShaper.Range MYANMAR_SHAN;
+    enum_constant public static final java.awt.font.NumericShaper.Range NEW_TAI_LUE;
+    enum_constant public static final java.awt.font.NumericShaper.Range NKO;
+    enum_constant public static final java.awt.font.NumericShaper.Range OL_CHIKI;
+    enum_constant public static final java.awt.font.NumericShaper.Range ORIYA;
+    enum_constant public static final java.awt.font.NumericShaper.Range SAURASHTRA;
+    enum_constant public static final java.awt.font.NumericShaper.Range SUNDANESE;
+    enum_constant public static final java.awt.font.NumericShaper.Range TAI_THAM_HORA;
+    enum_constant public static final java.awt.font.NumericShaper.Range TAI_THAM_THAM;
+    enum_constant public static final java.awt.font.NumericShaper.Range TAMIL;
+    enum_constant public static final java.awt.font.NumericShaper.Range TELUGU;
+    enum_constant public static final java.awt.font.NumericShaper.Range THAI;
+    enum_constant public static final java.awt.font.NumericShaper.Range TIBETAN;
+    enum_constant public static final java.awt.font.NumericShaper.Range VAI;
+  }
+
+  public final class TextAttribute extends java.text.AttributedCharacterIterator.Attribute {
+    ctor protected TextAttribute(String);
+    field public static final java.awt.font.TextAttribute BACKGROUND;
+    field public static final java.awt.font.TextAttribute BIDI_EMBEDDING;
+    field public static final java.awt.font.TextAttribute CHAR_REPLACEMENT;
+    field public static final java.awt.font.TextAttribute FAMILY;
+    field public static final java.awt.font.TextAttribute FONT;
+    field public static final java.awt.font.TextAttribute FOREGROUND;
+    field public static final java.awt.font.TextAttribute INPUT_METHOD_HIGHLIGHT;
+    field public static final java.awt.font.TextAttribute INPUT_METHOD_UNDERLINE;
+    field public static final java.awt.font.TextAttribute JUSTIFICATION;
+    field public static final Float JUSTIFICATION_FULL;
+    field public static final Float JUSTIFICATION_NONE;
+    field public static final java.awt.font.TextAttribute KERNING;
+    field public static final Integer KERNING_ON;
+    field public static final java.awt.font.TextAttribute LIGATURES;
+    field public static final Integer LIGATURES_ON;
+    field public static final java.awt.font.TextAttribute NUMERIC_SHAPING;
+    field public static final java.awt.font.TextAttribute POSTURE;
+    field public static final Float POSTURE_OBLIQUE;
+    field public static final Float POSTURE_REGULAR;
+    field public static final java.awt.font.TextAttribute RUN_DIRECTION;
+    field public static final Boolean RUN_DIRECTION_LTR;
+    field public static final Boolean RUN_DIRECTION_RTL;
+    field public static final java.awt.font.TextAttribute SIZE;
+    field public static final java.awt.font.TextAttribute STRIKETHROUGH;
+    field public static final Boolean STRIKETHROUGH_ON;
+    field public static final java.awt.font.TextAttribute SUPERSCRIPT;
+    field public static final Integer SUPERSCRIPT_SUB;
+    field public static final Integer SUPERSCRIPT_SUPER;
+    field public static final java.awt.font.TextAttribute SWAP_COLORS;
+    field public static final Boolean SWAP_COLORS_ON;
+    field public static final java.awt.font.TextAttribute TRACKING;
+    field public static final Float TRACKING_LOOSE;
+    field public static final Float TRACKING_TIGHT;
+    field public static final java.awt.font.TextAttribute TRANSFORM;
+    field public static final java.awt.font.TextAttribute UNDERLINE;
+    field public static final Integer UNDERLINE_LOW_DASHED;
+    field public static final Integer UNDERLINE_LOW_DOTTED;
+    field public static final Integer UNDERLINE_LOW_GRAY;
+    field public static final Integer UNDERLINE_LOW_ONE_PIXEL;
+    field public static final Integer UNDERLINE_LOW_TWO_PIXEL;
+    field public static final Integer UNDERLINE_ON;
+    field public static final java.awt.font.TextAttribute WEIGHT;
+    field public static final Float WEIGHT_BOLD;
+    field public static final Float WEIGHT_DEMIBOLD;
+    field public static final Float WEIGHT_DEMILIGHT;
+    field public static final Float WEIGHT_EXTRABOLD;
+    field public static final Float WEIGHT_EXTRA_LIGHT;
+    field public static final Float WEIGHT_HEAVY;
+    field public static final Float WEIGHT_LIGHT;
+    field public static final Float WEIGHT_MEDIUM;
+    field public static final Float WEIGHT_REGULAR;
+    field public static final Float WEIGHT_SEMIBOLD;
+    field public static final Float WEIGHT_ULTRABOLD;
+    field public static final java.awt.font.TextAttribute WIDTH;
+    field public static final Float WIDTH_CONDENSED;
+    field public static final Float WIDTH_EXTENDED;
+    field public static final Float WIDTH_REGULAR;
+    field public static final Float WIDTH_SEMI_CONDENSED;
+    field public static final Float WIDTH_SEMI_EXTENDED;
+  }
+
+}
+
+package java.beans {
+
+  public class IndexedPropertyChangeEvent extends java.beans.PropertyChangeEvent {
+    ctor public IndexedPropertyChangeEvent(Object, String, Object, Object, int);
+    method public int getIndex();
+  }
+
+  public class PropertyChangeEvent extends java.util.EventObject {
+    ctor public PropertyChangeEvent(Object, String, Object, Object);
+    method public Object getNewValue();
+    method public Object getOldValue();
+    method public Object getPropagationId();
+    method public String getPropertyName();
+    method public void setPropagationId(Object);
+  }
+
+  public interface PropertyChangeListener extends java.util.EventListener {
+    method public void propertyChange(java.beans.PropertyChangeEvent);
+  }
+
+  public class PropertyChangeListenerProxy extends java.util.EventListenerProxy<java.beans.PropertyChangeListener> implements java.beans.PropertyChangeListener {
+    ctor public PropertyChangeListenerProxy(String, java.beans.PropertyChangeListener);
+    method public String getPropertyName();
+    method public void propertyChange(java.beans.PropertyChangeEvent);
+  }
+
+  public class PropertyChangeSupport implements java.io.Serializable {
+    ctor public PropertyChangeSupport(Object);
+    method public void addPropertyChangeListener(java.beans.PropertyChangeListener);
+    method public void addPropertyChangeListener(String, java.beans.PropertyChangeListener);
+    method public void fireIndexedPropertyChange(String, int, Object, Object);
+    method public void fireIndexedPropertyChange(String, int, int, int);
+    method public void fireIndexedPropertyChange(String, int, boolean, boolean);
+    method public void firePropertyChange(String, Object, Object);
+    method public void firePropertyChange(String, int, int);
+    method public void firePropertyChange(String, boolean, boolean);
+    method public void firePropertyChange(java.beans.PropertyChangeEvent);
+    method public java.beans.PropertyChangeListener[] getPropertyChangeListeners();
+    method public java.beans.PropertyChangeListener[] getPropertyChangeListeners(String);
+    method public boolean hasListeners(String);
+    method public void removePropertyChangeListener(java.beans.PropertyChangeListener);
+    method public void removePropertyChangeListener(String, java.beans.PropertyChangeListener);
+  }
+
+}
+
+package java.io {
+
+  public class BufferedInputStream extends java.io.FilterInputStream {
+    ctor public BufferedInputStream(java.io.InputStream);
+    ctor public BufferedInputStream(java.io.InputStream, int);
+    field protected volatile byte[] buf;
+    field protected int count;
+    field protected int marklimit;
+    field protected int markpos;
+    field protected int pos;
+  }
+
+  public class BufferedOutputStream extends java.io.FilterOutputStream {
+    ctor public BufferedOutputStream(java.io.OutputStream);
+    ctor public BufferedOutputStream(java.io.OutputStream, int);
+    field protected byte[] buf;
+    field protected int count;
+  }
+
+  public class BufferedReader extends java.io.Reader {
+    ctor public BufferedReader(java.io.Reader, int);
+    ctor public BufferedReader(java.io.Reader);
+    method public void close() throws java.io.IOException;
+    method public java.util.stream.Stream<java.lang.String> lines();
+    method public int read(char[], int, int) throws java.io.IOException;
+    method public String readLine() throws java.io.IOException;
+  }
+
+  public class BufferedWriter extends java.io.Writer {
+    ctor public BufferedWriter(java.io.Writer);
+    ctor public BufferedWriter(java.io.Writer, int);
+    method public void close() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public void newLine() throws java.io.IOException;
+    method public void write(char[], int, int) throws java.io.IOException;
+  }
+
+  public class ByteArrayInputStream extends java.io.InputStream {
+    ctor public ByteArrayInputStream(byte[]);
+    ctor public ByteArrayInputStream(byte[], int, int);
+    method public int available();
+    method public int read();
+    method public int read(byte[], int, int);
+    method public void reset();
+    method public long skip(long);
+    field protected byte[] buf;
+    field protected int count;
+    field protected int mark;
+    field protected int pos;
+  }
+
+  public class ByteArrayOutputStream extends java.io.OutputStream {
+    ctor public ByteArrayOutputStream();
+    ctor public ByteArrayOutputStream(int);
+    method public void reset();
+    method public int size();
+    method @NonNull public byte[] toByteArray();
+    method @NonNull public String toString(@NonNull String) throws java.io.UnsupportedEncodingException;
+    method @Deprecated @NonNull public String toString(int);
+    method public void write(int);
+    method public void write(@NonNull byte[], int, int);
+    method public void writeTo(@NonNull java.io.OutputStream) throws java.io.IOException;
+    field @NonNull protected byte[] buf;
+    field protected int count;
+  }
+
+  public class CharArrayReader extends java.io.Reader {
+    ctor public CharArrayReader(char[]);
+    ctor public CharArrayReader(char[], int, int);
+    method public void close();
+    method public int read(char[], int, int) throws java.io.IOException;
+    field protected char[] buf;
+    field protected int count;
+    field protected int markedPos;
+    field protected int pos;
+  }
+
+  public class CharArrayWriter extends java.io.Writer {
+    ctor public CharArrayWriter();
+    ctor public CharArrayWriter(int);
+    method public java.io.CharArrayWriter append(CharSequence);
+    method public java.io.CharArrayWriter append(CharSequence, int, int);
+    method public java.io.CharArrayWriter append(char);
+    method public void close();
+    method public void flush();
+    method public void reset();
+    method public int size();
+    method public char[] toCharArray();
+    method public void write(int);
+    method public void write(char[], int, int);
+    method public void write(String, int, int);
+    method public void writeTo(java.io.Writer) throws java.io.IOException;
+    field protected char[] buf;
+    field protected int count;
+  }
+
+  public class CharConversionException extends java.io.IOException {
+    ctor public CharConversionException();
+    ctor public CharConversionException(String);
+  }
+
+  public interface Closeable extends java.lang.AutoCloseable {
+    method public void close() throws java.io.IOException;
+  }
+
+  public final class Console implements java.io.Flushable {
+    method public void flush();
+    method public java.io.Console format(String, java.lang.Object...);
+    method public java.io.Console printf(String, java.lang.Object...);
+    method public String readLine(String, java.lang.Object...);
+    method public String readLine();
+    method public char[] readPassword(String, java.lang.Object...);
+    method public char[] readPassword();
+    method public java.io.Reader reader();
+    method public java.io.PrintWriter writer();
+  }
+
+  public interface DataInput {
+    method public boolean readBoolean() throws java.io.IOException;
+    method public byte readByte() throws java.io.IOException;
+    method public char readChar() throws java.io.IOException;
+    method public double readDouble() throws java.io.IOException;
+    method public float readFloat() throws java.io.IOException;
+    method public void readFully(byte[]) throws java.io.IOException;
+    method public void readFully(byte[], int, int) throws java.io.IOException;
+    method public int readInt() throws java.io.IOException;
+    method public String readLine() throws java.io.IOException;
+    method public long readLong() throws java.io.IOException;
+    method public short readShort() throws java.io.IOException;
+    method public String readUTF() throws java.io.IOException;
+    method public int readUnsignedByte() throws java.io.IOException;
+    method public int readUnsignedShort() throws java.io.IOException;
+    method public int skipBytes(int) throws java.io.IOException;
+  }
+
+  public class DataInputStream extends java.io.FilterInputStream implements java.io.DataInput {
+    ctor public DataInputStream(java.io.InputStream);
+    method public final int read(byte[]) throws java.io.IOException;
+    method public final int read(byte[], int, int) throws java.io.IOException;
+    method public final boolean readBoolean() throws java.io.IOException;
+    method public final byte readByte() throws java.io.IOException;
+    method public final char readChar() throws java.io.IOException;
+    method public final double readDouble() throws java.io.IOException;
+    method public final float readFloat() throws java.io.IOException;
+    method public final void readFully(byte[]) throws java.io.IOException;
+    method public final void readFully(byte[], int, int) throws java.io.IOException;
+    method public final int readInt() throws java.io.IOException;
+    method @Deprecated public final String readLine() throws java.io.IOException;
+    method public final long readLong() throws java.io.IOException;
+    method public final short readShort() throws java.io.IOException;
+    method public final String readUTF() throws java.io.IOException;
+    method public static final String readUTF(java.io.DataInput) throws java.io.IOException;
+    method public final int readUnsignedByte() throws java.io.IOException;
+    method public final int readUnsignedShort() throws java.io.IOException;
+    method public final int skipBytes(int) throws java.io.IOException;
+  }
+
+  public interface DataOutput {
+    method public void write(int) throws java.io.IOException;
+    method public void write(byte[]) throws java.io.IOException;
+    method public void write(byte[], int, int) throws java.io.IOException;
+    method public void writeBoolean(boolean) throws java.io.IOException;
+    method public void writeByte(int) throws java.io.IOException;
+    method public void writeBytes(String) throws java.io.IOException;
+    method public void writeChar(int) throws java.io.IOException;
+    method public void writeChars(String) throws java.io.IOException;
+    method public void writeDouble(double) throws java.io.IOException;
+    method public void writeFloat(float) throws java.io.IOException;
+    method public void writeInt(int) throws java.io.IOException;
+    method public void writeLong(long) throws java.io.IOException;
+    method public void writeShort(int) throws java.io.IOException;
+    method public void writeUTF(String) throws java.io.IOException;
+  }
+
+  public class DataOutputStream extends java.io.FilterOutputStream implements java.io.DataOutput {
+    ctor public DataOutputStream(java.io.OutputStream);
+    method public final int size();
+    method public final void writeBoolean(boolean) throws java.io.IOException;
+    method public final void writeByte(int) throws java.io.IOException;
+    method public final void writeBytes(String) throws java.io.IOException;
+    method public final void writeChar(int) throws java.io.IOException;
+    method public final void writeChars(String) throws java.io.IOException;
+    method public final void writeDouble(double) throws java.io.IOException;
+    method public final void writeFloat(float) throws java.io.IOException;
+    method public final void writeInt(int) throws java.io.IOException;
+    method public final void writeLong(long) throws java.io.IOException;
+    method public final void writeShort(int) throws java.io.IOException;
+    method public final void writeUTF(String) throws java.io.IOException;
+    field protected int written;
+  }
+
+  public class EOFException extends java.io.IOException {
+    ctor public EOFException();
+    ctor public EOFException(String);
+  }
+
+  public interface Externalizable extends java.io.Serializable {
+    method public void readExternal(java.io.ObjectInput) throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public void writeExternal(java.io.ObjectOutput) throws java.io.IOException;
+  }
+
+  public class File implements java.lang.Comparable<java.io.File> java.io.Serializable {
+    ctor public File(@NonNull String);
+    ctor public File(@Nullable String, @NonNull String);
+    ctor public File(@Nullable java.io.File, @NonNull String);
+    ctor public File(@NonNull java.net.URI);
+    method public boolean canExecute();
+    method public boolean canRead();
+    method public boolean canWrite();
+    method public int compareTo(@NonNull java.io.File);
+    method public boolean createNewFile() throws java.io.IOException;
+    method @NonNull public static java.io.File createTempFile(@NonNull String, @Nullable String, @Nullable java.io.File) throws java.io.IOException;
+    method @NonNull public static java.io.File createTempFile(@NonNull String, @Nullable String) throws java.io.IOException;
+    method public boolean delete();
+    method public void deleteOnExit();
+    method public boolean exists();
+    method @NonNull public java.io.File getAbsoluteFile();
+    method @NonNull public String getAbsolutePath();
+    method @NonNull public java.io.File getCanonicalFile() throws java.io.IOException;
+    method @NonNull public String getCanonicalPath() throws java.io.IOException;
+    method public long getFreeSpace();
+    method @NonNull public String getName();
+    method @Nullable public String getParent();
+    method @Nullable public java.io.File getParentFile();
+    method @NonNull public String getPath();
+    method public long getTotalSpace();
+    method public long getUsableSpace();
+    method public boolean isAbsolute();
+    method public boolean isDirectory();
+    method public boolean isFile();
+    method public boolean isHidden();
+    method public long lastModified();
+    method public long length();
+    method @Nullable public String[] list();
+    method @Nullable public String[] list(@Nullable java.io.FilenameFilter);
+    method @Nullable public java.io.File[] listFiles();
+    method @Nullable public java.io.File[] listFiles(@Nullable java.io.FilenameFilter);
+    method @Nullable public java.io.File[] listFiles(@Nullable java.io.FileFilter);
+    method @NonNull public static java.io.File[] listRoots();
+    method public boolean mkdir();
+    method public boolean mkdirs();
+    method public boolean renameTo(@NonNull java.io.File);
+    method public boolean setExecutable(boolean, boolean);
+    method public boolean setExecutable(boolean);
+    method public boolean setLastModified(long);
+    method public boolean setReadOnly();
+    method public boolean setReadable(boolean, boolean);
+    method public boolean setReadable(boolean);
+    method public boolean setWritable(boolean, boolean);
+    method public boolean setWritable(boolean);
+    method @NonNull public java.nio.file.Path toPath();
+    method @NonNull public java.net.URI toURI();
+    method @Deprecated @NonNull public java.net.URL toURL() throws java.net.MalformedURLException;
+    field @NonNull public static final String pathSeparator;
+    field public static final char pathSeparatorChar;
+    field @NonNull public static final String separator;
+    field public static final char separatorChar;
+  }
+
+  public final class FileDescriptor {
+    ctor public FileDescriptor();
+    method public void sync() throws java.io.SyncFailedException;
+    method public boolean valid();
+    field public static final java.io.FileDescriptor err;
+    field public static final java.io.FileDescriptor in;
+    field public static final java.io.FileDescriptor out;
+  }
+
+  @java.lang.FunctionalInterface public interface FileFilter {
+    method public boolean accept(java.io.File);
+  }
+
+  public class FileInputStream extends java.io.InputStream {
+    ctor public FileInputStream(String) throws java.io.FileNotFoundException;
+    ctor public FileInputStream(java.io.File) throws java.io.FileNotFoundException;
+    ctor public FileInputStream(java.io.FileDescriptor);
+    method protected void finalize() throws java.io.IOException;
+    method public java.nio.channels.FileChannel getChannel();
+    method public final java.io.FileDescriptor getFD() throws java.io.IOException;
+    method public int read() throws java.io.IOException;
+  }
+
+  public class FileNotFoundException extends java.io.IOException {
+    ctor public FileNotFoundException();
+    ctor public FileNotFoundException(String);
+  }
+
+  public class FileOutputStream extends java.io.OutputStream {
+    ctor public FileOutputStream(String) throws java.io.FileNotFoundException;
+    ctor public FileOutputStream(String, boolean) throws java.io.FileNotFoundException;
+    ctor public FileOutputStream(java.io.File) throws java.io.FileNotFoundException;
+    ctor public FileOutputStream(java.io.File, boolean) throws java.io.FileNotFoundException;
+    ctor public FileOutputStream(java.io.FileDescriptor);
+    method protected void finalize() throws java.io.IOException;
+    method public java.nio.channels.FileChannel getChannel();
+    method public final java.io.FileDescriptor getFD() throws java.io.IOException;
+    method public void write(int) throws java.io.IOException;
+  }
+
+  public final class FilePermission extends java.security.Permission implements java.io.Serializable {
+    ctor public FilePermission(String, String);
+    method public String getActions();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public class FileReader extends java.io.InputStreamReader {
+    ctor public FileReader(String) throws java.io.FileNotFoundException;
+    ctor public FileReader(java.io.File) throws java.io.FileNotFoundException;
+    ctor public FileReader(java.io.FileDescriptor);
+  }
+
+  public class FileWriter extends java.io.OutputStreamWriter {
+    ctor public FileWriter(String) throws java.io.IOException;
+    ctor public FileWriter(String, boolean) throws java.io.IOException;
+    ctor public FileWriter(java.io.File) throws java.io.IOException;
+    ctor public FileWriter(java.io.File, boolean) throws java.io.IOException;
+    ctor public FileWriter(java.io.FileDescriptor);
+  }
+
+  @java.lang.FunctionalInterface public interface FilenameFilter {
+    method public boolean accept(java.io.File, String);
+  }
+
+  public class FilterInputStream extends java.io.InputStream {
+    ctor protected FilterInputStream(java.io.InputStream);
+    method public int read() throws java.io.IOException;
+    field protected volatile java.io.InputStream in;
+  }
+
+  public class FilterOutputStream extends java.io.OutputStream {
+    ctor public FilterOutputStream(java.io.OutputStream);
+    method public void write(int) throws java.io.IOException;
+    field protected java.io.OutputStream out;
+  }
+
+  public abstract class FilterReader extends java.io.Reader {
+    ctor protected FilterReader(java.io.Reader);
+    method public void close() throws java.io.IOException;
+    method public int read(char[], int, int) throws java.io.IOException;
+    field protected java.io.Reader in;
+  }
+
+  public abstract class FilterWriter extends java.io.Writer {
+    ctor protected FilterWriter(java.io.Writer);
+    method public void close() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public void write(char[], int, int) throws java.io.IOException;
+    field protected java.io.Writer out;
+  }
+
+  public interface Flushable {
+    method public void flush() throws java.io.IOException;
+  }
+
+  public class IOError extends java.lang.Error {
+    ctor public IOError(Throwable);
+  }
+
+  public class IOException extends java.lang.Exception {
+    ctor public IOException();
+    ctor public IOException(String);
+    ctor public IOException(String, Throwable);
+    ctor public IOException(Throwable);
+  }
+
+  public abstract class InputStream implements java.io.Closeable {
+    ctor public InputStream();
+    method public int available() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void mark(int);
+    method public boolean markSupported();
+    method public abstract int read() throws java.io.IOException;
+    method public int read(byte[]) throws java.io.IOException;
+    method public int read(byte[], int, int) throws java.io.IOException;
+    method public void reset() throws java.io.IOException;
+    method public long skip(long) throws java.io.IOException;
+  }
+
+  public class InputStreamReader extends java.io.Reader {
+    ctor public InputStreamReader(java.io.InputStream);
+    ctor public InputStreamReader(java.io.InputStream, String) throws java.io.UnsupportedEncodingException;
+    ctor public InputStreamReader(java.io.InputStream, java.nio.charset.Charset);
+    ctor public InputStreamReader(java.io.InputStream, java.nio.charset.CharsetDecoder);
+    method public void close() throws java.io.IOException;
+    method public String getEncoding();
+    method public int read(char[], int, int) throws java.io.IOException;
+  }
+
+  public class InterruptedIOException extends java.io.IOException {
+    ctor public InterruptedIOException();
+    ctor public InterruptedIOException(String);
+    field public int bytesTransferred;
+  }
+
+  public class InvalidClassException extends java.io.ObjectStreamException {
+    ctor public InvalidClassException(String);
+    ctor public InvalidClassException(String, String);
+    field public String classname;
+  }
+
+  public class InvalidObjectException extends java.io.ObjectStreamException {
+    ctor public InvalidObjectException(String);
+  }
+
+  @Deprecated public class LineNumberInputStream extends java.io.FilterInputStream {
+    ctor @Deprecated public LineNumberInputStream(java.io.InputStream);
+    method @Deprecated public int getLineNumber();
+    method @Deprecated public void setLineNumber(int);
+  }
+
+  public class LineNumberReader extends java.io.BufferedReader {
+    ctor public LineNumberReader(java.io.Reader);
+    ctor public LineNumberReader(java.io.Reader, int);
+    method public int getLineNumber();
+    method public void setLineNumber(int);
+  }
+
+  public class NotActiveException extends java.io.ObjectStreamException {
+    ctor public NotActiveException(String);
+    ctor public NotActiveException();
+  }
+
+  public class NotSerializableException extends java.io.ObjectStreamException {
+    ctor public NotSerializableException(String);
+    ctor public NotSerializableException();
+  }
+
+  public interface ObjectInput extends java.io.DataInput java.lang.AutoCloseable {
+    method public int available() throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public int read() throws java.io.IOException;
+    method public int read(byte[]) throws java.io.IOException;
+    method public int read(byte[], int, int) throws java.io.IOException;
+    method public Object readObject() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public long skip(long) throws java.io.IOException;
+  }
+
+  public class ObjectInputStream extends java.io.InputStream implements java.io.ObjectInput java.io.ObjectStreamConstants {
+    ctor public ObjectInputStream(java.io.InputStream) throws java.io.IOException;
+    ctor protected ObjectInputStream() throws java.io.IOException, java.lang.SecurityException;
+    method public void defaultReadObject() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method protected boolean enableResolveObject(boolean) throws java.lang.SecurityException;
+    method public int read() throws java.io.IOException;
+    method public boolean readBoolean() throws java.io.IOException;
+    method public byte readByte() throws java.io.IOException;
+    method public char readChar() throws java.io.IOException;
+    method protected java.io.ObjectStreamClass readClassDescriptor() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public double readDouble() throws java.io.IOException;
+    method public java.io.ObjectInputStream.GetField readFields() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public float readFloat() throws java.io.IOException;
+    method public void readFully(byte[]) throws java.io.IOException;
+    method public void readFully(byte[], int, int) throws java.io.IOException;
+    method public int readInt() throws java.io.IOException;
+    method @Deprecated public String readLine() throws java.io.IOException;
+    method public long readLong() throws java.io.IOException;
+    method public final Object readObject() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method protected Object readObjectOverride() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public short readShort() throws java.io.IOException;
+    method protected void readStreamHeader() throws java.io.IOException, java.io.StreamCorruptedException;
+    method public String readUTF() throws java.io.IOException;
+    method public Object readUnshared() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public int readUnsignedByte() throws java.io.IOException;
+    method public int readUnsignedShort() throws java.io.IOException;
+    method public void registerValidation(java.io.ObjectInputValidation, int) throws java.io.InvalidObjectException, java.io.NotActiveException;
+    method protected Class<?> resolveClass(java.io.ObjectStreamClass) throws java.lang.ClassNotFoundException, java.io.IOException;
+    method protected Object resolveObject(Object) throws java.io.IOException;
+    method protected Class<?> resolveProxyClass(String[]) throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public int skipBytes(int) throws java.io.IOException;
+  }
+
+  public abstract static class ObjectInputStream.GetField {
+    ctor public ObjectInputStream.GetField();
+    method public abstract boolean defaulted(String) throws java.io.IOException;
+    method public abstract boolean get(String, boolean) throws java.io.IOException;
+    method public abstract byte get(String, byte) throws java.io.IOException;
+    method public abstract char get(String, char) throws java.io.IOException;
+    method public abstract short get(String, short) throws java.io.IOException;
+    method public abstract int get(String, int) throws java.io.IOException;
+    method public abstract long get(String, long) throws java.io.IOException;
+    method public abstract float get(String, float) throws java.io.IOException;
+    method public abstract double get(String, double) throws java.io.IOException;
+    method public abstract Object get(String, Object) throws java.io.IOException;
+    method public abstract java.io.ObjectStreamClass getObjectStreamClass();
+  }
+
+  public interface ObjectInputValidation {
+    method public void validateObject() throws java.io.InvalidObjectException;
+  }
+
+  public interface ObjectOutput extends java.io.DataOutput java.lang.AutoCloseable {
+    method public void close() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public void writeObject(Object) throws java.io.IOException;
+  }
+
+  public class ObjectOutputStream extends java.io.OutputStream implements java.io.ObjectOutput java.io.ObjectStreamConstants {
+    ctor public ObjectOutputStream(java.io.OutputStream) throws java.io.IOException;
+    ctor protected ObjectOutputStream() throws java.io.IOException, java.lang.SecurityException;
+    method protected void annotateClass(Class<?>) throws java.io.IOException;
+    method protected void annotateProxyClass(Class<?>) throws java.io.IOException;
+    method public void defaultWriteObject() throws java.io.IOException;
+    method protected void drain() throws java.io.IOException;
+    method protected boolean enableReplaceObject(boolean) throws java.lang.SecurityException;
+    method public java.io.ObjectOutputStream.PutField putFields() throws java.io.IOException;
+    method protected Object replaceObject(Object) throws java.io.IOException;
+    method public void reset() throws java.io.IOException;
+    method public void useProtocolVersion(int) throws java.io.IOException;
+    method public void write(int) throws java.io.IOException;
+    method public void writeBoolean(boolean) throws java.io.IOException;
+    method public void writeByte(int) throws java.io.IOException;
+    method public void writeBytes(String) throws java.io.IOException;
+    method public void writeChar(int) throws java.io.IOException;
+    method public void writeChars(String) throws java.io.IOException;
+    method protected void writeClassDescriptor(java.io.ObjectStreamClass) throws java.io.IOException;
+    method public void writeDouble(double) throws java.io.IOException;
+    method public void writeFields() throws java.io.IOException;
+    method public void writeFloat(float) throws java.io.IOException;
+    method public void writeInt(int) throws java.io.IOException;
+    method public void writeLong(long) throws java.io.IOException;
+    method public final void writeObject(Object) throws java.io.IOException;
+    method protected void writeObjectOverride(Object) throws java.io.IOException;
+    method public void writeShort(int) throws java.io.IOException;
+    method protected void writeStreamHeader() throws java.io.IOException;
+    method public void writeUTF(String) throws java.io.IOException;
+    method public void writeUnshared(Object) throws java.io.IOException;
+  }
+
+  public abstract static class ObjectOutputStream.PutField {
+    ctor public ObjectOutputStream.PutField();
+    method public abstract void put(String, boolean);
+    method public abstract void put(String, byte);
+    method public abstract void put(String, char);
+    method public abstract void put(String, short);
+    method public abstract void put(String, int);
+    method public abstract void put(String, long);
+    method public abstract void put(String, float);
+    method public abstract void put(String, double);
+    method public abstract void put(String, Object);
+    method @Deprecated public abstract void write(java.io.ObjectOutput) throws java.io.IOException;
+  }
+
+  public class ObjectStreamClass implements java.io.Serializable {
+    method public Class<?> forClass();
+    method public java.io.ObjectStreamField getField(String);
+    method public java.io.ObjectStreamField[] getFields();
+    method public String getName();
+    method public long getSerialVersionUID();
+    method public static java.io.ObjectStreamClass lookup(Class<?>);
+    method public static java.io.ObjectStreamClass lookupAny(Class<?>);
+    field public static final java.io.ObjectStreamField[] NO_FIELDS;
+  }
+
+  public interface ObjectStreamConstants {
+    field public static final int PROTOCOL_VERSION_1 = 1; // 0x1
+    field public static final int PROTOCOL_VERSION_2 = 2; // 0x2
+    field public static final byte SC_BLOCK_DATA = 8; // 0x8
+    field public static final byte SC_ENUM = 16; // 0x10
+    field public static final byte SC_EXTERNALIZABLE = 4; // 0x4
+    field public static final byte SC_SERIALIZABLE = 2; // 0x2
+    field public static final byte SC_WRITE_METHOD = 1; // 0x1
+    field public static final short STREAM_MAGIC = -21267; // 0xffffaced
+    field public static final short STREAM_VERSION = 5; // 0x5
+    field public static final java.io.SerializablePermission SUBCLASS_IMPLEMENTATION_PERMISSION;
+    field public static final java.io.SerializablePermission SUBSTITUTION_PERMISSION;
+    field public static final byte TC_ARRAY = 117; // 0x75
+    field public static final byte TC_BASE = 112; // 0x70
+    field public static final byte TC_BLOCKDATA = 119; // 0x77
+    field public static final byte TC_BLOCKDATALONG = 122; // 0x7a
+    field public static final byte TC_CLASS = 118; // 0x76
+    field public static final byte TC_CLASSDESC = 114; // 0x72
+    field public static final byte TC_ENDBLOCKDATA = 120; // 0x78
+    field public static final byte TC_ENUM = 126; // 0x7e
+    field public static final byte TC_EXCEPTION = 123; // 0x7b
+    field public static final byte TC_LONGSTRING = 124; // 0x7c
+    field public static final byte TC_MAX = 126; // 0x7e
+    field public static final byte TC_NULL = 112; // 0x70
+    field public static final byte TC_OBJECT = 115; // 0x73
+    field public static final byte TC_PROXYCLASSDESC = 125; // 0x7d
+    field public static final byte TC_REFERENCE = 113; // 0x71
+    field public static final byte TC_RESET = 121; // 0x79
+    field public static final byte TC_STRING = 116; // 0x74
+    field public static final int baseWireHandle = 8257536; // 0x7e0000
+  }
+
+  public abstract class ObjectStreamException extends java.io.IOException {
+    ctor protected ObjectStreamException(String);
+    ctor protected ObjectStreamException();
+  }
+
+  public class ObjectStreamField implements java.lang.Comparable<java.lang.Object> {
+    ctor public ObjectStreamField(String, Class<?>);
+    ctor public ObjectStreamField(String, Class<?>, boolean);
+    method public int compareTo(Object);
+    method public String getName();
+    method public int getOffset();
+    method public Class<?> getType();
+    method public char getTypeCode();
+    method public String getTypeString();
+    method public boolean isPrimitive();
+    method public boolean isUnshared();
+    method protected void setOffset(int);
+  }
+
+  public class OptionalDataException extends java.io.ObjectStreamException {
+    field public boolean eof;
+    field public int length;
+  }
+
+  public abstract class OutputStream implements java.io.Closeable java.io.Flushable {
+    ctor public OutputStream();
+    method public void close() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public abstract void write(int) throws java.io.IOException;
+    method public void write(byte[]) throws java.io.IOException;
+    method public void write(byte[], int, int) throws java.io.IOException;
+  }
+
+  public class OutputStreamWriter extends java.io.Writer {
+    ctor public OutputStreamWriter(java.io.OutputStream, String) throws java.io.UnsupportedEncodingException;
+    ctor public OutputStreamWriter(java.io.OutputStream);
+    ctor public OutputStreamWriter(java.io.OutputStream, java.nio.charset.Charset);
+    ctor public OutputStreamWriter(java.io.OutputStream, java.nio.charset.CharsetEncoder);
+    method public void close() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public String getEncoding();
+    method public void write(char[], int, int) throws java.io.IOException;
+  }
+
+  public class PipedInputStream extends java.io.InputStream {
+    ctor public PipedInputStream(java.io.PipedOutputStream) throws java.io.IOException;
+    ctor public PipedInputStream(java.io.PipedOutputStream, int) throws java.io.IOException;
+    ctor public PipedInputStream();
+    ctor public PipedInputStream(int);
+    method public void connect(java.io.PipedOutputStream) throws java.io.IOException;
+    method public int read() throws java.io.IOException;
+    method protected void receive(int) throws java.io.IOException;
+    field protected static final int PIPE_SIZE = 1024; // 0x400
+    field protected byte[] buffer;
+    field protected int in;
+    field protected int out;
+  }
+
+  public class PipedOutputStream extends java.io.OutputStream {
+    ctor public PipedOutputStream(java.io.PipedInputStream) throws java.io.IOException;
+    ctor public PipedOutputStream();
+    method public void connect(java.io.PipedInputStream) throws java.io.IOException;
+    method public void write(int) throws java.io.IOException;
+  }
+
+  public class PipedReader extends java.io.Reader {
+    ctor public PipedReader(java.io.PipedWriter) throws java.io.IOException;
+    ctor public PipedReader(java.io.PipedWriter, int) throws java.io.IOException;
+    ctor public PipedReader();
+    ctor public PipedReader(int);
+    method public void close() throws java.io.IOException;
+    method public void connect(java.io.PipedWriter) throws java.io.IOException;
+    method public int read(char[], int, int) throws java.io.IOException;
+  }
+
+  public class PipedWriter extends java.io.Writer {
+    ctor public PipedWriter(java.io.PipedReader) throws java.io.IOException;
+    ctor public PipedWriter();
+    method public void close() throws java.io.IOException;
+    method public void connect(java.io.PipedReader) throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public void write(char[], int, int) throws java.io.IOException;
+  }
+
+  public class PrintStream extends java.io.FilterOutputStream implements java.lang.Appendable java.io.Closeable {
+    ctor public PrintStream(java.io.OutputStream);
+    ctor public PrintStream(java.io.OutputStream, boolean);
+    ctor public PrintStream(java.io.OutputStream, boolean, String) throws java.io.UnsupportedEncodingException;
+    ctor public PrintStream(String) throws java.io.FileNotFoundException;
+    ctor public PrintStream(String, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public PrintStream(java.io.File) throws java.io.FileNotFoundException;
+    ctor public PrintStream(java.io.File, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    method public java.io.PrintStream append(CharSequence);
+    method public java.io.PrintStream append(CharSequence, int, int);
+    method public java.io.PrintStream append(char);
+    method public boolean checkError();
+    method protected void clearError();
+    method public void close();
+    method public void flush();
+    method public java.io.PrintStream format(String, java.lang.Object...);
+    method public java.io.PrintStream format(java.util.Locale, String, java.lang.Object...);
+    method public void print(boolean);
+    method public void print(char);
+    method public void print(int);
+    method public void print(long);
+    method public void print(float);
+    method public void print(double);
+    method public void print(char[]);
+    method public void print(String);
+    method public void print(Object);
+    method public java.io.PrintStream printf(String, java.lang.Object...);
+    method public java.io.PrintStream printf(java.util.Locale, String, java.lang.Object...);
+    method public void println();
+    method public void println(boolean);
+    method public void println(char);
+    method public void println(int);
+    method public void println(long);
+    method public void println(float);
+    method public void println(double);
+    method public void println(char[]);
+    method public void println(String);
+    method public void println(Object);
+    method protected void setError();
+    method public void write(int);
+    method public void write(byte[], int, int);
+  }
+
+  public class PrintWriter extends java.io.Writer {
+    ctor public PrintWriter(@NonNull java.io.Writer);
+    ctor public PrintWriter(@NonNull java.io.Writer, boolean);
+    ctor public PrintWriter(@NonNull java.io.OutputStream);
+    ctor public PrintWriter(@NonNull java.io.OutputStream, boolean);
+    ctor public PrintWriter(@NonNull String) throws java.io.FileNotFoundException;
+    ctor public PrintWriter(@NonNull String, @NonNull String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public PrintWriter(@NonNull java.io.File) throws java.io.FileNotFoundException;
+    ctor public PrintWriter(@NonNull java.io.File, @NonNull String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    method @NonNull public java.io.PrintWriter append(@Nullable CharSequence);
+    method @NonNull public java.io.PrintWriter append(@Nullable CharSequence, int, int);
+    method @NonNull public java.io.PrintWriter append(char);
+    method public boolean checkError();
+    method protected void clearError();
+    method public void close();
+    method public void flush();
+    method @NonNull public java.io.PrintWriter format(@NonNull String, @NonNull java.lang.Object...);
+    method @NonNull public java.io.PrintWriter format(@Nullable java.util.Locale, @NonNull String, @NonNull java.lang.Object...);
+    method public void print(boolean);
+    method public void print(char);
+    method public void print(int);
+    method public void print(long);
+    method public void print(float);
+    method public void print(double);
+    method public void print(char[]);
+    method public void print(@Nullable String);
+    method public void print(@Nullable Object);
+    method @NonNull public java.io.PrintWriter printf(@NonNull String, @NonNull java.lang.Object...);
+    method @NonNull public java.io.PrintWriter printf(@Nullable java.util.Locale, @NonNull String, @NonNull java.lang.Object...);
+    method public void println();
+    method public void println(boolean);
+    method public void println(char);
+    method public void println(int);
+    method public void println(long);
+    method public void println(float);
+    method public void println(double);
+    method public void println(char[]);
+    method public void println(@Nullable String);
+    method public void println(@Nullable Object);
+    method protected void setError();
+    method public void write(int);
+    method public void write(char[], int, int);
+    method public void write(char[]);
+    method public void write(@NonNull String, int, int);
+    method public void write(@NonNull String);
+    field protected java.io.Writer out;
+  }
+
+  public class PushbackInputStream extends java.io.FilterInputStream {
+    ctor public PushbackInputStream(java.io.InputStream, int);
+    ctor public PushbackInputStream(java.io.InputStream);
+    method public void unread(int) throws java.io.IOException;
+    method public void unread(byte[], int, int) throws java.io.IOException;
+    method public void unread(byte[]) throws java.io.IOException;
+    field protected byte[] buf;
+    field protected int pos;
+  }
+
+  public class PushbackReader extends java.io.FilterReader {
+    ctor public PushbackReader(java.io.Reader, int);
+    ctor public PushbackReader(java.io.Reader);
+    method public void unread(int) throws java.io.IOException;
+    method public void unread(char[], int, int) throws java.io.IOException;
+    method public void unread(char[]) throws java.io.IOException;
+  }
+
+  public class RandomAccessFile implements java.io.Closeable java.io.DataInput java.io.DataOutput {
+    ctor public RandomAccessFile(String, String) throws java.io.FileNotFoundException;
+    ctor public RandomAccessFile(java.io.File, String) throws java.io.FileNotFoundException;
+    method public void close() throws java.io.IOException;
+    method public final java.nio.channels.FileChannel getChannel();
+    method public final java.io.FileDescriptor getFD() throws java.io.IOException;
+    method public long getFilePointer() throws java.io.IOException;
+    method public long length() throws java.io.IOException;
+    method public int read() throws java.io.IOException;
+    method public int read(byte[], int, int) throws java.io.IOException;
+    method public int read(byte[]) throws java.io.IOException;
+    method public final boolean readBoolean() throws java.io.IOException;
+    method public final byte readByte() throws java.io.IOException;
+    method public final char readChar() throws java.io.IOException;
+    method public final double readDouble() throws java.io.IOException;
+    method public final float readFloat() throws java.io.IOException;
+    method public final void readFully(byte[]) throws java.io.IOException;
+    method public final void readFully(byte[], int, int) throws java.io.IOException;
+    method public final int readInt() throws java.io.IOException;
+    method public final String readLine() throws java.io.IOException;
+    method public final long readLong() throws java.io.IOException;
+    method public final short readShort() throws java.io.IOException;
+    method public final String readUTF() throws java.io.IOException;
+    method public final int readUnsignedByte() throws java.io.IOException;
+    method public final int readUnsignedShort() throws java.io.IOException;
+    method public void seek(long) throws java.io.IOException;
+    method public void setLength(long) throws java.io.IOException;
+    method public int skipBytes(int) throws java.io.IOException;
+    method public void write(int) throws java.io.IOException;
+    method public void write(byte[]) throws java.io.IOException;
+    method public void write(byte[], int, int) throws java.io.IOException;
+    method public final void writeBoolean(boolean) throws java.io.IOException;
+    method public final void writeByte(int) throws java.io.IOException;
+    method public final void writeBytes(String) throws java.io.IOException;
+    method public final void writeChar(int) throws java.io.IOException;
+    method public final void writeChars(String) throws java.io.IOException;
+    method public final void writeDouble(double) throws java.io.IOException;
+    method public final void writeFloat(float) throws java.io.IOException;
+    method public final void writeInt(int) throws java.io.IOException;
+    method public final void writeLong(long) throws java.io.IOException;
+    method public final void writeShort(int) throws java.io.IOException;
+    method public final void writeUTF(String) throws java.io.IOException;
+  }
+
+  public abstract class Reader implements java.io.Closeable java.lang.Readable {
+    ctor protected Reader();
+    ctor protected Reader(Object);
+    method public void mark(int) throws java.io.IOException;
+    method public boolean markSupported();
+    method public int read(java.nio.CharBuffer) throws java.io.IOException;
+    method public int read() throws java.io.IOException;
+    method public int read(char[]) throws java.io.IOException;
+    method public abstract int read(char[], int, int) throws java.io.IOException;
+    method public boolean ready() throws java.io.IOException;
+    method public void reset() throws java.io.IOException;
+    method public long skip(long) throws java.io.IOException;
+    field protected Object lock;
+  }
+
+  public class SequenceInputStream extends java.io.InputStream {
+    ctor public SequenceInputStream(java.util.Enumeration<? extends java.io.InputStream>);
+    ctor public SequenceInputStream(java.io.InputStream, java.io.InputStream);
+    method public int read() throws java.io.IOException;
+  }
+
+  public interface Serializable {
+  }
+
+  public final class SerializablePermission extends java.security.BasicPermission {
+    ctor public SerializablePermission(String);
+    ctor public SerializablePermission(String, String);
+  }
+
+  public class StreamCorruptedException extends java.io.ObjectStreamException {
+    ctor public StreamCorruptedException(String);
+    ctor public StreamCorruptedException();
+  }
+
+  public class StreamTokenizer {
+    ctor @Deprecated public StreamTokenizer(java.io.InputStream);
+    ctor public StreamTokenizer(java.io.Reader);
+    method public void commentChar(int);
+    method public void eolIsSignificant(boolean);
+    method public int lineno();
+    method public void lowerCaseMode(boolean);
+    method public int nextToken() throws java.io.IOException;
+    method public void ordinaryChar(int);
+    method public void ordinaryChars(int, int);
+    method public void parseNumbers();
+    method public void pushBack();
+    method public void quoteChar(int);
+    method public void resetSyntax();
+    method public void slashSlashComments(boolean);
+    method public void slashStarComments(boolean);
+    method public void whitespaceChars(int, int);
+    method public void wordChars(int, int);
+    field public static final int TT_EOF = -1; // 0xffffffff
+    field public static final int TT_EOL = 10; // 0xa
+    field public static final int TT_NUMBER = -2; // 0xfffffffe
+    field public static final int TT_WORD = -3; // 0xfffffffd
+    field public double nval;
+    field public String sval;
+    field public int ttype;
+  }
+
+  @Deprecated public class StringBufferInputStream extends java.io.InputStream {
+    ctor @Deprecated public StringBufferInputStream(String);
+    method @Deprecated public int available();
+    method @Deprecated public int read();
+    method @Deprecated public int read(byte[], int, int);
+    method @Deprecated public void reset();
+    method @Deprecated public long skip(long);
+    field @Deprecated protected String buffer;
+    field @Deprecated protected int count;
+    field @Deprecated protected int pos;
+  }
+
+  public class StringReader extends java.io.Reader {
+    ctor public StringReader(String);
+    method public void close();
+    method public int read(char[], int, int) throws java.io.IOException;
+  }
+
+  public class StringWriter extends java.io.Writer {
+    ctor public StringWriter();
+    ctor public StringWriter(int);
+    method public java.io.StringWriter append(CharSequence);
+    method public java.io.StringWriter append(CharSequence, int, int);
+    method public java.io.StringWriter append(char);
+    method public void close() throws java.io.IOException;
+    method public void flush();
+    method public StringBuffer getBuffer();
+    method public void write(int);
+    method public void write(char[], int, int);
+    method public void write(String);
+    method public void write(String, int, int);
+  }
+
+  public class SyncFailedException extends java.io.IOException {
+    ctor public SyncFailedException(String);
+  }
+
+  public class UTFDataFormatException extends java.io.IOException {
+    ctor public UTFDataFormatException();
+    ctor public UTFDataFormatException(String);
+  }
+
+  public class UncheckedIOException extends java.lang.RuntimeException {
+    ctor public UncheckedIOException(String, java.io.IOException);
+    ctor public UncheckedIOException(java.io.IOException);
+    method public java.io.IOException getCause();
+  }
+
+  public class UnsupportedEncodingException extends java.io.IOException {
+    ctor public UnsupportedEncodingException();
+    ctor public UnsupportedEncodingException(String);
+  }
+
+  public class WriteAbortedException extends java.io.ObjectStreamException {
+    ctor public WriteAbortedException(String, Exception);
+    field public Exception detail;
+  }
+
+  public abstract class Writer implements java.lang.Appendable java.io.Closeable java.io.Flushable {
+    ctor protected Writer();
+    ctor protected Writer(Object);
+    method public java.io.Writer append(CharSequence) throws java.io.IOException;
+    method public java.io.Writer append(CharSequence, int, int) throws java.io.IOException;
+    method public java.io.Writer append(char) throws java.io.IOException;
+    method public void write(int) throws java.io.IOException;
+    method public void write(char[]) throws java.io.IOException;
+    method public abstract void write(char[], int, int) throws java.io.IOException;
+    method public void write(String) throws java.io.IOException;
+    method public void write(String, int, int) throws java.io.IOException;
+    field protected Object lock;
+  }
+
+}
+
+package java.lang {
+
+  public class AbstractMethodError extends java.lang.IncompatibleClassChangeError {
+    ctor public AbstractMethodError();
+    ctor public AbstractMethodError(String);
+  }
+
+  public interface Appendable {
+    method @NonNull public Appendable append(@Nullable CharSequence) throws java.io.IOException;
+    method @NonNull public Appendable append(@Nullable CharSequence, int, int) throws java.io.IOException;
+    method @NonNull public Appendable append(char) throws java.io.IOException;
+  }
+
+  public class ArithmeticException extends java.lang.RuntimeException {
+    ctor public ArithmeticException();
+    ctor public ArithmeticException(String);
+  }
+
+  public class ArrayIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
+    ctor public ArrayIndexOutOfBoundsException();
+    ctor public ArrayIndexOutOfBoundsException(int);
+    ctor public ArrayIndexOutOfBoundsException(String);
+  }
+
+  public class ArrayStoreException extends java.lang.RuntimeException {
+    ctor public ArrayStoreException();
+    ctor public ArrayStoreException(String);
+  }
+
+  public class AssertionError extends java.lang.Error {
+    ctor public AssertionError();
+    ctor public AssertionError(Object);
+    ctor public AssertionError(boolean);
+    ctor public AssertionError(char);
+    ctor public AssertionError(int);
+    ctor public AssertionError(long);
+    ctor public AssertionError(float);
+    ctor public AssertionError(double);
+    ctor public AssertionError(String, Throwable);
+  }
+
+  public interface AutoCloseable {
+    method public void close() throws java.lang.Exception;
+  }
+
+  public final class Boolean implements java.lang.Comparable<java.lang.Boolean> java.io.Serializable {
+    ctor public Boolean(boolean);
+    ctor public Boolean(@Nullable String);
+    method public boolean booleanValue();
+    method public static int compare(boolean, boolean);
+    method public int compareTo(@NonNull Boolean);
+    method public static boolean getBoolean(@NonNull String);
+    method public static int hashCode(boolean);
+    method public static boolean logicalAnd(boolean, boolean);
+    method public static boolean logicalOr(boolean, boolean);
+    method public static boolean logicalXor(boolean, boolean);
+    method public static boolean parseBoolean(@Nullable String);
+    method @NonNull public static String toString(boolean);
+    method @NonNull public static Boolean valueOf(boolean);
+    method @NonNull public static Boolean valueOf(@Nullable String);
+    field public static final Boolean FALSE;
+    field public static final Boolean TRUE;
+    field public static final Class<java.lang.Boolean> TYPE;
+  }
+
+  public class BootstrapMethodError extends java.lang.LinkageError {
+    ctor public BootstrapMethodError();
+    ctor public BootstrapMethodError(String);
+    ctor public BootstrapMethodError(String, Throwable);
+    ctor public BootstrapMethodError(Throwable);
+  }
+
+  public final class Byte extends java.lang.Number implements java.lang.Comparable<java.lang.Byte> {
+    ctor @Deprecated public Byte(byte);
+    ctor @Deprecated public Byte(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int compare(byte, byte);
+    method public int compareTo(@NonNull Byte);
+    method public static int compareUnsigned(byte, byte);
+    method @NonNull public static Byte decode(@NonNull String) throws java.lang.NumberFormatException;
+    method public double doubleValue();
+    method public float floatValue();
+    method public static int hashCode(byte);
+    method public int intValue();
+    method public long longValue();
+    method public static byte parseByte(@NonNull String, int) throws java.lang.NumberFormatException;
+    method public static byte parseByte(@NonNull String) throws java.lang.NumberFormatException;
+    method @NonNull public static String toString(byte);
+    method public static int toUnsignedInt(byte);
+    method public static long toUnsignedLong(byte);
+    method @NonNull public static Byte valueOf(byte);
+    method @NonNull public static Byte valueOf(@NonNull String, int) throws java.lang.NumberFormatException;
+    method @NonNull public static Byte valueOf(@NonNull String) throws java.lang.NumberFormatException;
+    field public static final int BYTES = 1; // 0x1
+    field public static final byte MAX_VALUE = 127; // 0x7f
+    field public static final byte MIN_VALUE = -128; // 0xffffff80
+    field public static final int SIZE = 8; // 0x8
+    field public static final Class<java.lang.Byte> TYPE;
+  }
+
+  public interface CharSequence {
+    method public char charAt(int);
+    method @NonNull public default java.util.stream.IntStream chars();
+    method @NonNull public default java.util.stream.IntStream codePoints();
+    method public int length();
+    method @NonNull public CharSequence subSequence(int, int);
+    method @NonNull public String toString();
+  }
+
+  public final class Character implements java.lang.Comparable<java.lang.Character> java.io.Serializable {
+    ctor public Character(char);
+    method public static int charCount(int);
+    method public char charValue();
+    method public static int codePointAt(@NonNull CharSequence, int);
+    method public static int codePointAt(char[], int);
+    method public static int codePointAt(char[], int, int);
+    method public static int codePointBefore(@NonNull CharSequence, int);
+    method public static int codePointBefore(char[], int);
+    method public static int codePointBefore(char[], int, int);
+    method public static int codePointCount(@NonNull CharSequence, int, int);
+    method public static int codePointCount(char[], int, int);
+    method public static int compare(char, char);
+    method public int compareTo(@NonNull Character);
+    method public static int digit(char, int);
+    method public static int digit(int, int);
+    method public static char forDigit(int, int);
+    method public static byte getDirectionality(char);
+    method public static byte getDirectionality(int);
+    method @Nullable public static String getName(int);
+    method public static int getNumericValue(char);
+    method public static int getNumericValue(int);
+    method public static int getType(char);
+    method public static int getType(int);
+    method public static int hashCode(char);
+    method public static char highSurrogate(int);
+    method public static boolean isAlphabetic(int);
+    method public static boolean isBmpCodePoint(int);
+    method public static boolean isDefined(char);
+    method public static boolean isDefined(int);
+    method public static boolean isDigit(char);
+    method public static boolean isDigit(int);
+    method public static boolean isHighSurrogate(char);
+    method public static boolean isISOControl(char);
+    method public static boolean isISOControl(int);
+    method public static boolean isIdentifierIgnorable(char);
+    method public static boolean isIdentifierIgnorable(int);
+    method public static boolean isIdeographic(int);
+    method public static boolean isJavaIdentifierPart(char);
+    method public static boolean isJavaIdentifierPart(int);
+    method public static boolean isJavaIdentifierStart(char);
+    method public static boolean isJavaIdentifierStart(int);
+    method @Deprecated public static boolean isJavaLetter(char);
+    method @Deprecated public static boolean isJavaLetterOrDigit(char);
+    method public static boolean isLetter(char);
+    method public static boolean isLetter(int);
+    method public static boolean isLetterOrDigit(char);
+    method public static boolean isLetterOrDigit(int);
+    method public static boolean isLowSurrogate(char);
+    method public static boolean isLowerCase(char);
+    method public static boolean isLowerCase(int);
+    method public static boolean isMirrored(char);
+    method public static boolean isMirrored(int);
+    method @Deprecated public static boolean isSpace(char);
+    method public static boolean isSpaceChar(char);
+    method public static boolean isSpaceChar(int);
+    method public static boolean isSupplementaryCodePoint(int);
+    method public static boolean isSurrogate(char);
+    method public static boolean isSurrogatePair(char, char);
+    method public static boolean isTitleCase(char);
+    method public static boolean isTitleCase(int);
+    method public static boolean isUnicodeIdentifierPart(char);
+    method public static boolean isUnicodeIdentifierPart(int);
+    method public static boolean isUnicodeIdentifierStart(char);
+    method public static boolean isUnicodeIdentifierStart(int);
+    method public static boolean isUpperCase(char);
+    method public static boolean isUpperCase(int);
+    method public static boolean isValidCodePoint(int);
+    method public static boolean isWhitespace(char);
+    method public static boolean isWhitespace(int);
+    method public static char lowSurrogate(int);
+    method public static int offsetByCodePoints(@NonNull CharSequence, int, int);
+    method public static int offsetByCodePoints(char[], int, int, int, int);
+    method public static char reverseBytes(char);
+    method public static int toChars(int, char[], int);
+    method public static char[] toChars(int);
+    method public static int toCodePoint(char, char);
+    method public static char toLowerCase(char);
+    method public static int toLowerCase(int);
+    method @NonNull public static String toString(char);
+    method public static char toTitleCase(char);
+    method public static int toTitleCase(int);
+    method public static char toUpperCase(char);
+    method public static int toUpperCase(int);
+    method @NonNull public static Character valueOf(char);
+    field public static final int BYTES = 2; // 0x2
+    field public static final byte COMBINING_SPACING_MARK = 8; // 0x8
+    field public static final byte CONNECTOR_PUNCTUATION = 23; // 0x17
+    field public static final byte CONTROL = 15; // 0xf
+    field public static final byte CURRENCY_SYMBOL = 26; // 0x1a
+    field public static final byte DASH_PUNCTUATION = 20; // 0x14
+    field public static final byte DECIMAL_DIGIT_NUMBER = 9; // 0x9
+    field public static final byte DIRECTIONALITY_ARABIC_NUMBER = 6; // 0x6
+    field public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 9; // 0x9
+    field public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7; // 0x7
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = 3; // 0x3
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4; // 0x4
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5; // 0x5
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14; // 0xe
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15; // 0xf
+    field public static final byte DIRECTIONALITY_NONSPACING_MARK = 8; // 0x8
+    field public static final byte DIRECTIONALITY_OTHER_NEUTRALS = 13; // 0xd
+    field public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10; // 0xa
+    field public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18; // 0x12
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = 1; // 0x1
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2; // 0x2
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 16; // 0x10
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 17; // 0x11
+    field public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = 11; // 0xb
+    field public static final byte DIRECTIONALITY_UNDEFINED = -1; // 0xffffffff
+    field public static final byte DIRECTIONALITY_WHITESPACE = 12; // 0xc
+    field public static final byte ENCLOSING_MARK = 7; // 0x7
+    field public static final byte END_PUNCTUATION = 22; // 0x16
+    field public static final byte FINAL_QUOTE_PUNCTUATION = 30; // 0x1e
+    field public static final byte FORMAT = 16; // 0x10
+    field public static final byte INITIAL_QUOTE_PUNCTUATION = 29; // 0x1d
+    field public static final byte LETTER_NUMBER = 10; // 0xa
+    field public static final byte LINE_SEPARATOR = 13; // 0xd
+    field public static final byte LOWERCASE_LETTER = 2; // 0x2
+    field public static final byte MATH_SYMBOL = 25; // 0x19
+    field public static final int MAX_CODE_POINT = 1114111; // 0x10ffff
+    field public static final char MAX_HIGH_SURROGATE = 56319; // 0xdbff '\udbff'
+    field public static final char MAX_LOW_SURROGATE = 57343; // 0xdfff '\udfff'
+    field public static final int MAX_RADIX = 36; // 0x24
+    field public static final char MAX_SURROGATE = 57343; // 0xdfff '\udfff'
+    field public static final char MAX_VALUE = 65535; // 0xffff '\uffff'
+    field public static final int MIN_CODE_POINT = 0; // 0x0
+    field public static final char MIN_HIGH_SURROGATE = 55296; // 0xd800 '\ud800'
+    field public static final char MIN_LOW_SURROGATE = 56320; // 0xdc00 '\udc00'
+    field public static final int MIN_RADIX = 2; // 0x2
+    field public static final int MIN_SUPPLEMENTARY_CODE_POINT = 65536; // 0x10000
+    field public static final char MIN_SURROGATE = 55296; // 0xd800 '\ud800'
+    field public static final char MIN_VALUE = 0; // 0x0000 '\u0000'
+    field public static final byte MODIFIER_LETTER = 4; // 0x4
+    field public static final byte MODIFIER_SYMBOL = 27; // 0x1b
+    field public static final byte NON_SPACING_MARK = 6; // 0x6
+    field public static final byte OTHER_LETTER = 5; // 0x5
+    field public static final byte OTHER_NUMBER = 11; // 0xb
+    field public static final byte OTHER_PUNCTUATION = 24; // 0x18
+    field public static final byte OTHER_SYMBOL = 28; // 0x1c
+    field public static final byte PARAGRAPH_SEPARATOR = 14; // 0xe
+    field public static final byte PRIVATE_USE = 18; // 0x12
+    field public static final int SIZE = 16; // 0x10
+    field public static final byte SPACE_SEPARATOR = 12; // 0xc
+    field public static final byte START_PUNCTUATION = 21; // 0x15
+    field public static final byte SURROGATE = 19; // 0x13
+    field public static final byte TITLECASE_LETTER = 3; // 0x3
+    field public static final Class<java.lang.Character> TYPE;
+    field public static final byte UNASSIGNED = 0; // 0x0
+    field public static final byte UPPERCASE_LETTER = 1; // 0x1
+  }
+
+  public static class Character.Subset {
+    ctor protected Character.Subset(@NonNull String);
+    method public final boolean equals(@Nullable Object);
+    method public final int hashCode();
+    method @NonNull public final String toString();
+  }
+
+  public static final class Character.UnicodeBlock extends java.lang.Character.Subset {
+    method @NonNull public static java.lang.Character.UnicodeBlock forName(@NonNull String);
+    method @Nullable public static java.lang.Character.UnicodeBlock of(char);
+    method @Nullable public static java.lang.Character.UnicodeBlock of(int);
+    field public static final java.lang.Character.UnicodeBlock AEGEAN_NUMBERS;
+    field public static final java.lang.Character.UnicodeBlock ALCHEMICAL_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock ALPHABETIC_PRESENTATION_FORMS;
+    field public static final java.lang.Character.UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION;
+    field public static final java.lang.Character.UnicodeBlock ANCIENT_GREEK_NUMBERS;
+    field public static final java.lang.Character.UnicodeBlock ANCIENT_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock ARABIC;
+    field public static final java.lang.Character.UnicodeBlock ARABIC_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock ARABIC_PRESENTATION_FORMS_A;
+    field public static final java.lang.Character.UnicodeBlock ARABIC_PRESENTATION_FORMS_B;
+    field public static final java.lang.Character.UnicodeBlock ARABIC_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock ARMENIAN;
+    field public static final java.lang.Character.UnicodeBlock ARROWS;
+    field public static final java.lang.Character.UnicodeBlock AVESTAN;
+    field public static final java.lang.Character.UnicodeBlock BALINESE;
+    field public static final java.lang.Character.UnicodeBlock BAMUM;
+    field public static final java.lang.Character.UnicodeBlock BAMUM_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock BASIC_LATIN;
+    field public static final java.lang.Character.UnicodeBlock BATAK;
+    field public static final java.lang.Character.UnicodeBlock BENGALI;
+    field public static final java.lang.Character.UnicodeBlock BLOCK_ELEMENTS;
+    field public static final java.lang.Character.UnicodeBlock BOPOMOFO;
+    field public static final java.lang.Character.UnicodeBlock BOPOMOFO_EXTENDED;
+    field public static final java.lang.Character.UnicodeBlock BOX_DRAWING;
+    field public static final java.lang.Character.UnicodeBlock BRAHMI;
+    field public static final java.lang.Character.UnicodeBlock BRAILLE_PATTERNS;
+    field public static final java.lang.Character.UnicodeBlock BUGINESE;
+    field public static final java.lang.Character.UnicodeBlock BUHID;
+    field public static final java.lang.Character.UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock CARIAN;
+    field public static final java.lang.Character.UnicodeBlock CHAKMA;
+    field public static final java.lang.Character.UnicodeBlock CHAM;
+    field public static final java.lang.Character.UnicodeBlock CHEROKEE;
+    field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY;
+    field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_FORMS;
+    field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS;
+    field public static final java.lang.Character.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock CJK_RADICALS_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock CJK_STROKES;
+    field public static final java.lang.Character.UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION;
+    field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS;
+    field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A;
+    field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B;
+    field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C;
+    field public static final java.lang.Character.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D;
+    field public static final java.lang.Character.UnicodeBlock COMBINING_DIACRITICAL_MARKS;
+    field public static final java.lang.Character.UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock COMBINING_HALF_MARKS;
+    field public static final java.lang.Character.UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock COMMON_INDIC_NUMBER_FORMS;
+    field public static final java.lang.Character.UnicodeBlock CONTROL_PICTURES;
+    field public static final java.lang.Character.UnicodeBlock COPTIC;
+    field public static final java.lang.Character.UnicodeBlock COUNTING_ROD_NUMERALS;
+    field public static final java.lang.Character.UnicodeBlock CUNEIFORM;
+    field public static final java.lang.Character.UnicodeBlock CUNEIFORM_NUMBERS_AND_PUNCTUATION;
+    field public static final java.lang.Character.UnicodeBlock CURRENCY_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock CYPRIOT_SYLLABARY;
+    field public static final java.lang.Character.UnicodeBlock CYRILLIC;
+    field public static final java.lang.Character.UnicodeBlock CYRILLIC_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock CYRILLIC_EXTENDED_B;
+    field public static final java.lang.Character.UnicodeBlock CYRILLIC_SUPPLEMENTARY;
+    field public static final java.lang.Character.UnicodeBlock DESERET;
+    field public static final java.lang.Character.UnicodeBlock DEVANAGARI;
+    field public static final java.lang.Character.UnicodeBlock DEVANAGARI_EXTENDED;
+    field public static final java.lang.Character.UnicodeBlock DINGBATS;
+    field public static final java.lang.Character.UnicodeBlock DOMINO_TILES;
+    field public static final java.lang.Character.UnicodeBlock EGYPTIAN_HIEROGLYPHS;
+    field public static final java.lang.Character.UnicodeBlock EMOTICONS;
+    field public static final java.lang.Character.UnicodeBlock ENCLOSED_ALPHANUMERICS;
+    field public static final java.lang.Character.UnicodeBlock ENCLOSED_ALPHANUMERIC_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS;
+    field public static final java.lang.Character.UnicodeBlock ENCLOSED_IDEOGRAPHIC_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock ETHIOPIC;
+    field public static final java.lang.Character.UnicodeBlock ETHIOPIC_EXTENDED;
+    field public static final java.lang.Character.UnicodeBlock ETHIOPIC_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock ETHIOPIC_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock GENERAL_PUNCTUATION;
+    field public static final java.lang.Character.UnicodeBlock GEOMETRIC_SHAPES;
+    field public static final java.lang.Character.UnicodeBlock GEORGIAN;
+    field public static final java.lang.Character.UnicodeBlock GEORGIAN_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock GLAGOLITIC;
+    field public static final java.lang.Character.UnicodeBlock GOTHIC;
+    field public static final java.lang.Character.UnicodeBlock GREEK;
+    field public static final java.lang.Character.UnicodeBlock GREEK_EXTENDED;
+    field public static final java.lang.Character.UnicodeBlock GUJARATI;
+    field public static final java.lang.Character.UnicodeBlock GURMUKHI;
+    field public static final java.lang.Character.UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS;
+    field public static final java.lang.Character.UnicodeBlock HANGUL_COMPATIBILITY_JAMO;
+    field public static final java.lang.Character.UnicodeBlock HANGUL_JAMO;
+    field public static final java.lang.Character.UnicodeBlock HANGUL_JAMO_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock HANGUL_JAMO_EXTENDED_B;
+    field public static final java.lang.Character.UnicodeBlock HANGUL_SYLLABLES;
+    field public static final java.lang.Character.UnicodeBlock HANUNOO;
+    field public static final java.lang.Character.UnicodeBlock HEBREW;
+    field public static final java.lang.Character.UnicodeBlock HIGH_PRIVATE_USE_SURROGATES;
+    field public static final java.lang.Character.UnicodeBlock HIGH_SURROGATES;
+    field public static final java.lang.Character.UnicodeBlock HIRAGANA;
+    field public static final java.lang.Character.UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS;
+    field public static final java.lang.Character.UnicodeBlock IMPERIAL_ARAMAIC;
+    field public static final java.lang.Character.UnicodeBlock INSCRIPTIONAL_PAHLAVI;
+    field public static final java.lang.Character.UnicodeBlock INSCRIPTIONAL_PARTHIAN;
+    field public static final java.lang.Character.UnicodeBlock IPA_EXTENSIONS;
+    field public static final java.lang.Character.UnicodeBlock JAVANESE;
+    field public static final java.lang.Character.UnicodeBlock KAITHI;
+    field public static final java.lang.Character.UnicodeBlock KANA_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock KANBUN;
+    field public static final java.lang.Character.UnicodeBlock KANGXI_RADICALS;
+    field public static final java.lang.Character.UnicodeBlock KANNADA;
+    field public static final java.lang.Character.UnicodeBlock KATAKANA;
+    field public static final java.lang.Character.UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS;
+    field public static final java.lang.Character.UnicodeBlock KAYAH_LI;
+    field public static final java.lang.Character.UnicodeBlock KHAROSHTHI;
+    field public static final java.lang.Character.UnicodeBlock KHMER;
+    field public static final java.lang.Character.UnicodeBlock KHMER_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock LAO;
+    field public static final java.lang.Character.UnicodeBlock LATIN_1_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_ADDITIONAL;
+    field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_B;
+    field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_C;
+    field public static final java.lang.Character.UnicodeBlock LATIN_EXTENDED_D;
+    field public static final java.lang.Character.UnicodeBlock LEPCHA;
+    field public static final java.lang.Character.UnicodeBlock LETTERLIKE_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock LIMBU;
+    field public static final java.lang.Character.UnicodeBlock LINEAR_B_IDEOGRAMS;
+    field public static final java.lang.Character.UnicodeBlock LINEAR_B_SYLLABARY;
+    field public static final java.lang.Character.UnicodeBlock LISU;
+    field public static final java.lang.Character.UnicodeBlock LOW_SURROGATES;
+    field public static final java.lang.Character.UnicodeBlock LYCIAN;
+    field public static final java.lang.Character.UnicodeBlock LYDIAN;
+    field public static final java.lang.Character.UnicodeBlock MAHJONG_TILES;
+    field public static final java.lang.Character.UnicodeBlock MALAYALAM;
+    field public static final java.lang.Character.UnicodeBlock MANDAIC;
+    field public static final java.lang.Character.UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock MATHEMATICAL_OPERATORS;
+    field public static final java.lang.Character.UnicodeBlock MEETEI_MAYEK;
+    field public static final java.lang.Character.UnicodeBlock MEETEI_MAYEK_EXTENSIONS;
+    field public static final java.lang.Character.UnicodeBlock MEROITIC_CURSIVE;
+    field public static final java.lang.Character.UnicodeBlock MEROITIC_HIEROGLYPHS;
+    field public static final java.lang.Character.UnicodeBlock MIAO;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS;
+    field public static final java.lang.Character.UnicodeBlock MISCELLANEOUS_TECHNICAL;
+    field public static final java.lang.Character.UnicodeBlock MODIFIER_TONE_LETTERS;
+    field public static final java.lang.Character.UnicodeBlock MONGOLIAN;
+    field public static final java.lang.Character.UnicodeBlock MUSICAL_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock MYANMAR;
+    field public static final java.lang.Character.UnicodeBlock MYANMAR_EXTENDED_A;
+    field public static final java.lang.Character.UnicodeBlock NEW_TAI_LUE;
+    field public static final java.lang.Character.UnicodeBlock NKO;
+    field public static final java.lang.Character.UnicodeBlock NUMBER_FORMS;
+    field public static final java.lang.Character.UnicodeBlock OGHAM;
+    field public static final java.lang.Character.UnicodeBlock OLD_ITALIC;
+    field public static final java.lang.Character.UnicodeBlock OLD_PERSIAN;
+    field public static final java.lang.Character.UnicodeBlock OLD_SOUTH_ARABIAN;
+    field public static final java.lang.Character.UnicodeBlock OLD_TURKIC;
+    field public static final java.lang.Character.UnicodeBlock OL_CHIKI;
+    field public static final java.lang.Character.UnicodeBlock OPTICAL_CHARACTER_RECOGNITION;
+    field public static final java.lang.Character.UnicodeBlock ORIYA;
+    field public static final java.lang.Character.UnicodeBlock OSMANYA;
+    field public static final java.lang.Character.UnicodeBlock PHAGS_PA;
+    field public static final java.lang.Character.UnicodeBlock PHAISTOS_DISC;
+    field public static final java.lang.Character.UnicodeBlock PHOENICIAN;
+    field public static final java.lang.Character.UnicodeBlock PHONETIC_EXTENSIONS;
+    field public static final java.lang.Character.UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock PLAYING_CARDS;
+    field public static final java.lang.Character.UnicodeBlock PRIVATE_USE_AREA;
+    field public static final java.lang.Character.UnicodeBlock REJANG;
+    field public static final java.lang.Character.UnicodeBlock RUMI_NUMERAL_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock RUNIC;
+    field public static final java.lang.Character.UnicodeBlock SAMARITAN;
+    field public static final java.lang.Character.UnicodeBlock SAURASHTRA;
+    field public static final java.lang.Character.UnicodeBlock SHARADA;
+    field public static final java.lang.Character.UnicodeBlock SHAVIAN;
+    field public static final java.lang.Character.UnicodeBlock SINHALA;
+    field public static final java.lang.Character.UnicodeBlock SMALL_FORM_VARIANTS;
+    field public static final java.lang.Character.UnicodeBlock SORA_SOMPENG;
+    field public static final java.lang.Character.UnicodeBlock SPACING_MODIFIER_LETTERS;
+    field public static final java.lang.Character.UnicodeBlock SPECIALS;
+    field public static final java.lang.Character.UnicodeBlock SUNDANESE;
+    field public static final java.lang.Character.UnicodeBlock SUNDANESE_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_ARROWS_A;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_ARROWS_B;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTAL_PUNCTUATION;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A;
+    field public static final java.lang.Character.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B;
+    field @Deprecated public static final java.lang.Character.UnicodeBlock SURROGATES_AREA;
+    field public static final java.lang.Character.UnicodeBlock SYLOTI_NAGRI;
+    field public static final java.lang.Character.UnicodeBlock SYRIAC;
+    field public static final java.lang.Character.UnicodeBlock TAGALOG;
+    field public static final java.lang.Character.UnicodeBlock TAGBANWA;
+    field public static final java.lang.Character.UnicodeBlock TAGS;
+    field public static final java.lang.Character.UnicodeBlock TAI_LE;
+    field public static final java.lang.Character.UnicodeBlock TAI_THAM;
+    field public static final java.lang.Character.UnicodeBlock TAI_VIET;
+    field public static final java.lang.Character.UnicodeBlock TAI_XUAN_JING_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock TAKRI;
+    field public static final java.lang.Character.UnicodeBlock TAMIL;
+    field public static final java.lang.Character.UnicodeBlock TELUGU;
+    field public static final java.lang.Character.UnicodeBlock THAANA;
+    field public static final java.lang.Character.UnicodeBlock THAI;
+    field public static final java.lang.Character.UnicodeBlock TIBETAN;
+    field public static final java.lang.Character.UnicodeBlock TIFINAGH;
+    field public static final java.lang.Character.UnicodeBlock TRANSPORT_AND_MAP_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock UGARITIC;
+    field public static final java.lang.Character.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS;
+    field public static final java.lang.Character.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED;
+    field public static final java.lang.Character.UnicodeBlock VAI;
+    field public static final java.lang.Character.UnicodeBlock VARIATION_SELECTORS;
+    field public static final java.lang.Character.UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT;
+    field public static final java.lang.Character.UnicodeBlock VEDIC_EXTENSIONS;
+    field public static final java.lang.Character.UnicodeBlock VERTICAL_FORMS;
+    field public static final java.lang.Character.UnicodeBlock YIJING_HEXAGRAM_SYMBOLS;
+    field public static final java.lang.Character.UnicodeBlock YI_RADICALS;
+    field public static final java.lang.Character.UnicodeBlock YI_SYLLABLES;
+  }
+
+  public enum Character.UnicodeScript {
+    method @NonNull public static java.lang.Character.UnicodeScript forName(@NonNull String);
+    method @NonNull public static java.lang.Character.UnicodeScript of(int);
+    enum_constant public static final java.lang.Character.UnicodeScript ARABIC;
+    enum_constant public static final java.lang.Character.UnicodeScript ARMENIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript AVESTAN;
+    enum_constant public static final java.lang.Character.UnicodeScript BALINESE;
+    enum_constant public static final java.lang.Character.UnicodeScript BAMUM;
+    enum_constant public static final java.lang.Character.UnicodeScript BATAK;
+    enum_constant public static final java.lang.Character.UnicodeScript BENGALI;
+    enum_constant public static final java.lang.Character.UnicodeScript BOPOMOFO;
+    enum_constant public static final java.lang.Character.UnicodeScript BRAHMI;
+    enum_constant public static final java.lang.Character.UnicodeScript BRAILLE;
+    enum_constant public static final java.lang.Character.UnicodeScript BUGINESE;
+    enum_constant public static final java.lang.Character.UnicodeScript BUHID;
+    enum_constant public static final java.lang.Character.UnicodeScript CANADIAN_ABORIGINAL;
+    enum_constant public static final java.lang.Character.UnicodeScript CARIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript CHAKMA;
+    enum_constant public static final java.lang.Character.UnicodeScript CHAM;
+    enum_constant public static final java.lang.Character.UnicodeScript CHEROKEE;
+    enum_constant public static final java.lang.Character.UnicodeScript COMMON;
+    enum_constant public static final java.lang.Character.UnicodeScript COPTIC;
+    enum_constant public static final java.lang.Character.UnicodeScript CUNEIFORM;
+    enum_constant public static final java.lang.Character.UnicodeScript CYPRIOT;
+    enum_constant public static final java.lang.Character.UnicodeScript CYRILLIC;
+    enum_constant public static final java.lang.Character.UnicodeScript DESERET;
+    enum_constant public static final java.lang.Character.UnicodeScript DEVANAGARI;
+    enum_constant public static final java.lang.Character.UnicodeScript EGYPTIAN_HIEROGLYPHS;
+    enum_constant public static final java.lang.Character.UnicodeScript ETHIOPIC;
+    enum_constant public static final java.lang.Character.UnicodeScript GEORGIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript GLAGOLITIC;
+    enum_constant public static final java.lang.Character.UnicodeScript GOTHIC;
+    enum_constant public static final java.lang.Character.UnicodeScript GREEK;
+    enum_constant public static final java.lang.Character.UnicodeScript GUJARATI;
+    enum_constant public static final java.lang.Character.UnicodeScript GURMUKHI;
+    enum_constant public static final java.lang.Character.UnicodeScript HAN;
+    enum_constant public static final java.lang.Character.UnicodeScript HANGUL;
+    enum_constant public static final java.lang.Character.UnicodeScript HANUNOO;
+    enum_constant public static final java.lang.Character.UnicodeScript HEBREW;
+    enum_constant public static final java.lang.Character.UnicodeScript HIRAGANA;
+    enum_constant public static final java.lang.Character.UnicodeScript IMPERIAL_ARAMAIC;
+    enum_constant public static final java.lang.Character.UnicodeScript INHERITED;
+    enum_constant public static final java.lang.Character.UnicodeScript INSCRIPTIONAL_PAHLAVI;
+    enum_constant public static final java.lang.Character.UnicodeScript INSCRIPTIONAL_PARTHIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript JAVANESE;
+    enum_constant public static final java.lang.Character.UnicodeScript KAITHI;
+    enum_constant public static final java.lang.Character.UnicodeScript KANNADA;
+    enum_constant public static final java.lang.Character.UnicodeScript KATAKANA;
+    enum_constant public static final java.lang.Character.UnicodeScript KAYAH_LI;
+    enum_constant public static final java.lang.Character.UnicodeScript KHAROSHTHI;
+    enum_constant public static final java.lang.Character.UnicodeScript KHMER;
+    enum_constant public static final java.lang.Character.UnicodeScript LAO;
+    enum_constant public static final java.lang.Character.UnicodeScript LATIN;
+    enum_constant public static final java.lang.Character.UnicodeScript LEPCHA;
+    enum_constant public static final java.lang.Character.UnicodeScript LIMBU;
+    enum_constant public static final java.lang.Character.UnicodeScript LINEAR_B;
+    enum_constant public static final java.lang.Character.UnicodeScript LISU;
+    enum_constant public static final java.lang.Character.UnicodeScript LYCIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript LYDIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript MALAYALAM;
+    enum_constant public static final java.lang.Character.UnicodeScript MANDAIC;
+    enum_constant public static final java.lang.Character.UnicodeScript MEETEI_MAYEK;
+    enum_constant public static final java.lang.Character.UnicodeScript MEROITIC_CURSIVE;
+    enum_constant public static final java.lang.Character.UnicodeScript MEROITIC_HIEROGLYPHS;
+    enum_constant public static final java.lang.Character.UnicodeScript MIAO;
+    enum_constant public static final java.lang.Character.UnicodeScript MONGOLIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript MYANMAR;
+    enum_constant public static final java.lang.Character.UnicodeScript NEW_TAI_LUE;
+    enum_constant public static final java.lang.Character.UnicodeScript NKO;
+    enum_constant public static final java.lang.Character.UnicodeScript OGHAM;
+    enum_constant public static final java.lang.Character.UnicodeScript OLD_ITALIC;
+    enum_constant public static final java.lang.Character.UnicodeScript OLD_PERSIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript OLD_SOUTH_ARABIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript OLD_TURKIC;
+    enum_constant public static final java.lang.Character.UnicodeScript OL_CHIKI;
+    enum_constant public static final java.lang.Character.UnicodeScript ORIYA;
+    enum_constant public static final java.lang.Character.UnicodeScript OSMANYA;
+    enum_constant public static final java.lang.Character.UnicodeScript PHAGS_PA;
+    enum_constant public static final java.lang.Character.UnicodeScript PHOENICIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript REJANG;
+    enum_constant public static final java.lang.Character.UnicodeScript RUNIC;
+    enum_constant public static final java.lang.Character.UnicodeScript SAMARITAN;
+    enum_constant public static final java.lang.Character.UnicodeScript SAURASHTRA;
+    enum_constant public static final java.lang.Character.UnicodeScript SHARADA;
+    enum_constant public static final java.lang.Character.UnicodeScript SHAVIAN;
+    enum_constant public static final java.lang.Character.UnicodeScript SINHALA;
+    enum_constant public static final java.lang.Character.UnicodeScript SORA_SOMPENG;
+    enum_constant public static final java.lang.Character.UnicodeScript SUNDANESE;
+    enum_constant public static final java.lang.Character.UnicodeScript SYLOTI_NAGRI;
+    enum_constant public static final java.lang.Character.UnicodeScript SYRIAC;
+    enum_constant public static final java.lang.Character.UnicodeScript TAGALOG;
+    enum_constant public static final java.lang.Character.UnicodeScript TAGBANWA;
+    enum_constant public static final java.lang.Character.UnicodeScript TAI_LE;
+    enum_constant public static final java.lang.Character.UnicodeScript TAI_THAM;
+    enum_constant public static final java.lang.Character.UnicodeScript TAI_VIET;
+    enum_constant public static final java.lang.Character.UnicodeScript TAKRI;
+    enum_constant public static final java.lang.Character.UnicodeScript TAMIL;
+    enum_constant public static final java.lang.Character.UnicodeScript TELUGU;
+    enum_constant public static final java.lang.Character.UnicodeScript THAANA;
+    enum_constant public static final java.lang.Character.UnicodeScript THAI;
+    enum_constant public static final java.lang.Character.UnicodeScript TIBETAN;
+    enum_constant public static final java.lang.Character.UnicodeScript TIFINAGH;
+    enum_constant public static final java.lang.Character.UnicodeScript UGARITIC;
+    enum_constant public static final java.lang.Character.UnicodeScript UNKNOWN;
+    enum_constant public static final java.lang.Character.UnicodeScript VAI;
+    enum_constant public static final java.lang.Character.UnicodeScript YI;
+  }
+
+  public final class Class<T> implements java.lang.reflect.AnnotatedElement java.lang.reflect.GenericDeclaration java.io.Serializable java.lang.reflect.Type {
+    method @NonNull public <U> Class<? extends U> asSubclass(@NonNull Class<U>);
+    method @Nullable public T cast(@Nullable Object);
+    method public boolean desiredAssertionStatus();
+    method @NonNull public static Class<?> forName(@NonNull String) throws java.lang.ClassNotFoundException;
+    method @NonNull public static Class<?> forName(@NonNull String, boolean, @Nullable ClassLoader) throws java.lang.ClassNotFoundException;
+    method @Nullable public <A extends java.lang.annotation.Annotation> A getAnnotation(@NonNull Class<A>);
+    method @NonNull public java.lang.annotation.Annotation[] getAnnotations();
+    method @NonNull public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(@NonNull Class<A>);
+    method @Nullable public String getCanonicalName();
+    method @Nullable public ClassLoader getClassLoader();
+    method @NonNull public Class<?>[] getClasses();
+    method @Nullable public Class<?> getComponentType();
+    method @NonNull public java.lang.reflect.Constructor<T> getConstructor(@Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Constructor<?>[] getConstructors() throws java.lang.SecurityException;
+    method @Nullable public <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation(@NonNull Class<A>);
+    method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+    method @NonNull public Class<?>[] getDeclaredClasses();
+    method @NonNull public java.lang.reflect.Constructor<T> getDeclaredConstructor(@Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Constructor<?>[] getDeclaredConstructors() throws java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Field getDeclaredField(@NonNull String) throws java.lang.NoSuchFieldException;
+    method @NonNull public java.lang.reflect.Field[] getDeclaredFields();
+    method @NonNull public java.lang.reflect.Method getDeclaredMethod(@NonNull String, @Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Method[] getDeclaredMethods() throws java.lang.SecurityException;
+    method @Nullable public Class<?> getDeclaringClass();
+    method @Nullable public Class<?> getEnclosingClass();
+    method @Nullable public java.lang.reflect.Constructor<?> getEnclosingConstructor();
+    method @Nullable public java.lang.reflect.Method getEnclosingMethod();
+    method @Nullable public T[] getEnumConstants();
+    method @NonNull public java.lang.reflect.Field getField(@NonNull String) throws java.lang.NoSuchFieldException;
+    method @NonNull public java.lang.reflect.Field[] getFields() throws java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Type[] getGenericInterfaces();
+    method @Nullable public java.lang.reflect.Type getGenericSuperclass();
+    method @NonNull public Class<?>[] getInterfaces();
+    method @NonNull public java.lang.reflect.Method getMethod(@NonNull String, @Nullable Class<?>...) throws java.lang.NoSuchMethodException, java.lang.SecurityException;
+    method @NonNull public java.lang.reflect.Method[] getMethods() throws java.lang.SecurityException;
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method @Nullable public Package getPackage();
+    method @NonNull public String getPackageName();
+    method @Nullable public java.security.ProtectionDomain getProtectionDomain();
+    method @Nullable public java.net.URL getResource(@NonNull String);
+    method @Nullable public java.io.InputStream getResourceAsStream(@NonNull String);
+    method @Nullable public Object[] getSigners();
+    method @NonNull public String getSimpleName();
+    method @Nullable public Class<? super T> getSuperclass();
+    method @NonNull public java.lang.reflect.TypeVariable<java.lang.Class<T>>[] getTypeParameters();
+    method public boolean isAnnotation();
+    method public boolean isAnonymousClass();
+    method public boolean isArray();
+    method public boolean isAssignableFrom(@NonNull Class<?>);
+    method public boolean isEnum();
+    method public boolean isInstance(@Nullable Object);
+    method public boolean isInterface();
+    method public boolean isLocalClass();
+    method public boolean isMemberClass();
+    method public boolean isPrimitive();
+    method public boolean isSynthetic();
+    method @NonNull public T newInstance() throws java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method @NonNull public String toGenericString();
+  }
+
+  public class ClassCastException extends java.lang.RuntimeException {
+    ctor public ClassCastException();
+    ctor public ClassCastException(String);
+  }
+
+  public class ClassCircularityError extends java.lang.LinkageError {
+    ctor public ClassCircularityError();
+    ctor public ClassCircularityError(String);
+  }
+
+  public class ClassFormatError extends java.lang.LinkageError {
+    ctor public ClassFormatError();
+    ctor public ClassFormatError(String);
+  }
+
+  public abstract class ClassLoader {
+    ctor protected ClassLoader(ClassLoader);
+    ctor protected ClassLoader();
+    method public void clearAssertionStatus();
+    method @Deprecated protected final Class<?> defineClass(byte[], int, int) throws java.lang.ClassFormatError;
+    method protected final Class<?> defineClass(String, byte[], int, int) throws java.lang.ClassFormatError;
+    method protected final Class<?> defineClass(String, byte[], int, int, java.security.ProtectionDomain) throws java.lang.ClassFormatError;
+    method protected final Class<?> defineClass(String, java.nio.ByteBuffer, java.security.ProtectionDomain) throws java.lang.ClassFormatError;
+    method protected Package definePackage(String, String, String, String, String, String, String, java.net.URL) throws java.lang.IllegalArgumentException;
+    method protected Class<?> findClass(String) throws java.lang.ClassNotFoundException;
+    method protected String findLibrary(String);
+    method protected final Class<?> findLoadedClass(String);
+    method protected java.net.URL findResource(String);
+    method protected java.util.Enumeration<java.net.URL> findResources(String) throws java.io.IOException;
+    method protected final Class<?> findSystemClass(String) throws java.lang.ClassNotFoundException;
+    method protected Package getPackage(String);
+    method protected Package[] getPackages();
+    method public final ClassLoader getParent();
+    method public java.net.URL getResource(String);
+    method public java.io.InputStream getResourceAsStream(String);
+    method public java.util.Enumeration<java.net.URL> getResources(String) throws java.io.IOException;
+    method public static ClassLoader getSystemClassLoader();
+    method public static java.net.URL getSystemResource(String);
+    method public static java.io.InputStream getSystemResourceAsStream(String);
+    method public static java.util.Enumeration<java.net.URL> getSystemResources(String) throws java.io.IOException;
+    method public Class<?> loadClass(String) throws java.lang.ClassNotFoundException;
+    method protected Class<?> loadClass(String, boolean) throws java.lang.ClassNotFoundException;
+    method protected static boolean registerAsParallelCapable();
+    method protected final void resolveClass(Class<?>);
+    method public void setClassAssertionStatus(String, boolean);
+    method public void setDefaultAssertionStatus(boolean);
+    method public void setPackageAssertionStatus(String, boolean);
+    method protected final void setSigners(Class<?>, Object[]);
+  }
+
+  public class ClassNotFoundException extends java.lang.ReflectiveOperationException {
+    ctor public ClassNotFoundException();
+    ctor public ClassNotFoundException(String);
+    ctor public ClassNotFoundException(String, Throwable);
+    method public Throwable getException();
+  }
+
+  public class CloneNotSupportedException extends java.lang.Exception {
+    ctor public CloneNotSupportedException();
+    ctor public CloneNotSupportedException(String);
+  }
+
+  public interface Cloneable {
+  }
+
+  public interface Comparable<T> {
+    method public int compareTo(T);
+  }
+
+  public final class Compiler {
+    method public static Object command(Object);
+    method public static boolean compileClass(Class<?>);
+    method public static boolean compileClasses(String);
+    method public static void disable();
+    method public static void enable();
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.LOCAL_VARIABLE, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PACKAGE, java.lang.annotation.ElementType.MODULE, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.TYPE}) public @interface Deprecated {
+    method public abstract boolean forRemoval() default false;
+    method public abstract String since() default "";
+  }
+
+  public final class Double extends java.lang.Number implements java.lang.Comparable<java.lang.Double> {
+    ctor public Double(double);
+    ctor public Double(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int compare(double, double);
+    method public int compareTo(@NonNull Double);
+    method public static long doubleToLongBits(double);
+    method public static long doubleToRawLongBits(double);
+    method public double doubleValue();
+    method public float floatValue();
+    method public static int hashCode(double);
+    method public int intValue();
+    method public static boolean isFinite(double);
+    method public static boolean isInfinite(double);
+    method public boolean isInfinite();
+    method public static boolean isNaN(double);
+    method public boolean isNaN();
+    method public static double longBitsToDouble(long);
+    method public long longValue();
+    method public static double max(double, double);
+    method public static double min(double, double);
+    method public static double parseDouble(@NonNull String) throws java.lang.NumberFormatException;
+    method public static double sum(double, double);
+    method @NonNull public static String toHexString(double);
+    method @NonNull public static String toString(double);
+    method @NonNull public static Double valueOf(@NonNull String) throws java.lang.NumberFormatException;
+    method @NonNull public static Double valueOf(double);
+    field public static final int BYTES = 8; // 0x8
+    field public static final int MAX_EXPONENT = 1023; // 0x3ff
+    field public static final double MAX_VALUE = 1.7976931348623157E308;
+    field public static final int MIN_EXPONENT = -1022; // 0xfffffc02
+    field public static final double MIN_NORMAL = 2.2250738585072014E-308;
+    field public static final double MIN_VALUE = 4.9E-324;
+    field public static final double NEGATIVE_INFINITY = (-1.0/0.0);
+    field public static final double NaN = (0.0/0.0);
+    field public static final double POSITIVE_INFINITY = (1.0/0.0);
+    field public static final int SIZE = 64; // 0x40
+    field public static final Class<java.lang.Double> TYPE;
+  }
+
+  public abstract class Enum<E extends java.lang.Enum<E>> implements java.lang.Comparable<E> java.io.Serializable {
+    ctor protected Enum(@NonNull String, int);
+    method @NonNull protected final Object clone() throws java.lang.CloneNotSupportedException;
+    method public final int compareTo(E);
+    method public final boolean equals(@Nullable Object);
+    method protected final void finalize();
+    method @NonNull public final Class<E> getDeclaringClass();
+    method public final int hashCode();
+    method @NonNull public final String name();
+    method public final int ordinal();
+    method @NonNull public static <T extends java.lang.Enum<T>> T valueOf(@NonNull Class<T>, @NonNull String);
+  }
+
+  public class EnumConstantNotPresentException extends java.lang.RuntimeException {
+    ctor public EnumConstantNotPresentException(Class<? extends java.lang.Enum>, String);
+    method public String constantName();
+    method public Class<? extends java.lang.Enum> enumType();
+  }
+
+  public class Error extends java.lang.Throwable {
+    ctor public Error();
+    ctor public Error(String);
+    ctor public Error(String, Throwable);
+    ctor public Error(Throwable);
+    ctor protected Error(String, Throwable, boolean, boolean);
+  }
+
+  public class Exception extends java.lang.Throwable {
+    ctor public Exception();
+    ctor public Exception(String);
+    ctor public Exception(String, Throwable);
+    ctor public Exception(Throwable);
+    ctor protected Exception(String, Throwable, boolean, boolean);
+  }
+
+  public class ExceptionInInitializerError extends java.lang.LinkageError {
+    ctor public ExceptionInInitializerError();
+    ctor public ExceptionInInitializerError(Throwable);
+    ctor public ExceptionInInitializerError(String);
+    method public Throwable getException();
+  }
+
+  public final class Float extends java.lang.Number implements java.lang.Comparable<java.lang.Float> {
+    ctor public Float(float);
+    ctor public Float(double);
+    ctor public Float(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int compare(float, float);
+    method public int compareTo(@NonNull Float);
+    method public double doubleValue();
+    method public static int floatToIntBits(float);
+    method public static int floatToRawIntBits(float);
+    method public float floatValue();
+    method public static int hashCode(float);
+    method public static float intBitsToFloat(int);
+    method public int intValue();
+    method public static boolean isFinite(float);
+    method public static boolean isInfinite(float);
+    method public boolean isInfinite();
+    method public static boolean isNaN(float);
+    method public boolean isNaN();
+    method public long longValue();
+    method public static float max(float, float);
+    method public static float min(float, float);
+    method public static float parseFloat(@NonNull String) throws java.lang.NumberFormatException;
+    method public static float sum(float, float);
+    method @NonNull public static String toHexString(float);
+    method @NonNull public static String toString(float);
+    method @NonNull public static Float valueOf(@NonNull String) throws java.lang.NumberFormatException;
+    method @NonNull public static Float valueOf(float);
+    field public static final int BYTES = 4; // 0x4
+    field public static final int MAX_EXPONENT = 127; // 0x7f
+    field public static final float MAX_VALUE = 3.4028235E38f;
+    field public static final int MIN_EXPONENT = -126; // 0xffffff82
+    field public static final float MIN_NORMAL = 1.17549435E-38f;
+    field public static final float MIN_VALUE = 1.4E-45f;
+    field public static final float NEGATIVE_INFINITY = (-1.0f/0.0f);
+    field public static final float NaN = (0.0f/0.0f);
+    field public static final float POSITIVE_INFINITY = (1.0f/0.0f);
+    field public static final int SIZE = 32; // 0x20
+    field public static final Class<java.lang.Float> TYPE;
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE) public @interface FunctionalInterface {
+  }
+
+  public class IllegalAccessError extends java.lang.IncompatibleClassChangeError {
+    ctor public IllegalAccessError();
+    ctor public IllegalAccessError(String);
+  }
+
+  public class IllegalAccessException extends java.lang.ReflectiveOperationException {
+    ctor public IllegalAccessException();
+    ctor public IllegalAccessException(String);
+  }
+
+  public class IllegalArgumentException extends java.lang.RuntimeException {
+    ctor public IllegalArgumentException();
+    ctor public IllegalArgumentException(String);
+    ctor public IllegalArgumentException(String, Throwable);
+    ctor public IllegalArgumentException(Throwable);
+  }
+
+  public class IllegalMonitorStateException extends java.lang.RuntimeException {
+    ctor public IllegalMonitorStateException();
+    ctor public IllegalMonitorStateException(String);
+  }
+
+  public class IllegalStateException extends java.lang.RuntimeException {
+    ctor public IllegalStateException();
+    ctor public IllegalStateException(String);
+    ctor public IllegalStateException(String, Throwable);
+    ctor public IllegalStateException(Throwable);
+  }
+
+  public class IllegalThreadStateException extends java.lang.IllegalArgumentException {
+    ctor public IllegalThreadStateException();
+    ctor public IllegalThreadStateException(String);
+  }
+
+  public class IncompatibleClassChangeError extends java.lang.LinkageError {
+    ctor public IncompatibleClassChangeError();
+    ctor public IncompatibleClassChangeError(String);
+  }
+
+  public class IndexOutOfBoundsException extends java.lang.RuntimeException {
+    ctor public IndexOutOfBoundsException();
+    ctor public IndexOutOfBoundsException(String);
+  }
+
+  public class InheritableThreadLocal<T> extends java.lang.ThreadLocal<T> {
+    ctor public InheritableThreadLocal();
+    method protected T childValue(T);
+  }
+
+  public class InstantiationError extends java.lang.IncompatibleClassChangeError {
+    ctor public InstantiationError();
+    ctor public InstantiationError(String);
+  }
+
+  public class InstantiationException extends java.lang.ReflectiveOperationException {
+    ctor public InstantiationException();
+    ctor public InstantiationException(String);
+  }
+
+  public final class Integer extends java.lang.Number implements java.lang.Comparable<java.lang.Integer> {
+    ctor public Integer(int);
+    ctor public Integer(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int bitCount(int);
+    method public static int compare(int, int);
+    method public int compareTo(@NonNull Integer);
+    method public static int compareUnsigned(int, int);
+    method @NonNull public static Integer decode(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int divideUnsigned(int, int);
+    method public double doubleValue();
+    method public float floatValue();
+    method @Nullable public static Integer getInteger(@NonNull String);
+    method @Nullable public static Integer getInteger(@NonNull String, int);
+    method @Nullable public static Integer getInteger(@NonNull String, @Nullable Integer);
+    method public static int hashCode(int);
+    method public static int highestOneBit(int);
+    method public int intValue();
+    method public long longValue();
+    method public static int lowestOneBit(int);
+    method public static int max(int, int);
+    method public static int min(int, int);
+    method public static int numberOfLeadingZeros(int);
+    method public static int numberOfTrailingZeros(int);
+    method public static int parseInt(@NonNull String, int) throws java.lang.NumberFormatException;
+    method public static int parseInt(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int parseUnsignedInt(@NonNull String, int) throws java.lang.NumberFormatException;
+    method public static int parseUnsignedInt(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int remainderUnsigned(int, int);
+    method public static int reverse(int);
+    method public static int reverseBytes(int);
+    method public static int rotateLeft(int, int);
+    method public static int rotateRight(int, int);
+    method public static int signum(int);
+    method public static int sum(int, int);
+    method @NonNull public static String toBinaryString(int);
+    method @NonNull public static String toHexString(int);
+    method @NonNull public static String toOctalString(int);
+    method @NonNull public static String toString(int, int);
+    method @NonNull public static String toString(int);
+    method public static long toUnsignedLong(int);
+    method @NonNull public static String toUnsignedString(int, int);
+    method @NonNull public static String toUnsignedString(int);
+    method @NonNull public static Integer valueOf(@NonNull String, int) throws java.lang.NumberFormatException;
+    method @NonNull public static Integer valueOf(@NonNull String) throws java.lang.NumberFormatException;
+    method @NonNull public static Integer valueOf(int);
+    field public static final int BYTES = 4; // 0x4
+    field public static final int MAX_VALUE = 2147483647; // 0x7fffffff
+    field public static final int MIN_VALUE = -2147483648; // 0x80000000
+    field public static final int SIZE = 32; // 0x20
+    field public static final Class<java.lang.Integer> TYPE;
+  }
+
+  public class InternalError extends java.lang.VirtualMachineError {
+    ctor public InternalError();
+    ctor public InternalError(String);
+    ctor public InternalError(String, Throwable);
+    ctor public InternalError(Throwable);
+  }
+
+  public class InterruptedException extends java.lang.Exception {
+    ctor public InterruptedException();
+    ctor public InterruptedException(String);
+  }
+
+  public interface Iterable<T> {
+    method public default void forEach(@NonNull java.util.function.Consumer<? super T>);
+    method @NonNull public java.util.Iterator<T> iterator();
+    method @NonNull public default java.util.Spliterator<T> spliterator();
+  }
+
+  public class LinkageError extends java.lang.Error {
+    ctor public LinkageError();
+    ctor public LinkageError(String);
+    ctor public LinkageError(String, Throwable);
+  }
+
+  public final class Long extends java.lang.Number implements java.lang.Comparable<java.lang.Long> {
+    ctor public Long(long);
+    ctor public Long(@NonNull String) throws java.lang.NumberFormatException;
+    method public static int bitCount(long);
+    method public static int compare(long, long);
+    method public int compareTo(@NonNull Long);
+    method public static int compareUnsigned(long, long);
+    method @NonNull public static Long decode(@NonNull String) throws java.lang.NumberFormatException;
+    method public static long divideUnsigned(long, long);
+    method public double doubleValue();
+    method public float floatValue();
+    method @Nullable public static Long getLong(@NonNull String);
+    method @Nullable public static Long getLong(@NonNull String, long);
+    method @Nullable public static Long getLong(@NonNull String, @Nullable Long);
+    method public static int hashCode(long);
+    method public static long highestOneBit(long);
+    method public int intValue();
+    method public long longValue();
+    method public static long lowestOneBit(long);
+    method public static long max(long, long);
+    method public static long min(long, long);
+    method public static int numberOfLeadingZeros(long);
+    method public static int numberOfTrailingZeros(long);
+    method public static long parseLong(@NonNull String, int) throws java.lang.NumberFormatException;
+    method public static long parseLong(@NonNull String) throws java.lang.NumberFormatException;
+    method public static long parseUnsignedLong(@NonNull String, int) throws java.lang.NumberFormatException;
+    method public static long parseUnsignedLong(@NonNull String) throws java.lang.NumberFormatException;
+    method public static long remainderUnsigned(long, long);
+    method public static long reverse(long);
+    method public static long reverseBytes(long);
+    method public static long rotateLeft(long, int);
+    method public static long rotateRight(long, int);
+    method public static int signum(long);
+    method public static long sum(long, long);
+    method @NonNull public static String toBinaryString(long);
+    method @NonNull public static String toHexString(long);
+    method @NonNull public static String toOctalString(long);
+    method @NonNull public static String toString(long, int);
+    method @NonNull public static String toString(long);
+    method @NonNull public static String toUnsignedString(long, int);
+    method @NonNull public static String toUnsignedString(long);
+    method @NonNull public static Long valueOf(@NonNull String, int) throws java.lang.NumberFormatException;
+    method @NonNull public static Long valueOf(@NonNull String) throws java.lang.NumberFormatException;
+    method @NonNull public static Long valueOf(long);
+    field public static final int BYTES = 8; // 0x8
+    field public static final long MAX_VALUE = 9223372036854775807L; // 0x7fffffffffffffffL
+    field public static final long MIN_VALUE = -9223372036854775808L; // 0x8000000000000000L
+    field public static final int SIZE = 64; // 0x40
+    field public static final Class<java.lang.Long> TYPE;
+  }
+
+  public final class Math {
+    method public static double IEEEremainder(double, double);
+    method public static int abs(int);
+    method public static long abs(long);
+    method public static float abs(float);
+    method public static double abs(double);
+    method public static double acos(double);
+    method public static int addExact(int, int);
+    method public static long addExact(long, long);
+    method public static double asin(double);
+    method public static double atan(double);
+    method public static double atan2(double, double);
+    method public static double cbrt(double);
+    method public static double ceil(double);
+    method public static double copySign(double, double);
+    method public static float copySign(float, float);
+    method public static double cos(double);
+    method public static double cosh(double);
+    method public static int decrementExact(int);
+    method public static long decrementExact(long);
+    method public static double exp(double);
+    method public static double expm1(double);
+    method public static double floor(double);
+    method public static int floorDiv(int, int);
+    method public static long floorDiv(long, int);
+    method public static long floorDiv(long, long);
+    method public static int floorMod(int, int);
+    method public static int floorMod(long, int);
+    method public static long floorMod(long, long);
+    method public static int getExponent(float);
+    method public static int getExponent(double);
+    method public static double hypot(double, double);
+    method public static int incrementExact(int);
+    method public static long incrementExact(long);
+    method public static double log(double);
+    method public static double log10(double);
+    method public static double log1p(double);
+    method public static int max(int, int);
+    method public static long max(long, long);
+    method public static float max(float, float);
+    method public static double max(double, double);
+    method public static int min(int, int);
+    method public static long min(long, long);
+    method public static float min(float, float);
+    method public static double min(double, double);
+    method public static int multiplyExact(int, int);
+    method public static long multiplyExact(long, int);
+    method public static long multiplyExact(long, long);
+    method public static long multiplyFull(int, int);
+    method public static long multiplyHigh(long, long);
+    method public static int negateExact(int);
+    method public static long negateExact(long);
+    method public static double nextAfter(double, double);
+    method public static float nextAfter(float, double);
+    method public static double nextDown(double);
+    method public static float nextDown(float);
+    method public static double nextUp(double);
+    method public static float nextUp(float);
+    method public static double pow(double, double);
+    method public static double random();
+    method public static double rint(double);
+    method public static int round(float);
+    method public static long round(double);
+    method public static double scalb(double, int);
+    method public static float scalb(float, int);
+    method public static double signum(double);
+    method public static float signum(float);
+    method public static double sin(double);
+    method public static double sinh(double);
+    method public static double sqrt(double);
+    method public static int subtractExact(int, int);
+    method public static long subtractExact(long, long);
+    method public static double tan(double);
+    method public static double tanh(double);
+    method public static double toDegrees(double);
+    method public static int toIntExact(long);
+    method public static double toRadians(double);
+    method public static double ulp(double);
+    method public static float ulp(float);
+    field public static final double E = 2.718281828459045;
+    field public static final double PI = 3.141592653589793;
+  }
+
+  public class NegativeArraySizeException extends java.lang.RuntimeException {
+    ctor public NegativeArraySizeException();
+    ctor public NegativeArraySizeException(String);
+  }
+
+  public class NoClassDefFoundError extends java.lang.LinkageError {
+    ctor public NoClassDefFoundError();
+    ctor public NoClassDefFoundError(String);
+  }
+
+  public class NoSuchFieldError extends java.lang.IncompatibleClassChangeError {
+    ctor public NoSuchFieldError();
+    ctor public NoSuchFieldError(String);
+  }
+
+  public class NoSuchFieldException extends java.lang.ReflectiveOperationException {
+    ctor public NoSuchFieldException();
+    ctor public NoSuchFieldException(String);
+  }
+
+  public class NoSuchMethodError extends java.lang.IncompatibleClassChangeError {
+    ctor public NoSuchMethodError();
+    ctor public NoSuchMethodError(String);
+  }
+
+  public class NoSuchMethodException extends java.lang.ReflectiveOperationException {
+    ctor public NoSuchMethodException();
+    ctor public NoSuchMethodException(String);
+  }
+
+  public class NullPointerException extends java.lang.RuntimeException {
+    ctor public NullPointerException();
+    ctor public NullPointerException(String);
+  }
+
+  public abstract class Number implements java.io.Serializable {
+    ctor public Number();
+    method public byte byteValue();
+    method public abstract double doubleValue();
+    method public abstract float floatValue();
+    method public abstract int intValue();
+    method public abstract long longValue();
+    method public short shortValue();
+  }
+
+  public class NumberFormatException extends java.lang.IllegalArgumentException {
+    ctor public NumberFormatException();
+    ctor public NumberFormatException(String);
+  }
+
+  public class Object {
+    ctor public Object();
+    method @NonNull protected Object clone() throws java.lang.CloneNotSupportedException;
+    method public boolean equals(@Nullable Object);
+    method protected void finalize() throws java.lang.Throwable;
+    method @NonNull public final Class<?> getClass();
+    method public int hashCode();
+    method public final void notify();
+    method public final void notifyAll();
+    method @NonNull public String toString();
+    method public final void wait(long) throws java.lang.InterruptedException;
+    method public final void wait(long, int) throws java.lang.InterruptedException;
+    method public final void wait() throws java.lang.InterruptedException;
+  }
+
+  public class OutOfMemoryError extends java.lang.VirtualMachineError {
+    ctor public OutOfMemoryError();
+    ctor public OutOfMemoryError(String);
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) public @interface Override {
+  }
+
+  public class Package implements java.lang.reflect.AnnotatedElement {
+    method public <A extends java.lang.annotation.Annotation> A getAnnotation(Class<A>);
+    method public java.lang.annotation.Annotation[] getAnnotations();
+    method public <A extends java.lang.annotation.Annotation> A[] getAnnotationsByType(Class<A>);
+    method public <A extends java.lang.annotation.Annotation> A getDeclaredAnnotation(Class<A>);
+    method public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+    method public <A extends java.lang.annotation.Annotation> A[] getDeclaredAnnotationsByType(Class<A>);
+    method public String getImplementationTitle();
+    method public String getImplementationVendor();
+    method public String getImplementationVersion();
+    method public String getName();
+    method public static Package getPackage(String);
+    method public static Package[] getPackages();
+    method public String getSpecificationTitle();
+    method public String getSpecificationVendor();
+    method public String getSpecificationVersion();
+    method public boolean isCompatibleWith(String) throws java.lang.NumberFormatException;
+    method public boolean isSealed();
+    method public boolean isSealed(java.net.URL);
+  }
+
+  public abstract class Process {
+    ctor public Process();
+    method public abstract void destroy();
+    method public Process destroyForcibly();
+    method public abstract int exitValue();
+    method public abstract java.io.InputStream getErrorStream();
+    method public abstract java.io.InputStream getInputStream();
+    method public abstract java.io.OutputStream getOutputStream();
+    method public boolean isAlive();
+    method public abstract int waitFor() throws java.lang.InterruptedException;
+    method public boolean waitFor(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+  }
+
+  public final class ProcessBuilder {
+    ctor public ProcessBuilder(java.util.List<java.lang.String>);
+    ctor public ProcessBuilder(java.lang.String...);
+    method public ProcessBuilder command(java.util.List<java.lang.String>);
+    method public ProcessBuilder command(java.lang.String...);
+    method public java.util.List<java.lang.String> command();
+    method public java.io.File directory();
+    method public ProcessBuilder directory(java.io.File);
+    method public java.util.Map<java.lang.String,java.lang.String> environment();
+    method public ProcessBuilder inheritIO();
+    method public ProcessBuilder redirectError(java.lang.ProcessBuilder.Redirect);
+    method public ProcessBuilder redirectError(java.io.File);
+    method public java.lang.ProcessBuilder.Redirect redirectError();
+    method public boolean redirectErrorStream();
+    method public ProcessBuilder redirectErrorStream(boolean);
+    method public ProcessBuilder redirectInput(java.lang.ProcessBuilder.Redirect);
+    method public ProcessBuilder redirectInput(java.io.File);
+    method public java.lang.ProcessBuilder.Redirect redirectInput();
+    method public ProcessBuilder redirectOutput(java.lang.ProcessBuilder.Redirect);
+    method public ProcessBuilder redirectOutput(java.io.File);
+    method public java.lang.ProcessBuilder.Redirect redirectOutput();
+    method public Process start() throws java.io.IOException;
+  }
+
+  public abstract static class ProcessBuilder.Redirect {
+    method public static java.lang.ProcessBuilder.Redirect appendTo(java.io.File);
+    method public java.io.File file();
+    method public static java.lang.ProcessBuilder.Redirect from(java.io.File);
+    method public static java.lang.ProcessBuilder.Redirect to(java.io.File);
+    method public abstract java.lang.ProcessBuilder.Redirect.Type type();
+    field public static final java.lang.ProcessBuilder.Redirect INHERIT;
+    field public static final java.lang.ProcessBuilder.Redirect PIPE;
+  }
+
+  public enum ProcessBuilder.Redirect.Type {
+    enum_constant public static final java.lang.ProcessBuilder.Redirect.Type APPEND;
+    enum_constant public static final java.lang.ProcessBuilder.Redirect.Type INHERIT;
+    enum_constant public static final java.lang.ProcessBuilder.Redirect.Type PIPE;
+    enum_constant public static final java.lang.ProcessBuilder.Redirect.Type READ;
+    enum_constant public static final java.lang.ProcessBuilder.Redirect.Type WRITE;
+  }
+
+  public interface Readable {
+    method public int read(java.nio.CharBuffer) throws java.io.IOException;
+  }
+
+  public class ReflectiveOperationException extends java.lang.Exception {
+    ctor public ReflectiveOperationException();
+    ctor public ReflectiveOperationException(String);
+    ctor public ReflectiveOperationException(String, Throwable);
+    ctor public ReflectiveOperationException(Throwable);
+  }
+
+  @java.lang.FunctionalInterface public interface Runnable {
+    method public void run();
+  }
+
+  public class Runtime {
+    method public void addShutdownHook(Thread);
+    method public int availableProcessors();
+    method public Process exec(String) throws java.io.IOException;
+    method public Process exec(String, String[]) throws java.io.IOException;
+    method public Process exec(String, String[], java.io.File) throws java.io.IOException;
+    method public Process exec(String[]) throws java.io.IOException;
+    method public Process exec(String[], String[]) throws java.io.IOException;
+    method public Process exec(String[], String[], java.io.File) throws java.io.IOException;
+    method public void exit(int);
+    method public long freeMemory();
+    method public void gc();
+    method @Deprecated public java.io.InputStream getLocalizedInputStream(java.io.InputStream);
+    method @Deprecated public java.io.OutputStream getLocalizedOutputStream(java.io.OutputStream);
+    method public static Runtime getRuntime();
+    method public void halt(int);
+    method public void load(String);
+    method public void loadLibrary(String);
+    method public long maxMemory();
+    method public boolean removeShutdownHook(Thread);
+    method public void runFinalization();
+    method @Deprecated public static void runFinalizersOnExit(boolean);
+    method public long totalMemory();
+    method public void traceInstructions(boolean);
+    method public void traceMethodCalls(boolean);
+  }
+
+  public class RuntimeException extends java.lang.Exception {
+    ctor public RuntimeException();
+    ctor public RuntimeException(String);
+    ctor public RuntimeException(String, Throwable);
+    ctor public RuntimeException(Throwable);
+    ctor protected RuntimeException(String, Throwable, boolean, boolean);
+  }
+
+  public final class RuntimePermission extends java.security.BasicPermission {
+    ctor public RuntimePermission(String);
+    ctor public RuntimePermission(String, String);
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.METHOD}) public @interface SafeVarargs {
+  }
+
+  public class SecurityException extends java.lang.RuntimeException {
+    ctor public SecurityException();
+    ctor public SecurityException(String);
+    ctor public SecurityException(String, Throwable);
+    ctor public SecurityException(Throwable);
+  }
+
+  public class SecurityManager {
+    ctor public SecurityManager();
+    method public void checkAccept(String, int);
+    method public void checkAccess(Thread);
+    method public void checkAccess(ThreadGroup);
+    method public void checkAwtEventQueueAccess();
+    method public void checkConnect(String, int);
+    method public void checkConnect(String, int, Object);
+    method public void checkCreateClassLoader();
+    method public void checkDelete(String);
+    method public void checkExec(String);
+    method public void checkExit(int);
+    method public void checkLink(String);
+    method public void checkListen(int);
+    method public void checkMemberAccess(Class<?>, int);
+    method public void checkMulticast(java.net.InetAddress);
+    method @Deprecated public void checkMulticast(java.net.InetAddress, byte);
+    method public void checkPackageAccess(String);
+    method public void checkPackageDefinition(String);
+    method public void checkPermission(java.security.Permission);
+    method public void checkPermission(java.security.Permission, Object);
+    method public void checkPrintJobAccess();
+    method public void checkPropertiesAccess();
+    method public void checkPropertyAccess(String);
+    method public void checkRead(java.io.FileDescriptor);
+    method public void checkRead(String);
+    method public void checkRead(String, Object);
+    method public void checkSecurityAccess(String);
+    method public void checkSetFactory();
+    method public void checkSystemClipboardAccess();
+    method public boolean checkTopLevelWindow(Object);
+    method public void checkWrite(java.io.FileDescriptor);
+    method public void checkWrite(String);
+    method @Deprecated protected int classDepth(String);
+    method @Deprecated protected int classLoaderDepth();
+    method @Deprecated protected ClassLoader currentClassLoader();
+    method @Deprecated protected Class<?> currentLoadedClass();
+    method protected Class[] getClassContext();
+    method @Deprecated public boolean getInCheck();
+    method public Object getSecurityContext();
+    method public ThreadGroup getThreadGroup();
+    method @Deprecated protected boolean inClass(String);
+    method @Deprecated protected boolean inClassLoader();
+    field @Deprecated protected boolean inCheck;
+  }
+
+  public final class Short extends java.lang.Number implements java.lang.Comparable<java.lang.Short> {
+    ctor @Deprecated public Short(short);
+    ctor @Deprecated public Short(String) throws java.lang.NumberFormatException;
+    method public static int compare(short, short);
+    method public int compareTo(Short);
+    method public static int compareUnsigned(short, short);
+    method public static Short decode(String) throws java.lang.NumberFormatException;
+    method public double doubleValue();
+    method public float floatValue();
+    method public static int hashCode(short);
+    method public int intValue();
+    method public long longValue();
+    method public static short parseShort(String, int) throws java.lang.NumberFormatException;
+    method public static short parseShort(String) throws java.lang.NumberFormatException;
+    method public static short reverseBytes(short);
+    method public static String toString(short);
+    method public static int toUnsignedInt(short);
+    method public static long toUnsignedLong(short);
+    method public static Short valueOf(String, int) throws java.lang.NumberFormatException;
+    method public static Short valueOf(String) throws java.lang.NumberFormatException;
+    method public static Short valueOf(short);
+    field public static final int BYTES = 2; // 0x2
+    field public static final short MAX_VALUE = 32767; // 0x7fff
+    field public static final short MIN_VALUE = -32768; // 0xffff8000
+    field public static final int SIZE = 16; // 0x10
+    field public static final Class<java.lang.Short> TYPE;
+  }
+
+  public class StackOverflowError extends java.lang.VirtualMachineError {
+    ctor public StackOverflowError();
+    ctor public StackOverflowError(String);
+  }
+
+  public final class StackTraceElement implements java.io.Serializable {
+    ctor public StackTraceElement(String, String, String, int);
+    method public String getClassName();
+    method public String getFileName();
+    method public int getLineNumber();
+    method public String getMethodName();
+    method public boolean isNativeMethod();
+  }
+
+  public final class StrictMath {
+    method public static double IEEEremainder(double, double);
+    method public static int abs(int);
+    method public static long abs(long);
+    method public static float abs(float);
+    method public static double abs(double);
+    method public static double acos(double);
+    method public static int addExact(int, int);
+    method public static long addExact(long, long);
+    method public static double asin(double);
+    method public static double atan(double);
+    method public static double atan2(double, double);
+    method public static double cbrt(double);
+    method public static double ceil(double);
+    method public static double copySign(double, double);
+    method public static float copySign(float, float);
+    method public static double cos(double);
+    method public static double cosh(double);
+    method public static double exp(double);
+    method public static double expm1(double);
+    method public static double floor(double);
+    method public static int floorDiv(int, int);
+    method public static long floorDiv(long, int);
+    method public static long floorDiv(long, long);
+    method public static int floorMod(int, int);
+    method public static int floorMod(long, int);
+    method public static long floorMod(long, long);
+    method public static int getExponent(float);
+    method public static int getExponent(double);
+    method public static double hypot(double, double);
+    method public static double log(double);
+    method public static double log10(double);
+    method public static double log1p(double);
+    method public static int max(int, int);
+    method public static long max(long, long);
+    method public static float max(float, float);
+    method public static double max(double, double);
+    method public static int min(int, int);
+    method public static long min(long, long);
+    method public static float min(float, float);
+    method public static double min(double, double);
+    method public static int multiplyExact(int, int);
+    method public static long multiplyExact(long, int);
+    method public static long multiplyExact(long, long);
+    method public static long multiplyFull(int, int);
+    method public static long multiplyHigh(long, long);
+    method public static double nextAfter(double, double);
+    method public static float nextAfter(float, double);
+    method public static double nextDown(double);
+    method public static float nextDown(float);
+    method public static double nextUp(double);
+    method public static float nextUp(float);
+    method public static double pow(double, double);
+    method public static double random();
+    method public static double rint(double);
+    method public static int round(float);
+    method public static long round(double);
+    method public static double scalb(double, int);
+    method public static float scalb(float, int);
+    method public static double signum(double);
+    method public static float signum(float);
+    method public static double sin(double);
+    method public static double sinh(double);
+    method public static double sqrt(double);
+    method public static int subtractExact(int, int);
+    method public static long subtractExact(long, long);
+    method public static double tan(double);
+    method public static double tanh(double);
+    method public static double toDegrees(double);
+    method public static int toIntExact(long);
+    method public static double toRadians(double);
+    method public static double ulp(double);
+    method public static float ulp(float);
+    field public static final double E = 2.718281828459045;
+    field public static final double PI = 3.141592653589793;
+  }
+
+  public final class String implements java.lang.CharSequence java.lang.Comparable<java.lang.String> java.io.Serializable {
+    ctor public String();
+    ctor public String(@NonNull String);
+    ctor public String(char[]);
+    ctor public String(char[], int, int);
+    ctor public String(int[], int, int);
+    ctor @Deprecated public String(byte[], int, int, int);
+    ctor @Deprecated public String(byte[], int);
+    ctor public String(byte[], int, int, @NonNull String) throws java.io.UnsupportedEncodingException;
+    ctor public String(byte[], int, int, @NonNull java.nio.charset.Charset);
+    ctor public String(byte[], @NonNull String) throws java.io.UnsupportedEncodingException;
+    ctor public String(byte[], @NonNull java.nio.charset.Charset);
+    ctor public String(byte[], int, int);
+    ctor public String(byte[]);
+    ctor public String(@NonNull StringBuffer);
+    ctor public String(@NonNull StringBuilder);
+    method public char charAt(int);
+    method public int codePointAt(int);
+    method public int codePointBefore(int);
+    method public int codePointCount(int, int);
+    method public int compareTo(@NonNull String);
+    method public int compareToIgnoreCase(@NonNull String);
+    method @NonNull public String concat(@NonNull String);
+    method public boolean contains(@NonNull CharSequence);
+    method public boolean contentEquals(@NonNull StringBuffer);
+    method public boolean contentEquals(@NonNull CharSequence);
+    method @NonNull public static String copyValueOf(char[], int, int);
+    method @NonNull public static String copyValueOf(char[]);
+    method public boolean endsWith(@NonNull String);
+    method public boolean equalsIgnoreCase(@Nullable String);
+    method @NonNull public static String format(@NonNull String, @NonNull java.lang.Object...);
+    method @NonNull public static String format(@NonNull java.util.Locale, @NonNull String, @NonNull java.lang.Object...);
+    method @Deprecated public void getBytes(int, int, byte[], int);
+    method public byte[] getBytes(@NonNull String) throws java.io.UnsupportedEncodingException;
+    method public byte[] getBytes(@NonNull java.nio.charset.Charset);
+    method public byte[] getBytes();
+    method public void getChars(int, int, char[], int);
+    method public int indexOf(int);
+    method public int indexOf(int, int);
+    method public int indexOf(@NonNull String);
+    method public int indexOf(@NonNull String, int);
+    method @NonNull public String intern();
+    method public boolean isEmpty();
+    method @NonNull public static String join(@NonNull CharSequence, @Nullable java.lang.CharSequence...);
+    method @NonNull public static String join(@NonNull CharSequence, @NonNull Iterable<? extends java.lang.CharSequence>);
+    method public int lastIndexOf(int);
+    method public int lastIndexOf(int, int);
+    method public int lastIndexOf(@NonNull String);
+    method public int lastIndexOf(@NonNull String, int);
+    method public int length();
+    method public boolean matches(@NonNull String);
+    method public int offsetByCodePoints(int, int);
+    method public boolean regionMatches(int, @NonNull String, int, int);
+    method public boolean regionMatches(boolean, int, @NonNull String, int, int);
+    method @NonNull public String replace(char, char);
+    method @NonNull public String replace(@NonNull CharSequence, @NonNull CharSequence);
+    method @NonNull public String replaceAll(@NonNull String, @NonNull String);
+    method @NonNull public String replaceFirst(@NonNull String, @NonNull String);
+    method @NonNull public String[] split(@NonNull String, int);
+    method @NonNull public String[] split(@NonNull String);
+    method public boolean startsWith(@NonNull String, int);
+    method public boolean startsWith(@NonNull String);
+    method @NonNull public CharSequence subSequence(int, int);
+    method @NonNull public String substring(int);
+    method @NonNull public String substring(int, int);
+    method public char[] toCharArray();
+    method @NonNull public String toLowerCase(@NonNull java.util.Locale);
+    method @NonNull public String toLowerCase();
+    method @NonNull public String toUpperCase(@NonNull java.util.Locale);
+    method @NonNull public String toUpperCase();
+    method @NonNull public String trim();
+    method @NonNull public static String valueOf(@Nullable Object);
+    method @NonNull public static String valueOf(char[]);
+    method @NonNull public static String valueOf(char[], int, int);
+    method @NonNull public static String valueOf(boolean);
+    method @NonNull public static String valueOf(char);
+    method @NonNull public static String valueOf(int);
+    method @NonNull public static String valueOf(long);
+    method @NonNull public static String valueOf(float);
+    method @NonNull public static String valueOf(double);
+    field public static final java.util.Comparator<java.lang.String> CASE_INSENSITIVE_ORDER;
+  }
+
+  public final class StringBuffer implements java.lang.Appendable java.lang.CharSequence java.io.Serializable {
+    ctor public StringBuffer();
+    ctor public StringBuffer(int);
+    ctor public StringBuffer(@NonNull String);
+    ctor public StringBuffer(@NonNull CharSequence);
+    method @NonNull public StringBuffer append(@Nullable Object);
+    method @NonNull public StringBuffer append(@Nullable String);
+    method @NonNull public StringBuffer append(@Nullable StringBuffer);
+    method @NonNull public StringBuffer append(@Nullable CharSequence);
+    method @NonNull public StringBuffer append(@Nullable CharSequence, int, int);
+    method @NonNull public StringBuffer append(char[]);
+    method @NonNull public StringBuffer append(char[], int, int);
+    method @NonNull public StringBuffer append(boolean);
+    method @NonNull public StringBuffer append(char);
+    method @NonNull public StringBuffer append(int);
+    method @NonNull public StringBuffer append(long);
+    method @NonNull public StringBuffer append(float);
+    method @NonNull public StringBuffer append(double);
+    method @NonNull public StringBuffer appendCodePoint(int);
+    method public int capacity();
+    method public char charAt(int);
+    method public int codePointAt(int);
+    method public int codePointBefore(int);
+    method public int codePointCount(int, int);
+    method @NonNull public StringBuffer delete(int, int);
+    method @NonNull public StringBuffer deleteCharAt(int);
+    method public void ensureCapacity(int);
+    method public void getChars(int, int, char[], int);
+    method public int indexOf(@NonNull String);
+    method public int indexOf(@NonNull String, int);
+    method @NonNull public StringBuffer insert(int, char[], int, int);
+    method @NonNull public StringBuffer insert(int, @Nullable Object);
+    method @NonNull public StringBuffer insert(int, @Nullable String);
+    method @NonNull public StringBuffer insert(int, char[]);
+    method @NonNull public StringBuffer insert(int, @Nullable CharSequence);
+    method @NonNull public StringBuffer insert(int, @Nullable CharSequence, int, int);
+    method @NonNull public StringBuffer insert(int, boolean);
+    method @NonNull public StringBuffer insert(int, char);
+    method @NonNull public StringBuffer insert(int, int);
+    method @NonNull public StringBuffer insert(int, long);
+    method @NonNull public StringBuffer insert(int, float);
+    method @NonNull public StringBuffer insert(int, double);
+    method public int lastIndexOf(@NonNull String);
+    method public int lastIndexOf(@NonNull String, int);
+    method public int length();
+    method public int offsetByCodePoints(int, int);
+    method @NonNull public StringBuffer replace(int, int, @NonNull String);
+    method @NonNull public StringBuffer reverse();
+    method public void setCharAt(int, char);
+    method public void setLength(int);
+    method @NonNull public CharSequence subSequence(int, int);
+    method @NonNull public String substring(int);
+    method @NonNull public String substring(int, int);
+    method public void trimToSize();
+  }
+
+  public final class StringBuilder implements java.lang.Appendable java.lang.CharSequence java.io.Serializable {
+    ctor public StringBuilder();
+    ctor public StringBuilder(int);
+    ctor public StringBuilder(@NonNull String);
+    ctor public StringBuilder(@NonNull CharSequence);
+    method @NonNull public StringBuilder append(@Nullable Object);
+    method @NonNull public StringBuilder append(@Nullable String);
+    method @NonNull public StringBuilder append(@Nullable StringBuffer);
+    method @NonNull public StringBuilder append(@Nullable CharSequence);
+    method @NonNull public StringBuilder append(@Nullable CharSequence, int, int);
+    method @NonNull public StringBuilder append(char[]);
+    method @NonNull public StringBuilder append(char[], int, int);
+    method @NonNull public StringBuilder append(boolean);
+    method @NonNull public StringBuilder append(char);
+    method @NonNull public StringBuilder append(int);
+    method @NonNull public StringBuilder append(long);
+    method @NonNull public StringBuilder append(float);
+    method @NonNull public StringBuilder append(double);
+    method @NonNull public StringBuilder appendCodePoint(int);
+    method public int capacity();
+    method public char charAt(int);
+    method public int codePointAt(int);
+    method public int codePointBefore(int);
+    method public int codePointCount(int, int);
+    method @NonNull public StringBuilder delete(int, int);
+    method @NonNull public StringBuilder deleteCharAt(int);
+    method public void ensureCapacity(int);
+    method public void getChars(int, int, char[], int);
+    method public int indexOf(@NonNull String);
+    method public int indexOf(@NonNull String, int);
+    method @NonNull public StringBuilder insert(int, char[], int, int);
+    method @NonNull public StringBuilder insert(int, @Nullable Object);
+    method @NonNull public StringBuilder insert(int, @Nullable String);
+    method @NonNull public StringBuilder insert(int, char[]);
+    method @NonNull public StringBuilder insert(int, @Nullable CharSequence);
+    method @NonNull public StringBuilder insert(int, @Nullable CharSequence, int, int);
+    method @NonNull public StringBuilder insert(int, boolean);
+    method @NonNull public StringBuilder insert(int, char);
+    method @NonNull public StringBuilder insert(int, int);
+    method @NonNull public StringBuilder insert(int, long);
+    method @NonNull public StringBuilder insert(int, float);
+    method @NonNull public StringBuilder insert(int, double);
+    method public int lastIndexOf(@NonNull String);
+    method public int lastIndexOf(@NonNull String, int);
+    method public int length();
+    method public int offsetByCodePoints(int, int);
+    method @NonNull public StringBuilder replace(int, int, @NonNull String);
+    method @NonNull public StringBuilder reverse();
+    method public void setCharAt(int, char);
+    method public void setLength(int);
+    method @NonNull public CharSequence subSequence(int, int);
+    method @NonNull public String substring(int);
+    method @NonNull public String substring(int, int);
+    method public void trimToSize();
+  }
+
+  public class StringIndexOutOfBoundsException extends java.lang.IndexOutOfBoundsException {
+    ctor public StringIndexOutOfBoundsException();
+    ctor public StringIndexOutOfBoundsException(String);
+    ctor public StringIndexOutOfBoundsException(int);
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE, java.lang.annotation.ElementType.FIELD, java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.PARAMETER, java.lang.annotation.ElementType.CONSTRUCTOR, java.lang.annotation.ElementType.LOCAL_VARIABLE}) public @interface SuppressWarnings {
+    method public abstract String[] value();
+  }
+
+  public final class System {
+    method public static void arraycopy(@NonNull Object, int, @NonNull Object, int, int);
+    method @Nullable public static String clearProperty(@NonNull String);
+    method @Nullable public static java.io.Console console();
+    method public static long currentTimeMillis();
+    method public static void exit(int);
+    method public static void gc();
+    method @NonNull public static java.util.Properties getProperties();
+    method @Nullable public static String getProperty(@NonNull String);
+    method @Nullable public static String getProperty(@NonNull String, @Nullable String);
+    method @Nullable public static SecurityManager getSecurityManager();
+    method @Nullable public static String getenv(@NonNull String);
+    method @NonNull public static java.util.Map<java.lang.String,java.lang.String> getenv();
+    method public static int identityHashCode(@Nullable Object);
+    method @Nullable public static java.nio.channels.Channel inheritedChannel() throws java.io.IOException;
+    method @NonNull public static String lineSeparator();
+    method public static void load(@NonNull String);
+    method public static void loadLibrary(@NonNull String);
+    method @NonNull public static String mapLibraryName(@NonNull String);
+    method public static long nanoTime();
+    method public static void runFinalization();
+    method @Deprecated public static void runFinalizersOnExit(boolean);
+    method public static void setErr(@Nullable java.io.PrintStream);
+    method public static void setIn(@Nullable java.io.InputStream);
+    method public static void setOut(@Nullable java.io.PrintStream);
+    method public static void setProperties(@Nullable java.util.Properties);
+    method @Nullable public static String setProperty(@NonNull String, @Nullable String);
+    method public static void setSecurityManager(@Nullable SecurityManager);
+    field public static final java.io.PrintStream err;
+    field public static final java.io.InputStream in;
+    field public static final java.io.PrintStream out;
+  }
+
+  public class Thread implements java.lang.Runnable {
+    ctor public Thread();
+    ctor public Thread(@Nullable Runnable);
+    ctor public Thread(@Nullable ThreadGroup, @Nullable Runnable);
+    ctor public Thread(@NonNull String);
+    ctor public Thread(@Nullable ThreadGroup, @NonNull String);
+    ctor public Thread(@Nullable Runnable, @NonNull String);
+    ctor public Thread(@Nullable ThreadGroup, @Nullable Runnable, @NonNull String);
+    ctor public Thread(@Nullable ThreadGroup, @Nullable Runnable, @NonNull String, long);
+    method public static int activeCount();
+    method public final void checkAccess();
+    method @Deprecated public int countStackFrames();
+    method @NonNull public static Thread currentThread();
+    method @Deprecated public void destroy();
+    method public static void dumpStack();
+    method public static int enumerate(Thread[]);
+    method @NonNull public static java.util.Map<java.lang.Thread,java.lang.StackTraceElement[]> getAllStackTraces();
+    method @Nullable public ClassLoader getContextClassLoader();
+    method @Nullable public static java.lang.Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler();
+    method public long getId();
+    method @NonNull public final String getName();
+    method public final int getPriority();
+    method @NonNull public StackTraceElement[] getStackTrace();
+    method @NonNull public java.lang.Thread.State getState();
+    method @Nullable public final ThreadGroup getThreadGroup();
+    method @Nullable public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler();
+    method public static boolean holdsLock(@NonNull Object);
+    method public void interrupt();
+    method public static boolean interrupted();
+    method public final boolean isAlive();
+    method public final boolean isDaemon();
+    method public boolean isInterrupted();
+    method public final void join(long) throws java.lang.InterruptedException;
+    method public final void join(long, int) throws java.lang.InterruptedException;
+    method public final void join() throws java.lang.InterruptedException;
+    method @Deprecated public final void resume();
+    method public void run();
+    method public void setContextClassLoader(@Nullable ClassLoader);
+    method public final void setDaemon(boolean);
+    method public static void setDefaultUncaughtExceptionHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler);
+    method public final void setName(@NonNull String);
+    method public final void setPriority(int);
+    method public void setUncaughtExceptionHandler(@Nullable java.lang.Thread.UncaughtExceptionHandler);
+    method public static void sleep(long) throws java.lang.InterruptedException;
+    method public static void sleep(long, int) throws java.lang.InterruptedException;
+    method public void start();
+    method @Deprecated public final void stop();
+    method @Deprecated public final void stop(@Nullable Throwable);
+    method @Deprecated public final void suspend();
+    method public static void yield();
+    field public static final int MAX_PRIORITY = 10; // 0xa
+    field public static final int MIN_PRIORITY = 1; // 0x1
+    field public static final int NORM_PRIORITY = 5; // 0x5
+  }
+
+  public enum Thread.State {
+    enum_constant public static final java.lang.Thread.State BLOCKED;
+    enum_constant public static final java.lang.Thread.State NEW;
+    enum_constant public static final java.lang.Thread.State RUNNABLE;
+    enum_constant public static final java.lang.Thread.State TERMINATED;
+    enum_constant public static final java.lang.Thread.State TIMED_WAITING;
+    enum_constant public static final java.lang.Thread.State WAITING;
+  }
+
+  @java.lang.FunctionalInterface public static interface Thread.UncaughtExceptionHandler {
+    method public void uncaughtException(@NonNull Thread, @NonNull Throwable);
+  }
+
+  public class ThreadDeath extends java.lang.Error {
+    ctor public ThreadDeath();
+  }
+
+  public class ThreadGroup implements java.lang.Thread.UncaughtExceptionHandler {
+    ctor public ThreadGroup(String);
+    ctor public ThreadGroup(ThreadGroup, String);
+    method public int activeCount();
+    method public int activeGroupCount();
+    method @Deprecated public boolean allowThreadSuspension(boolean);
+    method public final void checkAccess();
+    method public final void destroy();
+    method public int enumerate(Thread[]);
+    method public int enumerate(Thread[], boolean);
+    method public int enumerate(ThreadGroup[]);
+    method public int enumerate(ThreadGroup[], boolean);
+    method public final int getMaxPriority();
+    method public final String getName();
+    method public final ThreadGroup getParent();
+    method public final void interrupt();
+    method public final boolean isDaemon();
+    method public boolean isDestroyed();
+    method public void list();
+    method public final boolean parentOf(ThreadGroup);
+    method @Deprecated public final void resume();
+    method public final void setDaemon(boolean);
+    method public final void setMaxPriority(int);
+    method @Deprecated public final void stop();
+    method @Deprecated public final void suspend();
+    method public void uncaughtException(Thread, Throwable);
+  }
+
+  public class ThreadLocal<T> {
+    ctor public ThreadLocal();
+    method @Nullable public T get();
+    method @Nullable protected T initialValue();
+    method public void remove();
+    method public void set(T);
+    method @NonNull public static <S> ThreadLocal<S> withInitial(@NonNull java.util.function.Supplier<? extends S>);
+  }
+
+  public class Throwable implements java.io.Serializable {
+    ctor public Throwable();
+    ctor public Throwable(@Nullable String);
+    ctor public Throwable(@Nullable String, @Nullable Throwable);
+    ctor public Throwable(@Nullable Throwable);
+    ctor protected Throwable(@Nullable String, @Nullable Throwable, boolean, boolean);
+    method public final void addSuppressed(@NonNull Throwable);
+    method @NonNull public Throwable fillInStackTrace();
+    method @Nullable public Throwable getCause();
+    method @Nullable public String getLocalizedMessage();
+    method @Nullable public String getMessage();
+    method @NonNull public StackTraceElement[] getStackTrace();
+    method @NonNull public final Throwable[] getSuppressed();
+    method @NonNull public Throwable initCause(@Nullable Throwable);
+    method public void printStackTrace();
+    method public void printStackTrace(@NonNull java.io.PrintStream);
+    method public void printStackTrace(@NonNull java.io.PrintWriter);
+    method public void setStackTrace(@NonNull StackTraceElement[]);
+  }
+
+  public class TypeNotPresentException extends java.lang.RuntimeException {
+    ctor public TypeNotPresentException(String, Throwable);
+    method public String typeName();
+  }
+
+  public class UnknownError extends java.lang.VirtualMachineError {
+    ctor public UnknownError();
+    ctor public UnknownError(String);
+  }
+
+  public class UnsatisfiedLinkError extends java.lang.LinkageError {
+    ctor public UnsatisfiedLinkError();
+    ctor public UnsatisfiedLinkError(String);
+  }
+
+  public class UnsupportedClassVersionError extends java.lang.ClassFormatError {
+    ctor public UnsupportedClassVersionError();
+    ctor public UnsupportedClassVersionError(String);
+  }
+
+  public class UnsupportedOperationException extends java.lang.RuntimeException {
+    ctor public UnsupportedOperationException();
+    ctor public UnsupportedOperationException(String);
+    ctor public UnsupportedOperationException(String, Throwable);
+    ctor public UnsupportedOperationException(Throwable);
+  }
+
+  public class VerifyError extends java.lang.LinkageError {
+    ctor public VerifyError();
+    ctor public VerifyError(String);
+  }
+
+  public abstract class VirtualMachineError extends java.lang.Error {
+    ctor public VirtualMachineError();
+    ctor public VirtualMachineError(String);
+    ctor public VirtualMachineError(String, Throwable);
+    ctor public VirtualMachineError(Throwable);
+  }
+
+  public final class Void {
+    field public static final Class<java.lang.Void> TYPE;
+  }
+
+}
+
+package java.lang.annotation {
+
+  public interface Annotation {
+    method public Class<? extends java.lang.annotation.Annotation> annotationType();
+    method public boolean equals(Object);
+    method public int hashCode();
+    method public String toString();
+  }
+
+  public class AnnotationFormatError extends java.lang.Error {
+    ctor public AnnotationFormatError(String);
+    ctor public AnnotationFormatError(String, Throwable);
+    ctor public AnnotationFormatError(Throwable);
+  }
+
+  public class AnnotationTypeMismatchException extends java.lang.RuntimeException {
+    ctor public AnnotationTypeMismatchException(java.lang.reflect.Method, String);
+    method public java.lang.reflect.Method element();
+    method public String foundType();
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Documented {
+  }
+
+  public enum ElementType {
+    enum_constant public static final java.lang.annotation.ElementType ANNOTATION_TYPE;
+    enum_constant public static final java.lang.annotation.ElementType CONSTRUCTOR;
+    enum_constant public static final java.lang.annotation.ElementType FIELD;
+    enum_constant public static final java.lang.annotation.ElementType LOCAL_VARIABLE;
+    enum_constant public static final java.lang.annotation.ElementType METHOD;
+    enum_constant public static final java.lang.annotation.ElementType MODULE;
+    enum_constant public static final java.lang.annotation.ElementType PACKAGE;
+    enum_constant public static final java.lang.annotation.ElementType PARAMETER;
+    enum_constant public static final java.lang.annotation.ElementType TYPE;
+    enum_constant public static final java.lang.annotation.ElementType TYPE_PARAMETER;
+    enum_constant public static final java.lang.annotation.ElementType TYPE_USE;
+  }
+
+  public class IncompleteAnnotationException extends java.lang.RuntimeException {
+    ctor public IncompleteAnnotationException(Class<? extends java.lang.annotation.Annotation>, String);
+    method public Class<? extends java.lang.annotation.Annotation> annotationType();
+    method public String elementName();
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Inherited {
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target(java.lang.annotation.ElementType.FIELD) public @interface Native {
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Repeatable {
+    method public abstract Class<? extends java.lang.annotation.Annotation> value();
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Retention {
+    method public abstract java.lang.annotation.RetentionPolicy value();
+  }
+
+  public enum RetentionPolicy {
+    enum_constant public static final java.lang.annotation.RetentionPolicy CLASS;
+    enum_constant public static final java.lang.annotation.RetentionPolicy RUNTIME;
+    enum_constant public static final java.lang.annotation.RetentionPolicy SOURCE;
+  }
+
+  @java.lang.annotation.Documented @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target(java.lang.annotation.ElementType.ANNOTATION_TYPE) public @interface Target {
+    method public abstract java.lang.annotation.ElementType[] value();
+  }
+
+}
+
+package java.lang.invoke {
+
+  public abstract class CallSite {
+    method public abstract java.lang.invoke.MethodHandle dynamicInvoker();
+    method public abstract java.lang.invoke.MethodHandle getTarget();
+    method public abstract void setTarget(java.lang.invoke.MethodHandle);
+    method public java.lang.invoke.MethodType type();
+  }
+
+  public class ConstantCallSite extends java.lang.invoke.CallSite {
+    ctor public ConstantCallSite(java.lang.invoke.MethodHandle);
+    ctor protected ConstantCallSite(java.lang.invoke.MethodType, java.lang.invoke.MethodHandle) throws java.lang.Throwable;
+    method public final java.lang.invoke.MethodHandle dynamicInvoker();
+    method public final java.lang.invoke.MethodHandle getTarget();
+    method public final void setTarget(java.lang.invoke.MethodHandle);
+  }
+
+  public class LambdaConversionException extends java.lang.Exception {
+    ctor public LambdaConversionException();
+    ctor public LambdaConversionException(String);
+    ctor public LambdaConversionException(String, Throwable);
+    ctor public LambdaConversionException(Throwable);
+    ctor public LambdaConversionException(String, Throwable, boolean, boolean);
+  }
+
+  public abstract class MethodHandle {
+    method public java.lang.invoke.MethodHandle asCollector(Class<?>, int);
+    method public java.lang.invoke.MethodHandle asFixedArity();
+    method public java.lang.invoke.MethodHandle asSpreader(Class<?>, int);
+    method public java.lang.invoke.MethodHandle asType(java.lang.invoke.MethodType);
+    method public java.lang.invoke.MethodHandle asVarargsCollector(Class<?>);
+    method public java.lang.invoke.MethodHandle bindTo(Object);
+    method public final Object invoke(java.lang.Object...) throws java.lang.Throwable;
+    method public final Object invokeExact(java.lang.Object...) throws java.lang.Throwable;
+    method public Object invokeWithArguments(java.lang.Object...) throws java.lang.Throwable;
+    method public Object invokeWithArguments(java.util.List<?>) throws java.lang.Throwable;
+    method public boolean isVarargsCollector();
+    method public java.lang.invoke.MethodType type();
+  }
+
+  public interface MethodHandleInfo {
+    method public Class<?> getDeclaringClass();
+    method public java.lang.invoke.MethodType getMethodType();
+    method public int getModifiers();
+    method public String getName();
+    method public int getReferenceKind();
+    method public default boolean isVarArgs();
+    method @Deprecated public static boolean refKindIsField(int);
+    method @Deprecated public static boolean refKindIsValid(int);
+    method @Deprecated public static String refKindName(int);
+    method public static String referenceKindToString(int);
+    method public <T extends java.lang.reflect.Member> T reflectAs(Class<T>, java.lang.invoke.MethodHandles.Lookup);
+    method public static String toString(int, Class<?>, String, java.lang.invoke.MethodType);
+    field public static final int REF_getField = 1; // 0x1
+    field public static final int REF_getStatic = 2; // 0x2
+    field public static final int REF_invokeInterface = 9; // 0x9
+    field public static final int REF_invokeSpecial = 7; // 0x7
+    field public static final int REF_invokeStatic = 6; // 0x6
+    field public static final int REF_invokeVirtual = 5; // 0x5
+    field public static final int REF_newInvokeSpecial = 8; // 0x8
+    field public static final int REF_putField = 3; // 0x3
+    field public static final int REF_putStatic = 4; // 0x4
+  }
+
+  public class MethodHandles {
+    method public static java.lang.invoke.MethodHandle arrayElementGetter(Class<?>) throws java.lang.IllegalArgumentException;
+    method public static java.lang.invoke.MethodHandle arrayElementSetter(Class<?>) throws java.lang.IllegalArgumentException;
+    method public static java.lang.invoke.MethodHandle catchException(java.lang.invoke.MethodHandle, Class<? extends java.lang.Throwable>, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle collectArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle constant(Class<?>, Object);
+    method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>);
+    method public static java.lang.invoke.MethodHandle dropArguments(java.lang.invoke.MethodHandle, int, Class<?>...);
+    method public static java.lang.invoke.MethodHandle exactInvoker(java.lang.invoke.MethodType);
+    method public static java.lang.invoke.MethodHandle explicitCastArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType);
+    method public static java.lang.invoke.MethodHandle filterArguments(java.lang.invoke.MethodHandle, int, java.lang.invoke.MethodHandle...);
+    method public static java.lang.invoke.MethodHandle filterReturnValue(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle foldArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle guardWithTest(java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle identity(Class<?>);
+    method public static java.lang.invoke.MethodHandle insertArguments(java.lang.invoke.MethodHandle, int, java.lang.Object...);
+    method public static java.lang.invoke.MethodHandle invoker(java.lang.invoke.MethodType);
+    method public static java.lang.invoke.MethodHandles.Lookup lookup();
+    method public static java.lang.invoke.MethodHandle permuteArguments(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, int...);
+    method public static java.lang.invoke.MethodHandles.Lookup publicLookup();
+    method public static <T extends java.lang.reflect.Member> T reflectAs(Class<T>, java.lang.invoke.MethodHandle);
+    method public static java.lang.invoke.MethodHandle spreadInvoker(java.lang.invoke.MethodType, int);
+    method public static java.lang.invoke.MethodHandle throwException(Class<?>, Class<? extends java.lang.Throwable>);
+  }
+
+  public static final class MethodHandles.Lookup {
+    method public java.lang.invoke.MethodHandle bind(Object, String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException;
+    method public java.lang.invoke.MethodHandle findConstructor(Class<?>, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException;
+    method public java.lang.invoke.MethodHandle findGetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException;
+    method public java.lang.invoke.MethodHandle findSetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException;
+    method public java.lang.invoke.MethodHandle findSpecial(Class<?>, String, java.lang.invoke.MethodType, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException;
+    method public java.lang.invoke.MethodHandle findStatic(Class<?>, String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException;
+    method public java.lang.invoke.MethodHandle findStaticGetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException;
+    method public java.lang.invoke.MethodHandle findStaticSetter(Class<?>, String, Class<?>) throws java.lang.IllegalAccessException, java.lang.NoSuchFieldException;
+    method public java.lang.invoke.MethodHandle findVirtual(Class<?>, String, java.lang.invoke.MethodType) throws java.lang.IllegalAccessException, java.lang.NoSuchMethodException;
+    method public java.lang.invoke.MethodHandles.Lookup in(Class<?>);
+    method public Class<?> lookupClass();
+    method public int lookupModes();
+    method public java.lang.invoke.MethodHandleInfo revealDirect(java.lang.invoke.MethodHandle);
+    method public java.lang.invoke.MethodHandle unreflect(java.lang.reflect.Method) throws java.lang.IllegalAccessException;
+    method public java.lang.invoke.MethodHandle unreflectConstructor(java.lang.reflect.Constructor<?>) throws java.lang.IllegalAccessException;
+    method public java.lang.invoke.MethodHandle unreflectGetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException;
+    method public java.lang.invoke.MethodHandle unreflectSetter(java.lang.reflect.Field) throws java.lang.IllegalAccessException;
+    method public java.lang.invoke.MethodHandle unreflectSpecial(java.lang.reflect.Method, Class<?>) throws java.lang.IllegalAccessException;
+    field public static final int PACKAGE = 8; // 0x8
+    field public static final int PRIVATE = 2; // 0x2
+    field public static final int PROTECTED = 4; // 0x4
+    field public static final int PUBLIC = 1; // 0x1
+  }
+
+  public final class MethodType implements java.io.Serializable {
+    method public java.lang.invoke.MethodType appendParameterTypes(Class<?>...);
+    method public java.lang.invoke.MethodType appendParameterTypes(java.util.List<java.lang.Class<?>>);
+    method public java.lang.invoke.MethodType changeParameterType(int, Class<?>);
+    method public java.lang.invoke.MethodType changeReturnType(Class<?>);
+    method public java.lang.invoke.MethodType dropParameterTypes(int, int);
+    method public java.lang.invoke.MethodType erase();
+    method public static java.lang.invoke.MethodType fromMethodDescriptorString(String, ClassLoader) throws java.lang.IllegalArgumentException, java.lang.TypeNotPresentException;
+    method public java.lang.invoke.MethodType generic();
+    method public static java.lang.invoke.MethodType genericMethodType(int, boolean);
+    method public static java.lang.invoke.MethodType genericMethodType(int);
+    method public boolean hasPrimitives();
+    method public boolean hasWrappers();
+    method public java.lang.invoke.MethodType insertParameterTypes(int, Class<?>...);
+    method public java.lang.invoke.MethodType insertParameterTypes(int, java.util.List<java.lang.Class<?>>);
+    method public static java.lang.invoke.MethodType methodType(Class<?>, Class<?>[]);
+    method public static java.lang.invoke.MethodType methodType(Class<?>, java.util.List<java.lang.Class<?>>);
+    method public static java.lang.invoke.MethodType methodType(Class<?>, Class<?>, Class<?>...);
+    method public static java.lang.invoke.MethodType methodType(Class<?>);
+    method public static java.lang.invoke.MethodType methodType(Class<?>, Class<?>);
+    method public static java.lang.invoke.MethodType methodType(Class<?>, java.lang.invoke.MethodType);
+    method public Class<?>[] parameterArray();
+    method public int parameterCount();
+    method public java.util.List<java.lang.Class<?>> parameterList();
+    method public Class<?> parameterType(int);
+    method public Class<?> returnType();
+    method public String toMethodDescriptorString();
+    method public java.lang.invoke.MethodType unwrap();
+    method public java.lang.invoke.MethodType wrap();
+  }
+
+  public class MutableCallSite extends java.lang.invoke.CallSite {
+    ctor public MutableCallSite(java.lang.invoke.MethodType);
+    ctor public MutableCallSite(java.lang.invoke.MethodHandle);
+    method public final java.lang.invoke.MethodHandle dynamicInvoker();
+    method public final java.lang.invoke.MethodHandle getTarget();
+    method public void setTarget(java.lang.invoke.MethodHandle);
+  }
+
+  public class VolatileCallSite extends java.lang.invoke.CallSite {
+    ctor public VolatileCallSite(java.lang.invoke.MethodType);
+    ctor public VolatileCallSite(java.lang.invoke.MethodHandle);
+    method public final java.lang.invoke.MethodHandle dynamicInvoker();
+    method public final java.lang.invoke.MethodHandle getTarget();
+    method public void setTarget(java.lang.invoke.MethodHandle);
+  }
+
+  public class WrongMethodTypeException extends java.lang.RuntimeException {
+    ctor public WrongMethodTypeException();
+    ctor public WrongMethodTypeException(String);
+  }
+
+}
+
+package java.lang.ref {
+
+  public class PhantomReference<T> extends java.lang.ref.Reference<T> {
+    ctor public PhantomReference(T, java.lang.ref.ReferenceQueue<? super T>);
+  }
+
+  public abstract class Reference<T> {
+    method public void clear();
+    method public boolean enqueue();
+    method public T get();
+    method @Deprecated public boolean isEnqueued();
+    method public static void reachabilityFence(Object);
+  }
+
+  public class ReferenceQueue<T> {
+    ctor public ReferenceQueue();
+    method public java.lang.ref.Reference<? extends T> poll();
+    method public java.lang.ref.Reference<? extends T> remove(long) throws java.lang.IllegalArgumentException, java.lang.InterruptedException;
+    method public java.lang.ref.Reference<? extends T> remove() throws java.lang.InterruptedException;
+  }
+
+  public class SoftReference<T> extends java.lang.ref.Reference<T> {
+    ctor public SoftReference(T);
+    ctor public SoftReference(T, java.lang.ref.ReferenceQueue<? super T>);
+  }
+
+  public class WeakReference<T> extends java.lang.ref.Reference<T> {
+    ctor public WeakReference(T);
+    ctor public WeakReference(T, java.lang.ref.ReferenceQueue<? super T>);
+  }
+
+}
+
+package java.lang.reflect {
+
+  public class AccessibleObject implements java.lang.reflect.AnnotatedElement {
+    ctor protected AccessibleObject();
+    method @Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@NonNull Class<T>);
+    method @NonNull public java.lang.annotation.Annotation[] getAnnotations();
+    method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+    method public boolean isAccessible();
+    method public static void setAccessible(java.lang.reflect.AccessibleObject[], boolean) throws java.lang.SecurityException;
+    method public void setAccessible(boolean) throws java.lang.SecurityException;
+  }
+
+  public interface AnnotatedElement {
+    method @Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@NonNull Class<T>);
+    method @NonNull public java.lang.annotation.Annotation[] getAnnotations();
+    method public default <T extends java.lang.annotation.Annotation> T[] getAnnotationsByType(@NonNull Class<T>);
+    method @Nullable public default <T extends java.lang.annotation.Annotation> T getDeclaredAnnotation(@NonNull Class<T>);
+    method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+    method public default <T extends java.lang.annotation.Annotation> T[] getDeclaredAnnotationsByType(@NonNull Class<T>);
+    method public default boolean isAnnotationPresent(@NonNull Class<? extends java.lang.annotation.Annotation>);
+  }
+
+  public final class Array {
+    method @Nullable public static Object get(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static boolean getBoolean(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static byte getByte(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static char getChar(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static double getDouble(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static float getFloat(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static int getInt(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static int getLength(@NonNull Object);
+    method public static long getLong(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static short getShort(@NonNull Object, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method @NonNull public static Object newInstance(@NonNull Class<?>, int) throws java.lang.NegativeArraySizeException;
+    method @NonNull public static Object newInstance(@NonNull Class<?>, int...) throws java.lang.IllegalArgumentException, java.lang.NegativeArraySizeException;
+    method public static void set(@NonNull Object, int, @Nullable Object) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setBoolean(@NonNull Object, int, boolean);
+    method public static void setByte(@NonNull Object, int, byte) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setChar(@NonNull Object, int, char) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setDouble(@NonNull Object, int, double) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setFloat(@NonNull Object, int, float) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setInt(@NonNull Object, int, int) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setLong(@NonNull Object, int, long) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+    method public static void setShort(@NonNull Object, int, short) throws java.lang.ArrayIndexOutOfBoundsException, java.lang.IllegalArgumentException;
+  }
+
+  public final class Constructor<T> extends java.lang.reflect.Executable {
+    method @NonNull public Class<T> getDeclaringClass();
+    method public Class<?>[] getExceptionTypes();
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method public java.lang.annotation.Annotation[][] getParameterAnnotations();
+    method @NonNull public Class<?>[] getParameterTypes();
+    method public java.lang.reflect.TypeVariable<java.lang.reflect.Constructor<T>>[] getTypeParameters();
+    method @NonNull public T newInstance(java.lang.Object...) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.reflect.InvocationTargetException;
+    method @NonNull public String toGenericString();
+  }
+
+  public abstract class Executable extends java.lang.reflect.AccessibleObject implements java.lang.reflect.GenericDeclaration java.lang.reflect.Member {
+    method @NonNull public abstract Class<?>[] getExceptionTypes();
+    method @NonNull public java.lang.reflect.Type[] getGenericExceptionTypes();
+    method @NonNull public java.lang.reflect.Type[] getGenericParameterTypes();
+    method @NonNull public abstract java.lang.annotation.Annotation[][] getParameterAnnotations();
+    method public int getParameterCount();
+    method @NonNull public abstract Class<?>[] getParameterTypes();
+    method @NonNull public java.lang.reflect.Parameter[] getParameters();
+    method public final boolean isAnnotationPresent(@NonNull Class<? extends java.lang.annotation.Annotation>);
+    method public boolean isSynthetic();
+    method public boolean isVarArgs();
+    method @NonNull public abstract String toGenericString();
+  }
+
+  public final class Field extends java.lang.reflect.AccessibleObject implements java.lang.reflect.Member {
+    method @Nullable public Object get(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public boolean getBoolean(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public byte getByte(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public char getChar(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method @NonNull public Class<?> getDeclaringClass();
+    method public double getDouble(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public float getFloat(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method @NonNull public java.lang.reflect.Type getGenericType();
+    method public int getInt(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public long getLong(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method public short getShort(@Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method @NonNull public Class<?> getType();
+    method public boolean isEnumConstant();
+    method public boolean isSynthetic();
+    method public void set(@Nullable Object, @Nullable Object) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setBoolean(@Nullable Object, boolean) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setByte(@Nullable Object, byte) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setChar(@Nullable Object, char) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setDouble(@Nullable Object, double) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setFloat(@Nullable Object, float) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setInt(@Nullable Object, int) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setLong(@Nullable Object, long) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method public void setShort(@Nullable Object, short) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException;
+    method @NonNull public String toGenericString();
+  }
+
+  public interface GenericArrayType extends java.lang.reflect.Type {
+    method @NonNull public java.lang.reflect.Type getGenericComponentType();
+  }
+
+  public interface GenericDeclaration extends java.lang.reflect.AnnotatedElement {
+    method @NonNull public java.lang.reflect.TypeVariable<?>[] getTypeParameters();
+  }
+
+  public class GenericSignatureFormatError extends java.lang.ClassFormatError {
+    ctor public GenericSignatureFormatError();
+    ctor public GenericSignatureFormatError(String);
+  }
+
+  public interface InvocationHandler {
+    method public Object invoke(Object, java.lang.reflect.Method, Object[]) throws java.lang.Throwable;
+  }
+
+  public class InvocationTargetException extends java.lang.ReflectiveOperationException {
+    ctor protected InvocationTargetException();
+    ctor public InvocationTargetException(Throwable);
+    ctor public InvocationTargetException(Throwable, String);
+    method public Throwable getTargetException();
+  }
+
+  public class MalformedParameterizedTypeException extends java.lang.RuntimeException {
+    ctor public MalformedParameterizedTypeException();
+  }
+
+  public class MalformedParametersException extends java.lang.RuntimeException {
+    ctor public MalformedParametersException();
+    ctor public MalformedParametersException(String);
+  }
+
+  public interface Member {
+    method @NonNull public Class<?> getDeclaringClass();
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method public boolean isSynthetic();
+    field public static final int DECLARED = 1; // 0x1
+    field public static final int PUBLIC = 0; // 0x0
+  }
+
+  public final class Method extends java.lang.reflect.Executable {
+    method @NonNull public Class<?> getDeclaringClass();
+    method @Nullable public Object getDefaultValue();
+    method @NonNull public Class<?>[] getExceptionTypes();
+    method @NonNull public java.lang.reflect.Type getGenericReturnType();
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method @NonNull public java.lang.annotation.Annotation[][] getParameterAnnotations();
+    method @NonNull public Class<?>[] getParameterTypes();
+    method @NonNull public Class<?> getReturnType();
+    method @NonNull public java.lang.reflect.TypeVariable<java.lang.reflect.Method>[] getTypeParameters();
+    method @Nullable public Object invoke(@Nullable Object, @Nullable java.lang.Object...) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException;
+    method public boolean isBridge();
+    method public boolean isDefault();
+    method @NonNull public String toGenericString();
+  }
+
+  public class Modifier {
+    ctor public Modifier();
+    method public static int classModifiers();
+    method public static int constructorModifiers();
+    method public static int fieldModifiers();
+    method public static int interfaceModifiers();
+    method public static boolean isAbstract(int);
+    method public static boolean isFinal(int);
+    method public static boolean isInterface(int);
+    method public static boolean isNative(int);
+    method public static boolean isPrivate(int);
+    method public static boolean isProtected(int);
+    method public static boolean isPublic(int);
+    method public static boolean isStatic(int);
+    method public static boolean isStrict(int);
+    method public static boolean isSynchronized(int);
+    method public static boolean isTransient(int);
+    method public static boolean isVolatile(int);
+    method public static int methodModifiers();
+    method public static int parameterModifiers();
+    method public static String toString(int);
+    field public static final int ABSTRACT = 1024; // 0x400
+    field public static final int FINAL = 16; // 0x10
+    field public static final int INTERFACE = 512; // 0x200
+    field public static final int NATIVE = 256; // 0x100
+    field public static final int PRIVATE = 2; // 0x2
+    field public static final int PROTECTED = 4; // 0x4
+    field public static final int PUBLIC = 1; // 0x1
+    field public static final int STATIC = 8; // 0x8
+    field public static final int STRICT = 2048; // 0x800
+    field public static final int SYNCHRONIZED = 32; // 0x20
+    field public static final int TRANSIENT = 128; // 0x80
+    field public static final int VOLATILE = 64; // 0x40
+  }
+
+  public final class Parameter implements java.lang.reflect.AnnotatedElement {
+    method @Nullable public <T extends java.lang.annotation.Annotation> T getAnnotation(@NonNull Class<T>);
+    method @NonNull public java.lang.annotation.Annotation[] getAnnotations();
+    method @NonNull public java.lang.annotation.Annotation[] getDeclaredAnnotations();
+    method @NonNull public java.lang.reflect.Executable getDeclaringExecutable();
+    method public int getModifiers();
+    method @NonNull public String getName();
+    method @NonNull public java.lang.reflect.Type getParameterizedType();
+    method @NonNull public Class<?> getType();
+    method public boolean isImplicit();
+    method public boolean isNamePresent();
+    method public boolean isSynthetic();
+    method public boolean isVarArgs();
+  }
+
+  public interface ParameterizedType extends java.lang.reflect.Type {
+    method @NonNull public java.lang.reflect.Type[] getActualTypeArguments();
+    method @Nullable public java.lang.reflect.Type getOwnerType();
+    method @NonNull public java.lang.reflect.Type getRawType();
+  }
+
+  public class Proxy implements java.io.Serializable {
+    ctor protected Proxy(@NonNull java.lang.reflect.InvocationHandler);
+    method @NonNull public static java.lang.reflect.InvocationHandler getInvocationHandler(@NonNull Object) throws java.lang.IllegalArgumentException;
+    method @NonNull public static Class<?> getProxyClass(@Nullable ClassLoader, @NonNull Class<?>...) throws java.lang.IllegalArgumentException;
+    method public static boolean isProxyClass(@NonNull Class<?>);
+    method @NonNull public static Object newProxyInstance(@Nullable ClassLoader, @NonNull Class<?>[], @NonNull java.lang.reflect.InvocationHandler) throws java.lang.IllegalArgumentException;
+    field protected java.lang.reflect.InvocationHandler h;
+  }
+
+  public final class ReflectPermission extends java.security.BasicPermission {
+    ctor public ReflectPermission(String);
+    ctor public ReflectPermission(String, String);
+  }
+
+  public interface Type {
+    method @NonNull public default String getTypeName();
+  }
+
+  public interface TypeVariable<D extends java.lang.reflect.GenericDeclaration> extends java.lang.reflect.Type {
+    method @NonNull public java.lang.reflect.Type[] getBounds();
+    method @NonNull public D getGenericDeclaration();
+    method @NonNull public String getName();
+  }
+
+  public class UndeclaredThrowableException extends java.lang.RuntimeException {
+    ctor public UndeclaredThrowableException(Throwable);
+    ctor public UndeclaredThrowableException(Throwable, String);
+    method public Throwable getUndeclaredThrowable();
+  }
+
+  public interface WildcardType extends java.lang.reflect.Type {
+    method @NonNull public java.lang.reflect.Type[] getLowerBounds();
+    method @NonNull public java.lang.reflect.Type[] getUpperBounds();
+  }
+
+}
+
+package java.math {
+
+  public class BigDecimal extends java.lang.Number implements java.lang.Comparable<java.math.BigDecimal> {
+    ctor public BigDecimal(char[], int, int);
+    ctor public BigDecimal(char[], int, int, java.math.MathContext);
+    ctor public BigDecimal(char[]);
+    ctor public BigDecimal(char[], java.math.MathContext);
+    ctor public BigDecimal(String);
+    ctor public BigDecimal(String, java.math.MathContext);
+    ctor public BigDecimal(double);
+    ctor public BigDecimal(double, java.math.MathContext);
+    ctor public BigDecimal(java.math.BigInteger);
+    ctor public BigDecimal(java.math.BigInteger, java.math.MathContext);
+    ctor public BigDecimal(java.math.BigInteger, int);
+    ctor public BigDecimal(java.math.BigInteger, int, java.math.MathContext);
+    ctor public BigDecimal(int);
+    ctor public BigDecimal(int, java.math.MathContext);
+    ctor public BigDecimal(long);
+    ctor public BigDecimal(long, java.math.MathContext);
+    method public java.math.BigDecimal abs();
+    method public java.math.BigDecimal abs(java.math.MathContext);
+    method public java.math.BigDecimal add(java.math.BigDecimal);
+    method public java.math.BigDecimal add(java.math.BigDecimal, java.math.MathContext);
+    method public byte byteValueExact();
+    method public int compareTo(java.math.BigDecimal);
+    method public java.math.BigDecimal divide(java.math.BigDecimal, int, int);
+    method public java.math.BigDecimal divide(java.math.BigDecimal, int, java.math.RoundingMode);
+    method public java.math.BigDecimal divide(java.math.BigDecimal, int);
+    method public java.math.BigDecimal divide(java.math.BigDecimal, java.math.RoundingMode);
+    method public java.math.BigDecimal divide(java.math.BigDecimal);
+    method public java.math.BigDecimal divide(java.math.BigDecimal, java.math.MathContext);
+    method public java.math.BigDecimal[] divideAndRemainder(java.math.BigDecimal);
+    method public java.math.BigDecimal[] divideAndRemainder(java.math.BigDecimal, java.math.MathContext);
+    method public java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal);
+    method public java.math.BigDecimal divideToIntegralValue(java.math.BigDecimal, java.math.MathContext);
+    method public double doubleValue();
+    method public float floatValue();
+    method public int intValue();
+    method public int intValueExact();
+    method public long longValue();
+    method public long longValueExact();
+    method public java.math.BigDecimal max(java.math.BigDecimal);
+    method public java.math.BigDecimal min(java.math.BigDecimal);
+    method public java.math.BigDecimal movePointLeft(int);
+    method public java.math.BigDecimal movePointRight(int);
+    method public java.math.BigDecimal multiply(java.math.BigDecimal);
+    method public java.math.BigDecimal multiply(java.math.BigDecimal, java.math.MathContext);
+    method public java.math.BigDecimal negate();
+    method public java.math.BigDecimal negate(java.math.MathContext);
+    method public java.math.BigDecimal plus();
+    method public java.math.BigDecimal plus(java.math.MathContext);
+    method public java.math.BigDecimal pow(int);
+    method public java.math.BigDecimal pow(int, java.math.MathContext);
+    method public int precision();
+    method public java.math.BigDecimal remainder(java.math.BigDecimal);
+    method public java.math.BigDecimal remainder(java.math.BigDecimal, java.math.MathContext);
+    method public java.math.BigDecimal round(java.math.MathContext);
+    method public int scale();
+    method public java.math.BigDecimal scaleByPowerOfTen(int);
+    method public java.math.BigDecimal setScale(int, java.math.RoundingMode);
+    method public java.math.BigDecimal setScale(int, int);
+    method public java.math.BigDecimal setScale(int);
+    method public short shortValueExact();
+    method public int signum();
+    method public java.math.BigDecimal stripTrailingZeros();
+    method public java.math.BigDecimal subtract(java.math.BigDecimal);
+    method public java.math.BigDecimal subtract(java.math.BigDecimal, java.math.MathContext);
+    method public java.math.BigInteger toBigInteger();
+    method public java.math.BigInteger toBigIntegerExact();
+    method public String toEngineeringString();
+    method public String toPlainString();
+    method public java.math.BigDecimal ulp();
+    method public java.math.BigInteger unscaledValue();
+    method public static java.math.BigDecimal valueOf(long, int);
+    method public static java.math.BigDecimal valueOf(long);
+    method public static java.math.BigDecimal valueOf(double);
+    field public static final java.math.BigDecimal ONE;
+    field public static final int ROUND_CEILING = 2; // 0x2
+    field public static final int ROUND_DOWN = 1; // 0x1
+    field public static final int ROUND_FLOOR = 3; // 0x3
+    field public static final int ROUND_HALF_DOWN = 5; // 0x5
+    field public static final int ROUND_HALF_EVEN = 6; // 0x6
+    field public static final int ROUND_HALF_UP = 4; // 0x4
+    field public static final int ROUND_UNNECESSARY = 7; // 0x7
+    field public static final int ROUND_UP = 0; // 0x0
+    field public static final java.math.BigDecimal TEN;
+    field public static final java.math.BigDecimal ZERO;
+  }
+
+  public class BigInteger extends java.lang.Number implements java.lang.Comparable<java.math.BigInteger> {
+    ctor public BigInteger(byte[]);
+    ctor public BigInteger(int, byte[]);
+    ctor public BigInteger(@NonNull String, int);
+    ctor public BigInteger(@NonNull String);
+    ctor public BigInteger(int, @NonNull java.util.Random);
+    ctor public BigInteger(int, int, @NonNull java.util.Random);
+    method @NonNull public java.math.BigInteger abs();
+    method @NonNull public java.math.BigInteger add(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger and(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger andNot(@NonNull java.math.BigInteger);
+    method public int bitCount();
+    method public int bitLength();
+    method public byte byteValueExact();
+    method @NonNull public java.math.BigInteger clearBit(int);
+    method public int compareTo(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger divide(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger[] divideAndRemainder(@NonNull java.math.BigInteger);
+    method public double doubleValue();
+    method @NonNull public java.math.BigInteger flipBit(int);
+    method public float floatValue();
+    method @NonNull public java.math.BigInteger gcd(@NonNull java.math.BigInteger);
+    method public int getLowestSetBit();
+    method public int intValue();
+    method public int intValueExact();
+    method public boolean isProbablePrime(int);
+    method public long longValue();
+    method public long longValueExact();
+    method @NonNull public java.math.BigInteger max(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger min(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger mod(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger modInverse(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger modPow(@NonNull java.math.BigInteger, @NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger multiply(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger negate();
+    method @NonNull public java.math.BigInteger nextProbablePrime();
+    method @NonNull public java.math.BigInteger not();
+    method @NonNull public java.math.BigInteger or(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger pow(int);
+    method @NonNull public static java.math.BigInteger probablePrime(int, @NonNull java.util.Random);
+    method @NonNull public java.math.BigInteger remainder(@NonNull java.math.BigInteger);
+    method @NonNull public java.math.BigInteger setBit(int);
+    method @NonNull public java.math.BigInteger shiftLeft(int);
+    method @NonNull public java.math.BigInteger shiftRight(int);
+    method public short shortValueExact();
+    method public int signum();
+    method @NonNull public java.math.BigInteger subtract(@NonNull java.math.BigInteger);
+    method public boolean testBit(int);
+    method public byte[] toByteArray();
+    method @NonNull public String toString(int);
+    method @NonNull public static java.math.BigInteger valueOf(long);
+    method @NonNull public java.math.BigInteger xor(@NonNull java.math.BigInteger);
+    field @NonNull public static final java.math.BigInteger ONE;
+    field @NonNull public static final java.math.BigInteger TEN;
+    field @NonNull public static final java.math.BigInteger ZERO;
+  }
+
+  public final class MathContext implements java.io.Serializable {
+    ctor public MathContext(int);
+    ctor public MathContext(int, java.math.RoundingMode);
+    ctor public MathContext(String);
+    method public int getPrecision();
+    method public java.math.RoundingMode getRoundingMode();
+    field public static final java.math.MathContext DECIMAL128;
+    field public static final java.math.MathContext DECIMAL32;
+    field public static final java.math.MathContext DECIMAL64;
+    field public static final java.math.MathContext UNLIMITED;
+  }
+
+  public enum RoundingMode {
+    method public static java.math.RoundingMode valueOf(int);
+    enum_constant public static final java.math.RoundingMode CEILING;
+    enum_constant public static final java.math.RoundingMode DOWN;
+    enum_constant public static final java.math.RoundingMode FLOOR;
+    enum_constant public static final java.math.RoundingMode HALF_DOWN;
+    enum_constant public static final java.math.RoundingMode HALF_EVEN;
+    enum_constant public static final java.math.RoundingMode HALF_UP;
+    enum_constant public static final java.math.RoundingMode UNNECESSARY;
+    enum_constant public static final java.math.RoundingMode UP;
+  }
+
+}
+
+package java.net {
+
+  public abstract class Authenticator {
+    ctor public Authenticator();
+    method protected java.net.PasswordAuthentication getPasswordAuthentication();
+    method protected final String getRequestingHost();
+    method protected final int getRequestingPort();
+    method protected final String getRequestingPrompt();
+    method protected final String getRequestingProtocol();
+    method protected final String getRequestingScheme();
+    method protected final java.net.InetAddress getRequestingSite();
+    method protected java.net.URL getRequestingURL();
+    method protected java.net.Authenticator.RequestorType getRequestorType();
+    method public static java.net.PasswordAuthentication requestPasswordAuthentication(java.net.InetAddress, int, String, String, String);
+    method public static java.net.PasswordAuthentication requestPasswordAuthentication(String, java.net.InetAddress, int, String, String, String);
+    method public static java.net.PasswordAuthentication requestPasswordAuthentication(String, java.net.InetAddress, int, String, String, String, java.net.URL, java.net.Authenticator.RequestorType);
+    method public static void setDefault(java.net.Authenticator);
+  }
+
+  public enum Authenticator.RequestorType {
+    enum_constant public static final java.net.Authenticator.RequestorType PROXY;
+    enum_constant public static final java.net.Authenticator.RequestorType SERVER;
+  }
+
+  public class BindException extends java.net.SocketException {
+    ctor public BindException(String);
+    ctor public BindException();
+  }
+
+  public abstract class CacheRequest {
+    ctor public CacheRequest();
+    method public abstract void abort();
+    method public abstract java.io.OutputStream getBody() throws java.io.IOException;
+  }
+
+  public abstract class CacheResponse {
+    ctor public CacheResponse();
+    method public abstract java.io.InputStream getBody() throws java.io.IOException;
+    method public abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaders() throws java.io.IOException;
+  }
+
+  public class ConnectException extends java.net.SocketException {
+    ctor public ConnectException(String);
+    ctor public ConnectException();
+  }
+
+  public abstract class ContentHandler {
+    ctor public ContentHandler();
+    method public abstract Object getContent(java.net.URLConnection) throws java.io.IOException;
+    method public Object getContent(java.net.URLConnection, Class[]) throws java.io.IOException;
+  }
+
+  public interface ContentHandlerFactory {
+    method public java.net.ContentHandler createContentHandler(String);
+  }
+
+  public abstract class CookieHandler {
+    ctor public CookieHandler();
+    method public abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> get(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public static java.net.CookieHandler getDefault();
+    method public abstract void put(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public static void setDefault(java.net.CookieHandler);
+  }
+
+  public class CookieManager extends java.net.CookieHandler {
+    ctor public CookieManager();
+    ctor public CookieManager(java.net.CookieStore, java.net.CookiePolicy);
+    method public java.util.Map<java.lang.String,java.util.List<java.lang.String>> get(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public java.net.CookieStore getCookieStore();
+    method public void put(java.net.URI, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public void setCookiePolicy(java.net.CookiePolicy);
+  }
+
+  public interface CookiePolicy {
+    method public boolean shouldAccept(java.net.URI, java.net.HttpCookie);
+    field public static final java.net.CookiePolicy ACCEPT_ALL;
+    field public static final java.net.CookiePolicy ACCEPT_NONE;
+    field public static final java.net.CookiePolicy ACCEPT_ORIGINAL_SERVER;
+  }
+
+  public interface CookieStore {
+    method public void add(java.net.URI, java.net.HttpCookie);
+    method public java.util.List<java.net.HttpCookie> get(java.net.URI);
+    method public java.util.List<java.net.HttpCookie> getCookies();
+    method public java.util.List<java.net.URI> getURIs();
+    method public boolean remove(java.net.URI, java.net.HttpCookie);
+    method public boolean removeAll();
+  }
+
+  public final class DatagramPacket {
+    ctor public DatagramPacket(byte[], int, int);
+    ctor public DatagramPacket(byte[], int);
+    ctor public DatagramPacket(byte[], int, int, java.net.InetAddress, int);
+    ctor public DatagramPacket(byte[], int, int, java.net.SocketAddress);
+    ctor public DatagramPacket(byte[], int, java.net.InetAddress, int);
+    ctor public DatagramPacket(byte[], int, java.net.SocketAddress);
+    method public java.net.InetAddress getAddress();
+    method public byte[] getData();
+    method public int getLength();
+    method public int getOffset();
+    method public int getPort();
+    method public java.net.SocketAddress getSocketAddress();
+    method public void setAddress(java.net.InetAddress);
+    method public void setData(byte[], int, int);
+    method public void setData(byte[]);
+    method public void setLength(int);
+    method public void setPort(int);
+    method public void setSocketAddress(java.net.SocketAddress);
+  }
+
+  public class DatagramSocket implements java.io.Closeable {
+    ctor public DatagramSocket() throws java.net.SocketException;
+    ctor protected DatagramSocket(java.net.DatagramSocketImpl);
+    ctor public DatagramSocket(java.net.SocketAddress) throws java.net.SocketException;
+    ctor public DatagramSocket(int) throws java.net.SocketException;
+    ctor public DatagramSocket(int, java.net.InetAddress) throws java.net.SocketException;
+    method public void bind(java.net.SocketAddress) throws java.net.SocketException;
+    method public void close();
+    method public void connect(java.net.InetAddress, int);
+    method public void connect(java.net.SocketAddress) throws java.net.SocketException;
+    method public void disconnect();
+    method public boolean getBroadcast() throws java.net.SocketException;
+    method public java.nio.channels.DatagramChannel getChannel();
+    method public java.net.InetAddress getInetAddress();
+    method public java.net.InetAddress getLocalAddress();
+    method public int getLocalPort();
+    method public java.net.SocketAddress getLocalSocketAddress();
+    method public int getPort();
+    method public int getReceiveBufferSize() throws java.net.SocketException;
+    method public java.net.SocketAddress getRemoteSocketAddress();
+    method public boolean getReuseAddress() throws java.net.SocketException;
+    method public int getSendBufferSize() throws java.net.SocketException;
+    method public int getSoTimeout() throws java.net.SocketException;
+    method public int getTrafficClass() throws java.net.SocketException;
+    method public boolean isBound();
+    method public boolean isClosed();
+    method public boolean isConnected();
+    method public void receive(java.net.DatagramPacket) throws java.io.IOException;
+    method public void send(java.net.DatagramPacket) throws java.io.IOException;
+    method public void setBroadcast(boolean) throws java.net.SocketException;
+    method public static void setDatagramSocketImplFactory(java.net.DatagramSocketImplFactory) throws java.io.IOException;
+    method public void setReceiveBufferSize(int) throws java.net.SocketException;
+    method public void setReuseAddress(boolean) throws java.net.SocketException;
+    method public void setSendBufferSize(int) throws java.net.SocketException;
+    method public void setSoTimeout(int) throws java.net.SocketException;
+    method public void setTrafficClass(int) throws java.net.SocketException;
+  }
+
+  public abstract class DatagramSocketImpl implements java.net.SocketOptions {
+    ctor public DatagramSocketImpl();
+    method protected abstract void bind(int, java.net.InetAddress) throws java.net.SocketException;
+    method protected abstract void close();
+    method protected void connect(java.net.InetAddress, int) throws java.net.SocketException;
+    method protected abstract void create() throws java.net.SocketException;
+    method protected void disconnect();
+    method protected java.io.FileDescriptor getFileDescriptor();
+    method protected int getLocalPort();
+    method @Deprecated protected abstract byte getTTL() throws java.io.IOException;
+    method protected abstract int getTimeToLive() throws java.io.IOException;
+    method protected abstract void join(java.net.InetAddress) throws java.io.IOException;
+    method protected abstract void joinGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+    method protected abstract void leave(java.net.InetAddress) throws java.io.IOException;
+    method protected abstract void leaveGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+    method protected abstract int peek(java.net.InetAddress) throws java.io.IOException;
+    method protected abstract int peekData(java.net.DatagramPacket) throws java.io.IOException;
+    method protected abstract void receive(java.net.DatagramPacket) throws java.io.IOException;
+    method protected abstract void send(java.net.DatagramPacket) throws java.io.IOException;
+    method @Deprecated protected abstract void setTTL(byte) throws java.io.IOException;
+    method protected abstract void setTimeToLive(int) throws java.io.IOException;
+    field protected java.io.FileDescriptor fd;
+    field protected int localPort;
+  }
+
+  public interface DatagramSocketImplFactory {
+    method public java.net.DatagramSocketImpl createDatagramSocketImpl();
+  }
+
+  public interface FileNameMap {
+    method public String getContentTypeFor(String);
+  }
+
+  public final class HttpCookie implements java.lang.Cloneable {
+    ctor public HttpCookie(String, String);
+    method public Object clone();
+    method public static boolean domainMatches(String, String);
+    method public String getComment();
+    method public String getCommentURL();
+    method public boolean getDiscard();
+    method public String getDomain();
+    method public long getMaxAge();
+    method public String getName();
+    method public String getPath();
+    method public String getPortlist();
+    method public boolean getSecure();
+    method public String getValue();
+    method public int getVersion();
+    method public boolean hasExpired();
+    method public boolean isHttpOnly();
+    method public static java.util.List<java.net.HttpCookie> parse(String);
+    method public void setComment(String);
+    method public void setCommentURL(String);
+    method public void setDiscard(boolean);
+    method public void setDomain(String);
+    method public void setHttpOnly(boolean);
+    method public void setMaxAge(long);
+    method public void setPath(String);
+    method public void setPortlist(String);
+    method public void setSecure(boolean);
+    method public void setValue(String);
+    method public void setVersion(int);
+  }
+
+  public class HttpRetryException extends java.io.IOException {
+    ctor public HttpRetryException(String, int);
+    ctor public HttpRetryException(String, int, String);
+    method public String getLocation();
+    method public String getReason();
+    method public int responseCode();
+  }
+
+  public abstract class HttpURLConnection extends java.net.URLConnection {
+    ctor protected HttpURLConnection(java.net.URL);
+    method public abstract void disconnect();
+    method public java.io.InputStream getErrorStream();
+    method public static boolean getFollowRedirects();
+    method public boolean getInstanceFollowRedirects();
+    method public String getRequestMethod();
+    method public int getResponseCode() throws java.io.IOException;
+    method public String getResponseMessage() throws java.io.IOException;
+    method public void setChunkedStreamingMode(int);
+    method public void setFixedLengthStreamingMode(int);
+    method public void setFixedLengthStreamingMode(long);
+    method public static void setFollowRedirects(boolean);
+    method public void setInstanceFollowRedirects(boolean);
+    method public void setRequestMethod(String) throws java.net.ProtocolException;
+    method public abstract boolean usingProxy();
+    field public static final int HTTP_ACCEPTED = 202; // 0xca
+    field public static final int HTTP_BAD_GATEWAY = 502; // 0x1f6
+    field public static final int HTTP_BAD_METHOD = 405; // 0x195
+    field public static final int HTTP_BAD_REQUEST = 400; // 0x190
+    field public static final int HTTP_CLIENT_TIMEOUT = 408; // 0x198
+    field public static final int HTTP_CONFLICT = 409; // 0x199
+    field public static final int HTTP_CREATED = 201; // 0xc9
+    field public static final int HTTP_ENTITY_TOO_LARGE = 413; // 0x19d
+    field public static final int HTTP_FORBIDDEN = 403; // 0x193
+    field public static final int HTTP_GATEWAY_TIMEOUT = 504; // 0x1f8
+    field public static final int HTTP_GONE = 410; // 0x19a
+    field public static final int HTTP_INTERNAL_ERROR = 500; // 0x1f4
+    field public static final int HTTP_LENGTH_REQUIRED = 411; // 0x19b
+    field public static final int HTTP_MOVED_PERM = 301; // 0x12d
+    field public static final int HTTP_MOVED_TEMP = 302; // 0x12e
+    field public static final int HTTP_MULT_CHOICE = 300; // 0x12c
+    field public static final int HTTP_NOT_ACCEPTABLE = 406; // 0x196
+    field public static final int HTTP_NOT_AUTHORITATIVE = 203; // 0xcb
+    field public static final int HTTP_NOT_FOUND = 404; // 0x194
+    field public static final int HTTP_NOT_IMPLEMENTED = 501; // 0x1f5
+    field public static final int HTTP_NOT_MODIFIED = 304; // 0x130
+    field public static final int HTTP_NO_CONTENT = 204; // 0xcc
+    field public static final int HTTP_OK = 200; // 0xc8
+    field public static final int HTTP_PARTIAL = 206; // 0xce
+    field public static final int HTTP_PAYMENT_REQUIRED = 402; // 0x192
+    field public static final int HTTP_PRECON_FAILED = 412; // 0x19c
+    field public static final int HTTP_PROXY_AUTH = 407; // 0x197
+    field public static final int HTTP_REQ_TOO_LONG = 414; // 0x19e
+    field public static final int HTTP_RESET = 205; // 0xcd
+    field public static final int HTTP_SEE_OTHER = 303; // 0x12f
+    field @Deprecated public static final int HTTP_SERVER_ERROR = 500; // 0x1f4
+    field public static final int HTTP_UNAUTHORIZED = 401; // 0x191
+    field public static final int HTTP_UNAVAILABLE = 503; // 0x1f7
+    field public static final int HTTP_UNSUPPORTED_TYPE = 415; // 0x19f
+    field public static final int HTTP_USE_PROXY = 305; // 0x131
+    field public static final int HTTP_VERSION = 505; // 0x1f9
+    field protected int chunkLength;
+    field protected int fixedContentLength;
+    field protected long fixedContentLengthLong;
+    field protected boolean instanceFollowRedirects;
+    field protected String method;
+    field protected int responseCode;
+    field protected String responseMessage;
+  }
+
+  public final class IDN {
+    method public static String toASCII(String, int);
+    method public static String toASCII(String);
+    method public static String toUnicode(String, int);
+    method public static String toUnicode(String);
+    field public static final int ALLOW_UNASSIGNED = 1; // 0x1
+    field public static final int USE_STD3_ASCII_RULES = 2; // 0x2
+  }
+
+  public final class Inet4Address extends java.net.InetAddress {
+  }
+
+  public final class Inet6Address extends java.net.InetAddress {
+    method public static java.net.Inet6Address getByAddress(String, byte[], java.net.NetworkInterface) throws java.net.UnknownHostException;
+    method public static java.net.Inet6Address getByAddress(String, byte[], int) throws java.net.UnknownHostException;
+    method public int getScopeId();
+    method public java.net.NetworkInterface getScopedInterface();
+    method public boolean isIPv4CompatibleAddress();
+  }
+
+  public class InetAddress implements java.io.Serializable {
+    method public byte[] getAddress();
+    method public static java.net.InetAddress[] getAllByName(@Nullable String) throws java.net.UnknownHostException;
+    method @NonNull public static java.net.InetAddress getByAddress(@Nullable String, byte[]) throws java.net.UnknownHostException;
+    method @NonNull public static java.net.InetAddress getByAddress(byte[]) throws java.net.UnknownHostException;
+    method @NonNull public static java.net.InetAddress getByName(@Nullable String) throws java.net.UnknownHostException;
+    method @NonNull public String getCanonicalHostName();
+    method @Nullable public String getHostAddress();
+    method @NonNull public String getHostName();
+    method @NonNull public static java.net.InetAddress getLocalHost() throws java.net.UnknownHostException;
+    method @NonNull public static java.net.InetAddress getLoopbackAddress();
+    method public boolean isAnyLocalAddress();
+    method public boolean isLinkLocalAddress();
+    method public boolean isLoopbackAddress();
+    method public boolean isMCGlobal();
+    method public boolean isMCLinkLocal();
+    method public boolean isMCNodeLocal();
+    method public boolean isMCOrgLocal();
+    method public boolean isMCSiteLocal();
+    method public boolean isMulticastAddress();
+    method public boolean isReachable(int) throws java.io.IOException;
+    method public boolean isReachable(@Nullable java.net.NetworkInterface, int, int) throws java.io.IOException;
+    method public boolean isSiteLocalAddress();
+  }
+
+  public class InetSocketAddress extends java.net.SocketAddress {
+    ctor public InetSocketAddress(int);
+    ctor public InetSocketAddress(java.net.InetAddress, int);
+    ctor public InetSocketAddress(String, int);
+    method public static java.net.InetSocketAddress createUnresolved(String, int);
+    method public final boolean equals(Object);
+    method public final java.net.InetAddress getAddress();
+    method public final String getHostName();
+    method public final String getHostString();
+    method public final int getPort();
+    method public final int hashCode();
+    method public final boolean isUnresolved();
+  }
+
+  public class InterfaceAddress {
+    method public java.net.InetAddress getAddress();
+    method public java.net.InetAddress getBroadcast();
+    method public short getNetworkPrefixLength();
+  }
+
+  public abstract class JarURLConnection extends java.net.URLConnection {
+    ctor protected JarURLConnection(java.net.URL) throws java.net.MalformedURLException;
+    method public java.util.jar.Attributes getAttributes() throws java.io.IOException;
+    method public java.security.cert.Certificate[] getCertificates() throws java.io.IOException;
+    method public String getEntryName();
+    method public java.util.jar.JarEntry getJarEntry() throws java.io.IOException;
+    method public abstract java.util.jar.JarFile getJarFile() throws java.io.IOException;
+    method public java.net.URL getJarFileURL();
+    method public java.util.jar.Attributes getMainAttributes() throws java.io.IOException;
+    method public java.util.jar.Manifest getManifest() throws java.io.IOException;
+    field protected java.net.URLConnection jarFileURLConnection;
+  }
+
+  public class MalformedURLException extends java.io.IOException {
+    ctor public MalformedURLException();
+    ctor public MalformedURLException(String);
+  }
+
+  public class MulticastSocket extends java.net.DatagramSocket {
+    ctor public MulticastSocket() throws java.io.IOException;
+    ctor public MulticastSocket(int) throws java.io.IOException;
+    ctor public MulticastSocket(java.net.SocketAddress) throws java.io.IOException;
+    method public java.net.InetAddress getInterface() throws java.net.SocketException;
+    method public boolean getLoopbackMode() throws java.net.SocketException;
+    method public java.net.NetworkInterface getNetworkInterface() throws java.net.SocketException;
+    method @Deprecated public byte getTTL() throws java.io.IOException;
+    method public int getTimeToLive() throws java.io.IOException;
+    method public void joinGroup(java.net.InetAddress) throws java.io.IOException;
+    method public void joinGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+    method public void leaveGroup(java.net.InetAddress) throws java.io.IOException;
+    method public void leaveGroup(java.net.SocketAddress, java.net.NetworkInterface) throws java.io.IOException;
+    method @Deprecated public void send(java.net.DatagramPacket, byte) throws java.io.IOException;
+    method public void setInterface(java.net.InetAddress) throws java.net.SocketException;
+    method public void setLoopbackMode(boolean) throws java.net.SocketException;
+    method public void setNetworkInterface(java.net.NetworkInterface) throws java.net.SocketException;
+    method @Deprecated public void setTTL(byte) throws java.io.IOException;
+    method public void setTimeToLive(int) throws java.io.IOException;
+  }
+
+  public final class NetPermission extends java.security.BasicPermission {
+    ctor public NetPermission(String);
+    ctor public NetPermission(String, String);
+  }
+
+  public final class NetworkInterface {
+    method public static java.net.NetworkInterface getByIndex(int) throws java.net.SocketException;
+    method public static java.net.NetworkInterface getByInetAddress(java.net.InetAddress) throws java.net.SocketException;
+    method public static java.net.NetworkInterface getByName(String) throws java.net.SocketException;
+    method public String getDisplayName();
+    method public byte[] getHardwareAddress() throws java.net.SocketException;
+    method public int getIndex();
+    method public java.util.Enumeration<java.net.InetAddress> getInetAddresses();
+    method public java.util.List<java.net.InterfaceAddress> getInterfaceAddresses();
+    method public int getMTU() throws java.net.SocketException;
+    method public String getName();
+    method public static java.util.Enumeration<java.net.NetworkInterface> getNetworkInterfaces() throws java.net.SocketException;
+    method public java.net.NetworkInterface getParent();
+    method public java.util.Enumeration<java.net.NetworkInterface> getSubInterfaces();
+    method public boolean isLoopback() throws java.net.SocketException;
+    method public boolean isPointToPoint() throws java.net.SocketException;
+    method public boolean isUp() throws java.net.SocketException;
+    method public boolean isVirtual();
+    method public boolean supportsMulticast() throws java.net.SocketException;
+  }
+
+  public class NoRouteToHostException extends java.net.SocketException {
+    ctor public NoRouteToHostException(String);
+    ctor public NoRouteToHostException();
+  }
+
+  public final class PasswordAuthentication {
+    ctor public PasswordAuthentication(String, char[]);
+    method public char[] getPassword();
+    method public String getUserName();
+  }
+
+  public class PortUnreachableException extends java.net.SocketException {
+    ctor public PortUnreachableException(String);
+    ctor public PortUnreachableException();
+  }
+
+  public class ProtocolException extends java.io.IOException {
+    ctor public ProtocolException(String);
+    ctor public ProtocolException();
+  }
+
+  public interface ProtocolFamily {
+    method public String name();
+  }
+
+  public class Proxy {
+    ctor public Proxy(java.net.Proxy.Type, java.net.SocketAddress);
+    method public java.net.SocketAddress address();
+    method public final boolean equals(Object);
+    method public final int hashCode();
+    method public java.net.Proxy.Type type();
+    field public static final java.net.Proxy NO_PROXY;
+  }
+
+  public enum Proxy.Type {
+    enum_constant public static final java.net.Proxy.Type DIRECT;
+    enum_constant public static final java.net.Proxy.Type HTTP;
+    enum_constant public static final java.net.Proxy.Type SOCKS;
+  }
+
+  public abstract class ProxySelector {
+    ctor public ProxySelector();
+    method public abstract void connectFailed(java.net.URI, java.net.SocketAddress, java.io.IOException);
+    method public static java.net.ProxySelector getDefault();
+    method public abstract java.util.List<java.net.Proxy> select(java.net.URI);
+    method public static void setDefault(java.net.ProxySelector);
+  }
+
+  public abstract class ResponseCache {
+    ctor public ResponseCache();
+    method public abstract java.net.CacheResponse get(java.net.URI, String, java.util.Map<java.lang.String,java.util.List<java.lang.String>>) throws java.io.IOException;
+    method public static java.net.ResponseCache getDefault();
+    method public abstract java.net.CacheRequest put(java.net.URI, java.net.URLConnection) throws java.io.IOException;
+    method public static void setDefault(java.net.ResponseCache);
+  }
+
+  public abstract class SecureCacheResponse extends java.net.CacheResponse {
+    ctor public SecureCacheResponse();
+    method public abstract String getCipherSuite();
+    method public abstract java.util.List<java.security.cert.Certificate> getLocalCertificateChain();
+    method public abstract java.security.Principal getLocalPrincipal();
+    method public abstract java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public abstract java.util.List<java.security.cert.Certificate> getServerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException;
+  }
+
+  public class ServerSocket implements java.io.Closeable {
+    ctor public ServerSocket() throws java.io.IOException;
+    ctor public ServerSocket(int) throws java.io.IOException;
+    ctor public ServerSocket(int, int) throws java.io.IOException;
+    ctor public ServerSocket(int, int, java.net.InetAddress) throws java.io.IOException;
+    method public java.net.Socket accept() throws java.io.IOException;
+    method public void bind(java.net.SocketAddress) throws java.io.IOException;
+    method public void bind(java.net.SocketAddress, int) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public java.nio.channels.ServerSocketChannel getChannel();
+    method public java.net.InetAddress getInetAddress();
+    method public int getLocalPort();
+    method public java.net.SocketAddress getLocalSocketAddress();
+    method public int getReceiveBufferSize() throws java.net.SocketException;
+    method public boolean getReuseAddress() throws java.net.SocketException;
+    method public int getSoTimeout() throws java.io.IOException;
+    method protected final void implAccept(java.net.Socket) throws java.io.IOException;
+    method public boolean isBound();
+    method public boolean isClosed();
+    method public void setPerformancePreferences(int, int, int);
+    method public void setReceiveBufferSize(int) throws java.net.SocketException;
+    method public void setReuseAddress(boolean) throws java.net.SocketException;
+    method public void setSoTimeout(int) throws java.net.SocketException;
+    method public static void setSocketFactory(java.net.SocketImplFactory) throws java.io.IOException;
+  }
+
+  public class Socket implements java.io.Closeable {
+    ctor public Socket();
+    ctor public Socket(java.net.Proxy);
+    ctor protected Socket(java.net.SocketImpl) throws java.net.SocketException;
+    ctor public Socket(String, int) throws java.io.IOException, java.net.UnknownHostException;
+    ctor public Socket(java.net.InetAddress, int) throws java.io.IOException;
+    ctor public Socket(String, int, java.net.InetAddress, int) throws java.io.IOException;
+    ctor public Socket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+    ctor @Deprecated public Socket(String, int, boolean) throws java.io.IOException;
+    ctor @Deprecated public Socket(java.net.InetAddress, int, boolean) throws java.io.IOException;
+    method public void bind(java.net.SocketAddress) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public void connect(java.net.SocketAddress) throws java.io.IOException;
+    method public void connect(java.net.SocketAddress, int) throws java.io.IOException;
+    method public java.nio.channels.SocketChannel getChannel();
+    method public java.net.InetAddress getInetAddress();
+    method public java.io.InputStream getInputStream() throws java.io.IOException;
+    method public boolean getKeepAlive() throws java.net.SocketException;
+    method public java.net.InetAddress getLocalAddress();
+    method public int getLocalPort();
+    method public java.net.SocketAddress getLocalSocketAddress();
+    method public boolean getOOBInline() throws java.net.SocketException;
+    method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+    method public int getPort();
+    method public int getReceiveBufferSize() throws java.net.SocketException;
+    method public java.net.SocketAddress getRemoteSocketAddress();
+    method public boolean getReuseAddress() throws java.net.SocketException;
+    method public int getSendBufferSize() throws java.net.SocketException;
+    method public int getSoLinger() throws java.net.SocketException;
+    method public int getSoTimeout() throws java.net.SocketException;
+    method public boolean getTcpNoDelay() throws java.net.SocketException;
+    method public int getTrafficClass() throws java.net.SocketException;
+    method public boolean isBound();
+    method public boolean isClosed();
+    method public boolean isConnected();
+    method public boolean isInputShutdown();
+    method public boolean isOutputShutdown();
+    method public void sendUrgentData(int) throws java.io.IOException;
+    method public void setKeepAlive(boolean) throws java.net.SocketException;
+    method public void setOOBInline(boolean) throws java.net.SocketException;
+    method public void setPerformancePreferences(int, int, int);
+    method public void setReceiveBufferSize(int) throws java.net.SocketException;
+    method public void setReuseAddress(boolean) throws java.net.SocketException;
+    method public void setSendBufferSize(int) throws java.net.SocketException;
+    method public void setSoLinger(boolean, int) throws java.net.SocketException;
+    method public void setSoTimeout(int) throws java.net.SocketException;
+    method public static void setSocketImplFactory(java.net.SocketImplFactory) throws java.io.IOException;
+    method public void setTcpNoDelay(boolean) throws java.net.SocketException;
+    method public void setTrafficClass(int) throws java.net.SocketException;
+    method public void shutdownInput() throws java.io.IOException;
+    method public void shutdownOutput() throws java.io.IOException;
+  }
+
+  public abstract class SocketAddress implements java.io.Serializable {
+    ctor public SocketAddress();
+  }
+
+  public class SocketException extends java.io.IOException {
+    ctor public SocketException(String);
+    ctor public SocketException();
+  }
+
+  public abstract class SocketImpl implements java.net.SocketOptions {
+    ctor public SocketImpl();
+    method protected abstract void accept(java.net.SocketImpl) throws java.io.IOException;
+    method protected abstract int available() throws java.io.IOException;
+    method protected abstract void bind(java.net.InetAddress, int) throws java.io.IOException;
+    method protected abstract void close() throws java.io.IOException;
+    method protected abstract void connect(String, int) throws java.io.IOException;
+    method protected abstract void connect(java.net.InetAddress, int) throws java.io.IOException;
+    method protected abstract void connect(java.net.SocketAddress, int) throws java.io.IOException;
+    method protected abstract void create(boolean) throws java.io.IOException;
+    method protected java.io.FileDescriptor getFileDescriptor();
+    method protected java.net.InetAddress getInetAddress();
+    method protected abstract java.io.InputStream getInputStream() throws java.io.IOException;
+    method protected int getLocalPort();
+    method protected abstract java.io.OutputStream getOutputStream() throws java.io.IOException;
+    method protected int getPort();
+    method protected abstract void listen(int) throws java.io.IOException;
+    method protected abstract void sendUrgentData(int) throws java.io.IOException;
+    method protected void setPerformancePreferences(int, int, int);
+    method protected void shutdownInput() throws java.io.IOException;
+    method protected void shutdownOutput() throws java.io.IOException;
+    method protected boolean supportsUrgentData();
+    field protected java.net.InetAddress address;
+    field protected java.io.FileDescriptor fd;
+    field protected int localport;
+    field protected int port;
+  }
+
+  public interface SocketImplFactory {
+    method public java.net.SocketImpl createSocketImpl();
+  }
+
+  public interface SocketOption<T> {
+    method public String name();
+    method public Class<T> type();
+  }
+
+  public interface SocketOptions {
+    method public Object getOption(int) throws java.net.SocketException;
+    method public void setOption(int, Object) throws java.net.SocketException;
+    field public static final int IP_MULTICAST_IF = 16; // 0x10
+    field public static final int IP_MULTICAST_IF2 = 31; // 0x1f
+    field public static final int IP_MULTICAST_LOOP = 18; // 0x12
+    field public static final int IP_TOS = 3; // 0x3
+    field public static final int SO_BINDADDR = 15; // 0xf
+    field public static final int SO_BROADCAST = 32; // 0x20
+    field public static final int SO_KEEPALIVE = 8; // 0x8
+    field public static final int SO_LINGER = 128; // 0x80
+    field public static final int SO_OOBINLINE = 4099; // 0x1003
+    field public static final int SO_RCVBUF = 4098; // 0x1002
+    field public static final int SO_REUSEADDR = 4; // 0x4
+    field public static final int SO_SNDBUF = 4097; // 0x1001
+    field public static final int SO_TIMEOUT = 4102; // 0x1006
+    field public static final int TCP_NODELAY = 1; // 0x1
+  }
+
+  public final class SocketPermission extends java.security.Permission implements java.io.Serializable {
+    ctor public SocketPermission(String, String);
+    method public String getActions();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public class SocketTimeoutException extends java.io.InterruptedIOException {
+    ctor public SocketTimeoutException(String);
+    ctor public SocketTimeoutException();
+  }
+
+  public enum StandardProtocolFamily implements java.net.ProtocolFamily {
+    enum_constant public static final java.net.StandardProtocolFamily INET;
+    enum_constant public static final java.net.StandardProtocolFamily INET6;
+  }
+
+  public final class StandardSocketOptions {
+    field public static final java.net.SocketOption<java.net.NetworkInterface> IP_MULTICAST_IF;
+    field public static final java.net.SocketOption<java.lang.Boolean> IP_MULTICAST_LOOP;
+    field public static final java.net.SocketOption<java.lang.Integer> IP_MULTICAST_TTL;
+    field public static final java.net.SocketOption<java.lang.Integer> IP_TOS;
+    field public static final java.net.SocketOption<java.lang.Boolean> SO_BROADCAST;
+    field public static final java.net.SocketOption<java.lang.Boolean> SO_KEEPALIVE;
+    field public static final java.net.SocketOption<java.lang.Integer> SO_LINGER;
+    field public static final java.net.SocketOption<java.lang.Integer> SO_RCVBUF;
+    field public static final java.net.SocketOption<java.lang.Boolean> SO_REUSEADDR;
+    field public static final java.net.SocketOption<java.lang.Integer> SO_SNDBUF;
+    field public static final java.net.SocketOption<java.lang.Boolean> TCP_NODELAY;
+  }
+
+  public final class URI implements java.lang.Comparable<java.net.URI> java.io.Serializable {
+    ctor public URI(String) throws java.net.URISyntaxException;
+    ctor public URI(String, String, String, int, String, String, String) throws java.net.URISyntaxException;
+    ctor public URI(String, String, String, String, String) throws java.net.URISyntaxException;
+    ctor public URI(String, String, String, String) throws java.net.URISyntaxException;
+    ctor public URI(String, String, String) throws java.net.URISyntaxException;
+    method public int compareTo(java.net.URI);
+    method public static java.net.URI create(String);
+    method public String getAuthority();
+    method public String getFragment();
+    method public String getHost();
+    method public String getPath();
+    method public int getPort();
+    method public String getQuery();
+    method public String getRawAuthority();
+    method public String getRawFragment();
+    method public String getRawPath();
+    method public String getRawQuery();
+    method public String getRawSchemeSpecificPart();
+    method public String getRawUserInfo();
+    method public String getScheme();
+    method public String getSchemeSpecificPart();
+    method public String getUserInfo();
+    method public boolean isAbsolute();
+    method public boolean isOpaque();
+    method public java.net.URI normalize();
+    method public java.net.URI parseServerAuthority() throws java.net.URISyntaxException;
+    method public java.net.URI relativize(java.net.URI);
+    method public java.net.URI resolve(java.net.URI);
+    method public java.net.URI resolve(String);
+    method public String toASCIIString();
+    method public java.net.URL toURL() throws java.net.MalformedURLException;
+  }
+
+  public class URISyntaxException extends java.lang.Exception {
+    ctor public URISyntaxException(String, String, int);
+    ctor public URISyntaxException(String, String);
+    method public int getIndex();
+    method public String getInput();
+    method public String getReason();
+  }
+
+  public final class URL implements java.io.Serializable {
+    ctor public URL(String, String, int, String) throws java.net.MalformedURLException;
+    ctor public URL(String, String, String) throws java.net.MalformedURLException;
+    ctor public URL(String, String, int, String, java.net.URLStreamHandler) throws java.net.MalformedURLException;
+    ctor public URL(String) throws java.net.MalformedURLException;
+    ctor public URL(java.net.URL, String) throws java.net.MalformedURLException;
+    ctor public URL(java.net.URL, String, java.net.URLStreamHandler) throws java.net.MalformedURLException;
+    method public String getAuthority();
+    method public Object getContent() throws java.io.IOException;
+    method public Object getContent(Class[]) throws java.io.IOException;
+    method public int getDefaultPort();
+    method public String getFile();
+    method public String getHost();
+    method public String getPath();
+    method public int getPort();
+    method public String getProtocol();
+    method public String getQuery();
+    method public String getRef();
+    method public String getUserInfo();
+    method public java.net.URLConnection openConnection() throws java.io.IOException;
+    method public java.net.URLConnection openConnection(java.net.Proxy) throws java.io.IOException;
+    method public java.io.InputStream openStream() throws java.io.IOException;
+    method public boolean sameFile(java.net.URL);
+    method public static void setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory);
+    method public String toExternalForm();
+    method public java.net.URI toURI() throws java.net.URISyntaxException;
+  }
+
+  public class URLClassLoader extends java.security.SecureClassLoader implements java.io.Closeable {
+    ctor public URLClassLoader(java.net.URL[], ClassLoader);
+    ctor public URLClassLoader(java.net.URL[]);
+    ctor public URLClassLoader(java.net.URL[], ClassLoader, java.net.URLStreamHandlerFactory);
+    method protected void addURL(java.net.URL);
+    method public void close() throws java.io.IOException;
+    method protected Package definePackage(String, java.util.jar.Manifest, java.net.URL) throws java.lang.IllegalArgumentException;
+    method public java.net.URL findResource(String);
+    method public java.util.Enumeration<java.net.URL> findResources(String) throws java.io.IOException;
+    method public java.net.URL[] getURLs();
+    method public static java.net.URLClassLoader newInstance(java.net.URL[], ClassLoader);
+    method public static java.net.URLClassLoader newInstance(java.net.URL[]);
+  }
+
+  public abstract class URLConnection {
+    ctor protected URLConnection(java.net.URL);
+    method public void addRequestProperty(String, String);
+    method public abstract void connect() throws java.io.IOException;
+    method public boolean getAllowUserInteraction();
+    method public int getConnectTimeout();
+    method public Object getContent() throws java.io.IOException;
+    method public Object getContent(Class[]) throws java.io.IOException;
+    method public String getContentEncoding();
+    method public int getContentLength();
+    method public long getContentLengthLong();
+    method public String getContentType();
+    method public long getDate();
+    method public static boolean getDefaultAllowUserInteraction();
+    method @Deprecated public static String getDefaultRequestProperty(String);
+    method public boolean getDefaultUseCaches();
+    method public boolean getDoInput();
+    method public boolean getDoOutput();
+    method public long getExpiration();
+    method public static java.net.FileNameMap getFileNameMap();
+    method public String getHeaderField(String);
+    method public String getHeaderField(int);
+    method public long getHeaderFieldDate(String, long);
+    method public int getHeaderFieldInt(String, int);
+    method public String getHeaderFieldKey(int);
+    method public long getHeaderFieldLong(String, long);
+    method public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getHeaderFields();
+    method public long getIfModifiedSince();
+    method public java.io.InputStream getInputStream() throws java.io.IOException;
+    method public long getLastModified();
+    method public java.io.OutputStream getOutputStream() throws java.io.IOException;
+    method public java.security.Permission getPermission() throws java.io.IOException;
+    method public int getReadTimeout();
+    method public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getRequestProperties();
+    method public String getRequestProperty(String);
+    method public java.net.URL getURL();
+    method public boolean getUseCaches();
+    method public static String guessContentTypeFromName(String);
+    method public static String guessContentTypeFromStream(java.io.InputStream) throws java.io.IOException;
+    method public void setAllowUserInteraction(boolean);
+    method public void setConnectTimeout(int);
+    method public static void setContentHandlerFactory(java.net.ContentHandlerFactory);
+    method public static void setDefaultAllowUserInteraction(boolean);
+    method @Deprecated public static void setDefaultRequestProperty(String, String);
+    method public void setDefaultUseCaches(boolean);
+    method public void setDoInput(boolean);
+    method public void setDoOutput(boolean);
+    method public static void setFileNameMap(java.net.FileNameMap);
+    method public void setIfModifiedSince(long);
+    method public void setReadTimeout(int);
+    method public void setRequestProperty(String, String);
+    method public void setUseCaches(boolean);
+    field protected boolean allowUserInteraction;
+    field protected boolean connected;
+    field protected boolean doInput;
+    field protected boolean doOutput;
+    field protected long ifModifiedSince;
+    field protected java.net.URL url;
+    field protected boolean useCaches;
+  }
+
+  public class URLDecoder {
+    ctor public URLDecoder();
+    method @Deprecated public static String decode(String);
+    method public static String decode(String, String) throws java.io.UnsupportedEncodingException;
+  }
+
+  public class URLEncoder {
+    method @Deprecated public static String encode(String);
+    method public static String encode(String, String) throws java.io.UnsupportedEncodingException;
+  }
+
+  public abstract class URLStreamHandler {
+    ctor public URLStreamHandler();
+    method protected boolean equals(java.net.URL, java.net.URL);
+    method protected int getDefaultPort();
+    method protected java.net.InetAddress getHostAddress(java.net.URL);
+    method protected int hashCode(java.net.URL);
+    method protected boolean hostsEqual(java.net.URL, java.net.URL);
+    method protected abstract java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException;
+    method protected java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException;
+    method protected void parseURL(java.net.URL, String, int, int);
+    method protected boolean sameFile(java.net.URL, java.net.URL);
+    method protected void setURL(java.net.URL, String, String, int, String, String, String, String, String);
+    method @Deprecated protected void setURL(java.net.URL, String, String, int, String, String);
+    method protected String toExternalForm(java.net.URL);
+  }
+
+  public interface URLStreamHandlerFactory {
+    method public java.net.URLStreamHandler createURLStreamHandler(String);
+  }
+
+  public class UnknownHostException extends java.io.IOException {
+    ctor public UnknownHostException(String);
+    ctor public UnknownHostException();
+  }
+
+  public class UnknownServiceException extends java.io.IOException {
+    ctor public UnknownServiceException();
+    ctor public UnknownServiceException(String);
+  }
+
+}
+
+package java.nio {
+
+  public abstract class Buffer {
+    method public abstract Object array();
+    method public abstract int arrayOffset();
+    method public final int capacity();
+    method public java.nio.Buffer clear();
+    method public java.nio.Buffer flip();
+    method public abstract boolean hasArray();
+    method public final boolean hasRemaining();
+    method public abstract boolean isDirect();
+    method public abstract boolean isReadOnly();
+    method public final int limit();
+    method public java.nio.Buffer limit(int);
+    method public java.nio.Buffer mark();
+    method public final int position();
+    method public java.nio.Buffer position(int);
+    method public final int remaining();
+    method public java.nio.Buffer reset();
+    method public java.nio.Buffer rewind();
+  }
+
+  public class BufferOverflowException extends java.lang.RuntimeException {
+    ctor public BufferOverflowException();
+  }
+
+  public class BufferUnderflowException extends java.lang.RuntimeException {
+    ctor public BufferUnderflowException();
+  }
+
+  public abstract class ByteBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ByteBuffer> {
+    method @NonNull public static java.nio.ByteBuffer allocate(int);
+    method @NonNull public static java.nio.ByteBuffer allocateDirect(int);
+    method @NonNull public final byte[] array();
+    method public final int arrayOffset();
+    method @NonNull public abstract java.nio.CharBuffer asCharBuffer();
+    method @NonNull public abstract java.nio.DoubleBuffer asDoubleBuffer();
+    method @NonNull public abstract java.nio.FloatBuffer asFloatBuffer();
+    method @NonNull public abstract java.nio.IntBuffer asIntBuffer();
+    method @NonNull public abstract java.nio.LongBuffer asLongBuffer();
+    method @NonNull public abstract java.nio.ByteBuffer asReadOnlyBuffer();
+    method @NonNull public abstract java.nio.ShortBuffer asShortBuffer();
+    method @NonNull public abstract java.nio.ByteBuffer compact();
+    method public int compareTo(@NonNull java.nio.ByteBuffer);
+    method @NonNull public abstract java.nio.ByteBuffer duplicate();
+    method public abstract byte get();
+    method public abstract byte get(int);
+    method @NonNull public java.nio.ByteBuffer get(@NonNull byte[], int, int);
+    method @NonNull public java.nio.ByteBuffer get(@NonNull byte[]);
+    method public abstract char getChar();
+    method public abstract char getChar(int);
+    method public abstract double getDouble();
+    method public abstract double getDouble(int);
+    method public abstract float getFloat();
+    method public abstract float getFloat(int);
+    method public abstract int getInt();
+    method public abstract int getInt(int);
+    method public abstract long getLong();
+    method public abstract long getLong(int);
+    method public abstract short getShort();
+    method public abstract short getShort(int);
+    method public final boolean hasArray();
+    method @NonNull public final java.nio.ByteOrder order();
+    method @NonNull public final java.nio.ByteBuffer order(@NonNull java.nio.ByteOrder);
+    method @NonNull public abstract java.nio.ByteBuffer put(byte);
+    method @NonNull public abstract java.nio.ByteBuffer put(int, byte);
+    method @NonNull public java.nio.ByteBuffer put(@NonNull java.nio.ByteBuffer);
+    method @NonNull public java.nio.ByteBuffer put(@NonNull byte[], int, int);
+    method @NonNull public final java.nio.ByteBuffer put(@NonNull byte[]);
+    method @NonNull public abstract java.nio.ByteBuffer putChar(char);
+    method @NonNull public abstract java.nio.ByteBuffer putChar(int, char);
+    method @NonNull public abstract java.nio.ByteBuffer putDouble(double);
+    method @NonNull public abstract java.nio.ByteBuffer putDouble(int, double);
+    method @NonNull public abstract java.nio.ByteBuffer putFloat(float);
+    method @NonNull public abstract java.nio.ByteBuffer putFloat(int, float);
+    method @NonNull public abstract java.nio.ByteBuffer putInt(int);
+    method @NonNull public abstract java.nio.ByteBuffer putInt(int, int);
+    method @NonNull public abstract java.nio.ByteBuffer putLong(long);
+    method @NonNull public abstract java.nio.ByteBuffer putLong(int, long);
+    method @NonNull public abstract java.nio.ByteBuffer putShort(short);
+    method @NonNull public abstract java.nio.ByteBuffer putShort(int, short);
+    method @NonNull public abstract java.nio.ByteBuffer slice();
+    method @NonNull public static java.nio.ByteBuffer wrap(@NonNull byte[], int, int);
+    method @NonNull public static java.nio.ByteBuffer wrap(@NonNull byte[]);
+  }
+
+  public final class ByteOrder {
+    method public static java.nio.ByteOrder nativeOrder();
+    field public static final java.nio.ByteOrder BIG_ENDIAN;
+    field public static final java.nio.ByteOrder LITTLE_ENDIAN;
+  }
+
+  public abstract class CharBuffer extends java.nio.Buffer implements java.lang.Appendable java.lang.CharSequence java.lang.Comparable<java.nio.CharBuffer> java.lang.Readable {
+    method public static java.nio.CharBuffer allocate(int);
+    method public java.nio.CharBuffer append(CharSequence);
+    method public java.nio.CharBuffer append(CharSequence, int, int);
+    method public java.nio.CharBuffer append(char);
+    method public final char[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.CharBuffer asReadOnlyBuffer();
+    method public final char charAt(int);
+    method public abstract java.nio.CharBuffer compact();
+    method public int compareTo(java.nio.CharBuffer);
+    method public abstract java.nio.CharBuffer duplicate();
+    method public abstract char get();
+    method public abstract char get(int);
+    method public java.nio.CharBuffer get(char[], int, int);
+    method public java.nio.CharBuffer get(char[]);
+    method public final boolean hasArray();
+    method public final int length();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.CharBuffer put(char);
+    method public abstract java.nio.CharBuffer put(int, char);
+    method public java.nio.CharBuffer put(java.nio.CharBuffer);
+    method public java.nio.CharBuffer put(char[], int, int);
+    method public final java.nio.CharBuffer put(char[]);
+    method public java.nio.CharBuffer put(String, int, int);
+    method public final java.nio.CharBuffer put(String);
+    method public int read(java.nio.CharBuffer) throws java.io.IOException;
+    method public abstract java.nio.CharBuffer slice();
+    method public abstract java.nio.CharBuffer subSequence(int, int);
+    method public static java.nio.CharBuffer wrap(char[], int, int);
+    method public static java.nio.CharBuffer wrap(char[]);
+    method public static java.nio.CharBuffer wrap(CharSequence, int, int);
+    method public static java.nio.CharBuffer wrap(CharSequence);
+  }
+
+  public abstract class DoubleBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.DoubleBuffer> {
+    method public static java.nio.DoubleBuffer allocate(int);
+    method public final double[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.DoubleBuffer asReadOnlyBuffer();
+    method public abstract java.nio.DoubleBuffer compact();
+    method public int compareTo(java.nio.DoubleBuffer);
+    method public abstract java.nio.DoubleBuffer duplicate();
+    method public abstract double get();
+    method public abstract double get(int);
+    method public java.nio.DoubleBuffer get(double[], int, int);
+    method public java.nio.DoubleBuffer get(double[]);
+    method public final boolean hasArray();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.DoubleBuffer put(double);
+    method public abstract java.nio.DoubleBuffer put(int, double);
+    method public java.nio.DoubleBuffer put(java.nio.DoubleBuffer);
+    method public java.nio.DoubleBuffer put(double[], int, int);
+    method public final java.nio.DoubleBuffer put(double[]);
+    method public abstract java.nio.DoubleBuffer slice();
+    method public static java.nio.DoubleBuffer wrap(double[], int, int);
+    method public static java.nio.DoubleBuffer wrap(double[]);
+  }
+
+  public abstract class FloatBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.FloatBuffer> {
+    method public static java.nio.FloatBuffer allocate(int);
+    method public final float[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.FloatBuffer asReadOnlyBuffer();
+    method public abstract java.nio.FloatBuffer compact();
+    method public int compareTo(java.nio.FloatBuffer);
+    method public abstract java.nio.FloatBuffer duplicate();
+    method public abstract float get();
+    method public abstract float get(int);
+    method public java.nio.FloatBuffer get(float[], int, int);
+    method public java.nio.FloatBuffer get(float[]);
+    method public final boolean hasArray();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.FloatBuffer put(float);
+    method public abstract java.nio.FloatBuffer put(int, float);
+    method public java.nio.FloatBuffer put(java.nio.FloatBuffer);
+    method public java.nio.FloatBuffer put(float[], int, int);
+    method public final java.nio.FloatBuffer put(float[]);
+    method public abstract java.nio.FloatBuffer slice();
+    method public static java.nio.FloatBuffer wrap(float[], int, int);
+    method public static java.nio.FloatBuffer wrap(float[]);
+  }
+
+  public abstract class IntBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.IntBuffer> {
+    method public static java.nio.IntBuffer allocate(int);
+    method public final int[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.IntBuffer asReadOnlyBuffer();
+    method public abstract java.nio.IntBuffer compact();
+    method public int compareTo(java.nio.IntBuffer);
+    method public abstract java.nio.IntBuffer duplicate();
+    method public abstract int get();
+    method public abstract int get(int);
+    method public java.nio.IntBuffer get(int[], int, int);
+    method public java.nio.IntBuffer get(int[]);
+    method public final boolean hasArray();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.IntBuffer put(int);
+    method public abstract java.nio.IntBuffer put(int, int);
+    method public java.nio.IntBuffer put(java.nio.IntBuffer);
+    method public java.nio.IntBuffer put(int[], int, int);
+    method public final java.nio.IntBuffer put(int[]);
+    method public abstract java.nio.IntBuffer slice();
+    method public static java.nio.IntBuffer wrap(int[], int, int);
+    method public static java.nio.IntBuffer wrap(int[]);
+  }
+
+  public class InvalidMarkException extends java.lang.IllegalStateException {
+    ctor public InvalidMarkException();
+  }
+
+  public abstract class LongBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.LongBuffer> {
+    method public static java.nio.LongBuffer allocate(int);
+    method public final long[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.LongBuffer asReadOnlyBuffer();
+    method public abstract java.nio.LongBuffer compact();
+    method public int compareTo(java.nio.LongBuffer);
+    method public abstract java.nio.LongBuffer duplicate();
+    method public abstract long get();
+    method public abstract long get(int);
+    method public java.nio.LongBuffer get(long[], int, int);
+    method public java.nio.LongBuffer get(long[]);
+    method public final boolean hasArray();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.LongBuffer put(long);
+    method public abstract java.nio.LongBuffer put(int, long);
+    method public java.nio.LongBuffer put(java.nio.LongBuffer);
+    method public java.nio.LongBuffer put(long[], int, int);
+    method public final java.nio.LongBuffer put(long[]);
+    method public abstract java.nio.LongBuffer slice();
+    method public static java.nio.LongBuffer wrap(long[], int, int);
+    method public static java.nio.LongBuffer wrap(long[]);
+  }
+
+  public abstract class MappedByteBuffer extends java.nio.ByteBuffer {
+    method public final java.nio.MappedByteBuffer force();
+    method public final boolean isLoaded();
+    method public final java.nio.MappedByteBuffer load();
+  }
+
+  public class ReadOnlyBufferException extends java.lang.UnsupportedOperationException {
+    ctor public ReadOnlyBufferException();
+  }
+
+  public abstract class ShortBuffer extends java.nio.Buffer implements java.lang.Comparable<java.nio.ShortBuffer> {
+    method public static java.nio.ShortBuffer allocate(int);
+    method public final short[] array();
+    method public final int arrayOffset();
+    method public abstract java.nio.ShortBuffer asReadOnlyBuffer();
+    method public abstract java.nio.ShortBuffer compact();
+    method public int compareTo(java.nio.ShortBuffer);
+    method public abstract java.nio.ShortBuffer duplicate();
+    method public abstract short get();
+    method public abstract short get(int);
+    method public java.nio.ShortBuffer get(short[], int, int);
+    method public java.nio.ShortBuffer get(short[]);
+    method public final boolean hasArray();
+    method public abstract java.nio.ByteOrder order();
+    method public abstract java.nio.ShortBuffer put(short);
+    method public abstract java.nio.ShortBuffer put(int, short);
+    method public java.nio.ShortBuffer put(java.nio.ShortBuffer);
+    method public java.nio.ShortBuffer put(short[], int, int);
+    method public final java.nio.ShortBuffer put(short[]);
+    method public abstract java.nio.ShortBuffer slice();
+    method public static java.nio.ShortBuffer wrap(short[], int, int);
+    method public static java.nio.ShortBuffer wrap(short[]);
+  }
+
+}
+
+package java.nio.channels {
+
+  public class AcceptPendingException extends java.lang.IllegalStateException {
+    ctor public AcceptPendingException();
+  }
+
+  public class AlreadyBoundException extends java.lang.IllegalStateException {
+    ctor public AlreadyBoundException();
+  }
+
+  public class AlreadyConnectedException extends java.lang.IllegalStateException {
+    ctor public AlreadyConnectedException();
+  }
+
+  public interface AsynchronousByteChannel extends java.nio.channels.AsynchronousChannel {
+    method public <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer);
+    method public <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer);
+  }
+
+  public interface AsynchronousChannel extends java.nio.channels.Channel {
+  }
+
+  public abstract class AsynchronousChannelGroup {
+    ctor protected AsynchronousChannelGroup(java.nio.channels.spi.AsynchronousChannelProvider);
+    method public abstract boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public abstract boolean isShutdown();
+    method public abstract boolean isTerminated();
+    method public final java.nio.channels.spi.AsynchronousChannelProvider provider();
+    method public abstract void shutdown();
+    method public abstract void shutdownNow() throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousChannelGroup withCachedThreadPool(java.util.concurrent.ExecutorService, int) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousChannelGroup withFixedThreadPool(int, java.util.concurrent.ThreadFactory) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousChannelGroup withThreadPool(java.util.concurrent.ExecutorService) throws java.io.IOException;
+  }
+
+  public class AsynchronousCloseException extends java.nio.channels.ClosedChannelException {
+    ctor public AsynchronousCloseException();
+  }
+
+  public abstract class AsynchronousFileChannel implements java.nio.channels.AsynchronousChannel {
+    ctor protected AsynchronousFileChannel();
+    method public abstract void force(boolean) throws java.io.IOException;
+    method public abstract <A> void lock(long, long, boolean, A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock,? super A>);
+    method public final <A> void lock(A, java.nio.channels.CompletionHandler<java.nio.channels.FileLock,? super A>);
+    method public abstract java.util.concurrent.Future<java.nio.channels.FileLock> lock(long, long, boolean);
+    method public final java.util.concurrent.Future<java.nio.channels.FileLock> lock();
+    method public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.util.concurrent.ExecutorService, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousFileChannel open(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public abstract <A> void read(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public abstract java.util.concurrent.Future<java.lang.Integer> read(java.nio.ByteBuffer, long);
+    method public abstract long size() throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousFileChannel truncate(long) throws java.io.IOException;
+    method public abstract java.nio.channels.FileLock tryLock(long, long, boolean) throws java.io.IOException;
+    method public final java.nio.channels.FileLock tryLock() throws java.io.IOException;
+    method public abstract <A> void write(java.nio.ByteBuffer, long, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public abstract java.util.concurrent.Future<java.lang.Integer> write(java.nio.ByteBuffer, long);
+  }
+
+  public abstract class AsynchronousServerSocketChannel implements java.nio.channels.AsynchronousChannel java.nio.channels.NetworkChannel {
+    ctor protected AsynchronousServerSocketChannel(java.nio.channels.spi.AsynchronousChannelProvider);
+    method public abstract <A> void accept(A, java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel,? super A>);
+    method public abstract java.util.concurrent.Future<java.nio.channels.AsynchronousSocketChannel> accept();
+    method public final java.nio.channels.AsynchronousServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousServerSocketChannel open(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousServerSocketChannel open() throws java.io.IOException;
+    method public final java.nio.channels.spi.AsynchronousChannelProvider provider();
+    method public abstract <T> java.nio.channels.AsynchronousServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+  }
+
+  public abstract class AsynchronousSocketChannel implements java.nio.channels.AsynchronousByteChannel java.nio.channels.NetworkChannel {
+    ctor protected AsynchronousSocketChannel(java.nio.channels.spi.AsynchronousChannelProvider);
+    method public abstract java.nio.channels.AsynchronousSocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract <A> void connect(java.net.SocketAddress, A, java.nio.channels.CompletionHandler<java.lang.Void,? super A>);
+    method public abstract java.util.concurrent.Future<java.lang.Void> connect(java.net.SocketAddress);
+    method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousSocketChannel open(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException;
+    method public static java.nio.channels.AsynchronousSocketChannel open() throws java.io.IOException;
+    method public final java.nio.channels.spi.AsynchronousChannelProvider provider();
+    method public abstract <A> void read(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public final <A> void read(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public abstract <A> void read(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long,? super A>);
+    method public abstract <T> java.nio.channels.AsynchronousSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousSocketChannel shutdownInput() throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousSocketChannel shutdownOutput() throws java.io.IOException;
+    method public abstract <A> void write(java.nio.ByteBuffer, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public final <A> void write(java.nio.ByteBuffer, A, java.nio.channels.CompletionHandler<java.lang.Integer,? super A>);
+    method public abstract <A> void write(java.nio.ByteBuffer[], int, int, long, java.util.concurrent.TimeUnit, A, java.nio.channels.CompletionHandler<java.lang.Long,? super A>);
+  }
+
+  public interface ByteChannel extends java.nio.channels.ReadableByteChannel java.nio.channels.WritableByteChannel {
+  }
+
+  public class CancelledKeyException extends java.lang.IllegalStateException {
+    ctor public CancelledKeyException();
+  }
+
+  public interface Channel extends java.io.Closeable {
+    method public boolean isOpen();
+  }
+
+  public final class Channels {
+    method public static java.nio.channels.ReadableByteChannel newChannel(java.io.InputStream);
+    method public static java.nio.channels.WritableByteChannel newChannel(java.io.OutputStream);
+    method public static java.io.InputStream newInputStream(java.nio.channels.ReadableByteChannel);
+    method public static java.io.InputStream newInputStream(java.nio.channels.AsynchronousByteChannel);
+    method public static java.io.OutputStream newOutputStream(java.nio.channels.WritableByteChannel);
+    method public static java.io.OutputStream newOutputStream(java.nio.channels.AsynchronousByteChannel);
+    method public static java.io.Reader newReader(java.nio.channels.ReadableByteChannel, java.nio.charset.CharsetDecoder, int);
+    method public static java.io.Reader newReader(java.nio.channels.ReadableByteChannel, String);
+    method public static java.io.Writer newWriter(java.nio.channels.WritableByteChannel, java.nio.charset.CharsetEncoder, int);
+    method public static java.io.Writer newWriter(java.nio.channels.WritableByteChannel, String);
+  }
+
+  public class ClosedByInterruptException extends java.nio.channels.AsynchronousCloseException {
+    ctor public ClosedByInterruptException();
+  }
+
+  public class ClosedChannelException extends java.io.IOException {
+    ctor public ClosedChannelException();
+  }
+
+  public class ClosedSelectorException extends java.lang.IllegalStateException {
+    ctor public ClosedSelectorException();
+  }
+
+  public interface CompletionHandler<V, A> {
+    method public void completed(V, A);
+    method public void failed(Throwable, A);
+  }
+
+  public class ConnectionPendingException extends java.lang.IllegalStateException {
+    ctor public ConnectionPendingException();
+  }
+
+  public abstract class DatagramChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ByteChannel java.nio.channels.GatheringByteChannel java.nio.channels.MulticastChannel java.nio.channels.ScatteringByteChannel {
+    ctor protected DatagramChannel(java.nio.channels.spi.SelectorProvider);
+    method public abstract java.nio.channels.DatagramChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract java.nio.channels.DatagramChannel connect(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract java.nio.channels.DatagramChannel disconnect() throws java.io.IOException;
+    method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException;
+    method public abstract boolean isConnected();
+    method public static java.nio.channels.DatagramChannel open() throws java.io.IOException;
+    method public static java.nio.channels.DatagramChannel open(java.net.ProtocolFamily) throws java.io.IOException;
+    method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+    method public abstract java.net.SocketAddress receive(java.nio.ByteBuffer) throws java.io.IOException;
+    method public abstract int send(java.nio.ByteBuffer, java.net.SocketAddress) throws java.io.IOException;
+    method public abstract <T> java.nio.channels.DatagramChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+    method public abstract java.net.DatagramSocket socket();
+    method public final int validOps();
+    method public final long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+  }
+
+  public abstract class FileChannel extends java.nio.channels.spi.AbstractInterruptibleChannel implements java.nio.channels.GatheringByteChannel java.nio.channels.ScatteringByteChannel java.nio.channels.SeekableByteChannel {
+    ctor protected FileChannel();
+    method public abstract void force(boolean) throws java.io.IOException;
+    method public abstract java.nio.channels.FileLock lock(long, long, boolean) throws java.io.IOException;
+    method public final java.nio.channels.FileLock lock() throws java.io.IOException;
+    method public abstract java.nio.MappedByteBuffer map(java.nio.channels.FileChannel.MapMode, long, long) throws java.io.IOException;
+    method public static java.nio.channels.FileChannel open(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.channels.FileChannel open(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public abstract java.nio.channels.FileChannel position(long) throws java.io.IOException;
+    method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+    method public abstract int read(java.nio.ByteBuffer, long) throws java.io.IOException;
+    method public abstract long transferFrom(java.nio.channels.ReadableByteChannel, long, long) throws java.io.IOException;
+    method public abstract long transferTo(long, long, java.nio.channels.WritableByteChannel) throws java.io.IOException;
+    method public abstract java.nio.channels.FileChannel truncate(long) throws java.io.IOException;
+    method public abstract java.nio.channels.FileLock tryLock(long, long, boolean) throws java.io.IOException;
+    method public final java.nio.channels.FileLock tryLock() throws java.io.IOException;
+    method public final long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+    method public abstract int write(java.nio.ByteBuffer, long) throws java.io.IOException;
+  }
+
+  public static class FileChannel.MapMode {
+    field public static final java.nio.channels.FileChannel.MapMode PRIVATE;
+    field public static final java.nio.channels.FileChannel.MapMode READ_ONLY;
+    field public static final java.nio.channels.FileChannel.MapMode READ_WRITE;
+  }
+
+  public abstract class FileLock implements java.lang.AutoCloseable {
+    ctor protected FileLock(java.nio.channels.FileChannel, long, long, boolean);
+    ctor protected FileLock(java.nio.channels.AsynchronousFileChannel, long, long, boolean);
+    method public java.nio.channels.Channel acquiredBy();
+    method public final java.nio.channels.FileChannel channel();
+    method public final void close() throws java.io.IOException;
+    method public final boolean isShared();
+    method public abstract boolean isValid();
+    method public final boolean overlaps(long, long);
+    method public final long position();
+    method public abstract void release() throws java.io.IOException;
+    method public final long size();
+    method public final String toString();
+  }
+
+  public class FileLockInterruptionException extends java.io.IOException {
+    ctor public FileLockInterruptionException();
+  }
+
+  public interface GatheringByteChannel extends java.nio.channels.WritableByteChannel {
+    method public long write(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+    method public long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+  }
+
+  public class IllegalBlockingModeException extends java.lang.IllegalStateException {
+    ctor public IllegalBlockingModeException();
+  }
+
+  public class IllegalChannelGroupException extends java.lang.IllegalArgumentException {
+    ctor public IllegalChannelGroupException();
+  }
+
+  public class IllegalSelectorException extends java.lang.IllegalArgumentException {
+    ctor public IllegalSelectorException();
+  }
+
+  public class InterruptedByTimeoutException extends java.io.IOException {
+    ctor public InterruptedByTimeoutException();
+  }
+
+  public interface InterruptibleChannel extends java.nio.channels.Channel {
+  }
+
+  public abstract class MembershipKey {
+    ctor protected MembershipKey();
+    method public abstract java.nio.channels.MembershipKey block(java.net.InetAddress) throws java.io.IOException;
+    method public abstract java.nio.channels.MulticastChannel channel();
+    method public abstract void drop();
+    method public abstract java.net.InetAddress group();
+    method public abstract boolean isValid();
+    method public abstract java.net.NetworkInterface networkInterface();
+    method public abstract java.net.InetAddress sourceAddress();
+    method public abstract java.nio.channels.MembershipKey unblock(java.net.InetAddress);
+  }
+
+  public interface MulticastChannel extends java.nio.channels.NetworkChannel {
+    method public java.nio.channels.MembershipKey join(java.net.InetAddress, java.net.NetworkInterface) throws java.io.IOException;
+    method public java.nio.channels.MembershipKey join(java.net.InetAddress, java.net.NetworkInterface, java.net.InetAddress) throws java.io.IOException;
+  }
+
+  public interface NetworkChannel extends java.nio.channels.Channel {
+    method public java.nio.channels.NetworkChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public java.net.SocketAddress getLocalAddress() throws java.io.IOException;
+    method public <T> T getOption(java.net.SocketOption<T>) throws java.io.IOException;
+    method public <T> java.nio.channels.NetworkChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+    method public java.util.Set<java.net.SocketOption<?>> supportedOptions();
+  }
+
+  public class NoConnectionPendingException extends java.lang.IllegalStateException {
+    ctor public NoConnectionPendingException();
+  }
+
+  public class NonReadableChannelException extends java.lang.IllegalStateException {
+    ctor public NonReadableChannelException();
+  }
+
+  public class NonWritableChannelException extends java.lang.IllegalStateException {
+    ctor public NonWritableChannelException();
+  }
+
+  public class NotYetBoundException extends java.lang.IllegalStateException {
+    ctor public NotYetBoundException();
+  }
+
+  public class NotYetConnectedException extends java.lang.IllegalStateException {
+    ctor public NotYetConnectedException();
+  }
+
+  public class OverlappingFileLockException extends java.lang.IllegalStateException {
+    ctor public OverlappingFileLockException();
+  }
+
+  public abstract class Pipe {
+    ctor protected Pipe();
+    method public static java.nio.channels.Pipe open() throws java.io.IOException;
+    method public abstract java.nio.channels.Pipe.SinkChannel sink();
+    method public abstract java.nio.channels.Pipe.SourceChannel source();
+  }
+
+  public abstract static class Pipe.SinkChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.GatheringByteChannel java.nio.channels.WritableByteChannel {
+    ctor protected Pipe.SinkChannel(java.nio.channels.spi.SelectorProvider);
+    method public final int validOps();
+  }
+
+  public abstract static class Pipe.SourceChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ReadableByteChannel java.nio.channels.ScatteringByteChannel {
+    ctor protected Pipe.SourceChannel(java.nio.channels.spi.SelectorProvider);
+    method public final int validOps();
+  }
+
+  public class ReadPendingException extends java.lang.IllegalStateException {
+    ctor public ReadPendingException();
+  }
+
+  public interface ReadableByteChannel extends java.nio.channels.Channel {
+    method public int read(java.nio.ByteBuffer) throws java.io.IOException;
+  }
+
+  public interface ScatteringByteChannel extends java.nio.channels.ReadableByteChannel {
+    method public long read(java.nio.ByteBuffer[], int, int) throws java.io.IOException;
+    method public long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+  }
+
+  public interface SeekableByteChannel extends java.nio.channels.ByteChannel {
+    method public long position() throws java.io.IOException;
+    method public java.nio.channels.SeekableByteChannel position(long) throws java.io.IOException;
+    method public long size() throws java.io.IOException;
+    method public java.nio.channels.SeekableByteChannel truncate(long) throws java.io.IOException;
+  }
+
+  public abstract class SelectableChannel extends java.nio.channels.spi.AbstractInterruptibleChannel implements java.nio.channels.Channel {
+    ctor protected SelectableChannel();
+    method public abstract Object blockingLock();
+    method public abstract java.nio.channels.SelectableChannel configureBlocking(boolean) throws java.io.IOException;
+    method public abstract boolean isBlocking();
+    method public abstract boolean isRegistered();
+    method public abstract java.nio.channels.SelectionKey keyFor(java.nio.channels.Selector);
+    method public abstract java.nio.channels.spi.SelectorProvider provider();
+    method public abstract java.nio.channels.SelectionKey register(java.nio.channels.Selector, int, Object) throws java.nio.channels.ClosedChannelException;
+    method public final java.nio.channels.SelectionKey register(java.nio.channels.Selector, int) throws java.nio.channels.ClosedChannelException;
+    method public abstract int validOps();
+  }
+
+  public abstract class SelectionKey {
+    ctor protected SelectionKey();
+    method public final Object attach(Object);
+    method public final Object attachment();
+    method public abstract void cancel();
+    method public abstract java.nio.channels.SelectableChannel channel();
+    method public abstract int interestOps();
+    method public abstract java.nio.channels.SelectionKey interestOps(int);
+    method public final boolean isAcceptable();
+    method public final boolean isConnectable();
+    method public final boolean isReadable();
+    method public abstract boolean isValid();
+    method public final boolean isWritable();
+    method public abstract int readyOps();
+    method public abstract java.nio.channels.Selector selector();
+    field public static final int OP_ACCEPT = 16; // 0x10
+    field public static final int OP_CONNECT = 8; // 0x8
+    field public static final int OP_READ = 1; // 0x1
+    field public static final int OP_WRITE = 4; // 0x4
+  }
+
+  public abstract class Selector implements java.io.Closeable {
+    ctor protected Selector();
+    method public abstract boolean isOpen();
+    method public abstract java.util.Set<java.nio.channels.SelectionKey> keys();
+    method public static java.nio.channels.Selector open() throws java.io.IOException;
+    method public abstract java.nio.channels.spi.SelectorProvider provider();
+    method public abstract int select(long) throws java.io.IOException;
+    method public abstract int select() throws java.io.IOException;
+    method public abstract int selectNow() throws java.io.IOException;
+    method public abstract java.util.Set<java.nio.channels.SelectionKey> selectedKeys();
+    method public abstract java.nio.channels.Selector wakeup();
+  }
+
+  public abstract class ServerSocketChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.NetworkChannel {
+    ctor protected ServerSocketChannel(java.nio.channels.spi.SelectorProvider);
+    method public abstract java.nio.channels.SocketChannel accept() throws java.io.IOException;
+    method public final java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract java.nio.channels.ServerSocketChannel bind(java.net.SocketAddress, int) throws java.io.IOException;
+    method public static java.nio.channels.ServerSocketChannel open() throws java.io.IOException;
+    method public abstract <T> java.nio.channels.ServerSocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+    method public abstract java.net.ServerSocket socket();
+    method public final int validOps();
+  }
+
+  public class ShutdownChannelGroupException extends java.lang.IllegalStateException {
+    ctor public ShutdownChannelGroupException();
+  }
+
+  public abstract class SocketChannel extends java.nio.channels.spi.AbstractSelectableChannel implements java.nio.channels.ByteChannel java.nio.channels.GatheringByteChannel java.nio.channels.NetworkChannel java.nio.channels.ScatteringByteChannel {
+    ctor protected SocketChannel(java.nio.channels.spi.SelectorProvider);
+    method public abstract java.nio.channels.SocketChannel bind(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract boolean connect(java.net.SocketAddress) throws java.io.IOException;
+    method public abstract boolean finishConnect() throws java.io.IOException;
+    method public abstract java.net.SocketAddress getRemoteAddress() throws java.io.IOException;
+    method public abstract boolean isConnected();
+    method public abstract boolean isConnectionPending();
+    method public static java.nio.channels.SocketChannel open() throws java.io.IOException;
+    method public static java.nio.channels.SocketChannel open(java.net.SocketAddress) throws java.io.IOException;
+    method public final long read(java.nio.ByteBuffer[]) throws java.io.IOException;
+    method public abstract <T> java.nio.channels.SocketChannel setOption(java.net.SocketOption<T>, T) throws java.io.IOException;
+    method public abstract java.nio.channels.SocketChannel shutdownInput() throws java.io.IOException;
+    method public abstract java.nio.channels.SocketChannel shutdownOutput() throws java.io.IOException;
+    method public abstract java.net.Socket socket();
+    method public final int validOps();
+    method public final long write(java.nio.ByteBuffer[]) throws java.io.IOException;
+  }
+
+  public class UnresolvedAddressException extends java.lang.IllegalArgumentException {
+    ctor public UnresolvedAddressException();
+  }
+
+  public class UnsupportedAddressTypeException extends java.lang.IllegalArgumentException {
+    ctor public UnsupportedAddressTypeException();
+  }
+
+  public interface WritableByteChannel extends java.nio.channels.Channel {
+    method public int write(java.nio.ByteBuffer) throws java.io.IOException;
+  }
+
+  public class WritePendingException extends java.lang.IllegalStateException {
+    ctor public WritePendingException();
+  }
+
+}
+
+package java.nio.channels.spi {
+
+  public abstract class AbstractInterruptibleChannel implements java.nio.channels.Channel java.nio.channels.InterruptibleChannel {
+    ctor protected AbstractInterruptibleChannel();
+    method protected final void begin();
+    method public final void close() throws java.io.IOException;
+    method protected final void end(boolean) throws java.nio.channels.AsynchronousCloseException;
+    method protected abstract void implCloseChannel() throws java.io.IOException;
+    method public final boolean isOpen();
+  }
+
+  public abstract class AbstractSelectableChannel extends java.nio.channels.SelectableChannel {
+    ctor protected AbstractSelectableChannel(java.nio.channels.spi.SelectorProvider);
+    method public final Object blockingLock();
+    method public final java.nio.channels.SelectableChannel configureBlocking(boolean) throws java.io.IOException;
+    method protected final void implCloseChannel() throws java.io.IOException;
+    method protected abstract void implCloseSelectableChannel() throws java.io.IOException;
+    method protected abstract void implConfigureBlocking(boolean) throws java.io.IOException;
+    method public final boolean isBlocking();
+    method public final boolean isRegistered();
+    method public final java.nio.channels.SelectionKey keyFor(java.nio.channels.Selector);
+    method public final java.nio.channels.spi.SelectorProvider provider();
+    method public final java.nio.channels.SelectionKey register(java.nio.channels.Selector, int, Object) throws java.nio.channels.ClosedChannelException;
+  }
+
+  public abstract class AbstractSelectionKey extends java.nio.channels.SelectionKey {
+    ctor protected AbstractSelectionKey();
+    method public final void cancel();
+    method public final boolean isValid();
+  }
+
+  public abstract class AbstractSelector extends java.nio.channels.Selector {
+    ctor protected AbstractSelector(java.nio.channels.spi.SelectorProvider);
+    method protected final void begin();
+    method protected final java.util.Set<java.nio.channels.SelectionKey> cancelledKeys();
+    method public final void close() throws java.io.IOException;
+    method protected final void deregister(java.nio.channels.spi.AbstractSelectionKey);
+    method protected final void end();
+    method protected abstract void implCloseSelector() throws java.io.IOException;
+    method public final boolean isOpen();
+    method public final java.nio.channels.spi.SelectorProvider provider();
+    method protected abstract java.nio.channels.SelectionKey register(java.nio.channels.spi.AbstractSelectableChannel, int, Object);
+  }
+
+  public abstract class AsynchronousChannelProvider {
+    ctor protected AsynchronousChannelProvider();
+    method public abstract java.nio.channels.AsynchronousChannelGroup openAsynchronousChannelGroup(int, java.util.concurrent.ThreadFactory) throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousChannelGroup openAsynchronousChannelGroup(java.util.concurrent.ExecutorService, int) throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousServerSocketChannel openAsynchronousServerSocketChannel(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException;
+    method public abstract java.nio.channels.AsynchronousSocketChannel openAsynchronousSocketChannel(java.nio.channels.AsynchronousChannelGroup) throws java.io.IOException;
+    method public static java.nio.channels.spi.AsynchronousChannelProvider provider();
+  }
+
+  public abstract class SelectorProvider {
+    ctor protected SelectorProvider();
+    method public java.nio.channels.Channel inheritedChannel() throws java.io.IOException;
+    method public abstract java.nio.channels.DatagramChannel openDatagramChannel() throws java.io.IOException;
+    method public abstract java.nio.channels.DatagramChannel openDatagramChannel(java.net.ProtocolFamily) throws java.io.IOException;
+    method public abstract java.nio.channels.Pipe openPipe() throws java.io.IOException;
+    method public abstract java.nio.channels.spi.AbstractSelector openSelector() throws java.io.IOException;
+    method public abstract java.nio.channels.ServerSocketChannel openServerSocketChannel() throws java.io.IOException;
+    method public abstract java.nio.channels.SocketChannel openSocketChannel() throws java.io.IOException;
+    method public static java.nio.channels.spi.SelectorProvider provider();
+  }
+
+}
+
+package java.nio.charset {
+
+  public class CharacterCodingException extends java.io.IOException {
+    ctor public CharacterCodingException();
+  }
+
+  public abstract class Charset implements java.lang.Comparable<java.nio.charset.Charset> {
+    ctor protected Charset(String, String[]);
+    method public final java.util.Set<java.lang.String> aliases();
+    method public static java.util.SortedMap<java.lang.String,java.nio.charset.Charset> availableCharsets();
+    method public boolean canEncode();
+    method public final int compareTo(java.nio.charset.Charset);
+    method public abstract boolean contains(java.nio.charset.Charset);
+    method public final java.nio.CharBuffer decode(java.nio.ByteBuffer);
+    method public static java.nio.charset.Charset defaultCharset();
+    method public String displayName();
+    method public String displayName(java.util.Locale);
+    method public final java.nio.ByteBuffer encode(java.nio.CharBuffer);
+    method public final java.nio.ByteBuffer encode(String);
+    method public final boolean equals(Object);
+    method public static java.nio.charset.Charset forName(String);
+    method public final int hashCode();
+    method public final boolean isRegistered();
+    method public static boolean isSupported(String);
+    method public final String name();
+    method public abstract java.nio.charset.CharsetDecoder newDecoder();
+    method public abstract java.nio.charset.CharsetEncoder newEncoder();
+    method public final String toString();
+  }
+
+  public abstract class CharsetDecoder {
+    ctor protected CharsetDecoder(java.nio.charset.Charset, float, float);
+    method public final float averageCharsPerByte();
+    method public final java.nio.charset.Charset charset();
+    method public final java.nio.charset.CoderResult decode(java.nio.ByteBuffer, java.nio.CharBuffer, boolean);
+    method public final java.nio.CharBuffer decode(java.nio.ByteBuffer) throws java.nio.charset.CharacterCodingException;
+    method protected abstract java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
+    method public java.nio.charset.Charset detectedCharset();
+    method public final java.nio.charset.CoderResult flush(java.nio.CharBuffer);
+    method protected java.nio.charset.CoderResult implFlush(java.nio.CharBuffer);
+    method protected void implOnMalformedInput(java.nio.charset.CodingErrorAction);
+    method protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction);
+    method protected void implReplaceWith(String);
+    method protected void implReset();
+    method public boolean isAutoDetecting();
+    method public boolean isCharsetDetected();
+    method public java.nio.charset.CodingErrorAction malformedInputAction();
+    method public final float maxCharsPerByte();
+    method public final java.nio.charset.CharsetDecoder onMalformedInput(java.nio.charset.CodingErrorAction);
+    method public final java.nio.charset.CharsetDecoder onUnmappableCharacter(java.nio.charset.CodingErrorAction);
+    method public final java.nio.charset.CharsetDecoder replaceWith(String);
+    method public final String replacement();
+    method public final java.nio.charset.CharsetDecoder reset();
+    method public java.nio.charset.CodingErrorAction unmappableCharacterAction();
+  }
+
+  public abstract class CharsetEncoder {
+    ctor protected CharsetEncoder(java.nio.charset.Charset, float, float, byte[]);
+    ctor protected CharsetEncoder(java.nio.charset.Charset, float, float);
+    method public final float averageBytesPerChar();
+    method public boolean canEncode(char);
+    method public boolean canEncode(CharSequence);
+    method public final java.nio.charset.Charset charset();
+    method public final java.nio.charset.CoderResult encode(java.nio.CharBuffer, java.nio.ByteBuffer, boolean);
+    method public final java.nio.ByteBuffer encode(java.nio.CharBuffer) throws java.nio.charset.CharacterCodingException;
+    method protected abstract java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
+    method public final java.nio.charset.CoderResult flush(java.nio.ByteBuffer);
+    method protected java.nio.charset.CoderResult implFlush(java.nio.ByteBuffer);
+    method protected void implOnMalformedInput(java.nio.charset.CodingErrorAction);
+    method protected void implOnUnmappableCharacter(java.nio.charset.CodingErrorAction);
+    method protected void implReplaceWith(byte[]);
+    method protected void implReset();
+    method public boolean isLegalReplacement(byte[]);
+    method public java.nio.charset.CodingErrorAction malformedInputAction();
+    method public final float maxBytesPerChar();
+    method public final java.nio.charset.CharsetEncoder onMalformedInput(java.nio.charset.CodingErrorAction);
+    method public final java.nio.charset.CharsetEncoder onUnmappableCharacter(java.nio.charset.CodingErrorAction);
+    method public final java.nio.charset.CharsetEncoder replaceWith(byte[]);
+    method public final byte[] replacement();
+    method public final java.nio.charset.CharsetEncoder reset();
+    method public java.nio.charset.CodingErrorAction unmappableCharacterAction();
+  }
+
+  public class CoderMalfunctionError extends java.lang.Error {
+    ctor public CoderMalfunctionError(Exception);
+  }
+
+  public class CoderResult {
+    method public boolean isError();
+    method public boolean isMalformed();
+    method public boolean isOverflow();
+    method public boolean isUnderflow();
+    method public boolean isUnmappable();
+    method public int length();
+    method public static java.nio.charset.CoderResult malformedForLength(int);
+    method public void throwException() throws java.nio.charset.CharacterCodingException;
+    method public static java.nio.charset.CoderResult unmappableForLength(int);
+    field public static final java.nio.charset.CoderResult OVERFLOW;
+    field public static final java.nio.charset.CoderResult UNDERFLOW;
+  }
+
+  public class CodingErrorAction {
+    field public static final java.nio.charset.CodingErrorAction IGNORE;
+    field public static final java.nio.charset.CodingErrorAction REPLACE;
+    field public static final java.nio.charset.CodingErrorAction REPORT;
+  }
+
+  public class IllegalCharsetNameException extends java.lang.IllegalArgumentException {
+    ctor public IllegalCharsetNameException(String);
+    method public String getCharsetName();
+  }
+
+  public class MalformedInputException extends java.nio.charset.CharacterCodingException {
+    ctor public MalformedInputException(int);
+    method public int getInputLength();
+  }
+
+  public final class StandardCharsets {
+    field public static final java.nio.charset.Charset ISO_8859_1;
+    field public static final java.nio.charset.Charset US_ASCII;
+    field public static final java.nio.charset.Charset UTF_16;
+    field public static final java.nio.charset.Charset UTF_16BE;
+    field public static final java.nio.charset.Charset UTF_16LE;
+    field public static final java.nio.charset.Charset UTF_8;
+  }
+
+  public class UnmappableCharacterException extends java.nio.charset.CharacterCodingException {
+    ctor public UnmappableCharacterException(int);
+    method public int getInputLength();
+  }
+
+  public class UnsupportedCharsetException extends java.lang.IllegalArgumentException {
+    ctor public UnsupportedCharsetException(String);
+    method public String getCharsetName();
+  }
+
+}
+
+package java.nio.charset.spi {
+
+  public abstract class CharsetProvider {
+    ctor protected CharsetProvider();
+    method public abstract java.nio.charset.Charset charsetForName(String);
+    method public abstract java.util.Iterator<java.nio.charset.Charset> charsets();
+  }
+
+}
+
+package java.nio.file {
+
+  public class AccessDeniedException extends java.nio.file.FileSystemException {
+    ctor public AccessDeniedException(String);
+    ctor public AccessDeniedException(String, String, String);
+  }
+
+  public enum AccessMode {
+    enum_constant public static final java.nio.file.AccessMode EXECUTE;
+    enum_constant public static final java.nio.file.AccessMode READ;
+    enum_constant public static final java.nio.file.AccessMode WRITE;
+  }
+
+  public class AtomicMoveNotSupportedException extends java.nio.file.FileSystemException {
+    ctor public AtomicMoveNotSupportedException(String, String, String);
+  }
+
+  public class ClosedDirectoryStreamException extends java.lang.IllegalStateException {
+    ctor public ClosedDirectoryStreamException();
+  }
+
+  public class ClosedFileSystemException extends java.lang.IllegalStateException {
+    ctor public ClosedFileSystemException();
+  }
+
+  public class ClosedWatchServiceException extends java.lang.IllegalStateException {
+    ctor public ClosedWatchServiceException();
+  }
+
+  public interface CopyOption {
+  }
+
+  public final class DirectoryIteratorException extends java.util.ConcurrentModificationException {
+    ctor public DirectoryIteratorException(java.io.IOException);
+    method public java.io.IOException getCause();
+  }
+
+  public class DirectoryNotEmptyException extends java.nio.file.FileSystemException {
+    ctor public DirectoryNotEmptyException(String);
+  }
+
+  public interface DirectoryStream<T> extends java.io.Closeable java.lang.Iterable<T> {
+  }
+
+  @java.lang.FunctionalInterface public static interface DirectoryStream.Filter<T> {
+    method public boolean accept(T) throws java.io.IOException;
+  }
+
+  public class FileAlreadyExistsException extends java.nio.file.FileSystemException {
+    ctor public FileAlreadyExistsException(String);
+    ctor public FileAlreadyExistsException(String, String, String);
+  }
+
+  public abstract class FileStore {
+    ctor protected FileStore();
+    method public abstract Object getAttribute(String) throws java.io.IOException;
+    method public abstract <V extends java.nio.file.attribute.FileStoreAttributeView> V getFileStoreAttributeView(Class<V>);
+    method public abstract long getTotalSpace() throws java.io.IOException;
+    method public abstract long getUnallocatedSpace() throws java.io.IOException;
+    method public abstract long getUsableSpace() throws java.io.IOException;
+    method public abstract boolean isReadOnly();
+    method public abstract String name();
+    method public abstract boolean supportsFileAttributeView(Class<? extends java.nio.file.attribute.FileAttributeView>);
+    method public abstract boolean supportsFileAttributeView(String);
+    method public abstract String type();
+  }
+
+  public abstract class FileSystem implements java.io.Closeable {
+    ctor protected FileSystem();
+    method public abstract Iterable<java.nio.file.FileStore> getFileStores();
+    method public abstract java.nio.file.Path getPath(String, java.lang.String...);
+    method public abstract java.nio.file.PathMatcher getPathMatcher(String);
+    method public abstract Iterable<java.nio.file.Path> getRootDirectories();
+    method public abstract String getSeparator();
+    method public abstract java.nio.file.attribute.UserPrincipalLookupService getUserPrincipalLookupService();
+    method public abstract boolean isOpen();
+    method public abstract boolean isReadOnly();
+    method public abstract java.nio.file.WatchService newWatchService() throws java.io.IOException;
+    method public abstract java.nio.file.spi.FileSystemProvider provider();
+    method public abstract java.util.Set<java.lang.String> supportedFileAttributeViews();
+  }
+
+  public class FileSystemAlreadyExistsException extends java.lang.RuntimeException {
+    ctor public FileSystemAlreadyExistsException();
+    ctor public FileSystemAlreadyExistsException(String);
+  }
+
+  public class FileSystemException extends java.io.IOException {
+    ctor public FileSystemException(String);
+    ctor public FileSystemException(String, String, String);
+    method public String getFile();
+    method public String getOtherFile();
+    method public String getReason();
+  }
+
+  public class FileSystemLoopException extends java.nio.file.FileSystemException {
+    ctor public FileSystemLoopException(String);
+  }
+
+  public class FileSystemNotFoundException extends java.lang.RuntimeException {
+    ctor public FileSystemNotFoundException();
+    ctor public FileSystemNotFoundException(String);
+  }
+
+  public final class FileSystems {
+    method public static java.nio.file.FileSystem getDefault();
+    method public static java.nio.file.FileSystem getFileSystem(java.net.URI);
+    method public static java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map<java.lang.String,?>) throws java.io.IOException;
+    method public static java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map<java.lang.String,?>, ClassLoader) throws java.io.IOException;
+    method public static java.nio.file.FileSystem newFileSystem(java.nio.file.Path, ClassLoader) throws java.io.IOException;
+  }
+
+  public enum FileVisitOption {
+    enum_constant public static final java.nio.file.FileVisitOption FOLLOW_LINKS;
+  }
+
+  public enum FileVisitResult {
+    enum_constant public static final java.nio.file.FileVisitResult CONTINUE;
+    enum_constant public static final java.nio.file.FileVisitResult SKIP_SIBLINGS;
+    enum_constant public static final java.nio.file.FileVisitResult SKIP_SUBTREE;
+    enum_constant public static final java.nio.file.FileVisitResult TERMINATE;
+  }
+
+  public interface FileVisitor<T> {
+    method public java.nio.file.FileVisitResult postVisitDirectory(T, java.io.IOException) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult preVisitDirectory(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult visitFile(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult visitFileFailed(T, java.io.IOException) throws java.io.IOException;
+  }
+
+  public final class Files {
+    method public static java.nio.file.Path copy(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException;
+    method public static long copy(java.io.InputStream, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException;
+    method public static long copy(java.nio.file.Path, java.io.OutputStream) throws java.io.IOException;
+    method public static java.nio.file.Path createDirectories(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createFile(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createLink(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException;
+    method public static java.nio.file.Path createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createTempDirectory(java.nio.file.Path, String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createTempDirectory(String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createTempFile(java.nio.file.Path, String, String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.file.Path createTempFile(String, String, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static void delete(java.nio.file.Path) throws java.io.IOException;
+    method public static boolean deleteIfExists(java.nio.file.Path) throws java.io.IOException;
+    method public static boolean exists(java.nio.file.Path, java.nio.file.LinkOption...);
+    method public static java.util.stream.Stream<java.nio.file.Path> find(java.nio.file.Path, int, java.util.function.BiPredicate<java.nio.file.Path,java.nio.file.attribute.BasicFileAttributes>, java.nio.file.FileVisitOption...) throws java.io.IOException;
+    method public static Object getAttribute(java.nio.file.Path, String, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, Class<V>, java.nio.file.LinkOption...);
+    method public static java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException;
+    method public static java.nio.file.attribute.FileTime getLastModifiedTime(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static java.nio.file.attribute.UserPrincipal getOwner(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static java.util.Set<java.nio.file.attribute.PosixFilePermission> getPosixFilePermissions(java.nio.file.Path, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static boolean isDirectory(java.nio.file.Path, java.nio.file.LinkOption...);
+    method public static boolean isExecutable(java.nio.file.Path);
+    method public static boolean isHidden(java.nio.file.Path) throws java.io.IOException;
+    method public static boolean isReadable(java.nio.file.Path);
+    method public static boolean isRegularFile(java.nio.file.Path, java.nio.file.LinkOption...);
+    method public static boolean isSameFile(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException;
+    method public static boolean isSymbolicLink(java.nio.file.Path);
+    method public static boolean isWritable(java.nio.file.Path);
+    method public static java.util.stream.Stream<java.lang.String> lines(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException;
+    method public static java.util.stream.Stream<java.lang.String> lines(java.nio.file.Path) throws java.io.IOException;
+    method public static java.util.stream.Stream<java.nio.file.Path> list(java.nio.file.Path) throws java.io.IOException;
+    method public static java.nio.file.Path move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException;
+    method public static java.io.BufferedReader newBufferedReader(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException;
+    method public static java.io.BufferedReader newBufferedReader(java.nio.file.Path) throws java.io.IOException;
+    method public static java.io.BufferedWriter newBufferedWriter(java.nio.file.Path, java.nio.charset.Charset, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.io.BufferedWriter newBufferedWriter(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public static java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path) throws java.io.IOException;
+    method public static java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, String) throws java.io.IOException;
+    method public static java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream.Filter<? super java.nio.file.Path>) throws java.io.IOException;
+    method public static java.io.InputStream newInputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.io.OutputStream newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static boolean notExists(java.nio.file.Path, java.nio.file.LinkOption...);
+    method public static String probeContentType(java.nio.file.Path) throws java.io.IOException;
+    method public static byte[] readAllBytes(java.nio.file.Path) throws java.io.IOException;
+    method public static java.util.List<java.lang.String> readAllLines(java.nio.file.Path, java.nio.charset.Charset) throws java.io.IOException;
+    method public static java.util.List<java.lang.String> readAllLines(java.nio.file.Path) throws java.io.IOException;
+    method public static <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, Class<A>, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static java.util.Map<java.lang.String,java.lang.Object> readAttributes(java.nio.file.Path, String, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException;
+    method public static java.nio.file.Path setAttribute(java.nio.file.Path, String, Object, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public static java.nio.file.Path setLastModifiedTime(java.nio.file.Path, java.nio.file.attribute.FileTime) throws java.io.IOException;
+    method public static java.nio.file.Path setOwner(java.nio.file.Path, java.nio.file.attribute.UserPrincipal) throws java.io.IOException;
+    method public static java.nio.file.Path setPosixFilePermissions(java.nio.file.Path, java.util.Set<java.nio.file.attribute.PosixFilePermission>) throws java.io.IOException;
+    method public static long size(java.nio.file.Path) throws java.io.IOException;
+    method public static java.util.stream.Stream<java.nio.file.Path> walk(java.nio.file.Path, int, java.nio.file.FileVisitOption...) throws java.io.IOException;
+    method public static java.util.stream.Stream<java.nio.file.Path> walk(java.nio.file.Path, java.nio.file.FileVisitOption...) throws java.io.IOException;
+    method public static java.nio.file.Path walkFileTree(java.nio.file.Path, java.util.Set<java.nio.file.FileVisitOption>, int, java.nio.file.FileVisitor<? super java.nio.file.Path>) throws java.io.IOException;
+    method public static java.nio.file.Path walkFileTree(java.nio.file.Path, java.nio.file.FileVisitor<? super java.nio.file.Path>) throws java.io.IOException;
+    method public static java.nio.file.Path write(java.nio.file.Path, byte[], java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.nio.file.Path write(java.nio.file.Path, Iterable<? extends java.lang.CharSequence>, java.nio.charset.Charset, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public static java.nio.file.Path write(java.nio.file.Path, Iterable<? extends java.lang.CharSequence>, java.nio.file.OpenOption...) throws java.io.IOException;
+  }
+
+  public class InvalidPathException extends java.lang.IllegalArgumentException {
+    ctor public InvalidPathException(String, String, int);
+    ctor public InvalidPathException(String, String);
+    method public int getIndex();
+    method public String getInput();
+    method public String getReason();
+  }
+
+  public enum LinkOption implements java.nio.file.CopyOption java.nio.file.OpenOption {
+    enum_constant public static final java.nio.file.LinkOption NOFOLLOW_LINKS;
+  }
+
+  public final class LinkPermission extends java.security.BasicPermission {
+    ctor public LinkPermission(String);
+    ctor public LinkPermission(String, String);
+  }
+
+  public class NoSuchFileException extends java.nio.file.FileSystemException {
+    ctor public NoSuchFileException(String);
+    ctor public NoSuchFileException(String, String, String);
+  }
+
+  public class NotDirectoryException extends java.nio.file.FileSystemException {
+    ctor public NotDirectoryException(String);
+  }
+
+  public class NotLinkException extends java.nio.file.FileSystemException {
+    ctor public NotLinkException(String);
+    ctor public NotLinkException(String, String, String);
+  }
+
+  public interface OpenOption {
+  }
+
+  public interface Path extends java.lang.Comparable<java.nio.file.Path> java.lang.Iterable<java.nio.file.Path> java.nio.file.Watchable {
+    method public int compareTo(java.nio.file.Path);
+    method public boolean endsWith(java.nio.file.Path);
+    method public boolean endsWith(String);
+    method public boolean equals(Object);
+    method public java.nio.file.Path getFileName();
+    method public java.nio.file.FileSystem getFileSystem();
+    method public java.nio.file.Path getName(int);
+    method public int getNameCount();
+    method public java.nio.file.Path getParent();
+    method public java.nio.file.Path getRoot();
+    method public int hashCode();
+    method public boolean isAbsolute();
+    method public java.util.Iterator<java.nio.file.Path> iterator();
+    method public java.nio.file.Path normalize();
+    method public java.nio.file.Path relativize(java.nio.file.Path);
+    method public java.nio.file.Path resolve(java.nio.file.Path);
+    method public java.nio.file.Path resolve(String);
+    method public java.nio.file.Path resolveSibling(java.nio.file.Path);
+    method public java.nio.file.Path resolveSibling(String);
+    method public boolean startsWith(java.nio.file.Path);
+    method public boolean startsWith(String);
+    method public java.nio.file.Path subpath(int, int);
+    method public java.nio.file.Path toAbsolutePath();
+    method public java.io.File toFile();
+    method public java.nio.file.Path toRealPath(java.nio.file.LinkOption...) throws java.io.IOException;
+    method public String toString();
+    method public java.net.URI toUri();
+  }
+
+  @java.lang.FunctionalInterface public interface PathMatcher {
+    method public boolean matches(java.nio.file.Path);
+  }
+
+  public final class Paths {
+    method public static java.nio.file.Path get(String, java.lang.String...);
+    method public static java.nio.file.Path get(java.net.URI);
+  }
+
+  public class ProviderMismatchException extends java.lang.IllegalArgumentException {
+    ctor public ProviderMismatchException();
+    ctor public ProviderMismatchException(String);
+  }
+
+  public class ProviderNotFoundException extends java.lang.RuntimeException {
+    ctor public ProviderNotFoundException();
+    ctor public ProviderNotFoundException(String);
+  }
+
+  public class ReadOnlyFileSystemException extends java.lang.UnsupportedOperationException {
+    ctor public ReadOnlyFileSystemException();
+  }
+
+  public interface SecureDirectoryStream<T> extends java.nio.file.DirectoryStream<T> {
+    method public void deleteDirectory(T) throws java.io.IOException;
+    method public void deleteFile(T) throws java.io.IOException;
+    method public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(Class<V>);
+    method public <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(T, Class<V>, java.nio.file.LinkOption...);
+    method public void move(T, java.nio.file.SecureDirectoryStream<T>, T) throws java.io.IOException;
+    method public java.nio.channels.SeekableByteChannel newByteChannel(T, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public java.nio.file.SecureDirectoryStream<T> newDirectoryStream(T, java.nio.file.LinkOption...) throws java.io.IOException;
+  }
+
+  public class SimpleFileVisitor<T> implements java.nio.file.FileVisitor<T> {
+    ctor protected SimpleFileVisitor();
+    method public java.nio.file.FileVisitResult postVisitDirectory(T, java.io.IOException) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult preVisitDirectory(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult visitFile(T, java.nio.file.attribute.BasicFileAttributes) throws java.io.IOException;
+    method public java.nio.file.FileVisitResult visitFileFailed(T, java.io.IOException) throws java.io.IOException;
+  }
+
+  public enum StandardCopyOption implements java.nio.file.CopyOption {
+    enum_constant public static final java.nio.file.StandardCopyOption ATOMIC_MOVE;
+    enum_constant public static final java.nio.file.StandardCopyOption COPY_ATTRIBUTES;
+    enum_constant public static final java.nio.file.StandardCopyOption REPLACE_EXISTING;
+  }
+
+  public enum StandardOpenOption implements java.nio.file.OpenOption {
+    enum_constant public static final java.nio.file.StandardOpenOption APPEND;
+    enum_constant public static final java.nio.file.StandardOpenOption CREATE;
+    enum_constant public static final java.nio.file.StandardOpenOption CREATE_NEW;
+    enum_constant public static final java.nio.file.StandardOpenOption DELETE_ON_CLOSE;
+    enum_constant public static final java.nio.file.StandardOpenOption DSYNC;
+    enum_constant public static final java.nio.file.StandardOpenOption READ;
+    enum_constant public static final java.nio.file.StandardOpenOption SPARSE;
+    enum_constant public static final java.nio.file.StandardOpenOption SYNC;
+    enum_constant public static final java.nio.file.StandardOpenOption TRUNCATE_EXISTING;
+    enum_constant public static final java.nio.file.StandardOpenOption WRITE;
+  }
+
+  public final class StandardWatchEventKinds {
+    field public static final java.nio.file.WatchEvent.Kind<java.nio.file.Path> ENTRY_CREATE;
+    field public static final java.nio.file.WatchEvent.Kind<java.nio.file.Path> ENTRY_DELETE;
+    field public static final java.nio.file.WatchEvent.Kind<java.nio.file.Path> ENTRY_MODIFY;
+    field public static final java.nio.file.WatchEvent.Kind<java.lang.Object> OVERFLOW;
+  }
+
+  public interface WatchEvent<T> {
+    method public T context();
+    method public int count();
+    method public java.nio.file.WatchEvent.Kind<T> kind();
+  }
+
+  public static interface WatchEvent.Kind<T> {
+    method public String name();
+    method public Class<T> type();
+  }
+
+  public static interface WatchEvent.Modifier {
+    method public String name();
+  }
+
+  public interface WatchKey {
+    method public void cancel();
+    method public boolean isValid();
+    method public java.util.List<java.nio.file.WatchEvent<?>> pollEvents();
+    method public boolean reset();
+    method public java.nio.file.Watchable watchable();
+  }
+
+  public interface WatchService extends java.io.Closeable {
+    method public java.nio.file.WatchKey poll();
+    method public java.nio.file.WatchKey poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public java.nio.file.WatchKey take() throws java.lang.InterruptedException;
+  }
+
+  public interface Watchable {
+    method public java.nio.file.WatchKey register(java.nio.file.WatchService, java.nio.file.WatchEvent.Kind<?>[], java.nio.file.WatchEvent.Modifier...) throws java.io.IOException;
+    method public java.nio.file.WatchKey register(java.nio.file.WatchService, java.nio.file.WatchEvent.Kind<?>...) throws java.io.IOException;
+  }
+
+}
+
+package java.nio.file.attribute {
+
+  public final class AclEntry {
+    method public java.util.Set<java.nio.file.attribute.AclEntryFlag> flags();
+    method public static java.nio.file.attribute.AclEntry.Builder newBuilder();
+    method public static java.nio.file.attribute.AclEntry.Builder newBuilder(java.nio.file.attribute.AclEntry);
+    method public java.util.Set<java.nio.file.attribute.AclEntryPermission> permissions();
+    method public java.nio.file.attribute.UserPrincipal principal();
+    method public java.nio.file.attribute.AclEntryType type();
+  }
+
+  public static final class AclEntry.Builder {
+    method public java.nio.file.attribute.AclEntry build();
+    method public java.nio.file.attribute.AclEntry.Builder setFlags(java.util.Set<java.nio.file.attribute.AclEntryFlag>);
+    method public java.nio.file.attribute.AclEntry.Builder setFlags(java.nio.file.attribute.AclEntryFlag...);
+    method public java.nio.file.attribute.AclEntry.Builder setPermissions(java.util.Set<java.nio.file.attribute.AclEntryPermission>);
+    method public java.nio.file.attribute.AclEntry.Builder setPermissions(java.nio.file.attribute.AclEntryPermission...);
+    method public java.nio.file.attribute.AclEntry.Builder setPrincipal(java.nio.file.attribute.UserPrincipal);
+    method public java.nio.file.attribute.AclEntry.Builder setType(java.nio.file.attribute.AclEntryType);
+  }
+
+  public enum AclEntryFlag {
+    enum_constant public static final java.nio.file.attribute.AclEntryFlag DIRECTORY_INHERIT;
+    enum_constant public static final java.nio.file.attribute.AclEntryFlag FILE_INHERIT;
+    enum_constant public static final java.nio.file.attribute.AclEntryFlag INHERIT_ONLY;
+    enum_constant public static final java.nio.file.attribute.AclEntryFlag NO_PROPAGATE_INHERIT;
+  }
+
+  public enum AclEntryPermission {
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission APPEND_DATA;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission DELETE;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission DELETE_CHILD;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission EXECUTE;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_ACL;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_ATTRIBUTES;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_DATA;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission READ_NAMED_ATTRS;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission SYNCHRONIZE;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_ACL;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_ATTRIBUTES;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_DATA;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_NAMED_ATTRS;
+    enum_constant public static final java.nio.file.attribute.AclEntryPermission WRITE_OWNER;
+    field public static final java.nio.file.attribute.AclEntryPermission ADD_FILE;
+    field public static final java.nio.file.attribute.AclEntryPermission ADD_SUBDIRECTORY;
+    field public static final java.nio.file.attribute.AclEntryPermission LIST_DIRECTORY;
+  }
+
+  public enum AclEntryType {
+    enum_constant public static final java.nio.file.attribute.AclEntryType ALARM;
+    enum_constant public static final java.nio.file.attribute.AclEntryType ALLOW;
+    enum_constant public static final java.nio.file.attribute.AclEntryType AUDIT;
+    enum_constant public static final java.nio.file.attribute.AclEntryType DENY;
+  }
+
+  public interface AclFileAttributeView extends java.nio.file.attribute.FileOwnerAttributeView {
+    method public java.util.List<java.nio.file.attribute.AclEntry> getAcl() throws java.io.IOException;
+    method public void setAcl(java.util.List<java.nio.file.attribute.AclEntry>) throws java.io.IOException;
+  }
+
+  public interface AttributeView {
+    method public String name();
+  }
+
+  public interface BasicFileAttributeView extends java.nio.file.attribute.FileAttributeView {
+    method public java.nio.file.attribute.BasicFileAttributes readAttributes() throws java.io.IOException;
+    method public void setTimes(java.nio.file.attribute.FileTime, java.nio.file.attribute.FileTime, java.nio.file.attribute.FileTime) throws java.io.IOException;
+  }
+
+  public interface BasicFileAttributes {
+    method public java.nio.file.attribute.FileTime creationTime();
+    method public Object fileKey();
+    method public boolean isDirectory();
+    method public boolean isOther();
+    method public boolean isRegularFile();
+    method public boolean isSymbolicLink();
+    method public java.nio.file.attribute.FileTime lastAccessTime();
+    method public java.nio.file.attribute.FileTime lastModifiedTime();
+    method public long size();
+  }
+
+  public interface DosFileAttributeView extends java.nio.file.attribute.BasicFileAttributeView {
+    method public java.nio.file.attribute.DosFileAttributes readAttributes() throws java.io.IOException;
+    method public void setArchive(boolean) throws java.io.IOException;
+    method public void setHidden(boolean) throws java.io.IOException;
+    method public void setReadOnly(boolean) throws java.io.IOException;
+    method public void setSystem(boolean) throws java.io.IOException;
+  }
+
+  public interface DosFileAttributes extends java.nio.file.attribute.BasicFileAttributes {
+    method public boolean isArchive();
+    method public boolean isHidden();
+    method public boolean isReadOnly();
+    method public boolean isSystem();
+  }
+
+  public interface FileAttribute<T> {
+    method public String name();
+    method public T value();
+  }
+
+  public interface FileAttributeView extends java.nio.file.attribute.AttributeView {
+  }
+
+  public interface FileOwnerAttributeView extends java.nio.file.attribute.FileAttributeView {
+    method public java.nio.file.attribute.UserPrincipal getOwner() throws java.io.IOException;
+    method public void setOwner(java.nio.file.attribute.UserPrincipal) throws java.io.IOException;
+  }
+
+  public interface FileStoreAttributeView extends java.nio.file.attribute.AttributeView {
+  }
+
+  public final class FileTime implements java.lang.Comparable<java.nio.file.attribute.FileTime> {
+    method public int compareTo(java.nio.file.attribute.FileTime);
+    method public static java.nio.file.attribute.FileTime from(long, java.util.concurrent.TimeUnit);
+    method public static java.nio.file.attribute.FileTime from(java.time.Instant);
+    method public static java.nio.file.attribute.FileTime fromMillis(long);
+    method public long to(java.util.concurrent.TimeUnit);
+    method public java.time.Instant toInstant();
+    method public long toMillis();
+  }
+
+  public interface GroupPrincipal extends java.nio.file.attribute.UserPrincipal {
+  }
+
+  public interface PosixFileAttributeView extends java.nio.file.attribute.BasicFileAttributeView java.nio.file.attribute.FileOwnerAttributeView {
+    method public java.nio.file.attribute.PosixFileAttributes readAttributes() throws java.io.IOException;
+    method public void setGroup(java.nio.file.attribute.GroupPrincipal) throws java.io.IOException;
+    method public void setPermissions(java.util.Set<java.nio.file.attribute.PosixFilePermission>) throws java.io.IOException;
+  }
+
+  public interface PosixFileAttributes extends java.nio.file.attribute.BasicFileAttributes {
+    method public java.nio.file.attribute.GroupPrincipal group();
+    method public java.nio.file.attribute.UserPrincipal owner();
+    method public java.util.Set<java.nio.file.attribute.PosixFilePermission> permissions();
+  }
+
+  public enum PosixFilePermission {
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission GROUP_EXECUTE;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission GROUP_READ;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission GROUP_WRITE;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OTHERS_EXECUTE;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OTHERS_READ;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OTHERS_WRITE;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OWNER_EXECUTE;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OWNER_READ;
+    enum_constant public static final java.nio.file.attribute.PosixFilePermission OWNER_WRITE;
+  }
+
+  public final class PosixFilePermissions {
+    method public static java.nio.file.attribute.FileAttribute<java.util.Set<java.nio.file.attribute.PosixFilePermission>> asFileAttribute(java.util.Set<java.nio.file.attribute.PosixFilePermission>);
+    method public static java.util.Set<java.nio.file.attribute.PosixFilePermission> fromString(String);
+    method public static String toString(java.util.Set<java.nio.file.attribute.PosixFilePermission>);
+  }
+
+  public interface UserDefinedFileAttributeView extends java.nio.file.attribute.FileAttributeView {
+    method public void delete(String) throws java.io.IOException;
+    method public java.util.List<java.lang.String> list() throws java.io.IOException;
+    method public int read(String, java.nio.ByteBuffer) throws java.io.IOException;
+    method public int size(String) throws java.io.IOException;
+    method public int write(String, java.nio.ByteBuffer) throws java.io.IOException;
+  }
+
+  public interface UserPrincipal extends java.security.Principal {
+  }
+
+  public abstract class UserPrincipalLookupService {
+    ctor protected UserPrincipalLookupService();
+    method public abstract java.nio.file.attribute.GroupPrincipal lookupPrincipalByGroupName(String) throws java.io.IOException;
+    method public abstract java.nio.file.attribute.UserPrincipal lookupPrincipalByName(String) throws java.io.IOException;
+  }
+
+  public class UserPrincipalNotFoundException extends java.io.IOException {
+    ctor public UserPrincipalNotFoundException(String);
+    method public String getName();
+  }
+
+}
+
+package java.nio.file.spi {
+
+  public abstract class FileSystemProvider {
+    ctor protected FileSystemProvider();
+    method public abstract void checkAccess(java.nio.file.Path, java.nio.file.AccessMode...) throws java.io.IOException;
+    method public abstract void copy(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException;
+    method public abstract void createDirectory(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public void createLink(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException;
+    method public void createSymbolicLink(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public abstract void delete(java.nio.file.Path) throws java.io.IOException;
+    method public boolean deleteIfExists(java.nio.file.Path) throws java.io.IOException;
+    method public abstract <V extends java.nio.file.attribute.FileAttributeView> V getFileAttributeView(java.nio.file.Path, Class<V>, java.nio.file.LinkOption...);
+    method public abstract java.nio.file.FileStore getFileStore(java.nio.file.Path) throws java.io.IOException;
+    method public abstract java.nio.file.FileSystem getFileSystem(java.net.URI);
+    method public abstract java.nio.file.Path getPath(java.net.URI);
+    method public abstract String getScheme();
+    method public static java.util.List<java.nio.file.spi.FileSystemProvider> installedProviders();
+    method public abstract boolean isHidden(java.nio.file.Path) throws java.io.IOException;
+    method public abstract boolean isSameFile(java.nio.file.Path, java.nio.file.Path) throws java.io.IOException;
+    method public abstract void move(java.nio.file.Path, java.nio.file.Path, java.nio.file.CopyOption...) throws java.io.IOException;
+    method public java.nio.channels.AsynchronousFileChannel newAsynchronousFileChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.util.concurrent.ExecutorService, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public abstract java.nio.channels.SeekableByteChannel newByteChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public abstract java.nio.file.DirectoryStream<java.nio.file.Path> newDirectoryStream(java.nio.file.Path, java.nio.file.DirectoryStream.Filter<? super java.nio.file.Path>) throws java.io.IOException;
+    method public java.nio.channels.FileChannel newFileChannel(java.nio.file.Path, java.util.Set<? extends java.nio.file.OpenOption>, java.nio.file.attribute.FileAttribute<?>...) throws java.io.IOException;
+    method public abstract java.nio.file.FileSystem newFileSystem(java.net.URI, java.util.Map<java.lang.String,?>) throws java.io.IOException;
+    method public java.nio.file.FileSystem newFileSystem(java.nio.file.Path, java.util.Map<java.lang.String,?>) throws java.io.IOException;
+    method public java.io.InputStream newInputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public java.io.OutputStream newOutputStream(java.nio.file.Path, java.nio.file.OpenOption...) throws java.io.IOException;
+    method public abstract <A extends java.nio.file.attribute.BasicFileAttributes> A readAttributes(java.nio.file.Path, Class<A>, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public abstract java.util.Map<java.lang.String,java.lang.Object> readAttributes(java.nio.file.Path, String, java.nio.file.LinkOption...) throws java.io.IOException;
+    method public java.nio.file.Path readSymbolicLink(java.nio.file.Path) throws java.io.IOException;
+    method public abstract void setAttribute(java.nio.file.Path, String, Object, java.nio.file.LinkOption...) throws java.io.IOException;
+  }
+
+  public abstract class FileTypeDetector {
+    ctor protected FileTypeDetector();
+    method public abstract String probeContentType(java.nio.file.Path) throws java.io.IOException;
+  }
+
+}
+
+package java.security {
+
+  public final class AccessControlContext {
+    ctor public AccessControlContext(java.security.ProtectionDomain[]);
+    ctor public AccessControlContext(java.security.AccessControlContext, java.security.DomainCombiner);
+    method public void checkPermission(java.security.Permission) throws java.security.AccessControlException;
+    method public java.security.DomainCombiner getDomainCombiner();
+  }
+
+  public class AccessControlException extends java.lang.SecurityException {
+    ctor public AccessControlException(String);
+    ctor public AccessControlException(String, java.security.Permission);
+    method public java.security.Permission getPermission();
+  }
+
+  public final class AccessController {
+    method public static void checkPermission(java.security.Permission) throws java.security.AccessControlException;
+    method public static <T> T doPrivileged(java.security.PrivilegedAction<T>);
+    method public static <T> T doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+    method public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+    method public static <T> T doPrivileged(java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+    method public static <T> T doPrivilegedWithCombiner(java.security.PrivilegedAction<T>);
+    method public static <T> T doPrivilegedWithCombiner(java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+    method public static java.security.AccessControlContext getContext();
+  }
+
+  public interface AlgorithmConstraints {
+    method public boolean permits(java.util.Set<java.security.CryptoPrimitive>, String, java.security.AlgorithmParameters);
+    method public boolean permits(java.util.Set<java.security.CryptoPrimitive>, java.security.Key);
+    method public boolean permits(java.util.Set<java.security.CryptoPrimitive>, String, java.security.Key, java.security.AlgorithmParameters);
+  }
+
+  public class AlgorithmParameterGenerator {
+    ctor protected AlgorithmParameterGenerator(java.security.AlgorithmParameterGeneratorSpi, java.security.Provider, String);
+    method public final java.security.AlgorithmParameters generateParameters();
+    method public final String getAlgorithm();
+    method public static java.security.AlgorithmParameterGenerator getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.AlgorithmParameterGenerator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.AlgorithmParameterGenerator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final void init(int);
+    method public final void init(int, java.security.SecureRandom);
+    method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+    method public final void init(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public abstract class AlgorithmParameterGeneratorSpi {
+    ctor public AlgorithmParameterGeneratorSpi();
+    method protected abstract java.security.AlgorithmParameters engineGenerateParameters();
+    method protected abstract void engineInit(int, java.security.SecureRandom);
+    method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public class AlgorithmParameters {
+    ctor protected AlgorithmParameters(java.security.AlgorithmParametersSpi, java.security.Provider, String);
+    method public final String getAlgorithm();
+    method public final byte[] getEncoded() throws java.io.IOException;
+    method public final byte[] getEncoded(String) throws java.io.IOException;
+    method public static java.security.AlgorithmParameters getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.AlgorithmParameters getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.AlgorithmParameters getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final <T extends java.security.spec.AlgorithmParameterSpec> T getParameterSpec(Class<T>) throws java.security.spec.InvalidParameterSpecException;
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
+    method public final void init(byte[]) throws java.io.IOException;
+    method public final void init(byte[], String) throws java.io.IOException;
+    method public final String toString();
+  }
+
+  public abstract class AlgorithmParametersSpi {
+    ctor public AlgorithmParametersSpi();
+    method protected abstract byte[] engineGetEncoded() throws java.io.IOException;
+    method protected abstract byte[] engineGetEncoded(String) throws java.io.IOException;
+    method protected abstract <T extends java.security.spec.AlgorithmParameterSpec> T engineGetParameterSpec(Class<T>) throws java.security.spec.InvalidParameterSpecException;
+    method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec) throws java.security.spec.InvalidParameterSpecException;
+    method protected abstract void engineInit(byte[]) throws java.io.IOException;
+    method protected abstract void engineInit(byte[], String) throws java.io.IOException;
+    method protected abstract String engineToString();
+  }
+
+  public final class AllPermission extends java.security.Permission {
+    ctor public AllPermission();
+    ctor public AllPermission(String, String);
+    method public String getActions();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public abstract class AuthProvider extends java.security.Provider {
+    ctor protected AuthProvider(String, double, String);
+    method public abstract void login(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler) throws javax.security.auth.login.LoginException;
+    method public abstract void logout() throws javax.security.auth.login.LoginException;
+    method public abstract void setCallbackHandler(javax.security.auth.callback.CallbackHandler);
+  }
+
+  public abstract class BasicPermission extends java.security.Permission implements java.io.Serializable {
+    ctor public BasicPermission(String);
+    ctor public BasicPermission(String, String);
+    method public String getActions();
+    method public boolean implies(java.security.Permission);
+  }
+
+  @Deprecated public interface Certificate {
+    method @Deprecated public void decode(java.io.InputStream) throws java.io.IOException, java.security.KeyException;
+    method @Deprecated public void encode(java.io.OutputStream) throws java.io.IOException, java.security.KeyException;
+    method @Deprecated public String getFormat();
+    method @Deprecated public java.security.Principal getGuarantor();
+    method @Deprecated public java.security.Principal getPrincipal();
+    method @Deprecated public java.security.PublicKey getPublicKey();
+    method @Deprecated public String toString(boolean);
+  }
+
+  public final class CodeSigner implements java.io.Serializable {
+    ctor public CodeSigner(java.security.cert.CertPath, java.security.Timestamp);
+    method public java.security.cert.CertPath getSignerCertPath();
+    method public java.security.Timestamp getTimestamp();
+  }
+
+  public class CodeSource implements java.io.Serializable {
+    ctor public CodeSource(java.net.URL, java.security.cert.Certificate[]);
+    ctor public CodeSource(java.net.URL, java.security.CodeSigner[]);
+    method public final java.security.cert.Certificate[] getCertificates();
+    method public final java.security.CodeSigner[] getCodeSigners();
+    method public final java.net.URL getLocation();
+    method public boolean implies(java.security.CodeSource);
+  }
+
+  public enum CryptoPrimitive {
+    enum_constant public static final java.security.CryptoPrimitive BLOCK_CIPHER;
+    enum_constant public static final java.security.CryptoPrimitive KEY_AGREEMENT;
+    enum_constant public static final java.security.CryptoPrimitive KEY_ENCAPSULATION;
+    enum_constant public static final java.security.CryptoPrimitive KEY_WRAP;
+    enum_constant public static final java.security.CryptoPrimitive MAC;
+    enum_constant public static final java.security.CryptoPrimitive MESSAGE_DIGEST;
+    enum_constant public static final java.security.CryptoPrimitive PUBLIC_KEY_ENCRYPTION;
+    enum_constant public static final java.security.CryptoPrimitive SECURE_RANDOM;
+    enum_constant public static final java.security.CryptoPrimitive SIGNATURE;
+    enum_constant public static final java.security.CryptoPrimitive STREAM_CIPHER;
+  }
+
+  public class DigestException extends java.security.GeneralSecurityException {
+    ctor public DigestException();
+    ctor public DigestException(String);
+    ctor public DigestException(String, Throwable);
+    ctor public DigestException(Throwable);
+  }
+
+  public class DigestInputStream extends java.io.FilterInputStream {
+    ctor public DigestInputStream(java.io.InputStream, java.security.MessageDigest);
+    method public java.security.MessageDigest getMessageDigest();
+    method public void on(boolean);
+    method public void setMessageDigest(java.security.MessageDigest);
+    field protected java.security.MessageDigest digest;
+  }
+
+  public class DigestOutputStream extends java.io.FilterOutputStream {
+    ctor public DigestOutputStream(java.io.OutputStream, java.security.MessageDigest);
+    method public java.security.MessageDigest getMessageDigest();
+    method public void on(boolean);
+    method public void setMessageDigest(java.security.MessageDigest);
+    field protected java.security.MessageDigest digest;
+  }
+
+  public interface DomainCombiner {
+    method public java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
+  }
+
+  public final class DomainLoadStoreParameter implements java.security.KeyStore.LoadStoreParameter {
+    ctor public DomainLoadStoreParameter(java.net.URI, java.util.Map<java.lang.String,java.security.KeyStore.ProtectionParameter>);
+    method public java.net.URI getConfiguration();
+    method public java.security.KeyStore.ProtectionParameter getProtectionParameter();
+    method public java.util.Map<java.lang.String,java.security.KeyStore.ProtectionParameter> getProtectionParams();
+  }
+
+  public class GeneralSecurityException extends java.lang.Exception {
+    ctor public GeneralSecurityException();
+    ctor public GeneralSecurityException(String);
+    ctor public GeneralSecurityException(String, Throwable);
+    ctor public GeneralSecurityException(Throwable);
+  }
+
+  public interface Guard {
+    method public void checkGuard(Object) throws java.lang.SecurityException;
+  }
+
+  public class GuardedObject implements java.io.Serializable {
+    ctor public GuardedObject(Object, java.security.Guard);
+    method public Object getObject() throws java.lang.SecurityException;
+  }
+
+  @Deprecated public abstract class Identity implements java.security.Principal java.io.Serializable {
+    ctor @Deprecated protected Identity();
+    ctor @Deprecated public Identity(String, java.security.IdentityScope) throws java.security.KeyManagementException;
+    ctor @Deprecated public Identity(String);
+    method @Deprecated public void addCertificate(java.security.Certificate) throws java.security.KeyManagementException;
+    method @Deprecated public java.security.Certificate[] certificates();
+    method @Deprecated public final boolean equals(Object);
+    method @Deprecated public String getInfo();
+    method @Deprecated public final String getName();
+    method @Deprecated public java.security.PublicKey getPublicKey();
+    method @Deprecated public final java.security.IdentityScope getScope();
+    method @Deprecated protected boolean identityEquals(java.security.Identity);
+    method @Deprecated public void removeCertificate(java.security.Certificate) throws java.security.KeyManagementException;
+    method @Deprecated public void setInfo(String);
+    method @Deprecated public void setPublicKey(java.security.PublicKey) throws java.security.KeyManagementException;
+    method @Deprecated public String toString(boolean);
+  }
+
+  @Deprecated public abstract class IdentityScope extends java.security.Identity {
+    ctor @Deprecated protected IdentityScope();
+    ctor @Deprecated public IdentityScope(String);
+    ctor @Deprecated public IdentityScope(String, java.security.IdentityScope) throws java.security.KeyManagementException;
+    method @Deprecated public abstract void addIdentity(java.security.Identity) throws java.security.KeyManagementException;
+    method @Deprecated public abstract java.security.Identity getIdentity(String);
+    method @Deprecated public java.security.Identity getIdentity(java.security.Principal);
+    method @Deprecated public abstract java.security.Identity getIdentity(java.security.PublicKey);
+    method @Deprecated public static java.security.IdentityScope getSystemScope();
+    method @Deprecated public abstract java.util.Enumeration<java.security.Identity> identities();
+    method @Deprecated public abstract void removeIdentity(java.security.Identity) throws java.security.KeyManagementException;
+    method @Deprecated protected static void setSystemScope(java.security.IdentityScope);
+    method @Deprecated public abstract int size();
+  }
+
+  public class InvalidAlgorithmParameterException extends java.security.GeneralSecurityException {
+    ctor public InvalidAlgorithmParameterException();
+    ctor public InvalidAlgorithmParameterException(String);
+    ctor public InvalidAlgorithmParameterException(String, Throwable);
+    ctor public InvalidAlgorithmParameterException(Throwable);
+  }
+
+  public class InvalidKeyException extends java.security.KeyException {
+    ctor public InvalidKeyException();
+    ctor public InvalidKeyException(String);
+    ctor public InvalidKeyException(String, Throwable);
+    ctor public InvalidKeyException(Throwable);
+  }
+
+  public class InvalidParameterException extends java.lang.IllegalArgumentException {
+    ctor public InvalidParameterException();
+    ctor public InvalidParameterException(String);
+  }
+
+  public interface Key extends java.io.Serializable {
+    method public String getAlgorithm();
+    method public byte[] getEncoded();
+    method public String getFormat();
+    field public static final long serialVersionUID = 6603384152749567654L; // 0x5ba3eee69414eea6L
+  }
+
+  public class KeyException extends java.security.GeneralSecurityException {
+    ctor public KeyException();
+    ctor public KeyException(String);
+    ctor public KeyException(String, Throwable);
+    ctor public KeyException(Throwable);
+  }
+
+  public class KeyFactory {
+    ctor protected KeyFactory(java.security.KeyFactorySpi, java.security.Provider, String);
+    method public final java.security.PrivateKey generatePrivate(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method public final java.security.PublicKey generatePublic(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method public final String getAlgorithm();
+    method public static java.security.KeyFactory getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.KeyFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.KeyFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final <T extends java.security.spec.KeySpec> T getKeySpec(java.security.Key, Class<T>) throws java.security.spec.InvalidKeySpecException;
+    method public final java.security.Provider getProvider();
+    method public final java.security.Key translateKey(java.security.Key) throws java.security.InvalidKeyException;
+  }
+
+  public abstract class KeyFactorySpi {
+    ctor public KeyFactorySpi();
+    method protected abstract java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method protected abstract java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method protected abstract <T extends java.security.spec.KeySpec> T engineGetKeySpec(java.security.Key, Class<T>) throws java.security.spec.InvalidKeySpecException;
+    method protected abstract java.security.Key engineTranslateKey(java.security.Key) throws java.security.InvalidKeyException;
+  }
+
+  public class KeyManagementException extends java.security.KeyException {
+    ctor public KeyManagementException();
+    ctor public KeyManagementException(String);
+    ctor public KeyManagementException(String, Throwable);
+    ctor public KeyManagementException(Throwable);
+  }
+
+  public final class KeyPair implements java.io.Serializable {
+    ctor public KeyPair(java.security.PublicKey, java.security.PrivateKey);
+    method public java.security.PrivateKey getPrivate();
+    method public java.security.PublicKey getPublic();
+  }
+
+  public abstract class KeyPairGenerator extends java.security.KeyPairGeneratorSpi {
+    ctor protected KeyPairGenerator(String);
+    method public final java.security.KeyPair genKeyPair();
+    method public java.security.KeyPair generateKeyPair();
+    method public String getAlgorithm();
+    method public static java.security.KeyPairGenerator getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.KeyPairGenerator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.KeyPairGenerator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public void initialize(int);
+    method public void initialize(int, java.security.SecureRandom);
+    method public void initialize(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public abstract class KeyPairGeneratorSpi {
+    ctor public KeyPairGeneratorSpi();
+    method public abstract java.security.KeyPair generateKeyPair();
+    method public abstract void initialize(int, java.security.SecureRandom);
+    method public void initialize(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public class KeyRep implements java.io.Serializable {
+    ctor public KeyRep(java.security.KeyRep.Type, String, String, byte[]);
+    method protected Object readResolve() throws java.io.ObjectStreamException;
+  }
+
+  public enum KeyRep.Type {
+    enum_constant public static final java.security.KeyRep.Type PRIVATE;
+    enum_constant public static final java.security.KeyRep.Type PUBLIC;
+    enum_constant public static final java.security.KeyRep.Type SECRET;
+  }
+
+  public class KeyStore {
+    ctor protected KeyStore(java.security.KeyStoreSpi, java.security.Provider, String);
+    method public final java.util.Enumeration<java.lang.String> aliases() throws java.security.KeyStoreException;
+    method public final boolean containsAlias(String) throws java.security.KeyStoreException;
+    method public final void deleteEntry(String) throws java.security.KeyStoreException;
+    method public final boolean entryInstanceOf(String, Class<? extends java.security.KeyStore.Entry>) throws java.security.KeyStoreException;
+    method public final java.security.cert.Certificate getCertificate(String) throws java.security.KeyStoreException;
+    method public final String getCertificateAlias(java.security.cert.Certificate) throws java.security.KeyStoreException;
+    method public final java.security.cert.Certificate[] getCertificateChain(String) throws java.security.KeyStoreException;
+    method public final java.util.Date getCreationDate(String) throws java.security.KeyStoreException;
+    method public static final String getDefaultType();
+    method public final java.security.KeyStore.Entry getEntry(String, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException;
+    method public static java.security.KeyStore getInstance(String) throws java.security.KeyStoreException;
+    method public static java.security.KeyStore getInstance(String, String) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
+    method public static java.security.KeyStore getInstance(String, java.security.Provider) throws java.security.KeyStoreException;
+    method public final java.security.Key getKey(String, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    method public final java.security.Provider getProvider();
+    method public final String getType();
+    method public final boolean isCertificateEntry(String) throws java.security.KeyStoreException;
+    method public final boolean isKeyEntry(String) throws java.security.KeyStoreException;
+    method public final void load(java.io.InputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+    method public final void load(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+    method public final void setCertificateEntry(String, java.security.cert.Certificate) throws java.security.KeyStoreException;
+    method public final void setEntry(String, java.security.KeyStore.Entry, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException;
+    method public final void setKeyEntry(String, java.security.Key, char[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+    method public final void setKeyEntry(String, byte[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+    method public final int size() throws java.security.KeyStoreException;
+    method public final void store(java.io.OutputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException;
+    method public final void store(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException;
+  }
+
+  public abstract static class KeyStore.Builder {
+    ctor protected KeyStore.Builder();
+    method public abstract java.security.KeyStore getKeyStore() throws java.security.KeyStoreException;
+    method public abstract java.security.KeyStore.ProtectionParameter getProtectionParameter(String) throws java.security.KeyStoreException;
+    method public static java.security.KeyStore.Builder newInstance(java.security.KeyStore, java.security.KeyStore.ProtectionParameter);
+    method public static java.security.KeyStore.Builder newInstance(String, java.security.Provider, java.io.File, java.security.KeyStore.ProtectionParameter);
+    method public static java.security.KeyStore.Builder newInstance(String, java.security.Provider, java.security.KeyStore.ProtectionParameter);
+  }
+
+  public static class KeyStore.CallbackHandlerProtection implements java.security.KeyStore.ProtectionParameter {
+    ctor public KeyStore.CallbackHandlerProtection(javax.security.auth.callback.CallbackHandler);
+    method public javax.security.auth.callback.CallbackHandler getCallbackHandler();
+  }
+
+  public static interface KeyStore.Entry {
+    method public default java.util.Set<java.security.KeyStore.Entry.Attribute> getAttributes();
+  }
+
+  public static interface KeyStore.Entry.Attribute {
+    method public String getName();
+    method public String getValue();
+  }
+
+  public static interface KeyStore.LoadStoreParameter {
+    method public java.security.KeyStore.ProtectionParameter getProtectionParameter();
+  }
+
+  public static class KeyStore.PasswordProtection implements javax.security.auth.Destroyable java.security.KeyStore.ProtectionParameter {
+    ctor public KeyStore.PasswordProtection(char[]);
+    ctor public KeyStore.PasswordProtection(char[], String, java.security.spec.AlgorithmParameterSpec);
+    method public char[] getPassword();
+    method public String getProtectionAlgorithm();
+    method public java.security.spec.AlgorithmParameterSpec getProtectionParameters();
+  }
+
+  public static final class KeyStore.PrivateKeyEntry implements java.security.KeyStore.Entry {
+    ctor public KeyStore.PrivateKeyEntry(java.security.PrivateKey, java.security.cert.Certificate[]);
+    ctor public KeyStore.PrivateKeyEntry(java.security.PrivateKey, java.security.cert.Certificate[], java.util.Set<java.security.KeyStore.Entry.Attribute>);
+    method public java.security.cert.Certificate getCertificate();
+    method public java.security.cert.Certificate[] getCertificateChain();
+    method public java.security.PrivateKey getPrivateKey();
+  }
+
+  public static interface KeyStore.ProtectionParameter {
+  }
+
+  public static final class KeyStore.SecretKeyEntry implements java.security.KeyStore.Entry {
+    ctor public KeyStore.SecretKeyEntry(javax.crypto.SecretKey);
+    ctor public KeyStore.SecretKeyEntry(javax.crypto.SecretKey, java.util.Set<java.security.KeyStore.Entry.Attribute>);
+    method public javax.crypto.SecretKey getSecretKey();
+  }
+
+  public static final class KeyStore.TrustedCertificateEntry implements java.security.KeyStore.Entry {
+    ctor public KeyStore.TrustedCertificateEntry(java.security.cert.Certificate);
+    ctor public KeyStore.TrustedCertificateEntry(java.security.cert.Certificate, java.util.Set<java.security.KeyStore.Entry.Attribute>);
+    method public java.security.cert.Certificate getTrustedCertificate();
+  }
+
+  public class KeyStoreException extends java.security.GeneralSecurityException {
+    ctor public KeyStoreException();
+    ctor public KeyStoreException(String);
+    ctor public KeyStoreException(String, Throwable);
+    ctor public KeyStoreException(Throwable);
+  }
+
+  public abstract class KeyStoreSpi {
+    ctor public KeyStoreSpi();
+    method public abstract java.util.Enumeration<java.lang.String> engineAliases();
+    method public abstract boolean engineContainsAlias(String);
+    method public abstract void engineDeleteEntry(String) throws java.security.KeyStoreException;
+    method public boolean engineEntryInstanceOf(String, Class<? extends java.security.KeyStore.Entry>);
+    method public abstract java.security.cert.Certificate engineGetCertificate(String);
+    method public abstract String engineGetCertificateAlias(java.security.cert.Certificate);
+    method public abstract java.security.cert.Certificate[] engineGetCertificateChain(String);
+    method public abstract java.util.Date engineGetCreationDate(String);
+    method public java.security.KeyStore.Entry engineGetEntry(String, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException;
+    method public abstract java.security.Key engineGetKey(String, char[]) throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    method public abstract boolean engineIsCertificateEntry(String);
+    method public abstract boolean engineIsKeyEntry(String);
+    method public abstract void engineLoad(java.io.InputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+    method public void engineLoad(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+    method public abstract void engineSetCertificateEntry(String, java.security.cert.Certificate) throws java.security.KeyStoreException;
+    method public void engineSetEntry(String, java.security.KeyStore.Entry, java.security.KeyStore.ProtectionParameter) throws java.security.KeyStoreException;
+    method public abstract void engineSetKeyEntry(String, java.security.Key, char[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+    method public abstract void engineSetKeyEntry(String, byte[], java.security.cert.Certificate[]) throws java.security.KeyStoreException;
+    method public abstract int engineSize();
+    method public abstract void engineStore(java.io.OutputStream, char[]) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+    method public void engineStore(java.security.KeyStore.LoadStoreParameter) throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException;
+  }
+
+  public abstract class MessageDigest extends java.security.MessageDigestSpi {
+    ctor protected MessageDigest(@NonNull String);
+    method @NonNull public byte[] digest();
+    method public int digest(@NonNull byte[], int, int) throws java.security.DigestException;
+    method @NonNull public byte[] digest(@NonNull byte[]);
+    method @NonNull public final String getAlgorithm();
+    method public final int getDigestLength();
+    method @NonNull public static java.security.MessageDigest getInstance(@NonNull String) throws java.security.NoSuchAlgorithmException;
+    method @NonNull public static java.security.MessageDigest getInstance(@NonNull String, @NonNull String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method @NonNull public static java.security.MessageDigest getInstance(@NonNull String, @NonNull java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method @NonNull public final java.security.Provider getProvider();
+    method public static boolean isEqual(@Nullable byte[], @Nullable byte[]);
+    method public void reset();
+    method public void update(byte);
+    method public void update(@NonNull byte[], int, int);
+    method public void update(@NonNull byte[]);
+    method public final void update(@NonNull java.nio.ByteBuffer);
+  }
+
+  public abstract class MessageDigestSpi {
+    ctor public MessageDigestSpi();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method protected abstract byte[] engineDigest();
+    method protected int engineDigest(byte[], int, int) throws java.security.DigestException;
+    method protected int engineGetDigestLength();
+    method protected abstract void engineReset();
+    method protected abstract void engineUpdate(byte);
+    method protected abstract void engineUpdate(byte[], int, int);
+    method protected void engineUpdate(java.nio.ByteBuffer);
+  }
+
+  public class NoSuchAlgorithmException extends java.security.GeneralSecurityException {
+    ctor public NoSuchAlgorithmException();
+    ctor public NoSuchAlgorithmException(String);
+    ctor public NoSuchAlgorithmException(String, Throwable);
+    ctor public NoSuchAlgorithmException(Throwable);
+  }
+
+  public class NoSuchProviderException extends java.security.GeneralSecurityException {
+    ctor public NoSuchProviderException();
+    ctor public NoSuchProviderException(String);
+  }
+
+  public final class PKCS12Attribute implements java.security.KeyStore.Entry.Attribute {
+    ctor public PKCS12Attribute(String, String);
+    ctor public PKCS12Attribute(byte[]);
+    method public byte[] getEncoded();
+    method public String getName();
+    method public String getValue();
+  }
+
+  public abstract class Permission implements java.security.Guard java.io.Serializable {
+    ctor public Permission(String);
+    method public void checkGuard(Object) throws java.lang.SecurityException;
+    method public abstract String getActions();
+    method public final String getName();
+    method public abstract boolean implies(java.security.Permission);
+    method public java.security.PermissionCollection newPermissionCollection();
+  }
+
+  public abstract class PermissionCollection implements java.io.Serializable {
+    ctor public PermissionCollection();
+    method public abstract void add(java.security.Permission);
+    method public abstract java.util.Enumeration<java.security.Permission> elements();
+    method public abstract boolean implies(java.security.Permission);
+    method public boolean isReadOnly();
+    method public void setReadOnly();
+  }
+
+  public final class Permissions extends java.security.PermissionCollection implements java.io.Serializable {
+    ctor public Permissions();
+    method public void add(java.security.Permission);
+    method public java.util.Enumeration<java.security.Permission> elements();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public abstract class Policy {
+    ctor public Policy();
+    method public static java.security.Policy getInstance(String, java.security.Policy.Parameters) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.Policy getInstance(String, java.security.Policy.Parameters, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.Policy getInstance(String, java.security.Policy.Parameters, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public java.security.Policy.Parameters getParameters();
+    method public java.security.PermissionCollection getPermissions(java.security.CodeSource);
+    method public java.security.PermissionCollection getPermissions(java.security.ProtectionDomain);
+    method public static java.security.Policy getPolicy();
+    method public java.security.Provider getProvider();
+    method public String getType();
+    method public boolean implies(java.security.ProtectionDomain, java.security.Permission);
+    method public void refresh();
+    method public static void setPolicy(java.security.Policy);
+    field public static final java.security.PermissionCollection UNSUPPORTED_EMPTY_COLLECTION;
+  }
+
+  public static interface Policy.Parameters {
+  }
+
+  public abstract class PolicySpi {
+    ctor public PolicySpi();
+    method protected java.security.PermissionCollection engineGetPermissions(java.security.CodeSource);
+    method protected java.security.PermissionCollection engineGetPermissions(java.security.ProtectionDomain);
+    method protected abstract boolean engineImplies(java.security.ProtectionDomain, java.security.Permission);
+    method protected void engineRefresh();
+  }
+
+  public interface Principal {
+    method public boolean equals(Object);
+    method public String getName();
+    method public int hashCode();
+    method public default boolean implies(javax.security.auth.Subject);
+    method public String toString();
+  }
+
+  public interface PrivateKey extends java.security.Key javax.security.auth.Destroyable {
+    field public static final long serialVersionUID = 6034044314589513430L; // 0x53bd3b559a12c6d6L
+  }
+
+  public interface PrivilegedAction<T> {
+    method public T run();
+  }
+
+  public class PrivilegedActionException extends java.lang.Exception {
+    ctor public PrivilegedActionException(Exception);
+    method public Exception getException();
+  }
+
+  public interface PrivilegedExceptionAction<T> {
+    method public T run() throws java.lang.Exception;
+  }
+
+  public class ProtectionDomain {
+    ctor public ProtectionDomain(java.security.CodeSource, java.security.PermissionCollection);
+    ctor public ProtectionDomain(java.security.CodeSource, java.security.PermissionCollection, ClassLoader, java.security.Principal[]);
+    method public final ClassLoader getClassLoader();
+    method public final java.security.CodeSource getCodeSource();
+    method public final java.security.PermissionCollection getPermissions();
+    method public final java.security.Principal[] getPrincipals();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public abstract class Provider extends java.util.Properties {
+    ctor protected Provider(String, double, String);
+    method public Object compute(Object, java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>);
+    method public Object computeIfAbsent(Object, java.util.function.Function<? super java.lang.Object,?>);
+    method public Object computeIfPresent(Object, java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>);
+    method public java.util.Enumeration<java.lang.Object> elements();
+    method public java.util.Set<java.util.Map.Entry<java.lang.Object,java.lang.Object>> entrySet();
+    method public void forEach(java.util.function.BiConsumer<? super java.lang.Object,? super java.lang.Object>);
+    method public Object get(Object);
+    method public String getInfo();
+    method public String getName();
+    method public Object getOrDefault(Object, Object);
+    method public java.security.Provider.Service getService(String, String);
+    method public java.util.Set<java.security.Provider.Service> getServices();
+    method public double getVersion();
+    method public java.util.Set<java.lang.Object> keySet();
+    method public java.util.Enumeration<java.lang.Object> keys();
+    method public Object merge(Object, Object, java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>);
+    method public Object put(Object, Object);
+    method public void putAll(java.util.Map<?,?>);
+    method public Object putIfAbsent(Object, Object);
+    method protected void putService(java.security.Provider.Service);
+    method public Object remove(Object);
+    method protected void removeService(java.security.Provider.Service);
+    method public boolean replace(Object, Object, Object);
+    method public Object replace(Object, Object);
+    method public void replaceAll(java.util.function.BiFunction<? super java.lang.Object,? super java.lang.Object,?>);
+    method public java.util.Collection<java.lang.Object> values();
+  }
+
+  public static class Provider.Service {
+    ctor public Provider.Service(java.security.Provider, String, String, String, java.util.List<java.lang.String>, java.util.Map<java.lang.String,java.lang.String>);
+    method public final String getAlgorithm();
+    method public final String getAttribute(String);
+    method public final String getClassName();
+    method public final java.security.Provider getProvider();
+    method public final String getType();
+    method public Object newInstance(Object) throws java.security.NoSuchAlgorithmException;
+    method public boolean supportsParameter(Object);
+  }
+
+  public class ProviderException extends java.lang.RuntimeException {
+    ctor public ProviderException();
+    ctor public ProviderException(String);
+    ctor public ProviderException(String, Throwable);
+    ctor public ProviderException(Throwable);
+  }
+
+  public interface PublicKey extends java.security.Key {
+    field public static final long serialVersionUID = 7187392471159151072L; // 0x63bebf5f40c219e0L
+  }
+
+  public class SecureClassLoader extends java.lang.ClassLoader {
+    ctor protected SecureClassLoader(ClassLoader);
+    ctor protected SecureClassLoader();
+    method protected final Class<?> defineClass(String, byte[], int, int, java.security.CodeSource);
+    method protected final Class<?> defineClass(String, java.nio.ByteBuffer, java.security.CodeSource);
+    method protected java.security.PermissionCollection getPermissions(java.security.CodeSource);
+  }
+
+  public class SecureRandom extends java.util.Random {
+    ctor public SecureRandom();
+    ctor public SecureRandom(byte[]);
+    ctor protected SecureRandom(java.security.SecureRandomSpi, java.security.Provider);
+    method public byte[] generateSeed(int);
+    method public String getAlgorithm();
+    method public static java.security.SecureRandom getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.SecureRandom getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.SecureRandom getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.SecureRandom getInstanceStrong() throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public static byte[] getSeed(int);
+    method protected final int next(int);
+    method public void setSeed(byte[]);
+  }
+
+  public abstract class SecureRandomSpi implements java.io.Serializable {
+    ctor public SecureRandomSpi();
+    method protected abstract byte[] engineGenerateSeed(int);
+    method protected abstract void engineNextBytes(byte[]);
+    method protected abstract void engineSetSeed(byte[]);
+  }
+
+  public final class Security {
+    method public static int addProvider(java.security.Provider);
+    method @Deprecated public static String getAlgorithmProperty(String, String);
+    method public static java.util.Set<java.lang.String> getAlgorithms(String);
+    method public static String getProperty(String);
+    method public static java.security.Provider getProvider(String);
+    method public static java.security.Provider[] getProviders();
+    method public static java.security.Provider[] getProviders(String);
+    method public static java.security.Provider[] getProviders(java.util.Map<java.lang.String,java.lang.String>);
+    method public static int insertProviderAt(java.security.Provider, int);
+    method public static void removeProvider(String);
+    method public static void setProperty(String, String);
+  }
+
+  public final class SecurityPermission extends java.security.BasicPermission {
+    ctor public SecurityPermission(String);
+    ctor public SecurityPermission(String, String);
+  }
+
+  public abstract class Signature extends java.security.SignatureSpi {
+    ctor protected Signature(String);
+    method public final String getAlgorithm();
+    method public static java.security.Signature getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.Signature getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.Signature getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method @Deprecated public final Object getParameter(String) throws java.security.InvalidParameterException;
+    method public final java.security.AlgorithmParameters getParameters();
+    method public final java.security.Provider getProvider();
+    method public final void initSign(java.security.PrivateKey) throws java.security.InvalidKeyException;
+    method public final void initSign(java.security.PrivateKey, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method public final void initVerify(java.security.PublicKey) throws java.security.InvalidKeyException;
+    method public final void initVerify(java.security.cert.Certificate) throws java.security.InvalidKeyException;
+    method @Deprecated public final void setParameter(String, Object) throws java.security.InvalidParameterException;
+    method public final void setParameter(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+    method public final byte[] sign() throws java.security.SignatureException;
+    method public final int sign(byte[], int, int) throws java.security.SignatureException;
+    method public final void update(byte) throws java.security.SignatureException;
+    method public final void update(byte[]) throws java.security.SignatureException;
+    method public final void update(byte[], int, int) throws java.security.SignatureException;
+    method public final void update(java.nio.ByteBuffer) throws java.security.SignatureException;
+    method public final boolean verify(byte[]) throws java.security.SignatureException;
+    method public final boolean verify(byte[], int, int) throws java.security.SignatureException;
+    field protected static final int SIGN = 2; // 0x2
+    field protected static final int UNINITIALIZED = 0; // 0x0
+    field protected static final int VERIFY = 3; // 0x3
+    field protected int state;
+  }
+
+  public class SignatureException extends java.security.GeneralSecurityException {
+    ctor public SignatureException();
+    ctor public SignatureException(String);
+    ctor public SignatureException(String, Throwable);
+    ctor public SignatureException(Throwable);
+  }
+
+  public abstract class SignatureSpi {
+    ctor public SignatureSpi();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated protected abstract Object engineGetParameter(String) throws java.security.InvalidParameterException;
+    method protected java.security.AlgorithmParameters engineGetParameters();
+    method protected abstract void engineInitSign(java.security.PrivateKey) throws java.security.InvalidKeyException;
+    method protected void engineInitSign(java.security.PrivateKey, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method protected abstract void engineInitVerify(java.security.PublicKey) throws java.security.InvalidKeyException;
+    method @Deprecated protected abstract void engineSetParameter(String, Object) throws java.security.InvalidParameterException;
+    method protected void engineSetParameter(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+    method protected abstract byte[] engineSign() throws java.security.SignatureException;
+    method protected int engineSign(byte[], int, int) throws java.security.SignatureException;
+    method protected abstract void engineUpdate(byte) throws java.security.SignatureException;
+    method protected abstract void engineUpdate(byte[], int, int) throws java.security.SignatureException;
+    method protected void engineUpdate(java.nio.ByteBuffer);
+    method protected abstract boolean engineVerify(byte[]) throws java.security.SignatureException;
+    method protected boolean engineVerify(byte[], int, int) throws java.security.SignatureException;
+    field protected java.security.SecureRandom appRandom;
+  }
+
+  public final class SignedObject implements java.io.Serializable {
+    ctor public SignedObject(java.io.Serializable, java.security.PrivateKey, java.security.Signature) throws java.io.IOException, java.security.InvalidKeyException, java.security.SignatureException;
+    method public String getAlgorithm();
+    method public Object getObject() throws java.lang.ClassNotFoundException, java.io.IOException;
+    method public byte[] getSignature();
+    method public boolean verify(java.security.PublicKey, java.security.Signature) throws java.security.InvalidKeyException, java.security.SignatureException;
+  }
+
+  @Deprecated public abstract class Signer extends java.security.Identity {
+    ctor @Deprecated protected Signer();
+    ctor @Deprecated public Signer(String);
+    ctor @Deprecated public Signer(String, java.security.IdentityScope) throws java.security.KeyManagementException;
+    method @Deprecated public java.security.PrivateKey getPrivateKey();
+    method @Deprecated public final void setKeyPair(java.security.KeyPair) throws java.security.InvalidParameterException, java.security.KeyException;
+  }
+
+  public final class Timestamp implements java.io.Serializable {
+    ctor public Timestamp(java.util.Date, java.security.cert.CertPath);
+    method public java.security.cert.CertPath getSignerCertPath();
+    method public java.util.Date getTimestamp();
+  }
+
+  public class UnrecoverableEntryException extends java.security.GeneralSecurityException {
+    ctor public UnrecoverableEntryException();
+    ctor public UnrecoverableEntryException(String);
+  }
+
+  public class UnrecoverableKeyException extends java.security.UnrecoverableEntryException {
+    ctor public UnrecoverableKeyException();
+    ctor public UnrecoverableKeyException(String);
+  }
+
+  public final class UnresolvedPermission extends java.security.Permission implements java.io.Serializable {
+    ctor public UnresolvedPermission(String, String, String, java.security.cert.Certificate[]);
+    method public String getActions();
+    method public String getUnresolvedActions();
+    method public java.security.cert.Certificate[] getUnresolvedCerts();
+    method public String getUnresolvedName();
+    method public String getUnresolvedType();
+    method public boolean implies(java.security.Permission);
+  }
+
+}
+
+package java.security.acl {
+
+  public interface Acl extends java.security.acl.Owner {
+    method public boolean addEntry(java.security.Principal, java.security.acl.AclEntry) throws java.security.acl.NotOwnerException;
+    method public boolean checkPermission(java.security.Principal, java.security.acl.Permission);
+    method public java.util.Enumeration<java.security.acl.AclEntry> entries();
+    method public String getName();
+    method public java.util.Enumeration<java.security.acl.Permission> getPermissions(java.security.Principal);
+    method public boolean removeEntry(java.security.Principal, java.security.acl.AclEntry) throws java.security.acl.NotOwnerException;
+    method public void setName(java.security.Principal, String) throws java.security.acl.NotOwnerException;
+    method public String toString();
+  }
+
+  public interface AclEntry extends java.lang.Cloneable {
+    method public boolean addPermission(java.security.acl.Permission);
+    method public boolean checkPermission(java.security.acl.Permission);
+    method public Object clone();
+    method public java.security.Principal getPrincipal();
+    method public boolean isNegative();
+    method public java.util.Enumeration<java.security.acl.Permission> permissions();
+    method public boolean removePermission(java.security.acl.Permission);
+    method public void setNegativePermissions();
+    method public boolean setPrincipal(java.security.Principal);
+    method public String toString();
+  }
+
+  public class AclNotFoundException extends java.lang.Exception {
+    ctor public AclNotFoundException();
+  }
+
+  public interface Group extends java.security.Principal {
+    method public boolean addMember(java.security.Principal);
+    method public boolean isMember(java.security.Principal);
+    method public java.util.Enumeration<? extends java.security.Principal> members();
+    method public boolean removeMember(java.security.Principal);
+  }
+
+  public class LastOwnerException extends java.lang.Exception {
+    ctor public LastOwnerException();
+  }
+
+  public class NotOwnerException extends java.lang.Exception {
+    ctor public NotOwnerException();
+  }
+
+  public interface Owner {
+    method public boolean addOwner(java.security.Principal, java.security.Principal) throws java.security.acl.NotOwnerException;
+    method public boolean deleteOwner(java.security.Principal, java.security.Principal) throws java.security.acl.LastOwnerException, java.security.acl.NotOwnerException;
+    method public boolean isOwner(java.security.Principal);
+  }
+
+  public interface Permission {
+  }
+
+}
+
+package java.security.cert {
+
+  public abstract class CRL {
+    ctor protected CRL(String);
+    method public final String getType();
+    method public abstract boolean isRevoked(java.security.cert.Certificate);
+    method public abstract String toString();
+  }
+
+  public class CRLException extends java.security.GeneralSecurityException {
+    ctor public CRLException();
+    ctor public CRLException(String);
+    ctor public CRLException(String, Throwable);
+    ctor public CRLException(Throwable);
+  }
+
+  public enum CRLReason {
+    enum_constant public static final java.security.cert.CRLReason AA_COMPROMISE;
+    enum_constant public static final java.security.cert.CRLReason AFFILIATION_CHANGED;
+    enum_constant public static final java.security.cert.CRLReason CA_COMPROMISE;
+    enum_constant public static final java.security.cert.CRLReason CERTIFICATE_HOLD;
+    enum_constant public static final java.security.cert.CRLReason CESSATION_OF_OPERATION;
+    enum_constant public static final java.security.cert.CRLReason KEY_COMPROMISE;
+    enum_constant public static final java.security.cert.CRLReason PRIVILEGE_WITHDRAWN;
+    enum_constant public static final java.security.cert.CRLReason REMOVE_FROM_CRL;
+    enum_constant public static final java.security.cert.CRLReason SUPERSEDED;
+    enum_constant public static final java.security.cert.CRLReason UNSPECIFIED;
+    enum_constant public static final java.security.cert.CRLReason UNUSED;
+  }
+
+  public interface CRLSelector extends java.lang.Cloneable {
+    method public Object clone();
+    method public boolean match(java.security.cert.CRL);
+  }
+
+  public abstract class CertPath implements java.io.Serializable {
+    ctor protected CertPath(String);
+    method public abstract java.util.List<? extends java.security.cert.Certificate> getCertificates();
+    method public abstract byte[] getEncoded() throws java.security.cert.CertificateEncodingException;
+    method public abstract byte[] getEncoded(String) throws java.security.cert.CertificateEncodingException;
+    method public abstract java.util.Iterator<java.lang.String> getEncodings();
+    method public String getType();
+    method protected Object writeReplace() throws java.io.ObjectStreamException;
+  }
+
+  protected static class CertPath.CertPathRep implements java.io.Serializable {
+    ctor protected CertPath.CertPathRep(String, byte[]);
+    method protected Object readResolve() throws java.io.ObjectStreamException;
+  }
+
+  public class CertPathBuilder {
+    ctor protected CertPathBuilder(java.security.cert.CertPathBuilderSpi, java.security.Provider, String);
+    method public final java.security.cert.CertPathBuilderResult build(java.security.cert.CertPathParameters) throws java.security.cert.CertPathBuilderException, java.security.InvalidAlgorithmParameterException;
+    method public final String getAlgorithm();
+    method public static final String getDefaultType();
+    method public static java.security.cert.CertPathBuilder getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.cert.CertPathBuilder getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.cert.CertPathBuilder getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final java.security.cert.CertPathChecker getRevocationChecker();
+  }
+
+  public class CertPathBuilderException extends java.security.GeneralSecurityException {
+    ctor public CertPathBuilderException();
+    ctor public CertPathBuilderException(String);
+    ctor public CertPathBuilderException(Throwable);
+    ctor public CertPathBuilderException(String, Throwable);
+  }
+
+  public interface CertPathBuilderResult extends java.lang.Cloneable {
+    method public Object clone();
+    method public java.security.cert.CertPath getCertPath();
+  }
+
+  public abstract class CertPathBuilderSpi {
+    ctor public CertPathBuilderSpi();
+    method public abstract java.security.cert.CertPathBuilderResult engineBuild(java.security.cert.CertPathParameters) throws java.security.cert.CertPathBuilderException, java.security.InvalidAlgorithmParameterException;
+    method public java.security.cert.CertPathChecker engineGetRevocationChecker();
+  }
+
+  public interface CertPathChecker {
+    method public void check(java.security.cert.Certificate) throws java.security.cert.CertPathValidatorException;
+    method public void init(boolean) throws java.security.cert.CertPathValidatorException;
+    method public boolean isForwardCheckingSupported();
+  }
+
+  public interface CertPathParameters extends java.lang.Cloneable {
+    method public Object clone();
+  }
+
+  public class CertPathValidator {
+    ctor protected CertPathValidator(java.security.cert.CertPathValidatorSpi, java.security.Provider, String);
+    method public final String getAlgorithm();
+    method public static final String getDefaultType();
+    method public static java.security.cert.CertPathValidator getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static java.security.cert.CertPathValidator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.cert.CertPathValidator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final java.security.cert.CertPathChecker getRevocationChecker();
+    method public final java.security.cert.CertPathValidatorResult validate(java.security.cert.CertPath, java.security.cert.CertPathParameters) throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException;
+  }
+
+  public class CertPathValidatorException extends java.security.GeneralSecurityException {
+    ctor public CertPathValidatorException();
+    ctor public CertPathValidatorException(String);
+    ctor public CertPathValidatorException(Throwable);
+    ctor public CertPathValidatorException(String, Throwable);
+    ctor public CertPathValidatorException(String, Throwable, java.security.cert.CertPath, int);
+    ctor public CertPathValidatorException(String, Throwable, java.security.cert.CertPath, int, java.security.cert.CertPathValidatorException.Reason);
+    method public java.security.cert.CertPath getCertPath();
+    method public int getIndex();
+    method public java.security.cert.CertPathValidatorException.Reason getReason();
+  }
+
+  public enum CertPathValidatorException.BasicReason implements java.security.cert.CertPathValidatorException.Reason {
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason ALGORITHM_CONSTRAINED;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason EXPIRED;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason INVALID_SIGNATURE;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason NOT_YET_VALID;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason REVOKED;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason UNDETERMINED_REVOCATION_STATUS;
+    enum_constant public static final java.security.cert.CertPathValidatorException.BasicReason UNSPECIFIED;
+  }
+
+  public static interface CertPathValidatorException.Reason extends java.io.Serializable {
+  }
+
+  public interface CertPathValidatorResult extends java.lang.Cloneable {
+    method public Object clone();
+  }
+
+  public abstract class CertPathValidatorSpi {
+    ctor public CertPathValidatorSpi();
+    method public java.security.cert.CertPathChecker engineGetRevocationChecker();
+    method public abstract java.security.cert.CertPathValidatorResult engineValidate(java.security.cert.CertPath, java.security.cert.CertPathParameters) throws java.security.cert.CertPathValidatorException, java.security.InvalidAlgorithmParameterException;
+  }
+
+  public interface CertSelector extends java.lang.Cloneable {
+    method public Object clone();
+    method public boolean match(java.security.cert.Certificate);
+  }
+
+  public class CertStore {
+    ctor protected CertStore(java.security.cert.CertStoreSpi, java.security.Provider, String, java.security.cert.CertStoreParameters);
+    method public final java.util.Collection<? extends java.security.cert.CRL> getCRLs(java.security.cert.CRLSelector) throws java.security.cert.CertStoreException;
+    method public final java.security.cert.CertStoreParameters getCertStoreParameters();
+    method public final java.util.Collection<? extends java.security.cert.Certificate> getCertificates(java.security.cert.CertSelector) throws java.security.cert.CertStoreException;
+    method public static final String getDefaultType();
+    method public static java.security.cert.CertStore getInstance(String, java.security.cert.CertStoreParameters) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException;
+    method public static java.security.cert.CertStore getInstance(String, java.security.cert.CertStoreParameters, String) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static java.security.cert.CertStore getInstance(String, java.security.cert.CertStoreParameters, java.security.Provider) throws java.security.InvalidAlgorithmParameterException, java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final String getType();
+  }
+
+  public class CertStoreException extends java.security.GeneralSecurityException {
+    ctor public CertStoreException();
+    ctor public CertStoreException(String);
+    ctor public CertStoreException(Throwable);
+    ctor public CertStoreException(String, Throwable);
+  }
+
+  public interface CertStoreParameters extends java.lang.Cloneable {
+    method public Object clone();
+  }
+
+  public abstract class CertStoreSpi {
+    ctor public CertStoreSpi(java.security.cert.CertStoreParameters) throws java.security.InvalidAlgorithmParameterException;
+    method public abstract java.util.Collection<? extends java.security.cert.CRL> engineGetCRLs(java.security.cert.CRLSelector) throws java.security.cert.CertStoreException;
+    method public abstract java.util.Collection<? extends java.security.cert.Certificate> engineGetCertificates(java.security.cert.CertSelector) throws java.security.cert.CertStoreException;
+  }
+
+  public abstract class Certificate implements java.io.Serializable {
+    ctor protected Certificate(String);
+    method public abstract byte[] getEncoded() throws java.security.cert.CertificateEncodingException;
+    method public abstract java.security.PublicKey getPublicKey();
+    method public final String getType();
+    method public abstract String toString();
+    method public abstract void verify(java.security.PublicKey) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+    method public abstract void verify(java.security.PublicKey, String) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+    method public void verify(java.security.PublicKey, java.security.Provider) throws java.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.SignatureException;
+    method protected Object writeReplace() throws java.io.ObjectStreamException;
+  }
+
+  protected static class Certificate.CertificateRep implements java.io.Serializable {
+    ctor protected Certificate.CertificateRep(String, byte[]);
+    method protected Object readResolve() throws java.io.ObjectStreamException;
+  }
+
+  public class CertificateEncodingException extends java.security.cert.CertificateException {
+    ctor public CertificateEncodingException();
+    ctor public CertificateEncodingException(String);
+    ctor public CertificateEncodingException(String, Throwable);
+    ctor public CertificateEncodingException(Throwable);
+  }
+
+  public class CertificateException extends java.security.GeneralSecurityException {
+    ctor public CertificateException();
+    ctor public CertificateException(String);
+    ctor public CertificateException(String, Throwable);
+    ctor public CertificateException(Throwable);
+  }
+
+  public class CertificateExpiredException extends java.security.cert.CertificateException {
+    ctor public CertificateExpiredException();
+    ctor public CertificateExpiredException(String);
+  }
+
+  public class CertificateFactory {
+    ctor protected CertificateFactory(java.security.cert.CertificateFactorySpi, java.security.Provider, String);
+    method public final java.security.cert.CRL generateCRL(java.io.InputStream) throws java.security.cert.CRLException;
+    method public final java.util.Collection<? extends java.security.cert.CRL> generateCRLs(java.io.InputStream) throws java.security.cert.CRLException;
+    method public final java.security.cert.CertPath generateCertPath(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public final java.security.cert.CertPath generateCertPath(java.io.InputStream, String) throws java.security.cert.CertificateException;
+    method public final java.security.cert.CertPath generateCertPath(java.util.List<? extends java.security.cert.Certificate>) throws java.security.cert.CertificateException;
+    method public final java.security.cert.Certificate generateCertificate(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public final java.util.Collection<? extends java.security.cert.Certificate> generateCertificates(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public final java.util.Iterator<java.lang.String> getCertPathEncodings();
+    method public static final java.security.cert.CertificateFactory getInstance(String) throws java.security.cert.CertificateException;
+    method public static final java.security.cert.CertificateFactory getInstance(String, String) throws java.security.cert.CertificateException, java.security.NoSuchProviderException;
+    method public static final java.security.cert.CertificateFactory getInstance(String, java.security.Provider) throws java.security.cert.CertificateException;
+    method public final java.security.Provider getProvider();
+    method public final String getType();
+  }
+
+  public abstract class CertificateFactorySpi {
+    ctor public CertificateFactorySpi();
+    method public abstract java.security.cert.CRL engineGenerateCRL(java.io.InputStream) throws java.security.cert.CRLException;
+    method public abstract java.util.Collection<? extends java.security.cert.CRL> engineGenerateCRLs(java.io.InputStream) throws java.security.cert.CRLException;
+    method public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public java.security.cert.CertPath engineGenerateCertPath(java.io.InputStream, String) throws java.security.cert.CertificateException;
+    method public java.security.cert.CertPath engineGenerateCertPath(java.util.List<? extends java.security.cert.Certificate>) throws java.security.cert.CertificateException;
+    method public abstract java.security.cert.Certificate engineGenerateCertificate(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public abstract java.util.Collection<? extends java.security.cert.Certificate> engineGenerateCertificates(java.io.InputStream) throws java.security.cert.CertificateException;
+    method public java.util.Iterator<java.lang.String> engineGetCertPathEncodings();
+  }
+
+  public class CertificateNotYetValidException extends java.security.cert.CertificateException {
+    ctor public CertificateNotYetValidException();
+    ctor public CertificateNotYetValidException(String);
+  }
+
+  public class CertificateParsingException extends java.security.cert.CertificateException {
+    ctor public CertificateParsingException();
+    ctor public CertificateParsingException(String);
+    ctor public CertificateParsingException(String, Throwable);
+    ctor public CertificateParsingException(Throwable);
+  }
+
+  public class CertificateRevokedException extends java.security.cert.CertificateException {
+    ctor public CertificateRevokedException(java.util.Date, java.security.cert.CRLReason, javax.security.auth.x500.X500Principal, java.util.Map<java.lang.String,java.security.cert.Extension>);
+    method public javax.security.auth.x500.X500Principal getAuthorityName();
+    method public java.util.Map<java.lang.String,java.security.cert.Extension> getExtensions();
+    method public java.util.Date getInvalidityDate();
+    method public java.util.Date getRevocationDate();
+    method public java.security.cert.CRLReason getRevocationReason();
+  }
+
+  public class CollectionCertStoreParameters implements java.security.cert.CertStoreParameters {
+    ctor public CollectionCertStoreParameters(java.util.Collection<?>);
+    ctor public CollectionCertStoreParameters();
+    method public Object clone();
+    method public java.util.Collection<?> getCollection();
+  }
+
+  public interface Extension {
+    method public void encode(java.io.OutputStream) throws java.io.IOException;
+    method public String getId();
+    method public byte[] getValue();
+    method public boolean isCritical();
+  }
+
+  public class LDAPCertStoreParameters implements java.security.cert.CertStoreParameters {
+    ctor public LDAPCertStoreParameters(String, int);
+    ctor public LDAPCertStoreParameters(String);
+    ctor public LDAPCertStoreParameters();
+    method public Object clone();
+    method public int getPort();
+    method public String getServerName();
+  }
+
+  public class PKIXBuilderParameters extends java.security.cert.PKIXParameters {
+    ctor public PKIXBuilderParameters(java.util.Set<java.security.cert.TrustAnchor>, java.security.cert.CertSelector) throws java.security.InvalidAlgorithmParameterException;
+    ctor public PKIXBuilderParameters(java.security.KeyStore, java.security.cert.CertSelector) throws java.security.InvalidAlgorithmParameterException, java.security.KeyStoreException;
+    method public int getMaxPathLength();
+    method public void setMaxPathLength(int);
+  }
+
+  public class PKIXCertPathBuilderResult extends java.security.cert.PKIXCertPathValidatorResult implements java.security.cert.CertPathBuilderResult {
+    ctor public PKIXCertPathBuilderResult(java.security.cert.CertPath, java.security.cert.TrustAnchor, java.security.cert.PolicyNode, java.security.PublicKey);
+    method public java.security.cert.CertPath getCertPath();
+  }
+
+  public abstract class PKIXCertPathChecker implements java.security.cert.CertPathChecker java.lang.Cloneable {
+    ctor protected PKIXCertPathChecker();
+    method public abstract void check(java.security.cert.Certificate, java.util.Collection<java.lang.String>) throws java.security.cert.CertPathValidatorException;
+    method public void check(java.security.cert.Certificate) throws java.security.cert.CertPathValidatorException;
+    method public Object clone();
+    method public abstract java.util.Set<java.lang.String> getSupportedExtensions();
+  }
+
+  public class PKIXCertPathValidatorResult implements java.security.cert.CertPathValidatorResult {
+    ctor public PKIXCertPathValidatorResult(java.security.cert.TrustAnchor, java.security.cert.PolicyNode, java.security.PublicKey);
+    method public Object clone();
+    method public java.security.cert.PolicyNode getPolicyTree();
+    method public java.security.PublicKey getPublicKey();
+    method public java.security.cert.TrustAnchor getTrustAnchor();
+  }
+
+  public class PKIXParameters implements java.security.cert.CertPathParameters {
+    ctor public PKIXParameters(java.util.Set<java.security.cert.TrustAnchor>) throws java.security.InvalidAlgorithmParameterException;
+    ctor public PKIXParameters(java.security.KeyStore) throws java.security.InvalidAlgorithmParameterException, java.security.KeyStoreException;
+    method public void addCertPathChecker(java.security.cert.PKIXCertPathChecker);
+    method public void addCertStore(java.security.cert.CertStore);
+    method public Object clone();
+    method public java.util.List<java.security.cert.PKIXCertPathChecker> getCertPathCheckers();
+    method public java.util.List<java.security.cert.CertStore> getCertStores();
+    method public java.util.Date getDate();
+    method public java.util.Set<java.lang.String> getInitialPolicies();
+    method public boolean getPolicyQualifiersRejected();
+    method public String getSigProvider();
+    method public java.security.cert.CertSelector getTargetCertConstraints();
+    method public java.util.Set<java.security.cert.TrustAnchor> getTrustAnchors();
+    method public boolean isAnyPolicyInhibited();
+    method public boolean isExplicitPolicyRequired();
+    method public boolean isPolicyMappingInhibited();
+    method public boolean isRevocationEnabled();
+    method public void setAnyPolicyInhibited(boolean);
+    method public void setCertPathCheckers(java.util.List<java.security.cert.PKIXCertPathChecker>);
+    method public void setCertStores(java.util.List<java.security.cert.CertStore>);
+    method public void setDate(java.util.Date);
+    method public void setExplicitPolicyRequired(boolean);
+    method public void setInitialPolicies(java.util.Set<java.lang.String>);
+    method public void setPolicyMappingInhibited(boolean);
+    method public void setPolicyQualifiersRejected(boolean);
+    method public void setRevocationEnabled(boolean);
+    method public void setSigProvider(String);
+    method public void setTargetCertConstraints(java.security.cert.CertSelector);
+    method public void setTrustAnchors(java.util.Set<java.security.cert.TrustAnchor>) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public enum PKIXReason implements java.security.cert.CertPathValidatorException.Reason {
+    enum_constant public static final java.security.cert.PKIXReason INVALID_KEY_USAGE;
+    enum_constant public static final java.security.cert.PKIXReason INVALID_NAME;
+    enum_constant public static final java.security.cert.PKIXReason INVALID_POLICY;
+    enum_constant public static final java.security.cert.PKIXReason NAME_CHAINING;
+    enum_constant public static final java.security.cert.PKIXReason NOT_CA_CERT;
+    enum_constant public static final java.security.cert.PKIXReason NO_TRUST_ANCHOR;
+    enum_constant public static final java.security.cert.PKIXReason PATH_TOO_LONG;
+    enum_constant public static final java.security.cert.PKIXReason UNRECOGNIZED_CRIT_EXT;
+  }
+
+  public abstract class PKIXRevocationChecker extends java.security.cert.PKIXCertPathChecker {
+    ctor protected PKIXRevocationChecker();
+    method public java.security.cert.PKIXRevocationChecker clone();
+    method public java.util.List<java.security.cert.Extension> getOcspExtensions();
+    method public java.net.URI getOcspResponder();
+    method public java.security.cert.X509Certificate getOcspResponderCert();
+    method public java.util.Map<java.security.cert.X509Certificate,byte[]> getOcspResponses();
+    method public java.util.Set<java.security.cert.PKIXRevocationChecker.Option> getOptions();
+    method public abstract java.util.List<java.security.cert.CertPathValidatorException> getSoftFailExceptions();
+    method public void setOcspExtensions(java.util.List<java.security.cert.Extension>);
+    method public void setOcspResponder(java.net.URI);
+    method public void setOcspResponderCert(java.security.cert.X509Certificate);
+    method public void setOcspResponses(java.util.Map<java.security.cert.X509Certificate,byte[]>);
+    method public void setOptions(java.util.Set<java.security.cert.PKIXRevocationChecker.Option>);
+  }
+
+  public enum PKIXRevocationChecker.Option {
+    enum_constant public static final java.security.cert.PKIXRevocationChecker.Option NO_FALLBACK;
+    enum_constant public static final java.security.cert.PKIXRevocationChecker.Option ONLY_END_ENTITY;
+    enum_constant public static final java.security.cert.PKIXRevocationChecker.Option PREFER_CRLS;
+    enum_constant public static final java.security.cert.PKIXRevocationChecker.Option SOFT_FAIL;
+  }
+
+  public interface PolicyNode {
+    method public java.util.Iterator<? extends java.security.cert.PolicyNode> getChildren();
+    method public int getDepth();
+    method public java.util.Set<java.lang.String> getExpectedPolicies();
+    method public java.security.cert.PolicyNode getParent();
+    method public java.util.Set<? extends java.security.cert.PolicyQualifierInfo> getPolicyQualifiers();
+    method public String getValidPolicy();
+    method public boolean isCritical();
+  }
+
+  public class PolicyQualifierInfo {
+    ctor public PolicyQualifierInfo(byte[]) throws java.io.IOException;
+    method public final byte[] getEncoded();
+    method public final byte[] getPolicyQualifier();
+    method public final String getPolicyQualifierId();
+  }
+
+  public class TrustAnchor {
+    ctor public TrustAnchor(java.security.cert.X509Certificate, byte[]);
+    ctor public TrustAnchor(javax.security.auth.x500.X500Principal, java.security.PublicKey, byte[]);
+    ctor public TrustAnchor(String, java.security.PublicKey, byte[]);
+    method public final javax.security.auth.x500.X500Principal getCA();
+    method public final String getCAName();
+    method public final java.security.PublicKey getCAPublicKey();
+    method public final byte[] getNameConstraints();
+    method public final java.security.cert.X509Certificate getTrustedCert();
+  }
+
+  public abstract class X509CRL extends java.security.cert.CRL implements java.security.cert.X509Extension {
+    ctor protected X509CRL();
+    method public abstract byte[] getEncoded() throws java.security.cert.CRLException;
+    method public abstract java.security.Principal getIssuerDN();
+    method public javax.security.auth.x500.X500Principal getIssuerX500Principal();
+    method public abstract java.util.Date getNextUpdate();
+    method public abstract java.security.cert.X509CRLEntry getRevokedCertificate(java.math.BigInteger);
+    method public java.security.cert.X509CRLEntry getRevokedCertificate(java.security.cert.X509Certificate);
+    method public abstract java.util.Set<? extends java.security.cert.X509CRLEntry> getRevokedCertificates();
+    method public abstract String getSigAlgName();
+    method public abstract String getSigAlgOID();
+    method public abstract byte[] getSigAlgParams();
+    method public abstract byte[] getSignature();
+    method public abstract byte[] getTBSCertList() throws java.security.cert.CRLException;
+    method public abstract java.util.Date getThisUpdate();
+    method public abstract int getVersion();
+    method public abstract void verify(java.security.PublicKey) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+    method public abstract void verify(java.security.PublicKey, String) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+    method public void verify(java.security.PublicKey, java.security.Provider) throws java.security.cert.CRLException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.SignatureException;
+  }
+
+  public abstract class X509CRLEntry implements java.security.cert.X509Extension {
+    ctor public X509CRLEntry();
+    method public javax.security.auth.x500.X500Principal getCertificateIssuer();
+    method public abstract byte[] getEncoded() throws java.security.cert.CRLException;
+    method public abstract java.util.Date getRevocationDate();
+    method public java.security.cert.CRLReason getRevocationReason();
+    method public abstract java.math.BigInteger getSerialNumber();
+    method public abstract boolean hasExtensions();
+    method public abstract String toString();
+  }
+
+  public class X509CRLSelector implements java.security.cert.CRLSelector {
+    ctor public X509CRLSelector();
+    method public void addIssuer(javax.security.auth.x500.X500Principal);
+    method public void addIssuerName(String) throws java.io.IOException;
+    method public void addIssuerName(byte[]) throws java.io.IOException;
+    method public Object clone();
+    method public java.security.cert.X509Certificate getCertificateChecking();
+    method public java.util.Date getDateAndTime();
+    method public java.util.Collection<java.lang.Object> getIssuerNames();
+    method public java.util.Collection<javax.security.auth.x500.X500Principal> getIssuers();
+    method public java.math.BigInteger getMaxCRL();
+    method public java.math.BigInteger getMinCRL();
+    method public boolean match(java.security.cert.CRL);
+    method public void setCertificateChecking(java.security.cert.X509Certificate);
+    method public void setDateAndTime(java.util.Date);
+    method public void setIssuerNames(java.util.Collection<?>) throws java.io.IOException;
+    method public void setIssuers(java.util.Collection<javax.security.auth.x500.X500Principal>);
+    method public void setMaxCRLNumber(java.math.BigInteger);
+    method public void setMinCRLNumber(java.math.BigInteger);
+  }
+
+  public class X509CertSelector implements java.security.cert.CertSelector {
+    ctor public X509CertSelector();
+    method public void addPathToName(int, String) throws java.io.IOException;
+    method public void addPathToName(int, byte[]) throws java.io.IOException;
+    method public void addSubjectAlternativeName(int, String) throws java.io.IOException;
+    method public void addSubjectAlternativeName(int, byte[]) throws java.io.IOException;
+    method public Object clone();
+    method public byte[] getAuthorityKeyIdentifier();
+    method public int getBasicConstraints();
+    method public java.security.cert.X509Certificate getCertificate();
+    method public java.util.Date getCertificateValid();
+    method public java.util.Set<java.lang.String> getExtendedKeyUsage();
+    method public javax.security.auth.x500.X500Principal getIssuer();
+    method public byte[] getIssuerAsBytes() throws java.io.IOException;
+    method public String getIssuerAsString();
+    method public boolean[] getKeyUsage();
+    method public boolean getMatchAllSubjectAltNames();
+    method public byte[] getNameConstraints();
+    method public java.util.Collection<java.util.List<?>> getPathToNames();
+    method public java.util.Set<java.lang.String> getPolicy();
+    method public java.util.Date getPrivateKeyValid();
+    method public java.math.BigInteger getSerialNumber();
+    method public javax.security.auth.x500.X500Principal getSubject();
+    method public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames();
+    method public byte[] getSubjectAsBytes() throws java.io.IOException;
+    method public String getSubjectAsString();
+    method public byte[] getSubjectKeyIdentifier();
+    method public java.security.PublicKey getSubjectPublicKey();
+    method public String getSubjectPublicKeyAlgID();
+    method public boolean match(java.security.cert.Certificate);
+    method public void setAuthorityKeyIdentifier(byte[]);
+    method public void setBasicConstraints(int);
+    method public void setCertificate(java.security.cert.X509Certificate);
+    method public void setCertificateValid(java.util.Date);
+    method public void setExtendedKeyUsage(java.util.Set<java.lang.String>) throws java.io.IOException;
+    method public void setIssuer(javax.security.auth.x500.X500Principal);
+    method public void setIssuer(String) throws java.io.IOException;
+    method public void setIssuer(byte[]) throws java.io.IOException;
+    method public void setKeyUsage(boolean[]);
+    method public void setMatchAllSubjectAltNames(boolean);
+    method public void setNameConstraints(byte[]) throws java.io.IOException;
+    method public void setPathToNames(java.util.Collection<java.util.List<?>>) throws java.io.IOException;
+    method public void setPolicy(java.util.Set<java.lang.String>) throws java.io.IOException;
+    method public void setPrivateKeyValid(java.util.Date);
+    method public void setSerialNumber(java.math.BigInteger);
+    method public void setSubject(javax.security.auth.x500.X500Principal);
+    method public void setSubject(String) throws java.io.IOException;
+    method public void setSubject(byte[]) throws java.io.IOException;
+    method public void setSubjectAlternativeNames(java.util.Collection<java.util.List<?>>) throws java.io.IOException;
+    method public void setSubjectKeyIdentifier(byte[]);
+    method public void setSubjectPublicKey(java.security.PublicKey);
+    method public void setSubjectPublicKey(byte[]) throws java.io.IOException;
+    method public void setSubjectPublicKeyAlgID(String) throws java.io.IOException;
+  }
+
+  public abstract class X509Certificate extends java.security.cert.Certificate implements java.security.cert.X509Extension {
+    ctor protected X509Certificate();
+    method public abstract void checkValidity() throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException;
+    method public abstract void checkValidity(java.util.Date) throws java.security.cert.CertificateExpiredException, java.security.cert.CertificateNotYetValidException;
+    method public abstract int getBasicConstraints();
+    method public java.util.List<java.lang.String> getExtendedKeyUsage() throws java.security.cert.CertificateParsingException;
+    method public java.util.Collection<java.util.List<?>> getIssuerAlternativeNames() throws java.security.cert.CertificateParsingException;
+    method public abstract java.security.Principal getIssuerDN();
+    method public abstract boolean[] getIssuerUniqueID();
+    method public javax.security.auth.x500.X500Principal getIssuerX500Principal();
+    method public abstract boolean[] getKeyUsage();
+    method public abstract java.util.Date getNotAfter();
+    method public abstract java.util.Date getNotBefore();
+    method public abstract java.math.BigInteger getSerialNumber();
+    method public abstract String getSigAlgName();
+    method public abstract String getSigAlgOID();
+    method public abstract byte[] getSigAlgParams();
+    method public abstract byte[] getSignature();
+    method public java.util.Collection<java.util.List<?>> getSubjectAlternativeNames() throws java.security.cert.CertificateParsingException;
+    method public abstract java.security.Principal getSubjectDN();
+    method public abstract boolean[] getSubjectUniqueID();
+    method public javax.security.auth.x500.X500Principal getSubjectX500Principal();
+    method public abstract byte[] getTBSCertificate() throws java.security.cert.CertificateEncodingException;
+    method public abstract int getVersion();
+  }
+
+  public interface X509Extension {
+    method public java.util.Set<java.lang.String> getCriticalExtensionOIDs();
+    method public byte[] getExtensionValue(String);
+    method public java.util.Set<java.lang.String> getNonCriticalExtensionOIDs();
+    method public boolean hasUnsupportedCriticalExtension();
+  }
+
+}
+
+package java.security.interfaces {
+
+  public interface DSAKey {
+    method public java.security.interfaces.DSAParams getParams();
+  }
+
+  public interface DSAKeyPairGenerator {
+    method public void initialize(java.security.interfaces.DSAParams, java.security.SecureRandom) throws java.security.InvalidParameterException;
+    method public void initialize(int, boolean, java.security.SecureRandom) throws java.security.InvalidParameterException;
+  }
+
+  public interface DSAParams {
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getQ();
+  }
+
+  public interface DSAPrivateKey extends java.security.interfaces.DSAKey java.security.PrivateKey {
+    method public java.math.BigInteger getX();
+    field public static final long serialVersionUID = 7776497482533790279L; // 0x6bebab423b256247L
+  }
+
+  public interface DSAPublicKey extends java.security.interfaces.DSAKey java.security.PublicKey {
+    method public java.math.BigInteger getY();
+    field public static final long serialVersionUID = 1234526332779022332L; // 0x1121eb28ab28c7fcL
+  }
+
+  public interface ECKey {
+    method public java.security.spec.ECParameterSpec getParams();
+  }
+
+  public interface ECPrivateKey extends java.security.PrivateKey java.security.interfaces.ECKey {
+    method public java.math.BigInteger getS();
+    field public static final long serialVersionUID = -7896394956925609184L; // 0x926a5e9fa2435b20L
+  }
+
+  public interface ECPublicKey extends java.security.PublicKey java.security.interfaces.ECKey {
+    method public java.security.spec.ECPoint getW();
+    field public static final long serialVersionUID = -3314988629879632826L; // 0xd1fecb679990cc46L
+  }
+
+  public interface RSAKey {
+    method public java.math.BigInteger getModulus();
+  }
+
+  public interface RSAMultiPrimePrivateCrtKey extends java.security.interfaces.RSAPrivateKey {
+    method public java.math.BigInteger getCrtCoefficient();
+    method public java.security.spec.RSAOtherPrimeInfo[] getOtherPrimeInfo();
+    method public java.math.BigInteger getPrimeExponentP();
+    method public java.math.BigInteger getPrimeExponentQ();
+    method public java.math.BigInteger getPrimeP();
+    method public java.math.BigInteger getPrimeQ();
+    method public java.math.BigInteger getPublicExponent();
+    field public static final long serialVersionUID = 618058533534628008L; // 0x893c8f62dbaf8a8L
+  }
+
+  public interface RSAPrivateCrtKey extends java.security.interfaces.RSAPrivateKey {
+    method public java.math.BigInteger getCrtCoefficient();
+    method public java.math.BigInteger getPrimeExponentP();
+    method public java.math.BigInteger getPrimeExponentQ();
+    method public java.math.BigInteger getPrimeP();
+    method public java.math.BigInteger getPrimeQ();
+    method public java.math.BigInteger getPublicExponent();
+    field public static final long serialVersionUID = -5682214253527700368L; // 0xb124b83df8d1ec70L
+  }
+
+  public interface RSAPrivateKey extends java.security.PrivateKey java.security.interfaces.RSAKey {
+    method public java.math.BigInteger getPrivateExponent();
+    field public static final long serialVersionUID = 5187144804936595022L; // 0x47fc70b7a8c2364eL
+  }
+
+  public interface RSAPublicKey extends java.security.PublicKey java.security.interfaces.RSAKey {
+    method public java.math.BigInteger getPublicExponent();
+    field public static final long serialVersionUID = -8727434096241101194L; // 0x86e1ecedeceab676L
+  }
+
+}
+
+package java.security.spec {
+
+  public interface AlgorithmParameterSpec {
+  }
+
+  public class DSAParameterSpec implements java.security.spec.AlgorithmParameterSpec java.security.interfaces.DSAParams {
+    ctor public DSAParameterSpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getQ();
+  }
+
+  public class DSAPrivateKeySpec implements java.security.spec.KeySpec {
+    ctor public DSAPrivateKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getQ();
+    method public java.math.BigInteger getX();
+  }
+
+  public class DSAPublicKeySpec implements java.security.spec.KeySpec {
+    ctor public DSAPublicKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getQ();
+    method public java.math.BigInteger getY();
+  }
+
+  public interface ECField {
+    method public int getFieldSize();
+  }
+
+  public class ECFieldF2m implements java.security.spec.ECField {
+    ctor public ECFieldF2m(int);
+    ctor public ECFieldF2m(int, java.math.BigInteger);
+    ctor public ECFieldF2m(int, int[]);
+    method public int getFieldSize();
+    method public int getM();
+    method public int[] getMidTermsOfReductionPolynomial();
+    method public java.math.BigInteger getReductionPolynomial();
+  }
+
+  public class ECFieldFp implements java.security.spec.ECField {
+    ctor public ECFieldFp(java.math.BigInteger);
+    method public int getFieldSize();
+    method public java.math.BigInteger getP();
+  }
+
+  public class ECGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public ECGenParameterSpec(String);
+    method public String getName();
+  }
+
+  public class ECParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public ECParameterSpec(java.security.spec.EllipticCurve, java.security.spec.ECPoint, java.math.BigInteger, int);
+    method public int getCofactor();
+    method public java.security.spec.EllipticCurve getCurve();
+    method public java.security.spec.ECPoint getGenerator();
+    method public java.math.BigInteger getOrder();
+  }
+
+  public class ECPoint {
+    ctor public ECPoint(java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getAffineX();
+    method public java.math.BigInteger getAffineY();
+    field public static final java.security.spec.ECPoint POINT_INFINITY;
+  }
+
+  public class ECPrivateKeySpec implements java.security.spec.KeySpec {
+    ctor public ECPrivateKeySpec(java.math.BigInteger, java.security.spec.ECParameterSpec);
+    method public java.security.spec.ECParameterSpec getParams();
+    method public java.math.BigInteger getS();
+  }
+
+  public class ECPublicKeySpec implements java.security.spec.KeySpec {
+    ctor public ECPublicKeySpec(java.security.spec.ECPoint, java.security.spec.ECParameterSpec);
+    method public java.security.spec.ECParameterSpec getParams();
+    method public java.security.spec.ECPoint getW();
+  }
+
+  public class EllipticCurve {
+    ctor public EllipticCurve(java.security.spec.ECField, java.math.BigInteger, java.math.BigInteger);
+    ctor public EllipticCurve(java.security.spec.ECField, java.math.BigInteger, java.math.BigInteger, byte[]);
+    method public java.math.BigInteger getA();
+    method public java.math.BigInteger getB();
+    method public java.security.spec.ECField getField();
+    method public byte[] getSeed();
+  }
+
+  public abstract class EncodedKeySpec implements java.security.spec.KeySpec {
+    ctor public EncodedKeySpec(byte[]);
+    method public byte[] getEncoded();
+    method public abstract String getFormat();
+  }
+
+  public class InvalidKeySpecException extends java.security.GeneralSecurityException {
+    ctor public InvalidKeySpecException();
+    ctor public InvalidKeySpecException(String);
+    ctor public InvalidKeySpecException(String, Throwable);
+    ctor public InvalidKeySpecException(Throwable);
+  }
+
+  public class InvalidParameterSpecException extends java.security.GeneralSecurityException {
+    ctor public InvalidParameterSpecException();
+    ctor public InvalidParameterSpecException(String);
+  }
+
+  public interface KeySpec {
+  }
+
+  public class MGF1ParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public MGF1ParameterSpec(String);
+    method public String getDigestAlgorithm();
+    field public static final java.security.spec.MGF1ParameterSpec SHA1;
+    field public static final java.security.spec.MGF1ParameterSpec SHA224;
+    field public static final java.security.spec.MGF1ParameterSpec SHA256;
+    field public static final java.security.spec.MGF1ParameterSpec SHA384;
+    field public static final java.security.spec.MGF1ParameterSpec SHA512;
+  }
+
+  public class PKCS8EncodedKeySpec extends java.security.spec.EncodedKeySpec {
+    ctor public PKCS8EncodedKeySpec(byte[]);
+    method public final String getFormat();
+  }
+
+  public class PSSParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public PSSParameterSpec(String, String, java.security.spec.AlgorithmParameterSpec, int, int);
+    ctor public PSSParameterSpec(int);
+    method public String getDigestAlgorithm();
+    method public String getMGFAlgorithm();
+    method public java.security.spec.AlgorithmParameterSpec getMGFParameters();
+    method public int getSaltLength();
+    method public int getTrailerField();
+    field public static final java.security.spec.PSSParameterSpec DEFAULT;
+  }
+
+  public class RSAKeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public RSAKeyGenParameterSpec(int, java.math.BigInteger);
+    method public int getKeysize();
+    method public java.math.BigInteger getPublicExponent();
+    field public static final java.math.BigInteger F0;
+    field public static final java.math.BigInteger F4;
+  }
+
+  public class RSAMultiPrimePrivateCrtKeySpec extends java.security.spec.RSAPrivateKeySpec {
+    ctor public RSAMultiPrimePrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.security.spec.RSAOtherPrimeInfo[]);
+    method public java.math.BigInteger getCrtCoefficient();
+    method public java.security.spec.RSAOtherPrimeInfo[] getOtherPrimeInfo();
+    method public java.math.BigInteger getPrimeExponentP();
+    method public java.math.BigInteger getPrimeExponentQ();
+    method public java.math.BigInteger getPrimeP();
+    method public java.math.BigInteger getPrimeQ();
+    method public java.math.BigInteger getPublicExponent();
+  }
+
+  public class RSAOtherPrimeInfo {
+    ctor public RSAOtherPrimeInfo(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public final java.math.BigInteger getCrtCoefficient();
+    method public final java.math.BigInteger getExponent();
+    method public final java.math.BigInteger getPrime();
+  }
+
+  public class RSAPrivateCrtKeySpec extends java.security.spec.RSAPrivateKeySpec {
+    ctor public RSAPrivateCrtKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getCrtCoefficient();
+    method public java.math.BigInteger getPrimeExponentP();
+    method public java.math.BigInteger getPrimeExponentQ();
+    method public java.math.BigInteger getPrimeP();
+    method public java.math.BigInteger getPrimeQ();
+    method public java.math.BigInteger getPublicExponent();
+  }
+
+  public class RSAPrivateKeySpec implements java.security.spec.KeySpec {
+    ctor public RSAPrivateKeySpec(java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getModulus();
+    method public java.math.BigInteger getPrivateExponent();
+  }
+
+  public class RSAPublicKeySpec implements java.security.spec.KeySpec {
+    ctor public RSAPublicKeySpec(java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getModulus();
+    method public java.math.BigInteger getPublicExponent();
+  }
+
+  public class X509EncodedKeySpec extends java.security.spec.EncodedKeySpec {
+    ctor public X509EncodedKeySpec(byte[]);
+    method public final String getFormat();
+  }
+
+}
+
+package java.sql {
+
+  public interface Array {
+    method public void free() throws java.sql.SQLException;
+    method public Object getArray() throws java.sql.SQLException;
+    method public Object getArray(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public Object getArray(long, int) throws java.sql.SQLException;
+    method public Object getArray(long, int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public int getBaseType() throws java.sql.SQLException;
+    method public String getBaseTypeName() throws java.sql.SQLException;
+    method public java.sql.ResultSet getResultSet() throws java.sql.SQLException;
+    method public java.sql.ResultSet getResultSet(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public java.sql.ResultSet getResultSet(long, int) throws java.sql.SQLException;
+    method public java.sql.ResultSet getResultSet(long, int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+  }
+
+  public class BatchUpdateException extends java.sql.SQLException {
+    ctor public BatchUpdateException(String, String, int, int[]);
+    ctor public BatchUpdateException(String, String, int[]);
+    ctor public BatchUpdateException(String, int[]);
+    ctor public BatchUpdateException(int[]);
+    ctor public BatchUpdateException();
+    ctor public BatchUpdateException(Throwable);
+    ctor public BatchUpdateException(int[], Throwable);
+    ctor public BatchUpdateException(String, int[], Throwable);
+    ctor public BatchUpdateException(String, String, int[], Throwable);
+    ctor public BatchUpdateException(String, String, int, int[], Throwable);
+    method public int[] getUpdateCounts();
+  }
+
+  public interface Blob {
+    method public void free() throws java.sql.SQLException;
+    method public java.io.InputStream getBinaryStream() throws java.sql.SQLException;
+    method public java.io.InputStream getBinaryStream(long, long) throws java.sql.SQLException;
+    method public byte[] getBytes(long, int) throws java.sql.SQLException;
+    method public long length() throws java.sql.SQLException;
+    method public long position(byte[], long) throws java.sql.SQLException;
+    method public long position(java.sql.Blob, long) throws java.sql.SQLException;
+    method public java.io.OutputStream setBinaryStream(long) throws java.sql.SQLException;
+    method public int setBytes(long, byte[]) throws java.sql.SQLException;
+    method public int setBytes(long, byte[], int, int) throws java.sql.SQLException;
+    method public void truncate(long) throws java.sql.SQLException;
+  }
+
+  public interface CallableStatement extends java.sql.PreparedStatement {
+    method public java.sql.Array getArray(int) throws java.sql.SQLException;
+    method public java.sql.Array getArray(String) throws java.sql.SQLException;
+    method @Deprecated public java.math.BigDecimal getBigDecimal(int, int) throws java.sql.SQLException;
+    method public java.math.BigDecimal getBigDecimal(int) throws java.sql.SQLException;
+    method public java.math.BigDecimal getBigDecimal(String) throws java.sql.SQLException;
+    method public java.sql.Blob getBlob(int) throws java.sql.SQLException;
+    method public java.sql.Blob getBlob(String) throws java.sql.SQLException;
+    method public boolean getBoolean(int) throws java.sql.SQLException;
+    method public boolean getBoolean(String) throws java.sql.SQLException;
+    method public byte getByte(int) throws java.sql.SQLException;
+    method public byte getByte(String) throws java.sql.SQLException;
+    method public byte[] getBytes(int) throws java.sql.SQLException;
+    method public byte[] getBytes(String) throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream(int) throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream(String) throws java.sql.SQLException;
+    method public java.sql.Clob getClob(int) throws java.sql.SQLException;
+    method public java.sql.Clob getClob(String) throws java.sql.SQLException;
+    method public java.sql.Date getDate(int) throws java.sql.SQLException;
+    method public java.sql.Date getDate(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Date getDate(String) throws java.sql.SQLException;
+    method public java.sql.Date getDate(String, java.util.Calendar) throws java.sql.SQLException;
+    method public double getDouble(int) throws java.sql.SQLException;
+    method public double getDouble(String) throws java.sql.SQLException;
+    method public float getFloat(int) throws java.sql.SQLException;
+    method public float getFloat(String) throws java.sql.SQLException;
+    method public int getInt(int) throws java.sql.SQLException;
+    method public int getInt(String) throws java.sql.SQLException;
+    method public long getLong(int) throws java.sql.SQLException;
+    method public long getLong(String) throws java.sql.SQLException;
+    method public java.io.Reader getNCharacterStream(int) throws java.sql.SQLException;
+    method public java.io.Reader getNCharacterStream(String) throws java.sql.SQLException;
+    method public java.sql.NClob getNClob(int) throws java.sql.SQLException;
+    method public java.sql.NClob getNClob(String) throws java.sql.SQLException;
+    method public String getNString(int) throws java.sql.SQLException;
+    method public String getNString(String) throws java.sql.SQLException;
+    method public Object getObject(int) throws java.sql.SQLException;
+    method public Object getObject(int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public Object getObject(String) throws java.sql.SQLException;
+    method public Object getObject(String, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public java.sql.Ref getRef(int) throws java.sql.SQLException;
+    method public java.sql.Ref getRef(String) throws java.sql.SQLException;
+    method public java.sql.RowId getRowId(int) throws java.sql.SQLException;
+    method public java.sql.RowId getRowId(String) throws java.sql.SQLException;
+    method public java.sql.SQLXML getSQLXML(int) throws java.sql.SQLException;
+    method public java.sql.SQLXML getSQLXML(String) throws java.sql.SQLException;
+    method public short getShort(int) throws java.sql.SQLException;
+    method public short getShort(String) throws java.sql.SQLException;
+    method public String getString(int) throws java.sql.SQLException;
+    method public String getString(String) throws java.sql.SQLException;
+    method public java.sql.Time getTime(int) throws java.sql.SQLException;
+    method public java.sql.Time getTime(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Time getTime(String) throws java.sql.SQLException;
+    method public java.sql.Time getTime(String, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(int) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(String) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(String, java.util.Calendar) throws java.sql.SQLException;
+    method public java.net.URL getURL(int) throws java.sql.SQLException;
+    method public java.net.URL getURL(String) throws java.sql.SQLException;
+    method public void registerOutParameter(int, int) throws java.sql.SQLException;
+    method public void registerOutParameter(int, int, int) throws java.sql.SQLException;
+    method public void registerOutParameter(int, int, String) throws java.sql.SQLException;
+    method public void registerOutParameter(String, int) throws java.sql.SQLException;
+    method public void registerOutParameter(String, int, int) throws java.sql.SQLException;
+    method public void registerOutParameter(String, int, String) throws java.sql.SQLException;
+    method public void setAsciiStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setAsciiStream(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setAsciiStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBigDecimal(String, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void setBinaryStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setBinaryStream(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBinaryStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBlob(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBlob(String, java.sql.Blob) throws java.sql.SQLException;
+    method public void setBlob(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBoolean(String, boolean) throws java.sql.SQLException;
+    method public void setByte(String, byte) throws java.sql.SQLException;
+    method public void setBytes(String, byte[]) throws java.sql.SQLException;
+    method public void setCharacterStream(String, java.io.Reader, int) throws java.sql.SQLException;
+    method public void setCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setClob(String, java.sql.Clob) throws java.sql.SQLException;
+    method public void setClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setDate(String, java.sql.Date) throws java.sql.SQLException;
+    method public void setDate(String, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+    method public void setDouble(String, double) throws java.sql.SQLException;
+    method public void setFloat(String, float) throws java.sql.SQLException;
+    method public void setInt(String, int) throws java.sql.SQLException;
+    method public void setLong(String, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setNClob(String, java.sql.NClob) throws java.sql.SQLException;
+    method public void setNClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setNString(String, String) throws java.sql.SQLException;
+    method public void setNull(String, int) throws java.sql.SQLException;
+    method public void setNull(String, int, String) throws java.sql.SQLException;
+    method public void setObject(String, Object, int, int) throws java.sql.SQLException;
+    method public void setObject(String, Object, int) throws java.sql.SQLException;
+    method public void setObject(String, Object) throws java.sql.SQLException;
+    method public void setRowId(String, java.sql.RowId) throws java.sql.SQLException;
+    method public void setSQLXML(String, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void setShort(String, short) throws java.sql.SQLException;
+    method public void setString(String, String) throws java.sql.SQLException;
+    method public void setTime(String, java.sql.Time) throws java.sql.SQLException;
+    method public void setTime(String, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTimestamp(String, java.sql.Timestamp) throws java.sql.SQLException;
+    method public void setTimestamp(String, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+    method public void setURL(String, java.net.URL) throws java.sql.SQLException;
+    method public boolean wasNull() throws java.sql.SQLException;
+  }
+
+  public enum ClientInfoStatus {
+    enum_constant public static final java.sql.ClientInfoStatus REASON_UNKNOWN;
+    enum_constant public static final java.sql.ClientInfoStatus REASON_UNKNOWN_PROPERTY;
+    enum_constant public static final java.sql.ClientInfoStatus REASON_VALUE_INVALID;
+    enum_constant public static final java.sql.ClientInfoStatus REASON_VALUE_TRUNCATED;
+  }
+
+  public interface Clob {
+    method public void free() throws java.sql.SQLException;
+    method public java.io.InputStream getAsciiStream() throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream() throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream(long, long) throws java.sql.SQLException;
+    method public String getSubString(long, int) throws java.sql.SQLException;
+    method public long length() throws java.sql.SQLException;
+    method public long position(String, long) throws java.sql.SQLException;
+    method public long position(java.sql.Clob, long) throws java.sql.SQLException;
+    method public java.io.OutputStream setAsciiStream(long) throws java.sql.SQLException;
+    method public java.io.Writer setCharacterStream(long) throws java.sql.SQLException;
+    method public int setString(long, String) throws java.sql.SQLException;
+    method public int setString(long, String, int, int) throws java.sql.SQLException;
+    method public void truncate(long) throws java.sql.SQLException;
+  }
+
+  public interface Connection extends java.sql.Wrapper java.lang.AutoCloseable {
+    method public void clearWarnings() throws java.sql.SQLException;
+    method public void close() throws java.sql.SQLException;
+    method public void commit() throws java.sql.SQLException;
+    method public java.sql.Array createArrayOf(String, Object[]) throws java.sql.SQLException;
+    method public java.sql.Blob createBlob() throws java.sql.SQLException;
+    method public java.sql.Clob createClob() throws java.sql.SQLException;
+    method public java.sql.NClob createNClob() throws java.sql.SQLException;
+    method public java.sql.SQLXML createSQLXML() throws java.sql.SQLException;
+    method public java.sql.Statement createStatement() throws java.sql.SQLException;
+    method public java.sql.Statement createStatement(int, int) throws java.sql.SQLException;
+    method public java.sql.Statement createStatement(int, int, int) throws java.sql.SQLException;
+    method public java.sql.Struct createStruct(String, Object[]) throws java.sql.SQLException;
+    method public boolean getAutoCommit() throws java.sql.SQLException;
+    method public String getCatalog() throws java.sql.SQLException;
+    method public String getClientInfo(String) throws java.sql.SQLException;
+    method public java.util.Properties getClientInfo() throws java.sql.SQLException;
+    method public int getHoldability() throws java.sql.SQLException;
+    method public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException;
+    method public int getTransactionIsolation() throws java.sql.SQLException;
+    method public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap() throws java.sql.SQLException;
+    method public java.sql.SQLWarning getWarnings() throws java.sql.SQLException;
+    method public boolean isClosed() throws java.sql.SQLException;
+    method public boolean isReadOnly() throws java.sql.SQLException;
+    method public boolean isValid(int) throws java.sql.SQLException;
+    method public String nativeSQL(String) throws java.sql.SQLException;
+    method public java.sql.CallableStatement prepareCall(String) throws java.sql.SQLException;
+    method public java.sql.CallableStatement prepareCall(String, int, int) throws java.sql.SQLException;
+    method public java.sql.CallableStatement prepareCall(String, int, int, int) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String, int, int) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String, int, int, int) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String, int) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String, int[]) throws java.sql.SQLException;
+    method public java.sql.PreparedStatement prepareStatement(String, String[]) throws java.sql.SQLException;
+    method public void releaseSavepoint(java.sql.Savepoint) throws java.sql.SQLException;
+    method public void rollback() throws java.sql.SQLException;
+    method public void rollback(java.sql.Savepoint) throws java.sql.SQLException;
+    method public void setAutoCommit(boolean) throws java.sql.SQLException;
+    method public void setCatalog(String) throws java.sql.SQLException;
+    method public void setClientInfo(String, String) throws java.sql.SQLClientInfoException;
+    method public void setClientInfo(java.util.Properties) throws java.sql.SQLClientInfoException;
+    method public void setHoldability(int) throws java.sql.SQLException;
+    method public void setReadOnly(boolean) throws java.sql.SQLException;
+    method public java.sql.Savepoint setSavepoint() throws java.sql.SQLException;
+    method public java.sql.Savepoint setSavepoint(String) throws java.sql.SQLException;
+    method public void setTransactionIsolation(int) throws java.sql.SQLException;
+    method public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    field public static final int TRANSACTION_NONE = 0; // 0x0
+    field public static final int TRANSACTION_READ_COMMITTED = 2; // 0x2
+    field public static final int TRANSACTION_READ_UNCOMMITTED = 1; // 0x1
+    field public static final int TRANSACTION_REPEATABLE_READ = 4; // 0x4
+    field public static final int TRANSACTION_SERIALIZABLE = 8; // 0x8
+  }
+
+  public class DataTruncation extends java.sql.SQLWarning {
+    ctor public DataTruncation(int, boolean, boolean, int, int);
+    ctor public DataTruncation(int, boolean, boolean, int, int, Throwable);
+    method public int getDataSize();
+    method public int getIndex();
+    method public boolean getParameter();
+    method public boolean getRead();
+    method public int getTransferSize();
+  }
+
+  public interface DatabaseMetaData extends java.sql.Wrapper {
+    method public boolean allProceduresAreCallable() throws java.sql.SQLException;
+    method public boolean allTablesAreSelectable() throws java.sql.SQLException;
+    method public boolean autoCommitFailureClosesAllResultSets() throws java.sql.SQLException;
+    method public boolean dataDefinitionCausesTransactionCommit() throws java.sql.SQLException;
+    method public boolean dataDefinitionIgnoredInTransactions() throws java.sql.SQLException;
+    method public boolean deletesAreDetected(int) throws java.sql.SQLException;
+    method public boolean doesMaxRowSizeIncludeBlobs() throws java.sql.SQLException;
+    method public java.sql.ResultSet getAttributes(String, String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getBestRowIdentifier(String, String, String, int, boolean) throws java.sql.SQLException;
+    method public String getCatalogSeparator() throws java.sql.SQLException;
+    method public String getCatalogTerm() throws java.sql.SQLException;
+    method public java.sql.ResultSet getCatalogs() throws java.sql.SQLException;
+    method public java.sql.ResultSet getClientInfoProperties() throws java.sql.SQLException;
+    method public java.sql.ResultSet getColumnPrivileges(String, String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getColumns(String, String, String, String) throws java.sql.SQLException;
+    method public java.sql.Connection getConnection() throws java.sql.SQLException;
+    method public java.sql.ResultSet getCrossReference(String, String, String, String, String, String) throws java.sql.SQLException;
+    method public int getDatabaseMajorVersion() throws java.sql.SQLException;
+    method public int getDatabaseMinorVersion() throws java.sql.SQLException;
+    method public String getDatabaseProductName() throws java.sql.SQLException;
+    method public String getDatabaseProductVersion() throws java.sql.SQLException;
+    method public int getDefaultTransactionIsolation() throws java.sql.SQLException;
+    method public int getDriverMajorVersion();
+    method public int getDriverMinorVersion();
+    method public String getDriverName() throws java.sql.SQLException;
+    method public String getDriverVersion() throws java.sql.SQLException;
+    method public java.sql.ResultSet getExportedKeys(String, String, String) throws java.sql.SQLException;
+    method public String getExtraNameCharacters() throws java.sql.SQLException;
+    method public java.sql.ResultSet getFunctionColumns(String, String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getFunctions(String, String, String) throws java.sql.SQLException;
+    method public String getIdentifierQuoteString() throws java.sql.SQLException;
+    method public java.sql.ResultSet getImportedKeys(String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getIndexInfo(String, String, String, boolean, boolean) throws java.sql.SQLException;
+    method public int getJDBCMajorVersion() throws java.sql.SQLException;
+    method public int getJDBCMinorVersion() throws java.sql.SQLException;
+    method public int getMaxBinaryLiteralLength() throws java.sql.SQLException;
+    method public int getMaxCatalogNameLength() throws java.sql.SQLException;
+    method public int getMaxCharLiteralLength() throws java.sql.SQLException;
+    method public int getMaxColumnNameLength() throws java.sql.SQLException;
+    method public int getMaxColumnsInGroupBy() throws java.sql.SQLException;
+    method public int getMaxColumnsInIndex() throws java.sql.SQLException;
+    method public int getMaxColumnsInOrderBy() throws java.sql.SQLException;
+    method public int getMaxColumnsInSelect() throws java.sql.SQLException;
+    method public int getMaxColumnsInTable() throws java.sql.SQLException;
+    method public int getMaxConnections() throws java.sql.SQLException;
+    method public int getMaxCursorNameLength() throws java.sql.SQLException;
+    method public int getMaxIndexLength() throws java.sql.SQLException;
+    method public int getMaxProcedureNameLength() throws java.sql.SQLException;
+    method public int getMaxRowSize() throws java.sql.SQLException;
+    method public int getMaxSchemaNameLength() throws java.sql.SQLException;
+    method public int getMaxStatementLength() throws java.sql.SQLException;
+    method public int getMaxStatements() throws java.sql.SQLException;
+    method public int getMaxTableNameLength() throws java.sql.SQLException;
+    method public int getMaxTablesInSelect() throws java.sql.SQLException;
+    method public int getMaxUserNameLength() throws java.sql.SQLException;
+    method public String getNumericFunctions() throws java.sql.SQLException;
+    method public java.sql.ResultSet getPrimaryKeys(String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getProcedureColumns(String, String, String, String) throws java.sql.SQLException;
+    method public String getProcedureTerm() throws java.sql.SQLException;
+    method public java.sql.ResultSet getProcedures(String, String, String) throws java.sql.SQLException;
+    method public int getResultSetHoldability() throws java.sql.SQLException;
+    method public java.sql.RowIdLifetime getRowIdLifetime() throws java.sql.SQLException;
+    method public String getSQLKeywords() throws java.sql.SQLException;
+    method public int getSQLStateType() throws java.sql.SQLException;
+    method public String getSchemaTerm() throws java.sql.SQLException;
+    method public java.sql.ResultSet getSchemas() throws java.sql.SQLException;
+    method public java.sql.ResultSet getSchemas(String, String) throws java.sql.SQLException;
+    method public String getSearchStringEscape() throws java.sql.SQLException;
+    method public String getStringFunctions() throws java.sql.SQLException;
+    method public java.sql.ResultSet getSuperTables(String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getSuperTypes(String, String, String) throws java.sql.SQLException;
+    method public String getSystemFunctions() throws java.sql.SQLException;
+    method public java.sql.ResultSet getTablePrivileges(String, String, String) throws java.sql.SQLException;
+    method public java.sql.ResultSet getTableTypes() throws java.sql.SQLException;
+    method public java.sql.ResultSet getTables(String, String, String, String[]) throws java.sql.SQLException;
+    method public String getTimeDateFunctions() throws java.sql.SQLException;
+    method public java.sql.ResultSet getTypeInfo() throws java.sql.SQLException;
+    method public java.sql.ResultSet getUDTs(String, String, String, int[]) throws java.sql.SQLException;
+    method public String getURL() throws java.sql.SQLException;
+    method public String getUserName() throws java.sql.SQLException;
+    method public java.sql.ResultSet getVersionColumns(String, String, String) throws java.sql.SQLException;
+    method public boolean insertsAreDetected(int) throws java.sql.SQLException;
+    method public boolean isCatalogAtStart() throws java.sql.SQLException;
+    method public boolean isReadOnly() throws java.sql.SQLException;
+    method public boolean locatorsUpdateCopy() throws java.sql.SQLException;
+    method public boolean nullPlusNonNullIsNull() throws java.sql.SQLException;
+    method public boolean nullsAreSortedAtEnd() throws java.sql.SQLException;
+    method public boolean nullsAreSortedAtStart() throws java.sql.SQLException;
+    method public boolean nullsAreSortedHigh() throws java.sql.SQLException;
+    method public boolean nullsAreSortedLow() throws java.sql.SQLException;
+    method public boolean othersDeletesAreVisible(int) throws java.sql.SQLException;
+    method public boolean othersInsertsAreVisible(int) throws java.sql.SQLException;
+    method public boolean othersUpdatesAreVisible(int) throws java.sql.SQLException;
+    method public boolean ownDeletesAreVisible(int) throws java.sql.SQLException;
+    method public boolean ownInsertsAreVisible(int) throws java.sql.SQLException;
+    method public boolean ownUpdatesAreVisible(int) throws java.sql.SQLException;
+    method public boolean storesLowerCaseIdentifiers() throws java.sql.SQLException;
+    method public boolean storesLowerCaseQuotedIdentifiers() throws java.sql.SQLException;
+    method public boolean storesMixedCaseIdentifiers() throws java.sql.SQLException;
+    method public boolean storesMixedCaseQuotedIdentifiers() throws java.sql.SQLException;
+    method public boolean storesUpperCaseIdentifiers() throws java.sql.SQLException;
+    method public boolean storesUpperCaseQuotedIdentifiers() throws java.sql.SQLException;
+    method public boolean supportsANSI92EntryLevelSQL() throws java.sql.SQLException;
+    method public boolean supportsANSI92FullSQL() throws java.sql.SQLException;
+    method public boolean supportsANSI92IntermediateSQL() throws java.sql.SQLException;
+    method public boolean supportsAlterTableWithAddColumn() throws java.sql.SQLException;
+    method public boolean supportsAlterTableWithDropColumn() throws java.sql.SQLException;
+    method public boolean supportsBatchUpdates() throws java.sql.SQLException;
+    method public boolean supportsCatalogsInDataManipulation() throws java.sql.SQLException;
+    method public boolean supportsCatalogsInIndexDefinitions() throws java.sql.SQLException;
+    method public boolean supportsCatalogsInPrivilegeDefinitions() throws java.sql.SQLException;
+    method public boolean supportsCatalogsInProcedureCalls() throws java.sql.SQLException;
+    method public boolean supportsCatalogsInTableDefinitions() throws java.sql.SQLException;
+    method public boolean supportsColumnAliasing() throws java.sql.SQLException;
+    method public boolean supportsConvert() throws java.sql.SQLException;
+    method public boolean supportsConvert(int, int) throws java.sql.SQLException;
+    method public boolean supportsCoreSQLGrammar() throws java.sql.SQLException;
+    method public boolean supportsCorrelatedSubqueries() throws java.sql.SQLException;
+    method public boolean supportsDataDefinitionAndDataManipulationTransactions() throws java.sql.SQLException;
+    method public boolean supportsDataManipulationTransactionsOnly() throws java.sql.SQLException;
+    method public boolean supportsDifferentTableCorrelationNames() throws java.sql.SQLException;
+    method public boolean supportsExpressionsInOrderBy() throws java.sql.SQLException;
+    method public boolean supportsExtendedSQLGrammar() throws java.sql.SQLException;
+    method public boolean supportsFullOuterJoins() throws java.sql.SQLException;
+    method public boolean supportsGetGeneratedKeys() throws java.sql.SQLException;
+    method public boolean supportsGroupBy() throws java.sql.SQLException;
+    method public boolean supportsGroupByBeyondSelect() throws java.sql.SQLException;
+    method public boolean supportsGroupByUnrelated() throws java.sql.SQLException;
+    method public boolean supportsIntegrityEnhancementFacility() throws java.sql.SQLException;
+    method public boolean supportsLikeEscapeClause() throws java.sql.SQLException;
+    method public boolean supportsLimitedOuterJoins() throws java.sql.SQLException;
+    method public boolean supportsMinimumSQLGrammar() throws java.sql.SQLException;
+    method public boolean supportsMixedCaseIdentifiers() throws java.sql.SQLException;
+    method public boolean supportsMixedCaseQuotedIdentifiers() throws java.sql.SQLException;
+    method public boolean supportsMultipleOpenResults() throws java.sql.SQLException;
+    method public boolean supportsMultipleResultSets() throws java.sql.SQLException;
+    method public boolean supportsMultipleTransactions() throws java.sql.SQLException;
+    method public boolean supportsNamedParameters() throws java.sql.SQLException;
+    method public boolean supportsNonNullableColumns() throws java.sql.SQLException;
+    method public boolean supportsOpenCursorsAcrossCommit() throws java.sql.SQLException;
+    method public boolean supportsOpenCursorsAcrossRollback() throws java.sql.SQLException;
+    method public boolean supportsOpenStatementsAcrossCommit() throws java.sql.SQLException;
+    method public boolean supportsOpenStatementsAcrossRollback() throws java.sql.SQLException;
+    method public boolean supportsOrderByUnrelated() throws java.sql.SQLException;
+    method public boolean supportsOuterJoins() throws java.sql.SQLException;
+    method public boolean supportsPositionedDelete() throws java.sql.SQLException;
+    method public boolean supportsPositionedUpdate() throws java.sql.SQLException;
+    method public boolean supportsResultSetConcurrency(int, int) throws java.sql.SQLException;
+    method public boolean supportsResultSetHoldability(int) throws java.sql.SQLException;
+    method public boolean supportsResultSetType(int) throws java.sql.SQLException;
+    method public boolean supportsSavepoints() throws java.sql.SQLException;
+    method public boolean supportsSchemasInDataManipulation() throws java.sql.SQLException;
+    method public boolean supportsSchemasInIndexDefinitions() throws java.sql.SQLException;
+    method public boolean supportsSchemasInPrivilegeDefinitions() throws java.sql.SQLException;
+    method public boolean supportsSchemasInProcedureCalls() throws java.sql.SQLException;
+    method public boolean supportsSchemasInTableDefinitions() throws java.sql.SQLException;
+    method public boolean supportsSelectForUpdate() throws java.sql.SQLException;
+    method public boolean supportsStatementPooling() throws java.sql.SQLException;
+    method public boolean supportsStoredFunctionsUsingCallSyntax() throws java.sql.SQLException;
+    method public boolean supportsStoredProcedures() throws java.sql.SQLException;
+    method public boolean supportsSubqueriesInComparisons() throws java.sql.SQLException;
+    method public boolean supportsSubqueriesInExists() throws java.sql.SQLException;
+    method public boolean supportsSubqueriesInIns() throws java.sql.SQLException;
+    method public boolean supportsSubqueriesInQuantifieds() throws java.sql.SQLException;
+    method public boolean supportsTableCorrelationNames() throws java.sql.SQLException;
+    method public boolean supportsTransactionIsolationLevel(int) throws java.sql.SQLException;
+    method public boolean supportsTransactions() throws java.sql.SQLException;
+    method public boolean supportsUnion() throws java.sql.SQLException;
+    method public boolean supportsUnionAll() throws java.sql.SQLException;
+    method public boolean updatesAreDetected(int) throws java.sql.SQLException;
+    method public boolean usesLocalFilePerTable() throws java.sql.SQLException;
+    method public boolean usesLocalFiles() throws java.sql.SQLException;
+    field public static final short attributeNoNulls = 0; // 0x0
+    field public static final short attributeNullable = 1; // 0x1
+    field public static final short attributeNullableUnknown = 2; // 0x2
+    field public static final int bestRowNotPseudo = 1; // 0x1
+    field public static final int bestRowPseudo = 2; // 0x2
+    field public static final int bestRowSession = 2; // 0x2
+    field public static final int bestRowTemporary = 0; // 0x0
+    field public static final int bestRowTransaction = 1; // 0x1
+    field public static final int bestRowUnknown = 0; // 0x0
+    field public static final int columnNoNulls = 0; // 0x0
+    field public static final int columnNullable = 1; // 0x1
+    field public static final int columnNullableUnknown = 2; // 0x2
+    field public static final int functionColumnIn = 1; // 0x1
+    field public static final int functionColumnInOut = 2; // 0x2
+    field public static final int functionColumnOut = 3; // 0x3
+    field public static final int functionColumnResult = 5; // 0x5
+    field public static final int functionColumnUnknown = 0; // 0x0
+    field public static final int functionNoNulls = 0; // 0x0
+    field public static final int functionNoTable = 1; // 0x1
+    field public static final int functionNullable = 1; // 0x1
+    field public static final int functionNullableUnknown = 2; // 0x2
+    field public static final int functionResultUnknown = 0; // 0x0
+    field public static final int functionReturn = 4; // 0x4
+    field public static final int functionReturnsTable = 2; // 0x2
+    field public static final int importedKeyCascade = 0; // 0x0
+    field public static final int importedKeyInitiallyDeferred = 5; // 0x5
+    field public static final int importedKeyInitiallyImmediate = 6; // 0x6
+    field public static final int importedKeyNoAction = 3; // 0x3
+    field public static final int importedKeyNotDeferrable = 7; // 0x7
+    field public static final int importedKeyRestrict = 1; // 0x1
+    field public static final int importedKeySetDefault = 4; // 0x4
+    field public static final int importedKeySetNull = 2; // 0x2
+    field public static final int procedureColumnIn = 1; // 0x1
+    field public static final int procedureColumnInOut = 2; // 0x2
+    field public static final int procedureColumnOut = 4; // 0x4
+    field public static final int procedureColumnResult = 3; // 0x3
+    field public static final int procedureColumnReturn = 5; // 0x5
+    field public static final int procedureColumnUnknown = 0; // 0x0
+    field public static final int procedureNoNulls = 0; // 0x0
+    field public static final int procedureNoResult = 1; // 0x1
+    field public static final int procedureNullable = 1; // 0x1
+    field public static final int procedureNullableUnknown = 2; // 0x2
+    field public static final int procedureResultUnknown = 0; // 0x0
+    field public static final int procedureReturnsResult = 2; // 0x2
+    field public static final int sqlStateSQL = 2; // 0x2
+    field public static final int sqlStateSQL99 = 2; // 0x2
+    field public static final int sqlStateXOpen = 1; // 0x1
+    field public static final short tableIndexClustered = 1; // 0x1
+    field public static final short tableIndexHashed = 2; // 0x2
+    field public static final short tableIndexOther = 3; // 0x3
+    field public static final short tableIndexStatistic = 0; // 0x0
+    field public static final int typeNoNulls = 0; // 0x0
+    field public static final int typeNullable = 1; // 0x1
+    field public static final int typeNullableUnknown = 2; // 0x2
+    field public static final int typePredBasic = 2; // 0x2
+    field public static final int typePredChar = 1; // 0x1
+    field public static final int typePredNone = 0; // 0x0
+    field public static final int typeSearchable = 3; // 0x3
+    field public static final int versionColumnNotPseudo = 1; // 0x1
+    field public static final int versionColumnPseudo = 2; // 0x2
+    field public static final int versionColumnUnknown = 0; // 0x0
+  }
+
+  public class Date extends java.util.Date {
+    ctor @Deprecated public Date(int, int, int);
+    ctor public Date(long);
+    method public static java.sql.Date valueOf(String);
+  }
+
+  public interface Driver {
+    method public boolean acceptsURL(String) throws java.sql.SQLException;
+    method public java.sql.Connection connect(String, java.util.Properties) throws java.sql.SQLException;
+    method public int getMajorVersion();
+    method public int getMinorVersion();
+    method public java.sql.DriverPropertyInfo[] getPropertyInfo(String, java.util.Properties) throws java.sql.SQLException;
+    method public boolean jdbcCompliant();
+  }
+
+  public class DriverManager {
+    method public static void deregisterDriver(java.sql.Driver) throws java.sql.SQLException;
+    method public static java.sql.Connection getConnection(String, java.util.Properties) throws java.sql.SQLException;
+    method public static java.sql.Connection getConnection(String, String, String) throws java.sql.SQLException;
+    method public static java.sql.Connection getConnection(String) throws java.sql.SQLException;
+    method public static java.sql.Driver getDriver(String) throws java.sql.SQLException;
+    method public static java.util.Enumeration<java.sql.Driver> getDrivers();
+    method @Deprecated public static java.io.PrintStream getLogStream();
+    method public static java.io.PrintWriter getLogWriter();
+    method public static int getLoginTimeout();
+    method public static void println(String);
+    method public static void registerDriver(java.sql.Driver) throws java.sql.SQLException;
+    method @Deprecated public static void setLogStream(java.io.PrintStream);
+    method public static void setLogWriter(java.io.PrintWriter);
+    method public static void setLoginTimeout(int);
+  }
+
+  public class DriverPropertyInfo {
+    ctor public DriverPropertyInfo(String, String);
+    field public String[] choices;
+    field public String description;
+    field public String name;
+    field public boolean required;
+    field public String value;
+  }
+
+  public interface NClob extends java.sql.Clob {
+  }
+
+  public interface ParameterMetaData extends java.sql.Wrapper {
+    method public String getParameterClassName(int) throws java.sql.SQLException;
+    method public int getParameterCount() throws java.sql.SQLException;
+    method public int getParameterMode(int) throws java.sql.SQLException;
+    method public int getParameterType(int) throws java.sql.SQLException;
+    method public String getParameterTypeName(int) throws java.sql.SQLException;
+    method public int getPrecision(int) throws java.sql.SQLException;
+    method public int getScale(int) throws java.sql.SQLException;
+    method public int isNullable(int) throws java.sql.SQLException;
+    method public boolean isSigned(int) throws java.sql.SQLException;
+    field public static final int parameterModeIn = 1; // 0x1
+    field public static final int parameterModeInOut = 2; // 0x2
+    field public static final int parameterModeOut = 4; // 0x4
+    field public static final int parameterModeUnknown = 0; // 0x0
+    field public static final int parameterNoNulls = 0; // 0x0
+    field public static final int parameterNullable = 1; // 0x1
+    field public static final int parameterNullableUnknown = 2; // 0x2
+  }
+
+  public interface PreparedStatement extends java.sql.Statement {
+    method public void addBatch() throws java.sql.SQLException;
+    method public void clearParameters() throws java.sql.SQLException;
+    method public boolean execute() throws java.sql.SQLException;
+    method public java.sql.ResultSet executeQuery() throws java.sql.SQLException;
+    method public int executeUpdate() throws java.sql.SQLException;
+    method public java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException;
+    method public java.sql.ParameterMetaData getParameterMetaData() throws java.sql.SQLException;
+    method public void setArray(int, java.sql.Array) throws java.sql.SQLException;
+    method public void setAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setAsciiStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setAsciiStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void setBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setBinaryStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBinaryStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBlob(int, java.sql.Blob) throws java.sql.SQLException;
+    method public void setBlob(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBlob(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBoolean(int, boolean) throws java.sql.SQLException;
+    method public void setByte(int, byte) throws java.sql.SQLException;
+    method public void setBytes(int, byte[]) throws java.sql.SQLException;
+    method public void setCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException;
+    method public void setCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setClob(int, java.sql.Clob) throws java.sql.SQLException;
+    method public void setClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setDate(int, java.sql.Date) throws java.sql.SQLException;
+    method public void setDate(int, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+    method public void setDouble(int, double) throws java.sql.SQLException;
+    method public void setFloat(int, float) throws java.sql.SQLException;
+    method public void setInt(int, int) throws java.sql.SQLException;
+    method public void setLong(int, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setNClob(int, java.sql.NClob) throws java.sql.SQLException;
+    method public void setNClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setNString(int, String) throws java.sql.SQLException;
+    method public void setNull(int, int) throws java.sql.SQLException;
+    method public void setNull(int, int, String) throws java.sql.SQLException;
+    method public void setObject(int, Object, int) throws java.sql.SQLException;
+    method public void setObject(int, Object) throws java.sql.SQLException;
+    method public void setObject(int, Object, int, int) throws java.sql.SQLException;
+    method public void setRef(int, java.sql.Ref) throws java.sql.SQLException;
+    method public void setRowId(int, java.sql.RowId) throws java.sql.SQLException;
+    method public void setSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void setShort(int, short) throws java.sql.SQLException;
+    method public void setString(int, String) throws java.sql.SQLException;
+    method public void setTime(int, java.sql.Time) throws java.sql.SQLException;
+    method public void setTime(int, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException;
+    method public void setTimestamp(int, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+    method public void setURL(int, java.net.URL) throws java.sql.SQLException;
+    method @Deprecated public void setUnicodeStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+  }
+
+  public interface Ref {
+    method public String getBaseTypeName() throws java.sql.SQLException;
+    method public Object getObject(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public Object getObject() throws java.sql.SQLException;
+    method public void setObject(Object) throws java.sql.SQLException;
+  }
+
+  public interface ResultSet extends java.sql.Wrapper java.lang.AutoCloseable {
+    method public boolean absolute(int) throws java.sql.SQLException;
+    method public void afterLast() throws java.sql.SQLException;
+    method public void beforeFirst() throws java.sql.SQLException;
+    method public void cancelRowUpdates() throws java.sql.SQLException;
+    method public void clearWarnings() throws java.sql.SQLException;
+    method public void close() throws java.sql.SQLException;
+    method public void deleteRow() throws java.sql.SQLException;
+    method public int findColumn(String) throws java.sql.SQLException;
+    method public boolean first() throws java.sql.SQLException;
+    method public java.sql.Array getArray(int) throws java.sql.SQLException;
+    method public java.sql.Array getArray(String) throws java.sql.SQLException;
+    method public java.io.InputStream getAsciiStream(int) throws java.sql.SQLException;
+    method public java.io.InputStream getAsciiStream(String) throws java.sql.SQLException;
+    method @Deprecated public java.math.BigDecimal getBigDecimal(int, int) throws java.sql.SQLException;
+    method @Deprecated public java.math.BigDecimal getBigDecimal(String, int) throws java.sql.SQLException;
+    method public java.math.BigDecimal getBigDecimal(int) throws java.sql.SQLException;
+    method public java.math.BigDecimal getBigDecimal(String) throws java.sql.SQLException;
+    method public java.io.InputStream getBinaryStream(int) throws java.sql.SQLException;
+    method public java.io.InputStream getBinaryStream(String) throws java.sql.SQLException;
+    method public java.sql.Blob getBlob(int) throws java.sql.SQLException;
+    method public java.sql.Blob getBlob(String) throws java.sql.SQLException;
+    method public boolean getBoolean(int) throws java.sql.SQLException;
+    method public boolean getBoolean(String) throws java.sql.SQLException;
+    method public byte getByte(int) throws java.sql.SQLException;
+    method public byte getByte(String) throws java.sql.SQLException;
+    method public byte[] getBytes(int) throws java.sql.SQLException;
+    method public byte[] getBytes(String) throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream(int) throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream(String) throws java.sql.SQLException;
+    method public java.sql.Clob getClob(int) throws java.sql.SQLException;
+    method public java.sql.Clob getClob(String) throws java.sql.SQLException;
+    method public int getConcurrency() throws java.sql.SQLException;
+    method public String getCursorName() throws java.sql.SQLException;
+    method public java.sql.Date getDate(int) throws java.sql.SQLException;
+    method public java.sql.Date getDate(String) throws java.sql.SQLException;
+    method public java.sql.Date getDate(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Date getDate(String, java.util.Calendar) throws java.sql.SQLException;
+    method public double getDouble(int) throws java.sql.SQLException;
+    method public double getDouble(String) throws java.sql.SQLException;
+    method public int getFetchDirection() throws java.sql.SQLException;
+    method public int getFetchSize() throws java.sql.SQLException;
+    method public float getFloat(int) throws java.sql.SQLException;
+    method public float getFloat(String) throws java.sql.SQLException;
+    method public int getHoldability() throws java.sql.SQLException;
+    method public int getInt(int) throws java.sql.SQLException;
+    method public int getInt(String) throws java.sql.SQLException;
+    method public long getLong(int) throws java.sql.SQLException;
+    method public long getLong(String) throws java.sql.SQLException;
+    method public java.sql.ResultSetMetaData getMetaData() throws java.sql.SQLException;
+    method public java.io.Reader getNCharacterStream(int) throws java.sql.SQLException;
+    method public java.io.Reader getNCharacterStream(String) throws java.sql.SQLException;
+    method public java.sql.NClob getNClob(int) throws java.sql.SQLException;
+    method public java.sql.NClob getNClob(String) throws java.sql.SQLException;
+    method public String getNString(int) throws java.sql.SQLException;
+    method public String getNString(String) throws java.sql.SQLException;
+    method public Object getObject(int) throws java.sql.SQLException;
+    method public Object getObject(String) throws java.sql.SQLException;
+    method public Object getObject(int, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public Object getObject(String, java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public java.sql.Ref getRef(int) throws java.sql.SQLException;
+    method public java.sql.Ref getRef(String) throws java.sql.SQLException;
+    method public int getRow() throws java.sql.SQLException;
+    method public java.sql.RowId getRowId(int) throws java.sql.SQLException;
+    method public java.sql.RowId getRowId(String) throws java.sql.SQLException;
+    method public java.sql.SQLXML getSQLXML(int) throws java.sql.SQLException;
+    method public java.sql.SQLXML getSQLXML(String) throws java.sql.SQLException;
+    method public short getShort(int) throws java.sql.SQLException;
+    method public short getShort(String) throws java.sql.SQLException;
+    method public java.sql.Statement getStatement() throws java.sql.SQLException;
+    method public String getString(int) throws java.sql.SQLException;
+    method public String getString(String) throws java.sql.SQLException;
+    method public java.sql.Time getTime(int) throws java.sql.SQLException;
+    method public java.sql.Time getTime(String) throws java.sql.SQLException;
+    method public java.sql.Time getTime(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Time getTime(String, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(int) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(String) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(int, java.util.Calendar) throws java.sql.SQLException;
+    method public java.sql.Timestamp getTimestamp(String, java.util.Calendar) throws java.sql.SQLException;
+    method public int getType() throws java.sql.SQLException;
+    method public java.net.URL getURL(int) throws java.sql.SQLException;
+    method public java.net.URL getURL(String) throws java.sql.SQLException;
+    method @Deprecated public java.io.InputStream getUnicodeStream(int) throws java.sql.SQLException;
+    method @Deprecated public java.io.InputStream getUnicodeStream(String) throws java.sql.SQLException;
+    method public java.sql.SQLWarning getWarnings() throws java.sql.SQLException;
+    method public void insertRow() throws java.sql.SQLException;
+    method public boolean isAfterLast() throws java.sql.SQLException;
+    method public boolean isBeforeFirst() throws java.sql.SQLException;
+    method public boolean isClosed() throws java.sql.SQLException;
+    method public boolean isFirst() throws java.sql.SQLException;
+    method public boolean isLast() throws java.sql.SQLException;
+    method public boolean last() throws java.sql.SQLException;
+    method public void moveToCurrentRow() throws java.sql.SQLException;
+    method public void moveToInsertRow() throws java.sql.SQLException;
+    method public boolean next() throws java.sql.SQLException;
+    method public boolean previous() throws java.sql.SQLException;
+    method public void refreshRow() throws java.sql.SQLException;
+    method public boolean relative(int) throws java.sql.SQLException;
+    method public boolean rowDeleted() throws java.sql.SQLException;
+    method public boolean rowInserted() throws java.sql.SQLException;
+    method public boolean rowUpdated() throws java.sql.SQLException;
+    method public void setFetchDirection(int) throws java.sql.SQLException;
+    method public void setFetchSize(int) throws java.sql.SQLException;
+    method public void updateArray(int, java.sql.Array) throws java.sql.SQLException;
+    method public void updateArray(String, java.sql.Array) throws java.sql.SQLException;
+    method public void updateAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void updateAsciiStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void updateAsciiStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateAsciiStream(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateAsciiStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateAsciiStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void updateBigDecimal(String, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void updateBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void updateBinaryStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void updateBinaryStream(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateBinaryStream(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateBinaryStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateBinaryStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateBlob(int, java.sql.Blob) throws java.sql.SQLException;
+    method public void updateBlob(String, java.sql.Blob) throws java.sql.SQLException;
+    method public void updateBlob(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateBlob(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void updateBlob(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateBlob(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void updateBoolean(int, boolean) throws java.sql.SQLException;
+    method public void updateBoolean(String, boolean) throws java.sql.SQLException;
+    method public void updateByte(int, byte) throws java.sql.SQLException;
+    method public void updateByte(String, byte) throws java.sql.SQLException;
+    method public void updateBytes(int, byte[]) throws java.sql.SQLException;
+    method public void updateBytes(String, byte[]) throws java.sql.SQLException;
+    method public void updateCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException;
+    method public void updateCharacterStream(String, java.io.Reader, int) throws java.sql.SQLException;
+    method public void updateCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void updateCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void updateClob(int, java.sql.Clob) throws java.sql.SQLException;
+    method public void updateClob(String, java.sql.Clob) throws java.sql.SQLException;
+    method public void updateClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void updateClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void updateDate(int, java.sql.Date) throws java.sql.SQLException;
+    method public void updateDate(String, java.sql.Date) throws java.sql.SQLException;
+    method public void updateDouble(int, double) throws java.sql.SQLException;
+    method public void updateDouble(String, double) throws java.sql.SQLException;
+    method public void updateFloat(int, float) throws java.sql.SQLException;
+    method public void updateFloat(String, float) throws java.sql.SQLException;
+    method public void updateInt(int, int) throws java.sql.SQLException;
+    method public void updateInt(String, int) throws java.sql.SQLException;
+    method public void updateLong(int, long) throws java.sql.SQLException;
+    method public void updateLong(String, long) throws java.sql.SQLException;
+    method public void updateNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateNCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateNCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void updateNCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void updateNClob(int, java.sql.NClob) throws java.sql.SQLException;
+    method public void updateNClob(String, java.sql.NClob) throws java.sql.SQLException;
+    method public void updateNClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateNClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void updateNClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void updateNClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void updateNString(int, String) throws java.sql.SQLException;
+    method public void updateNString(String, String) throws java.sql.SQLException;
+    method public void updateNull(int) throws java.sql.SQLException;
+    method public void updateNull(String) throws java.sql.SQLException;
+    method public void updateObject(int, Object, int) throws java.sql.SQLException;
+    method public void updateObject(int, Object) throws java.sql.SQLException;
+    method public void updateObject(String, Object, int) throws java.sql.SQLException;
+    method public void updateObject(String, Object) throws java.sql.SQLException;
+    method public void updateRef(int, java.sql.Ref) throws java.sql.SQLException;
+    method public void updateRef(String, java.sql.Ref) throws java.sql.SQLException;
+    method public void updateRow() throws java.sql.SQLException;
+    method public void updateRowId(int, java.sql.RowId) throws java.sql.SQLException;
+    method public void updateRowId(String, java.sql.RowId) throws java.sql.SQLException;
+    method public void updateSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void updateSQLXML(String, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void updateShort(int, short) throws java.sql.SQLException;
+    method public void updateShort(String, short) throws java.sql.SQLException;
+    method public void updateString(int, String) throws java.sql.SQLException;
+    method public void updateString(String, String) throws java.sql.SQLException;
+    method public void updateTime(int, java.sql.Time) throws java.sql.SQLException;
+    method public void updateTime(String, java.sql.Time) throws java.sql.SQLException;
+    method public void updateTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException;
+    method public void updateTimestamp(String, java.sql.Timestamp) throws java.sql.SQLException;
+    method public boolean wasNull() throws java.sql.SQLException;
+    field public static final int CLOSE_CURSORS_AT_COMMIT = 2; // 0x2
+    field public static final int CONCUR_READ_ONLY = 1007; // 0x3ef
+    field public static final int CONCUR_UPDATABLE = 1008; // 0x3f0
+    field public static final int FETCH_FORWARD = 1000; // 0x3e8
+    field public static final int FETCH_REVERSE = 1001; // 0x3e9
+    field public static final int FETCH_UNKNOWN = 1002; // 0x3ea
+    field public static final int HOLD_CURSORS_OVER_COMMIT = 1; // 0x1
+    field public static final int TYPE_FORWARD_ONLY = 1003; // 0x3eb
+    field public static final int TYPE_SCROLL_INSENSITIVE = 1004; // 0x3ec
+    field public static final int TYPE_SCROLL_SENSITIVE = 1005; // 0x3ed
+  }
+
+  public interface ResultSetMetaData extends java.sql.Wrapper {
+    method public String getCatalogName(int) throws java.sql.SQLException;
+    method public String getColumnClassName(int) throws java.sql.SQLException;
+    method public int getColumnCount() throws java.sql.SQLException;
+    method public int getColumnDisplaySize(int) throws java.sql.SQLException;
+    method public String getColumnLabel(int) throws java.sql.SQLException;
+    method public String getColumnName(int) throws java.sql.SQLException;
+    method public int getColumnType(int) throws java.sql.SQLException;
+    method public String getColumnTypeName(int) throws java.sql.SQLException;
+    method public int getPrecision(int) throws java.sql.SQLException;
+    method public int getScale(int) throws java.sql.SQLException;
+    method public String getSchemaName(int) throws java.sql.SQLException;
+    method public String getTableName(int) throws java.sql.SQLException;
+    method public boolean isAutoIncrement(int) throws java.sql.SQLException;
+    method public boolean isCaseSensitive(int) throws java.sql.SQLException;
+    method public boolean isCurrency(int) throws java.sql.SQLException;
+    method public boolean isDefinitelyWritable(int) throws java.sql.SQLException;
+    method public int isNullable(int) throws java.sql.SQLException;
+    method public boolean isReadOnly(int) throws java.sql.SQLException;
+    method public boolean isSearchable(int) throws java.sql.SQLException;
+    method public boolean isSigned(int) throws java.sql.SQLException;
+    method public boolean isWritable(int) throws java.sql.SQLException;
+    field public static final int columnNoNulls = 0; // 0x0
+    field public static final int columnNullable = 1; // 0x1
+    field public static final int columnNullableUnknown = 2; // 0x2
+  }
+
+  public interface RowId {
+    method public boolean equals(Object);
+    method public byte[] getBytes();
+    method public int hashCode();
+    method public String toString();
+  }
+
+  public enum RowIdLifetime {
+    enum_constant public static final java.sql.RowIdLifetime ROWID_UNSUPPORTED;
+    enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_FOREVER;
+    enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_OTHER;
+    enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_SESSION;
+    enum_constant public static final java.sql.RowIdLifetime ROWID_VALID_TRANSACTION;
+  }
+
+  public class SQLClientInfoException extends java.sql.SQLException {
+    ctor public SQLClientInfoException();
+    ctor public SQLClientInfoException(java.util.Map<java.lang.String,java.sql.ClientInfoStatus>);
+    ctor public SQLClientInfoException(java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable);
+    ctor public SQLClientInfoException(String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>);
+    ctor public SQLClientInfoException(String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable);
+    ctor public SQLClientInfoException(String, String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>);
+    ctor public SQLClientInfoException(String, String, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable);
+    ctor public SQLClientInfoException(String, String, int, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>);
+    ctor public SQLClientInfoException(String, String, int, java.util.Map<java.lang.String,java.sql.ClientInfoStatus>, Throwable);
+    method public java.util.Map<java.lang.String,java.sql.ClientInfoStatus> getFailedProperties();
+  }
+
+  public interface SQLData {
+    method public String getSQLTypeName() throws java.sql.SQLException;
+    method public void readSQL(java.sql.SQLInput, String) throws java.sql.SQLException;
+    method public void writeSQL(java.sql.SQLOutput) throws java.sql.SQLException;
+  }
+
+  public class SQLDataException extends java.sql.SQLNonTransientException {
+    ctor public SQLDataException();
+    ctor public SQLDataException(String);
+    ctor public SQLDataException(String, String);
+    ctor public SQLDataException(String, String, int);
+    ctor public SQLDataException(Throwable);
+    ctor public SQLDataException(String, Throwable);
+    ctor public SQLDataException(String, String, Throwable);
+    ctor public SQLDataException(String, String, int, Throwable);
+  }
+
+  public class SQLException extends java.lang.Exception implements java.lang.Iterable<java.lang.Throwable> {
+    ctor public SQLException(String, String, int);
+    ctor public SQLException(String, String);
+    ctor public SQLException(String);
+    ctor public SQLException();
+    ctor public SQLException(Throwable);
+    ctor public SQLException(String, Throwable);
+    ctor public SQLException(String, String, Throwable);
+    ctor public SQLException(String, String, int, Throwable);
+    method public int getErrorCode();
+    method public java.sql.SQLException getNextException();
+    method public String getSQLState();
+    method public java.util.Iterator<java.lang.Throwable> iterator();
+    method public void setNextException(java.sql.SQLException);
+  }
+
+  public class SQLFeatureNotSupportedException extends java.sql.SQLNonTransientException {
+    ctor public SQLFeatureNotSupportedException();
+    ctor public SQLFeatureNotSupportedException(String);
+    ctor public SQLFeatureNotSupportedException(String, String);
+    ctor public SQLFeatureNotSupportedException(String, String, int);
+    ctor public SQLFeatureNotSupportedException(Throwable);
+    ctor public SQLFeatureNotSupportedException(String, Throwable);
+    ctor public SQLFeatureNotSupportedException(String, String, Throwable);
+    ctor public SQLFeatureNotSupportedException(String, String, int, Throwable);
+  }
+
+  public interface SQLInput {
+    method public java.sql.Array readArray() throws java.sql.SQLException;
+    method public java.io.InputStream readAsciiStream() throws java.sql.SQLException;
+    method public java.math.BigDecimal readBigDecimal() throws java.sql.SQLException;
+    method public java.io.InputStream readBinaryStream() throws java.sql.SQLException;
+    method public java.sql.Blob readBlob() throws java.sql.SQLException;
+    method public boolean readBoolean() throws java.sql.SQLException;
+    method public byte readByte() throws java.sql.SQLException;
+    method public byte[] readBytes() throws java.sql.SQLException;
+    method public java.io.Reader readCharacterStream() throws java.sql.SQLException;
+    method public java.sql.Clob readClob() throws java.sql.SQLException;
+    method public java.sql.Date readDate() throws java.sql.SQLException;
+    method public double readDouble() throws java.sql.SQLException;
+    method public float readFloat() throws java.sql.SQLException;
+    method public int readInt() throws java.sql.SQLException;
+    method public long readLong() throws java.sql.SQLException;
+    method public java.sql.NClob readNClob() throws java.sql.SQLException;
+    method public String readNString() throws java.sql.SQLException;
+    method public Object readObject() throws java.sql.SQLException;
+    method public java.sql.Ref readRef() throws java.sql.SQLException;
+    method public java.sql.RowId readRowId() throws java.sql.SQLException;
+    method public java.sql.SQLXML readSQLXML() throws java.sql.SQLException;
+    method public short readShort() throws java.sql.SQLException;
+    method public String readString() throws java.sql.SQLException;
+    method public java.sql.Time readTime() throws java.sql.SQLException;
+    method public java.sql.Timestamp readTimestamp() throws java.sql.SQLException;
+    method public java.net.URL readURL() throws java.sql.SQLException;
+    method public boolean wasNull() throws java.sql.SQLException;
+  }
+
+  public class SQLIntegrityConstraintViolationException extends java.sql.SQLNonTransientException {
+    ctor public SQLIntegrityConstraintViolationException();
+    ctor public SQLIntegrityConstraintViolationException(String);
+    ctor public SQLIntegrityConstraintViolationException(String, String);
+    ctor public SQLIntegrityConstraintViolationException(String, String, int);
+    ctor public SQLIntegrityConstraintViolationException(Throwable);
+    ctor public SQLIntegrityConstraintViolationException(String, Throwable);
+    ctor public SQLIntegrityConstraintViolationException(String, String, Throwable);
+    ctor public SQLIntegrityConstraintViolationException(String, String, int, Throwable);
+  }
+
+  public class SQLInvalidAuthorizationSpecException extends java.sql.SQLNonTransientException {
+    ctor public SQLInvalidAuthorizationSpecException();
+    ctor public SQLInvalidAuthorizationSpecException(String);
+    ctor public SQLInvalidAuthorizationSpecException(String, String);
+    ctor public SQLInvalidAuthorizationSpecException(String, String, int);
+    ctor public SQLInvalidAuthorizationSpecException(Throwable);
+    ctor public SQLInvalidAuthorizationSpecException(String, Throwable);
+    ctor public SQLInvalidAuthorizationSpecException(String, String, Throwable);
+    ctor public SQLInvalidAuthorizationSpecException(String, String, int, Throwable);
+  }
+
+  public class SQLNonTransientConnectionException extends java.sql.SQLNonTransientException {
+    ctor public SQLNonTransientConnectionException();
+    ctor public SQLNonTransientConnectionException(String);
+    ctor public SQLNonTransientConnectionException(String, String);
+    ctor public SQLNonTransientConnectionException(String, String, int);
+    ctor public SQLNonTransientConnectionException(Throwable);
+    ctor public SQLNonTransientConnectionException(String, Throwable);
+    ctor public SQLNonTransientConnectionException(String, String, Throwable);
+    ctor public SQLNonTransientConnectionException(String, String, int, Throwable);
+  }
+
+  public class SQLNonTransientException extends java.sql.SQLException {
+    ctor public SQLNonTransientException();
+    ctor public SQLNonTransientException(String);
+    ctor public SQLNonTransientException(String, String);
+    ctor public SQLNonTransientException(String, String, int);
+    ctor public SQLNonTransientException(Throwable);
+    ctor public SQLNonTransientException(String, Throwable);
+    ctor public SQLNonTransientException(String, String, Throwable);
+    ctor public SQLNonTransientException(String, String, int, Throwable);
+  }
+
+  public interface SQLOutput {
+    method public void writeArray(java.sql.Array) throws java.sql.SQLException;
+    method public void writeAsciiStream(java.io.InputStream) throws java.sql.SQLException;
+    method public void writeBigDecimal(java.math.BigDecimal) throws java.sql.SQLException;
+    method public void writeBinaryStream(java.io.InputStream) throws java.sql.SQLException;
+    method public void writeBlob(java.sql.Blob) throws java.sql.SQLException;
+    method public void writeBoolean(boolean) throws java.sql.SQLException;
+    method public void writeByte(byte) throws java.sql.SQLException;
+    method public void writeBytes(byte[]) throws java.sql.SQLException;
+    method public void writeCharacterStream(java.io.Reader) throws java.sql.SQLException;
+    method public void writeClob(java.sql.Clob) throws java.sql.SQLException;
+    method public void writeDate(java.sql.Date) throws java.sql.SQLException;
+    method public void writeDouble(double) throws java.sql.SQLException;
+    method public void writeFloat(float) throws java.sql.SQLException;
+    method public void writeInt(int) throws java.sql.SQLException;
+    method public void writeLong(long) throws java.sql.SQLException;
+    method public void writeNClob(java.sql.NClob) throws java.sql.SQLException;
+    method public void writeNString(String) throws java.sql.SQLException;
+    method public void writeObject(java.sql.SQLData) throws java.sql.SQLException;
+    method public void writeRef(java.sql.Ref) throws java.sql.SQLException;
+    method public void writeRowId(java.sql.RowId) throws java.sql.SQLException;
+    method public void writeSQLXML(java.sql.SQLXML) throws java.sql.SQLException;
+    method public void writeShort(short) throws java.sql.SQLException;
+    method public void writeString(String) throws java.sql.SQLException;
+    method public void writeStruct(java.sql.Struct) throws java.sql.SQLException;
+    method public void writeTime(java.sql.Time) throws java.sql.SQLException;
+    method public void writeTimestamp(java.sql.Timestamp) throws java.sql.SQLException;
+    method public void writeURL(java.net.URL) throws java.sql.SQLException;
+  }
+
+  public final class SQLPermission extends java.security.BasicPermission {
+    ctor public SQLPermission(String);
+    ctor public SQLPermission(String, String);
+  }
+
+  public class SQLRecoverableException extends java.sql.SQLException {
+    ctor public SQLRecoverableException();
+    ctor public SQLRecoverableException(String);
+    ctor public SQLRecoverableException(String, String);
+    ctor public SQLRecoverableException(String, String, int);
+    ctor public SQLRecoverableException(Throwable);
+    ctor public SQLRecoverableException(String, Throwable);
+    ctor public SQLRecoverableException(String, String, Throwable);
+    ctor public SQLRecoverableException(String, String, int, Throwable);
+  }
+
+  public class SQLSyntaxErrorException extends java.sql.SQLNonTransientException {
+    ctor public SQLSyntaxErrorException();
+    ctor public SQLSyntaxErrorException(String);
+    ctor public SQLSyntaxErrorException(String, String);
+    ctor public SQLSyntaxErrorException(String, String, int);
+    ctor public SQLSyntaxErrorException(Throwable);
+    ctor public SQLSyntaxErrorException(String, Throwable);
+    ctor public SQLSyntaxErrorException(String, String, Throwable);
+    ctor public SQLSyntaxErrorException(String, String, int, Throwable);
+  }
+
+  public class SQLTimeoutException extends java.sql.SQLTransientException {
+    ctor public SQLTimeoutException();
+    ctor public SQLTimeoutException(String);
+    ctor public SQLTimeoutException(String, String);
+    ctor public SQLTimeoutException(String, String, int);
+    ctor public SQLTimeoutException(Throwable);
+    ctor public SQLTimeoutException(String, Throwable);
+    ctor public SQLTimeoutException(String, String, Throwable);
+    ctor public SQLTimeoutException(String, String, int, Throwable);
+  }
+
+  public class SQLTransactionRollbackException extends java.sql.SQLTransientException {
+    ctor public SQLTransactionRollbackException();
+    ctor public SQLTransactionRollbackException(String);
+    ctor public SQLTransactionRollbackException(String, String);
+    ctor public SQLTransactionRollbackException(String, String, int);
+    ctor public SQLTransactionRollbackException(Throwable);
+    ctor public SQLTransactionRollbackException(String, Throwable);
+    ctor public SQLTransactionRollbackException(String, String, Throwable);
+    ctor public SQLTransactionRollbackException(String, String, int, Throwable);
+  }
+
+  public class SQLTransientConnectionException extends java.sql.SQLTransientException {
+    ctor public SQLTransientConnectionException();
+    ctor public SQLTransientConnectionException(String);
+    ctor public SQLTransientConnectionException(String, String);
+    ctor public SQLTransientConnectionException(String, String, int);
+    ctor public SQLTransientConnectionException(Throwable);
+    ctor public SQLTransientConnectionException(String, Throwable);
+    ctor public SQLTransientConnectionException(String, String, Throwable);
+    ctor public SQLTransientConnectionException(String, String, int, Throwable);
+  }
+
+  public class SQLTransientException extends java.sql.SQLException {
+    ctor public SQLTransientException();
+    ctor public SQLTransientException(String);
+    ctor public SQLTransientException(String, String);
+    ctor public SQLTransientException(String, String, int);
+    ctor public SQLTransientException(Throwable);
+    ctor public SQLTransientException(String, Throwable);
+    ctor public SQLTransientException(String, String, Throwable);
+    ctor public SQLTransientException(String, String, int, Throwable);
+  }
+
+  public class SQLWarning extends java.sql.SQLException {
+    ctor public SQLWarning(String, String, int);
+    ctor public SQLWarning(String, String);
+    ctor public SQLWarning(String);
+    ctor public SQLWarning();
+    ctor public SQLWarning(Throwable);
+    ctor public SQLWarning(String, Throwable);
+    ctor public SQLWarning(String, String, Throwable);
+    ctor public SQLWarning(String, String, int, Throwable);
+    method public java.sql.SQLWarning getNextWarning();
+    method public void setNextWarning(java.sql.SQLWarning);
+  }
+
+  public interface SQLXML {
+    method public void free() throws java.sql.SQLException;
+    method public java.io.InputStream getBinaryStream() throws java.sql.SQLException;
+    method public java.io.Reader getCharacterStream() throws java.sql.SQLException;
+    method public <T extends javax.xml.transform.Source> T getSource(Class<T>) throws java.sql.SQLException;
+    method public String getString() throws java.sql.SQLException;
+    method public java.io.OutputStream setBinaryStream() throws java.sql.SQLException;
+    method public java.io.Writer setCharacterStream() throws java.sql.SQLException;
+    method public <T extends javax.xml.transform.Result> T setResult(Class<T>) throws java.sql.SQLException;
+    method public void setString(String) throws java.sql.SQLException;
+  }
+
+  public interface Savepoint {
+    method public int getSavepointId() throws java.sql.SQLException;
+    method public String getSavepointName() throws java.sql.SQLException;
+  }
+
+  public interface Statement extends java.sql.Wrapper java.lang.AutoCloseable {
+    method public void addBatch(String) throws java.sql.SQLException;
+    method public void cancel() throws java.sql.SQLException;
+    method public void clearBatch() throws java.sql.SQLException;
+    method public void clearWarnings() throws java.sql.SQLException;
+    method public void close() throws java.sql.SQLException;
+    method public boolean execute(String) throws java.sql.SQLException;
+    method public boolean execute(String, int) throws java.sql.SQLException;
+    method public boolean execute(String, int[]) throws java.sql.SQLException;
+    method public boolean execute(String, String[]) throws java.sql.SQLException;
+    method public int[] executeBatch() throws java.sql.SQLException;
+    method public java.sql.ResultSet executeQuery(String) throws java.sql.SQLException;
+    method public int executeUpdate(String) throws java.sql.SQLException;
+    method public int executeUpdate(String, int) throws java.sql.SQLException;
+    method public int executeUpdate(String, int[]) throws java.sql.SQLException;
+    method public int executeUpdate(String, String[]) throws java.sql.SQLException;
+    method public java.sql.Connection getConnection() throws java.sql.SQLException;
+    method public int getFetchDirection() throws java.sql.SQLException;
+    method public int getFetchSize() throws java.sql.SQLException;
+    method public java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException;
+    method public int getMaxFieldSize() throws java.sql.SQLException;
+    method public int getMaxRows() throws java.sql.SQLException;
+    method public boolean getMoreResults() throws java.sql.SQLException;
+    method public boolean getMoreResults(int) throws java.sql.SQLException;
+    method public int getQueryTimeout() throws java.sql.SQLException;
+    method public java.sql.ResultSet getResultSet() throws java.sql.SQLException;
+    method public int getResultSetConcurrency() throws java.sql.SQLException;
+    method public int getResultSetHoldability() throws java.sql.SQLException;
+    method public int getResultSetType() throws java.sql.SQLException;
+    method public int getUpdateCount() throws java.sql.SQLException;
+    method public java.sql.SQLWarning getWarnings() throws java.sql.SQLException;
+    method public boolean isClosed() throws java.sql.SQLException;
+    method public boolean isPoolable() throws java.sql.SQLException;
+    method public void setCursorName(String) throws java.sql.SQLException;
+    method public void setEscapeProcessing(boolean) throws java.sql.SQLException;
+    method public void setFetchDirection(int) throws java.sql.SQLException;
+    method public void setFetchSize(int) throws java.sql.SQLException;
+    method public void setMaxFieldSize(int) throws java.sql.SQLException;
+    method public void setMaxRows(int) throws java.sql.SQLException;
+    method public void setPoolable(boolean) throws java.sql.SQLException;
+    method public void setQueryTimeout(int) throws java.sql.SQLException;
+    field public static final int CLOSE_ALL_RESULTS = 3; // 0x3
+    field public static final int CLOSE_CURRENT_RESULT = 1; // 0x1
+    field public static final int EXECUTE_FAILED = -3; // 0xfffffffd
+    field public static final int KEEP_CURRENT_RESULT = 2; // 0x2
+    field public static final int NO_GENERATED_KEYS = 2; // 0x2
+    field public static final int RETURN_GENERATED_KEYS = 1; // 0x1
+    field public static final int SUCCESS_NO_INFO = -2; // 0xfffffffe
+  }
+
+  public interface Struct {
+    method public Object[] getAttributes() throws java.sql.SQLException;
+    method public Object[] getAttributes(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public String getSQLTypeName() throws java.sql.SQLException;
+  }
+
+  public class Time extends java.util.Date {
+    ctor @Deprecated public Time(int, int, int);
+    ctor public Time(long);
+    method public static java.sql.Time valueOf(String);
+  }
+
+  public class Timestamp extends java.util.Date {
+    ctor @Deprecated public Timestamp(int, int, int, int, int, int, int);
+    ctor public Timestamp(long);
+    method public boolean after(java.sql.Timestamp);
+    method public boolean before(java.sql.Timestamp);
+    method public int compareTo(java.sql.Timestamp);
+    method public boolean equals(java.sql.Timestamp);
+    method public int getNanos();
+    method public void setNanos(int);
+    method public static java.sql.Timestamp valueOf(String);
+  }
+
+  public class Types {
+    field public static final int ARRAY = 2003; // 0x7d3
+    field public static final int BIGINT = -5; // 0xfffffffb
+    field public static final int BINARY = -2; // 0xfffffffe
+    field public static final int BIT = -7; // 0xfffffff9
+    field public static final int BLOB = 2004; // 0x7d4
+    field public static final int BOOLEAN = 16; // 0x10
+    field public static final int CHAR = 1; // 0x1
+    field public static final int CLOB = 2005; // 0x7d5
+    field public static final int DATALINK = 70; // 0x46
+    field public static final int DATE = 91; // 0x5b
+    field public static final int DECIMAL = 3; // 0x3
+    field public static final int DISTINCT = 2001; // 0x7d1
+    field public static final int DOUBLE = 8; // 0x8
+    field public static final int FLOAT = 6; // 0x6
+    field public static final int INTEGER = 4; // 0x4
+    field public static final int JAVA_OBJECT = 2000; // 0x7d0
+    field public static final int LONGNVARCHAR = -16; // 0xfffffff0
+    field public static final int LONGVARBINARY = -4; // 0xfffffffc
+    field public static final int LONGVARCHAR = -1; // 0xffffffff
+    field public static final int NCHAR = -15; // 0xfffffff1
+    field public static final int NCLOB = 2011; // 0x7db
+    field public static final int NULL = 0; // 0x0
+    field public static final int NUMERIC = 2; // 0x2
+    field public static final int NVARCHAR = -9; // 0xfffffff7
+    field public static final int OTHER = 1111; // 0x457
+    field public static final int REAL = 7; // 0x7
+    field public static final int REF = 2006; // 0x7d6
+    field public static final int ROWID = -8; // 0xfffffff8
+    field public static final int SMALLINT = 5; // 0x5
+    field public static final int SQLXML = 2009; // 0x7d9
+    field public static final int STRUCT = 2002; // 0x7d2
+    field public static final int TIME = 92; // 0x5c
+    field public static final int TIMESTAMP = 93; // 0x5d
+    field public static final int TINYINT = -6; // 0xfffffffa
+    field public static final int VARBINARY = -3; // 0xfffffffd
+    field public static final int VARCHAR = 12; // 0xc
+  }
+
+  public interface Wrapper {
+    method public boolean isWrapperFor(Class<?>) throws java.sql.SQLException;
+    method public <T> T unwrap(Class<T>) throws java.sql.SQLException;
+  }
+
+}
+
+package java.text {
+
+  public class Annotation {
+    ctor public Annotation(Object);
+    method public Object getValue();
+  }
+
+  public interface AttributedCharacterIterator extends java.text.CharacterIterator {
+    method public java.util.Set<java.text.AttributedCharacterIterator.Attribute> getAllAttributeKeys();
+    method public Object getAttribute(java.text.AttributedCharacterIterator.Attribute);
+    method public java.util.Map<java.text.AttributedCharacterIterator.Attribute,java.lang.Object> getAttributes();
+    method public int getRunLimit();
+    method public int getRunLimit(java.text.AttributedCharacterIterator.Attribute);
+    method public int getRunLimit(java.util.Set<? extends java.text.AttributedCharacterIterator.Attribute>);
+    method public int getRunStart();
+    method public int getRunStart(java.text.AttributedCharacterIterator.Attribute);
+    method public int getRunStart(java.util.Set<? extends java.text.AttributedCharacterIterator.Attribute>);
+  }
+
+  public static class AttributedCharacterIterator.Attribute implements java.io.Serializable {
+    ctor protected AttributedCharacterIterator.Attribute(String);
+    method public final boolean equals(Object);
+    method protected String getName();
+    method public final int hashCode();
+    method protected Object readResolve() throws java.io.InvalidObjectException;
+    field public static final java.text.AttributedCharacterIterator.Attribute INPUT_METHOD_SEGMENT;
+    field public static final java.text.AttributedCharacterIterator.Attribute LANGUAGE;
+    field public static final java.text.AttributedCharacterIterator.Attribute READING;
+  }
+
+  public class AttributedString {
+    ctor public AttributedString(String);
+    ctor public AttributedString(String, java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute,?>);
+    ctor public AttributedString(java.text.AttributedCharacterIterator);
+    ctor public AttributedString(java.text.AttributedCharacterIterator, int, int);
+    ctor public AttributedString(java.text.AttributedCharacterIterator, int, int, java.text.AttributedCharacterIterator.Attribute[]);
+    method public void addAttribute(java.text.AttributedCharacterIterator.Attribute, Object);
+    method public void addAttribute(java.text.AttributedCharacterIterator.Attribute, Object, int, int);
+    method public void addAttributes(java.util.Map<? extends java.text.AttributedCharacterIterator.Attribute,?>, int, int);
+    method public java.text.AttributedCharacterIterator getIterator();
+    method public java.text.AttributedCharacterIterator getIterator(java.text.AttributedCharacterIterator.Attribute[]);
+    method public java.text.AttributedCharacterIterator getIterator(java.text.AttributedCharacterIterator.Attribute[], int, int);
+  }
+
+  public final class Bidi {
+    ctor public Bidi(String, int);
+    ctor public Bidi(java.text.AttributedCharacterIterator);
+    ctor public Bidi(char[], int, byte[], int, int, int);
+    method public boolean baseIsLeftToRight();
+    method public java.text.Bidi createLineBidi(int, int);
+    method public int getBaseLevel();
+    method public int getLength();
+    method public int getLevelAt(int);
+    method public int getRunCount();
+    method public int getRunLevel(int);
+    method public int getRunLimit(int);
+    method public int getRunStart(int);
+    method public boolean isLeftToRight();
+    method public boolean isMixed();
+    method public boolean isRightToLeft();
+    method public static void reorderVisually(byte[], int, Object[], int, int);
+    method public static boolean requiresBidi(char[], int, int);
+    field public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT = -2; // 0xfffffffe
+    field public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT = -1; // 0xffffffff
+    field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1
+  }
+
+  public abstract class BreakIterator implements java.lang.Cloneable {
+    ctor protected BreakIterator();
+    method public Object clone();
+    method public abstract int current();
+    method public abstract int first();
+    method public abstract int following(int);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public static java.text.BreakIterator getCharacterInstance();
+    method public static java.text.BreakIterator getCharacterInstance(java.util.Locale);
+    method public static java.text.BreakIterator getLineInstance();
+    method public static java.text.BreakIterator getLineInstance(java.util.Locale);
+    method public static java.text.BreakIterator getSentenceInstance();
+    method public static java.text.BreakIterator getSentenceInstance(java.util.Locale);
+    method public abstract java.text.CharacterIterator getText();
+    method public static java.text.BreakIterator getWordInstance();
+    method public static java.text.BreakIterator getWordInstance(java.util.Locale);
+    method public boolean isBoundary(int);
+    method public abstract int last();
+    method public abstract int next(int);
+    method public abstract int next();
+    method public int preceding(int);
+    method public abstract int previous();
+    method public void setText(String);
+    method public abstract void setText(java.text.CharacterIterator);
+    field public static final int DONE = -1; // 0xffffffff
+  }
+
+  public interface CharacterIterator extends java.lang.Cloneable {
+    method public Object clone();
+    method public char current();
+    method public char first();
+    method public int getBeginIndex();
+    method public int getEndIndex();
+    method public int getIndex();
+    method public char last();
+    method public char next();
+    method public char previous();
+    method public char setIndex(int);
+    field public static final char DONE = 65535; // 0xffff '\uffff'
+  }
+
+  public class ChoiceFormat extends java.text.NumberFormat {
+    ctor public ChoiceFormat(String);
+    ctor public ChoiceFormat(double[], String[]);
+    method public void applyPattern(String);
+    method public StringBuffer format(long, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(double, StringBuffer, java.text.FieldPosition);
+    method public Object[] getFormats();
+    method public double[] getLimits();
+    method public static final double nextDouble(double);
+    method public static double nextDouble(double, boolean);
+    method public Number parse(String, java.text.ParsePosition);
+    method public static final double previousDouble(double);
+    method public void setChoices(double[], String[]);
+    method public String toPattern();
+  }
+
+  public final class CollationElementIterator {
+    method public int getMaxExpansion(int);
+    method public int getOffset();
+    method public int next();
+    method public int previous();
+    method public static int primaryOrder(int);
+    method public void reset();
+    method public static short secondaryOrder(int);
+    method public void setOffset(int);
+    method public void setText(String);
+    method public void setText(java.text.CharacterIterator);
+    method public static short tertiaryOrder(int);
+    field public static final int NULLORDER = -1; // 0xffffffff
+  }
+
+  public abstract class CollationKey implements java.lang.Comparable<java.text.CollationKey> {
+    ctor protected CollationKey(String);
+    method public abstract int compareTo(java.text.CollationKey);
+    method public String getSourceString();
+    method public abstract byte[] toByteArray();
+  }
+
+  public abstract class Collator implements java.lang.Cloneable java.util.Comparator<java.lang.Object> {
+    ctor protected Collator();
+    method public Object clone();
+    method public abstract int compare(String, String);
+    method public int compare(Object, Object);
+    method public boolean equals(String, String);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public abstract java.text.CollationKey getCollationKey(String);
+    method public int getDecomposition();
+    method public static java.text.Collator getInstance();
+    method public static java.text.Collator getInstance(java.util.Locale);
+    method public int getStrength();
+    method public abstract int hashCode();
+    method public void setDecomposition(int);
+    method public void setStrength(int);
+    field public static final int CANONICAL_DECOMPOSITION = 1; // 0x1
+    field public static final int FULL_DECOMPOSITION = 2; // 0x2
+    field public static final int IDENTICAL = 3; // 0x3
+    field public static final int NO_DECOMPOSITION = 0; // 0x0
+    field public static final int PRIMARY = 0; // 0x0
+    field public static final int SECONDARY = 1; // 0x1
+    field public static final int TERTIARY = 2; // 0x2
+  }
+
+  public abstract class DateFormat extends java.text.Format {
+    ctor protected DateFormat();
+    method @NonNull public final StringBuffer format(@NonNull Object, @NonNull StringBuffer, @NonNull java.text.FieldPosition);
+    method @NonNull public abstract StringBuffer format(@NonNull java.util.Date, @NonNull StringBuffer, @NonNull java.text.FieldPosition);
+    method @NonNull public final String format(@NonNull java.util.Date);
+    method @NonNull public static java.util.Locale[] getAvailableLocales();
+    method @NonNull public java.util.Calendar getCalendar();
+    method @NonNull public static final java.text.DateFormat getDateInstance();
+    method @NonNull public static final java.text.DateFormat getDateInstance(int);
+    method @NonNull public static final java.text.DateFormat getDateInstance(int, @NonNull java.util.Locale);
+    method @NonNull public static final java.text.DateFormat getDateTimeInstance();
+    method @NonNull public static final java.text.DateFormat getDateTimeInstance(int, int);
+    method @NonNull public static final java.text.DateFormat getDateTimeInstance(int, int, @NonNull java.util.Locale);
+    method @NonNull public static final java.text.DateFormat getInstance();
+    method @NonNull public java.text.NumberFormat getNumberFormat();
+    method @NonNull public static final java.text.DateFormat getTimeInstance();
+    method @NonNull public static final java.text.DateFormat getTimeInstance(int);
+    method @NonNull public static final java.text.DateFormat getTimeInstance(int, @NonNull java.util.Locale);
+    method @NonNull public java.util.TimeZone getTimeZone();
+    method public boolean isLenient();
+    method @Nullable public java.util.Date parse(@NonNull String) throws java.text.ParseException;
+    method @Nullable public abstract java.util.Date parse(@NonNull String, @NonNull java.text.ParsePosition);
+    method @Nullable public Object parseObject(@NonNull String, @NonNull java.text.ParsePosition);
+    method public void setCalendar(@NonNull java.util.Calendar);
+    method public void setLenient(boolean);
+    method public void setNumberFormat(@NonNull java.text.NumberFormat);
+    method public void setTimeZone(@NonNull java.util.TimeZone);
+    field public static final int AM_PM_FIELD = 14; // 0xe
+    field public static final int DATE_FIELD = 3; // 0x3
+    field public static final int DAY_OF_WEEK_FIELD = 9; // 0x9
+    field public static final int DAY_OF_WEEK_IN_MONTH_FIELD = 11; // 0xb
+    field public static final int DAY_OF_YEAR_FIELD = 10; // 0xa
+    field public static final int DEFAULT = 2; // 0x2
+    field public static final int ERA_FIELD = 0; // 0x0
+    field public static final int FULL = 0; // 0x0
+    field public static final int HOUR0_FIELD = 16; // 0x10
+    field public static final int HOUR1_FIELD = 15; // 0xf
+    field public static final int HOUR_OF_DAY0_FIELD = 5; // 0x5
+    field public static final int HOUR_OF_DAY1_FIELD = 4; // 0x4
+    field public static final int LONG = 1; // 0x1
+    field public static final int MEDIUM = 2; // 0x2
+    field public static final int MILLISECOND_FIELD = 8; // 0x8
+    field public static final int MINUTE_FIELD = 6; // 0x6
+    field public static final int MONTH_FIELD = 2; // 0x2
+    field public static final int SECOND_FIELD = 7; // 0x7
+    field public static final int SHORT = 3; // 0x3
+    field public static final int TIMEZONE_FIELD = 17; // 0x11
+    field public static final int WEEK_OF_MONTH_FIELD = 13; // 0xd
+    field public static final int WEEK_OF_YEAR_FIELD = 12; // 0xc
+    field public static final int YEAR_FIELD = 1; // 0x1
+    field @NonNull protected java.util.Calendar calendar;
+    field @NonNull protected java.text.NumberFormat numberFormat;
+  }
+
+  public static class DateFormat.Field extends java.text.Format.Field {
+    ctor protected DateFormat.Field(@NonNull String, int);
+    method public int getCalendarField();
+    method @NonNull public static java.text.DateFormat.Field ofCalendarField(int);
+    field @NonNull public static final java.text.DateFormat.Field AM_PM;
+    field @NonNull public static final java.text.DateFormat.Field DAY_OF_MONTH;
+    field @NonNull public static final java.text.DateFormat.Field DAY_OF_WEEK;
+    field @NonNull public static final java.text.DateFormat.Field DAY_OF_WEEK_IN_MONTH;
+    field @NonNull public static final java.text.DateFormat.Field DAY_OF_YEAR;
+    field @NonNull public static final java.text.DateFormat.Field ERA;
+    field @NonNull public static final java.text.DateFormat.Field HOUR0;
+    field @NonNull public static final java.text.DateFormat.Field HOUR1;
+    field @NonNull public static final java.text.DateFormat.Field HOUR_OF_DAY0;
+    field @NonNull public static final java.text.DateFormat.Field HOUR_OF_DAY1;
+    field @NonNull public static final java.text.DateFormat.Field MILLISECOND;
+    field @NonNull public static final java.text.DateFormat.Field MINUTE;
+    field @NonNull public static final java.text.DateFormat.Field MONTH;
+    field @NonNull public static final java.text.DateFormat.Field SECOND;
+    field @NonNull public static final java.text.DateFormat.Field TIME_ZONE;
+    field @NonNull public static final java.text.DateFormat.Field WEEK_OF_MONTH;
+    field @NonNull public static final java.text.DateFormat.Field WEEK_OF_YEAR;
+    field @NonNull public static final java.text.DateFormat.Field YEAR;
+  }
+
+  public class DateFormatSymbols implements java.lang.Cloneable java.io.Serializable {
+    ctor public DateFormatSymbols();
+    ctor public DateFormatSymbols(java.util.Locale);
+    method public Object clone();
+    method public String[] getAmPmStrings();
+    method public static java.util.Locale[] getAvailableLocales();
+    method public String[] getEras();
+    method public static final java.text.DateFormatSymbols getInstance();
+    method public static final java.text.DateFormatSymbols getInstance(java.util.Locale);
+    method public String getLocalPatternChars();
+    method public String[] getMonths();
+    method public String[] getShortMonths();
+    method public String[] getShortWeekdays();
+    method public String[] getWeekdays();
+    method public String[][] getZoneStrings();
+    method public void setAmPmStrings(String[]);
+    method public void setEras(String[]);
+    method public void setLocalPatternChars(String);
+    method public void setMonths(String[]);
+    method public void setShortMonths(String[]);
+    method public void setShortWeekdays(String[]);
+    method public void setWeekdays(String[]);
+    method public void setZoneStrings(String[][]);
+  }
+
+  public class DecimalFormat extends java.text.NumberFormat {
+    ctor public DecimalFormat();
+    ctor public DecimalFormat(String);
+    ctor public DecimalFormat(String, java.text.DecimalFormatSymbols);
+    method public void applyLocalizedPattern(String);
+    method public void applyPattern(String);
+    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(double, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(long, StringBuffer, java.text.FieldPosition);
+    method public java.text.DecimalFormatSymbols getDecimalFormatSymbols();
+    method public int getGroupingSize();
+    method public int getMultiplier();
+    method public String getNegativePrefix();
+    method public String getNegativeSuffix();
+    method public String getPositivePrefix();
+    method public String getPositiveSuffix();
+    method public boolean isDecimalSeparatorAlwaysShown();
+    method public boolean isParseBigDecimal();
+    method public Number parse(String, java.text.ParsePosition);
+    method public void setDecimalFormatSymbols(java.text.DecimalFormatSymbols);
+    method public void setDecimalSeparatorAlwaysShown(boolean);
+    method public void setGroupingSize(int);
+    method public void setMultiplier(int);
+    method public void setNegativePrefix(String);
+    method public void setNegativeSuffix(String);
+    method public void setParseBigDecimal(boolean);
+    method public void setPositivePrefix(String);
+    method public void setPositiveSuffix(String);
+    method public String toLocalizedPattern();
+    method public String toPattern();
+  }
+
+  public class DecimalFormatSymbols implements java.lang.Cloneable java.io.Serializable {
+    ctor public DecimalFormatSymbols();
+    ctor public DecimalFormatSymbols(java.util.Locale);
+    method public Object clone();
+    method public static java.util.Locale[] getAvailableLocales();
+    method public java.util.Currency getCurrency();
+    method public String getCurrencySymbol();
+    method public char getDecimalSeparator();
+    method public char getDigit();
+    method public String getExponentSeparator();
+    method public char getGroupingSeparator();
+    method public String getInfinity();
+    method public static final java.text.DecimalFormatSymbols getInstance();
+    method public static final java.text.DecimalFormatSymbols getInstance(java.util.Locale);
+    method public String getInternationalCurrencySymbol();
+    method public char getMinusSign();
+    method public char getMonetaryDecimalSeparator();
+    method public String getNaN();
+    method public char getPatternSeparator();
+    method public char getPerMill();
+    method public char getPercent();
+    method public char getZeroDigit();
+    method public void setCurrency(java.util.Currency);
+    method public void setCurrencySymbol(String);
+    method public void setDecimalSeparator(char);
+    method public void setDigit(char);
+    method public void setExponentSeparator(String);
+    method public void setGroupingSeparator(char);
+    method public void setInfinity(String);
+    method public void setInternationalCurrencySymbol(String);
+    method public void setMinusSign(char);
+    method public void setMonetaryDecimalSeparator(char);
+    method public void setNaN(String);
+    method public void setPatternSeparator(char);
+    method public void setPerMill(char);
+    method public void setPercent(char);
+    method public void setZeroDigit(char);
+  }
+
+  public class FieldPosition {
+    ctor public FieldPosition(int);
+    ctor public FieldPosition(java.text.Format.Field);
+    ctor public FieldPosition(java.text.Format.Field, int);
+    method public int getBeginIndex();
+    method public int getEndIndex();
+    method public int getField();
+    method public java.text.Format.Field getFieldAttribute();
+    method public void setBeginIndex(int);
+    method public void setEndIndex(int);
+  }
+
+  public abstract class Format implements java.lang.Cloneable java.io.Serializable {
+    ctor protected Format();
+    method public Object clone();
+    method public final String format(Object);
+    method public abstract StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public java.text.AttributedCharacterIterator formatToCharacterIterator(Object);
+    method public abstract Object parseObject(String, java.text.ParsePosition);
+    method public Object parseObject(String) throws java.text.ParseException;
+  }
+
+  public static class Format.Field extends java.text.AttributedCharacterIterator.Attribute {
+    ctor protected Format.Field(String);
+  }
+
+  public class MessageFormat extends java.text.Format {
+    ctor public MessageFormat(String);
+    ctor public MessageFormat(String, java.util.Locale);
+    method public void applyPattern(String);
+    method public final StringBuffer format(Object[], StringBuffer, java.text.FieldPosition);
+    method public static String format(String, java.lang.Object...);
+    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public java.text.Format[] getFormats();
+    method public java.text.Format[] getFormatsByArgumentIndex();
+    method public java.util.Locale getLocale();
+    method public Object[] parse(String, java.text.ParsePosition);
+    method public Object[] parse(String) throws java.text.ParseException;
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public void setFormat(int, java.text.Format);
+    method public void setFormatByArgumentIndex(int, java.text.Format);
+    method public void setFormats(java.text.Format[]);
+    method public void setFormatsByArgumentIndex(java.text.Format[]);
+    method public void setLocale(java.util.Locale);
+    method public String toPattern();
+  }
+
+  public static class MessageFormat.Field extends java.text.Format.Field {
+    ctor protected MessageFormat.Field(String);
+    field public static final java.text.MessageFormat.Field ARGUMENT;
+  }
+
+  public final class Normalizer {
+    method public static boolean isNormalized(CharSequence, java.text.Normalizer.Form);
+    method public static String normalize(CharSequence, java.text.Normalizer.Form);
+  }
+
+  public enum Normalizer.Form {
+    enum_constant public static final java.text.Normalizer.Form NFC;
+    enum_constant public static final java.text.Normalizer.Form NFD;
+    enum_constant public static final java.text.Normalizer.Form NFKC;
+    enum_constant public static final java.text.Normalizer.Form NFKD;
+  }
+
+  public abstract class NumberFormat extends java.text.Format {
+    ctor protected NumberFormat();
+    method @NonNull public StringBuffer format(@NonNull Object, @NonNull StringBuffer, @NonNull java.text.FieldPosition);
+    method @NonNull public final String format(double);
+    method @NonNull public final String format(long);
+    method @NonNull public abstract StringBuffer format(double, @NonNull StringBuffer, @NonNull java.text.FieldPosition);
+    method @NonNull public abstract StringBuffer format(long, @NonNull StringBuffer, @NonNull java.text.FieldPosition);
+    method @NonNull public static java.util.Locale[] getAvailableLocales();
+    method @Nullable public java.util.Currency getCurrency();
+    method @NonNull public static final java.text.NumberFormat getCurrencyInstance();
+    method @NonNull public static java.text.NumberFormat getCurrencyInstance(@NonNull java.util.Locale);
+    method @NonNull public static final java.text.NumberFormat getInstance();
+    method @NonNull public static java.text.NumberFormat getInstance(@NonNull java.util.Locale);
+    method @NonNull public static final java.text.NumberFormat getIntegerInstance();
+    method @NonNull public static java.text.NumberFormat getIntegerInstance(@NonNull java.util.Locale);
+    method public int getMaximumFractionDigits();
+    method public int getMaximumIntegerDigits();
+    method public int getMinimumFractionDigits();
+    method public int getMinimumIntegerDigits();
+    method @NonNull public static final java.text.NumberFormat getNumberInstance();
+    method @NonNull public static java.text.NumberFormat getNumberInstance(@NonNull java.util.Locale);
+    method @NonNull public static final java.text.NumberFormat getPercentInstance();
+    method @NonNull public static java.text.NumberFormat getPercentInstance(@NonNull java.util.Locale);
+    method @NonNull public java.math.RoundingMode getRoundingMode();
+    method public boolean isGroupingUsed();
+    method public boolean isParseIntegerOnly();
+    method @Nullable public abstract Number parse(@NonNull String, @NonNull java.text.ParsePosition);
+    method @Nullable public Number parse(@NonNull String) throws java.text.ParseException;
+    method @Nullable public final Object parseObject(@NonNull String, @NonNull java.text.ParsePosition);
+    method public void setCurrency(@NonNull java.util.Currency);
+    method public void setGroupingUsed(boolean);
+    method public void setMaximumFractionDigits(int);
+    method public void setMaximumIntegerDigits(int);
+    method public void setMinimumFractionDigits(int);
+    method public void setMinimumIntegerDigits(int);
+    method public void setParseIntegerOnly(boolean);
+    method public void setRoundingMode(@Nullable java.math.RoundingMode);
+    field public static final int FRACTION_FIELD = 1; // 0x1
+    field public static final int INTEGER_FIELD = 0; // 0x0
+  }
+
+  public static class NumberFormat.Field extends java.text.Format.Field {
+    ctor protected NumberFormat.Field(@NonNull String);
+    field @NonNull public static final java.text.NumberFormat.Field CURRENCY;
+    field @NonNull public static final java.text.NumberFormat.Field DECIMAL_SEPARATOR;
+    field @NonNull public static final java.text.NumberFormat.Field EXPONENT;
+    field @NonNull public static final java.text.NumberFormat.Field EXPONENT_SIGN;
+    field @NonNull public static final java.text.NumberFormat.Field EXPONENT_SYMBOL;
+    field @NonNull public static final java.text.NumberFormat.Field FRACTION;
+    field @NonNull public static final java.text.NumberFormat.Field GROUPING_SEPARATOR;
+    field @NonNull public static final java.text.NumberFormat.Field INTEGER;
+    field @NonNull public static final java.text.NumberFormat.Field PERCENT;
+    field @NonNull public static final java.text.NumberFormat.Field PERMILLE;
+    field @NonNull public static final java.text.NumberFormat.Field SIGN;
+  }
+
+  public class ParseException extends java.lang.Exception {
+    ctor public ParseException(String, int);
+    method public int getErrorOffset();
+  }
+
+  public class ParsePosition {
+    ctor public ParsePosition(int);
+    method public int getErrorIndex();
+    method public int getIndex();
+    method public void setErrorIndex(int);
+    method public void setIndex(int);
+  }
+
+  public class RuleBasedCollator extends java.text.Collator {
+    ctor public RuleBasedCollator(String) throws java.text.ParseException;
+    method public int compare(String, String);
+    method public java.text.CollationElementIterator getCollationElementIterator(String);
+    method public java.text.CollationElementIterator getCollationElementIterator(java.text.CharacterIterator);
+    method public java.text.CollationKey getCollationKey(String);
+    method public String getRules();
+  }
+
+  public class SimpleDateFormat extends java.text.DateFormat {
+    ctor public SimpleDateFormat();
+    ctor public SimpleDateFormat(String);
+    ctor public SimpleDateFormat(String, java.util.Locale);
+    ctor public SimpleDateFormat(String, java.text.DateFormatSymbols);
+    method public void applyLocalizedPattern(String);
+    method public void applyPattern(String);
+    method public StringBuffer format(java.util.Date, StringBuffer, java.text.FieldPosition);
+    method public java.util.Date get2DigitYearStart();
+    method public java.text.DateFormatSymbols getDateFormatSymbols();
+    method public java.util.Date parse(String, java.text.ParsePosition);
+    method public void set2DigitYearStart(java.util.Date);
+    method public void setDateFormatSymbols(java.text.DateFormatSymbols);
+    method public String toLocalizedPattern();
+    method public String toPattern();
+  }
+
+  public final class StringCharacterIterator implements java.text.CharacterIterator {
+    ctor public StringCharacterIterator(String);
+    ctor public StringCharacterIterator(String, int);
+    ctor public StringCharacterIterator(String, int, int, int);
+    method public Object clone();
+    method public char current();
+    method public char first();
+    method public int getBeginIndex();
+    method public int getEndIndex();
+    method public int getIndex();
+    method public char last();
+    method public char next();
+    method public char previous();
+    method public char setIndex(int);
+    method public void setText(String);
+  }
+
+}
+
+package java.time {
+
+  public abstract class Clock {
+    ctor protected Clock();
+    method public static java.time.Clock fixed(java.time.Instant, java.time.ZoneId);
+    method public abstract java.time.ZoneId getZone();
+    method public abstract java.time.Instant instant();
+    method public long millis();
+    method public static java.time.Clock offset(java.time.Clock, java.time.Duration);
+    method public static java.time.Clock system(java.time.ZoneId);
+    method public static java.time.Clock systemDefaultZone();
+    method public static java.time.Clock systemUTC();
+    method public static java.time.Clock tick(java.time.Clock, java.time.Duration);
+    method public static java.time.Clock tickMinutes(java.time.ZoneId);
+    method public static java.time.Clock tickSeconds(java.time.ZoneId);
+    method public abstract java.time.Clock withZone(java.time.ZoneId);
+  }
+
+  public class DateTimeException extends java.lang.RuntimeException {
+    ctor public DateTimeException(String);
+    ctor public DateTimeException(String, Throwable);
+  }
+
+  public enum DayOfWeek implements java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public static java.time.DayOfWeek from(java.time.temporal.TemporalAccessor);
+    method public String getDisplayName(java.time.format.TextStyle, java.util.Locale);
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getValue();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public java.time.DayOfWeek minus(long);
+    method public static java.time.DayOfWeek of(int);
+    method public java.time.DayOfWeek plus(long);
+    enum_constant public static final java.time.DayOfWeek FRIDAY;
+    enum_constant public static final java.time.DayOfWeek MONDAY;
+    enum_constant public static final java.time.DayOfWeek SATURDAY;
+    enum_constant public static final java.time.DayOfWeek SUNDAY;
+    enum_constant public static final java.time.DayOfWeek THURSDAY;
+    enum_constant public static final java.time.DayOfWeek TUESDAY;
+    enum_constant public static final java.time.DayOfWeek WEDNESDAY;
+  }
+
+  public final class Duration implements java.lang.Comparable<java.time.Duration> java.io.Serializable java.time.temporal.TemporalAmount {
+    method public java.time.Duration abs();
+    method public java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
+    method public static java.time.Duration between(java.time.temporal.Temporal, java.time.temporal.Temporal);
+    method public int compareTo(java.time.Duration);
+    method public java.time.Duration dividedBy(long);
+    method public long dividedBy(java.time.Duration);
+    method public static java.time.Duration from(java.time.temporal.TemporalAmount);
+    method public long get(java.time.temporal.TemporalUnit);
+    method public int getNano();
+    method public long getSeconds();
+    method public java.util.List<java.time.temporal.TemporalUnit> getUnits();
+    method public boolean isNegative();
+    method public boolean isZero();
+    method public java.time.Duration minus(java.time.Duration);
+    method public java.time.Duration minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Duration minusDays(long);
+    method public java.time.Duration minusHours(long);
+    method public java.time.Duration minusMillis(long);
+    method public java.time.Duration minusMinutes(long);
+    method public java.time.Duration minusNanos(long);
+    method public java.time.Duration minusSeconds(long);
+    method public java.time.Duration multipliedBy(long);
+    method public java.time.Duration negated();
+    method public static java.time.Duration of(long, java.time.temporal.TemporalUnit);
+    method public static java.time.Duration ofDays(long);
+    method public static java.time.Duration ofHours(long);
+    method public static java.time.Duration ofMillis(long);
+    method public static java.time.Duration ofMinutes(long);
+    method public static java.time.Duration ofNanos(long);
+    method public static java.time.Duration ofSeconds(long);
+    method public static java.time.Duration ofSeconds(long, long);
+    method public static java.time.Duration parse(CharSequence);
+    method public java.time.Duration plus(java.time.Duration);
+    method public java.time.Duration plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Duration plusDays(long);
+    method public java.time.Duration plusHours(long);
+    method public java.time.Duration plusMillis(long);
+    method public java.time.Duration plusMinutes(long);
+    method public java.time.Duration plusNanos(long);
+    method public java.time.Duration plusSeconds(long);
+    method public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
+    method public long toDays();
+    method public long toDaysPart();
+    method public long toHours();
+    method public int toHoursPart();
+    method public long toMillis();
+    method public int toMillisPart();
+    method public long toMinutes();
+    method public int toMinutesPart();
+    method public long toNanos();
+    method public int toNanosPart();
+    method public long toSeconds();
+    method public int toSecondsPart();
+    method public java.time.Duration truncatedTo(java.time.temporal.TemporalUnit);
+    method public java.time.Duration withNanos(int);
+    method public java.time.Duration withSeconds(long);
+    field public static final java.time.Duration ZERO;
+  }
+
+  public final class Instant implements java.lang.Comparable<java.time.Instant> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.OffsetDateTime atOffset(java.time.ZoneOffset);
+    method public java.time.ZonedDateTime atZone(java.time.ZoneId);
+    method public int compareTo(java.time.Instant);
+    method public static java.time.Instant from(java.time.temporal.TemporalAccessor);
+    method public long getEpochSecond();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getNano();
+    method public boolean isAfter(java.time.Instant);
+    method public boolean isBefore(java.time.Instant);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public java.time.Instant minus(java.time.temporal.TemporalAmount);
+    method public java.time.Instant minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Instant minusMillis(long);
+    method public java.time.Instant minusNanos(long);
+    method public java.time.Instant minusSeconds(long);
+    method public static java.time.Instant now();
+    method public static java.time.Instant now(java.time.Clock);
+    method public static java.time.Instant ofEpochMilli(long);
+    method public static java.time.Instant ofEpochSecond(long);
+    method public static java.time.Instant ofEpochSecond(long, long);
+    method public static java.time.Instant parse(CharSequence);
+    method public java.time.Instant plus(java.time.temporal.TemporalAmount);
+    method public java.time.Instant plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Instant plusMillis(long);
+    method public java.time.Instant plusNanos(long);
+    method public java.time.Instant plusSeconds(long);
+    method public long toEpochMilli();
+    method public java.time.Instant truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.Instant with(java.time.temporal.TemporalAdjuster);
+    method public java.time.Instant with(java.time.temporal.TemporalField, long);
+    field public static final java.time.Instant EPOCH;
+    field public static final java.time.Instant MAX;
+    field public static final java.time.Instant MIN;
+  }
+
+  public final class LocalDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.LocalDateTime atStartOfDay();
+    method public java.time.ZonedDateTime atStartOfDay(java.time.ZoneId);
+    method public java.time.LocalDateTime atTime(java.time.LocalTime);
+    method public java.time.LocalDateTime atTime(int, int);
+    method public java.time.LocalDateTime atTime(int, int, int);
+    method public java.time.LocalDateTime atTime(int, int, int, int);
+    method public java.time.OffsetDateTime atTime(java.time.OffsetTime);
+    method public static java.time.LocalDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.IsoChronology getChronology();
+    method public int getDayOfMonth();
+    method public java.time.DayOfWeek getDayOfWeek();
+    method public int getDayOfYear();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public int getYear();
+    method public int lengthOfMonth();
+    method public java.time.LocalDate minus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalDate minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalDate minusDays(long);
+    method public java.time.LocalDate minusMonths(long);
+    method public java.time.LocalDate minusWeeks(long);
+    method public java.time.LocalDate minusYears(long);
+    method public static java.time.LocalDate now();
+    method public static java.time.LocalDate now(java.time.ZoneId);
+    method public static java.time.LocalDate now(java.time.Clock);
+    method public static java.time.LocalDate of(int, java.time.Month, int);
+    method public static java.time.LocalDate of(int, int, int);
+    method public static java.time.LocalDate ofEpochDay(long);
+    method public static java.time.LocalDate ofYearDay(int, int);
+    method public static java.time.LocalDate parse(CharSequence);
+    method public static java.time.LocalDate parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.LocalDate plus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalDate plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalDate plusDays(long);
+    method public java.time.LocalDate plusMonths(long);
+    method public java.time.LocalDate plusWeeks(long);
+    method public java.time.LocalDate plusYears(long);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.Period until(java.time.chrono.ChronoLocalDate);
+    method public java.time.LocalDate with(java.time.temporal.TemporalAdjuster);
+    method public java.time.LocalDate with(java.time.temporal.TemporalField, long);
+    method public java.time.LocalDate withDayOfMonth(int);
+    method public java.time.LocalDate withDayOfYear(int);
+    method public java.time.LocalDate withMonth(int);
+    method public java.time.LocalDate withYear(int);
+    field public static final java.time.LocalDate MAX;
+    field public static final java.time.LocalDate MIN;
+  }
+
+  public final class LocalDateTime implements java.time.chrono.ChronoLocalDateTime<java.time.LocalDate> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.OffsetDateTime atOffset(java.time.ZoneOffset);
+    method public java.time.ZonedDateTime atZone(java.time.ZoneId);
+    method public static java.time.LocalDateTime from(java.time.temporal.TemporalAccessor);
+    method public int getDayOfMonth();
+    method public java.time.DayOfWeek getDayOfWeek();
+    method public int getDayOfYear();
+    method public int getHour();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getMinute();
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public int getNano();
+    method public int getSecond();
+    method public int getYear();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public java.time.LocalDateTime minus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalDateTime minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalDateTime minusDays(long);
+    method public java.time.LocalDateTime minusHours(long);
+    method public java.time.LocalDateTime minusMinutes(long);
+    method public java.time.LocalDateTime minusMonths(long);
+    method public java.time.LocalDateTime minusNanos(long);
+    method public java.time.LocalDateTime minusSeconds(long);
+    method public java.time.LocalDateTime minusWeeks(long);
+    method public java.time.LocalDateTime minusYears(long);
+    method public static java.time.LocalDateTime now();
+    method public static java.time.LocalDateTime now(java.time.ZoneId);
+    method public static java.time.LocalDateTime now(java.time.Clock);
+    method public static java.time.LocalDateTime of(int, java.time.Month, int, int, int);
+    method public static java.time.LocalDateTime of(int, java.time.Month, int, int, int, int);
+    method public static java.time.LocalDateTime of(int, java.time.Month, int, int, int, int, int);
+    method public static java.time.LocalDateTime of(int, int, int, int, int);
+    method public static java.time.LocalDateTime of(int, int, int, int, int, int);
+    method public static java.time.LocalDateTime of(int, int, int, int, int, int, int);
+    method public static java.time.LocalDateTime of(java.time.LocalDate, java.time.LocalTime);
+    method public static java.time.LocalDateTime ofEpochSecond(long, int, java.time.ZoneOffset);
+    method public static java.time.LocalDateTime ofInstant(java.time.Instant, java.time.ZoneId);
+    method public static java.time.LocalDateTime parse(CharSequence);
+    method public static java.time.LocalDateTime parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.LocalDateTime plus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalDateTime plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalDateTime plusDays(long);
+    method public java.time.LocalDateTime plusHours(long);
+    method public java.time.LocalDateTime plusMinutes(long);
+    method public java.time.LocalDateTime plusMonths(long);
+    method public java.time.LocalDateTime plusNanos(long);
+    method public java.time.LocalDateTime plusSeconds(long);
+    method public java.time.LocalDateTime plusWeeks(long);
+    method public java.time.LocalDateTime plusYears(long);
+    method public java.time.LocalDate toLocalDate();
+    method public java.time.LocalTime toLocalTime();
+    method public java.time.LocalDateTime truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.LocalDateTime with(java.time.temporal.TemporalAdjuster);
+    method public java.time.LocalDateTime with(java.time.temporal.TemporalField, long);
+    method public java.time.LocalDateTime withDayOfMonth(int);
+    method public java.time.LocalDateTime withDayOfYear(int);
+    method public java.time.LocalDateTime withHour(int);
+    method public java.time.LocalDateTime withMinute(int);
+    method public java.time.LocalDateTime withMonth(int);
+    method public java.time.LocalDateTime withNano(int);
+    method public java.time.LocalDateTime withSecond(int);
+    method public java.time.LocalDateTime withYear(int);
+    field public static final java.time.LocalDateTime MAX;
+    field public static final java.time.LocalDateTime MIN;
+  }
+
+  public final class LocalTime implements java.lang.Comparable<java.time.LocalTime> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.LocalDateTime atDate(java.time.LocalDate);
+    method public java.time.OffsetTime atOffset(java.time.ZoneOffset);
+    method public int compareTo(java.time.LocalTime);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.LocalTime from(java.time.temporal.TemporalAccessor);
+    method public int getHour();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getMinute();
+    method public int getNano();
+    method public int getSecond();
+    method public boolean isAfter(java.time.LocalTime);
+    method public boolean isBefore(java.time.LocalTime);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public java.time.LocalTime minus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalTime minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalTime minusHours(long);
+    method public java.time.LocalTime minusMinutes(long);
+    method public java.time.LocalTime minusNanos(long);
+    method public java.time.LocalTime minusSeconds(long);
+    method public static java.time.LocalTime now();
+    method public static java.time.LocalTime now(java.time.ZoneId);
+    method public static java.time.LocalTime now(java.time.Clock);
+    method public static java.time.LocalTime of(int, int);
+    method public static java.time.LocalTime of(int, int, int);
+    method public static java.time.LocalTime of(int, int, int, int);
+    method public static java.time.LocalTime ofInstant(java.time.Instant, java.time.ZoneId);
+    method public static java.time.LocalTime ofNanoOfDay(long);
+    method public static java.time.LocalTime ofSecondOfDay(long);
+    method public static java.time.LocalTime parse(CharSequence);
+    method public static java.time.LocalTime parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.LocalTime plus(java.time.temporal.TemporalAmount);
+    method public java.time.LocalTime plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.LocalTime plusHours(long);
+    method public java.time.LocalTime plusMinutes(long);
+    method public java.time.LocalTime plusNanos(long);
+    method public java.time.LocalTime plusSeconds(long);
+    method public long toEpochSecond(java.time.LocalDate, java.time.ZoneOffset);
+    method public long toNanoOfDay();
+    method public int toSecondOfDay();
+    method public java.time.LocalTime truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.LocalTime with(java.time.temporal.TemporalAdjuster);
+    method public java.time.LocalTime with(java.time.temporal.TemporalField, long);
+    method public java.time.LocalTime withHour(int);
+    method public java.time.LocalTime withMinute(int);
+    method public java.time.LocalTime withNano(int);
+    method public java.time.LocalTime withSecond(int);
+    field public static final java.time.LocalTime MAX;
+    field public static final java.time.LocalTime MIDNIGHT;
+    field public static final java.time.LocalTime MIN;
+    field public static final java.time.LocalTime NOON;
+  }
+
+  public enum Month implements java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public int firstDayOfYear(boolean);
+    method public java.time.Month firstMonthOfQuarter();
+    method public static java.time.Month from(java.time.temporal.TemporalAccessor);
+    method public String getDisplayName(java.time.format.TextStyle, java.util.Locale);
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getValue();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public int length(boolean);
+    method public int maxLength();
+    method public int minLength();
+    method public java.time.Month minus(long);
+    method public static java.time.Month of(int);
+    method public java.time.Month plus(long);
+    enum_constant public static final java.time.Month APRIL;
+    enum_constant public static final java.time.Month AUGUST;
+    enum_constant public static final java.time.Month DECEMBER;
+    enum_constant public static final java.time.Month FEBRUARY;
+    enum_constant public static final java.time.Month JANUARY;
+    enum_constant public static final java.time.Month JULY;
+    enum_constant public static final java.time.Month JUNE;
+    enum_constant public static final java.time.Month MARCH;
+    enum_constant public static final java.time.Month MAY;
+    enum_constant public static final java.time.Month NOVEMBER;
+    enum_constant public static final java.time.Month OCTOBER;
+    enum_constant public static final java.time.Month SEPTEMBER;
+  }
+
+  public final class MonthDay implements java.lang.Comparable<java.time.MonthDay> java.io.Serializable java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.LocalDate atYear(int);
+    method public int compareTo(java.time.MonthDay);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.MonthDay from(java.time.temporal.TemporalAccessor);
+    method public int getDayOfMonth();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public boolean isAfter(java.time.MonthDay);
+    method public boolean isBefore(java.time.MonthDay);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isValidYear(int);
+    method public static java.time.MonthDay now();
+    method public static java.time.MonthDay now(java.time.ZoneId);
+    method public static java.time.MonthDay now(java.time.Clock);
+    method public static java.time.MonthDay of(java.time.Month, int);
+    method public static java.time.MonthDay of(int, int);
+    method public static java.time.MonthDay parse(CharSequence);
+    method public static java.time.MonthDay parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.MonthDay with(java.time.Month);
+    method public java.time.MonthDay withDayOfMonth(int);
+    method public java.time.MonthDay withMonth(int);
+  }
+
+  public final class OffsetDateTime implements java.lang.Comparable<java.time.OffsetDateTime> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.ZonedDateTime atZoneSameInstant(java.time.ZoneId);
+    method public java.time.ZonedDateTime atZoneSimilarLocal(java.time.ZoneId);
+    method public int compareTo(java.time.OffsetDateTime);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.OffsetDateTime from(java.time.temporal.TemporalAccessor);
+    method public int getDayOfMonth();
+    method public java.time.DayOfWeek getDayOfWeek();
+    method public int getDayOfYear();
+    method public int getHour();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getMinute();
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public int getNano();
+    method public java.time.ZoneOffset getOffset();
+    method public int getSecond();
+    method public int getYear();
+    method public boolean isAfter(java.time.OffsetDateTime);
+    method public boolean isBefore(java.time.OffsetDateTime);
+    method public boolean isEqual(java.time.OffsetDateTime);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public java.time.OffsetDateTime minus(java.time.temporal.TemporalAmount);
+    method public java.time.OffsetDateTime minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetDateTime minusDays(long);
+    method public java.time.OffsetDateTime minusHours(long);
+    method public java.time.OffsetDateTime minusMinutes(long);
+    method public java.time.OffsetDateTime minusMonths(long);
+    method public java.time.OffsetDateTime minusNanos(long);
+    method public java.time.OffsetDateTime minusSeconds(long);
+    method public java.time.OffsetDateTime minusWeeks(long);
+    method public java.time.OffsetDateTime minusYears(long);
+    method public static java.time.OffsetDateTime now();
+    method public static java.time.OffsetDateTime now(java.time.ZoneId);
+    method public static java.time.OffsetDateTime now(java.time.Clock);
+    method public static java.time.OffsetDateTime of(java.time.LocalDate, java.time.LocalTime, java.time.ZoneOffset);
+    method public static java.time.OffsetDateTime of(java.time.LocalDateTime, java.time.ZoneOffset);
+    method public static java.time.OffsetDateTime of(int, int, int, int, int, int, int, java.time.ZoneOffset);
+    method public static java.time.OffsetDateTime ofInstant(java.time.Instant, java.time.ZoneId);
+    method public static java.time.OffsetDateTime parse(CharSequence);
+    method public static java.time.OffsetDateTime parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.OffsetDateTime plus(java.time.temporal.TemporalAmount);
+    method public java.time.OffsetDateTime plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetDateTime plusDays(long);
+    method public java.time.OffsetDateTime plusHours(long);
+    method public java.time.OffsetDateTime plusMinutes(long);
+    method public java.time.OffsetDateTime plusMonths(long);
+    method public java.time.OffsetDateTime plusNanos(long);
+    method public java.time.OffsetDateTime plusSeconds(long);
+    method public java.time.OffsetDateTime plusWeeks(long);
+    method public java.time.OffsetDateTime plusYears(long);
+    method public static java.util.Comparator<java.time.OffsetDateTime> timeLineOrder();
+    method public long toEpochSecond();
+    method public java.time.Instant toInstant();
+    method public java.time.LocalDate toLocalDate();
+    method public java.time.LocalDateTime toLocalDateTime();
+    method public java.time.LocalTime toLocalTime();
+    method public java.time.OffsetTime toOffsetTime();
+    method public java.time.ZonedDateTime toZonedDateTime();
+    method public java.time.OffsetDateTime truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetDateTime with(java.time.temporal.TemporalAdjuster);
+    method public java.time.OffsetDateTime with(java.time.temporal.TemporalField, long);
+    method public java.time.OffsetDateTime withDayOfMonth(int);
+    method public java.time.OffsetDateTime withDayOfYear(int);
+    method public java.time.OffsetDateTime withHour(int);
+    method public java.time.OffsetDateTime withMinute(int);
+    method public java.time.OffsetDateTime withMonth(int);
+    method public java.time.OffsetDateTime withNano(int);
+    method public java.time.OffsetDateTime withOffsetSameInstant(java.time.ZoneOffset);
+    method public java.time.OffsetDateTime withOffsetSameLocal(java.time.ZoneOffset);
+    method public java.time.OffsetDateTime withSecond(int);
+    method public java.time.OffsetDateTime withYear(int);
+    field public static final java.time.OffsetDateTime MAX;
+    field public static final java.time.OffsetDateTime MIN;
+  }
+
+  public final class OffsetTime implements java.lang.Comparable<java.time.OffsetTime> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.OffsetDateTime atDate(java.time.LocalDate);
+    method public int compareTo(java.time.OffsetTime);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.OffsetTime from(java.time.temporal.TemporalAccessor);
+    method public int getHour();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getMinute();
+    method public int getNano();
+    method public java.time.ZoneOffset getOffset();
+    method public int getSecond();
+    method public boolean isAfter(java.time.OffsetTime);
+    method public boolean isBefore(java.time.OffsetTime);
+    method public boolean isEqual(java.time.OffsetTime);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public java.time.OffsetTime minus(java.time.temporal.TemporalAmount);
+    method public java.time.OffsetTime minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetTime minusHours(long);
+    method public java.time.OffsetTime minusMinutes(long);
+    method public java.time.OffsetTime minusNanos(long);
+    method public java.time.OffsetTime minusSeconds(long);
+    method public static java.time.OffsetTime now();
+    method public static java.time.OffsetTime now(java.time.ZoneId);
+    method public static java.time.OffsetTime now(java.time.Clock);
+    method public static java.time.OffsetTime of(java.time.LocalTime, java.time.ZoneOffset);
+    method public static java.time.OffsetTime of(int, int, int, int, java.time.ZoneOffset);
+    method public static java.time.OffsetTime ofInstant(java.time.Instant, java.time.ZoneId);
+    method public static java.time.OffsetTime parse(CharSequence);
+    method public static java.time.OffsetTime parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.OffsetTime plus(java.time.temporal.TemporalAmount);
+    method public java.time.OffsetTime plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetTime plusHours(long);
+    method public java.time.OffsetTime plusMinutes(long);
+    method public java.time.OffsetTime plusNanos(long);
+    method public java.time.OffsetTime plusSeconds(long);
+    method public java.time.LocalTime toLocalTime();
+    method public java.time.OffsetTime truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.OffsetTime with(java.time.temporal.TemporalAdjuster);
+    method public java.time.OffsetTime with(java.time.temporal.TemporalField, long);
+    method public java.time.OffsetTime withHour(int);
+    method public java.time.OffsetTime withMinute(int);
+    method public java.time.OffsetTime withNano(int);
+    method public java.time.OffsetTime withOffsetSameInstant(java.time.ZoneOffset);
+    method public java.time.OffsetTime withOffsetSameLocal(java.time.ZoneOffset);
+    method public java.time.OffsetTime withSecond(int);
+    field public static final java.time.OffsetTime MAX;
+    field public static final java.time.OffsetTime MIN;
+  }
+
+  public final class Period implements java.time.chrono.ChronoPeriod java.io.Serializable {
+    method public java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
+    method public static java.time.Period between(java.time.LocalDate, java.time.LocalDate);
+    method public static java.time.Period from(java.time.temporal.TemporalAmount);
+    method public long get(java.time.temporal.TemporalUnit);
+    method public java.time.chrono.IsoChronology getChronology();
+    method public int getDays();
+    method public int getMonths();
+    method public java.util.List<java.time.temporal.TemporalUnit> getUnits();
+    method public int getYears();
+    method public java.time.Period minus(java.time.temporal.TemporalAmount);
+    method public java.time.Period minusDays(long);
+    method public java.time.Period minusMonths(long);
+    method public java.time.Period minusYears(long);
+    method public java.time.Period multipliedBy(int);
+    method public java.time.Period negated();
+    method public java.time.Period normalized();
+    method public static java.time.Period of(int, int, int);
+    method public static java.time.Period ofDays(int);
+    method public static java.time.Period ofMonths(int);
+    method public static java.time.Period ofWeeks(int);
+    method public static java.time.Period ofYears(int);
+    method public static java.time.Period parse(CharSequence);
+    method public java.time.Period plus(java.time.temporal.TemporalAmount);
+    method public java.time.Period plusDays(long);
+    method public java.time.Period plusMonths(long);
+    method public java.time.Period plusYears(long);
+    method public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
+    method public long toTotalMonths();
+    method public java.time.Period withDays(int);
+    method public java.time.Period withMonths(int);
+    method public java.time.Period withYears(int);
+    field public static final java.time.Period ZERO;
+  }
+
+  public final class Year implements java.lang.Comparable<java.time.Year> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.LocalDate atDay(int);
+    method public java.time.YearMonth atMonth(java.time.Month);
+    method public java.time.YearMonth atMonth(int);
+    method public java.time.LocalDate atMonthDay(java.time.MonthDay);
+    method public int compareTo(java.time.Year);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.Year from(java.time.temporal.TemporalAccessor);
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int getValue();
+    method public boolean isAfter(java.time.Year);
+    method public boolean isBefore(java.time.Year);
+    method public static boolean isLeap(long);
+    method public boolean isLeap();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public boolean isValidMonthDay(java.time.MonthDay);
+    method public int length();
+    method public java.time.Year minus(java.time.temporal.TemporalAmount);
+    method public java.time.Year minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Year minusYears(long);
+    method public static java.time.Year now();
+    method public static java.time.Year now(java.time.ZoneId);
+    method public static java.time.Year now(java.time.Clock);
+    method public static java.time.Year of(int);
+    method public static java.time.Year parse(CharSequence);
+    method public static java.time.Year parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.Year plus(java.time.temporal.TemporalAmount);
+    method public java.time.Year plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.Year plusYears(long);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.Year with(java.time.temporal.TemporalAdjuster);
+    method public java.time.Year with(java.time.temporal.TemporalField, long);
+    field public static final int MAX_VALUE = 999999999; // 0x3b9ac9ff
+    field public static final int MIN_VALUE = -999999999; // 0xc4653601
+  }
+
+  public final class YearMonth implements java.lang.Comparable<java.time.YearMonth> java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.LocalDate atDay(int);
+    method public java.time.LocalDate atEndOfMonth();
+    method public int compareTo(java.time.YearMonth);
+    method public String format(java.time.format.DateTimeFormatter);
+    method public static java.time.YearMonth from(java.time.temporal.TemporalAccessor);
+    method public long getLong(java.time.temporal.TemporalField);
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public int getYear();
+    method public boolean isAfter(java.time.YearMonth);
+    method public boolean isBefore(java.time.YearMonth);
+    method public boolean isLeapYear();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public boolean isValidDay(int);
+    method public int lengthOfMonth();
+    method public int lengthOfYear();
+    method public java.time.YearMonth minus(java.time.temporal.TemporalAmount);
+    method public java.time.YearMonth minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.YearMonth minusMonths(long);
+    method public java.time.YearMonth minusYears(long);
+    method public static java.time.YearMonth now();
+    method public static java.time.YearMonth now(java.time.ZoneId);
+    method public static java.time.YearMonth now(java.time.Clock);
+    method public static java.time.YearMonth of(int, java.time.Month);
+    method public static java.time.YearMonth of(int, int);
+    method public static java.time.YearMonth parse(CharSequence);
+    method public static java.time.YearMonth parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.YearMonth plus(java.time.temporal.TemporalAmount);
+    method public java.time.YearMonth plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.YearMonth plusMonths(long);
+    method public java.time.YearMonth plusYears(long);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.YearMonth with(java.time.temporal.TemporalAdjuster);
+    method public java.time.YearMonth with(java.time.temporal.TemporalField, long);
+    method public java.time.YearMonth withMonth(int);
+    method public java.time.YearMonth withYear(int);
+  }
+
+  public abstract class ZoneId implements java.io.Serializable {
+    method public static java.time.ZoneId from(java.time.temporal.TemporalAccessor);
+    method public static java.util.Set<java.lang.String> getAvailableZoneIds();
+    method public String getDisplayName(java.time.format.TextStyle, java.util.Locale);
+    method public abstract String getId();
+    method public abstract java.time.zone.ZoneRules getRules();
+    method public java.time.ZoneId normalized();
+    method public static java.time.ZoneId of(String, java.util.Map<java.lang.String,java.lang.String>);
+    method public static java.time.ZoneId of(String);
+    method public static java.time.ZoneId ofOffset(String, java.time.ZoneOffset);
+    method public static java.time.ZoneId systemDefault();
+    field public static final java.util.Map<java.lang.String,java.lang.String> SHORT_IDS;
+  }
+
+  public final class ZoneOffset extends java.time.ZoneId implements java.lang.Comparable<java.time.ZoneOffset> java.io.Serializable java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public int compareTo(java.time.ZoneOffset);
+    method public static java.time.ZoneOffset from(java.time.temporal.TemporalAccessor);
+    method public String getId();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public java.time.zone.ZoneRules getRules();
+    method public int getTotalSeconds();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public static java.time.ZoneOffset of(String);
+    method public static java.time.ZoneOffset ofHours(int);
+    method public static java.time.ZoneOffset ofHoursMinutes(int, int);
+    method public static java.time.ZoneOffset ofHoursMinutesSeconds(int, int, int);
+    method public static java.time.ZoneOffset ofTotalSeconds(int);
+    field public static final java.time.ZoneOffset MAX;
+    field public static final java.time.ZoneOffset MIN;
+    field public static final java.time.ZoneOffset UTC;
+  }
+
+  public final class ZonedDateTime implements java.time.chrono.ChronoZonedDateTime<java.time.LocalDate> java.io.Serializable java.time.temporal.Temporal {
+    method public static java.time.ZonedDateTime from(java.time.temporal.TemporalAccessor);
+    method public int getDayOfMonth();
+    method public java.time.DayOfWeek getDayOfWeek();
+    method public int getDayOfYear();
+    method public int getHour();
+    method public int getMinute();
+    method public java.time.Month getMonth();
+    method public int getMonthValue();
+    method public int getNano();
+    method public java.time.ZoneOffset getOffset();
+    method public int getSecond();
+    method public int getYear();
+    method public java.time.ZoneId getZone();
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public java.time.ZonedDateTime minus(java.time.temporal.TemporalAmount);
+    method public java.time.ZonedDateTime minus(long, java.time.temporal.TemporalUnit);
+    method public java.time.ZonedDateTime minusDays(long);
+    method public java.time.ZonedDateTime minusHours(long);
+    method public java.time.ZonedDateTime minusMinutes(long);
+    method public java.time.ZonedDateTime minusMonths(long);
+    method public java.time.ZonedDateTime minusNanos(long);
+    method public java.time.ZonedDateTime minusSeconds(long);
+    method public java.time.ZonedDateTime minusWeeks(long);
+    method public java.time.ZonedDateTime minusYears(long);
+    method public static java.time.ZonedDateTime now();
+    method public static java.time.ZonedDateTime now(java.time.ZoneId);
+    method public static java.time.ZonedDateTime now(java.time.Clock);
+    method public static java.time.ZonedDateTime of(java.time.LocalDate, java.time.LocalTime, java.time.ZoneId);
+    method public static java.time.ZonedDateTime of(java.time.LocalDateTime, java.time.ZoneId);
+    method public static java.time.ZonedDateTime of(int, int, int, int, int, int, int, java.time.ZoneId);
+    method public static java.time.ZonedDateTime ofInstant(java.time.Instant, java.time.ZoneId);
+    method public static java.time.ZonedDateTime ofInstant(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneId);
+    method public static java.time.ZonedDateTime ofLocal(java.time.LocalDateTime, java.time.ZoneId, java.time.ZoneOffset);
+    method public static java.time.ZonedDateTime ofStrict(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneId);
+    method public static java.time.ZonedDateTime parse(CharSequence);
+    method public static java.time.ZonedDateTime parse(CharSequence, java.time.format.DateTimeFormatter);
+    method public java.time.ZonedDateTime plus(java.time.temporal.TemporalAmount);
+    method public java.time.ZonedDateTime plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.ZonedDateTime plusDays(long);
+    method public java.time.ZonedDateTime plusHours(long);
+    method public java.time.ZonedDateTime plusMinutes(long);
+    method public java.time.ZonedDateTime plusMonths(long);
+    method public java.time.ZonedDateTime plusNanos(long);
+    method public java.time.ZonedDateTime plusSeconds(long);
+    method public java.time.ZonedDateTime plusWeeks(long);
+    method public java.time.ZonedDateTime plusYears(long);
+    method public java.time.LocalDate toLocalDate();
+    method public java.time.LocalDateTime toLocalDateTime();
+    method public java.time.OffsetDateTime toOffsetDateTime();
+    method public java.time.ZonedDateTime truncatedTo(java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.ZonedDateTime with(java.time.temporal.TemporalAdjuster);
+    method public java.time.ZonedDateTime with(java.time.temporal.TemporalField, long);
+    method public java.time.ZonedDateTime withDayOfMonth(int);
+    method public java.time.ZonedDateTime withDayOfYear(int);
+    method public java.time.ZonedDateTime withEarlierOffsetAtOverlap();
+    method public java.time.ZonedDateTime withFixedOffsetZone();
+    method public java.time.ZonedDateTime withHour(int);
+    method public java.time.ZonedDateTime withLaterOffsetAtOverlap();
+    method public java.time.ZonedDateTime withMinute(int);
+    method public java.time.ZonedDateTime withMonth(int);
+    method public java.time.ZonedDateTime withNano(int);
+    method public java.time.ZonedDateTime withSecond(int);
+    method public java.time.ZonedDateTime withYear(int);
+    method public java.time.ZonedDateTime withZoneSameInstant(java.time.ZoneId);
+    method public java.time.ZonedDateTime withZoneSameLocal(java.time.ZoneId);
+  }
+
+}
+
+package java.time.chrono {
+
+  public abstract class AbstractChronology implements java.time.chrono.Chronology {
+    ctor protected AbstractChronology();
+    method public int compareTo(java.time.chrono.Chronology);
+    method public java.time.chrono.ChronoLocalDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+  }
+
+  public interface ChronoLocalDate extends java.time.temporal.Temporal java.lang.Comparable<java.time.chrono.ChronoLocalDate> java.time.temporal.TemporalAdjuster {
+    method public default java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public default java.time.chrono.ChronoLocalDateTime<?> atTime(java.time.LocalTime);
+    method public default int compareTo(java.time.chrono.ChronoLocalDate);
+    method public boolean equals(Object);
+    method public default String format(java.time.format.DateTimeFormatter);
+    method public static java.time.chrono.ChronoLocalDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.Chronology getChronology();
+    method public default java.time.chrono.Era getEra();
+    method public int hashCode();
+    method public default boolean isAfter(java.time.chrono.ChronoLocalDate);
+    method public default boolean isBefore(java.time.chrono.ChronoLocalDate);
+    method public default boolean isEqual(java.time.chrono.ChronoLocalDate);
+    method public default boolean isLeapYear();
+    method public default boolean isSupported(java.time.temporal.TemporalField);
+    method public default boolean isSupported(java.time.temporal.TemporalUnit);
+    method public int lengthOfMonth();
+    method public default int lengthOfYear();
+    method public default java.time.chrono.ChronoLocalDate minus(java.time.temporal.TemporalAmount);
+    method public default java.time.chrono.ChronoLocalDate minus(long, java.time.temporal.TemporalUnit);
+    method public default java.time.chrono.ChronoLocalDate plus(java.time.temporal.TemporalAmount);
+    method public default java.time.chrono.ChronoLocalDate plus(long, java.time.temporal.TemporalUnit);
+    method public static java.util.Comparator<java.time.chrono.ChronoLocalDate> timeLineOrder();
+    method public default long toEpochDay();
+    method public String toString();
+    method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
+    method public default java.time.chrono.ChronoLocalDate with(java.time.temporal.TemporalAdjuster);
+    method public default java.time.chrono.ChronoLocalDate with(java.time.temporal.TemporalField, long);
+  }
+
+  public interface ChronoLocalDateTime<D extends java.time.chrono.ChronoLocalDate> extends java.time.temporal.Temporal java.lang.Comparable<java.time.chrono.ChronoLocalDateTime<?>> java.time.temporal.TemporalAdjuster {
+    method public default java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public java.time.chrono.ChronoZonedDateTime<D> atZone(java.time.ZoneId);
+    method public default int compareTo(java.time.chrono.ChronoLocalDateTime<?>);
+    method public boolean equals(Object);
+    method public default String format(java.time.format.DateTimeFormatter);
+    method public static java.time.chrono.ChronoLocalDateTime<?> from(java.time.temporal.TemporalAccessor);
+    method public default java.time.chrono.Chronology getChronology();
+    method public int hashCode();
+    method public default boolean isAfter(java.time.chrono.ChronoLocalDateTime<?>);
+    method public default boolean isBefore(java.time.chrono.ChronoLocalDateTime<?>);
+    method public default boolean isEqual(java.time.chrono.ChronoLocalDateTime<?>);
+    method public default boolean isSupported(java.time.temporal.TemporalUnit);
+    method public default java.time.chrono.ChronoLocalDateTime<D> minus(java.time.temporal.TemporalAmount);
+    method public default java.time.chrono.ChronoLocalDateTime<D> minus(long, java.time.temporal.TemporalUnit);
+    method public default java.time.chrono.ChronoLocalDateTime<D> plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.ChronoLocalDateTime<D> plus(long, java.time.temporal.TemporalUnit);
+    method public static java.util.Comparator<java.time.chrono.ChronoLocalDateTime<?>> timeLineOrder();
+    method public default long toEpochSecond(java.time.ZoneOffset);
+    method public default java.time.Instant toInstant(java.time.ZoneOffset);
+    method public D toLocalDate();
+    method public java.time.LocalTime toLocalTime();
+    method public String toString();
+    method public default java.time.chrono.ChronoLocalDateTime<D> with(java.time.temporal.TemporalAdjuster);
+    method public java.time.chrono.ChronoLocalDateTime<D> with(java.time.temporal.TemporalField, long);
+  }
+
+  public interface ChronoPeriod extends java.time.temporal.TemporalAmount {
+    method public static java.time.chrono.ChronoPeriod between(java.time.chrono.ChronoLocalDate, java.time.chrono.ChronoLocalDate);
+    method public boolean equals(Object);
+    method public java.time.chrono.Chronology getChronology();
+    method public int hashCode();
+    method public default boolean isNegative();
+    method public default boolean isZero();
+    method public java.time.chrono.ChronoPeriod minus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.ChronoPeriod multipliedBy(int);
+    method public default java.time.chrono.ChronoPeriod negated();
+    method public java.time.chrono.ChronoPeriod normalized();
+    method public java.time.chrono.ChronoPeriod plus(java.time.temporal.TemporalAmount);
+    method public String toString();
+  }
+
+  public interface ChronoZonedDateTime<D extends java.time.chrono.ChronoLocalDate> extends java.time.temporal.Temporal java.lang.Comparable<java.time.chrono.ChronoZonedDateTime<?>> {
+    method public default int compareTo(java.time.chrono.ChronoZonedDateTime<?>);
+    method public boolean equals(Object);
+    method public default String format(java.time.format.DateTimeFormatter);
+    method public static java.time.chrono.ChronoZonedDateTime<?> from(java.time.temporal.TemporalAccessor);
+    method public default java.time.chrono.Chronology getChronology();
+    method public default long getLong(java.time.temporal.TemporalField);
+    method public java.time.ZoneOffset getOffset();
+    method public java.time.ZoneId getZone();
+    method public int hashCode();
+    method public default boolean isAfter(java.time.chrono.ChronoZonedDateTime<?>);
+    method public default boolean isBefore(java.time.chrono.ChronoZonedDateTime<?>);
+    method public default boolean isEqual(java.time.chrono.ChronoZonedDateTime<?>);
+    method public default boolean isSupported(java.time.temporal.TemporalUnit);
+    method public default java.time.chrono.ChronoZonedDateTime<D> minus(java.time.temporal.TemporalAmount);
+    method public default java.time.chrono.ChronoZonedDateTime<D> minus(long, java.time.temporal.TemporalUnit);
+    method public default java.time.chrono.ChronoZonedDateTime<D> plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.ChronoZonedDateTime<D> plus(long, java.time.temporal.TemporalUnit);
+    method public static java.util.Comparator<java.time.chrono.ChronoZonedDateTime<?>> timeLineOrder();
+    method public default long toEpochSecond();
+    method public default java.time.Instant toInstant();
+    method public default D toLocalDate();
+    method public java.time.chrono.ChronoLocalDateTime<D> toLocalDateTime();
+    method public default java.time.LocalTime toLocalTime();
+    method public String toString();
+    method public default java.time.chrono.ChronoZonedDateTime<D> with(java.time.temporal.TemporalAdjuster);
+    method public java.time.chrono.ChronoZonedDateTime<D> with(java.time.temporal.TemporalField, long);
+    method public java.time.chrono.ChronoZonedDateTime<D> withEarlierOffsetAtOverlap();
+    method public java.time.chrono.ChronoZonedDateTime<D> withLaterOffsetAtOverlap();
+    method public java.time.chrono.ChronoZonedDateTime<D> withZoneSameInstant(java.time.ZoneId);
+    method public java.time.chrono.ChronoZonedDateTime<D> withZoneSameLocal(java.time.ZoneId);
+  }
+
+  public interface Chronology extends java.lang.Comparable<java.time.chrono.Chronology> {
+    method public int compareTo(java.time.chrono.Chronology);
+    method public default java.time.chrono.ChronoLocalDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.chrono.ChronoLocalDate date(int, int, int);
+    method public java.time.chrono.ChronoLocalDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ChronoLocalDate dateEpochDay(long);
+    method public default java.time.chrono.ChronoLocalDate dateNow();
+    method public default java.time.chrono.ChronoLocalDate dateNow(java.time.ZoneId);
+    method public default java.time.chrono.ChronoLocalDate dateNow(java.time.Clock);
+    method public default java.time.chrono.ChronoLocalDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.chrono.ChronoLocalDate dateYearDay(int, int);
+    method public boolean equals(Object);
+    method public java.time.chrono.Era eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public static java.time.chrono.Chronology from(java.time.temporal.TemporalAccessor);
+    method public static java.util.Set<java.time.chrono.Chronology> getAvailableChronologies();
+    method public String getCalendarType();
+    method public default String getDisplayName(java.time.format.TextStyle, java.util.Locale);
+    method public String getId();
+    method public int hashCode();
+    method public boolean isLeapYear(long);
+    method public default java.time.chrono.ChronoLocalDateTime<? extends java.time.chrono.ChronoLocalDate> localDateTime(java.time.temporal.TemporalAccessor);
+    method public static java.time.chrono.Chronology of(String);
+    method public static java.time.chrono.Chronology ofLocale(java.util.Locale);
+    method public default java.time.chrono.ChronoPeriod period(int, int, int);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.chrono.ChronoLocalDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public String toString();
+    method public default java.time.chrono.ChronoZonedDateTime<? extends java.time.chrono.ChronoLocalDate> zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public default java.time.chrono.ChronoZonedDateTime<? extends java.time.chrono.ChronoLocalDate> zonedDateTime(java.time.Instant, java.time.ZoneId);
+  }
+
+  public interface Era extends java.time.temporal.TemporalAccessor java.time.temporal.TemporalAdjuster {
+    method public default java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+    method public default String getDisplayName(java.time.format.TextStyle, java.util.Locale);
+    method public default long getLong(java.time.temporal.TemporalField);
+    method public int getValue();
+    method public default boolean isSupported(java.time.temporal.TemporalField);
+  }
+
+  public final class HijrahChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
+    method public java.time.chrono.HijrahDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.chrono.HijrahDate date(int, int, int);
+    method public java.time.chrono.HijrahDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.HijrahDate dateEpochDay(long);
+    method public java.time.chrono.HijrahDate dateNow();
+    method public java.time.chrono.HijrahDate dateNow(java.time.ZoneId);
+    method public java.time.chrono.HijrahDate dateNow(java.time.Clock);
+    method public java.time.chrono.HijrahDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.chrono.HijrahDate dateYearDay(int, int);
+    method public java.time.chrono.HijrahEra eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public String getCalendarType();
+    method public String getId();
+    method public boolean isLeapYear(long);
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.HijrahDate> localDateTime(java.time.temporal.TemporalAccessor);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.chrono.HijrahDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.HijrahDate> zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.HijrahDate> zonedDateTime(java.time.Instant, java.time.ZoneId);
+    field public static final java.time.chrono.HijrahChronology INSTANCE;
+  }
+
+  public final class HijrahDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.HijrahDate> atTime(java.time.LocalTime);
+    method public static java.time.chrono.HijrahDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.HijrahChronology getChronology();
+    method public java.time.chrono.HijrahEra getEra();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int lengthOfMonth();
+    method public java.time.chrono.HijrahDate minus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.HijrahDate minus(long, java.time.temporal.TemporalUnit);
+    method public static java.time.chrono.HijrahDate now();
+    method public static java.time.chrono.HijrahDate now(java.time.ZoneId);
+    method public static java.time.chrono.HijrahDate now(java.time.Clock);
+    method public static java.time.chrono.HijrahDate of(int, int, int);
+    method public java.time.chrono.HijrahDate plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.HijrahDate plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.HijrahDate with(java.time.temporal.TemporalField, long);
+    method public java.time.chrono.HijrahDate with(java.time.temporal.TemporalAdjuster);
+    method public java.time.chrono.HijrahDate withVariant(java.time.chrono.HijrahChronology);
+  }
+
+  public enum HijrahEra implements java.time.chrono.Era {
+    method public int getValue();
+    method public static java.time.chrono.HijrahEra of(int);
+    enum_constant public static final java.time.chrono.HijrahEra AH;
+  }
+
+  public final class IsoChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
+    method public java.time.LocalDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.LocalDate date(int, int, int);
+    method public java.time.LocalDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.LocalDate dateEpochDay(long);
+    method public java.time.LocalDate dateNow();
+    method public java.time.LocalDate dateNow(java.time.ZoneId);
+    method public java.time.LocalDate dateNow(java.time.Clock);
+    method public java.time.LocalDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.LocalDate dateYearDay(int, int);
+    method public java.time.chrono.IsoEra eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public String getCalendarType();
+    method public String getId();
+    method public boolean isLeapYear(long);
+    method public java.time.LocalDateTime localDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.Period period(int, int, int);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.LocalDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public java.time.ZonedDateTime zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.ZonedDateTime zonedDateTime(java.time.Instant, java.time.ZoneId);
+    field public static final java.time.chrono.IsoChronology INSTANCE;
+  }
+
+  public enum IsoEra implements java.time.chrono.Era {
+    method public int getValue();
+    method public static java.time.chrono.IsoEra of(int);
+    enum_constant public static final java.time.chrono.IsoEra BCE;
+    enum_constant public static final java.time.chrono.IsoEra CE;
+  }
+
+  public final class JapaneseChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
+    method public java.time.chrono.JapaneseDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.chrono.JapaneseDate date(int, int, int);
+    method public java.time.chrono.JapaneseDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.JapaneseDate dateEpochDay(long);
+    method public java.time.chrono.JapaneseDate dateNow();
+    method public java.time.chrono.JapaneseDate dateNow(java.time.ZoneId);
+    method public java.time.chrono.JapaneseDate dateNow(java.time.Clock);
+    method public java.time.chrono.JapaneseDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.chrono.JapaneseDate dateYearDay(int, int);
+    method public java.time.chrono.JapaneseEra eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public String getCalendarType();
+    method public String getId();
+    method public boolean isLeapYear(long);
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.JapaneseDate> localDateTime(java.time.temporal.TemporalAccessor);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.chrono.JapaneseDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.JapaneseDate> zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.JapaneseDate> zonedDateTime(java.time.Instant, java.time.ZoneId);
+    field public static final java.time.chrono.JapaneseChronology INSTANCE;
+  }
+
+  public final class JapaneseDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.JapaneseDate> atTime(java.time.LocalTime);
+    method public static java.time.chrono.JapaneseDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.JapaneseChronology getChronology();
+    method public java.time.chrono.JapaneseEra getEra();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int lengthOfMonth();
+    method public java.time.chrono.JapaneseDate minus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.JapaneseDate minus(long, java.time.temporal.TemporalUnit);
+    method public static java.time.chrono.JapaneseDate now();
+    method public static java.time.chrono.JapaneseDate now(java.time.ZoneId);
+    method public static java.time.chrono.JapaneseDate now(java.time.Clock);
+    method public static java.time.chrono.JapaneseDate of(java.time.chrono.JapaneseEra, int, int, int);
+    method public static java.time.chrono.JapaneseDate of(int, int, int);
+    method public java.time.chrono.JapaneseDate plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.JapaneseDate plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.JapaneseDate with(java.time.temporal.TemporalField, long);
+    method public java.time.chrono.JapaneseDate with(java.time.temporal.TemporalAdjuster);
+  }
+
+  public final class JapaneseEra implements java.time.chrono.Era java.io.Serializable {
+    method public int getValue();
+    method public static java.time.chrono.JapaneseEra of(int);
+    method public static java.time.chrono.JapaneseEra valueOf(String);
+    method public static java.time.chrono.JapaneseEra[] values();
+    field public static final java.time.chrono.JapaneseEra HEISEI;
+    field public static final java.time.chrono.JapaneseEra MEIJI;
+    field public static final java.time.chrono.JapaneseEra REIWA;
+    field public static final java.time.chrono.JapaneseEra SHOWA;
+    field public static final java.time.chrono.JapaneseEra TAISHO;
+  }
+
+  public final class MinguoChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
+    method public java.time.chrono.MinguoDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.chrono.MinguoDate date(int, int, int);
+    method public java.time.chrono.MinguoDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.MinguoDate dateEpochDay(long);
+    method public java.time.chrono.MinguoDate dateNow();
+    method public java.time.chrono.MinguoDate dateNow(java.time.ZoneId);
+    method public java.time.chrono.MinguoDate dateNow(java.time.Clock);
+    method public java.time.chrono.MinguoDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.chrono.MinguoDate dateYearDay(int, int);
+    method public java.time.chrono.MinguoEra eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public String getCalendarType();
+    method public String getId();
+    method public boolean isLeapYear(long);
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.MinguoDate> localDateTime(java.time.temporal.TemporalAccessor);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.chrono.MinguoDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.MinguoDate> zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.MinguoDate> zonedDateTime(java.time.Instant, java.time.ZoneId);
+    field public static final java.time.chrono.MinguoChronology INSTANCE;
+  }
+
+  public final class MinguoDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.MinguoDate> atTime(java.time.LocalTime);
+    method public static java.time.chrono.MinguoDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.MinguoChronology getChronology();
+    method public java.time.chrono.MinguoEra getEra();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int lengthOfMonth();
+    method public java.time.chrono.MinguoDate minus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.MinguoDate minus(long, java.time.temporal.TemporalUnit);
+    method public static java.time.chrono.MinguoDate now();
+    method public static java.time.chrono.MinguoDate now(java.time.ZoneId);
+    method public static java.time.chrono.MinguoDate now(java.time.Clock);
+    method public static java.time.chrono.MinguoDate of(int, int, int);
+    method public java.time.chrono.MinguoDate plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.MinguoDate plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.MinguoDate with(java.time.temporal.TemporalField, long);
+    method public java.time.chrono.MinguoDate with(java.time.temporal.TemporalAdjuster);
+  }
+
+  public enum MinguoEra implements java.time.chrono.Era {
+    method public int getValue();
+    method public static java.time.chrono.MinguoEra of(int);
+    enum_constant public static final java.time.chrono.MinguoEra BEFORE_ROC;
+    enum_constant public static final java.time.chrono.MinguoEra ROC;
+  }
+
+  public final class ThaiBuddhistChronology extends java.time.chrono.AbstractChronology implements java.io.Serializable {
+    method public java.time.chrono.ThaiBuddhistDate date(java.time.chrono.Era, int, int, int);
+    method public java.time.chrono.ThaiBuddhistDate date(int, int, int);
+    method public java.time.chrono.ThaiBuddhistDate date(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ThaiBuddhistDate dateEpochDay(long);
+    method public java.time.chrono.ThaiBuddhistDate dateNow();
+    method public java.time.chrono.ThaiBuddhistDate dateNow(java.time.ZoneId);
+    method public java.time.chrono.ThaiBuddhistDate dateNow(java.time.Clock);
+    method public java.time.chrono.ThaiBuddhistDate dateYearDay(java.time.chrono.Era, int, int);
+    method public java.time.chrono.ThaiBuddhistDate dateYearDay(int, int);
+    method public java.time.chrono.ThaiBuddhistEra eraOf(int);
+    method public java.util.List<java.time.chrono.Era> eras();
+    method public String getCalendarType();
+    method public String getId();
+    method public boolean isLeapYear(long);
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.ThaiBuddhistDate> localDateTime(java.time.temporal.TemporalAccessor);
+    method public int prolepticYear(java.time.chrono.Era, int);
+    method public java.time.temporal.ValueRange range(java.time.temporal.ChronoField);
+    method public java.time.chrono.ThaiBuddhistDate resolveDate(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.format.ResolverStyle);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.ThaiBuddhistDate> zonedDateTime(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ChronoZonedDateTime<java.time.chrono.ThaiBuddhistDate> zonedDateTime(java.time.Instant, java.time.ZoneId);
+    field public static final java.time.chrono.ThaiBuddhistChronology INSTANCE;
+  }
+
+  public final class ThaiBuddhistDate implements java.time.chrono.ChronoLocalDate java.io.Serializable java.time.temporal.Temporal java.time.temporal.TemporalAdjuster {
+    method public java.time.chrono.ChronoLocalDateTime<java.time.chrono.ThaiBuddhistDate> atTime(java.time.LocalTime);
+    method public static java.time.chrono.ThaiBuddhistDate from(java.time.temporal.TemporalAccessor);
+    method public java.time.chrono.ThaiBuddhistChronology getChronology();
+    method public java.time.chrono.ThaiBuddhistEra getEra();
+    method public long getLong(java.time.temporal.TemporalField);
+    method public int lengthOfMonth();
+    method public java.time.chrono.ThaiBuddhistDate minus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.ThaiBuddhistDate minus(long, java.time.temporal.TemporalUnit);
+    method public static java.time.chrono.ThaiBuddhistDate now();
+    method public static java.time.chrono.ThaiBuddhistDate now(java.time.ZoneId);
+    method public static java.time.chrono.ThaiBuddhistDate now(java.time.Clock);
+    method public static java.time.chrono.ThaiBuddhistDate of(int, int, int);
+    method public java.time.chrono.ThaiBuddhistDate plus(java.time.temporal.TemporalAmount);
+    method public java.time.chrono.ThaiBuddhistDate plus(long, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.ChronoPeriod until(java.time.chrono.ChronoLocalDate);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public java.time.chrono.ThaiBuddhistDate with(java.time.temporal.TemporalField, long);
+    method public java.time.chrono.ThaiBuddhistDate with(java.time.temporal.TemporalAdjuster);
+  }
+
+  public enum ThaiBuddhistEra implements java.time.chrono.Era {
+    method public int getValue();
+    method public static java.time.chrono.ThaiBuddhistEra of(int);
+    enum_constant public static final java.time.chrono.ThaiBuddhistEra BE;
+    enum_constant public static final java.time.chrono.ThaiBuddhistEra BEFORE_BE;
+  }
+
+}
+
+package java.time.format {
+
+  public final class DateTimeFormatter {
+    method public String format(java.time.temporal.TemporalAccessor);
+    method public void formatTo(java.time.temporal.TemporalAccessor, Appendable);
+    method public java.time.chrono.Chronology getChronology();
+    method public java.time.format.DecimalStyle getDecimalStyle();
+    method public java.util.Locale getLocale();
+    method public java.util.Set<java.time.temporal.TemporalField> getResolverFields();
+    method public java.time.format.ResolverStyle getResolverStyle();
+    method public java.time.ZoneId getZone();
+    method public static java.time.format.DateTimeFormatter ofLocalizedDate(java.time.format.FormatStyle);
+    method public static java.time.format.DateTimeFormatter ofLocalizedDateTime(java.time.format.FormatStyle);
+    method public static java.time.format.DateTimeFormatter ofLocalizedDateTime(java.time.format.FormatStyle, java.time.format.FormatStyle);
+    method public static java.time.format.DateTimeFormatter ofLocalizedTime(java.time.format.FormatStyle);
+    method public static java.time.format.DateTimeFormatter ofPattern(String);
+    method public static java.time.format.DateTimeFormatter ofPattern(String, java.util.Locale);
+    method public java.time.temporal.TemporalAccessor parse(CharSequence);
+    method public java.time.temporal.TemporalAccessor parse(CharSequence, java.text.ParsePosition);
+    method public <T> T parse(CharSequence, java.time.temporal.TemporalQuery<T>);
+    method public java.time.temporal.TemporalAccessor parseBest(CharSequence, java.time.temporal.TemporalQuery<?>...);
+    method public java.time.temporal.TemporalAccessor parseUnresolved(CharSequence, java.text.ParsePosition);
+    method public static java.time.temporal.TemporalQuery<java.time.Period> parsedExcessDays();
+    method public static java.time.temporal.TemporalQuery<java.lang.Boolean> parsedLeapSecond();
+    method public java.text.Format toFormat();
+    method public java.text.Format toFormat(java.time.temporal.TemporalQuery<?>);
+    method public java.time.format.DateTimeFormatter withChronology(java.time.chrono.Chronology);
+    method public java.time.format.DateTimeFormatter withDecimalStyle(java.time.format.DecimalStyle);
+    method public java.time.format.DateTimeFormatter withLocale(java.util.Locale);
+    method public java.time.format.DateTimeFormatter withResolverFields(java.time.temporal.TemporalField...);
+    method public java.time.format.DateTimeFormatter withResolverFields(java.util.Set<java.time.temporal.TemporalField>);
+    method public java.time.format.DateTimeFormatter withResolverStyle(java.time.format.ResolverStyle);
+    method public java.time.format.DateTimeFormatter withZone(java.time.ZoneId);
+    field public static final java.time.format.DateTimeFormatter BASIC_ISO_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_DATE_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_INSTANT;
+    field public static final java.time.format.DateTimeFormatter ISO_LOCAL_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_LOCAL_DATE_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_LOCAL_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_OFFSET_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_OFFSET_DATE_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_OFFSET_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_ORDINAL_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_TIME;
+    field public static final java.time.format.DateTimeFormatter ISO_WEEK_DATE;
+    field public static final java.time.format.DateTimeFormatter ISO_ZONED_DATE_TIME;
+    field public static final java.time.format.DateTimeFormatter RFC_1123_DATE_TIME;
+  }
+
+  public final class DateTimeFormatterBuilder {
+    ctor public DateTimeFormatterBuilder();
+    method public java.time.format.DateTimeFormatterBuilder append(java.time.format.DateTimeFormatter);
+    method public java.time.format.DateTimeFormatterBuilder appendChronologyId();
+    method public java.time.format.DateTimeFormatterBuilder appendChronologyText(java.time.format.TextStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendFraction(java.time.temporal.TemporalField, int, int, boolean);
+    method public java.time.format.DateTimeFormatterBuilder appendInstant();
+    method public java.time.format.DateTimeFormatterBuilder appendInstant(int);
+    method public java.time.format.DateTimeFormatterBuilder appendLiteral(char);
+    method public java.time.format.DateTimeFormatterBuilder appendLiteral(String);
+    method public java.time.format.DateTimeFormatterBuilder appendLocalized(java.time.format.FormatStyle, java.time.format.FormatStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendLocalizedOffset(java.time.format.TextStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendOffset(String, String);
+    method public java.time.format.DateTimeFormatterBuilder appendOffsetId();
+    method public java.time.format.DateTimeFormatterBuilder appendOptional(java.time.format.DateTimeFormatter);
+    method public java.time.format.DateTimeFormatterBuilder appendPattern(String);
+    method public java.time.format.DateTimeFormatterBuilder appendText(java.time.temporal.TemporalField);
+    method public java.time.format.DateTimeFormatterBuilder appendText(java.time.temporal.TemporalField, java.time.format.TextStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendText(java.time.temporal.TemporalField, java.util.Map<java.lang.Long,java.lang.String>);
+    method public java.time.format.DateTimeFormatterBuilder appendValue(java.time.temporal.TemporalField);
+    method public java.time.format.DateTimeFormatterBuilder appendValue(java.time.temporal.TemporalField, int);
+    method public java.time.format.DateTimeFormatterBuilder appendValue(java.time.temporal.TemporalField, int, int, java.time.format.SignStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendValueReduced(java.time.temporal.TemporalField, int, int, int);
+    method public java.time.format.DateTimeFormatterBuilder appendValueReduced(java.time.temporal.TemporalField, int, int, java.time.chrono.ChronoLocalDate);
+    method public java.time.format.DateTimeFormatterBuilder appendZoneId();
+    method public java.time.format.DateTimeFormatterBuilder appendZoneOrOffsetId();
+    method public java.time.format.DateTimeFormatterBuilder appendZoneRegionId();
+    method public java.time.format.DateTimeFormatterBuilder appendZoneText(java.time.format.TextStyle);
+    method public java.time.format.DateTimeFormatterBuilder appendZoneText(java.time.format.TextStyle, java.util.Set<java.time.ZoneId>);
+    method public static String getLocalizedDateTimePattern(java.time.format.FormatStyle, java.time.format.FormatStyle, java.time.chrono.Chronology, java.util.Locale);
+    method public java.time.format.DateTimeFormatterBuilder optionalEnd();
+    method public java.time.format.DateTimeFormatterBuilder optionalStart();
+    method public java.time.format.DateTimeFormatterBuilder padNext(int);
+    method public java.time.format.DateTimeFormatterBuilder padNext(int, char);
+    method public java.time.format.DateTimeFormatterBuilder parseCaseInsensitive();
+    method public java.time.format.DateTimeFormatterBuilder parseCaseSensitive();
+    method public java.time.format.DateTimeFormatterBuilder parseDefaulting(java.time.temporal.TemporalField, long);
+    method public java.time.format.DateTimeFormatterBuilder parseLenient();
+    method public java.time.format.DateTimeFormatterBuilder parseStrict();
+    method public java.time.format.DateTimeFormatter toFormatter();
+    method public java.time.format.DateTimeFormatter toFormatter(java.util.Locale);
+  }
+
+  public class DateTimeParseException extends java.time.DateTimeException {
+    ctor public DateTimeParseException(String, CharSequence, int);
+    ctor public DateTimeParseException(String, CharSequence, int, Throwable);
+    method public int getErrorIndex();
+    method public String getParsedString();
+  }
+
+  public final class DecimalStyle {
+    method public static java.util.Set<java.util.Locale> getAvailableLocales();
+    method public char getDecimalSeparator();
+    method public char getNegativeSign();
+    method public char getPositiveSign();
+    method public char getZeroDigit();
+    method public static java.time.format.DecimalStyle of(java.util.Locale);
+    method public static java.time.format.DecimalStyle ofDefaultLocale();
+    method public java.time.format.DecimalStyle withDecimalSeparator(char);
+    method public java.time.format.DecimalStyle withNegativeSign(char);
+    method public java.time.format.DecimalStyle withPositiveSign(char);
+    method public java.time.format.DecimalStyle withZeroDigit(char);
+    field public static final java.time.format.DecimalStyle STANDARD;
+  }
+
+  public enum FormatStyle {
+    enum_constant public static final java.time.format.FormatStyle FULL;
+    enum_constant public static final java.time.format.FormatStyle LONG;
+    enum_constant public static final java.time.format.FormatStyle MEDIUM;
+    enum_constant public static final java.time.format.FormatStyle SHORT;
+  }
+
+  public enum ResolverStyle {
+    enum_constant public static final java.time.format.ResolverStyle LENIENT;
+    enum_constant public static final java.time.format.ResolverStyle SMART;
+    enum_constant public static final java.time.format.ResolverStyle STRICT;
+  }
+
+  public enum SignStyle {
+    enum_constant public static final java.time.format.SignStyle ALWAYS;
+    enum_constant public static final java.time.format.SignStyle EXCEEDS_PAD;
+    enum_constant public static final java.time.format.SignStyle NEVER;
+    enum_constant public static final java.time.format.SignStyle NORMAL;
+    enum_constant public static final java.time.format.SignStyle NOT_NEGATIVE;
+  }
+
+  public enum TextStyle {
+    method public java.time.format.TextStyle asNormal();
+    method public java.time.format.TextStyle asStandalone();
+    method public boolean isStandalone();
+    enum_constant public static final java.time.format.TextStyle FULL;
+    enum_constant public static final java.time.format.TextStyle FULL_STANDALONE;
+    enum_constant public static final java.time.format.TextStyle NARROW;
+    enum_constant public static final java.time.format.TextStyle NARROW_STANDALONE;
+    enum_constant public static final java.time.format.TextStyle SHORT;
+    enum_constant public static final java.time.format.TextStyle SHORT_STANDALONE;
+  }
+
+}
+
+package java.time.temporal {
+
+  public enum ChronoField implements java.time.temporal.TemporalField {
+    method public <R extends java.time.temporal.Temporal> R adjustInto(R, long);
+    method public int checkValidIntValue(long);
+    method public long checkValidValue(long);
+    method public java.time.temporal.TemporalUnit getBaseUnit();
+    method public long getFrom(java.time.temporal.TemporalAccessor);
+    method public java.time.temporal.TemporalUnit getRangeUnit();
+    method public boolean isDateBased();
+    method public boolean isSupportedBy(java.time.temporal.TemporalAccessor);
+    method public boolean isTimeBased();
+    method public java.time.temporal.ValueRange range();
+    method public java.time.temporal.ValueRange rangeRefinedBy(java.time.temporal.TemporalAccessor);
+    enum_constant public static final java.time.temporal.ChronoField ALIGNED_DAY_OF_WEEK_IN_MONTH;
+    enum_constant public static final java.time.temporal.ChronoField ALIGNED_DAY_OF_WEEK_IN_YEAR;
+    enum_constant public static final java.time.temporal.ChronoField ALIGNED_WEEK_OF_MONTH;
+    enum_constant public static final java.time.temporal.ChronoField ALIGNED_WEEK_OF_YEAR;
+    enum_constant public static final java.time.temporal.ChronoField AMPM_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField CLOCK_HOUR_OF_AMPM;
+    enum_constant public static final java.time.temporal.ChronoField CLOCK_HOUR_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField DAY_OF_MONTH;
+    enum_constant public static final java.time.temporal.ChronoField DAY_OF_WEEK;
+    enum_constant public static final java.time.temporal.ChronoField DAY_OF_YEAR;
+    enum_constant public static final java.time.temporal.ChronoField EPOCH_DAY;
+    enum_constant public static final java.time.temporal.ChronoField ERA;
+    enum_constant public static final java.time.temporal.ChronoField HOUR_OF_AMPM;
+    enum_constant public static final java.time.temporal.ChronoField HOUR_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField INSTANT_SECONDS;
+    enum_constant public static final java.time.temporal.ChronoField MICRO_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField MICRO_OF_SECOND;
+    enum_constant public static final java.time.temporal.ChronoField MILLI_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField MILLI_OF_SECOND;
+    enum_constant public static final java.time.temporal.ChronoField MINUTE_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField MINUTE_OF_HOUR;
+    enum_constant public static final java.time.temporal.ChronoField MONTH_OF_YEAR;
+    enum_constant public static final java.time.temporal.ChronoField NANO_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField NANO_OF_SECOND;
+    enum_constant public static final java.time.temporal.ChronoField OFFSET_SECONDS;
+    enum_constant public static final java.time.temporal.ChronoField PROLEPTIC_MONTH;
+    enum_constant public static final java.time.temporal.ChronoField SECOND_OF_DAY;
+    enum_constant public static final java.time.temporal.ChronoField SECOND_OF_MINUTE;
+    enum_constant public static final java.time.temporal.ChronoField YEAR;
+    enum_constant public static final java.time.temporal.ChronoField YEAR_OF_ERA;
+  }
+
+  public enum ChronoUnit implements java.time.temporal.TemporalUnit {
+    method public <R extends java.time.temporal.Temporal> R addTo(R, long);
+    method public long between(java.time.temporal.Temporal, java.time.temporal.Temporal);
+    method public java.time.Duration getDuration();
+    method public boolean isDateBased();
+    method public boolean isDurationEstimated();
+    method public boolean isTimeBased();
+    enum_constant public static final java.time.temporal.ChronoUnit CENTURIES;
+    enum_constant public static final java.time.temporal.ChronoUnit DAYS;
+    enum_constant public static final java.time.temporal.ChronoUnit DECADES;
+    enum_constant public static final java.time.temporal.ChronoUnit ERAS;
+    enum_constant public static final java.time.temporal.ChronoUnit FOREVER;
+    enum_constant public static final java.time.temporal.ChronoUnit HALF_DAYS;
+    enum_constant public static final java.time.temporal.ChronoUnit HOURS;
+    enum_constant public static final java.time.temporal.ChronoUnit MICROS;
+    enum_constant public static final java.time.temporal.ChronoUnit MILLENNIA;
+    enum_constant public static final java.time.temporal.ChronoUnit MILLIS;
+    enum_constant public static final java.time.temporal.ChronoUnit MINUTES;
+    enum_constant public static final java.time.temporal.ChronoUnit MONTHS;
+    enum_constant public static final java.time.temporal.ChronoUnit NANOS;
+    enum_constant public static final java.time.temporal.ChronoUnit SECONDS;
+    enum_constant public static final java.time.temporal.ChronoUnit WEEKS;
+    enum_constant public static final java.time.temporal.ChronoUnit YEARS;
+  }
+
+  public final class IsoFields {
+    field public static final java.time.temporal.TemporalField DAY_OF_QUARTER;
+    field public static final java.time.temporal.TemporalField QUARTER_OF_YEAR;
+    field public static final java.time.temporal.TemporalUnit QUARTER_YEARS;
+    field public static final java.time.temporal.TemporalField WEEK_BASED_YEAR;
+    field public static final java.time.temporal.TemporalUnit WEEK_BASED_YEARS;
+    field public static final java.time.temporal.TemporalField WEEK_OF_WEEK_BASED_YEAR;
+  }
+
+  public final class JulianFields {
+    field public static final java.time.temporal.TemporalField JULIAN_DAY;
+    field public static final java.time.temporal.TemporalField MODIFIED_JULIAN_DAY;
+    field public static final java.time.temporal.TemporalField RATA_DIE;
+  }
+
+  public interface Temporal extends java.time.temporal.TemporalAccessor {
+    method public boolean isSupported(java.time.temporal.TemporalUnit);
+    method public default java.time.temporal.Temporal minus(java.time.temporal.TemporalAmount);
+    method public default java.time.temporal.Temporal minus(long, java.time.temporal.TemporalUnit);
+    method public default java.time.temporal.Temporal plus(java.time.temporal.TemporalAmount);
+    method public java.time.temporal.Temporal plus(long, java.time.temporal.TemporalUnit);
+    method public long until(java.time.temporal.Temporal, java.time.temporal.TemporalUnit);
+    method public default java.time.temporal.Temporal with(java.time.temporal.TemporalAdjuster);
+    method public java.time.temporal.Temporal with(java.time.temporal.TemporalField, long);
+  }
+
+  public interface TemporalAccessor {
+    method public default int get(java.time.temporal.TemporalField);
+    method public long getLong(java.time.temporal.TemporalField);
+    method public boolean isSupported(java.time.temporal.TemporalField);
+    method public default <R> R query(java.time.temporal.TemporalQuery<R>);
+    method public default java.time.temporal.ValueRange range(java.time.temporal.TemporalField);
+  }
+
+  @java.lang.FunctionalInterface public interface TemporalAdjuster {
+    method public java.time.temporal.Temporal adjustInto(java.time.temporal.Temporal);
+  }
+
+  public final class TemporalAdjusters {
+    method public static java.time.temporal.TemporalAdjuster dayOfWeekInMonth(int, java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster firstDayOfMonth();
+    method public static java.time.temporal.TemporalAdjuster firstDayOfNextMonth();
+    method public static java.time.temporal.TemporalAdjuster firstDayOfNextYear();
+    method public static java.time.temporal.TemporalAdjuster firstDayOfYear();
+    method public static java.time.temporal.TemporalAdjuster firstInMonth(java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster lastDayOfMonth();
+    method public static java.time.temporal.TemporalAdjuster lastDayOfYear();
+    method public static java.time.temporal.TemporalAdjuster lastInMonth(java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster next(java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster nextOrSame(java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster ofDateAdjuster(java.util.function.UnaryOperator<java.time.LocalDate>);
+    method public static java.time.temporal.TemporalAdjuster previous(java.time.DayOfWeek);
+    method public static java.time.temporal.TemporalAdjuster previousOrSame(java.time.DayOfWeek);
+  }
+
+  public interface TemporalAmount {
+    method public java.time.temporal.Temporal addTo(java.time.temporal.Temporal);
+    method public long get(java.time.temporal.TemporalUnit);
+    method public java.util.List<java.time.temporal.TemporalUnit> getUnits();
+    method public java.time.temporal.Temporal subtractFrom(java.time.temporal.Temporal);
+  }
+
+  public interface TemporalField {
+    method public <R extends java.time.temporal.Temporal> R adjustInto(R, long);
+    method public java.time.temporal.TemporalUnit getBaseUnit();
+    method public default String getDisplayName(java.util.Locale);
+    method public long getFrom(java.time.temporal.TemporalAccessor);
+    method public java.time.temporal.TemporalUnit getRangeUnit();
+    method public boolean isDateBased();
+    method public boolean isSupportedBy(java.time.temporal.TemporalAccessor);
+    method public boolean isTimeBased();
+    method public java.time.temporal.ValueRange range();
+    method public java.time.temporal.ValueRange rangeRefinedBy(java.time.temporal.TemporalAccessor);
+    method public default java.time.temporal.TemporalAccessor resolve(java.util.Map<java.time.temporal.TemporalField,java.lang.Long>, java.time.temporal.TemporalAccessor, java.time.format.ResolverStyle);
+    method public String toString();
+  }
+
+  public final class TemporalQueries {
+    method public static java.time.temporal.TemporalQuery<java.time.chrono.Chronology> chronology();
+    method public static java.time.temporal.TemporalQuery<java.time.LocalDate> localDate();
+    method public static java.time.temporal.TemporalQuery<java.time.LocalTime> localTime();
+    method public static java.time.temporal.TemporalQuery<java.time.ZoneOffset> offset();
+    method public static java.time.temporal.TemporalQuery<java.time.temporal.TemporalUnit> precision();
+    method public static java.time.temporal.TemporalQuery<java.time.ZoneId> zone();
+    method public static java.time.temporal.TemporalQuery<java.time.ZoneId> zoneId();
+  }
+
+  @java.lang.FunctionalInterface public interface TemporalQuery<R> {
+    method public R queryFrom(java.time.temporal.TemporalAccessor);
+  }
+
+  public interface TemporalUnit {
+    method public <R extends java.time.temporal.Temporal> R addTo(R, long);
+    method public long between(java.time.temporal.Temporal, java.time.temporal.Temporal);
+    method public java.time.Duration getDuration();
+    method public boolean isDateBased();
+    method public boolean isDurationEstimated();
+    method public default boolean isSupportedBy(java.time.temporal.Temporal);
+    method public boolean isTimeBased();
+    method public String toString();
+  }
+
+  public class UnsupportedTemporalTypeException extends java.time.DateTimeException {
+    ctor public UnsupportedTemporalTypeException(String);
+    ctor public UnsupportedTemporalTypeException(String, Throwable);
+  }
+
+  public final class ValueRange implements java.io.Serializable {
+    method public int checkValidIntValue(long, java.time.temporal.TemporalField);
+    method public long checkValidValue(long, java.time.temporal.TemporalField);
+    method public long getLargestMinimum();
+    method public long getMaximum();
+    method public long getMinimum();
+    method public long getSmallestMaximum();
+    method public boolean isFixed();
+    method public boolean isIntValue();
+    method public boolean isValidIntValue(long);
+    method public boolean isValidValue(long);
+    method public static java.time.temporal.ValueRange of(long, long);
+    method public static java.time.temporal.ValueRange of(long, long, long);
+    method public static java.time.temporal.ValueRange of(long, long, long, long);
+  }
+
+  public final class WeekFields implements java.io.Serializable {
+    method public java.time.temporal.TemporalField dayOfWeek();
+    method public java.time.DayOfWeek getFirstDayOfWeek();
+    method public int getMinimalDaysInFirstWeek();
+    method public static java.time.temporal.WeekFields of(java.util.Locale);
+    method public static java.time.temporal.WeekFields of(java.time.DayOfWeek, int);
+    method public java.time.temporal.TemporalField weekBasedYear();
+    method public java.time.temporal.TemporalField weekOfMonth();
+    method public java.time.temporal.TemporalField weekOfWeekBasedYear();
+    method public java.time.temporal.TemporalField weekOfYear();
+    field public static final java.time.temporal.WeekFields ISO;
+    field public static final java.time.temporal.WeekFields SUNDAY_START;
+    field public static final java.time.temporal.TemporalUnit WEEK_BASED_YEARS;
+  }
+
+}
+
+package java.time.zone {
+
+  public final class ZoneOffsetTransition implements java.lang.Comparable<java.time.zone.ZoneOffsetTransition> java.io.Serializable {
+    method public int compareTo(java.time.zone.ZoneOffsetTransition);
+    method public java.time.LocalDateTime getDateTimeAfter();
+    method public java.time.LocalDateTime getDateTimeBefore();
+    method public java.time.Duration getDuration();
+    method public java.time.Instant getInstant();
+    method public java.time.ZoneOffset getOffsetAfter();
+    method public java.time.ZoneOffset getOffsetBefore();
+    method public boolean isGap();
+    method public boolean isOverlap();
+    method public boolean isValidOffset(java.time.ZoneOffset);
+    method public static java.time.zone.ZoneOffsetTransition of(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneOffset);
+    method public long toEpochSecond();
+  }
+
+  public final class ZoneOffsetTransitionRule implements java.io.Serializable {
+    method public java.time.zone.ZoneOffsetTransition createTransition(int);
+    method public int getDayOfMonthIndicator();
+    method public java.time.DayOfWeek getDayOfWeek();
+    method public java.time.LocalTime getLocalTime();
+    method public java.time.Month getMonth();
+    method public java.time.ZoneOffset getOffsetAfter();
+    method public java.time.ZoneOffset getOffsetBefore();
+    method public java.time.ZoneOffset getStandardOffset();
+    method public java.time.zone.ZoneOffsetTransitionRule.TimeDefinition getTimeDefinition();
+    method public boolean isMidnightEndOfDay();
+    method public static java.time.zone.ZoneOffsetTransitionRule of(java.time.Month, int, java.time.DayOfWeek, java.time.LocalTime, boolean, java.time.zone.ZoneOffsetTransitionRule.TimeDefinition, java.time.ZoneOffset, java.time.ZoneOffset, java.time.ZoneOffset);
+  }
+
+  public enum ZoneOffsetTransitionRule.TimeDefinition {
+    method public java.time.LocalDateTime createDateTime(java.time.LocalDateTime, java.time.ZoneOffset, java.time.ZoneOffset);
+    enum_constant public static final java.time.zone.ZoneOffsetTransitionRule.TimeDefinition STANDARD;
+    enum_constant public static final java.time.zone.ZoneOffsetTransitionRule.TimeDefinition UTC;
+    enum_constant public static final java.time.zone.ZoneOffsetTransitionRule.TimeDefinition WALL;
+  }
+
+  public final class ZoneRules implements java.io.Serializable {
+    method public java.time.Duration getDaylightSavings(java.time.Instant);
+    method public java.time.ZoneOffset getOffset(java.time.Instant);
+    method public java.time.ZoneOffset getOffset(java.time.LocalDateTime);
+    method public java.time.ZoneOffset getStandardOffset(java.time.Instant);
+    method public java.time.zone.ZoneOffsetTransition getTransition(java.time.LocalDateTime);
+    method public java.util.List<java.time.zone.ZoneOffsetTransitionRule> getTransitionRules();
+    method public java.util.List<java.time.zone.ZoneOffsetTransition> getTransitions();
+    method public java.util.List<java.time.ZoneOffset> getValidOffsets(java.time.LocalDateTime);
+    method public boolean isDaylightSavings(java.time.Instant);
+    method public boolean isFixedOffset();
+    method public boolean isValidOffset(java.time.LocalDateTime, java.time.ZoneOffset);
+    method public java.time.zone.ZoneOffsetTransition nextTransition(java.time.Instant);
+    method public static java.time.zone.ZoneRules of(java.time.ZoneOffset, java.time.ZoneOffset, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransition>, java.util.List<java.time.zone.ZoneOffsetTransitionRule>);
+    method public static java.time.zone.ZoneRules of(java.time.ZoneOffset);
+    method public java.time.zone.ZoneOffsetTransition previousTransition(java.time.Instant);
+  }
+
+  public class ZoneRulesException extends java.time.DateTimeException {
+    ctor public ZoneRulesException(String);
+    ctor public ZoneRulesException(String, Throwable);
+  }
+
+}
+
+package java.util {
+
+  public abstract class AbstractCollection<E> implements java.util.Collection<E> {
+    ctor protected AbstractCollection();
+    method public boolean add(E);
+    method public boolean addAll(@NonNull java.util.Collection<? extends E>);
+    method public void clear();
+    method public boolean contains(@Nullable Object);
+    method public boolean containsAll(@NonNull java.util.Collection<?>);
+    method public boolean isEmpty();
+    method public boolean remove(@Nullable Object);
+    method public boolean removeAll(@NonNull java.util.Collection<?>);
+    method public boolean retainAll(@NonNull java.util.Collection<?>);
+    method @NonNull public Object[] toArray();
+    method @NonNull public <T> T[] toArray(@NonNull T[]);
+  }
+
+  public abstract class AbstractList<E> extends java.util.AbstractCollection<E> implements java.util.List<E> {
+    ctor protected AbstractList();
+    method public void add(int, E);
+    method public boolean addAll(int, @NonNull java.util.Collection<? extends E>);
+    method public int indexOf(@Nullable Object);
+    method @NonNull public java.util.Iterator<E> iterator();
+    method public int lastIndexOf(@Nullable Object);
+    method @NonNull public java.util.ListIterator<E> listIterator();
+    method @NonNull public java.util.ListIterator<E> listIterator(int);
+    method public E remove(int);
+    method protected void removeRange(int, int);
+    method public E set(int, E);
+    method @NonNull public java.util.List<E> subList(int, int);
+    field protected transient int modCount;
+  }
+
+  public abstract class AbstractMap<K, V> implements java.util.Map<K,V> {
+    ctor protected AbstractMap();
+    method public void clear();
+    method public boolean containsKey(@Nullable Object);
+    method public boolean containsValue(@Nullable Object);
+    method @Nullable public V get(@Nullable Object);
+    method public boolean isEmpty();
+    method @NonNull public java.util.Set<K> keySet();
+    method @Nullable public V put(K, V);
+    method public void putAll(@NonNull java.util.Map<? extends K,? extends V>);
+    method @Nullable public V remove(@Nullable Object);
+    method public int size();
+    method @NonNull public java.util.Collection<V> values();
+  }
+
+  public static class AbstractMap.SimpleEntry<K, V> implements java.util.Map.Entry<K,V> java.io.Serializable {
+    ctor public AbstractMap.SimpleEntry(K, V);
+    ctor public AbstractMap.SimpleEntry(@NonNull java.util.Map.Entry<? extends K,? extends V>);
+    method public K getKey();
+    method public V getValue();
+    method public V setValue(V);
+  }
+
+  public static class AbstractMap.SimpleImmutableEntry<K, V> implements java.util.Map.Entry<K,V> java.io.Serializable {
+    ctor public AbstractMap.SimpleImmutableEntry(K, V);
+    ctor public AbstractMap.SimpleImmutableEntry(@NonNull java.util.Map.Entry<? extends K,? extends V>);
+    method public K getKey();
+    method public V getValue();
+    method public V setValue(V);
+  }
+
+  public abstract class AbstractQueue<E> extends java.util.AbstractCollection<E> implements java.util.Queue<E> {
+    ctor protected AbstractQueue();
+    method public E element();
+    method public E remove();
+  }
+
+  public abstract class AbstractSequentialList<E> extends java.util.AbstractList<E> {
+    ctor protected AbstractSequentialList();
+    method public E get(int);
+  }
+
+  public abstract class AbstractSet<E> extends java.util.AbstractCollection<E> implements java.util.Set<E> {
+    ctor protected AbstractSet();
+  }
+
+  public class ArrayDeque<E> extends java.util.AbstractCollection<E> implements java.lang.Cloneable java.util.Deque<E> java.io.Serializable {
+    ctor public ArrayDeque();
+    ctor public ArrayDeque(int);
+    ctor public ArrayDeque(@NonNull java.util.Collection<? extends E>);
+    method public void addFirst(E);
+    method public void addLast(E);
+    method @NonNull public java.util.ArrayDeque<E> clone();
+    method @NonNull public java.util.Iterator<E> descendingIterator();
+    method public E element();
+    method public E getFirst();
+    method public E getLast();
+    method @NonNull public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offerFirst(E);
+    method public boolean offerLast(E);
+    method @Nullable public E peek();
+    method @Nullable public E peekFirst();
+    method @Nullable public E peekLast();
+    method @Nullable public E poll();
+    method @Nullable public E pollFirst();
+    method @Nullable public E pollLast();
+    method public E pop();
+    method public void push(E);
+    method public E remove();
+    method public E removeFirst();
+    method public boolean removeFirstOccurrence(@Nullable Object);
+    method public E removeLast();
+    method public boolean removeLastOccurrence(@Nullable Object);
+    method public int size();
+  }
+
+  public class ArrayList<E> extends java.util.AbstractList<E> implements java.lang.Cloneable java.util.List<E> java.util.RandomAccess java.io.Serializable {
+    ctor public ArrayList(int);
+    ctor public ArrayList();
+    ctor public ArrayList(@NonNull java.util.Collection<? extends E>);
+    method @NonNull public Object clone();
+    method public void ensureCapacity(int);
+    method public void forEach(@NonNull java.util.function.Consumer<? super E>);
+    method public E get(int);
+    method public int size();
+    method public void trimToSize();
+  }
+
+  public class Arrays {
+    method @NonNull @java.lang.SafeVarargs public static <T> java.util.List<T> asList(@NonNull T...);
+    method public static int binarySearch(@NonNull long[], long);
+    method public static int binarySearch(@NonNull long[], int, int, long);
+    method public static int binarySearch(@NonNull int[], int);
+    method public static int binarySearch(@NonNull int[], int, int, int);
+    method public static int binarySearch(@NonNull short[], short);
+    method public static int binarySearch(@NonNull short[], int, int, short);
+    method public static int binarySearch(@NonNull char[], char);
+    method public static int binarySearch(@NonNull char[], int, int, char);
+    method public static int binarySearch(@NonNull byte[], byte);
+    method public static int binarySearch(@NonNull byte[], int, int, byte);
+    method public static int binarySearch(@NonNull double[], double);
+    method public static int binarySearch(@NonNull double[], int, int, double);
+    method public static int binarySearch(@NonNull float[], float);
+    method public static int binarySearch(@NonNull float[], int, int, float);
+    method public static int binarySearch(@NonNull Object[], @NonNull Object);
+    method public static int binarySearch(@NonNull Object[], int, int, @NonNull Object);
+    method public static <T> int binarySearch(@NonNull T[], T, @Nullable java.util.Comparator<? super T>);
+    method public static <T> int binarySearch(@NonNull T[], int, int, T, @Nullable java.util.Comparator<? super T>);
+    method @NonNull public static <T> T[] copyOf(@NonNull T[], int);
+    method @NonNull public static <T, U> T[] copyOf(@NonNull U[], int, @NonNull Class<? extends T[]>);
+    method @NonNull public static byte[] copyOf(@NonNull byte[], int);
+    method @NonNull public static short[] copyOf(@NonNull short[], int);
+    method @NonNull public static int[] copyOf(@NonNull int[], int);
+    method @NonNull public static long[] copyOf(@NonNull long[], int);
+    method @NonNull public static char[] copyOf(@NonNull char[], int);
+    method @NonNull public static float[] copyOf(@NonNull float[], int);
+    method @NonNull public static double[] copyOf(@NonNull double[], int);
+    method @NonNull public static boolean[] copyOf(@NonNull boolean[], int);
+    method @NonNull public static <T> T[] copyOfRange(@NonNull T[], int, int);
+    method @NonNull public static <T, U> T[] copyOfRange(@NonNull U[], int, int, @NonNull Class<? extends T[]>);
+    method @NonNull public static byte[] copyOfRange(@NonNull byte[], int, int);
+    method @NonNull public static short[] copyOfRange(@NonNull short[], int, int);
+    method @NonNull public static int[] copyOfRange(@NonNull int[], int, int);
+    method @NonNull public static long[] copyOfRange(@NonNull long[], int, int);
+    method @NonNull public static char[] copyOfRange(@NonNull char[], int, int);
+    method @NonNull public static float[] copyOfRange(@NonNull float[], int, int);
+    method @NonNull public static double[] copyOfRange(@NonNull double[], int, int);
+    method @NonNull public static boolean[] copyOfRange(@NonNull boolean[], int, int);
+    method public static boolean deepEquals(@Nullable Object[], @Nullable Object[]);
+    method public static int deepHashCode(@Nullable Object[]);
+    method @NonNull public static String deepToString(@Nullable Object[]);
+    method public static boolean equals(@Nullable long[], @Nullable long[]);
+    method public static boolean equals(@Nullable int[], @Nullable int[]);
+    method public static boolean equals(@Nullable short[], @Nullable short[]);
+    method public static boolean equals(@Nullable char[], @Nullable char[]);
+    method public static boolean equals(@Nullable byte[], @Nullable byte[]);
+    method public static boolean equals(@Nullable boolean[], @Nullable boolean[]);
+    method public static boolean equals(@Nullable double[], @Nullable double[]);
+    method public static boolean equals(@Nullable float[], @Nullable float[]);
+    method public static boolean equals(@Nullable Object[], @Nullable Object[]);
+    method public static void fill(@NonNull long[], long);
+    method public static void fill(@NonNull long[], int, int, long);
+    method public static void fill(@NonNull int[], int);
+    method public static void fill(@NonNull int[], int, int, int);
+    method public static void fill(@NonNull short[], short);
+    method public static void fill(@NonNull short[], int, int, short);
+    method public static void fill(@NonNull char[], char);
+    method public static void fill(@NonNull char[], int, int, char);
+    method public static void fill(@NonNull byte[], byte);
+    method public static void fill(@NonNull byte[], int, int, byte);
+    method public static void fill(@NonNull boolean[], boolean);
+    method public static void fill(@NonNull boolean[], int, int, boolean);
+    method public static void fill(@NonNull double[], double);
+    method public static void fill(@NonNull double[], int, int, double);
+    method public static void fill(@NonNull float[], float);
+    method public static void fill(@NonNull float[], int, int, float);
+    method public static void fill(@NonNull Object[], @Nullable Object);
+    method public static void fill(@NonNull Object[], int, int, @Nullable Object);
+    method public static int hashCode(@Nullable long[]);
+    method public static int hashCode(@Nullable int[]);
+    method public static int hashCode(@Nullable short[]);
+    method public static int hashCode(@Nullable char[]);
+    method public static int hashCode(@Nullable byte[]);
+    method public static int hashCode(@Nullable boolean[]);
+    method public static int hashCode(@Nullable float[]);
+    method public static int hashCode(@Nullable double[]);
+    method public static int hashCode(@Nullable Object[]);
+    method public static <T> void parallelPrefix(@NonNull T[], @NonNull java.util.function.BinaryOperator<T>);
+    method public static <T> void parallelPrefix(@NonNull T[], int, int, @NonNull java.util.function.BinaryOperator<T>);
+    method public static void parallelPrefix(@NonNull long[], @NonNull java.util.function.LongBinaryOperator);
+    method public static void parallelPrefix(@NonNull long[], int, int, @NonNull java.util.function.LongBinaryOperator);
+    method public static void parallelPrefix(@NonNull double[], @NonNull java.util.function.DoubleBinaryOperator);
+    method public static void parallelPrefix(@NonNull double[], int, int, @NonNull java.util.function.DoubleBinaryOperator);
+    method public static void parallelPrefix(@NonNull int[], @NonNull java.util.function.IntBinaryOperator);
+    method public static void parallelPrefix(@NonNull int[], int, int, @NonNull java.util.function.IntBinaryOperator);
+    method public static <T> void parallelSetAll(@NonNull T[], @NonNull java.util.function.IntFunction<? extends T>);
+    method public static void parallelSetAll(@NonNull int[], @NonNull java.util.function.IntUnaryOperator);
+    method public static void parallelSetAll(@NonNull long[], @NonNull java.util.function.IntToLongFunction);
+    method public static void parallelSetAll(@NonNull double[], @NonNull java.util.function.IntToDoubleFunction);
+    method public static void parallelSort(@NonNull byte[]);
+    method public static void parallelSort(@NonNull byte[], int, int);
+    method public static void parallelSort(@NonNull char[]);
+    method public static void parallelSort(@NonNull char[], int, int);
+    method public static void parallelSort(@NonNull short[]);
+    method public static void parallelSort(@NonNull short[], int, int);
+    method public static void parallelSort(@NonNull int[]);
+    method public static void parallelSort(@NonNull int[], int, int);
+    method public static void parallelSort(@NonNull long[]);
+    method public static void parallelSort(@NonNull long[], int, int);
+    method public static void parallelSort(@NonNull float[]);
+    method public static void parallelSort(@NonNull float[], int, int);
+    method public static void parallelSort(@NonNull double[]);
+    method public static void parallelSort(@NonNull double[], int, int);
+    method public static <T extends java.lang.Comparable<? super T>> void parallelSort(@NonNull T[]);
+    method public static <T extends java.lang.Comparable<? super T>> void parallelSort(@NonNull T[], int, int);
+    method public static <T> void parallelSort(@NonNull T[], @Nullable java.util.Comparator<? super T>);
+    method public static <T> void parallelSort(@NonNull T[], int, int, @Nullable java.util.Comparator<? super T>);
+    method public static <T> void setAll(@NonNull T[], @NonNull java.util.function.IntFunction<? extends T>);
+    method public static void setAll(@NonNull int[], @NonNull java.util.function.IntUnaryOperator);
+    method public static void setAll(@NonNull long[], @NonNull java.util.function.IntToLongFunction);
+    method public static void setAll(@NonNull double[], @NonNull java.util.function.IntToDoubleFunction);
+    method public static void sort(@NonNull int[]);
+    method public static void sort(@NonNull int[], int, int);
+    method public static void sort(@NonNull long[]);
+    method public static void sort(@NonNull long[], int, int);
+    method public static void sort(@NonNull short[]);
+    method public static void sort(@NonNull short[], int, int);
+    method public static void sort(@NonNull char[]);
+    method public static void sort(@NonNull char[], int, int);
+    method public static void sort(@NonNull byte[]);
+    method public static void sort(@NonNull byte[], int, int);
+    method public static void sort(@NonNull float[]);
+    method public static void sort(@NonNull float[], int, int);
+    method public static void sort(@NonNull double[]);
+    method public static void sort(@NonNull double[], int, int);
+    method public static void sort(@NonNull Object[]);
+    method public static void sort(@NonNull Object[], int, int);
+    method public static <T> void sort(@NonNull T[], @Nullable java.util.Comparator<? super T>);
+    method public static <T> void sort(@NonNull T[], int, int, @Nullable java.util.Comparator<? super T>);
+    method @NonNull public static <T> java.util.Spliterator<T> spliterator(@NonNull T[]);
+    method @NonNull public static <T> java.util.Spliterator<T> spliterator(@NonNull T[], int, int);
+    method @NonNull public static java.util.Spliterator.OfInt spliterator(@NonNull int[]);
+    method @NonNull public static java.util.Spliterator.OfInt spliterator(@NonNull int[], int, int);
+    method @NonNull public static java.util.Spliterator.OfLong spliterator(@NonNull long[]);
+    method @NonNull public static java.util.Spliterator.OfLong spliterator(@NonNull long[], int, int);
+    method @NonNull public static java.util.Spliterator.OfDouble spliterator(@NonNull double[]);
+    method @NonNull public static java.util.Spliterator.OfDouble spliterator(@NonNull double[], int, int);
+    method @NonNull public static <T> java.util.stream.Stream<T> stream(@NonNull T[]);
+    method @NonNull public static <T> java.util.stream.Stream<T> stream(@NonNull T[], int, int);
+    method @NonNull public static java.util.stream.IntStream stream(@NonNull int[]);
+    method @NonNull public static java.util.stream.IntStream stream(@NonNull int[], int, int);
+    method @NonNull public static java.util.stream.LongStream stream(@NonNull long[]);
+    method @NonNull public static java.util.stream.LongStream stream(@NonNull long[], int, int);
+    method @NonNull public static java.util.stream.DoubleStream stream(@NonNull double[]);
+    method @NonNull public static java.util.stream.DoubleStream stream(@NonNull double[], int, int);
+    method @NonNull public static String toString(@Nullable long[]);
+    method @NonNull public static String toString(@Nullable int[]);
+    method @NonNull public static String toString(@Nullable short[]);
+    method @NonNull public static String toString(@Nullable char[]);
+    method @NonNull public static String toString(@Nullable byte[]);
+    method @NonNull public static String toString(@Nullable boolean[]);
+    method @NonNull public static String toString(@Nullable float[]);
+    method @NonNull public static String toString(@Nullable double[]);
+    method @NonNull public static String toString(@Nullable Object[]);
+  }
+
+  public class Base64 {
+    method public static java.util.Base64.Decoder getDecoder();
+    method public static java.util.Base64.Encoder getEncoder();
+    method public static java.util.Base64.Decoder getMimeDecoder();
+    method public static java.util.Base64.Encoder getMimeEncoder();
+    method public static java.util.Base64.Encoder getMimeEncoder(int, byte[]);
+    method public static java.util.Base64.Decoder getUrlDecoder();
+    method public static java.util.Base64.Encoder getUrlEncoder();
+  }
+
+  public static class Base64.Decoder {
+    method public byte[] decode(byte[]);
+    method public byte[] decode(String);
+    method public int decode(byte[], byte[]);
+    method public java.nio.ByteBuffer decode(java.nio.ByteBuffer);
+    method public java.io.InputStream wrap(java.io.InputStream);
+  }
+
+  public static class Base64.Encoder {
+    method public byte[] encode(byte[]);
+    method public int encode(byte[], byte[]);
+    method public java.nio.ByteBuffer encode(java.nio.ByteBuffer);
+    method public String encodeToString(byte[]);
+    method public java.util.Base64.Encoder withoutPadding();
+    method public java.io.OutputStream wrap(java.io.OutputStream);
+  }
+
+  public class BitSet implements java.lang.Cloneable java.io.Serializable {
+    ctor public BitSet();
+    ctor public BitSet(int);
+    method public void and(java.util.BitSet);
+    method public void andNot(java.util.BitSet);
+    method public int cardinality();
+    method public void clear(int);
+    method public void clear(int, int);
+    method public void clear();
+    method public Object clone();
+    method public void flip(int);
+    method public void flip(int, int);
+    method public boolean get(int);
+    method public java.util.BitSet get(int, int);
+    method public boolean intersects(java.util.BitSet);
+    method public boolean isEmpty();
+    method public int length();
+    method public int nextClearBit(int);
+    method public int nextSetBit(int);
+    method public void or(java.util.BitSet);
+    method public int previousClearBit(int);
+    method public int previousSetBit(int);
+    method public void set(int);
+    method public void set(int, boolean);
+    method public void set(int, int);
+    method public void set(int, int, boolean);
+    method public int size();
+    method public java.util.stream.IntStream stream();
+    method public byte[] toByteArray();
+    method public long[] toLongArray();
+    method public static java.util.BitSet valueOf(long[]);
+    method public static java.util.BitSet valueOf(java.nio.LongBuffer);
+    method public static java.util.BitSet valueOf(byte[]);
+    method public static java.util.BitSet valueOf(java.nio.ByteBuffer);
+    method public void xor(java.util.BitSet);
+  }
+
+  public abstract class Calendar implements java.lang.Cloneable java.lang.Comparable<java.util.Calendar> java.io.Serializable {
+    ctor protected Calendar();
+    ctor protected Calendar(@NonNull java.util.TimeZone, @NonNull java.util.Locale);
+    method public abstract void add(int, int);
+    method public boolean after(@Nullable Object);
+    method public boolean before(@Nullable Object);
+    method public final void clear();
+    method public final void clear(int);
+    method @NonNull public Object clone();
+    method public int compareTo(@NonNull java.util.Calendar);
+    method protected void complete();
+    method protected abstract void computeFields();
+    method protected abstract void computeTime();
+    method public int get(int);
+    method public int getActualMaximum(int);
+    method public int getActualMinimum(int);
+    method @NonNull public static java.util.Set<java.lang.String> getAvailableCalendarTypes();
+    method @NonNull public static java.util.Locale[] getAvailableLocales();
+    method @NonNull public String getCalendarType();
+    method @Nullable public String getDisplayName(int, int, @NonNull java.util.Locale);
+    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDisplayNames(int, int, @NonNull java.util.Locale);
+    method public int getFirstDayOfWeek();
+    method public abstract int getGreatestMinimum(int);
+    method @NonNull public static java.util.Calendar getInstance();
+    method @NonNull public static java.util.Calendar getInstance(@NonNull java.util.TimeZone);
+    method @NonNull public static java.util.Calendar getInstance(@NonNull java.util.Locale);
+    method @NonNull public static java.util.Calendar getInstance(@NonNull java.util.TimeZone, @NonNull java.util.Locale);
+    method public abstract int getLeastMaximum(int);
+    method public abstract int getMaximum(int);
+    method public int getMinimalDaysInFirstWeek();
+    method public abstract int getMinimum(int);
+    method @NonNull public final java.util.Date getTime();
+    method public long getTimeInMillis();
+    method @NonNull public java.util.TimeZone getTimeZone();
+    method public int getWeekYear();
+    method public int getWeeksInWeekYear();
+    method protected final int internalGet(int);
+    method public boolean isLenient();
+    method public final boolean isSet(int);
+    method public boolean isWeekDateSupported();
+    method public abstract void roll(int, boolean);
+    method public void roll(int, int);
+    method public void set(int, int);
+    method public final void set(int, int, int);
+    method public final void set(int, int, int, int, int);
+    method public final void set(int, int, int, int, int, int);
+    method public void setFirstDayOfWeek(int);
+    method public void setLenient(boolean);
+    method public void setMinimalDaysInFirstWeek(int);
+    method public final void setTime(@NonNull java.util.Date);
+    method public void setTimeInMillis(long);
+    method public void setTimeZone(@NonNull java.util.TimeZone);
+    method public void setWeekDate(int, int, int);
+    method @NonNull public final java.time.Instant toInstant();
+    field public static final int ALL_STYLES = 0; // 0x0
+    field public static final int AM = 0; // 0x0
+    field public static final int AM_PM = 9; // 0x9
+    field public static final int APRIL = 3; // 0x3
+    field public static final int AUGUST = 7; // 0x7
+    field public static final int DATE = 5; // 0x5
+    field public static final int DAY_OF_MONTH = 5; // 0x5
+    field public static final int DAY_OF_WEEK = 7; // 0x7
+    field public static final int DAY_OF_WEEK_IN_MONTH = 8; // 0x8
+    field public static final int DAY_OF_YEAR = 6; // 0x6
+    field public static final int DECEMBER = 11; // 0xb
+    field public static final int DST_OFFSET = 16; // 0x10
+    field public static final int ERA = 0; // 0x0
+    field public static final int FEBRUARY = 1; // 0x1
+    field public static final int FIELD_COUNT = 17; // 0x11
+    field public static final int FRIDAY = 6; // 0x6
+    field public static final int HOUR = 10; // 0xa
+    field public static final int HOUR_OF_DAY = 11; // 0xb
+    field public static final int JANUARY = 0; // 0x0
+    field public static final int JULY = 6; // 0x6
+    field public static final int JUNE = 5; // 0x5
+    field public static final int LONG = 2; // 0x2
+    field public static final int LONG_FORMAT = 2; // 0x2
+    field public static final int LONG_STANDALONE = 32770; // 0x8002
+    field public static final int MARCH = 2; // 0x2
+    field public static final int MAY = 4; // 0x4
+    field public static final int MILLISECOND = 14; // 0xe
+    field public static final int MINUTE = 12; // 0xc
+    field public static final int MONDAY = 2; // 0x2
+    field public static final int MONTH = 2; // 0x2
+    field public static final int NARROW_FORMAT = 4; // 0x4
+    field public static final int NARROW_STANDALONE = 32772; // 0x8004
+    field public static final int NOVEMBER = 10; // 0xa
+    field public static final int OCTOBER = 9; // 0x9
+    field public static final int PM = 1; // 0x1
+    field public static final int SATURDAY = 7; // 0x7
+    field public static final int SECOND = 13; // 0xd
+    field public static final int SEPTEMBER = 8; // 0x8
+    field public static final int SHORT = 1; // 0x1
+    field public static final int SHORT_FORMAT = 1; // 0x1
+    field public static final int SHORT_STANDALONE = 32769; // 0x8001
+    field public static final int SUNDAY = 1; // 0x1
+    field public static final int THURSDAY = 5; // 0x5
+    field public static final int TUESDAY = 3; // 0x3
+    field public static final int UNDECIMBER = 12; // 0xc
+    field public static final int WEDNESDAY = 4; // 0x4
+    field public static final int WEEK_OF_MONTH = 4; // 0x4
+    field public static final int WEEK_OF_YEAR = 3; // 0x3
+    field public static final int YEAR = 1; // 0x1
+    field public static final int ZONE_OFFSET = 15; // 0xf
+    field protected boolean areFieldsSet;
+    field @NonNull protected int[] fields;
+    field @NonNull protected boolean[] isSet;
+    field protected boolean isTimeSet;
+    field protected long time;
+  }
+
+  public static class Calendar.Builder {
+    ctor public Calendar.Builder();
+    method @NonNull public java.util.Calendar build();
+    method @NonNull public java.util.Calendar.Builder set(int, int);
+    method @NonNull public java.util.Calendar.Builder setCalendarType(@NonNull String);
+    method @NonNull public java.util.Calendar.Builder setDate(int, int, int);
+    method @NonNull public java.util.Calendar.Builder setFields(@NonNull int...);
+    method @NonNull public java.util.Calendar.Builder setInstant(long);
+    method @NonNull public java.util.Calendar.Builder setInstant(@NonNull java.util.Date);
+    method @NonNull public java.util.Calendar.Builder setLenient(boolean);
+    method @NonNull public java.util.Calendar.Builder setLocale(@NonNull java.util.Locale);
+    method @NonNull public java.util.Calendar.Builder setTimeOfDay(int, int, int);
+    method @NonNull public java.util.Calendar.Builder setTimeOfDay(int, int, int, int);
+    method @NonNull public java.util.Calendar.Builder setTimeZone(@NonNull java.util.TimeZone);
+    method @NonNull public java.util.Calendar.Builder setWeekDate(int, int, int);
+    method @NonNull public java.util.Calendar.Builder setWeekDefinition(int, int);
+  }
+
+  public interface Collection<E> extends java.lang.Iterable<E> {
+    method public boolean add(E);
+    method public boolean addAll(@NonNull java.util.Collection<? extends E>);
+    method public void clear();
+    method public boolean contains(@Nullable Object);
+    method public boolean containsAll(@NonNull java.util.Collection<?>);
+    method public boolean equals(@Nullable Object);
+    method public int hashCode();
+    method public boolean isEmpty();
+    method @NonNull public java.util.Iterator<E> iterator();
+    method @NonNull public default java.util.stream.Stream<E> parallelStream();
+    method public boolean remove(@Nullable Object);
+    method public boolean removeAll(@NonNull java.util.Collection<?>);
+    method public default boolean removeIf(@NonNull java.util.function.Predicate<? super E>);
+    method public boolean retainAll(@NonNull java.util.Collection<?>);
+    method public int size();
+    method @NonNull public default java.util.Spliterator<E> spliterator();
+    method @NonNull public default java.util.stream.Stream<E> stream();
+    method @NonNull public Object[] toArray();
+    method @NonNull public <T> T[] toArray(@NonNull T[]);
+  }
+
+  public class Collections {
+    method @java.lang.SafeVarargs public static <T> boolean addAll(@NonNull java.util.Collection<? super T>, @NonNull T...);
+    method @NonNull public static <T> java.util.Queue<T> asLifoQueue(@NonNull java.util.Deque<T>);
+    method public static <T> int binarySearch(@NonNull java.util.List<? extends java.lang.Comparable<? super T>>, @NonNull T);
+    method public static <T> int binarySearch(@NonNull java.util.List<? extends T>, T, @Nullable java.util.Comparator<? super T>);
+    method @NonNull public static <E> java.util.Collection<E> checkedCollection(@NonNull java.util.Collection<E>, @NonNull Class<E>);
+    method @NonNull public static <E> java.util.List<E> checkedList(@NonNull java.util.List<E>, @NonNull Class<E>);
+    method @NonNull public static <K, V> java.util.Map<K,V> checkedMap(@NonNull java.util.Map<K,V>, @NonNull Class<K>, @NonNull Class<V>);
+    method @NonNull public static <K, V> java.util.NavigableMap<K,V> checkedNavigableMap(@NonNull java.util.NavigableMap<K,V>, @NonNull Class<K>, @NonNull Class<V>);
+    method @NonNull public static <E> java.util.NavigableSet<E> checkedNavigableSet(@NonNull java.util.NavigableSet<E>, @NonNull Class<E>);
+    method @NonNull public static <E> java.util.Queue<E> checkedQueue(@NonNull java.util.Queue<E>, @NonNull Class<E>);
+    method @NonNull public static <E> java.util.Set<E> checkedSet(@NonNull java.util.Set<E>, @NonNull Class<E>);
+    method @NonNull public static <K, V> java.util.SortedMap<K,V> checkedSortedMap(@NonNull java.util.SortedMap<K,V>, @NonNull Class<K>, @NonNull Class<V>);
+    method @NonNull public static <E> java.util.SortedSet<E> checkedSortedSet(@NonNull java.util.SortedSet<E>, @NonNull Class<E>);
+    method public static <T> void copy(@NonNull java.util.List<? super T>, @NonNull java.util.List<? extends T>);
+    method public static boolean disjoint(@NonNull java.util.Collection<?>, @NonNull java.util.Collection<?>);
+    method @NonNull public static <T> java.util.Enumeration<T> emptyEnumeration();
+    method @NonNull public static <T> java.util.Iterator<T> emptyIterator();
+    method @NonNull public static final <T> java.util.List<T> emptyList();
+    method @NonNull public static <T> java.util.ListIterator<T> emptyListIterator();
+    method @NonNull public static final <K, V> java.util.Map<K,V> emptyMap();
+    method @NonNull public static final <K, V> java.util.NavigableMap<K,V> emptyNavigableMap();
+    method @NonNull public static <E> java.util.NavigableSet<E> emptyNavigableSet();
+    method @NonNull public static final <T> java.util.Set<T> emptySet();
+    method @NonNull public static final <K, V> java.util.SortedMap<K,V> emptySortedMap();
+    method @NonNull public static <E> java.util.SortedSet<E> emptySortedSet();
+    method @NonNull public static <T> java.util.Enumeration<T> enumeration(@NonNull java.util.Collection<T>);
+    method public static <T> void fill(@NonNull java.util.List<? super T>, T);
+    method public static int frequency(@NonNull java.util.Collection<?>, @Nullable Object);
+    method public static int indexOfSubList(@NonNull java.util.List<?>, @NonNull java.util.List<?>);
+    method public static int lastIndexOfSubList(@NonNull java.util.List<?>, @NonNull java.util.List<?>);
+    method @NonNull public static <T> java.util.ArrayList<T> list(@NonNull java.util.Enumeration<T>);
+    method @NonNull public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T max(@NonNull java.util.Collection<? extends T>);
+    method public static <T> T max(@NonNull java.util.Collection<? extends T>, @Nullable java.util.Comparator<? super T>);
+    method @NonNull public static <T extends java.lang.Object & java.lang.Comparable<? super T>> T min(@NonNull java.util.Collection<? extends T>);
+    method public static <T> T min(@NonNull java.util.Collection<? extends T>, @Nullable java.util.Comparator<? super T>);
+    method @NonNull public static <T> java.util.List<T> nCopies(int, T);
+    method @NonNull public static <E> java.util.Set<E> newSetFromMap(@NonNull java.util.Map<E,java.lang.Boolean>);
+    method public static <T> boolean replaceAll(@NonNull java.util.List<T>, T, T);
+    method public static void reverse(@NonNull java.util.List<?>);
+    method @NonNull public static <T> java.util.Comparator<T> reverseOrder();
+    method @NonNull public static <T> java.util.Comparator<T> reverseOrder(@Nullable java.util.Comparator<T>);
+    method public static void rotate(@NonNull java.util.List<?>, int);
+    method public static void shuffle(@NonNull java.util.List<?>);
+    method public static void shuffle(@NonNull java.util.List<?>, @NonNull java.util.Random);
+    method @NonNull public static <T> java.util.Set<T> singleton(T);
+    method @NonNull public static <T> java.util.List<T> singletonList(T);
+    method @NonNull public static <K, V> java.util.Map<K,V> singletonMap(K, V);
+    method public static <T extends java.lang.Comparable<? super T>> void sort(@NonNull java.util.List<T>);
+    method public static <T> void sort(@NonNull java.util.List<T>, @Nullable java.util.Comparator<? super T>);
+    method public static void swap(@NonNull java.util.List<?>, int, int);
+    method @NonNull public static <T> java.util.Collection<T> synchronizedCollection(@NonNull java.util.Collection<T>);
+    method @NonNull public static <T> java.util.List<T> synchronizedList(@NonNull java.util.List<T>);
+    method @NonNull public static <K, V> java.util.Map<K,V> synchronizedMap(@NonNull java.util.Map<K,V>);
+    method @NonNull public static <K, V> java.util.NavigableMap<K,V> synchronizedNavigableMap(@NonNull java.util.NavigableMap<K,V>);
+    method @NonNull public static <T> java.util.NavigableSet<T> synchronizedNavigableSet(@NonNull java.util.NavigableSet<T>);
+    method @NonNull public static <T> java.util.Set<T> synchronizedSet(@NonNull java.util.Set<T>);
+    method @NonNull public static <K, V> java.util.SortedMap<K,V> synchronizedSortedMap(@NonNull java.util.SortedMap<K,V>);
+    method @NonNull public static <T> java.util.SortedSet<T> synchronizedSortedSet(@NonNull java.util.SortedSet<T>);
+    method @NonNull public static <T> java.util.Collection<T> unmodifiableCollection(@NonNull java.util.Collection<? extends T>);
+    method @NonNull public static <T> java.util.List<T> unmodifiableList(@NonNull java.util.List<? extends T>);
+    method @NonNull public static <K, V> java.util.Map<K,V> unmodifiableMap(@NonNull java.util.Map<? extends K,? extends V>);
+    method @NonNull public static <K, V> java.util.NavigableMap<K,V> unmodifiableNavigableMap(@NonNull java.util.NavigableMap<K,? extends V>);
+    method @NonNull public static <T> java.util.NavigableSet<T> unmodifiableNavigableSet(@NonNull java.util.NavigableSet<T>);
+    method @NonNull public static <T> java.util.Set<T> unmodifiableSet(@NonNull java.util.Set<? extends T>);
+    method @NonNull public static <K, V> java.util.SortedMap<K,V> unmodifiableSortedMap(@NonNull java.util.SortedMap<K,? extends V>);
+    method @NonNull public static <T> java.util.SortedSet<T> unmodifiableSortedSet(@NonNull java.util.SortedSet<T>);
+    field @NonNull public static final java.util.List EMPTY_LIST;
+    field @NonNull public static final java.util.Map EMPTY_MAP;
+    field @NonNull public static final java.util.Set EMPTY_SET;
+  }
+
+  @java.lang.FunctionalInterface public interface Comparator<T> {
+    method public int compare(T, T);
+    method public static <T, U> java.util.Comparator<T> comparing(java.util.function.Function<? super T,? extends U>, java.util.Comparator<? super U>);
+    method public static <T, U extends java.lang.Comparable<? super U>> java.util.Comparator<T> comparing(java.util.function.Function<? super T,? extends U>);
+    method public static <T> java.util.Comparator<T> comparingDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public static <T> java.util.Comparator<T> comparingInt(java.util.function.ToIntFunction<? super T>);
+    method public static <T> java.util.Comparator<T> comparingLong(java.util.function.ToLongFunction<? super T>);
+    method public boolean equals(Object);
+    method public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> naturalOrder();
+    method public static <T> java.util.Comparator<T> nullsFirst(java.util.Comparator<? super T>);
+    method public static <T> java.util.Comparator<T> nullsLast(java.util.Comparator<? super T>);
+    method public static <T extends java.lang.Comparable<? super T>> java.util.Comparator<T> reverseOrder();
+    method public default java.util.Comparator<T> reversed();
+    method public default java.util.Comparator<T> thenComparing(java.util.Comparator<? super T>);
+    method public default <U> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T,? extends U>, java.util.Comparator<? super U>);
+    method public default <U extends java.lang.Comparable<? super U>> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T,? extends U>);
+    method public default java.util.Comparator<T> thenComparingDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public default java.util.Comparator<T> thenComparingInt(java.util.function.ToIntFunction<? super T>);
+    method public default java.util.Comparator<T> thenComparingLong(java.util.function.ToLongFunction<? super T>);
+  }
+
+  public class ConcurrentModificationException extends java.lang.RuntimeException {
+    ctor public ConcurrentModificationException();
+    ctor public ConcurrentModificationException(String);
+    ctor public ConcurrentModificationException(Throwable);
+    ctor public ConcurrentModificationException(String, Throwable);
+  }
+
+  public final class Currency implements java.io.Serializable {
+    method public static java.util.Set<java.util.Currency> getAvailableCurrencies();
+    method public String getCurrencyCode();
+    method public int getDefaultFractionDigits();
+    method public String getDisplayName();
+    method public String getDisplayName(java.util.Locale);
+    method public static java.util.Currency getInstance(String);
+    method public static java.util.Currency getInstance(java.util.Locale);
+    method public int getNumericCode();
+    method public String getSymbol();
+    method public String getSymbol(java.util.Locale);
+  }
+
+  public class Date implements java.lang.Cloneable java.lang.Comparable<java.util.Date> java.io.Serializable {
+    ctor public Date();
+    ctor public Date(long);
+    ctor @Deprecated public Date(int, int, int);
+    ctor @Deprecated public Date(int, int, int, int, int);
+    ctor @Deprecated public Date(int, int, int, int, int, int);
+    ctor @Deprecated public Date(String);
+    method @Deprecated public static long UTC(int, int, int, int, int, int);
+    method public boolean after(java.util.Date);
+    method public boolean before(java.util.Date);
+    method public Object clone();
+    method public int compareTo(java.util.Date);
+    method public static java.util.Date from(java.time.Instant);
+    method @Deprecated public int getDate();
+    method @Deprecated public int getDay();
+    method @Deprecated public int getHours();
+    method @Deprecated public int getMinutes();
+    method @Deprecated public int getMonth();
+    method @Deprecated public int getSeconds();
+    method public long getTime();
+    method @Deprecated public int getTimezoneOffset();
+    method @Deprecated public int getYear();
+    method @Deprecated public static long parse(String);
+    method @Deprecated public void setDate(int);
+    method @Deprecated public void setHours(int);
+    method @Deprecated public void setMinutes(int);
+    method @Deprecated public void setMonth(int);
+    method @Deprecated public void setSeconds(int);
+    method public void setTime(long);
+    method @Deprecated public void setYear(int);
+    method @Deprecated public String toGMTString();
+    method public java.time.Instant toInstant();
+    method @Deprecated public String toLocaleString();
+  }
+
+  public interface Deque<E> extends java.util.Queue<E> {
+    method public void addFirst(E);
+    method public void addLast(E);
+    method @NonNull public java.util.Iterator<E> descendingIterator();
+    method public E getFirst();
+    method public E getLast();
+    method public boolean offerFirst(E);
+    method public boolean offerLast(E);
+    method @Nullable public E peekFirst();
+    method @Nullable public E peekLast();
+    method @Nullable public E pollFirst();
+    method @Nullable public E pollLast();
+    method public E pop();
+    method public void push(E);
+    method public E removeFirst();
+    method public boolean removeFirstOccurrence(@Nullable Object);
+    method public E removeLast();
+    method public boolean removeLastOccurrence(@Nullable Object);
+  }
+
+  public abstract class Dictionary<K, V> {
+    ctor public Dictionary();
+    method public abstract java.util.Enumeration<V> elements();
+    method public abstract V get(Object);
+    method public abstract boolean isEmpty();
+    method public abstract java.util.Enumeration<K> keys();
+    method public abstract V put(K, V);
+    method public abstract V remove(Object);
+    method public abstract int size();
+  }
+
+  public class DoubleSummaryStatistics implements java.util.function.DoubleConsumer {
+    ctor public DoubleSummaryStatistics();
+    method public void accept(double);
+    method public void combine(java.util.DoubleSummaryStatistics);
+    method public final double getAverage();
+    method public final long getCount();
+    method public final double getMax();
+    method public final double getMin();
+    method public final double getSum();
+  }
+
+  public class DuplicateFormatFlagsException extends java.util.IllegalFormatException {
+    ctor public DuplicateFormatFlagsException(String);
+    method public String getFlags();
+  }
+
+  public class EmptyStackException extends java.lang.RuntimeException {
+    ctor public EmptyStackException();
+  }
+
+  public class EnumMap<K extends java.lang.Enum<K>, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.io.Serializable {
+    ctor public EnumMap(Class<K>);
+    ctor public EnumMap(java.util.EnumMap<K,? extends V>);
+    ctor public EnumMap(java.util.Map<K,? extends V>);
+    method public java.util.EnumMap<K,V> clone();
+    method public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+  }
+
+  public abstract class EnumSet<E extends java.lang.Enum<E>> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.io.Serializable {
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> allOf(Class<E>);
+    method public java.util.EnumSet<E> clone();
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> complementOf(java.util.EnumSet<E>);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.EnumSet<E>);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> copyOf(java.util.Collection<E>);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> noneOf(Class<E>);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E, E, E, E);
+    method @java.lang.SafeVarargs public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> of(E, E...);
+    method public static <E extends java.lang.Enum<E>> java.util.EnumSet<E> range(E, E);
+  }
+
+  public interface Enumeration<E> {
+    method public boolean hasMoreElements();
+    method public E nextElement();
+  }
+
+  public interface EventListener {
+  }
+
+  public abstract class EventListenerProxy<T extends java.util.EventListener> implements java.util.EventListener {
+    ctor public EventListenerProxy(T);
+    method public T getListener();
+  }
+
+  public class EventObject implements java.io.Serializable {
+    ctor public EventObject(Object);
+    method public Object getSource();
+    field protected transient Object source;
+  }
+
+  public class FormatFlagsConversionMismatchException extends java.util.IllegalFormatException {
+    ctor public FormatFlagsConversionMismatchException(String, char);
+    method public char getConversion();
+    method public String getFlags();
+  }
+
+  public interface Formattable {
+    method public void formatTo(java.util.Formatter, int, int, int);
+  }
+
+  public class FormattableFlags {
+    field public static final int ALTERNATE = 4; // 0x4
+    field public static final int LEFT_JUSTIFY = 1; // 0x1
+    field public static final int UPPERCASE = 2; // 0x2
+  }
+
+  public final class Formatter implements java.io.Closeable java.io.Flushable {
+    ctor public Formatter();
+    ctor public Formatter(Appendable);
+    ctor public Formatter(java.util.Locale);
+    ctor public Formatter(Appendable, java.util.Locale);
+    ctor public Formatter(String) throws java.io.FileNotFoundException;
+    ctor public Formatter(String, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public Formatter(String, String, java.util.Locale) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public Formatter(java.io.File) throws java.io.FileNotFoundException;
+    ctor public Formatter(java.io.File, String) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public Formatter(java.io.File, String, java.util.Locale) throws java.io.FileNotFoundException, java.io.UnsupportedEncodingException;
+    ctor public Formatter(java.io.PrintStream);
+    ctor public Formatter(java.io.OutputStream);
+    ctor public Formatter(java.io.OutputStream, String) throws java.io.UnsupportedEncodingException;
+    ctor public Formatter(java.io.OutputStream, String, java.util.Locale) throws java.io.UnsupportedEncodingException;
+    method public void close();
+    method public void flush();
+    method public java.util.Formatter format(String, java.lang.Object...);
+    method public java.util.Formatter format(java.util.Locale, String, java.lang.Object...);
+    method public java.io.IOException ioException();
+    method public java.util.Locale locale();
+    method public Appendable out();
+  }
+
+  public enum Formatter.BigDecimalLayoutForm {
+    enum_constant public static final java.util.Formatter.BigDecimalLayoutForm DECIMAL_FLOAT;
+    enum_constant public static final java.util.Formatter.BigDecimalLayoutForm SCIENTIFIC;
+  }
+
+  public class FormatterClosedException extends java.lang.IllegalStateException {
+    ctor public FormatterClosedException();
+  }
+
+  public class GregorianCalendar extends java.util.Calendar {
+    ctor public GregorianCalendar();
+    ctor public GregorianCalendar(java.util.TimeZone);
+    ctor public GregorianCalendar(java.util.Locale);
+    ctor public GregorianCalendar(java.util.TimeZone, java.util.Locale);
+    ctor public GregorianCalendar(int, int, int);
+    ctor public GregorianCalendar(int, int, int, int, int);
+    ctor public GregorianCalendar(int, int, int, int, int, int);
+    method public void add(int, int);
+    method protected void computeFields();
+    method protected void computeTime();
+    method public static java.util.GregorianCalendar from(java.time.ZonedDateTime);
+    method public int getGreatestMinimum(int);
+    method public final java.util.Date getGregorianChange();
+    method public int getLeastMaximum(int);
+    method public int getMaximum(int);
+    method public int getMinimum(int);
+    method public boolean isLeapYear(int);
+    method public final boolean isWeekDateSupported();
+    method public void roll(int, boolean);
+    method public void setGregorianChange(java.util.Date);
+    method public java.time.ZonedDateTime toZonedDateTime();
+    field public static final int AD = 1; // 0x1
+    field public static final int BC = 0; // 0x0
+  }
+
+  public class HashMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.Map<K,V> java.io.Serializable {
+    ctor public HashMap(int, float);
+    ctor public HashMap(int);
+    ctor public HashMap();
+    ctor public HashMap(@NonNull java.util.Map<? extends K,? extends V>);
+    method @NonNull public Object clone();
+    method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+  }
+
+  public class HashSet<E> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.io.Serializable java.util.Set<E> {
+    ctor public HashSet();
+    ctor public HashSet(@NonNull java.util.Collection<? extends E>);
+    ctor public HashSet(int, float);
+    ctor public HashSet(int);
+    method @NonNull public Object clone();
+    method @NonNull public java.util.Iterator<E> iterator();
+    method public int size();
+  }
+
+  public class Hashtable<K, V> extends java.util.Dictionary<K,V> implements java.lang.Cloneable java.util.Map<K,V> java.io.Serializable {
+    ctor public Hashtable(int, float);
+    ctor public Hashtable(int);
+    ctor public Hashtable();
+    ctor public Hashtable(java.util.Map<? extends K,? extends V>);
+    method public void clear();
+    method public Object clone();
+    method public boolean contains(Object);
+    method public boolean containsKey(Object);
+    method public boolean containsValue(Object);
+    method public java.util.Enumeration<V> elements();
+    method public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method public V get(Object);
+    method public boolean isEmpty();
+    method public java.util.Set<K> keySet();
+    method public java.util.Enumeration<K> keys();
+    method public V put(K, V);
+    method public void putAll(java.util.Map<? extends K,? extends V>);
+    method protected void rehash();
+    method public V remove(Object);
+    method public int size();
+    method public java.util.Collection<V> values();
+  }
+
+  public class IdentityHashMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.Map<K,V> java.io.Serializable {
+    ctor public IdentityHashMap();
+    ctor public IdentityHashMap(int);
+    ctor public IdentityHashMap(java.util.Map<? extends K,? extends V>);
+    method public Object clone();
+    method public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+  }
+
+  public class IllegalFormatCodePointException extends java.util.IllegalFormatException {
+    ctor public IllegalFormatCodePointException(int);
+    method public int getCodePoint();
+  }
+
+  public class IllegalFormatConversionException extends java.util.IllegalFormatException {
+    ctor public IllegalFormatConversionException(char, Class<?>);
+    method public Class<?> getArgumentClass();
+    method public char getConversion();
+  }
+
+  public class IllegalFormatException extends java.lang.IllegalArgumentException {
+  }
+
+  public class IllegalFormatFlagsException extends java.util.IllegalFormatException {
+    ctor public IllegalFormatFlagsException(String);
+    method public String getFlags();
+  }
+
+  public class IllegalFormatPrecisionException extends java.util.IllegalFormatException {
+    ctor public IllegalFormatPrecisionException(int);
+    method public int getPrecision();
+  }
+
+  public class IllegalFormatWidthException extends java.util.IllegalFormatException {
+    ctor public IllegalFormatWidthException(int);
+    method public int getWidth();
+  }
+
+  public class IllformedLocaleException extends java.lang.RuntimeException {
+    ctor public IllformedLocaleException();
+    ctor public IllformedLocaleException(String);
+    ctor public IllformedLocaleException(String, int);
+    method public int getErrorIndex();
+  }
+
+  public class InputMismatchException extends java.util.NoSuchElementException {
+    ctor public InputMismatchException();
+    ctor public InputMismatchException(String);
+  }
+
+  public class IntSummaryStatistics implements java.util.function.IntConsumer {
+    ctor public IntSummaryStatistics();
+    method public void accept(int);
+    method public void combine(java.util.IntSummaryStatistics);
+    method public final double getAverage();
+    method public final long getCount();
+    method public final int getMax();
+    method public final int getMin();
+    method public final long getSum();
+  }
+
+  public class InvalidPropertiesFormatException extends java.io.IOException {
+    ctor public InvalidPropertiesFormatException(Throwable);
+    ctor public InvalidPropertiesFormatException(String);
+  }
+
+  public interface Iterator<E> {
+    method public default void forEachRemaining(@NonNull java.util.function.Consumer<? super E>);
+    method public boolean hasNext();
+    method public E next();
+    method public default void remove();
+  }
+
+  public class LinkedHashMap<K, V> extends java.util.HashMap<K,V> implements java.util.Map<K,V> {
+    ctor public LinkedHashMap(int, float);
+    ctor public LinkedHashMap(int);
+    ctor public LinkedHashMap();
+    ctor public LinkedHashMap(java.util.Map<? extends K,? extends V>);
+    ctor public LinkedHashMap(int, float, boolean);
+    method protected boolean removeEldestEntry(java.util.Map.Entry<K,V>);
+  }
+
+  public class LinkedHashSet<E> extends java.util.HashSet<E> implements java.lang.Cloneable java.io.Serializable java.util.Set<E> {
+    ctor public LinkedHashSet(int, float);
+    ctor public LinkedHashSet(int);
+    ctor public LinkedHashSet();
+    ctor public LinkedHashSet(java.util.Collection<? extends E>);
+  }
+
+  public class LinkedList<E> extends java.util.AbstractSequentialList<E> implements java.lang.Cloneable java.util.Deque<E> java.util.List<E> java.io.Serializable {
+    ctor public LinkedList();
+    ctor public LinkedList(@NonNull java.util.Collection<? extends E>);
+    method public void addFirst(E);
+    method public void addLast(E);
+    method @NonNull public Object clone();
+    method @NonNull public java.util.Iterator<E> descendingIterator();
+    method public E element();
+    method public E getFirst();
+    method public E getLast();
+    method public boolean offer(E);
+    method public boolean offerFirst(E);
+    method public boolean offerLast(E);
+    method @Nullable public E peek();
+    method @Nullable public E peekFirst();
+    method @Nullable public E peekLast();
+    method @Nullable public E poll();
+    method @Nullable public E pollFirst();
+    method @Nullable public E pollLast();
+    method public E pop();
+    method public void push(E);
+    method public E remove();
+    method public E removeFirst();
+    method public boolean removeFirstOccurrence(@Nullable Object);
+    method public E removeLast();
+    method public boolean removeLastOccurrence(@Nullable Object);
+    method public int size();
+  }
+
+  public interface List<E> extends java.util.Collection<E> {
+    method public void add(int, E);
+    method public boolean addAll(int, @NonNull java.util.Collection<? extends E>);
+    method @NonNull public static <E> java.util.List<E> copyOf(@NonNull java.util.Collection<? extends E>);
+    method public E get(int);
+    method public int indexOf(@Nullable Object);
+    method public int lastIndexOf(@Nullable Object);
+    method @NonNull public java.util.ListIterator<E> listIterator();
+    method @NonNull public java.util.ListIterator<E> listIterator(int);
+    method @NonNull public static <E> java.util.List<E> of();
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.List<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull @java.lang.SafeVarargs public static <E> java.util.List<E> of(@NonNull E...);
+    method public E remove(int);
+    method public default void replaceAll(@NonNull java.util.function.UnaryOperator<E>);
+    method public E set(int, E);
+    method public default void sort(@Nullable java.util.Comparator<? super E>);
+    method @NonNull public java.util.List<E> subList(int, int);
+  }
+
+  public interface ListIterator<E> extends java.util.Iterator<E> {
+    method public void add(E);
+    method public boolean hasPrevious();
+    method public int nextIndex();
+    method public E previous();
+    method public int previousIndex();
+    method public void remove();
+    method public void set(E);
+  }
+
+  public abstract class ListResourceBundle extends java.util.ResourceBundle {
+    ctor public ListResourceBundle();
+    method protected abstract Object[][] getContents();
+    method public java.util.Enumeration<java.lang.String> getKeys();
+    method public final Object handleGetObject(String);
+  }
+
+  public final class Locale implements java.lang.Cloneable java.io.Serializable {
+    ctor public Locale(@NonNull String, @NonNull String, @NonNull String);
+    ctor public Locale(@NonNull String, @NonNull String);
+    ctor public Locale(@NonNull String);
+    method @NonNull public Object clone();
+    method @NonNull public static java.util.List<java.util.Locale> filter(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.util.Locale>, @NonNull java.util.Locale.FilteringMode);
+    method @NonNull public static java.util.List<java.util.Locale> filter(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.util.Locale>);
+    method @NonNull public static java.util.List<java.lang.String> filterTags(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.lang.String>, @NonNull java.util.Locale.FilteringMode);
+    method @NonNull public static java.util.List<java.lang.String> filterTags(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public static java.util.Locale forLanguageTag(@NonNull String);
+    method @NonNull public static java.util.Locale[] getAvailableLocales();
+    method @NonNull public String getCountry();
+    method @NonNull public static java.util.Locale getDefault();
+    method @NonNull public static java.util.Locale getDefault(@NonNull java.util.Locale.Category);
+    method @NonNull public String getDisplayCountry();
+    method @NonNull public String getDisplayCountry(@NonNull java.util.Locale);
+    method @NonNull public String getDisplayLanguage();
+    method @NonNull public String getDisplayLanguage(@NonNull java.util.Locale);
+    method @NonNull public String getDisplayName();
+    method @NonNull public String getDisplayName(@NonNull java.util.Locale);
+    method @NonNull public String getDisplayScript();
+    method @NonNull public String getDisplayScript(@NonNull java.util.Locale);
+    method @NonNull public String getDisplayVariant();
+    method @NonNull public String getDisplayVariant(@NonNull java.util.Locale);
+    method @Nullable public String getExtension(char);
+    method @NonNull public java.util.Set<java.lang.Character> getExtensionKeys();
+    method @NonNull public String getISO3Country() throws java.util.MissingResourceException;
+    method @NonNull public String getISO3Language() throws java.util.MissingResourceException;
+    method @NonNull public static String[] getISOCountries();
+    method @NonNull public static String[] getISOLanguages();
+    method @NonNull public String getLanguage();
+    method @NonNull public String getScript();
+    method @NonNull public java.util.Set<java.lang.String> getUnicodeLocaleAttributes();
+    method @NonNull public java.util.Set<java.lang.String> getUnicodeLocaleKeys();
+    method @Nullable public String getUnicodeLocaleType(@NonNull String);
+    method @NonNull public String getVariant();
+    method public boolean hasExtensions();
+    method @Nullable public static java.util.Locale lookup(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.util.Locale>);
+    method @Nullable public static String lookupTag(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Collection<java.lang.String>);
+    method public static void setDefault(@NonNull java.util.Locale);
+    method public static void setDefault(@NonNull java.util.Locale.Category, @NonNull java.util.Locale);
+    method @NonNull public java.util.Locale stripExtensions();
+    method @NonNull public String toLanguageTag();
+    field @NonNull public static final java.util.Locale CANADA;
+    field @NonNull public static final java.util.Locale CANADA_FRENCH;
+    field @NonNull public static final java.util.Locale CHINA;
+    field @NonNull public static final java.util.Locale CHINESE;
+    field @NonNull public static final java.util.Locale ENGLISH;
+    field @NonNull public static final java.util.Locale FRANCE;
+    field @NonNull public static final java.util.Locale FRENCH;
+    field @NonNull public static final java.util.Locale GERMAN;
+    field @NonNull public static final java.util.Locale GERMANY;
+    field @NonNull public static final java.util.Locale ITALIAN;
+    field @NonNull public static final java.util.Locale ITALY;
+    field @NonNull public static final java.util.Locale JAPAN;
+    field @NonNull public static final java.util.Locale JAPANESE;
+    field @NonNull public static final java.util.Locale KOREA;
+    field @NonNull public static final java.util.Locale KOREAN;
+    field @NonNull public static final java.util.Locale PRC;
+    field public static final char PRIVATE_USE_EXTENSION = 120; // 0x0078 'x'
+    field @NonNull public static final java.util.Locale ROOT;
+    field @NonNull public static final java.util.Locale SIMPLIFIED_CHINESE;
+    field @NonNull public static final java.util.Locale TAIWAN;
+    field @NonNull public static final java.util.Locale TRADITIONAL_CHINESE;
+    field @NonNull public static final java.util.Locale UK;
+    field public static final char UNICODE_LOCALE_EXTENSION = 117; // 0x0075 'u'
+    field @NonNull public static final java.util.Locale US;
+  }
+
+  public static final class Locale.Builder {
+    ctor public Locale.Builder();
+    method @NonNull public java.util.Locale.Builder addUnicodeLocaleAttribute(@NonNull String);
+    method @NonNull public java.util.Locale build();
+    method @NonNull public java.util.Locale.Builder clear();
+    method @NonNull public java.util.Locale.Builder clearExtensions();
+    method @NonNull public java.util.Locale.Builder removeUnicodeLocaleAttribute(@NonNull String);
+    method @NonNull public java.util.Locale.Builder setExtension(char, @Nullable String);
+    method @NonNull public java.util.Locale.Builder setLanguage(@Nullable String);
+    method @NonNull public java.util.Locale.Builder setLanguageTag(@NonNull String);
+    method @NonNull public java.util.Locale.Builder setLocale(@NonNull java.util.Locale);
+    method @NonNull public java.util.Locale.Builder setRegion(@Nullable String);
+    method @NonNull public java.util.Locale.Builder setScript(@Nullable String);
+    method @NonNull public java.util.Locale.Builder setUnicodeLocaleKeyword(@NonNull String, @Nullable String);
+    method @NonNull public java.util.Locale.Builder setVariant(@Nullable String);
+  }
+
+  public enum Locale.Category {
+    enum_constant public static final java.util.Locale.Category DISPLAY;
+    enum_constant public static final java.util.Locale.Category FORMAT;
+  }
+
+  public enum Locale.FilteringMode {
+    enum_constant public static final java.util.Locale.FilteringMode AUTOSELECT_FILTERING;
+    enum_constant public static final java.util.Locale.FilteringMode EXTENDED_FILTERING;
+    enum_constant public static final java.util.Locale.FilteringMode IGNORE_EXTENDED_RANGES;
+    enum_constant public static final java.util.Locale.FilteringMode MAP_EXTENDED_RANGES;
+    enum_constant public static final java.util.Locale.FilteringMode REJECT_EXTENDED_RANGES;
+  }
+
+  public static final class Locale.LanguageRange {
+    ctor public Locale.LanguageRange(@NonNull String);
+    ctor public Locale.LanguageRange(@NonNull String, double);
+    method @NonNull public String getRange();
+    method public double getWeight();
+    method @NonNull public static java.util.List<java.util.Locale.LanguageRange> mapEquivalents(@NonNull java.util.List<java.util.Locale.LanguageRange>, @NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
+    method @NonNull public static java.util.List<java.util.Locale.LanguageRange> parse(@NonNull String);
+    method @NonNull public static java.util.List<java.util.Locale.LanguageRange> parse(@NonNull String, @NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
+    field public static final double MAX_WEIGHT = 1.0;
+    field public static final double MIN_WEIGHT = 0.0;
+  }
+
+  public class LongSummaryStatistics implements java.util.function.IntConsumer java.util.function.LongConsumer {
+    ctor public LongSummaryStatistics();
+    method public void accept(int);
+    method public void accept(long);
+    method public void combine(java.util.LongSummaryStatistics);
+    method public final double getAverage();
+    method public final long getCount();
+    method public final long getMax();
+    method public final long getMin();
+    method public final long getSum();
+  }
+
+  public interface Map<K, V> {
+    method public void clear();
+    method @Nullable public default V compute(K, @NonNull java.util.function.BiFunction<? super K,? super V,? extends V>);
+    method @Nullable public default V computeIfAbsent(K, @NonNull java.util.function.Function<? super K,? extends V>);
+    method @Nullable public default V computeIfPresent(K, @NonNull java.util.function.BiFunction<? super K,? super V,? extends V>);
+    method public boolean containsKey(@Nullable Object);
+    method public boolean containsValue(@Nullable Object);
+    method @NonNull public static <K, V> java.util.Map<K,V> copyOf(@NonNull java.util.Map<? extends K,? extends V>);
+    method @NonNull public static <K, V> java.util.Map.Entry<K,V> entry(@NonNull K, @NonNull V);
+    method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method public boolean equals(@Nullable Object);
+    method public default void forEach(@NonNull java.util.function.BiConsumer<? super K,? super V>);
+    method @Nullable public V get(@Nullable Object);
+    method @Nullable public default V getOrDefault(@Nullable Object, @Nullable V);
+    method public int hashCode();
+    method public boolean isEmpty();
+    method @NonNull public java.util.Set<K> keySet();
+    method @Nullable public default V merge(K, @NonNull V, @NonNull java.util.function.BiFunction<? super V,? super V,? extends V>);
+    method @NonNull public static <K, V> java.util.Map<K,V> of();
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull public static <K, V> java.util.Map<K,V> of(@NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V, @NonNull K, @NonNull V);
+    method @NonNull @java.lang.SafeVarargs public static <K, V> java.util.Map<K,V> ofEntries(@NonNull java.util.Map.Entry<? extends K,? extends V>...);
+    method @Nullable public V put(K, V);
+    method public void putAll(@NonNull java.util.Map<? extends K,? extends V>);
+    method @Nullable public default V putIfAbsent(K, V);
+    method @Nullable public V remove(@Nullable Object);
+    method public default boolean remove(@Nullable Object, @Nullable Object);
+    method public default boolean replace(K, @Nullable V, V);
+    method @Nullable public default V replace(K, V);
+    method public default void replaceAll(@NonNull java.util.function.BiFunction<? super K,? super V,? extends V>);
+    method public int size();
+    method @NonNull public java.util.Collection<V> values();
+  }
+
+  public static interface Map.Entry<K, V> {
+    method @NonNull public static <K extends java.lang.Comparable<? super K>, V> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByKey();
+    method @NonNull public static <K, V> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByKey(@NonNull java.util.Comparator<? super K>);
+    method @NonNull public static <K, V extends java.lang.Comparable<? super V>> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByValue();
+    method @NonNull public static <K, V> java.util.Comparator<java.util.Map.Entry<K,V>> comparingByValue(@NonNull java.util.Comparator<? super V>);
+    method public boolean equals(@Nullable Object);
+    method public K getKey();
+    method public V getValue();
+    method public int hashCode();
+    method public V setValue(V);
+  }
+
+  public class MissingFormatArgumentException extends java.util.IllegalFormatException {
+    ctor public MissingFormatArgumentException(String);
+    method public String getFormatSpecifier();
+  }
+
+  public class MissingFormatWidthException extends java.util.IllegalFormatException {
+    ctor public MissingFormatWidthException(String);
+    method public String getFormatSpecifier();
+  }
+
+  public class MissingResourceException extends java.lang.RuntimeException {
+    ctor public MissingResourceException(String, String, String);
+    method public String getClassName();
+    method public String getKey();
+  }
+
+  public interface NavigableMap<K, V> extends java.util.SortedMap<K,V> {
+    method @Nullable public java.util.Map.Entry<K,V> ceilingEntry(K);
+    method @Nullable public K ceilingKey(K);
+    method @NonNull public java.util.NavigableSet<K> descendingKeySet();
+    method @NonNull public java.util.NavigableMap<K,V> descendingMap();
+    method @Nullable public java.util.Map.Entry<K,V> firstEntry();
+    method @Nullable public java.util.Map.Entry<K,V> floorEntry(K);
+    method @Nullable public K floorKey(K);
+    method @NonNull public java.util.NavigableMap<K,V> headMap(K, boolean);
+    method @Nullable public java.util.Map.Entry<K,V> higherEntry(K);
+    method @Nullable public K higherKey(K);
+    method @Nullable public java.util.Map.Entry<K,V> lastEntry();
+    method @Nullable public java.util.Map.Entry<K,V> lowerEntry(K);
+    method @Nullable public K lowerKey(K);
+    method @NonNull public java.util.NavigableSet<K> navigableKeySet();
+    method @Nullable public java.util.Map.Entry<K,V> pollFirstEntry();
+    method @Nullable public java.util.Map.Entry<K,V> pollLastEntry();
+    method @NonNull public java.util.NavigableMap<K,V> subMap(K, boolean, K, boolean);
+    method @NonNull public java.util.NavigableMap<K,V> tailMap(K, boolean);
+  }
+
+  public interface NavigableSet<E> extends java.util.SortedSet<E> {
+    method public E ceiling(E);
+    method public java.util.Iterator<E> descendingIterator();
+    method public java.util.NavigableSet<E> descendingSet();
+    method public E floor(E);
+    method public java.util.NavigableSet<E> headSet(E, boolean);
+    method public E higher(E);
+    method public E lower(E);
+    method public E pollFirst();
+    method public E pollLast();
+    method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean);
+    method public java.util.NavigableSet<E> tailSet(E, boolean);
+  }
+
+  public class NoSuchElementException extends java.lang.RuntimeException {
+    ctor public NoSuchElementException();
+    ctor public NoSuchElementException(String);
+  }
+
+  public final class Objects {
+    method public static int checkFromIndexSize(int, int, int);
+    method public static int checkFromToIndex(int, int, int);
+    method public static int checkIndex(int, int);
+    method public static <T> int compare(T, T, @NonNull java.util.Comparator<? super T>);
+    method public static boolean deepEquals(@Nullable Object, @Nullable Object);
+    method public static boolean equals(@Nullable Object, @Nullable Object);
+    method public static int hash(@Nullable java.lang.Object...);
+    method public static int hashCode(@Nullable Object);
+    method public static boolean isNull(@Nullable Object);
+    method public static boolean nonNull(@Nullable Object);
+    method @NonNull public static <T> T requireNonNull(@Nullable T);
+    method @NonNull public static <T> T requireNonNull(@Nullable T, @NonNull String);
+    method @NonNull public static <T> T requireNonNull(@Nullable T, @NonNull java.util.function.Supplier<java.lang.String>);
+    method @NonNull public static <T> T requireNonNullElse(@Nullable T, @NonNull T);
+    method @NonNull public static <T> T requireNonNullElseGet(@Nullable T, @NonNull java.util.function.Supplier<? extends T>);
+    method @NonNull public static String toString(@Nullable Object);
+    method @NonNull public static String toString(@Nullable Object, @NonNull String);
+  }
+
+  public class Observable {
+    ctor public Observable();
+    method public void addObserver(java.util.Observer);
+    method protected void clearChanged();
+    method public int countObservers();
+    method public void deleteObserver(java.util.Observer);
+    method public void deleteObservers();
+    method public boolean hasChanged();
+    method public void notifyObservers();
+    method public void notifyObservers(Object);
+    method protected void setChanged();
+  }
+
+  public interface Observer {
+    method public void update(java.util.Observable, Object);
+  }
+
+  public final class Optional<T> {
+    method public static <T> java.util.Optional<T> empty();
+    method public java.util.Optional<T> filter(java.util.function.Predicate<? super T>);
+    method public <U> java.util.Optional<U> flatMap(java.util.function.Function<? super T,java.util.Optional<U>>);
+    method public T get();
+    method public void ifPresent(java.util.function.Consumer<? super T>);
+    method public boolean isPresent();
+    method public <U> java.util.Optional<U> map(java.util.function.Function<? super T,? extends U>);
+    method public static <T> java.util.Optional<T> of(T);
+    method public static <T> java.util.Optional<T> ofNullable(T);
+    method public T orElse(T);
+    method public T orElseGet(java.util.function.Supplier<? extends T>);
+    method public <X extends java.lang.Throwable> T orElseThrow(java.util.function.Supplier<? extends X>) throws X;
+  }
+
+  public final class OptionalDouble {
+    method public static java.util.OptionalDouble empty();
+    method public double getAsDouble();
+    method public void ifPresent(java.util.function.DoubleConsumer);
+    method public boolean isPresent();
+    method public static java.util.OptionalDouble of(double);
+    method public double orElse(double);
+    method public double orElseGet(java.util.function.DoubleSupplier);
+    method public <X extends java.lang.Throwable> double orElseThrow(java.util.function.Supplier<X>) throws X;
+  }
+
+  public final class OptionalInt {
+    method public static java.util.OptionalInt empty();
+    method public int getAsInt();
+    method public void ifPresent(java.util.function.IntConsumer);
+    method public boolean isPresent();
+    method public static java.util.OptionalInt of(int);
+    method public int orElse(int);
+    method public int orElseGet(java.util.function.IntSupplier);
+    method public <X extends java.lang.Throwable> int orElseThrow(java.util.function.Supplier<X>) throws X;
+  }
+
+  public final class OptionalLong {
+    method public static java.util.OptionalLong empty();
+    method public long getAsLong();
+    method public void ifPresent(java.util.function.LongConsumer);
+    method public boolean isPresent();
+    method public static java.util.OptionalLong of(long);
+    method public long orElse(long);
+    method public long orElseGet(java.util.function.LongSupplier);
+    method public <X extends java.lang.Throwable> long orElseThrow(java.util.function.Supplier<X>) throws X;
+  }
+
+  public interface PrimitiveIterator<T, T_CONS> extends java.util.Iterator<T> {
+    method public void forEachRemaining(T_CONS);
+  }
+
+  public static interface PrimitiveIterator.OfDouble extends java.util.PrimitiveIterator<java.lang.Double,java.util.function.DoubleConsumer> {
+    method public default void forEachRemaining(java.util.function.DoubleConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Double>);
+    method public default Double next();
+    method public double nextDouble();
+  }
+
+  public static interface PrimitiveIterator.OfInt extends java.util.PrimitiveIterator<java.lang.Integer,java.util.function.IntConsumer> {
+    method public default void forEachRemaining(java.util.function.IntConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Integer>);
+    method public default Integer next();
+    method public int nextInt();
+  }
+
+  public static interface PrimitiveIterator.OfLong extends java.util.PrimitiveIterator<java.lang.Long,java.util.function.LongConsumer> {
+    method public default void forEachRemaining(java.util.function.LongConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Long>);
+    method public default Long next();
+    method public long nextLong();
+  }
+
+  public class PriorityQueue<E> extends java.util.AbstractQueue<E> implements java.io.Serializable {
+    ctor public PriorityQueue();
+    ctor public PriorityQueue(int);
+    ctor public PriorityQueue(java.util.Comparator<? super E>);
+    ctor public PriorityQueue(int, java.util.Comparator<? super E>);
+    ctor public PriorityQueue(java.util.Collection<? extends E>);
+    ctor public PriorityQueue(java.util.PriorityQueue<? extends E>);
+    ctor public PriorityQueue(java.util.SortedSet<? extends E>);
+    method public java.util.Comparator<? super E> comparator();
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public E peek();
+    method public E poll();
+    method public int size();
+    method public final java.util.Spliterator<E> spliterator();
+  }
+
+  public class Properties extends java.util.Hashtable<java.lang.Object,java.lang.Object> {
+    ctor public Properties();
+    ctor public Properties(java.util.Properties);
+    method public String getProperty(String);
+    method public String getProperty(String, String);
+    method public void list(java.io.PrintStream);
+    method public void list(java.io.PrintWriter);
+    method public void load(java.io.Reader) throws java.io.IOException;
+    method public void load(java.io.InputStream) throws java.io.IOException;
+    method public void loadFromXML(java.io.InputStream) throws java.io.IOException, java.util.InvalidPropertiesFormatException;
+    method public java.util.Enumeration<?> propertyNames();
+    method @Deprecated public void save(java.io.OutputStream, String);
+    method public Object setProperty(String, String);
+    method public void store(java.io.Writer, String) throws java.io.IOException;
+    method public void store(java.io.OutputStream, String) throws java.io.IOException;
+    method public void storeToXML(java.io.OutputStream, String) throws java.io.IOException;
+    method public void storeToXML(java.io.OutputStream, String, String) throws java.io.IOException;
+    method public java.util.Set<java.lang.String> stringPropertyNames();
+    field protected java.util.Properties defaults;
+  }
+
+  public final class PropertyPermission extends java.security.BasicPermission {
+    ctor public PropertyPermission(String, String);
+  }
+
+  public class PropertyResourceBundle extends java.util.ResourceBundle {
+    ctor public PropertyResourceBundle(java.io.InputStream) throws java.io.IOException;
+    ctor public PropertyResourceBundle(java.io.Reader) throws java.io.IOException;
+    method public java.util.Enumeration<java.lang.String> getKeys();
+    method public Object handleGetObject(String);
+  }
+
+  public interface Queue<E> extends java.util.Collection<E> {
+    method public E element();
+    method public boolean offer(E);
+    method @Nullable public E peek();
+    method @Nullable public E poll();
+    method public E remove();
+  }
+
+  public class Random implements java.io.Serializable {
+    ctor public Random();
+    ctor public Random(long);
+    method public java.util.stream.DoubleStream doubles(long);
+    method public java.util.stream.DoubleStream doubles();
+    method public java.util.stream.DoubleStream doubles(long, double, double);
+    method public java.util.stream.DoubleStream doubles(double, double);
+    method public java.util.stream.IntStream ints(long);
+    method public java.util.stream.IntStream ints();
+    method public java.util.stream.IntStream ints(long, int, int);
+    method public java.util.stream.IntStream ints(int, int);
+    method public java.util.stream.LongStream longs(long);
+    method public java.util.stream.LongStream longs();
+    method public java.util.stream.LongStream longs(long, long, long);
+    method public java.util.stream.LongStream longs(long, long);
+    method protected int next(int);
+    method public boolean nextBoolean();
+    method public void nextBytes(byte[]);
+    method public double nextDouble();
+    method public float nextFloat();
+    method public double nextGaussian();
+    method public int nextInt();
+    method public int nextInt(int);
+    method public long nextLong();
+    method public void setSeed(long);
+  }
+
+  public interface RandomAccess {
+  }
+
+  public abstract class ResourceBundle {
+    ctor public ResourceBundle();
+    method public static final void clearCache();
+    method public static final void clearCache(ClassLoader);
+    method public boolean containsKey(String);
+    method public String getBaseBundleName();
+    method public static final java.util.ResourceBundle getBundle(String);
+    method public static final java.util.ResourceBundle getBundle(String, java.util.ResourceBundle.Control);
+    method public static final java.util.ResourceBundle getBundle(String, java.util.Locale);
+    method public static final java.util.ResourceBundle getBundle(String, java.util.Locale, java.util.ResourceBundle.Control);
+    method public static java.util.ResourceBundle getBundle(String, java.util.Locale, ClassLoader);
+    method public static java.util.ResourceBundle getBundle(String, java.util.Locale, ClassLoader, java.util.ResourceBundle.Control);
+    method public abstract java.util.Enumeration<java.lang.String> getKeys();
+    method public java.util.Locale getLocale();
+    method public final Object getObject(String);
+    method public final String getString(String);
+    method public final String[] getStringArray(String);
+    method protected abstract Object handleGetObject(String);
+    method protected java.util.Set<java.lang.String> handleKeySet();
+    method public java.util.Set<java.lang.String> keySet();
+    method protected void setParent(java.util.ResourceBundle);
+    field protected java.util.ResourceBundle parent;
+  }
+
+  public static class ResourceBundle.Control {
+    ctor protected ResourceBundle.Control();
+    method public java.util.List<java.util.Locale> getCandidateLocales(String, java.util.Locale);
+    method public static final java.util.ResourceBundle.Control getControl(java.util.List<java.lang.String>);
+    method public java.util.Locale getFallbackLocale(String, java.util.Locale);
+    method public java.util.List<java.lang.String> getFormats(String);
+    method public static final java.util.ResourceBundle.Control getNoFallbackControl(java.util.List<java.lang.String>);
+    method public long getTimeToLive(String, java.util.Locale);
+    method public boolean needsReload(String, java.util.Locale, String, ClassLoader, java.util.ResourceBundle, long);
+    method public java.util.ResourceBundle newBundle(String, java.util.Locale, String, ClassLoader, boolean) throws java.io.IOException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+    method public String toBundleName(String, java.util.Locale);
+    method public final String toResourceName(String, String);
+    field public static final java.util.List<java.lang.String> FORMAT_CLASS;
+    field public static final java.util.List<java.lang.String> FORMAT_DEFAULT;
+    field public static final java.util.List<java.lang.String> FORMAT_PROPERTIES;
+    field public static final long TTL_DONT_CACHE = -1L; // 0xffffffffffffffffL
+    field public static final long TTL_NO_EXPIRATION_CONTROL = -2L; // 0xfffffffffffffffeL
+  }
+
+  public final class Scanner implements java.io.Closeable java.util.Iterator<java.lang.String> {
+    ctor public Scanner(Readable);
+    ctor public Scanner(java.io.InputStream);
+    ctor public Scanner(java.io.InputStream, String);
+    ctor public Scanner(java.io.File) throws java.io.FileNotFoundException;
+    ctor public Scanner(java.io.File, String) throws java.io.FileNotFoundException;
+    ctor public Scanner(java.nio.file.Path) throws java.io.IOException;
+    ctor public Scanner(java.nio.file.Path, String) throws java.io.IOException;
+    ctor public Scanner(String);
+    ctor public Scanner(java.nio.channels.ReadableByteChannel);
+    ctor public Scanner(java.nio.channels.ReadableByteChannel, String);
+    method public void close();
+    method public java.util.regex.Pattern delimiter();
+    method public String findInLine(String);
+    method public String findInLine(java.util.regex.Pattern);
+    method public String findWithinHorizon(String, int);
+    method public String findWithinHorizon(java.util.regex.Pattern, int);
+    method public boolean hasNext();
+    method public boolean hasNext(String);
+    method public boolean hasNext(java.util.regex.Pattern);
+    method public boolean hasNextBigDecimal();
+    method public boolean hasNextBigInteger();
+    method public boolean hasNextBigInteger(int);
+    method public boolean hasNextBoolean();
+    method public boolean hasNextByte();
+    method public boolean hasNextByte(int);
+    method public boolean hasNextDouble();
+    method public boolean hasNextFloat();
+    method public boolean hasNextInt();
+    method public boolean hasNextInt(int);
+    method public boolean hasNextLine();
+    method public boolean hasNextLong();
+    method public boolean hasNextLong(int);
+    method public boolean hasNextShort();
+    method public boolean hasNextShort(int);
+    method public java.io.IOException ioException();
+    method public java.util.Locale locale();
+    method public java.util.regex.MatchResult match();
+    method public String next();
+    method public String next(String);
+    method public String next(java.util.regex.Pattern);
+    method public java.math.BigDecimal nextBigDecimal();
+    method public java.math.BigInteger nextBigInteger();
+    method public java.math.BigInteger nextBigInteger(int);
+    method public boolean nextBoolean();
+    method public byte nextByte();
+    method public byte nextByte(int);
+    method public double nextDouble();
+    method public float nextFloat();
+    method public int nextInt();
+    method public int nextInt(int);
+    method public String nextLine();
+    method public long nextLong();
+    method public long nextLong(int);
+    method public short nextShort();
+    method public short nextShort(int);
+    method public int radix();
+    method public java.util.Scanner reset();
+    method public java.util.Scanner skip(java.util.regex.Pattern);
+    method public java.util.Scanner skip(String);
+    method public java.util.Scanner useDelimiter(java.util.regex.Pattern);
+    method public java.util.Scanner useDelimiter(String);
+    method public java.util.Scanner useLocale(java.util.Locale);
+    method public java.util.Scanner useRadix(int);
+  }
+
+  public class ServiceConfigurationError extends java.lang.Error {
+    ctor public ServiceConfigurationError(String);
+    ctor public ServiceConfigurationError(String, Throwable);
+  }
+
+  public final class ServiceLoader<S> implements java.lang.Iterable<S> {
+    method public java.util.Iterator<S> iterator();
+    method public static <S> java.util.ServiceLoader<S> load(Class<S>, ClassLoader);
+    method public static <S> java.util.ServiceLoader<S> load(Class<S>);
+    method public static <S> java.util.ServiceLoader<S> loadInstalled(Class<S>);
+    method public void reload();
+  }
+
+  public interface Set<E> extends java.util.Collection<E> {
+    method @NonNull public static <E> java.util.Set<E> copyOf(@NonNull java.util.Collection<? extends E>);
+    method @NonNull public static <E> java.util.Set<E> of();
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull public static <E> java.util.Set<E> of(@NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E, @NonNull E);
+    method @NonNull @java.lang.SafeVarargs public static <E> java.util.Set<E> of(@NonNull E...);
+  }
+
+  public class SimpleTimeZone extends java.util.TimeZone {
+    ctor public SimpleTimeZone(int, String);
+    ctor public SimpleTimeZone(int, String, int, int, int, int, int, int, int, int);
+    ctor public SimpleTimeZone(int, String, int, int, int, int, int, int, int, int, int);
+    ctor public SimpleTimeZone(int, String, int, int, int, int, int, int, int, int, int, int, int);
+    method public int getOffset(int, int, int, int, int, int);
+    method public int getRawOffset();
+    method public boolean inDaylightTime(java.util.Date);
+    method public void setDSTSavings(int);
+    method public void setEndRule(int, int, int, int);
+    method public void setEndRule(int, int, int);
+    method public void setEndRule(int, int, int, int, boolean);
+    method public void setRawOffset(int);
+    method public void setStartRule(int, int, int, int);
+    method public void setStartRule(int, int, int);
+    method public void setStartRule(int, int, int, int, boolean);
+    method public void setStartYear(int);
+    method public boolean useDaylightTime();
+    field public static final int STANDARD_TIME = 1; // 0x1
+    field public static final int UTC_TIME = 2; // 0x2
+    field public static final int WALL_TIME = 0; // 0x0
+  }
+
+  public interface SortedMap<K, V> extends java.util.Map<K,V> {
+    method @Nullable public java.util.Comparator<? super K> comparator();
+    method public K firstKey();
+    method @NonNull public java.util.SortedMap<K,V> headMap(K);
+    method public K lastKey();
+    method @NonNull public java.util.SortedMap<K,V> subMap(K, K);
+    method @NonNull public java.util.SortedMap<K,V> tailMap(K);
+  }
+
+  public interface SortedSet<E> extends java.util.Set<E> {
+    method public java.util.Comparator<? super E> comparator();
+    method public E first();
+    method public java.util.SortedSet<E> headSet(E);
+    method public E last();
+    method public java.util.SortedSet<E> subSet(E, E);
+    method public java.util.SortedSet<E> tailSet(E);
+  }
+
+  public interface Spliterator<T> {
+    method public int characteristics();
+    method public long estimateSize();
+    method public default void forEachRemaining(java.util.function.Consumer<? super T>);
+    method public default java.util.Comparator<? super T> getComparator();
+    method public default long getExactSizeIfKnown();
+    method public default boolean hasCharacteristics(int);
+    method public boolean tryAdvance(java.util.function.Consumer<? super T>);
+    method public java.util.Spliterator<T> trySplit();
+    field public static final int CONCURRENT = 4096; // 0x1000
+    field public static final int DISTINCT = 1; // 0x1
+    field public static final int IMMUTABLE = 1024; // 0x400
+    field public static final int NONNULL = 256; // 0x100
+    field public static final int ORDERED = 16; // 0x10
+    field public static final int SIZED = 64; // 0x40
+    field public static final int SORTED = 4; // 0x4
+    field public static final int SUBSIZED = 16384; // 0x4000
+  }
+
+  public static interface Spliterator.OfDouble extends java.util.Spliterator.OfPrimitive<java.lang.Double,java.util.function.DoubleConsumer,java.util.Spliterator.OfDouble> {
+    method public default void forEachRemaining(java.util.function.DoubleConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Double>);
+    method public boolean tryAdvance(java.util.function.DoubleConsumer);
+    method public default boolean tryAdvance(java.util.function.Consumer<? super java.lang.Double>);
+    method public java.util.Spliterator.OfDouble trySplit();
+  }
+
+  public static interface Spliterator.OfInt extends java.util.Spliterator.OfPrimitive<java.lang.Integer,java.util.function.IntConsumer,java.util.Spliterator.OfInt> {
+    method public default void forEachRemaining(java.util.function.IntConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Integer>);
+    method public boolean tryAdvance(java.util.function.IntConsumer);
+    method public default boolean tryAdvance(java.util.function.Consumer<? super java.lang.Integer>);
+    method public java.util.Spliterator.OfInt trySplit();
+  }
+
+  public static interface Spliterator.OfLong extends java.util.Spliterator.OfPrimitive<java.lang.Long,java.util.function.LongConsumer,java.util.Spliterator.OfLong> {
+    method public default void forEachRemaining(java.util.function.LongConsumer);
+    method public default void forEachRemaining(java.util.function.Consumer<? super java.lang.Long>);
+    method public boolean tryAdvance(java.util.function.LongConsumer);
+    method public default boolean tryAdvance(java.util.function.Consumer<? super java.lang.Long>);
+    method public java.util.Spliterator.OfLong trySplit();
+  }
+
+  public static interface Spliterator.OfPrimitive<T, T_CONS, T_SPLITR extends java.util.Spliterator.OfPrimitive<T, T_CONS, T_SPLITR>> extends java.util.Spliterator<T> {
+    method public default void forEachRemaining(T_CONS);
+    method public boolean tryAdvance(T_CONS);
+    method public T_SPLITR trySplit();
+  }
+
+  public final class Spliterators {
+    method public static java.util.Spliterator.OfDouble emptyDoubleSpliterator();
+    method public static java.util.Spliterator.OfInt emptyIntSpliterator();
+    method public static java.util.Spliterator.OfLong emptyLongSpliterator();
+    method public static <T> java.util.Spliterator<T> emptySpliterator();
+    method public static <T> java.util.Iterator<T> iterator(java.util.Spliterator<? extends T>);
+    method public static java.util.PrimitiveIterator.OfInt iterator(java.util.Spliterator.OfInt);
+    method public static java.util.PrimitiveIterator.OfLong iterator(java.util.Spliterator.OfLong);
+    method public static java.util.PrimitiveIterator.OfDouble iterator(java.util.Spliterator.OfDouble);
+    method public static <T> java.util.Spliterator<T> spliterator(Object[], int);
+    method public static <T> java.util.Spliterator<T> spliterator(Object[], int, int, int);
+    method public static java.util.Spliterator.OfInt spliterator(int[], int);
+    method public static java.util.Spliterator.OfInt spliterator(int[], int, int, int);
+    method public static java.util.Spliterator.OfLong spliterator(long[], int);
+    method public static java.util.Spliterator.OfLong spliterator(long[], int, int, int);
+    method public static java.util.Spliterator.OfDouble spliterator(double[], int);
+    method public static java.util.Spliterator.OfDouble spliterator(double[], int, int, int);
+    method public static <T> java.util.Spliterator<T> spliterator(java.util.Collection<? extends T>, int);
+    method public static <T> java.util.Spliterator<T> spliterator(java.util.Iterator<? extends T>, long, int);
+    method public static java.util.Spliterator.OfInt spliterator(java.util.PrimitiveIterator.OfInt, long, int);
+    method public static java.util.Spliterator.OfLong spliterator(java.util.PrimitiveIterator.OfLong, long, int);
+    method public static java.util.Spliterator.OfDouble spliterator(java.util.PrimitiveIterator.OfDouble, long, int);
+    method public static <T> java.util.Spliterator<T> spliteratorUnknownSize(java.util.Iterator<? extends T>, int);
+    method public static java.util.Spliterator.OfInt spliteratorUnknownSize(java.util.PrimitiveIterator.OfInt, int);
+    method public static java.util.Spliterator.OfLong spliteratorUnknownSize(java.util.PrimitiveIterator.OfLong, int);
+    method public static java.util.Spliterator.OfDouble spliteratorUnknownSize(java.util.PrimitiveIterator.OfDouble, int);
+  }
+
+  public abstract static class Spliterators.AbstractDoubleSpliterator implements java.util.Spliterator.OfDouble {
+    ctor protected Spliterators.AbstractDoubleSpliterator(long, int);
+    method public int characteristics();
+    method public long estimateSize();
+    method public java.util.Spliterator.OfDouble trySplit();
+  }
+
+  public abstract static class Spliterators.AbstractIntSpliterator implements java.util.Spliterator.OfInt {
+    ctor protected Spliterators.AbstractIntSpliterator(long, int);
+    method public int characteristics();
+    method public long estimateSize();
+    method public java.util.Spliterator.OfInt trySplit();
+  }
+
+  public abstract static class Spliterators.AbstractLongSpliterator implements java.util.Spliterator.OfLong {
+    ctor protected Spliterators.AbstractLongSpliterator(long, int);
+    method public int characteristics();
+    method public long estimateSize();
+    method public java.util.Spliterator.OfLong trySplit();
+  }
+
+  public abstract static class Spliterators.AbstractSpliterator<T> implements java.util.Spliterator<T> {
+    ctor protected Spliterators.AbstractSpliterator(long, int);
+    method public int characteristics();
+    method public long estimateSize();
+    method public java.util.Spliterator<T> trySplit();
+  }
+
+  public final class SplittableRandom {
+    ctor public SplittableRandom(long);
+    ctor public SplittableRandom();
+    method public java.util.stream.DoubleStream doubles(long);
+    method public java.util.stream.DoubleStream doubles();
+    method public java.util.stream.DoubleStream doubles(long, double, double);
+    method public java.util.stream.DoubleStream doubles(double, double);
+    method public java.util.stream.IntStream ints(long);
+    method public java.util.stream.IntStream ints();
+    method public java.util.stream.IntStream ints(long, int, int);
+    method public java.util.stream.IntStream ints(int, int);
+    method public java.util.stream.LongStream longs(long);
+    method public java.util.stream.LongStream longs();
+    method public java.util.stream.LongStream longs(long, long, long);
+    method public java.util.stream.LongStream longs(long, long);
+    method public boolean nextBoolean();
+    method public double nextDouble();
+    method public double nextDouble(double);
+    method public double nextDouble(double, double);
+    method public int nextInt();
+    method public int nextInt(int);
+    method public int nextInt(int, int);
+    method public long nextLong();
+    method public long nextLong(long);
+    method public long nextLong(long, long);
+    method public java.util.SplittableRandom split();
+  }
+
+  public class Stack<E> extends java.util.Vector<E> {
+    ctor public Stack();
+    method public boolean empty();
+    method public E peek();
+    method public E pop();
+    method public E push(E);
+    method public int search(Object);
+  }
+
+  public final class StringJoiner {
+    ctor public StringJoiner(CharSequence);
+    ctor public StringJoiner(CharSequence, CharSequence, CharSequence);
+    method public java.util.StringJoiner add(CharSequence);
+    method public int length();
+    method public java.util.StringJoiner merge(java.util.StringJoiner);
+    method public java.util.StringJoiner setEmptyValue(CharSequence);
+  }
+
+  public class StringTokenizer implements java.util.Enumeration<java.lang.Object> {
+    ctor public StringTokenizer(String, String, boolean);
+    ctor public StringTokenizer(String, String);
+    ctor public StringTokenizer(String);
+    method public int countTokens();
+    method public boolean hasMoreElements();
+    method public boolean hasMoreTokens();
+    method public Object nextElement();
+    method public String nextToken();
+    method public String nextToken(String);
+  }
+
+  public abstract class TimeZone implements java.lang.Cloneable java.io.Serializable {
+    ctor public TimeZone();
+    method public Object clone();
+    method public static String[] getAvailableIDs(int);
+    method public static String[] getAvailableIDs();
+    method public int getDSTSavings();
+    method public static java.util.TimeZone getDefault();
+    method public final String getDisplayName();
+    method public final String getDisplayName(java.util.Locale);
+    method public final String getDisplayName(boolean, int);
+    method public String getDisplayName(boolean, int, java.util.Locale);
+    method public String getID();
+    method public abstract int getOffset(int, int, int, int, int, int);
+    method public int getOffset(long);
+    method public abstract int getRawOffset();
+    method public static java.util.TimeZone getTimeZone(String);
+    method public static java.util.TimeZone getTimeZone(java.time.ZoneId);
+    method public boolean hasSameRules(java.util.TimeZone);
+    method public abstract boolean inDaylightTime(java.util.Date);
+    method public boolean observesDaylightTime();
+    method public static void setDefault(java.util.TimeZone);
+    method public void setID(String);
+    method public abstract void setRawOffset(int);
+    method public java.time.ZoneId toZoneId();
+    method public abstract boolean useDaylightTime();
+    field public static final int LONG = 1; // 0x1
+    field public static final int SHORT = 0; // 0x0
+  }
+
+  public class Timer {
+    ctor public Timer();
+    ctor public Timer(boolean);
+    ctor public Timer(String);
+    ctor public Timer(String, boolean);
+    method public void cancel();
+    method public int purge();
+    method public void schedule(java.util.TimerTask, long);
+    method public void schedule(java.util.TimerTask, java.util.Date);
+    method public void schedule(java.util.TimerTask, long, long);
+    method public void schedule(java.util.TimerTask, java.util.Date, long);
+    method public void scheduleAtFixedRate(java.util.TimerTask, long, long);
+    method public void scheduleAtFixedRate(java.util.TimerTask, java.util.Date, long);
+  }
+
+  public abstract class TimerTask implements java.lang.Runnable {
+    ctor protected TimerTask();
+    method public boolean cancel();
+    method public long scheduledExecutionTime();
+  }
+
+  public class TooManyListenersException extends java.lang.Exception {
+    ctor public TooManyListenersException();
+    ctor public TooManyListenersException(String);
+  }
+
+  public class TreeMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.NavigableMap<K,V> java.io.Serializable {
+    ctor public TreeMap();
+    ctor public TreeMap(@Nullable java.util.Comparator<? super K>);
+    ctor public TreeMap(@NonNull java.util.Map<? extends K,? extends V>);
+    ctor public TreeMap(@NonNull java.util.SortedMap<K,? extends V>);
+    method @Nullable public java.util.Map.Entry<K,V> ceilingEntry(K);
+    method @Nullable public K ceilingKey(K);
+    method @NonNull public Object clone();
+    method @Nullable public java.util.Comparator<? super K> comparator();
+    method @NonNull public java.util.NavigableSet<K> descendingKeySet();
+    method @NonNull public java.util.NavigableMap<K,V> descendingMap();
+    method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method @Nullable public java.util.Map.Entry<K,V> firstEntry();
+    method public K firstKey();
+    method @Nullable public java.util.Map.Entry<K,V> floorEntry(K);
+    method @Nullable public K floorKey(K);
+    method @NonNull public java.util.NavigableMap<K,V> headMap(K, boolean);
+    method @NonNull public java.util.SortedMap<K,V> headMap(K);
+    method @Nullable public java.util.Map.Entry<K,V> higherEntry(K);
+    method @Nullable public K higherKey(K);
+    method @Nullable public java.util.Map.Entry<K,V> lastEntry();
+    method public K lastKey();
+    method @Nullable public java.util.Map.Entry<K,V> lowerEntry(K);
+    method @Nullable public K lowerKey(K);
+    method @NonNull public java.util.NavigableSet<K> navigableKeySet();
+    method @Nullable public java.util.Map.Entry<K,V> pollFirstEntry();
+    method @Nullable public java.util.Map.Entry<K,V> pollLastEntry();
+    method @NonNull public java.util.NavigableMap<K,V> subMap(K, boolean, K, boolean);
+    method @NonNull public java.util.SortedMap<K,V> subMap(K, K);
+    method @NonNull public java.util.NavigableMap<K,V> tailMap(K, boolean);
+    method @NonNull public java.util.SortedMap<K,V> tailMap(K);
+  }
+
+  public class TreeSet<E> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.util.NavigableSet<E> java.io.Serializable {
+    ctor public TreeSet();
+    ctor public TreeSet(java.util.Comparator<? super E>);
+    ctor public TreeSet(java.util.Collection<? extends E>);
+    ctor public TreeSet(java.util.SortedSet<E>);
+    method public E ceiling(E);
+    method public Object clone();
+    method public java.util.Comparator<? super E> comparator();
+    method public java.util.Iterator<E> descendingIterator();
+    method public java.util.NavigableSet<E> descendingSet();
+    method public E first();
+    method public E floor(E);
+    method public java.util.NavigableSet<E> headSet(E, boolean);
+    method public java.util.SortedSet<E> headSet(E);
+    method public E higher(E);
+    method public java.util.Iterator<E> iterator();
+    method public E last();
+    method public E lower(E);
+    method public E pollFirst();
+    method public E pollLast();
+    method public int size();
+    method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean);
+    method public java.util.SortedSet<E> subSet(E, E);
+    method public java.util.NavigableSet<E> tailSet(E, boolean);
+    method public java.util.SortedSet<E> tailSet(E);
+  }
+
+  public final class UUID implements java.lang.Comparable<java.util.UUID> java.io.Serializable {
+    ctor public UUID(long, long);
+    method public int clockSequence();
+    method public int compareTo(java.util.UUID);
+    method public static java.util.UUID fromString(String);
+    method public long getLeastSignificantBits();
+    method public long getMostSignificantBits();
+    method public static java.util.UUID nameUUIDFromBytes(byte[]);
+    method public long node();
+    method public static java.util.UUID randomUUID();
+    method public long timestamp();
+    method public int variant();
+    method public int version();
+  }
+
+  public class UnknownFormatConversionException extends java.util.IllegalFormatException {
+    ctor public UnknownFormatConversionException(String);
+    method public String getConversion();
+  }
+
+  public class UnknownFormatFlagsException extends java.util.IllegalFormatException {
+    ctor public UnknownFormatFlagsException(String);
+    method public String getFlags();
+  }
+
+  public class Vector<E> extends java.util.AbstractList<E> implements java.lang.Cloneable java.util.List<E> java.util.RandomAccess java.io.Serializable {
+    ctor public Vector(int, int);
+    ctor public Vector(int);
+    ctor public Vector();
+    ctor public Vector(@NonNull java.util.Collection<? extends E>);
+    method public void addElement(E);
+    method public int capacity();
+    method @NonNull public Object clone();
+    method public void copyInto(@NonNull Object[]);
+    method public E elementAt(int);
+    method @NonNull public java.util.Enumeration<E> elements();
+    method public void ensureCapacity(int);
+    method public E firstElement();
+    method public void forEach(@NonNull java.util.function.Consumer<? super E>);
+    method public E get(int);
+    method public int indexOf(@Nullable Object, int);
+    method public void insertElementAt(E, int);
+    method public E lastElement();
+    method public int lastIndexOf(@Nullable Object, int);
+    method public void removeAllElements();
+    method public boolean removeElement(@Nullable Object);
+    method public void removeElementAt(int);
+    method public void setElementAt(E, int);
+    method public void setSize(int);
+    method public int size();
+    method public void trimToSize();
+    field protected int capacityIncrement;
+    field protected int elementCount;
+    field @NonNull protected Object[] elementData;
+  }
+
+  public class WeakHashMap<K, V> extends java.util.AbstractMap<K,V> implements java.util.Map<K,V> {
+    ctor public WeakHashMap(int, float);
+    ctor public WeakHashMap(int);
+    ctor public WeakHashMap();
+    ctor public WeakHashMap(@NonNull java.util.Map<? extends K,? extends V>);
+    method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+  }
+
+}
+
+package java.util.concurrent {
+
+  public abstract class AbstractExecutorService implements java.util.concurrent.ExecutorService {
+    ctor public AbstractExecutorService();
+    method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+    method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(Runnable, T);
+    method protected <T> java.util.concurrent.RunnableFuture<T> newTaskFor(java.util.concurrent.Callable<T>);
+    method public java.util.concurrent.Future<?> submit(Runnable);
+    method public <T> java.util.concurrent.Future<T> submit(Runnable, T);
+    method public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+  }
+
+  public class ArrayBlockingQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable {
+    ctor public ArrayBlockingQueue(int);
+    ctor public ArrayBlockingQueue(int, boolean);
+    ctor public ArrayBlockingQueue(int, boolean, java.util.Collection<? extends E>);
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E peek();
+    method public E poll();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void put(E) throws java.lang.InterruptedException;
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public interface BlockingDeque<E> extends java.util.concurrent.BlockingQueue<E> java.util.Deque<E> {
+    method public boolean offerFirst(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean offerLast(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E pollFirst(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E pollLast(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void putFirst(E) throws java.lang.InterruptedException;
+    method public void putLast(E) throws java.lang.InterruptedException;
+    method public E takeFirst() throws java.lang.InterruptedException;
+    method public E takeLast() throws java.lang.InterruptedException;
+  }
+
+  public interface BlockingQueue<E> extends java.util.Queue<E> {
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void put(E) throws java.lang.InterruptedException;
+    method public int remainingCapacity();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public class BrokenBarrierException extends java.lang.Exception {
+    ctor public BrokenBarrierException();
+    ctor public BrokenBarrierException(String);
+  }
+
+  @java.lang.FunctionalInterface public interface Callable<V> {
+    method public V call() throws java.lang.Exception;
+  }
+
+  public class CancellationException extends java.lang.IllegalStateException {
+    ctor public CancellationException();
+    ctor public CancellationException(String);
+  }
+
+  public class CompletableFuture<T> implements java.util.concurrent.CompletionStage<T> java.util.concurrent.Future<T> {
+    ctor public CompletableFuture();
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
+    method public static java.util.concurrent.CompletableFuture<java.lang.Void> allOf(java.util.concurrent.CompletableFuture<?>...);
+    method public static java.util.concurrent.CompletableFuture<java.lang.Object> anyOf(java.util.concurrent.CompletableFuture<?>...);
+    method public <U> java.util.concurrent.CompletableFuture<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>, java.util.concurrent.Executor);
+    method public boolean cancel(boolean);
+    method public boolean complete(T);
+    method public java.util.concurrent.CompletableFuture<T> completeAsync(java.util.function.Supplier<? extends T>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<T> completeAsync(java.util.function.Supplier<? extends T>);
+    method public boolean completeExceptionally(Throwable);
+    method public java.util.concurrent.CompletableFuture<T> completeOnTimeout(T, long, java.util.concurrent.TimeUnit);
+    method public static <U> java.util.concurrent.CompletableFuture<U> completedFuture(U);
+    method public static <U> java.util.concurrent.CompletionStage<U> completedStage(U);
+    method public java.util.concurrent.CompletableFuture<T> copy();
+    method public java.util.concurrent.Executor defaultExecutor();
+    method public static java.util.concurrent.Executor delayedExecutor(long, java.util.concurrent.TimeUnit, java.util.concurrent.Executor);
+    method public static java.util.concurrent.Executor delayedExecutor(long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.CompletableFuture<T> exceptionally(java.util.function.Function<java.lang.Throwable,? extends T>);
+    method public static <U> java.util.concurrent.CompletableFuture<U> failedFuture(Throwable);
+    method public static <U> java.util.concurrent.CompletionStage<U> failedStage(Throwable);
+    method public T get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public T get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public T getNow(T);
+    method public int getNumberOfDependents();
+    method public <U> java.util.concurrent.CompletableFuture<U> handle(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> handleAsync(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>, java.util.concurrent.Executor);
+    method public boolean isCancelled();
+    method public boolean isCompletedExceptionally();
+    method public boolean isDone();
+    method public T join();
+    method public java.util.concurrent.CompletionStage<T> minimalCompletionStage();
+    method public <U> java.util.concurrent.CompletableFuture<U> newIncompleteFuture();
+    method public void obtrudeException(Throwable);
+    method public void obtrudeValue(T);
+    method public java.util.concurrent.CompletableFuture<T> orTimeout(long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBoth(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEither(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor);
+    method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(Runnable);
+    method public static java.util.concurrent.CompletableFuture<java.lang.Void> runAsync(Runnable, java.util.concurrent.Executor);
+    method public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>);
+    method public static <U> java.util.concurrent.CompletableFuture<U> supplyAsync(java.util.function.Supplier<U>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>);
+    method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>);
+    method public <U> java.util.concurrent.CompletableFuture<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenApply(java.util.function.Function<? super T,? extends U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T,? extends U>);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenApplyAsync(java.util.function.Function<? super T,? extends U>, java.util.concurrent.Executor);
+    method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>);
+    method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>);
+    method public <U, V> java.util.concurrent.CompletableFuture<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenCompose(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>);
+    method public <U> java.util.concurrent.CompletableFuture<U> thenComposeAsync(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRun(Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(Runnable);
+    method public java.util.concurrent.CompletableFuture<java.lang.Void> thenRunAsync(Runnable, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<T> toCompletableFuture();
+    method public java.util.concurrent.CompletableFuture<T> whenComplete(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>);
+    method public java.util.concurrent.CompletableFuture<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>);
+    method public java.util.concurrent.CompletableFuture<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>, java.util.concurrent.Executor);
+  }
+
+  public static interface CompletableFuture.AsynchronousCompletionTask {
+  }
+
+  public class CompletionException extends java.lang.RuntimeException {
+    ctor protected CompletionException();
+    ctor protected CompletionException(String);
+    ctor public CompletionException(String, Throwable);
+    ctor public CompletionException(Throwable);
+  }
+
+  public interface CompletionService<V> {
+    method public java.util.concurrent.Future<V> poll();
+    method public java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>);
+    method public java.util.concurrent.Future<V> submit(Runnable, V);
+    method public java.util.concurrent.Future<V> take() throws java.lang.InterruptedException;
+  }
+
+  public interface CompletionStage<T> {
+    method public java.util.concurrent.CompletionStage<java.lang.Void> acceptEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> acceptEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletionStage<U> applyToEither(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>);
+    method public <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>);
+    method public <U> java.util.concurrent.CompletionStage<U> applyToEitherAsync(java.util.concurrent.CompletionStage<? extends T>, java.util.function.Function<? super T,U>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletionStage<T> exceptionally(java.util.function.Function<java.lang.Throwable,? extends T>);
+    method public <U> java.util.concurrent.CompletionStage<U> handle(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>);
+    method public <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>);
+    method public <U> java.util.concurrent.CompletionStage<U> handleAsync(java.util.function.BiFunction<? super T,java.lang.Throwable,? extends U>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterBoth(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterBothAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterEither(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> runAfterEitherAsync(java.util.concurrent.CompletionStage<?>, Runnable, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenAccept(java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptAsync(java.util.function.Consumer<? super T>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBoth(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>);
+    method public <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>);
+    method public <U> java.util.concurrent.CompletionStage<java.lang.Void> thenAcceptBothAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiConsumer<? super T,? super U>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletionStage<U> thenApply(java.util.function.Function<? super T,? extends U>);
+    method public <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T,? extends U>);
+    method public <U> java.util.concurrent.CompletionStage<U> thenApplyAsync(java.util.function.Function<? super T,? extends U>, java.util.concurrent.Executor);
+    method public <U, V> java.util.concurrent.CompletionStage<V> thenCombine(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>);
+    method public <U, V> java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>);
+    method public <U, V> java.util.concurrent.CompletionStage<V> thenCombineAsync(java.util.concurrent.CompletionStage<? extends U>, java.util.function.BiFunction<? super T,? super U,? extends V>, java.util.concurrent.Executor);
+    method public <U> java.util.concurrent.CompletionStage<U> thenCompose(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>);
+    method public <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>);
+    method public <U> java.util.concurrent.CompletionStage<U> thenComposeAsync(java.util.function.Function<? super T,? extends java.util.concurrent.CompletionStage<U>>, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenRun(Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(Runnable);
+    method public java.util.concurrent.CompletionStage<java.lang.Void> thenRunAsync(Runnable, java.util.concurrent.Executor);
+    method public java.util.concurrent.CompletableFuture<T> toCompletableFuture();
+    method public java.util.concurrent.CompletionStage<T> whenComplete(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>);
+    method public java.util.concurrent.CompletionStage<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>);
+    method public java.util.concurrent.CompletionStage<T> whenCompleteAsync(java.util.function.BiConsumer<? super T,? super java.lang.Throwable>, java.util.concurrent.Executor);
+  }
+
+  public class ConcurrentHashMap<K, V> extends java.util.AbstractMap<K,V> implements java.util.concurrent.ConcurrentMap<K,V> java.io.Serializable {
+    ctor public ConcurrentHashMap();
+    ctor public ConcurrentHashMap(int);
+    ctor public ConcurrentHashMap(@NonNull java.util.Map<? extends K,? extends V>);
+    ctor public ConcurrentHashMap(int, float);
+    ctor public ConcurrentHashMap(int, float, int);
+    method public boolean contains(@NonNull Object);
+    method @NonNull public java.util.Enumeration<V> elements();
+    method @NonNull public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method public void forEach(long, @NonNull java.util.function.BiConsumer<? super K,? super V>);
+    method public <U> void forEach(long, @NonNull java.util.function.BiFunction<? super K,? super V,? extends U>, @NonNull java.util.function.Consumer<? super U>);
+    method public void forEachEntry(long, @NonNull java.util.function.Consumer<? super java.util.Map.Entry<K,V>>);
+    method public <U> void forEachEntry(long, @NonNull java.util.function.Function<java.util.Map.Entry<K,V>,? extends U>, @NonNull java.util.function.Consumer<? super U>);
+    method public void forEachKey(long, @NonNull java.util.function.Consumer<? super K>);
+    method public <U> void forEachKey(long, @NonNull java.util.function.Function<? super K,? extends U>, @NonNull java.util.function.Consumer<? super U>);
+    method public void forEachValue(long, @NonNull java.util.function.Consumer<? super V>);
+    method public <U> void forEachValue(long, @NonNull java.util.function.Function<? super V,? extends U>, @NonNull java.util.function.Consumer<? super U>);
+    method @NonNull public java.util.concurrent.ConcurrentHashMap.KeySetView<K,V> keySet(@NonNull V);
+    method @NonNull public java.util.Enumeration<K> keys();
+    method public long mappingCount();
+    method @NonNull public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K,java.lang.Boolean> newKeySet();
+    method @NonNull public static <K> java.util.concurrent.ConcurrentHashMap.KeySetView<K,java.lang.Boolean> newKeySet(int);
+    method @Nullable public <U> U reduce(long, @NonNull java.util.function.BiFunction<? super K,? super V,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>);
+    method @Nullable public java.util.Map.Entry<K,V> reduceEntries(long, @NonNull java.util.function.BiFunction<java.util.Map.Entry<K,V>,java.util.Map.Entry<K,V>,? extends java.util.Map.Entry<K,V>>);
+    method @Nullable public <U> U reduceEntries(long, @NonNull java.util.function.Function<java.util.Map.Entry<K,V>,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>);
+    method public double reduceEntriesToDouble(long, @NonNull java.util.function.ToDoubleFunction<java.util.Map.Entry<K,V>>, double, @NonNull java.util.function.DoubleBinaryOperator);
+    method public int reduceEntriesToInt(long, @NonNull java.util.function.ToIntFunction<java.util.Map.Entry<K,V>>, int, @NonNull java.util.function.IntBinaryOperator);
+    method public long reduceEntriesToLong(long, @NonNull java.util.function.ToLongFunction<java.util.Map.Entry<K,V>>, long, @NonNull java.util.function.LongBinaryOperator);
+    method @Nullable public K reduceKeys(long, @NonNull java.util.function.BiFunction<? super K,? super K,? extends K>);
+    method @Nullable public <U> U reduceKeys(long, @NonNull java.util.function.Function<? super K,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>);
+    method public double reduceKeysToDouble(long, @NonNull java.util.function.ToDoubleFunction<? super K>, double, @NonNull java.util.function.DoubleBinaryOperator);
+    method public int reduceKeysToInt(long, @NonNull java.util.function.ToIntFunction<? super K>, int, @NonNull java.util.function.IntBinaryOperator);
+    method public long reduceKeysToLong(long, @NonNull java.util.function.ToLongFunction<? super K>, long, @NonNull java.util.function.LongBinaryOperator);
+    method public double reduceToDouble(long, @NonNull java.util.function.ToDoubleBiFunction<? super K,? super V>, double, @NonNull java.util.function.DoubleBinaryOperator);
+    method public int reduceToInt(long, @NonNull java.util.function.ToIntBiFunction<? super K,? super V>, int, @NonNull java.util.function.IntBinaryOperator);
+    method public long reduceToLong(long, @NonNull java.util.function.ToLongBiFunction<? super K,? super V>, long, @NonNull java.util.function.LongBinaryOperator);
+    method @Nullable public V reduceValues(long, @NonNull java.util.function.BiFunction<? super V,? super V,? extends V>);
+    method @Nullable public <U> U reduceValues(long, @NonNull java.util.function.Function<? super V,? extends U>, @NonNull java.util.function.BiFunction<? super U,? super U,? extends U>);
+    method public double reduceValuesToDouble(long, @NonNull java.util.function.ToDoubleFunction<? super V>, double, @NonNull java.util.function.DoubleBinaryOperator);
+    method public int reduceValuesToInt(long, @NonNull java.util.function.ToIntFunction<? super V>, int, @NonNull java.util.function.IntBinaryOperator);
+    method public long reduceValuesToLong(long, @NonNull java.util.function.ToLongFunction<? super V>, long, @NonNull java.util.function.LongBinaryOperator);
+    method @Nullable public <U> U search(long, @NonNull java.util.function.BiFunction<? super K,? super V,? extends U>);
+    method @Nullable public <U> U searchEntries(long, @NonNull java.util.function.Function<java.util.Map.Entry<K,V>,? extends U>);
+    method @Nullable public <U> U searchKeys(long, @NonNull java.util.function.Function<? super K,? extends U>);
+    method @Nullable public <U> U searchValues(long, @NonNull java.util.function.Function<? super V,? extends U>);
+  }
+
+  public static class ConcurrentHashMap.KeySetView<K, V> implements java.util.Collection<K> java.io.Serializable java.util.Set<K> {
+    method public boolean add(@NonNull K);
+    method public boolean addAll(@NonNull java.util.Collection<? extends K>);
+    method public final void clear();
+    method public boolean contains(@NonNull Object);
+    method public final boolean containsAll(@NonNull java.util.Collection<?>);
+    method public void forEach(@NonNull java.util.function.Consumer<? super K>);
+    method @NonNull public java.util.concurrent.ConcurrentHashMap<K,V> getMap();
+    method @Nullable public V getMappedValue();
+    method public final boolean isEmpty();
+    method @NonNull public java.util.Iterator<K> iterator();
+    method public boolean remove(@NonNull Object);
+    method public final boolean removeAll(@NonNull java.util.Collection<?>);
+    method public final boolean retainAll(@NonNull java.util.Collection<?>);
+    method public final int size();
+    method @NonNull public java.util.Spliterator<K> spliterator();
+    method @NonNull public final Object[] toArray();
+    method @NonNull public final <T> T[] toArray(@NonNull T[]);
+    method @NonNull public final String toString();
+  }
+
+  public class ConcurrentLinkedDeque<E> extends java.util.AbstractCollection<E> implements java.util.Deque<E> java.io.Serializable {
+    ctor public ConcurrentLinkedDeque();
+    ctor public ConcurrentLinkedDeque(java.util.Collection<? extends E>);
+    method public void addFirst(E);
+    method public void addLast(E);
+    method public java.util.Iterator<E> descendingIterator();
+    method public E element();
+    method public E getFirst();
+    method public E getLast();
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offerFirst(E);
+    method public boolean offerLast(E);
+    method public E peek();
+    method public E peekFirst();
+    method public E peekLast();
+    method public E poll();
+    method public E pollFirst();
+    method public E pollLast();
+    method public E pop();
+    method public void push(E);
+    method public E remove();
+    method public E removeFirst();
+    method public boolean removeFirstOccurrence(Object);
+    method public E removeLast();
+    method public boolean removeLastOccurrence(Object);
+    method public int size();
+  }
+
+  public class ConcurrentLinkedQueue<E> extends java.util.AbstractQueue<E> implements java.util.Queue<E> java.io.Serializable {
+    ctor public ConcurrentLinkedQueue();
+    ctor public ConcurrentLinkedQueue(java.util.Collection<? extends E>);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public E peek();
+    method public E poll();
+    method public int size();
+  }
+
+  public interface ConcurrentMap<K, V> extends java.util.Map<K,V> {
+    method public V putIfAbsent(K, V);
+    method public boolean remove(Object, Object);
+    method public boolean replace(K, V, V);
+    method public V replace(K, V);
+  }
+
+  public interface ConcurrentNavigableMap<K, V> extends java.util.concurrent.ConcurrentMap<K,V> java.util.NavigableMap<K,V> {
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> descendingMap();
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K);
+    method public java.util.NavigableSet<K> keySet();
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, boolean, K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, K);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K);
+  }
+
+  public class ConcurrentSkipListMap<K, V> extends java.util.AbstractMap<K,V> implements java.lang.Cloneable java.util.concurrent.ConcurrentNavigableMap<K,V> java.io.Serializable {
+    ctor public ConcurrentSkipListMap();
+    ctor public ConcurrentSkipListMap(java.util.Comparator<? super K>);
+    ctor public ConcurrentSkipListMap(java.util.Map<? extends K,? extends V>);
+    ctor public ConcurrentSkipListMap(java.util.SortedMap<K,? extends V>);
+    method public java.util.Map.Entry<K,V> ceilingEntry(K);
+    method public K ceilingKey(K);
+    method public java.util.concurrent.ConcurrentSkipListMap<K,V> clone();
+    method public java.util.Comparator<? super K> comparator();
+    method public java.util.NavigableSet<K> descendingKeySet();
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> descendingMap();
+    method public java.util.Set<java.util.Map.Entry<K,V>> entrySet();
+    method public java.util.Map.Entry<K,V> firstEntry();
+    method public K firstKey();
+    method public java.util.Map.Entry<K,V> floorEntry(K);
+    method public K floorKey(K);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> headMap(K);
+    method public java.util.Map.Entry<K,V> higherEntry(K);
+    method public K higherKey(K);
+    method public java.util.NavigableSet<K> keySet();
+    method public java.util.Map.Entry<K,V> lastEntry();
+    method public K lastKey();
+    method public java.util.Map.Entry<K,V> lowerEntry(K);
+    method public K lowerKey(K);
+    method public java.util.NavigableSet<K> navigableKeySet();
+    method public java.util.Map.Entry<K,V> pollFirstEntry();
+    method public java.util.Map.Entry<K,V> pollLastEntry();
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, boolean, K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> subMap(K, K);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K, boolean);
+    method public java.util.concurrent.ConcurrentNavigableMap<K,V> tailMap(K);
+  }
+
+  public class ConcurrentSkipListSet<E> extends java.util.AbstractSet<E> implements java.lang.Cloneable java.util.NavigableSet<E> java.io.Serializable {
+    ctor public ConcurrentSkipListSet();
+    ctor public ConcurrentSkipListSet(java.util.Comparator<? super E>);
+    ctor public ConcurrentSkipListSet(java.util.Collection<? extends E>);
+    ctor public ConcurrentSkipListSet(java.util.SortedSet<E>);
+    method public E ceiling(E);
+    method public java.util.concurrent.ConcurrentSkipListSet<E> clone();
+    method public java.util.Comparator<? super E> comparator();
+    method public java.util.Iterator<E> descendingIterator();
+    method public java.util.NavigableSet<E> descendingSet();
+    method public E first();
+    method public E floor(E);
+    method public java.util.NavigableSet<E> headSet(E, boolean);
+    method public java.util.NavigableSet<E> headSet(E);
+    method public E higher(E);
+    method public java.util.Iterator<E> iterator();
+    method public E last();
+    method public E lower(E);
+    method public E pollFirst();
+    method public E pollLast();
+    method public int size();
+    method public java.util.NavigableSet<E> subSet(E, boolean, E, boolean);
+    method public java.util.NavigableSet<E> subSet(E, E);
+    method public java.util.NavigableSet<E> tailSet(E, boolean);
+    method public java.util.NavigableSet<E> tailSet(E);
+  }
+
+  public class CopyOnWriteArrayList<E> implements java.lang.Cloneable java.util.List<E> java.util.RandomAccess java.io.Serializable {
+    ctor public CopyOnWriteArrayList();
+    ctor public CopyOnWriteArrayList(@NonNull java.util.Collection<? extends E>);
+    ctor public CopyOnWriteArrayList(@NonNull E[]);
+    method public boolean add(E);
+    method public void add(int, E);
+    method public boolean addAll(@NonNull java.util.Collection<? extends E>);
+    method public boolean addAll(int, @NonNull java.util.Collection<? extends E>);
+    method public int addAllAbsent(@NonNull java.util.Collection<? extends E>);
+    method public boolean addIfAbsent(E);
+    method public void clear();
+    method @NonNull public Object clone();
+    method public boolean contains(@Nullable Object);
+    method public boolean containsAll(@NonNull java.util.Collection<?>);
+    method public void forEach(@NonNull java.util.function.Consumer<? super E>);
+    method public E get(int);
+    method public int indexOf(@Nullable Object);
+    method public int indexOf(@Nullable E, int);
+    method public boolean isEmpty();
+    method @NonNull public java.util.Iterator<E> iterator();
+    method public int lastIndexOf(@Nullable Object);
+    method public int lastIndexOf(@Nullable E, int);
+    method @NonNull public java.util.ListIterator<E> listIterator();
+    method @NonNull public java.util.ListIterator<E> listIterator(int);
+    method public E remove(int);
+    method public boolean remove(@Nullable Object);
+    method public boolean removeAll(@NonNull java.util.Collection<?>);
+    method public boolean retainAll(@NonNull java.util.Collection<?>);
+    method public E set(int, E);
+    method public int size();
+    method @NonNull public java.util.List<E> subList(int, int);
+    method @NonNull public Object[] toArray();
+    method @NonNull public <T> T[] toArray(@NonNull T[]);
+  }
+
+  public class CopyOnWriteArraySet<E> extends java.util.AbstractSet<E> implements java.io.Serializable {
+    ctor public CopyOnWriteArraySet();
+    ctor public CopyOnWriteArraySet(java.util.Collection<? extends E>);
+    method public void forEach(java.util.function.Consumer<? super E>);
+    method public java.util.Iterator<E> iterator();
+    method public int size();
+  }
+
+  public class CountDownLatch {
+    ctor public CountDownLatch(int);
+    method public void await() throws java.lang.InterruptedException;
+    method public boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void countDown();
+    method public long getCount();
+  }
+
+  public abstract class CountedCompleter<T> extends java.util.concurrent.ForkJoinTask<T> {
+    ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>, int);
+    ctor protected CountedCompleter(java.util.concurrent.CountedCompleter<?>);
+    ctor protected CountedCompleter();
+    method public final void addToPendingCount(int);
+    method public final boolean compareAndSetPendingCount(int, int);
+    method public void complete(T);
+    method public abstract void compute();
+    method public final int decrementPendingCountUnlessZero();
+    method protected final boolean exec();
+    method public final java.util.concurrent.CountedCompleter<?> firstComplete();
+    method public final java.util.concurrent.CountedCompleter<?> getCompleter();
+    method public final int getPendingCount();
+    method public T getRawResult();
+    method public final java.util.concurrent.CountedCompleter<?> getRoot();
+    method public final void helpComplete(int);
+    method public final java.util.concurrent.CountedCompleter<?> nextComplete();
+    method public void onCompletion(java.util.concurrent.CountedCompleter<?>);
+    method public boolean onExceptionalCompletion(Throwable, java.util.concurrent.CountedCompleter<?>);
+    method public final void propagateCompletion();
+    method public final void quietlyCompleteRoot();
+    method public final void setPendingCount(int);
+    method protected void setRawResult(T);
+    method public final void tryComplete();
+  }
+
+  public class CyclicBarrier {
+    ctor public CyclicBarrier(int, Runnable);
+    ctor public CyclicBarrier(int);
+    method public int await() throws java.util.concurrent.BrokenBarrierException, java.lang.InterruptedException;
+    method public int await(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.BrokenBarrierException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public int getNumberWaiting();
+    method public int getParties();
+    method public boolean isBroken();
+    method public void reset();
+  }
+
+  public class DelayQueue<E extends java.util.concurrent.Delayed> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> {
+    ctor public DelayQueue();
+    ctor public DelayQueue(java.util.Collection<? extends E>);
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit);
+    method public E peek();
+    method public E poll();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void put(E);
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public interface Delayed extends java.lang.Comparable<java.util.concurrent.Delayed> {
+    method public long getDelay(java.util.concurrent.TimeUnit);
+  }
+
+  public class Exchanger<V> {
+    ctor public Exchanger();
+    method public V exchange(V) throws java.lang.InterruptedException;
+    method public V exchange(V, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+  }
+
+  public class ExecutionException extends java.lang.Exception {
+    ctor protected ExecutionException();
+    ctor protected ExecutionException(String);
+    ctor public ExecutionException(String, Throwable);
+    ctor public ExecutionException(Throwable);
+  }
+
+  public interface Executor {
+    method public void execute(Runnable);
+  }
+
+  public class ExecutorCompletionService<V> implements java.util.concurrent.CompletionService<V> {
+    ctor public ExecutorCompletionService(java.util.concurrent.Executor);
+    ctor public ExecutorCompletionService(java.util.concurrent.Executor, java.util.concurrent.BlockingQueue<java.util.concurrent.Future<V>>);
+    method public java.util.concurrent.Future<V> poll();
+    method public java.util.concurrent.Future<V> poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public java.util.concurrent.Future<V> submit(java.util.concurrent.Callable<V>);
+    method public java.util.concurrent.Future<V> submit(Runnable, V);
+    method public java.util.concurrent.Future<V> take() throws java.lang.InterruptedException;
+  }
+
+  public interface ExecutorService extends java.util.concurrent.Executor {
+    method public boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.lang.InterruptedException;
+    method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>>, long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public boolean isShutdown();
+    method public boolean isTerminated();
+    method public void shutdown();
+    method public java.util.List<java.lang.Runnable> shutdownNow();
+    method public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T>);
+    method public <T> java.util.concurrent.Future<T> submit(Runnable, T);
+    method public java.util.concurrent.Future<?> submit(Runnable);
+  }
+
+  public class Executors {
+    method public static <T> java.util.concurrent.Callable<T> callable(Runnable, T);
+    method public static java.util.concurrent.Callable<java.lang.Object> callable(Runnable);
+    method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedAction<?>);
+    method public static java.util.concurrent.Callable<java.lang.Object> callable(java.security.PrivilegedExceptionAction<?>);
+    method public static java.util.concurrent.ThreadFactory defaultThreadFactory();
+    method public static java.util.concurrent.ExecutorService newCachedThreadPool();
+    method public static java.util.concurrent.ExecutorService newCachedThreadPool(java.util.concurrent.ThreadFactory);
+    method public static java.util.concurrent.ExecutorService newFixedThreadPool(int);
+    method public static java.util.concurrent.ExecutorService newFixedThreadPool(int, java.util.concurrent.ThreadFactory);
+    method public static java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int);
+    method public static java.util.concurrent.ScheduledExecutorService newScheduledThreadPool(int, java.util.concurrent.ThreadFactory);
+    method public static java.util.concurrent.ExecutorService newSingleThreadExecutor();
+    method public static java.util.concurrent.ExecutorService newSingleThreadExecutor(java.util.concurrent.ThreadFactory);
+    method public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor();
+    method public static java.util.concurrent.ScheduledExecutorService newSingleThreadScheduledExecutor(java.util.concurrent.ThreadFactory);
+    method public static java.util.concurrent.ExecutorService newWorkStealingPool(int);
+    method public static java.util.concurrent.ExecutorService newWorkStealingPool();
+    method public static <T> java.util.concurrent.Callable<T> privilegedCallable(java.util.concurrent.Callable<T>);
+    method public static <T> java.util.concurrent.Callable<T> privilegedCallableUsingCurrentClassLoader(java.util.concurrent.Callable<T>);
+    method public static java.util.concurrent.ThreadFactory privilegedThreadFactory();
+    method public static java.util.concurrent.ExecutorService unconfigurableExecutorService(java.util.concurrent.ExecutorService);
+    method public static java.util.concurrent.ScheduledExecutorService unconfigurableScheduledExecutorService(java.util.concurrent.ScheduledExecutorService);
+  }
+
+  public final class Flow {
+    method public static int defaultBufferSize();
+  }
+
+  public static interface Flow.Processor<T, R> extends java.util.concurrent.Flow.Subscriber<T> java.util.concurrent.Flow.Publisher<R> {
+  }
+
+  @java.lang.FunctionalInterface public static interface Flow.Publisher<T> {
+    method public void subscribe(java.util.concurrent.Flow.Subscriber<? super T>);
+  }
+
+  public static interface Flow.Subscriber<T> {
+    method public void onComplete();
+    method public void onError(Throwable);
+    method public void onNext(T);
+    method public void onSubscribe(java.util.concurrent.Flow.Subscription);
+  }
+
+  public static interface Flow.Subscription {
+    method public void cancel();
+    method public void request(long);
+  }
+
+  public class ForkJoinPool extends java.util.concurrent.AbstractExecutorService {
+    ctor public ForkJoinPool();
+    ctor public ForkJoinPool(int);
+    ctor public ForkJoinPool(int, java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory, java.lang.Thread.UncaughtExceptionHandler, boolean);
+    method public boolean awaitQuiescence(long, java.util.concurrent.TimeUnit);
+    method public boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public static java.util.concurrent.ForkJoinPool commonPool();
+    method protected int drainTasksTo(java.util.Collection<? super java.util.concurrent.ForkJoinTask<?>>);
+    method public void execute(java.util.concurrent.ForkJoinTask<?>);
+    method public void execute(Runnable);
+    method public int getActiveThreadCount();
+    method public boolean getAsyncMode();
+    method public static int getCommonPoolParallelism();
+    method public java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory getFactory();
+    method public int getParallelism();
+    method public int getPoolSize();
+    method public int getQueuedSubmissionCount();
+    method public long getQueuedTaskCount();
+    method public int getRunningThreadCount();
+    method public long getStealCount();
+    method public java.lang.Thread.UncaughtExceptionHandler getUncaughtExceptionHandler();
+    method public boolean hasQueuedSubmissions();
+    method public <T> T invoke(java.util.concurrent.ForkJoinTask<T>);
+    method public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>>);
+    method public boolean isQuiescent();
+    method public boolean isShutdown();
+    method public boolean isTerminated();
+    method public boolean isTerminating();
+    method public static void managedBlock(java.util.concurrent.ForkJoinPool.ManagedBlocker) throws java.lang.InterruptedException;
+    method protected java.util.concurrent.ForkJoinTask<?> pollSubmission();
+    method public void shutdown();
+    method public java.util.List<java.lang.Runnable> shutdownNow();
+    method public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.ForkJoinTask<T>);
+    method public <T> java.util.concurrent.ForkJoinTask<T> submit(java.util.concurrent.Callable<T>);
+    method public <T> java.util.concurrent.ForkJoinTask<T> submit(Runnable, T);
+    method public java.util.concurrent.ForkJoinTask<?> submit(Runnable);
+    field public static final java.util.concurrent.ForkJoinPool.ForkJoinWorkerThreadFactory defaultForkJoinWorkerThreadFactory;
+  }
+
+  public static interface ForkJoinPool.ForkJoinWorkerThreadFactory {
+    method public java.util.concurrent.ForkJoinWorkerThread newThread(java.util.concurrent.ForkJoinPool);
+  }
+
+  public static interface ForkJoinPool.ManagedBlocker {
+    method public boolean block() throws java.lang.InterruptedException;
+    method public boolean isReleasable();
+  }
+
+  public abstract class ForkJoinTask<V> implements java.util.concurrent.Future<V> java.io.Serializable {
+    ctor public ForkJoinTask();
+    method public static java.util.concurrent.ForkJoinTask<?> adapt(Runnable);
+    method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(Runnable, T);
+    method public static <T> java.util.concurrent.ForkJoinTask<T> adapt(java.util.concurrent.Callable<? extends T>);
+    method public boolean cancel(boolean);
+    method public final boolean compareAndSetForkJoinTaskTag(short, short);
+    method public void complete(V);
+    method public void completeExceptionally(Throwable);
+    method protected abstract boolean exec();
+    method public final java.util.concurrent.ForkJoinTask<V> fork();
+    method public final V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public final V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public final Throwable getException();
+    method public final short getForkJoinTaskTag();
+    method public static java.util.concurrent.ForkJoinPool getPool();
+    method public static int getQueuedTaskCount();
+    method public abstract V getRawResult();
+    method public static int getSurplusQueuedTaskCount();
+    method public static void helpQuiesce();
+    method public static boolean inForkJoinPool();
+    method public final V invoke();
+    method public static void invokeAll(java.util.concurrent.ForkJoinTask<?>, java.util.concurrent.ForkJoinTask<?>);
+    method public static void invokeAll(java.util.concurrent.ForkJoinTask<?>...);
+    method public static <T extends java.util.concurrent.ForkJoinTask<?>> java.util.Collection<T> invokeAll(java.util.Collection<T>);
+    method public final boolean isCancelled();
+    method public final boolean isCompletedAbnormally();
+    method public final boolean isCompletedNormally();
+    method public final boolean isDone();
+    method public final V join();
+    method protected static java.util.concurrent.ForkJoinTask<?> peekNextLocalTask();
+    method protected static java.util.concurrent.ForkJoinTask<?> pollNextLocalTask();
+    method protected static java.util.concurrent.ForkJoinTask<?> pollTask();
+    method public final void quietlyComplete();
+    method public final void quietlyInvoke();
+    method public final void quietlyJoin();
+    method public void reinitialize();
+    method public final short setForkJoinTaskTag(short);
+    method protected abstract void setRawResult(V);
+    method public boolean tryUnfork();
+  }
+
+  public class ForkJoinWorkerThread extends java.lang.Thread {
+    ctor protected ForkJoinWorkerThread(java.util.concurrent.ForkJoinPool);
+    method public java.util.concurrent.ForkJoinPool getPool();
+    method public int getPoolIndex();
+    method protected void onStart();
+    method protected void onTermination(Throwable);
+  }
+
+  public interface Future<V> {
+    method public boolean cancel(boolean);
+    method public V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public boolean isCancelled();
+    method public boolean isDone();
+  }
+
+  public class FutureTask<V> implements java.util.concurrent.RunnableFuture<V> {
+    ctor public FutureTask(java.util.concurrent.Callable<V>);
+    ctor public FutureTask(Runnable, V);
+    method public boolean cancel(boolean);
+    method protected void done();
+    method public V get() throws java.util.concurrent.ExecutionException, java.lang.InterruptedException;
+    method public V get(long, java.util.concurrent.TimeUnit) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public boolean isCancelled();
+    method public boolean isDone();
+    method public void run();
+    method protected boolean runAndReset();
+    method protected void set(V);
+    method protected void setException(Throwable);
+  }
+
+  public class LinkedBlockingDeque<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingDeque<E> java.io.Serializable {
+    ctor public LinkedBlockingDeque();
+    ctor public LinkedBlockingDeque(int);
+    ctor public LinkedBlockingDeque(java.util.Collection<? extends E>);
+    method public void addFirst(E);
+    method public void addLast(E);
+    method public java.util.Iterator<E> descendingIterator();
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public E getFirst();
+    method public E getLast();
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean offerFirst(E);
+    method public boolean offerFirst(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean offerLast(E);
+    method public boolean offerLast(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E peek();
+    method public E peekFirst();
+    method public E peekLast();
+    method public E poll();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E pollFirst();
+    method public E pollFirst(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E pollLast();
+    method public E pollLast(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E pop();
+    method public void push(E);
+    method public void put(E) throws java.lang.InterruptedException;
+    method public void putFirst(E) throws java.lang.InterruptedException;
+    method public void putLast(E) throws java.lang.InterruptedException;
+    method public int remainingCapacity();
+    method public E removeFirst();
+    method public boolean removeFirstOccurrence(Object);
+    method public E removeLast();
+    method public boolean removeLastOccurrence(Object);
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+    method public E takeFirst() throws java.lang.InterruptedException;
+    method public E takeLast() throws java.lang.InterruptedException;
+  }
+
+  public class LinkedBlockingQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable {
+    ctor public LinkedBlockingQueue();
+    ctor public LinkedBlockingQueue(int);
+    ctor public LinkedBlockingQueue(java.util.Collection<? extends E>);
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean offer(E);
+    method public E peek();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E poll();
+    method public void put(E) throws java.lang.InterruptedException;
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public class LinkedTransferQueue<E> extends java.util.AbstractQueue<E> implements java.io.Serializable java.util.concurrent.TransferQueue<E> {
+    ctor public LinkedTransferQueue();
+    ctor public LinkedTransferQueue(java.util.Collection<? extends E>);
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public int getWaitingConsumerCount();
+    method public boolean hasWaitingConsumer();
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit);
+    method public boolean offer(E);
+    method public E peek();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E poll();
+    method public void put(E);
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+    method public void transfer(E) throws java.lang.InterruptedException;
+    method public boolean tryTransfer(E);
+    method public boolean tryTransfer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+  }
+
+  public class Phaser {
+    ctor public Phaser();
+    ctor public Phaser(int);
+    ctor public Phaser(java.util.concurrent.Phaser);
+    ctor public Phaser(java.util.concurrent.Phaser, int);
+    method public int arrive();
+    method public int arriveAndAwaitAdvance();
+    method public int arriveAndDeregister();
+    method public int awaitAdvance(int);
+    method public int awaitAdvanceInterruptibly(int) throws java.lang.InterruptedException;
+    method public int awaitAdvanceInterruptibly(int, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    method public int bulkRegister(int);
+    method public void forceTermination();
+    method public int getArrivedParties();
+    method public java.util.concurrent.Phaser getParent();
+    method public final int getPhase();
+    method public int getRegisteredParties();
+    method public java.util.concurrent.Phaser getRoot();
+    method public int getUnarrivedParties();
+    method public boolean isTerminated();
+    method protected boolean onAdvance(int, int);
+    method public int register();
+  }
+
+  public class PriorityBlockingQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable {
+    ctor public PriorityBlockingQueue();
+    ctor public PriorityBlockingQueue(int);
+    ctor public PriorityBlockingQueue(int, java.util.Comparator<? super E>);
+    ctor public PriorityBlockingQueue(java.util.Collection<? extends E>);
+    method public java.util.Comparator<? super E> comparator();
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E);
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit);
+    method public E peek();
+    method public E poll();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void put(E);
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public abstract class RecursiveAction extends java.util.concurrent.ForkJoinTask<java.lang.Void> {
+    ctor public RecursiveAction();
+    method protected abstract void compute();
+    method protected final boolean exec();
+    method public final Void getRawResult();
+    method protected final void setRawResult(Void);
+  }
+
+  public abstract class RecursiveTask<V> extends java.util.concurrent.ForkJoinTask<V> {
+    ctor public RecursiveTask();
+    method protected abstract V compute();
+    method protected final boolean exec();
+    method public final V getRawResult();
+    method protected final void setRawResult(V);
+  }
+
+  public class RejectedExecutionException extends java.lang.RuntimeException {
+    ctor public RejectedExecutionException();
+    ctor public RejectedExecutionException(String);
+    ctor public RejectedExecutionException(String, Throwable);
+    ctor public RejectedExecutionException(Throwable);
+  }
+
+  public interface RejectedExecutionHandler {
+    method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor);
+  }
+
+  public interface RunnableFuture<V> extends java.lang.Runnable java.util.concurrent.Future<V> {
+  }
+
+  public interface RunnableScheduledFuture<V> extends java.util.concurrent.RunnableFuture<V> java.util.concurrent.ScheduledFuture<V> {
+    method public boolean isPeriodic();
+  }
+
+  public interface ScheduledExecutorService extends java.util.concurrent.ExecutorService {
+    method public java.util.concurrent.ScheduledFuture<?> schedule(Runnable, long, java.util.concurrent.TimeUnit);
+    method public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(Runnable, long, long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(Runnable, long, long, java.util.concurrent.TimeUnit);
+  }
+
+  public interface ScheduledFuture<V> extends java.util.concurrent.Delayed java.util.concurrent.Future<V> {
+  }
+
+  public class ScheduledThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor implements java.util.concurrent.ScheduledExecutorService {
+    ctor public ScheduledThreadPoolExecutor(int);
+    ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory);
+    ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.RejectedExecutionHandler);
+    ctor public ScheduledThreadPoolExecutor(int, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
+    method protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(Runnable, java.util.concurrent.RunnableScheduledFuture<V>);
+    method protected <V> java.util.concurrent.RunnableScheduledFuture<V> decorateTask(java.util.concurrent.Callable<V>, java.util.concurrent.RunnableScheduledFuture<V>);
+    method public boolean getContinueExistingPeriodicTasksAfterShutdownPolicy();
+    method public boolean getExecuteExistingDelayedTasksAfterShutdownPolicy();
+    method public boolean getRemoveOnCancelPolicy();
+    method public java.util.concurrent.ScheduledFuture<?> schedule(Runnable, long, java.util.concurrent.TimeUnit);
+    method public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(Runnable, long, long, java.util.concurrent.TimeUnit);
+    method public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(Runnable, long, long, java.util.concurrent.TimeUnit);
+    method public void setContinueExistingPeriodicTasksAfterShutdownPolicy(boolean);
+    method public void setExecuteExistingDelayedTasksAfterShutdownPolicy(boolean);
+    method public void setRemoveOnCancelPolicy(boolean);
+  }
+
+  public class Semaphore implements java.io.Serializable {
+    ctor public Semaphore(int);
+    ctor public Semaphore(int, boolean);
+    method public void acquire() throws java.lang.InterruptedException;
+    method public void acquire(int) throws java.lang.InterruptedException;
+    method public void acquireUninterruptibly();
+    method public void acquireUninterruptibly(int);
+    method public int availablePermits();
+    method public int drainPermits();
+    method public final int getQueueLength();
+    method protected java.util.Collection<java.lang.Thread> getQueuedThreads();
+    method public final boolean hasQueuedThreads();
+    method public boolean isFair();
+    method protected void reducePermits(int);
+    method public void release();
+    method public void release(int);
+    method public boolean tryAcquire();
+    method public boolean tryAcquire(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean tryAcquire(int);
+    method public boolean tryAcquire(int, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+  }
+
+  public class SynchronousQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.BlockingQueue<E> java.io.Serializable {
+    ctor public SynchronousQueue();
+    ctor public SynchronousQueue(boolean);
+    method public int drainTo(java.util.Collection<? super E>);
+    method public int drainTo(java.util.Collection<? super E>, int);
+    method public java.util.Iterator<E> iterator();
+    method public boolean offer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean offer(E);
+    method public E peek();
+    method public E poll(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public E poll();
+    method public void put(E) throws java.lang.InterruptedException;
+    method public int remainingCapacity();
+    method public int size();
+    method public E take() throws java.lang.InterruptedException;
+  }
+
+  public interface ThreadFactory {
+    method public Thread newThread(Runnable);
+  }
+
+  public class ThreadLocalRandom extends java.util.Random {
+    method public static java.util.concurrent.ThreadLocalRandom current();
+    method public double nextDouble(double);
+    method public double nextDouble(double, double);
+    method public int nextInt(int, int);
+    method public long nextLong(long);
+    method public long nextLong(long, long);
+  }
+
+  public class ThreadPoolExecutor extends java.util.concurrent.AbstractExecutorService {
+    ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>);
+    ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.ThreadFactory);
+    ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.RejectedExecutionHandler);
+    ctor public ThreadPoolExecutor(int, int, long, java.util.concurrent.TimeUnit, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
+    method protected void afterExecute(Runnable, Throwable);
+    method public void allowCoreThreadTimeOut(boolean);
+    method public boolean allowsCoreThreadTimeOut();
+    method public boolean awaitTermination(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method protected void beforeExecute(Thread, Runnable);
+    method public void execute(Runnable);
+    method protected void finalize();
+    method public int getActiveCount();
+    method public long getCompletedTaskCount();
+    method public int getCorePoolSize();
+    method public long getKeepAliveTime(java.util.concurrent.TimeUnit);
+    method public int getLargestPoolSize();
+    method public int getMaximumPoolSize();
+    method public int getPoolSize();
+    method public java.util.concurrent.BlockingQueue<java.lang.Runnable> getQueue();
+    method public java.util.concurrent.RejectedExecutionHandler getRejectedExecutionHandler();
+    method public long getTaskCount();
+    method public java.util.concurrent.ThreadFactory getThreadFactory();
+    method public boolean isShutdown();
+    method public boolean isTerminated();
+    method public boolean isTerminating();
+    method public int prestartAllCoreThreads();
+    method public boolean prestartCoreThread();
+    method public void purge();
+    method public boolean remove(Runnable);
+    method public void setCorePoolSize(int);
+    method public void setKeepAliveTime(long, java.util.concurrent.TimeUnit);
+    method public void setMaximumPoolSize(int);
+    method public void setRejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler);
+    method public void setThreadFactory(java.util.concurrent.ThreadFactory);
+    method public void shutdown();
+    method public java.util.List<java.lang.Runnable> shutdownNow();
+    method protected void terminated();
+  }
+
+  public static class ThreadPoolExecutor.AbortPolicy implements java.util.concurrent.RejectedExecutionHandler {
+    ctor public ThreadPoolExecutor.AbortPolicy();
+    method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor);
+  }
+
+  public static class ThreadPoolExecutor.CallerRunsPolicy implements java.util.concurrent.RejectedExecutionHandler {
+    ctor public ThreadPoolExecutor.CallerRunsPolicy();
+    method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor);
+  }
+
+  public static class ThreadPoolExecutor.DiscardOldestPolicy implements java.util.concurrent.RejectedExecutionHandler {
+    ctor public ThreadPoolExecutor.DiscardOldestPolicy();
+    method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor);
+  }
+
+  public static class ThreadPoolExecutor.DiscardPolicy implements java.util.concurrent.RejectedExecutionHandler {
+    ctor public ThreadPoolExecutor.DiscardPolicy();
+    method public void rejectedExecution(Runnable, java.util.concurrent.ThreadPoolExecutor);
+  }
+
+  public enum TimeUnit {
+    method public long convert(long, java.util.concurrent.TimeUnit);
+    method public void sleep(long) throws java.lang.InterruptedException;
+    method public void timedJoin(Thread, long) throws java.lang.InterruptedException;
+    method public void timedWait(Object, long) throws java.lang.InterruptedException;
+    method public long toDays(long);
+    method public long toHours(long);
+    method public long toMicros(long);
+    method public long toMillis(long);
+    method public long toMinutes(long);
+    method public long toNanos(long);
+    method public long toSeconds(long);
+    enum_constant public static final java.util.concurrent.TimeUnit DAYS;
+    enum_constant public static final java.util.concurrent.TimeUnit HOURS;
+    enum_constant public static final java.util.concurrent.TimeUnit MICROSECONDS;
+    enum_constant public static final java.util.concurrent.TimeUnit MILLISECONDS;
+    enum_constant public static final java.util.concurrent.TimeUnit MINUTES;
+    enum_constant public static final java.util.concurrent.TimeUnit NANOSECONDS;
+    enum_constant public static final java.util.concurrent.TimeUnit SECONDS;
+  }
+
+  public class TimeoutException extends java.lang.Exception {
+    ctor public TimeoutException();
+    ctor public TimeoutException(String);
+  }
+
+  public interface TransferQueue<E> extends java.util.concurrent.BlockingQueue<E> {
+    method public int getWaitingConsumerCount();
+    method public boolean hasWaitingConsumer();
+    method public void transfer(E) throws java.lang.InterruptedException;
+    method public boolean tryTransfer(E);
+    method public boolean tryTransfer(E, long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+  }
+
+}
+
+package java.util.concurrent.atomic {
+
+  public class AtomicBoolean implements java.io.Serializable {
+    ctor public AtomicBoolean(boolean);
+    ctor public AtomicBoolean();
+    method public final boolean compareAndSet(boolean, boolean);
+    method public final boolean get();
+    method public final boolean getAndSet(boolean);
+    method public final void lazySet(boolean);
+    method public final void set(boolean);
+    method public boolean weakCompareAndSet(boolean, boolean);
+  }
+
+  public class AtomicInteger extends java.lang.Number implements java.io.Serializable {
+    ctor public AtomicInteger(int);
+    ctor public AtomicInteger();
+    method public final int accumulateAndGet(int, java.util.function.IntBinaryOperator);
+    method public final int addAndGet(int);
+    method public final boolean compareAndSet(int, int);
+    method public final int decrementAndGet();
+    method public double doubleValue();
+    method public float floatValue();
+    method public final int get();
+    method public final int getAndAccumulate(int, java.util.function.IntBinaryOperator);
+    method public final int getAndAdd(int);
+    method public final int getAndDecrement();
+    method public final int getAndIncrement();
+    method public final int getAndSet(int);
+    method public final int getAndUpdate(java.util.function.IntUnaryOperator);
+    method public final int incrementAndGet();
+    method public int intValue();
+    method public final void lazySet(int);
+    method public long longValue();
+    method public final void set(int);
+    method public final int updateAndGet(java.util.function.IntUnaryOperator);
+    method public final boolean weakCompareAndSet(int, int);
+  }
+
+  public class AtomicIntegerArray implements java.io.Serializable {
+    ctor public AtomicIntegerArray(int);
+    ctor public AtomicIntegerArray(int[]);
+    method public final int accumulateAndGet(int, int, java.util.function.IntBinaryOperator);
+    method public final int addAndGet(int, int);
+    method public final boolean compareAndSet(int, int, int);
+    method public final int decrementAndGet(int);
+    method public final int get(int);
+    method public final int getAndAccumulate(int, int, java.util.function.IntBinaryOperator);
+    method public final int getAndAdd(int, int);
+    method public final int getAndDecrement(int);
+    method public final int getAndIncrement(int);
+    method public final int getAndSet(int, int);
+    method public final int getAndUpdate(int, java.util.function.IntUnaryOperator);
+    method public final int incrementAndGet(int);
+    method public final void lazySet(int, int);
+    method public final int length();
+    method public final void set(int, int);
+    method public final int updateAndGet(int, java.util.function.IntUnaryOperator);
+    method public final boolean weakCompareAndSet(int, int, int);
+  }
+
+  public abstract class AtomicIntegerFieldUpdater<T> {
+    ctor protected AtomicIntegerFieldUpdater();
+    method public final int accumulateAndGet(T, int, java.util.function.IntBinaryOperator);
+    method public int addAndGet(T, int);
+    method public abstract boolean compareAndSet(T, int, int);
+    method public int decrementAndGet(T);
+    method public abstract int get(T);
+    method public final int getAndAccumulate(T, int, java.util.function.IntBinaryOperator);
+    method public int getAndAdd(T, int);
+    method public int getAndDecrement(T);
+    method public int getAndIncrement(T);
+    method public int getAndSet(T, int);
+    method public final int getAndUpdate(T, java.util.function.IntUnaryOperator);
+    method public int incrementAndGet(T);
+    method public abstract void lazySet(T, int);
+    method public static <U> java.util.concurrent.atomic.AtomicIntegerFieldUpdater<U> newUpdater(Class<U>, String);
+    method public abstract void set(T, int);
+    method public final int updateAndGet(T, java.util.function.IntUnaryOperator);
+    method public abstract boolean weakCompareAndSet(T, int, int);
+  }
+
+  public class AtomicLong extends java.lang.Number implements java.io.Serializable {
+    ctor public AtomicLong(long);
+    ctor public AtomicLong();
+    method public final long accumulateAndGet(long, java.util.function.LongBinaryOperator);
+    method public final long addAndGet(long);
+    method public final boolean compareAndSet(long, long);
+    method public final long decrementAndGet();
+    method public double doubleValue();
+    method public float floatValue();
+    method public final long get();
+    method public final long getAndAccumulate(long, java.util.function.LongBinaryOperator);
+    method public final long getAndAdd(long);
+    method public final long getAndDecrement();
+    method public final long getAndIncrement();
+    method public final long getAndSet(long);
+    method public final long getAndUpdate(java.util.function.LongUnaryOperator);
+    method public final long incrementAndGet();
+    method public int intValue();
+    method public final void lazySet(long);
+    method public long longValue();
+    method public final void set(long);
+    method public final long updateAndGet(java.util.function.LongUnaryOperator);
+    method public final boolean weakCompareAndSet(long, long);
+  }
+
+  public class AtomicLongArray implements java.io.Serializable {
+    ctor public AtomicLongArray(int);
+    ctor public AtomicLongArray(long[]);
+    method public final long accumulateAndGet(int, long, java.util.function.LongBinaryOperator);
+    method public long addAndGet(int, long);
+    method public final boolean compareAndSet(int, long, long);
+    method public final long decrementAndGet(int);
+    method public final long get(int);
+    method public final long getAndAccumulate(int, long, java.util.function.LongBinaryOperator);
+    method public final long getAndAdd(int, long);
+    method public final long getAndDecrement(int);
+    method public final long getAndIncrement(int);
+    method public final long getAndSet(int, long);
+    method public final long getAndUpdate(int, java.util.function.LongUnaryOperator);
+    method public final long incrementAndGet(int);
+    method public final void lazySet(int, long);
+    method public final int length();
+    method public final void set(int, long);
+    method public final long updateAndGet(int, java.util.function.LongUnaryOperator);
+    method public final boolean weakCompareAndSet(int, long, long);
+  }
+
+  public abstract class AtomicLongFieldUpdater<T> {
+    ctor protected AtomicLongFieldUpdater();
+    method public final long accumulateAndGet(T, long, java.util.function.LongBinaryOperator);
+    method public long addAndGet(T, long);
+    method public abstract boolean compareAndSet(T, long, long);
+    method public long decrementAndGet(T);
+    method public abstract long get(T);
+    method public final long getAndAccumulate(T, long, java.util.function.LongBinaryOperator);
+    method public long getAndAdd(T, long);
+    method public long getAndDecrement(T);
+    method public long getAndIncrement(T);
+    method public long getAndSet(T, long);
+    method public final long getAndUpdate(T, java.util.function.LongUnaryOperator);
+    method public long incrementAndGet(T);
+    method public abstract void lazySet(T, long);
+    method public static <U> java.util.concurrent.atomic.AtomicLongFieldUpdater<U> newUpdater(Class<U>, String);
+    method public abstract void set(T, long);
+    method public final long updateAndGet(T, java.util.function.LongUnaryOperator);
+    method public abstract boolean weakCompareAndSet(T, long, long);
+  }
+
+  public class AtomicMarkableReference<V> {
+    ctor public AtomicMarkableReference(V, boolean);
+    method public boolean attemptMark(V, boolean);
+    method public boolean compareAndSet(V, V, boolean, boolean);
+    method public V get(boolean[]);
+    method public V getReference();
+    method public boolean isMarked();
+    method public void set(V, boolean);
+    method public boolean weakCompareAndSet(V, V, boolean, boolean);
+  }
+
+  public class AtomicReference<V> implements java.io.Serializable {
+    ctor public AtomicReference(V);
+    ctor public AtomicReference();
+    method public final V accumulateAndGet(V, java.util.function.BinaryOperator<V>);
+    method public final boolean compareAndSet(V, V);
+    method public final V get();
+    method public final V getAndAccumulate(V, java.util.function.BinaryOperator<V>);
+    method public final V getAndSet(V);
+    method public final V getAndUpdate(java.util.function.UnaryOperator<V>);
+    method public final void lazySet(V);
+    method public final void set(V);
+    method public final V updateAndGet(java.util.function.UnaryOperator<V>);
+    method public final boolean weakCompareAndSet(V, V);
+  }
+
+  public class AtomicReferenceArray<E> implements java.io.Serializable {
+    ctor public AtomicReferenceArray(int);
+    ctor public AtomicReferenceArray(E[]);
+    method public final E accumulateAndGet(int, E, java.util.function.BinaryOperator<E>);
+    method public final boolean compareAndSet(int, E, E);
+    method public final E get(int);
+    method public final E getAndAccumulate(int, E, java.util.function.BinaryOperator<E>);
+    method public final E getAndSet(int, E);
+    method public final E getAndUpdate(int, java.util.function.UnaryOperator<E>);
+    method public final void lazySet(int, E);
+    method public final int length();
+    method public final void set(int, E);
+    method public final E updateAndGet(int, java.util.function.UnaryOperator<E>);
+    method public final boolean weakCompareAndSet(int, E, E);
+  }
+
+  public abstract class AtomicReferenceFieldUpdater<T, V> {
+    ctor protected AtomicReferenceFieldUpdater();
+    method public final V accumulateAndGet(T, V, java.util.function.BinaryOperator<V>);
+    method public abstract boolean compareAndSet(T, V, V);
+    method public abstract V get(T);
+    method public final V getAndAccumulate(T, V, java.util.function.BinaryOperator<V>);
+    method public V getAndSet(T, V);
+    method public final V getAndUpdate(T, java.util.function.UnaryOperator<V>);
+    method public abstract void lazySet(T, V);
+    method public static <U, W> java.util.concurrent.atomic.AtomicReferenceFieldUpdater<U,W> newUpdater(Class<U>, Class<W>, String);
+    method public abstract void set(T, V);
+    method public final V updateAndGet(T, java.util.function.UnaryOperator<V>);
+    method public abstract boolean weakCompareAndSet(T, V, V);
+  }
+
+  public class AtomicStampedReference<V> {
+    ctor public AtomicStampedReference(V, int);
+    method public boolean attemptStamp(V, int);
+    method public boolean compareAndSet(V, V, int, int);
+    method public V get(int[]);
+    method public V getReference();
+    method public int getStamp();
+    method public void set(V, int);
+    method public boolean weakCompareAndSet(V, V, int, int);
+  }
+
+  public class DoubleAccumulator extends java.lang.Number implements java.io.Serializable {
+    ctor public DoubleAccumulator(java.util.function.DoubleBinaryOperator, double);
+    method public void accumulate(double);
+    method public double doubleValue();
+    method public float floatValue();
+    method public double get();
+    method public double getThenReset();
+    method public int intValue();
+    method public long longValue();
+    method public void reset();
+  }
+
+  public class DoubleAdder extends java.lang.Number implements java.io.Serializable {
+    ctor public DoubleAdder();
+    method public void add(double);
+    method public double doubleValue();
+    method public float floatValue();
+    method public int intValue();
+    method public long longValue();
+    method public void reset();
+    method public double sum();
+    method public double sumThenReset();
+  }
+
+  public class LongAccumulator extends java.lang.Number implements java.io.Serializable {
+    ctor public LongAccumulator(java.util.function.LongBinaryOperator, long);
+    method public void accumulate(long);
+    method public double doubleValue();
+    method public float floatValue();
+    method public long get();
+    method public long getThenReset();
+    method public int intValue();
+    method public long longValue();
+    method public void reset();
+  }
+
+  public class LongAdder extends java.lang.Number implements java.io.Serializable {
+    ctor public LongAdder();
+    method public void add(long);
+    method public void decrement();
+    method public double doubleValue();
+    method public float floatValue();
+    method public void increment();
+    method public int intValue();
+    method public long longValue();
+    method public void reset();
+    method public long sum();
+    method public long sumThenReset();
+  }
+
+}
+
+package java.util.concurrent.locks {
+
+  public abstract class AbstractOwnableSynchronizer implements java.io.Serializable {
+    ctor protected AbstractOwnableSynchronizer();
+    method protected final Thread getExclusiveOwnerThread();
+    method protected final void setExclusiveOwnerThread(Thread);
+  }
+
+  public abstract class AbstractQueuedLongSynchronizer extends java.util.concurrent.locks.AbstractOwnableSynchronizer implements java.io.Serializable {
+    ctor protected AbstractQueuedLongSynchronizer();
+    method public final void acquire(long);
+    method public final void acquireInterruptibly(long) throws java.lang.InterruptedException;
+    method public final void acquireShared(long);
+    method public final void acquireSharedInterruptibly(long) throws java.lang.InterruptedException;
+    method protected final boolean compareAndSetState(long, long);
+    method public final java.util.Collection<java.lang.Thread> getExclusiveQueuedThreads();
+    method public final Thread getFirstQueuedThread();
+    method public final int getQueueLength();
+    method public final java.util.Collection<java.lang.Thread> getQueuedThreads();
+    method public final java.util.Collection<java.lang.Thread> getSharedQueuedThreads();
+    method protected final long getState();
+    method public final int getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+    method public final java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+    method public final boolean hasContended();
+    method public final boolean hasQueuedPredecessors();
+    method public final boolean hasQueuedThreads();
+    method public final boolean hasWaiters(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+    method protected boolean isHeldExclusively();
+    method public final boolean isQueued(Thread);
+    method public final boolean owns(java.util.concurrent.locks.AbstractQueuedLongSynchronizer.ConditionObject);
+    method public final boolean release(long);
+    method public final boolean releaseShared(long);
+    method protected final void setState(long);
+    method protected boolean tryAcquire(long);
+    method public final boolean tryAcquireNanos(long, long) throws java.lang.InterruptedException;
+    method protected long tryAcquireShared(long);
+    method public final boolean tryAcquireSharedNanos(long, long) throws java.lang.InterruptedException;
+    method protected boolean tryRelease(long);
+    method protected boolean tryReleaseShared(long);
+  }
+
+  public class AbstractQueuedLongSynchronizer.ConditionObject implements java.util.concurrent.locks.Condition java.io.Serializable {
+    ctor public AbstractQueuedLongSynchronizer.ConditionObject();
+    method public final void await() throws java.lang.InterruptedException;
+    method public final boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public final long awaitNanos(long) throws java.lang.InterruptedException;
+    method public final void awaitUninterruptibly();
+    method public final boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException;
+    method protected final int getWaitQueueLength();
+    method protected final java.util.Collection<java.lang.Thread> getWaitingThreads();
+    method protected final boolean hasWaiters();
+    method public final void signal();
+    method public final void signalAll();
+  }
+
+  public abstract class AbstractQueuedSynchronizer extends java.util.concurrent.locks.AbstractOwnableSynchronizer implements java.io.Serializable {
+    ctor protected AbstractQueuedSynchronizer();
+    method public final void acquire(int);
+    method public final void acquireInterruptibly(int) throws java.lang.InterruptedException;
+    method public final void acquireShared(int);
+    method public final void acquireSharedInterruptibly(int) throws java.lang.InterruptedException;
+    method protected final boolean compareAndSetState(int, int);
+    method public final java.util.Collection<java.lang.Thread> getExclusiveQueuedThreads();
+    method public final Thread getFirstQueuedThread();
+    method public final int getQueueLength();
+    method public final java.util.Collection<java.lang.Thread> getQueuedThreads();
+    method public final java.util.Collection<java.lang.Thread> getSharedQueuedThreads();
+    method protected final int getState();
+    method public final int getWaitQueueLength(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+    method public final java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+    method public final boolean hasContended();
+    method public final boolean hasQueuedPredecessors();
+    method public final boolean hasQueuedThreads();
+    method public final boolean hasWaiters(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+    method protected boolean isHeldExclusively();
+    method public final boolean isQueued(Thread);
+    method public final boolean owns(java.util.concurrent.locks.AbstractQueuedSynchronizer.ConditionObject);
+    method public final boolean release(int);
+    method public final boolean releaseShared(int);
+    method protected final void setState(int);
+    method protected boolean tryAcquire(int);
+    method public final boolean tryAcquireNanos(int, long) throws java.lang.InterruptedException;
+    method protected int tryAcquireShared(int);
+    method public final boolean tryAcquireSharedNanos(int, long) throws java.lang.InterruptedException;
+    method protected boolean tryRelease(int);
+    method protected boolean tryReleaseShared(int);
+  }
+
+  public class AbstractQueuedSynchronizer.ConditionObject implements java.util.concurrent.locks.Condition java.io.Serializable {
+    ctor public AbstractQueuedSynchronizer.ConditionObject();
+    method public final void await() throws java.lang.InterruptedException;
+    method public final boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public final long awaitNanos(long) throws java.lang.InterruptedException;
+    method public final void awaitUninterruptibly();
+    method public final boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException;
+    method protected final int getWaitQueueLength();
+    method protected final java.util.Collection<java.lang.Thread> getWaitingThreads();
+    method protected final boolean hasWaiters();
+    method public final void signal();
+    method public final void signalAll();
+  }
+
+  public interface Condition {
+    method public void await() throws java.lang.InterruptedException;
+    method public boolean await(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public long awaitNanos(long) throws java.lang.InterruptedException;
+    method public void awaitUninterruptibly();
+    method public boolean awaitUntil(java.util.Date) throws java.lang.InterruptedException;
+    method public void signal();
+    method public void signalAll();
+  }
+
+  public interface Lock {
+    method public void lock();
+    method public void lockInterruptibly() throws java.lang.InterruptedException;
+    method public java.util.concurrent.locks.Condition newCondition();
+    method public boolean tryLock();
+    method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void unlock();
+  }
+
+  public class LockSupport {
+    method public static Object getBlocker(Thread);
+    method public static void park(Object);
+    method public static void park();
+    method public static void parkNanos(Object, long);
+    method public static void parkNanos(long);
+    method public static void parkUntil(Object, long);
+    method public static void parkUntil(long);
+    method public static void unpark(Thread);
+  }
+
+  public interface ReadWriteLock {
+    method public java.util.concurrent.locks.Lock readLock();
+    method public java.util.concurrent.locks.Lock writeLock();
+  }
+
+  public class ReentrantLock implements java.util.concurrent.locks.Lock java.io.Serializable {
+    ctor public ReentrantLock();
+    ctor public ReentrantLock(boolean);
+    method public int getHoldCount();
+    method protected Thread getOwner();
+    method public final int getQueueLength();
+    method protected java.util.Collection<java.lang.Thread> getQueuedThreads();
+    method public int getWaitQueueLength(java.util.concurrent.locks.Condition);
+    method protected java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.Condition);
+    method public final boolean hasQueuedThread(Thread);
+    method public final boolean hasQueuedThreads();
+    method public boolean hasWaiters(java.util.concurrent.locks.Condition);
+    method public final boolean isFair();
+    method public boolean isHeldByCurrentThread();
+    method public boolean isLocked();
+    method public void lock();
+    method public void lockInterruptibly() throws java.lang.InterruptedException;
+    method public java.util.concurrent.locks.Condition newCondition();
+    method public boolean tryLock();
+    method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void unlock();
+  }
+
+  public class ReentrantReadWriteLock implements java.util.concurrent.locks.ReadWriteLock java.io.Serializable {
+    ctor public ReentrantReadWriteLock();
+    ctor public ReentrantReadWriteLock(boolean);
+    method protected Thread getOwner();
+    method public final int getQueueLength();
+    method protected java.util.Collection<java.lang.Thread> getQueuedReaderThreads();
+    method protected java.util.Collection<java.lang.Thread> getQueuedThreads();
+    method protected java.util.Collection<java.lang.Thread> getQueuedWriterThreads();
+    method public int getReadHoldCount();
+    method public int getReadLockCount();
+    method public int getWaitQueueLength(java.util.concurrent.locks.Condition);
+    method protected java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.Condition);
+    method public int getWriteHoldCount();
+    method public final boolean hasQueuedThread(Thread);
+    method public final boolean hasQueuedThreads();
+    method public boolean hasWaiters(java.util.concurrent.locks.Condition);
+    method public final boolean isFair();
+    method public boolean isWriteLocked();
+    method public boolean isWriteLockedByCurrentThread();
+    method public java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock readLock();
+    method public java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock writeLock();
+  }
+
+  public static class ReentrantReadWriteLock.ReadLock implements java.util.concurrent.locks.Lock java.io.Serializable {
+    ctor protected ReentrantReadWriteLock.ReadLock(java.util.concurrent.locks.ReentrantReadWriteLock);
+    method public void lock();
+    method public void lockInterruptibly() throws java.lang.InterruptedException;
+    method public java.util.concurrent.locks.Condition newCondition();
+    method public boolean tryLock();
+    method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void unlock();
+  }
+
+  public static class ReentrantReadWriteLock.WriteLock implements java.util.concurrent.locks.Lock java.io.Serializable {
+    ctor protected ReentrantReadWriteLock.WriteLock(java.util.concurrent.locks.ReentrantReadWriteLock);
+    method public int getHoldCount();
+    method public boolean isHeldByCurrentThread();
+    method public void lock();
+    method public void lockInterruptibly() throws java.lang.InterruptedException;
+    method public java.util.concurrent.locks.Condition newCondition();
+    method public boolean tryLock();
+    method public boolean tryLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void unlock();
+  }
+
+  public class StampedLock implements java.io.Serializable {
+    ctor public StampedLock();
+    method public java.util.concurrent.locks.Lock asReadLock();
+    method public java.util.concurrent.locks.ReadWriteLock asReadWriteLock();
+    method public java.util.concurrent.locks.Lock asWriteLock();
+    method public int getReadLockCount();
+    method public boolean isReadLocked();
+    method public boolean isWriteLocked();
+    method public long readLock();
+    method public long readLockInterruptibly() throws java.lang.InterruptedException;
+    method public long tryConvertToOptimisticRead(long);
+    method public long tryConvertToReadLock(long);
+    method public long tryConvertToWriteLock(long);
+    method public long tryOptimisticRead();
+    method public long tryReadLock();
+    method public long tryReadLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public boolean tryUnlockRead();
+    method public boolean tryUnlockWrite();
+    method public long tryWriteLock();
+    method public long tryWriteLock(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException;
+    method public void unlock(long);
+    method public void unlockRead(long);
+    method public void unlockWrite(long);
+    method public boolean validate(long);
+    method public long writeLock();
+    method public long writeLockInterruptibly() throws java.lang.InterruptedException;
+  }
+
+}
+
+package java.util.function {
+
+  @java.lang.FunctionalInterface public interface BiConsumer<T, U> {
+    method public void accept(T, U);
+    method public default java.util.function.BiConsumer<T,U> andThen(java.util.function.BiConsumer<? super T,? super U>);
+  }
+
+  @java.lang.FunctionalInterface public interface BiFunction<T, U, R> {
+    method public default <V> java.util.function.BiFunction<T,U,V> andThen(java.util.function.Function<? super R,? extends V>);
+    method public R apply(T, U);
+  }
+
+  @java.lang.FunctionalInterface public interface BiPredicate<T, U> {
+    method public default java.util.function.BiPredicate<T,U> and(java.util.function.BiPredicate<? super T,? super U>);
+    method public default java.util.function.BiPredicate<T,U> negate();
+    method public default java.util.function.BiPredicate<T,U> or(java.util.function.BiPredicate<? super T,? super U>);
+    method public boolean test(T, U);
+  }
+
+  @java.lang.FunctionalInterface public interface BinaryOperator<T> extends java.util.function.BiFunction<T,T,T> {
+    method public static <T> java.util.function.BinaryOperator<T> maxBy(java.util.Comparator<? super T>);
+    method public static <T> java.util.function.BinaryOperator<T> minBy(java.util.Comparator<? super T>);
+  }
+
+  @java.lang.FunctionalInterface public interface BooleanSupplier {
+    method public boolean getAsBoolean();
+  }
+
+  @java.lang.FunctionalInterface public interface Consumer<T> {
+    method public void accept(T);
+    method public default java.util.function.Consumer<T> andThen(java.util.function.Consumer<? super T>);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleBinaryOperator {
+    method public double applyAsDouble(double, double);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleConsumer {
+    method public void accept(double);
+    method public default java.util.function.DoubleConsumer andThen(java.util.function.DoubleConsumer);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleFunction<R> {
+    method public R apply(double);
+  }
+
+  @java.lang.FunctionalInterface public interface DoublePredicate {
+    method public default java.util.function.DoublePredicate and(java.util.function.DoublePredicate);
+    method public default java.util.function.DoublePredicate negate();
+    method public default java.util.function.DoublePredicate or(java.util.function.DoublePredicate);
+    method public boolean test(double);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleSupplier {
+    method public double getAsDouble();
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleToIntFunction {
+    method public int applyAsInt(double);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleToLongFunction {
+    method public long applyAsLong(double);
+  }
+
+  @java.lang.FunctionalInterface public interface DoubleUnaryOperator {
+    method public default java.util.function.DoubleUnaryOperator andThen(java.util.function.DoubleUnaryOperator);
+    method public double applyAsDouble(double);
+    method public default java.util.function.DoubleUnaryOperator compose(java.util.function.DoubleUnaryOperator);
+    method public static java.util.function.DoubleUnaryOperator identity();
+  }
+
+  @java.lang.FunctionalInterface public interface Function<T, R> {
+    method public default <V> java.util.function.Function<T,V> andThen(java.util.function.Function<? super R,? extends V>);
+    method public R apply(T);
+    method public default <V> java.util.function.Function<V,R> compose(java.util.function.Function<? super V,? extends T>);
+    method public static <T> java.util.function.Function<T,T> identity();
+  }
+
+  @java.lang.FunctionalInterface public interface IntBinaryOperator {
+    method public int applyAsInt(int, int);
+  }
+
+  @java.lang.FunctionalInterface public interface IntConsumer {
+    method public void accept(int);
+    method public default java.util.function.IntConsumer andThen(java.util.function.IntConsumer);
+  }
+
+  @java.lang.FunctionalInterface public interface IntFunction<R> {
+    method public R apply(int);
+  }
+
+  @java.lang.FunctionalInterface public interface IntPredicate {
+    method public default java.util.function.IntPredicate and(java.util.function.IntPredicate);
+    method public default java.util.function.IntPredicate negate();
+    method public default java.util.function.IntPredicate or(java.util.function.IntPredicate);
+    method public boolean test(int);
+  }
+
+  @java.lang.FunctionalInterface public interface IntSupplier {
+    method public int getAsInt();
+  }
+
+  @java.lang.FunctionalInterface public interface IntToDoubleFunction {
+    method public double applyAsDouble(int);
+  }
+
+  @java.lang.FunctionalInterface public interface IntToLongFunction {
+    method public long applyAsLong(int);
+  }
+
+  @java.lang.FunctionalInterface public interface IntUnaryOperator {
+    method public default java.util.function.IntUnaryOperator andThen(java.util.function.IntUnaryOperator);
+    method public int applyAsInt(int);
+    method public default java.util.function.IntUnaryOperator compose(java.util.function.IntUnaryOperator);
+    method public static java.util.function.IntUnaryOperator identity();
+  }
+
+  @java.lang.FunctionalInterface public interface LongBinaryOperator {
+    method public long applyAsLong(long, long);
+  }
+
+  @java.lang.FunctionalInterface public interface LongConsumer {
+    method public void accept(long);
+    method public default java.util.function.LongConsumer andThen(java.util.function.LongConsumer);
+  }
+
+  @java.lang.FunctionalInterface public interface LongFunction<R> {
+    method public R apply(long);
+  }
+
+  @java.lang.FunctionalInterface public interface LongPredicate {
+    method public default java.util.function.LongPredicate and(java.util.function.LongPredicate);
+    method public default java.util.function.LongPredicate negate();
+    method public default java.util.function.LongPredicate or(java.util.function.LongPredicate);
+    method public boolean test(long);
+  }
+
+  @java.lang.FunctionalInterface public interface LongSupplier {
+    method public long getAsLong();
+  }
+
+  @java.lang.FunctionalInterface public interface LongToDoubleFunction {
+    method public double applyAsDouble(long);
+  }
+
+  @java.lang.FunctionalInterface public interface LongToIntFunction {
+    method public int applyAsInt(long);
+  }
+
+  @java.lang.FunctionalInterface public interface LongUnaryOperator {
+    method public default java.util.function.LongUnaryOperator andThen(java.util.function.LongUnaryOperator);
+    method public long applyAsLong(long);
+    method public default java.util.function.LongUnaryOperator compose(java.util.function.LongUnaryOperator);
+    method public static java.util.function.LongUnaryOperator identity();
+  }
+
+  @java.lang.FunctionalInterface public interface ObjDoubleConsumer<T> {
+    method public void accept(T, double);
+  }
+
+  @java.lang.FunctionalInterface public interface ObjIntConsumer<T> {
+    method public void accept(T, int);
+  }
+
+  @java.lang.FunctionalInterface public interface ObjLongConsumer<T> {
+    method public void accept(T, long);
+  }
+
+  @java.lang.FunctionalInterface public interface Predicate<T> {
+    method public default java.util.function.Predicate<T> and(java.util.function.Predicate<? super T>);
+    method public static <T> java.util.function.Predicate<T> isEqual(Object);
+    method public default java.util.function.Predicate<T> negate();
+    method public default java.util.function.Predicate<T> or(java.util.function.Predicate<? super T>);
+    method public boolean test(T);
+  }
+
+  @java.lang.FunctionalInterface public interface Supplier<T> {
+    method public T get();
+  }
+
+  @java.lang.FunctionalInterface public interface ToDoubleBiFunction<T, U> {
+    method public double applyAsDouble(T, U);
+  }
+
+  @java.lang.FunctionalInterface public interface ToDoubleFunction<T> {
+    method public double applyAsDouble(T);
+  }
+
+  @java.lang.FunctionalInterface public interface ToIntBiFunction<T, U> {
+    method public int applyAsInt(T, U);
+  }
+
+  @java.lang.FunctionalInterface public interface ToIntFunction<T> {
+    method public int applyAsInt(T);
+  }
+
+  @java.lang.FunctionalInterface public interface ToLongBiFunction<T, U> {
+    method public long applyAsLong(T, U);
+  }
+
+  @java.lang.FunctionalInterface public interface ToLongFunction<T> {
+    method public long applyAsLong(T);
+  }
+
+  @java.lang.FunctionalInterface public interface UnaryOperator<T> extends java.util.function.Function<T,T> {
+    method public static <T> java.util.function.UnaryOperator<T> identity();
+  }
+
+}
+
+package java.util.jar {
+
+  public class Attributes implements java.lang.Cloneable java.util.Map<java.lang.Object,java.lang.Object> {
+    ctor public Attributes();
+    ctor public Attributes(int);
+    ctor public Attributes(java.util.jar.Attributes);
+    method public void clear();
+    method public Object clone();
+    method public boolean containsKey(Object);
+    method public boolean containsValue(Object);
+    method public java.util.Set<java.util.Map.Entry<java.lang.Object,java.lang.Object>> entrySet();
+    method public Object get(Object);
+    method public String getValue(String);
+    method public String getValue(java.util.jar.Attributes.Name);
+    method public boolean isEmpty();
+    method public java.util.Set<java.lang.Object> keySet();
+    method public Object put(Object, Object);
+    method public void putAll(java.util.Map<?,?>);
+    method public String putValue(String, String);
+    method public Object remove(Object);
+    method public int size();
+    method public java.util.Collection<java.lang.Object> values();
+    field protected java.util.Map<java.lang.Object,java.lang.Object> map;
+  }
+
+  public static class Attributes.Name {
+    ctor public Attributes.Name(String);
+    field public static final java.util.jar.Attributes.Name CLASS_PATH;
+    field public static final java.util.jar.Attributes.Name CONTENT_TYPE;
+    field @Deprecated public static final java.util.jar.Attributes.Name EXTENSION_INSTALLATION;
+    field public static final java.util.jar.Attributes.Name EXTENSION_LIST;
+    field public static final java.util.jar.Attributes.Name EXTENSION_NAME;
+    field public static final java.util.jar.Attributes.Name IMPLEMENTATION_TITLE;
+    field @Deprecated public static final java.util.jar.Attributes.Name IMPLEMENTATION_URL;
+    field public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR;
+    field @Deprecated public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR_ID;
+    field public static final java.util.jar.Attributes.Name IMPLEMENTATION_VERSION;
+    field public static final java.util.jar.Attributes.Name MAIN_CLASS;
+    field public static final java.util.jar.Attributes.Name MANIFEST_VERSION;
+    field public static final java.util.jar.Attributes.Name SEALED;
+    field public static final java.util.jar.Attributes.Name SIGNATURE_VERSION;
+    field public static final java.util.jar.Attributes.Name SPECIFICATION_TITLE;
+    field public static final java.util.jar.Attributes.Name SPECIFICATION_VENDOR;
+    field public static final java.util.jar.Attributes.Name SPECIFICATION_VERSION;
+  }
+
+  public class JarEntry extends java.util.zip.ZipEntry {
+    ctor public JarEntry(String);
+    ctor public JarEntry(java.util.zip.ZipEntry);
+    ctor public JarEntry(java.util.jar.JarEntry);
+    method public java.util.jar.Attributes getAttributes() throws java.io.IOException;
+    method public java.security.cert.Certificate[] getCertificates();
+    method public java.security.CodeSigner[] getCodeSigners();
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+  }
+
+  public class JarException extends java.util.zip.ZipException {
+    ctor public JarException();
+    ctor public JarException(String);
+  }
+
+  public class JarFile extends java.util.zip.ZipFile {
+    ctor public JarFile(String) throws java.io.IOException;
+    ctor public JarFile(String, boolean) throws java.io.IOException;
+    ctor public JarFile(java.io.File) throws java.io.IOException;
+    ctor public JarFile(java.io.File, boolean) throws java.io.IOException;
+    ctor public JarFile(java.io.File, boolean, int) throws java.io.IOException;
+    method public java.util.Enumeration<java.util.jar.JarEntry> entries();
+    method public java.util.jar.JarEntry getJarEntry(String);
+    method public java.util.jar.Manifest getManifest() throws java.io.IOException;
+    method public java.util.stream.Stream<java.util.jar.JarEntry> stream();
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+    field public static final String MANIFEST_NAME = "META-INF/MANIFEST.MF";
+  }
+
+  public class JarInputStream extends java.util.zip.ZipInputStream {
+    ctor public JarInputStream(java.io.InputStream) throws java.io.IOException;
+    ctor public JarInputStream(java.io.InputStream, boolean) throws java.io.IOException;
+    method public java.util.jar.Manifest getManifest();
+    method public java.util.jar.JarEntry getNextJarEntry() throws java.io.IOException;
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+  }
+
+  public class JarOutputStream extends java.util.zip.ZipOutputStream {
+    ctor public JarOutputStream(java.io.OutputStream, java.util.jar.Manifest) throws java.io.IOException;
+    ctor public JarOutputStream(java.io.OutputStream) throws java.io.IOException;
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+  }
+
+  public class Manifest implements java.lang.Cloneable {
+    ctor public Manifest();
+    ctor public Manifest(java.io.InputStream) throws java.io.IOException;
+    ctor public Manifest(java.util.jar.Manifest);
+    method public void clear();
+    method public Object clone();
+    method public java.util.jar.Attributes getAttributes(String);
+    method public java.util.Map<java.lang.String,java.util.jar.Attributes> getEntries();
+    method public java.util.jar.Attributes getMainAttributes();
+    method public void read(java.io.InputStream) throws java.io.IOException;
+    method public void write(java.io.OutputStream) throws java.io.IOException;
+  }
+
+  public abstract class Pack200 {
+    method public static java.util.jar.Pack200.Packer newPacker();
+    method public static java.util.jar.Pack200.Unpacker newUnpacker();
+  }
+
+  public static interface Pack200.Packer {
+    method @Deprecated public default void addPropertyChangeListener(java.beans.PropertyChangeListener);
+    method public void pack(java.util.jar.JarFile, java.io.OutputStream) throws java.io.IOException;
+    method public void pack(java.util.jar.JarInputStream, java.io.OutputStream) throws java.io.IOException;
+    method public java.util.SortedMap<java.lang.String,java.lang.String> properties();
+    method @Deprecated public default void removePropertyChangeListener(java.beans.PropertyChangeListener);
+    field public static final String CLASS_ATTRIBUTE_PFX = "pack.class.attribute.";
+    field public static final String CODE_ATTRIBUTE_PFX = "pack.code.attribute.";
+    field public static final String DEFLATE_HINT = "pack.deflate.hint";
+    field public static final String EFFORT = "pack.effort";
+    field public static final String ERROR = "error";
+    field public static final String FALSE = "false";
+    field public static final String FIELD_ATTRIBUTE_PFX = "pack.field.attribute.";
+    field public static final String KEEP = "keep";
+    field public static final String KEEP_FILE_ORDER = "pack.keep.file.order";
+    field public static final String LATEST = "latest";
+    field public static final String METHOD_ATTRIBUTE_PFX = "pack.method.attribute.";
+    field public static final String MODIFICATION_TIME = "pack.modification.time";
+    field public static final String PASS = "pass";
+    field public static final String PASS_FILE_PFX = "pack.pass.file.";
+    field public static final String PROGRESS = "pack.progress";
+    field public static final String SEGMENT_LIMIT = "pack.segment.limit";
+    field public static final String STRIP = "strip";
+    field public static final String TRUE = "true";
+    field public static final String UNKNOWN_ATTRIBUTE = "pack.unknown.attribute";
+  }
+
+  public static interface Pack200.Unpacker {
+    method @Deprecated public default void addPropertyChangeListener(java.beans.PropertyChangeListener);
+    method public java.util.SortedMap<java.lang.String,java.lang.String> properties();
+    method @Deprecated public default void removePropertyChangeListener(java.beans.PropertyChangeListener);
+    method public void unpack(java.io.InputStream, java.util.jar.JarOutputStream) throws java.io.IOException;
+    method public void unpack(java.io.File, java.util.jar.JarOutputStream) throws java.io.IOException;
+    field public static final String DEFLATE_HINT = "unpack.deflate.hint";
+    field public static final String FALSE = "false";
+    field public static final String KEEP = "keep";
+    field public static final String PROGRESS = "unpack.progress";
+    field public static final String TRUE = "true";
+  }
+
+}
+
+package java.util.logging {
+
+  public class ConsoleHandler extends java.util.logging.StreamHandler {
+    ctor public ConsoleHandler();
+    method public void close();
+  }
+
+  public class ErrorManager {
+    ctor public ErrorManager();
+    method public void error(String, Exception, int);
+    field public static final int CLOSE_FAILURE = 3; // 0x3
+    field public static final int FLUSH_FAILURE = 2; // 0x2
+    field public static final int FORMAT_FAILURE = 5; // 0x5
+    field public static final int GENERIC_FAILURE = 0; // 0x0
+    field public static final int OPEN_FAILURE = 4; // 0x4
+    field public static final int WRITE_FAILURE = 1; // 0x1
+  }
+
+  public class FileHandler extends java.util.logging.StreamHandler {
+    ctor public FileHandler() throws java.io.IOException, java.lang.SecurityException;
+    ctor public FileHandler(String) throws java.io.IOException, java.lang.SecurityException;
+    ctor public FileHandler(String, boolean) throws java.io.IOException, java.lang.SecurityException;
+    ctor public FileHandler(String, int, int) throws java.io.IOException, java.lang.SecurityException;
+    ctor public FileHandler(String, int, int, boolean) throws java.io.IOException, java.lang.SecurityException;
+  }
+
+  @java.lang.FunctionalInterface public interface Filter {
+    method public boolean isLoggable(java.util.logging.LogRecord);
+  }
+
+  public abstract class Formatter {
+    ctor protected Formatter();
+    method public abstract String format(java.util.logging.LogRecord);
+    method public String formatMessage(java.util.logging.LogRecord);
+    method public String getHead(java.util.logging.Handler);
+    method public String getTail(java.util.logging.Handler);
+  }
+
+  public abstract class Handler {
+    ctor protected Handler();
+    method public abstract void close() throws java.lang.SecurityException;
+    method public abstract void flush();
+    method public String getEncoding();
+    method public java.util.logging.ErrorManager getErrorManager();
+    method public java.util.logging.Filter getFilter();
+    method public java.util.logging.Formatter getFormatter();
+    method public java.util.logging.Level getLevel();
+    method public boolean isLoggable(java.util.logging.LogRecord);
+    method public abstract void publish(java.util.logging.LogRecord);
+    method protected void reportError(String, Exception, int);
+    method public void setEncoding(String) throws java.lang.SecurityException, java.io.UnsupportedEncodingException;
+    method public void setErrorManager(java.util.logging.ErrorManager);
+    method public void setFilter(java.util.logging.Filter) throws java.lang.SecurityException;
+    method public void setFormatter(java.util.logging.Formatter) throws java.lang.SecurityException;
+    method public void setLevel(java.util.logging.Level) throws java.lang.SecurityException;
+  }
+
+  public class Level implements java.io.Serializable {
+    ctor protected Level(@NonNull String, int);
+    ctor protected Level(@NonNull String, int, @Nullable String);
+    method @NonNull public String getLocalizedName();
+    method @NonNull public String getName();
+    method @Nullable public String getResourceBundleName();
+    method public final int intValue();
+    method @NonNull public static java.util.logging.Level parse(@NonNull String) throws java.lang.IllegalArgumentException;
+    method @NonNull public final String toString();
+    field @NonNull public static final java.util.logging.Level ALL;
+    field @NonNull public static final java.util.logging.Level CONFIG;
+    field @NonNull public static final java.util.logging.Level FINE;
+    field @NonNull public static final java.util.logging.Level FINER;
+    field @NonNull public static final java.util.logging.Level FINEST;
+    field @NonNull public static final java.util.logging.Level INFO;
+    field @NonNull public static final java.util.logging.Level OFF;
+    field @NonNull public static final java.util.logging.Level SEVERE;
+    field @NonNull public static final java.util.logging.Level WARNING;
+  }
+
+  public class LogManager {
+    ctor protected LogManager();
+    method public boolean addLogger(java.util.logging.Logger);
+    method @Deprecated public void addPropertyChangeListener(java.beans.PropertyChangeListener) throws java.lang.SecurityException;
+    method public void checkAccess() throws java.lang.SecurityException;
+    method public static java.util.logging.LogManager getLogManager();
+    method public java.util.logging.Logger getLogger(String);
+    method public java.util.Enumeration<java.lang.String> getLoggerNames();
+    method public static java.util.logging.LoggingMXBean getLoggingMXBean();
+    method public String getProperty(String);
+    method public void readConfiguration() throws java.io.IOException, java.lang.SecurityException;
+    method public void readConfiguration(java.io.InputStream) throws java.io.IOException, java.lang.SecurityException;
+    method @Deprecated public void removePropertyChangeListener(java.beans.PropertyChangeListener) throws java.lang.SecurityException;
+    method public void reset() throws java.lang.SecurityException;
+    field public static final String LOGGING_MXBEAN_NAME = "java.util.logging:type=Logging";
+  }
+
+  public class LogRecord implements java.io.Serializable {
+    ctor public LogRecord(java.util.logging.Level, String);
+    method public java.util.logging.Level getLevel();
+    method public String getLoggerName();
+    method public String getMessage();
+    method public long getMillis();
+    method public Object[] getParameters();
+    method public java.util.ResourceBundle getResourceBundle();
+    method public String getResourceBundleName();
+    method public long getSequenceNumber();
+    method public String getSourceClassName();
+    method public String getSourceMethodName();
+    method public int getThreadID();
+    method public Throwable getThrown();
+    method public void setLevel(java.util.logging.Level);
+    method public void setLoggerName(String);
+    method public void setMessage(String);
+    method public void setMillis(long);
+    method public void setParameters(Object[]);
+    method public void setResourceBundle(java.util.ResourceBundle);
+    method public void setResourceBundleName(String);
+    method public void setSequenceNumber(long);
+    method public void setSourceClassName(String);
+    method public void setSourceMethodName(String);
+    method public void setThreadID(int);
+    method public void setThrown(Throwable);
+  }
+
+  public class Logger {
+    ctor protected Logger(@Nullable String, @Nullable String);
+    method public void addHandler(@NonNull java.util.logging.Handler) throws java.lang.SecurityException;
+    method public void config(@Nullable String);
+    method public void config(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public void entering(@Nullable String, @Nullable String);
+    method public void entering(@Nullable String, @Nullable String, @Nullable Object);
+    method public void entering(@Nullable String, @Nullable String, @Nullable Object[]);
+    method public void exiting(@Nullable String, @Nullable String);
+    method public void exiting(@Nullable String, @Nullable String, @Nullable Object);
+    method public void fine(@Nullable String);
+    method public void fine(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public void finer(@Nullable String);
+    method public void finer(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public void finest(@Nullable String);
+    method public void finest(@NonNull java.util.function.Supplier<java.lang.String>);
+    method @NonNull public static java.util.logging.Logger getAnonymousLogger();
+    method @NonNull public static java.util.logging.Logger getAnonymousLogger(@Nullable String);
+    method @Nullable public java.util.logging.Filter getFilter();
+    method @NonNull public static final java.util.logging.Logger getGlobal();
+    method @NonNull public java.util.logging.Handler[] getHandlers();
+    method @Nullable public java.util.logging.Level getLevel();
+    method @NonNull public static java.util.logging.Logger getLogger(@NonNull String);
+    method @NonNull public static java.util.logging.Logger getLogger(@NonNull String, @Nullable String);
+    method @Nullable public String getName();
+    method @Nullable public java.util.logging.Logger getParent();
+    method @Nullable public java.util.ResourceBundle getResourceBundle();
+    method @Nullable public String getResourceBundleName();
+    method public boolean getUseParentHandlers();
+    method public void info(@Nullable String);
+    method public void info(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public boolean isLoggable(@NonNull java.util.logging.Level);
+    method public void log(@NonNull java.util.logging.LogRecord);
+    method public void log(@NonNull java.util.logging.Level, @Nullable String);
+    method public void log(@NonNull java.util.logging.Level, @NonNull java.util.function.Supplier<java.lang.String>);
+    method public void log(@NonNull java.util.logging.Level, @Nullable String, @Nullable Object);
+    method public void log(@NonNull java.util.logging.Level, @Nullable String, @Nullable Object[]);
+    method public void log(@NonNull java.util.logging.Level, @Nullable String, @Nullable Throwable);
+    method public void log(@NonNull java.util.logging.Level, @Nullable Throwable, @NonNull java.util.function.Supplier<java.lang.String>);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @NonNull java.util.function.Supplier<java.lang.String>);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable Object);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable Object[]);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable Throwable);
+    method public void logp(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable Throwable, @NonNull java.util.function.Supplier<java.lang.String>);
+    method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String);
+    method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String, @Nullable Object);
+    method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String, @Nullable Object[]);
+    method public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable java.util.ResourceBundle, @Nullable String, @Nullable java.lang.Object...);
+    method @Deprecated public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable String, @Nullable String, @Nullable Throwable);
+    method public void logrb(@NonNull java.util.logging.Level, @Nullable String, @Nullable String, @Nullable java.util.ResourceBundle, @Nullable String, @Nullable Throwable);
+    method public void removeHandler(@Nullable java.util.logging.Handler) throws java.lang.SecurityException;
+    method public void setFilter(@Nullable java.util.logging.Filter) throws java.lang.SecurityException;
+    method public void setLevel(@Nullable java.util.logging.Level) throws java.lang.SecurityException;
+    method public void setParent(@NonNull java.util.logging.Logger);
+    method public void setResourceBundle(@NonNull java.util.ResourceBundle);
+    method public void setUseParentHandlers(boolean);
+    method public void severe(@Nullable String);
+    method public void severe(@NonNull java.util.function.Supplier<java.lang.String>);
+    method public void throwing(@Nullable String, @Nullable String, @Nullable Throwable);
+    method public void warning(@Nullable String);
+    method public void warning(@NonNull java.util.function.Supplier<java.lang.String>);
+    field @NonNull public static final String GLOBAL_LOGGER_NAME = "global";
+    field @Deprecated @NonNull public static final java.util.logging.Logger global;
+  }
+
+  public interface LoggingMXBean {
+    method public String getLoggerLevel(String);
+    method public java.util.List<java.lang.String> getLoggerNames();
+    method public String getParentLoggerName(String);
+    method public void setLoggerLevel(String, String);
+  }
+
+  public final class LoggingPermission extends java.security.BasicPermission {
+    ctor public LoggingPermission(String, String) throws java.lang.IllegalArgumentException;
+  }
+
+  public class MemoryHandler extends java.util.logging.Handler {
+    ctor public MemoryHandler();
+    ctor public MemoryHandler(java.util.logging.Handler, int, java.util.logging.Level);
+    method public void close() throws java.lang.SecurityException;
+    method public void flush();
+    method public java.util.logging.Level getPushLevel();
+    method public void publish(java.util.logging.LogRecord);
+    method public void push();
+    method public void setPushLevel(java.util.logging.Level) throws java.lang.SecurityException;
+  }
+
+  public class SimpleFormatter extends java.util.logging.Formatter {
+    ctor public SimpleFormatter();
+    method public String format(java.util.logging.LogRecord);
+  }
+
+  public class SocketHandler extends java.util.logging.StreamHandler {
+    ctor public SocketHandler() throws java.io.IOException;
+    ctor public SocketHandler(String, int) throws java.io.IOException;
+  }
+
+  public class StreamHandler extends java.util.logging.Handler {
+    ctor public StreamHandler();
+    ctor public StreamHandler(java.io.OutputStream, java.util.logging.Formatter);
+    method public void close() throws java.lang.SecurityException;
+    method public void flush();
+    method public void publish(java.util.logging.LogRecord);
+    method protected void setOutputStream(java.io.OutputStream) throws java.lang.SecurityException;
+  }
+
+  public class XMLFormatter extends java.util.logging.Formatter {
+    ctor public XMLFormatter();
+    method public String format(java.util.logging.LogRecord);
+  }
+
+}
+
+package java.util.prefs {
+
+  public abstract class AbstractPreferences extends java.util.prefs.Preferences {
+    ctor protected AbstractPreferences(java.util.prefs.AbstractPreferences, String);
+    method public String absolutePath();
+    method public void addNodeChangeListener(java.util.prefs.NodeChangeListener);
+    method public void addPreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+    method protected final java.util.prefs.AbstractPreferences[] cachedChildren();
+    method protected abstract java.util.prefs.AbstractPreferences childSpi(String);
+    method public String[] childrenNames() throws java.util.prefs.BackingStoreException;
+    method protected abstract String[] childrenNamesSpi() throws java.util.prefs.BackingStoreException;
+    method public void clear() throws java.util.prefs.BackingStoreException;
+    method public void exportNode(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+    method public void exportSubtree(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+    method public void flush() throws java.util.prefs.BackingStoreException;
+    method protected abstract void flushSpi() throws java.util.prefs.BackingStoreException;
+    method public String get(String, String);
+    method public boolean getBoolean(String, boolean);
+    method public byte[] getByteArray(String, byte[]);
+    method protected java.util.prefs.AbstractPreferences getChild(String) throws java.util.prefs.BackingStoreException;
+    method public double getDouble(String, double);
+    method public float getFloat(String, float);
+    method public int getInt(String, int);
+    method public long getLong(String, long);
+    method protected abstract String getSpi(String);
+    method protected boolean isRemoved();
+    method public boolean isUserNode();
+    method public String[] keys() throws java.util.prefs.BackingStoreException;
+    method protected abstract String[] keysSpi() throws java.util.prefs.BackingStoreException;
+    method public String name();
+    method public java.util.prefs.Preferences node(String);
+    method public boolean nodeExists(String) throws java.util.prefs.BackingStoreException;
+    method public java.util.prefs.Preferences parent();
+    method public void put(String, String);
+    method public void putBoolean(String, boolean);
+    method public void putByteArray(String, byte[]);
+    method public void putDouble(String, double);
+    method public void putFloat(String, float);
+    method public void putInt(String, int);
+    method public void putLong(String, long);
+    method protected abstract void putSpi(String, String);
+    method public void remove(String);
+    method public void removeNode() throws java.util.prefs.BackingStoreException;
+    method public void removeNodeChangeListener(java.util.prefs.NodeChangeListener);
+    method protected abstract void removeNodeSpi() throws java.util.prefs.BackingStoreException;
+    method public void removePreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+    method protected abstract void removeSpi(String);
+    method public void sync() throws java.util.prefs.BackingStoreException;
+    method protected abstract void syncSpi() throws java.util.prefs.BackingStoreException;
+    field protected final Object lock;
+    field protected boolean newNode;
+  }
+
+  public class BackingStoreException extends java.lang.Exception {
+    ctor public BackingStoreException(String);
+    ctor public BackingStoreException(Throwable);
+  }
+
+  public class InvalidPreferencesFormatException extends java.lang.Exception {
+    ctor public InvalidPreferencesFormatException(Throwable);
+    ctor public InvalidPreferencesFormatException(String);
+    ctor public InvalidPreferencesFormatException(String, Throwable);
+  }
+
+  public class NodeChangeEvent extends java.util.EventObject {
+    ctor public NodeChangeEvent(java.util.prefs.Preferences, java.util.prefs.Preferences);
+    method public java.util.prefs.Preferences getChild();
+    method public java.util.prefs.Preferences getParent();
+  }
+
+  public interface NodeChangeListener extends java.util.EventListener {
+    method public void childAdded(java.util.prefs.NodeChangeEvent);
+    method public void childRemoved(java.util.prefs.NodeChangeEvent);
+  }
+
+  public class PreferenceChangeEvent extends java.util.EventObject {
+    ctor public PreferenceChangeEvent(java.util.prefs.Preferences, String, String);
+    method public String getKey();
+    method public String getNewValue();
+    method public java.util.prefs.Preferences getNode();
+  }
+
+  @java.lang.FunctionalInterface public interface PreferenceChangeListener extends java.util.EventListener {
+    method public void preferenceChange(java.util.prefs.PreferenceChangeEvent);
+  }
+
+  public abstract class Preferences {
+    ctor protected Preferences();
+    method public abstract String absolutePath();
+    method public abstract void addNodeChangeListener(java.util.prefs.NodeChangeListener);
+    method public abstract void addPreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+    method public abstract String[] childrenNames() throws java.util.prefs.BackingStoreException;
+    method public abstract void clear() throws java.util.prefs.BackingStoreException;
+    method public abstract void exportNode(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+    method public abstract void exportSubtree(java.io.OutputStream) throws java.util.prefs.BackingStoreException, java.io.IOException;
+    method public abstract void flush() throws java.util.prefs.BackingStoreException;
+    method public abstract String get(String, String);
+    method public abstract boolean getBoolean(String, boolean);
+    method public abstract byte[] getByteArray(String, byte[]);
+    method public abstract double getDouble(String, double);
+    method public abstract float getFloat(String, float);
+    method public abstract int getInt(String, int);
+    method public abstract long getLong(String, long);
+    method public static void importPreferences(java.io.InputStream) throws java.io.IOException, java.util.prefs.InvalidPreferencesFormatException;
+    method public abstract boolean isUserNode();
+    method public abstract String[] keys() throws java.util.prefs.BackingStoreException;
+    method public abstract String name();
+    method public abstract java.util.prefs.Preferences node(String);
+    method public abstract boolean nodeExists(String) throws java.util.prefs.BackingStoreException;
+    method public abstract java.util.prefs.Preferences parent();
+    method public abstract void put(String, String);
+    method public abstract void putBoolean(String, boolean);
+    method public abstract void putByteArray(String, byte[]);
+    method public abstract void putDouble(String, double);
+    method public abstract void putFloat(String, float);
+    method public abstract void putInt(String, int);
+    method public abstract void putLong(String, long);
+    method public abstract void remove(String);
+    method public abstract void removeNode() throws java.util.prefs.BackingStoreException;
+    method public abstract void removeNodeChangeListener(java.util.prefs.NodeChangeListener);
+    method public abstract void removePreferenceChangeListener(java.util.prefs.PreferenceChangeListener);
+    method public abstract void sync() throws java.util.prefs.BackingStoreException;
+    method public static java.util.prefs.Preferences systemNodeForPackage(Class<?>);
+    method public static java.util.prefs.Preferences systemRoot();
+    method public abstract String toString();
+    method public static java.util.prefs.Preferences userNodeForPackage(Class<?>);
+    method public static java.util.prefs.Preferences userRoot();
+    field public static final int MAX_KEY_LENGTH = 80; // 0x50
+    field public static final int MAX_NAME_LENGTH = 80; // 0x50
+    field public static final int MAX_VALUE_LENGTH = 8192; // 0x2000
+  }
+
+  public interface PreferencesFactory {
+    method public java.util.prefs.Preferences systemRoot();
+    method public java.util.prefs.Preferences userRoot();
+  }
+
+}
+
+package java.util.regex {
+
+  public interface MatchResult {
+    method public int end();
+    method public int end(int);
+    method public String group();
+    method public String group(int);
+    method public int groupCount();
+    method public int start();
+    method public int start(int);
+  }
+
+  public final class Matcher implements java.util.regex.MatchResult {
+    method @NonNull public java.util.regex.Matcher appendReplacement(@NonNull StringBuffer, @NonNull String);
+    method @NonNull public StringBuffer appendTail(@NonNull StringBuffer);
+    method public int end();
+    method public int end(int);
+    method public int end(@NonNull String);
+    method public boolean find();
+    method public boolean find(int);
+    method @NonNull public String group();
+    method @Nullable public String group(int);
+    method @Nullable public String group(@NonNull String);
+    method public int groupCount();
+    method public boolean hasAnchoringBounds();
+    method public boolean hasTransparentBounds();
+    method public boolean hitEnd();
+    method public boolean lookingAt();
+    method public boolean matches();
+    method @NonNull public java.util.regex.Pattern pattern();
+    method @NonNull public static String quoteReplacement(@NonNull String);
+    method @NonNull public java.util.regex.Matcher region(int, int);
+    method public int regionEnd();
+    method public int regionStart();
+    method @NonNull public String replaceAll(@NonNull String);
+    method @NonNull public String replaceFirst(@NonNull String);
+    method public boolean requireEnd();
+    method @NonNull public java.util.regex.Matcher reset();
+    method @NonNull public java.util.regex.Matcher reset(@NonNull CharSequence);
+    method public int start();
+    method public int start(int);
+    method public int start(@NonNull String);
+    method @NonNull public java.util.regex.MatchResult toMatchResult();
+    method @NonNull public java.util.regex.Matcher useAnchoringBounds(boolean);
+    method @NonNull public java.util.regex.Matcher usePattern(@NonNull java.util.regex.Pattern);
+    method @NonNull public java.util.regex.Matcher useTransparentBounds(boolean);
+  }
+
+  public final class Pattern implements java.io.Serializable {
+    method @NonNull public java.util.function.Predicate<java.lang.String> asPredicate();
+    method @NonNull public static java.util.regex.Pattern compile(@NonNull String);
+    method @NonNull public static java.util.regex.Pattern compile(@NonNull String, int);
+    method public int flags();
+    method @NonNull public java.util.regex.Matcher matcher(@NonNull CharSequence);
+    method public static boolean matches(@NonNull String, @NonNull CharSequence);
+    method @NonNull public String pattern();
+    method @NonNull public static String quote(@NonNull String);
+    method @NonNull public String[] split(@NonNull CharSequence, int);
+    method @NonNull public String[] split(@NonNull CharSequence);
+    method @NonNull public java.util.stream.Stream<java.lang.String> splitAsStream(@NonNull CharSequence);
+    field public static final int CANON_EQ = 128; // 0x80
+    field public static final int CASE_INSENSITIVE = 2; // 0x2
+    field public static final int COMMENTS = 4; // 0x4
+    field public static final int DOTALL = 32; // 0x20
+    field public static final int LITERAL = 16; // 0x10
+    field public static final int MULTILINE = 8; // 0x8
+    field public static final int UNICODE_CASE = 64; // 0x40
+    field public static final int UNICODE_CHARACTER_CLASS = 256; // 0x100
+    field public static final int UNIX_LINES = 1; // 0x1
+  }
+
+  public class PatternSyntaxException extends java.lang.IllegalArgumentException {
+    ctor public PatternSyntaxException(String, String, int);
+    method public String getDescription();
+    method public int getIndex();
+    method public String getPattern();
+  }
+
+}
+
+package java.util.stream {
+
+  public interface BaseStream<T, S extends java.util.stream.BaseStream<T, S>> extends java.lang.AutoCloseable {
+    method public void close();
+    method public boolean isParallel();
+    method public java.util.Iterator<T> iterator();
+    method public S onClose(Runnable);
+    method public S parallel();
+    method public S sequential();
+    method public java.util.Spliterator<T> spliterator();
+    method public S unordered();
+  }
+
+  public interface Collector<T, A, R> {
+    method public java.util.function.BiConsumer<A,T> accumulator();
+    method public java.util.Set<java.util.stream.Collector.Characteristics> characteristics();
+    method public java.util.function.BinaryOperator<A> combiner();
+    method public java.util.function.Function<A,R> finisher();
+    method public static <T, R> java.util.stream.Collector<T,R,R> of(java.util.function.Supplier<R>, java.util.function.BiConsumer<R,T>, java.util.function.BinaryOperator<R>, java.util.stream.Collector.Characteristics...);
+    method public static <T, A, R> java.util.stream.Collector<T,A,R> of(java.util.function.Supplier<A>, java.util.function.BiConsumer<A,T>, java.util.function.BinaryOperator<A>, java.util.function.Function<A,R>, java.util.stream.Collector.Characteristics...);
+    method public java.util.function.Supplier<A> supplier();
+  }
+
+  public enum Collector.Characteristics {
+    enum_constant public static final java.util.stream.Collector.Characteristics CONCURRENT;
+    enum_constant public static final java.util.stream.Collector.Characteristics IDENTITY_FINISH;
+    enum_constant public static final java.util.stream.Collector.Characteristics UNORDERED;
+  }
+
+  public final class Collectors {
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Double> averagingDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Double> averagingInt(java.util.function.ToIntFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Double> averagingLong(java.util.function.ToLongFunction<? super T>);
+    method public static <T, A, R, RR> java.util.stream.Collector<T,A,RR> collectingAndThen(java.util.stream.Collector<T,A,R>, java.util.function.Function<R,RR>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Long> counting();
+    method public static <T, K> java.util.stream.Collector<T,?,java.util.Map<K,java.util.List<T>>> groupingBy(java.util.function.Function<? super T,? extends K>);
+    method public static <T, K, A, D> java.util.stream.Collector<T,?,java.util.Map<K,D>> groupingBy(java.util.function.Function<? super T,? extends K>, java.util.stream.Collector<? super T,A,D>);
+    method public static <T, K, D, A, M extends java.util.Map<K, D>> java.util.stream.Collector<T,?,M> groupingBy(java.util.function.Function<? super T,? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T,A,D>);
+    method public static <T, K> java.util.stream.Collector<T,?,java.util.concurrent.ConcurrentMap<K,java.util.List<T>>> groupingByConcurrent(java.util.function.Function<? super T,? extends K>);
+    method public static <T, K, A, D> java.util.stream.Collector<T,?,java.util.concurrent.ConcurrentMap<K,D>> groupingByConcurrent(java.util.function.Function<? super T,? extends K>, java.util.stream.Collector<? super T,A,D>);
+    method public static <T, K, A, D, M extends java.util.concurrent.ConcurrentMap<K, D>> java.util.stream.Collector<T,?,M> groupingByConcurrent(java.util.function.Function<? super T,? extends K>, java.util.function.Supplier<M>, java.util.stream.Collector<? super T,A,D>);
+    method public static java.util.stream.Collector<java.lang.CharSequence,?,java.lang.String> joining();
+    method public static java.util.stream.Collector<java.lang.CharSequence,?,java.lang.String> joining(CharSequence);
+    method public static java.util.stream.Collector<java.lang.CharSequence,?,java.lang.String> joining(CharSequence, CharSequence, CharSequence);
+    method public static <T, U, A, R> java.util.stream.Collector<T,?,R> mapping(java.util.function.Function<? super T,? extends U>, java.util.stream.Collector<? super U,A,R>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.Optional<T>> maxBy(java.util.Comparator<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.Optional<T>> minBy(java.util.Comparator<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.Map<java.lang.Boolean,java.util.List<T>>> partitioningBy(java.util.function.Predicate<? super T>);
+    method public static <T, D, A> java.util.stream.Collector<T,?,java.util.Map<java.lang.Boolean,D>> partitioningBy(java.util.function.Predicate<? super T>, java.util.stream.Collector<? super T,A,D>);
+    method public static <T> java.util.stream.Collector<T,?,T> reducing(T, java.util.function.BinaryOperator<T>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.Optional<T>> reducing(java.util.function.BinaryOperator<T>);
+    method public static <T, U> java.util.stream.Collector<T,?,U> reducing(U, java.util.function.Function<? super T,? extends U>, java.util.function.BinaryOperator<U>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.DoubleSummaryStatistics> summarizingDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.IntSummaryStatistics> summarizingInt(java.util.function.ToIntFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.LongSummaryStatistics> summarizingLong(java.util.function.ToLongFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Double> summingDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Integer> summingInt(java.util.function.ToIntFunction<? super T>);
+    method public static <T> java.util.stream.Collector<T,?,java.lang.Long> summingLong(java.util.function.ToLongFunction<? super T>);
+    method public static <T, C extends java.util.Collection<T>> java.util.stream.Collector<T,?,C> toCollection(java.util.function.Supplier<C>);
+    method public static <T, K, U> java.util.stream.Collector<T,?,java.util.concurrent.ConcurrentMap<K,U>> toConcurrentMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>);
+    method public static <T, K, U> java.util.stream.Collector<T,?,java.util.concurrent.ConcurrentMap<K,U>> toConcurrentMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>, java.util.function.BinaryOperator<U>);
+    method public static <T, K, U, M extends java.util.concurrent.ConcurrentMap<K, U>> java.util.stream.Collector<T,?,M> toConcurrentMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.List<T>> toList();
+    method public static <T, K, U> java.util.stream.Collector<T,?,java.util.Map<K,U>> toMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>);
+    method public static <T, K, U> java.util.stream.Collector<T,?,java.util.Map<K,U>> toMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>, java.util.function.BinaryOperator<U>);
+    method public static <T, K, U, M extends java.util.Map<K, U>> java.util.stream.Collector<T,?,M> toMap(java.util.function.Function<? super T,? extends K>, java.util.function.Function<? super T,? extends U>, java.util.function.BinaryOperator<U>, java.util.function.Supplier<M>);
+    method public static <T> java.util.stream.Collector<T,?,java.util.Set<T>> toSet();
+  }
+
+  public interface DoubleStream extends java.util.stream.BaseStream<java.lang.Double,java.util.stream.DoubleStream> {
+    method public boolean allMatch(java.util.function.DoublePredicate);
+    method public boolean anyMatch(java.util.function.DoublePredicate);
+    method public java.util.OptionalDouble average();
+    method public java.util.stream.Stream<java.lang.Double> boxed();
+    method public static java.util.stream.DoubleStream.Builder builder();
+    method public <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjDoubleConsumer<R>, java.util.function.BiConsumer<R,R>);
+    method public static java.util.stream.DoubleStream concat(java.util.stream.DoubleStream, java.util.stream.DoubleStream);
+    method public long count();
+    method public java.util.stream.DoubleStream distinct();
+    method public static java.util.stream.DoubleStream empty();
+    method public java.util.stream.DoubleStream filter(java.util.function.DoublePredicate);
+    method public java.util.OptionalDouble findAny();
+    method public java.util.OptionalDouble findFirst();
+    method public java.util.stream.DoubleStream flatMap(java.util.function.DoubleFunction<? extends java.util.stream.DoubleStream>);
+    method public void forEach(java.util.function.DoubleConsumer);
+    method public void forEachOrdered(java.util.function.DoubleConsumer);
+    method public static java.util.stream.DoubleStream generate(java.util.function.DoubleSupplier);
+    method public static java.util.stream.DoubleStream iterate(double, java.util.function.DoubleUnaryOperator);
+    method public java.util.PrimitiveIterator.OfDouble iterator();
+    method public java.util.stream.DoubleStream limit(long);
+    method public java.util.stream.DoubleStream map(java.util.function.DoubleUnaryOperator);
+    method public java.util.stream.IntStream mapToInt(java.util.function.DoubleToIntFunction);
+    method public java.util.stream.LongStream mapToLong(java.util.function.DoubleToLongFunction);
+    method public <U> java.util.stream.Stream<U> mapToObj(java.util.function.DoubleFunction<? extends U>);
+    method public java.util.OptionalDouble max();
+    method public java.util.OptionalDouble min();
+    method public boolean noneMatch(java.util.function.DoublePredicate);
+    method public static java.util.stream.DoubleStream of(double);
+    method public static java.util.stream.DoubleStream of(double...);
+    method public java.util.stream.DoubleStream parallel();
+    method public java.util.stream.DoubleStream peek(java.util.function.DoubleConsumer);
+    method public double reduce(double, java.util.function.DoubleBinaryOperator);
+    method public java.util.OptionalDouble reduce(java.util.function.DoubleBinaryOperator);
+    method public java.util.stream.DoubleStream sequential();
+    method public java.util.stream.DoubleStream skip(long);
+    method public java.util.stream.DoubleStream sorted();
+    method public java.util.Spliterator.OfDouble spliterator();
+    method public double sum();
+    method public java.util.DoubleSummaryStatistics summaryStatistics();
+    method public double[] toArray();
+  }
+
+  public static interface DoubleStream.Builder extends java.util.function.DoubleConsumer {
+    method public default java.util.stream.DoubleStream.Builder add(double);
+    method public java.util.stream.DoubleStream build();
+  }
+
+  public interface IntStream extends java.util.stream.BaseStream<java.lang.Integer,java.util.stream.IntStream> {
+    method public boolean allMatch(java.util.function.IntPredicate);
+    method public boolean anyMatch(java.util.function.IntPredicate);
+    method public java.util.stream.DoubleStream asDoubleStream();
+    method public java.util.stream.LongStream asLongStream();
+    method public java.util.OptionalDouble average();
+    method public java.util.stream.Stream<java.lang.Integer> boxed();
+    method public static java.util.stream.IntStream.Builder builder();
+    method public <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjIntConsumer<R>, java.util.function.BiConsumer<R,R>);
+    method public static java.util.stream.IntStream concat(java.util.stream.IntStream, java.util.stream.IntStream);
+    method public long count();
+    method public java.util.stream.IntStream distinct();
+    method public static java.util.stream.IntStream empty();
+    method public java.util.stream.IntStream filter(java.util.function.IntPredicate);
+    method public java.util.OptionalInt findAny();
+    method public java.util.OptionalInt findFirst();
+    method public java.util.stream.IntStream flatMap(java.util.function.IntFunction<? extends java.util.stream.IntStream>);
+    method public void forEach(java.util.function.IntConsumer);
+    method public void forEachOrdered(java.util.function.IntConsumer);
+    method public static java.util.stream.IntStream generate(java.util.function.IntSupplier);
+    method public static java.util.stream.IntStream iterate(int, java.util.function.IntUnaryOperator);
+    method public java.util.PrimitiveIterator.OfInt iterator();
+    method public java.util.stream.IntStream limit(long);
+    method public java.util.stream.IntStream map(java.util.function.IntUnaryOperator);
+    method public java.util.stream.DoubleStream mapToDouble(java.util.function.IntToDoubleFunction);
+    method public java.util.stream.LongStream mapToLong(java.util.function.IntToLongFunction);
+    method public <U> java.util.stream.Stream<U> mapToObj(java.util.function.IntFunction<? extends U>);
+    method public java.util.OptionalInt max();
+    method public java.util.OptionalInt min();
+    method public boolean noneMatch(java.util.function.IntPredicate);
+    method public static java.util.stream.IntStream of(int);
+    method public static java.util.stream.IntStream of(int...);
+    method public java.util.stream.IntStream parallel();
+    method public java.util.stream.IntStream peek(java.util.function.IntConsumer);
+    method public static java.util.stream.IntStream range(int, int);
+    method public static java.util.stream.IntStream rangeClosed(int, int);
+    method public int reduce(int, java.util.function.IntBinaryOperator);
+    method public java.util.OptionalInt reduce(java.util.function.IntBinaryOperator);
+    method public java.util.stream.IntStream sequential();
+    method public java.util.stream.IntStream skip(long);
+    method public java.util.stream.IntStream sorted();
+    method public java.util.Spliterator.OfInt spliterator();
+    method public int sum();
+    method public java.util.IntSummaryStatistics summaryStatistics();
+    method public int[] toArray();
+  }
+
+  public static interface IntStream.Builder extends java.util.function.IntConsumer {
+    method public default java.util.stream.IntStream.Builder add(int);
+    method public java.util.stream.IntStream build();
+  }
+
+  public interface LongStream extends java.util.stream.BaseStream<java.lang.Long,java.util.stream.LongStream> {
+    method public boolean allMatch(java.util.function.LongPredicate);
+    method public boolean anyMatch(java.util.function.LongPredicate);
+    method public java.util.stream.DoubleStream asDoubleStream();
+    method public java.util.OptionalDouble average();
+    method public java.util.stream.Stream<java.lang.Long> boxed();
+    method public static java.util.stream.LongStream.Builder builder();
+    method public <R> R collect(java.util.function.Supplier<R>, java.util.function.ObjLongConsumer<R>, java.util.function.BiConsumer<R,R>);
+    method public static java.util.stream.LongStream concat(java.util.stream.LongStream, java.util.stream.LongStream);
+    method public long count();
+    method public java.util.stream.LongStream distinct();
+    method public static java.util.stream.LongStream empty();
+    method public java.util.stream.LongStream filter(java.util.function.LongPredicate);
+    method public java.util.OptionalLong findAny();
+    method public java.util.OptionalLong findFirst();
+    method public java.util.stream.LongStream flatMap(java.util.function.LongFunction<? extends java.util.stream.LongStream>);
+    method public void forEach(java.util.function.LongConsumer);
+    method public void forEachOrdered(java.util.function.LongConsumer);
+    method public static java.util.stream.LongStream generate(java.util.function.LongSupplier);
+    method public static java.util.stream.LongStream iterate(long, java.util.function.LongUnaryOperator);
+    method public java.util.PrimitiveIterator.OfLong iterator();
+    method public java.util.stream.LongStream limit(long);
+    method public java.util.stream.LongStream map(java.util.function.LongUnaryOperator);
+    method public java.util.stream.DoubleStream mapToDouble(java.util.function.LongToDoubleFunction);
+    method public java.util.stream.IntStream mapToInt(java.util.function.LongToIntFunction);
+    method public <U> java.util.stream.Stream<U> mapToObj(java.util.function.LongFunction<? extends U>);
+    method public java.util.OptionalLong max();
+    method public java.util.OptionalLong min();
+    method public boolean noneMatch(java.util.function.LongPredicate);
+    method public static java.util.stream.LongStream of(long);
+    method public static java.util.stream.LongStream of(long...);
+    method public java.util.stream.LongStream parallel();
+    method public java.util.stream.LongStream peek(java.util.function.LongConsumer);
+    method public static java.util.stream.LongStream range(long, long);
+    method public static java.util.stream.LongStream rangeClosed(long, long);
+    method public long reduce(long, java.util.function.LongBinaryOperator);
+    method public java.util.OptionalLong reduce(java.util.function.LongBinaryOperator);
+    method public java.util.stream.LongStream sequential();
+    method public java.util.stream.LongStream skip(long);
+    method public java.util.stream.LongStream sorted();
+    method public java.util.Spliterator.OfLong spliterator();
+    method public long sum();
+    method public java.util.LongSummaryStatistics summaryStatistics();
+    method public long[] toArray();
+  }
+
+  public static interface LongStream.Builder extends java.util.function.LongConsumer {
+    method public default java.util.stream.LongStream.Builder add(long);
+    method public java.util.stream.LongStream build();
+  }
+
+  public interface Stream<T> extends java.util.stream.BaseStream<T,java.util.stream.Stream<T>> {
+    method public boolean allMatch(java.util.function.Predicate<? super T>);
+    method public boolean anyMatch(java.util.function.Predicate<? super T>);
+    method public static <T> java.util.stream.Stream.Builder<T> builder();
+    method public <R> R collect(java.util.function.Supplier<R>, java.util.function.BiConsumer<R,? super T>, java.util.function.BiConsumer<R,R>);
+    method public <R, A> R collect(java.util.stream.Collector<? super T,A,R>);
+    method public static <T> java.util.stream.Stream<T> concat(java.util.stream.Stream<? extends T>, java.util.stream.Stream<? extends T>);
+    method public long count();
+    method public java.util.stream.Stream<T> distinct();
+    method public static <T> java.util.stream.Stream<T> empty();
+    method public java.util.stream.Stream<T> filter(java.util.function.Predicate<? super T>);
+    method public java.util.Optional<T> findAny();
+    method public java.util.Optional<T> findFirst();
+    method public <R> java.util.stream.Stream<R> flatMap(java.util.function.Function<? super T,? extends java.util.stream.Stream<? extends R>>);
+    method public java.util.stream.DoubleStream flatMapToDouble(java.util.function.Function<? super T,? extends java.util.stream.DoubleStream>);
+    method public java.util.stream.IntStream flatMapToInt(java.util.function.Function<? super T,? extends java.util.stream.IntStream>);
+    method public java.util.stream.LongStream flatMapToLong(java.util.function.Function<? super T,? extends java.util.stream.LongStream>);
+    method public void forEach(java.util.function.Consumer<? super T>);
+    method public void forEachOrdered(java.util.function.Consumer<? super T>);
+    method public static <T> java.util.stream.Stream<T> generate(java.util.function.Supplier<T>);
+    method public static <T> java.util.stream.Stream<T> iterate(T, java.util.function.UnaryOperator<T>);
+    method public java.util.stream.Stream<T> limit(long);
+    method public <R> java.util.stream.Stream<R> map(java.util.function.Function<? super T,? extends R>);
+    method public java.util.stream.DoubleStream mapToDouble(java.util.function.ToDoubleFunction<? super T>);
+    method public java.util.stream.IntStream mapToInt(java.util.function.ToIntFunction<? super T>);
+    method public java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction<? super T>);
+    method public java.util.Optional<T> max(java.util.Comparator<? super T>);
+    method public java.util.Optional<T> min(java.util.Comparator<? super T>);
+    method public boolean noneMatch(java.util.function.Predicate<? super T>);
+    method public static <T> java.util.stream.Stream<T> of(T);
+    method @java.lang.SafeVarargs public static <T> java.util.stream.Stream<T> of(T...);
+    method public java.util.stream.Stream<T> peek(java.util.function.Consumer<? super T>);
+    method public T reduce(T, java.util.function.BinaryOperator<T>);
+    method public java.util.Optional<T> reduce(java.util.function.BinaryOperator<T>);
+    method public <U> U reduce(U, java.util.function.BiFunction<U,? super T,U>, java.util.function.BinaryOperator<U>);
+    method public java.util.stream.Stream<T> skip(long);
+    method public java.util.stream.Stream<T> sorted();
+    method public java.util.stream.Stream<T> sorted(java.util.Comparator<? super T>);
+    method public Object[] toArray();
+    method public <A> A[] toArray(java.util.function.IntFunction<A[]>);
+  }
+
+  public static interface Stream.Builder<T> extends java.util.function.Consumer<T> {
+    method public default java.util.stream.Stream.Builder<T> add(T);
+    method public java.util.stream.Stream<T> build();
+  }
+
+  public final class StreamSupport {
+    method public static java.util.stream.DoubleStream doubleStream(java.util.Spliterator.OfDouble, boolean);
+    method public static java.util.stream.DoubleStream doubleStream(java.util.function.Supplier<? extends java.util.Spliterator.OfDouble>, int, boolean);
+    method public static java.util.stream.IntStream intStream(java.util.Spliterator.OfInt, boolean);
+    method public static java.util.stream.IntStream intStream(java.util.function.Supplier<? extends java.util.Spliterator.OfInt>, int, boolean);
+    method public static java.util.stream.LongStream longStream(java.util.Spliterator.OfLong, boolean);
+    method public static java.util.stream.LongStream longStream(java.util.function.Supplier<? extends java.util.Spliterator.OfLong>, int, boolean);
+    method public static <T> java.util.stream.Stream<T> stream(java.util.Spliterator<T>, boolean);
+    method public static <T> java.util.stream.Stream<T> stream(java.util.function.Supplier<? extends java.util.Spliterator<T>>, int, boolean);
+  }
+
+}
+
+package java.util.zip {
+
+  public class Adler32 implements java.util.zip.Checksum {
+    ctor public Adler32();
+    method public long getValue();
+    method public void reset();
+    method public void update(int);
+    method public void update(byte[], int, int);
+    method public void update(byte[]);
+    method public void update(java.nio.ByteBuffer);
+  }
+
+  public class CRC32 implements java.util.zip.Checksum {
+    ctor public CRC32();
+    method public long getValue();
+    method public void reset();
+    method public void update(int);
+    method public void update(byte[], int, int);
+    method public void update(byte[]);
+    method public void update(java.nio.ByteBuffer);
+  }
+
+  public class CheckedInputStream extends java.io.FilterInputStream {
+    ctor public CheckedInputStream(java.io.InputStream, java.util.zip.Checksum);
+    method public java.util.zip.Checksum getChecksum();
+  }
+
+  public class CheckedOutputStream extends java.io.FilterOutputStream {
+    ctor public CheckedOutputStream(java.io.OutputStream, java.util.zip.Checksum);
+    method public java.util.zip.Checksum getChecksum();
+  }
+
+  public interface Checksum {
+    method public long getValue();
+    method public void reset();
+    method public void update(int);
+    method public void update(byte[], int, int);
+  }
+
+  public class DataFormatException extends java.lang.Exception {
+    ctor public DataFormatException();
+    ctor public DataFormatException(String);
+  }
+
+  public class Deflater {
+    ctor public Deflater(int, boolean);
+    ctor public Deflater(int);
+    ctor public Deflater();
+    method public int deflate(byte[], int, int);
+    method public int deflate(byte[]);
+    method public int deflate(byte[], int, int, int);
+    method public void end();
+    method protected void finalize();
+    method public void finish();
+    method public boolean finished();
+    method public int getAdler();
+    method public long getBytesRead();
+    method public long getBytesWritten();
+    method public int getTotalIn();
+    method public int getTotalOut();
+    method public boolean needsInput();
+    method public void reset();
+    method public void setDictionary(byte[], int, int);
+    method public void setDictionary(byte[]);
+    method public void setInput(byte[], int, int);
+    method public void setInput(byte[]);
+    method public void setLevel(int);
+    method public void setStrategy(int);
+    field public static final int BEST_COMPRESSION = 9; // 0x9
+    field public static final int BEST_SPEED = 1; // 0x1
+    field public static final int DEFAULT_COMPRESSION = -1; // 0xffffffff
+    field public static final int DEFAULT_STRATEGY = 0; // 0x0
+    field public static final int DEFLATED = 8; // 0x8
+    field public static final int FILTERED = 1; // 0x1
+    field public static final int FULL_FLUSH = 3; // 0x3
+    field public static final int HUFFMAN_ONLY = 2; // 0x2
+    field public static final int NO_COMPRESSION = 0; // 0x0
+    field public static final int NO_FLUSH = 0; // 0x0
+    field public static final int SYNC_FLUSH = 2; // 0x2
+  }
+
+  public class DeflaterInputStream extends java.io.FilterInputStream {
+    ctor public DeflaterInputStream(java.io.InputStream);
+    ctor public DeflaterInputStream(java.io.InputStream, java.util.zip.Deflater);
+    ctor public DeflaterInputStream(java.io.InputStream, java.util.zip.Deflater, int);
+    field protected final byte[] buf;
+    field protected final java.util.zip.Deflater def;
+  }
+
+  public class DeflaterOutputStream extends java.io.FilterOutputStream {
+    ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater, int, boolean);
+    ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater, int);
+    ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater, boolean);
+    ctor public DeflaterOutputStream(java.io.OutputStream, java.util.zip.Deflater);
+    ctor public DeflaterOutputStream(java.io.OutputStream, boolean);
+    ctor public DeflaterOutputStream(java.io.OutputStream);
+    method protected void deflate() throws java.io.IOException;
+    method public void finish() throws java.io.IOException;
+    field protected byte[] buf;
+    field protected java.util.zip.Deflater def;
+  }
+
+  public class GZIPInputStream extends java.util.zip.InflaterInputStream {
+    ctor public GZIPInputStream(java.io.InputStream, int) throws java.io.IOException;
+    ctor public GZIPInputStream(java.io.InputStream) throws java.io.IOException;
+    field public static final int GZIP_MAGIC = 35615; // 0x8b1f
+    field protected java.util.zip.CRC32 crc;
+    field protected boolean eos;
+  }
+
+  public class GZIPOutputStream extends java.util.zip.DeflaterOutputStream {
+    ctor public GZIPOutputStream(java.io.OutputStream, int) throws java.io.IOException;
+    ctor public GZIPOutputStream(java.io.OutputStream, int, boolean) throws java.io.IOException;
+    ctor public GZIPOutputStream(java.io.OutputStream) throws java.io.IOException;
+    ctor public GZIPOutputStream(java.io.OutputStream, boolean) throws java.io.IOException;
+    field protected java.util.zip.CRC32 crc;
+  }
+
+  public class Inflater {
+    ctor public Inflater(boolean);
+    ctor public Inflater();
+    method public void end();
+    method protected void finalize();
+    method public boolean finished();
+    method public int getAdler();
+    method public long getBytesRead();
+    method public long getBytesWritten();
+    method public int getRemaining();
+    method public int getTotalIn();
+    method public int getTotalOut();
+    method public int inflate(byte[], int, int) throws java.util.zip.DataFormatException;
+    method public int inflate(byte[]) throws java.util.zip.DataFormatException;
+    method public boolean needsDictionary();
+    method public boolean needsInput();
+    method public void reset();
+    method public void setDictionary(byte[], int, int);
+    method public void setDictionary(byte[]);
+    method public void setInput(byte[], int, int);
+    method public void setInput(byte[]);
+  }
+
+  public class InflaterInputStream extends java.io.FilterInputStream {
+    ctor public InflaterInputStream(java.io.InputStream, java.util.zip.Inflater, int);
+    ctor public InflaterInputStream(java.io.InputStream, java.util.zip.Inflater);
+    ctor public InflaterInputStream(java.io.InputStream);
+    method protected void fill() throws java.io.IOException;
+    field protected byte[] buf;
+    field @Deprecated protected boolean closed;
+    field protected java.util.zip.Inflater inf;
+    field protected int len;
+  }
+
+  public class InflaterOutputStream extends java.io.FilterOutputStream {
+    ctor public InflaterOutputStream(java.io.OutputStream);
+    ctor public InflaterOutputStream(java.io.OutputStream, java.util.zip.Inflater);
+    ctor public InflaterOutputStream(java.io.OutputStream, java.util.zip.Inflater, int);
+    method public void finish() throws java.io.IOException;
+    field protected final byte[] buf;
+    field protected final java.util.zip.Inflater inf;
+  }
+
+  public class ZipEntry implements java.lang.Cloneable {
+    ctor public ZipEntry(String);
+    ctor public ZipEntry(java.util.zip.ZipEntry);
+    method public Object clone();
+    method public String getComment();
+    method public long getCompressedSize();
+    method public long getCrc();
+    method public java.nio.file.attribute.FileTime getCreationTime();
+    method public byte[] getExtra();
+    method public java.nio.file.attribute.FileTime getLastAccessTime();
+    method public java.nio.file.attribute.FileTime getLastModifiedTime();
+    method public int getMethod();
+    method public String getName();
+    method public long getSize();
+    method public long getTime();
+    method public boolean isDirectory();
+    method public void setComment(String);
+    method public void setCompressedSize(long);
+    method public void setCrc(long);
+    method public java.util.zip.ZipEntry setCreationTime(java.nio.file.attribute.FileTime);
+    method public void setExtra(byte[]);
+    method public java.util.zip.ZipEntry setLastAccessTime(java.nio.file.attribute.FileTime);
+    method public java.util.zip.ZipEntry setLastModifiedTime(java.nio.file.attribute.FileTime);
+    method public void setMethod(int);
+    method public void setSize(long);
+    method public void setTime(long);
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int DEFLATED = 8; // 0x8
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+    field public static final int STORED = 0; // 0x0
+  }
+
+  public class ZipError extends java.lang.InternalError {
+    ctor public ZipError(String);
+  }
+
+  public class ZipException extends java.io.IOException {
+    ctor public ZipException();
+    ctor public ZipException(String);
+  }
+
+  public class ZipFile implements java.io.Closeable {
+    ctor public ZipFile(String) throws java.io.IOException;
+    ctor public ZipFile(java.io.File, int) throws java.io.IOException;
+    ctor public ZipFile(java.io.File) throws java.io.IOException, java.util.zip.ZipException;
+    ctor public ZipFile(java.io.File, int, java.nio.charset.Charset) throws java.io.IOException;
+    ctor public ZipFile(String, java.nio.charset.Charset) throws java.io.IOException;
+    ctor public ZipFile(java.io.File, java.nio.charset.Charset) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method public java.util.Enumeration<? extends java.util.zip.ZipEntry> entries();
+    method protected void finalize() throws java.io.IOException;
+    method public String getComment();
+    method public java.util.zip.ZipEntry getEntry(String);
+    method public java.io.InputStream getInputStream(java.util.zip.ZipEntry) throws java.io.IOException;
+    method public String getName();
+    method public int size();
+    method public java.util.stream.Stream<? extends java.util.zip.ZipEntry> stream();
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+    field public static final int OPEN_DELETE = 4; // 0x4
+    field public static final int OPEN_READ = 1; // 0x1
+  }
+
+  public class ZipInputStream extends java.util.zip.InflaterInputStream {
+    ctor public ZipInputStream(java.io.InputStream);
+    ctor public ZipInputStream(java.io.InputStream, java.nio.charset.Charset);
+    method public void closeEntry() throws java.io.IOException;
+    method protected java.util.zip.ZipEntry createZipEntry(String);
+    method public java.util.zip.ZipEntry getNextEntry() throws java.io.IOException;
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+  }
+
+  public class ZipOutputStream extends java.util.zip.DeflaterOutputStream {
+    ctor public ZipOutputStream(java.io.OutputStream);
+    ctor public ZipOutputStream(java.io.OutputStream, java.nio.charset.Charset);
+    method public void closeEntry() throws java.io.IOException;
+    method public void putNextEntry(java.util.zip.ZipEntry) throws java.io.IOException;
+    method public void setComment(String);
+    method public void setLevel(int);
+    method public void setMethod(int);
+    field public static final int CENATT = 36; // 0x24
+    field public static final int CENATX = 38; // 0x26
+    field public static final int CENCOM = 32; // 0x20
+    field public static final int CENCRC = 16; // 0x10
+    field public static final int CENDSK = 34; // 0x22
+    field public static final int CENEXT = 30; // 0x1e
+    field public static final int CENFLG = 8; // 0x8
+    field public static final int CENHDR = 46; // 0x2e
+    field public static final int CENHOW = 10; // 0xa
+    field public static final int CENLEN = 24; // 0x18
+    field public static final int CENNAM = 28; // 0x1c
+    field public static final int CENOFF = 42; // 0x2a
+    field public static final long CENSIG = 33639248L; // 0x2014b50L
+    field public static final int CENSIZ = 20; // 0x14
+    field public static final int CENTIM = 12; // 0xc
+    field public static final int CENVEM = 4; // 0x4
+    field public static final int CENVER = 6; // 0x6
+    field public static final int DEFLATED = 8; // 0x8
+    field public static final int ENDCOM = 20; // 0x14
+    field public static final int ENDHDR = 22; // 0x16
+    field public static final int ENDOFF = 16; // 0x10
+    field public static final long ENDSIG = 101010256L; // 0x6054b50L
+    field public static final int ENDSIZ = 12; // 0xc
+    field public static final int ENDSUB = 8; // 0x8
+    field public static final int ENDTOT = 10; // 0xa
+    field public static final int EXTCRC = 4; // 0x4
+    field public static final int EXTHDR = 16; // 0x10
+    field public static final int EXTLEN = 12; // 0xc
+    field public static final long EXTSIG = 134695760L; // 0x8074b50L
+    field public static final int EXTSIZ = 8; // 0x8
+    field public static final int LOCCRC = 14; // 0xe
+    field public static final int LOCEXT = 28; // 0x1c
+    field public static final int LOCFLG = 6; // 0x6
+    field public static final int LOCHDR = 30; // 0x1e
+    field public static final int LOCHOW = 8; // 0x8
+    field public static final int LOCLEN = 22; // 0x16
+    field public static final int LOCNAM = 26; // 0x1a
+    field public static final long LOCSIG = 67324752L; // 0x4034b50L
+    field public static final int LOCSIZ = 18; // 0x12
+    field public static final int LOCTIM = 10; // 0xa
+    field public static final int LOCVER = 4; // 0x4
+    field public static final int STORED = 0; // 0x0
+  }
+
+}
+
+package javax.crypto {
+
+  public class AEADBadTagException extends javax.crypto.BadPaddingException {
+    ctor public AEADBadTagException();
+    ctor public AEADBadTagException(String);
+  }
+
+  public class BadPaddingException extends java.security.GeneralSecurityException {
+    ctor public BadPaddingException();
+    ctor public BadPaddingException(String);
+  }
+
+  public class Cipher {
+    ctor protected Cipher(javax.crypto.CipherSpi, java.security.Provider, String);
+    method public final byte[] doFinal() throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+    method public final int doFinal(byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method public final byte[] doFinal(byte[]) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+    method public final byte[] doFinal(byte[], int, int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+    method public final int doFinal(byte[], int, int, byte[]) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method public final int doFinal(byte[], int, int, byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method public final int doFinal(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method public final String getAlgorithm();
+    method public final int getBlockSize();
+    method public final javax.crypto.ExemptionMechanism getExemptionMechanism();
+    method public final byte[] getIV();
+    method public static final javax.crypto.Cipher getInstance(String) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException;
+    method public static final javax.crypto.Cipher getInstance(String, String) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.Cipher getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException;
+    method public static final int getMaxAllowedKeyLength(String) throws java.security.NoSuchAlgorithmException;
+    method public static final java.security.spec.AlgorithmParameterSpec getMaxAllowedParameterSpec(String) throws java.security.NoSuchAlgorithmException;
+    method public final int getOutputSize(int);
+    method public final java.security.AlgorithmParameters getParameters();
+    method public final java.security.Provider getProvider();
+    method public final void init(int, java.security.Key) throws java.security.InvalidKeyException;
+    method public final void init(int, java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method public final void init(int, java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(int, java.security.Key, java.security.AlgorithmParameters) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(int, java.security.cert.Certificate) throws java.security.InvalidKeyException;
+    method public final void init(int, java.security.cert.Certificate, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method public final java.security.Key unwrap(byte[], String, int) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method public final byte[] update(byte[]);
+    method public final byte[] update(byte[], int, int);
+    method public final int update(byte[], int, int, byte[]) throws javax.crypto.ShortBufferException;
+    method public final int update(byte[], int, int, byte[], int) throws javax.crypto.ShortBufferException;
+    method public final int update(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.ShortBufferException;
+    method public final void updateAAD(byte[]);
+    method public final void updateAAD(byte[], int, int);
+    method public final void updateAAD(java.nio.ByteBuffer);
+    method public final byte[] wrap(java.security.Key) throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException;
+    field public static final int DECRYPT_MODE = 2; // 0x2
+    field public static final int ENCRYPT_MODE = 1; // 0x1
+    field public static final int PRIVATE_KEY = 2; // 0x2
+    field public static final int PUBLIC_KEY = 1; // 0x1
+    field public static final int SECRET_KEY = 3; // 0x3
+    field public static final int UNWRAP_MODE = 4; // 0x4
+    field public static final int WRAP_MODE = 3; // 0x3
+  }
+
+  public class CipherInputStream extends java.io.FilterInputStream {
+    ctor public CipherInputStream(java.io.InputStream, javax.crypto.Cipher);
+    ctor protected CipherInputStream(java.io.InputStream);
+  }
+
+  public class CipherOutputStream extends java.io.FilterOutputStream {
+    ctor public CipherOutputStream(java.io.OutputStream, javax.crypto.Cipher);
+    ctor protected CipherOutputStream(java.io.OutputStream);
+  }
+
+  public abstract class CipherSpi {
+    ctor public CipherSpi();
+    method protected abstract byte[] engineDoFinal(byte[], int, int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException;
+    method protected abstract int engineDoFinal(byte[], int, int, byte[], int) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method protected int engineDoFinal(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException, javax.crypto.ShortBufferException;
+    method protected abstract int engineGetBlockSize();
+    method protected abstract byte[] engineGetIV();
+    method protected int engineGetKeySize(java.security.Key) throws java.security.InvalidKeyException;
+    method protected abstract int engineGetOutputSize(int);
+    method protected abstract java.security.AlgorithmParameters engineGetParameters();
+    method protected abstract void engineInit(int, java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method protected abstract void engineInit(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method protected abstract void engineInit(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method protected abstract void engineSetMode(String) throws java.security.NoSuchAlgorithmException;
+    method protected abstract void engineSetPadding(String) throws javax.crypto.NoSuchPaddingException;
+    method protected java.security.Key engineUnwrap(byte[], String, int) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method protected abstract byte[] engineUpdate(byte[], int, int);
+    method protected abstract int engineUpdate(byte[], int, int, byte[], int) throws javax.crypto.ShortBufferException;
+    method protected int engineUpdate(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.crypto.ShortBufferException;
+    method protected void engineUpdateAAD(byte[], int, int);
+    method protected void engineUpdateAAD(java.nio.ByteBuffer);
+    method protected byte[] engineWrap(java.security.Key) throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException;
+  }
+
+  public class EncryptedPrivateKeyInfo {
+    ctor public EncryptedPrivateKeyInfo(byte[]) throws java.io.IOException;
+    ctor public EncryptedPrivateKeyInfo(String, byte[]) throws java.security.NoSuchAlgorithmException;
+    ctor public EncryptedPrivateKeyInfo(java.security.AlgorithmParameters, byte[]) throws java.security.NoSuchAlgorithmException;
+    method public String getAlgName();
+    method public java.security.AlgorithmParameters getAlgParameters();
+    method public byte[] getEncoded() throws java.io.IOException;
+    method public byte[] getEncryptedData();
+    method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(javax.crypto.Cipher) throws java.security.spec.InvalidKeySpecException;
+    method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key, String) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public java.security.spec.PKCS8EncodedKeySpec getKeySpec(java.security.Key, java.security.Provider) throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+  }
+
+  public class ExemptionMechanism {
+    ctor protected ExemptionMechanism(javax.crypto.ExemptionMechanismSpi, java.security.Provider, String);
+    method public final byte[] genExemptionBlob() throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException;
+    method public final int genExemptionBlob(byte[]) throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+    method public final int genExemptionBlob(byte[], int) throws javax.crypto.ExemptionMechanismException, java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+    method public static final javax.crypto.ExemptionMechanism getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.crypto.ExemptionMechanism getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.ExemptionMechanism getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final String getName();
+    method public final int getOutputSize(int) throws java.lang.IllegalStateException;
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.Key) throws javax.crypto.ExemptionMechanismException, java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.AlgorithmParameters) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final boolean isCryptoAllowed(java.security.Key) throws javax.crypto.ExemptionMechanismException;
+  }
+
+  public class ExemptionMechanismException extends java.security.GeneralSecurityException {
+    ctor public ExemptionMechanismException();
+    ctor public ExemptionMechanismException(String);
+  }
+
+  public abstract class ExemptionMechanismSpi {
+    ctor public ExemptionMechanismSpi();
+    method protected abstract byte[] engineGenExemptionBlob() throws javax.crypto.ExemptionMechanismException;
+    method protected abstract int engineGenExemptionBlob(byte[], int) throws javax.crypto.ExemptionMechanismException, javax.crypto.ShortBufferException;
+    method protected abstract int engineGetOutputSize(int);
+    method protected abstract void engineInit(java.security.Key) throws javax.crypto.ExemptionMechanismException, java.security.InvalidKeyException;
+    method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method protected abstract void engineInit(java.security.Key, java.security.AlgorithmParameters) throws javax.crypto.ExemptionMechanismException, java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+  }
+
+  public class IllegalBlockSizeException extends java.security.GeneralSecurityException {
+    ctor public IllegalBlockSizeException();
+    ctor public IllegalBlockSizeException(String);
+  }
+
+  public class KeyAgreement {
+    ctor protected KeyAgreement(javax.crypto.KeyAgreementSpi, java.security.Provider, String);
+    method public final java.security.Key doPhase(java.security.Key, boolean) throws java.lang.IllegalStateException, java.security.InvalidKeyException;
+    method public final byte[] generateSecret() throws java.lang.IllegalStateException;
+    method public final int generateSecret(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+    method public final javax.crypto.SecretKey generateSecret(String) throws java.lang.IllegalStateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method public final String getAlgorithm();
+    method public static final javax.crypto.KeyAgreement getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.crypto.KeyAgreement getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.KeyAgreement getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.Key) throws java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+  }
+
+  public abstract class KeyAgreementSpi {
+    ctor public KeyAgreementSpi();
+    method protected abstract java.security.Key engineDoPhase(java.security.Key, boolean) throws java.lang.IllegalStateException, java.security.InvalidKeyException;
+    method protected abstract byte[] engineGenerateSecret() throws java.lang.IllegalStateException;
+    method protected abstract int engineGenerateSecret(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+    method protected abstract javax.crypto.SecretKey engineGenerateSecret(String) throws java.lang.IllegalStateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method protected abstract void engineInit(java.security.Key, java.security.SecureRandom) throws java.security.InvalidKeyException;
+    method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+  }
+
+  public class KeyGenerator {
+    ctor protected KeyGenerator(javax.crypto.KeyGeneratorSpi, java.security.Provider, String);
+    method public final javax.crypto.SecretKey generateKey();
+    method public final String getAlgorithm();
+    method public static final javax.crypto.KeyGenerator getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.crypto.KeyGenerator getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.KeyGenerator getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.SecureRandom);
+    method public final void init(java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException;
+    method public final void init(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+    method public final void init(int);
+    method public final void init(int, java.security.SecureRandom);
+  }
+
+  public abstract class KeyGeneratorSpi {
+    ctor public KeyGeneratorSpi();
+    method protected abstract javax.crypto.SecretKey engineGenerateKey();
+    method protected abstract void engineInit(java.security.SecureRandom);
+    method protected abstract void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom) throws java.security.InvalidAlgorithmParameterException;
+    method protected abstract void engineInit(int, java.security.SecureRandom);
+  }
+
+  public class Mac implements java.lang.Cloneable {
+    ctor protected Mac(javax.crypto.MacSpi, java.security.Provider, String);
+    method public final Object clone() throws java.lang.CloneNotSupportedException;
+    method public final byte[] doFinal() throws java.lang.IllegalStateException;
+    method public final void doFinal(byte[], int) throws java.lang.IllegalStateException, javax.crypto.ShortBufferException;
+    method public final byte[] doFinal(byte[]) throws java.lang.IllegalStateException;
+    method public final String getAlgorithm();
+    method public static final javax.crypto.Mac getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.crypto.Mac getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.Mac getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final int getMacLength();
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.Key) throws java.security.InvalidKeyException;
+    method public final void init(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method public final void reset();
+    method public final void update(byte) throws java.lang.IllegalStateException;
+    method public final void update(byte[]) throws java.lang.IllegalStateException;
+    method public final void update(byte[], int, int) throws java.lang.IllegalStateException;
+    method public final void update(java.nio.ByteBuffer);
+  }
+
+  public abstract class MacSpi {
+    ctor public MacSpi();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method protected abstract byte[] engineDoFinal();
+    method protected abstract int engineGetMacLength();
+    method protected abstract void engineInit(java.security.Key, java.security.spec.AlgorithmParameterSpec) throws java.security.InvalidAlgorithmParameterException, java.security.InvalidKeyException;
+    method protected abstract void engineReset();
+    method protected abstract void engineUpdate(byte);
+    method protected abstract void engineUpdate(byte[], int, int);
+    method protected void engineUpdate(java.nio.ByteBuffer);
+  }
+
+  public class NoSuchPaddingException extends java.security.GeneralSecurityException {
+    ctor public NoSuchPaddingException();
+    ctor public NoSuchPaddingException(String);
+  }
+
+  public class NullCipher extends javax.crypto.Cipher {
+    ctor public NullCipher();
+  }
+
+  public class SealedObject implements java.io.Serializable {
+    ctor public SealedObject(java.io.Serializable, javax.crypto.Cipher) throws java.io.IOException, javax.crypto.IllegalBlockSizeException;
+    ctor protected SealedObject(javax.crypto.SealedObject);
+    method public final String getAlgorithm();
+    method public final Object getObject(java.security.Key) throws java.lang.ClassNotFoundException, java.io.IOException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException;
+    method public final Object getObject(javax.crypto.Cipher) throws javax.crypto.BadPaddingException, java.lang.ClassNotFoundException, java.io.IOException, javax.crypto.IllegalBlockSizeException;
+    method public final Object getObject(java.security.Key, String) throws java.lang.ClassNotFoundException, java.io.IOException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    field protected byte[] encodedParams;
+  }
+
+  public interface SecretKey extends java.security.Key javax.security.auth.Destroyable {
+    field public static final long serialVersionUID = -4795878709595146952L; // 0xbd719db928b8f538L
+  }
+
+  public class SecretKeyFactory {
+    ctor protected SecretKeyFactory(javax.crypto.SecretKeyFactorySpi, java.security.Provider, String);
+    method public final javax.crypto.SecretKey generateSecret(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method public final String getAlgorithm();
+    method public static final javax.crypto.SecretKeyFactory getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.crypto.SecretKeyFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.crypto.SecretKeyFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.spec.KeySpec getKeySpec(javax.crypto.SecretKey, Class<?>) throws java.security.spec.InvalidKeySpecException;
+    method public final java.security.Provider getProvider();
+    method public final javax.crypto.SecretKey translateKey(javax.crypto.SecretKey) throws java.security.InvalidKeyException;
+  }
+
+  public abstract class SecretKeyFactorySpi {
+    ctor public SecretKeyFactorySpi();
+    method protected abstract javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec) throws java.security.spec.InvalidKeySpecException;
+    method protected abstract java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey, Class<?>) throws java.security.spec.InvalidKeySpecException;
+    method protected abstract javax.crypto.SecretKey engineTranslateKey(javax.crypto.SecretKey) throws java.security.InvalidKeyException;
+  }
+
+  public class ShortBufferException extends java.security.GeneralSecurityException {
+    ctor public ShortBufferException();
+    ctor public ShortBufferException(String);
+  }
+
+}
+
+package javax.crypto.interfaces {
+
+  public interface DHKey {
+    method public javax.crypto.spec.DHParameterSpec getParams();
+  }
+
+  public interface DHPrivateKey extends javax.crypto.interfaces.DHKey java.security.PrivateKey {
+    method public java.math.BigInteger getX();
+    field public static final long serialVersionUID = 2211791113380396553L; // 0x1eb1dc4c8e677e09L
+  }
+
+  public interface DHPublicKey extends javax.crypto.interfaces.DHKey java.security.PublicKey {
+    method public java.math.BigInteger getY();
+    field public static final long serialVersionUID = -6628103563352519193L; // 0xa4043eed23df4de7L
+  }
+
+  public interface PBEKey extends javax.crypto.SecretKey {
+    method public int getIterationCount();
+    method public char[] getPassword();
+    method public byte[] getSalt();
+    field public static final long serialVersionUID = -1430015993304333921L; // 0xec279007d7f7c19fL
+  }
+
+}
+
+package javax.crypto.spec {
+
+  public class DESKeySpec implements java.security.spec.KeySpec {
+    ctor public DESKeySpec(byte[]) throws java.security.InvalidKeyException;
+    ctor public DESKeySpec(byte[], int) throws java.security.InvalidKeyException;
+    method public byte[] getKey();
+    method public static boolean isParityAdjusted(byte[], int) throws java.security.InvalidKeyException;
+    method public static boolean isWeak(byte[], int) throws java.security.InvalidKeyException;
+    field public static final int DES_KEY_LEN = 8; // 0x8
+  }
+
+  public class DESedeKeySpec implements java.security.spec.KeySpec {
+    ctor public DESedeKeySpec(byte[]) throws java.security.InvalidKeyException;
+    ctor public DESedeKeySpec(byte[], int) throws java.security.InvalidKeyException;
+    method public byte[] getKey();
+    method public static boolean isParityAdjusted(byte[], int) throws java.security.InvalidKeyException;
+    field public static final int DES_EDE_KEY_LEN = 24; // 0x18
+  }
+
+  public class DHGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public DHGenParameterSpec(int, int);
+    method public int getExponentSize();
+    method public int getPrimeSize();
+  }
+
+  public class DHParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public DHParameterSpec(java.math.BigInteger, java.math.BigInteger);
+    ctor public DHParameterSpec(java.math.BigInteger, java.math.BigInteger, int);
+    method public java.math.BigInteger getG();
+    method public int getL();
+    method public java.math.BigInteger getP();
+  }
+
+  public class DHPrivateKeySpec implements java.security.spec.KeySpec {
+    ctor public DHPrivateKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getX();
+  }
+
+  public class DHPublicKeySpec implements java.security.spec.KeySpec {
+    ctor public DHPublicKeySpec(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public java.math.BigInteger getG();
+    method public java.math.BigInteger getP();
+    method public java.math.BigInteger getY();
+  }
+
+  public class GCMParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public GCMParameterSpec(int, byte[]);
+    ctor public GCMParameterSpec(int, byte[], int, int);
+    method public byte[] getIV();
+    method public int getTLen();
+  }
+
+  public class IvParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public IvParameterSpec(byte[]);
+    ctor public IvParameterSpec(byte[], int, int);
+    method public byte[] getIV();
+  }
+
+  public class OAEPParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public OAEPParameterSpec(String, String, java.security.spec.AlgorithmParameterSpec, javax.crypto.spec.PSource);
+    method public String getDigestAlgorithm();
+    method public String getMGFAlgorithm();
+    method public java.security.spec.AlgorithmParameterSpec getMGFParameters();
+    method public javax.crypto.spec.PSource getPSource();
+    field public static final javax.crypto.spec.OAEPParameterSpec DEFAULT;
+  }
+
+  public class PBEKeySpec implements java.security.spec.KeySpec {
+    ctor public PBEKeySpec(char[]);
+    ctor public PBEKeySpec(char[], byte[], int, int);
+    ctor public PBEKeySpec(char[], byte[], int);
+    method public final void clearPassword();
+    method public final int getIterationCount();
+    method public final int getKeyLength();
+    method public final char[] getPassword();
+    method public final byte[] getSalt();
+  }
+
+  public class PBEParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public PBEParameterSpec(byte[], int);
+    ctor public PBEParameterSpec(byte[], int, java.security.spec.AlgorithmParameterSpec);
+    method public int getIterationCount();
+    method public java.security.spec.AlgorithmParameterSpec getParameterSpec();
+    method public byte[] getSalt();
+  }
+
+  public class PSource {
+    ctor protected PSource(String);
+    method public String getAlgorithm();
+  }
+
+  public static final class PSource.PSpecified extends javax.crypto.spec.PSource {
+    ctor public PSource.PSpecified(byte[]);
+    method public byte[] getValue();
+    field public static final javax.crypto.spec.PSource.PSpecified DEFAULT;
+  }
+
+  public class RC2ParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public RC2ParameterSpec(int);
+    ctor public RC2ParameterSpec(int, byte[]);
+    ctor public RC2ParameterSpec(int, byte[], int);
+    method public int getEffectiveKeyBits();
+    method public byte[] getIV();
+  }
+
+  public class RC5ParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    ctor public RC5ParameterSpec(int, int, int);
+    ctor public RC5ParameterSpec(int, int, int, byte[]);
+    ctor public RC5ParameterSpec(int, int, int, byte[], int);
+    method public byte[] getIV();
+    method public int getRounds();
+    method public int getVersion();
+    method public int getWordSize();
+  }
+
+  public class SecretKeySpec implements java.security.spec.KeySpec javax.crypto.SecretKey {
+    ctor public SecretKeySpec(byte[], String);
+    ctor public SecretKeySpec(byte[], int, int, String);
+    method public String getAlgorithm();
+    method public byte[] getEncoded();
+    method public String getFormat();
+  }
+
+}
+
+package javax.net {
+
+  public abstract class ServerSocketFactory {
+    ctor protected ServerSocketFactory();
+    method public java.net.ServerSocket createServerSocket() throws java.io.IOException;
+    method public abstract java.net.ServerSocket createServerSocket(int) throws java.io.IOException;
+    method public abstract java.net.ServerSocket createServerSocket(int, int) throws java.io.IOException;
+    method public abstract java.net.ServerSocket createServerSocket(int, int, java.net.InetAddress) throws java.io.IOException;
+    method public static javax.net.ServerSocketFactory getDefault();
+  }
+
+  public abstract class SocketFactory {
+    ctor protected SocketFactory();
+    method public java.net.Socket createSocket() throws java.io.IOException;
+    method public abstract java.net.Socket createSocket(String, int) throws java.io.IOException, java.net.UnknownHostException;
+    method public abstract java.net.Socket createSocket(String, int, java.net.InetAddress, int) throws java.io.IOException, java.net.UnknownHostException;
+    method public abstract java.net.Socket createSocket(java.net.InetAddress, int) throws java.io.IOException;
+    method public abstract java.net.Socket createSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+    method public static javax.net.SocketFactory getDefault();
+  }
+
+}
+
+package javax.net.ssl {
+
+  public class CertPathTrustManagerParameters implements javax.net.ssl.ManagerFactoryParameters {
+    ctor public CertPathTrustManagerParameters(java.security.cert.CertPathParameters);
+    method public java.security.cert.CertPathParameters getParameters();
+  }
+
+  public abstract class ExtendedSSLSession implements javax.net.ssl.SSLSession {
+    ctor public ExtendedSSLSession();
+    method public abstract String[] getLocalSupportedSignatureAlgorithms();
+    method public abstract String[] getPeerSupportedSignatureAlgorithms();
+    method public java.util.List<javax.net.ssl.SNIServerName> getRequestedServerNames();
+  }
+
+  public class HandshakeCompletedEvent extends java.util.EventObject {
+    ctor public HandshakeCompletedEvent(javax.net.ssl.SSLSocket, javax.net.ssl.SSLSession);
+    method public String getCipherSuite();
+    method public java.security.cert.Certificate[] getLocalCertificates();
+    method public java.security.Principal getLocalPrincipal();
+    method public javax.security.cert.X509Certificate[] getPeerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public java.security.cert.Certificate[] getPeerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public javax.net.ssl.SSLSession getSession();
+    method public javax.net.ssl.SSLSocket getSocket();
+  }
+
+  public interface HandshakeCompletedListener extends java.util.EventListener {
+    method public void handshakeCompleted(javax.net.ssl.HandshakeCompletedEvent);
+  }
+
+  public interface HostnameVerifier {
+    method public boolean verify(String, javax.net.ssl.SSLSession);
+  }
+
+  public abstract class HttpsURLConnection extends java.net.HttpURLConnection {
+    ctor protected HttpsURLConnection(java.net.URL);
+    method public abstract String getCipherSuite();
+    method public static javax.net.ssl.HostnameVerifier getDefaultHostnameVerifier();
+    method public static javax.net.ssl.SSLSocketFactory getDefaultSSLSocketFactory();
+    method public javax.net.ssl.HostnameVerifier getHostnameVerifier();
+    method public abstract java.security.cert.Certificate[] getLocalCertificates();
+    method public java.security.Principal getLocalPrincipal();
+    method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public javax.net.ssl.SSLSocketFactory getSSLSocketFactory();
+    method public abstract java.security.cert.Certificate[] getServerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public static void setDefaultHostnameVerifier(javax.net.ssl.HostnameVerifier);
+    method public static void setDefaultSSLSocketFactory(javax.net.ssl.SSLSocketFactory);
+    method public void setHostnameVerifier(javax.net.ssl.HostnameVerifier);
+    method public void setSSLSocketFactory(javax.net.ssl.SSLSocketFactory);
+    field protected javax.net.ssl.HostnameVerifier hostnameVerifier;
+  }
+
+  public interface KeyManager {
+  }
+
+  public class KeyManagerFactory {
+    ctor protected KeyManagerFactory(javax.net.ssl.KeyManagerFactorySpi, java.security.Provider, String);
+    method public final String getAlgorithm();
+    method public static final String getDefaultAlgorithm();
+    method public static final javax.net.ssl.KeyManagerFactory getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.net.ssl.KeyManagerFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.net.ssl.KeyManagerFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final javax.net.ssl.KeyManager[] getKeyManagers();
+    method public final java.security.Provider getProvider();
+    method public final void init(java.security.KeyStore, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    method public final void init(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public abstract class KeyManagerFactorySpi {
+    ctor public KeyManagerFactorySpi();
+    method protected abstract javax.net.ssl.KeyManager[] engineGetKeyManagers();
+    method protected abstract void engineInit(java.security.KeyStore, char[]) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException;
+    method protected abstract void engineInit(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public class KeyStoreBuilderParameters implements javax.net.ssl.ManagerFactoryParameters {
+    ctor public KeyStoreBuilderParameters(java.security.KeyStore.Builder);
+    ctor public KeyStoreBuilderParameters(java.util.List<java.security.KeyStore.Builder>);
+    method public java.util.List<java.security.KeyStore.Builder> getParameters();
+  }
+
+  public interface ManagerFactoryParameters {
+  }
+
+  public final class SNIHostName extends javax.net.ssl.SNIServerName {
+    ctor public SNIHostName(String);
+    ctor public SNIHostName(byte[]);
+    method public static javax.net.ssl.SNIMatcher createSNIMatcher(String);
+    method public String getAsciiName();
+  }
+
+  public abstract class SNIMatcher {
+    ctor protected SNIMatcher(int);
+    method public final int getType();
+    method public abstract boolean matches(javax.net.ssl.SNIServerName);
+  }
+
+  public abstract class SNIServerName {
+    ctor protected SNIServerName(int, byte[]);
+    method public final byte[] getEncoded();
+    method public final int getType();
+  }
+
+  public class SSLContext {
+    ctor protected SSLContext(javax.net.ssl.SSLContextSpi, java.security.Provider, String);
+    method public final javax.net.ssl.SSLEngine createSSLEngine();
+    method public final javax.net.ssl.SSLEngine createSSLEngine(String, int);
+    method public final javax.net.ssl.SSLSessionContext getClientSessionContext();
+    method public static javax.net.ssl.SSLContext getDefault() throws java.security.NoSuchAlgorithmException;
+    method public final javax.net.ssl.SSLParameters getDefaultSSLParameters();
+    method public static javax.net.ssl.SSLContext getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static javax.net.ssl.SSLContext getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static javax.net.ssl.SSLContext getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final String getProtocol();
+    method public final java.security.Provider getProvider();
+    method public final javax.net.ssl.SSLSessionContext getServerSessionContext();
+    method public final javax.net.ssl.SSLServerSocketFactory getServerSocketFactory();
+    method public final javax.net.ssl.SSLSocketFactory getSocketFactory();
+    method public final javax.net.ssl.SSLParameters getSupportedSSLParameters();
+    method public final void init(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom) throws java.security.KeyManagementException;
+    method public static void setDefault(javax.net.ssl.SSLContext);
+  }
+
+  public abstract class SSLContextSpi {
+    ctor public SSLContextSpi();
+    method protected abstract javax.net.ssl.SSLEngine engineCreateSSLEngine();
+    method protected abstract javax.net.ssl.SSLEngine engineCreateSSLEngine(String, int);
+    method protected abstract javax.net.ssl.SSLSessionContext engineGetClientSessionContext();
+    method protected javax.net.ssl.SSLParameters engineGetDefaultSSLParameters();
+    method protected abstract javax.net.ssl.SSLSessionContext engineGetServerSessionContext();
+    method protected abstract javax.net.ssl.SSLServerSocketFactory engineGetServerSocketFactory();
+    method protected abstract javax.net.ssl.SSLSocketFactory engineGetSocketFactory();
+    method protected javax.net.ssl.SSLParameters engineGetSupportedSSLParameters();
+    method protected abstract void engineInit(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom) throws java.security.KeyManagementException;
+  }
+
+  public abstract class SSLEngine {
+    ctor protected SSLEngine();
+    ctor protected SSLEngine(String, int);
+    method public abstract void beginHandshake() throws javax.net.ssl.SSLException;
+    method public abstract void closeInbound() throws javax.net.ssl.SSLException;
+    method public abstract void closeOutbound();
+    method public String getApplicationProtocol();
+    method public abstract Runnable getDelegatedTask();
+    method public abstract boolean getEnableSessionCreation();
+    method public abstract String[] getEnabledCipherSuites();
+    method public abstract String[] getEnabledProtocols();
+    method public String getHandshakeApplicationProtocol();
+    method public java.util.function.BiFunction<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>,java.lang.String> getHandshakeApplicationProtocolSelector();
+    method public javax.net.ssl.SSLSession getHandshakeSession();
+    method public abstract javax.net.ssl.SSLEngineResult.HandshakeStatus getHandshakeStatus();
+    method public abstract boolean getNeedClientAuth();
+    method public String getPeerHost();
+    method public int getPeerPort();
+    method public javax.net.ssl.SSLParameters getSSLParameters();
+    method public abstract javax.net.ssl.SSLSession getSession();
+    method public abstract String[] getSupportedCipherSuites();
+    method public abstract String[] getSupportedProtocols();
+    method public abstract boolean getUseClientMode();
+    method public abstract boolean getWantClientAuth();
+    method public abstract boolean isInboundDone();
+    method public abstract boolean isOutboundDone();
+    method public abstract void setEnableSessionCreation(boolean);
+    method public abstract void setEnabledCipherSuites(String[]);
+    method public abstract void setEnabledProtocols(String[]);
+    method public void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>,java.lang.String>);
+    method public abstract void setNeedClientAuth(boolean);
+    method public void setSSLParameters(javax.net.ssl.SSLParameters);
+    method public abstract void setUseClientMode(boolean);
+    method public abstract void setWantClientAuth(boolean);
+    method public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+    method public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[]) throws javax.net.ssl.SSLException;
+    method public abstract javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int) throws javax.net.ssl.SSLException;
+    method public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer, java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+    method public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+    method public abstract javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer) throws javax.net.ssl.SSLException;
+  }
+
+  public class SSLEngineResult {
+    ctor public SSLEngineResult(javax.net.ssl.SSLEngineResult.Status, javax.net.ssl.SSLEngineResult.HandshakeStatus, int, int);
+    method public final int bytesConsumed();
+    method public final int bytesProduced();
+    method public final javax.net.ssl.SSLEngineResult.HandshakeStatus getHandshakeStatus();
+    method public final javax.net.ssl.SSLEngineResult.Status getStatus();
+  }
+
+  public enum SSLEngineResult.HandshakeStatus {
+    enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus FINISHED;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_TASK;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_UNWRAP;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NEED_WRAP;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.HandshakeStatus NOT_HANDSHAKING;
+  }
+
+  public enum SSLEngineResult.Status {
+    enum_constant public static final javax.net.ssl.SSLEngineResult.Status BUFFER_OVERFLOW;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.Status BUFFER_UNDERFLOW;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.Status CLOSED;
+    enum_constant public static final javax.net.ssl.SSLEngineResult.Status OK;
+  }
+
+  public class SSLException extends java.io.IOException {
+    ctor public SSLException(String);
+    ctor public SSLException(String, Throwable);
+    ctor public SSLException(Throwable);
+  }
+
+  public class SSLHandshakeException extends javax.net.ssl.SSLException {
+    ctor public SSLHandshakeException(String);
+  }
+
+  public class SSLKeyException extends javax.net.ssl.SSLException {
+    ctor public SSLKeyException(String);
+  }
+
+  public class SSLParameters {
+    ctor public SSLParameters();
+    ctor public SSLParameters(String[]);
+    ctor public SSLParameters(String[], String[]);
+    method public java.security.AlgorithmConstraints getAlgorithmConstraints();
+    method public String[] getApplicationProtocols();
+    method public String[] getCipherSuites();
+    method public String getEndpointIdentificationAlgorithm();
+    method public boolean getNeedClientAuth();
+    method public String[] getProtocols();
+    method public final java.util.Collection<javax.net.ssl.SNIMatcher> getSNIMatchers();
+    method public final java.util.List<javax.net.ssl.SNIServerName> getServerNames();
+    method public final boolean getUseCipherSuitesOrder();
+    method public boolean getWantClientAuth();
+    method public void setAlgorithmConstraints(java.security.AlgorithmConstraints);
+    method public void setApplicationProtocols(String[]);
+    method public void setCipherSuites(String[]);
+    method public void setEndpointIdentificationAlgorithm(String);
+    method public void setNeedClientAuth(boolean);
+    method public void setProtocols(String[]);
+    method public final void setSNIMatchers(java.util.Collection<javax.net.ssl.SNIMatcher>);
+    method public final void setServerNames(java.util.List<javax.net.ssl.SNIServerName>);
+    method public final void setUseCipherSuitesOrder(boolean);
+    method public void setWantClientAuth(boolean);
+  }
+
+  public class SSLPeerUnverifiedException extends javax.net.ssl.SSLException {
+    ctor public SSLPeerUnverifiedException(String);
+  }
+
+  public final class SSLPermission extends java.security.BasicPermission {
+    ctor public SSLPermission(String);
+    ctor public SSLPermission(String, String);
+  }
+
+  public class SSLProtocolException extends javax.net.ssl.SSLException {
+    ctor public SSLProtocolException(String);
+  }
+
+  public abstract class SSLServerSocket extends java.net.ServerSocket {
+    ctor protected SSLServerSocket() throws java.io.IOException;
+    ctor protected SSLServerSocket(int) throws java.io.IOException;
+    ctor protected SSLServerSocket(int, int) throws java.io.IOException;
+    ctor protected SSLServerSocket(int, int, java.net.InetAddress) throws java.io.IOException;
+    method public abstract boolean getEnableSessionCreation();
+    method public abstract String[] getEnabledCipherSuites();
+    method public abstract String[] getEnabledProtocols();
+    method public abstract boolean getNeedClientAuth();
+    method public javax.net.ssl.SSLParameters getSSLParameters();
+    method public abstract String[] getSupportedCipherSuites();
+    method public abstract String[] getSupportedProtocols();
+    method public abstract boolean getUseClientMode();
+    method public abstract boolean getWantClientAuth();
+    method public abstract void setEnableSessionCreation(boolean);
+    method public abstract void setEnabledCipherSuites(String[]);
+    method public abstract void setEnabledProtocols(String[]);
+    method public abstract void setNeedClientAuth(boolean);
+    method public void setSSLParameters(javax.net.ssl.SSLParameters);
+    method public abstract void setUseClientMode(boolean);
+    method public abstract void setWantClientAuth(boolean);
+  }
+
+  public abstract class SSLServerSocketFactory extends javax.net.ServerSocketFactory {
+    ctor protected SSLServerSocketFactory();
+    method public static javax.net.ServerSocketFactory getDefault();
+    method public abstract String[] getDefaultCipherSuites();
+    method public abstract String[] getSupportedCipherSuites();
+  }
+
+  public interface SSLSession {
+    method public int getApplicationBufferSize();
+    method public String getCipherSuite();
+    method public long getCreationTime();
+    method public byte[] getId();
+    method public long getLastAccessedTime();
+    method public java.security.cert.Certificate[] getLocalCertificates();
+    method public java.security.Principal getLocalPrincipal();
+    method public int getPacketBufferSize();
+    method public javax.security.cert.X509Certificate[] getPeerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public java.security.cert.Certificate[] getPeerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public String getPeerHost();
+    method public int getPeerPort();
+    method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public String getProtocol();
+    method public javax.net.ssl.SSLSessionContext getSessionContext();
+    method public Object getValue(String);
+    method public String[] getValueNames();
+    method public void invalidate();
+    method public boolean isValid();
+    method public void putValue(String, Object);
+    method public void removeValue(String);
+  }
+
+  public class SSLSessionBindingEvent extends java.util.EventObject {
+    ctor public SSLSessionBindingEvent(javax.net.ssl.SSLSession, String);
+    method public String getName();
+    method public javax.net.ssl.SSLSession getSession();
+  }
+
+  public interface SSLSessionBindingListener extends java.util.EventListener {
+    method public void valueBound(javax.net.ssl.SSLSessionBindingEvent);
+    method public void valueUnbound(javax.net.ssl.SSLSessionBindingEvent);
+  }
+
+  public interface SSLSessionContext {
+    method public java.util.Enumeration<byte[]> getIds();
+    method public javax.net.ssl.SSLSession getSession(byte[]);
+    method public int getSessionCacheSize();
+    method public int getSessionTimeout();
+    method public void setSessionCacheSize(int) throws java.lang.IllegalArgumentException;
+    method public void setSessionTimeout(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public abstract class SSLSocket extends java.net.Socket {
+    ctor protected SSLSocket();
+    ctor protected SSLSocket(String, int) throws java.io.IOException, java.net.UnknownHostException;
+    ctor protected SSLSocket(java.net.InetAddress, int) throws java.io.IOException;
+    ctor protected SSLSocket(String, int, java.net.InetAddress, int) throws java.io.IOException, java.net.UnknownHostException;
+    ctor protected SSLSocket(java.net.InetAddress, int, java.net.InetAddress, int) throws java.io.IOException;
+    method public abstract void addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
+    method public String getApplicationProtocol();
+    method public abstract boolean getEnableSessionCreation();
+    method public abstract String[] getEnabledCipherSuites();
+    method public abstract String[] getEnabledProtocols();
+    method public String getHandshakeApplicationProtocol();
+    method public java.util.function.BiFunction<javax.net.ssl.SSLSocket,java.util.List<java.lang.String>,java.lang.String> getHandshakeApplicationProtocolSelector();
+    method public javax.net.ssl.SSLSession getHandshakeSession();
+    method public abstract boolean getNeedClientAuth();
+    method public javax.net.ssl.SSLParameters getSSLParameters();
+    method public abstract javax.net.ssl.SSLSession getSession();
+    method public abstract String[] getSupportedCipherSuites();
+    method public abstract String[] getSupportedProtocols();
+    method public abstract boolean getUseClientMode();
+    method public abstract boolean getWantClientAuth();
+    method public abstract void removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
+    method public abstract void setEnableSessionCreation(boolean);
+    method public abstract void setEnabledCipherSuites(String[]);
+    method public abstract void setEnabledProtocols(String[]);
+    method public void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLSocket,java.util.List<java.lang.String>,java.lang.String>);
+    method public abstract void setNeedClientAuth(boolean);
+    method public void setSSLParameters(javax.net.ssl.SSLParameters);
+    method public abstract void setUseClientMode(boolean);
+    method public abstract void setWantClientAuth(boolean);
+    method public abstract void startHandshake() throws java.io.IOException;
+  }
+
+  public abstract class SSLSocketFactory extends javax.net.SocketFactory {
+    ctor public SSLSocketFactory();
+    method public abstract java.net.Socket createSocket(java.net.Socket, String, int, boolean) throws java.io.IOException;
+    method public static javax.net.SocketFactory getDefault();
+    method public abstract String[] getDefaultCipherSuites();
+    method public abstract String[] getSupportedCipherSuites();
+  }
+
+  public final class StandardConstants {
+    field public static final int SNI_HOST_NAME = 0; // 0x0
+  }
+
+  public interface TrustManager {
+  }
+
+  public class TrustManagerFactory {
+    ctor protected TrustManagerFactory(javax.net.ssl.TrustManagerFactorySpi, java.security.Provider, String);
+    method public final String getAlgorithm();
+    method public static final String getDefaultAlgorithm();
+    method public static final javax.net.ssl.TrustManagerFactory getInstance(String) throws java.security.NoSuchAlgorithmException;
+    method public static final javax.net.ssl.TrustManagerFactory getInstance(String, String) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException;
+    method public static final javax.net.ssl.TrustManagerFactory getInstance(String, java.security.Provider) throws java.security.NoSuchAlgorithmException;
+    method public final java.security.Provider getProvider();
+    method public final javax.net.ssl.TrustManager[] getTrustManagers();
+    method public final void init(java.security.KeyStore) throws java.security.KeyStoreException;
+    method public final void init(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public abstract class TrustManagerFactorySpi {
+    ctor public TrustManagerFactorySpi();
+    method protected abstract javax.net.ssl.TrustManager[] engineGetTrustManagers();
+    method protected abstract void engineInit(java.security.KeyStore) throws java.security.KeyStoreException;
+    method protected abstract void engineInit(javax.net.ssl.ManagerFactoryParameters) throws java.security.InvalidAlgorithmParameterException;
+  }
+
+  public abstract class X509ExtendedKeyManager implements javax.net.ssl.X509KeyManager {
+    ctor protected X509ExtendedKeyManager();
+    method public String chooseEngineClientAlias(String[], java.security.Principal[], javax.net.ssl.SSLEngine);
+    method public String chooseEngineServerAlias(String, java.security.Principal[], javax.net.ssl.SSLEngine);
+  }
+
+  public abstract class X509ExtendedTrustManager implements javax.net.ssl.X509TrustManager {
+    ctor public X509ExtendedTrustManager();
+    method public abstract void checkClientTrusted(java.security.cert.X509Certificate[], String, java.net.Socket) throws java.security.cert.CertificateException;
+    method public abstract void checkClientTrusted(java.security.cert.X509Certificate[], String, javax.net.ssl.SSLEngine) throws java.security.cert.CertificateException;
+    method public abstract void checkServerTrusted(java.security.cert.X509Certificate[], String, java.net.Socket) throws java.security.cert.CertificateException;
+    method public abstract void checkServerTrusted(java.security.cert.X509Certificate[], String, javax.net.ssl.SSLEngine) throws java.security.cert.CertificateException;
+  }
+
+  public interface X509KeyManager extends javax.net.ssl.KeyManager {
+    method public String chooseClientAlias(String[], java.security.Principal[], java.net.Socket);
+    method public String chooseServerAlias(String, java.security.Principal[], java.net.Socket);
+    method public java.security.cert.X509Certificate[] getCertificateChain(String);
+    method public String[] getClientAliases(String, java.security.Principal[]);
+    method public java.security.PrivateKey getPrivateKey(String);
+    method public String[] getServerAliases(String, java.security.Principal[]);
+  }
+
+  public interface X509TrustManager extends javax.net.ssl.TrustManager {
+    method public void checkClientTrusted(java.security.cert.X509Certificate[], String) throws java.security.cert.CertificateException;
+    method public void checkServerTrusted(java.security.cert.X509Certificate[], String) throws java.security.cert.CertificateException;
+    method public java.security.cert.X509Certificate[] getAcceptedIssuers();
+  }
+
+}
+
+package javax.security.auth {
+
+  public final class AuthPermission extends java.security.BasicPermission {
+    ctor public AuthPermission(String);
+    ctor public AuthPermission(String, String);
+  }
+
+  public class DestroyFailedException extends java.lang.Exception {
+    ctor public DestroyFailedException();
+    ctor public DestroyFailedException(String);
+  }
+
+  public interface Destroyable {
+    method public default void destroy() throws javax.security.auth.DestroyFailedException;
+    method public default boolean isDestroyed();
+  }
+
+  public final class PrivateCredentialPermission extends java.security.Permission {
+    ctor public PrivateCredentialPermission(String, String);
+    method public String getActions();
+    method public String getCredentialClass();
+    method public String[][] getPrincipals();
+    method public boolean implies(java.security.Permission);
+  }
+
+  public final class Subject implements java.io.Serializable {
+    ctor public Subject();
+    ctor public Subject(boolean, java.util.Set<? extends java.security.Principal>, java.util.Set<?>, java.util.Set<?>);
+    method public static <T> T doAs(javax.security.auth.Subject, java.security.PrivilegedAction<T>);
+    method public static <T> T doAs(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>) throws java.security.PrivilegedActionException;
+    method public static <T> T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedAction<T>, java.security.AccessControlContext);
+    method public static <T> T doAsPrivileged(javax.security.auth.Subject, java.security.PrivilegedExceptionAction<T>, java.security.AccessControlContext) throws java.security.PrivilegedActionException;
+    method public java.util.Set<java.security.Principal> getPrincipals();
+    method public <T extends java.security.Principal> java.util.Set<T> getPrincipals(Class<T>);
+    method public java.util.Set<java.lang.Object> getPrivateCredentials();
+    method public <T> java.util.Set<T> getPrivateCredentials(Class<T>);
+    method public java.util.Set<java.lang.Object> getPublicCredentials();
+    method public <T> java.util.Set<T> getPublicCredentials(Class<T>);
+    method public static javax.security.auth.Subject getSubject(java.security.AccessControlContext);
+    method public boolean isReadOnly();
+    method public void setReadOnly();
+  }
+
+  public class SubjectDomainCombiner implements java.security.DomainCombiner {
+    ctor public SubjectDomainCombiner(javax.security.auth.Subject);
+    method public java.security.ProtectionDomain[] combine(java.security.ProtectionDomain[], java.security.ProtectionDomain[]);
+    method public javax.security.auth.Subject getSubject();
+  }
+
+}
+
+package javax.security.auth.callback {
+
+  public interface Callback {
+  }
+
+  public interface CallbackHandler {
+    method public void handle(javax.security.auth.callback.Callback[]) throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException;
+  }
+
+  public class PasswordCallback implements javax.security.auth.callback.Callback java.io.Serializable {
+    ctor public PasswordCallback(String, boolean);
+    method public void clearPassword();
+    method public char[] getPassword();
+    method public String getPrompt();
+    method public boolean isEchoOn();
+    method public void setPassword(char[]);
+  }
+
+  public class UnsupportedCallbackException extends java.lang.Exception {
+    ctor public UnsupportedCallbackException(javax.security.auth.callback.Callback);
+    ctor public UnsupportedCallbackException(javax.security.auth.callback.Callback, String);
+    method public javax.security.auth.callback.Callback getCallback();
+  }
+
+}
+
+package javax.security.auth.login {
+
+  public class LoginException extends java.security.GeneralSecurityException {
+    ctor public LoginException();
+    ctor public LoginException(String);
+  }
+
+}
+
+package javax.security.auth.x500 {
+
+  public final class X500Principal implements java.security.Principal java.io.Serializable {
+    ctor public X500Principal(String);
+    ctor public X500Principal(String, java.util.Map<java.lang.String,java.lang.String>);
+    ctor public X500Principal(byte[]);
+    ctor public X500Principal(java.io.InputStream);
+    method public byte[] getEncoded();
+    method public String getName();
+    method public String getName(String);
+    method public String getName(String, java.util.Map<java.lang.String,java.lang.String>);
+    field public static final String CANONICAL = "CANONICAL";
+    field public static final String RFC1779 = "RFC1779";
+    field public static final String RFC2253 = "RFC2253";
+  }
+
+}
+
+package javax.security.cert {
+
+  public abstract class Certificate {
+    ctor public Certificate();
+    method public abstract byte[] getEncoded() throws javax.security.cert.CertificateEncodingException;
+    method public abstract java.security.PublicKey getPublicKey();
+    method public abstract String toString();
+    method public abstract void verify(java.security.PublicKey) throws javax.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+    method public abstract void verify(java.security.PublicKey, String) throws javax.security.cert.CertificateException, java.security.InvalidKeyException, java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException, java.security.SignatureException;
+  }
+
+  public class CertificateEncodingException extends javax.security.cert.CertificateException {
+    ctor public CertificateEncodingException();
+    ctor public CertificateEncodingException(String);
+  }
+
+  public class CertificateException extends java.lang.Exception {
+    ctor public CertificateException();
+    ctor public CertificateException(String);
+  }
+
+  public class CertificateExpiredException extends javax.security.cert.CertificateException {
+    ctor public CertificateExpiredException();
+    ctor public CertificateExpiredException(String);
+  }
+
+  public class CertificateNotYetValidException extends javax.security.cert.CertificateException {
+    ctor public CertificateNotYetValidException();
+    ctor public CertificateNotYetValidException(String);
+  }
+
+  public class CertificateParsingException extends javax.security.cert.CertificateException {
+    ctor public CertificateParsingException();
+    ctor public CertificateParsingException(String);
+  }
+
+  public abstract class X509Certificate extends javax.security.cert.Certificate {
+    ctor public X509Certificate();
+    method public abstract void checkValidity() throws javax.security.cert.CertificateExpiredException, javax.security.cert.CertificateNotYetValidException;
+    method public abstract void checkValidity(java.util.Date) throws javax.security.cert.CertificateExpiredException, javax.security.cert.CertificateNotYetValidException;
+    method public static final javax.security.cert.X509Certificate getInstance(java.io.InputStream) throws javax.security.cert.CertificateException;
+    method public static final javax.security.cert.X509Certificate getInstance(byte[]) throws javax.security.cert.CertificateException;
+    method public abstract java.security.Principal getIssuerDN();
+    method public abstract java.util.Date getNotAfter();
+    method public abstract java.util.Date getNotBefore();
+    method public abstract java.math.BigInteger getSerialNumber();
+    method public abstract String getSigAlgName();
+    method public abstract String getSigAlgOID();
+    method public abstract byte[] getSigAlgParams();
+    method public abstract java.security.Principal getSubjectDN();
+    method public abstract int getVersion();
+  }
+
+}
+
+package javax.sql {
+
+  public interface CommonDataSource {
+    method public java.io.PrintWriter getLogWriter() throws java.sql.SQLException;
+    method public int getLoginTimeout() throws java.sql.SQLException;
+    method public java.util.logging.Logger getParentLogger() throws java.sql.SQLFeatureNotSupportedException;
+    method public void setLogWriter(java.io.PrintWriter) throws java.sql.SQLException;
+    method public void setLoginTimeout(int) throws java.sql.SQLException;
+  }
+
+  public class ConnectionEvent extends java.util.EventObject {
+    ctor public ConnectionEvent(javax.sql.PooledConnection);
+    ctor public ConnectionEvent(javax.sql.PooledConnection, java.sql.SQLException);
+    method public java.sql.SQLException getSQLException();
+  }
+
+  public interface ConnectionEventListener extends java.util.EventListener {
+    method public void connectionClosed(javax.sql.ConnectionEvent);
+    method public void connectionErrorOccurred(javax.sql.ConnectionEvent);
+  }
+
+  public interface ConnectionPoolDataSource extends javax.sql.CommonDataSource {
+    method public javax.sql.PooledConnection getPooledConnection() throws java.sql.SQLException;
+    method public javax.sql.PooledConnection getPooledConnection(String, String) throws java.sql.SQLException;
+  }
+
+  public interface DataSource extends javax.sql.CommonDataSource java.sql.Wrapper {
+    method public java.sql.Connection getConnection() throws java.sql.SQLException;
+    method public java.sql.Connection getConnection(String, String) throws java.sql.SQLException;
+  }
+
+  public interface PooledConnection {
+    method public void addConnectionEventListener(javax.sql.ConnectionEventListener);
+    method public void addStatementEventListener(javax.sql.StatementEventListener);
+    method public void close() throws java.sql.SQLException;
+    method public java.sql.Connection getConnection() throws java.sql.SQLException;
+    method public void removeConnectionEventListener(javax.sql.ConnectionEventListener);
+    method public void removeStatementEventListener(javax.sql.StatementEventListener);
+  }
+
+  public interface RowSet extends java.sql.ResultSet {
+    method public void addRowSetListener(javax.sql.RowSetListener);
+    method public void clearParameters() throws java.sql.SQLException;
+    method public void execute() throws java.sql.SQLException;
+    method public String getCommand();
+    method public String getDataSourceName();
+    method public boolean getEscapeProcessing() throws java.sql.SQLException;
+    method public int getMaxFieldSize() throws java.sql.SQLException;
+    method public int getMaxRows() throws java.sql.SQLException;
+    method public String getPassword();
+    method public int getQueryTimeout() throws java.sql.SQLException;
+    method public int getTransactionIsolation();
+    method public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap() throws java.sql.SQLException;
+    method public String getUrl() throws java.sql.SQLException;
+    method public String getUsername();
+    method public boolean isReadOnly();
+    method public void removeRowSetListener(javax.sql.RowSetListener);
+    method public void setArray(int, java.sql.Array) throws java.sql.SQLException;
+    method public void setAsciiStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setAsciiStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setAsciiStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setAsciiStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBigDecimal(int, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void setBigDecimal(String, java.math.BigDecimal) throws java.sql.SQLException;
+    method public void setBinaryStream(int, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setBinaryStream(String, java.io.InputStream, int) throws java.sql.SQLException;
+    method public void setBinaryStream(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBinaryStream(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBlob(int, java.sql.Blob) throws java.sql.SQLException;
+    method public void setBlob(int, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBlob(int, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBlob(String, java.io.InputStream, long) throws java.sql.SQLException;
+    method public void setBlob(String, java.sql.Blob) throws java.sql.SQLException;
+    method public void setBlob(String, java.io.InputStream) throws java.sql.SQLException;
+    method public void setBoolean(int, boolean) throws java.sql.SQLException;
+    method public void setBoolean(String, boolean) throws java.sql.SQLException;
+    method public void setByte(int, byte) throws java.sql.SQLException;
+    method public void setByte(String, byte) throws java.sql.SQLException;
+    method public void setBytes(int, byte[]) throws java.sql.SQLException;
+    method public void setBytes(String, byte[]) throws java.sql.SQLException;
+    method public void setCharacterStream(int, java.io.Reader, int) throws java.sql.SQLException;
+    method public void setCharacterStream(String, java.io.Reader, int) throws java.sql.SQLException;
+    method public void setCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setClob(int, java.sql.Clob) throws java.sql.SQLException;
+    method public void setClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setClob(String, java.sql.Clob) throws java.sql.SQLException;
+    method public void setClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setCommand(String) throws java.sql.SQLException;
+    method public void setConcurrency(int) throws java.sql.SQLException;
+    method public void setDataSourceName(String) throws java.sql.SQLException;
+    method public void setDate(int, java.sql.Date) throws java.sql.SQLException;
+    method public void setDate(int, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+    method public void setDate(String, java.sql.Date) throws java.sql.SQLException;
+    method public void setDate(String, java.sql.Date, java.util.Calendar) throws java.sql.SQLException;
+    method public void setDouble(int, double) throws java.sql.SQLException;
+    method public void setDouble(String, double) throws java.sql.SQLException;
+    method public void setEscapeProcessing(boolean) throws java.sql.SQLException;
+    method public void setFloat(int, float) throws java.sql.SQLException;
+    method public void setFloat(String, float) throws java.sql.SQLException;
+    method public void setInt(int, int) throws java.sql.SQLException;
+    method public void setInt(String, int) throws java.sql.SQLException;
+    method public void setLong(int, long) throws java.sql.SQLException;
+    method public void setLong(String, long) throws java.sql.SQLException;
+    method public void setMaxFieldSize(int) throws java.sql.SQLException;
+    method public void setMaxRows(int) throws java.sql.SQLException;
+    method public void setNCharacterStream(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setNCharacterStream(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNCharacterStream(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setNClob(String, java.sql.NClob) throws java.sql.SQLException;
+    method public void setNClob(String, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNClob(String, java.io.Reader) throws java.sql.SQLException;
+    method public void setNClob(int, java.io.Reader, long) throws java.sql.SQLException;
+    method public void setNClob(int, java.sql.NClob) throws java.sql.SQLException;
+    method public void setNClob(int, java.io.Reader) throws java.sql.SQLException;
+    method public void setNString(int, String) throws java.sql.SQLException;
+    method public void setNString(String, String) throws java.sql.SQLException;
+    method public void setNull(int, int) throws java.sql.SQLException;
+    method public void setNull(String, int) throws java.sql.SQLException;
+    method public void setNull(int, int, String) throws java.sql.SQLException;
+    method public void setNull(String, int, String) throws java.sql.SQLException;
+    method public void setObject(int, Object, int, int) throws java.sql.SQLException;
+    method public void setObject(String, Object, int, int) throws java.sql.SQLException;
+    method public void setObject(int, Object, int) throws java.sql.SQLException;
+    method public void setObject(String, Object, int) throws java.sql.SQLException;
+    method public void setObject(String, Object) throws java.sql.SQLException;
+    method public void setObject(int, Object) throws java.sql.SQLException;
+    method public void setPassword(String) throws java.sql.SQLException;
+    method public void setQueryTimeout(int) throws java.sql.SQLException;
+    method public void setReadOnly(boolean) throws java.sql.SQLException;
+    method public void setRef(int, java.sql.Ref) throws java.sql.SQLException;
+    method public void setRowId(int, java.sql.RowId) throws java.sql.SQLException;
+    method public void setRowId(String, java.sql.RowId) throws java.sql.SQLException;
+    method public void setSQLXML(int, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void setSQLXML(String, java.sql.SQLXML) throws java.sql.SQLException;
+    method public void setShort(int, short) throws java.sql.SQLException;
+    method public void setShort(String, short) throws java.sql.SQLException;
+    method public void setString(int, String) throws java.sql.SQLException;
+    method public void setString(String, String) throws java.sql.SQLException;
+    method public void setTime(int, java.sql.Time) throws java.sql.SQLException;
+    method public void setTime(int, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTime(String, java.sql.Time) throws java.sql.SQLException;
+    method public void setTime(String, java.sql.Time, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTimestamp(int, java.sql.Timestamp) throws java.sql.SQLException;
+    method public void setTimestamp(String, java.sql.Timestamp) throws java.sql.SQLException;
+    method public void setTimestamp(int, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTimestamp(String, java.sql.Timestamp, java.util.Calendar) throws java.sql.SQLException;
+    method public void setTransactionIsolation(int) throws java.sql.SQLException;
+    method public void setType(int) throws java.sql.SQLException;
+    method public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>>) throws java.sql.SQLException;
+    method public void setURL(int, java.net.URL) throws java.sql.SQLException;
+    method public void setUrl(String) throws java.sql.SQLException;
+    method public void setUsername(String) throws java.sql.SQLException;
+  }
+
+  public class RowSetEvent extends java.util.EventObject {
+    ctor public RowSetEvent(javax.sql.RowSet);
+  }
+
+  public interface RowSetInternal {
+    method public java.sql.Connection getConnection() throws java.sql.SQLException;
+    method public java.sql.ResultSet getOriginal() throws java.sql.SQLException;
+    method public java.sql.ResultSet getOriginalRow() throws java.sql.SQLException;
+    method public Object[] getParams() throws java.sql.SQLException;
+    method public void setMetaData(javax.sql.RowSetMetaData) throws java.sql.SQLException;
+  }
+
+  public interface RowSetListener extends java.util.EventListener {
+    method public void cursorMoved(javax.sql.RowSetEvent);
+    method public void rowChanged(javax.sql.RowSetEvent);
+    method public void rowSetChanged(javax.sql.RowSetEvent);
+  }
+
+  public interface RowSetMetaData extends java.sql.ResultSetMetaData {
+    method public void setAutoIncrement(int, boolean) throws java.sql.SQLException;
+    method public void setCaseSensitive(int, boolean) throws java.sql.SQLException;
+    method public void setCatalogName(int, String) throws java.sql.SQLException;
+    method public void setColumnCount(int) throws java.sql.SQLException;
+    method public void setColumnDisplaySize(int, int) throws java.sql.SQLException;
+    method public void setColumnLabel(int, String) throws java.sql.SQLException;
+    method public void setColumnName(int, String) throws java.sql.SQLException;
+    method public void setColumnType(int, int) throws java.sql.SQLException;
+    method public void setColumnTypeName(int, String) throws java.sql.SQLException;
+    method public void setCurrency(int, boolean) throws java.sql.SQLException;
+    method public void setNullable(int, int) throws java.sql.SQLException;
+    method public void setPrecision(int, int) throws java.sql.SQLException;
+    method public void setScale(int, int) throws java.sql.SQLException;
+    method public void setSchemaName(int, String) throws java.sql.SQLException;
+    method public void setSearchable(int, boolean) throws java.sql.SQLException;
+    method public void setSigned(int, boolean) throws java.sql.SQLException;
+    method public void setTableName(int, String) throws java.sql.SQLException;
+  }
+
+  public interface RowSetReader {
+    method public void readData(javax.sql.RowSetInternal) throws java.sql.SQLException;
+  }
+
+  public interface RowSetWriter {
+    method public boolean writeData(javax.sql.RowSetInternal) throws java.sql.SQLException;
+  }
+
+  public class StatementEvent extends java.util.EventObject {
+    ctor public StatementEvent(javax.sql.PooledConnection, java.sql.PreparedStatement);
+    ctor public StatementEvent(javax.sql.PooledConnection, java.sql.PreparedStatement, java.sql.SQLException);
+    method public java.sql.SQLException getSQLException();
+    method public java.sql.PreparedStatement getStatement();
+  }
+
+  public interface StatementEventListener extends java.util.EventListener {
+    method public void statementClosed(javax.sql.StatementEvent);
+    method public void statementErrorOccurred(javax.sql.StatementEvent);
+  }
+
+}
+
+package javax.xml {
+
+  public final class XMLConstants {
+    field public static final String DEFAULT_NS_PREFIX = "";
+    field public static final String FEATURE_SECURE_PROCESSING = "http://javax.xml.XMLConstants/feature/secure-processing";
+    field public static final String NULL_NS_URI = "";
+    field public static final String RELAXNG_NS_URI = "http://relaxng.org/ns/structure/1.0";
+    field public static final String W3C_XML_SCHEMA_INSTANCE_NS_URI = "http://www.w3.org/2001/XMLSchema-instance";
+    field public static final String W3C_XML_SCHEMA_NS_URI = "http://www.w3.org/2001/XMLSchema";
+    field public static final String W3C_XPATH_DATATYPE_NS_URI = "http://www.w3.org/2003/11/xpath-datatypes";
+    field public static final String XMLNS_ATTRIBUTE = "xmlns";
+    field public static final String XMLNS_ATTRIBUTE_NS_URI = "http://www.w3.org/2000/xmlns/";
+    field public static final String XML_DTD_NS_URI = "http://www.w3.org/TR/REC-xml";
+    field public static final String XML_NS_PREFIX = "xml";
+    field public static final String XML_NS_URI = "http://www.w3.org/XML/1998/namespace";
+  }
+
+}
+
+package javax.xml.datatype {
+
+  public class DatatypeConfigurationException extends java.lang.Exception {
+    ctor public DatatypeConfigurationException();
+    ctor public DatatypeConfigurationException(String);
+    ctor public DatatypeConfigurationException(String, Throwable);
+    ctor public DatatypeConfigurationException(Throwable);
+  }
+
+  public final class DatatypeConstants {
+    field public static final int APRIL = 4; // 0x4
+    field public static final int AUGUST = 8; // 0x8
+    field public static final javax.xml.namespace.QName DATE;
+    field public static final javax.xml.namespace.QName DATETIME;
+    field public static final javax.xml.datatype.DatatypeConstants.Field DAYS;
+    field public static final int DECEMBER = 12; // 0xc
+    field public static final javax.xml.namespace.QName DURATION;
+    field public static final javax.xml.namespace.QName DURATION_DAYTIME;
+    field public static final javax.xml.namespace.QName DURATION_YEARMONTH;
+    field public static final int EQUAL = 0; // 0x0
+    field public static final int FEBRUARY = 2; // 0x2
+    field public static final int FIELD_UNDEFINED = -2147483648; // 0x80000000
+    field public static final javax.xml.namespace.QName GDAY;
+    field public static final javax.xml.namespace.QName GMONTH;
+    field public static final javax.xml.namespace.QName GMONTHDAY;
+    field public static final int GREATER = 1; // 0x1
+    field public static final javax.xml.namespace.QName GYEAR;
+    field public static final javax.xml.namespace.QName GYEARMONTH;
+    field public static final javax.xml.datatype.DatatypeConstants.Field HOURS;
+    field public static final int INDETERMINATE = 2; // 0x2
+    field public static final int JANUARY = 1; // 0x1
+    field public static final int JULY = 7; // 0x7
+    field public static final int JUNE = 6; // 0x6
+    field public static final int LESSER = -1; // 0xffffffff
+    field public static final int MARCH = 3; // 0x3
+    field public static final int MAX_TIMEZONE_OFFSET = -840; // 0xfffffcb8
+    field public static final int MAY = 5; // 0x5
+    field public static final javax.xml.datatype.DatatypeConstants.Field MINUTES;
+    field public static final int MIN_TIMEZONE_OFFSET = 840; // 0x348
+    field public static final javax.xml.datatype.DatatypeConstants.Field MONTHS;
+    field public static final int NOVEMBER = 11; // 0xb
+    field public static final int OCTOBER = 10; // 0xa
+    field public static final javax.xml.datatype.DatatypeConstants.Field SECONDS;
+    field public static final int SEPTEMBER = 9; // 0x9
+    field public static final javax.xml.namespace.QName TIME;
+    field public static final javax.xml.datatype.DatatypeConstants.Field YEARS;
+  }
+
+  public static final class DatatypeConstants.Field {
+    method public int getId();
+  }
+
+  public abstract class DatatypeFactory {
+    ctor protected DatatypeFactory();
+    method public abstract javax.xml.datatype.Duration newDuration(String);
+    method public abstract javax.xml.datatype.Duration newDuration(long);
+    method public abstract javax.xml.datatype.Duration newDuration(boolean, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigDecimal);
+    method public javax.xml.datatype.Duration newDuration(boolean, int, int, int, int, int, int);
+    method public javax.xml.datatype.Duration newDurationDayTime(String);
+    method public javax.xml.datatype.Duration newDurationDayTime(long);
+    method public javax.xml.datatype.Duration newDurationDayTime(boolean, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
+    method public javax.xml.datatype.Duration newDurationDayTime(boolean, int, int, int, int);
+    method public javax.xml.datatype.Duration newDurationYearMonth(String);
+    method public javax.xml.datatype.Duration newDurationYearMonth(long);
+    method public javax.xml.datatype.Duration newDurationYearMonth(boolean, java.math.BigInteger, java.math.BigInteger);
+    method public javax.xml.datatype.Duration newDurationYearMonth(boolean, int, int);
+    method public static javax.xml.datatype.DatatypeFactory newInstance() throws javax.xml.datatype.DatatypeConfigurationException;
+    method public static javax.xml.datatype.DatatypeFactory newInstance(String, ClassLoader) throws javax.xml.datatype.DatatypeConfigurationException;
+    method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar();
+    method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(String);
+    method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.util.GregorianCalendar);
+    method public abstract javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(java.math.BigInteger, int, int, int, int, int, java.math.BigDecimal, int);
+    method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendar(int, int, int, int, int, int, int, int);
+    method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarDate(int, int, int, int);
+    method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, int);
+    method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, java.math.BigDecimal, int);
+    method public javax.xml.datatype.XMLGregorianCalendar newXMLGregorianCalendarTime(int, int, int, int, int);
+    field public static final String DATATYPEFACTORY_IMPLEMENTATION_CLASS;
+    field public static final String DATATYPEFACTORY_PROPERTY = "javax.xml.datatype.DatatypeFactory";
+  }
+
+  public abstract class Duration {
+    ctor public Duration();
+    method public abstract javax.xml.datatype.Duration add(javax.xml.datatype.Duration);
+    method public abstract void addTo(java.util.Calendar);
+    method public void addTo(java.util.Date);
+    method public abstract int compare(javax.xml.datatype.Duration);
+    method public int getDays();
+    method public abstract Number getField(javax.xml.datatype.DatatypeConstants.Field);
+    method public int getHours();
+    method public int getMinutes();
+    method public int getMonths();
+    method public int getSeconds();
+    method public abstract int getSign();
+    method public long getTimeInMillis(java.util.Calendar);
+    method public long getTimeInMillis(java.util.Date);
+    method public javax.xml.namespace.QName getXMLSchemaType();
+    method public int getYears();
+    method public abstract int hashCode();
+    method public boolean isLongerThan(javax.xml.datatype.Duration);
+    method public abstract boolean isSet(javax.xml.datatype.DatatypeConstants.Field);
+    method public boolean isShorterThan(javax.xml.datatype.Duration);
+    method public javax.xml.datatype.Duration multiply(int);
+    method public abstract javax.xml.datatype.Duration multiply(java.math.BigDecimal);
+    method public abstract javax.xml.datatype.Duration negate();
+    method public abstract javax.xml.datatype.Duration normalizeWith(java.util.Calendar);
+    method public javax.xml.datatype.Duration subtract(javax.xml.datatype.Duration);
+  }
+
+  public abstract class XMLGregorianCalendar implements java.lang.Cloneable {
+    ctor public XMLGregorianCalendar();
+    method public abstract void add(javax.xml.datatype.Duration);
+    method public abstract void clear();
+    method public abstract Object clone();
+    method public abstract int compare(javax.xml.datatype.XMLGregorianCalendar);
+    method public abstract int getDay();
+    method public abstract java.math.BigInteger getEon();
+    method public abstract java.math.BigInteger getEonAndYear();
+    method public abstract java.math.BigDecimal getFractionalSecond();
+    method public abstract int getHour();
+    method public int getMillisecond();
+    method public abstract int getMinute();
+    method public abstract int getMonth();
+    method public abstract int getSecond();
+    method public abstract java.util.TimeZone getTimeZone(int);
+    method public abstract int getTimezone();
+    method public abstract javax.xml.namespace.QName getXMLSchemaType();
+    method public abstract int getYear();
+    method public abstract boolean isValid();
+    method public abstract javax.xml.datatype.XMLGregorianCalendar normalize();
+    method public abstract void reset();
+    method public abstract void setDay(int);
+    method public abstract void setFractionalSecond(java.math.BigDecimal);
+    method public abstract void setHour(int);
+    method public abstract void setMillisecond(int);
+    method public abstract void setMinute(int);
+    method public abstract void setMonth(int);
+    method public abstract void setSecond(int);
+    method public void setTime(int, int, int);
+    method public void setTime(int, int, int, java.math.BigDecimal);
+    method public void setTime(int, int, int, int);
+    method public abstract void setTimezone(int);
+    method public abstract void setYear(java.math.BigInteger);
+    method public abstract void setYear(int);
+    method public abstract java.util.GregorianCalendar toGregorianCalendar();
+    method public abstract java.util.GregorianCalendar toGregorianCalendar(java.util.TimeZone, java.util.Locale, javax.xml.datatype.XMLGregorianCalendar);
+    method public abstract String toXMLFormat();
+  }
+
+}
+
+package javax.xml.namespace {
+
+  public interface NamespaceContext {
+    method public String getNamespaceURI(String);
+    method public String getPrefix(String);
+    method public java.util.Iterator getPrefixes(String);
+  }
+
+  public class QName implements java.io.Serializable {
+    ctor public QName(String, String);
+    ctor public QName(String, String, String);
+    ctor public QName(String);
+    method public final boolean equals(Object);
+    method public String getLocalPart();
+    method public String getNamespaceURI();
+    method public String getPrefix();
+    method public final int hashCode();
+    method public static javax.xml.namespace.QName valueOf(String);
+  }
+
+}
+
+package javax.xml.parsers {
+
+  public abstract class DocumentBuilder {
+    ctor protected DocumentBuilder();
+    method public abstract org.w3c.dom.DOMImplementation getDOMImplementation();
+    method public javax.xml.validation.Schema getSchema();
+    method public abstract boolean isNamespaceAware();
+    method public abstract boolean isValidating();
+    method public boolean isXIncludeAware();
+    method public abstract org.w3c.dom.Document newDocument();
+    method public org.w3c.dom.Document parse(java.io.InputStream) throws java.io.IOException, org.xml.sax.SAXException;
+    method public org.w3c.dom.Document parse(java.io.InputStream, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public org.w3c.dom.Document parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public org.w3c.dom.Document parse(java.io.File) throws java.io.IOException, org.xml.sax.SAXException;
+    method public abstract org.w3c.dom.Document parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void reset();
+    method public abstract void setEntityResolver(org.xml.sax.EntityResolver);
+    method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+  }
+
+  public abstract class DocumentBuilderFactory {
+    ctor protected DocumentBuilderFactory();
+    method public abstract Object getAttribute(String) throws java.lang.IllegalArgumentException;
+    method public abstract boolean getFeature(String) throws javax.xml.parsers.ParserConfigurationException;
+    method public javax.xml.validation.Schema getSchema();
+    method public boolean isCoalescing();
+    method public boolean isExpandEntityReferences();
+    method public boolean isIgnoringComments();
+    method public boolean isIgnoringElementContentWhitespace();
+    method public boolean isNamespaceAware();
+    method public boolean isValidating();
+    method public boolean isXIncludeAware();
+    method public abstract javax.xml.parsers.DocumentBuilder newDocumentBuilder() throws javax.xml.parsers.ParserConfigurationException;
+    method public static javax.xml.parsers.DocumentBuilderFactory newInstance();
+    method public static javax.xml.parsers.DocumentBuilderFactory newInstance(String, ClassLoader);
+    method public abstract void setAttribute(String, Object) throws java.lang.IllegalArgumentException;
+    method public void setCoalescing(boolean);
+    method public void setExpandEntityReferences(boolean);
+    method public abstract void setFeature(String, boolean) throws javax.xml.parsers.ParserConfigurationException;
+    method public void setIgnoringComments(boolean);
+    method public void setIgnoringElementContentWhitespace(boolean);
+    method public void setNamespaceAware(boolean);
+    method public void setSchema(javax.xml.validation.Schema);
+    method public void setValidating(boolean);
+    method public void setXIncludeAware(boolean);
+  }
+
+  public class FactoryConfigurationError extends java.lang.Error {
+    ctor public FactoryConfigurationError();
+    ctor public FactoryConfigurationError(String);
+    ctor public FactoryConfigurationError(Exception);
+    ctor public FactoryConfigurationError(Exception, String);
+    method public Exception getException();
+  }
+
+  public class ParserConfigurationException extends java.lang.Exception {
+    ctor public ParserConfigurationException();
+    ctor public ParserConfigurationException(String);
+  }
+
+  public abstract class SAXParser {
+    ctor protected SAXParser();
+    method public abstract org.xml.sax.Parser getParser() throws org.xml.sax.SAXException;
+    method public abstract Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public javax.xml.validation.Schema getSchema();
+    method public abstract org.xml.sax.XMLReader getXMLReader() throws org.xml.sax.SAXException;
+    method public abstract boolean isNamespaceAware();
+    method public abstract boolean isValidating();
+    method public boolean isXIncludeAware();
+    method public void parse(java.io.InputStream, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(java.io.InputStream, org.xml.sax.HandlerBase, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(java.io.InputStream, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(java.io.InputStream, org.xml.sax.helpers.DefaultHandler, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(String, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(String, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(java.io.File, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(java.io.File, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(org.xml.sax.InputSource, org.xml.sax.HandlerBase) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(org.xml.sax.InputSource, org.xml.sax.helpers.DefaultHandler) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void reset();
+    method public abstract void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+  }
+
+  public abstract class SAXParserFactory {
+    ctor protected SAXParserFactory();
+    method public abstract boolean getFeature(String) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public javax.xml.validation.Schema getSchema();
+    method public boolean isNamespaceAware();
+    method public boolean isValidating();
+    method public boolean isXIncludeAware();
+    method public static javax.xml.parsers.SAXParserFactory newInstance();
+    method public static javax.xml.parsers.SAXParserFactory newInstance(String, ClassLoader);
+    method public abstract javax.xml.parsers.SAXParser newSAXParser() throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXException;
+    method public abstract void setFeature(String, boolean) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setNamespaceAware(boolean);
+    method public void setSchema(javax.xml.validation.Schema);
+    method public void setValidating(boolean);
+    method public void setXIncludeAware(boolean);
+  }
+
+}
+
+package javax.xml.transform {
+
+  public interface ErrorListener {
+    method public void error(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException;
+    method public void fatalError(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException;
+    method public void warning(javax.xml.transform.TransformerException) throws javax.xml.transform.TransformerException;
+  }
+
+  public class OutputKeys {
+    field public static final String CDATA_SECTION_ELEMENTS = "cdata-section-elements";
+    field public static final String DOCTYPE_PUBLIC = "doctype-public";
+    field public static final String DOCTYPE_SYSTEM = "doctype-system";
+    field public static final String ENCODING = "encoding";
+    field public static final String INDENT = "indent";
+    field public static final String MEDIA_TYPE = "media-type";
+    field public static final String METHOD = "method";
+    field public static final String OMIT_XML_DECLARATION = "omit-xml-declaration";
+    field public static final String STANDALONE = "standalone";
+    field public static final String VERSION = "version";
+  }
+
+  public interface Result {
+    method public String getSystemId();
+    method public void setSystemId(String);
+    field public static final String PI_DISABLE_OUTPUT_ESCAPING = "javax.xml.transform.disable-output-escaping";
+    field public static final String PI_ENABLE_OUTPUT_ESCAPING = "javax.xml.transform.enable-output-escaping";
+  }
+
+  public interface Source {
+    method public String getSystemId();
+    method public void setSystemId(String);
+  }
+
+  public interface SourceLocator {
+    method public int getColumnNumber();
+    method public int getLineNumber();
+    method public String getPublicId();
+    method public String getSystemId();
+  }
+
+  public interface Templates {
+    method public java.util.Properties getOutputProperties();
+    method public javax.xml.transform.Transformer newTransformer() throws javax.xml.transform.TransformerConfigurationException;
+  }
+
+  public abstract class Transformer {
+    ctor protected Transformer();
+    method public abstract void clearParameters();
+    method public abstract javax.xml.transform.ErrorListener getErrorListener();
+    method public abstract java.util.Properties getOutputProperties();
+    method public abstract String getOutputProperty(String) throws java.lang.IllegalArgumentException;
+    method public abstract Object getParameter(String);
+    method public abstract javax.xml.transform.URIResolver getURIResolver();
+    method public void reset();
+    method public abstract void setErrorListener(javax.xml.transform.ErrorListener) throws java.lang.IllegalArgumentException;
+    method public abstract void setOutputProperties(java.util.Properties);
+    method public abstract void setOutputProperty(String, String) throws java.lang.IllegalArgumentException;
+    method public abstract void setParameter(String, Object);
+    method public abstract void setURIResolver(javax.xml.transform.URIResolver);
+    method public abstract void transform(javax.xml.transform.Source, javax.xml.transform.Result) throws javax.xml.transform.TransformerException;
+  }
+
+  public class TransformerConfigurationException extends javax.xml.transform.TransformerException {
+    ctor public TransformerConfigurationException();
+    ctor public TransformerConfigurationException(String);
+    ctor public TransformerConfigurationException(Throwable);
+    ctor public TransformerConfigurationException(String, Throwable);
+    ctor public TransformerConfigurationException(String, javax.xml.transform.SourceLocator);
+    ctor public TransformerConfigurationException(String, javax.xml.transform.SourceLocator, Throwable);
+  }
+
+  public class TransformerException extends java.lang.Exception {
+    ctor public TransformerException(String);
+    ctor public TransformerException(Throwable);
+    ctor public TransformerException(String, Throwable);
+    ctor public TransformerException(String, javax.xml.transform.SourceLocator);
+    ctor public TransformerException(String, javax.xml.transform.SourceLocator, Throwable);
+    method public Throwable getException();
+    method public String getLocationAsString();
+    method public javax.xml.transform.SourceLocator getLocator();
+    method public String getMessageAndLocation();
+    method public void setLocator(javax.xml.transform.SourceLocator);
+  }
+
+  public abstract class TransformerFactory {
+    ctor protected TransformerFactory();
+    method public abstract javax.xml.transform.Source getAssociatedStylesheet(javax.xml.transform.Source, String, String, String) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract Object getAttribute(String);
+    method public abstract javax.xml.transform.ErrorListener getErrorListener();
+    method public abstract boolean getFeature(String);
+    method public abstract javax.xml.transform.URIResolver getURIResolver();
+    method public static javax.xml.transform.TransformerFactory newInstance() throws javax.xml.transform.TransformerFactoryConfigurationError;
+    method public static javax.xml.transform.TransformerFactory newInstance(String, ClassLoader) throws javax.xml.transform.TransformerFactoryConfigurationError;
+    method public abstract javax.xml.transform.Templates newTemplates(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract javax.xml.transform.Transformer newTransformer(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract javax.xml.transform.Transformer newTransformer() throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract void setAttribute(String, Object);
+    method public abstract void setErrorListener(javax.xml.transform.ErrorListener);
+    method public abstract void setFeature(String, boolean) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract void setURIResolver(javax.xml.transform.URIResolver);
+  }
+
+  public class TransformerFactoryConfigurationError extends java.lang.Error {
+    ctor public TransformerFactoryConfigurationError();
+    ctor public TransformerFactoryConfigurationError(String);
+    ctor public TransformerFactoryConfigurationError(Exception);
+    ctor public TransformerFactoryConfigurationError(Exception, String);
+    method public Exception getException();
+  }
+
+  public interface URIResolver {
+    method public javax.xml.transform.Source resolve(String, String) throws javax.xml.transform.TransformerException;
+  }
+
+}
+
+package javax.xml.transform.dom {
+
+  public interface DOMLocator extends javax.xml.transform.SourceLocator {
+    method public org.w3c.dom.Node getOriginatingNode();
+  }
+
+  public class DOMResult implements javax.xml.transform.Result {
+    ctor public DOMResult();
+    ctor public DOMResult(org.w3c.dom.Node);
+    ctor public DOMResult(org.w3c.dom.Node, String);
+    ctor public DOMResult(org.w3c.dom.Node, org.w3c.dom.Node);
+    ctor public DOMResult(org.w3c.dom.Node, org.w3c.dom.Node, String);
+    method public org.w3c.dom.Node getNextSibling();
+    method public org.w3c.dom.Node getNode();
+    method public String getSystemId();
+    method public void setNextSibling(org.w3c.dom.Node);
+    method public void setNode(org.w3c.dom.Node);
+    method public void setSystemId(String);
+    field public static final String FEATURE = "http://javax.xml.transform.dom.DOMResult/feature";
+  }
+
+  public class DOMSource implements javax.xml.transform.Source {
+    ctor public DOMSource();
+    ctor public DOMSource(org.w3c.dom.Node);
+    ctor public DOMSource(org.w3c.dom.Node, String);
+    method public org.w3c.dom.Node getNode();
+    method public String getSystemId();
+    method public void setNode(org.w3c.dom.Node);
+    method public void setSystemId(String);
+    field public static final String FEATURE = "http://javax.xml.transform.dom.DOMSource/feature";
+  }
+
+}
+
+package javax.xml.transform.sax {
+
+  public class SAXResult implements javax.xml.transform.Result {
+    ctor public SAXResult();
+    ctor public SAXResult(org.xml.sax.ContentHandler);
+    method public org.xml.sax.ContentHandler getHandler();
+    method public org.xml.sax.ext.LexicalHandler getLexicalHandler();
+    method public String getSystemId();
+    method public void setHandler(org.xml.sax.ContentHandler);
+    method public void setLexicalHandler(org.xml.sax.ext.LexicalHandler);
+    method public void setSystemId(String);
+    field public static final String FEATURE = "http://javax.xml.transform.sax.SAXResult/feature";
+  }
+
+  public class SAXSource implements javax.xml.transform.Source {
+    ctor public SAXSource();
+    ctor public SAXSource(org.xml.sax.XMLReader, org.xml.sax.InputSource);
+    ctor public SAXSource(org.xml.sax.InputSource);
+    method public org.xml.sax.InputSource getInputSource();
+    method public String getSystemId();
+    method public org.xml.sax.XMLReader getXMLReader();
+    method public void setInputSource(org.xml.sax.InputSource);
+    method public void setSystemId(String);
+    method public void setXMLReader(org.xml.sax.XMLReader);
+    method public static org.xml.sax.InputSource sourceToInputSource(javax.xml.transform.Source);
+    field public static final String FEATURE = "http://javax.xml.transform.sax.SAXSource/feature";
+  }
+
+  public abstract class SAXTransformerFactory extends javax.xml.transform.TransformerFactory {
+    ctor protected SAXTransformerFactory();
+    method public abstract javax.xml.transform.sax.TemplatesHandler newTemplatesHandler() throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler(javax.xml.transform.Templates) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract javax.xml.transform.sax.TransformerHandler newTransformerHandler() throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract org.xml.sax.XMLFilter newXMLFilter(javax.xml.transform.Source) throws javax.xml.transform.TransformerConfigurationException;
+    method public abstract org.xml.sax.XMLFilter newXMLFilter(javax.xml.transform.Templates) throws javax.xml.transform.TransformerConfigurationException;
+    field public static final String FEATURE = "http://javax.xml.transform.sax.SAXTransformerFactory/feature";
+    field public static final String FEATURE_XMLFILTER = "http://javax.xml.transform.sax.SAXTransformerFactory/feature/xmlfilter";
+  }
+
+  public interface TemplatesHandler extends org.xml.sax.ContentHandler {
+    method public String getSystemId();
+    method public javax.xml.transform.Templates getTemplates();
+    method public void setSystemId(String);
+  }
+
+  public interface TransformerHandler extends org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.ext.LexicalHandler {
+    method public String getSystemId();
+    method public javax.xml.transform.Transformer getTransformer();
+    method public void setResult(javax.xml.transform.Result) throws java.lang.IllegalArgumentException;
+    method public void setSystemId(String);
+  }
+
+}
+
+package javax.xml.transform.stream {
+
+  public class StreamResult implements javax.xml.transform.Result {
+    ctor public StreamResult();
+    ctor public StreamResult(java.io.OutputStream);
+    ctor public StreamResult(java.io.Writer);
+    ctor public StreamResult(String);
+    ctor public StreamResult(java.io.File);
+    method public java.io.OutputStream getOutputStream();
+    method public String getSystemId();
+    method public java.io.Writer getWriter();
+    method public void setOutputStream(java.io.OutputStream);
+    method public void setSystemId(String);
+    method public void setSystemId(java.io.File);
+    method public void setWriter(java.io.Writer);
+    field public static final String FEATURE = "http://javax.xml.transform.stream.StreamResult/feature";
+  }
+
+  public class StreamSource implements javax.xml.transform.Source {
+    ctor public StreamSource();
+    ctor public StreamSource(java.io.InputStream);
+    ctor public StreamSource(java.io.InputStream, String);
+    ctor public StreamSource(java.io.Reader);
+    ctor public StreamSource(java.io.Reader, String);
+    ctor public StreamSource(String);
+    ctor public StreamSource(java.io.File);
+    method public java.io.InputStream getInputStream();
+    method public String getPublicId();
+    method public java.io.Reader getReader();
+    method public String getSystemId();
+    method public void setInputStream(java.io.InputStream);
+    method public void setPublicId(String);
+    method public void setReader(java.io.Reader);
+    method public void setSystemId(String);
+    method public void setSystemId(java.io.File);
+    field public static final String FEATURE = "http://javax.xml.transform.stream.StreamSource/feature";
+  }
+
+}
+
+package javax.xml.validation {
+
+  public abstract class Schema {
+    ctor protected Schema();
+    method public abstract javax.xml.validation.Validator newValidator();
+    method public abstract javax.xml.validation.ValidatorHandler newValidatorHandler();
+  }
+
+  public abstract class SchemaFactory {
+    ctor protected SchemaFactory();
+    method public abstract org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver();
+    method public abstract boolean isSchemaLanguageSupported(String);
+    method public static javax.xml.validation.SchemaFactory newInstance(String);
+    method public static javax.xml.validation.SchemaFactory newInstance(String, String, ClassLoader);
+    method public javax.xml.validation.Schema newSchema(javax.xml.transform.Source) throws org.xml.sax.SAXException;
+    method public javax.xml.validation.Schema newSchema(java.io.File) throws org.xml.sax.SAXException;
+    method public javax.xml.validation.Schema newSchema(java.net.URL) throws org.xml.sax.SAXException;
+    method public abstract javax.xml.validation.Schema newSchema(javax.xml.transform.Source[]) throws org.xml.sax.SAXException;
+    method public abstract javax.xml.validation.Schema newSchema() throws org.xml.sax.SAXException;
+    method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver);
+  }
+
+  public abstract class SchemaFactoryLoader {
+    ctor protected SchemaFactoryLoader();
+    method public abstract javax.xml.validation.SchemaFactory newFactory(String);
+  }
+
+  public abstract class TypeInfoProvider {
+    ctor protected TypeInfoProvider();
+    method public abstract org.w3c.dom.TypeInfo getAttributeTypeInfo(int);
+    method public abstract org.w3c.dom.TypeInfo getElementTypeInfo();
+    method public abstract boolean isIdAttribute(int);
+    method public abstract boolean isSpecified(int);
+  }
+
+  public abstract class Validator {
+    ctor protected Validator();
+    method public abstract org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver();
+    method public abstract void reset();
+    method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver);
+    method public void validate(javax.xml.transform.Source) throws java.io.IOException, org.xml.sax.SAXException;
+    method public abstract void validate(javax.xml.transform.Source, javax.xml.transform.Result) throws java.io.IOException, org.xml.sax.SAXException;
+  }
+
+  public abstract class ValidatorHandler implements org.xml.sax.ContentHandler {
+    ctor protected ValidatorHandler();
+    method public abstract org.xml.sax.ContentHandler getContentHandler();
+    method public abstract org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract org.w3c.dom.ls.LSResourceResolver getResourceResolver();
+    method public abstract javax.xml.validation.TypeInfoProvider getTypeInfoProvider();
+    method public abstract void setContentHandler(org.xml.sax.ContentHandler);
+    method public abstract void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public abstract void setResourceResolver(org.w3c.dom.ls.LSResourceResolver);
+  }
+
+}
+
+package javax.xml.xpath {
+
+  public interface XPath {
+    method public javax.xml.xpath.XPathExpression compile(String) throws javax.xml.xpath.XPathExpressionException;
+    method public Object evaluate(String, Object, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+    method public String evaluate(String, Object) throws javax.xml.xpath.XPathExpressionException;
+    method public Object evaluate(String, org.xml.sax.InputSource, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+    method public String evaluate(String, org.xml.sax.InputSource) throws javax.xml.xpath.XPathExpressionException;
+    method public javax.xml.namespace.NamespaceContext getNamespaceContext();
+    method public javax.xml.xpath.XPathFunctionResolver getXPathFunctionResolver();
+    method public javax.xml.xpath.XPathVariableResolver getXPathVariableResolver();
+    method public void reset();
+    method public void setNamespaceContext(javax.xml.namespace.NamespaceContext);
+    method public void setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver);
+    method public void setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver);
+  }
+
+  public class XPathConstants {
+    field public static final javax.xml.namespace.QName BOOLEAN;
+    field public static final String DOM_OBJECT_MODEL = "http://java.sun.com/jaxp/xpath/dom";
+    field public static final javax.xml.namespace.QName NODE;
+    field public static final javax.xml.namespace.QName NODESET;
+    field public static final javax.xml.namespace.QName NUMBER;
+    field public static final javax.xml.namespace.QName STRING;
+  }
+
+  public class XPathException extends java.lang.Exception {
+    ctor public XPathException(String);
+    ctor public XPathException(Throwable);
+  }
+
+  public interface XPathExpression {
+    method public Object evaluate(Object, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+    method public String evaluate(Object) throws javax.xml.xpath.XPathExpressionException;
+    method public Object evaluate(org.xml.sax.InputSource, javax.xml.namespace.QName) throws javax.xml.xpath.XPathExpressionException;
+    method public String evaluate(org.xml.sax.InputSource) throws javax.xml.xpath.XPathExpressionException;
+  }
+
+  public class XPathExpressionException extends javax.xml.xpath.XPathException {
+    ctor public XPathExpressionException(String);
+    ctor public XPathExpressionException(Throwable);
+  }
+
+  public abstract class XPathFactory {
+    ctor protected XPathFactory();
+    method public abstract boolean getFeature(String) throws javax.xml.xpath.XPathFactoryConfigurationException;
+    method public abstract boolean isObjectModelSupported(String);
+    method public static final javax.xml.xpath.XPathFactory newInstance();
+    method public static final javax.xml.xpath.XPathFactory newInstance(String) throws javax.xml.xpath.XPathFactoryConfigurationException;
+    method public static javax.xml.xpath.XPathFactory newInstance(String, String, ClassLoader) throws javax.xml.xpath.XPathFactoryConfigurationException;
+    method public abstract javax.xml.xpath.XPath newXPath();
+    method public abstract void setFeature(String, boolean) throws javax.xml.xpath.XPathFactoryConfigurationException;
+    method public abstract void setXPathFunctionResolver(javax.xml.xpath.XPathFunctionResolver);
+    method public abstract void setXPathVariableResolver(javax.xml.xpath.XPathVariableResolver);
+    field public static final String DEFAULT_OBJECT_MODEL_URI = "http://java.sun.com/jaxp/xpath/dom";
+    field public static final String DEFAULT_PROPERTY_NAME = "javax.xml.xpath.XPathFactory";
+  }
+
+  public class XPathFactoryConfigurationException extends javax.xml.xpath.XPathException {
+    ctor public XPathFactoryConfigurationException(String);
+    ctor public XPathFactoryConfigurationException(Throwable);
+  }
+
+  public interface XPathFunction {
+    method public Object evaluate(java.util.List) throws javax.xml.xpath.XPathFunctionException;
+  }
+
+  public class XPathFunctionException extends javax.xml.xpath.XPathExpressionException {
+    ctor public XPathFunctionException(String);
+    ctor public XPathFunctionException(Throwable);
+  }
+
+  public interface XPathFunctionResolver {
+    method public javax.xml.xpath.XPathFunction resolveFunction(javax.xml.namespace.QName, int);
+  }
+
+  public interface XPathVariableResolver {
+    method public Object resolveVariable(javax.xml.namespace.QName);
+  }
+
+}
+
+package org.json {
+
+  public class JSONArray {
+    ctor public JSONArray();
+    ctor public JSONArray(java.util.Collection);
+    ctor public JSONArray(org.json.JSONTokener) throws org.json.JSONException;
+    ctor public JSONArray(String) throws org.json.JSONException;
+    ctor public JSONArray(Object) throws org.json.JSONException;
+    method public Object get(int) throws org.json.JSONException;
+    method public boolean getBoolean(int) throws org.json.JSONException;
+    method public double getDouble(int) throws org.json.JSONException;
+    method public int getInt(int) throws org.json.JSONException;
+    method public org.json.JSONArray getJSONArray(int) throws org.json.JSONException;
+    method public org.json.JSONObject getJSONObject(int) throws org.json.JSONException;
+    method public long getLong(int) throws org.json.JSONException;
+    method public String getString(int) throws org.json.JSONException;
+    method public boolean isNull(int);
+    method public String join(String) throws org.json.JSONException;
+    method public int length();
+    method public Object opt(int);
+    method public boolean optBoolean(int);
+    method public boolean optBoolean(int, boolean);
+    method public double optDouble(int);
+    method public double optDouble(int, double);
+    method public int optInt(int);
+    method public int optInt(int, int);
+    method public org.json.JSONArray optJSONArray(int);
+    method public org.json.JSONObject optJSONObject(int);
+    method public long optLong(int);
+    method public long optLong(int, long);
+    method public String optString(int);
+    method public String optString(int, String);
+    method public org.json.JSONArray put(boolean);
+    method public org.json.JSONArray put(double) throws org.json.JSONException;
+    method public org.json.JSONArray put(int);
+    method public org.json.JSONArray put(long);
+    method public org.json.JSONArray put(Object);
+    method public org.json.JSONArray put(int, boolean) throws org.json.JSONException;
+    method public org.json.JSONArray put(int, double) throws org.json.JSONException;
+    method public org.json.JSONArray put(int, int) throws org.json.JSONException;
+    method public org.json.JSONArray put(int, long) throws org.json.JSONException;
+    method public org.json.JSONArray put(int, Object) throws org.json.JSONException;
+    method public Object remove(int);
+    method public org.json.JSONObject toJSONObject(org.json.JSONArray) throws org.json.JSONException;
+    method public String toString(int) throws org.json.JSONException;
+  }
+
+  public class JSONException extends java.lang.Exception {
+    ctor public JSONException(String);
+    ctor public JSONException(String, Throwable);
+    ctor public JSONException(Throwable);
+  }
+
+  public class JSONObject {
+    ctor public JSONObject();
+    ctor public JSONObject(@NonNull java.util.Map);
+    ctor public JSONObject(@NonNull org.json.JSONTokener) throws org.json.JSONException;
+    ctor public JSONObject(@NonNull String) throws org.json.JSONException;
+    ctor public JSONObject(@NonNull org.json.JSONObject, @NonNull String[]) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject accumulate(@NonNull String, @Nullable Object) throws org.json.JSONException;
+    method @NonNull public Object get(@NonNull String) throws org.json.JSONException;
+    method public boolean getBoolean(@NonNull String) throws org.json.JSONException;
+    method public double getDouble(@NonNull String) throws org.json.JSONException;
+    method public int getInt(@NonNull String) throws org.json.JSONException;
+    method @NonNull public org.json.JSONArray getJSONArray(@NonNull String) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject getJSONObject(@NonNull String) throws org.json.JSONException;
+    method public long getLong(@NonNull String) throws org.json.JSONException;
+    method @NonNull public String getString(@NonNull String) throws org.json.JSONException;
+    method public boolean has(@Nullable String);
+    method public boolean isNull(@Nullable String);
+    method @NonNull public java.util.Iterator<java.lang.String> keys();
+    method public int length();
+    method @Nullable public org.json.JSONArray names();
+    method @NonNull public static String numberToString(@NonNull Number) throws org.json.JSONException;
+    method @Nullable public Object opt(@Nullable String);
+    method public boolean optBoolean(@Nullable String);
+    method public boolean optBoolean(@Nullable String, boolean);
+    method public double optDouble(@Nullable String);
+    method public double optDouble(@Nullable String, double);
+    method public int optInt(@Nullable String);
+    method public int optInt(@Nullable String, int);
+    method @Nullable public org.json.JSONArray optJSONArray(@Nullable String);
+    method @Nullable public org.json.JSONObject optJSONObject(@Nullable String);
+    method public long optLong(@Nullable String);
+    method public long optLong(@Nullable String, long);
+    method @NonNull public String optString(@Nullable String);
+    method @NonNull public String optString(@Nullable String, @NonNull String);
+    method @NonNull public org.json.JSONObject put(@NonNull String, boolean) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject put(@NonNull String, double) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject put(@NonNull String, int) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject put(@NonNull String, long) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject put(@NonNull String, @Nullable Object) throws org.json.JSONException;
+    method @NonNull public org.json.JSONObject putOpt(@Nullable String, @Nullable Object) throws org.json.JSONException;
+    method @NonNull public static String quote(@Nullable String);
+    method @Nullable public Object remove(@Nullable String);
+    method @Nullable public org.json.JSONArray toJSONArray(@Nullable org.json.JSONArray) throws org.json.JSONException;
+    method @NonNull public String toString(int) throws org.json.JSONException;
+    method @Nullable public static Object wrap(@Nullable Object);
+    field @NonNull public static final Object NULL;
+  }
+
+  public class JSONStringer {
+    ctor public JSONStringer();
+    method public org.json.JSONStringer array() throws org.json.JSONException;
+    method public org.json.JSONStringer endArray() throws org.json.JSONException;
+    method public org.json.JSONStringer endObject() throws org.json.JSONException;
+    method public org.json.JSONStringer key(String) throws org.json.JSONException;
+    method public org.json.JSONStringer object() throws org.json.JSONException;
+    method public org.json.JSONStringer value(Object) throws org.json.JSONException;
+    method public org.json.JSONStringer value(boolean) throws org.json.JSONException;
+    method public org.json.JSONStringer value(double) throws org.json.JSONException;
+    method public org.json.JSONStringer value(long) throws org.json.JSONException;
+  }
+
+  public class JSONTokener {
+    ctor public JSONTokener(String);
+    method public void back();
+    method public static int dehexchar(char);
+    method public boolean more();
+    method public char next();
+    method public char next(char) throws org.json.JSONException;
+    method public String next(int) throws org.json.JSONException;
+    method public char nextClean() throws org.json.JSONException;
+    method public String nextString(char) throws org.json.JSONException;
+    method public String nextTo(String);
+    method public String nextTo(char);
+    method public Object nextValue() throws org.json.JSONException;
+    method public void skipPast(String);
+    method public char skipTo(char);
+    method public org.json.JSONException syntaxError(String);
+  }
+
+}
+
+package org.w3c.dom {
+
+  public interface Attr extends org.w3c.dom.Node {
+    method public String getName();
+    method public org.w3c.dom.Element getOwnerElement();
+    method public org.w3c.dom.TypeInfo getSchemaTypeInfo();
+    method public boolean getSpecified();
+    method public String getValue();
+    method public boolean isId();
+    method public void setValue(String) throws org.w3c.dom.DOMException;
+  }
+
+  public interface CDATASection extends org.w3c.dom.Text {
+  }
+
+  public interface CharacterData extends org.w3c.dom.Node {
+    method public void appendData(String) throws org.w3c.dom.DOMException;
+    method public void deleteData(int, int) throws org.w3c.dom.DOMException;
+    method public String getData() throws org.w3c.dom.DOMException;
+    method public int getLength();
+    method public void insertData(int, String) throws org.w3c.dom.DOMException;
+    method public void replaceData(int, int, String) throws org.w3c.dom.DOMException;
+    method public void setData(String) throws org.w3c.dom.DOMException;
+    method public String substringData(int, int) throws org.w3c.dom.DOMException;
+  }
+
+  public interface Comment extends org.w3c.dom.CharacterData {
+  }
+
+  public interface DOMConfiguration {
+    method public boolean canSetParameter(String, Object);
+    method public Object getParameter(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.DOMStringList getParameterNames();
+    method public void setParameter(String, Object) throws org.w3c.dom.DOMException;
+  }
+
+  public interface DOMError {
+    method public org.w3c.dom.DOMLocator getLocation();
+    method public String getMessage();
+    method public Object getRelatedData();
+    method public Object getRelatedException();
+    method public short getSeverity();
+    method public String getType();
+    field public static final short SEVERITY_ERROR = 2; // 0x2
+    field public static final short SEVERITY_FATAL_ERROR = 3; // 0x3
+    field public static final short SEVERITY_WARNING = 1; // 0x1
+  }
+
+  public interface DOMErrorHandler {
+    method public boolean handleError(org.w3c.dom.DOMError);
+  }
+
+  public class DOMException extends java.lang.RuntimeException {
+    ctor public DOMException(short, String);
+    field public static final short DOMSTRING_SIZE_ERR = 2; // 0x2
+    field public static final short HIERARCHY_REQUEST_ERR = 3; // 0x3
+    field public static final short INDEX_SIZE_ERR = 1; // 0x1
+    field public static final short INUSE_ATTRIBUTE_ERR = 10; // 0xa
+    field public static final short INVALID_ACCESS_ERR = 15; // 0xf
+    field public static final short INVALID_CHARACTER_ERR = 5; // 0x5
+    field public static final short INVALID_MODIFICATION_ERR = 13; // 0xd
+    field public static final short INVALID_STATE_ERR = 11; // 0xb
+    field public static final short NAMESPACE_ERR = 14; // 0xe
+    field public static final short NOT_FOUND_ERR = 8; // 0x8
+    field public static final short NOT_SUPPORTED_ERR = 9; // 0x9
+    field public static final short NO_DATA_ALLOWED_ERR = 6; // 0x6
+    field public static final short NO_MODIFICATION_ALLOWED_ERR = 7; // 0x7
+    field public static final short SYNTAX_ERR = 12; // 0xc
+    field public static final short TYPE_MISMATCH_ERR = 17; // 0x11
+    field public static final short VALIDATION_ERR = 16; // 0x10
+    field public static final short WRONG_DOCUMENT_ERR = 4; // 0x4
+    field public short code;
+  }
+
+  public interface DOMImplementation {
+    method public org.w3c.dom.Document createDocument(String, String, org.w3c.dom.DocumentType) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.DocumentType createDocumentType(String, String, String) throws org.w3c.dom.DOMException;
+    method public Object getFeature(String, String);
+    method public boolean hasFeature(String, String);
+  }
+
+  public interface DOMImplementationList {
+    method public int getLength();
+    method public org.w3c.dom.DOMImplementation item(int);
+  }
+
+  public interface DOMImplementationSource {
+    method public org.w3c.dom.DOMImplementation getDOMImplementation(String);
+    method public org.w3c.dom.DOMImplementationList getDOMImplementationList(String);
+  }
+
+  public interface DOMLocator {
+    method public int getByteOffset();
+    method public int getColumnNumber();
+    method public int getLineNumber();
+    method public org.w3c.dom.Node getRelatedNode();
+    method public String getUri();
+    method public int getUtf16Offset();
+  }
+
+  public interface DOMStringList {
+    method public boolean contains(String);
+    method public int getLength();
+    method public String item(int);
+  }
+
+  public interface Document extends org.w3c.dom.Node {
+    method public org.w3c.dom.Node adoptNode(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr createAttribute(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr createAttributeNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.CDATASection createCDATASection(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Comment createComment(String);
+    method public org.w3c.dom.DocumentFragment createDocumentFragment();
+    method public org.w3c.dom.Element createElement(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Element createElementNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.EntityReference createEntityReference(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.ProcessingInstruction createProcessingInstruction(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Text createTextNode(String);
+    method public org.w3c.dom.DocumentType getDoctype();
+    method public org.w3c.dom.Element getDocumentElement();
+    method public String getDocumentURI();
+    method public org.w3c.dom.DOMConfiguration getDomConfig();
+    method public org.w3c.dom.Element getElementById(String);
+    method public org.w3c.dom.NodeList getElementsByTagName(String);
+    method public org.w3c.dom.NodeList getElementsByTagNameNS(String, String);
+    method public org.w3c.dom.DOMImplementation getImplementation();
+    method public String getInputEncoding();
+    method public boolean getStrictErrorChecking();
+    method public String getXmlEncoding();
+    method public boolean getXmlStandalone();
+    method public String getXmlVersion();
+    method public org.w3c.dom.Node importNode(org.w3c.dom.Node, boolean) throws org.w3c.dom.DOMException;
+    method public void normalizeDocument();
+    method public org.w3c.dom.Node renameNode(org.w3c.dom.Node, String, String) throws org.w3c.dom.DOMException;
+    method public void setDocumentURI(String);
+    method public void setStrictErrorChecking(boolean);
+    method public void setXmlStandalone(boolean) throws org.w3c.dom.DOMException;
+    method public void setXmlVersion(String) throws org.w3c.dom.DOMException;
+  }
+
+  public interface DocumentFragment extends org.w3c.dom.Node {
+  }
+
+  public interface DocumentType extends org.w3c.dom.Node {
+    method public org.w3c.dom.NamedNodeMap getEntities();
+    method public String getInternalSubset();
+    method public String getName();
+    method public org.w3c.dom.NamedNodeMap getNotations();
+    method public String getPublicId();
+    method public String getSystemId();
+  }
+
+  public interface Element extends org.w3c.dom.Node {
+    method public String getAttribute(String);
+    method public String getAttributeNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr getAttributeNode(String);
+    method public org.w3c.dom.Attr getAttributeNodeNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.NodeList getElementsByTagName(String);
+    method public org.w3c.dom.NodeList getElementsByTagNameNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.TypeInfo getSchemaTypeInfo();
+    method public String getTagName();
+    method public boolean hasAttribute(String);
+    method public boolean hasAttributeNS(String, String) throws org.w3c.dom.DOMException;
+    method public void removeAttribute(String) throws org.w3c.dom.DOMException;
+    method public void removeAttributeNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr) throws org.w3c.dom.DOMException;
+    method public void setAttribute(String, String) throws org.w3c.dom.DOMException;
+    method public void setAttributeNS(String, String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr) throws org.w3c.dom.DOMException;
+    method public void setIdAttribute(String, boolean) throws org.w3c.dom.DOMException;
+    method public void setIdAttributeNS(String, String, boolean) throws org.w3c.dom.DOMException;
+    method public void setIdAttributeNode(org.w3c.dom.Attr, boolean) throws org.w3c.dom.DOMException;
+  }
+
+  public interface Entity extends org.w3c.dom.Node {
+    method public String getInputEncoding();
+    method public String getNotationName();
+    method public String getPublicId();
+    method public String getSystemId();
+    method public String getXmlEncoding();
+    method public String getXmlVersion();
+  }
+
+  public interface EntityReference extends org.w3c.dom.Node {
+  }
+
+  public interface NameList {
+    method public boolean contains(String);
+    method public boolean containsNS(String, String);
+    method public int getLength();
+    method public String getName(int);
+    method public String getNamespaceURI(int);
+  }
+
+  public interface NamedNodeMap {
+    method public int getLength();
+    method public org.w3c.dom.Node getNamedItem(String);
+    method public org.w3c.dom.Node getNamedItemNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node item(int);
+    method public org.w3c.dom.Node removeNamedItem(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node removeNamedItemNS(String, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node setNamedItem(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node setNamedItemNS(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+  }
+
+  public interface Node {
+    method public org.w3c.dom.Node appendChild(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node cloneNode(boolean);
+    method public short compareDocumentPosition(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.NamedNodeMap getAttributes();
+    method public String getBaseURI();
+    method public org.w3c.dom.NodeList getChildNodes();
+    method public Object getFeature(String, String);
+    method public org.w3c.dom.Node getFirstChild();
+    method public org.w3c.dom.Node getLastChild();
+    method public String getLocalName();
+    method public String getNamespaceURI();
+    method public org.w3c.dom.Node getNextSibling();
+    method public String getNodeName();
+    method public short getNodeType();
+    method public String getNodeValue() throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Document getOwnerDocument();
+    method public org.w3c.dom.Node getParentNode();
+    method public String getPrefix();
+    method public org.w3c.dom.Node getPreviousSibling();
+    method public String getTextContent() throws org.w3c.dom.DOMException;
+    method public Object getUserData(String);
+    method public boolean hasAttributes();
+    method public boolean hasChildNodes();
+    method public org.w3c.dom.Node insertBefore(org.w3c.dom.Node, org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public boolean isDefaultNamespace(String);
+    method public boolean isEqualNode(org.w3c.dom.Node);
+    method public boolean isSameNode(org.w3c.dom.Node);
+    method public boolean isSupported(String, String);
+    method public String lookupNamespaceURI(String);
+    method public String lookupPrefix(String);
+    method public void normalize();
+    method public org.w3c.dom.Node removeChild(org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Node replaceChild(org.w3c.dom.Node, org.w3c.dom.Node) throws org.w3c.dom.DOMException;
+    method public void setNodeValue(String) throws org.w3c.dom.DOMException;
+    method public void setPrefix(String) throws org.w3c.dom.DOMException;
+    method public void setTextContent(String) throws org.w3c.dom.DOMException;
+    method public Object setUserData(String, Object, org.w3c.dom.UserDataHandler);
+    field public static final short ATTRIBUTE_NODE = 2; // 0x2
+    field public static final short CDATA_SECTION_NODE = 4; // 0x4
+    field public static final short COMMENT_NODE = 8; // 0x8
+    field public static final short DOCUMENT_FRAGMENT_NODE = 11; // 0xb
+    field public static final short DOCUMENT_NODE = 9; // 0x9
+    field public static final short DOCUMENT_POSITION_CONTAINED_BY = 16; // 0x10
+    field public static final short DOCUMENT_POSITION_CONTAINS = 8; // 0x8
+    field public static final short DOCUMENT_POSITION_DISCONNECTED = 1; // 0x1
+    field public static final short DOCUMENT_POSITION_FOLLOWING = 4; // 0x4
+    field public static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32; // 0x20
+    field public static final short DOCUMENT_POSITION_PRECEDING = 2; // 0x2
+    field public static final short DOCUMENT_TYPE_NODE = 10; // 0xa
+    field public static final short ELEMENT_NODE = 1; // 0x1
+    field public static final short ENTITY_NODE = 6; // 0x6
+    field public static final short ENTITY_REFERENCE_NODE = 5; // 0x5
+    field public static final short NOTATION_NODE = 12; // 0xc
+    field public static final short PROCESSING_INSTRUCTION_NODE = 7; // 0x7
+    field public static final short TEXT_NODE = 3; // 0x3
+  }
+
+  public interface NodeList {
+    method public int getLength();
+    method public org.w3c.dom.Node item(int);
+  }
+
+  public interface Notation extends org.w3c.dom.Node {
+    method public String getPublicId();
+    method public String getSystemId();
+  }
+
+  public interface ProcessingInstruction extends org.w3c.dom.Node {
+    method public String getData();
+    method public String getTarget();
+    method public void setData(String) throws org.w3c.dom.DOMException;
+  }
+
+  public interface Text extends org.w3c.dom.CharacterData {
+    method public String getWholeText();
+    method public boolean isElementContentWhitespace();
+    method public org.w3c.dom.Text replaceWholeText(String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.Text splitText(int) throws org.w3c.dom.DOMException;
+  }
+
+  public interface TypeInfo {
+    method public String getTypeName();
+    method public String getTypeNamespace();
+    method public boolean isDerivedFrom(String, String, int);
+    field public static final int DERIVATION_EXTENSION = 2; // 0x2
+    field public static final int DERIVATION_LIST = 8; // 0x8
+    field public static final int DERIVATION_RESTRICTION = 1; // 0x1
+    field public static final int DERIVATION_UNION = 4; // 0x4
+  }
+
+  public interface UserDataHandler {
+    method public void handle(short, String, Object, org.w3c.dom.Node, org.w3c.dom.Node);
+    field public static final short NODE_ADOPTED = 5; // 0x5
+    field public static final short NODE_CLONED = 1; // 0x1
+    field public static final short NODE_DELETED = 3; // 0x3
+    field public static final short NODE_IMPORTED = 2; // 0x2
+    field public static final short NODE_RENAMED = 4; // 0x4
+  }
+
+}
+
+package org.w3c.dom.ls {
+
+  public interface DOMImplementationLS {
+    method public org.w3c.dom.ls.LSInput createLSInput();
+    method public org.w3c.dom.ls.LSOutput createLSOutput();
+    method public org.w3c.dom.ls.LSParser createLSParser(short, String) throws org.w3c.dom.DOMException;
+    method public org.w3c.dom.ls.LSSerializer createLSSerializer();
+    field public static final short MODE_ASYNCHRONOUS = 2; // 0x2
+    field public static final short MODE_SYNCHRONOUS = 1; // 0x1
+  }
+
+  public class LSException extends java.lang.RuntimeException {
+    ctor public LSException(short, String);
+    field public static final short PARSE_ERR = 81; // 0x51
+    field public static final short SERIALIZE_ERR = 82; // 0x52
+    field public short code;
+  }
+
+  public interface LSInput {
+    method public String getBaseURI();
+    method public java.io.InputStream getByteStream();
+    method public boolean getCertifiedText();
+    method public java.io.Reader getCharacterStream();
+    method public String getEncoding();
+    method public String getPublicId();
+    method public String getStringData();
+    method public String getSystemId();
+    method public void setBaseURI(String);
+    method public void setByteStream(java.io.InputStream);
+    method public void setCertifiedText(boolean);
+    method public void setCharacterStream(java.io.Reader);
+    method public void setEncoding(String);
+    method public void setPublicId(String);
+    method public void setStringData(String);
+    method public void setSystemId(String);
+  }
+
+  public interface LSOutput {
+    method public java.io.OutputStream getByteStream();
+    method public java.io.Writer getCharacterStream();
+    method public String getEncoding();
+    method public String getSystemId();
+    method public void setByteStream(java.io.OutputStream);
+    method public void setCharacterStream(java.io.Writer);
+    method public void setEncoding(String);
+    method public void setSystemId(String);
+  }
+
+  public interface LSParser {
+    method public void abort();
+    method public boolean getAsync();
+    method public boolean getBusy();
+    method public org.w3c.dom.DOMConfiguration getDomConfig();
+    method public org.w3c.dom.ls.LSParserFilter getFilter();
+    method public org.w3c.dom.Document parse(org.w3c.dom.ls.LSInput) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+    method public org.w3c.dom.Document parseURI(String) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+    method public org.w3c.dom.Node parseWithContext(org.w3c.dom.ls.LSInput, org.w3c.dom.Node, short) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+    method public void setFilter(org.w3c.dom.ls.LSParserFilter);
+    field public static final short ACTION_APPEND_AS_CHILDREN = 1; // 0x1
+    field public static final short ACTION_INSERT_AFTER = 4; // 0x4
+    field public static final short ACTION_INSERT_BEFORE = 3; // 0x3
+    field public static final short ACTION_REPLACE = 5; // 0x5
+    field public static final short ACTION_REPLACE_CHILDREN = 2; // 0x2
+  }
+
+  public interface LSParserFilter {
+    method public short acceptNode(org.w3c.dom.Node);
+    method public int getWhatToShow();
+    method public short startElement(org.w3c.dom.Element);
+    field public static final short FILTER_ACCEPT = 1; // 0x1
+    field public static final short FILTER_INTERRUPT = 4; // 0x4
+    field public static final short FILTER_REJECT = 2; // 0x2
+    field public static final short FILTER_SKIP = 3; // 0x3
+  }
+
+  public interface LSResourceResolver {
+    method public org.w3c.dom.ls.LSInput resolveResource(String, String, String, String, String);
+  }
+
+  public interface LSSerializer {
+    method public org.w3c.dom.DOMConfiguration getDomConfig();
+    method public String getNewLine();
+    method public void setNewLine(String);
+    method public boolean write(org.w3c.dom.Node, org.w3c.dom.ls.LSOutput) throws org.w3c.dom.ls.LSException;
+    method public String writeToString(org.w3c.dom.Node) throws org.w3c.dom.DOMException, org.w3c.dom.ls.LSException;
+    method public boolean writeToURI(org.w3c.dom.Node, String) throws org.w3c.dom.ls.LSException;
+  }
+
+}
+
+package org.xml.sax {
+
+  @Deprecated public interface AttributeList {
+    method @Deprecated public int getLength();
+    method @Deprecated public String getName(int);
+    method @Deprecated public String getType(int);
+    method @Deprecated public String getType(String);
+    method @Deprecated public String getValue(int);
+    method @Deprecated public String getValue(String);
+  }
+
+  public interface Attributes {
+    method public int getIndex(String, String);
+    method public int getIndex(String);
+    method public int getLength();
+    method public String getLocalName(int);
+    method public String getQName(int);
+    method public String getType(int);
+    method public String getType(String, String);
+    method public String getType(String);
+    method public String getURI(int);
+    method public String getValue(int);
+    method public String getValue(String, String);
+    method public String getValue(String);
+  }
+
+  public interface ContentHandler {
+    method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endDocument() throws org.xml.sax.SAXException;
+    method public void endElement(String, String, String) throws org.xml.sax.SAXException;
+    method public void endPrefixMapping(String) throws org.xml.sax.SAXException;
+    method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method public void setDocumentLocator(org.xml.sax.Locator);
+    method public void skippedEntity(String) throws org.xml.sax.SAXException;
+    method public void startDocument() throws org.xml.sax.SAXException;
+    method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+    method public void startPrefixMapping(String, String) throws org.xml.sax.SAXException;
+  }
+
+  public interface DTDHandler {
+    method public void notationDecl(String, String, String) throws org.xml.sax.SAXException;
+    method public void unparsedEntityDecl(String, String, String, String) throws org.xml.sax.SAXException;
+  }
+
+  @Deprecated public interface DocumentHandler {
+    method @Deprecated public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method @Deprecated public void endDocument() throws org.xml.sax.SAXException;
+    method @Deprecated public void endElement(String) throws org.xml.sax.SAXException;
+    method @Deprecated public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method @Deprecated public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method @Deprecated public void setDocumentLocator(org.xml.sax.Locator);
+    method @Deprecated public void startDocument() throws org.xml.sax.SAXException;
+    method @Deprecated public void startElement(String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException;
+  }
+
+  public interface EntityResolver {
+    method public org.xml.sax.InputSource resolveEntity(String, String) throws java.io.IOException, org.xml.sax.SAXException;
+  }
+
+  public interface ErrorHandler {
+    method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+  }
+
+  @Deprecated public class HandlerBase implements org.xml.sax.DTDHandler org.xml.sax.DocumentHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler {
+    ctor @Deprecated public HandlerBase();
+    method @Deprecated public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method @Deprecated public void endDocument() throws org.xml.sax.SAXException;
+    method @Deprecated public void endElement(String) throws org.xml.sax.SAXException;
+    method @Deprecated public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method @Deprecated public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method @Deprecated public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method @Deprecated public void notationDecl(String, String, String);
+    method @Deprecated public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method @Deprecated public org.xml.sax.InputSource resolveEntity(String, String) throws org.xml.sax.SAXException;
+    method @Deprecated public void setDocumentLocator(org.xml.sax.Locator);
+    method @Deprecated public void startDocument() throws org.xml.sax.SAXException;
+    method @Deprecated public void startElement(String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException;
+    method @Deprecated public void unparsedEntityDecl(String, String, String, String);
+    method @Deprecated public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+  }
+
+  public class InputSource {
+    ctor public InputSource();
+    ctor public InputSource(String);
+    ctor public InputSource(java.io.InputStream);
+    ctor public InputSource(java.io.Reader);
+    method public java.io.InputStream getByteStream();
+    method public java.io.Reader getCharacterStream();
+    method public String getEncoding();
+    method public String getPublicId();
+    method public String getSystemId();
+    method public void setByteStream(java.io.InputStream);
+    method public void setCharacterStream(java.io.Reader);
+    method public void setEncoding(String);
+    method public void setPublicId(String);
+    method public void setSystemId(String);
+  }
+
+  public interface Locator {
+    method public int getColumnNumber();
+    method public int getLineNumber();
+    method public String getPublicId();
+    method public String getSystemId();
+  }
+
+  @Deprecated public interface Parser {
+    method @Deprecated public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method @Deprecated public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method @Deprecated public void setDTDHandler(org.xml.sax.DTDHandler);
+    method @Deprecated public void setDocumentHandler(org.xml.sax.DocumentHandler);
+    method @Deprecated public void setEntityResolver(org.xml.sax.EntityResolver);
+    method @Deprecated public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method @Deprecated public void setLocale(java.util.Locale) throws org.xml.sax.SAXException;
+  }
+
+  public class SAXException extends java.lang.Exception {
+    ctor public SAXException();
+    ctor public SAXException(String);
+    ctor public SAXException(Exception);
+    ctor public SAXException(String, Exception);
+    method public Exception getException();
+  }
+
+  public class SAXNotRecognizedException extends org.xml.sax.SAXException {
+    ctor public SAXNotRecognizedException();
+    ctor public SAXNotRecognizedException(String);
+  }
+
+  public class SAXNotSupportedException extends org.xml.sax.SAXException {
+    ctor public SAXNotSupportedException();
+    ctor public SAXNotSupportedException(String);
+  }
+
+  public class SAXParseException extends org.xml.sax.SAXException {
+    ctor public SAXParseException(String, org.xml.sax.Locator);
+    ctor public SAXParseException(String, org.xml.sax.Locator, Exception);
+    ctor public SAXParseException(String, String, String, int, int);
+    ctor public SAXParseException(String, String, String, int, int, Exception);
+    method public int getColumnNumber();
+    method public int getLineNumber();
+    method public String getPublicId();
+    method public String getSystemId();
+  }
+
+  public interface XMLFilter extends org.xml.sax.XMLReader {
+    method public org.xml.sax.XMLReader getParent();
+    method public void setParent(org.xml.sax.XMLReader);
+  }
+
+  public interface XMLReader {
+    method public org.xml.sax.ContentHandler getContentHandler();
+    method public org.xml.sax.DTDHandler getDTDHandler();
+    method public org.xml.sax.EntityResolver getEntityResolver();
+    method public org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void setContentHandler(org.xml.sax.ContentHandler);
+    method public void setDTDHandler(org.xml.sax.DTDHandler);
+    method public void setEntityResolver(org.xml.sax.EntityResolver);
+    method public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+  }
+
+}
+
+package org.xml.sax.ext {
+
+  public interface Attributes2 extends org.xml.sax.Attributes {
+    method public boolean isDeclared(int);
+    method public boolean isDeclared(String);
+    method public boolean isDeclared(String, String);
+    method public boolean isSpecified(int);
+    method public boolean isSpecified(String, String);
+    method public boolean isSpecified(String);
+  }
+
+  public class Attributes2Impl extends org.xml.sax.helpers.AttributesImpl implements org.xml.sax.ext.Attributes2 {
+    ctor public Attributes2Impl();
+    ctor public Attributes2Impl(org.xml.sax.Attributes);
+    method public boolean isDeclared(int);
+    method public boolean isDeclared(String, String);
+    method public boolean isDeclared(String);
+    method public boolean isSpecified(int);
+    method public boolean isSpecified(String, String);
+    method public boolean isSpecified(String);
+    method public void setDeclared(int, boolean);
+    method public void setSpecified(int, boolean);
+  }
+
+  public interface DeclHandler {
+    method public void attributeDecl(String, String, String, String, String) throws org.xml.sax.SAXException;
+    method public void elementDecl(String, String) throws org.xml.sax.SAXException;
+    method public void externalEntityDecl(String, String, String) throws org.xml.sax.SAXException;
+    method public void internalEntityDecl(String, String) throws org.xml.sax.SAXException;
+  }
+
+  public class DefaultHandler2 extends org.xml.sax.helpers.DefaultHandler implements org.xml.sax.ext.DeclHandler org.xml.sax.ext.EntityResolver2 org.xml.sax.ext.LexicalHandler {
+    ctor public DefaultHandler2();
+    method public void attributeDecl(String, String, String, String, String) throws org.xml.sax.SAXException;
+    method public void comment(char[], int, int) throws org.xml.sax.SAXException;
+    method public void elementDecl(String, String) throws org.xml.sax.SAXException;
+    method public void endCDATA() throws org.xml.sax.SAXException;
+    method public void endDTD() throws org.xml.sax.SAXException;
+    method public void endEntity(String) throws org.xml.sax.SAXException;
+    method public void externalEntityDecl(String, String, String) throws org.xml.sax.SAXException;
+    method public org.xml.sax.InputSource getExternalSubset(String, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void internalEntityDecl(String, String) throws org.xml.sax.SAXException;
+    method public org.xml.sax.InputSource resolveEntity(String, String, String, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void startCDATA() throws org.xml.sax.SAXException;
+    method public void startDTD(String, String, String) throws org.xml.sax.SAXException;
+    method public void startEntity(String) throws org.xml.sax.SAXException;
+  }
+
+  public interface EntityResolver2 extends org.xml.sax.EntityResolver {
+    method public org.xml.sax.InputSource getExternalSubset(String, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public org.xml.sax.InputSource resolveEntity(String, String, String, String) throws java.io.IOException, org.xml.sax.SAXException;
+  }
+
+  public interface LexicalHandler {
+    method public void comment(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endCDATA() throws org.xml.sax.SAXException;
+    method public void endDTD() throws org.xml.sax.SAXException;
+    method public void endEntity(String) throws org.xml.sax.SAXException;
+    method public void startCDATA() throws org.xml.sax.SAXException;
+    method public void startDTD(String, String, String) throws org.xml.sax.SAXException;
+    method public void startEntity(String) throws org.xml.sax.SAXException;
+  }
+
+  public interface Locator2 extends org.xml.sax.Locator {
+    method public String getEncoding();
+    method public String getXMLVersion();
+  }
+
+  public class Locator2Impl extends org.xml.sax.helpers.LocatorImpl implements org.xml.sax.ext.Locator2 {
+    ctor public Locator2Impl();
+    ctor public Locator2Impl(org.xml.sax.Locator);
+    method public String getEncoding();
+    method public String getXMLVersion();
+    method public void setEncoding(String);
+    method public void setXMLVersion(String);
+  }
+
+}
+
+package org.xml.sax.helpers {
+
+  @Deprecated public class AttributeListImpl implements org.xml.sax.AttributeList {
+    ctor @Deprecated public AttributeListImpl();
+    ctor @Deprecated public AttributeListImpl(org.xml.sax.AttributeList);
+    method @Deprecated public void addAttribute(String, String, String);
+    method @Deprecated public void clear();
+    method @Deprecated public int getLength();
+    method @Deprecated public String getName(int);
+    method @Deprecated public String getType(int);
+    method @Deprecated public String getType(String);
+    method @Deprecated public String getValue(int);
+    method @Deprecated public String getValue(String);
+    method @Deprecated public void removeAttribute(String);
+    method @Deprecated public void setAttributeList(org.xml.sax.AttributeList);
+  }
+
+  public class AttributesImpl implements org.xml.sax.Attributes {
+    ctor public AttributesImpl();
+    ctor public AttributesImpl(org.xml.sax.Attributes);
+    method public void addAttribute(String, String, String, String, String);
+    method public void clear();
+    method public int getIndex(String, String);
+    method public int getIndex(String);
+    method public int getLength();
+    method public String getLocalName(int);
+    method public String getQName(int);
+    method public String getType(int);
+    method public String getType(String, String);
+    method public String getType(String);
+    method public String getURI(int);
+    method public String getValue(int);
+    method public String getValue(String, String);
+    method public String getValue(String);
+    method public void removeAttribute(int);
+    method public void setAttribute(int, String, String, String, String, String);
+    method public void setAttributes(org.xml.sax.Attributes);
+    method public void setLocalName(int, String);
+    method public void setQName(int, String);
+    method public void setType(int, String);
+    method public void setURI(int, String);
+    method public void setValue(int, String);
+  }
+
+  public class DefaultHandler implements org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler {
+    ctor public DefaultHandler();
+    method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endDocument() throws org.xml.sax.SAXException;
+    method public void endElement(String, String, String) throws org.xml.sax.SAXException;
+    method public void endPrefixMapping(String) throws org.xml.sax.SAXException;
+    method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method public void notationDecl(String, String, String) throws org.xml.sax.SAXException;
+    method public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method public org.xml.sax.InputSource resolveEntity(String, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void setDocumentLocator(org.xml.sax.Locator);
+    method public void skippedEntity(String) throws org.xml.sax.SAXException;
+    method public void startDocument() throws org.xml.sax.SAXException;
+    method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+    method public void startPrefixMapping(String, String) throws org.xml.sax.SAXException;
+    method public void unparsedEntityDecl(String, String, String, String) throws org.xml.sax.SAXException;
+    method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+  }
+
+  public class LocatorImpl implements org.xml.sax.Locator {
+    ctor public LocatorImpl();
+    ctor public LocatorImpl(org.xml.sax.Locator);
+    method public int getColumnNumber();
+    method public int getLineNumber();
+    method public String getPublicId();
+    method public String getSystemId();
+    method public void setColumnNumber(int);
+    method public void setLineNumber(int);
+    method public void setPublicId(String);
+    method public void setSystemId(String);
+  }
+
+  public class NamespaceSupport {
+    ctor public NamespaceSupport();
+    method public boolean declarePrefix(String, String);
+    method public java.util.Enumeration getDeclaredPrefixes();
+    method public String getPrefix(String);
+    method public java.util.Enumeration getPrefixes();
+    method public java.util.Enumeration getPrefixes(String);
+    method public String getURI(String);
+    method public boolean isNamespaceDeclUris();
+    method public void popContext();
+    method public String[] processName(String, String[], boolean);
+    method public void pushContext();
+    method public void reset();
+    method public void setNamespaceDeclUris(boolean);
+    field public static final String NSDECL = "http://www.w3.org/xmlns/2000/";
+    field public static final String XMLNS = "http://www.w3.org/XML/1998/namespace";
+  }
+
+  public class ParserAdapter implements org.xml.sax.DocumentHandler org.xml.sax.XMLReader {
+    ctor public ParserAdapter() throws org.xml.sax.SAXException;
+    ctor public ParserAdapter(org.xml.sax.Parser);
+    method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endDocument() throws org.xml.sax.SAXException;
+    method public void endElement(String) throws org.xml.sax.SAXException;
+    method public org.xml.sax.ContentHandler getContentHandler();
+    method public org.xml.sax.DTDHandler getDTDHandler();
+    method public org.xml.sax.EntityResolver getEntityResolver();
+    method public org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method public void setContentHandler(org.xml.sax.ContentHandler);
+    method public void setDTDHandler(org.xml.sax.DTDHandler);
+    method public void setDocumentLocator(org.xml.sax.Locator);
+    method public void setEntityResolver(org.xml.sax.EntityResolver);
+    method public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void startDocument() throws org.xml.sax.SAXException;
+    method public void startElement(String, org.xml.sax.AttributeList) throws org.xml.sax.SAXException;
+  }
+
+  @Deprecated public class ParserFactory {
+    method @Deprecated public static org.xml.sax.Parser makeParser() throws java.lang.ClassCastException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.lang.NullPointerException;
+    method @Deprecated public static org.xml.sax.Parser makeParser(String) throws java.lang.ClassCastException, java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException;
+  }
+
+  public class XMLFilterImpl implements org.xml.sax.ContentHandler org.xml.sax.DTDHandler org.xml.sax.EntityResolver org.xml.sax.ErrorHandler org.xml.sax.XMLFilter {
+    ctor public XMLFilterImpl();
+    ctor public XMLFilterImpl(org.xml.sax.XMLReader);
+    method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endDocument() throws org.xml.sax.SAXException;
+    method public void endElement(String, String, String) throws org.xml.sax.SAXException;
+    method public void endPrefixMapping(String) throws org.xml.sax.SAXException;
+    method public void error(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public void fatalError(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+    method public org.xml.sax.ContentHandler getContentHandler();
+    method public org.xml.sax.DTDHandler getDTDHandler();
+    method public org.xml.sax.EntityResolver getEntityResolver();
+    method public org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public org.xml.sax.XMLReader getParent();
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method public void notationDecl(String, String, String) throws org.xml.sax.SAXException;
+    method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method public org.xml.sax.InputSource resolveEntity(String, String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void setContentHandler(org.xml.sax.ContentHandler);
+    method public void setDTDHandler(org.xml.sax.DTDHandler);
+    method public void setDocumentLocator(org.xml.sax.Locator);
+    method public void setEntityResolver(org.xml.sax.EntityResolver);
+    method public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setParent(org.xml.sax.XMLReader);
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void skippedEntity(String) throws org.xml.sax.SAXException;
+    method public void startDocument() throws org.xml.sax.SAXException;
+    method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+    method public void startPrefixMapping(String, String) throws org.xml.sax.SAXException;
+    method public void unparsedEntityDecl(String, String, String, String) throws org.xml.sax.SAXException;
+    method public void warning(org.xml.sax.SAXParseException) throws org.xml.sax.SAXException;
+  }
+
+  public class XMLReaderAdapter implements org.xml.sax.ContentHandler org.xml.sax.Parser {
+    ctor public XMLReaderAdapter() throws org.xml.sax.SAXException;
+    ctor public XMLReaderAdapter(org.xml.sax.XMLReader);
+    method public void characters(char[], int, int) throws org.xml.sax.SAXException;
+    method public void endDocument() throws org.xml.sax.SAXException;
+    method public void endElement(String, String, String) throws org.xml.sax.SAXException;
+    method public void endPrefixMapping(String);
+    method public void ignorableWhitespace(char[], int, int) throws org.xml.sax.SAXException;
+    method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void processingInstruction(String, String) throws org.xml.sax.SAXException;
+    method public void setDTDHandler(org.xml.sax.DTDHandler);
+    method public void setDocumentHandler(org.xml.sax.DocumentHandler);
+    method public void setDocumentLocator(org.xml.sax.Locator);
+    method public void setEntityResolver(org.xml.sax.EntityResolver);
+    method public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setLocale(java.util.Locale) throws org.xml.sax.SAXException;
+    method public void skippedEntity(String) throws org.xml.sax.SAXException;
+    method public void startDocument() throws org.xml.sax.SAXException;
+    method public void startElement(String, String, String, org.xml.sax.Attributes) throws org.xml.sax.SAXException;
+    method public void startPrefixMapping(String, String);
+  }
+
+  public final class XMLReaderFactory {
+    method public static org.xml.sax.XMLReader createXMLReader() throws org.xml.sax.SAXException;
+    method public static org.xml.sax.XMLReader createXMLReader(String) throws org.xml.sax.SAXException;
+  }
+
+}
+
+package org.xmlpull.v1 {
+
+  public interface XmlPullParser {
+    method public void defineEntityReplacementText(String, String) throws org.xmlpull.v1.XmlPullParserException;
+    method public int getAttributeCount();
+    method public String getAttributeName(int);
+    method public String getAttributeNamespace(int);
+    method public String getAttributePrefix(int);
+    method public String getAttributeType(int);
+    method public String getAttributeValue(int);
+    method public String getAttributeValue(String, String);
+    method public int getColumnNumber();
+    method public int getDepth();
+    method public int getEventType() throws org.xmlpull.v1.XmlPullParserException;
+    method public boolean getFeature(String);
+    method public String getInputEncoding();
+    method public int getLineNumber();
+    method public String getName();
+    method public String getNamespace(String);
+    method public String getNamespace();
+    method public int getNamespaceCount(int) throws org.xmlpull.v1.XmlPullParserException;
+    method public String getNamespacePrefix(int) throws org.xmlpull.v1.XmlPullParserException;
+    method public String getNamespaceUri(int) throws org.xmlpull.v1.XmlPullParserException;
+    method public String getPositionDescription();
+    method public String getPrefix();
+    method public Object getProperty(String);
+    method public String getText();
+    method public char[] getTextCharacters(int[]);
+    method public boolean isAttributeDefault(int);
+    method public boolean isEmptyElementTag() throws org.xmlpull.v1.XmlPullParserException;
+    method public boolean isWhitespace() throws org.xmlpull.v1.XmlPullParserException;
+    method public int next() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public int nextTag() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public String nextText() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public int nextToken() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void require(int, String, String) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public void setFeature(String, boolean) throws org.xmlpull.v1.XmlPullParserException;
+    method public void setInput(java.io.Reader) throws org.xmlpull.v1.XmlPullParserException;
+    method public void setInput(java.io.InputStream, String) throws org.xmlpull.v1.XmlPullParserException;
+    method public void setProperty(String, Object) throws org.xmlpull.v1.XmlPullParserException;
+    field public static final int CDSECT = 5; // 0x5
+    field public static final int COMMENT = 9; // 0x9
+    field public static final int DOCDECL = 10; // 0xa
+    field public static final int END_DOCUMENT = 1; // 0x1
+    field public static final int END_TAG = 3; // 0x3
+    field public static final int ENTITY_REF = 6; // 0x6
+    field public static final String FEATURE_PROCESS_DOCDECL = "http://xmlpull.org/v1/doc/features.html#process-docdecl";
+    field public static final String FEATURE_PROCESS_NAMESPACES = "http://xmlpull.org/v1/doc/features.html#process-namespaces";
+    field public static final String FEATURE_REPORT_NAMESPACE_ATTRIBUTES = "http://xmlpull.org/v1/doc/features.html#report-namespace-prefixes";
+    field public static final String FEATURE_VALIDATION = "http://xmlpull.org/v1/doc/features.html#validation";
+    field public static final int IGNORABLE_WHITESPACE = 7; // 0x7
+    field public static final String NO_NAMESPACE = "";
+    field public static final int PROCESSING_INSTRUCTION = 8; // 0x8
+    field public static final int START_DOCUMENT = 0; // 0x0
+    field public static final int START_TAG = 2; // 0x2
+    field public static final int TEXT = 4; // 0x4
+    field public static final String[] TYPES;
+  }
+
+  public class XmlPullParserException extends java.lang.Exception {
+    ctor public XmlPullParserException(String);
+    ctor public XmlPullParserException(String, org.xmlpull.v1.XmlPullParser, Throwable);
+    method public int getColumnNumber();
+    method public Throwable getDetail();
+    method public int getLineNumber();
+    field protected int column;
+    field protected Throwable detail;
+    field protected int row;
+  }
+
+  public class XmlPullParserFactory {
+    ctor protected XmlPullParserFactory();
+    method public boolean getFeature(String);
+    method public boolean isNamespaceAware();
+    method public boolean isValidating();
+    method public static org.xmlpull.v1.XmlPullParserFactory newInstance() throws org.xmlpull.v1.XmlPullParserException;
+    method public static org.xmlpull.v1.XmlPullParserFactory newInstance(String, Class) throws org.xmlpull.v1.XmlPullParserException;
+    method public org.xmlpull.v1.XmlPullParser newPullParser() throws org.xmlpull.v1.XmlPullParserException;
+    method public org.xmlpull.v1.XmlSerializer newSerializer() throws org.xmlpull.v1.XmlPullParserException;
+    method public void setFeature(String, boolean) throws org.xmlpull.v1.XmlPullParserException;
+    method public void setNamespaceAware(boolean);
+    method public void setValidating(boolean);
+    field public static final String PROPERTY_NAME = "org.xmlpull.v1.XmlPullParserFactory";
+    field protected String classNamesLocation;
+    field protected java.util.HashMap<java.lang.String,java.lang.Boolean> features;
+    field protected java.util.ArrayList parserClasses;
+    field protected java.util.ArrayList serializerClasses;
+  }
+
+  public interface XmlSerializer {
+    method public org.xmlpull.v1.XmlSerializer attribute(String, String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void cdsect(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void comment(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void docdecl(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void endDocument() throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public org.xmlpull.v1.XmlSerializer endTag(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void entityRef(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void flush() throws java.io.IOException;
+    method public int getDepth();
+    method public boolean getFeature(String);
+    method public String getName();
+    method public String getNamespace();
+    method public String getPrefix(String, boolean) throws java.lang.IllegalArgumentException;
+    method public Object getProperty(String);
+    method public void ignorableWhitespace(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void processingInstruction(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setFeature(String, boolean) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setOutput(java.io.OutputStream, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setOutput(java.io.Writer) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setPrefix(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setProperty(String, Object) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void startDocument(String, Boolean) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public org.xmlpull.v1.XmlSerializer startTag(String, String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public org.xmlpull.v1.XmlSerializer text(String) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public org.xmlpull.v1.XmlSerializer text(char[], int, int) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+  }
+
+}
+
+package org.xmlpull.v1.sax2 {
+
+  public class Driver implements org.xml.sax.Attributes org.xml.sax.Locator org.xml.sax.XMLReader {
+    ctor public Driver() throws org.xmlpull.v1.XmlPullParserException;
+    ctor public Driver(org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException;
+    method public int getColumnNumber();
+    method public org.xml.sax.ContentHandler getContentHandler();
+    method public org.xml.sax.DTDHandler getDTDHandler();
+    method public org.xml.sax.EntityResolver getEntityResolver();
+    method public org.xml.sax.ErrorHandler getErrorHandler();
+    method public boolean getFeature(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public int getIndex(String, String);
+    method public int getIndex(String);
+    method public int getLength();
+    method public int getLineNumber();
+    method public String getLocalName(int);
+    method public Object getProperty(String) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public String getPublicId();
+    method public String getQName(int);
+    method public String getSystemId();
+    method public String getType(int);
+    method public String getType(String, String);
+    method public String getType(String);
+    method public String getURI(int);
+    method public String getValue(int);
+    method public String getValue(String, String);
+    method public String getValue(String);
+    method public void parse(org.xml.sax.InputSource) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parse(String) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void parseSubTree(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xml.sax.SAXException;
+    method public void setContentHandler(org.xml.sax.ContentHandler);
+    method public void setDTDHandler(org.xml.sax.DTDHandler);
+    method public void setEntityResolver(org.xml.sax.EntityResolver);
+    method public void setErrorHandler(org.xml.sax.ErrorHandler);
+    method public void setFeature(String, boolean) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method public void setProperty(String, Object) throws org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException;
+    method protected void startElement(String, String, String) throws org.xml.sax.SAXException;
+    field protected static final String APACHE_DYNAMIC_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/dynamic";
+    field protected static final String APACHE_SCHEMA_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/schema";
+    field protected static final String DECLARATION_HANDLER_PROPERTY = "http://xml.org/sax/properties/declaration-handler";
+    field protected static final String LEXICAL_HANDLER_PROPERTY = "http://xml.org/sax/properties/lexical-handler";
+    field protected static final String NAMESPACES_FEATURE = "http://xml.org/sax/features/namespaces";
+    field protected static final String NAMESPACE_PREFIXES_FEATURE = "http://xml.org/sax/features/namespace-prefixes";
+    field protected static final String VALIDATION_FEATURE = "http://xml.org/sax/features/validation";
+    field protected org.xml.sax.ContentHandler contentHandler;
+    field protected org.xml.sax.ErrorHandler errorHandler;
+    field protected org.xmlpull.v1.XmlPullParser pp;
+    field protected String systemId;
+  }
+
+}
+
diff --git a/32/public/api/com.android.future.usb.accessory-removed.txt b/32/public/api/com.android.future.usb.accessory-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/com.android.future.usb.accessory-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/com.android.future.usb.accessory.txt b/32/public/api/com.android.future.usb.accessory.txt
new file mode 100644
index 0000000..f17b65a
--- /dev/null
+++ b/32/public/api/com.android.future.usb.accessory.txt
@@ -0,0 +1,26 @@
+// Signature format: 2.0
+package com.android.future.usb {
+
+  public class UsbAccessory {
+    method public String getDescription();
+    method public String getManufacturer();
+    method public String getModel();
+    method public String getSerial();
+    method public String getUri();
+    method public String getVersion();
+  }
+
+  public class UsbManager {
+    method public static com.android.future.usb.UsbAccessory getAccessory(android.content.Intent);
+    method public com.android.future.usb.UsbAccessory[] getAccessoryList();
+    method public static com.android.future.usb.UsbManager getInstance(android.content.Context);
+    method public boolean hasPermission(com.android.future.usb.UsbAccessory);
+    method public android.os.ParcelFileDescriptor openAccessory(com.android.future.usb.UsbAccessory);
+    method public void requestPermission(com.android.future.usb.UsbAccessory, android.app.PendingIntent);
+    field public static final String ACTION_USB_ACCESSORY_ATTACHED = "android.hardware.usb.action.USB_ACCESSORY_ATTACHED";
+    field public static final String ACTION_USB_ACCESSORY_DETACHED = "android.hardware.usb.action.USB_ACCESSORY_DETACHED";
+    field public static final String EXTRA_PERMISSION_GRANTED = "permission";
+  }
+
+}
+
diff --git a/32/public/api/com.android.location.provider-removed.txt b/32/public/api/com.android.location.provider-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/com.android.location.provider-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/com.android.location.provider.txt b/32/public/api/com.android.location.provider.txt
new file mode 100644
index 0000000..0d81f36
--- /dev/null
+++ b/32/public/api/com.android.location.provider.txt
@@ -0,0 +1,69 @@
+// Signature format: 2.0
+package com.android.location.provider {
+
+  @Deprecated public abstract class FusedProvider {
+    ctor @Deprecated public FusedProvider();
+    method @Deprecated public android.os.IBinder getBinder();
+  }
+
+  @Deprecated public abstract class LocationProviderBase {
+    ctor @Deprecated public LocationProviderBase(String, com.android.location.provider.ProviderPropertiesUnbundled);
+    ctor @Deprecated @RequiresApi(android.os.Build.VERSION_CODES.R) public LocationProviderBase(android.content.Context, String, com.android.location.provider.ProviderPropertiesUnbundled);
+    method @Deprecated public android.os.IBinder getBinder();
+    method @Deprecated @RequiresApi(android.os.Build.VERSION_CODES.R) public boolean isAllowed();
+    method @Deprecated @RequiresApi(android.os.Build.VERSION_CODES.Q) public boolean isEnabled();
+    method @Deprecated protected void onDisable();
+    method @Deprecated protected void onDump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method @Deprecated protected void onEnable();
+    method @Deprecated protected void onFlush(com.android.location.provider.LocationProviderBase.OnFlushCompleteCallback);
+    method @Deprecated protected int onGetStatus(android.os.Bundle);
+    method @Deprecated protected long onGetStatusUpdateTime();
+    method @Deprecated protected void onInit();
+    method @Deprecated protected boolean onSendExtraCommand(@Nullable String, @Nullable android.os.Bundle);
+    method @Deprecated protected abstract void onSetRequest(com.android.location.provider.ProviderRequestUnbundled, android.os.WorkSource);
+    method @Deprecated public void reportLocation(@NonNull android.location.Location);
+    method @Deprecated public void reportLocations(@NonNull java.util.List<android.location.Location>);
+    method @Deprecated @RequiresApi(android.os.Build.VERSION_CODES.Q) public void setAdditionalProviderPackages(java.util.List<java.lang.String>);
+    method @Deprecated @RequiresApi(android.os.Build.VERSION_CODES.R) public void setAllowed(boolean);
+    method @Deprecated @RequiresApi(android.os.Build.VERSION_CODES.Q) public void setEnabled(boolean);
+    method @Deprecated @RequiresApi(android.os.Build.VERSION_CODES.Q) public void setProperties(com.android.location.provider.ProviderPropertiesUnbundled);
+    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
+    field @Deprecated public static final String FUSED_PROVIDER = "fused";
+  }
+
+  @Deprecated protected static interface LocationProviderBase.OnFlushCompleteCallback {
+    method @Deprecated public void onFlushComplete();
+  }
+
+  @Deprecated public final class LocationRequestUnbundled {
+    method @Deprecated public long getFastestInterval();
+    method @Deprecated public long getInterval();
+    method @Deprecated @android.location.LocationRequest.Quality public int getQuality();
+    method @Deprecated public float getSmallestDisplacement();
+    method @Deprecated public boolean isLocationSettingsIgnored();
+    field @Deprecated public static final int ACCURACY_BLOCK = 102; // 0x66
+    field @Deprecated public static final int ACCURACY_CITY = 104; // 0x68
+    field @Deprecated public static final int ACCURACY_FINE = 100; // 0x64
+    field @Deprecated public static final int POWER_HIGH = 203; // 0xcb
+    field @Deprecated public static final int POWER_LOW = 201; // 0xc9
+    field @Deprecated public static final int POWER_NONE = 200; // 0xc8
+  }
+
+  public final class ProviderPropertiesUnbundled {
+    method @NonNull public static com.android.location.provider.ProviderPropertiesUnbundled create(boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int);
+  }
+
+  public final class ProviderRequestUnbundled {
+    method public long getInterval();
+    method @Deprecated @NonNull public java.util.List<com.android.location.provider.LocationRequestUnbundled> getLocationRequests();
+    method @RequiresApi(android.os.Build.VERSION_CODES.S) public long getMaxUpdateDelayMillis();
+    method @android.location.LocationRequest.Quality @RequiresApi(android.os.Build.VERSION_CODES.S) public int getQuality();
+    method public boolean getReportLocation();
+    method @NonNull @RequiresApi(android.os.Build.VERSION_CODES.S) public android.os.WorkSource getWorkSource();
+    method @RequiresApi(android.os.Build.VERSION_CODES.Q) public boolean isLocationSettingsIgnored();
+    method @RequiresApi(android.os.Build.VERSION_CODES.S) public boolean isLowPower();
+    field public static final long INTERVAL_DISABLED = 9223372036854775807L; // 0x7fffffffffffffffL
+  }
+
+}
+
diff --git a/32/public/api/com.android.media.remotedisplay-removed.txt b/32/public/api/com.android.media.remotedisplay-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/com.android.media.remotedisplay-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/com.android.media.remotedisplay.txt b/32/public/api/com.android.media.remotedisplay.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/com.android.media.remotedisplay.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/com.android.media.tv.remoteprovider-removed.txt b/32/public/api/com.android.media.tv.remoteprovider-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/com.android.media.tv.remoteprovider-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/com.android.media.tv.remoteprovider.txt b/32/public/api/com.android.media.tv.remoteprovider.txt
new file mode 100644
index 0000000..d029f42
--- /dev/null
+++ b/32/public/api/com.android.media.tv.remoteprovider.txt
@@ -0,0 +1,26 @@
+// Signature format: 2.0
+package com.android.media.tv.remoteprovider {
+
+  public abstract class TvRemoteProvider {
+    ctor public TvRemoteProvider(android.content.Context);
+    method public void clearInputBridge(@NonNull android.os.IBinder) throws java.lang.RuntimeException;
+    method public void closeInputBridge(@NonNull android.os.IBinder) throws java.lang.RuntimeException;
+    method public android.os.IBinder getBinder();
+    method public final android.content.Context getContext();
+    method public void onInputBridgeConnected(@NonNull android.os.IBinder);
+    method public void openGamepadBridge(@NonNull android.os.IBinder, @NonNull String) throws java.lang.RuntimeException;
+    method public void openRemoteInputBridge(@NonNull android.os.IBinder, @NonNull String, int, int, int) throws java.lang.RuntimeException;
+    method public void sendGamepadAxisValue(@NonNull android.os.IBinder, int, @FloatRange(from=-1.0F, to=1.0f) float) throws java.lang.RuntimeException;
+    method public void sendGamepadKeyDown(@NonNull android.os.IBinder, int) throws java.lang.RuntimeException;
+    method public void sendGamepadKeyUp(@NonNull android.os.IBinder, int) throws java.lang.RuntimeException;
+    method public void sendKeyDown(@NonNull android.os.IBinder, int) throws java.lang.RuntimeException;
+    method public void sendKeyUp(@NonNull android.os.IBinder, int) throws java.lang.RuntimeException;
+    method public void sendPointerDown(@NonNull android.os.IBinder, int, int, int) throws java.lang.RuntimeException;
+    method public void sendPointerSync(@NonNull android.os.IBinder) throws java.lang.RuntimeException;
+    method public void sendPointerUp(@NonNull android.os.IBinder, int) throws java.lang.RuntimeException;
+    method public void sendTimestamp(@NonNull android.os.IBinder, long) throws java.lang.RuntimeException;
+    field public static final String SERVICE_INTERFACE = "com.android.media.tv.remoteprovider.TvRemoteProvider";
+  }
+
+}
+
diff --git a/32/public/api/com.android.mediadrm.signer-removed.txt b/32/public/api/com.android.mediadrm.signer-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/com.android.mediadrm.signer-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/com.android.mediadrm.signer.txt b/32/public/api/com.android.mediadrm.signer.txt
new file mode 100644
index 0000000..c9298dd
--- /dev/null
+++ b/32/public/api/com.android.mediadrm.signer.txt
@@ -0,0 +1,22 @@
+// Signature format: 2.0
+package com.android.mediadrm.signer {
+
+  public final class MediaDrmSigner {
+    method public static com.android.mediadrm.signer.MediaDrmSigner.CertificateRequest getCertificateRequest(android.media.MediaDrm, int, String);
+    method public static com.android.mediadrm.signer.MediaDrmSigner.Certificate provideCertificateResponse(android.media.MediaDrm, byte[]) throws android.media.DeniedByServerException;
+    method public static byte[] signRSA(android.media.MediaDrm, byte[], String, byte[], byte[]);
+    field public static final int CERTIFICATE_TYPE_X509 = 1; // 0x1
+  }
+
+  public static final class MediaDrmSigner.Certificate {
+    method public byte[] getContent();
+    method public byte[] getWrappedPrivateKey();
+  }
+
+  public static final class MediaDrmSigner.CertificateRequest {
+    method public byte[] getData();
+    method public String getDefaultUrl();
+  }
+
+}
+
diff --git a/32/public/api/com.android.nfc_extras-removed.txt b/32/public/api/com.android.nfc_extras-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/com.android.nfc_extras-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/com.android.nfc_extras.txt b/32/public/api/com.android.nfc_extras.txt
new file mode 100644
index 0000000..47ccddf
--- /dev/null
+++ b/32/public/api/com.android.nfc_extras.txt
@@ -0,0 +1,61 @@
+// Signature format: 2.0
+package com.android.nfc_extras {
+
+  public class EeAlreadyOpenException extends com.android.nfc_extras.EeIOException {
+    ctor public EeAlreadyOpenException();
+    ctor public EeAlreadyOpenException(String);
+  }
+
+  public class EeExternalFieldException extends com.android.nfc_extras.EeIOException {
+    ctor public EeExternalFieldException();
+    ctor public EeExternalFieldException(String);
+  }
+
+  public class EeIOException extends java.io.IOException {
+    ctor public EeIOException();
+    ctor public EeIOException(String);
+  }
+
+  public class EeInitializationException extends com.android.nfc_extras.EeIOException {
+    ctor public EeInitializationException();
+    ctor public EeInitializationException(String);
+  }
+
+  public class EeListenModeException extends com.android.nfc_extras.EeIOException {
+    ctor public EeListenModeException();
+    ctor public EeListenModeException(String);
+  }
+
+  public class EeNfcDisabledException extends com.android.nfc_extras.EeIOException {
+    ctor public EeNfcDisabledException();
+    ctor public EeNfcDisabledException(String);
+  }
+
+  public final class NfcAdapterExtras {
+    method public void authenticate(byte[]);
+    method public static com.android.nfc_extras.NfcAdapterExtras get(android.nfc.NfcAdapter);
+    method public com.android.nfc_extras.NfcAdapterExtras.CardEmulationRoute getCardEmulationRoute();
+    method public String getDriverName();
+    method public com.android.nfc_extras.NfcExecutionEnvironment getEmbeddedExecutionEnvironment();
+    method public void setCardEmulationRoute(com.android.nfc_extras.NfcAdapterExtras.CardEmulationRoute);
+    field public static final String ACTION_RF_FIELD_OFF_DETECTED = "com.android.nfc_extras.action.RF_FIELD_OFF_DETECTED";
+    field public static final String ACTION_RF_FIELD_ON_DETECTED = "com.android.nfc_extras.action.RF_FIELD_ON_DETECTED";
+  }
+
+  public static final class NfcAdapterExtras.CardEmulationRoute {
+    ctor public NfcAdapterExtras.CardEmulationRoute(int, com.android.nfc_extras.NfcExecutionEnvironment);
+    field public static final int ROUTE_OFF = 1; // 0x1
+    field public static final int ROUTE_ON_WHEN_SCREEN_ON = 2; // 0x2
+    field public final com.android.nfc_extras.NfcExecutionEnvironment nfcEe;
+    field public final int route;
+  }
+
+  public class NfcExecutionEnvironment {
+    method public void close() throws java.io.IOException;
+    method public void open() throws com.android.nfc_extras.EeIOException;
+    method public byte[] transceive(byte[]) throws java.io.IOException;
+    field public static final String ACTION_AID_SELECTED = "com.android.nfc_extras.action.AID_SELECTED";
+  }
+
+}
+
diff --git a/32/public/api/conscrypt-coreplatform-removed.txt b/32/public/api/conscrypt-coreplatform-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/conscrypt-coreplatform-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/conscrypt-coreplatform.txt b/32/public/api/conscrypt-coreplatform.txt
new file mode 100644
index 0000000..b645383
--- /dev/null
+++ b/32/public/api/conscrypt-coreplatform.txt
@@ -0,0 +1,100 @@
+// Signature format: 2.0
+package com.android.org.conscrypt {
+
+  public interface CertPinManager {
+  }
+
+  public final class ClientSessionContext implements javax.net.ssl.SSLSessionContext {
+    method public final java.util.Enumeration<byte[]> getIds();
+    method public final javax.net.ssl.SSLSession getSession(byte[]);
+    method public final int getSessionCacheSize();
+    method public final int getSessionTimeout();
+    method public void setPersistentCache(com.android.org.conscrypt.SSLClientSessionCache);
+    method public final void setSessionCacheSize(int) throws java.lang.IllegalArgumentException;
+    method public final void setSessionTimeout(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public final class Conscrypt {
+    method public static javax.net.ssl.X509TrustManager getDefaultX509TrustManager() throws java.security.KeyManagementException;
+  }
+
+  public interface ConscryptCertStore {
+  }
+
+  public final class FileClientSessionCache {
+    method public static com.android.org.conscrypt.SSLClientSessionCache usingDirectory(java.io.File) throws java.io.IOException;
+  }
+
+  public final class OpenSSLProvider extends java.security.Provider {
+    ctor public OpenSSLProvider();
+  }
+
+  public abstract class OpenSSLSocketImpl extends javax.net.ssl.SSLSocket {
+    method public void addHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
+    method public final void connect(java.net.SocketAddress) throws java.io.IOException;
+    method public final void connect(java.net.SocketAddress, int) throws java.io.IOException;
+    method @Deprecated public final byte[] getAlpnSelectedProtocol();
+    method @Deprecated public final byte[] getNpnSelectedProtocol();
+    method public final int getPort();
+    method public final int getSoTimeout() throws java.net.SocketException;
+    method public void removeHandshakeCompletedListener(javax.net.ssl.HandshakeCompletedListener);
+    method public final void sendUrgentData(int) throws java.io.IOException;
+    method @Deprecated public final void setAlpnProtocols(byte[]);
+    method public abstract void setChannelIdPrivateKey(java.security.PrivateKey);
+    method public void setHandshakeTimeout(int) throws java.net.SocketException;
+    method public void setHostname(String);
+    method @Deprecated public final void setNpnProtocols(byte[]);
+    method public final void setOOBInline(boolean) throws java.net.SocketException;
+    method public final void setSoTimeout(int) throws java.net.SocketException;
+    method public void setSoWriteTimeout(int) throws java.net.SocketException;
+    method public abstract void setUseSessionTickets(boolean);
+  }
+
+  public interface SSLClientSessionCache {
+  }
+
+  public final class TrustManagerImpl extends javax.net.ssl.X509ExtendedTrustManager {
+    ctor public TrustManagerImpl(java.security.KeyStore);
+    ctor public TrustManagerImpl(java.security.KeyStore, com.android.org.conscrypt.CertPinManager, com.android.org.conscrypt.ConscryptCertStore);
+    method public void checkClientTrusted(java.security.cert.X509Certificate[], String) throws java.security.cert.CertificateException;
+    method public void checkClientTrusted(java.security.cert.X509Certificate[], String, java.net.Socket) throws java.security.cert.CertificateException;
+    method public void checkClientTrusted(java.security.cert.X509Certificate[], String, javax.net.ssl.SSLEngine) throws java.security.cert.CertificateException;
+    method public java.util.List<java.security.cert.X509Certificate> checkServerTrusted(java.security.cert.X509Certificate[], String, String) throws java.security.cert.CertificateException;
+    method public java.util.List<java.security.cert.X509Certificate> getTrustedChainForServer(java.security.cert.X509Certificate[], String, java.net.Socket) throws java.security.cert.CertificateException;
+    method public java.util.List<java.security.cert.X509Certificate> getTrustedChainForServer(java.security.cert.X509Certificate[], String, javax.net.ssl.SSLEngine) throws java.security.cert.CertificateException;
+    method public void handleTrustStorageUpdate();
+  }
+
+  public final class TrustedCertificateIndex {
+    ctor public TrustedCertificateIndex();
+    method public java.util.Set<java.security.cert.TrustAnchor> findAllByIssuerAndSignature(java.security.cert.X509Certificate);
+    method public java.security.cert.TrustAnchor findByIssuerAndSignature(java.security.cert.X509Certificate);
+    method public java.security.cert.TrustAnchor findBySubjectAndPublicKey(java.security.cert.X509Certificate);
+    method public java.security.cert.TrustAnchor index(java.security.cert.X509Certificate);
+  }
+
+  public class TrustedCertificateStore implements com.android.org.conscrypt.ConscryptCertStore {
+    ctor public TrustedCertificateStore();
+    method public java.util.Set<java.lang.String> aliases();
+    method public java.util.Set<java.lang.String> allSystemAliases();
+    method public boolean containsAlias(String);
+    method public void deleteCertificateEntry(String) throws java.security.cert.CertificateException, java.io.IOException;
+    method public java.util.Set<java.security.cert.X509Certificate> findAllIssuers(java.security.cert.X509Certificate);
+    method public java.security.cert.X509Certificate findIssuer(java.security.cert.X509Certificate);
+    method public java.security.cert.Certificate getCertificate(String);
+    method public java.security.cert.Certificate getCertificate(String, boolean);
+    method public String getCertificateAlias(java.security.cert.Certificate);
+    method public String getCertificateAlias(java.security.cert.Certificate, boolean);
+    method public java.util.List<java.security.cert.X509Certificate> getCertificateChain(java.security.cert.X509Certificate) throws java.security.cert.CertificateException;
+    method public java.io.File getCertificateFile(java.io.File, java.security.cert.X509Certificate);
+    method public java.util.Date getCreationDate(String);
+    method public java.security.cert.X509Certificate getTrustAnchor(java.security.cert.X509Certificate);
+    method public void installCertificate(java.security.cert.X509Certificate) throws java.security.cert.CertificateException, java.io.IOException;
+    method public static final boolean isUser(String);
+    method public boolean isUserAddedCertificate(java.security.cert.X509Certificate);
+    method public static void setDefaultUserDirectory(java.io.File);
+    method public java.util.Set<java.lang.String> userAliases();
+  }
+
+}
+
diff --git a/32/public/api/conscrypt-removed.txt b/32/public/api/conscrypt-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/conscrypt-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/conscrypt.txt b/32/public/api/conscrypt.txt
new file mode 100644
index 0000000..809495c
--- /dev/null
+++ b/32/public/api/conscrypt.txt
@@ -0,0 +1,17 @@
+// Signature format: 2.0
+package android.net.ssl {
+
+  public class SSLEngines {
+    method @Nullable public static byte[] exportKeyingMaterial(@NonNull javax.net.ssl.SSLEngine, @NonNull String, @Nullable byte[], int) throws javax.net.ssl.SSLException;
+    method public static boolean isSupportedEngine(@NonNull javax.net.ssl.SSLEngine);
+    method public static void setUseSessionTickets(@NonNull javax.net.ssl.SSLEngine, boolean);
+  }
+
+  public class SSLSockets {
+    method @Nullable public static byte[] exportKeyingMaterial(@NonNull javax.net.ssl.SSLSocket, @NonNull String, @Nullable byte[], int) throws javax.net.ssl.SSLException;
+    method public static boolean isSupportedSocket(@NonNull javax.net.ssl.SSLSocket);
+    method public static void setUseSessionTickets(@NonNull javax.net.ssl.SSLSocket, boolean);
+  }
+
+}
+
diff --git a/32/public/api/framework-appsearch-removed.txt b/32/public/api/framework-appsearch-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-appsearch-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-appsearch.txt b/32/public/api/framework-appsearch.txt
new file mode 100644
index 0000000..761405c
--- /dev/null
+++ b/32/public/api/framework-appsearch.txt
@@ -0,0 +1,460 @@
+// Signature format: 2.0
+package android.app.appsearch {
+
+  public final class AppSearchBatchResult<KeyType, ValueType> {
+    method @NonNull public java.util.Map<KeyType,android.app.appsearch.AppSearchResult<ValueType>> getAll();
+    method @NonNull public java.util.Map<KeyType,android.app.appsearch.AppSearchResult<ValueType>> getFailures();
+    method @NonNull public java.util.Map<KeyType,ValueType> getSuccesses();
+    method public boolean isSuccess();
+  }
+
+  public static final class AppSearchBatchResult.Builder<KeyType, ValueType> {
+    ctor public AppSearchBatchResult.Builder();
+    method @NonNull public android.app.appsearch.AppSearchBatchResult<KeyType,ValueType> build();
+    method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setFailure(@NonNull KeyType, int, @Nullable String);
+    method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setResult(@NonNull KeyType, @NonNull android.app.appsearch.AppSearchResult<ValueType>);
+    method @NonNull public android.app.appsearch.AppSearchBatchResult.Builder<KeyType,ValueType> setSuccess(@NonNull KeyType, @Nullable ValueType);
+  }
+
+  public class AppSearchManager {
+    method public void createGlobalSearchSession(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GlobalSearchSession>>);
+    method public void createSearchSession(@NonNull android.app.appsearch.AppSearchManager.SearchContext, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.AppSearchSession>>);
+  }
+
+  public static final class AppSearchManager.SearchContext {
+    method @NonNull public String getDatabaseName();
+  }
+
+  public static final class AppSearchManager.SearchContext.Builder {
+    ctor public AppSearchManager.SearchContext.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchManager.SearchContext build();
+  }
+
+  public final class AppSearchResult<ValueType> {
+    method @Nullable public String getErrorMessage();
+    method public int getResultCode();
+    method @Nullable public ValueType getResultValue();
+    method public boolean isSuccess();
+    method @NonNull public static <ValueType> android.app.appsearch.AppSearchResult<ValueType> newFailedResult(int, @Nullable String);
+    method @NonNull public static <ValueType> android.app.appsearch.AppSearchResult<ValueType> newSuccessfulResult(@Nullable ValueType);
+    field public static final int RESULT_INTERNAL_ERROR = 2; // 0x2
+    field public static final int RESULT_INVALID_ARGUMENT = 3; // 0x3
+    field public static final int RESULT_INVALID_SCHEMA = 7; // 0x7
+    field public static final int RESULT_IO_ERROR = 4; // 0x4
+    field public static final int RESULT_NOT_FOUND = 6; // 0x6
+    field public static final int RESULT_OK = 0; // 0x0
+    field public static final int RESULT_OUT_OF_SPACE = 5; // 0x5
+    field public static final int RESULT_SECURITY_ERROR = 8; // 0x8
+    field public static final int RESULT_UNKNOWN_ERROR = 1; // 0x1
+  }
+
+  public final class AppSearchSchema {
+    method @NonNull public java.util.List<android.app.appsearch.AppSearchSchema.PropertyConfig> getProperties();
+    method @NonNull public String getSchemaType();
+  }
+
+  public static final class AppSearchSchema.BooleanPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+  }
+
+  public static final class AppSearchSchema.BooleanPropertyConfig.Builder {
+    ctor public AppSearchSchema.BooleanPropertyConfig.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.BooleanPropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.BooleanPropertyConfig.Builder setCardinality(int);
+  }
+
+  public static final class AppSearchSchema.Builder {
+    ctor public AppSearchSchema.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.Builder addProperty(@NonNull android.app.appsearch.AppSearchSchema.PropertyConfig);
+    method @NonNull public android.app.appsearch.AppSearchSchema build();
+  }
+
+  public static final class AppSearchSchema.BytesPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+  }
+
+  public static final class AppSearchSchema.BytesPropertyConfig.Builder {
+    ctor public AppSearchSchema.BytesPropertyConfig.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.BytesPropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.BytesPropertyConfig.Builder setCardinality(int);
+  }
+
+  public static final class AppSearchSchema.DocumentPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+    method @NonNull public String getSchemaType();
+    method public boolean shouldIndexNestedProperties();
+  }
+
+  public static final class AppSearchSchema.DocumentPropertyConfig.Builder {
+    ctor public AppSearchSchema.DocumentPropertyConfig.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder setCardinality(int);
+    method @NonNull public android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder setShouldIndexNestedProperties(boolean);
+  }
+
+  public static final class AppSearchSchema.DoublePropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+  }
+
+  public static final class AppSearchSchema.DoublePropertyConfig.Builder {
+    ctor public AppSearchSchema.DoublePropertyConfig.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.DoublePropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.DoublePropertyConfig.Builder setCardinality(int);
+  }
+
+  public static final class AppSearchSchema.LongPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+  }
+
+  public static final class AppSearchSchema.LongPropertyConfig.Builder {
+    ctor public AppSearchSchema.LongPropertyConfig.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder setCardinality(int);
+  }
+
+  public abstract static class AppSearchSchema.PropertyConfig {
+    method public int getCardinality();
+    method @NonNull public String getName();
+    field public static final int CARDINALITY_OPTIONAL = 2; // 0x2
+    field public static final int CARDINALITY_REPEATED = 1; // 0x1
+    field public static final int CARDINALITY_REQUIRED = 3; // 0x3
+  }
+
+  public static final class AppSearchSchema.StringPropertyConfig extends android.app.appsearch.AppSearchSchema.PropertyConfig {
+    method public int getIndexingType();
+    method public int getTokenizerType();
+    field public static final int INDEXING_TYPE_EXACT_TERMS = 1; // 0x1
+    field public static final int INDEXING_TYPE_NONE = 0; // 0x0
+    field public static final int INDEXING_TYPE_PREFIXES = 2; // 0x2
+    field public static final int TOKENIZER_TYPE_NONE = 0; // 0x0
+    field public static final int TOKENIZER_TYPE_PLAIN = 1; // 0x1
+  }
+
+  public static final class AppSearchSchema.StringPropertyConfig.Builder {
+    ctor public AppSearchSchema.StringPropertyConfig.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig build();
+    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setCardinality(int);
+    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setIndexingType(int);
+    method @NonNull public android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder setTokenizerType(int);
+  }
+
+  public final class AppSearchSession implements java.io.Closeable {
+    method public void close();
+    method public void getByDocumentId(@NonNull android.app.appsearch.GetByDocumentIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,android.app.appsearch.GenericDocument>);
+    method public void getNamespaces(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.Set<java.lang.String>>>);
+    method public void getSchema(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.GetSchemaResponse>>);
+    method public void getStorageInfo(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.StorageInfo>>);
+    method public void put(@NonNull android.app.appsearch.PutDocumentsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,java.lang.Void>);
+    method public void remove(@NonNull android.app.appsearch.RemoveByDocumentIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.appsearch.BatchResultCallback<java.lang.String,java.lang.Void>);
+    method public void remove(@NonNull String, @NonNull android.app.appsearch.SearchSpec, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>);
+    method public void reportUsage(@NonNull android.app.appsearch.ReportUsageRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>);
+    method @NonNull public android.app.appsearch.SearchResults search(@NonNull String, @NonNull android.app.appsearch.SearchSpec);
+    method public void setSchema(@NonNull android.app.appsearch.SetSchemaRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<android.app.appsearch.SetSchemaResponse>>);
+  }
+
+  public interface BatchResultCallback<KeyType, ValueType> {
+    method public void onResult(@NonNull android.app.appsearch.AppSearchBatchResult<KeyType,ValueType>);
+    method public default void onSystemError(@Nullable Throwable);
+  }
+
+  public class GenericDocument {
+    ctor protected GenericDocument(@NonNull android.app.appsearch.GenericDocument);
+    method public long getCreationTimestampMillis();
+    method @NonNull public String getId();
+    method public static int getMaxIndexedProperties();
+    method @NonNull public String getNamespace();
+    method @Nullable public Object getProperty(@NonNull String);
+    method public boolean getPropertyBoolean(@NonNull String);
+    method @Nullable public boolean[] getPropertyBooleanArray(@NonNull String);
+    method @Nullable public byte[] getPropertyBytes(@NonNull String);
+    method @Nullable public byte[][] getPropertyBytesArray(@NonNull String);
+    method @Nullable public android.app.appsearch.GenericDocument getPropertyDocument(@NonNull String);
+    method @Nullable public android.app.appsearch.GenericDocument[] getPropertyDocumentArray(@NonNull String);
+    method public double getPropertyDouble(@NonNull String);
+    method @Nullable public double[] getPropertyDoubleArray(@NonNull String);
+    method public long getPropertyLong(@NonNull String);
+    method @Nullable public long[] getPropertyLongArray(@NonNull String);
+    method @NonNull public java.util.Set<java.lang.String> getPropertyNames();
+    method @Nullable public String getPropertyString(@NonNull String);
+    method @Nullable public String[] getPropertyStringArray(@NonNull String);
+    method @NonNull public String getSchemaType();
+    method public int getScore();
+    method public long getTtlMillis();
+  }
+
+  public static class GenericDocument.Builder<BuilderType extends android.app.appsearch.GenericDocument.Builder> {
+    ctor public GenericDocument.Builder(@NonNull String, @NonNull String, @NonNull String);
+    method @NonNull public android.app.appsearch.GenericDocument build();
+    method @NonNull public BuilderType setCreationTimestampMillis(long);
+    method @NonNull public BuilderType setPropertyBoolean(@NonNull String, @NonNull boolean...);
+    method @NonNull public BuilderType setPropertyBytes(@NonNull String, @NonNull byte[]...);
+    method @NonNull public BuilderType setPropertyDocument(@NonNull String, @NonNull android.app.appsearch.GenericDocument...);
+    method @NonNull public BuilderType setPropertyDouble(@NonNull String, @NonNull double...);
+    method @NonNull public BuilderType setPropertyLong(@NonNull String, @NonNull long...);
+    method @NonNull public BuilderType setPropertyString(@NonNull String, @NonNull java.lang.String...);
+    method @NonNull public BuilderType setScore(@IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int);
+    method @NonNull public BuilderType setTtlMillis(long);
+  }
+
+  public final class GetByDocumentIdRequest {
+    method @NonNull public java.util.Set<java.lang.String> getIds();
+    method @NonNull public String getNamespace();
+    method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getProjections();
+    field public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*";
+  }
+
+  public static final class GetByDocumentIdRequest.Builder {
+    ctor public GetByDocumentIdRequest.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addIds(@NonNull java.lang.String...);
+    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addIds(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.GetByDocumentIdRequest.Builder addProjection(@NonNull String, @NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.GetByDocumentIdRequest build();
+  }
+
+  public final class GetSchemaResponse {
+    method @NonNull public java.util.Set<android.app.appsearch.AppSearchSchema> getSchemas();
+    method @IntRange(from=0) public int getVersion();
+  }
+
+  public static final class GetSchemaResponse.Builder {
+    ctor public GetSchemaResponse.Builder();
+    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder addSchema(@NonNull android.app.appsearch.AppSearchSchema);
+    method @NonNull public android.app.appsearch.GetSchemaResponse build();
+    method @NonNull public android.app.appsearch.GetSchemaResponse.Builder setVersion(@IntRange(from=0) int);
+  }
+
+  public class GlobalSearchSession implements java.io.Closeable {
+    method public void close();
+    method public void reportSystemUsage(@NonNull android.app.appsearch.ReportSystemUsageRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.lang.Void>>);
+    method @NonNull public android.app.appsearch.SearchResults search(@NonNull String, @NonNull android.app.appsearch.SearchSpec);
+  }
+
+  public abstract class Migrator {
+    ctor public Migrator();
+    method @NonNull @WorkerThread public abstract android.app.appsearch.GenericDocument onDowngrade(int, int, @NonNull android.app.appsearch.GenericDocument);
+    method @NonNull @WorkerThread public abstract android.app.appsearch.GenericDocument onUpgrade(int, int, @NonNull android.app.appsearch.GenericDocument);
+    method public abstract boolean shouldMigrate(int, int);
+  }
+
+  public class PackageIdentifier {
+    ctor public PackageIdentifier(@NonNull String, @NonNull byte[]);
+    method @NonNull public String getPackageName();
+    method @NonNull public byte[] getSha256Certificate();
+  }
+
+  public final class PutDocumentsRequest {
+    method @NonNull public java.util.List<android.app.appsearch.GenericDocument> getGenericDocuments();
+  }
+
+  public static final class PutDocumentsRequest.Builder {
+    ctor public PutDocumentsRequest.Builder();
+    method @NonNull public android.app.appsearch.PutDocumentsRequest.Builder addGenericDocuments(@NonNull android.app.appsearch.GenericDocument...);
+    method @NonNull public android.app.appsearch.PutDocumentsRequest.Builder addGenericDocuments(@NonNull java.util.Collection<? extends android.app.appsearch.GenericDocument>);
+    method @NonNull public android.app.appsearch.PutDocumentsRequest build();
+  }
+
+  public final class RemoveByDocumentIdRequest {
+    method @NonNull public java.util.Set<java.lang.String> getIds();
+    method @NonNull public String getNamespace();
+  }
+
+  public static final class RemoveByDocumentIdRequest.Builder {
+    ctor public RemoveByDocumentIdRequest.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest.Builder addIds(@NonNull java.lang.String...);
+    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest.Builder addIds(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.RemoveByDocumentIdRequest build();
+  }
+
+  public final class ReportSystemUsageRequest {
+    method @NonNull public String getDatabaseName();
+    method @NonNull public String getDocumentId();
+    method @NonNull public String getNamespace();
+    method @NonNull public String getPackageName();
+    method public long getUsageTimestampMillis();
+  }
+
+  public static final class ReportSystemUsageRequest.Builder {
+    ctor public ReportSystemUsageRequest.Builder(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
+    method @NonNull public android.app.appsearch.ReportSystemUsageRequest build();
+    method @NonNull public android.app.appsearch.ReportSystemUsageRequest.Builder setUsageTimestampMillis(long);
+  }
+
+  public final class ReportUsageRequest {
+    method @NonNull public String getDocumentId();
+    method @NonNull public String getNamespace();
+    method public long getUsageTimestampMillis();
+  }
+
+  public static final class ReportUsageRequest.Builder {
+    ctor public ReportUsageRequest.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.app.appsearch.ReportUsageRequest build();
+    method @NonNull public android.app.appsearch.ReportUsageRequest.Builder setUsageTimestampMillis(long);
+  }
+
+  public final class SearchResult {
+    method @NonNull public String getDatabaseName();
+    method @NonNull public android.app.appsearch.GenericDocument getGenericDocument();
+    method @NonNull public java.util.List<android.app.appsearch.SearchResult.MatchInfo> getMatchInfos();
+    method @NonNull public String getPackageName();
+    method public double getRankingSignal();
+  }
+
+  public static final class SearchResult.Builder {
+    ctor public SearchResult.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.app.appsearch.SearchResult.Builder addMatchInfo(@NonNull android.app.appsearch.SearchResult.MatchInfo);
+    method @NonNull public android.app.appsearch.SearchResult build();
+    method @NonNull public android.app.appsearch.SearchResult.Builder setGenericDocument(@NonNull android.app.appsearch.GenericDocument);
+    method @NonNull public android.app.appsearch.SearchResult.Builder setRankingSignal(double);
+  }
+
+  public static final class SearchResult.MatchInfo {
+    method @NonNull public CharSequence getExactMatch();
+    method @NonNull public android.app.appsearch.SearchResult.MatchRange getExactMatchRange();
+    method @NonNull public String getFullText();
+    method @NonNull public String getPropertyPath();
+    method @NonNull public CharSequence getSnippet();
+    method @NonNull public android.app.appsearch.SearchResult.MatchRange getSnippetRange();
+  }
+
+  public static final class SearchResult.MatchInfo.Builder {
+    ctor public SearchResult.MatchInfo.Builder(@NonNull String);
+    method @NonNull public android.app.appsearch.SearchResult.MatchInfo build();
+    method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setExactMatchRange(@NonNull android.app.appsearch.SearchResult.MatchRange);
+    method @NonNull public android.app.appsearch.SearchResult.MatchInfo.Builder setSnippetRange(@NonNull android.app.appsearch.SearchResult.MatchRange);
+  }
+
+  public static final class SearchResult.MatchRange {
+    ctor public SearchResult.MatchRange(int, int);
+    method public int getEnd();
+    method public int getStart();
+  }
+
+  public class SearchResults implements java.io.Closeable {
+    method public void close();
+    method public void getNextPage(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.appsearch.AppSearchResult<java.util.List<android.app.appsearch.SearchResult>>>);
+  }
+
+  public final class SearchSpec {
+    method @NonNull public java.util.List<java.lang.String> getFilterNamespaces();
+    method @NonNull public java.util.List<java.lang.String> getFilterPackageNames();
+    method @NonNull public java.util.List<java.lang.String> getFilterSchemas();
+    method public int getMaxSnippetSize();
+    method public int getOrder();
+    method @NonNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getProjections();
+    method public int getRankingStrategy();
+    method public int getResultCountPerPage();
+    method public int getResultGroupingLimit();
+    method public int getResultGroupingTypeFlags();
+    method public int getSnippetCount();
+    method public int getSnippetCountPerProperty();
+    method public int getTermMatch();
+    field public static final int GROUPING_TYPE_PER_NAMESPACE = 2; // 0x2
+    field public static final int GROUPING_TYPE_PER_PACKAGE = 1; // 0x1
+    field public static final int ORDER_ASCENDING = 1; // 0x1
+    field public static final int ORDER_DESCENDING = 0; // 0x0
+    field public static final String PROJECTION_SCHEMA_TYPE_WILDCARD = "*";
+    field public static final int RANKING_STRATEGY_CREATION_TIMESTAMP = 2; // 0x2
+    field public static final int RANKING_STRATEGY_DOCUMENT_SCORE = 1; // 0x1
+    field public static final int RANKING_STRATEGY_NONE = 0; // 0x0
+    field public static final int RANKING_STRATEGY_RELEVANCE_SCORE = 3; // 0x3
+    field public static final int RANKING_STRATEGY_SYSTEM_USAGE_COUNT = 6; // 0x6
+    field public static final int RANKING_STRATEGY_SYSTEM_USAGE_LAST_USED_TIMESTAMP = 7; // 0x7
+    field public static final int RANKING_STRATEGY_USAGE_COUNT = 4; // 0x4
+    field public static final int RANKING_STRATEGY_USAGE_LAST_USED_TIMESTAMP = 5; // 0x5
+    field public static final int TERM_MATCH_EXACT_ONLY = 1; // 0x1
+    field public static final int TERM_MATCH_PREFIX = 2; // 0x2
+  }
+
+  public static final class SearchSpec.Builder {
+    ctor public SearchSpec.Builder();
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterNamespaces(@NonNull java.lang.String...);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterNamespaces(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterPackageNames(@NonNull java.lang.String...);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterPackageNames(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterSchemas(@NonNull java.lang.String...);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addFilterSchemas(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder addProjection(@NonNull String, @NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SearchSpec build();
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setMaxSnippetSize(@IntRange(from=0, to=0x2710) int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setOrder(int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setRankingStrategy(int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setResultCountPerPage(@IntRange(from=0, to=0x2710) int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setResultGrouping(int, int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setSnippetCount(@IntRange(from=0, to=0x2710) int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setSnippetCountPerProperty(@IntRange(from=0, to=0x2710) int);
+    method @NonNull public android.app.appsearch.SearchSpec.Builder setTermMatch(int);
+  }
+
+  public final class SetSchemaRequest {
+    method @NonNull public java.util.Map<java.lang.String,android.app.appsearch.Migrator> getMigrators();
+    method @NonNull public java.util.Set<android.app.appsearch.AppSearchSchema> getSchemas();
+    method @NonNull public java.util.Set<java.lang.String> getSchemasNotDisplayedBySystem();
+    method @NonNull public java.util.Map<java.lang.String,java.util.Set<android.app.appsearch.PackageIdentifier>> getSchemasVisibleToPackages();
+    method @IntRange(from=1) public int getVersion();
+    method public boolean isForceOverride();
+  }
+
+  public static final class SetSchemaRequest.Builder {
+    ctor public SetSchemaRequest.Builder();
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addSchemas(@NonNull android.app.appsearch.AppSearchSchema...);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder addSchemas(@NonNull java.util.Collection<android.app.appsearch.AppSearchSchema>);
+    method @NonNull public android.app.appsearch.SetSchemaRequest build();
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setForceOverride(boolean);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setMigrator(@NonNull String, @NonNull android.app.appsearch.Migrator);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setMigrators(@NonNull java.util.Map<java.lang.String,android.app.appsearch.Migrator>);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setSchemaTypeDisplayedBySystem(@NonNull String, boolean);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setSchemaTypeVisibilityForPackage(@NonNull String, boolean, @NonNull android.app.appsearch.PackageIdentifier);
+    method @NonNull public android.app.appsearch.SetSchemaRequest.Builder setVersion(@IntRange(from=1) int);
+  }
+
+  public class SetSchemaResponse {
+    method @NonNull public java.util.Set<java.lang.String> getDeletedTypes();
+    method @NonNull public java.util.Set<java.lang.String> getIncompatibleTypes();
+    method @NonNull public java.util.Set<java.lang.String> getMigratedTypes();
+    method @NonNull public java.util.List<android.app.appsearch.SetSchemaResponse.MigrationFailure> getMigrationFailures();
+  }
+
+  public static final class SetSchemaResponse.Builder {
+    ctor public SetSchemaResponse.Builder();
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addDeletedType(@NonNull String);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addDeletedTypes(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addIncompatibleType(@NonNull String);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addIncompatibleTypes(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigratedType(@NonNull String);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigratedTypes(@NonNull java.util.Collection<java.lang.String>);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigrationFailure(@NonNull android.app.appsearch.SetSchemaResponse.MigrationFailure);
+    method @NonNull public android.app.appsearch.SetSchemaResponse.Builder addMigrationFailures(@NonNull java.util.Collection<android.app.appsearch.SetSchemaResponse.MigrationFailure>);
+    method @NonNull public android.app.appsearch.SetSchemaResponse build();
+  }
+
+  public static class SetSchemaResponse.MigrationFailure {
+    ctor public SetSchemaResponse.MigrationFailure(@NonNull String, @NonNull String, @NonNull String, @NonNull android.app.appsearch.AppSearchResult<?>);
+    method @NonNull public android.app.appsearch.AppSearchResult<java.lang.Void> getAppSearchResult();
+    method @NonNull public String getDocumentId();
+    method @NonNull public String getNamespace();
+    method @NonNull public String getSchemaType();
+  }
+
+  public class StorageInfo {
+    method public int getAliveDocumentsCount();
+    method public int getAliveNamespacesCount();
+    method public long getSizeBytes();
+  }
+
+  public static final class StorageInfo.Builder {
+    ctor public StorageInfo.Builder();
+    method @NonNull public android.app.appsearch.StorageInfo build();
+    method @NonNull public android.app.appsearch.StorageInfo.Builder setAliveDocumentsCount(int);
+    method @NonNull public android.app.appsearch.StorageInfo.Builder setAliveNamespacesCount(int);
+    method @NonNull public android.app.appsearch.StorageInfo.Builder setSizeBytes(long);
+  }
+
+}
+
+package android.app.appsearch.exceptions {
+
+  public class AppSearchException extends java.lang.Exception {
+    ctor public AppSearchException(int);
+    ctor public AppSearchException(int, @Nullable String);
+    ctor public AppSearchException(int, @Nullable String, @Nullable Throwable);
+    method public int getResultCode();
+    method @NonNull public <T> android.app.appsearch.AppSearchResult<T> toAppSearchResult();
+  }
+
+}
+
diff --git a/32/public/api/framework-connectivity-removed.txt b/32/public/api/framework-connectivity-removed.txt
new file mode 100644
index 0000000..303a1e6
--- /dev/null
+++ b/32/public/api/framework-connectivity-removed.txt
@@ -0,0 +1,11 @@
+// Signature format: 2.0
+package android.net {
+
+  public class ConnectivityManager {
+    method @Deprecated public boolean requestRouteToHost(int, int);
+    method @Deprecated public int startUsingNetworkFeature(int, String);
+    method @Deprecated public int stopUsingNetworkFeature(int, String);
+  }
+
+}
+
diff --git a/32/public/api/framework-connectivity.txt b/32/public/api/framework-connectivity.txt
new file mode 100644
index 0000000..33f4d14
--- /dev/null
+++ b/32/public/api/framework-connectivity.txt
@@ -0,0 +1,476 @@
+// Signature format: 2.0
+package android.net {
+
+  public class CaptivePortal implements android.os.Parcelable {
+    method public int describeContents();
+    method public void ignoreNetwork();
+    method public void reportCaptivePortalDismissed();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortal> CREATOR;
+  }
+
+  public class ConnectivityDiagnosticsManager {
+    method public void registerConnectivityDiagnosticsCallback(@NonNull android.net.NetworkRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback);
+    method public void unregisterConnectivityDiagnosticsCallback(@NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback);
+  }
+
+  public abstract static class ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback {
+    ctor public ConnectivityDiagnosticsManager.ConnectivityDiagnosticsCallback();
+    method public void onConnectivityReportAvailable(@NonNull android.net.ConnectivityDiagnosticsManager.ConnectivityReport);
+    method public void onDataStallSuspected(@NonNull android.net.ConnectivityDiagnosticsManager.DataStallReport);
+    method public void onNetworkConnectivityReported(@NonNull android.net.Network, boolean);
+  }
+
+  public static final class ConnectivityDiagnosticsManager.ConnectivityReport implements android.os.Parcelable {
+    ctor public ConnectivityDiagnosticsManager.ConnectivityReport(@NonNull android.net.Network, long, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkCapabilities, @NonNull android.os.PersistableBundle);
+    method public int describeContents();
+    method @NonNull public android.os.PersistableBundle getAdditionalInfo();
+    method @NonNull public android.net.LinkProperties getLinkProperties();
+    method @NonNull public android.net.Network getNetwork();
+    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
+    method public long getReportTimestamp();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.ConnectivityReport> CREATOR;
+    field public static final String KEY_NETWORK_PROBES_ATTEMPTED_BITMASK = "networkProbesAttempted";
+    field public static final String KEY_NETWORK_PROBES_SUCCEEDED_BITMASK = "networkProbesSucceeded";
+    field public static final String KEY_NETWORK_VALIDATION_RESULT = "networkValidationResult";
+    field public static final int NETWORK_PROBE_DNS = 4; // 0x4
+    field public static final int NETWORK_PROBE_FALLBACK = 32; // 0x20
+    field public static final int NETWORK_PROBE_HTTP = 8; // 0x8
+    field public static final int NETWORK_PROBE_HTTPS = 16; // 0x10
+    field public static final int NETWORK_PROBE_PRIVATE_DNS = 64; // 0x40
+    field public static final int NETWORK_VALIDATION_RESULT_INVALID = 0; // 0x0
+    field public static final int NETWORK_VALIDATION_RESULT_PARTIALLY_VALID = 2; // 0x2
+    field public static final int NETWORK_VALIDATION_RESULT_SKIPPED = 3; // 0x3
+    field public static final int NETWORK_VALIDATION_RESULT_VALID = 1; // 0x1
+  }
+
+  public static final class ConnectivityDiagnosticsManager.DataStallReport implements android.os.Parcelable {
+    ctor public ConnectivityDiagnosticsManager.DataStallReport(@NonNull android.net.Network, long, int, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkCapabilities, @NonNull android.os.PersistableBundle);
+    method public int describeContents();
+    method public int getDetectionMethod();
+    method @NonNull public android.net.LinkProperties getLinkProperties();
+    method @NonNull public android.net.Network getNetwork();
+    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
+    method public long getReportTimestamp();
+    method @NonNull public android.os.PersistableBundle getStallDetails();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.ConnectivityDiagnosticsManager.DataStallReport> CREATOR;
+    field public static final int DETECTION_METHOD_DNS_EVENTS = 1; // 0x1
+    field public static final int DETECTION_METHOD_TCP_METRICS = 2; // 0x2
+    field public static final String KEY_DNS_CONSECUTIVE_TIMEOUTS = "dnsConsecutiveTimeouts";
+    field public static final String KEY_TCP_METRICS_COLLECTION_PERIOD_MILLIS = "tcpMetricsCollectionPeriodMillis";
+    field public static final String KEY_TCP_PACKET_FAIL_RATE = "tcpPacketFailRate";
+  }
+
+  public class ConnectivityManager {
+    method public void addDefaultNetworkActiveListener(android.net.ConnectivityManager.OnNetworkActiveListener);
+    method public boolean bindProcessToNetwork(@Nullable android.net.Network);
+    method @NonNull public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull android.net.IpSecManager.UdpEncapsulationSocket, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
+    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network getActiveNetwork();
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getActiveNetworkInfo();
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo[] getAllNetworkInfo();
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.Network[] getAllNetworks();
+    method @Deprecated public boolean getBackgroundDataSetting();
+    method @Nullable public android.net.Network getBoundNetworkForProcess();
+    method public int getConnectionOwnerUid(int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
+    method @Nullable public android.net.ProxyInfo getDefaultProxy();
+    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.LinkProperties getLinkProperties(@Nullable android.net.Network);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public int getMultipathPreference(@Nullable android.net.Network);
+    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkCapabilities getNetworkCapabilities(@Nullable android.net.Network);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getNetworkInfo(int);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public android.net.NetworkInfo getNetworkInfo(@Nullable android.net.Network);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public int getNetworkPreference();
+    method @Nullable public byte[] getNetworkWatchlistConfigHash();
+    method @Deprecated @Nullable public static android.net.Network getProcessDefaultNetwork();
+    method public int getRestrictBackgroundStatus();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public boolean isActiveNetworkMetered();
+    method public boolean isDefaultNetworkActive();
+    method @Deprecated public static boolean isNetworkTypeValid(int);
+    method public void registerBestMatchingNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerDefaultNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerNetworkCallback(@NonNull android.net.NetworkRequest, @NonNull android.app.PendingIntent);
+    method public void releaseNetworkRequest(@NonNull android.app.PendingIntent);
+    method public void removeDefaultNetworkActiveListener(@NonNull android.net.ConnectivityManager.OnNetworkActiveListener);
+    method @Deprecated public void reportBadNetwork(@Nullable android.net.Network);
+    method public void reportNetworkConnectivity(@Nullable android.net.Network, boolean);
+    method public boolean requestBandwidthUpdate(@NonNull android.net.Network);
+    method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback);
+    method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler);
+    method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, int);
+    method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.net.ConnectivityManager.NetworkCallback, @NonNull android.os.Handler, int);
+    method public void requestNetwork(@NonNull android.net.NetworkRequest, @NonNull android.app.PendingIntent);
+    method @Deprecated public void setNetworkPreference(int);
+    method @Deprecated public static boolean setProcessDefaultNetwork(@Nullable android.net.Network);
+    method public void unregisterNetworkCallback(@NonNull android.net.ConnectivityManager.NetworkCallback);
+    method public void unregisterNetworkCallback(@NonNull android.app.PendingIntent);
+    field @Deprecated public static final String ACTION_BACKGROUND_DATA_SETTING_CHANGED = "android.net.conn.BACKGROUND_DATA_SETTING_CHANGED";
+    field public static final String ACTION_CAPTIVE_PORTAL_SIGN_IN = "android.net.conn.CAPTIVE_PORTAL";
+    field public static final String ACTION_RESTRICT_BACKGROUND_CHANGED = "android.net.conn.RESTRICT_BACKGROUND_CHANGED";
+    field @Deprecated public static final String CONNECTIVITY_ACTION = "android.net.conn.CONNECTIVITY_CHANGE";
+    field @Deprecated public static final int DEFAULT_NETWORK_PREFERENCE = 1; // 0x1
+    field public static final String EXTRA_CAPTIVE_PORTAL = "android.net.extra.CAPTIVE_PORTAL";
+    field public static final String EXTRA_CAPTIVE_PORTAL_URL = "android.net.extra.CAPTIVE_PORTAL_URL";
+    field @Deprecated public static final String EXTRA_EXTRA_INFO = "extraInfo";
+    field @Deprecated public static final String EXTRA_IS_FAILOVER = "isFailover";
+    field public static final String EXTRA_NETWORK = "android.net.extra.NETWORK";
+    field @Deprecated public static final String EXTRA_NETWORK_INFO = "networkInfo";
+    field public static final String EXTRA_NETWORK_REQUEST = "android.net.extra.NETWORK_REQUEST";
+    field @Deprecated public static final String EXTRA_NETWORK_TYPE = "networkType";
+    field public static final String EXTRA_NO_CONNECTIVITY = "noConnectivity";
+    field @Deprecated public static final String EXTRA_OTHER_NETWORK_INFO = "otherNetwork";
+    field public static final String EXTRA_REASON = "reason";
+    field public static final int MULTIPATH_PREFERENCE_HANDOVER = 1; // 0x1
+    field public static final int MULTIPATH_PREFERENCE_PERFORMANCE = 4; // 0x4
+    field public static final int MULTIPATH_PREFERENCE_RELIABILITY = 2; // 0x2
+    field public static final int RESTRICT_BACKGROUND_STATUS_DISABLED = 1; // 0x1
+    field public static final int RESTRICT_BACKGROUND_STATUS_ENABLED = 3; // 0x3
+    field public static final int RESTRICT_BACKGROUND_STATUS_WHITELISTED = 2; // 0x2
+    field @Deprecated public static final int TYPE_BLUETOOTH = 7; // 0x7
+    field @Deprecated public static final int TYPE_DUMMY = 8; // 0x8
+    field @Deprecated public static final int TYPE_ETHERNET = 9; // 0x9
+    field @Deprecated public static final int TYPE_MOBILE = 0; // 0x0
+    field @Deprecated public static final int TYPE_MOBILE_DUN = 4; // 0x4
+    field @Deprecated public static final int TYPE_MOBILE_HIPRI = 5; // 0x5
+    field @Deprecated public static final int TYPE_MOBILE_MMS = 2; // 0x2
+    field @Deprecated public static final int TYPE_MOBILE_SUPL = 3; // 0x3
+    field @Deprecated public static final int TYPE_VPN = 17; // 0x11
+    field @Deprecated public static final int TYPE_WIFI = 1; // 0x1
+    field @Deprecated public static final int TYPE_WIMAX = 6; // 0x6
+  }
+
+  public static class ConnectivityManager.NetworkCallback {
+    ctor public ConnectivityManager.NetworkCallback();
+    ctor public ConnectivityManager.NetworkCallback(int);
+    method public void onAvailable(@NonNull android.net.Network);
+    method public void onBlockedStatusChanged(@NonNull android.net.Network, boolean);
+    method public void onCapabilitiesChanged(@NonNull android.net.Network, @NonNull android.net.NetworkCapabilities);
+    method public void onLinkPropertiesChanged(@NonNull android.net.Network, @NonNull android.net.LinkProperties);
+    method public void onLosing(@NonNull android.net.Network, int);
+    method public void onLost(@NonNull android.net.Network);
+    method public void onUnavailable();
+    field public static final int FLAG_INCLUDE_LOCATION_INFO = 1; // 0x1
+  }
+
+  public static interface ConnectivityManager.OnNetworkActiveListener {
+    method public void onNetworkActive();
+  }
+
+  public class DhcpInfo implements android.os.Parcelable {
+    ctor public DhcpInfo();
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.DhcpInfo> CREATOR;
+    field public int dns1;
+    field public int dns2;
+    field public int gateway;
+    field public int ipAddress;
+    field public int leaseDuration;
+    field public int netmask;
+    field public int serverAddress;
+  }
+
+  public final class DnsResolver {
+    method @NonNull public static android.net.DnsResolver getInstance();
+    method public void query(@Nullable android.net.Network, @NonNull String, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super java.util.List<java.net.InetAddress>>);
+    method public void query(@Nullable android.net.Network, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super java.util.List<java.net.InetAddress>>);
+    method public void rawQuery(@Nullable android.net.Network, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super byte[]>);
+    method public void rawQuery(@Nullable android.net.Network, @NonNull String, int, int, int, @NonNull java.util.concurrent.Executor, @Nullable android.os.CancellationSignal, @NonNull android.net.DnsResolver.Callback<? super byte[]>);
+    field public static final int CLASS_IN = 1; // 0x1
+    field public static final int ERROR_PARSE = 0; // 0x0
+    field public static final int ERROR_SYSTEM = 1; // 0x1
+    field public static final int FLAG_EMPTY = 0; // 0x0
+    field public static final int FLAG_NO_CACHE_LOOKUP = 4; // 0x4
+    field public static final int FLAG_NO_CACHE_STORE = 2; // 0x2
+    field public static final int FLAG_NO_RETRY = 1; // 0x1
+    field public static final int TYPE_A = 1; // 0x1
+    field public static final int TYPE_AAAA = 28; // 0x1c
+  }
+
+  public static interface DnsResolver.Callback<T> {
+    method public void onAnswer(@NonNull T, int);
+    method public void onError(@NonNull android.net.DnsResolver.DnsException);
+  }
+
+  public static class DnsResolver.DnsException extends java.lang.Exception {
+    field public final int code;
+  }
+
+  public class InetAddresses {
+    method public static boolean isNumericAddress(@NonNull String);
+    method @NonNull public static java.net.InetAddress parseNumericAddress(@NonNull String);
+  }
+
+  public final class IpPrefix implements android.os.Parcelable {
+    method public boolean contains(@NonNull java.net.InetAddress);
+    method public int describeContents();
+    method @NonNull public java.net.InetAddress getAddress();
+    method @IntRange(from=0, to=128) public int getPrefixLength();
+    method @NonNull public byte[] getRawAddress();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.IpPrefix> CREATOR;
+  }
+
+  public class LinkAddress implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.net.InetAddress getAddress();
+    method public int getFlags();
+    method @IntRange(from=0, to=128) public int getPrefixLength();
+    method public int getScope();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkAddress> CREATOR;
+  }
+
+  public final class LinkProperties implements android.os.Parcelable {
+    ctor public LinkProperties();
+    method public boolean addRoute(@NonNull android.net.RouteInfo);
+    method public void clear();
+    method public int describeContents();
+    method @Nullable public java.net.Inet4Address getDhcpServerAddress();
+    method @NonNull public java.util.List<java.net.InetAddress> getDnsServers();
+    method @Nullable public String getDomains();
+    method @Nullable public android.net.ProxyInfo getHttpProxy();
+    method @Nullable public String getInterfaceName();
+    method @NonNull public java.util.List<android.net.LinkAddress> getLinkAddresses();
+    method public int getMtu();
+    method @Nullable public android.net.IpPrefix getNat64Prefix();
+    method @Nullable public String getPrivateDnsServerName();
+    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes();
+    method public boolean isPrivateDnsActive();
+    method public boolean isWakeOnLanSupported();
+    method public void setDhcpServerAddress(@Nullable java.net.Inet4Address);
+    method public void setDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
+    method public void setDomains(@Nullable String);
+    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
+    method public void setInterfaceName(@Nullable String);
+    method public void setLinkAddresses(@NonNull java.util.Collection<android.net.LinkAddress>);
+    method public void setMtu(int);
+    method public void setNat64Prefix(@Nullable android.net.IpPrefix);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkProperties> CREATOR;
+  }
+
+  public final class MacAddress implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.net.MacAddress fromBytes(@NonNull byte[]);
+    method @NonNull public static android.net.MacAddress fromString(@NonNull String);
+    method public int getAddressType();
+    method @Nullable public java.net.Inet6Address getLinkLocalIpv6FromEui48Mac();
+    method public boolean isLocallyAssigned();
+    method public boolean matches(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress);
+    method @NonNull public byte[] toByteArray();
+    method @NonNull public String toOuiString();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.net.MacAddress BROADCAST_ADDRESS;
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.MacAddress> CREATOR;
+    field public static final int TYPE_BROADCAST = 3; // 0x3
+    field public static final int TYPE_MULTICAST = 2; // 0x2
+    field public static final int TYPE_UNICAST = 1; // 0x1
+  }
+
+  public class Network implements android.os.Parcelable {
+    method public void bindSocket(java.net.DatagramSocket) throws java.io.IOException;
+    method public void bindSocket(java.net.Socket) throws java.io.IOException;
+    method public void bindSocket(java.io.FileDescriptor) throws java.io.IOException;
+    method public int describeContents();
+    method public static android.net.Network fromNetworkHandle(long);
+    method public java.net.InetAddress[] getAllByName(String) throws java.net.UnknownHostException;
+    method public java.net.InetAddress getByName(String) throws java.net.UnknownHostException;
+    method public long getNetworkHandle();
+    method public javax.net.SocketFactory getSocketFactory();
+    method public java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException;
+    method public java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException;
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.Network> CREATOR;
+  }
+
+  public final class NetworkCapabilities implements android.os.Parcelable {
+    ctor public NetworkCapabilities();
+    ctor public NetworkCapabilities(android.net.NetworkCapabilities);
+    method public int describeContents();
+    method @NonNull public int[] getCapabilities();
+    method public int getLinkDownstreamBandwidthKbps();
+    method public int getLinkUpstreamBandwidthKbps();
+    method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier();
+    method public int getOwnerUid();
+    method public int getSignalStrength();
+    method @Nullable public android.net.TransportInfo getTransportInfo();
+    method public boolean hasCapability(int);
+    method public boolean hasTransport(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkCapabilities> CREATOR;
+    field public static final int NET_CAPABILITY_CAPTIVE_PORTAL = 17; // 0x11
+    field public static final int NET_CAPABILITY_CBS = 5; // 0x5
+    field public static final int NET_CAPABILITY_DUN = 2; // 0x2
+    field public static final int NET_CAPABILITY_EIMS = 10; // 0xa
+    field public static final int NET_CAPABILITY_ENTERPRISE = 29; // 0x1d
+    field public static final int NET_CAPABILITY_FOREGROUND = 19; // 0x13
+    field public static final int NET_CAPABILITY_FOTA = 3; // 0x3
+    field public static final int NET_CAPABILITY_HEAD_UNIT = 32; // 0x20
+    field public static final int NET_CAPABILITY_IA = 7; // 0x7
+    field public static final int NET_CAPABILITY_IMS = 4; // 0x4
+    field public static final int NET_CAPABILITY_INTERNET = 12; // 0xc
+    field public static final int NET_CAPABILITY_MCX = 23; // 0x17
+    field public static final int NET_CAPABILITY_MMS = 0; // 0x0
+    field public static final int NET_CAPABILITY_NOT_CONGESTED = 20; // 0x14
+    field public static final int NET_CAPABILITY_NOT_METERED = 11; // 0xb
+    field public static final int NET_CAPABILITY_NOT_RESTRICTED = 13; // 0xd
+    field public static final int NET_CAPABILITY_NOT_ROAMING = 18; // 0x12
+    field public static final int NET_CAPABILITY_NOT_SUSPENDED = 21; // 0x15
+    field public static final int NET_CAPABILITY_NOT_VPN = 15; // 0xf
+    field public static final int NET_CAPABILITY_RCS = 8; // 0x8
+    field public static final int NET_CAPABILITY_SUPL = 1; // 0x1
+    field public static final int NET_CAPABILITY_TEMPORARILY_NOT_METERED = 25; // 0x19
+    field public static final int NET_CAPABILITY_TRUSTED = 14; // 0xe
+    field public static final int NET_CAPABILITY_VALIDATED = 16; // 0x10
+    field public static final int NET_CAPABILITY_WIFI_P2P = 6; // 0x6
+    field public static final int NET_CAPABILITY_XCAP = 9; // 0x9
+    field public static final int SIGNAL_STRENGTH_UNSPECIFIED = -2147483648; // 0x80000000
+    field public static final int TRANSPORT_BLUETOOTH = 2; // 0x2
+    field public static final int TRANSPORT_CELLULAR = 0; // 0x0
+    field public static final int TRANSPORT_ETHERNET = 3; // 0x3
+    field public static final int TRANSPORT_LOWPAN = 6; // 0x6
+    field public static final int TRANSPORT_USB = 8; // 0x8
+    field public static final int TRANSPORT_VPN = 4; // 0x4
+    field public static final int TRANSPORT_WIFI = 1; // 0x1
+    field public static final int TRANSPORT_WIFI_AWARE = 5; // 0x5
+  }
+
+  @Deprecated public class NetworkInfo implements android.os.Parcelable {
+    ctor @Deprecated public NetworkInfo(int, int, @Nullable String, @Nullable String);
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public android.net.NetworkInfo.DetailedState getDetailedState();
+    method @Deprecated public String getExtraInfo();
+    method @Deprecated public String getReason();
+    method @Deprecated public android.net.NetworkInfo.State getState();
+    method @Deprecated public int getSubtype();
+    method @Deprecated public String getSubtypeName();
+    method @Deprecated public int getType();
+    method @Deprecated public String getTypeName();
+    method @Deprecated public boolean isAvailable();
+    method @Deprecated public boolean isConnected();
+    method @Deprecated public boolean isConnectedOrConnecting();
+    method @Deprecated public boolean isFailover();
+    method @Deprecated public boolean isRoaming();
+    method @Deprecated public void setDetailedState(@NonNull android.net.NetworkInfo.DetailedState, @Nullable String, @Nullable String);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkInfo> CREATOR;
+  }
+
+  @Deprecated public enum NetworkInfo.DetailedState {
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState AUTHENTICATING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState BLOCKED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CAPTIVE_PORTAL_CHECK;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState CONNECTING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState DISCONNECTING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState FAILED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState IDLE;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState OBTAINING_IPADDR;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SCANNING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState SUSPENDED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.DetailedState VERIFYING_POOR_LINK;
+  }
+
+  @Deprecated public enum NetworkInfo.State {
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State CONNECTING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State DISCONNECTING;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State SUSPENDED;
+    enum_constant @Deprecated public static final android.net.NetworkInfo.State UNKNOWN;
+  }
+
+  public class NetworkRequest implements android.os.Parcelable {
+    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkCapabilities);
+    method public int describeContents();
+    method @NonNull public int[] getCapabilities();
+    method @Nullable public android.net.NetworkSpecifier getNetworkSpecifier();
+    method @NonNull public int[] getTransportTypes();
+    method public boolean hasCapability(int);
+    method public boolean hasTransport(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkRequest> CREATOR;
+  }
+
+  public static class NetworkRequest.Builder {
+    ctor public NetworkRequest.Builder();
+    ctor public NetworkRequest.Builder(@NonNull android.net.NetworkRequest);
+    method public android.net.NetworkRequest.Builder addCapability(int);
+    method public android.net.NetworkRequest.Builder addTransportType(int);
+    method public android.net.NetworkRequest build();
+    method @NonNull public android.net.NetworkRequest.Builder clearCapabilities();
+    method public android.net.NetworkRequest.Builder removeCapability(int);
+    method public android.net.NetworkRequest.Builder removeTransportType(int);
+    method @NonNull public android.net.NetworkRequest.Builder setIncludeOtherUidNetworks(boolean);
+    method @Deprecated public android.net.NetworkRequest.Builder setNetworkSpecifier(String);
+    method public android.net.NetworkRequest.Builder setNetworkSpecifier(android.net.NetworkSpecifier);
+  }
+
+  public class ParseException extends java.lang.RuntimeException {
+    ctor public ParseException(@NonNull String);
+    ctor public ParseException(@NonNull String, @NonNull Throwable);
+    field public String response;
+  }
+
+  public class ProxyInfo implements android.os.Parcelable {
+    ctor public ProxyInfo(@Nullable android.net.ProxyInfo);
+    method public static android.net.ProxyInfo buildDirectProxy(String, int);
+    method public static android.net.ProxyInfo buildDirectProxy(String, int, java.util.List<java.lang.String>);
+    method public static android.net.ProxyInfo buildPacProxy(android.net.Uri);
+    method @NonNull public static android.net.ProxyInfo buildPacProxy(@NonNull android.net.Uri, int);
+    method public int describeContents();
+    method public String[] getExclusionList();
+    method public String getHost();
+    method public android.net.Uri getPacFileUrl();
+    method public int getPort();
+    method public boolean isValid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR;
+  }
+
+  public final class RouteInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.net.IpPrefix getDestination();
+    method @Nullable public java.net.InetAddress getGateway();
+    method @Nullable public String getInterface();
+    method public boolean hasGateway();
+    method public boolean isDefaultRoute();
+    method public boolean matches(java.net.InetAddress);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.RouteInfo> CREATOR;
+  }
+
+  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
+    method public final void close();
+    method public final void start(@IntRange(from=0xa, to=0xe10) int);
+    method public final void stop();
+    field public static final int ERROR_HARDWARE_ERROR = -31; // 0xffffffe1
+    field public static final int ERROR_INSUFFICIENT_RESOURCES = -32; // 0xffffffe0
+    field public static final int ERROR_INVALID_INTERVAL = -24; // 0xffffffe8
+    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
+    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
+    field public static final int ERROR_INVALID_NETWORK = -20; // 0xffffffec
+    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
+    field public static final int ERROR_INVALID_SOCKET = -25; // 0xffffffe7
+    field public static final int ERROR_SOCKET_NOT_IDLE = -26; // 0xffffffe6
+    field public static final int ERROR_UNSUPPORTED = -30; // 0xffffffe2
+  }
+
+  public static class SocketKeepalive.Callback {
+    ctor public SocketKeepalive.Callback();
+    method public void onDataReceived();
+    method public void onError(int);
+    method public void onStarted();
+    method public void onStopped();
+  }
+
+  public interface TransportInfo {
+  }
+
+}
+
diff --git a/32/public/api/framework-graphics-removed.txt b/32/public/api/framework-graphics-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-graphics-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-graphics.txt b/32/public/api/framework-graphics.txt
new file mode 100644
index 0000000..c396a20
--- /dev/null
+++ b/32/public/api/framework-graphics.txt
@@ -0,0 +1,23 @@
+// Signature format: 2.0
+package android.graphics {
+
+  public class ColorMatrix {
+    ctor public ColorMatrix();
+    ctor public ColorMatrix(float[]);
+    ctor public ColorMatrix(android.graphics.ColorMatrix);
+    method public final float[] getArray();
+    method public void postConcat(android.graphics.ColorMatrix);
+    method public void preConcat(android.graphics.ColorMatrix);
+    method public void reset();
+    method public void set(android.graphics.ColorMatrix);
+    method public void set(float[]);
+    method public void setConcat(android.graphics.ColorMatrix, android.graphics.ColorMatrix);
+    method public void setRGB2YUV();
+    method public void setRotate(int, float);
+    method public void setSaturation(float);
+    method public void setScale(float, float, float, float);
+    method public void setYUV2RGB();
+  }
+
+}
+
diff --git a/32/public/api/framework-media-removed.txt b/32/public/api/framework-media-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-media-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-media.txt b/32/public/api/framework-media.txt
new file mode 100644
index 0000000..b7d7ed8
--- /dev/null
+++ b/32/public/api/framework-media.txt
@@ -0,0 +1,267 @@
+// Signature format: 2.0
+package android.media {
+
+  public final class ApplicationMediaCapabilities implements android.os.Parcelable {
+    method @NonNull public static android.media.ApplicationMediaCapabilities createFromXml(@NonNull org.xmlpull.v1.XmlPullParser);
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getSupportedHdrTypes();
+    method @NonNull public java.util.List<java.lang.String> getSupportedVideoMimeTypes();
+    method @NonNull public java.util.List<java.lang.String> getUnsupportedHdrTypes();
+    method @NonNull public java.util.List<java.lang.String> getUnsupportedVideoMimeTypes();
+    method public boolean isFormatSpecified(@NonNull String);
+    method public boolean isHdrTypeSupported(@NonNull String);
+    method public boolean isVideoMimeTypeSupported(@NonNull String);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.ApplicationMediaCapabilities> CREATOR;
+  }
+
+  public static final class ApplicationMediaCapabilities.Builder {
+    ctor public ApplicationMediaCapabilities.Builder();
+    method @NonNull public android.media.ApplicationMediaCapabilities.Builder addSupportedHdrType(@NonNull String);
+    method @NonNull public android.media.ApplicationMediaCapabilities.Builder addSupportedVideoMimeType(@NonNull String);
+    method @NonNull public android.media.ApplicationMediaCapabilities.Builder addUnsupportedHdrType(@NonNull String);
+    method @NonNull public android.media.ApplicationMediaCapabilities.Builder addUnsupportedVideoMimeType(@NonNull String);
+    method @NonNull public android.media.ApplicationMediaCapabilities build();
+  }
+
+  public class MediaCommunicationManager {
+    method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens();
+    method @IntRange(from=1) public int getVersion();
+  }
+
+  public class MediaController2 implements java.lang.AutoCloseable {
+    method public void cancelSessionCommand(@NonNull Object);
+    method public void close();
+    method @Nullable public android.media.Session2Token getConnectedToken();
+    method public boolean isPlaybackActive();
+    method @NonNull public Object sendSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle);
+  }
+
+  public static final class MediaController2.Builder {
+    ctor public MediaController2.Builder(@NonNull android.content.Context, @NonNull android.media.Session2Token);
+    method @NonNull public android.media.MediaController2 build();
+    method @NonNull public android.media.MediaController2.Builder setConnectionHints(@NonNull android.os.Bundle);
+    method @NonNull public android.media.MediaController2.Builder setControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaController2.ControllerCallback);
+  }
+
+  public abstract static class MediaController2.ControllerCallback {
+    ctor public MediaController2.ControllerCallback();
+    method public void onCommandResult(@NonNull android.media.MediaController2, @NonNull Object, @NonNull android.media.Session2Command, @NonNull android.media.Session2Command.Result);
+    method public void onConnected(@NonNull android.media.MediaController2, @NonNull android.media.Session2CommandGroup);
+    method public void onDisconnected(@NonNull android.media.MediaController2);
+    method public void onPlaybackActiveChanged(@NonNull android.media.MediaController2, boolean);
+    method @Nullable public android.media.Session2Command.Result onSessionCommand(@NonNull android.media.MediaController2, @NonNull android.media.Session2Command, @Nullable android.os.Bundle);
+  }
+
+  public final class MediaFeature {
+    ctor public MediaFeature();
+  }
+
+  public static final class MediaFeature.HdrType {
+    field public static final String DOLBY_VISION = "android.media.feature.hdr.dolby_vision";
+    field public static final String HDR10 = "android.media.feature.hdr.hdr10";
+    field public static final String HDR10_PLUS = "android.media.feature.hdr.hdr10_plus";
+    field public static final String HLG = "android.media.feature.hdr.hlg";
+  }
+
+  public final class MediaParser {
+    method public boolean advance(@NonNull android.media.MediaParser.SeekableInputReader) throws java.io.IOException;
+    method @NonNull public static android.media.MediaParser create(@NonNull android.media.MediaParser.OutputConsumer, @NonNull java.lang.String...);
+    method @NonNull public static android.media.MediaParser createByName(@NonNull String, @NonNull android.media.MediaParser.OutputConsumer);
+    method @NonNull public android.media.metrics.LogSessionId getLogSessionId();
+    method @NonNull public String getParserName();
+    method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat);
+    method public void release();
+    method public void seek(@NonNull android.media.MediaParser.SeekPoint);
+    method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId);
+    method @NonNull public android.media.MediaParser setParameter(@NonNull String, @NonNull Object);
+    method public boolean supportsParameter(@NonNull String);
+    field public static final String PARAMETER_ADTS_ENABLE_CBR_SEEKING = "android.media.mediaparser.adts.enableCbrSeeking";
+    field public static final String PARAMETER_AMR_ENABLE_CBR_SEEKING = "android.media.mediaparser.amr.enableCbrSeeking";
+    field public static final String PARAMETER_FLAC_DISABLE_ID3 = "android.media.mediaparser.flac.disableId3";
+    field public static final String PARAMETER_MATROSKA_DISABLE_CUES_SEEKING = "android.media.mediaparser.matroska.disableCuesSeeking";
+    field public static final String PARAMETER_MP3_DISABLE_ID3 = "android.media.mediaparser.mp3.disableId3";
+    field public static final String PARAMETER_MP3_ENABLE_CBR_SEEKING = "android.media.mediaparser.mp3.enableCbrSeeking";
+    field public static final String PARAMETER_MP3_ENABLE_INDEX_SEEKING = "android.media.mediaparser.mp3.enableIndexSeeking";
+    field public static final String PARAMETER_MP4_IGNORE_EDIT_LISTS = "android.media.mediaparser.mp4.ignoreEditLists";
+    field public static final String PARAMETER_MP4_IGNORE_TFDT_BOX = "android.media.mediaparser.mp4.ignoreTfdtBox";
+    field public static final String PARAMETER_MP4_TREAT_VIDEO_FRAMES_AS_KEYFRAMES = "android.media.mediaparser.mp4.treatVideoFramesAsKeyframes";
+    field public static final String PARAMETER_TS_ALLOW_NON_IDR_AVC_KEYFRAMES = "android.media.mediaparser.ts.allowNonIdrAvcKeyframes";
+    field public static final String PARAMETER_TS_DETECT_ACCESS_UNITS = "android.media.mediaparser.ts.ignoreDetectAccessUnits";
+    field public static final String PARAMETER_TS_ENABLE_HDMV_DTS_AUDIO_STREAMS = "android.media.mediaparser.ts.enableHdmvDtsAudioStreams";
+    field public static final String PARAMETER_TS_IGNORE_AAC_STREAM = "android.media.mediaparser.ts.ignoreAacStream";
+    field public static final String PARAMETER_TS_IGNORE_AVC_STREAM = "android.media.mediaparser.ts.ignoreAvcStream";
+    field public static final String PARAMETER_TS_IGNORE_SPLICE_INFO_STREAM = "android.media.mediaparser.ts.ignoreSpliceInfoStream";
+    field public static final String PARAMETER_TS_MODE = "android.media.mediaparser.ts.mode";
+    field public static final String PARSER_NAME_AC3 = "android.media.mediaparser.Ac3Parser";
+    field public static final String PARSER_NAME_AC4 = "android.media.mediaparser.Ac4Parser";
+    field public static final String PARSER_NAME_ADTS = "android.media.mediaparser.AdtsParser";
+    field public static final String PARSER_NAME_AMR = "android.media.mediaparser.AmrParser";
+    field public static final String PARSER_NAME_FLAC = "android.media.mediaparser.FlacParser";
+    field public static final String PARSER_NAME_FLV = "android.media.mediaparser.FlvParser";
+    field public static final String PARSER_NAME_FMP4 = "android.media.mediaparser.FragmentedMp4Parser";
+    field public static final String PARSER_NAME_MATROSKA = "android.media.mediaparser.MatroskaParser";
+    field public static final String PARSER_NAME_MP3 = "android.media.mediaparser.Mp3Parser";
+    field public static final String PARSER_NAME_MP4 = "android.media.mediaparser.Mp4Parser";
+    field public static final String PARSER_NAME_OGG = "android.media.mediaparser.OggParser";
+    field public static final String PARSER_NAME_PS = "android.media.mediaparser.PsParser";
+    field public static final String PARSER_NAME_TS = "android.media.mediaparser.TsParser";
+    field public static final String PARSER_NAME_UNKNOWN = "android.media.mediaparser.UNKNOWN";
+    field public static final String PARSER_NAME_WAV = "android.media.mediaparser.WavParser";
+    field public static final int SAMPLE_FLAG_DECODE_ONLY = -2147483648; // 0x80000000
+    field public static final int SAMPLE_FLAG_ENCRYPTED = 1073741824; // 0x40000000
+    field public static final int SAMPLE_FLAG_HAS_SUPPLEMENTAL_DATA = 268435456; // 0x10000000
+    field public static final int SAMPLE_FLAG_KEY_FRAME = 1; // 0x1
+    field public static final int SAMPLE_FLAG_LAST_SAMPLE = 536870912; // 0x20000000
+  }
+
+  public static interface MediaParser.InputReader {
+    method public long getLength();
+    method public long getPosition();
+    method public int read(@NonNull byte[], int, int) throws java.io.IOException;
+  }
+
+  public static interface MediaParser.OutputConsumer {
+    method public void onSampleCompleted(int, long, int, int, int, @Nullable android.media.MediaCodec.CryptoInfo);
+    method public void onSampleDataFound(int, @NonNull android.media.MediaParser.InputReader) throws java.io.IOException;
+    method public void onSeekMapFound(@NonNull android.media.MediaParser.SeekMap);
+    method public void onTrackCountFound(int);
+    method public void onTrackDataFound(int, @NonNull android.media.MediaParser.TrackData);
+  }
+
+  public static final class MediaParser.ParsingException extends java.io.IOException {
+  }
+
+  public static final class MediaParser.SeekMap {
+    method public long getDurationMicros();
+    method @NonNull public android.util.Pair<android.media.MediaParser.SeekPoint,android.media.MediaParser.SeekPoint> getSeekPoints(long);
+    method public boolean isSeekable();
+    field public static final int UNKNOWN_DURATION = -2147483648; // 0x80000000
+  }
+
+  public static final class MediaParser.SeekPoint {
+    field @NonNull public static final android.media.MediaParser.SeekPoint START;
+    field public final long position;
+    field public final long timeMicros;
+  }
+
+  public static interface MediaParser.SeekableInputReader extends android.media.MediaParser.InputReader {
+    method public void seekToPosition(long);
+  }
+
+  public static final class MediaParser.TrackData {
+    field @Nullable public final android.media.DrmInitData drmInitData;
+    field @NonNull public final android.media.MediaFormat mediaFormat;
+  }
+
+  public static final class MediaParser.UnrecognizedInputFormatException extends java.io.IOException {
+  }
+
+  public class MediaSession2 implements java.lang.AutoCloseable {
+    method public void broadcastSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle);
+    method public void cancelSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object);
+    method public void close();
+    method @NonNull public java.util.List<android.media.MediaSession2.ControllerInfo> getConnectedControllers();
+    method @NonNull public String getId();
+    method @NonNull public android.media.Session2Token getToken();
+    method public boolean isPlaybackActive();
+    method @NonNull public Object sendSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull android.media.Session2Command, @Nullable android.os.Bundle);
+    method public void setPlaybackActive(boolean);
+  }
+
+  public static final class MediaSession2.Builder {
+    ctor public MediaSession2.Builder(@NonNull android.content.Context);
+    method @NonNull public android.media.MediaSession2 build();
+    method @NonNull public android.media.MediaSession2.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.media.MediaSession2.Builder setId(@NonNull String);
+    method @NonNull public android.media.MediaSession2.Builder setSessionActivity(@Nullable android.app.PendingIntent);
+    method @NonNull public android.media.MediaSession2.Builder setSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaSession2.SessionCallback);
+  }
+
+  public static final class MediaSession2.ControllerInfo {
+    method @NonNull public android.os.Bundle getConnectionHints();
+    method @NonNull public String getPackageName();
+    method @NonNull public android.media.session.MediaSessionManager.RemoteUserInfo getRemoteUserInfo();
+    method public int getUid();
+  }
+
+  public abstract static class MediaSession2.SessionCallback {
+    ctor public MediaSession2.SessionCallback();
+    method public void onCommandResult(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object, @NonNull android.media.Session2Command, @NonNull android.media.Session2Command.Result);
+    method @Nullable public android.media.Session2CommandGroup onConnect(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo);
+    method public void onDisconnected(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo);
+    method public void onPostConnect(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo);
+    method @Nullable public android.media.Session2Command.Result onSessionCommand(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo, @NonNull android.media.Session2Command, @Nullable android.os.Bundle);
+  }
+
+  public abstract class MediaSession2Service extends android.app.Service {
+    ctor public MediaSession2Service();
+    method public final void addSession(@NonNull android.media.MediaSession2);
+    method @NonNull public final java.util.List<android.media.MediaSession2> getSessions();
+    method @CallSuper @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
+    method @Nullable public abstract android.media.MediaSession2 onGetSession(@NonNull android.media.MediaSession2.ControllerInfo);
+    method @Nullable public abstract android.media.MediaSession2Service.MediaNotification onUpdateNotification(@NonNull android.media.MediaSession2);
+    method public final void removeSession(@NonNull android.media.MediaSession2);
+    field public static final String SERVICE_INTERFACE = "android.media.MediaSession2Service";
+  }
+
+  public static class MediaSession2Service.MediaNotification {
+    ctor public MediaSession2Service.MediaNotification(int, @NonNull android.app.Notification);
+    method @NonNull public android.app.Notification getNotification();
+    method public int getNotificationId();
+  }
+
+  public final class Session2Command implements android.os.Parcelable {
+    ctor public Session2Command(int);
+    ctor public Session2Command(@NonNull String, @Nullable android.os.Bundle);
+    method public int describeContents();
+    method public int getCommandCode();
+    method @Nullable public String getCustomAction();
+    method @Nullable public android.os.Bundle getCustomExtras();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int COMMAND_CODE_CUSTOM = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Command> CREATOR;
+  }
+
+  public static final class Session2Command.Result {
+    ctor public Session2Command.Result(int, @Nullable android.os.Bundle);
+    method public int getResultCode();
+    method @Nullable public android.os.Bundle getResultData();
+    field public static final int RESULT_ERROR_UNKNOWN_ERROR = -1; // 0xffffffff
+    field public static final int RESULT_INFO_SKIPPED = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+  public final class Session2CommandGroup implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Set<android.media.Session2Command> getCommands();
+    method public boolean hasCommand(@NonNull android.media.Session2Command);
+    method public boolean hasCommand(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2CommandGroup> CREATOR;
+  }
+
+  public static final class Session2CommandGroup.Builder {
+    ctor public Session2CommandGroup.Builder();
+    ctor public Session2CommandGroup.Builder(@NonNull android.media.Session2CommandGroup);
+    method @NonNull public android.media.Session2CommandGroup.Builder addCommand(@NonNull android.media.Session2Command);
+    method @NonNull public android.media.Session2CommandGroup build();
+    method @NonNull public android.media.Session2CommandGroup.Builder removeCommand(@NonNull android.media.Session2Command);
+  }
+
+  public final class Session2Token implements android.os.Parcelable {
+    ctor public Session2Token(@NonNull android.content.Context, @NonNull android.content.ComponentName);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getPackageName();
+    method @Nullable public String getServiceName();
+    method public int getType();
+    method public int getUid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Token> CREATOR;
+    field public static final int TYPE_SESSION = 0; // 0x0
+    field public static final int TYPE_SESSION_SERVICE = 1; // 0x1
+  }
+
+}
+
diff --git a/32/public/api/framework-mediaprovider-removed.txt b/32/public/api/framework-mediaprovider-removed.txt
new file mode 100644
index 0000000..183a7c9
--- /dev/null
+++ b/32/public/api/framework-mediaprovider-removed.txt
@@ -0,0 +1,43 @@
+// Signature format: 2.0
+package android.provider {
+
+  public static interface MediaStore.Audio.AudioColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String ALBUM = "album";
+    field public static final String ARTIST = "artist";
+    field public static final String COMPOSER = "composer";
+    field public static final String DURATION = "duration";
+  }
+
+  public static interface MediaStore.DownloadColumns extends android.provider.MediaStore.MediaColumns {
+    field @Deprecated public static final String DESCRIPTION = "description";
+  }
+
+  public static interface MediaStore.Files.FileColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String TITLE = "title";
+  }
+
+  public static interface MediaStore.Images.ImageColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
+    field public static final String BUCKET_ID = "bucket_id";
+    field public static final String DATE_TAKEN = "datetaken";
+    field public static final String GROUP_ID = "group_id";
+    field public static final String ORIENTATION = "orientation";
+  }
+
+  public static interface MediaStore.MediaColumns extends android.provider.BaseColumns {
+    field @Deprecated public static final String GROUP_ID = "group_id";
+  }
+
+  public static interface MediaStore.Video.VideoColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String ALBUM = "album";
+    field public static final String ARTIST = "artist";
+    field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
+    field public static final String BUCKET_ID = "bucket_id";
+    field public static final String DATE_TAKEN = "datetaken";
+    field public static final String DURATION = "duration";
+    field public static final String GROUP_ID = "group_id";
+    field public static final String RESOLUTION = "resolution";
+  }
+
+}
+
diff --git a/32/public/api/framework-mediaprovider.txt b/32/public/api/framework-mediaprovider.txt
new file mode 100644
index 0000000..0a53fb5
--- /dev/null
+++ b/32/public/api/framework-mediaprovider.txt
@@ -0,0 +1,414 @@
+// Signature format: 2.0
+package android.provider {
+
+  public final class MediaStore {
+    ctor public MediaStore();
+    method public static boolean canManageMedia(@NonNull android.content.Context);
+    method @NonNull public static android.app.PendingIntent createDeleteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>);
+    method @NonNull public static android.app.PendingIntent createFavoriteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>, boolean);
+    method @NonNull public static android.app.PendingIntent createTrashRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>, boolean);
+    method @NonNull public static android.app.PendingIntent createWriteRequest(@NonNull android.content.ContentResolver, @NonNull java.util.Collection<android.net.Uri>);
+    method @Nullable public static android.net.Uri getDocumentUri(@NonNull android.content.Context, @NonNull android.net.Uri);
+    method @NonNull public static java.util.Set<java.lang.String> getExternalVolumeNames(@NonNull android.content.Context);
+    method public static long getGeneration(@NonNull android.content.Context, @NonNull String);
+    method public static android.net.Uri getMediaScannerUri();
+    method @Nullable public static android.net.Uri getMediaUri(@NonNull android.content.Context, @NonNull android.net.Uri);
+    method @NonNull public static android.os.ParcelFileDescriptor getOriginalMediaFormatFileDescriptor(@NonNull android.content.Context, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+    method @NonNull public static java.util.Set<java.lang.String> getRecentExternalVolumeNames(@NonNull android.content.Context);
+    method @Nullable public static android.net.Uri getRedactedUri(@NonNull android.content.ContentResolver, @NonNull android.net.Uri);
+    method @NonNull public static java.util.List<android.net.Uri> getRedactedUri(@NonNull android.content.ContentResolver, @NonNull java.util.List<android.net.Uri>);
+    method public static boolean getRequireOriginal(@NonNull android.net.Uri);
+    method @NonNull public static String getVersion(@NonNull android.content.Context);
+    method @NonNull public static String getVersion(@NonNull android.content.Context, @NonNull String);
+    method @NonNull public static String getVolumeName(@NonNull android.net.Uri);
+    method public static boolean isCurrentSystemGallery(@NonNull android.content.ContentResolver, int, @NonNull String);
+    method @Deprecated @NonNull public static android.net.Uri setIncludePending(@NonNull android.net.Uri);
+    method @NonNull public static android.net.Uri setRequireOriginal(@NonNull android.net.Uri);
+    field public static final String ACTION_IMAGE_CAPTURE = "android.media.action.IMAGE_CAPTURE";
+    field public static final String ACTION_IMAGE_CAPTURE_SECURE = "android.media.action.IMAGE_CAPTURE_SECURE";
+    field public static final String ACTION_REVIEW = "android.provider.action.REVIEW";
+    field public static final String ACTION_REVIEW_SECURE = "android.provider.action.REVIEW_SECURE";
+    field public static final String ACTION_VIDEO_CAPTURE = "android.media.action.VIDEO_CAPTURE";
+    field public static final String AUTHORITY = "media";
+    field @NonNull public static final android.net.Uri AUTHORITY_URI;
+    field public static final String EXTRA_ACCEPT_ORIGINAL_MEDIA_FORMAT = "android.provider.extra.ACCEPT_ORIGINAL_MEDIA_FORMAT";
+    field public static final String EXTRA_BRIGHTNESS = "android.provider.extra.BRIGHTNESS";
+    field public static final String EXTRA_DURATION_LIMIT = "android.intent.extra.durationLimit";
+    field public static final String EXTRA_FINISH_ON_COMPLETION = "android.intent.extra.finishOnCompletion";
+    field public static final String EXTRA_FULL_SCREEN = "android.intent.extra.fullScreen";
+    field public static final String EXTRA_MEDIA_ALBUM = "android.intent.extra.album";
+    field public static final String EXTRA_MEDIA_ARTIST = "android.intent.extra.artist";
+    field public static final String EXTRA_MEDIA_CAPABILITIES = "android.provider.extra.MEDIA_CAPABILITIES";
+    field public static final String EXTRA_MEDIA_CAPABILITIES_UID = "android.provider.extra.MEDIA_CAPABILITIES_UID";
+    field public static final String EXTRA_MEDIA_FOCUS = "android.intent.extra.focus";
+    field public static final String EXTRA_MEDIA_GENRE = "android.intent.extra.genre";
+    field @Deprecated public static final String EXTRA_MEDIA_PLAYLIST = "android.intent.extra.playlist";
+    field public static final String EXTRA_MEDIA_RADIO_CHANNEL = "android.intent.extra.radio_channel";
+    field public static final String EXTRA_MEDIA_TITLE = "android.intent.extra.title";
+    field public static final String EXTRA_OUTPUT = "output";
+    field public static final String EXTRA_SCREEN_ORIENTATION = "android.intent.extra.screenOrientation";
+    field public static final String EXTRA_SHOW_ACTION_ICONS = "android.intent.extra.showActionIcons";
+    field public static final String EXTRA_SIZE_LIMIT = "android.intent.extra.sizeLimit";
+    field public static final String EXTRA_VIDEO_QUALITY = "android.intent.extra.videoQuality";
+    field public static final String INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH = "android.media.action.MEDIA_PLAY_FROM_SEARCH";
+    field public static final String INTENT_ACTION_MEDIA_SEARCH = "android.intent.action.MEDIA_SEARCH";
+    field @Deprecated public static final String INTENT_ACTION_MUSIC_PLAYER = "android.intent.action.MUSIC_PLAYER";
+    field public static final String INTENT_ACTION_STILL_IMAGE_CAMERA = "android.media.action.STILL_IMAGE_CAMERA";
+    field public static final String INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE = "android.media.action.STILL_IMAGE_CAMERA_SECURE";
+    field public static final String INTENT_ACTION_TEXT_OPEN_FROM_SEARCH = "android.media.action.TEXT_OPEN_FROM_SEARCH";
+    field public static final String INTENT_ACTION_VIDEO_CAMERA = "android.media.action.VIDEO_CAMERA";
+    field public static final String INTENT_ACTION_VIDEO_PLAY_FROM_SEARCH = "android.media.action.VIDEO_PLAY_FROM_SEARCH";
+    field public static final int MATCH_DEFAULT = 0; // 0x0
+    field public static final int MATCH_EXCLUDE = 2; // 0x2
+    field public static final int MATCH_INCLUDE = 1; // 0x1
+    field public static final int MATCH_ONLY = 3; // 0x3
+    field public static final String MEDIA_IGNORE_FILENAME = ".nomedia";
+    field public static final String MEDIA_SCANNER_VOLUME = "volume";
+    field public static final String META_DATA_REVIEW_GALLERY_PREWARM_SERVICE = "android.media.review_gallery_prewarm_service";
+    field public static final String META_DATA_STILL_IMAGE_CAMERA_PREWARM_SERVICE = "android.media.still_image_camera_preview_service";
+    field public static final String QUERY_ARG_INCLUDE_RECENTLY_UNMOUNTED_VOLUMES = "android:query-arg-recently-unmounted-volumes";
+    field public static final String QUERY_ARG_MATCH_FAVORITE = "android:query-arg-match-favorite";
+    field public static final String QUERY_ARG_MATCH_PENDING = "android:query-arg-match-pending";
+    field public static final String QUERY_ARG_MATCH_TRASHED = "android:query-arg-match-trashed";
+    field public static final String QUERY_ARG_RELATED_URI = "android:query-arg-related-uri";
+    field public static final String UNKNOWN_STRING = "<unknown>";
+    field public static final String VOLUME_EXTERNAL = "external";
+    field public static final String VOLUME_EXTERNAL_PRIMARY = "external_primary";
+    field public static final String VOLUME_INTERNAL = "internal";
+  }
+
+  public static final class MediaStore.Audio {
+    ctor public MediaStore.Audio();
+    method @Deprecated @Nullable public static String keyFor(@Nullable String);
+  }
+
+  public static interface MediaStore.Audio.AlbumColumns {
+    field public static final String ALBUM = "album";
+    field @Deprecated public static final String ALBUM_ART = "album_art";
+    field public static final String ALBUM_ID = "album_id";
+    field @Deprecated public static final String ALBUM_KEY = "album_key";
+    field public static final String ARTIST = "artist";
+    field public static final String ARTIST_ID = "artist_id";
+    field @Deprecated public static final String ARTIST_KEY = "artist_key";
+    field public static final String FIRST_YEAR = "minyear";
+    field public static final String LAST_YEAR = "maxyear";
+    field public static final String NUMBER_OF_SONGS = "numsongs";
+    field public static final String NUMBER_OF_SONGS_FOR_ARTIST = "numsongs_by_artist";
+  }
+
+  public static final class MediaStore.Audio.Albums implements android.provider.BaseColumns android.provider.MediaStore.Audio.AlbumColumns {
+    ctor public MediaStore.Audio.Albums();
+    method public static android.net.Uri getContentUri(String);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/albums";
+    field public static final String DEFAULT_SORT_ORDER = "album_key";
+    field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/album";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  public static interface MediaStore.Audio.ArtistColumns {
+    field public static final String ARTIST = "artist";
+    field @Deprecated public static final String ARTIST_KEY = "artist_key";
+    field public static final String NUMBER_OF_ALBUMS = "number_of_albums";
+    field public static final String NUMBER_OF_TRACKS = "number_of_tracks";
+  }
+
+  public static final class MediaStore.Audio.Artists implements android.provider.BaseColumns android.provider.MediaStore.Audio.ArtistColumns {
+    ctor public MediaStore.Audio.Artists();
+    method public static android.net.Uri getContentUri(String);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/artists";
+    field public static final String DEFAULT_SORT_ORDER = "artist_key";
+    field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/artist";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  public static final class MediaStore.Audio.Artists.Albums implements android.provider.BaseColumns android.provider.MediaStore.Audio.AlbumColumns {
+    ctor public MediaStore.Audio.Artists.Albums();
+    method public static android.net.Uri getContentUri(String, long);
+  }
+
+  public static interface MediaStore.Audio.AudioColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String ALBUM_ID = "album_id";
+    field @Deprecated public static final String ALBUM_KEY = "album_key";
+    field public static final String ARTIST_ID = "artist_id";
+    field @Deprecated public static final String ARTIST_KEY = "artist_key";
+    field public static final String BOOKMARK = "bookmark";
+    field public static final String GENRE = "genre";
+    field public static final String GENRE_ID = "genre_id";
+    field @Deprecated public static final String GENRE_KEY = "genre_key";
+    field public static final String IS_ALARM = "is_alarm";
+    field public static final String IS_AUDIOBOOK = "is_audiobook";
+    field public static final String IS_MUSIC = "is_music";
+    field public static final String IS_NOTIFICATION = "is_notification";
+    field public static final String IS_PODCAST = "is_podcast";
+    field public static final String IS_RECORDING = "is_recording";
+    field public static final String IS_RINGTONE = "is_ringtone";
+    field @Deprecated public static final String TITLE_KEY = "title_key";
+    field public static final String TITLE_RESOURCE_URI = "title_resource_uri";
+    field public static final String TRACK = "track";
+    field public static final String YEAR = "year";
+  }
+
+  public static final class MediaStore.Audio.Genres implements android.provider.BaseColumns android.provider.MediaStore.Audio.GenresColumns {
+    ctor public MediaStore.Audio.Genres();
+    method public static android.net.Uri getContentUri(String);
+    method public static android.net.Uri getContentUriForAudioId(String, int);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/genre";
+    field public static final String DEFAULT_SORT_ORDER = "name";
+    field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/genre";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  public static final class MediaStore.Audio.Genres.Members implements android.provider.MediaStore.Audio.AudioColumns {
+    ctor public MediaStore.Audio.Genres.Members();
+    method public static android.net.Uri getContentUri(String, long);
+    field public static final String AUDIO_ID = "audio_id";
+    field public static final String CONTENT_DIRECTORY = "members";
+    field public static final String DEFAULT_SORT_ORDER = "title_key";
+    field public static final String GENRE_ID = "genre_id";
+  }
+
+  public static interface MediaStore.Audio.GenresColumns {
+    field public static final String NAME = "name";
+  }
+
+  public static final class MediaStore.Audio.Media implements android.provider.MediaStore.Audio.AudioColumns {
+    ctor public MediaStore.Audio.Media();
+    method public static android.net.Uri getContentUri(String);
+    method @NonNull public static android.net.Uri getContentUri(@NonNull String, long);
+    method @Deprecated @Nullable public static android.net.Uri getContentUriForPath(@NonNull String);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/audio";
+    field public static final String DEFAULT_SORT_ORDER = "title_key";
+    field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/audio";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final String EXTRA_MAX_BYTES = "android.provider.MediaStore.extra.MAX_BYTES";
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+    field public static final String RECORD_SOUND_ACTION = "android.provider.MediaStore.RECORD_SOUND";
+  }
+
+  @Deprecated public static final class MediaStore.Audio.Playlists implements android.provider.BaseColumns android.provider.MediaStore.Audio.PlaylistsColumns {
+    ctor @Deprecated public MediaStore.Audio.Playlists();
+    method @Deprecated public static android.net.Uri getContentUri(String);
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/playlist";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "name";
+    field @Deprecated public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/playlist";
+    field @Deprecated public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field @Deprecated public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  @Deprecated public static final class MediaStore.Audio.Playlists.Members implements android.provider.MediaStore.Audio.AudioColumns {
+    ctor @Deprecated public MediaStore.Audio.Playlists.Members();
+    method @Deprecated public static android.net.Uri getContentUri(String, long);
+    method @Deprecated public static boolean moveItem(android.content.ContentResolver, long, int, int);
+    field @Deprecated public static final String AUDIO_ID = "audio_id";
+    field @Deprecated public static final String CONTENT_DIRECTORY = "members";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "play_order";
+    field @Deprecated public static final String PLAYLIST_ID = "playlist_id";
+    field @Deprecated public static final String PLAY_ORDER = "play_order";
+    field @Deprecated public static final String _ID = "_id";
+  }
+
+  @Deprecated public static interface MediaStore.Audio.PlaylistsColumns extends android.provider.MediaStore.MediaColumns {
+    field @Deprecated public static final String DATA = "_data";
+    field @Deprecated public static final String DATE_ADDED = "date_added";
+    field @Deprecated public static final String DATE_MODIFIED = "date_modified";
+    field @Deprecated public static final String NAME = "name";
+  }
+
+  public static final class MediaStore.Audio.Radio {
+    field public static final String ENTRY_CONTENT_TYPE = "vnd.android.cursor.item/radio";
+  }
+
+  public static interface MediaStore.DownloadColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String DOWNLOAD_URI = "download_uri";
+    field public static final String REFERER_URI = "referer_uri";
+  }
+
+  public static final class MediaStore.Downloads implements android.provider.MediaStore.DownloadColumns {
+    method @NonNull public static android.net.Uri getContentUri(@NonNull String);
+    method @NonNull public static android.net.Uri getContentUri(@NonNull String, long);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/download";
+    field @NonNull public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field @NonNull public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  public static final class MediaStore.Files {
+    ctor public MediaStore.Files();
+    method public static android.net.Uri getContentUri(String);
+    method public static android.net.Uri getContentUri(String, long);
+  }
+
+  public static interface MediaStore.Files.FileColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String MEDIA_TYPE = "media_type";
+    field public static final int MEDIA_TYPE_AUDIO = 2; // 0x2
+    field public static final int MEDIA_TYPE_DOCUMENT = 6; // 0x6
+    field public static final int MEDIA_TYPE_IMAGE = 1; // 0x1
+    field public static final int MEDIA_TYPE_NONE = 0; // 0x0
+    field @Deprecated public static final int MEDIA_TYPE_PLAYLIST = 4; // 0x4
+    field public static final int MEDIA_TYPE_SUBTITLE = 5; // 0x5
+    field public static final int MEDIA_TYPE_VIDEO = 3; // 0x3
+    field public static final String MIME_TYPE = "mime_type";
+    field public static final String PARENT = "parent";
+  }
+
+  public static final class MediaStore.Images {
+    ctor public MediaStore.Images();
+  }
+
+  public static interface MediaStore.Images.ImageColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String DESCRIPTION = "description";
+    field public static final String EXPOSURE_TIME = "exposure_time";
+    field public static final String F_NUMBER = "f_number";
+    field public static final String ISO = "iso";
+    field public static final String IS_PRIVATE = "isprivate";
+    field @Deprecated public static final String LATITUDE = "latitude";
+    field @Deprecated public static final String LONGITUDE = "longitude";
+    field @Deprecated public static final String MINI_THUMB_MAGIC = "mini_thumb_magic";
+    field @Deprecated public static final String PICASA_ID = "picasa_id";
+    field public static final String SCENE_CAPTURE_TYPE = "scene_capture_type";
+  }
+
+  public static final class MediaStore.Images.Media implements android.provider.MediaStore.Images.ImageColumns {
+    ctor public MediaStore.Images.Media();
+    method @Deprecated public static android.graphics.Bitmap getBitmap(android.content.ContentResolver, android.net.Uri) throws java.io.FileNotFoundException, java.io.IOException;
+    method public static android.net.Uri getContentUri(String);
+    method @NonNull public static android.net.Uri getContentUri(@NonNull String, long);
+    method @Deprecated public static String insertImage(android.content.ContentResolver, String, String, String) throws java.io.FileNotFoundException;
+    method @Deprecated public static String insertImage(android.content.ContentResolver, android.graphics.Bitmap, String, String);
+    method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]);
+    method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[], String, String);
+    method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[], String, String[], String);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/image";
+    field public static final String DEFAULT_SORT_ORDER = "bucket_display_name";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  @Deprecated public static class MediaStore.Images.Thumbnails implements android.provider.BaseColumns {
+    ctor @Deprecated public MediaStore.Images.Thumbnails();
+    method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long);
+    method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long, long);
+    method @Deprecated public static android.net.Uri getContentUri(String);
+    method @Deprecated @NonNull public static android.util.Size getKindSize(int);
+    method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, int, android.graphics.BitmapFactory.Options);
+    method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options);
+    method @Deprecated public static final android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]);
+    method @Deprecated public static final android.database.Cursor queryMiniThumbnail(android.content.ContentResolver, long, int, String[]);
+    method @Deprecated public static final android.database.Cursor queryMiniThumbnails(android.content.ContentResolver, android.net.Uri, int, String[]);
+    field @Deprecated public static final String DATA = "_data";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "image_id ASC";
+    field @Deprecated public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field @Deprecated public static final int FULL_SCREEN_KIND = 2; // 0x2
+    field @Deprecated public static final String HEIGHT = "height";
+    field @Deprecated public static final String IMAGE_ID = "image_id";
+    field @Deprecated public static final android.net.Uri INTERNAL_CONTENT_URI;
+    field @Deprecated public static final String KIND = "kind";
+    field @Deprecated public static final int MICRO_KIND = 3; // 0x3
+    field @Deprecated public static final int MINI_KIND = 1; // 0x1
+    field @Deprecated public static final String THUMB_DATA = "thumb_data";
+    field @Deprecated public static final String WIDTH = "width";
+  }
+
+  public static interface MediaStore.MediaColumns extends android.provider.BaseColumns {
+    field public static final String ALBUM = "album";
+    field public static final String ALBUM_ARTIST = "album_artist";
+    field public static final String ARTIST = "artist";
+    field public static final String AUTHOR = "author";
+    field public static final String BITRATE = "bitrate";
+    field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
+    field public static final String BUCKET_ID = "bucket_id";
+    field public static final String CAPTURE_FRAMERATE = "capture_framerate";
+    field public static final String CD_TRACK_NUMBER = "cd_track_number";
+    field public static final String COMPILATION = "compilation";
+    field public static final String COMPOSER = "composer";
+    field public static final String DATA = "_data";
+    field public static final String DATE_ADDED = "date_added";
+    field public static final String DATE_EXPIRES = "date_expires";
+    field public static final String DATE_MODIFIED = "date_modified";
+    field public static final String DATE_TAKEN = "datetaken";
+    field public static final String DISC_NUMBER = "disc_number";
+    field public static final String DISPLAY_NAME = "_display_name";
+    field public static final String DOCUMENT_ID = "document_id";
+    field public static final String DURATION = "duration";
+    field public static final String GENERATION_ADDED = "generation_added";
+    field public static final String GENERATION_MODIFIED = "generation_modified";
+    field public static final String GENRE = "genre";
+    field public static final String HEIGHT = "height";
+    field public static final String INSTANCE_ID = "instance_id";
+    field public static final String IS_DOWNLOAD = "is_download";
+    field public static final String IS_DRM = "is_drm";
+    field public static final String IS_FAVORITE = "is_favorite";
+    field public static final String IS_PENDING = "is_pending";
+    field public static final String IS_TRASHED = "is_trashed";
+    field public static final String MIME_TYPE = "mime_type";
+    field public static final String NUM_TRACKS = "num_tracks";
+    field public static final String ORIENTATION = "orientation";
+    field public static final String ORIGINAL_DOCUMENT_ID = "original_document_id";
+    field public static final String OWNER_PACKAGE_NAME = "owner_package_name";
+    field public static final String RELATIVE_PATH = "relative_path";
+    field public static final String RESOLUTION = "resolution";
+    field public static final String SIZE = "_size";
+    field public static final String TITLE = "title";
+    field public static final String VOLUME_NAME = "volume_name";
+    field public static final String WIDTH = "width";
+    field public static final String WRITER = "writer";
+    field public static final String XMP = "xmp";
+    field public static final String YEAR = "year";
+  }
+
+  public static final class MediaStore.Video {
+    ctor public MediaStore.Video();
+    method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]);
+    field public static final String DEFAULT_SORT_ORDER = "_display_name";
+  }
+
+  public static final class MediaStore.Video.Media implements android.provider.MediaStore.Video.VideoColumns {
+    ctor public MediaStore.Video.Media();
+    method public static android.net.Uri getContentUri(String);
+    method @NonNull public static android.net.Uri getContentUri(@NonNull String, long);
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/video";
+    field public static final String DEFAULT_SORT_ORDER = "title";
+    field public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field public static final android.net.Uri INTERNAL_CONTENT_URI;
+  }
+
+  @Deprecated public static class MediaStore.Video.Thumbnails implements android.provider.BaseColumns {
+    ctor @Deprecated public MediaStore.Video.Thumbnails();
+    method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long);
+    method @Deprecated public static void cancelThumbnailRequest(android.content.ContentResolver, long, long);
+    method @Deprecated public static android.net.Uri getContentUri(String);
+    method @Deprecated @NonNull public static android.util.Size getKindSize(int);
+    method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, int, android.graphics.BitmapFactory.Options);
+    method @Deprecated public static android.graphics.Bitmap getThumbnail(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options);
+    field @Deprecated public static final String DATA = "_data";
+    field @Deprecated public static final String DEFAULT_SORT_ORDER = "video_id ASC";
+    field @Deprecated public static final android.net.Uri EXTERNAL_CONTENT_URI;
+    field @Deprecated public static final int FULL_SCREEN_KIND = 2; // 0x2
+    field @Deprecated public static final String HEIGHT = "height";
+    field @Deprecated public static final android.net.Uri INTERNAL_CONTENT_URI;
+    field @Deprecated public static final String KIND = "kind";
+    field @Deprecated public static final int MICRO_KIND = 3; // 0x3
+    field @Deprecated public static final int MINI_KIND = 1; // 0x1
+    field @Deprecated public static final String VIDEO_ID = "video_id";
+    field @Deprecated public static final String WIDTH = "width";
+  }
+
+  public static interface MediaStore.Video.VideoColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String BOOKMARK = "bookmark";
+    field public static final String CATEGORY = "category";
+    field public static final String COLOR_RANGE = "color_range";
+    field public static final String COLOR_STANDARD = "color_standard";
+    field public static final String COLOR_TRANSFER = "color_transfer";
+    field public static final String DESCRIPTION = "description";
+    field public static final String IS_PRIVATE = "isprivate";
+    field public static final String LANGUAGE = "language";
+    field @Deprecated public static final String LATITUDE = "latitude";
+    field @Deprecated public static final String LONGITUDE = "longitude";
+    field @Deprecated public static final String MINI_THUMB_MAGIC = "mini_thumb_magic";
+    field public static final String TAGS = "tags";
+  }
+
+}
+
diff --git a/32/public/api/framework-permission-removed.txt b/32/public/api/framework-permission-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-permission-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-permission-s-removed.txt b/32/public/api/framework-permission-s-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-permission-s-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-permission-s.txt b/32/public/api/framework-permission-s.txt
new file mode 100644
index 0000000..4ecc989
--- /dev/null
+++ b/32/public/api/framework-permission-s.txt
@@ -0,0 +1,19 @@
+// Signature format: 2.0
+package android.app.role {
+
+  public final class RoleManager {
+    method @NonNull public android.content.Intent createRequestRoleIntent(@NonNull String);
+    method public boolean isRoleAvailable(@NonNull String);
+    method public boolean isRoleHeld(@NonNull String);
+    field public static final String ROLE_ASSISTANT = "android.app.role.ASSISTANT";
+    field public static final String ROLE_BROWSER = "android.app.role.BROWSER";
+    field public static final String ROLE_CALL_REDIRECTION = "android.app.role.CALL_REDIRECTION";
+    field public static final String ROLE_CALL_SCREENING = "android.app.role.CALL_SCREENING";
+    field public static final String ROLE_DIALER = "android.app.role.DIALER";
+    field public static final String ROLE_EMERGENCY = "android.app.role.EMERGENCY";
+    field public static final String ROLE_HOME = "android.app.role.HOME";
+    field public static final String ROLE_SMS = "android.app.role.SMS";
+  }
+
+}
+
diff --git a/32/public/api/framework-permission.txt b/32/public/api/framework-permission.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-permission.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-scheduling-removed.txt b/32/public/api/framework-scheduling-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-scheduling-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-scheduling.txt b/32/public/api/framework-scheduling.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-scheduling.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-sdkextensions-removed.txt b/32/public/api/framework-sdkextensions-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-sdkextensions-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-sdkextensions.txt b/32/public/api/framework-sdkextensions.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-sdkextensions.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-statsd-removed.txt b/32/public/api/framework-statsd-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-statsd-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-statsd.txt b/32/public/api/framework-statsd.txt
new file mode 100644
index 0000000..a655693
--- /dev/null
+++ b/32/public/api/framework-statsd.txt
@@ -0,0 +1,12 @@
+// Signature format: 2.0
+package android.util {
+
+  public final class StatsLog {
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public static boolean logBinaryPushStateChanged(@NonNull String, long, int, int, @NonNull long[]);
+    method public static boolean logEvent(int);
+    method public static boolean logStart(int);
+    method public static boolean logStop(int);
+  }
+
+}
+
diff --git a/32/public/api/framework-tethering-removed.txt b/32/public/api/framework-tethering-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-tethering-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-tethering.txt b/32/public/api/framework-tethering.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-tethering.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-wifi-removed.txt b/32/public/api/framework-wifi-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/framework-wifi-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/framework-wifi.txt b/32/public/api/framework-wifi.txt
new file mode 100644
index 0000000..c5d9c2f
--- /dev/null
+++ b/32/public/api/framework-wifi.txt
@@ -0,0 +1,1370 @@
+// Signature format: 2.0
+package android.net.wifi {
+
+  public abstract class EasyConnectStatusCallback {
+    field public static final int EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION = -2; // 0xfffffffe
+    field public static final int EASY_CONNECT_EVENT_FAILURE_BUSY = -5; // 0xfffffffb
+    field public static final int EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK = -10; // 0xfffffff6
+    field public static final int EASY_CONNECT_EVENT_FAILURE_CONFIGURATION = -4; // 0xfffffffc
+    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION = -11; // 0xfffffff5
+    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_FAILED_TO_SCAN_NETWORK_CHANNEL = -14; // 0xfffffff2
+    field public static final int EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION = -12; // 0xfffffff4
+    field public static final int EASY_CONNECT_EVENT_FAILURE_GENERIC = -7; // 0xfffffff9
+    field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK = -9; // 0xfffffff7
+    field public static final int EASY_CONNECT_EVENT_FAILURE_INVALID_URI = -1; // 0xffffffff
+    field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE = -3; // 0xfffffffd
+    field public static final int EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED = -8; // 0xfffffff8
+    field public static final int EASY_CONNECT_EVENT_FAILURE_TIMEOUT = -6; // 0xfffffffa
+    field public static final int EASY_CONNECT_EVENT_FAILURE_URI_GENERATION = -13; // 0xfffffff3
+  }
+
+  public final class ScanResult implements android.os.Parcelable {
+    ctor public ScanResult(@NonNull android.net.wifi.ScanResult);
+    ctor public ScanResult();
+    method public static int convertChannelToFrequencyMhzIfSupported(int, int);
+    method public static int convertFrequencyMhzToChannelIfSupported(int);
+    method public int describeContents();
+    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
+    method public int getWifiStandard();
+    method public boolean is80211mcResponder();
+    method public boolean isPasspointNetwork();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public String BSSID;
+    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
+    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
+    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
+    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
+    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult> CREATOR;
+    field public String SSID;
+    field public static final int UNSPECIFIED = -1; // 0xffffffff
+    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
+    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
+    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
+    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
+    field public static final int WIFI_STANDARD_11AC = 5; // 0x5
+    field public static final int WIFI_STANDARD_11AD = 7; // 0x7
+    field public static final int WIFI_STANDARD_11AX = 6; // 0x6
+    field public static final int WIFI_STANDARD_11N = 4; // 0x4
+    field public static final int WIFI_STANDARD_LEGACY = 1; // 0x1
+    field public static final int WIFI_STANDARD_UNKNOWN = 0; // 0x0
+    field public String capabilities;
+    field public int centerFreq0;
+    field public int centerFreq1;
+    field public int channelWidth;
+    field public int frequency;
+    field public int level;
+    field @Deprecated public CharSequence operatorFriendlyName;
+    field public long timestamp;
+    field @Deprecated public CharSequence venueName;
+  }
+
+  public static class ScanResult.InformationElement implements android.os.Parcelable {
+    ctor public ScanResult.InformationElement(@NonNull android.net.wifi.ScanResult.InformationElement);
+    method public int describeContents();
+    method @NonNull public java.nio.ByteBuffer getBytes();
+    method public int getId();
+    method public int getIdExt();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.ScanResult.InformationElement> CREATOR;
+  }
+
+  public final class SoftApConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.net.MacAddress getBssid();
+    method @Nullable public String getPassphrase();
+    method public int getSecurityType();
+    method @Nullable public String getSsid();
+    method public boolean isHiddenSsid();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApConfiguration> CREATOR;
+    field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
+    field public static final int SECURITY_TYPE_WPA2_PSK = 1; // 0x1
+    field public static final int SECURITY_TYPE_WPA3_SAE = 3; // 0x3
+    field public static final int SECURITY_TYPE_WPA3_SAE_TRANSITION = 2; // 0x2
+  }
+
+  public enum SupplicantState implements android.os.Parcelable {
+    method public int describeContents();
+    method public static boolean isValidState(android.net.wifi.SupplicantState);
+    method public void writeToParcel(android.os.Parcel, int);
+    enum_constant public static final android.net.wifi.SupplicantState ASSOCIATED;
+    enum_constant public static final android.net.wifi.SupplicantState ASSOCIATING;
+    enum_constant public static final android.net.wifi.SupplicantState AUTHENTICATING;
+    enum_constant public static final android.net.wifi.SupplicantState COMPLETED;
+    enum_constant public static final android.net.wifi.SupplicantState DISCONNECTED;
+    enum_constant public static final android.net.wifi.SupplicantState DORMANT;
+    enum_constant public static final android.net.wifi.SupplicantState FOUR_WAY_HANDSHAKE;
+    enum_constant public static final android.net.wifi.SupplicantState GROUP_HANDSHAKE;
+    enum_constant public static final android.net.wifi.SupplicantState INACTIVE;
+    enum_constant public static final android.net.wifi.SupplicantState INTERFACE_DISABLED;
+    enum_constant public static final android.net.wifi.SupplicantState INVALID;
+    enum_constant public static final android.net.wifi.SupplicantState SCANNING;
+    enum_constant public static final android.net.wifi.SupplicantState UNINITIALIZED;
+  }
+
+  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
+    ctor @Deprecated public WifiConfiguration();
+    ctor @Deprecated public WifiConfiguration(@NonNull android.net.wifi.WifiConfiguration);
+    method public int describeContents();
+    method @Deprecated public android.net.ProxyInfo getHttpProxy();
+    method @Deprecated @NonNull public String getKey();
+    method @Deprecated @NonNull public android.net.MacAddress getRandomizedMacAddress();
+    method @Deprecated public boolean isPasspoint();
+    method @Deprecated public void setHttpProxy(android.net.ProxyInfo);
+    method @Deprecated public void setSecurityParams(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public String BSSID;
+    field @Deprecated public String FQDN;
+    field @Deprecated public static final int SECURITY_TYPE_EAP = 3; // 0x3
+    field @Deprecated public static final int SECURITY_TYPE_EAP_SUITE_B = 5; // 0x5
+    field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
+    field @Deprecated public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
+    field @Deprecated public static final int SECURITY_TYPE_OPEN = 0; // 0x0
+    field @Deprecated public static final int SECURITY_TYPE_OWE = 6; // 0x6
+    field @Deprecated public static final int SECURITY_TYPE_PSK = 2; // 0x2
+    field @Deprecated public static final int SECURITY_TYPE_SAE = 4; // 0x4
+    field @Deprecated public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
+    field @Deprecated public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
+    field @Deprecated public static final int SECURITY_TYPE_WEP = 1; // 0x1
+    field @Deprecated public String SSID;
+    field @Deprecated @NonNull public java.util.BitSet allowedAuthAlgorithms;
+    field @Deprecated @NonNull public java.util.BitSet allowedGroupCiphers;
+    field @Deprecated @NonNull public java.util.BitSet allowedGroupManagementCiphers;
+    field @Deprecated @NonNull public java.util.BitSet allowedKeyManagement;
+    field @Deprecated @NonNull public java.util.BitSet allowedPairwiseCiphers;
+    field @Deprecated @NonNull public java.util.BitSet allowedProtocols;
+    field @Deprecated @NonNull public java.util.BitSet allowedSuiteBCiphers;
+    field @Deprecated public android.net.wifi.WifiEnterpriseConfig enterpriseConfig;
+    field @Deprecated public boolean hiddenSSID;
+    field @Deprecated public boolean isHomeProviderNetwork;
+    field @Deprecated public int networkId;
+    field @Deprecated public String preSharedKey;
+    field @Deprecated public int priority;
+    field @Deprecated public String providerFriendlyName;
+    field @Deprecated public long[] roamingConsortiumIds;
+    field @Deprecated public int status;
+    field @Deprecated public String[] wepKeys;
+    field @Deprecated public int wepTxKeyIndex;
+  }
+
+  @Deprecated public static class WifiConfiguration.AuthAlgorithm {
+    field @Deprecated public static final int LEAP = 2; // 0x2
+    field @Deprecated public static final int OPEN = 0; // 0x0
+    field @Deprecated public static final int SAE = 3; // 0x3
+    field @Deprecated public static final int SHARED = 1; // 0x1
+    field @Deprecated public static final String[] strings;
+    field @Deprecated public static final String varName = "auth_alg";
+  }
+
+  @Deprecated public static class WifiConfiguration.GroupCipher {
+    field @Deprecated public static final int CCMP = 3; // 0x3
+    field @Deprecated public static final int GCMP_128 = 7; // 0x7
+    field @Deprecated public static final int GCMP_256 = 5; // 0x5
+    field @Deprecated public static final int SMS4 = 6; // 0x6
+    field @Deprecated public static final int TKIP = 2; // 0x2
+    field @Deprecated public static final int WEP104 = 1; // 0x1
+    field @Deprecated public static final int WEP40 = 0; // 0x0
+    field @Deprecated public static final String[] strings;
+    field @Deprecated public static final String varName = "group";
+  }
+
+  @Deprecated public static class WifiConfiguration.GroupMgmtCipher {
+    field @Deprecated public static final int BIP_CMAC_256 = 0; // 0x0
+    field @Deprecated public static final int BIP_GMAC_128 = 1; // 0x1
+    field @Deprecated public static final int BIP_GMAC_256 = 2; // 0x2
+  }
+
+  @Deprecated public static class WifiConfiguration.KeyMgmt {
+    field @Deprecated public static final int IEEE8021X = 3; // 0x3
+    field @Deprecated public static final int NONE = 0; // 0x0
+    field @Deprecated public static final int OWE = 9; // 0x9
+    field @Deprecated public static final int SAE = 8; // 0x8
+    field @Deprecated public static final int SUITE_B_192 = 10; // 0xa
+    field @Deprecated public static final int WPA_EAP = 2; // 0x2
+    field @Deprecated public static final int WPA_PSK = 1; // 0x1
+    field @Deprecated public static final String[] strings;
+    field @Deprecated public static final String varName = "key_mgmt";
+  }
+
+  @Deprecated public static class WifiConfiguration.PairwiseCipher {
+    field @Deprecated public static final int CCMP = 2; // 0x2
+    field @Deprecated public static final int GCMP_128 = 5; // 0x5
+    field @Deprecated public static final int GCMP_256 = 3; // 0x3
+    field @Deprecated public static final int NONE = 0; // 0x0
+    field @Deprecated public static final int SMS4 = 4; // 0x4
+    field @Deprecated public static final int TKIP = 1; // 0x1
+    field @Deprecated public static final String[] strings;
+    field @Deprecated public static final String varName = "pairwise";
+  }
+
+  @Deprecated public static class WifiConfiguration.Protocol {
+    field @Deprecated public static final int RSN = 1; // 0x1
+    field @Deprecated public static final int WAPI = 3; // 0x3
+    field @Deprecated public static final int WPA = 0; // 0x0
+    field @Deprecated public static final String[] strings;
+    field @Deprecated public static final String varName = "proto";
+  }
+
+  @Deprecated public static class WifiConfiguration.Status {
+    field @Deprecated public static final int CURRENT = 0; // 0x0
+    field @Deprecated public static final int DISABLED = 1; // 0x1
+    field @Deprecated public static final int ENABLED = 2; // 0x2
+    field @Deprecated public static final String[] strings;
+  }
+
+  public class WifiEnterpriseConfig implements android.os.Parcelable {
+    ctor public WifiEnterpriseConfig();
+    ctor public WifiEnterpriseConfig(android.net.wifi.WifiEnterpriseConfig);
+    method public int describeContents();
+    method public String getAltSubjectMatch();
+    method public String getAnonymousIdentity();
+    method @Nullable public java.security.cert.X509Certificate getCaCertificate();
+    method @Nullable public java.security.cert.X509Certificate[] getCaCertificates();
+    method public java.security.cert.X509Certificate getClientCertificate();
+    method @Nullable public java.security.cert.X509Certificate[] getClientCertificateChain();
+    method @Nullable public String getClientKeyPairAlias();
+    method @Nullable public java.security.PrivateKey getClientPrivateKey();
+    method @Nullable public String getDecoratedIdentityPrefix();
+    method public String getDomainSuffixMatch();
+    method public int getEapMethod();
+    method public String getIdentity();
+    method public String getPassword();
+    method public int getPhase2Method();
+    method public String getPlmn();
+    method public String getRealm();
+    method @Deprecated public String getSubjectMatch();
+    method public boolean isAuthenticationSimBased();
+    method public boolean isEapMethodServerCertUsed();
+    method public boolean isServerCertValidationEnabled();
+    method public void setAltSubjectMatch(String);
+    method public void setAnonymousIdentity(String);
+    method public void setCaCertificate(@Nullable java.security.cert.X509Certificate);
+    method public void setCaCertificates(@Nullable java.security.cert.X509Certificate[]);
+    method public void setClientKeyEntry(java.security.PrivateKey, java.security.cert.X509Certificate);
+    method public void setClientKeyEntryWithCertificateChain(java.security.PrivateKey, java.security.cert.X509Certificate[]);
+    method public void setClientKeyPairAlias(@NonNull String);
+    method public void setDecoratedIdentityPrefix(@Nullable String);
+    method public void setDomainSuffixMatch(String);
+    method public void setEapMethod(int);
+    method public void setIdentity(String);
+    method public void setPassword(String);
+    method public void setPhase2Method(int);
+    method public void setPlmn(String);
+    method public void setRealm(String);
+    method @Deprecated public void setSubjectMatch(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR;
+    field public static final String EXTRA_WAPI_AS_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_DATA";
+    field public static final String EXTRA_WAPI_AS_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_AS_CERTIFICATE_NAME";
+    field public static final String EXTRA_WAPI_USER_CERTIFICATE_DATA = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_DATA";
+    field public static final String EXTRA_WAPI_USER_CERTIFICATE_NAME = "android.net.wifi.extra.WAPI_USER_CERTIFICATE_NAME";
+    field public static final String WAPI_AS_CERTIFICATE = "WAPIAS_";
+    field public static final String WAPI_USER_CERTIFICATE = "WAPIUSR_";
+  }
+
+  public static final class WifiEnterpriseConfig.Eap {
+    field public static final int AKA = 5; // 0x5
+    field public static final int AKA_PRIME = 6; // 0x6
+    field public static final int NONE = -1; // 0xffffffff
+    field public static final int PEAP = 0; // 0x0
+    field public static final int PWD = 3; // 0x3
+    field public static final int SIM = 4; // 0x4
+    field public static final int TLS = 1; // 0x1
+    field public static final int TTLS = 2; // 0x2
+    field public static final int UNAUTH_TLS = 7; // 0x7
+    field public static final int WAPI_CERT = 8; // 0x8
+  }
+
+  public static final class WifiEnterpriseConfig.Phase2 {
+    field public static final int AKA = 6; // 0x6
+    field public static final int AKA_PRIME = 7; // 0x7
+    field public static final int GTC = 4; // 0x4
+    field public static final int MSCHAP = 2; // 0x2
+    field public static final int MSCHAPV2 = 3; // 0x3
+    field public static final int NONE = 0; // 0x0
+    field public static final int PAP = 1; // 0x1
+    field public static final int SIM = 5; // 0x5
+  }
+
+  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
+    method public int describeContents();
+    method public String getBSSID();
+    method public int getCurrentSecurityType();
+    method public static android.net.NetworkInfo.DetailedState getDetailedStateOf(android.net.wifi.SupplicantState);
+    method public int getFrequency();
+    method public boolean getHiddenSSID();
+    method @Nullable public java.util.List<android.net.wifi.ScanResult.InformationElement> getInformationElements();
+    method @Deprecated public int getIpAddress();
+    method public int getLinkSpeed();
+    method @RequiresPermission(allOf={android.Manifest.permission.LOCAL_MAC_ADDRESS, android.Manifest.permission.ACCESS_FINE_LOCATION}) public String getMacAddress();
+    method public int getMaxSupportedRxLinkSpeedMbps();
+    method public int getMaxSupportedTxLinkSpeedMbps();
+    method public int getNetworkId();
+    method @Nullable public String getPasspointFqdn();
+    method @Nullable public String getPasspointProviderFriendlyName();
+    method public int getRssi();
+    method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps();
+    method public String getSSID();
+    method public int getSubscriptionId();
+    method public android.net.wifi.SupplicantState getSupplicantState();
+    method @IntRange(from=0xffffffff) public int getTxLinkSpeedMbps();
+    method public int getWifiStandard();
+    method @NonNull public android.net.wifi.WifiInfo makeCopy(long);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final String FREQUENCY_UNITS = "MHz";
+    field public static final String LINK_SPEED_UNITS = "Mbps";
+    field public static final int LINK_SPEED_UNKNOWN = -1; // 0xffffffff
+    field public static final int SECURITY_TYPE_EAP = 3; // 0x3
+    field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE = 9; // 0x9
+    field public static final int SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT = 5; // 0x5
+    field public static final int SECURITY_TYPE_OPEN = 0; // 0x0
+    field public static final int SECURITY_TYPE_OSEN = 10; // 0xa
+    field public static final int SECURITY_TYPE_OWE = 6; // 0x6
+    field public static final int SECURITY_TYPE_PASSPOINT_R1_R2 = 11; // 0xb
+    field public static final int SECURITY_TYPE_PASSPOINT_R3 = 12; // 0xc
+    field public static final int SECURITY_TYPE_PSK = 2; // 0x2
+    field public static final int SECURITY_TYPE_SAE = 4; // 0x4
+    field public static final int SECURITY_TYPE_UNKNOWN = -1; // 0xffffffff
+    field public static final int SECURITY_TYPE_WAPI_CERT = 8; // 0x8
+    field public static final int SECURITY_TYPE_WAPI_PSK = 7; // 0x7
+    field public static final int SECURITY_TYPE_WEP = 1; // 0x1
+  }
+
+  public static final class WifiInfo.Builder {
+    ctor public WifiInfo.Builder();
+    method @NonNull public android.net.wifi.WifiInfo build();
+    method @NonNull public android.net.wifi.WifiInfo.Builder setBssid(@NonNull String);
+    method @NonNull public android.net.wifi.WifiInfo.Builder setCurrentSecurityType(int);
+    method @NonNull public android.net.wifi.WifiInfo.Builder setNetworkId(int);
+    method @NonNull public android.net.wifi.WifiInfo.Builder setRssi(int);
+    method @NonNull public android.net.wifi.WifiInfo.Builder setSsid(@NonNull byte[]);
+  }
+
+  public class WifiManager {
+    method @Deprecated public int addNetwork(android.net.wifi.WifiConfiguration);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING}) public android.net.wifi.WifiManager.AddNetworkResult addNetworkPrivileged(@NonNull android.net.wifi.WifiConfiguration);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int addNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
+    method public void addOrUpdatePasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public void addSuggestionConnectionStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addSuggestionUserApprovalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
+    method @Deprecated public static int calculateSignalLevel(int, int);
+    method @IntRange(from=0) public int calculateSignalLevel(int);
+    method @Deprecated public void cancelWps(android.net.wifi.WifiManager.WpsCallback);
+    method public static int compareSignalLevel(int, int);
+    method public android.net.wifi.WifiManager.MulticastLock createMulticastLock(String);
+    method public android.net.wifi.WifiManager.WifiLock createWifiLock(int, String);
+    method @Deprecated public android.net.wifi.WifiManager.WifiLock createWifiLock(String);
+    method @Deprecated public boolean disableNetwork(int);
+    method @Deprecated public boolean disconnect();
+    method @Deprecated public boolean enableNetwork(int, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_MANAGED_PROVISIONING, android.Manifest.permission.NETWORK_CARRIER_PROVISIONING}) public void flushPasspointAnqpCache();
+    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiConfiguration> getCallerConfiguredNetworks();
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public java.util.List<android.net.wifi.WifiConfiguration> getConfiguredNetworks();
+    method @Deprecated public android.net.wifi.WifiInfo getConnectionInfo();
+    method @Deprecated public android.net.DhcpInfo getDhcpInfo();
+    method public int getMaxNumberOfNetworkSuggestionsPerApp();
+    method @IntRange(from=0) public int getMaxSignalLevel();
+    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public java.util.List<android.net.wifi.WifiNetworkSuggestion> getNetworkSuggestions();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.hotspot2.PasspointConfiguration> getPasspointConfigurations();
+    method public java.util.List<android.net.wifi.ScanResult> getScanResults();
+    method public int getWifiState();
+    method public boolean is24GHzBandSupported();
+    method public boolean is5GHzBandSupported();
+    method public boolean is60GHzBandSupported();
+    method public boolean is6GHzBandSupported();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isAutoWakeupEnabled();
+    method public boolean isBridgedApConcurrencySupported();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isCarrierNetworkOffloadEnabled(int, boolean);
+    method public boolean isDecoratedIdentitySupported();
+    method @Deprecated public boolean isDeviceToApRttSupported();
+    method public boolean isEasyConnectEnrolleeResponderModeSupported();
+    method public boolean isEasyConnectSupported();
+    method public boolean isEnhancedOpenSupported();
+    method public boolean isEnhancedPowerReportingSupported();
+    method public boolean isMakeBeforeBreakWifiSwitchingSupported();
+    method public boolean isP2pSupported();
+    method public boolean isPasspointTermsAndConditionsSupported();
+    method public boolean isPreferredNetworkOffloadSupported();
+    method @Deprecated public boolean isScanAlwaysAvailable();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isScanThrottleEnabled();
+    method public boolean isStaApConcurrencySupported();
+    method public boolean isStaBridgedApConcurrencySupported();
+    method public boolean isStaConcurrencyForLocalOnlyConnectionsSupported();
+    method public boolean isTdlsSupported();
+    method public boolean isWapiSupported();
+    method public boolean isWifiDisplayR2Supported();
+    method public boolean isWifiEnabled();
+    method public boolean isWifiStandardSupported(int);
+    method public boolean isWpa3SaeH2eSupported();
+    method public boolean isWpa3SaePublicKeySupported();
+    method public boolean isWpa3SaeSupported();
+    method public boolean isWpa3SuiteBSupported();
+    method @Deprecated public boolean pingSupplicant();
+    method @Deprecated public boolean reassociate();
+    method @Deprecated public boolean reconnect();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerScanResultsCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ScanResultsCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void registerSubsystemRestartTrackingCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
+    method @Deprecated public boolean removeNetwork(int);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public int removeNetworkSuggestions(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean removeNonCallerConfiguredNetworks();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_CARRIER_PROVISIONING}) public void removePasspointConfiguration(String);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionConnectionStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionConnectionStatusListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeSuggestionUserApprovalStatusListener(@NonNull android.net.wifi.WifiManager.SuggestionUserApprovalStatusListener);
+    method @Deprecated public boolean saveConfiguration();
+    method public void setTdlsEnabled(java.net.InetAddress, boolean);
+    method public void setTdlsEnabledWithMacAddress(String, boolean);
+    method @Deprecated public boolean setWifiEnabled(boolean);
+    method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void startLocalOnlyHotspot(android.net.wifi.WifiManager.LocalOnlyHotspotCallback, @Nullable android.os.Handler);
+    method @Deprecated public boolean startScan();
+    method @Deprecated public void startWps(android.net.wifi.WpsInfo, android.net.wifi.WifiManager.WpsCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterScanResultsCallback(@NonNull android.net.wifi.WifiManager.ScanResultsCallback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void unregisterSubsystemRestartTrackingCallback(@NonNull android.net.wifi.WifiManager.SubsystemRestartTrackingCallback);
+    method @Deprecated public int updateNetwork(android.net.wifi.WifiConfiguration);
+    field public static final String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK";
+    field public static final String ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE = "android.net.wifi.action.REQUEST_SCAN_ALWAYS_AVAILABLE";
+    field public static final String ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION = "android.net.wifi.action.WIFI_NETWORK_SUGGESTION_POST_CONNECTION";
+    field public static final String ACTION_WIFI_SCAN_AVAILABILITY_CHANGED = "android.net.wifi.action.WIFI_SCAN_AVAILABILITY_CHANGED";
+    field @Deprecated public static final int ERROR_AUTHENTICATING = 1; // 0x1
+    field @Deprecated public static final String EXTRA_BSSID = "bssid";
+    field public static final String EXTRA_NETWORK_INFO = "networkInfo";
+    field public static final String EXTRA_NETWORK_SUGGESTION = "android.net.wifi.extra.NETWORK_SUGGESTION";
+    field public static final String EXTRA_NEW_RSSI = "newRssi";
+    field @Deprecated public static final String EXTRA_NEW_STATE = "newState";
+    field public static final String EXTRA_PREVIOUS_WIFI_STATE = "previous_wifi_state";
+    field public static final String EXTRA_RESULTS_UPDATED = "resultsUpdated";
+    field public static final String EXTRA_SCAN_AVAILABLE = "android.net.wifi.extra.SCAN_AVAILABLE";
+    field @Deprecated public static final String EXTRA_SUPPLICANT_CONNECTED = "connected";
+    field @Deprecated public static final String EXTRA_SUPPLICANT_ERROR = "supplicantError";
+    field @Deprecated public static final String EXTRA_WIFI_INFO = "wifiInfo";
+    field public static final String EXTRA_WIFI_STATE = "wifi_state";
+    field public static final String NETWORK_IDS_CHANGED_ACTION = "android.net.wifi.NETWORK_IDS_CHANGED";
+    field public static final String NETWORK_STATE_CHANGED_ACTION = "android.net.wifi.STATE_CHANGE";
+    field public static final String RSSI_CHANGED_ACTION = "android.net.wifi.RSSI_CHANGED";
+    field public static final String SCAN_RESULTS_AVAILABLE_ACTION = "android.net.wifi.SCAN_RESULTS";
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE = 3; // 0x3
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP = 4; // 0x4
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_INVALID = 7; // 0x7
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_NOT_ALLOWED = 6; // 0x6
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED = 2; // 0x2
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL = 1; // 0x1
+    field public static final int STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID = 5; // 0x5
+    field public static final int STATUS_NETWORK_SUGGESTIONS_SUCCESS = 0; // 0x0
+    field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE = 4; // 0x4
+    field public static final int STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER = 2; // 0x2
+    field public static final int STATUS_SUGGESTION_APPROVAL_PENDING = 1; // 0x1
+    field public static final int STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER = 3; // 0x3
+    field public static final int STATUS_SUGGESTION_APPROVAL_UNKNOWN = 0; // 0x0
+    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION = 1; // 0x1
+    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION = 2; // 0x2
+    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING = 3; // 0x3
+    field public static final int STATUS_SUGGESTION_CONNECTION_FAILURE_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final String SUPPLICANT_CONNECTION_CHANGE_ACTION = "android.net.wifi.supplicant.CONNECTION_CHANGE";
+    field @Deprecated public static final String SUPPLICANT_STATE_CHANGED_ACTION = "android.net.wifi.supplicant.STATE_CHANGE";
+    field public static final String UNKNOWN_SSID = "<unknown ssid>";
+    field @Deprecated public static final int WIFI_MODE_FULL = 1; // 0x1
+    field public static final int WIFI_MODE_FULL_HIGH_PERF = 3; // 0x3
+    field public static final int WIFI_MODE_FULL_LOW_LATENCY = 4; // 0x4
+    field @Deprecated public static final int WIFI_MODE_SCAN_ONLY = 2; // 0x2
+    field public static final String WIFI_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_STATE_CHANGED";
+    field public static final int WIFI_STATE_DISABLED = 1; // 0x1
+    field public static final int WIFI_STATE_DISABLING = 0; // 0x0
+    field public static final int WIFI_STATE_ENABLED = 3; // 0x3
+    field public static final int WIFI_STATE_ENABLING = 2; // 0x2
+    field public static final int WIFI_STATE_UNKNOWN = 4; // 0x4
+    field @Deprecated public static final int WPS_AUTH_FAILURE = 6; // 0x6
+    field @Deprecated public static final int WPS_OVERLAP_ERROR = 3; // 0x3
+    field @Deprecated public static final int WPS_TIMED_OUT = 7; // 0x7
+    field @Deprecated public static final int WPS_TKIP_ONLY_PROHIBITED = 5; // 0x5
+    field @Deprecated public static final int WPS_WEP_PROHIBITED = 4; // 0x4
+  }
+
+  public static final class WifiManager.AddNetworkResult implements android.os.Parcelable {
+    ctor public WifiManager.AddNetworkResult(int, int);
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiManager.AddNetworkResult> CREATOR;
+    field public static final int STATUS_ADD_PASSPOINT_FAILURE = 3; // 0x3
+    field public static final int STATUS_ADD_WIFI_CONFIG_FAILURE = 4; // 0x4
+    field public static final int STATUS_FAILURE_UNKNOWN = 1; // 0x1
+    field public static final int STATUS_FAILURE_UPDATE_NETWORK_KEYS = 9; // 0x9
+    field public static final int STATUS_INVALID_CONFIGURATION = 5; // 0x5
+    field public static final int STATUS_INVALID_CONFIGURATION_ENTERPRISE = 10; // 0xa
+    field public static final int STATUS_NO_PERMISSION = 2; // 0x2
+    field public static final int STATUS_NO_PERMISSION_MODIFY_CONFIG = 6; // 0x6
+    field public static final int STATUS_NO_PERMISSION_MODIFY_MAC_RANDOMIZATION = 8; // 0x8
+    field public static final int STATUS_NO_PERMISSION_MODIFY_PROXY_SETTING = 7; // 0x7
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+    field public final int networkId;
+    field public final int statusCode;
+  }
+
+  public static class WifiManager.LocalOnlyHotspotCallback {
+    ctor public WifiManager.LocalOnlyHotspotCallback();
+    method public void onFailed(int);
+    method public void onStarted(android.net.wifi.WifiManager.LocalOnlyHotspotReservation);
+    method public void onStopped();
+    field public static final int ERROR_GENERIC = 2; // 0x2
+    field public static final int ERROR_INCOMPATIBLE_MODE = 3; // 0x3
+    field public static final int ERROR_NO_CHANNEL = 1; // 0x1
+    field public static final int ERROR_TETHERING_DISALLOWED = 4; // 0x4
+  }
+
+  public class WifiManager.LocalOnlyHotspotReservation implements java.lang.AutoCloseable {
+    method public void close();
+    method @NonNull public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
+    method @Deprecated @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration();
+  }
+
+  public class WifiManager.MulticastLock {
+    method public void acquire();
+    method public boolean isHeld();
+    method public void release();
+    method public void setReferenceCounted(boolean);
+  }
+
+  public abstract static class WifiManager.ScanResultsCallback {
+    ctor public WifiManager.ScanResultsCallback();
+    method public abstract void onScanResultsAvailable();
+  }
+
+  public abstract static class WifiManager.SubsystemRestartTrackingCallback {
+    ctor public WifiManager.SubsystemRestartTrackingCallback();
+    method public abstract void onSubsystemRestarted();
+    method public abstract void onSubsystemRestarting();
+  }
+
+  public static interface WifiManager.SuggestionConnectionStatusListener {
+    method public void onConnectionStatus(@NonNull android.net.wifi.WifiNetworkSuggestion, int);
+  }
+
+  public static interface WifiManager.SuggestionUserApprovalStatusListener {
+    method public void onUserApprovalStatusChange(int);
+  }
+
+  public class WifiManager.WifiLock {
+    method public void acquire();
+    method public boolean isHeld();
+    method public void release();
+    method public void setReferenceCounted(boolean);
+    method public void setWorkSource(android.os.WorkSource);
+  }
+
+  @Deprecated public abstract static class WifiManager.WpsCallback {
+    ctor @Deprecated public WifiManager.WpsCallback();
+    method @Deprecated public abstract void onFailed(int);
+    method @Deprecated public abstract void onStarted(String);
+    method @Deprecated public abstract void onSucceeded();
+  }
+
+  public final class WifiNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getBand();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSpecifier> CREATOR;
+  }
+
+  public static final class WifiNetworkSpecifier.Builder {
+    ctor public WifiNetworkSpecifier.Builder();
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier build();
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBand(int);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssid(@NonNull android.net.MacAddress);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssidPattern(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsEnhancedOpen(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsHiddenSsid(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsid(@NonNull String);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsidPattern(@NonNull android.os.PatternMatcher);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2Passphrase(@NonNull String);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @Deprecated @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa3Passphrase(@NonNull String);
+  }
+
+  public final class WifiNetworkSuggestion implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.net.MacAddress getBssid();
+    method @Nullable public android.net.wifi.WifiEnterpriseConfig getEnterpriseConfig();
+    method @Nullable public String getPassphrase();
+    method @Nullable public android.net.wifi.hotspot2.PasspointConfiguration getPasspointConfig();
+    method @IntRange(from=0) public int getPriority();
+    method @IntRange(from=0) public int getPriorityGroup();
+    method @Nullable public String getSsid();
+    method public int getSubscriptionId();
+    method public boolean isAppInteractionRequired();
+    method public boolean isCarrierMerged();
+    method public boolean isCredentialSharedWithUser();
+    method public boolean isEnhancedOpen();
+    method public boolean isHiddenSsid();
+    method public boolean isInitialAutojoinEnabled();
+    method public boolean isMetered();
+    method public boolean isUntrusted();
+    method public boolean isUserInteractionRequired();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion> CREATOR;
+    field public static final int RANDOMIZATION_NON_PERSISTENT = 1; // 0x1
+    field public static final int RANDOMIZATION_PERSISTENT = 0; // 0x0
+  }
+
+  public static final class WifiNetworkSuggestion.Builder {
+    ctor public WifiNetworkSuggestion.Builder();
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion build();
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setBssid(@NonNull android.net.MacAddress);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierMerged(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setCredentialSharedWithUser(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsAppInteractionRequired(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsEnhancedOpen(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsHiddenSsid(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsInitialAutojoinEnabled(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsMetered(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsWpa3SaeH2eOnlyModeEnabled(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setMacRandomizationSetting(int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPasspointConfig(@NonNull android.net.wifi.hotspot2.PasspointConfiguration);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriorityGroup(@IntRange(from=0) int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSubscriptionId(int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setUntrusted(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiEnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWapiPassphrase(@NonNull String);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2Passphrase(@NonNull String);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Enterprise192BitModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @Deprecated @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3EnterpriseStandardModeConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa3Passphrase(@NonNull String);
+  }
+
+  public class WpsInfo implements android.os.Parcelable {
+    ctor public WpsInfo();
+    ctor public WpsInfo(android.net.wifi.WpsInfo);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public String BSSID;
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WpsInfo> CREATOR;
+    field public static final int DISPLAY = 1; // 0x1
+    field public static final int INVALID = 4; // 0x4
+    field public static final int KEYPAD = 2; // 0x2
+    field public static final int LABEL = 3; // 0x3
+    field public static final int PBC = 0; // 0x0
+    field public String pin;
+    field public int setup;
+  }
+
+}
+
+package android.net.wifi.aware {
+
+  public class AttachCallback {
+    ctor public AttachCallback();
+    method public void onAttachFailed();
+    method public void onAttached(android.net.wifi.aware.WifiAwareSession);
+  }
+
+  public final class AwareResources implements android.os.Parcelable {
+    ctor public AwareResources(@IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0) int);
+    method public int describeContents();
+    method @IntRange(from=0) public int getAvailableDataPathsCount();
+    method @IntRange(from=0) public int getAvailablePublishSessionsCount();
+    method @IntRange(from=0) public int getAvailableSubscribeSessionsCount();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareResources> CREATOR;
+  }
+
+  public final class Characteristics implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getMaxMatchFilterLength();
+    method public int getMaxServiceNameLength();
+    method public int getMaxServiceSpecificInfoLength();
+    method public int getSupportedCipherSuites();
+    method public boolean isInstantCommunicationModeSupported();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics> CREATOR;
+    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_128 = 1; // 0x1
+    field public static final int WIFI_AWARE_CIPHER_SUITE_NCS_SK_256 = 2; // 0x2
+  }
+
+  public class DiscoverySession implements java.lang.AutoCloseable {
+    method public void close();
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(@NonNull android.net.wifi.aware.PeerHandle);
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(@NonNull android.net.wifi.aware.PeerHandle, @NonNull String);
+    method public void sendMessage(@NonNull android.net.wifi.aware.PeerHandle, int, @Nullable byte[]);
+  }
+
+  public class DiscoverySessionCallback {
+    ctor public DiscoverySessionCallback();
+    method public void onMessageReceived(android.net.wifi.aware.PeerHandle, byte[]);
+    method public void onMessageSendFailed(int);
+    method public void onMessageSendSucceeded(int);
+    method public void onPublishStarted(@NonNull android.net.wifi.aware.PublishDiscoverySession);
+    method public void onServiceDiscovered(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>);
+    method public void onServiceDiscoveredWithinRange(android.net.wifi.aware.PeerHandle, byte[], java.util.List<byte[]>, int);
+    method public void onServiceLost(@NonNull android.net.wifi.aware.PeerHandle, int);
+    method public void onSessionConfigFailed();
+    method public void onSessionConfigUpdated();
+    method public void onSessionTerminated();
+    method public void onSubscribeStarted(@NonNull android.net.wifi.aware.SubscribeDiscoverySession);
+  }
+
+  public class IdentityChangedListener {
+    ctor public IdentityChangedListener();
+    method public void onIdentityChanged(byte[]);
+  }
+
+  public final class ParcelablePeerHandle extends android.net.wifi.aware.PeerHandle implements android.os.Parcelable {
+    ctor public ParcelablePeerHandle(@NonNull android.net.wifi.aware.PeerHandle);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle> CREATOR;
+  }
+
+  public class PeerHandle {
+  }
+
+  public final class PublishConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.PublishConfig> CREATOR;
+    field public static final int PUBLISH_TYPE_SOLICITED = 1; // 0x1
+    field public static final int PUBLISH_TYPE_UNSOLICITED = 0; // 0x0
+  }
+
+  public static final class PublishConfig.Builder {
+    ctor public PublishConfig.Builder();
+    method public android.net.wifi.aware.PublishConfig build();
+    method public android.net.wifi.aware.PublishConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
+    method public android.net.wifi.aware.PublishConfig.Builder setPublishType(int);
+    method public android.net.wifi.aware.PublishConfig.Builder setRangingEnabled(boolean);
+    method public android.net.wifi.aware.PublishConfig.Builder setServiceName(@NonNull String);
+    method public android.net.wifi.aware.PublishConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
+    method public android.net.wifi.aware.PublishConfig.Builder setTerminateNotificationEnabled(boolean);
+    method public android.net.wifi.aware.PublishConfig.Builder setTtlSec(int);
+  }
+
+  public class PublishDiscoverySession extends android.net.wifi.aware.DiscoverySession {
+    method public void updatePublish(@NonNull android.net.wifi.aware.PublishConfig);
+  }
+
+  public final class SubscribeConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.SubscribeConfig> CREATOR;
+    field public static final int SUBSCRIBE_TYPE_ACTIVE = 1; // 0x1
+    field public static final int SUBSCRIBE_TYPE_PASSIVE = 0; // 0x0
+  }
+
+  public static final class SubscribeConfig.Builder {
+    ctor public SubscribeConfig.Builder();
+    method public android.net.wifi.aware.SubscribeConfig build();
+    method public android.net.wifi.aware.SubscribeConfig.Builder setMatchFilter(@Nullable java.util.List<byte[]>);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setMaxDistanceMm(int);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setMinDistanceMm(int);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setServiceName(@NonNull String);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setServiceSpecificInfo(@Nullable byte[]);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setSubscribeType(int);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setTerminateNotificationEnabled(boolean);
+    method public android.net.wifi.aware.SubscribeConfig.Builder setTtlSec(int);
+  }
+
+  public class SubscribeDiscoverySession extends android.net.wifi.aware.DiscoverySession {
+    method public void updateSubscribe(@NonNull android.net.wifi.aware.SubscribeConfig);
+  }
+
+  public class WifiAwareManager {
+    method public void attach(@NonNull android.net.wifi.aware.AttachCallback, @Nullable android.os.Handler);
+    method public void attach(@NonNull android.net.wifi.aware.AttachCallback, @NonNull android.net.wifi.aware.IdentityChangedListener, @Nullable android.os.Handler);
+    method @Nullable public android.net.wifi.aware.AwareResources getAvailableAwareResources();
+    method @Nullable public android.net.wifi.aware.Characteristics getCharacteristics();
+    method public boolean isAvailable();
+    method public boolean isDeviceAttached();
+    method public boolean isInstantCommunicationModeEnabled();
+    field public static final String ACTION_WIFI_AWARE_STATE_CHANGED = "android.net.wifi.aware.action.WIFI_AWARE_STATE_CHANGED";
+    field public static final int WIFI_AWARE_DATA_PATH_ROLE_INITIATOR = 0; // 0x0
+    field public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; // 0x1
+    field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_PEER_NOT_VISIBLE = 1; // 0x1
+    field public static final int WIFI_AWARE_DISCOVERY_LOST_REASON_UNKNOWN = 0; // 0x0
+  }
+
+  public final class WifiAwareNetworkInfo implements android.os.Parcelable android.net.TransportInfo {
+    method public int describeContents();
+    method @Nullable public java.net.Inet6Address getPeerIpv6Addr();
+    method public int getPort();
+    method public int getTransportProtocol();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo> CREATOR;
+  }
+
+  public final class WifiAwareNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkSpecifier> CREATOR;
+  }
+
+  public static final class WifiAwareNetworkSpecifier.Builder {
+    ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.DiscoverySession, @NonNull android.net.wifi.aware.PeerHandle);
+    ctor public WifiAwareNetworkSpecifier.Builder(@NonNull android.net.wifi.aware.PublishDiscoverySession);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier build();
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPmk(@NonNull byte[]);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(@IntRange(from=0, to=65535) int);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPskPassphrase(@NonNull String);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(@IntRange(from=0, to=255) int);
+  }
+
+  public class WifiAwareSession implements java.lang.AutoCloseable {
+    method public void close();
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierOpen(int, @NonNull byte[]);
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPassphrase(int, @NonNull byte[], @NonNull String);
+    method public void publish(@NonNull android.net.wifi.aware.PublishConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
+    method public void subscribe(@NonNull android.net.wifi.aware.SubscribeConfig, @NonNull android.net.wifi.aware.DiscoverySessionCallback, @Nullable android.os.Handler);
+  }
+
+}
+
+package android.net.wifi.hotspot2 {
+
+  public final class ConfigParser {
+    method public static android.net.wifi.hotspot2.PasspointConfiguration parsePasspointConfig(String, byte[]);
+  }
+
+  public final class PasspointConfiguration implements android.os.Parcelable {
+    ctor public PasspointConfiguration();
+    ctor public PasspointConfiguration(android.net.wifi.hotspot2.PasspointConfiguration);
+    method public int describeContents();
+    method public android.net.wifi.hotspot2.pps.Credential getCredential();
+    method @Nullable public String getDecoratedIdentityPrefix();
+    method public android.net.wifi.hotspot2.pps.HomeSp getHomeSp();
+    method public long getSubscriptionExpirationTimeMillis();
+    method @NonNull public String getUniqueId();
+    method public boolean isOsuProvisioned();
+    method public void setCredential(android.net.wifi.hotspot2.pps.Credential);
+    method public void setDecoratedIdentityPrefix(@Nullable String);
+    method public void setHomeSp(android.net.wifi.hotspot2.pps.HomeSp);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.PasspointConfiguration> CREATOR;
+  }
+
+}
+
+package android.net.wifi.hotspot2.omadm {
+
+  public final class PpsMoParser {
+    method public static android.net.wifi.hotspot2.PasspointConfiguration parseMoText(String);
+  }
+
+}
+
+package android.net.wifi.hotspot2.pps {
+
+  public final class Credential implements android.os.Parcelable {
+    ctor public Credential();
+    ctor public Credential(android.net.wifi.hotspot2.pps.Credential);
+    method public int describeContents();
+    method public java.security.cert.X509Certificate getCaCertificate();
+    method public android.net.wifi.hotspot2.pps.Credential.CertificateCredential getCertCredential();
+    method public java.security.cert.X509Certificate[] getClientCertificateChain();
+    method public java.security.PrivateKey getClientPrivateKey();
+    method public String getRealm();
+    method public android.net.wifi.hotspot2.pps.Credential.SimCredential getSimCredential();
+    method public android.net.wifi.hotspot2.pps.Credential.UserCredential getUserCredential();
+    method public void setCaCertificate(java.security.cert.X509Certificate);
+    method public void setCertCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
+    method public void setClientCertificateChain(java.security.cert.X509Certificate[]);
+    method public void setClientPrivateKey(java.security.PrivateKey);
+    method public void setRealm(String);
+    method public void setSimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
+    method public void setUserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential> CREATOR;
+  }
+
+  public static final class Credential.CertificateCredential implements android.os.Parcelable {
+    ctor public Credential.CertificateCredential();
+    ctor public Credential.CertificateCredential(android.net.wifi.hotspot2.pps.Credential.CertificateCredential);
+    method public int describeContents();
+    method public byte[] getCertSha256Fingerprint();
+    method public String getCertType();
+    method public void setCertSha256Fingerprint(byte[]);
+    method public void setCertType(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.CertificateCredential> CREATOR;
+  }
+
+  public static final class Credential.SimCredential implements android.os.Parcelable {
+    ctor public Credential.SimCredential();
+    ctor public Credential.SimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
+    method public int describeContents();
+    method public int getEapType();
+    method public String getImsi();
+    method public void setEapType(int);
+    method public void setImsi(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.SimCredential> CREATOR;
+  }
+
+  public static final class Credential.UserCredential implements android.os.Parcelable {
+    ctor public Credential.UserCredential();
+    ctor public Credential.UserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
+    method public int describeContents();
+    method public int getEapType();
+    method public String getNonEapInnerMethod();
+    method public String getPassword();
+    method public String getUsername();
+    method public void setEapType(int);
+    method public void setNonEapInnerMethod(String);
+    method public void setPassword(String);
+    method public void setUsername(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.UserCredential> CREATOR;
+  }
+
+  public final class HomeSp implements android.os.Parcelable {
+    ctor public HomeSp();
+    ctor public HomeSp(android.net.wifi.hotspot2.pps.HomeSp);
+    method public int describeContents();
+    method public String getFqdn();
+    method public String getFriendlyName();
+    method @Nullable public long[] getMatchAllOis();
+    method @Nullable public long[] getMatchAnyOis();
+    method @NonNull public java.util.Collection<java.lang.String> getOtherHomePartnersList();
+    method public long[] getRoamingConsortiumOis();
+    method public void setFqdn(String);
+    method public void setFriendlyName(String);
+    method public void setMatchAllOis(@Nullable long[]);
+    method public void setMatchAnyOis(@Nullable long[]);
+    method public void setOtherHomePartnersList(@NonNull java.util.Collection<java.lang.String>);
+    method public void setRoamingConsortiumOis(long[]);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.HomeSp> CREATOR;
+  }
+
+}
+
+package android.net.wifi.p2p {
+
+  public class WifiP2pConfig implements android.os.Parcelable {
+    ctor public WifiP2pConfig();
+    ctor public WifiP2pConfig(android.net.wifi.p2p.WifiP2pConfig);
+    method public int describeContents();
+    method public int getGroupOwnerBand();
+    method public int getNetworkId();
+    method @Nullable public String getNetworkName();
+    method @Nullable public String getPassphrase();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig> CREATOR;
+    field public static final int GROUP_OWNER_BAND_2GHZ = 1; // 0x1
+    field public static final int GROUP_OWNER_BAND_5GHZ = 2; // 0x2
+    field public static final int GROUP_OWNER_BAND_AUTO = 0; // 0x0
+    field public static final int GROUP_OWNER_INTENT_AUTO = -1; // 0xffffffff
+    field public static final int GROUP_OWNER_INTENT_MAX = 15; // 0xf
+    field public static final int GROUP_OWNER_INTENT_MIN = 0; // 0x0
+    field public String deviceAddress;
+    field @IntRange(from=0, to=15) public int groupOwnerIntent;
+    field public android.net.wifi.WpsInfo wps;
+  }
+
+  public static final class WifiP2pConfig.Builder {
+    ctor public WifiP2pConfig.Builder();
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig build();
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder enablePersistentMode(boolean);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setDeviceAddress(@Nullable android.net.MacAddress);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingBand(int);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingFrequency(int);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setNetworkName(@NonNull String);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setPassphrase(@NonNull String);
+  }
+
+  public class WifiP2pDevice implements android.os.Parcelable {
+    ctor public WifiP2pDevice();
+    ctor public WifiP2pDevice(android.net.wifi.p2p.WifiP2pDevice);
+    method public int describeContents();
+    method @Nullable public android.net.wifi.p2p.WifiP2pWfdInfo getWfdInfo();
+    method public boolean isGroupOwner();
+    method public boolean isServiceDiscoveryCapable();
+    method public void update(@NonNull android.net.wifi.p2p.WifiP2pDevice);
+    method public boolean wpsDisplaySupported();
+    method public boolean wpsKeypadSupported();
+    method public boolean wpsPbcSupported();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AVAILABLE = 3; // 0x3
+    field public static final int CONNECTED = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice> CREATOR;
+    field public static final int FAILED = 2; // 0x2
+    field public static final int INVITED = 1; // 0x1
+    field public static final int UNAVAILABLE = 4; // 0x4
+    field public String deviceAddress;
+    field public String deviceName;
+    field public String primaryDeviceType;
+    field public String secondaryDeviceType;
+    field public int status;
+  }
+
+  public class WifiP2pDeviceList implements android.os.Parcelable {
+    ctor public WifiP2pDeviceList();
+    ctor public WifiP2pDeviceList(android.net.wifi.p2p.WifiP2pDeviceList);
+    method public int describeContents();
+    method public android.net.wifi.p2p.WifiP2pDevice get(String);
+    method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getDeviceList();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDeviceList> CREATOR;
+  }
+
+  public class WifiP2pGroup implements android.os.Parcelable {
+    ctor public WifiP2pGroup();
+    ctor public WifiP2pGroup(android.net.wifi.p2p.WifiP2pGroup);
+    method public int describeContents();
+    method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getClientList();
+    method public int getFrequency();
+    method public String getInterface();
+    method public int getNetworkId();
+    method public String getNetworkName();
+    method public android.net.wifi.p2p.WifiP2pDevice getOwner();
+    method public String getPassphrase();
+    method public boolean isGroupOwner();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR;
+    field public static final int NETWORK_ID_PERSISTENT = -2; // 0xfffffffe
+    field public static final int NETWORK_ID_TEMPORARY = -1; // 0xffffffff
+  }
+
+  public class WifiP2pInfo implements android.os.Parcelable {
+    ctor public WifiP2pInfo();
+    ctor public WifiP2pInfo(android.net.wifi.p2p.WifiP2pInfo);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pInfo> CREATOR;
+    field public boolean groupFormed;
+    field public java.net.InetAddress groupOwnerAddress;
+    field public boolean isGroupOwner;
+  }
+
+  public class WifiP2pManager {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void addLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void addServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void cancelConnect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void clearLocalServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void clearServiceRequests(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void connect(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pConfig, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void createGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void createGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pConfig, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void discoverPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void discoverServices(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public android.net.wifi.p2p.WifiP2pManager.Channel initialize(android.content.Context, android.os.Looper, android.net.wifi.p2p.WifiP2pManager.ChannelListener);
+    method public void removeGroup(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void removeLocalService(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceInfo, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void removeServiceRequest(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.nsd.WifiP2pServiceRequest, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method public void requestConnectionInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ConnectionInfoListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestDeviceInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DeviceInfoListener);
+    method public void requestDiscoveryState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.DiscoveryStateListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestGroupInfo(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.GroupInfoListener);
+    method public void requestNetworkInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.NetworkInfoListener);
+    method public void requestP2pState(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pManager.P2pStateListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void requestPeers(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.PeerListListener);
+    method public void setDnsSdResponseListeners(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.DnsSdServiceResponseListener, android.net.wifi.p2p.WifiP2pManager.DnsSdTxtRecordListener);
+    method public void setServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener);
+    method public void setUpnpServiceResponseListener(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.UpnpServiceResponseListener);
+    method public void stopPeerDiscovery(android.net.wifi.p2p.WifiP2pManager.Channel, android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    field public static final int BUSY = 2; // 0x2
+    field public static final int ERROR = 0; // 0x0
+    field public static final String EXTRA_DISCOVERY_STATE = "discoveryState";
+    field public static final String EXTRA_NETWORK_INFO = "networkInfo";
+    field public static final String EXTRA_P2P_DEVICE_LIST = "wifiP2pDeviceList";
+    field public static final String EXTRA_WIFI_P2P_DEVICE = "wifiP2pDevice";
+    field public static final String EXTRA_WIFI_P2P_GROUP = "p2pGroupInfo";
+    field public static final String EXTRA_WIFI_P2P_INFO = "wifiP2pInfo";
+    field public static final String EXTRA_WIFI_STATE = "wifi_p2p_state";
+    field public static final int NO_SERVICE_REQUESTS = 3; // 0x3
+    field public static final int P2P_UNSUPPORTED = 1; // 0x1
+    field public static final String WIFI_P2P_CONNECTION_CHANGED_ACTION = "android.net.wifi.p2p.CONNECTION_STATE_CHANGE";
+    field public static final String WIFI_P2P_DISCOVERY_CHANGED_ACTION = "android.net.wifi.p2p.DISCOVERY_STATE_CHANGE";
+    field public static final int WIFI_P2P_DISCOVERY_STARTED = 2; // 0x2
+    field public static final int WIFI_P2P_DISCOVERY_STOPPED = 1; // 0x1
+    field public static final String WIFI_P2P_PEERS_CHANGED_ACTION = "android.net.wifi.p2p.PEERS_CHANGED";
+    field public static final String WIFI_P2P_STATE_CHANGED_ACTION = "android.net.wifi.p2p.STATE_CHANGED";
+    field public static final int WIFI_P2P_STATE_DISABLED = 1; // 0x1
+    field public static final int WIFI_P2P_STATE_ENABLED = 2; // 0x2
+    field public static final String WIFI_P2P_THIS_DEVICE_CHANGED_ACTION = "android.net.wifi.p2p.THIS_DEVICE_CHANGED";
+  }
+
+  public static interface WifiP2pManager.ActionListener {
+    method public void onFailure(int);
+    method public void onSuccess();
+  }
+
+  public static class WifiP2pManager.Channel implements java.lang.AutoCloseable {
+    method public void close();
+  }
+
+  public static interface WifiP2pManager.ChannelListener {
+    method public void onChannelDisconnected();
+  }
+
+  public static interface WifiP2pManager.ConnectionInfoListener {
+    method public void onConnectionInfoAvailable(android.net.wifi.p2p.WifiP2pInfo);
+  }
+
+  public static interface WifiP2pManager.DeviceInfoListener {
+    method public void onDeviceInfoAvailable(@Nullable android.net.wifi.p2p.WifiP2pDevice);
+  }
+
+  public static interface WifiP2pManager.DiscoveryStateListener {
+    method public void onDiscoveryStateAvailable(int);
+  }
+
+  public static interface WifiP2pManager.DnsSdServiceResponseListener {
+    method public void onDnsSdServiceAvailable(String, String, android.net.wifi.p2p.WifiP2pDevice);
+  }
+
+  public static interface WifiP2pManager.DnsSdTxtRecordListener {
+    method public void onDnsSdTxtRecordAvailable(String, java.util.Map<java.lang.String,java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
+  }
+
+  public static interface WifiP2pManager.GroupInfoListener {
+    method public void onGroupInfoAvailable(android.net.wifi.p2p.WifiP2pGroup);
+  }
+
+  public static interface WifiP2pManager.NetworkInfoListener {
+    method public void onNetworkInfoAvailable(@NonNull android.net.NetworkInfo);
+  }
+
+  public static interface WifiP2pManager.P2pStateListener {
+    method public void onP2pStateAvailable(int);
+  }
+
+  public static interface WifiP2pManager.PeerListListener {
+    method public void onPeersAvailable(android.net.wifi.p2p.WifiP2pDeviceList);
+  }
+
+  public static interface WifiP2pManager.ServiceResponseListener {
+    method public void onServiceAvailable(int, byte[], android.net.wifi.p2p.WifiP2pDevice);
+  }
+
+  public static interface WifiP2pManager.UpnpServiceResponseListener {
+    method public void onUpnpServiceAvailable(java.util.List<java.lang.String>, android.net.wifi.p2p.WifiP2pDevice);
+  }
+
+  public final class WifiP2pWfdInfo implements android.os.Parcelable {
+    ctor public WifiP2pWfdInfo();
+    ctor public WifiP2pWfdInfo(@Nullable android.net.wifi.p2p.WifiP2pWfdInfo);
+    method public int describeContents();
+    method public int getControlPort();
+    method public int getDeviceInfo();
+    method public int getDeviceType();
+    method public int getMaxThroughput();
+    method public int getR2DeviceInfo();
+    method public int getR2DeviceType();
+    method public boolean isContentProtectionSupported();
+    method public boolean isCoupledSinkSupportedAtSink();
+    method public boolean isCoupledSinkSupportedAtSource();
+    method public boolean isEnabled();
+    method public boolean isR2Supported();
+    method public boolean isSessionAvailable();
+    method public void setContentProtectionSupported(boolean);
+    method public void setControlPort(@IntRange(from=0) int);
+    method public void setCoupledSinkSupportAtSink(boolean);
+    method public void setCoupledSinkSupportAtSource(boolean);
+    method public boolean setDeviceType(int);
+    method public void setEnabled(boolean);
+    method public void setMaxThroughput(@IntRange(from=0) int);
+    method public boolean setR2DeviceType(int);
+    method public void setSessionAvailable(boolean);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pWfdInfo> CREATOR;
+    field public static final int DEVICE_INFO_AUDIO_ONLY_SUPPORT_AT_SOURCE = 2048; // 0x800
+    field public static final int DEVICE_INFO_AUDIO_UNSUPPORTED_AT_PRIMARY_SINK = 1024; // 0x400
+    field public static final int DEVICE_INFO_CONTENT_PROTECTION_SUPPORT = 256; // 0x100
+    field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SINK = 8; // 0x8
+    field public static final int DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SOURCE = 4; // 0x4
+    field public static final int DEVICE_INFO_DEVICE_TYPE_MASK = 3; // 0x3
+    field public static final int DEVICE_INFO_PREFERRED_CONNECTIVITY_MASK = 128; // 0x80
+    field public static final int DEVICE_INFO_SESSION_AVAILABLE_MASK = 48; // 0x30
+    field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP = 4096; // 0x1000
+    field public static final int DEVICE_INFO_TDLS_PERSISTENT_GROUP_REINVOKE = 8192; // 0x2000
+    field public static final int DEVICE_INFO_TIME_SYNCHRONIZATION_SUPPORT = 512; // 0x200
+    field public static final int DEVICE_INFO_WFD_SERVICE_DISCOVERY_SUPPORT = 64; // 0x40
+    field public static final int DEVICE_TYPE_PRIMARY_SINK = 1; // 0x1
+    field public static final int DEVICE_TYPE_SECONDARY_SINK = 2; // 0x2
+    field public static final int DEVICE_TYPE_SOURCE_OR_PRIMARY_SINK = 3; // 0x3
+    field public static final int DEVICE_TYPE_WFD_SOURCE = 0; // 0x0
+    field public static final int PREFERRED_CONNECTIVITY_P2P = 0; // 0x0
+    field public static final int PREFERRED_CONNECTIVITY_TDLS = 1; // 0x1
+  }
+
+}
+
+package android.net.wifi.p2p.nsd {
+
+  public class WifiP2pDnsSdServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
+    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo newInstance(String, String, java.util.Map<java.lang.String,java.lang.String>);
+  }
+
+  public class WifiP2pDnsSdServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
+    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance();
+    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String);
+    method public static android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest newInstance(String, String);
+  }
+
+  public class WifiP2pServiceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int SERVICE_TYPE_ALL = 0; // 0x0
+    field public static final int SERVICE_TYPE_BONJOUR = 1; // 0x1
+    field public static final int SERVICE_TYPE_UPNP = 2; // 0x2
+    field public static final int SERVICE_TYPE_VENDOR_SPECIFIC = 255; // 0xff
+  }
+
+  public class WifiP2pServiceRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int, String);
+    method public static android.net.wifi.p2p.nsd.WifiP2pServiceRequest newInstance(int);
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public class WifiP2pUpnpServiceInfo extends android.net.wifi.p2p.nsd.WifiP2pServiceInfo {
+    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo newInstance(String, String, java.util.List<java.lang.String>);
+  }
+
+  public class WifiP2pUpnpServiceRequest extends android.net.wifi.p2p.nsd.WifiP2pServiceRequest {
+    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance();
+    method public static android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest newInstance(String);
+  }
+
+}
+
+package android.net.wifi.rtt {
+
+  public class CivicLocationKeys {
+    field public static final int ADDITIONAL_CODE = 32; // 0x20
+    field public static final int APT = 26; // 0x1a
+    field public static final int BOROUGH = 4; // 0x4
+    field public static final int BRANCH_ROAD_NAME = 36; // 0x24
+    field public static final int BUILDING = 25; // 0x19
+    field public static final int CITY = 3; // 0x3
+    field public static final int COUNTY = 2; // 0x2
+    field public static final int DESK = 33; // 0x21
+    field public static final int FLOOR = 27; // 0x1b
+    field public static final int GROUP_OF_STREETS = 6; // 0x6
+    field public static final int HNO = 19; // 0x13
+    field public static final int HNS = 20; // 0x14
+    field public static final int LANGUAGE = 0; // 0x0
+    field public static final int LMK = 21; // 0x15
+    field public static final int LOC = 22; // 0x16
+    field public static final int NAM = 23; // 0x17
+    field public static final int NEIGHBORHOOD = 5; // 0x5
+    field public static final int PCN = 30; // 0x1e
+    field public static final int POD = 17; // 0x11
+    field public static final int POSTAL_CODE = 24; // 0x18
+    field public static final int PO_BOX = 31; // 0x1f
+    field public static final int PRD = 16; // 0x10
+    field public static final int PRIMARY_ROAD_NAME = 34; // 0x22
+    field public static final int ROAD_SECTION = 35; // 0x23
+    field public static final int ROOM = 28; // 0x1c
+    field public static final int SCRIPT = 128; // 0x80
+    field public static final int STATE = 1; // 0x1
+    field public static final int STREET_NAME_POST_MODIFIER = 39; // 0x27
+    field public static final int STREET_NAME_PRE_MODIFIER = 38; // 0x26
+    field public static final int STS = 18; // 0x12
+    field public static final int SUBBRANCH_ROAD_NAME = 37; // 0x25
+    field public static final int TYPE_OF_PLACE = 29; // 0x1d
+  }
+
+  public final class RangingRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public static int getDefaultRttBurstSize();
+    method public static int getMaxPeers();
+    method public static int getMaxRttBurstSize();
+    method public static int getMinRttBurstSize();
+    method public int getRttBurstSize();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest> CREATOR;
+  }
+
+  public static final class RangingRequest.Builder {
+    ctor public RangingRequest.Builder();
+    method public android.net.wifi.rtt.RangingRequest.Builder addAccessPoint(@NonNull android.net.wifi.ScanResult);
+    method public android.net.wifi.rtt.RangingRequest.Builder addAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>);
+    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoint(@NonNull android.net.wifi.ScanResult);
+    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder addNon80211mcCapableAccessPoints(@NonNull java.util.List<android.net.wifi.ScanResult>);
+    method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.MacAddress);
+    method public android.net.wifi.rtt.RangingRequest.Builder addWifiAwarePeer(@NonNull android.net.wifi.aware.PeerHandle);
+    method public android.net.wifi.rtt.RangingRequest build();
+    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder setRttBurstSize(int);
+  }
+
+  public final class RangingResult implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getDistanceMm();
+    method public int getDistanceStdDevMm();
+    method @Nullable public android.net.MacAddress getMacAddress();
+    method public int getNumAttemptedMeasurements();
+    method public int getNumSuccessfulMeasurements();
+    method @Nullable public android.net.wifi.aware.PeerHandle getPeerHandle();
+    method public long getRangingTimestampMillis();
+    method public int getRssi();
+    method public int getStatus();
+    method @Nullable public android.net.wifi.rtt.ResponderLocation getUnverifiedResponderLocation();
+    method public boolean is80211mcMeasurement();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR;
+    field public static final int STATUS_FAIL = 1; // 0x1
+    field public static final int STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC = 2; // 0x2
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public abstract class RangingResultCallback {
+    ctor public RangingResultCallback();
+    method public abstract void onRangingFailure(int);
+    method public abstract void onRangingResults(@NonNull java.util.List<android.net.wifi.rtt.RangingResult>);
+    field public static final int STATUS_CODE_FAIL = 1; // 0x1
+    field public static final int STATUS_CODE_FAIL_RTT_NOT_AVAILABLE = 2; // 0x2
+  }
+
+  public final class ResponderLocation implements android.os.Parcelable {
+    method public int describeContents();
+    method public double getAltitude();
+    method public int getAltitudeType();
+    method public double getAltitudeUncertainty();
+    method public java.util.List<android.net.MacAddress> getColocatedBssids();
+    method public int getDatum();
+    method public int getExpectedToMove();
+    method public double getFloorNumber();
+    method public double getHeightAboveFloorMeters();
+    method public double getHeightAboveFloorUncertaintyMeters();
+    method public double getLatitude();
+    method public double getLatitudeUncertainty();
+    method public int getLciVersion();
+    method public double getLongitude();
+    method public double getLongitudeUncertainty();
+    method @Nullable public String getMapImageMimeType();
+    method @Nullable public android.net.Uri getMapImageUri();
+    method public boolean getRegisteredLocationAgreementIndication();
+    method public boolean isLciSubelementValid();
+    method public boolean isZaxisSubelementValid();
+    method @Nullable public android.location.Address toCivicLocationAddress();
+    method @Nullable public android.util.SparseArray<java.lang.String> toCivicLocationSparseArray();
+    method @NonNull public android.location.Location toLocation();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ALTITUDE_FLOORS = 2; // 0x2
+    field public static final int ALTITUDE_METERS = 1; // 0x1
+    field public static final int ALTITUDE_UNDEFINED = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderLocation> CREATOR;
+    field public static final int DATUM_NAD83_MLLW = 3; // 0x3
+    field public static final int DATUM_NAD83_NAV88 = 2; // 0x2
+    field public static final int DATUM_UNDEFINED = 0; // 0x0
+    field public static final int DATUM_WGS84 = 1; // 0x1
+    field public static final int LCI_VERSION_1 = 1; // 0x1
+    field public static final int LOCATION_FIXED = 0; // 0x0
+    field public static final int LOCATION_MOVEMENT_UNKNOWN = 2; // 0x2
+    field public static final int LOCATION_RESERVED = 3; // 0x3
+    field public static final int LOCATION_VARIABLE = 1; // 0x1
+  }
+
+  public class WifiRttManager {
+    method public boolean isAvailable();
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_WIFI_STATE}) public void startRanging(@NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback);
+    field public static final String ACTION_WIFI_RTT_STATE_CHANGED = "android.net.wifi.rtt.action.WIFI_RTT_STATE_CHANGED";
+  }
+
+}
+
diff --git a/32/public/api/javax.obex-removed.txt b/32/public/api/javax.obex-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/javax.obex-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/javax.obex.txt b/32/public/api/javax.obex.txt
new file mode 100644
index 0000000..f142bc8
--- /dev/null
+++ b/32/public/api/javax.obex.txt
@@ -0,0 +1,13 @@
+// Signature format: 2.0
+package javax.obex {
+
+  public class ObexPacket {
+    method public static javax.obex.ObexPacket read(java.io.InputStream) throws java.io.IOException;
+    method public static javax.obex.ObexPacket read(int, java.io.InputStream) throws java.io.IOException;
+    field public int mHeaderId;
+    field public int mLength;
+    field public byte[] mPayload;
+  }
+
+}
+
diff --git a/32/public/api/org.apache.http.legacy-removed.txt b/32/public/api/org.apache.http.legacy-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/org.apache.http.legacy-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/org.apache.http.legacy.txt b/32/public/api/org.apache.http.legacy.txt
new file mode 100644
index 0000000..9f1b879
--- /dev/null
+++ b/32/public/api/org.apache.http.legacy.txt
@@ -0,0 +1,4144 @@
+// Signature format: 2.0
+package android.net.compatibility {
+
+  public class WebAddress {
+    ctor public WebAddress(String) throws java.lang.IllegalArgumentException;
+    method public String getAuthInfo();
+    method public String getHost();
+    method public String getPath();
+    method public int getPort();
+    method public String getScheme();
+    method public void setAuthInfo(String);
+    method public void setHost(String);
+    method public void setPath(String);
+    method public void setPort(int);
+    method public void setScheme(String);
+  }
+
+}
+
+package android.net.http {
+
+  public final class AndroidHttpClient implements org.apache.http.client.HttpClient {
+    method public void close();
+    method public void disableCurlLogging();
+    method public void enableCurlLogging(String, int);
+    method public org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws java.io.IOException;
+    method public org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws java.io.IOException;
+    method public org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest) throws java.io.IOException;
+    method public org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws java.io.IOException;
+    method public <T> T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method public <T> T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method public <T> T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method public <T> T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method public static org.apache.http.entity.AbstractHttpEntity getCompressedEntity(byte[], android.content.ContentResolver) throws java.io.IOException;
+    method public org.apache.http.conn.ClientConnectionManager getConnectionManager();
+    method public static long getMinGzipSize(android.content.ContentResolver);
+    method public org.apache.http.params.HttpParams getParams();
+    method public static java.io.InputStream getUngzippedContent(org.apache.http.HttpEntity) throws java.io.IOException;
+    method public static void modifyRequestToAcceptGzipResponse(org.apache.http.HttpRequest);
+    method public static android.net.http.AndroidHttpClient newInstance(String, android.content.Context);
+    method public static android.net.http.AndroidHttpClient newInstance(String);
+    method public static long parseDate(String);
+    field public static long DEFAULT_SYNC_MIN_GZIP_BYTES;
+  }
+
+  public class AndroidHttpClientConnection implements org.apache.http.HttpConnection org.apache.http.HttpInetConnection {
+    ctor public AndroidHttpClientConnection();
+    method public void bind(java.net.Socket, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method public void close() throws java.io.IOException;
+    method protected void doFlush() throws java.io.IOException;
+    method public void flush() throws java.io.IOException;
+    method public java.net.InetAddress getLocalAddress();
+    method public int getLocalPort();
+    method public org.apache.http.HttpConnectionMetrics getMetrics();
+    method public java.net.InetAddress getRemoteAddress();
+    method public int getRemotePort();
+    method public int getSocketTimeout();
+    method public boolean isOpen();
+    method public boolean isStale();
+    method public org.apache.http.StatusLine parseResponseHeader(android.net.http.Headers) throws java.io.IOException, org.apache.http.ParseException;
+    method public org.apache.http.HttpEntity receiveResponseEntity(android.net.http.Headers);
+    method public void sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+    method public void sendRequestHeader(org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException;
+    method public void setSocketTimeout(int);
+    method public void shutdown() throws java.io.IOException;
+  }
+
+  public class CertificateChainValidator {
+    method public android.net.http.SslError doHandshakeAndValidateServerCertificates(android.net.http.HttpsConnection, javax.net.ssl.SSLSocket, String) throws java.io.IOException;
+    method public static android.net.http.CertificateChainValidator getInstance();
+    method public static void handleTrustStorageUpdate();
+    method public static android.net.http.SslError verifyServerCertificates(byte[][], String, String) throws java.io.IOException;
+  }
+
+  public abstract class Connection {
+  }
+
+  public class DelegatingSSLSession implements javax.net.ssl.SSLSession {
+    ctor protected DelegatingSSLSession();
+    method public int getApplicationBufferSize();
+    method public String getCipherSuite();
+    method public long getCreationTime();
+    method public byte[] getId();
+    method public long getLastAccessedTime();
+    method public java.security.cert.Certificate[] getLocalCertificates();
+    method public java.security.Principal getLocalPrincipal();
+    method public int getPacketBufferSize();
+    method public javax.security.cert.X509Certificate[] getPeerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public java.security.cert.Certificate[] getPeerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public String getPeerHost();
+    method public int getPeerPort();
+    method public java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException;
+    method public String getProtocol();
+    method public javax.net.ssl.SSLSessionContext getSessionContext();
+    method public Object getValue(String);
+    method public String[] getValueNames();
+    method public void invalidate();
+    method public boolean isValid();
+    method public void putValue(String, Object);
+    method public void removeValue(String);
+  }
+
+  public static class DelegatingSSLSession.CertificateWrap extends android.net.http.DelegatingSSLSession {
+    ctor public DelegatingSSLSession.CertificateWrap(java.security.cert.Certificate);
+  }
+
+  public interface EventHandler {
+    method public void certificate(android.net.http.SslCertificate);
+    method public void data(byte[], int);
+    method public void endData();
+    method public void error(int, String);
+    method public boolean handleSslErrorRequest(android.net.http.SslError);
+    method public void headers(android.net.http.Headers);
+    method public void status(int, int, int, String);
+    field public static final int ERROR = -1; // 0xffffffff
+    field public static final int ERROR_AUTH = -4; // 0xfffffffc
+    field public static final int ERROR_BAD_URL = -12; // 0xfffffff4
+    field public static final int ERROR_CONNECT = -6; // 0xfffffffa
+    field public static final int ERROR_FAILED_SSL_HANDSHAKE = -11; // 0xfffffff5
+    field public static final int ERROR_IO = -7; // 0xfffffff9
+    field public static final int ERROR_LOOKUP = -2; // 0xfffffffe
+    field public static final int ERROR_PROXYAUTH = -5; // 0xfffffffb
+    field public static final int ERROR_REDIRECT_LOOP = -9; // 0xfffffff7
+    field public static final int ERROR_TIMEOUT = -8; // 0xfffffff8
+    field public static final int ERROR_UNSUPPORTED_AUTH_SCHEME = -3; // 0xfffffffd
+    field public static final int ERROR_UNSUPPORTED_SCHEME = -10; // 0xfffffff6
+    field public static final int FILE_ERROR = -13; // 0xfffffff3
+    field public static final int FILE_NOT_FOUND_ERROR = -14; // 0xfffffff2
+    field public static final int OK = 0; // 0x0
+    field public static final int TOO_MANY_REQUESTS_ERROR = -15; // 0xfffffff1
+  }
+
+  public final class Headers {
+    ctor public Headers();
+    method public String getAcceptRanges();
+    method public String getCacheControl();
+    method public int getConnectionType();
+    method public String getContentDisposition();
+    method public String getContentEncoding();
+    method public long getContentLength();
+    method public String getContentType();
+    method public String getEtag();
+    method public String getExpires();
+    method public void getHeaders(android.net.http.Headers.HeaderCallback);
+    method public String getLastModified();
+    method public String getLocation();
+    method public String getPragma();
+    method public String getProxyAuthenticate();
+    method public String getRefresh();
+    method public java.util.ArrayList<java.lang.String> getSetCookie();
+    method public long getTransferEncoding();
+    method public String getWwwAuthenticate();
+    method public String getXPermittedCrossDomainPolicies();
+    method public void parseHeader(org.apache.http.util.CharArrayBuffer);
+    method public void setAcceptRanges(String);
+    method public void setCacheControl(String);
+    method public void setContentDisposition(String);
+    method public void setContentEncoding(String);
+    method public void setContentLength(long);
+    method public void setContentType(String);
+    method public void setEtag(String);
+    method public void setExpires(String);
+    method public void setLastModified(String);
+    method public void setLocation(String);
+    method public void setProxyAuthenticate(String);
+    method public void setWwwAuthenticate(String);
+    method public void setXPermittedCrossDomainPolicies(String);
+    field public static final String ACCEPT_RANGES = "accept-ranges";
+    field public static final String CACHE_CONTROL = "cache-control";
+    field public static final int CONN_CLOSE = 1; // 0x1
+    field public static final String CONN_DIRECTIVE = "connection";
+    field public static final int CONN_KEEP_ALIVE = 2; // 0x2
+    field public static final String CONTENT_DISPOSITION = "content-disposition";
+    field public static final String CONTENT_ENCODING = "content-encoding";
+    field public static final String CONTENT_LEN = "content-length";
+    field public static final String CONTENT_TYPE = "content-type";
+    field public static final String ETAG = "etag";
+    field public static final String EXPIRES = "expires";
+    field public static final String LAST_MODIFIED = "last-modified";
+    field public static final String LOCATION = "location";
+    field public static final int NO_CONN_TYPE = 0; // 0x0
+    field public static final long NO_CONTENT_LENGTH = -1L; // 0xffffffffffffffffL
+    field public static final long NO_TRANSFER_ENCODING = 0L; // 0x0L
+    field public static final String PRAGMA = "pragma";
+    field public static final String PROXY_AUTHENTICATE = "proxy-authenticate";
+    field public static final String PROXY_CONNECTION = "proxy-connection";
+    field public static final String REFRESH = "refresh";
+    field public static final String SET_COOKIE = "set-cookie";
+    field public static final String TRANSFER_ENCODING = "transfer-encoding";
+    field public static final String WWW_AUTHENTICATE = "www-authenticate";
+    field public static final String X_PERMITTED_CROSS_DOMAIN_POLICIES = "x-permitted-cross-domain-policies";
+  }
+
+  public static interface Headers.HeaderCallback {
+    method public void header(String, String);
+  }
+
+  public class HttpAuthHeader {
+    ctor public HttpAuthHeader(String);
+    method public String getAlgorithm();
+    method public String getNonce();
+    method public String getOpaque();
+    method public String getPassword();
+    method public String getQop();
+    method public String getRealm();
+    method public int getScheme();
+    method public boolean getStale();
+    method public String getUsername();
+    method public boolean isBasic();
+    method public boolean isDigest();
+    method public boolean isProxy();
+    method public boolean isSupportedScheme();
+    method public void setPassword(String);
+    method public void setProxy();
+    method public void setUsername(String);
+    field public static final int BASIC = 1; // 0x1
+    field public static final String BASIC_TOKEN = "Basic";
+    field public static final int DIGEST = 2; // 0x2
+    field public static final String DIGEST_TOKEN = "Digest";
+    field public static final int UNKNOWN = 0; // 0x0
+  }
+
+  public class HttpsConnection extends android.net.http.Connection {
+    method public static void initializeEngine(java.io.File);
+  }
+
+  public class LoggingEventHandler implements android.net.http.EventHandler {
+    ctor public LoggingEventHandler();
+    method public void certificate(android.net.http.SslCertificate);
+    method public void data(byte[], int);
+    method public void endData();
+    method public void error(int, String);
+    method public boolean handleSslErrorRequest(android.net.http.SslError);
+    method public void headers(android.net.http.Headers);
+    method public void locationChanged(String, boolean);
+    method public void requestSent();
+    method public void status(int, int, int, String);
+  }
+
+  public class Request {
+  }
+
+  public class RequestHandle {
+    ctor public RequestHandle(android.net.http.RequestQueue, String, android.net.compatibility.WebAddress, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream, int, android.net.http.Request);
+    ctor public RequestHandle(android.net.http.RequestQueue, String, android.net.compatibility.WebAddress, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream, int, android.net.http.Request, android.net.http.Connection);
+    method public static String authorizationHeader(boolean);
+    method public void cancel();
+    method public static String computeBasicAuthResponse(String, String);
+    method public String getMethod();
+    method public int getRedirectCount();
+    method public void handleSslErrorResponse(boolean);
+    method public boolean isRedirectMax();
+    method public void pauseRequest(boolean);
+    method public void processRequest();
+    method public void setRedirectCount(int);
+    method public void setupBasicAuthResponse(boolean, String, String);
+    method public void setupDigestAuthResponse(boolean, String, String, String, String, String, String, String);
+    method public boolean setupRedirect(String, int, java.util.Map<java.lang.String,java.lang.String>);
+    method public void waitUntilComplete();
+    field public static final int MAX_REDIRECT_COUNT = 16; // 0x10
+  }
+
+  public class RequestQueue {
+    ctor public RequestQueue(android.content.Context);
+    ctor public RequestQueue(android.content.Context, int);
+    method public void disablePlatformNotifications();
+    method public void enablePlatformNotifications();
+    method public org.apache.http.HttpHost getProxyHost();
+    method public android.net.http.Request getRequest();
+    method public android.net.http.Request getRequest(org.apache.http.HttpHost);
+    method public boolean haveRequest(org.apache.http.HttpHost);
+    method public android.net.http.RequestHandle queueRequest(String, String, java.util.Map<java.lang.String,java.lang.String>, android.net.http.EventHandler, java.io.InputStream, int);
+    method public android.net.http.RequestHandle queueRequest(String, android.net.compatibility.WebAddress, String, java.util.Map<java.lang.String,java.lang.String>, android.net.http.EventHandler, java.io.InputStream, int);
+    method protected void queueRequest(android.net.http.Request, boolean);
+    method public android.net.http.RequestHandle queueSynchronousRequest(String, android.net.compatibility.WebAddress, String, java.util.Map<java.lang.String,java.lang.String>, android.net.http.EventHandler, java.io.InputStream, int);
+    method public void requeueRequest(android.net.http.Request);
+    method public void shutdown();
+    method public void startTiming();
+    method public void stopTiming();
+  }
+
+}
+
+package com.android.internal.http.multipart {
+
+  public class ByteArrayPartSource implements com.android.internal.http.multipart.PartSource {
+    ctor public ByteArrayPartSource(String, byte[]);
+    method public java.io.InputStream createInputStream();
+    method public String getFileName();
+    method public long getLength();
+  }
+
+  public class FilePart extends com.android.internal.http.multipart.PartBase {
+    ctor public FilePart(String, com.android.internal.http.multipart.PartSource, String, String);
+    ctor public FilePart(String, com.android.internal.http.multipart.PartSource);
+    ctor public FilePart(String, java.io.File) throws java.io.FileNotFoundException;
+    ctor public FilePart(String, java.io.File, String, String) throws java.io.FileNotFoundException;
+    ctor public FilePart(String, String, java.io.File) throws java.io.FileNotFoundException;
+    ctor public FilePart(String, String, java.io.File, String, String) throws java.io.FileNotFoundException;
+    method protected com.android.internal.http.multipart.PartSource getSource();
+    method protected long lengthOfData();
+    method protected void sendData(java.io.OutputStream) throws java.io.IOException;
+    field public static final String DEFAULT_CHARSET = "ISO-8859-1";
+    field public static final String DEFAULT_CONTENT_TYPE = "application/octet-stream";
+    field public static final String DEFAULT_TRANSFER_ENCODING = "binary";
+    field protected static final String FILE_NAME = "; filename=";
+  }
+
+  public class FilePartSource implements com.android.internal.http.multipart.PartSource {
+    ctor public FilePartSource(java.io.File) throws java.io.FileNotFoundException;
+    ctor public FilePartSource(String, java.io.File) throws java.io.FileNotFoundException;
+    method public java.io.InputStream createInputStream() throws java.io.IOException;
+    method public String getFileName();
+    method public long getLength();
+  }
+
+  public class MultipartEntity extends org.apache.http.entity.AbstractHttpEntity {
+    ctor public MultipartEntity(com.android.internal.http.multipart.Part[], org.apache.http.params.HttpParams);
+    ctor public MultipartEntity(com.android.internal.http.multipart.Part[]);
+    method public java.io.InputStream getContent() throws java.io.IOException, java.lang.IllegalStateException;
+    method public long getContentLength();
+    method public org.apache.http.Header getContentType();
+    method protected byte[] getMultipartBoundary();
+    method public boolean isRepeatable();
+    method public boolean isStreaming();
+    method public void writeTo(java.io.OutputStream) throws java.io.IOException;
+    field public static final String MULTIPART_BOUNDARY = "http.method.multipart.boundary";
+    field protected com.android.internal.http.multipart.Part[] parts;
+  }
+
+  public abstract class Part {
+    ctor public Part();
+    method @Deprecated public static String getBoundary();
+    method public abstract String getCharSet();
+    method public abstract String getContentType();
+    method public static long getLengthOfParts(com.android.internal.http.multipart.Part[]) throws java.io.IOException;
+    method public static long getLengthOfParts(com.android.internal.http.multipart.Part[], byte[]) throws java.io.IOException;
+    method public abstract String getName();
+    method protected byte[] getPartBoundary();
+    method public abstract String getTransferEncoding();
+    method public boolean isRepeatable();
+    method public long length() throws java.io.IOException;
+    method protected abstract long lengthOfData() throws java.io.IOException;
+    method public void send(java.io.OutputStream) throws java.io.IOException;
+    method protected void sendContentTypeHeader(java.io.OutputStream) throws java.io.IOException;
+    method protected abstract void sendData(java.io.OutputStream) throws java.io.IOException;
+    method protected void sendDispositionHeader(java.io.OutputStream) throws java.io.IOException;
+    method protected void sendEnd(java.io.OutputStream) throws java.io.IOException;
+    method protected void sendEndOfHeader(java.io.OutputStream) throws java.io.IOException;
+    method public static void sendParts(java.io.OutputStream, com.android.internal.http.multipart.Part[]) throws java.io.IOException;
+    method public static void sendParts(java.io.OutputStream, com.android.internal.http.multipart.Part[], byte[]) throws java.io.IOException;
+    method protected void sendStart(java.io.OutputStream) throws java.io.IOException;
+    method protected void sendTransferEncodingHeader(java.io.OutputStream) throws java.io.IOException;
+    field @Deprecated protected static final String BOUNDARY = "----------------314159265358979323846";
+    field @Deprecated protected static final byte[] BOUNDARY_BYTES;
+    field protected static final String CHARSET = "; charset=";
+    field protected static final byte[] CHARSET_BYTES;
+    field protected static final String CONTENT_DISPOSITION = "Content-Disposition: form-data; name=";
+    field protected static final byte[] CONTENT_DISPOSITION_BYTES;
+    field protected static final String CONTENT_TRANSFER_ENCODING = "Content-Transfer-Encoding: ";
+    field protected static final byte[] CONTENT_TRANSFER_ENCODING_BYTES;
+    field protected static final String CONTENT_TYPE = "Content-Type: ";
+    field protected static final byte[] CONTENT_TYPE_BYTES;
+    field protected static final String CRLF = "\r\n";
+    field protected static final byte[] CRLF_BYTES;
+    field protected static final String EXTRA = "--";
+    field protected static final byte[] EXTRA_BYTES;
+    field protected static final String QUOTE = "\"";
+    field protected static final byte[] QUOTE_BYTES;
+  }
+
+  public abstract class PartBase extends com.android.internal.http.multipart.Part {
+    ctor public PartBase(String, String, String, String);
+    method public String getCharSet();
+    method public String getContentType();
+    method public String getName();
+    method public String getTransferEncoding();
+    method public void setCharSet(String);
+    method public void setContentType(String);
+    method public void setName(String);
+    method public void setTransferEncoding(String);
+  }
+
+  public interface PartSource {
+    method public java.io.InputStream createInputStream() throws java.io.IOException;
+    method public String getFileName();
+    method public long getLength();
+  }
+
+  public class StringPart extends com.android.internal.http.multipart.PartBase {
+    ctor public StringPart(String, String, String);
+    ctor public StringPart(String, String);
+    method protected long lengthOfData();
+    method protected void sendData(java.io.OutputStream) throws java.io.IOException;
+    field public static final String DEFAULT_CHARSET = "US-ASCII";
+    field public static final String DEFAULT_CONTENT_TYPE = "text/plain";
+    field public static final String DEFAULT_TRANSFER_ENCODING = "8bit";
+  }
+
+}
+
+package org.apache.commons.codec {
+
+  @Deprecated public interface BinaryDecoder extends org.apache.commons.codec.Decoder {
+    method @Deprecated public byte[] decode(byte[]) throws org.apache.commons.codec.DecoderException;
+  }
+
+  @Deprecated public interface BinaryEncoder extends org.apache.commons.codec.Encoder {
+    method @Deprecated public byte[] encode(byte[]) throws org.apache.commons.codec.EncoderException;
+  }
+
+  @Deprecated public interface Decoder {
+    method @Deprecated public Object decode(Object) throws org.apache.commons.codec.DecoderException;
+  }
+
+  @Deprecated public class DecoderException extends java.lang.Exception {
+    ctor @Deprecated public DecoderException(String);
+  }
+
+  @Deprecated public interface Encoder {
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+  }
+
+  @Deprecated public class EncoderException extends java.lang.Exception {
+    ctor @Deprecated public EncoderException(String);
+  }
+
+  @Deprecated public interface StringDecoder extends org.apache.commons.codec.Decoder {
+    method @Deprecated public String decode(String) throws org.apache.commons.codec.DecoderException;
+  }
+
+  @Deprecated public interface StringEncoder extends org.apache.commons.codec.Encoder {
+    method @Deprecated public String encode(String) throws org.apache.commons.codec.EncoderException;
+  }
+
+  @Deprecated public class StringEncoderComparator implements java.util.Comparator {
+    ctor @Deprecated public StringEncoderComparator();
+    ctor @Deprecated public StringEncoderComparator(org.apache.commons.codec.StringEncoder);
+    method @Deprecated public int compare(Object, Object);
+  }
+
+}
+
+package org.apache.commons.codec.binary {
+
+  @Deprecated public class Base64 implements org.apache.commons.codec.BinaryDecoder org.apache.commons.codec.BinaryEncoder {
+    ctor @Deprecated public Base64();
+    method @Deprecated public Object decode(Object) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public byte[] decode(byte[]);
+    method @Deprecated public static byte[] decodeBase64(byte[]);
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public byte[] encode(byte[]);
+    method @Deprecated public static byte[] encodeBase64(byte[]);
+    method @Deprecated public static byte[] encodeBase64(byte[], boolean);
+    method @Deprecated public static byte[] encodeBase64Chunked(byte[]);
+    method @Deprecated public static boolean isArrayByteBase64(byte[]);
+  }
+
+  @Deprecated public class BinaryCodec implements org.apache.commons.codec.BinaryDecoder org.apache.commons.codec.BinaryEncoder {
+    ctor @Deprecated public BinaryCodec();
+    method @Deprecated public Object decode(Object) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public byte[] decode(byte[]);
+    method @Deprecated public byte[] encode(byte[]);
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public static byte[] fromAscii(char[]);
+    method @Deprecated public static byte[] fromAscii(byte[]);
+    method @Deprecated public static byte[] toAsciiBytes(byte[]);
+    method @Deprecated public static char[] toAsciiChars(byte[]);
+    method @Deprecated public static String toAsciiString(byte[]);
+    method @Deprecated public byte[] toByteArray(String);
+  }
+
+  @Deprecated public class Hex implements org.apache.commons.codec.BinaryDecoder org.apache.commons.codec.BinaryEncoder {
+    ctor @Deprecated public Hex();
+    method @Deprecated public byte[] decode(byte[]) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public Object decode(Object) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public static byte[] decodeHex(char[]) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public byte[] encode(byte[]);
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public static char[] encodeHex(byte[]);
+    method @Deprecated protected static int toDigit(char, int) throws org.apache.commons.codec.DecoderException;
+  }
+
+}
+
+package org.apache.commons.codec.language {
+
+  @Deprecated public class DoubleMetaphone implements org.apache.commons.codec.StringEncoder {
+    ctor @Deprecated public DoubleMetaphone();
+    method @Deprecated protected char charAt(String, int);
+    method @Deprecated protected static boolean contains(String, int, int, String[]);
+    method @Deprecated public String doubleMetaphone(String);
+    method @Deprecated public String doubleMetaphone(String, boolean);
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String encode(String);
+    method @Deprecated public int getMaxCodeLen();
+    method @Deprecated public boolean isDoubleMetaphoneEqual(String, String);
+    method @Deprecated public boolean isDoubleMetaphoneEqual(String, String, boolean);
+    method @Deprecated public void setMaxCodeLen(int);
+    field @Deprecated protected int maxCodeLen;
+  }
+
+  @Deprecated public class DoubleMetaphone.DoubleMetaphoneResult {
+    ctor @Deprecated public DoubleMetaphone.DoubleMetaphoneResult(int);
+    method @Deprecated public void append(char);
+    method @Deprecated public void append(char, char);
+    method @Deprecated public void append(String);
+    method @Deprecated public void append(String, String);
+    method @Deprecated public void appendAlternate(char);
+    method @Deprecated public void appendAlternate(String);
+    method @Deprecated public void appendPrimary(char);
+    method @Deprecated public void appendPrimary(String);
+    method @Deprecated public String getAlternate();
+    method @Deprecated public String getPrimary();
+    method @Deprecated public boolean isComplete();
+  }
+
+  @Deprecated public class Metaphone implements org.apache.commons.codec.StringEncoder {
+    ctor @Deprecated public Metaphone();
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String encode(String);
+    method @Deprecated public int getMaxCodeLen();
+    method @Deprecated public boolean isMetaphoneEqual(String, String);
+    method @Deprecated public String metaphone(String);
+    method @Deprecated public void setMaxCodeLen(int);
+  }
+
+  @Deprecated public class RefinedSoundex implements org.apache.commons.codec.StringEncoder {
+    ctor @Deprecated public RefinedSoundex();
+    ctor @Deprecated public RefinedSoundex(char[]);
+    method @Deprecated public int difference(String, String) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String encode(String);
+    method @Deprecated public String soundex(String);
+    field @Deprecated public static final org.apache.commons.codec.language.RefinedSoundex US_ENGLISH;
+    field @Deprecated public static final char[] US_ENGLISH_MAPPING;
+  }
+
+  @Deprecated public class Soundex implements org.apache.commons.codec.StringEncoder {
+    ctor @Deprecated public Soundex();
+    ctor @Deprecated public Soundex(char[]);
+    method @Deprecated public int difference(String, String) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String encode(String);
+    method @Deprecated public int getMaxLength();
+    method @Deprecated public void setMaxLength(int);
+    method @Deprecated public String soundex(String);
+    field @Deprecated public static final org.apache.commons.codec.language.Soundex US_ENGLISH;
+    field @Deprecated public static final char[] US_ENGLISH_MAPPING;
+    field @Deprecated public static final String US_ENGLISH_MAPPING_STRING = "01230120022455012623010202";
+  }
+
+}
+
+package org.apache.commons.codec.net {
+
+  @Deprecated public class BCodec implements org.apache.commons.codec.StringDecoder org.apache.commons.codec.StringEncoder {
+    ctor @Deprecated public BCodec();
+    ctor @Deprecated public BCodec(String);
+    method @Deprecated public String decode(String) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public Object decode(Object) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated protected byte[] doDecoding(byte[]) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated protected byte[] doEncoding(byte[]) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String encode(String, String) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String encode(String) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String getDefaultCharset();
+    method @Deprecated protected String getEncoding();
+  }
+
+  @Deprecated public class QCodec implements org.apache.commons.codec.StringDecoder org.apache.commons.codec.StringEncoder {
+    ctor @Deprecated public QCodec();
+    ctor @Deprecated public QCodec(String);
+    method @Deprecated public String decode(String) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public Object decode(Object) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated protected byte[] doDecoding(byte[]) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated protected byte[] doEncoding(byte[]) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String encode(String, String) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String encode(String) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String getDefaultCharset();
+    method @Deprecated protected String getEncoding();
+    method @Deprecated public boolean isEncodeBlanks();
+    method @Deprecated public void setEncodeBlanks(boolean);
+  }
+
+  @Deprecated public class QuotedPrintableCodec implements org.apache.commons.codec.BinaryDecoder org.apache.commons.codec.BinaryEncoder org.apache.commons.codec.StringDecoder org.apache.commons.codec.StringEncoder {
+    ctor @Deprecated public QuotedPrintableCodec();
+    ctor @Deprecated public QuotedPrintableCodec(String);
+    method @Deprecated public byte[] decode(byte[]) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public String decode(String, String) throws org.apache.commons.codec.DecoderException, java.io.UnsupportedEncodingException;
+    method @Deprecated public String decode(String) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public Object decode(Object) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public static final byte[] decodeQuotedPrintable(byte[]) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public byte[] encode(byte[]);
+    method @Deprecated public String encode(String) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public String encode(String, String) throws java.io.UnsupportedEncodingException;
+    method @Deprecated public static final byte[] encodeQuotedPrintable(java.util.BitSet, byte[]);
+    method @Deprecated public String getDefaultCharset();
+  }
+
+  @Deprecated public class URLCodec implements org.apache.commons.codec.BinaryDecoder org.apache.commons.codec.BinaryEncoder org.apache.commons.codec.StringDecoder org.apache.commons.codec.StringEncoder {
+    ctor @Deprecated public URLCodec();
+    ctor @Deprecated public URLCodec(String);
+    method @Deprecated public byte[] decode(byte[]) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public String decode(String, String) throws org.apache.commons.codec.DecoderException, java.io.UnsupportedEncodingException;
+    method @Deprecated public String decode(String) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public Object decode(Object) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public static final byte[] decodeUrl(byte[]) throws org.apache.commons.codec.DecoderException;
+    method @Deprecated public byte[] encode(byte[]);
+    method @Deprecated public String encode(String, String) throws java.io.UnsupportedEncodingException;
+    method @Deprecated public String encode(String) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public Object encode(Object) throws org.apache.commons.codec.EncoderException;
+    method @Deprecated public static final byte[] encodeUrl(java.util.BitSet, byte[]);
+    method @Deprecated public String getDefaultCharset();
+    method @Deprecated public String getEncoding();
+    field @Deprecated protected static byte ESCAPE_CHAR;
+    field @Deprecated protected static final java.util.BitSet WWW_FORM_URL;
+    field @Deprecated protected String charset;
+  }
+
+}
+
+package org.apache.commons.logging {
+
+  @Deprecated public interface Log {
+    method @Deprecated public void debug(Object);
+    method @Deprecated public void debug(Object, Throwable);
+    method @Deprecated public void error(Object);
+    method @Deprecated public void error(Object, Throwable);
+    method @Deprecated public void fatal(Object);
+    method @Deprecated public void fatal(Object, Throwable);
+    method @Deprecated public void info(Object);
+    method @Deprecated public void info(Object, Throwable);
+    method @Deprecated public boolean isDebugEnabled();
+    method @Deprecated public boolean isErrorEnabled();
+    method @Deprecated public boolean isFatalEnabled();
+    method @Deprecated public boolean isInfoEnabled();
+    method @Deprecated public boolean isTraceEnabled();
+    method @Deprecated public boolean isWarnEnabled();
+    method @Deprecated public void trace(Object);
+    method @Deprecated public void trace(Object, Throwable);
+    method @Deprecated public void warn(Object);
+    method @Deprecated public void warn(Object, Throwable);
+  }
+
+  @Deprecated public class LogConfigurationException extends java.lang.RuntimeException {
+    ctor @Deprecated public LogConfigurationException();
+    ctor @Deprecated public LogConfigurationException(String);
+    ctor @Deprecated public LogConfigurationException(Throwable);
+    ctor @Deprecated public LogConfigurationException(String, Throwable);
+    field @Deprecated protected Throwable cause;
+  }
+
+  @Deprecated public abstract class LogFactory {
+    ctor @Deprecated protected LogFactory();
+    method @Deprecated protected static Object createFactory(String, ClassLoader);
+    method @Deprecated protected static ClassLoader directGetContextClassLoader() throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated public abstract Object getAttribute(String);
+    method @Deprecated public abstract String[] getAttributeNames();
+    method @Deprecated protected static ClassLoader getClassLoader(Class);
+    method @Deprecated protected static ClassLoader getContextClassLoader() throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated public static org.apache.commons.logging.LogFactory getFactory() throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated public abstract org.apache.commons.logging.Log getInstance(Class) throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated public abstract org.apache.commons.logging.Log getInstance(String) throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated public static org.apache.commons.logging.Log getLog(Class) throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated public static org.apache.commons.logging.Log getLog(String) throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated protected static boolean isDiagnosticsEnabled();
+    method @Deprecated protected static final void logRawDiagnostic(String);
+    method @Deprecated protected static org.apache.commons.logging.LogFactory newFactory(String, ClassLoader, ClassLoader) throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated protected static org.apache.commons.logging.LogFactory newFactory(String, ClassLoader);
+    method @Deprecated public static String objectId(Object);
+    method @Deprecated public abstract void release();
+    method @Deprecated public static void release(ClassLoader);
+    method @Deprecated public static void releaseAll();
+    method @Deprecated public abstract void removeAttribute(String);
+    method @Deprecated public abstract void setAttribute(String, Object);
+    field @Deprecated public static final String DIAGNOSTICS_DEST_PROPERTY = "org.apache.commons.logging.diagnostics.dest";
+    field @Deprecated public static final String FACTORY_DEFAULT = "org.apache.commons.logging.impl.LogFactoryImpl";
+    field @Deprecated public static final String FACTORY_PROPERTIES = "commons-logging.properties";
+    field @Deprecated public static final String FACTORY_PROPERTY = "org.apache.commons.logging.LogFactory";
+    field @Deprecated public static final String HASHTABLE_IMPLEMENTATION_PROPERTY = "org.apache.commons.logging.LogFactory.HashtableImpl";
+    field @Deprecated public static final String PRIORITY_KEY = "priority";
+    field @Deprecated protected static final String SERVICE_ID = "META-INF/services/org.apache.commons.logging.LogFactory";
+    field @Deprecated public static final String TCCL_KEY = "use_tccl";
+    field @Deprecated protected static java.util.Hashtable factories;
+    field @Deprecated protected static org.apache.commons.logging.LogFactory nullClassLoaderFactory;
+  }
+
+  @Deprecated public class LogSource {
+    method @Deprecated public static org.apache.commons.logging.Log getInstance(String);
+    method @Deprecated public static org.apache.commons.logging.Log getInstance(Class);
+    method @Deprecated public static String[] getLogNames();
+    method @Deprecated public static org.apache.commons.logging.Log makeNewLogInstance(String);
+    method @Deprecated public static void setLogImplementation(String) throws java.lang.ClassNotFoundException, java.lang.ExceptionInInitializerError, java.lang.LinkageError, java.lang.NoSuchMethodException, java.lang.SecurityException;
+    method @Deprecated public static void setLogImplementation(Class) throws java.lang.ExceptionInInitializerError, java.lang.LinkageError, java.lang.NoSuchMethodException, java.lang.SecurityException;
+    field @Deprecated protected static boolean jdk14IsAvailable;
+    field @Deprecated protected static boolean log4jIsAvailable;
+    field @Deprecated protected static java.lang.reflect.Constructor logImplctor;
+    field @Deprecated protected static java.util.Hashtable logs;
+  }
+
+}
+
+package org.apache.commons.logging.impl {
+
+  @Deprecated public class Jdk14Logger implements org.apache.commons.logging.Log java.io.Serializable {
+    ctor @Deprecated public Jdk14Logger(String);
+    method @Deprecated public void debug(Object);
+    method @Deprecated public void debug(Object, Throwable);
+    method @Deprecated public void error(Object);
+    method @Deprecated public void error(Object, Throwable);
+    method @Deprecated public void fatal(Object);
+    method @Deprecated public void fatal(Object, Throwable);
+    method @Deprecated public java.util.logging.Logger getLogger();
+    method @Deprecated public void info(Object);
+    method @Deprecated public void info(Object, Throwable);
+    method @Deprecated public boolean isDebugEnabled();
+    method @Deprecated public boolean isErrorEnabled();
+    method @Deprecated public boolean isFatalEnabled();
+    method @Deprecated public boolean isInfoEnabled();
+    method @Deprecated public boolean isTraceEnabled();
+    method @Deprecated public boolean isWarnEnabled();
+    method @Deprecated public void trace(Object);
+    method @Deprecated public void trace(Object, Throwable);
+    method @Deprecated public void warn(Object);
+    method @Deprecated public void warn(Object, Throwable);
+    field @Deprecated protected static final java.util.logging.Level dummyLevel;
+    field @Deprecated protected transient java.util.logging.Logger logger;
+    field @Deprecated protected String name;
+  }
+
+  @Deprecated public class LogFactoryImpl extends org.apache.commons.logging.LogFactory {
+    ctor @Deprecated public LogFactoryImpl();
+    method @Deprecated public Object getAttribute(String);
+    method @Deprecated public String[] getAttributeNames();
+    method @Deprecated protected static ClassLoader getClassLoader(Class);
+    method @Deprecated protected static ClassLoader getContextClassLoader() throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated public org.apache.commons.logging.Log getInstance(Class) throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated public org.apache.commons.logging.Log getInstance(String) throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated protected String getLogClassName();
+    method @Deprecated protected java.lang.reflect.Constructor getLogConstructor() throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated protected static boolean isDiagnosticsEnabled();
+    method @Deprecated protected boolean isJdk13LumberjackAvailable();
+    method @Deprecated protected boolean isJdk14Available();
+    method @Deprecated protected boolean isLog4JAvailable();
+    method @Deprecated protected void logDiagnostic(String);
+    method @Deprecated protected org.apache.commons.logging.Log newInstance(String) throws org.apache.commons.logging.LogConfigurationException;
+    method @Deprecated public void release();
+    method @Deprecated public void removeAttribute(String);
+    method @Deprecated public void setAttribute(String, Object);
+    field @Deprecated public static final String ALLOW_FLAWED_CONTEXT_PROPERTY = "org.apache.commons.logging.Log.allowFlawedContext";
+    field @Deprecated public static final String ALLOW_FLAWED_DISCOVERY_PROPERTY = "org.apache.commons.logging.Log.allowFlawedDiscovery";
+    field @Deprecated public static final String ALLOW_FLAWED_HIERARCHY_PROPERTY = "org.apache.commons.logging.Log.allowFlawedHierarchy";
+    field @Deprecated public static final String LOG_PROPERTY = "org.apache.commons.logging.Log";
+    field @Deprecated protected static final String LOG_PROPERTY_OLD = "org.apache.commons.logging.log";
+    field @Deprecated protected java.util.Hashtable attributes;
+    field @Deprecated protected java.util.Hashtable instances;
+    field @Deprecated protected java.lang.reflect.Constructor logConstructor;
+    field @Deprecated protected Class[] logConstructorSignature;
+    field @Deprecated protected java.lang.reflect.Method logMethod;
+    field @Deprecated protected Class[] logMethodSignature;
+  }
+
+  @Deprecated public class NoOpLog implements org.apache.commons.logging.Log java.io.Serializable {
+    ctor @Deprecated public NoOpLog();
+    ctor @Deprecated public NoOpLog(String);
+    method @Deprecated public void debug(Object);
+    method @Deprecated public void debug(Object, Throwable);
+    method @Deprecated public void error(Object);
+    method @Deprecated public void error(Object, Throwable);
+    method @Deprecated public void fatal(Object);
+    method @Deprecated public void fatal(Object, Throwable);
+    method @Deprecated public void info(Object);
+    method @Deprecated public void info(Object, Throwable);
+    method @Deprecated public final boolean isDebugEnabled();
+    method @Deprecated public final boolean isErrorEnabled();
+    method @Deprecated public final boolean isFatalEnabled();
+    method @Deprecated public final boolean isInfoEnabled();
+    method @Deprecated public final boolean isTraceEnabled();
+    method @Deprecated public final boolean isWarnEnabled();
+    method @Deprecated public void trace(Object);
+    method @Deprecated public void trace(Object, Throwable);
+    method @Deprecated public void warn(Object);
+    method @Deprecated public void warn(Object, Throwable);
+  }
+
+  @Deprecated public class SimpleLog implements org.apache.commons.logging.Log java.io.Serializable {
+    ctor @Deprecated public SimpleLog(String);
+    method @Deprecated public final void debug(Object);
+    method @Deprecated public final void debug(Object, Throwable);
+    method @Deprecated public final void error(Object);
+    method @Deprecated public final void error(Object, Throwable);
+    method @Deprecated public final void fatal(Object);
+    method @Deprecated public final void fatal(Object, Throwable);
+    method @Deprecated public int getLevel();
+    method @Deprecated public final void info(Object);
+    method @Deprecated public final void info(Object, Throwable);
+    method @Deprecated public final boolean isDebugEnabled();
+    method @Deprecated public final boolean isErrorEnabled();
+    method @Deprecated public final boolean isFatalEnabled();
+    method @Deprecated public final boolean isInfoEnabled();
+    method @Deprecated protected boolean isLevelEnabled(int);
+    method @Deprecated public final boolean isTraceEnabled();
+    method @Deprecated public final boolean isWarnEnabled();
+    method @Deprecated protected void log(int, Object, Throwable);
+    method @Deprecated public void setLevel(int);
+    method @Deprecated public final void trace(Object);
+    method @Deprecated public final void trace(Object, Throwable);
+    method @Deprecated public final void warn(Object);
+    method @Deprecated public final void warn(Object, Throwable);
+    method @Deprecated protected void write(StringBuffer);
+    field @Deprecated protected static final String DEFAULT_DATE_TIME_FORMAT = "yyyy/MM/dd HH:mm:ss:SSS zzz";
+    field @Deprecated public static final int LOG_LEVEL_ALL = 0; // 0x0
+    field @Deprecated public static final int LOG_LEVEL_DEBUG = 2; // 0x2
+    field @Deprecated public static final int LOG_LEVEL_ERROR = 5; // 0x5
+    field @Deprecated public static final int LOG_LEVEL_FATAL = 6; // 0x6
+    field @Deprecated public static final int LOG_LEVEL_INFO = 3; // 0x3
+    field @Deprecated public static final int LOG_LEVEL_OFF = 7; // 0x7
+    field @Deprecated public static final int LOG_LEVEL_TRACE = 1; // 0x1
+    field @Deprecated public static final int LOG_LEVEL_WARN = 4; // 0x4
+    field @Deprecated protected int currentLogLevel;
+    field @Deprecated protected static java.text.DateFormat dateFormatter;
+    field @Deprecated protected static String dateTimeFormat;
+    field @Deprecated protected String logName;
+    field @Deprecated protected static boolean showDateTime;
+    field @Deprecated protected static boolean showLogName;
+    field @Deprecated protected static boolean showShortName;
+    field @Deprecated protected static final java.util.Properties simpleLogProps;
+    field @Deprecated protected static final String systemPrefix = "org.apache.commons.logging.simplelog.";
+  }
+
+  @Deprecated public final class WeakHashtable extends java.util.Hashtable {
+    ctor @Deprecated public WeakHashtable();
+    method @Deprecated public java.util.Enumeration elements();
+    method @Deprecated public java.util.Set entrySet();
+    method @Deprecated public Object get(Object);
+    method @Deprecated public java.util.Set keySet();
+    method @Deprecated public java.util.Enumeration keys();
+    method @Deprecated public Object put(Object, Object);
+    method @Deprecated public void putAll(java.util.Map);
+    method @Deprecated public Object remove(Object);
+    method @Deprecated public java.util.Collection values();
+  }
+
+}
+
+package org.apache.http {
+
+  @Deprecated public class ConnectionClosedException extends java.io.IOException {
+    ctor @Deprecated public ConnectionClosedException(String);
+  }
+
+  @Deprecated public interface ConnectionReuseStrategy {
+    method @Deprecated public boolean keepAlive(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public interface FormattedHeader extends org.apache.http.Header {
+    method @Deprecated public org.apache.http.util.CharArrayBuffer getBuffer();
+    method @Deprecated public int getValuePos();
+  }
+
+  @Deprecated public interface Header {
+    method @Deprecated public org.apache.http.HeaderElement[] getElements() throws org.apache.http.ParseException;
+    method @Deprecated public String getName();
+    method @Deprecated public String getValue();
+  }
+
+  @Deprecated public interface HeaderElement {
+    method @Deprecated public String getName();
+    method @Deprecated public org.apache.http.NameValuePair getParameter(int);
+    method @Deprecated public org.apache.http.NameValuePair getParameterByName(String);
+    method @Deprecated public int getParameterCount();
+    method @Deprecated public org.apache.http.NameValuePair[] getParameters();
+    method @Deprecated public String getValue();
+  }
+
+  @Deprecated public interface HeaderElementIterator extends java.util.Iterator {
+    method @Deprecated public org.apache.http.HeaderElement nextElement();
+  }
+
+  @Deprecated public interface HeaderIterator extends java.util.Iterator {
+    method @Deprecated public org.apache.http.Header nextHeader();
+  }
+
+  @Deprecated public interface HttpClientConnection extends org.apache.http.HttpConnection {
+    method @Deprecated public void flush() throws java.io.IOException;
+    method @Deprecated public boolean isResponseAvailable(int) throws java.io.IOException;
+    method @Deprecated public void receiveResponseEntity(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public org.apache.http.HttpResponse receiveResponseHeader() throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void sendRequestHeader(org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public interface HttpConnection {
+    method @Deprecated public void close() throws java.io.IOException;
+    method @Deprecated public org.apache.http.HttpConnectionMetrics getMetrics();
+    method @Deprecated public int getSocketTimeout();
+    method @Deprecated public boolean isOpen();
+    method @Deprecated public boolean isStale();
+    method @Deprecated public void setSocketTimeout(int);
+    method @Deprecated public void shutdown() throws java.io.IOException;
+  }
+
+  @Deprecated public interface HttpConnectionMetrics {
+    method @Deprecated public Object getMetric(String);
+    method @Deprecated public long getReceivedBytesCount();
+    method @Deprecated public long getRequestCount();
+    method @Deprecated public long getResponseCount();
+    method @Deprecated public long getSentBytesCount();
+    method @Deprecated public void reset();
+  }
+
+  @Deprecated public interface HttpEntity {
+    method @Deprecated public void consumeContent() throws java.io.IOException;
+    method @Deprecated public java.io.InputStream getContent() throws java.io.IOException, java.lang.IllegalStateException;
+    method @Deprecated public org.apache.http.Header getContentEncoding();
+    method @Deprecated public long getContentLength();
+    method @Deprecated public org.apache.http.Header getContentType();
+    method @Deprecated public boolean isChunked();
+    method @Deprecated public boolean isRepeatable();
+    method @Deprecated public boolean isStreaming();
+    method @Deprecated public void writeTo(java.io.OutputStream) throws java.io.IOException;
+  }
+
+  @Deprecated public interface HttpEntityEnclosingRequest extends org.apache.http.HttpRequest {
+    method @Deprecated public boolean expectContinue();
+    method @Deprecated public org.apache.http.HttpEntity getEntity();
+    method @Deprecated public void setEntity(org.apache.http.HttpEntity);
+  }
+
+  @Deprecated public class HttpException extends java.lang.Exception {
+    ctor @Deprecated public HttpException();
+    ctor @Deprecated public HttpException(String);
+    ctor @Deprecated public HttpException(String, Throwable);
+  }
+
+  @Deprecated public final class HttpHost implements java.lang.Cloneable {
+    ctor @Deprecated public HttpHost(String, int, String);
+    ctor @Deprecated public HttpHost(String, int);
+    ctor @Deprecated public HttpHost(String);
+    ctor @Deprecated public HttpHost(org.apache.http.HttpHost);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public String getHostName();
+    method @Deprecated public int getPort();
+    method @Deprecated public String getSchemeName();
+    method @Deprecated public String toHostString();
+    method @Deprecated public String toURI();
+    field @Deprecated public static final String DEFAULT_SCHEME_NAME = "http";
+    field @Deprecated protected final String hostname;
+    field @Deprecated protected final String lcHostname;
+    field @Deprecated protected final int port;
+    field @Deprecated protected final String schemeName;
+  }
+
+  @Deprecated public interface HttpInetConnection extends org.apache.http.HttpConnection {
+    method @Deprecated public java.net.InetAddress getLocalAddress();
+    method @Deprecated public int getLocalPort();
+    method @Deprecated public java.net.InetAddress getRemoteAddress();
+    method @Deprecated public int getRemotePort();
+  }
+
+  @Deprecated public interface HttpMessage {
+    method @Deprecated public void addHeader(org.apache.http.Header);
+    method @Deprecated public void addHeader(String, String);
+    method @Deprecated public boolean containsHeader(String);
+    method @Deprecated public org.apache.http.Header[] getAllHeaders();
+    method @Deprecated public org.apache.http.Header getFirstHeader(String);
+    method @Deprecated public org.apache.http.Header[] getHeaders(String);
+    method @Deprecated public org.apache.http.Header getLastHeader(String);
+    method @Deprecated public org.apache.http.params.HttpParams getParams();
+    method @Deprecated public org.apache.http.ProtocolVersion getProtocolVersion();
+    method @Deprecated public org.apache.http.HeaderIterator headerIterator();
+    method @Deprecated public org.apache.http.HeaderIterator headerIterator(String);
+    method @Deprecated public void removeHeader(org.apache.http.Header);
+    method @Deprecated public void removeHeaders(String);
+    method @Deprecated public void setHeader(org.apache.http.Header);
+    method @Deprecated public void setHeader(String, String);
+    method @Deprecated public void setHeaders(org.apache.http.Header[]);
+    method @Deprecated public void setParams(org.apache.http.params.HttpParams);
+  }
+
+  @Deprecated public interface HttpRequest extends org.apache.http.HttpMessage {
+    method @Deprecated public org.apache.http.RequestLine getRequestLine();
+  }
+
+  @Deprecated public interface HttpRequestFactory {
+    method @Deprecated public org.apache.http.HttpRequest newHttpRequest(org.apache.http.RequestLine) throws org.apache.http.MethodNotSupportedException;
+    method @Deprecated public org.apache.http.HttpRequest newHttpRequest(String, String) throws org.apache.http.MethodNotSupportedException;
+  }
+
+  @Deprecated public interface HttpRequestInterceptor {
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public interface HttpResponse extends org.apache.http.HttpMessage {
+    method @Deprecated public org.apache.http.HttpEntity getEntity();
+    method @Deprecated public java.util.Locale getLocale();
+    method @Deprecated public org.apache.http.StatusLine getStatusLine();
+    method @Deprecated public void setEntity(org.apache.http.HttpEntity);
+    method @Deprecated public void setLocale(java.util.Locale);
+    method @Deprecated public void setReasonPhrase(String) throws java.lang.IllegalStateException;
+    method @Deprecated public void setStatusCode(int) throws java.lang.IllegalStateException;
+    method @Deprecated public void setStatusLine(org.apache.http.StatusLine);
+    method @Deprecated public void setStatusLine(org.apache.http.ProtocolVersion, int);
+    method @Deprecated public void setStatusLine(org.apache.http.ProtocolVersion, int, String);
+  }
+
+  @Deprecated public interface HttpResponseFactory {
+    method @Deprecated public org.apache.http.HttpResponse newHttpResponse(org.apache.http.ProtocolVersion, int, org.apache.http.protocol.HttpContext);
+    method @Deprecated public org.apache.http.HttpResponse newHttpResponse(org.apache.http.StatusLine, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public interface HttpResponseInterceptor {
+    method @Deprecated public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public interface HttpServerConnection extends org.apache.http.HttpConnection {
+    method @Deprecated public void flush() throws java.io.IOException;
+    method @Deprecated public void receiveRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public org.apache.http.HttpRequest receiveRequestHeader() throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void sendResponseEntity(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void sendResponseHeader(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public interface HttpStatus {
+    field @Deprecated public static final int SC_ACCEPTED = 202; // 0xca
+    field @Deprecated public static final int SC_BAD_GATEWAY = 502; // 0x1f6
+    field @Deprecated public static final int SC_BAD_REQUEST = 400; // 0x190
+    field @Deprecated public static final int SC_CONFLICT = 409; // 0x199
+    field @Deprecated public static final int SC_CONTINUE = 100; // 0x64
+    field @Deprecated public static final int SC_CREATED = 201; // 0xc9
+    field @Deprecated public static final int SC_EXPECTATION_FAILED = 417; // 0x1a1
+    field @Deprecated public static final int SC_FAILED_DEPENDENCY = 424; // 0x1a8
+    field @Deprecated public static final int SC_FORBIDDEN = 403; // 0x193
+    field @Deprecated public static final int SC_GATEWAY_TIMEOUT = 504; // 0x1f8
+    field @Deprecated public static final int SC_GONE = 410; // 0x19a
+    field @Deprecated public static final int SC_HTTP_VERSION_NOT_SUPPORTED = 505; // 0x1f9
+    field @Deprecated public static final int SC_INSUFFICIENT_SPACE_ON_RESOURCE = 419; // 0x1a3
+    field @Deprecated public static final int SC_INSUFFICIENT_STORAGE = 507; // 0x1fb
+    field @Deprecated public static final int SC_INTERNAL_SERVER_ERROR = 500; // 0x1f4
+    field @Deprecated public static final int SC_LENGTH_REQUIRED = 411; // 0x19b
+    field @Deprecated public static final int SC_LOCKED = 423; // 0x1a7
+    field @Deprecated public static final int SC_METHOD_FAILURE = 420; // 0x1a4
+    field @Deprecated public static final int SC_METHOD_NOT_ALLOWED = 405; // 0x195
+    field @Deprecated public static final int SC_MOVED_PERMANENTLY = 301; // 0x12d
+    field @Deprecated public static final int SC_MOVED_TEMPORARILY = 302; // 0x12e
+    field @Deprecated public static final int SC_MULTIPLE_CHOICES = 300; // 0x12c
+    field @Deprecated public static final int SC_MULTI_STATUS = 207; // 0xcf
+    field @Deprecated public static final int SC_NON_AUTHORITATIVE_INFORMATION = 203; // 0xcb
+    field @Deprecated public static final int SC_NOT_ACCEPTABLE = 406; // 0x196
+    field @Deprecated public static final int SC_NOT_FOUND = 404; // 0x194
+    field @Deprecated public static final int SC_NOT_IMPLEMENTED = 501; // 0x1f5
+    field @Deprecated public static final int SC_NOT_MODIFIED = 304; // 0x130
+    field @Deprecated public static final int SC_NO_CONTENT = 204; // 0xcc
+    field @Deprecated public static final int SC_OK = 200; // 0xc8
+    field @Deprecated public static final int SC_PARTIAL_CONTENT = 206; // 0xce
+    field @Deprecated public static final int SC_PAYMENT_REQUIRED = 402; // 0x192
+    field @Deprecated public static final int SC_PRECONDITION_FAILED = 412; // 0x19c
+    field @Deprecated public static final int SC_PROCESSING = 102; // 0x66
+    field @Deprecated public static final int SC_PROXY_AUTHENTICATION_REQUIRED = 407; // 0x197
+    field @Deprecated public static final int SC_REQUESTED_RANGE_NOT_SATISFIABLE = 416; // 0x1a0
+    field @Deprecated public static final int SC_REQUEST_TIMEOUT = 408; // 0x198
+    field @Deprecated public static final int SC_REQUEST_TOO_LONG = 413; // 0x19d
+    field @Deprecated public static final int SC_REQUEST_URI_TOO_LONG = 414; // 0x19e
+    field @Deprecated public static final int SC_RESET_CONTENT = 205; // 0xcd
+    field @Deprecated public static final int SC_SEE_OTHER = 303; // 0x12f
+    field @Deprecated public static final int SC_SERVICE_UNAVAILABLE = 503; // 0x1f7
+    field @Deprecated public static final int SC_SWITCHING_PROTOCOLS = 101; // 0x65
+    field @Deprecated public static final int SC_TEMPORARY_REDIRECT = 307; // 0x133
+    field @Deprecated public static final int SC_UNAUTHORIZED = 401; // 0x191
+    field @Deprecated public static final int SC_UNPROCESSABLE_ENTITY = 422; // 0x1a6
+    field @Deprecated public static final int SC_UNSUPPORTED_MEDIA_TYPE = 415; // 0x19f
+    field @Deprecated public static final int SC_USE_PROXY = 305; // 0x131
+  }
+
+  @Deprecated public final class HttpVersion extends org.apache.http.ProtocolVersion implements java.io.Serializable {
+    ctor @Deprecated public HttpVersion(int, int);
+    field @Deprecated public static final String HTTP = "HTTP";
+    field @Deprecated public static final org.apache.http.HttpVersion HTTP_0_9;
+    field @Deprecated public static final org.apache.http.HttpVersion HTTP_1_0;
+    field @Deprecated public static final org.apache.http.HttpVersion HTTP_1_1;
+  }
+
+  @Deprecated public class MalformedChunkCodingException extends java.io.IOException {
+    ctor @Deprecated public MalformedChunkCodingException();
+    ctor @Deprecated public MalformedChunkCodingException(String);
+  }
+
+  @Deprecated public class MethodNotSupportedException extends org.apache.http.HttpException {
+    ctor @Deprecated public MethodNotSupportedException(String);
+    ctor @Deprecated public MethodNotSupportedException(String, Throwable);
+  }
+
+  @Deprecated public interface NameValuePair {
+    method @Deprecated public String getName();
+    method @Deprecated public String getValue();
+  }
+
+  @Deprecated public class NoHttpResponseException extends java.io.IOException {
+    ctor @Deprecated public NoHttpResponseException(String);
+  }
+
+  @Deprecated public class ParseException extends java.lang.RuntimeException {
+    ctor @Deprecated public ParseException();
+    ctor @Deprecated public ParseException(String);
+  }
+
+  @Deprecated public class ProtocolException extends org.apache.http.HttpException {
+    ctor @Deprecated public ProtocolException();
+    ctor @Deprecated public ProtocolException(String);
+    ctor @Deprecated public ProtocolException(String, Throwable);
+  }
+
+  @Deprecated public class ProtocolVersion implements java.lang.Cloneable java.io.Serializable {
+    ctor @Deprecated public ProtocolVersion(String, int, int);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public int compareToVersion(org.apache.http.ProtocolVersion);
+    method @Deprecated public final boolean equals(Object);
+    method @Deprecated public org.apache.http.ProtocolVersion forVersion(int, int);
+    method @Deprecated public final int getMajor();
+    method @Deprecated public final int getMinor();
+    method @Deprecated public final String getProtocol();
+    method @Deprecated public final boolean greaterEquals(org.apache.http.ProtocolVersion);
+    method @Deprecated public final int hashCode();
+    method @Deprecated public boolean isComparable(org.apache.http.ProtocolVersion);
+    method @Deprecated public final boolean lessEquals(org.apache.http.ProtocolVersion);
+    field @Deprecated protected final int major;
+    field @Deprecated protected final int minor;
+    field @Deprecated protected final String protocol;
+  }
+
+  @Deprecated public interface ReasonPhraseCatalog {
+    method @Deprecated public String getReason(int, java.util.Locale);
+  }
+
+  @Deprecated public interface RequestLine {
+    method @Deprecated public String getMethod();
+    method @Deprecated public org.apache.http.ProtocolVersion getProtocolVersion();
+    method @Deprecated public String getUri();
+  }
+
+  @Deprecated public interface StatusLine {
+    method @Deprecated public org.apache.http.ProtocolVersion getProtocolVersion();
+    method @Deprecated public String getReasonPhrase();
+    method @Deprecated public int getStatusCode();
+  }
+
+  @Deprecated public interface TokenIterator extends java.util.Iterator {
+    method @Deprecated public String nextToken();
+  }
+
+  @Deprecated public class UnsupportedHttpVersionException extends org.apache.http.ProtocolException {
+    ctor @Deprecated public UnsupportedHttpVersionException();
+    ctor @Deprecated public UnsupportedHttpVersionException(String);
+  }
+
+}
+
+package org.apache.http.auth {
+
+  @Deprecated public final class AUTH {
+    field @Deprecated public static final String PROXY_AUTH = "Proxy-Authenticate";
+    field @Deprecated public static final String PROXY_AUTH_RESP = "Proxy-Authorization";
+    field @Deprecated public static final String WWW_AUTH = "WWW-Authenticate";
+    field @Deprecated public static final String WWW_AUTH_RESP = "Authorization";
+  }
+
+  @Deprecated public interface AuthScheme {
+    method @Deprecated public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException;
+    method @Deprecated public String getParameter(String);
+    method @Deprecated public String getRealm();
+    method @Deprecated public String getSchemeName();
+    method @Deprecated public boolean isComplete();
+    method @Deprecated public boolean isConnectionBased();
+    method @Deprecated public void processChallenge(org.apache.http.Header) throws org.apache.http.auth.MalformedChallengeException;
+  }
+
+  @Deprecated public interface AuthSchemeFactory {
+    method @Deprecated public org.apache.http.auth.AuthScheme newInstance(org.apache.http.params.HttpParams);
+  }
+
+  @Deprecated public final class AuthSchemeRegistry {
+    ctor @Deprecated public AuthSchemeRegistry();
+    method @Deprecated public org.apache.http.auth.AuthScheme getAuthScheme(String, org.apache.http.params.HttpParams) throws java.lang.IllegalStateException;
+    method @Deprecated public java.util.List<java.lang.String> getSchemeNames();
+    method @Deprecated public void register(String, org.apache.http.auth.AuthSchemeFactory);
+    method @Deprecated public void setItems(java.util.Map<java.lang.String,org.apache.http.auth.AuthSchemeFactory>);
+    method @Deprecated public void unregister(String);
+  }
+
+  @Deprecated public class AuthScope {
+    ctor @Deprecated public AuthScope(String, int, String, String);
+    ctor @Deprecated public AuthScope(String, int, String);
+    ctor @Deprecated public AuthScope(String, int);
+    ctor @Deprecated public AuthScope(org.apache.http.auth.AuthScope);
+    method @Deprecated public String getHost();
+    method @Deprecated public int getPort();
+    method @Deprecated public String getRealm();
+    method @Deprecated public String getScheme();
+    method @Deprecated public int match(org.apache.http.auth.AuthScope);
+    field @Deprecated public static final org.apache.http.auth.AuthScope ANY;
+    field @Deprecated public static final String ANY_HOST;
+    field @Deprecated public static final int ANY_PORT = -1; // 0xffffffff
+    field @Deprecated public static final String ANY_REALM;
+    field @Deprecated public static final String ANY_SCHEME;
+  }
+
+  @Deprecated public class AuthState {
+    ctor @Deprecated public AuthState();
+    method @Deprecated public org.apache.http.auth.AuthScheme getAuthScheme();
+    method @Deprecated public org.apache.http.auth.AuthScope getAuthScope();
+    method @Deprecated public org.apache.http.auth.Credentials getCredentials();
+    method @Deprecated public void invalidate();
+    method @Deprecated public boolean isValid();
+    method @Deprecated public void setAuthScheme(org.apache.http.auth.AuthScheme);
+    method @Deprecated public void setAuthScope(org.apache.http.auth.AuthScope);
+    method @Deprecated public void setCredentials(org.apache.http.auth.Credentials);
+  }
+
+  @Deprecated public class AuthenticationException extends org.apache.http.ProtocolException {
+    ctor @Deprecated public AuthenticationException();
+    ctor @Deprecated public AuthenticationException(String);
+    ctor @Deprecated public AuthenticationException(String, Throwable);
+  }
+
+  @Deprecated public final class BasicUserPrincipal implements java.security.Principal {
+    ctor @Deprecated public BasicUserPrincipal(String);
+    method @Deprecated public String getName();
+  }
+
+  @Deprecated public interface Credentials {
+    method @Deprecated public String getPassword();
+    method @Deprecated public java.security.Principal getUserPrincipal();
+  }
+
+  @Deprecated public class InvalidCredentialsException extends org.apache.http.auth.AuthenticationException {
+    ctor @Deprecated public InvalidCredentialsException();
+    ctor @Deprecated public InvalidCredentialsException(String);
+    ctor @Deprecated public InvalidCredentialsException(String, Throwable);
+  }
+
+  @Deprecated public class MalformedChallengeException extends org.apache.http.ProtocolException {
+    ctor @Deprecated public MalformedChallengeException();
+    ctor @Deprecated public MalformedChallengeException(String);
+    ctor @Deprecated public MalformedChallengeException(String, Throwable);
+  }
+
+  @Deprecated public class NTCredentials implements org.apache.http.auth.Credentials {
+    ctor @Deprecated public NTCredentials(String);
+    ctor @Deprecated public NTCredentials(String, String, String, String);
+    method @Deprecated public String getDomain();
+    method @Deprecated public String getPassword();
+    method @Deprecated public String getUserName();
+    method @Deprecated public java.security.Principal getUserPrincipal();
+    method @Deprecated public String getWorkstation();
+  }
+
+  @Deprecated public class NTUserPrincipal implements java.security.Principal {
+    ctor @Deprecated public NTUserPrincipal(String, String);
+    method @Deprecated public String getDomain();
+    method @Deprecated public String getName();
+    method @Deprecated public String getUsername();
+  }
+
+  @Deprecated public class UsernamePasswordCredentials implements org.apache.http.auth.Credentials {
+    ctor @Deprecated public UsernamePasswordCredentials(String);
+    ctor @Deprecated public UsernamePasswordCredentials(String, String);
+    method @Deprecated public String getPassword();
+    method @Deprecated public String getUserName();
+    method @Deprecated public java.security.Principal getUserPrincipal();
+  }
+
+}
+
+package org.apache.http.auth.params {
+
+  @Deprecated public interface AuthPNames {
+    field @Deprecated public static final String CREDENTIAL_CHARSET = "http.auth.credential-charset";
+  }
+
+  @Deprecated public class AuthParamBean extends org.apache.http.params.HttpAbstractParamBean {
+    ctor @Deprecated public AuthParamBean(org.apache.http.params.HttpParams);
+    method @Deprecated public void setCredentialCharset(String);
+  }
+
+  @Deprecated public final class AuthParams {
+    method @Deprecated public static String getCredentialCharset(org.apache.http.params.HttpParams);
+    method @Deprecated public static void setCredentialCharset(org.apache.http.params.HttpParams, String);
+  }
+
+}
+
+package org.apache.http.client {
+
+  @Deprecated public interface AuthenticationHandler {
+    method @Deprecated public java.util.Map<java.lang.String,org.apache.http.Header> getChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
+    method @Deprecated public boolean isAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+    method @Deprecated public org.apache.http.auth.AuthScheme selectScheme(java.util.Map<java.lang.String,org.apache.http.Header>, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.AuthenticationException;
+  }
+
+  @Deprecated public class CircularRedirectException extends org.apache.http.client.RedirectException {
+    ctor @Deprecated public CircularRedirectException();
+    ctor @Deprecated public CircularRedirectException(String);
+    ctor @Deprecated public CircularRedirectException(String, Throwable);
+  }
+
+  @Deprecated public class ClientProtocolException extends java.io.IOException {
+    ctor @Deprecated public ClientProtocolException();
+    ctor @Deprecated public ClientProtocolException(String);
+    ctor @Deprecated public ClientProtocolException(Throwable);
+    ctor @Deprecated public ClientProtocolException(String, Throwable);
+  }
+
+  @Deprecated public interface CookieStore {
+    method @Deprecated public void addCookie(org.apache.http.cookie.Cookie);
+    method @Deprecated public void clear();
+    method @Deprecated public boolean clearExpired(java.util.Date);
+    method @Deprecated public java.util.List<org.apache.http.cookie.Cookie> getCookies();
+  }
+
+  @Deprecated public interface CredentialsProvider {
+    method @Deprecated public void clear();
+    method @Deprecated public org.apache.http.auth.Credentials getCredentials(org.apache.http.auth.AuthScope);
+    method @Deprecated public void setCredentials(org.apache.http.auth.AuthScope, org.apache.http.auth.Credentials);
+  }
+
+  @Deprecated public interface HttpClient {
+    method @Deprecated public org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public <T> T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public <T> T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public <T> T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public <T> T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public org.apache.http.conn.ClientConnectionManager getConnectionManager();
+    method @Deprecated public org.apache.http.params.HttpParams getParams();
+  }
+
+  @Deprecated public interface HttpRequestRetryHandler {
+    method @Deprecated public boolean retryRequest(java.io.IOException, int, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class HttpResponseException extends org.apache.http.client.ClientProtocolException {
+    ctor @Deprecated public HttpResponseException(int, String);
+    method @Deprecated public int getStatusCode();
+  }
+
+  @Deprecated public class NonRepeatableRequestException extends org.apache.http.ProtocolException {
+    ctor @Deprecated public NonRepeatableRequestException();
+    ctor @Deprecated public NonRepeatableRequestException(String);
+  }
+
+  @Deprecated public class RedirectException extends org.apache.http.ProtocolException {
+    ctor @Deprecated public RedirectException();
+    ctor @Deprecated public RedirectException(String);
+    ctor @Deprecated public RedirectException(String, Throwable);
+  }
+
+  @Deprecated public interface RedirectHandler {
+    method @Deprecated public java.net.URI getLocationURI(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.ProtocolException;
+    method @Deprecated public boolean isRedirectRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public interface RequestDirector {
+    method @Deprecated public org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public interface ResponseHandler<T> {
+    method @Deprecated public T handleResponse(org.apache.http.HttpResponse) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+  }
+
+  @Deprecated public interface UserTokenHandler {
+    method @Deprecated public Object getUserToken(org.apache.http.protocol.HttpContext);
+  }
+
+}
+
+package org.apache.http.client.entity {
+
+  @Deprecated public class UrlEncodedFormEntity extends org.apache.http.entity.StringEntity {
+    ctor @Deprecated public UrlEncodedFormEntity(java.util.List<? extends org.apache.http.NameValuePair>, String) throws java.io.UnsupportedEncodingException;
+    ctor @Deprecated public UrlEncodedFormEntity(java.util.List<? extends org.apache.http.NameValuePair>) throws java.io.UnsupportedEncodingException;
+  }
+
+}
+
+package org.apache.http.client.methods {
+
+  @Deprecated public interface AbortableHttpRequest {
+    method @Deprecated public void abort();
+    method @Deprecated public void setConnectionRequest(org.apache.http.conn.ClientConnectionRequest) throws java.io.IOException;
+    method @Deprecated public void setReleaseTrigger(org.apache.http.conn.ConnectionReleaseTrigger) throws java.io.IOException;
+  }
+
+  @Deprecated public class HttpDelete extends org.apache.http.client.methods.HttpRequestBase {
+    ctor @Deprecated public HttpDelete();
+    ctor @Deprecated public HttpDelete(java.net.URI);
+    ctor @Deprecated public HttpDelete(String);
+    method @Deprecated public String getMethod();
+    field @Deprecated public static final String METHOD_NAME = "DELETE";
+  }
+
+  @Deprecated public abstract class HttpEntityEnclosingRequestBase extends org.apache.http.client.methods.HttpRequestBase implements org.apache.http.HttpEntityEnclosingRequest {
+    ctor @Deprecated public HttpEntityEnclosingRequestBase();
+    method @Deprecated public boolean expectContinue();
+    method @Deprecated public org.apache.http.HttpEntity getEntity();
+    method @Deprecated public void setEntity(org.apache.http.HttpEntity);
+  }
+
+  @Deprecated public class HttpGet extends org.apache.http.client.methods.HttpRequestBase {
+    ctor @Deprecated public HttpGet();
+    ctor @Deprecated public HttpGet(java.net.URI);
+    ctor @Deprecated public HttpGet(String);
+    method @Deprecated public String getMethod();
+    field @Deprecated public static final String METHOD_NAME = "GET";
+  }
+
+  @Deprecated public class HttpHead extends org.apache.http.client.methods.HttpRequestBase {
+    ctor @Deprecated public HttpHead();
+    ctor @Deprecated public HttpHead(java.net.URI);
+    ctor @Deprecated public HttpHead(String);
+    method @Deprecated public String getMethod();
+    field @Deprecated public static final String METHOD_NAME = "HEAD";
+  }
+
+  @Deprecated public class HttpOptions extends org.apache.http.client.methods.HttpRequestBase {
+    ctor @Deprecated public HttpOptions();
+    ctor @Deprecated public HttpOptions(java.net.URI);
+    ctor @Deprecated public HttpOptions(String);
+    method @Deprecated public java.util.Set<java.lang.String> getAllowedMethods(org.apache.http.HttpResponse);
+    method @Deprecated public String getMethod();
+    field @Deprecated public static final String METHOD_NAME = "OPTIONS";
+  }
+
+  @Deprecated public class HttpPost extends org.apache.http.client.methods.HttpEntityEnclosingRequestBase {
+    ctor @Deprecated public HttpPost();
+    ctor @Deprecated public HttpPost(java.net.URI);
+    ctor @Deprecated public HttpPost(String);
+    method @Deprecated public String getMethod();
+    field @Deprecated public static final String METHOD_NAME = "POST";
+  }
+
+  @Deprecated public class HttpPut extends org.apache.http.client.methods.HttpEntityEnclosingRequestBase {
+    ctor @Deprecated public HttpPut();
+    ctor @Deprecated public HttpPut(java.net.URI);
+    ctor @Deprecated public HttpPut(String);
+    method @Deprecated public String getMethod();
+    field @Deprecated public static final String METHOD_NAME = "PUT";
+  }
+
+  @Deprecated public abstract class HttpRequestBase extends org.apache.http.message.AbstractHttpMessage implements org.apache.http.client.methods.AbortableHttpRequest java.lang.Cloneable org.apache.http.client.methods.HttpUriRequest {
+    ctor @Deprecated public HttpRequestBase();
+    method @Deprecated public void abort();
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public org.apache.http.ProtocolVersion getProtocolVersion();
+    method @Deprecated public org.apache.http.RequestLine getRequestLine();
+    method @Deprecated public java.net.URI getURI();
+    method @Deprecated public boolean isAborted();
+    method @Deprecated public void setConnectionRequest(org.apache.http.conn.ClientConnectionRequest) throws java.io.IOException;
+    method @Deprecated public void setReleaseTrigger(org.apache.http.conn.ConnectionReleaseTrigger) throws java.io.IOException;
+    method @Deprecated public void setURI(java.net.URI);
+  }
+
+  @Deprecated public class HttpTrace extends org.apache.http.client.methods.HttpRequestBase {
+    ctor @Deprecated public HttpTrace();
+    ctor @Deprecated public HttpTrace(java.net.URI);
+    ctor @Deprecated public HttpTrace(String);
+    method @Deprecated public String getMethod();
+    field @Deprecated public static final String METHOD_NAME = "TRACE";
+  }
+
+  @Deprecated public interface HttpUriRequest extends org.apache.http.HttpRequest {
+    method @Deprecated public void abort() throws java.lang.UnsupportedOperationException;
+    method @Deprecated public String getMethod();
+    method @Deprecated public java.net.URI getURI();
+    method @Deprecated public boolean isAborted();
+  }
+
+}
+
+package org.apache.http.client.params {
+
+  @Deprecated public interface AllClientPNames extends org.apache.http.params.CoreConnectionPNames org.apache.http.auth.params.AuthPNames org.apache.http.client.params.ClientPNames org.apache.http.conn.params.ConnConnectionPNames org.apache.http.conn.params.ConnManagerPNames org.apache.http.conn.params.ConnRoutePNames org.apache.http.cookie.params.CookieSpecPNames org.apache.http.params.CoreProtocolPNames {
+  }
+
+  @Deprecated public final class AuthPolicy {
+    field @Deprecated public static final String BASIC = "Basic";
+    field @Deprecated public static final String DIGEST = "Digest";
+    field @Deprecated public static final String NTLM = "NTLM";
+  }
+
+  @Deprecated public interface ClientPNames {
+    field @Deprecated public static final String ALLOW_CIRCULAR_REDIRECTS = "http.protocol.allow-circular-redirects";
+    field @Deprecated public static final String CONNECTION_MANAGER_FACTORY = "http.connection-manager.factory-object";
+    field @Deprecated public static final String CONNECTION_MANAGER_FACTORY_CLASS_NAME = "http.connection-manager.factory-class-name";
+    field @Deprecated public static final String COOKIE_POLICY = "http.protocol.cookie-policy";
+    field @Deprecated public static final String DEFAULT_HEADERS = "http.default-headers";
+    field @Deprecated public static final String DEFAULT_HOST = "http.default-host";
+    field @Deprecated public static final String HANDLE_AUTHENTICATION = "http.protocol.handle-authentication";
+    field @Deprecated public static final String HANDLE_REDIRECTS = "http.protocol.handle-redirects";
+    field @Deprecated public static final String MAX_REDIRECTS = "http.protocol.max-redirects";
+    field @Deprecated public static final String REJECT_RELATIVE_REDIRECT = "http.protocol.reject-relative-redirect";
+    field @Deprecated public static final String VIRTUAL_HOST = "http.virtual-host";
+  }
+
+  @Deprecated public class ClientParamBean extends org.apache.http.params.HttpAbstractParamBean {
+    ctor @Deprecated public ClientParamBean(org.apache.http.params.HttpParams);
+    method @Deprecated public void setAllowCircularRedirects(boolean);
+    method @Deprecated public void setConnectionManagerFactory(org.apache.http.conn.ClientConnectionManagerFactory);
+    method @Deprecated public void setConnectionManagerFactoryClassName(String);
+    method @Deprecated public void setCookiePolicy(String);
+    method @Deprecated public void setDefaultHeaders(java.util.Collection<org.apache.http.Header>);
+    method @Deprecated public void setDefaultHost(org.apache.http.HttpHost);
+    method @Deprecated public void setHandleAuthentication(boolean);
+    method @Deprecated public void setHandleRedirects(boolean);
+    method @Deprecated public void setMaxRedirects(int);
+    method @Deprecated public void setRejectRelativeRedirect(boolean);
+    method @Deprecated public void setVirtualHost(org.apache.http.HttpHost);
+  }
+
+  @Deprecated public final class CookiePolicy {
+    field @Deprecated public static final String BEST_MATCH = "best-match";
+    field @Deprecated public static final String BROWSER_COMPATIBILITY = "compatibility";
+    field @Deprecated public static final String NETSCAPE = "netscape";
+    field @Deprecated public static final String RFC_2109 = "rfc2109";
+    field @Deprecated public static final String RFC_2965 = "rfc2965";
+  }
+
+  @Deprecated public class HttpClientParams {
+    method @Deprecated public static String getCookiePolicy(org.apache.http.params.HttpParams);
+    method @Deprecated public static boolean isAuthenticating(org.apache.http.params.HttpParams);
+    method @Deprecated public static boolean isRedirecting(org.apache.http.params.HttpParams);
+    method @Deprecated public static void setAuthenticating(org.apache.http.params.HttpParams, boolean);
+    method @Deprecated public static void setCookiePolicy(org.apache.http.params.HttpParams, String);
+    method @Deprecated public static void setRedirecting(org.apache.http.params.HttpParams, boolean);
+  }
+
+}
+
+package org.apache.http.client.protocol {
+
+  @Deprecated public interface ClientContext {
+    field @Deprecated public static final String AUTHSCHEME_REGISTRY = "http.authscheme-registry";
+    field @Deprecated public static final String AUTH_SCHEME_PREF = "http.auth.scheme-pref";
+    field @Deprecated public static final String COOKIESPEC_REGISTRY = "http.cookiespec-registry";
+    field @Deprecated public static final String COOKIE_ORIGIN = "http.cookie-origin";
+    field @Deprecated public static final String COOKIE_SPEC = "http.cookie-spec";
+    field @Deprecated public static final String COOKIE_STORE = "http.cookie-store";
+    field @Deprecated public static final String CREDS_PROVIDER = "http.auth.credentials-provider";
+    field @Deprecated public static final String PROXY_AUTH_STATE = "http.auth.proxy-scope";
+    field @Deprecated public static final String TARGET_AUTH_STATE = "http.auth.target-scope";
+    field @Deprecated public static final String USER_TOKEN = "http.user-token";
+  }
+
+  @Deprecated public class ClientContextConfigurer implements org.apache.http.client.protocol.ClientContext {
+    ctor @Deprecated public ClientContextConfigurer(org.apache.http.protocol.HttpContext);
+    method @Deprecated public void setAuthSchemePref(java.util.List<java.lang.String>);
+    method @Deprecated public void setAuthSchemeRegistry(org.apache.http.auth.AuthSchemeRegistry);
+    method @Deprecated public void setCookieSpecRegistry(org.apache.http.cookie.CookieSpecRegistry);
+    method @Deprecated public void setCookieStore(org.apache.http.client.CookieStore);
+    method @Deprecated public void setCredentialsProvider(org.apache.http.client.CredentialsProvider);
+  }
+
+  @Deprecated public class RequestAddCookies implements org.apache.http.HttpRequestInterceptor {
+    ctor @Deprecated public RequestAddCookies();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class RequestDefaultHeaders implements org.apache.http.HttpRequestInterceptor {
+    ctor @Deprecated public RequestDefaultHeaders();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class RequestProxyAuthentication implements org.apache.http.HttpRequestInterceptor {
+    ctor @Deprecated public RequestProxyAuthentication();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class RequestTargetAuthentication implements org.apache.http.HttpRequestInterceptor {
+    ctor @Deprecated public RequestTargetAuthentication();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class ResponseProcessCookies implements org.apache.http.HttpResponseInterceptor {
+    ctor @Deprecated public ResponseProcessCookies();
+    method @Deprecated public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+}
+
+package org.apache.http.client.utils {
+
+  @Deprecated public class CloneUtils {
+    method @Deprecated public static Object clone(Object) throws java.lang.CloneNotSupportedException;
+  }
+
+  @Deprecated public class URIUtils {
+    method @Deprecated public static java.net.URI createURI(String, String, int, String, String, String) throws java.net.URISyntaxException;
+    method @Deprecated public static java.net.URI resolve(java.net.URI, String);
+    method @Deprecated public static java.net.URI resolve(java.net.URI, java.net.URI);
+    method @Deprecated public static java.net.URI rewriteURI(java.net.URI, org.apache.http.HttpHost, boolean) throws java.net.URISyntaxException;
+    method @Deprecated public static java.net.URI rewriteURI(java.net.URI, org.apache.http.HttpHost) throws java.net.URISyntaxException;
+  }
+
+  @Deprecated public class URLEncodedUtils {
+    ctor @Deprecated public URLEncodedUtils();
+    method @Deprecated public static String format(java.util.List<? extends org.apache.http.NameValuePair>, String);
+    method @Deprecated public static boolean isEncoded(org.apache.http.HttpEntity);
+    method @Deprecated public static java.util.List<org.apache.http.NameValuePair> parse(java.net.URI, String);
+    method @Deprecated public static java.util.List<org.apache.http.NameValuePair> parse(org.apache.http.HttpEntity) throws java.io.IOException;
+    method @Deprecated public static void parse(java.util.List<org.apache.http.NameValuePair>, java.util.Scanner, String);
+    field @Deprecated public static final String CONTENT_TYPE = "application/x-www-form-urlencoded";
+  }
+
+}
+
+package org.apache.http.conn {
+
+  @Deprecated public class BasicEofSensorWatcher implements org.apache.http.conn.EofSensorWatcher {
+    ctor @Deprecated public BasicEofSensorWatcher(org.apache.http.conn.ManagedClientConnection, boolean);
+    method @Deprecated public boolean eofDetected(java.io.InputStream) throws java.io.IOException;
+    method @Deprecated public boolean streamAbort(java.io.InputStream) throws java.io.IOException;
+    method @Deprecated public boolean streamClosed(java.io.InputStream) throws java.io.IOException;
+    field @Deprecated protected boolean attemptReuse;
+    field @Deprecated protected org.apache.http.conn.ManagedClientConnection managedConn;
+  }
+
+  @Deprecated public class BasicManagedEntity extends org.apache.http.entity.HttpEntityWrapper implements org.apache.http.conn.ConnectionReleaseTrigger org.apache.http.conn.EofSensorWatcher {
+    ctor @Deprecated public BasicManagedEntity(org.apache.http.HttpEntity, org.apache.http.conn.ManagedClientConnection, boolean);
+    method @Deprecated public void abortConnection() throws java.io.IOException;
+    method @Deprecated public boolean eofDetected(java.io.InputStream) throws java.io.IOException;
+    method @Deprecated public void releaseConnection() throws java.io.IOException;
+    method @Deprecated protected void releaseManagedConnection() throws java.io.IOException;
+    method @Deprecated public boolean streamAbort(java.io.InputStream) throws java.io.IOException;
+    method @Deprecated public boolean streamClosed(java.io.InputStream) throws java.io.IOException;
+    field @Deprecated protected final boolean attemptReuse;
+    field @Deprecated protected org.apache.http.conn.ManagedClientConnection managedConn;
+  }
+
+  @Deprecated public interface ClientConnectionManager {
+    method @Deprecated public void closeExpiredConnections();
+    method @Deprecated public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+    method @Deprecated public org.apache.http.conn.scheme.SchemeRegistry getSchemeRegistry();
+    method @Deprecated public void releaseConnection(org.apache.http.conn.ManagedClientConnection, long, java.util.concurrent.TimeUnit);
+    method @Deprecated public org.apache.http.conn.ClientConnectionRequest requestConnection(org.apache.http.conn.routing.HttpRoute, Object);
+    method @Deprecated public void shutdown();
+  }
+
+  @Deprecated public interface ClientConnectionManagerFactory {
+    method @Deprecated public org.apache.http.conn.ClientConnectionManager newInstance(org.apache.http.params.HttpParams, org.apache.http.conn.scheme.SchemeRegistry);
+  }
+
+  @Deprecated public interface ClientConnectionOperator {
+    method @Deprecated public org.apache.http.conn.OperatedClientConnection createConnection();
+    method @Deprecated public void openConnection(org.apache.http.conn.OperatedClientConnection, org.apache.http.HttpHost, java.net.InetAddress, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void updateSecureConnection(org.apache.http.conn.OperatedClientConnection, org.apache.http.HttpHost, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+  }
+
+  @Deprecated public interface ClientConnectionRequest {
+    method @Deprecated public void abortRequest();
+    method @Deprecated public org.apache.http.conn.ManagedClientConnection getConnection(long, java.util.concurrent.TimeUnit) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+  }
+
+  @Deprecated public interface ConnectionKeepAliveStrategy {
+    method @Deprecated public long getKeepAliveDuration(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class ConnectionPoolTimeoutException extends org.apache.http.conn.ConnectTimeoutException {
+    ctor @Deprecated public ConnectionPoolTimeoutException();
+    ctor @Deprecated public ConnectionPoolTimeoutException(String);
+  }
+
+  @Deprecated public interface ConnectionReleaseTrigger {
+    method @Deprecated public void abortConnection() throws java.io.IOException;
+    method @Deprecated public void releaseConnection() throws java.io.IOException;
+  }
+
+  @Deprecated public class EofSensorInputStream extends java.io.InputStream implements org.apache.http.conn.ConnectionReleaseTrigger {
+    ctor @Deprecated public EofSensorInputStream(java.io.InputStream, org.apache.http.conn.EofSensorWatcher);
+    method @Deprecated public void abortConnection() throws java.io.IOException;
+    method @Deprecated protected void checkAbort() throws java.io.IOException;
+    method @Deprecated protected void checkClose() throws java.io.IOException;
+    method @Deprecated protected void checkEOF(int) throws java.io.IOException;
+    method @Deprecated protected boolean isReadAllowed() throws java.io.IOException;
+    method @Deprecated public int read() throws java.io.IOException;
+    method @Deprecated public void releaseConnection() throws java.io.IOException;
+    field @Deprecated protected java.io.InputStream wrappedStream;
+  }
+
+  @Deprecated public interface EofSensorWatcher {
+    method @Deprecated public boolean eofDetected(java.io.InputStream) throws java.io.IOException;
+    method @Deprecated public boolean streamAbort(java.io.InputStream) throws java.io.IOException;
+    method @Deprecated public boolean streamClosed(java.io.InputStream) throws java.io.IOException;
+  }
+
+  @Deprecated public class HttpHostConnectException extends java.net.ConnectException {
+    ctor @Deprecated public HttpHostConnectException(org.apache.http.HttpHost, java.net.ConnectException);
+    method @Deprecated public org.apache.http.HttpHost getHost();
+  }
+
+  @Deprecated public interface ManagedClientConnection extends org.apache.http.HttpClientConnection org.apache.http.conn.ConnectionReleaseTrigger org.apache.http.HttpInetConnection {
+    method @Deprecated public org.apache.http.conn.routing.HttpRoute getRoute();
+    method @Deprecated public javax.net.ssl.SSLSession getSSLSession();
+    method @Deprecated public Object getState();
+    method @Deprecated public boolean isMarkedReusable();
+    method @Deprecated public boolean isSecure();
+    method @Deprecated public void layerProtocol(org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void markReusable();
+    method @Deprecated public void open(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void setIdleDuration(long, java.util.concurrent.TimeUnit);
+    method @Deprecated public void setState(Object);
+    method @Deprecated public void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void unmarkReusable();
+  }
+
+  @Deprecated public final class MultihomePlainSocketFactory implements org.apache.http.conn.scheme.SocketFactory {
+    method @Deprecated public java.net.Socket connectSocket(java.net.Socket, String, int, java.net.InetAddress, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket();
+    method @Deprecated public static org.apache.http.conn.MultihomePlainSocketFactory getSocketFactory();
+    method @Deprecated public boolean isSecure(java.net.Socket) throws java.lang.IllegalArgumentException;
+  }
+
+  @Deprecated public interface OperatedClientConnection extends org.apache.http.HttpClientConnection org.apache.http.HttpInetConnection {
+    method @Deprecated public java.net.Socket getSocket();
+    method @Deprecated public org.apache.http.HttpHost getTargetHost();
+    method @Deprecated public boolean isSecure();
+    method @Deprecated public void openCompleted(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void opening(java.net.Socket, org.apache.http.HttpHost) throws java.io.IOException;
+    method @Deprecated public void update(java.net.Socket, org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+  }
+
+}
+
+package org.apache.http.conn.params {
+
+  @Deprecated public interface ConnConnectionPNames {
+    field @Deprecated public static final String MAX_STATUS_LINE_GARBAGE = "http.connection.max-status-line-garbage";
+  }
+
+  @Deprecated public class ConnConnectionParamBean extends org.apache.http.params.HttpAbstractParamBean {
+    ctor @Deprecated public ConnConnectionParamBean(org.apache.http.params.HttpParams);
+    method @Deprecated public void setMaxStatusLineGarbage(int);
+  }
+
+  @Deprecated public interface ConnManagerPNames {
+    field @Deprecated public static final String MAX_CONNECTIONS_PER_ROUTE = "http.conn-manager.max-per-route";
+    field @Deprecated public static final String MAX_TOTAL_CONNECTIONS = "http.conn-manager.max-total";
+    field @Deprecated public static final String TIMEOUT = "http.conn-manager.timeout";
+  }
+
+  @Deprecated public class ConnManagerParamBean extends org.apache.http.params.HttpAbstractParamBean {
+    ctor @Deprecated public ConnManagerParamBean(org.apache.http.params.HttpParams);
+    method @Deprecated public void setConnectionsPerRoute(org.apache.http.conn.params.ConnPerRouteBean);
+    method @Deprecated public void setMaxTotalConnections(int);
+    method @Deprecated public void setTimeout(long);
+  }
+
+  @Deprecated public final class ConnManagerParams implements org.apache.http.conn.params.ConnManagerPNames {
+    ctor @Deprecated public ConnManagerParams();
+    method @Deprecated public static org.apache.http.conn.params.ConnPerRoute getMaxConnectionsPerRoute(org.apache.http.params.HttpParams);
+    method @Deprecated public static int getMaxTotalConnections(org.apache.http.params.HttpParams);
+    method @Deprecated public static long getTimeout(org.apache.http.params.HttpParams);
+    method @Deprecated public static void setMaxConnectionsPerRoute(org.apache.http.params.HttpParams, org.apache.http.conn.params.ConnPerRoute);
+    method @Deprecated public static void setMaxTotalConnections(org.apache.http.params.HttpParams, int);
+    method @Deprecated public static void setTimeout(org.apache.http.params.HttpParams, long);
+    field @Deprecated public static final int DEFAULT_MAX_TOTAL_CONNECTIONS = 20; // 0x14
+  }
+
+  @Deprecated public interface ConnPerRoute {
+    method @Deprecated public int getMaxForRoute(org.apache.http.conn.routing.HttpRoute);
+  }
+
+  @Deprecated public final class ConnPerRouteBean implements org.apache.http.conn.params.ConnPerRoute {
+    ctor @Deprecated public ConnPerRouteBean(int);
+    ctor @Deprecated public ConnPerRouteBean();
+    method @Deprecated public int getDefaultMax();
+    method @Deprecated public int getMaxForRoute(org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated public void setDefaultMaxPerRoute(int);
+    method @Deprecated public void setMaxForRoute(org.apache.http.conn.routing.HttpRoute, int);
+    method @Deprecated public void setMaxForRoutes(java.util.Map<org.apache.http.conn.routing.HttpRoute,java.lang.Integer>);
+    field @Deprecated public static final int DEFAULT_MAX_CONNECTIONS_PER_ROUTE = 2; // 0x2
+  }
+
+  @Deprecated public interface ConnRoutePNames {
+    field @Deprecated public static final String DEFAULT_PROXY = "http.route.default-proxy";
+    field @Deprecated public static final String FORCED_ROUTE = "http.route.forced-route";
+    field @Deprecated public static final String LOCAL_ADDRESS = "http.route.local-address";
+  }
+
+  @Deprecated public class ConnRouteParamBean extends org.apache.http.params.HttpAbstractParamBean {
+    ctor @Deprecated public ConnRouteParamBean(org.apache.http.params.HttpParams);
+    method @Deprecated public void setDefaultProxy(org.apache.http.HttpHost);
+    method @Deprecated public void setForcedRoute(org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated public void setLocalAddress(java.net.InetAddress);
+  }
+
+  @Deprecated public class ConnRouteParams implements org.apache.http.conn.params.ConnRoutePNames {
+    method @Deprecated public static org.apache.http.HttpHost getDefaultProxy(org.apache.http.params.HttpParams);
+    method @Deprecated public static org.apache.http.conn.routing.HttpRoute getForcedRoute(org.apache.http.params.HttpParams);
+    method @Deprecated public static java.net.InetAddress getLocalAddress(org.apache.http.params.HttpParams);
+    method @Deprecated public static void setDefaultProxy(org.apache.http.params.HttpParams, org.apache.http.HttpHost);
+    method @Deprecated public static void setForcedRoute(org.apache.http.params.HttpParams, org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated public static void setLocalAddress(org.apache.http.params.HttpParams, java.net.InetAddress);
+    field @Deprecated public static final org.apache.http.HttpHost NO_HOST;
+    field @Deprecated public static final org.apache.http.conn.routing.HttpRoute NO_ROUTE;
+  }
+
+}
+
+package org.apache.http.conn.routing {
+
+  @Deprecated public class BasicRouteDirector implements org.apache.http.conn.routing.HttpRouteDirector {
+    ctor @Deprecated public BasicRouteDirector();
+    method @Deprecated protected int directStep(org.apache.http.conn.routing.RouteInfo, org.apache.http.conn.routing.RouteInfo);
+    method @Deprecated protected int firstStep(org.apache.http.conn.routing.RouteInfo);
+    method @Deprecated public int nextStep(org.apache.http.conn.routing.RouteInfo, org.apache.http.conn.routing.RouteInfo);
+    method @Deprecated protected int proxiedStep(org.apache.http.conn.routing.RouteInfo, org.apache.http.conn.routing.RouteInfo);
+  }
+
+  @Deprecated public final class HttpRoute implements java.lang.Cloneable org.apache.http.conn.routing.RouteInfo {
+    ctor @Deprecated public HttpRoute(org.apache.http.HttpHost, java.net.InetAddress, org.apache.http.HttpHost[], boolean, org.apache.http.conn.routing.RouteInfo.TunnelType, org.apache.http.conn.routing.RouteInfo.LayerType);
+    ctor @Deprecated public HttpRoute(org.apache.http.HttpHost, java.net.InetAddress, org.apache.http.HttpHost, boolean, org.apache.http.conn.routing.RouteInfo.TunnelType, org.apache.http.conn.routing.RouteInfo.LayerType);
+    ctor @Deprecated public HttpRoute(org.apache.http.HttpHost, java.net.InetAddress, boolean);
+    ctor @Deprecated public HttpRoute(org.apache.http.HttpHost);
+    ctor @Deprecated public HttpRoute(org.apache.http.HttpHost, java.net.InetAddress, org.apache.http.HttpHost, boolean);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public int getHopCount();
+    method @Deprecated public org.apache.http.HttpHost getHopTarget(int);
+    method @Deprecated public org.apache.http.conn.routing.RouteInfo.LayerType getLayerType();
+    method @Deprecated public java.net.InetAddress getLocalAddress();
+    method @Deprecated public org.apache.http.HttpHost getProxyHost();
+    method @Deprecated public org.apache.http.HttpHost getTargetHost();
+    method @Deprecated public org.apache.http.conn.routing.RouteInfo.TunnelType getTunnelType();
+    method @Deprecated public boolean isLayered();
+    method @Deprecated public boolean isSecure();
+    method @Deprecated public boolean isTunnelled();
+  }
+
+  @Deprecated public interface HttpRouteDirector {
+    method @Deprecated public int nextStep(org.apache.http.conn.routing.RouteInfo, org.apache.http.conn.routing.RouteInfo);
+    field @Deprecated public static final int COMPLETE = 0; // 0x0
+    field @Deprecated public static final int CONNECT_PROXY = 2; // 0x2
+    field @Deprecated public static final int CONNECT_TARGET = 1; // 0x1
+    field @Deprecated public static final int LAYER_PROTOCOL = 5; // 0x5
+    field @Deprecated public static final int TUNNEL_PROXY = 4; // 0x4
+    field @Deprecated public static final int TUNNEL_TARGET = 3; // 0x3
+    field @Deprecated public static final int UNREACHABLE = -1; // 0xffffffff
+  }
+
+  @Deprecated public interface HttpRoutePlanner {
+    method @Deprecated public org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+  }
+
+  @Deprecated public interface RouteInfo {
+    method @Deprecated public int getHopCount();
+    method @Deprecated public org.apache.http.HttpHost getHopTarget(int);
+    method @Deprecated public org.apache.http.conn.routing.RouteInfo.LayerType getLayerType();
+    method @Deprecated public java.net.InetAddress getLocalAddress();
+    method @Deprecated public org.apache.http.HttpHost getProxyHost();
+    method @Deprecated public org.apache.http.HttpHost getTargetHost();
+    method @Deprecated public org.apache.http.conn.routing.RouteInfo.TunnelType getTunnelType();
+    method @Deprecated public boolean isLayered();
+    method @Deprecated public boolean isSecure();
+    method @Deprecated public boolean isTunnelled();
+  }
+
+  @Deprecated public enum RouteInfo.LayerType {
+    enum_constant @Deprecated public static final org.apache.http.conn.routing.RouteInfo.LayerType LAYERED;
+    enum_constant @Deprecated public static final org.apache.http.conn.routing.RouteInfo.LayerType PLAIN;
+  }
+
+  @Deprecated public enum RouteInfo.TunnelType {
+    enum_constant @Deprecated public static final org.apache.http.conn.routing.RouteInfo.TunnelType PLAIN;
+    enum_constant @Deprecated public static final org.apache.http.conn.routing.RouteInfo.TunnelType TUNNELLED;
+  }
+
+  @Deprecated public final class RouteTracker implements java.lang.Cloneable org.apache.http.conn.routing.RouteInfo {
+    ctor @Deprecated public RouteTracker(org.apache.http.HttpHost, java.net.InetAddress);
+    ctor @Deprecated public RouteTracker(org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public void connectProxy(org.apache.http.HttpHost, boolean);
+    method @Deprecated public void connectTarget(boolean);
+    method @Deprecated public int getHopCount();
+    method @Deprecated public org.apache.http.HttpHost getHopTarget(int);
+    method @Deprecated public org.apache.http.conn.routing.RouteInfo.LayerType getLayerType();
+    method @Deprecated public java.net.InetAddress getLocalAddress();
+    method @Deprecated public org.apache.http.HttpHost getProxyHost();
+    method @Deprecated public org.apache.http.HttpHost getTargetHost();
+    method @Deprecated public org.apache.http.conn.routing.RouteInfo.TunnelType getTunnelType();
+    method @Deprecated public boolean isConnected();
+    method @Deprecated public boolean isLayered();
+    method @Deprecated public boolean isSecure();
+    method @Deprecated public boolean isTunnelled();
+    method @Deprecated public void layerProtocol(boolean);
+    method @Deprecated public org.apache.http.conn.routing.HttpRoute toRoute();
+    method @Deprecated public void tunnelProxy(org.apache.http.HttpHost, boolean);
+    method @Deprecated public void tunnelTarget(boolean);
+  }
+
+}
+
+package org.apache.http.conn.scheme {
+
+  @Deprecated public final class PlainSocketFactory implements org.apache.http.conn.scheme.SocketFactory {
+    ctor @Deprecated public PlainSocketFactory(org.apache.http.conn.scheme.HostNameResolver);
+    ctor @Deprecated public PlainSocketFactory();
+    method @Deprecated public java.net.Socket connectSocket(java.net.Socket, String, int, java.net.InetAddress, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public java.net.Socket createSocket();
+    method @Deprecated public static org.apache.http.conn.scheme.PlainSocketFactory getSocketFactory();
+    method @Deprecated public boolean isSecure(java.net.Socket) throws java.lang.IllegalArgumentException;
+  }
+
+  @Deprecated public final class Scheme {
+    ctor @Deprecated public Scheme(String, org.apache.http.conn.scheme.SocketFactory, int);
+    method @Deprecated public int getDefaultPort();
+    method @Deprecated public String getName();
+    method @Deprecated public org.apache.http.conn.scheme.SocketFactory getSocketFactory();
+    method @Deprecated public boolean isLayered();
+    method @Deprecated public int resolvePort(int);
+  }
+
+  @Deprecated public final class SchemeRegistry {
+    ctor @Deprecated public SchemeRegistry();
+    method @Deprecated public org.apache.http.conn.scheme.Scheme get(String);
+    method @Deprecated public org.apache.http.conn.scheme.Scheme getScheme(String);
+    method @Deprecated public org.apache.http.conn.scheme.Scheme getScheme(org.apache.http.HttpHost);
+    method @Deprecated public java.util.List<java.lang.String> getSchemeNames();
+    method @Deprecated public org.apache.http.conn.scheme.Scheme register(org.apache.http.conn.scheme.Scheme);
+    method @Deprecated public void setItems(java.util.Map<java.lang.String,org.apache.http.conn.scheme.Scheme>);
+    method @Deprecated public org.apache.http.conn.scheme.Scheme unregister(String);
+  }
+
+}
+
+package org.apache.http.conn.util {
+
+  @Deprecated public class InetAddressUtils {
+    method @Deprecated public static boolean isIPv4Address(String);
+    method @Deprecated public static boolean isIPv6Address(String);
+    method @Deprecated public static boolean isIPv6HexCompressedAddress(String);
+    method @Deprecated public static boolean isIPv6StdAddress(String);
+  }
+
+}
+
+package org.apache.http.cookie {
+
+  @Deprecated public interface ClientCookie extends org.apache.http.cookie.Cookie {
+    method @Deprecated public boolean containsAttribute(String);
+    method @Deprecated public String getAttribute(String);
+    field @Deprecated public static final String COMMENTURL_ATTR = "commenturl";
+    field @Deprecated public static final String COMMENT_ATTR = "comment";
+    field @Deprecated public static final String DISCARD_ATTR = "discard";
+    field @Deprecated public static final String DOMAIN_ATTR = "domain";
+    field @Deprecated public static final String EXPIRES_ATTR = "expires";
+    field @Deprecated public static final String MAX_AGE_ATTR = "max-age";
+    field @Deprecated public static final String PATH_ATTR = "path";
+    field @Deprecated public static final String PORT_ATTR = "port";
+    field @Deprecated public static final String SECURE_ATTR = "secure";
+    field @Deprecated public static final String VERSION_ATTR = "version";
+  }
+
+  @Deprecated public interface Cookie {
+    method @Deprecated public String getComment();
+    method @Deprecated public String getCommentURL();
+    method @Deprecated public String getDomain();
+    method @Deprecated public java.util.Date getExpiryDate();
+    method @Deprecated public String getName();
+    method @Deprecated public String getPath();
+    method @Deprecated public int[] getPorts();
+    method @Deprecated public String getValue();
+    method @Deprecated public int getVersion();
+    method @Deprecated public boolean isExpired(java.util.Date);
+    method @Deprecated public boolean isPersistent();
+    method @Deprecated public boolean isSecure();
+  }
+
+  @Deprecated public interface CookieAttributeHandler {
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class CookieIdentityComparator implements java.util.Comparator<org.apache.http.cookie.Cookie> java.io.Serializable {
+    ctor @Deprecated public CookieIdentityComparator();
+    method @Deprecated public int compare(org.apache.http.cookie.Cookie, org.apache.http.cookie.Cookie);
+  }
+
+  @Deprecated public final class CookieOrigin {
+    ctor @Deprecated public CookieOrigin(String, int, String, boolean);
+    method @Deprecated public String getHost();
+    method @Deprecated public String getPath();
+    method @Deprecated public int getPort();
+    method @Deprecated public boolean isSecure();
+  }
+
+  @Deprecated public class CookiePathComparator implements java.util.Comparator<org.apache.http.cookie.Cookie> java.io.Serializable {
+    ctor @Deprecated public CookiePathComparator();
+    method @Deprecated public int compare(org.apache.http.cookie.Cookie, org.apache.http.cookie.Cookie);
+  }
+
+  @Deprecated public interface CookieSpec {
+    method @Deprecated public java.util.List<org.apache.http.Header> formatCookies(java.util.List<org.apache.http.cookie.Cookie>);
+    method @Deprecated public int getVersion();
+    method @Deprecated public org.apache.http.Header getVersionHeader();
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public interface CookieSpecFactory {
+    method @Deprecated public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+  }
+
+  @Deprecated public final class CookieSpecRegistry {
+    ctor @Deprecated public CookieSpecRegistry();
+    method @Deprecated public org.apache.http.cookie.CookieSpec getCookieSpec(String, org.apache.http.params.HttpParams) throws java.lang.IllegalStateException;
+    method @Deprecated public org.apache.http.cookie.CookieSpec getCookieSpec(String) throws java.lang.IllegalStateException;
+    method @Deprecated public java.util.List<java.lang.String> getSpecNames();
+    method @Deprecated public void register(String, org.apache.http.cookie.CookieSpecFactory);
+    method @Deprecated public void setItems(java.util.Map<java.lang.String,org.apache.http.cookie.CookieSpecFactory>);
+    method @Deprecated public void unregister(String);
+  }
+
+  @Deprecated public class MalformedCookieException extends org.apache.http.ProtocolException {
+    ctor @Deprecated public MalformedCookieException();
+    ctor @Deprecated public MalformedCookieException(String);
+    ctor @Deprecated public MalformedCookieException(String, Throwable);
+  }
+
+  @Deprecated public interface SM {
+    field @Deprecated public static final String COOKIE = "Cookie";
+    field @Deprecated public static final String COOKIE2 = "Cookie2";
+    field @Deprecated public static final String SET_COOKIE = "Set-Cookie";
+    field @Deprecated public static final String SET_COOKIE2 = "Set-Cookie2";
+  }
+
+  @Deprecated public interface SetCookie extends org.apache.http.cookie.Cookie {
+    method @Deprecated public void setComment(String);
+    method @Deprecated public void setDomain(String);
+    method @Deprecated public void setExpiryDate(java.util.Date);
+    method @Deprecated public void setPath(String);
+    method @Deprecated public void setSecure(boolean);
+    method @Deprecated public void setValue(String);
+    method @Deprecated public void setVersion(int);
+  }
+
+  @Deprecated public interface SetCookie2 extends org.apache.http.cookie.SetCookie {
+    method @Deprecated public void setCommentURL(String);
+    method @Deprecated public void setDiscard(boolean);
+    method @Deprecated public void setPorts(int[]);
+  }
+
+}
+
+package org.apache.http.cookie.params {
+
+  @Deprecated public interface CookieSpecPNames {
+    field @Deprecated public static final String DATE_PATTERNS = "http.protocol.cookie-datepatterns";
+    field @Deprecated public static final String SINGLE_COOKIE_HEADER = "http.protocol.single-cookie-header";
+  }
+
+  @Deprecated public class CookieSpecParamBean extends org.apache.http.params.HttpAbstractParamBean {
+    ctor @Deprecated public CookieSpecParamBean(org.apache.http.params.HttpParams);
+    method @Deprecated public void setDatePatterns(java.util.Collection<java.lang.String>);
+    method @Deprecated public void setSingleHeader(boolean);
+  }
+
+}
+
+package org.apache.http.entity {
+
+  @Deprecated public abstract class AbstractHttpEntity implements org.apache.http.HttpEntity {
+    ctor @Deprecated protected AbstractHttpEntity();
+    method @Deprecated public void consumeContent() throws java.io.IOException, java.lang.UnsupportedOperationException;
+    method @Deprecated public org.apache.http.Header getContentEncoding();
+    method @Deprecated public org.apache.http.Header getContentType();
+    method @Deprecated public boolean isChunked();
+    method @Deprecated public void setChunked(boolean);
+    method @Deprecated public void setContentEncoding(org.apache.http.Header);
+    method @Deprecated public void setContentEncoding(String);
+    method @Deprecated public void setContentType(org.apache.http.Header);
+    method @Deprecated public void setContentType(String);
+    field @Deprecated protected boolean chunked;
+    field @Deprecated protected org.apache.http.Header contentEncoding;
+    field @Deprecated protected org.apache.http.Header contentType;
+  }
+
+  @Deprecated public class BasicHttpEntity extends org.apache.http.entity.AbstractHttpEntity {
+    ctor @Deprecated public BasicHttpEntity();
+    method @Deprecated public void consumeContent() throws java.io.IOException;
+    method @Deprecated public java.io.InputStream getContent() throws java.lang.IllegalStateException;
+    method @Deprecated public long getContentLength();
+    method @Deprecated public boolean isRepeatable();
+    method @Deprecated public boolean isStreaming();
+    method @Deprecated public void setContent(java.io.InputStream);
+    method @Deprecated public void setContentLength(long);
+    method @Deprecated public void writeTo(java.io.OutputStream) throws java.io.IOException;
+  }
+
+  @Deprecated public class BufferedHttpEntity extends org.apache.http.entity.HttpEntityWrapper {
+    ctor @Deprecated public BufferedHttpEntity(org.apache.http.HttpEntity) throws java.io.IOException;
+  }
+
+  @Deprecated public class ByteArrayEntity extends org.apache.http.entity.AbstractHttpEntity implements java.lang.Cloneable {
+    ctor @Deprecated public ByteArrayEntity(byte[]);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public java.io.InputStream getContent();
+    method @Deprecated public long getContentLength();
+    method @Deprecated public boolean isRepeatable();
+    method @Deprecated public boolean isStreaming();
+    method @Deprecated public void writeTo(java.io.OutputStream) throws java.io.IOException;
+    field @Deprecated protected final byte[] content;
+  }
+
+  @Deprecated public interface ContentLengthStrategy {
+    method @Deprecated public long determineLength(org.apache.http.HttpMessage) throws org.apache.http.HttpException;
+    field @Deprecated public static final int CHUNKED = -2; // 0xfffffffe
+    field @Deprecated public static final int IDENTITY = -1; // 0xffffffff
+  }
+
+  @Deprecated public interface ContentProducer {
+    method @Deprecated public void writeTo(java.io.OutputStream) throws java.io.IOException;
+  }
+
+  @Deprecated public class EntityTemplate extends org.apache.http.entity.AbstractHttpEntity {
+    ctor @Deprecated public EntityTemplate(org.apache.http.entity.ContentProducer);
+    method @Deprecated public void consumeContent() throws java.io.IOException;
+    method @Deprecated public java.io.InputStream getContent();
+    method @Deprecated public long getContentLength();
+    method @Deprecated public boolean isRepeatable();
+    method @Deprecated public boolean isStreaming();
+    method @Deprecated public void writeTo(java.io.OutputStream) throws java.io.IOException;
+  }
+
+  @Deprecated public class FileEntity extends org.apache.http.entity.AbstractHttpEntity implements java.lang.Cloneable {
+    ctor @Deprecated public FileEntity(java.io.File, String);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public java.io.InputStream getContent() throws java.io.IOException;
+    method @Deprecated public long getContentLength();
+    method @Deprecated public boolean isRepeatable();
+    method @Deprecated public boolean isStreaming();
+    method @Deprecated public void writeTo(java.io.OutputStream) throws java.io.IOException;
+    field @Deprecated protected final java.io.File file;
+  }
+
+  @Deprecated public class HttpEntityWrapper implements org.apache.http.HttpEntity {
+    ctor @Deprecated public HttpEntityWrapper(org.apache.http.HttpEntity);
+    method @Deprecated public void consumeContent() throws java.io.IOException;
+    method @Deprecated public java.io.InputStream getContent() throws java.io.IOException;
+    method @Deprecated public org.apache.http.Header getContentEncoding();
+    method @Deprecated public long getContentLength();
+    method @Deprecated public org.apache.http.Header getContentType();
+    method @Deprecated public boolean isChunked();
+    method @Deprecated public boolean isRepeatable();
+    method @Deprecated public boolean isStreaming();
+    method @Deprecated public void writeTo(java.io.OutputStream) throws java.io.IOException;
+    field @Deprecated protected org.apache.http.HttpEntity wrappedEntity;
+  }
+
+  @Deprecated public class InputStreamEntity extends org.apache.http.entity.AbstractHttpEntity {
+    ctor @Deprecated public InputStreamEntity(java.io.InputStream, long);
+    method @Deprecated public void consumeContent() throws java.io.IOException;
+    method @Deprecated public java.io.InputStream getContent() throws java.io.IOException;
+    method @Deprecated public long getContentLength();
+    method @Deprecated public boolean isRepeatable();
+    method @Deprecated public boolean isStreaming();
+    method @Deprecated public void writeTo(java.io.OutputStream) throws java.io.IOException;
+  }
+
+  @Deprecated public class SerializableEntity extends org.apache.http.entity.AbstractHttpEntity {
+    ctor @Deprecated public SerializableEntity(java.io.Serializable, boolean) throws java.io.IOException;
+    method @Deprecated public java.io.InputStream getContent() throws java.io.IOException, java.lang.IllegalStateException;
+    method @Deprecated public long getContentLength();
+    method @Deprecated public boolean isRepeatable();
+    method @Deprecated public boolean isStreaming();
+    method @Deprecated public void writeTo(java.io.OutputStream) throws java.io.IOException;
+  }
+
+  @Deprecated public class StringEntity extends org.apache.http.entity.AbstractHttpEntity implements java.lang.Cloneable {
+    ctor @Deprecated public StringEntity(String, String) throws java.io.UnsupportedEncodingException;
+    ctor @Deprecated public StringEntity(String) throws java.io.UnsupportedEncodingException;
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public java.io.InputStream getContent() throws java.io.IOException;
+    method @Deprecated public long getContentLength();
+    method @Deprecated public boolean isRepeatable();
+    method @Deprecated public boolean isStreaming();
+    method @Deprecated public void writeTo(java.io.OutputStream) throws java.io.IOException;
+    field @Deprecated protected final byte[] content;
+  }
+
+}
+
+package org.apache.http.impl {
+
+  @Deprecated public abstract class AbstractHttpClientConnection implements org.apache.http.HttpClientConnection {
+    ctor @Deprecated public AbstractHttpClientConnection();
+    method @Deprecated protected abstract void assertOpen() throws java.lang.IllegalStateException;
+    method @Deprecated protected org.apache.http.impl.entity.EntityDeserializer createEntityDeserializer();
+    method @Deprecated protected org.apache.http.impl.entity.EntitySerializer createEntitySerializer();
+    method @Deprecated protected org.apache.http.HttpResponseFactory createHttpResponseFactory();
+    method @Deprecated protected org.apache.http.io.HttpMessageWriter createRequestWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
+    method @Deprecated protected org.apache.http.io.HttpMessageParser createResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
+    method @Deprecated protected void doFlush() throws java.io.IOException;
+    method @Deprecated public void flush() throws java.io.IOException;
+    method @Deprecated public org.apache.http.HttpConnectionMetrics getMetrics();
+    method @Deprecated protected void init(org.apache.http.io.SessionInputBuffer, org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
+    method @Deprecated public boolean isResponseAvailable(int) throws java.io.IOException;
+    method @Deprecated public boolean isStale();
+    method @Deprecated public void receiveResponseEntity(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public org.apache.http.HttpResponse receiveResponseHeader() throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void sendRequestHeader(org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public abstract class AbstractHttpServerConnection implements org.apache.http.HttpServerConnection {
+    ctor @Deprecated public AbstractHttpServerConnection();
+    method @Deprecated protected abstract void assertOpen() throws java.lang.IllegalStateException;
+    method @Deprecated protected org.apache.http.impl.entity.EntityDeserializer createEntityDeserializer();
+    method @Deprecated protected org.apache.http.impl.entity.EntitySerializer createEntitySerializer();
+    method @Deprecated protected org.apache.http.HttpRequestFactory createHttpRequestFactory();
+    method @Deprecated protected org.apache.http.io.HttpMessageParser createRequestParser(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams);
+    method @Deprecated protected org.apache.http.io.HttpMessageWriter createResponseWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
+    method @Deprecated protected void doFlush() throws java.io.IOException;
+    method @Deprecated public void flush() throws java.io.IOException;
+    method @Deprecated public org.apache.http.HttpConnectionMetrics getMetrics();
+    method @Deprecated protected void init(org.apache.http.io.SessionInputBuffer, org.apache.http.io.SessionOutputBuffer, org.apache.http.params.HttpParams);
+    method @Deprecated public boolean isStale();
+    method @Deprecated public void receiveRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public org.apache.http.HttpRequest receiveRequestHeader() throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void sendResponseEntity(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void sendResponseHeader(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class DefaultConnectionReuseStrategy implements org.apache.http.ConnectionReuseStrategy {
+    ctor @Deprecated public DefaultConnectionReuseStrategy();
+    method @Deprecated protected org.apache.http.TokenIterator createTokenIterator(org.apache.http.HeaderIterator);
+    method @Deprecated public boolean keepAlive(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class DefaultHttpClientConnection extends org.apache.http.impl.SocketHttpClientConnection {
+    ctor @Deprecated public DefaultHttpClientConnection();
+    method @Deprecated public void bind(java.net.Socket, org.apache.http.params.HttpParams) throws java.io.IOException;
+  }
+
+  @Deprecated public class DefaultHttpRequestFactory implements org.apache.http.HttpRequestFactory {
+    ctor @Deprecated public DefaultHttpRequestFactory();
+    method @Deprecated public org.apache.http.HttpRequest newHttpRequest(org.apache.http.RequestLine) throws org.apache.http.MethodNotSupportedException;
+    method @Deprecated public org.apache.http.HttpRequest newHttpRequest(String, String) throws org.apache.http.MethodNotSupportedException;
+  }
+
+  @Deprecated public class DefaultHttpResponseFactory implements org.apache.http.HttpResponseFactory {
+    ctor @Deprecated public DefaultHttpResponseFactory(org.apache.http.ReasonPhraseCatalog);
+    ctor @Deprecated public DefaultHttpResponseFactory();
+    method @Deprecated protected java.util.Locale determineLocale(org.apache.http.protocol.HttpContext);
+    method @Deprecated public org.apache.http.HttpResponse newHttpResponse(org.apache.http.ProtocolVersion, int, org.apache.http.protocol.HttpContext);
+    method @Deprecated public org.apache.http.HttpResponse newHttpResponse(org.apache.http.StatusLine, org.apache.http.protocol.HttpContext);
+    field @Deprecated protected final org.apache.http.ReasonPhraseCatalog reasonCatalog;
+  }
+
+  @Deprecated public class DefaultHttpServerConnection extends org.apache.http.impl.SocketHttpServerConnection {
+    ctor @Deprecated public DefaultHttpServerConnection();
+    method @Deprecated public void bind(java.net.Socket, org.apache.http.params.HttpParams) throws java.io.IOException;
+  }
+
+  @Deprecated public class EnglishReasonPhraseCatalog implements org.apache.http.ReasonPhraseCatalog {
+    ctor @Deprecated protected EnglishReasonPhraseCatalog();
+    method @Deprecated public String getReason(int, java.util.Locale);
+    field @Deprecated public static final org.apache.http.impl.EnglishReasonPhraseCatalog INSTANCE;
+  }
+
+  @Deprecated public class HttpConnectionMetricsImpl implements org.apache.http.HttpConnectionMetrics {
+    ctor @Deprecated public HttpConnectionMetricsImpl(org.apache.http.io.HttpTransportMetrics, org.apache.http.io.HttpTransportMetrics);
+    method @Deprecated public Object getMetric(String);
+    method @Deprecated public long getReceivedBytesCount();
+    method @Deprecated public long getRequestCount();
+    method @Deprecated public long getResponseCount();
+    method @Deprecated public long getSentBytesCount();
+    method @Deprecated public void incrementRequestCount();
+    method @Deprecated public void incrementResponseCount();
+    method @Deprecated public void reset();
+    method @Deprecated public void setMetric(String, Object);
+    field @Deprecated public static final String RECEIVED_BYTES_COUNT = "http.received-bytes-count";
+    field @Deprecated public static final String REQUEST_COUNT = "http.request-count";
+    field @Deprecated public static final String RESPONSE_COUNT = "http.response-count";
+    field @Deprecated public static final String SENT_BYTES_COUNT = "http.sent-bytes-count";
+  }
+
+  @Deprecated public class NoConnectionReuseStrategy implements org.apache.http.ConnectionReuseStrategy {
+    ctor @Deprecated public NoConnectionReuseStrategy();
+    method @Deprecated public boolean keepAlive(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class SocketHttpClientConnection extends org.apache.http.impl.AbstractHttpClientConnection implements org.apache.http.HttpInetConnection {
+    ctor @Deprecated public SocketHttpClientConnection();
+    method @Deprecated protected void assertNotOpen();
+    method @Deprecated protected void assertOpen();
+    method @Deprecated protected void bind(java.net.Socket, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void close() throws java.io.IOException;
+    method @Deprecated protected org.apache.http.io.SessionInputBuffer createSessionInputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated protected org.apache.http.io.SessionOutputBuffer createSessionOutputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public java.net.InetAddress getLocalAddress();
+    method @Deprecated public int getLocalPort();
+    method @Deprecated public java.net.InetAddress getRemoteAddress();
+    method @Deprecated public int getRemotePort();
+    method @Deprecated protected java.net.Socket getSocket();
+    method @Deprecated public int getSocketTimeout();
+    method @Deprecated public boolean isOpen();
+    method @Deprecated public void setSocketTimeout(int);
+    method @Deprecated public void shutdown() throws java.io.IOException;
+  }
+
+  @Deprecated public class SocketHttpServerConnection extends org.apache.http.impl.AbstractHttpServerConnection implements org.apache.http.HttpInetConnection {
+    ctor @Deprecated public SocketHttpServerConnection();
+    method @Deprecated protected void assertNotOpen();
+    method @Deprecated protected void assertOpen();
+    method @Deprecated protected void bind(java.net.Socket, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void close() throws java.io.IOException;
+    method @Deprecated protected org.apache.http.io.SessionInputBuffer createHttpDataReceiver(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated protected org.apache.http.io.SessionOutputBuffer createHttpDataTransmitter(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public java.net.InetAddress getLocalAddress();
+    method @Deprecated public int getLocalPort();
+    method @Deprecated public java.net.InetAddress getRemoteAddress();
+    method @Deprecated public int getRemotePort();
+    method @Deprecated protected java.net.Socket getSocket();
+    method @Deprecated public int getSocketTimeout();
+    method @Deprecated public boolean isOpen();
+    method @Deprecated public void setSocketTimeout(int);
+    method @Deprecated public void shutdown() throws java.io.IOException;
+  }
+
+}
+
+package org.apache.http.impl.auth {
+
+  @Deprecated public abstract class AuthSchemeBase implements org.apache.http.auth.AuthScheme {
+    ctor @Deprecated public AuthSchemeBase();
+    method @Deprecated public boolean isProxy();
+    method @Deprecated protected abstract void parseChallenge(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.auth.MalformedChallengeException;
+    method @Deprecated public void processChallenge(org.apache.http.Header) throws org.apache.http.auth.MalformedChallengeException;
+  }
+
+  @Deprecated public class BasicScheme extends org.apache.http.impl.auth.RFC2617Scheme {
+    ctor @Deprecated public BasicScheme();
+    method @Deprecated public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException;
+    method @Deprecated public static org.apache.http.Header authenticate(org.apache.http.auth.Credentials, String, boolean);
+    method @Deprecated public String getSchemeName();
+    method @Deprecated public boolean isComplete();
+    method @Deprecated public boolean isConnectionBased();
+  }
+
+  @Deprecated public class BasicSchemeFactory implements org.apache.http.auth.AuthSchemeFactory {
+    ctor @Deprecated public BasicSchemeFactory();
+    method @Deprecated public org.apache.http.auth.AuthScheme newInstance(org.apache.http.params.HttpParams);
+  }
+
+  @Deprecated public class DigestScheme extends org.apache.http.impl.auth.RFC2617Scheme {
+    ctor @Deprecated public DigestScheme();
+    method @Deprecated public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException;
+    method @Deprecated public static String createCnonce();
+    method @Deprecated public String getSchemeName();
+    method @Deprecated public boolean isComplete();
+    method @Deprecated public boolean isConnectionBased();
+    method @Deprecated public void overrideParamter(String, String);
+  }
+
+  @Deprecated public class DigestSchemeFactory implements org.apache.http.auth.AuthSchemeFactory {
+    ctor @Deprecated public DigestSchemeFactory();
+    method @Deprecated public org.apache.http.auth.AuthScheme newInstance(org.apache.http.params.HttpParams);
+  }
+
+  @Deprecated public interface NTLMEngine {
+    method @Deprecated public String generateType1Msg(String, String) throws org.apache.http.impl.auth.NTLMEngineException;
+    method @Deprecated public String generateType3Msg(String, String, String, String, String) throws org.apache.http.impl.auth.NTLMEngineException;
+  }
+
+  @Deprecated public class NTLMEngineException extends org.apache.http.auth.AuthenticationException {
+    ctor @Deprecated public NTLMEngineException();
+    ctor @Deprecated public NTLMEngineException(String);
+    ctor @Deprecated public NTLMEngineException(String, Throwable);
+  }
+
+  @Deprecated public class NTLMScheme extends org.apache.http.impl.auth.AuthSchemeBase {
+    ctor @Deprecated public NTLMScheme(org.apache.http.impl.auth.NTLMEngine);
+    method @Deprecated public org.apache.http.Header authenticate(org.apache.http.auth.Credentials, org.apache.http.HttpRequest) throws org.apache.http.auth.AuthenticationException;
+    method @Deprecated public String getParameter(String);
+    method @Deprecated public String getRealm();
+    method @Deprecated public String getSchemeName();
+    method @Deprecated public boolean isComplete();
+    method @Deprecated public boolean isConnectionBased();
+    method @Deprecated protected void parseChallenge(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.auth.MalformedChallengeException;
+  }
+
+  @Deprecated public abstract class RFC2617Scheme extends org.apache.http.impl.auth.AuthSchemeBase {
+    ctor @Deprecated public RFC2617Scheme();
+    method @Deprecated public String getParameter(String);
+    method @Deprecated protected java.util.Map<java.lang.String,java.lang.String> getParameters();
+    method @Deprecated public String getRealm();
+    method @Deprecated protected void parseChallenge(org.apache.http.util.CharArrayBuffer, int, int) throws org.apache.http.auth.MalformedChallengeException;
+  }
+
+  @Deprecated public class UnsupportedDigestAlgorithmException extends java.lang.RuntimeException {
+    ctor @Deprecated public UnsupportedDigestAlgorithmException();
+    ctor @Deprecated public UnsupportedDigestAlgorithmException(String);
+    ctor @Deprecated public UnsupportedDigestAlgorithmException(String, Throwable);
+  }
+
+}
+
+package org.apache.http.impl.client {
+
+  @Deprecated public abstract class AbstractAuthenticationHandler implements org.apache.http.client.AuthenticationHandler {
+    ctor @Deprecated public AbstractAuthenticationHandler();
+    method @Deprecated protected java.util.List<java.lang.String> getAuthPreferences();
+    method @Deprecated protected java.util.Map<java.lang.String,org.apache.http.Header> parseChallenges(org.apache.http.Header[]) throws org.apache.http.auth.MalformedChallengeException;
+    method @Deprecated public org.apache.http.auth.AuthScheme selectScheme(java.util.Map<java.lang.String,org.apache.http.Header>, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.AuthenticationException;
+  }
+
+  @Deprecated public abstract class AbstractHttpClient implements org.apache.http.client.HttpClient {
+    ctor @Deprecated protected AbstractHttpClient(org.apache.http.conn.ClientConnectionManager, org.apache.http.params.HttpParams);
+    method @Deprecated public void addRequestInterceptor(org.apache.http.HttpRequestInterceptor);
+    method @Deprecated public void addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int);
+    method @Deprecated public void addResponseInterceptor(org.apache.http.HttpResponseInterceptor);
+    method @Deprecated public void addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int);
+    method @Deprecated public void clearRequestInterceptors();
+    method @Deprecated public void clearResponseInterceptors();
+    method @Deprecated protected abstract org.apache.http.auth.AuthSchemeRegistry createAuthSchemeRegistry();
+    method @Deprecated protected abstract org.apache.http.conn.ClientConnectionManager createClientConnectionManager();
+    method @Deprecated protected org.apache.http.client.RequestDirector createClientRequestDirector(org.apache.http.protocol.HttpRequestExecutor, org.apache.http.conn.ClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.conn.ConnectionKeepAliveStrategy, org.apache.http.conn.routing.HttpRoutePlanner, org.apache.http.protocol.HttpProcessor, org.apache.http.client.HttpRequestRetryHandler, org.apache.http.client.RedirectHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.UserTokenHandler, org.apache.http.params.HttpParams);
+    method @Deprecated protected abstract org.apache.http.conn.ConnectionKeepAliveStrategy createConnectionKeepAliveStrategy();
+    method @Deprecated protected abstract org.apache.http.ConnectionReuseStrategy createConnectionReuseStrategy();
+    method @Deprecated protected abstract org.apache.http.cookie.CookieSpecRegistry createCookieSpecRegistry();
+    method @Deprecated protected abstract org.apache.http.client.CookieStore createCookieStore();
+    method @Deprecated protected abstract org.apache.http.client.CredentialsProvider createCredentialsProvider();
+    method @Deprecated protected abstract org.apache.http.protocol.HttpContext createHttpContext();
+    method @Deprecated protected abstract org.apache.http.params.HttpParams createHttpParams();
+    method @Deprecated protected abstract org.apache.http.protocol.BasicHttpProcessor createHttpProcessor();
+    method @Deprecated protected abstract org.apache.http.client.HttpRequestRetryHandler createHttpRequestRetryHandler();
+    method @Deprecated protected abstract org.apache.http.conn.routing.HttpRoutePlanner createHttpRoutePlanner();
+    method @Deprecated protected abstract org.apache.http.client.AuthenticationHandler createProxyAuthenticationHandler();
+    method @Deprecated protected abstract org.apache.http.client.RedirectHandler createRedirectHandler();
+    method @Deprecated protected abstract org.apache.http.protocol.HttpRequestExecutor createRequestExecutor();
+    method @Deprecated protected abstract org.apache.http.client.AuthenticationHandler createTargetAuthenticationHandler();
+    method @Deprecated protected abstract org.apache.http.client.UserTokenHandler createUserTokenHandler();
+    method @Deprecated protected org.apache.http.params.HttpParams determineParams(org.apache.http.HttpRequest);
+    method @Deprecated public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public final org.apache.http.HttpResponse execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public final org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public final org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public <T> T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public <T> T execute(org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public <T> T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public <T> T execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.client.ResponseHandler<? extends T>, org.apache.http.protocol.HttpContext) throws org.apache.http.client.ClientProtocolException, java.io.IOException;
+    method @Deprecated public final org.apache.http.auth.AuthSchemeRegistry getAuthSchemes();
+    method @Deprecated public final org.apache.http.conn.ConnectionKeepAliveStrategy getConnectionKeepAliveStrategy();
+    method @Deprecated public final org.apache.http.conn.ClientConnectionManager getConnectionManager();
+    method @Deprecated public final org.apache.http.ConnectionReuseStrategy getConnectionReuseStrategy();
+    method @Deprecated public final org.apache.http.cookie.CookieSpecRegistry getCookieSpecs();
+    method @Deprecated public final org.apache.http.client.CookieStore getCookieStore();
+    method @Deprecated public final org.apache.http.client.CredentialsProvider getCredentialsProvider();
+    method @Deprecated protected final org.apache.http.protocol.BasicHttpProcessor getHttpProcessor();
+    method @Deprecated public final org.apache.http.client.HttpRequestRetryHandler getHttpRequestRetryHandler();
+    method @Deprecated public final org.apache.http.params.HttpParams getParams();
+    method @Deprecated public final org.apache.http.client.AuthenticationHandler getProxyAuthenticationHandler();
+    method @Deprecated public final org.apache.http.client.RedirectHandler getRedirectHandler();
+    method @Deprecated public final org.apache.http.protocol.HttpRequestExecutor getRequestExecutor();
+    method @Deprecated public org.apache.http.HttpRequestInterceptor getRequestInterceptor(int);
+    method @Deprecated public int getRequestInterceptorCount();
+    method @Deprecated public org.apache.http.HttpResponseInterceptor getResponseInterceptor(int);
+    method @Deprecated public int getResponseInterceptorCount();
+    method @Deprecated public final org.apache.http.conn.routing.HttpRoutePlanner getRoutePlanner();
+    method @Deprecated public final org.apache.http.client.AuthenticationHandler getTargetAuthenticationHandler();
+    method @Deprecated public final org.apache.http.client.UserTokenHandler getUserTokenHandler();
+    method @Deprecated public void removeRequestInterceptorByClass(Class<? extends org.apache.http.HttpRequestInterceptor>);
+    method @Deprecated public void removeResponseInterceptorByClass(Class<? extends org.apache.http.HttpResponseInterceptor>);
+    method @Deprecated public void setAuthSchemes(org.apache.http.auth.AuthSchemeRegistry);
+    method @Deprecated public void setCookieSpecs(org.apache.http.cookie.CookieSpecRegistry);
+    method @Deprecated public void setCookieStore(org.apache.http.client.CookieStore);
+    method @Deprecated public void setCredentialsProvider(org.apache.http.client.CredentialsProvider);
+    method @Deprecated public void setHttpRequestRetryHandler(org.apache.http.client.HttpRequestRetryHandler);
+    method @Deprecated public void setKeepAliveStrategy(org.apache.http.conn.ConnectionKeepAliveStrategy);
+    method @Deprecated public void setParams(org.apache.http.params.HttpParams);
+    method @Deprecated public void setProxyAuthenticationHandler(org.apache.http.client.AuthenticationHandler);
+    method @Deprecated public void setRedirectHandler(org.apache.http.client.RedirectHandler);
+    method @Deprecated public void setReuseStrategy(org.apache.http.ConnectionReuseStrategy);
+    method @Deprecated public void setRoutePlanner(org.apache.http.conn.routing.HttpRoutePlanner);
+    method @Deprecated public void setTargetAuthenticationHandler(org.apache.http.client.AuthenticationHandler);
+    method @Deprecated public void setUserTokenHandler(org.apache.http.client.UserTokenHandler);
+  }
+
+  @Deprecated public class BasicCookieStore implements org.apache.http.client.CookieStore {
+    ctor @Deprecated public BasicCookieStore();
+    method @Deprecated public void addCookie(org.apache.http.cookie.Cookie);
+    method @Deprecated public void addCookies(org.apache.http.cookie.Cookie[]);
+    method @Deprecated public void clear();
+    method @Deprecated public boolean clearExpired(java.util.Date);
+    method @Deprecated public java.util.List<org.apache.http.cookie.Cookie> getCookies();
+  }
+
+  @Deprecated public class BasicCredentialsProvider implements org.apache.http.client.CredentialsProvider {
+    ctor @Deprecated public BasicCredentialsProvider();
+    method @Deprecated public void clear();
+    method @Deprecated public org.apache.http.auth.Credentials getCredentials(org.apache.http.auth.AuthScope);
+    method @Deprecated public void setCredentials(org.apache.http.auth.AuthScope, org.apache.http.auth.Credentials);
+  }
+
+  @Deprecated public class BasicResponseHandler implements org.apache.http.client.ResponseHandler<java.lang.String> {
+    ctor @Deprecated public BasicResponseHandler();
+    method @Deprecated public String handleResponse(org.apache.http.HttpResponse) throws org.apache.http.client.HttpResponseException, java.io.IOException;
+  }
+
+  @Deprecated public class ClientParamsStack extends org.apache.http.params.AbstractHttpParams {
+    ctor @Deprecated public ClientParamsStack(org.apache.http.params.HttpParams, org.apache.http.params.HttpParams, org.apache.http.params.HttpParams, org.apache.http.params.HttpParams);
+    ctor @Deprecated public ClientParamsStack(org.apache.http.impl.client.ClientParamsStack);
+    ctor @Deprecated public ClientParamsStack(org.apache.http.impl.client.ClientParamsStack, org.apache.http.params.HttpParams, org.apache.http.params.HttpParams, org.apache.http.params.HttpParams, org.apache.http.params.HttpParams);
+    method @Deprecated public org.apache.http.params.HttpParams copy();
+    method @Deprecated public final org.apache.http.params.HttpParams getApplicationParams();
+    method @Deprecated public final org.apache.http.params.HttpParams getClientParams();
+    method @Deprecated public final org.apache.http.params.HttpParams getOverrideParams();
+    method @Deprecated public Object getParameter(String);
+    method @Deprecated public final org.apache.http.params.HttpParams getRequestParams();
+    method @Deprecated public boolean removeParameter(String);
+    method @Deprecated public org.apache.http.params.HttpParams setParameter(String, Object) throws java.lang.UnsupportedOperationException;
+    field @Deprecated protected final org.apache.http.params.HttpParams applicationParams;
+    field @Deprecated protected final org.apache.http.params.HttpParams clientParams;
+    field @Deprecated protected final org.apache.http.params.HttpParams overrideParams;
+    field @Deprecated protected final org.apache.http.params.HttpParams requestParams;
+  }
+
+  @Deprecated public class DefaultConnectionKeepAliveStrategy implements org.apache.http.conn.ConnectionKeepAliveStrategy {
+    ctor @Deprecated public DefaultConnectionKeepAliveStrategy();
+    method @Deprecated public long getKeepAliveDuration(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class DefaultHttpClient extends org.apache.http.impl.client.AbstractHttpClient {
+    ctor @Deprecated public DefaultHttpClient(org.apache.http.conn.ClientConnectionManager, org.apache.http.params.HttpParams);
+    ctor @Deprecated public DefaultHttpClient(org.apache.http.params.HttpParams);
+    ctor @Deprecated public DefaultHttpClient();
+    method @Deprecated protected org.apache.http.auth.AuthSchemeRegistry createAuthSchemeRegistry();
+    method @Deprecated protected org.apache.http.conn.ClientConnectionManager createClientConnectionManager();
+    method @Deprecated protected org.apache.http.conn.ConnectionKeepAliveStrategy createConnectionKeepAliveStrategy();
+    method @Deprecated protected org.apache.http.ConnectionReuseStrategy createConnectionReuseStrategy();
+    method @Deprecated protected org.apache.http.cookie.CookieSpecRegistry createCookieSpecRegistry();
+    method @Deprecated protected org.apache.http.client.CookieStore createCookieStore();
+    method @Deprecated protected org.apache.http.client.CredentialsProvider createCredentialsProvider();
+    method @Deprecated protected org.apache.http.protocol.HttpContext createHttpContext();
+    method @Deprecated protected org.apache.http.params.HttpParams createHttpParams();
+    method @Deprecated protected org.apache.http.protocol.BasicHttpProcessor createHttpProcessor();
+    method @Deprecated protected org.apache.http.client.HttpRequestRetryHandler createHttpRequestRetryHandler();
+    method @Deprecated protected org.apache.http.conn.routing.HttpRoutePlanner createHttpRoutePlanner();
+    method @Deprecated protected org.apache.http.client.AuthenticationHandler createProxyAuthenticationHandler();
+    method @Deprecated protected org.apache.http.client.RedirectHandler createRedirectHandler();
+    method @Deprecated protected org.apache.http.protocol.HttpRequestExecutor createRequestExecutor();
+    method @Deprecated protected org.apache.http.client.AuthenticationHandler createTargetAuthenticationHandler();
+    method @Deprecated protected org.apache.http.client.UserTokenHandler createUserTokenHandler();
+  }
+
+  @Deprecated public class DefaultHttpRequestRetryHandler implements org.apache.http.client.HttpRequestRetryHandler {
+    ctor @Deprecated public DefaultHttpRequestRetryHandler(int, boolean);
+    ctor @Deprecated public DefaultHttpRequestRetryHandler();
+    method @Deprecated public int getRetryCount();
+    method @Deprecated public boolean isRequestSentRetryEnabled();
+    method @Deprecated public boolean retryRequest(java.io.IOException, int, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class DefaultProxyAuthenticationHandler extends org.apache.http.impl.client.AbstractAuthenticationHandler {
+    ctor @Deprecated public DefaultProxyAuthenticationHandler();
+    method @Deprecated public java.util.Map<java.lang.String,org.apache.http.Header> getChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
+    method @Deprecated public boolean isAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class DefaultRedirectHandler implements org.apache.http.client.RedirectHandler {
+    ctor @Deprecated public DefaultRedirectHandler();
+    method @Deprecated public java.net.URI getLocationURI(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.ProtocolException;
+    method @Deprecated public boolean isRedirectRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class DefaultRequestDirector implements org.apache.http.client.RequestDirector {
+    ctor @Deprecated public DefaultRequestDirector(org.apache.http.protocol.HttpRequestExecutor, org.apache.http.conn.ClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.conn.ConnectionKeepAliveStrategy, org.apache.http.conn.routing.HttpRoutePlanner, org.apache.http.protocol.HttpProcessor, org.apache.http.client.HttpRequestRetryHandler, org.apache.http.client.RedirectHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.AuthenticationHandler, org.apache.http.client.UserTokenHandler, org.apache.http.params.HttpParams);
+    method @Deprecated protected org.apache.http.HttpRequest createConnectRequest(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext);
+    method @Deprecated protected boolean createTunnelToProxy(org.apache.http.conn.routing.HttpRoute, int, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated protected boolean createTunnelToTarget(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated protected org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+    method @Deprecated protected void establishRoute(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public org.apache.http.HttpResponse execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated protected org.apache.http.impl.client.RoutedRequest handleResponse(org.apache.http.impl.client.RoutedRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated protected void releaseConnection();
+    method @Deprecated protected void rewriteRequestURI(org.apache.http.impl.client.RequestWrapper, org.apache.http.conn.routing.HttpRoute) throws org.apache.http.ProtocolException;
+    field @Deprecated protected final org.apache.http.conn.ClientConnectionManager connManager;
+    field @Deprecated protected final org.apache.http.protocol.HttpProcessor httpProcessor;
+    field @Deprecated protected final org.apache.http.conn.ConnectionKeepAliveStrategy keepAliveStrategy;
+    field @Deprecated protected org.apache.http.conn.ManagedClientConnection managedConn;
+    field @Deprecated protected final org.apache.http.params.HttpParams params;
+    field @Deprecated protected final org.apache.http.client.RedirectHandler redirectHandler;
+    field @Deprecated protected final org.apache.http.protocol.HttpRequestExecutor requestExec;
+    field @Deprecated protected final org.apache.http.client.HttpRequestRetryHandler retryHandler;
+    field @Deprecated protected final org.apache.http.ConnectionReuseStrategy reuseStrategy;
+    field @Deprecated protected final org.apache.http.conn.routing.HttpRoutePlanner routePlanner;
+  }
+
+  @Deprecated public class DefaultTargetAuthenticationHandler extends org.apache.http.impl.client.AbstractAuthenticationHandler {
+    ctor @Deprecated public DefaultTargetAuthenticationHandler();
+    method @Deprecated public java.util.Map<java.lang.String,org.apache.http.Header> getChallenges(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.auth.MalformedChallengeException;
+    method @Deprecated public boolean isAuthenticationRequested(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class DefaultUserTokenHandler implements org.apache.http.client.UserTokenHandler {
+    ctor @Deprecated public DefaultUserTokenHandler();
+    method @Deprecated public Object getUserToken(org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class EntityEnclosingRequestWrapper extends org.apache.http.impl.client.RequestWrapper implements org.apache.http.HttpEntityEnclosingRequest {
+    ctor @Deprecated public EntityEnclosingRequestWrapper(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.ProtocolException;
+    method @Deprecated public boolean expectContinue();
+    method @Deprecated public org.apache.http.HttpEntity getEntity();
+    method @Deprecated public void setEntity(org.apache.http.HttpEntity);
+  }
+
+  @Deprecated public class RedirectLocations {
+    ctor @Deprecated public RedirectLocations();
+    method @Deprecated public void add(java.net.URI);
+    method @Deprecated public boolean contains(java.net.URI);
+    method @Deprecated public boolean remove(java.net.URI);
+  }
+
+  @Deprecated public class RequestWrapper extends org.apache.http.message.AbstractHttpMessage implements org.apache.http.client.methods.HttpUriRequest {
+    ctor @Deprecated public RequestWrapper(org.apache.http.HttpRequest) throws org.apache.http.ProtocolException;
+    method @Deprecated public void abort() throws java.lang.UnsupportedOperationException;
+    method @Deprecated public int getExecCount();
+    method @Deprecated public String getMethod();
+    method @Deprecated public org.apache.http.HttpRequest getOriginal();
+    method @Deprecated public org.apache.http.ProtocolVersion getProtocolVersion();
+    method @Deprecated public org.apache.http.RequestLine getRequestLine();
+    method @Deprecated public java.net.URI getURI();
+    method @Deprecated public void incrementExecCount();
+    method @Deprecated public boolean isAborted();
+    method @Deprecated public boolean isRepeatable();
+    method @Deprecated public void resetHeaders();
+    method @Deprecated public void setMethod(String);
+    method @Deprecated public void setProtocolVersion(org.apache.http.ProtocolVersion);
+    method @Deprecated public void setURI(java.net.URI);
+  }
+
+  @Deprecated public class RoutedRequest {
+    ctor @Deprecated public RoutedRequest(org.apache.http.impl.client.RequestWrapper, org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated public final org.apache.http.impl.client.RequestWrapper getRequest();
+    method @Deprecated public final org.apache.http.conn.routing.HttpRoute getRoute();
+    field @Deprecated protected final org.apache.http.impl.client.RequestWrapper request;
+    field @Deprecated protected final org.apache.http.conn.routing.HttpRoute route;
+  }
+
+  @Deprecated public class TunnelRefusedException extends org.apache.http.HttpException {
+    ctor @Deprecated public TunnelRefusedException(String, org.apache.http.HttpResponse);
+    method @Deprecated public org.apache.http.HttpResponse getResponse();
+  }
+
+}
+
+package org.apache.http.impl.conn {
+
+  @Deprecated public abstract class AbstractClientConnAdapter implements org.apache.http.conn.ManagedClientConnection {
+    ctor @Deprecated protected AbstractClientConnAdapter(org.apache.http.conn.ClientConnectionManager, org.apache.http.conn.OperatedClientConnection);
+    method @Deprecated public void abortConnection();
+    method @Deprecated protected final void assertNotAborted() throws java.io.InterruptedIOException;
+    method @Deprecated protected final void assertValid(org.apache.http.conn.OperatedClientConnection);
+    method @Deprecated protected void detach();
+    method @Deprecated public void flush() throws java.io.IOException;
+    method @Deprecated public java.net.InetAddress getLocalAddress();
+    method @Deprecated public int getLocalPort();
+    method @Deprecated protected org.apache.http.conn.ClientConnectionManager getManager();
+    method @Deprecated public org.apache.http.HttpConnectionMetrics getMetrics();
+    method @Deprecated public java.net.InetAddress getRemoteAddress();
+    method @Deprecated public int getRemotePort();
+    method @Deprecated public javax.net.ssl.SSLSession getSSLSession();
+    method @Deprecated public int getSocketTimeout();
+    method @Deprecated protected org.apache.http.conn.OperatedClientConnection getWrappedConnection();
+    method @Deprecated public boolean isMarkedReusable();
+    method @Deprecated public boolean isOpen();
+    method @Deprecated public boolean isResponseAvailable(int) throws java.io.IOException;
+    method @Deprecated public boolean isSecure();
+    method @Deprecated public boolean isStale();
+    method @Deprecated public void markReusable();
+    method @Deprecated public void receiveResponseEntity(org.apache.http.HttpResponse) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public org.apache.http.HttpResponse receiveResponseHeader() throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void releaseConnection();
+    method @Deprecated public void sendRequestEntity(org.apache.http.HttpEntityEnclosingRequest) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void sendRequestHeader(org.apache.http.HttpRequest) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void setIdleDuration(long, java.util.concurrent.TimeUnit);
+    method @Deprecated public void setSocketTimeout(int);
+    method @Deprecated public void unmarkReusable();
+  }
+
+  @Deprecated public abstract class AbstractPoolEntry {
+    ctor @Deprecated protected AbstractPoolEntry(org.apache.http.conn.ClientConnectionOperator, org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated public Object getState();
+    method @Deprecated public void layerProtocol(org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void open(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void setState(Object);
+    method @Deprecated protected void shutdownEntry();
+    method @Deprecated public void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    field @Deprecated protected final org.apache.http.conn.ClientConnectionOperator connOperator;
+    field @Deprecated protected final org.apache.http.conn.OperatedClientConnection connection;
+    field @Deprecated protected volatile org.apache.http.conn.routing.HttpRoute route;
+    field @Deprecated protected volatile Object state;
+    field @Deprecated protected volatile org.apache.http.conn.routing.RouteTracker tracker;
+  }
+
+  @Deprecated public abstract class AbstractPooledConnAdapter extends org.apache.http.impl.conn.AbstractClientConnAdapter {
+    ctor @Deprecated protected AbstractPooledConnAdapter(org.apache.http.conn.ClientConnectionManager, org.apache.http.impl.conn.AbstractPoolEntry);
+    method @Deprecated protected final void assertAttached();
+    method @Deprecated public void close() throws java.io.IOException;
+    method @Deprecated public org.apache.http.conn.routing.HttpRoute getRoute();
+    method @Deprecated public Object getState();
+    method @Deprecated public void layerProtocol(org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void open(org.apache.http.conn.routing.HttpRoute, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void setState(Object);
+    method @Deprecated public void shutdown() throws java.io.IOException;
+    method @Deprecated public void tunnelProxy(org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void tunnelTarget(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    field @Deprecated protected volatile org.apache.http.impl.conn.AbstractPoolEntry poolEntry;
+  }
+
+  @Deprecated public class DefaultClientConnection extends org.apache.http.impl.SocketHttpClientConnection implements org.apache.http.conn.OperatedClientConnection {
+    ctor @Deprecated public DefaultClientConnection();
+    method @Deprecated public final java.net.Socket getSocket();
+    method @Deprecated public final org.apache.http.HttpHost getTargetHost();
+    method @Deprecated public final boolean isSecure();
+    method @Deprecated public void openCompleted(boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void opening(java.net.Socket, org.apache.http.HttpHost) throws java.io.IOException;
+    method @Deprecated public void update(java.net.Socket, org.apache.http.HttpHost, boolean, org.apache.http.params.HttpParams) throws java.io.IOException;
+  }
+
+  @Deprecated public class DefaultClientConnectionOperator implements org.apache.http.conn.ClientConnectionOperator {
+    ctor @Deprecated public DefaultClientConnectionOperator(org.apache.http.conn.scheme.SchemeRegistry);
+    method @Deprecated public org.apache.http.conn.OperatedClientConnection createConnection();
+    method @Deprecated public void openConnection(org.apache.http.conn.OperatedClientConnection, org.apache.http.HttpHost, java.net.InetAddress, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated protected void prepareSocket(java.net.Socket, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public void updateSecureConnection(org.apache.http.conn.OperatedClientConnection, org.apache.http.HttpHost, org.apache.http.protocol.HttpContext, org.apache.http.params.HttpParams) throws java.io.IOException;
+    field @Deprecated protected org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
+  }
+
+  @Deprecated public class DefaultHttpRoutePlanner implements org.apache.http.conn.routing.HttpRoutePlanner {
+    ctor @Deprecated public DefaultHttpRoutePlanner(org.apache.http.conn.scheme.SchemeRegistry);
+    method @Deprecated public org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+    field @Deprecated protected org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
+  }
+
+  @Deprecated public class DefaultResponseParser extends org.apache.http.impl.io.AbstractMessageParser {
+    ctor @Deprecated public DefaultResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
+    method @Deprecated protected org.apache.http.HttpMessage parseHead(org.apache.http.io.SessionInputBuffer) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class IdleConnectionHandler {
+    ctor @Deprecated public IdleConnectionHandler();
+    method @Deprecated public void add(org.apache.http.HttpConnection, long, java.util.concurrent.TimeUnit);
+    method @Deprecated public void closeExpiredConnections();
+    method @Deprecated public void closeIdleConnections(long);
+    method @Deprecated public boolean remove(org.apache.http.HttpConnection);
+    method @Deprecated public void removeAll();
+  }
+
+  @Deprecated public class LoggingSessionInputBuffer implements org.apache.http.io.SessionInputBuffer {
+    ctor @Deprecated public LoggingSessionInputBuffer(org.apache.http.io.SessionInputBuffer, org.apache.http.impl.conn.Wire);
+    method @Deprecated public org.apache.http.io.HttpTransportMetrics getMetrics();
+    method @Deprecated public boolean isDataAvailable(int) throws java.io.IOException;
+    method @Deprecated public int read(byte[], int, int) throws java.io.IOException;
+    method @Deprecated public int read() throws java.io.IOException;
+    method @Deprecated public int read(byte[]) throws java.io.IOException;
+    method @Deprecated public String readLine() throws java.io.IOException;
+    method @Deprecated public int readLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+  }
+
+  @Deprecated public class LoggingSessionOutputBuffer implements org.apache.http.io.SessionOutputBuffer {
+    ctor @Deprecated public LoggingSessionOutputBuffer(org.apache.http.io.SessionOutputBuffer, org.apache.http.impl.conn.Wire);
+    method @Deprecated public void flush() throws java.io.IOException;
+    method @Deprecated public org.apache.http.io.HttpTransportMetrics getMetrics();
+    method @Deprecated public void write(byte[], int, int) throws java.io.IOException;
+    method @Deprecated public void write(int) throws java.io.IOException;
+    method @Deprecated public void write(byte[]) throws java.io.IOException;
+    method @Deprecated public void writeLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+    method @Deprecated public void writeLine(String) throws java.io.IOException;
+  }
+
+  @Deprecated public class ProxySelectorRoutePlanner implements org.apache.http.conn.routing.HttpRoutePlanner {
+    ctor @Deprecated public ProxySelectorRoutePlanner(org.apache.http.conn.scheme.SchemeRegistry, java.net.ProxySelector);
+    method @Deprecated protected java.net.Proxy chooseProxy(java.util.List<java.net.Proxy>, org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext);
+    method @Deprecated protected org.apache.http.HttpHost determineProxy(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+    method @Deprecated public org.apache.http.conn.routing.HttpRoute determineRoute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+    method @Deprecated protected String getHost(java.net.InetSocketAddress);
+    method @Deprecated public java.net.ProxySelector getProxySelector();
+    method @Deprecated public void setProxySelector(java.net.ProxySelector);
+    field @Deprecated protected java.net.ProxySelector proxySelector;
+    field @Deprecated protected org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
+  }
+
+  @Deprecated public class SingleClientConnManager implements org.apache.http.conn.ClientConnectionManager {
+    ctor @Deprecated public SingleClientConnManager(org.apache.http.params.HttpParams, org.apache.http.conn.scheme.SchemeRegistry);
+    method @Deprecated protected final void assertStillUp() throws java.lang.IllegalStateException;
+    method @Deprecated public void closeExpiredConnections();
+    method @Deprecated public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+    method @Deprecated protected org.apache.http.conn.ClientConnectionOperator createConnectionOperator(org.apache.http.conn.scheme.SchemeRegistry);
+    method @Deprecated public org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.routing.HttpRoute, Object);
+    method @Deprecated public org.apache.http.conn.scheme.SchemeRegistry getSchemeRegistry();
+    method @Deprecated public void releaseConnection(org.apache.http.conn.ManagedClientConnection, long, java.util.concurrent.TimeUnit);
+    method @Deprecated public final org.apache.http.conn.ClientConnectionRequest requestConnection(org.apache.http.conn.routing.HttpRoute, Object);
+    method @Deprecated protected void revokeConnection();
+    method @Deprecated public void shutdown();
+    field @Deprecated public static final String MISUSE_MESSAGE = "Invalid use of SingleClientConnManager: connection still allocated.\nMake sure to release the connection before allocating another one.";
+    field @Deprecated protected boolean alwaysShutDown;
+    field @Deprecated protected org.apache.http.conn.ClientConnectionOperator connOperator;
+    field @Deprecated protected long connectionExpiresTime;
+    field @Deprecated protected volatile boolean isShutDown;
+    field @Deprecated protected long lastReleaseTime;
+    field @Deprecated protected org.apache.http.impl.conn.SingleClientConnManager.ConnAdapter managedConn;
+    field @Deprecated protected org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
+    field @Deprecated protected org.apache.http.impl.conn.SingleClientConnManager.PoolEntry uniquePoolEntry;
+  }
+
+  @Deprecated protected class SingleClientConnManager.ConnAdapter extends org.apache.http.impl.conn.AbstractPooledConnAdapter {
+    ctor @Deprecated protected SingleClientConnManager.ConnAdapter(org.apache.http.impl.conn.SingleClientConnManager.PoolEntry, org.apache.http.conn.routing.HttpRoute);
+  }
+
+  @Deprecated protected class SingleClientConnManager.PoolEntry extends org.apache.http.impl.conn.AbstractPoolEntry {
+    ctor @Deprecated protected SingleClientConnManager.PoolEntry();
+    method @Deprecated protected void close() throws java.io.IOException;
+    method @Deprecated protected void shutdown() throws java.io.IOException;
+  }
+
+  @Deprecated public class Wire {
+    ctor @Deprecated public Wire(org.apache.commons.logging.Log);
+    method @Deprecated public boolean enabled();
+    method @Deprecated public void input(java.io.InputStream) throws java.io.IOException;
+    method @Deprecated public void input(byte[], int, int) throws java.io.IOException;
+    method @Deprecated public void input(byte[]) throws java.io.IOException;
+    method @Deprecated public void input(int) throws java.io.IOException;
+    method @Deprecated public void input(String) throws java.io.IOException;
+    method @Deprecated public void output(java.io.InputStream) throws java.io.IOException;
+    method @Deprecated public void output(byte[], int, int) throws java.io.IOException;
+    method @Deprecated public void output(byte[]) throws java.io.IOException;
+    method @Deprecated public void output(int) throws java.io.IOException;
+    method @Deprecated public void output(String) throws java.io.IOException;
+  }
+
+}
+
+package org.apache.http.impl.conn.tsccm {
+
+  @Deprecated public abstract class AbstractConnPool implements org.apache.http.impl.conn.tsccm.RefQueueHandler {
+    ctor @Deprecated protected AbstractConnPool();
+    method @Deprecated protected void closeConnection(org.apache.http.conn.OperatedClientConnection);
+    method @Deprecated public void closeExpiredConnections();
+    method @Deprecated public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+    method @Deprecated public abstract void deleteClosedConnections();
+    method @Deprecated public void enableConnectionGC() throws java.lang.IllegalStateException;
+    method @Deprecated public abstract void freeEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry, boolean, long, java.util.concurrent.TimeUnit);
+    method @Deprecated public final org.apache.http.impl.conn.tsccm.BasicPoolEntry getEntry(org.apache.http.conn.routing.HttpRoute, Object, long, java.util.concurrent.TimeUnit) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    method @Deprecated protected abstract void handleLostEntry(org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated public void handleReference(java.lang.ref.Reference);
+    method @Deprecated public abstract org.apache.http.impl.conn.tsccm.PoolEntryRequest requestPoolEntry(org.apache.http.conn.routing.HttpRoute, Object);
+    method @Deprecated public void shutdown();
+    field @Deprecated protected org.apache.http.impl.conn.IdleConnectionHandler idleConnHandler;
+    field @Deprecated protected volatile boolean isShutDown;
+    field @Deprecated protected java.util.Set<org.apache.http.impl.conn.tsccm.BasicPoolEntryRef> issuedConnections;
+    field @Deprecated protected int numConnections;
+    field @Deprecated protected final java.util.concurrent.locks.Lock poolLock;
+    field @Deprecated protected java.lang.ref.ReferenceQueue<java.lang.Object> refQueue;
+  }
+
+  @Deprecated public class BasicPoolEntry extends org.apache.http.impl.conn.AbstractPoolEntry {
+    ctor @Deprecated public BasicPoolEntry(org.apache.http.conn.ClientConnectionOperator, org.apache.http.conn.routing.HttpRoute, java.lang.ref.ReferenceQueue<java.lang.Object>);
+    method @Deprecated protected final org.apache.http.conn.OperatedClientConnection getConnection();
+    method @Deprecated protected final org.apache.http.conn.routing.HttpRoute getPlannedRoute();
+    method @Deprecated protected final org.apache.http.impl.conn.tsccm.BasicPoolEntryRef getWeakRef();
+  }
+
+  @Deprecated public class BasicPoolEntryRef extends java.lang.ref.WeakReference<org.apache.http.impl.conn.tsccm.BasicPoolEntry> {
+    ctor @Deprecated public BasicPoolEntryRef(org.apache.http.impl.conn.tsccm.BasicPoolEntry, java.lang.ref.ReferenceQueue<java.lang.Object>);
+    method @Deprecated public final org.apache.http.conn.routing.HttpRoute getRoute();
+  }
+
+  @Deprecated public class BasicPooledConnAdapter extends org.apache.http.impl.conn.AbstractPooledConnAdapter {
+    ctor @Deprecated protected BasicPooledConnAdapter(org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager, org.apache.http.impl.conn.AbstractPoolEntry);
+    method @Deprecated protected org.apache.http.impl.conn.AbstractPoolEntry getPoolEntry();
+  }
+
+  @Deprecated public class ConnPoolByRoute extends org.apache.http.impl.conn.tsccm.AbstractConnPool {
+    ctor @Deprecated public ConnPoolByRoute(org.apache.http.conn.ClientConnectionOperator, org.apache.http.params.HttpParams);
+    method @Deprecated protected org.apache.http.impl.conn.tsccm.BasicPoolEntry createEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool, org.apache.http.conn.ClientConnectionOperator);
+    method @Deprecated protected java.util.Queue<org.apache.http.impl.conn.tsccm.BasicPoolEntry> createFreeConnQueue();
+    method @Deprecated protected java.util.Map<org.apache.http.conn.routing.HttpRoute,org.apache.http.impl.conn.tsccm.RouteSpecificPool> createRouteToPoolMap();
+    method @Deprecated protected java.util.Queue<org.apache.http.impl.conn.tsccm.WaitingThread> createWaitingThreadQueue();
+    method @Deprecated public void deleteClosedConnections();
+    method @Deprecated protected void deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
+    method @Deprecated protected void deleteLeastUsedEntry();
+    method @Deprecated public void freeEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry, boolean, long, java.util.concurrent.TimeUnit);
+    method @Deprecated public int getConnectionsInPool(org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated protected org.apache.http.impl.conn.tsccm.BasicPoolEntry getEntryBlocking(org.apache.http.conn.routing.HttpRoute, Object, long, java.util.concurrent.TimeUnit, org.apache.http.impl.conn.tsccm.WaitingThreadAborter) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+    method @Deprecated protected org.apache.http.impl.conn.tsccm.BasicPoolEntry getFreeEntry(org.apache.http.impl.conn.tsccm.RouteSpecificPool, Object);
+    method @Deprecated protected org.apache.http.impl.conn.tsccm.RouteSpecificPool getRoutePool(org.apache.http.conn.routing.HttpRoute, boolean);
+    method @Deprecated protected void handleLostEntry(org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated protected org.apache.http.impl.conn.tsccm.RouteSpecificPool newRouteSpecificPool(org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated protected org.apache.http.impl.conn.tsccm.WaitingThread newWaitingThread(java.util.concurrent.locks.Condition, org.apache.http.impl.conn.tsccm.RouteSpecificPool);
+    method @Deprecated protected void notifyWaitingThread(org.apache.http.impl.conn.tsccm.RouteSpecificPool);
+    method @Deprecated public org.apache.http.impl.conn.tsccm.PoolEntryRequest requestPoolEntry(org.apache.http.conn.routing.HttpRoute, Object);
+    field @Deprecated protected java.util.Queue<org.apache.http.impl.conn.tsccm.BasicPoolEntry> freeConnections;
+    field @Deprecated protected final int maxTotalConnections;
+    field @Deprecated protected final org.apache.http.conn.ClientConnectionOperator operator;
+    field @Deprecated protected final java.util.Map<org.apache.http.conn.routing.HttpRoute,org.apache.http.impl.conn.tsccm.RouteSpecificPool> routeToPool;
+    field @Deprecated protected java.util.Queue<org.apache.http.impl.conn.tsccm.WaitingThread> waitingThreads;
+  }
+
+  @Deprecated public interface PoolEntryRequest {
+    method @Deprecated public void abortRequest();
+    method @Deprecated public org.apache.http.impl.conn.tsccm.BasicPoolEntry getPoolEntry(long, java.util.concurrent.TimeUnit) throws org.apache.http.conn.ConnectionPoolTimeoutException, java.lang.InterruptedException;
+  }
+
+  @Deprecated public interface RefQueueHandler {
+    method @Deprecated public void handleReference(java.lang.ref.Reference<?>);
+  }
+
+  @Deprecated public class RefQueueWorker implements java.lang.Runnable {
+    ctor @Deprecated public RefQueueWorker(java.lang.ref.ReferenceQueue<?>, org.apache.http.impl.conn.tsccm.RefQueueHandler);
+    method @Deprecated public void run();
+    method @Deprecated public void shutdown();
+    field @Deprecated protected final org.apache.http.impl.conn.tsccm.RefQueueHandler refHandler;
+    field @Deprecated protected final java.lang.ref.ReferenceQueue<?> refQueue;
+    field @Deprecated protected volatile Thread workerThread;
+  }
+
+  @Deprecated public class RouteSpecificPool {
+    ctor @Deprecated public RouteSpecificPool(org.apache.http.conn.routing.HttpRoute, int);
+    method @Deprecated public org.apache.http.impl.conn.tsccm.BasicPoolEntry allocEntry(Object);
+    method @Deprecated public void createdEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
+    method @Deprecated public boolean deleteEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
+    method @Deprecated public void dropEntry();
+    method @Deprecated public void freeEntry(org.apache.http.impl.conn.tsccm.BasicPoolEntry);
+    method @Deprecated public int getCapacity();
+    method @Deprecated public final int getEntryCount();
+    method @Deprecated public final int getMaxEntries();
+    method @Deprecated public final org.apache.http.conn.routing.HttpRoute getRoute();
+    method @Deprecated public boolean hasThread();
+    method @Deprecated public boolean isUnused();
+    method @Deprecated public org.apache.http.impl.conn.tsccm.WaitingThread nextThread();
+    method @Deprecated public void queueThread(org.apache.http.impl.conn.tsccm.WaitingThread);
+    method @Deprecated public void removeThread(org.apache.http.impl.conn.tsccm.WaitingThread);
+    field @Deprecated protected final java.util.LinkedList<org.apache.http.impl.conn.tsccm.BasicPoolEntry> freeEntries;
+    field @Deprecated protected final int maxEntries;
+    field @Deprecated protected int numEntries;
+    field @Deprecated protected final org.apache.http.conn.routing.HttpRoute route;
+    field @Deprecated protected final java.util.Queue<org.apache.http.impl.conn.tsccm.WaitingThread> waitingThreads;
+  }
+
+  @Deprecated public class ThreadSafeClientConnManager implements org.apache.http.conn.ClientConnectionManager {
+    ctor @Deprecated public ThreadSafeClientConnManager(org.apache.http.params.HttpParams, org.apache.http.conn.scheme.SchemeRegistry);
+    method @Deprecated public void closeExpiredConnections();
+    method @Deprecated public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
+    method @Deprecated protected org.apache.http.conn.ClientConnectionOperator createConnectionOperator(org.apache.http.conn.scheme.SchemeRegistry);
+    method @Deprecated protected org.apache.http.impl.conn.tsccm.AbstractConnPool createConnectionPool(org.apache.http.params.HttpParams);
+    method @Deprecated public int getConnectionsInPool(org.apache.http.conn.routing.HttpRoute);
+    method @Deprecated public int getConnectionsInPool();
+    method @Deprecated public org.apache.http.conn.scheme.SchemeRegistry getSchemeRegistry();
+    method @Deprecated public void releaseConnection(org.apache.http.conn.ManagedClientConnection, long, java.util.concurrent.TimeUnit);
+    method @Deprecated public org.apache.http.conn.ClientConnectionRequest requestConnection(org.apache.http.conn.routing.HttpRoute, Object);
+    method @Deprecated public void shutdown();
+    field @Deprecated protected org.apache.http.conn.ClientConnectionOperator connOperator;
+    field @Deprecated protected final org.apache.http.impl.conn.tsccm.AbstractConnPool connectionPool;
+    field @Deprecated protected org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
+  }
+
+  @Deprecated public class WaitingThread {
+    ctor @Deprecated public WaitingThread(java.util.concurrent.locks.Condition, org.apache.http.impl.conn.tsccm.RouteSpecificPool);
+    method @Deprecated public boolean await(java.util.Date) throws java.lang.InterruptedException;
+    method @Deprecated public final java.util.concurrent.locks.Condition getCondition();
+    method @Deprecated public final org.apache.http.impl.conn.tsccm.RouteSpecificPool getPool();
+    method @Deprecated public final Thread getThread();
+    method @Deprecated public void interrupt();
+    method @Deprecated public void wakeup();
+  }
+
+  @Deprecated public class WaitingThreadAborter {
+    ctor @Deprecated public WaitingThreadAborter();
+    method @Deprecated public void abort();
+    method @Deprecated public void setWaitingThread(org.apache.http.impl.conn.tsccm.WaitingThread);
+  }
+
+}
+
+package org.apache.http.impl.cookie {
+
+  @Deprecated public abstract class AbstractCookieAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+    ctor @Deprecated public AbstractCookieAttributeHandler();
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public abstract class AbstractCookieSpec implements org.apache.http.cookie.CookieSpec {
+    ctor @Deprecated public AbstractCookieSpec();
+    method @Deprecated protected org.apache.http.cookie.CookieAttributeHandler findAttribHandler(String);
+    method @Deprecated protected org.apache.http.cookie.CookieAttributeHandler getAttribHandler(String);
+    method @Deprecated protected java.util.Collection<org.apache.http.cookie.CookieAttributeHandler> getAttribHandlers();
+    method @Deprecated public void registerAttribHandler(String, org.apache.http.cookie.CookieAttributeHandler);
+  }
+
+  @Deprecated public class BasicClientCookie implements org.apache.http.cookie.ClientCookie java.lang.Cloneable org.apache.http.cookie.SetCookie {
+    ctor @Deprecated public BasicClientCookie(String, String);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public boolean containsAttribute(String);
+    method @Deprecated public String getAttribute(String);
+    method @Deprecated public String getComment();
+    method @Deprecated public String getCommentURL();
+    method @Deprecated public String getDomain();
+    method @Deprecated public java.util.Date getExpiryDate();
+    method @Deprecated public String getName();
+    method @Deprecated public String getPath();
+    method @Deprecated public int[] getPorts();
+    method @Deprecated public String getValue();
+    method @Deprecated public int getVersion();
+    method @Deprecated public boolean isExpired(java.util.Date);
+    method @Deprecated public boolean isPersistent();
+    method @Deprecated public boolean isSecure();
+    method @Deprecated public void setAttribute(String, String);
+    method @Deprecated public void setComment(String);
+    method @Deprecated public void setDomain(String);
+    method @Deprecated public void setExpiryDate(java.util.Date);
+    method @Deprecated public void setPath(String);
+    method @Deprecated public void setSecure(boolean);
+    method @Deprecated public void setValue(String);
+    method @Deprecated public void setVersion(int);
+  }
+
+  @Deprecated public class BasicClientCookie2 extends org.apache.http.impl.cookie.BasicClientCookie implements org.apache.http.cookie.SetCookie2 {
+    ctor @Deprecated public BasicClientCookie2(String, String);
+    method @Deprecated public void setCommentURL(String);
+    method @Deprecated public void setDiscard(boolean);
+    method @Deprecated public void setPorts(int[]);
+  }
+
+  @Deprecated public class BasicCommentHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler {
+    ctor @Deprecated public BasicCommentHandler();
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class BasicDomainHandler implements org.apache.http.cookie.CookieAttributeHandler {
+    ctor @Deprecated public BasicDomainHandler();
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class BasicExpiresHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler {
+    ctor @Deprecated public BasicExpiresHandler(String[]);
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class BasicMaxAgeHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler {
+    ctor @Deprecated public BasicMaxAgeHandler();
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class BasicPathHandler implements org.apache.http.cookie.CookieAttributeHandler {
+    ctor @Deprecated public BasicPathHandler();
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class BasicSecureHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler {
+    ctor @Deprecated public BasicSecureHandler();
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class BestMatchSpec implements org.apache.http.cookie.CookieSpec {
+    ctor @Deprecated public BestMatchSpec(String[], boolean);
+    ctor @Deprecated public BestMatchSpec();
+    method @Deprecated public java.util.List<org.apache.http.Header> formatCookies(java.util.List<org.apache.http.cookie.Cookie>);
+    method @Deprecated public int getVersion();
+    method @Deprecated public org.apache.http.Header getVersionHeader();
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class BestMatchSpecFactory implements org.apache.http.cookie.CookieSpecFactory {
+    ctor @Deprecated public BestMatchSpecFactory();
+    method @Deprecated public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+  }
+
+  @Deprecated public class BrowserCompatSpec extends org.apache.http.impl.cookie.CookieSpecBase {
+    ctor @Deprecated public BrowserCompatSpec(String[]);
+    ctor @Deprecated public BrowserCompatSpec();
+    method @Deprecated public java.util.List<org.apache.http.Header> formatCookies(java.util.List<org.apache.http.cookie.Cookie>);
+    method @Deprecated public int getVersion();
+    method @Deprecated public org.apache.http.Header getVersionHeader();
+    method @Deprecated public java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+    field @Deprecated protected static final String[] DATE_PATTERNS;
+  }
+
+  @Deprecated public class BrowserCompatSpecFactory implements org.apache.http.cookie.CookieSpecFactory {
+    ctor @Deprecated public BrowserCompatSpecFactory();
+    method @Deprecated public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+  }
+
+  @Deprecated public abstract class CookieSpecBase extends org.apache.http.impl.cookie.AbstractCookieSpec {
+    ctor @Deprecated public CookieSpecBase();
+    method @Deprecated protected static String getDefaultDomain(org.apache.http.cookie.CookieOrigin);
+    method @Deprecated protected static String getDefaultPath(org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated protected java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.HeaderElement[], org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class DateParseException extends java.lang.Exception {
+    ctor @Deprecated public DateParseException();
+    ctor @Deprecated public DateParseException(String);
+  }
+
+  @Deprecated public final class DateUtils {
+    method @Deprecated public static String formatDate(java.util.Date);
+    method @Deprecated public static String formatDate(java.util.Date, String);
+    method @Deprecated public static java.util.Date parseDate(String) throws org.apache.http.impl.cookie.DateParseException;
+    method @Deprecated public static java.util.Date parseDate(String, String[]) throws org.apache.http.impl.cookie.DateParseException;
+    method @Deprecated public static java.util.Date parseDate(String, String[], java.util.Date) throws org.apache.http.impl.cookie.DateParseException;
+    field @Deprecated public static final java.util.TimeZone GMT;
+    field @Deprecated public static final String PATTERN_ASCTIME = "EEE MMM d HH:mm:ss yyyy";
+    field @Deprecated public static final String PATTERN_RFC1036 = "EEEE, dd-MMM-yy HH:mm:ss zzz";
+    field @Deprecated public static final String PATTERN_RFC1123 = "EEE, dd MMM yyyy HH:mm:ss zzz";
+  }
+
+  @Deprecated public class NetscapeDomainHandler extends org.apache.http.impl.cookie.BasicDomainHandler {
+    ctor @Deprecated public NetscapeDomainHandler();
+  }
+
+  @Deprecated public class NetscapeDraftHeaderParser {
+    ctor @Deprecated public NetscapeDraftHeaderParser();
+    method @Deprecated public org.apache.http.HeaderElement parseHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    field @Deprecated public static final org.apache.http.impl.cookie.NetscapeDraftHeaderParser DEFAULT;
+  }
+
+  @Deprecated public class NetscapeDraftSpec extends org.apache.http.impl.cookie.CookieSpecBase {
+    ctor @Deprecated public NetscapeDraftSpec(String[]);
+    ctor @Deprecated public NetscapeDraftSpec();
+    method @Deprecated public java.util.List<org.apache.http.Header> formatCookies(java.util.List<org.apache.http.cookie.Cookie>);
+    method @Deprecated public int getVersion();
+    method @Deprecated public org.apache.http.Header getVersionHeader();
+    method @Deprecated public java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+    field @Deprecated protected static final String EXPIRES_PATTERN = "EEE, dd-MMM-yyyy HH:mm:ss z";
+  }
+
+  @Deprecated public class NetscapeDraftSpecFactory implements org.apache.http.cookie.CookieSpecFactory {
+    ctor @Deprecated public NetscapeDraftSpecFactory();
+    method @Deprecated public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+  }
+
+  @Deprecated public class RFC2109DomainHandler implements org.apache.http.cookie.CookieAttributeHandler {
+    ctor @Deprecated public RFC2109DomainHandler();
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class RFC2109Spec extends org.apache.http.impl.cookie.CookieSpecBase {
+    ctor @Deprecated public RFC2109Spec(String[], boolean);
+    ctor @Deprecated public RFC2109Spec();
+    method @Deprecated protected void formatCookieAsVer(org.apache.http.util.CharArrayBuffer, org.apache.http.cookie.Cookie, int);
+    method @Deprecated public java.util.List<org.apache.http.Header> formatCookies(java.util.List<org.apache.http.cookie.Cookie>);
+    method @Deprecated protected void formatParamAsVer(org.apache.http.util.CharArrayBuffer, String, String, int);
+    method @Deprecated public int getVersion();
+    method @Deprecated public org.apache.http.Header getVersionHeader();
+    method @Deprecated public java.util.List<org.apache.http.cookie.Cookie> parse(org.apache.http.Header, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class RFC2109SpecFactory implements org.apache.http.cookie.CookieSpecFactory {
+    ctor @Deprecated public RFC2109SpecFactory();
+    method @Deprecated public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+  }
+
+  @Deprecated public class RFC2109VersionHandler extends org.apache.http.impl.cookie.AbstractCookieAttributeHandler {
+    ctor @Deprecated public RFC2109VersionHandler();
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class RFC2965CommentUrlAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+    ctor @Deprecated public RFC2965CommentUrlAttributeHandler();
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class RFC2965DiscardAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+    ctor @Deprecated public RFC2965DiscardAttributeHandler();
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class RFC2965DomainAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+    ctor @Deprecated public RFC2965DomainAttributeHandler();
+    method @Deprecated public boolean domainMatch(String, String);
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class RFC2965PortAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+    ctor @Deprecated public RFC2965PortAttributeHandler();
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+  @Deprecated public class RFC2965Spec extends org.apache.http.impl.cookie.RFC2109Spec {
+    ctor @Deprecated public RFC2965Spec();
+    ctor @Deprecated public RFC2965Spec(String[], boolean);
+  }
+
+  @Deprecated public class RFC2965SpecFactory implements org.apache.http.cookie.CookieSpecFactory {
+    ctor @Deprecated public RFC2965SpecFactory();
+    method @Deprecated public org.apache.http.cookie.CookieSpec newInstance(org.apache.http.params.HttpParams);
+  }
+
+  @Deprecated public class RFC2965VersionAttributeHandler implements org.apache.http.cookie.CookieAttributeHandler {
+    ctor @Deprecated public RFC2965VersionAttributeHandler();
+    method @Deprecated public boolean match(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin);
+    method @Deprecated public void parse(org.apache.http.cookie.SetCookie, String) throws org.apache.http.cookie.MalformedCookieException;
+    method @Deprecated public void validate(org.apache.http.cookie.Cookie, org.apache.http.cookie.CookieOrigin) throws org.apache.http.cookie.MalformedCookieException;
+  }
+
+}
+
+package org.apache.http.impl.entity {
+
+  @Deprecated public class EntityDeserializer {
+    ctor @Deprecated public EntityDeserializer(org.apache.http.entity.ContentLengthStrategy);
+    method @Deprecated public org.apache.http.HttpEntity deserialize(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated protected org.apache.http.entity.BasicHttpEntity doDeserialize(org.apache.http.io.SessionInputBuffer, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class EntitySerializer {
+    ctor @Deprecated public EntitySerializer(org.apache.http.entity.ContentLengthStrategy);
+    method @Deprecated protected java.io.OutputStream doSerialize(org.apache.http.io.SessionOutputBuffer, org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void serialize(org.apache.http.io.SessionOutputBuffer, org.apache.http.HttpMessage, org.apache.http.HttpEntity) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class LaxContentLengthStrategy implements org.apache.http.entity.ContentLengthStrategy {
+    ctor @Deprecated public LaxContentLengthStrategy();
+    method @Deprecated public long determineLength(org.apache.http.HttpMessage) throws org.apache.http.HttpException;
+  }
+
+  @Deprecated public class StrictContentLengthStrategy implements org.apache.http.entity.ContentLengthStrategy {
+    ctor @Deprecated public StrictContentLengthStrategy();
+    method @Deprecated public long determineLength(org.apache.http.HttpMessage) throws org.apache.http.HttpException;
+  }
+
+}
+
+package org.apache.http.impl.io {
+
+  @Deprecated public abstract class AbstractMessageParser implements org.apache.http.io.HttpMessageParser {
+    ctor @Deprecated public AbstractMessageParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.params.HttpParams);
+    method @Deprecated public org.apache.http.HttpMessage parse() throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated protected abstract org.apache.http.HttpMessage parseHead(org.apache.http.io.SessionInputBuffer) throws org.apache.http.HttpException, java.io.IOException, org.apache.http.ParseException;
+    method @Deprecated public static org.apache.http.Header[] parseHeaders(org.apache.http.io.SessionInputBuffer, int, int, org.apache.http.message.LineParser) throws org.apache.http.HttpException, java.io.IOException;
+    field @Deprecated protected final org.apache.http.message.LineParser lineParser;
+  }
+
+  @Deprecated public abstract class AbstractMessageWriter implements org.apache.http.io.HttpMessageWriter {
+    ctor @Deprecated public AbstractMessageWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams);
+    method @Deprecated public void write(org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated protected abstract void writeHeadLine(org.apache.http.HttpMessage) throws java.io.IOException;
+    field @Deprecated protected final org.apache.http.util.CharArrayBuffer lineBuf;
+    field @Deprecated protected final org.apache.http.message.LineFormatter lineFormatter;
+    field @Deprecated protected final org.apache.http.io.SessionOutputBuffer sessionBuffer;
+  }
+
+  @Deprecated public abstract class AbstractSessionInputBuffer implements org.apache.http.io.SessionInputBuffer {
+    ctor @Deprecated public AbstractSessionInputBuffer();
+    method @Deprecated protected int fillBuffer() throws java.io.IOException;
+    method @Deprecated public org.apache.http.io.HttpTransportMetrics getMetrics();
+    method @Deprecated protected boolean hasBufferedData();
+    method @Deprecated protected void init(java.io.InputStream, int, org.apache.http.params.HttpParams);
+    method @Deprecated public int read() throws java.io.IOException;
+    method @Deprecated public int read(byte[], int, int) throws java.io.IOException;
+    method @Deprecated public int read(byte[]) throws java.io.IOException;
+    method @Deprecated public int readLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+    method @Deprecated public String readLine() throws java.io.IOException;
+  }
+
+  @Deprecated public abstract class AbstractSessionOutputBuffer implements org.apache.http.io.SessionOutputBuffer {
+    ctor @Deprecated public AbstractSessionOutputBuffer();
+    method @Deprecated public void flush() throws java.io.IOException;
+    method @Deprecated protected void flushBuffer() throws java.io.IOException;
+    method @Deprecated public org.apache.http.io.HttpTransportMetrics getMetrics();
+    method @Deprecated protected void init(java.io.OutputStream, int, org.apache.http.params.HttpParams);
+    method @Deprecated public void write(byte[], int, int) throws java.io.IOException;
+    method @Deprecated public void write(byte[]) throws java.io.IOException;
+    method @Deprecated public void write(int) throws java.io.IOException;
+    method @Deprecated public void writeLine(String) throws java.io.IOException;
+    method @Deprecated public void writeLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+  }
+
+  @Deprecated public class ChunkedInputStream extends java.io.InputStream {
+    ctor @Deprecated public ChunkedInputStream(org.apache.http.io.SessionInputBuffer);
+    method @Deprecated public org.apache.http.Header[] getFooters();
+    method @Deprecated public int read() throws java.io.IOException;
+  }
+
+  @Deprecated public class ChunkedOutputStream extends java.io.OutputStream {
+    ctor @Deprecated public ChunkedOutputStream(org.apache.http.io.SessionOutputBuffer, int) throws java.io.IOException;
+    ctor @Deprecated public ChunkedOutputStream(org.apache.http.io.SessionOutputBuffer) throws java.io.IOException;
+    method @Deprecated public void finish() throws java.io.IOException;
+    method @Deprecated protected void flushCache() throws java.io.IOException;
+    method @Deprecated protected void flushCacheWithAppend(byte[], int, int) throws java.io.IOException;
+    method @Deprecated public void write(int) throws java.io.IOException;
+    method @Deprecated protected void writeClosingChunk() throws java.io.IOException;
+  }
+
+  @Deprecated public class ContentLengthInputStream extends java.io.InputStream {
+    ctor @Deprecated public ContentLengthInputStream(org.apache.http.io.SessionInputBuffer, long);
+    method @Deprecated public int read() throws java.io.IOException;
+  }
+
+  @Deprecated public class ContentLengthOutputStream extends java.io.OutputStream {
+    ctor @Deprecated public ContentLengthOutputStream(org.apache.http.io.SessionOutputBuffer, long);
+    method @Deprecated public void write(int) throws java.io.IOException;
+  }
+
+  @Deprecated public class HttpRequestParser extends org.apache.http.impl.io.AbstractMessageParser {
+    ctor @Deprecated public HttpRequestParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpRequestFactory, org.apache.http.params.HttpParams);
+    method @Deprecated protected org.apache.http.HttpMessage parseHead(org.apache.http.io.SessionInputBuffer) throws org.apache.http.HttpException, java.io.IOException, org.apache.http.ParseException;
+  }
+
+  @Deprecated public class HttpRequestWriter extends org.apache.http.impl.io.AbstractMessageWriter {
+    ctor @Deprecated public HttpRequestWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams);
+    method @Deprecated protected void writeHeadLine(org.apache.http.HttpMessage) throws java.io.IOException;
+  }
+
+  @Deprecated public class HttpResponseParser extends org.apache.http.impl.io.AbstractMessageParser {
+    ctor @Deprecated public HttpResponseParser(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.HttpResponseFactory, org.apache.http.params.HttpParams);
+    method @Deprecated protected org.apache.http.HttpMessage parseHead(org.apache.http.io.SessionInputBuffer) throws org.apache.http.HttpException, java.io.IOException, org.apache.http.ParseException;
+  }
+
+  @Deprecated public class HttpResponseWriter extends org.apache.http.impl.io.AbstractMessageWriter {
+    ctor @Deprecated public HttpResponseWriter(org.apache.http.io.SessionOutputBuffer, org.apache.http.message.LineFormatter, org.apache.http.params.HttpParams);
+    method @Deprecated protected void writeHeadLine(org.apache.http.HttpMessage) throws java.io.IOException;
+  }
+
+  @Deprecated public class HttpTransportMetricsImpl implements org.apache.http.io.HttpTransportMetrics {
+    ctor @Deprecated public HttpTransportMetricsImpl();
+    method @Deprecated public long getBytesTransferred();
+    method @Deprecated public void incrementBytesTransferred(long);
+    method @Deprecated public void reset();
+    method @Deprecated public void setBytesTransferred(long);
+  }
+
+  @Deprecated public class IdentityInputStream extends java.io.InputStream {
+    ctor @Deprecated public IdentityInputStream(org.apache.http.io.SessionInputBuffer);
+    method @Deprecated public int read() throws java.io.IOException;
+  }
+
+  @Deprecated public class IdentityOutputStream extends java.io.OutputStream {
+    ctor @Deprecated public IdentityOutputStream(org.apache.http.io.SessionOutputBuffer);
+    method @Deprecated public void write(int) throws java.io.IOException;
+  }
+
+  @Deprecated public class SocketInputBuffer extends org.apache.http.impl.io.AbstractSessionInputBuffer {
+    ctor @Deprecated public SocketInputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+    method @Deprecated public boolean isDataAvailable(int) throws java.io.IOException;
+    method @Deprecated public boolean isStale() throws java.io.IOException;
+  }
+
+  @Deprecated public class SocketOutputBuffer extends org.apache.http.impl.io.AbstractSessionOutputBuffer {
+    ctor @Deprecated public SocketOutputBuffer(java.net.Socket, int, org.apache.http.params.HttpParams) throws java.io.IOException;
+  }
+
+}
+
+package org.apache.http.io {
+
+  @Deprecated public interface HttpMessageParser {
+    method @Deprecated public org.apache.http.HttpMessage parse() throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public interface HttpMessageWriter {
+    method @Deprecated public void write(org.apache.http.HttpMessage) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public interface HttpTransportMetrics {
+    method @Deprecated public long getBytesTransferred();
+    method @Deprecated public void reset();
+  }
+
+  @Deprecated public interface SessionInputBuffer {
+    method @Deprecated public org.apache.http.io.HttpTransportMetrics getMetrics();
+    method @Deprecated public boolean isDataAvailable(int) throws java.io.IOException;
+    method @Deprecated public int read(byte[], int, int) throws java.io.IOException;
+    method @Deprecated public int read(byte[]) throws java.io.IOException;
+    method @Deprecated public int read() throws java.io.IOException;
+    method @Deprecated public int readLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+    method @Deprecated public String readLine() throws java.io.IOException;
+  }
+
+  @Deprecated public interface SessionOutputBuffer {
+    method @Deprecated public void flush() throws java.io.IOException;
+    method @Deprecated public org.apache.http.io.HttpTransportMetrics getMetrics();
+    method @Deprecated public void write(byte[], int, int) throws java.io.IOException;
+    method @Deprecated public void write(byte[]) throws java.io.IOException;
+    method @Deprecated public void write(int) throws java.io.IOException;
+    method @Deprecated public void writeLine(String) throws java.io.IOException;
+    method @Deprecated public void writeLine(org.apache.http.util.CharArrayBuffer) throws java.io.IOException;
+  }
+
+}
+
+package org.apache.http.message {
+
+  @Deprecated public abstract class AbstractHttpMessage implements org.apache.http.HttpMessage {
+    ctor @Deprecated protected AbstractHttpMessage(org.apache.http.params.HttpParams);
+    ctor @Deprecated protected AbstractHttpMessage();
+    method @Deprecated public void addHeader(org.apache.http.Header);
+    method @Deprecated public void addHeader(String, String);
+    method @Deprecated public boolean containsHeader(String);
+    method @Deprecated public org.apache.http.Header[] getAllHeaders();
+    method @Deprecated public org.apache.http.Header getFirstHeader(String);
+    method @Deprecated public org.apache.http.Header[] getHeaders(String);
+    method @Deprecated public org.apache.http.Header getLastHeader(String);
+    method @Deprecated public org.apache.http.params.HttpParams getParams();
+    method @Deprecated public org.apache.http.HeaderIterator headerIterator();
+    method @Deprecated public org.apache.http.HeaderIterator headerIterator(String);
+    method @Deprecated public void removeHeader(org.apache.http.Header);
+    method @Deprecated public void removeHeaders(String);
+    method @Deprecated public void setHeader(org.apache.http.Header);
+    method @Deprecated public void setHeader(String, String);
+    method @Deprecated public void setHeaders(org.apache.http.Header[]);
+    method @Deprecated public void setParams(org.apache.http.params.HttpParams);
+    field @Deprecated protected org.apache.http.message.HeaderGroup headergroup;
+    field @Deprecated protected org.apache.http.params.HttpParams params;
+  }
+
+  @Deprecated public class BasicHeader implements java.lang.Cloneable org.apache.http.Header {
+    ctor @Deprecated public BasicHeader(String, String);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public org.apache.http.HeaderElement[] getElements() throws org.apache.http.ParseException;
+    method @Deprecated public String getName();
+    method @Deprecated public String getValue();
+  }
+
+  @Deprecated public class BasicHeaderElement implements java.lang.Cloneable org.apache.http.HeaderElement {
+    ctor @Deprecated public BasicHeaderElement(String, String, org.apache.http.NameValuePair[]);
+    ctor @Deprecated public BasicHeaderElement(String, String);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public String getName();
+    method @Deprecated public org.apache.http.NameValuePair getParameter(int);
+    method @Deprecated public org.apache.http.NameValuePair getParameterByName(String);
+    method @Deprecated public int getParameterCount();
+    method @Deprecated public org.apache.http.NameValuePair[] getParameters();
+    method @Deprecated public String getValue();
+  }
+
+  @Deprecated public class BasicHeaderElementIterator implements org.apache.http.HeaderElementIterator {
+    ctor @Deprecated public BasicHeaderElementIterator(org.apache.http.HeaderIterator, org.apache.http.message.HeaderValueParser);
+    ctor @Deprecated public BasicHeaderElementIterator(org.apache.http.HeaderIterator);
+    method @Deprecated public boolean hasNext();
+    method @Deprecated public final Object next() throws java.util.NoSuchElementException;
+    method @Deprecated public org.apache.http.HeaderElement nextElement() throws java.util.NoSuchElementException;
+    method @Deprecated public void remove() throws java.lang.UnsupportedOperationException;
+  }
+
+  @Deprecated public class BasicHeaderIterator implements org.apache.http.HeaderIterator {
+    ctor @Deprecated public BasicHeaderIterator(org.apache.http.Header[], String);
+    method @Deprecated protected boolean filterHeader(int);
+    method @Deprecated protected int findNext(int);
+    method @Deprecated public boolean hasNext();
+    method @Deprecated public final Object next() throws java.util.NoSuchElementException;
+    method @Deprecated public org.apache.http.Header nextHeader() throws java.util.NoSuchElementException;
+    method @Deprecated public void remove() throws java.lang.UnsupportedOperationException;
+    field @Deprecated protected final org.apache.http.Header[] allHeaders;
+    field @Deprecated protected int currentIndex;
+    field @Deprecated protected String headerName;
+  }
+
+  @Deprecated public class BasicHeaderValueFormatter implements org.apache.http.message.HeaderValueFormatter {
+    ctor @Deprecated public BasicHeaderValueFormatter();
+    method @Deprecated protected void doFormatValue(org.apache.http.util.CharArrayBuffer, String, boolean);
+    method @Deprecated protected int estimateElementsLen(org.apache.http.HeaderElement[]);
+    method @Deprecated protected int estimateHeaderElementLen(org.apache.http.HeaderElement);
+    method @Deprecated protected int estimateNameValuePairLen(org.apache.http.NameValuePair);
+    method @Deprecated protected int estimateParametersLen(org.apache.http.NameValuePair[]);
+    method @Deprecated public static final String formatElements(org.apache.http.HeaderElement[], boolean, org.apache.http.message.HeaderValueFormatter);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatElements(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[], boolean);
+    method @Deprecated public static final String formatHeaderElement(org.apache.http.HeaderElement, boolean, org.apache.http.message.HeaderValueFormatter);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement, boolean);
+    method @Deprecated public static final String formatNameValuePair(org.apache.http.NameValuePair, boolean, org.apache.http.message.HeaderValueFormatter);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean);
+    method @Deprecated public static final String formatParameters(org.apache.http.NameValuePair[], boolean, org.apache.http.message.HeaderValueFormatter);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean);
+    method @Deprecated protected boolean isSeparator(char);
+    method @Deprecated protected boolean isUnsafe(char);
+    field @Deprecated public static final org.apache.http.message.BasicHeaderValueFormatter DEFAULT;
+    field @Deprecated public static final String SEPARATORS = " ;,:@()<>\\\"/[]?={}\t";
+    field @Deprecated public static final String UNSAFE_CHARS = "\"\\";
+  }
+
+  @Deprecated public class BasicHeaderValueParser implements org.apache.http.message.HeaderValueParser {
+    ctor @Deprecated public BasicHeaderValueParser();
+    method @Deprecated protected org.apache.http.HeaderElement createHeaderElement(String, String, org.apache.http.NameValuePair[]);
+    method @Deprecated protected org.apache.http.NameValuePair createNameValuePair(String, String);
+    method @Deprecated public static final org.apache.http.HeaderElement[] parseElements(String, org.apache.http.message.HeaderValueParser) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.HeaderElement[] parseElements(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    method @Deprecated public static final org.apache.http.HeaderElement parseHeaderElement(String, org.apache.http.message.HeaderValueParser) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.HeaderElement parseHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    method @Deprecated public static final org.apache.http.NameValuePair parseNameValuePair(String, org.apache.http.message.HeaderValueParser) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    method @Deprecated public org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor, char[]);
+    method @Deprecated public static final org.apache.http.NameValuePair[] parseParameters(String, org.apache.http.message.HeaderValueParser) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.NameValuePair[] parseParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    field @Deprecated public static final org.apache.http.message.BasicHeaderValueParser DEFAULT;
+  }
+
+  @Deprecated public class BasicHttpEntityEnclosingRequest extends org.apache.http.message.BasicHttpRequest implements org.apache.http.HttpEntityEnclosingRequest {
+    ctor @Deprecated public BasicHttpEntityEnclosingRequest(String, String);
+    ctor @Deprecated public BasicHttpEntityEnclosingRequest(String, String, org.apache.http.ProtocolVersion);
+    ctor @Deprecated public BasicHttpEntityEnclosingRequest(org.apache.http.RequestLine);
+    method @Deprecated public boolean expectContinue();
+    method @Deprecated public org.apache.http.HttpEntity getEntity();
+    method @Deprecated public void setEntity(org.apache.http.HttpEntity);
+  }
+
+  @Deprecated public class BasicHttpRequest extends org.apache.http.message.AbstractHttpMessage implements org.apache.http.HttpRequest {
+    ctor @Deprecated public BasicHttpRequest(String, String);
+    ctor @Deprecated public BasicHttpRequest(String, String, org.apache.http.ProtocolVersion);
+    ctor @Deprecated public BasicHttpRequest(org.apache.http.RequestLine);
+    method @Deprecated public org.apache.http.ProtocolVersion getProtocolVersion();
+    method @Deprecated public org.apache.http.RequestLine getRequestLine();
+  }
+
+  @Deprecated public class BasicHttpResponse extends org.apache.http.message.AbstractHttpMessage implements org.apache.http.HttpResponse {
+    ctor @Deprecated public BasicHttpResponse(org.apache.http.StatusLine, org.apache.http.ReasonPhraseCatalog, java.util.Locale);
+    ctor @Deprecated public BasicHttpResponse(org.apache.http.StatusLine);
+    ctor @Deprecated public BasicHttpResponse(org.apache.http.ProtocolVersion, int, String);
+    method @Deprecated public org.apache.http.HttpEntity getEntity();
+    method @Deprecated public java.util.Locale getLocale();
+    method @Deprecated public org.apache.http.ProtocolVersion getProtocolVersion();
+    method @Deprecated protected String getReason(int);
+    method @Deprecated public org.apache.http.StatusLine getStatusLine();
+    method @Deprecated public void setEntity(org.apache.http.HttpEntity);
+    method @Deprecated public void setLocale(java.util.Locale);
+    method @Deprecated public void setReasonPhrase(String);
+    method @Deprecated public void setStatusCode(int);
+    method @Deprecated public void setStatusLine(org.apache.http.StatusLine);
+    method @Deprecated public void setStatusLine(org.apache.http.ProtocolVersion, int);
+    method @Deprecated public void setStatusLine(org.apache.http.ProtocolVersion, int, String);
+  }
+
+  @Deprecated public class BasicLineFormatter implements org.apache.http.message.LineFormatter {
+    ctor @Deprecated public BasicLineFormatter();
+    method @Deprecated public org.apache.http.util.CharArrayBuffer appendProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.ProtocolVersion);
+    method @Deprecated protected void doFormatHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.Header);
+    method @Deprecated protected void doFormatRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.RequestLine);
+    method @Deprecated protected void doFormatStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.StatusLine);
+    method @Deprecated protected int estimateProtocolVersionLen(org.apache.http.ProtocolVersion);
+    method @Deprecated public static final String formatHeader(org.apache.http.Header, org.apache.http.message.LineFormatter);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.Header);
+    method @Deprecated public static final String formatProtocolVersion(org.apache.http.ProtocolVersion, org.apache.http.message.LineFormatter);
+    method @Deprecated public static final String formatRequestLine(org.apache.http.RequestLine, org.apache.http.message.LineFormatter);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.RequestLine);
+    method @Deprecated public static final String formatStatusLine(org.apache.http.StatusLine, org.apache.http.message.LineFormatter);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.StatusLine);
+    method @Deprecated protected org.apache.http.util.CharArrayBuffer initBuffer(org.apache.http.util.CharArrayBuffer);
+    field @Deprecated public static final org.apache.http.message.BasicLineFormatter DEFAULT;
+  }
+
+  @Deprecated public class BasicLineParser implements org.apache.http.message.LineParser {
+    ctor @Deprecated public BasicLineParser(org.apache.http.ProtocolVersion);
+    ctor @Deprecated public BasicLineParser();
+    method @Deprecated protected org.apache.http.ProtocolVersion createProtocolVersion(int, int);
+    method @Deprecated protected org.apache.http.RequestLine createRequestLine(String, String, org.apache.http.ProtocolVersion);
+    method @Deprecated protected org.apache.http.StatusLine createStatusLine(org.apache.http.ProtocolVersion, int, String);
+    method @Deprecated public boolean hasProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    method @Deprecated public static final org.apache.http.Header parseHeader(String, org.apache.http.message.LineParser) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.Header parseHeader(org.apache.http.util.CharArrayBuffer) throws org.apache.http.ParseException;
+    method @Deprecated public static final org.apache.http.ProtocolVersion parseProtocolVersion(String, org.apache.http.message.LineParser) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.ProtocolVersion parseProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    method @Deprecated public static final org.apache.http.RequestLine parseRequestLine(String, org.apache.http.message.LineParser) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.RequestLine parseRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    method @Deprecated public static final org.apache.http.StatusLine parseStatusLine(String, org.apache.http.message.LineParser) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.StatusLine parseStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    method @Deprecated protected void skipWhitespace(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    field @Deprecated public static final org.apache.http.message.BasicLineParser DEFAULT;
+    field @Deprecated protected final org.apache.http.ProtocolVersion protocol;
+  }
+
+  @Deprecated public class BasicListHeaderIterator implements org.apache.http.HeaderIterator {
+    ctor @Deprecated public BasicListHeaderIterator(java.util.List, String);
+    method @Deprecated protected boolean filterHeader(int);
+    method @Deprecated protected int findNext(int);
+    method @Deprecated public boolean hasNext();
+    method @Deprecated public final Object next() throws java.util.NoSuchElementException;
+    method @Deprecated public org.apache.http.Header nextHeader() throws java.util.NoSuchElementException;
+    method @Deprecated public void remove() throws java.lang.UnsupportedOperationException;
+    field @Deprecated protected final java.util.List allHeaders;
+    field @Deprecated protected int currentIndex;
+    field @Deprecated protected String headerName;
+    field @Deprecated protected int lastIndex;
+  }
+
+  @Deprecated public class BasicNameValuePair implements java.lang.Cloneable org.apache.http.NameValuePair {
+    ctor @Deprecated public BasicNameValuePair(String, String);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public String getName();
+    method @Deprecated public String getValue();
+  }
+
+  @Deprecated public class BasicRequestLine implements java.lang.Cloneable org.apache.http.RequestLine {
+    ctor @Deprecated public BasicRequestLine(String, String, org.apache.http.ProtocolVersion);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public String getMethod();
+    method @Deprecated public org.apache.http.ProtocolVersion getProtocolVersion();
+    method @Deprecated public String getUri();
+  }
+
+  @Deprecated public class BasicStatusLine implements java.lang.Cloneable org.apache.http.StatusLine {
+    ctor @Deprecated public BasicStatusLine(org.apache.http.ProtocolVersion, int, String);
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public org.apache.http.ProtocolVersion getProtocolVersion();
+    method @Deprecated public String getReasonPhrase();
+    method @Deprecated public int getStatusCode();
+  }
+
+  @Deprecated public class BasicTokenIterator implements org.apache.http.TokenIterator {
+    ctor @Deprecated public BasicTokenIterator(org.apache.http.HeaderIterator);
+    method @Deprecated protected String createToken(String, int, int);
+    method @Deprecated protected int findNext(int) throws org.apache.http.ParseException;
+    method @Deprecated protected int findTokenEnd(int);
+    method @Deprecated protected int findTokenSeparator(int);
+    method @Deprecated protected int findTokenStart(int);
+    method @Deprecated public boolean hasNext();
+    method @Deprecated protected boolean isHttpSeparator(char);
+    method @Deprecated protected boolean isTokenChar(char);
+    method @Deprecated protected boolean isTokenSeparator(char);
+    method @Deprecated protected boolean isWhitespace(char);
+    method @Deprecated public final Object next() throws java.util.NoSuchElementException, org.apache.http.ParseException;
+    method @Deprecated public String nextToken() throws java.util.NoSuchElementException, org.apache.http.ParseException;
+    method @Deprecated public final void remove() throws java.lang.UnsupportedOperationException;
+    field @Deprecated public static final String HTTP_SEPARATORS = " ,;=()<>@:\\\"/[]?{}\t";
+    field @Deprecated protected String currentHeader;
+    field @Deprecated protected String currentToken;
+    field @Deprecated protected final org.apache.http.HeaderIterator headerIt;
+    field @Deprecated protected int searchPos;
+  }
+
+  @Deprecated public class BufferedHeader implements java.lang.Cloneable org.apache.http.FormattedHeader {
+    ctor @Deprecated public BufferedHeader(org.apache.http.util.CharArrayBuffer) throws org.apache.http.ParseException;
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public org.apache.http.util.CharArrayBuffer getBuffer();
+    method @Deprecated public org.apache.http.HeaderElement[] getElements() throws org.apache.http.ParseException;
+    method @Deprecated public String getName();
+    method @Deprecated public String getValue();
+    method @Deprecated public int getValuePos();
+  }
+
+  @Deprecated public class HeaderGroup implements java.lang.Cloneable {
+    ctor @Deprecated public HeaderGroup();
+    method @Deprecated public void addHeader(org.apache.http.Header);
+    method @Deprecated public void clear();
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public boolean containsHeader(String);
+    method @Deprecated public org.apache.http.message.HeaderGroup copy();
+    method @Deprecated public org.apache.http.Header[] getAllHeaders();
+    method @Deprecated public org.apache.http.Header getCondensedHeader(String);
+    method @Deprecated public org.apache.http.Header getFirstHeader(String);
+    method @Deprecated public org.apache.http.Header[] getHeaders(String);
+    method @Deprecated public org.apache.http.Header getLastHeader(String);
+    method @Deprecated public org.apache.http.HeaderIterator iterator();
+    method @Deprecated public org.apache.http.HeaderIterator iterator(String);
+    method @Deprecated public void removeHeader(org.apache.http.Header);
+    method @Deprecated public void setHeaders(org.apache.http.Header[]);
+    method @Deprecated public void updateHeader(org.apache.http.Header);
+  }
+
+  @Deprecated public interface HeaderValueFormatter {
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatElements(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement[], boolean);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.HeaderElement, boolean);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair, boolean);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.NameValuePair[], boolean);
+  }
+
+  @Deprecated public interface HeaderValueParser {
+    method @Deprecated public org.apache.http.HeaderElement[] parseElements(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.HeaderElement parseHeaderElement(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.NameValuePair parseNameValuePair(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.NameValuePair[] parseParameters(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+  }
+
+  @Deprecated public interface LineFormatter {
+    method @Deprecated public org.apache.http.util.CharArrayBuffer appendProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.ProtocolVersion);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatHeader(org.apache.http.util.CharArrayBuffer, org.apache.http.Header);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.RequestLine);
+    method @Deprecated public org.apache.http.util.CharArrayBuffer formatStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.StatusLine);
+  }
+
+  @Deprecated public interface LineParser {
+    method @Deprecated public boolean hasProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor);
+    method @Deprecated public org.apache.http.Header parseHeader(org.apache.http.util.CharArrayBuffer) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.ProtocolVersion parseProtocolVersion(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.RequestLine parseRequestLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+    method @Deprecated public org.apache.http.StatusLine parseStatusLine(org.apache.http.util.CharArrayBuffer, org.apache.http.message.ParserCursor) throws org.apache.http.ParseException;
+  }
+
+  @Deprecated public class ParserCursor {
+    ctor @Deprecated public ParserCursor(int, int);
+    method @Deprecated public boolean atEnd();
+    method @Deprecated public int getLowerBound();
+    method @Deprecated public int getPos();
+    method @Deprecated public int getUpperBound();
+    method @Deprecated public void updatePos(int);
+  }
+
+}
+
+package org.apache.http.params {
+
+  @Deprecated public abstract class AbstractHttpParams implements org.apache.http.params.HttpParams {
+    ctor @Deprecated protected AbstractHttpParams();
+    method @Deprecated public boolean getBooleanParameter(String, boolean);
+    method @Deprecated public double getDoubleParameter(String, double);
+    method @Deprecated public int getIntParameter(String, int);
+    method @Deprecated public long getLongParameter(String, long);
+    method @Deprecated public boolean isParameterFalse(String);
+    method @Deprecated public boolean isParameterTrue(String);
+    method @Deprecated public org.apache.http.params.HttpParams setBooleanParameter(String, boolean);
+    method @Deprecated public org.apache.http.params.HttpParams setDoubleParameter(String, double);
+    method @Deprecated public org.apache.http.params.HttpParams setIntParameter(String, int);
+    method @Deprecated public org.apache.http.params.HttpParams setLongParameter(String, long);
+  }
+
+  @Deprecated public final class BasicHttpParams extends org.apache.http.params.AbstractHttpParams implements java.lang.Cloneable java.io.Serializable {
+    ctor @Deprecated public BasicHttpParams();
+    method @Deprecated public void clear();
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public org.apache.http.params.HttpParams copy();
+    method @Deprecated protected void copyParams(org.apache.http.params.HttpParams);
+    method @Deprecated public Object getParameter(String);
+    method @Deprecated public boolean isParameterSet(String);
+    method @Deprecated public boolean isParameterSetLocally(String);
+    method @Deprecated public boolean removeParameter(String);
+    method @Deprecated public org.apache.http.params.HttpParams setParameter(String, Object);
+    method @Deprecated public void setParameters(String[], Object);
+  }
+
+  @Deprecated public interface CoreProtocolPNames {
+    field @Deprecated public static final String HTTP_CONTENT_CHARSET = "http.protocol.content-charset";
+    field @Deprecated public static final String HTTP_ELEMENT_CHARSET = "http.protocol.element-charset";
+    field @Deprecated public static final String ORIGIN_SERVER = "http.origin-server";
+    field @Deprecated public static final String PROTOCOL_VERSION = "http.protocol.version";
+    field @Deprecated public static final String STRICT_TRANSFER_ENCODING = "http.protocol.strict-transfer-encoding";
+    field @Deprecated public static final String USER_AGENT = "http.useragent";
+    field @Deprecated public static final String USE_EXPECT_CONTINUE = "http.protocol.expect-continue";
+    field @Deprecated public static final String WAIT_FOR_CONTINUE = "http.protocol.wait-for-continue";
+  }
+
+  @Deprecated public final class DefaultedHttpParams extends org.apache.http.params.AbstractHttpParams {
+    ctor @Deprecated public DefaultedHttpParams(org.apache.http.params.HttpParams, org.apache.http.params.HttpParams);
+    method @Deprecated public org.apache.http.params.HttpParams copy();
+    method @Deprecated public org.apache.http.params.HttpParams getDefaults();
+    method @Deprecated public Object getParameter(String);
+    method @Deprecated public boolean removeParameter(String);
+    method @Deprecated public org.apache.http.params.HttpParams setParameter(String, Object);
+  }
+
+  @Deprecated public abstract class HttpAbstractParamBean {
+    ctor @Deprecated public HttpAbstractParamBean(org.apache.http.params.HttpParams);
+    field @Deprecated protected final org.apache.http.params.HttpParams params;
+  }
+
+  @Deprecated public class HttpConnectionParamBean extends org.apache.http.params.HttpAbstractParamBean {
+    ctor @Deprecated public HttpConnectionParamBean(org.apache.http.params.HttpParams);
+    method @Deprecated public void setConnectionTimeout(int);
+    method @Deprecated public void setLinger(int);
+    method @Deprecated public void setSoTimeout(int);
+    method @Deprecated public void setSocketBufferSize(int);
+    method @Deprecated public void setStaleCheckingEnabled(boolean);
+    method @Deprecated public void setTcpNoDelay(boolean);
+  }
+
+  @Deprecated public class HttpProtocolParamBean extends org.apache.http.params.HttpAbstractParamBean {
+    ctor @Deprecated public HttpProtocolParamBean(org.apache.http.params.HttpParams);
+    method @Deprecated public void setContentCharset(String);
+    method @Deprecated public void setHttpElementCharset(String);
+    method @Deprecated public void setUseExpectContinue(boolean);
+    method @Deprecated public void setUserAgent(String);
+    method @Deprecated public void setVersion(org.apache.http.HttpVersion);
+  }
+
+  @Deprecated public final class HttpProtocolParams implements org.apache.http.params.CoreProtocolPNames {
+    method @Deprecated public static String getContentCharset(org.apache.http.params.HttpParams);
+    method @Deprecated public static String getHttpElementCharset(org.apache.http.params.HttpParams);
+    method @Deprecated public static String getUserAgent(org.apache.http.params.HttpParams);
+    method @Deprecated public static org.apache.http.ProtocolVersion getVersion(org.apache.http.params.HttpParams);
+    method @Deprecated public static void setContentCharset(org.apache.http.params.HttpParams, String);
+    method @Deprecated public static void setHttpElementCharset(org.apache.http.params.HttpParams, String);
+    method @Deprecated public static void setUseExpectContinue(org.apache.http.params.HttpParams, boolean);
+    method @Deprecated public static void setUserAgent(org.apache.http.params.HttpParams, String);
+    method @Deprecated public static void setVersion(org.apache.http.params.HttpParams, org.apache.http.ProtocolVersion);
+    method @Deprecated public static boolean useExpectContinue(org.apache.http.params.HttpParams);
+  }
+
+}
+
+package org.apache.http.protocol {
+
+  @Deprecated public class BasicHttpContext implements org.apache.http.protocol.HttpContext {
+    ctor @Deprecated public BasicHttpContext();
+    ctor @Deprecated public BasicHttpContext(org.apache.http.protocol.HttpContext);
+    method @Deprecated public Object getAttribute(String);
+    method @Deprecated public Object removeAttribute(String);
+    method @Deprecated public void setAttribute(String, Object);
+  }
+
+  @Deprecated public final class BasicHttpProcessor implements java.lang.Cloneable org.apache.http.protocol.HttpProcessor org.apache.http.protocol.HttpRequestInterceptorList org.apache.http.protocol.HttpResponseInterceptorList {
+    ctor @Deprecated public BasicHttpProcessor();
+    method @Deprecated public void addInterceptor(org.apache.http.HttpRequestInterceptor);
+    method @Deprecated public void addInterceptor(org.apache.http.HttpRequestInterceptor, int);
+    method @Deprecated public void addInterceptor(org.apache.http.HttpResponseInterceptor);
+    method @Deprecated public void addInterceptor(org.apache.http.HttpResponseInterceptor, int);
+    method @Deprecated public void addRequestInterceptor(org.apache.http.HttpRequestInterceptor);
+    method @Deprecated public void addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int);
+    method @Deprecated public void addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int);
+    method @Deprecated public void addResponseInterceptor(org.apache.http.HttpResponseInterceptor);
+    method @Deprecated public void clearInterceptors();
+    method @Deprecated public void clearRequestInterceptors();
+    method @Deprecated public void clearResponseInterceptors();
+    method @Deprecated public Object clone() throws java.lang.CloneNotSupportedException;
+    method @Deprecated public org.apache.http.protocol.BasicHttpProcessor copy();
+    method @Deprecated protected void copyInterceptors(org.apache.http.protocol.BasicHttpProcessor);
+    method @Deprecated public org.apache.http.HttpRequestInterceptor getRequestInterceptor(int);
+    method @Deprecated public int getRequestInterceptorCount();
+    method @Deprecated public org.apache.http.HttpResponseInterceptor getResponseInterceptor(int);
+    method @Deprecated public int getResponseInterceptorCount();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void removeRequestInterceptorByClass(Class);
+    method @Deprecated public void removeResponseInterceptorByClass(Class);
+    method @Deprecated public void setInterceptors(java.util.List);
+    field @Deprecated protected java.util.List requestInterceptors;
+    field @Deprecated protected java.util.List responseInterceptors;
+  }
+
+  @Deprecated public final class DefaultedHttpContext implements org.apache.http.protocol.HttpContext {
+    ctor @Deprecated public DefaultedHttpContext(org.apache.http.protocol.HttpContext, org.apache.http.protocol.HttpContext);
+    method @Deprecated public Object getAttribute(String);
+    method @Deprecated public org.apache.http.protocol.HttpContext getDefaults();
+    method @Deprecated public Object removeAttribute(String);
+    method @Deprecated public void setAttribute(String, Object);
+  }
+
+  @Deprecated public interface ExecutionContext {
+    field @Deprecated public static final String HTTP_CONNECTION = "http.connection";
+    field @Deprecated public static final String HTTP_PROXY_HOST = "http.proxy_host";
+    field @Deprecated public static final String HTTP_REQUEST = "http.request";
+    field @Deprecated public static final String HTTP_REQ_SENT = "http.request_sent";
+    field @Deprecated public static final String HTTP_RESPONSE = "http.response";
+    field @Deprecated public static final String HTTP_TARGET_HOST = "http.target_host";
+  }
+
+  @Deprecated public final class HTTP {
+    method @Deprecated public static boolean isWhitespace(char);
+    field @Deprecated public static final String ASCII = "ASCII";
+    field @Deprecated public static final String CHARSET_PARAM = "; charset=";
+    field @Deprecated public static final String CHUNK_CODING = "chunked";
+    field @Deprecated public static final String CONN_CLOSE = "Close";
+    field @Deprecated public static final String CONN_DIRECTIVE = "Connection";
+    field @Deprecated public static final String CONN_KEEP_ALIVE = "Keep-Alive";
+    field @Deprecated public static final String CONTENT_ENCODING = "Content-Encoding";
+    field @Deprecated public static final String CONTENT_LEN = "Content-Length";
+    field @Deprecated public static final String CONTENT_TYPE = "Content-Type";
+    field @Deprecated public static final int CR = 13; // 0xd
+    field @Deprecated public static final String DATE_HEADER = "Date";
+    field @Deprecated public static final String DEFAULT_CONTENT_CHARSET = "ISO-8859-1";
+    field @Deprecated public static final String DEFAULT_CONTENT_TYPE = "application/octet-stream";
+    field @Deprecated public static final String DEFAULT_PROTOCOL_CHARSET = "US-ASCII";
+    field @Deprecated public static final String EXPECT_CONTINUE = "100-continue";
+    field @Deprecated public static final String EXPECT_DIRECTIVE = "Expect";
+    field @Deprecated public static final int HT = 9; // 0x9
+    field @Deprecated public static final String IDENTITY_CODING = "identity";
+    field @Deprecated public static final String ISO_8859_1 = "ISO-8859-1";
+    field @Deprecated public static final int LF = 10; // 0xa
+    field @Deprecated public static final String OCTET_STREAM_TYPE = "application/octet-stream";
+    field @Deprecated public static final String PLAIN_TEXT_TYPE = "text/plain";
+    field @Deprecated public static final String SERVER_HEADER = "Server";
+    field @Deprecated public static final int SP = 32; // 0x20
+    field @Deprecated public static final String TARGET_HOST = "Host";
+    field @Deprecated public static final String TRANSFER_ENCODING = "Transfer-Encoding";
+    field @Deprecated public static final String USER_AGENT = "User-Agent";
+    field @Deprecated public static final String US_ASCII = "US-ASCII";
+    field @Deprecated public static final String UTF_16 = "UTF-16";
+    field @Deprecated public static final String UTF_8 = "UTF-8";
+  }
+
+  @Deprecated public interface HttpContext {
+    method @Deprecated public Object getAttribute(String);
+    method @Deprecated public Object removeAttribute(String);
+    method @Deprecated public void setAttribute(String, Object);
+    field @Deprecated public static final String RESERVED_PREFIX = "http.";
+  }
+
+  @Deprecated public class HttpDateGenerator {
+    ctor @Deprecated public HttpDateGenerator();
+    method @Deprecated public String getCurrentDate();
+    field @Deprecated public static final java.util.TimeZone GMT;
+    field @Deprecated public static final String PATTERN_RFC1123 = "EEE, dd MMM yyyy HH:mm:ss zzz";
+  }
+
+  @Deprecated public interface HttpExpectationVerifier {
+    method @Deprecated public void verify(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException;
+  }
+
+  @Deprecated public interface HttpProcessor extends org.apache.http.HttpRequestInterceptor org.apache.http.HttpResponseInterceptor {
+  }
+
+  @Deprecated public class HttpRequestExecutor {
+    ctor @Deprecated public HttpRequestExecutor();
+    method @Deprecated protected boolean canResponseHaveBody(org.apache.http.HttpRequest, org.apache.http.HttpResponse);
+    method @Deprecated protected org.apache.http.HttpResponse doReceiveResponse(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated protected org.apache.http.HttpResponse doSendRequest(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public org.apache.http.HttpResponse execute(org.apache.http.HttpRequest, org.apache.http.HttpClientConnection, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void postProcess(org.apache.http.HttpResponse, org.apache.http.protocol.HttpProcessor, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void preProcess(org.apache.http.HttpRequest, org.apache.http.protocol.HttpProcessor, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public interface HttpRequestHandler {
+    method @Deprecated public void handle(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class HttpRequestHandlerRegistry implements org.apache.http.protocol.HttpRequestHandlerResolver {
+    ctor @Deprecated public HttpRequestHandlerRegistry();
+    method @Deprecated public org.apache.http.protocol.HttpRequestHandler lookup(String);
+    method @Deprecated protected boolean matchUriRequestPattern(String, String);
+    method @Deprecated public void register(String, org.apache.http.protocol.HttpRequestHandler);
+    method @Deprecated public void setHandlers(java.util.Map);
+    method @Deprecated public void unregister(String);
+  }
+
+  @Deprecated public interface HttpRequestHandlerResolver {
+    method @Deprecated public org.apache.http.protocol.HttpRequestHandler lookup(String);
+  }
+
+  @Deprecated public interface HttpRequestInterceptorList {
+    method @Deprecated public void addRequestInterceptor(org.apache.http.HttpRequestInterceptor);
+    method @Deprecated public void addRequestInterceptor(org.apache.http.HttpRequestInterceptor, int);
+    method @Deprecated public void clearRequestInterceptors();
+    method @Deprecated public org.apache.http.HttpRequestInterceptor getRequestInterceptor(int);
+    method @Deprecated public int getRequestInterceptorCount();
+    method @Deprecated public void removeRequestInterceptorByClass(Class);
+    method @Deprecated public void setInterceptors(java.util.List);
+  }
+
+  @Deprecated public interface HttpResponseInterceptorList {
+    method @Deprecated public void addResponseInterceptor(org.apache.http.HttpResponseInterceptor);
+    method @Deprecated public void addResponseInterceptor(org.apache.http.HttpResponseInterceptor, int);
+    method @Deprecated public void clearResponseInterceptors();
+    method @Deprecated public org.apache.http.HttpResponseInterceptor getResponseInterceptor(int);
+    method @Deprecated public int getResponseInterceptorCount();
+    method @Deprecated public void removeResponseInterceptorByClass(Class);
+    method @Deprecated public void setInterceptors(java.util.List);
+  }
+
+  @Deprecated public class HttpService {
+    ctor @Deprecated public HttpService(org.apache.http.protocol.HttpProcessor, org.apache.http.ConnectionReuseStrategy, org.apache.http.HttpResponseFactory);
+    method @Deprecated protected void doService(org.apache.http.HttpRequest, org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public org.apache.http.params.HttpParams getParams();
+    method @Deprecated protected void handleException(org.apache.http.HttpException, org.apache.http.HttpResponse);
+    method @Deprecated public void handleRequest(org.apache.http.HttpServerConnection, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+    method @Deprecated public void setConnReuseStrategy(org.apache.http.ConnectionReuseStrategy);
+    method @Deprecated public void setExpectationVerifier(org.apache.http.protocol.HttpExpectationVerifier);
+    method @Deprecated public void setHandlerResolver(org.apache.http.protocol.HttpRequestHandlerResolver);
+    method @Deprecated public void setHttpProcessor(org.apache.http.protocol.HttpProcessor);
+    method @Deprecated public void setParams(org.apache.http.params.HttpParams);
+    method @Deprecated public void setResponseFactory(org.apache.http.HttpResponseFactory);
+  }
+
+  @Deprecated public class RequestConnControl implements org.apache.http.HttpRequestInterceptor {
+    ctor @Deprecated public RequestConnControl();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class RequestContent implements org.apache.http.HttpRequestInterceptor {
+    ctor @Deprecated public RequestContent();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class RequestDate implements org.apache.http.HttpRequestInterceptor {
+    ctor @Deprecated public RequestDate();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class RequestExpectContinue implements org.apache.http.HttpRequestInterceptor {
+    ctor @Deprecated public RequestExpectContinue();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class RequestTargetHost implements org.apache.http.HttpRequestInterceptor {
+    ctor @Deprecated public RequestTargetHost();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class RequestUserAgent implements org.apache.http.HttpRequestInterceptor {
+    ctor @Deprecated public RequestUserAgent();
+    method @Deprecated public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class ResponseConnControl implements org.apache.http.HttpResponseInterceptor {
+    ctor @Deprecated public ResponseConnControl();
+    method @Deprecated public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class ResponseContent implements org.apache.http.HttpResponseInterceptor {
+    ctor @Deprecated public ResponseContent();
+    method @Deprecated public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class ResponseDate implements org.apache.http.HttpResponseInterceptor {
+    ctor @Deprecated public ResponseDate();
+    method @Deprecated public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class ResponseServer implements org.apache.http.HttpResponseInterceptor {
+    ctor @Deprecated public ResponseServer();
+    method @Deprecated public void process(org.apache.http.HttpResponse, org.apache.http.protocol.HttpContext) throws org.apache.http.HttpException, java.io.IOException;
+  }
+
+  @Deprecated public class SyncBasicHttpContext extends org.apache.http.protocol.BasicHttpContext {
+    ctor @Deprecated public SyncBasicHttpContext(org.apache.http.protocol.HttpContext);
+  }
+
+  @Deprecated public class UriPatternMatcher {
+    ctor @Deprecated public UriPatternMatcher();
+    method @Deprecated public Object lookup(String);
+    method @Deprecated protected boolean matchUriRequestPattern(String, String);
+    method @Deprecated public void register(String, Object);
+    method @Deprecated public void setHandlers(java.util.Map);
+    method @Deprecated public void unregister(String);
+  }
+
+}
+
+package org.apache.http.util {
+
+  @Deprecated public final class ByteArrayBuffer {
+    ctor @Deprecated public ByteArrayBuffer(int);
+    method @Deprecated public void append(byte[], int, int);
+    method @Deprecated public void append(int);
+    method @Deprecated public void append(char[], int, int);
+    method @Deprecated public void append(org.apache.http.util.CharArrayBuffer, int, int);
+    method @Deprecated public byte[] buffer();
+    method @Deprecated public int byteAt(int);
+    method @Deprecated public int capacity();
+    method @Deprecated public void clear();
+    method @Deprecated public boolean isEmpty();
+    method @Deprecated public boolean isFull();
+    method @Deprecated public int length();
+    method @Deprecated public void setLength(int);
+    method @Deprecated public byte[] toByteArray();
+  }
+
+  @Deprecated public final class CharArrayBuffer {
+    ctor @Deprecated public CharArrayBuffer(int);
+    method @Deprecated public void append(char[], int, int);
+    method @Deprecated public void append(String);
+    method @Deprecated public void append(org.apache.http.util.CharArrayBuffer, int, int);
+    method @Deprecated public void append(org.apache.http.util.CharArrayBuffer);
+    method @Deprecated public void append(char);
+    method @Deprecated public void append(byte[], int, int);
+    method @Deprecated public void append(org.apache.http.util.ByteArrayBuffer, int, int);
+    method @Deprecated public void append(Object);
+    method @Deprecated public char[] buffer();
+    method @Deprecated public int capacity();
+    method @Deprecated public char charAt(int);
+    method @Deprecated public void clear();
+    method @Deprecated public void ensureCapacity(int);
+    method @Deprecated public int indexOf(int, int, int);
+    method @Deprecated public int indexOf(int);
+    method @Deprecated public boolean isEmpty();
+    method @Deprecated public boolean isFull();
+    method @Deprecated public int length();
+    method @Deprecated public void setLength(int);
+    method @Deprecated public String substring(int, int);
+    method @Deprecated public String substringTrimmed(int, int);
+    method @Deprecated public char[] toCharArray();
+  }
+
+  @Deprecated public final class EncodingUtils {
+    method @Deprecated public static byte[] getAsciiBytes(String);
+    method @Deprecated public static String getAsciiString(byte[], int, int);
+    method @Deprecated public static String getAsciiString(byte[]);
+    method @Deprecated public static byte[] getBytes(String, String);
+    method @Deprecated public static String getString(byte[], int, int, String);
+    method @Deprecated public static String getString(byte[], String);
+  }
+
+  @Deprecated public final class EntityUtils {
+    method @Deprecated public static String getContentCharSet(org.apache.http.HttpEntity) throws org.apache.http.ParseException;
+    method @Deprecated public static byte[] toByteArray(org.apache.http.HttpEntity) throws java.io.IOException;
+    method @Deprecated public static String toString(org.apache.http.HttpEntity, String) throws java.io.IOException, org.apache.http.ParseException;
+    method @Deprecated public static String toString(org.apache.http.HttpEntity) throws java.io.IOException, org.apache.http.ParseException;
+  }
+
+  @Deprecated public final class ExceptionUtils {
+    method @Deprecated public static void initCause(Throwable, Throwable);
+  }
+
+  @Deprecated public final class LangUtils {
+    method @Deprecated public static boolean equals(Object, Object);
+    method @Deprecated public static boolean equals(Object[], Object[]);
+    method @Deprecated public static int hashCode(int, int);
+    method @Deprecated public static int hashCode(int, boolean);
+    method @Deprecated public static int hashCode(int, Object);
+    field @Deprecated public static final int HASH_OFFSET = 37; // 0x25
+    field @Deprecated public static final int HASH_SEED = 17; // 0x11
+  }
+
+  @Deprecated public class VersionInfo {
+    ctor @Deprecated protected VersionInfo(String, String, String, String, String);
+    method @Deprecated protected static final org.apache.http.util.VersionInfo fromMap(String, java.util.Map, ClassLoader);
+    method @Deprecated public final String getClassloader();
+    method @Deprecated public final String getModule();
+    method @Deprecated public final String getPackage();
+    method @Deprecated public final String getRelease();
+    method @Deprecated public final String getTimestamp();
+    method @Deprecated public static final org.apache.http.util.VersionInfo[] loadVersionInfo(String[], ClassLoader);
+    method @Deprecated public static final org.apache.http.util.VersionInfo loadVersionInfo(String, ClassLoader);
+    field @Deprecated public static final String PROPERTY_MODULE = "info.module";
+    field @Deprecated public static final String PROPERTY_RELEASE = "info.release";
+    field @Deprecated public static final String PROPERTY_TIMESTAMP = "info.timestamp";
+    field @Deprecated public static final String UNAVAILABLE = "UNAVAILABLE";
+    field @Deprecated public static final String VERSION_PROPERTY_FILE = "version.properties";
+  }
+
+}
+
diff --git a/32/public/api/removed.txt b/32/public/api/removed.txt
new file mode 100644
index 0000000..4abdb91
--- /dev/null
+++ b/32/public/api/removed.txt
@@ -0,0 +1,659 @@
+// Signature format: 2.0
+package android.app {
+
+  public class Notification implements android.os.Parcelable {
+    method @Deprecated public String getChannel();
+    method public static Class<? extends android.app.Notification.Style> getNotificationStyleClass(String);
+    method @Deprecated public long getTimeout();
+    method @Deprecated public void setLatestEventInfo(android.content.Context, CharSequence, CharSequence, android.app.PendingIntent);
+  }
+
+  public static final class Notification.BubbleMetadata implements android.os.Parcelable {
+    method @Deprecated @Nullable public android.graphics.drawable.Icon getBubbleIcon();
+    method @Deprecated @Nullable public android.app.PendingIntent getBubbleIntent();
+  }
+
+  public static final class Notification.BubbleMetadata.Builder {
+    method @Deprecated @NonNull public android.app.Notification.BubbleMetadata.Builder createIntentBubble(@NonNull android.app.PendingIntent, @NonNull android.graphics.drawable.Icon);
+    method @Deprecated @NonNull public android.app.Notification.BubbleMetadata.Builder createShortcutBubble(@NonNull String);
+  }
+
+  public static class Notification.Builder {
+    method @Deprecated public android.app.Notification.Builder setChannel(String);
+    method @Deprecated public android.app.Notification.Builder setTimeout(long);
+  }
+
+}
+
+package android.app.slice {
+
+  public final class Slice implements android.os.Parcelable {
+    field @Deprecated public static final String EXTRA_SLIDER_VALUE = "android.app.slice.extra.SLIDER_VALUE";
+    field @Deprecated public static final String SUBTYPE_SLIDER = "slider";
+  }
+
+  public static class Slice.Builder {
+    ctor @Deprecated public Slice.Builder(@NonNull android.net.Uri);
+    method @Deprecated public android.app.slice.Slice.Builder addTimestamp(long, @Nullable String, java.util.List<java.lang.String>);
+    method @Deprecated public android.app.slice.Slice.Builder setSpec(android.app.slice.SliceSpec);
+  }
+
+  public final class SliceItem implements android.os.Parcelable {
+    method @Deprecated public long getTimestamp();
+    field @Deprecated public static final String FORMAT_TIMESTAMP = "long";
+  }
+
+  public class SliceManager {
+    method @Deprecated @Nullable public android.app.slice.Slice bindSlice(@NonNull android.net.Uri, @NonNull java.util.List<android.app.slice.SliceSpec>);
+    method @Deprecated @Nullable public android.app.slice.Slice bindSlice(@NonNull android.content.Intent, @NonNull java.util.List<android.app.slice.SliceSpec>);
+    method @Deprecated public void pinSlice(@NonNull android.net.Uri, @NonNull java.util.List<android.app.slice.SliceSpec>);
+  }
+
+  public abstract class SliceProvider extends android.content.ContentProvider {
+    method @Deprecated public android.app.slice.Slice onBindSlice(android.net.Uri, java.util.List<android.app.slice.SliceSpec>);
+  }
+
+}
+
+package android.app.usage {
+
+  public class StorageStatsManager {
+    method @Deprecated public long getFreeBytes(String) throws java.io.IOException;
+    method @Deprecated public long getTotalBytes(String) throws java.io.IOException;
+    method @Deprecated public boolean isQuotaSupported(String);
+    method @Deprecated public android.app.usage.ExternalStorageStats queryExternalStatsForUser(String, android.os.UserHandle) throws java.io.IOException;
+    method @Deprecated public android.app.usage.StorageStats queryStatsForPackage(String, String, android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public android.app.usage.StorageStats queryStatsForUid(String, int) throws java.io.IOException;
+    method @Deprecated public android.app.usage.StorageStats queryStatsForUser(String, android.os.UserHandle) throws java.io.IOException;
+  }
+
+}
+
+package android.content {
+
+  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+    method @Deprecated @Nullable public final String getCallingFeatureId();
+  }
+
+  public abstract class ContentResolver {
+    method @Deprecated public void notifyChange(@NonNull Iterable<android.net.Uri>, @Nullable android.database.ContentObserver, int);
+  }
+
+  public abstract class Context {
+    method @Deprecated @NonNull public android.content.Context createFeatureContext(@Nullable String);
+    method @Deprecated @Nullable public String getFeatureId();
+    method public abstract android.content.SharedPreferences getSharedPreferences(java.io.File, int);
+    method public abstract java.io.File getSharedPreferencesPath(String);
+  }
+
+  public class ContextWrapper extends android.content.Context {
+    method public android.content.SharedPreferences getSharedPreferences(java.io.File, int);
+    method public java.io.File getSharedPreferencesPath(String);
+  }
+
+  public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    field @Deprecated public static final String EXTRA_QUICK_VIEW_ADVANCED = "android.intent.extra.QUICK_VIEW_ADVANCED";
+  }
+
+}
+
+package android.content.pm {
+
+  public class PackageInfo implements android.os.Parcelable {
+    field public static final int REQUESTED_PERMISSION_REQUIRED = 1; // 0x1
+  }
+
+  public abstract class PackageManager {
+    method public abstract boolean setInstantAppCookie(@Nullable byte[]);
+  }
+
+  public final class SharedLibraryInfo implements android.os.Parcelable {
+    method public boolean isBuiltin();
+    method public boolean isDynamic();
+    method public boolean isStatic();
+  }
+
+}
+
+package android.database {
+
+  public abstract class AbstractCursor implements android.database.CrossProcessCursor {
+    field protected Long mCurrentRowID;
+    field protected int mRowIdColumnIndex;
+    field protected java.util.HashMap<java.lang.Long,java.util.Map<java.lang.String,java.lang.Object>> mUpdatedRows;
+  }
+
+}
+
+package android.graphics {
+
+  @Deprecated public class AvoidXfermode extends android.graphics.Xfermode {
+    ctor public AvoidXfermode(int, int, android.graphics.AvoidXfermode.Mode);
+  }
+
+  public enum AvoidXfermode.Mode {
+    enum_constant public static final android.graphics.AvoidXfermode.Mode AVOID;
+    enum_constant public static final android.graphics.AvoidXfermode.Mode TARGET;
+  }
+
+  public class Canvas {
+    method @Deprecated public boolean clipRegion(@NonNull android.graphics.Region, @NonNull android.graphics.Region.Op);
+    method @Deprecated public boolean clipRegion(@NonNull android.graphics.Region);
+    method @Deprecated public int save(int);
+    field @Deprecated public static final int CLIP_SAVE_FLAG = 2; // 0x2
+    field @Deprecated public static final int CLIP_TO_LAYER_SAVE_FLAG = 16; // 0x10
+    field @Deprecated public static final int FULL_COLOR_LAYER_SAVE_FLAG = 8; // 0x8
+    field @Deprecated public static final int HAS_ALPHA_LAYER_SAVE_FLAG = 4; // 0x4
+    field @Deprecated public static final int MATRIX_SAVE_FLAG = 1; // 0x1
+  }
+
+  public final class ImageDecoder implements java.lang.AutoCloseable {
+    method @Deprecated public boolean getAsAlphaMask();
+    method @Deprecated public boolean getConserveMemory();
+    method @Deprecated public boolean getDecodeAsAlphaMask();
+    method @Deprecated public boolean getMutable();
+    method @Deprecated public boolean getRequireUnpremultiplied();
+    method @Deprecated public android.graphics.ImageDecoder setAsAlphaMask(boolean);
+    method @Deprecated public void setConserveMemory(boolean);
+    method @Deprecated public android.graphics.ImageDecoder setDecodeAsAlphaMask(boolean);
+    method @Deprecated public android.graphics.ImageDecoder setMutable(boolean);
+    method @Deprecated public android.graphics.ImageDecoder setRequireUnpremultiplied(boolean);
+    method @Deprecated public android.graphics.ImageDecoder setResize(int, int);
+    method @Deprecated public android.graphics.ImageDecoder setResize(int);
+    field @Deprecated public static final int ERROR_SOURCE_ERROR = 3; // 0x3
+    field @Deprecated public static final int ERROR_SOURCE_EXCEPTION = 1; // 0x1
+    field @Deprecated public static final int ERROR_SOURCE_INCOMPLETE = 2; // 0x2
+  }
+
+  @Deprecated public static class ImageDecoder.IncompleteException extends java.io.IOException {
+    ctor public ImageDecoder.IncompleteException();
+  }
+
+  @Deprecated public class LayerRasterizer extends android.graphics.Rasterizer {
+    ctor public LayerRasterizer();
+    method public void addLayer(android.graphics.Paint, float, float);
+    method public void addLayer(android.graphics.Paint);
+  }
+
+  public class Paint {
+    method @Deprecated public android.graphics.Rasterizer getRasterizer();
+    method @Deprecated public android.graphics.Rasterizer setRasterizer(android.graphics.Rasterizer);
+  }
+
+  public class Picture {
+    method @Deprecated public static android.graphics.Picture createFromStream(@NonNull java.io.InputStream);
+    method @Deprecated public void writeToStream(@NonNull java.io.OutputStream);
+  }
+
+  @Deprecated public class PixelXorXfermode extends android.graphics.Xfermode {
+    ctor public PixelXorXfermode(int);
+  }
+
+  public class Rasterizer {
+    ctor public Rasterizer();
+  }
+
+}
+
+package android.graphics.drawable {
+
+  public class AnimatedImageDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Animatable2 {
+    method @Deprecated public int getLoopCount(int);
+    method @Deprecated public void setLoopCount(int);
+    field @Deprecated public static final int LOOP_INFINITE = -1; // 0xffffffff
+  }
+
+}
+
+package android.hardware {
+
+  public final class SensorDirectChannel implements java.nio.channels.Channel {
+    method @Deprecated public boolean isValid();
+  }
+
+}
+
+package android.icu.util {
+
+  public class JapaneseCalendar extends android.icu.util.GregorianCalendar {
+    field @Deprecated public static final int CURRENT_ERA;
+  }
+
+}
+
+package android.location {
+
+  public class Location implements android.os.Parcelable {
+    method @Deprecated public void removeBearingAccuracy();
+    method @Deprecated public void removeSpeedAccuracy();
+    method @Deprecated public void removeVerticalAccuracy();
+  }
+
+}
+
+package android.media {
+
+  public final class AudioFormat implements android.os.Parcelable {
+    ctor public AudioFormat();
+  }
+
+}
+
+package android.media.tv {
+
+  public class TvView extends android.view.ViewGroup {
+    method public void requestUnblockContent(android.media.tv.TvContentRating);
+  }
+
+}
+
+package android.net {
+
+  public class ConnectivityManager {
+    method @Deprecated public boolean requestRouteToHost(int, int);
+    method @Deprecated public int startUsingNetworkFeature(int, String);
+    method @Deprecated public int stopUsingNetworkFeature(int, String);
+  }
+
+  @Deprecated public class NetworkBadging {
+    method @NonNull public static android.graphics.drawable.Drawable getWifiIcon(@IntRange(from=0, to=4) int, int, @Nullable android.content.res.Resources.Theme);
+    field public static final int BADGING_4K = 30; // 0x1e
+    field public static final int BADGING_HD = 20; // 0x14
+    field public static final int BADGING_NONE = 0; // 0x0
+    field public static final int BADGING_SD = 10; // 0xa
+  }
+
+  @IntDef({0x0, 0xa, 0x14, 0x1e}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface NetworkBadging.Badging {
+  }
+
+  public final class Proxy {
+    field @Deprecated public static final String EXTRA_PROXY_INFO = "android.intent.extra.PROXY_INFO";
+  }
+
+  @Deprecated public class SSLCertificateSocketFactory extends javax.net.ssl.SSLSocketFactory {
+    method @Deprecated public static org.apache.http.conn.ssl.SSLSocketFactory getHttpSocketFactory(int, android.net.SSLSessionCache);
+  }
+
+  public class TrafficStats {
+    method @Deprecated public static void setThreadStatsUidSelf();
+  }
+
+}
+
+package android.os {
+
+  public class BatteryManager {
+    ctor public BatteryManager();
+  }
+
+  public final class PowerManager {
+    method public void goToSleep(long);
+    method @Deprecated public void userActivity(long, boolean);
+    method @Deprecated public void wakeUp(long);
+  }
+
+  public class RecoverySystem {
+    ctor public RecoverySystem();
+  }
+
+  public static final class StrictMode.ThreadPolicy.Builder {
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyListener(@NonNull android.os.StrictMode.OnThreadViolationListener, @NonNull java.util.concurrent.Executor);
+  }
+
+  public static final class StrictMode.VmPolicy.Builder {
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyListener(@NonNull android.os.StrictMode.OnVmViolationListener, @NonNull java.util.concurrent.Executor);
+  }
+
+  public final class SystemClock {
+    method @NonNull public static java.time.Clock elapsedRealtimeClock();
+    method @NonNull public static java.time.Clock uptimeClock();
+  }
+
+  public class TestLooperManager {
+    method @Deprecated public android.os.MessageQueue getQueue();
+  }
+
+  public class UserManager {
+    method public android.graphics.drawable.Drawable getBadgedDrawableForUser(android.graphics.drawable.Drawable, android.os.UserHandle, android.graphics.Rect, int);
+    method public android.graphics.drawable.Drawable getBadgedIconForUser(android.graphics.drawable.Drawable, android.os.UserHandle);
+    method public CharSequence getBadgedLabelForUser(CharSequence, android.os.UserHandle);
+  }
+
+}
+
+package android.os.storage {
+
+  public class StorageManager {
+    method @NonNull public android.os.storage.StorageVolume getPrimaryVolume();
+    method @NonNull public android.os.storage.StorageVolume[] getVolumeList();
+  }
+
+}
+
+package android.provider {
+
+  public class Browser {
+    method @RequiresPermission(allOf={"com.android.browser.permission.READ_HISTORY_BOOKMARKS", "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"}, apis="..22") public static final void addSearchUrl(android.content.ContentResolver, String);
+    method @RequiresPermission(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") public static final boolean canClearHistory(android.content.ContentResolver);
+    method @RequiresPermission(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final void clearHistory(android.content.ContentResolver);
+    method @RequiresPermission(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final void clearSearches(android.content.ContentResolver);
+    method @RequiresPermission(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final void deleteFromHistory(android.content.ContentResolver, String);
+    method @RequiresPermission(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final void deleteHistoryTimeFrame(android.content.ContentResolver, long, long);
+    method @RequiresPermission(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") public static final android.database.Cursor getAllBookmarks(android.content.ContentResolver) throws java.lang.IllegalStateException;
+    method @RequiresPermission(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") public static final android.database.Cursor getAllVisitedUrls(android.content.ContentResolver) throws java.lang.IllegalStateException;
+    method @RequiresPermission(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") public static final void requestAllIcons(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
+    method public static final void saveBookmark(android.content.Context, String, String);
+    method @RequiresPermission(allOf={"com.android.browser.permission.READ_HISTORY_BOOKMARKS", "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"}, apis="..22") public static final void truncateHistory(android.content.ContentResolver);
+    method @RequiresPermission(allOf={"com.android.browser.permission.READ_HISTORY_BOOKMARKS", "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"}, apis="..22") public static final void updateVisitedHistory(android.content.ContentResolver, String, boolean);
+    field @RequiresPermission.Read(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") @RequiresPermission.Write(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final android.net.Uri BOOKMARKS_URI;
+    field public static final String[] HISTORY_PROJECTION;
+    field public static final int HISTORY_PROJECTION_BOOKMARK_INDEX = 4; // 0x4
+    field public static final int HISTORY_PROJECTION_DATE_INDEX = 3; // 0x3
+    field public static final int HISTORY_PROJECTION_FAVICON_INDEX = 6; // 0x6
+    field public static final int HISTORY_PROJECTION_ID_INDEX = 0; // 0x0
+    field public static final int HISTORY_PROJECTION_TITLE_INDEX = 5; // 0x5
+    field public static final int HISTORY_PROJECTION_URL_INDEX = 1; // 0x1
+    field public static final int HISTORY_PROJECTION_VISITS_INDEX = 2; // 0x2
+    field public static final String[] SEARCHES_PROJECTION;
+    field public static final int SEARCHES_PROJECTION_DATE_INDEX = 2; // 0x2
+    field public static final int SEARCHES_PROJECTION_SEARCH_INDEX = 1; // 0x1
+    field @RequiresPermission.Read(value="com.android.browser.permission.READ_HISTORY_BOOKMARKS", apis="..22") @RequiresPermission.Write(value="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS", apis="..22") public static final android.net.Uri SEARCHES_URI;
+    field public static final String[] TRUNCATE_HISTORY_PROJECTION;
+    field public static final int TRUNCATE_HISTORY_PROJECTION_ID_INDEX = 0; // 0x0
+    field public static final int TRUNCATE_N_OLDEST = 5; // 0x5
+  }
+
+  public static class Browser.BookmarkColumns implements android.provider.BaseColumns {
+    ctor public Browser.BookmarkColumns();
+    field public static final String BOOKMARK = "bookmark";
+    field public static final String CREATED = "created";
+    field public static final String DATE = "date";
+    field public static final String FAVICON = "favicon";
+    field public static final String TITLE = "title";
+    field public static final String URL = "url";
+    field public static final String VISITS = "visits";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  public static class Browser.SearchColumns implements android.provider.BaseColumns {
+    ctor public Browser.SearchColumns();
+    field public static final String DATE = "date";
+    field public static final String SEARCH = "search";
+    field @Deprecated public static final String URL = "url";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  @Deprecated public static final class ContactsContract.Contacts.StreamItems implements android.provider.ContactsContract.StreamItemsColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "stream_items";
+  }
+
+  @Deprecated public static final class ContactsContract.RawContacts.StreamItems implements android.provider.BaseColumns android.provider.ContactsContract.StreamItemsColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "stream_items";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  @Deprecated public static final class ContactsContract.StreamItemPhotos implements android.provider.BaseColumns android.provider.ContactsContract.StreamItemPhotosColumns {
+    field @Deprecated public static final String PHOTO = "photo";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  @Deprecated protected static interface ContactsContract.StreamItemPhotosColumns {
+    field @Deprecated public static final String PHOTO_FILE_ID = "photo_file_id";
+    field @Deprecated public static final String PHOTO_URI = "photo_uri";
+    field @Deprecated public static final String SORT_INDEX = "sort_index";
+    field @Deprecated public static final String STREAM_ITEM_ID = "stream_item_id";
+    field @Deprecated public static final String SYNC1 = "stream_item_photo_sync1";
+    field @Deprecated public static final String SYNC2 = "stream_item_photo_sync2";
+    field @Deprecated public static final String SYNC3 = "stream_item_photo_sync3";
+    field @Deprecated public static final String SYNC4 = "stream_item_photo_sync4";
+  }
+
+  @Deprecated public static final class ContactsContract.StreamItems implements android.provider.BaseColumns android.provider.ContactsContract.StreamItemsColumns {
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/stream_item";
+    field @Deprecated public static final android.net.Uri CONTENT_LIMIT_URI;
+    field @Deprecated public static final android.net.Uri CONTENT_PHOTO_URI;
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/stream_item";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String MAX_ITEMS = "max_items";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  @Deprecated public static final class ContactsContract.StreamItems.StreamItemPhotos implements android.provider.BaseColumns android.provider.ContactsContract.StreamItemPhotosColumns {
+    field @Deprecated public static final String CONTENT_DIRECTORY = "photo";
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/stream_item_photo";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/stream_item_photo";
+    field public static final String _COUNT = "_count";
+    field public static final String _ID = "_id";
+  }
+
+  @Deprecated protected static interface ContactsContract.StreamItemsColumns {
+    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
+    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
+    field @Deprecated public static final String COMMENTS = "comments";
+    field @Deprecated public static final String CONTACT_ID = "contact_id";
+    field @Deprecated public static final String CONTACT_LOOKUP_KEY = "contact_lookup";
+    field @Deprecated public static final String DATA_SET = "data_set";
+    field @Deprecated public static final String RAW_CONTACT_ID = "raw_contact_id";
+    field @Deprecated public static final String RAW_CONTACT_SOURCE_ID = "raw_contact_source_id";
+    field @Deprecated public static final String RES_ICON = "icon";
+    field @Deprecated public static final String RES_LABEL = "label";
+    field @Deprecated public static final String RES_PACKAGE = "res_package";
+    field @Deprecated public static final String SYNC1 = "stream_item_sync1";
+    field @Deprecated public static final String SYNC2 = "stream_item_sync2";
+    field @Deprecated public static final String SYNC3 = "stream_item_sync3";
+    field @Deprecated public static final String SYNC4 = "stream_item_sync4";
+    field @Deprecated public static final String TEXT = "text";
+    field @Deprecated public static final String TIMESTAMP = "timestamp";
+  }
+
+  public static interface MediaStore.Audio.AudioColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String ALBUM = "album";
+    field public static final String ARTIST = "artist";
+    field public static final String COMPOSER = "composer";
+    field public static final String DURATION = "duration";
+  }
+
+  public static interface MediaStore.DownloadColumns extends android.provider.MediaStore.MediaColumns {
+    field @Deprecated public static final String DESCRIPTION = "description";
+  }
+
+  public static interface MediaStore.Files.FileColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String TITLE = "title";
+  }
+
+  public static interface MediaStore.Images.ImageColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
+    field public static final String BUCKET_ID = "bucket_id";
+    field public static final String DATE_TAKEN = "datetaken";
+    field public static final String GROUP_ID = "group_id";
+    field public static final String ORIENTATION = "orientation";
+  }
+
+  public static interface MediaStore.MediaColumns extends android.provider.BaseColumns {
+    field @Deprecated public static final String GROUP_ID = "group_id";
+  }
+
+  public static interface MediaStore.Video.VideoColumns extends android.provider.MediaStore.MediaColumns {
+    field public static final String ALBUM = "album";
+    field public static final String ARTIST = "artist";
+    field public static final String BUCKET_DISPLAY_NAME = "bucket_display_name";
+    field public static final String BUCKET_ID = "bucket_id";
+    field public static final String DATE_TAKEN = "datetaken";
+    field public static final String DURATION = "duration";
+    field public static final String GROUP_ID = "group_id";
+    field public static final String RESOLUTION = "resolution";
+  }
+
+  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
+    field @Deprecated public static final String CONTACT_METADATA_SYNC = "contact_metadata_sync";
+  }
+
+  public static final class Settings.System extends android.provider.Settings.NameValueTable {
+    field public static final String APPEND_FOR_LAST_AUDIBLE = "_last_audible";
+    field public static final String VOLUME_ALARM = "volume_alarm";
+    field public static final String VOLUME_BLUETOOTH_SCO = "volume_bluetooth_sco";
+    field public static final String VOLUME_MUSIC = "volume_music";
+    field public static final String VOLUME_NOTIFICATION = "volume_notification";
+    field public static final String VOLUME_RING = "volume_ring";
+    field public static final String[] VOLUME_SETTINGS;
+    field public static final String VOLUME_SYSTEM = "volume_system";
+    field public static final String VOLUME_VOICE = "volume_voice";
+  }
+
+}
+
+package android.speech.tts {
+
+  public abstract class UtteranceProgressListener {
+    method @Deprecated public void onUtteranceRangeStart(String, int, int);
+  }
+
+}
+
+package android.telephony {
+
+  public class NetworkScan {
+    method @Deprecated public void stop() throws android.os.RemoteException;
+  }
+
+  public class TelephonyManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public java.util.List<android.telephony.NeighboringCellInfo> getNeighboringCellInfo();
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.telephony.NetworkScan requestNetworkScan(android.telephony.NetworkScanRequest, android.telephony.TelephonyScanManager.NetworkScanCallback);
+  }
+
+}
+
+package android.text.format {
+
+  public class DateFormat {
+    field @Deprecated public static final char AM_PM = 97; // 0x0061 'a'
+    field @Deprecated public static final char CAPITAL_AM_PM = 65; // 0x0041 'A'
+    field @Deprecated public static final char DATE = 100; // 0x0064 'd'
+    field @Deprecated public static final char DAY = 69; // 0x0045 'E'
+    field @Deprecated public static final char HOUR = 104; // 0x0068 'h'
+    field @Deprecated public static final char HOUR_OF_DAY = 107; // 0x006b 'k'
+    field @Deprecated public static final char MINUTE = 109; // 0x006d 'm'
+    field @Deprecated public static final char MONTH = 77; // 0x004d 'M'
+    field @Deprecated public static final char QUOTE = 39; // 0x0027 '\''
+    field @Deprecated public static final char SECONDS = 115; // 0x0073 's'
+    field @Deprecated public static final char STANDALONE_MONTH = 76; // 0x004c 'L'
+    field @Deprecated public static final char TIME_ZONE = 122; // 0x007a 'z'
+    field @Deprecated public static final char YEAR = 121; // 0x0079 'y'
+  }
+
+}
+
+package android.text.style {
+
+  public class RasterizerSpan extends android.text.style.CharacterStyle implements android.text.style.UpdateAppearance {
+    ctor public RasterizerSpan(android.graphics.Rasterizer);
+    method public android.graphics.Rasterizer getRasterizer();
+    method public void updateDrawState(android.text.TextPaint);
+  }
+
+}
+
+package android.util {
+
+  @Deprecated public class FloatMath {
+    method public static float ceil(float);
+    method public static float cos(float);
+    method public static float exp(float);
+    method public static float floor(float);
+    method public static float hypot(float, float);
+    method public static float pow(float, float);
+    method public static float sin(float);
+    method public static float sqrt(float);
+  }
+
+}
+
+package android.view {
+
+  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
+    method protected void initializeFadingEdge(android.content.res.TypedArray);
+    method protected void initializeScrollbars(android.content.res.TypedArray);
+  }
+
+  public class ViewConfiguration {
+    method public int getScaledScrollFactor();
+  }
+
+  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
+    field public static final int TYPE_KEYGUARD = 2004; // 0x7d4
+    field public static final int TYPE_STATUS_BAR_PANEL = 2014; // 0x7de
+  }
+
+}
+
+package android.view.translation {
+
+  public final class TranslationManager {
+    method @Deprecated public void addOnDeviceTranslationCapabilityUpdateListener(int, int, @NonNull android.app.PendingIntent);
+    method @Deprecated public void addTranslationCapabilityUpdateListener(int, int, @NonNull android.app.PendingIntent);
+    method @Deprecated @Nullable @WorkerThread public android.view.translation.Translator createOnDeviceTranslator(@NonNull android.view.translation.TranslationContext);
+    method @Deprecated @Nullable @WorkerThread public android.view.translation.Translator createTranslator(@NonNull android.view.translation.TranslationContext);
+    method @Deprecated @NonNull @WorkerThread public java.util.Set<android.view.translation.TranslationCapability> getTranslationCapabilities(int, int);
+    method @Deprecated @Nullable public android.app.PendingIntent getTranslationSettingsActivityIntent();
+    method @Deprecated public void removeOnDeviceTranslationCapabilityUpdateListener(int, int, @NonNull android.app.PendingIntent);
+    method @Deprecated public void removeTranslationCapabilityUpdateListener(int, int, @NonNull android.app.PendingIntent);
+  }
+
+  public static final class TranslationRequest.Builder {
+    method @Deprecated @NonNull public android.view.translation.TranslationRequest.Builder addTranslationRequestValue(@NonNull android.view.translation.TranslationRequestValue);
+    method @Deprecated @NonNull public android.view.translation.TranslationRequest.Builder addViewTranslationRequest(@NonNull android.view.translation.ViewTranslationRequest);
+  }
+
+  public static final class TranslationResponse.Builder {
+    method @Deprecated @NonNull public android.view.translation.TranslationResponse.Builder setTranslationStatus(int);
+  }
+
+  public final class TranslationSpec implements android.os.Parcelable {
+    ctor @Deprecated public TranslationSpec(@NonNull String, int);
+    method @Deprecated @NonNull public String getLanguage();
+  }
+
+  public class Translator {
+    method @Deprecated @Nullable public void translate(@NonNull android.view.translation.TranslationRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
+  }
+
+  public interface UiTranslationStateCallback {
+    method @Deprecated public default void onStarted(@NonNull String, @NonNull String);
+  }
+
+}
+
+package android.webkit {
+
+  public class WebViewClient {
+    method public void onUnhandledInputEvent(android.webkit.WebView, android.view.InputEvent);
+  }
+
+}
+
+package android.widget {
+
+  @android.widget.RemoteViews.RemoteView public class ListView extends android.widget.AbsListView {
+    method protected <T extends android.view.View> T findViewTraversal(@IdRes int);
+    method protected <T extends android.view.View> T findViewWithTagTraversal(Object);
+  }
+
+  public class PopupWindow {
+    method @Deprecated public boolean isClipToScreenEnabled();
+    method @Deprecated public boolean isLayoutInScreenEnabled();
+    method @Deprecated public void setClipToScreenEnabled(boolean);
+    method @Deprecated public void setLayoutInScreenEnabled(boolean);
+  }
+
+  @android.widget.RemoteViews.RemoteView public class TextView extends android.view.View implements android.view.ViewTreeObserver.OnPreDrawListener {
+    method public static int getTextColor(android.content.Context, android.content.res.TypedArray, int);
+    method public static android.content.res.ColorStateList getTextColors(android.content.Context, android.content.res.TypedArray);
+  }
+
+}
+
diff --git a/32/public/api/runtime-i18n-removed.txt b/32/public/api/runtime-i18n-removed.txt
new file mode 100644
index 0000000..e73b663
--- /dev/null
+++ b/32/public/api/runtime-i18n-removed.txt
@@ -0,0 +1,9 @@
+// Signature format: 2.0
+package android.icu.util {
+
+  public class JapaneseCalendar extends android.icu.util.GregorianCalendar {
+    field @Deprecated public static final int CURRENT_ERA;
+  }
+
+}
+
diff --git a/32/public/api/runtime-i18n.txt b/32/public/api/runtime-i18n.txt
new file mode 100644
index 0000000..5b3fc5c
--- /dev/null
+++ b/32/public/api/runtime-i18n.txt
@@ -0,0 +1,4887 @@
+// Signature format: 2.0
+package android.icu.lang {
+
+  public final class UCharacter implements android.icu.lang.UCharacterEnums.ECharacterCategory android.icu.lang.UCharacterEnums.ECharacterDirection {
+    method public static int charCount(int);
+    method public static int codePointAt(CharSequence, int);
+    method public static int codePointAt(char[], int);
+    method public static int codePointAt(char[], int, int);
+    method public static int codePointBefore(CharSequence, int);
+    method public static int codePointBefore(char[], int);
+    method public static int codePointBefore(char[], int, int);
+    method public static int codePointCount(CharSequence, int, int);
+    method public static int codePointCount(char[], int, int);
+    method public static int digit(int, int);
+    method public static int digit(int);
+    method public static int foldCase(int, boolean);
+    method public static String foldCase(String, boolean);
+    method public static int foldCase(int, int);
+    method public static String foldCase(String, int);
+    method public static char forDigit(int, int);
+    method public static android.icu.util.VersionInfo getAge(int);
+    method public static int getBidiPairedBracket(int);
+    method public static int getCharFromExtendedName(String);
+    method public static int getCharFromName(String);
+    method public static int getCharFromNameAlias(String);
+    method public static int getCodePoint(char, char);
+    method public static int getCodePoint(char);
+    method public static int getCombiningClass(int);
+    method public static int getDirection(int);
+    method public static byte getDirectionality(int);
+    method public static String getExtendedName(int);
+    method public static android.icu.util.ValueIterator getExtendedNameIterator();
+    method public static int getHanNumericValue(int);
+    method public static int getIntPropertyMaxValue(int);
+    method public static int getIntPropertyMinValue(int);
+    method public static int getIntPropertyValue(int, int);
+    method public static int getMirror(int);
+    method public static String getName(int);
+    method public static String getName(String, String);
+    method public static String getNameAlias(int);
+    method public static android.icu.util.ValueIterator getNameIterator();
+    method public static int getNumericValue(int);
+    method public static int getPropertyEnum(CharSequence);
+    method public static String getPropertyName(int, int);
+    method public static int getPropertyValueEnum(int, CharSequence);
+    method public static String getPropertyValueName(int, int, int);
+    method public static int getType(int);
+    method public static android.icu.util.RangeValueIterator getTypeIterator();
+    method public static double getUnicodeNumericValue(int);
+    method public static android.icu.util.VersionInfo getUnicodeVersion();
+    method public static boolean hasBinaryProperty(int, int);
+    method public static boolean isBMP(int);
+    method public static boolean isBaseForm(int);
+    method public static boolean isDefined(int);
+    method public static boolean isDigit(int);
+    method public static boolean isHighSurrogate(char);
+    method public static boolean isISOControl(int);
+    method public static boolean isIdentifierIgnorable(int);
+    method public static boolean isJavaIdentifierPart(int);
+    method public static boolean isJavaIdentifierStart(int);
+    method public static boolean isLegal(int);
+    method public static boolean isLegal(String);
+    method public static boolean isLetter(int);
+    method public static boolean isLetterOrDigit(int);
+    method public static boolean isLowSurrogate(char);
+    method public static boolean isLowerCase(int);
+    method public static boolean isMirrored(int);
+    method public static boolean isPrintable(int);
+    method public static boolean isSpaceChar(int);
+    method public static boolean isSupplementary(int);
+    method public static boolean isSupplementaryCodePoint(int);
+    method public static boolean isSurrogatePair(char, char);
+    method public static boolean isTitleCase(int);
+    method public static boolean isUAlphabetic(int);
+    method public static boolean isULowercase(int);
+    method public static boolean isUUppercase(int);
+    method public static boolean isUWhiteSpace(int);
+    method public static boolean isUnicodeIdentifierPart(int);
+    method public static boolean isUnicodeIdentifierStart(int);
+    method public static boolean isUpperCase(int);
+    method public static boolean isValidCodePoint(int);
+    method public static boolean isWhitespace(int);
+    method public static int offsetByCodePoints(CharSequence, int, int);
+    method public static int offsetByCodePoints(char[], int, int, int, int);
+    method public static int toChars(int, char[], int);
+    method public static char[] toChars(int);
+    method public static int toCodePoint(char, char);
+    method public static int toLowerCase(int);
+    method public static String toLowerCase(String);
+    method public static String toLowerCase(java.util.Locale, String);
+    method public static String toLowerCase(android.icu.util.ULocale, String);
+    method public static String toString(int);
+    method public static int toTitleCase(int);
+    method public static String toTitleCase(String, android.icu.text.BreakIterator);
+    method public static String toTitleCase(java.util.Locale, String, android.icu.text.BreakIterator);
+    method public static String toTitleCase(android.icu.util.ULocale, String, android.icu.text.BreakIterator);
+    method public static String toTitleCase(android.icu.util.ULocale, String, android.icu.text.BreakIterator, int);
+    method public static String toTitleCase(java.util.Locale, String, android.icu.text.BreakIterator, int);
+    method public static int toUpperCase(int);
+    method public static String toUpperCase(String);
+    method public static String toUpperCase(java.util.Locale, String);
+    method public static String toUpperCase(android.icu.util.ULocale, String);
+    field public static final int FOLD_CASE_DEFAULT = 0; // 0x0
+    field public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = 1; // 0x1
+    field public static final int MAX_CODE_POINT = 1114111; // 0x10ffff
+    field public static final char MAX_HIGH_SURROGATE = 56319; // 0xdbff '\udbff'
+    field public static final char MAX_LOW_SURROGATE = 57343; // 0xdfff '\udfff'
+    field public static final int MAX_RADIX = 36; // 0x24
+    field public static final char MAX_SURROGATE = 57343; // 0xdfff '\udfff'
+    field public static final int MAX_VALUE = 1114111; // 0x10ffff
+    field public static final int MIN_CODE_POINT = 0; // 0x0
+    field public static final char MIN_HIGH_SURROGATE = 55296; // 0xd800 '\ud800'
+    field public static final char MIN_LOW_SURROGATE = 56320; // 0xdc00 '\udc00'
+    field public static final int MIN_RADIX = 2; // 0x2
+    field public static final int MIN_SUPPLEMENTARY_CODE_POINT = 65536; // 0x10000
+    field public static final char MIN_SURROGATE = 55296; // 0xd800 '\ud800'
+    field public static final int MIN_VALUE = 0; // 0x0
+    field public static final double NO_NUMERIC_VALUE = -1.23456789E8;
+    field public static final int REPLACEMENT_CHAR = 65533; // 0xfffd
+    field public static final int SUPPLEMENTARY_MIN_VALUE = 65536; // 0x10000
+    field public static final int TITLECASE_NO_BREAK_ADJUSTMENT = 512; // 0x200
+    field public static final int TITLECASE_NO_LOWERCASE = 256; // 0x100
+  }
+
+  public static interface UCharacter.BidiPairedBracketType {
+    field public static final int CLOSE = 2; // 0x2
+    field public static final int NONE = 0; // 0x0
+    field public static final int OPEN = 1; // 0x1
+  }
+
+  public static interface UCharacter.DecompositionType {
+    field public static final int CANONICAL = 1; // 0x1
+    field public static final int CIRCLE = 3; // 0x3
+    field public static final int COMPAT = 2; // 0x2
+    field public static final int FINAL = 4; // 0x4
+    field public static final int FONT = 5; // 0x5
+    field public static final int FRACTION = 6; // 0x6
+    field public static final int INITIAL = 7; // 0x7
+    field public static final int ISOLATED = 8; // 0x8
+    field public static final int MEDIAL = 9; // 0x9
+    field public static final int NARROW = 10; // 0xa
+    field public static final int NOBREAK = 11; // 0xb
+    field public static final int NONE = 0; // 0x0
+    field public static final int SMALL = 12; // 0xc
+    field public static final int SQUARE = 13; // 0xd
+    field public static final int SUB = 14; // 0xe
+    field public static final int SUPER = 15; // 0xf
+    field public static final int VERTICAL = 16; // 0x10
+    field public static final int WIDE = 17; // 0x11
+  }
+
+  public static interface UCharacter.EastAsianWidth {
+    field public static final int AMBIGUOUS = 1; // 0x1
+    field public static final int FULLWIDTH = 3; // 0x3
+    field public static final int HALFWIDTH = 2; // 0x2
+    field public static final int NARROW = 4; // 0x4
+    field public static final int NEUTRAL = 0; // 0x0
+    field public static final int WIDE = 5; // 0x5
+  }
+
+  public static interface UCharacter.GraphemeClusterBreak {
+    field public static final int CONTROL = 1; // 0x1
+    field public static final int CR = 2; // 0x2
+    field public static final int EXTEND = 3; // 0x3
+    field public static final int E_BASE = 13; // 0xd
+    field public static final int E_BASE_GAZ = 14; // 0xe
+    field public static final int E_MODIFIER = 15; // 0xf
+    field public static final int GLUE_AFTER_ZWJ = 16; // 0x10
+    field public static final int L = 4; // 0x4
+    field public static final int LF = 5; // 0x5
+    field public static final int LV = 6; // 0x6
+    field public static final int LVT = 7; // 0x7
+    field public static final int OTHER = 0; // 0x0
+    field public static final int PREPEND = 11; // 0xb
+    field public static final int REGIONAL_INDICATOR = 12; // 0xc
+    field public static final int SPACING_MARK = 10; // 0xa
+    field public static final int T = 8; // 0x8
+    field public static final int V = 9; // 0x9
+    field public static final int ZWJ = 17; // 0x11
+  }
+
+  public static interface UCharacter.HangulSyllableType {
+    field public static final int LEADING_JAMO = 1; // 0x1
+    field public static final int LVT_SYLLABLE = 5; // 0x5
+    field public static final int LV_SYLLABLE = 4; // 0x4
+    field public static final int NOT_APPLICABLE = 0; // 0x0
+    field public static final int TRAILING_JAMO = 3; // 0x3
+    field public static final int VOWEL_JAMO = 2; // 0x2
+  }
+
+  public static interface UCharacter.IndicPositionalCategory {
+    field public static final int BOTTOM = 1; // 0x1
+    field public static final int BOTTOM_AND_LEFT = 2; // 0x2
+    field public static final int BOTTOM_AND_RIGHT = 3; // 0x3
+    field public static final int LEFT = 4; // 0x4
+    field public static final int LEFT_AND_RIGHT = 5; // 0x5
+    field public static final int NA = 0; // 0x0
+    field public static final int OVERSTRUCK = 6; // 0x6
+    field public static final int RIGHT = 7; // 0x7
+    field public static final int TOP = 8; // 0x8
+    field public static final int TOP_AND_BOTTOM = 9; // 0x9
+    field public static final int TOP_AND_BOTTOM_AND_LEFT = 15; // 0xf
+    field public static final int TOP_AND_BOTTOM_AND_RIGHT = 10; // 0xa
+    field public static final int TOP_AND_LEFT = 11; // 0xb
+    field public static final int TOP_AND_LEFT_AND_RIGHT = 12; // 0xc
+    field public static final int TOP_AND_RIGHT = 13; // 0xd
+    field public static final int VISUAL_ORDER_LEFT = 14; // 0xe
+  }
+
+  public static interface UCharacter.IndicSyllabicCategory {
+    field public static final int AVAGRAHA = 1; // 0x1
+    field public static final int BINDU = 2; // 0x2
+    field public static final int BRAHMI_JOINING_NUMBER = 3; // 0x3
+    field public static final int CANTILLATION_MARK = 4; // 0x4
+    field public static final int CONSONANT = 5; // 0x5
+    field public static final int CONSONANT_DEAD = 6; // 0x6
+    field public static final int CONSONANT_FINAL = 7; // 0x7
+    field public static final int CONSONANT_HEAD_LETTER = 8; // 0x8
+    field public static final int CONSONANT_INITIAL_POSTFIXED = 9; // 0x9
+    field public static final int CONSONANT_KILLER = 10; // 0xa
+    field public static final int CONSONANT_MEDIAL = 11; // 0xb
+    field public static final int CONSONANT_PLACEHOLDER = 12; // 0xc
+    field public static final int CONSONANT_PRECEDING_REPHA = 13; // 0xd
+    field public static final int CONSONANT_PREFIXED = 14; // 0xe
+    field public static final int CONSONANT_SUBJOINED = 15; // 0xf
+    field public static final int CONSONANT_SUCCEEDING_REPHA = 16; // 0x10
+    field public static final int CONSONANT_WITH_STACKER = 17; // 0x11
+    field public static final int GEMINATION_MARK = 18; // 0x12
+    field public static final int INVISIBLE_STACKER = 19; // 0x13
+    field public static final int JOINER = 20; // 0x14
+    field public static final int MODIFYING_LETTER = 21; // 0x15
+    field public static final int NON_JOINER = 22; // 0x16
+    field public static final int NUKTA = 23; // 0x17
+    field public static final int NUMBER = 24; // 0x18
+    field public static final int NUMBER_JOINER = 25; // 0x19
+    field public static final int OTHER = 0; // 0x0
+    field public static final int PURE_KILLER = 26; // 0x1a
+    field public static final int REGISTER_SHIFTER = 27; // 0x1b
+    field public static final int SYLLABLE_MODIFIER = 28; // 0x1c
+    field public static final int TONE_LETTER = 29; // 0x1d
+    field public static final int TONE_MARK = 30; // 0x1e
+    field public static final int VIRAMA = 31; // 0x1f
+    field public static final int VISARGA = 32; // 0x20
+    field public static final int VOWEL = 33; // 0x21
+    field public static final int VOWEL_DEPENDENT = 34; // 0x22
+    field public static final int VOWEL_INDEPENDENT = 35; // 0x23
+  }
+
+  public static interface UCharacter.JoiningGroup {
+    field public static final int AFRICAN_FEH = 86; // 0x56
+    field public static final int AFRICAN_NOON = 87; // 0x57
+    field public static final int AFRICAN_QAF = 88; // 0x58
+    field public static final int AIN = 1; // 0x1
+    field public static final int ALAPH = 2; // 0x2
+    field public static final int ALEF = 3; // 0x3
+    field public static final int BEH = 4; // 0x4
+    field public static final int BETH = 5; // 0x5
+    field public static final int BURUSHASKI_YEH_BARREE = 54; // 0x36
+    field public static final int DAL = 6; // 0x6
+    field public static final int DALATH_RISH = 7; // 0x7
+    field public static final int E = 8; // 0x8
+    field public static final int FARSI_YEH = 55; // 0x37
+    field public static final int FE = 51; // 0x33
+    field public static final int FEH = 9; // 0x9
+    field public static final int FINAL_SEMKATH = 10; // 0xa
+    field public static final int GAF = 11; // 0xb
+    field public static final int GAMAL = 12; // 0xc
+    field public static final int HAH = 13; // 0xd
+    field public static final int HAMZA_ON_HEH_GOAL = 14; // 0xe
+    field public static final int HANIFI_ROHINGYA_KINNA_YA = 100; // 0x64
+    field public static final int HANIFI_ROHINGYA_PA = 101; // 0x65
+    field public static final int HE = 15; // 0xf
+    field public static final int HEH = 16; // 0x10
+    field public static final int HEH_GOAL = 17; // 0x11
+    field public static final int HETH = 18; // 0x12
+    field public static final int KAF = 19; // 0x13
+    field public static final int KAPH = 20; // 0x14
+    field public static final int KHAPH = 52; // 0x34
+    field public static final int KNOTTED_HEH = 21; // 0x15
+    field public static final int LAM = 22; // 0x16
+    field public static final int LAMADH = 23; // 0x17
+    field public static final int MALAYALAM_BHA = 89; // 0x59
+    field public static final int MALAYALAM_JA = 90; // 0x5a
+    field public static final int MALAYALAM_LLA = 91; // 0x5b
+    field public static final int MALAYALAM_LLLA = 92; // 0x5c
+    field public static final int MALAYALAM_NGA = 93; // 0x5d
+    field public static final int MALAYALAM_NNA = 94; // 0x5e
+    field public static final int MALAYALAM_NNNA = 95; // 0x5f
+    field public static final int MALAYALAM_NYA = 96; // 0x60
+    field public static final int MALAYALAM_RA = 97; // 0x61
+    field public static final int MALAYALAM_SSA = 98; // 0x62
+    field public static final int MALAYALAM_TTA = 99; // 0x63
+    field public static final int MANICHAEAN_ALEPH = 58; // 0x3a
+    field public static final int MANICHAEAN_AYIN = 59; // 0x3b
+    field public static final int MANICHAEAN_BETH = 60; // 0x3c
+    field public static final int MANICHAEAN_DALETH = 61; // 0x3d
+    field public static final int MANICHAEAN_DHAMEDH = 62; // 0x3e
+    field public static final int MANICHAEAN_FIVE = 63; // 0x3f
+    field public static final int MANICHAEAN_GIMEL = 64; // 0x40
+    field public static final int MANICHAEAN_HETH = 65; // 0x41
+    field public static final int MANICHAEAN_HUNDRED = 66; // 0x42
+    field public static final int MANICHAEAN_KAPH = 67; // 0x43
+    field public static final int MANICHAEAN_LAMEDH = 68; // 0x44
+    field public static final int MANICHAEAN_MEM = 69; // 0x45
+    field public static final int MANICHAEAN_NUN = 70; // 0x46
+    field public static final int MANICHAEAN_ONE = 71; // 0x47
+    field public static final int MANICHAEAN_PE = 72; // 0x48
+    field public static final int MANICHAEAN_QOPH = 73; // 0x49
+    field public static final int MANICHAEAN_RESH = 74; // 0x4a
+    field public static final int MANICHAEAN_SADHE = 75; // 0x4b
+    field public static final int MANICHAEAN_SAMEKH = 76; // 0x4c
+    field public static final int MANICHAEAN_TAW = 77; // 0x4d
+    field public static final int MANICHAEAN_TEN = 78; // 0x4e
+    field public static final int MANICHAEAN_TETH = 79; // 0x4f
+    field public static final int MANICHAEAN_THAMEDH = 80; // 0x50
+    field public static final int MANICHAEAN_TWENTY = 81; // 0x51
+    field public static final int MANICHAEAN_WAW = 82; // 0x52
+    field public static final int MANICHAEAN_YODH = 83; // 0x53
+    field public static final int MANICHAEAN_ZAYIN = 84; // 0x54
+    field public static final int MEEM = 24; // 0x18
+    field public static final int MIM = 25; // 0x19
+    field public static final int NOON = 26; // 0x1a
+    field public static final int NO_JOINING_GROUP = 0; // 0x0
+    field public static final int NUN = 27; // 0x1b
+    field public static final int NYA = 56; // 0x38
+    field public static final int PE = 28; // 0x1c
+    field public static final int QAF = 29; // 0x1d
+    field public static final int QAPH = 30; // 0x1e
+    field public static final int REH = 31; // 0x1f
+    field public static final int REVERSED_PE = 32; // 0x20
+    field public static final int ROHINGYA_YEH = 57; // 0x39
+    field public static final int SAD = 33; // 0x21
+    field public static final int SADHE = 34; // 0x22
+    field public static final int SEEN = 35; // 0x23
+    field public static final int SEMKATH = 36; // 0x24
+    field public static final int SHIN = 37; // 0x25
+    field public static final int STRAIGHT_WAW = 85; // 0x55
+    field public static final int SWASH_KAF = 38; // 0x26
+    field public static final int SYRIAC_WAW = 39; // 0x27
+    field public static final int TAH = 40; // 0x28
+    field public static final int TAW = 41; // 0x29
+    field public static final int TEH_MARBUTA = 42; // 0x2a
+    field public static final int TEH_MARBUTA_GOAL = 14; // 0xe
+    field public static final int TETH = 43; // 0x2b
+    field public static final int WAW = 44; // 0x2c
+    field public static final int YEH = 45; // 0x2d
+    field public static final int YEH_BARREE = 46; // 0x2e
+    field public static final int YEH_WITH_TAIL = 47; // 0x2f
+    field public static final int YUDH = 48; // 0x30
+    field public static final int YUDH_HE = 49; // 0x31
+    field public static final int ZAIN = 50; // 0x32
+    field public static final int ZHAIN = 53; // 0x35
+  }
+
+  public static interface UCharacter.JoiningType {
+    field public static final int DUAL_JOINING = 2; // 0x2
+    field public static final int JOIN_CAUSING = 1; // 0x1
+    field public static final int LEFT_JOINING = 3; // 0x3
+    field public static final int NON_JOINING = 0; // 0x0
+    field public static final int RIGHT_JOINING = 4; // 0x4
+    field public static final int TRANSPARENT = 5; // 0x5
+  }
+
+  public static interface UCharacter.LineBreak {
+    field public static final int ALPHABETIC = 2; // 0x2
+    field public static final int AMBIGUOUS = 1; // 0x1
+    field public static final int BREAK_AFTER = 4; // 0x4
+    field public static final int BREAK_BEFORE = 5; // 0x5
+    field public static final int BREAK_BOTH = 3; // 0x3
+    field public static final int BREAK_SYMBOLS = 27; // 0x1b
+    field public static final int CARRIAGE_RETURN = 10; // 0xa
+    field public static final int CLOSE_PARENTHESIS = 36; // 0x24
+    field public static final int CLOSE_PUNCTUATION = 8; // 0x8
+    field public static final int COMBINING_MARK = 9; // 0x9
+    field public static final int COMPLEX_CONTEXT = 24; // 0x18
+    field public static final int CONDITIONAL_JAPANESE_STARTER = 37; // 0x25
+    field public static final int CONTINGENT_BREAK = 7; // 0x7
+    field public static final int EXCLAMATION = 11; // 0xb
+    field public static final int E_BASE = 40; // 0x28
+    field public static final int E_MODIFIER = 41; // 0x29
+    field public static final int GLUE = 12; // 0xc
+    field public static final int H2 = 31; // 0x1f
+    field public static final int H3 = 32; // 0x20
+    field public static final int HEBREW_LETTER = 38; // 0x26
+    field public static final int HYPHEN = 13; // 0xd
+    field public static final int IDEOGRAPHIC = 14; // 0xe
+    field public static final int INFIX_NUMERIC = 16; // 0x10
+    field public static final int INSEPARABLE = 15; // 0xf
+    field public static final int INSEPERABLE = 15; // 0xf
+    field public static final int JL = 33; // 0x21
+    field public static final int JT = 34; // 0x22
+    field public static final int JV = 35; // 0x23
+    field public static final int LINE_FEED = 17; // 0x11
+    field public static final int MANDATORY_BREAK = 6; // 0x6
+    field public static final int NEXT_LINE = 29; // 0x1d
+    field public static final int NONSTARTER = 18; // 0x12
+    field public static final int NUMERIC = 19; // 0x13
+    field public static final int OPEN_PUNCTUATION = 20; // 0x14
+    field public static final int POSTFIX_NUMERIC = 21; // 0x15
+    field public static final int PREFIX_NUMERIC = 22; // 0x16
+    field public static final int QUOTATION = 23; // 0x17
+    field public static final int REGIONAL_INDICATOR = 39; // 0x27
+    field public static final int SPACE = 26; // 0x1a
+    field public static final int SURROGATE = 25; // 0x19
+    field public static final int UNKNOWN = 0; // 0x0
+    field public static final int WORD_JOINER = 30; // 0x1e
+    field public static final int ZWJ = 42; // 0x2a
+    field public static final int ZWSPACE = 28; // 0x1c
+  }
+
+  public static interface UCharacter.NumericType {
+    field public static final int DECIMAL = 1; // 0x1
+    field public static final int DIGIT = 2; // 0x2
+    field public static final int NONE = 0; // 0x0
+    field public static final int NUMERIC = 3; // 0x3
+  }
+
+  public static interface UCharacter.SentenceBreak {
+    field public static final int ATERM = 1; // 0x1
+    field public static final int CLOSE = 2; // 0x2
+    field public static final int CR = 11; // 0xb
+    field public static final int EXTEND = 12; // 0xc
+    field public static final int FORMAT = 3; // 0x3
+    field public static final int LF = 13; // 0xd
+    field public static final int LOWER = 4; // 0x4
+    field public static final int NUMERIC = 5; // 0x5
+    field public static final int OLETTER = 6; // 0x6
+    field public static final int OTHER = 0; // 0x0
+    field public static final int SCONTINUE = 14; // 0xe
+    field public static final int SEP = 7; // 0x7
+    field public static final int SP = 8; // 0x8
+    field public static final int STERM = 9; // 0x9
+    field public static final int UPPER = 10; // 0xa
+  }
+
+  public static final class UCharacter.UnicodeBlock extends java.lang.Character.Subset {
+    method public static android.icu.lang.UCharacter.UnicodeBlock forName(String);
+    method public int getID();
+    method public static android.icu.lang.UCharacter.UnicodeBlock getInstance(int);
+    method public static android.icu.lang.UCharacter.UnicodeBlock of(int);
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ADLAM;
+    field public static final int ADLAM_ID = 263; // 0x107
+    field public static final android.icu.lang.UCharacter.UnicodeBlock AEGEAN_NUMBERS;
+    field public static final int AEGEAN_NUMBERS_ID = 119; // 0x77
+    field public static final android.icu.lang.UCharacter.UnicodeBlock AHOM;
+    field public static final int AHOM_ID = 253; // 0xfd
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ALCHEMICAL_SYMBOLS;
+    field public static final int ALCHEMICAL_SYMBOLS_ID = 208; // 0xd0
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ALPHABETIC_PRESENTATION_FORMS;
+    field public static final int ALPHABETIC_PRESENTATION_FORMS_ID = 80; // 0x50
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ANATOLIAN_HIEROGLYPHS;
+    field public static final int ANATOLIAN_HIEROGLYPHS_ID = 254; // 0xfe
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ANCIENT_GREEK_MUSICAL_NOTATION;
+    field public static final int ANCIENT_GREEK_MUSICAL_NOTATION_ID = 126; // 0x7e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ANCIENT_GREEK_NUMBERS;
+    field public static final int ANCIENT_GREEK_NUMBERS_ID = 127; // 0x7f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ANCIENT_SYMBOLS;
+    field public static final int ANCIENT_SYMBOLS_ID = 165; // 0xa5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_EXTENDED_A;
+    field public static final int ARABIC_EXTENDED_A_ID = 210; // 0xd2
+    field public static final int ARABIC_ID = 12; // 0xc
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS;
+    field public static final int ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_ID = 211; // 0xd3
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_PRESENTATION_FORMS_A;
+    field public static final int ARABIC_PRESENTATION_FORMS_A_ID = 81; // 0x51
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_PRESENTATION_FORMS_B;
+    field public static final int ARABIC_PRESENTATION_FORMS_B_ID = 85; // 0x55
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARABIC_SUPPLEMENT;
+    field public static final int ARABIC_SUPPLEMENT_ID = 128; // 0x80
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARMENIAN;
+    field public static final int ARMENIAN_ID = 10; // 0xa
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ARROWS;
+    field public static final int ARROWS_ID = 46; // 0x2e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock AVESTAN;
+    field public static final int AVESTAN_ID = 188; // 0xbc
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BALINESE;
+    field public static final int BALINESE_ID = 147; // 0x93
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BAMUM;
+    field public static final int BAMUM_ID = 177; // 0xb1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BAMUM_SUPPLEMENT;
+    field public static final int BAMUM_SUPPLEMENT_ID = 202; // 0xca
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BASIC_LATIN;
+    field public static final int BASIC_LATIN_ID = 1; // 0x1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BASSA_VAH;
+    field public static final int BASSA_VAH_ID = 221; // 0xdd
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BATAK;
+    field public static final int BATAK_ID = 199; // 0xc7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BENGALI;
+    field public static final int BENGALI_ID = 16; // 0x10
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BHAIKSUKI;
+    field public static final int BHAIKSUKI_ID = 264; // 0x108
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BLOCK_ELEMENTS;
+    field public static final int BLOCK_ELEMENTS_ID = 53; // 0x35
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BOPOMOFO;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BOPOMOFO_EXTENDED;
+    field public static final int BOPOMOFO_EXTENDED_ID = 67; // 0x43
+    field public static final int BOPOMOFO_ID = 64; // 0x40
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BOX_DRAWING;
+    field public static final int BOX_DRAWING_ID = 52; // 0x34
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BRAHMI;
+    field public static final int BRAHMI_ID = 201; // 0xc9
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BRAILLE_PATTERNS;
+    field public static final int BRAILLE_PATTERNS_ID = 57; // 0x39
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BUGINESE;
+    field public static final int BUGINESE_ID = 129; // 0x81
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BUHID;
+    field public static final int BUHID_ID = 100; // 0x64
+    field public static final android.icu.lang.UCharacter.UnicodeBlock BYZANTINE_MUSICAL_SYMBOLS;
+    field public static final int BYZANTINE_MUSICAL_SYMBOLS_ID = 91; // 0x5b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CARIAN;
+    field public static final int CARIAN_ID = 168; // 0xa8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CAUCASIAN_ALBANIAN;
+    field public static final int CAUCASIAN_ALBANIAN_ID = 222; // 0xde
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHAKMA;
+    field public static final int CHAKMA_ID = 212; // 0xd4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHAM;
+    field public static final int CHAM_ID = 164; // 0xa4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHEROKEE;
+    field public static final int CHEROKEE_ID = 32; // 0x20
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHEROKEE_SUPPLEMENT;
+    field public static final int CHEROKEE_SUPPLEMENT_ID = 255; // 0xff
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHESS_SYMBOLS;
+    field public static final int CHESS_SYMBOLS_ID = 281; // 0x119
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CHORASMIAN;
+    field public static final int CHORASMIAN_ID = 301; // 0x12d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY_FORMS;
+    field public static final int CJK_COMPATIBILITY_FORMS_ID = 83; // 0x53
+    field public static final int CJK_COMPATIBILITY_ID = 69; // 0x45
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS;
+    field public static final int CJK_COMPATIBILITY_IDEOGRAPHS_ID = 79; // 0x4f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT;
+    field public static final int CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID = 95; // 0x5f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_RADICALS_SUPPLEMENT;
+    field public static final int CJK_RADICALS_SUPPLEMENT_ID = 58; // 0x3a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_STROKES;
+    field public static final int CJK_STROKES_ID = 130; // 0x82
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_SYMBOLS_AND_PUNCTUATION;
+    field public static final int CJK_SYMBOLS_AND_PUNCTUATION_ID = 61; // 0x3d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_ID = 70; // 0x46
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID = 94; // 0x5e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_ID = 197; // 0xc5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_ID = 209; // 0xd1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID = 256; // 0x100
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F_ID = 274; // 0x112
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G;
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G_ID = 302; // 0x12e
+    field public static final int CJK_UNIFIED_IDEOGRAPHS_ID = 71; // 0x47
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_DIACRITICAL_MARKS;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_DIACRITICAL_MARKS_EXTENDED;
+    field public static final int COMBINING_DIACRITICAL_MARKS_EXTENDED_ID = 224; // 0xe0
+    field public static final int COMBINING_DIACRITICAL_MARKS_ID = 7; // 0x7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_DIACRITICAL_MARKS_SUPPLEMENT;
+    field public static final int COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID = 131; // 0x83
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_HALF_MARKS;
+    field public static final int COMBINING_HALF_MARKS_ID = 82; // 0x52
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMBINING_MARKS_FOR_SYMBOLS;
+    field public static final int COMBINING_MARKS_FOR_SYMBOLS_ID = 43; // 0x2b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COMMON_INDIC_NUMBER_FORMS;
+    field public static final int COMMON_INDIC_NUMBER_FORMS_ID = 178; // 0xb2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CONTROL_PICTURES;
+    field public static final int CONTROL_PICTURES_ID = 49; // 0x31
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COPTIC;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COPTIC_EPACT_NUMBERS;
+    field public static final int COPTIC_EPACT_NUMBERS_ID = 223; // 0xdf
+    field public static final int COPTIC_ID = 132; // 0x84
+    field public static final android.icu.lang.UCharacter.UnicodeBlock COUNTING_ROD_NUMERALS;
+    field public static final int COUNTING_ROD_NUMERALS_ID = 154; // 0x9a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CUNEIFORM;
+    field public static final int CUNEIFORM_ID = 152; // 0x98
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CUNEIFORM_NUMBERS_AND_PUNCTUATION;
+    field public static final int CUNEIFORM_NUMBERS_AND_PUNCTUATION_ID = 153; // 0x99
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CURRENCY_SYMBOLS;
+    field public static final int CURRENCY_SYMBOLS_ID = 42; // 0x2a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYPRIOT_SYLLABARY;
+    field public static final int CYPRIOT_SYLLABARY_ID = 123; // 0x7b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_EXTENDED_A;
+    field public static final int CYRILLIC_EXTENDED_A_ID = 158; // 0x9e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_EXTENDED_B;
+    field public static final int CYRILLIC_EXTENDED_B_ID = 160; // 0xa0
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_EXTENDED_C;
+    field public static final int CYRILLIC_EXTENDED_C_ID = 265; // 0x109
+    field public static final int CYRILLIC_ID = 9; // 0x9
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_SUPPLEMENT;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock CYRILLIC_SUPPLEMENTARY;
+    field public static final int CYRILLIC_SUPPLEMENTARY_ID = 97; // 0x61
+    field public static final int CYRILLIC_SUPPLEMENT_ID = 97; // 0x61
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DESERET;
+    field public static final int DESERET_ID = 90; // 0x5a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DEVANAGARI;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DEVANAGARI_EXTENDED;
+    field public static final int DEVANAGARI_EXTENDED_ID = 179; // 0xb3
+    field public static final int DEVANAGARI_ID = 15; // 0xf
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DINGBATS;
+    field public static final int DINGBATS_ID = 56; // 0x38
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DIVES_AKURU;
+    field public static final int DIVES_AKURU_ID = 303; // 0x12f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DOGRA;
+    field public static final int DOGRA_ID = 282; // 0x11a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DOMINO_TILES;
+    field public static final int DOMINO_TILES_ID = 171; // 0xab
+    field public static final android.icu.lang.UCharacter.UnicodeBlock DUPLOYAN;
+    field public static final int DUPLOYAN_ID = 225; // 0xe1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock EARLY_DYNASTIC_CUNEIFORM;
+    field public static final int EARLY_DYNASTIC_CUNEIFORM_ID = 257; // 0x101
+    field public static final android.icu.lang.UCharacter.UnicodeBlock EGYPTIAN_HIEROGLYPHS;
+    field public static final int EGYPTIAN_HIEROGLYPHS_ID = 194; // 0xc2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS;
+    field public static final int EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS_ID = 292; // 0x124
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ELBASAN;
+    field public static final int ELBASAN_ID = 226; // 0xe2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ELYMAIC;
+    field public static final int ELYMAIC_ID = 293; // 0x125
+    field public static final android.icu.lang.UCharacter.UnicodeBlock EMOTICONS;
+    field public static final int EMOTICONS_ID = 206; // 0xce
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_ALPHANUMERICS;
+    field public static final int ENCLOSED_ALPHANUMERICS_ID = 51; // 0x33
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_ALPHANUMERIC_SUPPLEMENT;
+    field public static final int ENCLOSED_ALPHANUMERIC_SUPPLEMENT_ID = 195; // 0xc3
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_CJK_LETTERS_AND_MONTHS;
+    field public static final int ENCLOSED_CJK_LETTERS_AND_MONTHS_ID = 68; // 0x44
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ENCLOSED_IDEOGRAPHIC_SUPPLEMENT;
+    field public static final int ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_ID = 196; // 0xc4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC_EXTENDED;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC_EXTENDED_A;
+    field public static final int ETHIOPIC_EXTENDED_A_ID = 200; // 0xc8
+    field public static final int ETHIOPIC_EXTENDED_ID = 133; // 0x85
+    field public static final int ETHIOPIC_ID = 31; // 0x1f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ETHIOPIC_SUPPLEMENT;
+    field public static final int ETHIOPIC_SUPPLEMENT_ID = 134; // 0x86
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GENERAL_PUNCTUATION;
+    field public static final int GENERAL_PUNCTUATION_ID = 40; // 0x28
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GEOMETRIC_SHAPES;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GEOMETRIC_SHAPES_EXTENDED;
+    field public static final int GEOMETRIC_SHAPES_EXTENDED_ID = 227; // 0xe3
+    field public static final int GEOMETRIC_SHAPES_ID = 54; // 0x36
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GEORGIAN;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GEORGIAN_EXTENDED;
+    field public static final int GEORGIAN_EXTENDED_ID = 283; // 0x11b
+    field public static final int GEORGIAN_ID = 29; // 0x1d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GEORGIAN_SUPPLEMENT;
+    field public static final int GEORGIAN_SUPPLEMENT_ID = 135; // 0x87
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GLAGOLITIC;
+    field public static final int GLAGOLITIC_ID = 136; // 0x88
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GLAGOLITIC_SUPPLEMENT;
+    field public static final int GLAGOLITIC_SUPPLEMENT_ID = 266; // 0x10a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GOTHIC;
+    field public static final int GOTHIC_ID = 89; // 0x59
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GRANTHA;
+    field public static final int GRANTHA_ID = 228; // 0xe4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GREEK;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GREEK_EXTENDED;
+    field public static final int GREEK_EXTENDED_ID = 39; // 0x27
+    field public static final int GREEK_ID = 8; // 0x8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GUJARATI;
+    field public static final int GUJARATI_ID = 18; // 0x12
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GUNJALA_GONDI;
+    field public static final int GUNJALA_GONDI_ID = 284; // 0x11c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock GURMUKHI;
+    field public static final int GURMUKHI_ID = 17; // 0x11
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HALFWIDTH_AND_FULLWIDTH_FORMS;
+    field public static final int HALFWIDTH_AND_FULLWIDTH_FORMS_ID = 87; // 0x57
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_COMPATIBILITY_JAMO;
+    field public static final int HANGUL_COMPATIBILITY_JAMO_ID = 65; // 0x41
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_JAMO;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_JAMO_EXTENDED_A;
+    field public static final int HANGUL_JAMO_EXTENDED_A_ID = 180; // 0xb4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_JAMO_EXTENDED_B;
+    field public static final int HANGUL_JAMO_EXTENDED_B_ID = 185; // 0xb9
+    field public static final int HANGUL_JAMO_ID = 30; // 0x1e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANGUL_SYLLABLES;
+    field public static final int HANGUL_SYLLABLES_ID = 74; // 0x4a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANIFI_ROHINGYA;
+    field public static final int HANIFI_ROHINGYA_ID = 285; // 0x11d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HANUNOO;
+    field public static final int HANUNOO_ID = 99; // 0x63
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HATRAN;
+    field public static final int HATRAN_ID = 258; // 0x102
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HEBREW;
+    field public static final int HEBREW_ID = 11; // 0xb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HIGH_PRIVATE_USE_SURROGATES;
+    field public static final int HIGH_PRIVATE_USE_SURROGATES_ID = 76; // 0x4c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HIGH_SURROGATES;
+    field public static final int HIGH_SURROGATES_ID = 75; // 0x4b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock HIRAGANA;
+    field public static final int HIRAGANA_ID = 62; // 0x3e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock IDEOGRAPHIC_DESCRIPTION_CHARACTERS;
+    field public static final int IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID = 60; // 0x3c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION;
+    field public static final int IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_ID = 267; // 0x10b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock IMPERIAL_ARAMAIC;
+    field public static final int IMPERIAL_ARAMAIC_ID = 186; // 0xba
+    field public static final android.icu.lang.UCharacter.UnicodeBlock INDIC_SIYAQ_NUMBERS;
+    field public static final int INDIC_SIYAQ_NUMBERS_ID = 286; // 0x11e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock INSCRIPTIONAL_PAHLAVI;
+    field public static final int INSCRIPTIONAL_PAHLAVI_ID = 190; // 0xbe
+    field public static final android.icu.lang.UCharacter.UnicodeBlock INSCRIPTIONAL_PARTHIAN;
+    field public static final int INSCRIPTIONAL_PARTHIAN_ID = 189; // 0xbd
+    field public static final android.icu.lang.UCharacter.UnicodeBlock INVALID_CODE;
+    field public static final int INVALID_CODE_ID = -1; // 0xffffffff
+    field public static final android.icu.lang.UCharacter.UnicodeBlock IPA_EXTENSIONS;
+    field public static final int IPA_EXTENSIONS_ID = 5; // 0x5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock JAVANESE;
+    field public static final int JAVANESE_ID = 181; // 0xb5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KAITHI;
+    field public static final int KAITHI_ID = 193; // 0xc1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KANA_EXTENDED_A;
+    field public static final int KANA_EXTENDED_A_ID = 275; // 0x113
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KANA_SUPPLEMENT;
+    field public static final int KANA_SUPPLEMENT_ID = 203; // 0xcb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KANBUN;
+    field public static final int KANBUN_ID = 66; // 0x42
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KANGXI_RADICALS;
+    field public static final int KANGXI_RADICALS_ID = 59; // 0x3b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KANNADA;
+    field public static final int KANNADA_ID = 22; // 0x16
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KATAKANA;
+    field public static final int KATAKANA_ID = 63; // 0x3f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KATAKANA_PHONETIC_EXTENSIONS;
+    field public static final int KATAKANA_PHONETIC_EXTENSIONS_ID = 107; // 0x6b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KAYAH_LI;
+    field public static final int KAYAH_LI_ID = 162; // 0xa2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHAROSHTHI;
+    field public static final int KHAROSHTHI_ID = 137; // 0x89
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHITAN_SMALL_SCRIPT;
+    field public static final int KHITAN_SMALL_SCRIPT_ID = 304; // 0x130
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHMER;
+    field public static final int KHMER_ID = 36; // 0x24
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHMER_SYMBOLS;
+    field public static final int KHMER_SYMBOLS_ID = 113; // 0x71
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHOJKI;
+    field public static final int KHOJKI_ID = 229; // 0xe5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock KHUDAWADI;
+    field public static final int KHUDAWADI_ID = 230; // 0xe6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LAO;
+    field public static final int LAO_ID = 26; // 0x1a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_1_SUPPLEMENT;
+    field public static final int LATIN_1_SUPPLEMENT_ID = 2; // 0x2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_A;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_ADDITIONAL;
+    field public static final int LATIN_EXTENDED_ADDITIONAL_ID = 38; // 0x26
+    field public static final int LATIN_EXTENDED_A_ID = 3; // 0x3
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_B;
+    field public static final int LATIN_EXTENDED_B_ID = 4; // 0x4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_C;
+    field public static final int LATIN_EXTENDED_C_ID = 148; // 0x94
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_D;
+    field public static final int LATIN_EXTENDED_D_ID = 149; // 0x95
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LATIN_EXTENDED_E;
+    field public static final int LATIN_EXTENDED_E_ID = 231; // 0xe7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LEPCHA;
+    field public static final int LEPCHA_ID = 156; // 0x9c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LETTERLIKE_SYMBOLS;
+    field public static final int LETTERLIKE_SYMBOLS_ID = 44; // 0x2c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LIMBU;
+    field public static final int LIMBU_ID = 111; // 0x6f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LINEAR_A;
+    field public static final int LINEAR_A_ID = 232; // 0xe8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LINEAR_B_IDEOGRAMS;
+    field public static final int LINEAR_B_IDEOGRAMS_ID = 118; // 0x76
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LINEAR_B_SYLLABARY;
+    field public static final int LINEAR_B_SYLLABARY_ID = 117; // 0x75
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LISU;
+    field public static final int LISU_ID = 176; // 0xb0
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LISU_SUPPLEMENT;
+    field public static final int LISU_SUPPLEMENT_ID = 305; // 0x131
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LOW_SURROGATES;
+    field public static final int LOW_SURROGATES_ID = 77; // 0x4d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LYCIAN;
+    field public static final int LYCIAN_ID = 167; // 0xa7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock LYDIAN;
+    field public static final int LYDIAN_ID = 169; // 0xa9
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MAHAJANI;
+    field public static final int MAHAJANI_ID = 233; // 0xe9
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MAHJONG_TILES;
+    field public static final int MAHJONG_TILES_ID = 170; // 0xaa
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MAKASAR;
+    field public static final int MAKASAR_ID = 287; // 0x11f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MALAYALAM;
+    field public static final int MALAYALAM_ID = 23; // 0x17
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MANDAIC;
+    field public static final int MANDAIC_ID = 198; // 0xc6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MANICHAEAN;
+    field public static final int MANICHAEAN_ID = 234; // 0xea
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MARCHEN;
+    field public static final int MARCHEN_ID = 268; // 0x10c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MASARAM_GONDI;
+    field public static final int MASARAM_GONDI_ID = 276; // 0x114
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MATHEMATICAL_ALPHANUMERIC_SYMBOLS;
+    field public static final int MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID = 93; // 0x5d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MATHEMATICAL_OPERATORS;
+    field public static final int MATHEMATICAL_OPERATORS_ID = 47; // 0x2f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MAYAN_NUMERALS;
+    field public static final int MAYAN_NUMERALS_ID = 288; // 0x120
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MEDEFAIDRIN;
+    field public static final int MEDEFAIDRIN_ID = 289; // 0x121
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MEETEI_MAYEK;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MEETEI_MAYEK_EXTENSIONS;
+    field public static final int MEETEI_MAYEK_EXTENSIONS_ID = 213; // 0xd5
+    field public static final int MEETEI_MAYEK_ID = 184; // 0xb8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MENDE_KIKAKUI;
+    field public static final int MENDE_KIKAKUI_ID = 235; // 0xeb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MEROITIC_CURSIVE;
+    field public static final int MEROITIC_CURSIVE_ID = 214; // 0xd6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MEROITIC_HIEROGLYPHS;
+    field public static final int MEROITIC_HIEROGLYPHS_ID = 215; // 0xd7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MIAO;
+    field public static final int MIAO_ID = 216; // 0xd8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A;
+    field public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID = 102; // 0x66
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B;
+    field public static final int MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID = 105; // 0x69
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_SYMBOLS;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_ARROWS;
+    field public static final int MISCELLANEOUS_SYMBOLS_AND_ARROWS_ID = 115; // 0x73
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS;
+    field public static final int MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_ID = 205; // 0xcd
+    field public static final int MISCELLANEOUS_SYMBOLS_ID = 55; // 0x37
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MISCELLANEOUS_TECHNICAL;
+    field public static final int MISCELLANEOUS_TECHNICAL_ID = 48; // 0x30
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MODI;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MODIFIER_TONE_LETTERS;
+    field public static final int MODIFIER_TONE_LETTERS_ID = 138; // 0x8a
+    field public static final int MODI_ID = 236; // 0xec
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MONGOLIAN;
+    field public static final int MONGOLIAN_ID = 37; // 0x25
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MONGOLIAN_SUPPLEMENT;
+    field public static final int MONGOLIAN_SUPPLEMENT_ID = 269; // 0x10d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MRO;
+    field public static final int MRO_ID = 237; // 0xed
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MULTANI;
+    field public static final int MULTANI_ID = 259; // 0x103
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MUSICAL_SYMBOLS;
+    field public static final int MUSICAL_SYMBOLS_ID = 92; // 0x5c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MYANMAR;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MYANMAR_EXTENDED_A;
+    field public static final int MYANMAR_EXTENDED_A_ID = 182; // 0xb6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock MYANMAR_EXTENDED_B;
+    field public static final int MYANMAR_EXTENDED_B_ID = 238; // 0xee
+    field public static final int MYANMAR_ID = 28; // 0x1c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NABATAEAN;
+    field public static final int NABATAEAN_ID = 239; // 0xef
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NANDINAGARI;
+    field public static final int NANDINAGARI_ID = 294; // 0x126
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NEWA;
+    field public static final int NEWA_ID = 270; // 0x10e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NEW_TAI_LUE;
+    field public static final int NEW_TAI_LUE_ID = 139; // 0x8b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NKO;
+    field public static final int NKO_ID = 146; // 0x92
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NO_BLOCK;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NUMBER_FORMS;
+    field public static final int NUMBER_FORMS_ID = 45; // 0x2d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NUSHU;
+    field public static final int NUSHU_ID = 277; // 0x115
+    field public static final android.icu.lang.UCharacter.UnicodeBlock NYIAKENG_PUACHUE_HMONG;
+    field public static final int NYIAKENG_PUACHUE_HMONG_ID = 295; // 0x127
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OGHAM;
+    field public static final int OGHAM_ID = 34; // 0x22
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_HUNGARIAN;
+    field public static final int OLD_HUNGARIAN_ID = 260; // 0x104
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_ITALIC;
+    field public static final int OLD_ITALIC_ID = 88; // 0x58
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_NORTH_ARABIAN;
+    field public static final int OLD_NORTH_ARABIAN_ID = 240; // 0xf0
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_PERMIC;
+    field public static final int OLD_PERMIC_ID = 241; // 0xf1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_PERSIAN;
+    field public static final int OLD_PERSIAN_ID = 140; // 0x8c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_SOGDIAN;
+    field public static final int OLD_SOGDIAN_ID = 290; // 0x122
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_SOUTH_ARABIAN;
+    field public static final int OLD_SOUTH_ARABIAN_ID = 187; // 0xbb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OLD_TURKIC;
+    field public static final int OLD_TURKIC_ID = 191; // 0xbf
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OL_CHIKI;
+    field public static final int OL_CHIKI_ID = 157; // 0x9d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OPTICAL_CHARACTER_RECOGNITION;
+    field public static final int OPTICAL_CHARACTER_RECOGNITION_ID = 50; // 0x32
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ORIYA;
+    field public static final int ORIYA_ID = 19; // 0x13
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ORNAMENTAL_DINGBATS;
+    field public static final int ORNAMENTAL_DINGBATS_ID = 242; // 0xf2
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OSAGE;
+    field public static final int OSAGE_ID = 271; // 0x10f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OSMANYA;
+    field public static final int OSMANYA_ID = 122; // 0x7a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock OTTOMAN_SIYAQ_NUMBERS;
+    field public static final int OTTOMAN_SIYAQ_NUMBERS_ID = 296; // 0x128
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PAHAWH_HMONG;
+    field public static final int PAHAWH_HMONG_ID = 243; // 0xf3
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PALMYRENE;
+    field public static final int PALMYRENE_ID = 244; // 0xf4
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PAU_CIN_HAU;
+    field public static final int PAU_CIN_HAU_ID = 245; // 0xf5
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PHAGS_PA;
+    field public static final int PHAGS_PA_ID = 150; // 0x96
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PHAISTOS_DISC;
+    field public static final int PHAISTOS_DISC_ID = 166; // 0xa6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PHOENICIAN;
+    field public static final int PHOENICIAN_ID = 151; // 0x97
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PHONETIC_EXTENSIONS;
+    field public static final int PHONETIC_EXTENSIONS_ID = 114; // 0x72
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PHONETIC_EXTENSIONS_SUPPLEMENT;
+    field public static final int PHONETIC_EXTENSIONS_SUPPLEMENT_ID = 141; // 0x8d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PLAYING_CARDS;
+    field public static final int PLAYING_CARDS_ID = 204; // 0xcc
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PRIVATE_USE;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PRIVATE_USE_AREA;
+    field public static final int PRIVATE_USE_AREA_ID = 78; // 0x4e
+    field public static final int PRIVATE_USE_ID = 78; // 0x4e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock PSALTER_PAHLAVI;
+    field public static final int PSALTER_PAHLAVI_ID = 246; // 0xf6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock REJANG;
+    field public static final int REJANG_ID = 163; // 0xa3
+    field public static final android.icu.lang.UCharacter.UnicodeBlock RUMI_NUMERAL_SYMBOLS;
+    field public static final int RUMI_NUMERAL_SYMBOLS_ID = 192; // 0xc0
+    field public static final android.icu.lang.UCharacter.UnicodeBlock RUNIC;
+    field public static final int RUNIC_ID = 35; // 0x23
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SAMARITAN;
+    field public static final int SAMARITAN_ID = 172; // 0xac
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SAURASHTRA;
+    field public static final int SAURASHTRA_ID = 161; // 0xa1
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SHARADA;
+    field public static final int SHARADA_ID = 217; // 0xd9
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SHAVIAN;
+    field public static final int SHAVIAN_ID = 121; // 0x79
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SHORTHAND_FORMAT_CONTROLS;
+    field public static final int SHORTHAND_FORMAT_CONTROLS_ID = 247; // 0xf7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SIDDHAM;
+    field public static final int SIDDHAM_ID = 248; // 0xf8
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SINHALA;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SINHALA_ARCHAIC_NUMBERS;
+    field public static final int SINHALA_ARCHAIC_NUMBERS_ID = 249; // 0xf9
+    field public static final int SINHALA_ID = 24; // 0x18
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SMALL_FORM_VARIANTS;
+    field public static final int SMALL_FORM_VARIANTS_ID = 84; // 0x54
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SMALL_KANA_EXTENSION;
+    field public static final int SMALL_KANA_EXTENSION_ID = 297; // 0x129
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SOGDIAN;
+    field public static final int SOGDIAN_ID = 291; // 0x123
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SORA_SOMPENG;
+    field public static final int SORA_SOMPENG_ID = 218; // 0xda
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SOYOMBO;
+    field public static final int SOYOMBO_ID = 278; // 0x116
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SPACING_MODIFIER_LETTERS;
+    field public static final int SPACING_MODIFIER_LETTERS_ID = 6; // 0x6
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SPECIALS;
+    field public static final int SPECIALS_ID = 86; // 0x56
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUNDANESE;
+    field public static final int SUNDANESE_ID = 155; // 0x9b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUNDANESE_SUPPLEMENT;
+    field public static final int SUNDANESE_SUPPLEMENT_ID = 219; // 0xdb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPERSCRIPTS_AND_SUBSCRIPTS;
+    field public static final int SUPERSCRIPTS_AND_SUBSCRIPTS_ID = 41; // 0x29
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_ARROWS_A;
+    field public static final int SUPPLEMENTAL_ARROWS_A_ID = 103; // 0x67
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_ARROWS_B;
+    field public static final int SUPPLEMENTAL_ARROWS_B_ID = 104; // 0x68
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_ARROWS_C;
+    field public static final int SUPPLEMENTAL_ARROWS_C_ID = 250; // 0xfa
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_MATHEMATICAL_OPERATORS;
+    field public static final int SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID = 106; // 0x6a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_PUNCTUATION;
+    field public static final int SUPPLEMENTAL_PUNCTUATION_ID = 142; // 0x8e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS;
+    field public static final int SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID = 261; // 0x105
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_A;
+    field public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID = 109; // 0x6d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUPPLEMENTARY_PRIVATE_USE_AREA_B;
+    field public static final int SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID = 110; // 0x6e
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SUTTON_SIGNWRITING;
+    field public static final int SUTTON_SIGNWRITING_ID = 262; // 0x106
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SYLOTI_NAGRI;
+    field public static final int SYLOTI_NAGRI_ID = 143; // 0x8f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A;
+    field public static final int SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A_ID = 298; // 0x12a
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SYMBOLS_FOR_LEGACY_COMPUTING;
+    field public static final int SYMBOLS_FOR_LEGACY_COMPUTING_ID = 306; // 0x132
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SYRIAC;
+    field public static final int SYRIAC_ID = 13; // 0xd
+    field public static final android.icu.lang.UCharacter.UnicodeBlock SYRIAC_SUPPLEMENT;
+    field public static final int SYRIAC_SUPPLEMENT_ID = 279; // 0x117
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAGALOG;
+    field public static final int TAGALOG_ID = 98; // 0x62
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAGBANWA;
+    field public static final int TAGBANWA_ID = 101; // 0x65
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAGS;
+    field public static final int TAGS_ID = 96; // 0x60
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_LE;
+    field public static final int TAI_LE_ID = 112; // 0x70
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_THAM;
+    field public static final int TAI_THAM_ID = 174; // 0xae
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_VIET;
+    field public static final int TAI_VIET_ID = 183; // 0xb7
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAI_XUAN_JING_SYMBOLS;
+    field public static final int TAI_XUAN_JING_SYMBOLS_ID = 124; // 0x7c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAKRI;
+    field public static final int TAKRI_ID = 220; // 0xdc
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAMIL;
+    field public static final int TAMIL_ID = 20; // 0x14
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TAMIL_SUPPLEMENT;
+    field public static final int TAMIL_SUPPLEMENT_ID = 299; // 0x12b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TANGUT;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TANGUT_COMPONENTS;
+    field public static final int TANGUT_COMPONENTS_ID = 273; // 0x111
+    field public static final int TANGUT_ID = 272; // 0x110
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TANGUT_SUPPLEMENT;
+    field public static final int TANGUT_SUPPLEMENT_ID = 307; // 0x133
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TELUGU;
+    field public static final int TELUGU_ID = 21; // 0x15
+    field public static final android.icu.lang.UCharacter.UnicodeBlock THAANA;
+    field public static final int THAANA_ID = 14; // 0xe
+    field public static final android.icu.lang.UCharacter.UnicodeBlock THAI;
+    field public static final int THAI_ID = 25; // 0x19
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TIBETAN;
+    field public static final int TIBETAN_ID = 27; // 0x1b
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TIFINAGH;
+    field public static final int TIFINAGH_ID = 144; // 0x90
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TIRHUTA;
+    field public static final int TIRHUTA_ID = 251; // 0xfb
+    field public static final android.icu.lang.UCharacter.UnicodeBlock TRANSPORT_AND_MAP_SYMBOLS;
+    field public static final int TRANSPORT_AND_MAP_SYMBOLS_ID = 207; // 0xcf
+    field public static final android.icu.lang.UCharacter.UnicodeBlock UGARITIC;
+    field public static final int UGARITIC_ID = 120; // 0x78
+    field public static final android.icu.lang.UCharacter.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS;
+    field public static final android.icu.lang.UCharacter.UnicodeBlock UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED;
+    field public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_ID = 173; // 0xad
+    field public static final int UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID = 33; // 0x21
+    field public static final android.icu.lang.UCharacter.UnicodeBlock VAI;
+    field public static final int VAI_ID = 159; // 0x9f
+    field public static final android.icu.lang.UCharacter.UnicodeBlock VARIATION_SELECTORS;
+    field public static final int VARIATION_SELECTORS_ID = 108; // 0x6c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock VARIATION_SELECTORS_SUPPLEMENT;
+    field public static final int VARIATION_SELECTORS_SUPPLEMENT_ID = 125; // 0x7d
+    field public static final android.icu.lang.UCharacter.UnicodeBlock VEDIC_EXTENSIONS;
+    field public static final int VEDIC_EXTENSIONS_ID = 175; // 0xaf
+    field public static final android.icu.lang.UCharacter.UnicodeBlock VERTICAL_FORMS;
+    field public static final int VERTICAL_FORMS_ID = 145; // 0x91
+    field public static final android.icu.lang.UCharacter.UnicodeBlock WANCHO;
+    field public static final int WANCHO_ID = 300; // 0x12c
+    field public static final android.icu.lang.UCharacter.UnicodeBlock WARANG_CITI;
+    field public static final int WARANG_CITI_ID = 252; // 0xfc
+    field public static final android.icu.lang.UCharacter.UnicodeBlock YEZIDI;
+    field public static final int YEZIDI_ID = 308; // 0x134
+    field public static final android.icu.lang.UCharacter.UnicodeBlock YIJING_HEXAGRAM_SYMBOLS;
+    field public static final int YIJING_HEXAGRAM_SYMBOLS_ID = 116; // 0x74
+    field public static final android.icu.lang.UCharacter.UnicodeBlock YI_RADICALS;
+    field public static final int YI_RADICALS_ID = 73; // 0x49
+    field public static final android.icu.lang.UCharacter.UnicodeBlock YI_SYLLABLES;
+    field public static final int YI_SYLLABLES_ID = 72; // 0x48
+    field public static final android.icu.lang.UCharacter.UnicodeBlock ZANABAZAR_SQUARE;
+    field public static final int ZANABAZAR_SQUARE_ID = 280; // 0x118
+  }
+
+  public static interface UCharacter.VerticalOrientation {
+    field public static final int ROTATED = 0; // 0x0
+    field public static final int TRANSFORMED_ROTATED = 1; // 0x1
+    field public static final int TRANSFORMED_UPRIGHT = 2; // 0x2
+    field public static final int UPRIGHT = 3; // 0x3
+  }
+
+  public static interface UCharacter.WordBreak {
+    field public static final int ALETTER = 1; // 0x1
+    field public static final int CR = 8; // 0x8
+    field public static final int DOUBLE_QUOTE = 16; // 0x10
+    field public static final int EXTEND = 9; // 0x9
+    field public static final int EXTENDNUMLET = 7; // 0x7
+    field public static final int E_BASE = 17; // 0x11
+    field public static final int E_BASE_GAZ = 18; // 0x12
+    field public static final int E_MODIFIER = 19; // 0x13
+    field public static final int FORMAT = 2; // 0x2
+    field public static final int GLUE_AFTER_ZWJ = 20; // 0x14
+    field public static final int HEBREW_LETTER = 14; // 0xe
+    field public static final int KATAKANA = 3; // 0x3
+    field public static final int LF = 10; // 0xa
+    field public static final int MIDLETTER = 4; // 0x4
+    field public static final int MIDNUM = 5; // 0x5
+    field public static final int MIDNUMLET = 11; // 0xb
+    field public static final int NEWLINE = 12; // 0xc
+    field public static final int NUMERIC = 6; // 0x6
+    field public static final int OTHER = 0; // 0x0
+    field public static final int REGIONAL_INDICATOR = 13; // 0xd
+    field public static final int SINGLE_QUOTE = 15; // 0xf
+    field public static final int WSEGSPACE = 22; // 0x16
+    field public static final int ZWJ = 21; // 0x15
+  }
+
+  public final class UCharacterCategory implements android.icu.lang.UCharacterEnums.ECharacterCategory {
+    method public static String toString(int);
+  }
+
+  public final class UCharacterDirection implements android.icu.lang.UCharacterEnums.ECharacterDirection {
+    method public static String toString(int);
+  }
+
+  public class UCharacterEnums {
+  }
+
+  public static interface UCharacterEnums.ECharacterCategory {
+    field public static final byte COMBINING_SPACING_MARK = 8; // 0x8
+    field public static final byte CONNECTOR_PUNCTUATION = 22; // 0x16
+    field public static final byte CONTROL = 15; // 0xf
+    field public static final byte CURRENCY_SYMBOL = 25; // 0x19
+    field public static final byte DASH_PUNCTUATION = 19; // 0x13
+    field public static final byte DECIMAL_DIGIT_NUMBER = 9; // 0x9
+    field public static final byte ENCLOSING_MARK = 7; // 0x7
+    field public static final byte END_PUNCTUATION = 21; // 0x15
+    field public static final byte FINAL_PUNCTUATION = 29; // 0x1d
+    field public static final byte FINAL_QUOTE_PUNCTUATION = 29; // 0x1d
+    field public static final byte FORMAT = 16; // 0x10
+    field public static final byte GENERAL_OTHER_TYPES = 0; // 0x0
+    field public static final byte INITIAL_PUNCTUATION = 28; // 0x1c
+    field public static final byte INITIAL_QUOTE_PUNCTUATION = 28; // 0x1c
+    field public static final byte LETTER_NUMBER = 10; // 0xa
+    field public static final byte LINE_SEPARATOR = 13; // 0xd
+    field public static final byte LOWERCASE_LETTER = 2; // 0x2
+    field public static final byte MATH_SYMBOL = 24; // 0x18
+    field public static final byte MODIFIER_LETTER = 4; // 0x4
+    field public static final byte MODIFIER_SYMBOL = 26; // 0x1a
+    field public static final byte NON_SPACING_MARK = 6; // 0x6
+    field public static final byte OTHER_LETTER = 5; // 0x5
+    field public static final byte OTHER_NUMBER = 11; // 0xb
+    field public static final byte OTHER_PUNCTUATION = 23; // 0x17
+    field public static final byte OTHER_SYMBOL = 27; // 0x1b
+    field public static final byte PARAGRAPH_SEPARATOR = 14; // 0xe
+    field public static final byte PRIVATE_USE = 17; // 0x11
+    field public static final byte SPACE_SEPARATOR = 12; // 0xc
+    field public static final byte START_PUNCTUATION = 20; // 0x14
+    field public static final byte SURROGATE = 18; // 0x12
+    field public static final byte TITLECASE_LETTER = 3; // 0x3
+    field public static final byte UNASSIGNED = 0; // 0x0
+    field public static final byte UPPERCASE_LETTER = 1; // 0x1
+  }
+
+  public static interface UCharacterEnums.ECharacterDirection {
+    field public static final int ARABIC_NUMBER = 5; // 0x5
+    field public static final int BLOCK_SEPARATOR = 7; // 0x7
+    field public static final int BOUNDARY_NEUTRAL = 18; // 0x12
+    field public static final int COMMON_NUMBER_SEPARATOR = 6; // 0x6
+    field public static final byte DIRECTIONALITY_ARABIC_NUMBER = 5; // 0x5
+    field public static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 18; // 0x12
+    field public static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 6; // 0x6
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER = 2; // 0x2
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 3; // 0x3
+    field public static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 4; // 0x4
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 11; // 0xb
+    field public static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 12; // 0xc
+    field public static final byte DIRECTIONALITY_NONSPACING_MARK = 17; // 0x11
+    field public static final byte DIRECTIONALITY_OTHER_NEUTRALS = 10; // 0xa
+    field public static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 7; // 0x7
+    field public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 16; // 0x10
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT = 1; // 0x1
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 13; // 0xd
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 14; // 0xe
+    field public static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 15; // 0xf
+    field public static final byte DIRECTIONALITY_SEGMENT_SEPARATOR = 8; // 0x8
+    field public static final byte DIRECTIONALITY_UNDEFINED = -1; // 0xffffffff
+    field public static final byte DIRECTIONALITY_WHITESPACE = 9; // 0x9
+    field public static final int DIR_NON_SPACING_MARK = 17; // 0x11
+    field public static final int EUROPEAN_NUMBER = 2; // 0x2
+    field public static final int EUROPEAN_NUMBER_SEPARATOR = 3; // 0x3
+    field public static final int EUROPEAN_NUMBER_TERMINATOR = 4; // 0x4
+    field public static final byte FIRST_STRONG_ISOLATE = 19; // 0x13
+    field public static final int LEFT_TO_RIGHT = 0; // 0x0
+    field public static final int LEFT_TO_RIGHT_EMBEDDING = 11; // 0xb
+    field public static final byte LEFT_TO_RIGHT_ISOLATE = 20; // 0x14
+    field public static final int LEFT_TO_RIGHT_OVERRIDE = 12; // 0xc
+    field public static final int OTHER_NEUTRAL = 10; // 0xa
+    field public static final int POP_DIRECTIONAL_FORMAT = 16; // 0x10
+    field public static final byte POP_DIRECTIONAL_ISOLATE = 22; // 0x16
+    field public static final int RIGHT_TO_LEFT = 1; // 0x1
+    field public static final int RIGHT_TO_LEFT_ARABIC = 13; // 0xd
+    field public static final int RIGHT_TO_LEFT_EMBEDDING = 14; // 0xe
+    field public static final byte RIGHT_TO_LEFT_ISOLATE = 21; // 0x15
+    field public static final int RIGHT_TO_LEFT_OVERRIDE = 15; // 0xf
+    field public static final int SEGMENT_SEPARATOR = 8; // 0x8
+    field public static final int WHITE_SPACE_NEUTRAL = 9; // 0x9
+  }
+
+  public interface UProperty {
+    field public static final int AGE = 16384; // 0x4000
+    field public static final int ALPHABETIC = 0; // 0x0
+    field public static final int ASCII_HEX_DIGIT = 1; // 0x1
+    field public static final int BIDI_CLASS = 4096; // 0x1000
+    field public static final int BIDI_CONTROL = 2; // 0x2
+    field public static final int BIDI_MIRRORED = 3; // 0x3
+    field public static final int BIDI_MIRRORING_GLYPH = 16385; // 0x4001
+    field public static final int BIDI_PAIRED_BRACKET = 16397; // 0x400d
+    field public static final int BIDI_PAIRED_BRACKET_TYPE = 4117; // 0x1015
+    field public static final int BINARY_START = 0; // 0x0
+    field public static final int BLOCK = 4097; // 0x1001
+    field public static final int CANONICAL_COMBINING_CLASS = 4098; // 0x1002
+    field public static final int CASED = 49; // 0x31
+    field public static final int CASE_FOLDING = 16386; // 0x4002
+    field public static final int CASE_IGNORABLE = 50; // 0x32
+    field public static final int CASE_SENSITIVE = 34; // 0x22
+    field public static final int CHANGES_WHEN_CASEFOLDED = 54; // 0x36
+    field public static final int CHANGES_WHEN_CASEMAPPED = 55; // 0x37
+    field public static final int CHANGES_WHEN_LOWERCASED = 51; // 0x33
+    field public static final int CHANGES_WHEN_NFKC_CASEFOLDED = 56; // 0x38
+    field public static final int CHANGES_WHEN_TITLECASED = 53; // 0x35
+    field public static final int CHANGES_WHEN_UPPERCASED = 52; // 0x34
+    field public static final int DASH = 4; // 0x4
+    field public static final int DECOMPOSITION_TYPE = 4099; // 0x1003
+    field public static final int DEFAULT_IGNORABLE_CODE_POINT = 5; // 0x5
+    field public static final int DEPRECATED = 6; // 0x6
+    field public static final int DIACRITIC = 7; // 0x7
+    field public static final int DOUBLE_START = 12288; // 0x3000
+    field public static final int EAST_ASIAN_WIDTH = 4100; // 0x1004
+    field public static final int EMOJI = 57; // 0x39
+    field public static final int EMOJI_COMPONENT = 61; // 0x3d
+    field public static final int EMOJI_MODIFIER = 59; // 0x3b
+    field public static final int EMOJI_MODIFIER_BASE = 60; // 0x3c
+    field public static final int EMOJI_PRESENTATION = 58; // 0x3a
+    field public static final int EXTENDED_PICTOGRAPHIC = 64; // 0x40
+    field public static final int EXTENDER = 8; // 0x8
+    field public static final int FULL_COMPOSITION_EXCLUSION = 9; // 0x9
+    field public static final int GENERAL_CATEGORY = 4101; // 0x1005
+    field public static final int GENERAL_CATEGORY_MASK = 8192; // 0x2000
+    field public static final int GRAPHEME_BASE = 10; // 0xa
+    field public static final int GRAPHEME_CLUSTER_BREAK = 4114; // 0x1012
+    field public static final int GRAPHEME_EXTEND = 11; // 0xb
+    field public static final int GRAPHEME_LINK = 12; // 0xc
+    field public static final int HANGUL_SYLLABLE_TYPE = 4107; // 0x100b
+    field public static final int HEX_DIGIT = 13; // 0xd
+    field public static final int HYPHEN = 14; // 0xe
+    field public static final int IDEOGRAPHIC = 17; // 0x11
+    field public static final int IDS_BINARY_OPERATOR = 18; // 0x12
+    field public static final int IDS_TRINARY_OPERATOR = 19; // 0x13
+    field public static final int ID_CONTINUE = 15; // 0xf
+    field public static final int ID_START = 16; // 0x10
+    field public static final int INDIC_POSITIONAL_CATEGORY = 4118; // 0x1016
+    field public static final int INDIC_SYLLABIC_CATEGORY = 4119; // 0x1017
+    field public static final int INT_START = 4096; // 0x1000
+    field public static final int JOINING_GROUP = 4102; // 0x1006
+    field public static final int JOINING_TYPE = 4103; // 0x1007
+    field public static final int JOIN_CONTROL = 20; // 0x14
+    field public static final int LEAD_CANONICAL_COMBINING_CLASS = 4112; // 0x1010
+    field public static final int LINE_BREAK = 4104; // 0x1008
+    field public static final int LOGICAL_ORDER_EXCEPTION = 21; // 0x15
+    field public static final int LOWERCASE = 22; // 0x16
+    field public static final int LOWERCASE_MAPPING = 16388; // 0x4004
+    field public static final int MASK_START = 8192; // 0x2000
+    field public static final int MATH = 23; // 0x17
+    field public static final int NAME = 16389; // 0x4005
+    field public static final int NFC_INERT = 39; // 0x27
+    field public static final int NFC_QUICK_CHECK = 4110; // 0x100e
+    field public static final int NFD_INERT = 37; // 0x25
+    field public static final int NFD_QUICK_CHECK = 4108; // 0x100c
+    field public static final int NFKC_INERT = 40; // 0x28
+    field public static final int NFKC_QUICK_CHECK = 4111; // 0x100f
+    field public static final int NFKD_INERT = 38; // 0x26
+    field public static final int NFKD_QUICK_CHECK = 4109; // 0x100d
+    field public static final int NONCHARACTER_CODE_POINT = 24; // 0x18
+    field public static final int NUMERIC_TYPE = 4105; // 0x1009
+    field public static final int NUMERIC_VALUE = 12288; // 0x3000
+    field public static final int OTHER_PROPERTY_START = 28672; // 0x7000
+    field public static final int PATTERN_SYNTAX = 42; // 0x2a
+    field public static final int PATTERN_WHITE_SPACE = 43; // 0x2b
+    field public static final int POSIX_ALNUM = 44; // 0x2c
+    field public static final int POSIX_BLANK = 45; // 0x2d
+    field public static final int POSIX_GRAPH = 46; // 0x2e
+    field public static final int POSIX_PRINT = 47; // 0x2f
+    field public static final int POSIX_XDIGIT = 48; // 0x30
+    field public static final int PREPENDED_CONCATENATION_MARK = 63; // 0x3f
+    field public static final int QUOTATION_MARK = 25; // 0x19
+    field public static final int RADICAL = 26; // 0x1a
+    field public static final int REGIONAL_INDICATOR = 62; // 0x3e
+    field public static final int SCRIPT = 4106; // 0x100a
+    field public static final int SCRIPT_EXTENSIONS = 28672; // 0x7000
+    field public static final int SEGMENT_STARTER = 41; // 0x29
+    field public static final int SENTENCE_BREAK = 4115; // 0x1013
+    field public static final int SIMPLE_CASE_FOLDING = 16390; // 0x4006
+    field public static final int SIMPLE_LOWERCASE_MAPPING = 16391; // 0x4007
+    field public static final int SIMPLE_TITLECASE_MAPPING = 16392; // 0x4008
+    field public static final int SIMPLE_UPPERCASE_MAPPING = 16393; // 0x4009
+    field public static final int SOFT_DOTTED = 27; // 0x1b
+    field public static final int STRING_START = 16384; // 0x4000
+    field public static final int S_TERM = 35; // 0x23
+    field public static final int TERMINAL_PUNCTUATION = 28; // 0x1c
+    field public static final int TITLECASE_MAPPING = 16394; // 0x400a
+    field public static final int TRAIL_CANONICAL_COMBINING_CLASS = 4113; // 0x1011
+    field public static final int UNIFIED_IDEOGRAPH = 29; // 0x1d
+    field public static final int UPPERCASE = 30; // 0x1e
+    field public static final int UPPERCASE_MAPPING = 16396; // 0x400c
+    field public static final int VARIATION_SELECTOR = 36; // 0x24
+    field public static final int VERTICAL_ORIENTATION = 4120; // 0x1018
+    field public static final int WHITE_SPACE = 31; // 0x1f
+    field public static final int WORD_BREAK = 4116; // 0x1014
+    field public static final int XID_CONTINUE = 32; // 0x20
+    field public static final int XID_START = 33; // 0x21
+  }
+
+  public static interface UProperty.NameChoice {
+    field public static final int LONG = 1; // 0x1
+    field public static final int SHORT = 0; // 0x0
+  }
+
+  public final class UScript {
+    method public static boolean breaksBetweenLetters(int);
+    method public static int[] getCode(java.util.Locale);
+    method public static int[] getCode(android.icu.util.ULocale);
+    method public static int[] getCode(String);
+    method public static int getCodeFromName(String);
+    method public static String getName(int);
+    method public static String getSampleString(int);
+    method public static int getScript(int);
+    method public static int getScriptExtensions(int, java.util.BitSet);
+    method public static String getShortName(int);
+    method public static android.icu.lang.UScript.ScriptUsage getUsage(int);
+    method public static boolean hasScript(int, int);
+    method public static boolean isCased(int);
+    method public static boolean isRightToLeft(int);
+    field public static final int ADLAM = 167; // 0xa7
+    field public static final int AFAKA = 147; // 0x93
+    field public static final int AHOM = 161; // 0xa1
+    field public static final int ANATOLIAN_HIEROGLYPHS = 156; // 0x9c
+    field public static final int ARABIC = 2; // 0x2
+    field public static final int ARMENIAN = 3; // 0x3
+    field public static final int AVESTAN = 117; // 0x75
+    field public static final int BALINESE = 62; // 0x3e
+    field public static final int BAMUM = 130; // 0x82
+    field public static final int BASSA_VAH = 134; // 0x86
+    field public static final int BATAK = 63; // 0x3f
+    field public static final int BENGALI = 4; // 0x4
+    field public static final int BHAIKSUKI = 168; // 0xa8
+    field public static final int BLISSYMBOLS = 64; // 0x40
+    field public static final int BOOK_PAHLAVI = 124; // 0x7c
+    field public static final int BOPOMOFO = 5; // 0x5
+    field public static final int BRAHMI = 65; // 0x41
+    field public static final int BRAILLE = 46; // 0x2e
+    field public static final int BUGINESE = 55; // 0x37
+    field public static final int BUHID = 44; // 0x2c
+    field public static final int CANADIAN_ABORIGINAL = 40; // 0x28
+    field public static final int CARIAN = 104; // 0x68
+    field public static final int CAUCASIAN_ALBANIAN = 159; // 0x9f
+    field public static final int CHAKMA = 118; // 0x76
+    field public static final int CHAM = 66; // 0x42
+    field public static final int CHEROKEE = 6; // 0x6
+    field public static final int CHORASMIAN = 189; // 0xbd
+    field public static final int CIRTH = 67; // 0x43
+    field public static final int COMMON = 0; // 0x0
+    field public static final int COPTIC = 7; // 0x7
+    field public static final int CUNEIFORM = 101; // 0x65
+    field public static final int CYPRIOT = 47; // 0x2f
+    field public static final int CYRILLIC = 8; // 0x8
+    field public static final int DEMOTIC_EGYPTIAN = 69; // 0x45
+    field public static final int DESERET = 9; // 0x9
+    field public static final int DEVANAGARI = 10; // 0xa
+    field public static final int DIVES_AKURU = 190; // 0xbe
+    field public static final int DOGRA = 178; // 0xb2
+    field public static final int DUPLOYAN = 135; // 0x87
+    field public static final int EASTERN_SYRIAC = 97; // 0x61
+    field public static final int EGYPTIAN_HIEROGLYPHS = 71; // 0x47
+    field public static final int ELBASAN = 136; // 0x88
+    field public static final int ELYMAIC = 185; // 0xb9
+    field public static final int ESTRANGELO_SYRIAC = 95; // 0x5f
+    field public static final int ETHIOPIC = 11; // 0xb
+    field public static final int GEORGIAN = 12; // 0xc
+    field public static final int GLAGOLITIC = 56; // 0x38
+    field public static final int GOTHIC = 13; // 0xd
+    field public static final int GRANTHA = 137; // 0x89
+    field public static final int GREEK = 14; // 0xe
+    field public static final int GUJARATI = 15; // 0xf
+    field public static final int GUNJALA_GONDI = 179; // 0xb3
+    field public static final int GURMUKHI = 16; // 0x10
+    field public static final int HAN = 17; // 0x11
+    field public static final int HANGUL = 18; // 0x12
+    field public static final int HANIFI_ROHINGYA = 182; // 0xb6
+    field public static final int HANUNOO = 43; // 0x2b
+    field public static final int HAN_WITH_BOPOMOFO = 172; // 0xac
+    field public static final int HARAPPAN_INDUS = 77; // 0x4d
+    field public static final int HATRAN = 162; // 0xa2
+    field public static final int HEBREW = 19; // 0x13
+    field public static final int HIERATIC_EGYPTIAN = 70; // 0x46
+    field public static final int HIRAGANA = 20; // 0x14
+    field public static final int IMPERIAL_ARAMAIC = 116; // 0x74
+    field public static final int INHERITED = 1; // 0x1
+    field public static final int INSCRIPTIONAL_PAHLAVI = 122; // 0x7a
+    field public static final int INSCRIPTIONAL_PARTHIAN = 125; // 0x7d
+    field public static final int INVALID_CODE = -1; // 0xffffffff
+    field public static final int JAMO = 173; // 0xad
+    field public static final int JAPANESE = 105; // 0x69
+    field public static final int JAVANESE = 78; // 0x4e
+    field public static final int JURCHEN = 148; // 0x94
+    field public static final int KAITHI = 120; // 0x78
+    field public static final int KANNADA = 21; // 0x15
+    field public static final int KATAKANA = 22; // 0x16
+    field public static final int KATAKANA_OR_HIRAGANA = 54; // 0x36
+    field public static final int KAYAH_LI = 79; // 0x4f
+    field public static final int KHAROSHTHI = 57; // 0x39
+    field public static final int KHITAN_SMALL_SCRIPT = 191; // 0xbf
+    field public static final int KHMER = 23; // 0x17
+    field public static final int KHOJKI = 157; // 0x9d
+    field public static final int KHUDAWADI = 145; // 0x91
+    field public static final int KHUTSURI = 72; // 0x48
+    field public static final int KOREAN = 119; // 0x77
+    field public static final int KPELLE = 138; // 0x8a
+    field public static final int LANNA = 106; // 0x6a
+    field public static final int LAO = 24; // 0x18
+    field public static final int LATIN = 25; // 0x19
+    field public static final int LATIN_FRAKTUR = 80; // 0x50
+    field public static final int LATIN_GAELIC = 81; // 0x51
+    field public static final int LEPCHA = 82; // 0x52
+    field public static final int LIMBU = 48; // 0x30
+    field public static final int LINEAR_A = 83; // 0x53
+    field public static final int LINEAR_B = 49; // 0x31
+    field public static final int LISU = 131; // 0x83
+    field public static final int LOMA = 139; // 0x8b
+    field public static final int LYCIAN = 107; // 0x6b
+    field public static final int LYDIAN = 108; // 0x6c
+    field public static final int MAHAJANI = 160; // 0xa0
+    field public static final int MAKASAR = 180; // 0xb4
+    field public static final int MALAYALAM = 26; // 0x1a
+    field public static final int MANDAEAN = 84; // 0x54
+    field public static final int MANDAIC = 84; // 0x54
+    field public static final int MANICHAEAN = 121; // 0x79
+    field public static final int MARCHEN = 169; // 0xa9
+    field public static final int MASARAM_GONDI = 175; // 0xaf
+    field public static final int MATHEMATICAL_NOTATION = 128; // 0x80
+    field public static final int MAYAN_HIEROGLYPHS = 85; // 0x55
+    field public static final int MEDEFAIDRIN = 181; // 0xb5
+    field public static final int MEITEI_MAYEK = 115; // 0x73
+    field public static final int MENDE = 140; // 0x8c
+    field public static final int MEROITIC = 86; // 0x56
+    field public static final int MEROITIC_CURSIVE = 141; // 0x8d
+    field public static final int MEROITIC_HIEROGLYPHS = 86; // 0x56
+    field public static final int MIAO = 92; // 0x5c
+    field public static final int MODI = 163; // 0xa3
+    field public static final int MONGOLIAN = 27; // 0x1b
+    field public static final int MOON = 114; // 0x72
+    field public static final int MRO = 149; // 0x95
+    field public static final int MULTANI = 164; // 0xa4
+    field public static final int MYANMAR = 28; // 0x1c
+    field public static final int NABATAEAN = 143; // 0x8f
+    field public static final int NAKHI_GEBA = 132; // 0x84
+    field public static final int NANDINAGARI = 187; // 0xbb
+    field public static final int NEWA = 170; // 0xaa
+    field public static final int NEW_TAI_LUE = 59; // 0x3b
+    field public static final int NKO = 87; // 0x57
+    field public static final int NUSHU = 150; // 0x96
+    field public static final int NYIAKENG_PUACHUE_HMONG = 186; // 0xba
+    field public static final int OGHAM = 29; // 0x1d
+    field public static final int OLD_CHURCH_SLAVONIC_CYRILLIC = 68; // 0x44
+    field public static final int OLD_HUNGARIAN = 76; // 0x4c
+    field public static final int OLD_ITALIC = 30; // 0x1e
+    field public static final int OLD_NORTH_ARABIAN = 142; // 0x8e
+    field public static final int OLD_PERMIC = 89; // 0x59
+    field public static final int OLD_PERSIAN = 61; // 0x3d
+    field public static final int OLD_SOGDIAN = 184; // 0xb8
+    field public static final int OLD_SOUTH_ARABIAN = 133; // 0x85
+    field public static final int OL_CHIKI = 109; // 0x6d
+    field public static final int ORIYA = 31; // 0x1f
+    field public static final int ORKHON = 88; // 0x58
+    field public static final int OSAGE = 171; // 0xab
+    field public static final int OSMANYA = 50; // 0x32
+    field public static final int PAHAWH_HMONG = 75; // 0x4b
+    field public static final int PALMYRENE = 144; // 0x90
+    field public static final int PAU_CIN_HAU = 165; // 0xa5
+    field public static final int PHAGS_PA = 90; // 0x5a
+    field public static final int PHOENICIAN = 91; // 0x5b
+    field public static final int PHONETIC_POLLARD = 92; // 0x5c
+    field public static final int PSALTER_PAHLAVI = 123; // 0x7b
+    field public static final int REJANG = 110; // 0x6e
+    field public static final int RONGORONGO = 93; // 0x5d
+    field public static final int RUNIC = 32; // 0x20
+    field public static final int SAMARITAN = 126; // 0x7e
+    field public static final int SARATI = 94; // 0x5e
+    field public static final int SAURASHTRA = 111; // 0x6f
+    field public static final int SHARADA = 151; // 0x97
+    field public static final int SHAVIAN = 51; // 0x33
+    field public static final int SIDDHAM = 166; // 0xa6
+    field public static final int SIGN_WRITING = 112; // 0x70
+    field public static final int SIMPLIFIED_HAN = 73; // 0x49
+    field public static final int SINDHI = 145; // 0x91
+    field public static final int SINHALA = 33; // 0x21
+    field public static final int SOGDIAN = 183; // 0xb7
+    field public static final int SORA_SOMPENG = 152; // 0x98
+    field public static final int SOYOMBO = 176; // 0xb0
+    field public static final int SUNDANESE = 113; // 0x71
+    field public static final int SYLOTI_NAGRI = 58; // 0x3a
+    field public static final int SYMBOLS = 129; // 0x81
+    field public static final int SYMBOLS_EMOJI = 174; // 0xae
+    field public static final int SYRIAC = 34; // 0x22
+    field public static final int TAGALOG = 42; // 0x2a
+    field public static final int TAGBANWA = 45; // 0x2d
+    field public static final int TAI_LE = 52; // 0x34
+    field public static final int TAI_VIET = 127; // 0x7f
+    field public static final int TAKRI = 153; // 0x99
+    field public static final int TAMIL = 35; // 0x23
+    field public static final int TANGUT = 154; // 0x9a
+    field public static final int TELUGU = 36; // 0x24
+    field public static final int TENGWAR = 98; // 0x62
+    field public static final int THAANA = 37; // 0x25
+    field public static final int THAI = 38; // 0x26
+    field public static final int TIBETAN = 39; // 0x27
+    field public static final int TIFINAGH = 60; // 0x3c
+    field public static final int TIRHUTA = 158; // 0x9e
+    field public static final int TRADITIONAL_HAN = 74; // 0x4a
+    field public static final int UCAS = 40; // 0x28
+    field public static final int UGARITIC = 53; // 0x35
+    field public static final int UNKNOWN = 103; // 0x67
+    field public static final int UNWRITTEN_LANGUAGES = 102; // 0x66
+    field public static final int VAI = 99; // 0x63
+    field public static final int VISIBLE_SPEECH = 100; // 0x64
+    field public static final int WANCHO = 188; // 0xbc
+    field public static final int WARANG_CITI = 146; // 0x92
+    field public static final int WESTERN_SYRIAC = 96; // 0x60
+    field public static final int WOLEAI = 155; // 0x9b
+    field public static final int YEZIDI = 192; // 0xc0
+    field public static final int YI = 41; // 0x29
+    field public static final int ZANABAZAR_SQUARE = 177; // 0xb1
+  }
+
+  public enum UScript.ScriptUsage {
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage ASPIRATIONAL;
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage EXCLUDED;
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage LIMITED_USE;
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage NOT_ENCODED;
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage RECOMMENDED;
+    enum_constant public static final android.icu.lang.UScript.ScriptUsage UNKNOWN;
+  }
+
+}
+
+package android.icu.math {
+
+  public class BigDecimal extends java.lang.Number implements java.lang.Comparable<android.icu.math.BigDecimal> java.io.Serializable {
+    ctor public BigDecimal(java.math.BigDecimal);
+    ctor public BigDecimal(java.math.BigInteger);
+    ctor public BigDecimal(java.math.BigInteger, int);
+    ctor public BigDecimal(char[]);
+    ctor public BigDecimal(char[], int, int);
+    ctor public BigDecimal(double);
+    ctor public BigDecimal(int);
+    ctor public BigDecimal(long);
+    ctor public BigDecimal(String);
+    method public android.icu.math.BigDecimal abs();
+    method public android.icu.math.BigDecimal abs(android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal add(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal add(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public byte byteValueExact();
+    method public int compareTo(android.icu.math.BigDecimal);
+    method public int compareTo(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal, int);
+    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal, int, int);
+    method public android.icu.math.BigDecimal divide(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal divideInteger(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal divideInteger(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public double doubleValue();
+    method public float floatValue();
+    method public String format(int, int);
+    method public String format(int, int, int, int, int, int);
+    method public int intValue();
+    method public int intValueExact();
+    method public long longValue();
+    method public long longValueExact();
+    method public android.icu.math.BigDecimal max(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal max(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal min(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal min(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal movePointLeft(int);
+    method public android.icu.math.BigDecimal movePointRight(int);
+    method public android.icu.math.BigDecimal multiply(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal multiply(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal negate();
+    method public android.icu.math.BigDecimal negate(android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal plus();
+    method public android.icu.math.BigDecimal plus(android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal pow(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal pow(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public android.icu.math.BigDecimal remainder(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal remainder(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public int scale();
+    method public android.icu.math.BigDecimal setScale(int);
+    method public android.icu.math.BigDecimal setScale(int, int);
+    method public short shortValueExact();
+    method public int signum();
+    method public android.icu.math.BigDecimal subtract(android.icu.math.BigDecimal);
+    method public android.icu.math.BigDecimal subtract(android.icu.math.BigDecimal, android.icu.math.MathContext);
+    method public java.math.BigDecimal toBigDecimal();
+    method public java.math.BigInteger toBigInteger();
+    method public java.math.BigInteger toBigIntegerExact();
+    method public char[] toCharArray();
+    method public java.math.BigInteger unscaledValue();
+    method public static android.icu.math.BigDecimal valueOf(double);
+    method public static android.icu.math.BigDecimal valueOf(long);
+    method public static android.icu.math.BigDecimal valueOf(long, int);
+    field public static final android.icu.math.BigDecimal ONE;
+    field public static final int ROUND_CEILING = 2; // 0x2
+    field public static final int ROUND_DOWN = 1; // 0x1
+    field public static final int ROUND_FLOOR = 3; // 0x3
+    field public static final int ROUND_HALF_DOWN = 5; // 0x5
+    field public static final int ROUND_HALF_EVEN = 6; // 0x6
+    field public static final int ROUND_HALF_UP = 4; // 0x4
+    field public static final int ROUND_UNNECESSARY = 7; // 0x7
+    field public static final int ROUND_UP = 0; // 0x0
+    field public static final android.icu.math.BigDecimal TEN;
+    field public static final android.icu.math.BigDecimal ZERO;
+  }
+
+  public final class MathContext implements java.io.Serializable {
+    ctor public MathContext(int);
+    ctor public MathContext(int, int);
+    ctor public MathContext(int, int, boolean);
+    ctor public MathContext(int, int, boolean, int);
+    method public int getDigits();
+    method public int getForm();
+    method public boolean getLostDigits();
+    method public int getRoundingMode();
+    field public static final android.icu.math.MathContext DEFAULT;
+    field public static final int ENGINEERING = 2; // 0x2
+    field public static final int PLAIN = 0; // 0x0
+    field public static final int ROUND_CEILING = 2; // 0x2
+    field public static final int ROUND_DOWN = 1; // 0x1
+    field public static final int ROUND_FLOOR = 3; // 0x3
+    field public static final int ROUND_HALF_DOWN = 5; // 0x5
+    field public static final int ROUND_HALF_EVEN = 6; // 0x6
+    field public static final int ROUND_HALF_UP = 4; // 0x4
+    field public static final int ROUND_UNNECESSARY = 7; // 0x7
+    field public static final int ROUND_UP = 0; // 0x0
+    field public static final int SCIENTIFIC = 1; // 0x1
+  }
+
+}
+
+package android.icu.number {
+
+  public class CompactNotation extends android.icu.number.Notation {
+  }
+
+  public abstract class CurrencyPrecision extends android.icu.number.Precision {
+    method public android.icu.number.Precision withCurrency(android.icu.util.Currency);
+  }
+
+  public class FormattedNumber implements android.icu.text.FormattedValue {
+    method public <A extends java.lang.Appendable> A appendTo(A);
+    method public char charAt(int);
+    method public int length();
+    method public boolean nextPosition(android.icu.text.ConstrainedFieldPosition);
+    method public CharSequence subSequence(int, int);
+    method public java.math.BigDecimal toBigDecimal();
+    method public java.text.AttributedCharacterIterator toCharacterIterator();
+  }
+
+  public class FormattedNumberRange implements android.icu.text.FormattedValue {
+    method public <A extends java.lang.Appendable> A appendTo(A);
+    method public char charAt(int);
+    method public java.math.BigDecimal getFirstBigDecimal();
+    method public android.icu.number.NumberRangeFormatter.RangeIdentityResult getIdentityResult();
+    method public java.math.BigDecimal getSecondBigDecimal();
+    method public int length();
+    method public boolean nextPosition(android.icu.text.ConstrainedFieldPosition);
+    method public CharSequence subSequence(int, int);
+    method public java.text.AttributedCharacterIterator toCharacterIterator();
+  }
+
+  public abstract class FractionPrecision extends android.icu.number.Precision {
+    method public android.icu.number.Precision withMaxDigits(int);
+    method public android.icu.number.Precision withMinDigits(int);
+  }
+
+  public class IntegerWidth {
+    method public android.icu.number.IntegerWidth truncateAt(int);
+    method public static android.icu.number.IntegerWidth zeroFillTo(int);
+  }
+
+  public class LocalizedNumberFormatter extends android.icu.number.NumberFormatterSettings<android.icu.number.LocalizedNumberFormatter> {
+    method public android.icu.number.FormattedNumber format(long);
+    method public android.icu.number.FormattedNumber format(double);
+    method public android.icu.number.FormattedNumber format(Number);
+    method public android.icu.number.FormattedNumber format(android.icu.util.Measure);
+    method public java.text.Format toFormat();
+  }
+
+  public class LocalizedNumberRangeFormatter extends android.icu.number.NumberRangeFormatterSettings<android.icu.number.LocalizedNumberRangeFormatter> {
+    method public android.icu.number.FormattedNumberRange formatRange(int, int);
+    method public android.icu.number.FormattedNumberRange formatRange(double, double);
+    method public android.icu.number.FormattedNumberRange formatRange(Number, Number);
+  }
+
+  public class Notation {
+    method public static android.icu.number.CompactNotation compactLong();
+    method public static android.icu.number.CompactNotation compactShort();
+    method public static android.icu.number.ScientificNotation engineering();
+    method public static android.icu.number.ScientificNotation scientific();
+    method public static android.icu.number.SimpleNotation simple();
+  }
+
+  public final class NumberFormatter {
+    method public static android.icu.number.UnlocalizedNumberFormatter with();
+    method public static android.icu.number.LocalizedNumberFormatter withLocale(java.util.Locale);
+    method public static android.icu.number.LocalizedNumberFormatter withLocale(android.icu.util.ULocale);
+  }
+
+  public enum NumberFormatter.DecimalSeparatorDisplay {
+    enum_constant public static final android.icu.number.NumberFormatter.DecimalSeparatorDisplay ALWAYS;
+    enum_constant public static final android.icu.number.NumberFormatter.DecimalSeparatorDisplay AUTO;
+  }
+
+  public enum NumberFormatter.GroupingStrategy {
+    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy AUTO;
+    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy MIN2;
+    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy OFF;
+    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy ON_ALIGNED;
+    enum_constant public static final android.icu.number.NumberFormatter.GroupingStrategy THOUSANDS;
+  }
+
+  public enum NumberFormatter.SignDisplay {
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ACCOUNTING;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ACCOUNTING_ALWAYS;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ACCOUNTING_EXCEPT_ZERO;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay ALWAYS;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay AUTO;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay EXCEPT_ZERO;
+    enum_constant public static final android.icu.number.NumberFormatter.SignDisplay NEVER;
+  }
+
+  public enum NumberFormatter.UnitWidth {
+    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth FULL_NAME;
+    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth HIDDEN;
+    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth ISO_CODE;
+    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth NARROW;
+    enum_constant public static final android.icu.number.NumberFormatter.UnitWidth SHORT;
+  }
+
+  public abstract class NumberFormatterSettings<T extends android.icu.number.NumberFormatterSettings<?>> {
+    method public T decimal(android.icu.number.NumberFormatter.DecimalSeparatorDisplay);
+    method public T grouping(android.icu.number.NumberFormatter.GroupingStrategy);
+    method public T integerWidth(android.icu.number.IntegerWidth);
+    method public T notation(android.icu.number.Notation);
+    method public T perUnit(android.icu.util.MeasureUnit);
+    method public T precision(android.icu.number.Precision);
+    method public T roundingMode(java.math.RoundingMode);
+    method public T scale(android.icu.number.Scale);
+    method public T sign(android.icu.number.NumberFormatter.SignDisplay);
+    method public T symbols(android.icu.text.DecimalFormatSymbols);
+    method public T symbols(android.icu.text.NumberingSystem);
+    method public T unit(android.icu.util.MeasureUnit);
+    method public T unitWidth(android.icu.number.NumberFormatter.UnitWidth);
+  }
+
+  public abstract class NumberRangeFormatter {
+    method public static android.icu.number.UnlocalizedNumberRangeFormatter with();
+    method public static android.icu.number.LocalizedNumberRangeFormatter withLocale(java.util.Locale);
+    method public static android.icu.number.LocalizedNumberRangeFormatter withLocale(android.icu.util.ULocale);
+  }
+
+  public enum NumberRangeFormatter.RangeCollapse {
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse ALL;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse AUTO;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse NONE;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeCollapse UNIT;
+  }
+
+  public enum NumberRangeFormatter.RangeIdentityFallback {
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback APPROXIMATELY;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback APPROXIMATELY_OR_SINGLE_VALUE;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback RANGE;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityFallback SINGLE_VALUE;
+  }
+
+  public enum NumberRangeFormatter.RangeIdentityResult {
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityResult EQUAL_AFTER_ROUNDING;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityResult EQUAL_BEFORE_ROUNDING;
+    enum_constant public static final android.icu.number.NumberRangeFormatter.RangeIdentityResult NOT_EQUAL;
+  }
+
+  public abstract class NumberRangeFormatterSettings<T extends android.icu.number.NumberRangeFormatterSettings<?>> {
+    method public T collapse(android.icu.number.NumberRangeFormatter.RangeCollapse);
+    method public T identityFallback(android.icu.number.NumberRangeFormatter.RangeIdentityFallback);
+    method public T numberFormatterBoth(android.icu.number.UnlocalizedNumberFormatter);
+    method public T numberFormatterFirst(android.icu.number.UnlocalizedNumberFormatter);
+    method public T numberFormatterSecond(android.icu.number.UnlocalizedNumberFormatter);
+  }
+
+  public abstract class Precision {
+    method public static android.icu.number.CurrencyPrecision currency(android.icu.util.Currency.CurrencyUsage);
+    method public static android.icu.number.FractionPrecision fixedFraction(int);
+    method public static android.icu.number.Precision fixedSignificantDigits(int);
+    method public static android.icu.number.Precision increment(java.math.BigDecimal);
+    method public static android.icu.number.FractionPrecision integer();
+    method public static android.icu.number.FractionPrecision maxFraction(int);
+    method public static android.icu.number.Precision maxSignificantDigits(int);
+    method public static android.icu.number.FractionPrecision minFraction(int);
+    method public static android.icu.number.FractionPrecision minMaxFraction(int, int);
+    method public static android.icu.number.Precision minMaxSignificantDigits(int, int);
+    method public static android.icu.number.Precision minSignificantDigits(int);
+    method public static android.icu.number.Precision unlimited();
+  }
+
+  public class Scale {
+    method public static android.icu.number.Scale byBigDecimal(java.math.BigDecimal);
+    method public static android.icu.number.Scale byDouble(double);
+    method public static android.icu.number.Scale byDoubleAndPowerOfTen(double, int);
+    method public static android.icu.number.Scale none();
+    method public static android.icu.number.Scale powerOfTen(int);
+  }
+
+  public class ScientificNotation extends android.icu.number.Notation {
+    method public android.icu.number.ScientificNotation withExponentSignDisplay(android.icu.number.NumberFormatter.SignDisplay);
+    method public android.icu.number.ScientificNotation withMinExponentDigits(int);
+  }
+
+  public class SimpleNotation extends android.icu.number.Notation {
+  }
+
+  public class UnlocalizedNumberFormatter extends android.icu.number.NumberFormatterSettings<android.icu.number.UnlocalizedNumberFormatter> {
+    method public android.icu.number.LocalizedNumberFormatter locale(java.util.Locale);
+    method public android.icu.number.LocalizedNumberFormatter locale(android.icu.util.ULocale);
+  }
+
+  public class UnlocalizedNumberRangeFormatter extends android.icu.number.NumberRangeFormatterSettings<android.icu.number.UnlocalizedNumberRangeFormatter> {
+    method public android.icu.number.LocalizedNumberRangeFormatter locale(java.util.Locale);
+    method public android.icu.number.LocalizedNumberRangeFormatter locale(android.icu.util.ULocale);
+  }
+
+}
+
+package android.icu.text {
+
+  public final class AlphabeticIndex<V> implements java.lang.Iterable<android.icu.text.AlphabeticIndex.Bucket<V>> {
+    ctor public AlphabeticIndex(android.icu.util.ULocale);
+    ctor public AlphabeticIndex(java.util.Locale);
+    ctor public AlphabeticIndex(android.icu.text.RuleBasedCollator);
+    method public android.icu.text.AlphabeticIndex<V> addLabels(android.icu.text.UnicodeSet);
+    method public android.icu.text.AlphabeticIndex<V> addLabels(android.icu.util.ULocale...);
+    method public android.icu.text.AlphabeticIndex<V> addLabels(java.util.Locale...);
+    method public android.icu.text.AlphabeticIndex<V> addRecord(CharSequence, V);
+    method public android.icu.text.AlphabeticIndex.ImmutableIndex<V> buildImmutableIndex();
+    method public android.icu.text.AlphabeticIndex<V> clearRecords();
+    method public int getBucketCount();
+    method public int getBucketIndex(CharSequence);
+    method public java.util.List<java.lang.String> getBucketLabels();
+    method public android.icu.text.RuleBasedCollator getCollator();
+    method public String getInflowLabel();
+    method public int getMaxLabelCount();
+    method public String getOverflowLabel();
+    method public int getRecordCount();
+    method public String getUnderflowLabel();
+    method public java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<V>> iterator();
+    method public android.icu.text.AlphabeticIndex<V> setInflowLabel(String);
+    method public android.icu.text.AlphabeticIndex<V> setMaxLabelCount(int);
+    method public android.icu.text.AlphabeticIndex<V> setOverflowLabel(String);
+    method public android.icu.text.AlphabeticIndex<V> setUnderflowLabel(String);
+  }
+
+  public static class AlphabeticIndex.Bucket<V> implements java.lang.Iterable<android.icu.text.AlphabeticIndex.Record<V>> {
+    method public String getLabel();
+    method public android.icu.text.AlphabeticIndex.Bucket.LabelType getLabelType();
+    method public java.util.Iterator<android.icu.text.AlphabeticIndex.Record<V>> iterator();
+    method public int size();
+  }
+
+  public enum AlphabeticIndex.Bucket.LabelType {
+    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType INFLOW;
+    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType NORMAL;
+    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType OVERFLOW;
+    enum_constant public static final android.icu.text.AlphabeticIndex.Bucket.LabelType UNDERFLOW;
+  }
+
+  public static final class AlphabeticIndex.ImmutableIndex<V> implements java.lang.Iterable<android.icu.text.AlphabeticIndex.Bucket<V>> {
+    method public android.icu.text.AlphabeticIndex.Bucket<V> getBucket(int);
+    method public int getBucketCount();
+    method public int getBucketIndex(CharSequence);
+    method public java.util.Iterator<android.icu.text.AlphabeticIndex.Bucket<V>> iterator();
+  }
+
+  public static class AlphabeticIndex.Record<V> {
+    method public V getData();
+    method public CharSequence getName();
+  }
+
+  public class Bidi {
+    ctor public Bidi();
+    ctor public Bidi(int, int);
+    ctor public Bidi(String, int);
+    ctor public Bidi(java.text.AttributedCharacterIterator);
+    ctor public Bidi(char[], int, byte[], int, int, int);
+    method public boolean baseIsLeftToRight();
+    method public int countParagraphs();
+    method public int countRuns();
+    method public android.icu.text.Bidi createLineBidi(int, int);
+    method public static byte getBaseDirection(CharSequence);
+    method public int getBaseLevel();
+    method public android.icu.text.BidiClassifier getCustomClassifier();
+    method public int getCustomizedClass(int);
+    method public byte getDirection();
+    method public int getLength();
+    method public byte getLevelAt(int);
+    method public byte[] getLevels();
+    method public int getLogicalIndex(int);
+    method public int[] getLogicalMap();
+    method public android.icu.text.BidiRun getLogicalRun(int);
+    method public byte getParaLevel();
+    method public android.icu.text.BidiRun getParagraph(int);
+    method public android.icu.text.BidiRun getParagraphByIndex(int);
+    method public int getParagraphIndex(int);
+    method public int getProcessedLength();
+    method public int getReorderingMode();
+    method public int getReorderingOptions();
+    method public int getResultLength();
+    method public int getRunCount();
+    method public int getRunLevel(int);
+    method public int getRunLimit(int);
+    method public int getRunStart(int);
+    method public char[] getText();
+    method public String getTextAsString();
+    method public int getVisualIndex(int);
+    method public int[] getVisualMap();
+    method public android.icu.text.BidiRun getVisualRun(int);
+    method public static int[] invertMap(int[]);
+    method public boolean isInverse();
+    method public boolean isLeftToRight();
+    method public boolean isMixed();
+    method public boolean isOrderParagraphsLTR();
+    method public boolean isRightToLeft();
+    method public void orderParagraphsLTR(boolean);
+    method public static int[] reorderLogical(byte[]);
+    method public static int[] reorderVisual(byte[]);
+    method public static void reorderVisually(byte[], int, Object[], int, int);
+    method public static boolean requiresBidi(char[], int, int);
+    method public void setContext(String, String);
+    method public void setCustomClassifier(android.icu.text.BidiClassifier);
+    method public void setInverse(boolean);
+    method public android.icu.text.Bidi setLine(int, int);
+    method public void setPara(String, byte, byte[]);
+    method public void setPara(char[], byte, byte[]);
+    method public void setPara(java.text.AttributedCharacterIterator);
+    method public void setReorderingMode(int);
+    method public void setReorderingOptions(int);
+    method public String writeReordered(int);
+    method public static String writeReverse(String, int);
+    field public static final int DIRECTION_DEFAULT_LEFT_TO_RIGHT = 126; // 0x7e
+    field public static final int DIRECTION_DEFAULT_RIGHT_TO_LEFT = 127; // 0x7f
+    field public static final int DIRECTION_LEFT_TO_RIGHT = 0; // 0x0
+    field public static final int DIRECTION_RIGHT_TO_LEFT = 1; // 0x1
+    field public static final short DO_MIRRORING = 2; // 0x2
+    field public static final short INSERT_LRM_FOR_NUMERIC = 4; // 0x4
+    field public static final short KEEP_BASE_COMBINING = 1; // 0x1
+    field public static final byte LEVEL_DEFAULT_LTR = 126; // 0x7e
+    field public static final byte LEVEL_DEFAULT_RTL = 127; // 0x7f
+    field public static final byte LEVEL_OVERRIDE = -128; // 0xffffff80
+    field public static final byte LTR = 0; // 0x0
+    field public static final int MAP_NOWHERE = -1; // 0xffffffff
+    field public static final byte MAX_EXPLICIT_LEVEL = 125; // 0x7d
+    field public static final byte MIXED = 2; // 0x2
+    field public static final byte NEUTRAL = 3; // 0x3
+    field public static final int OPTION_DEFAULT = 0; // 0x0
+    field public static final int OPTION_INSERT_MARKS = 1; // 0x1
+    field public static final int OPTION_REMOVE_CONTROLS = 2; // 0x2
+    field public static final int OPTION_STREAMING = 4; // 0x4
+    field public static final short OUTPUT_REVERSE = 16; // 0x10
+    field public static final short REMOVE_BIDI_CONTROLS = 8; // 0x8
+    field public static final short REORDER_DEFAULT = 0; // 0x0
+    field public static final short REORDER_GROUP_NUMBERS_WITH_R = 2; // 0x2
+    field public static final short REORDER_INVERSE_FOR_NUMBERS_SPECIAL = 6; // 0x6
+    field public static final short REORDER_INVERSE_LIKE_DIRECT = 5; // 0x5
+    field public static final short REORDER_INVERSE_NUMBERS_AS_L = 4; // 0x4
+    field public static final short REORDER_NUMBERS_SPECIAL = 1; // 0x1
+    field public static final short REORDER_RUNS_ONLY = 3; // 0x3
+    field public static final byte RTL = 1; // 0x1
+  }
+
+  public class BidiClassifier {
+    ctor public BidiClassifier(Object);
+    method public int classify(int);
+    method public Object getContext();
+    method public void setContext(Object);
+  }
+
+  public class BidiRun {
+    method public byte getDirection();
+    method public byte getEmbeddingLevel();
+    method public int getLength();
+    method public int getLimit();
+    method public int getStart();
+    method public boolean isEvenRun();
+    method public boolean isOddRun();
+  }
+
+  public abstract class BreakIterator implements java.lang.Cloneable {
+    ctor protected BreakIterator();
+    method public Object clone();
+    method public abstract int current();
+    method public abstract int first();
+    method public abstract int following(int);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public static android.icu.text.BreakIterator getCharacterInstance();
+    method public static android.icu.text.BreakIterator getCharacterInstance(java.util.Locale);
+    method public static android.icu.text.BreakIterator getCharacterInstance(android.icu.util.ULocale);
+    method public static android.icu.text.BreakIterator getLineInstance();
+    method public static android.icu.text.BreakIterator getLineInstance(java.util.Locale);
+    method public static android.icu.text.BreakIterator getLineInstance(android.icu.util.ULocale);
+    method public int getRuleStatus();
+    method public int getRuleStatusVec(int[]);
+    method public static android.icu.text.BreakIterator getSentenceInstance();
+    method public static android.icu.text.BreakIterator getSentenceInstance(java.util.Locale);
+    method public static android.icu.text.BreakIterator getSentenceInstance(android.icu.util.ULocale);
+    method public abstract java.text.CharacterIterator getText();
+    method @Deprecated public static android.icu.text.BreakIterator getTitleInstance();
+    method @Deprecated public static android.icu.text.BreakIterator getTitleInstance(java.util.Locale);
+    method @Deprecated public static android.icu.text.BreakIterator getTitleInstance(android.icu.util.ULocale);
+    method public static android.icu.text.BreakIterator getWordInstance();
+    method public static android.icu.text.BreakIterator getWordInstance(java.util.Locale);
+    method public static android.icu.text.BreakIterator getWordInstance(android.icu.util.ULocale);
+    method public boolean isBoundary(int);
+    method public abstract int last();
+    method public abstract int next(int);
+    method public abstract int next();
+    method public int preceding(int);
+    method public abstract int previous();
+    method public void setText(String);
+    method public void setText(CharSequence);
+    method public abstract void setText(java.text.CharacterIterator);
+    field public static final int DONE = -1; // 0xffffffff
+    field public static final int KIND_CHARACTER = 0; // 0x0
+    field public static final int KIND_LINE = 2; // 0x2
+    field public static final int KIND_SENTENCE = 3; // 0x3
+    field @Deprecated public static final int KIND_TITLE = 4; // 0x4
+    field public static final int KIND_WORD = 1; // 0x1
+    field public static final int WORD_IDEO = 400; // 0x190
+    field public static final int WORD_IDEO_LIMIT = 500; // 0x1f4
+    field public static final int WORD_KANA = 300; // 0x12c
+    field public static final int WORD_KANA_LIMIT = 400; // 0x190
+    field public static final int WORD_LETTER = 200; // 0xc8
+    field public static final int WORD_LETTER_LIMIT = 300; // 0x12c
+    field public static final int WORD_NONE = 0; // 0x0
+    field public static final int WORD_NONE_LIMIT = 100; // 0x64
+    field public static final int WORD_NUMBER = 100; // 0x64
+    field public static final int WORD_NUMBER_LIMIT = 200; // 0xc8
+  }
+
+  public abstract class CaseMap {
+    method public static android.icu.text.CaseMap.Fold fold();
+    method public abstract android.icu.text.CaseMap omitUnchangedText();
+    method public static android.icu.text.CaseMap.Lower toLower();
+    method public static android.icu.text.CaseMap.Title toTitle();
+    method public static android.icu.text.CaseMap.Upper toUpper();
+  }
+
+  public static final class CaseMap.Fold extends android.icu.text.CaseMap {
+    method public String apply(CharSequence);
+    method public <A extends java.lang.Appendable> A apply(CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Fold omitUnchangedText();
+    method public android.icu.text.CaseMap.Fold turkic();
+  }
+
+  public static final class CaseMap.Lower extends android.icu.text.CaseMap {
+    method public String apply(java.util.Locale, CharSequence);
+    method public <A extends java.lang.Appendable> A apply(java.util.Locale, CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Lower omitUnchangedText();
+  }
+
+  public static final class CaseMap.Title extends android.icu.text.CaseMap {
+    method public android.icu.text.CaseMap.Title adjustToCased();
+    method public String apply(java.util.Locale, android.icu.text.BreakIterator, CharSequence);
+    method public <A extends java.lang.Appendable> A apply(java.util.Locale, android.icu.text.BreakIterator, CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Title noBreakAdjustment();
+    method public android.icu.text.CaseMap.Title noLowercase();
+    method public android.icu.text.CaseMap.Title omitUnchangedText();
+    method public android.icu.text.CaseMap.Title sentences();
+    method public android.icu.text.CaseMap.Title wholeString();
+  }
+
+  public static final class CaseMap.Upper extends android.icu.text.CaseMap {
+    method public String apply(java.util.Locale, CharSequence);
+    method public <A extends java.lang.Appendable> A apply(java.util.Locale, CharSequence, A, android.icu.text.Edits);
+    method public android.icu.text.CaseMap.Upper omitUnchangedText();
+  }
+
+  public final class CollationElementIterator {
+    method public int getMaxExpansion(int);
+    method public int getOffset();
+    method public int next();
+    method public int previous();
+    method public static int primaryOrder(int);
+    method public void reset();
+    method public static int secondaryOrder(int);
+    method public void setOffset(int);
+    method public void setText(String);
+    method public void setText(android.icu.text.UCharacterIterator);
+    method public void setText(java.text.CharacterIterator);
+    method public static int tertiaryOrder(int);
+    field public static final int IGNORABLE = 0; // 0x0
+    field public static final int NULLORDER = -1; // 0xffffffff
+  }
+
+  public final class CollationKey implements java.lang.Comparable<android.icu.text.CollationKey> {
+    ctor public CollationKey(String, byte[]);
+    method public int compareTo(android.icu.text.CollationKey);
+    method public boolean equals(android.icu.text.CollationKey);
+    method public android.icu.text.CollationKey getBound(int, int);
+    method public String getSourceString();
+    method public android.icu.text.CollationKey merge(android.icu.text.CollationKey);
+    method public byte[] toByteArray();
+  }
+
+  public static final class CollationKey.BoundMode {
+    field public static final int LOWER = 0; // 0x0
+    field public static final int UPPER = 1; // 0x1
+    field public static final int UPPER_LONG = 2; // 0x2
+  }
+
+  public abstract class Collator implements java.lang.Cloneable java.util.Comparator<java.lang.Object> android.icu.util.Freezable<android.icu.text.Collator> {
+    ctor protected Collator();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method public android.icu.text.Collator cloneAsThawed();
+    method public abstract int compare(String, String);
+    method public int compare(Object, Object);
+    method public boolean equals(String, String);
+    method public android.icu.text.Collator freeze();
+    method public static java.util.Locale[] getAvailableLocales();
+    method public static final android.icu.util.ULocale[] getAvailableULocales();
+    method public abstract android.icu.text.CollationKey getCollationKey(String);
+    method public int getDecomposition();
+    method public static String getDisplayName(java.util.Locale, java.util.Locale);
+    method public static String getDisplayName(android.icu.util.ULocale, android.icu.util.ULocale);
+    method public static String getDisplayName(java.util.Locale);
+    method public static String getDisplayName(android.icu.util.ULocale);
+    method public static int[] getEquivalentReorderCodes(int);
+    method public static final android.icu.util.ULocale getFunctionalEquivalent(String, android.icu.util.ULocale, boolean[]);
+    method public static final android.icu.util.ULocale getFunctionalEquivalent(String, android.icu.util.ULocale);
+    method public static final android.icu.text.Collator getInstance();
+    method public static final android.icu.text.Collator getInstance(android.icu.util.ULocale);
+    method public static final android.icu.text.Collator getInstance(java.util.Locale);
+    method public static final String[] getKeywordValues(String);
+    method public static final String[] getKeywordValuesForLocale(String, android.icu.util.ULocale, boolean);
+    method public static final String[] getKeywords();
+    method public int getMaxVariable();
+    method public int[] getReorderCodes();
+    method public int getStrength();
+    method public android.icu.text.UnicodeSet getTailoredSet();
+    method public abstract android.icu.util.VersionInfo getUCAVersion();
+    method public abstract int getVariableTop();
+    method public abstract android.icu.util.VersionInfo getVersion();
+    method public boolean isFrozen();
+    method public void setDecomposition(int);
+    method public android.icu.text.Collator setMaxVariable(int);
+    method public void setReorderCodes(int...);
+    method public void setStrength(int);
+    field public static final int CANONICAL_DECOMPOSITION = 17; // 0x11
+    field public static final int FULL_DECOMPOSITION = 15; // 0xf
+    field public static final int IDENTICAL = 15; // 0xf
+    field public static final int NO_DECOMPOSITION = 16; // 0x10
+    field public static final int PRIMARY = 0; // 0x0
+    field public static final int QUATERNARY = 3; // 0x3
+    field public static final int SECONDARY = 1; // 0x1
+    field public static final int TERTIARY = 2; // 0x2
+  }
+
+  public static interface Collator.ReorderCodes {
+    field public static final int CURRENCY = 4099; // 0x1003
+    field public static final int DEFAULT = -1; // 0xffffffff
+    field public static final int DIGIT = 4100; // 0x1004
+    field public static final int FIRST = 4096; // 0x1000
+    field public static final int NONE = 103; // 0x67
+    field public static final int OTHERS = 103; // 0x67
+    field public static final int PUNCTUATION = 4097; // 0x1001
+    field public static final int SPACE = 4096; // 0x1000
+    field public static final int SYMBOL = 4098; // 0x1002
+  }
+
+  public class CompactDecimalFormat extends android.icu.text.DecimalFormat {
+    method public static android.icu.text.CompactDecimalFormat getInstance(android.icu.util.ULocale, android.icu.text.CompactDecimalFormat.CompactStyle);
+    method public static android.icu.text.CompactDecimalFormat getInstance(java.util.Locale, android.icu.text.CompactDecimalFormat.CompactStyle);
+  }
+
+  public enum CompactDecimalFormat.CompactStyle {
+    enum_constant public static final android.icu.text.CompactDecimalFormat.CompactStyle LONG;
+    enum_constant public static final android.icu.text.CompactDecimalFormat.CompactStyle SHORT;
+  }
+
+  public class ConstrainedFieldPosition {
+    ctor public ConstrainedFieldPosition();
+    method public void constrainClass(Class<?>);
+    method public void constrainField(java.text.Format.Field);
+    method public java.text.Format.Field getField();
+    method public Object getFieldValue();
+    method public long getInt64IterationContext();
+    method public int getLimit();
+    method public int getStart();
+    method public boolean matchesField(java.text.Format.Field, Object);
+    method public void reset();
+    method public void setInt64IterationContext(long);
+    method public void setState(java.text.Format.Field, Object, int, int);
+  }
+
+  public class CurrencyPluralInfo implements java.lang.Cloneable java.io.Serializable {
+    ctor public CurrencyPluralInfo();
+    ctor public CurrencyPluralInfo(java.util.Locale);
+    ctor public CurrencyPluralInfo(android.icu.util.ULocale);
+    method public Object clone();
+    method public String getCurrencyPluralPattern(String);
+    method public static android.icu.text.CurrencyPluralInfo getInstance();
+    method public static android.icu.text.CurrencyPluralInfo getInstance(java.util.Locale);
+    method public static android.icu.text.CurrencyPluralInfo getInstance(android.icu.util.ULocale);
+    method public android.icu.util.ULocale getLocale();
+    method public android.icu.text.PluralRules getPluralRules();
+    method public void setCurrencyPluralPattern(String, String);
+    method public void setLocale(android.icu.util.ULocale);
+    method public void setPluralRules(String);
+  }
+
+  public abstract class DateFormat extends android.icu.text.UFormat {
+    ctor protected DateFormat();
+    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public abstract StringBuffer format(android.icu.util.Calendar, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(java.util.Date, StringBuffer, java.text.FieldPosition);
+    method public final String format(java.util.Date);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public boolean getBooleanAttribute(android.icu.text.DateFormat.BooleanAttribute);
+    method public android.icu.util.Calendar getCalendar();
+    method public android.icu.text.DisplayContext getContext(android.icu.text.DisplayContext.Type);
+    method public static final android.icu.text.DateFormat getDateInstance();
+    method public static final android.icu.text.DateFormat getDateInstance(int);
+    method public static final android.icu.text.DateFormat getDateInstance(int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getDateInstance(int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getDateInstance(android.icu.util.Calendar, int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getDateInstance(android.icu.util.Calendar, int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getDateInstance(android.icu.util.Calendar, int);
+    method public static final android.icu.text.DateFormat getDateTimeInstance();
+    method public static final android.icu.text.DateFormat getDateTimeInstance(int, int);
+    method public static final android.icu.text.DateFormat getDateTimeInstance(int, int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getDateTimeInstance(int, int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getDateTimeInstance(android.icu.util.Calendar, int, int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getDateTimeInstance(android.icu.util.Calendar, int, int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getDateTimeInstance(android.icu.util.Calendar, int, int);
+    method public static final android.icu.text.DateFormat getInstance();
+    method public static final android.icu.text.DateFormat getInstance(android.icu.util.Calendar, java.util.Locale);
+    method public static final android.icu.text.DateFormat getInstance(android.icu.util.Calendar);
+    method public static final android.icu.text.DateFormat getInstanceForSkeleton(String);
+    method public static final android.icu.text.DateFormat getInstanceForSkeleton(String, java.util.Locale);
+    method public static final android.icu.text.DateFormat getInstanceForSkeleton(String, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getInstanceForSkeleton(android.icu.util.Calendar, String, java.util.Locale);
+    method public static final android.icu.text.DateFormat getInstanceForSkeleton(android.icu.util.Calendar, String, android.icu.util.ULocale);
+    method public android.icu.text.NumberFormat getNumberFormat();
+    method public static final android.icu.text.DateFormat getPatternInstance(String);
+    method public static final android.icu.text.DateFormat getPatternInstance(String, java.util.Locale);
+    method public static final android.icu.text.DateFormat getPatternInstance(String, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getPatternInstance(android.icu.util.Calendar, String, java.util.Locale);
+    method public static final android.icu.text.DateFormat getPatternInstance(android.icu.util.Calendar, String, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getTimeInstance();
+    method public static final android.icu.text.DateFormat getTimeInstance(int);
+    method public static final android.icu.text.DateFormat getTimeInstance(int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getTimeInstance(int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getTimeInstance(android.icu.util.Calendar, int, java.util.Locale);
+    method public static final android.icu.text.DateFormat getTimeInstance(android.icu.util.Calendar, int, android.icu.util.ULocale);
+    method public static final android.icu.text.DateFormat getTimeInstance(android.icu.util.Calendar, int);
+    method public android.icu.util.TimeZone getTimeZone();
+    method public boolean isCalendarLenient();
+    method public boolean isLenient();
+    method public java.util.Date parse(String) throws java.text.ParseException;
+    method public abstract void parse(String, android.icu.util.Calendar, java.text.ParsePosition);
+    method public java.util.Date parse(String, java.text.ParsePosition);
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public android.icu.text.DateFormat setBooleanAttribute(android.icu.text.DateFormat.BooleanAttribute, boolean);
+    method public void setCalendar(android.icu.util.Calendar);
+    method public void setCalendarLenient(boolean);
+    method public void setContext(android.icu.text.DisplayContext);
+    method public void setLenient(boolean);
+    method public void setNumberFormat(android.icu.text.NumberFormat);
+    method public void setTimeZone(android.icu.util.TimeZone);
+    field public static final String ABBR_GENERIC_TZ = "v";
+    field public static final String ABBR_MONTH = "MMM";
+    field public static final String ABBR_MONTH_DAY = "MMMd";
+    field public static final String ABBR_MONTH_WEEKDAY_DAY = "MMMEd";
+    field public static final String ABBR_QUARTER = "QQQ";
+    field public static final String ABBR_SPECIFIC_TZ = "z";
+    field public static final String ABBR_UTC_TZ = "ZZZZ";
+    field public static final String ABBR_WEEKDAY = "E";
+    field public static final int AM_PM_FIELD = 14; // 0xe
+    field public static final int AM_PM_MIDNIGHT_NOON_FIELD = 35; // 0x23
+    field public static final int DATE_FIELD = 3; // 0x3
+    field public static final String DAY = "d";
+    field public static final int DAY_OF_WEEK_FIELD = 9; // 0x9
+    field public static final int DAY_OF_WEEK_IN_MONTH_FIELD = 11; // 0xb
+    field public static final int DAY_OF_YEAR_FIELD = 10; // 0xa
+    field public static final int DEFAULT = 2; // 0x2
+    field public static final int DOW_LOCAL_FIELD = 19; // 0x13
+    field public static final int ERA_FIELD = 0; // 0x0
+    field public static final int EXTENDED_YEAR_FIELD = 20; // 0x14
+    field public static final int FLEXIBLE_DAY_PERIOD_FIELD = 36; // 0x24
+    field public static final int FRACTIONAL_SECOND_FIELD = 8; // 0x8
+    field public static final int FULL = 0; // 0x0
+    field public static final String GENERIC_TZ = "vvvv";
+    field public static final String HOUR = "j";
+    field public static final int HOUR0_FIELD = 16; // 0x10
+    field public static final int HOUR1_FIELD = 15; // 0xf
+    field public static final String HOUR24 = "H";
+    field public static final String HOUR24_MINUTE = "Hm";
+    field public static final String HOUR24_MINUTE_SECOND = "Hms";
+    field public static final String HOUR_MINUTE = "jm";
+    field public static final String HOUR_MINUTE_SECOND = "jms";
+    field public static final int HOUR_OF_DAY0_FIELD = 5; // 0x5
+    field public static final int HOUR_OF_DAY1_FIELD = 4; // 0x4
+    field public static final int JULIAN_DAY_FIELD = 21; // 0x15
+    field public static final String LOCATION_TZ = "VVVV";
+    field public static final int LONG = 1; // 0x1
+    field public static final int MEDIUM = 2; // 0x2
+    field public static final int MILLISECONDS_IN_DAY_FIELD = 22; // 0x16
+    field public static final int MILLISECOND_FIELD = 8; // 0x8
+    field public static final String MINUTE = "m";
+    field public static final int MINUTE_FIELD = 6; // 0x6
+    field public static final String MINUTE_SECOND = "ms";
+    field public static final String MONTH = "MMMM";
+    field public static final String MONTH_DAY = "MMMMd";
+    field public static final int MONTH_FIELD = 2; // 0x2
+    field public static final String MONTH_WEEKDAY_DAY = "MMMMEEEEd";
+    field public static final int NONE = -1; // 0xffffffff
+    field public static final String NUM_MONTH = "M";
+    field public static final String NUM_MONTH_DAY = "Md";
+    field public static final String NUM_MONTH_WEEKDAY_DAY = "MEd";
+    field public static final String QUARTER = "QQQQ";
+    field public static final int QUARTER_FIELD = 27; // 0x1b
+    field public static final int RELATIVE = 128; // 0x80
+    field public static final int RELATIVE_DEFAULT = 130; // 0x82
+    field public static final int RELATIVE_FULL = 128; // 0x80
+    field public static final int RELATIVE_LONG = 129; // 0x81
+    field public static final int RELATIVE_MEDIUM = 130; // 0x82
+    field public static final int RELATIVE_SHORT = 131; // 0x83
+    field public static final String SECOND = "s";
+    field public static final int SECOND_FIELD = 7; // 0x7
+    field public static final int SHORT = 3; // 0x3
+    field public static final String SPECIFIC_TZ = "zzzz";
+    field public static final int STANDALONE_DAY_FIELD = 25; // 0x19
+    field public static final int STANDALONE_MONTH_FIELD = 26; // 0x1a
+    field public static final int STANDALONE_QUARTER_FIELD = 28; // 0x1c
+    field public static final int TIMEZONE_FIELD = 17; // 0x11
+    field public static final int TIMEZONE_GENERIC_FIELD = 24; // 0x18
+    field public static final int TIMEZONE_ISO_FIELD = 32; // 0x20
+    field public static final int TIMEZONE_ISO_LOCAL_FIELD = 33; // 0x21
+    field public static final int TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD = 31; // 0x1f
+    field public static final int TIMEZONE_RFC_FIELD = 23; // 0x17
+    field public static final int TIMEZONE_SPECIAL_FIELD = 29; // 0x1d
+    field public static final String WEEKDAY = "EEEE";
+    field public static final int WEEK_OF_MONTH_FIELD = 13; // 0xd
+    field public static final int WEEK_OF_YEAR_FIELD = 12; // 0xc
+    field public static final String YEAR = "y";
+    field public static final String YEAR_ABBR_MONTH = "yMMM";
+    field public static final String YEAR_ABBR_MONTH_DAY = "yMMMd";
+    field public static final String YEAR_ABBR_MONTH_WEEKDAY_DAY = "yMMMEd";
+    field public static final String YEAR_ABBR_QUARTER = "yQQQ";
+    field public static final int YEAR_FIELD = 1; // 0x1
+    field public static final String YEAR_MONTH = "yMMMM";
+    field public static final String YEAR_MONTH_DAY = "yMMMMd";
+    field public static final String YEAR_MONTH_WEEKDAY_DAY = "yMMMMEEEEd";
+    field public static final int YEAR_NAME_FIELD = 30; // 0x1e
+    field public static final String YEAR_NUM_MONTH = "yM";
+    field public static final String YEAR_NUM_MONTH_DAY = "yMd";
+    field public static final String YEAR_NUM_MONTH_WEEKDAY_DAY = "yMEd";
+    field public static final String YEAR_QUARTER = "yQQQQ";
+    field public static final int YEAR_WOY_FIELD = 18; // 0x12
+    field protected android.icu.util.Calendar calendar;
+    field protected android.icu.text.NumberFormat numberFormat;
+  }
+
+  public enum DateFormat.BooleanAttribute {
+    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_ALLOW_NUMERIC;
+    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_ALLOW_WHITESPACE;
+    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_MULTIPLE_PATTERNS_FOR_MATCH;
+    enum_constant public static final android.icu.text.DateFormat.BooleanAttribute PARSE_PARTIAL_LITERAL_MATCH;
+  }
+
+  public static class DateFormat.Field extends java.text.Format.Field {
+    ctor protected DateFormat.Field(String, int);
+    method public int getCalendarField();
+    method public static android.icu.text.DateFormat.Field ofCalendarField(int);
+    field public static final android.icu.text.DateFormat.Field AM_PM;
+    field public static final android.icu.text.DateFormat.Field AM_PM_MIDNIGHT_NOON;
+    field public static final android.icu.text.DateFormat.Field DAY_OF_MONTH;
+    field public static final android.icu.text.DateFormat.Field DAY_OF_WEEK;
+    field public static final android.icu.text.DateFormat.Field DAY_OF_WEEK_IN_MONTH;
+    field public static final android.icu.text.DateFormat.Field DAY_OF_YEAR;
+    field public static final android.icu.text.DateFormat.Field DOW_LOCAL;
+    field public static final android.icu.text.DateFormat.Field ERA;
+    field public static final android.icu.text.DateFormat.Field EXTENDED_YEAR;
+    field public static final android.icu.text.DateFormat.Field FLEXIBLE_DAY_PERIOD;
+    field public static final android.icu.text.DateFormat.Field HOUR0;
+    field public static final android.icu.text.DateFormat.Field HOUR1;
+    field public static final android.icu.text.DateFormat.Field HOUR_OF_DAY0;
+    field public static final android.icu.text.DateFormat.Field HOUR_OF_DAY1;
+    field public static final android.icu.text.DateFormat.Field JULIAN_DAY;
+    field public static final android.icu.text.DateFormat.Field MILLISECOND;
+    field public static final android.icu.text.DateFormat.Field MILLISECONDS_IN_DAY;
+    field public static final android.icu.text.DateFormat.Field MINUTE;
+    field public static final android.icu.text.DateFormat.Field MONTH;
+    field public static final android.icu.text.DateFormat.Field QUARTER;
+    field public static final android.icu.text.DateFormat.Field SECOND;
+    field public static final android.icu.text.DateFormat.Field TIME_ZONE;
+    field public static final android.icu.text.DateFormat.Field WEEK_OF_MONTH;
+    field public static final android.icu.text.DateFormat.Field WEEK_OF_YEAR;
+    field public static final android.icu.text.DateFormat.Field YEAR;
+    field public static final android.icu.text.DateFormat.Field YEAR_WOY;
+  }
+
+  public class DateFormatSymbols implements java.lang.Cloneable java.io.Serializable {
+    ctor public DateFormatSymbols();
+    ctor public DateFormatSymbols(java.util.Locale);
+    ctor public DateFormatSymbols(android.icu.util.ULocale);
+    ctor public DateFormatSymbols(android.icu.util.Calendar, java.util.Locale);
+    ctor public DateFormatSymbols(android.icu.util.Calendar, android.icu.util.ULocale);
+    ctor public DateFormatSymbols(Class<? extends android.icu.util.Calendar>, java.util.Locale);
+    ctor public DateFormatSymbols(Class<? extends android.icu.util.Calendar>, android.icu.util.ULocale);
+    ctor public DateFormatSymbols(java.util.ResourceBundle, java.util.Locale);
+    ctor public DateFormatSymbols(java.util.ResourceBundle, android.icu.util.ULocale);
+    method public Object clone();
+    method public String[] getAmPmStrings();
+    method public static java.util.Locale[] getAvailableLocales();
+    method public String[] getEraNames();
+    method public String[] getEras();
+    method public static android.icu.text.DateFormatSymbols getInstance();
+    method public static android.icu.text.DateFormatSymbols getInstance(java.util.Locale);
+    method public static android.icu.text.DateFormatSymbols getInstance(android.icu.util.ULocale);
+    method public String getLocalPatternChars();
+    method public String[] getMonths();
+    method public String[] getMonths(int, int);
+    method public String[] getNarrowEras();
+    method public String[] getQuarters(int, int);
+    method public String[] getShortMonths();
+    method public String[] getShortWeekdays();
+    method public String[] getWeekdays();
+    method public String[] getWeekdays(int, int);
+    method public String[] getYearNames(int, int);
+    method public String[] getZodiacNames(int, int);
+    method public String[][] getZoneStrings();
+    method protected void initializeData(android.icu.util.ULocale, String);
+    method public void setAmPmStrings(String[]);
+    method public void setEraNames(String[]);
+    method public void setEras(String[]);
+    method public void setLocalPatternChars(String);
+    method public void setMonths(String[]);
+    method public void setMonths(String[], int, int);
+    method public void setNarrowEras(String[]);
+    method public void setQuarters(String[], int, int);
+    method public void setShortMonths(String[]);
+    method public void setShortWeekdays(String[]);
+    method public void setWeekdays(String[], int, int);
+    method public void setWeekdays(String[]);
+    method public void setYearNames(String[], int, int);
+    method public void setZodiacNames(String[], int, int);
+    method public void setZoneStrings(String[][]);
+    field public static final int ABBREVIATED = 0; // 0x0
+    field public static final int FORMAT = 0; // 0x0
+    field public static final int NARROW = 2; // 0x2
+    field public static final int SHORT = 3; // 0x3
+    field public static final int STANDALONE = 1; // 0x1
+    field public static final int WIDE = 1; // 0x1
+  }
+
+  public class DateIntervalFormat extends android.icu.text.UFormat {
+    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public final StringBuffer format(android.icu.util.DateInterval, StringBuffer, java.text.FieldPosition);
+    method public final StringBuffer format(android.icu.util.Calendar, android.icu.util.Calendar, StringBuffer, java.text.FieldPosition);
+    method public android.icu.text.DateIntervalFormat.FormattedDateInterval formatToValue(android.icu.util.DateInterval);
+    method public android.icu.text.DateIntervalFormat.FormattedDateInterval formatToValue(android.icu.util.Calendar, android.icu.util.Calendar);
+    method public android.icu.text.DateFormat getDateFormat();
+    method public android.icu.text.DateIntervalInfo getDateIntervalInfo();
+    method public static final android.icu.text.DateIntervalFormat getInstance(String);
+    method public static final android.icu.text.DateIntervalFormat getInstance(String, java.util.Locale);
+    method public static final android.icu.text.DateIntervalFormat getInstance(String, android.icu.util.ULocale);
+    method public static final android.icu.text.DateIntervalFormat getInstance(String, android.icu.text.DateIntervalInfo);
+    method public static final android.icu.text.DateIntervalFormat getInstance(String, java.util.Locale, android.icu.text.DateIntervalInfo);
+    method public static final android.icu.text.DateIntervalFormat getInstance(String, android.icu.util.ULocale, android.icu.text.DateIntervalInfo);
+    method public android.icu.util.TimeZone getTimeZone();
+    method @Deprecated public Object parseObject(String, java.text.ParsePosition);
+    method public void setDateIntervalInfo(android.icu.text.DateIntervalInfo);
+    method public void setTimeZone(android.icu.util.TimeZone);
+  }
+
+  public static final class DateIntervalFormat.FormattedDateInterval implements android.icu.text.FormattedValue {
+    method public <A extends java.lang.Appendable> A appendTo(A);
+    method public char charAt(int);
+    method public int length();
+    method public boolean nextPosition(android.icu.text.ConstrainedFieldPosition);
+    method public CharSequence subSequence(int, int);
+    method public java.text.AttributedCharacterIterator toCharacterIterator();
+  }
+
+  public class DateIntervalInfo implements java.lang.Cloneable android.icu.util.Freezable<android.icu.text.DateIntervalInfo> java.io.Serializable {
+    ctor public DateIntervalInfo(android.icu.util.ULocale);
+    ctor public DateIntervalInfo(java.util.Locale);
+    method public Object clone();
+    method public android.icu.text.DateIntervalInfo cloneAsThawed();
+    method public android.icu.text.DateIntervalInfo freeze();
+    method public boolean getDefaultOrder();
+    method public String getFallbackIntervalPattern();
+    method public android.icu.text.DateIntervalInfo.PatternInfo getIntervalPattern(String, int);
+    method public boolean isFrozen();
+    method public void setFallbackIntervalPattern(String);
+    method public void setIntervalPattern(String, int, String);
+  }
+
+  public static final class DateIntervalInfo.PatternInfo implements java.lang.Cloneable java.io.Serializable {
+    ctor public DateIntervalInfo.PatternInfo(String, String, boolean);
+    method public boolean firstDateInPtnIsLaterDate();
+    method public String getFirstPart();
+    method public String getSecondPart();
+  }
+
+  public class DateTimePatternGenerator implements java.lang.Cloneable android.icu.util.Freezable<android.icu.text.DateTimePatternGenerator> {
+    ctor protected DateTimePatternGenerator();
+    method public android.icu.text.DateTimePatternGenerator addPattern(String, boolean, android.icu.text.DateTimePatternGenerator.PatternInfo);
+    method public Object clone();
+    method public android.icu.text.DateTimePatternGenerator cloneAsThawed();
+    method public android.icu.text.DateTimePatternGenerator freeze();
+    method public String getAppendItemFormat(int);
+    method public String getAppendItemName(int);
+    method public String getBaseSkeleton(String);
+    method public java.util.Set<java.lang.String> getBaseSkeletons(java.util.Set<java.lang.String>);
+    method public String getBestPattern(String);
+    method public String getBestPattern(String, int);
+    method public String getDateTimeFormat();
+    method public String getDecimal();
+    method public static android.icu.text.DateTimePatternGenerator getEmptyInstance();
+    method public String getFieldDisplayName(int, android.icu.text.DateTimePatternGenerator.DisplayWidth);
+    method public static android.icu.text.DateTimePatternGenerator getInstance();
+    method public static android.icu.text.DateTimePatternGenerator getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.DateTimePatternGenerator getInstance(java.util.Locale);
+    method public String getSkeleton(String);
+    method public java.util.Map<java.lang.String,java.lang.String> getSkeletons(java.util.Map<java.lang.String,java.lang.String>);
+    method public boolean isFrozen();
+    method public String replaceFieldTypes(String, String);
+    method public String replaceFieldTypes(String, String, int);
+    method public void setAppendItemFormat(int, String);
+    method public void setAppendItemName(int, String);
+    method public void setDateTimeFormat(String);
+    method public void setDecimal(String);
+    field public static final int DAY = 7; // 0x7
+    field public static final int DAYPERIOD = 10; // 0xa
+    field public static final int DAY_OF_WEEK_IN_MONTH = 9; // 0x9
+    field public static final int DAY_OF_YEAR = 8; // 0x8
+    field public static final int ERA = 0; // 0x0
+    field public static final int FRACTIONAL_SECOND = 14; // 0xe
+    field public static final int HOUR = 11; // 0xb
+    field public static final int MATCH_ALL_FIELDS_LENGTH = 65535; // 0xffff
+    field public static final int MATCH_HOUR_FIELD_LENGTH = 2048; // 0x800
+    field public static final int MATCH_NO_OPTIONS = 0; // 0x0
+    field public static final int MINUTE = 12; // 0xc
+    field public static final int MONTH = 3; // 0x3
+    field public static final int QUARTER = 2; // 0x2
+    field public static final int SECOND = 13; // 0xd
+    field public static final int WEEKDAY = 6; // 0x6
+    field public static final int WEEK_OF_MONTH = 5; // 0x5
+    field public static final int WEEK_OF_YEAR = 4; // 0x4
+    field public static final int YEAR = 1; // 0x1
+    field public static final int ZONE = 15; // 0xf
+  }
+
+  public enum DateTimePatternGenerator.DisplayWidth {
+    enum_constant public static final android.icu.text.DateTimePatternGenerator.DisplayWidth ABBREVIATED;
+    enum_constant public static final android.icu.text.DateTimePatternGenerator.DisplayWidth NARROW;
+    enum_constant public static final android.icu.text.DateTimePatternGenerator.DisplayWidth WIDE;
+  }
+
+  public static final class DateTimePatternGenerator.PatternInfo {
+    ctor public DateTimePatternGenerator.PatternInfo();
+    field public static final int BASE_CONFLICT = 1; // 0x1
+    field public static final int CONFLICT = 2; // 0x2
+    field public static final int OK = 0; // 0x0
+    field public String conflictingPattern;
+    field public int status;
+  }
+
+  public class DecimalFormat extends android.icu.text.NumberFormat {
+    ctor public DecimalFormat();
+    ctor public DecimalFormat(String);
+    ctor public DecimalFormat(String, android.icu.text.DecimalFormatSymbols);
+    ctor public DecimalFormat(String, android.icu.text.DecimalFormatSymbols, android.icu.text.CurrencyPluralInfo, int);
+    method public void applyLocalizedPattern(String);
+    method public void applyPattern(String);
+    method public boolean areSignificantDigitsUsed();
+    method public StringBuffer format(double, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(long, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(java.math.BigInteger, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(java.math.BigDecimal, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(android.icu.math.BigDecimal, StringBuffer, java.text.FieldPosition);
+    method public android.icu.text.CurrencyPluralInfo getCurrencyPluralInfo();
+    method public android.icu.util.Currency.CurrencyUsage getCurrencyUsage();
+    method public android.icu.text.DecimalFormatSymbols getDecimalFormatSymbols();
+    method public int getFormatWidth();
+    method public int getGroupingSize();
+    method public java.math.MathContext getMathContext();
+    method public android.icu.math.MathContext getMathContextICU();
+    method public int getMaximumSignificantDigits();
+    method public byte getMinimumExponentDigits();
+    method public int getMinimumGroupingDigits();
+    method public int getMinimumSignificantDigits();
+    method public int getMultiplier();
+    method public String getNegativePrefix();
+    method public String getNegativeSuffix();
+    method public char getPadCharacter();
+    method public int getPadPosition();
+    method @Deprecated public int getParseMaxDigits();
+    method public String getPositivePrefix();
+    method public String getPositiveSuffix();
+    method public java.math.BigDecimal getRoundingIncrement();
+    method public int getSecondaryGroupingSize();
+    method public boolean isDecimalPatternMatchRequired();
+    method public boolean isDecimalSeparatorAlwaysShown();
+    method public boolean isExponentSignAlwaysShown();
+    method public boolean isParseBigDecimal();
+    method public boolean isParseCaseSensitive();
+    method public boolean isParseNoExponent();
+    method public boolean isScientificNotation();
+    method public boolean isSignAlwaysShown();
+    method public Number parse(String, java.text.ParsePosition);
+    method public void setCurrencyPluralInfo(android.icu.text.CurrencyPluralInfo);
+    method public void setCurrencyUsage(android.icu.util.Currency.CurrencyUsage);
+    method public void setDecimalFormatSymbols(android.icu.text.DecimalFormatSymbols);
+    method public void setDecimalPatternMatchRequired(boolean);
+    method public void setDecimalSeparatorAlwaysShown(boolean);
+    method public void setExponentSignAlwaysShown(boolean);
+    method public void setFormatWidth(int);
+    method public void setGroupingSize(int);
+    method public void setMathContext(java.math.MathContext);
+    method public void setMathContextICU(android.icu.math.MathContext);
+    method public void setMaximumSignificantDigits(int);
+    method public void setMinimumExponentDigits(byte);
+    method public void setMinimumGroupingDigits(int);
+    method public void setMinimumSignificantDigits(int);
+    method public void setMultiplier(int);
+    method public void setNegativePrefix(String);
+    method public void setNegativeSuffix(String);
+    method public void setPadCharacter(char);
+    method public void setPadPosition(int);
+    method public void setParseBigDecimal(boolean);
+    method public void setParseCaseSensitive(boolean);
+    method @Deprecated public void setParseMaxDigits(int);
+    method public void setParseNoExponent(boolean);
+    method public void setPositivePrefix(String);
+    method public void setPositiveSuffix(String);
+    method public void setRoundingIncrement(java.math.BigDecimal);
+    method public void setRoundingIncrement(android.icu.math.BigDecimal);
+    method public void setRoundingIncrement(double);
+    method public void setScientificNotation(boolean);
+    method public void setSecondaryGroupingSize(int);
+    method public void setSignAlwaysShown(boolean);
+    method public void setSignificantDigitsUsed(boolean);
+    method public String toLocalizedPattern();
+    method public String toPattern();
+    field public static final int PAD_AFTER_PREFIX = 1; // 0x1
+    field public static final int PAD_AFTER_SUFFIX = 3; // 0x3
+    field public static final int PAD_BEFORE_PREFIX = 0; // 0x0
+    field public static final int PAD_BEFORE_SUFFIX = 2; // 0x2
+  }
+
+  public class DecimalFormatSymbols implements java.lang.Cloneable java.io.Serializable {
+    ctor public DecimalFormatSymbols();
+    ctor public DecimalFormatSymbols(java.util.Locale);
+    ctor public DecimalFormatSymbols(android.icu.util.ULocale);
+    method public Object clone();
+    method public static android.icu.text.DecimalFormatSymbols forNumberingSystem(java.util.Locale, android.icu.text.NumberingSystem);
+    method public static android.icu.text.DecimalFormatSymbols forNumberingSystem(android.icu.util.ULocale, android.icu.text.NumberingSystem);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public android.icu.util.Currency getCurrency();
+    method public String getCurrencySymbol();
+    method public char getDecimalSeparator();
+    method public String getDecimalSeparatorString();
+    method public char getDigit();
+    method public String[] getDigitStrings();
+    method public char[] getDigits();
+    method public String getExponentMultiplicationSign();
+    method public String getExponentSeparator();
+    method public char getGroupingSeparator();
+    method public String getGroupingSeparatorString();
+    method public String getInfinity();
+    method public static android.icu.text.DecimalFormatSymbols getInstance();
+    method public static android.icu.text.DecimalFormatSymbols getInstance(java.util.Locale);
+    method public static android.icu.text.DecimalFormatSymbols getInstance(android.icu.util.ULocale);
+    method public String getInternationalCurrencySymbol();
+    method public java.util.Locale getLocale();
+    method public char getMinusSign();
+    method public String getMinusSignString();
+    method public char getMonetaryDecimalSeparator();
+    method public String getMonetaryDecimalSeparatorString();
+    method public char getMonetaryGroupingSeparator();
+    method public String getMonetaryGroupingSeparatorString();
+    method public String getNaN();
+    method public char getPadEscape();
+    method public String getPatternForCurrencySpacing(int, boolean);
+    method public char getPatternSeparator();
+    method public char getPerMill();
+    method public String getPerMillString();
+    method public char getPercent();
+    method public String getPercentString();
+    method public char getPlusSign();
+    method public String getPlusSignString();
+    method public char getSignificantDigit();
+    method public android.icu.util.ULocale getULocale();
+    method public char getZeroDigit();
+    method public void setCurrency(android.icu.util.Currency);
+    method public void setCurrencySymbol(String);
+    method public void setDecimalSeparator(char);
+    method public void setDecimalSeparatorString(String);
+    method public void setDigit(char);
+    method public void setDigitStrings(String[]);
+    method public void setExponentMultiplicationSign(String);
+    method public void setExponentSeparator(String);
+    method public void setGroupingSeparator(char);
+    method public void setGroupingSeparatorString(String);
+    method public void setInfinity(String);
+    method public void setInternationalCurrencySymbol(String);
+    method public void setMinusSign(char);
+    method public void setMinusSignString(String);
+    method public void setMonetaryDecimalSeparator(char);
+    method public void setMonetaryDecimalSeparatorString(String);
+    method public void setMonetaryGroupingSeparator(char);
+    method public void setMonetaryGroupingSeparatorString(String);
+    method public void setNaN(String);
+    method public void setPadEscape(char);
+    method public void setPatternForCurrencySpacing(int, boolean, String);
+    method public void setPatternSeparator(char);
+    method public void setPerMill(char);
+    method public void setPerMillString(String);
+    method public void setPercent(char);
+    method public void setPercentString(String);
+    method public void setPlusSign(char);
+    method public void setPlusSignString(String);
+    method public void setSignificantDigit(char);
+    method public void setZeroDigit(char);
+    field public static final int CURRENCY_SPC_CURRENCY_MATCH = 0; // 0x0
+    field public static final int CURRENCY_SPC_INSERT = 2; // 0x2
+    field public static final int CURRENCY_SPC_SURROUNDING_MATCH = 1; // 0x1
+  }
+
+  public enum DisplayContext {
+    method public android.icu.text.DisplayContext.Type type();
+    method public int value();
+    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE;
+    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE;
+    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_STANDALONE;
+    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_FOR_UI_LIST_OR_MENU;
+    enum_constant public static final android.icu.text.DisplayContext CAPITALIZATION_NONE;
+    enum_constant public static final android.icu.text.DisplayContext DIALECT_NAMES;
+    enum_constant public static final android.icu.text.DisplayContext LENGTH_FULL;
+    enum_constant public static final android.icu.text.DisplayContext LENGTH_SHORT;
+    enum_constant public static final android.icu.text.DisplayContext NO_SUBSTITUTE;
+    enum_constant public static final android.icu.text.DisplayContext STANDARD_NAMES;
+    enum_constant public static final android.icu.text.DisplayContext SUBSTITUTE;
+  }
+
+  public enum DisplayContext.Type {
+    enum_constant public static final android.icu.text.DisplayContext.Type CAPITALIZATION;
+    enum_constant public static final android.icu.text.DisplayContext.Type DIALECT_HANDLING;
+    enum_constant public static final android.icu.text.DisplayContext.Type DISPLAY_LENGTH;
+    enum_constant public static final android.icu.text.DisplayContext.Type SUBSTITUTE_HANDLING;
+  }
+
+  public final class Edits {
+    ctor public Edits();
+    method public void addReplace(int, int);
+    method public void addUnchanged(int);
+    method public android.icu.text.Edits.Iterator getCoarseChangesIterator();
+    method public android.icu.text.Edits.Iterator getCoarseIterator();
+    method public android.icu.text.Edits.Iterator getFineChangesIterator();
+    method public android.icu.text.Edits.Iterator getFineIterator();
+    method public boolean hasChanges();
+    method public int lengthDelta();
+    method public android.icu.text.Edits mergeAndAppend(android.icu.text.Edits, android.icu.text.Edits);
+    method public int numberOfChanges();
+    method public void reset();
+  }
+
+  public static final class Edits.Iterator {
+    method public int destinationIndex();
+    method public int destinationIndexFromSourceIndex(int);
+    method public boolean findDestinationIndex(int);
+    method public boolean findSourceIndex(int);
+    method public boolean hasChange();
+    method public int newLength();
+    method public boolean next();
+    method public int oldLength();
+    method public int replacementIndex();
+    method public int sourceIndex();
+    method public int sourceIndexFromDestinationIndex(int);
+  }
+
+  public interface FormattedValue extends java.lang.CharSequence {
+    method public <A extends java.lang.Appendable> A appendTo(A);
+    method public boolean nextPosition(android.icu.text.ConstrainedFieldPosition);
+    method public java.text.AttributedCharacterIterator toCharacterIterator();
+  }
+
+  public abstract class IDNA {
+    method public static android.icu.text.IDNA getUTS46Instance(int);
+    method public abstract StringBuilder labelToASCII(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
+    method public abstract StringBuilder labelToUnicode(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
+    method public abstract StringBuilder nameToASCII(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
+    method public abstract StringBuilder nameToUnicode(CharSequence, StringBuilder, android.icu.text.IDNA.Info);
+    field public static final int CHECK_BIDI = 4; // 0x4
+    field public static final int CHECK_CONTEXTJ = 8; // 0x8
+    field public static final int CHECK_CONTEXTO = 64; // 0x40
+    field public static final int DEFAULT = 0; // 0x0
+    field public static final int NONTRANSITIONAL_TO_ASCII = 16; // 0x10
+    field public static final int NONTRANSITIONAL_TO_UNICODE = 32; // 0x20
+    field public static final int USE_STD3_RULES = 2; // 0x2
+  }
+
+  public enum IDNA.Error {
+    enum_constant public static final android.icu.text.IDNA.Error BIDI;
+    enum_constant public static final android.icu.text.IDNA.Error CONTEXTJ;
+    enum_constant public static final android.icu.text.IDNA.Error CONTEXTO_DIGITS;
+    enum_constant public static final android.icu.text.IDNA.Error CONTEXTO_PUNCTUATION;
+    enum_constant public static final android.icu.text.IDNA.Error DISALLOWED;
+    enum_constant public static final android.icu.text.IDNA.Error DOMAIN_NAME_TOO_LONG;
+    enum_constant public static final android.icu.text.IDNA.Error EMPTY_LABEL;
+    enum_constant public static final android.icu.text.IDNA.Error HYPHEN_3_4;
+    enum_constant public static final android.icu.text.IDNA.Error INVALID_ACE_LABEL;
+    enum_constant public static final android.icu.text.IDNA.Error LABEL_HAS_DOT;
+    enum_constant public static final android.icu.text.IDNA.Error LABEL_TOO_LONG;
+    enum_constant public static final android.icu.text.IDNA.Error LEADING_COMBINING_MARK;
+    enum_constant public static final android.icu.text.IDNA.Error LEADING_HYPHEN;
+    enum_constant public static final android.icu.text.IDNA.Error PUNYCODE;
+    enum_constant public static final android.icu.text.IDNA.Error TRAILING_HYPHEN;
+  }
+
+  public static final class IDNA.Info {
+    ctor public IDNA.Info();
+    method public java.util.Set<android.icu.text.IDNA.Error> getErrors();
+    method public boolean hasErrors();
+    method public boolean isTransitionalDifferent();
+  }
+
+  public final class ListFormatter {
+    method public String format(java.lang.Object...);
+    method public String format(java.util.Collection<?>);
+    method public static android.icu.text.ListFormatter getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.ListFormatter getInstance(java.util.Locale);
+    method public static android.icu.text.ListFormatter getInstance();
+    method public String getPatternForNumItems(int);
+  }
+
+  public abstract class LocaleDisplayNames {
+    method public abstract android.icu.text.DisplayContext getContext(android.icu.text.DisplayContext.Type);
+    method public abstract android.icu.text.LocaleDisplayNames.DialectHandling getDialectHandling();
+    method public static android.icu.text.LocaleDisplayNames getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.LocaleDisplayNames getInstance(java.util.Locale);
+    method public static android.icu.text.LocaleDisplayNames getInstance(android.icu.util.ULocale, android.icu.text.LocaleDisplayNames.DialectHandling);
+    method public static android.icu.text.LocaleDisplayNames getInstance(android.icu.util.ULocale, android.icu.text.DisplayContext...);
+    method public static android.icu.text.LocaleDisplayNames getInstance(java.util.Locale, android.icu.text.DisplayContext...);
+    method public abstract android.icu.util.ULocale getLocale();
+    method public java.util.List<android.icu.text.LocaleDisplayNames.UiListItem> getUiList(java.util.Set<android.icu.util.ULocale>, boolean, java.util.Comparator<java.lang.Object>);
+    method public abstract java.util.List<android.icu.text.LocaleDisplayNames.UiListItem> getUiListCompareWholeItems(java.util.Set<android.icu.util.ULocale>, java.util.Comparator<android.icu.text.LocaleDisplayNames.UiListItem>);
+    method public abstract String keyDisplayName(String);
+    method public abstract String keyValueDisplayName(String, String);
+    method public abstract String languageDisplayName(String);
+    method public abstract String localeDisplayName(android.icu.util.ULocale);
+    method public abstract String localeDisplayName(java.util.Locale);
+    method public abstract String localeDisplayName(String);
+    method public abstract String regionDisplayName(String);
+    method public abstract String scriptDisplayName(String);
+    method public abstract String scriptDisplayName(int);
+    method public abstract String variantDisplayName(String);
+  }
+
+  public enum LocaleDisplayNames.DialectHandling {
+    enum_constant public static final android.icu.text.LocaleDisplayNames.DialectHandling DIALECT_NAMES;
+    enum_constant public static final android.icu.text.LocaleDisplayNames.DialectHandling STANDARD_NAMES;
+  }
+
+  public static class LocaleDisplayNames.UiListItem {
+    ctor public LocaleDisplayNames.UiListItem(android.icu.util.ULocale, android.icu.util.ULocale, String, String);
+    method public static java.util.Comparator<android.icu.text.LocaleDisplayNames.UiListItem> getComparator(java.util.Comparator<java.lang.Object>, boolean);
+    field public final android.icu.util.ULocale minimized;
+    field public final android.icu.util.ULocale modified;
+    field public final String nameInDisplayLocale;
+    field public final String nameInSelf;
+  }
+
+  public class MeasureFormat extends android.icu.text.UFormat {
+    method public final boolean equals(Object);
+    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public StringBuilder formatMeasurePerUnit(android.icu.util.Measure, android.icu.util.MeasureUnit, StringBuilder, java.text.FieldPosition);
+    method public final String formatMeasures(android.icu.util.Measure...);
+    method public StringBuilder formatMeasures(StringBuilder, java.text.FieldPosition, android.icu.util.Measure...);
+    method public static android.icu.text.MeasureFormat getCurrencyFormat(android.icu.util.ULocale);
+    method public static android.icu.text.MeasureFormat getCurrencyFormat(java.util.Locale);
+    method public static android.icu.text.MeasureFormat getCurrencyFormat();
+    method public static android.icu.text.MeasureFormat getInstance(android.icu.util.ULocale, android.icu.text.MeasureFormat.FormatWidth);
+    method public static android.icu.text.MeasureFormat getInstance(java.util.Locale, android.icu.text.MeasureFormat.FormatWidth);
+    method public static android.icu.text.MeasureFormat getInstance(android.icu.util.ULocale, android.icu.text.MeasureFormat.FormatWidth, android.icu.text.NumberFormat);
+    method public static android.icu.text.MeasureFormat getInstance(java.util.Locale, android.icu.text.MeasureFormat.FormatWidth, android.icu.text.NumberFormat);
+    method public final android.icu.util.ULocale getLocale();
+    method public android.icu.text.NumberFormat getNumberFormat();
+    method public String getUnitDisplayName(android.icu.util.MeasureUnit);
+    method public android.icu.text.MeasureFormat.FormatWidth getWidth();
+    method public final int hashCode();
+    method public android.icu.util.Measure parseObject(String, java.text.ParsePosition);
+  }
+
+  public enum MeasureFormat.FormatWidth {
+    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth NARROW;
+    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth NUMERIC;
+    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth SHORT;
+    enum_constant public static final android.icu.text.MeasureFormat.FormatWidth WIDE;
+  }
+
+  public class MessageFormat extends android.icu.text.UFormat {
+    ctor public MessageFormat(String);
+    ctor public MessageFormat(String, java.util.Locale);
+    ctor public MessageFormat(String, android.icu.util.ULocale);
+    method public void applyPattern(String);
+    method public void applyPattern(String, android.icu.text.MessagePattern.ApostropheMode);
+    method public static String autoQuoteApostrophe(String);
+    method public final StringBuffer format(Object[], StringBuffer, java.text.FieldPosition);
+    method public final StringBuffer format(java.util.Map<java.lang.String,java.lang.Object>, StringBuffer, java.text.FieldPosition);
+    method public static String format(String, java.lang.Object...);
+    method public static String format(String, java.util.Map<java.lang.String,java.lang.Object>);
+    method public final StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public android.icu.text.MessagePattern.ApostropheMode getApostropheMode();
+    method public java.util.Set<java.lang.String> getArgumentNames();
+    method public java.text.Format getFormatByArgumentName(String);
+    method public java.text.Format[] getFormats();
+    method public java.text.Format[] getFormatsByArgumentIndex();
+    method public java.util.Locale getLocale();
+    method public android.icu.util.ULocale getULocale();
+    method public Object[] parse(String, java.text.ParsePosition);
+    method public Object[] parse(String) throws java.text.ParseException;
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public java.util.Map<java.lang.String,java.lang.Object> parseToMap(String, java.text.ParsePosition);
+    method public java.util.Map<java.lang.String,java.lang.Object> parseToMap(String) throws java.text.ParseException;
+    method public void setFormat(int, java.text.Format);
+    method public void setFormatByArgumentIndex(int, java.text.Format);
+    method public void setFormatByArgumentName(String, java.text.Format);
+    method public void setFormats(java.text.Format[]);
+    method public void setFormatsByArgumentIndex(java.text.Format[]);
+    method public void setFormatsByArgumentName(java.util.Map<java.lang.String,java.text.Format>);
+    method public void setLocale(java.util.Locale);
+    method public void setLocale(android.icu.util.ULocale);
+    method public String toPattern();
+    method public boolean usesNamedArguments();
+  }
+
+  public static class MessageFormat.Field extends java.text.Format.Field {
+    ctor protected MessageFormat.Field(String);
+    field public static final android.icu.text.MessageFormat.Field ARGUMENT;
+  }
+
+  public final class MessagePattern implements java.lang.Cloneable android.icu.util.Freezable<android.icu.text.MessagePattern> {
+    ctor public MessagePattern();
+    ctor public MessagePattern(android.icu.text.MessagePattern.ApostropheMode);
+    ctor public MessagePattern(String);
+    method public String autoQuoteApostropheDeep();
+    method public void clear();
+    method public void clearPatternAndSetApostropheMode(android.icu.text.MessagePattern.ApostropheMode);
+    method public Object clone();
+    method public android.icu.text.MessagePattern cloneAsThawed();
+    method public int countParts();
+    method public android.icu.text.MessagePattern freeze();
+    method public android.icu.text.MessagePattern.ApostropheMode getApostropheMode();
+    method public int getLimitPartIndex(int);
+    method public double getNumericValue(android.icu.text.MessagePattern.Part);
+    method public android.icu.text.MessagePattern.Part getPart(int);
+    method public android.icu.text.MessagePattern.Part.Type getPartType(int);
+    method public int getPatternIndex(int);
+    method public String getPatternString();
+    method public double getPluralOffset(int);
+    method public String getSubstring(android.icu.text.MessagePattern.Part);
+    method public boolean hasNamedArguments();
+    method public boolean hasNumberedArguments();
+    method public boolean isFrozen();
+    method public android.icu.text.MessagePattern parse(String);
+    method public android.icu.text.MessagePattern parseChoiceStyle(String);
+    method public android.icu.text.MessagePattern parsePluralStyle(String);
+    method public android.icu.text.MessagePattern parseSelectStyle(String);
+    method public boolean partSubstringMatches(android.icu.text.MessagePattern.Part, String);
+    method public static int validateArgumentName(String);
+    field public static final int ARG_NAME_NOT_NUMBER = -1; // 0xffffffff
+    field public static final int ARG_NAME_NOT_VALID = -2; // 0xfffffffe
+    field public static final double NO_NUMERIC_VALUE = -1.23456789E8;
+  }
+
+  public enum MessagePattern.ApostropheMode {
+    enum_constant public static final android.icu.text.MessagePattern.ApostropheMode DOUBLE_OPTIONAL;
+    enum_constant public static final android.icu.text.MessagePattern.ApostropheMode DOUBLE_REQUIRED;
+  }
+
+  public enum MessagePattern.ArgType {
+    method public boolean hasPluralStyle();
+    enum_constant public static final android.icu.text.MessagePattern.ArgType CHOICE;
+    enum_constant public static final android.icu.text.MessagePattern.ArgType NONE;
+    enum_constant public static final android.icu.text.MessagePattern.ArgType PLURAL;
+    enum_constant public static final android.icu.text.MessagePattern.ArgType SELECT;
+    enum_constant public static final android.icu.text.MessagePattern.ArgType SELECTORDINAL;
+    enum_constant public static final android.icu.text.MessagePattern.ArgType SIMPLE;
+  }
+
+  public static final class MessagePattern.Part {
+    method public android.icu.text.MessagePattern.ArgType getArgType();
+    method public int getIndex();
+    method public int getLength();
+    method public int getLimit();
+    method public android.icu.text.MessagePattern.Part.Type getType();
+    method public int getValue();
+  }
+
+  public enum MessagePattern.Part.Type {
+    method public boolean hasNumericValue();
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_DOUBLE;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_INT;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_LIMIT;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_NAME;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_NUMBER;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_SELECTOR;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_START;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_STYLE;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type ARG_TYPE;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type INSERT_CHAR;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type MSG_LIMIT;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type MSG_START;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type REPLACE_NUMBER;
+    enum_constant public static final android.icu.text.MessagePattern.Part.Type SKIP_SYNTAX;
+  }
+
+  public final class Normalizer implements java.lang.Cloneable {
+    method @Deprecated public Object clone();
+    method public static int compare(char[], int, int, char[], int, int, int);
+    method public static int compare(String, String, int);
+    method public static int compare(char[], char[], int);
+    method public static int compare(int, int, int);
+    method public static int compare(int, String, int);
+    field public static final int COMPARE_CODE_POINT_ORDER = 32768; // 0x8000
+    field public static final int COMPARE_IGNORE_CASE = 65536; // 0x10000
+    field public static final int FOLD_CASE_DEFAULT = 0; // 0x0
+    field public static final int FOLD_CASE_EXCLUDE_SPECIAL_I = 1; // 0x1
+    field public static final int INPUT_IS_FCD = 131072; // 0x20000
+    field public static final android.icu.text.Normalizer.QuickCheckResult MAYBE;
+    field public static final android.icu.text.Normalizer.QuickCheckResult NO;
+    field public static final android.icu.text.Normalizer.QuickCheckResult YES;
+  }
+
+  public static final class Normalizer.QuickCheckResult {
+  }
+
+  public abstract class Normalizer2 {
+    method public abstract StringBuilder append(StringBuilder, CharSequence);
+    method public int composePair(int, int);
+    method public int getCombiningClass(int);
+    method public abstract String getDecomposition(int);
+    method @Deprecated public static android.icu.text.Normalizer2 getInstance(java.io.InputStream, String, android.icu.text.Normalizer2.Mode);
+    method public static android.icu.text.Normalizer2 getNFCInstance();
+    method public static android.icu.text.Normalizer2 getNFDInstance();
+    method public static android.icu.text.Normalizer2 getNFKCCasefoldInstance();
+    method public static android.icu.text.Normalizer2 getNFKCInstance();
+    method public static android.icu.text.Normalizer2 getNFKDInstance();
+    method public String getRawDecomposition(int);
+    method public abstract boolean hasBoundaryAfter(int);
+    method public abstract boolean hasBoundaryBefore(int);
+    method public abstract boolean isInert(int);
+    method public abstract boolean isNormalized(CharSequence);
+    method public String normalize(CharSequence);
+    method public abstract StringBuilder normalize(CharSequence, StringBuilder);
+    method public abstract Appendable normalize(CharSequence, Appendable);
+    method public abstract StringBuilder normalizeSecondAndAppend(StringBuilder, CharSequence);
+    method public abstract android.icu.text.Normalizer.QuickCheckResult quickCheck(CharSequence);
+    method public abstract int spanQuickCheckYes(CharSequence);
+  }
+
+  public enum Normalizer2.Mode {
+    enum_constant public static final android.icu.text.Normalizer2.Mode COMPOSE;
+    enum_constant public static final android.icu.text.Normalizer2.Mode COMPOSE_CONTIGUOUS;
+    enum_constant public static final android.icu.text.Normalizer2.Mode DECOMPOSE;
+    enum_constant public static final android.icu.text.Normalizer2.Mode FCD;
+  }
+
+  public abstract class NumberFormat extends android.icu.text.UFormat {
+    ctor public NumberFormat();
+    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public final String format(double);
+    method public final String format(long);
+    method public final String format(java.math.BigInteger);
+    method public final String format(java.math.BigDecimal);
+    method public final String format(android.icu.math.BigDecimal);
+    method public final String format(android.icu.util.CurrencyAmount);
+    method public abstract StringBuffer format(double, StringBuffer, java.text.FieldPosition);
+    method public abstract StringBuffer format(long, StringBuffer, java.text.FieldPosition);
+    method public abstract StringBuffer format(java.math.BigInteger, StringBuffer, java.text.FieldPosition);
+    method public abstract StringBuffer format(java.math.BigDecimal, StringBuffer, java.text.FieldPosition);
+    method public abstract StringBuffer format(android.icu.math.BigDecimal, StringBuffer, java.text.FieldPosition);
+    method public StringBuffer format(android.icu.util.CurrencyAmount, StringBuffer, java.text.FieldPosition);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public android.icu.text.DisplayContext getContext(android.icu.text.DisplayContext.Type);
+    method public android.icu.util.Currency getCurrency();
+    method public static final android.icu.text.NumberFormat getCurrencyInstance();
+    method public static android.icu.text.NumberFormat getCurrencyInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getCurrencyInstance(android.icu.util.ULocale);
+    method public static final android.icu.text.NumberFormat getInstance();
+    method public static android.icu.text.NumberFormat getInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getInstance(android.icu.util.ULocale);
+    method public static final android.icu.text.NumberFormat getInstance(int);
+    method public static android.icu.text.NumberFormat getInstance(java.util.Locale, int);
+    method public static android.icu.text.NumberFormat getInstance(android.icu.util.ULocale, int);
+    method public static final android.icu.text.NumberFormat getIntegerInstance();
+    method public static android.icu.text.NumberFormat getIntegerInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getIntegerInstance(android.icu.util.ULocale);
+    method public int getMaximumFractionDigits();
+    method public int getMaximumIntegerDigits();
+    method public int getMinimumFractionDigits();
+    method public int getMinimumIntegerDigits();
+    method public static final android.icu.text.NumberFormat getNumberInstance();
+    method public static android.icu.text.NumberFormat getNumberInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getNumberInstance(android.icu.util.ULocale);
+    method protected static String getPattern(android.icu.util.ULocale, int);
+    method public static final android.icu.text.NumberFormat getPercentInstance();
+    method public static android.icu.text.NumberFormat getPercentInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getPercentInstance(android.icu.util.ULocale);
+    method public int getRoundingMode();
+    method public static final android.icu.text.NumberFormat getScientificInstance();
+    method public static android.icu.text.NumberFormat getScientificInstance(java.util.Locale);
+    method public static android.icu.text.NumberFormat getScientificInstance(android.icu.util.ULocale);
+    method public boolean isGroupingUsed();
+    method public boolean isParseIntegerOnly();
+    method public boolean isParseStrict();
+    method public abstract Number parse(String, java.text.ParsePosition);
+    method public Number parse(String) throws java.text.ParseException;
+    method public android.icu.util.CurrencyAmount parseCurrency(CharSequence, java.text.ParsePosition);
+    method public final Object parseObject(String, java.text.ParsePosition);
+    method public void setContext(android.icu.text.DisplayContext);
+    method public void setCurrency(android.icu.util.Currency);
+    method public void setGroupingUsed(boolean);
+    method public void setMaximumFractionDigits(int);
+    method public void setMaximumIntegerDigits(int);
+    method public void setMinimumFractionDigits(int);
+    method public void setMinimumIntegerDigits(int);
+    method public void setParseIntegerOnly(boolean);
+    method public void setParseStrict(boolean);
+    method public void setRoundingMode(int);
+    field public static final int ACCOUNTINGCURRENCYSTYLE = 7; // 0x7
+    field public static final int CASHCURRENCYSTYLE = 8; // 0x8
+    field public static final int CURRENCYSTYLE = 1; // 0x1
+    field public static final int FRACTION_FIELD = 1; // 0x1
+    field public static final int INTEGERSTYLE = 4; // 0x4
+    field public static final int INTEGER_FIELD = 0; // 0x0
+    field public static final int ISOCURRENCYSTYLE = 5; // 0x5
+    field public static final int NUMBERSTYLE = 0; // 0x0
+    field public static final int PERCENTSTYLE = 2; // 0x2
+    field public static final int PLURALCURRENCYSTYLE = 6; // 0x6
+    field public static final int SCIENTIFICSTYLE = 3; // 0x3
+    field public static final int STANDARDCURRENCYSTYLE = 9; // 0x9
+  }
+
+  public static class NumberFormat.Field extends java.text.Format.Field {
+    ctor protected NumberFormat.Field(String);
+    field public static final android.icu.text.NumberFormat.Field COMPACT;
+    field public static final android.icu.text.NumberFormat.Field CURRENCY;
+    field public static final android.icu.text.NumberFormat.Field DECIMAL_SEPARATOR;
+    field public static final android.icu.text.NumberFormat.Field EXPONENT;
+    field public static final android.icu.text.NumberFormat.Field EXPONENT_SIGN;
+    field public static final android.icu.text.NumberFormat.Field EXPONENT_SYMBOL;
+    field public static final android.icu.text.NumberFormat.Field FRACTION;
+    field public static final android.icu.text.NumberFormat.Field GROUPING_SEPARATOR;
+    field public static final android.icu.text.NumberFormat.Field INTEGER;
+    field public static final android.icu.text.NumberFormat.Field MEASURE_UNIT;
+    field public static final android.icu.text.NumberFormat.Field PERCENT;
+    field public static final android.icu.text.NumberFormat.Field PERMILLE;
+    field public static final android.icu.text.NumberFormat.Field SIGN;
+  }
+
+  public class NumberingSystem {
+    ctor public NumberingSystem();
+    method public static String[] getAvailableNames();
+    method public String getDescription();
+    method public static android.icu.text.NumberingSystem getInstance(int, boolean, String);
+    method public static android.icu.text.NumberingSystem getInstance(java.util.Locale);
+    method public static android.icu.text.NumberingSystem getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.NumberingSystem getInstance();
+    method public static android.icu.text.NumberingSystem getInstanceByName(String);
+    method public String getName();
+    method public int getRadix();
+    method public boolean isAlgorithmic();
+    method public static boolean isValidDigitString(String);
+    field public static final android.icu.text.NumberingSystem LATIN;
+  }
+
+  public class PluralFormat extends android.icu.text.UFormat {
+    ctor public PluralFormat();
+    ctor public PluralFormat(android.icu.util.ULocale);
+    ctor public PluralFormat(java.util.Locale);
+    ctor public PluralFormat(android.icu.text.PluralRules);
+    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules);
+    ctor public PluralFormat(java.util.Locale, android.icu.text.PluralRules);
+    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules.PluralType);
+    ctor public PluralFormat(java.util.Locale, android.icu.text.PluralRules.PluralType);
+    ctor public PluralFormat(String);
+    ctor public PluralFormat(android.icu.util.ULocale, String);
+    ctor public PluralFormat(android.icu.text.PluralRules, String);
+    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules, String);
+    ctor public PluralFormat(android.icu.util.ULocale, android.icu.text.PluralRules.PluralType, String);
+    method public void applyPattern(String);
+    method public boolean equals(android.icu.text.PluralFormat);
+    method public final String format(double);
+    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public Number parse(String, java.text.ParsePosition);
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public void setNumberFormat(android.icu.text.NumberFormat);
+    method public String toPattern();
+  }
+
+  public class PluralRules implements java.io.Serializable {
+    method public static android.icu.text.PluralRules createRules(String);
+    method public boolean equals(android.icu.text.PluralRules);
+    method public static android.icu.text.PluralRules forLocale(android.icu.util.ULocale);
+    method public static android.icu.text.PluralRules forLocale(java.util.Locale);
+    method public static android.icu.text.PluralRules forLocale(android.icu.util.ULocale, android.icu.text.PluralRules.PluralType);
+    method public static android.icu.text.PluralRules forLocale(java.util.Locale, android.icu.text.PluralRules.PluralType);
+    method public java.util.Collection<java.lang.Double> getAllKeywordValues(String);
+    method public java.util.Set<java.lang.String> getKeywords();
+    method public java.util.Collection<java.lang.Double> getSamples(String);
+    method public double getUniqueKeywordValue(String);
+    method public static android.icu.text.PluralRules parseDescription(String) throws java.text.ParseException;
+    method public String select(double);
+    method public String select(android.icu.number.FormattedNumber);
+    field public static final android.icu.text.PluralRules DEFAULT;
+    field public static final String KEYWORD_FEW = "few";
+    field public static final String KEYWORD_MANY = "many";
+    field public static final String KEYWORD_ONE = "one";
+    field public static final String KEYWORD_OTHER = "other";
+    field public static final String KEYWORD_TWO = "two";
+    field public static final String KEYWORD_ZERO = "zero";
+    field public static final double NO_UNIQUE_VALUE = -0.00123456777;
+  }
+
+  public enum PluralRules.PluralType {
+    enum_constant public static final android.icu.text.PluralRules.PluralType CARDINAL;
+    enum_constant public static final android.icu.text.PluralRules.PluralType ORDINAL;
+  }
+
+  public final class RelativeDateTimeFormatter {
+    method public String combineDateAndTime(String, String);
+    method public String format(double, android.icu.text.RelativeDateTimeFormatter.Direction, android.icu.text.RelativeDateTimeFormatter.RelativeUnit);
+    method public String format(android.icu.text.RelativeDateTimeFormatter.Direction, android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit);
+    method public String format(double, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit);
+    method public String formatNumeric(double, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit);
+    method public android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime formatNumericToValue(double, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit);
+    method public android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime formatToValue(double, android.icu.text.RelativeDateTimeFormatter.Direction, android.icu.text.RelativeDateTimeFormatter.RelativeUnit);
+    method public android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime formatToValue(android.icu.text.RelativeDateTimeFormatter.Direction, android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit);
+    method public android.icu.text.RelativeDateTimeFormatter.FormattedRelativeDateTime formatToValue(double, android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit);
+    method public android.icu.text.DisplayContext getCapitalizationContext();
+    method public android.icu.text.RelativeDateTimeFormatter.Style getFormatStyle();
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance();
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance(java.util.Locale);
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance(android.icu.util.ULocale, android.icu.text.NumberFormat);
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance(android.icu.util.ULocale, android.icu.text.NumberFormat, android.icu.text.RelativeDateTimeFormatter.Style, android.icu.text.DisplayContext);
+    method public static android.icu.text.RelativeDateTimeFormatter getInstance(java.util.Locale, android.icu.text.NumberFormat);
+    method public android.icu.text.NumberFormat getNumberFormat();
+  }
+
+  public enum RelativeDateTimeFormatter.AbsoluteUnit {
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit DAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit FRIDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit HOUR;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit MINUTE;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit MONDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit MONTH;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit NOW;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit QUARTER;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit SATURDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit SUNDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit THURSDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit TUESDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit WEDNESDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit WEEK;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.AbsoluteUnit YEAR;
+  }
+
+  public enum RelativeDateTimeFormatter.Direction {
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction LAST;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction LAST_2;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction NEXT;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction NEXT_2;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction PLAIN;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Direction THIS;
+  }
+
+  public static class RelativeDateTimeFormatter.FormattedRelativeDateTime implements android.icu.text.FormattedValue {
+    method public <A extends java.lang.Appendable> A appendTo(A);
+    method public char charAt(int);
+    method public int length();
+    method public boolean nextPosition(android.icu.text.ConstrainedFieldPosition);
+    method public CharSequence subSequence(int, int);
+    method public java.text.AttributedCharacterIterator toCharacterIterator();
+  }
+
+  public enum RelativeDateTimeFormatter.RelativeDateTimeUnit {
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit DAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit FRIDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit HOUR;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit MINUTE;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit MONDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit MONTH;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit QUARTER;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit SATURDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit SECOND;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit SUNDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit THURSDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit TUESDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit WEDNESDAY;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit WEEK;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeDateTimeUnit YEAR;
+  }
+
+  public enum RelativeDateTimeFormatter.RelativeUnit {
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit DAYS;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit HOURS;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit MINUTES;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit MONTHS;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit SECONDS;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit WEEKS;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.RelativeUnit YEARS;
+  }
+
+  public enum RelativeDateTimeFormatter.Style {
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Style LONG;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Style NARROW;
+    enum_constant public static final android.icu.text.RelativeDateTimeFormatter.Style SHORT;
+  }
+
+  public interface Replaceable {
+    method public int char32At(int);
+    method public char charAt(int);
+    method public void copy(int, int, int);
+    method public void getChars(int, int, char[], int);
+    method public boolean hasMetaData();
+    method public int length();
+    method public void replace(int, int, String);
+    method public void replace(int, int, char[], int, int);
+  }
+
+  public final class RuleBasedCollator extends android.icu.text.Collator {
+    ctor public RuleBasedCollator(String) throws java.lang.Exception;
+    method public android.icu.text.RuleBasedCollator cloneAsThawed();
+    method public int compare(String, String);
+    method public android.icu.text.CollationElementIterator getCollationElementIterator(String);
+    method public android.icu.text.CollationElementIterator getCollationElementIterator(java.text.CharacterIterator);
+    method public android.icu.text.CollationElementIterator getCollationElementIterator(android.icu.text.UCharacterIterator);
+    method public android.icu.text.CollationKey getCollationKey(String);
+    method public void getContractionsAndExpansions(android.icu.text.UnicodeSet, android.icu.text.UnicodeSet, boolean) throws java.lang.Exception;
+    method public boolean getNumericCollation();
+    method public String getRules();
+    method public String getRules(boolean);
+    method public android.icu.util.VersionInfo getUCAVersion();
+    method public int getVariableTop();
+    method public android.icu.util.VersionInfo getVersion();
+    method public boolean isAlternateHandlingShifted();
+    method public boolean isCaseLevel();
+    method public boolean isFrenchCollation();
+    method public boolean isLowerCaseFirst();
+    method public boolean isUpperCaseFirst();
+    method public void setAlternateHandlingDefault();
+    method public void setAlternateHandlingShifted(boolean);
+    method public void setCaseFirstDefault();
+    method public void setCaseLevel(boolean);
+    method public void setCaseLevelDefault();
+    method public void setDecompositionDefault();
+    method public void setFrenchCollation(boolean);
+    method public void setFrenchCollationDefault();
+    method public void setLowerCaseFirst(boolean);
+    method public android.icu.text.RuleBasedCollator setMaxVariable(int);
+    method public void setNumericCollation(boolean);
+    method public void setNumericCollationDefault();
+    method public void setStrengthDefault();
+    method public void setUpperCaseFirst(boolean);
+  }
+
+  public final class ScientificNumberFormatter {
+    method public String format(Object);
+    method public static android.icu.text.ScientificNumberFormatter getMarkupInstance(android.icu.util.ULocale, String, String);
+    method public static android.icu.text.ScientificNumberFormatter getMarkupInstance(android.icu.text.DecimalFormat, String, String);
+    method public static android.icu.text.ScientificNumberFormatter getSuperscriptInstance(android.icu.util.ULocale);
+    method public static android.icu.text.ScientificNumberFormatter getSuperscriptInstance(android.icu.text.DecimalFormat);
+  }
+
+  public abstract class SearchIterator {
+    ctor protected SearchIterator(java.text.CharacterIterator, android.icu.text.BreakIterator);
+    method public final int first();
+    method public final int following(int);
+    method public android.icu.text.BreakIterator getBreakIterator();
+    method public android.icu.text.SearchIterator.ElementComparisonType getElementComparisonType();
+    method public abstract int getIndex();
+    method public int getMatchLength();
+    method public int getMatchStart();
+    method public String getMatchedText();
+    method public java.text.CharacterIterator getTarget();
+    method protected abstract int handleNext(int);
+    method protected abstract int handlePrevious(int);
+    method public boolean isOverlapping();
+    method public final int last();
+    method public int next();
+    method public final int preceding(int);
+    method public int previous();
+    method public void reset();
+    method public void setBreakIterator(android.icu.text.BreakIterator);
+    method public void setElementComparisonType(android.icu.text.SearchIterator.ElementComparisonType);
+    method public void setIndex(int);
+    method protected void setMatchLength(int);
+    method public void setOverlapping(boolean);
+    method public void setTarget(java.text.CharacterIterator);
+    field public static final int DONE = -1; // 0xffffffff
+    field protected android.icu.text.BreakIterator breakIterator;
+    field protected int matchLength;
+    field protected java.text.CharacterIterator targetText;
+  }
+
+  public enum SearchIterator.ElementComparisonType {
+    enum_constant public static final android.icu.text.SearchIterator.ElementComparisonType ANY_BASE_WEIGHT_IS_WILDCARD;
+    enum_constant public static final android.icu.text.SearchIterator.ElementComparisonType PATTERN_BASE_WEIGHT_IS_WILDCARD;
+    enum_constant public static final android.icu.text.SearchIterator.ElementComparisonType STANDARD_ELEMENT_COMPARISON;
+  }
+
+  public class SelectFormat extends java.text.Format {
+    ctor public SelectFormat(String);
+    method public void applyPattern(String);
+    method public final String format(String);
+    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public String toPattern();
+  }
+
+  public class SimpleDateFormat extends android.icu.text.DateFormat {
+    ctor public SimpleDateFormat();
+    ctor public SimpleDateFormat(String);
+    ctor public SimpleDateFormat(String, java.util.Locale);
+    ctor public SimpleDateFormat(String, android.icu.util.ULocale);
+    ctor public SimpleDateFormat(String, String, android.icu.util.ULocale);
+    ctor public SimpleDateFormat(String, android.icu.text.DateFormatSymbols);
+    method public void applyLocalizedPattern(String);
+    method public void applyPattern(String);
+    method public StringBuffer format(android.icu.util.Calendar, StringBuffer, java.text.FieldPosition);
+    method public java.util.Date get2DigitYearStart();
+    method public android.icu.text.DateFormatSymbols getDateFormatSymbols();
+    method public android.icu.text.NumberFormat getNumberFormat(char);
+    method protected android.icu.text.DateFormatSymbols getSymbols();
+    method public android.icu.text.TimeZoneFormat getTimeZoneFormat();
+    method protected int matchQuarterString(String, int, int, String[], android.icu.util.Calendar);
+    method protected int matchString(String, int, int, String[], android.icu.util.Calendar);
+    method public void parse(String, android.icu.util.Calendar, java.text.ParsePosition);
+    method protected android.icu.text.DateFormat.Field patternCharToDateFormatField(char);
+    method public void set2DigitYearStart(java.util.Date);
+    method public void setDateFormatSymbols(android.icu.text.DateFormatSymbols);
+    method public void setNumberFormat(String, android.icu.text.NumberFormat);
+    method public void setTimeZoneFormat(android.icu.text.TimeZoneFormat);
+    method protected String subFormat(char, int, int, java.text.FieldPosition, android.icu.text.DateFormatSymbols, android.icu.util.Calendar) throws java.lang.IllegalArgumentException;
+    method protected int subParse(String, int, char, int, boolean, boolean, boolean[], android.icu.util.Calendar);
+    method public String toLocalizedPattern();
+    method public String toPattern();
+    method protected String zeroPaddingNumber(long, int, int);
+  }
+
+  public class StringPrepParseException extends java.text.ParseException {
+    ctor public StringPrepParseException(String, int);
+    ctor public StringPrepParseException(String, int, String, int);
+    ctor public StringPrepParseException(String, int, String, int, int);
+    method public int getError();
+    field public static final int ACE_PREFIX_ERROR = 6; // 0x6
+    field public static final int BUFFER_OVERFLOW_ERROR = 9; // 0x9
+    field public static final int CHECK_BIDI_ERROR = 4; // 0x4
+    field public static final int DOMAIN_NAME_TOO_LONG_ERROR = 11; // 0xb
+    field public static final int ILLEGAL_CHAR_FOUND = 1; // 0x1
+    field public static final int INVALID_CHAR_FOUND = 0; // 0x0
+    field public static final int LABEL_TOO_LONG_ERROR = 8; // 0x8
+    field public static final int PROHIBITED_ERROR = 2; // 0x2
+    field public static final int STD3_ASCII_RULES_ERROR = 5; // 0x5
+    field public static final int UNASSIGNED_ERROR = 3; // 0x3
+    field public static final int VERIFICATION_ERROR = 7; // 0x7
+    field public static final int ZERO_LENGTH_LABEL = 10; // 0xa
+  }
+
+  public final class StringSearch extends android.icu.text.SearchIterator {
+    ctor public StringSearch(String, java.text.CharacterIterator, android.icu.text.RuleBasedCollator, android.icu.text.BreakIterator);
+    ctor public StringSearch(String, java.text.CharacterIterator, android.icu.text.RuleBasedCollator);
+    ctor public StringSearch(String, java.text.CharacterIterator, java.util.Locale);
+    ctor public StringSearch(String, java.text.CharacterIterator, android.icu.util.ULocale);
+    ctor public StringSearch(String, String);
+    method public android.icu.text.RuleBasedCollator getCollator();
+    method public int getIndex();
+    method public String getPattern();
+    method protected int handleNext(int);
+    method protected int handlePrevious(int);
+    method public boolean isCanonical();
+    method public void setCanonical(boolean);
+    method public void setCollator(android.icu.text.RuleBasedCollator);
+    method public void setPattern(String);
+  }
+
+  public interface SymbolTable {
+    method public char[] lookup(String);
+    method public android.icu.text.UnicodeMatcher lookupMatcher(int);
+    method public String parseReference(String, java.text.ParsePosition, int);
+    field public static final char SYMBOL_REF = 36; // 0x0024 '$'
+  }
+
+  public class TimeZoneFormat extends android.icu.text.UFormat implements android.icu.util.Freezable<android.icu.text.TimeZoneFormat> java.io.Serializable {
+    ctor protected TimeZoneFormat(android.icu.util.ULocale);
+    method public android.icu.text.TimeZoneFormat cloneAsThawed();
+    method public final String format(android.icu.text.TimeZoneFormat.Style, android.icu.util.TimeZone, long);
+    method public String format(android.icu.text.TimeZoneFormat.Style, android.icu.util.TimeZone, long, android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>);
+    method public StringBuffer format(Object, StringBuffer, java.text.FieldPosition);
+    method public final String formatOffsetISO8601Basic(int, boolean, boolean, boolean);
+    method public final String formatOffsetISO8601Extended(int, boolean, boolean, boolean);
+    method public String formatOffsetLocalizedGMT(int);
+    method public String formatOffsetShortLocalizedGMT(int);
+    method public android.icu.text.TimeZoneFormat freeze();
+    method public java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption> getDefaultParseOptions();
+    method public String getGMTOffsetDigits();
+    method public String getGMTOffsetPattern(android.icu.text.TimeZoneFormat.GMTOffsetPatternType);
+    method public String getGMTPattern();
+    method public String getGMTZeroFormat();
+    method public static android.icu.text.TimeZoneFormat getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.TimeZoneFormat getInstance(java.util.Locale);
+    method public android.icu.text.TimeZoneNames getTimeZoneNames();
+    method public boolean isFrozen();
+    method public android.icu.util.TimeZone parse(android.icu.text.TimeZoneFormat.Style, String, java.text.ParsePosition, java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>, android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>);
+    method public android.icu.util.TimeZone parse(android.icu.text.TimeZoneFormat.Style, String, java.text.ParsePosition, android.icu.util.Output<android.icu.text.TimeZoneFormat.TimeType>);
+    method public final android.icu.util.TimeZone parse(String, java.text.ParsePosition);
+    method public final android.icu.util.TimeZone parse(String) throws java.text.ParseException;
+    method public Object parseObject(String, java.text.ParsePosition);
+    method public final int parseOffsetISO8601(String, java.text.ParsePosition);
+    method public int parseOffsetLocalizedGMT(String, java.text.ParsePosition);
+    method public int parseOffsetShortLocalizedGMT(String, java.text.ParsePosition);
+    method public android.icu.text.TimeZoneFormat setDefaultParseOptions(java.util.EnumSet<android.icu.text.TimeZoneFormat.ParseOption>);
+    method public android.icu.text.TimeZoneFormat setGMTOffsetDigits(String);
+    method public android.icu.text.TimeZoneFormat setGMTOffsetPattern(android.icu.text.TimeZoneFormat.GMTOffsetPatternType, String);
+    method public android.icu.text.TimeZoneFormat setGMTPattern(String);
+    method public android.icu.text.TimeZoneFormat setGMTZeroFormat(String);
+    method public android.icu.text.TimeZoneFormat setTimeZoneNames(android.icu.text.TimeZoneNames);
+  }
+
+  public enum TimeZoneFormat.GMTOffsetPatternType {
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType NEGATIVE_H;
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType NEGATIVE_HM;
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType NEGATIVE_HMS;
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType POSITIVE_H;
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType POSITIVE_HM;
+    enum_constant public static final android.icu.text.TimeZoneFormat.GMTOffsetPatternType POSITIVE_HMS;
+  }
+
+  public enum TimeZoneFormat.ParseOption {
+    enum_constant public static final android.icu.text.TimeZoneFormat.ParseOption ALL_STYLES;
+    enum_constant public static final android.icu.text.TimeZoneFormat.ParseOption TZ_DATABASE_ABBREVIATIONS;
+  }
+
+  public enum TimeZoneFormat.Style {
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style EXEMPLAR_LOCATION;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style GENERIC_LOCATION;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style GENERIC_LONG;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style GENERIC_SHORT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_FIXED;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_FULL;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_LOCAL_FIXED;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_LOCAL_FULL;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_LOCAL_SHORT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_BASIC_SHORT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_FIXED;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_FULL;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_LOCAL_FIXED;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ISO_EXTENDED_LOCAL_FULL;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style LOCALIZED_GMT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style LOCALIZED_GMT_SHORT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style SPECIFIC_LONG;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style SPECIFIC_SHORT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ZONE_ID;
+    enum_constant public static final android.icu.text.TimeZoneFormat.Style ZONE_ID_SHORT;
+  }
+
+  public enum TimeZoneFormat.TimeType {
+    enum_constant public static final android.icu.text.TimeZoneFormat.TimeType DAYLIGHT;
+    enum_constant public static final android.icu.text.TimeZoneFormat.TimeType STANDARD;
+    enum_constant public static final android.icu.text.TimeZoneFormat.TimeType UNKNOWN;
+  }
+
+  public abstract class TimeZoneNames implements java.io.Serializable {
+    method public abstract java.util.Set<java.lang.String> getAvailableMetaZoneIDs();
+    method public abstract java.util.Set<java.lang.String> getAvailableMetaZoneIDs(String);
+    method public final String getDisplayName(String, android.icu.text.TimeZoneNames.NameType, long);
+    method public String getExemplarLocationName(String);
+    method public static android.icu.text.TimeZoneNames getInstance(android.icu.util.ULocale);
+    method public static android.icu.text.TimeZoneNames getInstance(java.util.Locale);
+    method public abstract String getMetaZoneDisplayName(String, android.icu.text.TimeZoneNames.NameType);
+    method public abstract String getMetaZoneID(String, long);
+    method public abstract String getReferenceZoneID(String, String);
+    method public static android.icu.text.TimeZoneNames getTZDBInstance(android.icu.util.ULocale);
+    method public abstract String getTimeZoneDisplayName(String, android.icu.text.TimeZoneNames.NameType);
+  }
+
+  public enum TimeZoneNames.NameType {
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType EXEMPLAR_LOCATION;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType LONG_DAYLIGHT;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType LONG_GENERIC;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType LONG_STANDARD;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType SHORT_DAYLIGHT;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType SHORT_GENERIC;
+    enum_constant public static final android.icu.text.TimeZoneNames.NameType SHORT_STANDARD;
+  }
+
+  public abstract class Transliterator {
+    method public static final android.icu.text.Transliterator createFromRules(String, String, int);
+    method public void filteredTransliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position, boolean);
+    method public final void finishTransliteration(android.icu.text.Replaceable, android.icu.text.Transliterator.Position);
+    method public static final java.util.Enumeration<java.lang.String> getAvailableIDs();
+    method public static final java.util.Enumeration<java.lang.String> getAvailableSources();
+    method public static final java.util.Enumeration<java.lang.String> getAvailableTargets(String);
+    method public static final java.util.Enumeration<java.lang.String> getAvailableVariants(String, String);
+    method public static final String getDisplayName(String);
+    method public static String getDisplayName(String, java.util.Locale);
+    method public static String getDisplayName(String, android.icu.util.ULocale);
+    method public android.icu.text.Transliterator[] getElements();
+    method public final android.icu.text.UnicodeFilter getFilter();
+    method public final String getID();
+    method public static final android.icu.text.Transliterator getInstance(String);
+    method public static android.icu.text.Transliterator getInstance(String, int);
+    method public final android.icu.text.Transliterator getInverse();
+    method public final int getMaximumContextLength();
+    method public final android.icu.text.UnicodeSet getSourceSet();
+    method public android.icu.text.UnicodeSet getTargetSet();
+    method public void setFilter(android.icu.text.UnicodeFilter);
+    method public String toRules(boolean);
+    method public final int transliterate(android.icu.text.Replaceable, int, int);
+    method public final void transliterate(android.icu.text.Replaceable);
+    method public final String transliterate(String);
+    method public final void transliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position, String);
+    method public final void transliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position, int);
+    method public final void transliterate(android.icu.text.Replaceable, android.icu.text.Transliterator.Position);
+    field public static final int FORWARD = 0; // 0x0
+    field public static final int REVERSE = 1; // 0x1
+  }
+
+  public static class Transliterator.Position {
+    ctor public Transliterator.Position();
+    ctor public Transliterator.Position(int, int, int);
+    ctor public Transliterator.Position(int, int, int, int);
+    ctor public Transliterator.Position(android.icu.text.Transliterator.Position);
+    method public void set(android.icu.text.Transliterator.Position);
+    method public final void validate(int);
+    field public int contextLimit;
+    field public int contextStart;
+    field public int limit;
+    field public int start;
+  }
+
+  public abstract class UCharacterIterator implements java.lang.Cloneable {
+    ctor protected UCharacterIterator();
+    method public Object clone() throws java.lang.CloneNotSupportedException;
+    method public abstract int current();
+    method public int currentCodePoint();
+    method public java.text.CharacterIterator getCharacterIterator();
+    method public abstract int getIndex();
+    method public static final android.icu.text.UCharacterIterator getInstance(android.icu.text.Replaceable);
+    method public static final android.icu.text.UCharacterIterator getInstance(String);
+    method public static final android.icu.text.UCharacterIterator getInstance(char[]);
+    method public static final android.icu.text.UCharacterIterator getInstance(char[], int, int);
+    method public static final android.icu.text.UCharacterIterator getInstance(StringBuffer);
+    method public static final android.icu.text.UCharacterIterator getInstance(java.text.CharacterIterator);
+    method public abstract int getLength();
+    method public abstract int getText(char[], int);
+    method public final int getText(char[]);
+    method public String getText();
+    method public int moveCodePointIndex(int);
+    method public int moveIndex(int);
+    method public abstract int next();
+    method public int nextCodePoint();
+    method public abstract int previous();
+    method public int previousCodePoint();
+    method public abstract void setIndex(int);
+    method public void setToLimit();
+    method public void setToStart();
+    field public static final int DONE = -1; // 0xffffffff
+  }
+
+  public abstract class UFormat extends java.text.Format {
+    ctor public UFormat();
+  }
+
+  public abstract class UnicodeFilter implements android.icu.text.UnicodeMatcher {
+    method public abstract boolean contains(int);
+    method public int matches(android.icu.text.Replaceable, int[], int, boolean);
+  }
+
+  public interface UnicodeMatcher {
+    method public void addMatchSetTo(android.icu.text.UnicodeSet);
+    method public int matches(android.icu.text.Replaceable, int[], int, boolean);
+    method public boolean matchesIndexValue(int);
+    method public String toPattern(boolean);
+    field public static final char ETHER = 65535; // 0xffff '\uffff'
+    field public static final int U_MATCH = 2; // 0x2
+    field public static final int U_MISMATCH = 0; // 0x0
+    field public static final int U_PARTIAL_MATCH = 1; // 0x1
+  }
+
+  public class UnicodeSet extends android.icu.text.UnicodeFilter implements java.lang.Comparable<android.icu.text.UnicodeSet> android.icu.util.Freezable<android.icu.text.UnicodeSet> java.lang.Iterable<java.lang.String> {
+    ctor public UnicodeSet();
+    ctor public UnicodeSet(android.icu.text.UnicodeSet);
+    ctor public UnicodeSet(int, int);
+    ctor public UnicodeSet(int...);
+    ctor public UnicodeSet(String);
+    ctor public UnicodeSet(String, boolean);
+    ctor public UnicodeSet(String, int);
+    ctor public UnicodeSet(String, java.text.ParsePosition, android.icu.text.SymbolTable);
+    ctor public UnicodeSet(String, java.text.ParsePosition, android.icu.text.SymbolTable, int);
+    method public StringBuffer _generatePattern(StringBuffer, boolean);
+    method public StringBuffer _generatePattern(StringBuffer, boolean, boolean);
+    method public android.icu.text.UnicodeSet add(int, int);
+    method public final android.icu.text.UnicodeSet add(int);
+    method public final android.icu.text.UnicodeSet add(CharSequence);
+    method public android.icu.text.UnicodeSet add(Iterable<?>);
+    method public android.icu.text.UnicodeSet addAll(int, int);
+    method public final android.icu.text.UnicodeSet addAll(CharSequence);
+    method public android.icu.text.UnicodeSet addAll(android.icu.text.UnicodeSet);
+    method public android.icu.text.UnicodeSet addAll(Iterable<?>);
+    method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet addAll(T...);
+    method public <T extends java.util.Collection<java.lang.String>> T addAllTo(T);
+    method public void addMatchSetTo(android.icu.text.UnicodeSet);
+    method public android.icu.text.UnicodeSet applyIntPropertyValue(int, int);
+    method public final android.icu.text.UnicodeSet applyPattern(String);
+    method public android.icu.text.UnicodeSet applyPattern(String, boolean);
+    method public android.icu.text.UnicodeSet applyPattern(String, int);
+    method public android.icu.text.UnicodeSet applyPropertyAlias(String, String);
+    method public android.icu.text.UnicodeSet applyPropertyAlias(String, String, android.icu.text.SymbolTable);
+    method public int charAt(int);
+    method public android.icu.text.UnicodeSet clear();
+    method public Object clone();
+    method public android.icu.text.UnicodeSet cloneAsThawed();
+    method public android.icu.text.UnicodeSet closeOver(int);
+    method public android.icu.text.UnicodeSet compact();
+    method public int compareTo(android.icu.text.UnicodeSet);
+    method public int compareTo(android.icu.text.UnicodeSet, android.icu.text.UnicodeSet.ComparisonStyle);
+    method public int compareTo(Iterable<java.lang.String>);
+    method public android.icu.text.UnicodeSet complement(int, int);
+    method public final android.icu.text.UnicodeSet complement(int);
+    method public android.icu.text.UnicodeSet complement();
+    method public final android.icu.text.UnicodeSet complement(CharSequence);
+    method public final android.icu.text.UnicodeSet complementAll(CharSequence);
+    method public android.icu.text.UnicodeSet complementAll(android.icu.text.UnicodeSet);
+    method public boolean contains(int);
+    method public boolean contains(int, int);
+    method public final boolean contains(CharSequence);
+    method public boolean containsAll(android.icu.text.UnicodeSet);
+    method public boolean containsAll(String);
+    method public <T extends java.lang.CharSequence> boolean containsAll(Iterable<T>);
+    method public boolean containsNone(int, int);
+    method public boolean containsNone(android.icu.text.UnicodeSet);
+    method public boolean containsNone(CharSequence);
+    method public <T extends java.lang.CharSequence> boolean containsNone(Iterable<T>);
+    method public final boolean containsSome(int, int);
+    method public final boolean containsSome(android.icu.text.UnicodeSet);
+    method public final boolean containsSome(CharSequence);
+    method public final <T extends java.lang.CharSequence> boolean containsSome(Iterable<T>);
+    method public android.icu.text.UnicodeSet freeze();
+    method public static android.icu.text.UnicodeSet from(CharSequence);
+    method public static android.icu.text.UnicodeSet fromAll(CharSequence);
+    method public int getRangeCount();
+    method public int getRangeEnd(int);
+    method public int getRangeStart(int);
+    method public int indexOf(int);
+    method public boolean isEmpty();
+    method public boolean isFrozen();
+    method public java.util.Iterator<java.lang.String> iterator();
+    method public boolean matchesIndexValue(int);
+    method public Iterable<android.icu.text.UnicodeSet.EntryRange> ranges();
+    method public android.icu.text.UnicodeSet remove(int, int);
+    method public final android.icu.text.UnicodeSet remove(int);
+    method public final android.icu.text.UnicodeSet remove(CharSequence);
+    method public final android.icu.text.UnicodeSet removeAll(CharSequence);
+    method public android.icu.text.UnicodeSet removeAll(android.icu.text.UnicodeSet);
+    method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet removeAll(Iterable<T>);
+    method public final android.icu.text.UnicodeSet removeAllStrings();
+    method public android.icu.text.UnicodeSet retain(int, int);
+    method public final android.icu.text.UnicodeSet retain(int);
+    method public final android.icu.text.UnicodeSet retain(CharSequence);
+    method public final android.icu.text.UnicodeSet retainAll(CharSequence);
+    method public android.icu.text.UnicodeSet retainAll(android.icu.text.UnicodeSet);
+    method public <T extends java.lang.CharSequence> android.icu.text.UnicodeSet retainAll(Iterable<T>);
+    method public android.icu.text.UnicodeSet set(int, int);
+    method public android.icu.text.UnicodeSet set(android.icu.text.UnicodeSet);
+    method public int size();
+    method public int span(CharSequence, android.icu.text.UnicodeSet.SpanCondition);
+    method public int span(CharSequence, int, android.icu.text.UnicodeSet.SpanCondition);
+    method public int spanBack(CharSequence, android.icu.text.UnicodeSet.SpanCondition);
+    method public int spanBack(CharSequence, int, android.icu.text.UnicodeSet.SpanCondition);
+    method public java.util.Collection<java.lang.String> strings();
+    method public String toPattern(boolean);
+    field public static final int ADD_CASE_MAPPINGS = 4; // 0x4
+    field public static final android.icu.text.UnicodeSet ALL_CODE_POINTS;
+    field public static final int CASE = 2; // 0x2
+    field public static final int CASE_INSENSITIVE = 2; // 0x2
+    field public static final android.icu.text.UnicodeSet EMPTY;
+    field public static final int IGNORE_SPACE = 1; // 0x1
+    field public static final int MAX_VALUE = 1114111; // 0x10ffff
+    field public static final int MIN_VALUE = 0; // 0x0
+  }
+
+  public enum UnicodeSet.ComparisonStyle {
+    enum_constant public static final android.icu.text.UnicodeSet.ComparisonStyle LEXICOGRAPHIC;
+    enum_constant public static final android.icu.text.UnicodeSet.ComparisonStyle LONGER_FIRST;
+    enum_constant public static final android.icu.text.UnicodeSet.ComparisonStyle SHORTER_FIRST;
+  }
+
+  public static class UnicodeSet.EntryRange {
+    field public int codepoint;
+    field public int codepointEnd;
+  }
+
+  public enum UnicodeSet.SpanCondition {
+    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition CONDITION_COUNT;
+    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition CONTAINED;
+    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition NOT_CONTAINED;
+    enum_constant public static final android.icu.text.UnicodeSet.SpanCondition SIMPLE;
+  }
+
+  public class UnicodeSetIterator {
+    ctor public UnicodeSetIterator(android.icu.text.UnicodeSet);
+    ctor public UnicodeSetIterator();
+    method public String getString();
+    method public boolean next();
+    method public boolean nextRange();
+    method public void reset(android.icu.text.UnicodeSet);
+    method public void reset();
+    field public static int IS_STRING;
+    field public int codepoint;
+    field public int codepointEnd;
+    field public String string;
+  }
+
+  public class UnicodeSetSpanner {
+    ctor public UnicodeSetSpanner(android.icu.text.UnicodeSet);
+    method public int countIn(CharSequence);
+    method public int countIn(CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod);
+    method public int countIn(CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod, android.icu.text.UnicodeSet.SpanCondition);
+    method public String deleteFrom(CharSequence);
+    method public String deleteFrom(CharSequence, android.icu.text.UnicodeSet.SpanCondition);
+    method public android.icu.text.UnicodeSet getUnicodeSet();
+    method public String replaceFrom(CharSequence, CharSequence);
+    method public String replaceFrom(CharSequence, CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod);
+    method public String replaceFrom(CharSequence, CharSequence, android.icu.text.UnicodeSetSpanner.CountMethod, android.icu.text.UnicodeSet.SpanCondition);
+    method public CharSequence trim(CharSequence);
+    method public CharSequence trim(CharSequence, android.icu.text.UnicodeSetSpanner.TrimOption);
+    method public CharSequence trim(CharSequence, android.icu.text.UnicodeSetSpanner.TrimOption, android.icu.text.UnicodeSet.SpanCondition);
+  }
+
+  public enum UnicodeSetSpanner.CountMethod {
+    enum_constant public static final android.icu.text.UnicodeSetSpanner.CountMethod MIN_ELEMENTS;
+    enum_constant public static final android.icu.text.UnicodeSetSpanner.CountMethod WHOLE_SPAN;
+  }
+
+  public enum UnicodeSetSpanner.TrimOption {
+    enum_constant public static final android.icu.text.UnicodeSetSpanner.TrimOption BOTH;
+    enum_constant public static final android.icu.text.UnicodeSetSpanner.TrimOption LEADING;
+    enum_constant public static final android.icu.text.UnicodeSetSpanner.TrimOption TRAILING;
+  }
+
+}
+
+package android.icu.util {
+
+  public class BuddhistCalendar extends android.icu.util.GregorianCalendar {
+    ctor public BuddhistCalendar();
+    ctor public BuddhistCalendar(android.icu.util.TimeZone);
+    ctor public BuddhistCalendar(java.util.Locale);
+    ctor public BuddhistCalendar(android.icu.util.ULocale);
+    ctor public BuddhistCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public BuddhistCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public BuddhistCalendar(java.util.Date);
+    ctor public BuddhistCalendar(int, int, int);
+    ctor public BuddhistCalendar(int, int, int, int, int, int);
+    field public static final int BE = 0; // 0x0
+  }
+
+  public abstract class Calendar implements java.lang.Cloneable java.lang.Comparable<android.icu.util.Calendar> java.io.Serializable {
+    ctor protected Calendar();
+    ctor protected Calendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor protected Calendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    method public void add(int, int);
+    method public boolean after(Object);
+    method public boolean before(Object);
+    method public final void clear();
+    method public final void clear(int);
+    method public Object clone();
+    method public int compareTo(android.icu.util.Calendar);
+    method protected void complete();
+    method protected void computeFields();
+    method protected final void computeGregorianFields(int);
+    method protected int computeGregorianMonthStart(int, int);
+    method protected int computeJulianDay();
+    method @Deprecated protected int computeMillisInDay();
+    method protected void computeTime();
+    method @Deprecated protected int computeZoneOffset(long, int);
+    method public int fieldDifference(java.util.Date, int);
+    method protected String fieldName(int);
+    method protected static final long floorDivide(long, long);
+    method protected static final int floorDivide(int, int);
+    method protected static final int floorDivide(int, int, int[]);
+    method protected static final int floorDivide(long, int, int[]);
+    method public final int get(int);
+    method public int getActualMaximum(int);
+    method public int getActualMinimum(int);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public android.icu.text.DateFormat getDateTimeFormat(int, int, java.util.Locale);
+    method public android.icu.text.DateFormat getDateTimeFormat(int, int, android.icu.util.ULocale);
+    method public String getDisplayName(java.util.Locale);
+    method public String getDisplayName(android.icu.util.ULocale);
+    method public final int getFieldCount();
+    method protected int[][][] getFieldResolutionTable();
+    method public int getFirstDayOfWeek();
+    method public final int getGreatestMinimum(int);
+    method protected final int getGregorianDayOfMonth();
+    method protected final int getGregorianDayOfYear();
+    method protected final int getGregorianMonth();
+    method protected final int getGregorianYear();
+    method public static android.icu.util.Calendar getInstance();
+    method public static android.icu.util.Calendar getInstance(android.icu.util.TimeZone);
+    method public static android.icu.util.Calendar getInstance(java.util.Locale);
+    method public static android.icu.util.Calendar getInstance(android.icu.util.ULocale);
+    method public static android.icu.util.Calendar getInstance(android.icu.util.TimeZone, java.util.Locale);
+    method public static android.icu.util.Calendar getInstance(android.icu.util.TimeZone, android.icu.util.ULocale);
+    method public static final String[] getKeywordValuesForLocale(String, android.icu.util.ULocale, boolean);
+    method public final int getLeastMaximum(int);
+    method protected int getLimit(int, int);
+    method public final int getMaximum(int);
+    method public int getMinimalDaysInFirstWeek();
+    method public final int getMinimum(int);
+    method public int getRepeatedWallTimeOption();
+    method public int getSkippedWallTimeOption();
+    method protected final int getStamp(int);
+    method public final java.util.Date getTime();
+    method public long getTimeInMillis();
+    method public android.icu.util.TimeZone getTimeZone();
+    method public String getType();
+    method public android.icu.util.Calendar.WeekData getWeekData();
+    method public static android.icu.util.Calendar.WeekData getWeekDataForRegion(String);
+    method protected static final int gregorianMonthLength(int, int);
+    method protected static final int gregorianPreviousMonthLength(int, int);
+    method protected void handleComputeFields(int);
+    method protected int handleComputeJulianDay(int);
+    method protected abstract int handleComputeMonthStart(int, int, boolean);
+    method protected int[] handleCreateFields();
+    method protected android.icu.text.DateFormat handleGetDateFormat(String, java.util.Locale);
+    method protected android.icu.text.DateFormat handleGetDateFormat(String, String, java.util.Locale);
+    method protected android.icu.text.DateFormat handleGetDateFormat(String, android.icu.util.ULocale);
+    method protected abstract int handleGetExtendedYear();
+    method protected abstract int handleGetLimit(int, int);
+    method protected int handleGetMonthLength(int, int);
+    method protected int handleGetYearLength(int);
+    method protected final int internalGet(int);
+    method protected final int internalGet(int, int);
+    method protected final long internalGetTimeInMillis();
+    method protected final void internalSet(int, int);
+    method public boolean isEquivalentTo(android.icu.util.Calendar);
+    method protected static final boolean isGregorianLeapYear(int);
+    method public boolean isLenient();
+    method public final boolean isSet(int);
+    method public boolean isWeekend(java.util.Date);
+    method public boolean isWeekend();
+    method protected static final int julianDayToDayOfWeek(int);
+    method protected static final long julianDayToMillis(int);
+    method protected static final int millisToJulianDay(long);
+    method protected int newerField(int, int);
+    method protected int newestStamp(int, int, int);
+    method protected void pinField(int);
+    method protected void prepareGetActual(int, boolean);
+    method protected int resolveFields(int[][][]);
+    method public final void roll(int, boolean);
+    method public void roll(int, int);
+    method public final void set(int, int);
+    method public final void set(int, int, int);
+    method public final void set(int, int, int, int, int);
+    method public final void set(int, int, int, int, int, int);
+    method public void setFirstDayOfWeek(int);
+    method public void setLenient(boolean);
+    method public void setMinimalDaysInFirstWeek(int);
+    method public void setRepeatedWallTimeOption(int);
+    method public void setSkippedWallTimeOption(int);
+    method public final void setTime(java.util.Date);
+    method public void setTimeInMillis(long);
+    method public void setTimeZone(android.icu.util.TimeZone);
+    method public android.icu.util.Calendar setWeekData(android.icu.util.Calendar.WeekData);
+    method protected void validateField(int);
+    method protected final void validateField(int, int, int);
+    method protected void validateFields();
+    method protected int weekNumber(int, int, int);
+    method protected final int weekNumber(int, int);
+    field public static final int AM = 0; // 0x0
+    field public static final int AM_PM = 9; // 0x9
+    field public static final int APRIL = 3; // 0x3
+    field public static final int AUGUST = 7; // 0x7
+    field @Deprecated protected static final int BASE_FIELD_COUNT = 23; // 0x17
+    field public static final int DATE = 5; // 0x5
+    field public static final int DAY_OF_MONTH = 5; // 0x5
+    field public static final int DAY_OF_WEEK = 7; // 0x7
+    field public static final int DAY_OF_WEEK_IN_MONTH = 8; // 0x8
+    field public static final int DAY_OF_YEAR = 6; // 0x6
+    field public static final int DECEMBER = 11; // 0xb
+    field public static final int DOW_LOCAL = 18; // 0x12
+    field public static final int DST_OFFSET = 16; // 0x10
+    field protected static final int EPOCH_JULIAN_DAY = 2440588; // 0x253d8c
+    field public static final int ERA = 0; // 0x0
+    field public static final int EXTENDED_YEAR = 19; // 0x13
+    field public static final int FEBRUARY = 1; // 0x1
+    field public static final int FRIDAY = 6; // 0x6
+    field protected static final int GREATEST_MINIMUM = 1; // 0x1
+    field public static final int HOUR = 10; // 0xa
+    field public static final int HOUR_OF_DAY = 11; // 0xb
+    field protected static final int INTERNALLY_SET = 1; // 0x1
+    field public static final int IS_LEAP_MONTH = 22; // 0x16
+    field public static final int JANUARY = 0; // 0x0
+    field protected static final int JAN_1_1_JULIAN_DAY = 1721426; // 0x1a4452
+    field public static final int JULIAN_DAY = 20; // 0x14
+    field public static final int JULY = 6; // 0x6
+    field public static final int JUNE = 5; // 0x5
+    field protected static final int LEAST_MAXIMUM = 2; // 0x2
+    field public static final int MARCH = 2; // 0x2
+    field protected static final int MAXIMUM = 3; // 0x3
+    field protected static final java.util.Date MAX_DATE;
+    field @Deprecated protected static final int MAX_FIELD_COUNT = 32; // 0x20
+    field protected static final int MAX_JULIAN = 2130706432; // 0x7f000000
+    field protected static final long MAX_MILLIS = 183882168921600000L; // 0x28d47dbbf19b000L
+    field public static final int MAY = 4; // 0x4
+    field public static final int MILLISECOND = 14; // 0xe
+    field public static final int MILLISECONDS_IN_DAY = 21; // 0x15
+    field protected static final int MINIMUM = 0; // 0x0
+    field protected static final int MINIMUM_USER_STAMP = 2; // 0x2
+    field public static final int MINUTE = 12; // 0xc
+    field protected static final java.util.Date MIN_DATE;
+    field protected static final int MIN_JULIAN = -2130706432; // 0x81000000
+    field protected static final long MIN_MILLIS = -184303902528000000L; // 0xfd713893bf19b000L
+    field public static final int MONDAY = 2; // 0x2
+    field public static final int MONTH = 2; // 0x2
+    field public static final int NOVEMBER = 10; // 0xa
+    field public static final int OCTOBER = 9; // 0x9
+    field protected static final long ONE_DAY = 86400000L; // 0x5265c00L
+    field protected static final int ONE_HOUR = 3600000; // 0x36ee80
+    field protected static final int ONE_MINUTE = 60000; // 0xea60
+    field protected static final int ONE_SECOND = 1000; // 0x3e8
+    field protected static final long ONE_WEEK = 604800000L; // 0x240c8400L
+    field public static final int PM = 1; // 0x1
+    field protected static final int RESOLVE_REMAP = 32; // 0x20
+    field public static final int SATURDAY = 7; // 0x7
+    field public static final int SECOND = 13; // 0xd
+    field public static final int SEPTEMBER = 8; // 0x8
+    field public static final int SUNDAY = 1; // 0x1
+    field public static final int THURSDAY = 5; // 0x5
+    field public static final int TUESDAY = 3; // 0x3
+    field public static final int UNDECIMBER = 12; // 0xc
+    field protected static final int UNSET = 0; // 0x0
+    field public static final int WALLTIME_FIRST = 1; // 0x1
+    field public static final int WALLTIME_LAST = 0; // 0x0
+    field public static final int WALLTIME_NEXT_VALID = 2; // 0x2
+    field public static final int WEDNESDAY = 4; // 0x4
+    field public static final int WEEK_OF_MONTH = 4; // 0x4
+    field public static final int WEEK_OF_YEAR = 3; // 0x3
+    field public static final int YEAR = 1; // 0x1
+    field public static final int YEAR_WOY = 17; // 0x11
+    field public static final int ZONE_OFFSET = 15; // 0xf
+  }
+
+  public static final class Calendar.WeekData {
+    ctor public Calendar.WeekData(int, int, int, int, int, int);
+    field public final int firstDayOfWeek;
+    field public final int minimalDaysInFirstWeek;
+    field public final int weekendCease;
+    field public final int weekendCeaseMillis;
+    field public final int weekendOnset;
+    field public final int weekendOnsetMillis;
+  }
+
+  public class ChineseCalendar extends android.icu.util.Calendar {
+    ctor public ChineseCalendar();
+    ctor public ChineseCalendar(java.util.Date);
+    ctor public ChineseCalendar(int, int, int, int);
+    ctor public ChineseCalendar(int, int, int, int, int, int, int);
+    ctor public ChineseCalendar(int, int, int, int, int);
+    ctor public ChineseCalendar(int, int, int, int, int, int, int, int);
+    ctor public ChineseCalendar(java.util.Locale);
+    ctor public ChineseCalendar(android.icu.util.TimeZone);
+    ctor public ChineseCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public ChineseCalendar(android.icu.util.ULocale);
+    ctor public ChineseCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method protected android.icu.text.DateFormat handleGetDateFormat(String, String, android.icu.util.ULocale);
+    method protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+  }
+
+  public final class CopticCalendar extends android.icu.util.Calendar {
+    ctor public CopticCalendar();
+    ctor public CopticCalendar(android.icu.util.TimeZone);
+    ctor public CopticCalendar(java.util.Locale);
+    ctor public CopticCalendar(android.icu.util.ULocale);
+    ctor public CopticCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public CopticCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public CopticCalendar(int, int, int);
+    ctor public CopticCalendar(java.util.Date);
+    ctor public CopticCalendar(int, int, int, int, int, int);
+    method @Deprecated protected void handleComputeFields(int);
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method @Deprecated protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+    field public static final int AMSHIR = 5; // 0x5
+    field public static final int BABA = 1; // 0x1
+    field public static final int BARAMHAT = 6; // 0x6
+    field public static final int BARAMOUDA = 7; // 0x7
+    field public static final int BASHANS = 8; // 0x8
+    field public static final int EPEP = 10; // 0xa
+    field public static final int HATOR = 2; // 0x2
+    field public static final int KIAHK = 3; // 0x3
+    field public static final int MESRA = 11; // 0xb
+    field public static final int NASIE = 12; // 0xc
+    field public static final int PAONA = 9; // 0x9
+    field public static final int TOBA = 4; // 0x4
+    field public static final int TOUT = 0; // 0x0
+  }
+
+  public class Currency extends android.icu.util.MeasureUnit {
+    ctor protected Currency(String);
+    method public static android.icu.util.Currency fromJavaCurrency(java.util.Currency);
+    method public static java.util.Set<android.icu.util.Currency> getAvailableCurrencies();
+    method public static String[] getAvailableCurrencyCodes(android.icu.util.ULocale, java.util.Date);
+    method public static String[] getAvailableCurrencyCodes(java.util.Locale, java.util.Date);
+    method public static java.util.Locale[] getAvailableLocales();
+    method public static android.icu.util.ULocale[] getAvailableULocales();
+    method public String getCurrencyCode();
+    method public int getDefaultFractionDigits();
+    method public int getDefaultFractionDigits(android.icu.util.Currency.CurrencyUsage);
+    method public String getDisplayName();
+    method public String getDisplayName(java.util.Locale);
+    method public static android.icu.util.Currency getInstance(java.util.Locale);
+    method public static android.icu.util.Currency getInstance(android.icu.util.ULocale);
+    method public static android.icu.util.Currency getInstance(String);
+    method public static final String[] getKeywordValuesForLocale(String, android.icu.util.ULocale, boolean);
+    method public String getName(java.util.Locale, int, boolean[]);
+    method public String getName(android.icu.util.ULocale, int, boolean[]);
+    method public String getName(java.util.Locale, int, String, boolean[]);
+    method public String getName(android.icu.util.ULocale, int, String, boolean[]);
+    method public int getNumericCode();
+    method public double getRoundingIncrement();
+    method public double getRoundingIncrement(android.icu.util.Currency.CurrencyUsage);
+    method public String getSymbol();
+    method public String getSymbol(java.util.Locale);
+    method public String getSymbol(android.icu.util.ULocale);
+    method public static boolean isAvailable(String, java.util.Date, java.util.Date);
+    method public java.util.Currency toJavaCurrency();
+    field public static final int LONG_NAME = 1; // 0x1
+    field public static final int NARROW_SYMBOL_NAME = 3; // 0x3
+    field public static final int PLURAL_LONG_NAME = 2; // 0x2
+    field public static final int SYMBOL_NAME = 0; // 0x0
+  }
+
+  public enum Currency.CurrencyUsage {
+    enum_constant public static final android.icu.util.Currency.CurrencyUsage CASH;
+    enum_constant public static final android.icu.util.Currency.CurrencyUsage STANDARD;
+  }
+
+  public class CurrencyAmount extends android.icu.util.Measure {
+    ctor public CurrencyAmount(Number, android.icu.util.Currency);
+    ctor public CurrencyAmount(double, android.icu.util.Currency);
+    ctor public CurrencyAmount(Number, java.util.Currency);
+    ctor public CurrencyAmount(double, java.util.Currency);
+    method public android.icu.util.Currency getCurrency();
+  }
+
+  public final class DateInterval implements java.io.Serializable {
+    ctor public DateInterval(long, long);
+    method public long getFromDate();
+    method public long getToDate();
+  }
+
+  public final class EthiopicCalendar extends android.icu.util.Calendar {
+    ctor public EthiopicCalendar();
+    ctor public EthiopicCalendar(android.icu.util.TimeZone);
+    ctor public EthiopicCalendar(java.util.Locale);
+    ctor public EthiopicCalendar(android.icu.util.ULocale);
+    ctor public EthiopicCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public EthiopicCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public EthiopicCalendar(int, int, int);
+    ctor public EthiopicCalendar(java.util.Date);
+    ctor public EthiopicCalendar(int, int, int, int, int, int);
+    method @Deprecated protected void handleComputeFields(int);
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method @Deprecated protected int handleGetExtendedYear();
+    method @Deprecated protected int handleGetLimit(int, int);
+    method public boolean isAmeteAlemEra();
+    method public void setAmeteAlemEra(boolean);
+    field public static final int GENBOT = 8; // 0x8
+    field public static final int HAMLE = 10; // 0xa
+    field public static final int HEDAR = 2; // 0x2
+    field public static final int MEGABIT = 6; // 0x6
+    field public static final int MESKEREM = 0; // 0x0
+    field public static final int MIAZIA = 7; // 0x7
+    field public static final int NEHASSE = 11; // 0xb
+    field public static final int PAGUMEN = 12; // 0xc
+    field public static final int SENE = 9; // 0x9
+    field public static final int TAHSAS = 3; // 0x3
+    field public static final int TEKEMT = 1; // 0x1
+    field public static final int TER = 4; // 0x4
+    field public static final int YEKATIT = 5; // 0x5
+  }
+
+  public interface Freezable<T> extends java.lang.Cloneable {
+    method public T cloneAsThawed();
+    method public T freeze();
+    method public boolean isFrozen();
+  }
+
+  public class GregorianCalendar extends android.icu.util.Calendar {
+    ctor public GregorianCalendar();
+    ctor public GregorianCalendar(android.icu.util.TimeZone);
+    ctor public GregorianCalendar(java.util.Locale);
+    ctor public GregorianCalendar(android.icu.util.ULocale);
+    ctor public GregorianCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public GregorianCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public GregorianCalendar(int, int, int);
+    ctor public GregorianCalendar(int, int, int, int, int);
+    ctor public GregorianCalendar(int, int, int, int, int, int);
+    method public final java.util.Date getGregorianChange();
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+    method public boolean isLeapYear(int);
+    method public void setGregorianChange(java.util.Date);
+    field public static final int AD = 1; // 0x1
+    field public static final int BC = 0; // 0x0
+    field protected transient boolean invertGregorian;
+    field protected transient boolean isGregorian;
+  }
+
+  public class HebrewCalendar extends android.icu.util.Calendar {
+    ctor public HebrewCalendar();
+    ctor public HebrewCalendar(android.icu.util.TimeZone);
+    ctor public HebrewCalendar(java.util.Locale);
+    ctor public HebrewCalendar(android.icu.util.ULocale);
+    ctor public HebrewCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public HebrewCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public HebrewCalendar(int, int, int);
+    ctor public HebrewCalendar(java.util.Date);
+    ctor public HebrewCalendar(int, int, int, int, int, int);
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+    method @Deprecated protected void validateField(int);
+    field public static final int ADAR = 6; // 0x6
+    field public static final int ADAR_1 = 5; // 0x5
+    field public static final int AV = 11; // 0xb
+    field public static final int ELUL = 12; // 0xc
+    field public static final int HESHVAN = 1; // 0x1
+    field public static final int IYAR = 8; // 0x8
+    field public static final int KISLEV = 2; // 0x2
+    field public static final int NISAN = 7; // 0x7
+    field public static final int SHEVAT = 4; // 0x4
+    field public static final int SIVAN = 9; // 0x9
+    field public static final int TAMUZ = 10; // 0xa
+    field public static final int TEVET = 3; // 0x3
+    field public static final int TISHRI = 0; // 0x0
+  }
+
+  public class ICUUncheckedIOException extends java.lang.RuntimeException {
+    ctor public ICUUncheckedIOException();
+    ctor public ICUUncheckedIOException(String);
+    ctor public ICUUncheckedIOException(Throwable);
+    ctor public ICUUncheckedIOException(String, Throwable);
+  }
+
+  public class IllformedLocaleException extends java.lang.RuntimeException {
+    ctor public IllformedLocaleException();
+    ctor public IllformedLocaleException(String);
+    ctor public IllformedLocaleException(String, int);
+    method public int getErrorIndex();
+  }
+
+  public class IndianCalendar extends android.icu.util.Calendar {
+    ctor public IndianCalendar();
+    ctor public IndianCalendar(android.icu.util.TimeZone);
+    ctor public IndianCalendar(java.util.Locale);
+    ctor public IndianCalendar(android.icu.util.ULocale);
+    ctor public IndianCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public IndianCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public IndianCalendar(java.util.Date);
+    ctor public IndianCalendar(int, int, int);
+    ctor public IndianCalendar(int, int, int, int, int, int);
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+    field public static final int AGRAHAYANA = 8; // 0x8
+    field public static final int ASADHA = 3; // 0x3
+    field public static final int ASVINA = 6; // 0x6
+    field public static final int BHADRA = 5; // 0x5
+    field public static final int CHAITRA = 0; // 0x0
+    field public static final int IE = 0; // 0x0
+    field public static final int JYAISTHA = 2; // 0x2
+    field public static final int KARTIKA = 7; // 0x7
+    field public static final int MAGHA = 10; // 0xa
+    field public static final int PAUSA = 9; // 0x9
+    field public static final int PHALGUNA = 11; // 0xb
+    field public static final int SRAVANA = 4; // 0x4
+    field public static final int VAISAKHA = 1; // 0x1
+  }
+
+  public class IslamicCalendar extends android.icu.util.Calendar {
+    ctor public IslamicCalendar();
+    ctor public IslamicCalendar(android.icu.util.TimeZone);
+    ctor public IslamicCalendar(java.util.Locale);
+    ctor public IslamicCalendar(android.icu.util.ULocale);
+    ctor public IslamicCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public IslamicCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public IslamicCalendar(java.util.Date);
+    ctor public IslamicCalendar(int, int, int);
+    ctor public IslamicCalendar(int, int, int, int, int, int);
+    method public android.icu.util.IslamicCalendar.CalculationType getCalculationType();
+    method protected int handleComputeMonthStart(int, int, boolean);
+    method protected int handleGetExtendedYear();
+    method protected int handleGetLimit(int, int);
+    method public void setCalculationType(android.icu.util.IslamicCalendar.CalculationType);
+    field public static final int DHU_AL_HIJJAH = 11; // 0xb
+    field public static final int DHU_AL_QIDAH = 10; // 0xa
+    field public static final int JUMADA_1 = 4; // 0x4
+    field public static final int JUMADA_2 = 5; // 0x5
+    field public static final int MUHARRAM = 0; // 0x0
+    field public static final int RABI_1 = 2; // 0x2
+    field public static final int RABI_2 = 3; // 0x3
+    field public static final int RAJAB = 6; // 0x6
+    field public static final int RAMADAN = 8; // 0x8
+    field public static final int SAFAR = 1; // 0x1
+    field public static final int SHABAN = 7; // 0x7
+    field public static final int SHAWWAL = 9; // 0x9
+  }
+
+  public enum IslamicCalendar.CalculationType {
+    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC;
+    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC_CIVIL;
+    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC_TBLA;
+    enum_constant public static final android.icu.util.IslamicCalendar.CalculationType ISLAMIC_UMALQURA;
+  }
+
+  public class JapaneseCalendar extends android.icu.util.GregorianCalendar {
+    ctor public JapaneseCalendar();
+    ctor public JapaneseCalendar(android.icu.util.TimeZone);
+    ctor public JapaneseCalendar(java.util.Locale);
+    ctor public JapaneseCalendar(android.icu.util.ULocale);
+    ctor public JapaneseCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public JapaneseCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public JapaneseCalendar(java.util.Date);
+    ctor public JapaneseCalendar(int, int, int, int);
+    ctor public JapaneseCalendar(int, int, int);
+    ctor public JapaneseCalendar(int, int, int, int, int, int);
+    field public static final int HEISEI;
+    field public static final int MEIJI;
+    field public static final int REIWA;
+    field public static final int SHOWA;
+    field public static final int TAISHO;
+  }
+
+  public final class LocaleData {
+    method public static android.icu.util.VersionInfo getCLDRVersion();
+    method public String getDelimiter(int);
+    method public static android.icu.util.LocaleData getInstance(android.icu.util.ULocale);
+    method public static android.icu.util.LocaleData getInstance();
+    method public static android.icu.util.LocaleData.MeasurementSystem getMeasurementSystem(android.icu.util.ULocale);
+    method public boolean getNoSubstitute();
+    method public static android.icu.util.LocaleData.PaperSize getPaperSize(android.icu.util.ULocale);
+    method public void setNoSubstitute(boolean);
+    field public static final int ALT_QUOTATION_END = 3; // 0x3
+    field public static final int ALT_QUOTATION_START = 2; // 0x2
+    field public static final int QUOTATION_END = 1; // 0x1
+    field public static final int QUOTATION_START = 0; // 0x0
+  }
+
+  public static final class LocaleData.MeasurementSystem {
+    field public static final android.icu.util.LocaleData.MeasurementSystem SI;
+    field public static final android.icu.util.LocaleData.MeasurementSystem UK;
+    field public static final android.icu.util.LocaleData.MeasurementSystem US;
+  }
+
+  public static final class LocaleData.PaperSize {
+    method public int getHeight();
+    method public int getWidth();
+  }
+
+  public class Measure {
+    ctor public Measure(Number, android.icu.util.MeasureUnit);
+    method public Number getNumber();
+    method public android.icu.util.MeasureUnit getUnit();
+  }
+
+  public class MeasureUnit implements java.io.Serializable {
+    method public static java.util.Set<android.icu.util.MeasureUnit> getAvailable(String);
+    method public static java.util.Set<android.icu.util.MeasureUnit> getAvailable();
+    method public static java.util.Set<java.lang.String> getAvailableTypes();
+    method public String getSubtype();
+    method public String getType();
+    field public static final android.icu.util.MeasureUnit ACRE;
+    field public static final android.icu.util.MeasureUnit ACRE_FOOT;
+    field public static final android.icu.util.MeasureUnit AMPERE;
+    field public static final android.icu.util.MeasureUnit ARC_MINUTE;
+    field public static final android.icu.util.MeasureUnit ARC_SECOND;
+    field public static final android.icu.util.MeasureUnit ASTRONOMICAL_UNIT;
+    field public static final android.icu.util.MeasureUnit ATMOSPHERE;
+    field public static final android.icu.util.MeasureUnit BIT;
+    field public static final android.icu.util.MeasureUnit BUSHEL;
+    field public static final android.icu.util.MeasureUnit BYTE;
+    field public static final android.icu.util.MeasureUnit CALORIE;
+    field public static final android.icu.util.MeasureUnit CARAT;
+    field public static final android.icu.util.MeasureUnit CELSIUS;
+    field public static final android.icu.util.MeasureUnit CENTILITER;
+    field public static final android.icu.util.MeasureUnit CENTIMETER;
+    field public static final android.icu.util.MeasureUnit CENTURY;
+    field public static final android.icu.util.MeasureUnit CUBIC_CENTIMETER;
+    field public static final android.icu.util.MeasureUnit CUBIC_FOOT;
+    field public static final android.icu.util.MeasureUnit CUBIC_INCH;
+    field public static final android.icu.util.MeasureUnit CUBIC_KILOMETER;
+    field public static final android.icu.util.MeasureUnit CUBIC_METER;
+    field public static final android.icu.util.MeasureUnit CUBIC_MILE;
+    field public static final android.icu.util.MeasureUnit CUBIC_YARD;
+    field public static final android.icu.util.MeasureUnit CUP;
+    field public static final android.icu.util.MeasureUnit CUP_METRIC;
+    field public static final android.icu.util.TimeUnit DAY;
+    field public static final android.icu.util.MeasureUnit DECADE;
+    field public static final android.icu.util.MeasureUnit DECILITER;
+    field public static final android.icu.util.MeasureUnit DECIMETER;
+    field public static final android.icu.util.MeasureUnit DEGREE;
+    field public static final android.icu.util.MeasureUnit DOT_PER_CENTIMETER;
+    field public static final android.icu.util.MeasureUnit DOT_PER_INCH;
+    field public static final android.icu.util.MeasureUnit EM;
+    field public static final android.icu.util.MeasureUnit FAHRENHEIT;
+    field public static final android.icu.util.MeasureUnit FATHOM;
+    field public static final android.icu.util.MeasureUnit FLUID_OUNCE;
+    field public static final android.icu.util.MeasureUnit FOODCALORIE;
+    field public static final android.icu.util.MeasureUnit FOOT;
+    field public static final android.icu.util.MeasureUnit FURLONG;
+    field public static final android.icu.util.MeasureUnit GALLON;
+    field public static final android.icu.util.MeasureUnit GALLON_IMPERIAL;
+    field public static final android.icu.util.MeasureUnit GENERIC_TEMPERATURE;
+    field public static final android.icu.util.MeasureUnit GIGABIT;
+    field public static final android.icu.util.MeasureUnit GIGABYTE;
+    field public static final android.icu.util.MeasureUnit GIGAHERTZ;
+    field public static final android.icu.util.MeasureUnit GIGAWATT;
+    field public static final android.icu.util.MeasureUnit GRAM;
+    field public static final android.icu.util.MeasureUnit G_FORCE;
+    field public static final android.icu.util.MeasureUnit HECTARE;
+    field public static final android.icu.util.MeasureUnit HECTOLITER;
+    field public static final android.icu.util.MeasureUnit HECTOPASCAL;
+    field public static final android.icu.util.MeasureUnit HERTZ;
+    field public static final android.icu.util.MeasureUnit HORSEPOWER;
+    field public static final android.icu.util.TimeUnit HOUR;
+    field public static final android.icu.util.MeasureUnit INCH;
+    field public static final android.icu.util.MeasureUnit INCH_HG;
+    field public static final android.icu.util.MeasureUnit JOULE;
+    field public static final android.icu.util.MeasureUnit KARAT;
+    field public static final android.icu.util.MeasureUnit KELVIN;
+    field public static final android.icu.util.MeasureUnit KILOBIT;
+    field public static final android.icu.util.MeasureUnit KILOBYTE;
+    field public static final android.icu.util.MeasureUnit KILOCALORIE;
+    field public static final android.icu.util.MeasureUnit KILOGRAM;
+    field public static final android.icu.util.MeasureUnit KILOHERTZ;
+    field public static final android.icu.util.MeasureUnit KILOJOULE;
+    field public static final android.icu.util.MeasureUnit KILOMETER;
+    field public static final android.icu.util.MeasureUnit KILOMETER_PER_HOUR;
+    field public static final android.icu.util.MeasureUnit KILOWATT;
+    field public static final android.icu.util.MeasureUnit KILOWATT_HOUR;
+    field public static final android.icu.util.MeasureUnit KNOT;
+    field public static final android.icu.util.MeasureUnit LIGHT_YEAR;
+    field public static final android.icu.util.MeasureUnit LITER;
+    field public static final android.icu.util.MeasureUnit LITER_PER_100KILOMETERS;
+    field public static final android.icu.util.MeasureUnit LITER_PER_KILOMETER;
+    field public static final android.icu.util.MeasureUnit LUX;
+    field public static final android.icu.util.MeasureUnit MEGABIT;
+    field public static final android.icu.util.MeasureUnit MEGABYTE;
+    field public static final android.icu.util.MeasureUnit MEGAHERTZ;
+    field public static final android.icu.util.MeasureUnit MEGALITER;
+    field public static final android.icu.util.MeasureUnit MEGAPIXEL;
+    field public static final android.icu.util.MeasureUnit MEGAWATT;
+    field public static final android.icu.util.MeasureUnit METER;
+    field public static final android.icu.util.MeasureUnit METER_PER_SECOND;
+    field public static final android.icu.util.MeasureUnit METER_PER_SECOND_SQUARED;
+    field public static final android.icu.util.MeasureUnit METRIC_TON;
+    field public static final android.icu.util.MeasureUnit MICROGRAM;
+    field public static final android.icu.util.MeasureUnit MICROMETER;
+    field public static final android.icu.util.MeasureUnit MICROSECOND;
+    field public static final android.icu.util.MeasureUnit MILE;
+    field public static final android.icu.util.MeasureUnit MILE_PER_GALLON;
+    field public static final android.icu.util.MeasureUnit MILE_PER_GALLON_IMPERIAL;
+    field public static final android.icu.util.MeasureUnit MILE_PER_HOUR;
+    field public static final android.icu.util.MeasureUnit MILE_SCANDINAVIAN;
+    field public static final android.icu.util.MeasureUnit MILLIAMPERE;
+    field public static final android.icu.util.MeasureUnit MILLIBAR;
+    field public static final android.icu.util.MeasureUnit MILLIGRAM;
+    field public static final android.icu.util.MeasureUnit MILLIGRAM_PER_DECILITER;
+    field public static final android.icu.util.MeasureUnit MILLILITER;
+    field public static final android.icu.util.MeasureUnit MILLIMETER;
+    field public static final android.icu.util.MeasureUnit MILLIMETER_OF_MERCURY;
+    field public static final android.icu.util.MeasureUnit MILLIMOLE_PER_LITER;
+    field public static final android.icu.util.MeasureUnit MILLISECOND;
+    field public static final android.icu.util.MeasureUnit MILLIWATT;
+    field public static final android.icu.util.TimeUnit MINUTE;
+    field public static final android.icu.util.TimeUnit MONTH;
+    field public static final android.icu.util.MeasureUnit NANOMETER;
+    field public static final android.icu.util.MeasureUnit NANOSECOND;
+    field public static final android.icu.util.MeasureUnit NAUTICAL_MILE;
+    field public static final android.icu.util.MeasureUnit OHM;
+    field public static final android.icu.util.MeasureUnit OUNCE;
+    field public static final android.icu.util.MeasureUnit OUNCE_TROY;
+    field public static final android.icu.util.MeasureUnit PARSEC;
+    field public static final android.icu.util.MeasureUnit PART_PER_MILLION;
+    field public static final android.icu.util.MeasureUnit PERCENT;
+    field public static final android.icu.util.MeasureUnit PERMILLE;
+    field public static final android.icu.util.MeasureUnit PETABYTE;
+    field public static final android.icu.util.MeasureUnit PICOMETER;
+    field public static final android.icu.util.MeasureUnit PINT;
+    field public static final android.icu.util.MeasureUnit PINT_METRIC;
+    field public static final android.icu.util.MeasureUnit PIXEL;
+    field public static final android.icu.util.MeasureUnit PIXEL_PER_CENTIMETER;
+    field public static final android.icu.util.MeasureUnit PIXEL_PER_INCH;
+    field public static final android.icu.util.MeasureUnit POINT;
+    field public static final android.icu.util.MeasureUnit POUND;
+    field public static final android.icu.util.MeasureUnit POUND_PER_SQUARE_INCH;
+    field public static final android.icu.util.MeasureUnit QUART;
+    field public static final android.icu.util.MeasureUnit RADIAN;
+    field public static final android.icu.util.MeasureUnit REVOLUTION_ANGLE;
+    field public static final android.icu.util.TimeUnit SECOND;
+    field public static final android.icu.util.MeasureUnit SQUARE_CENTIMETER;
+    field public static final android.icu.util.MeasureUnit SQUARE_FOOT;
+    field public static final android.icu.util.MeasureUnit SQUARE_INCH;
+    field public static final android.icu.util.MeasureUnit SQUARE_KILOMETER;
+    field public static final android.icu.util.MeasureUnit SQUARE_METER;
+    field public static final android.icu.util.MeasureUnit SQUARE_MILE;
+    field public static final android.icu.util.MeasureUnit SQUARE_YARD;
+    field public static final android.icu.util.MeasureUnit STONE;
+    field public static final android.icu.util.MeasureUnit TABLESPOON;
+    field public static final android.icu.util.MeasureUnit TEASPOON;
+    field public static final android.icu.util.MeasureUnit TERABIT;
+    field public static final android.icu.util.MeasureUnit TERABYTE;
+    field public static final android.icu.util.MeasureUnit TON;
+    field public static final android.icu.util.MeasureUnit VOLT;
+    field public static final android.icu.util.MeasureUnit WATT;
+    field public static final android.icu.util.TimeUnit WEEK;
+    field public static final android.icu.util.MeasureUnit YARD;
+    field public static final android.icu.util.TimeUnit YEAR;
+  }
+
+  public class Output<T> {
+    ctor public Output();
+    ctor public Output(T);
+    field public T value;
+  }
+
+  public interface RangeValueIterator {
+    method public boolean next(android.icu.util.RangeValueIterator.Element);
+    method public void reset();
+  }
+
+  public static class RangeValueIterator.Element {
+    ctor public RangeValueIterator.Element();
+    field public int limit;
+    field public int start;
+    field public int value;
+  }
+
+  public class TaiwanCalendar extends android.icu.util.GregorianCalendar {
+    ctor public TaiwanCalendar();
+    ctor public TaiwanCalendar(android.icu.util.TimeZone);
+    ctor public TaiwanCalendar(java.util.Locale);
+    ctor public TaiwanCalendar(android.icu.util.ULocale);
+    ctor public TaiwanCalendar(android.icu.util.TimeZone, java.util.Locale);
+    ctor public TaiwanCalendar(android.icu.util.TimeZone, android.icu.util.ULocale);
+    ctor public TaiwanCalendar(java.util.Date);
+    ctor public TaiwanCalendar(int, int, int);
+    ctor public TaiwanCalendar(int, int, int, int, int, int);
+    field public static final int BEFORE_MINGUO = 0; // 0x0
+    field public static final int MINGUO = 1; // 0x1
+  }
+
+  public class TimeUnit extends android.icu.util.MeasureUnit {
+    method public static android.icu.util.TimeUnit[] values();
+  }
+
+  public abstract class TimeZone implements java.lang.Cloneable android.icu.util.Freezable<android.icu.util.TimeZone> java.io.Serializable {
+    ctor public TimeZone();
+    method public Object clone();
+    method public android.icu.util.TimeZone cloneAsThawed();
+    method public static int countEquivalentIDs(String);
+    method public android.icu.util.TimeZone freeze();
+    method public static java.util.Set<java.lang.String> getAvailableIDs(android.icu.util.TimeZone.SystemTimeZoneType, String, Integer);
+    method public static String[] getAvailableIDs(int);
+    method public static String[] getAvailableIDs(String);
+    method public static String[] getAvailableIDs();
+    method public static String getCanonicalID(String);
+    method public static String getCanonicalID(String, boolean[]);
+    method public int getDSTSavings();
+    method public static android.icu.util.TimeZone getDefault();
+    method public final String getDisplayName();
+    method public final String getDisplayName(java.util.Locale);
+    method public final String getDisplayName(android.icu.util.ULocale);
+    method public final String getDisplayName(boolean, int);
+    method public String getDisplayName(boolean, int, java.util.Locale);
+    method public String getDisplayName(boolean, int, android.icu.util.ULocale);
+    method public static String getEquivalentID(String, int);
+    method public static android.icu.util.TimeZone getFrozenTimeZone(String);
+    method public String getID();
+    method public static String getIDForWindowsID(String, String);
+    method public abstract int getOffset(int, int, int, int, int, int);
+    method public int getOffset(long);
+    method public void getOffset(long, boolean, int[]);
+    method public abstract int getRawOffset();
+    method public static String getRegion(String);
+    method public static String getTZDataVersion();
+    method public static android.icu.util.TimeZone getTimeZone(String);
+    method public static android.icu.util.TimeZone getTimeZone(String, int);
+    method public static String getWindowsID(String);
+    method public boolean hasSameRules(android.icu.util.TimeZone);
+    method public abstract boolean inDaylightTime(java.util.Date);
+    method public boolean isFrozen();
+    method public boolean observesDaylightTime();
+    method public void setID(String);
+    method public abstract void setRawOffset(int);
+    method public abstract boolean useDaylightTime();
+    field public static final int GENERIC_LOCATION = 7; // 0x7
+    field public static final android.icu.util.TimeZone GMT_ZONE;
+    field public static final int LONG = 1; // 0x1
+    field public static final int LONG_GENERIC = 3; // 0x3
+    field public static final int LONG_GMT = 5; // 0x5
+    field public static final int SHORT = 0; // 0x0
+    field public static final int SHORT_COMMONLY_USED = 6; // 0x6
+    field public static final int SHORT_GENERIC = 2; // 0x2
+    field public static final int SHORT_GMT = 4; // 0x4
+    field public static final int TIMEZONE_ICU = 0; // 0x0
+    field public static final int TIMEZONE_JDK = 1; // 0x1
+    field public static final android.icu.util.TimeZone UNKNOWN_ZONE;
+    field public static final String UNKNOWN_ZONE_ID = "Etc/Unknown";
+  }
+
+  public enum TimeZone.SystemTimeZoneType {
+    enum_constant public static final android.icu.util.TimeZone.SystemTimeZoneType ANY;
+    enum_constant public static final android.icu.util.TimeZone.SystemTimeZoneType CANONICAL;
+    enum_constant public static final android.icu.util.TimeZone.SystemTimeZoneType CANONICAL_LOCATION;
+  }
+
+  public final class ULocale implements java.lang.Comparable<android.icu.util.ULocale> java.io.Serializable {
+    ctor public ULocale(String);
+    ctor public ULocale(String, String);
+    ctor public ULocale(String, String, String);
+    method public static android.icu.util.ULocale acceptLanguage(String, android.icu.util.ULocale[], boolean[]);
+    method public static android.icu.util.ULocale acceptLanguage(android.icu.util.ULocale[], android.icu.util.ULocale[], boolean[]);
+    method public static android.icu.util.ULocale acceptLanguage(String, boolean[]);
+    method public static android.icu.util.ULocale acceptLanguage(android.icu.util.ULocale[], boolean[]);
+    method public static android.icu.util.ULocale addLikelySubtags(android.icu.util.ULocale);
+    method public static String canonicalize(String);
+    method public Object clone();
+    method public int compareTo(android.icu.util.ULocale);
+    method public static android.icu.util.ULocale createCanonical(String);
+    method public static android.icu.util.ULocale forLanguageTag(String);
+    method public static android.icu.util.ULocale forLocale(java.util.Locale);
+    method public static android.icu.util.ULocale[] getAvailableLocales();
+    method public static java.util.Collection<android.icu.util.ULocale> getAvailableLocalesByType(android.icu.util.ULocale.AvailableType);
+    method public String getBaseName();
+    method public static String getBaseName(String);
+    method public String getCharacterOrientation();
+    method public String getCountry();
+    method public static String getCountry(String);
+    method public static android.icu.util.ULocale getDefault();
+    method public static android.icu.util.ULocale getDefault(android.icu.util.ULocale.Category);
+    method public String getDisplayCountry();
+    method public String getDisplayCountry(android.icu.util.ULocale);
+    method public static String getDisplayCountry(String, String);
+    method public static String getDisplayCountry(String, android.icu.util.ULocale);
+    method public static String getDisplayKeyword(String);
+    method public static String getDisplayKeyword(String, String);
+    method public static String getDisplayKeyword(String, android.icu.util.ULocale);
+    method public String getDisplayKeywordValue(String);
+    method public String getDisplayKeywordValue(String, android.icu.util.ULocale);
+    method public static String getDisplayKeywordValue(String, String, String);
+    method public static String getDisplayKeywordValue(String, String, android.icu.util.ULocale);
+    method public String getDisplayLanguage();
+    method public String getDisplayLanguage(android.icu.util.ULocale);
+    method public static String getDisplayLanguage(String, String);
+    method public static String getDisplayLanguage(String, android.icu.util.ULocale);
+    method public String getDisplayLanguageWithDialect();
+    method public String getDisplayLanguageWithDialect(android.icu.util.ULocale);
+    method public static String getDisplayLanguageWithDialect(String, String);
+    method public static String getDisplayLanguageWithDialect(String, android.icu.util.ULocale);
+    method public String getDisplayName();
+    method public String getDisplayName(android.icu.util.ULocale);
+    method public static String getDisplayName(String, String);
+    method public static String getDisplayName(String, android.icu.util.ULocale);
+    method public String getDisplayNameWithDialect();
+    method public String getDisplayNameWithDialect(android.icu.util.ULocale);
+    method public static String getDisplayNameWithDialect(String, String);
+    method public static String getDisplayNameWithDialect(String, android.icu.util.ULocale);
+    method public String getDisplayScript();
+    method public String getDisplayScript(android.icu.util.ULocale);
+    method public static String getDisplayScript(String, String);
+    method public static String getDisplayScript(String, android.icu.util.ULocale);
+    method public String getDisplayVariant();
+    method public String getDisplayVariant(android.icu.util.ULocale);
+    method public static String getDisplayVariant(String, String);
+    method public static String getDisplayVariant(String, android.icu.util.ULocale);
+    method public String getExtension(char);
+    method public java.util.Set<java.lang.Character> getExtensionKeys();
+    method public static String getFallback(String);
+    method public android.icu.util.ULocale getFallback();
+    method public String getISO3Country();
+    method public static String getISO3Country(String);
+    method public String getISO3Language();
+    method public static String getISO3Language(String);
+    method public static String[] getISOCountries();
+    method public static String[] getISOLanguages();
+    method public String getKeywordValue(String);
+    method public static String getKeywordValue(String, String);
+    method public java.util.Iterator<java.lang.String> getKeywords();
+    method public static java.util.Iterator<java.lang.String> getKeywords(String);
+    method public String getLanguage();
+    method public static String getLanguage(String);
+    method public String getLineOrientation();
+    method public String getName();
+    method public static String getName(String);
+    method public String getScript();
+    method public static String getScript(String);
+    method public java.util.Set<java.lang.String> getUnicodeLocaleAttributes();
+    method public java.util.Set<java.lang.String> getUnicodeLocaleKeys();
+    method public String getUnicodeLocaleType(String);
+    method public String getVariant();
+    method public static String getVariant(String);
+    method public boolean isRightToLeft();
+    method public static android.icu.util.ULocale minimizeSubtags(android.icu.util.ULocale);
+    method public android.icu.util.ULocale setKeywordValue(String, String);
+    method public static String setKeywordValue(String, String, String);
+    method public String toLanguageTag();
+    method public static String toLegacyKey(String);
+    method public static String toLegacyType(String, String);
+    method public java.util.Locale toLocale();
+    method public static String toUnicodeLocaleKey(String);
+    method public static String toUnicodeLocaleType(String, String);
+    field public static final android.icu.util.ULocale CANADA;
+    field public static final android.icu.util.ULocale CANADA_FRENCH;
+    field public static final android.icu.util.ULocale CHINA;
+    field public static final android.icu.util.ULocale CHINESE;
+    field public static final android.icu.util.ULocale ENGLISH;
+    field public static final android.icu.util.ULocale FRANCE;
+    field public static final android.icu.util.ULocale FRENCH;
+    field public static final android.icu.util.ULocale GERMAN;
+    field public static final android.icu.util.ULocale GERMANY;
+    field public static final android.icu.util.ULocale ITALIAN;
+    field public static final android.icu.util.ULocale ITALY;
+    field public static final android.icu.util.ULocale JAPAN;
+    field public static final android.icu.util.ULocale JAPANESE;
+    field public static final android.icu.util.ULocale KOREA;
+    field public static final android.icu.util.ULocale KOREAN;
+    field public static final android.icu.util.ULocale PRC;
+    field public static final char PRIVATE_USE_EXTENSION = 120; // 0x0078 'x'
+    field public static final android.icu.util.ULocale ROOT;
+    field public static final android.icu.util.ULocale SIMPLIFIED_CHINESE;
+    field public static final android.icu.util.ULocale TAIWAN;
+    field public static final android.icu.util.ULocale TRADITIONAL_CHINESE;
+    field public static final android.icu.util.ULocale UK;
+    field public static final char UNICODE_LOCALE_EXTENSION = 117; // 0x0075 'u'
+    field public static final android.icu.util.ULocale US;
+  }
+
+  public enum ULocale.AvailableType {
+    enum_constant public static final android.icu.util.ULocale.AvailableType DEFAULT;
+    enum_constant public static final android.icu.util.ULocale.AvailableType ONLY_LEGACY_ALIASES;
+    enum_constant public static final android.icu.util.ULocale.AvailableType WITH_LEGACY_ALIASES;
+  }
+
+  public static final class ULocale.Builder {
+    ctor public ULocale.Builder();
+    method public android.icu.util.ULocale.Builder addUnicodeLocaleAttribute(String);
+    method public android.icu.util.ULocale build();
+    method public android.icu.util.ULocale.Builder clear();
+    method public android.icu.util.ULocale.Builder clearExtensions();
+    method public android.icu.util.ULocale.Builder removeUnicodeLocaleAttribute(String);
+    method public android.icu.util.ULocale.Builder setExtension(char, String);
+    method public android.icu.util.ULocale.Builder setLanguage(String);
+    method public android.icu.util.ULocale.Builder setLanguageTag(String);
+    method public android.icu.util.ULocale.Builder setLocale(android.icu.util.ULocale);
+    method public android.icu.util.ULocale.Builder setRegion(String);
+    method public android.icu.util.ULocale.Builder setScript(String);
+    method public android.icu.util.ULocale.Builder setUnicodeLocaleKeyword(String, String);
+    method public android.icu.util.ULocale.Builder setVariant(String);
+  }
+
+  public enum ULocale.Category {
+    enum_constant public static final android.icu.util.ULocale.Category DISPLAY;
+    enum_constant public static final android.icu.util.ULocale.Category FORMAT;
+  }
+
+  public final class UniversalTimeScale {
+    method public static android.icu.math.BigDecimal bigDecimalFrom(double, int);
+    method public static android.icu.math.BigDecimal bigDecimalFrom(long, int);
+    method public static android.icu.math.BigDecimal bigDecimalFrom(android.icu.math.BigDecimal, int);
+    method public static long from(long, int);
+    method public static long getTimeScaleValue(int, int);
+    method public static android.icu.math.BigDecimal toBigDecimal(long, int);
+    method public static android.icu.math.BigDecimal toBigDecimal(android.icu.math.BigDecimal, int);
+    method public static long toLong(long, int);
+    field public static final int DB2_TIME = 8; // 0x8
+    field public static final int DOTNET_DATE_TIME = 4; // 0x4
+    field public static final int EPOCH_OFFSET_PLUS_1_VALUE = 6; // 0x6
+    field public static final int EPOCH_OFFSET_VALUE = 1; // 0x1
+    field public static final int EXCEL_TIME = 7; // 0x7
+    field public static final int FROM_MAX_VALUE = 3; // 0x3
+    field public static final int FROM_MIN_VALUE = 2; // 0x2
+    field public static final int ICU4C_TIME = 2; // 0x2
+    field public static final int JAVA_TIME = 0; // 0x0
+    field public static final int MAC_OLD_TIME = 5; // 0x5
+    field public static final int MAC_TIME = 6; // 0x6
+    field @Deprecated public static final int MAX_SCALE = 10; // 0xa
+    field public static final int TO_MAX_VALUE = 5; // 0x5
+    field public static final int TO_MIN_VALUE = 4; // 0x4
+    field public static final int UNITS_VALUE = 0; // 0x0
+    field public static final int UNIX_MICROSECONDS_TIME = 9; // 0x9
+    field public static final int UNIX_TIME = 1; // 0x1
+    field public static final int WINDOWS_FILE_TIME = 3; // 0x3
+  }
+
+  public interface ValueIterator {
+    method public boolean next(android.icu.util.ValueIterator.Element);
+    method public void reset();
+    method public void setRange(int, int);
+  }
+
+  public static final class ValueIterator.Element {
+    ctor public ValueIterator.Element();
+    field public int integer;
+    field public Object value;
+  }
+
+  public final class VersionInfo implements java.lang.Comparable<android.icu.util.VersionInfo> {
+    method public int compareTo(android.icu.util.VersionInfo);
+    method public static android.icu.util.VersionInfo getInstance(String);
+    method public static android.icu.util.VersionInfo getInstance(int, int, int, int);
+    method public static android.icu.util.VersionInfo getInstance(int, int, int);
+    method public static android.icu.util.VersionInfo getInstance(int, int);
+    method public static android.icu.util.VersionInfo getInstance(int);
+    method public int getMajor();
+    method public int getMicro();
+    method public int getMilli();
+    method public int getMinor();
+    field public static final android.icu.util.VersionInfo ICU_VERSION;
+    field public static final android.icu.util.VersionInfo UCOL_BUILDER_VERSION;
+    field public static final android.icu.util.VersionInfo UCOL_RUNTIME_VERSION;
+    field public static final android.icu.util.VersionInfo UNICODE_10_0;
+    field public static final android.icu.util.VersionInfo UNICODE_11_0;
+    field public static final android.icu.util.VersionInfo UNICODE_12_0;
+    field public static final android.icu.util.VersionInfo UNICODE_12_1;
+    field public static final android.icu.util.VersionInfo UNICODE_13_0;
+    field public static final android.icu.util.VersionInfo UNICODE_1_0;
+    field public static final android.icu.util.VersionInfo UNICODE_1_0_1;
+    field public static final android.icu.util.VersionInfo UNICODE_1_1_0;
+    field public static final android.icu.util.VersionInfo UNICODE_1_1_5;
+    field public static final android.icu.util.VersionInfo UNICODE_2_0;
+    field public static final android.icu.util.VersionInfo UNICODE_2_1_2;
+    field public static final android.icu.util.VersionInfo UNICODE_2_1_5;
+    field public static final android.icu.util.VersionInfo UNICODE_2_1_8;
+    field public static final android.icu.util.VersionInfo UNICODE_2_1_9;
+    field public static final android.icu.util.VersionInfo UNICODE_3_0;
+    field public static final android.icu.util.VersionInfo UNICODE_3_0_1;
+    field public static final android.icu.util.VersionInfo UNICODE_3_1_0;
+    field public static final android.icu.util.VersionInfo UNICODE_3_1_1;
+    field public static final android.icu.util.VersionInfo UNICODE_3_2;
+    field public static final android.icu.util.VersionInfo UNICODE_4_0;
+    field public static final android.icu.util.VersionInfo UNICODE_4_0_1;
+    field public static final android.icu.util.VersionInfo UNICODE_4_1;
+    field public static final android.icu.util.VersionInfo UNICODE_5_0;
+    field public static final android.icu.util.VersionInfo UNICODE_5_1;
+    field public static final android.icu.util.VersionInfo UNICODE_5_2;
+    field public static final android.icu.util.VersionInfo UNICODE_6_0;
+    field public static final android.icu.util.VersionInfo UNICODE_6_1;
+    field public static final android.icu.util.VersionInfo UNICODE_6_2;
+    field public static final android.icu.util.VersionInfo UNICODE_6_3;
+    field public static final android.icu.util.VersionInfo UNICODE_7_0;
+    field public static final android.icu.util.VersionInfo UNICODE_8_0;
+    field public static final android.icu.util.VersionInfo UNICODE_9_0;
+  }
+
+}
+
diff --git a/32/public/api/service-media-s-removed.txt b/32/public/api/service-media-s-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/service-media-s-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/service-media-s.txt b/32/public/api/service-media-s.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/service-media-s.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/service-permission-removed.txt b/32/public/api/service-permission-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/service-permission-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/api/service-permission.txt b/32/public/api/service-permission.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/public/api/service-permission.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/public/art.jar b/32/public/art.jar
new file mode 100644
index 0000000..d3325b7
--- /dev/null
+++ b/32/public/art.jar
Binary files differ
diff --git a/32/public/com.android.future.usb.accessory.jar b/32/public/com.android.future.usb.accessory.jar
new file mode 100644
index 0000000..fd05f1b
--- /dev/null
+++ b/32/public/com.android.future.usb.accessory.jar
Binary files differ
diff --git a/32/public/com.android.location.provider.jar b/32/public/com.android.location.provider.jar
new file mode 100644
index 0000000..9b31788
--- /dev/null
+++ b/32/public/com.android.location.provider.jar
Binary files differ
diff --git a/32/public/com.android.media.remotedisplay.jar b/32/public/com.android.media.remotedisplay.jar
new file mode 100644
index 0000000..b62b671
--- /dev/null
+++ b/32/public/com.android.media.remotedisplay.jar
Binary files differ
diff --git a/32/public/com.android.media.tv.remoteprovider.jar b/32/public/com.android.media.tv.remoteprovider.jar
new file mode 100644
index 0000000..52d9000
--- /dev/null
+++ b/32/public/com.android.media.tv.remoteprovider.jar
Binary files differ
diff --git a/32/public/com.android.mediadrm.signer.jar b/32/public/com.android.mediadrm.signer.jar
new file mode 100644
index 0000000..52970f5
--- /dev/null
+++ b/32/public/com.android.mediadrm.signer.jar
Binary files differ
diff --git a/32/public/com.android.nfc_extras.jar b/32/public/com.android.nfc_extras.jar
new file mode 100644
index 0000000..d35f3b8
--- /dev/null
+++ b/32/public/com.android.nfc_extras.jar
Binary files differ
diff --git a/32/public/conscrypt-coreplatform.jar b/32/public/conscrypt-coreplatform.jar
new file mode 100644
index 0000000..5c9645a
--- /dev/null
+++ b/32/public/conscrypt-coreplatform.jar
Binary files differ
diff --git a/32/public/conscrypt.jar b/32/public/conscrypt.jar
new file mode 100644
index 0000000..e0e7117
--- /dev/null
+++ b/32/public/conscrypt.jar
Binary files differ
diff --git a/32/public/core-for-system-modules.jar b/32/public/core-for-system-modules.jar
new file mode 100644
index 0000000..8958111
--- /dev/null
+++ b/32/public/core-for-system-modules.jar
Binary files differ
diff --git a/32/public/data/annotations.zip b/32/public/data/annotations.zip
new file mode 100644
index 0000000..3d8a0bb
--- /dev/null
+++ b/32/public/data/annotations.zip
Binary files differ
diff --git a/32/public/data/api-versions-filtered.xml b/32/public/data/api-versions-filtered.xml
new file mode 100644
index 0000000..02d77f5
--- /dev/null
+++ b/32/public/data/api-versions-filtered.xml
@@ -0,0 +1,80544 @@
+<api version="2">
+	<class name="android/Manifest" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/Manifest$permission" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="ACCEPT_HANDOVER" since="28" />
+		<field name="ACCESS_BACKGROUND_LOCATION" since="29" />
+		<field name="ACCESS_BLOBS_ACROSS_USERS" since="31" />
+		<field name="ACCESS_CHECKIN_PROPERTIES" />
+		<field name="ACCESS_COARSE_LOCATION" />
+		<field name="ACCESS_FINE_LOCATION" />
+		<field name="ACCESS_LOCATION_EXTRA_COMMANDS" />
+		<field name="ACCESS_MEDIA_LOCATION" since="29" />
+		<field name="ACCESS_MOCK_LOCATION" removed="23" />
+		<field name="ACCESS_NETWORK_STATE" />
+		<field name="ACCESS_NOTIFICATION_POLICY" since="23" />
+		<field name="ACCESS_SURFACE_FLINGER" removed="23" />
+		<field name="ACCESS_WIFI_STATE" />
+		<field name="ACCOUNT_MANAGER" since="5" />
+		<field name="ACTIVITY_RECOGNITION" since="29" />
+		<field name="ADD_SYSTEM_SERVICE" removed="4" />
+		<field name="ADD_VOICEMAIL" since="14" />
+		<field name="ANSWER_PHONE_CALLS" since="26" />
+		<field name="AUTHENTICATE_ACCOUNTS" since="5" removed="23" />
+		<field name="BATTERY_STATS" />
+		<field name="BIND_ACCESSIBILITY_SERVICE" since="16" />
+		<field name="BIND_APPWIDGET" since="3" />
+		<field name="BIND_AUTOFILL_SERVICE" since="26" />
+		<field name="BIND_CALL_REDIRECTION_SERVICE" since="29" />
+		<field name="BIND_CARRIER_MESSAGING_CLIENT_SERVICE" since="29" />
+		<field name="BIND_CARRIER_MESSAGING_SERVICE" since="22" deprecated="23" />
+		<field name="BIND_CARRIER_SERVICES" since="23" />
+		<field name="BIND_CHOOSER_TARGET_SERVICE" since="23" deprecated="30" />
+		<field name="BIND_COMPANION_DEVICE_SERVICE" since="31" />
+		<field name="BIND_CONDITION_PROVIDER_SERVICE" since="24" />
+		<field name="BIND_CONTROLS" since="30" />
+		<field name="BIND_DEVICE_ADMIN" since="8" />
+		<field name="BIND_DREAM_SERVICE" since="21" />
+		<field name="BIND_INCALL_SERVICE" since="23" />
+		<field name="BIND_INPUT_METHOD" since="3" />
+		<field name="BIND_MIDI_DEVICE_SERVICE" since="23" />
+		<field name="BIND_NFC_SERVICE" since="19" />
+		<field name="BIND_NOTIFICATION_LISTENER_SERVICE" since="18" />
+		<field name="BIND_PRINT_SERVICE" since="19" />
+		<field name="BIND_QUICK_ACCESS_WALLET_SERVICE" since="30" />
+		<field name="BIND_QUICK_SETTINGS_TILE" since="24" />
+		<field name="BIND_REMOTEVIEWS" since="11" />
+		<field name="BIND_SCREENING_SERVICE" since="24" />
+		<field name="BIND_TELECOM_CONNECTION_SERVICE" since="23" />
+		<field name="BIND_TEXT_SERVICE" since="14" />
+		<field name="BIND_TV_INPUT" since="21" />
+		<field name="BIND_VISUAL_VOICEMAIL_SERVICE" since="26" />
+		<field name="BIND_VOICE_INTERACTION" since="21" />
+		<field name="BIND_VPN_SERVICE" since="14" />
+		<field name="BIND_VR_LISTENER_SERVICE" since="24" />
+		<field name="BIND_WALLPAPER" since="8" />
+		<field name="BLUETOOTH" />
+		<field name="BLUETOOTH_ADMIN" />
+		<field name="BLUETOOTH_ADVERTISE" since="31" />
+		<field name="BLUETOOTH_CONNECT" since="31" />
+		<field name="BLUETOOTH_PRIVILEGED" since="19" />
+		<field name="BLUETOOTH_SCAN" since="31" />
+		<field name="BODY_SENSORS" since="20" />
+		<field name="BRICK" removed="23" />
+		<field name="BROADCAST_PACKAGE_REMOVED" />
+		<field name="BROADCAST_SMS" since="2" />
+		<field name="BROADCAST_STICKY" />
+		<field name="BROADCAST_WAP_PUSH" since="2" />
+		<field name="CALL_COMPANION_APP" since="29" />
+		<field name="CALL_PHONE" />
+		<field name="CALL_PRIVILEGED" />
+		<field name="CAMERA" />
+		<field name="CAPTURE_AUDIO_OUTPUT" since="19" />
+		<field name="CAPTURE_SECURE_VIDEO_OUTPUT" since="19" removed="29" />
+		<field name="CAPTURE_VIDEO_OUTPUT" since="19" removed="29" />
+		<field name="CHANGE_COMPONENT_ENABLED_STATE" />
+		<field name="CHANGE_CONFIGURATION" />
+		<field name="CHANGE_NETWORK_STATE" />
+		<field name="CHANGE_WIFI_MULTICAST_STATE" since="4" />
+		<field name="CHANGE_WIFI_STATE" />
+		<field name="CLEAR_APP_CACHE" />
+		<field name="CLEAR_APP_USER_DATA" removed="23" />
+		<field name="CONTROL_LOCATION_UPDATES" />
+		<field name="DELETE_CACHE_FILES" />
+		<field name="DELETE_PACKAGES" />
+		<field name="DEVICE_POWER" removed="23" />
+		<field name="DIAGNOSTIC" />
+		<field name="DISABLE_KEYGUARD" />
+		<field name="DUMP" />
+		<field name="EXPAND_STATUS_BAR" />
+		<field name="FACTORY_TEST" />
+		<field name="FLASHLIGHT" removed="24" />
+		<field name="FORCE_BACK" removed="23" />
+		<field name="FOREGROUND_SERVICE" since="28" />
+		<field name="FOTA_UPDATE" removed="4" />
+		<field name="GET_ACCOUNTS" />
+		<field name="GET_ACCOUNTS_PRIVILEGED" since="23" />
+		<field name="GET_PACKAGE_SIZE" />
+		<field name="GET_TASKS" deprecated="21" />
+		<field name="GET_TOP_ACTIVITY_INFO" since="18" removed="23" />
+		<field name="GLOBAL_SEARCH" since="4" />
+		<field name="HARDWARE_TEST" removed="23" />
+		<field name="HIDE_OVERLAY_WINDOWS" since="31" />
+		<field name="HIGH_SAMPLING_RATE_SENSORS" since="31" />
+		<field name="INJECT_EVENTS" removed="23" />
+		<field name="INSTALL_LOCATION_PROVIDER" since="4" />
+		<field name="INSTALL_PACKAGES" />
+		<field name="INSTALL_SHORTCUT" since="19" />
+		<field name="INSTANT_APP_FOREGROUND_SERVICE" since="26" />
+		<field name="INTERACT_ACROSS_PROFILES" since="30" />
+		<field name="INTERNAL_SYSTEM_WINDOW" removed="23" />
+		<field name="INTERNET" />
+		<field name="KILL_BACKGROUND_PROCESSES" since="8" />
+		<field name="LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK" since="33" />
+		<field name="LOADER_USAGE_STATS" since="30" />
+		<field name="LOCATION_HARDWARE" since="18" />
+		<field name="MANAGE_ACCOUNTS" since="5" removed="23" />
+		<field name="MANAGE_APP_TOKENS" removed="23" />
+		<field name="MANAGE_DOCUMENTS" since="19" />
+		<field name="MANAGE_EXTERNAL_STORAGE" since="30" />
+		<field name="MANAGE_MEDIA" since="31" />
+		<field name="MANAGE_ONGOING_CALLS" since="31" />
+		<field name="MANAGE_OWN_CALLS" since="26" />
+		<field name="MASTER_CLEAR" />
+		<field name="MEDIA_CONTENT_CONTROL" since="19" />
+		<field name="MODIFY_AUDIO_SETTINGS" />
+		<field name="MODIFY_PHONE_STATE" />
+		<field name="MOUNT_FORMAT_FILESYSTEMS" since="3" />
+		<field name="MOUNT_UNMOUNT_FILESYSTEMS" />
+		<field name="NFC" since="9" />
+		<field name="NFC_PREFERRED_PAYMENT_INFO" since="30" />
+		<field name="NFC_TRANSACTION_EVENT" since="28" />
+		<field name="PACKAGE_USAGE_STATS" since="23" />
+		<field name="PERSISTENT_ACTIVITY" deprecated="15" />
+		<field name="PROCESS_OUTGOING_CALLS" deprecated="29" />
+		<field name="QUERY_ALL_PACKAGES" since="30" />
+		<field name="READ_CALENDAR" />
+		<field name="READ_CALL_LOG" since="16" />
+		<field name="READ_CONTACTS" />
+		<field name="READ_EXTERNAL_STORAGE" since="16" />
+		<field name="READ_FRAME_BUFFER" removed="29" />
+		<field name="READ_HISTORY_BOOKMARKS" since="4" removed="23" />
+		<field name="READ_INPUT_STATE" deprecated="16" />
+		<field name="READ_LOGS" />
+		<field name="READ_OWNER_DATA" removed="9" />
+		<field name="READ_PHONE_NUMBERS" since="26" />
+		<field name="READ_PHONE_STATE" />
+		<field name="READ_PRECISE_PHONE_STATE" since="30" />
+		<field name="READ_PROFILE" since="14" removed="23" />
+		<field name="READ_SMS" />
+		<field name="READ_SOCIAL_STREAM" since="15" deprecated="21" removed="23" />
+		<field name="READ_SYNC_SETTINGS" />
+		<field name="READ_SYNC_STATS" />
+		<field name="READ_USER_DICTIONARY" since="16" removed="23" />
+		<field name="READ_VOICEMAIL" since="21" />
+		<field name="REBOOT" />
+		<field name="RECEIVE_BOOT_COMPLETED" />
+		<field name="RECEIVE_MMS" />
+		<field name="RECEIVE_SMS" />
+		<field name="RECEIVE_WAP_PUSH" />
+		<field name="RECORD_AUDIO" />
+		<field name="REORDER_TASKS" />
+		<field name="REQUEST_COMPANION_PROFILE_WATCH" since="31" />
+		<field name="REQUEST_COMPANION_RUN_IN_BACKGROUND" since="26" />
+		<field name="REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND" since="31" />
+		<field name="REQUEST_COMPANION_USE_DATA_IN_BACKGROUND" since="26" />
+		<field name="REQUEST_DELETE_PACKAGES" since="26" />
+		<field name="REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" since="23" />
+		<field name="REQUEST_INSTALL_PACKAGES" since="23" />
+		<field name="REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE" since="31" />
+		<field name="REQUEST_PASSWORD_COMPLEXITY" since="29" />
+		<field name="RESTART_PACKAGES" deprecated="15" />
+		<field name="SCHEDULE_EXACT_ALARM" since="31" />
+		<field name="SEND_RESPOND_VIA_MESSAGE" since="18" />
+		<field name="SEND_SMS" />
+		<field name="SET_ACTIVITY_WATCHER" removed="23" />
+		<field name="SET_ALARM" since="9" />
+		<field name="SET_ALWAYS_FINISH" />
+		<field name="SET_ANIMATION_SCALE" />
+		<field name="SET_DEBUG_APP" />
+		<field name="SET_ORIENTATION" removed="23" />
+		<field name="SET_POINTER_SPEED" since="13" removed="23" />
+		<field name="SET_PREFERRED_APPLICATIONS" deprecated="15" />
+		<field name="SET_PROCESS_FOREGROUND" removed="4" />
+		<field name="SET_PROCESS_LIMIT" />
+		<field name="SET_TIME" since="8" />
+		<field name="SET_TIME_ZONE" />
+		<field name="SET_WALLPAPER" />
+		<field name="SET_WALLPAPER_HINTS" />
+		<field name="SIGNAL_PERSISTENT_PROCESSES" />
+		<field name="SMS_FINANCIAL_TRANSACTIONS" since="29" deprecated="31" />
+		<field name="START_FOREGROUND_SERVICES_FROM_BACKGROUND" since="31" />
+		<field name="START_VIEW_PERMISSION_USAGE" since="29" />
+		<field name="STATUS_BAR" />
+		<field name="SUBSCRIBED_FEEDS_READ" removed="23" />
+		<field name="SUBSCRIBED_FEEDS_WRITE" removed="23" />
+		<field name="SYSTEM_ALERT_WINDOW" />
+		<field name="TRANSMIT_IR" since="19" />
+		<field name="UNINSTALL_SHORTCUT" since="19" />
+		<field name="UPDATE_DEVICE_STATS" since="3" />
+		<field name="UPDATE_PACKAGES_WITHOUT_USER_ACTION" since="31" />
+		<field name="USE_BIOMETRIC" since="28" />
+		<field name="USE_CREDENTIALS" since="5" removed="23" />
+		<field name="USE_FINGERPRINT" since="23" deprecated="28" />
+		<field name="USE_FULL_SCREEN_INTENT" since="29" />
+		<field name="USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER" since="31" />
+		<field name="USE_SIP" since="9" />
+		<field name="UWB_RANGING" since="31" />
+		<field name="VIBRATE" />
+		<field name="WAKE_LOCK" />
+		<field name="WRITE_APN_SETTINGS" />
+		<field name="WRITE_CALENDAR" />
+		<field name="WRITE_CALL_LOG" since="16" />
+		<field name="WRITE_CONTACTS" />
+		<field name="WRITE_EXTERNAL_STORAGE" since="4" />
+		<field name="WRITE_GSERVICES" />
+		<field name="WRITE_HISTORY_BOOKMARKS" since="4" removed="23" />
+		<field name="WRITE_OWNER_DATA" removed="9" />
+		<field name="WRITE_PROFILE" since="14" removed="23" />
+		<field name="WRITE_SECURE_SETTINGS" since="3" />
+		<field name="WRITE_SETTINGS" />
+		<field name="WRITE_SMS" removed="23" />
+		<field name="WRITE_SOCIAL_STREAM" since="15" deprecated="21" removed="23" />
+		<field name="WRITE_SYNC_SETTINGS" />
+		<field name="WRITE_USER_DICTIONARY" since="16" removed="23" />
+		<field name="WRITE_VOICEMAIL" since="21" />
+	</class>
+	<class name="android/Manifest$permission_group" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="ACCESSIBILITY_FEATURES" since="18" removed="23" />
+		<field name="ACCOUNTS" removed="23" />
+		<field name="ACTIVITY_RECOGNITION" since="29" />
+		<field name="AFFECTS_BATTERY" since="17" removed="23" />
+		<field name="APP_INFO" since="17" removed="23" />
+		<field name="AUDIO_SETTINGS" since="17" removed="23" />
+		<field name="BLUETOOTH_NETWORK" since="17" removed="23" />
+		<field name="BOOKMARKS" since="17" removed="23" />
+		<field name="CALENDAR" since="17" />
+		<field name="CALL_LOG" since="28" />
+		<field name="CAMERA" since="17" />
+		<field name="CONTACTS" since="23" />
+		<field name="COST_MONEY" removed="23" />
+		<field name="DEVELOPMENT_TOOLS" removed="23" />
+		<field name="DEVICE_ALARMS" since="17" removed="23" />
+		<field name="DISPLAY" since="17" removed="23" />
+		<field name="HARDWARE_CONTROLS" removed="23" />
+		<field name="LOCATION" />
+		<field name="MESSAGES" removed="23" />
+		<field name="MICROPHONE" since="17" />
+		<field name="NEARBY_DEVICES" since="31" />
+		<field name="NETWORK" removed="23" />
+		<field name="PERSONAL_INFO" removed="23" />
+		<field name="PHONE" since="23" />
+		<field name="PHONE_CALLS" removed="23" />
+		<field name="SCREENLOCK" since="17" removed="23" />
+		<field name="SENSORS" since="23" />
+		<field name="SMS" since="23" />
+		<field name="SOCIAL_INFO" since="17" removed="23" />
+		<field name="STATUS_BAR" since="17" removed="23" />
+		<field name="STORAGE" since="4" />
+		<field name="SYNC_SETTINGS" since="17" removed="23" />
+		<field name="SYSTEM_CLOCK" since="17" removed="23" />
+		<field name="SYSTEM_TOOLS" removed="23" />
+		<field name="USER_DICTIONARY" since="17" removed="23" />
+		<field name="VOICEMAIL" since="17" removed="23" />
+		<field name="WALLPAPER" since="17" removed="23" />
+		<field name="WRITE_USER_DICTIONARY" since="17" removed="23" />
+	</class>
+	<class name="android/R" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/R$anim" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="accelerate_decelerate_interpolator" />
+		<field name="accelerate_interpolator" />
+		<field name="anticipate_interpolator" since="4" />
+		<field name="anticipate_overshoot_interpolator" since="4" />
+		<field name="bounce_interpolator" since="4" />
+		<field name="cycle_interpolator" since="8" />
+		<field name="decelerate_interpolator" />
+		<field name="fade_in" />
+		<field name="fade_out" />
+		<field name="linear_interpolator" since="4" />
+		<field name="overshoot_interpolator" since="4" />
+		<field name="slide_in_left" />
+		<field name="slide_out_right" />
+	</class>
+	<class name="android/R$animator" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="fade_in" />
+		<field name="fade_out" />
+	</class>
+	<class name="android/R$array" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="emailAddressTypes" />
+		<field name="imProtocols" />
+		<field name="organizationTypes" />
+		<field name="phoneTypes" />
+		<field name="postalAddressTypes" />
+	</class>
+	<class name="android/R$attr" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="absListViewStyle" />
+		<field name="accessibilityEventTypes" since="14" />
+		<field name="accessibilityFeedbackType" since="14" />
+		<field name="accessibilityFlags" since="14" />
+		<field name="accessibilityHeading" since="28" />
+		<field name="accessibilityLiveRegion" since="19" />
+		<field name="accessibilityPaneTitle" since="28" />
+		<field name="accessibilityTraversalAfter" since="22" />
+		<field name="accessibilityTraversalBefore" since="22" />
+		<field name="accountPreferences" since="5" />
+		<field name="accountType" since="5" />
+		<field name="action" />
+		<field name="actionBarDivider" since="14" />
+		<field name="actionBarItemBackground" since="14" />
+		<field name="actionBarPopupTheme" since="21" />
+		<field name="actionBarSize" since="11" />
+		<field name="actionBarSplitStyle" since="14" />
+		<field name="actionBarStyle" since="11" />
+		<field name="actionBarTabBarStyle" since="11" />
+		<field name="actionBarTabStyle" since="11" />
+		<field name="actionBarTabTextStyle" since="11" />
+		<field name="actionBarTheme" since="21" />
+		<field name="actionBarWidgetTheme" since="14" />
+		<field name="actionButtonStyle" since="11" />
+		<field name="actionDropDownStyle" since="11" />
+		<field name="actionLayout" since="11" />
+		<field name="actionMenuTextAppearance" since="11" />
+		<field name="actionMenuTextColor" since="11" />
+		<field name="actionModeBackground" since="11" />
+		<field name="actionModeCloseButtonStyle" since="11" />
+		<field name="actionModeCloseDrawable" since="11" />
+		<field name="actionModeCopyDrawable" since="11" />
+		<field name="actionModeCutDrawable" since="11" />
+		<field name="actionModeFindDrawable" since="21" />
+		<field name="actionModePasteDrawable" since="11" />
+		<field name="actionModeSelectAllDrawable" since="14" />
+		<field name="actionModeShareDrawable" since="21" />
+		<field name="actionModeSplitBackground" since="14" />
+		<field name="actionModeStyle" since="14" />
+		<field name="actionModeWebSearchDrawable" since="21" />
+		<field name="actionOverflowButtonStyle" since="11" />
+		<field name="actionOverflowMenuStyle" since="21" />
+		<field name="actionProviderClass" since="14" />
+		<field name="actionViewClass" since="11" />
+		<field name="activatedBackgroundIndicator" since="11" />
+		<field name="activityCloseEnterAnimation" />
+		<field name="activityCloseExitAnimation" />
+		<field name="activityOpenEnterAnimation" />
+		<field name="activityOpenExitAnimation" />
+		<field name="addPrintersActivity" since="19" />
+		<field name="addStatesFromChildren" />
+		<field name="adjustViewBounds" />
+		<field name="advancedPrintOptionsActivity" since="19" />
+		<field name="alertDialogIcon" since="11" />
+		<field name="alertDialogStyle" />
+		<field name="alertDialogTheme" since="11" />
+		<field name="alignmentMode" since="14" />
+		<field name="allContactsName" since="11" />
+		<field name="allowAudioPlaybackCapture" since="29" />
+		<field name="allowBackup" since="4" />
+		<field name="allowClearUserData" />
+		<field name="allowClickWhenDisabled" since="31" />
+		<field name="allowEmbedded" since="20" />
+		<field name="allowNativeHeapPointerTagging" since="30" />
+		<field name="allowParallelSyncs" since="11" />
+		<field name="allowSingleTap" since="3" />
+		<field name="allowTaskReparenting" />
+		<field name="allowUndo" since="23" />
+		<field name="alpha" since="11" />
+		<field name="alphabeticModifiers" since="26" />
+		<field name="alphabeticShortcut" />
+		<field name="alwaysDrawnWithCache" />
+		<field name="alwaysRetainTaskState" />
+		<field name="amPmBackgroundColor" since="21" deprecated="23" />
+		<field name="amPmTextColor" since="21" deprecated="23" />
+		<field name="ambientShadowAlpha" since="21" />
+		<field name="angle" />
+		<field name="animateFirstView" since="11" />
+		<field name="animateLayoutChanges" since="11" />
+		<field name="animateOnClick" since="3" />
+		<field name="animatedImageDrawable" since="30" />
+		<field name="animation" />
+		<field name="animationCache" />
+		<field name="animationDuration" />
+		<field name="animationOrder" />
+		<field name="animationResolution" since="11" deprecated="16" />
+		<field name="antialias" />
+		<field name="anyDensity" since="4" deprecated="30" />
+		<field name="apduServiceBanner" since="19" />
+		<field name="apiKey" />
+		<field name="appCategory" since="26" />
+		<field name="appComponentFactory" since="28" />
+		<field name="attributionTags" since="31" />
+		<field name="attributionsAreUserVisible" since="31" />
+		<field name="author" since="7" />
+		<field name="authorities" />
+		<field name="autoAdvanceViewId" since="11" />
+		<field name="autoCompleteTextViewStyle" />
+		<field name="autoLink" />
+		<field name="autoMirrored" since="19" />
+		<field name="autoRemoveFromRecents" since="21" />
+		<field name="autoRevokePermissions" since="30" />
+		<field name="autoSizeMaxTextSize" since="26" />
+		<field name="autoSizeMinTextSize" since="26" />
+		<field name="autoSizePresetSizes" since="26" />
+		<field name="autoSizeStepGranularity" since="26" />
+		<field name="autoSizeTextType" since="26" />
+		<field name="autoStart" since="7" />
+		<field name="autoText" deprecated="15" />
+		<field name="autoUrlDetect" since="4" />
+		<field name="autoVerify" since="23" />
+		<field name="autofillHints" since="26" />
+		<field name="autofilledHighlight" since="26" />
+		<field name="background" />
+		<field name="backgroundDimAmount" />
+		<field name="backgroundDimEnabled" since="3" />
+		<field name="backgroundSplit" since="14" />
+		<field name="backgroundStacked" since="14" />
+		<field name="backgroundTint" since="21" />
+		<field name="backgroundTintMode" since="21" />
+		<field name="backupAgent" since="4" />
+		<field name="backupInForeground" since="24" />
+		<field name="banner" since="21" />
+		<field name="baseline" since="11" />
+		<field name="baselineAlignBottom" />
+		<field name="baselineAligned" />
+		<field name="baselineAlignedChildIndex" />
+		<field name="bitmap" since="24" />
+		<field name="borderlessButtonStyle" since="11" />
+		<field name="bottom" />
+		<field name="bottomBright" />
+		<field name="bottomDark" />
+		<field name="bottomLeftRadius" />
+		<field name="bottomMedium" />
+		<field name="bottomOffset" since="3" />
+		<field name="bottomRightRadius" />
+		<field name="breadCrumbShortTitle" since="11" />
+		<field name="breadCrumbTitle" since="11" />
+		<field name="breakStrategy" since="23" />
+		<field name="bufferType" />
+		<field name="button" />
+		<field name="buttonBarButtonStyle" since="11" />
+		<field name="buttonBarNegativeButtonStyle" since="21" />
+		<field name="buttonBarNeutralButtonStyle" since="21" />
+		<field name="buttonBarPositiveButtonStyle" since="21" />
+		<field name="buttonBarStyle" since="11" />
+		<field name="buttonCornerRadius" since="28" />
+		<field name="buttonGravity" since="24" />
+		<field name="buttonStyle" />
+		<field name="buttonStyleInset" />
+		<field name="buttonStyleSmall" />
+		<field name="buttonStyleToggle" />
+		<field name="buttonTint" since="21" />
+		<field name="buttonTintMode" since="21" />
+		<field name="cacheColorHint" />
+		<field name="calendarTextColor" since="21" />
+		<field name="calendarViewShown" since="11" />
+		<field name="calendarViewStyle" since="11" />
+		<field name="canControlMagnification" since="24" />
+		<field name="canPauseRecording" since="31" />
+		<field name="canPerformGestures" since="24" />
+		<field name="canRecord" since="24" />
+		<field name="canRequestEnhancedWebAccessibility" since="18" deprecated="26" />
+		<field name="canRequestFilterKeyEvents" since="18" />
+		<field name="canRequestFingerprintGestures" since="26" />
+		<field name="canRequestTouchExplorationMode" since="18" />
+		<field name="canRetrieveWindowContent" since="14" />
+		<field name="canTakeScreenshot" since="30" />
+		<field name="candidatesTextStyleSpans" since="3" />
+		<field name="cantSaveState" since="28" />
+		<field name="capitalize" deprecated="15" />
+		<field name="category" since="19" />
+		<field name="centerBright" />
+		<field name="centerColor" />
+		<field name="centerDark" />
+		<field name="centerMedium" />
+		<field name="centerX" />
+		<field name="centerY" />
+		<field name="certDigest" since="26" />
+		<field name="checkBoxPreferenceStyle" />
+		<field name="checkMark" />
+		<field name="checkMarkTint" since="21" />
+		<field name="checkMarkTintMode" since="21" />
+		<field name="checkable" />
+		<field name="checkableBehavior" />
+		<field name="checkboxStyle" />
+		<field name="checked" />
+		<field name="checkedButton" />
+		<field name="checkedTextViewStyle" since="17" />
+		<field name="childDivider" />
+		<field name="childIndicator" />
+		<field name="childIndicatorEnd" since="18" />
+		<field name="childIndicatorLeft" />
+		<field name="childIndicatorRight" />
+		<field name="childIndicatorStart" since="18" />
+		<field name="choiceMode" />
+		<field name="classLoader" since="27" />
+		<field name="clearTaskOnLaunch" />
+		<field name="clickable" />
+		<field name="clipChildren" />
+		<field name="clipOrientation" />
+		<field name="clipToOutline" since="31" />
+		<field name="clipToPadding" />
+		<field name="closeIcon" since="21" />
+		<field name="codes" since="3" deprecated="29" />
+		<field name="collapseColumns" />
+		<field name="collapseContentDescription" since="22" />
+		<field name="collapseIcon" since="24" />
+		<field name="color" />
+		<field name="colorAccent" since="21" />
+		<field name="colorActivatedHighlight" since="14" />
+		<field name="colorBackground" />
+		<field name="colorBackgroundCacheHint" since="5" />
+		<field name="colorBackgroundFloating" since="23" />
+		<field name="colorButtonNormal" since="21" />
+		<field name="colorControlActivated" since="21" />
+		<field name="colorControlHighlight" since="21" />
+		<field name="colorControlNormal" since="21" />
+		<field name="colorEdgeEffect" since="21" />
+		<field name="colorError" since="26" />
+		<field name="colorFocusedHighlight" since="14" />
+		<field name="colorForeground" />
+		<field name="colorForegroundInverse" />
+		<field name="colorLongPressedHighlight" since="14" />
+		<field name="colorMode" since="26" />
+		<field name="colorMultiSelectHighlight" since="14" />
+		<field name="colorPressedHighlight" since="14" />
+		<field name="colorPrimary" since="21" />
+		<field name="colorPrimaryDark" since="21" />
+		<field name="colorSecondary" since="25" />
+		<field name="columnCount" since="14" />
+		<field name="columnDelay" />
+		<field name="columnOrderPreserved" since="14" />
+		<field name="columnWidth" />
+		<field name="commitIcon" since="21" />
+		<field name="compatibleWidthLimitDp" since="13" />
+		<field name="completionHint" />
+		<field name="completionHintView" />
+		<field name="completionThreshold" />
+		<field name="configChanges" />
+		<field name="configure" since="3" />
+		<field name="constantSize" />
+		<field name="content" since="3" />
+		<field name="contentAgeHint" since="21" />
+		<field name="contentAuthority" since="5" />
+		<field name="contentDescription" since="4" />
+		<field name="contentInsetEnd" since="21" />
+		<field name="contentInsetEndWithActions" since="24" />
+		<field name="contentInsetLeft" since="21" />
+		<field name="contentInsetRight" since="21" />
+		<field name="contentInsetStart" since="21" />
+		<field name="contentInsetStartWithNavigation" since="24" />
+		<field name="contextClickable" since="23" />
+		<field name="contextDescription" since="25" />
+		<field name="contextPopupMenuStyle" since="24" />
+		<field name="contextUri" since="25" />
+		<field name="controlX1" since="21" />
+		<field name="controlX2" since="21" />
+		<field name="controlY1" since="21" />
+		<field name="controlY2" since="21" />
+		<field name="countDown" since="24" />
+		<field name="country" since="21" />
+		<field name="cropToPadding" />
+		<field name="crossProfile" since="30" />
+		<field name="cursorVisible" />
+		<field name="customNavigationLayout" since="11" />
+		<field name="customTokens" since="11" />
+		<field name="cycles" />
+		<field name="dashGap" />
+		<field name="dashWidth" />
+		<field name="data" />
+		<field name="dataExtractionRules" since="31" />
+		<field name="datePickerDialogTheme" since="21" />
+		<field name="datePickerMode" since="21" />
+		<field name="datePickerStyle" since="11" />
+		<field name="dateTextAppearance" since="11" />
+		<field name="dayOfWeekBackground" since="21" deprecated="23" />
+		<field name="dayOfWeekTextAppearance" since="21" deprecated="23" />
+		<field name="debuggable" />
+		<field name="defaultFocusHighlightEnabled" since="26" />
+		<field name="defaultHeight" since="24" />
+		<field name="defaultToDeviceProtectedStorage" since="24" />
+		<field name="defaultValue" />
+		<field name="defaultWidth" since="24" />
+		<field name="delay" />
+		<field name="dependency" />
+		<field name="descendantFocusability" />
+		<field name="description" />
+		<field name="detachWallpaper" since="5" />
+		<field name="detailColumn" since="5" />
+		<field name="detailSocialSummary" since="5" />
+		<field name="detailsElementBackground" since="11" />
+		<field name="dial" />
+		<field name="dialTint" since="31" />
+		<field name="dialTintMode" since="31" />
+		<field name="dialogCornerRadius" since="28" />
+		<field name="dialogIcon" />
+		<field name="dialogLayout" />
+		<field name="dialogMessage" />
+		<field name="dialogPreferenceStyle" />
+		<field name="dialogPreferredPadding" since="22" />
+		<field name="dialogTheme" since="11" />
+		<field name="dialogTitle" />
+		<field name="digits" />
+		<field name="directBootAware" since="24" />
+		<field name="direction" />
+		<field name="directionDescriptions" since="14" deprecated="23" />
+		<field name="directionPriority" />
+		<field name="disableDependentsState" />
+		<field name="disabledAlpha" />
+		<field name="displayOptions" since="11" />
+		<field name="dither" />
+		<field name="divider" />
+		<field name="dividerHeight" />
+		<field name="dividerHorizontal" since="11" />
+		<field name="dividerPadding" since="11" />
+		<field name="dividerVertical" since="11" />
+		<field name="documentLaunchMode" since="21" />
+		<field name="drawSelectorOnTop" />
+		<field name="drawable" />
+		<field name="drawableBottom" />
+		<field name="drawableEnd" since="14" />
+		<field name="drawableLeft" />
+		<field name="drawablePadding" />
+		<field name="drawableRight" />
+		<field name="drawableStart" since="14" />
+		<field name="drawableTint" since="23" />
+		<field name="drawableTintMode" since="23" />
+		<field name="drawableTop" />
+		<field name="drawingCacheQuality" />
+		<field name="dropDownAnchor" since="3" />
+		<field name="dropDownHeight" since="4" />
+		<field name="dropDownHintAppearance" />
+		<field name="dropDownHorizontalOffset" since="5" />
+		<field name="dropDownItemStyle" />
+		<field name="dropDownListViewStyle" />
+		<field name="dropDownSelector" />
+		<field name="dropDownSpinnerStyle" since="11" />
+		<field name="dropDownVerticalOffset" since="5" />
+		<field name="dropDownWidth" since="3" />
+		<field name="duplicateParentState" />
+		<field name="duration" />
+		<field name="editTextBackground" since="11" />
+		<field name="editTextColor" since="11" />
+		<field name="editTextPreferenceStyle" />
+		<field name="editTextStyle" />
+		<field name="editable" deprecated="15" />
+		<field name="editorExtras" since="3" />
+		<field name="effectColor" since="31" />
+		<field name="elegantTextHeight" since="21" />
+		<field name="elevation" since="21" />
+		<field name="ellipsize" />
+		<field name="ems" />
+		<field name="enableVrMode" since="24" />
+		<field name="enabled" deprecated="15" />
+		<field name="end" since="23" />
+		<field name="endColor" />
+		<field name="endX" since="24" />
+		<field name="endY" since="24" />
+		<field name="endYear" deprecated="16" />
+		<field name="enforceNavigationBarContrast" since="29" />
+		<field name="enforceStatusBarContrast" since="29" />
+		<field name="enterFadeDuration" since="11" />
+		<field name="entries" />
+		<field name="entryValues" />
+		<field name="eventsInterceptionEnabled" since="4" />
+		<field name="excludeClass" since="21" />
+		<field name="excludeFromRecents" />
+		<field name="excludeId" since="21" />
+		<field name="excludeName" since="21" />
+		<field name="exitFadeDuration" since="11" />
+		<field name="expandableListPreferredChildIndicatorLeft" />
+		<field name="expandableListPreferredChildIndicatorRight" />
+		<field name="expandableListPreferredChildPaddingLeft" />
+		<field name="expandableListPreferredItemIndicatorLeft" />
+		<field name="expandableListPreferredItemIndicatorRight" />
+		<field name="expandableListPreferredItemPaddingLeft" />
+		<field name="expandableListViewStyle" />
+		<field name="expandableListViewWhiteStyle" since="8" />
+		<field name="exported" />
+		<field name="externalService" since="24" />
+		<field name="extraTension" since="4" />
+		<field name="extractNativeLibs" since="23" />
+		<field name="factor" />
+		<field name="fadeDuration" since="4" />
+		<field name="fadeEnabled" since="4" />
+		<field name="fadeOffset" since="4" />
+		<field name="fadeScrollbars" since="5" />
+		<field name="fadingEdge" deprecated="15" />
+		<field name="fadingEdgeLength" />
+		<field name="fadingMode" since="19" />
+		<field name="fallbackLineSpacing" since="28" />
+		<field name="fastScrollAlwaysVisible" since="11" />
+		<field name="fastScrollEnabled" since="3" />
+		<field name="fastScrollOverlayPosition" since="11" />
+		<field name="fastScrollPreviewBackgroundLeft" since="11" />
+		<field name="fastScrollPreviewBackgroundRight" since="11" />
+		<field name="fastScrollStyle" since="21" />
+		<field name="fastScrollTextColor" since="11" />
+		<field name="fastScrollThumbDrawable" since="11" />
+		<field name="fastScrollTrackDrawable" since="11" />
+		<field name="fillAfter" />
+		<field name="fillAlpha" since="21" />
+		<field name="fillBefore" />
+		<field name="fillColor" since="21" />
+		<field name="fillEnabled" since="3" />
+		<field name="fillType" since="24" />
+		<field name="fillViewport" />
+		<field name="filter" />
+		<field name="filterTouchesWhenObscured" since="9" />
+		<field name="fingerprintAuthDrawable" since="23" />
+		<field name="finishOnCloseSystemDialogs" since="5" />
+		<field name="finishOnTaskLaunch" />
+		<field name="firstBaselineToTopHeight" since="28" />
+		<field name="firstDayOfWeek" since="11" />
+		<field name="fitsSystemWindows" />
+		<field name="flipInterval" />
+		<field name="focusable" />
+		<field name="focusableInTouchMode" />
+		<field name="focusedByDefault" since="26" />
+		<field name="focusedMonthDateColor" since="11" deprecated="23" />
+		<field name="font" since="26" />
+		<field name="fontFamily" since="16" />
+		<field name="fontFeatureSettings" since="21" />
+		<field name="fontProviderAuthority" since="26" deprecated="31" />
+		<field name="fontProviderCerts" since="26" deprecated="31" />
+		<field name="fontProviderPackage" since="26" deprecated="31" />
+		<field name="fontProviderQuery" since="26" deprecated="31" />
+		<field name="fontProviderSystemFontFamily" since="31" />
+		<field name="fontStyle" since="26" />
+		<field name="fontVariationSettings" since="28" />
+		<field name="fontWeight" since="26" />
+		<field name="footerDividersEnabled" since="3" />
+		<field name="forceDarkAllowed" since="29" />
+		<field name="forceHasOverlappingRendering" since="24" />
+		<field name="forceQueryable" since="30" />
+		<field name="forceUriPermissions" since="29" />
+		<field name="foreground" />
+		<field name="foregroundGravity" />
+		<field name="foregroundServiceType" since="29" />
+		<field name="foregroundTint" since="21" />
+		<field name="foregroundTintMode" since="21" />
+		<field name="format" />
+		<field name="format12Hour" since="17" />
+		<field name="format24Hour" since="17" />
+		<field name="fraction" since="23" />
+		<field name="fragment" since="11" />
+		<field name="fragmentAllowEnterTransitionOverlap" since="21" />
+		<field name="fragmentAllowReturnTransitionOverlap" since="21" />
+		<field name="fragmentCloseEnterAnimation" since="11" />
+		<field name="fragmentCloseExitAnimation" since="11" />
+		<field name="fragmentEnterTransition" since="21" />
+		<field name="fragmentExitTransition" since="21" />
+		<field name="fragmentFadeEnterAnimation" since="11" />
+		<field name="fragmentFadeExitAnimation" since="11" />
+		<field name="fragmentOpenEnterAnimation" since="11" />
+		<field name="fragmentOpenExitAnimation" since="11" />
+		<field name="fragmentReenterTransition" since="21" />
+		<field name="fragmentReturnTransition" since="21" />
+		<field name="fragmentSharedElementEnterTransition" since="21" />
+		<field name="fragmentSharedElementReturnTransition" since="21" />
+		<field name="freezesText" />
+		<field name="fromAlpha" />
+		<field name="fromDegrees" />
+		<field name="fromId" since="21" />
+		<field name="fromScene" since="19" />
+		<field name="fromXDelta" />
+		<field name="fromXScale" />
+		<field name="fromYDelta" />
+		<field name="fromYScale" />
+		<field name="fullBackupContent" since="23" />
+		<field name="fullBackupOnly" since="21" />
+		<field name="fullBright" />
+		<field name="fullDark" />
+		<field name="functionalTest" />
+		<field name="galleryItemBackground" />
+		<field name="galleryStyle" />
+		<field name="gestureColor" since="4" />
+		<field name="gestureStrokeAngleThreshold" since="4" />
+		<field name="gestureStrokeLengthThreshold" since="4" />
+		<field name="gestureStrokeSquarenessThreshold" since="4" />
+		<field name="gestureStrokeType" since="4" />
+		<field name="gestureStrokeWidth" since="4" />
+		<field name="glEsVersion" since="4" />
+		<field name="goIcon" since="21" />
+		<field name="gradientRadius" />
+		<field name="grantUriPermissions" />
+		<field name="gravity" />
+		<field name="gridViewStyle" />
+		<field name="groupIndicator" />
+		<field name="gwpAsanMode" since="30" />
+		<field name="hand_hour" />
+		<field name="hand_hourTint" since="31" />
+		<field name="hand_hourTintMode" since="31" />
+		<field name="hand_minute" />
+		<field name="hand_minuteTint" since="31" />
+		<field name="hand_minuteTintMode" since="31" />
+		<field name="hand_second" since="31" />
+		<field name="hand_secondTint" since="31" />
+		<field name="hand_secondTintMode" since="31" />
+		<field name="handle" since="3" />
+		<field name="handleProfiling" />
+		<field name="hapticFeedbackEnabled" since="3" />
+		<field name="hardwareAccelerated" since="11" />
+		<field name="hasCode" />
+		<field name="hasFragileUserData" since="29" />
+		<field name="headerAmPmTextAppearance" since="21" deprecated="23" />
+		<field name="headerBackground" />
+		<field name="headerDayOfMonthTextAppearance" since="21" deprecated="23" />
+		<field name="headerDividersEnabled" since="3" />
+		<field name="headerMonthTextAppearance" since="21" deprecated="23" />
+		<field name="headerTimeTextAppearance" since="21" deprecated="23" />
+		<field name="headerYearTextAppearance" since="21" deprecated="23" />
+		<field name="height" />
+		<field name="hideOnContentScroll" since="21" />
+		<field name="hint" />
+		<field name="homeAsUpIndicator" since="11" />
+		<field name="homeLayout" since="11" />
+		<field name="horizontalDivider" />
+		<field name="horizontalGap" since="3" deprecated="29" />
+		<field name="horizontalScrollViewStyle" since="11" />
+		<field name="horizontalSpacing" />
+		<field name="host" />
+		<field name="hotSpotX" since="24" />
+		<field name="hotSpotY" since="24" />
+		<field name="htmlDescription" since="30" />
+		<field name="hyphenationFrequency" since="23" />
+		<field name="icon" />
+		<field name="iconPreview" since="3" deprecated="29" />
+		<field name="iconSpaceReserved" since="26" />
+		<field name="iconTint" since="26" />
+		<field name="iconTintMode" since="26" />
+		<field name="iconifiedByDefault" since="11" />
+		<field name="id" />
+		<field name="identifier" since="29" />
+		<field name="ignoreGravity" />
+		<field name="imageButtonStyle" />
+		<field name="imageWellStyle" />
+		<field name="imeActionId" since="3" />
+		<field name="imeActionLabel" since="3" />
+		<field name="imeExtractEnterAnimation" since="3" />
+		<field name="imeExtractExitAnimation" since="3" />
+		<field name="imeFullscreenBackground" since="3" />
+		<field name="imeOptions" since="3" />
+		<field name="imeSubtypeExtraValue" since="11" />
+		<field name="imeSubtypeLocale" since="11" />
+		<field name="imeSubtypeMode" since="11" />
+		<field name="immersive" since="11" />
+		<field name="importantForAccessibility" since="16" />
+		<field name="importantForAutofill" since="26" />
+		<field name="importantForContentCapture" since="30" />
+		<field name="inAnimation" />
+		<field name="includeFontPadding" />
+		<field name="includeInGlobalSearch" since="4" />
+		<field name="indeterminate" />
+		<field name="indeterminateBehavior" />
+		<field name="indeterminateDrawable" />
+		<field name="indeterminateDuration" />
+		<field name="indeterminateOnly" />
+		<field name="indeterminateProgressStyle" since="11" />
+		<field name="indeterminateTint" since="21" />
+		<field name="indeterminateTintMode" since="21" />
+		<field name="indicatorEnd" since="18" />
+		<field name="indicatorLeft" />
+		<field name="indicatorRight" />
+		<field name="indicatorStart" since="18" />
+		<field name="inflatedId" />
+		<field name="inheritShowWhenLocked" since="29" />
+		<field name="initOrder" />
+		<field name="initialKeyguardLayout" since="17" />
+		<field name="initialLayout" since="3" />
+		<field name="innerRadius" since="3" />
+		<field name="innerRadiusRatio" />
+		<field name="inputMethod" deprecated="15" />
+		<field name="inputType" since="3" />
+		<field name="inset" since="21" />
+		<field name="insetBottom" />
+		<field name="insetLeft" />
+		<field name="insetRight" />
+		<field name="insetTop" />
+		<field name="installLocation" since="8" />
+		<field name="interactiveUiTimeout" since="29" />
+		<field name="interpolator" />
+		<field name="isAccessibilityTool" since="31" />
+		<field name="isAlwaysSyncable" since="11" />
+		<field name="isAsciiCapable" since="19" />
+		<field name="isAuxiliary" since="14" />
+		<field name="isDefault" since="3" />
+		<field name="isFeatureSplit" since="26" />
+		<field name="isGame" since="21" />
+		<field name="isIndicator" />
+		<field name="isLightTheme" since="29" />
+		<field name="isModifier" since="3" deprecated="29" />
+		<field name="isRepeatable" since="3" deprecated="29" />
+		<field name="isScrollContainer" since="3" />
+		<field name="isSplitRequired" since="29" />
+		<field name="isStatic" since="26" />
+		<field name="isSticky" since="3" deprecated="29" />
+		<field name="isolatedProcess" since="16" />
+		<field name="isolatedSplits" since="26" />
+		<field name="itemBackground" />
+		<field name="itemIconDisabledAlpha" />
+		<field name="itemPadding" since="11" />
+		<field name="itemTextAppearance" />
+		<field name="justificationMode" since="26" />
+		<field name="keepScreenOn" />
+		<field name="key" />
+		<field name="keyBackground" since="3" deprecated="29" />
+		<field name="keyEdgeFlags" since="3" deprecated="29" />
+		<field name="keyHeight" since="3" deprecated="29" />
+		<field name="keyIcon" since="3" deprecated="29" />
+		<field name="keyLabel" since="3" deprecated="29" />
+		<field name="keyOutputText" since="3" deprecated="29" />
+		<field name="keyPreviewHeight" since="3" deprecated="29" />
+		<field name="keyPreviewLayout" since="3" deprecated="29" />
+		<field name="keyPreviewOffset" since="3" deprecated="29" />
+		<field name="keySet" since="19" />
+		<field name="keyTextColor" since="3" deprecated="29" />
+		<field name="keyTextSize" since="3" deprecated="29" />
+		<field name="keyWidth" since="3" deprecated="29" />
+		<field name="keyboardLayout" since="16" />
+		<field name="keyboardMode" since="3" deprecated="29" />
+		<field name="keyboardNavigationCluster" since="26" />
+		<field name="keycode" />
+		<field name="killAfterRestore" since="5" />
+		<field name="knownCerts" since="31" />
+		<field name="lStar" since="31" />
+		<field name="label" />
+		<field name="labelFor" since="17" />
+		<field name="labelTextSize" since="3" deprecated="29" />
+		<field name="languageTag" since="24" />
+		<field name="largeHeap" since="11" />
+		<field name="largeScreens" since="4" />
+		<field name="largestWidthLimitDp" since="13" />
+		<field name="lastBaselineToBottomHeight" since="28" />
+		<field name="launchMode" />
+		<field name="launchTaskBehindSourceAnimation" since="21" />
+		<field name="launchTaskBehindTargetAnimation" since="21" />
+		<field name="layerType" since="11" />
+		<field name="layout" />
+		<field name="layoutAnimation" />
+		<field name="layoutDirection" since="17" />
+		<field name="layoutMode" since="18" />
+		<field name="layout_above" />
+		<field name="layout_alignBaseline" />
+		<field name="layout_alignBottom" />
+		<field name="layout_alignEnd" since="17" />
+		<field name="layout_alignLeft" />
+		<field name="layout_alignParentBottom" />
+		<field name="layout_alignParentEnd" since="17" />
+		<field name="layout_alignParentLeft" />
+		<field name="layout_alignParentRight" />
+		<field name="layout_alignParentStart" since="17" />
+		<field name="layout_alignParentTop" />
+		<field name="layout_alignRight" />
+		<field name="layout_alignStart" since="17" />
+		<field name="layout_alignTop" />
+		<field name="layout_alignWithParentIfMissing" />
+		<field name="layout_below" />
+		<field name="layout_centerHorizontal" />
+		<field name="layout_centerInParent" />
+		<field name="layout_centerVertical" />
+		<field name="layout_column" />
+		<field name="layout_columnSpan" since="14" />
+		<field name="layout_columnWeight" since="21" />
+		<field name="layout_gravity" />
+		<field name="layout_height" />
+		<field name="layout_margin" />
+		<field name="layout_marginBottom" />
+		<field name="layout_marginEnd" since="17" />
+		<field name="layout_marginHorizontal" since="26" />
+		<field name="layout_marginLeft" />
+		<field name="layout_marginRight" />
+		<field name="layout_marginStart" since="17" />
+		<field name="layout_marginTop" />
+		<field name="layout_marginVertical" since="26" />
+		<field name="layout_row" since="14" />
+		<field name="layout_rowSpan" since="14" />
+		<field name="layout_rowWeight" since="21" />
+		<field name="layout_scale" />
+		<field name="layout_span" />
+		<field name="layout_toEndOf" since="17" />
+		<field name="layout_toLeftOf" />
+		<field name="layout_toRightOf" />
+		<field name="layout_toStartOf" since="17" />
+		<field name="layout_weight" />
+		<field name="layout_width" />
+		<field name="layout_x" />
+		<field name="layout_y" />
+		<field name="left" />
+		<field name="letterSpacing" since="21" />
+		<field name="level" since="24" />
+		<field name="lineHeight" since="28" />
+		<field name="lineSpacingExtra" />
+		<field name="lineSpacingMultiplier" />
+		<field name="lines" />
+		<field name="linksClickable" />
+		<field name="listChoiceBackgroundIndicator" since="11" />
+		<field name="listChoiceIndicatorMultiple" />
+		<field name="listChoiceIndicatorSingle" />
+		<field name="listDivider" />
+		<field name="listDividerAlertDialog" since="11" />
+		<field name="listMenuViewStyle" since="24" />
+		<field name="listPopupWindowStyle" since="11" />
+		<field name="listPreferredItemHeight" />
+		<field name="listPreferredItemHeightLarge" since="14" />
+		<field name="listPreferredItemHeightSmall" since="14" />
+		<field name="listPreferredItemPaddingEnd" since="17" />
+		<field name="listPreferredItemPaddingLeft" since="14" />
+		<field name="listPreferredItemPaddingRight" since="14" />
+		<field name="listPreferredItemPaddingStart" since="17" />
+		<field name="listSelector" />
+		<field name="listSeparatorTextViewStyle" />
+		<field name="listViewStyle" />
+		<field name="listViewWhiteStyle" />
+		<field name="lockTaskMode" since="23" />
+		<field name="logo" since="11" />
+		<field name="logoDescription" since="23" />
+		<field name="longClickable" />
+		<field name="loopViews" since="11" />
+		<field name="manageSpaceActivity" />
+		<field name="mapViewStyle" />
+		<field name="marqueeRepeatLimit" since="2" />
+		<field name="matchOrder" since="21" />
+		<field name="max" />
+		<field name="maxAspectRatio" since="26" />
+		<field name="maxButtonHeight" since="24" />
+		<field name="maxDate" since="11" />
+		<field name="maxEms" />
+		<field name="maxHeight" />
+		<field name="maxItemsPerRow" />
+		<field name="maxLength" />
+		<field name="maxLevel" />
+		<field name="maxLines" />
+		<field name="maxLongVersionCode" since="28" />
+		<field name="maxRecents" since="21" />
+		<field name="maxResizeHeight" since="31" />
+		<field name="maxResizeWidth" since="31" />
+		<field name="maxRows" />
+		<field name="maxSdkVersion" since="4" />
+		<field name="maxWidth" />
+		<field name="maximumAngle" since="21" />
+		<field name="measureAllChildren" />
+		<field name="measureWithLargestChild" since="11" />
+		<field name="mediaRouteButtonStyle" since="16" />
+		<field name="mediaRouteTypes" since="16" />
+		<field name="memtagMode" since="31" />
+		<field name="menuCategory" />
+		<field name="mimeGroup" since="30" />
+		<field name="mimeType" />
+		<field name="min" since="26" />
+		<field name="minAspectRatio" since="29" />
+		<field name="minDate" since="11" />
+		<field name="minEms" />
+		<field name="minHeight" />
+		<field name="minLevel" />
+		<field name="minLines" />
+		<field name="minResizeHeight" since="14" />
+		<field name="minResizeWidth" since="14" />
+		<field name="minSdkVersion" />
+		<field name="minWidth" />
+		<field name="minimumHorizontalAngle" since="21" />
+		<field name="minimumVerticalAngle" since="21" />
+		<field name="mipMap" since="18" />
+		<field name="mirrorForRtl" since="18" />
+		<field name="mode" />
+		<field name="moreIcon" />
+		<field name="multiArch" since="21" />
+		<field name="multiprocess" />
+		<field name="name" />
+		<field name="nativeHeapZeroInitialized" since="31" />
+		<field name="navigationBarColor" since="21" />
+		<field name="navigationBarDividerColor" since="27" />
+		<field name="navigationContentDescription" since="21" />
+		<field name="navigationIcon" since="21" />
+		<field name="navigationMode" since="11" />
+		<field name="negativeButtonText" />
+		<field name="nestedScrollingEnabled" since="21" />
+		<field name="networkSecurityConfig" since="24" />
+		<field name="nextClusterForward" since="26" />
+		<field name="nextFocusDown" />
+		<field name="nextFocusForward" since="11" />
+		<field name="nextFocusLeft" />
+		<field name="nextFocusRight" />
+		<field name="nextFocusUp" />
+		<field name="noHistory" since="3" />
+		<field name="nonInteractiveUiTimeout" since="29" />
+		<field name="normalScreens" since="4" />
+		<field name="notificationTimeout" since="14" />
+		<field name="numColumns" />
+		<field name="numStars" />
+		<field name="numberPickerStyle" since="24" />
+		<field name="numbersBackgroundColor" since="21" />
+		<field name="numbersInnerTextColor" since="23" />
+		<field name="numbersSelectorColor" since="21" />
+		<field name="numbersTextColor" since="21" />
+		<field name="numeric" deprecated="15" />
+		<field name="numericModifiers" since="26" />
+		<field name="numericShortcut" />
+		<field name="offset" since="24" />
+		<field name="onClick" since="4" deprecated="31" />
+		<field name="oneshot" />
+		<field name="opacity" since="11" />
+		<field name="opticalInsetBottom" since="29" />
+		<field name="opticalInsetLeft" since="29" />
+		<field name="opticalInsetRight" since="29" />
+		<field name="opticalInsetTop" since="29" />
+		<field name="order" />
+		<field name="orderInCategory" />
+		<field name="ordering" since="11" />
+		<field name="orderingFromXml" />
+		<field name="orientation" />
+		<field name="outAnimation" />
+		<field name="outlineAmbientShadowColor" since="28" />
+		<field name="outlineProvider" since="21" />
+		<field name="outlineSpotShadowColor" since="28" />
+		<field name="overScrollFooter" since="9" />
+		<field name="overScrollHeader" since="9" />
+		<field name="overScrollMode" since="9" />
+		<field name="overlapAnchor" since="21" />
+		<field name="overridesImplicitlyEnabledSubtype" since="14" />
+		<field name="packageNames" since="14" />
+		<field name="packageType" since="29" />
+		<field name="padding" />
+		<field name="paddingBottom" />
+		<field name="paddingEnd" since="17" />
+		<field name="paddingHorizontal" since="26" />
+		<field name="paddingLeft" />
+		<field name="paddingMode" since="21" />
+		<field name="paddingRight" />
+		<field name="paddingStart" since="17" />
+		<field name="paddingTop" />
+		<field name="paddingVertical" since="26" />
+		<field name="panelBackground" />
+		<field name="panelColorBackground" />
+		<field name="panelColorForeground" />
+		<field name="panelFullBackground" />
+		<field name="panelTextAppearance" />
+		<field name="parentActivityName" since="16" />
+		<field name="password" deprecated="15" />
+		<field name="passwordsActivity" since="31" />
+		<field name="path" />
+		<field name="pathAdvancedPattern" since="31" />
+		<field name="pathData" since="21" />
+		<field name="pathPattern" />
+		<field name="pathPrefix" />
+		<field name="pathSuffix" since="31" />
+		<field name="patternPathData" since="21" />
+		<field name="permission" />
+		<field name="permissionFlags" since="17" />
+		<field name="permissionGroup" />
+		<field name="permissionGroupFlags" since="17" />
+		<field name="persistableMode" since="21" />
+		<field name="persistent" />
+		<field name="persistentDrawingCache" />
+		<field name="persistentWhenFeatureAvailable" since="26" />
+		<field name="phoneNumber" deprecated="15" />
+		<field name="pivotX" />
+		<field name="pivotY" />
+		<field name="pointerIcon" since="24" />
+		<field name="popupAnimationStyle" since="9" />
+		<field name="popupBackground" />
+		<field name="popupCharacters" since="3" deprecated="29" />
+		<field name="popupElevation" since="21" />
+		<field name="popupEnterTransition" since="24" />
+		<field name="popupExitTransition" since="24" />
+		<field name="popupKeyboard" since="3" deprecated="29" />
+		<field name="popupLayout" since="3" deprecated="29" />
+		<field name="popupMenuStyle" since="11" />
+		<field name="popupTheme" since="21" />
+		<field name="popupWindowStyle" />
+		<field name="port" />
+		<field name="positiveButtonText" />
+		<field name="preferMinimalPostProcessing" since="30" />
+		<field name="preferenceCategoryStyle" />
+		<field name="preferenceFragmentStyle" since="24" />
+		<field name="preferenceInformationStyle" />
+		<field name="preferenceLayoutChild" />
+		<field name="preferenceScreenStyle" />
+		<field name="preferenceStyle" />
+		<field name="presentationTheme" since="17" />
+		<field name="preserveLegacyExternalStorage" since="30" />
+		<field name="previewImage" since="11" />
+		<field name="previewLayout" since="31" />
+		<field name="primaryContentAlpha" since="26" />
+		<field name="priority" />
+		<field name="privateImeOptions" since="3" />
+		<field name="process" />
+		<field name="progress" />
+		<field name="progressBackgroundTint" since="21" />
+		<field name="progressBackgroundTintMode" since="21" />
+		<field name="progressBarPadding" since="11" />
+		<field name="progressBarStyle" />
+		<field name="progressBarStyleHorizontal" />
+		<field name="progressBarStyleInverse" since="4" />
+		<field name="progressBarStyleLarge" />
+		<field name="progressBarStyleLargeInverse" since="4" />
+		<field name="progressBarStyleSmall" />
+		<field name="progressBarStyleSmallInverse" since="4" />
+		<field name="progressBarStyleSmallTitle" />
+		<field name="progressDrawable" />
+		<field name="progressTint" since="21" />
+		<field name="progressTintMode" since="21" />
+		<field name="prompt" />
+		<field name="propertyName" since="11" />
+		<field name="propertyXName" since="21" />
+		<field name="propertyYName" since="21" />
+		<field name="protectionLevel" />
+		<field name="publicKey" since="14" />
+		<field name="queryActionMsg" />
+		<field name="queryAfterZeroResults" since="4" />
+		<field name="queryBackground" since="21" />
+		<field name="queryHint" since="11" />
+		<field name="quickContactBadgeStyleSmallWindowLarge" since="6" />
+		<field name="quickContactBadgeStyleSmallWindowMedium" since="6" />
+		<field name="quickContactBadgeStyleSmallWindowSmall" since="6" />
+		<field name="quickContactBadgeStyleWindowLarge" since="6" />
+		<field name="quickContactBadgeStyleWindowMedium" since="6" />
+		<field name="quickContactBadgeStyleWindowSmall" since="6" />
+		<field name="radioButtonStyle" />
+		<field name="radius" />
+		<field name="rating" />
+		<field name="ratingBarStyle" />
+		<field name="ratingBarStyleIndicator" />
+		<field name="ratingBarStyleSmall" />
+		<field name="readPermission" />
+		<field name="recognitionService" since="21" />
+		<field name="recreateOnConfigChanges" since="26" />
+		<field name="recycleEnabled" since="26" />
+		<field name="relinquishTaskIdentity" since="21" />
+		<field name="reparent" since="21" />
+		<field name="reparentWithOverlay" since="21" />
+		<field name="repeatCount" />
+		<field name="repeatMode" />
+		<field name="reqFiveWayNav" since="3" />
+		<field name="reqHardKeyboard" since="3" />
+		<field name="reqKeyboardType" since="3" />
+		<field name="reqNavigation" since="3" />
+		<field name="reqTouchScreen" since="3" />
+		<field name="requestLegacyExternalStorage" since="29" />
+		<field name="requestRawExternalStorageAccess" since="31" />
+		<field name="requireDeviceScreenOn" since="31" />
+		<field name="requireDeviceUnlock" since="19" />
+		<field name="required" since="5" />
+		<field name="requiredAccountType" since="18" />
+		<field name="requiredFeature" since="26" />
+		<field name="requiredForAllUsers" since="18" />
+		<field name="requiredNotFeature" since="26" />
+		<field name="requiresFadingEdge" since="14" />
+		<field name="requiresSmallestWidthDp" since="13" />
+		<field name="resizeClip" since="22" />
+		<field name="resizeMode" since="12" />
+		<field name="resizeable" since="4" />
+		<field name="resizeableActivity" since="24" />
+		<field name="resource" />
+		<field name="resourcesMap" since="30" />
+		<field name="restoreAnyVersion" since="8" />
+		<field name="restoreNeedsApplication" since="5" deprecated="15" />
+		<field name="restrictedAccountType" since="18" />
+		<field name="restrictionType" since="21" />
+		<field name="resumeWhilePausing" since="21" />
+		<field name="reversible" since="21" />
+		<field name="revisionCode" since="22" />
+		<field name="right" />
+		<field name="ringtonePreferenceStyle" />
+		<field name="ringtoneType" />
+		<field name="rollbackDataPolicy" since="31" />
+		<field name="rotation" since="11" />
+		<field name="rotationAnimation" since="26" />
+		<field name="rotationX" since="11" />
+		<field name="rotationY" since="11" />
+		<field name="roundIcon" since="25" />
+		<field name="rowCount" since="14" />
+		<field name="rowDelay" />
+		<field name="rowEdgeFlags" since="3" deprecated="29" />
+		<field name="rowHeight" />
+		<field name="rowOrderPreserved" since="14" />
+		<field name="saveEnabled" />
+		<field name="scaleGravity" />
+		<field name="scaleHeight" />
+		<field name="scaleType" />
+		<field name="scaleWidth" />
+		<field name="scaleX" since="11" />
+		<field name="scaleY" since="11" />
+		<field name="scheme" />
+		<field name="screenDensity" since="9" />
+		<field name="screenOrientation" />
+		<field name="screenReaderFocusable" since="28" />
+		<field name="screenSize" since="9" />
+		<field name="scrollHorizontally" />
+		<field name="scrollIndicators" since="23" />
+		<field name="scrollViewStyle" />
+		<field name="scrollX" />
+		<field name="scrollY" />
+		<field name="scrollbarAlwaysDrawHorizontalTrack" />
+		<field name="scrollbarAlwaysDrawVerticalTrack" />
+		<field name="scrollbarDefaultDelayBeforeFade" since="5" />
+		<field name="scrollbarFadeDuration" since="5" />
+		<field name="scrollbarSize" />
+		<field name="scrollbarStyle" />
+		<field name="scrollbarThumbHorizontal" />
+		<field name="scrollbarThumbVertical" />
+		<field name="scrollbarTrackHorizontal" />
+		<field name="scrollbarTrackVertical" />
+		<field name="scrollbars" />
+		<field name="scrollingCache" />
+		<field name="searchButtonText" deprecated="15" />
+		<field name="searchHintIcon" since="22" />
+		<field name="searchIcon" since="21" />
+		<field name="searchMode" />
+		<field name="searchSettingsDescription" since="4" />
+		<field name="searchSuggestAuthority" />
+		<field name="searchSuggestIntentAction" />
+		<field name="searchSuggestIntentData" />
+		<field name="searchSuggestPath" />
+		<field name="searchSuggestSelection" />
+		<field name="searchSuggestThreshold" since="4" />
+		<field name="searchViewStyle" since="21" />
+		<field name="secondaryContentAlpha" since="26" />
+		<field name="secondaryProgress" />
+		<field name="secondaryProgressTint" since="21" />
+		<field name="secondaryProgressTintMode" since="21" />
+		<field name="secureElementName" since="29" />
+		<field name="seekBarStyle" />
+		<field name="segmentedButtonStyle" since="11" />
+		<field name="selectAllOnFocus" />
+		<field name="selectable" />
+		<field name="selectableAsDefault" since="31" />
+		<field name="selectableItemBackground" since="11" />
+		<field name="selectableItemBackgroundBorderless" since="21" />
+		<field name="selectedDateVerticalBar" since="11" deprecated="23" />
+		<field name="selectedWeekBackgroundColor" since="11" deprecated="23" />
+		<field name="selectionDividerHeight" since="29" />
+		<field name="sessionService" since="21" />
+		<field name="settingsActivity" since="3" />
+		<field name="settingsSliceUri" since="29" />
+		<field name="setupActivity" since="21" />
+		<field name="shadowColor" />
+		<field name="shadowDx" />
+		<field name="shadowDy" />
+		<field name="shadowRadius" />
+		<field name="shape" />
+		<field name="shareInterpolator" />
+		<field name="sharedUserId" deprecated="29" />
+		<field name="sharedUserLabel" since="3" deprecated="29" />
+		<field name="shell" since="29" />
+		<field name="shortcutDisabledMessage" since="25" />
+		<field name="shortcutId" since="25" />
+		<field name="shortcutLongLabel" since="25" />
+		<field name="shortcutShortLabel" since="25" />
+		<field name="shouldDisableView" />
+		<field name="shouldUseDefaultUnfoldTransition" since="33" />
+		<field name="showAsAction" since="11" />
+		<field name="showDefault" />
+		<field name="showDividers" since="11" />
+		<field name="showForAllUsers" since="23" />
+		<field name="showInInputMethodPicker" since="31" />
+		<field name="showMetadataInPreview" since="25" />
+		<field name="showOnLockScreen" since="17" deprecated="23" />
+		<field name="showSilent" />
+		<field name="showText" since="21" />
+		<field name="showWeekNumber" since="11" deprecated="23" />
+		<field name="showWhenLocked" since="27" />
+		<field name="shownWeekCount" since="11" deprecated="23" />
+		<field name="shrinkColumns" />
+		<field name="singleLine" deprecated="15" />
+		<field name="singleLineTitle" since="26" />
+		<field name="singleUser" since="17" />
+		<field name="slideEdge" since="21" />
+		<field name="smallIcon" since="5" />
+		<field name="smallScreens" since="4" />
+		<field name="smoothScrollbar" since="3" />
+		<field name="soundEffectsEnabled" />
+		<field name="spacing" />
+		<field name="spinnerDropDownItemStyle" />
+		<field name="spinnerItemStyle" />
+		<field name="spinnerMode" since="11" />
+		<field name="spinnerStyle" />
+		<field name="spinnersShown" since="11" />
+		<field name="splashScreenTheme" since="31" />
+		<field name="splitMotionEvents" since="11" />
+		<field name="splitName" since="26" />
+		<field name="splitTrack" since="21" />
+		<field name="spotShadowAlpha" since="21" />
+		<field name="src" />
+		<field name="ssp" since="19" />
+		<field name="sspAdvancedPattern" since="31" />
+		<field name="sspPattern" since="19" />
+		<field name="sspPrefix" since="19" />
+		<field name="sspSuffix" since="31" />
+		<field name="stackFromBottom" />
+		<field name="stackViewStyle" since="21" />
+		<field name="starStyle" />
+		<field name="start" since="23" />
+		<field name="startColor" />
+		<field name="startDelay" since="19" />
+		<field name="startOffset" />
+		<field name="startX" since="24" />
+		<field name="startY" since="24" />
+		<field name="startYear" deprecated="16" />
+		<field name="stateListAnimator" since="21" />
+		<field name="stateNotNeeded" />
+		<field name="state_above_anchor" />
+		<field name="state_accelerated" since="11" />
+		<field name="state_activated" since="11" />
+		<field name="state_active" />
+		<field name="state_checkable" />
+		<field name="state_checked" />
+		<field name="state_drag_can_accept" since="14" />
+		<field name="state_drag_hovered" since="14" />
+		<field name="state_empty" />
+		<field name="state_enabled" />
+		<field name="state_expanded" />
+		<field name="state_first" />
+		<field name="state_focused" />
+		<field name="state_hovered" since="14" />
+		<field name="state_last" />
+		<field name="state_long_pressable" since="3" deprecated="29" />
+		<field name="state_middle" />
+		<field name="state_multiline" since="11" />
+		<field name="state_pressed" />
+		<field name="state_selected" />
+		<field name="state_single" />
+		<field name="state_window_focused" />
+		<field name="staticWallpaperPreview" since="11" />
+		<field name="statusBarColor" since="21" />
+		<field name="stepSize" />
+		<field name="stopWithTask" since="14" />
+		<field name="streamType" />
+		<field name="stretchColumns" />
+		<field name="stretchMode" />
+		<field name="strokeAlpha" since="21" />
+		<field name="strokeColor" since="21" />
+		<field name="strokeLineCap" since="21" />
+		<field name="strokeLineJoin" since="21" />
+		<field name="strokeMiterLimit" since="21" />
+		<field name="strokeWidth" since="21" />
+		<field name="subMenuArrow" since="24" />
+		<field name="submitBackground" since="21" />
+		<field name="subtitle" since="11" />
+		<field name="subtitleTextAppearance" since="21" />
+		<field name="subtitleTextColor" since="23" />
+		<field name="subtitleTextStyle" since="11" />
+		<field name="subtypeExtraValue" since="14" />
+		<field name="subtypeId" since="17" />
+		<field name="subtypeLocale" since="14" />
+		<field name="suggestActionMsg" />
+		<field name="suggestActionMsgColumn" />
+		<field name="suggestionRowLayout" since="21" />
+		<field name="summary" />
+		<field name="summaryColumn" since="5" />
+		<field name="summaryOff" />
+		<field name="summaryOn" />
+		<field name="supportsAssist" since="23" />
+		<field name="supportsInlineSuggestions" since="30" />
+		<field name="supportsLaunchVoiceAssistFromKeyguard" since="23" />
+		<field name="supportsLocalInteraction" since="24" />
+		<field name="supportsMultipleDisplays" since="29" />
+		<field name="supportsPictureInPicture" since="24" />
+		<field name="supportsRtl" since="17" />
+		<field name="supportsSwitchingToNextInputMethod" since="19" />
+		<field name="supportsUploading" since="5" />
+		<field name="suppressesSpellChecker" since="31" />
+		<field name="switchMinWidth" since="14" />
+		<field name="switchPadding" since="14" />
+		<field name="switchPreferenceStyle" since="14" />
+		<field name="switchStyle" since="21" />
+		<field name="switchTextAppearance" since="14" />
+		<field name="switchTextOff" since="14" />
+		<field name="switchTextOn" since="14" />
+		<field name="syncable" />
+		<field name="tabStripEnabled" since="8" />
+		<field name="tabStripLeft" since="8" />
+		<field name="tabStripRight" since="8" />
+		<field name="tabWidgetStyle" />
+		<field name="tag" />
+		<field name="targetActivity" />
+		<field name="targetCellHeight" since="31" />
+		<field name="targetCellWidth" since="31" />
+		<field name="targetClass" />
+		<field name="targetDescriptions" since="14" deprecated="23" />
+		<field name="targetId" since="19" />
+		<field name="targetName" since="21" />
+		<field name="targetPackage" />
+		<field name="targetProcesses" since="26" />
+		<field name="targetSandboxVersion" since="26" deprecated="29" />
+		<field name="targetSdkVersion" since="4" />
+		<field name="taskAffinity" />
+		<field name="taskCloseEnterAnimation" />
+		<field name="taskCloseExitAnimation" />
+		<field name="taskOpenEnterAnimation" />
+		<field name="taskOpenExitAnimation" />
+		<field name="taskToBackEnterAnimation" />
+		<field name="taskToBackExitAnimation" />
+		<field name="taskToFrontEnterAnimation" />
+		<field name="taskToFrontExitAnimation" />
+		<field name="tension" since="4" />
+		<field name="testOnly" since="4" />
+		<field name="text" />
+		<field name="textAlignment" since="17" />
+		<field name="textAllCaps" since="14" />
+		<field name="textAppearance" />
+		<field name="textAppearanceButton" />
+		<field name="textAppearanceInverse" />
+		<field name="textAppearanceLarge" />
+		<field name="textAppearanceLargeInverse" />
+		<field name="textAppearanceLargePopupMenu" since="11" />
+		<field name="textAppearanceListItem" since="14" />
+		<field name="textAppearanceListItemSecondary" since="21" />
+		<field name="textAppearanceListItemSmall" since="14" />
+		<field name="textAppearanceMedium" />
+		<field name="textAppearanceMediumInverse" />
+		<field name="textAppearancePopupMenuHeader" since="24" />
+		<field name="textAppearanceSearchResultSubtitle" since="5" />
+		<field name="textAppearanceSearchResultTitle" since="5" />
+		<field name="textAppearanceSmall" />
+		<field name="textAppearanceSmallInverse" />
+		<field name="textAppearanceSmallPopupMenu" since="11" />
+		<field name="textCheckMark" />
+		<field name="textCheckMarkInverse" />
+		<field name="textColor" />
+		<field name="textColorAlertDialogListItem" since="11" />
+		<field name="textColorHighlight" />
+		<field name="textColorHighlightInverse" since="11" />
+		<field name="textColorHint" />
+		<field name="textColorHintInverse" />
+		<field name="textColorLink" />
+		<field name="textColorLinkInverse" since="11" />
+		<field name="textColorPrimary" />
+		<field name="textColorPrimaryDisableOnly" />
+		<field name="textColorPrimaryInverse" />
+		<field name="textColorPrimaryInverseDisableOnly" since="4" />
+		<field name="textColorPrimaryInverseNoDisable" />
+		<field name="textColorPrimaryNoDisable" />
+		<field name="textColorSecondary" />
+		<field name="textColorSecondaryInverse" />
+		<field name="textColorSecondaryInverseNoDisable" />
+		<field name="textColorSecondaryNoDisable" />
+		<field name="textColorTertiary" />
+		<field name="textColorTertiaryInverse" />
+		<field name="textCursorDrawable" since="12" />
+		<field name="textDirection" since="17" />
+		<field name="textEditNoPasteWindowLayout" since="11" />
+		<field name="textEditPasteWindowLayout" since="11" />
+		<field name="textEditSideNoPasteWindowLayout" since="11" />
+		<field name="textEditSidePasteWindowLayout" since="11" />
+		<field name="textEditSuggestionItemLayout" since="14" />
+		<field name="textFilterEnabled" />
+		<field name="textFontWeight" since="28" />
+		<field name="textIsSelectable" since="11" />
+		<field name="textLocale" since="29" />
+		<field name="textOff" />
+		<field name="textOn" />
+		<field name="textScaleX" />
+		<field name="textSelectHandle" since="9" />
+		<field name="textSelectHandleLeft" since="9" />
+		<field name="textSelectHandleRight" since="9" />
+		<field name="textSelectHandleWindowStyle" since="9" />
+		<field name="textSize" />
+		<field name="textStyle" />
+		<field name="textSuggestionsWindowStyle" since="14" />
+		<field name="textViewStyle" />
+		<field name="theme" />
+		<field name="thickness" since="3" />
+		<field name="thicknessRatio" />
+		<field name="thumb" />
+		<field name="thumbOffset" />
+		<field name="thumbPosition" since="23" />
+		<field name="thumbTextPadding" since="14" />
+		<field name="thumbTint" since="21" />
+		<field name="thumbTintMode" since="21" />
+		<field name="thumbnail" since="5" />
+		<field name="tickMark" since="24" />
+		<field name="tickMarkTint" since="24" />
+		<field name="tickMarkTintMode" since="24" />
+		<field name="tileMode" />
+		<field name="tileModeX" since="21" />
+		<field name="tileModeY" since="21" />
+		<field name="timePickerDialogTheme" since="21" />
+		<field name="timePickerMode" since="21" />
+		<field name="timePickerStyle" since="21" />
+		<field name="timeZone" since="17" />
+		<field name="tint" />
+		<field name="tintMode" since="21" />
+		<field name="title" />
+		<field name="titleCondensed" />
+		<field name="titleMargin" since="24" />
+		<field name="titleMarginBottom" since="24" />
+		<field name="titleMarginEnd" since="24" />
+		<field name="titleMarginStart" since="24" />
+		<field name="titleMarginTop" since="24" />
+		<field name="titleTextAppearance" since="21" />
+		<field name="titleTextColor" since="23" />
+		<field name="titleTextStyle" since="11" />
+		<field name="toAlpha" />
+		<field name="toDegrees" />
+		<field name="toId" since="21" />
+		<field name="toScene" since="19" />
+		<field name="toXDelta" />
+		<field name="toXScale" />
+		<field name="toYDelta" />
+		<field name="toYScale" />
+		<field name="toolbarStyle" since="21" />
+		<field name="tooltipText" since="26" />
+		<field name="top" />
+		<field name="topBright" />
+		<field name="topDark" />
+		<field name="topLeftRadius" />
+		<field name="topOffset" since="3" />
+		<field name="topRightRadius" />
+		<field name="touchscreenBlocksFocus" since="21" />
+		<field name="track" since="14" />
+		<field name="trackTint" since="23" />
+		<field name="trackTintMode" since="23" />
+		<field name="transcriptMode" />
+		<field name="transformPivotX" since="11" />
+		<field name="transformPivotY" since="11" />
+		<field name="transition" since="19" />
+		<field name="transitionGroup" since="21" />
+		<field name="transitionName" since="21" />
+		<field name="transitionOrdering" since="19" />
+		<field name="transitionVisibilityMode" since="21" />
+		<field name="translateX" since="21" />
+		<field name="translateY" since="21" />
+		<field name="translationX" since="11" />
+		<field name="translationY" since="11" />
+		<field name="translationZ" since="21" />
+		<field name="trimPathEnd" since="21" />
+		<field name="trimPathOffset" since="21" />
+		<field name="trimPathStart" since="21" />
+		<field name="ttcIndex" since="28" />
+		<field name="tunerCount" since="24" />
+		<field name="turnScreenOn" since="27" />
+		<field name="type" />
+		<field name="typeface" />
+		<field name="uiOptions" since="14" />
+		<field name="uncertainGestureColor" since="4" />
+		<field name="unfocusedMonthDateColor" since="11" deprecated="23" />
+		<field name="unselectedAlpha" />
+		<field name="updatePeriodMillis" since="3" />
+		<field name="use32bitAbi" since="24" />
+		<field name="useAppZygote" since="29" />
+		<field name="useDefaultMargins" since="14" />
+		<field name="useEmbeddedDex" since="29" />
+		<field name="useIntrinsicSizeAsMinimum" since="11" />
+		<field name="useLevel" />
+		<field name="userVisible" since="5" />
+		<field name="usesCleartextTraffic" since="23" />
+		<field name="usesPermissionFlags" since="31" />
+		<field name="value" />
+		<field name="valueFrom" since="11" />
+		<field name="valueTo" since="11" />
+		<field name="valueType" since="11" />
+		<field name="variablePadding" />
+		<field name="vendor" since="19" />
+		<field name="version" since="24" />
+		<field name="versionCode" />
+		<field name="versionCodeMajor" since="28" />
+		<field name="versionMajor" since="28" />
+		<field name="versionName" />
+		<field name="verticalCorrection" since="3" deprecated="29" />
+		<field name="verticalDivider" />
+		<field name="verticalGap" since="3" deprecated="29" />
+		<field name="verticalScrollbarPosition" since="11" />
+		<field name="verticalSpacing" />
+		<field name="viewportHeight" since="21" />
+		<field name="viewportWidth" since="21" />
+		<field name="visibility" />
+		<field name="visible" />
+		<field name="visibleToInstantApps" since="26" />
+		<field name="vmSafeMode" since="8" />
+		<field name="voiceIcon" since="21" />
+		<field name="voiceLanguage" since="3" />
+		<field name="voiceLanguageModel" since="3" />
+		<field name="voiceMaxResults" since="3" />
+		<field name="voicePromptText" since="3" />
+		<field name="voiceSearchMode" since="3" />
+		<field name="wallpaperCloseEnterAnimation" since="5" />
+		<field name="wallpaperCloseExitAnimation" since="5" />
+		<field name="wallpaperIntraCloseEnterAnimation" since="5" />
+		<field name="wallpaperIntraCloseExitAnimation" since="5" />
+		<field name="wallpaperIntraOpenEnterAnimation" since="5" />
+		<field name="wallpaperIntraOpenExitAnimation" since="5" />
+		<field name="wallpaperOpenEnterAnimation" since="5" />
+		<field name="wallpaperOpenExitAnimation" since="5" />
+		<field name="webTextViewStyle" since="8" />
+		<field name="webViewStyle" />
+		<field name="weekDayTextAppearance" since="11" />
+		<field name="weekNumberColor" since="11" deprecated="23" />
+		<field name="weekSeparatorLineColor" since="11" deprecated="23" />
+		<field name="weightSum" />
+		<field name="widgetCategory" since="17" />
+		<field name="widgetFeatures" since="28" />
+		<field name="widgetLayout" />
+		<field name="width" />
+		<field name="windowActionBar" since="11" />
+		<field name="windowActionBarOverlay" since="11" />
+		<field name="windowActionModeOverlay" since="11" />
+		<field name="windowActivityTransitions" since="21" />
+		<field name="windowAllowEnterTransitionOverlap" since="21" />
+		<field name="windowAllowReturnTransitionOverlap" since="21" />
+		<field name="windowAnimationStyle" />
+		<field name="windowBackground" />
+		<field name="windowBackgroundBlurRadius" since="31" />
+		<field name="windowBackgroundFallback" since="24" />
+		<field name="windowBlurBehindEnabled" since="31" />
+		<field name="windowBlurBehindRadius" since="31" />
+		<field name="windowClipToOutline" since="21" />
+		<field name="windowCloseOnTouchOutside" since="11" />
+		<field name="windowContentOverlay" />
+		<field name="windowContentTransitionManager" since="21" />
+		<field name="windowContentTransitions" since="21" />
+		<field name="windowDisablePreview" since="3" />
+		<field name="windowDrawsSystemBarBackgrounds" since="21" />
+		<field name="windowElevation" since="21" />
+		<field name="windowEnableSplitTouch" since="11" />
+		<field name="windowEnterAnimation" />
+		<field name="windowEnterTransition" since="21" />
+		<field name="windowExitAnimation" />
+		<field name="windowExitTransition" since="21" />
+		<field name="windowFrame" />
+		<field name="windowFullscreen" />
+		<field name="windowHideAnimation" />
+		<field name="windowIsFloating" />
+		<field name="windowIsTranslucent" />
+		<field name="windowLayoutAffinity" since="31" />
+		<field name="windowLayoutInDisplayCutoutMode" since="27" />
+		<field name="windowLightNavigationBar" since="27" />
+		<field name="windowLightStatusBar" since="23" />
+		<field name="windowMinWidthMajor" since="11" />
+		<field name="windowMinWidthMinor" since="11" />
+		<field name="windowNoDisplay" since="3" />
+		<field name="windowNoTitle" />
+		<field name="windowOverscan" since="18" deprecated="30" />
+		<field name="windowReenterTransition" since="21" />
+		<field name="windowReturnTransition" since="21" />
+		<field name="windowSharedElementEnterTransition" since="21" />
+		<field name="windowSharedElementExitTransition" since="21" />
+		<field name="windowSharedElementReenterTransition" since="21" />
+		<field name="windowSharedElementReturnTransition" since="21" />
+		<field name="windowSharedElementsUseOverlay" since="21" />
+		<field name="windowShowAnimation" />
+		<field name="windowShowWallpaper" since="5" />
+		<field name="windowSoftInputMode" since="3" />
+		<field name="windowSplashScreenAnimatedIcon" since="31" />
+		<field name="windowSplashScreenAnimationDuration" since="31" />
+		<field name="windowSplashScreenBackground" since="31" />
+		<field name="windowSplashScreenBrandingImage" since="31" />
+		<field name="windowSplashScreenIconBackgroundColor" since="31" />
+		<field name="windowSplashscreenContent" since="26" deprecated="31" />
+		<field name="windowSwipeToDismiss" since="20" deprecated="30" />
+		<field name="windowTitleBackgroundStyle" />
+		<field name="windowTitleSize" />
+		<field name="windowTitleStyle" />
+		<field name="windowTransitionBackgroundFadeDuration" since="21" />
+		<field name="windowTranslucentNavigation" since="19" />
+		<field name="windowTranslucentStatus" since="19" />
+		<field name="writePermission" />
+		<field name="x" />
+		<field name="xlargeScreens" since="9" />
+		<field name="y" />
+		<field name="yearListItemTextAppearance" since="21" deprecated="23" />
+		<field name="yearListSelectorColor" since="21" deprecated="23" />
+		<field name="yesNoPreferenceStyle" />
+		<field name="zAdjustment" />
+		<field name="zygotePreloadName" since="29" />
+	</class>
+	<class name="android/R$bool" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/R$color" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="background_dark" />
+		<field name="background_light" />
+		<field name="black" />
+		<field name="darker_gray" />
+		<field name="holo_blue_bright" since="14" />
+		<field name="holo_blue_dark" since="14" />
+		<field name="holo_blue_light" since="14" />
+		<field name="holo_green_dark" since="14" />
+		<field name="holo_green_light" since="14" />
+		<field name="holo_orange_dark" since="14" />
+		<field name="holo_orange_light" since="14" />
+		<field name="holo_purple" since="14" />
+		<field name="holo_red_dark" since="14" />
+		<field name="holo_red_light" since="14" />
+		<field name="primary_text_dark" deprecated="28" />
+		<field name="primary_text_dark_nodisable" deprecated="28" />
+		<field name="primary_text_light" deprecated="28" />
+		<field name="primary_text_light_nodisable" deprecated="28" />
+		<field name="secondary_text_dark" deprecated="28" />
+		<field name="secondary_text_dark_nodisable" deprecated="28" />
+		<field name="secondary_text_light" deprecated="28" />
+		<field name="secondary_text_light_nodisable" deprecated="28" />
+		<field name="system_accent1_0" since="31" />
+		<field name="system_accent1_10" since="31" />
+		<field name="system_accent1_100" since="31" />
+		<field name="system_accent1_1000" since="31" />
+		<field name="system_accent1_200" since="31" />
+		<field name="system_accent1_300" since="31" />
+		<field name="system_accent1_400" since="31" />
+		<field name="system_accent1_50" since="31" />
+		<field name="system_accent1_500" since="31" />
+		<field name="system_accent1_600" since="31" />
+		<field name="system_accent1_700" since="31" />
+		<field name="system_accent1_800" since="31" />
+		<field name="system_accent1_900" since="31" />
+		<field name="system_accent2_0" since="31" />
+		<field name="system_accent2_10" since="31" />
+		<field name="system_accent2_100" since="31" />
+		<field name="system_accent2_1000" since="31" />
+		<field name="system_accent2_200" since="31" />
+		<field name="system_accent2_300" since="31" />
+		<field name="system_accent2_400" since="31" />
+		<field name="system_accent2_50" since="31" />
+		<field name="system_accent2_500" since="31" />
+		<field name="system_accent2_600" since="31" />
+		<field name="system_accent2_700" since="31" />
+		<field name="system_accent2_800" since="31" />
+		<field name="system_accent2_900" since="31" />
+		<field name="system_accent3_0" since="31" />
+		<field name="system_accent3_10" since="31" />
+		<field name="system_accent3_100" since="31" />
+		<field name="system_accent3_1000" since="31" />
+		<field name="system_accent3_200" since="31" />
+		<field name="system_accent3_300" since="31" />
+		<field name="system_accent3_400" since="31" />
+		<field name="system_accent3_50" since="31" />
+		<field name="system_accent3_500" since="31" />
+		<field name="system_accent3_600" since="31" />
+		<field name="system_accent3_700" since="31" />
+		<field name="system_accent3_800" since="31" />
+		<field name="system_accent3_900" since="31" />
+		<field name="system_neutral1_0" since="31" />
+		<field name="system_neutral1_10" since="31" />
+		<field name="system_neutral1_100" since="31" />
+		<field name="system_neutral1_1000" since="31" />
+		<field name="system_neutral1_200" since="31" />
+		<field name="system_neutral1_300" since="31" />
+		<field name="system_neutral1_400" since="31" />
+		<field name="system_neutral1_50" since="31" />
+		<field name="system_neutral1_500" since="31" />
+		<field name="system_neutral1_600" since="31" />
+		<field name="system_neutral1_700" since="31" />
+		<field name="system_neutral1_800" since="31" />
+		<field name="system_neutral1_900" since="31" />
+		<field name="system_neutral2_0" since="31" />
+		<field name="system_neutral2_10" since="31" />
+		<field name="system_neutral2_100" since="31" />
+		<field name="system_neutral2_1000" since="31" />
+		<field name="system_neutral2_200" since="31" />
+		<field name="system_neutral2_300" since="31" />
+		<field name="system_neutral2_400" since="31" />
+		<field name="system_neutral2_50" since="31" />
+		<field name="system_neutral2_500" since="31" />
+		<field name="system_neutral2_600" since="31" />
+		<field name="system_neutral2_700" since="31" />
+		<field name="system_neutral2_800" since="31" />
+		<field name="system_neutral2_900" since="31" />
+		<field name="tab_indicator_text" />
+		<field name="tertiary_text_dark" deprecated="28" />
+		<field name="tertiary_text_light" deprecated="28" />
+		<field name="transparent" />
+		<field name="white" />
+		<field name="widget_edittext_dark" />
+	</class>
+	<class name="android/R$dimen" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="app_icon_size" />
+		<field name="dialog_min_width_major" since="11" />
+		<field name="dialog_min_width_minor" since="11" />
+		<field name="notification_large_icon_height" since="11" />
+		<field name="notification_large_icon_width" since="11" />
+		<field name="system_app_widget_background_radius" since="31" />
+		<field name="system_app_widget_inner_radius" since="31" />
+		<field name="thumbnail_height" />
+		<field name="thumbnail_width" />
+	</class>
+	<class name="android/R$drawable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="alert_dark_frame" />
+		<field name="alert_light_frame" />
+		<field name="arrow_down_float" />
+		<field name="arrow_up_float" />
+		<field name="bottom_bar" />
+		<field name="btn_default" />
+		<field name="btn_default_small" />
+		<field name="btn_dialog" />
+		<field name="btn_dropdown" />
+		<field name="btn_minus" />
+		<field name="btn_plus" />
+		<field name="btn_radio" />
+		<field name="btn_star" />
+		<field name="btn_star_big_off" />
+		<field name="btn_star_big_on" />
+		<field name="button_onoff_indicator_off" />
+		<field name="button_onoff_indicator_on" />
+		<field name="checkbox_off_background" />
+		<field name="checkbox_on_background" />
+		<field name="dark_header" since="3" />
+		<field name="dialog_frame" />
+		<field name="dialog_holo_dark_frame" since="11" />
+		<field name="dialog_holo_light_frame" since="11" />
+		<field name="divider_horizontal_bright" />
+		<field name="divider_horizontal_dark" />
+		<field name="divider_horizontal_dim_dark" />
+		<field name="divider_horizontal_textfield" />
+		<field name="edit_text" />
+		<field name="editbox_background" />
+		<field name="editbox_background_normal" />
+		<field name="editbox_dropdown_dark_frame" />
+		<field name="editbox_dropdown_light_frame" />
+		<field name="gallery_thumb" />
+		<field name="ic_btn_speak_now" since="3" />
+		<field name="ic_delete" />
+		<field name="ic_dialog_alert" />
+		<field name="ic_dialog_dialer" />
+		<field name="ic_dialog_email" />
+		<field name="ic_dialog_info" />
+		<field name="ic_dialog_map" />
+		<field name="ic_input_add" />
+		<field name="ic_input_delete" />
+		<field name="ic_input_get" />
+		<field name="ic_lock_idle_alarm" />
+		<field name="ic_lock_idle_charging" />
+		<field name="ic_lock_idle_lock" />
+		<field name="ic_lock_idle_low_battery" />
+		<field name="ic_lock_lock" />
+		<field name="ic_lock_power_off" />
+		<field name="ic_lock_silent_mode" />
+		<field name="ic_lock_silent_mode_off" />
+		<field name="ic_media_ff" />
+		<field name="ic_media_next" />
+		<field name="ic_media_pause" />
+		<field name="ic_media_play" />
+		<field name="ic_media_previous" />
+		<field name="ic_media_rew" />
+		<field name="ic_menu_add" />
+		<field name="ic_menu_agenda" />
+		<field name="ic_menu_always_landscape_portrait" />
+		<field name="ic_menu_call" />
+		<field name="ic_menu_camera" />
+		<field name="ic_menu_close_clear_cancel" />
+		<field name="ic_menu_compass" />
+		<field name="ic_menu_crop" />
+		<field name="ic_menu_day" />
+		<field name="ic_menu_delete" />
+		<field name="ic_menu_directions" />
+		<field name="ic_menu_edit" />
+		<field name="ic_menu_gallery" />
+		<field name="ic_menu_help" />
+		<field name="ic_menu_info_details" />
+		<field name="ic_menu_manage" />
+		<field name="ic_menu_mapmode" />
+		<field name="ic_menu_month" />
+		<field name="ic_menu_more" />
+		<field name="ic_menu_my_calendar" />
+		<field name="ic_menu_mylocation" />
+		<field name="ic_menu_myplaces" />
+		<field name="ic_menu_preferences" />
+		<field name="ic_menu_recent_history" />
+		<field name="ic_menu_report_image" />
+		<field name="ic_menu_revert" />
+		<field name="ic_menu_rotate" />
+		<field name="ic_menu_save" />
+		<field name="ic_menu_search" />
+		<field name="ic_menu_send" />
+		<field name="ic_menu_set_as" />
+		<field name="ic_menu_share" />
+		<field name="ic_menu_slideshow" />
+		<field name="ic_menu_sort_alphabetically" />
+		<field name="ic_menu_sort_by_size" />
+		<field name="ic_menu_today" />
+		<field name="ic_menu_upload" />
+		<field name="ic_menu_upload_you_tube" />
+		<field name="ic_menu_view" />
+		<field name="ic_menu_week" />
+		<field name="ic_menu_zoom" />
+		<field name="ic_notification_clear_all" />
+		<field name="ic_notification_overlay" />
+		<field name="ic_partial_secure" />
+		<field name="ic_popup_disk_full" />
+		<field name="ic_popup_reminder" />
+		<field name="ic_popup_sync" />
+		<field name="ic_search_category_default" />
+		<field name="ic_secure" />
+		<field name="list_selector_background" />
+		<field name="menu_frame" />
+		<field name="menu_full_frame" />
+		<field name="menuitem_background" />
+		<field name="picture_frame" />
+		<field name="presence_audio_away" since="9" />
+		<field name="presence_audio_busy" since="9" />
+		<field name="presence_audio_online" since="9" />
+		<field name="presence_away" />
+		<field name="presence_busy" />
+		<field name="presence_invisible" />
+		<field name="presence_offline" />
+		<field name="presence_online" />
+		<field name="presence_video_away" since="9" />
+		<field name="presence_video_busy" since="9" />
+		<field name="presence_video_online" since="9" />
+		<field name="progress_horizontal" />
+		<field name="progress_indeterminate_horizontal" />
+		<field name="radiobutton_off_background" />
+		<field name="radiobutton_on_background" />
+		<field name="screen_background_dark" />
+		<field name="screen_background_dark_transparent" since="5" />
+		<field name="screen_background_light" />
+		<field name="screen_background_light_transparent" since="5" />
+		<field name="spinner_background" />
+		<field name="spinner_dropdown_background" />
+		<field name="star_big_off" />
+		<field name="star_big_on" />
+		<field name="star_off" />
+		<field name="star_on" />
+		<field name="stat_notify_call_mute" />
+		<field name="stat_notify_chat" />
+		<field name="stat_notify_error" />
+		<field name="stat_notify_missed_call" />
+		<field name="stat_notify_more" />
+		<field name="stat_notify_sdcard" />
+		<field name="stat_notify_sdcard_prepare" since="5" />
+		<field name="stat_notify_sdcard_usb" />
+		<field name="stat_notify_sync" />
+		<field name="stat_notify_sync_noanim" />
+		<field name="stat_notify_voicemail" />
+		<field name="stat_sys_data_bluetooth" />
+		<field name="stat_sys_download" />
+		<field name="stat_sys_download_done" />
+		<field name="stat_sys_headset" />
+		<field name="stat_sys_phone_call" deprecated="15" />
+		<field name="stat_sys_phone_call_forward" deprecated="15" />
+		<field name="stat_sys_phone_call_on_hold" deprecated="15" />
+		<field name="stat_sys_speakerphone" />
+		<field name="stat_sys_upload" />
+		<field name="stat_sys_upload_done" />
+		<field name="stat_sys_vp_phone_call" since="4" deprecated="15" />
+		<field name="stat_sys_vp_phone_call_on_hold" since="4" deprecated="15" />
+		<field name="stat_sys_warning" />
+		<field name="status_bar_item_app_background" />
+		<field name="status_bar_item_background" />
+		<field name="sym_action_call" />
+		<field name="sym_action_chat" />
+		<field name="sym_action_email" />
+		<field name="sym_call_incoming" />
+		<field name="sym_call_missed" />
+		<field name="sym_call_outgoing" />
+		<field name="sym_contact_card" />
+		<field name="sym_def_app_icon" />
+		<field name="title_bar" />
+		<field name="title_bar_tall" since="3" />
+		<field name="toast_frame" />
+		<field name="zoom_plate" />
+	</class>
+	<class name="android/R$fraction" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/R$id" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="accessibilityActionContextClick" since="23" />
+		<field name="accessibilityActionDragCancel" since="33" />
+		<field name="accessibilityActionDragDrop" since="33" />
+		<field name="accessibilityActionDragStart" since="33" />
+		<field name="accessibilityActionHideTooltip" since="28" />
+		<field name="accessibilityActionImeEnter" since="30" />
+		<field name="accessibilityActionMoveWindow" since="26" />
+		<field name="accessibilityActionPageDown" since="29" />
+		<field name="accessibilityActionPageLeft" since="29" />
+		<field name="accessibilityActionPageRight" since="29" />
+		<field name="accessibilityActionPageUp" since="29" />
+		<field name="accessibilityActionPressAndHold" since="30" />
+		<field name="accessibilityActionScrollDown" since="23" />
+		<field name="accessibilityActionScrollLeft" since="23" />
+		<field name="accessibilityActionScrollRight" since="23" />
+		<field name="accessibilityActionScrollToPosition" since="23" />
+		<field name="accessibilityActionScrollUp" since="23" />
+		<field name="accessibilityActionSetProgress" since="24" />
+		<field name="accessibilityActionShowOnScreen" since="23" />
+		<field name="accessibilityActionShowTooltip" since="28" />
+		<field name="accessibilitySystemActionBack" since="30" />
+		<field name="accessibilitySystemActionHome" since="30" />
+		<field name="accessibilitySystemActionLockScreen" since="30" />
+		<field name="accessibilitySystemActionNotifications" since="30" />
+		<field name="accessibilitySystemActionPowerDialog" since="30" />
+		<field name="accessibilitySystemActionQuickSettings" since="30" />
+		<field name="accessibilitySystemActionRecents" since="30" />
+		<field name="accessibilitySystemActionTakeScreenshot" since="30" />
+		<field name="accessibilitySystemActionToggleSplitScreen" since="30" />
+		<field name="addToDictionary" since="3" />
+		<field name="autofill" since="26" />
+		<field name="background" />
+		<field name="button1" />
+		<field name="button2" />
+		<field name="button3" />
+		<field name="candidatesArea" since="3" />
+		<field name="checkbox" />
+		<field name="closeButton" since="3" />
+		<field name="content" />
+		<field name="copy" since="3" />
+		<field name="copyUrl" since="3" />
+		<field name="custom" since="8" />
+		<field name="cut" since="3" />
+		<field name="edit" />
+		<field name="empty" />
+		<field name="extractArea" since="3" />
+		<field name="hint" />
+		<field name="home" since="11" />
+		<field name="icon" />
+		<field name="icon1" />
+		<field name="icon2" />
+		<field name="icon_frame" since="24" />
+		<field name="input" />
+		<field name="inputArea" since="3" />
+		<field name="inputExtractEditText" since="3" />
+		<field name="keyboardView" since="3" deprecated="29" />
+		<field name="list" />
+		<field name="list_container" since="24" />
+		<field name="mask" since="21" />
+		<field name="message" />
+		<field name="navigationBarBackground" since="21" />
+		<field name="paste" since="3" />
+		<field name="pasteAsPlainText" since="23" />
+		<field name="primary" />
+		<field name="progress" />
+		<field name="redo" since="23" />
+		<field name="replaceText" since="23" />
+		<field name="secondaryProgress" />
+		<field name="selectAll" since="3" />
+		<field name="selectTextMode" since="11" />
+		<field name="selectedIcon" />
+		<field name="shareText" since="23" />
+		<field name="startSelectingText" since="3" />
+		<field name="statusBarBackground" since="21" />
+		<field name="stopSelectingText" since="3" />
+		<field name="summary" />
+		<field name="switchInputMethod" since="3" />
+		<field name="switch_widget" since="24" />
+		<field name="tabcontent" />
+		<field name="tabhost" />
+		<field name="tabs" />
+		<field name="text1" />
+		<field name="text2" />
+		<field name="textAssist" since="26" />
+		<field name="title" />
+		<field name="toggle" />
+		<field name="undo" since="23" />
+		<field name="widget_frame" />
+	</class>
+	<class name="android/R$integer" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="config_longAnimTime" />
+		<field name="config_mediumAnimTime" />
+		<field name="config_shortAnimTime" />
+		<field name="status_bar_notification_info_maxnum" since="14" />
+	</class>
+	<class name="android/R$interpolator" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="accelerate_cubic" />
+		<field name="accelerate_decelerate" />
+		<field name="accelerate_quad" />
+		<field name="accelerate_quint" />
+		<field name="anticipate" />
+		<field name="anticipate_overshoot" />
+		<field name="bounce" />
+		<field name="cycle" />
+		<field name="decelerate_cubic" />
+		<field name="decelerate_quad" />
+		<field name="decelerate_quint" />
+		<field name="fast_out_extra_slow_in" since="28" />
+		<field name="fast_out_linear_in" since="21" />
+		<field name="fast_out_slow_in" since="21" />
+		<field name="linear" />
+		<field name="linear_out_slow_in" since="21" />
+		<field name="overshoot" />
+	</class>
+	<class name="android/R$layout" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="activity_list_item" />
+		<field name="browser_link_context_header" />
+		<field name="expandable_list_content" />
+		<field name="list_content" since="11" />
+		<field name="preference_category" />
+		<field name="select_dialog_item" />
+		<field name="select_dialog_multichoice" />
+		<field name="select_dialog_singlechoice" />
+		<field name="simple_dropdown_item_1line" />
+		<field name="simple_expandable_list_item_1" />
+		<field name="simple_expandable_list_item_2" />
+		<field name="simple_gallery_item" />
+		<field name="simple_list_item_1" />
+		<field name="simple_list_item_2" />
+		<field name="simple_list_item_activated_1" since="11" />
+		<field name="simple_list_item_activated_2" since="11" />
+		<field name="simple_list_item_checked" />
+		<field name="simple_list_item_multiple_choice" />
+		<field name="simple_list_item_single_choice" />
+		<field name="simple_selectable_list_item" since="11" />
+		<field name="simple_spinner_dropdown_item" />
+		<field name="simple_spinner_item" />
+		<field name="test_list_item" />
+		<field name="two_line_list_item" />
+	</class>
+	<class name="android/R$menu" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/R$mipmap" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="sym_def_app_icon" />
+	</class>
+	<class name="android/R$plurals" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/R$raw" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/R$string" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="VideoView_error_button" />
+		<field name="VideoView_error_text_invalid_progressive_playback" since="3" />
+		<field name="VideoView_error_text_unknown" />
+		<field name="VideoView_error_title" />
+		<field name="autofill" since="27" />
+		<field name="cancel" />
+		<field name="copy" />
+		<field name="copyUrl" />
+		<field name="cut" />
+		<field name="defaultMsisdnAlphaTag" />
+		<field name="defaultVoiceMailAlphaTag" />
+		<field name="dialog_alert_title" since="3" />
+		<field name="emptyPhoneNumber" />
+		<field name="fingerprint_icon_content_description" since="23" />
+		<field name="httpErrorBadUrl" />
+		<field name="httpErrorUnsupportedScheme" />
+		<field name="no" deprecated="30" />
+		<field name="ok" />
+		<field name="paste" />
+		<field name="paste_as_plain_text" since="26" />
+		<field name="search_go" />
+		<field name="selectAll" />
+		<field name="selectTextMode" since="11" />
+		<field name="status_bar_notification_info_overflow" since="14" />
+		<field name="unknownName" />
+		<field name="untitled" />
+		<field name="yes" deprecated="30" />
+	</class>
+	<class name="android/R$style" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="Animation" />
+		<field name="Animation_Activity" />
+		<field name="Animation_Dialog" />
+		<field name="Animation_InputMethod" since="5" />
+		<field name="Animation_Toast" />
+		<field name="Animation_Translucent" />
+		<field name="DeviceDefault_ButtonBar" since="14" />
+		<field name="DeviceDefault_ButtonBar_AlertDialog" since="14" />
+		<field name="DeviceDefault_Light_ButtonBar" since="14" />
+		<field name="DeviceDefault_Light_ButtonBar_AlertDialog" since="14" />
+		<field name="DeviceDefault_Light_SegmentedButton" since="14" />
+		<field name="DeviceDefault_SegmentedButton" since="14" />
+		<field name="Holo_ButtonBar" since="11" />
+		<field name="Holo_ButtonBar_AlertDialog" since="11" />
+		<field name="Holo_Light_ButtonBar" since="11" />
+		<field name="Holo_Light_ButtonBar_AlertDialog" since="11" />
+		<field name="Holo_Light_SegmentedButton" since="11" />
+		<field name="Holo_SegmentedButton" since="11" />
+		<field name="MediaButton" />
+		<field name="MediaButton_Ffwd" />
+		<field name="MediaButton_Next" />
+		<field name="MediaButton_Pause" />
+		<field name="MediaButton_Play" />
+		<field name="MediaButton_Previous" />
+		<field name="MediaButton_Rew" />
+		<field name="TextAppearance" />
+		<field name="TextAppearance_DeviceDefault" since="14" />
+		<field name="TextAppearance_DeviceDefault_DialogWindowTitle" since="14" />
+		<field name="TextAppearance_DeviceDefault_Inverse" since="14" />
+		<field name="TextAppearance_DeviceDefault_Large" since="14" />
+		<field name="TextAppearance_DeviceDefault_Large_Inverse" since="14" />
+		<field name="TextAppearance_DeviceDefault_Medium" since="14" />
+		<field name="TextAppearance_DeviceDefault_Medium_Inverse" since="14" />
+		<field name="TextAppearance_DeviceDefault_SearchResult_Subtitle" since="14" />
+		<field name="TextAppearance_DeviceDefault_SearchResult_Title" since="14" />
+		<field name="TextAppearance_DeviceDefault_Small" since="14" />
+		<field name="TextAppearance_DeviceDefault_Small_Inverse" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_ActionBar_Menu" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse" since="14" deprecated="21" />
+		<field name="TextAppearance_DeviceDefault_Widget_ActionBar_Title" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse" since="14" deprecated="21" />
+		<field name="TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse" since="14" deprecated="21" />
+		<field name="TextAppearance_DeviceDefault_Widget_ActionMode_Title" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse" since="14" deprecated="21" />
+		<field name="TextAppearance_DeviceDefault_Widget_Button" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_DropDownHint" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_DropDownItem" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_EditText" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_IconMenu_Item" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_PopupMenu" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_PopupMenu_Large" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_PopupMenu_Small" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_TabWidget" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_TextView" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_TextView_PopupMenu" since="14" />
+		<field name="TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem" since="14" />
+		<field name="TextAppearance_DeviceDefault_WindowTitle" since="14" />
+		<field name="TextAppearance_DialogWindowTitle" />
+		<field name="TextAppearance_Holo" since="13" />
+		<field name="TextAppearance_Holo_DialogWindowTitle" since="13" />
+		<field name="TextAppearance_Holo_Inverse" since="13" />
+		<field name="TextAppearance_Holo_Large" since="13" />
+		<field name="TextAppearance_Holo_Large_Inverse" since="13" />
+		<field name="TextAppearance_Holo_Medium" since="13" />
+		<field name="TextAppearance_Holo_Medium_Inverse" since="13" />
+		<field name="TextAppearance_Holo_SearchResult_Subtitle" since="13" />
+		<field name="TextAppearance_Holo_SearchResult_Title" since="13" />
+		<field name="TextAppearance_Holo_Small" since="13" />
+		<field name="TextAppearance_Holo_Small_Inverse" since="13" />
+		<field name="TextAppearance_Holo_Widget" since="13" />
+		<field name="TextAppearance_Holo_Widget_ActionBar_Menu" since="14" />
+		<field name="TextAppearance_Holo_Widget_ActionBar_Subtitle" since="13" />
+		<field name="TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse" since="14" />
+		<field name="TextAppearance_Holo_Widget_ActionBar_Title" since="13" />
+		<field name="TextAppearance_Holo_Widget_ActionBar_Title_Inverse" since="14" />
+		<field name="TextAppearance_Holo_Widget_ActionMode_Subtitle" since="13" />
+		<field name="TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse" since="14" />
+		<field name="TextAppearance_Holo_Widget_ActionMode_Title" since="13" />
+		<field name="TextAppearance_Holo_Widget_ActionMode_Title_Inverse" since="14" />
+		<field name="TextAppearance_Holo_Widget_Button" since="13" />
+		<field name="TextAppearance_Holo_Widget_DropDownHint" since="13" />
+		<field name="TextAppearance_Holo_Widget_DropDownItem" since="13" />
+		<field name="TextAppearance_Holo_Widget_EditText" since="13" />
+		<field name="TextAppearance_Holo_Widget_IconMenu_Item" since="13" />
+		<field name="TextAppearance_Holo_Widget_PopupMenu" since="13" />
+		<field name="TextAppearance_Holo_Widget_PopupMenu_Large" since="13" />
+		<field name="TextAppearance_Holo_Widget_PopupMenu_Small" since="13" />
+		<field name="TextAppearance_Holo_Widget_TabWidget" since="13" />
+		<field name="TextAppearance_Holo_Widget_TextView" since="13" />
+		<field name="TextAppearance_Holo_Widget_TextView_PopupMenu" since="13" />
+		<field name="TextAppearance_Holo_Widget_TextView_SpinnerItem" since="13" />
+		<field name="TextAppearance_Holo_WindowTitle" since="13" />
+		<field name="TextAppearance_Inverse" />
+		<field name="TextAppearance_Large" />
+		<field name="TextAppearance_Large_Inverse" />
+		<field name="TextAppearance_Material" since="21" />
+		<field name="TextAppearance_Material_Body1" since="21" />
+		<field name="TextAppearance_Material_Body2" since="21" />
+		<field name="TextAppearance_Material_Button" since="21" />
+		<field name="TextAppearance_Material_Caption" since="21" />
+		<field name="TextAppearance_Material_DialogWindowTitle" since="21" />
+		<field name="TextAppearance_Material_Display1" since="21" />
+		<field name="TextAppearance_Material_Display2" since="21" />
+		<field name="TextAppearance_Material_Display3" since="21" />
+		<field name="TextAppearance_Material_Display4" since="21" />
+		<field name="TextAppearance_Material_Headline" since="21" />
+		<field name="TextAppearance_Material_Inverse" since="21" />
+		<field name="TextAppearance_Material_Large" since="21" />
+		<field name="TextAppearance_Material_Large_Inverse" since="21" />
+		<field name="TextAppearance_Material_Medium" since="21" />
+		<field name="TextAppearance_Material_Medium_Inverse" since="21" />
+		<field name="TextAppearance_Material_Menu" since="21" />
+		<field name="TextAppearance_Material_Notification" since="21" />
+		<field name="TextAppearance_Material_Notification_Emphasis" since="21" />
+		<field name="TextAppearance_Material_Notification_Info" since="21" />
+		<field name="TextAppearance_Material_Notification_Line2" since="21" />
+		<field name="TextAppearance_Material_Notification_Time" since="21" />
+		<field name="TextAppearance_Material_Notification_Title" since="21" />
+		<field name="TextAppearance_Material_SearchResult_Subtitle" since="21" />
+		<field name="TextAppearance_Material_SearchResult_Title" since="21" />
+		<field name="TextAppearance_Material_Small" since="21" />
+		<field name="TextAppearance_Material_Small_Inverse" since="21" />
+		<field name="TextAppearance_Material_Subhead" since="21" />
+		<field name="TextAppearance_Material_Title" since="21" />
+		<field name="TextAppearance_Material_Widget" since="21" />
+		<field name="TextAppearance_Material_Widget_ActionBar_Menu" since="21" />
+		<field name="TextAppearance_Material_Widget_ActionBar_Subtitle" since="21" />
+		<field name="TextAppearance_Material_Widget_ActionBar_Subtitle_Inverse" since="21" />
+		<field name="TextAppearance_Material_Widget_ActionBar_Title" since="21" />
+		<field name="TextAppearance_Material_Widget_ActionBar_Title_Inverse" since="21" />
+		<field name="TextAppearance_Material_Widget_ActionMode_Subtitle" since="21" />
+		<field name="TextAppearance_Material_Widget_ActionMode_Subtitle_Inverse" since="21" />
+		<field name="TextAppearance_Material_Widget_ActionMode_Title" since="21" />
+		<field name="TextAppearance_Material_Widget_ActionMode_Title_Inverse" since="21" />
+		<field name="TextAppearance_Material_Widget_Button" since="21" />
+		<field name="TextAppearance_Material_Widget_Button_Borderless_Colored" since="24" />
+		<field name="TextAppearance_Material_Widget_Button_Colored" since="24" />
+		<field name="TextAppearance_Material_Widget_Button_Inverse" since="23" />
+		<field name="TextAppearance_Material_Widget_DropDownHint" since="21" />
+		<field name="TextAppearance_Material_Widget_DropDownItem" since="21" />
+		<field name="TextAppearance_Material_Widget_EditText" since="21" />
+		<field name="TextAppearance_Material_Widget_IconMenu_Item" since="21" />
+		<field name="TextAppearance_Material_Widget_PopupMenu" since="21" />
+		<field name="TextAppearance_Material_Widget_PopupMenu_Large" since="21" />
+		<field name="TextAppearance_Material_Widget_PopupMenu_Small" since="21" />
+		<field name="TextAppearance_Material_Widget_TabWidget" since="21" />
+		<field name="TextAppearance_Material_Widget_TextView" since="21" />
+		<field name="TextAppearance_Material_Widget_TextView_PopupMenu" since="21" />
+		<field name="TextAppearance_Material_Widget_TextView_SpinnerItem" since="21" />
+		<field name="TextAppearance_Material_Widget_Toolbar_Subtitle" since="21" />
+		<field name="TextAppearance_Material_Widget_Toolbar_Title" since="21" />
+		<field name="TextAppearance_Material_WindowTitle" since="21" />
+		<field name="TextAppearance_Medium" />
+		<field name="TextAppearance_Medium_Inverse" />
+		<field name="TextAppearance_Small" />
+		<field name="TextAppearance_Small_Inverse" />
+		<field name="TextAppearance_StatusBar_EventContent" since="9" />
+		<field name="TextAppearance_StatusBar_EventContent_Title" since="9" />
+		<field name="TextAppearance_StatusBar_Icon" since="9" />
+		<field name="TextAppearance_StatusBar_Title" since="9" />
+		<field name="TextAppearance_SuggestionHighlight" since="14" />
+		<field name="TextAppearance_Theme" />
+		<field name="TextAppearance_Theme_Dialog" />
+		<field name="TextAppearance_Widget" />
+		<field name="TextAppearance_Widget_Button" />
+		<field name="TextAppearance_Widget_DropDownHint" />
+		<field name="TextAppearance_Widget_DropDownItem" />
+		<field name="TextAppearance_Widget_EditText" />
+		<field name="TextAppearance_Widget_IconMenu_Item" />
+		<field name="TextAppearance_Widget_PopupMenu_Large" since="11" />
+		<field name="TextAppearance_Widget_PopupMenu_Small" since="11" />
+		<field name="TextAppearance_Widget_TabWidget" />
+		<field name="TextAppearance_Widget_TextView" />
+		<field name="TextAppearance_Widget_TextView_PopupMenu" />
+		<field name="TextAppearance_Widget_TextView_SpinnerItem" />
+		<field name="TextAppearance_WindowTitle" />
+		<field name="Theme" />
+		<field name="ThemeOverlay" since="21" />
+		<field name="ThemeOverlay_DeviceDefault_Accent_DayNight" since="29" />
+		<field name="ThemeOverlay_Material" since="21" />
+		<field name="ThemeOverlay_Material_ActionBar" since="21" />
+		<field name="ThemeOverlay_Material_Dark" since="21" />
+		<field name="ThemeOverlay_Material_Dark_ActionBar" since="21" />
+		<field name="ThemeOverlay_Material_Dialog" since="23" />
+		<field name="ThemeOverlay_Material_Dialog_Alert" since="23" />
+		<field name="ThemeOverlay_Material_Light" since="21" />
+		<field name="Theme_Black" />
+		<field name="Theme_Black_NoTitleBar" />
+		<field name="Theme_Black_NoTitleBar_Fullscreen" />
+		<field name="Theme_DeviceDefault" since="14" />
+		<field name="Theme_DeviceDefault_DayNight" since="29" />
+		<field name="Theme_DeviceDefault_Dialog" since="14" />
+		<field name="Theme_DeviceDefault_DialogWhenLarge" since="14" />
+		<field name="Theme_DeviceDefault_DialogWhenLarge_NoActionBar" since="14" />
+		<field name="Theme_DeviceDefault_Dialog_Alert" since="22" />
+		<field name="Theme_DeviceDefault_Dialog_MinWidth" since="14" />
+		<field name="Theme_DeviceDefault_Dialog_NoActionBar" since="14" />
+		<field name="Theme_DeviceDefault_Dialog_NoActionBar_MinWidth" since="14" />
+		<field name="Theme_DeviceDefault_InputMethod" since="14" />
+		<field name="Theme_DeviceDefault_Light" since="14" />
+		<field name="Theme_DeviceDefault_Light_DarkActionBar" since="14" />
+		<field name="Theme_DeviceDefault_Light_Dialog" since="14" />
+		<field name="Theme_DeviceDefault_Light_DialogWhenLarge" since="14" />
+		<field name="Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar" since="14" />
+		<field name="Theme_DeviceDefault_Light_Dialog_Alert" since="22" />
+		<field name="Theme_DeviceDefault_Light_Dialog_MinWidth" since="14" />
+		<field name="Theme_DeviceDefault_Light_Dialog_NoActionBar" since="14" />
+		<field name="Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth" since="14" />
+		<field name="Theme_DeviceDefault_Light_NoActionBar" since="14" />
+		<field name="Theme_DeviceDefault_Light_NoActionBar_Fullscreen" since="14" />
+		<field name="Theme_DeviceDefault_Light_NoActionBar_Overscan" since="18" />
+		<field name="Theme_DeviceDefault_Light_NoActionBar_TranslucentDecor" since="19" />
+		<field name="Theme_DeviceDefault_Light_Panel" since="14" />
+		<field name="Theme_DeviceDefault_NoActionBar" since="14" />
+		<field name="Theme_DeviceDefault_NoActionBar_Fullscreen" since="14" />
+		<field name="Theme_DeviceDefault_NoActionBar_Overscan" since="18" />
+		<field name="Theme_DeviceDefault_NoActionBar_TranslucentDecor" since="19" />
+		<field name="Theme_DeviceDefault_Panel" since="14" />
+		<field name="Theme_DeviceDefault_Settings" since="21" />
+		<field name="Theme_DeviceDefault_Wallpaper" since="14" />
+		<field name="Theme_DeviceDefault_Wallpaper_NoTitleBar" since="14" />
+		<field name="Theme_Dialog" />
+		<field name="Theme_Holo" since="11" deprecated="28" />
+		<field name="Theme_Holo_Dialog" since="11" deprecated="28" />
+		<field name="Theme_Holo_DialogWhenLarge" since="11" deprecated="28" />
+		<field name="Theme_Holo_DialogWhenLarge_NoActionBar" since="11" deprecated="28" />
+		<field name="Theme_Holo_Dialog_MinWidth" since="11" deprecated="28" />
+		<field name="Theme_Holo_Dialog_NoActionBar" since="11" deprecated="28" />
+		<field name="Theme_Holo_Dialog_NoActionBar_MinWidth" since="11" deprecated="28" />
+		<field name="Theme_Holo_InputMethod" since="11" deprecated="28" />
+		<field name="Theme_Holo_Light" since="11" deprecated="28" />
+		<field name="Theme_Holo_Light_DarkActionBar" since="14" deprecated="28" />
+		<field name="Theme_Holo_Light_Dialog" since="11" deprecated="28" />
+		<field name="Theme_Holo_Light_DialogWhenLarge" since="11" deprecated="28" />
+		<field name="Theme_Holo_Light_DialogWhenLarge_NoActionBar" since="11" deprecated="28" />
+		<field name="Theme_Holo_Light_Dialog_MinWidth" since="11" deprecated="28" />
+		<field name="Theme_Holo_Light_Dialog_NoActionBar" since="11" deprecated="28" />
+		<field name="Theme_Holo_Light_Dialog_NoActionBar_MinWidth" since="11" deprecated="28" />
+		<field name="Theme_Holo_Light_NoActionBar" since="13" deprecated="28" />
+		<field name="Theme_Holo_Light_NoActionBar_Fullscreen" since="13" deprecated="28" />
+		<field name="Theme_Holo_Light_NoActionBar_Overscan" since="18" deprecated="28" />
+		<field name="Theme_Holo_Light_NoActionBar_TranslucentDecor" since="19" deprecated="28" />
+		<field name="Theme_Holo_Light_Panel" since="11" deprecated="28" />
+		<field name="Theme_Holo_NoActionBar" since="11" deprecated="28" />
+		<field name="Theme_Holo_NoActionBar_Fullscreen" since="11" deprecated="28" />
+		<field name="Theme_Holo_NoActionBar_Overscan" since="18" deprecated="28" />
+		<field name="Theme_Holo_NoActionBar_TranslucentDecor" since="19" deprecated="28" />
+		<field name="Theme_Holo_Panel" since="11" deprecated="28" />
+		<field name="Theme_Holo_Wallpaper" since="11" deprecated="28" />
+		<field name="Theme_Holo_Wallpaper_NoTitleBar" since="11" deprecated="28" />
+		<field name="Theme_InputMethod" since="3" />
+		<field name="Theme_Light" />
+		<field name="Theme_Light_NoTitleBar" />
+		<field name="Theme_Light_NoTitleBar_Fullscreen" />
+		<field name="Theme_Light_Panel" since="3" />
+		<field name="Theme_Light_WallpaperSettings" since="5" />
+		<field name="Theme_Material" since="21" />
+		<field name="Theme_Material_Dialog" since="21" />
+		<field name="Theme_Material_DialogWhenLarge" since="21" />
+		<field name="Theme_Material_DialogWhenLarge_NoActionBar" since="21" />
+		<field name="Theme_Material_Dialog_Alert" since="21" />
+		<field name="Theme_Material_Dialog_MinWidth" since="21" />
+		<field name="Theme_Material_Dialog_NoActionBar" since="21" />
+		<field name="Theme_Material_Dialog_NoActionBar_MinWidth" since="21" />
+		<field name="Theme_Material_Dialog_Presentation" since="21" />
+		<field name="Theme_Material_InputMethod" since="21" />
+		<field name="Theme_Material_Light" since="21" />
+		<field name="Theme_Material_Light_DarkActionBar" since="21" />
+		<field name="Theme_Material_Light_Dialog" since="21" />
+		<field name="Theme_Material_Light_DialogWhenLarge" since="21" />
+		<field name="Theme_Material_Light_DialogWhenLarge_DarkActionBar" since="24" />
+		<field name="Theme_Material_Light_DialogWhenLarge_NoActionBar" since="21" />
+		<field name="Theme_Material_Light_Dialog_Alert" since="21" />
+		<field name="Theme_Material_Light_Dialog_MinWidth" since="21" />
+		<field name="Theme_Material_Light_Dialog_NoActionBar" since="21" />
+		<field name="Theme_Material_Light_Dialog_NoActionBar_MinWidth" since="21" />
+		<field name="Theme_Material_Light_Dialog_Presentation" since="21" />
+		<field name="Theme_Material_Light_LightStatusBar" since="23" />
+		<field name="Theme_Material_Light_NoActionBar" since="21" />
+		<field name="Theme_Material_Light_NoActionBar_Fullscreen" since="21" />
+		<field name="Theme_Material_Light_NoActionBar_Overscan" since="21" deprecated="30" />
+		<field name="Theme_Material_Light_NoActionBar_TranslucentDecor" since="21" />
+		<field name="Theme_Material_Light_Panel" since="21" />
+		<field name="Theme_Material_Light_Voice" since="21" />
+		<field name="Theme_Material_NoActionBar" since="21" />
+		<field name="Theme_Material_NoActionBar_Fullscreen" since="21" />
+		<field name="Theme_Material_NoActionBar_Overscan" since="21" deprecated="30" />
+		<field name="Theme_Material_NoActionBar_TranslucentDecor" since="21" />
+		<field name="Theme_Material_Panel" since="21" />
+		<field name="Theme_Material_Settings" since="21" />
+		<field name="Theme_Material_Voice" since="21" />
+		<field name="Theme_Material_Wallpaper" since="21" />
+		<field name="Theme_Material_Wallpaper_NoTitleBar" since="21" />
+		<field name="Theme_NoDisplay" since="3" />
+		<field name="Theme_NoTitleBar" />
+		<field name="Theme_NoTitleBar_Fullscreen" />
+		<field name="Theme_NoTitleBar_OverlayActionModes" since="11" />
+		<field name="Theme_Panel" since="3" />
+		<field name="Theme_Translucent" />
+		<field name="Theme_Translucent_NoTitleBar" />
+		<field name="Theme_Translucent_NoTitleBar_Fullscreen" />
+		<field name="Theme_Wallpaper" since="5" />
+		<field name="Theme_WallpaperSettings" since="5" />
+		<field name="Theme_Wallpaper_NoTitleBar" since="5" />
+		<field name="Theme_Wallpaper_NoTitleBar_Fullscreen" since="5" />
+		<field name="Theme_WithActionBar" since="11" />
+		<field name="Widget" />
+		<field name="Widget_AbsListView" />
+		<field name="Widget_ActionBar" since="11" />
+		<field name="Widget_ActionBar_TabBar" since="13" />
+		<field name="Widget_ActionBar_TabText" since="13" />
+		<field name="Widget_ActionBar_TabView" since="13" />
+		<field name="Widget_ActionButton" since="11" />
+		<field name="Widget_ActionButton_CloseMode" since="11" />
+		<field name="Widget_ActionButton_Overflow" since="11" />
+		<field name="Widget_AutoCompleteTextView" />
+		<field name="Widget_Button" />
+		<field name="Widget_Button_Inset" />
+		<field name="Widget_Button_Small" />
+		<field name="Widget_Button_Toggle" />
+		<field name="Widget_CalendarView" since="11" />
+		<field name="Widget_CompoundButton" />
+		<field name="Widget_CompoundButton_CheckBox" />
+		<field name="Widget_CompoundButton_RadioButton" />
+		<field name="Widget_CompoundButton_Star" />
+		<field name="Widget_DatePicker" since="11" />
+		<field name="Widget_DeviceDefault" since="14" />
+		<field name="Widget_DeviceDefault_ActionBar" since="14" />
+		<field name="Widget_DeviceDefault_ActionBar_Solid" since="14" />
+		<field name="Widget_DeviceDefault_ActionBar_TabBar" since="14" />
+		<field name="Widget_DeviceDefault_ActionBar_TabText" since="14" />
+		<field name="Widget_DeviceDefault_ActionBar_TabView" since="14" />
+		<field name="Widget_DeviceDefault_ActionButton" since="14" />
+		<field name="Widget_DeviceDefault_ActionButton_CloseMode" since="14" />
+		<field name="Widget_DeviceDefault_ActionButton_Overflow" since="14" />
+		<field name="Widget_DeviceDefault_ActionButton_TextButton" since="14" />
+		<field name="Widget_DeviceDefault_ActionMode" since="14" />
+		<field name="Widget_DeviceDefault_AutoCompleteTextView" since="14" />
+		<field name="Widget_DeviceDefault_Button" since="14" />
+		<field name="Widget_DeviceDefault_Button_Borderless" since="14" />
+		<field name="Widget_DeviceDefault_Button_Borderless_Colored" since="28" />
+		<field name="Widget_DeviceDefault_Button_Borderless_Small" since="14" />
+		<field name="Widget_DeviceDefault_Button_Colored" since="28" />
+		<field name="Widget_DeviceDefault_Button_Inset" since="14" />
+		<field name="Widget_DeviceDefault_Button_Small" since="14" />
+		<field name="Widget_DeviceDefault_Button_Toggle" since="14" />
+		<field name="Widget_DeviceDefault_CalendarView" since="14" />
+		<field name="Widget_DeviceDefault_CheckedTextView" since="17" />
+		<field name="Widget_DeviceDefault_CompoundButton_CheckBox" since="14" />
+		<field name="Widget_DeviceDefault_CompoundButton_RadioButton" since="14" />
+		<field name="Widget_DeviceDefault_CompoundButton_Star" since="14" />
+		<field name="Widget_DeviceDefault_DatePicker" since="14" />
+		<field name="Widget_DeviceDefault_DropDownItem" since="14" />
+		<field name="Widget_DeviceDefault_DropDownItem_Spinner" since="14" />
+		<field name="Widget_DeviceDefault_EditText" since="14" />
+		<field name="Widget_DeviceDefault_ExpandableListView" since="14" />
+		<field name="Widget_DeviceDefault_FastScroll" since="21" />
+		<field name="Widget_DeviceDefault_GridView" since="14" />
+		<field name="Widget_DeviceDefault_HorizontalScrollView" since="14" />
+		<field name="Widget_DeviceDefault_ImageButton" since="14" />
+		<field name="Widget_DeviceDefault_Light" since="14" />
+		<field name="Widget_DeviceDefault_Light_ActionBar" since="14" />
+		<field name="Widget_DeviceDefault_Light_ActionBar_Solid" since="14" />
+		<field name="Widget_DeviceDefault_Light_ActionBar_Solid_Inverse" since="14" deprecated="21" />
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabBar" since="14" />
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse" since="14" deprecated="21" />
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabText" since="14" />
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabText_Inverse" since="14" deprecated="21" />
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabView" since="14" />
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabView_Inverse" since="14" deprecated="21" />
+		<field name="Widget_DeviceDefault_Light_ActionButton" since="14" />
+		<field name="Widget_DeviceDefault_Light_ActionButton_CloseMode" since="14" />
+		<field name="Widget_DeviceDefault_Light_ActionButton_Overflow" since="14" />
+		<field name="Widget_DeviceDefault_Light_ActionMode" since="14" />
+		<field name="Widget_DeviceDefault_Light_ActionMode_Inverse" since="14" deprecated="21" />
+		<field name="Widget_DeviceDefault_Light_AutoCompleteTextView" since="14" />
+		<field name="Widget_DeviceDefault_Light_Button" since="14" />
+		<field name="Widget_DeviceDefault_Light_Button_Borderless_Small" since="14" />
+		<field name="Widget_DeviceDefault_Light_Button_Inset" since="14" />
+		<field name="Widget_DeviceDefault_Light_Button_Small" since="14" />
+		<field name="Widget_DeviceDefault_Light_Button_Toggle" since="14" />
+		<field name="Widget_DeviceDefault_Light_CalendarView" since="14" />
+		<field name="Widget_DeviceDefault_Light_CheckedTextView" since="17" />
+		<field name="Widget_DeviceDefault_Light_CompoundButton_CheckBox" since="14" />
+		<field name="Widget_DeviceDefault_Light_CompoundButton_RadioButton" since="14" />
+		<field name="Widget_DeviceDefault_Light_CompoundButton_Star" since="14" />
+		<field name="Widget_DeviceDefault_Light_DropDownItem" since="14" />
+		<field name="Widget_DeviceDefault_Light_DropDownItem_Spinner" since="14" />
+		<field name="Widget_DeviceDefault_Light_EditText" since="14" />
+		<field name="Widget_DeviceDefault_Light_ExpandableListView" since="14" />
+		<field name="Widget_DeviceDefault_Light_FastScroll" since="21" />
+		<field name="Widget_DeviceDefault_Light_GridView" since="14" />
+		<field name="Widget_DeviceDefault_Light_HorizontalScrollView" since="14" />
+		<field name="Widget_DeviceDefault_Light_ImageButton" since="14" />
+		<field name="Widget_DeviceDefault_Light_ListPopupWindow" since="14" />
+		<field name="Widget_DeviceDefault_Light_ListView" since="14" />
+		<field name="Widget_DeviceDefault_Light_ListView_DropDown" since="14" />
+		<field name="Widget_DeviceDefault_Light_MediaRouteButton" since="16" />
+		<field name="Widget_DeviceDefault_Light_PopupMenu" since="14" />
+		<field name="Widget_DeviceDefault_Light_PopupWindow" since="14" />
+		<field name="Widget_DeviceDefault_Light_ProgressBar" since="14" />
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Horizontal" since="14" />
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Inverse" since="14" />
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Large" since="14" />
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Large_Inverse" since="14" />
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Small" since="14" />
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Small_Inverse" since="14" />
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Small_Title" since="14" />
+		<field name="Widget_DeviceDefault_Light_RatingBar" since="14" />
+		<field name="Widget_DeviceDefault_Light_RatingBar_Indicator" since="14" />
+		<field name="Widget_DeviceDefault_Light_RatingBar_Small" since="14" />
+		<field name="Widget_DeviceDefault_Light_ScrollView" since="14" />
+		<field name="Widget_DeviceDefault_Light_SeekBar" since="14" />
+		<field name="Widget_DeviceDefault_Light_Spinner" since="14" />
+		<field name="Widget_DeviceDefault_Light_StackView" since="21" />
+		<field name="Widget_DeviceDefault_Light_Tab" since="14" />
+		<field name="Widget_DeviceDefault_Light_TabWidget" since="14" />
+		<field name="Widget_DeviceDefault_Light_TextView" since="14" />
+		<field name="Widget_DeviceDefault_Light_TextView_SpinnerItem" since="14" />
+		<field name="Widget_DeviceDefault_Light_WebTextView" since="14" />
+		<field name="Widget_DeviceDefault_Light_WebView" since="14" />
+		<field name="Widget_DeviceDefault_ListPopupWindow" since="14" />
+		<field name="Widget_DeviceDefault_ListView" since="14" />
+		<field name="Widget_DeviceDefault_ListView_DropDown" since="14" />
+		<field name="Widget_DeviceDefault_MediaRouteButton" since="16" />
+		<field name="Widget_DeviceDefault_PopupMenu" since="14" />
+		<field name="Widget_DeviceDefault_PopupWindow" since="14" />
+		<field name="Widget_DeviceDefault_ProgressBar" since="14" />
+		<field name="Widget_DeviceDefault_ProgressBar_Horizontal" since="14" />
+		<field name="Widget_DeviceDefault_ProgressBar_Large" since="14" />
+		<field name="Widget_DeviceDefault_ProgressBar_Small" since="14" />
+		<field name="Widget_DeviceDefault_ProgressBar_Small_Title" since="14" />
+		<field name="Widget_DeviceDefault_RatingBar" since="14" />
+		<field name="Widget_DeviceDefault_RatingBar_Indicator" since="14" />
+		<field name="Widget_DeviceDefault_RatingBar_Small" since="14" />
+		<field name="Widget_DeviceDefault_ScrollView" since="14" />
+		<field name="Widget_DeviceDefault_SeekBar" since="14" />
+		<field name="Widget_DeviceDefault_Spinner" since="14" />
+		<field name="Widget_DeviceDefault_StackView" since="21" />
+		<field name="Widget_DeviceDefault_Tab" since="14" />
+		<field name="Widget_DeviceDefault_TabWidget" since="14" />
+		<field name="Widget_DeviceDefault_TextView" since="14" />
+		<field name="Widget_DeviceDefault_TextView_SpinnerItem" since="14" />
+		<field name="Widget_DeviceDefault_WebTextView" since="14" />
+		<field name="Widget_DeviceDefault_WebView" since="14" />
+		<field name="Widget_DropDownItem" />
+		<field name="Widget_DropDownItem_Spinner" />
+		<field name="Widget_EditText" />
+		<field name="Widget_ExpandableListView" />
+		<field name="Widget_FastScroll" since="21" />
+		<field name="Widget_FragmentBreadCrumbs" since="11" />
+		<field name="Widget_Gallery" />
+		<field name="Widget_GridView" />
+		<field name="Widget_Holo" since="11" />
+		<field name="Widget_Holo_ActionBar" since="11" />
+		<field name="Widget_Holo_ActionBar_Solid" since="14" />
+		<field name="Widget_Holo_ActionBar_TabBar" since="13" />
+		<field name="Widget_Holo_ActionBar_TabText" since="13" />
+		<field name="Widget_Holo_ActionBar_TabView" since="13" />
+		<field name="Widget_Holo_ActionButton" since="11" />
+		<field name="Widget_Holo_ActionButton_CloseMode" since="11" />
+		<field name="Widget_Holo_ActionButton_Overflow" since="11" />
+		<field name="Widget_Holo_ActionButton_TextButton" since="11" />
+		<field name="Widget_Holo_ActionMode" since="11" />
+		<field name="Widget_Holo_AutoCompleteTextView" since="11" />
+		<field name="Widget_Holo_Button" since="11" />
+		<field name="Widget_Holo_Button_Borderless" since="11" />
+		<field name="Widget_Holo_Button_Borderless_Small" since="14" />
+		<field name="Widget_Holo_Button_Inset" since="11" />
+		<field name="Widget_Holo_Button_Small" since="11" />
+		<field name="Widget_Holo_Button_Toggle" since="11" />
+		<field name="Widget_Holo_CalendarView" since="11" />
+		<field name="Widget_Holo_CheckedTextView" since="17" />
+		<field name="Widget_Holo_CompoundButton_CheckBox" since="11" />
+		<field name="Widget_Holo_CompoundButton_RadioButton" since="11" />
+		<field name="Widget_Holo_CompoundButton_Star" since="11" />
+		<field name="Widget_Holo_DatePicker" since="11" />
+		<field name="Widget_Holo_DropDownItem" since="11" />
+		<field name="Widget_Holo_DropDownItem_Spinner" since="11" />
+		<field name="Widget_Holo_EditText" since="11" />
+		<field name="Widget_Holo_ExpandableListView" since="11" />
+		<field name="Widget_Holo_GridView" since="11" />
+		<field name="Widget_Holo_HorizontalScrollView" since="11" />
+		<field name="Widget_Holo_ImageButton" since="11" />
+		<field name="Widget_Holo_Light" since="11" />
+		<field name="Widget_Holo_Light_ActionBar" since="11" />
+		<field name="Widget_Holo_Light_ActionBar_Solid" since="14" />
+		<field name="Widget_Holo_Light_ActionBar_Solid_Inverse" since="14" />
+		<field name="Widget_Holo_Light_ActionBar_TabBar" since="13" />
+		<field name="Widget_Holo_Light_ActionBar_TabBar_Inverse" since="14" />
+		<field name="Widget_Holo_Light_ActionBar_TabText" since="13" />
+		<field name="Widget_Holo_Light_ActionBar_TabText_Inverse" since="14" />
+		<field name="Widget_Holo_Light_ActionBar_TabView" since="13" />
+		<field name="Widget_Holo_Light_ActionBar_TabView_Inverse" since="14" />
+		<field name="Widget_Holo_Light_ActionButton" since="11" />
+		<field name="Widget_Holo_Light_ActionButton_CloseMode" since="11" />
+		<field name="Widget_Holo_Light_ActionButton_Overflow" since="11" />
+		<field name="Widget_Holo_Light_ActionMode" since="11" />
+		<field name="Widget_Holo_Light_ActionMode_Inverse" since="14" />
+		<field name="Widget_Holo_Light_AutoCompleteTextView" since="11" />
+		<field name="Widget_Holo_Light_Button" since="11" />
+		<field name="Widget_Holo_Light_Button_Borderless_Small" since="14" />
+		<field name="Widget_Holo_Light_Button_Inset" since="11" />
+		<field name="Widget_Holo_Light_Button_Small" since="11" />
+		<field name="Widget_Holo_Light_Button_Toggle" since="11" />
+		<field name="Widget_Holo_Light_CalendarView" since="11" />
+		<field name="Widget_Holo_Light_CheckedTextView" since="17" />
+		<field name="Widget_Holo_Light_CompoundButton_CheckBox" since="11" />
+		<field name="Widget_Holo_Light_CompoundButton_RadioButton" since="11" />
+		<field name="Widget_Holo_Light_CompoundButton_Star" since="11" />
+		<field name="Widget_Holo_Light_DropDownItem" since="11" />
+		<field name="Widget_Holo_Light_DropDownItem_Spinner" since="11" />
+		<field name="Widget_Holo_Light_EditText" since="11" />
+		<field name="Widget_Holo_Light_ExpandableListView" since="11" />
+		<field name="Widget_Holo_Light_GridView" since="11" />
+		<field name="Widget_Holo_Light_HorizontalScrollView" since="11" />
+		<field name="Widget_Holo_Light_ImageButton" since="11" />
+		<field name="Widget_Holo_Light_ListPopupWindow" since="11" />
+		<field name="Widget_Holo_Light_ListView" since="11" />
+		<field name="Widget_Holo_Light_ListView_DropDown" since="11" />
+		<field name="Widget_Holo_Light_MediaRouteButton" since="16" />
+		<field name="Widget_Holo_Light_PopupMenu" since="11" />
+		<field name="Widget_Holo_Light_PopupWindow" since="11" />
+		<field name="Widget_Holo_Light_ProgressBar" since="11" />
+		<field name="Widget_Holo_Light_ProgressBar_Horizontal" since="11" />
+		<field name="Widget_Holo_Light_ProgressBar_Inverse" since="11" />
+		<field name="Widget_Holo_Light_ProgressBar_Large" since="11" />
+		<field name="Widget_Holo_Light_ProgressBar_Large_Inverse" since="11" />
+		<field name="Widget_Holo_Light_ProgressBar_Small" since="11" />
+		<field name="Widget_Holo_Light_ProgressBar_Small_Inverse" since="11" />
+		<field name="Widget_Holo_Light_ProgressBar_Small_Title" since="11" />
+		<field name="Widget_Holo_Light_RatingBar" since="11" />
+		<field name="Widget_Holo_Light_RatingBar_Indicator" since="11" />
+		<field name="Widget_Holo_Light_RatingBar_Small" since="11" />
+		<field name="Widget_Holo_Light_ScrollView" since="11" />
+		<field name="Widget_Holo_Light_SeekBar" since="11" />
+		<field name="Widget_Holo_Light_Spinner" since="11" />
+		<field name="Widget_Holo_Light_Tab" since="11" />
+		<field name="Widget_Holo_Light_TabWidget" since="11" />
+		<field name="Widget_Holo_Light_TextView" since="11" />
+		<field name="Widget_Holo_Light_TextView_SpinnerItem" since="11" />
+		<field name="Widget_Holo_Light_WebTextView" since="11" />
+		<field name="Widget_Holo_Light_WebView" since="11" />
+		<field name="Widget_Holo_ListPopupWindow" since="11" />
+		<field name="Widget_Holo_ListView" since="11" />
+		<field name="Widget_Holo_ListView_DropDown" since="11" />
+		<field name="Widget_Holo_MediaRouteButton" since="16" />
+		<field name="Widget_Holo_PopupMenu" since="11" />
+		<field name="Widget_Holo_PopupWindow" since="11" />
+		<field name="Widget_Holo_ProgressBar" since="11" />
+		<field name="Widget_Holo_ProgressBar_Horizontal" since="11" />
+		<field name="Widget_Holo_ProgressBar_Large" since="11" />
+		<field name="Widget_Holo_ProgressBar_Small" since="11" />
+		<field name="Widget_Holo_ProgressBar_Small_Title" since="11" />
+		<field name="Widget_Holo_RatingBar" since="11" />
+		<field name="Widget_Holo_RatingBar_Indicator" since="11" />
+		<field name="Widget_Holo_RatingBar_Small" since="11" />
+		<field name="Widget_Holo_ScrollView" since="11" />
+		<field name="Widget_Holo_SeekBar" since="11" />
+		<field name="Widget_Holo_Spinner" since="11" />
+		<field name="Widget_Holo_Tab" since="11" />
+		<field name="Widget_Holo_TabWidget" since="11" />
+		<field name="Widget_Holo_TextView" since="11" />
+		<field name="Widget_Holo_TextView_SpinnerItem" since="11" />
+		<field name="Widget_Holo_WebTextView" since="11" />
+		<field name="Widget_Holo_WebView" since="11" />
+		<field name="Widget_ImageButton" />
+		<field name="Widget_ImageWell" />
+		<field name="Widget_KeyboardView" since="3" deprecated="29" />
+		<field name="Widget_ListPopupWindow" since="11" />
+		<field name="Widget_ListView" />
+		<field name="Widget_ListView_DropDown" />
+		<field name="Widget_ListView_Menu" />
+		<field name="Widget_ListView_White" />
+		<field name="Widget_Material" since="21" />
+		<field name="Widget_Material_ActionBar" since="21" />
+		<field name="Widget_Material_ActionBar_Solid" since="21" />
+		<field name="Widget_Material_ActionBar_TabBar" since="21" />
+		<field name="Widget_Material_ActionBar_TabText" since="21" />
+		<field name="Widget_Material_ActionBar_TabView" since="21" />
+		<field name="Widget_Material_ActionButton" since="21" />
+		<field name="Widget_Material_ActionButton_CloseMode" since="21" />
+		<field name="Widget_Material_ActionButton_Overflow" since="21" />
+		<field name="Widget_Material_ActionMode" since="21" />
+		<field name="Widget_Material_AutoCompleteTextView" since="21" />
+		<field name="Widget_Material_Button" since="21" />
+		<field name="Widget_Material_ButtonBar" since="21" />
+		<field name="Widget_Material_ButtonBar_AlertDialog" since="21" />
+		<field name="Widget_Material_Button_Borderless" since="21" />
+		<field name="Widget_Material_Button_Borderless_Colored" since="21" />
+		<field name="Widget_Material_Button_Borderless_Small" since="21" />
+		<field name="Widget_Material_Button_Colored" since="23" />
+		<field name="Widget_Material_Button_Inset" since="21" />
+		<field name="Widget_Material_Button_Small" since="21" />
+		<field name="Widget_Material_Button_Toggle" since="21" />
+		<field name="Widget_Material_CalendarView" since="21" />
+		<field name="Widget_Material_CheckedTextView" since="21" />
+		<field name="Widget_Material_CompoundButton_CheckBox" since="21" />
+		<field name="Widget_Material_CompoundButton_RadioButton" since="21" />
+		<field name="Widget_Material_CompoundButton_Star" since="21" />
+		<field name="Widget_Material_CompoundButton_Switch" since="24" />
+		<field name="Widget_Material_DatePicker" since="21" />
+		<field name="Widget_Material_DropDownItem" since="21" />
+		<field name="Widget_Material_DropDownItem_Spinner" since="21" />
+		<field name="Widget_Material_EditText" since="21" />
+		<field name="Widget_Material_ExpandableListView" since="21" />
+		<field name="Widget_Material_FastScroll" since="21" />
+		<field name="Widget_Material_GridView" since="21" />
+		<field name="Widget_Material_HorizontalScrollView" since="21" />
+		<field name="Widget_Material_ImageButton" since="21" />
+		<field name="Widget_Material_Light" since="21" />
+		<field name="Widget_Material_Light_ActionBar" since="21" />
+		<field name="Widget_Material_Light_ActionBar_Solid" since="21" />
+		<field name="Widget_Material_Light_ActionBar_TabBar" since="21" />
+		<field name="Widget_Material_Light_ActionBar_TabText" since="21" />
+		<field name="Widget_Material_Light_ActionBar_TabView" since="21" />
+		<field name="Widget_Material_Light_ActionButton" since="21" />
+		<field name="Widget_Material_Light_ActionButton_CloseMode" since="21" />
+		<field name="Widget_Material_Light_ActionButton_Overflow" since="21" />
+		<field name="Widget_Material_Light_ActionMode" since="21" />
+		<field name="Widget_Material_Light_AutoCompleteTextView" since="21" />
+		<field name="Widget_Material_Light_Button" since="21" />
+		<field name="Widget_Material_Light_ButtonBar" since="21" />
+		<field name="Widget_Material_Light_ButtonBar_AlertDialog" since="21" />
+		<field name="Widget_Material_Light_Button_Borderless" since="21" />
+		<field name="Widget_Material_Light_Button_Borderless_Colored" since="21" />
+		<field name="Widget_Material_Light_Button_Borderless_Small" since="21" />
+		<field name="Widget_Material_Light_Button_Inset" since="21" />
+		<field name="Widget_Material_Light_Button_Small" since="21" />
+		<field name="Widget_Material_Light_Button_Toggle" since="21" />
+		<field name="Widget_Material_Light_CalendarView" since="21" />
+		<field name="Widget_Material_Light_CheckedTextView" since="21" />
+		<field name="Widget_Material_Light_CompoundButton_CheckBox" since="21" />
+		<field name="Widget_Material_Light_CompoundButton_RadioButton" since="21" />
+		<field name="Widget_Material_Light_CompoundButton_Star" since="21" />
+		<field name="Widget_Material_Light_CompoundButton_Switch" since="24" />
+		<field name="Widget_Material_Light_DatePicker" since="21" />
+		<field name="Widget_Material_Light_DropDownItem" since="21" />
+		<field name="Widget_Material_Light_DropDownItem_Spinner" since="21" />
+		<field name="Widget_Material_Light_EditText" since="21" />
+		<field name="Widget_Material_Light_ExpandableListView" since="21" />
+		<field name="Widget_Material_Light_FastScroll" since="21" />
+		<field name="Widget_Material_Light_GridView" since="21" />
+		<field name="Widget_Material_Light_HorizontalScrollView" since="21" />
+		<field name="Widget_Material_Light_ImageButton" since="21" />
+		<field name="Widget_Material_Light_ListPopupWindow" since="21" />
+		<field name="Widget_Material_Light_ListView" since="21" />
+		<field name="Widget_Material_Light_ListView_DropDown" since="21" />
+		<field name="Widget_Material_Light_MediaRouteButton" since="21" />
+		<field name="Widget_Material_Light_NumberPicker" since="24" />
+		<field name="Widget_Material_Light_PopupMenu" since="21" />
+		<field name="Widget_Material_Light_PopupMenu_Overflow" since="21" />
+		<field name="Widget_Material_Light_PopupWindow" since="21" />
+		<field name="Widget_Material_Light_ProgressBar" since="21" />
+		<field name="Widget_Material_Light_ProgressBar_Horizontal" since="21" />
+		<field name="Widget_Material_Light_ProgressBar_Inverse" since="21" />
+		<field name="Widget_Material_Light_ProgressBar_Large" since="21" />
+		<field name="Widget_Material_Light_ProgressBar_Large_Inverse" since="21" />
+		<field name="Widget_Material_Light_ProgressBar_Small" since="21" />
+		<field name="Widget_Material_Light_ProgressBar_Small_Inverse" since="21" />
+		<field name="Widget_Material_Light_ProgressBar_Small_Title" since="21" />
+		<field name="Widget_Material_Light_RatingBar" since="21" />
+		<field name="Widget_Material_Light_RatingBar_Indicator" since="21" />
+		<field name="Widget_Material_Light_RatingBar_Small" since="21" />
+		<field name="Widget_Material_Light_ScrollView" since="21" />
+		<field name="Widget_Material_Light_SearchView" since="21" />
+		<field name="Widget_Material_Light_SeekBar" since="21" />
+		<field name="Widget_Material_Light_SegmentedButton" since="21" />
+		<field name="Widget_Material_Light_Spinner" since="21" />
+		<field name="Widget_Material_Light_Spinner_Underlined" since="21" />
+		<field name="Widget_Material_Light_StackView" since="21" />
+		<field name="Widget_Material_Light_Tab" since="21" />
+		<field name="Widget_Material_Light_TabWidget" since="21" />
+		<field name="Widget_Material_Light_TextView" since="21" />
+		<field name="Widget_Material_Light_TextView_SpinnerItem" since="21" />
+		<field name="Widget_Material_Light_TimePicker" since="21" />
+		<field name="Widget_Material_Light_WebTextView" since="21" />
+		<field name="Widget_Material_Light_WebView" since="21" />
+		<field name="Widget_Material_ListPopupWindow" since="21" />
+		<field name="Widget_Material_ListView" since="21" />
+		<field name="Widget_Material_ListView_DropDown" since="21" />
+		<field name="Widget_Material_MediaRouteButton" since="21" />
+		<field name="Widget_Material_NumberPicker" since="24" />
+		<field name="Widget_Material_PopupMenu" since="21" />
+		<field name="Widget_Material_PopupMenu_Overflow" since="21" />
+		<field name="Widget_Material_PopupWindow" since="21" />
+		<field name="Widget_Material_ProgressBar" since="21" />
+		<field name="Widget_Material_ProgressBar_Horizontal" since="21" />
+		<field name="Widget_Material_ProgressBar_Large" since="21" />
+		<field name="Widget_Material_ProgressBar_Small" since="21" />
+		<field name="Widget_Material_ProgressBar_Small_Title" since="21" />
+		<field name="Widget_Material_RatingBar" since="21" />
+		<field name="Widget_Material_RatingBar_Indicator" since="21" />
+		<field name="Widget_Material_RatingBar_Small" since="21" />
+		<field name="Widget_Material_ScrollView" since="21" />
+		<field name="Widget_Material_SearchView" since="21" />
+		<field name="Widget_Material_SeekBar" since="21" />
+		<field name="Widget_Material_SeekBar_Discrete" since="24" />
+		<field name="Widget_Material_SegmentedButton" since="21" />
+		<field name="Widget_Material_Spinner" since="21" />
+		<field name="Widget_Material_Spinner_Underlined" since="21" />
+		<field name="Widget_Material_StackView" since="21" />
+		<field name="Widget_Material_Tab" since="21" />
+		<field name="Widget_Material_TabWidget" since="21" />
+		<field name="Widget_Material_TextView" since="21" />
+		<field name="Widget_Material_TextView_SpinnerItem" since="21" />
+		<field name="Widget_Material_TimePicker" since="21" />
+		<field name="Widget_Material_Toolbar" since="21" />
+		<field name="Widget_Material_Toolbar_Button_Navigation" since="21" />
+		<field name="Widget_Material_WebTextView" since="21" />
+		<field name="Widget_Material_WebView" since="21" />
+		<field name="Widget_PopupMenu" since="11" />
+		<field name="Widget_PopupWindow" />
+		<field name="Widget_ProgressBar" />
+		<field name="Widget_ProgressBar_Horizontal" />
+		<field name="Widget_ProgressBar_Inverse" since="4" />
+		<field name="Widget_ProgressBar_Large" />
+		<field name="Widget_ProgressBar_Large_Inverse" since="4" />
+		<field name="Widget_ProgressBar_Small" />
+		<field name="Widget_ProgressBar_Small_Inverse" since="4" />
+		<field name="Widget_RatingBar" />
+		<field name="Widget_ScrollView" />
+		<field name="Widget_SeekBar" />
+		<field name="Widget_Spinner" />
+		<field name="Widget_Spinner_DropDown" since="11" />
+		<field name="Widget_StackView" since="21" />
+		<field name="Widget_TabWidget" />
+		<field name="Widget_TextView" />
+		<field name="Widget_TextView_PopupMenu" />
+		<field name="Widget_TextView_SpinnerItem" />
+		<field name="Widget_Toolbar" since="21" />
+		<field name="Widget_Toolbar_Button_Navigation" since="21" />
+		<field name="Widget_WebView" />
+	</class>
+	<class name="android/R$transition" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="explode" />
+		<field name="fade" />
+		<field name="move" />
+		<field name="no_transition" />
+		<field name="slide_bottom" />
+		<field name="slide_left" />
+		<field name="slide_right" />
+		<field name="slide_top" />
+	</class>
+	<class name="android/R$xml" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityButtonController" since="26">
+		<extends name="java/lang/Object" />
+		<method name="isAccessibilityButtonAvailable()Z" />
+		<method name="registerAccessibilityButtonCallback(Landroid/accessibilityservice/AccessibilityButtonController$AccessibilityButtonCallback;)V" />
+		<method name="registerAccessibilityButtonCallback(Landroid/accessibilityservice/AccessibilityButtonController$AccessibilityButtonCallback;Landroid/os/Handler;)V" />
+		<method name="unregisterAccessibilityButtonCallback(Landroid/accessibilityservice/AccessibilityButtonController$AccessibilityButtonCallback;)V" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityButtonController$AccessibilityButtonCallback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAvailabilityChanged(Landroid/accessibilityservice/AccessibilityButtonController;Z)V" />
+		<method name="onClicked(Landroid/accessibilityservice/AccessibilityButtonController;)V" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityGestureEvent" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="gestureIdToString(I)Ljava/lang/String;" since="31" />
+		<method name="getDisplayId()I" />
+		<method name="getGestureId()I" />
+		<method name="getMotionEvents()Ljava/util/List;" since="31" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService" since="4">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="disableSelf()V" since="24" />
+		<method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)Z" since="24" />
+		<method name="findFocus(I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="21" />
+		<method name="getAccessibilityButtonController()Landroid/accessibilityservice/AccessibilityButtonController;" since="26" />
+		<method name="getAccessibilityButtonController(I)Landroid/accessibilityservice/AccessibilityButtonController;" since="30" />
+		<method name="getFingerprintGestureController()Landroid/accessibilityservice/FingerprintGestureController;" since="26" />
+		<method name="getMagnificationController()Landroid/accessibilityservice/AccessibilityService$MagnificationController;" since="24" />
+		<method name="getRootInActiveWindow()Landroid/view/accessibility/AccessibilityNodeInfo;" since="16" />
+		<method name="getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;" since="16" />
+		<method name="getSoftKeyboardController()Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;" since="24" />
+		<method name="getSystemActions()Ljava/util/List;" since="30" />
+		<method name="getWindows()Ljava/util/List;" since="21" />
+		<method name="getWindowsOnAllDisplays()Landroid/util/SparseArray;" since="30" />
+		<method name="onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V" />
+		<method name="onGesture(I)Z" since="16" deprecated="30" />
+		<method name="onGesture(Landroid/accessibilityservice/AccessibilityGestureEvent;)Z" since="30" />
+		<method name="onInterrupt()V" />
+		<method name="onKeyEvent(Landroid/view/KeyEvent;)Z" since="18" />
+		<method name="onServiceConnected()V" />
+		<method name="onSystemActionsChanged()V" since="30" />
+		<method name="performGlobalAction(I)Z" since="16" />
+		<method name="setAccessibilityFocusAppearance(II)V" since="31" />
+		<method name="setGestureDetectionPassthroughRegion(ILandroid/graphics/Region;)V" since="30" />
+		<method name="setServiceInfo(Landroid/accessibilityservice/AccessibilityServiceInfo;)V" />
+		<method name="setTouchExplorationPassthroughRegion(ILandroid/graphics/Region;)V" since="30" />
+		<method name="takeScreenshot(ILjava/util/concurrent/Executor;Landroid/accessibilityservice/AccessibilityService$TakeScreenshotCallback;)V" since="30" />
+		<field name="ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR" since="30" />
+		<field name="ERROR_TAKE_SCREENSHOT_INTERVAL_TIME_SHORT" since="30" />
+		<field name="ERROR_TAKE_SCREENSHOT_INVALID_DISPLAY" since="30" />
+		<field name="ERROR_TAKE_SCREENSHOT_NO_ACCESSIBILITY_ACCESS" since="30" />
+		<field name="GESTURE_2_FINGER_DOUBLE_TAP" since="30" />
+		<field name="GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD" since="30" />
+		<field name="GESTURE_2_FINGER_SINGLE_TAP" since="30" />
+		<field name="GESTURE_2_FINGER_SWIPE_DOWN" since="30" />
+		<field name="GESTURE_2_FINGER_SWIPE_LEFT" since="30" />
+		<field name="GESTURE_2_FINGER_SWIPE_RIGHT" since="30" />
+		<field name="GESTURE_2_FINGER_SWIPE_UP" since="30" />
+		<field name="GESTURE_2_FINGER_TRIPLE_TAP" since="30" />
+		<field name="GESTURE_2_FINGER_TRIPLE_TAP_AND_HOLD" since="31" />
+		<field name="GESTURE_3_FINGER_DOUBLE_TAP" since="30" />
+		<field name="GESTURE_3_FINGER_DOUBLE_TAP_AND_HOLD" since="30" />
+		<field name="GESTURE_3_FINGER_SINGLE_TAP" since="30" />
+		<field name="GESTURE_3_FINGER_SINGLE_TAP_AND_HOLD" since="31" />
+		<field name="GESTURE_3_FINGER_SWIPE_DOWN" since="30" />
+		<field name="GESTURE_3_FINGER_SWIPE_LEFT" since="30" />
+		<field name="GESTURE_3_FINGER_SWIPE_RIGHT" since="30" />
+		<field name="GESTURE_3_FINGER_SWIPE_UP" since="30" />
+		<field name="GESTURE_3_FINGER_TRIPLE_TAP" since="30" />
+		<field name="GESTURE_3_FINGER_TRIPLE_TAP_AND_HOLD" since="31" />
+		<field name="GESTURE_4_FINGER_DOUBLE_TAP" since="30" />
+		<field name="GESTURE_4_FINGER_DOUBLE_TAP_AND_HOLD" since="30" />
+		<field name="GESTURE_4_FINGER_SINGLE_TAP" since="30" />
+		<field name="GESTURE_4_FINGER_SWIPE_DOWN" since="30" />
+		<field name="GESTURE_4_FINGER_SWIPE_LEFT" since="30" />
+		<field name="GESTURE_4_FINGER_SWIPE_RIGHT" since="30" />
+		<field name="GESTURE_4_FINGER_SWIPE_UP" since="30" />
+		<field name="GESTURE_4_FINGER_TRIPLE_TAP" since="30" />
+		<field name="GESTURE_DOUBLE_TAP" since="30" />
+		<field name="GESTURE_DOUBLE_TAP_AND_HOLD" since="30" />
+		<field name="GESTURE_SWIPE_DOWN" since="16" />
+		<field name="GESTURE_SWIPE_DOWN_AND_LEFT" since="16" />
+		<field name="GESTURE_SWIPE_DOWN_AND_RIGHT" since="16" />
+		<field name="GESTURE_SWIPE_DOWN_AND_UP" since="16" />
+		<field name="GESTURE_SWIPE_LEFT" since="16" />
+		<field name="GESTURE_SWIPE_LEFT_AND_DOWN" since="16" />
+		<field name="GESTURE_SWIPE_LEFT_AND_RIGHT" since="16" />
+		<field name="GESTURE_SWIPE_LEFT_AND_UP" since="16" />
+		<field name="GESTURE_SWIPE_RIGHT" since="16" />
+		<field name="GESTURE_SWIPE_RIGHT_AND_DOWN" since="16" />
+		<field name="GESTURE_SWIPE_RIGHT_AND_LEFT" since="16" />
+		<field name="GESTURE_SWIPE_RIGHT_AND_UP" since="16" />
+		<field name="GESTURE_SWIPE_UP" since="16" />
+		<field name="GESTURE_SWIPE_UP_AND_DOWN" since="16" />
+		<field name="GESTURE_SWIPE_UP_AND_LEFT" since="16" />
+		<field name="GESTURE_SWIPE_UP_AND_RIGHT" since="16" />
+		<field name="GESTURE_UNKNOWN" since="31" />
+		<field name="GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS" since="31" />
+		<field name="GLOBAL_ACTION_ACCESSIBILITY_BUTTON" since="31" />
+		<field name="GLOBAL_ACTION_ACCESSIBILITY_BUTTON_CHOOSER" since="31" />
+		<field name="GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT" since="31" />
+		<field name="GLOBAL_ACTION_BACK" since="16" />
+		<field name="GLOBAL_ACTION_DISMISS_NOTIFICATION_SHADE" since="31" />
+		<field name="GLOBAL_ACTION_HOME" since="16" />
+		<field name="GLOBAL_ACTION_KEYCODE_HEADSETHOOK" since="31" />
+		<field name="GLOBAL_ACTION_LOCK_SCREEN" since="28" />
+		<field name="GLOBAL_ACTION_NOTIFICATIONS" since="16" />
+		<field name="GLOBAL_ACTION_POWER_DIALOG" since="21" />
+		<field name="GLOBAL_ACTION_QUICK_SETTINGS" since="17" />
+		<field name="GLOBAL_ACTION_RECENTS" since="16" />
+		<field name="GLOBAL_ACTION_TAKE_SCREENSHOT" since="28" />
+		<field name="GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN" since="24" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" since="14" />
+		<field name="SHOW_MODE_AUTO" since="24" />
+		<field name="SHOW_MODE_HIDDEN" since="24" />
+		<field name="SHOW_MODE_IGNORE_HARD_KEYBOARD" since="29" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$GestureResultCallback" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCancelled(Landroid/accessibilityservice/GestureDescription;)V" />
+		<method name="onCompleted(Landroid/accessibilityservice/GestureDescription;)V" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$MagnificationController" since="24">
+		<extends name="java/lang/Object" />
+		<method name="addListener(Landroid/accessibilityservice/AccessibilityService$MagnificationController$OnMagnificationChangedListener;)V" />
+		<method name="addListener(Landroid/accessibilityservice/AccessibilityService$MagnificationController$OnMagnificationChangedListener;Landroid/os/Handler;)V" />
+		<method name="getCenterX()F" />
+		<method name="getCenterY()F" />
+		<method name="getMagnificationRegion()Landroid/graphics/Region;" />
+		<method name="getScale()F" />
+		<method name="removeListener(Landroid/accessibilityservice/AccessibilityService$MagnificationController$OnMagnificationChangedListener;)Z" />
+		<method name="reset(Z)Z" />
+		<method name="setCenter(FFZ)Z" />
+		<method name="setScale(FZ)Z" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$MagnificationController$OnMagnificationChangedListener" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onMagnificationChanged(Landroid/accessibilityservice/AccessibilityService$MagnificationController;Landroid/graphics/Region;FFF)V" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$ScreenshotResult" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getColorSpace()Landroid/graphics/ColorSpace;" />
+		<method name="getHardwareBuffer()Landroid/hardware/HardwareBuffer;" />
+		<method name="getTimestamp()J" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$SoftKeyboardController" since="24">
+		<extends name="java/lang/Object" />
+		<method name="addOnShowModeChangedListener(Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController$OnShowModeChangedListener;)V" />
+		<method name="addOnShowModeChangedListener(Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController$OnShowModeChangedListener;Landroid/os/Handler;)V" />
+		<method name="getShowMode()I" />
+		<method name="removeOnShowModeChangedListener(Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController$OnShowModeChangedListener;)Z" />
+		<method name="setShowMode(I)Z" />
+		<method name="switchToInputMethod(Ljava/lang/String;)Z" since="30" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$SoftKeyboardController$OnShowModeChangedListener" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onShowModeChanged(Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;I)V" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$TakeScreenshotCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onFailure(I)V" />
+		<method name="onSuccess(Landroid/accessibilityservice/AccessibilityService$ScreenshotResult;)V" />
+	</class>
+	<class name="android/accessibilityservice/AccessibilityServiceInfo" since="4">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="capabilityToString(I)Ljava/lang/String;" since="18" />
+		<method name="feedbackTypeToString(I)Ljava/lang/String;" since="14" />
+		<method name="flagToString(I)Ljava/lang/String;" since="14" />
+		<method name="getCanRetrieveWindowContent()Z" since="14" deprecated="18" />
+		<method name="getCapabilities()I" since="18" />
+		<method name="getDescription()Ljava/lang/String;" since="14" deprecated="16" />
+		<method name="getId()Ljava/lang/String;" since="14" />
+		<method name="getInteractiveUiTimeoutMillis()I" since="29" />
+		<method name="getNonInteractiveUiTimeoutMillis()I" since="29" />
+		<method name="getResolveInfo()Landroid/content/pm/ResolveInfo;" since="14" />
+		<method name="getSettingsActivityName()Ljava/lang/String;" since="14" />
+		<method name="isAccessibilityTool()Z" since="31" />
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/String;" since="16" />
+		<method name="loadSummary(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" since="26" />
+		<method name="setInteractiveUiTimeoutMillis(I)V" since="29" />
+		<method name="setNonInteractiveUiTimeoutMillis(I)V" since="29" />
+		<field name="CAPABILITY_CAN_CONTROL_MAGNIFICATION" since="24" />
+		<field name="CAPABILITY_CAN_PERFORM_GESTURES" since="24" />
+		<field name="CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY" since="18" deprecated="26" />
+		<field name="CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS" since="18" />
+		<field name="CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES" since="26" />
+		<field name="CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION" since="18" />
+		<field name="CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT" since="18" />
+		<field name="CAPABILITY_CAN_TAKE_SCREENSHOT" since="30" />
+		<field name="CREATOR" />
+		<field name="DEFAULT" />
+		<field name="FEEDBACK_ALL_MASK" since="14" />
+		<field name="FEEDBACK_AUDIBLE" />
+		<field name="FEEDBACK_BRAILLE" since="17" />
+		<field name="FEEDBACK_GENERIC" />
+		<field name="FEEDBACK_HAPTIC" />
+		<field name="FEEDBACK_SPOKEN" />
+		<field name="FEEDBACK_VISUAL" />
+		<field name="FLAG_ENABLE_ACCESSIBILITY_VOLUME" since="26" />
+		<field name="FLAG_INCLUDE_NOT_IMPORTANT_VIEWS" since="16" />
+		<field name="FLAG_REPORT_VIEW_IDS" since="18" />
+		<field name="FLAG_REQUEST_2_FINGER_PASSTHROUGH" since="31" />
+		<field name="FLAG_REQUEST_ACCESSIBILITY_BUTTON" since="26" />
+		<field name="FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY" since="18" deprecated="26" />
+		<field name="FLAG_REQUEST_FILTER_KEY_EVENTS" since="18" />
+		<field name="FLAG_REQUEST_FINGERPRINT_GESTURES" since="26" />
+		<field name="FLAG_REQUEST_MULTI_FINGER_GESTURES" since="30" />
+		<field name="FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK" since="29" />
+		<field name="FLAG_REQUEST_TOUCH_EXPLORATION_MODE" since="16" />
+		<field name="FLAG_RETRIEVE_INTERACTIVE_WINDOWS" since="21" />
+		<field name="FLAG_SEND_MOTION_EVENTS" since="31" />
+		<field name="FLAG_SERVICE_HANDLES_DOUBLE_TAP" since="30" />
+		<field name="eventTypes" />
+		<field name="feedbackType" />
+		<field name="flags" />
+		<field name="notificationTimeout" />
+		<field name="packageNames" />
+	</class>
+	<class name="android/accessibilityservice/FingerprintGestureController" since="26">
+		<extends name="java/lang/Object" />
+		<method name="isGestureDetectionAvailable()Z" />
+		<method name="registerFingerprintGestureCallback(Landroid/accessibilityservice/FingerprintGestureController$FingerprintGestureCallback;Landroid/os/Handler;)V" />
+		<method name="unregisterFingerprintGestureCallback(Landroid/accessibilityservice/FingerprintGestureController$FingerprintGestureCallback;)V" />
+		<field name="FINGERPRINT_GESTURE_SWIPE_DOWN" />
+		<field name="FINGERPRINT_GESTURE_SWIPE_LEFT" />
+		<field name="FINGERPRINT_GESTURE_SWIPE_RIGHT" />
+		<field name="FINGERPRINT_GESTURE_SWIPE_UP" />
+	</class>
+	<class name="android/accessibilityservice/FingerprintGestureController$FingerprintGestureCallback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onGestureDetected(I)V" />
+		<method name="onGestureDetectionAvailabilityChanged(Z)V" />
+	</class>
+	<class name="android/accessibilityservice/GestureDescription" since="24">
+		<extends name="java/lang/Object" />
+		<method name="getDisplayId()I" since="30" />
+		<method name="getMaxGestureDuration()J" />
+		<method name="getMaxStrokeCount()I" />
+		<method name="getStroke(I)Landroid/accessibilityservice/GestureDescription$StrokeDescription;" />
+		<method name="getStrokeCount()I" />
+	</class>
+	<class name="android/accessibilityservice/GestureDescription$Builder" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addStroke(Landroid/accessibilityservice/GestureDescription$StrokeDescription;)Landroid/accessibilityservice/GestureDescription$Builder;" />
+		<method name="build()Landroid/accessibilityservice/GestureDescription;" />
+		<method name="setDisplayId(I)Landroid/accessibilityservice/GestureDescription$Builder;" since="30" />
+	</class>
+	<class name="android/accessibilityservice/GestureDescription$StrokeDescription" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/Path;JJ)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Path;JJZ)V" since="26" />
+		<method name="continueStroke(Landroid/graphics/Path;JJZ)Landroid/accessibilityservice/GestureDescription$StrokeDescription;" since="26" />
+		<method name="getDuration()J" />
+		<method name="getPath()Landroid/graphics/Path;" />
+		<method name="getStartTime()J" />
+		<method name="willContinue()Z" since="26" />
+	</class>
+	<class name="android/accounts/AbstractAccountAuthenticator" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="addAccount(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" />
+		<method name="addAccountFromCredentials(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)Landroid/os/Bundle;" since="18" />
+		<method name="confirmCredentials(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)Landroid/os/Bundle;" />
+		<method name="editProperties(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;)Landroid/os/Bundle;" />
+		<method name="finishSession(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="26" />
+		<method name="getAccountCredentialsForCloning(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;)Landroid/os/Bundle;" since="18" />
+		<method name="getAccountRemovalAllowed(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;)Landroid/os/Bundle;" />
+		<method name="getAuthToken(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" />
+		<method name="getAuthTokenLabel(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getIBinder()Landroid/os/IBinder;" />
+		<method name="hasFeatures(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)Landroid/os/Bundle;" />
+		<method name="isCredentialsUpdateSuggested(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;)Landroid/os/Bundle;" since="26" />
+		<method name="startAddAccountSession(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="26" />
+		<method name="startUpdateCredentialsSession(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="26" />
+		<method name="updateCredentials(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" />
+		<field name="KEY_CUSTOM_TOKEN_EXPIRY" since="23" />
+	</class>
+	<class name="android/accounts/Account" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="CREATOR" />
+		<field name="name" />
+		<field name="type" />
+	</class>
+	<class name="android/accounts/AccountAuthenticatorActivity" since="5" deprecated="30">
+		<extends name="android/app/Activity" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="setAccountAuthenticatorResult(Landroid/os/Bundle;)V" deprecated="30" />
+	</class>
+	<class name="android/accounts/AccountAuthenticatorResponse" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="onError(ILjava/lang/String;)V" />
+		<method name="onRequestContinued()V" />
+		<method name="onResult(Landroid/os/Bundle;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/accounts/AccountManager" since="5">
+		<extends name="java/lang/Object" />
+		<method name="addAccount(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" />
+		<method name="addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Z" />
+		<method name="addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/Map;)Z" since="26" />
+		<method name="addOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;Landroid/os/Handler;Z)V" />
+		<method name="addOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;Landroid/os/Handler;Z[Ljava/lang/String;)V" since="26" />
+		<method name="blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;" />
+		<method name="clearPassword(Landroid/accounts/Account;)V" />
+		<method name="confirmCredentials(Landroid/accounts/Account;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" />
+		<method name="editProperties(Ljava/lang/String;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" />
+		<method name="finishSession(Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="26" />
+		<method name="get(Landroid/content/Context;)Landroid/accounts/AccountManager;" />
+		<method name="getAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;)I" since="26" />
+		<method name="getAccounts()[Landroid/accounts/Account;" />
+		<method name="getAccountsAndVisibilityForPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;" since="26" />
+		<method name="getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;" />
+		<method name="getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" />
+		<method name="getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;" since="18" />
+		<method name="getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" />
+		<method name="getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="14" />
+		<method name="getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" deprecated="15" />
+		<method name="getAuthTokenByFeatures(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" />
+		<method name="getAuthenticatorTypes()[Landroid/accounts/AuthenticatorDescription;" />
+		<method name="getPackagesAndVisibilityForAccount(Landroid/accounts/Account;)Ljava/util/Map;" since="26" />
+		<method name="getPassword(Landroid/accounts/Account;)Ljava/lang/String;" />
+		<method name="getPreviousName(Landroid/accounts/Account;)Ljava/lang/String;" since="21" />
+		<method name="getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="8" />
+		<method name="invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="isCredentialsUpdateSuggested(Landroid/accounts/Account;Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="26" />
+		<method name="newChooseAccountIntent(Landroid/accounts/Account;Ljava/util/ArrayList;[Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;" since="14" deprecated="23" />
+		<method name="newChooseAccountIntent(Landroid/accounts/Account;Ljava/util/List;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;" since="23" />
+		<method name="notifyAccountAuthenticated(Landroid/accounts/Account;)Z" since="23" />
+		<method name="peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="removeAccount(Landroid/accounts/Account;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" deprecated="22" />
+		<method name="removeAccount(Landroid/accounts/Account;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="22" />
+		<method name="removeAccountExplicitly(Landroid/accounts/Account;)Z" since="22" />
+		<method name="removeOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;)V" />
+		<method name="renameAccount(Landroid/accounts/Account;Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="21" />
+		<method name="setAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;I)Z" since="26" />
+		<method name="setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setPassword(Landroid/accounts/Account;Ljava/lang/String;)V" />
+		<method name="setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="startAddAccountSession(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="26" />
+		<method name="startUpdateCredentialsSession(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="26" />
+		<method name="updateCredentials(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" />
+		<field name="ACTION_ACCOUNT_REMOVED" since="26" />
+		<field name="ACTION_AUTHENTICATOR_INTENT" />
+		<field name="AUTHENTICATOR_ATTRIBUTES_NAME" />
+		<field name="AUTHENTICATOR_META_DATA_NAME" />
+		<field name="ERROR_CODE_BAD_ARGUMENTS" />
+		<field name="ERROR_CODE_BAD_AUTHENTICATION" since="18" />
+		<field name="ERROR_CODE_BAD_REQUEST" />
+		<field name="ERROR_CODE_CANCELED" />
+		<field name="ERROR_CODE_INVALID_RESPONSE" />
+		<field name="ERROR_CODE_NETWORK_ERROR" />
+		<field name="ERROR_CODE_REMOTE_EXCEPTION" />
+		<field name="ERROR_CODE_UNSUPPORTED_OPERATION" />
+		<field name="KEY_ACCOUNTS" />
+		<field name="KEY_ACCOUNT_AUTHENTICATOR_RESPONSE" />
+		<field name="KEY_ACCOUNT_MANAGER_RESPONSE" />
+		<field name="KEY_ACCOUNT_NAME" />
+		<field name="KEY_ACCOUNT_SESSION_BUNDLE" since="26" />
+		<field name="KEY_ACCOUNT_STATUS_TOKEN" since="26" />
+		<field name="KEY_ACCOUNT_TYPE" />
+		<field name="KEY_ANDROID_PACKAGE_NAME" since="14" />
+		<field name="KEY_AUTHENTICATOR_TYPES" />
+		<field name="KEY_AUTHTOKEN" />
+		<field name="KEY_AUTH_FAILED_MESSAGE" />
+		<field name="KEY_AUTH_TOKEN_LABEL" />
+		<field name="KEY_BOOLEAN_RESULT" />
+		<field name="KEY_CALLER_PID" since="11" />
+		<field name="KEY_CALLER_UID" since="11" />
+		<field name="KEY_ERROR_CODE" />
+		<field name="KEY_ERROR_MESSAGE" />
+		<field name="KEY_INTENT" />
+		<field name="KEY_LAST_AUTHENTICATED_TIME" since="23" />
+		<field name="KEY_PASSWORD" />
+		<field name="KEY_USERDATA" />
+		<field name="LOGIN_ACCOUNTS_CHANGED_ACTION" deprecated="26" />
+		<field name="PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE" since="26" />
+		<field name="PACKAGE_NAME_KEY_LEGACY_VISIBLE" since="26" />
+		<field name="VISIBILITY_NOT_VISIBLE" since="26" />
+		<field name="VISIBILITY_UNDEFINED" since="26" />
+		<field name="VISIBILITY_USER_MANAGED_NOT_VISIBLE" since="26" />
+		<field name="VISIBILITY_USER_MANAGED_VISIBLE" since="26" />
+		<field name="VISIBILITY_VISIBLE" since="26" />
+	</class>
+	<class name="android/accounts/AccountManagerCallback" since="5">
+		<extends name="java/lang/Object" />
+		<method name="run(Landroid/accounts/AccountManagerFuture;)V" />
+	</class>
+	<class name="android/accounts/AccountManagerFuture" since="5">
+		<extends name="java/lang/Object" />
+		<method name="cancel(Z)Z" />
+		<method name="getResult()Ljava/lang/Object;" />
+		<method name="getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;" />
+		<method name="isCancelled()Z" />
+		<method name="isDone()Z" />
+	</class>
+	<class name="android/accounts/AccountsException" since="5">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/accounts/AuthenticatorDescription" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;IIII)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;IIIIZ)V" since="11" />
+		<method name="newKey(Ljava/lang/String;)Landroid/accounts/AuthenticatorDescription;" />
+		<field name="CREATOR" />
+		<field name="accountPreferencesId" />
+		<field name="customTokens" since="11" />
+		<field name="iconId" />
+		<field name="labelId" />
+		<field name="packageName" />
+		<field name="smallIconId" />
+		<field name="type" />
+	</class>
+	<class name="android/accounts/AuthenticatorException" since="5">
+		<extends name="android/accounts/AccountsException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/accounts/NetworkErrorException" since="5">
+		<extends name="android/accounts/AccountsException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/accounts/OnAccountsUpdateListener" since="5">
+		<extends name="java/lang/Object" />
+		<method name="onAccountsUpdated([Landroid/accounts/Account;)V" />
+	</class>
+	<class name="android/accounts/OperationCanceledException" since="5">
+		<extends name="android/accounts/AccountsException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/animation/Animator" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addListener(Landroid/animation/Animator$AnimatorListener;)V" />
+		<method name="addPauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V" since="19" />
+		<method name="cancel()V" />
+		<method name="clone()Landroid/animation/Animator;" />
+		<method name="end()V" />
+		<method name="getDuration()J" />
+		<method name="getInterpolator()Landroid/animation/TimeInterpolator;" since="18" />
+		<method name="getListeners()Ljava/util/ArrayList;" />
+		<method name="getStartDelay()J" />
+		<method name="getTotalDuration()J" since="24" />
+		<method name="isPaused()Z" since="19" />
+		<method name="isRunning()Z" />
+		<method name="isStarted()Z" since="14" />
+		<method name="pause()V" since="19" />
+		<method name="removeAllListeners()V" />
+		<method name="removeListener(Landroid/animation/Animator$AnimatorListener;)V" />
+		<method name="removePauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V" since="19" />
+		<method name="resume()V" since="19" />
+		<method name="setDuration(J)Landroid/animation/Animator;" />
+		<method name="setInterpolator(Landroid/animation/TimeInterpolator;)V" />
+		<method name="setStartDelay(J)V" />
+		<method name="setTarget(Ljava/lang/Object;)V" />
+		<method name="setupEndValues()V" />
+		<method name="setupStartValues()V" />
+		<method name="start()V" />
+		<field name="DURATION_INFINITE" since="24" />
+	</class>
+	<class name="android/animation/Animator$AnimatorListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onAnimationCancel(Landroid/animation/Animator;)V" />
+		<method name="onAnimationEnd(Landroid/animation/Animator;)V" />
+		<method name="onAnimationEnd(Landroid/animation/Animator;Z)V" since="26" />
+		<method name="onAnimationRepeat(Landroid/animation/Animator;)V" />
+		<method name="onAnimationStart(Landroid/animation/Animator;)V" />
+		<method name="onAnimationStart(Landroid/animation/Animator;Z)V" since="26" />
+	</class>
+	<class name="android/animation/Animator$AnimatorPauseListener" since="19">
+		<extends name="java/lang/Object" />
+		<method name="onAnimationPause(Landroid/animation/Animator;)V" />
+		<method name="onAnimationResume(Landroid/animation/Animator;)V" />
+	</class>
+	<class name="android/animation/AnimatorInflater" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="loadAnimator(Landroid/content/Context;I)Landroid/animation/Animator;" />
+		<method name="loadStateListAnimator(Landroid/content/Context;I)Landroid/animation/StateListAnimator;" since="21" />
+	</class>
+	<class name="android/animation/AnimatorListenerAdapter" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/animation/Animator$AnimatorListener" />
+		<implements name="android/animation/Animator$AnimatorPauseListener" since="19" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/animation/AnimatorSet" since="11">
+		<extends name="android/animation/Animator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clone()Landroid/animation/AnimatorSet;" />
+		<method name="getChildAnimations()Ljava/util/ArrayList;" />
+		<method name="getCurrentPlayTime()J" since="26" />
+		<method name="play(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;" />
+		<method name="playSequentially(Ljava/util/List;)V" />
+		<method name="playSequentially([Landroid/animation/Animator;)V" />
+		<method name="playTogether(Ljava/util/Collection;)V" />
+		<method name="playTogether([Landroid/animation/Animator;)V" />
+		<method name="reverse()V" since="26" />
+		<method name="setCurrentPlayTime(J)V" since="26" />
+		<method name="setDuration(J)Landroid/animation/AnimatorSet;" />
+	</class>
+	<class name="android/animation/AnimatorSet$Builder" since="11">
+		<extends name="java/lang/Object" />
+		<method name="after(J)Landroid/animation/AnimatorSet$Builder;" />
+		<method name="after(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;" />
+		<method name="before(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;" />
+		<method name="with(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;" />
+	</class>
+	<class name="android/animation/ArgbEvaluator" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/animation/TypeEvaluator" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/animation/BidirectionalTypeConverter" since="21">
+		<extends name="android/animation/TypeConverter" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;Ljava/lang/Class;)V" />
+		<method name="convertBack(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="invert()Landroid/animation/BidirectionalTypeConverter;" />
+	</class>
+	<class name="android/animation/FloatArrayEvaluator" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/animation/TypeEvaluator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;([F)V" />
+		<method name="evaluate(F[F[F)[F" />
+	</class>
+	<class name="android/animation/FloatEvaluator" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/animation/TypeEvaluator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="evaluate(FLjava/lang/Number;Ljava/lang/Number;)Ljava/lang/Float;" since="14" />
+	</class>
+	<class name="android/animation/IntArrayEvaluator" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/animation/TypeEvaluator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;([I)V" />
+		<method name="evaluate(F[I[I)[I" />
+	</class>
+	<class name="android/animation/IntEvaluator" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/animation/TypeEvaluator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="evaluate(FLjava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;" since="14" />
+	</class>
+	<class name="android/animation/Keyframe" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clone()Landroid/animation/Keyframe;" />
+		<method name="getFraction()F" />
+		<method name="getInterpolator()Landroid/animation/TimeInterpolator;" />
+		<method name="getType()Ljava/lang/Class;" />
+		<method name="getValue()Ljava/lang/Object;" />
+		<method name="hasValue()Z" />
+		<method name="ofFloat(F)Landroid/animation/Keyframe;" />
+		<method name="ofFloat(FF)Landroid/animation/Keyframe;" />
+		<method name="ofInt(F)Landroid/animation/Keyframe;" />
+		<method name="ofInt(FI)Landroid/animation/Keyframe;" />
+		<method name="ofObject(F)Landroid/animation/Keyframe;" />
+		<method name="ofObject(FLjava/lang/Object;)Landroid/animation/Keyframe;" />
+		<method name="setFraction(F)V" />
+		<method name="setInterpolator(Landroid/animation/TimeInterpolator;)V" />
+		<method name="setValue(Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/animation/LayoutTransition" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addChild(Landroid/view/ViewGroup;Landroid/view/View;)V" />
+		<method name="addTransitionListener(Landroid/animation/LayoutTransition$TransitionListener;)V" />
+		<method name="disableTransitionType(I)V" since="16" />
+		<method name="enableTransitionType(I)V" since="16" />
+		<method name="getAnimator(I)Landroid/animation/Animator;" />
+		<method name="getDuration(I)J" />
+		<method name="getInterpolator(I)Landroid/animation/TimeInterpolator;" />
+		<method name="getStagger(I)J" />
+		<method name="getStartDelay(I)J" />
+		<method name="getTransitionListeners()Ljava/util/List;" />
+		<method name="hideChild(Landroid/view/ViewGroup;Landroid/view/View;)V" deprecated="16" />
+		<method name="hideChild(Landroid/view/ViewGroup;Landroid/view/View;I)V" since="16" />
+		<method name="isChangingLayout()Z" />
+		<method name="isRunning()Z" />
+		<method name="isTransitionTypeEnabled(I)Z" since="16" />
+		<method name="removeChild(Landroid/view/ViewGroup;Landroid/view/View;)V" />
+		<method name="removeTransitionListener(Landroid/animation/LayoutTransition$TransitionListener;)V" />
+		<method name="setAnimateParentHierarchy(Z)V" since="14" />
+		<method name="setAnimator(ILandroid/animation/Animator;)V" />
+		<method name="setDuration(IJ)V" />
+		<method name="setDuration(J)V" />
+		<method name="setInterpolator(ILandroid/animation/TimeInterpolator;)V" />
+		<method name="setStagger(IJ)V" />
+		<method name="setStartDelay(IJ)V" />
+		<method name="showChild(Landroid/view/ViewGroup;Landroid/view/View;)V" deprecated="16" />
+		<method name="showChild(Landroid/view/ViewGroup;Landroid/view/View;I)V" since="16" />
+		<field name="APPEARING" />
+		<field name="CHANGE_APPEARING" />
+		<field name="CHANGE_DISAPPEARING" />
+		<field name="CHANGING" since="16" />
+		<field name="DISAPPEARING" />
+	</class>
+	<class name="android/animation/LayoutTransition$TransitionListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="endTransition(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V" />
+		<method name="startTransition(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V" />
+	</class>
+	<class name="android/animation/ObjectAnimator" since="11">
+		<extends name="android/animation/ValueAnimator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clone()Landroid/animation/ObjectAnimator;" />
+		<method name="getPropertyName()Ljava/lang/String;" />
+		<method name="getTarget()Ljava/lang/Object;" />
+		<method name="ofArgb(Ljava/lang/Object;Landroid/util/Property;[I)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofArgb(Ljava/lang/Object;Ljava/lang/String;[I)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofFloat(Ljava/lang/Object;Landroid/util/Property;Landroid/util/Property;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator;" since="14" />
+		<method name="ofFloat(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator;" />
+		<method name="ofInt(Ljava/lang/Object;Landroid/util/Property;Landroid/util/Property;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofInt(Ljava/lang/Object;Landroid/util/Property;[I)Landroid/animation/ObjectAnimator;" since="14" />
+		<method name="ofInt(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofInt(Ljava/lang/Object;Ljava/lang/String;[I)Landroid/animation/ObjectAnimator;" />
+		<method name="ofMultiFloat(Ljava/lang/Object;Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofMultiFloat(Ljava/lang/Object;Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofMultiFloat(Ljava/lang/Object;Ljava/lang/String;[[F)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofMultiInt(Ljava/lang/Object;Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofMultiInt(Ljava/lang/Object;Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofMultiInt(Ljava/lang/Object;Ljava/lang/String;[[I)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofObject(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofObject(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofObject(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;" since="14" />
+		<method name="ofObject(Ljava/lang/Object;Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21" />
+		<method name="ofObject(Ljava/lang/Object;Ljava/lang/String;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;" />
+		<method name="ofPropertyValuesHolder(Ljava/lang/Object;[Landroid/animation/PropertyValuesHolder;)Landroid/animation/ObjectAnimator;" />
+		<method name="setAutoCancel(Z)V" since="18" />
+		<method name="setDuration(J)Landroid/animation/ObjectAnimator;" />
+		<method name="setProperty(Landroid/util/Property;)V" since="14" />
+		<method name="setPropertyName(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/animation/PointFEvaluator" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/animation/TypeEvaluator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/graphics/PointF;)V" />
+		<method name="evaluate(FLandroid/graphics/PointF;Landroid/graphics/PointF;)Landroid/graphics/PointF;" />
+	</class>
+	<class name="android/animation/PropertyValuesHolder" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="clone()Landroid/animation/PropertyValuesHolder;" />
+		<method name="getPropertyName()Ljava/lang/String;" />
+		<method name="ofFloat(Landroid/util/Property;[F)Landroid/animation/PropertyValuesHolder;" since="14" />
+		<method name="ofFloat(Ljava/lang/String;[F)Landroid/animation/PropertyValuesHolder;" />
+		<method name="ofInt(Landroid/util/Property;[I)Landroid/animation/PropertyValuesHolder;" since="14" />
+		<method name="ofInt(Ljava/lang/String;[I)Landroid/animation/PropertyValuesHolder;" />
+		<method name="ofKeyframe(Landroid/util/Property;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;" since="14" />
+		<method name="ofKeyframe(Ljava/lang/String;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;" />
+		<method name="ofMultiFloat(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofMultiFloat(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofMultiFloat(Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofMultiFloat(Ljava/lang/String;[[F)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofMultiInt(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofMultiInt(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofMultiInt(Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofMultiInt(Ljava/lang/String;[[I)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofObject(Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofObject(Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofObject(Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;" since="14" />
+		<method name="ofObject(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;" since="21" />
+		<method name="ofObject(Ljava/lang/String;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;" />
+		<method name="setConverter(Landroid/animation/TypeConverter;)V" since="21" />
+		<method name="setEvaluator(Landroid/animation/TypeEvaluator;)V" />
+		<method name="setFloatValues([F)V" />
+		<method name="setIntValues([I)V" />
+		<method name="setKeyframes([Landroid/animation/Keyframe;)V" />
+		<method name="setObjectValues([Ljava/lang/Object;)V" />
+		<method name="setProperty(Landroid/util/Property;)V" since="14" />
+		<method name="setPropertyName(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/animation/RectEvaluator" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/animation/TypeEvaluator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Rect;)V" since="21" />
+		<method name="evaluate(FLandroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/graphics/Rect;" />
+	</class>
+	<class name="android/animation/StateListAnimator" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" since="22" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addState([ILandroid/animation/Animator;)V" />
+		<method name="clone()Landroid/animation/StateListAnimator;" since="22" />
+		<method name="jumpToCurrentState()V" />
+	</class>
+	<class name="android/animation/TimeAnimator" since="16">
+		<extends name="android/animation/ValueAnimator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setTimeListener(Landroid/animation/TimeAnimator$TimeListener;)V" />
+	</class>
+	<class name="android/animation/TimeAnimator$TimeListener" since="16">
+		<extends name="java/lang/Object" />
+		<method name="onTimeUpdate(Landroid/animation/TimeAnimator;JJ)V" />
+	</class>
+	<class name="android/animation/TimeInterpolator" since="11">
+		<extends name="java/lang/Object" />
+		<method name="getInterpolation(F)F" />
+	</class>
+	<class name="android/animation/TypeConverter" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;Ljava/lang/Class;)V" />
+		<method name="convert(Ljava/lang/Object;)Ljava/lang/Object;" />
+	</class>
+	<class name="android/animation/TypeEvaluator" since="11">
+		<extends name="java/lang/Object" />
+		<method name="evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" />
+	</class>
+	<class name="android/animation/ValueAnimator" since="11">
+		<extends name="android/animation/Animator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V" />
+		<method name="areAnimatorsEnabled()Z" since="26" />
+		<method name="clone()Landroid/animation/ValueAnimator;" />
+		<method name="getAnimatedFraction()F" since="12" />
+		<method name="getAnimatedValue()Ljava/lang/Object;" />
+		<method name="getAnimatedValue(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getCurrentPlayTime()J" />
+		<method name="getFrameDelay()J" />
+		<method name="getInterpolator()Landroid/animation/TimeInterpolator;" />
+		<method name="getRepeatCount()I" />
+		<method name="getRepeatMode()I" />
+		<method name="getValues()[Landroid/animation/PropertyValuesHolder;" />
+		<method name="ofArgb([I)Landroid/animation/ValueAnimator;" since="21" />
+		<method name="ofFloat([F)Landroid/animation/ValueAnimator;" />
+		<method name="ofInt([I)Landroid/animation/ValueAnimator;" />
+		<method name="ofObject(Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ValueAnimator;" />
+		<method name="ofPropertyValuesHolder([Landroid/animation/PropertyValuesHolder;)Landroid/animation/ValueAnimator;" />
+		<method name="removeAllUpdateListeners()V" />
+		<method name="removeUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V" />
+		<method name="reverse()V" />
+		<method name="setCurrentFraction(F)V" since="22" />
+		<method name="setCurrentPlayTime(J)V" />
+		<method name="setDuration(J)Landroid/animation/ValueAnimator;" />
+		<method name="setEvaluator(Landroid/animation/TypeEvaluator;)V" />
+		<method name="setFloatValues([F)V" />
+		<method name="setFrameDelay(J)V" />
+		<method name="setIntValues([I)V" />
+		<method name="setObjectValues([Ljava/lang/Object;)V" />
+		<method name="setRepeatCount(I)V" />
+		<method name="setRepeatMode(I)V" />
+		<method name="setValues([Landroid/animation/PropertyValuesHolder;)V" />
+		<field name="INFINITE" />
+		<field name="RESTART" />
+		<field name="REVERSE" />
+	</class>
+	<class name="android/animation/ValueAnimator$AnimatorUpdateListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onAnimationUpdate(Landroid/animation/ValueAnimator;)V" />
+	</class>
+	<class name="android/annotation/SuppressLint" since="16">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="value()[Ljava/lang/String;" />
+	</class>
+	<class name="android/annotation/TargetApi" since="16">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="value()I" />
+	</class>
+	<class name="android/app/ActionBar" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addOnMenuVisibilityListener(Landroid/app/ActionBar$OnMenuVisibilityListener;)V" />
+		<method name="addTab(Landroid/app/ActionBar$Tab;)V" deprecated="21" />
+		<method name="addTab(Landroid/app/ActionBar$Tab;I)V" deprecated="21" />
+		<method name="addTab(Landroid/app/ActionBar$Tab;IZ)V" deprecated="21" />
+		<method name="addTab(Landroid/app/ActionBar$Tab;Z)V" deprecated="21" />
+		<method name="getCustomView()Landroid/view/View;" />
+		<method name="getDisplayOptions()I" />
+		<method name="getElevation()F" since="21" />
+		<method name="getHeight()I" />
+		<method name="getHideOffset()I" since="21" />
+		<method name="getNavigationItemCount()I" deprecated="21" />
+		<method name="getNavigationMode()I" deprecated="21" />
+		<method name="getSelectedNavigationIndex()I" deprecated="21" />
+		<method name="getSelectedTab()Landroid/app/ActionBar$Tab;" deprecated="21" />
+		<method name="getSubtitle()Ljava/lang/CharSequence;" />
+		<method name="getTabAt(I)Landroid/app/ActionBar$Tab;" deprecated="21" />
+		<method name="getTabCount()I" deprecated="21" />
+		<method name="getThemedContext()Landroid/content/Context;" since="14" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<method name="hide()V" />
+		<method name="isHideOnContentScrollEnabled()Z" since="21" />
+		<method name="isShowing()Z" />
+		<method name="newTab()Landroid/app/ActionBar$Tab;" deprecated="21" />
+		<method name="removeAllTabs()V" deprecated="21" />
+		<method name="removeOnMenuVisibilityListener(Landroid/app/ActionBar$OnMenuVisibilityListener;)V" />
+		<method name="removeTab(Landroid/app/ActionBar$Tab;)V" deprecated="21" />
+		<method name="removeTabAt(I)V" deprecated="21" />
+		<method name="selectTab(Landroid/app/ActionBar$Tab;)V" deprecated="21" />
+		<method name="setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setCustomView(I)V" />
+		<method name="setCustomView(Landroid/view/View;)V" />
+		<method name="setCustomView(Landroid/view/View;Landroid/app/ActionBar$LayoutParams;)V" />
+		<method name="setDisplayHomeAsUpEnabled(Z)V" />
+		<method name="setDisplayOptions(I)V" />
+		<method name="setDisplayOptions(II)V" />
+		<method name="setDisplayShowCustomEnabled(Z)V" />
+		<method name="setDisplayShowHomeEnabled(Z)V" />
+		<method name="setDisplayShowTitleEnabled(Z)V" />
+		<method name="setDisplayUseLogoEnabled(Z)V" />
+		<method name="setElevation(F)V" since="21" />
+		<method name="setHideOffset(I)V" since="21" />
+		<method name="setHideOnContentScrollEnabled(Z)V" since="21" />
+		<method name="setHomeActionContentDescription(I)V" since="18" />
+		<method name="setHomeActionContentDescription(Ljava/lang/CharSequence;)V" since="18" />
+		<method name="setHomeAsUpIndicator(I)V" since="18" />
+		<method name="setHomeAsUpIndicator(Landroid/graphics/drawable/Drawable;)V" since="18" />
+		<method name="setHomeButtonEnabled(Z)V" since="14" />
+		<method name="setIcon(I)V" since="14" />
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)V" since="14" />
+		<method name="setListNavigationCallbacks(Landroid/widget/SpinnerAdapter;Landroid/app/ActionBar$OnNavigationListener;)V" deprecated="21" />
+		<method name="setLogo(I)V" since="14" />
+		<method name="setLogo(Landroid/graphics/drawable/Drawable;)V" since="14" />
+		<method name="setNavigationMode(I)V" deprecated="21" />
+		<method name="setSelectedNavigationItem(I)V" deprecated="21" />
+		<method name="setSplitBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" since="14" />
+		<method name="setStackedBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" since="14" />
+		<method name="setSubtitle(I)V" />
+		<method name="setSubtitle(Ljava/lang/CharSequence;)V" />
+		<method name="setTitle(I)V" />
+		<method name="setTitle(Ljava/lang/CharSequence;)V" />
+		<method name="show()V" />
+		<field name="DISPLAY_HOME_AS_UP" />
+		<field name="DISPLAY_SHOW_CUSTOM" />
+		<field name="DISPLAY_SHOW_HOME" />
+		<field name="DISPLAY_SHOW_TITLE" />
+		<field name="DISPLAY_USE_LOGO" />
+		<field name="NAVIGATION_MODE_LIST" deprecated="21" />
+		<field name="NAVIGATION_MODE_STANDARD" deprecated="21" />
+		<field name="NAVIGATION_MODE_TABS" deprecated="21" />
+	</class>
+	<class name="android/app/ActionBar$LayoutParams" since="11">
+		<extends name="android/view/ViewGroup$MarginLayoutParams" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="&lt;init&gt;(Landroid/app/ActionBar$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<field name="gravity" />
+	</class>
+	<class name="android/app/ActionBar$OnMenuVisibilityListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onMenuVisibilityChanged(Z)V" />
+	</class>
+	<class name="android/app/ActionBar$OnNavigationListener" since="11" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="onNavigationItemSelected(IJ)Z" deprecated="29" />
+	</class>
+	<class name="android/app/ActionBar$Tab" since="11" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" since="14" deprecated="29" />
+		<method name="getCustomView()Landroid/view/View;" deprecated="29" />
+		<method name="getIcon()Landroid/graphics/drawable/Drawable;" deprecated="29" />
+		<method name="getPosition()I" deprecated="29" />
+		<method name="getTag()Ljava/lang/Object;" deprecated="29" />
+		<method name="getText()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="select()V" deprecated="29" />
+		<method name="setContentDescription(I)Landroid/app/ActionBar$Tab;" since="14" deprecated="29" />
+		<method name="setContentDescription(Ljava/lang/CharSequence;)Landroid/app/ActionBar$Tab;" since="14" deprecated="29" />
+		<method name="setCustomView(I)Landroid/app/ActionBar$Tab;" deprecated="29" />
+		<method name="setCustomView(Landroid/view/View;)Landroid/app/ActionBar$Tab;" deprecated="29" />
+		<method name="setIcon(I)Landroid/app/ActionBar$Tab;" deprecated="29" />
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)Landroid/app/ActionBar$Tab;" deprecated="29" />
+		<method name="setTabListener(Landroid/app/ActionBar$TabListener;)Landroid/app/ActionBar$Tab;" deprecated="29" />
+		<method name="setTag(Ljava/lang/Object;)Landroid/app/ActionBar$Tab;" deprecated="29" />
+		<method name="setText(I)Landroid/app/ActionBar$Tab;" deprecated="29" />
+		<method name="setText(Ljava/lang/CharSequence;)Landroid/app/ActionBar$Tab;" deprecated="29" />
+		<field name="INVALID_POSITION" deprecated="29" />
+	</class>
+	<class name="android/app/ActionBar$TabListener" since="11" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="onTabReselected(Landroid/app/ActionBar$Tab;Landroid/app/FragmentTransaction;)V" deprecated="29" />
+		<method name="onTabSelected(Landroid/app/ActionBar$Tab;Landroid/app/FragmentTransaction;)V" deprecated="29" />
+		<method name="onTabUnselected(Landroid/app/ActionBar$Tab;Landroid/app/FragmentTransaction;)V" deprecated="29" />
+	</class>
+	<class name="android/app/Activity" since="1">
+		<extends name="android/view/ContextThemeWrapper" />
+		<implements name="android/content/ComponentCallbacks" removed="14" />
+		<implements name="android/content/ComponentCallbacks2" since="14" />
+		<implements name="android/view/KeyEvent$Callback" />
+		<implements name="android/view/LayoutInflater$Factory" removed="11" />
+		<implements name="android/view/LayoutInflater$Factory2" since="11" />
+		<implements name="android/view/View$OnCreateContextMenuListener" />
+		<implements name="android/view/Window$Callback" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="closeContextMenu()V" since="3" />
+		<method name="closeOptionsMenu()V" />
+		<method name="createPendingResult(ILandroid/content/Intent;I)Landroid/app/PendingIntent;" />
+		<method name="dismissDialog(I)V" deprecated="15" />
+		<method name="dismissKeyboardShortcutsHelper()V" since="24" />
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" since="11" />
+		<method name="enterPictureInPictureMode()V" since="24" deprecated="26" />
+		<method name="enterPictureInPictureMode(Landroid/app/PictureInPictureParams;)Z" since="26" />
+		<method name="findViewById(I)Landroid/view/View;" />
+		<method name="finish()V" />
+		<method name="finishActivity(I)V" />
+		<method name="finishActivityFromChild(Landroid/app/Activity;I)V" deprecated="30" />
+		<method name="finishAffinity()V" since="16" />
+		<method name="finishAfterTransition()V" since="21" />
+		<method name="finishAndRemoveTask()V" since="21" />
+		<method name="finishFromChild(Landroid/app/Activity;)V" deprecated="30" />
+		<method name="getActionBar()Landroid/app/ActionBar;" since="11" />
+		<method name="getApplication()Landroid/app/Application;" />
+		<method name="getCallingActivity()Landroid/content/ComponentName;" />
+		<method name="getCallingPackage()Ljava/lang/String;" />
+		<method name="getChangingConfigurations()I" />
+		<method name="getComponentName()Landroid/content/ComponentName;" />
+		<method name="getContentScene()Landroid/transition/Scene;" since="21" />
+		<method name="getContentTransitionManager()Landroid/transition/TransitionManager;" since="21" />
+		<method name="getCurrentFocus()Landroid/view/View;" />
+		<method name="getFragmentManager()Landroid/app/FragmentManager;" since="11" deprecated="28" />
+		<method name="getInstanceCount()J" removed="11" />
+		<method name="getIntent()Landroid/content/Intent;" />
+		<method name="getLastNonConfigurationInstance()Ljava/lang/Object;" deprecated="15" />
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;" />
+		<method name="getLoaderManager()Landroid/app/LoaderManager;" since="11" deprecated="28" />
+		<method name="getLocalClassName()Ljava/lang/String;" />
+		<method name="getMaxNumPictureInPictureActions()I" since="26" />
+		<method name="getMediaController()Landroid/media/session/MediaController;" since="21" />
+		<method name="getMenuInflater()Landroid/view/MenuInflater;" />
+		<method name="getParent()Landroid/app/Activity;" />
+		<method name="getParentActivityIntent()Landroid/content/Intent;" since="16" />
+		<method name="getPreferences(I)Landroid/content/SharedPreferences;" />
+		<method name="getReferrer()Landroid/net/Uri;" since="22" />
+		<method name="getRequestedOrientation()I" />
+		<method name="getSearchEvent()Landroid/view/SearchEvent;" since="23" />
+		<method name="getSplashScreen()Landroid/window/SplashScreen;" since="31" />
+		<method name="getTaskId()I" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<method name="getTitleColor()I" />
+		<method name="getVoiceInteractor()Landroid/app/VoiceInteractor;" since="23" />
+		<method name="getVolumeControlStream()I" />
+		<method name="getWindow()Landroid/view/Window;" />
+		<method name="getWindowManager()Landroid/view/WindowManager;" />
+		<method name="hasWindowFocus()Z" since="3" />
+		<method name="invalidateOptionsMenu()V" since="11" />
+		<method name="isActivityTransitionRunning()Z" since="26" />
+		<method name="isChangingConfigurations()Z" since="11" />
+		<method name="isChild()Z" />
+		<method name="isDestroyed()Z" since="17" />
+		<method name="isFinishing()Z" />
+		<method name="isImmersive()Z" since="18" />
+		<method name="isInMultiWindowMode()Z" since="24" />
+		<method name="isInPictureInPictureMode()Z" since="24" />
+		<method name="isLaunchedFromBubble()Z" since="31" />
+		<method name="isLocalVoiceInteractionSupported()Z" since="24" />
+		<method name="isTaskRoot()Z" />
+		<method name="isVoiceInteraction()Z" since="23" />
+		<method name="isVoiceInteractionRoot()Z" since="23" />
+		<method name="managedQuery(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" deprecated="15" />
+		<method name="moveTaskToBack(Z)Z" />
+		<method name="navigateUpTo(Landroid/content/Intent;)Z" since="16" />
+		<method name="navigateUpToFromChild(Landroid/app/Activity;Landroid/content/Intent;)Z" since="16" deprecated="30" />
+		<method name="onActivityReenter(ILandroid/content/Intent;)V" since="21" />
+		<method name="onActivityResult(IILandroid/content/Intent;)V" />
+		<method name="onAttachFragment(Landroid/app/Fragment;)V" since="11" deprecated="28" />
+		<method name="onBackPressed()V" since="5" />
+		<method name="onChildTitleChanged(Landroid/app/Activity;Ljava/lang/CharSequence;)V" />
+		<method name="onContextItemSelected(Landroid/view/MenuItem;)Z" />
+		<method name="onContextMenuClosed(Landroid/view/Menu;)V" />
+		<method name="onCreate(Landroid/os/Bundle;)V" />
+		<method name="onCreate(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21" />
+		<method name="onCreateDescription()Ljava/lang/CharSequence;" />
+		<method name="onCreateDialog(I)Landroid/app/Dialog;" deprecated="15" />
+		<method name="onCreateDialog(ILandroid/os/Bundle;)Landroid/app/Dialog;" since="8" deprecated="15" />
+		<method name="onCreateNavigateUpTaskStack(Landroid/app/TaskStackBuilder;)V" since="16" />
+		<method name="onCreateOptionsMenu(Landroid/view/Menu;)Z" />
+		<method name="onCreateThumbnail(Landroid/graphics/Bitmap;Landroid/graphics/Canvas;)Z" deprecated="28" />
+		<method name="onDestroy()V" />
+		<method name="onEnterAnimationComplete()V" since="21" />
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12" />
+		<method name="onGetDirectActions(Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V" since="29" />
+		<method name="onKeyShortcut(ILandroid/view/KeyEvent;)Z" since="11" />
+		<method name="onLocalVoiceInteractionStarted()V" since="24" />
+		<method name="onLocalVoiceInteractionStopped()V" since="24" />
+		<method name="onMultiWindowModeChanged(Z)V" since="24" deprecated="26" />
+		<method name="onMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V" since="26" />
+		<method name="onNavigateUp()Z" since="16" />
+		<method name="onNavigateUpFromChild(Landroid/app/Activity;)Z" since="16" deprecated="30" />
+		<method name="onNewIntent(Landroid/content/Intent;)V" />
+		<method name="onOptionsItemSelected(Landroid/view/MenuItem;)Z" />
+		<method name="onOptionsMenuClosed(Landroid/view/Menu;)V" />
+		<method name="onPause()V" />
+		<method name="onPerformDirectAction(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V" since="29" />
+		<method name="onPictureInPictureModeChanged(Z)V" since="24" deprecated="26" />
+		<method name="onPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V" since="26" />
+		<method name="onPictureInPictureRequested()Z" since="30" />
+		<method name="onPictureInPictureUiStateChanged(Landroid/app/PictureInPictureUiState;)V" since="31" />
+		<method name="onPostCreate(Landroid/os/Bundle;)V" />
+		<method name="onPostCreate(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21" />
+		<method name="onPostResume()V" />
+		<method name="onPrepareDialog(ILandroid/app/Dialog;)V" deprecated="15" />
+		<method name="onPrepareDialog(ILandroid/app/Dialog;Landroid/os/Bundle;)V" since="8" deprecated="15" />
+		<method name="onPrepareNavigateUpTaskStack(Landroid/app/TaskStackBuilder;)V" since="16" />
+		<method name="onPrepareOptionsMenu(Landroid/view/Menu;)Z" />
+		<method name="onProvideAssistContent(Landroid/app/assist/AssistContent;)V" since="23" />
+		<method name="onProvideAssistData(Landroid/os/Bundle;)V" since="18" />
+		<method name="onProvideReferrer()Landroid/net/Uri;" since="23" />
+		<method name="onRequestPermissionsResult(I[Ljava/lang/String;[I)V" since="23" />
+		<method name="onRestart()V" />
+		<method name="onRestoreInstanceState(Landroid/os/Bundle;)V" />
+		<method name="onRestoreInstanceState(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21" />
+		<method name="onResume()V" />
+		<method name="onRetainNonConfigurationInstance()Ljava/lang/Object;" deprecated="15" />
+		<method name="onSaveInstanceState(Landroid/os/Bundle;)V" />
+		<method name="onSaveInstanceState(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21" />
+		<method name="onStart()V" />
+		<method name="onStateNotSaved()V" since="23" deprecated="29" />
+		<method name="onStop()V" />
+		<method name="onTitleChanged(Ljava/lang/CharSequence;I)V" />
+		<method name="onTopResumedActivityChanged(Z)V" since="29" />
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onUserInteraction()V" since="3" />
+		<method name="onUserLeaveHint()V" since="3" />
+		<method name="onVisibleBehindCanceled()V" since="21" deprecated="26" />
+		<method name="openContextMenu(Landroid/view/View;)V" />
+		<method name="openOptionsMenu()V" />
+		<method name="overridePendingTransition(II)V" since="5" />
+		<method name="postponeEnterTransition()V" since="21" />
+		<method name="recreate()V" since="11" />
+		<method name="registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V" since="29" />
+		<method name="registerForContextMenu(Landroid/view/View;)V" />
+		<method name="releaseInstance()Z" since="21" />
+		<method name="removeDialog(I)V" deprecated="15" />
+		<method name="reportFullyDrawn()V" since="19" />
+		<method name="requestDragAndDropPermissions(Landroid/view/DragEvent;)Landroid/view/DragAndDropPermissions;" since="24" />
+		<method name="requestPermissions([Ljava/lang/String;I)V" since="23" />
+		<method name="requestShowKeyboardShortcuts()V" since="24" />
+		<method name="requestVisibleBehind(Z)Z" since="21" deprecated="26" />
+		<method name="requestWindowFeature(I)Z" />
+		<method name="requireViewById(I)Landroid/view/View;" since="28" />
+		<method name="runOnUiThread(Ljava/lang/Runnable;)V" />
+		<method name="setActionBar(Landroid/widget/Toolbar;)V" since="21" />
+		<method name="setContentTransitionManager(Landroid/transition/TransitionManager;)V" since="21" />
+		<method name="setContentView(I)V" />
+		<method name="setContentView(Landroid/view/View;)V" />
+		<method name="setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="setDefaultKeyMode(I)V" />
+		<method name="setEnterSharedElementCallback(Landroid/app/SharedElementCallback;)V" since="21" />
+		<method name="setExitSharedElementCallback(Landroid/app/SharedElementCallback;)V" since="21" />
+		<method name="setFeatureDrawable(ILandroid/graphics/drawable/Drawable;)V" />
+		<method name="setFeatureDrawableAlpha(II)V" />
+		<method name="setFeatureDrawableResource(II)V" />
+		<method name="setFeatureDrawableUri(ILandroid/net/Uri;)V" />
+		<method name="setFinishOnTouchOutside(Z)V" since="11" />
+		<method name="setImmersive(Z)V" since="18" />
+		<method name="setInheritShowWhenLocked(Z)V" since="29" />
+		<method name="setIntent(Landroid/content/Intent;)V" />
+		<method name="setLocusContext(Landroid/content/LocusId;Landroid/os/Bundle;)V" since="30" />
+		<method name="setMediaController(Landroid/media/session/MediaController;)V" since="21" />
+		<method name="setPersistent(Z)V" removed="11" />
+		<method name="setPictureInPictureParams(Landroid/app/PictureInPictureParams;)V" since="26" />
+		<method name="setProgress(I)V" deprecated="24" />
+		<method name="setProgressBarIndeterminate(Z)V" deprecated="24" />
+		<method name="setProgressBarIndeterminateVisibility(Z)V" deprecated="24" />
+		<method name="setProgressBarVisibility(Z)V" deprecated="24" />
+		<method name="setRequestedOrientation(I)V" />
+		<method name="setResult(I)V" />
+		<method name="setResult(ILandroid/content/Intent;)V" />
+		<method name="setSecondaryProgress(I)V" deprecated="24" />
+		<method name="setShowWhenLocked(Z)V" since="27" />
+		<method name="setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V" since="21" />
+		<method name="setTitle(I)V" />
+		<method name="setTitle(Ljava/lang/CharSequence;)V" />
+		<method name="setTitleColor(I)V" deprecated="21" />
+		<method name="setTranslucent(Z)Z" since="30" />
+		<method name="setTurnScreenOn(Z)V" since="27" />
+		<method name="setVisible(Z)V" since="3" />
+		<method name="setVolumeControlStream(I)V" />
+		<method name="setVrModeEnabled(ZLandroid/content/ComponentName;)V" since="24" />
+		<method name="shouldShowRequestPermissionRationale(Ljava/lang/String;)Z" since="23" />
+		<method name="shouldUpRecreateTask(Landroid/content/Intent;)Z" since="16" />
+		<method name="showAssist(Landroid/os/Bundle;)Z" since="23" />
+		<method name="showDialog(I)V" deprecated="15" />
+		<method name="showDialog(ILandroid/os/Bundle;)Z" since="8" deprecated="15" />
+		<method name="showLockTaskEscapeMessage()V" since="23" />
+		<method name="startActionMode(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;" since="11" />
+		<method name="startActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;" since="23" />
+		<method name="startActivityForResult(Landroid/content/Intent;I)V" />
+		<method name="startActivityForResult(Landroid/content/Intent;ILandroid/os/Bundle;)V" since="16" />
+		<method name="startActivityFromChild(Landroid/app/Activity;Landroid/content/Intent;I)V" deprecated="30" />
+		<method name="startActivityFromChild(Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)V" since="16" deprecated="30" />
+		<method name="startActivityFromFragment(Landroid/app/Fragment;Landroid/content/Intent;I)V" since="11" deprecated="28" />
+		<method name="startActivityFromFragment(Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;)V" since="16" deprecated="28" />
+		<method name="startActivityIfNeeded(Landroid/content/Intent;I)Z" />
+		<method name="startActivityIfNeeded(Landroid/content/Intent;ILandroid/os/Bundle;)Z" since="16" />
+		<method name="startIntentSenderForResult(Landroid/content/IntentSender;ILandroid/content/Intent;III)V" since="5" />
+		<method name="startIntentSenderForResult(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V" since="16" />
+		<method name="startIntentSenderFromChild(Landroid/app/Activity;Landroid/content/IntentSender;ILandroid/content/Intent;III)V" since="5" deprecated="30" />
+		<method name="startIntentSenderFromChild(Landroid/app/Activity;Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V" since="16" deprecated="30" />
+		<method name="startLocalVoiceInteraction(Landroid/os/Bundle;)V" since="24" />
+		<method name="startLockTask()V" since="21" />
+		<method name="startManagingCursor(Landroid/database/Cursor;)V" deprecated="15" />
+		<method name="startNextMatchingActivity(Landroid/content/Intent;)Z" />
+		<method name="startNextMatchingActivity(Landroid/content/Intent;Landroid/os/Bundle;)Z" since="16" />
+		<method name="startPostponedEnterTransition()V" since="21" />
+		<method name="startSearch(Ljava/lang/String;ZLandroid/os/Bundle;Z)V" />
+		<method name="stopLocalVoiceInteraction()V" since="24" />
+		<method name="stopLockTask()V" since="21" />
+		<method name="stopManagingCursor(Landroid/database/Cursor;)V" deprecated="15" />
+		<method name="takeKeyEvents(Z)V" />
+		<method name="triggerSearch(Ljava/lang/String;Landroid/os/Bundle;)V" since="5" />
+		<method name="unregisterActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V" since="29" />
+		<method name="unregisterForContextMenu(Landroid/view/View;)V" />
+		<field name="DEFAULT_KEYS_DIALER" />
+		<field name="DEFAULT_KEYS_DISABLE" />
+		<field name="DEFAULT_KEYS_SEARCH_GLOBAL" />
+		<field name="DEFAULT_KEYS_SEARCH_LOCAL" />
+		<field name="DEFAULT_KEYS_SHORTCUT" />
+		<field name="FOCUSED_STATE_SET" />
+		<field name="RESULT_CANCELED" />
+		<field name="RESULT_FIRST_USER" />
+		<field name="RESULT_OK" />
+	</class>
+	<class name="android/app/ActivityGroup" since="1" deprecated="13">
+		<extends name="android/app/Activity" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Z)V" deprecated="29" />
+		<method name="getCurrentActivity()Landroid/app/Activity;" deprecated="29" />
+		<method name="getLocalActivityManager()Landroid/app/LocalActivityManager;" deprecated="29" />
+	</class>
+	<class name="android/app/ActivityManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addAppTask(Landroid/app/Activity;Landroid/content/Intent;Landroid/app/ActivityManager$TaskDescription;Landroid/graphics/Bitmap;)I" since="21" />
+		<method name="appNotResponding(Ljava/lang/String;)V" since="30" />
+		<method name="clearApplicationUserData()Z" since="19" />
+		<method name="clearWatchHeapLimit()V" since="23" />
+		<method name="dumpPackageState(Ljava/io/FileDescriptor;Ljava/lang/String;)V" since="19" />
+		<method name="getAppTaskThumbnailSize()Landroid/util/Size;" since="21" />
+		<method name="getAppTasks()Ljava/util/List;" since="21" />
+		<method name="getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;" since="3" />
+		<method name="getHistoricalProcessExitReasons(Ljava/lang/String;II)Ljava/util/List;" since="30" />
+		<method name="getLargeMemoryClass()I" since="11" />
+		<method name="getLauncherLargeIconDensity()I" since="11" />
+		<method name="getLauncherLargeIconSize()I" since="11" />
+		<method name="getLockTaskModeState()I" since="23" />
+		<method name="getMemoryClass()I" since="5" />
+		<method name="getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V" />
+		<method name="getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V" since="16" />
+		<method name="getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;" since="5" />
+		<method name="getProcessesInErrorState()Ljava/util/List;" />
+		<method name="getRecentTasks(II)Ljava/util/List;" deprecated="21" />
+		<method name="getRunningAppProcesses()Ljava/util/List;" since="3" />
+		<method name="getRunningServiceControlPanel(Landroid/content/ComponentName;)Landroid/app/PendingIntent;" since="5" />
+		<method name="getRunningServices(I)Ljava/util/List;" deprecated="26" />
+		<method name="getRunningTasks(I)Ljava/util/List;" deprecated="21" />
+		<method name="isActivityStartAllowedOnDisplay(Landroid/content/Context;ILandroid/content/Intent;)Z" since="29" />
+		<method name="isBackgroundRestricted()Z" since="28" />
+		<method name="isInLockTaskMode()Z" since="21" deprecated="23" />
+		<method name="isLowMemoryKillReportSupported()Z" since="30" />
+		<method name="isLowRamDevice()Z" since="19" />
+		<method name="isRunningInTestHarness()Z" since="11" deprecated="29" />
+		<method name="isRunningInUserTestHarness()Z" since="29" />
+		<method name="isUserAMonkey()Z" since="8" />
+		<method name="killBackgroundProcesses(Ljava/lang/String;)V" since="8" />
+		<method name="moveTaskToFront(II)V" since="11" />
+		<method name="moveTaskToFront(IILandroid/os/Bundle;)V" since="16" />
+		<method name="restartPackage(Ljava/lang/String;)V" since="3" deprecated="15" />
+		<method name="setProcessStateSummary([B)V" since="30" />
+		<method name="setVrThread(I)V" since="25" />
+		<method name="setWatchHeapLimit(J)V" since="23" />
+		<field name="ACTION_REPORT_HEAP_LIMIT" since="23" />
+		<field name="LOCK_TASK_MODE_LOCKED" since="23" />
+		<field name="LOCK_TASK_MODE_NONE" since="23" />
+		<field name="LOCK_TASK_MODE_PINNED" since="23" />
+		<field name="META_HOME_ALTERNATE" since="19" />
+		<field name="MOVE_TASK_NO_USER_ACTION" since="12" />
+		<field name="MOVE_TASK_WITH_HOME" since="11" />
+		<field name="RECENT_IGNORE_UNAVAILABLE" since="11" />
+		<field name="RECENT_WITH_EXCLUDED" />
+	</class>
+	<class name="android/app/ActivityManager$AppTask" since="21">
+		<extends name="java/lang/Object" />
+		<method name="finishAndRemoveTask()V" />
+		<method name="getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;" />
+		<method name="moveToFront()V" />
+		<method name="setExcludeFromRecents(Z)V" />
+		<method name="startActivity(Landroid/content/Context;Landroid/content/Intent;Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/app/ActivityManager$MemoryInfo" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+		<field name="availMem" />
+		<field name="lowMemory" />
+		<field name="threshold" />
+		<field name="totalMem" since="16" />
+	</class>
+	<class name="android/app/ActivityManager$ProcessErrorStateInfo" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<field name="CRASHED" />
+		<field name="CREATOR" />
+		<field name="NOT_RESPONDING" />
+		<field name="NO_ERROR" />
+		<field name="condition" />
+		<field name="crashData" />
+		<field name="longMsg" />
+		<field name="pid" />
+		<field name="processName" />
+		<field name="shortMsg" />
+		<field name="stackTrace" since="8" />
+		<field name="tag" />
+		<field name="uid" />
+	</class>
+	<class name="android/app/ActivityManager$RecentTaskInfo" since="1">
+		<extends name="android/app/TaskInfo" since="29" />
+		<extends name="java/lang/Object" removed="29" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+		<field name="affiliatedTaskId" since="21" deprecated="29" />
+		<field name="baseActivity" since="23" removed="29" />
+		<field name="baseIntent" removed="29" />
+		<field name="description" since="11" deprecated="29" />
+		<field name="id" deprecated="29" />
+		<field name="numActivities" since="23" removed="29" />
+		<field name="origActivity" removed="29" />
+		<field name="persistentId" since="12" deprecated="29" />
+		<field name="taskDescription" since="21" removed="29" />
+		<field name="topActivity" since="23" removed="29" />
+	</class>
+	<class name="android/app/ActivityManager$RunningAppProcessInfo" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I[Ljava/lang/String;)V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+		<field name="IMPORTANCE_BACKGROUND" deprecated="26" />
+		<field name="IMPORTANCE_CACHED" since="26" />
+		<field name="IMPORTANCE_CANT_SAVE_STATE" since="28" />
+		<field name="IMPORTANCE_EMPTY" deprecated="26" />
+		<field name="IMPORTANCE_FOREGROUND" />
+		<field name="IMPORTANCE_FOREGROUND_SERVICE" since="23" />
+		<field name="IMPORTANCE_GONE" since="21" />
+		<field name="IMPORTANCE_PERCEPTIBLE" since="9" />
+		<field name="IMPORTANCE_PERCEPTIBLE_PRE_26" since="26" />
+		<field name="IMPORTANCE_SERVICE" />
+		<field name="IMPORTANCE_TOP_SLEEPING" since="23" />
+		<field name="IMPORTANCE_TOP_SLEEPING_PRE_28" since="28" deprecated="28" />
+		<field name="IMPORTANCE_VISIBLE" />
+		<field name="REASON_PROVIDER_IN_USE" since="5" />
+		<field name="REASON_SERVICE_IN_USE" since="5" />
+		<field name="REASON_UNKNOWN" since="5" />
+		<field name="importance" />
+		<field name="importanceReasonCode" since="5" />
+		<field name="importanceReasonComponent" since="5" />
+		<field name="importanceReasonPid" since="5" />
+		<field name="lastTrimLevel" since="16" />
+		<field name="lru" />
+		<field name="pid" />
+		<field name="pkgList" />
+		<field name="processName" />
+		<field name="uid" since="5" />
+	</class>
+	<class name="android/app/ActivityManager$RunningServiceInfo" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+		<field name="FLAG_FOREGROUND" since="5" />
+		<field name="FLAG_PERSISTENT_PROCESS" since="5" />
+		<field name="FLAG_STARTED" since="5" />
+		<field name="FLAG_SYSTEM_PROCESS" since="5" />
+		<field name="activeSince" />
+		<field name="clientCount" />
+		<field name="clientLabel" since="5" />
+		<field name="clientPackage" since="5" />
+		<field name="crashCount" />
+		<field name="flags" since="5" />
+		<field name="foreground" />
+		<field name="lastActivityTime" />
+		<field name="pid" />
+		<field name="process" />
+		<field name="restarting" />
+		<field name="service" />
+		<field name="started" />
+		<field name="uid" since="5" />
+	</class>
+	<class name="android/app/ActivityManager$RunningTaskInfo" since="1">
+		<extends name="android/app/TaskInfo" since="29" />
+		<extends name="java/lang/Object" removed="29" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+		<field name="baseActivity" removed="29" />
+		<field name="description" deprecated="29" />
+		<field name="id" deprecated="29" />
+		<field name="numActivities" removed="29" />
+		<field name="numRunning" deprecated="29" />
+		<field name="thumbnail" deprecated="29" />
+		<field name="topActivity" removed="29" />
+	</class>
+	<class name="android/app/ActivityManager$TaskDescription" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/app/ActivityManager$TaskDescription;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" since="28" />
+		<method name="&lt;init&gt;(Ljava/lang/String;II)V" since="28" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/graphics/Bitmap;)V" deprecated="28" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/graphics/Bitmap;I)V" deprecated="28" />
+		<method name="getIcon()Landroid/graphics/Bitmap;" deprecated="30" />
+		<method name="getLabel()Ljava/lang/String;" />
+		<method name="getPrimaryColor()I" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/ActivityOptions" since="16">
+		<extends name="java/lang/Object" />
+		<method name="getLaunchBounds()Landroid/graphics/Rect;" since="24" />
+		<method name="getLaunchDisplayId()I" since="26" />
+		<method name="getLockTaskMode()Z" since="28" />
+		<method name="makeBasic()Landroid/app/ActivityOptions;" since="23" />
+		<method name="makeClipRevealAnimation(Landroid/view/View;IIII)Landroid/app/ActivityOptions;" since="23" />
+		<method name="makeCustomAnimation(Landroid/content/Context;II)Landroid/app/ActivityOptions;" />
+		<method name="makeScaleUpAnimation(Landroid/view/View;IIII)Landroid/app/ActivityOptions;" />
+		<method name="makeSceneTransitionAnimation(Landroid/app/Activity;Landroid/view/View;Ljava/lang/String;)Landroid/app/ActivityOptions;" since="21" />
+		<method name="makeSceneTransitionAnimation(Landroid/app/Activity;[Landroid/util/Pair;)Landroid/app/ActivityOptions;" since="21" />
+		<method name="makeTaskLaunchBehind()Landroid/app/ActivityOptions;" since="21" />
+		<method name="makeThumbnailScaleUpAnimation(Landroid/view/View;Landroid/graphics/Bitmap;II)Landroid/app/ActivityOptions;" />
+		<method name="requestUsageTimeReport(Landroid/app/PendingIntent;)V" since="23" />
+		<method name="setAppVerificationBundle(Landroid/os/Bundle;)Landroid/app/ActivityOptions;" since="26" />
+		<method name="setLaunchBounds(Landroid/graphics/Rect;)Landroid/app/ActivityOptions;" since="24" />
+		<method name="setLaunchDisplayId(I)Landroid/app/ActivityOptions;" since="26" />
+		<method name="setLockTaskEnabled(Z)Landroid/app/ActivityOptions;" since="28" />
+		<method name="toBundle()Landroid/os/Bundle;" />
+		<method name="update(Landroid/app/ActivityOptions;)V" />
+		<field name="EXTRA_USAGE_TIME_REPORT" since="23" />
+		<field name="EXTRA_USAGE_TIME_REPORT_PACKAGES" since="23" />
+	</class>
+	<class name="android/app/AlarmManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="canScheduleExactAlarms()Z" since="31" />
+		<method name="cancel(Landroid/app/AlarmManager$OnAlarmListener;)V" since="24" />
+		<method name="cancel(Landroid/app/PendingIntent;)V" />
+		<method name="getNextAlarmClock()Landroid/app/AlarmManager$AlarmClockInfo;" since="21" />
+		<method name="set(IJLandroid/app/PendingIntent;)V" />
+		<method name="set(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V" since="24" />
+		<method name="setAlarmClock(Landroid/app/AlarmManager$AlarmClockInfo;Landroid/app/PendingIntent;)V" since="21" />
+		<method name="setAndAllowWhileIdle(IJLandroid/app/PendingIntent;)V" since="23" />
+		<method name="setExact(IJLandroid/app/PendingIntent;)V" since="19" />
+		<method name="setExact(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V" since="24" />
+		<method name="setExactAndAllowWhileIdle(IJLandroid/app/PendingIntent;)V" since="23" />
+		<method name="setInexactRepeating(IJJLandroid/app/PendingIntent;)V" since="3" />
+		<method name="setRepeating(IJJLandroid/app/PendingIntent;)V" />
+		<method name="setTime(J)V" since="8" />
+		<method name="setTimeZone(Ljava/lang/String;)V" />
+		<method name="setWindow(IJJLandroid/app/PendingIntent;)V" since="19" />
+		<method name="setWindow(IJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V" since="24" />
+		<field name="ACTION_NEXT_ALARM_CLOCK_CHANGED" since="21" />
+		<field name="ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED" since="31" />
+		<field name="ELAPSED_REALTIME" />
+		<field name="ELAPSED_REALTIME_WAKEUP" />
+		<field name="INTERVAL_DAY" since="3" />
+		<field name="INTERVAL_FIFTEEN_MINUTES" since="3" />
+		<field name="INTERVAL_HALF_DAY" since="3" />
+		<field name="INTERVAL_HALF_HOUR" since="3" />
+		<field name="INTERVAL_HOUR" since="3" />
+		<field name="RTC" />
+		<field name="RTC_WAKEUP" />
+	</class>
+	<class name="android/app/AlarmManager$AlarmClockInfo" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(JLandroid/app/PendingIntent;)V" />
+		<method name="getShowIntent()Landroid/app/PendingIntent;" />
+		<method name="getTriggerTime()J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/AlarmManager$OnAlarmListener" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onAlarm()V" />
+	</class>
+	<class name="android/app/AlertDialog" since="1">
+		<extends name="android/app/Dialog" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ZLandroid/content/DialogInterface$OnCancelListener;)V" />
+		<method name="getButton(I)Landroid/widget/Button;" since="3" />
+		<method name="getListView()Landroid/widget/ListView;" since="3" />
+		<method name="setButton(ILjava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V" since="3" />
+		<method name="setButton(ILjava/lang/CharSequence;Landroid/os/Message;)V" since="3" />
+		<method name="setButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V" deprecated="15" />
+		<method name="setButton(Ljava/lang/CharSequence;Landroid/os/Message;)V" deprecated="15" />
+		<method name="setButton2(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V" deprecated="15" />
+		<method name="setButton2(Ljava/lang/CharSequence;Landroid/os/Message;)V" deprecated="15" />
+		<method name="setButton3(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V" deprecated="15" />
+		<method name="setButton3(Ljava/lang/CharSequence;Landroid/os/Message;)V" deprecated="15" />
+		<method name="setCustomTitle(Landroid/view/View;)V" />
+		<method name="setIcon(I)V" />
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setIconAttribute(I)V" since="11" />
+		<method name="setInverseBackgroundForced(Z)V" />
+		<method name="setMessage(Ljava/lang/CharSequence;)V" />
+		<method name="setView(Landroid/view/View;)V" />
+		<method name="setView(Landroid/view/View;IIII)V" since="3" />
+		<field name="THEME_DEVICE_DEFAULT_DARK" since="14" deprecated="23" />
+		<field name="THEME_DEVICE_DEFAULT_LIGHT" since="14" deprecated="23" />
+		<field name="THEME_HOLO_DARK" since="11" deprecated="23" />
+		<field name="THEME_HOLO_LIGHT" since="11" deprecated="23" />
+		<field name="THEME_TRADITIONAL" since="11" deprecated="23" />
+	</class>
+	<class name="android/app/AlertDialog$Builder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" since="11" />
+		<method name="create()Landroid/app/AlertDialog;" />
+		<method name="getContext()Landroid/content/Context;" since="11" />
+		<method name="setAdapter(Landroid/widget/ListAdapter;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setCancelable(Z)Landroid/app/AlertDialog$Builder;" />
+		<method name="setCursor(Landroid/database/Cursor;Landroid/content/DialogInterface$OnClickListener;Ljava/lang/String;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setCustomTitle(Landroid/view/View;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setIcon(I)Landroid/app/AlertDialog$Builder;" />
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setIconAttribute(I)Landroid/app/AlertDialog$Builder;" since="11" />
+		<method name="setInverseBackgroundForced(Z)Landroid/app/AlertDialog$Builder;" deprecated="23" />
+		<method name="setItems(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setItems([Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setMessage(I)Landroid/app/AlertDialog$Builder;" />
+		<method name="setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setMultiChoiceItems(I[ZLandroid/content/DialogInterface$OnMultiChoiceClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setMultiChoiceItems(Landroid/database/Cursor;Ljava/lang/String;Ljava/lang/String;Landroid/content/DialogInterface$OnMultiChoiceClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setMultiChoiceItems([Ljava/lang/CharSequence;[ZLandroid/content/DialogInterface$OnMultiChoiceClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setNegativeButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setNeutralButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setNeutralButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setOnDismissListener(Landroid/content/DialogInterface$OnDismissListener;)Landroid/app/AlertDialog$Builder;" since="17" />
+		<method name="setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setOnKeyListener(Landroid/content/DialogInterface$OnKeyListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setPositiveButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setSingleChoiceItems(IILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setSingleChoiceItems(Landroid/database/Cursor;ILjava/lang/String;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setSingleChoiceItems(Landroid/widget/ListAdapter;ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setSingleChoiceItems([Ljava/lang/CharSequence;ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setTitle(I)Landroid/app/AlertDialog$Builder;" />
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;" />
+		<method name="setView(I)Landroid/app/AlertDialog$Builder;" since="21" />
+		<method name="setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder;" />
+		<method name="show()Landroid/app/AlertDialog;" />
+	</class>
+	<class name="android/app/AliasActivity" since="1" deprecated="30">
+		<extends name="android/app/Activity" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+	</class>
+	<class name="android/app/AppComponentFactory" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="instantiateActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;" />
+		<method name="instantiateApplication(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/app/Application;" />
+		<method name="instantiateClassLoader(Ljava/lang/ClassLoader;Landroid/content/pm/ApplicationInfo;)Ljava/lang/ClassLoader;" since="29" />
+		<method name="instantiateProvider(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/content/ContentProvider;" />
+		<method name="instantiateReceiver(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/content/BroadcastReceiver;" />
+		<method name="instantiateService(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Service;" />
+	</class>
+	<class name="android/app/AppOpsManager" since="19">
+		<extends name="java/lang/Object" />
+		<method name="checkOp(Ljava/lang/String;ILjava/lang/String;)I" deprecated="29" />
+		<method name="checkOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I" deprecated="29" />
+		<method name="checkPackage(ILjava/lang/String;)V" deprecated="30" />
+		<method name="finishOp(Ljava/lang/String;ILjava/lang/String;)V" deprecated="30" />
+		<method name="finishOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" since="30" />
+		<method name="finishProxyOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" since="31" />
+		<method name="isOpActive(Ljava/lang/String;ILjava/lang/String;)Z" since="30" />
+		<method name="noteOp(Ljava/lang/String;ILjava/lang/String;)I" deprecated="30" />
+		<method name="noteOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="30" />
+		<method name="noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I" deprecated="30" />
+		<method name="noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="30" />
+		<method name="noteProxyOp(Ljava/lang/String;Ljava/lang/String;)I" since="23" deprecated="30" />
+		<method name="noteProxyOp(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)I" since="30" />
+		<method name="noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;)I" since="23" deprecated="30" />
+		<method name="noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;I)I" since="29" deprecated="30" />
+		<method name="noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)I" since="30" />
+		<method name="permissionToOp(Ljava/lang/String;)Ljava/lang/String;" since="23" />
+		<method name="setOnOpNotedCallback(Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpNotedCallback;)V" since="30" />
+		<method name="startOp(Ljava/lang/String;ILjava/lang/String;)I" deprecated="30" />
+		<method name="startOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="30" />
+		<method name="startOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I" deprecated="30" />
+		<method name="startOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="30" />
+		<method name="startProxyOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="31" />
+		<method name="startProxyOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="31" />
+		<method name="startWatchingActive([Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V" since="30" />
+		<method name="startWatchingMode(Ljava/lang/String;Ljava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V" since="29" />
+		<method name="startWatchingMode(Ljava/lang/String;Ljava/lang/String;Landroid/app/AppOpsManager$OnOpChangedListener;)V" />
+		<method name="stopWatchingActive(Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V" since="30" />
+		<method name="stopWatchingMode(Landroid/app/AppOpsManager$OnOpChangedListener;)V" />
+		<method name="unsafeCheckOp(Ljava/lang/String;ILjava/lang/String;)I" since="29" />
+		<method name="unsafeCheckOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I" since="29" />
+		<method name="unsafeCheckOpRaw(Ljava/lang/String;ILjava/lang/String;)I" since="29" />
+		<method name="unsafeCheckOpRawNoThrow(Ljava/lang/String;ILjava/lang/String;)I" since="29" />
+		<field name="MODE_ALLOWED" />
+		<field name="MODE_DEFAULT" since="21" />
+		<field name="MODE_ERRORED" />
+		<field name="MODE_FOREGROUND" since="29" />
+		<field name="MODE_IGNORED" />
+		<field name="OPSTR_ADD_VOICEMAIL" since="23" />
+		<field name="OPSTR_ANSWER_PHONE_CALLS" since="26" />
+		<field name="OPSTR_BODY_SENSORS" since="23" />
+		<field name="OPSTR_CALL_PHONE" since="23" />
+		<field name="OPSTR_CAMERA" since="23" />
+		<field name="OPSTR_COARSE_LOCATION" />
+		<field name="OPSTR_FINE_LOCATION" />
+		<field name="OPSTR_GET_USAGE_STATS" since="21" />
+		<field name="OPSTR_MOCK_LOCATION" since="23" />
+		<field name="OPSTR_MONITOR_HIGH_POWER_LOCATION" />
+		<field name="OPSTR_MONITOR_LOCATION" />
+		<field name="OPSTR_PICTURE_IN_PICTURE" since="26" />
+		<field name="OPSTR_PROCESS_OUTGOING_CALLS" since="26" />
+		<field name="OPSTR_READ_CALENDAR" since="23" />
+		<field name="OPSTR_READ_CALL_LOG" since="23" />
+		<field name="OPSTR_READ_CELL_BROADCASTS" since="23" />
+		<field name="OPSTR_READ_CONTACTS" since="23" />
+		<field name="OPSTR_READ_EXTERNAL_STORAGE" since="23" />
+		<field name="OPSTR_READ_PHONE_NUMBERS" since="26" />
+		<field name="OPSTR_READ_PHONE_STATE" since="23" />
+		<field name="OPSTR_READ_SMS" since="23" />
+		<field name="OPSTR_RECEIVE_MMS" since="23" />
+		<field name="OPSTR_RECEIVE_SMS" since="23" />
+		<field name="OPSTR_RECEIVE_WAP_PUSH" since="23" />
+		<field name="OPSTR_RECORD_AUDIO" since="23" />
+		<field name="OPSTR_SEND_SMS" since="23" />
+		<field name="OPSTR_SYSTEM_ALERT_WINDOW" since="23" />
+		<field name="OPSTR_USE_FINGERPRINT" since="23" />
+		<field name="OPSTR_USE_SIP" since="23" />
+		<field name="OPSTR_WRITE_CALENDAR" since="23" />
+		<field name="OPSTR_WRITE_CALL_LOG" since="23" />
+		<field name="OPSTR_WRITE_CONTACTS" since="23" />
+		<field name="OPSTR_WRITE_EXTERNAL_STORAGE" since="23" />
+		<field name="OPSTR_WRITE_SETTINGS" since="23" />
+		<field name="WATCH_FOREGROUND_CHANGES" since="29" />
+	</class>
+	<class name="android/app/AppOpsManager$OnOpActiveChangedListener" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onOpActiveChanged(Ljava/lang/String;ILjava/lang/String;Z)V" />
+	</class>
+	<class name="android/app/AppOpsManager$OnOpChangedListener" since="19">
+		<extends name="java/lang/Object" />
+		<method name="onOpChanged(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="android/app/AppOpsManager$OnOpNotedCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAsyncNoted(Landroid/app/AsyncNotedAppOp;)V" />
+		<method name="onNoted(Landroid/app/SyncNotedAppOp;)V" />
+		<method name="onSelfNoted(Landroid/app/SyncNotedAppOp;)V" />
+	</class>
+	<class name="android/app/Application" since="1">
+		<extends name="android/content/ContextWrapper" />
+		<implements name="android/content/ComponentCallbacks" removed="14" />
+		<implements name="android/content/ComponentCallbacks2" since="14" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getProcessName()Ljava/lang/String;" since="28" />
+		<method name="onCreate()V" />
+		<method name="onTerminate()V" />
+		<method name="registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V" since="14" />
+		<method name="registerOnProvideAssistDataListener(Landroid/app/Application$OnProvideAssistDataListener;)V" since="18" />
+		<method name="unregisterActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V" since="14" />
+		<method name="unregisterOnProvideAssistDataListener(Landroid/app/Application$OnProvideAssistDataListener;)V" since="18" />
+	</class>
+	<class name="android/app/Application$ActivityLifecycleCallbacks" since="14">
+		<extends name="java/lang/Object" />
+		<method name="onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V" />
+		<method name="onActivityDestroyed(Landroid/app/Activity;)V" />
+		<method name="onActivityPaused(Landroid/app/Activity;)V" />
+		<method name="onActivityPostCreated(Landroid/app/Activity;Landroid/os/Bundle;)V" since="29" />
+		<method name="onActivityPostDestroyed(Landroid/app/Activity;)V" since="29" />
+		<method name="onActivityPostPaused(Landroid/app/Activity;)V" since="29" />
+		<method name="onActivityPostResumed(Landroid/app/Activity;)V" since="29" />
+		<method name="onActivityPostSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V" since="29" />
+		<method name="onActivityPostStarted(Landroid/app/Activity;)V" since="29" />
+		<method name="onActivityPostStopped(Landroid/app/Activity;)V" since="29" />
+		<method name="onActivityPreCreated(Landroid/app/Activity;Landroid/os/Bundle;)V" since="29" />
+		<method name="onActivityPreDestroyed(Landroid/app/Activity;)V" since="29" />
+		<method name="onActivityPrePaused(Landroid/app/Activity;)V" since="29" />
+		<method name="onActivityPreResumed(Landroid/app/Activity;)V" since="29" />
+		<method name="onActivityPreSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V" since="29" />
+		<method name="onActivityPreStarted(Landroid/app/Activity;)V" since="29" />
+		<method name="onActivityPreStopped(Landroid/app/Activity;)V" since="29" />
+		<method name="onActivityResumed(Landroid/app/Activity;)V" />
+		<method name="onActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V" />
+		<method name="onActivityStarted(Landroid/app/Activity;)V" />
+		<method name="onActivityStopped(Landroid/app/Activity;)V" />
+	</class>
+	<class name="android/app/Application$OnProvideAssistDataListener" since="18">
+		<extends name="java/lang/Object" />
+		<method name="onProvideAssistData(Landroid/app/Activity;Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/app/ApplicationErrorReport" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getErrorReportReceiver(Landroid/content/Context;Ljava/lang/String;I)Landroid/content/ComponentName;" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+		<field name="TYPE_ANR" />
+		<field name="TYPE_BATTERY" />
+		<field name="TYPE_CRASH" />
+		<field name="TYPE_NONE" />
+		<field name="TYPE_RUNNING_SERVICE" />
+		<field name="anrInfo" />
+		<field name="batteryInfo" />
+		<field name="crashInfo" />
+		<field name="installerPackageName" />
+		<field name="packageName" />
+		<field name="processName" />
+		<field name="runningServiceInfo" />
+		<field name="systemApp" />
+		<field name="time" />
+		<field name="type" />
+	</class>
+	<class name="android/app/ApplicationErrorReport$AnrInfo" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="writeToParcel(Landroid/os/Parcel;I)V" />
+		<field name="activity" />
+		<field name="cause" />
+		<field name="info" />
+	</class>
+	<class name="android/app/ApplicationErrorReport$BatteryInfo" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="writeToParcel(Landroid/os/Parcel;I)V" />
+		<field name="checkinDetails" />
+		<field name="durationMicros" />
+		<field name="usageDetails" />
+		<field name="usagePercent" />
+	</class>
+	<class name="android/app/ApplicationErrorReport$CrashInfo" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="writeToParcel(Landroid/os/Parcel;I)V" />
+		<field name="exceptionClassName" />
+		<field name="exceptionMessage" />
+		<field name="stackTrace" />
+		<field name="throwClassName" />
+		<field name="throwFileName" />
+		<field name="throwLineNumber" />
+		<field name="throwMethodName" />
+	</class>
+	<class name="android/app/ApplicationErrorReport$RunningServiceInfo" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="writeToParcel(Landroid/os/Parcel;I)V" />
+		<field name="durationMillis" />
+		<field name="serviceDetails" />
+	</class>
+	<class name="android/app/ApplicationExitInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDefiningUid()I" />
+		<method name="getDescription()Ljava/lang/String;" />
+		<method name="getImportance()I" />
+		<method name="getPackageUid()I" />
+		<method name="getPid()I" />
+		<method name="getProcessName()Ljava/lang/String;" />
+		<method name="getProcessStateSummary()[B" />
+		<method name="getPss()J" />
+		<method name="getRealUid()I" />
+		<method name="getReason()I" />
+		<method name="getRss()J" />
+		<method name="getStatus()I" />
+		<method name="getTimestamp()J" />
+		<method name="getTraceInputStream()Ljava/io/InputStream;" />
+		<method name="getUserHandle()Landroid/os/UserHandle;" />
+		<field name="CREATOR" />
+		<field name="REASON_ANR" />
+		<field name="REASON_CRASH" />
+		<field name="REASON_CRASH_NATIVE" />
+		<field name="REASON_DEPENDENCY_DIED" />
+		<field name="REASON_EXCESSIVE_RESOURCE_USAGE" />
+		<field name="REASON_EXIT_SELF" />
+		<field name="REASON_INITIALIZATION_FAILURE" />
+		<field name="REASON_LOW_MEMORY" />
+		<field name="REASON_OTHER" />
+		<field name="REASON_PERMISSION_CHANGE" />
+		<field name="REASON_SIGNALED" />
+		<field name="REASON_UNKNOWN" />
+		<field name="REASON_USER_REQUESTED" />
+		<field name="REASON_USER_STOPPED" />
+	</class>
+	<class name="android/app/AsyncNotedAppOp" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAttributionTag()Ljava/lang/String;" />
+		<method name="getMessage()Ljava/lang/String;" />
+		<method name="getNotingUid()I" />
+		<method name="getOp()Ljava/lang/String;" />
+		<method name="getTime()J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/AuthenticationRequiredException" since="26">
+		<extends name="java/lang/SecurityException" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;Landroid/app/PendingIntent;)V" />
+		<method name="getUserAction()Landroid/app/PendingIntent;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/AutomaticZenRule" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/net/Uri;Landroid/service/notification/ZenPolicy;IZ)V" since="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/content/ComponentName;Landroid/net/Uri;IZ)V" deprecated="29" />
+		<method name="getConditionId()Landroid/net/Uri;" />
+		<method name="getConfigurationActivity()Landroid/content/ComponentName;" since="29" />
+		<method name="getCreationTime()J" />
+		<method name="getInterruptionFilter()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getOwner()Landroid/content/ComponentName;" />
+		<method name="getZenPolicy()Landroid/service/notification/ZenPolicy;" since="29" />
+		<method name="isEnabled()Z" />
+		<method name="setConditionId(Landroid/net/Uri;)V" />
+		<method name="setConfigurationActivity(Landroid/content/ComponentName;)V" since="29" />
+		<method name="setEnabled(Z)V" />
+		<method name="setInterruptionFilter(I)V" />
+		<method name="setName(Ljava/lang/String;)V" />
+		<method name="setZenPolicy(Landroid/service/notification/ZenPolicy;)V" since="29" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/BackgroundServiceStartNotAllowedException" since="31">
+		<extends name="android/app/ServiceStartNotAllowedException" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/DatePickerDialog" since="1">
+		<extends name="android/app/AlertDialog" />
+		<implements name="android/content/DialogInterface$OnClickListener" />
+		<implements name="android/widget/DatePicker$OnDateChangedListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" since="24" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" since="24" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILandroid/app/DatePickerDialog$OnDateSetListener;III)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/app/DatePickerDialog$OnDateSetListener;III)V" />
+		<method name="getDatePicker()Landroid/widget/DatePicker;" since="11" />
+		<method name="setOnDateSetListener(Landroid/app/DatePickerDialog$OnDateSetListener;)V" since="24" />
+		<method name="updateDate(III)V" />
+	</class>
+	<class name="android/app/DatePickerDialog$OnDateSetListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onDateSet(Landroid/widget/DatePicker;III)V" />
+	</class>
+	<class name="android/app/Dialog" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/content/DialogInterface" />
+		<implements name="android/view/KeyEvent$Callback" />
+		<implements name="android/view/View$OnCreateContextMenuListener" />
+		<implements name="android/view/Window$Callback" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ZLandroid/content/DialogInterface$OnCancelListener;)V" />
+		<method name="addContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="closeOptionsMenu()V" />
+		<method name="create()V" since="21" />
+		<method name="findViewById(I)Landroid/view/View;" />
+		<method name="getActionBar()Landroid/app/ActionBar;" since="11" />
+		<method name="getContext()Landroid/content/Context;" />
+		<method name="getCurrentFocus()Landroid/view/View;" />
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;" />
+		<method name="getOwnerActivity()Landroid/app/Activity;" />
+		<method name="getSearchEvent()Landroid/view/SearchEvent;" since="23" />
+		<method name="getVolumeControlStream()I" />
+		<method name="getWindow()Landroid/view/Window;" />
+		<method name="hide()V" />
+		<method name="invalidateOptionsMenu()V" since="11" />
+		<method name="isShowing()Z" />
+		<method name="onBackPressed()V" since="5" />
+		<method name="onContextItemSelected(Landroid/view/MenuItem;)Z" />
+		<method name="onContextMenuClosed(Landroid/view/Menu;)V" />
+		<method name="onCreate(Landroid/os/Bundle;)V" />
+		<method name="onCreateOptionsMenu(Landroid/view/Menu;)Z" />
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12" />
+		<method name="onKeyShortcut(ILandroid/view/KeyEvent;)Z" since="11" />
+		<method name="onOptionsItemSelected(Landroid/view/MenuItem;)Z" />
+		<method name="onOptionsMenuClosed(Landroid/view/Menu;)V" />
+		<method name="onPrepareOptionsMenu(Landroid/view/Menu;)Z" />
+		<method name="onRestoreInstanceState(Landroid/os/Bundle;)V" />
+		<method name="onSaveInstanceState()Landroid/os/Bundle;" />
+		<method name="onStart()V" />
+		<method name="onStop()V" />
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="openContextMenu(Landroid/view/View;)V" />
+		<method name="openOptionsMenu()V" />
+		<method name="registerForContextMenu(Landroid/view/View;)V" />
+		<method name="requestWindowFeature(I)Z" />
+		<method name="requireViewById(I)Landroid/view/View;" since="28" />
+		<method name="setCancelMessage(Landroid/os/Message;)V" />
+		<method name="setCancelable(Z)V" />
+		<method name="setCanceledOnTouchOutside(Z)V" />
+		<method name="setContentView(I)V" />
+		<method name="setContentView(Landroid/view/View;)V" />
+		<method name="setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="setDismissMessage(Landroid/os/Message;)V" />
+		<method name="setFeatureDrawable(ILandroid/graphics/drawable/Drawable;)V" />
+		<method name="setFeatureDrawableAlpha(II)V" />
+		<method name="setFeatureDrawableResource(II)V" />
+		<method name="setFeatureDrawableUri(ILandroid/net/Uri;)V" />
+		<method name="setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)V" />
+		<method name="setOnDismissListener(Landroid/content/DialogInterface$OnDismissListener;)V" />
+		<method name="setOnKeyListener(Landroid/content/DialogInterface$OnKeyListener;)V" />
+		<method name="setOnShowListener(Landroid/content/DialogInterface$OnShowListener;)V" since="8" />
+		<method name="setOwnerActivity(Landroid/app/Activity;)V" />
+		<method name="setTitle(I)V" />
+		<method name="setTitle(Ljava/lang/CharSequence;)V" />
+		<method name="setVolumeControlStream(I)V" />
+		<method name="show()V" />
+		<method name="takeKeyEvents(Z)V" />
+		<method name="unregisterForContextMenu(Landroid/view/View;)V" />
+	</class>
+	<class name="android/app/DialogFragment" since="11" deprecated="28">
+		<extends name="android/app/Fragment" />
+		<implements name="android/content/DialogInterface$OnCancelListener" />
+		<implements name="android/content/DialogInterface$OnDismissListener" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="dismiss()V" deprecated="29" />
+		<method name="dismissAllowingStateLoss()V" since="12" deprecated="29" />
+		<method name="getDialog()Landroid/app/Dialog;" deprecated="29" />
+		<method name="getShowsDialog()Z" deprecated="29" />
+		<method name="getTheme()I" deprecated="29" />
+		<method name="isCancelable()Z" deprecated="29" />
+		<method name="onCreateDialog(Landroid/os/Bundle;)Landroid/app/Dialog;" deprecated="29" />
+		<method name="setCancelable(Z)V" deprecated="29" />
+		<method name="setShowsDialog(Z)V" deprecated="29" />
+		<method name="setStyle(II)V" deprecated="29" />
+		<method name="show(Landroid/app/FragmentManager;Ljava/lang/String;)V" deprecated="29" />
+		<method name="show(Landroid/app/FragmentTransaction;Ljava/lang/String;)I" deprecated="29" />
+		<field name="STYLE_NORMAL" deprecated="29" />
+		<field name="STYLE_NO_FRAME" deprecated="29" />
+		<field name="STYLE_NO_INPUT" deprecated="29" />
+		<field name="STYLE_NO_TITLE" deprecated="29" />
+	</class>
+	<class name="android/app/DirectAction" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getLocusId()Landroid/content/LocusId;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/DirectAction$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="build()Landroid/app/DirectAction;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/app/DirectAction$Builder;" />
+		<method name="setLocusId(Landroid/content/LocusId;)Landroid/app/DirectAction$Builder;" />
+	</class>
+	<class name="android/app/DownloadManager" since="9">
+		<extends name="java/lang/Object" />
+		<method name="addCompletedDownload(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;JZ)J" since="12" deprecated="29" />
+		<method name="addCompletedDownload(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;JZLandroid/net/Uri;Landroid/net/Uri;)J" since="24" deprecated="29" />
+		<method name="enqueue(Landroid/app/DownloadManager$Request;)J" />
+		<method name="getMaxBytesOverMobile(Landroid/content/Context;)Ljava/lang/Long;" since="11" />
+		<method name="getMimeTypeForDownloadedFile(J)Ljava/lang/String;" since="11" />
+		<method name="getRecommendedMaxBytesOverMobile(Landroid/content/Context;)Ljava/lang/Long;" since="11" />
+		<method name="getUriForDownloadedFile(J)Landroid/net/Uri;" since="11" />
+		<method name="openDownloadedFile(J)Landroid/os/ParcelFileDescriptor;" />
+		<method name="query(Landroid/app/DownloadManager$Query;)Landroid/database/Cursor;" />
+		<method name="remove([J)I" />
+		<field name="ACTION_DOWNLOAD_COMPLETE" />
+		<field name="ACTION_NOTIFICATION_CLICKED" />
+		<field name="ACTION_VIEW_DOWNLOADS" />
+		<field name="COLUMN_BYTES_DOWNLOADED_SO_FAR" />
+		<field name="COLUMN_DESCRIPTION" />
+		<field name="COLUMN_ID" />
+		<field name="COLUMN_LAST_MODIFIED_TIMESTAMP" />
+		<field name="COLUMN_LOCAL_FILENAME" since="11" deprecated="24" />
+		<field name="COLUMN_LOCAL_URI" />
+		<field name="COLUMN_MEDIAPROVIDER_URI" />
+		<field name="COLUMN_MEDIA_TYPE" />
+		<field name="COLUMN_REASON" />
+		<field name="COLUMN_STATUS" />
+		<field name="COLUMN_TITLE" />
+		<field name="COLUMN_TOTAL_SIZE_BYTES" />
+		<field name="COLUMN_URI" />
+		<field name="ERROR_CANNOT_RESUME" />
+		<field name="ERROR_DEVICE_NOT_FOUND" />
+		<field name="ERROR_FILE_ALREADY_EXISTS" />
+		<field name="ERROR_FILE_ERROR" />
+		<field name="ERROR_HTTP_DATA_ERROR" />
+		<field name="ERROR_INSUFFICIENT_SPACE" />
+		<field name="ERROR_TOO_MANY_REDIRECTS" />
+		<field name="ERROR_UNHANDLED_HTTP_CODE" />
+		<field name="ERROR_UNKNOWN" />
+		<field name="EXTRA_DOWNLOAD_ID" />
+		<field name="EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS" since="11" />
+		<field name="INTENT_EXTRAS_SORT_BY_SIZE" since="12" />
+		<field name="PAUSED_QUEUED_FOR_WIFI" />
+		<field name="PAUSED_UNKNOWN" />
+		<field name="PAUSED_WAITING_FOR_NETWORK" />
+		<field name="PAUSED_WAITING_TO_RETRY" />
+		<field name="STATUS_FAILED" />
+		<field name="STATUS_PAUSED" />
+		<field name="STATUS_PENDING" />
+		<field name="STATUS_RUNNING" />
+		<field name="STATUS_SUCCESSFUL" />
+	</class>
+	<class name="android/app/DownloadManager$Query" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setFilterById([J)Landroid/app/DownloadManager$Query;" />
+		<method name="setFilterByStatus(I)Landroid/app/DownloadManager$Query;" />
+	</class>
+	<class name="android/app/DownloadManager$Request" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;)V" />
+		<method name="addRequestHeader(Ljava/lang/String;Ljava/lang/String;)Landroid/app/DownloadManager$Request;" />
+		<method name="allowScanningByMediaScanner()V" since="11" deprecated="29" />
+		<method name="setAllowedNetworkTypes(I)Landroid/app/DownloadManager$Request;" />
+		<method name="setAllowedOverMetered(Z)Landroid/app/DownloadManager$Request;" since="16" />
+		<method name="setAllowedOverRoaming(Z)Landroid/app/DownloadManager$Request;" />
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/app/DownloadManager$Request;" />
+		<method name="setDestinationInExternalFilesDir(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Landroid/app/DownloadManager$Request;" />
+		<method name="setDestinationInExternalPublicDir(Ljava/lang/String;Ljava/lang/String;)Landroid/app/DownloadManager$Request;" />
+		<method name="setDestinationUri(Landroid/net/Uri;)Landroid/app/DownloadManager$Request;" />
+		<method name="setMimeType(Ljava/lang/String;)Landroid/app/DownloadManager$Request;" />
+		<method name="setNotificationVisibility(I)Landroid/app/DownloadManager$Request;" since="11" />
+		<method name="setRequiresCharging(Z)Landroid/app/DownloadManager$Request;" since="24" />
+		<method name="setRequiresDeviceIdle(Z)Landroid/app/DownloadManager$Request;" since="24" />
+		<method name="setShowRunningNotification(Z)Landroid/app/DownloadManager$Request;" deprecated="15" />
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/app/DownloadManager$Request;" />
+		<method name="setVisibleInDownloadsUi(Z)Landroid/app/DownloadManager$Request;" deprecated="29" />
+		<field name="NETWORK_MOBILE" />
+		<field name="NETWORK_WIFI" />
+		<field name="VISIBILITY_HIDDEN" since="11" />
+		<field name="VISIBILITY_VISIBLE" since="11" />
+		<field name="VISIBILITY_VISIBLE_NOTIFY_COMPLETED" since="11" />
+		<field name="VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION" since="12" />
+	</class>
+	<class name="android/app/ExpandableListActivity" since="1" deprecated="30">
+		<extends name="android/app/Activity" />
+		<implements name="android/widget/ExpandableListView$OnChildClickListener" />
+		<implements name="android/widget/ExpandableListView$OnGroupCollapseListener" />
+		<implements name="android/widget/ExpandableListView$OnGroupExpandListener" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="getExpandableListAdapter()Landroid/widget/ExpandableListAdapter;" deprecated="30" />
+		<method name="getExpandableListView()Landroid/widget/ExpandableListView;" deprecated="30" />
+		<method name="getSelectedId()J" deprecated="30" />
+		<method name="getSelectedPosition()J" deprecated="30" />
+		<method name="setListAdapter(Landroid/widget/ExpandableListAdapter;)V" deprecated="30" />
+		<method name="setSelectedChild(IIZ)Z" deprecated="30" />
+		<method name="setSelectedGroup(I)V" deprecated="30" />
+	</class>
+	<class name="android/app/ForegroundServiceStartNotAllowedException" since="31">
+		<extends name="android/app/ServiceStartNotAllowedException" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/Fragment" since="11" deprecated="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/content/ComponentCallbacks" removed="14" />
+		<implements name="android/content/ComponentCallbacks2" since="14" />
+		<implements name="android/view/View$OnCreateContextMenuListener" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29" />
+		<method name="getActivity()Landroid/app/Activity;" deprecated="29" />
+		<method name="getAllowEnterTransitionOverlap()Z" since="21" deprecated="29" />
+		<method name="getAllowReturnTransitionOverlap()Z" since="21" deprecated="29" />
+		<method name="getArguments()Landroid/os/Bundle;" deprecated="29" />
+		<method name="getChildFragmentManager()Landroid/app/FragmentManager;" since="17" deprecated="29" />
+		<method name="getContext()Landroid/content/Context;" since="23" deprecated="29" />
+		<method name="getEnterTransition()Landroid/transition/Transition;" since="21" deprecated="29" />
+		<method name="getExitTransition()Landroid/transition/Transition;" since="21" deprecated="29" />
+		<method name="getFragmentManager()Landroid/app/FragmentManager;" deprecated="29" />
+		<method name="getHost()Ljava/lang/Object;" since="23" deprecated="29" />
+		<method name="getId()I" deprecated="29" />
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;" since="26" deprecated="29" />
+		<method name="getLoaderManager()Landroid/app/LoaderManager;" deprecated="28" />
+		<method name="getParentFragment()Landroid/app/Fragment;" since="17" deprecated="29" />
+		<method name="getReenterTransition()Landroid/transition/Transition;" since="21" deprecated="29" />
+		<method name="getResources()Landroid/content/res/Resources;" deprecated="29" />
+		<method name="getRetainInstance()Z" deprecated="29" />
+		<method name="getReturnTransition()Landroid/transition/Transition;" since="21" deprecated="29" />
+		<method name="getSharedElementEnterTransition()Landroid/transition/Transition;" since="21" deprecated="29" />
+		<method name="getSharedElementReturnTransition()Landroid/transition/Transition;" since="21" deprecated="29" />
+		<method name="getString(I)Ljava/lang/String;" deprecated="29" />
+		<method name="getString(I[Ljava/lang/Object;)Ljava/lang/String;" deprecated="29" />
+		<method name="getTag()Ljava/lang/String;" deprecated="29" />
+		<method name="getTargetFragment()Landroid/app/Fragment;" deprecated="29" />
+		<method name="getTargetRequestCode()I" deprecated="29" />
+		<method name="getText(I)Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getUserVisibleHint()Z" since="15" deprecated="29" />
+		<method name="getView()Landroid/view/View;" deprecated="29" />
+		<method name="instantiate(Landroid/content/Context;Ljava/lang/String;)Landroid/app/Fragment;" deprecated="29" />
+		<method name="instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/Fragment;" deprecated="29" />
+		<method name="isAdded()Z" deprecated="29" />
+		<method name="isDetached()Z" since="13" deprecated="29" />
+		<method name="isHidden()Z" deprecated="29" />
+		<method name="isInLayout()Z" deprecated="29" />
+		<method name="isRemoving()Z" deprecated="29" />
+		<method name="isResumed()Z" deprecated="29" />
+		<method name="isStateSaved()Z" since="26" deprecated="29" />
+		<method name="isVisible()Z" deprecated="29" />
+		<method name="onActivityCreated(Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="onActivityResult(IILandroid/content/Intent;)V" deprecated="29" />
+		<method name="onAttach(Landroid/app/Activity;)V" deprecated="23" />
+		<method name="onAttach(Landroid/content/Context;)V" since="23" deprecated="29" />
+		<method name="onAttachFragment(Landroid/app/Fragment;)V" since="24" deprecated="29" />
+		<method name="onContextItemSelected(Landroid/view/MenuItem;)Z" deprecated="29" />
+		<method name="onCreate(Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="onCreateAnimator(IZI)Landroid/animation/Animator;" deprecated="29" />
+		<method name="onCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)V" deprecated="29" />
+		<method name="onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;" deprecated="29" />
+		<method name="onDestroy()V" deprecated="29" />
+		<method name="onDestroyOptionsMenu()V" deprecated="29" />
+		<method name="onDestroyView()V" deprecated="29" />
+		<method name="onDetach()V" deprecated="29" />
+		<method name="onGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;" since="26" deprecated="29" />
+		<method name="onHiddenChanged(Z)V" deprecated="29" />
+		<method name="onInflate(Landroid/app/Activity;Landroid/util/AttributeSet;Landroid/os/Bundle;)V" since="12" deprecated="23" />
+		<method name="onInflate(Landroid/content/Context;Landroid/util/AttributeSet;Landroid/os/Bundle;)V" since="23" deprecated="29" />
+		<method name="onInflate(Landroid/util/AttributeSet;Landroid/os/Bundle;)V" deprecated="15" />
+		<method name="onMultiWindowModeChanged(Z)V" since="24" deprecated="26" />
+		<method name="onMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V" since="26" deprecated="29" />
+		<method name="onOptionsItemSelected(Landroid/view/MenuItem;)Z" deprecated="29" />
+		<method name="onOptionsMenuClosed(Landroid/view/Menu;)V" deprecated="29" />
+		<method name="onPause()V" deprecated="29" />
+		<method name="onPictureInPictureModeChanged(Z)V" since="24" deprecated="26" />
+		<method name="onPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V" since="26" deprecated="29" />
+		<method name="onPrepareOptionsMenu(Landroid/view/Menu;)V" deprecated="29" />
+		<method name="onRequestPermissionsResult(I[Ljava/lang/String;[I)V" since="23" deprecated="29" />
+		<method name="onResume()V" deprecated="29" />
+		<method name="onSaveInstanceState(Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="onStart()V" deprecated="29" />
+		<method name="onStop()V" deprecated="29" />
+		<method name="onViewCreated(Landroid/view/View;Landroid/os/Bundle;)V" since="13" deprecated="29" />
+		<method name="onViewStateRestored(Landroid/os/Bundle;)V" since="17" deprecated="29" />
+		<method name="postponeEnterTransition()V" since="26" deprecated="29" />
+		<method name="registerForContextMenu(Landroid/view/View;)V" deprecated="29" />
+		<method name="requestPermissions([Ljava/lang/String;I)V" since="23" deprecated="29" />
+		<method name="setAllowEnterTransitionOverlap(Z)V" since="21" deprecated="29" />
+		<method name="setAllowReturnTransitionOverlap(Z)V" since="21" deprecated="29" />
+		<method name="setArguments(Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="setEnterSharedElementCallback(Landroid/app/SharedElementCallback;)V" since="21" deprecated="29" />
+		<method name="setEnterTransition(Landroid/transition/Transition;)V" since="21" deprecated="29" />
+		<method name="setExitSharedElementCallback(Landroid/app/SharedElementCallback;)V" since="21" deprecated="29" />
+		<method name="setExitTransition(Landroid/transition/Transition;)V" since="21" deprecated="29" />
+		<method name="setHasOptionsMenu(Z)V" deprecated="29" />
+		<method name="setInitialSavedState(Landroid/app/Fragment$SavedState;)V" since="13" deprecated="29" />
+		<method name="setMenuVisibility(Z)V" since="14" deprecated="29" />
+		<method name="setReenterTransition(Landroid/transition/Transition;)V" since="21" deprecated="29" />
+		<method name="setRetainInstance(Z)V" deprecated="29" />
+		<method name="setReturnTransition(Landroid/transition/Transition;)V" since="21" deprecated="29" />
+		<method name="setSharedElementEnterTransition(Landroid/transition/Transition;)V" since="21" deprecated="29" />
+		<method name="setSharedElementReturnTransition(Landroid/transition/Transition;)V" since="21" deprecated="29" />
+		<method name="setTargetFragment(Landroid/app/Fragment;I)V" deprecated="29" />
+		<method name="setUserVisibleHint(Z)V" since="15" deprecated="29" />
+		<method name="shouldShowRequestPermissionRationale(Ljava/lang/String;)Z" since="23" deprecated="29" />
+		<method name="startActivity(Landroid/content/Intent;)V" deprecated="29" />
+		<method name="startActivity(Landroid/content/Intent;Landroid/os/Bundle;)V" since="16" deprecated="29" />
+		<method name="startActivityForResult(Landroid/content/Intent;I)V" deprecated="29" />
+		<method name="startActivityForResult(Landroid/content/Intent;ILandroid/os/Bundle;)V" since="16" deprecated="29" />
+		<method name="startIntentSenderForResult(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V" since="24" deprecated="29" />
+		<method name="startPostponedEnterTransition()V" since="26" deprecated="29" />
+		<method name="unregisterForContextMenu(Landroid/view/View;)V" deprecated="29" />
+	</class>
+	<class name="android/app/Fragment$InstantiationException" since="11" deprecated="28">
+		<extends name="android/util/AndroidRuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Exception;)V" deprecated="29" />
+	</class>
+	<class name="android/app/Fragment$SavedState" since="13" deprecated="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" deprecated="29" />
+	</class>
+	<class name="android/app/FragmentBreadCrumbs" since="11" deprecated="21">
+		<extends name="android/view/ViewGroup" />
+		<implements name="android/app/FragmentManager$OnBackStackChangedListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="setActivity(Landroid/app/Activity;)V" deprecated="29" />
+		<method name="setMaxVisible(I)V" deprecated="29" />
+		<method name="setOnBreadCrumbClickListener(Landroid/app/FragmentBreadCrumbs$OnBreadCrumbClickListener;)V" since="12" deprecated="29" />
+		<method name="setParentTitle(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/view/View$OnClickListener;)V" deprecated="29" />
+		<method name="setTitle(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V" deprecated="29" />
+	</class>
+	<class name="android/app/FragmentBreadCrumbs$OnBreadCrumbClickListener" since="12" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="onBreadCrumbClick(Landroid/app/FragmentManager$BackStackEntry;I)Z" deprecated="29" />
+	</class>
+	<class name="android/app/FragmentContainer" since="23" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="onFindViewById(I)Landroid/view/View;" deprecated="29" />
+		<method name="onHasView()Z" deprecated="29" />
+	</class>
+	<class name="android/app/FragmentController" since="23" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="attachHost(Landroid/app/Fragment;)V" deprecated="29" />
+		<method name="createController(Landroid/app/FragmentHostCallback;)Landroid/app/FragmentController;" deprecated="29" />
+		<method name="dispatchActivityCreated()V" deprecated="29" />
+		<method name="dispatchConfigurationChanged(Landroid/content/res/Configuration;)V" deprecated="29" />
+		<method name="dispatchContextItemSelected(Landroid/view/MenuItem;)Z" deprecated="29" />
+		<method name="dispatchCreate()V" deprecated="29" />
+		<method name="dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z" deprecated="29" />
+		<method name="dispatchDestroy()V" deprecated="29" />
+		<method name="dispatchDestroyView()V" deprecated="29" />
+		<method name="dispatchLowMemory()V" deprecated="29" />
+		<method name="dispatchMultiWindowModeChanged(Z)V" since="24" deprecated="26" />
+		<method name="dispatchMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V" since="26" deprecated="29" />
+		<method name="dispatchOptionsItemSelected(Landroid/view/MenuItem;)Z" deprecated="29" />
+		<method name="dispatchOptionsMenuClosed(Landroid/view/Menu;)V" deprecated="29" />
+		<method name="dispatchPause()V" deprecated="29" />
+		<method name="dispatchPictureInPictureModeChanged(Z)V" since="24" deprecated="26" />
+		<method name="dispatchPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V" since="26" deprecated="29" />
+		<method name="dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z" deprecated="29" />
+		<method name="dispatchResume()V" deprecated="29" />
+		<method name="dispatchStart()V" deprecated="29" />
+		<method name="dispatchStop()V" deprecated="29" />
+		<method name="dispatchTrimMemory(I)V" deprecated="29" />
+		<method name="doLoaderDestroy()V" deprecated="29" />
+		<method name="doLoaderStart()V" deprecated="29" />
+		<method name="doLoaderStop(Z)V" deprecated="29" />
+		<method name="dumpLoaders(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29" />
+		<method name="execPendingActions()Z" deprecated="29" />
+		<method name="findFragmentByWho(Ljava/lang/String;)Landroid/app/Fragment;" deprecated="29" />
+		<method name="getFragmentManager()Landroid/app/FragmentManager;" deprecated="29" />
+		<method name="getLoaderManager()Landroid/app/LoaderManager;" deprecated="29" />
+		<method name="noteStateNotSaved()V" deprecated="29" />
+		<method name="onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;" deprecated="29" />
+		<method name="reportLoaderStart()V" deprecated="29" />
+		<method name="restoreAllState(Landroid/os/Parcelable;Landroid/app/FragmentManagerNonConfig;)V" since="24" deprecated="29" />
+		<method name="restoreAllState(Landroid/os/Parcelable;Ljava/util/List;)V" deprecated="24" />
+		<method name="restoreLoaderNonConfig(Landroid/util/ArrayMap;)V" deprecated="29" />
+		<method name="retainLoaderNonConfig()Landroid/util/ArrayMap;" deprecated="29" />
+		<method name="retainNestedNonConfig()Landroid/app/FragmentManagerNonConfig;" since="24" deprecated="29" />
+		<method name="retainNonConfig()Ljava/util/List;" deprecated="24" />
+		<method name="saveAllState()Landroid/os/Parcelable;" deprecated="29" />
+	</class>
+	<class name="android/app/FragmentHostCallback" since="23" deprecated="28">
+		<extends name="android/app/FragmentContainer" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/os/Handler;I)V" deprecated="29" />
+		<method name="onAttachFragment(Landroid/app/Fragment;)V" deprecated="29" />
+		<method name="onDump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29" />
+		<method name="onGetHost()Ljava/lang/Object;" deprecated="29" />
+		<method name="onGetLayoutInflater()Landroid/view/LayoutInflater;" deprecated="29" />
+		<method name="onGetWindowAnimations()I" deprecated="29" />
+		<method name="onHasWindowAnimations()Z" deprecated="29" />
+		<method name="onInvalidateOptionsMenu()V" deprecated="29" />
+		<method name="onRequestPermissionsFromFragment(Landroid/app/Fragment;[Ljava/lang/String;I)V" deprecated="29" />
+		<method name="onShouldSaveFragmentState(Landroid/app/Fragment;)Z" deprecated="29" />
+		<method name="onStartActivityFromFragment(Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;)V" deprecated="29" />
+		<method name="onStartIntentSenderFromFragment(Landroid/app/Fragment;Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V" since="24" deprecated="29" />
+		<method name="onUseFragmentManagerInflaterFactory()Z" deprecated="29" />
+	</class>
+	<class name="android/app/FragmentManager" since="11" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="addOnBackStackChangedListener(Landroid/app/FragmentManager$OnBackStackChangedListener;)V" deprecated="29" />
+		<method name="beginTransaction()Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29" />
+		<method name="enableDebugLogging(Z)V" deprecated="29" />
+		<method name="executePendingTransactions()Z" deprecated="29" />
+		<method name="findFragmentById(I)Landroid/app/Fragment;" deprecated="29" />
+		<method name="findFragmentByTag(Ljava/lang/String;)Landroid/app/Fragment;" deprecated="29" />
+		<method name="getBackStackEntryAt(I)Landroid/app/FragmentManager$BackStackEntry;" deprecated="29" />
+		<method name="getBackStackEntryCount()I" deprecated="29" />
+		<method name="getFragment(Landroid/os/Bundle;Ljava/lang/String;)Landroid/app/Fragment;" deprecated="29" />
+		<method name="getFragments()Ljava/util/List;" since="26" deprecated="29" />
+		<method name="getPrimaryNavigationFragment()Landroid/app/Fragment;" since="26" deprecated="29" />
+		<method name="invalidateOptionsMenu()V" since="14" deprecated="29" />
+		<method name="isDestroyed()Z" since="17" deprecated="29" />
+		<method name="isStateSaved()Z" since="26" deprecated="29" />
+		<method name="popBackStack()V" deprecated="29" />
+		<method name="popBackStack(II)V" deprecated="29" />
+		<method name="popBackStack(Ljava/lang/String;I)V" deprecated="29" />
+		<method name="popBackStackImmediate()Z" deprecated="29" />
+		<method name="popBackStackImmediate(II)Z" deprecated="29" />
+		<method name="popBackStackImmediate(Ljava/lang/String;I)Z" deprecated="29" />
+		<method name="putFragment(Landroid/os/Bundle;Ljava/lang/String;Landroid/app/Fragment;)V" deprecated="29" />
+		<method name="registerFragmentLifecycleCallbacks(Landroid/app/FragmentManager$FragmentLifecycleCallbacks;Z)V" since="26" deprecated="29" />
+		<method name="removeOnBackStackChangedListener(Landroid/app/FragmentManager$OnBackStackChangedListener;)V" deprecated="29" />
+		<method name="saveFragmentInstanceState(Landroid/app/Fragment;)Landroid/app/Fragment$SavedState;" since="13" deprecated="29" />
+		<method name="unregisterFragmentLifecycleCallbacks(Landroid/app/FragmentManager$FragmentLifecycleCallbacks;)V" since="26" deprecated="29" />
+		<field name="POP_BACK_STACK_INCLUSIVE" deprecated="29" />
+	</class>
+	<class name="android/app/FragmentManager$BackStackEntry" since="11" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="getBreadCrumbShortTitle()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getBreadCrumbShortTitleRes()I" deprecated="29" />
+		<method name="getBreadCrumbTitle()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getBreadCrumbTitleRes()I" deprecated="29" />
+		<method name="getId()I" deprecated="29" />
+		<method name="getName()Ljava/lang/String;" since="14" deprecated="29" />
+	</class>
+	<class name="android/app/FragmentManager$FragmentLifecycleCallbacks" since="26" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="onFragmentActivityCreated(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="onFragmentAttached(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/content/Context;)V" deprecated="29" />
+		<method name="onFragmentCreated(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="onFragmentDestroyed(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29" />
+		<method name="onFragmentDetached(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29" />
+		<method name="onFragmentPaused(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29" />
+		<method name="onFragmentPreAttached(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/content/Context;)V" deprecated="29" />
+		<method name="onFragmentPreCreated(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="onFragmentResumed(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29" />
+		<method name="onFragmentSaveInstanceState(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="onFragmentStarted(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29" />
+		<method name="onFragmentStopped(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29" />
+		<method name="onFragmentViewCreated(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/view/View;Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="onFragmentViewDestroyed(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29" />
+	</class>
+	<class name="android/app/FragmentManager$OnBackStackChangedListener" since="11" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="onBackStackChanged()V" deprecated="29" />
+	</class>
+	<class name="android/app/FragmentManagerNonConfig" since="24" deprecated="28">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/app/FragmentTransaction" since="11" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="add(ILandroid/app/Fragment;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="add(ILandroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="add(Landroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="addSharedElement(Landroid/view/View;Ljava/lang/String;)Landroid/app/FragmentTransaction;" since="21" deprecated="29" />
+		<method name="addToBackStack(Ljava/lang/String;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="attach(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" since="13" deprecated="29" />
+		<method name="commit()I" deprecated="29" />
+		<method name="commitAllowingStateLoss()I" deprecated="29" />
+		<method name="commitNow()V" since="24" deprecated="29" />
+		<method name="commitNowAllowingStateLoss()V" since="24" deprecated="29" />
+		<method name="detach(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" since="13" deprecated="29" />
+		<method name="disallowAddToBackStack()Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="hide(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="isAddToBackStackAllowed()Z" deprecated="29" />
+		<method name="isEmpty()Z" deprecated="29" />
+		<method name="remove(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="replace(ILandroid/app/Fragment;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="replace(ILandroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="runOnCommit(Ljava/lang/Runnable;)Landroid/app/FragmentTransaction;" since="26" deprecated="29" />
+		<method name="setBreadCrumbShortTitle(I)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="setBreadCrumbShortTitle(Ljava/lang/CharSequence;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="setBreadCrumbTitle(I)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="setBreadCrumbTitle(Ljava/lang/CharSequence;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="setCustomAnimations(II)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="setCustomAnimations(IIII)Landroid/app/FragmentTransaction;" since="13" deprecated="29" />
+		<method name="setPrimaryNavigationFragment(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" since="26" deprecated="29" />
+		<method name="setReorderingAllowed(Z)Landroid/app/FragmentTransaction;" since="26" deprecated="29" />
+		<method name="setTransition(I)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="setTransitionStyle(I)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<method name="show(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" deprecated="29" />
+		<field name="TRANSIT_ENTER_MASK" deprecated="29" />
+		<field name="TRANSIT_EXIT_MASK" deprecated="29" />
+		<field name="TRANSIT_FRAGMENT_CLOSE" deprecated="29" />
+		<field name="TRANSIT_FRAGMENT_FADE" deprecated="29" />
+		<field name="TRANSIT_FRAGMENT_OPEN" deprecated="29" />
+		<field name="TRANSIT_NONE" deprecated="29" />
+		<field name="TRANSIT_UNSET" deprecated="29" />
+	</class>
+	<class name="android/app/GameManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getGameMode()I" />
+		<field name="GAME_MODE_BATTERY" />
+		<field name="GAME_MODE_PERFORMANCE" />
+		<field name="GAME_MODE_STANDARD" />
+		<field name="GAME_MODE_UNSUPPORTED" />
+	</class>
+	<class name="android/app/Instrumentation" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="acquireLooperManager(Landroid/os/Looper;)Landroid/os/TestLooperManager;" since="26" />
+		<method name="addMonitor(Landroid/app/Instrumentation$ActivityMonitor;)V" />
+		<method name="addMonitor(Landroid/content/IntentFilter;Landroid/app/Instrumentation$ActivityResult;Z)Landroid/app/Instrumentation$ActivityMonitor;" />
+		<method name="addMonitor(Ljava/lang/String;Landroid/app/Instrumentation$ActivityResult;Z)Landroid/app/Instrumentation$ActivityMonitor;" />
+		<method name="addResults(Landroid/os/Bundle;)V" since="26" />
+		<method name="callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;)V" />
+		<method name="callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21" />
+		<method name="callActivityOnDestroy(Landroid/app/Activity;)V" />
+		<method name="callActivityOnNewIntent(Landroid/app/Activity;Landroid/content/Intent;)V" />
+		<method name="callActivityOnPause(Landroid/app/Activity;)V" />
+		<method name="callActivityOnPictureInPictureRequested(Landroid/app/Activity;)V" since="30" />
+		<method name="callActivityOnPostCreate(Landroid/app/Activity;Landroid/os/Bundle;)V" />
+		<method name="callActivityOnPostCreate(Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21" />
+		<method name="callActivityOnRestart(Landroid/app/Activity;)V" />
+		<method name="callActivityOnRestoreInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V" />
+		<method name="callActivityOnRestoreInstanceState(Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21" />
+		<method name="callActivityOnResume(Landroid/app/Activity;)V" />
+		<method name="callActivityOnSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V" />
+		<method name="callActivityOnSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21" />
+		<method name="callActivityOnStart(Landroid/app/Activity;)V" />
+		<method name="callActivityOnStop(Landroid/app/Activity;)V" />
+		<method name="callActivityOnUserLeaving(Landroid/app/Activity;)V" since="3" />
+		<method name="callApplicationOnCreate(Landroid/app/Application;)V" />
+		<method name="checkMonitorHit(Landroid/app/Instrumentation$ActivityMonitor;I)Z" />
+		<method name="endPerformanceSnapshot()V" />
+		<method name="finish(ILandroid/os/Bundle;)V" />
+		<method name="getAllocCounts()Landroid/os/Bundle;" />
+		<method name="getBinderCounts()Landroid/os/Bundle;" />
+		<method name="getComponentName()Landroid/content/ComponentName;" />
+		<method name="getContext()Landroid/content/Context;" />
+		<method name="getProcessName()Ljava/lang/String;" since="26" />
+		<method name="getTargetContext()Landroid/content/Context;" />
+		<method name="getUiAutomation()Landroid/app/UiAutomation;" since="18" />
+		<method name="getUiAutomation(I)Landroid/app/UiAutomation;" since="24" />
+		<method name="invokeContextMenuAction(Landroid/app/Activity;II)Z" />
+		<method name="invokeMenuActionSync(Landroid/app/Activity;II)Z" />
+		<method name="isProfiling()Z" />
+		<method name="newActivity(Ljava/lang/Class;Landroid/content/Context;Landroid/os/IBinder;Landroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Ljava/lang/Object;)Landroid/app/Activity;" />
+		<method name="newActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;" />
+		<method name="newApplication(Ljava/lang/Class;Landroid/content/Context;)Landroid/app/Application;" />
+		<method name="newApplication(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Context;)Landroid/app/Application;" />
+		<method name="onCreate(Landroid/os/Bundle;)V" />
+		<method name="onDestroy()V" />
+		<method name="onException(Ljava/lang/Object;Ljava/lang/Throwable;)Z" />
+		<method name="onStart()V" />
+		<method name="removeMonitor(Landroid/app/Instrumentation$ActivityMonitor;)V" />
+		<method name="runOnMainSync(Ljava/lang/Runnable;)V" />
+		<method name="sendCharacterSync(I)V" />
+		<method name="sendKeyDownUpSync(I)V" />
+		<method name="sendKeySync(Landroid/view/KeyEvent;)V" />
+		<method name="sendPointerSync(Landroid/view/MotionEvent;)V" />
+		<method name="sendStatus(ILandroid/os/Bundle;)V" />
+		<method name="sendStringSync(Ljava/lang/String;)V" />
+		<method name="sendTrackballEventSync(Landroid/view/MotionEvent;)V" />
+		<method name="setAutomaticPerformanceSnapshots()V" />
+		<method name="setInTouchMode(Z)V" />
+		<method name="start()V" />
+		<method name="startActivitySync(Landroid/content/Intent;)Landroid/app/Activity;" />
+		<method name="startActivitySync(Landroid/content/Intent;Landroid/os/Bundle;)Landroid/app/Activity;" since="28" />
+		<method name="startAllocCounting()V" deprecated="23" />
+		<method name="startPerformanceSnapshot()V" />
+		<method name="startProfiling()V" />
+		<method name="stopAllocCounting()V" deprecated="23" />
+		<method name="stopProfiling()V" />
+		<method name="waitForIdle(Ljava/lang/Runnable;)V" />
+		<method name="waitForIdleSync()V" />
+		<method name="waitForMonitor(Landroid/app/Instrumentation$ActivityMonitor;)Landroid/app/Activity;" />
+		<method name="waitForMonitorWithTimeout(Landroid/app/Instrumentation$ActivityMonitor;J)Landroid/app/Activity;" />
+		<field name="REPORT_KEY_IDENTIFIER" />
+		<field name="REPORT_KEY_STREAMRESULT" />
+	</class>
+	<class name="android/app/Instrumentation$ActivityMonitor" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" since="26" />
+		<method name="&lt;init&gt;(Landroid/content/IntentFilter;Landroid/app/Instrumentation$ActivityResult;Z)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/app/Instrumentation$ActivityResult;Z)V" />
+		<method name="getFilter()Landroid/content/IntentFilter;" />
+		<method name="getHits()I" />
+		<method name="getLastActivity()Landroid/app/Activity;" />
+		<method name="getResult()Landroid/app/Instrumentation$ActivityResult;" />
+		<method name="isBlocking()Z" />
+		<method name="onStartActivity(Landroid/content/Intent;)Landroid/app/Instrumentation$ActivityResult;" since="26" />
+		<method name="waitForActivity()Landroid/app/Activity;" />
+		<method name="waitForActivityWithTimeout(J)Landroid/app/Activity;" />
+	</class>
+	<class name="android/app/Instrumentation$ActivityResult" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ILandroid/content/Intent;)V" />
+		<method name="getResultCode()I" />
+		<method name="getResultData()Landroid/content/Intent;" />
+	</class>
+	<class name="android/app/IntentService" since="3" deprecated="30">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="30" />
+		<method name="onHandleIntent(Landroid/content/Intent;)V" deprecated="30" />
+		<method name="setIntentRedelivery(Z)V" since="5" deprecated="30" />
+	</class>
+	<class name="android/app/KeyguardManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="createConfirmDeviceCredentialIntent(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/content/Intent;" since="21" deprecated="29" />
+		<method name="exitKeyguardSecurely(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V" deprecated="15" />
+		<method name="inKeyguardRestrictedInputMode()Z" deprecated="28" />
+		<method name="isDeviceLocked()Z" since="22" />
+		<method name="isDeviceSecure()Z" since="23" />
+		<method name="isKeyguardLocked()Z" since="16" />
+		<method name="isKeyguardSecure()Z" since="16" />
+		<method name="newKeyguardLock(Ljava/lang/String;)Landroid/app/KeyguardManager$KeyguardLock;" deprecated="15" />
+		<method name="requestDismissKeyguard(Landroid/app/Activity;Landroid/app/KeyguardManager$KeyguardDismissCallback;)V" since="26" />
+	</class>
+	<class name="android/app/KeyguardManager$KeyguardDismissCallback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onDismissCancelled()V" />
+		<method name="onDismissError()V" />
+		<method name="onDismissSucceeded()V" />
+	</class>
+	<class name="android/app/KeyguardManager$KeyguardLock" since="1" deprecated="15">
+		<extends name="java/lang/Object" />
+		<method name="disableKeyguard()V" deprecated="29" />
+		<method name="reenableKeyguard()V" deprecated="29" />
+	</class>
+	<class name="android/app/KeyguardManager$OnKeyguardExitResult" since="1" deprecated="26">
+		<extends name="java/lang/Object" />
+		<method name="onKeyguardExitResult(Z)V" deprecated="29" />
+	</class>
+	<class name="android/app/LauncherActivity" since="1" deprecated="30">
+		<extends name="android/app/ListActivity" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="getTargetIntent()Landroid/content/Intent;" deprecated="30" />
+		<method name="intentForPosition(I)Landroid/content/Intent;" since="3" deprecated="30" />
+		<method name="itemForPosition(I)Landroid/app/LauncherActivity$ListItem;" since="4" deprecated="30" />
+		<method name="makeListItems()Ljava/util/List;" since="3" deprecated="30" />
+		<method name="onQueryPackageManager(Landroid/content/Intent;)Ljava/util/List;" since="5" deprecated="30" />
+		<method name="onSetContentView()V" since="5" deprecated="30" />
+	</class>
+	<class name="android/app/LauncherActivity$IconResizer" since="3" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/app/LauncherActivity;)V" deprecated="30" />
+		<method name="createIconThumbnail(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;" deprecated="30" />
+	</class>
+	<class name="android/app/LauncherActivity$ListItem" since="3" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<field name="className" deprecated="30" />
+		<field name="extras" deprecated="30" />
+		<field name="icon" deprecated="30" />
+		<field name="label" deprecated="30" />
+		<field name="packageName" deprecated="30" />
+		<field name="resolveInfo" since="4" deprecated="30" />
+	</class>
+	<class name="android/app/ListActivity" since="1" deprecated="30">
+		<extends name="android/app/Activity" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="getListAdapter()Landroid/widget/ListAdapter;" deprecated="30" />
+		<method name="getListView()Landroid/widget/ListView;" deprecated="30" />
+		<method name="getSelectedItemId()J" deprecated="30" />
+		<method name="getSelectedItemPosition()I" deprecated="30" />
+		<method name="onListItemClick(Landroid/widget/ListView;Landroid/view/View;IJ)V" deprecated="30" />
+		<method name="setListAdapter(Landroid/widget/ListAdapter;)V" deprecated="30" />
+		<method name="setSelection(I)V" deprecated="30" />
+	</class>
+	<class name="android/app/ListFragment" since="11" deprecated="28">
+		<extends name="android/app/Fragment" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="getListAdapter()Landroid/widget/ListAdapter;" deprecated="29" />
+		<method name="getListView()Landroid/widget/ListView;" deprecated="29" />
+		<method name="getSelectedItemId()J" deprecated="29" />
+		<method name="getSelectedItemPosition()I" deprecated="29" />
+		<method name="onListItemClick(Landroid/widget/ListView;Landroid/view/View;IJ)V" deprecated="29" />
+		<method name="setEmptyText(Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setListAdapter(Landroid/widget/ListAdapter;)V" deprecated="29" />
+		<method name="setListShown(Z)V" deprecated="29" />
+		<method name="setListShownNoAnimation(Z)V" deprecated="29" />
+		<method name="setSelection(I)V" deprecated="29" />
+	</class>
+	<class name="android/app/LoaderManager" since="11" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="destroyLoader(I)V" deprecated="29" />
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29" />
+		<method name="enableDebugLogging(Z)V" deprecated="29" />
+		<method name="getLoader(I)Landroid/content/Loader;" deprecated="29" />
+		<method name="initLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/content/Loader;" deprecated="29" />
+		<method name="restartLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/content/Loader;" deprecated="29" />
+	</class>
+	<class name="android/app/LoaderManager$LoaderCallbacks" since="11" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="onCreateLoader(ILandroid/os/Bundle;)Landroid/content/Loader;" deprecated="29" />
+		<method name="onLoadFinished(Landroid/content/Loader;Ljava/lang/Object;)V" deprecated="29" />
+		<method name="onLoaderReset(Landroid/content/Loader;)V" deprecated="29" />
+	</class>
+	<class name="android/app/LocalActivityManager" since="1" deprecated="13">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/app/Activity;Z)V" deprecated="29" />
+		<method name="destroyActivity(Ljava/lang/String;Z)Landroid/view/Window;" deprecated="29" />
+		<method name="dispatchCreate(Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="dispatchDestroy(Z)V" deprecated="29" />
+		<method name="dispatchPause(Z)V" deprecated="29" />
+		<method name="dispatchResume()V" deprecated="29" />
+		<method name="dispatchStop()V" deprecated="29" />
+		<method name="getActivity(Ljava/lang/String;)Landroid/app/Activity;" deprecated="29" />
+		<method name="getCurrentActivity()Landroid/app/Activity;" deprecated="29" />
+		<method name="getCurrentId()Ljava/lang/String;" deprecated="29" />
+		<method name="removeAllActivities()V" deprecated="29" />
+		<method name="saveInstanceState()Landroid/os/Bundle;" deprecated="29" />
+		<method name="startActivity(Ljava/lang/String;Landroid/content/Intent;)Landroid/view/Window;" deprecated="29" />
+	</class>
+	<class name="android/app/MediaRouteActionProvider" since="16">
+		<extends name="android/view/ActionProvider" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="setExtendedSettingsClickListener(Landroid/view/View$OnClickListener;)V" />
+		<method name="setRouteTypes(I)V" />
+	</class>
+	<class name="android/app/MediaRouteButton" since="16">
+		<extends name="android/view/View" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getRouteTypes()I" />
+		<method name="setExtendedSettingsClickListener(Landroid/view/View$OnClickListener;)V" />
+		<method name="setRouteTypes(I)V" />
+		<method name="showDialog()V" />
+	</class>
+	<class name="android/app/NativeActivity" since="9">
+		<extends name="android/app/Activity" />
+		<implements name="android/view/InputQueue$Callback" />
+		<implements name="android/view/SurfaceHolder$Callback2" />
+		<implements name="android/view/ViewTreeObserver$OnGlobalLayoutListener" />
+		<method name="&lt;init&gt;()V" />
+		<field name="META_DATA_FUNC_NAME" />
+		<field name="META_DATA_LIB_NAME" />
+	</class>
+	<class name="android/app/Notification" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(ILjava/lang/CharSequence;J)V" deprecated="15" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="clone()Landroid/app/Notification;" since="9" />
+		<method name="findRemoteInputActionPair(Z)Landroid/util/Pair;" since="30" />
+		<method name="getAllowSystemGeneratedContextualActions()Z" since="29" />
+		<method name="getBadgeIconType()I" since="26" />
+		<method name="getBubbleMetadata()Landroid/app/Notification$BubbleMetadata;" since="29" />
+		<method name="getChannelId()Ljava/lang/String;" since="26" />
+		<method name="getContextualActions()Ljava/util/List;" since="30" />
+		<method name="getGroup()Ljava/lang/String;" since="20" />
+		<method name="getGroupAlertBehavior()I" since="26" />
+		<method name="getLargeIcon()Landroid/graphics/drawable/Icon;" since="23" />
+		<method name="getLocusId()Landroid/content/LocusId;" since="29" />
+		<method name="getSettingsText()Ljava/lang/CharSequence;" since="26" />
+		<method name="getShortcutId()Ljava/lang/String;" since="26" />
+		<method name="getSmallIcon()Landroid/graphics/drawable/Icon;" since="23" />
+		<method name="getSortKey()Ljava/lang/String;" since="20" />
+		<method name="getTimeoutAfter()J" since="26" />
+		<method name="hasImage()Z" since="31" />
+		<method name="setLatestEventInfo(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V" deprecated="15" removed="23" />
+		<field name="AUDIO_ATTRIBUTES_DEFAULT" since="21" />
+		<field name="BADGE_ICON_LARGE" since="26" />
+		<field name="BADGE_ICON_NONE" since="26" />
+		<field name="BADGE_ICON_SMALL" since="26" />
+		<field name="CATEGORY_ALARM" since="21" />
+		<field name="CATEGORY_CALL" since="21" />
+		<field name="CATEGORY_EMAIL" since="21" />
+		<field name="CATEGORY_ERROR" since="21" />
+		<field name="CATEGORY_EVENT" since="21" />
+		<field name="CATEGORY_LOCATION_SHARING" since="31" />
+		<field name="CATEGORY_MESSAGE" since="21" />
+		<field name="CATEGORY_MISSED_CALL" since="31" />
+		<field name="CATEGORY_NAVIGATION" since="28" />
+		<field name="CATEGORY_PROGRESS" since="21" />
+		<field name="CATEGORY_PROMO" since="21" />
+		<field name="CATEGORY_RECOMMENDATION" since="21" />
+		<field name="CATEGORY_REMINDER" since="23" />
+		<field name="CATEGORY_SERVICE" since="21" />
+		<field name="CATEGORY_SOCIAL" since="21" />
+		<field name="CATEGORY_STATUS" since="21" />
+		<field name="CATEGORY_STOPWATCH" since="31" />
+		<field name="CATEGORY_SYSTEM" since="21" />
+		<field name="CATEGORY_TRANSPORT" since="21" />
+		<field name="CATEGORY_WORKOUT" since="31" />
+		<field name="COLOR_DEFAULT" since="21" />
+		<field name="CREATOR" />
+		<field name="DEFAULT_ALL" />
+		<field name="DEFAULT_LIGHTS" />
+		<field name="DEFAULT_SOUND" />
+		<field name="DEFAULT_VIBRATE" />
+		<field name="EXTRA_ANSWER_COLOR" since="31" />
+		<field name="EXTRA_ANSWER_INTENT" since="31" />
+		<field name="EXTRA_AUDIO_CONTENTS_URI" since="26" />
+		<field name="EXTRA_BACKGROUND_IMAGE_URI" since="21" />
+		<field name="EXTRA_BIG_TEXT" since="21" />
+		<field name="EXTRA_CALL_IS_VIDEO" since="31" />
+		<field name="EXTRA_CALL_PERSON" since="31" />
+		<field name="EXTRA_CHANNEL_GROUP_ID" since="28" />
+		<field name="EXTRA_CHANNEL_ID" since="26" />
+		<field name="EXTRA_CHRONOMETER_COUNT_DOWN" since="24" />
+		<field name="EXTRA_COLORIZED" since="26" />
+		<field name="EXTRA_COMPACT_ACTIONS" since="21" />
+		<field name="EXTRA_CONVERSATION_TITLE" since="24" />
+		<field name="EXTRA_DECLINE_COLOR" since="31" />
+		<field name="EXTRA_DECLINE_INTENT" since="31" />
+		<field name="EXTRA_HANG_UP_INTENT" since="31" />
+		<field name="EXTRA_HISTORIC_MESSAGES" since="26" />
+		<field name="EXTRA_INFO_TEXT" since="19" />
+		<field name="EXTRA_IS_GROUP_CONVERSATION" since="28" />
+		<field name="EXTRA_LARGE_ICON" since="19" deprecated="26" />
+		<field name="EXTRA_LARGE_ICON_BIG" since="19" />
+		<field name="EXTRA_MEDIA_SESSION" since="21" />
+		<field name="EXTRA_MESSAGES" since="24" />
+		<field name="EXTRA_MESSAGING_PERSON" since="28" />
+		<field name="EXTRA_NOTIFICATION_ID" since="26" />
+		<field name="EXTRA_NOTIFICATION_TAG" since="26" />
+		<field name="EXTRA_PEOPLE" since="19" deprecated="28" />
+		<field name="EXTRA_PEOPLE_LIST" since="28" />
+		<field name="EXTRA_PICTURE" since="19" />
+		<field name="EXTRA_PICTURE_CONTENT_DESCRIPTION" since="31" />
+		<field name="EXTRA_PICTURE_ICON" since="31" />
+		<field name="EXTRA_PROGRESS" since="19" />
+		<field name="EXTRA_PROGRESS_INDETERMINATE" since="19" />
+		<field name="EXTRA_PROGRESS_MAX" since="19" />
+		<field name="EXTRA_REMOTE_INPUT_DRAFT" since="28" />
+		<field name="EXTRA_REMOTE_INPUT_HISTORY" since="24" />
+		<field name="EXTRA_SELF_DISPLAY_NAME" since="24" deprecated="28" />
+		<field name="EXTRA_SHOW_BIG_PICTURE_WHEN_COLLAPSED" since="31" />
+		<field name="EXTRA_SHOW_CHRONOMETER" since="19" />
+		<field name="EXTRA_SHOW_WHEN" since="19" />
+		<field name="EXTRA_SMALL_ICON" since="19" deprecated="26" />
+		<field name="EXTRA_SUB_TEXT" since="19" />
+		<field name="EXTRA_SUMMARY_TEXT" since="19" />
+		<field name="EXTRA_TEMPLATE" since="21" />
+		<field name="EXTRA_TEXT" since="19" />
+		<field name="EXTRA_TEXT_LINES" since="19" />
+		<field name="EXTRA_TITLE" since="19" />
+		<field name="EXTRA_TITLE_BIG" since="19" />
+		<field name="EXTRA_VERIFICATION_ICON" since="31" />
+		<field name="EXTRA_VERIFICATION_TEXT" since="31" />
+		<field name="FLAG_AUTO_CANCEL" />
+		<field name="FLAG_BUBBLE" since="29" />
+		<field name="FLAG_FOREGROUND_SERVICE" since="5" />
+		<field name="FLAG_GROUP_SUMMARY" since="20" />
+		<field name="FLAG_HIGH_PRIORITY" since="11" deprecated="16" />
+		<field name="FLAG_INSISTENT" />
+		<field name="FLAG_LOCAL_ONLY" since="20" />
+		<field name="FLAG_NO_CLEAR" />
+		<field name="FLAG_ONGOING_EVENT" />
+		<field name="FLAG_ONLY_ALERT_ONCE" />
+		<field name="FLAG_SHOW_LIGHTS" deprecated="26" />
+		<field name="FOREGROUND_SERVICE_DEFAULT" since="31" />
+		<field name="FOREGROUND_SERVICE_DEFERRED" since="31" />
+		<field name="FOREGROUND_SERVICE_IMMEDIATE" since="31" />
+		<field name="GROUP_ALERT_ALL" since="26" />
+		<field name="GROUP_ALERT_CHILDREN" since="26" />
+		<field name="GROUP_ALERT_SUMMARY" since="26" />
+		<field name="INTENT_CATEGORY_NOTIFICATION_PREFERENCES" since="21" />
+		<field name="PRIORITY_DEFAULT" since="16" deprecated="26" />
+		<field name="PRIORITY_HIGH" since="16" deprecated="26" />
+		<field name="PRIORITY_LOW" since="16" deprecated="26" />
+		<field name="PRIORITY_MAX" since="16" deprecated="26" />
+		<field name="PRIORITY_MIN" since="16" deprecated="26" />
+		<field name="STREAM_DEFAULT" deprecated="21" />
+		<field name="VISIBILITY_PRIVATE" since="21" />
+		<field name="VISIBILITY_PUBLIC" since="21" />
+		<field name="VISIBILITY_SECRET" since="21" />
+		<field name="actions" since="19" />
+		<field name="audioAttributes" since="21" deprecated="26" />
+		<field name="audioStreamType" deprecated="21" />
+		<field name="bigContentView" since="16" deprecated="24" />
+		<field name="category" since="21" />
+		<field name="color" since="21" />
+		<field name="contentIntent" />
+		<field name="contentView" deprecated="24" />
+		<field name="defaults" deprecated="26" />
+		<field name="deleteIntent" />
+		<field name="extras" since="19" />
+		<field name="flags" />
+		<field name="fullScreenIntent" since="9" />
+		<field name="headsUpContentView" since="21" deprecated="24" />
+		<field name="icon" deprecated="23" />
+		<field name="iconLevel" />
+		<field name="largeIcon" since="11" deprecated="23" />
+		<field name="ledARGB" deprecated="26" />
+		<field name="ledOffMS" deprecated="26" />
+		<field name="ledOnMS" deprecated="26" />
+		<field name="number" deprecated="24" />
+		<field name="priority" since="16" deprecated="26" />
+		<field name="publicVersion" since="21" />
+		<field name="sound" deprecated="26" />
+		<field name="tickerText" />
+		<field name="tickerView" since="11" deprecated="21" />
+		<field name="vibrate" deprecated="26" />
+		<field name="visibility" since="21" />
+		<field name="when" />
+	</class>
+	<class name="android/app/Notification$Action" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)V" deprecated="23" />
+		<method name="clone()Landroid/app/Notification$Action;" />
+		<method name="getAllowGeneratedReplies()Z" since="24" />
+		<method name="getDataOnlyRemoteInputs()[Landroid/app/RemoteInput;" since="26" />
+		<method name="getExtras()Landroid/os/Bundle;" since="20" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" since="23" />
+		<method name="getRemoteInputs()[Landroid/app/RemoteInput;" since="20" />
+		<method name="getSemanticAction()I" since="28" />
+		<method name="isAuthenticationRequired()Z" since="31" />
+		<method name="isContextual()Z" since="29" />
+		<field name="CREATOR" />
+		<field name="SEMANTIC_ACTION_ARCHIVE" since="28" />
+		<field name="SEMANTIC_ACTION_CALL" since="28" />
+		<field name="SEMANTIC_ACTION_DELETE" since="28" />
+		<field name="SEMANTIC_ACTION_MARK_AS_READ" since="28" />
+		<field name="SEMANTIC_ACTION_MARK_AS_UNREAD" since="28" />
+		<field name="SEMANTIC_ACTION_MUTE" since="28" />
+		<field name="SEMANTIC_ACTION_NONE" since="28" />
+		<field name="SEMANTIC_ACTION_REPLY" since="28" />
+		<field name="SEMANTIC_ACTION_THUMBS_DOWN" since="28" />
+		<field name="SEMANTIC_ACTION_THUMBS_UP" since="28" />
+		<field name="SEMANTIC_ACTION_UNMUTE" since="28" />
+		<field name="actionIntent" />
+		<field name="icon" deprecated="23" />
+		<field name="title" />
+	</class>
+	<class name="android/app/Notification$Action$Builder" since="20">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)V" deprecated="23" />
+		<method name="&lt;init&gt;(Landroid/app/Notification$Action;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V" since="23" />
+		<method name="addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Action$Builder;" />
+		<method name="addRemoteInput(Landroid/app/RemoteInput;)Landroid/app/Notification$Action$Builder;" />
+		<method name="build()Landroid/app/Notification$Action;" />
+		<method name="extend(Landroid/app/Notification$Action$Extender;)Landroid/app/Notification$Action$Builder;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="setAllowGeneratedReplies(Z)Landroid/app/Notification$Action$Builder;" since="24" />
+		<method name="setAuthenticationRequired(Z)Landroid/app/Notification$Action$Builder;" since="31" />
+		<method name="setContextual(Z)Landroid/app/Notification$Action$Builder;" since="29" />
+		<method name="setSemanticAction(I)Landroid/app/Notification$Action$Builder;" since="28" />
+	</class>
+	<class name="android/app/Notification$Action$Extender" since="20">
+		<extends name="java/lang/Object" />
+		<method name="extend(Landroid/app/Notification$Action$Builder;)Landroid/app/Notification$Action$Builder;" />
+	</class>
+	<class name="android/app/Notification$Action$WearableExtender" since="20">
+		<extends name="java/lang/Object" />
+		<implements name="android/app/Notification$Action$Extender" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/app/Notification$Action;)V" />
+		<method name="clone()Landroid/app/Notification$Action$WearableExtender;" />
+		<method name="getCancelLabel()Ljava/lang/CharSequence;" since="22" deprecated="28" />
+		<method name="getConfirmLabel()Ljava/lang/CharSequence;" since="22" deprecated="28" />
+		<method name="getHintDisplayActionInline()Z" since="25" />
+		<method name="getHintLaunchesActivity()Z" since="24" />
+		<method name="getInProgressLabel()Ljava/lang/CharSequence;" since="22" deprecated="28" />
+		<method name="isAvailableOffline()Z" />
+		<method name="setAvailableOffline(Z)Landroid/app/Notification$Action$WearableExtender;" />
+		<method name="setCancelLabel(Ljava/lang/CharSequence;)Landroid/app/Notification$Action$WearableExtender;" since="22" deprecated="28" />
+		<method name="setConfirmLabel(Ljava/lang/CharSequence;)Landroid/app/Notification$Action$WearableExtender;" since="22" deprecated="28" />
+		<method name="setHintDisplayActionInline(Z)Landroid/app/Notification$Action$WearableExtender;" since="25" />
+		<method name="setHintLaunchesActivity(Z)Landroid/app/Notification$Action$WearableExtender;" since="24" />
+		<method name="setInProgressLabel(Ljava/lang/CharSequence;)Landroid/app/Notification$Action$WearableExtender;" since="22" deprecated="28" />
+	</class>
+	<class name="android/app/Notification$BigPictureStyle" since="16">
+		<extends name="android/app/Notification$Style" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/app/Notification$Builder;)V" deprecated="24" />
+		<method name="bigLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;" />
+		<method name="bigLargeIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$BigPictureStyle;" since="23" />
+		<method name="bigPicture(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;" />
+		<method name="bigPicture(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$BigPictureStyle;" since="31" />
+		<method name="setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;" />
+		<method name="setContentDescription(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;" since="31" />
+		<method name="setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;" />
+		<method name="showBigPictureWhenCollapsed(Z)Landroid/app/Notification$BigPictureStyle;" since="31" />
+	</class>
+	<class name="android/app/Notification$BigTextStyle" since="16">
+		<extends name="android/app/Notification$Style" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/app/Notification$Builder;)V" deprecated="24" />
+		<method name="bigText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;" />
+		<method name="setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;" />
+		<method name="setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;" />
+	</class>
+	<class name="android/app/Notification$BubbleMetadata" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAutoExpandBubble()Z" />
+		<method name="getDeleteIntent()Landroid/app/PendingIntent;" />
+		<method name="getDesiredHeight()I" />
+		<method name="getDesiredHeightResId()I" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getIntent()Landroid/app/PendingIntent;" />
+		<method name="getShortcutId()Ljava/lang/String;" since="30" />
+		<method name="isBubbleSuppressable()Z" since="31" />
+		<method name="isBubbleSuppressed()Z" since="31" />
+		<method name="isNotificationSuppressed()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/Notification$BubbleMetadata$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="&lt;init&gt;(Landroid/app/PendingIntent;Landroid/graphics/drawable/Icon;)V" since="30" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" since="30" />
+		<method name="build()Landroid/app/Notification$BubbleMetadata;" />
+		<method name="setAutoExpandBubble(Z)Landroid/app/Notification$BubbleMetadata$Builder;" />
+		<method name="setDeleteIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$BubbleMetadata$Builder;" />
+		<method name="setDesiredHeight(I)Landroid/app/Notification$BubbleMetadata$Builder;" />
+		<method name="setDesiredHeightResId(I)Landroid/app/Notification$BubbleMetadata$Builder;" />
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$BubbleMetadata$Builder;" />
+		<method name="setIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$BubbleMetadata$Builder;" />
+		<method name="setSuppressNotification(Z)Landroid/app/Notification$BubbleMetadata$Builder;" />
+		<method name="setSuppressableBubble(Z)Landroid/app/Notification$BubbleMetadata$Builder;" since="31" />
+	</class>
+	<class name="android/app/Notification$Builder" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="26" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;)V" since="26" />
+		<method name="addAction(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;" since="16" deprecated="23" />
+		<method name="addAction(Landroid/app/Notification$Action;)Landroid/app/Notification$Builder;" since="20" />
+		<method name="addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Builder;" since="20" />
+		<method name="addPerson(Landroid/app/Person;)Landroid/app/Notification$Builder;" since="28" />
+		<method name="addPerson(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="21" deprecated="28" />
+		<method name="build()Landroid/app/Notification;" since="16" />
+		<method name="createBigContentView()Landroid/widget/RemoteViews;" since="24" />
+		<method name="createContentView()Landroid/widget/RemoteViews;" since="24" />
+		<method name="createHeadsUpContentView()Landroid/widget/RemoteViews;" since="24" />
+		<method name="extend(Landroid/app/Notification$Extender;)Landroid/app/Notification$Builder;" since="20" />
+		<method name="getExtras()Landroid/os/Bundle;" since="20" />
+		<method name="getNotification()Landroid/app/Notification;" deprecated="16" />
+		<method name="getStyle()Landroid/app/Notification$Style;" since="28" />
+		<method name="recoverBuilder(Landroid/content/Context;Landroid/app/Notification;)Landroid/app/Notification$Builder;" since="24" />
+		<method name="setActions([Landroid/app/Notification$Action;)Landroid/app/Notification$Builder;" since="24" />
+		<method name="setAllowSystemGeneratedContextualActions(Z)Landroid/app/Notification$Builder;" since="29" />
+		<method name="setAutoCancel(Z)Landroid/app/Notification$Builder;" />
+		<method name="setBadgeIconType(I)Landroid/app/Notification$Builder;" since="26" />
+		<method name="setBubbleMetadata(Landroid/app/Notification$BubbleMetadata;)Landroid/app/Notification$Builder;" since="29" />
+		<method name="setCategory(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="21" />
+		<method name="setChannelId(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="26" />
+		<method name="setChronometerCountDown(Z)Landroid/app/Notification$Builder;" since="24" />
+		<method name="setColor(I)Landroid/app/Notification$Builder;" since="21" />
+		<method name="setColorized(Z)Landroid/app/Notification$Builder;" since="26" />
+		<method name="setContent(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;" deprecated="24" />
+		<method name="setContentInfo(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" deprecated="24" />
+		<method name="setContentIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;" />
+		<method name="setContentText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" />
+		<method name="setContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" />
+		<method name="setCustomBigContentView(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;" since="24" />
+		<method name="setCustomContentView(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;" since="24" />
+		<method name="setCustomHeadsUpContentView(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;" since="24" />
+		<method name="setDefaults(I)Landroid/app/Notification$Builder;" deprecated="26" />
+		<method name="setDeleteIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/app/Notification$Builder;" since="19" />
+		<method name="setFlag(IZ)Landroid/app/Notification$Builder;" since="30" />
+		<method name="setForegroundServiceBehavior(I)Landroid/app/Notification$Builder;" since="31" />
+		<method name="setFullScreenIntent(Landroid/app/PendingIntent;Z)Landroid/app/Notification$Builder;" />
+		<method name="setGroup(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="20" />
+		<method name="setGroupAlertBehavior(I)Landroid/app/Notification$Builder;" since="26" />
+		<method name="setGroupSummary(Z)Landroid/app/Notification$Builder;" since="20" />
+		<method name="setLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$Builder;" />
+		<method name="setLargeIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$Builder;" since="23" />
+		<method name="setLights(III)Landroid/app/Notification$Builder;" deprecated="26" />
+		<method name="setLocalOnly(Z)Landroid/app/Notification$Builder;" since="20" />
+		<method name="setLocusId(Landroid/content/LocusId;)Landroid/app/Notification$Builder;" since="29" />
+		<method name="setNumber(I)Landroid/app/Notification$Builder;" deprecated="24" />
+		<method name="setOngoing(Z)Landroid/app/Notification$Builder;" />
+		<method name="setOnlyAlertOnce(Z)Landroid/app/Notification$Builder;" />
+		<method name="setPriority(I)Landroid/app/Notification$Builder;" since="16" deprecated="26" />
+		<method name="setProgress(IIZ)Landroid/app/Notification$Builder;" since="14" />
+		<method name="setPublicVersion(Landroid/app/Notification;)Landroid/app/Notification$Builder;" since="21" />
+		<method name="setRemoteInputHistory([Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" since="24" />
+		<method name="setSettingsText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" since="26" />
+		<method name="setShortcutId(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="26" />
+		<method name="setShowWhen(Z)Landroid/app/Notification$Builder;" since="17" />
+		<method name="setSmallIcon(I)Landroid/app/Notification$Builder;" />
+		<method name="setSmallIcon(II)Landroid/app/Notification$Builder;" />
+		<method name="setSmallIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$Builder;" since="23" />
+		<method name="setSortKey(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="20" />
+		<method name="setSound(Landroid/net/Uri;)Landroid/app/Notification$Builder;" deprecated="26" />
+		<method name="setSound(Landroid/net/Uri;I)Landroid/app/Notification$Builder;" deprecated="21" />
+		<method name="setSound(Landroid/net/Uri;Landroid/media/AudioAttributes;)Landroid/app/Notification$Builder;" since="21" deprecated="26" />
+		<method name="setStyle(Landroid/app/Notification$Style;)Landroid/app/Notification$Builder;" since="16" />
+		<method name="setSubText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" since="16" />
+		<method name="setTicker(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" />
+		<method name="setTicker(Ljava/lang/CharSequence;Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;" deprecated="21" />
+		<method name="setTimeoutAfter(J)Landroid/app/Notification$Builder;" since="26" />
+		<method name="setUsesChronometer(Z)Landroid/app/Notification$Builder;" since="16" />
+		<method name="setVibrate([J)Landroid/app/Notification$Builder;" deprecated="26" />
+		<method name="setVisibility(I)Landroid/app/Notification$Builder;" since="21" />
+		<method name="setWhen(J)Landroid/app/Notification$Builder;" />
+	</class>
+	<class name="android/app/Notification$CallStyle" since="31">
+		<extends name="android/app/Notification$Style" />
+		<method name="forIncomingCall(Landroid/app/Person;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)Landroid/app/Notification$CallStyle;" />
+		<method name="forOngoingCall(Landroid/app/Person;Landroid/app/PendingIntent;)Landroid/app/Notification$CallStyle;" />
+		<method name="forScreeningCall(Landroid/app/Person;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)Landroid/app/Notification$CallStyle;" />
+		<method name="setAnswerButtonColorHint(I)Landroid/app/Notification$CallStyle;" />
+		<method name="setDeclineButtonColorHint(I)Landroid/app/Notification$CallStyle;" />
+		<method name="setIsVideo(Z)Landroid/app/Notification$CallStyle;" />
+		<method name="setVerificationIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$CallStyle;" />
+		<method name="setVerificationText(Ljava/lang/CharSequence;)Landroid/app/Notification$CallStyle;" />
+	</class>
+	<class name="android/app/Notification$CarExtender" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/app/Notification$Extender" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/app/Notification;)V" />
+		<method name="getColor()I" />
+		<method name="getLargeIcon()Landroid/graphics/Bitmap;" />
+		<method name="getUnreadConversation()Landroid/app/Notification$CarExtender$UnreadConversation;" />
+		<method name="setColor(I)Landroid/app/Notification$CarExtender;" />
+		<method name="setLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$CarExtender;" />
+		<method name="setUnreadConversation(Landroid/app/Notification$CarExtender$UnreadConversation;)Landroid/app/Notification$CarExtender;" />
+	</class>
+	<class name="android/app/Notification$CarExtender$Builder" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="addMessage(Ljava/lang/String;)Landroid/app/Notification$CarExtender$Builder;" />
+		<method name="build()Landroid/app/Notification$CarExtender$UnreadConversation;" />
+		<method name="setLatestTimestamp(J)Landroid/app/Notification$CarExtender$Builder;" />
+		<method name="setReadPendingIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$CarExtender$Builder;" />
+		<method name="setReplyAction(Landroid/app/PendingIntent;Landroid/app/RemoteInput;)Landroid/app/Notification$CarExtender$Builder;" />
+	</class>
+	<class name="android/app/Notification$CarExtender$UnreadConversation" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getLatestTimestamp()J" />
+		<method name="getMessages()[Ljava/lang/String;" />
+		<method name="getParticipant()Ljava/lang/String;" />
+		<method name="getParticipants()[Ljava/lang/String;" />
+		<method name="getReadPendingIntent()Landroid/app/PendingIntent;" />
+		<method name="getRemoteInput()Landroid/app/RemoteInput;" />
+		<method name="getReplyPendingIntent()Landroid/app/PendingIntent;" />
+	</class>
+	<class name="android/app/Notification$DecoratedCustomViewStyle" since="24">
+		<extends name="android/app/Notification$Style" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/app/Notification$DecoratedMediaCustomViewStyle" since="24">
+		<extends name="android/app/Notification$MediaStyle" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/app/Notification$Extender" since="20">
+		<extends name="java/lang/Object" />
+		<method name="extend(Landroid/app/Notification$Builder;)Landroid/app/Notification$Builder;" />
+	</class>
+	<class name="android/app/Notification$InboxStyle" since="16">
+		<extends name="android/app/Notification$Style" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/app/Notification$Builder;)V" deprecated="24" />
+		<method name="addLine(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;" />
+		<method name="setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;" />
+		<method name="setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;" />
+	</class>
+	<class name="android/app/Notification$MediaStyle" since="21">
+		<extends name="android/app/Notification$Style" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/app/Notification$Builder;)V" deprecated="24" />
+		<method name="setMediaSession(Landroid/media/session/MediaSession$Token;)Landroid/app/Notification$MediaStyle;" />
+		<method name="setShowActionsInCompactView([I)Landroid/app/Notification$MediaStyle;" />
+	</class>
+	<class name="android/app/Notification$MessagingStyle" since="24">
+		<extends name="android/app/Notification$Style" />
+		<method name="&lt;init&gt;(Landroid/app/Person;)V" since="28" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" deprecated="28" />
+		<method name="addHistoricMessage(Landroid/app/Notification$MessagingStyle$Message;)Landroid/app/Notification$MessagingStyle;" since="26" />
+		<method name="addMessage(Landroid/app/Notification$MessagingStyle$Message;)Landroid/app/Notification$MessagingStyle;" />
+		<method name="addMessage(Ljava/lang/CharSequence;JLandroid/app/Person;)Landroid/app/Notification$MessagingStyle;" since="28" />
+		<method name="addMessage(Ljava/lang/CharSequence;JLjava/lang/CharSequence;)Landroid/app/Notification$MessagingStyle;" deprecated="28" />
+		<method name="getConversationTitle()Ljava/lang/CharSequence;" />
+		<method name="getHistoricMessages()Ljava/util/List;" since="26" />
+		<method name="getMessages()Ljava/util/List;" />
+		<method name="getUser()Landroid/app/Person;" since="28" />
+		<method name="getUserDisplayName()Ljava/lang/CharSequence;" deprecated="28" />
+		<method name="isGroupConversation()Z" since="28" />
+		<method name="setConversationTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$MessagingStyle;" />
+		<method name="setGroupConversation(Z)Landroid/app/Notification$MessagingStyle;" since="28" />
+		<field name="MAXIMUM_RETAINED_MESSAGES" />
+	</class>
+	<class name="android/app/Notification$MessagingStyle$Message" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;JLandroid/app/Person;)V" since="28" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;JLjava/lang/CharSequence;)V" deprecated="28" />
+		<method name="getDataMimeType()Ljava/lang/String;" />
+		<method name="getDataUri()Landroid/net/Uri;" />
+		<method name="getExtras()Landroid/os/Bundle;" since="26" />
+		<method name="getMessagesFromBundleArray([Landroid/os/Parcelable;)Ljava/util/List;" since="30" />
+		<method name="getSender()Ljava/lang/CharSequence;" deprecated="28" />
+		<method name="getSenderPerson()Landroid/app/Person;" since="28" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<method name="getTimestamp()J" />
+		<method name="setData(Ljava/lang/String;Landroid/net/Uri;)Landroid/app/Notification$MessagingStyle$Message;" />
+	</class>
+	<class name="android/app/Notification$Style" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/app/Notification;" />
+		<method name="checkBuilder()V" />
+		<method name="getStandardView(I)Landroid/widget/RemoteViews;" />
+		<method name="internalSetBigContentTitle(Ljava/lang/CharSequence;)V" />
+		<method name="internalSetSummaryText(Ljava/lang/CharSequence;)V" />
+		<method name="setBuilder(Landroid/app/Notification$Builder;)V" />
+		<field name="mBuilder" />
+	</class>
+	<class name="android/app/Notification$WearableExtender" since="20">
+		<extends name="java/lang/Object" />
+		<implements name="android/app/Notification$Extender" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/app/Notification;)V" />
+		<method name="addAction(Landroid/app/Notification$Action;)Landroid/app/Notification$WearableExtender;" />
+		<method name="addActions(Ljava/util/List;)Landroid/app/Notification$WearableExtender;" />
+		<method name="addPage(Landroid/app/Notification;)Landroid/app/Notification$WearableExtender;" deprecated="29" />
+		<method name="addPages(Ljava/util/List;)Landroid/app/Notification$WearableExtender;" deprecated="29" />
+		<method name="clearActions()Landroid/app/Notification$WearableExtender;" />
+		<method name="clearPages()Landroid/app/Notification$WearableExtender;" deprecated="29" />
+		<method name="clone()Landroid/app/Notification$WearableExtender;" />
+		<method name="getActions()Ljava/util/List;" />
+		<method name="getBackground()Landroid/graphics/Bitmap;" deprecated="29" />
+		<method name="getBridgeTag()Ljava/lang/String;" since="26" />
+		<method name="getContentAction()I" />
+		<method name="getContentIcon()I" deprecated="28" />
+		<method name="getContentIconGravity()I" deprecated="28" />
+		<method name="getContentIntentAvailableOffline()Z" />
+		<method name="getCustomContentHeight()I" deprecated="28" />
+		<method name="getCustomSizePreset()I" deprecated="28" />
+		<method name="getDismissalId()Ljava/lang/String;" since="24" />
+		<method name="getDisplayIntent()Landroid/app/PendingIntent;" deprecated="29" />
+		<method name="getGravity()I" deprecated="28" />
+		<method name="getHintAmbientBigPicture()Z" since="24" deprecated="29" />
+		<method name="getHintAvoidBackgroundClipping()Z" since="22" deprecated="28" />
+		<method name="getHintContentIntentLaunchesActivity()Z" since="24" />
+		<method name="getHintHideIcon()Z" deprecated="28" />
+		<method name="getHintScreenTimeout()I" since="22" deprecated="28" />
+		<method name="getHintShowBackgroundOnly()Z" deprecated="28" />
+		<method name="getPages()Ljava/util/List;" deprecated="29" />
+		<method name="getStartScrollBottom()Z" />
+		<method name="setBackground(Landroid/graphics/Bitmap;)Landroid/app/Notification$WearableExtender;" deprecated="29" />
+		<method name="setBridgeTag(Ljava/lang/String;)Landroid/app/Notification$WearableExtender;" since="26" />
+		<method name="setContentAction(I)Landroid/app/Notification$WearableExtender;" />
+		<method name="setContentIcon(I)Landroid/app/Notification$WearableExtender;" deprecated="28" />
+		<method name="setContentIconGravity(I)Landroid/app/Notification$WearableExtender;" deprecated="28" />
+		<method name="setContentIntentAvailableOffline(Z)Landroid/app/Notification$WearableExtender;" />
+		<method name="setCustomContentHeight(I)Landroid/app/Notification$WearableExtender;" deprecated="28" />
+		<method name="setCustomSizePreset(I)Landroid/app/Notification$WearableExtender;" deprecated="28" />
+		<method name="setDismissalId(Ljava/lang/String;)Landroid/app/Notification$WearableExtender;" since="24" />
+		<method name="setDisplayIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$WearableExtender;" deprecated="29" />
+		<method name="setGravity(I)Landroid/app/Notification$WearableExtender;" deprecated="28" />
+		<method name="setHintAmbientBigPicture(Z)Landroid/app/Notification$WearableExtender;" since="24" deprecated="29" />
+		<method name="setHintAvoidBackgroundClipping(Z)Landroid/app/Notification$WearableExtender;" since="22" deprecated="28" />
+		<method name="setHintContentIntentLaunchesActivity(Z)Landroid/app/Notification$WearableExtender;" since="24" />
+		<method name="setHintHideIcon(Z)Landroid/app/Notification$WearableExtender;" deprecated="28" />
+		<method name="setHintScreenTimeout(I)Landroid/app/Notification$WearableExtender;" since="22" deprecated="28" />
+		<method name="setHintShowBackgroundOnly(Z)Landroid/app/Notification$WearableExtender;" deprecated="28" />
+		<method name="setStartScrollBottom(Z)Landroid/app/Notification$WearableExtender;" />
+		<field name="SCREEN_TIMEOUT_LONG" since="22" deprecated="29" />
+		<field name="SCREEN_TIMEOUT_SHORT" since="22" deprecated="29" />
+		<field name="SIZE_DEFAULT" deprecated="29" />
+		<field name="SIZE_FULL_SCREEN" deprecated="29" />
+		<field name="SIZE_LARGE" deprecated="29" />
+		<field name="SIZE_MEDIUM" deprecated="29" />
+		<field name="SIZE_SMALL" deprecated="29" />
+		<field name="SIZE_XSMALL" deprecated="29" />
+		<field name="UNSET_ACTION_INDEX" />
+	</class>
+	<class name="android/app/NotificationChannel" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/CharSequence;I)V" />
+		<method name="canBubble()Z" since="29" />
+		<method name="canBypassDnd()Z" />
+		<method name="canShowBadge()Z" />
+		<method name="enableLights(Z)V" />
+		<method name="enableVibration(Z)V" />
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;" />
+		<method name="getConversationId()Ljava/lang/String;" since="30" />
+		<method name="getDescription()Ljava/lang/String;" />
+		<method name="getGroup()Ljava/lang/String;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getImportance()I" />
+		<method name="getLightColor()I" />
+		<method name="getLockscreenVisibility()I" />
+		<method name="getName()Ljava/lang/CharSequence;" />
+		<method name="getParentChannelId()Ljava/lang/String;" since="30" />
+		<method name="getSound()Landroid/net/Uri;" />
+		<method name="getVibrationPattern()[J" />
+		<method name="hasUserSetImportance()Z" since="29" />
+		<method name="hasUserSetSound()Z" since="30" />
+		<method name="isConversation()Z" since="31" />
+		<method name="isDemoted()Z" since="31" />
+		<method name="isImportantConversation()Z" since="30" />
+		<method name="setAllowBubbles(Z)V" since="29" />
+		<method name="setBypassDnd(Z)V" />
+		<method name="setConversationId(Ljava/lang/String;Ljava/lang/String;)V" since="30" />
+		<method name="setDescription(Ljava/lang/String;)V" />
+		<method name="setGroup(Ljava/lang/String;)V" />
+		<method name="setImportance(I)V" />
+		<method name="setLightColor(I)V" />
+		<method name="setLockscreenVisibility(I)V" />
+		<method name="setName(Ljava/lang/CharSequence;)V" />
+		<method name="setShowBadge(Z)V" />
+		<method name="setSound(Landroid/net/Uri;Landroid/media/AudioAttributes;)V" />
+		<method name="setVibrationPattern([J)V" />
+		<method name="shouldShowLights()Z" />
+		<method name="shouldVibrate()Z" />
+		<field name="CREATOR" />
+		<field name="DEFAULT_CHANNEL_ID" />
+		<field name="EDIT_CONVERSATION" since="31" />
+		<field name="EDIT_IMPORTANCE" since="31" />
+		<field name="EDIT_LAUNCHER" since="31" />
+		<field name="EDIT_LOCKED_DEVICE" since="31" />
+		<field name="EDIT_SOUND" since="31" />
+		<field name="EDIT_VIBRATION" since="31" />
+		<field name="EDIT_ZEN" since="31" />
+	</class>
+	<class name="android/app/NotificationChannelGroup" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/CharSequence;)V" />
+		<method name="clone()Landroid/app/NotificationChannelGroup;" />
+		<method name="getChannels()Ljava/util/List;" />
+		<method name="getDescription()Ljava/lang/String;" since="28" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/CharSequence;" />
+		<method name="isBlocked()Z" since="28" />
+		<method name="setDescription(Ljava/lang/String;)V" since="28" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/NotificationManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addAutomaticZenRule(Landroid/app/AutomaticZenRule;)Ljava/lang/String;" since="24" />
+		<method name="areBubblesAllowed()Z" since="29" deprecated="31" />
+		<method name="areBubblesEnabled()Z" since="31" />
+		<method name="areNotificationsEnabled()Z" since="24" />
+		<method name="areNotificationsPaused()Z" since="29" />
+		<method name="canNotifyAsPackage(Ljava/lang/String;)Z" since="29" />
+		<method name="cancel(I)V" />
+		<method name="cancel(Ljava/lang/String;I)V" since="5" />
+		<method name="cancelAll()V" />
+		<method name="cancelAsPackage(Ljava/lang/String;Ljava/lang/String;I)V" since="30" />
+		<method name="createNotificationChannel(Landroid/app/NotificationChannel;)V" since="26" />
+		<method name="createNotificationChannelGroup(Landroid/app/NotificationChannelGroup;)V" since="26" />
+		<method name="createNotificationChannelGroups(Ljava/util/List;)V" since="26" />
+		<method name="createNotificationChannels(Ljava/util/List;)V" since="26" />
+		<method name="deleteNotificationChannel(Ljava/lang/String;)V" since="26" />
+		<method name="deleteNotificationChannelGroup(Ljava/lang/String;)V" since="26" />
+		<method name="getActiveNotifications()[Landroid/service/notification/StatusBarNotification;" since="23" />
+		<method name="getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;" since="24" />
+		<method name="getAutomaticZenRules()Ljava/util/Map;" since="24" />
+		<method name="getBubblePreference()I" since="31" />
+		<method name="getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;" since="30" />
+		<method name="getCurrentInterruptionFilter()I" since="23" />
+		<method name="getImportance()I" since="24" />
+		<method name="getNotificationChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;" since="26" />
+		<method name="getNotificationChannel(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;" since="30" />
+		<method name="getNotificationChannelGroup(Ljava/lang/String;)Landroid/app/NotificationChannelGroup;" since="28" />
+		<method name="getNotificationChannelGroups()Ljava/util/List;" since="26" />
+		<method name="getNotificationChannels()Ljava/util/List;" since="26" />
+		<method name="getNotificationDelegate()Ljava/lang/String;" since="29" />
+		<method name="getNotificationPolicy()Landroid/app/NotificationManager$Policy;" since="23" />
+		<method name="isNotificationListenerAccessGranted(Landroid/content/ComponentName;)Z" since="27" />
+		<method name="isNotificationPolicyAccessGranted()Z" since="23" />
+		<method name="notify(ILandroid/app/Notification;)V" />
+		<method name="notify(Ljava/lang/String;ILandroid/app/Notification;)V" since="5" />
+		<method name="notifyAsPackage(Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;)V" since="29" />
+		<method name="removeAutomaticZenRule(Ljava/lang/String;)Z" since="24" />
+		<method name="setAutomaticZenRuleState(Ljava/lang/String;Landroid/service/notification/Condition;)V" since="29" />
+		<method name="setInterruptionFilter(I)V" since="23" />
+		<method name="setNotificationDelegate(Ljava/lang/String;)V" since="29" />
+		<method name="setNotificationPolicy(Landroid/app/NotificationManager$Policy;)V" since="23" />
+		<method name="shouldHideSilentStatusBarIcons()Z" since="29" />
+		<method name="updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z" since="24" />
+		<field name="ACTION_APP_BLOCK_STATE_CHANGED" since="28" />
+		<field name="ACTION_AUTOMATIC_ZEN_RULE" since="29" />
+		<field name="ACTION_AUTOMATIC_ZEN_RULE_STATUS_CHANGED" since="30" />
+		<field name="ACTION_INTERRUPTION_FILTER_CHANGED" since="23" />
+		<field name="ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" since="28" />
+		<field name="ACTION_NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED" since="28" />
+		<field name="ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" since="23" />
+		<field name="ACTION_NOTIFICATION_POLICY_CHANGED" since="23" />
+		<field name="AUTOMATIC_RULE_STATUS_DISABLED" since="30" />
+		<field name="AUTOMATIC_RULE_STATUS_ENABLED" since="30" />
+		<field name="AUTOMATIC_RULE_STATUS_REMOVED" since="30" />
+		<field name="AUTOMATIC_RULE_STATUS_UNKNOWN" since="30" />
+		<field name="BUBBLE_PREFERENCE_ALL" since="31" />
+		<field name="BUBBLE_PREFERENCE_NONE" since="31" />
+		<field name="BUBBLE_PREFERENCE_SELECTED" since="31" />
+		<field name="EXTRA_AUTOMATIC_RULE_ID" since="29" />
+		<field name="EXTRA_AUTOMATIC_ZEN_RULE_ID" since="30" />
+		<field name="EXTRA_AUTOMATIC_ZEN_RULE_STATUS" since="30" />
+		<field name="EXTRA_BLOCKED_STATE" since="28" />
+		<field name="EXTRA_NOTIFICATION_CHANNEL_GROUP_ID" since="28" />
+		<field name="EXTRA_NOTIFICATION_CHANNEL_ID" since="28" />
+		<field name="IMPORTANCE_DEFAULT" since="24" />
+		<field name="IMPORTANCE_HIGH" since="24" />
+		<field name="IMPORTANCE_LOW" since="24" />
+		<field name="IMPORTANCE_MAX" since="24" />
+		<field name="IMPORTANCE_MIN" since="24" />
+		<field name="IMPORTANCE_NONE" since="24" />
+		<field name="IMPORTANCE_UNSPECIFIED" since="24" />
+		<field name="INTERRUPTION_FILTER_ALARMS" since="23" />
+		<field name="INTERRUPTION_FILTER_ALL" since="23" />
+		<field name="INTERRUPTION_FILTER_NONE" since="23" />
+		<field name="INTERRUPTION_FILTER_PRIORITY" since="23" />
+		<field name="INTERRUPTION_FILTER_UNKNOWN" since="23" />
+		<field name="META_DATA_AUTOMATIC_RULE_TYPE" since="29" />
+		<field name="META_DATA_RULE_INSTANCE_LIMIT" since="29" />
+	</class>
+	<class name="android/app/NotificationManager$Policy" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="&lt;init&gt;(IIII)V" since="24" />
+		<method name="&lt;init&gt;(IIIII)V" since="30" />
+		<method name="priorityCategoriesToString(I)Ljava/lang/String;" />
+		<method name="prioritySendersToString(I)Ljava/lang/String;" />
+		<method name="suppressedEffectsToString(I)Ljava/lang/String;" since="24" />
+		<field name="CONVERSATION_SENDERS_ANYONE" since="30" />
+		<field name="CONVERSATION_SENDERS_IMPORTANT" since="30" />
+		<field name="CONVERSATION_SENDERS_NONE" since="30" />
+		<field name="CREATOR" />
+		<field name="PRIORITY_CATEGORY_ALARMS" since="28" />
+		<field name="PRIORITY_CATEGORY_CALLS" />
+		<field name="PRIORITY_CATEGORY_CONVERSATIONS" since="30" />
+		<field name="PRIORITY_CATEGORY_EVENTS" />
+		<field name="PRIORITY_CATEGORY_MEDIA" since="28" />
+		<field name="PRIORITY_CATEGORY_MESSAGES" />
+		<field name="PRIORITY_CATEGORY_REMINDERS" />
+		<field name="PRIORITY_CATEGORY_REPEAT_CALLERS" />
+		<field name="PRIORITY_CATEGORY_SYSTEM" since="28" />
+		<field name="PRIORITY_SENDERS_ANY" />
+		<field name="PRIORITY_SENDERS_CONTACTS" />
+		<field name="PRIORITY_SENDERS_STARRED" />
+		<field name="SUPPRESSED_EFFECT_AMBIENT" since="28" />
+		<field name="SUPPRESSED_EFFECT_BADGE" since="28" />
+		<field name="SUPPRESSED_EFFECT_FULL_SCREEN_INTENT" since="28" />
+		<field name="SUPPRESSED_EFFECT_LIGHTS" since="28" />
+		<field name="SUPPRESSED_EFFECT_NOTIFICATION_LIST" since="28" />
+		<field name="SUPPRESSED_EFFECT_PEEK" since="28" />
+		<field name="SUPPRESSED_EFFECT_SCREEN_OFF" since="24" deprecated="28" />
+		<field name="SUPPRESSED_EFFECT_SCREEN_ON" since="24" deprecated="28" />
+		<field name="SUPPRESSED_EFFECT_STATUS_BAR" since="28" />
+		<field name="priorityCallSenders" />
+		<field name="priorityCategories" />
+		<field name="priorityConversationSenders" since="30" />
+		<field name="priorityMessageSenders" />
+		<field name="suppressedVisualEffects" since="24" />
+	</class>
+	<class name="android/app/PendingIntent" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="cancel()V" />
+		<method name="getActivities(Landroid/content/Context;I[Landroid/content/Intent;I)Landroid/app/PendingIntent;" since="11" />
+		<method name="getActivities(Landroid/content/Context;I[Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent;" since="16" />
+		<method name="getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;" />
+		<method name="getActivity(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent;" since="16" />
+		<method name="getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;" />
+		<method name="getCreatorPackage()Ljava/lang/String;" since="17" />
+		<method name="getCreatorUid()I" since="17" />
+		<method name="getCreatorUserHandle()Landroid/os/UserHandle;" since="17" />
+		<method name="getForegroundService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;" since="26" />
+		<method name="getIntentSender()Landroid/content/IntentSender;" since="4" />
+		<method name="getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;" />
+		<method name="getTargetPackage()Ljava/lang/String;" deprecated="17" />
+		<method name="isActivity()Z" since="31" />
+		<method name="isBroadcast()Z" since="31" />
+		<method name="isForegroundService()Z" since="31" />
+		<method name="isImmutable()Z" since="31" />
+		<method name="isService()Z" since="31" />
+		<method name="readPendingIntentOrNullFromParcel(Landroid/os/Parcel;)Landroid/app/PendingIntent;" />
+		<method name="send()V" />
+		<method name="send(I)V" />
+		<method name="send(ILandroid/app/PendingIntent$OnFinished;Landroid/os/Handler;)V" />
+		<method name="send(Landroid/content/Context;ILandroid/content/Intent;)V" />
+		<method name="send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;)V" />
+		<method name="send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;)V" since="14" />
+		<method name="send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Bundle;)V" since="23" />
+		<method name="writePendingIntentOrNullToParcel(Landroid/app/PendingIntent;Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+		<field name="FLAG_CANCEL_CURRENT" />
+		<field name="FLAG_IMMUTABLE" since="23" />
+		<field name="FLAG_MUTABLE" since="31" />
+		<field name="FLAG_NO_CREATE" />
+		<field name="FLAG_ONE_SHOT" />
+		<field name="FLAG_UPDATE_CURRENT" since="3" />
+	</class>
+	<class name="android/app/PendingIntent$CanceledException" since="1">
+		<extends name="android/util/AndroidException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/app/PendingIntent$OnFinished" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/app/Person" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getKey()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/CharSequence;" />
+		<method name="getUri()Ljava/lang/String;" />
+		<method name="isBot()Z" />
+		<method name="isImportant()Z" />
+		<method name="toBuilder()Landroid/app/Person$Builder;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/Person$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/app/Person;" />
+		<method name="setBot(Z)Landroid/app/Person$Builder;" />
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Person$Builder;" />
+		<method name="setImportant(Z)Landroid/app/Person$Builder;" />
+		<method name="setKey(Ljava/lang/String;)Landroid/app/Person$Builder;" />
+		<method name="setName(Ljava/lang/CharSequence;)Landroid/app/Person$Builder;" />
+		<method name="setUri(Ljava/lang/String;)Landroid/app/Person$Builder;" />
+	</class>
+	<class name="android/app/PictureInPictureParams" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/PictureInPictureParams$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/app/PictureInPictureParams;" />
+		<method name="setActions(Ljava/util/List;)Landroid/app/PictureInPictureParams$Builder;" />
+		<method name="setAspectRatio(Landroid/util/Rational;)Landroid/app/PictureInPictureParams$Builder;" />
+		<method name="setAutoEnterEnabled(Z)Landroid/app/PictureInPictureParams$Builder;" since="31" />
+		<method name="setSeamlessResizeEnabled(Z)Landroid/app/PictureInPictureParams$Builder;" since="31" />
+		<method name="setSourceRectHint(Landroid/graphics/Rect;)Landroid/app/PictureInPictureParams$Builder;" />
+	</class>
+	<class name="android/app/PictureInPictureUiState" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="isStashed()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/Presentation" since="17">
+		<extends name="android/app/Dialog" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/Display;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/Display;I)V" />
+		<method name="getDisplay()Landroid/view/Display;" />
+		<method name="getResources()Landroid/content/res/Resources;" />
+		<method name="onDisplayChanged()V" />
+		<method name="onDisplayRemoved()V" />
+	</class>
+	<class name="android/app/ProgressDialog" since="1" deprecated="26">
+		<extends name="android/app/AlertDialog" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" deprecated="29" />
+		<method name="getMax()I" deprecated="29" />
+		<method name="getProgress()I" deprecated="29" />
+		<method name="getSecondaryProgress()I" deprecated="29" />
+		<method name="incrementProgressBy(I)V" deprecated="29" />
+		<method name="incrementSecondaryProgressBy(I)V" deprecated="29" />
+		<method name="isIndeterminate()Z" deprecated="29" />
+		<method name="setIndeterminate(Z)V" deprecated="29" />
+		<method name="setIndeterminateDrawable(Landroid/graphics/drawable/Drawable;)V" deprecated="29" />
+		<method name="setMax(I)V" deprecated="29" />
+		<method name="setProgress(I)V" deprecated="29" />
+		<method name="setProgressDrawable(Landroid/graphics/drawable/Drawable;)V" deprecated="29" />
+		<method name="setProgressNumberFormat(Ljava/lang/String;)V" since="11" deprecated="29" />
+		<method name="setProgressPercentFormat(Ljava/text/NumberFormat;)V" since="11" deprecated="29" />
+		<method name="setProgressStyle(I)V" deprecated="29" />
+		<method name="setSecondaryProgress(I)V" deprecated="29" />
+		<method name="show(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/app/ProgressDialog;" deprecated="29" />
+		<method name="show(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Landroid/app/ProgressDialog;" deprecated="29" />
+		<method name="show(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZZ)Landroid/app/ProgressDialog;" deprecated="29" />
+		<method name="show(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZZLandroid/content/DialogInterface$OnCancelListener;)Landroid/app/ProgressDialog;" deprecated="29" />
+		<field name="STYLE_HORIZONTAL" deprecated="29" />
+		<field name="STYLE_SPINNER" deprecated="29" />
+	</class>
+	<class name="android/app/RecoverableSecurityException" since="29">
+		<extends name="java/lang/SecurityException" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;Ljava/lang/CharSequence;Landroid/app/RemoteAction;)V" />
+		<method name="getUserAction()Landroid/app/RemoteAction;" />
+		<method name="getUserMessage()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/RemoteAction" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V" />
+		<method name="clone()Landroid/app/RemoteAction;" />
+		<method name="dump(Ljava/lang/String;Ljava/io/PrintWriter;)V" />
+		<method name="getActionIntent()Landroid/app/PendingIntent;" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<method name="isEnabled()Z" />
+		<method name="setEnabled(Z)V" />
+		<method name="setShouldShowIcon(Z)V" since="28" />
+		<method name="shouldShowIcon()Z" since="28" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/RemoteInput" since="20">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="addDataResultToIntent(Landroid/app/RemoteInput;Landroid/content/Intent;Ljava/util/Map;)V" since="26" />
+		<method name="addResultsToIntent([Landroid/app/RemoteInput;Landroid/content/Intent;Landroid/os/Bundle;)V" />
+		<method name="getAllowFreeFormInput()Z" />
+		<method name="getAllowedDataTypes()Ljava/util/Set;" since="26" />
+		<method name="getChoices()[Ljava/lang/CharSequence;" />
+		<method name="getDataResultsFromIntent(Landroid/content/Intent;Ljava/lang/String;)Ljava/util/Map;" since="26" />
+		<method name="getEditChoicesBeforeSending()I" since="29" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<method name="getResultKey()Ljava/lang/String;" />
+		<method name="getResultsFromIntent(Landroid/content/Intent;)Landroid/os/Bundle;" />
+		<method name="getResultsSource(Landroid/content/Intent;)I" since="28" />
+		<method name="isDataOnly()Z" since="26" />
+		<method name="setResultsSource(Landroid/content/Intent;I)V" since="28" />
+		<field name="CREATOR" />
+		<field name="EDIT_CHOICES_BEFORE_SENDING_AUTO" since="29" />
+		<field name="EDIT_CHOICES_BEFORE_SENDING_DISABLED" since="29" />
+		<field name="EDIT_CHOICES_BEFORE_SENDING_ENABLED" since="29" />
+		<field name="EXTRA_RESULTS_DATA" />
+		<field name="RESULTS_CLIP_LABEL" />
+		<field name="SOURCE_CHOICE" since="28" />
+		<field name="SOURCE_FREE_FORM_INPUT" since="28" />
+	</class>
+	<class name="android/app/RemoteInput$Builder" since="20">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="addExtras(Landroid/os/Bundle;)Landroid/app/RemoteInput$Builder;" />
+		<method name="build()Landroid/app/RemoteInput;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="setAllowDataType(Ljava/lang/String;Z)Landroid/app/RemoteInput$Builder;" since="26" />
+		<method name="setAllowFreeFormInput(Z)Landroid/app/RemoteInput$Builder;" />
+		<method name="setChoices([Ljava/lang/CharSequence;)Landroid/app/RemoteInput$Builder;" />
+		<method name="setEditChoicesBeforeSending(I)Landroid/app/RemoteInput$Builder;" since="29" />
+		<method name="setLabel(Ljava/lang/CharSequence;)Landroid/app/RemoteInput$Builder;" />
+	</class>
+	<class name="android/app/SearchManager" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/content/DialogInterface$OnCancelListener" />
+		<implements name="android/content/DialogInterface$OnDismissListener" />
+		<method name="getGlobalSearchActivity()Landroid/content/ComponentName;" since="16" />
+		<method name="getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;" since="8" />
+		<method name="getSearchablesInGlobalSearch()Ljava/util/List;" since="8" />
+		<method name="setOnCancelListener(Landroid/app/SearchManager$OnCancelListener;)V" />
+		<method name="setOnDismissListener(Landroid/app/SearchManager$OnDismissListener;)V" />
+		<method name="startSearch(Ljava/lang/String;ZLandroid/content/ComponentName;Landroid/os/Bundle;Z)V" />
+		<method name="stopSearch()V" />
+		<method name="triggerSearch(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/Bundle;)V" since="5" />
+		<field name="ACTION_KEY" />
+		<field name="ACTION_MSG" />
+		<field name="APP_DATA" />
+		<field name="CURSOR_EXTRA_KEY_IN_PROGRESS" since="8" />
+		<field name="EXTRA_DATA_KEY" since="4" />
+		<field name="EXTRA_NEW_SEARCH" since="12" />
+		<field name="EXTRA_SELECT_QUERY" since="8" />
+		<field name="EXTRA_WEB_SEARCH_PENDINGINTENT" since="14" />
+		<field name="FLAG_QUERY_REFINEMENT" since="11" />
+		<field name="INTENT_ACTION_GLOBAL_SEARCH" since="8" />
+		<field name="INTENT_ACTION_SEARCHABLES_CHANGED" since="4" />
+		<field name="INTENT_ACTION_SEARCH_SETTINGS" since="8" />
+		<field name="INTENT_ACTION_SEARCH_SETTINGS_CHANGED" since="4" />
+		<field name="INTENT_ACTION_WEB_SEARCH_SETTINGS" since="4" />
+		<field name="INTENT_GLOBAL_SEARCH_ACTIVITY_CHANGED" since="16" />
+		<field name="MENU_KEY" />
+		<field name="MENU_KEYCODE" />
+		<field name="QUERY" />
+		<field name="SHORTCUT_MIME_TYPE" since="4" />
+		<field name="SUGGEST_COLUMN_AUDIO_CHANNEL_CONFIG" since="21" />
+		<field name="SUGGEST_COLUMN_CONTENT_TYPE" since="21" />
+		<field name="SUGGEST_COLUMN_DURATION" since="21" />
+		<field name="SUGGEST_COLUMN_FLAGS" since="11" />
+		<field name="SUGGEST_COLUMN_FORMAT" />
+		<field name="SUGGEST_COLUMN_ICON_1" />
+		<field name="SUGGEST_COLUMN_ICON_2" />
+		<field name="SUGGEST_COLUMN_INTENT_ACTION" />
+		<field name="SUGGEST_COLUMN_INTENT_DATA" />
+		<field name="SUGGEST_COLUMN_INTENT_DATA_ID" />
+		<field name="SUGGEST_COLUMN_INTENT_EXTRA_DATA" since="4" />
+		<field name="SUGGEST_COLUMN_IS_LIVE" since="21" />
+		<field name="SUGGEST_COLUMN_LAST_ACCESS_HINT" since="14" />
+		<field name="SUGGEST_COLUMN_PRODUCTION_YEAR" since="21" />
+		<field name="SUGGEST_COLUMN_PURCHASE_PRICE" since="21" />
+		<field name="SUGGEST_COLUMN_QUERY" />
+		<field name="SUGGEST_COLUMN_RATING_SCORE" since="21" />
+		<field name="SUGGEST_COLUMN_RATING_STYLE" since="21" />
+		<field name="SUGGEST_COLUMN_RENTAL_PRICE" since="21" />
+		<field name="SUGGEST_COLUMN_RESULT_CARD_IMAGE" since="21" />
+		<field name="SUGGEST_COLUMN_SHORTCUT_ID" since="4" />
+		<field name="SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING" since="4" />
+		<field name="SUGGEST_COLUMN_TEXT_1" />
+		<field name="SUGGEST_COLUMN_TEXT_2" />
+		<field name="SUGGEST_COLUMN_TEXT_2_URL" since="8" />
+		<field name="SUGGEST_COLUMN_VIDEO_HEIGHT" since="21" />
+		<field name="SUGGEST_COLUMN_VIDEO_WIDTH" since="21" />
+		<field name="SUGGEST_MIME_TYPE" />
+		<field name="SUGGEST_NEVER_MAKE_SHORTCUT" since="4" />
+		<field name="SUGGEST_PARAMETER_LIMIT" since="5" />
+		<field name="SUGGEST_URI_PATH_QUERY" />
+		<field name="SUGGEST_URI_PATH_SHORTCUT" since="4" />
+		<field name="USER_QUERY" since="4" />
+	</class>
+	<class name="android/app/SearchManager$OnCancelListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onCancel()V" />
+	</class>
+	<class name="android/app/SearchManager$OnDismissListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onDismiss()V" />
+	</class>
+	<class name="android/app/SearchableInfo" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="autoUrlDetect()Z" />
+		<method name="getHintId()I" />
+		<method name="getImeOptions()I" />
+		<method name="getInputType()I" />
+		<method name="getSearchActivity()Landroid/content/ComponentName;" />
+		<method name="getSettingsDescriptionId()I" />
+		<method name="getSuggestAuthority()Ljava/lang/String;" />
+		<method name="getSuggestIntentAction()Ljava/lang/String;" />
+		<method name="getSuggestIntentData()Ljava/lang/String;" />
+		<method name="getSuggestPackage()Ljava/lang/String;" />
+		<method name="getSuggestPath()Ljava/lang/String;" />
+		<method name="getSuggestSelection()Ljava/lang/String;" />
+		<method name="getSuggestThreshold()I" />
+		<method name="getVoiceLanguageId()I" />
+		<method name="getVoiceLanguageModeId()I" />
+		<method name="getVoiceMaxResults()I" />
+		<method name="getVoicePromptTextId()I" />
+		<method name="getVoiceSearchEnabled()Z" />
+		<method name="getVoiceSearchLaunchRecognizer()Z" />
+		<method name="getVoiceSearchLaunchWebSearch()Z" />
+		<method name="queryAfterZeroResults()Z" />
+		<method name="shouldIncludeInGlobalSearch()Z" />
+		<method name="shouldRewriteQueryFromData()Z" />
+		<method name="shouldRewriteQueryFromText()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/Service" since="1">
+		<extends name="android/content/ContextWrapper" />
+		<implements name="android/content/ComponentCallbacks" removed="14" />
+		<implements name="android/content/ComponentCallbacks2" since="14" />
+		<method name="&lt;init&gt;()V" />
+		<method name="dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" />
+		<method name="getApplication()Landroid/app/Application;" />
+		<method name="getForegroundServiceType()I" since="29" />
+		<method name="onBind(Landroid/content/Intent;)Landroid/os/IBinder;" />
+		<method name="onCreate()V" />
+		<method name="onDestroy()V" />
+		<method name="onRebind(Landroid/content/Intent;)V" />
+		<method name="onStart(Landroid/content/Intent;I)V" deprecated="15" />
+		<method name="onStartCommand(Landroid/content/Intent;II)I" since="5" />
+		<method name="onTaskRemoved(Landroid/content/Intent;)V" since="14" />
+		<method name="onUnbind(Landroid/content/Intent;)Z" />
+		<method name="setForeground(Z)V" removed="11" />
+		<method name="startForeground(ILandroid/app/Notification;)V" since="5" />
+		<method name="startForeground(ILandroid/app/Notification;I)V" since="29" />
+		<method name="stopForeground(I)V" since="24" />
+		<method name="stopForeground(Z)V" since="5" />
+		<method name="stopSelf()V" />
+		<method name="stopSelf(I)V" />
+		<method name="stopSelfResult(I)Z" />
+		<field name="START_CONTINUATION_MASK" since="5" />
+		<field name="START_FLAG_REDELIVERY" since="5" />
+		<field name="START_FLAG_RETRY" since="5" />
+		<field name="START_NOT_STICKY" since="5" />
+		<field name="START_REDELIVER_INTENT" since="5" />
+		<field name="START_STICKY" since="5" />
+		<field name="START_STICKY_COMPATIBILITY" since="5" />
+		<field name="STOP_FOREGROUND_DETACH" since="24" />
+		<field name="STOP_FOREGROUND_REMOVE" since="24" />
+	</class>
+	<class name="android/app/ServiceStartNotAllowedException" since="31">
+		<extends name="java/lang/IllegalStateException" />
+	</class>
+	<class name="android/app/SharedElementCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCaptureSharedElementSnapshot(Landroid/view/View;Landroid/graphics/Matrix;Landroid/graphics/RectF;)Landroid/os/Parcelable;" />
+		<method name="onCreateSnapshotView(Landroid/content/Context;Landroid/os/Parcelable;)Landroid/view/View;" />
+		<method name="onMapSharedElements(Ljava/util/List;Ljava/util/Map;)V" />
+		<method name="onRejectSharedElements(Ljava/util/List;)V" />
+		<method name="onSharedElementEnd(Ljava/util/List;Ljava/util/List;Ljava/util/List;)V" />
+		<method name="onSharedElementStart(Ljava/util/List;Ljava/util/List;Ljava/util/List;)V" />
+		<method name="onSharedElementsArrived(Ljava/util/List;Ljava/util/List;Landroid/app/SharedElementCallback$OnSharedElementsReadyListener;)V" since="23" />
+	</class>
+	<class name="android/app/SharedElementCallback$OnSharedElementsReadyListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onSharedElementsReady()V" />
+	</class>
+	<class name="android/app/StatusBarManager" since="29">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/app/SyncNotedAppOp" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" />
+		<method name="getAttributionTag()Ljava/lang/String;" />
+		<method name="getOp()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/TabActivity" since="1" deprecated="13">
+		<extends name="android/app/ActivityGroup" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="getTabHost()Landroid/widget/TabHost;" deprecated="29" />
+		<method name="getTabWidget()Landroid/widget/TabWidget;" deprecated="29" />
+		<method name="setDefaultTab(I)V" deprecated="29" />
+		<method name="setDefaultTab(Ljava/lang/String;)V" deprecated="29" />
+	</class>
+	<class name="android/app/TaskInfo" since="29">
+		<extends name="java/lang/Object" />
+		<method name="isVisible()Z" since="33" />
+		<field name="baseActivity" />
+		<field name="baseIntent" />
+		<field name="isRunning" />
+		<field name="numActivities" />
+		<field name="origActivity" />
+		<field name="taskDescription" />
+		<field name="taskId" />
+		<field name="topActivity" />
+	</class>
+	<class name="android/app/TaskStackBuilder" since="16">
+		<extends name="java/lang/Object" />
+		<method name="addNextIntent(Landroid/content/Intent;)Landroid/app/TaskStackBuilder;" />
+		<method name="addNextIntentWithParentStack(Landroid/content/Intent;)Landroid/app/TaskStackBuilder;" />
+		<method name="addParentStack(Landroid/app/Activity;)Landroid/app/TaskStackBuilder;" />
+		<method name="addParentStack(Landroid/content/ComponentName;)Landroid/app/TaskStackBuilder;" />
+		<method name="addParentStack(Ljava/lang/Class;)Landroid/app/TaskStackBuilder;" />
+		<method name="create(Landroid/content/Context;)Landroid/app/TaskStackBuilder;" />
+		<method name="editIntentAt(I)Landroid/content/Intent;" />
+		<method name="getIntentCount()I" />
+		<method name="getIntents()[Landroid/content/Intent;" />
+		<method name="getPendingIntent(II)Landroid/app/PendingIntent;" />
+		<method name="getPendingIntent(IILandroid/os/Bundle;)Landroid/app/PendingIntent;" />
+		<method name="startActivities()V" />
+		<method name="startActivities(Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/app/TimePickerDialog" since="1">
+		<extends name="android/app/AlertDialog" />
+		<implements name="android/content/DialogInterface$OnClickListener" />
+		<implements name="android/widget/TimePicker$OnTimeChangedListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILandroid/app/TimePickerDialog$OnTimeSetListener;IIZ)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/app/TimePickerDialog$OnTimeSetListener;IIZ)V" />
+		<method name="updateTime(II)V" />
+	</class>
+	<class name="android/app/TimePickerDialog$OnTimeSetListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onTimeSet(Landroid/widget/TimePicker;II)V" />
+	</class>
+	<class name="android/app/UiAutomation" since="18">
+		<extends name="java/lang/Object" />
+		<method name="adoptShellPermissionIdentity()V" since="29" />
+		<method name="adoptShellPermissionIdentity([Ljava/lang/String;)V" since="29" />
+		<method name="clearWindowAnimationFrameStats()V" since="21" />
+		<method name="clearWindowContentFrameStats(I)Z" since="21" />
+		<method name="dropShellPermissionIdentity()V" since="29" />
+		<method name="executeAndWaitForEvent(Ljava/lang/Runnable;Landroid/app/UiAutomation$AccessibilityEventFilter;J)Landroid/view/accessibility/AccessibilityEvent;" />
+		<method name="executeShellCommand(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;" since="21" />
+		<method name="executeShellCommandRw(Ljava/lang/String;)[Landroid/os/ParcelFileDescriptor;" since="31" />
+		<method name="findFocus(I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="21" />
+		<method name="getRootInActiveWindow()Landroid/view/accessibility/AccessibilityNodeInfo;" />
+		<method name="getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;" />
+		<method name="getWindowAnimationFrameStats()Landroid/view/WindowAnimationFrameStats;" since="21" />
+		<method name="getWindowContentFrameStats(I)Landroid/view/WindowContentFrameStats;" since="21" />
+		<method name="getWindows()Ljava/util/List;" since="21" />
+		<method name="getWindowsOnAllDisplays()Landroid/util/SparseArray;" since="30" />
+		<method name="grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;)V" since="28" />
+		<method name="grantRuntimePermissionAsUser(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)V" since="28" />
+		<method name="injectInputEvent(Landroid/view/InputEvent;Z)Z" />
+		<method name="performGlobalAction(I)Z" />
+		<method name="revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;)V" since="28" />
+		<method name="revokeRuntimePermissionAsUser(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)V" since="28" />
+		<method name="setOnAccessibilityEventListener(Landroid/app/UiAutomation$OnAccessibilityEventListener;)V" />
+		<method name="setRotation(I)Z" />
+		<method name="setRunAsMonkey(Z)V" />
+		<method name="setServiceInfo(Landroid/accessibilityservice/AccessibilityServiceInfo;)V" />
+		<method name="takeScreenshot()Landroid/graphics/Bitmap;" />
+		<method name="waitForIdle(JJ)V" />
+		<field name="FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES" since="24" />
+		<field name="FLAG_DONT_USE_ACCESSIBILITY" since="31" />
+		<field name="ROTATION_FREEZE_0" />
+		<field name="ROTATION_FREEZE_180" />
+		<field name="ROTATION_FREEZE_270" />
+		<field name="ROTATION_FREEZE_90" />
+		<field name="ROTATION_FREEZE_CURRENT" />
+		<field name="ROTATION_UNFREEZE" />
+	</class>
+	<class name="android/app/UiAutomation$AccessibilityEventFilter" since="18">
+		<extends name="java/lang/Object" />
+		<method name="accept(Landroid/view/accessibility/AccessibilityEvent;)Z" />
+	</class>
+	<class name="android/app/UiAutomation$OnAccessibilityEventListener" since="18">
+		<extends name="java/lang/Object" />
+		<method name="onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V" />
+	</class>
+	<class name="android/app/UiModeManager" since="8">
+		<extends name="java/lang/Object" />
+		<method name="disableCarMode(I)V" />
+		<method name="enableCarMode(I)V" />
+		<method name="getCurrentModeType()I" />
+		<method name="getCustomNightModeEnd()Ljava/time/LocalTime;" since="30" />
+		<method name="getCustomNightModeStart()Ljava/time/LocalTime;" since="30" />
+		<method name="getNightMode()I" />
+		<method name="setApplicationNightMode(I)V" since="31" />
+		<method name="setCustomNightModeEnd(Ljava/time/LocalTime;)V" since="30" />
+		<method name="setCustomNightModeStart(Ljava/time/LocalTime;)V" since="30" />
+		<method name="setNightMode(I)V" />
+		<field name="ACTION_ENTER_CAR_MODE" />
+		<field name="ACTION_ENTER_DESK_MODE" />
+		<field name="ACTION_EXIT_CAR_MODE" />
+		<field name="ACTION_EXIT_DESK_MODE" />
+		<field name="DISABLE_CAR_MODE_GO_HOME" />
+		<field name="ENABLE_CAR_MODE_ALLOW_SLEEP" since="21" />
+		<field name="ENABLE_CAR_MODE_GO_CAR_HOME" />
+		<field name="MODE_NIGHT_AUTO" />
+		<field name="MODE_NIGHT_CUSTOM" since="30" />
+		<field name="MODE_NIGHT_NO" />
+		<field name="MODE_NIGHT_YES" />
+	</class>
+	<class name="android/app/VoiceInteractor" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getActiveRequest(Ljava/lang/String;)Landroid/app/VoiceInteractor$Request;" />
+		<method name="getActiveRequests()[Landroid/app/VoiceInteractor$Request;" />
+		<method name="isDestroyed()Z" since="29" />
+		<method name="notifyDirectActionsChanged()V" since="29" />
+		<method name="registerOnDestroyedCallback(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Z" since="29" />
+		<method name="submitRequest(Landroid/app/VoiceInteractor$Request;)Z" />
+		<method name="submitRequest(Landroid/app/VoiceInteractor$Request;Ljava/lang/String;)Z" />
+		<method name="supportsCommands([Ljava/lang/String;)[Z" />
+		<method name="unregisterOnDestroyedCallback(Ljava/lang/Runnable;)Z" since="29" />
+	</class>
+	<class name="android/app/VoiceInteractor$AbortVoiceRequest" since="23">
+		<extends name="android/app/VoiceInteractor$Request" />
+		<method name="&lt;init&gt;(Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)V" />
+		<method name="onAbortResult(Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/app/VoiceInteractor$CommandRequest" since="23">
+		<extends name="android/app/VoiceInteractor$Request" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="onCommandResult(ZLandroid/os/Bundle;)V" />
+	</class>
+	<class name="android/app/VoiceInteractor$CompleteVoiceRequest" since="23">
+		<extends name="android/app/VoiceInteractor$Request" />
+		<method name="&lt;init&gt;(Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)V" />
+		<method name="onCompleteResult(Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/app/VoiceInteractor$ConfirmationRequest" since="23">
+		<extends name="android/app/VoiceInteractor$Request" />
+		<method name="&lt;init&gt;(Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)V" />
+		<method name="onConfirmationResult(ZLandroid/os/Bundle;)V" />
+	</class>
+	<class name="android/app/VoiceInteractor$PickOptionRequest" since="23">
+		<extends name="android/app/VoiceInteractor$Request" />
+		<method name="&lt;init&gt;(Landroid/app/VoiceInteractor$Prompt;[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V" />
+		<method name="onPickOptionResult(Z[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/app/VoiceInteractor$PickOptionRequest$Option" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;I)V" />
+		<method name="addSynonym(Ljava/lang/CharSequence;)Landroid/app/VoiceInteractor$PickOptionRequest$Option;" />
+		<method name="countSynonyms()I" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getIndex()I" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<method name="getSynonymAt(I)Ljava/lang/CharSequence;" />
+		<method name="setExtras(Landroid/os/Bundle;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/VoiceInteractor$Prompt" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="&lt;init&gt;([Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V" />
+		<method name="countVoicePrompts()I" />
+		<method name="getVisualPrompt()Ljava/lang/CharSequence;" />
+		<method name="getVoicePromptAt(I)Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/VoiceInteractor$Request" since="23">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" />
+		<method name="getActivity()Landroid/app/Activity;" />
+		<method name="getContext()Landroid/content/Context;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="onAttached(Landroid/app/Activity;)V" />
+		<method name="onCancel()V" />
+		<method name="onDetached()V" />
+	</class>
+	<class name="android/app/WallpaperColors" since="27">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/graphics/Color;Landroid/graphics/Color;Landroid/graphics/Color;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Color;Landroid/graphics/Color;Landroid/graphics/Color;I)V" since="31" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="fromBitmap(Landroid/graphics/Bitmap;)Landroid/app/WallpaperColors;" />
+		<method name="fromDrawable(Landroid/graphics/drawable/Drawable;)Landroid/app/WallpaperColors;" />
+		<method name="getColorHints()I" since="31" />
+		<method name="getPrimaryColor()Landroid/graphics/Color;" />
+		<method name="getSecondaryColor()Landroid/graphics/Color;" />
+		<method name="getTertiaryColor()Landroid/graphics/Color;" />
+		<field name="CREATOR" />
+		<field name="HINT_SUPPORTS_DARK_TEXT" since="31" />
+		<field name="HINT_SUPPORTS_DARK_THEME" since="31" />
+	</class>
+	<class name="android/app/WallpaperInfo" since="7">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getComponent()Landroid/content/ComponentName;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getServiceInfo()Landroid/content/pm/ServiceInfo;" />
+		<method name="getServiceName()Ljava/lang/String;" />
+		<method name="getSettingsActivity()Ljava/lang/String;" />
+		<method name="getSettingsSliceUri()Landroid/net/Uri;" since="29" />
+		<method name="getShowMetadataInPreview()Z" since="25" />
+		<method name="loadAuthor(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<method name="loadContextDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" since="25" />
+		<method name="loadContextUri(Landroid/content/pm/PackageManager;)Landroid/net/Uri;" since="25" />
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" />
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<method name="loadThumbnail(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" />
+		<method name="shouldUseDefaultUnfoldTransition()Z" since="33" />
+		<method name="supportsMultipleDisplays()Z" since="29" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/WallpaperManager" since="5">
+		<extends name="java/lang/Object" />
+		<method name="addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;)V" since="27" />
+		<method name="clear()V" />
+		<method name="clear(I)V" since="24" />
+		<method name="clearWallpaper()V" since="28" />
+		<method name="clearWallpaperOffsets(Landroid/os/IBinder;)V" />
+		<method name="forgetLoadedWallpaper()V" since="14" />
+		<method name="getBuiltInDrawable()Landroid/graphics/drawable/Drawable;" since="19" />
+		<method name="getBuiltInDrawable(I)Landroid/graphics/drawable/Drawable;" since="24" />
+		<method name="getBuiltInDrawable(IIZFF)Landroid/graphics/drawable/Drawable;" since="19" />
+		<method name="getBuiltInDrawable(IIZFFI)Landroid/graphics/drawable/Drawable;" since="24" />
+		<method name="getCropAndSetWallpaperIntent(Landroid/net/Uri;)Landroid/content/Intent;" since="19" />
+		<method name="getDesiredMinimumHeight()I" />
+		<method name="getDesiredMinimumWidth()I" />
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="getFastDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="getInstance(Landroid/content/Context;)Landroid/app/WallpaperManager;" />
+		<method name="getWallpaperColors(I)Landroid/app/WallpaperColors;" since="27" />
+		<method name="getWallpaperFile(I)Landroid/os/ParcelFileDescriptor;" since="24" />
+		<method name="getWallpaperId(I)I" since="24" />
+		<method name="getWallpaperInfo()Landroid/app/WallpaperInfo;" since="7" />
+		<method name="hasResourceWallpaper(I)Z" since="17" />
+		<method name="isSetWallpaperAllowed()Z" since="24" />
+		<method name="isWallpaperSupported()Z" since="23" />
+		<method name="peekDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="peekFastDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;)V" since="27" />
+		<method name="sendWallpaperCommand(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)V" since="7" />
+		<method name="setBitmap(Landroid/graphics/Bitmap;)V" />
+		<method name="setBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Z)I" since="24" />
+		<method name="setBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;ZI)I" since="24" />
+		<method name="setDisplayPadding(Landroid/graphics/Rect;)V" since="28" />
+		<method name="setResource(I)V" />
+		<method name="setResource(II)I" since="24" />
+		<method name="setStream(Ljava/io/InputStream;)V" />
+		<method name="setStream(Ljava/io/InputStream;Landroid/graphics/Rect;Z)I" since="24" />
+		<method name="setStream(Ljava/io/InputStream;Landroid/graphics/Rect;ZI)I" since="24" />
+		<method name="setWallpaperOffsetSteps(FF)V" since="7" />
+		<method name="setWallpaperOffsets(Landroid/os/IBinder;FF)V" />
+		<method name="suggestDesiredDimensions(II)V" />
+		<field name="ACTION_CHANGE_LIVE_WALLPAPER" since="16" />
+		<field name="ACTION_CROP_AND_SET_WALLPAPER" since="19" />
+		<field name="ACTION_LIVE_WALLPAPER_CHOOSER" since="7" />
+		<field name="COMMAND_DROP" since="7" />
+		<field name="COMMAND_SECONDARY_TAP" since="11" />
+		<field name="COMMAND_TAP" since="7" />
+		<field name="EXTRA_LIVE_WALLPAPER_COMPONENT" since="16" />
+		<field name="FLAG_LOCK" since="24" />
+		<field name="FLAG_SYSTEM" since="24" />
+		<field name="WALLPAPER_PREVIEW_META_DATA" since="11" />
+	</class>
+	<class name="android/app/WallpaperManager$OnColorsChangedListener" since="27">
+		<extends name="java/lang/Object" />
+		<method name="onColorsChanged(Landroid/app/WallpaperColors;I)V" />
+	</class>
+	<class name="android/app/ZygotePreload" since="29">
+		<extends name="java/lang/Object" />
+		<method name="doPreload(Landroid/content/pm/ApplicationInfo;)V" />
+	</class>
+	<class name="android/app/admin/ConnectEvent" since="26">
+		<extends name="android/app/admin/NetworkEvent" />
+		<method name="getInetAddress()Ljava/net/InetAddress;" />
+		<method name="getPort()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/admin/DelegatedAdminReceiver" since="29">
+		<extends name="android/content/BroadcastReceiver" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onChoosePrivateKeyAlias(Landroid/content/Context;Landroid/content/Intent;ILandroid/net/Uri;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="onNetworkLogsAvailable(Landroid/content/Context;Landroid/content/Intent;JI)V" />
+		<method name="onSecurityLogsAvailable(Landroid/content/Context;Landroid/content/Intent;)V" since="31" />
+	</class>
+	<class name="android/app/admin/DeviceAdminInfo" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getActivityInfo()Landroid/content/pm/ActivityInfo;" />
+		<method name="getComponent()Landroid/content/ComponentName;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getReceiverName()Ljava/lang/String;" />
+		<method name="getTagForPolicy(I)Ljava/lang/String;" />
+		<method name="isVisible()Z" />
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" />
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<method name="supportsTransferOwnership()Z" since="28" />
+		<method name="usesPolicy(I)Z" />
+		<field name="CREATOR" />
+		<field name="USES_ENCRYPTED_STORAGE" since="11" />
+		<field name="USES_POLICY_DISABLE_CAMERA" since="14" />
+		<field name="USES_POLICY_DISABLE_KEYGUARD_FEATURES" since="17" />
+		<field name="USES_POLICY_EXPIRE_PASSWORD" since="11" />
+		<field name="USES_POLICY_FORCE_LOCK" />
+		<field name="USES_POLICY_LIMIT_PASSWORD" />
+		<field name="USES_POLICY_RESET_PASSWORD" />
+		<field name="USES_POLICY_WATCH_LOGIN" />
+		<field name="USES_POLICY_WIPE_DATA" />
+	</class>
+	<class name="android/app/admin/DeviceAdminReceiver" since="8">
+		<extends name="android/content/BroadcastReceiver" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getManager(Landroid/content/Context;)Landroid/app/admin/DevicePolicyManager;" />
+		<method name="getWho(Landroid/content/Context;)Landroid/content/ComponentName;" />
+		<method name="onBugreportFailed(Landroid/content/Context;Landroid/content/Intent;I)V" since="24" />
+		<method name="onBugreportShared(Landroid/content/Context;Landroid/content/Intent;Ljava/lang/String;)V" since="24" />
+		<method name="onBugreportSharingDeclined(Landroid/content/Context;Landroid/content/Intent;)V" since="24" />
+		<method name="onChoosePrivateKeyAlias(Landroid/content/Context;Landroid/content/Intent;ILandroid/net/Uri;Ljava/lang/String;)Ljava/lang/String;" since="23" />
+		<method name="onComplianceAcknowledgementRequired(Landroid/content/Context;Landroid/content/Intent;)V" since="31" />
+		<method name="onDisableRequested(Landroid/content/Context;Landroid/content/Intent;)Ljava/lang/CharSequence;" />
+		<method name="onDisabled(Landroid/content/Context;Landroid/content/Intent;)V" />
+		<method name="onEnabled(Landroid/content/Context;Landroid/content/Intent;)V" />
+		<method name="onLockTaskModeEntering(Landroid/content/Context;Landroid/content/Intent;Ljava/lang/String;)V" since="21" />
+		<method name="onLockTaskModeExiting(Landroid/content/Context;Landroid/content/Intent;)V" since="21" />
+		<method name="onNetworkLogsAvailable(Landroid/content/Context;Landroid/content/Intent;JI)V" since="26" />
+		<method name="onOperationSafetyStateChanged(Landroid/content/Context;IZ)V" since="31" />
+		<method name="onPasswordChanged(Landroid/content/Context;Landroid/content/Intent;)V" deprecated="26" />
+		<method name="onPasswordChanged(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26" />
+		<method name="onPasswordExpiring(Landroid/content/Context;Landroid/content/Intent;)V" since="11" deprecated="26" />
+		<method name="onPasswordExpiring(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26" />
+		<method name="onPasswordFailed(Landroid/content/Context;Landroid/content/Intent;)V" deprecated="26" />
+		<method name="onPasswordFailed(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26" />
+		<method name="onPasswordSucceeded(Landroid/content/Context;Landroid/content/Intent;)V" deprecated="26" />
+		<method name="onPasswordSucceeded(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26" />
+		<method name="onProfileProvisioningComplete(Landroid/content/Context;Landroid/content/Intent;)V" since="21" />
+		<method name="onReadyForUserInitialization(Landroid/content/Context;Landroid/content/Intent;)V" since="23" deprecated="24" />
+		<method name="onSecurityLogsAvailable(Landroid/content/Context;Landroid/content/Intent;)V" since="24" />
+		<method name="onSystemUpdatePending(Landroid/content/Context;Landroid/content/Intent;J)V" since="23" />
+		<method name="onTransferAffiliatedProfileOwnershipComplete(Landroid/content/Context;Landroid/os/UserHandle;)V" since="28" />
+		<method name="onTransferOwnershipComplete(Landroid/content/Context;Landroid/os/PersistableBundle;)V" since="28" />
+		<method name="onUserAdded(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26" />
+		<method name="onUserRemoved(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26" />
+		<method name="onUserStarted(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="28" />
+		<method name="onUserStopped(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="28" />
+		<method name="onUserSwitched(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="28" />
+		<field name="ACTION_CHOOSE_PRIVATE_KEY_ALIAS" since="29" />
+		<field name="ACTION_DEVICE_ADMIN_DISABLED" />
+		<field name="ACTION_DEVICE_ADMIN_DISABLE_REQUESTED" />
+		<field name="ACTION_DEVICE_ADMIN_ENABLED" />
+		<field name="ACTION_LOCK_TASK_ENTERING" since="21" />
+		<field name="ACTION_LOCK_TASK_EXITING" since="21" />
+		<field name="ACTION_NETWORK_LOGS_AVAILABLE" since="29" />
+		<field name="ACTION_PASSWORD_CHANGED" />
+		<field name="ACTION_PASSWORD_EXPIRING" since="11" />
+		<field name="ACTION_PASSWORD_FAILED" />
+		<field name="ACTION_PASSWORD_SUCCEEDED" />
+		<field name="ACTION_PROFILE_PROVISIONING_COMPLETE" since="21" />
+		<field name="ACTION_SECURITY_LOGS_AVAILABLE" since="31" />
+		<field name="BUGREPORT_FAILURE_FAILED_COMPLETING" since="24" />
+		<field name="BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE" since="24" />
+		<field name="DEVICE_ADMIN_META_DATA" />
+		<field name="EXTRA_DISABLE_WARNING" />
+		<field name="EXTRA_LOCK_TASK_PACKAGE" since="21" />
+		<field name="EXTRA_TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE" since="28" />
+	</class>
+	<class name="android/app/admin/DeviceAdminService" since="26">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/app/admin/DevicePolicyManager" since="8">
+		<extends name="java/lang/Object" />
+		<method name="acknowledgeDeviceCompliant()V" since="31" />
+		<method name="addCrossProfileIntentFilter(Landroid/content/ComponentName;Landroid/content/IntentFilter;I)V" since="21" />
+		<method name="addCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="21" />
+		<method name="addOverrideApn(Landroid/content/ComponentName;Landroid/telephony/data/ApnSetting;)I" since="28" />
+		<method name="addPersistentPreferredActivity(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/content/ComponentName;)V" since="21" />
+		<method name="addUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;)V" since="21" />
+		<method name="bindDeviceAdminServiceAsUser(Landroid/content/ComponentName;Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z" since="26" />
+		<method name="canAdminGrantSensorsPermissions()Z" since="31" />
+		<method name="canUsbDataSignalingBeDisabled()Z" since="31" />
+		<method name="clearApplicationUserData(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/admin/DevicePolicyManager$OnClearApplicationUserDataListener;)V" since="28" />
+		<method name="clearCrossProfileIntentFilters(Landroid/content/ComponentName;)V" since="21" />
+		<method name="clearDeviceOwnerApp(Ljava/lang/String;)V" since="21" deprecated="26" />
+		<method name="clearPackagePersistentPreferredActivities(Landroid/content/ComponentName;Ljava/lang/String;)V" since="21" />
+		<method name="clearProfileOwner(Landroid/content/ComponentName;)V" since="24" deprecated="26" />
+		<method name="clearResetPasswordToken(Landroid/content/ComponentName;)Z" since="26" />
+		<method name="clearUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;)V" since="21" />
+		<method name="createAdminSupportIntent(Ljava/lang/String;)Landroid/content/Intent;" since="26" />
+		<method name="createAndInitializeUser(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/Bundle;)Landroid/os/UserHandle;" since="21" deprecated="23" removed="24" />
+		<method name="createAndManageUser(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/PersistableBundle;I)Landroid/os/UserHandle;" since="24" />
+		<method name="createUser(Landroid/content/ComponentName;Ljava/lang/String;)Landroid/os/UserHandle;" since="21" deprecated="23" removed="24" />
+		<method name="enableSystemApp(Landroid/content/ComponentName;Landroid/content/Intent;)I" since="21" />
+		<method name="enableSystemApp(Landroid/content/ComponentName;Ljava/lang/String;)V" since="21" />
+		<method name="generateKeyPair(Landroid/content/ComponentName;Ljava/lang/String;Landroid/security/keystore/KeyGenParameterSpec;I)Landroid/security/AttestedKeyPair;" since="28" />
+		<method name="getAccountTypesWithManagementDisabled()[Ljava/lang/String;" since="21" />
+		<method name="getActiveAdmins()Ljava/util/List;" />
+		<method name="getAffiliationIds(Landroid/content/ComponentName;)Ljava/util/Set;" since="26" />
+		<method name="getAlwaysOnVpnLockdownWhitelist(Landroid/content/ComponentName;)Ljava/util/Set;" since="29" />
+		<method name="getAlwaysOnVpnPackage(Landroid/content/ComponentName;)Ljava/lang/String;" since="24" />
+		<method name="getApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;)Landroid/os/Bundle;" since="21" />
+		<method name="getApplicationRestrictionsManagingPackage(Landroid/content/ComponentName;)Ljava/lang/String;" since="24" deprecated="26" />
+		<method name="getAutoTimeEnabled(Landroid/content/ComponentName;)Z" since="30" />
+		<method name="getAutoTimeRequired()Z" since="21" deprecated="30" />
+		<method name="getAutoTimeZoneEnabled(Landroid/content/ComponentName;)Z" since="30" />
+		<method name="getBindDeviceAdminTargetUsers(Landroid/content/ComponentName;)Ljava/util/List;" since="26" />
+		<method name="getBluetoothContactSharingDisabled(Landroid/content/ComponentName;)Z" since="23" />
+		<method name="getCameraDisabled(Landroid/content/ComponentName;)Z" since="14" />
+		<method name="getCertInstallerPackage(Landroid/content/ComponentName;)Ljava/lang/String;" since="23" deprecated="26" />
+		<method name="getCrossProfileCalendarPackages(Landroid/content/ComponentName;)Ljava/util/Set;" since="29" />
+		<method name="getCrossProfileCallerIdDisabled(Landroid/content/ComponentName;)Z" since="21" />
+		<method name="getCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;)Z" since="24" />
+		<method name="getCrossProfilePackages(Landroid/content/ComponentName;)Ljava/util/Set;" since="30" />
+		<method name="getCrossProfileWidgetProviders(Landroid/content/ComponentName;)Ljava/util/List;" since="21" />
+		<method name="getCurrentFailedPasswordAttempts()I" />
+		<method name="getDelegatePackages(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;" since="26" />
+		<method name="getDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;" since="26" />
+		<method name="getDeviceOwnerLockScreenInfo()Ljava/lang/CharSequence;" since="24" />
+		<method name="getEndUserSessionMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;" since="28" />
+		<method name="getEnrollmentSpecificId()Ljava/lang/String;" since="31" />
+		<method name="getFactoryResetProtectionPolicy(Landroid/content/ComponentName;)Landroid/app/admin/FactoryResetProtectionPolicy;" since="30" />
+		<method name="getGlobalPrivateDnsHost(Landroid/content/ComponentName;)Ljava/lang/String;" since="29" />
+		<method name="getGlobalPrivateDnsMode(Landroid/content/ComponentName;)I" since="29" />
+		<method name="getInstalledCaCerts(Landroid/content/ComponentName;)Ljava/util/List;" since="21" />
+		<method name="getKeepUninstalledPackages(Landroid/content/ComponentName;)Ljava/util/List;" since="28" />
+		<method name="getKeyPairGrants(Ljava/lang/String;)Ljava/util/Map;" since="31" />
+		<method name="getKeyguardDisabledFeatures(Landroid/content/ComponentName;)I" since="17" />
+		<method name="getLockTaskFeatures(Landroid/content/ComponentName;)I" since="28" />
+		<method name="getLockTaskPackages(Landroid/content/ComponentName;)[Ljava/lang/String;" since="26" />
+		<method name="getLongSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;" since="24" />
+		<method name="getManagedProfileMaximumTimeOff(Landroid/content/ComponentName;)J" since="30" />
+		<method name="getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;)I" />
+		<method name="getMaximumTimeToLock(Landroid/content/ComponentName;)J" />
+		<method name="getMeteredDataDisabledPackages(Landroid/content/ComponentName;)Ljava/util/List;" since="28" />
+		<method name="getNearbyAppStreamingPolicy()I" since="31" />
+		<method name="getNearbyNotificationStreamingPolicy()I" since="31" />
+		<method name="getOrganizationColor(Landroid/content/ComponentName;)I" since="24" deprecated="31" />
+		<method name="getOrganizationName(Landroid/content/ComponentName;)Ljava/lang/CharSequence;" since="24" />
+		<method name="getOverrideApns(Landroid/content/ComponentName;)Ljava/util/List;" since="28" />
+		<method name="getParentProfileInstance(Landroid/content/ComponentName;)Landroid/app/admin/DevicePolicyManager;" since="24" />
+		<method name="getPasswordComplexity()I" since="29" />
+		<method name="getPasswordExpiration(Landroid/content/ComponentName;)J" since="11" />
+		<method name="getPasswordExpirationTimeout(Landroid/content/ComponentName;)J" since="11" />
+		<method name="getPasswordHistoryLength(Landroid/content/ComponentName;)I" since="11" />
+		<method name="getPasswordMaximumLength(I)I" />
+		<method name="getPasswordMinimumLength(Landroid/content/ComponentName;)I" deprecated="31" />
+		<method name="getPasswordMinimumLetters(Landroid/content/ComponentName;)I" since="11" deprecated="31" />
+		<method name="getPasswordMinimumLowerCase(Landroid/content/ComponentName;)I" since="11" deprecated="31" />
+		<method name="getPasswordMinimumNonLetter(Landroid/content/ComponentName;)I" since="11" deprecated="31" />
+		<method name="getPasswordMinimumNumeric(Landroid/content/ComponentName;)I" since="11" deprecated="31" />
+		<method name="getPasswordMinimumSymbols(Landroid/content/ComponentName;)I" since="11" deprecated="31" />
+		<method name="getPasswordMinimumUpperCase(Landroid/content/ComponentName;)I" since="11" deprecated="31" />
+		<method name="getPasswordQuality(Landroid/content/ComponentName;)I" deprecated="31" />
+		<method name="getPendingSystemUpdate(Landroid/content/ComponentName;)Landroid/app/admin/SystemUpdateInfo;" since="26" />
+		<method name="getPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)I" since="23" />
+		<method name="getPermissionPolicy(Landroid/content/ComponentName;)I" since="23" />
+		<method name="getPermittedAccessibilityServices(Landroid/content/ComponentName;)Ljava/util/List;" since="21" />
+		<method name="getPermittedCrossProfileNotificationListeners(Landroid/content/ComponentName;)Ljava/util/List;" since="26" />
+		<method name="getPermittedInputMethods(Landroid/content/ComponentName;)Ljava/util/List;" since="21" />
+		<method name="getPersonalAppsSuspendedReasons(Landroid/content/ComponentName;)I" since="30" />
+		<method name="getRequiredPasswordComplexity()I" since="31" />
+		<method name="getRequiredStrongAuthTimeout(Landroid/content/ComponentName;)J" since="26" />
+		<method name="getScreenCaptureDisabled(Landroid/content/ComponentName;)Z" since="21" />
+		<method name="getSecondaryUsers(Landroid/content/ComponentName;)Ljava/util/List;" since="28" />
+		<method name="getShortSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;" since="24" />
+		<method name="getStartUserSessionMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;" since="28" />
+		<method name="getStorageEncryption(Landroid/content/ComponentName;)Z" since="11" deprecated="30" />
+		<method name="getStorageEncryptionStatus()I" since="11" />
+		<method name="getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;" since="23" />
+		<method name="getTransferOwnershipBundle()Landroid/os/PersistableBundle;" since="28" />
+		<method name="getTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;)Ljava/util/List;" since="23" />
+		<method name="getUserControlDisabledPackages(Landroid/content/ComponentName;)Ljava/util/List;" since="30" />
+		<method name="getUserRestrictions(Landroid/content/ComponentName;)Landroid/os/Bundle;" since="24" />
+		<method name="getWifiMacAddress(Landroid/content/ComponentName;)Ljava/lang/String;" since="24" />
+		<method name="grantKeyPairToApp(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z" since="30" />
+		<method name="grantKeyPairToWifiAuth(Ljava/lang/String;)Z" since="31" />
+		<method name="hasCaCertInstalled(Landroid/content/ComponentName;[B)Z" since="21" />
+		<method name="hasGrantedPolicy(Landroid/content/ComponentName;I)Z" since="11" />
+		<method name="hasKeyPair(Ljava/lang/String;)Z" since="31" />
+		<method name="hasLockdownAdminConfiguredNetworks(Landroid/content/ComponentName;)Z" since="30" />
+		<method name="installCaCert(Landroid/content/ComponentName;[B)Z" since="21" />
+		<method name="installExistingPackage(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="28" />
+		<method name="installKeyPair(Landroid/content/ComponentName;Ljava/security/PrivateKey;Ljava/security/cert/Certificate;Ljava/lang/String;)Z" since="21" />
+		<method name="installKeyPair(Landroid/content/ComponentName;Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/lang/String;I)Z" since="28" />
+		<method name="installKeyPair(Landroid/content/ComponentName;Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/lang/String;Z)Z" since="24" />
+		<method name="installSystemUpdate(Landroid/content/ComponentName;Landroid/net/Uri;Ljava/util/concurrent/Executor;Landroid/app/admin/DevicePolicyManager$InstallSystemUpdateCallback;)V" since="29" />
+		<method name="isActivePasswordSufficient()Z" />
+		<method name="isActivePasswordSufficientForDeviceRequirement()Z" since="31" />
+		<method name="isAdminActive(Landroid/content/ComponentName;)Z" />
+		<method name="isAffiliatedUser()Z" since="28" />
+		<method name="isAlwaysOnVpnLockdownEnabled(Landroid/content/ComponentName;)Z" since="29" />
+		<method name="isApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="21" />
+		<method name="isBackupServiceEnabled(Landroid/content/ComponentName;)Z" since="26" />
+		<method name="isCallerApplicationRestrictionsManagingPackage()Z" since="24" deprecated="26" />
+		<method name="isCommonCriteriaModeEnabled(Landroid/content/ComponentName;)Z" since="30" />
+		<method name="isComplianceAcknowledgementRequired()Z" since="31" />
+		<method name="isDeviceIdAttestationSupported()Z" since="28" />
+		<method name="isDeviceOwnerApp(Ljava/lang/String;)Z" since="18" />
+		<method name="isEphemeralUser(Landroid/content/ComponentName;)Z" since="28" />
+		<method name="isKeyPairGrantedToWifiAuth(Ljava/lang/String;)Z" since="31" />
+		<method name="isLockTaskPermitted(Ljava/lang/String;)Z" since="21" />
+		<method name="isLogoutEnabled()Z" since="28" />
+		<method name="isManagedProfile(Landroid/content/ComponentName;)Z" since="24" />
+		<method name="isMasterVolumeMuted(Landroid/content/ComponentName;)Z" since="21" />
+		<method name="isNetworkLoggingEnabled(Landroid/content/ComponentName;)Z" since="26" />
+		<method name="isOrganizationOwnedDeviceWithManagedProfile()Z" since="30" />
+		<method name="isOverrideApnEnabled(Landroid/content/ComponentName;)Z" since="28" />
+		<method name="isPackageSuspended(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="24" />
+		<method name="isPreferentialNetworkServiceEnabled()Z" since="31" />
+		<method name="isProfileOwnerApp(Ljava/lang/String;)Z" since="21" />
+		<method name="isProvisioningAllowed(Ljava/lang/String;)Z" since="24" />
+		<method name="isResetPasswordTokenActive(Landroid/content/ComponentName;)Z" since="26" />
+		<method name="isSafeOperation(I)Z" since="31" />
+		<method name="isSecurityLoggingEnabled(Landroid/content/ComponentName;)Z" since="24" />
+		<method name="isUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="21" />
+		<method name="isUniqueDeviceAttestationSupported()Z" since="30" />
+		<method name="isUsbDataSignalingEnabled()Z" since="31" />
+		<method name="isUsingUnifiedPassword(Landroid/content/ComponentName;)Z" since="28" />
+		<method name="listForegroundAffiliatedUsers()Ljava/util/List;" since="31" />
+		<method name="lockNow()V" />
+		<method name="lockNow(I)V" since="26" />
+		<method name="logoutUser(Landroid/content/ComponentName;)I" since="28" />
+		<method name="reboot(Landroid/content/ComponentName;)V" since="24" />
+		<method name="removeActiveAdmin(Landroid/content/ComponentName;)V" />
+		<method name="removeCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="21" />
+		<method name="removeKeyPair(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="24" />
+		<method name="removeOverrideApn(Landroid/content/ComponentName;I)Z" since="28" />
+		<method name="removeUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z" since="21" />
+		<method name="requestBugreport(Landroid/content/ComponentName;)Z" since="24" />
+		<method name="resetPassword(Ljava/lang/String;I)Z" deprecated="30" />
+		<method name="resetPasswordWithToken(Landroid/content/ComponentName;Ljava/lang/String;[BI)Z" since="26" />
+		<method name="retrieveNetworkLogs(Landroid/content/ComponentName;J)Ljava/util/List;" since="26" />
+		<method name="retrievePreRebootSecurityLogs(Landroid/content/ComponentName;)Ljava/util/List;" since="24" />
+		<method name="retrieveSecurityLogs(Landroid/content/ComponentName;)Ljava/util/List;" since="24" />
+		<method name="revokeKeyPairFromApp(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z" since="30" />
+		<method name="revokeKeyPairFromWifiAuth(Ljava/lang/String;)Z" since="31" />
+		<method name="setAccountManagementDisabled(Landroid/content/ComponentName;Ljava/lang/String;Z)V" since="21" />
+		<method name="setAffiliationIds(Landroid/content/ComponentName;Ljava/util/Set;)V" since="26" />
+		<method name="setAlwaysOnVpnPackage(Landroid/content/ComponentName;Ljava/lang/String;Z)V" since="24" />
+		<method name="setAlwaysOnVpnPackage(Landroid/content/ComponentName;Ljava/lang/String;ZLjava/util/Set;)V" since="29" />
+		<method name="setApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;Z)Z" since="21" />
+		<method name="setApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/Bundle;)V" since="21" />
+		<method name="setApplicationRestrictionsManagingPackage(Landroid/content/ComponentName;Ljava/lang/String;)V" since="24" deprecated="26" />
+		<method name="setAutoTimeEnabled(Landroid/content/ComponentName;Z)V" since="30" />
+		<method name="setAutoTimeRequired(Landroid/content/ComponentName;Z)V" since="21" deprecated="30" />
+		<method name="setAutoTimeZoneEnabled(Landroid/content/ComponentName;Z)V" since="30" />
+		<method name="setBackupServiceEnabled(Landroid/content/ComponentName;Z)V" since="26" />
+		<method name="setBluetoothContactSharingDisabled(Landroid/content/ComponentName;Z)V" since="23" />
+		<method name="setCameraDisabled(Landroid/content/ComponentName;Z)V" since="14" />
+		<method name="setCertInstallerPackage(Landroid/content/ComponentName;Ljava/lang/String;)V" since="23" deprecated="26" />
+		<method name="setCommonCriteriaModeEnabled(Landroid/content/ComponentName;Z)V" since="30" />
+		<method name="setConfiguredNetworksLockdownState(Landroid/content/ComponentName;Z)V" since="30" />
+		<method name="setCrossProfileCalendarPackages(Landroid/content/ComponentName;Ljava/util/Set;)V" since="29" />
+		<method name="setCrossProfileCallerIdDisabled(Landroid/content/ComponentName;Z)V" since="21" />
+		<method name="setCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;Z)V" since="24" />
+		<method name="setCrossProfilePackages(Landroid/content/ComponentName;Ljava/util/Set;)V" since="30" />
+		<method name="setDefaultSmsApplication(Landroid/content/ComponentName;Ljava/lang/String;)V" since="29" />
+		<method name="setDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V" since="26" />
+		<method name="setDeviceOwnerLockScreenInfo(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="24" />
+		<method name="setEndUserSessionMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="28" />
+		<method name="setFactoryResetProtectionPolicy(Landroid/content/ComponentName;Landroid/app/admin/FactoryResetProtectionPolicy;)V" since="30" />
+		<method name="setGlobalPrivateDnsModeOpportunistic(Landroid/content/ComponentName;)I" since="29" />
+		<method name="setGlobalPrivateDnsModeSpecifiedHost(Landroid/content/ComponentName;Ljava/lang/String;)I" since="29" />
+		<method name="setGlobalSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V" since="21" />
+		<method name="setKeepUninstalledPackages(Landroid/content/ComponentName;Ljava/util/List;)V" since="28" />
+		<method name="setKeyPairCertificate(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;Z)Z" since="28" />
+		<method name="setKeyguardDisabled(Landroid/content/ComponentName;Z)Z" since="23" />
+		<method name="setKeyguardDisabledFeatures(Landroid/content/ComponentName;I)V" since="17" />
+		<method name="setLocationEnabled(Landroid/content/ComponentName;Z)V" since="30" />
+		<method name="setLockTaskFeatures(Landroid/content/ComponentName;I)V" since="28" />
+		<method name="setLockTaskPackages(Landroid/content/ComponentName;[Ljava/lang/String;)V" since="21" />
+		<method name="setLogoutEnabled(Landroid/content/ComponentName;Z)V" since="28" />
+		<method name="setLongSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="24" />
+		<method name="setManagedProfileMaximumTimeOff(Landroid/content/ComponentName;J)V" since="30" />
+		<method name="setMasterVolumeMuted(Landroid/content/ComponentName;Z)V" since="21" />
+		<method name="setMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;I)V" />
+		<method name="setMaximumTimeToLock(Landroid/content/ComponentName;J)V" />
+		<method name="setMeteredDataDisabledPackages(Landroid/content/ComponentName;Ljava/util/List;)Ljava/util/List;" since="28" />
+		<method name="setNearbyAppStreamingPolicy(I)V" since="31" />
+		<method name="setNearbyNotificationStreamingPolicy(I)V" since="31" />
+		<method name="setNetworkLoggingEnabled(Landroid/content/ComponentName;Z)V" since="26" />
+		<method name="setOrganizationColor(Landroid/content/ComponentName;I)V" since="24" deprecated="31" />
+		<method name="setOrganizationId(Ljava/lang/String;)V" since="31" />
+		<method name="setOrganizationName(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="24" />
+		<method name="setOverrideApnsEnabled(Landroid/content/ComponentName;Z)V" since="28" />
+		<method name="setPackagesSuspended(Landroid/content/ComponentName;[Ljava/lang/String;Z)[Ljava/lang/String;" since="24" />
+		<method name="setPasswordExpirationTimeout(Landroid/content/ComponentName;J)V" since="11" />
+		<method name="setPasswordHistoryLength(Landroid/content/ComponentName;I)V" since="11" />
+		<method name="setPasswordMinimumLength(Landroid/content/ComponentName;I)V" deprecated="31" />
+		<method name="setPasswordMinimumLetters(Landroid/content/ComponentName;I)V" since="11" deprecated="31" />
+		<method name="setPasswordMinimumLowerCase(Landroid/content/ComponentName;I)V" since="11" deprecated="31" />
+		<method name="setPasswordMinimumNonLetter(Landroid/content/ComponentName;I)V" since="11" deprecated="31" />
+		<method name="setPasswordMinimumNumeric(Landroid/content/ComponentName;I)V" since="11" deprecated="31" />
+		<method name="setPasswordMinimumSymbols(Landroid/content/ComponentName;I)V" since="11" deprecated="31" />
+		<method name="setPasswordMinimumUpperCase(Landroid/content/ComponentName;I)V" since="11" deprecated="31" />
+		<method name="setPasswordQuality(Landroid/content/ComponentName;I)V" deprecated="31" />
+		<method name="setPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;I)Z" since="23" />
+		<method name="setPermissionPolicy(Landroid/content/ComponentName;I)V" since="23" />
+		<method name="setPermittedAccessibilityServices(Landroid/content/ComponentName;Ljava/util/List;)Z" since="21" />
+		<method name="setPermittedCrossProfileNotificationListeners(Landroid/content/ComponentName;Ljava/util/List;)Z" since="26" />
+		<method name="setPermittedInputMethods(Landroid/content/ComponentName;Ljava/util/List;)Z" since="21" />
+		<method name="setPersonalAppsSuspended(Landroid/content/ComponentName;Z)V" since="30" />
+		<method name="setPreferentialNetworkServiceEnabled(Z)V" since="31" />
+		<method name="setProfileEnabled(Landroid/content/ComponentName;)V" since="21" />
+		<method name="setProfileName(Landroid/content/ComponentName;Ljava/lang/String;)V" since="21" />
+		<method name="setRecommendedGlobalProxy(Landroid/content/ComponentName;Ljava/lang/Object;)V" since="21" />
+		<method name="setRequiredPasswordComplexity(I)V" since="31" />
+		<method name="setRequiredStrongAuthTimeout(Landroid/content/ComponentName;J)V" since="26" />
+		<method name="setResetPasswordToken(Landroid/content/ComponentName;[B)Z" since="26" />
+		<method name="setRestrictionsProvider(Landroid/content/ComponentName;Landroid/content/ComponentName;)V" since="21" />
+		<method name="setScreenCaptureDisabled(Landroid/content/ComponentName;Z)V" since="21" />
+		<method name="setSecureSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V" since="21" />
+		<method name="setSecurityLoggingEnabled(Landroid/content/ComponentName;Z)V" since="24" />
+		<method name="setShortSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="24" />
+		<method name="setStartUserSessionMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="28" />
+		<method name="setStatusBarDisabled(Landroid/content/ComponentName;Z)Z" since="23" />
+		<method name="setStorageEncryption(Landroid/content/ComponentName;Z)I" since="11" deprecated="30" />
+		<method name="setSystemSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V" since="28" />
+		<method name="setSystemUpdatePolicy(Landroid/content/ComponentName;Landroid/app/admin/SystemUpdatePolicy;)V" since="23" />
+		<method name="setTime(Landroid/content/ComponentName;J)Z" since="28" />
+		<method name="setTimeZone(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="28" />
+		<method name="setTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/os/PersistableBundle;)V" since="23" />
+		<method name="setUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;Z)V" since="21" />
+		<method name="setUsbDataSignalingEnabled(Z)V" since="31" />
+		<method name="setUserControlDisabledPackages(Landroid/content/ComponentName;Ljava/util/List;)V" since="30" />
+		<method name="setUserIcon(Landroid/content/ComponentName;Landroid/graphics/Bitmap;)V" since="23" />
+		<method name="startUserInBackground(Landroid/content/ComponentName;Landroid/os/UserHandle;)I" since="28" />
+		<method name="stopUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)I" since="28" />
+		<method name="switchUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z" since="21" />
+		<method name="transferOwnership(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/os/PersistableBundle;)V" since="28" />
+		<method name="uninstallAllUserCaCerts(Landroid/content/ComponentName;)V" since="21" />
+		<method name="uninstallCaCert(Landroid/content/ComponentName;[B)V" since="21" />
+		<method name="updateOverrideApn(Landroid/content/ComponentName;ILandroid/telephony/data/ApnSetting;)Z" since="28" />
+		<method name="wipeData(I)V" />
+		<method name="wipeData(ILjava/lang/CharSequence;)V" since="28" />
+		<field name="ACTION_ADD_DEVICE_ADMIN" />
+		<field name="ACTION_ADMIN_POLICY_COMPLIANCE" since="29" />
+		<field name="ACTION_APPLICATION_DELEGATION_SCOPES_CHANGED" since="26" />
+		<field name="ACTION_CHECK_POLICY_COMPLIANCE" since="30" />
+		<field name="ACTION_DEVICE_ADMIN_SERVICE" since="26" />
+		<field name="ACTION_DEVICE_OWNER_CHANGED" since="23" />
+		<field name="ACTION_GET_PROVISIONING_MODE" since="29" />
+		<field name="ACTION_MANAGED_PROFILE_PROVISIONED" since="23" />
+		<field name="ACTION_PROFILE_OWNER_CHANGED" since="28" />
+		<field name="ACTION_PROVISIONING_SUCCESSFUL" since="26" />
+		<field name="ACTION_PROVISION_MANAGED_DEVICE" since="23" deprecated="31" />
+		<field name="ACTION_PROVISION_MANAGED_PROFILE" since="21" />
+		<field name="ACTION_SET_NEW_PARENT_PROFILE_PASSWORD" since="24" />
+		<field name="ACTION_SET_NEW_PASSWORD" />
+		<field name="ACTION_START_ENCRYPTION" since="11" />
+		<field name="ACTION_SYSTEM_UPDATE_POLICY_CHANGED" since="23" />
+		<field name="DELEGATION_APP_RESTRICTIONS" since="26" />
+		<field name="DELEGATION_BLOCK_UNINSTALL" since="26" />
+		<field name="DELEGATION_CERT_INSTALL" since="26" />
+		<field name="DELEGATION_CERT_SELECTION" since="29" />
+		<field name="DELEGATION_ENABLE_SYSTEM_APP" since="26" />
+		<field name="DELEGATION_INSTALL_EXISTING_PACKAGE" since="28" />
+		<field name="DELEGATION_KEEP_UNINSTALLED_PACKAGES" since="28" />
+		<field name="DELEGATION_NETWORK_LOGGING" since="29" />
+		<field name="DELEGATION_PACKAGE_ACCESS" since="26" />
+		<field name="DELEGATION_PERMISSION_GRANT" since="26" />
+		<field name="DELEGATION_SECURITY_LOGGING" since="31" />
+		<field name="ENCRYPTION_STATUS_ACTIVATING" since="11" />
+		<field name="ENCRYPTION_STATUS_ACTIVE" since="11" />
+		<field name="ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY" since="23" />
+		<field name="ENCRYPTION_STATUS_ACTIVE_PER_USER" since="24" />
+		<field name="ENCRYPTION_STATUS_INACTIVE" since="11" />
+		<field name="ENCRYPTION_STATUS_UNSUPPORTED" since="11" />
+		<field name="EXTRA_ADD_EXPLANATION" />
+		<field name="EXTRA_DELEGATION_SCOPES" since="26" />
+		<field name="EXTRA_DEVICE_ADMIN" />
+		<field name="EXTRA_DEVICE_PASSWORD_REQUIREMENT_ONLY" since="31" />
+		<field name="EXTRA_PASSWORD_COMPLEXITY" since="29" />
+		<field name="EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE" since="22" />
+		<field name="EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE" since="21" />
+		<field name="EXTRA_PROVISIONING_ALLOWED_PROVISIONING_MODES" since="31" />
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME" since="23" />
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE" since="23" />
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM" since="21" />
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER" since="21" />
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION" since="21" />
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME" since="21" deprecated="23" />
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM" since="23" />
+		<field name="EXTRA_PROVISIONING_DISCLAIMERS" since="26" />
+		<field name="EXTRA_PROVISIONING_DISCLAIMER_CONTENT" since="26" />
+		<field name="EXTRA_PROVISIONING_DISCLAIMER_HEADER" since="26" />
+		<field name="EXTRA_PROVISIONING_EMAIL_ADDRESS" since="21" deprecated="26" />
+		<field name="EXTRA_PROVISIONING_IMEI" since="29" />
+		<field name="EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION" since="26" />
+		<field name="EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED" since="22" />
+		<field name="EXTRA_PROVISIONING_LOCALE" since="21" />
+		<field name="EXTRA_PROVISIONING_LOCAL_TIME" since="21" />
+		<field name="EXTRA_PROVISIONING_LOGO_URI" since="24" />
+		<field name="EXTRA_PROVISIONING_MAIN_COLOR" since="24" deprecated="31" />
+		<field name="EXTRA_PROVISIONING_MODE" since="29" />
+		<field name="EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT" since="31" />
+		<field name="EXTRA_PROVISIONING_SERIAL_NUMBER" since="29" />
+		<field name="EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS" since="29" />
+		<field name="EXTRA_PROVISIONING_SKIP_ENCRYPTION" since="23" />
+		<field name="EXTRA_PROVISIONING_SKIP_USER_CONSENT" since="26" deprecated="31" />
+		<field name="EXTRA_PROVISIONING_TIME_ZONE" since="21" />
+		<field name="EXTRA_PROVISIONING_WIFI_ANONYMOUS_IDENTITY" since="29" />
+		<field name="EXTRA_PROVISIONING_WIFI_CA_CERTIFICATE" since="29" />
+		<field name="EXTRA_PROVISIONING_WIFI_DOMAIN" since="29" />
+		<field name="EXTRA_PROVISIONING_WIFI_EAP_METHOD" since="29" />
+		<field name="EXTRA_PROVISIONING_WIFI_HIDDEN" since="21" />
+		<field name="EXTRA_PROVISIONING_WIFI_IDENTITY" since="29" />
+		<field name="EXTRA_PROVISIONING_WIFI_PAC_URL" since="21" />
+		<field name="EXTRA_PROVISIONING_WIFI_PASSWORD" since="21" />
+		<field name="EXTRA_PROVISIONING_WIFI_PHASE2_AUTH" since="29" />
+		<field name="EXTRA_PROVISIONING_WIFI_PROXY_BYPASS" since="21" />
+		<field name="EXTRA_PROVISIONING_WIFI_PROXY_HOST" since="21" />
+		<field name="EXTRA_PROVISIONING_WIFI_PROXY_PORT" since="21" />
+		<field name="EXTRA_PROVISIONING_WIFI_SECURITY_TYPE" since="21" />
+		<field name="EXTRA_PROVISIONING_WIFI_SSID" since="21" />
+		<field name="EXTRA_PROVISIONING_WIFI_USER_CERTIFICATE" since="29" />
+		<field name="FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY" since="26" />
+		<field name="FLAG_MANAGED_CAN_ACCESS_PARENT" since="21" />
+		<field name="FLAG_PARENT_CAN_ACCESS_MANAGED" since="21" />
+		<field name="ID_TYPE_BASE_INFO" since="28" />
+		<field name="ID_TYPE_IMEI" since="28" />
+		<field name="ID_TYPE_INDIVIDUAL_ATTESTATION" since="30" />
+		<field name="ID_TYPE_MEID" since="28" />
+		<field name="ID_TYPE_SERIAL" since="28" />
+		<field name="INSTALLKEY_REQUEST_CREDENTIALS_ACCESS" since="28" />
+		<field name="INSTALLKEY_SET_USER_SELECTABLE" since="28" />
+		<field name="KEYGUARD_DISABLE_BIOMETRICS" since="28" />
+		<field name="KEYGUARD_DISABLE_FACE" since="28" />
+		<field name="KEYGUARD_DISABLE_FEATURES_ALL" since="17" />
+		<field name="KEYGUARD_DISABLE_FEATURES_NONE" since="17" />
+		<field name="KEYGUARD_DISABLE_FINGERPRINT" since="21" />
+		<field name="KEYGUARD_DISABLE_IRIS" since="28" />
+		<field name="KEYGUARD_DISABLE_REMOTE_INPUT" since="24" />
+		<field name="KEYGUARD_DISABLE_SECURE_CAMERA" since="17" />
+		<field name="KEYGUARD_DISABLE_SECURE_NOTIFICATIONS" since="21" />
+		<field name="KEYGUARD_DISABLE_TRUST_AGENTS" since="21" />
+		<field name="KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS" since="21" />
+		<field name="KEYGUARD_DISABLE_WIDGETS_ALL" since="17" />
+		<field name="LEAVE_ALL_SYSTEM_APPS_ENABLED" since="28" />
+		<field name="LOCK_TASK_FEATURE_BLOCK_ACTIVITY_START_IN_TASK" since="30" />
+		<field name="LOCK_TASK_FEATURE_GLOBAL_ACTIONS" since="28" />
+		<field name="LOCK_TASK_FEATURE_HOME" since="28" />
+		<field name="LOCK_TASK_FEATURE_KEYGUARD" since="28" />
+		<field name="LOCK_TASK_FEATURE_NONE" since="28" />
+		<field name="LOCK_TASK_FEATURE_NOTIFICATIONS" since="28" />
+		<field name="LOCK_TASK_FEATURE_OVERVIEW" since="28" />
+		<field name="LOCK_TASK_FEATURE_SYSTEM_INFO" since="28" />
+		<field name="MAKE_USER_EPHEMERAL" since="28" />
+		<field name="MIME_TYPE_PROVISIONING_NFC" since="21" />
+		<field name="NEARBY_STREAMING_DISABLED" since="31" />
+		<field name="NEARBY_STREAMING_ENABLED" since="31" />
+		<field name="NEARBY_STREAMING_NOT_CONTROLLED_BY_POLICY" since="31" />
+		<field name="NEARBY_STREAMING_SAME_MANAGED_ACCOUNT_ONLY" since="31" />
+		<field name="OPERATION_SAFETY_REASON_DRIVING_DISTRACTION" since="31" />
+		<field name="PASSWORD_COMPLEXITY_HIGH" since="29" />
+		<field name="PASSWORD_COMPLEXITY_LOW" since="29" />
+		<field name="PASSWORD_COMPLEXITY_MEDIUM" since="29" />
+		<field name="PASSWORD_COMPLEXITY_NONE" since="29" />
+		<field name="PASSWORD_QUALITY_ALPHABETIC" />
+		<field name="PASSWORD_QUALITY_ALPHANUMERIC" />
+		<field name="PASSWORD_QUALITY_BIOMETRIC_WEAK" since="14" />
+		<field name="PASSWORD_QUALITY_COMPLEX" since="11" />
+		<field name="PASSWORD_QUALITY_NUMERIC" />
+		<field name="PASSWORD_QUALITY_NUMERIC_COMPLEX" since="21" />
+		<field name="PASSWORD_QUALITY_SOMETHING" />
+		<field name="PASSWORD_QUALITY_UNSPECIFIED" />
+		<field name="PERMISSION_GRANT_STATE_DEFAULT" since="23" />
+		<field name="PERMISSION_GRANT_STATE_DENIED" since="23" />
+		<field name="PERMISSION_GRANT_STATE_GRANTED" since="23" />
+		<field name="PERMISSION_POLICY_AUTO_DENY" since="23" />
+		<field name="PERMISSION_POLICY_AUTO_GRANT" since="23" />
+		<field name="PERMISSION_POLICY_PROMPT" since="23" />
+		<field name="PERSONAL_APPS_NOT_SUSPENDED" since="30" />
+		<field name="PERSONAL_APPS_SUSPENDED_EXPLICITLY" since="30" />
+		<field name="PERSONAL_APPS_SUSPENDED_PROFILE_TIMEOUT" since="30" />
+		<field name="POLICY_DISABLE_CAMERA" since="26" />
+		<field name="POLICY_DISABLE_SCREEN_CAPTURE" since="26" />
+		<field name="PRIVATE_DNS_MODE_OFF" since="29" />
+		<field name="PRIVATE_DNS_MODE_OPPORTUNISTIC" since="29" />
+		<field name="PRIVATE_DNS_MODE_PROVIDER_HOSTNAME" since="29" />
+		<field name="PRIVATE_DNS_MODE_UNKNOWN" since="29" />
+		<field name="PRIVATE_DNS_SET_ERROR_FAILURE_SETTING" since="29" />
+		<field name="PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING" since="29" />
+		<field name="PRIVATE_DNS_SET_NO_ERROR" since="29" />
+		<field name="PROVISIONING_MODE_FULLY_MANAGED_DEVICE" since="29" />
+		<field name="PROVISIONING_MODE_MANAGED_PROFILE" since="29" />
+		<field name="PROVISIONING_MODE_MANAGED_PROFILE_ON_PERSONAL_DEVICE" since="31" />
+		<field name="RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT" since="23" />
+		<field name="RESET_PASSWORD_REQUIRE_ENTRY" />
+		<field name="SKIP_SETUP_WIZARD" since="24" />
+		<field name="WIPE_EUICC" since="28" />
+		<field name="WIPE_EXTERNAL_STORAGE" since="9" />
+		<field name="WIPE_RESET_PROTECTION_DATA" since="22" />
+		<field name="WIPE_SILENTLY" since="29" />
+	</class>
+	<class name="android/app/admin/DevicePolicyManager$InstallSystemUpdateCallback" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onInstallUpdateError(ILjava/lang/String;)V" />
+		<field name="UPDATE_ERROR_BATTERY_LOW" />
+		<field name="UPDATE_ERROR_FILE_NOT_FOUND" />
+		<field name="UPDATE_ERROR_INCORRECT_OS_VERSION" />
+		<field name="UPDATE_ERROR_UNKNOWN" />
+		<field name="UPDATE_ERROR_UPDATE_FILE_INVALID" />
+	</class>
+	<class name="android/app/admin/DevicePolicyManager$OnClearApplicationUserDataListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="onApplicationUserDataCleared(Ljava/lang/String;Z)V" />
+	</class>
+	<class name="android/app/admin/DnsEvent" since="26">
+		<extends name="android/app/admin/NetworkEvent" />
+		<method name="getHostname()Ljava/lang/String;" />
+		<method name="getInetAddresses()Ljava/util/List;" />
+		<method name="getTotalResolvedAddressCount()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/admin/FactoryResetProtectionPolicy" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getFactoryResetProtectionAccounts()Ljava/util/List;" />
+		<method name="isFactoryResetProtectionEnabled()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/admin/FactoryResetProtectionPolicy$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/app/admin/FactoryResetProtectionPolicy;" />
+		<method name="setFactoryResetProtectionAccounts(Ljava/util/List;)Landroid/app/admin/FactoryResetProtectionPolicy$Builder;" />
+		<method name="setFactoryResetProtectionEnabled(Z)Landroid/app/admin/FactoryResetProtectionPolicy$Builder;" />
+	</class>
+	<class name="android/app/admin/FreezePeriod" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/time/MonthDay;Ljava/time/MonthDay;)V" />
+		<method name="getEnd()Ljava/time/MonthDay;" />
+		<method name="getStart()Ljava/time/MonthDay;" />
+	</class>
+	<class name="android/app/admin/NetworkEvent" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getId()J" since="28" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getTimestamp()J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/admin/SecurityLog" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="LEVEL_ERROR" since="28" />
+		<field name="LEVEL_INFO" since="28" />
+		<field name="LEVEL_WARNING" since="28" />
+		<field name="TAG_ADB_SHELL_CMD" />
+		<field name="TAG_ADB_SHELL_INTERACTIVE" />
+		<field name="TAG_APP_PROCESS_START" />
+		<field name="TAG_CAMERA_POLICY_SET" since="30" />
+		<field name="TAG_CERT_AUTHORITY_INSTALLED" since="28" />
+		<field name="TAG_CERT_AUTHORITY_REMOVED" since="28" />
+		<field name="TAG_CERT_VALIDATION_FAILURE" since="28" />
+		<field name="TAG_CRYPTO_SELF_TEST_COMPLETED" since="28" />
+		<field name="TAG_KEYGUARD_DISABLED_FEATURES_SET" since="28" />
+		<field name="TAG_KEYGUARD_DISMISSED" />
+		<field name="TAG_KEYGUARD_DISMISS_AUTH_ATTEMPT" />
+		<field name="TAG_KEYGUARD_SECURED" />
+		<field name="TAG_KEY_DESTRUCTION" since="28" />
+		<field name="TAG_KEY_GENERATED" since="28" />
+		<field name="TAG_KEY_IMPORT" since="28" />
+		<field name="TAG_KEY_INTEGRITY_VIOLATION" since="28" />
+		<field name="TAG_LOGGING_STARTED" since="28" />
+		<field name="TAG_LOGGING_STOPPED" since="28" />
+		<field name="TAG_LOG_BUFFER_SIZE_CRITICAL" since="28" />
+		<field name="TAG_MAX_PASSWORD_ATTEMPTS_SET" since="28" />
+		<field name="TAG_MAX_SCREEN_LOCK_TIMEOUT_SET" since="28" />
+		<field name="TAG_MEDIA_MOUNT" since="28" />
+		<field name="TAG_MEDIA_UNMOUNT" since="28" />
+		<field name="TAG_OS_SHUTDOWN" since="28" />
+		<field name="TAG_OS_STARTUP" since="28" />
+		<field name="TAG_PASSWORD_COMPLEXITY_REQUIRED" since="31" />
+		<field name="TAG_PASSWORD_COMPLEXITY_SET" since="28" />
+		<field name="TAG_PASSWORD_EXPIRATION_SET" since="28" />
+		<field name="TAG_PASSWORD_HISTORY_LENGTH_SET" since="28" />
+		<field name="TAG_REMOTE_LOCK" since="28" />
+		<field name="TAG_SYNC_RECV_FILE" />
+		<field name="TAG_SYNC_SEND_FILE" />
+		<field name="TAG_USER_RESTRICTION_ADDED" since="28" />
+		<field name="TAG_USER_RESTRICTION_REMOVED" since="28" />
+		<field name="TAG_WIPE_FAILURE" since="28" />
+	</class>
+	<class name="android/app/admin/SecurityLog$SecurityEvent" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getData()Ljava/lang/Object;" />
+		<method name="getId()J" since="28" />
+		<method name="getLogLevel()I" since="28" />
+		<method name="getTag()I" />
+		<method name="getTimeNanos()J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/admin/SystemUpdateInfo" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getReceivedTime()J" />
+		<method name="getSecurityPatchState()I" />
+		<field name="CREATOR" />
+		<field name="SECURITY_PATCH_STATE_FALSE" />
+		<field name="SECURITY_PATCH_STATE_TRUE" />
+		<field name="SECURITY_PATCH_STATE_UNKNOWN" />
+	</class>
+	<class name="android/app/admin/SystemUpdatePolicy" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="createAutomaticInstallPolicy()Landroid/app/admin/SystemUpdatePolicy;" />
+		<method name="createPostponeInstallPolicy()Landroid/app/admin/SystemUpdatePolicy;" />
+		<method name="createWindowedInstallPolicy(II)Landroid/app/admin/SystemUpdatePolicy;" />
+		<method name="getFreezePeriods()Ljava/util/List;" since="28" />
+		<method name="getInstallWindowEnd()I" />
+		<method name="getInstallWindowStart()I" />
+		<method name="getPolicyType()I" />
+		<method name="setFreezePeriods(Ljava/util/List;)Landroid/app/admin/SystemUpdatePolicy;" since="28" />
+		<field name="CREATOR" />
+		<field name="TYPE_INSTALL_AUTOMATIC" />
+		<field name="TYPE_INSTALL_WINDOWED" />
+		<field name="TYPE_POSTPONE" />
+	</class>
+	<class name="android/app/admin/SystemUpdatePolicy$ValidationFailedException" since="28">
+		<extends name="java/lang/IllegalArgumentException" />
+		<implements name="android/os/Parcelable" />
+		<method name="getErrorCode()I" />
+		<field name="CREATOR" />
+		<field name="ERROR_COMBINED_FREEZE_PERIOD_TOO_CLOSE" />
+		<field name="ERROR_COMBINED_FREEZE_PERIOD_TOO_LONG" />
+		<field name="ERROR_DUPLICATE_OR_OVERLAP" />
+		<field name="ERROR_NEW_FREEZE_PERIOD_TOO_CLOSE" />
+		<field name="ERROR_NEW_FREEZE_PERIOD_TOO_LONG" />
+		<field name="ERROR_UNKNOWN" />
+	</class>
+	<class name="android/app/admin/UnsafeStateException" since="31">
+		<extends name="java/lang/IllegalStateException" />
+		<implements name="android/os/Parcelable" />
+		<method name="getReasons()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/assist/AssistContent" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getClipData()Landroid/content/ClipData;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getIntent()Landroid/content/Intent;" />
+		<method name="getStructuredData()Ljava/lang/String;" />
+		<method name="getWebUri()Landroid/net/Uri;" />
+		<method name="isAppProvidedIntent()Z" />
+		<method name="isAppProvidedWebUri()Z" since="24" />
+		<method name="setClipData(Landroid/content/ClipData;)V" />
+		<method name="setIntent(Landroid/content/Intent;)V" />
+		<method name="setStructuredData(Ljava/lang/String;)V" />
+		<method name="setWebUri(Landroid/net/Uri;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/assist/AssistStructure" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAcquisitionEndTime()J" since="26" />
+		<method name="getAcquisitionStartTime()J" since="26" />
+		<method name="getActivityComponent()Landroid/content/ComponentName;" />
+		<method name="getWindowNodeAt(I)Landroid/app/assist/AssistStructure$WindowNode;" />
+		<method name="getWindowNodeCount()I" />
+		<method name="isHomeActivity()Z" since="26" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/assist/AssistStructure$ViewNode" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getAlpha()F" />
+		<method name="getAutofillHints()[Ljava/lang/String;" since="26" />
+		<method name="getAutofillId()Landroid/view/autofill/AutofillId;" since="26" />
+		<method name="getAutofillOptions()[Ljava/lang/CharSequence;" since="26" />
+		<method name="getAutofillType()I" since="26" />
+		<method name="getAutofillValue()Landroid/view/autofill/AutofillValue;" since="26" />
+		<method name="getChildAt(I)Landroid/app/assist/AssistStructure$ViewNode;" />
+		<method name="getChildCount()I" />
+		<method name="getClassName()Ljava/lang/String;" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" />
+		<method name="getElevation()F" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getHeight()I" />
+		<method name="getHint()Ljava/lang/String;" />
+		<method name="getHintIdEntry()Ljava/lang/String;" since="30" />
+		<method name="getHtmlInfo()Landroid/view/ViewStructure$HtmlInfo;" since="26" />
+		<method name="getId()I" />
+		<method name="getIdEntry()Ljava/lang/String;" />
+		<method name="getIdPackage()Ljava/lang/String;" />
+		<method name="getIdType()Ljava/lang/String;" />
+		<method name="getImportantForAutofill()I" since="28" />
+		<method name="getInputType()I" since="26" />
+		<method name="getLeft()I" />
+		<method name="getLocaleList()Landroid/os/LocaleList;" since="26" />
+		<method name="getMaxTextEms()I" since="28" />
+		<method name="getMaxTextLength()I" since="28" />
+		<method name="getMinTextEms()I" since="28" />
+		<method name="getReceiveContentMimeTypes()[Ljava/lang/String;" since="31" />
+		<method name="getScrollX()I" />
+		<method name="getScrollY()I" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<method name="getTextBackgroundColor()I" />
+		<method name="getTextColor()I" />
+		<method name="getTextIdEntry()Ljava/lang/String;" since="28" />
+		<method name="getTextLineBaselines()[I" />
+		<method name="getTextLineCharOffsets()[I" />
+		<method name="getTextSelectionEnd()I" />
+		<method name="getTextSelectionStart()I" />
+		<method name="getTextSize()F" />
+		<method name="getTextStyle()I" />
+		<method name="getTop()I" />
+		<method name="getTransformation()Landroid/graphics/Matrix;" />
+		<method name="getVisibility()I" />
+		<method name="getWebDomain()Ljava/lang/String;" since="26" />
+		<method name="getWebScheme()Ljava/lang/String;" since="28" />
+		<method name="getWidth()I" />
+		<method name="isAccessibilityFocused()Z" />
+		<method name="isActivated()Z" />
+		<method name="isAssistBlocked()Z" />
+		<method name="isCheckable()Z" />
+		<method name="isChecked()Z" />
+		<method name="isClickable()Z" />
+		<method name="isContextClickable()Z" />
+		<method name="isEnabled()Z" />
+		<method name="isFocusable()Z" />
+		<method name="isFocused()Z" />
+		<method name="isLongClickable()Z" />
+		<method name="isOpaque()Z" since="26" />
+		<method name="isSelected()Z" />
+		<field name="TEXT_COLOR_UNDEFINED" />
+		<field name="TEXT_STYLE_BOLD" />
+		<field name="TEXT_STYLE_ITALIC" />
+		<field name="TEXT_STYLE_STRIKE_THRU" />
+		<field name="TEXT_STYLE_UNDERLINE" />
+	</class>
+	<class name="android/app/assist/AssistStructure$WindowNode" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getDisplayId()I" />
+		<method name="getHeight()I" />
+		<method name="getLeft()I" />
+		<method name="getRootViewNode()Landroid/app/assist/AssistStructure$ViewNode;" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<method name="getTop()I" />
+		<method name="getWidth()I" />
+	</class>
+	<class name="android/app/backup/BackupAgent" since="8">
+		<extends name="android/content/ContextWrapper" />
+		<method name="&lt;init&gt;()V" />
+		<method name="fullBackupFile(Ljava/io/File;Landroid/app/backup/FullBackupDataOutput;)V" since="14" />
+		<method name="onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V" />
+		<method name="onCreate()V" />
+		<method name="onDestroy()V" />
+		<method name="onFullBackup(Landroid/app/backup/FullBackupDataOutput;)V" since="14" />
+		<method name="onQuotaExceeded(JJ)V" since="24" />
+		<method name="onRestore(Landroid/app/backup/BackupDataInput;ILandroid/os/ParcelFileDescriptor;)V" />
+		<method name="onRestore(Landroid/app/backup/BackupDataInput;JLandroid/os/ParcelFileDescriptor;)V" since="28" />
+		<method name="onRestoreFile(Landroid/os/ParcelFileDescriptor;JLjava/io/File;IJJ)V" since="14" />
+		<method name="onRestoreFinished()V" since="21" />
+		<field name="FLAG_CLIENT_SIDE_ENCRYPTION_ENABLED" since="28" />
+		<field name="FLAG_DEVICE_TO_DEVICE_TRANSFER" since="28" />
+		<field name="TYPE_DIRECTORY" since="14" />
+		<field name="TYPE_FILE" since="14" />
+	</class>
+	<class name="android/app/backup/BackupAgentHelper" since="8">
+		<extends name="android/app/backup/BackupAgent" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V" />
+	</class>
+	<class name="android/app/backup/BackupDataInput" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getDataSize()I" />
+		<method name="getKey()Ljava/lang/String;" />
+		<method name="readEntityData([BII)I" />
+		<method name="readNextHeader()Z" />
+		<method name="skipEntityData()V" />
+	</class>
+	<class name="android/app/backup/BackupDataInputStream" since="8">
+		<extends name="java/io/InputStream" />
+		<method name="getKey()Ljava/lang/String;" />
+		<method name="size()I" />
+	</class>
+	<class name="android/app/backup/BackupDataOutput" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getQuota()J" since="26" />
+		<method name="getTransportFlags()I" since="28" />
+		<method name="writeEntityData([BI)I" />
+		<method name="writeEntityHeader(Ljava/lang/String;I)I" />
+	</class>
+	<class name="android/app/backup/BackupHelper" since="8">
+		<extends name="java/lang/Object" />
+		<method name="performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V" />
+		<method name="restoreEntity(Landroid/app/backup/BackupDataInputStream;)V" />
+		<method name="writeNewStateDescription(Landroid/os/ParcelFileDescriptor;)V" />
+	</class>
+	<class name="android/app/backup/BackupManager" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="dataChanged()V" />
+		<method name="dataChanged(Ljava/lang/String;)V" />
+		<method name="getUserForAncestralSerialNumber(J)Landroid/os/UserHandle;" since="29" />
+		<method name="requestRestore(Landroid/app/backup/RestoreObserver;)I" deprecated="28" />
+	</class>
+	<class name="android/app/backup/FileBackupHelper" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="android/app/backup/BackupHelper" />
+		<method name="&lt;init&gt;(Landroid/content/Context;[Ljava/lang/String;)V" />
+	</class>
+	<class name="android/app/backup/FullBackupDataOutput" since="14">
+		<extends name="java/lang/Object" />
+		<method name="getQuota()J" since="26" />
+		<method name="getTransportFlags()I" since="28" />
+	</class>
+	<class name="android/app/backup/RestoreObserver" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onUpdate(ILjava/lang/String;)V" />
+		<method name="restoreFinished(I)V" />
+		<method name="restoreStarting(I)V" />
+	</class>
+	<class name="android/app/backup/SharedPreferencesBackupHelper" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="android/app/backup/BackupHelper" />
+		<method name="&lt;init&gt;(Landroid/content/Context;[Ljava/lang/String;)V" />
+	</class>
+	<class name="android/app/blob/BlobHandle" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="createWithSha256([BLjava/lang/CharSequence;JLjava/lang/String;)Landroid/app/blob/BlobHandle;" />
+		<method name="getExpiryTimeMillis()J" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<method name="getSha256Digest()[B" />
+		<method name="getTag()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/blob/BlobStoreManager" since="30">
+		<extends name="java/lang/Object" />
+		<method name="abandonSession(J)V" />
+		<method name="acquireLease(Landroid/app/blob/BlobHandle;I)V" />
+		<method name="acquireLease(Landroid/app/blob/BlobHandle;IJ)V" />
+		<method name="acquireLease(Landroid/app/blob/BlobHandle;Ljava/lang/CharSequence;)V" />
+		<method name="acquireLease(Landroid/app/blob/BlobHandle;Ljava/lang/CharSequence;J)V" />
+		<method name="createSession(Landroid/app/blob/BlobHandle;)J" />
+		<method name="getLeasedBlobs()Ljava/util/List;" />
+		<method name="getRemainingLeaseQuotaBytes()J" />
+		<method name="openBlob(Landroid/app/blob/BlobHandle;)Landroid/os/ParcelFileDescriptor;" />
+		<method name="openSession(J)Landroid/app/blob/BlobStoreManager$Session;" />
+		<method name="releaseLease(Landroid/app/blob/BlobHandle;)V" />
+	</class>
+	<class name="android/app/blob/BlobStoreManager$Session" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="abandon()V" />
+		<method name="allowPackageAccess(Ljava/lang/String;[B)V" />
+		<method name="allowPublicAccess()V" />
+		<method name="allowSameSignatureAccess()V" />
+		<method name="commit(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" />
+		<method name="getSize()J" />
+		<method name="isPackageAccessAllowed(Ljava/lang/String;[B)Z" />
+		<method name="isPublicAccessAllowed()Z" />
+		<method name="isSameSignatureAccessAllowed()Z" />
+		<method name="openRead()Landroid/os/ParcelFileDescriptor;" />
+		<method name="openWrite(JJ)Landroid/os/ParcelFileDescriptor;" />
+	</class>
+	<class name="android/app/job/JobInfo" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getBackoffPolicy()I" />
+		<method name="getClipData()Landroid/content/ClipData;" since="26" />
+		<method name="getClipGrantFlags()I" since="26" />
+		<method name="getEstimatedNetworkDownloadBytes()J" since="28" />
+		<method name="getEstimatedNetworkUploadBytes()J" since="28" />
+		<method name="getExtras()Landroid/os/PersistableBundle;" />
+		<method name="getFlexMillis()J" since="24" />
+		<method name="getId()I" />
+		<method name="getInitialBackoffMillis()J" />
+		<method name="getIntervalMillis()J" />
+		<method name="getMaxExecutionDelayMillis()J" />
+		<method name="getMinFlexMillis()J" since="24" />
+		<method name="getMinLatencyMillis()J" />
+		<method name="getMinPeriodMillis()J" since="24" />
+		<method name="getNetworkType()I" deprecated="28" />
+		<method name="getRequiredNetwork()Ljava/lang/Object;" since="28" />
+		<method name="getService()Landroid/content/ComponentName;" />
+		<method name="getTransientExtras()Landroid/os/Bundle;" since="26" />
+		<method name="getTriggerContentMaxDelay()J" since="24" />
+		<method name="getTriggerContentUpdateDelay()J" since="24" />
+		<method name="getTriggerContentUris()[Landroid/app/job/JobInfo$TriggerContentUri;" since="24" />
+		<method name="isExpedited()Z" since="31" />
+		<method name="isImportantWhileForeground()Z" since="28" />
+		<method name="isPeriodic()Z" />
+		<method name="isPersisted()Z" />
+		<method name="isPrefetch()Z" since="28" />
+		<method name="isRequireBatteryNotLow()Z" since="26" />
+		<method name="isRequireCharging()Z" />
+		<method name="isRequireDeviceIdle()Z" />
+		<method name="isRequireStorageNotLow()Z" since="26" />
+		<field name="BACKOFF_POLICY_EXPONENTIAL" />
+		<field name="BACKOFF_POLICY_LINEAR" />
+		<field name="CREATOR" />
+		<field name="DEFAULT_INITIAL_BACKOFF_MILLIS" />
+		<field name="MAX_BACKOFF_DELAY_MILLIS" />
+		<field name="NETWORK_BYTES_UNKNOWN" since="28" />
+		<field name="NETWORK_TYPE_ANY" />
+		<field name="NETWORK_TYPE_CELLULAR" since="28" />
+		<field name="NETWORK_TYPE_METERED" since="26" deprecated="28" />
+		<field name="NETWORK_TYPE_NONE" />
+		<field name="NETWORK_TYPE_NOT_ROAMING" since="24" />
+		<field name="NETWORK_TYPE_UNMETERED" />
+	</class>
+	<class name="android/app/job/JobInfo$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ILandroid/content/ComponentName;)V" />
+		<method name="addTriggerContentUri(Landroid/app/job/JobInfo$TriggerContentUri;)Landroid/app/job/JobInfo$Builder;" since="24" />
+		<method name="build()Landroid/app/job/JobInfo;" />
+		<method name="setBackoffCriteria(JI)Landroid/app/job/JobInfo$Builder;" />
+		<method name="setClipData(Landroid/content/ClipData;I)Landroid/app/job/JobInfo$Builder;" since="26" />
+		<method name="setEstimatedNetworkBytes(JJ)Landroid/app/job/JobInfo$Builder;" since="28" />
+		<method name="setExpedited(Z)Landroid/app/job/JobInfo$Builder;" since="31" />
+		<method name="setExtras(Landroid/os/PersistableBundle;)Landroid/app/job/JobInfo$Builder;" />
+		<method name="setImportantWhileForeground(Z)Landroid/app/job/JobInfo$Builder;" since="28" deprecated="31" />
+		<method name="setMinimumLatency(J)Landroid/app/job/JobInfo$Builder;" />
+		<method name="setOverrideDeadline(J)Landroid/app/job/JobInfo$Builder;" />
+		<method name="setPeriodic(J)Landroid/app/job/JobInfo$Builder;" />
+		<method name="setPeriodic(JJ)Landroid/app/job/JobInfo$Builder;" since="24" />
+		<method name="setPersisted(Z)Landroid/app/job/JobInfo$Builder;" />
+		<method name="setPrefetch(Z)Landroid/app/job/JobInfo$Builder;" since="28" />
+		<method name="setRequiredNetwork(Ljava/lang/Object;)Landroid/app/job/JobInfo$Builder;" since="28" />
+		<method name="setRequiredNetworkType(I)Landroid/app/job/JobInfo$Builder;" />
+		<method name="setRequiresBatteryNotLow(Z)Landroid/app/job/JobInfo$Builder;" since="26" />
+		<method name="setRequiresCharging(Z)Landroid/app/job/JobInfo$Builder;" />
+		<method name="setRequiresDeviceIdle(Z)Landroid/app/job/JobInfo$Builder;" />
+		<method name="setRequiresStorageNotLow(Z)Landroid/app/job/JobInfo$Builder;" since="26" />
+		<method name="setTransientExtras(Landroid/os/Bundle;)Landroid/app/job/JobInfo$Builder;" since="26" />
+		<method name="setTriggerContentMaxDelay(J)Landroid/app/job/JobInfo$Builder;" since="24" />
+		<method name="setTriggerContentUpdateDelay(J)Landroid/app/job/JobInfo$Builder;" since="24" />
+	</class>
+	<class name="android/app/job/JobInfo$TriggerContentUri" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;I)V" />
+		<method name="getFlags()I" />
+		<method name="getUri()Landroid/net/Uri;" />
+		<field name="CREATOR" />
+		<field name="FLAG_NOTIFY_FOR_DESCENDANTS" />
+	</class>
+	<class name="android/app/job/JobParameters" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="completeWork(Landroid/app/job/JobWorkItem;)V" since="26" />
+		<method name="dequeueWork()Landroid/app/job/JobWorkItem;" since="26" />
+		<method name="getClipData()Landroid/content/ClipData;" since="26" />
+		<method name="getClipGrantFlags()I" since="26" />
+		<method name="getExtras()Landroid/os/PersistableBundle;" />
+		<method name="getJobId()I" />
+		<method name="getNetwork()Ljava/lang/Object;" since="28" />
+		<method name="getStopReason()I" since="31" />
+		<method name="getTransientExtras()Landroid/os/Bundle;" since="26" />
+		<method name="getTriggeredContentAuthorities()[Ljava/lang/String;" since="24" />
+		<method name="getTriggeredContentUris()[Landroid/net/Uri;" since="24" />
+		<method name="isExpeditedJob()Z" since="31" />
+		<method name="isOverrideDeadlineExpired()Z" />
+		<field name="CREATOR" />
+		<field name="STOP_REASON_APP_STANDBY" since="31" />
+		<field name="STOP_REASON_BACKGROUND_RESTRICTION" since="31" />
+		<field name="STOP_REASON_CANCELLED_BY_APP" since="31" />
+		<field name="STOP_REASON_CONSTRAINT_BATTERY_NOT_LOW" since="31" />
+		<field name="STOP_REASON_CONSTRAINT_CHARGING" since="31" />
+		<field name="STOP_REASON_CONSTRAINT_CONNECTIVITY" since="31" />
+		<field name="STOP_REASON_CONSTRAINT_DEVICE_IDLE" since="31" />
+		<field name="STOP_REASON_CONSTRAINT_STORAGE_NOT_LOW" since="31" />
+		<field name="STOP_REASON_DEVICE_STATE" since="31" />
+		<field name="STOP_REASON_PREEMPT" since="31" />
+		<field name="STOP_REASON_QUOTA" since="31" />
+		<field name="STOP_REASON_SYSTEM_PROCESSING" since="31" />
+		<field name="STOP_REASON_TIMEOUT" since="31" />
+		<field name="STOP_REASON_UNDEFINED" since="31" />
+		<field name="STOP_REASON_USER" since="31" />
+	</class>
+	<class name="android/app/job/JobScheduler" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="cancel(I)V" />
+		<method name="cancelAll()V" />
+		<method name="enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I" since="26" />
+		<method name="getAllPendingJobs()Ljava/util/List;" />
+		<method name="getPendingJob(I)Landroid/app/job/JobInfo;" since="24" />
+		<method name="schedule(Landroid/app/job/JobInfo;)I" />
+		<field name="RESULT_FAILURE" />
+		<field name="RESULT_SUCCESS" />
+	</class>
+	<class name="android/app/job/JobService" since="21">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="jobFinished(Landroid/app/job/JobParameters;Z)V" />
+		<method name="onStartJob(Landroid/app/job/JobParameters;)Z" />
+		<method name="onStopJob(Landroid/app/job/JobParameters;)Z" />
+		<field name="PERMISSION_BIND" />
+	</class>
+	<class name="android/app/job/JobServiceEngine" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/app/Service;)V" />
+		<method name="getBinder()Landroid/os/IBinder;" />
+		<method name="jobFinished(Landroid/app/job/JobParameters;Z)V" />
+		<method name="onStartJob(Landroid/app/job/JobParameters;)Z" />
+		<method name="onStopJob(Landroid/app/job/JobParameters;)Z" />
+	</class>
+	<class name="android/app/job/JobWorkItem" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/content/Intent;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Intent;JJ)V" since="28" />
+		<method name="getDeliveryCount()I" />
+		<method name="getEstimatedNetworkDownloadBytes()J" since="28" />
+		<method name="getEstimatedNetworkUploadBytes()J" since="28" />
+		<method name="getIntent()Landroid/content/Intent;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/people/ConversationStatus" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getActivity()I" />
+		<method name="getAvailability()I" />
+		<method name="getDescription()Ljava/lang/CharSequence;" />
+		<method name="getEndTimeMillis()J" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getStartTimeMillis()J" />
+		<field name="ACTIVITY_ANNIVERSARY" />
+		<field name="ACTIVITY_AUDIO" />
+		<field name="ACTIVITY_BIRTHDAY" />
+		<field name="ACTIVITY_GAME" />
+		<field name="ACTIVITY_LOCATION" />
+		<field name="ACTIVITY_NEW_STORY" />
+		<field name="ACTIVITY_OTHER" />
+		<field name="ACTIVITY_UPCOMING_BIRTHDAY" />
+		<field name="ACTIVITY_VIDEO" />
+		<field name="AVAILABILITY_AVAILABLE" />
+		<field name="AVAILABILITY_BUSY" />
+		<field name="AVAILABILITY_OFFLINE" />
+		<field name="AVAILABILITY_UNKNOWN" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/people/ConversationStatus$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="build()Landroid/app/people/ConversationStatus;" />
+		<method name="setAvailability(I)Landroid/app/people/ConversationStatus$Builder;" />
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/app/people/ConversationStatus$Builder;" />
+		<method name="setEndTimeMillis(J)Landroid/app/people/ConversationStatus$Builder;" />
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)Landroid/app/people/ConversationStatus$Builder;" />
+		<method name="setStartTimeMillis(J)Landroid/app/people/ConversationStatus$Builder;" />
+	</class>
+	<class name="android/app/people/PeopleManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="addOrUpdateStatus(Ljava/lang/String;Landroid/app/people/ConversationStatus;)V" />
+		<method name="clearStatus(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="clearStatuses(Ljava/lang/String;)V" />
+		<method name="getStatuses(Ljava/lang/String;)Ljava/util/List;" />
+	</class>
+	<class name="android/app/slice/Slice" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="getHints()Ljava/util/List;" />
+		<method name="getItems()Ljava/util/List;" />
+		<method name="getSpec()Landroid/app/slice/SliceSpec;" />
+		<method name="getUri()Landroid/net/Uri;" />
+		<method name="isCallerNeeded()Z" />
+		<field name="CREATOR" />
+		<field name="EXTRA_RANGE_VALUE" />
+		<field name="EXTRA_TOGGLE_STATE" />
+		<field name="HINT_ACTIONS" />
+		<field name="HINT_ERROR" />
+		<field name="HINT_HORIZONTAL" />
+		<field name="HINT_KEYWORDS" />
+		<field name="HINT_LARGE" />
+		<field name="HINT_LAST_UPDATED" />
+		<field name="HINT_LIST" />
+		<field name="HINT_LIST_ITEM" />
+		<field name="HINT_NO_TINT" />
+		<field name="HINT_PARTIAL" />
+		<field name="HINT_PERMISSION_REQUEST" />
+		<field name="HINT_SEE_MORE" />
+		<field name="HINT_SELECTED" />
+		<field name="HINT_SHORTCUT" />
+		<field name="HINT_SUMMARY" />
+		<field name="HINT_TITLE" />
+		<field name="HINT_TTL" />
+		<field name="SUBTYPE_COLOR" />
+		<field name="SUBTYPE_CONTENT_DESCRIPTION" />
+		<field name="SUBTYPE_LAYOUT_DIRECTION" />
+		<field name="SUBTYPE_MAX" />
+		<field name="SUBTYPE_MESSAGE" />
+		<field name="SUBTYPE_MILLIS" />
+		<field name="SUBTYPE_PRIORITY" />
+		<field name="SUBTYPE_RANGE" />
+		<field name="SUBTYPE_SOURCE" />
+		<field name="SUBTYPE_TOGGLE" />
+		<field name="SUBTYPE_VALUE" />
+	</class>
+	<class name="android/app/slice/Slice$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/app/slice/Slice$Builder;)V" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;Landroid/app/slice/SliceSpec;)V" />
+		<method name="addAction(Landroid/app/PendingIntent;Landroid/app/slice/Slice;Ljava/lang/String;)Landroid/app/slice/Slice$Builder;" />
+		<method name="addBundle(Landroid/os/Bundle;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;" />
+		<method name="addHints(Ljava/util/List;)Landroid/app/slice/Slice$Builder;" />
+		<method name="addIcon(Landroid/graphics/drawable/Icon;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;" />
+		<method name="addInt(ILjava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;" />
+		<method name="addLong(JLjava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;" />
+		<method name="addRemoteInput(Landroid/app/RemoteInput;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;" />
+		<method name="addSubSlice(Landroid/app/slice/Slice;Ljava/lang/String;)Landroid/app/slice/Slice$Builder;" />
+		<method name="addText(Ljava/lang/CharSequence;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;" />
+		<method name="build()Landroid/app/slice/Slice;" />
+		<method name="setCallerNeeded(Z)Landroid/app/slice/Slice$Builder;" />
+	</class>
+	<class name="android/app/slice/SliceItem" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAction()Landroid/app/PendingIntent;" />
+		<method name="getBundle()Landroid/os/Bundle;" />
+		<method name="getFormat()Ljava/lang/String;" />
+		<method name="getHints()Ljava/util/List;" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getInt()I" />
+		<method name="getLong()J" />
+		<method name="getRemoteInput()Landroid/app/RemoteInput;" />
+		<method name="getSlice()Landroid/app/slice/Slice;" />
+		<method name="getSubType()Ljava/lang/String;" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<method name="hasHint(Ljava/lang/String;)Z" />
+		<field name="CREATOR" />
+		<field name="FORMAT_ACTION" />
+		<field name="FORMAT_BUNDLE" />
+		<field name="FORMAT_IMAGE" />
+		<field name="FORMAT_INT" />
+		<field name="FORMAT_LONG" />
+		<field name="FORMAT_REMOTE_INPUT" />
+		<field name="FORMAT_SLICE" />
+		<field name="FORMAT_TEXT" />
+	</class>
+	<class name="android/app/slice/SliceManager" since="28">
+		<extends name="java/lang/Object" />
+		<method name="bindSlice(Landroid/content/Intent;Ljava/util/Set;)Landroid/app/slice/Slice;" />
+		<method name="bindSlice(Landroid/net/Uri;Ljava/util/Set;)Landroid/app/slice/Slice;" />
+		<method name="checkSlicePermission(Landroid/net/Uri;II)I" />
+		<method name="getPinnedSlices()Ljava/util/List;" />
+		<method name="getPinnedSpecs(Landroid/net/Uri;)Ljava/util/Set;" />
+		<method name="getSliceDescendants(Landroid/net/Uri;)Ljava/util/Collection;" />
+		<method name="grantSlicePermission(Ljava/lang/String;Landroid/net/Uri;)V" />
+		<method name="mapIntentToUri(Landroid/content/Intent;)Landroid/net/Uri;" />
+		<method name="pinSlice(Landroid/net/Uri;Ljava/util/Set;)V" />
+		<method name="revokeSlicePermission(Ljava/lang/String;Landroid/net/Uri;)V" />
+		<method name="unpinSlice(Landroid/net/Uri;)V" />
+		<field name="CATEGORY_SLICE" />
+		<field name="SLICE_METADATA_KEY" />
+	</class>
+	<class name="android/app/slice/SliceMetrics" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/net/Uri;)V" />
+		<method name="logHidden()V" />
+		<method name="logTouch(ILandroid/net/Uri;)V" />
+		<method name="logVisible()V" />
+	</class>
+	<class name="android/app/slice/SliceProvider" since="28">
+		<extends name="android/content/ContentProvider" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;([Ljava/lang/String;)V" />
+		<method name="onBindSlice(Landroid/net/Uri;Ljava/util/Set;)Landroid/app/slice/Slice;" />
+		<method name="onCreatePermissionRequest(Landroid/net/Uri;)Landroid/app/PendingIntent;" />
+		<method name="onGetSliceDescendants(Landroid/net/Uri;)Ljava/util/Collection;" />
+		<method name="onMapIntentToUri(Landroid/content/Intent;)Landroid/net/Uri;" />
+		<method name="onSlicePinned(Landroid/net/Uri;)V" />
+		<method name="onSliceUnpinned(Landroid/net/Uri;)V" />
+		<field name="SLICE_TYPE" />
+	</class>
+	<class name="android/app/slice/SliceSpec" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="canRender(Landroid/app/slice/SliceSpec;)Z" />
+		<method name="getRevision()I" />
+		<method name="getType()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/usage/ConfigurationStats" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/app/usage/ConfigurationStats;)V" />
+		<method name="getActivationCount()I" />
+		<method name="getConfiguration()Landroid/content/res/Configuration;" />
+		<method name="getFirstTimeStamp()J" />
+		<method name="getLastTimeActive()J" />
+		<method name="getLastTimeStamp()J" />
+		<method name="getTotalTimeActive()J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/usage/EventStats" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/app/usage/EventStats;)V" />
+		<method name="add(Landroid/app/usage/EventStats;)V" />
+		<method name="getCount()I" />
+		<method name="getEventType()I" />
+		<method name="getFirstTimeStamp()J" />
+		<method name="getLastEventTime()J" />
+		<method name="getLastTimeStamp()J" />
+		<method name="getTotalTime()J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/usage/ExternalStorageStats" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAppBytes()J" />
+		<method name="getAudioBytes()J" />
+		<method name="getImageBytes()J" />
+		<method name="getTotalBytes()J" />
+		<method name="getVideoBytes()J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/usage/NetworkStats" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="getNextBucket(Landroid/app/usage/NetworkStats$Bucket;)Z" />
+		<method name="hasNextBucket()Z" />
+	</class>
+	<class name="android/app/usage/NetworkStats$Bucket" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getDefaultNetworkStatus()I" since="28" />
+		<method name="getEndTimeStamp()J" />
+		<method name="getMetered()I" since="26" />
+		<method name="getRoaming()I" since="24" />
+		<method name="getRxBytes()J" />
+		<method name="getRxPackets()J" />
+		<method name="getStartTimeStamp()J" />
+		<method name="getState()I" />
+		<method name="getTag()I" since="24" />
+		<method name="getTxBytes()J" />
+		<method name="getTxPackets()J" />
+		<method name="getUid()I" />
+		<field name="DEFAULT_NETWORK_ALL" since="28" />
+		<field name="DEFAULT_NETWORK_NO" since="28" />
+		<field name="DEFAULT_NETWORK_YES" since="28" />
+		<field name="METERED_ALL" since="26" />
+		<field name="METERED_NO" since="26" />
+		<field name="METERED_YES" since="26" />
+		<field name="ROAMING_ALL" since="24" />
+		<field name="ROAMING_NO" since="24" />
+		<field name="ROAMING_YES" since="24" />
+		<field name="STATE_ALL" />
+		<field name="STATE_DEFAULT" />
+		<field name="STATE_FOREGROUND" />
+		<field name="TAG_NONE" since="24" />
+		<field name="UID_ALL" />
+		<field name="UID_REMOVED" />
+		<field name="UID_TETHERING" />
+	</class>
+	<class name="android/app/usage/NetworkStatsManager" since="23">
+		<extends name="java/lang/Object" />
+		<method name="queryDetails(ILjava/lang/String;JJ)Landroid/app/usage/NetworkStats;" />
+		<method name="queryDetailsForUid(ILjava/lang/String;JJI)Landroid/app/usage/NetworkStats;" />
+		<method name="queryDetailsForUidTag(ILjava/lang/String;JJII)Landroid/app/usage/NetworkStats;" since="24" />
+		<method name="queryDetailsForUidTagState(ILjava/lang/String;JJIII)Landroid/app/usage/NetworkStats;" since="28" />
+		<method name="querySummary(ILjava/lang/String;JJ)Landroid/app/usage/NetworkStats;" />
+		<method name="querySummaryForDevice(ILjava/lang/String;JJ)Landroid/app/usage/NetworkStats$Bucket;" />
+		<method name="querySummaryForUser(ILjava/lang/String;JJ)Landroid/app/usage/NetworkStats$Bucket;" />
+		<method name="registerUsageCallback(ILjava/lang/String;JLandroid/app/usage/NetworkStatsManager$UsageCallback;)V" since="24" />
+		<method name="registerUsageCallback(ILjava/lang/String;JLandroid/app/usage/NetworkStatsManager$UsageCallback;Landroid/os/Handler;)V" since="24" />
+		<method name="unregisterUsageCallback(Landroid/app/usage/NetworkStatsManager$UsageCallback;)V" since="24" />
+	</class>
+	<class name="android/app/usage/NetworkStatsManager$UsageCallback" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onThresholdReached(ILjava/lang/String;)V" />
+	</class>
+	<class name="android/app/usage/StorageStats" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAppBytes()J" />
+		<method name="getCacheBytes()J" />
+		<method name="getDataBytes()J" />
+		<method name="getExternalCacheBytes()J" since="31" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/usage/StorageStatsManager" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getFreeBytes(Ljava/util/UUID;)J" />
+		<method name="getTotalBytes(Ljava/util/UUID;)J" />
+		<method name="queryExternalStatsForUser(Ljava/util/UUID;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats;" />
+		<method name="queryStatsForPackage(Ljava/util/UUID;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/StorageStats;" />
+		<method name="queryStatsForUid(Ljava/util/UUID;I)Landroid/app/usage/StorageStats;" />
+		<method name="queryStatsForUser(Ljava/util/UUID;Landroid/os/UserHandle;)Landroid/app/usage/StorageStats;" />
+	</class>
+	<class name="android/app/usage/UsageEvents" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getNextEvent(Landroid/app/usage/UsageEvents$Event;)Z" />
+		<method name="hasNextEvent()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/usage/UsageEvents$Event" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAppStandbyBucket()I" since="28" />
+		<method name="getClassName()Ljava/lang/String;" />
+		<method name="getConfiguration()Landroid/content/res/Configuration;" />
+		<method name="getEventType()I" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getShortcutId()Ljava/lang/String;" since="25" />
+		<method name="getTimeStamp()J" />
+		<field name="ACTIVITY_PAUSED" since="29" />
+		<field name="ACTIVITY_RESUMED" since="29" />
+		<field name="ACTIVITY_STOPPED" since="29" />
+		<field name="CONFIGURATION_CHANGE" />
+		<field name="DEVICE_SHUTDOWN" since="29" />
+		<field name="DEVICE_STARTUP" since="29" />
+		<field name="FOREGROUND_SERVICE_START" since="29" />
+		<field name="FOREGROUND_SERVICE_STOP" since="29" />
+		<field name="KEYGUARD_HIDDEN" since="28" />
+		<field name="KEYGUARD_SHOWN" since="28" />
+		<field name="MOVE_TO_BACKGROUND" deprecated="29" />
+		<field name="MOVE_TO_FOREGROUND" deprecated="29" />
+		<field name="NONE" />
+		<field name="SCREEN_INTERACTIVE" since="28" />
+		<field name="SCREEN_NON_INTERACTIVE" since="28" />
+		<field name="SHORTCUT_INVOCATION" since="25" />
+		<field name="STANDBY_BUCKET_CHANGED" since="28" />
+		<field name="USER_INTERACTION" since="23" />
+	</class>
+	<class name="android/app/usage/UsageStats" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/app/usage/UsageStats;)V" />
+		<method name="add(Landroid/app/usage/UsageStats;)V" />
+		<method name="getFirstTimeStamp()J" />
+		<method name="getLastTimeForegroundServiceUsed()J" since="29" />
+		<method name="getLastTimeStamp()J" />
+		<method name="getLastTimeUsed()J" />
+		<method name="getLastTimeVisible()J" since="29" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getTotalTimeForegroundServiceUsed()J" since="29" />
+		<method name="getTotalTimeInForeground()J" />
+		<method name="getTotalTimeVisible()J" since="29" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/app/usage/UsageStatsManager" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getAppStandbyBucket()I" since="28" />
+		<method name="isAppInactive(Ljava/lang/String;)Z" since="23" />
+		<method name="queryAndAggregateUsageStats(JJ)Ljava/util/Map;" />
+		<method name="queryConfigurations(IJJ)Ljava/util/List;" />
+		<method name="queryEventStats(IJJ)Ljava/util/List;" since="28" />
+		<method name="queryEvents(JJ)Landroid/app/usage/UsageEvents;" />
+		<method name="queryEventsForSelf(JJ)Landroid/app/usage/UsageEvents;" since="28" />
+		<method name="queryUsageStats(IJJ)Ljava/util/List;" />
+		<field name="INTERVAL_BEST" />
+		<field name="INTERVAL_DAILY" />
+		<field name="INTERVAL_MONTHLY" />
+		<field name="INTERVAL_WEEKLY" />
+		<field name="INTERVAL_YEARLY" />
+		<field name="STANDBY_BUCKET_ACTIVE" since="28" />
+		<field name="STANDBY_BUCKET_FREQUENT" since="28" />
+		<field name="STANDBY_BUCKET_RARE" since="28" />
+		<field name="STANDBY_BUCKET_RESTRICTED" since="30" />
+		<field name="STANDBY_BUCKET_WORKING_SET" since="28" />
+	</class>
+	<class name="android/appwidget/AppWidgetHost" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" />
+		<method name="allocateAppWidgetId()I" />
+		<method name="clearViews()V" since="11" />
+		<method name="createView(Landroid/content/Context;ILandroid/appwidget/AppWidgetProviderInfo;)Landroid/appwidget/AppWidgetHostView;" />
+		<method name="deleteAllHosts()V" />
+		<method name="deleteAppWidgetId(I)V" />
+		<method name="deleteHost()V" />
+		<method name="getAppWidgetIds()[I" since="26" />
+		<method name="onAppWidgetRemoved(I)V" since="30" />
+		<method name="onCreateView(Landroid/content/Context;ILandroid/appwidget/AppWidgetProviderInfo;)Landroid/appwidget/AppWidgetHostView;" />
+		<method name="onProviderChanged(ILandroid/appwidget/AppWidgetProviderInfo;)V" />
+		<method name="onProvidersChanged()V" since="17" />
+		<method name="startAppWidgetConfigureActivityForResult(Landroid/app/Activity;IIILandroid/os/Bundle;)V" since="21" />
+		<method name="startListening()V" />
+		<method name="stopListening()V" />
+	</class>
+	<class name="android/appwidget/AppWidgetHostView" since="3">
+		<extends name="android/widget/FrameLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;II)V" />
+		<method name="getAppWidgetId()I" />
+		<method name="getAppWidgetInfo()Landroid/appwidget/AppWidgetProviderInfo;" />
+		<method name="getDefaultPaddingForWidget(Landroid/content/Context;Landroid/content/ComponentName;Landroid/graphics/Rect;)Landroid/graphics/Rect;" since="15" />
+		<method name="getDefaultView()Landroid/view/View;" />
+		<method name="getErrorView()Landroid/view/View;" />
+		<method name="prepareView(Landroid/view/View;)V" />
+		<method name="resetColorResources()V" since="31" />
+		<method name="setAppWidget(ILandroid/appwidget/AppWidgetProviderInfo;)V" />
+		<method name="setColorResources(Landroid/util/SparseIntArray;)V" since="31" />
+		<method name="setExecutor(Ljava/util/concurrent/Executor;)V" since="26" />
+		<method name="setOnLightBackground(Z)V" since="29" />
+		<method name="updateAppWidget(Landroid/widget/RemoteViews;)V" />
+		<method name="updateAppWidgetOptions(Landroid/os/Bundle;)V" since="16" />
+		<method name="updateAppWidgetSize(Landroid/os/Bundle;IIII)V" since="16" deprecated="31" />
+		<method name="updateAppWidgetSize(Landroid/os/Bundle;Ljava/util/List;)V" since="31" />
+	</class>
+	<class name="android/appwidget/AppWidgetManager" since="3">
+		<extends name="java/lang/Object" />
+		<method name="bindAppWidgetId(ILandroid/content/ComponentName;)V" removed="16" />
+		<method name="bindAppWidgetIdIfAllowed(ILandroid/content/ComponentName;)Z" since="16" />
+		<method name="bindAppWidgetIdIfAllowed(ILandroid/content/ComponentName;Landroid/os/Bundle;)Z" since="17" />
+		<method name="bindAppWidgetIdIfAllowed(ILandroid/os/UserHandle;Landroid/content/ComponentName;Landroid/os/Bundle;)Z" since="21" />
+		<method name="getAppWidgetIds(Landroid/content/ComponentName;)[I" />
+		<method name="getAppWidgetInfo(I)Landroid/appwidget/AppWidgetProviderInfo;" />
+		<method name="getAppWidgetOptions(I)Landroid/os/Bundle;" since="16" />
+		<method name="getInstalledProviders()Ljava/util/List;" />
+		<method name="getInstalledProvidersForPackage(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;" since="26" />
+		<method name="getInstalledProvidersForProfile(Landroid/os/UserHandle;)Ljava/util/List;" since="21" />
+		<method name="getInstance(Landroid/content/Context;)Landroid/appwidget/AppWidgetManager;" />
+		<method name="isRequestPinAppWidgetSupported()Z" since="26" />
+		<method name="notifyAppWidgetViewDataChanged(II)V" since="11" />
+		<method name="notifyAppWidgetViewDataChanged([II)V" since="11" />
+		<method name="partiallyUpdateAppWidget(ILandroid/widget/RemoteViews;)V" since="11" />
+		<method name="partiallyUpdateAppWidget([ILandroid/widget/RemoteViews;)V" since="11" />
+		<method name="requestPinAppWidget(Landroid/content/ComponentName;Landroid/os/Bundle;Landroid/app/PendingIntent;)Z" since="26" />
+		<method name="updateAppWidget(ILandroid/widget/RemoteViews;)V" />
+		<method name="updateAppWidget(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V" />
+		<method name="updateAppWidget([ILandroid/widget/RemoteViews;)V" />
+		<method name="updateAppWidgetOptions(ILandroid/os/Bundle;)V" since="16" />
+		<method name="updateAppWidgetProviderInfo(Landroid/content/ComponentName;Ljava/lang/String;)V" since="28" />
+		<field name="ACTION_APPWIDGET_BIND" since="16" />
+		<field name="ACTION_APPWIDGET_CONFIGURE" />
+		<field name="ACTION_APPWIDGET_DELETED" />
+		<field name="ACTION_APPWIDGET_DISABLED" />
+		<field name="ACTION_APPWIDGET_ENABLED" />
+		<field name="ACTION_APPWIDGET_HOST_RESTORED" since="21" />
+		<field name="ACTION_APPWIDGET_OPTIONS_CHANGED" since="16" />
+		<field name="ACTION_APPWIDGET_PICK" />
+		<field name="ACTION_APPWIDGET_RESTORED" since="21" />
+		<field name="ACTION_APPWIDGET_UPDATE" />
+		<field name="EXTRA_APPWIDGET_ID" />
+		<field name="EXTRA_APPWIDGET_IDS" />
+		<field name="EXTRA_APPWIDGET_OLD_IDS" since="21" />
+		<field name="EXTRA_APPWIDGET_OPTIONS" since="16" />
+		<field name="EXTRA_APPWIDGET_PREVIEW" since="26" />
+		<field name="EXTRA_APPWIDGET_PROVIDER" since="16" />
+		<field name="EXTRA_APPWIDGET_PROVIDER_PROFILE" since="21" />
+		<field name="EXTRA_CUSTOM_EXTRAS" />
+		<field name="EXTRA_CUSTOM_INFO" />
+		<field name="EXTRA_HOST_ID" since="21" />
+		<field name="INVALID_APPWIDGET_ID" />
+		<field name="META_DATA_APPWIDGET_PROVIDER" />
+		<field name="OPTION_APPWIDGET_HOST_CATEGORY" since="17" />
+		<field name="OPTION_APPWIDGET_MAX_HEIGHT" since="16" />
+		<field name="OPTION_APPWIDGET_MAX_WIDTH" since="16" />
+		<field name="OPTION_APPWIDGET_MIN_HEIGHT" since="16" />
+		<field name="OPTION_APPWIDGET_MIN_WIDTH" since="16" />
+		<field name="OPTION_APPWIDGET_RESTORE_COMPLETED" since="30" />
+		<field name="OPTION_APPWIDGET_SIZES" since="31" />
+	</class>
+	<class name="android/appwidget/AppWidgetProvider" since="3">
+		<extends name="android/content/BroadcastReceiver" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAppWidgetOptionsChanged(Landroid/content/Context;Landroid/appwidget/AppWidgetManager;ILandroid/os/Bundle;)V" since="16" />
+		<method name="onDeleted(Landroid/content/Context;[I)V" />
+		<method name="onDisabled(Landroid/content/Context;)V" />
+		<method name="onEnabled(Landroid/content/Context;)V" />
+		<method name="onRestored(Landroid/content/Context;[I[I)V" since="21" />
+		<method name="onUpdate(Landroid/content/Context;Landroid/appwidget/AppWidgetManager;[I)V" />
+	</class>
+	<class name="android/appwidget/AppWidgetProviderInfo" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="clone()Landroid/appwidget/AppWidgetProviderInfo;" since="17" />
+		<method name="getActivityInfo()Landroid/content/pm/ActivityInfo;" since="31" />
+		<method name="getProfile()Landroid/os/UserHandle;" since="21" />
+		<method name="loadDescription(Landroid/content/Context;)Ljava/lang/CharSequence;" since="31" />
+		<method name="loadIcon(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;" since="21" />
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/String;" since="21" />
+		<method name="loadPreviewImage(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;" since="21" />
+		<field name="CREATOR" />
+		<field name="RESIZE_BOTH" since="12" />
+		<field name="RESIZE_HORIZONTAL" since="12" />
+		<field name="RESIZE_NONE" since="12" />
+		<field name="RESIZE_VERTICAL" since="12" />
+		<field name="WIDGET_CATEGORY_HOME_SCREEN" since="17" />
+		<field name="WIDGET_CATEGORY_KEYGUARD" since="17" />
+		<field name="WIDGET_CATEGORY_SEARCHBOX" since="21" />
+		<field name="WIDGET_FEATURE_CONFIGURATION_OPTIONAL" since="31" />
+		<field name="WIDGET_FEATURE_HIDE_FROM_PICKER" since="28" />
+		<field name="WIDGET_FEATURE_RECONFIGURABLE" since="28" />
+		<field name="autoAdvanceViewId" since="11" />
+		<field name="configure" />
+		<field name="descriptionRes" since="31" />
+		<field name="icon" />
+		<field name="initialKeyguardLayout" since="17" />
+		<field name="initialLayout" />
+		<field name="label" deprecated="21" />
+		<field name="maxResizeHeight" since="31" />
+		<field name="maxResizeWidth" since="31" />
+		<field name="minHeight" />
+		<field name="minResizeHeight" since="14" />
+		<field name="minResizeWidth" since="14" />
+		<field name="minWidth" />
+		<field name="previewImage" since="11" />
+		<field name="previewLayout" since="31" />
+		<field name="provider" />
+		<field name="resizeMode" since="12" />
+		<field name="targetCellHeight" since="31" />
+		<field name="targetCellWidth" since="31" />
+		<field name="updatePeriodMillis" />
+		<field name="widgetCategory" since="17" />
+		<field name="widgetFeatures" since="28" />
+	</class>
+	<class name="android/bluetooth/BluetoothA2dp" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/bluetooth/BluetoothProfile" />
+		<method name="isA2dpPlaying(Landroid/bluetooth/BluetoothDevice;)Z" />
+		<field name="ACTION_CONNECTION_STATE_CHANGED" />
+		<field name="ACTION_PLAYING_STATE_CHANGED" />
+		<field name="STATE_NOT_PLAYING" />
+		<field name="STATE_PLAYING" />
+	</class>
+	<class name="android/bluetooth/BluetoothAdapter" since="5">
+		<extends name="java/lang/Object" />
+		<method name="cancelDiscovery()Z" />
+		<method name="checkBluetoothAddress(Ljava/lang/String;)Z" />
+		<method name="closeProfileProxy(ILandroid/bluetooth/BluetoothProfile;)V" since="11" />
+		<method name="disable()Z" />
+		<method name="enable()Z" />
+		<method name="getAddress()Ljava/lang/String;" />
+		<method name="getBluetoothLeAdvertiser()Landroid/bluetooth/le/BluetoothLeAdvertiser;" since="21" />
+		<method name="getBluetoothLeScanner()Landroid/bluetooth/le/BluetoothLeScanner;" since="21" />
+		<method name="getBondedDevices()Ljava/util/Set;" />
+		<method name="getDefaultAdapter()Landroid/bluetooth/BluetoothAdapter;" deprecated="31" />
+		<method name="getLeMaximumAdvertisingDataLength()I" since="26" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getProfileConnectionState(I)I" since="14" />
+		<method name="getProfileProxy(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;I)Z" since="11" />
+		<method name="getRemoteDevice(Ljava/lang/String;)Landroid/bluetooth/BluetoothDevice;" />
+		<method name="getRemoteDevice([B)Landroid/bluetooth/BluetoothDevice;" since="16" />
+		<method name="getScanMode()I" />
+		<method name="getState()I" />
+		<method name="isDiscovering()Z" />
+		<method name="isEnabled()Z" />
+		<method name="isLe2MPhySupported()Z" since="26" />
+		<method name="isLeCodedPhySupported()Z" since="26" />
+		<method name="isLeExtendedAdvertisingSupported()Z" since="26" />
+		<method name="isLePeriodicAdvertisingSupported()Z" since="26" />
+		<method name="isMultipleAdvertisementSupported()Z" since="21" />
+		<method name="isOffloadedFilteringSupported()Z" since="21" />
+		<method name="isOffloadedScanBatchingSupported()Z" since="21" />
+		<method name="listenUsingInsecureL2capChannel()Landroid/bluetooth/BluetoothServerSocket;" since="29" />
+		<method name="listenUsingInsecureRfcommWithServiceRecord(Ljava/lang/String;Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;" since="10" />
+		<method name="listenUsingL2capChannel()Landroid/bluetooth/BluetoothServerSocket;" since="29" />
+		<method name="listenUsingRfcommWithServiceRecord(Ljava/lang/String;Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;" />
+		<method name="setName(Ljava/lang/String;)Z" />
+		<method name="startDiscovery()Z" />
+		<method name="startLeScan(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z" since="18" deprecated="21" />
+		<method name="startLeScan([Ljava/util/UUID;Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z" since="18" deprecated="21" />
+		<method name="stopLeScan(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)V" since="18" deprecated="21" />
+		<field name="ACTION_CONNECTION_STATE_CHANGED" since="11" />
+		<field name="ACTION_DISCOVERY_FINISHED" />
+		<field name="ACTION_DISCOVERY_STARTED" />
+		<field name="ACTION_LOCAL_NAME_CHANGED" />
+		<field name="ACTION_REQUEST_DISCOVERABLE" />
+		<field name="ACTION_REQUEST_ENABLE" />
+		<field name="ACTION_SCAN_MODE_CHANGED" />
+		<field name="ACTION_STATE_CHANGED" />
+		<field name="ERROR" />
+		<field name="EXTRA_CONNECTION_STATE" since="11" />
+		<field name="EXTRA_DISCOVERABLE_DURATION" />
+		<field name="EXTRA_LOCAL_NAME" />
+		<field name="EXTRA_PREVIOUS_CONNECTION_STATE" since="11" />
+		<field name="EXTRA_PREVIOUS_SCAN_MODE" />
+		<field name="EXTRA_PREVIOUS_STATE" />
+		<field name="EXTRA_SCAN_MODE" />
+		<field name="EXTRA_STATE" />
+		<field name="SCAN_MODE_CONNECTABLE" />
+		<field name="SCAN_MODE_CONNECTABLE_DISCOVERABLE" />
+		<field name="SCAN_MODE_NONE" />
+		<field name="STATE_CONNECTED" since="11" />
+		<field name="STATE_CONNECTING" since="11" />
+		<field name="STATE_DISCONNECTED" since="11" />
+		<field name="STATE_DISCONNECTING" since="11" />
+		<field name="STATE_OFF" />
+		<field name="STATE_ON" />
+		<field name="STATE_TURNING_OFF" />
+		<field name="STATE_TURNING_ON" />
+	</class>
+	<class name="android/bluetooth/BluetoothAdapter$LeScanCallback" since="18">
+		<extends name="java/lang/Object" />
+		<method name="onLeScan(Landroid/bluetooth/BluetoothDevice;I[B)V" />
+	</class>
+	<class name="android/bluetooth/BluetoothAssignedNumbers" since="11">
+		<extends name="java/lang/Object" />
+		<field name="AAMP_OF_AMERICA" since="19" />
+		<field name="ACCEL_SEMICONDUCTOR" />
+		<field name="ACE_SENSOR" since="19" />
+		<field name="ADIDAS" since="19" />
+		<field name="ADVANCED_PANMOBIL_SYSTEMS" since="19" />
+		<field name="AIROHA_TECHNOLOGY" since="19" />
+		<field name="ALCATEL" />
+		<field name="ALPWISE" since="19" />
+		<field name="AMICCOM_ELECTRONICS" since="19" />
+		<field name="APLIX" since="19" />
+		<field name="APPLE" />
+		<field name="APT_LICENSING" />
+		<field name="ARCHOS" since="19" />
+		<field name="ARP_DEVICES" since="19" />
+		<field name="ATHEROS_COMMUNICATIONS" />
+		<field name="ATMEL" />
+		<field name="AUSTCO_COMMUNICATION_SYSTEMS" since="19" />
+		<field name="AUTONET_MOBILE" since="19" />
+		<field name="AVAGO" />
+		<field name="AVM_BERLIN" />
+		<field name="A_AND_D_ENGINEERING" since="19" />
+		<field name="A_AND_R_CAMBRIDGE" since="19" />
+		<field name="BANDSPEED" />
+		<field name="BAND_XI_INTERNATIONAL" since="19" />
+		<field name="BDE_TECHNOLOGY" since="19" />
+		<field name="BEATS_ELECTRONICS" since="19" />
+		<field name="BEAUTIFUL_ENTERPRISE" since="19" />
+		<field name="BEKEY" since="19" />
+		<field name="BELKIN_INTERNATIONAL" />
+		<field name="BINAURIC" since="19" />
+		<field name="BIOSENTRONICS" since="19" />
+		<field name="BLUEGIGA" />
+		<field name="BLUERADIOS" since="19" />
+		<field name="BLUETOOTH_SIG" />
+		<field name="BLUETREK_TECHNOLOGIES" since="19" />
+		<field name="BOSE" since="19" />
+		<field name="BRIARTEK" since="19" />
+		<field name="BROADCOM" />
+		<field name="CAEN_RFID" since="19" />
+		<field name="CAMBRIDGE_SILICON_RADIO" />
+		<field name="CATC" />
+		<field name="CINETIX" since="19" />
+		<field name="CLARINOX_TECHNOLOGIES" since="19" />
+		<field name="COLORFY" since="19" />
+		<field name="COMMIL" />
+		<field name="CONEXANT_SYSTEMS" />
+		<field name="CONNECTBLUE" since="19" />
+		<field name="CONTINENTAL_AUTOMOTIVE" />
+		<field name="CONWISE_TECHNOLOGY" />
+		<field name="CREATIVE_TECHNOLOGY" since="19" />
+		<field name="C_TECHNOLOGIES" />
+		<field name="DANLERS" since="19" />
+		<field name="DELORME_PUBLISHING_COMPANY" since="19" />
+		<field name="DEXCOM" since="19" />
+		<field name="DIALOG_SEMICONDUCTOR" since="19" />
+		<field name="DIGIANSWER" />
+		<field name="ECLIPSE" />
+		<field name="ECOTEST" since="19" />
+		<field name="ELGATO_SYSTEMS" since="19" />
+		<field name="EM_MICROELECTRONIC_MARIN" />
+		<field name="EQUINOX_AG" since="19" />
+		<field name="ERICSSON_TECHNOLOGY" />
+		<field name="EVLUMA" since="19" />
+		<field name="FREE2MOVE" />
+		<field name="FUNAI_ELECTRIC" since="19" />
+		<field name="GARMIN_INTERNATIONAL" since="19" />
+		<field name="GCT_SEMICONDUCTOR" />
+		<field name="GELO" since="19" />
+		<field name="GENEQ" since="19" />
+		<field name="GENERAL_MOTORS" since="19" />
+		<field name="GENNUM" />
+		<field name="GEOFORCE" since="19" />
+		<field name="GIBSON_GUITARS" since="19" />
+		<field name="GN_NETCOM" since="19" />
+		<field name="GN_RESOUND" since="19" />
+		<field name="GOOGLE" since="19" />
+		<field name="GREEN_THROTTLE_GAMES" since="19" />
+		<field name="GROUP_SENSE" since="19" />
+		<field name="HANLYNN_TECHNOLOGIES" since="19" />
+		<field name="HARMAN_INTERNATIONAL" />
+		<field name="HEWLETT_PACKARD" since="19" />
+		<field name="HITACHI" />
+		<field name="HOSIDEN" since="19" />
+		<field name="IBM" />
+		<field name="INFINEON_TECHNOLOGIES" />
+		<field name="INGENIEUR_SYSTEMGRUPPE_ZAHN" since="19" />
+		<field name="INTEGRATED_SILICON_SOLUTION" />
+		<field name="INTEGRATED_SYSTEM_SOLUTION" />
+		<field name="INTEL" />
+		<field name="INVENTEL" />
+		<field name="IPEXTREME" />
+		<field name="I_TECH_DYNAMIC_GLOBAL_DISTRIBUTION" since="19" />
+		<field name="JAWBONE" since="19" />
+		<field name="JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS" since="19" />
+		<field name="JOHNSON_CONTROLS" since="19" />
+		<field name="J_AND_M" />
+		<field name="KAWANTECH" since="19" />
+		<field name="KC_TECHNOLOGY" />
+		<field name="KENSINGTON_COMPUTER_PRODUCTS_GROUP" since="19" />
+		<field name="LAIRD_TECHNOLOGIES" since="19" />
+		<field name="LESSWIRE" since="19" />
+		<field name="LG_ELECTRONICS" since="19" />
+		<field name="LINAK" since="19" />
+		<field name="LUCENT" />
+		<field name="LUDUS_HELSINKI" since="19" />
+		<field name="MACRONIX" />
+		<field name="MAGNETI_MARELLI" since="19" />
+		<field name="MANSELLA" />
+		<field name="MARVELL" />
+		<field name="MATSUSHITA_ELECTRIC" />
+		<field name="MC10" since="19" />
+		<field name="MEDIATEK" />
+		<field name="MESO_INTERNATIONAL" since="19" />
+		<field name="META_WATCH" since="19" />
+		<field name="MEWTEL_TECHNOLOGY" />
+		<field name="MICOMMAND" since="19" />
+		<field name="MICROCHIP_TECHNOLOGY" since="19" />
+		<field name="MICROSOFT" />
+		<field name="MINDTREE" since="19" />
+		<field name="MISFIT_WEARABLES" since="19" />
+		<field name="MITEL_SEMICONDUCTOR" />
+		<field name="MITSUBISHI_ELECTRIC" />
+		<field name="MOBILIAN_CORPORATION" />
+		<field name="MONSTER" since="19" />
+		<field name="MOTOROLA" />
+		<field name="MSTAR_SEMICONDUCTOR" since="19" />
+		<field name="MUZIK" since="19" />
+		<field name="NEC" />
+		<field name="NEC_LIGHTING" since="19" />
+		<field name="NEWLOGIC" />
+		<field name="NIKE" since="19" />
+		<field name="NINE_SOLUTIONS" since="19" />
+		<field name="NOKIA_MOBILE_PHONES" />
+		<field name="NORDIC_SEMICONDUCTOR" />
+		<field name="NORWOOD_SYSTEMS" />
+		<field name="ODM_TECHNOLOGY" since="19" />
+		<field name="OMEGAWAVE" since="19" />
+		<field name="ONSET_COMPUTER" since="19" />
+		<field name="OPEN_INTERFACE" />
+		<field name="OTL_DYNAMICS" since="19" />
+		<field name="PANDA_OCEAN" since="19" />
+		<field name="PARROT" />
+		<field name="PARTHUS_TECHNOLOGIES" />
+		<field name="PASSIF_SEMICONDUCTOR" since="19" />
+		<field name="PETER_SYSTEMTECHNIK" since="19" />
+		<field name="PHILIPS_SEMICONDUCTORS" />
+		<field name="PLANTRONICS" />
+		<field name="POLAR_ELECTRO" since="19" />
+		<field name="POLAR_ELECTRO_EUROPE" since="19" />
+		<field name="PROCTER_AND_GAMBLE" since="19" />
+		<field name="QUALCOMM" />
+		<field name="QUALCOMM_CONNECTED_EXPERIENCES" since="19" />
+		<field name="QUALCOMM_INNOVATION_CENTER" since="19" />
+		<field name="QUALCOMM_LABS" since="19" />
+		<field name="QUALCOMM_TECHNOLOGIES" since="19" />
+		<field name="QUINTIC" since="19" />
+		<field name="QUUPPA" since="19" />
+		<field name="RALINK_TECHNOLOGY" />
+		<field name="RDA_MICROELECTRONICS" since="19" />
+		<field name="REALTEK_SEMICONDUCTOR" />
+		<field name="RED_M" />
+		<field name="RENESAS_TECHNOLOGY" />
+		<field name="RESEARCH_IN_MOTION" />
+		<field name="RF_MICRO_DEVICES" />
+		<field name="RIVIERAWAVES" />
+		<field name="ROHDE_AND_SCHWARZ" />
+		<field name="RTX_TELECOM" />
+		<field name="SAMSUNG_ELECTRONICS" since="19" />
+		<field name="SARIS_CYCLING_GROUP" since="19" />
+		<field name="SEERS_TECHNOLOGY" since="19" />
+		<field name="SEIKO_EPSON" />
+		<field name="SELFLY" since="19" />
+		<field name="SEMILINK" since="19" />
+		<field name="SENNHEISER_COMMUNICATIONS" since="19" />
+		<field name="SHANGHAI_SUPER_SMART_ELECTRONICS" since="19" />
+		<field name="SHENZHEN_EXCELSECU_DATA_TECHNOLOGY" since="19" />
+		<field name="SIGNIA_TECHNOLOGIES" />
+		<field name="SILICON_WAVE" />
+		<field name="SIRF_TECHNOLOGY" />
+		<field name="SOCKET_MOBILE" />
+		<field name="SONY_ERICSSON" />
+		<field name="SOUND_ID" since="19" />
+		<field name="SPORTS_TRACKING_TECHNOLOGIES" since="19" />
+		<field name="SR_MEDIZINELEKTRONIK" since="19" />
+		<field name="STACCATO_COMMUNICATIONS" />
+		<field name="STALMART_TECHNOLOGY" since="19" />
+		<field name="STARKEY_LABORATORIES" since="19" />
+		<field name="STOLLMAN_E_PLUS_V" since="19" />
+		<field name="STONESTREET_ONE" />
+		<field name="ST_MICROELECTRONICS" />
+		<field name="SUMMIT_DATA_COMMUNICATIONS" since="19" />
+		<field name="SUUNTO" since="19" />
+		<field name="SWIRL_NETWORKS" since="19" />
+		<field name="SYMBOL_TECHNOLOGIES" />
+		<field name="SYNOPSYS" />
+		<field name="SYSTEMS_AND_CHIPS" />
+		<field name="S_POWER_ELECTRONICS" since="19" />
+		<field name="TAIXINGBANG_TECHNOLOGY" since="19" />
+		<field name="TENOVIS" />
+		<field name="TERAX" />
+		<field name="TEXAS_INSTRUMENTS" />
+		<field name="THINKOPTICS" since="19" />
+		<field name="THREECOM" />
+		<field name="THREE_DIJOY" />
+		<field name="THREE_DSP" />
+		<field name="TIMEKEEPING_SYSTEMS" since="19" />
+		<field name="TIMEX_GROUP_USA" since="19" />
+		<field name="TOPCORN_POSITIONING_SYSTEMS" since="19" />
+		<field name="TOSHIBA" />
+		<field name="TRANSILICA" />
+		<field name="TRELAB" since="19" />
+		<field name="TTPCOM" />
+		<field name="TXTR" since="19" />
+		<field name="TZERO_TECHNOLOGIES" />
+		<field name="UNIVERSAL_ELECTRONICS" since="19" />
+		<field name="VERTU" since="19" />
+		<field name="VISTEON" since="19" />
+		<field name="VIZIO" />
+		<field name="VOYETRA_TURTLE_BEACH" since="19" />
+		<field name="WAVEPLUS_TECHNOLOGY" />
+		<field name="WICENTRIC" />
+		<field name="WIDCOMM" />
+		<field name="WUXI_VIMICRO" since="19" />
+		<field name="ZEEVO" />
+		<field name="ZER01_TV" since="19" />
+		<field name="ZOMM" since="19" />
+		<field name="ZSCAN_SOFTWARE" since="19" />
+	</class>
+	<class name="android/bluetooth/BluetoothClass" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDeviceClass()I" />
+		<method name="getMajorDeviceClass()I" />
+		<method name="hasService(I)Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/bluetooth/BluetoothClass$Device" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="AUDIO_VIDEO_CAMCORDER" />
+		<field name="AUDIO_VIDEO_CAR_AUDIO" />
+		<field name="AUDIO_VIDEO_HANDSFREE" />
+		<field name="AUDIO_VIDEO_HEADPHONES" />
+		<field name="AUDIO_VIDEO_HIFI_AUDIO" />
+		<field name="AUDIO_VIDEO_LOUDSPEAKER" />
+		<field name="AUDIO_VIDEO_MICROPHONE" />
+		<field name="AUDIO_VIDEO_PORTABLE_AUDIO" />
+		<field name="AUDIO_VIDEO_SET_TOP_BOX" />
+		<field name="AUDIO_VIDEO_UNCATEGORIZED" />
+		<field name="AUDIO_VIDEO_VCR" />
+		<field name="AUDIO_VIDEO_VIDEO_CAMERA" />
+		<field name="AUDIO_VIDEO_VIDEO_CONFERENCING" />
+		<field name="AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER" />
+		<field name="AUDIO_VIDEO_VIDEO_GAMING_TOY" />
+		<field name="AUDIO_VIDEO_VIDEO_MONITOR" />
+		<field name="AUDIO_VIDEO_WEARABLE_HEADSET" />
+		<field name="COMPUTER_DESKTOP" />
+		<field name="COMPUTER_HANDHELD_PC_PDA" />
+		<field name="COMPUTER_LAPTOP" />
+		<field name="COMPUTER_PALM_SIZE_PC_PDA" />
+		<field name="COMPUTER_SERVER" />
+		<field name="COMPUTER_UNCATEGORIZED" />
+		<field name="COMPUTER_WEARABLE" />
+		<field name="HEALTH_BLOOD_PRESSURE" />
+		<field name="HEALTH_DATA_DISPLAY" />
+		<field name="HEALTH_GLUCOSE" />
+		<field name="HEALTH_PULSE_OXIMETER" />
+		<field name="HEALTH_PULSE_RATE" />
+		<field name="HEALTH_THERMOMETER" />
+		<field name="HEALTH_UNCATEGORIZED" />
+		<field name="HEALTH_WEIGHING" />
+		<field name="PHONE_CELLULAR" />
+		<field name="PHONE_CORDLESS" />
+		<field name="PHONE_ISDN" />
+		<field name="PHONE_MODEM_OR_GATEWAY" />
+		<field name="PHONE_SMART" />
+		<field name="PHONE_UNCATEGORIZED" />
+		<field name="TOY_CONTROLLER" />
+		<field name="TOY_DOLL_ACTION_FIGURE" />
+		<field name="TOY_GAME" />
+		<field name="TOY_ROBOT" />
+		<field name="TOY_UNCATEGORIZED" />
+		<field name="TOY_VEHICLE" />
+		<field name="WEARABLE_GLASSES" />
+		<field name="WEARABLE_HELMET" />
+		<field name="WEARABLE_JACKET" />
+		<field name="WEARABLE_PAGER" />
+		<field name="WEARABLE_UNCATEGORIZED" />
+		<field name="WEARABLE_WRIST_WATCH" />
+	</class>
+	<class name="android/bluetooth/BluetoothClass$Device$Major" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="AUDIO_VIDEO" />
+		<field name="COMPUTER" />
+		<field name="HEALTH" />
+		<field name="IMAGING" />
+		<field name="MISC" />
+		<field name="NETWORKING" />
+		<field name="PERIPHERAL" />
+		<field name="PHONE" />
+		<field name="TOY" />
+		<field name="UNCATEGORIZED" />
+		<field name="WEARABLE" />
+	</class>
+	<class name="android/bluetooth/BluetoothClass$Service" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="AUDIO" />
+		<field name="CAPTURE" />
+		<field name="INFORMATION" />
+		<field name="LIMITED_DISCOVERABILITY" />
+		<field name="NETWORKING" />
+		<field name="OBJECT_TRANSFER" />
+		<field name="POSITIONING" />
+		<field name="RENDER" />
+		<field name="TELEPHONY" />
+	</class>
+	<class name="android/bluetooth/BluetoothDevice" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;)Landroid/bluetooth/BluetoothGatt;" since="18" />
+		<method name="connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;I)Landroid/bluetooth/BluetoothGatt;" since="23" />
+		<method name="connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;II)Landroid/bluetooth/BluetoothGatt;" since="26" />
+		<method name="connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;IILandroid/os/Handler;)Landroid/bluetooth/BluetoothGatt;" since="26" />
+		<method name="createBond()Z" since="19" />
+		<method name="createInsecureL2capChannel(I)Landroid/bluetooth/BluetoothSocket;" since="29" />
+		<method name="createInsecureRfcommSocketToServiceRecord(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;" since="10" />
+		<method name="createL2capChannel(I)Landroid/bluetooth/BluetoothSocket;" since="29" />
+		<method name="createRfcommSocketToServiceRecord(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;" />
+		<method name="fetchUuidsWithSdp()Z" since="15" />
+		<method name="getAddress()Ljava/lang/String;" />
+		<method name="getAlias()Ljava/lang/String;" since="30" />
+		<method name="getBluetoothClass()Landroid/bluetooth/BluetoothClass;" />
+		<method name="getBondState()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getType()I" since="18" />
+		<method name="getUuids()[Landroid/os/ParcelUuid;" since="15" />
+		<method name="setAlias(Ljava/lang/String;)I" since="31" />
+		<method name="setPairingConfirmation(Z)Z" since="19" />
+		<method name="setPin([B)Z" since="19" />
+		<field name="ACTION_ACL_CONNECTED" />
+		<field name="ACTION_ACL_DISCONNECTED" />
+		<field name="ACTION_ACL_DISCONNECT_REQUESTED" />
+		<field name="ACTION_ALIAS_CHANGED" since="30" />
+		<field name="ACTION_BOND_STATE_CHANGED" />
+		<field name="ACTION_CLASS_CHANGED" />
+		<field name="ACTION_FOUND" />
+		<field name="ACTION_NAME_CHANGED" />
+		<field name="ACTION_PAIRING_REQUEST" since="19" />
+		<field name="ACTION_UUID" since="15" />
+		<field name="ADDRESS_TYPE_PUBLIC" since="31" />
+		<field name="ADDRESS_TYPE_RANDOM" since="31" />
+		<field name="BOND_BONDED" />
+		<field name="BOND_BONDING" />
+		<field name="BOND_NONE" />
+		<field name="CREATOR" />
+		<field name="DEVICE_TYPE_CLASSIC" since="18" />
+		<field name="DEVICE_TYPE_DUAL" since="18" />
+		<field name="DEVICE_TYPE_LE" since="18" />
+		<field name="DEVICE_TYPE_UNKNOWN" since="18" />
+		<field name="ERROR" />
+		<field name="EXTRA_BOND_STATE" />
+		<field name="EXTRA_CLASS" />
+		<field name="EXTRA_DEVICE" />
+		<field name="EXTRA_NAME" />
+		<field name="EXTRA_PAIRING_KEY" since="19" />
+		<field name="EXTRA_PAIRING_VARIANT" since="19" />
+		<field name="EXTRA_PREVIOUS_BOND_STATE" />
+		<field name="EXTRA_RSSI" />
+		<field name="EXTRA_UUID" since="15" />
+		<field name="PAIRING_VARIANT_PASSKEY_CONFIRMATION" since="19" />
+		<field name="PAIRING_VARIANT_PIN" since="19" />
+		<field name="PHY_LE_1M" since="26" />
+		<field name="PHY_LE_1M_MASK" since="26" />
+		<field name="PHY_LE_2M" since="26" />
+		<field name="PHY_LE_2M_MASK" since="26" />
+		<field name="PHY_LE_CODED" since="26" />
+		<field name="PHY_LE_CODED_MASK" since="26" />
+		<field name="PHY_OPTION_NO_PREFERRED" since="26" />
+		<field name="PHY_OPTION_S2" since="26" />
+		<field name="PHY_OPTION_S8" since="26" />
+		<field name="TRANSPORT_AUTO" since="23" />
+		<field name="TRANSPORT_BREDR" since="23" />
+		<field name="TRANSPORT_LE" since="23" />
+	</class>
+	<class name="android/bluetooth/BluetoothGatt" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/bluetooth/BluetoothProfile" />
+		<method name="abortReliableWrite()V" since="19" />
+		<method name="abortReliableWrite(Landroid/bluetooth/BluetoothDevice;)V" deprecated="19" />
+		<method name="beginReliableWrite()Z" />
+		<method name="close()V" />
+		<method name="connect()Z" />
+		<method name="disconnect()V" />
+		<method name="discoverServices()Z" />
+		<method name="executeReliableWrite()Z" />
+		<method name="getDevice()Landroid/bluetooth/BluetoothDevice;" />
+		<method name="getService(Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattService;" />
+		<method name="getServices()Ljava/util/List;" />
+		<method name="readCharacteristic(Landroid/bluetooth/BluetoothGattCharacteristic;)Z" />
+		<method name="readDescriptor(Landroid/bluetooth/BluetoothGattDescriptor;)Z" />
+		<method name="readPhy()V" since="26" />
+		<method name="readRemoteRssi()Z" />
+		<method name="requestConnectionPriority(I)Z" since="21" />
+		<method name="requestMtu(I)Z" since="21" />
+		<method name="setCharacteristicNotification(Landroid/bluetooth/BluetoothGattCharacteristic;Z)Z" />
+		<method name="setPreferredPhy(III)V" since="26" />
+		<method name="writeCharacteristic(Landroid/bluetooth/BluetoothGattCharacteristic;)Z" />
+		<method name="writeDescriptor(Landroid/bluetooth/BluetoothGattDescriptor;)Z" />
+		<field name="CONNECTION_PRIORITY_BALANCED" since="21" />
+		<field name="CONNECTION_PRIORITY_HIGH" since="21" />
+		<field name="CONNECTION_PRIORITY_LOW_POWER" since="21" />
+		<field name="GATT_CONNECTION_CONGESTED" since="21" />
+		<field name="GATT_FAILURE" />
+		<field name="GATT_INSUFFICIENT_AUTHENTICATION" />
+		<field name="GATT_INSUFFICIENT_ENCRYPTION" />
+		<field name="GATT_INVALID_ATTRIBUTE_LENGTH" />
+		<field name="GATT_INVALID_OFFSET" />
+		<field name="GATT_READ_NOT_PERMITTED" />
+		<field name="GATT_REQUEST_NOT_SUPPORTED" />
+		<field name="GATT_SUCCESS" />
+		<field name="GATT_WRITE_NOT_PERMITTED" />
+	</class>
+	<class name="android/bluetooth/BluetoothGattCallback" since="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCharacteristicChanged(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;)V" />
+		<method name="onCharacteristicRead(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;I)V" />
+		<method name="onCharacteristicWrite(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;I)V" />
+		<method name="onConnectionStateChange(Landroid/bluetooth/BluetoothGatt;II)V" />
+		<method name="onDescriptorRead(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattDescriptor;I)V" />
+		<method name="onDescriptorWrite(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattDescriptor;I)V" />
+		<method name="onMtuChanged(Landroid/bluetooth/BluetoothGatt;II)V" since="21" />
+		<method name="onPhyRead(Landroid/bluetooth/BluetoothGatt;III)V" since="26" />
+		<method name="onPhyUpdate(Landroid/bluetooth/BluetoothGatt;III)V" since="26" />
+		<method name="onReadRemoteRssi(Landroid/bluetooth/BluetoothGatt;II)V" />
+		<method name="onReliableWriteCompleted(Landroid/bluetooth/BluetoothGatt;I)V" />
+		<method name="onServiceChanged(Landroid/bluetooth/BluetoothGatt;)V" since="31" />
+		<method name="onServicesDiscovered(Landroid/bluetooth/BluetoothGatt;I)V" />
+	</class>
+	<class name="android/bluetooth/BluetoothGattCharacteristic" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="24" />
+		<method name="&lt;init&gt;(Ljava/util/UUID;II)V" />
+		<method name="addDescriptor(Landroid/bluetooth/BluetoothGattDescriptor;)Z" />
+		<method name="getDescriptor(Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattDescriptor;" />
+		<method name="getDescriptors()Ljava/util/List;" />
+		<method name="getFloatValue(II)Ljava/lang/Float;" />
+		<method name="getInstanceId()I" />
+		<method name="getIntValue(II)Ljava/lang/Integer;" />
+		<method name="getPermissions()I" />
+		<method name="getProperties()I" />
+		<method name="getService()Landroid/bluetooth/BluetoothGattService;" />
+		<method name="getStringValue(I)Ljava/lang/String;" />
+		<method name="getUuid()Ljava/util/UUID;" />
+		<method name="getValue()[B" />
+		<method name="getWriteType()I" />
+		<method name="setValue(III)Z" />
+		<method name="setValue(IIII)Z" />
+		<method name="setValue(Ljava/lang/String;)Z" />
+		<method name="setValue([B)Z" />
+		<method name="setWriteType(I)V" />
+		<field name="CREATOR" since="24" />
+		<field name="FORMAT_FLOAT" />
+		<field name="FORMAT_SFLOAT" />
+		<field name="FORMAT_SINT16" />
+		<field name="FORMAT_SINT32" />
+		<field name="FORMAT_SINT8" />
+		<field name="FORMAT_UINT16" />
+		<field name="FORMAT_UINT32" />
+		<field name="FORMAT_UINT8" />
+		<field name="PERMISSION_READ" />
+		<field name="PERMISSION_READ_ENCRYPTED" />
+		<field name="PERMISSION_READ_ENCRYPTED_MITM" />
+		<field name="PERMISSION_WRITE" />
+		<field name="PERMISSION_WRITE_ENCRYPTED" />
+		<field name="PERMISSION_WRITE_ENCRYPTED_MITM" />
+		<field name="PERMISSION_WRITE_SIGNED" />
+		<field name="PERMISSION_WRITE_SIGNED_MITM" />
+		<field name="PROPERTY_BROADCAST" />
+		<field name="PROPERTY_EXTENDED_PROPS" />
+		<field name="PROPERTY_INDICATE" />
+		<field name="PROPERTY_NOTIFY" />
+		<field name="PROPERTY_READ" />
+		<field name="PROPERTY_SIGNED_WRITE" />
+		<field name="PROPERTY_WRITE" />
+		<field name="PROPERTY_WRITE_NO_RESPONSE" />
+		<field name="WRITE_TYPE_DEFAULT" />
+		<field name="WRITE_TYPE_NO_RESPONSE" />
+		<field name="WRITE_TYPE_SIGNED" />
+		<field name="mDescriptors" />
+	</class>
+	<class name="android/bluetooth/BluetoothGattDescriptor" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="24" />
+		<method name="&lt;init&gt;(Ljava/util/UUID;I)V" />
+		<method name="getCharacteristic()Landroid/bluetooth/BluetoothGattCharacteristic;" />
+		<method name="getPermissions()I" />
+		<method name="getUuid()Ljava/util/UUID;" />
+		<method name="getValue()[B" />
+		<method name="setValue([B)Z" />
+		<field name="CREATOR" since="24" />
+		<field name="DISABLE_NOTIFICATION_VALUE" />
+		<field name="ENABLE_INDICATION_VALUE" />
+		<field name="ENABLE_NOTIFICATION_VALUE" />
+		<field name="PERMISSION_READ" />
+		<field name="PERMISSION_READ_ENCRYPTED" />
+		<field name="PERMISSION_READ_ENCRYPTED_MITM" />
+		<field name="PERMISSION_WRITE" />
+		<field name="PERMISSION_WRITE_ENCRYPTED" />
+		<field name="PERMISSION_WRITE_ENCRYPTED_MITM" />
+		<field name="PERMISSION_WRITE_SIGNED" />
+		<field name="PERMISSION_WRITE_SIGNED_MITM" />
+	</class>
+	<class name="android/bluetooth/BluetoothGattServer" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/bluetooth/BluetoothProfile" />
+		<method name="addService(Landroid/bluetooth/BluetoothGattService;)Z" />
+		<method name="cancelConnection(Landroid/bluetooth/BluetoothDevice;)V" />
+		<method name="clearServices()V" />
+		<method name="close()V" />
+		<method name="connect(Landroid/bluetooth/BluetoothDevice;Z)Z" />
+		<method name="getService(Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattService;" />
+		<method name="getServices()Ljava/util/List;" />
+		<method name="notifyCharacteristicChanged(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothGattCharacteristic;Z)Z" />
+		<method name="readPhy(Landroid/bluetooth/BluetoothDevice;)V" since="26" />
+		<method name="removeService(Landroid/bluetooth/BluetoothGattService;)Z" />
+		<method name="sendResponse(Landroid/bluetooth/BluetoothDevice;III[B)Z" />
+		<method name="setPreferredPhy(Landroid/bluetooth/BluetoothDevice;III)V" since="26" />
+	</class>
+	<class name="android/bluetooth/BluetoothGattServerCallback" since="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCharacteristicReadRequest(Landroid/bluetooth/BluetoothDevice;IILandroid/bluetooth/BluetoothGattCharacteristic;)V" />
+		<method name="onCharacteristicWriteRequest(Landroid/bluetooth/BluetoothDevice;ILandroid/bluetooth/BluetoothGattCharacteristic;ZZI[B)V" />
+		<method name="onConnectionStateChange(Landroid/bluetooth/BluetoothDevice;II)V" />
+		<method name="onDescriptorReadRequest(Landroid/bluetooth/BluetoothDevice;IILandroid/bluetooth/BluetoothGattDescriptor;)V" />
+		<method name="onDescriptorWriteRequest(Landroid/bluetooth/BluetoothDevice;ILandroid/bluetooth/BluetoothGattDescriptor;ZZI[B)V" />
+		<method name="onExecuteWrite(Landroid/bluetooth/BluetoothDevice;IZ)V" />
+		<method name="onMtuChanged(Landroid/bluetooth/BluetoothDevice;I)V" since="22" />
+		<method name="onNotificationSent(Landroid/bluetooth/BluetoothDevice;I)V" since="21" />
+		<method name="onPhyRead(Landroid/bluetooth/BluetoothDevice;III)V" since="26" />
+		<method name="onPhyUpdate(Landroid/bluetooth/BluetoothDevice;III)V" since="26" />
+		<method name="onServiceAdded(ILandroid/bluetooth/BluetoothGattService;)V" />
+	</class>
+	<class name="android/bluetooth/BluetoothGattService" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="24" />
+		<method name="&lt;init&gt;(Ljava/util/UUID;I)V" />
+		<method name="addCharacteristic(Landroid/bluetooth/BluetoothGattCharacteristic;)Z" />
+		<method name="addService(Landroid/bluetooth/BluetoothGattService;)Z" />
+		<method name="getCharacteristic(Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattCharacteristic;" />
+		<method name="getCharacteristics()Ljava/util/List;" />
+		<method name="getIncludedServices()Ljava/util/List;" />
+		<method name="getInstanceId()I" />
+		<method name="getType()I" />
+		<method name="getUuid()Ljava/util/UUID;" />
+		<field name="CREATOR" since="24" />
+		<field name="SERVICE_TYPE_PRIMARY" />
+		<field name="SERVICE_TYPE_SECONDARY" />
+		<field name="mCharacteristics" />
+		<field name="mIncludedServices" />
+	</class>
+	<class name="android/bluetooth/BluetoothHeadset" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/bluetooth/BluetoothProfile" />
+		<method name="isAudioConnected(Landroid/bluetooth/BluetoothDevice;)Z" />
+		<method name="isNoiseReductionSupported(Landroid/bluetooth/BluetoothDevice;)Z" since="31" />
+		<method name="isVoiceRecognitionSupported(Landroid/bluetooth/BluetoothDevice;)Z" since="31" />
+		<method name="sendVendorSpecificResultCode(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;Ljava/lang/String;)Z" since="19" />
+		<method name="startVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z" />
+		<method name="stopVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z" />
+		<field name="ACTION_AUDIO_STATE_CHANGED" />
+		<field name="ACTION_CONNECTION_STATE_CHANGED" />
+		<field name="ACTION_VENDOR_SPECIFIC_HEADSET_EVENT" />
+		<field name="AT_CMD_TYPE_ACTION" />
+		<field name="AT_CMD_TYPE_BASIC" />
+		<field name="AT_CMD_TYPE_READ" />
+		<field name="AT_CMD_TYPE_SET" />
+		<field name="AT_CMD_TYPE_TEST" />
+		<field name="EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS" />
+		<field name="EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD" />
+		<field name="EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE" />
+		<field name="STATE_AUDIO_CONNECTED" />
+		<field name="STATE_AUDIO_CONNECTING" />
+		<field name="STATE_AUDIO_DISCONNECTED" />
+		<field name="VENDOR_RESULT_CODE_COMMAND_ANDROID" since="19" />
+		<field name="VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY" />
+	</class>
+	<class name="android/bluetooth/BluetoothHealth" since="14" deprecated="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/bluetooth/BluetoothProfile" />
+		<method name="connectChannelToSource(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z" deprecated="29" />
+		<method name="disconnectChannel(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;I)Z" deprecated="29" />
+		<method name="getMainChannelFd(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;" deprecated="29" />
+		<method name="registerSinkAppConfiguration(Ljava/lang/String;ILandroid/bluetooth/BluetoothHealthCallback;)Z" deprecated="29" />
+		<method name="unregisterAppConfiguration(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z" deprecated="29" />
+		<field name="APP_CONFIG_REGISTRATION_FAILURE" deprecated="29" />
+		<field name="APP_CONFIG_REGISTRATION_SUCCESS" deprecated="29" />
+		<field name="APP_CONFIG_UNREGISTRATION_FAILURE" deprecated="29" />
+		<field name="APP_CONFIG_UNREGISTRATION_SUCCESS" deprecated="29" />
+		<field name="CHANNEL_TYPE_RELIABLE" deprecated="29" />
+		<field name="CHANNEL_TYPE_STREAMING" deprecated="29" />
+		<field name="SINK_ROLE" deprecated="29" />
+		<field name="SOURCE_ROLE" deprecated="29" />
+		<field name="STATE_CHANNEL_CONNECTED" deprecated="29" />
+		<field name="STATE_CHANNEL_CONNECTING" deprecated="29" />
+		<field name="STATE_CHANNEL_DISCONNECTED" deprecated="29" />
+		<field name="STATE_CHANNEL_DISCONNECTING" deprecated="29" />
+	</class>
+	<class name="android/bluetooth/BluetoothHealthAppConfiguration" since="14" deprecated="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDataType()I" deprecated="29" />
+		<method name="getName()Ljava/lang/String;" deprecated="29" />
+		<method name="getRole()I" deprecated="29" />
+		<field name="CREATOR" deprecated="29" />
+	</class>
+	<class name="android/bluetooth/BluetoothHealthCallback" since="14" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="onHealthAppConfigurationStatusChange(Landroid/bluetooth/BluetoothHealthAppConfiguration;I)V" deprecated="29" />
+		<method name="onHealthChannelStateChange(Landroid/bluetooth/BluetoothHealthAppConfiguration;Landroid/bluetooth/BluetoothDevice;IILandroid/os/ParcelFileDescriptor;I)V" deprecated="29" />
+	</class>
+	<class name="android/bluetooth/BluetoothHearingAid" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/bluetooth/BluetoothProfile" />
+		<field name="ACTION_CONNECTION_STATE_CHANGED" />
+	</class>
+	<class name="android/bluetooth/BluetoothHidDevice" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/bluetooth/BluetoothProfile" />
+		<method name="connect(Landroid/bluetooth/BluetoothDevice;)Z" />
+		<method name="disconnect(Landroid/bluetooth/BluetoothDevice;)Z" />
+		<method name="registerApp(Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;Ljava/util/concurrent/Executor;Landroid/bluetooth/BluetoothHidDevice$Callback;)Z" />
+		<method name="replyReport(Landroid/bluetooth/BluetoothDevice;BB[B)Z" />
+		<method name="reportError(Landroid/bluetooth/BluetoothDevice;B)Z" />
+		<method name="sendReport(Landroid/bluetooth/BluetoothDevice;I[B)Z" />
+		<method name="unregisterApp()Z" />
+		<field name="ACTION_CONNECTION_STATE_CHANGED" />
+		<field name="ERROR_RSP_INVALID_PARAM" />
+		<field name="ERROR_RSP_INVALID_RPT_ID" />
+		<field name="ERROR_RSP_NOT_READY" />
+		<field name="ERROR_RSP_SUCCESS" />
+		<field name="ERROR_RSP_UNKNOWN" />
+		<field name="ERROR_RSP_UNSUPPORTED_REQ" />
+		<field name="PROTOCOL_BOOT_MODE" />
+		<field name="PROTOCOL_REPORT_MODE" />
+		<field name="REPORT_TYPE_FEATURE" />
+		<field name="REPORT_TYPE_INPUT" />
+		<field name="REPORT_TYPE_OUTPUT" />
+		<field name="SUBCLASS1_COMBO" />
+		<field name="SUBCLASS1_KEYBOARD" />
+		<field name="SUBCLASS1_MOUSE" />
+		<field name="SUBCLASS1_NONE" />
+		<field name="SUBCLASS2_CARD_READER" />
+		<field name="SUBCLASS2_DIGITIZER_TABLET" />
+		<field name="SUBCLASS2_GAMEPAD" />
+		<field name="SUBCLASS2_JOYSTICK" />
+		<field name="SUBCLASS2_REMOTE_CONTROL" />
+		<field name="SUBCLASS2_SENSING_DEVICE" />
+		<field name="SUBCLASS2_UNCATEGORIZED" />
+	</class>
+	<class name="android/bluetooth/BluetoothHidDevice$Callback" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAppStatusChanged(Landroid/bluetooth/BluetoothDevice;Z)V" />
+		<method name="onConnectionStateChanged(Landroid/bluetooth/BluetoothDevice;I)V" />
+		<method name="onGetReport(Landroid/bluetooth/BluetoothDevice;BBI)V" />
+		<method name="onInterruptData(Landroid/bluetooth/BluetoothDevice;B[B)V" />
+		<method name="onSetProtocol(Landroid/bluetooth/BluetoothDevice;B)V" />
+		<method name="onSetReport(Landroid/bluetooth/BluetoothDevice;BB[B)V" />
+		<method name="onVirtualCableUnplug(Landroid/bluetooth/BluetoothDevice;)V" />
+	</class>
+	<class name="android/bluetooth/BluetoothHidDeviceAppQosSettings" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(IIIIII)V" />
+		<method name="getDelayVariation()I" />
+		<method name="getLatency()I" />
+		<method name="getPeakBandwidth()I" />
+		<method name="getServiceType()I" />
+		<method name="getTokenBucketSize()I" />
+		<method name="getTokenRate()I" />
+		<field name="CREATOR" />
+		<field name="MAX" />
+		<field name="SERVICE_BEST_EFFORT" />
+		<field name="SERVICE_GUARANTEED" />
+		<field name="SERVICE_NO_TRAFFIC" />
+	</class>
+	<class name="android/bluetooth/BluetoothHidDeviceAppSdpSettings" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;B[B)V" />
+		<method name="getDescription()Ljava/lang/String;" />
+		<method name="getDescriptors()[B" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getProvider()Ljava/lang/String;" />
+		<method name="getSubclass()B" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/bluetooth/BluetoothLeAudio" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/bluetooth/BluetoothProfile" />
+		<implements name="java/lang/AutoCloseable" />
+		<field name="ACTION_LE_AUDIO_CONNECTION_STATE_CHANGED" />
+	</class>
+	<class name="android/bluetooth/BluetoothManager" since="18">
+		<extends name="java/lang/Object" />
+		<method name="getAdapter()Landroid/bluetooth/BluetoothAdapter;" />
+		<method name="getConnectedDevices(I)Ljava/util/List;" />
+		<method name="getConnectionState(Landroid/bluetooth/BluetoothDevice;I)I" />
+		<method name="getDevicesMatchingConnectionStates(I[I)Ljava/util/List;" />
+		<method name="openGattServer(Landroid/content/Context;Landroid/bluetooth/BluetoothGattServerCallback;)Landroid/bluetooth/BluetoothGattServer;" />
+	</class>
+	<class name="android/bluetooth/BluetoothProfile" since="11">
+		<extends name="java/lang/Object" />
+		<method name="getConnectedDevices()Ljava/util/List;" />
+		<method name="getConnectionState(Landroid/bluetooth/BluetoothDevice;)I" />
+		<method name="getDevicesMatchingConnectionStates([I)Ljava/util/List;" />
+		<field name="A2DP" />
+		<field name="EXTRA_PREVIOUS_STATE" />
+		<field name="EXTRA_STATE" />
+		<field name="GATT" since="18" />
+		<field name="GATT_SERVER" since="18" />
+		<field name="HEADSET" />
+		<field name="HEALTH" since="14" deprecated="29" />
+		<field name="HEARING_AID" since="29" />
+		<field name="HID_DEVICE" since="28" />
+		<field name="SAP" since="23" />
+		<field name="STATE_CONNECTED" />
+		<field name="STATE_CONNECTING" />
+		<field name="STATE_DISCONNECTED" />
+		<field name="STATE_DISCONNECTING" />
+	</class>
+	<class name="android/bluetooth/BluetoothProfile$ServiceListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onServiceConnected(ILandroid/bluetooth/BluetoothProfile;)V" />
+		<method name="onServiceDisconnected(I)V" />
+	</class>
+	<class name="android/bluetooth/BluetoothServerSocket" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="accept()Landroid/bluetooth/BluetoothSocket;" />
+		<method name="accept(I)Landroid/bluetooth/BluetoothSocket;" />
+		<method name="getPsm()I" since="29" />
+	</class>
+	<class name="android/bluetooth/BluetoothSocket" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="connect()V" />
+		<method name="getConnectionType()I" since="23" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getMaxReceivePacketSize()I" since="23" />
+		<method name="getMaxTransmitPacketSize()I" since="23" />
+		<method name="getOutputStream()Ljava/io/OutputStream;" />
+		<method name="getRemoteDevice()Landroid/bluetooth/BluetoothDevice;" />
+		<method name="isConnected()Z" since="14" />
+		<field name="TYPE_L2CAP" since="23" />
+		<field name="TYPE_RFCOMM" since="23" />
+		<field name="TYPE_SCO" since="23" />
+	</class>
+	<class name="android/bluetooth/BluetoothStatusCodes" since="31">
+		<extends name="java/lang/Object" />
+		<field name="ERROR_BLUETOOTH_NOT_ALLOWED" />
+		<field name="ERROR_BLUETOOTH_NOT_ENABLED" />
+		<field name="ERROR_DEVICE_NOT_BONDED" />
+		<field name="ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION" />
+		<field name="ERROR_UNKNOWN" />
+		<field name="SUCCESS" />
+	</class>
+	<class name="android/bluetooth/le/AdvertiseCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onStartFailure(I)V" />
+		<method name="onStartSuccess(Landroid/bluetooth/le/AdvertiseSettings;)V" />
+		<field name="ADVERTISE_FAILED_ALREADY_STARTED" />
+		<field name="ADVERTISE_FAILED_DATA_TOO_LARGE" />
+		<field name="ADVERTISE_FAILED_FEATURE_UNSUPPORTED" />
+		<field name="ADVERTISE_FAILED_INTERNAL_ERROR" />
+		<field name="ADVERTISE_FAILED_TOO_MANY_ADVERTISERS" />
+	</class>
+	<class name="android/bluetooth/le/AdvertiseData" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getIncludeDeviceName()Z" />
+		<method name="getIncludeTxPowerLevel()Z" />
+		<method name="getManufacturerSpecificData()Landroid/util/SparseArray;" />
+		<method name="getServiceData()Ljava/util/Map;" />
+		<method name="getServiceSolicitationUuids()Ljava/util/List;" since="31" />
+		<method name="getServiceUuids()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/bluetooth/le/AdvertiseData$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addManufacturerData(I[B)Landroid/bluetooth/le/AdvertiseData$Builder;" />
+		<method name="addServiceData(Landroid/os/ParcelUuid;[B)Landroid/bluetooth/le/AdvertiseData$Builder;" />
+		<method name="addServiceSolicitationUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/AdvertiseData$Builder;" since="31" />
+		<method name="addServiceUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/AdvertiseData$Builder;" />
+		<method name="build()Landroid/bluetooth/le/AdvertiseData;" />
+		<method name="setIncludeDeviceName(Z)Landroid/bluetooth/le/AdvertiseData$Builder;" />
+		<method name="setIncludeTxPowerLevel(Z)Landroid/bluetooth/le/AdvertiseData$Builder;" />
+	</class>
+	<class name="android/bluetooth/le/AdvertiseSettings" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getMode()I" />
+		<method name="getTimeout()I" />
+		<method name="getTxPowerLevel()I" />
+		<method name="isConnectable()Z" />
+		<field name="ADVERTISE_MODE_BALANCED" />
+		<field name="ADVERTISE_MODE_LOW_LATENCY" />
+		<field name="ADVERTISE_MODE_LOW_POWER" />
+		<field name="ADVERTISE_TX_POWER_HIGH" />
+		<field name="ADVERTISE_TX_POWER_LOW" />
+		<field name="ADVERTISE_TX_POWER_MEDIUM" />
+		<field name="ADVERTISE_TX_POWER_ULTRA_LOW" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/bluetooth/le/AdvertiseSettings$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/bluetooth/le/AdvertiseSettings;" />
+		<method name="setAdvertiseMode(I)Landroid/bluetooth/le/AdvertiseSettings$Builder;" />
+		<method name="setConnectable(Z)Landroid/bluetooth/le/AdvertiseSettings$Builder;" />
+		<method name="setTimeout(I)Landroid/bluetooth/le/AdvertiseSettings$Builder;" />
+		<method name="setTxPowerLevel(I)Landroid/bluetooth/le/AdvertiseSettings$Builder;" />
+	</class>
+	<class name="android/bluetooth/le/AdvertisingSet" since="26">
+		<extends name="java/lang/Object" />
+		<method name="enableAdvertising(ZII)V" />
+		<method name="setAdvertisingData(Landroid/bluetooth/le/AdvertiseData;)V" />
+		<method name="setAdvertisingParameters(Landroid/bluetooth/le/AdvertisingSetParameters;)V" />
+		<method name="setPeriodicAdvertisingData(Landroid/bluetooth/le/AdvertiseData;)V" />
+		<method name="setPeriodicAdvertisingEnabled(Z)V" />
+		<method name="setPeriodicAdvertisingParameters(Landroid/bluetooth/le/PeriodicAdvertisingParameters;)V" />
+		<method name="setScanResponseData(Landroid/bluetooth/le/AdvertiseData;)V" />
+	</class>
+	<class name="android/bluetooth/le/AdvertisingSetCallback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAdvertisingDataSet(Landroid/bluetooth/le/AdvertisingSet;I)V" />
+		<method name="onAdvertisingEnabled(Landroid/bluetooth/le/AdvertisingSet;ZI)V" />
+		<method name="onAdvertisingParametersUpdated(Landroid/bluetooth/le/AdvertisingSet;II)V" />
+		<method name="onAdvertisingSetStarted(Landroid/bluetooth/le/AdvertisingSet;II)V" />
+		<method name="onAdvertisingSetStopped(Landroid/bluetooth/le/AdvertisingSet;)V" />
+		<method name="onPeriodicAdvertisingDataSet(Landroid/bluetooth/le/AdvertisingSet;I)V" />
+		<method name="onPeriodicAdvertisingEnabled(Landroid/bluetooth/le/AdvertisingSet;ZI)V" />
+		<method name="onPeriodicAdvertisingParametersUpdated(Landroid/bluetooth/le/AdvertisingSet;I)V" />
+		<method name="onScanResponseDataSet(Landroid/bluetooth/le/AdvertisingSet;I)V" />
+		<field name="ADVERTISE_FAILED_ALREADY_STARTED" />
+		<field name="ADVERTISE_FAILED_DATA_TOO_LARGE" />
+		<field name="ADVERTISE_FAILED_FEATURE_UNSUPPORTED" />
+		<field name="ADVERTISE_FAILED_INTERNAL_ERROR" />
+		<field name="ADVERTISE_FAILED_TOO_MANY_ADVERTISERS" />
+		<field name="ADVERTISE_SUCCESS" />
+	</class>
+	<class name="android/bluetooth/le/AdvertisingSetParameters" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getInterval()I" />
+		<method name="getPrimaryPhy()I" />
+		<method name="getSecondaryPhy()I" />
+		<method name="getTxPowerLevel()I" />
+		<method name="includeTxPower()Z" />
+		<method name="isAnonymous()Z" />
+		<method name="isConnectable()Z" />
+		<method name="isLegacy()Z" />
+		<method name="isScannable()Z" />
+		<field name="CREATOR" />
+		<field name="INTERVAL_HIGH" />
+		<field name="INTERVAL_LOW" />
+		<field name="INTERVAL_MAX" />
+		<field name="INTERVAL_MEDIUM" />
+		<field name="INTERVAL_MIN" />
+		<field name="TX_POWER_HIGH" />
+		<field name="TX_POWER_LOW" />
+		<field name="TX_POWER_MAX" />
+		<field name="TX_POWER_MEDIUM" />
+		<field name="TX_POWER_MIN" />
+		<field name="TX_POWER_ULTRA_LOW" />
+	</class>
+	<class name="android/bluetooth/le/AdvertisingSetParameters$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/bluetooth/le/AdvertisingSetParameters;" />
+		<method name="setAnonymous(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;" />
+		<method name="setConnectable(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;" />
+		<method name="setIncludeTxPower(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;" />
+		<method name="setInterval(I)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;" />
+		<method name="setLegacyMode(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;" />
+		<method name="setPrimaryPhy(I)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;" />
+		<method name="setScannable(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;" />
+		<method name="setSecondaryPhy(I)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;" />
+		<method name="setTxPowerLevel(I)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;" />
+	</class>
+	<class name="android/bluetooth/le/BluetoothLeAdvertiser" since="21">
+		<extends name="java/lang/Object" />
+		<method name="startAdvertising(Landroid/bluetooth/le/AdvertiseSettings;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseCallback;)V" />
+		<method name="startAdvertising(Landroid/bluetooth/le/AdvertiseSettings;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseCallback;)V" />
+		<method name="startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/AdvertisingSetCallback;)V" since="26" />
+		<method name="startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/AdvertisingSetCallback;Landroid/os/Handler;)V" since="26" />
+		<method name="startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertisingSetCallback;)V" since="26" />
+		<method name="startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertisingSetCallback;Landroid/os/Handler;)V" since="26" />
+		<method name="stopAdvertising(Landroid/bluetooth/le/AdvertiseCallback;)V" />
+		<method name="stopAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetCallback;)V" since="26" />
+	</class>
+	<class name="android/bluetooth/le/BluetoothLeScanner" since="21">
+		<extends name="java/lang/Object" />
+		<method name="flushPendingScanResults(Landroid/bluetooth/le/ScanCallback;)V" />
+		<method name="startScan(Landroid/bluetooth/le/ScanCallback;)V" />
+		<method name="startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/app/PendingIntent;)I" since="26" />
+		<method name="startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/bluetooth/le/ScanCallback;)V" />
+		<method name="stopScan(Landroid/app/PendingIntent;)V" since="26" />
+		<method name="stopScan(Landroid/bluetooth/le/ScanCallback;)V" />
+		<field name="EXTRA_CALLBACK_TYPE" since="26" />
+		<field name="EXTRA_ERROR_CODE" since="26" />
+		<field name="EXTRA_LIST_SCAN_RESULT" since="26" />
+	</class>
+	<class name="android/bluetooth/le/PeriodicAdvertisingParameters" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getIncludeTxPower()Z" />
+		<method name="getInterval()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/bluetooth/le/PeriodicAdvertisingParameters$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/bluetooth/le/PeriodicAdvertisingParameters;" />
+		<method name="setIncludeTxPower(Z)Landroid/bluetooth/le/PeriodicAdvertisingParameters$Builder;" />
+		<method name="setInterval(I)Landroid/bluetooth/le/PeriodicAdvertisingParameters$Builder;" />
+	</class>
+	<class name="android/bluetooth/le/ScanCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onBatchScanResults(Ljava/util/List;)V" />
+		<method name="onScanFailed(I)V" />
+		<method name="onScanResult(ILandroid/bluetooth/le/ScanResult;)V" />
+		<field name="SCAN_FAILED_ALREADY_STARTED" />
+		<field name="SCAN_FAILED_APPLICATION_REGISTRATION_FAILED" />
+		<field name="SCAN_FAILED_FEATURE_UNSUPPORTED" />
+		<field name="SCAN_FAILED_INTERNAL_ERROR" />
+	</class>
+	<class name="android/bluetooth/le/ScanFilter" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDeviceAddress()Ljava/lang/String;" />
+		<method name="getDeviceName()Ljava/lang/String;" />
+		<method name="getManufacturerData()[B" />
+		<method name="getManufacturerDataMask()[B" />
+		<method name="getManufacturerId()I" />
+		<method name="getServiceData()[B" />
+		<method name="getServiceDataMask()[B" />
+		<method name="getServiceDataUuid()Landroid/os/ParcelUuid;" />
+		<method name="getServiceSolicitationUuid()Landroid/os/ParcelUuid;" since="29" />
+		<method name="getServiceSolicitationUuidMask()Landroid/os/ParcelUuid;" since="29" />
+		<method name="getServiceUuid()Landroid/os/ParcelUuid;" />
+		<method name="getServiceUuidMask()Landroid/os/ParcelUuid;" />
+		<method name="matches(Landroid/bluetooth/le/ScanResult;)Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/bluetooth/le/ScanFilter$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/bluetooth/le/ScanFilter;" />
+		<method name="setDeviceAddress(Ljava/lang/String;)Landroid/bluetooth/le/ScanFilter$Builder;" />
+		<method name="setDeviceName(Ljava/lang/String;)Landroid/bluetooth/le/ScanFilter$Builder;" />
+		<method name="setManufacturerData(I[B)Landroid/bluetooth/le/ScanFilter$Builder;" />
+		<method name="setManufacturerData(I[B[B)Landroid/bluetooth/le/ScanFilter$Builder;" />
+		<method name="setServiceData(Landroid/os/ParcelUuid;[B)Landroid/bluetooth/le/ScanFilter$Builder;" />
+		<method name="setServiceData(Landroid/os/ParcelUuid;[B[B)Landroid/bluetooth/le/ScanFilter$Builder;" />
+		<method name="setServiceSolicitationUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;" since="29" />
+		<method name="setServiceSolicitationUuid(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;" since="29" />
+		<method name="setServiceUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;" />
+		<method name="setServiceUuid(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;" />
+	</class>
+	<class name="android/bluetooth/le/ScanRecord" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getAdvertiseFlags()I" />
+		<method name="getBytes()[B" />
+		<method name="getDeviceName()Ljava/lang/String;" />
+		<method name="getManufacturerSpecificData()Landroid/util/SparseArray;" />
+		<method name="getManufacturerSpecificData(I)[B" />
+		<method name="getServiceData()Ljava/util/Map;" />
+		<method name="getServiceData(Landroid/os/ParcelUuid;)[B" />
+		<method name="getServiceSolicitationUuids()Ljava/util/List;" since="29" />
+		<method name="getServiceUuids()Ljava/util/List;" />
+		<method name="getTxPowerLevel()I" />
+	</class>
+	<class name="android/bluetooth/le/ScanResult" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/bluetooth/BluetoothDevice;IIIIIIILandroid/bluetooth/le/ScanRecord;J)V" since="26" />
+		<method name="&lt;init&gt;(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/le/ScanRecord;IJ)V" deprecated="26" />
+		<method name="getAdvertisingSid()I" since="26" />
+		<method name="getDataStatus()I" since="26" />
+		<method name="getDevice()Landroid/bluetooth/BluetoothDevice;" />
+		<method name="getPeriodicAdvertisingInterval()I" since="26" />
+		<method name="getPrimaryPhy()I" since="26" />
+		<method name="getRssi()I" />
+		<method name="getScanRecord()Landroid/bluetooth/le/ScanRecord;" />
+		<method name="getSecondaryPhy()I" since="26" />
+		<method name="getTimestampNanos()J" />
+		<method name="getTxPower()I" since="26" />
+		<method name="isConnectable()Z" since="26" />
+		<method name="isLegacy()Z" since="26" />
+		<field name="CREATOR" />
+		<field name="DATA_COMPLETE" since="26" />
+		<field name="DATA_TRUNCATED" since="26" />
+		<field name="PERIODIC_INTERVAL_NOT_PRESENT" since="26" />
+		<field name="PHY_UNUSED" since="26" />
+		<field name="SID_NOT_PRESENT" since="26" />
+		<field name="TX_POWER_NOT_PRESENT" since="26" />
+	</class>
+	<class name="android/bluetooth/le/ScanSettings" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCallbackType()I" />
+		<method name="getLegacy()Z" since="26" />
+		<method name="getPhy()I" since="26" />
+		<method name="getReportDelayMillis()J" />
+		<method name="getScanMode()I" />
+		<method name="getScanResultType()I" />
+		<field name="CALLBACK_TYPE_ALL_MATCHES" />
+		<field name="CALLBACK_TYPE_FIRST_MATCH" since="23" />
+		<field name="CALLBACK_TYPE_MATCH_LOST" since="23" />
+		<field name="CREATOR" />
+		<field name="MATCH_MODE_AGGRESSIVE" since="23" />
+		<field name="MATCH_MODE_STICKY" since="23" />
+		<field name="MATCH_NUM_FEW_ADVERTISEMENT" since="23" />
+		<field name="MATCH_NUM_MAX_ADVERTISEMENT" since="23" />
+		<field name="MATCH_NUM_ONE_ADVERTISEMENT" since="23" />
+		<field name="PHY_LE_ALL_SUPPORTED" since="26" />
+		<field name="SCAN_MODE_BALANCED" />
+		<field name="SCAN_MODE_LOW_LATENCY" />
+		<field name="SCAN_MODE_LOW_POWER" />
+		<field name="SCAN_MODE_OPPORTUNISTIC" since="23" />
+	</class>
+	<class name="android/bluetooth/le/ScanSettings$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/bluetooth/le/ScanSettings;" />
+		<method name="setCallbackType(I)Landroid/bluetooth/le/ScanSettings$Builder;" since="23" />
+		<method name="setLegacy(Z)Landroid/bluetooth/le/ScanSettings$Builder;" since="26" />
+		<method name="setMatchMode(I)Landroid/bluetooth/le/ScanSettings$Builder;" since="23" />
+		<method name="setNumOfMatches(I)Landroid/bluetooth/le/ScanSettings$Builder;" since="23" />
+		<method name="setPhy(I)Landroid/bluetooth/le/ScanSettings$Builder;" since="26" />
+		<method name="setReportDelay(J)Landroid/bluetooth/le/ScanSettings$Builder;" />
+		<method name="setScanMode(I)Landroid/bluetooth/le/ScanSettings$Builder;" />
+	</class>
+	<class name="android/companion/AssociationRequest" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+		<field name="DEVICE_PROFILE_WATCH" since="31" />
+	</class>
+	<class name="android/companion/AssociationRequest$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addDeviceFilter(Landroid/companion/DeviceFilter;)Landroid/companion/AssociationRequest$Builder;" />
+		<method name="build()Landroid/companion/AssociationRequest;" />
+		<method name="checkNotUsed()V" since="28" removed="29" />
+		<method name="markUsed()V" since="28" removed="29" />
+		<method name="setDeviceProfile(Ljava/lang/String;)Landroid/companion/AssociationRequest$Builder;" since="31" />
+		<method name="setSingleDevice(Z)Landroid/companion/AssociationRequest$Builder;" />
+	</class>
+	<class name="android/companion/BluetoothDeviceFilter" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/companion/DeviceFilter" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/companion/BluetoothDeviceFilter$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addServiceUuid(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Landroid/companion/BluetoothDeviceFilter$Builder;" />
+		<method name="build()Landroid/companion/BluetoothDeviceFilter;" />
+		<method name="checkNotUsed()V" since="28" removed="29" />
+		<method name="markUsed()V" since="28" removed="29" />
+		<method name="setAddress(Ljava/lang/String;)Landroid/companion/BluetoothDeviceFilter$Builder;" />
+		<method name="setNamePattern(Ljava/util/regex/Pattern;)Landroid/companion/BluetoothDeviceFilter$Builder;" />
+	</class>
+	<class name="android/companion/BluetoothLeDeviceFilter" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/companion/DeviceFilter" />
+		<method name="getRenamePrefixLengthLimit()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/companion/BluetoothLeDeviceFilter$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/companion/BluetoothLeDeviceFilter;" />
+		<method name="checkNotUsed()V" since="28" removed="29" />
+		<method name="markUsed()V" since="28" removed="29" />
+		<method name="setNamePattern(Ljava/util/regex/Pattern;)Landroid/companion/BluetoothLeDeviceFilter$Builder;" />
+		<method name="setRawDataFilter([B[B)Landroid/companion/BluetoothLeDeviceFilter$Builder;" />
+		<method name="setRenameFromBytes(Ljava/lang/String;Ljava/lang/String;IILjava/nio/ByteOrder;)Landroid/companion/BluetoothLeDeviceFilter$Builder;" />
+		<method name="setRenameFromName(Ljava/lang/String;Ljava/lang/String;II)Landroid/companion/BluetoothLeDeviceFilter$Builder;" />
+		<method name="setScanFilter(Landroid/bluetooth/le/ScanFilter;)Landroid/companion/BluetoothLeDeviceFilter$Builder;" />
+	</class>
+	<class name="android/companion/CompanionDeviceManager" since="26">
+		<extends name="java/lang/Object" />
+		<method name="associate(Landroid/companion/AssociationRequest;Landroid/companion/CompanionDeviceManager$Callback;Landroid/os/Handler;)V" />
+		<method name="disassociate(Ljava/lang/String;)V" />
+		<method name="getAssociations()Ljava/util/List;" />
+		<method name="hasNotificationAccess(Landroid/content/ComponentName;)Z" />
+		<method name="requestNotificationAccess(Landroid/content/ComponentName;)V" />
+		<method name="startObservingDevicePresence(Ljava/lang/String;)V" since="31" />
+		<method name="stopObservingDevicePresence(Ljava/lang/String;)V" since="31" />
+		<field name="EXTRA_DEVICE" />
+	</class>
+	<class name="android/companion/CompanionDeviceManager$Callback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onDeviceFound(Landroid/content/IntentSender;)V" />
+		<method name="onFailure(Ljava/lang/CharSequence;)V" />
+	</class>
+	<class name="android/companion/CompanionDeviceService" since="31">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onDeviceAppeared(Ljava/lang/String;)V" />
+		<method name="onDeviceDisappeared(Ljava/lang/String;)V" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/companion/DeviceFilter" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+	</class>
+	<class name="android/companion/DeviceNotAssociatedException" since="31">
+		<extends name="java/lang/RuntimeException" />
+	</class>
+	<class name="android/companion/WifiDeviceFilter" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/companion/DeviceFilter" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/companion/WifiDeviceFilter$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/companion/WifiDeviceFilter;" />
+		<method name="checkNotUsed()V" since="28" removed="29" />
+		<method name="markUsed()V" since="28" removed="29" />
+		<method name="setBssid(Ljava/lang/Object;)Landroid/companion/WifiDeviceFilter$Builder;" since="30" />
+		<method name="setBssidMask(Ljava/lang/Object;)Landroid/companion/WifiDeviceFilter$Builder;" since="30" />
+		<method name="setNamePattern(Ljava/util/regex/Pattern;)Landroid/companion/WifiDeviceFilter$Builder;" />
+	</class>
+	<class name="android/content/AbstractThreadedSyncAdapter" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Z)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ZZ)V" since="11" />
+		<method name="getContext()Landroid/content/Context;" />
+		<method name="getSyncAdapterBinder()Landroid/os/IBinder;" />
+		<method name="onPerformSync(Landroid/accounts/Account;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/ContentProviderClient;Landroid/content/SyncResult;)V" />
+		<method name="onSecurityException(Landroid/accounts/Account;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/SyncResult;)V" since="23" />
+		<method name="onSyncCanceled()V" since="8" />
+		<method name="onSyncCanceled(Ljava/lang/Thread;)V" since="11" />
+		<method name="onUnsyncableAccount()Z" since="28" />
+		<field name="LOG_SYNC_DETAILS" deprecated="15" />
+	</class>
+	<class name="android/content/ActivityNotFoundException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/content/AsyncQueryHandler" since="1">
+		<extends name="android/os/Handler" />
+		<method name="&lt;init&gt;(Landroid/content/ContentResolver;)V" />
+		<method name="cancelOperation(I)V" />
+		<method name="createHandler(Landroid/os/Looper;)Landroid/os/Handler;" />
+		<method name="onDeleteComplete(ILjava/lang/Object;I)V" />
+		<method name="onInsertComplete(ILjava/lang/Object;Landroid/net/Uri;)V" />
+		<method name="onQueryComplete(ILjava/lang/Object;Landroid/database/Cursor;)V" />
+		<method name="onUpdateComplete(ILjava/lang/Object;I)V" />
+		<method name="startDelete(ILjava/lang/Object;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)V" />
+		<method name="startInsert(ILjava/lang/Object;Landroid/net/Uri;Landroid/content/ContentValues;)V" />
+		<method name="startQuery(ILjava/lang/Object;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="startUpdate(ILjava/lang/Object;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)V" />
+	</class>
+	<class name="android/content/AsyncQueryHandler$WorkerArgs" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="cookie" />
+		<field name="handler" />
+		<field name="orderBy" />
+		<field name="projection" />
+		<field name="result" />
+		<field name="selection" />
+		<field name="selectionArgs" />
+		<field name="uri" />
+		<field name="values" />
+	</class>
+	<class name="android/content/AsyncQueryHandler$WorkerHandler" since="1">
+		<extends name="android/os/Handler" />
+		<method name="&lt;init&gt;(Landroid/content/AsyncQueryHandler;Landroid/os/Looper;)V" />
+	</class>
+	<class name="android/content/AsyncTaskLoader" since="11" deprecated="28">
+		<extends name="android/content/Loader" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="cancelLoad()Z" removed="16" />
+		<method name="cancelLoadInBackground()V" since="16" deprecated="29" />
+		<method name="isLoadInBackgroundCanceled()Z" since="16" deprecated="29" />
+		<method name="loadInBackground()Ljava/lang/Object;" deprecated="29" />
+		<method name="onCanceled(Ljava/lang/Object;)V" deprecated="29" />
+		<method name="onLoadInBackground()Ljava/lang/Object;" deprecated="29" />
+		<method name="setUpdateThrottle(J)V" deprecated="29" />
+	</class>
+	<class name="android/content/AttributionSource" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="checkCallingUid()Z" />
+		<method name="enforceCallingUid()V" />
+		<method name="getAttributionTag()Ljava/lang/String;" />
+		<method name="getNext()Landroid/content/AttributionSource;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getUid()I" />
+		<method name="isTrusted(Landroid/content/Context;)Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/AttributionSource$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="build()Landroid/content/AttributionSource;" />
+		<method name="setAttributionTag(Ljava/lang/String;)Landroid/content/AttributionSource$Builder;" />
+		<method name="setNext(Landroid/content/AttributionSource;)Landroid/content/AttributionSource$Builder;" />
+		<method name="setPackageName(Ljava/lang/String;)Landroid/content/AttributionSource$Builder;" />
+	</class>
+	<class name="android/content/BroadcastReceiver" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="abortBroadcast()V" />
+		<method name="clearAbortBroadcast()V" />
+		<method name="getAbortBroadcast()Z" />
+		<method name="getDebugUnregister()Z" />
+		<method name="getResultCode()I" />
+		<method name="getResultData()Ljava/lang/String;" />
+		<method name="getResultExtras(Z)Landroid/os/Bundle;" />
+		<method name="goAsync()Landroid/content/BroadcastReceiver$PendingResult;" since="11" />
+		<method name="isInitialStickyBroadcast()Z" since="5" />
+		<method name="isOrderedBroadcast()Z" since="5" />
+		<method name="onReceive(Landroid/content/Context;Landroid/content/Intent;)V" />
+		<method name="peekService(Landroid/content/Context;Landroid/content/Intent;)Landroid/os/IBinder;" since="3" />
+		<method name="setDebugUnregister(Z)V" />
+		<method name="setOrderedHint(Z)V" />
+		<method name="setResult(ILjava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="setResultCode(I)V" />
+		<method name="setResultData(Ljava/lang/String;)V" />
+		<method name="setResultExtras(Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/content/BroadcastReceiver$PendingResult" since="11">
+		<extends name="java/lang/Object" />
+		<method name="abortBroadcast()V" />
+		<method name="clearAbortBroadcast()V" />
+		<method name="finish()V" />
+		<method name="getAbortBroadcast()Z" />
+		<method name="getResultCode()I" />
+		<method name="getResultData()Ljava/lang/String;" />
+		<method name="getResultExtras(Z)Landroid/os/Bundle;" />
+		<method name="setResult(ILjava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="setResultCode(I)V" />
+		<method name="setResultData(Ljava/lang/String;)V" />
+		<method name="setResultExtras(Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/content/ClipData" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/content/ClipData;)V" since="16" />
+		<method name="&lt;init&gt;(Landroid/content/ClipDescription;Landroid/content/ClipData$Item;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;[Ljava/lang/String;Landroid/content/ClipData$Item;)V" />
+		<method name="addItem(Landroid/content/ClipData$Item;)V" />
+		<method name="addItem(Landroid/content/ContentResolver;Landroid/content/ClipData$Item;)V" since="26" />
+		<method name="getDescription()Landroid/content/ClipDescription;" />
+		<method name="getItemAt(I)Landroid/content/ClipData$Item;" />
+		<method name="getItemCount()I" />
+		<method name="newHtmlText(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;)Landroid/content/ClipData;" since="16" />
+		<method name="newIntent(Ljava/lang/CharSequence;Landroid/content/Intent;)Landroid/content/ClipData;" />
+		<method name="newPlainText(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/content/ClipData;" />
+		<method name="newRawUri(Ljava/lang/CharSequence;Landroid/net/Uri;)Landroid/content/ClipData;" />
+		<method name="newUri(Landroid/content/ContentResolver;Ljava/lang/CharSequence;Landroid/net/Uri;)Landroid/content/ClipData;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/ClipData$Item" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Intent;)V" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Landroid/content/Intent;Landroid/net/Uri;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Ljava/lang/String;)V" since="16" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Ljava/lang/String;Landroid/content/Intent;Landroid/net/Uri;)V" since="16" />
+		<method name="coerceToHtmlText(Landroid/content/Context;)Ljava/lang/String;" since="16" />
+		<method name="coerceToStyledText(Landroid/content/Context;)Ljava/lang/CharSequence;" since="16" />
+		<method name="coerceToText(Landroid/content/Context;)Ljava/lang/CharSequence;" />
+		<method name="getHtmlText()Ljava/lang/String;" since="16" />
+		<method name="getIntent()Landroid/content/Intent;" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<method name="getTextLinks()Landroid/view/textclassifier/TextLinks;" since="31" />
+		<method name="getUri()Landroid/net/Uri;" />
+	</class>
+	<class name="android/content/ClipDescription" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/content/ClipDescription;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;[Ljava/lang/String;)V" />
+		<method name="compareMimeTypes(Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="filterMimeTypes(Ljava/lang/String;)[Ljava/lang/String;" />
+		<method name="getClassificationStatus()I" since="31" />
+		<method name="getConfidenceScore(Ljava/lang/String;)F" since="31" />
+		<method name="getExtras()Landroid/os/PersistableBundle;" since="24" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<method name="getMimeType(I)Ljava/lang/String;" />
+		<method name="getMimeTypeCount()I" />
+		<method name="getTimestamp()J" since="26" />
+		<method name="hasMimeType(Ljava/lang/String;)Z" />
+		<method name="isStyledText()Z" since="31" />
+		<method name="setExtras(Landroid/os/PersistableBundle;)V" since="24" />
+		<field name="CLASSIFICATION_COMPLETE" since="31" />
+		<field name="CLASSIFICATION_NOT_COMPLETE" since="31" />
+		<field name="CLASSIFICATION_NOT_PERFORMED" since="31" />
+		<field name="CREATOR" />
+		<field name="MIMETYPE_TEXT_HTML" since="16" />
+		<field name="MIMETYPE_TEXT_INTENT" />
+		<field name="MIMETYPE_TEXT_PLAIN" />
+		<field name="MIMETYPE_TEXT_URILIST" />
+		<field name="MIMETYPE_UNKNOWN" since="30" />
+	</class>
+	<class name="android/content/ClipboardManager" since="11">
+		<extends name="android/text/ClipboardManager" />
+		<method name="addPrimaryClipChangedListener(Landroid/content/ClipboardManager$OnPrimaryClipChangedListener;)V" />
+		<method name="clearPrimaryClip()V" since="28" />
+		<method name="getPrimaryClip()Landroid/content/ClipData;" />
+		<method name="getPrimaryClipDescription()Landroid/content/ClipDescription;" />
+		<method name="hasPrimaryClip()Z" />
+		<method name="removePrimaryClipChangedListener(Landroid/content/ClipboardManager$OnPrimaryClipChangedListener;)V" />
+		<method name="setPrimaryClip(Landroid/content/ClipData;)V" />
+	</class>
+	<class name="android/content/ClipboardManager$OnPrimaryClipChangedListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onPrimaryClipChanged()V" />
+	</class>
+	<class name="android/content/ComponentCallbacks" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onConfigurationChanged(Landroid/content/res/Configuration;)V" />
+		<method name="onLowMemory()V" />
+	</class>
+	<class name="android/content/ComponentCallbacks2" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/content/ComponentCallbacks" />
+		<method name="onTrimMemory(I)V" />
+		<field name="TRIM_MEMORY_BACKGROUND" />
+		<field name="TRIM_MEMORY_COMPLETE" />
+		<field name="TRIM_MEMORY_MODERATE" />
+		<field name="TRIM_MEMORY_RUNNING_CRITICAL" since="16" />
+		<field name="TRIM_MEMORY_RUNNING_LOW" since="16" />
+		<field name="TRIM_MEMORY_RUNNING_MODERATE" since="16" />
+		<field name="TRIM_MEMORY_UI_HIDDEN" />
+	</class>
+	<class name="android/content/ComponentName" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/lang/Cloneable" since="8" />
+		<implements name="java/lang/Comparable" since="4" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/Class;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="clone()Landroid/content/ComponentName;" since="8" />
+		<method name="compareTo(Landroid/content/ComponentName;)I" since="4" />
+		<method name="createRelative(Landroid/content/Context;Ljava/lang/String;)Landroid/content/ComponentName;" since="23" />
+		<method name="createRelative(Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;" since="23" />
+		<method name="flattenToShortString()Ljava/lang/String;" />
+		<method name="flattenToString()Ljava/lang/String;" />
+		<method name="getClassName()Ljava/lang/String;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getShortClassName()Ljava/lang/String;" />
+		<method name="readFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName;" />
+		<method name="toShortString()Ljava/lang/String;" />
+		<method name="unflattenFromString(Ljava/lang/String;)Landroid/content/ComponentName;" />
+		<method name="writeToParcel(Landroid/content/ComponentName;Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/ContentProvider" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/content/ComponentCallbacks" removed="14" />
+		<implements name="android/content/ComponentCallbacks2" since="14" />
+		<method name="&lt;init&gt;()V" />
+		<method name="applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;" since="29" />
+		<method name="applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;" since="5" />
+		<method name="attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V" />
+		<method name="bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I" />
+		<method name="call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="11" />
+		<method name="call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="29" />
+		<method name="canonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19" />
+		<method name="clearCallingIdentity()Landroid/content/ContentProvider$CallingIdentity;" since="29" />
+		<method name="delete(Landroid/net/Uri;Landroid/os/Bundle;)I" since="30" />
+		<method name="delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I" />
+		<method name="dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" since="18" />
+		<method name="getCallingAttributionSource()Landroid/content/AttributionSource;" since="31" />
+		<method name="getCallingAttributionTag()Ljava/lang/String;" since="30" />
+		<method name="getCallingPackage()Ljava/lang/String;" since="19" />
+		<method name="getCallingPackageUnchecked()Ljava/lang/String;" since="30" />
+		<method name="getContext()Landroid/content/Context;" />
+		<method name="getPathPermissions()[Landroid/content/pm/PathPermission;" since="4" />
+		<method name="getReadPermission()Ljava/lang/String;" />
+		<method name="getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;" since="11" />
+		<method name="getType(Landroid/net/Uri;)Ljava/lang/String;" />
+		<method name="getWritePermission()Ljava/lang/String;" />
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;" />
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;" since="30" />
+		<method name="isTemporary()Z" />
+		<method name="onCallingPackageChanged()V" since="30" />
+		<method name="onCreate()Z" />
+		<method name="openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;" since="3" />
+		<method name="openAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19" />
+		<method name="openFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;" />
+		<method name="openFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;" since="19" />
+		<method name="openFileHelper(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;" />
+		<method name="openPipeHelper(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/Object;Landroid/content/ContentProvider$PipeDataWriter;)Landroid/os/ParcelFileDescriptor;" since="11" />
+		<method name="openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;" since="11" />
+		<method name="openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19" />
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="26" />
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16" />
+		<method name="refresh(Landroid/net/Uri;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Z" since="26" />
+		<method name="requireContext()Landroid/content/Context;" since="30" />
+		<method name="restoreCallingIdentity(Landroid/content/ContentProvider$CallingIdentity;)V" since="29" />
+		<method name="setPathPermissions([Landroid/content/pm/PathPermission;)V" since="4" />
+		<method name="setReadPermission(Ljava/lang/String;)V" />
+		<method name="setWritePermission(Ljava/lang/String;)V" />
+		<method name="shutdown()V" since="11" />
+		<method name="uncanonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19" />
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I" since="30" />
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I" />
+	</class>
+	<class name="android/content/ContentProvider$CallingIdentity" since="29">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/content/ContentProvider$PipeDataWriter" since="11">
+		<extends name="java/lang/Object" />
+		<method name="writeDataToPipe(Landroid/os/ParcelFileDescriptor;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/content/ContentProviderClient" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="24" />
+		<method name="applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;" since="29" />
+		<method name="applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;" />
+		<method name="bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I" />
+		<method name="call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="17" />
+		<method name="call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="29" />
+		<method name="canonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19" />
+		<method name="delete(Landroid/net/Uri;Landroid/os/Bundle;)I" since="30" />
+		<method name="delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I" />
+		<method name="getLocalContentProvider()Landroid/content/ContentProvider;" />
+		<method name="getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;" since="11" />
+		<method name="getType(Landroid/net/Uri;)Ljava/lang/String;" />
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;" />
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;" since="30" />
+		<method name="openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;" />
+		<method name="openAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19" />
+		<method name="openFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;" />
+		<method name="openFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;" since="19" />
+		<method name="openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="29" />
+		<method name="openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;" since="11" />
+		<method name="openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19" />
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="26" />
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16" />
+		<method name="refresh(Landroid/net/Uri;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Z" since="26" />
+		<method name="release()Z" deprecated="24" />
+		<method name="uncanonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19" />
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I" since="30" />
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I" />
+	</class>
+	<class name="android/content/ContentProviderOperation" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="apply(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;" />
+		<method name="getUri()Landroid/net/Uri;" />
+		<method name="isAssertQuery()Z" since="23" />
+		<method name="isCall()Z" since="30" />
+		<method name="isDelete()Z" since="23" />
+		<method name="isExceptionAllowed()Z" since="30" />
+		<method name="isInsert()Z" since="23" />
+		<method name="isReadOperation()Z" />
+		<method name="isUpdate()Z" since="23" />
+		<method name="isWriteOperation()Z" />
+		<method name="isYieldAllowed()Z" />
+		<method name="newAssertQuery(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="newCall(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;" since="30" />
+		<method name="newDelete(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="resolveExtrasBackReferences([Landroid/content/ContentProviderResult;I)Landroid/os/Bundle;" since="30" />
+		<method name="resolveSelectionArgsBackReferences([Landroid/content/ContentProviderResult;I)[Ljava/lang/String;" />
+		<method name="resolveValueBackReferences([Landroid/content/ContentProviderResult;I)Landroid/content/ContentValues;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/ContentProviderOperation$Builder" since="5">
+		<extends name="java/lang/Object" />
+		<method name="build()Landroid/content/ContentProviderOperation;" />
+		<method name="withExceptionAllowed(Z)Landroid/content/ContentProviderOperation$Builder;" since="30" />
+		<method name="withExpectedCount(I)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="withExtra(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;" since="30" />
+		<method name="withExtraBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;" since="30" />
+		<method name="withExtraBackReference(Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentProviderOperation$Builder;" since="30" />
+		<method name="withExtras(Landroid/os/Bundle;)Landroid/content/ContentProviderOperation$Builder;" since="30" />
+		<method name="withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="withSelectionBackReference(II)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="withSelectionBackReference(IILjava/lang/String;)Landroid/content/ContentProviderOperation$Builder;" since="30" />
+		<method name="withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="withValueBackReference(Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentProviderOperation$Builder;" since="30" />
+		<method name="withValueBackReferences(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;" />
+		<method name="withYieldAllowed(Z)Landroid/content/ContentProviderOperation$Builder;" />
+	</class>
+	<class name="android/content/ContentProviderResult" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;)V" />
+		<method name="&lt;init&gt;(Landroid/os/Bundle;)V" since="30" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" since="30" />
+		<field name="CREATOR" />
+		<field name="count" />
+		<field name="exception" since="30" />
+		<field name="extras" since="30" />
+		<field name="uri" />
+	</class>
+	<class name="android/content/ContentQueryMap" since="1">
+		<extends name="java/util/Observable" />
+		<method name="&lt;init&gt;(Landroid/database/Cursor;Ljava/lang/String;ZLandroid/os/Handler;)V" />
+		<method name="close()V" />
+		<method name="getRows()Ljava/util/Map;" />
+		<method name="getValues(Ljava/lang/String;)Landroid/content/ContentValues;" />
+		<method name="requery()V" />
+		<method name="setKeepUpdated(Z)V" />
+	</class>
+	<class name="android/content/ContentResolver" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="acquireContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;" since="5" />
+		<method name="acquireContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;" since="5" />
+		<method name="acquireUnstableContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;" since="16" />
+		<method name="acquireUnstableContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;" since="16" />
+		<method name="addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V" since="8" />
+		<method name="addStatusChangeListener(ILandroid/content/SyncStatusObserver;)Ljava/lang/Object;" since="5" />
+		<method name="applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;" since="5" />
+		<method name="bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I" />
+		<method name="call(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="11" />
+		<method name="call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="29" />
+		<method name="cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V" since="5" />
+		<method name="cancelSync(Landroid/content/SyncRequest;)V" since="21" />
+		<method name="cancelSync(Landroid/net/Uri;)V" deprecated="15" />
+		<method name="canonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19" />
+		<method name="delete(Landroid/net/Uri;Landroid/os/Bundle;)I" since="30" />
+		<method name="delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I" />
+		<method name="getCurrentSync()Landroid/content/SyncInfo;" since="8" deprecated="15" />
+		<method name="getCurrentSyncs()Ljava/util/List;" since="11" />
+		<method name="getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I" since="5" />
+		<method name="getMasterSyncAutomatically()Z" since="5" />
+		<method name="getOutgoingPersistedUriPermissions()Ljava/util/List;" since="19" />
+		<method name="getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;)Ljava/util/List;" since="8" />
+		<method name="getPersistedUriPermissions()Ljava/util/List;" since="19" />
+		<method name="getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;" since="11" />
+		<method name="getSyncAdapterTypes()[Landroid/content/SyncAdapterType;" since="5" />
+		<method name="getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z" since="5" />
+		<method name="getType(Landroid/net/Uri;)Ljava/lang/String;" />
+		<method name="getTypeInfo(Ljava/lang/String;)Landroid/content/ContentResolver$MimeTypeInfo;" since="29" />
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;" />
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;" since="30" />
+		<method name="isSyncActive(Landroid/accounts/Account;Ljava/lang/String;)Z" since="5" />
+		<method name="isSyncPending(Landroid/accounts/Account;Ljava/lang/String;)Z" since="5" />
+		<method name="loadThumbnail(Landroid/net/Uri;Landroid/util/Size;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;" since="29" />
+		<method name="notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;)V" />
+		<method name="notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;I)V" since="24" />
+		<method name="notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V" deprecated="30" />
+		<method name="notifyChange(Ljava/util/Collection;Landroid/database/ContentObserver;I)V" since="30" />
+		<method name="openAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="29" />
+		<method name="openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;" since="3" />
+		<method name="openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19" />
+		<method name="openFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;" since="29" />
+		<method name="openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;" />
+		<method name="openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;" since="19" />
+		<method name="openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;" />
+		<method name="openOutputStream(Landroid/net/Uri;)Ljava/io/OutputStream;" />
+		<method name="openOutputStream(Landroid/net/Uri;Ljava/lang/String;)Ljava/io/OutputStream;" since="3" />
+		<method name="openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="29" />
+		<method name="openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;" since="11" />
+		<method name="openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19" />
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="26" />
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16" />
+		<method name="refresh(Landroid/net/Uri;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Z" since="26" />
+		<method name="registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V" />
+		<method name="releasePersistableUriPermission(Landroid/net/Uri;I)V" since="19" />
+		<method name="removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V" since="8" />
+		<method name="removeStatusChangeListener(Ljava/lang/Object;)V" since="5" />
+		<method name="requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V" since="5" />
+		<method name="requestSync(Landroid/content/SyncRequest;)V" since="19" />
+		<method name="setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V" since="5" />
+		<method name="setMasterSyncAutomatically(Z)V" since="5" />
+		<method name="setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V" since="5" />
+		<method name="startSync(Landroid/net/Uri;Landroid/os/Bundle;)V" deprecated="15" />
+		<method name="takePersistableUriPermission(Landroid/net/Uri;I)V" since="19" />
+		<method name="uncanonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19" />
+		<method name="unregisterContentObserver(Landroid/database/ContentObserver;)V" />
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I" since="30" />
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I" />
+		<method name="validateSyncExtrasBundle(Landroid/os/Bundle;)V" />
+		<method name="wrap(Landroid/content/ContentProvider;)Landroid/content/ContentResolver;" since="29" />
+		<method name="wrap(Landroid/content/ContentProviderClient;)Landroid/content/ContentResolver;" since="29" />
+		<field name="ANY_CURSOR_ITEM_TYPE" since="21" />
+		<field name="CURSOR_DIR_BASE_TYPE" />
+		<field name="CURSOR_ITEM_BASE_TYPE" />
+		<field name="EXTRA_HONORED_ARGS" since="26" />
+		<field name="EXTRA_REFRESH_SUPPORTED" since="26" />
+		<field name="EXTRA_SIZE" since="21" />
+		<field name="EXTRA_TOTAL_COUNT" since="26" />
+		<field name="NOTIFY_DELETE" since="30" />
+		<field name="NOTIFY_INSERT" since="30" />
+		<field name="NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS" since="24" />
+		<field name="NOTIFY_SYNC_TO_NETWORK" since="24" />
+		<field name="NOTIFY_UPDATE" since="30" />
+		<field name="QUERY_ARG_GROUP_COLUMNS" since="30" />
+		<field name="QUERY_ARG_LIMIT" since="26" />
+		<field name="QUERY_ARG_OFFSET" since="26" />
+		<field name="QUERY_ARG_SORT_COLLATION" since="26" />
+		<field name="QUERY_ARG_SORT_COLUMNS" since="26" />
+		<field name="QUERY_ARG_SORT_DIRECTION" since="26" />
+		<field name="QUERY_ARG_SORT_LOCALE" since="30" />
+		<field name="QUERY_ARG_SQL_GROUP_BY" since="30" />
+		<field name="QUERY_ARG_SQL_HAVING" since="30" />
+		<field name="QUERY_ARG_SQL_LIMIT" since="30" />
+		<field name="QUERY_ARG_SQL_SELECTION" since="26" />
+		<field name="QUERY_ARG_SQL_SELECTION_ARGS" since="26" />
+		<field name="QUERY_ARG_SQL_SORT_ORDER" since="26" />
+		<field name="QUERY_SORT_DIRECTION_ASCENDING" since="26" />
+		<field name="QUERY_SORT_DIRECTION_DESCENDING" since="26" />
+		<field name="SCHEME_ANDROID_RESOURCE" />
+		<field name="SCHEME_CONTENT" />
+		<field name="SCHEME_FILE" />
+		<field name="SYNC_EXTRAS_ACCOUNT" deprecated="15" />
+		<field name="SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS" />
+		<field name="SYNC_EXTRAS_DO_NOT_RETRY" since="8" />
+		<field name="SYNC_EXTRAS_EXPEDITED" />
+		<field name="SYNC_EXTRAS_FORCE" deprecated="15" />
+		<field name="SYNC_EXTRAS_IGNORE_BACKOFF" since="8" />
+		<field name="SYNC_EXTRAS_IGNORE_SETTINGS" since="8" />
+		<field name="SYNC_EXTRAS_INITIALIZE" since="5" />
+		<field name="SYNC_EXTRAS_MANUAL" since="5" />
+		<field name="SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS" />
+		<field name="SYNC_EXTRAS_REQUIRE_CHARGING" since="24" />
+		<field name="SYNC_EXTRAS_SCHEDULE_AS_EXPEDITED_JOB" since="31" />
+		<field name="SYNC_EXTRAS_UPLOAD" />
+		<field name="SYNC_OBSERVER_TYPE_ACTIVE" since="8" />
+		<field name="SYNC_OBSERVER_TYPE_PENDING" since="8" />
+		<field name="SYNC_OBSERVER_TYPE_SETTINGS" since="8" />
+	</class>
+	<class name="android/content/ContentResolver$MimeTypeInfo" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+	</class>
+	<class name="android/content/ContentUris" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="appendId(Landroid/net/Uri$Builder;J)Landroid/net/Uri$Builder;" />
+		<method name="parseId(Landroid/net/Uri;)J" />
+		<method name="removeId(Landroid/net/Uri;)Landroid/net/Uri;" since="29" />
+		<method name="withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;" />
+	</class>
+	<class name="android/content/ContentValues" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/content/ContentValues;)V" />
+		<method name="clear()V" />
+		<method name="containsKey(Ljava/lang/String;)Z" />
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getAsBoolean(Ljava/lang/String;)Ljava/lang/Boolean;" />
+		<method name="getAsByte(Ljava/lang/String;)Ljava/lang/Byte;" />
+		<method name="getAsByteArray(Ljava/lang/String;)[B" />
+		<method name="getAsDouble(Ljava/lang/String;)Ljava/lang/Double;" />
+		<method name="getAsFloat(Ljava/lang/String;)Ljava/lang/Float;" />
+		<method name="getAsInteger(Ljava/lang/String;)Ljava/lang/Integer;" />
+		<method name="getAsLong(Ljava/lang/String;)Ljava/lang/Long;" />
+		<method name="getAsShort(Ljava/lang/String;)Ljava/lang/Short;" />
+		<method name="getAsString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="isEmpty()Z" since="30" />
+		<method name="keySet()Ljava/util/Set;" since="11" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Boolean;)V" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Byte;)V" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Double;)V" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Float;)V" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Integer;)V" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Long;)V" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Short;)V" />
+		<method name="put(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="put(Ljava/lang/String;[B)V" />
+		<method name="putAll(Landroid/content/ContentValues;)V" />
+		<method name="putNull(Ljava/lang/String;)V" />
+		<method name="remove(Ljava/lang/String;)V" />
+		<method name="size()I" />
+		<method name="valueSet()Ljava/util/Set;" />
+		<field name="CREATOR" />
+		<field name="TAG" />
+	</class>
+	<class name="android/content/Context" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="bindIsolatedService(Landroid/content/Intent;ILjava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z" since="29" />
+		<method name="bindService(Landroid/content/Intent;ILjava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z" since="29" />
+		<method name="bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z" />
+		<method name="bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z" since="30" />
+		<method name="checkCallingOrSelfPermission(Ljava/lang/String;)I" />
+		<method name="checkCallingOrSelfUriPermission(Landroid/net/Uri;I)I" />
+		<method name="checkCallingOrSelfUriPermissions(Ljava/util/List;I)[I" since="31" />
+		<method name="checkCallingPermission(Ljava/lang/String;)I" />
+		<method name="checkCallingUriPermission(Landroid/net/Uri;I)I" />
+		<method name="checkCallingUriPermissions(Ljava/util/List;I)[I" since="31" />
+		<method name="checkPermission(Ljava/lang/String;II)I" />
+		<method name="checkSelfPermission(Ljava/lang/String;)I" since="23" />
+		<method name="checkUriPermission(Landroid/net/Uri;III)I" />
+		<method name="checkUriPermission(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;III)I" />
+		<method name="checkUriPermissions(Ljava/util/List;III)[I" since="31" />
+		<method name="clearWallpaper()V" deprecated="15" />
+		<method name="createAttributionContext(Ljava/lang/String;)Landroid/content/Context;" since="30" />
+		<method name="createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context;" since="17" />
+		<method name="createContext(Landroid/content/ContextParams;)Landroid/content/Context;" since="31" />
+		<method name="createContextForSplit(Ljava/lang/String;)Landroid/content/Context;" since="26" />
+		<method name="createDeviceProtectedStorageContext()Landroid/content/Context;" since="24" />
+		<method name="createDisplayContext(Landroid/view/Display;)Landroid/content/Context;" since="17" />
+		<method name="createPackageContext(Ljava/lang/String;I)Landroid/content/Context;" />
+		<method name="createWindowContext(ILandroid/os/Bundle;)Landroid/content/Context;" since="30" />
+		<method name="createWindowContext(Landroid/view/Display;ILandroid/os/Bundle;)Landroid/content/Context;" since="31" />
+		<method name="databaseList()[Ljava/lang/String;" />
+		<method name="deleteDatabase(Ljava/lang/String;)Z" />
+		<method name="deleteFile(Ljava/lang/String;)Z" />
+		<method name="deleteSharedPreferences(Ljava/lang/String;)Z" since="24" />
+		<method name="enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="enforceCallingOrSelfUriPermission(Landroid/net/Uri;ILjava/lang/String;)V" />
+		<method name="enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="enforceCallingUriPermission(Landroid/net/Uri;ILjava/lang/String;)V" />
+		<method name="enforcePermission(Ljava/lang/String;IILjava/lang/String;)V" />
+		<method name="enforceUriPermission(Landroid/net/Uri;IIILjava/lang/String;)V" />
+		<method name="enforceUriPermission(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V" />
+		<method name="fileList()[Ljava/lang/String;" />
+		<method name="getApplicationContext()Landroid/content/Context;" />
+		<method name="getApplicationInfo()Landroid/content/pm/ApplicationInfo;" since="4" />
+		<method name="getAssets()Landroid/content/res/AssetManager;" />
+		<method name="getAttributionSource()Landroid/content/AttributionSource;" since="31" />
+		<method name="getAttributionTag()Ljava/lang/String;" since="30" />
+		<method name="getCacheDir()Ljava/io/File;" />
+		<method name="getClassLoader()Ljava/lang/ClassLoader;" />
+		<method name="getCodeCacheDir()Ljava/io/File;" since="21" />
+		<method name="getColor(I)I" since="23" />
+		<method name="getColorStateList(I)Landroid/content/res/ColorStateList;" since="23" />
+		<method name="getContentResolver()Landroid/content/ContentResolver;" />
+		<method name="getDataDir()Ljava/io/File;" since="24" />
+		<method name="getDatabasePath(Ljava/lang/String;)Ljava/io/File;" />
+		<method name="getDir(Ljava/lang/String;I)Ljava/io/File;" />
+		<method name="getDisplay()Landroid/view/Display;" since="30" />
+		<method name="getDrawable(I)Landroid/graphics/drawable/Drawable;" since="21" />
+		<method name="getExternalCacheDir()Ljava/io/File;" since="8" />
+		<method name="getExternalCacheDirs()[Ljava/io/File;" since="19" />
+		<method name="getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;" since="8" />
+		<method name="getExternalFilesDirs(Ljava/lang/String;)[Ljava/io/File;" since="19" />
+		<method name="getExternalMediaDirs()[Ljava/io/File;" since="21" deprecated="30" />
+		<method name="getFileStreamPath(Ljava/lang/String;)Ljava/io/File;" />
+		<method name="getFilesDir()Ljava/io/File;" />
+		<method name="getMainExecutor()Ljava/util/concurrent/Executor;" since="28" />
+		<method name="getMainLooper()Landroid/os/Looper;" />
+		<method name="getNoBackupFilesDir()Ljava/io/File;" since="21" />
+		<method name="getObbDir()Ljava/io/File;" since="11" />
+		<method name="getObbDirs()[Ljava/io/File;" since="19" />
+		<method name="getOpPackageName()Ljava/lang/String;" since="29" />
+		<method name="getPackageCodePath()Ljava/lang/String;" since="8" />
+		<method name="getPackageManager()Landroid/content/pm/PackageManager;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getPackageResourcePath()Ljava/lang/String;" since="8" />
+		<method name="getParams()Landroid/content/ContextParams;" since="31" />
+		<method name="getResources()Landroid/content/res/Resources;" />
+		<method name="getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;" />
+		<method name="getString(I)Ljava/lang/String;" />
+		<method name="getString(I[Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="getSystemService(Ljava/lang/Class;)Ljava/lang/Object;" since="23" />
+		<method name="getSystemService(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getSystemServiceName(Ljava/lang/Class;)Ljava/lang/String;" since="23" />
+		<method name="getText(I)Ljava/lang/CharSequence;" />
+		<method name="getTheme()Landroid/content/res/Resources$Theme;" />
+		<method name="getWallpaper()Landroid/graphics/drawable/Drawable;" deprecated="15" />
+		<method name="getWallpaperDesiredMinimumHeight()I" deprecated="15" />
+		<method name="getWallpaperDesiredMinimumWidth()I" deprecated="15" />
+		<method name="grantUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V" />
+		<method name="isDeviceProtectedStorage()Z" since="24" />
+		<method name="isRestricted()Z" since="4" />
+		<method name="isUiContext()Z" since="31" />
+		<method name="moveDatabaseFrom(Landroid/content/Context;Ljava/lang/String;)Z" since="24" />
+		<method name="moveSharedPreferencesFrom(Landroid/content/Context;Ljava/lang/String;)Z" since="24" />
+		<method name="obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;" />
+		<method name="obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;" />
+		<method name="obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;" />
+		<method name="obtainStyledAttributes([I)Landroid/content/res/TypedArray;" />
+		<method name="openFileInput(Ljava/lang/String;)Ljava/io/FileInputStream;" />
+		<method name="openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream;" />
+		<method name="openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;" />
+		<method name="openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;" since="11" />
+		<method name="peekWallpaper()Landroid/graphics/drawable/Drawable;" deprecated="15" />
+		<method name="registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V" since="14" />
+		<method name="registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;" />
+		<method name="registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;" since="26" />
+		<method name="registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;" />
+		<method name="registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;" since="26" />
+		<method name="removeStickyBroadcast(Landroid/content/Intent;)V" deprecated="21" />
+		<method name="removeStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V" since="17" deprecated="21" />
+		<method name="revokeUriPermission(Landroid/net/Uri;I)V" />
+		<method name="revokeUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V" since="26" />
+		<method name="sendBroadcast(Landroid/content/Intent;)V" />
+		<method name="sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V" />
+		<method name="sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V" since="17" />
+		<method name="sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V" since="17" />
+		<method name="sendBroadcastWithMultiplePermissions(Landroid/content/Intent;[Ljava/lang/String;)V" since="30" />
+		<method name="sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V" />
+		<method name="sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V" since="30" />
+		<method name="sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V" since="17" />
+		<method name="sendStickyBroadcast(Landroid/content/Intent;)V" deprecated="21" />
+		<method name="sendStickyBroadcast(Landroid/content/Intent;Landroid/os/Bundle;)V" since="31" deprecated="31" />
+		<method name="sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V" since="17" deprecated="21" />
+		<method name="sendStickyOrderedBroadcast(Landroid/content/Intent;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V" since="5" deprecated="21" />
+		<method name="sendStickyOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V" since="17" deprecated="21" />
+		<method name="setTheme(I)V" />
+		<method name="setWallpaper(Landroid/graphics/Bitmap;)V" deprecated="15" />
+		<method name="setWallpaper(Ljava/io/InputStream;)V" deprecated="15" />
+		<method name="startActivities([Landroid/content/Intent;)V" since="11" />
+		<method name="startActivities([Landroid/content/Intent;Landroid/os/Bundle;)V" since="16" />
+		<method name="startActivity(Landroid/content/Intent;)V" />
+		<method name="startActivity(Landroid/content/Intent;Landroid/os/Bundle;)V" since="16" />
+		<method name="startForegroundService(Landroid/content/Intent;)Landroid/content/ComponentName;" since="26" />
+		<method name="startInstrumentation(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/Bundle;)Z" />
+		<method name="startIntentSender(Landroid/content/IntentSender;Landroid/content/Intent;III)V" since="5" />
+		<method name="startIntentSender(Landroid/content/IntentSender;Landroid/content/Intent;IIILandroid/os/Bundle;)V" since="16" />
+		<method name="startService(Landroid/content/Intent;)Landroid/content/ComponentName;" />
+		<method name="stopService(Landroid/content/Intent;)Z" />
+		<method name="unbindService(Landroid/content/ServiceConnection;)V" />
+		<method name="unregisterComponentCallbacks(Landroid/content/ComponentCallbacks;)V" since="14" />
+		<method name="unregisterReceiver(Landroid/content/BroadcastReceiver;)V" />
+		<method name="updateServiceGroup(Landroid/content/ServiceConnection;II)V" since="29" />
+		<field name="ACCESSIBILITY_SERVICE" since="4" />
+		<field name="ACCOUNT_SERVICE" since="5" />
+		<field name="ACTIVITY_SERVICE" />
+		<field name="ALARM_SERVICE" />
+		<field name="APPWIDGET_SERVICE" since="21" />
+		<field name="APP_OPS_SERVICE" since="19" />
+		<field name="APP_SEARCH_SERVICE" since="31" />
+		<field name="AUDIO_SERVICE" />
+		<field name="BATTERY_SERVICE" since="21" />
+		<field name="BIND_ABOVE_CLIENT" since="14" />
+		<field name="BIND_ADJUST_WITH_ACTIVITY" since="14" />
+		<field name="BIND_ALLOW_OOM_MANAGEMENT" since="14" />
+		<field name="BIND_AUTO_CREATE" />
+		<field name="BIND_DEBUG_UNBIND" />
+		<field name="BIND_EXTERNAL_SERVICE" since="24" />
+		<field name="BIND_IMPORTANT" since="14" />
+		<field name="BIND_INCLUDE_CAPABILITIES" since="29" />
+		<field name="BIND_NOT_FOREGROUND" since="8" />
+		<field name="BIND_NOT_PERCEPTIBLE" since="29" />
+		<field name="BIND_WAIVE_PRIORITY" since="14" />
+		<field name="BIOMETRIC_SERVICE" since="29" />
+		<field name="BLOB_STORE_SERVICE" since="30" />
+		<field name="BLUETOOTH_SERVICE" since="18" />
+		<field name="BUGREPORT_SERVICE" since="31" />
+		<field name="CAMERA_SERVICE" since="21" />
+		<field name="CAPTIONING_SERVICE" since="19" />
+		<field name="CARRIER_CONFIG_SERVICE" since="23" />
+		<field name="CLIPBOARD_SERVICE" />
+		<field name="COMPANION_DEVICE_SERVICE" since="26" />
+		<field name="CONNECTIVITY_DIAGNOSTICS_SERVICE" since="30" />
+		<field name="CONNECTIVITY_SERVICE" />
+		<field name="CONSUMER_IR_SERVICE" since="19" />
+		<field name="CONTEXT_IGNORE_SECURITY" />
+		<field name="CONTEXT_INCLUDE_CODE" />
+		<field name="CONTEXT_RESTRICTED" since="4" />
+		<field name="CROSS_PROFILE_APPS_SERVICE" since="28" />
+		<field name="DEVICE_POLICY_SERVICE" since="8" />
+		<field name="DISPLAY_HASH_SERVICE" since="31" />
+		<field name="DISPLAY_SERVICE" since="17" />
+		<field name="DOMAIN_VERIFICATION_SERVICE" since="31" />
+		<field name="DOWNLOAD_SERVICE" since="9" />
+		<field name="DROPBOX_SERVICE" since="8" />
+		<field name="EUICC_SERVICE" since="28" />
+		<field name="FILE_INTEGRITY_SERVICE" since="30" />
+		<field name="FINGERPRINT_SERVICE" since="23" />
+		<field name="GAME_SERVICE" since="31" />
+		<field name="HARDWARE_PROPERTIES_SERVICE" since="24" />
+		<field name="INPUT_METHOD_SERVICE" since="3" />
+		<field name="INPUT_SERVICE" since="16" />
+		<field name="IPSEC_SERVICE" since="28" />
+		<field name="JOB_SCHEDULER_SERVICE" since="21" />
+		<field name="KEYGUARD_SERVICE" />
+		<field name="LAUNCHER_APPS_SERVICE" since="21" />
+		<field name="LAYOUT_INFLATER_SERVICE" />
+		<field name="LOCATION_SERVICE" />
+		<field name="MEDIA_COMMUNICATION_SERVICE" since="31" />
+		<field name="MEDIA_METRICS_SERVICE" since="31" />
+		<field name="MEDIA_PROJECTION_SERVICE" since="21" />
+		<field name="MEDIA_ROUTER_SERVICE" since="16" />
+		<field name="MEDIA_SESSION_SERVICE" since="21" />
+		<field name="MIDI_SERVICE" since="23" />
+		<field name="MODE_APPEND" />
+		<field name="MODE_ENABLE_WRITE_AHEAD_LOGGING" since="16" />
+		<field name="MODE_MULTI_PROCESS" since="11" deprecated="23" />
+		<field name="MODE_NO_LOCALIZED_COLLATORS" since="24" />
+		<field name="MODE_PRIVATE" />
+		<field name="MODE_WORLD_READABLE" deprecated="17" />
+		<field name="MODE_WORLD_WRITEABLE" deprecated="17" />
+		<field name="NETWORK_STATS_SERVICE" since="23" />
+		<field name="NFC_SERVICE" since="10" />
+		<field name="NOTIFICATION_SERVICE" />
+		<field name="NSD_SERVICE" since="16" />
+		<field name="PEOPLE_SERVICE" since="31" />
+		<field name="PERFORMANCE_HINT_SERVICE" since="31" />
+		<field name="POWER_SERVICE" />
+		<field name="PRINT_SERVICE" since="19" />
+		<field name="RECEIVER_VISIBLE_TO_INSTANT_APPS" since="26" />
+		<field name="RESTRICTIONS_SERVICE" since="21" />
+		<field name="ROLE_SERVICE" since="29" />
+		<field name="SEARCH_SERVICE" />
+		<field name="SENSOR_SERVICE" />
+		<field name="SHORTCUT_SERVICE" since="25" />
+		<field name="STORAGE_SERVICE" since="9" />
+		<field name="STORAGE_STATS_SERVICE" since="26" />
+		<field name="SYSTEM_HEALTH_SERVICE" since="24" />
+		<field name="TELECOM_SERVICE" since="21" />
+		<field name="TELEPHONY_IMS_SERVICE" since="30" />
+		<field name="TELEPHONY_SERVICE" />
+		<field name="TELEPHONY_SUBSCRIPTION_SERVICE" since="22" />
+		<field name="TEXT_CLASSIFICATION_SERVICE" since="26" />
+		<field name="TEXT_SERVICES_MANAGER_SERVICE" since="14" />
+		<field name="TV_INPUT_SERVICE" since="21" />
+		<field name="UI_MODE_SERVICE" since="8" />
+		<field name="USAGE_STATS_SERVICE" since="22" />
+		<field name="USB_SERVICE" since="12" />
+		<field name="USER_SERVICE" since="17" />
+		<field name="VIBRATOR_MANAGER_SERVICE" since="31" />
+		<field name="VIBRATOR_SERVICE" deprecated="31" />
+		<field name="VPN_MANAGEMENT_SERVICE" since="30" />
+		<field name="WALLPAPER_SERVICE" />
+		<field name="WIFI_AWARE_SERVICE" since="26" />
+		<field name="WIFI_P2P_SERVICE" since="14" />
+		<field name="WIFI_RTT_RANGING_SERVICE" since="28" />
+		<field name="WIFI_SERVICE" />
+		<field name="WINDOW_SERVICE" />
+	</class>
+	<class name="android/content/ContextParams" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getAttributionTag()Ljava/lang/String;" />
+		<method name="getNextAttributionSource()Landroid/content/AttributionSource;" />
+	</class>
+	<class name="android/content/ContextParams$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/ContextParams;)V" />
+		<method name="build()Landroid/content/ContextParams;" />
+		<method name="setAttributionTag(Ljava/lang/String;)Landroid/content/ContextParams$Builder;" />
+		<method name="setNextAttributionSource(Landroid/content/AttributionSource;)Landroid/content/ContextParams$Builder;" />
+	</class>
+	<class name="android/content/ContextWrapper" since="1">
+		<extends name="android/content/Context" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="attachBaseContext(Landroid/content/Context;)V" />
+		<method name="getBaseContext()Landroid/content/Context;" />
+		<method name="getPackageCodePath()Ljava/lang/String;" />
+		<method name="getPackageResourcePath()Ljava/lang/String;" />
+		<method name="sendOrderedBroadcast(Landroid/content/Intent;ILjava/lang/String;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;)V" since="30" />
+	</class>
+	<class name="android/content/CursorLoader" since="11" deprecated="28">
+		<extends name="android/content/AsyncTaskLoader" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V" deprecated="29" />
+		<method name="deliverResult(Landroid/database/Cursor;)V" deprecated="29" />
+		<method name="getProjection()[Ljava/lang/String;" deprecated="29" />
+		<method name="getSelection()Ljava/lang/String;" deprecated="29" />
+		<method name="getSelectionArgs()[Ljava/lang/String;" deprecated="29" />
+		<method name="getSortOrder()Ljava/lang/String;" deprecated="29" />
+		<method name="getUri()Landroid/net/Uri;" deprecated="29" />
+		<method name="loadInBackground()Landroid/database/Cursor;" deprecated="29" />
+		<method name="onCanceled(Landroid/database/Cursor;)V" deprecated="29" />
+		<method name="setProjection([Ljava/lang/String;)V" deprecated="29" />
+		<method name="setSelection(Ljava/lang/String;)V" deprecated="29" />
+		<method name="setSelectionArgs([Ljava/lang/String;)V" deprecated="29" />
+		<method name="setSortOrder(Ljava/lang/String;)V" deprecated="29" />
+		<method name="setUri(Landroid/net/Uri;)V" deprecated="29" />
+	</class>
+	<class name="android/content/DialogInterface" since="1">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" />
+		<method name="dismiss()V" />
+		<field name="BUTTON1" deprecated="15" />
+		<field name="BUTTON2" deprecated="15" />
+		<field name="BUTTON3" deprecated="15" />
+		<field name="BUTTON_NEGATIVE" since="3" />
+		<field name="BUTTON_NEUTRAL" since="3" />
+		<field name="BUTTON_POSITIVE" since="3" />
+	</class>
+	<class name="android/content/DialogInterface$OnCancelListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onCancel(Landroid/content/DialogInterface;)V" />
+	</class>
+	<class name="android/content/DialogInterface$OnClickListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onClick(Landroid/content/DialogInterface;I)V" />
+	</class>
+	<class name="android/content/DialogInterface$OnDismissListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onDismiss(Landroid/content/DialogInterface;)V" />
+	</class>
+	<class name="android/content/DialogInterface$OnKeyListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onKey(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z" />
+	</class>
+	<class name="android/content/DialogInterface$OnMultiChoiceClickListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onClick(Landroid/content/DialogInterface;IZ)V" />
+	</class>
+	<class name="android/content/DialogInterface$OnShowListener" since="8">
+		<extends name="java/lang/Object" />
+		<method name="onShow(Landroid/content/DialogInterface;)V" />
+	</class>
+	<class name="android/content/Entity" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/ContentValues;)V" />
+		<method name="addSubValue(Landroid/net/Uri;Landroid/content/ContentValues;)V" />
+		<method name="getEntityValues()Landroid/content/ContentValues;" />
+		<method name="getSubValues()Ljava/util/ArrayList;" />
+	</class>
+	<class name="android/content/Entity$NamedContentValues" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;Landroid/content/ContentValues;)V" />
+		<field name="uri" />
+		<field name="values" />
+	</class>
+	<class name="android/content/EntityIterator" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Iterator" />
+		<method name="close()V" />
+		<method name="reset()V" />
+	</class>
+	<class name="android/content/Intent" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/lang/Cloneable" since="8" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/Class;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Intent;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/net/Uri;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/net/Uri;Landroid/content/Context;Ljava/lang/Class;)V" />
+		<method name="addCategory(Ljava/lang/String;)Landroid/content/Intent;" />
+		<method name="addFlags(I)Landroid/content/Intent;" />
+		<method name="cloneFilter()Landroid/content/Intent;" />
+		<method name="createChooser(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent;" />
+		<method name="createChooser(Landroid/content/Intent;Ljava/lang/CharSequence;Landroid/content/IntentSender;)Landroid/content/Intent;" since="22" />
+		<method name="fillIn(Landroid/content/Intent;I)I" />
+		<method name="filterEquals(Landroid/content/Intent;)Z" />
+		<method name="filterHashCode()I" />
+		<method name="getAction()Ljava/lang/String;" />
+		<method name="getBooleanArrayExtra(Ljava/lang/String;)[Z" />
+		<method name="getBooleanExtra(Ljava/lang/String;Z)Z" />
+		<method name="getBundleExtra(Ljava/lang/String;)Landroid/os/Bundle;" />
+		<method name="getByteArrayExtra(Ljava/lang/String;)[B" />
+		<method name="getByteExtra(Ljava/lang/String;B)B" />
+		<method name="getCategories()Ljava/util/Set;" />
+		<method name="getCharArrayExtra(Ljava/lang/String;)[C" />
+		<method name="getCharExtra(Ljava/lang/String;C)C" />
+		<method name="getCharSequenceArrayExtra(Ljava/lang/String;)[Ljava/lang/CharSequence;" since="8" />
+		<method name="getCharSequenceArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;" since="8" />
+		<method name="getCharSequenceExtra(Ljava/lang/String;)Ljava/lang/CharSequence;" />
+		<method name="getClipData()Landroid/content/ClipData;" since="16" />
+		<method name="getComponent()Landroid/content/ComponentName;" />
+		<method name="getData()Landroid/net/Uri;" />
+		<method name="getDataString()Ljava/lang/String;" />
+		<method name="getDoubleArrayExtra(Ljava/lang/String;)[D" />
+		<method name="getDoubleExtra(Ljava/lang/String;D)D" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getFlags()I" />
+		<method name="getFloatArrayExtra(Ljava/lang/String;)[F" />
+		<method name="getFloatExtra(Ljava/lang/String;F)F" />
+		<method name="getIdentifier()Ljava/lang/String;" since="29" />
+		<method name="getIntArrayExtra(Ljava/lang/String;)[I" />
+		<method name="getIntExtra(Ljava/lang/String;I)I" />
+		<method name="getIntegerArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;" />
+		<method name="getIntent(Ljava/lang/String;)Landroid/content/Intent;" deprecated="15" />
+		<method name="getIntentOld(Ljava/lang/String;)Landroid/content/Intent;" />
+		<method name="getLongArrayExtra(Ljava/lang/String;)[J" />
+		<method name="getLongExtra(Ljava/lang/String;J)J" />
+		<method name="getPackage()Ljava/lang/String;" since="4" />
+		<method name="getParcelableArrayExtra(Ljava/lang/String;)[Landroid/os/Parcelable;" />
+		<method name="getParcelableArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;" />
+		<method name="getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;" />
+		<method name="getScheme()Ljava/lang/String;" />
+		<method name="getSelector()Landroid/content/Intent;" since="15" />
+		<method name="getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;" />
+		<method name="getShortArrayExtra(Ljava/lang/String;)[S" />
+		<method name="getShortExtra(Ljava/lang/String;S)S" />
+		<method name="getSourceBounds()Landroid/graphics/Rect;" since="7" />
+		<method name="getStringArrayExtra(Ljava/lang/String;)[Ljava/lang/String;" />
+		<method name="getStringArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;" />
+		<method name="getStringExtra(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getType()Ljava/lang/String;" />
+		<method name="hasCategory(Ljava/lang/String;)Z" />
+		<method name="hasExtra(Ljava/lang/String;)Z" />
+		<method name="hasFileDescriptors()Z" />
+		<method name="makeMainActivity(Landroid/content/ComponentName;)Landroid/content/Intent;" since="11" />
+		<method name="makeMainSelectorActivity(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;" since="15" />
+		<method name="makeRestartActivityTask(Landroid/content/ComponentName;)Landroid/content/Intent;" since="11" />
+		<method name="normalizeMimeType(Ljava/lang/String;)Ljava/lang/String;" since="16" />
+		<method name="parseIntent(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/content/Intent;" />
+		<method name="parseUri(Ljava/lang/String;I)Landroid/content/Intent;" since="4" />
+		<method name="putCharSequenceArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;" since="8" />
+		<method name="putExtra(Ljava/lang/String;B)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;C)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;D)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;F)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;I)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;J)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;S)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;Z)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;[B)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;[C)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;[D)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;[F)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;[I)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;[J)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;[Ljava/lang/CharSequence;)Landroid/content/Intent;" since="8" />
+		<method name="putExtra(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;[S)Landroid/content/Intent;" />
+		<method name="putExtra(Ljava/lang/String;[Z)Landroid/content/Intent;" />
+		<method name="putExtras(Landroid/content/Intent;)Landroid/content/Intent;" />
+		<method name="putExtras(Landroid/os/Bundle;)Landroid/content/Intent;" />
+		<method name="putIntegerArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;" />
+		<method name="putParcelableArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;" />
+		<method name="putStringArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<method name="removeCategory(Ljava/lang/String;)V" />
+		<method name="removeExtra(Ljava/lang/String;)V" />
+		<method name="removeFlags(I)V" since="26" />
+		<method name="replaceExtras(Landroid/content/Intent;)Landroid/content/Intent;" since="3" />
+		<method name="replaceExtras(Landroid/os/Bundle;)Landroid/content/Intent;" since="3" />
+		<method name="resolveActivity(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;" />
+		<method name="resolveActivityInfo(Landroid/content/pm/PackageManager;I)Landroid/content/pm/ActivityInfo;" />
+		<method name="resolveType(Landroid/content/ContentResolver;)Ljava/lang/String;" />
+		<method name="resolveType(Landroid/content/Context;)Ljava/lang/String;" />
+		<method name="resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;" />
+		<method name="setAction(Ljava/lang/String;)Landroid/content/Intent;" />
+		<method name="setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;" />
+		<method name="setClassName(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;" />
+		<method name="setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;" />
+		<method name="setClipData(Landroid/content/ClipData;)V" since="16" />
+		<method name="setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;" />
+		<method name="setData(Landroid/net/Uri;)Landroid/content/Intent;" />
+		<method name="setDataAndNormalize(Landroid/net/Uri;)Landroid/content/Intent;" since="16" />
+		<method name="setDataAndType(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;" />
+		<method name="setDataAndTypeAndNormalize(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;" since="16" />
+		<method name="setExtrasClassLoader(Ljava/lang/ClassLoader;)V" />
+		<method name="setFlags(I)Landroid/content/Intent;" />
+		<method name="setIdentifier(Ljava/lang/String;)Landroid/content/Intent;" since="29" />
+		<method name="setPackage(Ljava/lang/String;)Landroid/content/Intent;" since="4" />
+		<method name="setSelector(Landroid/content/Intent;)V" since="15" />
+		<method name="setSourceBounds(Landroid/graphics/Rect;)V" since="7" />
+		<method name="setType(Ljava/lang/String;)Landroid/content/Intent;" />
+		<method name="setTypeAndNormalize(Ljava/lang/String;)Landroid/content/Intent;" since="16" />
+		<method name="toURI()Ljava/lang/String;" deprecated="15" />
+		<method name="toUri(I)Ljava/lang/String;" since="4" />
+		<field name="ACTION_AIRPLANE_MODE_CHANGED" />
+		<field name="ACTION_ALL_APPS" />
+		<field name="ACTION_ANSWER" />
+		<field name="ACTION_APPLICATION_PREFERENCES" since="24" />
+		<field name="ACTION_APPLICATION_RESTRICTIONS_CHANGED" since="21" />
+		<field name="ACTION_APP_ERROR" since="14" />
+		<field name="ACTION_ASSIST" since="16" />
+		<field name="ACTION_ATTACH_DATA" />
+		<field name="ACTION_AUTO_REVOKE_PERMISSIONS" since="30" />
+		<field name="ACTION_BATTERY_CHANGED" />
+		<field name="ACTION_BATTERY_LOW" />
+		<field name="ACTION_BATTERY_OKAY" since="4" />
+		<field name="ACTION_BOOT_COMPLETED" />
+		<field name="ACTION_BUG_REPORT" />
+		<field name="ACTION_CALL" />
+		<field name="ACTION_CALL_BUTTON" />
+		<field name="ACTION_CAMERA_BUTTON" />
+		<field name="ACTION_CARRIER_SETUP" since="26" />
+		<field name="ACTION_CHOOSER" />
+		<field name="ACTION_CLOSE_SYSTEM_DIALOGS" deprecated="31" />
+		<field name="ACTION_CONFIGURATION_CHANGED" />
+		<field name="ACTION_CREATE_DOCUMENT" since="19" />
+		<field name="ACTION_CREATE_REMINDER" since="30" />
+		<field name="ACTION_CREATE_SHORTCUT" />
+		<field name="ACTION_DATE_CHANGED" />
+		<field name="ACTION_DEFAULT" />
+		<field name="ACTION_DEFINE" since="29" />
+		<field name="ACTION_DELETE" />
+		<field name="ACTION_DEVICE_STORAGE_LOW" deprecated="26" />
+		<field name="ACTION_DEVICE_STORAGE_OK" deprecated="26" />
+		<field name="ACTION_DIAL" />
+		<field name="ACTION_DOCK_EVENT" since="5" />
+		<field name="ACTION_DREAMING_STARTED" since="17" />
+		<field name="ACTION_DREAMING_STOPPED" since="17" />
+		<field name="ACTION_EDIT" />
+		<field name="ACTION_EXTERNAL_APPLICATIONS_AVAILABLE" since="8" />
+		<field name="ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE" since="8" />
+		<field name="ACTION_FACTORY_TEST" />
+		<field name="ACTION_GET_CONTENT" />
+		<field name="ACTION_GET_RESTRICTION_ENTRIES" since="18" />
+		<field name="ACTION_GTALK_SERVICE_CONNECTED" />
+		<field name="ACTION_GTALK_SERVICE_DISCONNECTED" />
+		<field name="ACTION_HEADSET_PLUG" />
+		<field name="ACTION_INPUT_METHOD_CHANGED" since="3" />
+		<field name="ACTION_INSERT" />
+		<field name="ACTION_INSERT_OR_EDIT" />
+		<field name="ACTION_INSTALL_FAILURE" since="27" />
+		<field name="ACTION_INSTALL_PACKAGE" since="14" deprecated="29" />
+		<field name="ACTION_LOCALE_CHANGED" since="7" />
+		<field name="ACTION_LOCKED_BOOT_COMPLETED" since="24" />
+		<field name="ACTION_MAIN" />
+		<field name="ACTION_MANAGED_PROFILE_ADDED" since="21" />
+		<field name="ACTION_MANAGED_PROFILE_AVAILABLE" since="24" />
+		<field name="ACTION_MANAGED_PROFILE_REMOVED" since="21" />
+		<field name="ACTION_MANAGED_PROFILE_UNAVAILABLE" since="24" />
+		<field name="ACTION_MANAGED_PROFILE_UNLOCKED" since="24" />
+		<field name="ACTION_MANAGE_NETWORK_USAGE" since="14" />
+		<field name="ACTION_MANAGE_PACKAGE_STORAGE" />
+		<field name="ACTION_MANAGE_UNUSED_APPS" since="31" />
+		<field name="ACTION_MEDIA_BAD_REMOVAL" />
+		<field name="ACTION_MEDIA_BUTTON" />
+		<field name="ACTION_MEDIA_CHECKING" since="3" />
+		<field name="ACTION_MEDIA_EJECT" />
+		<field name="ACTION_MEDIA_MOUNTED" />
+		<field name="ACTION_MEDIA_NOFS" since="3" />
+		<field name="ACTION_MEDIA_REMOVED" />
+		<field name="ACTION_MEDIA_SCANNER_FINISHED" />
+		<field name="ACTION_MEDIA_SCANNER_SCAN_FILE" deprecated="29" />
+		<field name="ACTION_MEDIA_SCANNER_STARTED" />
+		<field name="ACTION_MEDIA_SHARED" />
+		<field name="ACTION_MEDIA_UNMOUNTABLE" />
+		<field name="ACTION_MEDIA_UNMOUNTED" />
+		<field name="ACTION_MY_PACKAGE_REPLACED" since="12" />
+		<field name="ACTION_MY_PACKAGE_SUSPENDED" since="28" />
+		<field name="ACTION_MY_PACKAGE_UNSUSPENDED" since="28" />
+		<field name="ACTION_NEW_OUTGOING_CALL" deprecated="29" />
+		<field name="ACTION_OPEN_DOCUMENT" since="19" />
+		<field name="ACTION_OPEN_DOCUMENT_TREE" since="21" />
+		<field name="ACTION_PACKAGES_SUSPENDED" since="24" />
+		<field name="ACTION_PACKAGES_UNSUSPENDED" since="24" />
+		<field name="ACTION_PACKAGE_ADDED" />
+		<field name="ACTION_PACKAGE_CHANGED" />
+		<field name="ACTION_PACKAGE_DATA_CLEARED" since="3" />
+		<field name="ACTION_PACKAGE_FIRST_LAUNCH" since="12" />
+		<field name="ACTION_PACKAGE_FULLY_REMOVED" since="14" />
+		<field name="ACTION_PACKAGE_INSTALL" deprecated="15" />
+		<field name="ACTION_PACKAGE_NEEDS_VERIFICATION" since="14" />
+		<field name="ACTION_PACKAGE_REMOVED" />
+		<field name="ACTION_PACKAGE_REPLACED" since="3" />
+		<field name="ACTION_PACKAGE_RESTARTED" />
+		<field name="ACTION_PACKAGE_VERIFIED" since="17" />
+		<field name="ACTION_PASTE" since="11" />
+		<field name="ACTION_PICK" />
+		<field name="ACTION_PICK_ACTIVITY" />
+		<field name="ACTION_POWER_CONNECTED" since="4" />
+		<field name="ACTION_POWER_DISCONNECTED" since="4" />
+		<field name="ACTION_POWER_USAGE_SUMMARY" since="4" />
+		<field name="ACTION_PROCESS_TEXT" since="23" />
+		<field name="ACTION_PROFILE_ACCESSIBLE" since="31" />
+		<field name="ACTION_PROFILE_INACCESSIBLE" since="31" />
+		<field name="ACTION_PROVIDER_CHANGED" />
+		<field name="ACTION_QUICK_CLOCK" since="17" />
+		<field name="ACTION_QUICK_VIEW" since="24" />
+		<field name="ACTION_REBOOT" />
+		<field name="ACTION_RUN" />
+		<field name="ACTION_SCREEN_OFF" />
+		<field name="ACTION_SCREEN_ON" />
+		<field name="ACTION_SEARCH" />
+		<field name="ACTION_SEARCH_LONG_PRESS" since="3" />
+		<field name="ACTION_SEND" />
+		<field name="ACTION_SENDTO" />
+		<field name="ACTION_SEND_MULTIPLE" since="4" />
+		<field name="ACTION_SET_WALLPAPER" />
+		<field name="ACTION_SHOW_APP_INFO" since="24" />
+		<field name="ACTION_SHUTDOWN" since="4" />
+		<field name="ACTION_SYNC" />
+		<field name="ACTION_SYSTEM_TUTORIAL" since="3" />
+		<field name="ACTION_TIMEZONE_CHANGED" />
+		<field name="ACTION_TIME_CHANGED" />
+		<field name="ACTION_TIME_TICK" />
+		<field name="ACTION_TRANSLATE" since="29" />
+		<field name="ACTION_UID_REMOVED" />
+		<field name="ACTION_UMS_CONNECTED" deprecated="15" />
+		<field name="ACTION_UMS_DISCONNECTED" deprecated="15" />
+		<field name="ACTION_UNINSTALL_PACKAGE" since="14" deprecated="29" />
+		<field name="ACTION_USER_BACKGROUND" since="17" />
+		<field name="ACTION_USER_FOREGROUND" since="17" />
+		<field name="ACTION_USER_INITIALIZE" since="17" />
+		<field name="ACTION_USER_PRESENT" since="3" />
+		<field name="ACTION_USER_UNLOCKED" since="24" />
+		<field name="ACTION_VIEW" />
+		<field name="ACTION_VIEW_LOCUS" since="29" />
+		<field name="ACTION_VIEW_PERMISSION_USAGE" since="29" />
+		<field name="ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD" since="31" />
+		<field name="ACTION_VOICE_COMMAND" />
+		<field name="ACTION_WALLPAPER_CHANGED" deprecated="16" />
+		<field name="ACTION_WEB_SEARCH" />
+		<field name="CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET" since="30" />
+		<field name="CATEGORY_ALTERNATIVE" />
+		<field name="CATEGORY_APP_BROWSER" since="15" />
+		<field name="CATEGORY_APP_CALCULATOR" since="15" />
+		<field name="CATEGORY_APP_CALENDAR" since="15" />
+		<field name="CATEGORY_APP_CONTACTS" since="15" />
+		<field name="CATEGORY_APP_EMAIL" since="15" />
+		<field name="CATEGORY_APP_FILES" since="29" />
+		<field name="CATEGORY_APP_GALLERY" since="15" />
+		<field name="CATEGORY_APP_MAPS" since="15" />
+		<field name="CATEGORY_APP_MARKET" since="11" />
+		<field name="CATEGORY_APP_MESSAGING" since="15" />
+		<field name="CATEGORY_APP_MUSIC" since="15" />
+		<field name="CATEGORY_BROWSABLE" />
+		<field name="CATEGORY_CAR_DOCK" since="5" />
+		<field name="CATEGORY_CAR_MODE" since="8" />
+		<field name="CATEGORY_DEFAULT" />
+		<field name="CATEGORY_DESK_DOCK" since="5" />
+		<field name="CATEGORY_DEVELOPMENT_PREFERENCE" />
+		<field name="CATEGORY_EMBED" />
+		<field name="CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST" />
+		<field name="CATEGORY_GADGET" removed="3" />
+		<field name="CATEGORY_HE_DESK_DOCK" since="11" />
+		<field name="CATEGORY_HOME" />
+		<field name="CATEGORY_INFO" since="3" />
+		<field name="CATEGORY_LAUNCHER" />
+		<field name="CATEGORY_LEANBACK_LAUNCHER" since="21" />
+		<field name="CATEGORY_LE_DESK_DOCK" since="11" />
+		<field name="CATEGORY_MONKEY" />
+		<field name="CATEGORY_OPENABLE" />
+		<field name="CATEGORY_PREFERENCE" />
+		<field name="CATEGORY_SAMPLE_CODE" />
+		<field name="CATEGORY_SECONDARY_HOME" since="29" />
+		<field name="CATEGORY_SELECTED_ALTERNATIVE" />
+		<field name="CATEGORY_TAB" />
+		<field name="CATEGORY_TEST" />
+		<field name="CATEGORY_TYPED_OPENABLE" since="26" />
+		<field name="CATEGORY_UNIT_TEST" />
+		<field name="CATEGORY_VOICE" since="23" />
+		<field name="CATEGORY_VR_HOME" since="26" />
+		<field name="CREATOR" />
+		<field name="EXTRA_ALARM_COUNT" />
+		<field name="EXTRA_ALLOW_MULTIPLE" since="18" />
+		<field name="EXTRA_ALLOW_REPLACE" since="14" deprecated="16" />
+		<field name="EXTRA_ALTERNATE_INTENTS" since="23" />
+		<field name="EXTRA_ASSIST_CONTEXT" since="18" />
+		<field name="EXTRA_ASSIST_INPUT_DEVICE_ID" since="23" />
+		<field name="EXTRA_ASSIST_INPUT_HINT_KEYBOARD" since="21" />
+		<field name="EXTRA_ASSIST_PACKAGE" since="18" />
+		<field name="EXTRA_ASSIST_UID" since="23" />
+		<field name="EXTRA_ATTRIBUTION_TAGS" since="31" />
+		<field name="EXTRA_AUTO_LAUNCH_SINGLE_CHOICE" since="29" />
+		<field name="EXTRA_BCC" />
+		<field name="EXTRA_BUG_REPORT" since="14" />
+		<field name="EXTRA_CC" />
+		<field name="EXTRA_CHANGED_COMPONENT_NAME" since="5" deprecated="15" />
+		<field name="EXTRA_CHANGED_COMPONENT_NAME_LIST" since="7" />
+		<field name="EXTRA_CHANGED_PACKAGE_LIST" since="8" />
+		<field name="EXTRA_CHANGED_UID_LIST" since="8" />
+		<field name="EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER" since="23" />
+		<field name="EXTRA_CHOOSER_TARGETS" since="24" />
+		<field name="EXTRA_CHOSEN_COMPONENT" since="22" />
+		<field name="EXTRA_CHOSEN_COMPONENT_INTENT_SENDER" since="22" />
+		<field name="EXTRA_COMPONENT_NAME" since="26" />
+		<field name="EXTRA_CONTENT_ANNOTATIONS" since="26" />
+		<field name="EXTRA_CONTENT_QUERY" since="29" />
+		<field name="EXTRA_DATA_REMOVED" since="3" />
+		<field name="EXTRA_DOCK_STATE" since="5" />
+		<field name="EXTRA_DOCK_STATE_CAR" since="5" />
+		<field name="EXTRA_DOCK_STATE_DESK" since="5" />
+		<field name="EXTRA_DOCK_STATE_HE_DESK" since="11" />
+		<field name="EXTRA_DOCK_STATE_LE_DESK" since="11" />
+		<field name="EXTRA_DOCK_STATE_UNDOCKED" since="5" />
+		<field name="EXTRA_DONT_KILL_APP" />
+		<field name="EXTRA_DURATION_MILLIS" since="29" />
+		<field name="EXTRA_EMAIL" />
+		<field name="EXTRA_END_TIME" since="31" />
+		<field name="EXTRA_EXCLUDE_COMPONENTS" since="24" />
+		<field name="EXTRA_FROM_STORAGE" since="26" />
+		<field name="EXTRA_HTML_TEXT" since="16" />
+		<field name="EXTRA_INDEX" since="24" />
+		<field name="EXTRA_INITIAL_INTENTS" since="5" />
+		<field name="EXTRA_INSTALLER_PACKAGE_NAME" since="14" />
+		<field name="EXTRA_INTENT" />
+		<field name="EXTRA_KEY_EVENT" />
+		<field name="EXTRA_LOCAL_ONLY" since="11" />
+		<field name="EXTRA_LOCUS_ID" since="29" />
+		<field name="EXTRA_MIME_TYPES" since="19" />
+		<field name="EXTRA_NOT_UNKNOWN_SOURCE" since="14" />
+		<field name="EXTRA_ORIGINATING_URI" since="17" />
+		<field name="EXTRA_PACKAGE_NAME" since="24" />
+		<field name="EXTRA_PERMISSION_GROUP_NAME" since="31" />
+		<field name="EXTRA_PHONE_NUMBER" />
+		<field name="EXTRA_PROCESS_TEXT" since="23" />
+		<field name="EXTRA_PROCESS_TEXT_READONLY" since="23" />
+		<field name="EXTRA_QUICK_VIEW_FEATURES" since="26" />
+		<field name="EXTRA_QUIET_MODE" since="24" />
+		<field name="EXTRA_REFERRER" since="17" />
+		<field name="EXTRA_REFERRER_NAME" since="22" />
+		<field name="EXTRA_REMOTE_INTENT_TOKEN" since="5" />
+		<field name="EXTRA_REPLACEMENT_EXTRAS" since="21" />
+		<field name="EXTRA_REPLACING" since="3" />
+		<field name="EXTRA_RESTRICTIONS_BUNDLE" since="18" />
+		<field name="EXTRA_RESTRICTIONS_INTENT" since="18" />
+		<field name="EXTRA_RESTRICTIONS_LIST" since="18" />
+		<field name="EXTRA_RESULT_RECEIVER" since="23" />
+		<field name="EXTRA_RETURN_RESULT" since="14" />
+		<field name="EXTRA_SHORTCUT_ICON" deprecated="26" />
+		<field name="EXTRA_SHORTCUT_ICON_RESOURCE" deprecated="26" />
+		<field name="EXTRA_SHORTCUT_ID" since="29" />
+		<field name="EXTRA_SHORTCUT_INTENT" deprecated="26" />
+		<field name="EXTRA_SHORTCUT_NAME" deprecated="26" />
+		<field name="EXTRA_SHUTDOWN_USERSPACE_ONLY" since="19" />
+		<field name="EXTRA_SPLIT_NAME" since="27" />
+		<field name="EXTRA_START_TIME" since="31" />
+		<field name="EXTRA_STREAM" />
+		<field name="EXTRA_SUBJECT" />
+		<field name="EXTRA_SUSPENDED_PACKAGE_EXTRAS" since="28" />
+		<field name="EXTRA_TEMPLATE" />
+		<field name="EXTRA_TEXT" />
+		<field name="EXTRA_TIME" since="30" />
+		<field name="EXTRA_TIMEZONE" since="30" />
+		<field name="EXTRA_TITLE" />
+		<field name="EXTRA_UID" />
+		<field name="EXTRA_USER" since="21" />
+		<field name="EXTRA_USER_INITIATED" since="31" />
+		<field name="FILL_IN_ACTION" />
+		<field name="FILL_IN_CATEGORIES" />
+		<field name="FILL_IN_CLIP_DATA" since="16" />
+		<field name="FILL_IN_COMPONENT" />
+		<field name="FILL_IN_DATA" />
+		<field name="FILL_IN_IDENTIFIER" since="29" />
+		<field name="FILL_IN_PACKAGE" since="4" />
+		<field name="FILL_IN_SELECTOR" since="15" />
+		<field name="FILL_IN_SOURCE_BOUNDS" since="7" />
+		<field name="FLAG_ACTIVITY_BROUGHT_TO_FRONT" />
+		<field name="FLAG_ACTIVITY_CLEAR_TASK" since="11" />
+		<field name="FLAG_ACTIVITY_CLEAR_TOP" />
+		<field name="FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET" since="3" deprecated="21" />
+		<field name="FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS" />
+		<field name="FLAG_ACTIVITY_FORWARD_RESULT" />
+		<field name="FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY" />
+		<field name="FLAG_ACTIVITY_LAUNCH_ADJACENT" since="24" />
+		<field name="FLAG_ACTIVITY_MATCH_EXTERNAL" since="28" />
+		<field name="FLAG_ACTIVITY_MULTIPLE_TASK" />
+		<field name="FLAG_ACTIVITY_NEW_DOCUMENT" since="21" />
+		<field name="FLAG_ACTIVITY_NEW_TASK" />
+		<field name="FLAG_ACTIVITY_NO_ANIMATION" since="5" />
+		<field name="FLAG_ACTIVITY_NO_HISTORY" />
+		<field name="FLAG_ACTIVITY_NO_USER_ACTION" since="3" />
+		<field name="FLAG_ACTIVITY_PREVIOUS_IS_TOP" />
+		<field name="FLAG_ACTIVITY_REORDER_TO_FRONT" since="3" />
+		<field name="FLAG_ACTIVITY_REQUIRE_DEFAULT" since="30" />
+		<field name="FLAG_ACTIVITY_REQUIRE_NON_BROWSER" since="30" />
+		<field name="FLAG_ACTIVITY_RESET_TASK_IF_NEEDED" />
+		<field name="FLAG_ACTIVITY_RETAIN_IN_RECENTS" since="21" />
+		<field name="FLAG_ACTIVITY_SINGLE_TOP" />
+		<field name="FLAG_ACTIVITY_TASK_ON_HOME" since="11" />
+		<field name="FLAG_DEBUG_LOG_RESOLUTION" />
+		<field name="FLAG_DIRECT_BOOT_AUTO" since="29" />
+		<field name="FLAG_EXCLUDE_STOPPED_PACKAGES" since="12" />
+		<field name="FLAG_FROM_BACKGROUND" />
+		<field name="FLAG_GRANT_PERSISTABLE_URI_PERMISSION" since="19" />
+		<field name="FLAG_GRANT_PREFIX_URI_PERMISSION" since="21" />
+		<field name="FLAG_GRANT_READ_URI_PERMISSION" />
+		<field name="FLAG_GRANT_WRITE_URI_PERMISSION" />
+		<field name="FLAG_INCLUDE_STOPPED_PACKAGES" since="12" />
+		<field name="FLAG_RECEIVER_FOREGROUND" since="16" />
+		<field name="FLAG_RECEIVER_NO_ABORT" since="19" />
+		<field name="FLAG_RECEIVER_REGISTERED_ONLY" />
+		<field name="FLAG_RECEIVER_REPLACE_PENDING" since="8" />
+		<field name="FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS" since="26" />
+		<field name="METADATA_DOCK_HOME" since="5" />
+		<field name="URI_ALLOW_UNSAFE" since="22" />
+		<field name="URI_ANDROID_APP_SCHEME" since="22" />
+		<field name="URI_INTENT_SCHEME" since="4" />
+	</class>
+	<class name="android/content/Intent$FilterComparison" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Intent;)V" />
+		<method name="getIntent()Landroid/content/Intent;" />
+	</class>
+	<class name="android/content/Intent$ShortcutIconResource" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="fromContext(Landroid/content/Context;I)Landroid/content/Intent$ShortcutIconResource;" />
+		<field name="CREATOR" />
+		<field name="packageName" />
+		<field name="resourceName" />
+	</class>
+	<class name="android/content/IntentFilter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/IntentFilter;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="actionsIterator()Ljava/util/Iterator;" />
+		<method name="addAction(Ljava/lang/String;)V" />
+		<method name="addCategory(Ljava/lang/String;)V" />
+		<method name="addDataAuthority(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="addDataPath(Ljava/lang/String;I)V" />
+		<method name="addDataScheme(Ljava/lang/String;)V" />
+		<method name="addDataSchemeSpecificPart(Ljava/lang/String;I)V" since="19" />
+		<method name="addDataType(Ljava/lang/String;)V" />
+		<method name="authoritiesIterator()Ljava/util/Iterator;" />
+		<method name="categoriesIterator()Ljava/util/Iterator;" />
+		<method name="countActions()I" />
+		<method name="countCategories()I" />
+		<method name="countDataAuthorities()I" />
+		<method name="countDataPaths()I" />
+		<method name="countDataSchemeSpecificParts()I" since="19" />
+		<method name="countDataSchemes()I" />
+		<method name="countDataTypes()I" />
+		<method name="create(Ljava/lang/String;Ljava/lang/String;)Landroid/content/IntentFilter;" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getAction(I)Ljava/lang/String;" />
+		<method name="getCategory(I)Ljava/lang/String;" />
+		<method name="getDataAuthority(I)Landroid/content/IntentFilter$AuthorityEntry;" />
+		<method name="getDataPath(I)Landroid/os/PatternMatcher;" />
+		<method name="getDataScheme(I)Ljava/lang/String;" />
+		<method name="getDataSchemeSpecificPart(I)Landroid/os/PatternMatcher;" since="19" />
+		<method name="getDataType(I)Ljava/lang/String;" />
+		<method name="getPriority()I" />
+		<method name="hasAction(Ljava/lang/String;)Z" />
+		<method name="hasCategory(Ljava/lang/String;)Z" />
+		<method name="hasDataAuthority(Landroid/net/Uri;)Z" />
+		<method name="hasDataPath(Ljava/lang/String;)Z" />
+		<method name="hasDataScheme(Ljava/lang/String;)Z" />
+		<method name="hasDataSchemeSpecificPart(Ljava/lang/String;)Z" since="19" />
+		<method name="hasDataType(Ljava/lang/String;)Z" />
+		<method name="match(Landroid/content/ContentResolver;Landroid/content/Intent;ZLjava/lang/String;)I" />
+		<method name="match(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Ljava/util/Set;Ljava/lang/String;)I" />
+		<method name="matchAction(Ljava/lang/String;)Z" />
+		<method name="matchCategories(Ljava/util/Set;)Ljava/lang/String;" />
+		<method name="matchData(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)I" />
+		<method name="matchDataAuthority(Landroid/net/Uri;)I" />
+		<method name="pathsIterator()Ljava/util/Iterator;" />
+		<method name="readFromXml(Lorg/xmlpull/v1/XmlPullParser;)V" />
+		<method name="schemeSpecificPartsIterator()Ljava/util/Iterator;" since="19" />
+		<method name="schemesIterator()Ljava/util/Iterator;" />
+		<method name="setPriority(I)V" />
+		<method name="typesIterator()Ljava/util/Iterator;" />
+		<method name="writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V" />
+		<field name="CREATOR" />
+		<field name="MATCH_ADJUSTMENT_MASK" />
+		<field name="MATCH_ADJUSTMENT_NORMAL" />
+		<field name="MATCH_CATEGORY_EMPTY" />
+		<field name="MATCH_CATEGORY_HOST" />
+		<field name="MATCH_CATEGORY_MASK" />
+		<field name="MATCH_CATEGORY_PATH" />
+		<field name="MATCH_CATEGORY_PORT" />
+		<field name="MATCH_CATEGORY_SCHEME" />
+		<field name="MATCH_CATEGORY_SCHEME_SPECIFIC_PART" since="19" />
+		<field name="MATCH_CATEGORY_TYPE" />
+		<field name="NO_MATCH_ACTION" />
+		<field name="NO_MATCH_CATEGORY" />
+		<field name="NO_MATCH_DATA" />
+		<field name="NO_MATCH_TYPE" />
+		<field name="SYSTEM_HIGH_PRIORITY" />
+		<field name="SYSTEM_LOW_PRIORITY" />
+	</class>
+	<class name="android/content/IntentFilter$AuthorityEntry" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getHost()Ljava/lang/String;" />
+		<method name="getPort()I" />
+		<method name="match(Landroid/net/Uri;)I" />
+	</class>
+	<class name="android/content/IntentFilter$MalformedMimeTypeException" since="1">
+		<extends name="android/util/AndroidException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/content/IntentSender" since="4">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCreatorPackage()Ljava/lang/String;" since="17" />
+		<method name="getCreatorUid()I" since="17" />
+		<method name="getCreatorUserHandle()Landroid/os/UserHandle;" since="17" />
+		<method name="getTargetPackage()Ljava/lang/String;" since="9" deprecated="17" />
+		<method name="readIntentSenderOrNullFromParcel(Landroid/os/Parcel;)Landroid/content/IntentSender;" />
+		<method name="sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;)V" />
+		<method name="sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;Ljava/lang/String;)V" since="14" />
+		<method name="writeIntentSenderOrNullToParcel(Landroid/content/IntentSender;Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/IntentSender$OnFinished" since="4">
+		<extends name="java/lang/Object" />
+		<method name="onSendFinished(Landroid/content/IntentSender;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/content/IntentSender$SendIntentException" since="4">
+		<extends name="android/util/AndroidException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/content/Loader" since="11" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="abandon()V" deprecated="29" />
+		<method name="cancelLoad()Z" since="16" deprecated="29" />
+		<method name="commitContentChanged()V" since="18" deprecated="29" />
+		<method name="dataToString(Ljava/lang/Object;)Ljava/lang/String;" deprecated="29" />
+		<method name="deliverCancellation()V" since="16" deprecated="29" />
+		<method name="deliverResult(Ljava/lang/Object;)V" deprecated="29" />
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29" />
+		<method name="forceLoad()V" deprecated="29" />
+		<method name="getContext()Landroid/content/Context;" deprecated="29" />
+		<method name="getId()I" deprecated="29" />
+		<method name="isAbandoned()Z" deprecated="29" />
+		<method name="isReset()Z" deprecated="29" />
+		<method name="isStarted()Z" deprecated="29" />
+		<method name="onAbandon()V" deprecated="29" />
+		<method name="onCancelLoad()Z" since="16" deprecated="29" />
+		<method name="onContentChanged()V" deprecated="29" />
+		<method name="onForceLoad()V" deprecated="29" />
+		<method name="onReset()V" deprecated="29" />
+		<method name="onStartLoading()V" deprecated="29" />
+		<method name="onStopLoading()V" deprecated="29" />
+		<method name="registerListener(ILandroid/content/Loader$OnLoadCompleteListener;)V" deprecated="29" />
+		<method name="registerOnLoadCanceledListener(Landroid/content/Loader$OnLoadCanceledListener;)V" since="16" deprecated="29" />
+		<method name="reset()V" deprecated="29" />
+		<method name="rollbackContentChanged()V" since="18" deprecated="29" />
+		<method name="startLoading()V" deprecated="29" />
+		<method name="stopLoading()V" deprecated="29" />
+		<method name="takeContentChanged()Z" deprecated="29" />
+		<method name="unregisterListener(Landroid/content/Loader$OnLoadCompleteListener;)V" deprecated="29" />
+		<method name="unregisterOnLoadCanceledListener(Landroid/content/Loader$OnLoadCanceledListener;)V" since="16" deprecated="29" />
+	</class>
+	<class name="android/content/Loader$ForceLoadContentObserver" since="11" deprecated="28">
+		<extends name="android/database/ContentObserver" />
+		<method name="&lt;init&gt;(Landroid/content/Loader;)V" deprecated="29" />
+	</class>
+	<class name="android/content/Loader$OnLoadCanceledListener" since="16" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="onLoadCanceled(Landroid/content/Loader;)V" deprecated="29" />
+	</class>
+	<class name="android/content/Loader$OnLoadCompleteListener" since="11" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="onLoadComplete(Landroid/content/Loader;Ljava/lang/Object;)V" deprecated="29" />
+	</class>
+	<class name="android/content/LocusId" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getId()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/MutableContextWrapper" since="1">
+		<extends name="android/content/ContextWrapper" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="setBaseContext(Landroid/content/Context;)V" />
+	</class>
+	<class name="android/content/OperationApplicationException" since="5">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+		<method name="getNumSuccessfulYieldPoints()I" />
+	</class>
+	<class name="android/content/PeriodicSync" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V" />
+		<field name="CREATOR" />
+		<field name="account" />
+		<field name="authority" />
+		<field name="extras" />
+		<field name="period" />
+	</class>
+	<class name="android/content/QuickViewConstants" since="26">
+		<extends name="java/lang/Object" />
+		<field name="FEATURE_DELETE" since="28" />
+		<field name="FEATURE_DOWNLOAD" />
+		<field name="FEATURE_EDIT" />
+		<field name="FEATURE_PRINT" />
+		<field name="FEATURE_SEND" />
+		<field name="FEATURE_VIEW" />
+	</class>
+	<class name="android/content/ReceiverCallNotAllowedException" since="1">
+		<extends name="android/util/AndroidRuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/content/RestrictionEntry" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" since="21" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" since="21" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Z)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[Ljava/lang/String;)V" />
+		<method name="createBundleArrayEntry(Ljava/lang/String;[Landroid/content/RestrictionEntry;)Landroid/content/RestrictionEntry;" since="23" />
+		<method name="createBundleEntry(Ljava/lang/String;[Landroid/content/RestrictionEntry;)Landroid/content/RestrictionEntry;" since="23" />
+		<method name="getAllSelectedStrings()[Ljava/lang/String;" />
+		<method name="getChoiceEntries()[Ljava/lang/String;" />
+		<method name="getChoiceValues()[Ljava/lang/String;" />
+		<method name="getDescription()Ljava/lang/String;" />
+		<method name="getIntValue()I" since="21" />
+		<method name="getKey()Ljava/lang/String;" />
+		<method name="getRestrictions()[Landroid/content/RestrictionEntry;" since="23" />
+		<method name="getSelectedState()Z" />
+		<method name="getSelectedString()Ljava/lang/String;" />
+		<method name="getTitle()Ljava/lang/String;" />
+		<method name="getType()I" />
+		<method name="setAllSelectedStrings([Ljava/lang/String;)V" />
+		<method name="setChoiceEntries(Landroid/content/Context;I)V" />
+		<method name="setChoiceEntries([Ljava/lang/String;)V" />
+		<method name="setChoiceValues(Landroid/content/Context;I)V" />
+		<method name="setChoiceValues([Ljava/lang/String;)V" />
+		<method name="setDescription(Ljava/lang/String;)V" />
+		<method name="setIntValue(I)V" since="21" />
+		<method name="setRestrictions([Landroid/content/RestrictionEntry;)V" since="23" />
+		<method name="setSelectedState(Z)V" />
+		<method name="setSelectedString(Ljava/lang/String;)V" />
+		<method name="setTitle(Ljava/lang/String;)V" />
+		<method name="setType(I)V" />
+		<field name="CREATOR" />
+		<field name="TYPE_BOOLEAN" />
+		<field name="TYPE_BUNDLE" since="23" />
+		<field name="TYPE_BUNDLE_ARRAY" since="23" />
+		<field name="TYPE_CHOICE" />
+		<field name="TYPE_INTEGER" since="21" />
+		<field name="TYPE_MULTI_SELECT" />
+		<field name="TYPE_NULL" />
+		<field name="TYPE_STRING" since="21" />
+	</class>
+	<class name="android/content/RestrictionsManager" since="21">
+		<extends name="java/lang/Object" />
+		<method name="convertRestrictionsToBundle(Ljava/util/List;)Landroid/os/Bundle;" since="23" />
+		<method name="createLocalApprovalIntent()Landroid/content/Intent;" />
+		<method name="getApplicationRestrictions()Landroid/os/Bundle;" />
+		<method name="getManifestRestrictions(Ljava/lang/String;)Ljava/util/List;" />
+		<method name="hasRestrictionsProvider()Z" />
+		<method name="notifyPermissionResponse(Ljava/lang/String;Landroid/os/PersistableBundle;)V" />
+		<method name="requestPermission(Ljava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)V" />
+		<field name="ACTION_PERMISSION_RESPONSE_RECEIVED" />
+		<field name="ACTION_REQUEST_LOCAL_APPROVAL" />
+		<field name="ACTION_REQUEST_PERMISSION" />
+		<field name="EXTRA_PACKAGE_NAME" />
+		<field name="EXTRA_REQUEST_BUNDLE" />
+		<field name="EXTRA_REQUEST_ID" />
+		<field name="EXTRA_REQUEST_TYPE" />
+		<field name="EXTRA_RESPONSE_BUNDLE" />
+		<field name="META_DATA_APP_RESTRICTIONS" />
+		<field name="REQUEST_KEY_APPROVE_LABEL" />
+		<field name="REQUEST_KEY_DATA" />
+		<field name="REQUEST_KEY_DENY_LABEL" />
+		<field name="REQUEST_KEY_ICON" />
+		<field name="REQUEST_KEY_ID" />
+		<field name="REQUEST_KEY_MESSAGE" />
+		<field name="REQUEST_KEY_NEW_REQUEST" />
+		<field name="REQUEST_KEY_TITLE" />
+		<field name="REQUEST_TYPE_APPROVAL" />
+		<field name="RESPONSE_KEY_ERROR_CODE" />
+		<field name="RESPONSE_KEY_MESSAGE" />
+		<field name="RESPONSE_KEY_RESPONSE_TIMESTAMP" />
+		<field name="RESPONSE_KEY_RESULT" />
+		<field name="RESULT_APPROVED" />
+		<field name="RESULT_DENIED" />
+		<field name="RESULT_ERROR" />
+		<field name="RESULT_ERROR_BAD_REQUEST" />
+		<field name="RESULT_ERROR_INTERNAL" />
+		<field name="RESULT_ERROR_NETWORK" />
+		<field name="RESULT_NO_RESPONSE" />
+		<field name="RESULT_UNKNOWN_REQUEST" />
+	</class>
+	<class name="android/content/SearchRecentSuggestionsProvider" since="1">
+		<extends name="android/content/ContentProvider" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setupSuggestions(Ljava/lang/String;I)V" />
+		<field name="DATABASE_MODE_2LINES" />
+		<field name="DATABASE_MODE_QUERIES" />
+	</class>
+	<class name="android/content/ServiceConnection" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onBindingDied(Landroid/content/ComponentName;)V" since="26" />
+		<method name="onNullBinding(Landroid/content/ComponentName;)V" since="28" />
+		<method name="onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V" />
+		<method name="onServiceDisconnected(Landroid/content/ComponentName;)V" />
+	</class>
+	<class name="android/content/SharedPreferences" since="1">
+		<extends name="java/lang/Object" />
+		<method name="contains(Ljava/lang/String;)Z" />
+		<method name="edit()Landroid/content/SharedPreferences$Editor;" />
+		<method name="getAll()Ljava/util/Map;" />
+		<method name="getBoolean(Ljava/lang/String;Z)Z" />
+		<method name="getFloat(Ljava/lang/String;F)F" />
+		<method name="getInt(Ljava/lang/String;I)I" />
+		<method name="getLong(Ljava/lang/String;J)J" />
+		<method name="getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getStringSet(Ljava/lang/String;Ljava/util/Set;)Ljava/util/Set;" since="11" />
+		<method name="registerOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V" />
+		<method name="unregisterOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V" />
+	</class>
+	<class name="android/content/SharedPreferences$Editor" since="1">
+		<extends name="java/lang/Object" />
+		<method name="apply()V" since="9" />
+		<method name="clear()Landroid/content/SharedPreferences$Editor;" />
+		<method name="commit()Z" />
+		<method name="putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;" />
+		<method name="putFloat(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor;" />
+		<method name="putInt(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor;" />
+		<method name="putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor;" />
+		<method name="putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;" />
+		<method name="putStringSet(Ljava/lang/String;Ljava/util/Set;)Landroid/content/SharedPreferences$Editor;" since="11" />
+		<method name="remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;" />
+	</class>
+	<class name="android/content/SharedPreferences$OnSharedPreferenceChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onSharedPreferenceChanged(Landroid/content/SharedPreferences;Ljava/lang/String;)V" />
+	</class>
+	<class name="android/content/SyncAdapterType" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ZZ)V" />
+		<method name="allowParallelSyncs()Z" since="11" />
+		<method name="getSettingsActivity()Ljava/lang/String;" since="14" />
+		<method name="isAlwaysSyncable()Z" since="11" />
+		<method name="isUserVisible()Z" />
+		<method name="newKey(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SyncAdapterType;" />
+		<method name="supportsUploading()Z" />
+		<field name="CREATOR" />
+		<field name="accountType" />
+		<field name="authority" />
+		<field name="isKey" />
+	</class>
+	<class name="android/content/SyncContext" since="5">
+		<extends name="java/lang/Object" />
+		<method name="getSyncContextBinder()Landroid/os/IBinder;" />
+		<method name="onFinished(Landroid/content/SyncResult;)V" />
+	</class>
+	<class name="android/content/SyncInfo" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="11" />
+		<field name="account" />
+		<field name="authority" />
+		<field name="startTime" />
+	</class>
+	<class name="android/content/SyncRequest" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/SyncRequest$Builder" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/content/SyncRequest;" />
+		<method name="setDisallowMetered(Z)Landroid/content/SyncRequest$Builder;" />
+		<method name="setExpedited(Z)Landroid/content/SyncRequest$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/content/SyncRequest$Builder;" />
+		<method name="setIgnoreBackoff(Z)Landroid/content/SyncRequest$Builder;" />
+		<method name="setIgnoreSettings(Z)Landroid/content/SyncRequest$Builder;" />
+		<method name="setManual(Z)Landroid/content/SyncRequest$Builder;" />
+		<method name="setNoRetry(Z)Landroid/content/SyncRequest$Builder;" />
+		<method name="setRequiresCharging(Z)Landroid/content/SyncRequest$Builder;" since="24" />
+		<method name="setScheduleAsExpeditedJob(Z)Landroid/content/SyncRequest$Builder;" since="31" />
+		<method name="setSyncAdapter(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncRequest$Builder;" />
+		<method name="syncOnce()Landroid/content/SyncRequest$Builder;" />
+		<method name="syncPeriodic(JJ)Landroid/content/SyncRequest$Builder;" />
+	</class>
+	<class name="android/content/SyncResult" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clear()V" />
+		<method name="hasError()Z" />
+		<method name="hasHardError()Z" />
+		<method name="hasSoftError()Z" />
+		<method name="madeSomeProgress()Z" />
+		<method name="toDebugString()Ljava/lang/String;" />
+		<field name="ALREADY_IN_PROGRESS" />
+		<field name="CREATOR" />
+		<field name="databaseError" />
+		<field name="delayUntil" since="8" />
+		<field name="fullSyncRequested" />
+		<field name="moreRecordsToGet" />
+		<field name="partialSyncUnavailable" />
+		<field name="stats" />
+		<field name="syncAlreadyInProgress" />
+		<field name="tooManyDeletions" />
+		<field name="tooManyRetries" />
+	</class>
+	<class name="android/content/SyncStats" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="clear()V" />
+		<field name="CREATOR" />
+		<field name="numAuthExceptions" />
+		<field name="numConflictDetectedExceptions" />
+		<field name="numDeletes" />
+		<field name="numEntries" />
+		<field name="numInserts" />
+		<field name="numIoExceptions" />
+		<field name="numParseExceptions" />
+		<field name="numSkippedEntries" />
+		<field name="numUpdates" />
+	</class>
+	<class name="android/content/SyncStatusObserver" since="5">
+		<extends name="java/lang/Object" />
+		<method name="onStatusChanged(I)V" />
+	</class>
+	<class name="android/content/UriMatcher" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="addURI(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="match(Landroid/net/Uri;)I" />
+		<field name="NO_MATCH" />
+	</class>
+	<class name="android/content/UriPermission" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getPersistedTime()J" />
+		<method name="getUri()Landroid/net/Uri;" />
+		<method name="isReadPermission()Z" />
+		<method name="isWritePermission()Z" />
+		<field name="CREATOR" />
+		<field name="INVALID_TIME" />
+	</class>
+	<class name="android/content/pm/ActivityInfo" since="1">
+		<extends name="android/content/pm/ComponentInfo" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/ActivityInfo;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getThemeResource()I" />
+		<field name="COLOR_MODE_DEFAULT" since="26" />
+		<field name="COLOR_MODE_HDR" since="26" />
+		<field name="COLOR_MODE_WIDE_COLOR_GAMUT" since="26" />
+		<field name="CONFIG_COLOR_MODE" since="26" />
+		<field name="CONFIG_DENSITY" since="17" />
+		<field name="CONFIG_FONT_SCALE" />
+		<field name="CONFIG_FONT_WEIGHT_ADJUSTMENT" since="31" />
+		<field name="CONFIG_KEYBOARD" />
+		<field name="CONFIG_KEYBOARD_HIDDEN" />
+		<field name="CONFIG_LAYOUT_DIRECTION" since="17" />
+		<field name="CONFIG_LOCALE" />
+		<field name="CONFIG_MCC" />
+		<field name="CONFIG_MNC" />
+		<field name="CONFIG_NAVIGATION" />
+		<field name="CONFIG_ORIENTATION" />
+		<field name="CONFIG_SCREEN_LAYOUT" since="4" />
+		<field name="CONFIG_SCREEN_SIZE" since="13" />
+		<field name="CONFIG_SMALLEST_SCREEN_SIZE" since="13" />
+		<field name="CONFIG_TOUCHSCREEN" />
+		<field name="CONFIG_UI_MODE" since="8" />
+		<field name="CREATOR" />
+		<field name="DOCUMENT_LAUNCH_ALWAYS" since="21" />
+		<field name="DOCUMENT_LAUNCH_INTO_EXISTING" since="21" />
+		<field name="DOCUMENT_LAUNCH_NEVER" since="21" />
+		<field name="DOCUMENT_LAUNCH_NONE" since="21" />
+		<field name="FLAG_ALLOW_TASK_REPARENTING" />
+		<field name="FLAG_ALWAYS_RETAIN_TASK_STATE" />
+		<field name="FLAG_AUTO_REMOVE_FROM_RECENTS" since="21" />
+		<field name="FLAG_CLEAR_TASK_ON_LAUNCH" />
+		<field name="FLAG_ENABLE_VR_MODE" since="24" />
+		<field name="FLAG_EXCLUDE_FROM_RECENTS" />
+		<field name="FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS" since="5" />
+		<field name="FLAG_FINISH_ON_TASK_LAUNCH" />
+		<field name="FLAG_HARDWARE_ACCELERATED" since="11" />
+		<field name="FLAG_IMMERSIVE" since="18" />
+		<field name="FLAG_MULTIPROCESS" />
+		<field name="FLAG_NO_HISTORY" since="3" />
+		<field name="FLAG_PREFER_MINIMAL_POST_PROCESSING" since="30" />
+		<field name="FLAG_RELINQUISH_TASK_IDENTITY" since="21" />
+		<field name="FLAG_RESUME_WHILE_PAUSING" since="21" />
+		<field name="FLAG_SINGLE_USER" since="17" />
+		<field name="FLAG_STATE_NOT_NEEDED" />
+		<field name="LAUNCH_MULTIPLE" />
+		<field name="LAUNCH_SINGLE_INSTANCE" />
+		<field name="LAUNCH_SINGLE_INSTANCE_PER_TASK" since="31" />
+		<field name="LAUNCH_SINGLE_TASK" />
+		<field name="LAUNCH_SINGLE_TOP" />
+		<field name="PERSIST_ACROSS_REBOOTS" since="21" />
+		<field name="PERSIST_NEVER" since="21" />
+		<field name="PERSIST_ROOT_ONLY" since="21" />
+		<field name="SCREEN_ORIENTATION_BEHIND" />
+		<field name="SCREEN_ORIENTATION_FULL_SENSOR" since="9" />
+		<field name="SCREEN_ORIENTATION_FULL_USER" since="18" />
+		<field name="SCREEN_ORIENTATION_LANDSCAPE" />
+		<field name="SCREEN_ORIENTATION_LOCKED" since="18" />
+		<field name="SCREEN_ORIENTATION_NOSENSOR" />
+		<field name="SCREEN_ORIENTATION_PORTRAIT" />
+		<field name="SCREEN_ORIENTATION_REVERSE_LANDSCAPE" since="9" />
+		<field name="SCREEN_ORIENTATION_REVERSE_PORTRAIT" since="9" />
+		<field name="SCREEN_ORIENTATION_SENSOR" />
+		<field name="SCREEN_ORIENTATION_SENSOR_LANDSCAPE" since="9" />
+		<field name="SCREEN_ORIENTATION_SENSOR_PORTRAIT" since="9" />
+		<field name="SCREEN_ORIENTATION_UNSPECIFIED" />
+		<field name="SCREEN_ORIENTATION_USER" />
+		<field name="SCREEN_ORIENTATION_USER_LANDSCAPE" since="18" />
+		<field name="SCREEN_ORIENTATION_USER_PORTRAIT" since="18" />
+		<field name="UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW" since="14" />
+		<field name="colorMode" since="26" />
+		<field name="configChanges" />
+		<field name="documentLaunchMode" since="21" />
+		<field name="flags" />
+		<field name="launchMode" />
+		<field name="maxRecents" since="21" />
+		<field name="parentActivityName" since="16" />
+		<field name="permission" />
+		<field name="persistableMode" since="21" />
+		<field name="screenOrientation" />
+		<field name="softInputMode" since="3" />
+		<field name="targetActivity" />
+		<field name="taskAffinity" />
+		<field name="theme" />
+		<field name="uiOptions" since="14" />
+		<field name="windowLayout" since="24" />
+	</class>
+	<class name="android/content/pm/ActivityInfo$WindowLayout" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IFIFIII)V" />
+		<field name="gravity" />
+		<field name="height" />
+		<field name="heightFraction" />
+		<field name="minHeight" />
+		<field name="minWidth" />
+		<field name="width" />
+		<field name="widthFraction" />
+	</class>
+	<class name="android/content/pm/ApkChecksum" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getInstallerCertificate()Ljava/security/cert/Certificate;" />
+		<method name="getInstallerPackageName()Ljava/lang/String;" />
+		<method name="getSplitName()Ljava/lang/String;" />
+		<method name="getType()I" />
+		<method name="getValue()[B" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/ApplicationInfo" since="1">
+		<extends name="android/content/pm/PackageItemInfo" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/ApplicationInfo;)V" />
+		<method name="areAttributionsUserVisible()Z" since="31" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getCategoryTitle(Landroid/content/Context;I)Ljava/lang/CharSequence;" since="26" />
+		<method name="getGwpAsanMode()I" since="30" />
+		<method name="getMemtagMode()I" since="31" />
+		<method name="getNativeHeapZeroInitialized()I" since="31" />
+		<method name="getRequestRawExternalStorageAccess()I" since="31" />
+		<method name="isProfileable()Z" since="31" />
+		<method name="isProfileableByShell()Z" since="29" />
+		<method name="isResourceOverlay()Z" since="29" />
+		<method name="isVirtualPreload()Z" since="27" />
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<field name="CATEGORY_ACCESSIBILITY" since="31" />
+		<field name="CATEGORY_AUDIO" since="26" />
+		<field name="CATEGORY_GAME" since="26" />
+		<field name="CATEGORY_IMAGE" since="26" />
+		<field name="CATEGORY_MAPS" since="26" />
+		<field name="CATEGORY_NEWS" since="26" />
+		<field name="CATEGORY_PRODUCTIVITY" since="26" />
+		<field name="CATEGORY_SOCIAL" since="26" />
+		<field name="CATEGORY_UNDEFINED" since="26" />
+		<field name="CATEGORY_VIDEO" since="26" />
+		<field name="CREATOR" />
+		<field name="FLAG_ALLOW_BACKUP" since="8" />
+		<field name="FLAG_ALLOW_CLEAR_USER_DATA" />
+		<field name="FLAG_ALLOW_TASK_REPARENTING" />
+		<field name="FLAG_DEBUGGABLE" />
+		<field name="FLAG_EXTERNAL_STORAGE" since="8" />
+		<field name="FLAG_EXTRACT_NATIVE_LIBS" since="23" />
+		<field name="FLAG_FACTORY_TEST" />
+		<field name="FLAG_FULL_BACKUP_ONLY" since="21" />
+		<field name="FLAG_HARDWARE_ACCELERATED" since="23" />
+		<field name="FLAG_HAS_CODE" />
+		<field name="FLAG_INSTALLED" since="17" />
+		<field name="FLAG_IS_DATA_ONLY" since="17" />
+		<field name="FLAG_IS_GAME" since="21" deprecated="26" />
+		<field name="FLAG_KILL_AFTER_RESTORE" since="8" />
+		<field name="FLAG_LARGE_HEAP" since="11" />
+		<field name="FLAG_MULTIARCH" since="21" />
+		<field name="FLAG_PERSISTENT" />
+		<field name="FLAG_RESIZEABLE_FOR_SCREENS" since="4" />
+		<field name="FLAG_RESTORE_ANY_VERSION" since="8" />
+		<field name="FLAG_STOPPED" since="12" />
+		<field name="FLAG_SUPPORTS_LARGE_SCREENS" since="4" />
+		<field name="FLAG_SUPPORTS_NORMAL_SCREENS" since="4" />
+		<field name="FLAG_SUPPORTS_RTL" since="17" />
+		<field name="FLAG_SUPPORTS_SCREEN_DENSITIES" since="4" deprecated="30" />
+		<field name="FLAG_SUPPORTS_SMALL_SCREENS" since="4" />
+		<field name="FLAG_SUPPORTS_XLARGE_SCREENS" since="11" />
+		<field name="FLAG_SUSPENDED" since="24" />
+		<field name="FLAG_SYSTEM" />
+		<field name="FLAG_TEST_ONLY" since="4" />
+		<field name="FLAG_UPDATED_SYSTEM_APP" since="4" />
+		<field name="FLAG_USES_CLEARTEXT_TRAFFIC" since="23" />
+		<field name="FLAG_VM_SAFE_MODE" since="8" />
+		<field name="GWP_ASAN_ALWAYS" since="30" />
+		<field name="GWP_ASAN_DEFAULT" since="30" />
+		<field name="GWP_ASAN_NEVER" since="30" />
+		<field name="MEMTAG_ASYNC" since="31" />
+		<field name="MEMTAG_DEFAULT" since="31" />
+		<field name="MEMTAG_OFF" since="31" />
+		<field name="MEMTAG_SYNC" since="31" />
+		<field name="RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT" since="31" />
+		<field name="RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED" since="31" />
+		<field name="RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED" since="31" />
+		<field name="ZEROINIT_DEFAULT" since="31" />
+		<field name="ZEROINIT_DISABLED" since="31" />
+		<field name="ZEROINIT_ENABLED" since="31" />
+		<field name="appComponentFactory" since="28" />
+		<field name="backupAgentName" since="8" />
+		<field name="category" since="26" />
+		<field name="className" />
+		<field name="compatibleWidthLimitDp" since="13" />
+		<field name="compileSdkVersion" since="31" />
+		<field name="compileSdkVersionCodename" since="31" />
+		<field name="dataDir" />
+		<field name="descriptionRes" />
+		<field name="deviceProtectedDataDir" since="24" />
+		<field name="enabled" />
+		<field name="flags" />
+		<field name="largestWidthLimitDp" since="13" />
+		<field name="manageSpaceActivityName" />
+		<field name="minSdkVersion" since="24" />
+		<field name="nativeLibraryDir" since="9" />
+		<field name="permission" />
+		<field name="processName" />
+		<field name="publicSourceDir" />
+		<field name="requiresSmallestWidthDp" since="13" />
+		<field name="sharedLibraryFiles" />
+		<field name="sourceDir" />
+		<field name="splitNames" since="26" />
+		<field name="splitPublicSourceDirs" since="21" />
+		<field name="splitSourceDirs" since="21" />
+		<field name="storageUuid" since="26" />
+		<field name="targetSdkVersion" since="4" />
+		<field name="taskAffinity" />
+		<field name="theme" />
+		<field name="uiOptions" since="14" />
+		<field name="uid" />
+	</class>
+	<class name="android/content/pm/ApplicationInfo$DisplayNameComparator" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Comparator" />
+		<method name="&lt;init&gt;(Landroid/content/pm/PackageManager;)V" />
+		<method name="compare(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;)I" />
+	</class>
+	<class name="android/content/pm/Attribution" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getLabel()I" />
+		<method name="getTag()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/ChangedPackages" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(ILjava/util/List;)V" />
+		<method name="getPackageNames()Ljava/util/List;" />
+		<method name="getSequenceNumber()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/Checksum" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(I[B)V" />
+		<method name="getType()I" />
+		<method name="getValue()[B" />
+		<field name="CREATOR" />
+		<field name="TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256" />
+		<field name="TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512" />
+		<field name="TYPE_WHOLE_MD5" deprecated="31" />
+		<field name="TYPE_WHOLE_MERKLE_ROOT_4K_SHA256" />
+		<field name="TYPE_WHOLE_SHA1" deprecated="31" />
+		<field name="TYPE_WHOLE_SHA256" deprecated="31" />
+		<field name="TYPE_WHOLE_SHA512" deprecated="31" />
+	</class>
+	<class name="android/content/pm/ComponentInfo" since="1">
+		<extends name="android/content/pm/PackageItemInfo" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/ComponentInfo;)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="getBannerResource()I" since="20" />
+		<method name="getIconResource()I" />
+		<method name="getLogoResource()I" since="19" />
+		<method name="isEnabled()Z" since="11" />
+		<field name="applicationInfo" />
+		<field name="attributionTags" since="31" />
+		<field name="descriptionRes" since="8" />
+		<field name="directBootAware" since="24" />
+		<field name="enabled" />
+		<field name="exported" />
+		<field name="processName" />
+		<field name="splitName" since="26" />
+	</class>
+	<class name="android/content/pm/ConfigurationInfo" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/ConfigurationInfo;)V" />
+		<method name="getGlEsVersion()Ljava/lang/String;" since="4" />
+		<field name="CREATOR" />
+		<field name="GL_ES_VERSION_UNDEFINED" since="4" />
+		<field name="INPUT_FEATURE_FIVE_WAY_NAV" />
+		<field name="INPUT_FEATURE_HARD_KEYBOARD" />
+		<field name="reqGlEsVersion" since="4" />
+		<field name="reqInputFeatures" />
+		<field name="reqKeyboardType" />
+		<field name="reqNavigation" />
+		<field name="reqTouchScreen" />
+	</class>
+	<class name="android/content/pm/CrossProfileApps" since="28">
+		<extends name="java/lang/Object" />
+		<method name="canInteractAcrossProfiles()Z" since="30" />
+		<method name="canRequestInteractAcrossProfiles()Z" since="30" />
+		<method name="createRequestInteractAcrossProfilesIntent()Landroid/content/Intent;" since="30" />
+		<method name="getProfileSwitchingIconDrawable(Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;" />
+		<method name="getProfileSwitchingLabel(Landroid/os/UserHandle;)Ljava/lang/CharSequence;" />
+		<method name="getTargetUserProfiles()Ljava/util/List;" />
+		<method name="startActivity(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/app/Activity;)V" since="30" />
+		<method name="startActivity(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/app/Activity;Landroid/os/Bundle;)V" since="30" />
+		<method name="startMainActivity(Landroid/content/ComponentName;Landroid/os/UserHandle;)V" />
+		<field name="ACTION_CAN_INTERACT_ACROSS_PROFILES_CHANGED" since="30" />
+	</class>
+	<class name="android/content/pm/FeatureGroupInfo" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/FeatureGroupInfo;)V" />
+		<field name="CREATOR" />
+		<field name="features" />
+	</class>
+	<class name="android/content/pm/FeatureInfo" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/FeatureInfo;)V" />
+		<method name="getGlEsVersion()Ljava/lang/String;" />
+		<field name="CREATOR" />
+		<field name="FLAG_REQUIRED" />
+		<field name="GL_ES_VERSION_UNDEFINED" />
+		<field name="flags" />
+		<field name="name" />
+		<field name="reqGlEsVersion" />
+		<field name="version" since="24" />
+	</class>
+	<class name="android/content/pm/IPackageInstallObserver" since="1" removed="4">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/IInterface" />
+		<method name="packageInstalled(Ljava/lang/String;I)V" />
+	</class>
+	<class name="android/content/pm/IPackageInstallObserver$Stub" since="1" removed="4">
+		<extends name="android/os/Binder" />
+		<implements name="android/content/pm/IPackageInstallObserver" />
+		<method name="&lt;init&gt;()V" />
+		<method name="asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageInstallObserver;" />
+	</class>
+	<class name="android/content/pm/InstallSourceInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getInitiatingPackageName()Ljava/lang/String;" />
+		<method name="getInitiatingPackageSigningInfo()Landroid/content/pm/SigningInfo;" />
+		<method name="getInstallingPackageName()Ljava/lang/String;" />
+		<method name="getOriginatingPackageName()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/InstrumentationInfo" since="1">
+		<extends name="android/content/pm/PackageItemInfo" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/InstrumentationInfo;)V" />
+		<field name="CREATOR" />
+		<field name="dataDir" />
+		<field name="functionalTest" />
+		<field name="handleProfiling" />
+		<field name="publicSourceDir" />
+		<field name="sourceDir" />
+		<field name="splitNames" since="26" />
+		<field name="splitPublicSourceDirs" since="21" />
+		<field name="splitSourceDirs" since="21" />
+		<field name="targetPackage" />
+		<field name="targetProcesses" since="26" />
+	</class>
+	<class name="android/content/pm/LabeledIntent" since="5">
+		<extends name="android/content/Intent" />
+		<method name="&lt;init&gt;(Landroid/content/Intent;Ljava/lang/String;II)V" />
+		<method name="&lt;init&gt;(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/CharSequence;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;II)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/CharSequence;I)V" />
+		<method name="getIconResource()I" />
+		<method name="getLabelResource()I" />
+		<method name="getNonLocalizedLabel()Ljava/lang/CharSequence;" />
+		<method name="getSourcePackage()Ljava/lang/String;" />
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" />
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/LauncherActivityInfo" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getActivityInfo()Landroid/content/pm/ActivityInfo;" since="31" />
+		<method name="getApplicationInfo()Landroid/content/pm/ApplicationInfo;" />
+		<method name="getBadgedIcon(I)Landroid/graphics/drawable/Drawable;" />
+		<method name="getComponentName()Landroid/content/ComponentName;" />
+		<method name="getFirstInstallTime()J" />
+		<method name="getIcon(I)Landroid/graphics/drawable/Drawable;" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<method name="getLoadingProgress()F" since="31" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getUser()Landroid/os/UserHandle;" />
+	</class>
+	<class name="android/content/pm/LauncherApps" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getActivityList(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;" />
+		<method name="getAllPackageInstallerSessions()Ljava/util/List;" since="29" />
+		<method name="getApplicationInfo(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;" since="26" />
+		<method name="getPinItemRequest(Landroid/content/Intent;)Landroid/content/pm/LauncherApps$PinItemRequest;" since="26" />
+		<method name="getProfiles()Ljava/util/List;" since="26" />
+		<method name="getShortcutBadgedIconDrawable(Landroid/content/pm/ShortcutInfo;I)Landroid/graphics/drawable/Drawable;" since="25" />
+		<method name="getShortcutConfigActivityIntent(Landroid/content/pm/LauncherActivityInfo;)Landroid/content/IntentSender;" since="26" />
+		<method name="getShortcutConfigActivityList(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;" since="26" />
+		<method name="getShortcutIconDrawable(Landroid/content/pm/ShortcutInfo;I)Landroid/graphics/drawable/Drawable;" since="25" />
+		<method name="getShortcutIntent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent;" since="31" />
+		<method name="getShortcuts(Landroid/content/pm/LauncherApps$ShortcutQuery;Landroid/os/UserHandle;)Ljava/util/List;" since="25" />
+		<method name="getSuspendedPackageLauncherExtras(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;" since="28" />
+		<method name="hasShortcutHostPermission()Z" since="25" />
+		<method name="isActivityEnabled(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z" />
+		<method name="isPackageEnabled(Ljava/lang/String;Landroid/os/UserHandle;)Z" />
+		<method name="pinShortcuts(Ljava/lang/String;Ljava/util/List;Landroid/os/UserHandle;)V" since="25" />
+		<method name="registerCallback(Landroid/content/pm/LauncherApps$Callback;)V" />
+		<method name="registerCallback(Landroid/content/pm/LauncherApps$Callback;Landroid/os/Handler;)V" />
+		<method name="registerPackageInstallerSessionCallback(Ljava/util/concurrent/Executor;Landroid/content/pm/PackageInstaller$SessionCallback;)V" since="29" />
+		<method name="resolveActivity(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/LauncherActivityInfo;" />
+		<method name="shouldHideFromSuggestions(Ljava/lang/String;Landroid/os/UserHandle;)Z" since="29" />
+		<method name="startAppDetailsActivity(Landroid/content/ComponentName;Landroid/os/UserHandle;Landroid/graphics/Rect;Landroid/os/Bundle;)V" />
+		<method name="startMainActivity(Landroid/content/ComponentName;Landroid/os/UserHandle;Landroid/graphics/Rect;Landroid/os/Bundle;)V" />
+		<method name="startPackageInstallerSessionDetailsActivity(Landroid/content/pm/PackageInstaller$SessionInfo;Landroid/graphics/Rect;Landroid/os/Bundle;)V" since="29" />
+		<method name="startShortcut(Landroid/content/pm/ShortcutInfo;Landroid/graphics/Rect;Landroid/os/Bundle;)V" since="25" />
+		<method name="startShortcut(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V" since="25" />
+		<method name="unregisterCallback(Landroid/content/pm/LauncherApps$Callback;)V" />
+		<method name="unregisterPackageInstallerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V" since="29" />
+		<field name="ACTION_CONFIRM_PIN_APPWIDGET" since="26" />
+		<field name="ACTION_CONFIRM_PIN_SHORTCUT" since="26" />
+		<field name="EXTRA_PIN_ITEM_REQUEST" since="26" />
+	</class>
+	<class name="android/content/pm/LauncherApps$Callback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onPackageAdded(Ljava/lang/String;Landroid/os/UserHandle;)V" />
+		<method name="onPackageChanged(Ljava/lang/String;Landroid/os/UserHandle;)V" />
+		<method name="onPackageLoadingProgressChanged(Ljava/lang/String;Landroid/os/UserHandle;F)V" since="31" />
+		<method name="onPackageRemoved(Ljava/lang/String;Landroid/os/UserHandle;)V" />
+		<method name="onPackagesAvailable([Ljava/lang/String;Landroid/os/UserHandle;Z)V" />
+		<method name="onPackagesSuspended([Ljava/lang/String;Landroid/os/UserHandle;)V" since="24" />
+		<method name="onPackagesSuspended([Ljava/lang/String;Landroid/os/UserHandle;Landroid/os/Bundle;)V" since="28" deprecated="30" />
+		<method name="onPackagesUnavailable([Ljava/lang/String;Landroid/os/UserHandle;Z)V" />
+		<method name="onPackagesUnsuspended([Ljava/lang/String;Landroid/os/UserHandle;)V" since="24" />
+		<method name="onShortcutsChanged(Ljava/lang/String;Ljava/util/List;Landroid/os/UserHandle;)V" since="25" />
+	</class>
+	<class name="android/content/pm/LauncherApps$PinItemRequest" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="accept()Z" />
+		<method name="accept(Landroid/os/Bundle;)Z" />
+		<method name="getAppWidgetProviderInfo(Landroid/content/Context;)Landroid/appwidget/AppWidgetProviderInfo;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getRequestType()I" />
+		<method name="getShortcutInfo()Landroid/content/pm/ShortcutInfo;" />
+		<method name="isValid()Z" />
+		<field name="CREATOR" />
+		<field name="REQUEST_TYPE_APPWIDGET" />
+		<field name="REQUEST_TYPE_SHORTCUT" />
+	</class>
+	<class name="android/content/pm/LauncherApps$ShortcutQuery" since="25">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setActivity(Landroid/content/ComponentName;)Landroid/content/pm/LauncherApps$ShortcutQuery;" />
+		<method name="setChangedSince(J)Landroid/content/pm/LauncherApps$ShortcutQuery;" />
+		<method name="setLocusIds(Ljava/util/List;)Landroid/content/pm/LauncherApps$ShortcutQuery;" since="30" />
+		<method name="setPackage(Ljava/lang/String;)Landroid/content/pm/LauncherApps$ShortcutQuery;" />
+		<method name="setQueryFlags(I)Landroid/content/pm/LauncherApps$ShortcutQuery;" />
+		<method name="setShortcutIds(Ljava/util/List;)Landroid/content/pm/LauncherApps$ShortcutQuery;" />
+		<field name="FLAG_GET_KEY_FIELDS_ONLY" />
+		<field name="FLAG_MATCH_CACHED" since="30" />
+		<field name="FLAG_MATCH_DYNAMIC" />
+		<field name="FLAG_MATCH_MANIFEST" />
+		<field name="FLAG_MATCH_PINNED" />
+		<field name="FLAG_MATCH_PINNED_BY_ANY_LAUNCHER" since="28" />
+	</class>
+	<class name="android/content/pm/ModuleInfo" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getName()Ljava/lang/CharSequence;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="isHidden()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/PackageInfo" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getLongVersionCode()J" since="28" />
+		<method name="setLongVersionCode(J)V" since="28" />
+		<field name="CREATOR" />
+		<field name="INSTALL_LOCATION_AUTO" since="21" />
+		<field name="INSTALL_LOCATION_INTERNAL_ONLY" since="21" />
+		<field name="INSTALL_LOCATION_PREFER_EXTERNAL" since="21" />
+		<field name="REQUESTED_PERMISSION_GRANTED" since="16" />
+		<field name="REQUESTED_PERMISSION_NEVER_FOR_LOCATION" since="31" />
+		<field name="REQUESTED_PERMISSION_REQUIRED" since="16" removed="23" />
+		<field name="activities" />
+		<field name="applicationInfo" />
+		<field name="attributions" since="31" />
+		<field name="baseRevisionCode" since="22" />
+		<field name="configPreferences" since="3" />
+		<field name="featureGroups" since="21" />
+		<field name="firstInstallTime" since="9" />
+		<field name="gids" />
+		<field name="installLocation" since="21" />
+		<field name="instrumentation" />
+		<field name="isApex" since="29" />
+		<field name="lastUpdateTime" since="9" />
+		<field name="packageName" />
+		<field name="permissions" />
+		<field name="providers" />
+		<field name="receivers" />
+		<field name="reqFeatures" since="5" />
+		<field name="requestedPermissions" />
+		<field name="requestedPermissionsFlags" since="16" />
+		<field name="services" />
+		<field name="sharedUserId" since="3" />
+		<field name="sharedUserLabel" since="3" />
+		<field name="signatures" deprecated="28" />
+		<field name="signingInfo" since="28" />
+		<field name="splitNames" since="21" />
+		<field name="splitRevisionCodes" since="22" />
+		<field name="versionCode" deprecated="28" />
+		<field name="versionName" />
+	</class>
+	<class name="android/content/pm/PackageInstaller" since="21">
+		<extends name="java/lang/Object" />
+		<method name="abandonSession(I)V" />
+		<method name="createSession(Landroid/content/pm/PackageInstaller$SessionParams;)I" />
+		<method name="getActiveStagedSession()Landroid/content/pm/PackageInstaller$SessionInfo;" since="29" deprecated="30" />
+		<method name="getActiveStagedSessions()Ljava/util/List;" since="30" />
+		<method name="getAllSessions()Ljava/util/List;" />
+		<method name="getMySessions()Ljava/util/List;" />
+		<method name="getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;" />
+		<method name="getStagedSessions()Ljava/util/List;" since="29" />
+		<method name="installExistingPackage(Ljava/lang/String;ILandroid/content/IntentSender;)V" since="29" />
+		<method name="openSession(I)Landroid/content/pm/PackageInstaller$Session;" />
+		<method name="registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V" />
+		<method name="registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;Landroid/os/Handler;)V" />
+		<method name="uninstall(Landroid/content/pm/VersionedPackage;Landroid/content/IntentSender;)V" since="26" />
+		<method name="uninstall(Ljava/lang/String;Landroid/content/IntentSender;)V" />
+		<method name="uninstallExistingPackage(Ljava/lang/String;Landroid/content/IntentSender;)V" since="31" />
+		<method name="unregisterSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V" />
+		<method name="updateSessionAppIcon(ILandroid/graphics/Bitmap;)V" />
+		<method name="updateSessionAppLabel(ILjava/lang/CharSequence;)V" />
+		<field name="ACTION_SESSION_COMMITTED" since="26" />
+		<field name="ACTION_SESSION_DETAILS" />
+		<field name="ACTION_SESSION_UPDATED" since="29" />
+		<field name="EXTRA_OTHER_PACKAGE_NAME" />
+		<field name="EXTRA_PACKAGE_NAME" />
+		<field name="EXTRA_SESSION" since="26" />
+		<field name="EXTRA_SESSION_ID" />
+		<field name="EXTRA_STATUS" />
+		<field name="EXTRA_STATUS_MESSAGE" />
+		<field name="EXTRA_STORAGE_PATH" />
+		<field name="STATUS_FAILURE" />
+		<field name="STATUS_FAILURE_ABORTED" />
+		<field name="STATUS_FAILURE_BLOCKED" />
+		<field name="STATUS_FAILURE_CONFLICT" />
+		<field name="STATUS_FAILURE_INCOMPATIBLE" />
+		<field name="STATUS_FAILURE_INVALID" />
+		<field name="STATUS_FAILURE_STORAGE" />
+		<field name="STATUS_PENDING_USER_ACTION" />
+		<field name="STATUS_SUCCESS" />
+	</class>
+	<class name="android/content/pm/PackageInstaller$Session" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="abandon()V" />
+		<method name="addChildSessionId(I)V" since="29" />
+		<method name="commit(Landroid/content/IntentSender;)V" />
+		<method name="fsync(Ljava/io/OutputStream;)V" />
+		<method name="getChildSessionIds()[I" since="29" />
+		<method name="getNames()[Ljava/lang/String;" />
+		<method name="getParentSessionId()I" since="29" />
+		<method name="isMultiPackage()Z" since="29" />
+		<method name="isStaged()Z" since="29" />
+		<method name="openRead(Ljava/lang/String;)Ljava/io/InputStream;" />
+		<method name="openWrite(Ljava/lang/String;JJ)Ljava/io/OutputStream;" />
+		<method name="removeChildSessionId(I)V" since="29" />
+		<method name="removeSplit(Ljava/lang/String;)V" since="24" />
+		<method name="setChecksums(Ljava/lang/String;Ljava/util/List;[B)V" since="31" deprecated="31" />
+		<method name="setStagingProgress(F)V" />
+		<method name="transfer(Ljava/lang/String;)V" since="27" />
+	</class>
+	<class name="android/content/pm/PackageInstaller$SessionCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onActiveChanged(IZ)V" />
+		<method name="onBadgingChanged(I)V" />
+		<method name="onCreated(I)V" />
+		<method name="onFinished(IZ)V" />
+		<method name="onProgressChanged(IF)V" />
+	</class>
+	<class name="android/content/pm/PackageInstaller$SessionInfo" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="createDetailsIntent()Landroid/content/Intent;" />
+		<method name="getAppIcon()Landroid/graphics/Bitmap;" />
+		<method name="getAppLabel()Ljava/lang/CharSequence;" />
+		<method name="getAppPackageName()Ljava/lang/String;" />
+		<method name="getChildSessionIds()[I" since="29" />
+		<method name="getCreatedMillis()J" since="30" />
+		<method name="getInstallLocation()I" since="27" />
+		<method name="getInstallReason()I" since="26" />
+		<method name="getInstallerAttributionTag()Ljava/lang/String;" since="31" />
+		<method name="getInstallerPackageName()Ljava/lang/String;" />
+		<method name="getMode()I" since="27" />
+		<method name="getOriginatingUid()I" since="27" />
+		<method name="getOriginatingUri()Landroid/net/Uri;" since="27" />
+		<method name="getParentSessionId()I" since="29" />
+		<method name="getProgress()F" />
+		<method name="getReferrerUri()Landroid/net/Uri;" since="27" />
+		<method name="getRequireUserAction()I" since="31" />
+		<method name="getSessionId()I" />
+		<method name="getSize()J" since="27" />
+		<method name="getStagedSessionErrorCode()I" since="29" />
+		<method name="getStagedSessionErrorMessage()Ljava/lang/String;" since="29" />
+		<method name="getUpdatedMillis()J" since="29" />
+		<method name="getUser()Landroid/os/UserHandle;" since="29" />
+		<method name="hasParentSessionId()Z" since="30" />
+		<method name="isActive()Z" />
+		<method name="isCommitted()Z" since="29" />
+		<method name="isMultiPackage()Z" since="29" />
+		<method name="isSealed()Z" since="26" />
+		<method name="isStaged()Z" since="29" />
+		<method name="isStagedSessionActive()Z" since="30" />
+		<method name="isStagedSessionApplied()Z" since="29" />
+		<method name="isStagedSessionFailed()Z" since="29" />
+		<method name="isStagedSessionReady()Z" since="29" />
+		<field name="CREATOR" />
+		<field name="INVALID_ID" since="29" />
+		<field name="STAGED_SESSION_ACTIVATION_FAILED" since="29" />
+		<field name="STAGED_SESSION_CONFLICT" since="31" />
+		<field name="STAGED_SESSION_NO_ERROR" since="29" />
+		<field name="STAGED_SESSION_UNKNOWN" since="29" />
+		<field name="STAGED_SESSION_VERIFICATION_FAILED" since="29" />
+	</class>
+	<class name="android/content/pm/PackageInstaller$SessionParams" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="setAppIcon(Landroid/graphics/Bitmap;)V" />
+		<method name="setAppLabel(Ljava/lang/CharSequence;)V" />
+		<method name="setAppPackageName(Ljava/lang/String;)V" />
+		<method name="setAutoRevokePermissionsMode(Z)V" since="30" deprecated="31" />
+		<method name="setInstallLocation(I)V" />
+		<method name="setInstallReason(I)V" since="26" />
+		<method name="setInstallScenario(I)V" since="31" />
+		<method name="setMultiPackage()V" since="29" />
+		<method name="setOriginatingUid(I)V" since="24" />
+		<method name="setOriginatingUri(Landroid/net/Uri;)V" />
+		<method name="setReferrerUri(Landroid/net/Uri;)V" />
+		<method name="setRequireUserAction(I)V" since="31" />
+		<method name="setSize(J)V" />
+		<method name="setWhitelistedRestrictedPermissions(Ljava/util/Set;)V" since="29" />
+		<field name="CREATOR" />
+		<field name="MODE_FULL_INSTALL" />
+		<field name="MODE_INHERIT_EXISTING" />
+		<field name="RESTRICTED_PERMISSIONS_ALL" since="29" />
+		<field name="USER_ACTION_NOT_REQUIRED" since="31" />
+		<field name="USER_ACTION_REQUIRED" since="31" />
+		<field name="USER_ACTION_UNSPECIFIED" since="31" />
+	</class>
+	<class name="android/content/pm/PackageItemInfo" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/PackageItemInfo;)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="dumpBack(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="dumpFront(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="loadBanner(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" since="20" />
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" />
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<method name="loadLogo(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" since="9" />
+		<method name="loadUnbadgedIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" since="22" />
+		<method name="loadXmlMetaData(Landroid/content/pm/PackageManager;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;" />
+		<method name="writeToParcel(Landroid/os/Parcel;I)V" />
+		<field name="banner" since="20" />
+		<field name="icon" />
+		<field name="labelRes" />
+		<field name="logo" since="9" />
+		<field name="metaData" />
+		<field name="name" />
+		<field name="nonLocalizedLabel" />
+		<field name="packageName" />
+	</class>
+	<class name="android/content/pm/PackageItemInfo$DisplayNameComparator" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Comparator" />
+		<method name="&lt;init&gt;(Landroid/content/pm/PackageManager;)V" />
+		<method name="compare(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/PackageItemInfo;)I" />
+	</class>
+	<class name="android/content/pm/PackageManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="addPackageToPreferred(Ljava/lang/String;)V" deprecated="15" />
+		<method name="addPermission(Landroid/content/pm/PermissionInfo;)Z" />
+		<method name="addPermissionAsync(Landroid/content/pm/PermissionInfo;)Z" since="8" />
+		<method name="addPreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;)V" deprecated="15" />
+		<method name="addWhitelistedRestrictedPermission(Ljava/lang/String;Ljava/lang/String;I)Z" since="29" />
+		<method name="canRequestPackageInstalls()Z" since="26" />
+		<method name="canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;" since="8" />
+		<method name="checkPermission(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="checkSignatures(II)I" since="5" />
+		<method name="checkSignatures(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="clearInstantAppCookie()V" since="26" />
+		<method name="clearPackagePreferredActivities(Ljava/lang/String;)V" deprecated="29" />
+		<method name="currentToCanonicalPackageNames([Ljava/lang/String;)[Ljava/lang/String;" since="8" />
+		<method name="extendVerificationTimeout(IIJ)V" since="17" />
+		<method name="getActivityBanner(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;" since="20" />
+		<method name="getActivityBanner(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;" since="20" />
+		<method name="getActivityIcon(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;" />
+		<method name="getActivityIcon(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;" />
+		<method name="getActivityInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;" />
+		<method name="getActivityLogo(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;" since="9" />
+		<method name="getActivityLogo(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;" since="9" />
+		<method name="getAllPermissionGroups(I)Ljava/util/List;" />
+		<method name="getApplicationBanner(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;" since="20" />
+		<method name="getApplicationBanner(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;" since="20" />
+		<method name="getApplicationEnabledSetting(Ljava/lang/String;)I" />
+		<method name="getApplicationIcon(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;" />
+		<method name="getApplicationIcon(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;" />
+		<method name="getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;" />
+		<method name="getApplicationLabel(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;" />
+		<method name="getApplicationLogo(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;" since="9" />
+		<method name="getApplicationLogo(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;" since="9" />
+		<method name="getBackgroundPermissionOptionLabel()Ljava/lang/CharSequence;" since="30" />
+		<method name="getChangedPackages(I)Landroid/content/pm/ChangedPackages;" since="26" />
+		<method name="getComponentEnabledSetting(Landroid/content/ComponentName;)I" />
+		<method name="getDefaultActivityIcon()Landroid/graphics/drawable/Drawable;" />
+		<method name="getDrawable(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;" />
+		<method name="getGroupOfPlatformPermission(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31" />
+		<method name="getInstallSourceInfo(Ljava/lang/String;)Landroid/content/pm/InstallSourceInfo;" since="30" />
+		<method name="getInstalledApplications(I)Ljava/util/List;" />
+		<method name="getInstalledModules(I)Ljava/util/List;" since="29" />
+		<method name="getInstalledPackages(I)Ljava/util/List;" />
+		<method name="getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;" since="5" deprecated="30" />
+		<method name="getInstantAppCookie()[B" since="26" />
+		<method name="getInstantAppCookieMaxBytes()I" since="26" />
+		<method name="getInstrumentationInfo(Landroid/content/ComponentName;I)Landroid/content/pm/InstrumentationInfo;" />
+		<method name="getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;" since="3" />
+		<method name="getLeanbackLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;" since="21" />
+		<method name="getMimeGroup(Ljava/lang/String;)Ljava/util/Set;" since="30" />
+		<method name="getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;" since="29" />
+		<method name="getNameForUid(I)Ljava/lang/String;" />
+		<method name="getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;" />
+		<method name="getPackageGids(Ljava/lang/String;)[I" />
+		<method name="getPackageGids(Ljava/lang/String;I)[I" since="24" />
+		<method name="getPackageInfo(Landroid/content/pm/VersionedPackage;I)Landroid/content/pm/PackageInfo;" since="26" />
+		<method name="getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;" />
+		<method name="getPackageInstaller()Landroid/content/pm/PackageInstaller;" since="21" />
+		<method name="getPackageUid(Ljava/lang/String;I)I" since="24" />
+		<method name="getPackagesForUid(I)[Ljava/lang/String;" />
+		<method name="getPackagesHoldingPermissions([Ljava/lang/String;I)Ljava/util/List;" since="18" />
+		<method name="getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;" />
+		<method name="getPermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;" />
+		<method name="getPlatformPermissionsForGroup(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31" />
+		<method name="getPreferredActivities(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I" deprecated="29" />
+		<method name="getPreferredPackages(I)Ljava/util/List;" deprecated="29" />
+		<method name="getProperty(Ljava/lang/String;Landroid/content/ComponentName;)Landroid/content/pm/PackageManager$Property;" since="31" />
+		<method name="getProperty(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/PackageManager$Property;" since="31" />
+		<method name="getProviderInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ProviderInfo;" since="9" />
+		<method name="getReceiverInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;" />
+		<method name="getResourcesForActivity(Landroid/content/ComponentName;)Landroid/content/res/Resources;" />
+		<method name="getResourcesForApplication(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/Resources;" />
+		<method name="getResourcesForApplication(Landroid/content/pm/ApplicationInfo;Landroid/content/res/Configuration;)Landroid/content/res/Resources;" since="31" />
+		<method name="getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;" />
+		<method name="getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;" />
+		<method name="getSharedLibraries(I)Ljava/util/List;" since="26" />
+		<method name="getSuspendedPackageAppExtras()Landroid/os/Bundle;" since="28" />
+		<method name="getSyntheticAppDetailsActivityEnabled(Ljava/lang/String;)Z" since="29" />
+		<method name="getSystemAvailableFeatures()[Landroid/content/pm/FeatureInfo;" since="5" />
+		<method name="getSystemSharedLibraryNames()[Ljava/lang/String;" since="3" />
+		<method name="getTargetSdkVersion(Ljava/lang/String;)I" since="31" />
+		<method name="getText(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;" />
+		<method name="getUserBadgedDrawableForDensity(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;Landroid/graphics/Rect;I)Landroid/graphics/drawable/Drawable;" since="21" />
+		<method name="getUserBadgedIcon(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;" since="21" />
+		<method name="getUserBadgedLabel(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence;" since="21" />
+		<method name="getWhitelistedRestrictedPermissions(Ljava/lang/String;I)Ljava/util/Set;" since="29" />
+		<method name="getXml(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/content/res/XmlResourceParser;" />
+		<method name="hasSigningCertificate(I[BI)Z" since="28" />
+		<method name="hasSigningCertificate(Ljava/lang/String;[BI)Z" since="28" />
+		<method name="hasSystemFeature(Ljava/lang/String;)Z" since="5" />
+		<method name="hasSystemFeature(Ljava/lang/String;I)Z" since="24" />
+		<method name="installPackage(Landroid/net/Uri;)V" removed="4" />
+		<method name="installPackage(Landroid/net/Uri;Landroid/content/pm/IPackageInstallObserver;I)V" removed="4" />
+		<method name="isAutoRevokeWhitelisted()Z" since="30" />
+		<method name="isAutoRevokeWhitelisted(Ljava/lang/String;)Z" since="30" />
+		<method name="isDefaultApplicationIcon(Landroid/graphics/drawable/Drawable;)Z" since="30" />
+		<method name="isDeviceUpgrading()Z" since="29" />
+		<method name="isInstantApp()Z" since="26" />
+		<method name="isInstantApp(Ljava/lang/String;)Z" since="26" />
+		<method name="isPackageSuspended()Z" since="28" />
+		<method name="isPackageSuspended(Ljava/lang/String;)Z" since="29" />
+		<method name="isPermissionRevokedByPolicy(Ljava/lang/String;Ljava/lang/String;)Z" since="23" />
+		<method name="isSafeMode()Z" since="3" />
+		<method name="queryActivityProperty(Ljava/lang/String;)Ljava/util/List;" since="31" />
+		<method name="queryApplicationProperty(Ljava/lang/String;)Ljava/util/List;" since="31" />
+		<method name="queryBroadcastReceivers(Landroid/content/Intent;I)Ljava/util/List;" />
+		<method name="queryContentProviders(Ljava/lang/String;II)Ljava/util/List;" />
+		<method name="queryInstrumentation(Ljava/lang/String;I)Ljava/util/List;" />
+		<method name="queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;" />
+		<method name="queryIntentActivityOptions(Landroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I)Ljava/util/List;" />
+		<method name="queryIntentContentProviders(Landroid/content/Intent;I)Ljava/util/List;" since="19" />
+		<method name="queryIntentServices(Landroid/content/Intent;I)Ljava/util/List;" />
+		<method name="queryPermissionsByGroup(Ljava/lang/String;I)Ljava/util/List;" />
+		<method name="queryProviderProperty(Ljava/lang/String;)Ljava/util/List;" since="31" />
+		<method name="queryReceiverProperty(Ljava/lang/String;)Ljava/util/List;" since="31" />
+		<method name="queryServiceProperty(Ljava/lang/String;)Ljava/util/List;" since="31" />
+		<method name="removePackageFromPreferred(Ljava/lang/String;)V" deprecated="15" />
+		<method name="removePermission(Ljava/lang/String;)V" />
+		<method name="removeWhitelistedRestrictedPermission(Ljava/lang/String;Ljava/lang/String;I)Z" since="29" />
+		<method name="requestChecksums(Ljava/lang/String;ZILjava/util/List;Landroid/content/pm/PackageManager$OnChecksumsReadyListener;)V" since="31" />
+		<method name="resolveActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;" />
+		<method name="resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;" />
+		<method name="resolveService(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;" />
+		<method name="setApplicationCategoryHint(Ljava/lang/String;I)V" since="26" />
+		<method name="setApplicationEnabledSetting(Ljava/lang/String;II)V" />
+		<method name="setAutoRevokeWhitelisted(Ljava/lang/String;Z)Z" since="30" />
+		<method name="setComponentEnabledSetting(Landroid/content/ComponentName;II)V" />
+		<method name="setInstallerPackageName(Ljava/lang/String;Ljava/lang/String;)V" since="11" />
+		<method name="setMimeGroup(Ljava/lang/String;Ljava/util/Set;)V" since="30" />
+		<method name="updateInstantAppCookie([B)V" since="26" />
+		<method name="verifyPendingInstall(II)V" since="14" />
+		<field name="CERT_INPUT_RAW_X509" since="28" />
+		<field name="CERT_INPUT_SHA256" since="28" />
+		<field name="COMPONENT_ENABLED_STATE_DEFAULT" />
+		<field name="COMPONENT_ENABLED_STATE_DISABLED" />
+		<field name="COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED" since="18" />
+		<field name="COMPONENT_ENABLED_STATE_DISABLED_USER" since="14" />
+		<field name="COMPONENT_ENABLED_STATE_ENABLED" />
+		<field name="DONT_KILL_APP" />
+		<field name="EXTRA_VERIFICATION_ID" since="14" />
+		<field name="EXTRA_VERIFICATION_RESULT" since="17" />
+		<field name="FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS" since="26" />
+		<field name="FEATURE_APP_WIDGETS" since="18" />
+		<field name="FEATURE_AUDIO_LOW_LATENCY" since="9" />
+		<field name="FEATURE_AUDIO_OUTPUT" since="21" />
+		<field name="FEATURE_AUDIO_PRO" since="23" />
+		<field name="FEATURE_AUTOFILL" since="26" />
+		<field name="FEATURE_AUTOMOTIVE" since="23" />
+		<field name="FEATURE_BACKUP" since="20" />
+		<field name="FEATURE_BLUETOOTH" since="8" />
+		<field name="FEATURE_BLUETOOTH_LE" since="18" />
+		<field name="FEATURE_CAMERA" since="7" />
+		<field name="FEATURE_CAMERA_ANY" since="17" />
+		<field name="FEATURE_CAMERA_AR" since="28" />
+		<field name="FEATURE_CAMERA_AUTOFOCUS" since="7" />
+		<field name="FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING" since="21" />
+		<field name="FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR" since="21" />
+		<field name="FEATURE_CAMERA_CAPABILITY_RAW" since="21" />
+		<field name="FEATURE_CAMERA_CONCURRENT" since="30" />
+		<field name="FEATURE_CAMERA_EXTERNAL" since="20" />
+		<field name="FEATURE_CAMERA_FLASH" since="7" />
+		<field name="FEATURE_CAMERA_FRONT" since="9" />
+		<field name="FEATURE_CAMERA_LEVEL_FULL" since="21" />
+		<field name="FEATURE_CANT_SAVE_STATE" since="28" />
+		<field name="FEATURE_COMPANION_DEVICE_SETUP" since="26" />
+		<field name="FEATURE_CONNECTION_SERVICE" since="21" />
+		<field name="FEATURE_CONSUMER_IR" since="19" />
+		<field name="FEATURE_CONTROLS" since="30" />
+		<field name="FEATURE_DEVICE_ADMIN" since="19" />
+		<field name="FEATURE_EMBEDDED" since="26" />
+		<field name="FEATURE_ETHERNET" since="24" />
+		<field name="FEATURE_FACE" since="29" />
+		<field name="FEATURE_FAKETOUCH" since="11" />
+		<field name="FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT" since="13" />
+		<field name="FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND" since="13" />
+		<field name="FEATURE_FINGERPRINT" since="23" />
+		<field name="FEATURE_FREEFORM_WINDOW_MANAGEMENT" since="24" />
+		<field name="FEATURE_GAMEPAD" since="21" />
+		<field name="FEATURE_HARDWARE_KEYSTORE" since="31" />
+		<field name="FEATURE_HIFI_SENSORS" since="23" />
+		<field name="FEATURE_HOME_SCREEN" since="18" />
+		<field name="FEATURE_IDENTITY_CREDENTIAL_HARDWARE" since="31" />
+		<field name="FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS" since="31" />
+		<field name="FEATURE_INPUT_METHODS" since="18" />
+		<field name="FEATURE_IPSEC_TUNNELS" since="29" />
+		<field name="FEATURE_IRIS" since="29" />
+		<field name="FEATURE_KEYSTORE_APP_ATTEST_KEY" since="31" />
+		<field name="FEATURE_KEYSTORE_LIMITED_USE_KEY" since="31" />
+		<field name="FEATURE_KEYSTORE_SINGLE_USE_KEY" since="31" />
+		<field name="FEATURE_LEANBACK" since="21" />
+		<field name="FEATURE_LEANBACK_ONLY" since="26" />
+		<field name="FEATURE_LIVE_TV" since="21" />
+		<field name="FEATURE_LIVE_WALLPAPER" since="7" />
+		<field name="FEATURE_LOCATION" since="8" />
+		<field name="FEATURE_LOCATION_GPS" since="8" />
+		<field name="FEATURE_LOCATION_NETWORK" since="8" />
+		<field name="FEATURE_MANAGED_USERS" since="21" />
+		<field name="FEATURE_MICROPHONE" since="8" />
+		<field name="FEATURE_MIDI" since="23" />
+		<field name="FEATURE_NFC" since="9" />
+		<field name="FEATURE_NFC_BEAM" since="29" />
+		<field name="FEATURE_NFC_HOST_CARD_EMULATION" since="19" />
+		<field name="FEATURE_NFC_HOST_CARD_EMULATION_NFCF" since="24" />
+		<field name="FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE" since="29" />
+		<field name="FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC" since="29" />
+		<field name="FEATURE_OPENGLES_DEQP_LEVEL" since="31" />
+		<field name="FEATURE_OPENGLES_EXTENSION_PACK" since="21" />
+		<field name="FEATURE_PC" since="27" />
+		<field name="FEATURE_PICTURE_IN_PICTURE" since="24" />
+		<field name="FEATURE_PRINTING" since="20" />
+		<field name="FEATURE_RAM_LOW" since="27" />
+		<field name="FEATURE_RAM_NORMAL" since="27" />
+		<field name="FEATURE_SCREEN_LANDSCAPE" since="13" />
+		<field name="FEATURE_SCREEN_PORTRAIT" since="13" />
+		<field name="FEATURE_SECURELY_REMOVES_USERS" since="21" />
+		<field name="FEATURE_SECURE_LOCK_SCREEN" since="29" />
+		<field name="FEATURE_SECURITY_MODEL_COMPATIBLE" since="31" />
+		<field name="FEATURE_SENSOR_ACCELEROMETER" since="8" />
+		<field name="FEATURE_SENSOR_AMBIENT_TEMPERATURE" since="21" />
+		<field name="FEATURE_SENSOR_BAROMETER" since="9" />
+		<field name="FEATURE_SENSOR_COMPASS" since="8" />
+		<field name="FEATURE_SENSOR_GYROSCOPE" since="9" />
+		<field name="FEATURE_SENSOR_HEART_RATE" since="20" />
+		<field name="FEATURE_SENSOR_HEART_RATE_ECG" since="21" />
+		<field name="FEATURE_SENSOR_HINGE_ANGLE" since="30" />
+		<field name="FEATURE_SENSOR_LIGHT" since="7" />
+		<field name="FEATURE_SENSOR_PROXIMITY" since="7" />
+		<field name="FEATURE_SENSOR_RELATIVE_HUMIDITY" since="21" />
+		<field name="FEATURE_SENSOR_STEP_COUNTER" since="19" />
+		<field name="FEATURE_SENSOR_STEP_DETECTOR" since="19" />
+		<field name="FEATURE_SE_OMAPI_ESE" since="30" />
+		<field name="FEATURE_SE_OMAPI_SD" since="30" />
+		<field name="FEATURE_SE_OMAPI_UICC" since="30" />
+		<field name="FEATURE_SIP" since="9" />
+		<field name="FEATURE_SIP_VOIP" since="9" />
+		<field name="FEATURE_STRONGBOX_KEYSTORE" since="28" />
+		<field name="FEATURE_TELEPHONY" since="7" />
+		<field name="FEATURE_TELEPHONY_CDMA" since="7" />
+		<field name="FEATURE_TELEPHONY_EUICC" since="28" />
+		<field name="FEATURE_TELEPHONY_GSM" since="7" />
+		<field name="FEATURE_TELEPHONY_IMS" since="29" />
+		<field name="FEATURE_TELEPHONY_MBMS" since="28" />
+		<field name="FEATURE_TELEVISION" since="16" deprecated="21" />
+		<field name="FEATURE_TOUCHSCREEN" since="8" />
+		<field name="FEATURE_TOUCHSCREEN_MULTITOUCH" since="7" />
+		<field name="FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT" since="8" />
+		<field name="FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND" since="9" />
+		<field name="FEATURE_USB_ACCESSORY" since="12" />
+		<field name="FEATURE_USB_HOST" since="12" />
+		<field name="FEATURE_VERIFIED_BOOT" since="21" />
+		<field name="FEATURE_VR_HEADTRACKING" since="26" />
+		<field name="FEATURE_VR_MODE" since="24" deprecated="28" />
+		<field name="FEATURE_VR_MODE_HIGH_PERFORMANCE" since="24" />
+		<field name="FEATURE_VULKAN_DEQP_LEVEL" since="30" />
+		<field name="FEATURE_VULKAN_HARDWARE_COMPUTE" since="26" />
+		<field name="FEATURE_VULKAN_HARDWARE_LEVEL" since="24" />
+		<field name="FEATURE_VULKAN_HARDWARE_VERSION" since="24" />
+		<field name="FEATURE_WATCH" since="20" />
+		<field name="FEATURE_WEBVIEW" since="20" />
+		<field name="FEATURE_WIFI" since="8" />
+		<field name="FEATURE_WIFI_AWARE" since="26" />
+		<field name="FEATURE_WIFI_DIRECT" since="14" />
+		<field name="FEATURE_WIFI_PASSPOINT" since="27" />
+		<field name="FEATURE_WIFI_RTT" since="28" />
+		<field name="FLAG_PERMISSION_WHITELIST_INSTALLER" since="29" />
+		<field name="FLAG_PERMISSION_WHITELIST_SYSTEM" since="29" />
+		<field name="FLAG_PERMISSION_WHITELIST_UPGRADE" since="29" />
+		<field name="FORWARD_LOCK_PACKAGE" removed="4" />
+		<field name="GET_ACTIVITIES" />
+		<field name="GET_ATTRIBUTIONS" since="31" />
+		<field name="GET_CONFIGURATIONS" since="3" />
+		<field name="GET_DISABLED_COMPONENTS" deprecated="24" />
+		<field name="GET_DISABLED_UNTIL_USED_COMPONENTS" since="18" deprecated="24" />
+		<field name="GET_GIDS" />
+		<field name="GET_INSTRUMENTATION" />
+		<field name="GET_INTENT_FILTERS" deprecated="31" />
+		<field name="GET_META_DATA" />
+		<field name="GET_PERMISSIONS" />
+		<field name="GET_PROVIDERS" />
+		<field name="GET_RECEIVERS" />
+		<field name="GET_RESOLVED_FILTER" />
+		<field name="GET_SERVICES" />
+		<field name="GET_SHARED_LIBRARY_FILES" />
+		<field name="GET_SIGNATURES" deprecated="28" />
+		<field name="GET_SIGNING_CERTIFICATES" since="28" />
+		<field name="GET_UNINSTALLED_PACKAGES" since="3" deprecated="24" />
+		<field name="GET_URI_PERMISSION_PATTERNS" />
+		<field name="INSTALL_FAILED_ALREADY_EXISTS" removed="4" />
+		<field name="INSTALL_FAILED_CONFLICTING_PROVIDER" since="3" removed="4" />
+		<field name="INSTALL_FAILED_DEXOPT" removed="4" />
+		<field name="INSTALL_FAILED_DUPLICATE_PACKAGE" removed="4" />
+		<field name="INSTALL_FAILED_INSUFFICIENT_STORAGE" removed="4" />
+		<field name="INSTALL_FAILED_INVALID_APK" removed="4" />
+		<field name="INSTALL_FAILED_INVALID_URI" removed="4" />
+		<field name="INSTALL_FAILED_MISSING_SHARED_LIBRARY" removed="4" />
+		<field name="INSTALL_FAILED_NO_SHARED_USER" removed="4" />
+		<field name="INSTALL_FAILED_OLDER_SDK" removed="4" />
+		<field name="INSTALL_FAILED_REPLACE_COULDNT_DELETE" removed="4" />
+		<field name="INSTALL_FAILED_SHARED_USER_INCOMPATIBLE" removed="4" />
+		<field name="INSTALL_FAILED_UPDATE_INCOMPATIBLE" removed="4" />
+		<field name="INSTALL_PARSE_FAILED_BAD_MANIFEST" removed="4" />
+		<field name="INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME" removed="4" />
+		<field name="INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID" removed="4" />
+		<field name="INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING" removed="4" />
+		<field name="INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES" removed="4" />
+		<field name="INSTALL_PARSE_FAILED_MANIFEST_EMPTY" removed="4" />
+		<field name="INSTALL_PARSE_FAILED_MANIFEST_MALFORMED" removed="4" />
+		<field name="INSTALL_PARSE_FAILED_NOT_APK" removed="4" />
+		<field name="INSTALL_PARSE_FAILED_NO_CERTIFICATES" removed="4" />
+		<field name="INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION" removed="4" />
+		<field name="INSTALL_REASON_DEVICE_RESTORE" since="26" />
+		<field name="INSTALL_REASON_DEVICE_SETUP" since="26" />
+		<field name="INSTALL_REASON_POLICY" since="26" />
+		<field name="INSTALL_REASON_UNKNOWN" since="26" />
+		<field name="INSTALL_REASON_USER" since="26" />
+		<field name="INSTALL_SCENARIO_BULK" since="31" />
+		<field name="INSTALL_SCENARIO_BULK_SECONDARY" since="31" />
+		<field name="INSTALL_SCENARIO_DEFAULT" since="31" />
+		<field name="INSTALL_SCENARIO_FAST" since="31" />
+		<field name="INSTALL_SUCCEEDED" removed="4" />
+		<field name="MATCH_ALL" since="23" />
+		<field name="MATCH_APEX" since="29" />
+		<field name="MATCH_DEFAULT_ONLY" />
+		<field name="MATCH_DIRECT_BOOT_AUTO" since="29" />
+		<field name="MATCH_DIRECT_BOOT_AWARE" since="24" />
+		<field name="MATCH_DIRECT_BOOT_UNAWARE" since="24" />
+		<field name="MATCH_DISABLED_COMPONENTS" since="24" />
+		<field name="MATCH_DISABLED_UNTIL_USED_COMPONENTS" since="24" />
+		<field name="MATCH_SYSTEM_ONLY" since="24" />
+		<field name="MATCH_UNINSTALLED_PACKAGES" since="24" />
+		<field name="MAXIMUM_VERIFICATION_TIMEOUT" since="17" />
+		<field name="PERMISSION_DENIED" />
+		<field name="PERMISSION_GRANTED" />
+		<field name="PKG_INSTALL_COMPLETE" removed="8" />
+		<field name="PKG_INSTALL_INCOMPLETE" removed="8" />
+		<field name="PROPERTY_MEDIA_CAPABILITIES" since="31" />
+		<field name="REPLACE_EXISTING_PACKAGE" removed="4" />
+		<field name="SIGNATURE_FIRST_NOT_SIGNED" />
+		<field name="SIGNATURE_MATCH" />
+		<field name="SIGNATURE_NEITHER_SIGNED" />
+		<field name="SIGNATURE_NO_MATCH" />
+		<field name="SIGNATURE_SECOND_NOT_SIGNED" />
+		<field name="SIGNATURE_UNKNOWN_PACKAGE" />
+		<field name="SYNCHRONOUS" since="30" />
+		<field name="TRUST_ALL" since="31" />
+		<field name="TRUST_NONE" since="31" />
+		<field name="VERIFICATION_ALLOW" since="14" />
+		<field name="VERIFICATION_REJECT" since="14" />
+		<field name="VERSION_CODE_HIGHEST" since="26" />
+	</class>
+	<class name="android/content/pm/PackageManager$NameNotFoundException" since="1">
+		<extends name="android/util/AndroidException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/content/pm/PackageManager$OnChecksumsReadyListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onChecksumsReady(Ljava/util/List;)V" />
+	</class>
+	<class name="android/content/pm/PackageManager$Property" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getBoolean()Z" />
+		<method name="getClassName()Ljava/lang/String;" />
+		<method name="getFloat()F" />
+		<method name="getInteger()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getResourceId()I" />
+		<method name="getString()Ljava/lang/String;" />
+		<method name="isBoolean()Z" />
+		<method name="isFloat()Z" />
+		<method name="isInteger()Z" />
+		<method name="isResourceId()Z" />
+		<method name="isString()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/PackageStats" since="1" deprecated="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/content/pm/PackageStats;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="29" />
+		<field name="CREATOR" deprecated="29" />
+		<field name="cacheSize" deprecated="29" />
+		<field name="codeSize" deprecated="29" />
+		<field name="dataSize" deprecated="29" />
+		<field name="externalCacheSize" since="11" deprecated="29" />
+		<field name="externalCodeSize" since="14" deprecated="29" />
+		<field name="externalDataSize" since="11" deprecated="29" />
+		<field name="externalMediaSize" since="11" deprecated="29" />
+		<field name="externalObbSize" since="11" deprecated="29" />
+		<field name="packageName" deprecated="29" />
+	</class>
+	<class name="android/content/pm/PathPermission" since="4">
+		<extends name="android/os/PatternMatcher" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" />
+		<method name="getReadPermission()Ljava/lang/String;" />
+		<method name="getWritePermission()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/PermissionGroupInfo" since="1">
+		<extends name="android/content/pm/PackageItemInfo" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/pm/PermissionGroupInfo;)V" deprecated="29" />
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+		<field name="FLAG_PERSONAL_INFO" since="17" />
+		<field name="descriptionRes" />
+		<field name="flags" since="17" />
+		<field name="nonLocalizedDescription" />
+		<field name="priority" since="17" />
+	</class>
+	<class name="android/content/pm/PermissionInfo" since="1">
+		<extends name="android/content/pm/PackageItemInfo" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/pm/PermissionInfo;)V" deprecated="29" />
+		<method name="getProtection()I" since="28" />
+		<method name="getProtectionFlags()I" since="28" />
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+		<field name="FLAG_COSTS_MONEY" since="17" />
+		<field name="FLAG_HARD_RESTRICTED" since="29" />
+		<field name="FLAG_IMMUTABLY_RESTRICTED" since="29" />
+		<field name="FLAG_INSTALLED" since="23" />
+		<field name="FLAG_SOFT_RESTRICTED" since="29" />
+		<field name="PROTECTION_DANGEROUS" />
+		<field name="PROTECTION_FLAG_APPOP" since="21" />
+		<field name="PROTECTION_FLAG_DEVELOPMENT" since="16" />
+		<field name="PROTECTION_FLAG_INSTALLER" since="23" />
+		<field name="PROTECTION_FLAG_INSTANT" since="27" />
+		<field name="PROTECTION_FLAG_PRE23" since="23" />
+		<field name="PROTECTION_FLAG_PREINSTALLED" since="23" />
+		<field name="PROTECTION_FLAG_PRIVILEGED" since="23" />
+		<field name="PROTECTION_FLAG_RUNTIME_ONLY" since="26" />
+		<field name="PROTECTION_FLAG_SETUP" since="24" />
+		<field name="PROTECTION_FLAG_SYSTEM" since="16" deprecated="23" />
+		<field name="PROTECTION_FLAG_VERIFIER" since="23" />
+		<field name="PROTECTION_INTERNAL" since="31" />
+		<field name="PROTECTION_MASK_BASE" since="16" deprecated="28" />
+		<field name="PROTECTION_MASK_FLAGS" since="16" deprecated="28" />
+		<field name="PROTECTION_NORMAL" />
+		<field name="PROTECTION_SIGNATURE" />
+		<field name="PROTECTION_SIGNATURE_OR_SYSTEM" deprecated="23" />
+		<field name="descriptionRes" />
+		<field name="flags" since="17" />
+		<field name="group" />
+		<field name="nonLocalizedDescription" />
+		<field name="protectionLevel" deprecated="28" />
+	</class>
+	<class name="android/content/pm/ProviderInfo" since="1">
+		<extends name="android/content/pm/ComponentInfo" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/ProviderInfo;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" since="19" />
+		<field name="CREATOR" />
+		<field name="FLAG_SINGLE_USER" since="17" />
+		<field name="authority" />
+		<field name="flags" since="17" />
+		<field name="forceUriPermissions" since="29" />
+		<field name="grantUriPermissions" />
+		<field name="initOrder" />
+		<field name="isSyncable" deprecated="15" />
+		<field name="multiprocess" />
+		<field name="pathPermissions" since="4" />
+		<field name="readPermission" />
+		<field name="uriPermissionPatterns" />
+		<field name="writePermission" />
+	</class>
+	<class name="android/content/pm/ResolveInfo" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/ResolveInfo;)V" since="17" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getIconResource()I" />
+		<method name="isCrossProfileIntentForwarderActivity()Z" since="30" />
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" />
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+		<field name="activityInfo" />
+		<field name="filter" />
+		<field name="icon" />
+		<field name="isDefault" />
+		<field name="isInstantAppAvailable" since="26" />
+		<field name="labelRes" />
+		<field name="match" />
+		<field name="nonLocalizedLabel" />
+		<field name="preferredOrder" />
+		<field name="priority" />
+		<field name="providerInfo" since="19" />
+		<field name="resolvePackageName" since="5" />
+		<field name="serviceInfo" />
+		<field name="specificIndex" />
+	</class>
+	<class name="android/content/pm/ResolveInfo$DisplayNameComparator" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Comparator" />
+		<method name="&lt;init&gt;(Landroid/content/pm/PackageManager;)V" />
+		<method name="compare(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I" />
+	</class>
+	<class name="android/content/pm/ServiceInfo" since="1">
+		<extends name="android/content/pm/ComponentInfo" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/ServiceInfo;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" since="5" />
+		<method name="getForegroundServiceType()I" since="29" />
+		<field name="CREATOR" />
+		<field name="FLAG_EXTERNAL_SERVICE" since="24" />
+		<field name="FLAG_ISOLATED_PROCESS" since="16" />
+		<field name="FLAG_SINGLE_USER" since="17" />
+		<field name="FLAG_STOP_WITH_TASK" since="14" />
+		<field name="FLAG_USE_APP_ZYGOTE" since="29" />
+		<field name="FOREGROUND_SERVICE_TYPE_CAMERA" since="30" />
+		<field name="FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE" since="29" />
+		<field name="FOREGROUND_SERVICE_TYPE_DATA_SYNC" since="29" />
+		<field name="FOREGROUND_SERVICE_TYPE_LOCATION" since="29" />
+		<field name="FOREGROUND_SERVICE_TYPE_MANIFEST" since="29" />
+		<field name="FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK" since="29" />
+		<field name="FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION" since="29" />
+		<field name="FOREGROUND_SERVICE_TYPE_MICROPHONE" since="30" />
+		<field name="FOREGROUND_SERVICE_TYPE_NONE" since="29" />
+		<field name="FOREGROUND_SERVICE_TYPE_PHONE_CALL" since="29" />
+		<field name="flags" since="14" />
+		<field name="permission" />
+	</class>
+	<class name="android/content/pm/SharedLibraryInfo" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDeclaringPackage()Landroid/content/pm/VersionedPackage;" />
+		<method name="getDependentPackages()Ljava/util/List;" />
+		<method name="getLongVersion()J" since="28" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getType()I" />
+		<method name="getVersion()I" deprecated="28" />
+		<field name="CREATOR" />
+		<field name="TYPE_BUILTIN" />
+		<field name="TYPE_DYNAMIC" />
+		<field name="TYPE_STATIC" />
+		<field name="VERSION_UNDEFINED" />
+	</class>
+	<class name="android/content/pm/ShortcutInfo" since="25">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getActivity()Landroid/content/ComponentName;" />
+		<method name="getCategories()Ljava/util/Set;" />
+		<method name="getDisabledMessage()Ljava/lang/CharSequence;" />
+		<method name="getDisabledReason()I" since="28" />
+		<method name="getExtras()Landroid/os/PersistableBundle;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getIntent()Landroid/content/Intent;" />
+		<method name="getIntents()[Landroid/content/Intent;" />
+		<method name="getLastChangedTimestamp()J" />
+		<method name="getLocusId()Landroid/content/LocusId;" since="29" />
+		<method name="getLongLabel()Ljava/lang/CharSequence;" />
+		<method name="getPackage()Ljava/lang/String;" />
+		<method name="getRank()I" />
+		<method name="getShortLabel()Ljava/lang/CharSequence;" />
+		<method name="getUserHandle()Landroid/os/UserHandle;" />
+		<method name="hasKeyFieldsOnly()Z" />
+		<method name="isCached()Z" since="30" />
+		<method name="isDeclaredInManifest()Z" />
+		<method name="isDynamic()Z" />
+		<method name="isEnabled()Z" />
+		<method name="isImmutable()Z" />
+		<method name="isPinned()Z" />
+		<field name="CREATOR" />
+		<field name="DISABLED_REASON_APP_CHANGED" since="28" />
+		<field name="DISABLED_REASON_BACKUP_NOT_SUPPORTED" since="28" />
+		<field name="DISABLED_REASON_BY_APP" since="28" />
+		<field name="DISABLED_REASON_NOT_DISABLED" since="28" />
+		<field name="DISABLED_REASON_OTHER_RESTORE_ISSUE" since="28" />
+		<field name="DISABLED_REASON_SIGNATURE_MISMATCH" since="28" />
+		<field name="DISABLED_REASON_UNKNOWN" since="28" />
+		<field name="DISABLED_REASON_VERSION_LOWER" since="28" />
+		<field name="SHORTCUT_CATEGORY_CONVERSATION" />
+	</class>
+	<class name="android/content/pm/ShortcutInfo$Builder" since="25">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;)V" />
+		<method name="build()Landroid/content/pm/ShortcutInfo;" />
+		<method name="setActivity(Landroid/content/ComponentName;)Landroid/content/pm/ShortcutInfo$Builder;" />
+		<method name="setCategories(Ljava/util/Set;)Landroid/content/pm/ShortcutInfo$Builder;" />
+		<method name="setDisabledMessage(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;" />
+		<method name="setExtras(Landroid/os/PersistableBundle;)Landroid/content/pm/ShortcutInfo$Builder;" />
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)Landroid/content/pm/ShortcutInfo$Builder;" />
+		<method name="setIntent(Landroid/content/Intent;)Landroid/content/pm/ShortcutInfo$Builder;" />
+		<method name="setIntents([Landroid/content/Intent;)Landroid/content/pm/ShortcutInfo$Builder;" />
+		<method name="setLocusId(Landroid/content/LocusId;)Landroid/content/pm/ShortcutInfo$Builder;" since="29" />
+		<method name="setLongLabel(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;" />
+		<method name="setLongLived(Z)Landroid/content/pm/ShortcutInfo$Builder;" since="29" />
+		<method name="setPerson(Landroid/app/Person;)Landroid/content/pm/ShortcutInfo$Builder;" since="29" />
+		<method name="setPersons([Landroid/app/Person;)Landroid/content/pm/ShortcutInfo$Builder;" since="29" />
+		<method name="setRank(I)Landroid/content/pm/ShortcutInfo$Builder;" />
+		<method name="setShortLabel(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;" />
+		<method name="setStartingTheme(I)Landroid/content/pm/ShortcutInfo$Builder;" since="31" />
+	</class>
+	<class name="android/content/pm/ShortcutManager" since="25">
+		<extends name="java/lang/Object" />
+		<method name="addDynamicShortcuts(Ljava/util/List;)Z" />
+		<method name="createShortcutResultIntent(Landroid/content/pm/ShortcutInfo;)Landroid/content/Intent;" since="26" />
+		<method name="disableShortcuts(Ljava/util/List;)V" />
+		<method name="disableShortcuts(Ljava/util/List;Ljava/lang/CharSequence;)V" />
+		<method name="enableShortcuts(Ljava/util/List;)V" />
+		<method name="getDynamicShortcuts()Ljava/util/List;" />
+		<method name="getIconMaxHeight()I" />
+		<method name="getIconMaxWidth()I" />
+		<method name="getManifestShortcuts()Ljava/util/List;" />
+		<method name="getMaxShortcutCountPerActivity()I" />
+		<method name="getPinnedShortcuts()Ljava/util/List;" />
+		<method name="getShortcuts(I)Ljava/util/List;" since="30" />
+		<method name="isRateLimitingActive()Z" />
+		<method name="isRequestPinShortcutSupported()Z" since="26" />
+		<method name="pushDynamicShortcut(Landroid/content/pm/ShortcutInfo;)V" since="30" />
+		<method name="removeAllDynamicShortcuts()V" />
+		<method name="removeDynamicShortcuts(Ljava/util/List;)V" />
+		<method name="removeLongLivedShortcuts(Ljava/util/List;)V" since="30" />
+		<method name="reportShortcutUsed(Ljava/lang/String;)V" />
+		<method name="requestPinShortcut(Landroid/content/pm/ShortcutInfo;Landroid/content/IntentSender;)Z" since="26" />
+		<method name="setDynamicShortcuts(Ljava/util/List;)Z" />
+		<method name="updateShortcuts(Ljava/util/List;)Z" />
+		<field name="FLAG_MATCH_CACHED" since="30" />
+		<field name="FLAG_MATCH_DYNAMIC" since="30" />
+		<field name="FLAG_MATCH_MANIFEST" since="30" />
+		<field name="FLAG_MATCH_PINNED" since="30" />
+	</class>
+	<class name="android/content/pm/Signature" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="toByteArray()[B" />
+		<method name="toChars()[C" />
+		<method name="toChars([C[I)[C" />
+		<method name="toCharsString()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/SigningInfo" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/pm/SigningInfo;)V" />
+		<method name="getApkContentsSigners()[Landroid/content/pm/Signature;" />
+		<method name="getSigningCertificateHistory()[Landroid/content/pm/Signature;" />
+		<method name="hasMultipleSigners()Z" />
+		<method name="hasPastSigningCertificates()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/VersionedPackage" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;J)V" since="28" />
+		<method name="getLongVersionCode()J" since="28" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getVersionCode()I" deprecated="28" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/pm/verify/domain/DomainVerificationManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getDomainVerificationUserState(Ljava/lang/String;)Landroid/content/pm/verify/domain/DomainVerificationUserState;" />
+	</class>
+	<class name="android/content/pm/verify/domain/DomainVerificationUserState" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getHostToStateMap()Ljava/util/Map;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getUser()Landroid/os/UserHandle;" />
+		<method name="isLinkHandlingAllowed()Z" />
+		<field name="CREATOR" />
+		<field name="DOMAIN_STATE_NONE" />
+		<field name="DOMAIN_STATE_SELECTED" />
+		<field name="DOMAIN_STATE_VERIFIED" />
+	</class>
+	<class name="android/content/res/AssetFileDescriptor" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="3" />
+		<implements name="java/io/Closeable" since="19" />
+		<method name="&lt;init&gt;(Landroid/os/ParcelFileDescriptor;JJ)V" />
+		<method name="&lt;init&gt;(Landroid/os/ParcelFileDescriptor;JJLandroid/os/Bundle;)V" since="19" />
+		<method name="close()V" />
+		<method name="createInputStream()Ljava/io/FileInputStream;" since="3" />
+		<method name="createOutputStream()Ljava/io/FileOutputStream;" since="3" />
+		<method name="getDeclaredLength()J" since="3" />
+		<method name="getExtras()Landroid/os/Bundle;" since="19" />
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;" />
+		<method name="getLength()J" />
+		<method name="getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;" />
+		<method name="getStartOffset()J" />
+		<field name="CREATOR" since="3" />
+		<field name="UNKNOWN_LENGTH" since="3" />
+	</class>
+	<class name="android/content/res/AssetFileDescriptor$AutoCloseInputStream" since="3">
+		<extends name="android/os/ParcelFileDescriptor$AutoCloseInputStream" />
+		<method name="&lt;init&gt;(Landroid/content/res/AssetFileDescriptor;)V" />
+	</class>
+	<class name="android/content/res/AssetFileDescriptor$AutoCloseOutputStream" since="3">
+		<extends name="android/os/ParcelFileDescriptor$AutoCloseOutputStream" />
+		<method name="&lt;init&gt;(Landroid/content/res/AssetFileDescriptor;)V" />
+	</class>
+	<class name="android/content/res/AssetManager" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="21" />
+		<method name="close()V" />
+		<method name="getLocales()[Ljava/lang/String;" />
+		<method name="list(Ljava/lang/String;)[Ljava/lang/String;" />
+		<method name="open(Ljava/lang/String;)Ljava/io/InputStream;" />
+		<method name="open(Ljava/lang/String;I)Ljava/io/InputStream;" />
+		<method name="openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;" />
+		<method name="openNonAssetFd(ILjava/lang/String;)Landroid/content/res/AssetFileDescriptor;" />
+		<method name="openNonAssetFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;" />
+		<method name="openXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser;" />
+		<method name="openXmlResourceParser(Ljava/lang/String;)Landroid/content/res/XmlResourceParser;" />
+		<field name="ACCESS_BUFFER" />
+		<field name="ACCESS_RANDOM" />
+		<field name="ACCESS_STREAMING" />
+		<field name="ACCESS_UNKNOWN" />
+	</class>
+	<class name="android/content/res/AssetManager$AssetInputStream" since="1">
+		<extends name="java/io/InputStream" />
+		<method name="getAssetInt()I" removed="21" />
+	</class>
+	<class name="android/content/res/ColorStateList" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;([[I[I)V" />
+		<method name="createFromXml(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;)Landroid/content/res/ColorStateList;" deprecated="23" />
+		<method name="createFromXml(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;" since="23" />
+		<method name="getChangingConfigurations()I" since="23" />
+		<method name="getColorForState([II)I" />
+		<method name="getDefaultColor()I" />
+		<method name="isOpaque()Z" since="21" />
+		<method name="isStateful()Z" />
+		<method name="valueOf(I)Landroid/content/res/ColorStateList;" />
+		<method name="withAlpha(I)Landroid/content/res/ColorStateList;" />
+		<method name="withLStar(F)Landroid/content/res/ColorStateList;" since="31" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/content/res/Configuration" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/res/Configuration;)V" />
+		<method name="compareTo(Landroid/content/res/Configuration;)I" />
+		<method name="diff(Landroid/content/res/Configuration;)I" />
+		<method name="equals(Landroid/content/res/Configuration;)Z" />
+		<method name="getLayoutDirection()I" since="17" />
+		<method name="getLocales()Landroid/os/LocaleList;" since="24" />
+		<method name="isLayoutSizeAtLeast(I)Z" since="11" />
+		<method name="isNightModeActive()Z" since="30" />
+		<method name="isScreenHdr()Z" since="26" />
+		<method name="isScreenRound()Z" since="23" />
+		<method name="isScreenWideColorGamut()Z" since="26" />
+		<method name="needNewResources(II)Z" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" since="8" />
+		<method name="setLayoutDirection(Ljava/util/Locale;)V" since="17" />
+		<method name="setLocale(Ljava/util/Locale;)V" since="17" />
+		<method name="setLocales(Landroid/os/LocaleList;)V" since="24" />
+		<method name="setTo(Landroid/content/res/Configuration;)V" since="8" />
+		<method name="setToDefaults()V" />
+		<method name="updateFrom(Landroid/content/res/Configuration;)I" />
+		<field name="COLOR_MODE_HDR_MASK" since="26" />
+		<field name="COLOR_MODE_HDR_NO" since="26" />
+		<field name="COLOR_MODE_HDR_SHIFT" since="26" />
+		<field name="COLOR_MODE_HDR_UNDEFINED" since="26" />
+		<field name="COLOR_MODE_HDR_YES" since="26" />
+		<field name="COLOR_MODE_UNDEFINED" since="26" />
+		<field name="COLOR_MODE_WIDE_COLOR_GAMUT_MASK" since="26" />
+		<field name="COLOR_MODE_WIDE_COLOR_GAMUT_NO" since="26" />
+		<field name="COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED" since="26" />
+		<field name="COLOR_MODE_WIDE_COLOR_GAMUT_YES" since="26" />
+		<field name="CREATOR" />
+		<field name="DENSITY_DPI_UNDEFINED" since="17" />
+		<field name="FONT_WEIGHT_ADJUSTMENT_UNDEFINED" since="31" />
+		<field name="HARDKEYBOARDHIDDEN_NO" since="3" />
+		<field name="HARDKEYBOARDHIDDEN_UNDEFINED" since="3" />
+		<field name="HARDKEYBOARDHIDDEN_YES" since="3" />
+		<field name="KEYBOARDHIDDEN_NO" />
+		<field name="KEYBOARDHIDDEN_UNDEFINED" />
+		<field name="KEYBOARDHIDDEN_YES" />
+		<field name="KEYBOARD_12KEY" />
+		<field name="KEYBOARD_NOKEYS" />
+		<field name="KEYBOARD_QWERTY" />
+		<field name="KEYBOARD_UNDEFINED" />
+		<field name="MNC_ZERO" since="19" />
+		<field name="NAVIGATIONHIDDEN_NO" since="5" />
+		<field name="NAVIGATIONHIDDEN_UNDEFINED" since="5" />
+		<field name="NAVIGATIONHIDDEN_YES" since="5" />
+		<field name="NAVIGATION_DPAD" />
+		<field name="NAVIGATION_NONAV" />
+		<field name="NAVIGATION_TRACKBALL" />
+		<field name="NAVIGATION_UNDEFINED" />
+		<field name="NAVIGATION_WHEEL" />
+		<field name="ORIENTATION_LANDSCAPE" />
+		<field name="ORIENTATION_PORTRAIT" />
+		<field name="ORIENTATION_SQUARE" deprecated="16" />
+		<field name="ORIENTATION_UNDEFINED" />
+		<field name="SCREENLAYOUT_LAYOUTDIR_LTR" since="17" />
+		<field name="SCREENLAYOUT_LAYOUTDIR_MASK" since="17" />
+		<field name="SCREENLAYOUT_LAYOUTDIR_RTL" since="17" />
+		<field name="SCREENLAYOUT_LAYOUTDIR_SHIFT" since="17" />
+		<field name="SCREENLAYOUT_LAYOUTDIR_UNDEFINED" since="17" />
+		<field name="SCREENLAYOUT_LONG_MASK" since="4" />
+		<field name="SCREENLAYOUT_LONG_NO" since="4" />
+		<field name="SCREENLAYOUT_LONG_UNDEFINED" since="4" />
+		<field name="SCREENLAYOUT_LONG_YES" since="4" />
+		<field name="SCREENLAYOUT_ROUND_MASK" since="23" />
+		<field name="SCREENLAYOUT_ROUND_NO" since="23" />
+		<field name="SCREENLAYOUT_ROUND_UNDEFINED" since="23" />
+		<field name="SCREENLAYOUT_ROUND_YES" since="23" />
+		<field name="SCREENLAYOUT_SIZE_LARGE" since="4" />
+		<field name="SCREENLAYOUT_SIZE_MASK" since="4" />
+		<field name="SCREENLAYOUT_SIZE_NORMAL" since="4" />
+		<field name="SCREENLAYOUT_SIZE_SMALL" since="4" />
+		<field name="SCREENLAYOUT_SIZE_UNDEFINED" since="4" />
+		<field name="SCREENLAYOUT_SIZE_XLARGE" since="9" />
+		<field name="SCREENLAYOUT_UNDEFINED" since="17" />
+		<field name="SCREEN_HEIGHT_DP_UNDEFINED" since="13" />
+		<field name="SCREEN_WIDTH_DP_UNDEFINED" since="13" />
+		<field name="SMALLEST_SCREEN_WIDTH_DP_UNDEFINED" since="13" />
+		<field name="TOUCHSCREEN_FINGER" />
+		<field name="TOUCHSCREEN_NOTOUCH" />
+		<field name="TOUCHSCREEN_STYLUS" deprecated="16" />
+		<field name="TOUCHSCREEN_UNDEFINED" />
+		<field name="UI_MODE_NIGHT_MASK" since="8" />
+		<field name="UI_MODE_NIGHT_NO" since="8" />
+		<field name="UI_MODE_NIGHT_UNDEFINED" since="8" />
+		<field name="UI_MODE_NIGHT_YES" since="8" />
+		<field name="UI_MODE_TYPE_APPLIANCE" since="16" />
+		<field name="UI_MODE_TYPE_CAR" since="8" />
+		<field name="UI_MODE_TYPE_DESK" since="8" />
+		<field name="UI_MODE_TYPE_MASK" since="8" />
+		<field name="UI_MODE_TYPE_NORMAL" since="8" />
+		<field name="UI_MODE_TYPE_TELEVISION" since="13" />
+		<field name="UI_MODE_TYPE_UNDEFINED" since="8" />
+		<field name="UI_MODE_TYPE_VR_HEADSET" since="26" />
+		<field name="UI_MODE_TYPE_WATCH" since="20" />
+		<field name="colorMode" since="26" />
+		<field name="densityDpi" since="17" />
+		<field name="fontScale" />
+		<field name="fontWeightAdjustment" since="31" />
+		<field name="hardKeyboardHidden" since="3" />
+		<field name="keyboard" />
+		<field name="keyboardHidden" />
+		<field name="locale" deprecated="24" />
+		<field name="mcc" />
+		<field name="mnc" />
+		<field name="navigation" />
+		<field name="navigationHidden" since="5" />
+		<field name="orientation" />
+		<field name="screenHeightDp" since="13" />
+		<field name="screenLayout" since="4" />
+		<field name="screenWidthDp" since="13" />
+		<field name="smallestScreenWidthDp" since="13" />
+		<field name="touchscreen" />
+		<field name="uiMode" since="8" />
+	</class>
+	<class name="android/content/res/ObbInfo" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+		<field name="OBB_OVERLAY" />
+		<field name="filename" />
+		<field name="flags" />
+		<field name="packageName" />
+		<field name="version" />
+	</class>
+	<class name="android/content/res/ObbScanner" since="9">
+		<extends name="java/lang/Object" />
+		<method name="getObbInfo(Ljava/lang/String;)Landroid/content/res/ObbInfo;" />
+	</class>
+	<class name="android/content/res/Resources" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;)V" deprecated="25" />
+		<method name="addLoaders([Landroid/content/res/loader/ResourcesLoader;)V" since="30" />
+		<method name="finishPreloading()V" />
+		<method name="flushLayoutCache()V" />
+		<method name="getAnimation(I)Landroid/content/res/XmlResourceParser;" />
+		<method name="getAssets()Landroid/content/res/AssetManager;" />
+		<method name="getAttributeSetSourceResId(Landroid/util/AttributeSet;)I" since="29" />
+		<method name="getBoolean(I)Z" since="3" />
+		<method name="getColor(I)I" deprecated="23" />
+		<method name="getColor(ILandroid/content/res/Resources$Theme;)I" since="23" />
+		<method name="getColorStateList(I)Landroid/content/res/ColorStateList;" deprecated="23" />
+		<method name="getColorStateList(ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;" since="23" />
+		<method name="getConfiguration()Landroid/content/res/Configuration;" />
+		<method name="getDimension(I)F" />
+		<method name="getDimensionPixelOffset(I)I" />
+		<method name="getDimensionPixelSize(I)I" />
+		<method name="getDisplayMetrics()Landroid/util/DisplayMetrics;" />
+		<method name="getDrawable(I)Landroid/graphics/drawable/Drawable;" deprecated="22" />
+		<method name="getDrawable(ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;" since="21" />
+		<method name="getDrawableForDensity(II)Landroid/graphics/drawable/Drawable;" since="15" deprecated="22" />
+		<method name="getDrawableForDensity(IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;" since="21" />
+		<method name="getFloat(I)F" since="29" />
+		<method name="getFont(I)Landroid/graphics/Typeface;" since="26" />
+		<method name="getFraction(III)F" since="3" />
+		<method name="getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="getIntArray(I)[I" />
+		<method name="getInteger(I)I" />
+		<method name="getLayout(I)Landroid/content/res/XmlResourceParser;" />
+		<method name="getMovie(I)Landroid/graphics/Movie;" deprecated="29" />
+		<method name="getQuantityString(II)Ljava/lang/String;" />
+		<method name="getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="getQuantityText(II)Ljava/lang/CharSequence;" />
+		<method name="getResourceEntryName(I)Ljava/lang/String;" />
+		<method name="getResourceName(I)Ljava/lang/String;" />
+		<method name="getResourcePackageName(I)Ljava/lang/String;" />
+		<method name="getResourceTypeName(I)Ljava/lang/String;" />
+		<method name="getString(I)Ljava/lang/String;" />
+		<method name="getString(I[Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="getStringArray(I)[Ljava/lang/String;" />
+		<method name="getSystem()Landroid/content/res/Resources;" />
+		<method name="getText(I)Ljava/lang/CharSequence;" />
+		<method name="getText(ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="getTextArray(I)[Ljava/lang/CharSequence;" />
+		<method name="getValue(ILandroid/util/TypedValue;Z)V" />
+		<method name="getValue(Ljava/lang/String;Landroid/util/TypedValue;Z)V" />
+		<method name="getValueForDensity(IILandroid/util/TypedValue;Z)V" since="15" />
+		<method name="getXml(I)Landroid/content/res/XmlResourceParser;" />
+		<method name="newTheme()Landroid/content/res/Resources$Theme;" />
+		<method name="obtainAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;" />
+		<method name="obtainTypedArray(I)Landroid/content/res/TypedArray;" />
+		<method name="openRawResource(I)Ljava/io/InputStream;" />
+		<method name="openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream;" since="3" />
+		<method name="openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;" />
+		<method name="parseBundleExtra(Ljava/lang/String;Landroid/util/AttributeSet;Landroid/os/Bundle;)V" since="3" />
+		<method name="parseBundleExtras(Landroid/content/res/XmlResourceParser;Landroid/os/Bundle;)V" since="3" />
+		<method name="removeLoaders([Landroid/content/res/loader/ResourcesLoader;)V" since="30" />
+		<method name="updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)V" deprecated="25" />
+		<field name="ID_NULL" since="29" />
+	</class>
+	<class name="android/content/res/Resources$NotFoundException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Exception;)V" since="24" />
+	</class>
+	<class name="android/content/res/Resources$Theme" since="1">
+		<extends name="java/lang/Object" />
+		<method name="applyStyle(IZ)V" />
+		<method name="dump(ILjava/lang/String;Ljava/lang/String;)V" />
+		<method name="getAttributeResolutionStack(III)[I" since="29" />
+		<method name="getChangingConfigurations()I" since="23" />
+		<method name="getDrawable(I)Landroid/graphics/drawable/Drawable;" since="21" />
+		<method name="getExplicitStyle(Landroid/util/AttributeSet;)I" since="29" />
+		<method name="getResources()Landroid/content/res/Resources;" since="21" />
+		<method name="obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;" />
+		<method name="obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;" />
+		<method name="obtainStyledAttributes([I)Landroid/content/res/TypedArray;" />
+		<method name="rebase()V" since="29" />
+		<method name="resolveAttribute(ILandroid/util/TypedValue;Z)Z" />
+		<method name="setTo(Landroid/content/res/Resources$Theme;)V" />
+	</class>
+	<class name="android/content/res/TypedArray" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="31" />
+		<method name="getBoolean(IZ)Z" />
+		<method name="getChangingConfigurations()I" since="21" />
+		<method name="getColor(II)I" />
+		<method name="getColorStateList(I)Landroid/content/res/ColorStateList;" />
+		<method name="getDimension(IF)F" />
+		<method name="getDimensionPixelOffset(II)I" />
+		<method name="getDimensionPixelSize(II)I" />
+		<method name="getDrawable(I)Landroid/graphics/drawable/Drawable;" />
+		<method name="getFloat(IF)F" />
+		<method name="getFont(I)Landroid/graphics/Typeface;" since="26" />
+		<method name="getFraction(IIIF)F" />
+		<method name="getIndex(I)I" />
+		<method name="getIndexCount()I" />
+		<method name="getInt(II)I" />
+		<method name="getInteger(II)I" />
+		<method name="getLayoutDimension(II)I" since="3" />
+		<method name="getLayoutDimension(ILjava/lang/String;)I" />
+		<method name="getNonResourceString(I)Ljava/lang/String;" />
+		<method name="getPositionDescription()Ljava/lang/String;" />
+		<method name="getResourceId(II)I" />
+		<method name="getResources()Landroid/content/res/Resources;" />
+		<method name="getSourceResourceId(II)I" since="29" />
+		<method name="getString(I)Ljava/lang/String;" />
+		<method name="getText(I)Ljava/lang/CharSequence;" />
+		<method name="getTextArray(I)[Ljava/lang/CharSequence;" />
+		<method name="getType(I)I" since="21" />
+		<method name="getValue(ILandroid/util/TypedValue;)Z" />
+		<method name="hasValue(I)Z" />
+		<method name="hasValueOrEmpty(I)Z" since="22" />
+		<method name="length()I" />
+		<method name="peekValue(I)Landroid/util/TypedValue;" />
+		<method name="recycle()V" />
+	</class>
+	<class name="android/content/res/XmlResourceParser" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/util/AttributeSet" />
+		<implements name="java/lang/AutoCloseable" since="19" />
+		<implements name="org/xmlpull/v1/XmlPullParser" />
+		<method name="close()V" />
+	</class>
+	<class name="android/content/res/loader/AssetsProvider" since="30">
+		<extends name="java/lang/Object" />
+		<method name="loadAssetFd(Ljava/lang/String;I)Landroid/content/res/AssetFileDescriptor;" />
+	</class>
+	<class name="android/content/res/loader/ResourcesLoader" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addProvider(Landroid/content/res/loader/ResourcesProvider;)V" />
+		<method name="clearProviders()V" />
+		<method name="getProviders()Ljava/util/List;" />
+		<method name="removeProvider(Landroid/content/res/loader/ResourcesProvider;)V" />
+		<method name="setProviders(Ljava/util/List;)V" />
+	</class>
+	<class name="android/content/res/loader/ResourcesProvider" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="empty(Landroid/content/res/loader/AssetsProvider;)Landroid/content/res/loader/ResourcesProvider;" />
+		<method name="loadFromApk(Landroid/os/ParcelFileDescriptor;)Landroid/content/res/loader/ResourcesProvider;" />
+		<method name="loadFromApk(Landroid/os/ParcelFileDescriptor;Landroid/content/res/loader/AssetsProvider;)Landroid/content/res/loader/ResourcesProvider;" />
+		<method name="loadFromDirectory(Ljava/lang/String;Landroid/content/res/loader/AssetsProvider;)Landroid/content/res/loader/ResourcesProvider;" />
+		<method name="loadFromSplit(Landroid/content/Context;Ljava/lang/String;)Landroid/content/res/loader/ResourcesProvider;" />
+		<method name="loadFromTable(Landroid/os/ParcelFileDescriptor;Landroid/content/res/loader/AssetsProvider;)Landroid/content/res/loader/ResourcesProvider;" />
+	</class>
+	<class name="android/database/AbstractCursor" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/database/CrossProcessCursor" />
+		<method name="&lt;init&gt;()V" />
+		<method name="checkPosition()V" />
+		<method name="getNotificationUri()Landroid/net/Uri;" since="11" />
+		<method name="getUpdatedField(I)Ljava/lang/Object;" deprecated="15" />
+		<method name="isFieldUpdated(I)Z" deprecated="15" />
+		<method name="onChange(Z)V" />
+		<field name="mClosed" deprecated="23" />
+		<field name="mContentResolver" deprecated="23" />
+		<field name="mCurrentRowID" deprecated="16" removed="23" />
+		<field name="mPos" deprecated="23" />
+		<field name="mRowIdColumnIndex" deprecated="16" removed="23" />
+		<field name="mUpdatedRows" deprecated="15" removed="23" />
+	</class>
+	<class name="android/database/AbstractCursor$SelfContentObserver" since="1">
+		<extends name="android/database/ContentObserver" />
+		<method name="&lt;init&gt;(Landroid/database/AbstractCursor;)V" />
+	</class>
+	<class name="android/database/AbstractWindowedCursor" since="1">
+		<extends name="android/database/AbstractCursor" />
+		<method name="&lt;init&gt;()V" />
+		<method name="hasWindow()Z" />
+		<method name="isBlob(I)Z" deprecated="15" />
+		<method name="isFloat(I)Z" since="5" deprecated="15" />
+		<method name="isLong(I)Z" since="5" deprecated="15" />
+		<method name="isString(I)Z" since="5" deprecated="15" />
+		<method name="setWindow(Landroid/database/CursorWindow;)V" />
+		<field name="mWindow" />
+	</class>
+	<class name="android/database/CharArrayBuffer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;([C)V" />
+		<field name="data" />
+		<field name="sizeCopied" />
+	</class>
+	<class name="android/database/ContentObservable" since="1">
+		<extends name="android/database/Observable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="dispatchChange(Z)V" deprecated="16" />
+		<method name="dispatchChange(ZLandroid/net/Uri;)V" since="16" />
+		<method name="notifyChange(Z)V" deprecated="16" />
+		<method name="registerObserver(Landroid/database/ContentObserver;)V" />
+	</class>
+	<class name="android/database/ContentObserver" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/os/Handler;)V" />
+		<method name="deliverSelfNotifications()Z" />
+		<method name="dispatchChange(Z)V" deprecated="16" />
+		<method name="dispatchChange(ZLandroid/net/Uri;)V" since="16" />
+		<method name="dispatchChange(ZLandroid/net/Uri;I)V" since="30" />
+		<method name="dispatchChange(ZLjava/util/Collection;I)V" since="30" />
+		<method name="onChange(Z)V" />
+		<method name="onChange(ZLandroid/net/Uri;)V" since="16" />
+		<method name="onChange(ZLandroid/net/Uri;I)V" since="30" />
+		<method name="onChange(ZLjava/util/Collection;I)V" since="30" />
+	</class>
+	<class name="android/database/CrossProcessCursor" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/database/Cursor" />
+		<method name="fillWindow(ILandroid/database/CursorWindow;)V" />
+		<method name="getWindow()Landroid/database/CursorWindow;" />
+		<method name="onMove(II)Z" />
+	</class>
+	<class name="android/database/CrossProcessCursorWrapper" since="15">
+		<extends name="android/database/CursorWrapper" />
+		<implements name="android/database/CrossProcessCursor" />
+		<method name="&lt;init&gt;(Landroid/database/Cursor;)V" />
+	</class>
+	<class name="android/database/Cursor" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" since="16" />
+		<method name="close()V" />
+		<method name="copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V" />
+		<method name="deactivate()V" deprecated="16" />
+		<method name="getBlob(I)[B" />
+		<method name="getColumnCount()I" />
+		<method name="getColumnIndex(Ljava/lang/String;)I" />
+		<method name="getColumnIndexOrThrow(Ljava/lang/String;)I" />
+		<method name="getColumnName(I)Ljava/lang/String;" />
+		<method name="getColumnNames()[Ljava/lang/String;" />
+		<method name="getCount()I" />
+		<method name="getDouble(I)D" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getFloat(I)F" />
+		<method name="getInt(I)I" />
+		<method name="getLong(I)J" />
+		<method name="getNotificationUri()Landroid/net/Uri;" since="19" />
+		<method name="getNotificationUris()Ljava/util/List;" since="29" />
+		<method name="getPosition()I" />
+		<method name="getShort(I)S" />
+		<method name="getString(I)Ljava/lang/String;" />
+		<method name="getType(I)I" since="11" />
+		<method name="getWantsAllOnMoveCalls()Z" />
+		<method name="isAfterLast()Z" />
+		<method name="isBeforeFirst()Z" />
+		<method name="isClosed()Z" />
+		<method name="isFirst()Z" />
+		<method name="isLast()Z" />
+		<method name="isNull(I)Z" />
+		<method name="move(I)Z" />
+		<method name="moveToFirst()Z" />
+		<method name="moveToLast()Z" />
+		<method name="moveToNext()Z" />
+		<method name="moveToPosition(I)Z" />
+		<method name="moveToPrevious()Z" />
+		<method name="registerContentObserver(Landroid/database/ContentObserver;)V" />
+		<method name="registerDataSetObserver(Landroid/database/DataSetObserver;)V" />
+		<method name="requery()Z" deprecated="15" />
+		<method name="respond(Landroid/os/Bundle;)Landroid/os/Bundle;" />
+		<method name="setExtras(Landroid/os/Bundle;)V" since="23" />
+		<method name="setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V" />
+		<method name="setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;)V" since="29" />
+		<method name="unregisterContentObserver(Landroid/database/ContentObserver;)V" />
+		<method name="unregisterDataSetObserver(Landroid/database/DataSetObserver;)V" />
+		<field name="FIELD_TYPE_BLOB" since="11" />
+		<field name="FIELD_TYPE_FLOAT" since="11" />
+		<field name="FIELD_TYPE_INTEGER" since="11" />
+		<field name="FIELD_TYPE_NULL" since="11" />
+		<field name="FIELD_TYPE_STRING" since="11" />
+	</class>
+	<class name="android/database/CursorIndexOutOfBoundsException" since="1">
+		<extends name="java/lang/IndexOutOfBoundsException" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/CursorJoiner" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Iterable" />
+		<implements name="java/util/Iterator" />
+		<method name="&lt;init&gt;(Landroid/database/Cursor;[Ljava/lang/String;Landroid/database/Cursor;[Ljava/lang/String;)V" />
+		<method name="next()Landroid/database/CursorJoiner$Result;" />
+	</class>
+	<class name="android/database/CursorJoiner$Result" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/database/CursorJoiner$Result;" />
+		<method name="values()[Landroid/database/CursorJoiner$Result;" />
+		<field name="BOTH" />
+		<field name="LEFT" />
+		<field name="RIGHT" />
+	</class>
+	<class name="android/database/CursorWindow" since="1">
+		<extends name="android/database/sqlite/SQLiteClosable" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" since="15" />
+		<method name="&lt;init&gt;(Ljava/lang/String;J)V" since="28" />
+		<method name="&lt;init&gt;(Z)V" deprecated="15" />
+		<method name="allocRow()Z" />
+		<method name="clear()V" />
+		<method name="close()V" removed="16" />
+		<method name="copyStringToBuffer(IILandroid/database/CharArrayBuffer;)V" />
+		<method name="freeLastRow()V" />
+		<method name="getBlob(II)[B" />
+		<method name="getDouble(II)D" />
+		<method name="getFloat(II)F" />
+		<method name="getInt(II)I" />
+		<method name="getLong(II)J" />
+		<method name="getNumRows()I" />
+		<method name="getShort(II)S" />
+		<method name="getStartPosition()I" />
+		<method name="getString(II)Ljava/lang/String;" />
+		<method name="getType(II)I" since="11" />
+		<method name="isBlob(II)Z" deprecated="15" />
+		<method name="isFloat(II)Z" since="5" deprecated="15" />
+		<method name="isLong(II)Z" since="5" deprecated="15" />
+		<method name="isNull(II)Z" deprecated="15" />
+		<method name="isString(II)Z" since="5" deprecated="15" />
+		<method name="newFromParcel(Landroid/os/Parcel;)Landroid/database/CursorWindow;" />
+		<method name="putBlob([BII)Z" />
+		<method name="putDouble(DII)Z" />
+		<method name="putLong(JII)Z" />
+		<method name="putNull(II)Z" />
+		<method name="putString(Ljava/lang/String;II)Z" />
+		<method name="setNumColumns(I)Z" />
+		<method name="setStartPosition(I)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/database/CursorWrapper" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/database/Cursor" />
+		<method name="&lt;init&gt;(Landroid/database/Cursor;)V" />
+		<method name="getWrappedCursor()Landroid/database/Cursor;" since="11" />
+	</class>
+	<class name="android/database/DataSetObservable" since="1">
+		<extends name="android/database/Observable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="notifyChanged()V" />
+		<method name="notifyInvalidated()V" />
+	</class>
+	<class name="android/database/DataSetObserver" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onChanged()V" />
+		<method name="onInvalidated()V" />
+	</class>
+	<class name="android/database/DatabaseErrorHandler" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onCorruption(Landroid/database/sqlite/SQLiteDatabase;)V" />
+	</class>
+	<class name="android/database/DatabaseUtils" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V" />
+		<method name="appendSelectionArgs([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;" since="11" />
+		<method name="appendValueToSql(Ljava/lang/StringBuilder;Ljava/lang/Object;)V" />
+		<method name="bindObjectToProgram(Landroid/database/sqlite/SQLiteProgram;ILjava/lang/Object;)V" />
+		<method name="blobFileDescriptorForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;" since="11" />
+		<method name="blobFileDescriptorForQuery(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;" since="11" />
+		<method name="concatenateWhere(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="11" />
+		<method name="createDbFromSqlStatements(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="cursorDoubleToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V" />
+		<method name="cursorDoubleToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8" />
+		<method name="cursorDoubleToCursorValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V" />
+		<method name="cursorFloatToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8" />
+		<method name="cursorIntToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V" />
+		<method name="cursorIntToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V" />
+		<method name="cursorIntToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8" />
+		<method name="cursorLongToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V" />
+		<method name="cursorLongToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V" />
+		<method name="cursorLongToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8" />
+		<method name="cursorRowToContentValues(Landroid/database/Cursor;Landroid/content/ContentValues;)V" />
+		<method name="cursorShortToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8" />
+		<method name="cursorStringToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V" />
+		<method name="cursorStringToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V" />
+		<method name="cursorStringToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8" />
+		<method name="cursorStringToInsertHelper(Landroid/database/Cursor;Ljava/lang/String;Landroid/database/DatabaseUtils$InsertHelper;I)V" />
+		<method name="dumpCurrentRow(Landroid/database/Cursor;)V" />
+		<method name="dumpCurrentRow(Landroid/database/Cursor;Ljava/io/PrintStream;)V" />
+		<method name="dumpCurrentRow(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V" />
+		<method name="dumpCurrentRowToString(Landroid/database/Cursor;)Ljava/lang/String;" />
+		<method name="dumpCursor(Landroid/database/Cursor;)V" />
+		<method name="dumpCursor(Landroid/database/Cursor;Ljava/io/PrintStream;)V" />
+		<method name="dumpCursor(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V" />
+		<method name="dumpCursorToString(Landroid/database/Cursor;)Ljava/lang/String;" />
+		<method name="getCollationKey(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getHexCollationKey(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getSqlStatementType(Ljava/lang/String;)I" since="11" />
+		<method name="longForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)J" />
+		<method name="longForQuery(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)J" />
+		<method name="queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)J" />
+		<method name="queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;)J" since="11" />
+		<method name="queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J" since="11" />
+		<method name="readExceptionFromParcel(Landroid/os/Parcel;)V" />
+		<method name="readExceptionWithFileNotFoundExceptionFromParcel(Landroid/os/Parcel;)V" />
+		<method name="readExceptionWithOperationApplicationExceptionFromParcel(Landroid/os/Parcel;)V" since="5" />
+		<method name="sqlEscapeString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="stringForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="stringForQuery(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="writeExceptionToParcel(Landroid/os/Parcel;Ljava/lang/Exception;)V" />
+		<field name="STATEMENT_ABORT" since="11" />
+		<field name="STATEMENT_ATTACH" since="11" />
+		<field name="STATEMENT_BEGIN" since="11" />
+		<field name="STATEMENT_COMMIT" since="11" />
+		<field name="STATEMENT_DDL" since="11" />
+		<field name="STATEMENT_OTHER" since="11" />
+		<field name="STATEMENT_PRAGMA" since="11" />
+		<field name="STATEMENT_SELECT" since="11" />
+		<field name="STATEMENT_UNPREPARED" since="11" />
+		<field name="STATEMENT_UPDATE" since="11" />
+	</class>
+	<class name="android/database/DatabaseUtils$InsertHelper" since="1" deprecated="17">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)V" deprecated="29" />
+		<method name="bind(ID)V" deprecated="29" />
+		<method name="bind(IF)V" deprecated="29" />
+		<method name="bind(II)V" deprecated="29" />
+		<method name="bind(IJ)V" deprecated="29" />
+		<method name="bind(ILjava/lang/String;)V" deprecated="29" />
+		<method name="bind(IZ)V" deprecated="29" />
+		<method name="bind(I[B)V" deprecated="29" />
+		<method name="bindNull(I)V" deprecated="29" />
+		<method name="close()V" deprecated="29" />
+		<method name="execute()J" deprecated="29" />
+		<method name="getColumnIndex(Ljava/lang/String;)I" deprecated="29" />
+		<method name="insert(Landroid/content/ContentValues;)J" deprecated="29" />
+		<method name="prepareForInsert()V" deprecated="29" />
+		<method name="prepareForReplace()V" deprecated="29" />
+		<method name="replace(Landroid/content/ContentValues;)J" deprecated="29" />
+		<field name="TABLE_INFO_PRAGMA_DEFAULT_INDEX" removed="17" />
+	</class>
+	<class name="android/database/DefaultDatabaseErrorHandler" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/database/DatabaseErrorHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/database/MatrixCursor" since="1">
+		<extends name="android/database/AbstractCursor" />
+		<method name="&lt;init&gt;([Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;([Ljava/lang/String;I)V" />
+		<method name="addRow(Ljava/lang/Iterable;)V" />
+		<method name="addRow([Ljava/lang/Object;)V" />
+		<method name="newRow()Landroid/database/MatrixCursor$RowBuilder;" />
+	</class>
+	<class name="android/database/MatrixCursor$RowBuilder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="add(Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;" />
+		<method name="add(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;" since="19" />
+	</class>
+	<class name="android/database/MergeCursor" since="1">
+		<extends name="android/database/AbstractCursor" />
+		<method name="&lt;init&gt;([Landroid/database/Cursor;)V" />
+	</class>
+	<class name="android/database/Observable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="registerObserver(Ljava/lang/Object;)V" />
+		<method name="unregisterAll()V" />
+		<method name="unregisterObserver(Ljava/lang/Object;)V" />
+		<field name="mObservers" />
+	</class>
+	<class name="android/database/SQLException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="16" />
+	</class>
+	<class name="android/database/StaleDataException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteAbortException" since="1">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteAccessPermException" since="11">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException" since="11">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteBlobTooBigException" since="11">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteCantOpenDatabaseException" since="11">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteClosable" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" since="16" />
+		<method name="&lt;init&gt;()V" />
+		<method name="acquireReference()V" />
+		<method name="onAllReferencesReleased()V" />
+		<method name="onAllReferencesReleasedFromContainer()V" deprecated="16" />
+		<method name="releaseReference()V" />
+		<method name="releaseReferenceFromContainer()V" deprecated="16" />
+	</class>
+	<class name="android/database/sqlite/SQLiteConstraintException" since="1">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteCursor" since="1">
+		<extends name="android/database/AbstractWindowedCursor" />
+		<method name="&lt;init&gt;(Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)V" since="11" />
+		<method name="&lt;init&gt;(Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)V" deprecated="15" />
+		<method name="getDatabase()Landroid/database/sqlite/SQLiteDatabase;" />
+		<method name="setFillWindowForwardOnly(Z)V" since="28" />
+		<method name="setSelectionArguments([Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteCursorDriver" since="1">
+		<extends name="java/lang/Object" />
+		<method name="cursorClosed()V" />
+		<method name="cursorDeactivated()V" />
+		<method name="cursorRequeried(Landroid/database/Cursor;)V" />
+		<method name="query(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;[Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="setBindArguments([Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabase" since="1">
+		<extends name="android/database/sqlite/SQLiteClosable" />
+		<method name="beginTransaction()V" />
+		<method name="beginTransactionNonExclusive()V" since="11" />
+		<method name="beginTransactionWithListener(Landroid/database/sqlite/SQLiteTransactionListener;)V" since="5" />
+		<method name="beginTransactionWithListenerNonExclusive(Landroid/database/sqlite/SQLiteTransactionListener;)V" since="11" />
+		<method name="close()V" removed="16" />
+		<method name="compileStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;" />
+		<method name="create(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;" />
+		<method name="createInMemory(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;" since="27" />
+		<method name="delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I" />
+		<method name="deleteDatabase(Ljava/io/File;)Z" since="16" />
+		<method name="disableWriteAheadLogging()V" since="16" />
+		<method name="enableWriteAheadLogging()Z" since="11" />
+		<method name="endTransaction()V" />
+		<method name="execPerConnectionSQL(Ljava/lang/String;[Ljava/lang/Object;)V" since="30" />
+		<method name="execSQL(Ljava/lang/String;)V" />
+		<method name="execSQL(Ljava/lang/String;[Ljava/lang/Object;)V" />
+		<method name="findEditTable(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getAttachedDbs()Ljava/util/List;" since="11" />
+		<method name="getMaximumSize()J" />
+		<method name="getPageSize()J" />
+		<method name="getPath()Ljava/lang/String;" />
+		<method name="getSyncedTables()Ljava/util/Map;" deprecated="15" />
+		<method name="getVersion()I" />
+		<method name="inTransaction()Z" />
+		<method name="insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J" />
+		<method name="insertOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J" />
+		<method name="insertWithOnConflict(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;I)J" since="8" />
+		<method name="isDatabaseIntegrityOk()Z" since="11" />
+		<method name="isDbLockedByCurrentThread()Z" />
+		<method name="isDbLockedByOtherThreads()Z" deprecated="16" />
+		<method name="isOpen()Z" />
+		<method name="isReadOnly()Z" />
+		<method name="isWriteAheadLoggingEnabled()Z" since="16" />
+		<method name="markTableSyncable(Ljava/lang/String;Ljava/lang/String;)V" deprecated="15" />
+		<method name="markTableSyncable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="15" />
+		<method name="needUpgrade(I)Z" />
+		<method name="openDatabase(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;" since="27" />
+		<method name="openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;" />
+		<method name="openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;" since="11" />
+		<method name="openOrCreateDatabase(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;" />
+		<method name="openOrCreateDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;" />
+		<method name="openOrCreateDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;" since="11" />
+		<method name="query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16" />
+		<method name="queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16" />
+		<method name="rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="rawQuery(Ljava/lang/String;[Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16" />
+		<method name="rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16" />
+		<method name="releaseMemory()I" />
+		<method name="replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J" />
+		<method name="replaceOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J" />
+		<method name="setCustomAggregateFunction(Ljava/lang/String;Ljava/util/function/BinaryOperator;)V" since="30" />
+		<method name="setCustomScalarFunction(Ljava/lang/String;Ljava/util/function/UnaryOperator;)V" since="30" />
+		<method name="setForeignKeyConstraintsEnabled(Z)V" since="16" />
+		<method name="setLocale(Ljava/util/Locale;)V" />
+		<method name="setLockingEnabled(Z)V" deprecated="16" />
+		<method name="setMaxSqlCacheSize(I)V" since="11" />
+		<method name="setMaximumSize(J)J" />
+		<method name="setPageSize(J)V" />
+		<method name="setTransactionSuccessful()V" />
+		<method name="setVersion(I)V" />
+		<method name="update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I" />
+		<method name="updateWithOnConflict(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;I)I" since="8" />
+		<method name="validateSql(Ljava/lang/String;Landroid/os/CancellationSignal;)V" since="24" />
+		<method name="yieldIfContended()Z" deprecated="15" />
+		<method name="yieldIfContendedSafely()Z" since="3" />
+		<method name="yieldIfContendedSafely(J)Z" since="5" />
+		<field name="CONFLICT_ABORT" since="8" />
+		<field name="CONFLICT_FAIL" since="8" />
+		<field name="CONFLICT_IGNORE" since="8" />
+		<field name="CONFLICT_NONE" since="8" />
+		<field name="CONFLICT_REPLACE" since="8" />
+		<field name="CONFLICT_ROLLBACK" since="8" />
+		<field name="CREATE_IF_NECESSARY" />
+		<field name="ENABLE_WRITE_AHEAD_LOGGING" since="16" />
+		<field name="MAX_SQL_CACHE_SIZE" since="11" />
+		<field name="NO_LOCALIZED_COLLATORS" />
+		<field name="OPEN_READONLY" />
+		<field name="OPEN_READWRITE" />
+		<field name="SQLITE_MAX_LIKE_PATTERN_LENGTH" />
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabase$CursorFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="newCursor(Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)Landroid/database/Cursor;" />
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabase$OpenParams" since="27">
+		<extends name="java/lang/Object" />
+		<method name="getCursorFactory()Landroid/database/sqlite/SQLiteDatabase$CursorFactory;" />
+		<method name="getErrorHandler()Landroid/database/DatabaseErrorHandler;" />
+		<method name="getIdleConnectionTimeout()J" />
+		<method name="getJournalMode()Ljava/lang/String;" since="28" />
+		<method name="getLookasideSlotCount()I" />
+		<method name="getLookasideSlotSize()I" />
+		<method name="getOpenFlags()I" />
+		<method name="getSynchronousMode()Ljava/lang/String;" since="28" />
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabase$OpenParams$Builder" since="27">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V" />
+		<method name="addOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" />
+		<method name="build()Landroid/database/sqlite/SQLiteDatabase$OpenParams;" />
+		<method name="removeOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" />
+		<method name="setCursorFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" />
+		<method name="setErrorHandler(Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" />
+		<method name="setIdleConnectionTimeout(J)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" deprecated="29" />
+		<method name="setJournalMode(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" since="28" />
+		<method name="setLookasideConfig(II)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" />
+		<method name="setOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" />
+		<method name="setSynchronousMode(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" since="28" />
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabaseCorruptException" since="1">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabaseLockedException" since="11">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteDatatypeMismatchException" since="11">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteDiskIOException" since="1">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteDoneException" since="1">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteException" since="1">
+		<extends name="android/database/SQLException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="16" />
+	</class>
+	<class name="android/database/sqlite/SQLiteFullException" since="1">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteMisuseException" since="1">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteOpenHelper" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$OpenParams;)V" since="28" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)V" since="11" />
+		<method name="close()V" />
+		<method name="getDatabaseName()Ljava/lang/String;" since="14" />
+		<method name="getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;" />
+		<method name="getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;" />
+		<method name="onConfigure(Landroid/database/sqlite/SQLiteDatabase;)V" since="16" />
+		<method name="onCreate(Landroid/database/sqlite/SQLiteDatabase;)V" />
+		<method name="onDowngrade(Landroid/database/sqlite/SQLiteDatabase;II)V" since="11" />
+		<method name="onOpen(Landroid/database/sqlite/SQLiteDatabase;)V" />
+		<method name="onUpgrade(Landroid/database/sqlite/SQLiteDatabase;II)V" />
+		<method name="setIdleConnectionTimeout(J)V" since="27" deprecated="29" />
+		<method name="setLookasideConfig(II)V" since="27" />
+		<method name="setOpenParams(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V" since="28" />
+		<method name="setWriteAheadLoggingEnabled(Z)V" since="16" />
+	</class>
+	<class name="android/database/sqlite/SQLiteOutOfMemoryException" since="11">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteProgram" since="1">
+		<extends name="android/database/sqlite/SQLiteClosable" />
+		<method name="bindAllArgsAsStrings([Ljava/lang/String;)V" since="11" />
+		<method name="bindBlob(I[B)V" />
+		<method name="bindDouble(ID)V" />
+		<method name="bindLong(IJ)V" />
+		<method name="bindNull(I)V" />
+		<method name="bindString(ILjava/lang/String;)V" />
+		<method name="clearBindings()V" />
+		<method name="close()V" removed="16" />
+		<method name="compile(Ljava/lang/String;Z)V" deprecated="15" removed="16" />
+		<method name="getUniqueId()I" deprecated="15" />
+		<method name="native_bind_blob(I[B)V" removed="16" />
+		<method name="native_bind_double(ID)V" removed="16" />
+		<method name="native_bind_long(IJ)V" removed="16" />
+		<method name="native_bind_null(I)V" removed="16" />
+		<method name="native_bind_string(ILjava/lang/String;)V" removed="16" />
+		<method name="native_compile(Ljava/lang/String;)V" deprecated="15" removed="16" />
+		<method name="native_finalize()V" deprecated="15" removed="16" />
+		<field name="mDatabase" deprecated="15" removed="16" />
+		<field name="nHandle" deprecated="15" removed="16" />
+		<field name="nStatement" deprecated="15" removed="16" />
+	</class>
+	<class name="android/database/sqlite/SQLiteQuery" since="1">
+		<extends name="android/database/sqlite/SQLiteProgram" />
+	</class>
+	<class name="android/database/sqlite/SQLiteQueryBuilder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)V" />
+		<method name="appendWhere(Ljava/lang/CharSequence;)V" />
+		<method name="appendWhereEscapeString(Ljava/lang/String;)V" />
+		<method name="appendWhereStandalone(Ljava/lang/CharSequence;)V" since="29" />
+		<method name="buildQuery([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="11" />
+		<method name="buildQuery([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="15" />
+		<method name="buildQueryString(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="buildUnionQuery([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="buildUnionSubQuery(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Set;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="11" />
+		<method name="buildUnionSubQuery(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Set;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="15" />
+		<method name="delete(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)I" since="29" />
+		<method name="getCursorFactory()Landroid/database/sqlite/SQLiteDatabase$CursorFactory;" since="29" />
+		<method name="getProjectionGreylist()Ljava/util/Collection;" since="30" />
+		<method name="getProjectionMap()Ljava/util/Map;" since="29" />
+		<method name="getTables()Ljava/lang/String;" />
+		<method name="insert(Landroid/database/sqlite/SQLiteDatabase;Landroid/content/ContentValues;)J" since="30" />
+		<method name="isDistinct()Z" since="29" />
+		<method name="isStrict()Z" since="29" />
+		<method name="isStrictColumns()Z" since="30" />
+		<method name="isStrictGrammar()Z" since="30" />
+		<method name="query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16" />
+		<method name="setCursorFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)V" />
+		<method name="setDistinct(Z)V" />
+		<method name="setProjectionGreylist(Ljava/util/Collection;)V" since="30" />
+		<method name="setProjectionMap(Ljava/util/Map;)V" />
+		<method name="setStrict(Z)V" since="14" />
+		<method name="setStrictColumns(Z)V" since="30" />
+		<method name="setStrictGrammar(Z)V" since="30" />
+		<method name="setTables(Ljava/lang/String;)V" />
+		<method name="update(Landroid/database/sqlite/SQLiteDatabase;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I" since="29" />
+	</class>
+	<class name="android/database/sqlite/SQLiteReadOnlyDatabaseException" since="11">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteStatement" since="1">
+		<extends name="android/database/sqlite/SQLiteProgram" />
+		<method name="execute()V" />
+		<method name="executeInsert()J" />
+		<method name="executeUpdateDelete()I" since="11" />
+		<method name="simpleQueryForBlobFileDescriptor()Landroid/os/ParcelFileDescriptor;" since="11" />
+		<method name="simpleQueryForLong()J" />
+		<method name="simpleQueryForString()Ljava/lang/String;" />
+	</class>
+	<class name="android/database/sqlite/SQLiteTableLockedException" since="11">
+		<extends name="android/database/sqlite/SQLiteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/database/sqlite/SQLiteTransactionListener" since="5">
+		<extends name="java/lang/Object" />
+		<method name="onBegin()V" />
+		<method name="onCommit()V" />
+		<method name="onRollback()V" />
+	</class>
+	<class name="android/drm/DrmConvertedStatus" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I[BI)V" deprecated="30" />
+		<field name="STATUS_ERROR" deprecated="30" />
+		<field name="STATUS_INPUTDATA_ERROR" deprecated="30" />
+		<field name="STATUS_OK" deprecated="30" />
+		<field name="convertedData" deprecated="30" />
+		<field name="offset" deprecated="30" />
+		<field name="statusCode" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmErrorEvent" since="11" deprecated="30">
+		<extends name="android/drm/DrmEvent" />
+		<method name="&lt;init&gt;(IILjava/lang/String;)V" deprecated="30" />
+		<method name="&lt;init&gt;(IILjava/lang/String;Ljava/util/HashMap;)V" since="12" deprecated="30" />
+		<field name="TYPE_ACQUIRE_DRM_INFO_FAILED" since="12" deprecated="30" />
+		<field name="TYPE_NOT_SUPPORTED" deprecated="30" />
+		<field name="TYPE_NO_INTERNET_CONNECTION" deprecated="30" />
+		<field name="TYPE_OUT_OF_MEMORY" deprecated="30" />
+		<field name="TYPE_PROCESS_DRM_INFO_FAILED" deprecated="30" />
+		<field name="TYPE_REMOVE_ALL_RIGHTS_FAILED" deprecated="30" />
+		<field name="TYPE_RIGHTS_NOT_INSTALLED" deprecated="30" />
+		<field name="TYPE_RIGHTS_RENEWAL_NOT_ALLOWED" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmEvent" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IILjava/lang/String;)V" deprecated="30" />
+		<method name="&lt;init&gt;(IILjava/lang/String;Ljava/util/HashMap;)V" since="12" deprecated="30" />
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/Object;" since="12" deprecated="30" />
+		<method name="getMessage()Ljava/lang/String;" deprecated="30" />
+		<method name="getType()I" deprecated="30" />
+		<method name="getUniqueId()I" deprecated="30" />
+		<field name="DRM_INFO_OBJECT" since="12" deprecated="30" />
+		<field name="DRM_INFO_STATUS_OBJECT" deprecated="30" />
+		<field name="TYPE_ALL_RIGHTS_REMOVED" deprecated="30" />
+		<field name="TYPE_DRM_INFO_PROCESSED" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmInfo" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ILjava/lang/String;Ljava/lang/String;)V" deprecated="30" />
+		<method name="&lt;init&gt;(I[BLjava/lang/String;)V" deprecated="30" />
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;" deprecated="30" />
+		<method name="getData()[B" deprecated="30" />
+		<method name="getInfoType()I" deprecated="30" />
+		<method name="getMimeType()Ljava/lang/String;" deprecated="30" />
+		<method name="iterator()Ljava/util/Iterator;" deprecated="30" />
+		<method name="keyIterator()Ljava/util/Iterator;" deprecated="30" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Object;)V" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmInfoEvent" since="11" deprecated="30">
+		<extends name="android/drm/DrmEvent" />
+		<method name="&lt;init&gt;(IILjava/lang/String;)V" deprecated="30" />
+		<method name="&lt;init&gt;(IILjava/lang/String;Ljava/util/HashMap;)V" since="12" deprecated="30" />
+		<field name="TYPE_ACCOUNT_ALREADY_REGISTERED" deprecated="30" />
+		<field name="TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT" deprecated="30" />
+		<field name="TYPE_REMOVE_RIGHTS" deprecated="30" />
+		<field name="TYPE_RIGHTS_INSTALLED" deprecated="30" />
+		<field name="TYPE_RIGHTS_REMOVED" since="12" deprecated="30" />
+		<field name="TYPE_WAIT_FOR_RIGHTS" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmInfoRequest" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" deprecated="30" />
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;" deprecated="30" />
+		<method name="getInfoType()I" deprecated="30" />
+		<method name="getMimeType()Ljava/lang/String;" deprecated="30" />
+		<method name="iterator()Ljava/util/Iterator;" deprecated="30" />
+		<method name="keyIterator()Ljava/util/Iterator;" deprecated="30" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Object;)V" deprecated="30" />
+		<field name="ACCOUNT_ID" deprecated="30" />
+		<field name="SUBSCRIPTION_ID" deprecated="30" />
+		<field name="TYPE_REGISTRATION_INFO" deprecated="30" />
+		<field name="TYPE_RIGHTS_ACQUISITION_INFO" deprecated="30" />
+		<field name="TYPE_RIGHTS_ACQUISITION_PROGRESS_INFO" deprecated="30" />
+		<field name="TYPE_UNREGISTRATION_INFO" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmInfoStatus" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IILandroid/drm/ProcessedData;Ljava/lang/String;)V" deprecated="30" />
+		<field name="STATUS_ERROR" deprecated="30" />
+		<field name="STATUS_OK" deprecated="30" />
+		<field name="data" deprecated="30" />
+		<field name="infoType" deprecated="30" />
+		<field name="mimeType" deprecated="30" />
+		<field name="statusCode" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmManagerClient" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="24" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="30" />
+		<method name="acquireDrmInfo(Landroid/drm/DrmInfoRequest;)Landroid/drm/DrmInfo;" deprecated="30" />
+		<method name="acquireRights(Landroid/drm/DrmInfoRequest;)I" deprecated="30" />
+		<method name="canHandle(Landroid/net/Uri;Ljava/lang/String;)Z" deprecated="30" />
+		<method name="canHandle(Ljava/lang/String;Ljava/lang/String;)Z" deprecated="30" />
+		<method name="checkRightsStatus(Landroid/net/Uri;)I" deprecated="30" />
+		<method name="checkRightsStatus(Landroid/net/Uri;I)I" deprecated="30" />
+		<method name="checkRightsStatus(Ljava/lang/String;)I" deprecated="30" />
+		<method name="checkRightsStatus(Ljava/lang/String;I)I" deprecated="30" />
+		<method name="closeConvertSession(I)Landroid/drm/DrmConvertedStatus;" deprecated="30" />
+		<method name="convertData(I[B)Landroid/drm/DrmConvertedStatus;" deprecated="30" />
+		<method name="getAvailableDrmEngines()[Ljava/lang/String;" deprecated="30" />
+		<method name="getAvailableDrmSupportInfo()Ljava/util/Collection;" since="30" deprecated="30" />
+		<method name="getConstraints(Landroid/net/Uri;I)Landroid/content/ContentValues;" deprecated="30" />
+		<method name="getConstraints(Ljava/lang/String;I)Landroid/content/ContentValues;" deprecated="30" />
+		<method name="getDrmObjectType(Landroid/net/Uri;Ljava/lang/String;)I" deprecated="30" />
+		<method name="getDrmObjectType(Ljava/lang/String;Ljava/lang/String;)I" deprecated="30" />
+		<method name="getMetadata(Landroid/net/Uri;)Landroid/content/ContentValues;" deprecated="30" />
+		<method name="getMetadata(Ljava/lang/String;)Landroid/content/ContentValues;" deprecated="30" />
+		<method name="getOriginalMimeType(Landroid/net/Uri;)Ljava/lang/String;" deprecated="30" />
+		<method name="getOriginalMimeType(Ljava/lang/String;)Ljava/lang/String;" deprecated="30" />
+		<method name="openConvertSession(Ljava/lang/String;)I" deprecated="30" />
+		<method name="processDrmInfo(Landroid/drm/DrmInfo;)I" deprecated="30" />
+		<method name="release()V" since="16" deprecated="24" />
+		<method name="removeAllRights()I" deprecated="30" />
+		<method name="removeRights(Landroid/net/Uri;)I" deprecated="30" />
+		<method name="removeRights(Ljava/lang/String;)I" deprecated="30" />
+		<method name="saveRights(Landroid/drm/DrmRights;Ljava/lang/String;Ljava/lang/String;)I" deprecated="30" />
+		<method name="setOnErrorListener(Landroid/drm/DrmManagerClient$OnErrorListener;)V" deprecated="30" />
+		<method name="setOnEventListener(Landroid/drm/DrmManagerClient$OnEventListener;)V" deprecated="30" />
+		<method name="setOnInfoListener(Landroid/drm/DrmManagerClient$OnInfoListener;)V" deprecated="30" />
+		<field name="ERROR_NONE" deprecated="30" />
+		<field name="ERROR_UNKNOWN" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmManagerClient$OnErrorListener" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="onError(Landroid/drm/DrmManagerClient;Landroid/drm/DrmErrorEvent;)V" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmManagerClient$OnEventListener" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="onEvent(Landroid/drm/DrmManagerClient;Landroid/drm/DrmEvent;)V" since="12" deprecated="30" />
+		<method name="onEvent(Landroid/drm/DrmManagerClient;Landroid/drm/DrmEvent;Ljava/util/HashMap;)V" removed="12" />
+	</class>
+	<class name="android/drm/DrmManagerClient$OnInfoListener" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="onInfo(Landroid/drm/DrmManagerClient;Landroid/drm/DrmInfoEvent;)V" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmRights" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/drm/ProcessedData;Ljava/lang/String;)V" deprecated="30" />
+		<method name="&lt;init&gt;(Ljava/io/File;Ljava/lang/String;)V" deprecated="30" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" deprecated="30" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="30" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="30" />
+		<method name="getAccountId()Ljava/lang/String;" deprecated="30" />
+		<method name="getData()[B" deprecated="30" />
+		<method name="getMimeType()Ljava/lang/String;" deprecated="30" />
+		<method name="getSubscriptionId()Ljava/lang/String;" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmStore" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="16" />
+	</class>
+	<class name="android/drm/DrmStore$Action" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="16" />
+		<field name="DEFAULT" deprecated="30" />
+		<field name="DISPLAY" deprecated="30" />
+		<field name="EXECUTE" deprecated="30" />
+		<field name="OUTPUT" deprecated="30" />
+		<field name="PLAY" deprecated="30" />
+		<field name="PREVIEW" deprecated="30" />
+		<field name="RINGTONE" deprecated="30" />
+		<field name="TRANSFER" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmStore$ConstraintsColumns" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<field name="EXTENDED_METADATA" deprecated="30" />
+		<field name="LICENSE_AVAILABLE_TIME" deprecated="30" />
+		<field name="LICENSE_EXPIRY_TIME" deprecated="30" />
+		<field name="LICENSE_START_TIME" deprecated="30" />
+		<field name="MAX_REPEAT_COUNT" deprecated="30" />
+		<field name="REMAINING_REPEAT_COUNT" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmStore$DrmObjectType" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="16" />
+		<field name="CONTENT" deprecated="30" />
+		<field name="RIGHTS_OBJECT" deprecated="30" />
+		<field name="TRIGGER_OBJECT" deprecated="30" />
+		<field name="UNKNOWN" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmStore$Playback" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="16" />
+		<field name="PAUSE" deprecated="30" />
+		<field name="RESUME" deprecated="30" />
+		<field name="START" deprecated="30" />
+		<field name="STOP" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmStore$RightsStatus" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="16" />
+		<field name="RIGHTS_EXPIRED" deprecated="30" />
+		<field name="RIGHTS_INVALID" deprecated="30" />
+		<field name="RIGHTS_NOT_ACQUIRED" deprecated="30" />
+		<field name="RIGHTS_VALID" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmSupportInfo" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="addFileSuffix(Ljava/lang/String;)V" deprecated="30" />
+		<method name="addMimeType(Ljava/lang/String;)V" deprecated="30" />
+		<method name="getDescriprition()Ljava/lang/String;" deprecated="16" />
+		<method name="getDescription()Ljava/lang/String;" since="16" deprecated="30" />
+		<method name="getFileSuffixIterator()Ljava/util/Iterator;" deprecated="30" />
+		<method name="getMimeTypeIterator()Ljava/util/Iterator;" deprecated="30" />
+		<method name="setDescription(Ljava/lang/String;)V" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmUtils" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="getExtendedMetadataParser([B)Landroid/drm/DrmUtils$ExtendedMetadataParser;" deprecated="30" />
+	</class>
+	<class name="android/drm/DrmUtils$ExtendedMetadataParser" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="get(Ljava/lang/String;)Ljava/lang/String;" deprecated="30" />
+		<method name="iterator()Ljava/util/Iterator;" deprecated="30" />
+		<method name="keyIterator()Ljava/util/Iterator;" deprecated="30" />
+	</class>
+	<class name="android/drm/ProcessedData" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="getAccountId()Ljava/lang/String;" deprecated="30" />
+		<method name="getData()[B" deprecated="30" />
+		<method name="getSubscriptionId()Ljava/lang/String;" deprecated="30" />
+	</class>
+	<class name="android/gesture/Gesture" since="4">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addStroke(Landroid/gesture/GestureStroke;)V" />
+		<method name="getBoundingBox()Landroid/graphics/RectF;" />
+		<method name="getID()J" />
+		<method name="getLength()F" />
+		<method name="getStrokes()Ljava/util/ArrayList;" />
+		<method name="getStrokesCount()I" />
+		<method name="toBitmap(IIII)Landroid/graphics/Bitmap;" />
+		<method name="toBitmap(IIIII)Landroid/graphics/Bitmap;" />
+		<method name="toPath()Landroid/graphics/Path;" />
+		<method name="toPath(IIII)Landroid/graphics/Path;" />
+		<method name="toPath(Landroid/graphics/Path;)Landroid/graphics/Path;" />
+		<method name="toPath(Landroid/graphics/Path;IIII)Landroid/graphics/Path;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/gesture/GestureLibraries" since="4">
+		<extends name="java/lang/Object" />
+		<method name="fromFile(Ljava/io/File;)Landroid/gesture/GestureLibrary;" />
+		<method name="fromFile(Ljava/lang/String;)Landroid/gesture/GestureLibrary;" />
+		<method name="fromFileDescriptor(Landroid/os/ParcelFileDescriptor;)Landroid/gesture/GestureLibrary;" since="30" />
+		<method name="fromPrivateFile(Landroid/content/Context;Ljava/lang/String;)Landroid/gesture/GestureLibrary;" />
+		<method name="fromRawResource(Landroid/content/Context;I)Landroid/gesture/GestureLibrary;" />
+	</class>
+	<class name="android/gesture/GestureLibrary" since="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addGesture(Ljava/lang/String;Landroid/gesture/Gesture;)V" />
+		<method name="getGestureEntries()Ljava/util/Set;" />
+		<method name="getGestures(Ljava/lang/String;)Ljava/util/ArrayList;" />
+		<method name="getOrientationStyle()I" />
+		<method name="getSequenceType()I" />
+		<method name="isReadOnly()Z" />
+		<method name="load()Z" />
+		<method name="recognize(Landroid/gesture/Gesture;)Ljava/util/ArrayList;" />
+		<method name="removeEntry(Ljava/lang/String;)V" />
+		<method name="removeGesture(Ljava/lang/String;Landroid/gesture/Gesture;)V" />
+		<method name="save()Z" />
+		<method name="setOrientationStyle(I)V" />
+		<method name="setSequenceType(I)V" />
+		<field name="mStore" />
+	</class>
+	<class name="android/gesture/GestureOverlayView" since="4">
+		<extends name="android/widget/FrameLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="addOnGestureListener(Landroid/gesture/GestureOverlayView$OnGestureListener;)V" />
+		<method name="addOnGesturePerformedListener(Landroid/gesture/GestureOverlayView$OnGesturePerformedListener;)V" />
+		<method name="addOnGesturingListener(Landroid/gesture/GestureOverlayView$OnGesturingListener;)V" />
+		<method name="cancelClearAnimation()V" />
+		<method name="cancelGesture()V" />
+		<method name="clear(Z)V" />
+		<method name="getCurrentStroke()Ljava/util/ArrayList;" />
+		<method name="getFadeOffset()J" />
+		<method name="getGesture()Landroid/gesture/Gesture;" />
+		<method name="getGestureColor()I" />
+		<method name="getGesturePath()Landroid/graphics/Path;" />
+		<method name="getGesturePath(Landroid/graphics/Path;)Landroid/graphics/Path;" />
+		<method name="getGestureStrokeAngleThreshold()F" />
+		<method name="getGestureStrokeLengthThreshold()F" />
+		<method name="getGestureStrokeSquarenessTreshold()F" />
+		<method name="getGestureStrokeType()I" />
+		<method name="getGestureStrokeWidth()F" />
+		<method name="getOrientation()I" />
+		<method name="getUncertainGestureColor()I" />
+		<method name="isEventsInterceptionEnabled()Z" />
+		<method name="isFadeEnabled()Z" />
+		<method name="isGestureVisible()Z" />
+		<method name="isGesturing()Z" />
+		<method name="removeAllOnGestureListeners()V" />
+		<method name="removeAllOnGesturePerformedListeners()V" />
+		<method name="removeAllOnGesturingListeners()V" />
+		<method name="removeOnGestureListener(Landroid/gesture/GestureOverlayView$OnGestureListener;)V" />
+		<method name="removeOnGesturePerformedListener(Landroid/gesture/GestureOverlayView$OnGesturePerformedListener;)V" />
+		<method name="removeOnGesturingListener(Landroid/gesture/GestureOverlayView$OnGesturingListener;)V" />
+		<method name="setEventsInterceptionEnabled(Z)V" />
+		<method name="setFadeEnabled(Z)V" />
+		<method name="setFadeOffset(J)V" />
+		<method name="setGesture(Landroid/gesture/Gesture;)V" />
+		<method name="setGestureColor(I)V" />
+		<method name="setGestureStrokeAngleThreshold(F)V" />
+		<method name="setGestureStrokeLengthThreshold(F)V" />
+		<method name="setGestureStrokeSquarenessTreshold(F)V" />
+		<method name="setGestureStrokeType(I)V" />
+		<method name="setGestureStrokeWidth(F)V" />
+		<method name="setGestureVisible(Z)V" />
+		<method name="setOrientation(I)V" />
+		<method name="setUncertainGestureColor(I)V" />
+		<field name="GESTURE_STROKE_TYPE_MULTIPLE" />
+		<field name="GESTURE_STROKE_TYPE_SINGLE" />
+		<field name="ORIENTATION_HORIZONTAL" />
+		<field name="ORIENTATION_VERTICAL" />
+	</class>
+	<class name="android/gesture/GestureOverlayView$OnGestureListener" since="4">
+		<extends name="java/lang/Object" />
+		<method name="onGesture(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V" />
+		<method name="onGestureCancelled(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V" />
+		<method name="onGestureEnded(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V" />
+		<method name="onGestureStarted(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V" />
+	</class>
+	<class name="android/gesture/GestureOverlayView$OnGesturePerformedListener" since="4">
+		<extends name="java/lang/Object" />
+		<method name="onGesturePerformed(Landroid/gesture/GestureOverlayView;Landroid/gesture/Gesture;)V" />
+	</class>
+	<class name="android/gesture/GestureOverlayView$OnGesturingListener" since="4">
+		<extends name="java/lang/Object" />
+		<method name="onGesturingEnded(Landroid/gesture/GestureOverlayView;)V" />
+		<method name="onGesturingStarted(Landroid/gesture/GestureOverlayView;)V" />
+	</class>
+	<class name="android/gesture/GesturePoint" since="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(FFJ)V" />
+		<field name="timestamp" />
+		<field name="x" />
+		<field name="y" />
+	</class>
+	<class name="android/gesture/GestureStore" since="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addGesture(Ljava/lang/String;Landroid/gesture/Gesture;)V" />
+		<method name="getGestureEntries()Ljava/util/Set;" />
+		<method name="getGestures(Ljava/lang/String;)Ljava/util/ArrayList;" />
+		<method name="getOrientationStyle()I" />
+		<method name="getSequenceType()I" />
+		<method name="hasChanged()Z" />
+		<method name="load(Ljava/io/InputStream;)V" />
+		<method name="load(Ljava/io/InputStream;Z)V" />
+		<method name="recognize(Landroid/gesture/Gesture;)Ljava/util/ArrayList;" />
+		<method name="removeEntry(Ljava/lang/String;)V" />
+		<method name="removeGesture(Ljava/lang/String;Landroid/gesture/Gesture;)V" />
+		<method name="save(Ljava/io/OutputStream;)V" />
+		<method name="save(Ljava/io/OutputStream;Z)V" />
+		<method name="setOrientationStyle(I)V" />
+		<method name="setSequenceType(I)V" />
+		<field name="ORIENTATION_INVARIANT" />
+		<field name="ORIENTATION_SENSITIVE" />
+		<field name="SEQUENCE_INVARIANT" />
+		<field name="SEQUENCE_SENSITIVE" />
+	</class>
+	<class name="android/gesture/GestureStroke" since="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/util/ArrayList;)V" />
+		<method name="clearPath()V" />
+		<method name="computeOrientedBoundingBox()Landroid/gesture/OrientedBoundingBox;" />
+		<method name="getPath()Landroid/graphics/Path;" />
+		<method name="toPath(FFI)Landroid/graphics/Path;" />
+		<field name="boundingBox" />
+		<field name="length" />
+		<field name="points" />
+	</class>
+	<class name="android/gesture/GestureUtils" since="8">
+		<extends name="java/lang/Object" />
+		<method name="computeOrientedBoundingBox(Ljava/util/ArrayList;)Landroid/gesture/OrientedBoundingBox;" />
+		<method name="computeOrientedBoundingBox([F)Landroid/gesture/OrientedBoundingBox;" />
+		<method name="spatialSampling(Landroid/gesture/Gesture;I)[F" />
+		<method name="spatialSampling(Landroid/gesture/Gesture;IZ)[F" />
+		<method name="temporalSampling(Landroid/gesture/GestureStroke;I)[F" />
+	</class>
+	<class name="android/gesture/OrientedBoundingBox" since="4">
+		<extends name="java/lang/Object" />
+		<field name="centerX" />
+		<field name="centerY" />
+		<field name="height" />
+		<field name="orientation" />
+		<field name="squareness" />
+		<field name="width" />
+	</class>
+	<class name="android/gesture/Prediction" since="4">
+		<extends name="java/lang/Object" />
+		<field name="name" />
+		<field name="score" />
+	</class>
+	<class name="android/graphics/AvoidXfermode" since="1" deprecated="16" removed="24">
+		<extends name="android/graphics/Xfermode" />
+		<method name="&lt;init&gt;(IILandroid/graphics/AvoidXfermode$Mode;)V" />
+	</class>
+	<class name="android/graphics/AvoidXfermode$Mode" since="1" removed="24">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/AvoidXfermode$Mode;" />
+		<method name="values()[Landroid/graphics/AvoidXfermode$Mode;" />
+		<field name="AVOID" />
+		<field name="TARGET" />
+	</class>
+	<class name="android/graphics/Bitmap" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="asShared()Landroid/graphics/Bitmap;" since="31" />
+		<method name="compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z" />
+		<method name="copy(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;" />
+		<method name="copyPixelsFromBuffer(Ljava/nio/Buffer;)V" since="3" />
+		<method name="copyPixelsToBuffer(Ljava/nio/Buffer;)V" />
+		<method name="createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" />
+		<method name="createBitmap(IILandroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;" since="26" />
+		<method name="createBitmap(IILandroid/graphics/Bitmap$Config;ZLandroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;" since="26" />
+		<method name="createBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;" />
+		<method name="createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;" />
+		<method name="createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;" />
+		<method name="createBitmap(Landroid/graphics/Picture;)Landroid/graphics/Bitmap;" since="28" />
+		<method name="createBitmap(Landroid/graphics/Picture;IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" since="28" />
+		<method name="createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" since="17" />
+		<method name="createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;" since="26" />
+		<method name="createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;ZLandroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;" since="26" />
+		<method name="createBitmap(Landroid/util/DisplayMetrics;[IIIIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" since="17" />
+		<method name="createBitmap(Landroid/util/DisplayMetrics;[IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" since="17" />
+		<method name="createBitmap([IIIIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" />
+		<method name="createBitmap([IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" />
+		<method name="createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap;" />
+		<method name="eraseColor(I)V" />
+		<method name="eraseColor(J)V" since="29" />
+		<method name="extractAlpha()Landroid/graphics/Bitmap;" />
+		<method name="extractAlpha(Landroid/graphics/Paint;[I)Landroid/graphics/Bitmap;" />
+		<method name="getAllocationByteCount()I" since="19" />
+		<method name="getByteCount()I" since="12" />
+		<method name="getColor(II)Landroid/graphics/Color;" since="29" />
+		<method name="getColorSpace()Landroid/graphics/ColorSpace;" since="26" />
+		<method name="getConfig()Landroid/graphics/Bitmap$Config;" />
+		<method name="getDensity()I" since="4" />
+		<method name="getGenerationId()I" since="12" />
+		<method name="getHardwareBuffer()Landroid/hardware/HardwareBuffer;" since="31" />
+		<method name="getHeight()I" />
+		<method name="getNinePatchChunk()[B" />
+		<method name="getPixel(II)I" />
+		<method name="getPixels([IIIIIII)V" />
+		<method name="getRowBytes()I" />
+		<method name="getScaledHeight(I)I" since="4" />
+		<method name="getScaledHeight(Landroid/graphics/Canvas;)I" since="4" />
+		<method name="getScaledHeight(Landroid/util/DisplayMetrics;)I" since="4" />
+		<method name="getScaledWidth(I)I" since="4" />
+		<method name="getScaledWidth(Landroid/graphics/Canvas;)I" since="4" />
+		<method name="getScaledWidth(Landroid/util/DisplayMetrics;)I" since="4" />
+		<method name="getWidth()I" />
+		<method name="hasAlpha()Z" />
+		<method name="hasMipMap()Z" since="17" />
+		<method name="isMutable()Z" />
+		<method name="isPremultiplied()Z" since="17" />
+		<method name="isRecycled()Z" />
+		<method name="prepareToDraw()V" since="4" />
+		<method name="reconfigure(IILandroid/graphics/Bitmap$Config;)V" since="19" />
+		<method name="recycle()V" />
+		<method name="sameAs(Landroid/graphics/Bitmap;)Z" since="12" />
+		<method name="setColorSpace(Landroid/graphics/ColorSpace;)V" since="29" />
+		<method name="setConfig(Landroid/graphics/Bitmap$Config;)V" since="19" />
+		<method name="setDensity(I)V" since="4" />
+		<method name="setHasAlpha(Z)V" since="12" />
+		<method name="setHasMipMap(Z)V" since="17" />
+		<method name="setHeight(I)V" since="19" />
+		<method name="setPixel(III)V" />
+		<method name="setPixels([IIIIIII)V" />
+		<method name="setPremultiplied(Z)V" since="19" />
+		<method name="setWidth(I)V" since="19" />
+		<method name="wrapHardwareBuffer(Landroid/hardware/HardwareBuffer;Landroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;" since="29" />
+		<field name="CREATOR" />
+		<field name="DENSITY_NONE" since="4" />
+	</class>
+	<class name="android/graphics/Bitmap$CompressFormat" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Bitmap$CompressFormat;" />
+		<method name="values()[Landroid/graphics/Bitmap$CompressFormat;" />
+		<field name="JPEG" />
+		<field name="PNG" />
+		<field name="WEBP" since="14" deprecated="30" />
+		<field name="WEBP_LOSSLESS" since="30" />
+		<field name="WEBP_LOSSY" since="30" />
+	</class>
+	<class name="android/graphics/Bitmap$Config" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Bitmap$Config;" />
+		<method name="values()[Landroid/graphics/Bitmap$Config;" />
+		<field name="ALPHA_8" />
+		<field name="ARGB_4444" deprecated="29" />
+		<field name="ARGB_8888" />
+		<field name="HARDWARE" since="26" />
+		<field name="RGBA_F16" since="26" />
+		<field name="RGB_565" />
+	</class>
+	<class name="android/graphics/BitmapFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="decodeByteArray([BII)Landroid/graphics/Bitmap;" />
+		<method name="decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" />
+		<method name="decodeFile(Ljava/lang/String;)Landroid/graphics/Bitmap;" />
+		<method name="decodeFile(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" />
+		<method name="decodeFileDescriptor(Ljava/io/FileDescriptor;)Landroid/graphics/Bitmap;" />
+		<method name="decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" />
+		<method name="decodeResource(Landroid/content/res/Resources;I)Landroid/graphics/Bitmap;" />
+		<method name="decodeResource(Landroid/content/res/Resources;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" />
+		<method name="decodeResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" since="4" />
+		<method name="decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;" />
+		<method name="decodeStream(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" />
+	</class>
+	<class name="android/graphics/BitmapFactory$Options" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="requestCancelDecode()V" deprecated="24" />
+		<field name="inBitmap" since="11" />
+		<field name="inDensity" since="4" />
+		<field name="inDither" deprecated="24" />
+		<field name="inInputShareable" since="4" deprecated="21" />
+		<field name="inJustDecodeBounds" />
+		<field name="inMutable" since="11" />
+		<field name="inPreferQualityOverSpeed" since="10" deprecated="24" />
+		<field name="inPreferredColorSpace" since="26" />
+		<field name="inPreferredConfig" />
+		<field name="inPremultiplied" since="19" />
+		<field name="inPurgeable" since="4" deprecated="21" />
+		<field name="inSampleSize" />
+		<field name="inScaled" since="4" />
+		<field name="inScreenDensity" since="4" />
+		<field name="inTargetDensity" since="4" />
+		<field name="inTempStorage" />
+		<field name="mCancel" deprecated="24" />
+		<field name="outColorSpace" since="26" />
+		<field name="outConfig" since="26" />
+		<field name="outHeight" />
+		<field name="outMimeType" />
+		<field name="outWidth" />
+	</class>
+	<class name="android/graphics/BitmapRegionDecoder" since="10">
+		<extends name="java/lang/Object" />
+		<method name="decodeRegion(Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" />
+		<method name="getHeight()I" />
+		<method name="getWidth()I" />
+		<method name="isRecycled()Z" />
+		<method name="newInstance(Landroid/os/ParcelFileDescriptor;)Landroid/graphics/BitmapRegionDecoder;" since="31" />
+		<method name="newInstance(Ljava/io/FileDescriptor;Z)Landroid/graphics/BitmapRegionDecoder;" deprecated="31" />
+		<method name="newInstance(Ljava/io/InputStream;)Landroid/graphics/BitmapRegionDecoder;" since="31" />
+		<method name="newInstance(Ljava/io/InputStream;Z)Landroid/graphics/BitmapRegionDecoder;" deprecated="31" />
+		<method name="newInstance(Ljava/lang/String;)Landroid/graphics/BitmapRegionDecoder;" since="31" />
+		<method name="newInstance(Ljava/lang/String;Z)Landroid/graphics/BitmapRegionDecoder;" deprecated="31" />
+		<method name="newInstance([BII)Landroid/graphics/BitmapRegionDecoder;" since="31" />
+		<method name="newInstance([BIIZ)Landroid/graphics/BitmapRegionDecoder;" deprecated="31" />
+		<method name="recycle()V" />
+	</class>
+	<class name="android/graphics/BitmapShader" since="1">
+		<extends name="android/graphics/Shader" />
+		<method name="&lt;init&gt;(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V" />
+	</class>
+	<class name="android/graphics/BlendMode" since="29">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/BlendMode;" />
+		<method name="values()[Landroid/graphics/BlendMode;" />
+		<field name="CLEAR" />
+		<field name="COLOR" />
+		<field name="COLOR_BURN" />
+		<field name="COLOR_DODGE" />
+		<field name="DARKEN" />
+		<field name="DIFFERENCE" />
+		<field name="DST" />
+		<field name="DST_ATOP" />
+		<field name="DST_IN" />
+		<field name="DST_OUT" />
+		<field name="DST_OVER" />
+		<field name="EXCLUSION" />
+		<field name="HARD_LIGHT" />
+		<field name="HUE" />
+		<field name="LIGHTEN" />
+		<field name="LUMINOSITY" />
+		<field name="MODULATE" />
+		<field name="MULTIPLY" />
+		<field name="OVERLAY" />
+		<field name="PLUS" />
+		<field name="SATURATION" />
+		<field name="SCREEN" />
+		<field name="SOFT_LIGHT" />
+		<field name="SRC" />
+		<field name="SRC_ATOP" />
+		<field name="SRC_IN" />
+		<field name="SRC_OUT" />
+		<field name="SRC_OVER" />
+		<field name="XOR" />
+	</class>
+	<class name="android/graphics/BlendModeColorFilter" since="29">
+		<extends name="android/graphics/ColorFilter" />
+		<method name="&lt;init&gt;(ILandroid/graphics/BlendMode;)V" />
+		<method name="getColor()I" />
+		<method name="getMode()Landroid/graphics/BlendMode;" />
+	</class>
+	<class name="android/graphics/BlurMaskFilter" since="1">
+		<extends name="android/graphics/MaskFilter" />
+		<method name="&lt;init&gt;(FLandroid/graphics/BlurMaskFilter$Blur;)V" />
+	</class>
+	<class name="android/graphics/BlurMaskFilter$Blur" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/BlurMaskFilter$Blur;" />
+		<method name="values()[Landroid/graphics/BlurMaskFilter$Blur;" />
+		<field name="INNER" />
+		<field name="NORMAL" />
+		<field name="OUTER" />
+		<field name="SOLID" />
+	</class>
+	<class name="android/graphics/Camera" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="applyToCanvas(Landroid/graphics/Canvas;)V" />
+		<method name="dotWithNormal(FFF)F" />
+		<method name="getLocationX()F" since="16" />
+		<method name="getLocationY()F" since="16" />
+		<method name="getLocationZ()F" since="16" />
+		<method name="getMatrix(Landroid/graphics/Matrix;)V" />
+		<method name="restore()V" />
+		<method name="rotate(FFF)V" since="12" />
+		<method name="rotateX(F)V" />
+		<method name="rotateY(F)V" />
+		<method name="rotateZ(F)V" />
+		<method name="save()V" />
+		<method name="setLocation(FFF)V" since="12" />
+		<method name="translate(FFF)V" />
+	</class>
+	<class name="android/graphics/Canvas" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Bitmap;)V" />
+		<method name="&lt;init&gt;(Ljavax/microedition/khronos/opengles/GL;)V" removed="11" />
+		<method name="clipOutPath(Landroid/graphics/Path;)Z" since="26" />
+		<method name="clipOutRect(FFFF)Z" since="26" />
+		<method name="clipOutRect(IIII)Z" since="26" />
+		<method name="clipOutRect(Landroid/graphics/Rect;)Z" since="26" />
+		<method name="clipOutRect(Landroid/graphics/RectF;)Z" since="26" />
+		<method name="clipPath(Landroid/graphics/Path;)Z" />
+		<method name="clipPath(Landroid/graphics/Path;Landroid/graphics/Region$Op;)Z" deprecated="26" />
+		<method name="clipRect(FFFF)Z" />
+		<method name="clipRect(FFFFLandroid/graphics/Region$Op;)Z" deprecated="26" />
+		<method name="clipRect(IIII)Z" />
+		<method name="clipRect(Landroid/graphics/Rect;)Z" />
+		<method name="clipRect(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z" deprecated="26" />
+		<method name="clipRect(Landroid/graphics/RectF;)Z" />
+		<method name="clipRect(Landroid/graphics/RectF;Landroid/graphics/Region$Op;)Z" deprecated="26" />
+		<method name="clipRegion(Landroid/graphics/Region;)Z" deprecated="21" removed="26" />
+		<method name="clipRegion(Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z" deprecated="21" removed="26" />
+		<method name="concat(Landroid/graphics/Matrix;)V" />
+		<method name="disableZ()V" since="29" />
+		<method name="drawARGB(IIII)V" />
+		<method name="drawArc(FFFFFFZLandroid/graphics/Paint;)V" since="21" />
+		<method name="drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V" />
+		<method name="drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V" />
+		<method name="drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V" />
+		<method name="drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V" />
+		<method name="drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V" />
+		<method name="drawBitmap([IIIFFIIZLandroid/graphics/Paint;)V" since="3" deprecated="21" />
+		<method name="drawBitmap([IIIIIIIZLandroid/graphics/Paint;)V" deprecated="21" />
+		<method name="drawBitmapMesh(Landroid/graphics/Bitmap;II[FI[IILandroid/graphics/Paint;)V" />
+		<method name="drawCircle(FFFLandroid/graphics/Paint;)V" />
+		<method name="drawColor(I)V" />
+		<method name="drawColor(ILandroid/graphics/BlendMode;)V" since="29" />
+		<method name="drawColor(ILandroid/graphics/PorterDuff$Mode;)V" />
+		<method name="drawColor(J)V" since="29" />
+		<method name="drawColor(JLandroid/graphics/BlendMode;)V" since="29" />
+		<method name="drawDoubleRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/RectF;FFLandroid/graphics/Paint;)V" since="29" />
+		<method name="drawDoubleRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/RectF;[FLandroid/graphics/Paint;)V" since="29" />
+		<method name="drawGlyphs([II[FIILandroid/graphics/fonts/Font;Landroid/graphics/Paint;)V" since="31" />
+		<method name="drawLine(FFFFLandroid/graphics/Paint;)V" />
+		<method name="drawLines([FIILandroid/graphics/Paint;)V" />
+		<method name="drawLines([FLandroid/graphics/Paint;)V" />
+		<method name="drawOval(FFFFLandroid/graphics/Paint;)V" since="21" />
+		<method name="drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V" />
+		<method name="drawPaint(Landroid/graphics/Paint;)V" />
+		<method name="drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V" since="31" />
+		<method name="drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/RectF;Landroid/graphics/Paint;)V" since="31" />
+		<method name="drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V" />
+		<method name="drawPicture(Landroid/graphics/Picture;)V" />
+		<method name="drawPicture(Landroid/graphics/Picture;Landroid/graphics/Rect;)V" />
+		<method name="drawPicture(Landroid/graphics/Picture;Landroid/graphics/RectF;)V" />
+		<method name="drawPoint(FFLandroid/graphics/Paint;)V" />
+		<method name="drawPoints([FIILandroid/graphics/Paint;)V" />
+		<method name="drawPoints([FLandroid/graphics/Paint;)V" />
+		<method name="drawPosText(Ljava/lang/String;[FLandroid/graphics/Paint;)V" deprecated="16" />
+		<method name="drawPosText([CII[FLandroid/graphics/Paint;)V" deprecated="16" />
+		<method name="drawRGB(III)V" />
+		<method name="drawRect(FFFFLandroid/graphics/Paint;)V" />
+		<method name="drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V" />
+		<method name="drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V" />
+		<method name="drawRenderNode(Landroid/graphics/RenderNode;)V" since="29" />
+		<method name="drawRoundRect(FFFFFFLandroid/graphics/Paint;)V" since="21" />
+		<method name="drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V" />
+		<method name="drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V" />
+		<method name="drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V" />
+		<method name="drawText(Ljava/lang/String;IIFFLandroid/graphics/Paint;)V" />
+		<method name="drawText([CIIFFLandroid/graphics/Paint;)V" />
+		<method name="drawTextOnPath(Ljava/lang/String;Landroid/graphics/Path;FFLandroid/graphics/Paint;)V" />
+		<method name="drawTextOnPath([CIILandroid/graphics/Path;FFLandroid/graphics/Paint;)V" />
+		<method name="drawTextRun(Landroid/graphics/text/MeasuredText;IIIIFFZLandroid/graphics/Paint;)V" since="29" />
+		<method name="drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V" since="23" />
+		<method name="drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V" since="23" />
+		<method name="drawVertices(Landroid/graphics/Canvas$VertexMode;I[FI[FI[II[SIILandroid/graphics/Paint;)V" />
+		<method name="enableZ()V" since="29" />
+		<method name="freeGlCaches()V" removed="11" />
+		<method name="getClipBounds()Landroid/graphics/Rect;" />
+		<method name="getClipBounds(Landroid/graphics/Rect;)Z" />
+		<method name="getDensity()I" since="4" />
+		<method name="getDrawFilter()Landroid/graphics/DrawFilter;" />
+		<method name="getGL()Ljavax/microedition/khronos/opengles/GL;" removed="11" />
+		<method name="getHeight()I" />
+		<method name="getMatrix()Landroid/graphics/Matrix;" deprecated="16" />
+		<method name="getMatrix(Landroid/graphics/Matrix;)V" deprecated="16" />
+		<method name="getMaximumBitmapHeight()I" since="14" />
+		<method name="getMaximumBitmapWidth()I" since="14" />
+		<method name="getSaveCount()I" />
+		<method name="getWidth()I" />
+		<method name="isHardwareAccelerated()Z" since="11" />
+		<method name="isOpaque()Z" />
+		<method name="quickReject(FFFF)Z" since="30" />
+		<method name="quickReject(FFFFLandroid/graphics/Canvas$EdgeType;)Z" deprecated="30" />
+		<method name="quickReject(Landroid/graphics/Path;)Z" since="30" />
+		<method name="quickReject(Landroid/graphics/Path;Landroid/graphics/Canvas$EdgeType;)Z" deprecated="30" />
+		<method name="quickReject(Landroid/graphics/RectF;)Z" since="30" />
+		<method name="quickReject(Landroid/graphics/RectF;Landroid/graphics/Canvas$EdgeType;)Z" deprecated="30" />
+		<method name="restore()V" />
+		<method name="restoreToCount(I)V" />
+		<method name="rotate(F)V" />
+		<method name="rotate(FFF)V" />
+		<method name="save()I" />
+		<method name="save(I)I" deprecated="26" removed="28" />
+		<method name="saveLayer(FFFFLandroid/graphics/Paint;)I" since="21" />
+		<method name="saveLayer(FFFFLandroid/graphics/Paint;I)I" deprecated="26" />
+		<method name="saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;)I" since="21" />
+		<method name="saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I" deprecated="26" />
+		<method name="saveLayerAlpha(FFFFI)I" since="21" />
+		<method name="saveLayerAlpha(FFFFII)I" deprecated="26" />
+		<method name="saveLayerAlpha(Landroid/graphics/RectF;I)I" since="21" />
+		<method name="saveLayerAlpha(Landroid/graphics/RectF;II)I" deprecated="26" />
+		<method name="scale(FF)V" />
+		<method name="scale(FFFF)V" />
+		<method name="setBitmap(Landroid/graphics/Bitmap;)V" />
+		<method name="setDensity(I)V" since="4" />
+		<method name="setDrawFilter(Landroid/graphics/DrawFilter;)V" />
+		<method name="setMatrix(Landroid/graphics/Matrix;)V" />
+		<method name="setViewport(II)V" removed="11" />
+		<method name="skew(FF)V" />
+		<method name="translate(FF)V" />
+		<field name="ALL_SAVE_FLAG" />
+		<field name="CLIP_SAVE_FLAG" deprecated="26" removed="28" />
+		<field name="CLIP_TO_LAYER_SAVE_FLAG" deprecated="26" removed="28" />
+		<field name="FULL_COLOR_LAYER_SAVE_FLAG" deprecated="26" removed="28" />
+		<field name="HAS_ALPHA_LAYER_SAVE_FLAG" deprecated="26" removed="28" />
+		<field name="MATRIX_SAVE_FLAG" deprecated="26" removed="28" />
+	</class>
+	<class name="android/graphics/Canvas$EdgeType" since="1" deprecated="30">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Canvas$EdgeType;" />
+		<method name="values()[Landroid/graphics/Canvas$EdgeType;" />
+		<field name="AA" deprecated="30" />
+		<field name="BW" deprecated="30" />
+	</class>
+	<class name="android/graphics/Canvas$VertexMode" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Canvas$VertexMode;" />
+		<method name="values()[Landroid/graphics/Canvas$VertexMode;" />
+		<field name="TRIANGLES" />
+		<field name="TRIANGLE_FAN" />
+		<field name="TRIANGLE_STRIP" />
+	</class>
+	<class name="android/graphics/Color" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="HSVToColor(I[F)I" />
+		<method name="HSVToColor([F)I" />
+		<method name="RGBToHSV(III[F)V" />
+		<method name="alpha()F" since="26" />
+		<method name="alpha(I)I" />
+		<method name="alpha(J)F" since="26" />
+		<method name="argb(FFFF)I" since="26" />
+		<method name="argb(IIII)I" />
+		<method name="blue()F" since="26" />
+		<method name="blue(I)I" />
+		<method name="blue(J)F" since="26" />
+		<method name="colorSpace(J)Landroid/graphics/ColorSpace;" since="26" />
+		<method name="colorToHSV(I[F)V" />
+		<method name="convert(FFFFLandroid/graphics/ColorSpace$Connector;)J" since="26" />
+		<method name="convert(FFFFLandroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;)J" since="26" />
+		<method name="convert(ILandroid/graphics/ColorSpace;)J" since="26" />
+		<method name="convert(JLandroid/graphics/ColorSpace$Connector;)J" since="26" />
+		<method name="convert(JLandroid/graphics/ColorSpace;)J" since="26" />
+		<method name="convert(Landroid/graphics/ColorSpace;)Landroid/graphics/Color;" since="26" />
+		<method name="getColorSpace()Landroid/graphics/ColorSpace;" since="26" />
+		<method name="getComponent(I)F" since="26" />
+		<method name="getComponentCount()I" since="26" />
+		<method name="getComponents()[F" since="26" />
+		<method name="getComponents([F)[F" since="26" />
+		<method name="getModel()Landroid/graphics/ColorSpace$Model;" since="26" />
+		<method name="green()F" since="26" />
+		<method name="green(I)I" />
+		<method name="green(J)F" since="26" />
+		<method name="isInColorSpace(JLandroid/graphics/ColorSpace;)Z" since="26" />
+		<method name="isSrgb()Z" since="26" />
+		<method name="isSrgb(J)Z" since="26" />
+		<method name="isWideGamut()Z" since="26" />
+		<method name="isWideGamut(J)Z" since="26" />
+		<method name="luminance()F" since="26" />
+		<method name="luminance(I)F" since="24" />
+		<method name="luminance(J)F" since="26" />
+		<method name="pack()J" since="26" />
+		<method name="pack(FFF)J" since="26" />
+		<method name="pack(FFFF)J" since="26" />
+		<method name="pack(FFFFLandroid/graphics/ColorSpace;)J" since="26" />
+		<method name="pack(I)J" since="26" />
+		<method name="parseColor(Ljava/lang/String;)I" />
+		<method name="red()F" since="26" />
+		<method name="red(I)I" />
+		<method name="red(J)F" since="26" />
+		<method name="rgb(FFF)I" since="26" />
+		<method name="rgb(III)I" />
+		<method name="toArgb()I" since="26" />
+		<method name="toArgb(J)I" since="26" />
+		<method name="valueOf(FFF)Landroid/graphics/Color;" since="26" />
+		<method name="valueOf(FFFF)Landroid/graphics/Color;" since="26" />
+		<method name="valueOf(FFFFLandroid/graphics/ColorSpace;)Landroid/graphics/Color;" since="26" />
+		<method name="valueOf(I)Landroid/graphics/Color;" since="26" />
+		<method name="valueOf(J)Landroid/graphics/Color;" since="26" />
+		<method name="valueOf([FLandroid/graphics/ColorSpace;)Landroid/graphics/Color;" since="26" />
+		<field name="BLACK" />
+		<field name="BLUE" />
+		<field name="CYAN" />
+		<field name="DKGRAY" />
+		<field name="GRAY" />
+		<field name="GREEN" />
+		<field name="LTGRAY" />
+		<field name="MAGENTA" />
+		<field name="RED" />
+		<field name="TRANSPARENT" />
+		<field name="WHITE" />
+		<field name="YELLOW" />
+	</class>
+	<class name="android/graphics/ColorFilter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="26" />
+	</class>
+	<class name="android/graphics/ColorMatrixColorFilter" since="1">
+		<extends name="android/graphics/ColorFilter" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<method name="&lt;init&gt;([F)V" />
+		<method name="getColorMatrix(Ljava/lang/Object;)V" since="26" />
+	</class>
+	<class name="android/graphics/ColorSpace" since="26">
+		<extends name="java/lang/Object" />
+		<method name="adapt(Landroid/graphics/ColorSpace;[F)Landroid/graphics/ColorSpace;" />
+		<method name="adapt(Landroid/graphics/ColorSpace;[FLandroid/graphics/ColorSpace$Adaptation;)Landroid/graphics/ColorSpace;" />
+		<method name="cctToXyz(I)[F" since="31" />
+		<method name="chromaticAdaptation(Landroid/graphics/ColorSpace$Adaptation;[F[F)[F" since="31" />
+		<method name="connect(Landroid/graphics/ColorSpace;)Landroid/graphics/ColorSpace$Connector;" />
+		<method name="connect(Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$RenderIntent;)Landroid/graphics/ColorSpace$Connector;" />
+		<method name="connect(Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;)Landroid/graphics/ColorSpace$Connector;" />
+		<method name="connect(Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$RenderIntent;)Landroid/graphics/ColorSpace$Connector;" />
+		<method name="fromXyz(FFF)[F" />
+		<method name="fromXyz([F)[F" />
+		<method name="get(Landroid/graphics/ColorSpace$Named;)Landroid/graphics/ColorSpace;" />
+		<method name="getComponentCount()I" />
+		<method name="getId()I" />
+		<method name="getMaxValue(I)F" />
+		<method name="getMinValue(I)F" />
+		<method name="getModel()Landroid/graphics/ColorSpace$Model;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="isSrgb()Z" />
+		<method name="isWideGamut()Z" />
+		<method name="match([FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)Landroid/graphics/ColorSpace;" />
+		<method name="toXyz(FFF)[F" />
+		<method name="toXyz([F)[F" />
+		<field name="ILLUMINANT_A" />
+		<field name="ILLUMINANT_B" />
+		<field name="ILLUMINANT_C" />
+		<field name="ILLUMINANT_D50" />
+		<field name="ILLUMINANT_D55" />
+		<field name="ILLUMINANT_D60" />
+		<field name="ILLUMINANT_D65" />
+		<field name="ILLUMINANT_D75" />
+		<field name="ILLUMINANT_E" />
+		<field name="MAX_ID" />
+		<field name="MIN_ID" />
+	</class>
+	<class name="android/graphics/ColorSpace$Adaptation" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/ColorSpace$Adaptation;" />
+		<method name="values()[Landroid/graphics/ColorSpace$Adaptation;" />
+		<field name="BRADFORD" />
+		<field name="CIECAT02" />
+		<field name="VON_KRIES" />
+	</class>
+	<class name="android/graphics/ColorSpace$Connector" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getDestination()Landroid/graphics/ColorSpace;" />
+		<method name="getRenderIntent()Landroid/graphics/ColorSpace$RenderIntent;" />
+		<method name="getSource()Landroid/graphics/ColorSpace;" />
+		<method name="transform(FFF)[F" />
+		<method name="transform([F)[F" />
+	</class>
+	<class name="android/graphics/ColorSpace$Model" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="getComponentCount()I" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/ColorSpace$Model;" />
+		<method name="values()[Landroid/graphics/ColorSpace$Model;" />
+		<field name="CMYK" />
+		<field name="LAB" />
+		<field name="RGB" />
+		<field name="XYZ" />
+	</class>
+	<class name="android/graphics/ColorSpace$Named" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/ColorSpace$Named;" />
+		<method name="values()[Landroid/graphics/ColorSpace$Named;" />
+		<field name="ACES" />
+		<field name="ACESCG" />
+		<field name="ADOBE_RGB" />
+		<field name="BT2020" />
+		<field name="BT709" />
+		<field name="CIE_LAB" />
+		<field name="CIE_XYZ" />
+		<field name="DCI_P3" />
+		<field name="DISPLAY_P3" />
+		<field name="EXTENDED_SRGB" />
+		<field name="LINEAR_EXTENDED_SRGB" />
+		<field name="LINEAR_SRGB" />
+		<field name="NTSC_1953" />
+		<field name="PRO_PHOTO_RGB" />
+		<field name="SMPTE_C" />
+		<field name="SRGB" />
+	</class>
+	<class name="android/graphics/ColorSpace$RenderIntent" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/ColorSpace$RenderIntent;" />
+		<method name="values()[Landroid/graphics/ColorSpace$RenderIntent;" />
+		<field name="ABSOLUTE" />
+		<field name="PERCEPTUAL" />
+		<field name="RELATIVE" />
+		<field name="SATURATION" />
+	</class>
+	<class name="android/graphics/ColorSpace$Rgb" since="26">
+		<extends name="android/graphics/ColorSpace" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[FD)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[F[FD)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[F[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FF)V" />
+		<method name="fromLinear(FFF)[F" />
+		<method name="fromLinear([F)[F" />
+		<method name="getEotf()Ljava/util/function/DoubleUnaryOperator;" />
+		<method name="getInverseTransform()[F" />
+		<method name="getInverseTransform([F)[F" />
+		<method name="getOetf()Ljava/util/function/DoubleUnaryOperator;" />
+		<method name="getPrimaries()[F" />
+		<method name="getPrimaries([F)[F" />
+		<method name="getTransferParameters()Landroid/graphics/ColorSpace$Rgb$TransferParameters;" />
+		<method name="getTransform()[F" />
+		<method name="getTransform([F)[F" />
+		<method name="getWhitePoint()[F" />
+		<method name="getWhitePoint([F)[F" />
+		<method name="toLinear(FFF)[F" />
+		<method name="toLinear([F)[F" />
+	</class>
+	<class name="android/graphics/ColorSpace$Rgb$TransferParameters" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(DDDDD)V" />
+		<method name="&lt;init&gt;(DDDDDDD)V" />
+		<field name="a" />
+		<field name="b" />
+		<field name="c" />
+		<field name="d" />
+		<field name="e" />
+		<field name="f" />
+		<field name="g" />
+	</class>
+	<class name="android/graphics/ComposePathEffect" since="1">
+		<extends name="android/graphics/PathEffect" />
+		<method name="&lt;init&gt;(Landroid/graphics/PathEffect;Landroid/graphics/PathEffect;)V" />
+	</class>
+	<class name="android/graphics/ComposeShader" since="1">
+		<extends name="android/graphics/Shader" />
+		<method name="&lt;init&gt;(Landroid/graphics/Shader;Landroid/graphics/Shader;Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="&lt;init&gt;(Landroid/graphics/Shader;Landroid/graphics/Shader;Landroid/graphics/PorterDuff$Mode;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Shader;Landroid/graphics/Shader;Landroid/graphics/Xfermode;)V" deprecated="29" />
+	</class>
+	<class name="android/graphics/CornerPathEffect" since="1">
+		<extends name="android/graphics/PathEffect" />
+		<method name="&lt;init&gt;(F)V" />
+	</class>
+	<class name="android/graphics/DashPathEffect" since="1">
+		<extends name="android/graphics/PathEffect" />
+		<method name="&lt;init&gt;([FF)V" />
+	</class>
+	<class name="android/graphics/DiscretePathEffect" since="1">
+		<extends name="android/graphics/PathEffect" />
+		<method name="&lt;init&gt;(FF)V" />
+	</class>
+	<class name="android/graphics/DrawFilter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/graphics/EmbossMaskFilter" since="1">
+		<extends name="android/graphics/MaskFilter" />
+		<method name="&lt;init&gt;([FFFF)V" deprecated="28" />
+	</class>
+	<class name="android/graphics/HardwareRenderer" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clearContent()V" />
+		<method name="createRenderRequest()Landroid/graphics/HardwareRenderer$FrameRenderRequest;" />
+		<method name="destroy()V" />
+		<method name="isOpaque()Z" />
+		<method name="notifyFramePending()V" />
+		<method name="setContentRoot(Landroid/graphics/RenderNode;)V" />
+		<method name="setLightSourceAlpha(FF)V" />
+		<method name="setLightSourceGeometry(FFFF)V" />
+		<method name="setName(Ljava/lang/String;)V" />
+		<method name="setOpaque(Z)V" />
+		<method name="setSurface(Landroid/view/Surface;)V" />
+		<method name="start()V" />
+		<method name="stop()V" />
+		<field name="SYNC_CONTEXT_IS_STOPPED" />
+		<field name="SYNC_FRAME_DROPPED" />
+		<field name="SYNC_LOST_SURFACE_REWARD_IF_FOUND" />
+		<field name="SYNC_OK" />
+		<field name="SYNC_REDRAW_REQUESTED" />
+	</class>
+	<class name="android/graphics/HardwareRenderer$FrameRenderRequest" since="29">
+		<extends name="java/lang/Object" />
+		<method name="setFrameCommitCallback(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Landroid/graphics/HardwareRenderer$FrameRenderRequest;" />
+		<method name="setVsyncTime(J)Landroid/graphics/HardwareRenderer$FrameRenderRequest;" />
+		<method name="setWaitForPresent(Z)Landroid/graphics/HardwareRenderer$FrameRenderRequest;" />
+		<method name="syncAndDraw()I" />
+	</class>
+	<class name="android/graphics/ImageDecoder" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="createSource(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/graphics/ImageDecoder$Source;" />
+		<method name="createSource(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/ImageDecoder$Source;" />
+		<method name="createSource(Landroid/content/res/Resources;I)Landroid/graphics/ImageDecoder$Source;" />
+		<method name="createSource(Ljava/io/File;)Landroid/graphics/ImageDecoder$Source;" />
+		<method name="createSource(Ljava/nio/ByteBuffer;)Landroid/graphics/ImageDecoder$Source;" />
+		<method name="createSource(Ljava/util/concurrent/Callable;)Landroid/graphics/ImageDecoder$Source;" since="29" />
+		<method name="createSource([B)Landroid/graphics/ImageDecoder$Source;" since="31" />
+		<method name="createSource([BII)Landroid/graphics/ImageDecoder$Source;" since="31" />
+		<method name="decodeBitmap(Landroid/graphics/ImageDecoder$Source;)Landroid/graphics/Bitmap;" />
+		<method name="decodeBitmap(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/Bitmap;" />
+		<method name="decodeDrawable(Landroid/graphics/ImageDecoder$Source;)Landroid/graphics/drawable/Drawable;" />
+		<method name="decodeDrawable(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/drawable/Drawable;" />
+		<method name="getAllocator()I" />
+		<method name="getCrop()Landroid/graphics/Rect;" />
+		<method name="getMemorySizePolicy()I" />
+		<method name="getOnPartialImageListener()Landroid/graphics/ImageDecoder$OnPartialImageListener;" />
+		<method name="getPostProcessor()Landroid/graphics/PostProcessor;" />
+		<method name="isDecodeAsAlphaMaskEnabled()Z" />
+		<method name="isMimeTypeSupported(Ljava/lang/String;)Z" since="29" />
+		<method name="isMutableRequired()Z" />
+		<method name="isUnpremultipliedRequired()Z" />
+		<method name="setAllocator(I)V" />
+		<method name="setCrop(Landroid/graphics/Rect;)V" />
+		<method name="setDecodeAsAlphaMaskEnabled(Z)V" />
+		<method name="setMemorySizePolicy(I)V" />
+		<method name="setMutableRequired(Z)V" />
+		<method name="setOnPartialImageListener(Landroid/graphics/ImageDecoder$OnPartialImageListener;)V" />
+		<method name="setPostProcessor(Landroid/graphics/PostProcessor;)V" />
+		<method name="setTargetColorSpace(Landroid/graphics/ColorSpace;)V" />
+		<method name="setTargetSampleSize(I)V" />
+		<method name="setTargetSize(II)V" />
+		<method name="setUnpremultipliedRequired(Z)V" />
+		<field name="ALLOCATOR_DEFAULT" />
+		<field name="ALLOCATOR_HARDWARE" />
+		<field name="ALLOCATOR_SHARED_MEMORY" />
+		<field name="ALLOCATOR_SOFTWARE" />
+		<field name="MEMORY_POLICY_DEFAULT" />
+		<field name="MEMORY_POLICY_LOW_RAM" />
+	</class>
+	<class name="android/graphics/ImageDecoder$DecodeException" since="28">
+		<extends name="java/io/IOException" />
+		<method name="getError()I" />
+		<method name="getSource()Landroid/graphics/ImageDecoder$Source;" />
+		<field name="SOURCE_EXCEPTION" />
+		<field name="SOURCE_INCOMPLETE" />
+		<field name="SOURCE_MALFORMED_DATA" />
+	</class>
+	<class name="android/graphics/ImageDecoder$ImageInfo" since="28">
+		<extends name="java/lang/Object" />
+		<method name="getColorSpace()Landroid/graphics/ColorSpace;" />
+		<method name="getMimeType()Ljava/lang/String;" />
+		<method name="getSize()Landroid/util/Size;" />
+		<method name="isAnimated()Z" />
+	</class>
+	<class name="android/graphics/ImageDecoder$OnHeaderDecodedListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V" />
+	</class>
+	<class name="android/graphics/ImageDecoder$OnPartialImageListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="onPartialImage(Landroid/graphics/ImageDecoder$DecodeException;)Z" />
+	</class>
+	<class name="android/graphics/ImageDecoder$Source" since="28">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/graphics/ImageFormat" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getBitsPerPixel(I)I" />
+		<field name="DEPTH16" since="23" />
+		<field name="DEPTH_JPEG" since="29" />
+		<field name="DEPTH_POINT_CLOUD" since="23" />
+		<field name="FLEX_RGBA_8888" since="23" />
+		<field name="FLEX_RGB_888" since="23" />
+		<field name="HEIC" since="29" />
+		<field name="JPEG" />
+		<field name="NV16" />
+		<field name="NV21" />
+		<field name="PRIVATE" since="23" />
+		<field name="RAW10" since="21" />
+		<field name="RAW12" since="23" />
+		<field name="RAW_PRIVATE" since="24" />
+		<field name="RAW_SENSOR" since="21" />
+		<field name="RGB_565" />
+		<field name="UNKNOWN" />
+		<field name="Y8" since="29" />
+		<field name="YCBCR_P010" since="31" />
+		<field name="YUV_420_888" since="19" />
+		<field name="YUV_422_888" since="23" />
+		<field name="YUV_444_888" since="23" />
+		<field name="YUY2" />
+		<field name="YV12" since="9" />
+	</class>
+	<class name="android/graphics/Insets" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="add(Landroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;" />
+		<method name="max(Landroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;" />
+		<method name="min(Landroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;" />
+		<method name="of(IIII)Landroid/graphics/Insets;" />
+		<method name="of(Landroid/graphics/Rect;)Landroid/graphics/Insets;" />
+		<method name="subtract(Landroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;" />
+		<field name="CREATOR" />
+		<field name="NONE" />
+		<field name="bottom" />
+		<field name="left" />
+		<field name="right" />
+		<field name="top" />
+	</class>
+	<class name="android/graphics/Interpolator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getKeyFrameCount()I" />
+		<method name="getValueCount()I" />
+		<method name="reset(I)V" />
+		<method name="reset(II)V" />
+		<method name="setKeyFrame(II[F)V" />
+		<method name="setKeyFrame(II[F[F)V" />
+		<method name="setRepeatMirror(FZ)V" />
+		<method name="timeToValues(I[F)Landroid/graphics/Interpolator$Result;" />
+		<method name="timeToValues([F)Landroid/graphics/Interpolator$Result;" />
+	</class>
+	<class name="android/graphics/Interpolator$Result" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Interpolator$Result;" />
+		<method name="values()[Landroid/graphics/Interpolator$Result;" />
+		<field name="FREEZE_END" />
+		<field name="FREEZE_START" />
+		<field name="NORMAL" />
+	</class>
+	<class name="android/graphics/LayerRasterizer" since="1" deprecated="21" removed="26">
+		<extends name="android/graphics/Rasterizer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addLayer(Landroid/graphics/Paint;)V" />
+		<method name="addLayer(Landroid/graphics/Paint;FF)V" />
+	</class>
+	<class name="android/graphics/LightingColorFilter" since="1">
+		<extends name="android/graphics/ColorFilter" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getColorAdd()I" since="26" />
+		<method name="getColorMultiply()I" since="26" />
+	</class>
+	<class name="android/graphics/LinearGradient" since="1">
+		<extends name="android/graphics/Shader" />
+		<method name="&lt;init&gt;(FFFFIILandroid/graphics/Shader$TileMode;)V" />
+		<method name="&lt;init&gt;(FFFFJJLandroid/graphics/Shader$TileMode;)V" since="29" />
+		<method name="&lt;init&gt;(FFFF[I[FLandroid/graphics/Shader$TileMode;)V" />
+		<method name="&lt;init&gt;(FFFF[J[FLandroid/graphics/Shader$TileMode;)V" since="29" />
+	</class>
+	<class name="android/graphics/MaskFilter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/graphics/Matrix" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Matrix;)V" />
+		<method name="dump(Ljava/io/PrintWriter;)V" since="31" />
+		<method name="getValues([F)V" />
+		<method name="invert(Landroid/graphics/Matrix;)Z" />
+		<method name="isAffine()Z" since="21" />
+		<method name="isIdentity()Z" />
+		<method name="mapPoints([F)V" />
+		<method name="mapPoints([FI[FII)V" />
+		<method name="mapPoints([F[F)V" />
+		<method name="mapRadius(F)F" />
+		<method name="mapRect(Landroid/graphics/RectF;)Z" />
+		<method name="mapRect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z" />
+		<method name="mapVectors([F)V" />
+		<method name="mapVectors([FI[FII)V" />
+		<method name="mapVectors([F[F)V" />
+		<method name="postConcat(Landroid/graphics/Matrix;)Z" />
+		<method name="postRotate(F)Z" />
+		<method name="postRotate(FFF)Z" />
+		<method name="postScale(FF)Z" />
+		<method name="postScale(FFFF)Z" />
+		<method name="postSkew(FF)Z" />
+		<method name="postSkew(FFFF)Z" />
+		<method name="postTranslate(FF)Z" />
+		<method name="preConcat(Landroid/graphics/Matrix;)Z" />
+		<method name="preRotate(F)Z" />
+		<method name="preRotate(FFF)Z" />
+		<method name="preScale(FF)Z" />
+		<method name="preScale(FFFF)Z" />
+		<method name="preSkew(FF)Z" />
+		<method name="preSkew(FFFF)Z" />
+		<method name="preTranslate(FF)Z" />
+		<method name="rectStaysRect()Z" />
+		<method name="reset()V" />
+		<method name="set(Landroid/graphics/Matrix;)V" />
+		<method name="setConcat(Landroid/graphics/Matrix;Landroid/graphics/Matrix;)Z" />
+		<method name="setPolyToPoly([FI[FII)Z" />
+		<method name="setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z" />
+		<method name="setRotate(F)V" />
+		<method name="setRotate(FFF)V" />
+		<method name="setScale(FF)V" />
+		<method name="setScale(FFFF)V" />
+		<method name="setSinCos(FF)V" />
+		<method name="setSinCos(FFFF)V" />
+		<method name="setSkew(FF)V" />
+		<method name="setSkew(FFFF)V" />
+		<method name="setTranslate(FF)V" />
+		<method name="setValues([F)V" />
+		<method name="toShortString()Ljava/lang/String;" />
+		<field name="IDENTITY_MATRIX" since="31" />
+		<field name="MPERSP_0" />
+		<field name="MPERSP_1" />
+		<field name="MPERSP_2" />
+		<field name="MSCALE_X" />
+		<field name="MSCALE_Y" />
+		<field name="MSKEW_X" />
+		<field name="MSKEW_Y" />
+		<field name="MTRANS_X" />
+		<field name="MTRANS_Y" />
+	</class>
+	<class name="android/graphics/Matrix$ScaleToFit" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Matrix$ScaleToFit;" />
+		<method name="values()[Landroid/graphics/Matrix$ScaleToFit;" />
+		<field name="CENTER" />
+		<field name="END" />
+		<field name="FILL" />
+		<field name="START" />
+	</class>
+	<class name="android/graphics/Movie" since="1" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="decodeByteArray([BII)Landroid/graphics/Movie;" deprecated="29" />
+		<method name="decodeFile(Ljava/lang/String;)Landroid/graphics/Movie;" deprecated="29" />
+		<method name="decodeStream(Ljava/io/InputStream;)Landroid/graphics/Movie;" deprecated="29" />
+		<method name="draw(Landroid/graphics/Canvas;FF)V" deprecated="29" />
+		<method name="draw(Landroid/graphics/Canvas;FFLandroid/graphics/Paint;)V" deprecated="29" />
+		<method name="duration()I" deprecated="29" />
+		<method name="height()I" deprecated="29" />
+		<method name="isOpaque()Z" deprecated="29" />
+		<method name="setTime(I)Z" deprecated="29" />
+		<method name="width()I" deprecated="29" />
+	</class>
+	<class name="android/graphics/NinePatch" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/Bitmap;[B)V" since="19" />
+		<method name="&lt;init&gt;(Landroid/graphics/Bitmap;[BLjava/lang/String;)V" />
+		<method name="draw(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V" />
+		<method name="draw(Landroid/graphics/Canvas;Landroid/graphics/Rect;Landroid/graphics/Paint;)V" />
+		<method name="draw(Landroid/graphics/Canvas;Landroid/graphics/RectF;)V" />
+		<method name="getBitmap()Landroid/graphics/Bitmap;" since="19" />
+		<method name="getDensity()I" since="4" />
+		<method name="getHeight()I" />
+		<method name="getName()Ljava/lang/String;" since="19" />
+		<method name="getPaint()Landroid/graphics/Paint;" since="19" />
+		<method name="getTransparentRegion(Landroid/graphics/Rect;)Landroid/graphics/Region;" />
+		<method name="getWidth()I" />
+		<method name="hasAlpha()Z" />
+		<method name="isNinePatchChunk([B)Z" />
+		<method name="setPaint(Landroid/graphics/Paint;)V" />
+	</class>
+	<class name="android/graphics/Outline" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Outline;)V" />
+		<method name="canClip()Z" />
+		<method name="getAlpha()F" />
+		<method name="getRadius()F" since="24" />
+		<method name="getRect(Landroid/graphics/Rect;)Z" since="24" />
+		<method name="isEmpty()Z" />
+		<method name="offset(II)V" since="22" />
+		<method name="set(Landroid/graphics/Outline;)V" />
+		<method name="setAlpha(F)V" />
+		<method name="setConvexPath(Landroid/graphics/Path;)V" deprecated="30" />
+		<method name="setEmpty()V" />
+		<method name="setOval(IIII)V" />
+		<method name="setOval(Landroid/graphics/Rect;)V" />
+		<method name="setPath(Landroid/graphics/Path;)V" since="30" />
+		<method name="setRect(IIII)V" />
+		<method name="setRect(Landroid/graphics/Rect;)V" />
+		<method name="setRoundRect(IIIIF)V" />
+		<method name="setRoundRect(Landroid/graphics/Rect;F)V" />
+	</class>
+	<class name="android/graphics/Paint" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Paint;)V" />
+		<method name="ascent()F" />
+		<method name="breakText(Ljava/lang/CharSequence;IIZF[F)I" />
+		<method name="breakText(Ljava/lang/String;ZF[F)I" />
+		<method name="breakText([CIIF[F)I" />
+		<method name="clearShadowLayer()V" />
+		<method name="descent()F" />
+		<method name="equalsForTextMeasurement(Landroid/graphics/Paint;)Z" since="28" />
+		<method name="getAlpha()I" />
+		<method name="getBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getColor()I" />
+		<method name="getColorFilter()Landroid/graphics/ColorFilter;" />
+		<method name="getColorLong()J" since="29" />
+		<method name="getEndHyphenEdit()I" since="29" />
+		<method name="getFillPath(Landroid/graphics/Path;Landroid/graphics/Path;)Z" />
+		<method name="getFlags()I" />
+		<method name="getFontFeatureSettings()Ljava/lang/String;" since="21" />
+		<method name="getFontMetrics()Landroid/graphics/Paint$FontMetrics;" />
+		<method name="getFontMetrics(Landroid/graphics/Paint$FontMetrics;)F" />
+		<method name="getFontMetricsInt()Landroid/graphics/Paint$FontMetricsInt;" />
+		<method name="getFontMetricsInt(Landroid/graphics/Paint$FontMetricsInt;)I" />
+		<method name="getFontSpacing()F" />
+		<method name="getFontVariationSettings()Ljava/lang/String;" since="26" />
+		<method name="getHinting()I" since="14" />
+		<method name="getLetterSpacing()F" since="21" />
+		<method name="getMaskFilter()Landroid/graphics/MaskFilter;" />
+		<method name="getOffsetForAdvance(Ljava/lang/CharSequence;IIIIZF)I" since="23" />
+		<method name="getOffsetForAdvance([CIIIIZF)I" since="23" />
+		<method name="getPathEffect()Landroid/graphics/PathEffect;" />
+		<method name="getRasterizer()Landroid/graphics/Rasterizer;" deprecated="21" removed="26" />
+		<method name="getRunAdvance(Ljava/lang/CharSequence;IIIIZI)F" since="23" />
+		<method name="getRunAdvance([CIIIIZI)F" since="23" />
+		<method name="getShader()Landroid/graphics/Shader;" />
+		<method name="getShadowLayerColor()I" since="29" />
+		<method name="getShadowLayerColorLong()J" since="29" />
+		<method name="getShadowLayerDx()F" since="29" />
+		<method name="getShadowLayerDy()F" since="29" />
+		<method name="getShadowLayerRadius()F" since="29" />
+		<method name="getStartHyphenEdit()I" since="29" />
+		<method name="getStrikeThruPosition()F" since="29" />
+		<method name="getStrikeThruThickness()F" since="29" />
+		<method name="getStrokeCap()Landroid/graphics/Paint$Cap;" />
+		<method name="getStrokeJoin()Landroid/graphics/Paint$Join;" />
+		<method name="getStrokeMiter()F" />
+		<method name="getStrokeWidth()F" />
+		<method name="getStyle()Landroid/graphics/Paint$Style;" />
+		<method name="getTextAlign()Landroid/graphics/Paint$Align;" />
+		<method name="getTextBounds(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V" since="29" />
+		<method name="getTextBounds(Ljava/lang/String;IILandroid/graphics/Rect;)V" />
+		<method name="getTextBounds([CIILandroid/graphics/Rect;)V" />
+		<method name="getTextLocale()Ljava/util/Locale;" since="17" />
+		<method name="getTextLocales()Landroid/os/LocaleList;" since="24" />
+		<method name="getTextPath(Ljava/lang/String;IIFFLandroid/graphics/Path;)V" />
+		<method name="getTextPath([CIIFFLandroid/graphics/Path;)V" />
+		<method name="getTextRunAdvances([CIIIIZ[FI)F" since="29" />
+		<method name="getTextRunCursor(Ljava/lang/CharSequence;IIZII)I" since="29" />
+		<method name="getTextRunCursor([CIIZII)I" since="29" />
+		<method name="getTextScaleX()F" />
+		<method name="getTextSize()F" />
+		<method name="getTextSkewX()F" />
+		<method name="getTextWidths(Ljava/lang/CharSequence;II[F)I" />
+		<method name="getTextWidths(Ljava/lang/String;II[F)I" />
+		<method name="getTextWidths(Ljava/lang/String;[F)I" />
+		<method name="getTextWidths([CII[F)I" />
+		<method name="getTypeface()Landroid/graphics/Typeface;" />
+		<method name="getUnderlinePosition()F" since="29" />
+		<method name="getUnderlineThickness()F" since="29" />
+		<method name="getWordSpacing()F" since="29" />
+		<method name="getXfermode()Landroid/graphics/Xfermode;" />
+		<method name="hasGlyph(Ljava/lang/String;)Z" since="23" />
+		<method name="isAntiAlias()Z" />
+		<method name="isDither()Z" />
+		<method name="isElegantTextHeight()Z" since="21" />
+		<method name="isFakeBoldText()Z" />
+		<method name="isFilterBitmap()Z" />
+		<method name="isLinearText()Z" deprecated="16" />
+		<method name="isStrikeThruText()Z" />
+		<method name="isSubpixelText()Z" />
+		<method name="isUnderlineText()Z" />
+		<method name="measureText(Ljava/lang/CharSequence;II)F" />
+		<method name="measureText(Ljava/lang/String;)F" />
+		<method name="measureText(Ljava/lang/String;II)F" />
+		<method name="measureText([CII)F" />
+		<method name="reset()V" />
+		<method name="set(Landroid/graphics/Paint;)V" />
+		<method name="setARGB(IIII)V" />
+		<method name="setAlpha(I)V" />
+		<method name="setAntiAlias(Z)V" />
+		<method name="setBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setColor(I)V" />
+		<method name="setColor(J)V" since="29" />
+		<method name="setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;" />
+		<method name="setDither(Z)V" />
+		<method name="setElegantTextHeight(Z)V" since="21" />
+		<method name="setEndHyphenEdit(I)V" since="29" />
+		<method name="setFakeBoldText(Z)V" />
+		<method name="setFilterBitmap(Z)V" />
+		<method name="setFlags(I)V" />
+		<method name="setFontFeatureSettings(Ljava/lang/String;)V" since="21" />
+		<method name="setFontVariationSettings(Ljava/lang/String;)Z" since="26" />
+		<method name="setHinting(I)V" since="14" />
+		<method name="setLetterSpacing(F)V" since="21" />
+		<method name="setLinearText(Z)V" deprecated="16" />
+		<method name="setMaskFilter(Landroid/graphics/MaskFilter;)Landroid/graphics/MaskFilter;" />
+		<method name="setPathEffect(Landroid/graphics/PathEffect;)Landroid/graphics/PathEffect;" />
+		<method name="setRasterizer(Landroid/graphics/Rasterizer;)Landroid/graphics/Rasterizer;" deprecated="21" removed="26" />
+		<method name="setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;" />
+		<method name="setShadowLayer(FFFI)V" />
+		<method name="setShadowLayer(FFFJ)V" since="29" />
+		<method name="setStartHyphenEdit(I)V" since="29" />
+		<method name="setStrikeThruText(Z)V" />
+		<method name="setStrokeCap(Landroid/graphics/Paint$Cap;)V" />
+		<method name="setStrokeJoin(Landroid/graphics/Paint$Join;)V" />
+		<method name="setStrokeMiter(F)V" />
+		<method name="setStrokeWidth(F)V" />
+		<method name="setStyle(Landroid/graphics/Paint$Style;)V" />
+		<method name="setSubpixelText(Z)V" />
+		<method name="setTextAlign(Landroid/graphics/Paint$Align;)V" />
+		<method name="setTextLocale(Ljava/util/Locale;)V" since="17" />
+		<method name="setTextLocales(Landroid/os/LocaleList;)V" since="24" />
+		<method name="setTextScaleX(F)V" />
+		<method name="setTextSize(F)V" />
+		<method name="setTextSkewX(F)V" />
+		<method name="setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;" />
+		<method name="setUnderlineText(Z)V" />
+		<method name="setWordSpacing(F)V" since="29" />
+		<method name="setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode;" />
+		<field name="ANTI_ALIAS_FLAG" />
+		<field name="CURSOR_AFTER" since="29" />
+		<field name="CURSOR_AT" since="29" />
+		<field name="CURSOR_AT_OR_AFTER" since="29" />
+		<field name="CURSOR_AT_OR_BEFORE" since="29" />
+		<field name="CURSOR_BEFORE" since="29" />
+		<field name="DEV_KERN_TEXT_FLAG" />
+		<field name="DITHER_FLAG" />
+		<field name="EMBEDDED_BITMAP_TEXT_FLAG" since="19" />
+		<field name="END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN" since="29" />
+		<field name="END_HYPHEN_EDIT_INSERT_HYPHEN" since="29" />
+		<field name="END_HYPHEN_EDIT_INSERT_MAQAF" since="29" />
+		<field name="END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN" since="29" />
+		<field name="END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN" since="29" />
+		<field name="END_HYPHEN_EDIT_NO_EDIT" since="29" />
+		<field name="END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN" since="29" />
+		<field name="FAKE_BOLD_TEXT_FLAG" />
+		<field name="FILTER_BITMAP_FLAG" />
+		<field name="HINTING_OFF" since="14" />
+		<field name="HINTING_ON" since="14" />
+		<field name="LINEAR_TEXT_FLAG" />
+		<field name="START_HYPHEN_EDIT_INSERT_HYPHEN" since="29" />
+		<field name="START_HYPHEN_EDIT_INSERT_ZWJ" since="29" />
+		<field name="START_HYPHEN_EDIT_NO_EDIT" since="29" />
+		<field name="STRIKE_THRU_TEXT_FLAG" />
+		<field name="SUBPIXEL_TEXT_FLAG" />
+		<field name="UNDERLINE_TEXT_FLAG" />
+	</class>
+	<class name="android/graphics/Paint$Align" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Paint$Align;" />
+		<method name="values()[Landroid/graphics/Paint$Align;" />
+		<field name="CENTER" />
+		<field name="LEFT" />
+		<field name="RIGHT" />
+	</class>
+	<class name="android/graphics/Paint$Cap" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Paint$Cap;" />
+		<method name="values()[Landroid/graphics/Paint$Cap;" />
+		<field name="BUTT" />
+		<field name="ROUND" />
+		<field name="SQUARE" />
+	</class>
+	<class name="android/graphics/Paint$FontMetrics" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="ascent" />
+		<field name="bottom" />
+		<field name="descent" />
+		<field name="leading" />
+		<field name="top" />
+	</class>
+	<class name="android/graphics/Paint$FontMetricsInt" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="ascent" />
+		<field name="bottom" />
+		<field name="descent" />
+		<field name="leading" />
+		<field name="top" />
+	</class>
+	<class name="android/graphics/Paint$Join" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Paint$Join;" />
+		<method name="values()[Landroid/graphics/Paint$Join;" />
+		<field name="BEVEL" />
+		<field name="MITER" />
+		<field name="ROUND" />
+	</class>
+	<class name="android/graphics/Paint$Style" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Paint$Style;" />
+		<method name="values()[Landroid/graphics/Paint$Style;" />
+		<field name="FILL" />
+		<field name="FILL_AND_STROKE" />
+		<field name="STROKE" />
+	</class>
+	<class name="android/graphics/PaintFlagsDrawFilter" since="1">
+		<extends name="android/graphics/DrawFilter" />
+		<method name="&lt;init&gt;(II)V" />
+	</class>
+	<class name="android/graphics/ParcelableColorSpace" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/graphics/ColorSpace;)V" />
+		<method name="getColorSpace()Landroid/graphics/ColorSpace;" />
+		<method name="isParcelable(Landroid/graphics/ColorSpace;)Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/graphics/Path" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Path;)V" />
+		<method name="addArc(FFFFFF)V" since="21" />
+		<method name="addArc(Landroid/graphics/RectF;FF)V" />
+		<method name="addCircle(FFFLandroid/graphics/Path$Direction;)V" />
+		<method name="addOval(FFFFLandroid/graphics/Path$Direction;)V" since="21" />
+		<method name="addOval(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V" />
+		<method name="addPath(Landroid/graphics/Path;)V" />
+		<method name="addPath(Landroid/graphics/Path;FF)V" />
+		<method name="addPath(Landroid/graphics/Path;Landroid/graphics/Matrix;)V" />
+		<method name="addRect(FFFFLandroid/graphics/Path$Direction;)V" />
+		<method name="addRect(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V" />
+		<method name="addRoundRect(FFFFFFLandroid/graphics/Path$Direction;)V" since="21" />
+		<method name="addRoundRect(FFFF[FLandroid/graphics/Path$Direction;)V" since="21" />
+		<method name="addRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Path$Direction;)V" />
+		<method name="addRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V" />
+		<method name="approximate(F)[F" since="26" />
+		<method name="arcTo(FFFFFFZ)V" since="21" />
+		<method name="arcTo(Landroid/graphics/RectF;FF)V" />
+		<method name="arcTo(Landroid/graphics/RectF;FFZ)V" />
+		<method name="close()V" />
+		<method name="computeBounds(Landroid/graphics/RectF;Z)V" />
+		<method name="cubicTo(FFFFFF)V" />
+		<method name="getFillType()Landroid/graphics/Path$FillType;" />
+		<method name="incReserve(I)V" />
+		<method name="isConvex()Z" since="21" deprecated="30" />
+		<method name="isEmpty()Z" />
+		<method name="isInverseFillType()Z" />
+		<method name="isRect(Landroid/graphics/RectF;)Z" />
+		<method name="lineTo(FF)V" />
+		<method name="moveTo(FF)V" />
+		<method name="offset(FF)V" />
+		<method name="offset(FFLandroid/graphics/Path;)V" />
+		<method name="op(Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z" since="19" />
+		<method name="op(Landroid/graphics/Path;Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z" since="19" />
+		<method name="quadTo(FFFF)V" />
+		<method name="rCubicTo(FFFFFF)V" />
+		<method name="rLineTo(FF)V" />
+		<method name="rMoveTo(FF)V" />
+		<method name="rQuadTo(FFFF)V" />
+		<method name="reset()V" />
+		<method name="rewind()V" />
+		<method name="set(Landroid/graphics/Path;)V" />
+		<method name="setFillType(Landroid/graphics/Path$FillType;)V" />
+		<method name="setLastPoint(FF)V" />
+		<method name="toggleInverseFillType()V" />
+		<method name="transform(Landroid/graphics/Matrix;)V" />
+		<method name="transform(Landroid/graphics/Matrix;Landroid/graphics/Path;)V" />
+	</class>
+	<class name="android/graphics/Path$Direction" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Path$Direction;" />
+		<method name="values()[Landroid/graphics/Path$Direction;" />
+		<field name="CCW" />
+		<field name="CW" />
+	</class>
+	<class name="android/graphics/Path$FillType" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Path$FillType;" />
+		<method name="values()[Landroid/graphics/Path$FillType;" />
+		<field name="EVEN_ODD" />
+		<field name="INVERSE_EVEN_ODD" />
+		<field name="INVERSE_WINDING" />
+		<field name="WINDING" />
+	</class>
+	<class name="android/graphics/Path$Op" since="19">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Path$Op;" />
+		<method name="values()[Landroid/graphics/Path$Op;" />
+		<field name="DIFFERENCE" />
+		<field name="INTERSECT" />
+		<field name="REVERSE_DIFFERENCE" />
+		<field name="UNION" />
+		<field name="XOR" />
+	</class>
+	<class name="android/graphics/PathDashPathEffect" since="1">
+		<extends name="android/graphics/PathEffect" />
+		<method name="&lt;init&gt;(Landroid/graphics/Path;FFLandroid/graphics/PathDashPathEffect$Style;)V" />
+	</class>
+	<class name="android/graphics/PathDashPathEffect$Style" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/PathDashPathEffect$Style;" />
+		<method name="values()[Landroid/graphics/PathDashPathEffect$Style;" />
+		<field name="MORPH" />
+		<field name="ROTATE" />
+		<field name="TRANSLATE" />
+	</class>
+	<class name="android/graphics/PathEffect" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/graphics/PathMeasure" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Path;Z)V" />
+		<method name="getLength()F" />
+		<method name="getMatrix(FLandroid/graphics/Matrix;I)Z" />
+		<method name="getPosTan(F[F[F)Z" />
+		<method name="getSegment(FFLandroid/graphics/Path;Z)Z" />
+		<method name="isClosed()Z" />
+		<method name="nextContour()Z" />
+		<method name="setPath(Landroid/graphics/Path;Z)V" />
+		<field name="POSITION_MATRIX_FLAG" />
+		<field name="TANGENT_MATRIX_FLAG" />
+	</class>
+	<class name="android/graphics/Picture" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Picture;)V" />
+		<method name="beginRecording(II)Landroid/graphics/Canvas;" />
+		<method name="createFromStream(Ljava/io/InputStream;)Landroid/graphics/Picture;" deprecated="18" removed="29" />
+		<method name="draw(Landroid/graphics/Canvas;)V" />
+		<method name="endRecording()V" />
+		<method name="getHeight()I" />
+		<method name="getWidth()I" />
+		<method name="requiresHardwareAcceleration()Z" since="28" />
+		<method name="writeToStream(Ljava/io/OutputStream;)V" deprecated="18" removed="29" />
+	</class>
+	<class name="android/graphics/PixelFormat" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="formatHasAlpha(I)Z" />
+		<method name="getPixelFormatInfo(ILandroid/graphics/PixelFormat;)V" />
+		<field name="A_8" deprecated="19" />
+		<field name="JPEG" deprecated="15" />
+		<field name="LA_88" deprecated="16" />
+		<field name="L_8" deprecated="19" />
+		<field name="OPAQUE" />
+		<field name="RGBA_1010102" since="26" />
+		<field name="RGBA_4444" deprecated="16" />
+		<field name="RGBA_5551" deprecated="16" />
+		<field name="RGBA_8888" />
+		<field name="RGBA_F16" since="26" />
+		<field name="RGBX_8888" />
+		<field name="RGB_332" deprecated="16" />
+		<field name="RGB_565" />
+		<field name="RGB_888" />
+		<field name="TRANSLUCENT" />
+		<field name="TRANSPARENT" />
+		<field name="UNKNOWN" />
+		<field name="YCbCr_420_SP" deprecated="15" />
+		<field name="YCbCr_422_I" since="5" deprecated="15" />
+		<field name="YCbCr_422_SP" deprecated="15" />
+		<field name="bitsPerPixel" />
+		<field name="bytesPerPixel" />
+	</class>
+	<class name="android/graphics/PixelXorXfermode" since="1" deprecated="16" removed="24">
+		<extends name="android/graphics/Xfermode" />
+		<method name="&lt;init&gt;(I)V" />
+	</class>
+	<class name="android/graphics/Point" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="13" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Point;)V" />
+		<method name="equals(II)Z" />
+		<method name="negate()V" />
+		<method name="offset(II)V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" since="13" />
+		<method name="set(II)V" />
+		<field name="CREATOR" since="13" />
+		<field name="x" />
+		<field name="y" />
+	</class>
+	<class name="android/graphics/PointF" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="13" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(FF)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Point;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/PointF;)V" since="30" />
+		<method name="equals(FF)Z" />
+		<method name="length()F" />
+		<method name="length(FF)F" />
+		<method name="negate()V" />
+		<method name="offset(FF)V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" since="13" />
+		<method name="set(FF)V" />
+		<method name="set(Landroid/graphics/PointF;)V" />
+		<field name="CREATOR" since="13" />
+		<field name="x" />
+		<field name="y" />
+	</class>
+	<class name="android/graphics/PorterDuff" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/graphics/PorterDuff$Mode" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/PorterDuff$Mode;" />
+		<method name="values()[Landroid/graphics/PorterDuff$Mode;" />
+		<field name="ADD" since="11" />
+		<field name="CLEAR" />
+		<field name="DARKEN" />
+		<field name="DST" />
+		<field name="DST_ATOP" />
+		<field name="DST_IN" />
+		<field name="DST_OUT" />
+		<field name="DST_OVER" />
+		<field name="LIGHTEN" />
+		<field name="MULTIPLY" />
+		<field name="OVERLAY" since="11" />
+		<field name="SCREEN" />
+		<field name="SRC" />
+		<field name="SRC_ATOP" />
+		<field name="SRC_IN" />
+		<field name="SRC_OUT" />
+		<field name="SRC_OVER" />
+		<field name="XOR" />
+	</class>
+	<class name="android/graphics/PorterDuffColorFilter" since="1">
+		<extends name="android/graphics/ColorFilter" />
+		<method name="&lt;init&gt;(ILandroid/graphics/PorterDuff$Mode;)V" />
+	</class>
+	<class name="android/graphics/PorterDuffXfermode" since="1">
+		<extends name="android/graphics/Xfermode" />
+		<method name="&lt;init&gt;(Landroid/graphics/PorterDuff$Mode;)V" />
+	</class>
+	<class name="android/graphics/PostProcessor" since="28">
+		<extends name="java/lang/Object" />
+		<method name="onPostProcess(Landroid/graphics/Canvas;)I" />
+	</class>
+	<class name="android/graphics/RadialGradient" since="1">
+		<extends name="android/graphics/Shader" />
+		<method name="&lt;init&gt;(FFFFFF[J[FLandroid/graphics/Shader$TileMode;)V" since="31" />
+		<method name="&lt;init&gt;(FFFIILandroid/graphics/Shader$TileMode;)V" />
+		<method name="&lt;init&gt;(FFFJJLandroid/graphics/Shader$TileMode;)V" since="29" />
+		<method name="&lt;init&gt;(FFF[I[FLandroid/graphics/Shader$TileMode;)V" />
+		<method name="&lt;init&gt;(FFF[J[FLandroid/graphics/Shader$TileMode;)V" since="29" />
+	</class>
+	<class name="android/graphics/Rasterizer" since="1" deprecated="21" removed="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/graphics/RecordingCanvas" since="29">
+		<extends name="android/graphics/Canvas" />
+		<method name="drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V" />
+		<method name="drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/RectF;Landroid/graphics/Paint;)V" />
+	</class>
+	<class name="android/graphics/Rect" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(IIII)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Rect;)V" />
+		<method name="centerX()I" />
+		<method name="centerY()I" />
+		<method name="contains(II)Z" />
+		<method name="contains(IIII)Z" />
+		<method name="contains(Landroid/graphics/Rect;)Z" />
+		<method name="exactCenterX()F" />
+		<method name="exactCenterY()F" />
+		<method name="flattenToString()Ljava/lang/String;" since="7" />
+		<method name="height()I" />
+		<method name="inset(II)V" />
+		<method name="inset(IIII)V" since="31" />
+		<method name="inset(Landroid/graphics/Insets;)V" since="31" />
+		<method name="intersect(IIII)Z" />
+		<method name="intersect(Landroid/graphics/Rect;)Z" />
+		<method name="intersects(IIII)Z" />
+		<method name="intersects(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z" />
+		<method name="isEmpty()Z" />
+		<method name="offset(II)V" />
+		<method name="offsetTo(II)V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<method name="set(IIII)V" />
+		<method name="set(Landroid/graphics/Rect;)V" />
+		<method name="setEmpty()V" />
+		<method name="setIntersect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z" />
+		<method name="sort()V" />
+		<method name="toShortString()Ljava/lang/String;" since="3" />
+		<method name="unflattenFromString(Ljava/lang/String;)Landroid/graphics/Rect;" since="7" />
+		<method name="union(II)V" />
+		<method name="union(IIII)V" />
+		<method name="union(Landroid/graphics/Rect;)V" />
+		<method name="width()I" />
+		<field name="CREATOR" />
+		<field name="bottom" />
+		<field name="left" />
+		<field name="right" />
+		<field name="top" />
+	</class>
+	<class name="android/graphics/RectF" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="3" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(FFFF)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Rect;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/RectF;)V" />
+		<method name="centerX()F" />
+		<method name="centerY()F" />
+		<method name="contains(FF)Z" />
+		<method name="contains(FFFF)Z" />
+		<method name="contains(Landroid/graphics/RectF;)Z" />
+		<method name="height()F" />
+		<method name="inset(FF)V" />
+		<method name="intersect(FFFF)Z" />
+		<method name="intersect(Landroid/graphics/RectF;)Z" />
+		<method name="intersects(FFFF)Z" />
+		<method name="intersects(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z" />
+		<method name="isEmpty()Z" />
+		<method name="offset(FF)V" />
+		<method name="offsetTo(FF)V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" since="3" />
+		<method name="round(Landroid/graphics/Rect;)V" />
+		<method name="roundOut(Landroid/graphics/Rect;)V" />
+		<method name="set(FFFF)V" />
+		<method name="set(Landroid/graphics/Rect;)V" />
+		<method name="set(Landroid/graphics/RectF;)V" />
+		<method name="setEmpty()V" />
+		<method name="setIntersect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z" />
+		<method name="sort()V" />
+		<method name="toShortString()Ljava/lang/String;" since="14" />
+		<method name="union(FF)V" />
+		<method name="union(FFFF)V" />
+		<method name="union(Landroid/graphics/RectF;)V" />
+		<method name="width()F" />
+		<field name="CREATOR" since="3" />
+		<field name="bottom" />
+		<field name="left" />
+		<field name="right" />
+		<field name="top" />
+	</class>
+	<class name="android/graphics/Region" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(IIII)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Rect;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Region;)V" />
+		<method name="contains(II)Z" />
+		<method name="getBoundaryPath()Landroid/graphics/Path;" />
+		<method name="getBoundaryPath(Landroid/graphics/Path;)Z" />
+		<method name="getBounds()Landroid/graphics/Rect;" />
+		<method name="getBounds(Landroid/graphics/Rect;)Z" />
+		<method name="isComplex()Z" />
+		<method name="isEmpty()Z" />
+		<method name="isRect()Z" />
+		<method name="op(IIIILandroid/graphics/Region$Op;)Z" />
+		<method name="op(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z" />
+		<method name="op(Landroid/graphics/Rect;Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z" />
+		<method name="op(Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z" />
+		<method name="op(Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z" />
+		<method name="quickContains(IIII)Z" />
+		<method name="quickContains(Landroid/graphics/Rect;)Z" />
+		<method name="quickReject(IIII)Z" />
+		<method name="quickReject(Landroid/graphics/Rect;)Z" />
+		<method name="quickReject(Landroid/graphics/Region;)Z" />
+		<method name="set(IIII)Z" />
+		<method name="set(Landroid/graphics/Rect;)Z" />
+		<method name="set(Landroid/graphics/Region;)Z" />
+		<method name="setEmpty()V" />
+		<method name="setPath(Landroid/graphics/Path;Landroid/graphics/Region;)Z" />
+		<method name="translate(II)V" />
+		<method name="translate(IILandroid/graphics/Region;)V" />
+		<method name="union(Landroid/graphics/Rect;)Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/graphics/Region$Op" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Region$Op;" />
+		<method name="values()[Landroid/graphics/Region$Op;" />
+		<field name="DIFFERENCE" />
+		<field name="INTERSECT" />
+		<field name="REPLACE" />
+		<field name="REVERSE_DIFFERENCE" />
+		<field name="UNION" />
+		<field name="XOR" />
+	</class>
+	<class name="android/graphics/RegionIterator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/Region;)V" />
+		<method name="next(Landroid/graphics/Rect;)Z" />
+	</class>
+	<class name="android/graphics/RenderEffect" since="31">
+		<extends name="java/lang/Object" />
+		<method name="createBitmapEffect(Landroid/graphics/Bitmap;)Landroid/graphics/RenderEffect;" />
+		<method name="createBitmapEffect(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/graphics/RenderEffect;" />
+		<method name="createBlendModeEffect(Landroid/graphics/RenderEffect;Landroid/graphics/RenderEffect;Landroid/graphics/BlendMode;)Landroid/graphics/RenderEffect;" />
+		<method name="createBlurEffect(FFLandroid/graphics/RenderEffect;Landroid/graphics/Shader$TileMode;)Landroid/graphics/RenderEffect;" />
+		<method name="createBlurEffect(FFLandroid/graphics/Shader$TileMode;)Landroid/graphics/RenderEffect;" />
+		<method name="createChainEffect(Landroid/graphics/RenderEffect;Landroid/graphics/RenderEffect;)Landroid/graphics/RenderEffect;" />
+		<method name="createColorFilterEffect(Landroid/graphics/ColorFilter;)Landroid/graphics/RenderEffect;" />
+		<method name="createColorFilterEffect(Landroid/graphics/ColorFilter;Landroid/graphics/RenderEffect;)Landroid/graphics/RenderEffect;" />
+		<method name="createOffsetEffect(FF)Landroid/graphics/RenderEffect;" />
+		<method name="createOffsetEffect(FFLandroid/graphics/RenderEffect;)Landroid/graphics/RenderEffect;" />
+		<method name="createShaderEffect(Landroid/graphics/Shader;)Landroid/graphics/RenderEffect;" />
+	</class>
+	<class name="android/graphics/RenderNode" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="beginRecording()Landroid/graphics/RecordingCanvas;" />
+		<method name="beginRecording(II)Landroid/graphics/RecordingCanvas;" />
+		<method name="computeApproximateMemoryUsage()J" />
+		<method name="discardDisplayList()V" />
+		<method name="endRecording()V" />
+		<method name="getAlpha()F" />
+		<method name="getAmbientShadowColor()I" />
+		<method name="getBottom()I" />
+		<method name="getCameraDistance()F" />
+		<method name="getClipToBounds()Z" />
+		<method name="getClipToOutline()Z" />
+		<method name="getElevation()F" />
+		<method name="getHeight()I" />
+		<method name="getInverseMatrix(Landroid/graphics/Matrix;)V" />
+		<method name="getLeft()I" />
+		<method name="getMatrix(Landroid/graphics/Matrix;)V" />
+		<method name="getPivotX()F" />
+		<method name="getPivotY()F" />
+		<method name="getRight()I" />
+		<method name="getRotationX()F" />
+		<method name="getRotationY()F" />
+		<method name="getRotationZ()F" />
+		<method name="getScaleX()F" />
+		<method name="getScaleY()F" />
+		<method name="getSpotShadowColor()I" />
+		<method name="getTop()I" />
+		<method name="getTranslationX()F" />
+		<method name="getTranslationY()F" />
+		<method name="getTranslationZ()F" />
+		<method name="getUniqueId()J" />
+		<method name="getUseCompositingLayer()Z" />
+		<method name="getWidth()I" />
+		<method name="hasDisplayList()Z" />
+		<method name="hasIdentityMatrix()Z" />
+		<method name="hasOverlappingRendering()Z" />
+		<method name="hasShadow()Z" />
+		<method name="isForceDarkAllowed()Z" />
+		<method name="isPivotExplicitlySet()Z" />
+		<method name="offsetLeftAndRight(I)Z" />
+		<method name="offsetTopAndBottom(I)Z" />
+		<method name="resetPivot()Z" />
+		<method name="setAlpha(F)Z" />
+		<method name="setAmbientShadowColor(I)Z" />
+		<method name="setCameraDistance(F)Z" />
+		<method name="setClipRect(Landroid/graphics/Rect;)Z" />
+		<method name="setClipToBounds(Z)Z" />
+		<method name="setClipToOutline(Z)Z" />
+		<method name="setElevation(F)Z" />
+		<method name="setForceDarkAllowed(Z)Z" />
+		<method name="setHasOverlappingRendering(Z)Z" />
+		<method name="setOutline(Landroid/graphics/Outline;)Z" />
+		<method name="setPivotX(F)Z" />
+		<method name="setPivotY(F)Z" />
+		<method name="setPosition(IIII)Z" />
+		<method name="setPosition(Landroid/graphics/Rect;)Z" />
+		<method name="setProjectBackwards(Z)Z" />
+		<method name="setProjectionReceiver(Z)Z" />
+		<method name="setRenderEffect(Landroid/graphics/RenderEffect;)Z" since="31" />
+		<method name="setRotationX(F)Z" />
+		<method name="setRotationY(F)Z" />
+		<method name="setRotationZ(F)Z" />
+		<method name="setScaleX(F)Z" />
+		<method name="setScaleY(F)Z" />
+		<method name="setSpotShadowColor(I)Z" />
+		<method name="setTranslationX(F)Z" />
+		<method name="setTranslationY(F)Z" />
+		<method name="setTranslationZ(F)Z" />
+		<method name="setUseCompositingLayer(ZLandroid/graphics/Paint;)Z" />
+	</class>
+	<class name="android/graphics/Shader" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="26" />
+		<method name="getLocalMatrix(Landroid/graphics/Matrix;)Z" />
+		<method name="setLocalMatrix(Landroid/graphics/Matrix;)V" />
+	</class>
+	<class name="android/graphics/Shader$TileMode" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Shader$TileMode;" />
+		<method name="values()[Landroid/graphics/Shader$TileMode;" />
+		<field name="CLAMP" />
+		<field name="DECAL" since="31" />
+		<field name="MIRROR" />
+		<field name="REPEAT" />
+	</class>
+	<class name="android/graphics/SumPathEffect" since="1">
+		<extends name="android/graphics/PathEffect" />
+		<method name="&lt;init&gt;(Landroid/graphics/PathEffect;Landroid/graphics/PathEffect;)V" />
+	</class>
+	<class name="android/graphics/SurfaceTexture" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IZ)V" since="19" />
+		<method name="&lt;init&gt;(Z)V" since="26" />
+		<method name="attachToGLContext(I)V" since="16" />
+		<method name="detachFromGLContext()V" since="16" />
+		<method name="getTimestamp()J" since="14" />
+		<method name="getTransformMatrix([F)V" />
+		<method name="isReleased()Z" since="26" />
+		<method name="release()V" since="14" />
+		<method name="releaseTexImage()V" since="19" />
+		<method name="setDefaultBufferSize(II)V" since="15" />
+		<method name="setOnFrameAvailableListener(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;)V" />
+		<method name="setOnFrameAvailableListener(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;Landroid/os/Handler;)V" since="21" />
+		<method name="updateTexImage()V" />
+	</class>
+	<class name="android/graphics/SurfaceTexture$OnFrameAvailableListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onFrameAvailable(Landroid/graphics/SurfaceTexture;)V" />
+	</class>
+	<class name="android/graphics/SurfaceTexture$OutOfResourcesException" since="11" deprecated="19">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="29" />
+	</class>
+	<class name="android/graphics/SweepGradient" since="1">
+		<extends name="android/graphics/Shader" />
+		<method name="&lt;init&gt;(FFII)V" />
+		<method name="&lt;init&gt;(FFJJ)V" since="29" />
+		<method name="&lt;init&gt;(FF[I[F)V" />
+		<method name="&lt;init&gt;(FF[J[F)V" since="29" />
+	</class>
+	<class name="android/graphics/Typeface" since="1">
+		<extends name="java/lang/Object" />
+		<method name="create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface;" />
+		<method name="create(Landroid/graphics/Typeface;IZ)Landroid/graphics/Typeface;" since="28" />
+		<method name="create(Ljava/lang/String;I)Landroid/graphics/Typeface;" />
+		<method name="createFromAsset(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;" />
+		<method name="createFromFile(Ljava/io/File;)Landroid/graphics/Typeface;" since="4" />
+		<method name="createFromFile(Ljava/lang/String;)Landroid/graphics/Typeface;" since="4" />
+		<method name="defaultFromStyle(I)Landroid/graphics/Typeface;" />
+		<method name="getStyle()I" />
+		<method name="getWeight()I" since="28" />
+		<method name="isBold()Z" />
+		<method name="isItalic()Z" />
+		<field name="BOLD" />
+		<field name="BOLD_ITALIC" />
+		<field name="DEFAULT" />
+		<field name="DEFAULT_BOLD" />
+		<field name="ITALIC" />
+		<field name="MONOSPACE" />
+		<field name="NORMAL" />
+		<field name="SANS_SERIF" />
+		<field name="SERIF" />
+	</class>
+	<class name="android/graphics/Typeface$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/res/AssetManager;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/FileDescriptor;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="build()Landroid/graphics/Typeface;" />
+		<method name="setFallback(Ljava/lang/String;)Landroid/graphics/Typeface$Builder;" />
+		<method name="setFontVariationSettings(Ljava/lang/String;)Landroid/graphics/Typeface$Builder;" />
+		<method name="setFontVariationSettings([Landroid/graphics/fonts/FontVariationAxis;)Landroid/graphics/Typeface$Builder;" />
+		<method name="setItalic(Z)Landroid/graphics/Typeface$Builder;" />
+		<method name="setTtcIndex(I)Landroid/graphics/Typeface$Builder;" />
+		<method name="setWeight(I)Landroid/graphics/Typeface$Builder;" />
+	</class>
+	<class name="android/graphics/Typeface$CustomFallbackBuilder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/fonts/FontFamily;)V" />
+		<method name="addCustomFallback(Landroid/graphics/fonts/FontFamily;)Landroid/graphics/Typeface$CustomFallbackBuilder;" />
+		<method name="build()Landroid/graphics/Typeface;" />
+		<method name="getMaxCustomFallbackCount()I" />
+		<method name="setStyle(Landroid/graphics/fonts/FontStyle;)Landroid/graphics/Typeface$CustomFallbackBuilder;" />
+		<method name="setSystemFallback(Ljava/lang/String;)Landroid/graphics/Typeface$CustomFallbackBuilder;" />
+	</class>
+	<class name="android/graphics/Xfermode" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/graphics/YuvImage" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;([BIII[I)V" />
+		<method name="compressToJpeg(Landroid/graphics/Rect;ILjava/io/OutputStream;)Z" />
+		<method name="getHeight()I" />
+		<method name="getStrides()[I" />
+		<method name="getWidth()I" />
+		<method name="getYuvData()[B" />
+		<method name="getYuvFormat()I" />
+	</class>
+	<class name="android/graphics/drawable/AdaptiveIconDrawable" since="26">
+		<extends name="android/graphics/drawable/Drawable" />
+		<implements name="android/graphics/drawable/Drawable$Callback" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V" />
+		<method name="getBackground()Landroid/graphics/drawable/Drawable;" />
+		<method name="getExtraInsetFraction()F" />
+		<method name="getForeground()Landroid/graphics/drawable/Drawable;" />
+		<method name="getIconMask()Landroid/graphics/Path;" />
+		<method name="setOpacity(I)V" />
+	</class>
+	<class name="android/graphics/drawable/Animatable" since="4">
+		<extends name="java/lang/Object" />
+		<method name="isRunning()Z" />
+		<method name="start()V" />
+		<method name="stop()V" />
+	</class>
+	<class name="android/graphics/drawable/Animatable2" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/graphics/drawable/Animatable" />
+		<method name="clearAnimationCallbacks()V" />
+		<method name="registerAnimationCallback(Landroid/graphics/drawable/Animatable2$AnimationCallback;)V" />
+		<method name="unregisterAnimationCallback(Landroid/graphics/drawable/Animatable2$AnimationCallback;)Z" />
+	</class>
+	<class name="android/graphics/drawable/Animatable2$AnimationCallback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAnimationEnd(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="onAnimationStart(Landroid/graphics/drawable/Drawable;)V" />
+	</class>
+	<class name="android/graphics/drawable/AnimatedImageDrawable" since="28">
+		<extends name="android/graphics/drawable/Drawable" />
+		<implements name="android/graphics/drawable/Animatable2" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getRepeatCount()I" />
+		<method name="setRepeatCount(I)V" />
+		<field name="REPEAT_INFINITE" />
+	</class>
+	<class name="android/graphics/drawable/AnimatedStateListDrawable" since="21">
+		<extends name="android/graphics/drawable/StateListDrawable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addState([ILandroid/graphics/drawable/Drawable;I)V" />
+		<method name="addTransition(IILandroid/graphics/drawable/Drawable;Z)V" />
+	</class>
+	<class name="android/graphics/drawable/AnimatedVectorDrawable" since="21">
+		<extends name="android/graphics/drawable/Drawable" />
+		<implements name="android/graphics/drawable/Animatable" removed="23" />
+		<implements name="android/graphics/drawable/Animatable2" since="23" />
+		<method name="&lt;init&gt;()V" />
+		<method name="reset()V" since="23" />
+	</class>
+	<class name="android/graphics/drawable/AnimationDrawable" since="1">
+		<extends name="android/graphics/drawable/DrawableContainer" />
+		<implements name="android/graphics/drawable/Animatable" since="4" />
+		<implements name="java/lang/Runnable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addFrame(Landroid/graphics/drawable/Drawable;I)V" />
+		<method name="getDuration(I)I" />
+		<method name="getFrame(I)Landroid/graphics/drawable/Drawable;" />
+		<method name="getNumberOfFrames()I" />
+		<method name="isOneShot()Z" />
+		<method name="isRunning()Z" />
+		<method name="setOneShot(Z)V" />
+		<method name="start()V" />
+		<method name="stop()V" />
+	</class>
+	<class name="android/graphics/drawable/BitmapDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" />
+		<method name="&lt;init&gt;()V" deprecated="15" />
+		<method name="&lt;init&gt;(Landroid/content/res/Resources;)V" since="4" deprecated="18" />
+		<method name="&lt;init&gt;(Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V" since="4" />
+		<method name="&lt;init&gt;(Landroid/content/res/Resources;Ljava/io/InputStream;)V" since="5" />
+		<method name="&lt;init&gt;(Landroid/content/res/Resources;Ljava/lang/String;)V" since="5" />
+		<method name="&lt;init&gt;(Landroid/graphics/Bitmap;)V" deprecated="15" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" deprecated="15" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="15" />
+		<method name="getBitmap()Landroid/graphics/Bitmap;" />
+		<method name="getGravity()I" />
+		<method name="getPaint()Landroid/graphics/Paint;" />
+		<method name="getTileModeX()Landroid/graphics/Shader$TileMode;" />
+		<method name="getTileModeY()Landroid/graphics/Shader$TileMode;" />
+		<method name="hasAntiAlias()Z" since="18" />
+		<method name="hasMipMap()Z" since="18" />
+		<method name="setAntiAlias(Z)V" />
+		<method name="setBitmap(Landroid/graphics/Bitmap;)V" since="31" />
+		<method name="setGravity(I)V" />
+		<method name="setMipMap(Z)V" since="18" />
+		<method name="setTargetDensity(I)V" since="4" />
+		<method name="setTargetDensity(Landroid/graphics/Canvas;)V" since="4" />
+		<method name="setTargetDensity(Landroid/util/DisplayMetrics;)V" since="4" />
+		<method name="setTileModeX(Landroid/graphics/Shader$TileMode;)V" />
+		<method name="setTileModeXY(Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V" />
+		<method name="setTileModeY(Landroid/graphics/Shader$TileMode;)V" />
+	</class>
+	<class name="android/graphics/drawable/ClipDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" removed="23" />
+		<extends name="android/graphics/drawable/DrawableWrapper" since="23" />
+		<implements name="android/graphics/drawable/Drawable$Callback" removed="23" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;II)V" />
+		<field name="HORIZONTAL" />
+		<field name="VERTICAL" />
+	</class>
+	<class name="android/graphics/drawable/ColorDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getAlpha()I" />
+		<method name="getColor()I" since="11" />
+		<method name="setColor(I)V" since="11" />
+	</class>
+	<class name="android/graphics/drawable/ColorStateListDrawable" since="29">
+		<extends name="android/graphics/drawable/Drawable" />
+		<implements name="android/graphics/drawable/Drawable$Callback" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/res/ColorStateList;)V" />
+		<method name="clearAlpha()V" />
+		<method name="getColorStateList()Landroid/content/res/ColorStateList;" />
+		<method name="hasFocusStateSpecified()Z" />
+		<method name="setColorStateList(Landroid/content/res/ColorStateList;)V" />
+	</class>
+	<class name="android/graphics/drawable/Drawable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="applyTheme(Landroid/content/res/Resources$Theme;)V" since="21" />
+		<method name="canApplyTheme()Z" since="21" />
+		<method name="clearColorFilter()V" />
+		<method name="copyBounds()Landroid/graphics/Rect;" />
+		<method name="copyBounds(Landroid/graphics/Rect;)V" />
+		<method name="createFromPath(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;" />
+		<method name="createFromResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;" since="4" />
+		<method name="createFromResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/drawable/Drawable;" since="5" deprecated="28" />
+		<method name="createFromStream(Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;" />
+		<method name="createFromXml(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;)Landroid/graphics/drawable/Drawable;" />
+		<method name="createFromXml(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;" since="21" />
+		<method name="createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/graphics/drawable/Drawable;" />
+		<method name="createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;" since="21" />
+		<method name="draw(Landroid/graphics/Canvas;)V" />
+		<method name="getAlpha()I" since="19" />
+		<method name="getBounds()Landroid/graphics/Rect;" />
+		<method name="getCallback()Landroid/graphics/drawable/Drawable$Callback;" since="11" />
+		<method name="getChangingConfigurations()I" />
+		<method name="getColorFilter()Landroid/graphics/ColorFilter;" since="21" />
+		<method name="getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;" />
+		<method name="getCurrent()Landroid/graphics/drawable/Drawable;" />
+		<method name="getDirtyBounds()Landroid/graphics/Rect;" since="21" />
+		<method name="getHotspotBounds(Landroid/graphics/Rect;)V" since="23" />
+		<method name="getIntrinsicHeight()I" />
+		<method name="getIntrinsicWidth()I" />
+		<method name="getLayoutDirection()I" since="23" />
+		<method name="getLevel()I" />
+		<method name="getMinimumHeight()I" />
+		<method name="getMinimumWidth()I" />
+		<method name="getOpacity()I" deprecated="29" />
+		<method name="getOpticalInsets()Landroid/graphics/Insets;" since="29" />
+		<method name="getOutline(Landroid/graphics/Outline;)V" since="21" />
+		<method name="getPadding(Landroid/graphics/Rect;)Z" />
+		<method name="getState()[I" />
+		<method name="getTransparentRegion()Landroid/graphics/Region;" />
+		<method name="hasFocusStateSpecified()Z" since="31" />
+		<method name="inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)V" />
+		<method name="inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V" since="21" />
+		<method name="invalidateSelf()V" />
+		<method name="isAutoMirrored()Z" since="19" />
+		<method name="isFilterBitmap()Z" since="23" />
+		<method name="isProjected()Z" since="29" />
+		<method name="isStateful()Z" />
+		<method name="isVisible()Z" />
+		<method name="jumpToCurrentState()V" since="11" />
+		<method name="mutate()Landroid/graphics/drawable/Drawable;" since="3" />
+		<method name="onBoundsChange(Landroid/graphics/Rect;)V" />
+		<method name="onLayoutDirectionChanged(I)Z" since="23" />
+		<method name="onLevelChange(I)Z" />
+		<method name="onStateChange([I)Z" />
+		<method name="resolveOpacity(II)I" />
+		<method name="scheduleSelf(Ljava/lang/Runnable;J)V" />
+		<method name="setAlpha(I)V" />
+		<method name="setAutoMirrored(Z)V" since="19" />
+		<method name="setBounds(IIII)V" />
+		<method name="setBounds(Landroid/graphics/Rect;)V" />
+		<method name="setCallback(Landroid/graphics/drawable/Drawable$Callback;)V" />
+		<method name="setChangingConfigurations(I)V" />
+		<method name="setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V" deprecated="29" />
+		<method name="setColorFilter(Landroid/graphics/ColorFilter;)V" />
+		<method name="setDither(Z)V" deprecated="23" />
+		<method name="setFilterBitmap(Z)V" />
+		<method name="setHotspot(FF)V" since="21" />
+		<method name="setHotspotBounds(IIII)V" since="21" />
+		<method name="setLayoutDirection(I)Z" since="23" />
+		<method name="setLevel(I)Z" />
+		<method name="setState([I)Z" />
+		<method name="setTint(I)V" since="21" />
+		<method name="setTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setTintList(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" />
+		<method name="setVisible(ZZ)Z" />
+		<method name="unscheduleSelf(Ljava/lang/Runnable;)V" />
+	</class>
+	<class name="android/graphics/drawable/Drawable$Callback" since="1">
+		<extends name="java/lang/Object" />
+		<method name="invalidateDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="scheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;J)V" />
+		<method name="unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V" />
+	</class>
+	<class name="android/graphics/drawable/Drawable$ConstantState" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="canApplyTheme()Z" since="21" />
+		<method name="getChangingConfigurations()I" />
+		<method name="newDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;" since="5" />
+		<method name="newDrawable(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;" since="21" />
+	</class>
+	<class name="android/graphics/drawable/DrawableContainer" since="1">
+		<extends name="android/graphics/drawable/Drawable" />
+		<implements name="android/graphics/drawable/Drawable$Callback" />
+		<method name="&lt;init&gt;()V" />
+		<method name="selectDrawable(I)Z" />
+		<method name="setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V" />
+		<method name="setEnterFadeDuration(I)V" since="11" />
+		<method name="setExitFadeDuration(I)V" since="11" />
+	</class>
+	<class name="android/graphics/drawable/DrawableContainer$DrawableContainerState" since="1">
+		<extends name="android/graphics/drawable/Drawable$ConstantState" />
+		<method name="addChild(Landroid/graphics/drawable/Drawable;)I" />
+		<method name="canConstantState()Z" />
+		<method name="computeConstantSize()V" since="11" />
+		<method name="getChild(I)Landroid/graphics/drawable/Drawable;" since="19" />
+		<method name="getChildCount()I" />
+		<method name="getChildren()[Landroid/graphics/drawable/Drawable;" />
+		<method name="getConstantHeight()I" />
+		<method name="getConstantMinimumHeight()I" />
+		<method name="getConstantMinimumWidth()I" />
+		<method name="getConstantPadding()Landroid/graphics/Rect;" />
+		<method name="getConstantWidth()I" />
+		<method name="getEnterFadeDuration()I" since="11" />
+		<method name="getExitFadeDuration()I" since="11" />
+		<method name="getOpacity()I" />
+		<method name="growArray(II)V" />
+		<method name="isConstantSize()Z" />
+		<method name="isStateful()Z" />
+		<method name="setConstantSize(Z)V" />
+		<method name="setEnterFadeDuration(I)V" since="11" />
+		<method name="setExitFadeDuration(I)V" since="11" />
+		<method name="setVariablePadding(Z)V" />
+	</class>
+	<class name="android/graphics/drawable/DrawableWrapper" since="23">
+		<extends name="android/graphics/drawable/Drawable" />
+		<implements name="android/graphics/drawable/Drawable$Callback" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="setDrawable(Landroid/graphics/drawable/Drawable;)V" />
+	</class>
+	<class name="android/graphics/drawable/GradientDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V" />
+		<method name="getColor()Landroid/content/res/ColorStateList;" since="24" />
+		<method name="getColors()[I" since="24" />
+		<method name="getCornerRadii()[F" since="24" />
+		<method name="getCornerRadius()F" since="24" />
+		<method name="getGradientCenterX()F" since="24" />
+		<method name="getGradientCenterY()F" since="24" />
+		<method name="getGradientRadius()F" since="21" />
+		<method name="getGradientType()I" since="24" />
+		<method name="getInnerRadius()I" since="29" />
+		<method name="getInnerRadiusRatio()F" since="29" />
+		<method name="getOrientation()Landroid/graphics/drawable/GradientDrawable$Orientation;" since="16" />
+		<method name="getShape()I" since="24" />
+		<method name="getThickness()I" since="29" />
+		<method name="getThicknessRatio()F" since="29" />
+		<method name="getUseLevel()Z" since="24" />
+		<method name="setColor(I)V" />
+		<method name="setColor(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setColors([I)V" since="16" />
+		<method name="setColors([I[F)V" since="29" />
+		<method name="setCornerRadii([F)V" />
+		<method name="setCornerRadius(F)V" />
+		<method name="setGradientCenter(FF)V" />
+		<method name="setGradientRadius(F)V" />
+		<method name="setGradientType(I)V" />
+		<method name="setInnerRadius(I)V" since="29" />
+		<method name="setInnerRadiusRatio(F)V" since="29" />
+		<method name="setOrientation(Landroid/graphics/drawable/GradientDrawable$Orientation;)V" since="16" />
+		<method name="setPadding(IIII)V" since="29" />
+		<method name="setShape(I)V" />
+		<method name="setSize(II)V" />
+		<method name="setStroke(II)V" />
+		<method name="setStroke(IIFF)V" />
+		<method name="setStroke(ILandroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setStroke(ILandroid/content/res/ColorStateList;FF)V" since="21" />
+		<method name="setThickness(I)V" since="29" />
+		<method name="setThicknessRatio(F)V" since="29" />
+		<method name="setUseLevel(Z)V" />
+		<field name="LINE" />
+		<field name="LINEAR_GRADIENT" />
+		<field name="OVAL" />
+		<field name="RADIAL_GRADIENT" />
+		<field name="RECTANGLE" />
+		<field name="RING" />
+		<field name="SWEEP_GRADIENT" />
+	</class>
+	<class name="android/graphics/drawable/GradientDrawable$Orientation" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/drawable/GradientDrawable$Orientation;" />
+		<method name="values()[Landroid/graphics/drawable/GradientDrawable$Orientation;" />
+		<field name="BL_TR" />
+		<field name="BOTTOM_TOP" />
+		<field name="BR_TL" />
+		<field name="LEFT_RIGHT" />
+		<field name="RIGHT_LEFT" />
+		<field name="TL_BR" />
+		<field name="TOP_BOTTOM" />
+		<field name="TR_BL" />
+	</class>
+	<class name="android/graphics/drawable/Icon" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="createWithAdaptiveBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/drawable/Icon;" since="26" />
+		<method name="createWithAdaptiveBitmapContentUri(Landroid/net/Uri;)Landroid/graphics/drawable/Icon;" since="30" />
+		<method name="createWithAdaptiveBitmapContentUri(Ljava/lang/String;)Landroid/graphics/drawable/Icon;" since="30" />
+		<method name="createWithBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/drawable/Icon;" />
+		<method name="createWithContentUri(Landroid/net/Uri;)Landroid/graphics/drawable/Icon;" />
+		<method name="createWithContentUri(Ljava/lang/String;)Landroid/graphics/drawable/Icon;" />
+		<method name="createWithData([BII)Landroid/graphics/drawable/Icon;" />
+		<method name="createWithFilePath(Ljava/lang/String;)Landroid/graphics/drawable/Icon;" />
+		<method name="createWithResource(Landroid/content/Context;I)Landroid/graphics/drawable/Icon;" />
+		<method name="createWithResource(Ljava/lang/String;I)Landroid/graphics/drawable/Icon;" />
+		<method name="getResId()I" since="28" />
+		<method name="getResPackage()Ljava/lang/String;" since="28" />
+		<method name="getType()I" since="28" />
+		<method name="getUri()Landroid/net/Uri;" since="28" />
+		<method name="loadDrawable(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;" />
+		<method name="loadDrawableAsync(Landroid/content/Context;Landroid/graphics/drawable/Icon$OnDrawableLoadedListener;Landroid/os/Handler;)V" />
+		<method name="loadDrawableAsync(Landroid/content/Context;Landroid/os/Message;)V" />
+		<method name="setTint(I)Landroid/graphics/drawable/Icon;" />
+		<method name="setTintBlendMode(Landroid/graphics/BlendMode;)Landroid/graphics/drawable/Icon;" since="29" />
+		<method name="setTintList(Landroid/content/res/ColorStateList;)Landroid/graphics/drawable/Icon;" />
+		<method name="setTintMode(Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/drawable/Icon;" />
+		<field name="CREATOR" />
+		<field name="TYPE_ADAPTIVE_BITMAP" since="28" />
+		<field name="TYPE_BITMAP" since="28" />
+		<field name="TYPE_DATA" since="28" />
+		<field name="TYPE_RESOURCE" since="28" />
+		<field name="TYPE_URI" since="28" />
+		<field name="TYPE_URI_ADAPTIVE_BITMAP" since="30" />
+	</class>
+	<class name="android/graphics/drawable/Icon$OnDrawableLoadedListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onDrawableLoaded(Landroid/graphics/drawable/Drawable;)V" />
+	</class>
+	<class name="android/graphics/drawable/InsetDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" removed="23" />
+		<extends name="android/graphics/drawable/DrawableWrapper" since="23" />
+		<implements name="android/graphics/drawable/Drawable$Callback" removed="23" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;F)V" since="26" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;FFFF)V" since="26" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;I)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;IIII)V" />
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;" since="19" removed="23" />
+	</class>
+	<class name="android/graphics/drawable/LayerDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" />
+		<implements name="android/graphics/drawable/Drawable$Callback" />
+		<method name="&lt;init&gt;([Landroid/graphics/drawable/Drawable;)V" />
+		<method name="addLayer(Landroid/graphics/drawable/Drawable;)I" since="23" />
+		<method name="findDrawableByLayerId(I)Landroid/graphics/drawable/Drawable;" />
+		<method name="findIndexByLayerId(I)I" since="23" />
+		<method name="getBottomPadding()I" since="23" />
+		<method name="getDrawable(I)Landroid/graphics/drawable/Drawable;" />
+		<method name="getEndPadding()I" since="23" />
+		<method name="getId(I)I" />
+		<method name="getLayerGravity(I)I" since="23" />
+		<method name="getLayerHeight(I)I" since="23" />
+		<method name="getLayerInsetBottom(I)I" since="23" />
+		<method name="getLayerInsetEnd(I)I" since="23" />
+		<method name="getLayerInsetLeft(I)I" since="23" />
+		<method name="getLayerInsetRight(I)I" since="23" />
+		<method name="getLayerInsetStart(I)I" since="23" />
+		<method name="getLayerInsetTop(I)I" since="23" />
+		<method name="getLayerWidth(I)I" since="23" />
+		<method name="getLeftPadding()I" since="23" />
+		<method name="getNumberOfLayers()I" />
+		<method name="getPaddingMode()I" since="21" />
+		<method name="getRightPadding()I" since="23" />
+		<method name="getStartPadding()I" since="23" />
+		<method name="getTopPadding()I" since="23" />
+		<method name="setDrawable(ILandroid/graphics/drawable/Drawable;)V" since="23" />
+		<method name="setDrawableByLayerId(ILandroid/graphics/drawable/Drawable;)Z" />
+		<method name="setId(II)V" />
+		<method name="setLayerGravity(II)V" since="23" />
+		<method name="setLayerHeight(II)V" since="23" />
+		<method name="setLayerInset(IIIII)V" />
+		<method name="setLayerInsetBottom(II)V" since="23" />
+		<method name="setLayerInsetEnd(II)V" since="23" />
+		<method name="setLayerInsetLeft(II)V" since="23" />
+		<method name="setLayerInsetRelative(IIIII)V" since="23" />
+		<method name="setLayerInsetRight(II)V" since="23" />
+		<method name="setLayerInsetStart(II)V" since="23" />
+		<method name="setLayerInsetTop(II)V" since="23" />
+		<method name="setLayerSize(III)V" since="23" />
+		<method name="setLayerWidth(II)V" since="23" />
+		<method name="setOpacity(I)V" since="11" />
+		<method name="setPadding(IIII)V" since="23" />
+		<method name="setPaddingMode(I)V" since="21" />
+		<method name="setPaddingRelative(IIII)V" since="23" />
+		<field name="INSET_UNDEFINED" since="24" />
+		<field name="PADDING_MODE_NEST" since="21" />
+		<field name="PADDING_MODE_STACK" since="21" />
+	</class>
+	<class name="android/graphics/drawable/LevelListDrawable" since="1">
+		<extends name="android/graphics/drawable/DrawableContainer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addLevel(IILandroid/graphics/drawable/Drawable;)V" />
+	</class>
+	<class name="android/graphics/drawable/NinePatchDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" />
+		<method name="&lt;init&gt;(Landroid/content/res/Resources;Landroid/graphics/Bitmap;[BLandroid/graphics/Rect;Ljava/lang/String;)V" since="4" />
+		<method name="&lt;init&gt;(Landroid/content/res/Resources;Landroid/graphics/NinePatch;)V" since="4" />
+		<method name="&lt;init&gt;(Landroid/graphics/Bitmap;[BLandroid/graphics/Rect;Ljava/lang/String;)V" deprecated="15" />
+		<method name="&lt;init&gt;(Landroid/graphics/NinePatch;)V" deprecated="15" />
+		<method name="getPaint()Landroid/graphics/Paint;" />
+		<method name="setTargetDensity(I)V" since="4" />
+		<method name="setTargetDensity(Landroid/graphics/Canvas;)V" since="4" />
+		<method name="setTargetDensity(Landroid/util/DisplayMetrics;)V" since="4" />
+	</class>
+	<class name="android/graphics/drawable/PaintDrawable" since="1">
+		<extends name="android/graphics/drawable/ShapeDrawable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="setCornerRadii([F)V" />
+		<method name="setCornerRadius(F)V" />
+	</class>
+	<class name="android/graphics/drawable/PictureDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" />
+		<method name="&lt;init&gt;(Landroid/graphics/Picture;)V" />
+		<method name="getPicture()Landroid/graphics/Picture;" />
+		<method name="setPicture(Landroid/graphics/Picture;)V" />
+	</class>
+	<class name="android/graphics/drawable/RippleDrawable" since="21">
+		<extends name="android/graphics/drawable/LayerDrawable" />
+		<method name="&lt;init&gt;(Landroid/content/res/ColorStateList;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V" />
+		<method name="getEffectColor()Landroid/content/res/ColorStateList;" since="31" />
+		<method name="getRadius()I" since="23" />
+		<method name="setColor(Landroid/content/res/ColorStateList;)V" />
+		<method name="setEffectColor(Landroid/content/res/ColorStateList;)V" since="31" />
+		<method name="setRadius(I)V" since="23" />
+		<field name="RADIUS_AUTO" since="23" />
+	</class>
+	<class name="android/graphics/drawable/RotateDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" removed="23" />
+		<extends name="android/graphics/drawable/DrawableWrapper" since="23" />
+		<implements name="android/graphics/drawable/Drawable$Callback" removed="23" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;" since="3" removed="23" />
+		<method name="getFromDegrees()F" since="21" />
+		<method name="getPivotX()F" since="21" />
+		<method name="getPivotY()F" since="21" />
+		<method name="getToDegrees()F" since="21" />
+		<method name="isPivotXRelative()Z" since="21" />
+		<method name="isPivotYRelative()Z" since="21" />
+		<method name="setDrawable(Landroid/graphics/drawable/Drawable;)V" since="21" removed="23" />
+		<method name="setFromDegrees(F)V" since="21" />
+		<method name="setPivotX(F)V" since="21" />
+		<method name="setPivotXRelative(Z)V" since="21" />
+		<method name="setPivotY(F)V" since="21" />
+		<method name="setPivotYRelative(Z)V" since="21" />
+		<method name="setToDegrees(F)V" since="21" />
+	</class>
+	<class name="android/graphics/drawable/ScaleDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" removed="23" />
+		<extends name="android/graphics/drawable/DrawableWrapper" since="23" />
+		<implements name="android/graphics/drawable/Drawable$Callback" removed="23" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;IFF)V" />
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;" since="3" removed="23" />
+	</class>
+	<class name="android/graphics/drawable/ShapeDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/shapes/Shape;)V" />
+		<method name="getPaint()Landroid/graphics/Paint;" />
+		<method name="getShaderFactory()Landroid/graphics/drawable/ShapeDrawable$ShaderFactory;" />
+		<method name="getShape()Landroid/graphics/drawable/shapes/Shape;" />
+		<method name="inflateTag(Ljava/lang/String;Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Z" />
+		<method name="onDraw(Landroid/graphics/drawable/shapes/Shape;Landroid/graphics/Canvas;Landroid/graphics/Paint;)V" />
+		<method name="setIntrinsicHeight(I)V" />
+		<method name="setIntrinsicWidth(I)V" />
+		<method name="setPadding(IIII)V" />
+		<method name="setPadding(Landroid/graphics/Rect;)V" />
+		<method name="setShaderFactory(Landroid/graphics/drawable/ShapeDrawable$ShaderFactory;)V" />
+		<method name="setShape(Landroid/graphics/drawable/shapes/Shape;)V" />
+	</class>
+	<class name="android/graphics/drawable/ShapeDrawable$ShaderFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="resize(II)Landroid/graphics/Shader;" />
+	</class>
+	<class name="android/graphics/drawable/StateListDrawable" since="1">
+		<extends name="android/graphics/drawable/DrawableContainer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addState([ILandroid/graphics/drawable/Drawable;)V" />
+		<method name="findStateDrawableIndex([I)I" since="29" />
+		<method name="getStateCount()I" since="29" />
+		<method name="getStateDrawable(I)Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getStateSet(I)[I" since="29" />
+	</class>
+	<class name="android/graphics/drawable/TransitionDrawable" since="1">
+		<extends name="android/graphics/drawable/LayerDrawable" />
+		<method name="&lt;init&gt;([Landroid/graphics/drawable/Drawable;)V" since="3" />
+		<method name="isCrossFadeEnabled()Z" />
+		<method name="resetTransition()V" />
+		<method name="reverseTransition(I)V" />
+		<method name="setCrossFadeEnabled(Z)V" />
+		<method name="startTransition(I)V" />
+	</class>
+	<class name="android/graphics/drawable/VectorDrawable" since="21">
+		<extends name="android/graphics/drawable/Drawable" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/graphics/drawable/shapes/ArcShape" since="1">
+		<extends name="android/graphics/drawable/shapes/RectShape" />
+		<method name="&lt;init&gt;(FF)V" />
+		<method name="clone()Landroid/graphics/drawable/shapes/ArcShape;" since="26" />
+		<method name="getStartAngle()F" since="26" />
+		<method name="getSweepAngle()F" since="26" />
+	</class>
+	<class name="android/graphics/drawable/shapes/OvalShape" since="1">
+		<extends name="android/graphics/drawable/shapes/RectShape" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clone()Landroid/graphics/drawable/shapes/OvalShape;" since="26" />
+	</class>
+	<class name="android/graphics/drawable/shapes/PathShape" since="1">
+		<extends name="android/graphics/drawable/shapes/Shape" />
+		<method name="&lt;init&gt;(Landroid/graphics/Path;FF)V" />
+		<method name="clone()Landroid/graphics/drawable/shapes/PathShape;" since="3" />
+	</class>
+	<class name="android/graphics/drawable/shapes/RectShape" since="1">
+		<extends name="android/graphics/drawable/shapes/Shape" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clone()Landroid/graphics/drawable/shapes/RectShape;" since="3" />
+		<method name="rect()Landroid/graphics/RectF;" />
+	</class>
+	<class name="android/graphics/drawable/shapes/RoundRectShape" since="1">
+		<extends name="android/graphics/drawable/shapes/RectShape" />
+		<method name="&lt;init&gt;([FLandroid/graphics/RectF;[F)V" />
+		<method name="clone()Landroid/graphics/drawable/shapes/RoundRectShape;" since="3" />
+	</class>
+	<class name="android/graphics/drawable/shapes/Shape" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" since="3" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clone()Landroid/graphics/drawable/shapes/Shape;" since="3" />
+		<method name="draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V" />
+		<method name="getHeight()F" />
+		<method name="getOutline(Landroid/graphics/Outline;)V" since="21" />
+		<method name="getWidth()F" />
+		<method name="hasAlpha()Z" />
+		<method name="onResize(FF)V" />
+		<method name="resize(FF)V" />
+	</class>
+	<class name="android/graphics/fonts/Font" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getAxes()[Landroid/graphics/fonts/FontVariationAxis;" />
+		<method name="getBuffer()Ljava/nio/ByteBuffer;" />
+		<method name="getFile()Ljava/io/File;" />
+		<method name="getGlyphBounds(ILandroid/graphics/Paint;Landroid/graphics/RectF;)F" since="31" />
+		<method name="getLocaleList()Landroid/os/LocaleList;" />
+		<method name="getMetrics(Landroid/graphics/Paint;Landroid/graphics/Paint$FontMetrics;)V" since="31" />
+		<method name="getSourceIdentifier()I" since="31" />
+		<method name="getStyle()Landroid/graphics/fonts/FontStyle;" />
+		<method name="getTtcIndex()I" />
+	</class>
+	<class name="android/graphics/fonts/Font$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/res/AssetManager;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Landroid/content/res/Resources;I)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/fonts/Font;)V" since="31" />
+		<method name="&lt;init&gt;(Landroid/os/ParcelFileDescriptor;)V" />
+		<method name="&lt;init&gt;(Landroid/os/ParcelFileDescriptor;JJ)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/nio/ByteBuffer;)V" />
+		<method name="build()Landroid/graphics/fonts/Font;" />
+		<method name="setFontVariationSettings(Ljava/lang/String;)Landroid/graphics/fonts/Font$Builder;" />
+		<method name="setFontVariationSettings([Landroid/graphics/fonts/FontVariationAxis;)Landroid/graphics/fonts/Font$Builder;" />
+		<method name="setSlant(I)Landroid/graphics/fonts/Font$Builder;" />
+		<method name="setTtcIndex(I)Landroid/graphics/fonts/Font$Builder;" />
+		<method name="setWeight(I)Landroid/graphics/fonts/Font$Builder;" />
+	</class>
+	<class name="android/graphics/fonts/FontFamily" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getFont(I)Landroid/graphics/fonts/Font;" />
+		<method name="getSize()I" />
+	</class>
+	<class name="android/graphics/fonts/FontFamily$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/fonts/Font;)V" />
+		<method name="addFont(Landroid/graphics/fonts/Font;)Landroid/graphics/fonts/FontFamily$Builder;" />
+		<method name="build()Landroid/graphics/fonts/FontFamily;" />
+	</class>
+	<class name="android/graphics/fonts/FontStyle" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getSlant()I" />
+		<method name="getWeight()I" />
+		<field name="FONT_SLANT_ITALIC" />
+		<field name="FONT_SLANT_UPRIGHT" />
+		<field name="FONT_WEIGHT_BLACK" />
+		<field name="FONT_WEIGHT_BOLD" />
+		<field name="FONT_WEIGHT_EXTRA_BOLD" />
+		<field name="FONT_WEIGHT_EXTRA_LIGHT" />
+		<field name="FONT_WEIGHT_LIGHT" />
+		<field name="FONT_WEIGHT_MAX" />
+		<field name="FONT_WEIGHT_MEDIUM" />
+		<field name="FONT_WEIGHT_MIN" />
+		<field name="FONT_WEIGHT_NORMAL" />
+		<field name="FONT_WEIGHT_SEMI_BOLD" />
+		<field name="FONT_WEIGHT_THIN" />
+	</class>
+	<class name="android/graphics/fonts/FontVariationAxis" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;F)V" />
+		<method name="fromFontVariationSettings(Ljava/lang/String;)[Landroid/graphics/fonts/FontVariationAxis;" />
+		<method name="getStyleValue()F" />
+		<method name="getTag()Ljava/lang/String;" />
+		<method name="toFontVariationSettings([Landroid/graphics/fonts/FontVariationAxis;)Ljava/lang/String;" />
+	</class>
+	<class name="android/graphics/fonts/SystemFonts" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getAvailableFonts()Ljava/util/Set;" />
+	</class>
+	<class name="android/graphics/pdf/PdfDocument" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="close()V" />
+		<method name="finishPage(Landroid/graphics/pdf/PdfDocument$Page;)V" />
+		<method name="getPages()Ljava/util/List;" />
+		<method name="startPage(Landroid/graphics/pdf/PdfDocument$PageInfo;)Landroid/graphics/pdf/PdfDocument$Page;" />
+		<method name="writeTo(Ljava/io/OutputStream;)V" />
+	</class>
+	<class name="android/graphics/pdf/PdfDocument$Page" since="19">
+		<extends name="java/lang/Object" />
+		<method name="getCanvas()Landroid/graphics/Canvas;" />
+		<method name="getInfo()Landroid/graphics/pdf/PdfDocument$PageInfo;" />
+	</class>
+	<class name="android/graphics/pdf/PdfDocument$PageInfo" since="19">
+		<extends name="java/lang/Object" />
+		<method name="getContentRect()Landroid/graphics/Rect;" />
+		<method name="getPageHeight()I" />
+		<method name="getPageNumber()I" />
+		<method name="getPageWidth()I" />
+	</class>
+	<class name="android/graphics/pdf/PdfDocument$PageInfo$Builder" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="create()Landroid/graphics/pdf/PdfDocument$PageInfo;" />
+		<method name="setContentRect(Landroid/graphics/Rect;)Landroid/graphics/pdf/PdfDocument$PageInfo$Builder;" />
+	</class>
+	<class name="android/graphics/pdf/PdfRenderer" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="&lt;init&gt;(Landroid/os/ParcelFileDescriptor;)V" />
+		<method name="getPageCount()I" />
+		<method name="openPage(I)Landroid/graphics/pdf/PdfRenderer$Page;" />
+		<method name="shouldScaleForPrinting()Z" />
+	</class>
+	<class name="android/graphics/pdf/PdfRenderer$Page" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="getHeight()I" />
+		<method name="getIndex()I" />
+		<method name="getWidth()I" />
+		<method name="render(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Matrix;I)V" />
+		<field name="RENDER_MODE_FOR_DISPLAY" />
+		<field name="RENDER_MODE_FOR_PRINT" />
+	</class>
+	<class name="android/graphics/text/LineBreaker" since="29">
+		<extends name="java/lang/Object" />
+		<method name="computeLineBreaks(Landroid/graphics/text/MeasuredText;Landroid/graphics/text/LineBreaker$ParagraphConstraints;I)Landroid/graphics/text/LineBreaker$Result;" />
+		<field name="BREAK_STRATEGY_BALANCED" />
+		<field name="BREAK_STRATEGY_HIGH_QUALITY" />
+		<field name="BREAK_STRATEGY_SIMPLE" />
+		<field name="HYPHENATION_FREQUENCY_FULL" />
+		<field name="HYPHENATION_FREQUENCY_NONE" />
+		<field name="HYPHENATION_FREQUENCY_NORMAL" />
+		<field name="JUSTIFICATION_MODE_INTER_WORD" />
+		<field name="JUSTIFICATION_MODE_NONE" />
+	</class>
+	<class name="android/graphics/text/LineBreaker$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/graphics/text/LineBreaker;" />
+		<method name="setBreakStrategy(I)Landroid/graphics/text/LineBreaker$Builder;" />
+		<method name="setHyphenationFrequency(I)Landroid/graphics/text/LineBreaker$Builder;" />
+		<method name="setIndents([I)Landroid/graphics/text/LineBreaker$Builder;" />
+		<method name="setJustificationMode(I)Landroid/graphics/text/LineBreaker$Builder;" />
+	</class>
+	<class name="android/graphics/text/LineBreaker$ParagraphConstraints" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getDefaultTabStop()F" />
+		<method name="getFirstWidth()F" />
+		<method name="getFirstWidthLineCount()I" />
+		<method name="getTabStops()[F" />
+		<method name="getWidth()F" />
+		<method name="setIndent(FI)V" />
+		<method name="setTabStops([FF)V" />
+		<method name="setWidth(F)V" />
+	</class>
+	<class name="android/graphics/text/LineBreaker$Result" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getEndLineHyphenEdit(I)I" />
+		<method name="getLineAscent(I)F" />
+		<method name="getLineBreakOffset(I)I" />
+		<method name="getLineCount()I" />
+		<method name="getLineDescent(I)F" />
+		<method name="getLineWidth(I)F" />
+		<method name="getStartLineHyphenEdit(I)I" />
+		<method name="hasLineTab(I)Z" />
+	</class>
+	<class name="android/graphics/text/MeasuredText" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getBounds(IILandroid/graphics/Rect;)V" />
+		<method name="getCharWidthAt(I)F" />
+		<method name="getWidth(II)F" />
+	</class>
+	<class name="android/graphics/text/MeasuredText$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/text/MeasuredText;)V" />
+		<method name="&lt;init&gt;([C)V" />
+		<method name="appendReplacementRun(Landroid/graphics/Paint;IF)Landroid/graphics/text/MeasuredText$Builder;" />
+		<method name="appendStyleRun(Landroid/graphics/Paint;IZ)Landroid/graphics/text/MeasuredText$Builder;" />
+		<method name="build()Landroid/graphics/text/MeasuredText;" />
+		<method name="setComputeHyphenation(Z)Landroid/graphics/text/MeasuredText$Builder;" />
+		<method name="setComputeLayout(Z)Landroid/graphics/text/MeasuredText$Builder;" />
+	</class>
+	<class name="android/graphics/text/PositionedGlyphs" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getAdvance()F" />
+		<method name="getAscent()F" />
+		<method name="getDescent()F" />
+		<method name="getFont(I)Landroid/graphics/fonts/Font;" />
+		<method name="getGlyphId(I)I" />
+		<method name="getGlyphX(I)F" />
+		<method name="getGlyphY(I)F" />
+		<method name="getOffsetX()F" />
+		<method name="getOffsetY()F" />
+		<method name="glyphCount()I" />
+	</class>
+	<class name="android/graphics/text/TextRunShaper" since="31">
+		<extends name="java/lang/Object" />
+		<method name="shapeTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)Landroid/graphics/text/PositionedGlyphs;" />
+		<method name="shapeTextRun([CIIIIFFZLandroid/graphics/Paint;)Landroid/graphics/text/PositionedGlyphs;" />
+	</class>
+	<class name="android/hardware/BatteryState" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getCapacity()F" />
+		<method name="getStatus()I" />
+		<method name="isPresent()Z" />
+		<field name="STATUS_CHARGING" />
+		<field name="STATUS_DISCHARGING" />
+		<field name="STATUS_FULL" />
+		<field name="STATUS_NOT_CHARGING" />
+		<field name="STATUS_UNKNOWN" />
+	</class>
+	<class name="android/hardware/Camera" since="1" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="addCallbackBuffer([B)V" since="8" deprecated="29" />
+		<method name="autoFocus(Landroid/hardware/Camera$AutoFocusCallback;)V" deprecated="29" />
+		<method name="cancelAutoFocus()V" since="5" deprecated="29" />
+		<method name="enableShutterSound(Z)Z" since="17" deprecated="29" />
+		<method name="getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V" since="9" deprecated="29" />
+		<method name="getNumberOfCameras()I" since="9" deprecated="29" />
+		<method name="getParameters()Landroid/hardware/Camera$Parameters;" deprecated="29" />
+		<method name="lock()V" since="5" deprecated="29" />
+		<method name="open()Landroid/hardware/Camera;" deprecated="29" />
+		<method name="open(I)Landroid/hardware/Camera;" since="9" deprecated="29" />
+		<method name="reconnect()V" since="8" deprecated="29" />
+		<method name="release()V" deprecated="29" />
+		<method name="setAutoFocusMoveCallback(Landroid/hardware/Camera$AutoFocusMoveCallback;)V" since="16" deprecated="29" />
+		<method name="setDisplayOrientation(I)V" since="8" deprecated="29" />
+		<method name="setErrorCallback(Landroid/hardware/Camera$ErrorCallback;)V" deprecated="29" />
+		<method name="setFaceDetectionListener(Landroid/hardware/Camera$FaceDetectionListener;)V" since="14" deprecated="29" />
+		<method name="setOneShotPreviewCallback(Landroid/hardware/Camera$PreviewCallback;)V" since="3" deprecated="29" />
+		<method name="setParameters(Landroid/hardware/Camera$Parameters;)V" deprecated="29" />
+		<method name="setPreviewCallback(Landroid/hardware/Camera$PreviewCallback;)V" deprecated="29" />
+		<method name="setPreviewCallbackWithBuffer(Landroid/hardware/Camera$PreviewCallback;)V" since="8" deprecated="29" />
+		<method name="setPreviewDisplay(Landroid/view/SurfaceHolder;)V" deprecated="29" />
+		<method name="setPreviewTexture(Landroid/graphics/SurfaceTexture;)V" since="11" deprecated="29" />
+		<method name="setZoomChangeListener(Landroid/hardware/Camera$OnZoomChangeListener;)V" since="8" deprecated="29" />
+		<method name="startFaceDetection()V" since="14" deprecated="29" />
+		<method name="startPreview()V" deprecated="29" />
+		<method name="startSmoothZoom(I)V" since="8" deprecated="29" />
+		<method name="stopFaceDetection()V" since="14" deprecated="29" />
+		<method name="stopPreview()V" deprecated="29" />
+		<method name="stopSmoothZoom()V" since="8" deprecated="29" />
+		<method name="takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V" deprecated="29" />
+		<method name="takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V" since="5" deprecated="29" />
+		<method name="unlock()V" since="5" deprecated="29" />
+		<field name="ACTION_NEW_PICTURE" since="14" deprecated="24" />
+		<field name="ACTION_NEW_VIDEO" since="14" deprecated="24" />
+		<field name="CAMERA_ERROR_EVICTED" since="23" deprecated="29" />
+		<field name="CAMERA_ERROR_SERVER_DIED" deprecated="29" />
+		<field name="CAMERA_ERROR_UNKNOWN" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$Area" since="14" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/Rect;I)V" deprecated="29" />
+		<field name="rect" deprecated="29" />
+		<field name="weight" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$AutoFocusCallback" since="1" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="onAutoFocus(ZLandroid/hardware/Camera;)V" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$AutoFocusMoveCallback" since="16" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="onAutoFocusMoving(ZLandroid/hardware/Camera;)V" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$CameraInfo" since="9" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<field name="CAMERA_FACING_BACK" deprecated="29" />
+		<field name="CAMERA_FACING_FRONT" deprecated="29" />
+		<field name="canDisableShutterSound" since="17" deprecated="29" />
+		<field name="facing" deprecated="29" />
+		<field name="orientation" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$ErrorCallback" since="1" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="onError(ILandroid/hardware/Camera;)V" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$Face" since="14" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<field name="id" deprecated="29" />
+		<field name="leftEye" deprecated="29" />
+		<field name="mouth" deprecated="29" />
+		<field name="rect" deprecated="29" />
+		<field name="rightEye" deprecated="29" />
+		<field name="score" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$FaceDetectionListener" since="14" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$OnZoomChangeListener" since="8" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="onZoomChange(IZLandroid/hardware/Camera;)V" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$Parameters" since="1" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="flatten()Ljava/lang/String;" deprecated="29" />
+		<method name="get(Ljava/lang/String;)Ljava/lang/String;" deprecated="29" />
+		<method name="getAntibanding()Ljava/lang/String;" since="5" deprecated="29" />
+		<method name="getAutoExposureLock()Z" since="14" deprecated="29" />
+		<method name="getAutoWhiteBalanceLock()Z" since="14" deprecated="29" />
+		<method name="getColorEffect()Ljava/lang/String;" since="5" deprecated="29" />
+		<method name="getExposureCompensation()I" since="8" deprecated="29" />
+		<method name="getExposureCompensationStep()F" since="8" deprecated="29" />
+		<method name="getFlashMode()Ljava/lang/String;" since="5" deprecated="29" />
+		<method name="getFocalLength()F" since="8" deprecated="29" />
+		<method name="getFocusAreas()Ljava/util/List;" since="14" deprecated="29" />
+		<method name="getFocusDistances([F)V" since="9" deprecated="29" />
+		<method name="getFocusMode()Ljava/lang/String;" since="5" deprecated="29" />
+		<method name="getHorizontalViewAngle()F" since="8" deprecated="29" />
+		<method name="getInt(Ljava/lang/String;)I" deprecated="29" />
+		<method name="getJpegQuality()I" since="5" deprecated="29" />
+		<method name="getJpegThumbnailQuality()I" since="5" deprecated="29" />
+		<method name="getJpegThumbnailSize()Landroid/hardware/Camera$Size;" since="5" deprecated="29" />
+		<method name="getMaxExposureCompensation()I" since="8" deprecated="29" />
+		<method name="getMaxNumDetectedFaces()I" since="14" deprecated="29" />
+		<method name="getMaxNumFocusAreas()I" since="14" deprecated="29" />
+		<method name="getMaxNumMeteringAreas()I" since="14" deprecated="29" />
+		<method name="getMaxZoom()I" since="8" deprecated="29" />
+		<method name="getMeteringAreas()Ljava/util/List;" since="14" deprecated="29" />
+		<method name="getMinExposureCompensation()I" since="8" deprecated="29" />
+		<method name="getPictureFormat()I" deprecated="29" />
+		<method name="getPictureSize()Landroid/hardware/Camera$Size;" deprecated="29" />
+		<method name="getPreferredPreviewSizeForVideo()Landroid/hardware/Camera$Size;" since="11" deprecated="29" />
+		<method name="getPreviewFormat()I" deprecated="29" />
+		<method name="getPreviewFpsRange([I)V" since="9" deprecated="29" />
+		<method name="getPreviewFrameRate()I" deprecated="15" />
+		<method name="getPreviewSize()Landroid/hardware/Camera$Size;" deprecated="29" />
+		<method name="getSceneMode()Ljava/lang/String;" since="5" deprecated="29" />
+		<method name="getSupportedAntibanding()Ljava/util/List;" since="5" deprecated="29" />
+		<method name="getSupportedColorEffects()Ljava/util/List;" since="5" deprecated="29" />
+		<method name="getSupportedFlashModes()Ljava/util/List;" since="5" deprecated="29" />
+		<method name="getSupportedFocusModes()Ljava/util/List;" since="5" deprecated="29" />
+		<method name="getSupportedJpegThumbnailSizes()Ljava/util/List;" since="8" deprecated="29" />
+		<method name="getSupportedPictureFormats()Ljava/util/List;" since="5" deprecated="29" />
+		<method name="getSupportedPictureSizes()Ljava/util/List;" since="5" deprecated="29" />
+		<method name="getSupportedPreviewFormats()Ljava/util/List;" since="5" deprecated="29" />
+		<method name="getSupportedPreviewFpsRange()Ljava/util/List;" since="9" deprecated="29" />
+		<method name="getSupportedPreviewFrameRates()Ljava/util/List;" since="5" deprecated="15" />
+		<method name="getSupportedPreviewSizes()Ljava/util/List;" since="5" deprecated="29" />
+		<method name="getSupportedSceneModes()Ljava/util/List;" since="5" deprecated="29" />
+		<method name="getSupportedVideoSizes()Ljava/util/List;" since="11" deprecated="29" />
+		<method name="getSupportedWhiteBalance()Ljava/util/List;" since="5" deprecated="29" />
+		<method name="getVerticalViewAngle()F" since="8" deprecated="29" />
+		<method name="getVideoStabilization()Z" since="15" deprecated="29" />
+		<method name="getWhiteBalance()Ljava/lang/String;" since="5" deprecated="29" />
+		<method name="getZoom()I" since="8" deprecated="29" />
+		<method name="getZoomRatios()Ljava/util/List;" since="8" deprecated="29" />
+		<method name="isAutoExposureLockSupported()Z" since="14" deprecated="29" />
+		<method name="isAutoWhiteBalanceLockSupported()Z" since="14" deprecated="29" />
+		<method name="isSmoothZoomSupported()Z" since="8" deprecated="29" />
+		<method name="isVideoSnapshotSupported()Z" since="14" deprecated="29" />
+		<method name="isVideoStabilizationSupported()Z" since="15" deprecated="29" />
+		<method name="isZoomSupported()Z" since="8" deprecated="29" />
+		<method name="remove(Ljava/lang/String;)V" deprecated="29" />
+		<method name="removeGpsData()V" since="5" deprecated="29" />
+		<method name="set(Ljava/lang/String;I)V" deprecated="29" />
+		<method name="set(Ljava/lang/String;Ljava/lang/String;)V" deprecated="29" />
+		<method name="setAntibanding(Ljava/lang/String;)V" since="5" deprecated="29" />
+		<method name="setAutoExposureLock(Z)V" since="14" deprecated="29" />
+		<method name="setAutoWhiteBalanceLock(Z)V" since="14" deprecated="29" />
+		<method name="setColorEffect(Ljava/lang/String;)V" since="5" deprecated="29" />
+		<method name="setExposureCompensation(I)V" since="8" deprecated="29" />
+		<method name="setFlashMode(Ljava/lang/String;)V" since="5" deprecated="29" />
+		<method name="setFocusAreas(Ljava/util/List;)V" since="14" deprecated="29" />
+		<method name="setFocusMode(Ljava/lang/String;)V" since="5" deprecated="29" />
+		<method name="setGpsAltitude(D)V" since="5" deprecated="29" />
+		<method name="setGpsLatitude(D)V" since="5" deprecated="29" />
+		<method name="setGpsLongitude(D)V" since="5" deprecated="29" />
+		<method name="setGpsProcessingMethod(Ljava/lang/String;)V" since="8" deprecated="29" />
+		<method name="setGpsTimestamp(J)V" since="5" deprecated="29" />
+		<method name="setJpegQuality(I)V" since="5" deprecated="29" />
+		<method name="setJpegThumbnailQuality(I)V" since="5" deprecated="29" />
+		<method name="setJpegThumbnailSize(II)V" since="5" deprecated="29" />
+		<method name="setMeteringAreas(Ljava/util/List;)V" since="14" deprecated="29" />
+		<method name="setPictureFormat(I)V" deprecated="29" />
+		<method name="setPictureSize(II)V" deprecated="29" />
+		<method name="setPreviewFormat(I)V" deprecated="29" />
+		<method name="setPreviewFpsRange(II)V" since="9" deprecated="29" />
+		<method name="setPreviewFrameRate(I)V" deprecated="15" />
+		<method name="setPreviewSize(II)V" deprecated="29" />
+		<method name="setRecordingHint(Z)V" since="14" deprecated="29" />
+		<method name="setRotation(I)V" since="5" deprecated="29" />
+		<method name="setSceneMode(Ljava/lang/String;)V" since="5" deprecated="29" />
+		<method name="setVideoStabilization(Z)V" since="15" deprecated="29" />
+		<method name="setWhiteBalance(Ljava/lang/String;)V" since="5" deprecated="29" />
+		<method name="setZoom(I)V" since="8" deprecated="29" />
+		<method name="unflatten(Ljava/lang/String;)V" deprecated="29" />
+		<field name="ANTIBANDING_50HZ" since="5" deprecated="29" />
+		<field name="ANTIBANDING_60HZ" since="5" deprecated="29" />
+		<field name="ANTIBANDING_AUTO" since="5" deprecated="29" />
+		<field name="ANTIBANDING_OFF" since="5" deprecated="29" />
+		<field name="EFFECT_AQUA" since="5" deprecated="29" />
+		<field name="EFFECT_BLACKBOARD" since="5" deprecated="29" />
+		<field name="EFFECT_MONO" since="5" deprecated="29" />
+		<field name="EFFECT_NEGATIVE" since="5" deprecated="29" />
+		<field name="EFFECT_NONE" since="5" deprecated="29" />
+		<field name="EFFECT_POSTERIZE" since="5" deprecated="29" />
+		<field name="EFFECT_SEPIA" since="5" deprecated="29" />
+		<field name="EFFECT_SOLARIZE" since="5" deprecated="29" />
+		<field name="EFFECT_WHITEBOARD" since="5" deprecated="29" />
+		<field name="FLASH_MODE_AUTO" since="5" deprecated="29" />
+		<field name="FLASH_MODE_OFF" since="5" deprecated="29" />
+		<field name="FLASH_MODE_ON" since="5" deprecated="29" />
+		<field name="FLASH_MODE_RED_EYE" since="5" deprecated="29" />
+		<field name="FLASH_MODE_TORCH" since="5" deprecated="29" />
+		<field name="FOCUS_DISTANCE_FAR_INDEX" since="9" deprecated="29" />
+		<field name="FOCUS_DISTANCE_NEAR_INDEX" since="9" deprecated="29" />
+		<field name="FOCUS_DISTANCE_OPTIMAL_INDEX" since="9" deprecated="29" />
+		<field name="FOCUS_MODE_AUTO" since="5" deprecated="29" />
+		<field name="FOCUS_MODE_CONTINUOUS_PICTURE" since="14" deprecated="29" />
+		<field name="FOCUS_MODE_CONTINUOUS_VIDEO" since="9" deprecated="29" />
+		<field name="FOCUS_MODE_EDOF" since="8" deprecated="29" />
+		<field name="FOCUS_MODE_FIXED" since="5" deprecated="29" />
+		<field name="FOCUS_MODE_INFINITY" since="5" deprecated="29" />
+		<field name="FOCUS_MODE_MACRO" since="5" deprecated="29" />
+		<field name="PREVIEW_FPS_MAX_INDEX" since="9" deprecated="29" />
+		<field name="PREVIEW_FPS_MIN_INDEX" since="9" deprecated="29" />
+		<field name="SCENE_MODE_ACTION" since="5" deprecated="29" />
+		<field name="SCENE_MODE_AUTO" since="5" deprecated="29" />
+		<field name="SCENE_MODE_BARCODE" since="8" deprecated="29" />
+		<field name="SCENE_MODE_BEACH" since="5" deprecated="29" />
+		<field name="SCENE_MODE_CANDLELIGHT" since="5" deprecated="29" />
+		<field name="SCENE_MODE_FIREWORKS" since="5" deprecated="29" />
+		<field name="SCENE_MODE_HDR" since="17" deprecated="29" />
+		<field name="SCENE_MODE_LANDSCAPE" since="5" deprecated="29" />
+		<field name="SCENE_MODE_NIGHT" since="5" deprecated="29" />
+		<field name="SCENE_MODE_NIGHT_PORTRAIT" since="5" deprecated="29" />
+		<field name="SCENE_MODE_PARTY" since="5" deprecated="29" />
+		<field name="SCENE_MODE_PORTRAIT" since="5" deprecated="29" />
+		<field name="SCENE_MODE_SNOW" since="5" deprecated="29" />
+		<field name="SCENE_MODE_SPORTS" since="5" deprecated="29" />
+		<field name="SCENE_MODE_STEADYPHOTO" since="5" deprecated="29" />
+		<field name="SCENE_MODE_SUNSET" since="5" deprecated="29" />
+		<field name="SCENE_MODE_THEATRE" since="5" deprecated="29" />
+		<field name="WHITE_BALANCE_AUTO" since="5" deprecated="29" />
+		<field name="WHITE_BALANCE_CLOUDY_DAYLIGHT" since="5" deprecated="29" />
+		<field name="WHITE_BALANCE_DAYLIGHT" since="5" deprecated="29" />
+		<field name="WHITE_BALANCE_FLUORESCENT" since="5" deprecated="29" />
+		<field name="WHITE_BALANCE_INCANDESCENT" since="5" deprecated="29" />
+		<field name="WHITE_BALANCE_SHADE" since="5" deprecated="29" />
+		<field name="WHITE_BALANCE_TWILIGHT" since="5" deprecated="29" />
+		<field name="WHITE_BALANCE_WARM_FLUORESCENT" since="5" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$PictureCallback" since="1" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="onPictureTaken([BLandroid/hardware/Camera;)V" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$PreviewCallback" since="1" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="onPreviewFrame([BLandroid/hardware/Camera;)V" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$ShutterCallback" since="1" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="onShutter()V" deprecated="29" />
+	</class>
+	<class name="android/hardware/Camera$Size" since="1" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/hardware/Camera;II)V" deprecated="29" />
+		<field name="height" deprecated="29" />
+		<field name="width" deprecated="29" />
+	</class>
+	<class name="android/hardware/ConsumerIrManager" since="19">
+		<extends name="java/lang/Object" />
+		<method name="getCarrierFrequencies()[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;" />
+		<method name="hasIrEmitter()Z" />
+		<method name="transmit(I[I)V" />
+	</class>
+	<class name="android/hardware/ConsumerIrManager$CarrierFrequencyRange" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/hardware/ConsumerIrManager;II)V" />
+		<method name="getMaxFrequency()I" />
+		<method name="getMinFrequency()I" />
+	</class>
+	<class name="android/hardware/GeomagneticField" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(FFFJ)V" />
+		<method name="getDeclination()F" />
+		<method name="getFieldStrength()F" />
+		<method name="getHorizontalStrength()F" />
+		<method name="getInclination()F" />
+		<method name="getX()F" />
+		<method name="getY()F" />
+		<method name="getZ()F" />
+	</class>
+	<class name="android/hardware/HardwareBuffer" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="create(IIIIJ)Landroid/hardware/HardwareBuffer;" />
+		<method name="getFormat()I" />
+		<method name="getHeight()I" />
+		<method name="getLayers()I" />
+		<method name="getUsage()J" />
+		<method name="getWidth()I" />
+		<method name="isClosed()Z" />
+		<method name="isSupported(IIIIJ)Z" since="29" />
+		<field name="BLOB" />
+		<field name="CREATOR" />
+		<field name="DS_24UI8" since="28" />
+		<field name="DS_FP32UI8" since="28" />
+		<field name="D_16" since="28" />
+		<field name="D_24" since="28" />
+		<field name="D_FP32" since="28" />
+		<field name="RGBA_1010102" />
+		<field name="RGBA_8888" />
+		<field name="RGBA_FP16" />
+		<field name="RGBX_8888" />
+		<field name="RGB_565" />
+		<field name="RGB_888" />
+		<field name="S_UI8" since="28" />
+		<field name="USAGE_CPU_READ_OFTEN" />
+		<field name="USAGE_CPU_READ_RARELY" />
+		<field name="USAGE_CPU_WRITE_OFTEN" />
+		<field name="USAGE_CPU_WRITE_RARELY" />
+		<field name="USAGE_GPU_COLOR_OUTPUT" />
+		<field name="USAGE_GPU_CUBE_MAP" since="28" />
+		<field name="USAGE_GPU_DATA_BUFFER" />
+		<field name="USAGE_GPU_MIPMAP_COMPLETE" since="28" />
+		<field name="USAGE_GPU_SAMPLED_IMAGE" />
+		<field name="USAGE_PROTECTED_CONTENT" />
+		<field name="USAGE_SENSOR_DIRECT_DATA" />
+		<field name="USAGE_VIDEO_ENCODE" />
+		<field name="YCBCR_420_888" since="30" />
+	</class>
+	<class name="android/hardware/Sensor" since="3">
+		<extends name="java/lang/Object" />
+		<method name="getFifoMaxEventCount()I" since="19" />
+		<method name="getFifoReservedEventCount()I" since="19" />
+		<method name="getHighestDirectReportRateLevel()I" since="26" />
+		<method name="getId()I" since="24" />
+		<method name="getMaxDelay()I" since="21" />
+		<method name="getMaximumRange()F" />
+		<method name="getMinDelay()I" since="9" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPower()F" />
+		<method name="getReportingMode()I" since="21" />
+		<method name="getResolution()F" />
+		<method name="getStringType()Ljava/lang/String;" since="20" />
+		<method name="getType()I" />
+		<method name="getVendor()Ljava/lang/String;" />
+		<method name="getVersion()I" />
+		<method name="isAdditionalInfoSupported()Z" since="24" />
+		<method name="isDirectChannelTypeSupported(I)Z" since="26" />
+		<method name="isDynamicSensor()Z" since="24" />
+		<method name="isWakeUpSensor()Z" since="21" />
+		<field name="REPORTING_MODE_CONTINUOUS" since="21" />
+		<field name="REPORTING_MODE_ONE_SHOT" since="21" />
+		<field name="REPORTING_MODE_ON_CHANGE" since="21" />
+		<field name="REPORTING_MODE_SPECIAL_TRIGGER" since="21" />
+		<field name="STRING_TYPE_ACCELEROMETER" since="20" />
+		<field name="STRING_TYPE_ACCELEROMETER_UNCALIBRATED" since="26" />
+		<field name="STRING_TYPE_AMBIENT_TEMPERATURE" since="20" />
+		<field name="STRING_TYPE_GAME_ROTATION_VECTOR" since="20" />
+		<field name="STRING_TYPE_GEOMAGNETIC_ROTATION_VECTOR" since="20" />
+		<field name="STRING_TYPE_GRAVITY" since="20" />
+		<field name="STRING_TYPE_GYROSCOPE" since="20" />
+		<field name="STRING_TYPE_GYROSCOPE_UNCALIBRATED" since="20" />
+		<field name="STRING_TYPE_HEART_BEAT" since="24" />
+		<field name="STRING_TYPE_HEART_RATE" since="20" />
+		<field name="STRING_TYPE_HINGE_ANGLE" since="30" />
+		<field name="STRING_TYPE_LIGHT" since="20" />
+		<field name="STRING_TYPE_LINEAR_ACCELERATION" since="20" />
+		<field name="STRING_TYPE_LOW_LATENCY_OFFBODY_DETECT" since="26" />
+		<field name="STRING_TYPE_MAGNETIC_FIELD" since="20" />
+		<field name="STRING_TYPE_MAGNETIC_FIELD_UNCALIBRATED" since="20" />
+		<field name="STRING_TYPE_MOTION_DETECT" since="24" />
+		<field name="STRING_TYPE_ORIENTATION" since="20" deprecated="20" />
+		<field name="STRING_TYPE_POSE_6DOF" since="24" />
+		<field name="STRING_TYPE_PRESSURE" since="20" />
+		<field name="STRING_TYPE_PROXIMITY" since="20" />
+		<field name="STRING_TYPE_RELATIVE_HUMIDITY" since="20" />
+		<field name="STRING_TYPE_ROTATION_VECTOR" since="20" />
+		<field name="STRING_TYPE_SIGNIFICANT_MOTION" since="20" />
+		<field name="STRING_TYPE_STATIONARY_DETECT" since="24" />
+		<field name="STRING_TYPE_STEP_COUNTER" since="20" />
+		<field name="STRING_TYPE_STEP_DETECTOR" since="20" />
+		<field name="STRING_TYPE_TEMPERATURE" since="20" deprecated="20" />
+		<field name="TYPE_ACCELEROMETER" />
+		<field name="TYPE_ACCELEROMETER_UNCALIBRATED" since="26" />
+		<field name="TYPE_ALL" />
+		<field name="TYPE_AMBIENT_TEMPERATURE" since="14" />
+		<field name="TYPE_DEVICE_PRIVATE_BASE" since="24" />
+		<field name="TYPE_GAME_ROTATION_VECTOR" since="18" />
+		<field name="TYPE_GEOMAGNETIC_ROTATION_VECTOR" since="19" />
+		<field name="TYPE_GRAVITY" since="9" />
+		<field name="TYPE_GYROSCOPE" />
+		<field name="TYPE_GYROSCOPE_UNCALIBRATED" since="18" />
+		<field name="TYPE_HEART_BEAT" since="24" />
+		<field name="TYPE_HEART_RATE" since="20" />
+		<field name="TYPE_HINGE_ANGLE" since="30" />
+		<field name="TYPE_LIGHT" />
+		<field name="TYPE_LINEAR_ACCELERATION" since="9" />
+		<field name="TYPE_LOW_LATENCY_OFFBODY_DETECT" since="26" />
+		<field name="TYPE_MAGNETIC_FIELD" />
+		<field name="TYPE_MAGNETIC_FIELD_UNCALIBRATED" since="18" />
+		<field name="TYPE_MOTION_DETECT" since="24" />
+		<field name="TYPE_ORIENTATION" deprecated="15" />
+		<field name="TYPE_POSE_6DOF" since="24" />
+		<field name="TYPE_PRESSURE" />
+		<field name="TYPE_PROXIMITY" />
+		<field name="TYPE_RELATIVE_HUMIDITY" since="14" />
+		<field name="TYPE_ROTATION_VECTOR" since="9" />
+		<field name="TYPE_SIGNIFICANT_MOTION" since="18" />
+		<field name="TYPE_STATIONARY_DETECT" since="24" />
+		<field name="TYPE_STEP_COUNTER" since="19" />
+		<field name="TYPE_STEP_DETECTOR" since="19" />
+		<field name="TYPE_TEMPERATURE" deprecated="15" />
+	</class>
+	<class name="android/hardware/SensorAdditionalInfo" since="24">
+		<extends name="java/lang/Object" />
+		<field name="TYPE_FRAME_BEGIN" />
+		<field name="TYPE_FRAME_END" />
+		<field name="TYPE_INTERNAL_TEMPERATURE" />
+		<field name="TYPE_SAMPLING" />
+		<field name="TYPE_SENSOR_PLACEMENT" />
+		<field name="TYPE_UNTRACKED_DELAY" />
+		<field name="TYPE_VEC3_CALIBRATION" />
+		<field name="floatValues" />
+		<field name="intValues" />
+		<field name="sensor" />
+		<field name="serial" />
+		<field name="type" />
+	</class>
+	<class name="android/hardware/SensorDirectChannel" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/Channel" />
+		<method name="configure(Landroid/hardware/Sensor;I)I" />
+		<field name="RATE_FAST" />
+		<field name="RATE_NORMAL" />
+		<field name="RATE_STOP" />
+		<field name="RATE_VERY_FAST" />
+		<field name="TYPE_HARDWARE_BUFFER" />
+		<field name="TYPE_MEMORY_FILE" />
+	</class>
+	<class name="android/hardware/SensorEvent" since="3">
+		<extends name="java/lang/Object" />
+		<field name="accuracy" />
+		<field name="sensor" />
+		<field name="timestamp" />
+		<field name="values" />
+	</class>
+	<class name="android/hardware/SensorEventCallback" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/hardware/SensorEventListener2" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onSensorAdditionalInfo(Landroid/hardware/SensorAdditionalInfo;)V" />
+	</class>
+	<class name="android/hardware/SensorEventListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onAccuracyChanged(Landroid/hardware/Sensor;I)V" />
+		<method name="onSensorChanged(Landroid/hardware/SensorEvent;)V" />
+	</class>
+	<class name="android/hardware/SensorEventListener2" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/hardware/SensorEventListener" />
+		<method name="onFlushCompleted(Landroid/hardware/Sensor;)V" />
+	</class>
+	<class name="android/hardware/SensorListener" since="1" deprecated="3">
+		<extends name="java/lang/Object" />
+		<method name="onAccuracyChanged(II)V" deprecated="29" />
+		<method name="onSensorChanged(I[F)V" deprecated="29" />
+	</class>
+	<class name="android/hardware/SensorManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="cancelTriggerSensor(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z" since="18" />
+		<method name="createDirectChannel(Landroid/hardware/HardwareBuffer;)Landroid/hardware/SensorDirectChannel;" since="26" />
+		<method name="createDirectChannel(Landroid/os/MemoryFile;)Landroid/hardware/SensorDirectChannel;" since="26" />
+		<method name="flush(Landroid/hardware/SensorEventListener;)Z" since="19" />
+		<method name="getAltitude(FF)F" since="9" />
+		<method name="getAngleChange([F[F[F)V" since="9" />
+		<method name="getDefaultSensor(I)Landroid/hardware/Sensor;" since="3" />
+		<method name="getDefaultSensor(IZ)Landroid/hardware/Sensor;" since="21" />
+		<method name="getDynamicSensorList(I)Ljava/util/List;" since="24" />
+		<method name="getInclination([F)F" since="3" />
+		<method name="getOrientation([F[F)[F" since="3" />
+		<method name="getQuaternionFromVector([F[F)V" since="9" />
+		<method name="getRotationMatrix([F[F[F[F)Z" since="3" />
+		<method name="getRotationMatrixFromVector([F[F)V" since="9" />
+		<method name="getSensorList(I)Ljava/util/List;" since="3" />
+		<method name="getSensors()I" deprecated="15" />
+		<method name="isDynamicSensorDiscoverySupported()Z" since="24" />
+		<method name="registerDynamicSensorCallback(Landroid/hardware/SensorManager$DynamicSensorCallback;)V" since="24" />
+		<method name="registerDynamicSensorCallback(Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;)V" since="24" />
+		<method name="registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z" since="3" />
+		<method name="registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;II)Z" since="19" />
+		<method name="registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;IILandroid/os/Handler;)Z" since="19" />
+		<method name="registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;)Z" since="3" />
+		<method name="registerListener(Landroid/hardware/SensorListener;I)Z" deprecated="15" />
+		<method name="registerListener(Landroid/hardware/SensorListener;II)Z" deprecated="15" />
+		<method name="remapCoordinateSystem([FII[F)Z" since="3" />
+		<method name="requestTriggerSensor(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z" since="18" />
+		<method name="unregisterDynamicSensorCallback(Landroid/hardware/SensorManager$DynamicSensorCallback;)V" since="24" />
+		<method name="unregisterListener(Landroid/hardware/SensorEventListener;)V" since="3" />
+		<method name="unregisterListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V" since="3" />
+		<method name="unregisterListener(Landroid/hardware/SensorListener;)V" deprecated="15" />
+		<method name="unregisterListener(Landroid/hardware/SensorListener;I)V" deprecated="15" />
+		<field name="AXIS_MINUS_X" since="3" />
+		<field name="AXIS_MINUS_Y" since="3" />
+		<field name="AXIS_MINUS_Z" since="3" />
+		<field name="AXIS_X" since="3" />
+		<field name="AXIS_Y" since="3" />
+		<field name="AXIS_Z" since="3" />
+		<field name="DATA_X" deprecated="15" />
+		<field name="DATA_Y" deprecated="15" />
+		<field name="DATA_Z" deprecated="15" />
+		<field name="GRAVITY_DEATH_STAR_I" />
+		<field name="GRAVITY_EARTH" />
+		<field name="GRAVITY_JUPITER" />
+		<field name="GRAVITY_MARS" />
+		<field name="GRAVITY_MERCURY" />
+		<field name="GRAVITY_MOON" />
+		<field name="GRAVITY_NEPTUNE" />
+		<field name="GRAVITY_PLUTO" />
+		<field name="GRAVITY_SATURN" />
+		<field name="GRAVITY_SUN" />
+		<field name="GRAVITY_THE_ISLAND" />
+		<field name="GRAVITY_URANUS" />
+		<field name="GRAVITY_VENUS" />
+		<field name="LIGHT_CLOUDY" />
+		<field name="LIGHT_FULLMOON" />
+		<field name="LIGHT_NO_MOON" />
+		<field name="LIGHT_OVERCAST" />
+		<field name="LIGHT_SHADE" />
+		<field name="LIGHT_SUNLIGHT" />
+		<field name="LIGHT_SUNLIGHT_MAX" />
+		<field name="LIGHT_SUNRISE" />
+		<field name="MAGNETIC_FIELD_EARTH_MAX" />
+		<field name="MAGNETIC_FIELD_EARTH_MIN" />
+		<field name="PRESSURE_STANDARD_ATMOSPHERE" since="9" />
+		<field name="RAW_DATA_INDEX" deprecated="15" />
+		<field name="RAW_DATA_X" deprecated="15" />
+		<field name="RAW_DATA_Y" deprecated="15" />
+		<field name="RAW_DATA_Z" deprecated="15" />
+		<field name="SENSOR_ACCELEROMETER" deprecated="15" />
+		<field name="SENSOR_ALL" deprecated="15" />
+		<field name="SENSOR_DELAY_FASTEST" />
+		<field name="SENSOR_DELAY_GAME" />
+		<field name="SENSOR_DELAY_NORMAL" />
+		<field name="SENSOR_DELAY_UI" />
+		<field name="SENSOR_LIGHT" deprecated="15" />
+		<field name="SENSOR_MAGNETIC_FIELD" deprecated="15" />
+		<field name="SENSOR_MAX" deprecated="15" />
+		<field name="SENSOR_MIN" deprecated="15" />
+		<field name="SENSOR_ORIENTATION" deprecated="15" />
+		<field name="SENSOR_ORIENTATION_RAW" deprecated="15" />
+		<field name="SENSOR_PROXIMITY" deprecated="15" />
+		<field name="SENSOR_STATUS_ACCURACY_HIGH" />
+		<field name="SENSOR_STATUS_ACCURACY_LOW" />
+		<field name="SENSOR_STATUS_ACCURACY_MEDIUM" />
+		<field name="SENSOR_STATUS_NO_CONTACT" since="20" />
+		<field name="SENSOR_STATUS_UNRELIABLE" />
+		<field name="SENSOR_TEMPERATURE" deprecated="15" />
+		<field name="SENSOR_TRICORDER" deprecated="15" />
+		<field name="STANDARD_GRAVITY" />
+	</class>
+	<class name="android/hardware/SensorManager$DynamicSensorCallback" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onDynamicSensorConnected(Landroid/hardware/Sensor;)V" />
+		<method name="onDynamicSensorDisconnected(Landroid/hardware/Sensor;)V" />
+	</class>
+	<class name="android/hardware/SensorPrivacyManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="supportsSensorToggle(I)Z" />
+	</class>
+	<class name="android/hardware/SensorPrivacyManager$Sensors" since="31">
+		<extends name="java/lang/Object" />
+		<field name="CAMERA" />
+		<field name="MICROPHONE" />
+	</class>
+	<class name="android/hardware/TriggerEvent" since="18">
+		<extends name="java/lang/Object" />
+		<field name="sensor" />
+		<field name="timestamp" />
+		<field name="values" />
+	</class>
+	<class name="android/hardware/TriggerEventListener" since="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onTrigger(Landroid/hardware/TriggerEvent;)V" />
+	</class>
+	<class name="android/hardware/biometrics/BiometricManager" since="29">
+		<extends name="java/lang/Object" />
+		<method name="canAuthenticate()I" deprecated="30" />
+		<method name="canAuthenticate(I)I" since="30" />
+		<method name="getStrings(I)Landroid/hardware/biometrics/BiometricManager$Strings;" since="31" />
+		<field name="BIOMETRIC_ERROR_HW_UNAVAILABLE" />
+		<field name="BIOMETRIC_ERROR_NONE_ENROLLED" />
+		<field name="BIOMETRIC_ERROR_NO_HARDWARE" />
+		<field name="BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED" since="30" />
+		<field name="BIOMETRIC_SUCCESS" />
+	</class>
+	<class name="android/hardware/biometrics/BiometricManager$Authenticators" since="30">
+		<extends name="java/lang/Object" />
+		<field name="BIOMETRIC_STRONG" />
+		<field name="BIOMETRIC_WEAK" />
+		<field name="DEVICE_CREDENTIAL" />
+	</class>
+	<class name="android/hardware/biometrics/BiometricManager$Strings" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getButtonLabel()Ljava/lang/CharSequence;" />
+		<method name="getPromptMessage()Ljava/lang/CharSequence;" />
+		<method name="getSettingName()Ljava/lang/CharSequence;" />
+	</class>
+	<class name="android/hardware/biometrics/BiometricPrompt" since="28">
+		<extends name="java/lang/Object" />
+		<method name="authenticate(Landroid/hardware/biometrics/BiometricPrompt$CryptoObject;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;)V" />
+		<method name="authenticate(Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;)V" />
+		<method name="getAllowedAuthenticators()I" since="30" />
+		<method name="getDescription()Ljava/lang/CharSequence;" since="30" />
+		<method name="getNegativeButtonText()Ljava/lang/CharSequence;" since="30" />
+		<method name="getSubtitle()Ljava/lang/CharSequence;" since="30" />
+		<method name="getTitle()Ljava/lang/CharSequence;" since="30" />
+		<method name="isConfirmationRequired()Z" since="30" />
+		<field name="AUTHENTICATION_RESULT_TYPE_BIOMETRIC" since="30" />
+		<field name="AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL" since="30" />
+		<field name="BIOMETRIC_ACQUIRED_GOOD" />
+		<field name="BIOMETRIC_ACQUIRED_IMAGER_DIRTY" />
+		<field name="BIOMETRIC_ACQUIRED_INSUFFICIENT" />
+		<field name="BIOMETRIC_ACQUIRED_PARTIAL" />
+		<field name="BIOMETRIC_ACQUIRED_TOO_FAST" />
+		<field name="BIOMETRIC_ACQUIRED_TOO_SLOW" />
+		<field name="BIOMETRIC_ERROR_CANCELED" />
+		<field name="BIOMETRIC_ERROR_HW_NOT_PRESENT" />
+		<field name="BIOMETRIC_ERROR_HW_UNAVAILABLE" />
+		<field name="BIOMETRIC_ERROR_LOCKOUT" />
+		<field name="BIOMETRIC_ERROR_LOCKOUT_PERMANENT" />
+		<field name="BIOMETRIC_ERROR_NO_BIOMETRICS" />
+		<field name="BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL" since="29" />
+		<field name="BIOMETRIC_ERROR_NO_SPACE" />
+		<field name="BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED" since="30" />
+		<field name="BIOMETRIC_ERROR_TIMEOUT" />
+		<field name="BIOMETRIC_ERROR_UNABLE_TO_PROCESS" />
+		<field name="BIOMETRIC_ERROR_USER_CANCELED" />
+		<field name="BIOMETRIC_ERROR_VENDOR" />
+	</class>
+	<class name="android/hardware/biometrics/BiometricPrompt$AuthenticationCallback" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAuthenticationError(ILjava/lang/CharSequence;)V" />
+		<method name="onAuthenticationFailed()V" />
+		<method name="onAuthenticationHelp(ILjava/lang/CharSequence;)V" />
+		<method name="onAuthenticationSucceeded(Landroid/hardware/biometrics/BiometricPrompt$AuthenticationResult;)V" />
+	</class>
+	<class name="android/hardware/biometrics/BiometricPrompt$AuthenticationResult" since="28">
+		<extends name="java/lang/Object" />
+		<method name="getAuthenticationType()I" since="30" />
+		<method name="getCryptoObject()Landroid/hardware/biometrics/BiometricPrompt$CryptoObject;" />
+	</class>
+	<class name="android/hardware/biometrics/BiometricPrompt$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="build()Landroid/hardware/biometrics/BiometricPrompt;" />
+		<method name="setAllowedAuthenticators(I)Landroid/hardware/biometrics/BiometricPrompt$Builder;" since="30" />
+		<method name="setConfirmationRequired(Z)Landroid/hardware/biometrics/BiometricPrompt$Builder;" since="29" />
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt$Builder;" />
+		<method name="setDeviceCredentialAllowed(Z)Landroid/hardware/biometrics/BiometricPrompt$Builder;" since="29" deprecated="30" />
+		<method name="setNegativeButton(Ljava/lang/CharSequence;Ljava/util/concurrent/Executor;Landroid/content/DialogInterface$OnClickListener;)Landroid/hardware/biometrics/BiometricPrompt$Builder;" />
+		<method name="setSubtitle(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt$Builder;" />
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt$Builder;" />
+	</class>
+	<class name="android/hardware/biometrics/BiometricPrompt$CryptoObject" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/security/identity/IdentityCredential;)V" since="30" />
+		<method name="&lt;init&gt;(Ljava/security/Signature;)V" />
+		<method name="&lt;init&gt;(Ljavax/crypto/Cipher;)V" />
+		<method name="&lt;init&gt;(Ljavax/crypto/Mac;)V" />
+		<method name="getCipher()Ljavax/crypto/Cipher;" />
+		<method name="getIdentityCredential()Landroid/security/identity/IdentityCredential;" since="30" />
+		<method name="getMac()Ljavax/crypto/Mac;" />
+		<method name="getSignature()Ljava/security/Signature;" />
+	</class>
+	<class name="android/hardware/camera2/CameraAccessException" since="21">
+		<extends name="android/util/AndroidException" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" />
+		<method name="&lt;init&gt;(ILjava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(ILjava/lang/Throwable;)V" />
+		<method name="getReason()I" />
+		<field name="CAMERA_DISABLED" />
+		<field name="CAMERA_DISCONNECTED" />
+		<field name="CAMERA_ERROR" />
+		<field name="CAMERA_IN_USE" since="23" />
+		<field name="MAX_CAMERAS_IN_USE" since="23" />
+	</class>
+	<class name="android/hardware/camera2/CameraCaptureSession" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="abortCaptures()V" />
+		<method name="capture(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I" />
+		<method name="captureBurst(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I" />
+		<method name="captureBurstRequests(Ljava/util/List;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)I" since="28" />
+		<method name="captureSingleRequest(Landroid/hardware/camera2/CaptureRequest;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)I" since="28" />
+		<method name="finalizeOutputConfigurations(Ljava/util/List;)V" since="26" />
+		<method name="getDevice()Landroid/hardware/camera2/CameraDevice;" />
+		<method name="getInputSurface()Landroid/view/Surface;" since="23" />
+		<method name="isReprocessable()Z" since="23" />
+		<method name="prepare(Landroid/view/Surface;)V" since="23" />
+		<method name="setRepeatingBurst(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I" />
+		<method name="setRepeatingBurstRequests(Ljava/util/List;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)I" since="28" />
+		<method name="setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I" />
+		<method name="setSingleRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)I" since="28" />
+		<method name="stopRepeating()V" />
+		<method name="supportsOfflineProcessing(Landroid/view/Surface;)Z" since="30" />
+		<method name="switchToOffline(Ljava/util/Collection;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraOfflineSession$CameraOfflineSessionCallback;)Landroid/hardware/camera2/CameraOfflineSession;" since="30" />
+		<method name="updateOutputConfiguration(Landroid/hardware/camera2/params/OutputConfiguration;)V" since="28" />
+	</class>
+	<class name="android/hardware/camera2/CameraCaptureSession$CaptureCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCaptureBufferLost(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;Landroid/view/Surface;J)V" since="24" />
+		<method name="onCaptureCompleted(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/TotalCaptureResult;)V" />
+		<method name="onCaptureFailed(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureFailure;)V" />
+		<method name="onCaptureProgressed(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureResult;)V" />
+		<method name="onCaptureSequenceAborted(Landroid/hardware/camera2/CameraCaptureSession;I)V" />
+		<method name="onCaptureSequenceCompleted(Landroid/hardware/camera2/CameraCaptureSession;IJ)V" />
+		<method name="onCaptureStarted(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;JJ)V" />
+	</class>
+	<class name="android/hardware/camera2/CameraCaptureSession$StateCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onActive(Landroid/hardware/camera2/CameraCaptureSession;)V" />
+		<method name="onCaptureQueueEmpty(Landroid/hardware/camera2/CameraCaptureSession;)V" since="26" />
+		<method name="onClosed(Landroid/hardware/camera2/CameraCaptureSession;)V" />
+		<method name="onConfigureFailed(Landroid/hardware/camera2/CameraCaptureSession;)V" />
+		<method name="onConfigured(Landroid/hardware/camera2/CameraCaptureSession;)V" />
+		<method name="onReady(Landroid/hardware/camera2/CameraCaptureSession;)V" />
+		<method name="onSurfacePrepared(Landroid/hardware/camera2/CameraCaptureSession;Landroid/view/Surface;)V" since="23" />
+	</class>
+	<class name="android/hardware/camera2/CameraCharacteristics" since="21">
+		<extends name="android/hardware/camera2/CameraMetadata" />
+		<method name="get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;" />
+		<method name="getAvailableCaptureRequestKeys()Ljava/util/List;" />
+		<method name="getAvailableCaptureResultKeys()Ljava/util/List;" />
+		<method name="getAvailablePhysicalCameraRequestKeys()Ljava/util/List;" since="28" />
+		<method name="getAvailableSessionKeys()Ljava/util/List;" since="28" />
+		<method name="getKeysNeedingPermission()Ljava/util/List;" since="29" />
+		<method name="getPhysicalCameraIds()Ljava/util/Set;" since="28" />
+		<method name="getRecommendedStreamConfigurationMap(I)Landroid/hardware/camera2/params/RecommendedStreamConfigurationMap;" since="29" />
+		<field name="COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES" />
+		<field name="CONTROL_AE_AVAILABLE_ANTIBANDING_MODES" />
+		<field name="CONTROL_AE_AVAILABLE_MODES" />
+		<field name="CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES" />
+		<field name="CONTROL_AE_COMPENSATION_RANGE" />
+		<field name="CONTROL_AE_COMPENSATION_STEP" />
+		<field name="CONTROL_AE_LOCK_AVAILABLE" since="23" />
+		<field name="CONTROL_AF_AVAILABLE_MODES" />
+		<field name="CONTROL_AVAILABLE_EFFECTS" />
+		<field name="CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_CAPABILITIES" since="30" />
+		<field name="CONTROL_AVAILABLE_MODES" since="23" />
+		<field name="CONTROL_AVAILABLE_SCENE_MODES" />
+		<field name="CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES" />
+		<field name="CONTROL_AWB_AVAILABLE_MODES" />
+		<field name="CONTROL_AWB_LOCK_AVAILABLE" since="23" />
+		<field name="CONTROL_MAX_REGIONS_AE" />
+		<field name="CONTROL_MAX_REGIONS_AF" />
+		<field name="CONTROL_MAX_REGIONS_AWB" />
+		<field name="CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE" since="24" />
+		<field name="CONTROL_ZOOM_RATIO_RANGE" since="30" />
+		<field name="DEPTH_DEPTH_IS_EXCLUSIVE" since="23" />
+		<field name="DISTORTION_CORRECTION_AVAILABLE_MODES" since="28" />
+		<field name="EDGE_AVAILABLE_EDGE_MODES" />
+		<field name="FLASH_INFO_AVAILABLE" />
+		<field name="HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES" />
+		<field name="INFO_DEVICE_STATE_SENSOR_ORIENTATION_MAP" since="33" />
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL" />
+		<field name="INFO_VERSION" since="28" />
+		<field name="JPEG_AVAILABLE_THUMBNAIL_SIZES" />
+		<field name="LENS_DISTORTION" since="28" />
+		<field name="LENS_DISTORTION_MAXIMUM_RESOLUTION" since="31" />
+		<field name="LENS_FACING" />
+		<field name="LENS_INFO_AVAILABLE_APERTURES" />
+		<field name="LENS_INFO_AVAILABLE_FILTER_DENSITIES" />
+		<field name="LENS_INFO_AVAILABLE_FOCAL_LENGTHS" />
+		<field name="LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION" />
+		<field name="LENS_INFO_FOCUS_DISTANCE_CALIBRATION" />
+		<field name="LENS_INFO_HYPERFOCAL_DISTANCE" />
+		<field name="LENS_INFO_MINIMUM_FOCUS_DISTANCE" />
+		<field name="LENS_INTRINSIC_CALIBRATION" since="23" />
+		<field name="LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION" since="31" />
+		<field name="LENS_POSE_REFERENCE" since="28" />
+		<field name="LENS_POSE_ROTATION" since="23" />
+		<field name="LENS_POSE_TRANSLATION" since="23" />
+		<field name="LENS_RADIAL_DISTORTION" since="23" deprecated="28" />
+		<field name="LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE" since="28" />
+		<field name="NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES" />
+		<field name="REPROCESS_MAX_CAPTURE_STALL" since="23" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES" />
+		<field name="REQUEST_MAX_NUM_INPUT_STREAMS" since="23" />
+		<field name="REQUEST_MAX_NUM_OUTPUT_PROC" />
+		<field name="REQUEST_MAX_NUM_OUTPUT_PROC_STALLING" />
+		<field name="REQUEST_MAX_NUM_OUTPUT_RAW" />
+		<field name="REQUEST_PARTIAL_RESULT_COUNT" />
+		<field name="REQUEST_PIPELINE_MAX_DEPTH" />
+		<field name="SCALER_AVAILABLE_MAX_DIGITAL_ZOOM" />
+		<field name="SCALER_AVAILABLE_ROTATE_AND_CROP_MODES" since="31" />
+		<field name="SCALER_CROPPING_TYPE" />
+		<field name="SCALER_DEFAULT_SECURE_IMAGE_SIZE" since="31" />
+		<field name="SCALER_MANDATORY_CONCURRENT_STREAM_COMBINATIONS" since="30" />
+		<field name="SCALER_MANDATORY_MAXIMUM_RESOLUTION_STREAM_COMBINATIONS" since="31" />
+		<field name="SCALER_MANDATORY_STREAM_COMBINATIONS" since="29" />
+		<field name="SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP" since="31" />
+		<field name="SCALER_STREAM_CONFIGURATION_MAP" />
+		<field name="SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION" since="31" />
+		<field name="SENSOR_AVAILABLE_TEST_PATTERN_MODES" />
+		<field name="SENSOR_BLACK_LEVEL_PATTERN" />
+		<field name="SENSOR_CALIBRATION_TRANSFORM1" />
+		<field name="SENSOR_CALIBRATION_TRANSFORM2" />
+		<field name="SENSOR_COLOR_TRANSFORM1" />
+		<field name="SENSOR_COLOR_TRANSFORM2" />
+		<field name="SENSOR_FORWARD_MATRIX1" />
+		<field name="SENSOR_FORWARD_MATRIX2" />
+		<field name="SENSOR_INFO_ACTIVE_ARRAY_SIZE" />
+		<field name="SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION" since="31" />
+		<field name="SENSOR_INFO_BINNING_FACTOR" since="31" />
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT" />
+		<field name="SENSOR_INFO_EXPOSURE_TIME_RANGE" />
+		<field name="SENSOR_INFO_LENS_SHADING_APPLIED" since="23" />
+		<field name="SENSOR_INFO_MAX_FRAME_DURATION" />
+		<field name="SENSOR_INFO_PHYSICAL_SIZE" />
+		<field name="SENSOR_INFO_PIXEL_ARRAY_SIZE" />
+		<field name="SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION" since="31" />
+		<field name="SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE" since="23" />
+		<field name="SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION" since="31" />
+		<field name="SENSOR_INFO_SENSITIVITY_RANGE" />
+		<field name="SENSOR_INFO_TIMESTAMP_SOURCE" />
+		<field name="SENSOR_INFO_WHITE_LEVEL" />
+		<field name="SENSOR_MAX_ANALOG_SENSITIVITY" />
+		<field name="SENSOR_OPTICAL_BLACK_REGIONS" since="24" />
+		<field name="SENSOR_ORIENTATION" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT2" />
+		<field name="SHADING_AVAILABLE_MODES" since="23" />
+		<field name="STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES" />
+		<field name="STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES" />
+		<field name="STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES" since="23" />
+		<field name="STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES" since="28" />
+		<field name="STATISTICS_INFO_MAX_FACE_COUNT" />
+		<field name="SYNC_MAX_LATENCY" />
+		<field name="TONEMAP_AVAILABLE_TONE_MAP_MODES" />
+		<field name="TONEMAP_MAX_CURVE_POINTS" />
+	</class>
+	<class name="android/hardware/camera2/CameraCharacteristics$Key" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Class;)V" since="29" />
+		<method name="getName()Ljava/lang/String;" />
+	</class>
+	<class name="android/hardware/camera2/CameraConstrainedHighSpeedCaptureSession" since="23">
+		<extends name="android/hardware/camera2/CameraCaptureSession" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createHighSpeedRequestList(Landroid/hardware/camera2/CaptureRequest;)Ljava/util/List;" />
+	</class>
+	<class name="android/hardware/camera2/CameraDevice" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="createCaptureRequest(I)Landroid/hardware/camera2/CaptureRequest$Builder;" />
+		<method name="createCaptureRequest(ILjava/util/Set;)Landroid/hardware/camera2/CaptureRequest$Builder;" since="28" />
+		<method name="createCaptureSession(Landroid/hardware/camera2/params/SessionConfiguration;)V" since="28" />
+		<method name="createCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V" deprecated="30" />
+		<method name="createCaptureSessionByOutputConfigurations(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V" since="24" deprecated="30" />
+		<method name="createConstrainedHighSpeedCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V" since="23" deprecated="30" />
+		<method name="createExtensionSession(Landroid/hardware/camera2/params/ExtensionSessionConfiguration;)V" since="31" />
+		<method name="createReprocessCaptureRequest(Landroid/hardware/camera2/TotalCaptureResult;)Landroid/hardware/camera2/CaptureRequest$Builder;" since="23" />
+		<method name="createReprocessableCaptureSession(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V" since="23" deprecated="30" />
+		<method name="createReprocessableCaptureSessionByConfigurations(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V" since="24" deprecated="30" />
+		<method name="getCameraAudioRestriction()I" since="30" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="isSessionConfigurationSupported(Landroid/hardware/camera2/params/SessionConfiguration;)Z" since="29" />
+		<method name="setCameraAudioRestriction(I)V" since="30" />
+		<field name="AUDIO_RESTRICTION_NONE" since="30" />
+		<field name="AUDIO_RESTRICTION_VIBRATION" since="30" />
+		<field name="AUDIO_RESTRICTION_VIBRATION_SOUND" since="30" />
+		<field name="TEMPLATE_MANUAL" />
+		<field name="TEMPLATE_PREVIEW" />
+		<field name="TEMPLATE_RECORD" />
+		<field name="TEMPLATE_STILL_CAPTURE" />
+		<field name="TEMPLATE_VIDEO_SNAPSHOT" />
+		<field name="TEMPLATE_ZERO_SHUTTER_LAG" />
+	</class>
+	<class name="android/hardware/camera2/CameraDevice$StateCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onClosed(Landroid/hardware/camera2/CameraDevice;)V" />
+		<method name="onDisconnected(Landroid/hardware/camera2/CameraDevice;)V" />
+		<method name="onError(Landroid/hardware/camera2/CameraDevice;I)V" />
+		<method name="onOpened(Landroid/hardware/camera2/CameraDevice;)V" />
+		<field name="ERROR_CAMERA_DEVICE" />
+		<field name="ERROR_CAMERA_DISABLED" />
+		<field name="ERROR_CAMERA_IN_USE" />
+		<field name="ERROR_CAMERA_SERVICE" />
+		<field name="ERROR_MAX_CAMERAS_IN_USE" />
+	</class>
+	<class name="android/hardware/camera2/CameraExtensionCharacteristics" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getEstimatedCaptureLatencyRangeMillis(ILandroid/util/Size;I)Landroid/util/Range;" />
+		<method name="getExtensionSupportedSizes(II)Ljava/util/List;" />
+		<method name="getExtensionSupportedSizes(ILjava/lang/Class;)Ljava/util/List;" />
+		<method name="getSupportedExtensions()Ljava/util/List;" />
+		<field name="EXTENSION_AUTOMATIC" />
+		<field name="EXTENSION_BEAUTY" />
+		<field name="EXTENSION_BOKEH" />
+		<field name="EXTENSION_HDR" />
+		<field name="EXTENSION_NIGHT" />
+	</class>
+	<class name="android/hardware/camera2/CameraExtensionSession" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="capture(Landroid/hardware/camera2/CaptureRequest;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraExtensionSession$ExtensionCaptureCallback;)I" />
+		<method name="getDevice()Landroid/hardware/camera2/CameraDevice;" />
+		<method name="setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraExtensionSession$ExtensionCaptureCallback;)I" />
+		<method name="stopRepeating()V" />
+	</class>
+	<class name="android/hardware/camera2/CameraExtensionSession$ExtensionCaptureCallback" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCaptureFailed(Landroid/hardware/camera2/CameraExtensionSession;Landroid/hardware/camera2/CaptureRequest;)V" />
+		<method name="onCaptureProcessStarted(Landroid/hardware/camera2/CameraExtensionSession;Landroid/hardware/camera2/CaptureRequest;)V" />
+		<method name="onCaptureSequenceAborted(Landroid/hardware/camera2/CameraExtensionSession;I)V" />
+		<method name="onCaptureSequenceCompleted(Landroid/hardware/camera2/CameraExtensionSession;I)V" />
+		<method name="onCaptureStarted(Landroid/hardware/camera2/CameraExtensionSession;Landroid/hardware/camera2/CaptureRequest;J)V" />
+	</class>
+	<class name="android/hardware/camera2/CameraExtensionSession$StateCallback" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onClosed(Landroid/hardware/camera2/CameraExtensionSession;)V" />
+		<method name="onConfigureFailed(Landroid/hardware/camera2/CameraExtensionSession;)V" />
+		<method name="onConfigured(Landroid/hardware/camera2/CameraExtensionSession;)V" />
+	</class>
+	<class name="android/hardware/camera2/CameraManager" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;" />
+		<method name="getCameraExtensionCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraExtensionCharacteristics;" since="31" />
+		<method name="getCameraIdList()[Ljava/lang/String;" />
+		<method name="getConcurrentCameraIds()Ljava/util/Set;" since="30" />
+		<method name="isConcurrentSessionConfigurationSupported(Ljava/util/Map;)Z" since="30" />
+		<method name="openCamera(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Landroid/os/Handler;)V" />
+		<method name="openCamera(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraDevice$StateCallback;)V" since="28" />
+		<method name="registerAvailabilityCallback(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Landroid/os/Handler;)V" />
+		<method name="registerAvailabilityCallback(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraManager$AvailabilityCallback;)V" since="28" />
+		<method name="registerTorchCallback(Landroid/hardware/camera2/CameraManager$TorchCallback;Landroid/os/Handler;)V" since="23" />
+		<method name="registerTorchCallback(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraManager$TorchCallback;)V" since="28" />
+		<method name="setTorchMode(Ljava/lang/String;Z)V" since="23" />
+		<method name="unregisterAvailabilityCallback(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;)V" />
+		<method name="unregisterTorchCallback(Landroid/hardware/camera2/CameraManager$TorchCallback;)V" since="23" />
+	</class>
+	<class name="android/hardware/camera2/CameraManager$AvailabilityCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCameraAccessPrioritiesChanged()V" since="29" />
+		<method name="onCameraAvailable(Ljava/lang/String;)V" />
+		<method name="onCameraUnavailable(Ljava/lang/String;)V" />
+		<method name="onPhysicalCameraAvailable(Ljava/lang/String;Ljava/lang/String;)V" since="30" />
+		<method name="onPhysicalCameraUnavailable(Ljava/lang/String;Ljava/lang/String;)V" since="30" />
+	</class>
+	<class name="android/hardware/camera2/CameraManager$TorchCallback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onTorchModeChanged(Ljava/lang/String;Z)V" />
+		<method name="onTorchModeUnavailable(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/hardware/camera2/CameraMetadata" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getKeys()Ljava/util/List;" />
+		<field name="COLOR_CORRECTION_ABERRATION_MODE_FAST" />
+		<field name="COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY" />
+		<field name="COLOR_CORRECTION_ABERRATION_MODE_OFF" />
+		<field name="COLOR_CORRECTION_MODE_FAST" />
+		<field name="COLOR_CORRECTION_MODE_HIGH_QUALITY" />
+		<field name="COLOR_CORRECTION_MODE_TRANSFORM_MATRIX" />
+		<field name="CONTROL_AE_ANTIBANDING_MODE_50HZ" />
+		<field name="CONTROL_AE_ANTIBANDING_MODE_60HZ" />
+		<field name="CONTROL_AE_ANTIBANDING_MODE_AUTO" />
+		<field name="CONTROL_AE_ANTIBANDING_MODE_OFF" />
+		<field name="CONTROL_AE_MODE_OFF" />
+		<field name="CONTROL_AE_MODE_ON" />
+		<field name="CONTROL_AE_MODE_ON_ALWAYS_FLASH" />
+		<field name="CONTROL_AE_MODE_ON_AUTO_FLASH" />
+		<field name="CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE" />
+		<field name="CONTROL_AE_MODE_ON_EXTERNAL_FLASH" since="28" />
+		<field name="CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL" since="23" />
+		<field name="CONTROL_AE_PRECAPTURE_TRIGGER_IDLE" />
+		<field name="CONTROL_AE_PRECAPTURE_TRIGGER_START" />
+		<field name="CONTROL_AE_STATE_CONVERGED" />
+		<field name="CONTROL_AE_STATE_FLASH_REQUIRED" />
+		<field name="CONTROL_AE_STATE_INACTIVE" />
+		<field name="CONTROL_AE_STATE_LOCKED" />
+		<field name="CONTROL_AE_STATE_PRECAPTURE" />
+		<field name="CONTROL_AE_STATE_SEARCHING" />
+		<field name="CONTROL_AF_MODE_AUTO" />
+		<field name="CONTROL_AF_MODE_CONTINUOUS_PICTURE" />
+		<field name="CONTROL_AF_MODE_CONTINUOUS_VIDEO" />
+		<field name="CONTROL_AF_MODE_EDOF" />
+		<field name="CONTROL_AF_MODE_MACRO" />
+		<field name="CONTROL_AF_MODE_OFF" />
+		<field name="CONTROL_AF_SCENE_CHANGE_DETECTED" since="28" />
+		<field name="CONTROL_AF_SCENE_CHANGE_NOT_DETECTED" since="28" />
+		<field name="CONTROL_AF_STATE_ACTIVE_SCAN" />
+		<field name="CONTROL_AF_STATE_FOCUSED_LOCKED" />
+		<field name="CONTROL_AF_STATE_INACTIVE" />
+		<field name="CONTROL_AF_STATE_NOT_FOCUSED_LOCKED" />
+		<field name="CONTROL_AF_STATE_PASSIVE_FOCUSED" />
+		<field name="CONTROL_AF_STATE_PASSIVE_SCAN" />
+		<field name="CONTROL_AF_STATE_PASSIVE_UNFOCUSED" />
+		<field name="CONTROL_AF_TRIGGER_CANCEL" />
+		<field name="CONTROL_AF_TRIGGER_IDLE" />
+		<field name="CONTROL_AF_TRIGGER_START" />
+		<field name="CONTROL_AWB_MODE_AUTO" />
+		<field name="CONTROL_AWB_MODE_CLOUDY_DAYLIGHT" />
+		<field name="CONTROL_AWB_MODE_DAYLIGHT" />
+		<field name="CONTROL_AWB_MODE_FLUORESCENT" />
+		<field name="CONTROL_AWB_MODE_INCANDESCENT" />
+		<field name="CONTROL_AWB_MODE_OFF" />
+		<field name="CONTROL_AWB_MODE_SHADE" />
+		<field name="CONTROL_AWB_MODE_TWILIGHT" />
+		<field name="CONTROL_AWB_MODE_WARM_FLUORESCENT" />
+		<field name="CONTROL_AWB_STATE_CONVERGED" />
+		<field name="CONTROL_AWB_STATE_INACTIVE" />
+		<field name="CONTROL_AWB_STATE_LOCKED" />
+		<field name="CONTROL_AWB_STATE_SEARCHING" />
+		<field name="CONTROL_CAPTURE_INTENT_CUSTOM" />
+		<field name="CONTROL_CAPTURE_INTENT_MANUAL" />
+		<field name="CONTROL_CAPTURE_INTENT_MOTION_TRACKING" since="28" />
+		<field name="CONTROL_CAPTURE_INTENT_PREVIEW" />
+		<field name="CONTROL_CAPTURE_INTENT_STILL_CAPTURE" />
+		<field name="CONTROL_CAPTURE_INTENT_VIDEO_RECORD" />
+		<field name="CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT" />
+		<field name="CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG" />
+		<field name="CONTROL_EFFECT_MODE_AQUA" />
+		<field name="CONTROL_EFFECT_MODE_BLACKBOARD" />
+		<field name="CONTROL_EFFECT_MODE_MONO" />
+		<field name="CONTROL_EFFECT_MODE_NEGATIVE" />
+		<field name="CONTROL_EFFECT_MODE_OFF" />
+		<field name="CONTROL_EFFECT_MODE_POSTERIZE" />
+		<field name="CONTROL_EFFECT_MODE_SEPIA" />
+		<field name="CONTROL_EFFECT_MODE_SOLARIZE" />
+		<field name="CONTROL_EFFECT_MODE_WHITEBOARD" />
+		<field name="CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS" since="30" />
+		<field name="CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE" since="30" />
+		<field name="CONTROL_EXTENDED_SCENE_MODE_DISABLED" since="30" />
+		<field name="CONTROL_MODE_AUTO" />
+		<field name="CONTROL_MODE_OFF" />
+		<field name="CONTROL_MODE_OFF_KEEP_STATE" />
+		<field name="CONTROL_MODE_USE_EXTENDED_SCENE_MODE" since="30" />
+		<field name="CONTROL_MODE_USE_SCENE_MODE" />
+		<field name="CONTROL_SCENE_MODE_ACTION" />
+		<field name="CONTROL_SCENE_MODE_BARCODE" />
+		<field name="CONTROL_SCENE_MODE_BEACH" />
+		<field name="CONTROL_SCENE_MODE_CANDLELIGHT" />
+		<field name="CONTROL_SCENE_MODE_DISABLED" />
+		<field name="CONTROL_SCENE_MODE_FACE_PRIORITY" />
+		<field name="CONTROL_SCENE_MODE_FIREWORKS" />
+		<field name="CONTROL_SCENE_MODE_HDR" since="22" />
+		<field name="CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO" deprecated="23" />
+		<field name="CONTROL_SCENE_MODE_LANDSCAPE" />
+		<field name="CONTROL_SCENE_MODE_NIGHT" />
+		<field name="CONTROL_SCENE_MODE_NIGHT_PORTRAIT" />
+		<field name="CONTROL_SCENE_MODE_PARTY" />
+		<field name="CONTROL_SCENE_MODE_PORTRAIT" />
+		<field name="CONTROL_SCENE_MODE_SNOW" />
+		<field name="CONTROL_SCENE_MODE_SPORTS" />
+		<field name="CONTROL_SCENE_MODE_STEADYPHOTO" />
+		<field name="CONTROL_SCENE_MODE_SUNSET" />
+		<field name="CONTROL_SCENE_MODE_THEATRE" />
+		<field name="CONTROL_VIDEO_STABILIZATION_MODE_OFF" />
+		<field name="CONTROL_VIDEO_STABILIZATION_MODE_ON" />
+		<field name="DISTORTION_CORRECTION_MODE_FAST" since="28" />
+		<field name="DISTORTION_CORRECTION_MODE_HIGH_QUALITY" since="28" />
+		<field name="DISTORTION_CORRECTION_MODE_OFF" since="28" />
+		<field name="EDGE_MODE_FAST" />
+		<field name="EDGE_MODE_HIGH_QUALITY" />
+		<field name="EDGE_MODE_OFF" />
+		<field name="EDGE_MODE_ZERO_SHUTTER_LAG" since="23" />
+		<field name="FLASH_MODE_OFF" />
+		<field name="FLASH_MODE_SINGLE" />
+		<field name="FLASH_MODE_TORCH" />
+		<field name="FLASH_STATE_CHARGING" />
+		<field name="FLASH_STATE_FIRED" />
+		<field name="FLASH_STATE_PARTIAL" />
+		<field name="FLASH_STATE_READY" />
+		<field name="FLASH_STATE_UNAVAILABLE" />
+		<field name="HOT_PIXEL_MODE_FAST" />
+		<field name="HOT_PIXEL_MODE_HIGH_QUALITY" />
+		<field name="HOT_PIXEL_MODE_OFF" />
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL_3" since="24" />
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL" since="28" />
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL_FULL" />
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY" />
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED" />
+		<field name="LENS_FACING_BACK" />
+		<field name="LENS_FACING_EXTERNAL" since="23" />
+		<field name="LENS_FACING_FRONT" />
+		<field name="LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE" />
+		<field name="LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED" />
+		<field name="LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED" />
+		<field name="LENS_OPTICAL_STABILIZATION_MODE_OFF" />
+		<field name="LENS_OPTICAL_STABILIZATION_MODE_ON" />
+		<field name="LENS_POSE_REFERENCE_GYROSCOPE" since="28" />
+		<field name="LENS_POSE_REFERENCE_PRIMARY_CAMERA" since="28" />
+		<field name="LENS_POSE_REFERENCE_UNDEFINED" since="30" />
+		<field name="LENS_STATE_MOVING" />
+		<field name="LENS_STATE_STATIONARY" />
+		<field name="LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE" since="28" />
+		<field name="LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED" since="28" />
+		<field name="NOISE_REDUCTION_MODE_FAST" />
+		<field name="NOISE_REDUCTION_MODE_HIGH_QUALITY" />
+		<field name="NOISE_REDUCTION_MODE_MINIMAL" since="23" />
+		<field name="NOISE_REDUCTION_MODE_OFF" />
+		<field name="NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG" since="23" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE" since="22" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO" since="23" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT" since="23" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA" since="28" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME" since="28" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING" since="28" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING" since="30" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING" since="23" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_RAW" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS" since="22" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_REMOSAIC_REPROCESSING" since="31" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA" since="29" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA" since="30" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR" since="31" />
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING" since="23" />
+		<field name="SCALER_CROPPING_TYPE_CENTER_ONLY" />
+		<field name="SCALER_CROPPING_TYPE_FREEFORM" />
+		<field name="SCALER_ROTATE_AND_CROP_180" since="31" />
+		<field name="SCALER_ROTATE_AND_CROP_270" since="31" />
+		<field name="SCALER_ROTATE_AND_CROP_90" since="31" />
+		<field name="SCALER_ROTATE_AND_CROP_AUTO" since="31" />
+		<field name="SCALER_ROTATE_AND_CROP_NONE" since="31" />
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR" />
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG" />
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG" />
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO" since="29" />
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR" since="29" />
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB" />
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB" />
+		<field name="SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME" />
+		<field name="SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN" />
+		<field name="SENSOR_PIXEL_MODE_DEFAULT" since="31" />
+		<field name="SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION" since="31" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_D50" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_D55" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_D65" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_D75" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_FLASH" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_SHADE" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN" />
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT" />
+		<field name="SENSOR_TEST_PATTERN_MODE_COLOR_BARS" />
+		<field name="SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY" />
+		<field name="SENSOR_TEST_PATTERN_MODE_CUSTOM1" />
+		<field name="SENSOR_TEST_PATTERN_MODE_OFF" />
+		<field name="SENSOR_TEST_PATTERN_MODE_PN9" />
+		<field name="SENSOR_TEST_PATTERN_MODE_SOLID_COLOR" />
+		<field name="SHADING_MODE_FAST" />
+		<field name="SHADING_MODE_HIGH_QUALITY" />
+		<field name="SHADING_MODE_OFF" />
+		<field name="STATISTICS_FACE_DETECT_MODE_FULL" />
+		<field name="STATISTICS_FACE_DETECT_MODE_OFF" />
+		<field name="STATISTICS_FACE_DETECT_MODE_SIMPLE" />
+		<field name="STATISTICS_LENS_SHADING_MAP_MODE_OFF" />
+		<field name="STATISTICS_LENS_SHADING_MAP_MODE_ON" />
+		<field name="STATISTICS_OIS_DATA_MODE_OFF" since="28" />
+		<field name="STATISTICS_OIS_DATA_MODE_ON" since="28" />
+		<field name="STATISTICS_SCENE_FLICKER_50HZ" />
+		<field name="STATISTICS_SCENE_FLICKER_60HZ" />
+		<field name="STATISTICS_SCENE_FLICKER_NONE" />
+		<field name="SYNC_MAX_LATENCY_PER_FRAME_CONTROL" />
+		<field name="SYNC_MAX_LATENCY_UNKNOWN" />
+		<field name="TONEMAP_MODE_CONTRAST_CURVE" />
+		<field name="TONEMAP_MODE_FAST" />
+		<field name="TONEMAP_MODE_GAMMA_VALUE" since="23" />
+		<field name="TONEMAP_MODE_HIGH_QUALITY" />
+		<field name="TONEMAP_MODE_PRESET_CURVE" since="23" />
+		<field name="TONEMAP_PRESET_CURVE_REC709" since="23" />
+		<field name="TONEMAP_PRESET_CURVE_SRGB" since="23" />
+	</class>
+	<class name="android/hardware/camera2/CameraOfflineSession" since="30">
+		<extends name="android/hardware/camera2/CameraCaptureSession" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/hardware/camera2/CameraOfflineSession$CameraOfflineSessionCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onClosed(Landroid/hardware/camera2/CameraOfflineSession;)V" />
+		<method name="onError(Landroid/hardware/camera2/CameraOfflineSession;I)V" />
+		<method name="onIdle(Landroid/hardware/camera2/CameraOfflineSession;)V" />
+		<method name="onReady(Landroid/hardware/camera2/CameraOfflineSession;)V" />
+		<method name="onSwitchFailed(Landroid/hardware/camera2/CameraOfflineSession;)V" />
+		<field name="STATUS_INTERNAL_ERROR" />
+	</class>
+	<class name="android/hardware/camera2/CaptureFailure" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getFrameNumber()J" />
+		<method name="getPhysicalCameraId()Ljava/lang/String;" since="29" />
+		<method name="getReason()I" />
+		<method name="getRequest()Landroid/hardware/camera2/CaptureRequest;" />
+		<method name="getSequenceId()I" />
+		<method name="wasImageCaptured()Z" />
+		<field name="REASON_ERROR" />
+		<field name="REASON_FLUSHED" />
+	</class>
+	<class name="android/hardware/camera2/CaptureRequest" since="21">
+		<extends name="android/hardware/camera2/CameraMetadata" />
+		<implements name="android/os/Parcelable" />
+		<method name="get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;" />
+		<method name="getTag()Ljava/lang/Object;" />
+		<method name="isReprocess()Z" since="23" />
+		<field name="BLACK_LEVEL_LOCK" />
+		<field name="COLOR_CORRECTION_ABERRATION_MODE" />
+		<field name="COLOR_CORRECTION_GAINS" />
+		<field name="COLOR_CORRECTION_MODE" />
+		<field name="COLOR_CORRECTION_TRANSFORM" />
+		<field name="CONTROL_AE_ANTIBANDING_MODE" />
+		<field name="CONTROL_AE_EXPOSURE_COMPENSATION" />
+		<field name="CONTROL_AE_LOCK" />
+		<field name="CONTROL_AE_MODE" />
+		<field name="CONTROL_AE_PRECAPTURE_TRIGGER" />
+		<field name="CONTROL_AE_REGIONS" />
+		<field name="CONTROL_AE_TARGET_FPS_RANGE" />
+		<field name="CONTROL_AF_MODE" />
+		<field name="CONTROL_AF_REGIONS" />
+		<field name="CONTROL_AF_TRIGGER" />
+		<field name="CONTROL_AWB_LOCK" />
+		<field name="CONTROL_AWB_MODE" />
+		<field name="CONTROL_AWB_REGIONS" />
+		<field name="CONTROL_CAPTURE_INTENT" />
+		<field name="CONTROL_EFFECT_MODE" />
+		<field name="CONTROL_ENABLE_ZSL" since="26" />
+		<field name="CONTROL_EXTENDED_SCENE_MODE" since="30" />
+		<field name="CONTROL_MODE" />
+		<field name="CONTROL_POST_RAW_SENSITIVITY_BOOST" since="24" />
+		<field name="CONTROL_SCENE_MODE" />
+		<field name="CONTROL_VIDEO_STABILIZATION_MODE" />
+		<field name="CONTROL_ZOOM_RATIO" since="30" />
+		<field name="CREATOR" />
+		<field name="DISTORTION_CORRECTION_MODE" since="28" />
+		<field name="EDGE_MODE" />
+		<field name="FLASH_MODE" />
+		<field name="HOT_PIXEL_MODE" />
+		<field name="JPEG_GPS_LOCATION" />
+		<field name="JPEG_ORIENTATION" />
+		<field name="JPEG_QUALITY" />
+		<field name="JPEG_THUMBNAIL_QUALITY" />
+		<field name="JPEG_THUMBNAIL_SIZE" />
+		<field name="LENS_APERTURE" />
+		<field name="LENS_FILTER_DENSITY" />
+		<field name="LENS_FOCAL_LENGTH" />
+		<field name="LENS_FOCUS_DISTANCE" />
+		<field name="LENS_OPTICAL_STABILIZATION_MODE" />
+		<field name="NOISE_REDUCTION_MODE" />
+		<field name="REPROCESS_EFFECTIVE_EXPOSURE_FACTOR" since="23" />
+		<field name="SCALER_CROP_REGION" />
+		<field name="SCALER_ROTATE_AND_CROP" since="31" />
+		<field name="SENSOR_EXPOSURE_TIME" />
+		<field name="SENSOR_FRAME_DURATION" />
+		<field name="SENSOR_PIXEL_MODE" since="31" />
+		<field name="SENSOR_SENSITIVITY" />
+		<field name="SENSOR_TEST_PATTERN_DATA" />
+		<field name="SENSOR_TEST_PATTERN_MODE" />
+		<field name="SHADING_MODE" />
+		<field name="STATISTICS_FACE_DETECT_MODE" />
+		<field name="STATISTICS_HOT_PIXEL_MAP_MODE" />
+		<field name="STATISTICS_LENS_SHADING_MAP_MODE" />
+		<field name="STATISTICS_OIS_DATA_MODE" since="28" />
+		<field name="TONEMAP_CURVE" />
+		<field name="TONEMAP_GAMMA" since="23" />
+		<field name="TONEMAP_MODE" />
+		<field name="TONEMAP_PRESET_CURVE" since="23" />
+	</class>
+	<class name="android/hardware/camera2/CaptureRequest$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="addTarget(Landroid/view/Surface;)V" />
+		<method name="build()Landroid/hardware/camera2/CaptureRequest;" />
+		<method name="get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;" />
+		<method name="getPhysicalCameraKey(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/String;)Ljava/lang/Object;" since="28" />
+		<method name="removeTarget(Landroid/view/Surface;)V" />
+		<method name="set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V" />
+		<method name="setPhysicalCameraKey(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;Ljava/lang/String;)Landroid/hardware/camera2/CaptureRequest$Builder;" since="28" />
+		<method name="setTag(Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/hardware/camera2/CaptureRequest$Key" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Class;)V" since="29" />
+		<method name="getName()Ljava/lang/String;" />
+	</class>
+	<class name="android/hardware/camera2/CaptureResult" since="21">
+		<extends name="android/hardware/camera2/CameraMetadata" />
+		<method name="get(Landroid/hardware/camera2/CaptureResult$Key;)Ljava/lang/Object;" />
+		<method name="getCameraId()Ljava/lang/String;" since="31" />
+		<method name="getFrameNumber()J" />
+		<method name="getRequest()Landroid/hardware/camera2/CaptureRequest;" />
+		<method name="getSequenceId()I" />
+		<field name="BLACK_LEVEL_LOCK" />
+		<field name="COLOR_CORRECTION_ABERRATION_MODE" />
+		<field name="COLOR_CORRECTION_GAINS" />
+		<field name="COLOR_CORRECTION_MODE" />
+		<field name="COLOR_CORRECTION_TRANSFORM" />
+		<field name="CONTROL_AE_ANTIBANDING_MODE" />
+		<field name="CONTROL_AE_EXPOSURE_COMPENSATION" />
+		<field name="CONTROL_AE_LOCK" />
+		<field name="CONTROL_AE_MODE" />
+		<field name="CONTROL_AE_PRECAPTURE_TRIGGER" />
+		<field name="CONTROL_AE_REGIONS" />
+		<field name="CONTROL_AE_STATE" />
+		<field name="CONTROL_AE_TARGET_FPS_RANGE" />
+		<field name="CONTROL_AF_MODE" />
+		<field name="CONTROL_AF_REGIONS" />
+		<field name="CONTROL_AF_SCENE_CHANGE" since="28" />
+		<field name="CONTROL_AF_STATE" />
+		<field name="CONTROL_AF_TRIGGER" />
+		<field name="CONTROL_AWB_LOCK" />
+		<field name="CONTROL_AWB_MODE" />
+		<field name="CONTROL_AWB_REGIONS" />
+		<field name="CONTROL_AWB_STATE" />
+		<field name="CONTROL_CAPTURE_INTENT" />
+		<field name="CONTROL_EFFECT_MODE" />
+		<field name="CONTROL_ENABLE_ZSL" since="26" />
+		<field name="CONTROL_EXTENDED_SCENE_MODE" since="30" />
+		<field name="CONTROL_MODE" />
+		<field name="CONTROL_POST_RAW_SENSITIVITY_BOOST" since="24" />
+		<field name="CONTROL_SCENE_MODE" />
+		<field name="CONTROL_VIDEO_STABILIZATION_MODE" />
+		<field name="CONTROL_ZOOM_RATIO" since="30" />
+		<field name="DISTORTION_CORRECTION_MODE" since="28" />
+		<field name="EDGE_MODE" />
+		<field name="FLASH_MODE" />
+		<field name="FLASH_STATE" />
+		<field name="HOT_PIXEL_MODE" />
+		<field name="JPEG_GPS_LOCATION" />
+		<field name="JPEG_ORIENTATION" />
+		<field name="JPEG_QUALITY" />
+		<field name="JPEG_THUMBNAIL_QUALITY" />
+		<field name="JPEG_THUMBNAIL_SIZE" />
+		<field name="LENS_APERTURE" />
+		<field name="LENS_DISTORTION" since="28" />
+		<field name="LENS_FILTER_DENSITY" />
+		<field name="LENS_FOCAL_LENGTH" />
+		<field name="LENS_FOCUS_DISTANCE" />
+		<field name="LENS_FOCUS_RANGE" />
+		<field name="LENS_INTRINSIC_CALIBRATION" since="23" />
+		<field name="LENS_OPTICAL_STABILIZATION_MODE" />
+		<field name="LENS_POSE_ROTATION" since="23" />
+		<field name="LENS_POSE_TRANSLATION" since="23" />
+		<field name="LENS_RADIAL_DISTORTION" since="23" deprecated="28" />
+		<field name="LENS_STATE" />
+		<field name="LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID" since="29" />
+		<field name="NOISE_REDUCTION_MODE" />
+		<field name="REPROCESS_EFFECTIVE_EXPOSURE_FACTOR" since="23" />
+		<field name="REQUEST_PIPELINE_DEPTH" />
+		<field name="SCALER_CROP_REGION" />
+		<field name="SCALER_ROTATE_AND_CROP" since="31" />
+		<field name="SENSOR_DYNAMIC_BLACK_LEVEL" since="24" />
+		<field name="SENSOR_DYNAMIC_WHITE_LEVEL" since="24" />
+		<field name="SENSOR_EXPOSURE_TIME" />
+		<field name="SENSOR_FRAME_DURATION" />
+		<field name="SENSOR_GREEN_SPLIT" />
+		<field name="SENSOR_NEUTRAL_COLOR_POINT" />
+		<field name="SENSOR_NOISE_PROFILE" />
+		<field name="SENSOR_PIXEL_MODE" since="31" />
+		<field name="SENSOR_RAW_BINNING_FACTOR_USED" since="31" />
+		<field name="SENSOR_ROLLING_SHUTTER_SKEW" />
+		<field name="SENSOR_SENSITIVITY" />
+		<field name="SENSOR_TEST_PATTERN_DATA" />
+		<field name="SENSOR_TEST_PATTERN_MODE" />
+		<field name="SENSOR_TIMESTAMP" />
+		<field name="SHADING_MODE" />
+		<field name="STATISTICS_FACES" />
+		<field name="STATISTICS_FACE_DETECT_MODE" />
+		<field name="STATISTICS_HOT_PIXEL_MAP" />
+		<field name="STATISTICS_HOT_PIXEL_MAP_MODE" />
+		<field name="STATISTICS_LENS_SHADING_CORRECTION_MAP" />
+		<field name="STATISTICS_LENS_SHADING_MAP_MODE" />
+		<field name="STATISTICS_OIS_DATA_MODE" since="28" />
+		<field name="STATISTICS_OIS_SAMPLES" since="28" />
+		<field name="STATISTICS_SCENE_FLICKER" />
+		<field name="TONEMAP_CURVE" />
+		<field name="TONEMAP_GAMMA" since="23" />
+		<field name="TONEMAP_MODE" />
+		<field name="TONEMAP_PRESET_CURVE" since="23" />
+	</class>
+	<class name="android/hardware/camera2/CaptureResult$Key" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Class;)V" since="29" />
+		<method name="getName()Ljava/lang/String;" />
+	</class>
+	<class name="android/hardware/camera2/DngCreator" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="&lt;init&gt;(Landroid/hardware/camera2/CameraCharacteristics;Landroid/hardware/camera2/CaptureResult;)V" />
+		<method name="setDescription(Ljava/lang/String;)Landroid/hardware/camera2/DngCreator;" />
+		<method name="setLocation(Landroid/location/Location;)Landroid/hardware/camera2/DngCreator;" />
+		<method name="setOrientation(I)Landroid/hardware/camera2/DngCreator;" />
+		<method name="setThumbnail(Landroid/graphics/Bitmap;)Landroid/hardware/camera2/DngCreator;" />
+		<method name="setThumbnail(Landroid/media/Image;)Landroid/hardware/camera2/DngCreator;" />
+		<method name="writeByteBuffer(Ljava/io/OutputStream;Landroid/util/Size;Ljava/nio/ByteBuffer;J)V" />
+		<method name="writeImage(Ljava/io/OutputStream;Landroid/media/Image;)V" />
+		<method name="writeInputStream(Ljava/io/OutputStream;Landroid/util/Size;Ljava/io/InputStream;J)V" />
+		<field name="MAX_THUMBNAIL_DIMENSION" />
+	</class>
+	<class name="android/hardware/camera2/MultiResolutionImageReader" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;II)V" />
+		<method name="flush()V" />
+		<method name="getStreamInfoForImageReader(Landroid/media/ImageReader;)Landroid/hardware/camera2/params/MultiResolutionStreamInfo;" />
+		<method name="getSurface()Landroid/view/Surface;" />
+		<method name="setOnImageAvailableListener(Landroid/media/ImageReader$OnImageAvailableListener;Ljava/util/concurrent/Executor;)V" />
+	</class>
+	<class name="android/hardware/camera2/TotalCaptureResult" since="21">
+		<extends name="android/hardware/camera2/CaptureResult" />
+		<method name="getPartialResults()Ljava/util/List;" />
+		<method name="getPhysicalCameraResults()Ljava/util/Map;" since="28" deprecated="31" />
+		<method name="getPhysicalCameraTotalResults()Ljava/util/Map;" since="31" />
+	</class>
+	<class name="android/hardware/camera2/params/BlackLevelPattern" since="21">
+		<extends name="java/lang/Object" />
+		<method name="copyTo([II)V" />
+		<method name="getOffsetForIndex(II)I" />
+		<field name="COUNT" />
+	</class>
+	<class name="android/hardware/camera2/params/Capability" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getMaxStreamingSize()Landroid/util/Size;" />
+		<method name="getMode()I" />
+		<method name="getZoomRatioRange()Landroid/util/Range;" />
+	</class>
+	<class name="android/hardware/camera2/params/ColorSpaceTransform" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;([I)V" />
+		<method name="&lt;init&gt;([Landroid/util/Rational;)V" />
+		<method name="copyElements([II)V" />
+		<method name="copyElements([Landroid/util/Rational;I)V" />
+		<method name="getElement(II)Landroid/util/Rational;" />
+	</class>
+	<class name="android/hardware/camera2/params/DeviceStateSensorOrientationMap" since="33">
+		<extends name="java/lang/Object" />
+		<method name="getSensorOrientation(J)I" />
+		<field name="FOLDED" />
+		<field name="NORMAL" />
+	</class>
+	<class name="android/hardware/camera2/params/ExtensionSessionConfiguration" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ILjava/util/List;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraExtensionSession$StateCallback;)V" />
+		<method name="getExecutor()Ljava/util/concurrent/Executor;" />
+		<method name="getExtension()I" />
+		<method name="getOutputConfigurations()Ljava/util/List;" />
+		<method name="getStateCallback()Landroid/hardware/camera2/CameraExtensionSession$StateCallback;" />
+	</class>
+	<class name="android/hardware/camera2/params/Face" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getBounds()Landroid/graphics/Rect;" />
+		<method name="getId()I" />
+		<method name="getLeftEyePosition()Landroid/graphics/Point;" />
+		<method name="getMouthPosition()Landroid/graphics/Point;" />
+		<method name="getRightEyePosition()Landroid/graphics/Point;" />
+		<method name="getScore()I" />
+		<field name="ID_UNSUPPORTED" />
+		<field name="SCORE_MAX" />
+		<field name="SCORE_MIN" />
+	</class>
+	<class name="android/hardware/camera2/params/InputConfiguration" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;I)V" since="31" />
+		<method name="getFormat()I" />
+		<method name="getHeight()I" />
+		<method name="getWidth()I" />
+		<method name="isMultiResolution()Z" since="31" />
+	</class>
+	<class name="android/hardware/camera2/params/LensShadingMap" since="21">
+		<extends name="java/lang/Object" />
+		<method name="copyGainFactors([FI)V" />
+		<method name="getColumnCount()I" />
+		<method name="getGainFactor(III)F" />
+		<method name="getGainFactorCount()I" />
+		<method name="getGainFactorVector(II)Landroid/hardware/camera2/params/RggbChannelVector;" />
+		<method name="getRowCount()I" />
+		<field name="MINIMUM_GAIN_FACTOR" />
+	</class>
+	<class name="android/hardware/camera2/params/MandatoryStreamCombination" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getDescription()Ljava/lang/CharSequence;" />
+		<method name="getStreamsInformation()Ljava/util/List;" />
+		<method name="isReprocessable()Z" />
+	</class>
+	<class name="android/hardware/camera2/params/MandatoryStreamCombination$MandatoryStreamInformation" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getAvailableSizes()Ljava/util/List;" />
+		<method name="getFormat()I" />
+		<method name="isInput()Z" />
+		<method name="isMaximumSize()Z" since="31" />
+		<method name="isUltraHighResolution()Z" since="31" />
+	</class>
+	<class name="android/hardware/camera2/params/MeteringRectangle" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IIIII)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Point;Landroid/util/Size;I)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Rect;I)V" />
+		<method name="equals(Landroid/hardware/camera2/params/MeteringRectangle;)Z" />
+		<method name="getHeight()I" />
+		<method name="getMeteringWeight()I" />
+		<method name="getRect()Landroid/graphics/Rect;" />
+		<method name="getSize()Landroid/util/Size;" />
+		<method name="getUpperLeftPoint()Landroid/graphics/Point;" />
+		<method name="getWidth()I" />
+		<method name="getX()I" />
+		<method name="getY()I" />
+		<field name="METERING_WEIGHT_DONT_CARE" />
+		<field name="METERING_WEIGHT_MAX" />
+		<field name="METERING_WEIGHT_MIN" />
+	</class>
+	<class name="android/hardware/camera2/params/MultiResolutionStreamConfigurationMap" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getInputFormats()[I" />
+		<method name="getInputInfo(I)Ljava/util/Collection;" />
+		<method name="getOutputFormats()[I" />
+		<method name="getOutputInfo(I)Ljava/util/Collection;" />
+	</class>
+	<class name="android/hardware/camera2/params/MultiResolutionStreamInfo" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IILjava/lang/String;)V" />
+		<method name="getHeight()I" />
+		<method name="getPhysicalCameraId()Ljava/lang/String;" />
+		<method name="getWidth()I" />
+	</class>
+	<class name="android/hardware/camera2/params/OisSample" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(JFF)V" />
+		<method name="getTimestamp()J" />
+		<method name="getXshift()F" />
+		<method name="getYshift()F" />
+	</class>
+	<class name="android/hardware/camera2/params/OutputConfiguration" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(ILandroid/view/Surface;)V" />
+		<method name="&lt;init&gt;(Landroid/util/Size;Ljava/lang/Class;)V" since="26" />
+		<method name="&lt;init&gt;(Landroid/view/Surface;)V" />
+		<method name="addSensorPixelModeUsed(I)V" since="31" />
+		<method name="addSurface(Landroid/view/Surface;)V" since="26" />
+		<method name="createInstancesForMultiResolutionOutput(Landroid/hardware/camera2/MultiResolutionImageReader;)Ljava/util/Collection;" since="31" />
+		<method name="enableSurfaceSharing()V" since="26" />
+		<method name="getMaxSharedSurfaceCount()I" since="28" />
+		<method name="getSurface()Landroid/view/Surface;" />
+		<method name="getSurfaceGroupId()I" />
+		<method name="getSurfaces()Ljava/util/List;" since="26" />
+		<method name="removeSensorPixelModeUsed(I)V" since="31" />
+		<method name="removeSurface(Landroid/view/Surface;)V" since="28" />
+		<method name="setPhysicalCameraId(Ljava/lang/String;)V" since="28" />
+		<field name="CREATOR" />
+		<field name="SURFACE_GROUP_ID_NONE" />
+	</class>
+	<class name="android/hardware/camera2/params/RecommendedStreamConfigurationMap" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getHighResolutionOutputSizes(I)Ljava/util/Set;" />
+		<method name="getHighSpeedVideoFpsRanges()Ljava/util/Set;" />
+		<method name="getHighSpeedVideoFpsRangesFor(Landroid/util/Size;)Ljava/util/Set;" />
+		<method name="getHighSpeedVideoSizes()Ljava/util/Set;" />
+		<method name="getHighSpeedVideoSizesFor(Landroid/util/Range;)Ljava/util/Set;" />
+		<method name="getInputFormats()Ljava/util/Set;" />
+		<method name="getInputSizes(I)Ljava/util/Set;" />
+		<method name="getOutputFormats()Ljava/util/Set;" />
+		<method name="getOutputMinFrameDuration(ILandroid/util/Size;)J" />
+		<method name="getOutputMinFrameDuration(Ljava/lang/Class;Landroid/util/Size;)J" />
+		<method name="getOutputSizes(I)Ljava/util/Set;" />
+		<method name="getOutputSizes(Ljava/lang/Class;)Ljava/util/Set;" />
+		<method name="getOutputStallDuration(ILandroid/util/Size;)J" />
+		<method name="getOutputStallDuration(Ljava/lang/Class;Landroid/util/Size;)J" />
+		<method name="getRecommendedUseCase()I" />
+		<method name="getValidOutputFormatsForInput(I)Ljava/util/Set;" />
+		<method name="isOutputSupportedFor(I)Z" />
+		<method name="isOutputSupportedFor(Landroid/view/Surface;)Z" />
+		<field name="USECASE_LOW_LATENCY_SNAPSHOT" />
+		<field name="USECASE_PREVIEW" />
+		<field name="USECASE_RAW" />
+		<field name="USECASE_RECORD" />
+		<field name="USECASE_SNAPSHOT" />
+		<field name="USECASE_VIDEO_SNAPSHOT" />
+		<field name="USECASE_ZSL" />
+	</class>
+	<class name="android/hardware/camera2/params/RggbChannelVector" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(FFFF)V" />
+		<method name="copyTo([FI)V" />
+		<method name="getBlue()F" />
+		<method name="getComponent(I)F" />
+		<method name="getGreenEven()F" />
+		<method name="getGreenOdd()F" />
+		<method name="getRed()F" />
+		<field name="BLUE" />
+		<field name="COUNT" />
+		<field name="GREEN_EVEN" />
+		<field name="GREEN_ODD" />
+		<field name="RED" />
+	</class>
+	<class name="android/hardware/camera2/params/SessionConfiguration" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="29" />
+		<method name="&lt;init&gt;(ILjava/util/List;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;)V" />
+		<method name="getExecutor()Ljava/util/concurrent/Executor;" />
+		<method name="getInputConfiguration()Landroid/hardware/camera2/params/InputConfiguration;" />
+		<method name="getOutputConfigurations()Ljava/util/List;" />
+		<method name="getSessionParameters()Landroid/hardware/camera2/CaptureRequest;" />
+		<method name="getSessionType()I" />
+		<method name="getStateCallback()Landroid/hardware/camera2/CameraCaptureSession$StateCallback;" />
+		<method name="setInputConfiguration(Landroid/hardware/camera2/params/InputConfiguration;)V" />
+		<method name="setSessionParameters(Landroid/hardware/camera2/CaptureRequest;)V" />
+		<field name="CREATOR" since="29" />
+		<field name="SESSION_HIGH_SPEED" />
+		<field name="SESSION_REGULAR" />
+	</class>
+	<class name="android/hardware/camera2/params/StreamConfigurationMap" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getHighResolutionOutputSizes(I)[Landroid/util/Size;" since="23" />
+		<method name="getHighSpeedVideoFpsRanges()[Landroid/util/Range;" />
+		<method name="getHighSpeedVideoFpsRangesFor(Landroid/util/Size;)[Landroid/util/Range;" />
+		<method name="getHighSpeedVideoSizes()[Landroid/util/Size;" />
+		<method name="getHighSpeedVideoSizesFor(Landroid/util/Range;)[Landroid/util/Size;" />
+		<method name="getInputFormats()[I" since="23" />
+		<method name="getInputSizes(I)[Landroid/util/Size;" since="23" />
+		<method name="getOutputFormats()[I" />
+		<method name="getOutputMinFrameDuration(ILandroid/util/Size;)J" />
+		<method name="getOutputMinFrameDuration(Ljava/lang/Class;Landroid/util/Size;)J" />
+		<method name="getOutputSizes(I)[Landroid/util/Size;" />
+		<method name="getOutputSizes(Ljava/lang/Class;)[Landroid/util/Size;" />
+		<method name="getOutputStallDuration(ILandroid/util/Size;)J" />
+		<method name="getOutputStallDuration(Ljava/lang/Class;Landroid/util/Size;)J" />
+		<method name="getValidOutputFormatsForInput(I)[I" since="23" />
+		<method name="isOutputSupportedFor(I)Z" />
+		<method name="isOutputSupportedFor(Landroid/view/Surface;)Z" />
+		<method name="isOutputSupportedFor(Ljava/lang/Class;)Z" />
+	</class>
+	<class name="android/hardware/camera2/params/TonemapCurve" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;([F[F[F)V" />
+		<method name="copyColorCurve(I[FI)V" />
+		<method name="getPoint(II)Landroid/graphics/PointF;" />
+		<method name="getPointCount(I)I" />
+		<field name="CHANNEL_BLUE" />
+		<field name="CHANNEL_GREEN" />
+		<field name="CHANNEL_RED" />
+		<field name="LEVEL_BLACK" />
+		<field name="LEVEL_WHITE" />
+		<field name="POINT_SIZE" />
+	</class>
+	<class name="android/hardware/display/DeviceProductInfo" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V" />
+		<method name="getConnectionToSinkType()I" />
+		<method name="getManufactureWeek()I" />
+		<method name="getManufactureYear()I" />
+		<method name="getManufacturerPnpId()Ljava/lang/String;" />
+		<method name="getModelYear()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getProductId()Ljava/lang/String;" />
+		<field name="CONNECTION_TO_SINK_BUILT_IN" />
+		<field name="CONNECTION_TO_SINK_DIRECT" />
+		<field name="CONNECTION_TO_SINK_TRANSITIVE" />
+		<field name="CONNECTION_TO_SINK_UNKNOWN" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/hardware/display/DisplayManager" since="17">
+		<extends name="java/lang/Object" />
+		<method name="createVirtualDisplay(Ljava/lang/String;IIILandroid/view/Surface;I)Landroid/hardware/display/VirtualDisplay;" since="19" />
+		<method name="createVirtualDisplay(Ljava/lang/String;IIILandroid/view/Surface;ILandroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;)Landroid/hardware/display/VirtualDisplay;" since="21" />
+		<method name="getDisplay(I)Landroid/view/Display;" />
+		<method name="getDisplays()[Landroid/view/Display;" />
+		<method name="getDisplays(Ljava/lang/String;)[Landroid/view/Display;" />
+		<method name="getMatchContentFrameRateUserPreference()I" since="31" />
+		<method name="registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V" />
+		<method name="unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V" />
+		<field name="DISPLAY_CATEGORY_PRESENTATION" />
+		<field name="MATCH_CONTENT_FRAMERATE_ALWAYS" since="31" />
+		<field name="MATCH_CONTENT_FRAMERATE_NEVER" since="31" />
+		<field name="MATCH_CONTENT_FRAMERATE_SEAMLESSS_ONLY" since="31" />
+		<field name="MATCH_CONTENT_FRAMERATE_UNKNOWN" since="31" />
+		<field name="VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR" since="21" />
+		<field name="VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY" since="20" />
+		<field name="VIRTUAL_DISPLAY_FLAG_PRESENTATION" since="19" />
+		<field name="VIRTUAL_DISPLAY_FLAG_PUBLIC" since="19" />
+		<field name="VIRTUAL_DISPLAY_FLAG_SECURE" since="19" />
+	</class>
+	<class name="android/hardware/display/DisplayManager$DisplayListener" since="17">
+		<extends name="java/lang/Object" />
+		<method name="onDisplayAdded(I)V" />
+		<method name="onDisplayChanged(I)V" />
+		<method name="onDisplayRemoved(I)V" />
+	</class>
+	<class name="android/hardware/display/VirtualDisplay" since="19">
+		<extends name="java/lang/Object" />
+		<method name="getDisplay()Landroid/view/Display;" />
+		<method name="getSurface()Landroid/view/Surface;" since="20" />
+		<method name="release()V" />
+		<method name="resize(III)V" since="21" />
+		<method name="setSurface(Landroid/view/Surface;)V" since="20" />
+	</class>
+	<class name="android/hardware/display/VirtualDisplay$Callback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onPaused()V" />
+		<method name="onResumed()V" />
+		<method name="onStopped()V" />
+	</class>
+	<class name="android/hardware/fingerprint/FingerprintManager" since="23" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="authenticate(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;Landroid/os/CancellationSignal;ILandroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback;Landroid/os/Handler;)V" deprecated="28" />
+		<method name="hasEnrolledFingerprints()Z" deprecated="28" />
+		<method name="isHardwareDetected()Z" deprecated="28" />
+		<field name="FINGERPRINT_ACQUIRED_GOOD" />
+		<field name="FINGERPRINT_ACQUIRED_IMAGER_DIRTY" />
+		<field name="FINGERPRINT_ACQUIRED_INSUFFICIENT" />
+		<field name="FINGERPRINT_ACQUIRED_PARTIAL" />
+		<field name="FINGERPRINT_ACQUIRED_TOO_FAST" />
+		<field name="FINGERPRINT_ACQUIRED_TOO_SLOW" />
+		<field name="FINGERPRINT_ERROR_CANCELED" />
+		<field name="FINGERPRINT_ERROR_HW_NOT_PRESENT" since="28" />
+		<field name="FINGERPRINT_ERROR_HW_UNAVAILABLE" />
+		<field name="FINGERPRINT_ERROR_LOCKOUT" />
+		<field name="FINGERPRINT_ERROR_LOCKOUT_PERMANENT" since="27" />
+		<field name="FINGERPRINT_ERROR_NO_FINGERPRINTS" since="28" />
+		<field name="FINGERPRINT_ERROR_NO_SPACE" />
+		<field name="FINGERPRINT_ERROR_TIMEOUT" />
+		<field name="FINGERPRINT_ERROR_UNABLE_TO_PROCESS" />
+		<field name="FINGERPRINT_ERROR_USER_CANCELED" since="27" />
+		<field name="FINGERPRINT_ERROR_VENDOR" since="27" />
+	</class>
+	<class name="android/hardware/fingerprint/FingerprintManager$AuthenticationCallback" since="23" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="onAuthenticationError(ILjava/lang/CharSequence;)V" deprecated="29" />
+		<method name="onAuthenticationFailed()V" deprecated="29" />
+		<method name="onAuthenticationHelp(ILjava/lang/CharSequence;)V" deprecated="29" />
+		<method name="onAuthenticationSucceeded(Landroid/hardware/fingerprint/FingerprintManager$AuthenticationResult;)V" deprecated="29" />
+	</class>
+	<class name="android/hardware/fingerprint/FingerprintManager$AuthenticationResult" since="23" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="getCryptoObject()Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;" deprecated="29" />
+	</class>
+	<class name="android/hardware/fingerprint/FingerprintManager$CryptoObject" since="23" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/Signature;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljavax/crypto/Cipher;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljavax/crypto/Mac;)V" deprecated="29" />
+		<method name="getCipher()Ljavax/crypto/Cipher;" deprecated="29" />
+		<method name="getMac()Ljavax/crypto/Mac;" deprecated="29" />
+		<method name="getSignature()Ljava/security/Signature;" deprecated="29" />
+	</class>
+	<class name="android/hardware/input/InputManager" since="16">
+		<extends name="java/lang/Object" />
+		<method name="getInputDevice(I)Landroid/view/InputDevice;" />
+		<method name="getInputDeviceIds()[I" />
+		<method name="getMaximumObscuringOpacityForTouch()F" since="31" />
+		<method name="registerInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V" />
+		<method name="unregisterInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;)V" />
+		<method name="verifyInputEvent(Landroid/view/InputEvent;)Landroid/view/VerifiedInputEvent;" since="30" />
+		<field name="ACTION_QUERY_KEYBOARD_LAYOUTS" />
+		<field name="META_DATA_KEYBOARD_LAYOUTS" />
+	</class>
+	<class name="android/hardware/input/InputManager$InputDeviceListener" since="16">
+		<extends name="java/lang/Object" />
+		<method name="onInputDeviceAdded(I)V" />
+		<method name="onInputDeviceChanged(I)V" />
+		<method name="onInputDeviceRemoved(I)V" />
+	</class>
+	<class name="android/hardware/lights/Light" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getId()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getOrdinal()I" />
+		<method name="getType()I" />
+		<method name="hasBrightnessControl()Z" />
+		<method name="hasRgbControl()Z" />
+		<field name="CREATOR" />
+		<field name="LIGHT_CAPABILITY_BRIGHTNESS" />
+		<field name="LIGHT_CAPABILITY_RGB" />
+		<field name="LIGHT_TYPE_INPUT" />
+		<field name="LIGHT_TYPE_MICROPHONE" />
+		<field name="LIGHT_TYPE_PLAYER_ID" />
+	</class>
+	<class name="android/hardware/lights/LightState" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getColor()I" />
+		<method name="getPlayerId()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/hardware/lights/LightState$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/hardware/lights/LightState;" />
+		<method name="setColor(I)Landroid/hardware/lights/LightState$Builder;" />
+		<method name="setPlayerId(I)Landroid/hardware/lights/LightState$Builder;" />
+	</class>
+	<class name="android/hardware/lights/LightsManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getLightState(Landroid/hardware/lights/Light;)Landroid/hardware/lights/LightState;" />
+		<method name="getLights()Ljava/util/List;" />
+		<method name="openSession()Landroid/hardware/lights/LightsManager$LightsSession;" />
+	</class>
+	<class name="android/hardware/lights/LightsManager$LightsSession" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="requestLights(Landroid/hardware/lights/LightsRequest;)V" />
+	</class>
+	<class name="android/hardware/lights/LightsRequest" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getLightStates()Ljava/util/List;" />
+		<method name="getLights()Ljava/util/List;" />
+		<method name="getLightsAndStates()Ljava/util/Map;" />
+	</class>
+	<class name="android/hardware/lights/LightsRequest$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addLight(Landroid/hardware/lights/Light;Landroid/hardware/lights/LightState;)Landroid/hardware/lights/LightsRequest$Builder;" />
+		<method name="build()Landroid/hardware/lights/LightsRequest;" />
+		<method name="clearLight(Landroid/hardware/lights/Light;)Landroid/hardware/lights/LightsRequest$Builder;" />
+	</class>
+	<class name="android/hardware/location/GeofenceHardware" since="18" removed="21">
+		<extends name="java/lang/Object" />
+		<method name="addGeofence(IILandroid/hardware/location/GeofenceHardwareRequest;Landroid/hardware/location/GeofenceHardwareCallback;)Z" />
+		<method name="getMonitoringTypes()[I" />
+		<method name="getStatusOfMonitoringType(I)I" />
+		<method name="pauseGeofence(II)Z" />
+		<method name="registerForMonitorStateChangeCallback(ILandroid/hardware/location/GeofenceHardwareMonitorCallback;)Z" />
+		<method name="removeGeofence(II)Z" />
+		<method name="resumeGeofence(III)Z" />
+		<method name="unregisterForMonitorStateChangeCallback(ILandroid/hardware/location/GeofenceHardwareMonitorCallback;)Z" />
+		<field name="GEOFENCE_ENTERED" />
+		<field name="GEOFENCE_ERROR_ID_EXISTS" />
+		<field name="GEOFENCE_ERROR_ID_UNKNOWN" />
+		<field name="GEOFENCE_ERROR_INVALID_TRANSITION" />
+		<field name="GEOFENCE_ERROR_TOO_MANY_GEOFENCES" />
+		<field name="GEOFENCE_EXITED" />
+		<field name="GEOFENCE_FAILURE" />
+		<field name="GEOFENCE_SUCCESS" />
+		<field name="GEOFENCE_UNCERTAIN" />
+		<field name="MONITORING_TYPE_GPS_HARDWARE" />
+		<field name="MONITOR_CURRENTLY_AVAILABLE" />
+		<field name="MONITOR_CURRENTLY_UNAVAILABLE" />
+		<field name="MONITOR_UNSUPPORTED" />
+	</class>
+	<class name="android/hardware/location/GeofenceHardwareCallback" since="18" removed="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onGeofenceAdd(II)V" />
+		<method name="onGeofencePause(II)V" />
+		<method name="onGeofenceRemove(II)V" />
+		<method name="onGeofenceResume(II)V" />
+		<method name="onGeofenceTransition(IILandroid/location/Location;JI)V" />
+	</class>
+	<class name="android/hardware/location/GeofenceHardwareMonitorCallback" since="18" removed="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onMonitoringSystemChange(IZLandroid/location/Location;)V" />
+	</class>
+	<class name="android/hardware/location/GeofenceHardwareRequest" since="18" removed="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createCircularGeofence(DDD)Landroid/hardware/location/GeofenceHardwareRequest;" />
+		<method name="getLastTransition()I" />
+		<method name="getLatitude()D" />
+		<method name="getLongitude()D" />
+		<method name="getMonitorTransitions()I" />
+		<method name="getNotificationResponsiveness()I" />
+		<method name="getRadius()D" />
+		<method name="getUnknownTimer()I" />
+		<method name="setLastTransition(I)V" />
+		<method name="setMonitorTransitions(I)V" />
+		<method name="setNotificationResponsiveness(I)V" />
+		<method name="setUnknownTimer(I)V" />
+	</class>
+	<class name="android/hardware/usb/UsbAccessory" since="12">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDescription()Ljava/lang/String;" />
+		<method name="getManufacturer()Ljava/lang/String;" />
+		<method name="getModel()Ljava/lang/String;" />
+		<method name="getSerial()Ljava/lang/String;" />
+		<method name="getUri()Ljava/lang/String;" />
+		<method name="getVersion()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/hardware/usb/UsbConfiguration" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getId()I" />
+		<method name="getInterface(I)Landroid/hardware/usb/UsbInterface;" />
+		<method name="getInterfaceCount()I" />
+		<method name="getMaxPower()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="isRemoteWakeup()Z" />
+		<method name="isSelfPowered()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/hardware/usb/UsbConstants" since="12">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="USB_CLASS_APP_SPEC" />
+		<field name="USB_CLASS_AUDIO" />
+		<field name="USB_CLASS_CDC_DATA" />
+		<field name="USB_CLASS_COMM" />
+		<field name="USB_CLASS_CONTENT_SEC" />
+		<field name="USB_CLASS_CSCID" />
+		<field name="USB_CLASS_HID" />
+		<field name="USB_CLASS_HUB" />
+		<field name="USB_CLASS_MASS_STORAGE" />
+		<field name="USB_CLASS_MISC" />
+		<field name="USB_CLASS_PER_INTERFACE" />
+		<field name="USB_CLASS_PHYSICA" />
+		<field name="USB_CLASS_PRINTER" />
+		<field name="USB_CLASS_STILL_IMAGE" />
+		<field name="USB_CLASS_VENDOR_SPEC" />
+		<field name="USB_CLASS_VIDEO" />
+		<field name="USB_CLASS_WIRELESS_CONTROLLER" />
+		<field name="USB_DIR_IN" />
+		<field name="USB_DIR_OUT" />
+		<field name="USB_ENDPOINT_DIR_MASK" />
+		<field name="USB_ENDPOINT_NUMBER_MASK" />
+		<field name="USB_ENDPOINT_XFERTYPE_MASK" />
+		<field name="USB_ENDPOINT_XFER_BULK" />
+		<field name="USB_ENDPOINT_XFER_CONTROL" />
+		<field name="USB_ENDPOINT_XFER_INT" />
+		<field name="USB_ENDPOINT_XFER_ISOC" />
+		<field name="USB_INTERFACE_SUBCLASS_BOOT" />
+		<field name="USB_SUBCLASS_VENDOR_SPEC" />
+		<field name="USB_TYPE_CLASS" />
+		<field name="USB_TYPE_MASK" />
+		<field name="USB_TYPE_RESERVED" />
+		<field name="USB_TYPE_STANDARD" />
+		<field name="USB_TYPE_VENDOR" />
+	</class>
+	<class name="android/hardware/usb/UsbDevice" since="12">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getConfiguration(I)Landroid/hardware/usb/UsbConfiguration;" since="21" />
+		<method name="getConfigurationCount()I" since="21" />
+		<method name="getDeviceClass()I" />
+		<method name="getDeviceId()I" />
+		<method name="getDeviceId(Ljava/lang/String;)I" />
+		<method name="getDeviceName()Ljava/lang/String;" />
+		<method name="getDeviceName(I)Ljava/lang/String;" />
+		<method name="getDeviceProtocol()I" />
+		<method name="getDeviceSubclass()I" />
+		<method name="getInterface(I)Landroid/hardware/usb/UsbInterface;" />
+		<method name="getInterfaceCount()I" />
+		<method name="getManufacturerName()Ljava/lang/String;" since="21" />
+		<method name="getProductId()I" />
+		<method name="getProductName()Ljava/lang/String;" since="21" />
+		<method name="getSerialNumber()Ljava/lang/String;" since="21" />
+		<method name="getVendorId()I" />
+		<method name="getVersion()Ljava/lang/String;" since="23" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/hardware/usb/UsbDeviceConnection" since="12">
+		<extends name="java/lang/Object" />
+		<method name="bulkTransfer(Landroid/hardware/usb/UsbEndpoint;[BII)I" />
+		<method name="bulkTransfer(Landroid/hardware/usb/UsbEndpoint;[BIII)I" since="18" />
+		<method name="claimInterface(Landroid/hardware/usb/UsbInterface;Z)Z" />
+		<method name="close()V" />
+		<method name="controlTransfer(IIII[BII)I" />
+		<method name="controlTransfer(IIII[BIII)I" since="18" />
+		<method name="getFileDescriptor()I" />
+		<method name="getRawDescriptors()[B" since="13" />
+		<method name="getSerial()Ljava/lang/String;" />
+		<method name="releaseInterface(Landroid/hardware/usb/UsbInterface;)Z" />
+		<method name="requestWait()Landroid/hardware/usb/UsbRequest;" />
+		<method name="requestWait(J)Landroid/hardware/usb/UsbRequest;" since="26" />
+		<method name="setConfiguration(Landroid/hardware/usb/UsbConfiguration;)Z" since="21" />
+		<method name="setInterface(Landroid/hardware/usb/UsbInterface;)Z" since="21" />
+	</class>
+	<class name="android/hardware/usb/UsbEndpoint" since="12">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAddress()I" />
+		<method name="getAttributes()I" />
+		<method name="getDirection()I" />
+		<method name="getEndpointNumber()I" />
+		<method name="getInterval()I" />
+		<method name="getMaxPacketSize()I" />
+		<method name="getType()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/hardware/usb/UsbInterface" since="12">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAlternateSetting()I" since="21" />
+		<method name="getEndpoint(I)Landroid/hardware/usb/UsbEndpoint;" />
+		<method name="getEndpointCount()I" />
+		<method name="getId()I" />
+		<method name="getInterfaceClass()I" />
+		<method name="getInterfaceProtocol()I" />
+		<method name="getInterfaceSubclass()I" />
+		<method name="getName()Ljava/lang/String;" since="21" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/hardware/usb/UsbManager" since="12">
+		<extends name="java/lang/Object" />
+		<method name="getAccessoryList()[Landroid/hardware/usb/UsbAccessory;" />
+		<method name="getDeviceList()Ljava/util/HashMap;" />
+		<method name="hasPermission(Landroid/hardware/usb/UsbAccessory;)Z" />
+		<method name="hasPermission(Landroid/hardware/usb/UsbDevice;)Z" />
+		<method name="openAccessory(Landroid/hardware/usb/UsbAccessory;)Landroid/os/ParcelFileDescriptor;" />
+		<method name="openDevice(Landroid/hardware/usb/UsbDevice;)Landroid/hardware/usb/UsbDeviceConnection;" />
+		<method name="requestPermission(Landroid/hardware/usb/UsbAccessory;Landroid/app/PendingIntent;)V" />
+		<method name="requestPermission(Landroid/hardware/usb/UsbDevice;Landroid/app/PendingIntent;)V" />
+		<field name="ACTION_USB_ACCESSORY_ATTACHED" />
+		<field name="ACTION_USB_ACCESSORY_DETACHED" />
+		<field name="ACTION_USB_DEVICE_ATTACHED" />
+		<field name="ACTION_USB_DEVICE_DETACHED" />
+		<field name="EXTRA_ACCESSORY" />
+		<field name="EXTRA_DEVICE" />
+		<field name="EXTRA_PERMISSION_GRANTED" />
+	</class>
+	<class name="android/hardware/usb/UsbRequest" since="12">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="cancel()Z" />
+		<method name="close()V" />
+		<method name="getClientData()Ljava/lang/Object;" />
+		<method name="getEndpoint()Landroid/hardware/usb/UsbEndpoint;" />
+		<method name="initialize(Landroid/hardware/usb/UsbDeviceConnection;Landroid/hardware/usb/UsbEndpoint;)Z" />
+		<method name="queue(Ljava/nio/ByteBuffer;)Z" since="26" />
+		<method name="queue(Ljava/nio/ByteBuffer;I)Z" deprecated="26" />
+		<method name="setClientData(Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/inputmethodservice/AbstractInputMethodService" since="3">
+		<extends name="android/app/Service" />
+		<implements name="android/view/KeyEvent$Callback" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState;" since="5" />
+		<method name="onCreateInputMethodInterface()Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl;" />
+		<method name="onCreateInputMethodSessionInterface()Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;" />
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="17" />
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;)Z" />
+	</class>
+	<class name="android/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/inputmethod/InputMethod" />
+		<method name="&lt;init&gt;(Landroid/inputmethodservice/AbstractInputMethodService;)V" />
+	</class>
+	<class name="android/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/inputmethod/InputMethodSession" />
+		<method name="&lt;init&gt;(Landroid/inputmethodservice/AbstractInputMethodService;)V" />
+		<method name="isEnabled()Z" />
+		<method name="isRevoked()Z" />
+		<method name="revokeSelf()V" />
+		<method name="setEnabled(Z)V" />
+	</class>
+	<class name="android/inputmethodservice/ExtractEditText" since="3">
+		<extends name="android/widget/EditText" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="finishInternalChanges()V" />
+		<method name="hasVerticalScrollBar()Z" />
+		<method name="startInternalChanges()V" />
+	</class>
+	<class name="android/inputmethodservice/InputMethodService" since="3">
+		<extends name="android/inputmethodservice/AbstractInputMethodService" />
+		<method name="&lt;init&gt;()V" />
+		<method name="enableHardwareAcceleration()Z" since="17" deprecated="21" />
+		<method name="getBackDisposition()I" since="11" />
+		<method name="getCandidatesHiddenVisibility()I" />
+		<method name="getCurrentInputBinding()Landroid/view/inputmethod/InputBinding;" />
+		<method name="getCurrentInputConnection()Landroid/view/inputmethod/InputConnection;" />
+		<method name="getCurrentInputEditorInfo()Landroid/view/inputmethod/EditorInfo;" />
+		<method name="getCurrentInputStarted()Z" />
+		<method name="getInputMethodWindowRecommendedHeight()I" since="21" deprecated="29" />
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;" />
+		<method name="getMaxWidth()I" />
+		<method name="getTextForImeAction(I)Ljava/lang/CharSequence;" />
+		<method name="getWindow()Landroid/app/Dialog;" />
+		<method name="hideStatusIcon()V" />
+		<method name="hideWindow()V" />
+		<method name="isExtractViewShown()Z" />
+		<method name="isFullscreenMode()Z" />
+		<method name="isInputViewShown()Z" />
+		<method name="isShowInputRequested()Z" />
+		<method name="onAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="onBindInput()V" />
+		<method name="onComputeInsets(Landroid/inputmethodservice/InputMethodService$Insets;)V" />
+		<method name="onConfigureWindow(Landroid/view/Window;ZZ)V" />
+		<method name="onCreateCandidatesView()Landroid/view/View;" />
+		<method name="onCreateExtractTextView()Landroid/view/View;" />
+		<method name="onCreateInlineSuggestionsRequest(Landroid/os/Bundle;)Landroid/view/inputmethod/InlineSuggestionsRequest;" since="30" />
+		<method name="onCreateInputView()Landroid/view/View;" />
+		<method name="onCurrentInputMethodSubtypeChanged(Landroid/view/inputmethod/InputMethodSubtype;)V" since="11" />
+		<method name="onDisplayCompletions([Landroid/view/inputmethod/CompletionInfo;)V" />
+		<method name="onEvaluateFullscreenMode()Z" />
+		<method name="onEvaluateInputViewShown()Z" />
+		<method name="onExtractTextContextMenuItem(I)Z" />
+		<method name="onExtractedCursorMovement(II)V" />
+		<method name="onExtractedSelectionChanged(II)V" />
+		<method name="onExtractedTextClicked()V" />
+		<method name="onExtractingInputChanged(Landroid/view/inputmethod/EditorInfo;)V" />
+		<method name="onFinishCandidatesView(Z)V" />
+		<method name="onFinishInput()V" />
+		<method name="onFinishInputView(Z)V" />
+		<method name="onInitializeInterface()V" />
+		<method name="onInlineSuggestionsResponse(Landroid/view/inputmethod/InlineSuggestionsResponse;)Z" since="30" />
+		<method name="onShowInputRequested(IZ)Z" />
+		<method name="onStartCandidatesView(Landroid/view/inputmethod/EditorInfo;Z)V" />
+		<method name="onStartInput(Landroid/view/inputmethod/EditorInfo;Z)V" />
+		<method name="onStartInputView(Landroid/view/inputmethod/EditorInfo;Z)V" />
+		<method name="onUnbindInput()V" />
+		<method name="onUpdateCursor(Landroid/graphics/Rect;)V" deprecated="21" />
+		<method name="onUpdateCursorAnchorInfo(Landroid/view/inputmethod/CursorAnchorInfo;)V" since="21" />
+		<method name="onUpdateExtractedText(ILandroid/view/inputmethod/ExtractedText;)V" />
+		<method name="onUpdateExtractingViews(Landroid/view/inputmethod/EditorInfo;)V" />
+		<method name="onUpdateExtractingVisibility(Landroid/view/inputmethod/EditorInfo;)V" />
+		<method name="onUpdateSelection(IIIIII)V" />
+		<method name="onViewClicked(Z)V" since="14" deprecated="29" />
+		<method name="onWindowHidden()V" />
+		<method name="onWindowShown()V" />
+		<method name="requestHideSelf(I)V" />
+		<method name="requestShowSelf(I)V" since="28" />
+		<method name="sendDefaultEditorAction(Z)Z" />
+		<method name="sendDownUpKeyEvents(I)V" />
+		<method name="sendKeyChar(C)V" />
+		<method name="setBackDisposition(I)V" since="11" />
+		<method name="setCandidatesView(Landroid/view/View;)V" />
+		<method name="setCandidatesViewShown(Z)V" />
+		<method name="setExtractView(Landroid/view/View;)V" />
+		<method name="setExtractViewShown(Z)V" />
+		<method name="setInputView(Landroid/view/View;)V" />
+		<method name="shouldOfferSwitchingToNextInputMethod()Z" since="28" />
+		<method name="showStatusIcon(I)V" />
+		<method name="showWindow(Z)V" />
+		<method name="switchInputMethod(Ljava/lang/String;)V" />
+		<method name="switchInputMethod(Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V" since="28" />
+		<method name="switchToNextInputMethod(Z)Z" since="28" />
+		<method name="switchToPreviousInputMethod()Z" since="28" />
+		<method name="updateFullscreenMode()V" />
+		<method name="updateInputViewShown()V" />
+		<field name="BACK_DISPOSITION_ADJUST_NOTHING" since="28" />
+		<field name="BACK_DISPOSITION_DEFAULT" since="11" />
+		<field name="BACK_DISPOSITION_WILL_DISMISS" since="11" deprecated="28" />
+		<field name="BACK_DISPOSITION_WILL_NOT_DISMISS" since="11" deprecated="28" />
+	</class>
+	<class name="android/inputmethodservice/InputMethodService$InputMethodImpl" since="3">
+		<extends name="android/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl" />
+		<method name="&lt;init&gt;(Landroid/inputmethodservice/InputMethodService;)V" />
+	</class>
+	<class name="android/inputmethodservice/InputMethodService$InputMethodSessionImpl" since="3">
+		<extends name="android/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl" />
+		<method name="&lt;init&gt;(Landroid/inputmethodservice/InputMethodService;)V" />
+	</class>
+	<class name="android/inputmethodservice/InputMethodService$Insets" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="TOUCHABLE_INSETS_CONTENT" />
+		<field name="TOUCHABLE_INSETS_FRAME" />
+		<field name="TOUCHABLE_INSETS_REGION" since="11" />
+		<field name="TOUCHABLE_INSETS_VISIBLE" />
+		<field name="contentTopInsets" />
+		<field name="touchableInsets" />
+		<field name="touchableRegion" since="11" />
+		<field name="visibleTopInsets" />
+	</class>
+	<class name="android/inputmethodservice/Keyboard" since="3" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;II)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;IIII)V" since="11" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILjava/lang/CharSequence;II)V" deprecated="29" />
+		<method name="createKeyFromXml(Landroid/content/res/Resources;Landroid/inputmethodservice/Keyboard$Row;IILandroid/content/res/XmlResourceParser;)Landroid/inputmethodservice/Keyboard$Key;" deprecated="29" />
+		<method name="createRowFromXml(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/inputmethodservice/Keyboard$Row;" deprecated="29" />
+		<method name="getHeight()I" deprecated="29" />
+		<method name="getHorizontalGap()I" deprecated="29" />
+		<method name="getKeyHeight()I" deprecated="29" />
+		<method name="getKeyWidth()I" deprecated="29" />
+		<method name="getKeys()Ljava/util/List;" deprecated="29" />
+		<method name="getMinWidth()I" deprecated="29" />
+		<method name="getModifierKeys()Ljava/util/List;" deprecated="29" />
+		<method name="getNearestKeys(II)[I" deprecated="29" />
+		<method name="getShiftKeyIndex()I" deprecated="29" />
+		<method name="getVerticalGap()I" deprecated="29" />
+		<method name="isShifted()Z" deprecated="29" />
+		<method name="setHorizontalGap(I)V" deprecated="29" />
+		<method name="setKeyHeight(I)V" deprecated="29" />
+		<method name="setKeyWidth(I)V" deprecated="29" />
+		<method name="setShifted(Z)Z" deprecated="29" />
+		<method name="setVerticalGap(I)V" deprecated="29" />
+		<field name="EDGE_BOTTOM" deprecated="29" />
+		<field name="EDGE_LEFT" deprecated="29" />
+		<field name="EDGE_RIGHT" deprecated="29" />
+		<field name="EDGE_TOP" deprecated="29" />
+		<field name="KEYCODE_ALT" deprecated="29" />
+		<field name="KEYCODE_CANCEL" deprecated="29" />
+		<field name="KEYCODE_DELETE" deprecated="29" />
+		<field name="KEYCODE_DONE" deprecated="29" />
+		<field name="KEYCODE_MODE_CHANGE" deprecated="29" />
+		<field name="KEYCODE_SHIFT" deprecated="29" />
+	</class>
+	<class name="android/inputmethodservice/Keyboard$Key" since="3" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/res/Resources;Landroid/inputmethodservice/Keyboard$Row;IILandroid/content/res/XmlResourceParser;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/inputmethodservice/Keyboard$Row;)V" deprecated="29" />
+		<method name="getCurrentDrawableState()[I" deprecated="29" />
+		<method name="isInside(II)Z" deprecated="29" />
+		<method name="onPressed()V" deprecated="29" />
+		<method name="onReleased(Z)V" deprecated="29" />
+		<method name="squaredDistanceFrom(II)I" deprecated="29" />
+		<field name="codes" deprecated="29" />
+		<field name="edgeFlags" deprecated="29" />
+		<field name="gap" deprecated="29" />
+		<field name="height" deprecated="29" />
+		<field name="icon" deprecated="29" />
+		<field name="iconPreview" deprecated="29" />
+		<field name="label" deprecated="29" />
+		<field name="modifier" deprecated="29" />
+		<field name="on" deprecated="29" />
+		<field name="popupCharacters" deprecated="29" />
+		<field name="popupResId" deprecated="29" />
+		<field name="pressed" deprecated="29" />
+		<field name="repeatable" deprecated="29" />
+		<field name="sticky" deprecated="29" />
+		<field name="text" deprecated="29" />
+		<field name="width" deprecated="29" />
+		<field name="x" deprecated="29" />
+		<field name="y" deprecated="29" />
+	</class>
+	<class name="android/inputmethodservice/Keyboard$Row" since="3" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/res/Resources;Landroid/inputmethodservice/Keyboard;Landroid/content/res/XmlResourceParser;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/inputmethodservice/Keyboard;)V" deprecated="29" />
+		<field name="defaultHeight" deprecated="29" />
+		<field name="defaultHorizontalGap" deprecated="29" />
+		<field name="defaultWidth" deprecated="29" />
+		<field name="mode" deprecated="29" />
+		<field name="rowEdgeFlags" deprecated="29" />
+		<field name="verticalGap" deprecated="29" />
+	</class>
+	<class name="android/inputmethodservice/KeyboardView" since="3" deprecated="29">
+		<extends name="android/view/View" />
+		<implements name="android/view/View$OnClickListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="closing()V" deprecated="29" />
+		<method name="getKeyboard()Landroid/inputmethodservice/Keyboard;" deprecated="29" />
+		<method name="getOnKeyboardActionListener()Landroid/inputmethodservice/KeyboardView$OnKeyboardActionListener;" deprecated="29" />
+		<method name="handleBack()Z" deprecated="29" />
+		<method name="invalidateAllKeys()V" since="4" deprecated="29" />
+		<method name="invalidateKey(I)V" since="4" deprecated="29" />
+		<method name="isPreviewEnabled()Z" deprecated="29" />
+		<method name="isProximityCorrectionEnabled()Z" deprecated="29" />
+		<method name="isShifted()Z" deprecated="29" />
+		<method name="onLongPress(Landroid/inputmethodservice/Keyboard$Key;)Z" deprecated="29" />
+		<method name="setKeyboard(Landroid/inputmethodservice/Keyboard;)V" deprecated="29" />
+		<method name="setOnKeyboardActionListener(Landroid/inputmethodservice/KeyboardView$OnKeyboardActionListener;)V" deprecated="29" />
+		<method name="setPopupOffset(II)V" deprecated="29" />
+		<method name="setPopupParent(Landroid/view/View;)V" deprecated="29" />
+		<method name="setPreviewEnabled(Z)V" deprecated="29" />
+		<method name="setProximityCorrectionEnabled(Z)V" deprecated="29" />
+		<method name="setShifted(Z)Z" deprecated="29" />
+		<method name="setVerticalCorrection(I)V" deprecated="29" />
+		<method name="swipeDown()V" deprecated="29" />
+		<method name="swipeLeft()V" deprecated="29" />
+		<method name="swipeRight()V" deprecated="29" />
+		<method name="swipeUp()V" deprecated="29" />
+	</class>
+	<class name="android/inputmethodservice/KeyboardView$OnKeyboardActionListener" since="3" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onKey(I[I)V" deprecated="29" />
+		<method name="onPress(I)V" deprecated="29" />
+		<method name="onRelease(I)V" deprecated="29" />
+		<method name="onText(Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="swipeDown()V" deprecated="29" />
+		<method name="swipeLeft()V" deprecated="29" />
+		<method name="swipeRight()V" deprecated="29" />
+		<method name="swipeUp()V" deprecated="29" />
+	</class>
+	<class name="android/location/Address" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" />
+		<method name="clearLatitude()V" />
+		<method name="clearLongitude()V" />
+		<method name="getAddressLine(I)Ljava/lang/String;" />
+		<method name="getAdminArea()Ljava/lang/String;" />
+		<method name="getCountryCode()Ljava/lang/String;" />
+		<method name="getCountryName()Ljava/lang/String;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getFeatureName()Ljava/lang/String;" />
+		<method name="getLatitude()D" />
+		<method name="getLocale()Ljava/util/Locale;" />
+		<method name="getLocality()Ljava/lang/String;" />
+		<method name="getLongitude()D" />
+		<method name="getMaxAddressLineIndex()I" />
+		<method name="getPhone()Ljava/lang/String;" />
+		<method name="getPostalCode()Ljava/lang/String;" />
+		<method name="getPremises()Ljava/lang/String;" since="4" />
+		<method name="getSubAdminArea()Ljava/lang/String;" />
+		<method name="getSubLocality()Ljava/lang/String;" since="4" />
+		<method name="getSubThoroughfare()Ljava/lang/String;" since="4" />
+		<method name="getThoroughfare()Ljava/lang/String;" />
+		<method name="getUrl()Ljava/lang/String;" />
+		<method name="hasLatitude()Z" />
+		<method name="hasLongitude()Z" />
+		<method name="setAddressLine(ILjava/lang/String;)V" />
+		<method name="setAdminArea(Ljava/lang/String;)V" />
+		<method name="setCountryCode(Ljava/lang/String;)V" />
+		<method name="setCountryName(Ljava/lang/String;)V" />
+		<method name="setExtras(Landroid/os/Bundle;)V" />
+		<method name="setFeatureName(Ljava/lang/String;)V" />
+		<method name="setLatitude(D)V" />
+		<method name="setLocality(Ljava/lang/String;)V" />
+		<method name="setLongitude(D)V" />
+		<method name="setPhone(Ljava/lang/String;)V" />
+		<method name="setPostalCode(Ljava/lang/String;)V" />
+		<method name="setPremises(Ljava/lang/String;)V" since="4" />
+		<method name="setSubAdminArea(Ljava/lang/String;)V" />
+		<method name="setSubLocality(Ljava/lang/String;)V" since="4" />
+		<method name="setSubThoroughfare(Ljava/lang/String;)V" since="4" />
+		<method name="setThoroughfare(Ljava/lang/String;)V" />
+		<method name="setUrl(Ljava/lang/String;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/location/Criteria" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/location/Criteria;)V" />
+		<method name="getAccuracy()I" />
+		<method name="getBearingAccuracy()I" since="9" />
+		<method name="getHorizontalAccuracy()I" since="9" />
+		<method name="getPowerRequirement()I" />
+		<method name="getSpeedAccuracy()I" since="9" />
+		<method name="getVerticalAccuracy()I" since="9" />
+		<method name="isAltitudeRequired()Z" />
+		<method name="isBearingRequired()Z" />
+		<method name="isCostAllowed()Z" />
+		<method name="isSpeedRequired()Z" />
+		<method name="setAccuracy(I)V" />
+		<method name="setAltitudeRequired(Z)V" />
+		<method name="setBearingAccuracy(I)V" since="9" />
+		<method name="setBearingRequired(Z)V" />
+		<method name="setCostAllowed(Z)V" />
+		<method name="setHorizontalAccuracy(I)V" since="9" />
+		<method name="setPowerRequirement(I)V" />
+		<method name="setSpeedAccuracy(I)V" since="9" />
+		<method name="setSpeedRequired(Z)V" />
+		<method name="setVerticalAccuracy(I)V" since="9" />
+		<field name="ACCURACY_COARSE" />
+		<field name="ACCURACY_FINE" />
+		<field name="ACCURACY_HIGH" since="9" />
+		<field name="ACCURACY_LOW" since="9" />
+		<field name="ACCURACY_MEDIUM" since="9" />
+		<field name="CREATOR" />
+		<field name="NO_REQUIREMENT" />
+		<field name="POWER_HIGH" />
+		<field name="POWER_LOW" />
+		<field name="POWER_MEDIUM" />
+	</class>
+	<class name="android/location/Geocoder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/util/Locale;)V" />
+		<method name="getFromLocation(DDI)Ljava/util/List;" />
+		<method name="getFromLocationName(Ljava/lang/String;I)Ljava/util/List;" />
+		<method name="getFromLocationName(Ljava/lang/String;IDDDD)Ljava/util/List;" />
+		<method name="isPresent()Z" since="9" />
+	</class>
+	<class name="android/location/GnssAntennaInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCarrierFrequencyMHz()D" />
+		<method name="getPhaseCenterOffset()Landroid/location/GnssAntennaInfo$PhaseCenterOffset;" />
+		<method name="getPhaseCenterVariationCorrections()Landroid/location/GnssAntennaInfo$SphericalCorrections;" />
+		<method name="getSignalGainCorrections()Landroid/location/GnssAntennaInfo$SphericalCorrections;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/location/GnssAntennaInfo$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(DLandroid/location/GnssAntennaInfo$PhaseCenterOffset;)V" since="31" />
+		<method name="&lt;init&gt;(Landroid/location/GnssAntennaInfo;)V" since="31" />
+		<method name="build()Landroid/location/GnssAntennaInfo;" />
+		<method name="setCarrierFrequencyMHz(D)Landroid/location/GnssAntennaInfo$Builder;" />
+		<method name="setPhaseCenterOffset(Landroid/location/GnssAntennaInfo$PhaseCenterOffset;)Landroid/location/GnssAntennaInfo$Builder;" />
+		<method name="setPhaseCenterVariationCorrections(Landroid/location/GnssAntennaInfo$SphericalCorrections;)Landroid/location/GnssAntennaInfo$Builder;" />
+		<method name="setSignalGainCorrections(Landroid/location/GnssAntennaInfo$SphericalCorrections;)Landroid/location/GnssAntennaInfo$Builder;" />
+	</class>
+	<class name="android/location/GnssAntennaInfo$Listener" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onGnssAntennaInfoReceived(Ljava/util/List;)V" />
+	</class>
+	<class name="android/location/GnssAntennaInfo$PhaseCenterOffset" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(DDDDDD)V" />
+		<method name="getXOffsetMm()D" />
+		<method name="getXOffsetUncertaintyMm()D" />
+		<method name="getYOffsetMm()D" />
+		<method name="getYOffsetUncertaintyMm()D" />
+		<method name="getZOffsetMm()D" />
+		<method name="getZOffsetUncertaintyMm()D" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/location/GnssAntennaInfo$SphericalCorrections" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;([[D[[D)V" />
+		<method name="getCorrectionUncertaintiesArray()[[D" />
+		<method name="getCorrectionsArray()[[D" />
+		<method name="getDeltaPhi()D" />
+		<method name="getDeltaTheta()D" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/location/GnssCapabilities" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="31" />
+		<method name="hasAntennaInfo()Z" since="31" />
+		<method name="hasGnssAntennaInfo()Z" deprecated="31" />
+		<method name="hasMeasurements()Z" since="31" />
+		<method name="hasNavigationMessages()Z" since="31" />
+		<field name="CREATOR" since="31" />
+	</class>
+	<class name="android/location/GnssCapabilities$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/location/GnssCapabilities;)V" />
+		<method name="build()Landroid/location/GnssCapabilities;" />
+		<method name="setHasAntennaInfo(Z)Landroid/location/GnssCapabilities$Builder;" />
+		<method name="setHasMeasurements(Z)Landroid/location/GnssCapabilities$Builder;" />
+		<method name="setHasNavigationMessages(Z)Landroid/location/GnssCapabilities$Builder;" />
+	</class>
+	<class name="android/location/GnssClock" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getBiasNanos()D" />
+		<method name="getBiasUncertaintyNanos()D" />
+		<method name="getDriftNanosPerSecond()D" />
+		<method name="getDriftUncertaintyNanosPerSecond()D" />
+		<method name="getElapsedRealtimeNanos()J" since="29" />
+		<method name="getElapsedRealtimeUncertaintyNanos()D" since="29" />
+		<method name="getFullBiasNanos()J" />
+		<method name="getHardwareClockDiscontinuityCount()I" />
+		<method name="getLeapSecond()I" />
+		<method name="getReferenceCarrierFrequencyHzForIsb()D" since="30" />
+		<method name="getReferenceCodeTypeForIsb()Ljava/lang/String;" since="30" />
+		<method name="getReferenceConstellationTypeForIsb()I" since="30" />
+		<method name="getTimeNanos()J" />
+		<method name="getTimeUncertaintyNanos()D" />
+		<method name="hasBiasNanos()Z" />
+		<method name="hasBiasUncertaintyNanos()Z" />
+		<method name="hasDriftNanosPerSecond()Z" />
+		<method name="hasDriftUncertaintyNanosPerSecond()Z" />
+		<method name="hasElapsedRealtimeNanos()Z" since="29" />
+		<method name="hasElapsedRealtimeUncertaintyNanos()Z" since="29" />
+		<method name="hasFullBiasNanos()Z" />
+		<method name="hasLeapSecond()Z" />
+		<method name="hasReferenceCarrierFrequencyHzForIsb()Z" since="30" />
+		<method name="hasReferenceCodeTypeForIsb()Z" since="30" />
+		<method name="hasReferenceConstellationTypeForIsb()Z" since="30" />
+		<method name="hasTimeUncertaintyNanos()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/location/GnssMeasurement" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAccumulatedDeltaRangeMeters()D" />
+		<method name="getAccumulatedDeltaRangeState()I" />
+		<method name="getAccumulatedDeltaRangeUncertaintyMeters()D" />
+		<method name="getAutomaticGainControlLevelDb()D" since="26" />
+		<method name="getBasebandCn0DbHz()D" since="30" />
+		<method name="getCarrierCycles()J" deprecated="28" />
+		<method name="getCarrierFrequencyHz()F" />
+		<method name="getCarrierPhase()D" deprecated="28" />
+		<method name="getCarrierPhaseUncertainty()D" deprecated="28" />
+		<method name="getCn0DbHz()D" />
+		<method name="getCodeType()Ljava/lang/String;" since="29" />
+		<method name="getConstellationType()I" />
+		<method name="getFullInterSignalBiasNanos()D" since="30" />
+		<method name="getFullInterSignalBiasUncertaintyNanos()D" since="30" />
+		<method name="getMultipathIndicator()I" />
+		<method name="getPseudorangeRateMetersPerSecond()D" />
+		<method name="getPseudorangeRateUncertaintyMetersPerSecond()D" />
+		<method name="getReceivedSvTimeNanos()J" />
+		<method name="getReceivedSvTimeUncertaintyNanos()J" />
+		<method name="getSatelliteInterSignalBiasNanos()D" since="30" />
+		<method name="getSatelliteInterSignalBiasUncertaintyNanos()D" since="30" />
+		<method name="getSnrInDb()D" />
+		<method name="getState()I" />
+		<method name="getSvid()I" />
+		<method name="getTimeOffsetNanos()D" />
+		<method name="hasAutomaticGainControlLevelDb()Z" since="26" />
+		<method name="hasBasebandCn0DbHz()Z" since="30" />
+		<method name="hasCarrierCycles()Z" deprecated="28" />
+		<method name="hasCarrierFrequencyHz()Z" />
+		<method name="hasCarrierPhase()Z" deprecated="28" />
+		<method name="hasCarrierPhaseUncertainty()Z" deprecated="28" />
+		<method name="hasCodeType()Z" since="29" />
+		<method name="hasFullInterSignalBiasNanos()Z" since="30" />
+		<method name="hasFullInterSignalBiasUncertaintyNanos()Z" since="30" />
+		<method name="hasSatelliteInterSignalBiasNanos()Z" since="30" />
+		<method name="hasSatelliteInterSignalBiasUncertaintyNanos()Z" since="30" />
+		<method name="hasSnrInDb()Z" />
+		<field name="ADR_STATE_CYCLE_SLIP" />
+		<field name="ADR_STATE_HALF_CYCLE_REPORTED" since="28" />
+		<field name="ADR_STATE_HALF_CYCLE_RESOLVED" since="28" />
+		<field name="ADR_STATE_RESET" />
+		<field name="ADR_STATE_UNKNOWN" />
+		<field name="ADR_STATE_VALID" />
+		<field name="CREATOR" />
+		<field name="MULTIPATH_INDICATOR_DETECTED" />
+		<field name="MULTIPATH_INDICATOR_NOT_DETECTED" />
+		<field name="MULTIPATH_INDICATOR_UNKNOWN" />
+		<field name="STATE_2ND_CODE_LOCK" since="29" />
+		<field name="STATE_BDS_D2_BIT_SYNC" />
+		<field name="STATE_BDS_D2_SUBFRAME_SYNC" />
+		<field name="STATE_BIT_SYNC" />
+		<field name="STATE_CODE_LOCK" />
+		<field name="STATE_GAL_E1BC_CODE_LOCK" />
+		<field name="STATE_GAL_E1B_PAGE_SYNC" />
+		<field name="STATE_GAL_E1C_2ND_CODE_LOCK" />
+		<field name="STATE_GLO_STRING_SYNC" />
+		<field name="STATE_GLO_TOD_DECODED" />
+		<field name="STATE_GLO_TOD_KNOWN" since="26" />
+		<field name="STATE_MSEC_AMBIGUOUS" />
+		<field name="STATE_SBAS_SYNC" />
+		<field name="STATE_SUBFRAME_SYNC" />
+		<field name="STATE_SYMBOL_SYNC" />
+		<field name="STATE_TOW_DECODED" />
+		<field name="STATE_TOW_KNOWN" since="26" />
+		<field name="STATE_UNKNOWN" />
+	</class>
+	<class name="android/location/GnssMeasurementRequest" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="isFullTracking()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/location/GnssMeasurementRequest$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/location/GnssMeasurementRequest;)V" />
+		<method name="build()Landroid/location/GnssMeasurementRequest;" />
+		<method name="setFullTracking(Z)Landroid/location/GnssMeasurementRequest$Builder;" />
+	</class>
+	<class name="android/location/GnssMeasurementsEvent" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getClock()Landroid/location/GnssClock;" />
+		<method name="getMeasurements()Ljava/util/Collection;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/location/GnssMeasurementsEvent$Callback" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onGnssMeasurementsReceived(Landroid/location/GnssMeasurementsEvent;)V" />
+		<method name="onStatusChanged(I)V" deprecated="31" />
+		<field name="STATUS_LOCATION_DISABLED" deprecated="31" />
+		<field name="STATUS_NOT_ALLOWED" since="28" deprecated="31" />
+		<field name="STATUS_NOT_SUPPORTED" deprecated="31" />
+		<field name="STATUS_READY" deprecated="31" />
+	</class>
+	<class name="android/location/GnssNavigationMessage" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getData()[B" />
+		<method name="getMessageId()I" />
+		<method name="getStatus()I" />
+		<method name="getSubmessageId()I" />
+		<method name="getSvid()I" />
+		<method name="getType()I" />
+		<field name="CREATOR" />
+		<field name="STATUS_PARITY_PASSED" />
+		<field name="STATUS_PARITY_REBUILT" />
+		<field name="STATUS_UNKNOWN" />
+		<field name="TYPE_BDS_CNAV1" since="30" />
+		<field name="TYPE_BDS_CNAV2" since="30" />
+		<field name="TYPE_BDS_D1" />
+		<field name="TYPE_BDS_D2" />
+		<field name="TYPE_GAL_F" />
+		<field name="TYPE_GAL_I" />
+		<field name="TYPE_GLO_L1CA" />
+		<field name="TYPE_GPS_CNAV2" />
+		<field name="TYPE_GPS_L1CA" />
+		<field name="TYPE_GPS_L2CNAV" />
+		<field name="TYPE_GPS_L5CNAV" />
+		<field name="TYPE_IRN_L5CA" since="30" />
+		<field name="TYPE_QZS_L1CA" since="30" />
+		<field name="TYPE_SBS" since="30" />
+		<field name="TYPE_UNKNOWN" />
+	</class>
+	<class name="android/location/GnssNavigationMessage$Callback" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onGnssNavigationMessageReceived(Landroid/location/GnssNavigationMessage;)V" />
+		<method name="onStatusChanged(I)V" deprecated="31" />
+		<field name="STATUS_LOCATION_DISABLED" deprecated="31" />
+		<field name="STATUS_NOT_SUPPORTED" deprecated="31" />
+		<field name="STATUS_READY" deprecated="31" />
+	</class>
+	<class name="android/location/GnssStatus" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="31" />
+		<method name="getAzimuthDegrees(I)F" />
+		<method name="getBasebandCn0DbHz(I)F" since="30" />
+		<method name="getCarrierFrequencyHz(I)F" since="26" />
+		<method name="getCn0DbHz(I)F" />
+		<method name="getConstellationType(I)I" />
+		<method name="getElevationDegrees(I)F" />
+		<method name="getSatelliteCount()I" />
+		<method name="getSvid(I)I" />
+		<method name="hasAlmanacData(I)Z" />
+		<method name="hasBasebandCn0DbHz(I)Z" since="30" />
+		<method name="hasCarrierFrequencyHz(I)Z" since="26" />
+		<method name="hasEphemerisData(I)Z" />
+		<method name="usedInFix(I)Z" />
+		<field name="CONSTELLATION_BEIDOU" />
+		<field name="CONSTELLATION_GALILEO" />
+		<field name="CONSTELLATION_GLONASS" />
+		<field name="CONSTELLATION_GPS" />
+		<field name="CONSTELLATION_IRNSS" since="29" />
+		<field name="CONSTELLATION_QZSS" />
+		<field name="CONSTELLATION_SBAS" />
+		<field name="CONSTELLATION_UNKNOWN" />
+		<field name="CREATOR" since="31" />
+	</class>
+	<class name="android/location/GnssStatus$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addSatellite(IIFFFZZZZFZF)Landroid/location/GnssStatus$Builder;" />
+		<method name="build()Landroid/location/GnssStatus;" />
+		<method name="clearSatellites()Landroid/location/GnssStatus$Builder;" />
+	</class>
+	<class name="android/location/GnssStatus$Callback" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onFirstFix(I)V" />
+		<method name="onSatelliteStatusChanged(Landroid/location/GnssStatus;)V" />
+		<method name="onStarted()V" />
+		<method name="onStopped()V" />
+	</class>
+	<class name="android/location/GpsSatellite" since="3" deprecated="24">
+		<extends name="java/lang/Object" />
+		<method name="getAzimuth()F" deprecated="29" />
+		<method name="getElevation()F" deprecated="29" />
+		<method name="getPrn()I" deprecated="29" />
+		<method name="getSnr()F" deprecated="29" />
+		<method name="hasAlmanac()Z" deprecated="29" />
+		<method name="hasEphemeris()Z" deprecated="29" />
+		<method name="usedInFix()Z" deprecated="29" />
+	</class>
+	<class name="android/location/GpsStatus" since="3" deprecated="24">
+		<extends name="java/lang/Object" />
+		<method name="create(Landroid/location/GnssStatus;I)Landroid/location/GpsStatus;" since="30" deprecated="30" />
+		<method name="getMaxSatellites()I" deprecated="29" />
+		<method name="getSatellites()Ljava/lang/Iterable;" deprecated="29" />
+		<method name="getTimeToFirstFix()I" deprecated="29" />
+		<field name="GPS_EVENT_FIRST_FIX" deprecated="29" />
+		<field name="GPS_EVENT_SATELLITE_STATUS" deprecated="29" />
+		<field name="GPS_EVENT_STARTED" deprecated="29" />
+		<field name="GPS_EVENT_STOPPED" deprecated="29" />
+	</class>
+	<class name="android/location/GpsStatus$Listener" since="3" deprecated="24">
+		<extends name="java/lang/Object" />
+		<method name="onGpsStatusChanged(I)V" deprecated="29" />
+	</class>
+	<class name="android/location/GpsStatus$NmeaListener" since="5" deprecated="24">
+		<extends name="java/lang/Object" />
+		<method name="onNmeaReceived(JLjava/lang/String;)V" deprecated="29" />
+	</class>
+	<class name="android/location/Location" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/location/Location;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="bearingTo(Landroid/location/Location;)F" />
+		<method name="convert(DI)Ljava/lang/String;" />
+		<method name="convert(Ljava/lang/String;)D" />
+		<method name="distanceBetween(DDDD[F)V" />
+		<method name="distanceTo(Landroid/location/Location;)F" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" since="3" />
+		<method name="getAccuracy()F" />
+		<method name="getAltitude()D" />
+		<method name="getBearing()F" />
+		<method name="getBearingAccuracyDegrees()F" since="26" />
+		<method name="getElapsedRealtimeNanos()J" since="17" />
+		<method name="getElapsedRealtimeUncertaintyNanos()D" since="29" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getLatitude()D" />
+		<method name="getLongitude()D" />
+		<method name="getProvider()Ljava/lang/String;" />
+		<method name="getSpeed()F" />
+		<method name="getSpeedAccuracyMetersPerSecond()F" since="26" />
+		<method name="getTime()J" />
+		<method name="getVerticalAccuracyMeters()F" since="26" />
+		<method name="hasAccuracy()Z" />
+		<method name="hasAltitude()Z" />
+		<method name="hasBearing()Z" />
+		<method name="hasBearingAccuracy()Z" since="26" />
+		<method name="hasElapsedRealtimeUncertaintyNanos()Z" since="29" />
+		<method name="hasSpeed()Z" />
+		<method name="hasSpeedAccuracy()Z" since="26" />
+		<method name="hasVerticalAccuracy()Z" since="26" />
+		<method name="isFromMockProvider()Z" since="18" deprecated="31" />
+		<method name="isMock()Z" since="31" />
+		<method name="removeAccuracy()V" deprecated="26" />
+		<method name="removeAltitude()V" deprecated="26" />
+		<method name="removeBearing()V" deprecated="26" />
+		<method name="removeSpeed()V" deprecated="26" />
+		<method name="reset()V" />
+		<method name="set(Landroid/location/Location;)V" />
+		<method name="setAccuracy(F)V" />
+		<method name="setAltitude(D)V" />
+		<method name="setBearing(F)V" />
+		<method name="setBearingAccuracyDegrees(F)V" since="26" />
+		<method name="setElapsedRealtimeNanos(J)V" since="17" />
+		<method name="setElapsedRealtimeUncertaintyNanos(D)V" since="29" />
+		<method name="setExtras(Landroid/os/Bundle;)V" />
+		<method name="setLatitude(D)V" />
+		<method name="setLongitude(D)V" />
+		<method name="setMock(Z)V" since="31" />
+		<method name="setProvider(Ljava/lang/String;)V" />
+		<method name="setSpeed(F)V" />
+		<method name="setSpeedAccuracyMetersPerSecond(F)V" since="26" />
+		<method name="setTime(J)V" />
+		<method name="setVerticalAccuracyMeters(F)V" since="26" />
+		<field name="CREATOR" />
+		<field name="FORMAT_DEGREES" />
+		<field name="FORMAT_MINUTES" />
+		<field name="FORMAT_SECONDS" />
+	</class>
+	<class name="android/location/LocationListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onFlushComplete(I)V" since="31" />
+		<method name="onLocationChanged(Landroid/location/Location;)V" />
+		<method name="onLocationChanged(Ljava/util/List;)V" since="31" />
+		<method name="onProviderDisabled(Ljava/lang/String;)V" />
+		<method name="onProviderEnabled(Ljava/lang/String;)V" />
+		<method name="onStatusChanged(Ljava/lang/String;ILandroid/os/Bundle;)V" deprecated="29" />
+	</class>
+	<class name="android/location/LocationManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addGpsStatusListener(Landroid/location/GpsStatus$Listener;)Z" since="3" deprecated="24" />
+		<method name="addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z" since="5" deprecated="24" />
+		<method name="addNmeaListener(Landroid/location/OnNmeaMessageListener;)Z" since="24" deprecated="30" />
+		<method name="addNmeaListener(Landroid/location/OnNmeaMessageListener;Landroid/os/Handler;)Z" since="24" />
+		<method name="addNmeaListener(Ljava/util/concurrent/Executor;Landroid/location/OnNmeaMessageListener;)Z" since="30" />
+		<method name="addProximityAlert(DDFJLandroid/app/PendingIntent;)V" />
+		<method name="addTestProvider(Ljava/lang/String;Landroid/location/provider/ProviderProperties;)V" since="31" />
+		<method name="addTestProvider(Ljava/lang/String;Landroid/location/provider/ProviderProperties;Ljava/util/Set;)V" since="31" />
+		<method name="addTestProvider(Ljava/lang/String;ZZZZZZZII)V" since="3" />
+		<method name="clearTestProviderEnabled(Ljava/lang/String;)V" since="3" deprecated="29" />
+		<method name="clearTestProviderLocation(Ljava/lang/String;)V" since="3" deprecated="29" />
+		<method name="clearTestProviderStatus(Ljava/lang/String;)V" since="3" deprecated="29" />
+		<method name="getAllProviders()Ljava/util/List;" />
+		<method name="getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;" />
+		<method name="getCurrentLocation(Ljava/lang/String;Landroid/location/LocationRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31" />
+		<method name="getCurrentLocation(Ljava/lang/String;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="30" />
+		<method name="getGnssAntennaInfos()Ljava/util/List;" since="31" />
+		<method name="getGnssCapabilities()Landroid/location/GnssCapabilities;" since="30" />
+		<method name="getGnssHardwareModelName()Ljava/lang/String;" since="28" />
+		<method name="getGnssYearOfHardware()I" since="28" />
+		<method name="getGpsStatus(Landroid/location/GpsStatus;)Landroid/location/GpsStatus;" since="3" deprecated="24" />
+		<method name="getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;" />
+		<method name="getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;" deprecated="31" />
+		<method name="getProviderProperties(Ljava/lang/String;)Landroid/location/provider/ProviderProperties;" since="31" />
+		<method name="getProviders(Landroid/location/Criteria;Z)Ljava/util/List;" />
+		<method name="getProviders(Z)Ljava/util/List;" />
+		<method name="hasProvider(Ljava/lang/String;)Z" since="31" />
+		<method name="isLocationEnabled()Z" since="28" />
+		<method name="isProviderEnabled(Ljava/lang/String;)Z" />
+		<method name="registerAntennaInfoListener(Ljava/util/concurrent/Executor;Landroid/location/GnssAntennaInfo$Listener;)Z" since="30" />
+		<method name="registerGnssMeasurementsCallback(Landroid/location/GnssMeasurementRequest;Ljava/util/concurrent/Executor;Landroid/location/GnssMeasurementsEvent$Callback;)Z" since="31" />
+		<method name="registerGnssMeasurementsCallback(Landroid/location/GnssMeasurementsEvent$Callback;)Z" since="24" deprecated="30" />
+		<method name="registerGnssMeasurementsCallback(Landroid/location/GnssMeasurementsEvent$Callback;Landroid/os/Handler;)Z" since="24" />
+		<method name="registerGnssMeasurementsCallback(Ljava/util/concurrent/Executor;Landroid/location/GnssMeasurementsEvent$Callback;)Z" since="30" />
+		<method name="registerGnssNavigationMessageCallback(Landroid/location/GnssNavigationMessage$Callback;)Z" since="24" deprecated="30" />
+		<method name="registerGnssNavigationMessageCallback(Landroid/location/GnssNavigationMessage$Callback;Landroid/os/Handler;)Z" since="24" />
+		<method name="registerGnssNavigationMessageCallback(Ljava/util/concurrent/Executor;Landroid/location/GnssNavigationMessage$Callback;)Z" since="30" />
+		<method name="registerGnssStatusCallback(Landroid/location/GnssStatus$Callback;)Z" since="24" deprecated="30" />
+		<method name="registerGnssStatusCallback(Landroid/location/GnssStatus$Callback;Landroid/os/Handler;)Z" since="24" />
+		<method name="registerGnssStatusCallback(Ljava/util/concurrent/Executor;Landroid/location/GnssStatus$Callback;)Z" since="30" />
+		<method name="removeGpsStatusListener(Landroid/location/GpsStatus$Listener;)V" since="3" deprecated="24" />
+		<method name="removeNmeaListener(Landroid/location/GpsStatus$NmeaListener;)V" since="5" deprecated="24" />
+		<method name="removeNmeaListener(Landroid/location/OnNmeaMessageListener;)V" since="24" />
+		<method name="removeProximityAlert(Landroid/app/PendingIntent;)V" />
+		<method name="removeTestProvider(Ljava/lang/String;)V" since="3" />
+		<method name="removeUpdates(Landroid/app/PendingIntent;)V" since="3" />
+		<method name="removeUpdates(Landroid/location/LocationListener;)V" />
+		<method name="requestFlush(Ljava/lang/String;Landroid/app/PendingIntent;I)V" since="31" />
+		<method name="requestFlush(Ljava/lang/String;Landroid/location/LocationListener;I)V" since="31" />
+		<method name="requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V" since="9" deprecated="31" />
+		<method name="requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V" since="9" deprecated="31" />
+		<method name="requestLocationUpdates(JFLandroid/location/Criteria;Ljava/util/concurrent/Executor;Landroid/location/LocationListener;)V" since="30" deprecated="31" />
+		<method name="requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V" since="3" />
+		<method name="requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V" />
+		<method name="requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V" />
+		<method name="requestLocationUpdates(Ljava/lang/String;JFLjava/util/concurrent/Executor;Landroid/location/LocationListener;)V" since="30" />
+		<method name="requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationRequest;Landroid/app/PendingIntent;)V" since="31" />
+		<method name="requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationRequest;Ljava/util/concurrent/Executor;Landroid/location/LocationListener;)V" since="31" />
+		<method name="requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V" since="9" deprecated="30" />
+		<method name="requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V" since="9" deprecated="30" />
+		<method name="requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V" since="9" deprecated="30" />
+		<method name="requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V" since="9" deprecated="30" />
+		<method name="sendExtraCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Z" since="3" />
+		<method name="setTestProviderEnabled(Ljava/lang/String;Z)V" since="3" />
+		<method name="setTestProviderLocation(Ljava/lang/String;Landroid/location/Location;)V" since="3" />
+		<method name="setTestProviderStatus(Ljava/lang/String;ILandroid/os/Bundle;J)V" since="3" deprecated="29" />
+		<method name="unregisterAntennaInfoListener(Landroid/location/GnssAntennaInfo$Listener;)V" since="30" />
+		<method name="unregisterGnssMeasurementsCallback(Landroid/location/GnssMeasurementsEvent$Callback;)V" since="24" />
+		<method name="unregisterGnssNavigationMessageCallback(Landroid/location/GnssNavigationMessage$Callback;)V" since="24" />
+		<method name="unregisterGnssStatusCallback(Landroid/location/GnssStatus$Callback;)V" since="24" />
+		<field name="ACTION_GNSS_CAPABILITIES_CHANGED" since="31" />
+		<field name="EXTRA_GNSS_CAPABILITIES" since="31" />
+		<field name="EXTRA_LOCATION_ENABLED" since="30" />
+		<field name="EXTRA_PROVIDER_ENABLED" since="30" />
+		<field name="EXTRA_PROVIDER_NAME" since="29" />
+		<field name="FUSED_PROVIDER" since="31" />
+		<field name="GPS_PROVIDER" />
+		<field name="KEY_FLUSH_COMPLETE" since="31" />
+		<field name="KEY_LOCATIONS" since="31" />
+		<field name="KEY_LOCATION_CHANGED" since="3" />
+		<field name="KEY_PROVIDER_ENABLED" since="3" />
+		<field name="KEY_PROXIMITY_ENTERING" />
+		<field name="KEY_STATUS_CHANGED" since="3" deprecated="29" />
+		<field name="MODE_CHANGED_ACTION" since="19" />
+		<field name="NETWORK_PROVIDER" />
+		<field name="PASSIVE_PROVIDER" since="8" />
+		<field name="PROVIDERS_CHANGED_ACTION" since="9" />
+	</class>
+	<class name="android/location/LocationProvider" since="1" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="getAccuracy()I" deprecated="31" />
+		<method name="getName()Ljava/lang/String;" deprecated="31" />
+		<method name="getPowerRequirement()I" deprecated="31" />
+		<method name="hasMonetaryCost()Z" deprecated="31" />
+		<method name="meetsCriteria(Landroid/location/Criteria;)Z" deprecated="31" />
+		<method name="requiresCell()Z" deprecated="31" />
+		<method name="requiresNetwork()Z" deprecated="31" />
+		<method name="requiresSatellite()Z" deprecated="31" />
+		<method name="supportsAltitude()Z" deprecated="31" />
+		<method name="supportsBearing()Z" deprecated="31" />
+		<method name="supportsSpeed()Z" deprecated="31" />
+		<field name="AVAILABLE" deprecated="29" />
+		<field name="OUT_OF_SERVICE" deprecated="29" />
+		<field name="TEMPORARILY_UNAVAILABLE" deprecated="29" />
+	</class>
+	<class name="android/location/LocationRequest" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDurationMillis()J" />
+		<method name="getIntervalMillis()J" />
+		<method name="getMaxUpdateDelayMillis()J" />
+		<method name="getMaxUpdates()I" />
+		<method name="getMinUpdateDistanceMeters()F" />
+		<method name="getMinUpdateIntervalMillis()J" />
+		<method name="getQuality()I" />
+		<field name="CREATOR" />
+		<field name="PASSIVE_INTERVAL" />
+		<field name="QUALITY_BALANCED_POWER_ACCURACY" />
+		<field name="QUALITY_HIGH_ACCURACY" />
+		<field name="QUALITY_LOW_POWER" />
+	</class>
+	<class name="android/location/LocationRequest$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="&lt;init&gt;(Landroid/location/LocationRequest;)V" />
+		<method name="build()Landroid/location/LocationRequest;" />
+		<method name="clearMinUpdateIntervalMillis()Landroid/location/LocationRequest$Builder;" />
+		<method name="setDurationMillis(J)Landroid/location/LocationRequest$Builder;" />
+		<method name="setIntervalMillis(J)Landroid/location/LocationRequest$Builder;" />
+		<method name="setMaxUpdateDelayMillis(J)Landroid/location/LocationRequest$Builder;" />
+		<method name="setMaxUpdates(I)Landroid/location/LocationRequest$Builder;" />
+		<method name="setMinUpdateDistanceMeters(F)Landroid/location/LocationRequest$Builder;" />
+		<method name="setMinUpdateIntervalMillis(J)Landroid/location/LocationRequest$Builder;" />
+		<method name="setQuality(I)Landroid/location/LocationRequest$Builder;" />
+	</class>
+	<class name="android/location/OnNmeaMessageListener" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onNmeaMessage(Ljava/lang/String;J)V" />
+	</class>
+	<class name="android/location/SettingInjectorService" since="19">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="onGetEnabled()Z" />
+		<method name="onGetSummary()Ljava/lang/String;" deprecated="21" />
+		<method name="refreshSettings(Landroid/content/Context;)V" since="29" />
+		<field name="ACTION_INJECTED_SETTING_CHANGED" />
+		<field name="ACTION_SERVICE_INTENT" />
+		<field name="ATTRIBUTES_NAME" />
+		<field name="META_DATA_NAME" />
+	</class>
+	<class name="android/location/provider/ProviderProperties" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAccuracy()I" />
+		<method name="getPowerUsage()I" />
+		<method name="hasAltitudeSupport()Z" />
+		<method name="hasBearingSupport()Z" />
+		<method name="hasCellRequirement()Z" />
+		<method name="hasMonetaryCost()Z" />
+		<method name="hasNetworkRequirement()Z" />
+		<method name="hasSatelliteRequirement()Z" />
+		<method name="hasSpeedSupport()Z" />
+		<field name="ACCURACY_COARSE" />
+		<field name="ACCURACY_FINE" />
+		<field name="CREATOR" />
+		<field name="POWER_USAGE_HIGH" />
+		<field name="POWER_USAGE_LOW" />
+		<field name="POWER_USAGE_MEDIUM" />
+	</class>
+	<class name="android/location/provider/ProviderProperties$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/location/provider/ProviderProperties;)V" />
+		<method name="build()Landroid/location/provider/ProviderProperties;" />
+		<method name="setAccuracy(I)Landroid/location/provider/ProviderProperties$Builder;" />
+		<method name="setHasAltitudeSupport(Z)Landroid/location/provider/ProviderProperties$Builder;" />
+		<method name="setHasBearingSupport(Z)Landroid/location/provider/ProviderProperties$Builder;" />
+		<method name="setHasCellRequirement(Z)Landroid/location/provider/ProviderProperties$Builder;" />
+		<method name="setHasMonetaryCost(Z)Landroid/location/provider/ProviderProperties$Builder;" />
+		<method name="setHasNetworkRequirement(Z)Landroid/location/provider/ProviderProperties$Builder;" />
+		<method name="setHasSatelliteRequirement(Z)Landroid/location/provider/ProviderProperties$Builder;" />
+		<method name="setHasSpeedSupport(Z)Landroid/location/provider/ProviderProperties$Builder;" />
+		<method name="setPowerUsage(I)Landroid/location/provider/ProviderProperties$Builder;" />
+	</class>
+	<class name="android/media/AsyncPlayer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="play(Landroid/content/Context;Landroid/net/Uri;ZI)V" deprecated="23" />
+		<method name="play(Landroid/content/Context;Landroid/net/Uri;ZLandroid/media/AudioAttributes;)V" since="23" />
+		<method name="stop()V" />
+	</class>
+	<class name="android/media/AudioAttributes" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="areHapticChannelsMuted()Z" since="29" />
+		<method name="getAllowedCapturePolicy()I" since="29" />
+		<method name="getContentType()I" />
+		<method name="getFlags()I" />
+		<method name="getSpatializationBehavior()I" since="33" />
+		<method name="getUsage()I" />
+		<method name="getVolumeControlStream()I" since="26" />
+		<method name="isContentSpatialized()Z" since="33" />
+		<field name="ALLOW_CAPTURE_BY_ALL" since="29" />
+		<field name="ALLOW_CAPTURE_BY_NONE" since="29" />
+		<field name="ALLOW_CAPTURE_BY_SYSTEM" since="29" />
+		<field name="CONTENT_TYPE_MOVIE" />
+		<field name="CONTENT_TYPE_MUSIC" />
+		<field name="CONTENT_TYPE_SONIFICATION" />
+		<field name="CONTENT_TYPE_SPEECH" />
+		<field name="CONTENT_TYPE_UNKNOWN" />
+		<field name="CREATOR" />
+		<field name="FLAG_AUDIBILITY_ENFORCED" />
+		<field name="FLAG_HW_AV_SYNC" />
+		<field name="FLAG_LOW_LATENCY" since="24" deprecated="26" />
+		<field name="SPATIALIZATION_BEHAVIOR_AUTO" since="33" />
+		<field name="SPATIALIZATION_BEHAVIOR_NEVER" since="33" />
+		<field name="USAGE_ALARM" />
+		<field name="USAGE_ASSISTANCE_ACCESSIBILITY" />
+		<field name="USAGE_ASSISTANCE_NAVIGATION_GUIDANCE" />
+		<field name="USAGE_ASSISTANCE_SONIFICATION" />
+		<field name="USAGE_ASSISTANT" since="26" />
+		<field name="USAGE_GAME" />
+		<field name="USAGE_MEDIA" />
+		<field name="USAGE_NOTIFICATION" />
+		<field name="USAGE_NOTIFICATION_COMMUNICATION_DELAYED" />
+		<field name="USAGE_NOTIFICATION_COMMUNICATION_INSTANT" />
+		<field name="USAGE_NOTIFICATION_COMMUNICATION_REQUEST" />
+		<field name="USAGE_NOTIFICATION_EVENT" />
+		<field name="USAGE_NOTIFICATION_RINGTONE" />
+		<field name="USAGE_UNKNOWN" />
+		<field name="USAGE_VOICE_COMMUNICATION" />
+		<field name="USAGE_VOICE_COMMUNICATION_SIGNALLING" />
+	</class>
+	<class name="android/media/AudioAttributes$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/media/AudioAttributes;)V" />
+		<method name="build()Landroid/media/AudioAttributes;" />
+		<method name="setAllowedCapturePolicy(I)Landroid/media/AudioAttributes$Builder;" since="29" />
+		<method name="setContentType(I)Landroid/media/AudioAttributes$Builder;" />
+		<method name="setFlags(I)Landroid/media/AudioAttributes$Builder;" />
+		<method name="setHapticChannelsMuted(Z)Landroid/media/AudioAttributes$Builder;" since="29" />
+		<method name="setIsContentSpatialized(Z)Landroid/media/AudioAttributes$Builder;" since="33" />
+		<method name="setLegacyStreamType(I)Landroid/media/AudioAttributes$Builder;" />
+		<method name="setSpatializationBehavior(I)Landroid/media/AudioAttributes$Builder;" since="33" />
+		<method name="setUsage(I)Landroid/media/AudioAttributes$Builder;" />
+	</class>
+	<class name="android/media/AudioDescriptor" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getDescriptor()[B" />
+		<method name="getEncapsulationType()I" />
+		<method name="getStandard()I" />
+		<field name="STANDARD_EDID" />
+		<field name="STANDARD_NONE" />
+	</class>
+	<class name="android/media/AudioDeviceCallback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAudioDevicesAdded([Landroid/media/AudioDeviceInfo;)V" />
+		<method name="onAudioDevicesRemoved([Landroid/media/AudioDeviceInfo;)V" />
+	</class>
+	<class name="android/media/AudioDeviceInfo" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getAddress()Ljava/lang/String;" since="28" />
+		<method name="getAudioDescriptors()Ljava/util/List;" since="31" />
+		<method name="getAudioProfiles()Ljava/util/List;" since="31" />
+		<method name="getChannelCounts()[I" />
+		<method name="getChannelIndexMasks()[I" />
+		<method name="getChannelMasks()[I" />
+		<method name="getEncapsulationMetadataTypes()[I" since="30" />
+		<method name="getEncapsulationModes()[I" since="30" />
+		<method name="getEncodings()[I" />
+		<method name="getId()I" />
+		<method name="getProductName()Ljava/lang/CharSequence;" />
+		<method name="getSampleRates()[I" />
+		<method name="getType()I" />
+		<method name="isSink()Z" />
+		<method name="isSource()Z" />
+		<field name="TYPE_AUX_LINE" />
+		<field name="TYPE_BLE_HEADSET" since="31" />
+		<field name="TYPE_BLE_SPEAKER" since="31" />
+		<field name="TYPE_BLUETOOTH_A2DP" />
+		<field name="TYPE_BLUETOOTH_SCO" />
+		<field name="TYPE_BUILTIN_EARPIECE" />
+		<field name="TYPE_BUILTIN_MIC" />
+		<field name="TYPE_BUILTIN_SPEAKER" />
+		<field name="TYPE_BUILTIN_SPEAKER_SAFE" since="30" />
+		<field name="TYPE_BUS" since="24" />
+		<field name="TYPE_DOCK" />
+		<field name="TYPE_FM" />
+		<field name="TYPE_FM_TUNER" />
+		<field name="TYPE_HDMI" />
+		<field name="TYPE_HDMI_ARC" />
+		<field name="TYPE_HDMI_EARC" since="31" />
+		<field name="TYPE_HEARING_AID" since="28" />
+		<field name="TYPE_IP" />
+		<field name="TYPE_LINE_ANALOG" />
+		<field name="TYPE_LINE_DIGITAL" />
+		<field name="TYPE_REMOTE_SUBMIX" since="31" />
+		<field name="TYPE_TELEPHONY" />
+		<field name="TYPE_TV_TUNER" />
+		<field name="TYPE_UNKNOWN" />
+		<field name="TYPE_USB_ACCESSORY" />
+		<field name="TYPE_USB_DEVICE" />
+		<field name="TYPE_USB_HEADSET" since="26" />
+		<field name="TYPE_WIRED_HEADPHONES" />
+		<field name="TYPE_WIRED_HEADSET" />
+	</class>
+	<class name="android/media/AudioFocusRequest" since="26">
+		<extends name="java/lang/Object" />
+		<method name="acceptsDelayedFocusGain()Z" />
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;" />
+		<method name="getFocusGain()I" />
+		<method name="willPauseWhenDucked()Z" />
+	</class>
+	<class name="android/media/AudioFocusRequest$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/media/AudioFocusRequest;)V" />
+		<method name="build()Landroid/media/AudioFocusRequest;" />
+		<method name="setAcceptsDelayedFocusGain(Z)Landroid/media/AudioFocusRequest$Builder;" />
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)Landroid/media/AudioFocusRequest$Builder;" />
+		<method name="setFocusGain(I)Landroid/media/AudioFocusRequest$Builder;" />
+		<method name="setForceDucking(Z)Landroid/media/AudioFocusRequest$Builder;" since="28" />
+		<method name="setOnAudioFocusChangeListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;)Landroid/media/AudioFocusRequest$Builder;" />
+		<method name="setOnAudioFocusChangeListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/os/Handler;)Landroid/media/AudioFocusRequest$Builder;" />
+		<method name="setWillPauseWhenDucked(Z)Landroid/media/AudioFocusRequest$Builder;" />
+	</class>
+	<class name="android/media/AudioFormat" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="24" />
+		<method name="&lt;init&gt;()V" removed="21" />
+		<method name="getChannelCount()I" since="23" />
+		<method name="getChannelIndexMask()I" since="23" />
+		<method name="getChannelMask()I" since="21" />
+		<method name="getEncoding()I" since="21" />
+		<method name="getFrameSizeInBytes()I" since="29" />
+		<method name="getSampleRate()I" since="21" />
+		<field name="CHANNEL_CONFIGURATION_DEFAULT" deprecated="15" />
+		<field name="CHANNEL_CONFIGURATION_INVALID" deprecated="15" />
+		<field name="CHANNEL_CONFIGURATION_MONO" deprecated="15" />
+		<field name="CHANNEL_CONFIGURATION_STEREO" deprecated="15" />
+		<field name="CHANNEL_INVALID" since="5" />
+		<field name="CHANNEL_IN_BACK" since="5" />
+		<field name="CHANNEL_IN_BACK_PROCESSED" since="5" />
+		<field name="CHANNEL_IN_DEFAULT" since="5" />
+		<field name="CHANNEL_IN_FRONT" since="5" />
+		<field name="CHANNEL_IN_FRONT_PROCESSED" since="5" />
+		<field name="CHANNEL_IN_LEFT" since="5" />
+		<field name="CHANNEL_IN_LEFT_PROCESSED" since="5" />
+		<field name="CHANNEL_IN_MONO" since="5" />
+		<field name="CHANNEL_IN_PRESSURE" since="5" />
+		<field name="CHANNEL_IN_RIGHT" since="5" />
+		<field name="CHANNEL_IN_RIGHT_PROCESSED" since="5" />
+		<field name="CHANNEL_IN_STEREO" since="5" />
+		<field name="CHANNEL_IN_VOICE_DNLINK" since="5" />
+		<field name="CHANNEL_IN_VOICE_UPLINK" since="5" />
+		<field name="CHANNEL_IN_X_AXIS" since="5" />
+		<field name="CHANNEL_IN_Y_AXIS" since="5" />
+		<field name="CHANNEL_IN_Z_AXIS" since="5" />
+		<field name="CHANNEL_OUT_5POINT1" since="5" />
+		<field name="CHANNEL_OUT_5POINT1POINT2" since="33" />
+		<field name="CHANNEL_OUT_5POINT1POINT4" since="33" />
+		<field name="CHANNEL_OUT_7POINT1" since="5" deprecated="23" />
+		<field name="CHANNEL_OUT_7POINT1POINT2" since="33" />
+		<field name="CHANNEL_OUT_7POINT1POINT4" since="33" />
+		<field name="CHANNEL_OUT_7POINT1_SURROUND" since="23" />
+		<field name="CHANNEL_OUT_9POINT1POINT4" since="33" />
+		<field name="CHANNEL_OUT_9POINT1POINT6" since="33" />
+		<field name="CHANNEL_OUT_BACK_CENTER" since="5" />
+		<field name="CHANNEL_OUT_BACK_LEFT" since="5" />
+		<field name="CHANNEL_OUT_BACK_RIGHT" since="5" />
+		<field name="CHANNEL_OUT_BOTTOM_FRONT_CENTER" since="33" />
+		<field name="CHANNEL_OUT_BOTTOM_FRONT_LEFT" since="33" />
+		<field name="CHANNEL_OUT_BOTTOM_FRONT_RIGHT" since="33" />
+		<field name="CHANNEL_OUT_DEFAULT" since="5" />
+		<field name="CHANNEL_OUT_FRONT_CENTER" since="5" />
+		<field name="CHANNEL_OUT_FRONT_LEFT" since="5" />
+		<field name="CHANNEL_OUT_FRONT_LEFT_OF_CENTER" since="5" />
+		<field name="CHANNEL_OUT_FRONT_RIGHT" since="5" />
+		<field name="CHANNEL_OUT_FRONT_RIGHT_OF_CENTER" since="5" />
+		<field name="CHANNEL_OUT_FRONT_WIDE_LEFT" since="33" />
+		<field name="CHANNEL_OUT_FRONT_WIDE_RIGHT" since="33" />
+		<field name="CHANNEL_OUT_LOW_FREQUENCY" since="5" />
+		<field name="CHANNEL_OUT_LOW_FREQUENCY_2" since="33" />
+		<field name="CHANNEL_OUT_MONO" since="5" />
+		<field name="CHANNEL_OUT_QUAD" since="5" />
+		<field name="CHANNEL_OUT_SIDE_LEFT" since="21" />
+		<field name="CHANNEL_OUT_SIDE_RIGHT" since="21" />
+		<field name="CHANNEL_OUT_STEREO" since="5" />
+		<field name="CHANNEL_OUT_SURROUND" since="5" />
+		<field name="CHANNEL_OUT_TOP_BACK_CENTER" since="33" />
+		<field name="CHANNEL_OUT_TOP_BACK_LEFT" since="33" />
+		<field name="CHANNEL_OUT_TOP_BACK_RIGHT" since="33" />
+		<field name="CHANNEL_OUT_TOP_CENTER" since="33" />
+		<field name="CHANNEL_OUT_TOP_FRONT_CENTER" since="33" />
+		<field name="CHANNEL_OUT_TOP_FRONT_LEFT" since="33" />
+		<field name="CHANNEL_OUT_TOP_FRONT_RIGHT" since="33" />
+		<field name="CHANNEL_OUT_TOP_SIDE_LEFT" since="33" />
+		<field name="CHANNEL_OUT_TOP_SIDE_RIGHT" since="33" />
+		<field name="CREATOR" since="24" />
+		<field name="ENCODING_AAC_ELD" since="28" />
+		<field name="ENCODING_AAC_HE_V1" since="28" />
+		<field name="ENCODING_AAC_HE_V2" since="28" />
+		<field name="ENCODING_AAC_LC" since="28" />
+		<field name="ENCODING_AAC_XHE" since="28" />
+		<field name="ENCODING_AC3" since="21" />
+		<field name="ENCODING_AC4" since="28" />
+		<field name="ENCODING_DEFAULT" />
+		<field name="ENCODING_DOLBY_MAT" since="29" />
+		<field name="ENCODING_DOLBY_TRUEHD" since="25" />
+		<field name="ENCODING_DRA" since="31" />
+		<field name="ENCODING_DTS" since="23" />
+		<field name="ENCODING_DTS_HD" since="23" />
+		<field name="ENCODING_DTS_UHD" since="31" />
+		<field name="ENCODING_E_AC3" since="21" />
+		<field name="ENCODING_E_AC3_JOC" since="28" />
+		<field name="ENCODING_IEC61937" since="24" />
+		<field name="ENCODING_INVALID" />
+		<field name="ENCODING_MP3" since="28" />
+		<field name="ENCODING_MPEGH_BL_L3" since="31" />
+		<field name="ENCODING_MPEGH_BL_L4" since="31" />
+		<field name="ENCODING_MPEGH_LC_L3" since="31" />
+		<field name="ENCODING_MPEGH_LC_L4" since="31" />
+		<field name="ENCODING_OPUS" since="30" />
+		<field name="ENCODING_PCM_16BIT" />
+		<field name="ENCODING_PCM_24BIT_PACKED" since="31" />
+		<field name="ENCODING_PCM_32BIT" since="31" />
+		<field name="ENCODING_PCM_8BIT" />
+		<field name="ENCODING_PCM_FLOAT" since="21" />
+		<field name="SAMPLE_RATE_UNSPECIFIED" since="24" />
+	</class>
+	<class name="android/media/AudioFormat$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/media/AudioFormat;)V" />
+		<method name="build()Landroid/media/AudioFormat;" />
+		<method name="setChannelIndexMask(I)Landroid/media/AudioFormat$Builder;" since="23" />
+		<method name="setChannelMask(I)Landroid/media/AudioFormat$Builder;" />
+		<method name="setEncoding(I)Landroid/media/AudioFormat$Builder;" />
+		<method name="setSampleRate(I)Landroid/media/AudioFormat$Builder;" />
+	</class>
+	<class name="android/media/AudioManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="abandonAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;)I" since="8" deprecated="26" />
+		<method name="abandonAudioFocusRequest(Landroid/media/AudioFocusRequest;)I" since="26" />
+		<method name="addOnCommunicationDeviceChangedListener(Ljava/util/concurrent/Executor;Landroid/media/AudioManager$OnCommunicationDeviceChangedListener;)V" since="31" />
+		<method name="addOnModeChangedListener(Ljava/util/concurrent/Executor;Landroid/media/AudioManager$OnModeChangedListener;)V" since="31" />
+		<method name="adjustStreamVolume(III)V" />
+		<method name="adjustSuggestedStreamVolume(III)V" />
+		<method name="adjustVolume(II)V" />
+		<method name="clearCommunicationDevice()V" since="31" />
+		<method name="dispatchMediaKeyEvent(Landroid/view/KeyEvent;)V" since="19" />
+		<method name="generateAudioSessionId()I" since="21" />
+		<method name="getActivePlaybackConfigurations()Ljava/util/List;" since="26" />
+		<method name="getActiveRecordingConfigurations()Ljava/util/List;" since="24" />
+		<method name="getAllowedCapturePolicy()I" since="29" />
+		<method name="getAudioHwSyncForSession(I)I" since="31" />
+		<method name="getAvailableCommunicationDevices()Ljava/util/List;" since="31" />
+		<method name="getCommunicationDevice()Landroid/media/AudioDeviceInfo;" since="31" />
+		<method name="getDevices(I)[Landroid/media/AudioDeviceInfo;" since="23" />
+		<method name="getEncodedSurroundMode()I" since="31" />
+		<method name="getMicrophones()Ljava/util/List;" since="28" />
+		<method name="getMode()I" />
+		<method name="getParameters(Ljava/lang/String;)Ljava/lang/String;" since="5" />
+		<method name="getPlaybackOffloadSupport(Landroid/media/AudioFormat;Landroid/media/AudioAttributes;)I" since="31" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/String;" since="17" />
+		<method name="getRingerMode()I" />
+		<method name="getRouting(I)I" deprecated="15" />
+		<method name="getSpatializer()Landroid/media/Spatializer;" since="33" />
+		<method name="getStreamMaxVolume(I)I" />
+		<method name="getStreamMinVolume(I)I" since="28" />
+		<method name="getStreamVolume(I)I" />
+		<method name="getStreamVolumeDb(III)F" since="28" />
+		<method name="getVibrateSetting(I)I" deprecated="16" />
+		<method name="isBluetoothA2dpOn()Z" since="3" deprecated="26" />
+		<method name="isBluetoothScoAvailableOffCall()Z" since="8" />
+		<method name="isBluetoothScoOn()Z" />
+		<method name="isCallScreeningModeSupported()Z" since="30" />
+		<method name="isHapticPlaybackSupported()Z" since="29" />
+		<method name="isMicrophoneMute()Z" />
+		<method name="isMusicActive()Z" />
+		<method name="isOffloadedPlaybackSupported(Landroid/media/AudioFormat;Landroid/media/AudioAttributes;)Z" since="29" />
+		<method name="isSpeakerphoneOn()Z" />
+		<method name="isStreamMute(I)Z" since="23" />
+		<method name="isSurroundFormatEnabled(I)Z" since="31" />
+		<method name="isVolumeFixed()Z" since="21" />
+		<method name="isWiredHeadsetOn()Z" since="5" deprecated="15" />
+		<method name="loadSoundEffects()V" />
+		<method name="playSoundEffect(I)V" />
+		<method name="playSoundEffect(IF)V" since="3" />
+		<method name="registerAudioDeviceCallback(Landroid/media/AudioDeviceCallback;Landroid/os/Handler;)V" since="23" />
+		<method name="registerAudioPlaybackCallback(Landroid/media/AudioManager$AudioPlaybackCallback;Landroid/os/Handler;)V" since="26" />
+		<method name="registerAudioRecordingCallback(Landroid/media/AudioManager$AudioRecordingCallback;Landroid/os/Handler;)V" since="24" />
+		<method name="registerMediaButtonEventReceiver(Landroid/app/PendingIntent;)V" since="18" deprecated="21" />
+		<method name="registerMediaButtonEventReceiver(Landroid/content/ComponentName;)V" since="8" deprecated="21" />
+		<method name="registerRemoteControlClient(Landroid/media/RemoteControlClient;)V" since="14" deprecated="21" />
+		<method name="registerRemoteController(Landroid/media/RemoteController;)Z" since="19" deprecated="21" />
+		<method name="removeOnCommunicationDeviceChangedListener(Landroid/media/AudioManager$OnCommunicationDeviceChangedListener;)V" since="31" />
+		<method name="removeOnModeChangedListener(Landroid/media/AudioManager$OnModeChangedListener;)V" since="31" />
+		<method name="requestAudioFocus(Landroid/media/AudioFocusRequest;)I" since="26" />
+		<method name="requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;II)I" since="8" deprecated="26" />
+		<method name="setAllowedCapturePolicy(I)V" since="29" />
+		<method name="setBluetoothA2dpOn(Z)V" since="3" deprecated="15" />
+		<method name="setBluetoothScoOn(Z)V" />
+		<method name="setCommunicationDevice(Landroid/media/AudioDeviceInfo;)Z" since="31" />
+		<method name="setEncodedSurroundMode(I)Z" since="31" />
+		<method name="setMicrophoneMute(Z)V" />
+		<method name="setMode(I)V" />
+		<method name="setParameters(Ljava/lang/String;)V" since="5" />
+		<method name="setRingerMode(I)V" />
+		<method name="setRouting(III)V" deprecated="15" />
+		<method name="setSpeakerphoneOn(Z)V" />
+		<method name="setStreamMute(IZ)V" deprecated="23" />
+		<method name="setStreamSolo(IZ)V" deprecated="23" />
+		<method name="setStreamVolume(III)V" />
+		<method name="setSurroundFormatEnabled(IZ)Z" since="31" />
+		<method name="setVibrateSetting(II)V" deprecated="16" />
+		<method name="setWiredHeadsetOn(Z)V" since="5" deprecated="15" />
+		<method name="shouldVibrate(I)Z" deprecated="16" />
+		<method name="startBluetoothSco()V" since="8" />
+		<method name="stopBluetoothSco()V" since="8" />
+		<method name="unloadSoundEffects()V" />
+		<method name="unregisterAudioDeviceCallback(Landroid/media/AudioDeviceCallback;)V" since="23" />
+		<method name="unregisterAudioPlaybackCallback(Landroid/media/AudioManager$AudioPlaybackCallback;)V" since="26" />
+		<method name="unregisterAudioRecordingCallback(Landroid/media/AudioManager$AudioRecordingCallback;)V" since="24" />
+		<method name="unregisterMediaButtonEventReceiver(Landroid/app/PendingIntent;)V" since="18" deprecated="21" />
+		<method name="unregisterMediaButtonEventReceiver(Landroid/content/ComponentName;)V" since="8" deprecated="21" />
+		<method name="unregisterRemoteControlClient(Landroid/media/RemoteControlClient;)V" since="14" deprecated="21" />
+		<method name="unregisterRemoteController(Landroid/media/RemoteController;)V" since="19" deprecated="21" />
+		<field name="ACTION_AUDIO_BECOMING_NOISY" since="3" />
+		<field name="ACTION_HDMI_AUDIO_PLUG" since="21" />
+		<field name="ACTION_HEADSET_PLUG" since="21" />
+		<field name="ACTION_MICROPHONE_MUTE_CHANGED" since="28" />
+		<field name="ACTION_SCO_AUDIO_STATE_CHANGED" since="8" deprecated="15" />
+		<field name="ACTION_SCO_AUDIO_STATE_UPDATED" since="14" />
+		<field name="ACTION_SPEAKERPHONE_STATE_CHANGED" since="29" />
+		<field name="ADJUST_LOWER" />
+		<field name="ADJUST_MUTE" since="23" />
+		<field name="ADJUST_RAISE" />
+		<field name="ADJUST_SAME" />
+		<field name="ADJUST_TOGGLE_MUTE" since="23" />
+		<field name="ADJUST_UNMUTE" since="23" />
+		<field name="AUDIOFOCUS_GAIN" since="8" />
+		<field name="AUDIOFOCUS_GAIN_TRANSIENT" since="8" />
+		<field name="AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE" since="19" />
+		<field name="AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK" since="8" />
+		<field name="AUDIOFOCUS_LOSS" since="8" />
+		<field name="AUDIOFOCUS_LOSS_TRANSIENT" since="8" />
+		<field name="AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK" since="8" />
+		<field name="AUDIOFOCUS_NONE" since="26" />
+		<field name="AUDIOFOCUS_REQUEST_DELAYED" since="26" />
+		<field name="AUDIOFOCUS_REQUEST_FAILED" since="8" />
+		<field name="AUDIOFOCUS_REQUEST_GRANTED" since="8" />
+		<field name="AUDIO_SESSION_ID_GENERATE" since="21" />
+		<field name="ENCODED_SURROUND_OUTPUT_ALWAYS" since="31" />
+		<field name="ENCODED_SURROUND_OUTPUT_AUTO" since="31" />
+		<field name="ENCODED_SURROUND_OUTPUT_MANUAL" since="31" />
+		<field name="ENCODED_SURROUND_OUTPUT_NEVER" since="31" />
+		<field name="ENCODED_SURROUND_OUTPUT_UNKNOWN" since="31" />
+		<field name="ERROR" since="21" />
+		<field name="ERROR_DEAD_OBJECT" since="21" />
+		<field name="EXTRA_AUDIO_PLUG_STATE" since="21" />
+		<field name="EXTRA_ENCODINGS" since="21" />
+		<field name="EXTRA_MAX_CHANNEL_COUNT" since="21" />
+		<field name="EXTRA_RINGER_MODE" />
+		<field name="EXTRA_SCO_AUDIO_PREVIOUS_STATE" since="14" />
+		<field name="EXTRA_SCO_AUDIO_STATE" since="8" />
+		<field name="EXTRA_VIBRATE_SETTING" deprecated="16" />
+		<field name="EXTRA_VIBRATE_TYPE" deprecated="16" />
+		<field name="FLAG_ALLOW_RINGER_MODES" />
+		<field name="FLAG_PLAY_SOUND" />
+		<field name="FLAG_REMOVE_SOUND_AND_VIBRATE" />
+		<field name="FLAG_SHOW_UI" />
+		<field name="FLAG_VIBRATE" />
+		<field name="FX_BACK" since="31" />
+		<field name="FX_FOCUS_NAVIGATION_DOWN" />
+		<field name="FX_FOCUS_NAVIGATION_LEFT" />
+		<field name="FX_FOCUS_NAVIGATION_RIGHT" />
+		<field name="FX_FOCUS_NAVIGATION_UP" />
+		<field name="FX_KEYPRESS_DELETE" since="3" />
+		<field name="FX_KEYPRESS_INVALID" since="19" />
+		<field name="FX_KEYPRESS_RETURN" since="3" />
+		<field name="FX_KEYPRESS_SPACEBAR" since="3" />
+		<field name="FX_KEYPRESS_STANDARD" since="3" />
+		<field name="FX_KEY_CLICK" />
+		<field name="GET_DEVICES_ALL" since="23" />
+		<field name="GET_DEVICES_INPUTS" since="23" />
+		<field name="GET_DEVICES_OUTPUTS" since="23" />
+		<field name="MODE_CALL_SCREENING" since="30" />
+		<field name="MODE_CURRENT" />
+		<field name="MODE_INVALID" />
+		<field name="MODE_IN_CALL" />
+		<field name="MODE_IN_COMMUNICATION" since="11" />
+		<field name="MODE_NORMAL" />
+		<field name="MODE_RINGTONE" />
+		<field name="NUM_STREAMS" deprecated="15" />
+		<field name="PLAYBACK_OFFLOAD_GAPLESS_SUPPORTED" since="31" />
+		<field name="PLAYBACK_OFFLOAD_NOT_SUPPORTED" since="31" />
+		<field name="PLAYBACK_OFFLOAD_SUPPORTED" since="31" />
+		<field name="PROPERTY_OUTPUT_FRAMES_PER_BUFFER" since="17" />
+		<field name="PROPERTY_OUTPUT_SAMPLE_RATE" since="17" />
+		<field name="PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED" since="24" />
+		<field name="PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND" since="23" />
+		<field name="PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND" since="23" />
+		<field name="RINGER_MODE_CHANGED_ACTION" />
+		<field name="RINGER_MODE_NORMAL" />
+		<field name="RINGER_MODE_SILENT" />
+		<field name="RINGER_MODE_VIBRATE" />
+		<field name="ROUTE_ALL" deprecated="15" />
+		<field name="ROUTE_BLUETOOTH" deprecated="15" />
+		<field name="ROUTE_BLUETOOTH_A2DP" since="3" deprecated="15" />
+		<field name="ROUTE_BLUETOOTH_SCO" since="3" deprecated="15" />
+		<field name="ROUTE_EARPIECE" deprecated="15" />
+		<field name="ROUTE_HEADSET" deprecated="15" />
+		<field name="ROUTE_SPEAKER" deprecated="15" />
+		<field name="SCO_AUDIO_STATE_CONNECTED" since="8" />
+		<field name="SCO_AUDIO_STATE_CONNECTING" since="14" />
+		<field name="SCO_AUDIO_STATE_DISCONNECTED" since="8" />
+		<field name="SCO_AUDIO_STATE_ERROR" since="8" />
+		<field name="STREAM_ACCESSIBILITY" since="26" />
+		<field name="STREAM_ALARM" />
+		<field name="STREAM_DTMF" since="5" />
+		<field name="STREAM_MUSIC" />
+		<field name="STREAM_NOTIFICATION" since="3" />
+		<field name="STREAM_RING" />
+		<field name="STREAM_SYSTEM" />
+		<field name="STREAM_VOICE_CALL" />
+		<field name="USE_DEFAULT_STREAM_TYPE" />
+		<field name="VIBRATE_SETTING_CHANGED_ACTION" deprecated="16" />
+		<field name="VIBRATE_SETTING_OFF" deprecated="16" />
+		<field name="VIBRATE_SETTING_ON" deprecated="16" />
+		<field name="VIBRATE_SETTING_ONLY_SILENT" deprecated="16" />
+		<field name="VIBRATE_TYPE_NOTIFICATION" deprecated="16" />
+		<field name="VIBRATE_TYPE_RINGER" deprecated="16" />
+	</class>
+	<class name="android/media/AudioManager$AudioPlaybackCallback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onPlaybackConfigChanged(Ljava/util/List;)V" />
+	</class>
+	<class name="android/media/AudioManager$AudioRecordingCallback" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onRecordingConfigChanged(Ljava/util/List;)V" />
+	</class>
+	<class name="android/media/AudioManager$OnAudioFocusChangeListener" since="8">
+		<extends name="java/lang/Object" />
+		<method name="onAudioFocusChange(I)V" />
+	</class>
+	<class name="android/media/AudioManager$OnCommunicationDeviceChangedListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onCommunicationDeviceChanged(Landroid/media/AudioDeviceInfo;)V" />
+	</class>
+	<class name="android/media/AudioManager$OnModeChangedListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onModeChanged(I)V" />
+	</class>
+	<class name="android/media/AudioMetadata" since="30">
+		<extends name="java/lang/Object" />
+		<method name="createMap()Landroid/media/AudioMetadataMap;" />
+	</class>
+	<class name="android/media/AudioMetadata$Format" since="30">
+		<extends name="java/lang/Object" />
+		<field name="KEY_ATMOS_PRESENT" />
+		<field name="KEY_AUDIO_ENCODING" />
+		<field name="KEY_BIT_RATE" />
+		<field name="KEY_BIT_WIDTH" />
+		<field name="KEY_CHANNEL_MASK" />
+		<field name="KEY_MIME" />
+		<field name="KEY_PRESENTATION_CONTENT_CLASSIFIER" since="31" />
+		<field name="KEY_PRESENTATION_ID" since="31" />
+		<field name="KEY_PRESENTATION_LANGUAGE" since="31" />
+		<field name="KEY_PROGRAM_ID" since="31" />
+		<field name="KEY_SAMPLE_RATE" />
+	</class>
+	<class name="android/media/AudioMetadata$Key" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getValueClass()Ljava/lang/Class;" />
+	</class>
+	<class name="android/media/AudioMetadataMap" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/AudioMetadataReadMap" />
+		<method name="remove(Landroid/media/AudioMetadata$Key;)Ljava/lang/Object;" />
+		<method name="set(Landroid/media/AudioMetadata$Key;Ljava/lang/Object;)Ljava/lang/Object;" />
+	</class>
+	<class name="android/media/AudioMetadataReadMap" since="30">
+		<extends name="java/lang/Object" />
+		<method name="containsKey(Landroid/media/AudioMetadata$Key;)Z" />
+		<method name="dup()Landroid/media/AudioMetadataMap;" />
+		<method name="get(Landroid/media/AudioMetadata$Key;)Ljava/lang/Object;" />
+		<method name="size()I" />
+	</class>
+	<class name="android/media/AudioPlaybackCaptureConfiguration" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getExcludeUids()[I" />
+		<method name="getExcludeUsages()[I" />
+		<method name="getMatchingUids()[I" />
+		<method name="getMatchingUsages()[I" />
+		<method name="getMediaProjection()Landroid/media/projection/MediaProjection;" />
+	</class>
+	<class name="android/media/AudioPlaybackCaptureConfiguration$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/media/projection/MediaProjection;)V" />
+		<method name="addMatchingUid(I)Landroid/media/AudioPlaybackCaptureConfiguration$Builder;" />
+		<method name="addMatchingUsage(I)Landroid/media/AudioPlaybackCaptureConfiguration$Builder;" />
+		<method name="build()Landroid/media/AudioPlaybackCaptureConfiguration;" />
+		<method name="excludeUid(I)Landroid/media/AudioPlaybackCaptureConfiguration$Builder;" />
+		<method name="excludeUsage(I)Landroid/media/AudioPlaybackCaptureConfiguration$Builder;" />
+	</class>
+	<class name="android/media/AudioPlaybackConfiguration" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;" />
+		<method name="getAudioDeviceInfo()Landroid/media/AudioDeviceInfo;" since="31" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/media/AudioPresentation" since="28">
+		<extends name="java/lang/Object" />
+		<method name="getLabels()Ljava/util/Map;" />
+		<method name="getLocale()Ljava/util/Locale;" />
+		<method name="getMasteringIndication()I" />
+		<method name="getPresentationId()I" since="29" />
+		<method name="getProgramId()I" since="29" />
+		<method name="hasAudioDescription()Z" />
+		<method name="hasDialogueEnhancement()Z" />
+		<method name="hasSpokenSubtitles()Z" />
+		<field name="CONTENT_COMMENTARY" since="31" />
+		<field name="CONTENT_DIALOG" since="31" />
+		<field name="CONTENT_EMERGENCY" since="31" />
+		<field name="CONTENT_HEARING_IMPAIRED" since="31" />
+		<field name="CONTENT_MAIN" since="31" />
+		<field name="CONTENT_MUSIC_AND_EFFECTS" since="31" />
+		<field name="CONTENT_UNKNOWN" since="31" />
+		<field name="CONTENT_VISUALLY_IMPAIRED" since="31" />
+		<field name="CONTENT_VOICEOVER" since="31" />
+		<field name="MASTERED_FOR_3D" />
+		<field name="MASTERED_FOR_HEADPHONE" />
+		<field name="MASTERED_FOR_STEREO" />
+		<field name="MASTERED_FOR_SURROUND" />
+		<field name="MASTERING_NOT_INDICATED" />
+	</class>
+	<class name="android/media/AudioPresentation$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="build()Landroid/media/AudioPresentation;" />
+		<method name="setHasAudioDescription(Z)Landroid/media/AudioPresentation$Builder;" />
+		<method name="setHasDialogueEnhancement(Z)Landroid/media/AudioPresentation$Builder;" />
+		<method name="setHasSpokenSubtitles(Z)Landroid/media/AudioPresentation$Builder;" />
+		<method name="setLabels(Ljava/util/Map;)Landroid/media/AudioPresentation$Builder;" />
+		<method name="setLocale(Ljava/lang/Object;)Landroid/media/AudioPresentation$Builder;" />
+		<method name="setMasteringIndication(I)Landroid/media/AudioPresentation$Builder;" />
+		<method name="setProgramId(I)Landroid/media/AudioPresentation$Builder;" />
+	</class>
+	<class name="android/media/AudioProfile" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getChannelIndexMasks()[I" />
+		<method name="getChannelMasks()[I" />
+		<method name="getEncapsulationType()I" />
+		<method name="getFormat()I" />
+		<method name="getSampleRates()[I" />
+		<field name="AUDIO_ENCAPSULATION_TYPE_IEC61937" />
+		<field name="AUDIO_ENCAPSULATION_TYPE_NONE" />
+	</class>
+	<class name="android/media/AudioRecord" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/AudioRecordingMonitor" since="29" />
+		<implements name="android/media/AudioRouting" since="24" />
+		<implements name="android/media/MicrophoneDirection" since="29" />
+		<method name="&lt;init&gt;(IIIII)V" />
+		<method name="addOnRoutingChangedListener(Landroid/media/AudioRecord$OnRoutingChangedListener;Landroid/os/Handler;)V" since="23" deprecated="24" />
+		<method name="getActiveMicrophones()Ljava/util/List;" since="28" />
+		<method name="getAudioFormat()I" />
+		<method name="getAudioSessionId()I" since="16" />
+		<method name="getAudioSource()I" />
+		<method name="getBufferSizeInFrames()I" since="23" />
+		<method name="getChannelConfiguration()I" />
+		<method name="getChannelCount()I" />
+		<method name="getFormat()Landroid/media/AudioFormat;" since="23" />
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;" since="31" />
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="28" />
+		<method name="getMinBufferSize(III)I" />
+		<method name="getNotificationMarkerPosition()I" />
+		<method name="getPositionNotificationPeriod()I" />
+		<method name="getPreferredDevice()Landroid/media/AudioDeviceInfo;" since="23" />
+		<method name="getRecordingState()I" />
+		<method name="getRoutedDevice()Landroid/media/AudioDeviceInfo;" since="23" />
+		<method name="getSampleRate()I" />
+		<method name="getState()I" />
+		<method name="getTimestamp(Landroid/media/AudioTimestamp;I)I" since="24" />
+		<method name="isPrivacySensitive()Z" since="30" />
+		<method name="read(Ljava/nio/ByteBuffer;I)I" />
+		<method name="read(Ljava/nio/ByteBuffer;II)I" since="23" />
+		<method name="read([BII)I" />
+		<method name="read([BIII)I" since="23" />
+		<method name="read([FIII)I" since="23" />
+		<method name="read([SII)I" />
+		<method name="read([SIII)I" since="23" />
+		<method name="release()V" />
+		<method name="removeOnRoutingChangedListener(Landroid/media/AudioRecord$OnRoutingChangedListener;)V" since="23" deprecated="24" />
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V" since="31" />
+		<method name="setNotificationMarkerPosition(I)I" />
+		<method name="setPositionNotificationPeriod(I)I" />
+		<method name="setPreferredDevice(Landroid/media/AudioDeviceInfo;)Z" since="23" />
+		<method name="setRecordPositionUpdateListener(Landroid/media/AudioRecord$OnRecordPositionUpdateListener;)V" />
+		<method name="setRecordPositionUpdateListener(Landroid/media/AudioRecord$OnRecordPositionUpdateListener;Landroid/os/Handler;)V" />
+		<method name="startRecording()V" />
+		<method name="startRecording(Landroid/media/MediaSyncEvent;)V" since="16" />
+		<method name="stop()V" />
+		<field name="ERROR" />
+		<field name="ERROR_BAD_VALUE" />
+		<field name="ERROR_DEAD_OBJECT" since="24" />
+		<field name="ERROR_INVALID_OPERATION" />
+		<field name="READ_BLOCKING" since="23" />
+		<field name="READ_NON_BLOCKING" since="23" />
+		<field name="RECORDSTATE_RECORDING" />
+		<field name="RECORDSTATE_STOPPED" />
+		<field name="STATE_INITIALIZED" />
+		<field name="STATE_UNINITIALIZED" />
+		<field name="SUCCESS" />
+	</class>
+	<class name="android/media/AudioRecord$Builder" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/media/AudioRecord;" />
+		<method name="setAudioFormat(Landroid/media/AudioFormat;)Landroid/media/AudioRecord$Builder;" />
+		<method name="setAudioPlaybackCaptureConfig(Landroid/media/AudioPlaybackCaptureConfiguration;)Landroid/media/AudioRecord$Builder;" since="29" />
+		<method name="setAudioSource(I)Landroid/media/AudioRecord$Builder;" />
+		<method name="setBufferSizeInBytes(I)Landroid/media/AudioRecord$Builder;" />
+		<method name="setContext(Landroid/content/Context;)Landroid/media/AudioRecord$Builder;" since="31" />
+		<method name="setPrivacySensitive(Z)Landroid/media/AudioRecord$Builder;" since="30" />
+	</class>
+	<class name="android/media/AudioRecord$MetricsConstants" since="28">
+		<extends name="java/lang/Object" />
+		<field name="CHANNELS" />
+		<field name="ENCODING" />
+		<field name="LATENCY" deprecated="29" />
+		<field name="SAMPLERATE" />
+		<field name="SOURCE" />
+	</class>
+	<class name="android/media/AudioRecord$OnRecordPositionUpdateListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onMarkerReached(Landroid/media/AudioRecord;)V" />
+		<method name="onPeriodicNotification(Landroid/media/AudioRecord;)V" />
+	</class>
+	<class name="android/media/AudioRecord$OnRoutingChangedListener" since="23" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/AudioRouting$OnRoutingChangedListener" since="24" />
+		<method name="onRoutingChanged(Landroid/media/AudioRecord;)V" deprecated="29" />
+	</class>
+	<class name="android/media/AudioRecordingConfiguration" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAudioDevice()Landroid/media/AudioDeviceInfo;" />
+		<method name="getAudioSource()I" since="29" />
+		<method name="getClientAudioSessionId()I" />
+		<method name="getClientAudioSource()I" />
+		<method name="getClientEffects()Ljava/util/List;" since="29" />
+		<method name="getClientFormat()Landroid/media/AudioFormat;" />
+		<method name="getEffects()Ljava/util/List;" since="29" />
+		<method name="getFormat()Landroid/media/AudioFormat;" />
+		<method name="isClientSilenced()Z" since="29" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/media/AudioRecordingMonitor" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getActiveRecordingConfiguration()Landroid/media/AudioRecordingConfiguration;" />
+		<method name="registerAudioRecordingCallback(Ljava/util/concurrent/Executor;Landroid/media/AudioManager$AudioRecordingCallback;)V" />
+		<method name="unregisterAudioRecordingCallback(Landroid/media/AudioManager$AudioRecordingCallback;)V" />
+	</class>
+	<class name="android/media/AudioRouting" since="24">
+		<extends name="java/lang/Object" />
+		<method name="addOnRoutingChangedListener(Landroid/media/AudioRouting$OnRoutingChangedListener;Landroid/os/Handler;)V" />
+		<method name="getPreferredDevice()Landroid/media/AudioDeviceInfo;" />
+		<method name="getRoutedDevice()Landroid/media/AudioDeviceInfo;" />
+		<method name="removeOnRoutingChangedListener(Landroid/media/AudioRouting$OnRoutingChangedListener;)V" />
+		<method name="setPreferredDevice(Landroid/media/AudioDeviceInfo;)Z" />
+	</class>
+	<class name="android/media/AudioRouting$OnRoutingChangedListener" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onRoutingChanged(Landroid/media/AudioRouting;)V" />
+	</class>
+	<class name="android/media/AudioTimestamp" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="TIMEBASE_BOOTTIME" since="24" />
+		<field name="TIMEBASE_MONOTONIC" since="24" />
+		<field name="framePosition" />
+		<field name="nanoTime" />
+	</class>
+	<class name="android/media/AudioTrack" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/AudioRouting" since="24" />
+		<implements name="android/media/VolumeAutomation" since="26" />
+		<method name="&lt;init&gt;(IIIIII)V" deprecated="26" />
+		<method name="&lt;init&gt;(IIIIIII)V" since="9" deprecated="26" />
+		<method name="&lt;init&gt;(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;III)V" since="21" />
+		<method name="addOnCodecFormatChangedListener(Ljava/util/concurrent/Executor;Landroid/media/AudioTrack$OnCodecFormatChangedListener;)V" since="30" />
+		<method name="addOnRoutingChangedListener(Landroid/media/AudioTrack$OnRoutingChangedListener;Landroid/os/Handler;)V" since="23" deprecated="24" />
+		<method name="attachAuxEffect(I)I" since="9" />
+		<method name="flush()V" />
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;" since="29" />
+		<method name="getAudioDescriptionMixLeveldB()F" since="30" />
+		<method name="getAudioFormat()I" />
+		<method name="getAudioSessionId()I" since="9" />
+		<method name="getBufferCapacityInFrames()I" since="24" />
+		<method name="getBufferSizeInFrames()I" since="23" />
+		<method name="getChannelConfiguration()I" />
+		<method name="getChannelCount()I" />
+		<method name="getDualMonoMode()I" since="30" />
+		<method name="getFormat()Landroid/media/AudioFormat;" since="23" />
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;" since="31" />
+		<method name="getMaxVolume()F" />
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="28" />
+		<method name="getMinBufferSize(III)I" />
+		<method name="getMinVolume()F" />
+		<method name="getNativeFrameCount()I" deprecated="19" />
+		<method name="getNativeOutputSampleRate(I)I" />
+		<method name="getNotificationMarkerPosition()I" />
+		<method name="getOffloadDelay()I" since="29" />
+		<method name="getOffloadPadding()I" since="29" />
+		<method name="getPerformanceMode()I" since="26" />
+		<method name="getPlayState()I" />
+		<method name="getPlaybackHeadPosition()I" />
+		<method name="getPlaybackParams()Landroid/media/PlaybackParams;" since="23" />
+		<method name="getPlaybackRate()I" />
+		<method name="getPositionNotificationPeriod()I" />
+		<method name="getPreferredDevice()Landroid/media/AudioDeviceInfo;" since="23" />
+		<method name="getRoutedDevice()Landroid/media/AudioDeviceInfo;" since="23" />
+		<method name="getSampleRate()I" />
+		<method name="getStartThresholdInFrames()I" since="31" />
+		<method name="getState()I" />
+		<method name="getStreamType()I" />
+		<method name="getTimestamp(Landroid/media/AudioTimestamp;)Z" since="19" />
+		<method name="getUnderrunCount()I" since="24" />
+		<method name="isDirectPlaybackSupported(Landroid/media/AudioFormat;Landroid/media/AudioAttributes;)Z" since="29" />
+		<method name="isOffloadedPlayback()Z" since="29" />
+		<method name="pause()V" />
+		<method name="play()V" />
+		<method name="registerStreamEventCallback(Ljava/util/concurrent/Executor;Landroid/media/AudioTrack$StreamEventCallback;)V" since="29" />
+		<method name="release()V" />
+		<method name="reloadStaticData()I" />
+		<method name="removeOnCodecFormatChangedListener(Landroid/media/AudioTrack$OnCodecFormatChangedListener;)V" since="30" />
+		<method name="removeOnRoutingChangedListener(Landroid/media/AudioTrack$OnRoutingChangedListener;)V" since="23" deprecated="24" />
+		<method name="setAudioDescriptionMixLeveldB(F)Z" since="30" />
+		<method name="setAuxEffectSendLevel(F)I" since="9" />
+		<method name="setBufferSizeInFrames(I)I" since="24" />
+		<method name="setDualMonoMode(I)Z" since="30" />
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V" since="31" />
+		<method name="setLoopPoints(III)I" />
+		<method name="setNotificationMarkerPosition(I)I" />
+		<method name="setOffloadDelayPadding(II)V" since="29" />
+		<method name="setOffloadEndOfStream()V" since="29" />
+		<method name="setPlaybackHeadPosition(I)I" />
+		<method name="setPlaybackParams(Landroid/media/PlaybackParams;)V" since="23" />
+		<method name="setPlaybackPositionUpdateListener(Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;)V" />
+		<method name="setPlaybackPositionUpdateListener(Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;Landroid/os/Handler;)V" />
+		<method name="setPlaybackRate(I)I" />
+		<method name="setPositionNotificationPeriod(I)I" />
+		<method name="setPreferredDevice(Landroid/media/AudioDeviceInfo;)Z" since="23" />
+		<method name="setPresentation(Landroid/media/AudioPresentation;)I" since="28" />
+		<method name="setStartThresholdInFrames(I)I" since="31" />
+		<method name="setState(I)V" deprecated="19" />
+		<method name="setStereoVolume(FF)I" deprecated="21" />
+		<method name="setVolume(F)I" since="21" />
+		<method name="stop()V" />
+		<method name="unregisterStreamEventCallback(Landroid/media/AudioTrack$StreamEventCallback;)V" since="29" />
+		<method name="write(Ljava/nio/ByteBuffer;II)I" since="21" />
+		<method name="write(Ljava/nio/ByteBuffer;IIJ)I" since="23" />
+		<method name="write([BII)I" />
+		<method name="write([BIII)I" since="23" />
+		<method name="write([FIII)I" since="21" />
+		<method name="write([SII)I" />
+		<method name="write([SIII)I" since="23" />
+		<field name="DUAL_MONO_MODE_LL" since="30" />
+		<field name="DUAL_MONO_MODE_LR" since="30" />
+		<field name="DUAL_MONO_MODE_OFF" since="30" />
+		<field name="DUAL_MONO_MODE_RR" since="30" />
+		<field name="ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR" since="30" />
+		<field name="ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER" since="30" />
+		<field name="ENCAPSULATION_MODE_ELEMENTARY_STREAM" since="30" />
+		<field name="ENCAPSULATION_MODE_NONE" since="30" />
+		<field name="ERROR" />
+		<field name="ERROR_BAD_VALUE" />
+		<field name="ERROR_DEAD_OBJECT" since="24" />
+		<field name="ERROR_INVALID_OPERATION" />
+		<field name="MODE_STATIC" />
+		<field name="MODE_STREAM" />
+		<field name="PERFORMANCE_MODE_LOW_LATENCY" since="26" />
+		<field name="PERFORMANCE_MODE_NONE" since="26" />
+		<field name="PERFORMANCE_MODE_POWER_SAVING" since="26" />
+		<field name="PLAYSTATE_PAUSED" />
+		<field name="PLAYSTATE_PLAYING" />
+		<field name="PLAYSTATE_STOPPED" />
+		<field name="STATE_INITIALIZED" />
+		<field name="STATE_NO_STATIC_DATA" />
+		<field name="STATE_UNINITIALIZED" />
+		<field name="SUCCESS" />
+		<field name="WRITE_BLOCKING" since="21" />
+		<field name="WRITE_NON_BLOCKING" since="21" />
+	</class>
+	<class name="android/media/AudioTrack$Builder" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/media/AudioTrack;" />
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)Landroid/media/AudioTrack$Builder;" />
+		<method name="setAudioFormat(Landroid/media/AudioFormat;)Landroid/media/AudioTrack$Builder;" />
+		<method name="setBufferSizeInBytes(I)Landroid/media/AudioTrack$Builder;" />
+		<method name="setEncapsulationMode(I)Landroid/media/AudioTrack$Builder;" since="30" />
+		<method name="setOffloadedPlayback(Z)Landroid/media/AudioTrack$Builder;" since="29" />
+		<method name="setPerformanceMode(I)Landroid/media/AudioTrack$Builder;" since="26" />
+		<method name="setSessionId(I)Landroid/media/AudioTrack$Builder;" />
+		<method name="setTransferMode(I)Landroid/media/AudioTrack$Builder;" />
+	</class>
+	<class name="android/media/AudioTrack$MetricsConstants" since="28">
+		<extends name="java/lang/Object" />
+		<field name="CHANNELMASK" deprecated="29" />
+		<field name="CONTENTTYPE" />
+		<field name="SAMPLERATE" deprecated="29" />
+		<field name="STREAMTYPE" />
+		<field name="USAGE" />
+	</class>
+	<class name="android/media/AudioTrack$OnCodecFormatChangedListener" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onCodecFormatChanged(Landroid/media/AudioTrack;Landroid/media/AudioMetadataReadMap;)V" />
+	</class>
+	<class name="android/media/AudioTrack$OnPlaybackPositionUpdateListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onMarkerReached(Landroid/media/AudioTrack;)V" />
+		<method name="onPeriodicNotification(Landroid/media/AudioTrack;)V" />
+	</class>
+	<class name="android/media/AudioTrack$OnRoutingChangedListener" since="23" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/AudioRouting$OnRoutingChangedListener" since="24" />
+		<method name="onRoutingChanged(Landroid/media/AudioTrack;)V" deprecated="29" />
+	</class>
+	<class name="android/media/AudioTrack$StreamEventCallback" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onDataRequest(Landroid/media/AudioTrack;I)V" />
+		<method name="onPresentationEnded(Landroid/media/AudioTrack;)V" />
+		<method name="onTearDown(Landroid/media/AudioTrack;)V" />
+	</class>
+	<class name="android/media/CamcorderProfile" since="8">
+		<extends name="java/lang/Object" />
+		<method name="get(I)Landroid/media/CamcorderProfile;" deprecated="31" />
+		<method name="get(II)Landroid/media/CamcorderProfile;" since="9" deprecated="31" />
+		<method name="getAll(Ljava/lang/String;I)Landroid/media/EncoderProfiles;" since="31" />
+		<method name="hasProfile(I)Z" since="11" />
+		<method name="hasProfile(II)Z" since="11" />
+		<field name="QUALITY_1080P" since="11" />
+		<field name="QUALITY_2160P" since="21" />
+		<field name="QUALITY_2K" since="30" />
+		<field name="QUALITY_480P" since="11" />
+		<field name="QUALITY_4KDCI" since="30" />
+		<field name="QUALITY_720P" since="11" />
+		<field name="QUALITY_8KUHD" since="31" />
+		<field name="QUALITY_CIF" since="11" />
+		<field name="QUALITY_HIGH" />
+		<field name="QUALITY_HIGH_SPEED_1080P" since="21" />
+		<field name="QUALITY_HIGH_SPEED_2160P" since="21" />
+		<field name="QUALITY_HIGH_SPEED_480P" since="21" />
+		<field name="QUALITY_HIGH_SPEED_4KDCI" since="30" />
+		<field name="QUALITY_HIGH_SPEED_720P" since="21" />
+		<field name="QUALITY_HIGH_SPEED_CIF" since="30" />
+		<field name="QUALITY_HIGH_SPEED_HIGH" since="21" />
+		<field name="QUALITY_HIGH_SPEED_LOW" since="21" />
+		<field name="QUALITY_HIGH_SPEED_VGA" since="30" />
+		<field name="QUALITY_LOW" />
+		<field name="QUALITY_QCIF" since="11" />
+		<field name="QUALITY_QHD" since="30" />
+		<field name="QUALITY_QVGA" since="15" />
+		<field name="QUALITY_TIME_LAPSE_1080P" since="11" />
+		<field name="QUALITY_TIME_LAPSE_2160P" since="21" />
+		<field name="QUALITY_TIME_LAPSE_2K" since="30" />
+		<field name="QUALITY_TIME_LAPSE_480P" since="11" />
+		<field name="QUALITY_TIME_LAPSE_4KDCI" since="30" />
+		<field name="QUALITY_TIME_LAPSE_720P" since="11" />
+		<field name="QUALITY_TIME_LAPSE_8KUHD" since="31" />
+		<field name="QUALITY_TIME_LAPSE_CIF" since="11" />
+		<field name="QUALITY_TIME_LAPSE_HIGH" since="11" />
+		<field name="QUALITY_TIME_LAPSE_LOW" since="11" />
+		<field name="QUALITY_TIME_LAPSE_QCIF" since="11" />
+		<field name="QUALITY_TIME_LAPSE_QHD" since="30" />
+		<field name="QUALITY_TIME_LAPSE_QVGA" since="15" />
+		<field name="QUALITY_TIME_LAPSE_VGA" since="30" />
+		<field name="QUALITY_VGA" since="30" />
+		<field name="audioBitRate" />
+		<field name="audioChannels" />
+		<field name="audioCodec" />
+		<field name="audioSampleRate" />
+		<field name="duration" />
+		<field name="fileFormat" />
+		<field name="quality" />
+		<field name="videoBitRate" />
+		<field name="videoCodec" />
+		<field name="videoFrameHeight" />
+		<field name="videoFrameRate" />
+		<field name="videoFrameWidth" />
+	</class>
+	<class name="android/media/CameraProfile" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getJpegEncodingQualityParameter(I)I" />
+		<method name="getJpegEncodingQualityParameter(II)I" since="9" />
+		<field name="QUALITY_HIGH" />
+		<field name="QUALITY_LOW" />
+		<field name="QUALITY_MEDIUM" />
+	</class>
+	<class name="android/media/DeniedByServerException" since="18">
+		<extends name="android/media/MediaDrmException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/DrmInitData" since="24">
+		<extends name="java/lang/Object" />
+		<method name="get(Ljava/util/UUID;)Landroid/media/DrmInitData$SchemeInitData;" deprecated="30" />
+		<method name="getSchemeInitDataAt(I)Landroid/media/DrmInitData$SchemeInitData;" since="30" />
+		<method name="getSchemeInitDataCount()I" since="30" />
+	</class>
+	<class name="android/media/DrmInitData$SchemeInitData" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/util/UUID;Ljava/lang/String;[B)V" since="31" />
+		<field name="UUID_NIL" since="30" />
+		<field name="data" />
+		<field name="mimeType" />
+		<field name="uuid" since="30" />
+	</class>
+	<class name="android/media/EncoderProfiles" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getAudioProfiles()Ljava/util/List;" />
+		<method name="getDefaultDurationSeconds()I" />
+		<method name="getRecommendedFileFormat()I" />
+		<method name="getVideoProfiles()Ljava/util/List;" />
+	</class>
+	<class name="android/media/EncoderProfiles$AudioProfile" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getBitrate()I" />
+		<method name="getChannels()I" />
+		<method name="getCodec()I" />
+		<method name="getMediaType()Ljava/lang/String;" />
+		<method name="getProfile()I" />
+		<method name="getSampleRate()I" />
+	</class>
+	<class name="android/media/EncoderProfiles$VideoProfile" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getBitrate()I" />
+		<method name="getCodec()I" />
+		<method name="getFrameRate()I" />
+		<method name="getHeight()I" />
+		<method name="getMediaType()Ljava/lang/String;" />
+		<method name="getProfile()I" />
+		<method name="getWidth()I" />
+	</class>
+	<class name="android/media/ExifInterface" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" since="29" />
+		<method name="&lt;init&gt;(Ljava/io/FileDescriptor;)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;I)V" since="30" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getAltitude(D)D" since="9" />
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getAttributeBytes(Ljava/lang/String;)[B" since="29" />
+		<method name="getAttributeDouble(Ljava/lang/String;D)D" since="8" />
+		<method name="getAttributeInt(Ljava/lang/String;I)I" />
+		<method name="getAttributeRange(Ljava/lang/String;)[J" since="29" />
+		<method name="getDateTime()J" since="31" />
+		<method name="getDateTimeDigitized()J" since="31" />
+		<method name="getDateTimeOriginal()J" since="31" />
+		<method name="getGpsDateTime()J" since="31" />
+		<method name="getLatLong([F)Z" />
+		<method name="getThumbnail()[B" />
+		<method name="getThumbnailBitmap()Landroid/graphics/Bitmap;" since="26" />
+		<method name="getThumbnailBytes()[B" since="26" />
+		<method name="getThumbnailRange()[J" since="24" />
+		<method name="hasAttribute(Ljava/lang/String;)Z" since="29" />
+		<method name="hasThumbnail()Z" />
+		<method name="isSupportedMimeType(Ljava/lang/String;)Z" since="30" />
+		<method name="isThumbnailCompressed()Z" since="26" />
+		<method name="saveAttributes()V" />
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="ORIENTATION_FLIP_HORIZONTAL" />
+		<field name="ORIENTATION_FLIP_VERTICAL" />
+		<field name="ORIENTATION_NORMAL" />
+		<field name="ORIENTATION_ROTATE_180" />
+		<field name="ORIENTATION_ROTATE_270" />
+		<field name="ORIENTATION_ROTATE_90" />
+		<field name="ORIENTATION_TRANSPOSE" />
+		<field name="ORIENTATION_TRANSVERSE" />
+		<field name="ORIENTATION_UNDEFINED" />
+		<field name="STREAM_TYPE_EXIF_DATA_ONLY" since="30" />
+		<field name="STREAM_TYPE_FULL_IMAGE_DATA" since="30" />
+		<field name="TAG_APERTURE" since="11" deprecated="24" />
+		<field name="TAG_APERTURE_VALUE" since="24" />
+		<field name="TAG_ARTIST" since="24" />
+		<field name="TAG_BITS_PER_SAMPLE" since="24" />
+		<field name="TAG_BRIGHTNESS_VALUE" since="24" />
+		<field name="TAG_CFA_PATTERN" since="24" />
+		<field name="TAG_COLOR_SPACE" since="24" />
+		<field name="TAG_COMPONENTS_CONFIGURATION" since="24" />
+		<field name="TAG_COMPRESSED_BITS_PER_PIXEL" since="24" />
+		<field name="TAG_COMPRESSION" since="24" />
+		<field name="TAG_CONTRAST" since="24" />
+		<field name="TAG_COPYRIGHT" since="24" />
+		<field name="TAG_CUSTOM_RENDERED" since="24" />
+		<field name="TAG_DATETIME" />
+		<field name="TAG_DATETIME_DIGITIZED" since="23" />
+		<field name="TAG_DATETIME_ORIGINAL" since="24" />
+		<field name="TAG_DEFAULT_CROP_SIZE" since="26" />
+		<field name="TAG_DEVICE_SETTING_DESCRIPTION" since="24" />
+		<field name="TAG_DIGITAL_ZOOM_RATIO" since="24" />
+		<field name="TAG_DNG_VERSION" since="26" />
+		<field name="TAG_EXIF_VERSION" since="24" />
+		<field name="TAG_EXPOSURE_BIAS_VALUE" since="24" />
+		<field name="TAG_EXPOSURE_INDEX" since="24" />
+		<field name="TAG_EXPOSURE_MODE" since="24" />
+		<field name="TAG_EXPOSURE_PROGRAM" since="24" />
+		<field name="TAG_EXPOSURE_TIME" since="11" />
+		<field name="TAG_FILE_SOURCE" since="24" />
+		<field name="TAG_FLASH" />
+		<field name="TAG_FLASHPIX_VERSION" since="24" />
+		<field name="TAG_FLASH_ENERGY" since="24" />
+		<field name="TAG_FOCAL_LENGTH" since="8" />
+		<field name="TAG_FOCAL_LENGTH_IN_35MM_FILM" since="24" />
+		<field name="TAG_FOCAL_PLANE_RESOLUTION_UNIT" since="24" />
+		<field name="TAG_FOCAL_PLANE_X_RESOLUTION" since="24" />
+		<field name="TAG_FOCAL_PLANE_Y_RESOLUTION" since="24" />
+		<field name="TAG_F_NUMBER" since="24" />
+		<field name="TAG_GAIN_CONTROL" since="24" />
+		<field name="TAG_GPS_ALTITUDE" since="9" />
+		<field name="TAG_GPS_ALTITUDE_REF" since="9" />
+		<field name="TAG_GPS_AREA_INFORMATION" since="24" />
+		<field name="TAG_GPS_DATESTAMP" since="8" />
+		<field name="TAG_GPS_DEST_BEARING" since="24" />
+		<field name="TAG_GPS_DEST_BEARING_REF" since="24" />
+		<field name="TAG_GPS_DEST_DISTANCE" since="24" />
+		<field name="TAG_GPS_DEST_DISTANCE_REF" since="24" />
+		<field name="TAG_GPS_DEST_LATITUDE" since="24" />
+		<field name="TAG_GPS_DEST_LATITUDE_REF" since="24" />
+		<field name="TAG_GPS_DEST_LONGITUDE" since="24" />
+		<field name="TAG_GPS_DEST_LONGITUDE_REF" since="24" />
+		<field name="TAG_GPS_DIFFERENTIAL" since="24" />
+		<field name="TAG_GPS_DOP" since="24" />
+		<field name="TAG_GPS_IMG_DIRECTION" since="24" />
+		<field name="TAG_GPS_IMG_DIRECTION_REF" since="24" />
+		<field name="TAG_GPS_LATITUDE" />
+		<field name="TAG_GPS_LATITUDE_REF" />
+		<field name="TAG_GPS_LONGITUDE" />
+		<field name="TAG_GPS_LONGITUDE_REF" />
+		<field name="TAG_GPS_MAP_DATUM" since="24" />
+		<field name="TAG_GPS_MEASURE_MODE" since="24" />
+		<field name="TAG_GPS_PROCESSING_METHOD" since="8" />
+		<field name="TAG_GPS_SATELLITES" since="24" />
+		<field name="TAG_GPS_SPEED" since="24" />
+		<field name="TAG_GPS_SPEED_REF" since="24" />
+		<field name="TAG_GPS_STATUS" since="24" />
+		<field name="TAG_GPS_TIMESTAMP" since="8" />
+		<field name="TAG_GPS_TRACK" since="24" />
+		<field name="TAG_GPS_TRACK_REF" since="24" />
+		<field name="TAG_GPS_VERSION_ID" since="24" />
+		<field name="TAG_IMAGE_DESCRIPTION" since="24" />
+		<field name="TAG_IMAGE_LENGTH" />
+		<field name="TAG_IMAGE_UNIQUE_ID" since="24" />
+		<field name="TAG_IMAGE_WIDTH" />
+		<field name="TAG_INTEROPERABILITY_INDEX" since="24" />
+		<field name="TAG_ISO" since="11" deprecated="24" />
+		<field name="TAG_ISO_SPEED_RATINGS" since="24" />
+		<field name="TAG_JPEG_INTERCHANGE_FORMAT" since="24" />
+		<field name="TAG_JPEG_INTERCHANGE_FORMAT_LENGTH" since="24" />
+		<field name="TAG_LIGHT_SOURCE" since="24" />
+		<field name="TAG_MAKE" />
+		<field name="TAG_MAKER_NOTE" since="24" />
+		<field name="TAG_MAX_APERTURE_VALUE" since="24" />
+		<field name="TAG_METERING_MODE" since="24" />
+		<field name="TAG_MODEL" />
+		<field name="TAG_NEW_SUBFILE_TYPE" since="26" />
+		<field name="TAG_OECF" since="24" />
+		<field name="TAG_OFFSET_TIME" since="30" />
+		<field name="TAG_OFFSET_TIME_DIGITIZED" since="30" />
+		<field name="TAG_OFFSET_TIME_ORIGINAL" since="30" />
+		<field name="TAG_ORF_ASPECT_FRAME" since="26" />
+		<field name="TAG_ORF_PREVIEW_IMAGE_LENGTH" since="26" />
+		<field name="TAG_ORF_PREVIEW_IMAGE_START" since="26" />
+		<field name="TAG_ORF_THUMBNAIL_IMAGE" since="26" />
+		<field name="TAG_ORIENTATION" />
+		<field name="TAG_PHOTOMETRIC_INTERPRETATION" since="24" />
+		<field name="TAG_PIXEL_X_DIMENSION" since="24" />
+		<field name="TAG_PIXEL_Y_DIMENSION" since="24" />
+		<field name="TAG_PLANAR_CONFIGURATION" since="24" />
+		<field name="TAG_PRIMARY_CHROMATICITIES" since="24" />
+		<field name="TAG_REFERENCE_BLACK_WHITE" since="24" />
+		<field name="TAG_RELATED_SOUND_FILE" since="24" />
+		<field name="TAG_RESOLUTION_UNIT" since="24" />
+		<field name="TAG_ROWS_PER_STRIP" since="24" />
+		<field name="TAG_RW2_ISO" since="26" />
+		<field name="TAG_RW2_JPG_FROM_RAW" since="26" />
+		<field name="TAG_RW2_SENSOR_BOTTOM_BORDER" since="26" />
+		<field name="TAG_RW2_SENSOR_LEFT_BORDER" since="26" />
+		<field name="TAG_RW2_SENSOR_RIGHT_BORDER" since="26" />
+		<field name="TAG_RW2_SENSOR_TOP_BORDER" since="26" />
+		<field name="TAG_SAMPLES_PER_PIXEL" since="24" />
+		<field name="TAG_SATURATION" since="24" />
+		<field name="TAG_SCENE_CAPTURE_TYPE" since="24" />
+		<field name="TAG_SCENE_TYPE" since="24" />
+		<field name="TAG_SENSING_METHOD" since="24" />
+		<field name="TAG_SHARPNESS" since="24" />
+		<field name="TAG_SHUTTER_SPEED_VALUE" since="24" />
+		<field name="TAG_SOFTWARE" since="24" />
+		<field name="TAG_SPATIAL_FREQUENCY_RESPONSE" since="24" />
+		<field name="TAG_SPECTRAL_SENSITIVITY" since="24" />
+		<field name="TAG_STRIP_BYTE_COUNTS" since="24" />
+		<field name="TAG_STRIP_OFFSETS" since="24" />
+		<field name="TAG_SUBFILE_TYPE" since="26" />
+		<field name="TAG_SUBJECT_AREA" since="24" />
+		<field name="TAG_SUBJECT_DISTANCE" since="24" />
+		<field name="TAG_SUBJECT_DISTANCE_RANGE" since="24" />
+		<field name="TAG_SUBJECT_LOCATION" since="24" />
+		<field name="TAG_SUBSEC_TIME" since="23" />
+		<field name="TAG_SUBSEC_TIME_DIG" since="23" deprecated="24" />
+		<field name="TAG_SUBSEC_TIME_DIGITIZED" since="24" />
+		<field name="TAG_SUBSEC_TIME_ORIG" since="23" deprecated="24" />
+		<field name="TAG_SUBSEC_TIME_ORIGINAL" since="24" />
+		<field name="TAG_THUMBNAIL_IMAGE_LENGTH" since="24" />
+		<field name="TAG_THUMBNAIL_IMAGE_WIDTH" since="24" />
+		<field name="TAG_THUMBNAIL_ORIENTATION" since="30" />
+		<field name="TAG_TRANSFER_FUNCTION" since="24" />
+		<field name="TAG_USER_COMMENT" since="24" />
+		<field name="TAG_WHITE_BALANCE" />
+		<field name="TAG_WHITE_POINT" since="24" />
+		<field name="TAG_XMP" since="29" />
+		<field name="TAG_X_RESOLUTION" since="24" />
+		<field name="TAG_Y_CB_CR_COEFFICIENTS" since="24" />
+		<field name="TAG_Y_CB_CR_POSITIONING" since="24" />
+		<field name="TAG_Y_CB_CR_SUB_SAMPLING" since="24" />
+		<field name="TAG_Y_RESOLUTION" since="24" />
+		<field name="WHITEBALANCE_AUTO" />
+		<field name="WHITEBALANCE_MANUAL" />
+	</class>
+	<class name="android/media/FaceDetector" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="findFaces(Landroid/graphics/Bitmap;[Landroid/media/FaceDetector$Face;)I" />
+	</class>
+	<class name="android/media/FaceDetector$Face" since="1">
+		<extends name="java/lang/Object" />
+		<method name="confidence()F" />
+		<method name="eyesDistance()F" />
+		<method name="getMidPoint(Landroid/graphics/PointF;)V" />
+		<method name="pose(I)F" />
+		<field name="CONFIDENCE_THRESHOLD" />
+		<field name="EULER_X" />
+		<field name="EULER_Y" />
+		<field name="EULER_Z" />
+	</class>
+	<class name="android/media/Image" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="getCropRect()Landroid/graphics/Rect;" since="21" />
+		<method name="getFormat()I" />
+		<method name="getHardwareBuffer()Landroid/hardware/HardwareBuffer;" since="28" />
+		<method name="getHeight()I" />
+		<method name="getPlanes()[Landroid/media/Image$Plane;" />
+		<method name="getTimestamp()J" />
+		<method name="getWidth()I" />
+		<method name="setCropRect(Landroid/graphics/Rect;)V" since="21" />
+		<method name="setTimestamp(J)V" since="23" />
+	</class>
+	<class name="android/media/Image$Plane" since="19">
+		<extends name="java/lang/Object" />
+		<method name="getBuffer()Ljava/nio/ByteBuffer;" />
+		<method name="getPixelStride()I" />
+		<method name="getRowStride()I" />
+	</class>
+	<class name="android/media/ImageReader" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="acquireLatestImage()Landroid/media/Image;" />
+		<method name="acquireNextImage()Landroid/media/Image;" />
+		<method name="discardFreeBuffers()V" since="28" />
+		<method name="getHeight()I" />
+		<method name="getImageFormat()I" />
+		<method name="getMaxImages()I" />
+		<method name="getSurface()Landroid/view/Surface;" />
+		<method name="getWidth()I" />
+		<method name="newInstance(IIII)Landroid/media/ImageReader;" />
+		<method name="newInstance(IIIIJ)Landroid/media/ImageReader;" since="29" />
+		<method name="setOnImageAvailableListener(Landroid/media/ImageReader$OnImageAvailableListener;Landroid/os/Handler;)V" />
+	</class>
+	<class name="android/media/ImageReader$OnImageAvailableListener" since="19">
+		<extends name="java/lang/Object" />
+		<method name="onImageAvailable(Landroid/media/ImageReader;)V" />
+	</class>
+	<class name="android/media/ImageWriter" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="dequeueInputImage()Landroid/media/Image;" />
+		<method name="getFormat()I" />
+		<method name="getMaxImages()I" />
+		<method name="newInstance(Landroid/view/Surface;I)Landroid/media/ImageWriter;" />
+		<method name="newInstance(Landroid/view/Surface;II)Landroid/media/ImageWriter;" since="29" />
+		<method name="queueInputImage(Landroid/media/Image;)V" />
+		<method name="setOnImageReleasedListener(Landroid/media/ImageWriter$OnImageReleasedListener;Landroid/os/Handler;)V" />
+	</class>
+	<class name="android/media/ImageWriter$OnImageReleasedListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onImageReleased(Landroid/media/ImageWriter;)V" />
+	</class>
+	<class name="android/media/JetPlayer" since="3">
+		<extends name="java/lang/Object" />
+		<method name="clearQueue()Z" />
+		<method name="closeJetFile()Z" />
+		<method name="getJetPlayer()Landroid/media/JetPlayer;" />
+		<method name="getMaxTracks()I" />
+		<method name="loadJetFile(Landroid/content/res/AssetFileDescriptor;)Z" />
+		<method name="loadJetFile(Ljava/lang/String;)Z" />
+		<method name="pause()Z" />
+		<method name="play()Z" />
+		<method name="queueJetSegment(IIIIIB)Z" />
+		<method name="queueJetSegmentMuteArray(IIII[ZB)Z" />
+		<method name="release()V" />
+		<method name="setEventListener(Landroid/media/JetPlayer$OnJetEventListener;)V" />
+		<method name="setEventListener(Landroid/media/JetPlayer$OnJetEventListener;Landroid/os/Handler;)V" />
+		<method name="setMuteArray([ZZ)Z" />
+		<method name="setMuteFlag(IZZ)Z" />
+		<method name="setMuteFlags(IZ)Z" />
+		<method name="triggerClip(I)Z" />
+	</class>
+	<class name="android/media/JetPlayer$OnJetEventListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onJetEvent(Landroid/media/JetPlayer;SBBBB)V" />
+		<method name="onJetNumQueuedSegmentUpdate(Landroid/media/JetPlayer;I)V" />
+		<method name="onJetPauseUpdate(Landroid/media/JetPlayer;I)V" />
+		<method name="onJetUserIdUpdate(Landroid/media/JetPlayer;II)V" />
+	</class>
+	<class name="android/media/MediaActionSound" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="load(I)V" />
+		<method name="play(I)V" />
+		<method name="release()V" />
+		<field name="FOCUS_COMPLETE" />
+		<field name="SHUTTER_CLICK" />
+		<field name="START_VIDEO_RECORDING" />
+		<field name="STOP_VIDEO_RECORDING" />
+	</class>
+	<class name="android/media/MediaCas" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILjava/lang/String;I)V" since="30" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILjava/lang/String;ILandroid/os/Handler;Landroid/media/MediaCas$EventListener;)V" since="31" />
+		<method name="enumeratePlugins()[Landroid/media/MediaCas$PluginDescriptor;" />
+		<method name="isSystemIdSupported(I)Z" />
+		<method name="openSession()Landroid/media/MediaCas$Session;" />
+		<method name="openSession(II)Landroid/media/MediaCas$Session;" since="30" />
+		<method name="processEmm([B)V" />
+		<method name="processEmm([BII)V" />
+		<method name="provision(Ljava/lang/String;)V" />
+		<method name="refreshEntitlements(I[B)V" />
+		<method name="sendEvent(II[B)V" />
+		<method name="setEventListener(Landroid/media/MediaCas$EventListener;Landroid/os/Handler;)V" />
+		<method name="setPrivateData([B)V" />
+		<field name="PLUGIN_STATUS_PHYSICAL_MODULE_CHANGED" since="30" />
+		<field name="PLUGIN_STATUS_SESSION_NUMBER_CHANGED" since="30" />
+		<field name="SCRAMBLING_MODE_AES128" since="30" />
+		<field name="SCRAMBLING_MODE_AES_ECB" since="30" />
+		<field name="SCRAMBLING_MODE_AES_SCTE52" since="30" />
+		<field name="SCRAMBLING_MODE_DVB_CISSA_V1" since="30" />
+		<field name="SCRAMBLING_MODE_DVB_CSA1" since="30" />
+		<field name="SCRAMBLING_MODE_DVB_CSA2" since="30" />
+		<field name="SCRAMBLING_MODE_DVB_CSA3_ENHANCE" since="30" />
+		<field name="SCRAMBLING_MODE_DVB_CSA3_MINIMAL" since="30" />
+		<field name="SCRAMBLING_MODE_DVB_CSA3_STANDARD" since="30" />
+		<field name="SCRAMBLING_MODE_DVB_IDSA" since="30" />
+		<field name="SCRAMBLING_MODE_MULTI2" since="30" />
+		<field name="SCRAMBLING_MODE_RESERVED" since="30" />
+		<field name="SCRAMBLING_MODE_TDES_ECB" since="30" />
+		<field name="SCRAMBLING_MODE_TDES_SCTE52" since="30" />
+		<field name="SESSION_USAGE_LIVE" since="30" />
+		<field name="SESSION_USAGE_PLAYBACK" since="30" />
+		<field name="SESSION_USAGE_RECORD" since="30" />
+		<field name="SESSION_USAGE_TIMESHIFT" since="30" />
+	</class>
+	<class name="android/media/MediaCas$EventListener" since="26">
+		<extends name="java/lang/Object" />
+		<method name="onEvent(Landroid/media/MediaCas;II[B)V" />
+		<method name="onPluginStatusUpdate(Landroid/media/MediaCas;II)V" since="30" />
+		<method name="onResourceLost(Landroid/media/MediaCas;)V" since="30" />
+		<method name="onSessionEvent(Landroid/media/MediaCas;Landroid/media/MediaCas$Session;II[B)V" since="29" />
+	</class>
+	<class name="android/media/MediaCas$PluginDescriptor" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getSystemId()I" />
+	</class>
+	<class name="android/media/MediaCas$Session" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="getSessionId()[B" since="30" />
+		<method name="processEcm([B)V" />
+		<method name="processEcm([BII)V" />
+		<method name="sendSessionEvent(II[B)V" since="29" />
+		<method name="setPrivateData([B)V" />
+	</class>
+	<class name="android/media/MediaCasException" since="26">
+		<extends name="java/lang/Exception" />
+	</class>
+	<class name="android/media/MediaCasException$DeniedByServerException" since="26">
+		<extends name="android/media/MediaCasException" />
+	</class>
+	<class name="android/media/MediaCasException$InsufficientResourceException" since="30">
+		<extends name="android/media/MediaCasException" />
+	</class>
+	<class name="android/media/MediaCasException$NotProvisionedException" since="26">
+		<extends name="android/media/MediaCasException" />
+	</class>
+	<class name="android/media/MediaCasException$ResourceBusyException" since="26">
+		<extends name="android/media/MediaCasException" />
+	</class>
+	<class name="android/media/MediaCasException$UnsupportedCasException" since="26">
+		<extends name="android/media/MediaCasException" />
+	</class>
+	<class name="android/media/MediaCasStateException" since="26">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="getDiagnosticInfo()Ljava/lang/String;" />
+	</class>
+	<class name="android/media/MediaCodec" since="16">
+		<extends name="java/lang/Object" />
+		<method name="configure(Landroid/media/MediaFormat;Landroid/view/Surface;ILandroid/media/MediaDescrambler;)V" since="26" />
+		<method name="configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V" />
+		<method name="createByCodecName(Ljava/lang/String;)Landroid/media/MediaCodec;" />
+		<method name="createDecoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;" />
+		<method name="createEncoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;" />
+		<method name="createInputSurface()Landroid/view/Surface;" since="18" />
+		<method name="createPersistentInputSurface()Landroid/view/Surface;" since="23" />
+		<method name="dequeueInputBuffer(J)I" />
+		<method name="dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I" />
+		<method name="flush()V" />
+		<method name="getCanonicalName()Ljava/lang/String;" since="29" />
+		<method name="getCodecInfo()Landroid/media/MediaCodecInfo;" since="18" />
+		<method name="getInputBuffer(I)Ljava/nio/ByteBuffer;" since="21" />
+		<method name="getInputBuffers()[Ljava/nio/ByteBuffer;" deprecated="21" />
+		<method name="getInputFormat()Landroid/media/MediaFormat;" since="21" />
+		<method name="getInputImage(I)Landroid/media/Image;" since="21" />
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="26" />
+		<method name="getName()Ljava/lang/String;" since="18" />
+		<method name="getOutputBuffer(I)Ljava/nio/ByteBuffer;" since="21" />
+		<method name="getOutputBuffers()[Ljava/nio/ByteBuffer;" deprecated="21" />
+		<method name="getOutputFormat()Landroid/media/MediaFormat;" />
+		<method name="getOutputFormat(I)Landroid/media/MediaFormat;" since="21" />
+		<method name="getOutputFrame(I)Landroid/media/MediaCodec$OutputFrame;" since="30" />
+		<method name="getOutputImage(I)Landroid/media/Image;" since="21" />
+		<method name="getParameterDescriptor(Ljava/lang/String;)Landroid/media/MediaCodec$ParameterDescriptor;" since="31" />
+		<method name="getQueueRequest(I)Landroid/media/MediaCodec$QueueRequest;" since="30" />
+		<method name="getSupportedVendorParameters()Ljava/util/List;" since="31" />
+		<method name="mapHardwareBuffer(Landroid/hardware/HardwareBuffer;)Landroid/media/Image;" since="30" />
+		<method name="queueInputBuffer(IIIJI)V" />
+		<method name="queueSecureInputBuffer(IILandroid/media/MediaCodec$CryptoInfo;JI)V" />
+		<method name="release()V" />
+		<method name="releaseOutputBuffer(IJ)V" since="21" />
+		<method name="releaseOutputBuffer(IZ)V" />
+		<method name="reset()V" since="21" />
+		<method name="setAudioPresentation(Landroid/media/AudioPresentation;)V" since="29" />
+		<method name="setCallback(Landroid/media/MediaCodec$Callback;)V" since="21" />
+		<method name="setCallback(Landroid/media/MediaCodec$Callback;Landroid/os/Handler;)V" since="23" />
+		<method name="setInputSurface(Landroid/view/Surface;)V" since="23" />
+		<method name="setOnFirstTunnelFrameReadyListener(Landroid/os/Handler;Landroid/media/MediaCodec$OnFirstTunnelFrameReadyListener;)V" since="31" />
+		<method name="setOnFrameRenderedListener(Landroid/media/MediaCodec$OnFrameRenderedListener;Landroid/os/Handler;)V" since="23" />
+		<method name="setOutputSurface(Landroid/view/Surface;)V" since="23" />
+		<method name="setParameters(Landroid/os/Bundle;)V" since="19" />
+		<method name="setVideoScalingMode(I)V" />
+		<method name="signalEndOfInputStream()V" since="18" />
+		<method name="start()V" />
+		<method name="stop()V" />
+		<method name="subscribeToVendorParameters(Ljava/util/List;)V" since="31" />
+		<method name="unsubscribeFromVendorParameters(Ljava/util/List;)V" since="31" />
+		<field name="BUFFER_FLAG_CODEC_CONFIG" />
+		<field name="BUFFER_FLAG_END_OF_STREAM" />
+		<field name="BUFFER_FLAG_KEY_FRAME" since="21" />
+		<field name="BUFFER_FLAG_PARTIAL_FRAME" since="26" />
+		<field name="BUFFER_FLAG_SYNC_FRAME" deprecated="21" />
+		<field name="CONFIGURE_FLAG_ENCODE" />
+		<field name="CONFIGURE_FLAG_USE_BLOCK_MODEL" since="30" />
+		<field name="CRYPTO_MODE_AES_CBC" since="24" />
+		<field name="CRYPTO_MODE_AES_CTR" />
+		<field name="CRYPTO_MODE_UNENCRYPTED" />
+		<field name="INFO_OUTPUT_BUFFERS_CHANGED" deprecated="21" />
+		<field name="INFO_OUTPUT_FORMAT_CHANGED" />
+		<field name="INFO_TRY_AGAIN_LATER" />
+		<field name="PARAMETER_KEY_HDR10_PLUS_INFO" since="29" />
+		<field name="PARAMETER_KEY_LOW_LATENCY" since="30" />
+		<field name="PARAMETER_KEY_OFFSET_TIME" since="29" />
+		<field name="PARAMETER_KEY_REQUEST_SYNC_FRAME" since="19" />
+		<field name="PARAMETER_KEY_SUSPEND" since="19" />
+		<field name="PARAMETER_KEY_SUSPEND_TIME" since="29" />
+		<field name="PARAMETER_KEY_TUNNEL_PEEK" since="31" />
+		<field name="PARAMETER_KEY_VIDEO_BITRATE" since="19" />
+		<field name="VIDEO_SCALING_MODE_SCALE_TO_FIT" />
+		<field name="VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING" />
+	</class>
+	<class name="android/media/MediaCodec$BufferInfo" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="set(IIJI)V" />
+		<field name="flags" />
+		<field name="offset" />
+		<field name="presentationTimeUs" />
+		<field name="size" />
+	</class>
+	<class name="android/media/MediaCodec$Callback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onError(Landroid/media/MediaCodec;Landroid/media/MediaCodec$CodecException;)V" />
+		<method name="onInputBufferAvailable(Landroid/media/MediaCodec;I)V" />
+		<method name="onOutputBufferAvailable(Landroid/media/MediaCodec;ILandroid/media/MediaCodec$BufferInfo;)V" />
+		<method name="onOutputFormatChanged(Landroid/media/MediaCodec;Landroid/media/MediaFormat;)V" />
+	</class>
+	<class name="android/media/MediaCodec$CodecException" since="21">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="getDiagnosticInfo()Ljava/lang/String;" />
+		<method name="getErrorCode()I" since="23" />
+		<method name="isRecoverable()Z" />
+		<method name="isTransient()Z" />
+		<field name="ERROR_INSUFFICIENT_RESOURCE" since="23" />
+		<field name="ERROR_RECLAIMED" since="23" />
+	</class>
+	<class name="android/media/MediaCodec$CryptoException" since="16">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" />
+		<method name="getErrorCode()I" />
+		<field name="ERROR_FRAME_TOO_LARGE" since="29" deprecated="31" />
+		<field name="ERROR_INSUFFICIENT_OUTPUT_PROTECTION" since="21" deprecated="31" />
+		<field name="ERROR_INSUFFICIENT_SECURITY" since="29" deprecated="31" />
+		<field name="ERROR_KEY_EXPIRED" since="19" deprecated="31" />
+		<field name="ERROR_LOST_STATE" since="29" deprecated="31" />
+		<field name="ERROR_NO_KEY" since="19" deprecated="31" />
+		<field name="ERROR_RESOURCE_BUSY" since="19" deprecated="31" />
+		<field name="ERROR_SESSION_NOT_OPENED" since="23" deprecated="31" />
+		<field name="ERROR_UNSUPPORTED_OPERATION" since="24" deprecated="31" />
+	</class>
+	<class name="android/media/MediaCodec$CryptoInfo" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getPattern()Landroid/media/MediaCodec$CryptoInfo$Pattern;" since="31" />
+		<method name="set(I[I[I[B[BI)V" />
+		<method name="setPattern(Landroid/media/MediaCodec$CryptoInfo$Pattern;)V" since="24" />
+		<field name="iv" />
+		<field name="key" />
+		<field name="mode" />
+		<field name="numBytesOfClearData" />
+		<field name="numBytesOfEncryptedData" />
+		<field name="numSubSamples" />
+	</class>
+	<class name="android/media/MediaCodec$CryptoInfo$Pattern" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getEncryptBlocks()I" />
+		<method name="getSkipBlocks()I" />
+		<method name="set(II)V" />
+	</class>
+	<class name="android/media/MediaCodec$IncompatibleWithBlockModelException" since="30">
+		<extends name="java/lang/RuntimeException" />
+	</class>
+	<class name="android/media/MediaCodec$LinearBlock" since="30">
+		<extends name="java/lang/Object" />
+		<method name="isCodecCopyFreeCompatible([Ljava/lang/String;)Z" />
+		<method name="isMappable()Z" />
+		<method name="map()Ljava/nio/ByteBuffer;" />
+		<method name="obtain(I[Ljava/lang/String;)Landroid/media/MediaCodec$LinearBlock;" />
+		<method name="recycle()V" />
+	</class>
+	<class name="android/media/MediaCodec$MetricsConstants" since="26">
+		<extends name="java/lang/Object" />
+		<field name="CODEC" />
+		<field name="ENCODER" />
+		<field name="HEIGHT" />
+		<field name="MIME_TYPE" />
+		<field name="MODE" />
+		<field name="MODE_AUDIO" />
+		<field name="MODE_VIDEO" />
+		<field name="ROTATION" />
+		<field name="SECURE" />
+		<field name="WIDTH" />
+	</class>
+	<class name="android/media/MediaCodec$OnFirstTunnelFrameReadyListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onFirstTunnelFrameReady(Landroid/media/MediaCodec;)V" />
+	</class>
+	<class name="android/media/MediaCodec$OnFrameRenderedListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onFrameRendered(Landroid/media/MediaCodec;JJ)V" />
+	</class>
+	<class name="android/media/MediaCodec$OutputFrame" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getChangedKeys()Ljava/util/Set;" />
+		<method name="getFlags()I" />
+		<method name="getFormat()Landroid/media/MediaFormat;" />
+		<method name="getHardwareBuffer()Landroid/hardware/HardwareBuffer;" />
+		<method name="getLinearBlock()Landroid/media/MediaCodec$LinearBlock;" />
+		<method name="getPresentationTimeUs()J" />
+	</class>
+	<class name="android/media/MediaCodec$ParameterDescriptor" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getType()I" />
+	</class>
+	<class name="android/media/MediaCodec$QueueRequest" since="30">
+		<extends name="java/lang/Object" />
+		<method name="queue()V" />
+		<method name="setByteBufferParameter(Ljava/lang/String;Ljava/nio/ByteBuffer;)Landroid/media/MediaCodec$QueueRequest;" />
+		<method name="setEncryptedLinearBlock(Landroid/media/MediaCodec$LinearBlock;IILandroid/media/MediaCodec$CryptoInfo;)Landroid/media/MediaCodec$QueueRequest;" />
+		<method name="setFlags(I)Landroid/media/MediaCodec$QueueRequest;" />
+		<method name="setFloatParameter(Ljava/lang/String;F)Landroid/media/MediaCodec$QueueRequest;" />
+		<method name="setHardwareBuffer(Landroid/hardware/HardwareBuffer;)Landroid/media/MediaCodec$QueueRequest;" />
+		<method name="setIntegerParameter(Ljava/lang/String;I)Landroid/media/MediaCodec$QueueRequest;" />
+		<method name="setLinearBlock(Landroid/media/MediaCodec$LinearBlock;II)Landroid/media/MediaCodec$QueueRequest;" />
+		<method name="setLongParameter(Ljava/lang/String;J)Landroid/media/MediaCodec$QueueRequest;" />
+		<method name="setPresentationTimeUs(J)Landroid/media/MediaCodec$QueueRequest;" />
+		<method name="setStringParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/media/MediaCodec$QueueRequest;" />
+	</class>
+	<class name="android/media/MediaCodecInfo" since="16">
+		<extends name="java/lang/Object" />
+		<method name="getCanonicalName()Ljava/lang/String;" since="29" />
+		<method name="getCapabilitiesForType(Ljava/lang/String;)Landroid/media/MediaCodecInfo$CodecCapabilities;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getSupportedTypes()[Ljava/lang/String;" />
+		<method name="isAlias()Z" since="29" />
+		<method name="isEncoder()Z" />
+		<method name="isHardwareAccelerated()Z" since="29" />
+		<method name="isSoftwareOnly()Z" since="29" />
+		<method name="isVendor()Z" since="29" />
+	</class>
+	<class name="android/media/MediaCodecInfo$AudioCapabilities" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getBitrateRange()Landroid/util/Range;" />
+		<method name="getInputChannelCountRanges()[Landroid/util/Range;" since="31" />
+		<method name="getMaxInputChannelCount()I" />
+		<method name="getMinInputChannelCount()I" since="31" />
+		<method name="getSupportedSampleRateRanges()[Landroid/util/Range;" />
+		<method name="getSupportedSampleRates()[I" />
+		<method name="isSampleRateSupported(I)Z" />
+	</class>
+	<class name="android/media/MediaCodecInfo$CodecCapabilities" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createFromProfileLevel(Ljava/lang/String;II)Landroid/media/MediaCodecInfo$CodecCapabilities;" since="21" />
+		<method name="getAudioCapabilities()Landroid/media/MediaCodecInfo$AudioCapabilities;" since="21" />
+		<method name="getDefaultFormat()Landroid/media/MediaFormat;" since="21" />
+		<method name="getEncoderCapabilities()Landroid/media/MediaCodecInfo$EncoderCapabilities;" since="21" />
+		<method name="getMaxSupportedInstances()I" since="23" />
+		<method name="getMimeType()Ljava/lang/String;" since="21" />
+		<method name="getVideoCapabilities()Landroid/media/MediaCodecInfo$VideoCapabilities;" since="21" />
+		<method name="isFeatureRequired(Ljava/lang/String;)Z" since="21" />
+		<method name="isFeatureSupported(Ljava/lang/String;)Z" since="19" />
+		<method name="isFormatSupported(Landroid/media/MediaFormat;)Z" since="21" />
+		<field name="COLOR_Format12bitRGB444" deprecated="23" />
+		<field name="COLOR_Format16bitARGB1555" deprecated="23" />
+		<field name="COLOR_Format16bitARGB4444" deprecated="23" />
+		<field name="COLOR_Format16bitBGR565" deprecated="23" />
+		<field name="COLOR_Format16bitRGB565" />
+		<field name="COLOR_Format18BitBGR666" deprecated="23" />
+		<field name="COLOR_Format18bitARGB1665" deprecated="23" />
+		<field name="COLOR_Format18bitRGB666" deprecated="23" />
+		<field name="COLOR_Format19bitARGB1666" deprecated="23" />
+		<field name="COLOR_Format24BitABGR6666" deprecated="23" />
+		<field name="COLOR_Format24BitARGB6666" deprecated="23" />
+		<field name="COLOR_Format24bitARGB1887" deprecated="23" />
+		<field name="COLOR_Format24bitBGR888" />
+		<field name="COLOR_Format24bitRGB888" deprecated="23" />
+		<field name="COLOR_Format25bitARGB1888" deprecated="23" />
+		<field name="COLOR_Format32bitABGR8888" since="23" />
+		<field name="COLOR_Format32bitARGB8888" deprecated="23" />
+		<field name="COLOR_Format32bitBGRA8888" deprecated="23" />
+		<field name="COLOR_Format8bitRGB332" deprecated="23" />
+		<field name="COLOR_FormatCbYCrY" deprecated="23" />
+		<field name="COLOR_FormatCrYCbY" deprecated="23" />
+		<field name="COLOR_FormatL16" />
+		<field name="COLOR_FormatL2" deprecated="23" />
+		<field name="COLOR_FormatL24" deprecated="23" />
+		<field name="COLOR_FormatL32" deprecated="23" />
+		<field name="COLOR_FormatL4" deprecated="23" />
+		<field name="COLOR_FormatL8" />
+		<field name="COLOR_FormatMonochrome" deprecated="23" />
+		<field name="COLOR_FormatRGBAFlexible" since="23" />
+		<field name="COLOR_FormatRGBFlexible" since="23" />
+		<field name="COLOR_FormatRawBayer10bit" />
+		<field name="COLOR_FormatRawBayer8bit" />
+		<field name="COLOR_FormatRawBayer8bitcompressed" />
+		<field name="COLOR_FormatSurface" since="18" />
+		<field name="COLOR_FormatYCbYCr" deprecated="23" />
+		<field name="COLOR_FormatYCrYCb" deprecated="23" />
+		<field name="COLOR_FormatYUV411PackedPlanar" deprecated="23" />
+		<field name="COLOR_FormatYUV411Planar" deprecated="23" />
+		<field name="COLOR_FormatYUV420Flexible" since="21" />
+		<field name="COLOR_FormatYUV420PackedPlanar" deprecated="23" />
+		<field name="COLOR_FormatYUV420PackedSemiPlanar" deprecated="23" />
+		<field name="COLOR_FormatYUV420Planar" deprecated="23" />
+		<field name="COLOR_FormatYUV420SemiPlanar" deprecated="23" />
+		<field name="COLOR_FormatYUV422Flexible" since="23" />
+		<field name="COLOR_FormatYUV422PackedPlanar" deprecated="23" />
+		<field name="COLOR_FormatYUV422PackedSemiPlanar" deprecated="23" />
+		<field name="COLOR_FormatYUV422Planar" deprecated="23" />
+		<field name="COLOR_FormatYUV422SemiPlanar" deprecated="23" />
+		<field name="COLOR_FormatYUV444Flexible" since="23" />
+		<field name="COLOR_FormatYUV444Interleaved" deprecated="23" />
+		<field name="COLOR_QCOM_FormatYUV420SemiPlanar" deprecated="23" />
+		<field name="COLOR_TI_FormatYUV420PackedSemiPlanar" deprecated="23" />
+		<field name="FEATURE_AdaptivePlayback" since="19" />
+		<field name="FEATURE_DynamicTimestamp" since="29" />
+		<field name="FEATURE_FrameParsing" since="29" />
+		<field name="FEATURE_IntraRefresh" since="24" />
+		<field name="FEATURE_LowLatency" since="30" />
+		<field name="FEATURE_MultipleFrames" since="29" />
+		<field name="FEATURE_PartialFrame" since="26" />
+		<field name="FEATURE_QpBounds" since="31" />
+		<field name="FEATURE_SecurePlayback" since="21" />
+		<field name="FEATURE_TunneledPlayback" since="21" />
+		<field name="colorFormats" />
+		<field name="profileLevels" />
+	</class>
+	<class name="android/media/MediaCodecInfo$CodecProfileLevel" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="AACObjectELD" />
+		<field name="AACObjectERLC" />
+		<field name="AACObjectERScalable" since="26" />
+		<field name="AACObjectHE" />
+		<field name="AACObjectHE_PS" />
+		<field name="AACObjectLC" />
+		<field name="AACObjectLD" />
+		<field name="AACObjectLTP" />
+		<field name="AACObjectMain" />
+		<field name="AACObjectSSR" />
+		<field name="AACObjectScalable" />
+		<field name="AACObjectXHE" since="28" />
+		<field name="AV1Level2" since="29" />
+		<field name="AV1Level21" since="29" />
+		<field name="AV1Level22" since="29" />
+		<field name="AV1Level23" since="29" />
+		<field name="AV1Level3" since="29" />
+		<field name="AV1Level31" since="29" />
+		<field name="AV1Level32" since="29" />
+		<field name="AV1Level33" since="29" />
+		<field name="AV1Level4" since="29" />
+		<field name="AV1Level41" since="29" />
+		<field name="AV1Level42" since="29" />
+		<field name="AV1Level43" since="29" />
+		<field name="AV1Level5" since="29" />
+		<field name="AV1Level51" since="29" />
+		<field name="AV1Level52" since="29" />
+		<field name="AV1Level53" since="29" />
+		<field name="AV1Level6" since="29" />
+		<field name="AV1Level61" since="29" />
+		<field name="AV1Level62" since="29" />
+		<field name="AV1Level63" since="29" />
+		<field name="AV1Level7" since="29" />
+		<field name="AV1Level71" since="29" />
+		<field name="AV1Level72" since="29" />
+		<field name="AV1Level73" since="29" />
+		<field name="AV1ProfileMain10" since="29" />
+		<field name="AV1ProfileMain10HDR10" since="29" />
+		<field name="AV1ProfileMain10HDR10Plus" since="29" />
+		<field name="AV1ProfileMain8" since="29" />
+		<field name="AVCLevel1" />
+		<field name="AVCLevel11" />
+		<field name="AVCLevel12" />
+		<field name="AVCLevel13" />
+		<field name="AVCLevel1b" />
+		<field name="AVCLevel2" />
+		<field name="AVCLevel21" />
+		<field name="AVCLevel22" />
+		<field name="AVCLevel3" />
+		<field name="AVCLevel31" />
+		<field name="AVCLevel32" />
+		<field name="AVCLevel4" />
+		<field name="AVCLevel41" />
+		<field name="AVCLevel42" />
+		<field name="AVCLevel5" />
+		<field name="AVCLevel51" />
+		<field name="AVCLevel52" since="21" />
+		<field name="AVCLevel6" since="29" />
+		<field name="AVCLevel61" since="29" />
+		<field name="AVCLevel62" since="29" />
+		<field name="AVCProfileBaseline" />
+		<field name="AVCProfileConstrainedBaseline" since="27" />
+		<field name="AVCProfileConstrainedHigh" since="27" />
+		<field name="AVCProfileExtended" />
+		<field name="AVCProfileHigh" />
+		<field name="AVCProfileHigh10" />
+		<field name="AVCProfileHigh422" />
+		<field name="AVCProfileHigh444" />
+		<field name="AVCProfileMain" />
+		<field name="DolbyVisionLevelFhd24" since="24" />
+		<field name="DolbyVisionLevelFhd30" since="24" />
+		<field name="DolbyVisionLevelFhd60" since="24" />
+		<field name="DolbyVisionLevelHd24" since="24" />
+		<field name="DolbyVisionLevelHd30" since="24" />
+		<field name="DolbyVisionLevelUhd24" since="24" />
+		<field name="DolbyVisionLevelUhd30" since="24" />
+		<field name="DolbyVisionLevelUhd48" since="24" />
+		<field name="DolbyVisionLevelUhd60" since="24" />
+		<field name="DolbyVisionProfileDvav110" since="30" />
+		<field name="DolbyVisionProfileDvavPen" since="24" />
+		<field name="DolbyVisionProfileDvavPer" since="24" />
+		<field name="DolbyVisionProfileDvavSe" since="27" />
+		<field name="DolbyVisionProfileDvheDen" since="24" />
+		<field name="DolbyVisionProfileDvheDer" since="24" />
+		<field name="DolbyVisionProfileDvheDtb" since="24" />
+		<field name="DolbyVisionProfileDvheDth" since="24" />
+		<field name="DolbyVisionProfileDvheDtr" since="24" />
+		<field name="DolbyVisionProfileDvheSt" since="27" />
+		<field name="DolbyVisionProfileDvheStn" since="24" />
+		<field name="H263Level10" />
+		<field name="H263Level20" />
+		<field name="H263Level30" />
+		<field name="H263Level40" />
+		<field name="H263Level45" />
+		<field name="H263Level50" />
+		<field name="H263Level60" />
+		<field name="H263Level70" />
+		<field name="H263ProfileBackwardCompatible" />
+		<field name="H263ProfileBaseline" />
+		<field name="H263ProfileH320Coding" />
+		<field name="H263ProfileHighCompression" />
+		<field name="H263ProfileHighLatency" />
+		<field name="H263ProfileISWV2" />
+		<field name="H263ProfileISWV3" />
+		<field name="H263ProfileInterlace" />
+		<field name="H263ProfileInternet" />
+		<field name="HEVCHighTierLevel1" since="21" />
+		<field name="HEVCHighTierLevel2" since="21" />
+		<field name="HEVCHighTierLevel21" since="21" />
+		<field name="HEVCHighTierLevel3" since="21" />
+		<field name="HEVCHighTierLevel31" since="21" />
+		<field name="HEVCHighTierLevel4" since="21" />
+		<field name="HEVCHighTierLevel41" since="21" />
+		<field name="HEVCHighTierLevel5" since="21" />
+		<field name="HEVCHighTierLevel51" since="21" />
+		<field name="HEVCHighTierLevel52" since="21" />
+		<field name="HEVCHighTierLevel6" since="21" />
+		<field name="HEVCHighTierLevel61" since="21" />
+		<field name="HEVCHighTierLevel62" since="21" />
+		<field name="HEVCMainTierLevel1" since="21" />
+		<field name="HEVCMainTierLevel2" since="21" />
+		<field name="HEVCMainTierLevel21" since="21" />
+		<field name="HEVCMainTierLevel3" since="21" />
+		<field name="HEVCMainTierLevel31" since="21" />
+		<field name="HEVCMainTierLevel4" since="21" />
+		<field name="HEVCMainTierLevel41" since="21" />
+		<field name="HEVCMainTierLevel5" since="21" />
+		<field name="HEVCMainTierLevel51" since="21" />
+		<field name="HEVCMainTierLevel52" since="21" />
+		<field name="HEVCMainTierLevel6" since="21" />
+		<field name="HEVCMainTierLevel61" since="21" />
+		<field name="HEVCMainTierLevel62" since="21" />
+		<field name="HEVCProfileMain" since="21" />
+		<field name="HEVCProfileMain10" since="21" />
+		<field name="HEVCProfileMain10HDR10" since="24" />
+		<field name="HEVCProfileMain10HDR10Plus" since="29" />
+		<field name="HEVCProfileMainStill" since="28" />
+		<field name="MPEG2LevelH14" since="23" />
+		<field name="MPEG2LevelHL" since="23" />
+		<field name="MPEG2LevelHP" since="24" />
+		<field name="MPEG2LevelLL" since="23" />
+		<field name="MPEG2LevelML" since="23" />
+		<field name="MPEG2Profile422" since="23" />
+		<field name="MPEG2ProfileHigh" since="23" />
+		<field name="MPEG2ProfileMain" since="23" />
+		<field name="MPEG2ProfileSNR" since="23" />
+		<field name="MPEG2ProfileSimple" since="23" />
+		<field name="MPEG2ProfileSpatial" since="23" />
+		<field name="MPEG4Level0" />
+		<field name="MPEG4Level0b" />
+		<field name="MPEG4Level1" />
+		<field name="MPEG4Level2" />
+		<field name="MPEG4Level3" />
+		<field name="MPEG4Level3b" since="24" />
+		<field name="MPEG4Level4" />
+		<field name="MPEG4Level4a" />
+		<field name="MPEG4Level5" />
+		<field name="MPEG4Level6" since="24" />
+		<field name="MPEG4ProfileAdvancedCoding" />
+		<field name="MPEG4ProfileAdvancedCore" />
+		<field name="MPEG4ProfileAdvancedRealTime" />
+		<field name="MPEG4ProfileAdvancedScalable" />
+		<field name="MPEG4ProfileAdvancedSimple" />
+		<field name="MPEG4ProfileBasicAnimated" />
+		<field name="MPEG4ProfileCore" />
+		<field name="MPEG4ProfileCoreScalable" />
+		<field name="MPEG4ProfileHybrid" />
+		<field name="MPEG4ProfileMain" />
+		<field name="MPEG4ProfileNbit" />
+		<field name="MPEG4ProfileScalableTexture" />
+		<field name="MPEG4ProfileSimple" />
+		<field name="MPEG4ProfileSimpleFBA" />
+		<field name="MPEG4ProfileSimpleFace" />
+		<field name="MPEG4ProfileSimpleScalable" />
+		<field name="VP8Level_Version0" since="18" />
+		<field name="VP8Level_Version1" since="18" />
+		<field name="VP8Level_Version2" since="18" />
+		<field name="VP8Level_Version3" since="18" />
+		<field name="VP8ProfileMain" since="18" />
+		<field name="VP9Level1" since="24" />
+		<field name="VP9Level11" since="24" />
+		<field name="VP9Level2" since="24" />
+		<field name="VP9Level21" since="24" />
+		<field name="VP9Level3" since="24" />
+		<field name="VP9Level31" since="24" />
+		<field name="VP9Level4" since="24" />
+		<field name="VP9Level41" since="24" />
+		<field name="VP9Level5" since="24" />
+		<field name="VP9Level51" since="24" />
+		<field name="VP9Level52" since="24" />
+		<field name="VP9Level6" since="24" />
+		<field name="VP9Level61" since="24" />
+		<field name="VP9Level62" since="24" />
+		<field name="VP9Profile0" since="24" />
+		<field name="VP9Profile1" since="24" />
+		<field name="VP9Profile2" since="24" />
+		<field name="VP9Profile2HDR" since="24" />
+		<field name="VP9Profile2HDR10Plus" since="29" />
+		<field name="VP9Profile3" since="24" />
+		<field name="VP9Profile3HDR" since="24" />
+		<field name="VP9Profile3HDR10Plus" since="29" />
+		<field name="level" />
+		<field name="profile" />
+	</class>
+	<class name="android/media/MediaCodecInfo$EncoderCapabilities" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getComplexityRange()Landroid/util/Range;" />
+		<method name="getQualityRange()Landroid/util/Range;" since="28" />
+		<method name="isBitrateModeSupported(I)Z" />
+		<field name="BITRATE_MODE_CBR" />
+		<field name="BITRATE_MODE_CBR_FD" since="31" />
+		<field name="BITRATE_MODE_CQ" />
+		<field name="BITRATE_MODE_VBR" />
+	</class>
+	<class name="android/media/MediaCodecInfo$VideoCapabilities" since="21">
+		<extends name="java/lang/Object" />
+		<method name="areSizeAndRateSupported(IID)Z" />
+		<method name="getAchievableFrameRatesFor(II)Landroid/util/Range;" since="23" />
+		<method name="getBitrateRange()Landroid/util/Range;" />
+		<method name="getHeightAlignment()I" />
+		<method name="getSupportedFrameRates()Landroid/util/Range;" />
+		<method name="getSupportedFrameRatesFor(II)Landroid/util/Range;" />
+		<method name="getSupportedHeights()Landroid/util/Range;" />
+		<method name="getSupportedHeightsFor(I)Landroid/util/Range;" />
+		<method name="getSupportedPerformancePoints()Ljava/util/List;" since="29" />
+		<method name="getSupportedWidths()Landroid/util/Range;" />
+		<method name="getSupportedWidthsFor(I)Landroid/util/Range;" />
+		<method name="getWidthAlignment()I" />
+		<method name="isSizeSupported(II)Z" />
+	</class>
+	<class name="android/media/MediaCodecInfo$VideoCapabilities$PerformancePoint" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="covers(Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;)Z" />
+		<method name="covers(Landroid/media/MediaFormat;)Z" />
+		<field name="FHD_100" />
+		<field name="FHD_120" />
+		<field name="FHD_200" />
+		<field name="FHD_24" />
+		<field name="FHD_240" />
+		<field name="FHD_25" />
+		<field name="FHD_30" />
+		<field name="FHD_50" />
+		<field name="FHD_60" />
+		<field name="HD_100" />
+		<field name="HD_120" />
+		<field name="HD_200" />
+		<field name="HD_24" />
+		<field name="HD_240" />
+		<field name="HD_25" />
+		<field name="HD_30" />
+		<field name="HD_50" />
+		<field name="HD_60" />
+		<field name="SD_24" />
+		<field name="SD_25" />
+		<field name="SD_30" />
+		<field name="SD_48" />
+		<field name="SD_50" />
+		<field name="SD_60" />
+		<field name="UHD_100" />
+		<field name="UHD_120" />
+		<field name="UHD_200" />
+		<field name="UHD_24" />
+		<field name="UHD_240" />
+		<field name="UHD_25" />
+		<field name="UHD_30" />
+		<field name="UHD_50" />
+		<field name="UHD_60" />
+	</class>
+	<class name="android/media/MediaCodecList" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" since="21" />
+		<method name="findDecoderForFormat(Landroid/media/MediaFormat;)Ljava/lang/String;" since="21" />
+		<method name="findEncoderForFormat(Landroid/media/MediaFormat;)Ljava/lang/String;" since="21" />
+		<method name="getCodecCount()I" deprecated="21" />
+		<method name="getCodecInfoAt(I)Landroid/media/MediaCodecInfo;" deprecated="21" />
+		<method name="getCodecInfos()[Landroid/media/MediaCodecInfo;" since="21" />
+		<field name="ALL_CODECS" since="21" />
+		<field name="REGULAR_CODECS" since="21" />
+	</class>
+	<class name="android/media/MediaCrypto" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/util/UUID;[B)V" />
+		<method name="isCryptoSchemeSupported(Ljava/util/UUID;)Z" />
+		<method name="release()V" />
+		<method name="requiresSecureDecoderComponent(Ljava/lang/String;)Z" />
+		<method name="setMediaDrmSession([B)V" since="23" />
+	</class>
+	<class name="android/media/MediaCryptoException" since="16">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/MediaDataSource" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getSize()J" />
+		<method name="readAt(J[BII)I" />
+	</class>
+	<class name="android/media/MediaDescrambler" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="descramble(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Landroid/media/MediaCodec$CryptoInfo;)I" />
+		<method name="requiresSecureDecoderComponent(Ljava/lang/String;)Z" />
+		<method name="setMediaCasSession(Landroid/media/MediaCas$Session;)V" />
+		<field name="SCRAMBLE_CONTROL_EVEN_KEY" since="28" />
+		<field name="SCRAMBLE_CONTROL_ODD_KEY" since="28" />
+		<field name="SCRAMBLE_CONTROL_RESERVED" since="28" />
+		<field name="SCRAMBLE_CONTROL_UNSCRAMBLED" since="28" />
+		<field name="SCRAMBLE_FLAG_PES_HEADER" since="28" />
+	</class>
+	<class name="android/media/MediaDescription" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDescription()Ljava/lang/CharSequence;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getIconBitmap()Landroid/graphics/Bitmap;" />
+		<method name="getIconUri()Landroid/net/Uri;" />
+		<method name="getMediaId()Ljava/lang/String;" />
+		<method name="getMediaUri()Landroid/net/Uri;" since="23" />
+		<method name="getSubtitle()Ljava/lang/CharSequence;" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<field name="BT_FOLDER_TYPE_ALBUMS" since="26" />
+		<field name="BT_FOLDER_TYPE_ARTISTS" since="26" />
+		<field name="BT_FOLDER_TYPE_GENRES" since="26" />
+		<field name="BT_FOLDER_TYPE_MIXED" since="26" />
+		<field name="BT_FOLDER_TYPE_PLAYLISTS" since="26" />
+		<field name="BT_FOLDER_TYPE_TITLES" since="26" />
+		<field name="BT_FOLDER_TYPE_YEARS" since="26" />
+		<field name="CREATOR" />
+		<field name="EXTRA_BT_FOLDER_TYPE" since="26" />
+	</class>
+	<class name="android/media/MediaDescription$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/media/MediaDescription;" />
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/media/MediaDescription$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/MediaDescription$Builder;" />
+		<method name="setIconBitmap(Landroid/graphics/Bitmap;)Landroid/media/MediaDescription$Builder;" />
+		<method name="setIconUri(Landroid/net/Uri;)Landroid/media/MediaDescription$Builder;" />
+		<method name="setMediaId(Ljava/lang/String;)Landroid/media/MediaDescription$Builder;" />
+		<method name="setMediaUri(Landroid/net/Uri;)Landroid/media/MediaDescription$Builder;" since="23" />
+		<method name="setSubtitle(Ljava/lang/CharSequence;)Landroid/media/MediaDescription$Builder;" />
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/media/MediaDescription$Builder;" />
+	</class>
+	<class name="android/media/MediaDrm" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="28" />
+		<method name="&lt;init&gt;(Ljava/util/UUID;)V" />
+		<method name="clearOnEventListener()V" since="29" />
+		<method name="clearOnExpirationUpdateListener()V" since="29" />
+		<method name="clearOnKeyStatusChangeListener()V" since="29" />
+		<method name="clearOnSessionLostStateListener()V" since="29" />
+		<method name="closeSession([B)V" />
+		<method name="getConnectedHdcpLevel()I" since="28" />
+		<method name="getCryptoSession([BLjava/lang/String;Ljava/lang/String;)Landroid/media/MediaDrm$CryptoSession;" />
+		<method name="getKeyRequest([B[BLjava/lang/String;ILjava/util/HashMap;)Landroid/media/MediaDrm$KeyRequest;" />
+		<method name="getLogMessages()Ljava/util/List;" since="31" />
+		<method name="getMaxHdcpLevel()I" since="28" />
+		<method name="getMaxSecurityLevel()I" since="28" />
+		<method name="getMaxSessionCount()I" since="28" />
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="28" />
+		<method name="getOfflineLicenseKeySetIds()Ljava/util/List;" since="29" />
+		<method name="getOfflineLicenseState([B)I" since="29" />
+		<method name="getOpenSessionCount()I" since="28" />
+		<method name="getPlaybackComponent([B)Landroid/media/MediaDrm$PlaybackComponent;" since="31" />
+		<method name="getPropertyByteArray(Ljava/lang/String;)[B" />
+		<method name="getPropertyString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getProvisionRequest()Landroid/media/MediaDrm$ProvisionRequest;" />
+		<method name="getSecureStop([B)[B" since="22" />
+		<method name="getSecureStopIds()Ljava/util/List;" since="28" />
+		<method name="getSecureStops()Ljava/util/List;" />
+		<method name="getSecurityLevel([B)I" since="28" />
+		<method name="getSupportedCryptoSchemes()Ljava/util/List;" since="30" />
+		<method name="isCryptoSchemeSupported(Ljava/util/UUID;)Z" />
+		<method name="isCryptoSchemeSupported(Ljava/util/UUID;Ljava/lang/String;)Z" since="19" />
+		<method name="isCryptoSchemeSupported(Ljava/util/UUID;Ljava/lang/String;I)Z" since="29" />
+		<method name="openSession()[B" />
+		<method name="openSession(I)[B" since="28" />
+		<method name="provideKeyResponse([B[B)[B" />
+		<method name="provideProvisionResponse([B)V" />
+		<method name="queryKeyStatus([B)Ljava/util/HashMap;" />
+		<method name="release()V" deprecated="28" />
+		<method name="releaseAllSecureStops()V" since="22" deprecated="28" />
+		<method name="releaseSecureStops([B)V" />
+		<method name="removeAllSecureStops()V" since="28" />
+		<method name="removeKeys([B)V" />
+		<method name="removeOfflineLicense([B)V" since="29" />
+		<method name="removeSecureStop([B)V" since="28" />
+		<method name="requiresSecureDecoder(Ljava/lang/String;)Z" since="31" />
+		<method name="requiresSecureDecoder(Ljava/lang/String;I)Z" since="31" />
+		<method name="restoreKeys([B[B)V" />
+		<method name="setOnEventListener(Landroid/media/MediaDrm$OnEventListener;)V" />
+		<method name="setOnEventListener(Landroid/media/MediaDrm$OnEventListener;Landroid/os/Handler;)V" since="29" />
+		<method name="setOnEventListener(Ljava/util/concurrent/Executor;Landroid/media/MediaDrm$OnEventListener;)V" since="29" />
+		<method name="setOnExpirationUpdateListener(Landroid/media/MediaDrm$OnExpirationUpdateListener;Landroid/os/Handler;)V" since="23" />
+		<method name="setOnExpirationUpdateListener(Ljava/util/concurrent/Executor;Landroid/media/MediaDrm$OnExpirationUpdateListener;)V" since="29" />
+		<method name="setOnKeyStatusChangeListener(Landroid/media/MediaDrm$OnKeyStatusChangeListener;Landroid/os/Handler;)V" since="23" />
+		<method name="setOnKeyStatusChangeListener(Ljava/util/concurrent/Executor;Landroid/media/MediaDrm$OnKeyStatusChangeListener;)V" since="29" />
+		<method name="setOnSessionLostStateListener(Landroid/media/MediaDrm$OnSessionLostStateListener;Landroid/os/Handler;)V" since="29" />
+		<method name="setOnSessionLostStateListener(Ljava/util/concurrent/Executor;Landroid/media/MediaDrm$OnSessionLostStateListener;)V" since="29" />
+		<method name="setPropertyByteArray(Ljava/lang/String;[B)V" />
+		<method name="setPropertyString(Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="EVENT_KEY_EXPIRED" deprecated="26" />
+		<field name="EVENT_KEY_REQUIRED" />
+		<field name="EVENT_PROVISION_REQUIRED" deprecated="23" />
+		<field name="EVENT_SESSION_RECLAIMED" since="23" />
+		<field name="EVENT_VENDOR_DEFINED" />
+		<field name="HDCP_LEVEL_UNKNOWN" since="28" />
+		<field name="HDCP_NONE" since="28" />
+		<field name="HDCP_NO_DIGITAL_OUTPUT" since="28" />
+		<field name="HDCP_V1" since="28" />
+		<field name="HDCP_V2" since="28" />
+		<field name="HDCP_V2_1" since="28" />
+		<field name="HDCP_V2_2" since="28" />
+		<field name="HDCP_V2_3" since="29" />
+		<field name="KEY_TYPE_OFFLINE" />
+		<field name="KEY_TYPE_RELEASE" />
+		<field name="KEY_TYPE_STREAMING" />
+		<field name="OFFLINE_LICENSE_STATE_RELEASED" since="29" />
+		<field name="OFFLINE_LICENSE_STATE_UNKNOWN" since="29" />
+		<field name="OFFLINE_LICENSE_STATE_USABLE" since="29" />
+		<field name="PROPERTY_ALGORITHMS" />
+		<field name="PROPERTY_DESCRIPTION" />
+		<field name="PROPERTY_DEVICE_UNIQUE_ID" />
+		<field name="PROPERTY_VENDOR" />
+		<field name="PROPERTY_VERSION" />
+		<field name="SECURITY_LEVEL_HW_SECURE_ALL" since="28" />
+		<field name="SECURITY_LEVEL_HW_SECURE_CRYPTO" since="28" />
+		<field name="SECURITY_LEVEL_HW_SECURE_DECODE" since="28" />
+		<field name="SECURITY_LEVEL_SW_SECURE_CRYPTO" since="28" />
+		<field name="SECURITY_LEVEL_SW_SECURE_DECODE" since="28" />
+		<field name="SECURITY_LEVEL_UNKNOWN" since="28" />
+	</class>
+	<class name="android/media/MediaDrm$CryptoSession" since="18">
+		<extends name="java/lang/Object" />
+		<method name="decrypt([B[B[B)[B" />
+		<method name="encrypt([B[B[B)[B" />
+		<method name="sign([B[B)[B" />
+		<method name="verify([B[B[B)Z" />
+	</class>
+	<class name="android/media/MediaDrm$ErrorCodes" since="31">
+		<extends name="java/lang/Object" />
+		<field name="ERROR_CERTIFICATE_MALFORMED" />
+		<field name="ERROR_CERTIFICATE_MISSING" />
+		<field name="ERROR_CRYPTO_LIBRARY" />
+		<field name="ERROR_FRAME_TOO_LARGE" />
+		<field name="ERROR_GENERIC_OEM" />
+		<field name="ERROR_GENERIC_PLUGIN" />
+		<field name="ERROR_INIT_DATA" />
+		<field name="ERROR_INSUFFICIENT_OUTPUT_PROTECTION" />
+		<field name="ERROR_INSUFFICIENT_SECURITY" />
+		<field name="ERROR_KEY_EXPIRED" />
+		<field name="ERROR_KEY_NOT_LOADED" />
+		<field name="ERROR_LICENSE_PARSE" />
+		<field name="ERROR_LICENSE_POLICY" />
+		<field name="ERROR_LICENSE_RELEASE" />
+		<field name="ERROR_LICENSE_REQUEST_REJECTED" />
+		<field name="ERROR_LICENSE_RESTORE" />
+		<field name="ERROR_LICENSE_STATE" />
+		<field name="ERROR_LOST_STATE" />
+		<field name="ERROR_MEDIA_FRAMEWORK" />
+		<field name="ERROR_NO_KEY" />
+		<field name="ERROR_PROVISIONING_CERTIFICATE" />
+		<field name="ERROR_PROVISIONING_CONFIG" />
+		<field name="ERROR_PROVISIONING_PARSE" />
+		<field name="ERROR_PROVISIONING_REQUEST_REJECTED" />
+		<field name="ERROR_PROVISIONING_RETRY" />
+		<field name="ERROR_RESOURCE_BUSY" />
+		<field name="ERROR_RESOURCE_CONTENTION" />
+		<field name="ERROR_SECURE_STOP_RELEASE" />
+		<field name="ERROR_SESSION_NOT_OPENED" />
+		<field name="ERROR_STORAGE_READ" />
+		<field name="ERROR_STORAGE_WRITE" />
+		<field name="ERROR_UNKNOWN" />
+		<field name="ERROR_UNSUPPORTED_OPERATION" />
+		<field name="ERROR_ZERO_SUBSAMPLES" />
+	</class>
+	<class name="android/media/MediaDrm$HdcpLevel" since="28" deprecated="29">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="android/media/MediaDrm$KeyRequest" since="18">
+		<extends name="java/lang/Object" />
+		<method name="getData()[B" />
+		<method name="getDefaultUrl()Ljava/lang/String;" />
+		<method name="getRequestType()I" since="23" />
+		<field name="REQUEST_TYPE_INITIAL" since="23" />
+		<field name="REQUEST_TYPE_NONE" since="28" />
+		<field name="REQUEST_TYPE_RELEASE" since="23" />
+		<field name="REQUEST_TYPE_RENEWAL" since="23" />
+		<field name="REQUEST_TYPE_UPDATE" since="28" />
+	</class>
+	<class name="android/media/MediaDrm$KeyStatus" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getKeyId()[B" />
+		<method name="getStatusCode()I" />
+		<field name="STATUS_EXPIRED" />
+		<field name="STATUS_INTERNAL_ERROR" />
+		<field name="STATUS_OUTPUT_NOT_ALLOWED" />
+		<field name="STATUS_PENDING" />
+		<field name="STATUS_USABLE" />
+		<field name="STATUS_USABLE_IN_FUTURE" since="29" />
+	</class>
+	<class name="android/media/MediaDrm$LogMessage" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getMessage()Ljava/lang/String;" />
+		<method name="getPriority()I" />
+		<method name="getTimestampMillis()J" />
+	</class>
+	<class name="android/media/MediaDrm$MediaDrmStateException" since="21">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="getDiagnosticInfo()Ljava/lang/String;" />
+		<method name="getErrorCode()I" since="31" />
+		<method name="isTransient()Z" since="31" />
+	</class>
+	<class name="android/media/MediaDrm$MetricsConstants" since="28">
+		<extends name="java/lang/Object" />
+		<field name="CLOSE_SESSION_ERROR_COUNT" />
+		<field name="CLOSE_SESSION_ERROR_LIST" />
+		<field name="CLOSE_SESSION_OK_COUNT" />
+		<field name="EVENT_KEY_EXPIRED_COUNT" />
+		<field name="EVENT_KEY_NEEDED_COUNT" />
+		<field name="EVENT_PROVISION_REQUIRED_COUNT" />
+		<field name="EVENT_SESSION_RECLAIMED_COUNT" />
+		<field name="EVENT_VENDOR_DEFINED_COUNT" />
+		<field name="GET_DEVICE_UNIQUE_ID_ERROR_COUNT" />
+		<field name="GET_DEVICE_UNIQUE_ID_ERROR_LIST" />
+		<field name="GET_DEVICE_UNIQUE_ID_OK_COUNT" />
+		<field name="GET_KEY_REQUEST_ERROR_COUNT" />
+		<field name="GET_KEY_REQUEST_ERROR_LIST" />
+		<field name="GET_KEY_REQUEST_OK_COUNT" />
+		<field name="GET_KEY_REQUEST_OK_TIME_MICROS" />
+		<field name="GET_PROVISION_REQUEST_ERROR_COUNT" />
+		<field name="GET_PROVISION_REQUEST_ERROR_LIST" />
+		<field name="GET_PROVISION_REQUEST_OK_COUNT" />
+		<field name="KEY_STATUS_EXPIRED_COUNT" />
+		<field name="KEY_STATUS_INTERNAL_ERROR_COUNT" />
+		<field name="KEY_STATUS_OUTPUT_NOT_ALLOWED_COUNT" />
+		<field name="KEY_STATUS_PENDING_COUNT" />
+		<field name="KEY_STATUS_USABLE_COUNT" />
+		<field name="OPEN_SESSION_ERROR_COUNT" />
+		<field name="OPEN_SESSION_ERROR_LIST" />
+		<field name="OPEN_SESSION_OK_COUNT" />
+		<field name="PROVIDE_KEY_RESPONSE_ERROR_COUNT" />
+		<field name="PROVIDE_KEY_RESPONSE_ERROR_LIST" />
+		<field name="PROVIDE_KEY_RESPONSE_OK_COUNT" />
+		<field name="PROVIDE_KEY_RESPONSE_OK_TIME_MICROS" />
+		<field name="PROVIDE_PROVISION_RESPONSE_ERROR_COUNT" />
+		<field name="PROVIDE_PROVISION_RESPONSE_ERROR_LIST" />
+		<field name="PROVIDE_PROVISION_RESPONSE_OK_COUNT" />
+		<field name="SESSION_END_TIMES_MS" />
+		<field name="SESSION_START_TIMES_MS" />
+	</class>
+	<class name="android/media/MediaDrm$OnEventListener" since="18">
+		<extends name="java/lang/Object" />
+		<method name="onEvent(Landroid/media/MediaDrm;[BII[B)V" />
+	</class>
+	<class name="android/media/MediaDrm$OnExpirationUpdateListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onExpirationUpdate(Landroid/media/MediaDrm;[BJ)V" />
+	</class>
+	<class name="android/media/MediaDrm$OnKeyStatusChangeListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onKeyStatusChange(Landroid/media/MediaDrm;[BLjava/util/List;Z)V" />
+	</class>
+	<class name="android/media/MediaDrm$OnSessionLostStateListener" since="29">
+		<extends name="java/lang/Object" />
+		<method name="onSessionLostState(Landroid/media/MediaDrm;[B)V" />
+	</class>
+	<class name="android/media/MediaDrm$PlaybackComponent" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;" />
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V" />
+	</class>
+	<class name="android/media/MediaDrm$ProvisionRequest" since="18">
+		<extends name="java/lang/Object" />
+		<method name="getData()[B" />
+		<method name="getDefaultUrl()Ljava/lang/String;" />
+	</class>
+	<class name="android/media/MediaDrm$SecurityLevel" since="28" deprecated="29">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="android/media/MediaDrm$SessionException" since="29">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" />
+		<method name="getErrorCode()I" deprecated="31" />
+		<method name="isTransient()Z" since="31" />
+		<field name="ERROR_RESOURCE_CONTENTION" deprecated="31" />
+		<field name="ERROR_UNKNOWN" deprecated="31" />
+	</class>
+	<class name="android/media/MediaDrmException" since="18">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/MediaDrmResetException" since="23">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/MediaExtractor" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="advance()Z" />
+		<method name="getAudioPresentations(I)Ljava/util/List;" since="28" />
+		<method name="getCachedDuration()J" />
+		<method name="getCasInfo(I)Landroid/media/MediaExtractor$CasInfo;" since="26" />
+		<method name="getDrmInitData()Landroid/media/DrmInitData;" since="24" />
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;" since="31" />
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="26" />
+		<method name="getPsshInfo()Ljava/util/Map;" since="18" />
+		<method name="getSampleCryptoInfo(Landroid/media/MediaCodec$CryptoInfo;)Z" />
+		<method name="getSampleFlags()I" />
+		<method name="getSampleSize()J" since="28" />
+		<method name="getSampleTime()J" />
+		<method name="getSampleTrackIndex()I" />
+		<method name="getTrackCount()I" />
+		<method name="getTrackFormat(I)Landroid/media/MediaFormat;" />
+		<method name="hasCacheReachedEndOfStream()Z" />
+		<method name="readSampleData(Ljava/nio/ByteBuffer;I)I" />
+		<method name="release()V" />
+		<method name="seekTo(JI)V" />
+		<method name="selectTrack(I)V" />
+		<method name="setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;)V" />
+		<method name="setDataSource(Landroid/content/res/AssetFileDescriptor;)V" since="24" />
+		<method name="setDataSource(Landroid/media/MediaDataSource;)V" since="23" />
+		<method name="setDataSource(Ljava/io/FileDescriptor;)V" />
+		<method name="setDataSource(Ljava/io/FileDescriptor;JJ)V" />
+		<method name="setDataSource(Ljava/lang/String;)V" />
+		<method name="setDataSource(Ljava/lang/String;Ljava/util/Map;)V" />
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V" since="31" />
+		<method name="setMediaCas(Landroid/media/MediaCas;)V" since="26" />
+		<method name="unselectTrack(I)V" />
+		<field name="SAMPLE_FLAG_ENCRYPTED" />
+		<field name="SAMPLE_FLAG_PARTIAL_FRAME" since="26" />
+		<field name="SAMPLE_FLAG_SYNC" />
+		<field name="SEEK_TO_CLOSEST_SYNC" />
+		<field name="SEEK_TO_NEXT_SYNC" />
+		<field name="SEEK_TO_PREVIOUS_SYNC" />
+	</class>
+	<class name="android/media/MediaExtractor$CasInfo" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getPrivateData()[B" since="29" />
+		<method name="getSession()Landroid/media/MediaCas$Session;" />
+		<method name="getSystemId()I" />
+	</class>
+	<class name="android/media/MediaExtractor$MetricsConstants" since="26">
+		<extends name="java/lang/Object" />
+		<field name="FORMAT" />
+		<field name="MIME_TYPE" />
+		<field name="TRACKS" />
+	</class>
+	<class name="android/media/MediaFormat" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/media/MediaFormat;)V" since="29" />
+		<method name="containsFeature(Ljava/lang/String;)Z" since="29" />
+		<method name="containsKey(Ljava/lang/String;)Z" />
+		<method name="createAudioFormat(Ljava/lang/String;II)Landroid/media/MediaFormat;" />
+		<method name="createSubtitleFormat(Ljava/lang/String;Ljava/lang/String;)Landroid/media/MediaFormat;" since="19" />
+		<method name="createVideoFormat(Ljava/lang/String;II)Landroid/media/MediaFormat;" />
+		<method name="getByteBuffer(Ljava/lang/String;)Ljava/nio/ByteBuffer;" />
+		<method name="getByteBuffer(Ljava/lang/String;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;" since="29" />
+		<method name="getFeatureEnabled(Ljava/lang/String;)Z" since="21" />
+		<method name="getFeatures()Ljava/util/Set;" since="29" />
+		<method name="getFloat(Ljava/lang/String;)F" />
+		<method name="getFloat(Ljava/lang/String;F)F" since="29" />
+		<method name="getInteger(Ljava/lang/String;)I" />
+		<method name="getInteger(Ljava/lang/String;I)I" since="29" />
+		<method name="getKeys()Ljava/util/Set;" since="29" />
+		<method name="getLong(Ljava/lang/String;)J" />
+		<method name="getLong(Ljava/lang/String;J)J" since="29" />
+		<method name="getNumber(Ljava/lang/String;)Ljava/lang/Number;" since="29" />
+		<method name="getNumber(Ljava/lang/String;Ljava/lang/Number;)Ljava/lang/Number;" since="29" />
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="29" />
+		<method name="getValueTypeForKey(Ljava/lang/String;)I" since="29" />
+		<method name="removeFeature(Ljava/lang/String;)V" since="29" />
+		<method name="removeKey(Ljava/lang/String;)V" since="29" />
+		<method name="setByteBuffer(Ljava/lang/String;Ljava/nio/ByteBuffer;)V" />
+		<method name="setFeatureEnabled(Ljava/lang/String;Z)V" since="21" />
+		<method name="setFloat(Ljava/lang/String;F)V" />
+		<method name="setInteger(Ljava/lang/String;I)V" />
+		<method name="setLong(Ljava/lang/String;J)V" />
+		<method name="setString(Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="COLOR_RANGE_FULL" since="24" />
+		<field name="COLOR_RANGE_LIMITED" since="24" />
+		<field name="COLOR_STANDARD_BT2020" since="24" />
+		<field name="COLOR_STANDARD_BT601_NTSC" since="24" />
+		<field name="COLOR_STANDARD_BT601_PAL" since="24" />
+		<field name="COLOR_STANDARD_BT709" since="24" />
+		<field name="COLOR_TRANSFER_HLG" since="24" />
+		<field name="COLOR_TRANSFER_LINEAR" since="24" />
+		<field name="COLOR_TRANSFER_SDR_VIDEO" since="24" />
+		<field name="COLOR_TRANSFER_ST2084" since="24" />
+		<field name="KEY_AAC_DRC_ALBUM_MODE" since="30" />
+		<field name="KEY_AAC_DRC_ATTENUATION_FACTOR" since="21" />
+		<field name="KEY_AAC_DRC_BOOST_FACTOR" since="21" />
+		<field name="KEY_AAC_DRC_EFFECT_TYPE" since="28" />
+		<field name="KEY_AAC_DRC_HEAVY_COMPRESSION" since="21" />
+		<field name="KEY_AAC_DRC_OUTPUT_LOUDNESS" since="30" />
+		<field name="KEY_AAC_DRC_TARGET_REFERENCE_LEVEL" since="21" />
+		<field name="KEY_AAC_ENCODED_TARGET_LEVEL" since="21" />
+		<field name="KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT" since="21" />
+		<field name="KEY_AAC_PROFILE" />
+		<field name="KEY_AAC_SBR_MODE" since="21" />
+		<field name="KEY_ALLOW_FRAME_DROP" since="31" />
+		<field name="KEY_AUDIO_SESSION_ID" since="21" />
+		<field name="KEY_BITRATE_MODE" since="21" />
+		<field name="KEY_BIT_RATE" />
+		<field name="KEY_CAPTION_SERVICE_NUMBER" since="30" />
+		<field name="KEY_CAPTURE_RATE" since="21" />
+		<field name="KEY_CHANNEL_COUNT" />
+		<field name="KEY_CHANNEL_MASK" />
+		<field name="KEY_CODECS_STRING" since="30" />
+		<field name="KEY_COLOR_FORMAT" />
+		<field name="KEY_COLOR_RANGE" since="24" />
+		<field name="KEY_COLOR_STANDARD" since="24" />
+		<field name="KEY_COLOR_TRANSFER" since="24" />
+		<field name="KEY_COLOR_TRANSFER_REQUEST" since="31" />
+		<field name="KEY_COMPLEXITY" since="21" />
+		<field name="KEY_CREATE_INPUT_SURFACE_SUSPENDED" since="29" />
+		<field name="KEY_DURATION" />
+		<field name="KEY_ENCODER_DELAY" since="30" />
+		<field name="KEY_ENCODER_PADDING" since="30" />
+		<field name="KEY_FLAC_COMPRESSION_LEVEL" />
+		<field name="KEY_FRAME_RATE" />
+		<field name="KEY_GRID_COLUMNS" since="28" />
+		<field name="KEY_GRID_ROWS" since="28" />
+		<field name="KEY_HAPTIC_CHANNEL_COUNT" since="29" />
+		<field name="KEY_HARDWARE_AV_SYNC_ID" since="30" />
+		<field name="KEY_HDR10_PLUS_INFO" since="29" />
+		<field name="KEY_HDR_STATIC_INFO" since="24" />
+		<field name="KEY_HEIGHT" />
+		<field name="KEY_INTRA_REFRESH_PERIOD" since="24" />
+		<field name="KEY_IS_ADTS" />
+		<field name="KEY_IS_AUTOSELECT" since="19" />
+		<field name="KEY_IS_DEFAULT" since="19" />
+		<field name="KEY_IS_FORCED_SUBTITLE" since="19" />
+		<field name="KEY_I_FRAME_INTERVAL" />
+		<field name="KEY_LANGUAGE" since="19" />
+		<field name="KEY_LATENCY" since="26" />
+		<field name="KEY_LEVEL" since="23" />
+		<field name="KEY_LOW_LATENCY" since="30" />
+		<field name="KEY_MAX_B_FRAMES" since="29" />
+		<field name="KEY_MAX_FPS_TO_ENCODER" since="29" />
+		<field name="KEY_MAX_HEIGHT" since="19" />
+		<field name="KEY_MAX_INPUT_SIZE" />
+		<field name="KEY_MAX_OUTPUT_CHANNEL_COUNT" since="33" />
+		<field name="KEY_MAX_PTS_GAP_TO_ENCODER" since="29" />
+		<field name="KEY_MAX_WIDTH" since="19" />
+		<field name="KEY_MIME" />
+		<field name="KEY_MPEGH_COMPATIBLE_SETS" since="31" />
+		<field name="KEY_MPEGH_PROFILE_LEVEL_INDICATION" since="31" />
+		<field name="KEY_MPEGH_REFERENCE_CHANNEL_LAYOUT" since="31" />
+		<field name="KEY_OPERATING_RATE" since="23" />
+		<field name="KEY_OUTPUT_REORDER_DEPTH" since="28" />
+		<field name="KEY_PCM_ENCODING" since="24" />
+		<field name="KEY_PIXEL_ASPECT_RATIO_HEIGHT" since="30" />
+		<field name="KEY_PIXEL_ASPECT_RATIO_WIDTH" since="30" />
+		<field name="KEY_PREPEND_HEADER_TO_SYNC_FRAMES" since="29" />
+		<field name="KEY_PRIORITY" since="23" />
+		<field name="KEY_PROFILE" since="21" />
+		<field name="KEY_PUSH_BLANK_BUFFERS_ON_STOP" since="19" />
+		<field name="KEY_QUALITY" since="28" />
+		<field name="KEY_REPEAT_PREVIOUS_FRAME_AFTER" since="19" />
+		<field name="KEY_ROTATION" since="23" />
+		<field name="KEY_SAMPLE_RATE" />
+		<field name="KEY_SLICE_HEIGHT" since="23" />
+		<field name="KEY_SLOW_MOTION_MARKERS" since="31" />
+		<field name="KEY_STRIDE" since="23" />
+		<field name="KEY_TEMPORAL_LAYERING" since="21" />
+		<field name="KEY_TILE_HEIGHT" since="28" />
+		<field name="KEY_TILE_WIDTH" since="28" />
+		<field name="KEY_TRACK_ID" since="24" />
+		<field name="KEY_VIDEO_QP_B_MAX" since="31" />
+		<field name="KEY_VIDEO_QP_B_MIN" since="31" />
+		<field name="KEY_VIDEO_QP_I_MAX" since="31" />
+		<field name="KEY_VIDEO_QP_I_MIN" since="31" />
+		<field name="KEY_VIDEO_QP_MAX" since="31" />
+		<field name="KEY_VIDEO_QP_MIN" since="31" />
+		<field name="KEY_VIDEO_QP_P_MAX" since="31" />
+		<field name="KEY_VIDEO_QP_P_MIN" since="31" />
+		<field name="KEY_WIDTH" />
+		<field name="MIMETYPE_AUDIO_AAC" since="21" />
+		<field name="MIMETYPE_AUDIO_AC3" since="21" />
+		<field name="MIMETYPE_AUDIO_AC4" since="29" />
+		<field name="MIMETYPE_AUDIO_AMR_NB" since="21" />
+		<field name="MIMETYPE_AUDIO_AMR_WB" since="21" />
+		<field name="MIMETYPE_AUDIO_EAC3" since="23" />
+		<field name="MIMETYPE_AUDIO_EAC3_JOC" since="29" />
+		<field name="MIMETYPE_AUDIO_FLAC" since="21" />
+		<field name="MIMETYPE_AUDIO_G711_ALAW" since="21" />
+		<field name="MIMETYPE_AUDIO_G711_MLAW" since="21" />
+		<field name="MIMETYPE_AUDIO_MPEG" since="21" />
+		<field name="MIMETYPE_AUDIO_MPEGH_MHA1" since="31" />
+		<field name="MIMETYPE_AUDIO_MPEGH_MHM1" since="31" />
+		<field name="MIMETYPE_AUDIO_MSGSM" since="21" />
+		<field name="MIMETYPE_AUDIO_OPUS" since="21" />
+		<field name="MIMETYPE_AUDIO_QCELP" since="21" />
+		<field name="MIMETYPE_AUDIO_RAW" since="21" />
+		<field name="MIMETYPE_AUDIO_SCRAMBLED" since="26" />
+		<field name="MIMETYPE_AUDIO_VORBIS" since="21" />
+		<field name="MIMETYPE_IMAGE_ANDROID_HEIC" since="28" />
+		<field name="MIMETYPE_TEXT_CEA_608" since="21" />
+		<field name="MIMETYPE_TEXT_CEA_708" since="28" />
+		<field name="MIMETYPE_TEXT_SUBRIP" since="28" />
+		<field name="MIMETYPE_TEXT_VTT" since="21" />
+		<field name="MIMETYPE_VIDEO_AV1" since="29" />
+		<field name="MIMETYPE_VIDEO_AVC" since="21" />
+		<field name="MIMETYPE_VIDEO_DOLBY_VISION" since="24" />
+		<field name="MIMETYPE_VIDEO_H263" since="21" />
+		<field name="MIMETYPE_VIDEO_HEVC" since="21" />
+		<field name="MIMETYPE_VIDEO_MPEG2" since="21" />
+		<field name="MIMETYPE_VIDEO_MPEG4" since="21" />
+		<field name="MIMETYPE_VIDEO_RAW" since="21" />
+		<field name="MIMETYPE_VIDEO_SCRAMBLED" since="26" />
+		<field name="MIMETYPE_VIDEO_VP8" since="21" />
+		<field name="MIMETYPE_VIDEO_VP9" since="21" />
+		<field name="TYPE_BYTE_BUFFER" since="29" />
+		<field name="TYPE_FLOAT" since="29" />
+		<field name="TYPE_INTEGER" since="29" />
+		<field name="TYPE_LONG" since="29" />
+		<field name="TYPE_NULL" since="29" />
+		<field name="TYPE_STRING" since="29" />
+	</class>
+	<class name="android/media/MediaMetadata" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="containsKey(Ljava/lang/String;)Z" />
+		<method name="getBitmap(Ljava/lang/String;)Landroid/graphics/Bitmap;" />
+		<method name="getBitmapDimensionLimit()I" since="31" />
+		<method name="getDescription()Landroid/media/MediaDescription;" />
+		<method name="getLong(Ljava/lang/String;)J" />
+		<method name="getRating(Ljava/lang/String;)Landroid/media/Rating;" />
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getText(Ljava/lang/String;)Ljava/lang/CharSequence;" />
+		<method name="keySet()Ljava/util/Set;" />
+		<method name="size()I" />
+		<field name="CREATOR" />
+		<field name="METADATA_KEY_ALBUM" />
+		<field name="METADATA_KEY_ALBUM_ART" />
+		<field name="METADATA_KEY_ALBUM_ARTIST" />
+		<field name="METADATA_KEY_ALBUM_ART_URI" />
+		<field name="METADATA_KEY_ART" />
+		<field name="METADATA_KEY_ARTIST" />
+		<field name="METADATA_KEY_ART_URI" />
+		<field name="METADATA_KEY_AUTHOR" />
+		<field name="METADATA_KEY_BT_FOLDER_TYPE" since="26" />
+		<field name="METADATA_KEY_COMPILATION" />
+		<field name="METADATA_KEY_COMPOSER" />
+		<field name="METADATA_KEY_DATE" />
+		<field name="METADATA_KEY_DISC_NUMBER" />
+		<field name="METADATA_KEY_DISPLAY_DESCRIPTION" />
+		<field name="METADATA_KEY_DISPLAY_ICON" />
+		<field name="METADATA_KEY_DISPLAY_ICON_URI" />
+		<field name="METADATA_KEY_DISPLAY_SUBTITLE" />
+		<field name="METADATA_KEY_DISPLAY_TITLE" />
+		<field name="METADATA_KEY_DURATION" />
+		<field name="METADATA_KEY_GENRE" />
+		<field name="METADATA_KEY_MEDIA_ID" />
+		<field name="METADATA_KEY_MEDIA_URI" since="26" />
+		<field name="METADATA_KEY_NUM_TRACKS" />
+		<field name="METADATA_KEY_RATING" />
+		<field name="METADATA_KEY_TITLE" />
+		<field name="METADATA_KEY_TRACK_NUMBER" />
+		<field name="METADATA_KEY_USER_RATING" />
+		<field name="METADATA_KEY_WRITER" />
+		<field name="METADATA_KEY_YEAR" />
+	</class>
+	<class name="android/media/MediaMetadata$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/media/MediaMetadata;)V" />
+		<method name="build()Landroid/media/MediaMetadata;" />
+		<method name="putBitmap(Ljava/lang/String;Landroid/graphics/Bitmap;)Landroid/media/MediaMetadata$Builder;" />
+		<method name="putLong(Ljava/lang/String;J)Landroid/media/MediaMetadata$Builder;" />
+		<method name="putRating(Ljava/lang/String;Landroid/media/Rating;)Landroid/media/MediaMetadata$Builder;" />
+		<method name="putString(Ljava/lang/String;Ljava/lang/String;)Landroid/media/MediaMetadata$Builder;" />
+		<method name="putText(Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/media/MediaMetadata$Builder;" />
+		<method name="setBitmapDimensionLimit(I)Landroid/media/MediaMetadata$Builder;" since="31" />
+	</class>
+	<class name="android/media/MediaMetadataEditor" since="19" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="addEditableKey(I)V" deprecated="29" />
+		<method name="apply()V" deprecated="29" />
+		<method name="clear()V" deprecated="29" />
+		<method name="getBitmap(ILandroid/graphics/Bitmap;)Landroid/graphics/Bitmap;" deprecated="29" />
+		<method name="getEditableKeys()[I" deprecated="29" />
+		<method name="getLong(IJ)J" deprecated="29" />
+		<method name="getObject(ILjava/lang/Object;)Ljava/lang/Object;" deprecated="29" />
+		<method name="getString(ILjava/lang/String;)Ljava/lang/String;" deprecated="29" />
+		<method name="putBitmap(ILandroid/graphics/Bitmap;)Landroid/media/MediaMetadataEditor;" deprecated="29" />
+		<method name="putLong(IJ)Landroid/media/MediaMetadataEditor;" deprecated="29" />
+		<method name="putObject(ILjava/lang/Object;)Landroid/media/MediaMetadataEditor;" deprecated="29" />
+		<method name="putString(ILjava/lang/String;)Landroid/media/MediaMetadataEditor;" deprecated="29" />
+		<method name="removeEditableKeys()V" deprecated="29" />
+		<field name="BITMAP_KEY_ARTWORK" deprecated="29" />
+		<field name="RATING_KEY_BY_OTHERS" deprecated="29" />
+		<field name="RATING_KEY_BY_USER" deprecated="29" />
+	</class>
+	<class name="android/media/MediaMetadataRetriever" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="29" />
+		<method name="&lt;init&gt;()V" />
+		<method name="extractMetadata(I)Ljava/lang/String;" />
+		<method name="getEmbeddedPicture()[B" />
+		<method name="getFrameAtIndex(I)Landroid/graphics/Bitmap;" since="28" />
+		<method name="getFrameAtIndex(ILandroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;" since="28" />
+		<method name="getFrameAtTime()Landroid/graphics/Bitmap;" />
+		<method name="getFrameAtTime(J)Landroid/graphics/Bitmap;" />
+		<method name="getFrameAtTime(JI)Landroid/graphics/Bitmap;" />
+		<method name="getFrameAtTime(JILandroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;" since="30" />
+		<method name="getFramesAtIndex(II)Ljava/util/List;" since="28" />
+		<method name="getFramesAtIndex(IILandroid/media/MediaMetadataRetriever$BitmapParams;)Ljava/util/List;" since="28" />
+		<method name="getImageAtIndex(I)Landroid/graphics/Bitmap;" since="28" />
+		<method name="getImageAtIndex(ILandroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;" since="28" />
+		<method name="getPrimaryImage()Landroid/graphics/Bitmap;" since="28" />
+		<method name="getPrimaryImage(Landroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;" since="28" />
+		<method name="getScaledFrameAtTime(JIII)Landroid/graphics/Bitmap;" since="27" />
+		<method name="getScaledFrameAtTime(JIIILandroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;" since="30" />
+		<method name="release()V" />
+		<method name="setDataSource(Landroid/content/Context;Landroid/net/Uri;)V" />
+		<method name="setDataSource(Landroid/media/MediaDataSource;)V" since="23" />
+		<method name="setDataSource(Ljava/io/FileDescriptor;)V" />
+		<method name="setDataSource(Ljava/io/FileDescriptor;JJ)V" />
+		<method name="setDataSource(Ljava/lang/String;)V" />
+		<method name="setDataSource(Ljava/lang/String;Ljava/util/Map;)V" since="14" />
+		<field name="METADATA_KEY_ALBUM" />
+		<field name="METADATA_KEY_ALBUMARTIST" />
+		<field name="METADATA_KEY_ARTIST" />
+		<field name="METADATA_KEY_AUTHOR" />
+		<field name="METADATA_KEY_BITRATE" since="14" />
+		<field name="METADATA_KEY_BITS_PER_SAMPLE" since="31" />
+		<field name="METADATA_KEY_CAPTURE_FRAMERATE" since="23" />
+		<field name="METADATA_KEY_CD_TRACK_NUMBER" />
+		<field name="METADATA_KEY_COLOR_RANGE" since="30" />
+		<field name="METADATA_KEY_COLOR_STANDARD" since="30" />
+		<field name="METADATA_KEY_COLOR_TRANSFER" since="30" />
+		<field name="METADATA_KEY_COMPILATION" />
+		<field name="METADATA_KEY_COMPOSER" />
+		<field name="METADATA_KEY_DATE" />
+		<field name="METADATA_KEY_DISC_NUMBER" />
+		<field name="METADATA_KEY_DURATION" />
+		<field name="METADATA_KEY_EXIF_LENGTH" since="29" />
+		<field name="METADATA_KEY_EXIF_OFFSET" since="29" />
+		<field name="METADATA_KEY_GENRE" />
+		<field name="METADATA_KEY_HAS_AUDIO" since="14" />
+		<field name="METADATA_KEY_HAS_IMAGE" since="28" />
+		<field name="METADATA_KEY_HAS_VIDEO" since="14" />
+		<field name="METADATA_KEY_IMAGE_COUNT" since="28" />
+		<field name="METADATA_KEY_IMAGE_HEIGHT" since="28" />
+		<field name="METADATA_KEY_IMAGE_PRIMARY" since="28" />
+		<field name="METADATA_KEY_IMAGE_ROTATION" since="28" />
+		<field name="METADATA_KEY_IMAGE_WIDTH" since="28" />
+		<field name="METADATA_KEY_LOCATION" since="15" />
+		<field name="METADATA_KEY_MIMETYPE" />
+		<field name="METADATA_KEY_NUM_TRACKS" />
+		<field name="METADATA_KEY_SAMPLERATE" since="31" />
+		<field name="METADATA_KEY_TITLE" />
+		<field name="METADATA_KEY_VIDEO_FRAME_COUNT" since="28" />
+		<field name="METADATA_KEY_VIDEO_HEIGHT" since="14" />
+		<field name="METADATA_KEY_VIDEO_ROTATION" since="17" />
+		<field name="METADATA_KEY_VIDEO_WIDTH" since="14" />
+		<field name="METADATA_KEY_WRITER" />
+		<field name="METADATA_KEY_XMP_LENGTH" since="31" />
+		<field name="METADATA_KEY_XMP_OFFSET" since="31" />
+		<field name="METADATA_KEY_YEAR" />
+		<field name="OPTION_CLOSEST" />
+		<field name="OPTION_CLOSEST_SYNC" />
+		<field name="OPTION_NEXT_SYNC" />
+		<field name="OPTION_PREVIOUS_SYNC" />
+	</class>
+	<class name="android/media/MediaMetadataRetriever$BitmapParams" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getActualConfig()Landroid/graphics/Bitmap$Config;" />
+		<method name="getPreferredConfig()Landroid/graphics/Bitmap$Config;" />
+		<method name="setPreferredConfig(Landroid/graphics/Bitmap$Config;)V" />
+	</class>
+	<class name="android/media/MediaMuxer" since="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/io/FileDescriptor;I)V" since="26" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="addTrack(Landroid/media/MediaFormat;)I" />
+		<method name="release()V" />
+		<method name="setLocation(FF)V" since="19" />
+		<method name="setOrientationHint(I)V" />
+		<method name="start()V" />
+		<method name="stop()V" />
+		<method name="writeSampleData(ILjava/nio/ByteBuffer;Landroid/media/MediaCodec$BufferInfo;)V" />
+	</class>
+	<class name="android/media/MediaMuxer$OutputFormat" since="18">
+		<extends name="java/lang/Object" />
+		<field name="MUXER_OUTPUT_3GPP" since="26" />
+		<field name="MUXER_OUTPUT_HEIF" since="28" />
+		<field name="MUXER_OUTPUT_MPEG_4" />
+		<field name="MUXER_OUTPUT_OGG" since="29" />
+		<field name="MUXER_OUTPUT_WEBM" since="21" />
+	</class>
+	<class name="android/media/MediaPlayer" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/AudioRouting" since="28" />
+		<implements name="android/media/VolumeAutomation" since="26" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addTimedTextSource(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;)V" since="16" />
+		<method name="addTimedTextSource(Ljava/io/FileDescriptor;JJLjava/lang/String;)V" since="16" />
+		<method name="addTimedTextSource(Ljava/io/FileDescriptor;Ljava/lang/String;)V" since="16" />
+		<method name="addTimedTextSource(Ljava/lang/String;Ljava/lang/String;)V" since="16" />
+		<method name="attachAuxEffect(I)V" since="9" />
+		<method name="clearOnMediaTimeDiscontinuityListener()V" since="28" />
+		<method name="clearOnSubtitleDataListener()V" since="28" />
+		<method name="create(Landroid/content/Context;I)Landroid/media/MediaPlayer;" />
+		<method name="create(Landroid/content/Context;ILandroid/media/AudioAttributes;I)Landroid/media/MediaPlayer;" since="21" />
+		<method name="create(Landroid/content/Context;Landroid/net/Uri;)Landroid/media/MediaPlayer;" />
+		<method name="create(Landroid/content/Context;Landroid/net/Uri;Landroid/view/SurfaceHolder;)Landroid/media/MediaPlayer;" />
+		<method name="create(Landroid/content/Context;Landroid/net/Uri;Landroid/view/SurfaceHolder;Landroid/media/AudioAttributes;I)Landroid/media/MediaPlayer;" since="21" />
+		<method name="deselectTrack(I)V" since="16" />
+		<method name="getAudioSessionId()I" since="9" />
+		<method name="getCurrentPosition()I" />
+		<method name="getDrmInfo()Landroid/media/MediaPlayer$DrmInfo;" since="26" />
+		<method name="getDrmPropertyString(Ljava/lang/String;)Ljava/lang/String;" since="26" />
+		<method name="getDuration()I" />
+		<method name="getKeyRequest([B[BLjava/lang/String;ILjava/util/Map;)Landroid/media/MediaDrm$KeyRequest;" since="26" />
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="26" />
+		<method name="getPlaybackParams()Landroid/media/PlaybackParams;" since="23" />
+		<method name="getSelectedTrack(I)I" since="21" />
+		<method name="getSyncParams()Landroid/media/SyncParams;" since="23" />
+		<method name="getTimestamp()Landroid/media/MediaTimestamp;" since="23" />
+		<method name="getTrackInfo()[Landroid/media/MediaPlayer$TrackInfo;" since="16" />
+		<method name="getVideoHeight()I" />
+		<method name="getVideoWidth()I" />
+		<method name="isLooping()Z" since="3" />
+		<method name="isPlaying()Z" />
+		<method name="pause()V" />
+		<method name="prepare()V" />
+		<method name="prepareAsync()V" />
+		<method name="prepareDrm(Ljava/util/UUID;)V" since="26" />
+		<method name="provideKeyResponse([B[B)[B" since="26" />
+		<method name="release()V" />
+		<method name="releaseDrm()V" since="26" />
+		<method name="reset()V" />
+		<method name="restoreKeys([B)V" since="26" />
+		<method name="seekTo(I)V" />
+		<method name="seekTo(JI)V" since="26" />
+		<method name="selectTrack(I)V" since="16" />
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)V" since="21" />
+		<method name="setAudioSessionId(I)V" since="9" />
+		<method name="setAudioStreamType(I)V" deprecated="26" />
+		<method name="setAuxEffectSendLevel(F)V" since="9" />
+		<method name="setDataSource(Landroid/content/Context;Landroid/net/Uri;)V" />
+		<method name="setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;)V" since="14" />
+		<method name="setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;Ljava/util/List;)V" since="26" />
+		<method name="setDataSource(Landroid/content/res/AssetFileDescriptor;)V" since="24" />
+		<method name="setDataSource(Landroid/media/MediaDataSource;)V" since="23" />
+		<method name="setDataSource(Ljava/io/FileDescriptor;)V" />
+		<method name="setDataSource(Ljava/io/FileDescriptor;JJ)V" />
+		<method name="setDataSource(Ljava/lang/String;)V" />
+		<method name="setDisplay(Landroid/view/SurfaceHolder;)V" />
+		<method name="setDrmPropertyString(Ljava/lang/String;Ljava/lang/String;)V" since="26" />
+		<method name="setLooping(Z)V" />
+		<method name="setNextMediaPlayer(Landroid/media/MediaPlayer;)V" since="16" />
+		<method name="setOnBufferingUpdateListener(Landroid/media/MediaPlayer$OnBufferingUpdateListener;)V" />
+		<method name="setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V" />
+		<method name="setOnDrmConfigHelper(Landroid/media/MediaPlayer$OnDrmConfigHelper;)V" since="26" />
+		<method name="setOnDrmInfoListener(Landroid/media/MediaPlayer$OnDrmInfoListener;)V" since="26" />
+		<method name="setOnDrmInfoListener(Landroid/media/MediaPlayer$OnDrmInfoListener;Landroid/os/Handler;)V" since="26" />
+		<method name="setOnDrmPreparedListener(Landroid/media/MediaPlayer$OnDrmPreparedListener;)V" since="26" />
+		<method name="setOnDrmPreparedListener(Landroid/media/MediaPlayer$OnDrmPreparedListener;Landroid/os/Handler;)V" since="26" />
+		<method name="setOnErrorListener(Landroid/media/MediaPlayer$OnErrorListener;)V" />
+		<method name="setOnInfoListener(Landroid/media/MediaPlayer$OnInfoListener;)V" since="3" />
+		<method name="setOnMediaTimeDiscontinuityListener(Landroid/media/MediaPlayer$OnMediaTimeDiscontinuityListener;)V" since="28" />
+		<method name="setOnMediaTimeDiscontinuityListener(Landroid/media/MediaPlayer$OnMediaTimeDiscontinuityListener;Landroid/os/Handler;)V" since="28" />
+		<method name="setOnPreparedListener(Landroid/media/MediaPlayer$OnPreparedListener;)V" />
+		<method name="setOnSeekCompleteListener(Landroid/media/MediaPlayer$OnSeekCompleteListener;)V" />
+		<method name="setOnSubtitleDataListener(Landroid/media/MediaPlayer$OnSubtitleDataListener;)V" since="28" />
+		<method name="setOnSubtitleDataListener(Landroid/media/MediaPlayer$OnSubtitleDataListener;Landroid/os/Handler;)V" since="28" />
+		<method name="setOnTimedMetaDataAvailableListener(Landroid/media/MediaPlayer$OnTimedMetaDataAvailableListener;)V" since="23" />
+		<method name="setOnTimedTextListener(Landroid/media/MediaPlayer$OnTimedTextListener;)V" since="16" />
+		<method name="setOnVideoSizeChangedListener(Landroid/media/MediaPlayer$OnVideoSizeChangedListener;)V" since="3" />
+		<method name="setPlaybackParams(Landroid/media/PlaybackParams;)V" since="23" />
+		<method name="setScreenOnWhilePlaying(Z)V" />
+		<method name="setSurface(Landroid/view/Surface;)V" since="14" />
+		<method name="setSyncParams(Landroid/media/SyncParams;)V" since="23" />
+		<method name="setVideoScalingMode(I)V" since="16" />
+		<method name="setVolume(FF)V" />
+		<method name="setWakeMode(Landroid/content/Context;I)V" />
+		<method name="start()V" />
+		<method name="stop()V" />
+		<field name="MEDIA_ERROR_IO" since="17" />
+		<field name="MEDIA_ERROR_MALFORMED" since="17" />
+		<field name="MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK" since="3" />
+		<field name="MEDIA_ERROR_SERVER_DIED" />
+		<field name="MEDIA_ERROR_TIMED_OUT" since="17" />
+		<field name="MEDIA_ERROR_UNKNOWN" />
+		<field name="MEDIA_ERROR_UNSUPPORTED" since="17" />
+		<field name="MEDIA_INFO_AUDIO_NOT_PLAYING" since="26" />
+		<field name="MEDIA_INFO_BAD_INTERLEAVING" since="3" />
+		<field name="MEDIA_INFO_BUFFERING_END" since="9" />
+		<field name="MEDIA_INFO_BUFFERING_START" since="9" />
+		<field name="MEDIA_INFO_METADATA_UPDATE" since="5" />
+		<field name="MEDIA_INFO_NOT_SEEKABLE" since="3" />
+		<field name="MEDIA_INFO_STARTED_AS_NEXT" since="28" />
+		<field name="MEDIA_INFO_SUBTITLE_TIMED_OUT" since="19" />
+		<field name="MEDIA_INFO_UNKNOWN" since="3" />
+		<field name="MEDIA_INFO_UNSUPPORTED_SUBTITLE" since="19" />
+		<field name="MEDIA_INFO_VIDEO_NOT_PLAYING" since="26" />
+		<field name="MEDIA_INFO_VIDEO_RENDERING_START" since="17" />
+		<field name="MEDIA_INFO_VIDEO_TRACK_LAGGING" since="3" />
+		<field name="MEDIA_MIMETYPE_TEXT_SUBRIP" since="16" deprecated="28" />
+		<field name="PREPARE_DRM_STATUS_PREPARATION_ERROR" since="26" />
+		<field name="PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR" since="26" />
+		<field name="PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR" since="26" />
+		<field name="PREPARE_DRM_STATUS_SUCCESS" since="26" />
+		<field name="SEEK_CLOSEST" since="26" />
+		<field name="SEEK_CLOSEST_SYNC" since="26" />
+		<field name="SEEK_NEXT_SYNC" since="26" />
+		<field name="SEEK_PREVIOUS_SYNC" since="26" />
+		<field name="VIDEO_SCALING_MODE_SCALE_TO_FIT" since="16" />
+		<field name="VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING" since="16" />
+	</class>
+	<class name="android/media/MediaPlayer$DrmInfo" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getPssh()Ljava/util/Map;" />
+		<method name="getSupportedSchemes()[Ljava/util/UUID;" />
+	</class>
+	<class name="android/media/MediaPlayer$MetricsConstants" since="26">
+		<extends name="java/lang/Object" />
+		<field name="CODEC_AUDIO" />
+		<field name="CODEC_VIDEO" />
+		<field name="DURATION" />
+		<field name="ERRORS" />
+		<field name="ERROR_CODE" />
+		<field name="FRAMES" />
+		<field name="FRAMES_DROPPED" />
+		<field name="HEIGHT" />
+		<field name="MIME_TYPE_AUDIO" />
+		<field name="MIME_TYPE_VIDEO" />
+		<field name="PLAYING" />
+		<field name="WIDTH" />
+	</class>
+	<class name="android/media/MediaPlayer$NoDrmSchemeException" since="26">
+		<extends name="android/media/MediaDrmException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnBufferingUpdateListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onBufferingUpdate(Landroid/media/MediaPlayer;I)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnCompletionListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onCompletion(Landroid/media/MediaPlayer;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnDrmConfigHelper" since="26">
+		<extends name="java/lang/Object" />
+		<method name="onDrmConfig(Landroid/media/MediaPlayer;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnDrmInfoListener" since="26">
+		<extends name="java/lang/Object" />
+		<method name="onDrmInfo(Landroid/media/MediaPlayer;Landroid/media/MediaPlayer$DrmInfo;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnDrmPreparedListener" since="26">
+		<extends name="java/lang/Object" />
+		<method name="onDrmPrepared(Landroid/media/MediaPlayer;I)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnErrorListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onError(Landroid/media/MediaPlayer;II)Z" />
+	</class>
+	<class name="android/media/MediaPlayer$OnInfoListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onInfo(Landroid/media/MediaPlayer;II)Z" />
+	</class>
+	<class name="android/media/MediaPlayer$OnMediaTimeDiscontinuityListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="onMediaTimeDiscontinuity(Landroid/media/MediaPlayer;Landroid/media/MediaTimestamp;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnPreparedListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onPrepared(Landroid/media/MediaPlayer;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnSeekCompleteListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onSeekComplete(Landroid/media/MediaPlayer;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnSubtitleDataListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="onSubtitleData(Landroid/media/MediaPlayer;Landroid/media/SubtitleData;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnTimedMetaDataAvailableListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onTimedMetaDataAvailable(Landroid/media/MediaPlayer;Landroid/media/TimedMetaData;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnTimedTextListener" since="16">
+		<extends name="java/lang/Object" />
+		<method name="onTimedText(Landroid/media/MediaPlayer;Landroid/media/TimedText;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$OnVideoSizeChangedListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onVideoSizeChanged(Landroid/media/MediaPlayer;II)V" />
+	</class>
+	<class name="android/media/MediaPlayer$ProvisioningNetworkErrorException" since="26">
+		<extends name="android/media/MediaDrmException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$ProvisioningServerErrorException" since="26">
+		<extends name="android/media/MediaDrmException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/MediaPlayer$TrackInfo" since="16">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getFormat()Landroid/media/MediaFormat;" since="19" />
+		<method name="getLanguage()Ljava/lang/String;" />
+		<method name="getTrackType()I" />
+		<field name="MEDIA_TRACK_TYPE_AUDIO" />
+		<field name="MEDIA_TRACK_TYPE_METADATA" since="23" />
+		<field name="MEDIA_TRACK_TYPE_SUBTITLE" since="21" />
+		<field name="MEDIA_TRACK_TYPE_TIMEDTEXT" />
+		<field name="MEDIA_TRACK_TYPE_UNKNOWN" />
+		<field name="MEDIA_TRACK_TYPE_VIDEO" />
+	</class>
+	<class name="android/media/MediaRecorder" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/AudioRecordingMonitor" since="29" />
+		<implements name="android/media/AudioRouting" since="28" />
+		<implements name="android/media/MicrophoneDirection" since="29" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" since="31" />
+		<method name="getActiveMicrophones()Ljava/util/List;" since="28" />
+		<method name="getAudioSourceMax()I" since="4" />
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;" since="31" />
+		<method name="getMaxAmplitude()I" />
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="26" />
+		<method name="getSurface()Landroid/view/Surface;" since="21" />
+		<method name="isPrivacySensitive()Z" since="30" />
+		<method name="pause()V" since="24" />
+		<method name="prepare()V" />
+		<method name="release()V" />
+		<method name="reset()V" />
+		<method name="resume()V" since="24" />
+		<method name="setAudioChannels(I)V" since="8" />
+		<method name="setAudioEncoder(I)V" />
+		<method name="setAudioEncodingBitRate(I)V" since="8" />
+		<method name="setAudioProfile(Landroid/media/EncoderProfiles$AudioProfile;)V" since="31" />
+		<method name="setAudioSamplingRate(I)V" since="8" />
+		<method name="setAudioSource(I)V" />
+		<method name="setAuxiliaryOutputFile(Ljava/io/FileDescriptor;)V" since="11" deprecated="15" removed="16" />
+		<method name="setAuxiliaryOutputFile(Ljava/lang/String;)V" since="11" deprecated="15" removed="16" />
+		<method name="setCamera(Landroid/hardware/Camera;)V" since="3" deprecated="21" />
+		<method name="setCaptureRate(D)V" since="11" />
+		<method name="setInputSurface(Landroid/view/Surface;)V" since="23" />
+		<method name="setLocation(FF)V" since="14" />
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V" since="31" />
+		<method name="setMaxDuration(I)V" since="3" />
+		<method name="setMaxFileSize(J)V" since="3" />
+		<method name="setNextOutputFile(Ljava/io/File;)V" since="26" />
+		<method name="setNextOutputFile(Ljava/io/FileDescriptor;)V" since="26" />
+		<method name="setOnErrorListener(Landroid/media/MediaRecorder$OnErrorListener;)V" since="3" />
+		<method name="setOnInfoListener(Landroid/media/MediaRecorder$OnInfoListener;)V" since="3" />
+		<method name="setOrientationHint(I)V" since="9" />
+		<method name="setOutputFile(Ljava/io/File;)V" since="26" />
+		<method name="setOutputFile(Ljava/io/FileDescriptor;)V" since="3" />
+		<method name="setOutputFile(Ljava/lang/String;)V" />
+		<method name="setOutputFormat(I)V" />
+		<method name="setPreviewDisplay(Landroid/view/Surface;)V" />
+		<method name="setPrivacySensitive(Z)V" since="30" />
+		<method name="setProfile(Landroid/media/CamcorderProfile;)V" since="8" />
+		<method name="setVideoEncoder(I)V" since="3" />
+		<method name="setVideoEncodingBitRate(I)V" since="8" />
+		<method name="setVideoEncodingProfileLevel(II)V" since="26" />
+		<method name="setVideoFrameRate(I)V" since="3" />
+		<method name="setVideoProfile(Landroid/media/EncoderProfiles$VideoProfile;)V" since="31" />
+		<method name="setVideoSize(II)V" since="3" />
+		<method name="setVideoSource(I)V" since="3" />
+		<method name="start()V" />
+		<method name="stop()V" />
+		<field name="MEDIA_ERROR_SERVER_DIED" since="17" />
+		<field name="MEDIA_RECORDER_ERROR_UNKNOWN" since="3" />
+		<field name="MEDIA_RECORDER_INFO_MAX_DURATION_REACHED" since="3" />
+		<field name="MEDIA_RECORDER_INFO_MAX_FILESIZE_APPROACHING" since="26" />
+		<field name="MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED" since="3" />
+		<field name="MEDIA_RECORDER_INFO_NEXT_OUTPUT_FILE_STARTED" since="26" />
+		<field name="MEDIA_RECORDER_INFO_UNKNOWN" since="3" />
+	</class>
+	<class name="android/media/MediaRecorder$AudioEncoder" since="1">
+		<extends name="java/lang/Object" />
+		<field name="AAC" since="10" />
+		<field name="AAC_ELD" since="16" />
+		<field name="AMR_NB" />
+		<field name="AMR_WB" since="10" />
+		<field name="DEFAULT" />
+		<field name="HE_AAC" since="16" />
+		<field name="OPUS" since="29" />
+		<field name="VORBIS" since="21" />
+	</class>
+	<class name="android/media/MediaRecorder$AudioSource" since="1">
+		<extends name="java/lang/Object" />
+		<field name="CAMCORDER" since="7" />
+		<field name="DEFAULT" />
+		<field name="MIC" />
+		<field name="REMOTE_SUBMIX" since="19" />
+		<field name="UNPROCESSED" since="24" />
+		<field name="VOICE_CALL" since="4" />
+		<field name="VOICE_COMMUNICATION" since="11" />
+		<field name="VOICE_DOWNLINK" since="4" />
+		<field name="VOICE_PERFORMANCE" since="29" />
+		<field name="VOICE_RECOGNITION" since="7" />
+		<field name="VOICE_UPLINK" since="4" />
+	</class>
+	<class name="android/media/MediaRecorder$MetricsConstants" since="26">
+		<extends name="java/lang/Object" />
+		<field name="AUDIO_BITRATE" />
+		<field name="AUDIO_CHANNELS" />
+		<field name="AUDIO_SAMPLERATE" />
+		<field name="AUDIO_TIMESCALE" />
+		<field name="CAPTURE_FPS" />
+		<field name="CAPTURE_FPS_ENABLE" />
+		<field name="FRAMERATE" />
+		<field name="HEIGHT" />
+		<field name="MOVIE_TIMESCALE" />
+		<field name="ROTATION" />
+		<field name="VIDEO_BITRATE" />
+		<field name="VIDEO_IFRAME_INTERVAL" />
+		<field name="VIDEO_LEVEL" />
+		<field name="VIDEO_PROFILE" />
+		<field name="VIDEO_TIMESCALE" />
+		<field name="WIDTH" />
+	</class>
+	<class name="android/media/MediaRecorder$OnErrorListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onError(Landroid/media/MediaRecorder;II)V" />
+	</class>
+	<class name="android/media/MediaRecorder$OnInfoListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onInfo(Landroid/media/MediaRecorder;II)V" />
+	</class>
+	<class name="android/media/MediaRecorder$OutputFormat" since="1">
+		<extends name="java/lang/Object" />
+		<field name="AAC_ADTS" since="16" />
+		<field name="AMR_NB" since="10" />
+		<field name="AMR_WB" since="10" />
+		<field name="DEFAULT" />
+		<field name="MPEG_2_TS" since="26" />
+		<field name="MPEG_4" />
+		<field name="OGG" since="29" />
+		<field name="RAW_AMR" since="3" deprecated="16" />
+		<field name="THREE_GPP" />
+		<field name="WEBM" since="21" />
+	</class>
+	<class name="android/media/MediaRecorder$VideoEncoder" since="3">
+		<extends name="java/lang/Object" />
+		<field name="DEFAULT" />
+		<field name="H263" />
+		<field name="H264" />
+		<field name="HEVC" since="24" />
+		<field name="MPEG_4_SP" />
+		<field name="VP8" since="21" />
+	</class>
+	<class name="android/media/MediaRecorder$VideoSource" since="3">
+		<extends name="java/lang/Object" />
+		<field name="CAMERA" />
+		<field name="DEFAULT" />
+		<field name="SURFACE" since="21" />
+	</class>
+	<class name="android/media/MediaRoute2Info" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getClientPackageName()Ljava/lang/String;" />
+		<method name="getConnectionState()I" />
+		<method name="getDescription()Ljava/lang/CharSequence;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getFeatures()Ljava/util/List;" />
+		<method name="getIconUri()Landroid/net/Uri;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/CharSequence;" />
+		<method name="getVolume()I" />
+		<method name="getVolumeHandling()I" />
+		<method name="getVolumeMax()I" />
+		<method name="isSystemRoute()Z" />
+		<field name="CONNECTION_STATE_CONNECTED" />
+		<field name="CONNECTION_STATE_CONNECTING" />
+		<field name="CONNECTION_STATE_DISCONNECTED" />
+		<field name="CREATOR" />
+		<field name="FEATURE_LIVE_AUDIO" />
+		<field name="FEATURE_LIVE_VIDEO" />
+		<field name="FEATURE_REMOTE_AUDIO_PLAYBACK" />
+		<field name="FEATURE_REMOTE_PLAYBACK" />
+		<field name="FEATURE_REMOTE_VIDEO_PLAYBACK" />
+		<field name="PLAYBACK_VOLUME_FIXED" />
+		<field name="PLAYBACK_VOLUME_VARIABLE" />
+	</class>
+	<class name="android/media/MediaRoute2Info$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/media/MediaRoute2Info;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/CharSequence;)V" />
+		<method name="addFeature(Ljava/lang/String;)Landroid/media/MediaRoute2Info$Builder;" />
+		<method name="addFeatures(Ljava/util/Collection;)Landroid/media/MediaRoute2Info$Builder;" />
+		<method name="build()Landroid/media/MediaRoute2Info;" />
+		<method name="clearFeatures()Landroid/media/MediaRoute2Info$Builder;" />
+		<method name="setClientPackageName(Ljava/lang/String;)Landroid/media/MediaRoute2Info$Builder;" />
+		<method name="setConnectionState(I)Landroid/media/MediaRoute2Info$Builder;" />
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/media/MediaRoute2Info$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/MediaRoute2Info$Builder;" />
+		<method name="setIconUri(Landroid/net/Uri;)Landroid/media/MediaRoute2Info$Builder;" />
+		<method name="setVolume(I)Landroid/media/MediaRoute2Info$Builder;" />
+		<method name="setVolumeHandling(I)Landroid/media/MediaRoute2Info$Builder;" />
+		<method name="setVolumeMax(I)Landroid/media/MediaRoute2Info$Builder;" />
+	</class>
+	<class name="android/media/MediaRoute2ProviderService" since="30">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAllSessionInfo()Ljava/util/List;" />
+		<method name="getSessionInfo(Ljava/lang/String;)Landroid/media/RoutingSessionInfo;" />
+		<method name="notifyRequestFailed(JI)V" />
+		<method name="notifyRoutes(Ljava/util/Collection;)V" />
+		<method name="notifySessionCreated(JLandroid/media/RoutingSessionInfo;)V" />
+		<method name="notifySessionReleased(Ljava/lang/String;)V" />
+		<method name="notifySessionUpdated(Landroid/media/RoutingSessionInfo;)V" />
+		<method name="onCreateSession(JLjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="onDeselectRoute(JLjava/lang/String;Ljava/lang/String;)V" />
+		<method name="onDiscoveryPreferenceChanged(Landroid/media/RouteDiscoveryPreference;)V" />
+		<method name="onReleaseSession(JLjava/lang/String;)V" />
+		<method name="onSelectRoute(JLjava/lang/String;Ljava/lang/String;)V" />
+		<method name="onSetRouteVolume(JLjava/lang/String;I)V" />
+		<method name="onSetSessionVolume(JLjava/lang/String;I)V" />
+		<method name="onTransferToRoute(JLjava/lang/String;Ljava/lang/String;)V" />
+		<field name="REASON_INVALID_COMMAND" />
+		<field name="REASON_NETWORK_ERROR" />
+		<field name="REASON_REJECTED" />
+		<field name="REASON_ROUTE_NOT_AVAILABLE" />
+		<field name="REASON_UNKNOWN_ERROR" />
+		<field name="REQUEST_ID_NONE" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/media/MediaRouter" since="16">
+		<extends name="java/lang/Object" />
+		<method name="addCallback(ILandroid/media/MediaRouter$Callback;)V" />
+		<method name="addCallback(ILandroid/media/MediaRouter$Callback;I)V" since="18" />
+		<method name="addUserRoute(Landroid/media/MediaRouter$UserRouteInfo;)V" />
+		<method name="clearUserRoutes()V" />
+		<method name="createRouteCategory(IZ)Landroid/media/MediaRouter$RouteCategory;" />
+		<method name="createRouteCategory(Ljava/lang/CharSequence;Z)Landroid/media/MediaRouter$RouteCategory;" />
+		<method name="createUserRoute(Landroid/media/MediaRouter$RouteCategory;)Landroid/media/MediaRouter$UserRouteInfo;" />
+		<method name="getCategoryAt(I)Landroid/media/MediaRouter$RouteCategory;" />
+		<method name="getCategoryCount()I" />
+		<method name="getDefaultRoute()Landroid/media/MediaRouter$RouteInfo;" since="18" />
+		<method name="getRouteAt(I)Landroid/media/MediaRouter$RouteInfo;" />
+		<method name="getRouteCount()I" />
+		<method name="getSelectedRoute(I)Landroid/media/MediaRouter$RouteInfo;" />
+		<method name="removeCallback(Landroid/media/MediaRouter$Callback;)V" />
+		<method name="removeUserRoute(Landroid/media/MediaRouter$UserRouteInfo;)V" />
+		<method name="selectRoute(ILandroid/media/MediaRouter$RouteInfo;)V" />
+		<field name="CALLBACK_FLAG_PERFORM_ACTIVE_SCAN" since="18" />
+		<field name="CALLBACK_FLAG_UNFILTERED_EVENTS" since="18" />
+		<field name="ROUTE_TYPE_LIVE_AUDIO" />
+		<field name="ROUTE_TYPE_LIVE_VIDEO" since="17" />
+		<field name="ROUTE_TYPE_USER" />
+	</class>
+	<class name="android/media/MediaRouter$Callback" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onRouteAdded(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V" />
+		<method name="onRouteChanged(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V" />
+		<method name="onRouteGrouped(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;I)V" />
+		<method name="onRoutePresentationDisplayChanged(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V" since="17" />
+		<method name="onRouteRemoved(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V" />
+		<method name="onRouteSelected(Landroid/media/MediaRouter;ILandroid/media/MediaRouter$RouteInfo;)V" />
+		<method name="onRouteUngrouped(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;)V" />
+		<method name="onRouteUnselected(Landroid/media/MediaRouter;ILandroid/media/MediaRouter$RouteInfo;)V" />
+		<method name="onRouteVolumeChanged(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V" />
+	</class>
+	<class name="android/media/MediaRouter$RouteCategory" since="16">
+		<extends name="java/lang/Object" />
+		<method name="getName()Ljava/lang/CharSequence;" />
+		<method name="getName(Landroid/content/Context;)Ljava/lang/CharSequence;" />
+		<method name="getRoutes(Ljava/util/List;)Ljava/util/List;" />
+		<method name="getSupportedTypes()I" />
+		<method name="isGroupable()Z" />
+	</class>
+	<class name="android/media/MediaRouter$RouteGroup" since="16">
+		<extends name="android/media/MediaRouter$RouteInfo" />
+		<method name="addRoute(Landroid/media/MediaRouter$RouteInfo;)V" />
+		<method name="addRoute(Landroid/media/MediaRouter$RouteInfo;I)V" />
+		<method name="getRouteAt(I)Landroid/media/MediaRouter$RouteInfo;" />
+		<method name="getRouteCount()I" />
+		<method name="removeRoute(I)V" />
+		<method name="removeRoute(Landroid/media/MediaRouter$RouteInfo;)V" />
+		<method name="setIconDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setIconResource(I)V" />
+	</class>
+	<class name="android/media/MediaRouter$RouteInfo" since="16">
+		<extends name="java/lang/Object" />
+		<method name="getCategory()Landroid/media/MediaRouter$RouteCategory;" />
+		<method name="getDescription()Ljava/lang/CharSequence;" since="18" />
+		<method name="getDeviceType()I" since="24" />
+		<method name="getGroup()Landroid/media/MediaRouter$RouteGroup;" />
+		<method name="getIconDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="getName()Ljava/lang/CharSequence;" />
+		<method name="getName(Landroid/content/Context;)Ljava/lang/CharSequence;" />
+		<method name="getPlaybackStream()I" />
+		<method name="getPlaybackType()I" />
+		<method name="getPresentationDisplay()Landroid/view/Display;" since="17" />
+		<method name="getStatus()Ljava/lang/CharSequence;" />
+		<method name="getSupportedTypes()I" />
+		<method name="getTag()Ljava/lang/Object;" />
+		<method name="getVolume()I" />
+		<method name="getVolumeHandling()I" />
+		<method name="getVolumeMax()I" />
+		<method name="isConnecting()Z" since="18" />
+		<method name="isEnabled()Z" since="17" />
+		<method name="requestSetVolume(I)V" />
+		<method name="requestUpdateVolume(I)V" />
+		<method name="setTag(Ljava/lang/Object;)V" />
+		<field name="DEVICE_TYPE_BLUETOOTH" since="24" />
+		<field name="DEVICE_TYPE_SPEAKER" since="24" />
+		<field name="DEVICE_TYPE_TV" since="24" />
+		<field name="DEVICE_TYPE_UNKNOWN" since="24" />
+		<field name="PLAYBACK_TYPE_LOCAL" />
+		<field name="PLAYBACK_TYPE_REMOTE" />
+		<field name="PLAYBACK_VOLUME_FIXED" />
+		<field name="PLAYBACK_VOLUME_VARIABLE" />
+	</class>
+	<class name="android/media/MediaRouter$SimpleCallback" since="16">
+		<extends name="android/media/MediaRouter$Callback" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/media/MediaRouter$UserRouteInfo" since="16">
+		<extends name="android/media/MediaRouter$RouteInfo" />
+		<method name="getRemoteControlClient()Landroid/media/RemoteControlClient;" />
+		<method name="setDescription(Ljava/lang/CharSequence;)V" since="18" />
+		<method name="setIconDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setIconResource(I)V" />
+		<method name="setName(I)V" />
+		<method name="setName(Ljava/lang/CharSequence;)V" />
+		<method name="setPlaybackStream(I)V" />
+		<method name="setPlaybackType(I)V" />
+		<method name="setRemoteControlClient(Landroid/media/RemoteControlClient;)V" />
+		<method name="setStatus(Ljava/lang/CharSequence;)V" />
+		<method name="setVolume(I)V" />
+		<method name="setVolumeCallback(Landroid/media/MediaRouter$VolumeCallback;)V" />
+		<method name="setVolumeHandling(I)V" />
+		<method name="setVolumeMax(I)V" />
+	</class>
+	<class name="android/media/MediaRouter$VolumeCallback" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onVolumeSetRequest(Landroid/media/MediaRouter$RouteInfo;I)V" />
+		<method name="onVolumeUpdateRequest(Landroid/media/MediaRouter$RouteInfo;I)V" />
+	</class>
+	<class name="android/media/MediaRouter2" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getController(Ljava/lang/String;)Landroid/media/MediaRouter2$RoutingController;" since="31" />
+		<method name="getControllers()Ljava/util/List;" />
+		<method name="getInstance(Landroid/content/Context;)Landroid/media/MediaRouter2;" />
+		<method name="getRoutes()Ljava/util/List;" />
+		<method name="getSystemController()Landroid/media/MediaRouter2$RoutingController;" />
+		<method name="registerControllerCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaRouter2$ControllerCallback;)V" />
+		<method name="registerRouteCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaRouter2$RouteCallback;Landroid/media/RouteDiscoveryPreference;)V" />
+		<method name="registerTransferCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaRouter2$TransferCallback;)V" />
+		<method name="setOnGetControllerHintsListener(Landroid/media/MediaRouter2$OnGetControllerHintsListener;)V" />
+		<method name="stop()V" />
+		<method name="transferTo(Landroid/media/MediaRoute2Info;)V" />
+		<method name="unregisterControllerCallback(Landroid/media/MediaRouter2$ControllerCallback;)V" />
+		<method name="unregisterRouteCallback(Landroid/media/MediaRouter2$RouteCallback;)V" />
+		<method name="unregisterTransferCallback(Landroid/media/MediaRouter2$TransferCallback;)V" />
+	</class>
+	<class name="android/media/MediaRouter2$ControllerCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onControllerUpdated(Landroid/media/MediaRouter2$RoutingController;)V" />
+	</class>
+	<class name="android/media/MediaRouter2$OnGetControllerHintsListener" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onGetControllerHints(Landroid/media/MediaRoute2Info;)Landroid/os/Bundle;" />
+	</class>
+	<class name="android/media/MediaRouter2$RouteCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onRoutesAdded(Ljava/util/List;)V" />
+		<method name="onRoutesChanged(Ljava/util/List;)V" />
+		<method name="onRoutesRemoved(Ljava/util/List;)V" />
+	</class>
+	<class name="android/media/MediaRouter2$RoutingController" since="30">
+		<extends name="java/lang/Object" />
+		<method name="deselectRoute(Landroid/media/MediaRoute2Info;)V" />
+		<method name="getControlHints()Landroid/os/Bundle;" />
+		<method name="getDeselectableRoutes()Ljava/util/List;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getSelectableRoutes()Ljava/util/List;" />
+		<method name="getSelectedRoutes()Ljava/util/List;" />
+		<method name="getVolume()I" />
+		<method name="getVolumeHandling()I" />
+		<method name="getVolumeMax()I" />
+		<method name="isReleased()Z" />
+		<method name="release()V" />
+		<method name="selectRoute(Landroid/media/MediaRoute2Info;)V" />
+		<method name="setVolume(I)V" />
+	</class>
+	<class name="android/media/MediaRouter2$TransferCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onStop(Landroid/media/MediaRouter2$RoutingController;)V" />
+		<method name="onTransfer(Landroid/media/MediaRouter2$RoutingController;Landroid/media/MediaRouter2$RoutingController;)V" />
+		<method name="onTransferFailure(Landroid/media/MediaRoute2Info;)V" />
+	</class>
+	<class name="android/media/MediaScannerConnection" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/content/ServiceConnection" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/media/MediaScannerConnection$MediaScannerConnectionClient;)V" />
+		<method name="connect()V" />
+		<method name="disconnect()V" />
+		<method name="isConnected()Z" />
+		<method name="scanFile(Landroid/content/Context;[Ljava/lang/String;[Ljava/lang/String;Landroid/media/MediaScannerConnection$OnScanCompletedListener;)V" since="8" />
+		<method name="scanFile(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/MediaScannerConnection$MediaScannerConnectionClient" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/MediaScannerConnection$OnScanCompletedListener" since="8" />
+		<method name="onMediaScannerConnected()V" />
+		<method name="onScanCompleted(Ljava/lang/String;Landroid/net/Uri;)V" removed="30" />
+	</class>
+	<class name="android/media/MediaScannerConnection$OnScanCompletedListener" since="8">
+		<extends name="java/lang/Object" />
+		<method name="onScanCompleted(Ljava/lang/String;Landroid/net/Uri;)V" />
+	</class>
+	<class name="android/media/MediaSync" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createInputSurface()Landroid/view/Surface;" />
+		<method name="flush()V" />
+		<method name="getPlaybackParams()Landroid/media/PlaybackParams;" />
+		<method name="getSyncParams()Landroid/media/SyncParams;" />
+		<method name="getTimestamp()Landroid/media/MediaTimestamp;" />
+		<method name="queueAudio(Ljava/nio/ByteBuffer;IJ)V" />
+		<method name="release()V" />
+		<method name="setAudioTrack(Landroid/media/AudioTrack;)V" />
+		<method name="setCallback(Landroid/media/MediaSync$Callback;Landroid/os/Handler;)V" />
+		<method name="setOnErrorListener(Landroid/media/MediaSync$OnErrorListener;Landroid/os/Handler;)V" />
+		<method name="setPlaybackParams(Landroid/media/PlaybackParams;)V" />
+		<method name="setSurface(Landroid/view/Surface;)V" />
+		<method name="setSyncParams(Landroid/media/SyncParams;)V" />
+		<field name="MEDIASYNC_ERROR_AUDIOTRACK_FAIL" />
+		<field name="MEDIASYNC_ERROR_SURFACE_FAIL" />
+	</class>
+	<class name="android/media/MediaSync$Callback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAudioBufferConsumed(Landroid/media/MediaSync;Ljava/nio/ByteBuffer;I)V" />
+	</class>
+	<class name="android/media/MediaSync$OnErrorListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onError(Landroid/media/MediaSync;II)V" />
+	</class>
+	<class name="android/media/MediaSyncEvent" since="16">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="31" />
+		<method name="createEvent(I)Landroid/media/MediaSyncEvent;" />
+		<method name="getAudioSessionId()I" />
+		<method name="getType()I" />
+		<method name="setAudioSessionId(I)Landroid/media/MediaSyncEvent;" />
+		<field name="CREATOR" since="31" />
+		<field name="SYNC_EVENT_NONE" />
+		<field name="SYNC_EVENT_PRESENTATION_COMPLETE" />
+	</class>
+	<class name="android/media/MediaTimestamp" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(JJF)V" since="29" />
+		<method name="getAnchorMediaTimeUs()J" />
+		<method name="getAnchorSystemNanoTime()J" since="29" />
+		<method name="getAnchorSytemNanoTime()J" deprecated="29" />
+		<method name="getMediaClockRate()F" />
+		<field name="TIMESTAMP_UNKNOWN" since="28" />
+	</class>
+	<class name="android/media/MicrophoneDirection" since="29">
+		<extends name="java/lang/Object" />
+		<method name="setPreferredMicrophoneDirection(I)Z" />
+		<method name="setPreferredMicrophoneFieldDimension(F)Z" />
+		<field name="MIC_DIRECTION_AWAY_FROM_USER" />
+		<field name="MIC_DIRECTION_EXTERNAL" />
+		<field name="MIC_DIRECTION_TOWARDS_USER" />
+		<field name="MIC_DIRECTION_UNSPECIFIED" />
+	</class>
+	<class name="android/media/MicrophoneInfo" since="28">
+		<extends name="java/lang/Object" />
+		<method name="getAddress()Ljava/lang/String;" />
+		<method name="getChannelMapping()Ljava/util/List;" />
+		<method name="getDescription()Ljava/lang/String;" />
+		<method name="getDirectionality()I" />
+		<method name="getFrequencyResponse()Ljava/util/List;" />
+		<method name="getGroup()I" />
+		<method name="getId()I" />
+		<method name="getIndexInTheGroup()I" />
+		<method name="getLocation()I" />
+		<method name="getMaxSpl()F" />
+		<method name="getMinSpl()F" />
+		<method name="getOrientation()Landroid/media/MicrophoneInfo$Coordinate3F;" />
+		<method name="getPosition()Landroid/media/MicrophoneInfo$Coordinate3F;" />
+		<method name="getSensitivity()F" />
+		<method name="getType()I" />
+		<field name="CHANNEL_MAPPING_DIRECT" />
+		<field name="CHANNEL_MAPPING_PROCESSED" />
+		<field name="DIRECTIONALITY_BI_DIRECTIONAL" />
+		<field name="DIRECTIONALITY_CARDIOID" />
+		<field name="DIRECTIONALITY_HYPER_CARDIOID" />
+		<field name="DIRECTIONALITY_OMNI" />
+		<field name="DIRECTIONALITY_SUPER_CARDIOID" />
+		<field name="DIRECTIONALITY_UNKNOWN" />
+		<field name="GROUP_UNKNOWN" />
+		<field name="INDEX_IN_THE_GROUP_UNKNOWN" />
+		<field name="LOCATION_MAINBODY" />
+		<field name="LOCATION_MAINBODY_MOVABLE" />
+		<field name="LOCATION_PERIPHERAL" />
+		<field name="LOCATION_UNKNOWN" />
+		<field name="ORIENTATION_UNKNOWN" />
+		<field name="POSITION_UNKNOWN" />
+		<field name="SENSITIVITY_UNKNOWN" />
+		<field name="SPL_UNKNOWN" />
+	</class>
+	<class name="android/media/MicrophoneInfo$Coordinate3F" since="28">
+		<extends name="java/lang/Object" />
+		<field name="x" />
+		<field name="y" />
+		<field name="z" />
+	</class>
+	<class name="android/media/NotProvisionedException" since="18">
+		<extends name="android/media/MediaDrmException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/PlaybackParams" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="allowDefaults()Landroid/media/PlaybackParams;" />
+		<method name="getAudioFallbackMode()I" />
+		<method name="getPitch()F" />
+		<method name="getSpeed()F" />
+		<method name="setAudioFallbackMode(I)Landroid/media/PlaybackParams;" />
+		<method name="setPitch(F)Landroid/media/PlaybackParams;" />
+		<method name="setSpeed(F)Landroid/media/PlaybackParams;" />
+		<field name="AUDIO_FALLBACK_MODE_DEFAULT" />
+		<field name="AUDIO_FALLBACK_MODE_FAIL" />
+		<field name="AUDIO_FALLBACK_MODE_MUTE" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/media/Rating" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getPercentRating()F" />
+		<method name="getRatingStyle()I" />
+		<method name="getStarRating()F" />
+		<method name="hasHeart()Z" />
+		<method name="isRated()Z" />
+		<method name="isThumbUp()Z" />
+		<method name="newHeartRating(Z)Landroid/media/Rating;" />
+		<method name="newPercentageRating(F)Landroid/media/Rating;" />
+		<method name="newStarRating(IF)Landroid/media/Rating;" />
+		<method name="newThumbRating(Z)Landroid/media/Rating;" />
+		<method name="newUnratedRating(I)Landroid/media/Rating;" />
+		<field name="CREATOR" />
+		<field name="RATING_3_STARS" />
+		<field name="RATING_4_STARS" />
+		<field name="RATING_5_STARS" />
+		<field name="RATING_HEART" />
+		<field name="RATING_NONE" since="21" />
+		<field name="RATING_PERCENTAGE" />
+		<field name="RATING_THUMB_UP_DOWN" />
+	</class>
+	<class name="android/media/RemoteControlClient" since="14" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/app/PendingIntent;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/app/PendingIntent;Landroid/os/Looper;)V" deprecated="29" />
+		<method name="editMetadata(Z)Landroid/media/RemoteControlClient$MetadataEditor;" deprecated="29" />
+		<method name="getMediaSession()Landroid/media/session/MediaSession;" since="21" deprecated="29" />
+		<method name="setMetadataUpdateListener(Landroid/media/RemoteControlClient$OnMetadataUpdateListener;)V" since="19" deprecated="29" />
+		<method name="setOnGetPlaybackPositionListener(Landroid/media/RemoteControlClient$OnGetPlaybackPositionListener;)V" since="18" deprecated="29" />
+		<method name="setPlaybackPositionUpdateListener(Landroid/media/RemoteControlClient$OnPlaybackPositionUpdateListener;)V" since="18" deprecated="29" />
+		<method name="setPlaybackState(I)V" deprecated="29" />
+		<method name="setPlaybackState(IJF)V" since="18" deprecated="29" />
+		<method name="setTransportControlFlags(I)V" deprecated="29" />
+		<field name="FLAG_KEY_MEDIA_FAST_FORWARD" deprecated="29" />
+		<field name="FLAG_KEY_MEDIA_NEXT" deprecated="29" />
+		<field name="FLAG_KEY_MEDIA_PAUSE" deprecated="29" />
+		<field name="FLAG_KEY_MEDIA_PLAY" deprecated="29" />
+		<field name="FLAG_KEY_MEDIA_PLAY_PAUSE" deprecated="29" />
+		<field name="FLAG_KEY_MEDIA_POSITION_UPDATE" since="18" deprecated="29" />
+		<field name="FLAG_KEY_MEDIA_PREVIOUS" deprecated="29" />
+		<field name="FLAG_KEY_MEDIA_RATING" since="19" deprecated="29" />
+		<field name="FLAG_KEY_MEDIA_REWIND" deprecated="29" />
+		<field name="FLAG_KEY_MEDIA_STOP" deprecated="29" />
+		<field name="PLAYSTATE_BUFFERING" deprecated="29" />
+		<field name="PLAYSTATE_ERROR" deprecated="29" />
+		<field name="PLAYSTATE_FAST_FORWARDING" deprecated="29" />
+		<field name="PLAYSTATE_PAUSED" deprecated="29" />
+		<field name="PLAYSTATE_PLAYING" deprecated="29" />
+		<field name="PLAYSTATE_REWINDING" deprecated="29" />
+		<field name="PLAYSTATE_SKIPPING_BACKWARDS" deprecated="29" />
+		<field name="PLAYSTATE_SKIPPING_FORWARDS" deprecated="29" />
+		<field name="PLAYSTATE_STOPPED" deprecated="29" />
+	</class>
+	<class name="android/media/RemoteControlClient$MetadataEditor" since="14" deprecated="21">
+		<extends name="android/media/MediaMetadataEditor" since="19" />
+		<extends name="java/lang/Object" removed="19" />
+		<method name="apply()V" deprecated="29" />
+		<method name="clear()V" deprecated="29" />
+		<method name="putBitmap(ILandroid/graphics/Bitmap;)Landroid/media/RemoteControlClient$MetadataEditor;" deprecated="29" />
+		<method name="putLong(IJ)Landroid/media/RemoteControlClient$MetadataEditor;" deprecated="29" />
+		<method name="putObject(ILjava/lang/Object;)Landroid/media/RemoteControlClient$MetadataEditor;" since="21" deprecated="29" />
+		<method name="putString(ILjava/lang/String;)Landroid/media/RemoteControlClient$MetadataEditor;" deprecated="29" />
+		<field name="BITMAP_KEY_ARTWORK" deprecated="29" />
+	</class>
+	<class name="android/media/RemoteControlClient$OnGetPlaybackPositionListener" since="18" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onGetPlaybackPosition()J" deprecated="29" />
+	</class>
+	<class name="android/media/RemoteControlClient$OnMetadataUpdateListener" since="19" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onMetadataUpdate(ILjava/lang/Object;)V" deprecated="29" />
+	</class>
+	<class name="android/media/RemoteControlClient$OnPlaybackPositionUpdateListener" since="18" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onPlaybackPositionUpdate(J)V" deprecated="29" />
+	</class>
+	<class name="android/media/RemoteController" since="19" deprecated="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/media/RemoteController$OnClientUpdateListener;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/media/RemoteController$OnClientUpdateListener;Landroid/os/Looper;)V" deprecated="29" />
+		<method name="clearArtworkConfiguration()Z" deprecated="29" />
+		<method name="editMetadata()Landroid/media/RemoteController$MetadataEditor;" deprecated="29" />
+		<method name="getEstimatedMediaPosition()J" deprecated="29" />
+		<method name="seekTo(J)Z" deprecated="29" />
+		<method name="sendMediaKeyEvent(Landroid/view/KeyEvent;)Z" deprecated="29" />
+		<method name="setArtworkConfiguration(II)Z" deprecated="29" />
+		<method name="setSynchronizationMode(I)Z" deprecated="29" />
+		<field name="POSITION_SYNCHRONIZATION_CHECK" deprecated="29" />
+		<field name="POSITION_SYNCHRONIZATION_NONE" deprecated="29" />
+	</class>
+	<class name="android/media/RemoteController$MetadataEditor" since="19" deprecated="29">
+		<extends name="android/media/MediaMetadataEditor" />
+	</class>
+	<class name="android/media/RemoteController$OnClientUpdateListener" since="19" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onClientChange(Z)V" deprecated="29" />
+		<method name="onClientMetadataUpdate(Landroid/media/RemoteController$MetadataEditor;)V" deprecated="29" />
+		<method name="onClientPlaybackStateUpdate(I)V" deprecated="29" />
+		<method name="onClientPlaybackStateUpdate(IJJF)V" deprecated="29" />
+		<method name="onClientTransportControlUpdate(I)V" deprecated="29" />
+	</class>
+	<class name="android/media/ResourceBusyException" since="19">
+		<extends name="android/media/MediaDrmException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/Ringtone" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;" since="21" />
+		<method name="getStreamType()I" deprecated="21" />
+		<method name="getTitle(Landroid/content/Context;)Ljava/lang/String;" />
+		<method name="getVolume()F" since="28" />
+		<method name="isHapticGeneratorEnabled()Z" since="31" />
+		<method name="isLooping()Z" since="28" />
+		<method name="isPlaying()Z" />
+		<method name="play()V" />
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)V" since="21" />
+		<method name="setHapticGeneratorEnabled(Z)Z" since="31" />
+		<method name="setLooping(Z)V" since="28" />
+		<method name="setStreamType(I)V" deprecated="21" />
+		<method name="setVolume(F)V" since="28" />
+		<method name="stop()V" />
+	</class>
+	<class name="android/media/RingtoneManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/app/Activity;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="getActualDefaultRingtoneUri(Landroid/content/Context;I)Landroid/net/Uri;" />
+		<method name="getCursor()Landroid/database/Cursor;" />
+		<method name="getDefaultType(Landroid/net/Uri;)I" />
+		<method name="getDefaultUri(I)Landroid/net/Uri;" />
+		<method name="getIncludeDrm()Z" deprecated="19" />
+		<method name="getRingtone(I)Landroid/media/Ringtone;" />
+		<method name="getRingtone(Landroid/content/Context;Landroid/net/Uri;)Landroid/media/Ringtone;" />
+		<method name="getRingtonePosition(Landroid/net/Uri;)I" />
+		<method name="getRingtoneUri(I)Landroid/net/Uri;" />
+		<method name="getStopPreviousRingtone()Z" />
+		<method name="getValidRingtoneUri(Landroid/content/Context;)Landroid/net/Uri;" />
+		<method name="hasHapticChannels(I)Z" since="29" />
+		<method name="hasHapticChannels(Landroid/net/Uri;)Z" since="29" />
+		<method name="inferStreamType()I" since="3" />
+		<method name="isDefault(Landroid/net/Uri;)Z" />
+		<method name="openDefaultRingtoneUri(Landroid/content/Context;Landroid/net/Uri;)Landroid/content/res/AssetFileDescriptor;" since="29" />
+		<method name="setActualDefaultRingtoneUri(Landroid/content/Context;ILandroid/net/Uri;)V" />
+		<method name="setIncludeDrm(Z)V" deprecated="19" />
+		<method name="setStopPreviousRingtone(Z)V" />
+		<method name="setType(I)V" />
+		<method name="stopPreviousRingtone()V" />
+		<field name="ACTION_RINGTONE_PICKER" />
+		<field name="EXTRA_RINGTONE_DEFAULT_URI" />
+		<field name="EXTRA_RINGTONE_EXISTING_URI" />
+		<field name="EXTRA_RINGTONE_INCLUDE_DRM" deprecated="19" />
+		<field name="EXTRA_RINGTONE_PICKED_URI" />
+		<field name="EXTRA_RINGTONE_SHOW_DEFAULT" />
+		<field name="EXTRA_RINGTONE_SHOW_SILENT" />
+		<field name="EXTRA_RINGTONE_TITLE" />
+		<field name="EXTRA_RINGTONE_TYPE" />
+		<field name="ID_COLUMN_INDEX" />
+		<field name="TITLE_COLUMN_INDEX" />
+		<field name="TYPE_ALARM" />
+		<field name="TYPE_ALL" />
+		<field name="TYPE_NOTIFICATION" />
+		<field name="TYPE_RINGTONE" />
+		<field name="URI_COLUMN_INDEX" />
+	</class>
+	<class name="android/media/RouteDiscoveryPreference" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getPreferredFeatures()Ljava/util/List;" />
+		<method name="shouldPerformActiveScan()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/media/RouteDiscoveryPreference$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/media/RouteDiscoveryPreference;)V" />
+		<method name="&lt;init&gt;(Ljava/util/List;Z)V" />
+		<method name="build()Landroid/media/RouteDiscoveryPreference;" />
+		<method name="setPreferredFeatures(Ljava/util/List;)Landroid/media/RouteDiscoveryPreference$Builder;" />
+		<method name="setShouldPerformActiveScan(Z)Landroid/media/RouteDiscoveryPreference$Builder;" />
+	</class>
+	<class name="android/media/RoutingSessionInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getClientPackageName()Ljava/lang/String;" />
+		<method name="getControlHints()Landroid/os/Bundle;" />
+		<method name="getDeselectableRoutes()Ljava/util/List;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/CharSequence;" />
+		<method name="getSelectableRoutes()Ljava/util/List;" />
+		<method name="getSelectedRoutes()Ljava/util/List;" />
+		<method name="getTransferableRoutes()Ljava/util/List;" />
+		<method name="getVolume()I" />
+		<method name="getVolumeHandling()I" />
+		<method name="getVolumeMax()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/media/RoutingSessionInfo$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/media/RoutingSessionInfo;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="addDeselectableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="addSelectableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="addSelectedRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="addTransferableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="build()Landroid/media/RoutingSessionInfo;" />
+		<method name="clearDeselectableRoutes()Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="clearSelectableRoutes()Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="clearSelectedRoutes()Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="clearTransferableRoutes()Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="removeDeselectableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="removeSelectableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="removeSelectedRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="removeTransferableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="setControlHints(Landroid/os/Bundle;)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="setName(Ljava/lang/CharSequence;)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="setVolume(I)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="setVolumeHandling(I)Landroid/media/RoutingSessionInfo$Builder;" />
+		<method name="setVolumeMax(I)Landroid/media/RoutingSessionInfo$Builder;" />
+	</class>
+	<class name="android/media/SoundPool" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(III)V" deprecated="21" />
+		<method name="autoPause()V" since="8" />
+		<method name="autoResume()V" since="8" />
+		<method name="load(Landroid/content/Context;II)I" />
+		<method name="load(Landroid/content/res/AssetFileDescriptor;I)I" since="3" />
+		<method name="load(Ljava/io/FileDescriptor;JJI)I" since="3" />
+		<method name="load(Ljava/lang/String;I)I" />
+		<method name="pause(I)V" />
+		<method name="play(IFFIIF)I" />
+		<method name="release()V" />
+		<method name="resume(I)V" />
+		<method name="setLoop(II)V" />
+		<method name="setOnLoadCompleteListener(Landroid/media/SoundPool$OnLoadCompleteListener;)V" since="8" />
+		<method name="setPriority(II)V" />
+		<method name="setRate(IF)V" />
+		<method name="setVolume(IFF)V" />
+		<method name="stop(I)V" />
+		<method name="unload(I)Z" />
+	</class>
+	<class name="android/media/SoundPool$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/media/SoundPool;" />
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)Landroid/media/SoundPool$Builder;" />
+		<method name="setMaxStreams(I)Landroid/media/SoundPool$Builder;" />
+	</class>
+	<class name="android/media/SoundPool$OnLoadCompleteListener" since="8">
+		<extends name="java/lang/Object" />
+		<method name="onLoadComplete(Landroid/media/SoundPool;II)V" />
+	</class>
+	<class name="android/media/Spatializer" since="33">
+		<extends name="java/lang/Object" />
+		<method name="addOnSpatializerStateChangedListener(Ljava/util/concurrent/Executor;Landroid/media/Spatializer$OnSpatializerStateChangedListener;)V" />
+		<method name="canBeSpatialized(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;)Z" />
+		<method name="getImmersiveAudioLevel()I" />
+		<method name="isAvailable()Z" />
+		<method name="isEnabled()Z" />
+		<method name="removeOnSpatializerStateChangedListener(Landroid/media/Spatializer$OnSpatializerStateChangedListener;)V" />
+		<field name="SPATIALIZER_IMMERSIVE_LEVEL_MULTICHANNEL" />
+		<field name="SPATIALIZER_IMMERSIVE_LEVEL_NONE" />
+		<field name="SPATIALIZER_IMMERSIVE_LEVEL_OTHER" />
+	</class>
+	<class name="android/media/Spatializer$OnSpatializerStateChangedListener" since="33">
+		<method name="onSpatializerAvailableChanged(Landroid/media/Spatializer;Z)V" />
+		<method name="onSpatializerEnabledChanged(Landroid/media/Spatializer;Z)V" />
+	</class>
+	<class name="android/media/SubtitleData" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IJJ[B)V" since="29" />
+		<method name="getData()[B" />
+		<method name="getDurationUs()J" />
+		<method name="getStartTimeUs()J" />
+		<method name="getTrackIndex()I" />
+	</class>
+	<class name="android/media/SyncParams" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="allowDefaults()Landroid/media/SyncParams;" />
+		<method name="getAudioAdjustMode()I" />
+		<method name="getFrameRate()F" />
+		<method name="getSyncSource()I" />
+		<method name="getTolerance()F" />
+		<method name="setAudioAdjustMode(I)Landroid/media/SyncParams;" />
+		<method name="setFrameRate(F)Landroid/media/SyncParams;" />
+		<method name="setSyncSource(I)Landroid/media/SyncParams;" />
+		<method name="setTolerance(F)Landroid/media/SyncParams;" />
+		<field name="AUDIO_ADJUST_MODE_DEFAULT" />
+		<field name="AUDIO_ADJUST_MODE_RESAMPLE" />
+		<field name="AUDIO_ADJUST_MODE_STRETCH" />
+		<field name="SYNC_SOURCE_AUDIO" />
+		<field name="SYNC_SOURCE_DEFAULT" />
+		<field name="SYNC_SOURCE_SYSTEM_CLOCK" />
+		<field name="SYNC_SOURCE_VSYNC" />
+	</class>
+	<class name="android/media/ThumbnailUtils" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createAudioThumbnail(Ljava/io/File;Landroid/util/Size;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;" since="29" />
+		<method name="createAudioThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;" since="29" deprecated="29" />
+		<method name="createImageThumbnail(Ljava/io/File;Landroid/util/Size;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;" since="29" />
+		<method name="createImageThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;" since="29" deprecated="29" />
+		<method name="createVideoThumbnail(Ljava/io/File;Landroid/util/Size;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;" since="29" />
+		<method name="createVideoThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;" deprecated="29" />
+		<method name="extractThumbnail(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;" />
+		<method name="extractThumbnail(Landroid/graphics/Bitmap;III)Landroid/graphics/Bitmap;" />
+		<field name="OPTIONS_RECYCLE_INPUT" />
+	</class>
+	<class name="android/media/TimedMetaData" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(J[B)V" since="29" />
+		<method name="getMetaData()[B" />
+		<method name="getTimestamp()J" />
+	</class>
+	<class name="android/media/TimedText" since="16">
+		<extends name="java/lang/Object" />
+		<method name="getBounds()Landroid/graphics/Rect;" />
+		<method name="getText()Ljava/lang/String;" />
+	</class>
+	<class name="android/media/ToneGenerator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getAudioSessionId()I" since="16" />
+		<method name="release()V" />
+		<method name="startTone(I)Z" />
+		<method name="startTone(II)Z" since="5" />
+		<method name="stopTone()V" />
+		<field name="MAX_VOLUME" />
+		<field name="MIN_VOLUME" />
+		<field name="TONE_CDMA_ABBR_ALERT" since="4" />
+		<field name="TONE_CDMA_ABBR_INTERCEPT" since="4" />
+		<field name="TONE_CDMA_ABBR_REORDER" since="4" />
+		<field name="TONE_CDMA_ALERT_AUTOREDIAL_LITE" since="4" />
+		<field name="TONE_CDMA_ALERT_CALL_GUARD" since="4" />
+		<field name="TONE_CDMA_ALERT_INCALL_LITE" since="4" />
+		<field name="TONE_CDMA_ALERT_NETWORK_LITE" since="4" />
+		<field name="TONE_CDMA_ANSWER" since="4" />
+		<field name="TONE_CDMA_CALLDROP_LITE" since="4" />
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP" since="4" />
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL" since="4" />
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_PAT3" since="4" />
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_PAT5" since="4" />
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_PAT6" since="4" />
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_PAT7" since="4" />
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING" since="4" />
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI" since="4" />
+		<field name="TONE_CDMA_CONFIRM" since="4" />
+		<field name="TONE_CDMA_DIAL_TONE_LITE" since="4" />
+		<field name="TONE_CDMA_EMERGENCY_RINGBACK" since="4" />
+		<field name="TONE_CDMA_HIGH_L" since="4" />
+		<field name="TONE_CDMA_HIGH_PBX_L" since="4" />
+		<field name="TONE_CDMA_HIGH_PBX_SLS" since="4" />
+		<field name="TONE_CDMA_HIGH_PBX_SS" since="4" />
+		<field name="TONE_CDMA_HIGH_PBX_SSL" since="4" />
+		<field name="TONE_CDMA_HIGH_PBX_S_X4" since="4" />
+		<field name="TONE_CDMA_HIGH_SLS" since="4" />
+		<field name="TONE_CDMA_HIGH_SS" since="4" />
+		<field name="TONE_CDMA_HIGH_SSL" since="4" />
+		<field name="TONE_CDMA_HIGH_SS_2" since="4" />
+		<field name="TONE_CDMA_HIGH_S_X4" since="4" />
+		<field name="TONE_CDMA_INTERCEPT" since="4" />
+		<field name="TONE_CDMA_KEYPAD_VOLUME_KEY_LITE" since="4" />
+		<field name="TONE_CDMA_LOW_L" since="4" />
+		<field name="TONE_CDMA_LOW_PBX_L" since="4" />
+		<field name="TONE_CDMA_LOW_PBX_SLS" since="4" />
+		<field name="TONE_CDMA_LOW_PBX_SS" since="4" />
+		<field name="TONE_CDMA_LOW_PBX_SSL" since="4" />
+		<field name="TONE_CDMA_LOW_PBX_S_X4" since="4" />
+		<field name="TONE_CDMA_LOW_SLS" since="4" />
+		<field name="TONE_CDMA_LOW_SS" since="4" />
+		<field name="TONE_CDMA_LOW_SSL" since="4" />
+		<field name="TONE_CDMA_LOW_SS_2" since="4" />
+		<field name="TONE_CDMA_LOW_S_X4" since="4" />
+		<field name="TONE_CDMA_MED_L" since="4" />
+		<field name="TONE_CDMA_MED_PBX_L" since="4" />
+		<field name="TONE_CDMA_MED_PBX_SLS" since="4" />
+		<field name="TONE_CDMA_MED_PBX_SS" since="4" />
+		<field name="TONE_CDMA_MED_PBX_SSL" since="4" />
+		<field name="TONE_CDMA_MED_PBX_S_X4" since="4" />
+		<field name="TONE_CDMA_MED_SLS" since="4" />
+		<field name="TONE_CDMA_MED_SS" since="4" />
+		<field name="TONE_CDMA_MED_SSL" since="4" />
+		<field name="TONE_CDMA_MED_SS_2" since="4" />
+		<field name="TONE_CDMA_MED_S_X4" since="4" />
+		<field name="TONE_CDMA_NETWORK_BUSY" since="4" />
+		<field name="TONE_CDMA_NETWORK_BUSY_ONE_SHOT" since="4" />
+		<field name="TONE_CDMA_NETWORK_CALLWAITING" since="4" />
+		<field name="TONE_CDMA_NETWORK_USA_RINGBACK" since="4" />
+		<field name="TONE_CDMA_ONE_MIN_BEEP" since="4" />
+		<field name="TONE_CDMA_PIP" since="4" />
+		<field name="TONE_CDMA_PRESSHOLDKEY_LITE" since="4" />
+		<field name="TONE_CDMA_REORDER" since="4" />
+		<field name="TONE_CDMA_SIGNAL_OFF" since="4" />
+		<field name="TONE_CDMA_SOFT_ERROR_LITE" since="4" />
+		<field name="TONE_DTMF_0" />
+		<field name="TONE_DTMF_1" />
+		<field name="TONE_DTMF_2" />
+		<field name="TONE_DTMF_3" />
+		<field name="TONE_DTMF_4" />
+		<field name="TONE_DTMF_5" />
+		<field name="TONE_DTMF_6" />
+		<field name="TONE_DTMF_7" />
+		<field name="TONE_DTMF_8" />
+		<field name="TONE_DTMF_9" />
+		<field name="TONE_DTMF_A" />
+		<field name="TONE_DTMF_B" />
+		<field name="TONE_DTMF_C" />
+		<field name="TONE_DTMF_D" />
+		<field name="TONE_DTMF_P" />
+		<field name="TONE_DTMF_S" />
+		<field name="TONE_PROP_ACK" />
+		<field name="TONE_PROP_BEEP" />
+		<field name="TONE_PROP_BEEP2" />
+		<field name="TONE_PROP_NACK" />
+		<field name="TONE_PROP_PROMPT" />
+		<field name="TONE_SUP_BUSY" />
+		<field name="TONE_SUP_CALL_WAITING" />
+		<field name="TONE_SUP_CONFIRM" since="4" />
+		<field name="TONE_SUP_CONGESTION" />
+		<field name="TONE_SUP_CONGESTION_ABBREV" since="4" />
+		<field name="TONE_SUP_DIAL" />
+		<field name="TONE_SUP_ERROR" />
+		<field name="TONE_SUP_INTERCEPT" since="4" />
+		<field name="TONE_SUP_INTERCEPT_ABBREV" since="4" />
+		<field name="TONE_SUP_PIP" since="4" />
+		<field name="TONE_SUP_RADIO_ACK" />
+		<field name="TONE_SUP_RADIO_NOTAVAIL" />
+		<field name="TONE_SUP_RINGTONE" />
+	</class>
+	<class name="android/media/UnsupportedSchemeException" since="18">
+		<extends name="android/media/MediaDrmException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/media/VolumeAutomation" since="26">
+		<extends name="java/lang/Object" />
+		<method name="createVolumeShaper(Landroid/media/VolumeShaper$Configuration;)Landroid/media/VolumeShaper;" />
+	</class>
+	<class name="android/media/VolumeProvider" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="&lt;init&gt;(IIILjava/lang/String;)V" since="30" />
+		<method name="getCurrentVolume()I" />
+		<method name="getMaxVolume()I" />
+		<method name="getVolumeControl()I" />
+		<method name="getVolumeControlId()Ljava/lang/String;" since="30" />
+		<method name="onAdjustVolume(I)V" />
+		<method name="onSetVolumeTo(I)V" />
+		<method name="setCurrentVolume(I)V" />
+		<field name="VOLUME_CONTROL_ABSOLUTE" />
+		<field name="VOLUME_CONTROL_FIXED" />
+		<field name="VOLUME_CONTROL_RELATIVE" />
+	</class>
+	<class name="android/media/VolumeShaper" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="apply(Landroid/media/VolumeShaper$Operation;)V" />
+		<method name="getVolume()F" />
+		<method name="replace(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;Z)V" />
+	</class>
+	<class name="android/media/VolumeShaper$Configuration" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDuration()J" />
+		<method name="getInterpolatorType()I" />
+		<method name="getMaximumCurvePoints()I" />
+		<method name="getTimes()[F" />
+		<method name="getVolumes()[F" />
+		<field name="CREATOR" />
+		<field name="CUBIC_RAMP" />
+		<field name="INTERPOLATOR_TYPE_CUBIC" />
+		<field name="INTERPOLATOR_TYPE_CUBIC_MONOTONIC" />
+		<field name="INTERPOLATOR_TYPE_LINEAR" />
+		<field name="INTERPOLATOR_TYPE_STEP" />
+		<field name="LINEAR_RAMP" />
+		<field name="SCURVE_RAMP" />
+		<field name="SINE_RAMP" />
+	</class>
+	<class name="android/media/VolumeShaper$Configuration$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/media/VolumeShaper$Configuration;)V" />
+		<method name="build()Landroid/media/VolumeShaper$Configuration;" />
+		<method name="invertVolumes()Landroid/media/VolumeShaper$Configuration$Builder;" />
+		<method name="reflectTimes()Landroid/media/VolumeShaper$Configuration$Builder;" />
+		<method name="scaleToEndVolume(F)Landroid/media/VolumeShaper$Configuration$Builder;" />
+		<method name="scaleToStartVolume(F)Landroid/media/VolumeShaper$Configuration$Builder;" />
+		<method name="setCurve([F[F)Landroid/media/VolumeShaper$Configuration$Builder;" />
+		<method name="setDuration(J)Landroid/media/VolumeShaper$Configuration$Builder;" />
+		<method name="setInterpolatorType(I)Landroid/media/VolumeShaper$Configuration$Builder;" />
+	</class>
+	<class name="android/media/VolumeShaper$Operation" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+		<field name="PLAY" />
+		<field name="REVERSE" />
+	</class>
+	<class name="android/media/audiofx/AcousticEchoCanceler" since="16">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<method name="create(I)Landroid/media/audiofx/AcousticEchoCanceler;" />
+		<method name="isAvailable()Z" />
+	</class>
+	<class name="android/media/audiofx/AudioEffect" since="9">
+		<extends name="java/lang/Object" />
+		<method name="getDescriptor()Landroid/media/audiofx/AudioEffect$Descriptor;" />
+		<method name="getEnabled()Z" />
+		<method name="getId()I" />
+		<method name="hasControl()Z" />
+		<method name="queryEffects()[Landroid/media/audiofx/AudioEffect$Descriptor;" />
+		<method name="release()V" />
+		<method name="setControlStatusListener(Landroid/media/audiofx/AudioEffect$OnControlStatusChangeListener;)V" />
+		<method name="setEnableStatusListener(Landroid/media/audiofx/AudioEffect$OnEnableStatusChangeListener;)V" />
+		<method name="setEnabled(Z)I" />
+		<field name="ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION" />
+		<field name="ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL" />
+		<field name="ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION" />
+		<field name="ALREADY_EXISTS" />
+		<field name="CONTENT_TYPE_GAME" />
+		<field name="CONTENT_TYPE_MOVIE" />
+		<field name="CONTENT_TYPE_MUSIC" />
+		<field name="CONTENT_TYPE_VOICE" />
+		<field name="EFFECT_AUXILIARY" />
+		<field name="EFFECT_INSERT" />
+		<field name="EFFECT_POST_PROCESSING" since="30" />
+		<field name="EFFECT_PRE_PROCESSING" since="30" />
+		<field name="EFFECT_TYPE_AEC" since="18" />
+		<field name="EFFECT_TYPE_AGC" since="18" />
+		<field name="EFFECT_TYPE_BASS_BOOST" since="18" />
+		<field name="EFFECT_TYPE_DYNAMICS_PROCESSING" since="28" />
+		<field name="EFFECT_TYPE_ENV_REVERB" since="18" />
+		<field name="EFFECT_TYPE_EQUALIZER" since="18" />
+		<field name="EFFECT_TYPE_HAPTIC_GENERATOR" since="31" />
+		<field name="EFFECT_TYPE_LOUDNESS_ENHANCER" since="19" />
+		<field name="EFFECT_TYPE_NS" since="18" />
+		<field name="EFFECT_TYPE_PRESET_REVERB" since="18" />
+		<field name="EFFECT_TYPE_VIRTUALIZER" since="18" />
+		<field name="ERROR" />
+		<field name="ERROR_BAD_VALUE" />
+		<field name="ERROR_DEAD_OBJECT" />
+		<field name="ERROR_INVALID_OPERATION" />
+		<field name="ERROR_NO_INIT" />
+		<field name="ERROR_NO_MEMORY" />
+		<field name="EXTRA_AUDIO_SESSION" />
+		<field name="EXTRA_CONTENT_TYPE" />
+		<field name="EXTRA_PACKAGE_NAME" />
+		<field name="SUCCESS" />
+	</class>
+	<class name="android/media/audiofx/AudioEffect$Descriptor" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="connectMode" />
+		<field name="implementor" />
+		<field name="name" />
+		<field name="type" />
+		<field name="uuid" />
+	</class>
+	<class name="android/media/audiofx/AudioEffect$OnControlStatusChangeListener" since="9">
+		<extends name="java/lang/Object" />
+		<method name="onControlStatusChange(Landroid/media/audiofx/AudioEffect;Z)V" />
+	</class>
+	<class name="android/media/audiofx/AudioEffect$OnEnableStatusChangeListener" since="9">
+		<extends name="java/lang/Object" />
+		<method name="onEnableStatusChange(Landroid/media/audiofx/AudioEffect;Z)V" />
+	</class>
+	<class name="android/media/audiofx/AutomaticGainControl" since="16">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<method name="create(I)Landroid/media/audiofx/AutomaticGainControl;" />
+		<method name="isAvailable()Z" />
+	</class>
+	<class name="android/media/audiofx/BassBoost" since="9">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getProperties()Landroid/media/audiofx/BassBoost$Settings;" />
+		<method name="getRoundedStrength()S" />
+		<method name="getStrengthSupported()Z" />
+		<method name="setParameterListener(Landroid/media/audiofx/BassBoost$OnParameterChangeListener;)V" />
+		<method name="setProperties(Landroid/media/audiofx/BassBoost$Settings;)V" />
+		<method name="setStrength(S)V" />
+		<field name="PARAM_STRENGTH" />
+		<field name="PARAM_STRENGTH_SUPPORTED" />
+	</class>
+	<class name="android/media/audiofx/BassBoost$OnParameterChangeListener" since="9">
+		<extends name="java/lang/Object" />
+		<method name="onParameterChange(Landroid/media/audiofx/BassBoost;IIS)V" />
+	</class>
+	<class name="android/media/audiofx/BassBoost$Settings" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="strength" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing" since="28">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IILandroid/media/audiofx/DynamicsProcessing$Config;)V" />
+		<method name="getChannelByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Channel;" />
+		<method name="getChannelCount()I" />
+		<method name="getConfig()Landroid/media/audiofx/DynamicsProcessing$Config;" />
+		<method name="getInputGainByChannelIndex(I)F" />
+		<method name="getLimiterByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Limiter;" />
+		<method name="getMbcBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$MbcBand;" />
+		<method name="getMbcByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Mbc;" />
+		<method name="getPostEqBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$EqBand;" />
+		<method name="getPostEqByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Eq;" />
+		<method name="getPreEqBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$EqBand;" />
+		<method name="getPreEqByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Eq;" />
+		<method name="setAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Channel;)V" />
+		<method name="setChannelTo(ILandroid/media/audiofx/DynamicsProcessing$Channel;)V" />
+		<method name="setInputGainAllChannelsTo(F)V" />
+		<method name="setInputGainbyChannel(IF)V" />
+		<method name="setLimiterAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Limiter;)V" />
+		<method name="setLimiterByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Limiter;)V" />
+		<method name="setMbcAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Mbc;)V" />
+		<method name="setMbcBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V" />
+		<method name="setMbcBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V" />
+		<method name="setMbcByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Mbc;)V" />
+		<method name="setPostEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+		<method name="setPostEqBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+		<method name="setPostEqBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+		<method name="setPostEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+		<method name="setPreEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+		<method name="setPreEqBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+		<method name="setPreEqBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+		<method name="setPreEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+		<field name="VARIANT_FAVOR_FREQUENCY_RESOLUTION" />
+		<field name="VARIANT_FAVOR_TIME_RESOLUTION" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$BandBase" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ZF)V" />
+		<method name="getCutoffFrequency()F" />
+		<method name="isEnabled()Z" />
+		<method name="setCutoffFrequency(F)V" />
+		<method name="setEnabled(Z)V" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$BandStage" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$Stage" />
+		<method name="&lt;init&gt;(ZZI)V" />
+		<method name="getBandCount()I" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Channel" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(FZIZIZIZ)V" />
+		<method name="&lt;init&gt;(Landroid/media/audiofx/DynamicsProcessing$Channel;)V" />
+		<method name="getInputGain()F" />
+		<method name="getLimiter()Landroid/media/audiofx/DynamicsProcessing$Limiter;" />
+		<method name="getMbc()Landroid/media/audiofx/DynamicsProcessing$Mbc;" />
+		<method name="getMbcBand(I)Landroid/media/audiofx/DynamicsProcessing$MbcBand;" />
+		<method name="getPostEq()Landroid/media/audiofx/DynamicsProcessing$Eq;" />
+		<method name="getPostEqBand(I)Landroid/media/audiofx/DynamicsProcessing$EqBand;" />
+		<method name="getPreEq()Landroid/media/audiofx/DynamicsProcessing$Eq;" />
+		<method name="getPreEqBand(I)Landroid/media/audiofx/DynamicsProcessing$EqBand;" />
+		<method name="setInputGain(F)V" />
+		<method name="setLimiter(Landroid/media/audiofx/DynamicsProcessing$Limiter;)V" />
+		<method name="setMbc(Landroid/media/audiofx/DynamicsProcessing$Mbc;)V" />
+		<method name="setMbcBand(ILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V" />
+		<method name="setPostEq(Landroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+		<method name="setPostEqBand(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+		<method name="setPreEq(Landroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+		<method name="setPreEqBand(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Config" since="28">
+		<extends name="java/lang/Object" />
+		<method name="getChannelByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Channel;" />
+		<method name="getInputGainByChannelIndex(I)F" />
+		<method name="getLimiterByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Limiter;" />
+		<method name="getMbcBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$MbcBand;" />
+		<method name="getMbcBandCount()I" />
+		<method name="getMbcByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Mbc;" />
+		<method name="getPostEqBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$EqBand;" />
+		<method name="getPostEqBandCount()I" />
+		<method name="getPostEqByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Eq;" />
+		<method name="getPreEqBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$EqBand;" />
+		<method name="getPreEqBandCount()I" />
+		<method name="getPreEqByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Eq;" />
+		<method name="getPreferredFrameDuration()F" />
+		<method name="getVariant()I" />
+		<method name="isLimiterInUse()Z" />
+		<method name="isMbcInUse()Z" />
+		<method name="isPostEqInUse()Z" />
+		<method name="isPreEqInUse()Z" />
+		<method name="setAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Channel;)V" />
+		<method name="setChannelTo(ILandroid/media/audiofx/DynamicsProcessing$Channel;)V" />
+		<method name="setInputGainAllChannelsTo(F)V" />
+		<method name="setInputGainByChannelIndex(IF)V" />
+		<method name="setLimiterAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Limiter;)V" />
+		<method name="setLimiterByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Limiter;)V" />
+		<method name="setMbcAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Mbc;)V" />
+		<method name="setMbcBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V" />
+		<method name="setMbcBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V" />
+		<method name="setMbcByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Mbc;)V" />
+		<method name="setPostEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+		<method name="setPostEqBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+		<method name="setPostEqBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+		<method name="setPostEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+		<method name="setPreEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+		<method name="setPreEqBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+		<method name="setPreEqBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+		<method name="setPreEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Config$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IIZIZIZIZ)V" />
+		<method name="build()Landroid/media/audiofx/DynamicsProcessing$Config;" />
+		<method name="setAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Channel;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setChannelTo(ILandroid/media/audiofx/DynamicsProcessing$Channel;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setInputGainAllChannelsTo(F)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setInputGainByChannelIndex(IF)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setLimiterAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Limiter;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setLimiterByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Limiter;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setMbcAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Mbc;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setMbcByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Mbc;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setPostEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setPostEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setPreEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setPreEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+		<method name="setPreferredFrameDuration(F)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Eq" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$BandStage" />
+		<method name="&lt;init&gt;(Landroid/media/audiofx/DynamicsProcessing$Eq;)V" />
+		<method name="&lt;init&gt;(ZZI)V" />
+		<method name="getBand(I)Landroid/media/audiofx/DynamicsProcessing$EqBand;" />
+		<method name="setBand(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$EqBand" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$BandBase" />
+		<method name="&lt;init&gt;(Landroid/media/audiofx/DynamicsProcessing$EqBand;)V" />
+		<method name="&lt;init&gt;(ZFF)V" />
+		<method name="getGain()F" />
+		<method name="setGain(F)V" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Limiter" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$Stage" />
+		<method name="&lt;init&gt;(Landroid/media/audiofx/DynamicsProcessing$Limiter;)V" />
+		<method name="&lt;init&gt;(ZZIFFFFF)V" />
+		<method name="getAttackTime()F" />
+		<method name="getLinkGroup()I" />
+		<method name="getPostGain()F" />
+		<method name="getRatio()F" />
+		<method name="getReleaseTime()F" />
+		<method name="getThreshold()F" />
+		<method name="setAttackTime(F)V" />
+		<method name="setLinkGroup(I)V" />
+		<method name="setPostGain(F)V" />
+		<method name="setRatio(F)V" />
+		<method name="setReleaseTime(F)V" />
+		<method name="setThreshold(F)V" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Mbc" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$BandStage" />
+		<method name="&lt;init&gt;(Landroid/media/audiofx/DynamicsProcessing$Mbc;)V" />
+		<method name="&lt;init&gt;(ZZI)V" />
+		<method name="getBand(I)Landroid/media/audiofx/DynamicsProcessing$MbcBand;" />
+		<method name="setBand(ILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$MbcBand" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$BandBase" />
+		<method name="&lt;init&gt;(Landroid/media/audiofx/DynamicsProcessing$MbcBand;)V" />
+		<method name="&lt;init&gt;(ZFFFFFFFFFF)V" />
+		<method name="getAttackTime()F" />
+		<method name="getExpanderRatio()F" />
+		<method name="getKneeWidth()F" />
+		<method name="getNoiseGateThreshold()F" />
+		<method name="getPostGain()F" />
+		<method name="getPreGain()F" />
+		<method name="getRatio()F" />
+		<method name="getReleaseTime()F" />
+		<method name="getThreshold()F" />
+		<method name="setAttackTime(F)V" />
+		<method name="setExpanderRatio(F)V" />
+		<method name="setKneeWidth(F)V" />
+		<method name="setNoiseGateThreshold(F)V" />
+		<method name="setPostGain(F)V" />
+		<method name="setPreGain(F)V" />
+		<method name="setRatio(F)V" />
+		<method name="setReleaseTime(F)V" />
+		<method name="setThreshold(F)V" />
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Stage" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ZZ)V" />
+		<method name="isEnabled()Z" />
+		<method name="isInUse()Z" />
+		<method name="setEnabled(Z)V" />
+	</class>
+	<class name="android/media/audiofx/EnvironmentalReverb" since="9">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getDecayHFRatio()S" />
+		<method name="getDecayTime()I" />
+		<method name="getDensity()S" />
+		<method name="getDiffusion()S" />
+		<method name="getProperties()Landroid/media/audiofx/EnvironmentalReverb$Settings;" />
+		<method name="getReflectionsDelay()I" />
+		<method name="getReflectionsLevel()S" />
+		<method name="getReverbDelay()I" />
+		<method name="getReverbLevel()S" />
+		<method name="getRoomHFLevel()S" />
+		<method name="getRoomLevel()S" />
+		<method name="setDecayHFRatio(S)V" />
+		<method name="setDecayTime(I)V" />
+		<method name="setDensity(S)V" />
+		<method name="setDiffusion(S)V" />
+		<method name="setParameterListener(Landroid/media/audiofx/EnvironmentalReverb$OnParameterChangeListener;)V" />
+		<method name="setProperties(Landroid/media/audiofx/EnvironmentalReverb$Settings;)V" />
+		<method name="setReflectionsDelay(I)V" />
+		<method name="setReflectionsLevel(S)V" />
+		<method name="setReverbDelay(I)V" />
+		<method name="setReverbLevel(S)V" />
+		<method name="setRoomHFLevel(S)V" />
+		<method name="setRoomLevel(S)V" />
+		<field name="PARAM_DECAY_HF_RATIO" />
+		<field name="PARAM_DECAY_TIME" />
+		<field name="PARAM_DENSITY" />
+		<field name="PARAM_DIFFUSION" />
+		<field name="PARAM_REFLECTIONS_DELAY" />
+		<field name="PARAM_REFLECTIONS_LEVEL" />
+		<field name="PARAM_REVERB_DELAY" />
+		<field name="PARAM_REVERB_LEVEL" />
+		<field name="PARAM_ROOM_HF_LEVEL" />
+		<field name="PARAM_ROOM_LEVEL" />
+	</class>
+	<class name="android/media/audiofx/EnvironmentalReverb$OnParameterChangeListener" since="9">
+		<extends name="java/lang/Object" />
+		<method name="onParameterChange(Landroid/media/audiofx/EnvironmentalReverb;III)V" />
+	</class>
+	<class name="android/media/audiofx/EnvironmentalReverb$Settings" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="decayHFRatio" />
+		<field name="decayTime" />
+		<field name="density" />
+		<field name="diffusion" />
+		<field name="reflectionsDelay" />
+		<field name="reflectionsLevel" />
+		<field name="reverbDelay" />
+		<field name="reverbLevel" />
+		<field name="roomHFLevel" />
+		<field name="roomLevel" />
+	</class>
+	<class name="android/media/audiofx/Equalizer" since="9">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getBand(I)S" />
+		<method name="getBandFreqRange(S)[I" />
+		<method name="getBandLevel(S)S" />
+		<method name="getBandLevelRange()[S" />
+		<method name="getCenterFreq(S)I" />
+		<method name="getCurrentPreset()S" />
+		<method name="getNumberOfBands()S" />
+		<method name="getNumberOfPresets()S" />
+		<method name="getPresetName(S)Ljava/lang/String;" />
+		<method name="getProperties()Landroid/media/audiofx/Equalizer$Settings;" />
+		<method name="setBandLevel(SS)V" />
+		<method name="setParameterListener(Landroid/media/audiofx/Equalizer$OnParameterChangeListener;)V" />
+		<method name="setProperties(Landroid/media/audiofx/Equalizer$Settings;)V" />
+		<method name="usePreset(S)V" />
+		<field name="PARAM_BAND_FREQ_RANGE" />
+		<field name="PARAM_BAND_LEVEL" />
+		<field name="PARAM_CENTER_FREQ" />
+		<field name="PARAM_CURRENT_PRESET" />
+		<field name="PARAM_GET_BAND" />
+		<field name="PARAM_GET_NUM_OF_PRESETS" />
+		<field name="PARAM_GET_PRESET_NAME" />
+		<field name="PARAM_LEVEL_RANGE" />
+		<field name="PARAM_NUM_BANDS" />
+		<field name="PARAM_STRING_SIZE_MAX" />
+	</class>
+	<class name="android/media/audiofx/Equalizer$OnParameterChangeListener" since="9">
+		<extends name="java/lang/Object" />
+		<method name="onParameterChange(Landroid/media/audiofx/Equalizer;IIII)V" />
+	</class>
+	<class name="android/media/audiofx/Equalizer$Settings" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="bandLevels" />
+		<field name="curPreset" />
+		<field name="numBands" />
+	</class>
+	<class name="android/media/audiofx/HapticGenerator" since="31">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="create(I)Landroid/media/audiofx/HapticGenerator;" />
+		<method name="isAvailable()Z" />
+	</class>
+	<class name="android/media/audiofx/LoudnessEnhancer" since="19">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getTargetGain()F" />
+		<method name="setTargetGain(I)V" />
+		<field name="PARAM_TARGET_GAIN_MB" />
+	</class>
+	<class name="android/media/audiofx/NoiseSuppressor" since="16">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<method name="create(I)Landroid/media/audiofx/NoiseSuppressor;" />
+		<method name="isAvailable()Z" />
+	</class>
+	<class name="android/media/audiofx/PresetReverb" since="9">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getPreset()S" />
+		<method name="getProperties()Landroid/media/audiofx/PresetReverb$Settings;" />
+		<method name="setParameterListener(Landroid/media/audiofx/PresetReverb$OnParameterChangeListener;)V" />
+		<method name="setPreset(S)V" />
+		<method name="setProperties(Landroid/media/audiofx/PresetReverb$Settings;)V" />
+		<field name="PARAM_PRESET" />
+		<field name="PRESET_LARGEHALL" />
+		<field name="PRESET_LARGEROOM" />
+		<field name="PRESET_MEDIUMHALL" />
+		<field name="PRESET_MEDIUMROOM" />
+		<field name="PRESET_NONE" />
+		<field name="PRESET_PLATE" />
+		<field name="PRESET_SMALLROOM" />
+	</class>
+	<class name="android/media/audiofx/PresetReverb$OnParameterChangeListener" since="9">
+		<extends name="java/lang/Object" />
+		<method name="onParameterChange(Landroid/media/audiofx/PresetReverb;IIS)V" />
+	</class>
+	<class name="android/media/audiofx/PresetReverb$Settings" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="preset" />
+	</class>
+	<class name="android/media/audiofx/Virtualizer" since="9">
+		<extends name="android/media/audiofx/AudioEffect" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="canVirtualize(II)Z" since="21" />
+		<method name="forceVirtualizationMode(I)Z" since="21" />
+		<method name="getProperties()Landroid/media/audiofx/Virtualizer$Settings;" />
+		<method name="getRoundedStrength()S" />
+		<method name="getSpeakerAngles(II[I)Z" since="21" />
+		<method name="getStrengthSupported()Z" />
+		<method name="getVirtualizationMode()I" since="21" />
+		<method name="setParameterListener(Landroid/media/audiofx/Virtualizer$OnParameterChangeListener;)V" />
+		<method name="setProperties(Landroid/media/audiofx/Virtualizer$Settings;)V" />
+		<method name="setStrength(S)V" />
+		<field name="PARAM_STRENGTH" />
+		<field name="PARAM_STRENGTH_SUPPORTED" />
+		<field name="VIRTUALIZATION_MODE_AUTO" since="21" />
+		<field name="VIRTUALIZATION_MODE_BINAURAL" since="21" />
+		<field name="VIRTUALIZATION_MODE_OFF" since="21" />
+		<field name="VIRTUALIZATION_MODE_TRANSAURAL" since="21" />
+	</class>
+	<class name="android/media/audiofx/Virtualizer$OnParameterChangeListener" since="9">
+		<extends name="java/lang/Object" />
+		<method name="onParameterChange(Landroid/media/audiofx/Virtualizer;IIS)V" />
+	</class>
+	<class name="android/media/audiofx/Virtualizer$Settings" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="strength" />
+	</class>
+	<class name="android/media/audiofx/Visualizer" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getCaptureSize()I" />
+		<method name="getCaptureSizeRange()[I" />
+		<method name="getEnabled()Z" />
+		<method name="getFft([B)I" />
+		<method name="getMaxCaptureRate()I" />
+		<method name="getMeasurementMode()I" since="19" />
+		<method name="getMeasurementPeakRms(Landroid/media/audiofx/Visualizer$MeasurementPeakRms;)I" since="19" />
+		<method name="getSamplingRate()I" />
+		<method name="getScalingMode()I" since="16" />
+		<method name="getWaveForm([B)I" />
+		<method name="release()V" />
+		<method name="setCaptureSize(I)I" />
+		<method name="setDataCaptureListener(Landroid/media/audiofx/Visualizer$OnDataCaptureListener;IZZ)I" />
+		<method name="setEnabled(Z)I" />
+		<method name="setMeasurementMode(I)I" since="19" />
+		<method name="setScalingMode(I)I" since="16" />
+		<field name="ALREADY_EXISTS" />
+		<field name="ERROR" />
+		<field name="ERROR_BAD_VALUE" />
+		<field name="ERROR_DEAD_OBJECT" />
+		<field name="ERROR_INVALID_OPERATION" />
+		<field name="ERROR_NO_INIT" />
+		<field name="ERROR_NO_MEMORY" />
+		<field name="MEASUREMENT_MODE_NONE" since="19" />
+		<field name="MEASUREMENT_MODE_PEAK_RMS" since="19" />
+		<field name="SCALING_MODE_AS_PLAYED" since="16" />
+		<field name="SCALING_MODE_NORMALIZED" since="16" />
+		<field name="STATE_ENABLED" />
+		<field name="STATE_INITIALIZED" />
+		<field name="STATE_UNINITIALIZED" />
+		<field name="SUCCESS" />
+	</class>
+	<class name="android/media/audiofx/Visualizer$MeasurementPeakRms" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="mPeak" />
+		<field name="mRms" />
+	</class>
+	<class name="android/media/audiofx/Visualizer$OnDataCaptureListener" since="9">
+		<extends name="java/lang/Object" />
+		<method name="onFftDataCapture(Landroid/media/audiofx/Visualizer;[BI)V" />
+		<method name="onWaveFormDataCapture(Landroid/media/audiofx/Visualizer;[BI)V" />
+	</class>
+	<class name="android/media/browse/MediaBrowser" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/content/ComponentName;Landroid/media/browse/MediaBrowser$ConnectionCallback;Landroid/os/Bundle;)V" />
+		<method name="connect()V" />
+		<method name="disconnect()V" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getItem(Ljava/lang/String;Landroid/media/browse/MediaBrowser$ItemCallback;)V" since="23" />
+		<method name="getRoot()Ljava/lang/String;" />
+		<method name="getServiceComponent()Landroid/content/ComponentName;" />
+		<method name="getSessionToken()Landroid/media/session/MediaSession$Token;" />
+		<method name="isConnected()Z" />
+		<method name="subscribe(Ljava/lang/String;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V" />
+		<method name="subscribe(Ljava/lang/String;Landroid/os/Bundle;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V" since="24" />
+		<method name="unsubscribe(Ljava/lang/String;)V" />
+		<method name="unsubscribe(Ljava/lang/String;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V" since="24" />
+		<field name="EXTRA_PAGE" since="24" />
+		<field name="EXTRA_PAGE_SIZE" since="24" />
+	</class>
+	<class name="android/media/browse/MediaBrowser$ConnectionCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onConnected()V" />
+		<method name="onConnectionFailed()V" />
+		<method name="onConnectionSuspended()V" />
+	</class>
+	<class name="android/media/browse/MediaBrowser$ItemCallback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onError(Ljava/lang/String;)V" />
+		<method name="onItemLoaded(Landroid/media/browse/MediaBrowser$MediaItem;)V" />
+	</class>
+	<class name="android/media/browse/MediaBrowser$MediaItem" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/media/MediaDescription;I)V" />
+		<method name="getDescription()Landroid/media/MediaDescription;" />
+		<method name="getFlags()I" />
+		<method name="getMediaId()Ljava/lang/String;" />
+		<method name="isBrowsable()Z" />
+		<method name="isPlayable()Z" />
+		<field name="CREATOR" />
+		<field name="FLAG_BROWSABLE" />
+		<field name="FLAG_PLAYABLE" />
+	</class>
+	<class name="android/media/browse/MediaBrowser$SubscriptionCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onChildrenLoaded(Ljava/lang/String;Ljava/util/List;)V" />
+		<method name="onChildrenLoaded(Ljava/lang/String;Ljava/util/List;Landroid/os/Bundle;)V" since="24" />
+		<method name="onError(Ljava/lang/String;)V" />
+		<method name="onError(Ljava/lang/String;Landroid/os/Bundle;)V" since="24" />
+	</class>
+	<class name="android/media/effect/Effect" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="apply(IIII)V" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="release()V" />
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="setUpdateListener(Landroid/media/effect/EffectUpdateListener;)V" />
+	</class>
+	<class name="android/media/effect/EffectContext" since="14">
+		<extends name="java/lang/Object" />
+		<method name="createWithCurrentGlContext()Landroid/media/effect/EffectContext;" />
+		<method name="getFactory()Landroid/media/effect/EffectFactory;" />
+		<method name="release()V" />
+	</class>
+	<class name="android/media/effect/EffectFactory" since="14">
+		<extends name="java/lang/Object" />
+		<method name="createEffect(Ljava/lang/String;)Landroid/media/effect/Effect;" />
+		<method name="isEffectSupported(Ljava/lang/String;)Z" />
+		<field name="EFFECT_AUTOFIX" />
+		<field name="EFFECT_BACKDROPPER" />
+		<field name="EFFECT_BITMAPOVERLAY" />
+		<field name="EFFECT_BLACKWHITE" />
+		<field name="EFFECT_BRIGHTNESS" />
+		<field name="EFFECT_CONTRAST" />
+		<field name="EFFECT_CROP" />
+		<field name="EFFECT_CROSSPROCESS" />
+		<field name="EFFECT_DOCUMENTARY" />
+		<field name="EFFECT_DUOTONE" />
+		<field name="EFFECT_FILLLIGHT" />
+		<field name="EFFECT_FISHEYE" />
+		<field name="EFFECT_FLIP" />
+		<field name="EFFECT_GRAIN" />
+		<field name="EFFECT_GRAYSCALE" />
+		<field name="EFFECT_LOMOISH" />
+		<field name="EFFECT_NEGATIVE" />
+		<field name="EFFECT_POSTERIZE" />
+		<field name="EFFECT_REDEYE" />
+		<field name="EFFECT_ROTATE" />
+		<field name="EFFECT_SATURATE" />
+		<field name="EFFECT_SEPIA" />
+		<field name="EFFECT_SHARPEN" />
+		<field name="EFFECT_STRAIGHTEN" />
+		<field name="EFFECT_TEMPERATURE" />
+		<field name="EFFECT_TINT" />
+		<field name="EFFECT_VIGNETTE" />
+	</class>
+	<class name="android/media/effect/EffectUpdateListener" since="14">
+		<extends name="java/lang/Object" />
+		<method name="onEffectUpdated(Landroid/media/effect/Effect;Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/media/metrics/Event" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getMetricsBundle()Landroid/os/Bundle;" />
+		<method name="getTimeSinceCreatedMillis()J" />
+	</class>
+	<class name="android/media/metrics/LogSessionId" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getStringId()Ljava/lang/String;" />
+		<field name="LOG_SESSION_ID_NONE" />
+	</class>
+	<class name="android/media/metrics/MediaMetricsManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="createPlaybackSession()Landroid/media/metrics/PlaybackSession;" />
+		<method name="createRecordingSession()Landroid/media/metrics/RecordingSession;" />
+		<field name="INVALID_TIMESTAMP" />
+	</class>
+	<class name="android/media/metrics/NetworkEvent" since="31">
+		<extends name="android/media/metrics/Event" />
+		<implements name="android/os/Parcelable" />
+		<method name="getNetworkType()I" />
+		<field name="CREATOR" />
+		<field name="NETWORK_TYPE_2G" />
+		<field name="NETWORK_TYPE_3G" />
+		<field name="NETWORK_TYPE_4G" />
+		<field name="NETWORK_TYPE_5G_NSA" />
+		<field name="NETWORK_TYPE_5G_SA" />
+		<field name="NETWORK_TYPE_ETHERNET" />
+		<field name="NETWORK_TYPE_OFFLINE" />
+		<field name="NETWORK_TYPE_OTHER" />
+		<field name="NETWORK_TYPE_UNKNOWN" />
+		<field name="NETWORK_TYPE_WIFI" />
+	</class>
+	<class name="android/media/metrics/NetworkEvent$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/media/metrics/NetworkEvent;" />
+		<method name="setMetricsBundle(Landroid/os/Bundle;)Landroid/media/metrics/NetworkEvent$Builder;" />
+		<method name="setNetworkType(I)Landroid/media/metrics/NetworkEvent$Builder;" />
+		<method name="setTimeSinceCreatedMillis(J)Landroid/media/metrics/NetworkEvent$Builder;" />
+	</class>
+	<class name="android/media/metrics/PlaybackErrorEvent" since="31">
+		<extends name="android/media/metrics/Event" />
+		<implements name="android/os/Parcelable" />
+		<method name="getErrorCode()I" />
+		<method name="getSubErrorCode()I" />
+		<field name="CREATOR" />
+		<field name="ERROR_AUDIO_TRACK_INIT_FAILED" />
+		<field name="ERROR_AUDIO_TRACK_OTHER" />
+		<field name="ERROR_AUDIO_TRACK_WRITE_FAILED" />
+		<field name="ERROR_DECODER_INIT_FAILED" />
+		<field name="ERROR_DECODING_FAILED" />
+		<field name="ERROR_DECODING_FORMAT_EXCEEDS_CAPABILITIES" />
+		<field name="ERROR_DECODING_FORMAT_UNSUPPORTED" />
+		<field name="ERROR_DECODING_OTHER" />
+		<field name="ERROR_DRM_CONTENT_ERROR" />
+		<field name="ERROR_DRM_DEVICE_REVOKED" />
+		<field name="ERROR_DRM_DISALLOWED_OPERATION" />
+		<field name="ERROR_DRM_LICENSE_ACQUISITION_FAILED" />
+		<field name="ERROR_DRM_OTHER" />
+		<field name="ERROR_DRM_PROVISIONING_FAILED" />
+		<field name="ERROR_DRM_SCHEME_UNSUPPORTED" />
+		<field name="ERROR_DRM_SYSTEM_ERROR" />
+		<field name="ERROR_IO_BAD_HTTP_STATUS" />
+		<field name="ERROR_IO_CONNECTION_CLOSED" />
+		<field name="ERROR_IO_CONNECTION_TIMEOUT" />
+		<field name="ERROR_IO_DNS_FAILED" />
+		<field name="ERROR_IO_FILE_NOT_FOUND" />
+		<field name="ERROR_IO_NETWORK_CONNECTION_FAILED" />
+		<field name="ERROR_IO_NETWORK_UNAVAILABLE" />
+		<field name="ERROR_IO_NO_PERMISSION" />
+		<field name="ERROR_IO_OTHER" />
+		<field name="ERROR_OTHER" />
+		<field name="ERROR_PARSING_CONTAINER_MALFORMED" />
+		<field name="ERROR_PARSING_CONTAINER_UNSUPPORTED" />
+		<field name="ERROR_PARSING_MANIFEST_MALFORMED" />
+		<field name="ERROR_PARSING_MANIFEST_UNSUPPORTED" />
+		<field name="ERROR_PARSING_OTHER" />
+		<field name="ERROR_PLAYER_BEHIND_LIVE_WINDOW" />
+		<field name="ERROR_PLAYER_OTHER" />
+		<field name="ERROR_PLAYER_REMOTE" />
+		<field name="ERROR_RUNTIME" />
+		<field name="ERROR_UNKNOWN" />
+	</class>
+	<class name="android/media/metrics/PlaybackErrorEvent$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/media/metrics/PlaybackErrorEvent;" />
+		<method name="setErrorCode(I)Landroid/media/metrics/PlaybackErrorEvent$Builder;" />
+		<method name="setException(Ljava/lang/Exception;)Landroid/media/metrics/PlaybackErrorEvent$Builder;" />
+		<method name="setMetricsBundle(Landroid/os/Bundle;)Landroid/media/metrics/PlaybackErrorEvent$Builder;" />
+		<method name="setSubErrorCode(I)Landroid/media/metrics/PlaybackErrorEvent$Builder;" />
+		<method name="setTimeSinceCreatedMillis(J)Landroid/media/metrics/PlaybackErrorEvent$Builder;" />
+	</class>
+	<class name="android/media/metrics/PlaybackMetrics" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAudioUnderrunCount()I" />
+		<method name="getContentType()I" />
+		<method name="getDrmSessionId()[B" />
+		<method name="getDrmType()I" />
+		<method name="getExperimentIds()[J" />
+		<method name="getLocalBytesRead()J" />
+		<method name="getMediaDurationMillis()J" />
+		<method name="getMetricsBundle()Landroid/os/Bundle;" />
+		<method name="getNetworkBytesRead()J" />
+		<method name="getNetworkTransferDurationMillis()J" />
+		<method name="getPlaybackType()I" />
+		<method name="getPlayerName()Ljava/lang/String;" />
+		<method name="getPlayerVersion()Ljava/lang/String;" />
+		<method name="getStreamSource()I" />
+		<method name="getStreamType()I" />
+		<method name="getVideoFramesDropped()I" />
+		<method name="getVideoFramesPlayed()I" />
+		<field name="CONTENT_TYPE_AD" />
+		<field name="CONTENT_TYPE_MAIN" />
+		<field name="CONTENT_TYPE_OTHER" />
+		<field name="CONTENT_TYPE_UNKNOWN" />
+		<field name="CREATOR" />
+		<field name="DRM_TYPE_CLEARKEY" />
+		<field name="DRM_TYPE_NONE" />
+		<field name="DRM_TYPE_OTHER" />
+		<field name="DRM_TYPE_PLAY_READY" />
+		<field name="DRM_TYPE_WIDEVINE_L1" />
+		<field name="DRM_TYPE_WIDEVINE_L3" />
+		<field name="DRM_TYPE_WV_L3_FALLBACK" />
+		<field name="PLAYBACK_TYPE_LIVE" />
+		<field name="PLAYBACK_TYPE_OTHER" />
+		<field name="PLAYBACK_TYPE_UNKNOWN" />
+		<field name="PLAYBACK_TYPE_VOD" />
+		<field name="STREAM_SOURCE_DEVICE" />
+		<field name="STREAM_SOURCE_MIXED" />
+		<field name="STREAM_SOURCE_NETWORK" />
+		<field name="STREAM_SOURCE_UNKNOWN" />
+		<field name="STREAM_TYPE_DASH" />
+		<field name="STREAM_TYPE_HLS" />
+		<field name="STREAM_TYPE_OTHER" />
+		<field name="STREAM_TYPE_PROGRESSIVE" />
+		<field name="STREAM_TYPE_SS" />
+		<field name="STREAM_TYPE_UNKNOWN" />
+	</class>
+	<class name="android/media/metrics/PlaybackMetrics$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addExperimentId(J)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="build()Landroid/media/metrics/PlaybackMetrics;" />
+		<method name="setAudioUnderrunCount(I)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setContentType(I)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setDrmSessionId([B)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setDrmType(I)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setLocalBytesRead(J)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setMediaDurationMillis(J)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setMetricsBundle(Landroid/os/Bundle;)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setNetworkBytesRead(J)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setNetworkTransferDurationMillis(J)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setPlaybackType(I)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setPlayerName(Ljava/lang/String;)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setPlayerVersion(Ljava/lang/String;)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setStreamSource(I)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setStreamType(I)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setVideoFramesDropped(I)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+		<method name="setVideoFramesPlayed(I)Landroid/media/metrics/PlaybackMetrics$Builder;" />
+	</class>
+	<class name="android/media/metrics/PlaybackSession" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="getSessionId()Landroid/media/metrics/LogSessionId;" />
+		<method name="reportNetworkEvent(Landroid/media/metrics/NetworkEvent;)V" />
+		<method name="reportPlaybackErrorEvent(Landroid/media/metrics/PlaybackErrorEvent;)V" />
+		<method name="reportPlaybackMetrics(Landroid/media/metrics/PlaybackMetrics;)V" />
+		<method name="reportPlaybackStateEvent(Landroid/media/metrics/PlaybackStateEvent;)V" />
+		<method name="reportTrackChangeEvent(Landroid/media/metrics/TrackChangeEvent;)V" />
+	</class>
+	<class name="android/media/metrics/PlaybackStateEvent" since="31">
+		<extends name="android/media/metrics/Event" />
+		<implements name="android/os/Parcelable" />
+		<method name="getState()I" />
+		<field name="CREATOR" />
+		<field name="STATE_ABANDONED" />
+		<field name="STATE_BUFFERING" />
+		<field name="STATE_ENDED" />
+		<field name="STATE_FAILED" />
+		<field name="STATE_INTERRUPTED_BY_AD" />
+		<field name="STATE_JOINING_BACKGROUND" />
+		<field name="STATE_JOINING_FOREGROUND" />
+		<field name="STATE_NOT_STARTED" />
+		<field name="STATE_PAUSED" />
+		<field name="STATE_PAUSED_BUFFERING" />
+		<field name="STATE_PLAYING" />
+		<field name="STATE_SEEKING" />
+		<field name="STATE_STOPPED" />
+		<field name="STATE_SUPPRESSED" />
+		<field name="STATE_SUPPRESSED_BUFFERING" />
+	</class>
+	<class name="android/media/metrics/PlaybackStateEvent$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/media/metrics/PlaybackStateEvent;" />
+		<method name="setMetricsBundle(Landroid/os/Bundle;)Landroid/media/metrics/PlaybackStateEvent$Builder;" />
+		<method name="setState(I)Landroid/media/metrics/PlaybackStateEvent$Builder;" />
+		<method name="setTimeSinceCreatedMillis(J)Landroid/media/metrics/PlaybackStateEvent$Builder;" />
+	</class>
+	<class name="android/media/metrics/RecordingSession" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="getSessionId()Landroid/media/metrics/LogSessionId;" />
+	</class>
+	<class name="android/media/metrics/TrackChangeEvent" since="31">
+		<extends name="android/media/metrics/Event" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAudioSampleRate()I" />
+		<method name="getBitrate()I" />
+		<method name="getChannelCount()I" />
+		<method name="getCodecName()Ljava/lang/String;" />
+		<method name="getContainerMimeType()Ljava/lang/String;" />
+		<method name="getHeight()I" />
+		<method name="getLanguage()Ljava/lang/String;" />
+		<method name="getLanguageRegion()Ljava/lang/String;" />
+		<method name="getSampleMimeType()Ljava/lang/String;" />
+		<method name="getTrackChangeReason()I" />
+		<method name="getTrackState()I" />
+		<method name="getTrackType()I" />
+		<method name="getVideoFrameRate()F" />
+		<method name="getWidth()I" />
+		<field name="CREATOR" />
+		<field name="TRACK_CHANGE_REASON_ADAPTIVE" />
+		<field name="TRACK_CHANGE_REASON_INITIAL" />
+		<field name="TRACK_CHANGE_REASON_MANUAL" />
+		<field name="TRACK_CHANGE_REASON_OTHER" />
+		<field name="TRACK_CHANGE_REASON_UNKNOWN" />
+		<field name="TRACK_STATE_OFF" />
+		<field name="TRACK_STATE_ON" />
+		<field name="TRACK_TYPE_AUDIO" />
+		<field name="TRACK_TYPE_TEXT" />
+		<field name="TRACK_TYPE_VIDEO" />
+	</class>
+	<class name="android/media/metrics/TrackChangeEvent$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="build()Landroid/media/metrics/TrackChangeEvent;" />
+		<method name="setAudioSampleRate(I)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setBitrate(I)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setChannelCount(I)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setCodecName(Ljava/lang/String;)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setContainerMimeType(Ljava/lang/String;)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setHeight(I)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setLanguage(Ljava/lang/String;)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setLanguageRegion(Ljava/lang/String;)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setMetricsBundle(Landroid/os/Bundle;)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setSampleMimeType(Ljava/lang/String;)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setTimeSinceCreatedMillis(J)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setTrackChangeReason(I)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setTrackState(I)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setVideoFrameRate(F)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+		<method name="setWidth(I)Landroid/media/metrics/TrackChangeEvent$Builder;" />
+	</class>
+	<class name="android/media/midi/MidiDevice" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="connectPorts(Landroid/media/midi/MidiInputPort;I)Landroid/media/midi/MidiDevice$MidiConnection;" />
+		<method name="getInfo()Landroid/media/midi/MidiDeviceInfo;" />
+		<method name="openInputPort(I)Landroid/media/midi/MidiInputPort;" />
+		<method name="openOutputPort(I)Landroid/media/midi/MidiOutputPort;" />
+	</class>
+	<class name="android/media/midi/MidiDevice$MidiConnection" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+	</class>
+	<class name="android/media/midi/MidiDeviceInfo" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getId()I" />
+		<method name="getInputPortCount()I" />
+		<method name="getOutputPortCount()I" />
+		<method name="getPorts()[Landroid/media/midi/MidiDeviceInfo$PortInfo;" />
+		<method name="getProperties()Landroid/os/Bundle;" />
+		<method name="getType()I" />
+		<method name="isPrivate()Z" />
+		<field name="CREATOR" />
+		<field name="PROPERTY_BLUETOOTH_DEVICE" />
+		<field name="PROPERTY_MANUFACTURER" />
+		<field name="PROPERTY_NAME" />
+		<field name="PROPERTY_PRODUCT" />
+		<field name="PROPERTY_SERIAL_NUMBER" />
+		<field name="PROPERTY_USB_DEVICE" />
+		<field name="PROPERTY_VERSION" />
+		<field name="TYPE_BLUETOOTH" />
+		<field name="TYPE_USB" />
+		<field name="TYPE_VIRTUAL" />
+	</class>
+	<class name="android/media/midi/MidiDeviceInfo$PortInfo" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPortNumber()I" />
+		<method name="getType()I" />
+		<field name="TYPE_INPUT" />
+		<field name="TYPE_OUTPUT" />
+	</class>
+	<class name="android/media/midi/MidiDeviceService" since="23">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getDeviceInfo()Landroid/media/midi/MidiDeviceInfo;" />
+		<method name="getOutputPortReceivers()[Landroid/media/midi/MidiReceiver;" />
+		<method name="onClose()V" />
+		<method name="onDeviceStatusChanged(Landroid/media/midi/MidiDeviceStatus;)V" />
+		<method name="onGetInputPortReceivers()[Landroid/media/midi/MidiReceiver;" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/media/midi/MidiDeviceStatus" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDeviceInfo()Landroid/media/midi/MidiDeviceInfo;" />
+		<method name="getOutputPortOpenCount(I)I" />
+		<method name="isInputPortOpen(I)Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/media/midi/MidiInputPort" since="23">
+		<extends name="android/media/midi/MidiReceiver" />
+		<implements name="java/io/Closeable" />
+		<method name="getPortNumber()I" />
+	</class>
+	<class name="android/media/midi/MidiManager" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getDevices()[Landroid/media/midi/MidiDeviceInfo;" />
+		<method name="openBluetoothDevice(Landroid/bluetooth/BluetoothDevice;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/os/Handler;)V" />
+		<method name="openDevice(Landroid/media/midi/MidiDeviceInfo;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/os/Handler;)V" />
+		<method name="registerDeviceCallback(Landroid/media/midi/MidiManager$DeviceCallback;Landroid/os/Handler;)V" />
+		<method name="unregisterDeviceCallback(Landroid/media/midi/MidiManager$DeviceCallback;)V" />
+	</class>
+	<class name="android/media/midi/MidiManager$DeviceCallback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onDeviceAdded(Landroid/media/midi/MidiDeviceInfo;)V" />
+		<method name="onDeviceRemoved(Landroid/media/midi/MidiDeviceInfo;)V" />
+		<method name="onDeviceStatusChanged(Landroid/media/midi/MidiDeviceStatus;)V" />
+	</class>
+	<class name="android/media/midi/MidiManager$OnDeviceOpenedListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onDeviceOpened(Landroid/media/midi/MidiDevice;)V" />
+	</class>
+	<class name="android/media/midi/MidiOutputPort" since="23">
+		<extends name="android/media/midi/MidiSender" />
+		<implements name="java/io/Closeable" />
+		<method name="getPortNumber()I" />
+	</class>
+	<class name="android/media/midi/MidiReceiver" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="flush()V" />
+		<method name="getMaxMessageSize()I" />
+		<method name="onFlush()V" />
+		<method name="onSend([BIIJ)V" />
+		<method name="send([BII)V" />
+		<method name="send([BIIJ)V" />
+	</class>
+	<class name="android/media/midi/MidiSender" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="connect(Landroid/media/midi/MidiReceiver;)V" />
+		<method name="disconnect(Landroid/media/midi/MidiReceiver;)V" />
+		<method name="onConnect(Landroid/media/midi/MidiReceiver;)V" />
+		<method name="onDisconnect(Landroid/media/midi/MidiReceiver;)V" />
+	</class>
+	<class name="android/media/projection/MediaProjection" since="21">
+		<extends name="java/lang/Object" />
+		<method name="createVirtualDisplay(Ljava/lang/String;IIIILandroid/view/Surface;Landroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;)Landroid/hardware/display/VirtualDisplay;" />
+		<method name="registerCallback(Landroid/media/projection/MediaProjection$Callback;Landroid/os/Handler;)V" />
+		<method name="stop()V" />
+		<method name="unregisterCallback(Landroid/media/projection/MediaProjection$Callback;)V" />
+	</class>
+	<class name="android/media/projection/MediaProjection$Callback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onStop()V" />
+	</class>
+	<class name="android/media/projection/MediaProjectionManager" since="21">
+		<extends name="java/lang/Object" />
+		<method name="createScreenCaptureIntent()Landroid/content/Intent;" />
+		<method name="getMediaProjection(ILandroid/content/Intent;)Landroid/media/projection/MediaProjection;" />
+	</class>
+	<class name="android/media/session/MediaController" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/media/session/MediaSession$Token;)V" />
+		<method name="adjustVolume(II)V" />
+		<method name="dispatchMediaButtonEvent(Landroid/view/KeyEvent;)Z" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getFlags()J" />
+		<method name="getMetadata()Landroid/media/MediaMetadata;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getPlaybackInfo()Landroid/media/session/MediaController$PlaybackInfo;" />
+		<method name="getPlaybackState()Landroid/media/session/PlaybackState;" />
+		<method name="getQueue()Ljava/util/List;" />
+		<method name="getQueueTitle()Ljava/lang/CharSequence;" />
+		<method name="getRatingType()I" />
+		<method name="getSessionActivity()Landroid/app/PendingIntent;" />
+		<method name="getSessionInfo()Landroid/os/Bundle;" since="29" />
+		<method name="getSessionToken()Landroid/media/session/MediaSession$Token;" />
+		<method name="getTag()Ljava/lang/String;" since="30" />
+		<method name="getTransportControls()Landroid/media/session/MediaController$TransportControls;" />
+		<method name="registerCallback(Landroid/media/session/MediaController$Callback;)V" />
+		<method name="registerCallback(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V" />
+		<method name="sendCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V" />
+		<method name="setVolumeTo(II)V" />
+		<method name="unregisterCallback(Landroid/media/session/MediaController$Callback;)V" />
+	</class>
+	<class name="android/media/session/MediaController$Callback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAudioInfoChanged(Landroid/media/session/MediaController$PlaybackInfo;)V" />
+		<method name="onExtrasChanged(Landroid/os/Bundle;)V" />
+		<method name="onMetadataChanged(Landroid/media/MediaMetadata;)V" />
+		<method name="onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V" />
+		<method name="onQueueChanged(Ljava/util/List;)V" />
+		<method name="onQueueTitleChanged(Ljava/lang/CharSequence;)V" />
+		<method name="onSessionDestroyed()V" />
+		<method name="onSessionEvent(Ljava/lang/String;Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/media/session/MediaController$PlaybackInfo" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="29" />
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;" />
+		<method name="getCurrentVolume()I" />
+		<method name="getMaxVolume()I" />
+		<method name="getPlaybackType()I" />
+		<method name="getVolumeControl()I" />
+		<method name="getVolumeControlId()Ljava/lang/String;" since="30" />
+		<field name="CREATOR" since="29" />
+		<field name="PLAYBACK_TYPE_LOCAL" />
+		<field name="PLAYBACK_TYPE_REMOTE" />
+	</class>
+	<class name="android/media/session/MediaController$TransportControls" since="21">
+		<extends name="java/lang/Object" />
+		<method name="fastForward()V" />
+		<method name="pause()V" />
+		<method name="play()V" />
+		<method name="playFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="playFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="playFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V" since="23" />
+		<method name="prepare()V" since="24" />
+		<method name="prepareFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V" since="24" />
+		<method name="prepareFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V" since="24" />
+		<method name="prepareFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V" since="24" />
+		<method name="rewind()V" />
+		<method name="seekTo(J)V" />
+		<method name="sendCustomAction(Landroid/media/session/PlaybackState$CustomAction;Landroid/os/Bundle;)V" />
+		<method name="sendCustomAction(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="setPlaybackSpeed(F)V" since="29" />
+		<method name="setRating(Landroid/media/Rating;)V" />
+		<method name="skipToNext()V" />
+		<method name="skipToPrevious()V" />
+		<method name="skipToQueueItem(J)V" />
+		<method name="stop()V" />
+	</class>
+	<class name="android/media/session/MediaSession" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)V" since="29" />
+		<method name="getController()Landroid/media/session/MediaController;" />
+		<method name="getCurrentControllerInfo()Landroid/media/session/MediaSessionManager$RemoteUserInfo;" since="28" />
+		<method name="getSessionToken()Landroid/media/session/MediaSession$Token;" />
+		<method name="isActive()Z" />
+		<method name="release()V" />
+		<method name="sendSessionEvent(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="setActive(Z)V" />
+		<method name="setCallback(Landroid/media/session/MediaSession$Callback;)V" />
+		<method name="setCallback(Landroid/media/session/MediaSession$Callback;Landroid/os/Handler;)V" />
+		<method name="setExtras(Landroid/os/Bundle;)V" />
+		<method name="setFlags(I)V" />
+		<method name="setMediaButtonBroadcastReceiver(Landroid/content/ComponentName;)V" since="31" />
+		<method name="setMediaButtonReceiver(Landroid/app/PendingIntent;)V" deprecated="31" />
+		<method name="setMetadata(Landroid/media/MediaMetadata;)V" />
+		<method name="setPlaybackState(Landroid/media/session/PlaybackState;)V" />
+		<method name="setPlaybackToLocal(Landroid/media/AudioAttributes;)V" />
+		<method name="setPlaybackToRemote(Landroid/media/VolumeProvider;)V" />
+		<method name="setQueue(Ljava/util/List;)V" />
+		<method name="setQueueTitle(Ljava/lang/CharSequence;)V" />
+		<method name="setRatingType(I)V" since="22" />
+		<method name="setSessionActivity(Landroid/app/PendingIntent;)V" />
+		<field name="FLAG_HANDLES_MEDIA_BUTTONS" deprecated="26" />
+		<field name="FLAG_HANDLES_TRANSPORT_CONTROLS" deprecated="26" />
+	</class>
+	<class name="android/media/session/MediaSession$Callback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V" />
+		<method name="onCustomAction(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="onFastForward()V" />
+		<method name="onMediaButtonEvent(Landroid/content/Intent;)Z" />
+		<method name="onPause()V" />
+		<method name="onPlay()V" />
+		<method name="onPlayFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="onPlayFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="onPlayFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V" since="23" />
+		<method name="onPrepare()V" since="24" />
+		<method name="onPrepareFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V" since="24" />
+		<method name="onPrepareFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V" since="24" />
+		<method name="onPrepareFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V" since="24" />
+		<method name="onRewind()V" />
+		<method name="onSeekTo(J)V" />
+		<method name="onSetPlaybackSpeed(F)V" since="29" />
+		<method name="onSetRating(Landroid/media/Rating;)V" />
+		<method name="onSkipToNext()V" />
+		<method name="onSkipToPrevious()V" />
+		<method name="onSkipToQueueItem(J)V" />
+		<method name="onStop()V" />
+	</class>
+	<class name="android/media/session/MediaSession$QueueItem" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/media/MediaDescription;J)V" />
+		<method name="getDescription()Landroid/media/MediaDescription;" />
+		<method name="getQueueId()J" />
+		<field name="CREATOR" />
+		<field name="UNKNOWN_ID" />
+	</class>
+	<class name="android/media/session/MediaSession$Token" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/media/session/MediaSessionManager" since="21">
+		<extends name="java/lang/Object" />
+		<method name="addOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/content/ComponentName;)V" />
+		<method name="addOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/content/ComponentName;Landroid/os/Handler;)V" />
+		<method name="addOnSession2TokensChangedListener(Landroid/media/session/MediaSessionManager$OnSession2TokensChangedListener;)V" since="29" />
+		<method name="addOnSession2TokensChangedListener(Landroid/media/session/MediaSessionManager$OnSession2TokensChangedListener;Landroid/os/Handler;)V" since="29" />
+		<method name="getActiveSessions(Landroid/content/ComponentName;)Ljava/util/List;" />
+		<method name="getSession2Tokens()Ljava/util/List;" since="29" />
+		<method name="isTrustedForMediaControl(Landroid/media/session/MediaSessionManager$RemoteUserInfo;)Z" since="28" />
+		<method name="notifySession2Created(Ljava/lang/Object;)V" since="29" deprecated="31" />
+		<method name="removeOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;)V" />
+		<method name="removeOnSession2TokensChangedListener(Landroid/media/session/MediaSessionManager$OnSession2TokensChangedListener;)V" since="29" />
+	</class>
+	<class name="android/media/session/MediaSessionManager$OnActiveSessionsChangedListener" since="21">
+		<extends name="java/lang/Object" />
+		<method name="onActiveSessionsChanged(Ljava/util/List;)V" />
+	</class>
+	<class name="android/media/session/MediaSessionManager$OnSession2TokensChangedListener" since="29">
+		<extends name="java/lang/Object" />
+		<method name="onSession2TokensChanged(Ljava/util/List;)V" />
+	</class>
+	<class name="android/media/session/MediaSessionManager$RemoteUserInfo" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;II)V" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getPid()I" />
+		<method name="getUid()I" />
+	</class>
+	<class name="android/media/session/PlaybackState" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getActions()J" />
+		<method name="getActiveQueueItemId()J" />
+		<method name="getBufferedPosition()J" />
+		<method name="getCustomActions()Ljava/util/List;" />
+		<method name="getErrorMessage()Ljava/lang/CharSequence;" />
+		<method name="getExtras()Landroid/os/Bundle;" since="22" />
+		<method name="getLastPositionUpdateTime()J" />
+		<method name="getPlaybackSpeed()F" />
+		<method name="getPosition()J" />
+		<method name="getState()I" />
+		<method name="isActive()Z" since="31" />
+		<field name="ACTION_FAST_FORWARD" />
+		<field name="ACTION_PAUSE" />
+		<field name="ACTION_PLAY" />
+		<field name="ACTION_PLAY_FROM_MEDIA_ID" />
+		<field name="ACTION_PLAY_FROM_SEARCH" />
+		<field name="ACTION_PLAY_FROM_URI" since="23" />
+		<field name="ACTION_PLAY_PAUSE" />
+		<field name="ACTION_PREPARE" since="24" />
+		<field name="ACTION_PREPARE_FROM_MEDIA_ID" since="24" />
+		<field name="ACTION_PREPARE_FROM_SEARCH" since="24" />
+		<field name="ACTION_PREPARE_FROM_URI" since="24" />
+		<field name="ACTION_REWIND" />
+		<field name="ACTION_SEEK_TO" />
+		<field name="ACTION_SET_PLAYBACK_SPEED" since="31" />
+		<field name="ACTION_SET_RATING" />
+		<field name="ACTION_SKIP_TO_NEXT" />
+		<field name="ACTION_SKIP_TO_PREVIOUS" />
+		<field name="ACTION_SKIP_TO_QUEUE_ITEM" />
+		<field name="ACTION_STOP" />
+		<field name="CREATOR" />
+		<field name="PLAYBACK_POSITION_UNKNOWN" />
+		<field name="STATE_BUFFERING" />
+		<field name="STATE_CONNECTING" />
+		<field name="STATE_ERROR" />
+		<field name="STATE_FAST_FORWARDING" />
+		<field name="STATE_NONE" />
+		<field name="STATE_PAUSED" />
+		<field name="STATE_PLAYING" />
+		<field name="STATE_REWINDING" />
+		<field name="STATE_SKIPPING_TO_NEXT" />
+		<field name="STATE_SKIPPING_TO_PREVIOUS" />
+		<field name="STATE_SKIPPING_TO_QUEUE_ITEM" />
+		<field name="STATE_STOPPED" />
+	</class>
+	<class name="android/media/session/PlaybackState$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/media/session/PlaybackState;)V" />
+		<method name="addCustomAction(Landroid/media/session/PlaybackState$CustomAction;)Landroid/media/session/PlaybackState$Builder;" />
+		<method name="addCustomAction(Ljava/lang/String;Ljava/lang/String;I)Landroid/media/session/PlaybackState$Builder;" />
+		<method name="build()Landroid/media/session/PlaybackState;" />
+		<method name="setActions(J)Landroid/media/session/PlaybackState$Builder;" />
+		<method name="setActiveQueueItemId(J)Landroid/media/session/PlaybackState$Builder;" />
+		<method name="setBufferedPosition(J)Landroid/media/session/PlaybackState$Builder;" />
+		<method name="setErrorMessage(Ljava/lang/CharSequence;)Landroid/media/session/PlaybackState$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/session/PlaybackState$Builder;" since="22" />
+		<method name="setState(IJF)Landroid/media/session/PlaybackState$Builder;" />
+		<method name="setState(IJFJ)Landroid/media/session/PlaybackState$Builder;" />
+	</class>
+	<class name="android/media/session/PlaybackState$CustomAction" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAction()Ljava/lang/String;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getIcon()I" />
+		<method name="getName()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/media/session/PlaybackState$CustomAction$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/CharSequence;I)V" />
+		<method name="build()Landroid/media/session/PlaybackState$CustomAction;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/session/PlaybackState$CustomAction$Builder;" />
+	</class>
+	<class name="android/media/tv/TvContentRating" since="21">
+		<extends name="java/lang/Object" />
+		<method name="contains(Landroid/media/tv/TvContentRating;)Z" since="24" />
+		<method name="createRating(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/media/tv/TvContentRating;" />
+		<method name="flattenToString()Ljava/lang/String;" />
+		<method name="getDomain()Ljava/lang/String;" />
+		<method name="getMainRating()Ljava/lang/String;" />
+		<method name="getRatingSystem()Ljava/lang/String;" />
+		<method name="getSubRatings()Ljava/util/List;" />
+		<method name="unflattenFromString(Ljava/lang/String;)Landroid/media/tv/TvContentRating;" />
+		<field name="UNRATED" since="23" />
+	</class>
+	<class name="android/media/tv/TvContract" since="21">
+		<extends name="java/lang/Object" />
+		<method name="buildChannelLogoUri(J)Landroid/net/Uri;" />
+		<method name="buildChannelLogoUri(Landroid/net/Uri;)Landroid/net/Uri;" />
+		<method name="buildChannelUri(J)Landroid/net/Uri;" />
+		<method name="buildChannelUriForPassthroughInput(Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="buildChannelsUriForInput(Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="buildInputId(Landroid/content/ComponentName;)Ljava/lang/String;" />
+		<method name="buildPreviewProgramUri(J)Landroid/net/Uri;" since="26" />
+		<method name="buildPreviewProgramsUriForChannel(J)Landroid/net/Uri;" since="26" />
+		<method name="buildPreviewProgramsUriForChannel(Landroid/net/Uri;)Landroid/net/Uri;" since="26" />
+		<method name="buildProgramUri(J)Landroid/net/Uri;" />
+		<method name="buildProgramsUriForChannel(J)Landroid/net/Uri;" />
+		<method name="buildProgramsUriForChannel(JJJ)Landroid/net/Uri;" />
+		<method name="buildProgramsUriForChannel(Landroid/net/Uri;)Landroid/net/Uri;" />
+		<method name="buildProgramsUriForChannel(Landroid/net/Uri;JJ)Landroid/net/Uri;" />
+		<method name="buildRecordedProgramUri(J)Landroid/net/Uri;" since="24" />
+		<method name="buildWatchNextProgramUri(J)Landroid/net/Uri;" since="26" />
+		<method name="isChannelUri(Landroid/net/Uri;)Z" since="24" />
+		<method name="isChannelUriForPassthroughInput(Landroid/net/Uri;)Z" since="24" />
+		<method name="isChannelUriForTunerInput(Landroid/net/Uri;)Z" since="24" />
+		<method name="isProgramUri(Landroid/net/Uri;)Z" since="24" />
+		<method name="isRecordedProgramUri(Landroid/net/Uri;)Z" since="27" />
+		<method name="requestChannelBrowsable(Landroid/content/Context;J)V" since="26" />
+		<field name="ACTION_INITIALIZE_PROGRAMS" since="26" />
+		<field name="ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" since="26" />
+		<field name="ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED" since="26" />
+		<field name="ACTION_REQUEST_CHANNEL_BROWSABLE" since="26" />
+		<field name="ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" since="26" />
+		<field name="AUTHORITY" />
+		<field name="EXTRA_CHANNEL_ID" since="26" />
+		<field name="EXTRA_PREVIEW_PROGRAM_ID" since="26" />
+		<field name="EXTRA_WATCH_NEXT_PROGRAM_ID" since="26" />
+	</class>
+	<class name="android/media/tv/TvContract$BaseTvColumns" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="COLUMN_PACKAGE_NAME" />
+	</class>
+	<class name="android/media/tv/TvContract$Channels" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/tv/TvContract$BaseTvColumns" />
+		<method name="getVideoResolution(Ljava/lang/String;)Ljava/lang/String;" />
+		<field name="COLUMN_APP_LINK_COLOR" since="23" />
+		<field name="COLUMN_APP_LINK_ICON_URI" since="23" />
+		<field name="COLUMN_APP_LINK_INTENT_URI" since="23" />
+		<field name="COLUMN_APP_LINK_POSTER_ART_URI" since="23" />
+		<field name="COLUMN_APP_LINK_TEXT" since="23" />
+		<field name="COLUMN_BROADCAST_GENRE" since="31" />
+		<field name="COLUMN_BROWSABLE" since="26" />
+		<field name="COLUMN_CHANNEL_LIST_ID" since="31" />
+		<field name="COLUMN_DESCRIPTION" />
+		<field name="COLUMN_DISPLAY_NAME" />
+		<field name="COLUMN_DISPLAY_NUMBER" />
+		<field name="COLUMN_GLOBAL_CONTENT_ID" since="30" />
+		<field name="COLUMN_INPUT_ID" />
+		<field name="COLUMN_INTERNAL_PROVIDER_DATA" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG1" since="23" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG2" since="23" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG3" since="23" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG4" since="23" />
+		<field name="COLUMN_INTERNAL_PROVIDER_ID" since="26" />
+		<field name="COLUMN_LOCKED" since="26" />
+		<field name="COLUMN_NETWORK_AFFILIATION" />
+		<field name="COLUMN_ORIGINAL_NETWORK_ID" />
+		<field name="COLUMN_REMOTE_CONTROL_KEY_PRESET_NUMBER" since="31" />
+		<field name="COLUMN_SCRAMBLED" since="31" />
+		<field name="COLUMN_SEARCHABLE" />
+		<field name="COLUMN_SERVICE_ID" />
+		<field name="COLUMN_SERVICE_TYPE" />
+		<field name="COLUMN_TRANSIENT" since="26" />
+		<field name="COLUMN_TRANSPORT_STREAM_ID" />
+		<field name="COLUMN_TYPE" />
+		<field name="COLUMN_VERSION_NUMBER" />
+		<field name="COLUMN_VIDEO_FORMAT" />
+		<field name="COLUMN_VIDEO_RESOLUTION" since="31" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="SERVICE_TYPE_AUDIO" />
+		<field name="SERVICE_TYPE_AUDIO_VIDEO" />
+		<field name="SERVICE_TYPE_OTHER" />
+		<field name="TYPE_1SEG" />
+		<field name="TYPE_ATSC3_T" since="30" />
+		<field name="TYPE_ATSC_C" />
+		<field name="TYPE_ATSC_M_H" />
+		<field name="TYPE_ATSC_T" />
+		<field name="TYPE_CMMB" />
+		<field name="TYPE_DTMB" />
+		<field name="TYPE_DVB_C" />
+		<field name="TYPE_DVB_C2" />
+		<field name="TYPE_DVB_H" />
+		<field name="TYPE_DVB_S" />
+		<field name="TYPE_DVB_S2" />
+		<field name="TYPE_DVB_SH" />
+		<field name="TYPE_DVB_T" />
+		<field name="TYPE_DVB_T2" />
+		<field name="TYPE_ISDB_C" />
+		<field name="TYPE_ISDB_S" />
+		<field name="TYPE_ISDB_S3" since="29" />
+		<field name="TYPE_ISDB_T" />
+		<field name="TYPE_ISDB_TB" />
+		<field name="TYPE_NTSC" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_PAL" />
+		<field name="TYPE_PREVIEW" since="26" />
+		<field name="TYPE_SECAM" />
+		<field name="TYPE_S_DMB" />
+		<field name="TYPE_T_DMB" />
+		<field name="VIDEO_FORMAT_1080I" />
+		<field name="VIDEO_FORMAT_1080P" />
+		<field name="VIDEO_FORMAT_2160P" />
+		<field name="VIDEO_FORMAT_240P" />
+		<field name="VIDEO_FORMAT_360P" />
+		<field name="VIDEO_FORMAT_4320P" />
+		<field name="VIDEO_FORMAT_480I" />
+		<field name="VIDEO_FORMAT_480P" />
+		<field name="VIDEO_FORMAT_576I" />
+		<field name="VIDEO_FORMAT_576P" />
+		<field name="VIDEO_FORMAT_720P" />
+		<field name="VIDEO_RESOLUTION_ED" />
+		<field name="VIDEO_RESOLUTION_FHD" />
+		<field name="VIDEO_RESOLUTION_HD" />
+		<field name="VIDEO_RESOLUTION_SD" />
+		<field name="VIDEO_RESOLUTION_UHD" />
+	</class>
+	<class name="android/media/tv/TvContract$Channels$Logo" since="21">
+		<extends name="java/lang/Object" />
+		<field name="CONTENT_DIRECTORY" />
+	</class>
+	<class name="android/media/tv/TvContract$PreviewPrograms" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/tv/TvContract$BaseTvColumns" />
+		<field name="ASPECT_RATIO_16_9" />
+		<field name="ASPECT_RATIO_1_1" />
+		<field name="ASPECT_RATIO_2_3" />
+		<field name="ASPECT_RATIO_3_2" />
+		<field name="ASPECT_RATIO_4_3" />
+		<field name="AVAILABILITY_AVAILABLE" />
+		<field name="AVAILABILITY_FREE_WITH_SUBSCRIPTION" />
+		<field name="AVAILABILITY_PAID_CONTENT" />
+		<field name="COLUMN_AUDIO_LANGUAGE" />
+		<field name="COLUMN_AUTHOR" />
+		<field name="COLUMN_AVAILABILITY" />
+		<field name="COLUMN_BROWSABLE" />
+		<field name="COLUMN_CANONICAL_GENRE" />
+		<field name="COLUMN_CHANNEL_ID" />
+		<field name="COLUMN_CONTENT_ID" />
+		<field name="COLUMN_CONTENT_RATING" />
+		<field name="COLUMN_DURATION_MILLIS" />
+		<field name="COLUMN_EPISODE_DISPLAY_NUMBER" />
+		<field name="COLUMN_EPISODE_TITLE" />
+		<field name="COLUMN_INTENT_URI" />
+		<field name="COLUMN_INTERACTION_COUNT" />
+		<field name="COLUMN_INTERACTION_TYPE" />
+		<field name="COLUMN_INTERNAL_PROVIDER_DATA" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG1" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG2" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG3" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG4" />
+		<field name="COLUMN_INTERNAL_PROVIDER_ID" />
+		<field name="COLUMN_ITEM_COUNT" />
+		<field name="COLUMN_LAST_PLAYBACK_POSITION_MILLIS" />
+		<field name="COLUMN_LIVE" />
+		<field name="COLUMN_LOGO_URI" />
+		<field name="COLUMN_LONG_DESCRIPTION" />
+		<field name="COLUMN_OFFER_PRICE" />
+		<field name="COLUMN_POSTER_ART_ASPECT_RATIO" />
+		<field name="COLUMN_POSTER_ART_URI" />
+		<field name="COLUMN_PREVIEW_VIDEO_URI" />
+		<field name="COLUMN_RELEASE_DATE" />
+		<field name="COLUMN_REVIEW_RATING" />
+		<field name="COLUMN_REVIEW_RATING_STYLE" />
+		<field name="COLUMN_SEARCHABLE" />
+		<field name="COLUMN_SEASON_DISPLAY_NUMBER" />
+		<field name="COLUMN_SEASON_TITLE" />
+		<field name="COLUMN_SERIES_ID" since="29" />
+		<field name="COLUMN_SHORT_DESCRIPTION" />
+		<field name="COLUMN_SPLIT_ID" since="30" />
+		<field name="COLUMN_STARTING_PRICE" />
+		<field name="COLUMN_THUMBNAIL_ASPECT_RATIO" />
+		<field name="COLUMN_THUMBNAIL_URI" />
+		<field name="COLUMN_TITLE" />
+		<field name="COLUMN_TRANSIENT" />
+		<field name="COLUMN_TYPE" />
+		<field name="COLUMN_VERSION_NUMBER" />
+		<field name="COLUMN_VIDEO_HEIGHT" />
+		<field name="COLUMN_VIDEO_WIDTH" />
+		<field name="COLUMN_WEIGHT" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="INTERACTION_TYPE_FANS" />
+		<field name="INTERACTION_TYPE_FOLLOWERS" />
+		<field name="INTERACTION_TYPE_LIKES" />
+		<field name="INTERACTION_TYPE_LISTENS" />
+		<field name="INTERACTION_TYPE_THUMBS" />
+		<field name="INTERACTION_TYPE_VIEWERS" />
+		<field name="INTERACTION_TYPE_VIEWS" />
+		<field name="REVIEW_RATING_STYLE_PERCENTAGE" />
+		<field name="REVIEW_RATING_STYLE_STARS" />
+		<field name="REVIEW_RATING_STYLE_THUMBS_UP_DOWN" />
+		<field name="TYPE_ALBUM" />
+		<field name="TYPE_ARTIST" />
+		<field name="TYPE_CHANNEL" />
+		<field name="TYPE_CLIP" />
+		<field name="TYPE_EVENT" />
+		<field name="TYPE_MOVIE" />
+		<field name="TYPE_PLAYLIST" />
+		<field name="TYPE_STATION" />
+		<field name="TYPE_TRACK" />
+		<field name="TYPE_TV_EPISODE" />
+		<field name="TYPE_TV_SEASON" />
+		<field name="TYPE_TV_SERIES" />
+	</class>
+	<class name="android/media/tv/TvContract$Programs" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/tv/TvContract$BaseTvColumns" />
+		<field name="COLUMN_AUDIO_LANGUAGE" />
+		<field name="COLUMN_BROADCAST_GENRE" />
+		<field name="COLUMN_CANONICAL_GENRE" />
+		<field name="COLUMN_CHANNEL_ID" />
+		<field name="COLUMN_CONTENT_RATING" />
+		<field name="COLUMN_END_TIME_UTC_MILLIS" />
+		<field name="COLUMN_EPISODE_DISPLAY_NUMBER" since="24" />
+		<field name="COLUMN_EPISODE_NUMBER" deprecated="24" />
+		<field name="COLUMN_EPISODE_TITLE" />
+		<field name="COLUMN_EVENT_ID" since="30" />
+		<field name="COLUMN_GLOBAL_CONTENT_ID" since="30" />
+		<field name="COLUMN_INTERNAL_PROVIDER_DATA" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG1" since="23" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG2" since="23" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG3" since="23" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG4" since="23" />
+		<field name="COLUMN_LONG_DESCRIPTION" />
+		<field name="COLUMN_POSTER_ART_URI" />
+		<field name="COLUMN_RECORDING_PROHIBITED" since="24" />
+		<field name="COLUMN_REVIEW_RATING" since="26" />
+		<field name="COLUMN_REVIEW_RATING_STYLE" since="26" />
+		<field name="COLUMN_SEARCHABLE" since="23" />
+		<field name="COLUMN_SEASON_DISPLAY_NUMBER" since="24" />
+		<field name="COLUMN_SEASON_NUMBER" deprecated="24" />
+		<field name="COLUMN_SEASON_TITLE" since="24" />
+		<field name="COLUMN_SERIES_ID" since="29" />
+		<field name="COLUMN_SHORT_DESCRIPTION" />
+		<field name="COLUMN_SPLIT_ID" since="30" />
+		<field name="COLUMN_START_TIME_UTC_MILLIS" />
+		<field name="COLUMN_THUMBNAIL_URI" />
+		<field name="COLUMN_TITLE" />
+		<field name="COLUMN_VERSION_NUMBER" />
+		<field name="COLUMN_VIDEO_HEIGHT" />
+		<field name="COLUMN_VIDEO_WIDTH" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="REVIEW_RATING_STYLE_PERCENTAGE" since="26" />
+		<field name="REVIEW_RATING_STYLE_STARS" since="26" />
+		<field name="REVIEW_RATING_STYLE_THUMBS_UP_DOWN" since="26" />
+	</class>
+	<class name="android/media/tv/TvContract$Programs$Genres" since="21">
+		<extends name="java/lang/Object" />
+		<method name="decode(Ljava/lang/String;)[Ljava/lang/String;" />
+		<method name="encode([Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="isCanonical(Ljava/lang/String;)Z" since="24" />
+		<field name="ANIMAL_WILDLIFE" />
+		<field name="ARTS" since="22" />
+		<field name="COMEDY" />
+		<field name="DRAMA" />
+		<field name="EDUCATION" />
+		<field name="ENTERTAINMENT" since="22" />
+		<field name="FAMILY_KIDS" />
+		<field name="GAMING" />
+		<field name="LIFE_STYLE" since="22" />
+		<field name="MOVIES" />
+		<field name="MUSIC" since="22" />
+		<field name="NEWS" />
+		<field name="PREMIER" since="22" />
+		<field name="SHOPPING" />
+		<field name="SPORTS" />
+		<field name="TECH_SCIENCE" since="22" />
+		<field name="TRAVEL" />
+	</class>
+	<class name="android/media/tv/TvContract$RecordedPrograms" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/tv/TvContract$BaseTvColumns" />
+		<field name="COLUMN_AUDIO_LANGUAGE" />
+		<field name="COLUMN_BROADCAST_GENRE" />
+		<field name="COLUMN_CANONICAL_GENRE" />
+		<field name="COLUMN_CHANNEL_ID" />
+		<field name="COLUMN_CONTENT_RATING" />
+		<field name="COLUMN_END_TIME_UTC_MILLIS" />
+		<field name="COLUMN_EPISODE_DISPLAY_NUMBER" />
+		<field name="COLUMN_EPISODE_TITLE" />
+		<field name="COLUMN_INPUT_ID" />
+		<field name="COLUMN_INTERNAL_PROVIDER_DATA" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG1" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG2" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG3" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG4" />
+		<field name="COLUMN_LONG_DESCRIPTION" />
+		<field name="COLUMN_POSTER_ART_URI" />
+		<field name="COLUMN_RECORDING_DATA_BYTES" />
+		<field name="COLUMN_RECORDING_DATA_URI" />
+		<field name="COLUMN_RECORDING_DURATION_MILLIS" />
+		<field name="COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS" />
+		<field name="COLUMN_REVIEW_RATING" since="26" />
+		<field name="COLUMN_REVIEW_RATING_STYLE" since="26" />
+		<field name="COLUMN_SEARCHABLE" />
+		<field name="COLUMN_SEASON_DISPLAY_NUMBER" />
+		<field name="COLUMN_SEASON_TITLE" />
+		<field name="COLUMN_SERIES_ID" since="29" />
+		<field name="COLUMN_SHORT_DESCRIPTION" />
+		<field name="COLUMN_SPLIT_ID" since="30" />
+		<field name="COLUMN_START_TIME_UTC_MILLIS" />
+		<field name="COLUMN_THUMBNAIL_URI" />
+		<field name="COLUMN_TITLE" />
+		<field name="COLUMN_VERSION_NUMBER" />
+		<field name="COLUMN_VIDEO_HEIGHT" />
+		<field name="COLUMN_VIDEO_WIDTH" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="REVIEW_RATING_STYLE_PERCENTAGE" since="26" />
+		<field name="REVIEW_RATING_STYLE_STARS" since="26" />
+		<field name="REVIEW_RATING_STYLE_THUMBS_UP_DOWN" since="26" />
+	</class>
+	<class name="android/media/tv/TvContract$WatchNextPrograms" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/media/tv/TvContract$BaseTvColumns" />
+		<field name="ASPECT_RATIO_16_9" />
+		<field name="ASPECT_RATIO_1_1" />
+		<field name="ASPECT_RATIO_2_3" />
+		<field name="ASPECT_RATIO_3_2" />
+		<field name="ASPECT_RATIO_4_3" />
+		<field name="AVAILABILITY_AVAILABLE" />
+		<field name="AVAILABILITY_FREE_WITH_SUBSCRIPTION" />
+		<field name="AVAILABILITY_PAID_CONTENT" />
+		<field name="COLUMN_AUDIO_LANGUAGE" />
+		<field name="COLUMN_AUTHOR" />
+		<field name="COLUMN_AVAILABILITY" />
+		<field name="COLUMN_BROWSABLE" />
+		<field name="COLUMN_CANONICAL_GENRE" />
+		<field name="COLUMN_CONTENT_ID" />
+		<field name="COLUMN_CONTENT_RATING" />
+		<field name="COLUMN_DURATION_MILLIS" />
+		<field name="COLUMN_EPISODE_DISPLAY_NUMBER" />
+		<field name="COLUMN_EPISODE_TITLE" />
+		<field name="COLUMN_INTENT_URI" />
+		<field name="COLUMN_INTERACTION_COUNT" />
+		<field name="COLUMN_INTERACTION_TYPE" />
+		<field name="COLUMN_INTERNAL_PROVIDER_DATA" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG1" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG2" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG3" />
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG4" />
+		<field name="COLUMN_INTERNAL_PROVIDER_ID" />
+		<field name="COLUMN_ITEM_COUNT" />
+		<field name="COLUMN_LAST_ENGAGEMENT_TIME_UTC_MILLIS" />
+		<field name="COLUMN_LAST_PLAYBACK_POSITION_MILLIS" />
+		<field name="COLUMN_LIVE" />
+		<field name="COLUMN_LOGO_URI" />
+		<field name="COLUMN_LONG_DESCRIPTION" />
+		<field name="COLUMN_OFFER_PRICE" />
+		<field name="COLUMN_POSTER_ART_ASPECT_RATIO" />
+		<field name="COLUMN_POSTER_ART_URI" />
+		<field name="COLUMN_PREVIEW_VIDEO_URI" />
+		<field name="COLUMN_RELEASE_DATE" />
+		<field name="COLUMN_REVIEW_RATING" />
+		<field name="COLUMN_REVIEW_RATING_STYLE" />
+		<field name="COLUMN_SEARCHABLE" />
+		<field name="COLUMN_SEASON_DISPLAY_NUMBER" />
+		<field name="COLUMN_SEASON_TITLE" />
+		<field name="COLUMN_SERIES_ID" since="29" />
+		<field name="COLUMN_SHORT_DESCRIPTION" />
+		<field name="COLUMN_SPLIT_ID" since="30" />
+		<field name="COLUMN_STARTING_PRICE" />
+		<field name="COLUMN_THUMBNAIL_ASPECT_RATIO" />
+		<field name="COLUMN_THUMBNAIL_URI" />
+		<field name="COLUMN_TITLE" />
+		<field name="COLUMN_TRANSIENT" />
+		<field name="COLUMN_TYPE" />
+		<field name="COLUMN_VERSION_NUMBER" />
+		<field name="COLUMN_VIDEO_HEIGHT" />
+		<field name="COLUMN_VIDEO_WIDTH" />
+		<field name="COLUMN_WATCH_NEXT_TYPE" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="INTERACTION_TYPE_FANS" />
+		<field name="INTERACTION_TYPE_FOLLOWERS" />
+		<field name="INTERACTION_TYPE_LIKES" />
+		<field name="INTERACTION_TYPE_LISTENS" />
+		<field name="INTERACTION_TYPE_THUMBS" />
+		<field name="INTERACTION_TYPE_VIEWERS" />
+		<field name="INTERACTION_TYPE_VIEWS" />
+		<field name="REVIEW_RATING_STYLE_PERCENTAGE" />
+		<field name="REVIEW_RATING_STYLE_STARS" />
+		<field name="REVIEW_RATING_STYLE_THUMBS_UP_DOWN" />
+		<field name="TYPE_ALBUM" />
+		<field name="TYPE_ARTIST" />
+		<field name="TYPE_CHANNEL" />
+		<field name="TYPE_CLIP" />
+		<field name="TYPE_EVENT" />
+		<field name="TYPE_MOVIE" />
+		<field name="TYPE_PLAYLIST" />
+		<field name="TYPE_STATION" />
+		<field name="TYPE_TRACK" />
+		<field name="TYPE_TV_EPISODE" />
+		<field name="TYPE_TV_SEASON" />
+		<field name="TYPE_TV_SERIES" />
+		<field name="WATCH_NEXT_TYPE_CONTINUE" />
+		<field name="WATCH_NEXT_TYPE_NEW" />
+		<field name="WATCH_NEXT_TYPE_NEXT" />
+		<field name="WATCH_NEXT_TYPE_WATCHLIST" />
+	</class>
+	<class name="android/media/tv/TvInputInfo" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="canPauseRecording()Z" since="31" />
+		<method name="canRecord()Z" since="24" />
+		<method name="createSettingsIntent()Landroid/content/Intent;" deprecated="26" />
+		<method name="createSetupIntent()Landroid/content/Intent;" />
+		<method name="getExtras()Landroid/os/Bundle;" since="24" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getParentId()Ljava/lang/String;" />
+		<method name="getServiceInfo()Landroid/content/pm/ServiceInfo;" />
+		<method name="getTunerCount()I" since="24" />
+		<method name="getType()I" />
+		<method name="isHidden(Landroid/content/Context;)Z" since="24" />
+		<method name="isPassthroughInput()Z" />
+		<method name="loadCustomLabel(Landroid/content/Context;)Ljava/lang/CharSequence;" since="24" />
+		<method name="loadIcon(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;" />
+		<method name="loadLabel(Landroid/content/Context;)Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+		<field name="EXTRA_INPUT_ID" />
+		<field name="TYPE_COMPONENT" />
+		<field name="TYPE_COMPOSITE" />
+		<field name="TYPE_DISPLAY_PORT" />
+		<field name="TYPE_DVI" />
+		<field name="TYPE_HDMI" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_SCART" />
+		<field name="TYPE_SVIDEO" />
+		<field name="TYPE_TUNER" />
+		<field name="TYPE_VGA" />
+	</class>
+	<class name="android/media/tv/TvInputInfo$Builder" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/content/ComponentName;)V" />
+		<method name="build()Landroid/media/tv/TvInputInfo;" />
+		<method name="setCanPauseRecording(Z)Landroid/media/tv/TvInputInfo$Builder;" since="31" />
+		<method name="setCanRecord(Z)Landroid/media/tv/TvInputInfo$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/tv/TvInputInfo$Builder;" />
+		<method name="setTunerCount(I)Landroid/media/tv/TvInputInfo$Builder;" />
+	</class>
+	<class name="android/media/tv/TvInputManager" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getBlockedRatings()Ljava/util/List;" since="28" />
+		<method name="getInputState(Ljava/lang/String;)I" />
+		<method name="getTvInputInfo(Ljava/lang/String;)Landroid/media/tv/TvInputInfo;" />
+		<method name="getTvInputList()Ljava/util/List;" />
+		<method name="isParentalControlsEnabled()Z" />
+		<method name="isRatingBlocked(Landroid/media/tv/TvContentRating;)Z" />
+		<method name="registerCallback(Landroid/media/tv/TvInputManager$TvInputCallback;Landroid/os/Handler;)V" />
+		<method name="unregisterCallback(Landroid/media/tv/TvInputManager$TvInputCallback;)V" />
+		<method name="updateTvInputInfo(Landroid/media/tv/TvInputInfo;)V" since="24" />
+		<field name="ACTION_BLOCKED_RATINGS_CHANGED" />
+		<field name="ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED" />
+		<field name="ACTION_QUERY_CONTENT_RATING_SYSTEMS" />
+		<field name="ACTION_SETUP_INPUTS" since="24" />
+		<field name="ACTION_VIEW_RECORDING_SCHEDULES" since="26" />
+		<field name="INPUT_STATE_CONNECTED" />
+		<field name="INPUT_STATE_CONNECTED_STANDBY" />
+		<field name="INPUT_STATE_DISCONNECTED" />
+		<field name="META_DATA_CONTENT_RATING_SYSTEMS" />
+		<field name="RECORDING_ERROR_INSUFFICIENT_SPACE" since="24" />
+		<field name="RECORDING_ERROR_RESOURCE_BUSY" since="24" />
+		<field name="RECORDING_ERROR_UNKNOWN" since="24" />
+		<field name="TIME_SHIFT_INVALID_TIME" since="23" />
+		<field name="TIME_SHIFT_STATUS_AVAILABLE" since="23" />
+		<field name="TIME_SHIFT_STATUS_UNAVAILABLE" since="23" />
+		<field name="TIME_SHIFT_STATUS_UNKNOWN" since="23" />
+		<field name="TIME_SHIFT_STATUS_UNSUPPORTED" since="23" />
+		<field name="VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY" since="23" />
+		<field name="VIDEO_UNAVAILABLE_REASON_BUFFERING" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_INSUFFICIENT_OUTPUT_PROTECTION" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_LICENSE_EXPIRED" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_PVR_RECORDING_NOT_ALLOWED" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_NOT_CONNECTED" since="30" />
+		<field name="VIDEO_UNAVAILABLE_REASON_TUNING" />
+		<field name="VIDEO_UNAVAILABLE_REASON_UNKNOWN" />
+		<field name="VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL" />
+	</class>
+	<class name="android/media/tv/TvInputManager$TvInputCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onInputAdded(Ljava/lang/String;)V" />
+		<method name="onInputRemoved(Ljava/lang/String;)V" />
+		<method name="onInputStateChanged(Ljava/lang/String;I)V" />
+		<method name="onInputUpdated(Ljava/lang/String;)V" since="24" />
+		<method name="onTvInputInfoUpdated(Landroid/media/tv/TvInputInfo;)V" since="24" />
+	</class>
+	<class name="android/media/tv/TvInputService" since="21">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCreateRecordingSession(Ljava/lang/String;)Landroid/media/tv/TvInputService$RecordingSession;" since="24" />
+		<method name="onCreateRecordingSession(Ljava/lang/String;Ljava/lang/String;)Landroid/media/tv/TvInputService$RecordingSession;" since="30" />
+		<method name="onCreateSession(Ljava/lang/String;)Landroid/media/tv/TvInputService$Session;" />
+		<method name="onCreateSession(Ljava/lang/String;Ljava/lang/String;)Landroid/media/tv/TvInputService$Session;" since="30" />
+		<field name="PRIORITY_HINT_USE_CASE_TYPE_BACKGROUND" since="30" />
+		<field name="PRIORITY_HINT_USE_CASE_TYPE_LIVE" since="30" />
+		<field name="PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK" since="30" />
+		<field name="PRIORITY_HINT_USE_CASE_TYPE_RECORD" since="30" />
+		<field name="PRIORITY_HINT_USE_CASE_TYPE_SCAN" since="30" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/media/tv/TvInputService$HardwareSession" since="21">
+		<extends name="android/media/tv/TvInputService$Session" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="getHardwareInputId()Ljava/lang/String;" />
+		<method name="onHardwareVideoAvailable()V" />
+		<method name="onHardwareVideoUnavailable(I)V" />
+	</class>
+	<class name="android/media/tv/TvInputService$RecordingSession" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="notifyError(I)V" />
+		<method name="notifyRecordingStopped(Landroid/net/Uri;)V" />
+		<method name="notifyTuned(Landroid/net/Uri;)V" />
+		<method name="onAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="onPauseRecording(Landroid/os/Bundle;)V" since="31" />
+		<method name="onRelease()V" />
+		<method name="onResumeRecording(Landroid/os/Bundle;)V" since="31" />
+		<method name="onStartRecording(Landroid/net/Uri;)V" />
+		<method name="onStartRecording(Landroid/net/Uri;Landroid/os/Bundle;)V" since="30" />
+		<method name="onStopRecording()V" />
+		<method name="onTune(Landroid/net/Uri;)V" />
+		<method name="onTune(Landroid/net/Uri;Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/media/tv/TvInputService$Session" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/KeyEvent$Callback" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="layoutSurface(IIII)V" since="23" />
+		<method name="notifyChannelRetuned(Landroid/net/Uri;)V" />
+		<method name="notifyContentAllowed()V" />
+		<method name="notifyContentBlocked(Landroid/media/tv/TvContentRating;)V" />
+		<method name="notifyTimeShiftStatusChanged(I)V" since="23" />
+		<method name="notifyTrackSelected(ILjava/lang/String;)V" />
+		<method name="notifyTracksChanged(Ljava/util/List;)V" />
+		<method name="notifyVideoAvailable()V" />
+		<method name="notifyVideoUnavailable(I)V" />
+		<method name="onAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V" since="24" />
+		<method name="onCreateOverlayView()Landroid/view/View;" />
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onOverlayViewSizeChanged(II)V" since="23" />
+		<method name="onRelease()V" />
+		<method name="onSelectTrack(ILjava/lang/String;)Z" />
+		<method name="onSetCaptionEnabled(Z)V" />
+		<method name="onSetStreamVolume(F)V" />
+		<method name="onSetSurface(Landroid/view/Surface;)Z" />
+		<method name="onSurfaceChanged(III)V" />
+		<method name="onTimeShiftGetCurrentPosition()J" since="23" />
+		<method name="onTimeShiftGetStartPosition()J" since="23" />
+		<method name="onTimeShiftPause()V" since="23" />
+		<method name="onTimeShiftPlay(Landroid/net/Uri;)V" since="24" />
+		<method name="onTimeShiftResume()V" since="23" />
+		<method name="onTimeShiftSeekTo(J)V" since="23" />
+		<method name="onTimeShiftSetPlaybackParams(Landroid/media/PlaybackParams;)V" since="23" />
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onTune(Landroid/net/Uri;)Z" />
+		<method name="onTune(Landroid/net/Uri;Landroid/os/Bundle;)Z" since="24" />
+		<method name="onUnblockContent(Landroid/media/tv/TvContentRating;)V" />
+		<method name="setOverlayViewEnabled(Z)V" />
+	</class>
+	<class name="android/media/tv/TvRecordingClient" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;Landroid/media/tv/TvRecordingClient$RecordingCallback;Landroid/os/Handler;)V" />
+		<method name="pauseRecording()V" since="31" />
+		<method name="pauseRecording(Landroid/os/Bundle;)V" since="31" />
+		<method name="release()V" />
+		<method name="resumeRecording()V" since="31" />
+		<method name="resumeRecording(Landroid/os/Bundle;)V" since="31" />
+		<method name="sendAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="startRecording(Landroid/net/Uri;)V" />
+		<method name="startRecording(Landroid/net/Uri;Landroid/os/Bundle;)V" since="30" />
+		<method name="stopRecording()V" />
+		<method name="tune(Ljava/lang/String;Landroid/net/Uri;)V" />
+		<method name="tune(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/media/tv/TvRecordingClient$RecordingCallback" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onConnectionFailed(Ljava/lang/String;)V" />
+		<method name="onDisconnected(Ljava/lang/String;)V" />
+		<method name="onError(I)V" />
+		<method name="onRecordingStopped(Landroid/net/Uri;)V" />
+		<method name="onTuned(Landroid/net/Uri;)V" />
+	</class>
+	<class name="android/media/tv/TvTrackInfo" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAudioChannelCount()I" />
+		<method name="getAudioSampleRate()I" />
+		<method name="getDescription()Ljava/lang/CharSequence;" since="23" />
+		<method name="getEncoding()Ljava/lang/String;" since="30" />
+		<method name="getExtra()Landroid/os/Bundle;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getLanguage()Ljava/lang/String;" />
+		<method name="getType()I" />
+		<method name="getVideoActiveFormatDescription()B" since="24" />
+		<method name="getVideoFrameRate()F" />
+		<method name="getVideoHeight()I" />
+		<method name="getVideoPixelAspectRatio()F" since="23" />
+		<method name="getVideoWidth()I" />
+		<method name="isAudioDescription()Z" since="30" />
+		<method name="isEncrypted()Z" since="30" />
+		<method name="isHardOfHearing()Z" since="30" />
+		<method name="isSpokenSubtitle()Z" since="30" />
+		<field name="CREATOR" />
+		<field name="TYPE_AUDIO" />
+		<field name="TYPE_SUBTITLE" />
+		<field name="TYPE_VIDEO" />
+	</class>
+	<class name="android/media/tv/TvTrackInfo$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" />
+		<method name="build()Landroid/media/tv/TvTrackInfo;" />
+		<method name="setAudioChannelCount(I)Landroid/media/tv/TvTrackInfo$Builder;" />
+		<method name="setAudioDescription(Z)Landroid/media/tv/TvTrackInfo$Builder;" since="30" />
+		<method name="setAudioSampleRate(I)Landroid/media/tv/TvTrackInfo$Builder;" />
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/media/tv/TvTrackInfo$Builder;" since="23" />
+		<method name="setEncoding(Ljava/lang/String;)Landroid/media/tv/TvTrackInfo$Builder;" since="30" />
+		<method name="setEncrypted(Z)Landroid/media/tv/TvTrackInfo$Builder;" since="30" />
+		<method name="setExtra(Landroid/os/Bundle;)Landroid/media/tv/TvTrackInfo$Builder;" />
+		<method name="setHardOfHearing(Z)Landroid/media/tv/TvTrackInfo$Builder;" since="30" />
+		<method name="setLanguage(Ljava/lang/String;)Landroid/media/tv/TvTrackInfo$Builder;" />
+		<method name="setSpokenSubtitle(Z)Landroid/media/tv/TvTrackInfo$Builder;" since="30" />
+		<method name="setVideoActiveFormatDescription(B)Landroid/media/tv/TvTrackInfo$Builder;" since="24" />
+		<method name="setVideoFrameRate(F)Landroid/media/tv/TvTrackInfo$Builder;" />
+		<method name="setVideoHeight(I)Landroid/media/tv/TvTrackInfo$Builder;" />
+		<method name="setVideoPixelAspectRatio(F)Landroid/media/tv/TvTrackInfo$Builder;" since="23" />
+		<method name="setVideoWidth(I)Landroid/media/tv/TvTrackInfo$Builder;" />
+	</class>
+	<class name="android/media/tv/TvView" since="21">
+		<extends name="android/view/ViewGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="dispatchUnhandledInputEvent(Landroid/view/InputEvent;)Z" />
+		<method name="getSelectedTrack(I)Ljava/lang/String;" />
+		<method name="getTracks(I)Ljava/util/List;" />
+		<method name="onUnhandledInputEvent(Landroid/view/InputEvent;)Z" />
+		<method name="reset()V" />
+		<method name="selectTrack(ILjava/lang/String;)V" />
+		<method name="sendAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V" since="24" />
+		<method name="setCallback(Landroid/media/tv/TvView$TvInputCallback;)V" />
+		<method name="setCaptionEnabled(Z)V" />
+		<method name="setOnUnhandledInputEventListener(Landroid/media/tv/TvView$OnUnhandledInputEventListener;)V" />
+		<method name="setStreamVolume(F)V" />
+		<method name="setTimeShiftPositionCallback(Landroid/media/tv/TvView$TimeShiftPositionCallback;)V" since="23" />
+		<method name="setZOrderMediaOverlay(Z)V" since="24" />
+		<method name="setZOrderOnTop(Z)V" since="24" />
+		<method name="timeShiftPause()V" since="23" />
+		<method name="timeShiftPlay(Ljava/lang/String;Landroid/net/Uri;)V" since="24" />
+		<method name="timeShiftResume()V" since="23" />
+		<method name="timeShiftSeekTo(J)V" since="23" />
+		<method name="timeShiftSetPlaybackParams(Landroid/media/PlaybackParams;)V" since="23" />
+		<method name="tune(Ljava/lang/String;Landroid/net/Uri;)V" />
+		<method name="tune(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)V" since="24" />
+	</class>
+	<class name="android/media/tv/TvView$OnUnhandledInputEventListener" since="21">
+		<extends name="java/lang/Object" />
+		<method name="onUnhandledInputEvent(Landroid/view/InputEvent;)Z" />
+	</class>
+	<class name="android/media/tv/TvView$TimeShiftPositionCallback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onTimeShiftCurrentPositionChanged(Ljava/lang/String;J)V" />
+		<method name="onTimeShiftStartPositionChanged(Ljava/lang/String;J)V" />
+	</class>
+	<class name="android/media/tv/TvView$TvInputCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onChannelRetuned(Ljava/lang/String;Landroid/net/Uri;)V" />
+		<method name="onConnectionFailed(Ljava/lang/String;)V" />
+		<method name="onContentAllowed(Ljava/lang/String;)V" />
+		<method name="onContentBlocked(Ljava/lang/String;Landroid/media/tv/TvContentRating;)V" />
+		<method name="onDisconnected(Ljava/lang/String;)V" />
+		<method name="onTimeShiftStatusChanged(Ljava/lang/String;I)V" since="23" />
+		<method name="onTrackSelected(Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="onTracksChanged(Ljava/lang/String;Ljava/util/List;)V" />
+		<method name="onVideoAvailable(Ljava/lang/String;)V" />
+		<method name="onVideoSizeChanged(Ljava/lang/String;II)V" />
+		<method name="onVideoUnavailable(Ljava/lang/String;I)V" />
+	</class>
+	<class name="android/mtp/MtpConstants" since="12">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="isAbstractObject(I)Z" />
+		<field name="ASSOCIATION_TYPE_GENERIC_FOLDER" />
+		<field name="FORMAT_3GP_CONTAINER" />
+		<field name="FORMAT_AAC" />
+		<field name="FORMAT_ABSTRACT_AUDIO_ALBUM" />
+		<field name="FORMAT_ABSTRACT_AUDIO_PLAYLIST" />
+		<field name="FORMAT_ABSTRACT_AV_PLAYLIST" />
+		<field name="FORMAT_ABSTRACT_DOCUMENT" />
+		<field name="FORMAT_ABSTRACT_IMAGE_ALBUM" />
+		<field name="FORMAT_ABSTRACT_MEDIACAST" />
+		<field name="FORMAT_ABSTRACT_MULTIMEDIA_ALBUM" />
+		<field name="FORMAT_ABSTRACT_VIDEO_ALBUM" />
+		<field name="FORMAT_ABSTRACT_VIDEO_PLAYLIST" />
+		<field name="FORMAT_AIFF" />
+		<field name="FORMAT_ASF" />
+		<field name="FORMAT_ASSOCIATION" />
+		<field name="FORMAT_ASX_PLAYLIST" />
+		<field name="FORMAT_AUDIBLE" />
+		<field name="FORMAT_AVI" />
+		<field name="FORMAT_BMP" />
+		<field name="FORMAT_DEFINED" since="24" />
+		<field name="FORMAT_DNG" since="24" />
+		<field name="FORMAT_DPOF" />
+		<field name="FORMAT_EXECUTABLE" />
+		<field name="FORMAT_EXIF_JPEG" />
+		<field name="FORMAT_FLAC" />
+		<field name="FORMAT_GIF" />
+		<field name="FORMAT_HTML" />
+		<field name="FORMAT_JFIF" />
+		<field name="FORMAT_JP2" />
+		<field name="FORMAT_JPX" />
+		<field name="FORMAT_M3U_PLAYLIST" />
+		<field name="FORMAT_MP2" />
+		<field name="FORMAT_MP3" />
+		<field name="FORMAT_MP4_CONTAINER" />
+		<field name="FORMAT_MPEG" />
+		<field name="FORMAT_MPL_PLAYLIST" />
+		<field name="FORMAT_MS_EXCEL_SPREADSHEET" />
+		<field name="FORMAT_MS_POWERPOINT_PRESENTATION" />
+		<field name="FORMAT_MS_WORD_DOCUMENT" />
+		<field name="FORMAT_OGG" />
+		<field name="FORMAT_PICT" />
+		<field name="FORMAT_PLS_PLAYLIST" />
+		<field name="FORMAT_PNG" />
+		<field name="FORMAT_SCRIPT" />
+		<field name="FORMAT_TEXT" />
+		<field name="FORMAT_TIFF" />
+		<field name="FORMAT_TIFF_EP" />
+		<field name="FORMAT_UNDEFINED" />
+		<field name="FORMAT_UNDEFINED_AUDIO" />
+		<field name="FORMAT_UNDEFINED_COLLECTION" />
+		<field name="FORMAT_UNDEFINED_DOCUMENT" />
+		<field name="FORMAT_UNDEFINED_FIRMWARE" />
+		<field name="FORMAT_UNDEFINED_VIDEO" />
+		<field name="FORMAT_WAV" />
+		<field name="FORMAT_WINDOWS_IMAGE_FORMAT" />
+		<field name="FORMAT_WMA" />
+		<field name="FORMAT_WMV" />
+		<field name="FORMAT_WPL_PLAYLIST" />
+		<field name="FORMAT_XML_DOCUMENT" />
+		<field name="OPERATION_CLOSE_SESSION" since="24" />
+		<field name="OPERATION_COPY_OBJECT" since="24" />
+		<field name="OPERATION_DELETE_OBJECT" since="24" />
+		<field name="OPERATION_FORMAT_STORE" since="24" />
+		<field name="OPERATION_GET_DEVICE_INFO" since="24" />
+		<field name="OPERATION_GET_DEVICE_PROP_DESC" since="24" />
+		<field name="OPERATION_GET_DEVICE_PROP_VALUE" since="24" />
+		<field name="OPERATION_GET_NUM_OBJECTS" since="24" />
+		<field name="OPERATION_GET_OBJECT" since="24" />
+		<field name="OPERATION_GET_OBJECT_HANDLES" since="24" />
+		<field name="OPERATION_GET_OBJECT_INFO" since="24" />
+		<field name="OPERATION_GET_OBJECT_PROPS_SUPPORTED" since="24" />
+		<field name="OPERATION_GET_OBJECT_PROP_DESC" since="24" />
+		<field name="OPERATION_GET_OBJECT_PROP_VALUE" since="24" />
+		<field name="OPERATION_GET_OBJECT_REFERENCES" since="24" />
+		<field name="OPERATION_GET_PARTIAL_OBJECT" since="24" />
+		<field name="OPERATION_GET_PARTIAL_OBJECT_64" since="24" />
+		<field name="OPERATION_GET_STORAGE_INFO" since="24" />
+		<field name="OPERATION_GET_STORAGE_I_DS" since="24" />
+		<field name="OPERATION_GET_THUMB" since="24" />
+		<field name="OPERATION_INITIATE_CAPTURE" since="24" />
+		<field name="OPERATION_INITIATE_OPEN_CAPTURE" since="24" />
+		<field name="OPERATION_MOVE_OBJECT" since="24" />
+		<field name="OPERATION_OPEN_SESSION" since="24" />
+		<field name="OPERATION_POWER_DOWN" since="24" />
+		<field name="OPERATION_RESET_DEVICE" since="24" />
+		<field name="OPERATION_RESET_DEVICE_PROP_VALUE" since="24" />
+		<field name="OPERATION_SELF_TEST" since="24" />
+		<field name="OPERATION_SEND_OBJECT" since="24" />
+		<field name="OPERATION_SEND_OBJECT_INFO" since="24" />
+		<field name="OPERATION_SET_DEVICE_PROP_VALUE" since="24" />
+		<field name="OPERATION_SET_OBJECT_PROP_VALUE" since="24" />
+		<field name="OPERATION_SET_OBJECT_PROTECTION" since="24" />
+		<field name="OPERATION_SET_OBJECT_REFERENCES" since="24" />
+		<field name="OPERATION_SKIP" since="24" />
+		<field name="OPERATION_TERMINATE_OPEN_CAPTURE" since="24" />
+		<field name="PROTECTION_STATUS_NONE" />
+		<field name="PROTECTION_STATUS_NON_TRANSFERABLE_DATA" />
+		<field name="PROTECTION_STATUS_READ_ONLY" />
+		<field name="PROTECTION_STATUS_READ_ONLY_DATA" />
+	</class>
+	<class name="android/mtp/MtpDevice" since="12">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/hardware/usb/UsbDevice;)V" />
+		<method name="close()V" />
+		<method name="deleteObject(I)Z" />
+		<method name="getDeviceId()I" />
+		<method name="getDeviceInfo()Landroid/mtp/MtpDeviceInfo;" />
+		<method name="getDeviceName()Ljava/lang/String;" />
+		<method name="getObject(II)[B" />
+		<method name="getObjectHandles(III)[I" />
+		<method name="getObjectInfo(I)Landroid/mtp/MtpObjectInfo;" />
+		<method name="getParent(I)J" />
+		<method name="getPartialObject(IJJ[B)J" since="24" />
+		<method name="getPartialObject64(IJJ[B)J" since="24" />
+		<method name="getStorageId(I)J" />
+		<method name="getStorageIds()[I" />
+		<method name="getStorageInfo(I)Landroid/mtp/MtpStorageInfo;" />
+		<method name="getThumbnail(I)[B" />
+		<method name="importFile(ILandroid/os/ParcelFileDescriptor;)Z" since="24" />
+		<method name="importFile(ILjava/lang/String;)Z" />
+		<method name="open(Landroid/hardware/usb/UsbDeviceConnection;)Z" />
+		<method name="readEvent(Landroid/os/CancellationSignal;)Landroid/mtp/MtpEvent;" since="24" />
+		<method name="sendObject(IJLandroid/os/ParcelFileDescriptor;)Z" since="24" />
+		<method name="sendObjectInfo(Landroid/mtp/MtpObjectInfo;)Landroid/mtp/MtpObjectInfo;" since="24" />
+	</class>
+	<class name="android/mtp/MtpDeviceInfo" since="12">
+		<extends name="java/lang/Object" />
+		<method name="getEventsSupported()[I" since="24" />
+		<method name="getManufacturer()Ljava/lang/String;" />
+		<method name="getModel()Ljava/lang/String;" />
+		<method name="getOperationsSupported()[I" since="24" />
+		<method name="getSerialNumber()Ljava/lang/String;" />
+		<method name="getVersion()Ljava/lang/String;" />
+		<method name="isEventSupported(I)Z" since="24" />
+		<method name="isOperationSupported(I)Z" since="24" />
+	</class>
+	<class name="android/mtp/MtpEvent" since="24">
+		<extends name="java/lang/Object" />
+		<method name="getDevicePropCode()I" />
+		<method name="getEventCode()I" />
+		<method name="getObjectFormatCode()I" />
+		<method name="getObjectHandle()I" />
+		<method name="getObjectPropCode()I" />
+		<method name="getParameter1()I" />
+		<method name="getParameter2()I" />
+		<method name="getParameter3()I" />
+		<method name="getStorageId()I" />
+		<method name="getTransactionId()I" />
+		<field name="EVENT_CANCEL_TRANSACTION" />
+		<field name="EVENT_CAPTURE_COMPLETE" />
+		<field name="EVENT_DEVICE_INFO_CHANGED" />
+		<field name="EVENT_DEVICE_PROP_CHANGED" />
+		<field name="EVENT_DEVICE_RESET" />
+		<field name="EVENT_OBJECT_ADDED" />
+		<field name="EVENT_OBJECT_INFO_CHANGED" />
+		<field name="EVENT_OBJECT_PROP_CHANGED" />
+		<field name="EVENT_OBJECT_PROP_DESC_CHANGED" />
+		<field name="EVENT_OBJECT_REFERENCES_CHANGED" />
+		<field name="EVENT_OBJECT_REMOVED" />
+		<field name="EVENT_REQUEST_OBJECT_TRANSFER" />
+		<field name="EVENT_STORAGE_INFO_CHANGED" />
+		<field name="EVENT_STORE_ADDED" />
+		<field name="EVENT_STORE_FULL" />
+		<field name="EVENT_STORE_REMOVED" />
+		<field name="EVENT_UNDEFINED" />
+		<field name="EVENT_UNREPORTED_STATUS" />
+	</class>
+	<class name="android/mtp/MtpObjectInfo" since="12">
+		<extends name="java/lang/Object" />
+		<method name="getAssociationDesc()I" />
+		<method name="getAssociationType()I" />
+		<method name="getCompressedSize()I" />
+		<method name="getCompressedSizeLong()J" since="24" />
+		<method name="getDateCreated()J" />
+		<method name="getDateModified()J" />
+		<method name="getFormat()I" />
+		<method name="getImagePixDepth()I" />
+		<method name="getImagePixDepthLong()J" since="24" />
+		<method name="getImagePixHeight()I" />
+		<method name="getImagePixHeightLong()J" since="24" />
+		<method name="getImagePixWidth()I" />
+		<method name="getImagePixWidthLong()J" since="24" />
+		<method name="getKeywords()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getObjectHandle()I" />
+		<method name="getParent()I" />
+		<method name="getProtectionStatus()I" />
+		<method name="getSequenceNumber()I" />
+		<method name="getSequenceNumberLong()J" since="24" />
+		<method name="getStorageId()I" />
+		<method name="getThumbCompressedSize()I" />
+		<method name="getThumbCompressedSizeLong()J" since="24" />
+		<method name="getThumbFormat()I" />
+		<method name="getThumbPixHeight()I" />
+		<method name="getThumbPixHeightLong()J" since="24" />
+		<method name="getThumbPixWidth()I" />
+		<method name="getThumbPixWidthLong()J" since="24" />
+	</class>
+	<class name="android/mtp/MtpObjectInfo$Builder" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/mtp/MtpObjectInfo;)V" />
+		<method name="build()Landroid/mtp/MtpObjectInfo;" />
+		<method name="setAssociationDesc(I)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setAssociationType(I)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setCompressedSize(J)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setDateCreated(J)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setDateModified(J)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setFormat(I)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setImagePixDepth(J)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setImagePixHeight(J)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setImagePixWidth(J)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setKeywords(Ljava/lang/String;)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setName(Ljava/lang/String;)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setObjectHandle(I)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setParent(I)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setProtectionStatus(I)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setSequenceNumber(J)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setStorageId(I)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setThumbCompressedSize(J)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setThumbFormat(I)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setThumbPixHeight(J)Landroid/mtp/MtpObjectInfo$Builder;" />
+		<method name="setThumbPixWidth(J)Landroid/mtp/MtpObjectInfo$Builder;" />
+	</class>
+	<class name="android/mtp/MtpStorageInfo" since="12">
+		<extends name="java/lang/Object" />
+		<method name="getDescription()Ljava/lang/String;" />
+		<method name="getFreeSpace()J" />
+		<method name="getMaxCapacity()J" />
+		<method name="getStorageId()I" />
+		<method name="getVolumeIdentifier()Ljava/lang/String;" />
+	</class>
+	<class name="android/net/Credentials" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="getGid()I" />
+		<method name="getPid()I" />
+		<method name="getUid()I" />
+	</class>
+	<class name="android/net/Ikev2VpnProfile" since="30">
+		<extends name="android/net/PlatformVpnProfile" />
+		<method name="getAllowedAlgorithms()Ljava/util/List;" />
+		<method name="getMaxMtu()I" />
+		<method name="getPassword()Ljava/lang/String;" />
+		<method name="getPresharedKey()[B" />
+		<method name="getProxyInfo()Ljava/lang/Object;" />
+		<method name="getRsaPrivateKey()Ljava/security/PrivateKey;" />
+		<method name="getServerAddr()Ljava/lang/String;" />
+		<method name="getServerRootCaCert()Ljava/security/cert/X509Certificate;" />
+		<method name="getUserCert()Ljava/security/cert/X509Certificate;" />
+		<method name="getUserIdentity()Ljava/lang/String;" />
+		<method name="getUsername()Ljava/lang/String;" />
+		<method name="isBypassable()Z" />
+		<method name="isMetered()Z" />
+	</class>
+	<class name="android/net/Ikev2VpnProfile$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="build()Landroid/net/Ikev2VpnProfile;" />
+		<method name="setAllowedAlgorithms(Ljava/util/List;)Landroid/net/Ikev2VpnProfile$Builder;" />
+		<method name="setAuthDigitalSignature(Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;)Landroid/net/Ikev2VpnProfile$Builder;" />
+		<method name="setAuthPsk([B)Landroid/net/Ikev2VpnProfile$Builder;" />
+		<method name="setAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;Ljava/security/cert/X509Certificate;)Landroid/net/Ikev2VpnProfile$Builder;" />
+		<method name="setBypassable(Z)Landroid/net/Ikev2VpnProfile$Builder;" />
+		<method name="setMaxMtu(I)Landroid/net/Ikev2VpnProfile$Builder;" />
+		<method name="setMetered(Z)Landroid/net/Ikev2VpnProfile$Builder;" />
+		<method name="setProxy(Ljava/lang/Object;)Landroid/net/Ikev2VpnProfile$Builder;" />
+	</class>
+	<class name="android/net/IpSecAlgorithm" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[B)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[BI)V" />
+		<method name="getKey()[B" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getSupportedAlgorithms()Ljava/util/Set;" since="31" />
+		<method name="getTruncationLengthBits()I" />
+		<field name="AUTH_AES_CMAC" since="31" />
+		<field name="AUTH_AES_XCBC" since="31" />
+		<field name="AUTH_CRYPT_AES_GCM" />
+		<field name="AUTH_CRYPT_CHACHA20_POLY1305" since="31" />
+		<field name="AUTH_HMAC_MD5" />
+		<field name="AUTH_HMAC_SHA1" />
+		<field name="AUTH_HMAC_SHA256" />
+		<field name="AUTH_HMAC_SHA384" />
+		<field name="AUTH_HMAC_SHA512" />
+		<field name="CREATOR" />
+		<field name="CRYPT_AES_CBC" />
+		<field name="CRYPT_AES_CTR" since="31" />
+	</class>
+	<class name="android/net/IpSecManager" since="28">
+		<extends name="java/lang/Object" />
+		<method name="allocateSecurityParameterIndex(Ljava/net/InetAddress;)Landroid/net/IpSecManager$SecurityParameterIndex;" />
+		<method name="allocateSecurityParameterIndex(Ljava/net/InetAddress;I)Landroid/net/IpSecManager$SecurityParameterIndex;" />
+		<method name="applyTransportModeTransform(Ljava/io/FileDescriptor;ILandroid/net/IpSecTransform;)V" />
+		<method name="applyTransportModeTransform(Ljava/net/DatagramSocket;ILandroid/net/IpSecTransform;)V" />
+		<method name="applyTransportModeTransform(Ljava/net/Socket;ILandroid/net/IpSecTransform;)V" />
+		<method name="openUdpEncapsulationSocket()Landroid/net/IpSecManager$UdpEncapsulationSocket;" />
+		<method name="openUdpEncapsulationSocket(I)Landroid/net/IpSecManager$UdpEncapsulationSocket;" />
+		<method name="removeTransportModeTransforms(Ljava/io/FileDescriptor;)V" />
+		<method name="removeTransportModeTransforms(Ljava/net/DatagramSocket;)V" />
+		<method name="removeTransportModeTransforms(Ljava/net/Socket;)V" />
+		<field name="DIRECTION_IN" />
+		<field name="DIRECTION_OUT" />
+	</class>
+	<class name="android/net/IpSecManager$ResourceUnavailableException" since="28">
+		<extends name="android/util/AndroidException" />
+	</class>
+	<class name="android/net/IpSecManager$SecurityParameterIndex" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="getSpi()I" />
+	</class>
+	<class name="android/net/IpSecManager$SpiUnavailableException" since="28">
+		<extends name="android/util/AndroidException" />
+		<method name="getSpi()I" />
+	</class>
+	<class name="android/net/IpSecManager$UdpEncapsulationSocket" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;" />
+		<method name="getPort()I" />
+	</class>
+	<class name="android/net/IpSecTransform" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+	</class>
+	<class name="android/net/IpSecTransform$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="buildTransportModeTransform(Ljava/net/InetAddress;Landroid/net/IpSecManager$SecurityParameterIndex;)Landroid/net/IpSecTransform;" />
+		<method name="setAuthenticatedEncryption(Landroid/net/IpSecAlgorithm;)Landroid/net/IpSecTransform$Builder;" />
+		<method name="setAuthentication(Landroid/net/IpSecAlgorithm;)Landroid/net/IpSecTransform$Builder;" />
+		<method name="setEncryption(Landroid/net/IpSecAlgorithm;)Landroid/net/IpSecTransform$Builder;" />
+		<method name="setIpv4Encapsulation(Landroid/net/IpSecManager$UdpEncapsulationSocket;I)Landroid/net/IpSecTransform$Builder;" />
+	</class>
+	<class name="android/net/LocalServerSocket" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" since="28" />
+		<method name="&lt;init&gt;(Ljava/io/FileDescriptor;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="accept()Landroid/net/LocalSocket;" />
+		<method name="close()V" />
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;" />
+		<method name="getLocalSocketAddress()Landroid/net/LocalSocketAddress;" />
+	</class>
+	<class name="android/net/LocalSocket" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" since="17" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" since="19" />
+		<method name="bind(Landroid/net/LocalSocketAddress;)V" />
+		<method name="close()V" />
+		<method name="connect(Landroid/net/LocalSocketAddress;)V" />
+		<method name="connect(Landroid/net/LocalSocketAddress;I)V" />
+		<method name="getAncillaryFileDescriptors()[Ljava/io/FileDescriptor;" />
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getLocalSocketAddress()Landroid/net/LocalSocketAddress;" />
+		<method name="getOutputStream()Ljava/io/OutputStream;" />
+		<method name="getPeerCredentials()Landroid/net/Credentials;" />
+		<method name="getReceiveBufferSize()I" />
+		<method name="getRemoteSocketAddress()Landroid/net/LocalSocketAddress;" />
+		<method name="getSendBufferSize()I" />
+		<method name="getSoTimeout()I" />
+		<method name="isBound()Z" />
+		<method name="isClosed()Z" />
+		<method name="isConnected()Z" />
+		<method name="isInputShutdown()Z" />
+		<method name="isOutputShutdown()Z" />
+		<method name="setFileDescriptorsForSend([Ljava/io/FileDescriptor;)V" />
+		<method name="setReceiveBufferSize(I)V" />
+		<method name="setSendBufferSize(I)V" />
+		<method name="setSoTimeout(I)V" />
+		<method name="shutdownInput()V" />
+		<method name="shutdownOutput()V" />
+		<field name="SOCKET_DGRAM" since="19" />
+		<field name="SOCKET_SEQPACKET" since="19" />
+		<field name="SOCKET_STREAM" since="19" />
+	</class>
+	<class name="android/net/LocalSocketAddress" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/net/LocalSocketAddress$Namespace;)V" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getNamespace()Landroid/net/LocalSocketAddress$Namespace;" />
+	</class>
+	<class name="android/net/LocalSocketAddress$Namespace" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/net/LocalSocketAddress$Namespace;" />
+		<method name="values()[Landroid/net/LocalSocketAddress$Namespace;" />
+		<field name="ABSTRACT" />
+		<field name="FILESYSTEM" />
+		<field name="RESERVED" />
+	</class>
+	<class name="android/net/MailTo" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getBody()Ljava/lang/String;" />
+		<method name="getCc()Ljava/lang/String;" />
+		<method name="getHeaders()Ljava/util/Map;" />
+		<method name="getSubject()Ljava/lang/String;" />
+		<method name="getTo()Ljava/lang/String;" />
+		<method name="isMailTo(Ljava/lang/String;)Z" />
+		<method name="parse(Ljava/lang/String;)Landroid/net/MailTo;" />
+		<field name="MAILTO_SCHEME" />
+	</class>
+	<class name="android/net/NetworkSpecifier" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" since="29" />
+	</class>
+	<class name="android/net/PlatformVpnProfile" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getType()I" />
+		<method name="getTypeString()Ljava/lang/String;" />
+		<field name="TYPE_IKEV2_IPSEC_PSK" />
+		<field name="TYPE_IKEV2_IPSEC_RSA" />
+		<field name="TYPE_IKEV2_IPSEC_USER_PASS" />
+	</class>
+	<class name="android/net/Proxy" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getDefaultHost()Ljava/lang/String;" deprecated="15" />
+		<method name="getDefaultPort()I" deprecated="15" />
+		<method name="getHost(Landroid/content/Context;)Ljava/lang/String;" deprecated="15" />
+		<method name="getPort(Landroid/content/Context;)I" deprecated="15" />
+		<field name="EXTRA_PROXY_INFO" since="21" deprecated="23" removed="31" />
+		<field name="PROXY_CHANGE_ACTION" />
+	</class>
+	<class name="android/net/PskKeyManager" since="21" removed="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="chooseClientKeyIdentity(Ljava/lang/String;Ljava/net/Socket;)Ljava/lang/String;" />
+		<method name="chooseClientKeyIdentity(Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;" />
+		<method name="chooseServerKeyIdentityHint(Ljava/net/Socket;)Ljava/lang/String;" />
+		<method name="chooseServerKeyIdentityHint(Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;" />
+		<method name="getKey(Ljava/lang/String;Ljava/lang/String;Ljava/net/Socket;)Ljavax/crypto/SecretKey;" />
+		<method name="getKey(Ljava/lang/String;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)Ljavax/crypto/SecretKey;" />
+		<field name="MAX_IDENTITY_HINT_LENGTH_BYTES" />
+		<field name="MAX_IDENTITY_LENGTH_BYTES" />
+		<field name="MAX_KEY_LENGTH_BYTES" />
+	</class>
+	<class name="android/net/SSLCertificateSocketFactory" since="1" deprecated="29">
+		<extends name="javax/net/ssl/SSLSocketFactory" />
+		<method name="&lt;init&gt;(I)V" deprecated="15" />
+		<method name="getDefault(I)Ljavax/net/SocketFactory;" deprecated="29" />
+		<method name="getDefault(ILandroid/net/SSLSessionCache;)Ljavax/net/ssl/SSLSocketFactory;" since="8" deprecated="29" />
+		<method name="getHttpSocketFactory(ILandroid/net/SSLSessionCache;)Lorg/apache/http/conn/ssl/SSLSocketFactory;" since="8" deprecated="22" removed="23" />
+		<method name="getInsecure(ILandroid/net/SSLSessionCache;)Ljavax/net/ssl/SSLSocketFactory;" since="8" deprecated="29" />
+		<method name="getNpnSelectedProtocol(Ljava/net/Socket;)[B" since="16" deprecated="29" />
+		<method name="setHostname(Ljava/net/Socket;Ljava/lang/String;)V" since="17" deprecated="29" />
+		<method name="setKeyManagers([Ljavax/net/ssl/KeyManager;)V" since="14" deprecated="29" />
+		<method name="setNpnProtocols([[B)V" since="16" deprecated="29" />
+		<method name="setTrustManagers([Ljavax/net/ssl/TrustManager;)V" since="14" deprecated="29" />
+		<method name="setUseSessionTickets(Ljava/net/Socket;Z)V" since="17" deprecated="29" />
+	</class>
+	<class name="android/net/SSLSessionCache" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+	</class>
+	<class name="android/net/TelephonyNetworkSpecifier" since="30">
+		<extends name="android/net/NetworkSpecifier" />
+		<implements name="android/os/Parcelable" />
+		<method name="getSubscriptionId()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/net/TelephonyNetworkSpecifier$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/net/TelephonyNetworkSpecifier;" />
+		<method name="setSubscriptionId(I)Landroid/net/TelephonyNetworkSpecifier$Builder;" />
+	</class>
+	<class name="android/net/TrafficStats" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clearThreadStatsTag()V" since="14" />
+		<method name="clearThreadStatsUid()V" since="28" />
+		<method name="getAndSetThreadStatsTag(I)I" since="26" />
+		<method name="getMobileRxBytes()J" />
+		<method name="getMobileRxPackets()J" />
+		<method name="getMobileTxBytes()J" />
+		<method name="getMobileTxPackets()J" />
+		<method name="getRxBytes(Ljava/lang/String;)J" since="31" />
+		<method name="getRxPackets(Ljava/lang/String;)J" since="30" />
+		<method name="getThreadStatsTag()I" since="14" />
+		<method name="getThreadStatsUid()I" since="28" />
+		<method name="getTotalRxBytes()J" />
+		<method name="getTotalRxPackets()J" />
+		<method name="getTotalTxBytes()J" />
+		<method name="getTotalTxPackets()J" />
+		<method name="getTxBytes(Ljava/lang/String;)J" since="31" />
+		<method name="getTxPackets(Ljava/lang/String;)J" since="30" />
+		<method name="getUidRxBytes(I)J" />
+		<method name="getUidRxPackets(I)J" since="12" />
+		<method name="getUidTcpRxBytes(I)J" since="12" deprecated="18" />
+		<method name="getUidTcpRxSegments(I)J" since="12" deprecated="18" />
+		<method name="getUidTcpTxBytes(I)J" since="12" deprecated="18" />
+		<method name="getUidTcpTxSegments(I)J" since="12" deprecated="18" />
+		<method name="getUidTxBytes(I)J" />
+		<method name="getUidTxPackets(I)J" since="12" />
+		<method name="getUidUdpRxBytes(I)J" since="12" deprecated="18" />
+		<method name="getUidUdpRxPackets(I)J" since="12" deprecated="18" />
+		<method name="getUidUdpTxBytes(I)J" since="12" deprecated="18" />
+		<method name="getUidUdpTxPackets(I)J" since="12" deprecated="18" />
+		<method name="incrementOperationCount(I)V" since="14" />
+		<method name="incrementOperationCount(II)V" since="14" />
+		<method name="setThreadStatsTag(I)V" since="14" />
+		<method name="setThreadStatsUid(I)V" since="28" />
+		<method name="tagDatagramSocket(Ljava/net/DatagramSocket;)V" since="24" />
+		<method name="tagFileDescriptor(Ljava/io/FileDescriptor;)V" since="28" />
+		<method name="tagSocket(Ljava/net/Socket;)V" since="14" />
+		<method name="untagDatagramSocket(Ljava/net/DatagramSocket;)V" since="24" />
+		<method name="untagFileDescriptor(Ljava/io/FileDescriptor;)V" since="28" />
+		<method name="untagSocket(Ljava/net/Socket;)V" since="14" />
+		<field name="UNSUPPORTED" />
+	</class>
+	<class name="android/net/Uri" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/lang/Comparable" />
+		<method name="buildUpon()Landroid/net/Uri$Builder;" />
+		<method name="compareTo(Landroid/net/Uri;)I" />
+		<method name="decode(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="encode(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="fromFile(Ljava/io/File;)Landroid/net/Uri;" />
+		<method name="fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="getAuthority()Ljava/lang/String;" />
+		<method name="getBooleanQueryParameter(Ljava/lang/String;Z)Z" since="11" />
+		<method name="getEncodedAuthority()Ljava/lang/String;" />
+		<method name="getEncodedFragment()Ljava/lang/String;" />
+		<method name="getEncodedPath()Ljava/lang/String;" />
+		<method name="getEncodedQuery()Ljava/lang/String;" />
+		<method name="getEncodedSchemeSpecificPart()Ljava/lang/String;" />
+		<method name="getEncodedUserInfo()Ljava/lang/String;" />
+		<method name="getFragment()Ljava/lang/String;" />
+		<method name="getHost()Ljava/lang/String;" />
+		<method name="getLastPathSegment()Ljava/lang/String;" />
+		<method name="getPath()Ljava/lang/String;" />
+		<method name="getPathSegments()Ljava/util/List;" />
+		<method name="getPort()I" />
+		<method name="getQuery()Ljava/lang/String;" />
+		<method name="getQueryParameter(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getQueryParameterNames()Ljava/util/Set;" since="11" />
+		<method name="getQueryParameters(Ljava/lang/String;)Ljava/util/List;" />
+		<method name="getScheme()Ljava/lang/String;" />
+		<method name="getSchemeSpecificPart()Ljava/lang/String;" />
+		<method name="getUserInfo()Ljava/lang/String;" />
+		<method name="isAbsolute()Z" />
+		<method name="isHierarchical()Z" />
+		<method name="isOpaque()Z" />
+		<method name="isRelative()Z" />
+		<method name="normalizeScheme()Landroid/net/Uri;" since="16" />
+		<method name="parse(Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="withAppendedPath(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="writeToParcel(Landroid/os/Parcel;Landroid/net/Uri;)V" />
+		<field name="CREATOR" />
+		<field name="EMPTY" />
+	</class>
+	<class name="android/net/Uri$Builder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="appendEncodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="appendPath(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="authority(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="build()Landroid/net/Uri;" />
+		<method name="clearQuery()Landroid/net/Uri$Builder;" since="11" />
+		<method name="encodedAuthority(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="encodedFragment(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="encodedOpaquePart(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="encodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="encodedQuery(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="fragment(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="opaquePart(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="path(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="query(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+		<method name="scheme(Ljava/lang/String;)Landroid/net/Uri$Builder;" />
+	</class>
+	<class name="android/net/UrlQuerySanitizer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="addSanitizedEntry(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="clear()V" />
+		<method name="decodeHexDigit(C)I" />
+		<method name="getAllButNulAndAngleBracketsLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getAllButNulLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getAllButWhitespaceLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getAllIllegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getAllowUnregisteredParamaters()Z" />
+		<method name="getAmpAndSpaceLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getAmpLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getEffectiveValueSanitizer(Ljava/lang/String;)Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getParameterList()Ljava/util/List;" />
+		<method name="getParameterSet()Ljava/util/Set;" />
+		<method name="getPreferFirstRepeatedParameter()Z" />
+		<method name="getSpaceLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getUnregisteredParameterValueSanitizer()Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getUrlAndSpaceLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getUrlLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="getValue(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getValueSanitizer(Ljava/lang/String;)Landroid/net/UrlQuerySanitizer$ValueSanitizer;" />
+		<method name="hasParameter(Ljava/lang/String;)Z" />
+		<method name="isHexDigit(C)Z" />
+		<method name="parseEntry(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="parseQuery(Ljava/lang/String;)V" />
+		<method name="parseUrl(Ljava/lang/String;)V" />
+		<method name="registerParameter(Ljava/lang/String;Landroid/net/UrlQuerySanitizer$ValueSanitizer;)V" />
+		<method name="registerParameters([Ljava/lang/String;Landroid/net/UrlQuerySanitizer$ValueSanitizer;)V" />
+		<method name="setAllowUnregisteredParamaters(Z)V" />
+		<method name="setPreferFirstRepeatedParameter(Z)V" />
+		<method name="setUnregisteredParameterValueSanitizer(Landroid/net/UrlQuerySanitizer$ValueSanitizer;)V" />
+		<method name="unescape(Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="android/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/net/UrlQuerySanitizer$ValueSanitizer" />
+		<method name="&lt;init&gt;(I)V" />
+		<field name="ALL_BUT_NUL_AND_ANGLE_BRACKETS_LEGAL" />
+		<field name="ALL_BUT_NUL_LEGAL" />
+		<field name="ALL_BUT_WHITESPACE_LEGAL" />
+		<field name="ALL_ILLEGAL" />
+		<field name="ALL_OK" />
+		<field name="ALL_WHITESPACE_OK" />
+		<field name="AMP_AND_SPACE_LEGAL" />
+		<field name="AMP_LEGAL" />
+		<field name="AMP_OK" />
+		<field name="DQUOTE_OK" />
+		<field name="GT_OK" />
+		<field name="LT_OK" />
+		<field name="NON_7_BIT_ASCII_OK" />
+		<field name="NUL_OK" />
+		<field name="OTHER_WHITESPACE_OK" />
+		<field name="PCT_OK" />
+		<field name="SCRIPT_URL_OK" />
+		<field name="SPACE_LEGAL" />
+		<field name="SPACE_OK" />
+		<field name="SQUOTE_OK" />
+		<field name="URL_AND_SPACE_LEGAL" />
+		<field name="URL_LEGAL" />
+	</class>
+	<class name="android/net/UrlQuerySanitizer$ParameterValuePair" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/net/UrlQuerySanitizer;Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="mParameter" />
+		<field name="mValue" />
+	</class>
+	<class name="android/net/UrlQuerySanitizer$ValueSanitizer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="sanitize(Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="android/net/VpnManager" since="30">
+		<extends name="java/lang/Object" />
+		<method name="deleteProvisionedVpnProfile()V" />
+		<method name="provisionVpnProfile(Landroid/net/PlatformVpnProfile;)Landroid/content/Intent;" />
+		<method name="startProvisionedVpnProfile()V" />
+		<method name="stopProvisionedVpnProfile()V" />
+	</class>
+	<class name="android/net/VpnService" since="14">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="isAlwaysOn()Z" since="29" />
+		<method name="isLockdownEnabled()Z" since="29" />
+		<method name="onRevoke()V" />
+		<method name="prepare(Landroid/content/Context;)Landroid/content/Intent;" />
+		<method name="protect(I)Z" />
+		<method name="protect(Ljava/net/DatagramSocket;)Z" />
+		<method name="protect(Ljava/net/Socket;)Z" />
+		<method name="setUnderlyingNetworks([Ljava/lang/Object;)Z" since="22" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA_SUPPORTS_ALWAYS_ON" since="27" />
+	</class>
+	<class name="android/net/VpnService$Builder" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/net/VpnService;)V" />
+		<method name="addAddress(Ljava/lang/String;I)Landroid/net/VpnService$Builder;" />
+		<method name="addAddress(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder;" />
+		<method name="addAllowedApplication(Ljava/lang/String;)Landroid/net/VpnService$Builder;" since="21" />
+		<method name="addDisallowedApplication(Ljava/lang/String;)Landroid/net/VpnService$Builder;" since="21" />
+		<method name="addDnsServer(Ljava/lang/String;)Landroid/net/VpnService$Builder;" />
+		<method name="addDnsServer(Ljava/net/InetAddress;)Landroid/net/VpnService$Builder;" />
+		<method name="addRoute(Ljava/lang/String;I)Landroid/net/VpnService$Builder;" />
+		<method name="addRoute(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder;" />
+		<method name="addSearchDomain(Ljava/lang/String;)Landroid/net/VpnService$Builder;" />
+		<method name="allowBypass()Landroid/net/VpnService$Builder;" since="21" />
+		<method name="allowFamily(I)Landroid/net/VpnService$Builder;" since="21" />
+		<method name="establish()Landroid/os/ParcelFileDescriptor;" />
+		<method name="setBlocking(Z)Landroid/net/VpnService$Builder;" since="21" />
+		<method name="setConfigureIntent(Landroid/app/PendingIntent;)Landroid/net/VpnService$Builder;" />
+		<method name="setHttpProxy(Ljava/lang/Object;)Landroid/net/VpnService$Builder;" since="29" />
+		<method name="setMetered(Z)Landroid/net/VpnService$Builder;" since="29" />
+		<method name="setMtu(I)Landroid/net/VpnService$Builder;" />
+		<method name="setSession(Ljava/lang/String;)Landroid/net/VpnService$Builder;" />
+		<method name="setUnderlyingNetworks([Ljava/lang/Object;)Landroid/net/VpnService$Builder;" since="22" />
+	</class>
+	<class name="android/net/http/AndroidHttpClient" since="8" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/HttpClient" />
+		<method name="close()V" />
+		<method name="disableCurlLogging()V" />
+		<method name="enableCurlLogging(Ljava/lang/String;I)V" />
+		<method name="getCompressedEntity([BLandroid/content/ContentResolver;)Lorg/apache/http/entity/AbstractHttpEntity;" />
+		<method name="getMinGzipSize(Landroid/content/ContentResolver;)J" />
+		<method name="getUngzippedContent(Lorg/apache/http/HttpEntity;)Ljava/io/InputStream;" />
+		<method name="modifyRequestToAcceptGzipResponse(Lorg/apache/http/HttpRequest;)V" />
+		<method name="newInstance(Ljava/lang/String;)Landroid/net/http/AndroidHttpClient;" deprecated="22" />
+		<method name="newInstance(Ljava/lang/String;Landroid/content/Context;)Landroid/net/http/AndroidHttpClient;" deprecated="22" />
+		<method name="parseDate(Ljava/lang/String;)J" />
+		<field name="DEFAULT_SYNC_MIN_GZIP_BYTES" />
+	</class>
+	<class name="android/net/http/HttpResponseCache" since="14">
+		<extends name="java/net/ResponseCache" />
+		<implements name="java/io/Closeable" />
+		<method name="delete()V" />
+		<method name="flush()V" />
+		<method name="getHitCount()I" />
+		<method name="getInstalled()Landroid/net/http/HttpResponseCache;" />
+		<method name="getNetworkCount()I" />
+		<method name="getRequestCount()I" />
+		<method name="install(Ljava/io/File;J)Landroid/net/http/HttpResponseCache;" />
+		<method name="maxSize()J" />
+		<method name="size()J" />
+	</class>
+	<class name="android/net/http/SslCertificate" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="15" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;Ljava/util/Date;)V" since="8" deprecated="15" />
+		<method name="&lt;init&gt;(Ljava/security/cert/X509Certificate;)V" />
+		<method name="getIssuedBy()Landroid/net/http/SslCertificate$DName;" />
+		<method name="getIssuedTo()Landroid/net/http/SslCertificate$DName;" />
+		<method name="getValidNotAfter()Ljava/lang/String;" deprecated="15" />
+		<method name="getValidNotAfterDate()Ljava/util/Date;" since="8" />
+		<method name="getValidNotBefore()Ljava/lang/String;" deprecated="15" />
+		<method name="getValidNotBeforeDate()Ljava/util/Date;" since="8" />
+		<method name="getX509Certificate()Ljava/security/cert/X509Certificate;" since="29" />
+		<method name="restoreState(Landroid/os/Bundle;)Landroid/net/http/SslCertificate;" />
+		<method name="saveState(Landroid/net/http/SslCertificate;)Landroid/os/Bundle;" />
+	</class>
+	<class name="android/net/http/SslCertificate$DName" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/net/http/SslCertificate;Ljava/lang/String;)V" />
+		<method name="getCName()Ljava/lang/String;" />
+		<method name="getDName()Ljava/lang/String;" />
+		<method name="getOName()Ljava/lang/String;" />
+		<method name="getUName()Ljava/lang/String;" />
+	</class>
+	<class name="android/net/http/SslError" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ILandroid/net/http/SslCertificate;)V" deprecated="15" />
+		<method name="&lt;init&gt;(ILandroid/net/http/SslCertificate;Ljava/lang/String;)V" since="14" />
+		<method name="&lt;init&gt;(ILjava/security/cert/X509Certificate;)V" deprecated="15" />
+		<method name="&lt;init&gt;(ILjava/security/cert/X509Certificate;Ljava/lang/String;)V" since="14" />
+		<method name="addError(I)Z" />
+		<method name="getCertificate()Landroid/net/http/SslCertificate;" />
+		<method name="getPrimaryError()I" />
+		<method name="getUrl()Ljava/lang/String;" since="14" />
+		<method name="hasError(I)Z" />
+		<field name="SSL_DATE_INVALID" since="14" />
+		<field name="SSL_EXPIRED" />
+		<field name="SSL_IDMISMATCH" />
+		<field name="SSL_INVALID" since="14" />
+		<field name="SSL_MAX_ERROR" deprecated="15" />
+		<field name="SSL_NOTYETVALID" />
+		<field name="SSL_UNTRUSTED" />
+	</class>
+	<class name="android/net/http/X509TrustManagerExtensions" since="17">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljavax/net/ssl/X509TrustManager;)V" />
+		<method name="checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;" />
+		<method name="isSameTrustConfiguration(Ljava/lang/String;Ljava/lang/String;)Z" since="28" />
+		<method name="isUserAddedCertificate(Ljava/security/cert/X509Certificate;)Z" since="21" />
+	</class>
+	<class name="android/net/nsd/NsdManager" since="16">
+		<extends name="java/lang/Object" />
+		<method name="discoverServices(Ljava/lang/String;ILandroid/net/nsd/NsdManager$DiscoveryListener;)V" />
+		<method name="registerService(Landroid/net/nsd/NsdServiceInfo;ILandroid/net/nsd/NsdManager$RegistrationListener;)V" />
+		<method name="resolveService(Landroid/net/nsd/NsdServiceInfo;Landroid/net/nsd/NsdManager$ResolveListener;)V" />
+		<method name="stopServiceDiscovery(Landroid/net/nsd/NsdManager$DiscoveryListener;)V" />
+		<method name="unregisterService(Landroid/net/nsd/NsdManager$RegistrationListener;)V" />
+		<field name="ACTION_NSD_STATE_CHANGED" />
+		<field name="EXTRA_NSD_STATE" />
+		<field name="FAILURE_ALREADY_ACTIVE" />
+		<field name="FAILURE_INTERNAL_ERROR" />
+		<field name="FAILURE_MAX_LIMIT" />
+		<field name="NSD_STATE_DISABLED" />
+		<field name="NSD_STATE_ENABLED" />
+		<field name="PROTOCOL_DNS_SD" />
+	</class>
+	<class name="android/net/nsd/NsdManager$DiscoveryListener" since="16">
+		<extends name="java/lang/Object" />
+		<method name="onDiscoveryStarted(Ljava/lang/String;)V" />
+		<method name="onDiscoveryStopped(Ljava/lang/String;)V" />
+		<method name="onServiceFound(Landroid/net/nsd/NsdServiceInfo;)V" />
+		<method name="onServiceLost(Landroid/net/nsd/NsdServiceInfo;)V" />
+		<method name="onStartDiscoveryFailed(Ljava/lang/String;I)V" />
+		<method name="onStopDiscoveryFailed(Ljava/lang/String;I)V" />
+	</class>
+	<class name="android/net/nsd/NsdManager$RegistrationListener" since="16">
+		<extends name="java/lang/Object" />
+		<method name="onRegistrationFailed(Landroid/net/nsd/NsdServiceInfo;I)V" />
+		<method name="onServiceRegistered(Landroid/net/nsd/NsdServiceInfo;)V" />
+		<method name="onServiceUnregistered(Landroid/net/nsd/NsdServiceInfo;)V" />
+		<method name="onUnregistrationFailed(Landroid/net/nsd/NsdServiceInfo;I)V" />
+	</class>
+	<class name="android/net/nsd/NsdManager$ResolveListener" since="16">
+		<extends name="java/lang/Object" />
+		<method name="onResolveFailed(Landroid/net/nsd/NsdServiceInfo;I)V" />
+		<method name="onServiceResolved(Landroid/net/nsd/NsdServiceInfo;)V" />
+	</class>
+	<class name="android/net/nsd/NsdServiceInfo" since="16">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAttributes()Ljava/util/Map;" since="21" />
+		<method name="getHost()Ljava/net/InetAddress;" />
+		<method name="getPort()I" />
+		<method name="getServiceName()Ljava/lang/String;" />
+		<method name="getServiceType()Ljava/lang/String;" />
+		<method name="removeAttribute(Ljava/lang/String;)V" since="21" />
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/String;)V" since="21" />
+		<method name="setHost(Ljava/net/InetAddress;)V" />
+		<method name="setPort(I)V" />
+		<method name="setServiceName(Ljava/lang/String;)V" />
+		<method name="setServiceType(Ljava/lang/String;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/net/rtp/AudioCodec" since="12" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="getCodec(ILjava/lang/String;Ljava/lang/String;)Landroid/net/rtp/AudioCodec;" deprecated="31" />
+		<method name="getCodecs()[Landroid/net/rtp/AudioCodec;" deprecated="31" />
+		<field name="AMR" deprecated="31" />
+		<field name="GSM" deprecated="31" />
+		<field name="GSM_EFR" deprecated="31" />
+		<field name="PCMA" deprecated="31" />
+		<field name="PCMU" deprecated="31" />
+		<field name="fmtp" deprecated="31" />
+		<field name="rtpmap" deprecated="31" />
+		<field name="type" deprecated="31" />
+	</class>
+	<class name="android/net/rtp/AudioGroup" since="12" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" since="30" deprecated="31" />
+		<method name="clear()V" deprecated="31" />
+		<method name="getMode()I" deprecated="31" />
+		<method name="getStreams()[Landroid/net/rtp/AudioStream;" deprecated="31" />
+		<method name="sendDtmf(I)V" deprecated="31" />
+		<method name="setMode(I)V" deprecated="31" />
+		<field name="MODE_ECHO_SUPPRESSION" deprecated="31" />
+		<field name="MODE_MUTED" deprecated="31" />
+		<field name="MODE_NORMAL" deprecated="31" />
+		<field name="MODE_ON_HOLD" deprecated="31" />
+	</class>
+	<class name="android/net/rtp/AudioStream" since="12" deprecated="31">
+		<extends name="android/net/rtp/RtpStream" />
+		<method name="&lt;init&gt;(Ljava/net/InetAddress;)V" deprecated="31" />
+		<method name="getCodec()Landroid/net/rtp/AudioCodec;" deprecated="31" />
+		<method name="getDtmfType()I" deprecated="31" />
+		<method name="getGroup()Landroid/net/rtp/AudioGroup;" deprecated="31" />
+		<method name="join(Landroid/net/rtp/AudioGroup;)V" deprecated="31" />
+		<method name="setCodec(Landroid/net/rtp/AudioCodec;)V" deprecated="31" />
+		<method name="setDtmfType(I)V" deprecated="31" />
+	</class>
+	<class name="android/net/rtp/RtpStream" since="12" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="associate(Ljava/net/InetAddress;I)V" deprecated="31" />
+		<method name="getLocalAddress()Ljava/net/InetAddress;" deprecated="31" />
+		<method name="getLocalPort()I" deprecated="31" />
+		<method name="getMode()I" deprecated="31" />
+		<method name="getRemoteAddress()Ljava/net/InetAddress;" deprecated="31" />
+		<method name="getRemotePort()I" deprecated="31" />
+		<method name="isBusy()Z" deprecated="31" />
+		<method name="release()V" deprecated="31" />
+		<method name="setMode(I)V" deprecated="31" />
+		<field name="MODE_NORMAL" deprecated="31" />
+		<field name="MODE_RECEIVE_ONLY" deprecated="31" />
+		<field name="MODE_SEND_ONLY" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipAudioCall" since="9" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/net/sip/SipProfile;)V" deprecated="31" />
+		<method name="answerCall(I)V" deprecated="31" />
+		<method name="attachCall(Landroid/net/sip/SipSession;Ljava/lang/String;)V" deprecated="31" />
+		<method name="close()V" deprecated="31" />
+		<method name="continueCall(I)V" deprecated="31" />
+		<method name="endCall()V" deprecated="31" />
+		<method name="getLocalProfile()Landroid/net/sip/SipProfile;" deprecated="31" />
+		<method name="getPeerProfile()Landroid/net/sip/SipProfile;" deprecated="31" />
+		<method name="getState()I" deprecated="31" />
+		<method name="holdCall(I)V" deprecated="31" />
+		<method name="isInCall()Z" deprecated="31" />
+		<method name="isMuted()Z" deprecated="31" />
+		<method name="isOnHold()Z" deprecated="31" />
+		<method name="makeCall(Landroid/net/sip/SipProfile;Landroid/net/sip/SipSession;I)V" deprecated="31" />
+		<method name="sendDtmf(I)V" deprecated="31" />
+		<method name="sendDtmf(ILandroid/os/Message;)V" deprecated="31" />
+		<method name="setListener(Landroid/net/sip/SipAudioCall$Listener;)V" deprecated="31" />
+		<method name="setListener(Landroid/net/sip/SipAudioCall$Listener;Z)V" deprecated="31" />
+		<method name="setSpeakerMode(Z)V" deprecated="31" />
+		<method name="startAudio()V" deprecated="31" />
+		<method name="toggleMute()V" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipAudioCall$Listener" since="9" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="onCallBusy(Landroid/net/sip/SipAudioCall;)V" deprecated="31" />
+		<method name="onCallEnded(Landroid/net/sip/SipAudioCall;)V" deprecated="31" />
+		<method name="onCallEstablished(Landroid/net/sip/SipAudioCall;)V" deprecated="31" />
+		<method name="onCallHeld(Landroid/net/sip/SipAudioCall;)V" deprecated="31" />
+		<method name="onCalling(Landroid/net/sip/SipAudioCall;)V" deprecated="31" />
+		<method name="onChanged(Landroid/net/sip/SipAudioCall;)V" deprecated="31" />
+		<method name="onError(Landroid/net/sip/SipAudioCall;ILjava/lang/String;)V" deprecated="31" />
+		<method name="onReadyToCall(Landroid/net/sip/SipAudioCall;)V" deprecated="31" />
+		<method name="onRinging(Landroid/net/sip/SipAudioCall;Landroid/net/sip/SipProfile;)V" deprecated="31" />
+		<method name="onRingingBack(Landroid/net/sip/SipAudioCall;)V" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipErrorCode" since="9" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="toString(I)Ljava/lang/String;" deprecated="31" />
+		<field name="CLIENT_ERROR" deprecated="31" />
+		<field name="CROSS_DOMAIN_AUTHENTICATION" deprecated="31" />
+		<field name="DATA_CONNECTION_LOST" deprecated="31" />
+		<field name="INVALID_CREDENTIALS" deprecated="31" />
+		<field name="INVALID_REMOTE_URI" deprecated="31" />
+		<field name="IN_PROGRESS" deprecated="31" />
+		<field name="NO_ERROR" deprecated="31" />
+		<field name="PEER_NOT_REACHABLE" deprecated="31" />
+		<field name="SERVER_ERROR" deprecated="31" />
+		<field name="SERVER_UNREACHABLE" deprecated="31" />
+		<field name="SOCKET_ERROR" deprecated="31" />
+		<field name="TIME_OUT" deprecated="31" />
+		<field name="TRANSACTION_TERMINTED" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipException" since="9" deprecated="31">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="31" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipManager" since="9" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="close(Ljava/lang/String;)V" deprecated="31" />
+		<method name="createSipSession(Landroid/net/sip/SipProfile;Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;" deprecated="31" />
+		<method name="getCallId(Landroid/content/Intent;)Ljava/lang/String;" deprecated="31" />
+		<method name="getOfferSessionDescription(Landroid/content/Intent;)Ljava/lang/String;" deprecated="31" />
+		<method name="getSessionFor(Landroid/content/Intent;)Landroid/net/sip/SipSession;" deprecated="31" />
+		<method name="isApiSupported(Landroid/content/Context;)Z" deprecated="31" />
+		<method name="isIncomingCallIntent(Landroid/content/Intent;)Z" deprecated="31" />
+		<method name="isOpened(Ljava/lang/String;)Z" deprecated="31" />
+		<method name="isRegistered(Ljava/lang/String;)Z" deprecated="31" />
+		<method name="isSipWifiOnly(Landroid/content/Context;)Z" deprecated="31" />
+		<method name="isVoipSupported(Landroid/content/Context;)Z" deprecated="31" />
+		<method name="makeAudioCall(Landroid/net/sip/SipProfile;Landroid/net/sip/SipProfile;Landroid/net/sip/SipAudioCall$Listener;I)Landroid/net/sip/SipAudioCall;" deprecated="31" />
+		<method name="makeAudioCall(Ljava/lang/String;Ljava/lang/String;Landroid/net/sip/SipAudioCall$Listener;I)Landroid/net/sip/SipAudioCall;" deprecated="31" />
+		<method name="newInstance(Landroid/content/Context;)Landroid/net/sip/SipManager;" deprecated="31" />
+		<method name="open(Landroid/net/sip/SipProfile;)V" deprecated="31" />
+		<method name="open(Landroid/net/sip/SipProfile;Landroid/app/PendingIntent;Landroid/net/sip/SipRegistrationListener;)V" deprecated="31" />
+		<method name="register(Landroid/net/sip/SipProfile;ILandroid/net/sip/SipRegistrationListener;)V" deprecated="31" />
+		<method name="setRegistrationListener(Ljava/lang/String;Landroid/net/sip/SipRegistrationListener;)V" deprecated="31" />
+		<method name="takeAudioCall(Landroid/content/Intent;Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;" deprecated="31" />
+		<method name="unregister(Landroid/net/sip/SipProfile;Landroid/net/sip/SipRegistrationListener;)V" deprecated="31" />
+		<field name="EXTRA_CALL_ID" deprecated="31" />
+		<field name="EXTRA_OFFER_SD" deprecated="31" />
+		<field name="INCOMING_CALL_RESULT_CODE" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipProfile" since="9" deprecated="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="getAuthUserName()Ljava/lang/String;" since="12" deprecated="31" />
+		<method name="getAutoRegistration()Z" deprecated="31" />
+		<method name="getDisplayName()Ljava/lang/String;" deprecated="31" />
+		<method name="getPassword()Ljava/lang/String;" deprecated="31" />
+		<method name="getPort()I" deprecated="31" />
+		<method name="getProfileName()Ljava/lang/String;" deprecated="31" />
+		<method name="getProtocol()Ljava/lang/String;" deprecated="31" />
+		<method name="getProxyAddress()Ljava/lang/String;" deprecated="31" />
+		<method name="getSendKeepAlive()Z" deprecated="31" />
+		<method name="getSipDomain()Ljava/lang/String;" deprecated="31" />
+		<method name="getUriString()Ljava/lang/String;" deprecated="31" />
+		<method name="getUserName()Ljava/lang/String;" deprecated="31" />
+		<method name="setCallingUid(I)V" since="30" deprecated="31" />
+		<field name="CREATOR" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipProfile$Builder" since="9" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/net/sip/SipProfile;)V" deprecated="31" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="31" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" deprecated="31" />
+		<method name="build()Landroid/net/sip/SipProfile;" deprecated="31" />
+		<method name="setAuthUserName(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" since="12" deprecated="31" />
+		<method name="setAutoRegistration(Z)Landroid/net/sip/SipProfile$Builder;" deprecated="31" />
+		<method name="setDisplayName(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" deprecated="31" />
+		<method name="setOutboundProxy(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" deprecated="31" />
+		<method name="setPassword(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" deprecated="31" />
+		<method name="setPort(I)Landroid/net/sip/SipProfile$Builder;" deprecated="31" />
+		<method name="setProfileName(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" deprecated="31" />
+		<method name="setProtocol(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" deprecated="31" />
+		<method name="setSendKeepAlive(Z)Landroid/net/sip/SipProfile$Builder;" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipRegistrationListener" since="9" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="onRegistering(Ljava/lang/String;)V" deprecated="31" />
+		<method name="onRegistrationDone(Ljava/lang/String;J)V" deprecated="31" />
+		<method name="onRegistrationFailed(Ljava/lang/String;ILjava/lang/String;)V" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipSession" since="9" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="answerCall(Ljava/lang/String;I)V" deprecated="31" />
+		<method name="changeCall(Ljava/lang/String;I)V" deprecated="31" />
+		<method name="endCall()V" deprecated="31" />
+		<method name="getCallId()Ljava/lang/String;" deprecated="31" />
+		<method name="getLocalIp()Ljava/lang/String;" deprecated="31" />
+		<method name="getLocalProfile()Landroid/net/sip/SipProfile;" deprecated="31" />
+		<method name="getPeerProfile()Landroid/net/sip/SipProfile;" deprecated="31" />
+		<method name="getState()I" deprecated="31" />
+		<method name="isInCall()Z" deprecated="31" />
+		<method name="makeCall(Landroid/net/sip/SipProfile;Ljava/lang/String;I)V" deprecated="31" />
+		<method name="register(I)V" deprecated="31" />
+		<method name="setListener(Landroid/net/sip/SipSession$Listener;)V" deprecated="31" />
+		<method name="unregister()V" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipSession$Listener" since="9" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="onCallBusy(Landroid/net/sip/SipSession;)V" deprecated="31" />
+		<method name="onCallChangeFailed(Landroid/net/sip/SipSession;ILjava/lang/String;)V" deprecated="31" />
+		<method name="onCallEnded(Landroid/net/sip/SipSession;)V" deprecated="31" />
+		<method name="onCallEstablished(Landroid/net/sip/SipSession;Ljava/lang/String;)V" deprecated="31" />
+		<method name="onCalling(Landroid/net/sip/SipSession;)V" deprecated="31" />
+		<method name="onError(Landroid/net/sip/SipSession;ILjava/lang/String;)V" deprecated="31" />
+		<method name="onRegistering(Landroid/net/sip/SipSession;)V" deprecated="31" />
+		<method name="onRegistrationDone(Landroid/net/sip/SipSession;I)V" deprecated="31" />
+		<method name="onRegistrationFailed(Landroid/net/sip/SipSession;ILjava/lang/String;)V" deprecated="31" />
+		<method name="onRegistrationTimeout(Landroid/net/sip/SipSession;)V" deprecated="31" />
+		<method name="onRinging(Landroid/net/sip/SipSession;Landroid/net/sip/SipProfile;Ljava/lang/String;)V" deprecated="31" />
+		<method name="onRingingBack(Landroid/net/sip/SipSession;)V" deprecated="31" />
+	</class>
+	<class name="android/net/sip/SipSession$State" since="9" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="toString(I)Ljava/lang/String;" deprecated="31" />
+		<field name="DEREGISTERING" deprecated="31" />
+		<field name="INCOMING_CALL" deprecated="31" />
+		<field name="INCOMING_CALL_ANSWERING" deprecated="31" />
+		<field name="IN_CALL" deprecated="31" />
+		<field name="NOT_DEFINED" deprecated="31" />
+		<field name="OUTGOING_CALL" deprecated="31" />
+		<field name="OUTGOING_CALL_CANCELING" deprecated="31" />
+		<field name="OUTGOING_CALL_RING_BACK" deprecated="31" />
+		<field name="PINGING" deprecated="31" />
+		<field name="READY_TO_CALL" deprecated="31" />
+		<field name="REGISTERING" deprecated="31" />
+	</class>
+	<class name="android/net/vcn/VcnConfig" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getGatewayConnectionConfigs()Ljava/util/Set;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/net/vcn/VcnConfig$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="addGatewayConnectionConfig(Landroid/net/vcn/VcnGatewayConnectionConfig;)Landroid/net/vcn/VcnConfig$Builder;" />
+		<method name="build()Landroid/net/vcn/VcnConfig;" />
+	</class>
+	<class name="android/net/vcn/VcnGatewayConnectionConfig" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getExposedCapabilities()[I" />
+		<method name="getGatewayConnectionName()Ljava/lang/String;" />
+		<method name="getMaxMtu()I" />
+		<method name="getRetryIntervalsMillis()[J" />
+	</class>
+	<class name="android/net/vcn/VcnGatewayConnectionConfig$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="addExposedCapability(I)Landroid/net/vcn/VcnGatewayConnectionConfig$Builder;" />
+		<method name="build()Landroid/net/vcn/VcnGatewayConnectionConfig;" />
+		<method name="removeExposedCapability(I)Landroid/net/vcn/VcnGatewayConnectionConfig$Builder;" />
+		<method name="setMaxMtu(I)Landroid/net/vcn/VcnGatewayConnectionConfig$Builder;" />
+		<method name="setRetryIntervalsMillis([J)Landroid/net/vcn/VcnGatewayConnectionConfig$Builder;" />
+	</class>
+	<class name="android/net/vcn/VcnManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="clearVcnConfig(Landroid/os/ParcelUuid;)V" />
+		<method name="getConfiguredSubscriptionGroups()Ljava/util/List;" />
+		<method name="registerVcnStatusCallback(Landroid/os/ParcelUuid;Ljava/util/concurrent/Executor;Landroid/net/vcn/VcnManager$VcnStatusCallback;)V" />
+		<method name="setVcnConfig(Landroid/os/ParcelUuid;Landroid/net/vcn/VcnConfig;)V" />
+		<method name="unregisterVcnStatusCallback(Landroid/net/vcn/VcnManager$VcnStatusCallback;)V" />
+		<field name="VCN_ERROR_CODE_CONFIG_ERROR" />
+		<field name="VCN_ERROR_CODE_INTERNAL_ERROR" />
+		<field name="VCN_ERROR_CODE_NETWORK_ERROR" />
+		<field name="VCN_STATUS_CODE_ACTIVE" />
+		<field name="VCN_STATUS_CODE_INACTIVE" />
+		<field name="VCN_STATUS_CODE_NOT_CONFIGURED" />
+		<field name="VCN_STATUS_CODE_SAFE_MODE" />
+	</class>
+	<class name="android/net/vcn/VcnManager$VcnStatusCallback" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onGatewayConnectionError(Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="onStatusChanged(I)V" />
+	</class>
+	<class name="android/nfc/FormatException" since="9">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="16" />
+	</class>
+	<class name="android/nfc/NdefMessage" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/nfc/NdefRecord;[Landroid/nfc/NdefRecord;)V" since="16" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="&lt;init&gt;([Landroid/nfc/NdefRecord;)V" />
+		<method name="getByteArrayLength()I" since="16" />
+		<method name="getRecords()[Landroid/nfc/NdefRecord;" />
+		<method name="toByteArray()[B" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/nfc/NdefRecord" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(S[B[B[B)V" />
+		<method name="&lt;init&gt;([B)V" deprecated="16" />
+		<method name="createApplicationRecord(Ljava/lang/String;)Landroid/nfc/NdefRecord;" since="14" />
+		<method name="createExternal(Ljava/lang/String;Ljava/lang/String;[B)Landroid/nfc/NdefRecord;" since="16" />
+		<method name="createMime(Ljava/lang/String;[B)Landroid/nfc/NdefRecord;" since="16" />
+		<method name="createTextRecord(Ljava/lang/String;Ljava/lang/String;)Landroid/nfc/NdefRecord;" since="21" />
+		<method name="createUri(Landroid/net/Uri;)Landroid/nfc/NdefRecord;" since="14" />
+		<method name="createUri(Ljava/lang/String;)Landroid/nfc/NdefRecord;" since="14" />
+		<method name="getId()[B" />
+		<method name="getPayload()[B" />
+		<method name="getTnf()S" />
+		<method name="getType()[B" />
+		<method name="toByteArray()[B" deprecated="16" />
+		<method name="toMimeType()Ljava/lang/String;" since="16" />
+		<method name="toUri()Landroid/net/Uri;" since="16" />
+		<field name="CREATOR" />
+		<field name="RTD_ALTERNATIVE_CARRIER" />
+		<field name="RTD_HANDOVER_CARRIER" />
+		<field name="RTD_HANDOVER_REQUEST" />
+		<field name="RTD_HANDOVER_SELECT" />
+		<field name="RTD_SMART_POSTER" />
+		<field name="RTD_TEXT" />
+		<field name="RTD_URI" />
+		<field name="TNF_ABSOLUTE_URI" />
+		<field name="TNF_EMPTY" />
+		<field name="TNF_EXTERNAL_TYPE" />
+		<field name="TNF_MIME_MEDIA" />
+		<field name="TNF_UNCHANGED" />
+		<field name="TNF_UNKNOWN" />
+		<field name="TNF_WELL_KNOWN" />
+	</class>
+	<class name="android/nfc/NfcAdapter" since="9">
+		<extends name="java/lang/Object" />
+		<method name="disableForegroundDispatch(Landroid/app/Activity;)V" since="10" />
+		<method name="disableForegroundNdefPush(Landroid/app/Activity;)V" since="10" deprecated="15" />
+		<method name="disableReaderMode(Landroid/app/Activity;)V" since="19" />
+		<method name="enableForegroundDispatch(Landroid/app/Activity;Landroid/app/PendingIntent;[Landroid/content/IntentFilter;[[Ljava/lang/String;)V" since="10" />
+		<method name="enableForegroundNdefPush(Landroid/app/Activity;Landroid/nfc/NdefMessage;)V" since="10" deprecated="15" />
+		<method name="enableReaderMode(Landroid/app/Activity;Landroid/nfc/NfcAdapter$ReaderCallback;ILandroid/os/Bundle;)V" since="19" />
+		<method name="getDefaultAdapter()Landroid/nfc/NfcAdapter;" deprecated="15" removed="16" />
+		<method name="getDefaultAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter;" since="10" />
+		<method name="ignore(Landroid/nfc/Tag;ILandroid/nfc/NfcAdapter$OnTagRemovedListener;Landroid/os/Handler;)Z" since="24" />
+		<method name="invokeBeam(Landroid/app/Activity;)Z" since="21" deprecated="29" />
+		<method name="isEnabled()Z" />
+		<method name="isNdefPushEnabled()Z" since="16" deprecated="29" />
+		<method name="isSecureNfcEnabled()Z" since="29" />
+		<method name="isSecureNfcSupported()Z" since="29" />
+		<method name="setBeamPushUris([Landroid/net/Uri;Landroid/app/Activity;)V" since="16" deprecated="29" />
+		<method name="setBeamPushUrisCallback(Landroid/nfc/NfcAdapter$CreateBeamUrisCallback;Landroid/app/Activity;)V" since="16" deprecated="29" />
+		<method name="setNdefPushMessage(Landroid/nfc/NdefMessage;Landroid/app/Activity;[Landroid/app/Activity;)V" since="14" deprecated="29" />
+		<method name="setNdefPushMessageCallback(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;Landroid/app/Activity;[Landroid/app/Activity;)V" since="14" deprecated="29" />
+		<method name="setOnNdefPushCompleteCallback(Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback;Landroid/app/Activity;[Landroid/app/Activity;)V" since="14" deprecated="29" />
+		<field name="ACTION_ADAPTER_STATE_CHANGED" since="18" />
+		<field name="ACTION_NDEF_DISCOVERED" since="10" />
+		<field name="ACTION_PREFERRED_PAYMENT_CHANGED" since="30" />
+		<field name="ACTION_TAG_DISCOVERED" />
+		<field name="ACTION_TECH_DISCOVERED" since="10" />
+		<field name="ACTION_TRANSACTION_DETECTED" since="28" />
+		<field name="EXTRA_ADAPTER_STATE" since="18" />
+		<field name="EXTRA_AID" since="28" />
+		<field name="EXTRA_DATA" since="28" />
+		<field name="EXTRA_ID" />
+		<field name="EXTRA_NDEF_MESSAGES" />
+		<field name="EXTRA_PREFERRED_PAYMENT_CHANGED_REASON" since="30" />
+		<field name="EXTRA_READER_PRESENCE_CHECK_DELAY" since="19" />
+		<field name="EXTRA_SECURE_ELEMENT_NAME" since="28" />
+		<field name="EXTRA_TAG" since="10" />
+		<field name="FLAG_READER_NFC_A" since="19" />
+		<field name="FLAG_READER_NFC_B" since="19" />
+		<field name="FLAG_READER_NFC_BARCODE" since="19" />
+		<field name="FLAG_READER_NFC_F" since="19" />
+		<field name="FLAG_READER_NFC_V" since="19" />
+		<field name="FLAG_READER_NO_PLATFORM_SOUNDS" since="19" />
+		<field name="FLAG_READER_SKIP_NDEF_CHECK" since="19" />
+		<field name="PREFERRED_PAYMENT_CHANGED" since="30" />
+		<field name="PREFERRED_PAYMENT_LOADED" since="30" />
+		<field name="PREFERRED_PAYMENT_UPDATED" since="30" />
+		<field name="STATE_OFF" since="18" />
+		<field name="STATE_ON" since="18" />
+		<field name="STATE_TURNING_OFF" since="18" />
+		<field name="STATE_TURNING_ON" since="18" />
+	</class>
+	<class name="android/nfc/NfcAdapter$CreateBeamUrisCallback" since="16" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="createBeamUris(Landroid/nfc/NfcEvent;)[Landroid/net/Uri;" deprecated="29" />
+	</class>
+	<class name="android/nfc/NfcAdapter$CreateNdefMessageCallback" since="14" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="createNdefMessage(Landroid/nfc/NfcEvent;)Landroid/nfc/NdefMessage;" deprecated="29" />
+	</class>
+	<class name="android/nfc/NfcAdapter$OnNdefPushCompleteCallback" since="14" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onNdefPushComplete(Landroid/nfc/NfcEvent;)V" deprecated="29" />
+	</class>
+	<class name="android/nfc/NfcAdapter$OnTagRemovedListener" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onTagRemoved()V" />
+	</class>
+	<class name="android/nfc/NfcAdapter$ReaderCallback" since="19">
+		<extends name="java/lang/Object" />
+		<method name="onTagDiscovered(Landroid/nfc/Tag;)V" />
+	</class>
+	<class name="android/nfc/NfcEvent" since="14">
+		<extends name="java/lang/Object" />
+		<field name="nfcAdapter" />
+		<field name="peerLlcpMajorVersion" since="23" />
+		<field name="peerLlcpMinorVersion" since="23" />
+	</class>
+	<class name="android/nfc/NfcManager" since="10">
+		<extends name="java/lang/Object" />
+		<method name="getDefaultAdapter()Landroid/nfc/NfcAdapter;" />
+	</class>
+	<class name="android/nfc/Tag" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getId()[B" />
+		<method name="getTechList()[Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/nfc/TagLostException" since="10">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/nfc/cardemulation/CardEmulation" since="19">
+		<extends name="java/lang/Object" />
+		<method name="categoryAllowsForegroundPreference(Ljava/lang/String;)Z" since="21" />
+		<method name="getAidsForPreferredPaymentService()Ljava/util/List;" since="30" />
+		<method name="getAidsForService(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;" since="21" />
+		<method name="getDescriptionForPreferredPaymentService()Ljava/lang/CharSequence;" since="30" />
+		<method name="getInstance(Landroid/nfc/NfcAdapter;)Landroid/nfc/cardemulation/CardEmulation;" />
+		<method name="getRouteDestinationForPreferredPaymentService()Ljava/lang/String;" since="30" />
+		<method name="getSelectionModeForCategory(Ljava/lang/String;)I" />
+		<method name="isDefaultServiceForAid(Landroid/content/ComponentName;Ljava/lang/String;)Z" />
+		<method name="isDefaultServiceForCategory(Landroid/content/ComponentName;Ljava/lang/String;)Z" />
+		<method name="registerAidsForService(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)Z" since="21" />
+		<method name="removeAidsForService(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="21" />
+		<method name="setOffHostForService(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="29" />
+		<method name="setPreferredService(Landroid/app/Activity;Landroid/content/ComponentName;)Z" since="21" />
+		<method name="supportsAidPrefixRegistration()Z" since="21" />
+		<method name="unsetOffHostForService(Landroid/content/ComponentName;)Z" since="29" />
+		<method name="unsetPreferredService(Landroid/app/Activity;)Z" since="21" />
+		<field name="ACTION_CHANGE_DEFAULT" />
+		<field name="CATEGORY_OTHER" />
+		<field name="CATEGORY_PAYMENT" />
+		<field name="EXTRA_CATEGORY" />
+		<field name="EXTRA_SERVICE_COMPONENT" />
+		<field name="SELECTION_MODE_ALWAYS_ASK" />
+		<field name="SELECTION_MODE_ASK_IF_CONFLICT" />
+		<field name="SELECTION_MODE_PREFER_DEFAULT" />
+	</class>
+	<class name="android/nfc/cardemulation/HostApduService" since="19">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="notifyUnhandled()V" />
+		<method name="onDeactivated(I)V" />
+		<method name="processCommandApdu([BLandroid/os/Bundle;)[B" />
+		<method name="sendResponseApdu([B)V" />
+		<field name="DEACTIVATION_DESELECTED" />
+		<field name="DEACTIVATION_LINK_LOSS" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/nfc/cardemulation/HostNfcFService" since="24">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onDeactivated(I)V" />
+		<method name="processNfcFPacket([BLandroid/os/Bundle;)[B" />
+		<method name="sendResponsePacket([B)V" />
+		<field name="DEACTIVATION_LINK_LOSS" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/nfc/cardemulation/NfcFCardEmulation" since="24">
+		<extends name="java/lang/Object" />
+		<method name="disableService(Landroid/app/Activity;)Z" />
+		<method name="enableService(Landroid/app/Activity;Landroid/content/ComponentName;)Z" />
+		<method name="getInstance(Landroid/nfc/NfcAdapter;)Landroid/nfc/cardemulation/NfcFCardEmulation;" />
+		<method name="getNfcid2ForService(Landroid/content/ComponentName;)Ljava/lang/String;" />
+		<method name="getSystemCodeForService(Landroid/content/ComponentName;)Ljava/lang/String;" />
+		<method name="registerSystemCodeForService(Landroid/content/ComponentName;Ljava/lang/String;)Z" />
+		<method name="setNfcid2ForService(Landroid/content/ComponentName;Ljava/lang/String;)Z" />
+		<method name="unregisterSystemCodeForService(Landroid/content/ComponentName;)Z" />
+	</class>
+	<class name="android/nfc/cardemulation/OffHostApduService" since="19">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/nfc/tech/IsoDep" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="android/nfc/tech/TagTechnology" />
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/IsoDep;" />
+		<method name="getHiLayerResponse()[B" />
+		<method name="getHistoricalBytes()[B" />
+		<method name="getMaxTransceiveLength()I" since="14" />
+		<method name="getTimeout()I" since="14" />
+		<method name="isExtendedLengthApduSupported()Z" since="16" />
+		<method name="setTimeout(I)V" />
+		<method name="transceive([B)[B" />
+	</class>
+	<class name="android/nfc/tech/MifareClassic" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="android/nfc/tech/TagTechnology" />
+		<method name="authenticateSectorWithKeyA(I[B)Z" />
+		<method name="authenticateSectorWithKeyB(I[B)Z" />
+		<method name="blockToSector(I)I" />
+		<method name="decrement(II)V" />
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/MifareClassic;" />
+		<method name="getBlockCount()I" />
+		<method name="getBlockCountInSector(I)I" />
+		<method name="getMaxTransceiveLength()I" since="14" />
+		<method name="getSectorCount()I" />
+		<method name="getSize()I" />
+		<method name="getTimeout()I" since="14" />
+		<method name="getType()I" />
+		<method name="increment(II)V" />
+		<method name="readBlock(I)[B" />
+		<method name="restore(I)V" />
+		<method name="sectorToBlock(I)I" />
+		<method name="setTimeout(I)V" since="14" />
+		<method name="transceive([B)[B" />
+		<method name="transfer(I)V" />
+		<method name="writeBlock(I[B)V" />
+		<field name="BLOCK_SIZE" />
+		<field name="KEY_DEFAULT" />
+		<field name="KEY_MIFARE_APPLICATION_DIRECTORY" />
+		<field name="KEY_NFC_FORUM" />
+		<field name="SIZE_1K" />
+		<field name="SIZE_2K" />
+		<field name="SIZE_4K" />
+		<field name="SIZE_MINI" />
+		<field name="TYPE_CLASSIC" />
+		<field name="TYPE_PLUS" />
+		<field name="TYPE_PRO" />
+		<field name="TYPE_UNKNOWN" />
+	</class>
+	<class name="android/nfc/tech/MifareUltralight" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="android/nfc/tech/TagTechnology" />
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/MifareUltralight;" />
+		<method name="getMaxTransceiveLength()I" since="14" />
+		<method name="getTimeout()I" since="14" />
+		<method name="getType()I" />
+		<method name="readPages(I)[B" />
+		<method name="setTimeout(I)V" since="14" />
+		<method name="transceive([B)[B" />
+		<method name="writePage(I[B)V" />
+		<field name="PAGE_SIZE" />
+		<field name="TYPE_ULTRALIGHT" />
+		<field name="TYPE_ULTRALIGHT_C" />
+		<field name="TYPE_UNKNOWN" />
+	</class>
+	<class name="android/nfc/tech/Ndef" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="android/nfc/tech/TagTechnology" />
+		<method name="canMakeReadOnly()Z" />
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/Ndef;" />
+		<method name="getCachedNdefMessage()Landroid/nfc/NdefMessage;" />
+		<method name="getMaxSize()I" />
+		<method name="getNdefMessage()Landroid/nfc/NdefMessage;" />
+		<method name="getType()Ljava/lang/String;" />
+		<method name="isWritable()Z" />
+		<method name="makeReadOnly()Z" />
+		<method name="writeNdefMessage(Landroid/nfc/NdefMessage;)V" />
+		<field name="MIFARE_CLASSIC" />
+		<field name="NFC_FORUM_TYPE_1" />
+		<field name="NFC_FORUM_TYPE_2" />
+		<field name="NFC_FORUM_TYPE_3" />
+		<field name="NFC_FORUM_TYPE_4" />
+	</class>
+	<class name="android/nfc/tech/NdefFormatable" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="android/nfc/tech/TagTechnology" />
+		<method name="format(Landroid/nfc/NdefMessage;)V" />
+		<method name="formatReadOnly(Landroid/nfc/NdefMessage;)V" />
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NdefFormatable;" />
+	</class>
+	<class name="android/nfc/tech/NfcA" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="android/nfc/tech/TagTechnology" />
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NfcA;" />
+		<method name="getAtqa()[B" />
+		<method name="getMaxTransceiveLength()I" since="14" />
+		<method name="getSak()S" />
+		<method name="getTimeout()I" since="14" />
+		<method name="setTimeout(I)V" since="14" />
+		<method name="transceive([B)[B" />
+	</class>
+	<class name="android/nfc/tech/NfcB" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="android/nfc/tech/TagTechnology" />
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NfcB;" />
+		<method name="getApplicationData()[B" />
+		<method name="getMaxTransceiveLength()I" since="14" />
+		<method name="getProtocolInfo()[B" />
+		<method name="transceive([B)[B" />
+	</class>
+	<class name="android/nfc/tech/NfcBarcode" since="17">
+		<extends name="java/lang/Object" />
+		<implements name="android/nfc/tech/TagTechnology" />
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NfcBarcode;" />
+		<method name="getBarcode()[B" />
+		<method name="getType()I" />
+		<field name="TYPE_KOVIO" />
+		<field name="TYPE_UNKNOWN" />
+	</class>
+	<class name="android/nfc/tech/NfcF" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="android/nfc/tech/TagTechnology" />
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NfcF;" />
+		<method name="getManufacturer()[B" />
+		<method name="getMaxTransceiveLength()I" since="14" />
+		<method name="getSystemCode()[B" />
+		<method name="getTimeout()I" since="14" />
+		<method name="setTimeout(I)V" since="14" />
+		<method name="transceive([B)[B" />
+	</class>
+	<class name="android/nfc/tech/NfcV" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="android/nfc/tech/TagTechnology" />
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NfcV;" />
+		<method name="getDsfId()B" />
+		<method name="getMaxTransceiveLength()I" since="14" />
+		<method name="getResponseFlags()B" />
+		<method name="transceive([B)[B" />
+	</class>
+	<class name="android/nfc/tech/TagTechnology" since="10">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="connect()V" />
+		<method name="getTag()Landroid/nfc/Tag;" />
+		<method name="isConnected()Z" />
+	</class>
+	<class name="android/opengl/EGL14" since="17">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="eglBindAPI(I)Z" />
+		<method name="eglBindTexImage(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;I)Z" />
+		<method name="eglChooseConfig(Landroid/opengl/EGLDisplay;[II[Landroid/opengl/EGLConfig;II[II)Z" />
+		<method name="eglCopyBuffers(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;I)Z" />
+		<method name="eglCreateContext(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Landroid/opengl/EGLContext;[II)Landroid/opengl/EGLContext;" />
+		<method name="eglCreatePbufferFromClientBuffer(Landroid/opengl/EGLDisplay;IILandroid/opengl/EGLConfig;[II)Landroid/opengl/EGLSurface;" />
+		<method name="eglCreatePbufferSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;[II)Landroid/opengl/EGLSurface;" />
+		<method name="eglCreatePixmapSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;I[II)Landroid/opengl/EGLSurface;" deprecated="26" />
+		<method name="eglCreateWindowSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/lang/Object;[II)Landroid/opengl/EGLSurface;" />
+		<method name="eglDestroyContext(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLContext;)Z" />
+		<method name="eglDestroySurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;)Z" />
+		<method name="eglGetConfigAttrib(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;I[II)Z" />
+		<method name="eglGetConfigs(Landroid/opengl/EGLDisplay;[Landroid/opengl/EGLConfig;II[II)Z" />
+		<method name="eglGetCurrentContext()Landroid/opengl/EGLContext;" />
+		<method name="eglGetCurrentDisplay()Landroid/opengl/EGLDisplay;" />
+		<method name="eglGetCurrentSurface(I)Landroid/opengl/EGLSurface;" />
+		<method name="eglGetDisplay(I)Landroid/opengl/EGLDisplay;" />
+		<method name="eglGetError()I" />
+		<method name="eglInitialize(Landroid/opengl/EGLDisplay;[II[II)Z" />
+		<method name="eglMakeCurrent(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;Landroid/opengl/EGLSurface;Landroid/opengl/EGLContext;)Z" />
+		<method name="eglQueryAPI()I" />
+		<method name="eglQueryContext(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLContext;I[II)Z" />
+		<method name="eglQueryString(Landroid/opengl/EGLDisplay;I)Ljava/lang/String;" />
+		<method name="eglQuerySurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;I[II)Z" />
+		<method name="eglReleaseTexImage(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;I)Z" />
+		<method name="eglReleaseThread()Z" />
+		<method name="eglSurfaceAttrib(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;II)Z" />
+		<method name="eglSwapBuffers(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;)Z" />
+		<method name="eglSwapInterval(Landroid/opengl/EGLDisplay;I)Z" />
+		<method name="eglTerminate(Landroid/opengl/EGLDisplay;)Z" />
+		<method name="eglWaitClient()Z" />
+		<method name="eglWaitGL()Z" />
+		<method name="eglWaitNative(I)Z" />
+		<field name="EGL_ALPHA_MASK_SIZE" />
+		<field name="EGL_ALPHA_SIZE" />
+		<field name="EGL_BACK_BUFFER" />
+		<field name="EGL_BAD_ACCESS" />
+		<field name="EGL_BAD_ALLOC" />
+		<field name="EGL_BAD_ATTRIBUTE" />
+		<field name="EGL_BAD_CONFIG" />
+		<field name="EGL_BAD_CONTEXT" />
+		<field name="EGL_BAD_CURRENT_SURFACE" />
+		<field name="EGL_BAD_DISPLAY" />
+		<field name="EGL_BAD_MATCH" />
+		<field name="EGL_BAD_NATIVE_PIXMAP" />
+		<field name="EGL_BAD_NATIVE_WINDOW" />
+		<field name="EGL_BAD_PARAMETER" />
+		<field name="EGL_BAD_SURFACE" />
+		<field name="EGL_BIND_TO_TEXTURE_RGB" />
+		<field name="EGL_BIND_TO_TEXTURE_RGBA" />
+		<field name="EGL_BLUE_SIZE" />
+		<field name="EGL_BUFFER_DESTROYED" />
+		<field name="EGL_BUFFER_PRESERVED" />
+		<field name="EGL_BUFFER_SIZE" />
+		<field name="EGL_CLIENT_APIS" />
+		<field name="EGL_COLOR_BUFFER_TYPE" />
+		<field name="EGL_CONFIG_CAVEAT" />
+		<field name="EGL_CONFIG_ID" />
+		<field name="EGL_CONFORMANT" />
+		<field name="EGL_CONTEXT_CLIENT_TYPE" />
+		<field name="EGL_CONTEXT_CLIENT_VERSION" />
+		<field name="EGL_CONTEXT_LOST" />
+		<field name="EGL_CORE_NATIVE_ENGINE" />
+		<field name="EGL_DEFAULT_DISPLAY" />
+		<field name="EGL_DEPTH_SIZE" />
+		<field name="EGL_DISPLAY_SCALING" />
+		<field name="EGL_DRAW" />
+		<field name="EGL_EXTENSIONS" />
+		<field name="EGL_FALSE" />
+		<field name="EGL_GREEN_SIZE" />
+		<field name="EGL_HEIGHT" />
+		<field name="EGL_HORIZONTAL_RESOLUTION" />
+		<field name="EGL_LARGEST_PBUFFER" />
+		<field name="EGL_LEVEL" />
+		<field name="EGL_LUMINANCE_BUFFER" />
+		<field name="EGL_LUMINANCE_SIZE" />
+		<field name="EGL_MATCH_NATIVE_PIXMAP" />
+		<field name="EGL_MAX_PBUFFER_HEIGHT" />
+		<field name="EGL_MAX_PBUFFER_PIXELS" />
+		<field name="EGL_MAX_PBUFFER_WIDTH" />
+		<field name="EGL_MAX_SWAP_INTERVAL" />
+		<field name="EGL_MIN_SWAP_INTERVAL" />
+		<field name="EGL_MIPMAP_LEVEL" />
+		<field name="EGL_MIPMAP_TEXTURE" />
+		<field name="EGL_MULTISAMPLE_RESOLVE" />
+		<field name="EGL_MULTISAMPLE_RESOLVE_BOX" />
+		<field name="EGL_MULTISAMPLE_RESOLVE_BOX_BIT" />
+		<field name="EGL_MULTISAMPLE_RESOLVE_DEFAULT" />
+		<field name="EGL_NATIVE_RENDERABLE" />
+		<field name="EGL_NATIVE_VISUAL_ID" />
+		<field name="EGL_NATIVE_VISUAL_TYPE" />
+		<field name="EGL_NONE" />
+		<field name="EGL_NON_CONFORMANT_CONFIG" />
+		<field name="EGL_NOT_INITIALIZED" />
+		<field name="EGL_NO_CONTEXT" />
+		<field name="EGL_NO_DISPLAY" />
+		<field name="EGL_NO_SURFACE" />
+		<field name="EGL_NO_TEXTURE" />
+		<field name="EGL_OPENGL_API" />
+		<field name="EGL_OPENGL_BIT" />
+		<field name="EGL_OPENGL_ES2_BIT" />
+		<field name="EGL_OPENGL_ES_API" />
+		<field name="EGL_OPENGL_ES_BIT" />
+		<field name="EGL_OPENVG_API" />
+		<field name="EGL_OPENVG_BIT" />
+		<field name="EGL_OPENVG_IMAGE" />
+		<field name="EGL_PBUFFER_BIT" />
+		<field name="EGL_PIXEL_ASPECT_RATIO" />
+		<field name="EGL_PIXMAP_BIT" />
+		<field name="EGL_READ" />
+		<field name="EGL_RED_SIZE" />
+		<field name="EGL_RENDERABLE_TYPE" />
+		<field name="EGL_RENDER_BUFFER" />
+		<field name="EGL_RGB_BUFFER" />
+		<field name="EGL_SAMPLES" />
+		<field name="EGL_SAMPLE_BUFFERS" />
+		<field name="EGL_SINGLE_BUFFER" />
+		<field name="EGL_SLOW_CONFIG" />
+		<field name="EGL_STENCIL_SIZE" />
+		<field name="EGL_SUCCESS" />
+		<field name="EGL_SURFACE_TYPE" />
+		<field name="EGL_SWAP_BEHAVIOR" />
+		<field name="EGL_SWAP_BEHAVIOR_PRESERVED_BIT" />
+		<field name="EGL_TEXTURE_2D" />
+		<field name="EGL_TEXTURE_FORMAT" />
+		<field name="EGL_TEXTURE_RGB" />
+		<field name="EGL_TEXTURE_RGBA" />
+		<field name="EGL_TEXTURE_TARGET" />
+		<field name="EGL_TRANSPARENT_BLUE_VALUE" />
+		<field name="EGL_TRANSPARENT_GREEN_VALUE" />
+		<field name="EGL_TRANSPARENT_RED_VALUE" />
+		<field name="EGL_TRANSPARENT_RGB" />
+		<field name="EGL_TRANSPARENT_TYPE" />
+		<field name="EGL_TRUE" />
+		<field name="EGL_VENDOR" />
+		<field name="EGL_VERSION" />
+		<field name="EGL_VERTICAL_RESOLUTION" />
+		<field name="EGL_VG_ALPHA_FORMAT" />
+		<field name="EGL_VG_ALPHA_FORMAT_NONPRE" />
+		<field name="EGL_VG_ALPHA_FORMAT_PRE" />
+		<field name="EGL_VG_ALPHA_FORMAT_PRE_BIT" />
+		<field name="EGL_VG_COLORSPACE" />
+		<field name="EGL_VG_COLORSPACE_LINEAR" />
+		<field name="EGL_VG_COLORSPACE_LINEAR_BIT" />
+		<field name="EGL_VG_COLORSPACE_sRGB" />
+		<field name="EGL_WIDTH" />
+		<field name="EGL_WINDOW_BIT" />
+	</class>
+	<class name="android/opengl/EGL15" since="29">
+		<extends name="java/lang/Object" />
+		<method name="eglClientWaitSync(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSync;IJ)I" />
+		<method name="eglCreateImage(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLContext;IJ[JI)Landroid/opengl/EGLImage;" />
+		<method name="eglCreatePlatformPixmapSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/nio/Buffer;[JI)Landroid/opengl/EGLSurface;" />
+		<method name="eglCreatePlatformWindowSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/nio/Buffer;[JI)Landroid/opengl/EGLSurface;" />
+		<method name="eglCreateSync(Landroid/opengl/EGLDisplay;I[JI)Landroid/opengl/EGLSync;" />
+		<method name="eglDestroyImage(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLImage;)Z" />
+		<method name="eglDestroySync(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSync;)Z" />
+		<method name="eglGetPlatformDisplay(IJ[JI)Landroid/opengl/EGLDisplay;" />
+		<method name="eglGetSyncAttrib(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSync;I[JI)Z" />
+		<method name="eglWaitSync(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSync;I)Z" />
+		<field name="EGL_CL_EVENT_HANDLE" />
+		<field name="EGL_CONDITION_SATISFIED" />
+		<field name="EGL_CONTEXT_MAJOR_VERSION" />
+		<field name="EGL_CONTEXT_MINOR_VERSION" />
+		<field name="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT" />
+		<field name="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT" />
+		<field name="EGL_CONTEXT_OPENGL_DEBUG" />
+		<field name="EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE" />
+		<field name="EGL_CONTEXT_OPENGL_PROFILE_MASK" />
+		<field name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY" />
+		<field name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS" />
+		<field name="EGL_FOREVER" />
+		<field name="EGL_GL_COLORSPACE" />
+		<field name="EGL_GL_COLORSPACE_LINEAR" />
+		<field name="EGL_GL_COLORSPACE_SRGB" />
+		<field name="EGL_GL_RENDERBUFFER" />
+		<field name="EGL_GL_TEXTURE_2D" />
+		<field name="EGL_GL_TEXTURE_3D" />
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X" />
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" />
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" />
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X" />
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y" />
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z" />
+		<field name="EGL_GL_TEXTURE_LEVEL" />
+		<field name="EGL_GL_TEXTURE_ZOFFSET" />
+		<field name="EGL_IMAGE_PRESERVED" />
+		<field name="EGL_LOSE_CONTEXT_ON_RESET" />
+		<field name="EGL_NO_CONTEXT" />
+		<field name="EGL_NO_DISPLAY" />
+		<field name="EGL_NO_IMAGE" />
+		<field name="EGL_NO_RESET_NOTIFICATION" />
+		<field name="EGL_NO_SURFACE" />
+		<field name="EGL_NO_SYNC" />
+		<field name="EGL_OPENGL_ES3_BIT" />
+		<field name="EGL_PLATFORM_ANDROID_KHR" />
+		<field name="EGL_SIGNALED" />
+		<field name="EGL_SYNC_CL_EVENT" />
+		<field name="EGL_SYNC_CL_EVENT_COMPLETE" />
+		<field name="EGL_SYNC_CONDITION" />
+		<field name="EGL_SYNC_FENCE" />
+		<field name="EGL_SYNC_FLUSH_COMMANDS_BIT" />
+		<field name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE" />
+		<field name="EGL_SYNC_STATUS" />
+		<field name="EGL_SYNC_TYPE" />
+		<field name="EGL_TIMEOUT_EXPIRED" />
+		<field name="EGL_UNSIGNALED" />
+	</class>
+	<class name="android/opengl/EGLConfig" since="17">
+		<extends name="android/opengl/EGLObjectHandle" />
+	</class>
+	<class name="android/opengl/EGLContext" since="17">
+		<extends name="android/opengl/EGLObjectHandle" />
+	</class>
+	<class name="android/opengl/EGLDisplay" since="17">
+		<extends name="android/opengl/EGLObjectHandle" />
+	</class>
+	<class name="android/opengl/EGLExt" since="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="eglPresentationTimeANDROID(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;J)Z" />
+		<field name="EGL_CONTEXT_FLAGS_KHR" />
+		<field name="EGL_CONTEXT_MAJOR_VERSION_KHR" />
+		<field name="EGL_CONTEXT_MINOR_VERSION_KHR" />
+		<field name="EGL_OPENGL_ES3_BIT_KHR" />
+		<field name="EGL_RECORDABLE_ANDROID" since="26" />
+	</class>
+	<class name="android/opengl/EGLImage" since="29">
+		<extends name="android/opengl/EGLObjectHandle" />
+	</class>
+	<class name="android/opengl/EGLObjectHandle" since="17">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" deprecated="21" />
+		<method name="&lt;init&gt;(J)V" since="21" />
+		<method name="getHandle()I" deprecated="21" />
+		<method name="getNativeHandle()J" since="21" />
+	</class>
+	<class name="android/opengl/EGLSurface" since="17">
+		<extends name="android/opengl/EGLObjectHandle" />
+	</class>
+	<class name="android/opengl/EGLSync" since="29">
+		<extends name="android/opengl/EGLObjectHandle" />
+	</class>
+	<class name="android/opengl/ETC1" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="decodeBlock(Ljava/nio/Buffer;Ljava/nio/Buffer;)V" />
+		<method name="decodeImage(Ljava/nio/Buffer;Ljava/nio/Buffer;IIII)V" />
+		<method name="encodeBlock(Ljava/nio/Buffer;ILjava/nio/Buffer;)V" />
+		<method name="encodeImage(Ljava/nio/Buffer;IIIILjava/nio/Buffer;)V" />
+		<method name="formatHeader(Ljava/nio/Buffer;II)V" />
+		<method name="getEncodedDataSize(II)I" />
+		<method name="getHeight(Ljava/nio/Buffer;)I" />
+		<method name="getWidth(Ljava/nio/Buffer;)I" />
+		<method name="isValid(Ljava/nio/Buffer;)Z" />
+		<field name="DECODED_BLOCK_SIZE" />
+		<field name="ENCODED_BLOCK_SIZE" />
+		<field name="ETC1_RGB8_OES" />
+		<field name="ETC_PKM_HEADER_SIZE" />
+	</class>
+	<class name="android/opengl/ETC1Util" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="compressTexture(Ljava/nio/Buffer;IIII)Landroid/opengl/ETC1Util$ETC1Texture;" />
+		<method name="createTexture(Ljava/io/InputStream;)Landroid/opengl/ETC1Util$ETC1Texture;" />
+		<method name="isETC1Supported()Z" />
+		<method name="loadTexture(IIIIILandroid/opengl/ETC1Util$ETC1Texture;)V" />
+		<method name="loadTexture(IIIIILjava/io/InputStream;)V" />
+		<method name="writeTexture(Landroid/opengl/ETC1Util$ETC1Texture;Ljava/io/OutputStream;)V" />
+	</class>
+	<class name="android/opengl/ETC1Util$ETC1Texture" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IILjava/nio/ByteBuffer;)V" />
+		<method name="getData()Ljava/nio/ByteBuffer;" />
+		<method name="getHeight()I" />
+		<method name="getWidth()I" />
+	</class>
+	<class name="android/opengl/GLDebugHelper" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="wrap(Ljavax/microedition/khronos/egl/EGL;ILjava/io/Writer;)Ljavax/microedition/khronos/egl/EGL;" />
+		<method name="wrap(Ljavax/microedition/khronos/opengles/GL;ILjava/io/Writer;)Ljavax/microedition/khronos/opengles/GL;" />
+		<field name="CONFIG_CHECK_GL_ERROR" />
+		<field name="CONFIG_CHECK_THREAD" />
+		<field name="CONFIG_LOG_ARGUMENT_NAMES" />
+		<field name="ERROR_WRONG_THREAD" />
+	</class>
+	<class name="android/opengl/GLES10" since="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="glActiveTexture(I)V" />
+		<method name="glAlphaFunc(IF)V" />
+		<method name="glAlphaFuncx(II)V" />
+		<method name="glBindTexture(II)V" />
+		<method name="glBlendFunc(II)V" />
+		<method name="glClear(I)V" />
+		<method name="glClearColor(FFFF)V" />
+		<method name="glClearColorx(IIII)V" />
+		<method name="glClearDepthf(F)V" />
+		<method name="glClearDepthx(I)V" />
+		<method name="glClearStencil(I)V" />
+		<method name="glClientActiveTexture(I)V" />
+		<method name="glColor4f(FFFF)V" />
+		<method name="glColor4x(IIII)V" />
+		<method name="glColorMask(ZZZZ)V" />
+		<method name="glColorPointer(IIILjava/nio/Buffer;)V" />
+		<method name="glCompressedTexImage2D(IIIIIIILjava/nio/Buffer;)V" />
+		<method name="glCompressedTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glCopyTexImage2D(IIIIIIII)V" />
+		<method name="glCopyTexSubImage2D(IIIIIIII)V" />
+		<method name="glCullFace(I)V" />
+		<method name="glDeleteTextures(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteTextures(I[II)V" />
+		<method name="glDepthFunc(I)V" />
+		<method name="glDepthMask(Z)V" />
+		<method name="glDepthRangef(FF)V" />
+		<method name="glDepthRangex(II)V" />
+		<method name="glDisable(I)V" />
+		<method name="glDisableClientState(I)V" />
+		<method name="glDrawArrays(III)V" />
+		<method name="glDrawElements(IIILjava/nio/Buffer;)V" />
+		<method name="glEnable(I)V" />
+		<method name="glEnableClientState(I)V" />
+		<method name="glFinish()V" />
+		<method name="glFlush()V" />
+		<method name="glFogf(IF)V" />
+		<method name="glFogfv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glFogfv(I[FI)V" />
+		<method name="glFogx(II)V" />
+		<method name="glFogxv(ILjava/nio/IntBuffer;)V" />
+		<method name="glFogxv(I[II)V" />
+		<method name="glFrontFace(I)V" />
+		<method name="glFrustumf(FFFFFF)V" />
+		<method name="glFrustumx(IIIIII)V" />
+		<method name="glGenTextures(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenTextures(I[II)V" />
+		<method name="glGetError()I" />
+		<method name="glGetIntegerv(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetIntegerv(I[II)V" />
+		<method name="glGetString(I)Ljava/lang/String;" />
+		<method name="glHint(II)V" />
+		<method name="glLightModelf(IF)V" />
+		<method name="glLightModelfv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glLightModelfv(I[FI)V" />
+		<method name="glLightModelx(II)V" />
+		<method name="glLightModelxv(ILjava/nio/IntBuffer;)V" />
+		<method name="glLightModelxv(I[II)V" />
+		<method name="glLightf(IIF)V" />
+		<method name="glLightfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glLightfv(II[FI)V" />
+		<method name="glLightx(III)V" />
+		<method name="glLightxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glLightxv(II[II)V" />
+		<method name="glLineWidth(F)V" />
+		<method name="glLineWidthx(I)V" />
+		<method name="glLoadIdentity()V" />
+		<method name="glLoadMatrixf(Ljava/nio/FloatBuffer;)V" />
+		<method name="glLoadMatrixf([FI)V" />
+		<method name="glLoadMatrixx(Ljava/nio/IntBuffer;)V" />
+		<method name="glLoadMatrixx([II)V" />
+		<method name="glLogicOp(I)V" />
+		<method name="glMaterialf(IIF)V" />
+		<method name="glMaterialfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glMaterialfv(II[FI)V" />
+		<method name="glMaterialx(III)V" />
+		<method name="glMaterialxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glMaterialxv(II[II)V" />
+		<method name="glMatrixMode(I)V" />
+		<method name="glMultMatrixf(Ljava/nio/FloatBuffer;)V" />
+		<method name="glMultMatrixf([FI)V" />
+		<method name="glMultMatrixx(Ljava/nio/IntBuffer;)V" />
+		<method name="glMultMatrixx([II)V" />
+		<method name="glMultiTexCoord4f(IFFFF)V" />
+		<method name="glMultiTexCoord4x(IIIII)V" />
+		<method name="glNormal3f(FFF)V" />
+		<method name="glNormal3x(III)V" />
+		<method name="glNormalPointer(IILjava/nio/Buffer;)V" />
+		<method name="glOrthof(FFFFFF)V" />
+		<method name="glOrthox(IIIIII)V" />
+		<method name="glPixelStorei(II)V" />
+		<method name="glPointSize(F)V" />
+		<method name="glPointSizex(I)V" />
+		<method name="glPolygonOffset(FF)V" />
+		<method name="glPolygonOffsetx(II)V" />
+		<method name="glPopMatrix()V" />
+		<method name="glPushMatrix()V" />
+		<method name="glReadPixels(IIIIIILjava/nio/Buffer;)V" />
+		<method name="glRotatef(FFFF)V" />
+		<method name="glRotatex(IIII)V" />
+		<method name="glSampleCoverage(FZ)V" />
+		<method name="glSampleCoveragex(IZ)V" />
+		<method name="glScalef(FFF)V" />
+		<method name="glScalex(III)V" />
+		<method name="glScissor(IIII)V" />
+		<method name="glShadeModel(I)V" />
+		<method name="glStencilFunc(III)V" />
+		<method name="glStencilMask(I)V" />
+		<method name="glStencilOp(III)V" />
+		<method name="glTexCoordPointer(IIILjava/nio/Buffer;)V" />
+		<method name="glTexEnvf(IIF)V" />
+		<method name="glTexEnvfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glTexEnvfv(II[FI)V" />
+		<method name="glTexEnvx(III)V" />
+		<method name="glTexEnvxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexEnvxv(II[II)V" />
+		<method name="glTexImage2D(IIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glTexParameterf(IIF)V" />
+		<method name="glTexParameterx(III)V" />
+		<method name="glTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glTranslatef(FFF)V" />
+		<method name="glTranslatex(III)V" />
+		<method name="glVertexPointer(IIILjava/nio/Buffer;)V" />
+		<method name="glViewport(IIII)V" />
+		<field name="GL_ADD" />
+		<field name="GL_ALIASED_LINE_WIDTH_RANGE" />
+		<field name="GL_ALIASED_POINT_SIZE_RANGE" />
+		<field name="GL_ALPHA" />
+		<field name="GL_ALPHA_BITS" />
+		<field name="GL_ALPHA_TEST" />
+		<field name="GL_ALWAYS" />
+		<field name="GL_AMBIENT" />
+		<field name="GL_AMBIENT_AND_DIFFUSE" />
+		<field name="GL_AND" />
+		<field name="GL_AND_INVERTED" />
+		<field name="GL_AND_REVERSE" />
+		<field name="GL_BACK" />
+		<field name="GL_BLEND" />
+		<field name="GL_BLUE_BITS" />
+		<field name="GL_BYTE" />
+		<field name="GL_CCW" />
+		<field name="GL_CLAMP_TO_EDGE" />
+		<field name="GL_CLEAR" />
+		<field name="GL_COLOR_ARRAY" />
+		<field name="GL_COLOR_BUFFER_BIT" />
+		<field name="GL_COLOR_LOGIC_OP" />
+		<field name="GL_COLOR_MATERIAL" />
+		<field name="GL_COMPRESSED_TEXTURE_FORMATS" />
+		<field name="GL_CONSTANT_ATTENUATION" />
+		<field name="GL_COPY" />
+		<field name="GL_COPY_INVERTED" />
+		<field name="GL_CULL_FACE" />
+		<field name="GL_CW" />
+		<field name="GL_DECAL" />
+		<field name="GL_DECR" />
+		<field name="GL_DEPTH_BITS" />
+		<field name="GL_DEPTH_BUFFER_BIT" />
+		<field name="GL_DEPTH_TEST" />
+		<field name="GL_DIFFUSE" />
+		<field name="GL_DITHER" />
+		<field name="GL_DONT_CARE" />
+		<field name="GL_DST_ALPHA" />
+		<field name="GL_DST_COLOR" />
+		<field name="GL_EMISSION" />
+		<field name="GL_EQUAL" />
+		<field name="GL_EQUIV" />
+		<field name="GL_EXP" />
+		<field name="GL_EXP2" />
+		<field name="GL_EXTENSIONS" />
+		<field name="GL_FALSE" />
+		<field name="GL_FASTEST" />
+		<field name="GL_FIXED" />
+		<field name="GL_FLAT" />
+		<field name="GL_FLOAT" />
+		<field name="GL_FOG" />
+		<field name="GL_FOG_COLOR" />
+		<field name="GL_FOG_DENSITY" />
+		<field name="GL_FOG_END" />
+		<field name="GL_FOG_HINT" />
+		<field name="GL_FOG_MODE" />
+		<field name="GL_FOG_START" />
+		<field name="GL_FRONT" />
+		<field name="GL_FRONT_AND_BACK" />
+		<field name="GL_GEQUAL" />
+		<field name="GL_GREATER" />
+		<field name="GL_GREEN_BITS" />
+		<field name="GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES" />
+		<field name="GL_IMPLEMENTATION_COLOR_READ_TYPE_OES" />
+		<field name="GL_INCR" />
+		<field name="GL_INVALID_ENUM" />
+		<field name="GL_INVALID_OPERATION" />
+		<field name="GL_INVALID_VALUE" />
+		<field name="GL_INVERT" />
+		<field name="GL_KEEP" />
+		<field name="GL_LEQUAL" />
+		<field name="GL_LESS" />
+		<field name="GL_LIGHT0" />
+		<field name="GL_LIGHT1" />
+		<field name="GL_LIGHT2" />
+		<field name="GL_LIGHT3" />
+		<field name="GL_LIGHT4" />
+		<field name="GL_LIGHT5" />
+		<field name="GL_LIGHT6" />
+		<field name="GL_LIGHT7" />
+		<field name="GL_LIGHTING" />
+		<field name="GL_LIGHT_MODEL_AMBIENT" />
+		<field name="GL_LIGHT_MODEL_TWO_SIDE" />
+		<field name="GL_LINEAR" />
+		<field name="GL_LINEAR_ATTENUATION" />
+		<field name="GL_LINEAR_MIPMAP_LINEAR" />
+		<field name="GL_LINEAR_MIPMAP_NEAREST" />
+		<field name="GL_LINES" />
+		<field name="GL_LINE_LOOP" />
+		<field name="GL_LINE_SMOOTH" />
+		<field name="GL_LINE_SMOOTH_HINT" />
+		<field name="GL_LINE_STRIP" />
+		<field name="GL_LUMINANCE" />
+		<field name="GL_LUMINANCE_ALPHA" />
+		<field name="GL_MAX_ELEMENTS_INDICES" />
+		<field name="GL_MAX_ELEMENTS_VERTICES" />
+		<field name="GL_MAX_LIGHTS" />
+		<field name="GL_MAX_MODELVIEW_STACK_DEPTH" />
+		<field name="GL_MAX_PROJECTION_STACK_DEPTH" />
+		<field name="GL_MAX_TEXTURE_SIZE" />
+		<field name="GL_MAX_TEXTURE_STACK_DEPTH" />
+		<field name="GL_MAX_TEXTURE_UNITS" />
+		<field name="GL_MAX_VIEWPORT_DIMS" />
+		<field name="GL_MODELVIEW" />
+		<field name="GL_MODULATE" />
+		<field name="GL_MULTISAMPLE" />
+		<field name="GL_NAND" />
+		<field name="GL_NEAREST" />
+		<field name="GL_NEAREST_MIPMAP_LINEAR" />
+		<field name="GL_NEAREST_MIPMAP_NEAREST" />
+		<field name="GL_NEVER" />
+		<field name="GL_NICEST" />
+		<field name="GL_NOOP" />
+		<field name="GL_NOR" />
+		<field name="GL_NORMALIZE" />
+		<field name="GL_NORMAL_ARRAY" />
+		<field name="GL_NOTEQUAL" />
+		<field name="GL_NO_ERROR" />
+		<field name="GL_NUM_COMPRESSED_TEXTURE_FORMATS" />
+		<field name="GL_ONE" />
+		<field name="GL_ONE_MINUS_DST_ALPHA" />
+		<field name="GL_ONE_MINUS_DST_COLOR" />
+		<field name="GL_ONE_MINUS_SRC_ALPHA" />
+		<field name="GL_ONE_MINUS_SRC_COLOR" />
+		<field name="GL_OR" />
+		<field name="GL_OR_INVERTED" />
+		<field name="GL_OR_REVERSE" />
+		<field name="GL_OUT_OF_MEMORY" />
+		<field name="GL_PACK_ALIGNMENT" />
+		<field name="GL_PALETTE4_R5_G6_B5_OES" />
+		<field name="GL_PALETTE4_RGB5_A1_OES" />
+		<field name="GL_PALETTE4_RGB8_OES" />
+		<field name="GL_PALETTE4_RGBA4_OES" />
+		<field name="GL_PALETTE4_RGBA8_OES" />
+		<field name="GL_PALETTE8_R5_G6_B5_OES" />
+		<field name="GL_PALETTE8_RGB5_A1_OES" />
+		<field name="GL_PALETTE8_RGB8_OES" />
+		<field name="GL_PALETTE8_RGBA4_OES" />
+		<field name="GL_PALETTE8_RGBA8_OES" />
+		<field name="GL_PERSPECTIVE_CORRECTION_HINT" />
+		<field name="GL_POINTS" />
+		<field name="GL_POINT_FADE_THRESHOLD_SIZE" />
+		<field name="GL_POINT_SIZE" />
+		<field name="GL_POINT_SMOOTH" />
+		<field name="GL_POINT_SMOOTH_HINT" />
+		<field name="GL_POLYGON_OFFSET_FILL" />
+		<field name="GL_POLYGON_SMOOTH_HINT" />
+		<field name="GL_POSITION" />
+		<field name="GL_PROJECTION" />
+		<field name="GL_QUADRATIC_ATTENUATION" />
+		<field name="GL_RED_BITS" />
+		<field name="GL_RENDERER" />
+		<field name="GL_REPEAT" />
+		<field name="GL_REPLACE" />
+		<field name="GL_RESCALE_NORMAL" />
+		<field name="GL_RGB" />
+		<field name="GL_RGBA" />
+		<field name="GL_SAMPLE_ALPHA_TO_COVERAGE" />
+		<field name="GL_SAMPLE_ALPHA_TO_ONE" />
+		<field name="GL_SAMPLE_COVERAGE" />
+		<field name="GL_SCISSOR_TEST" />
+		<field name="GL_SET" />
+		<field name="GL_SHININESS" />
+		<field name="GL_SHORT" />
+		<field name="GL_SMOOTH" />
+		<field name="GL_SMOOTH_LINE_WIDTH_RANGE" />
+		<field name="GL_SMOOTH_POINT_SIZE_RANGE" />
+		<field name="GL_SPECULAR" />
+		<field name="GL_SPOT_CUTOFF" />
+		<field name="GL_SPOT_DIRECTION" />
+		<field name="GL_SPOT_EXPONENT" />
+		<field name="GL_SRC_ALPHA" />
+		<field name="GL_SRC_ALPHA_SATURATE" />
+		<field name="GL_SRC_COLOR" />
+		<field name="GL_STACK_OVERFLOW" />
+		<field name="GL_STACK_UNDERFLOW" />
+		<field name="GL_STENCIL_BITS" />
+		<field name="GL_STENCIL_BUFFER_BIT" />
+		<field name="GL_STENCIL_TEST" />
+		<field name="GL_SUBPIXEL_BITS" />
+		<field name="GL_TEXTURE" />
+		<field name="GL_TEXTURE0" />
+		<field name="GL_TEXTURE1" />
+		<field name="GL_TEXTURE10" />
+		<field name="GL_TEXTURE11" />
+		<field name="GL_TEXTURE12" />
+		<field name="GL_TEXTURE13" />
+		<field name="GL_TEXTURE14" />
+		<field name="GL_TEXTURE15" />
+		<field name="GL_TEXTURE16" />
+		<field name="GL_TEXTURE17" />
+		<field name="GL_TEXTURE18" />
+		<field name="GL_TEXTURE19" />
+		<field name="GL_TEXTURE2" />
+		<field name="GL_TEXTURE20" />
+		<field name="GL_TEXTURE21" />
+		<field name="GL_TEXTURE22" />
+		<field name="GL_TEXTURE23" />
+		<field name="GL_TEXTURE24" />
+		<field name="GL_TEXTURE25" />
+		<field name="GL_TEXTURE26" />
+		<field name="GL_TEXTURE27" />
+		<field name="GL_TEXTURE28" />
+		<field name="GL_TEXTURE29" />
+		<field name="GL_TEXTURE3" />
+		<field name="GL_TEXTURE30" />
+		<field name="GL_TEXTURE31" />
+		<field name="GL_TEXTURE4" />
+		<field name="GL_TEXTURE5" />
+		<field name="GL_TEXTURE6" />
+		<field name="GL_TEXTURE7" />
+		<field name="GL_TEXTURE8" />
+		<field name="GL_TEXTURE9" />
+		<field name="GL_TEXTURE_2D" />
+		<field name="GL_TEXTURE_COORD_ARRAY" />
+		<field name="GL_TEXTURE_ENV" />
+		<field name="GL_TEXTURE_ENV_COLOR" />
+		<field name="GL_TEXTURE_ENV_MODE" />
+		<field name="GL_TEXTURE_MAG_FILTER" />
+		<field name="GL_TEXTURE_MIN_FILTER" />
+		<field name="GL_TEXTURE_WRAP_S" />
+		<field name="GL_TEXTURE_WRAP_T" />
+		<field name="GL_TRIANGLES" />
+		<field name="GL_TRIANGLE_FAN" />
+		<field name="GL_TRIANGLE_STRIP" />
+		<field name="GL_TRUE" />
+		<field name="GL_UNPACK_ALIGNMENT" />
+		<field name="GL_UNSIGNED_BYTE" />
+		<field name="GL_UNSIGNED_SHORT" />
+		<field name="GL_UNSIGNED_SHORT_4_4_4_4" />
+		<field name="GL_UNSIGNED_SHORT_5_5_5_1" />
+		<field name="GL_UNSIGNED_SHORT_5_6_5" />
+		<field name="GL_VENDOR" />
+		<field name="GL_VERSION" />
+		<field name="GL_VERTEX_ARRAY" />
+		<field name="GL_XOR" />
+		<field name="GL_ZERO" />
+	</class>
+	<class name="android/opengl/GLES10Ext" since="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="glQueryMatrixxOES(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)I" />
+		<method name="glQueryMatrixxOES([II[II)I" />
+	</class>
+	<class name="android/opengl/GLES11" since="4">
+		<extends name="android/opengl/GLES10" />
+		<method name="&lt;init&gt;()V" />
+		<method name="glBindBuffer(II)V" />
+		<method name="glBufferData(IILjava/nio/Buffer;I)V" />
+		<method name="glBufferSubData(IIILjava/nio/Buffer;)V" />
+		<method name="glClipPlanef(ILjava/nio/FloatBuffer;)V" />
+		<method name="glClipPlanef(I[FI)V" />
+		<method name="glClipPlanex(ILjava/nio/IntBuffer;)V" />
+		<method name="glClipPlanex(I[II)V" />
+		<method name="glColor4ub(BBBB)V" />
+		<method name="glColorPointer(IIII)V" />
+		<method name="glDeleteBuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteBuffers(I[II)V" />
+		<method name="glDrawElements(IIII)V" />
+		<method name="glGenBuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenBuffers(I[II)V" />
+		<method name="glGetBooleanv(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetBooleanv(I[ZI)V" />
+		<method name="glGetBufferParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetBufferParameteriv(II[II)V" />
+		<method name="glGetClipPlanef(ILjava/nio/FloatBuffer;)V" />
+		<method name="glGetClipPlanef(I[FI)V" />
+		<method name="glGetClipPlanex(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetClipPlanex(I[II)V" />
+		<method name="glGetFixedv(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetFixedv(I[II)V" />
+		<method name="glGetFloatv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glGetFloatv(I[FI)V" />
+		<method name="glGetLightfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetLightfv(II[FI)V" />
+		<method name="glGetLightxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetLightxv(II[II)V" />
+		<method name="glGetMaterialfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetMaterialfv(II[FI)V" />
+		<method name="glGetMaterialxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetMaterialxv(II[II)V" />
+		<method name="glGetTexEnvfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetTexEnvfv(II[FI)V" />
+		<method name="glGetTexEnviv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexEnviv(II[II)V" />
+		<method name="glGetTexEnvxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexEnvxv(II[II)V" />
+		<method name="glGetTexParameterfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetTexParameterfv(II[FI)V" />
+		<method name="glGetTexParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexParameteriv(II[II)V" />
+		<method name="glGetTexParameterxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexParameterxv(II[II)V" />
+		<method name="glIsBuffer(I)Z" />
+		<method name="glIsEnabled(I)Z" />
+		<method name="glIsTexture(I)Z" />
+		<method name="glNormalPointer(III)V" />
+		<method name="glPointParameterf(IF)V" />
+		<method name="glPointParameterfv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glPointParameterfv(I[FI)V" />
+		<method name="glPointParameterx(II)V" />
+		<method name="glPointParameterxv(ILjava/nio/IntBuffer;)V" />
+		<method name="glPointParameterxv(I[II)V" />
+		<method name="glPointSizePointerOES(IILjava/nio/Buffer;)V" />
+		<method name="glTexCoordPointer(IIII)V" />
+		<method name="glTexEnvi(III)V" />
+		<method name="glTexEnviv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexEnviv(II[II)V" />
+		<method name="glTexParameterfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glTexParameterfv(II[FI)V" />
+		<method name="glTexParameteri(III)V" />
+		<method name="glTexParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexParameteriv(II[II)V" />
+		<method name="glTexParameterxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexParameterxv(II[II)V" />
+		<method name="glVertexPointer(IIII)V" />
+		<field name="GL_ACTIVE_TEXTURE" />
+		<field name="GL_ADD_SIGNED" />
+		<field name="GL_ALPHA_SCALE" />
+		<field name="GL_ALPHA_TEST_FUNC" />
+		<field name="GL_ALPHA_TEST_REF" />
+		<field name="GL_ARRAY_BUFFER" />
+		<field name="GL_ARRAY_BUFFER_BINDING" />
+		<field name="GL_BLEND_DST" />
+		<field name="GL_BLEND_SRC" />
+		<field name="GL_BUFFER_ACCESS" />
+		<field name="GL_BUFFER_SIZE" />
+		<field name="GL_BUFFER_USAGE" />
+		<field name="GL_CLIENT_ACTIVE_TEXTURE" />
+		<field name="GL_CLIP_PLANE0" />
+		<field name="GL_CLIP_PLANE1" />
+		<field name="GL_CLIP_PLANE2" />
+		<field name="GL_CLIP_PLANE3" />
+		<field name="GL_CLIP_PLANE4" />
+		<field name="GL_CLIP_PLANE5" />
+		<field name="GL_COLOR_ARRAY_BUFFER_BINDING" />
+		<field name="GL_COLOR_ARRAY_POINTER" />
+		<field name="GL_COLOR_ARRAY_SIZE" />
+		<field name="GL_COLOR_ARRAY_STRIDE" />
+		<field name="GL_COLOR_ARRAY_TYPE" />
+		<field name="GL_COLOR_CLEAR_VALUE" />
+		<field name="GL_COLOR_WRITEMASK" />
+		<field name="GL_COMBINE" />
+		<field name="GL_COMBINE_ALPHA" />
+		<field name="GL_COMBINE_RGB" />
+		<field name="GL_CONSTANT" />
+		<field name="GL_COORD_REPLACE_OES" />
+		<field name="GL_CULL_FACE_MODE" />
+		<field name="GL_CURRENT_COLOR" />
+		<field name="GL_CURRENT_NORMAL" />
+		<field name="GL_CURRENT_TEXTURE_COORDS" />
+		<field name="GL_DEPTH_CLEAR_VALUE" />
+		<field name="GL_DEPTH_FUNC" />
+		<field name="GL_DEPTH_RANGE" />
+		<field name="GL_DEPTH_WRITEMASK" />
+		<field name="GL_DOT3_RGB" />
+		<field name="GL_DOT3_RGBA" />
+		<field name="GL_DYNAMIC_DRAW" />
+		<field name="GL_ELEMENT_ARRAY_BUFFER" />
+		<field name="GL_ELEMENT_ARRAY_BUFFER_BINDING" />
+		<field name="GL_FRONT_FACE" />
+		<field name="GL_GENERATE_MIPMAP" />
+		<field name="GL_GENERATE_MIPMAP_HINT" />
+		<field name="GL_INTERPOLATE" />
+		<field name="GL_LINE_WIDTH" />
+		<field name="GL_LOGIC_OP_MODE" />
+		<field name="GL_MATRIX_MODE" />
+		<field name="GL_MAX_CLIP_PLANES" />
+		<field name="GL_MODELVIEW_MATRIX" />
+		<field name="GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES" />
+		<field name="GL_MODELVIEW_STACK_DEPTH" />
+		<field name="GL_NORMAL_ARRAY_BUFFER_BINDING" />
+		<field name="GL_NORMAL_ARRAY_POINTER" />
+		<field name="GL_NORMAL_ARRAY_STRIDE" />
+		<field name="GL_NORMAL_ARRAY_TYPE" />
+		<field name="GL_OPERAND0_ALPHA" />
+		<field name="GL_OPERAND0_RGB" />
+		<field name="GL_OPERAND1_ALPHA" />
+		<field name="GL_OPERAND1_RGB" />
+		<field name="GL_OPERAND2_ALPHA" />
+		<field name="GL_OPERAND2_RGB" />
+		<field name="GL_POINT_DISTANCE_ATTENUATION" />
+		<field name="GL_POINT_FADE_THRESHOLD_SIZE" />
+		<field name="GL_POINT_SIZE" />
+		<field name="GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES" />
+		<field name="GL_POINT_SIZE_ARRAY_OES" />
+		<field name="GL_POINT_SIZE_ARRAY_POINTER_OES" />
+		<field name="GL_POINT_SIZE_ARRAY_STRIDE_OES" />
+		<field name="GL_POINT_SIZE_ARRAY_TYPE_OES" />
+		<field name="GL_POINT_SIZE_MAX" />
+		<field name="GL_POINT_SIZE_MIN" />
+		<field name="GL_POINT_SPRITE_OES" />
+		<field name="GL_POLYGON_OFFSET_FACTOR" />
+		<field name="GL_POLYGON_OFFSET_UNITS" />
+		<field name="GL_PREVIOUS" />
+		<field name="GL_PRIMARY_COLOR" />
+		<field name="GL_PROJECTION_MATRIX" />
+		<field name="GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES" />
+		<field name="GL_PROJECTION_STACK_DEPTH" />
+		<field name="GL_RGB_SCALE" />
+		<field name="GL_SAMPLES" />
+		<field name="GL_SAMPLE_BUFFERS" />
+		<field name="GL_SAMPLE_COVERAGE_INVERT" />
+		<field name="GL_SAMPLE_COVERAGE_VALUE" />
+		<field name="GL_SCISSOR_BOX" />
+		<field name="GL_SHADE_MODEL" />
+		<field name="GL_SRC0_ALPHA" />
+		<field name="GL_SRC0_RGB" />
+		<field name="GL_SRC1_ALPHA" />
+		<field name="GL_SRC1_RGB" />
+		<field name="GL_SRC2_ALPHA" />
+		<field name="GL_SRC2_RGB" />
+		<field name="GL_STATIC_DRAW" />
+		<field name="GL_STENCIL_CLEAR_VALUE" />
+		<field name="GL_STENCIL_FAIL" />
+		<field name="GL_STENCIL_FUNC" />
+		<field name="GL_STENCIL_PASS_DEPTH_FAIL" />
+		<field name="GL_STENCIL_PASS_DEPTH_PASS" />
+		<field name="GL_STENCIL_REF" />
+		<field name="GL_STENCIL_VALUE_MASK" />
+		<field name="GL_STENCIL_WRITEMASK" />
+		<field name="GL_SUBTRACT" />
+		<field name="GL_TEXTURE_BINDING_2D" />
+		<field name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING" />
+		<field name="GL_TEXTURE_COORD_ARRAY_POINTER" />
+		<field name="GL_TEXTURE_COORD_ARRAY_SIZE" />
+		<field name="GL_TEXTURE_COORD_ARRAY_STRIDE" />
+		<field name="GL_TEXTURE_COORD_ARRAY_TYPE" />
+		<field name="GL_TEXTURE_MATRIX" />
+		<field name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES" />
+		<field name="GL_TEXTURE_STACK_DEPTH" />
+		<field name="GL_VERTEX_ARRAY_BUFFER_BINDING" />
+		<field name="GL_VERTEX_ARRAY_POINTER" />
+		<field name="GL_VERTEX_ARRAY_SIZE" />
+		<field name="GL_VERTEX_ARRAY_STRIDE" />
+		<field name="GL_VERTEX_ARRAY_TYPE" />
+		<field name="GL_VIEWPORT" />
+		<field name="GL_WRITE_ONLY" />
+	</class>
+	<class name="android/opengl/GLES11Ext" since="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="glAlphaFuncxOES(II)V" />
+		<method name="glBindFramebufferOES(II)V" />
+		<method name="glBindRenderbufferOES(II)V" />
+		<method name="glBlendEquationOES(I)V" />
+		<method name="glBlendEquationSeparateOES(II)V" />
+		<method name="glBlendFuncSeparateOES(IIII)V" />
+		<method name="glCheckFramebufferStatusOES(I)I" />
+		<method name="glClearColorxOES(IIII)V" />
+		<method name="glClearDepthfOES(F)V" />
+		<method name="glClearDepthxOES(I)V" />
+		<method name="glClipPlanefOES(ILjava/nio/FloatBuffer;)V" />
+		<method name="glClipPlanefOES(I[FI)V" />
+		<method name="glClipPlanexOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glClipPlanexOES(I[II)V" />
+		<method name="glColor4xOES(IIII)V" />
+		<method name="glCurrentPaletteMatrixOES(I)V" />
+		<method name="glDeleteFramebuffersOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteFramebuffersOES(I[II)V" />
+		<method name="glDeleteRenderbuffersOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteRenderbuffersOES(I[II)V" />
+		<method name="glDepthRangefOES(FF)V" />
+		<method name="glDepthRangexOES(II)V" />
+		<method name="glDrawTexfOES(FFFFF)V" />
+		<method name="glDrawTexfvOES(Ljava/nio/FloatBuffer;)V" />
+		<method name="glDrawTexfvOES([FI)V" />
+		<method name="glDrawTexiOES(IIIII)V" />
+		<method name="glDrawTexivOES(Ljava/nio/IntBuffer;)V" />
+		<method name="glDrawTexivOES([II)V" />
+		<method name="glDrawTexsOES(SSSSS)V" />
+		<method name="glDrawTexsvOES(Ljava/nio/ShortBuffer;)V" />
+		<method name="glDrawTexsvOES([SI)V" />
+		<method name="glDrawTexxOES(IIIII)V" />
+		<method name="glDrawTexxvOES(Ljava/nio/IntBuffer;)V" />
+		<method name="glDrawTexxvOES([II)V" />
+		<method name="glEGLImageTargetRenderbufferStorageOES(ILjava/nio/Buffer;)V" />
+		<method name="glEGLImageTargetTexture2DOES(ILjava/nio/Buffer;)V" />
+		<method name="glFogxOES(II)V" />
+		<method name="glFogxvOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glFogxvOES(I[II)V" />
+		<method name="glFramebufferRenderbufferOES(IIII)V" />
+		<method name="glFramebufferTexture2DOES(IIIII)V" />
+		<method name="glFrustumfOES(FFFFFF)V" />
+		<method name="glFrustumxOES(IIIIII)V" />
+		<method name="glGenFramebuffersOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenFramebuffersOES(I[II)V" />
+		<method name="glGenRenderbuffersOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenRenderbuffersOES(I[II)V" />
+		<method name="glGenerateMipmapOES(I)V" />
+		<method name="glGetClipPlanefOES(ILjava/nio/FloatBuffer;)V" />
+		<method name="glGetClipPlanefOES(I[FI)V" />
+		<method name="glGetClipPlanexOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetClipPlanexOES(I[II)V" />
+		<method name="glGetFixedvOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetFixedvOES(I[II)V" />
+		<method name="glGetFramebufferAttachmentParameterivOES(IIILjava/nio/IntBuffer;)V" />
+		<method name="glGetFramebufferAttachmentParameterivOES(III[II)V" />
+		<method name="glGetLightxvOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetLightxvOES(II[II)V" />
+		<method name="glGetMaterialxvOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetMaterialxvOES(II[II)V" />
+		<method name="glGetRenderbufferParameterivOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetRenderbufferParameterivOES(II[II)V" />
+		<method name="glGetTexEnvxvOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexEnvxvOES(II[II)V" />
+		<method name="glGetTexGenfvOES(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetTexGenfvOES(II[FI)V" />
+		<method name="glGetTexGenivOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexGenivOES(II[II)V" />
+		<method name="glGetTexGenxvOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexGenxvOES(II[II)V" />
+		<method name="glGetTexParameterxvOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexParameterxvOES(II[II)V" />
+		<method name="glIsFramebufferOES(I)Z" />
+		<method name="glIsRenderbufferOES(I)Z" />
+		<method name="glLightModelxOES(II)V" />
+		<method name="glLightModelxvOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glLightModelxvOES(I[II)V" />
+		<method name="glLightxOES(III)V" />
+		<method name="glLightxvOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glLightxvOES(II[II)V" />
+		<method name="glLineWidthxOES(I)V" />
+		<method name="glLoadMatrixxOES(Ljava/nio/IntBuffer;)V" />
+		<method name="glLoadMatrixxOES([II)V" />
+		<method name="glLoadPaletteFromModelViewMatrixOES()V" />
+		<method name="glMaterialxOES(III)V" />
+		<method name="glMaterialxvOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glMaterialxvOES(II[II)V" />
+		<method name="glMatrixIndexPointerOES(IIILjava/nio/Buffer;)V" />
+		<method name="glMultMatrixxOES(Ljava/nio/IntBuffer;)V" />
+		<method name="glMultMatrixxOES([II)V" />
+		<method name="glMultiTexCoord4xOES(IIIII)V" />
+		<method name="glNormal3xOES(III)V" />
+		<method name="glOrthofOES(FFFFFF)V" />
+		<method name="glOrthoxOES(IIIIII)V" />
+		<method name="glPointParameterxOES(II)V" />
+		<method name="glPointParameterxvOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glPointParameterxvOES(I[II)V" />
+		<method name="glPointSizexOES(I)V" />
+		<method name="glPolygonOffsetxOES(II)V" />
+		<method name="glRenderbufferStorageOES(IIII)V" />
+		<method name="glRotatexOES(IIII)V" />
+		<method name="glSampleCoveragexOES(IZ)V" />
+		<method name="glScalexOES(III)V" />
+		<method name="glTexEnvxOES(III)V" />
+		<method name="glTexEnvxvOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexEnvxvOES(II[II)V" />
+		<method name="glTexGenfOES(IIF)V" />
+		<method name="glTexGenfvOES(IILjava/nio/FloatBuffer;)V" />
+		<method name="glTexGenfvOES(II[FI)V" />
+		<method name="glTexGeniOES(III)V" />
+		<method name="glTexGenivOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexGenivOES(II[II)V" />
+		<method name="glTexGenxOES(III)V" />
+		<method name="glTexGenxvOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexGenxvOES(II[II)V" />
+		<method name="glTexParameterxOES(III)V" />
+		<method name="glTexParameterxvOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexParameterxvOES(II[II)V" />
+		<method name="glTranslatexOES(III)V" />
+		<method name="glWeightPointerOES(IIILjava/nio/Buffer;)V" />
+		<field name="GL_3DC_XY_AMD" />
+		<field name="GL_3DC_X_AMD" />
+		<field name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD" />
+		<field name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD" />
+		<field name="GL_ATC_RGB_AMD" />
+		<field name="GL_BGRA" />
+		<field name="GL_BLEND_DST_ALPHA_OES" />
+		<field name="GL_BLEND_DST_RGB_OES" />
+		<field name="GL_BLEND_EQUATION_ALPHA_OES" />
+		<field name="GL_BLEND_EQUATION_OES" />
+		<field name="GL_BLEND_EQUATION_RGB_OES" />
+		<field name="GL_BLEND_SRC_ALPHA_OES" />
+		<field name="GL_BLEND_SRC_RGB_OES" />
+		<field name="GL_BUFFER_ACCESS_OES" />
+		<field name="GL_BUFFER_MAPPED_OES" />
+		<field name="GL_BUFFER_MAP_POINTER_OES" />
+		<field name="GL_COLOR_ATTACHMENT0_OES" />
+		<field name="GL_CURRENT_PALETTE_MATRIX_OES" />
+		<field name="GL_DECR_WRAP_OES" />
+		<field name="GL_DEPTH24_STENCIL8_OES" />
+		<field name="GL_DEPTH_ATTACHMENT_OES" />
+		<field name="GL_DEPTH_COMPONENT16_OES" />
+		<field name="GL_DEPTH_COMPONENT24_OES" />
+		<field name="GL_DEPTH_COMPONENT32_OES" />
+		<field name="GL_DEPTH_STENCIL_OES" />
+		<field name="GL_ETC1_RGB8_OES" />
+		<field name="GL_FIXED_OES" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" />
+		<field name="GL_FRAMEBUFFER_BINDING_OES" />
+		<field name="GL_FRAMEBUFFER_COMPLETE_OES" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES" />
+		<field name="GL_FRAMEBUFFER_OES" />
+		<field name="GL_FRAMEBUFFER_UNSUPPORTED_OES" />
+		<field name="GL_FUNC_ADD_OES" />
+		<field name="GL_FUNC_REVERSE_SUBTRACT_OES" />
+		<field name="GL_FUNC_SUBTRACT_OES" />
+		<field name="GL_INCR_WRAP_OES" />
+		<field name="GL_INVALID_FRAMEBUFFER_OPERATION_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_POINTER_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_SIZE_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_STRIDE_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_TYPE_OES" />
+		<field name="GL_MATRIX_PALETTE_OES" />
+		<field name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES" />
+		<field name="GL_MAX_PALETTE_MATRICES_OES" />
+		<field name="GL_MAX_RENDERBUFFER_SIZE_OES" />
+		<field name="GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT" />
+		<field name="GL_MAX_VERTEX_UNITS_OES" />
+		<field name="GL_MIRRORED_REPEAT_OES" />
+		<field name="GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES" />
+		<field name="GL_NONE_OES" />
+		<field name="GL_NORMAL_MAP_OES" />
+		<field name="GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES" />
+		<field name="GL_REFLECTION_MAP_OES" />
+		<field name="GL_RENDERBUFFER_ALPHA_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_BINDING_OES" />
+		<field name="GL_RENDERBUFFER_BLUE_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_DEPTH_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_GREEN_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_HEIGHT_OES" />
+		<field name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES" />
+		<field name="GL_RENDERBUFFER_OES" />
+		<field name="GL_RENDERBUFFER_RED_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_STENCIL_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_WIDTH_OES" />
+		<field name="GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES" since="15" />
+		<field name="GL_RGB565_OES" />
+		<field name="GL_RGB5_A1_OES" />
+		<field name="GL_RGB8_OES" />
+		<field name="GL_RGBA4_OES" />
+		<field name="GL_RGBA8_OES" />
+		<field name="GL_SAMPLER_EXTERNAL_OES" since="15" />
+		<field name="GL_STENCIL_ATTACHMENT_OES" />
+		<field name="GL_STENCIL_INDEX1_OES" />
+		<field name="GL_STENCIL_INDEX4_OES" />
+		<field name="GL_STENCIL_INDEX8_OES" />
+		<field name="GL_TEXTURE_BINDING_CUBE_MAP_OES" />
+		<field name="GL_TEXTURE_BINDING_EXTERNAL_OES" since="15" />
+		<field name="GL_TEXTURE_CROP_RECT_OES" />
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES" />
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES" />
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES" />
+		<field name="GL_TEXTURE_CUBE_MAP_OES" />
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES" />
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES" />
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES" />
+		<field name="GL_TEXTURE_EXTERNAL_OES" since="15" />
+		<field name="GL_TEXTURE_GEN_MODE_OES" />
+		<field name="GL_TEXTURE_GEN_STR_OES" />
+		<field name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES" />
+		<field name="GL_TEXTURE_MAX_ANISOTROPY_EXT" />
+		<field name="GL_UNSIGNED_INT_24_8_OES" />
+		<field name="GL_WEIGHT_ARRAY_BUFFER_BINDING_OES" />
+		<field name="GL_WEIGHT_ARRAY_OES" />
+		<field name="GL_WEIGHT_ARRAY_POINTER_OES" />
+		<field name="GL_WEIGHT_ARRAY_SIZE_OES" />
+		<field name="GL_WEIGHT_ARRAY_STRIDE_OES" />
+		<field name="GL_WEIGHT_ARRAY_TYPE_OES" />
+		<field name="GL_WRITE_ONLY_OES" />
+	</class>
+	<class name="android/opengl/GLES20" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="glActiveTexture(I)V" />
+		<method name="glAttachShader(II)V" />
+		<method name="glBindAttribLocation(IILjava/lang/String;)V" />
+		<method name="glBindBuffer(II)V" />
+		<method name="glBindFramebuffer(II)V" />
+		<method name="glBindRenderbuffer(II)V" />
+		<method name="glBindTexture(II)V" />
+		<method name="glBlendColor(FFFF)V" />
+		<method name="glBlendEquation(I)V" />
+		<method name="glBlendEquationSeparate(II)V" />
+		<method name="glBlendFunc(II)V" />
+		<method name="glBlendFuncSeparate(IIII)V" />
+		<method name="glBufferData(IILjava/nio/Buffer;I)V" />
+		<method name="glBufferSubData(IIILjava/nio/Buffer;)V" />
+		<method name="glCheckFramebufferStatus(I)I" />
+		<method name="glClear(I)V" />
+		<method name="glClearColor(FFFF)V" />
+		<method name="glClearDepthf(F)V" />
+		<method name="glClearStencil(I)V" />
+		<method name="glColorMask(ZZZZ)V" />
+		<method name="glCompileShader(I)V" />
+		<method name="glCompressedTexImage2D(IIIIIIILjava/nio/Buffer;)V" />
+		<method name="glCompressedTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glCopyTexImage2D(IIIIIIII)V" />
+		<method name="glCopyTexSubImage2D(IIIIIIII)V" />
+		<method name="glCreateProgram()I" />
+		<method name="glCreateShader(I)I" />
+		<method name="glCullFace(I)V" />
+		<method name="glDeleteBuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteBuffers(I[II)V" />
+		<method name="glDeleteFramebuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteFramebuffers(I[II)V" />
+		<method name="glDeleteProgram(I)V" />
+		<method name="glDeleteRenderbuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteRenderbuffers(I[II)V" />
+		<method name="glDeleteShader(I)V" />
+		<method name="glDeleteTextures(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteTextures(I[II)V" />
+		<method name="glDepthFunc(I)V" />
+		<method name="glDepthMask(Z)V" />
+		<method name="glDepthRangef(FF)V" />
+		<method name="glDetachShader(II)V" />
+		<method name="glDisable(I)V" />
+		<method name="glDisableVertexAttribArray(I)V" />
+		<method name="glDrawArrays(III)V" />
+		<method name="glDrawElements(IIII)V" since="9" />
+		<method name="glDrawElements(IIILjava/nio/Buffer;)V" />
+		<method name="glEnable(I)V" />
+		<method name="glEnableVertexAttribArray(I)V" />
+		<method name="glFinish()V" />
+		<method name="glFlush()V" />
+		<method name="glFramebufferRenderbuffer(IIII)V" />
+		<method name="glFramebufferTexture2D(IIIII)V" />
+		<method name="glFrontFace(I)V" />
+		<method name="glGenBuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenBuffers(I[II)V" />
+		<method name="glGenFramebuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenFramebuffers(I[II)V" />
+		<method name="glGenRenderbuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenRenderbuffers(I[II)V" />
+		<method name="glGenTextures(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenTextures(I[II)V" />
+		<method name="glGenerateMipmap(I)V" />
+		<method name="glGetActiveAttrib(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V" removed="21" />
+		<method name="glGetActiveAttrib(III[II[II[II[BI)V" />
+		<method name="glGetActiveAttrib(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)Ljava/lang/String;" since="17" />
+		<method name="glGetActiveAttrib(II[II[II)Ljava/lang/String;" since="17" />
+		<method name="glGetActiveUniform(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V" removed="21" />
+		<method name="glGetActiveUniform(III[II[II[II[BI)V" />
+		<method name="glGetActiveUniform(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)Ljava/lang/String;" since="17" />
+		<method name="glGetActiveUniform(II[II[II)Ljava/lang/String;" since="17" />
+		<method name="glGetAttachedShaders(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V" />
+		<method name="glGetAttachedShaders(II[II[II)V" />
+		<method name="glGetAttribLocation(ILjava/lang/String;)I" />
+		<method name="glGetBooleanv(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetBooleanv(I[ZI)V" />
+		<method name="glGetBufferParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetBufferParameteriv(II[II)V" />
+		<method name="glGetError()I" />
+		<method name="glGetFloatv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glGetFloatv(I[FI)V" />
+		<method name="glGetFramebufferAttachmentParameteriv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glGetFramebufferAttachmentParameteriv(III[II)V" />
+		<method name="glGetIntegerv(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetIntegerv(I[II)V" />
+		<method name="glGetProgramInfoLog(I)Ljava/lang/String;" />
+		<method name="glGetProgramiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetProgramiv(II[II)V" />
+		<method name="glGetRenderbufferParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetRenderbufferParameteriv(II[II)V" />
+		<method name="glGetShaderInfoLog(I)Ljava/lang/String;" />
+		<method name="glGetShaderPrecisionFormat(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V" />
+		<method name="glGetShaderPrecisionFormat(II[II[II)V" />
+		<method name="glGetShaderSource(I)Ljava/lang/String;" since="17" />
+		<method name="glGetShaderSource(IILjava/nio/IntBuffer;B)V" removed="21" />
+		<method name="glGetShaderSource(II[II[BI)V" />
+		<method name="glGetShaderiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetShaderiv(II[II)V" />
+		<method name="glGetString(I)Ljava/lang/String;" />
+		<method name="glGetTexParameterfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetTexParameterfv(II[FI)V" />
+		<method name="glGetTexParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexParameteriv(II[II)V" />
+		<method name="glGetUniformLocation(ILjava/lang/String;)I" />
+		<method name="glGetUniformfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetUniformfv(II[FI)V" />
+		<method name="glGetUniformiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetUniformiv(II[II)V" />
+		<method name="glGetVertexAttribfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetVertexAttribfv(II[FI)V" />
+		<method name="glGetVertexAttribiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetVertexAttribiv(II[II)V" />
+		<method name="glHint(II)V" />
+		<method name="glIsBuffer(I)Z" />
+		<method name="glIsEnabled(I)Z" />
+		<method name="glIsFramebuffer(I)Z" />
+		<method name="glIsProgram(I)Z" />
+		<method name="glIsRenderbuffer(I)Z" />
+		<method name="glIsShader(I)Z" />
+		<method name="glIsTexture(I)Z" />
+		<method name="glLineWidth(F)V" />
+		<method name="glLinkProgram(I)V" />
+		<method name="glPixelStorei(II)V" />
+		<method name="glPolygonOffset(FF)V" />
+		<method name="glReadPixels(IIIIIILjava/nio/Buffer;)V" />
+		<method name="glReleaseShaderCompiler()V" />
+		<method name="glRenderbufferStorage(IIII)V" />
+		<method name="glSampleCoverage(FZ)V" />
+		<method name="glScissor(IIII)V" />
+		<method name="glShaderBinary(ILjava/nio/IntBuffer;ILjava/nio/Buffer;I)V" />
+		<method name="glShaderBinary(I[IIILjava/nio/Buffer;I)V" />
+		<method name="glShaderSource(ILjava/lang/String;)V" />
+		<method name="glStencilFunc(III)V" />
+		<method name="glStencilFuncSeparate(IIII)V" />
+		<method name="glStencilMask(I)V" />
+		<method name="glStencilMaskSeparate(II)V" />
+		<method name="glStencilOp(III)V" />
+		<method name="glStencilOpSeparate(IIII)V" />
+		<method name="glTexImage2D(IIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glTexParameterf(IIF)V" />
+		<method name="glTexParameterfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glTexParameterfv(II[FI)V" />
+		<method name="glTexParameteri(III)V" />
+		<method name="glTexParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexParameteriv(II[II)V" />
+		<method name="glTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glUniform1f(IF)V" />
+		<method name="glUniform1fv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glUniform1fv(II[FI)V" />
+		<method name="glUniform1i(II)V" />
+		<method name="glUniform1iv(IILjava/nio/IntBuffer;)V" />
+		<method name="glUniform1iv(II[II)V" />
+		<method name="glUniform2f(IFF)V" />
+		<method name="glUniform2fv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glUniform2fv(II[FI)V" />
+		<method name="glUniform2i(III)V" />
+		<method name="glUniform2iv(IILjava/nio/IntBuffer;)V" />
+		<method name="glUniform2iv(II[II)V" />
+		<method name="glUniform3f(IFFF)V" />
+		<method name="glUniform3fv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glUniform3fv(II[FI)V" />
+		<method name="glUniform3i(IIII)V" />
+		<method name="glUniform3iv(IILjava/nio/IntBuffer;)V" />
+		<method name="glUniform3iv(II[II)V" />
+		<method name="glUniform4f(IFFFF)V" />
+		<method name="glUniform4fv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glUniform4fv(II[FI)V" />
+		<method name="glUniform4i(IIIII)V" />
+		<method name="glUniform4iv(IILjava/nio/IntBuffer;)V" />
+		<method name="glUniform4iv(II[II)V" />
+		<method name="glUniformMatrix2fv(IIZLjava/nio/FloatBuffer;)V" />
+		<method name="glUniformMatrix2fv(IIZ[FI)V" />
+		<method name="glUniformMatrix3fv(IIZLjava/nio/FloatBuffer;)V" />
+		<method name="glUniformMatrix3fv(IIZ[FI)V" />
+		<method name="glUniformMatrix4fv(IIZLjava/nio/FloatBuffer;)V" />
+		<method name="glUniformMatrix4fv(IIZ[FI)V" />
+		<method name="glUseProgram(I)V" />
+		<method name="glValidateProgram(I)V" />
+		<method name="glVertexAttrib1f(IF)V" />
+		<method name="glVertexAttrib1fv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glVertexAttrib1fv(I[FI)V" />
+		<method name="glVertexAttrib2f(IFF)V" />
+		<method name="glVertexAttrib2fv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glVertexAttrib2fv(I[FI)V" />
+		<method name="glVertexAttrib3f(IFFF)V" />
+		<method name="glVertexAttrib3fv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glVertexAttrib3fv(I[FI)V" />
+		<method name="glVertexAttrib4f(IFFFF)V" />
+		<method name="glVertexAttrib4fv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glVertexAttrib4fv(I[FI)V" />
+		<method name="glVertexAttribPointer(IIIZII)V" since="9" />
+		<method name="glVertexAttribPointer(IIIZILjava/nio/Buffer;)V" />
+		<method name="glViewport(IIII)V" />
+		<field name="GL_ACTIVE_ATTRIBUTES" />
+		<field name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH" />
+		<field name="GL_ACTIVE_TEXTURE" />
+		<field name="GL_ACTIVE_UNIFORMS" />
+		<field name="GL_ACTIVE_UNIFORM_MAX_LENGTH" />
+		<field name="GL_ALIASED_LINE_WIDTH_RANGE" />
+		<field name="GL_ALIASED_POINT_SIZE_RANGE" />
+		<field name="GL_ALPHA" />
+		<field name="GL_ALPHA_BITS" />
+		<field name="GL_ALWAYS" />
+		<field name="GL_ARRAY_BUFFER" />
+		<field name="GL_ARRAY_BUFFER_BINDING" />
+		<field name="GL_ATTACHED_SHADERS" />
+		<field name="GL_BACK" />
+		<field name="GL_BLEND" />
+		<field name="GL_BLEND_COLOR" />
+		<field name="GL_BLEND_DST_ALPHA" />
+		<field name="GL_BLEND_DST_RGB" />
+		<field name="GL_BLEND_EQUATION" />
+		<field name="GL_BLEND_EQUATION_ALPHA" />
+		<field name="GL_BLEND_EQUATION_RGB" />
+		<field name="GL_BLEND_SRC_ALPHA" />
+		<field name="GL_BLEND_SRC_RGB" />
+		<field name="GL_BLUE_BITS" />
+		<field name="GL_BOOL" />
+		<field name="GL_BOOL_VEC2" />
+		<field name="GL_BOOL_VEC3" />
+		<field name="GL_BOOL_VEC4" />
+		<field name="GL_BUFFER_SIZE" />
+		<field name="GL_BUFFER_USAGE" />
+		<field name="GL_BYTE" />
+		<field name="GL_CCW" />
+		<field name="GL_CLAMP_TO_EDGE" />
+		<field name="GL_COLOR_ATTACHMENT0" />
+		<field name="GL_COLOR_BUFFER_BIT" />
+		<field name="GL_COLOR_CLEAR_VALUE" />
+		<field name="GL_COLOR_WRITEMASK" />
+		<field name="GL_COMPILE_STATUS" />
+		<field name="GL_COMPRESSED_TEXTURE_FORMATS" />
+		<field name="GL_CONSTANT_ALPHA" />
+		<field name="GL_CONSTANT_COLOR" />
+		<field name="GL_CULL_FACE" />
+		<field name="GL_CULL_FACE_MODE" />
+		<field name="GL_CURRENT_PROGRAM" />
+		<field name="GL_CURRENT_VERTEX_ATTRIB" />
+		<field name="GL_CW" />
+		<field name="GL_DECR" />
+		<field name="GL_DECR_WRAP" />
+		<field name="GL_DELETE_STATUS" />
+		<field name="GL_DEPTH_ATTACHMENT" />
+		<field name="GL_DEPTH_BITS" />
+		<field name="GL_DEPTH_BUFFER_BIT" />
+		<field name="GL_DEPTH_CLEAR_VALUE" />
+		<field name="GL_DEPTH_COMPONENT" />
+		<field name="GL_DEPTH_COMPONENT16" />
+		<field name="GL_DEPTH_FUNC" />
+		<field name="GL_DEPTH_RANGE" />
+		<field name="GL_DEPTH_TEST" />
+		<field name="GL_DEPTH_WRITEMASK" />
+		<field name="GL_DITHER" />
+		<field name="GL_DONT_CARE" />
+		<field name="GL_DST_ALPHA" />
+		<field name="GL_DST_COLOR" />
+		<field name="GL_DYNAMIC_DRAW" />
+		<field name="GL_ELEMENT_ARRAY_BUFFER" />
+		<field name="GL_ELEMENT_ARRAY_BUFFER_BINDING" />
+		<field name="GL_EQUAL" />
+		<field name="GL_EXTENSIONS" />
+		<field name="GL_FALSE" />
+		<field name="GL_FASTEST" />
+		<field name="GL_FIXED" />
+		<field name="GL_FLOAT" />
+		<field name="GL_FLOAT_MAT2" />
+		<field name="GL_FLOAT_MAT3" />
+		<field name="GL_FLOAT_MAT4" />
+		<field name="GL_FLOAT_VEC2" />
+		<field name="GL_FLOAT_VEC3" />
+		<field name="GL_FLOAT_VEC4" />
+		<field name="GL_FRAGMENT_SHADER" />
+		<field name="GL_FRAMEBUFFER" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL" />
+		<field name="GL_FRAMEBUFFER_BINDING" />
+		<field name="GL_FRAMEBUFFER_COMPLETE" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT" />
+		<field name="GL_FRAMEBUFFER_UNSUPPORTED" />
+		<field name="GL_FRONT" />
+		<field name="GL_FRONT_AND_BACK" />
+		<field name="GL_FRONT_FACE" />
+		<field name="GL_FUNC_ADD" />
+		<field name="GL_FUNC_REVERSE_SUBTRACT" />
+		<field name="GL_FUNC_SUBTRACT" />
+		<field name="GL_GENERATE_MIPMAP_HINT" />
+		<field name="GL_GEQUAL" />
+		<field name="GL_GREATER" />
+		<field name="GL_GREEN_BITS" />
+		<field name="GL_HIGH_FLOAT" />
+		<field name="GL_HIGH_INT" />
+		<field name="GL_IMPLEMENTATION_COLOR_READ_FORMAT" />
+		<field name="GL_IMPLEMENTATION_COLOR_READ_TYPE" />
+		<field name="GL_INCR" />
+		<field name="GL_INCR_WRAP" />
+		<field name="GL_INFO_LOG_LENGTH" />
+		<field name="GL_INT" />
+		<field name="GL_INT_VEC2" />
+		<field name="GL_INT_VEC3" />
+		<field name="GL_INT_VEC4" />
+		<field name="GL_INVALID_ENUM" />
+		<field name="GL_INVALID_FRAMEBUFFER_OPERATION" />
+		<field name="GL_INVALID_OPERATION" />
+		<field name="GL_INVALID_VALUE" />
+		<field name="GL_INVERT" />
+		<field name="GL_KEEP" />
+		<field name="GL_LEQUAL" />
+		<field name="GL_LESS" />
+		<field name="GL_LINEAR" />
+		<field name="GL_LINEAR_MIPMAP_LINEAR" />
+		<field name="GL_LINEAR_MIPMAP_NEAREST" />
+		<field name="GL_LINES" />
+		<field name="GL_LINE_LOOP" />
+		<field name="GL_LINE_STRIP" />
+		<field name="GL_LINE_WIDTH" />
+		<field name="GL_LINK_STATUS" />
+		<field name="GL_LOW_FLOAT" />
+		<field name="GL_LOW_INT" />
+		<field name="GL_LUMINANCE" />
+		<field name="GL_LUMINANCE_ALPHA" />
+		<field name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS" />
+		<field name="GL_MAX_CUBE_MAP_TEXTURE_SIZE" />
+		<field name="GL_MAX_FRAGMENT_UNIFORM_VECTORS" />
+		<field name="GL_MAX_RENDERBUFFER_SIZE" />
+		<field name="GL_MAX_TEXTURE_IMAGE_UNITS" />
+		<field name="GL_MAX_TEXTURE_SIZE" />
+		<field name="GL_MAX_VARYING_VECTORS" />
+		<field name="GL_MAX_VERTEX_ATTRIBS" />
+		<field name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS" />
+		<field name="GL_MAX_VERTEX_UNIFORM_VECTORS" />
+		<field name="GL_MAX_VIEWPORT_DIMS" />
+		<field name="GL_MEDIUM_FLOAT" />
+		<field name="GL_MEDIUM_INT" />
+		<field name="GL_MIRRORED_REPEAT" />
+		<field name="GL_NEAREST" />
+		<field name="GL_NEAREST_MIPMAP_LINEAR" />
+		<field name="GL_NEAREST_MIPMAP_NEAREST" />
+		<field name="GL_NEVER" />
+		<field name="GL_NICEST" />
+		<field name="GL_NONE" />
+		<field name="GL_NOTEQUAL" />
+		<field name="GL_NO_ERROR" />
+		<field name="GL_NUM_COMPRESSED_TEXTURE_FORMATS" />
+		<field name="GL_NUM_SHADER_BINARY_FORMATS" />
+		<field name="GL_ONE" />
+		<field name="GL_ONE_MINUS_CONSTANT_ALPHA" />
+		<field name="GL_ONE_MINUS_CONSTANT_COLOR" />
+		<field name="GL_ONE_MINUS_DST_ALPHA" />
+		<field name="GL_ONE_MINUS_DST_COLOR" />
+		<field name="GL_ONE_MINUS_SRC_ALPHA" />
+		<field name="GL_ONE_MINUS_SRC_COLOR" />
+		<field name="GL_OUT_OF_MEMORY" />
+		<field name="GL_PACK_ALIGNMENT" />
+		<field name="GL_POINTS" />
+		<field name="GL_POLYGON_OFFSET_FACTOR" />
+		<field name="GL_POLYGON_OFFSET_FILL" />
+		<field name="GL_POLYGON_OFFSET_UNITS" />
+		<field name="GL_RED_BITS" />
+		<field name="GL_RENDERBUFFER" />
+		<field name="GL_RENDERBUFFER_ALPHA_SIZE" />
+		<field name="GL_RENDERBUFFER_BINDING" />
+		<field name="GL_RENDERBUFFER_BLUE_SIZE" />
+		<field name="GL_RENDERBUFFER_DEPTH_SIZE" />
+		<field name="GL_RENDERBUFFER_GREEN_SIZE" />
+		<field name="GL_RENDERBUFFER_HEIGHT" />
+		<field name="GL_RENDERBUFFER_INTERNAL_FORMAT" />
+		<field name="GL_RENDERBUFFER_RED_SIZE" />
+		<field name="GL_RENDERBUFFER_STENCIL_SIZE" />
+		<field name="GL_RENDERBUFFER_WIDTH" />
+		<field name="GL_RENDERER" />
+		<field name="GL_REPEAT" />
+		<field name="GL_REPLACE" />
+		<field name="GL_RGB" />
+		<field name="GL_RGB565" />
+		<field name="GL_RGB5_A1" />
+		<field name="GL_RGBA" />
+		<field name="GL_RGBA4" />
+		<field name="GL_SAMPLER_2D" />
+		<field name="GL_SAMPLER_CUBE" />
+		<field name="GL_SAMPLES" />
+		<field name="GL_SAMPLE_ALPHA_TO_COVERAGE" />
+		<field name="GL_SAMPLE_BUFFERS" />
+		<field name="GL_SAMPLE_COVERAGE" />
+		<field name="GL_SAMPLE_COVERAGE_INVERT" />
+		<field name="GL_SAMPLE_COVERAGE_VALUE" />
+		<field name="GL_SCISSOR_BOX" />
+		<field name="GL_SCISSOR_TEST" />
+		<field name="GL_SHADER_BINARY_FORMATS" />
+		<field name="GL_SHADER_COMPILER" />
+		<field name="GL_SHADER_SOURCE_LENGTH" />
+		<field name="GL_SHADER_TYPE" />
+		<field name="GL_SHADING_LANGUAGE_VERSION" />
+		<field name="GL_SHORT" />
+		<field name="GL_SRC_ALPHA" />
+		<field name="GL_SRC_ALPHA_SATURATE" />
+		<field name="GL_SRC_COLOR" />
+		<field name="GL_STATIC_DRAW" />
+		<field name="GL_STENCIL_ATTACHMENT" />
+		<field name="GL_STENCIL_BACK_FAIL" />
+		<field name="GL_STENCIL_BACK_FUNC" />
+		<field name="GL_STENCIL_BACK_PASS_DEPTH_FAIL" />
+		<field name="GL_STENCIL_BACK_PASS_DEPTH_PASS" />
+		<field name="GL_STENCIL_BACK_REF" />
+		<field name="GL_STENCIL_BACK_VALUE_MASK" />
+		<field name="GL_STENCIL_BACK_WRITEMASK" />
+		<field name="GL_STENCIL_BITS" />
+		<field name="GL_STENCIL_BUFFER_BIT" />
+		<field name="GL_STENCIL_CLEAR_VALUE" />
+		<field name="GL_STENCIL_FAIL" />
+		<field name="GL_STENCIL_FUNC" />
+		<field name="GL_STENCIL_INDEX" deprecated="18" />
+		<field name="GL_STENCIL_INDEX8" />
+		<field name="GL_STENCIL_PASS_DEPTH_FAIL" />
+		<field name="GL_STENCIL_PASS_DEPTH_PASS" />
+		<field name="GL_STENCIL_REF" />
+		<field name="GL_STENCIL_TEST" />
+		<field name="GL_STENCIL_VALUE_MASK" />
+		<field name="GL_STENCIL_WRITEMASK" />
+		<field name="GL_STREAM_DRAW" />
+		<field name="GL_SUBPIXEL_BITS" />
+		<field name="GL_TEXTURE" />
+		<field name="GL_TEXTURE0" />
+		<field name="GL_TEXTURE1" />
+		<field name="GL_TEXTURE10" />
+		<field name="GL_TEXTURE11" />
+		<field name="GL_TEXTURE12" />
+		<field name="GL_TEXTURE13" />
+		<field name="GL_TEXTURE14" />
+		<field name="GL_TEXTURE15" />
+		<field name="GL_TEXTURE16" />
+		<field name="GL_TEXTURE17" />
+		<field name="GL_TEXTURE18" />
+		<field name="GL_TEXTURE19" />
+		<field name="GL_TEXTURE2" />
+		<field name="GL_TEXTURE20" />
+		<field name="GL_TEXTURE21" />
+		<field name="GL_TEXTURE22" />
+		<field name="GL_TEXTURE23" />
+		<field name="GL_TEXTURE24" />
+		<field name="GL_TEXTURE25" />
+		<field name="GL_TEXTURE26" />
+		<field name="GL_TEXTURE27" />
+		<field name="GL_TEXTURE28" />
+		<field name="GL_TEXTURE29" />
+		<field name="GL_TEXTURE3" />
+		<field name="GL_TEXTURE30" />
+		<field name="GL_TEXTURE31" />
+		<field name="GL_TEXTURE4" />
+		<field name="GL_TEXTURE5" />
+		<field name="GL_TEXTURE6" />
+		<field name="GL_TEXTURE7" />
+		<field name="GL_TEXTURE8" />
+		<field name="GL_TEXTURE9" />
+		<field name="GL_TEXTURE_2D" />
+		<field name="GL_TEXTURE_BINDING_2D" />
+		<field name="GL_TEXTURE_BINDING_CUBE_MAP" />
+		<field name="GL_TEXTURE_CUBE_MAP" />
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" />
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" />
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" />
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" />
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" />
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" />
+		<field name="GL_TEXTURE_MAG_FILTER" />
+		<field name="GL_TEXTURE_MIN_FILTER" />
+		<field name="GL_TEXTURE_WRAP_S" />
+		<field name="GL_TEXTURE_WRAP_T" />
+		<field name="GL_TRIANGLES" />
+		<field name="GL_TRIANGLE_FAN" />
+		<field name="GL_TRIANGLE_STRIP" />
+		<field name="GL_TRUE" />
+		<field name="GL_UNPACK_ALIGNMENT" />
+		<field name="GL_UNSIGNED_BYTE" />
+		<field name="GL_UNSIGNED_INT" />
+		<field name="GL_UNSIGNED_SHORT" />
+		<field name="GL_UNSIGNED_SHORT_4_4_4_4" />
+		<field name="GL_UNSIGNED_SHORT_5_5_5_1" />
+		<field name="GL_UNSIGNED_SHORT_5_6_5" />
+		<field name="GL_VALIDATE_STATUS" />
+		<field name="GL_VENDOR" />
+		<field name="GL_VERSION" />
+		<field name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING" />
+		<field name="GL_VERTEX_ATTRIB_ARRAY_ENABLED" />
+		<field name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED" />
+		<field name="GL_VERTEX_ATTRIB_ARRAY_POINTER" />
+		<field name="GL_VERTEX_ATTRIB_ARRAY_SIZE" />
+		<field name="GL_VERTEX_ATTRIB_ARRAY_STRIDE" />
+		<field name="GL_VERTEX_ATTRIB_ARRAY_TYPE" />
+		<field name="GL_VERTEX_SHADER" />
+		<field name="GL_VIEWPORT" />
+		<field name="GL_ZERO" />
+	</class>
+	<class name="android/opengl/GLES30" since="18">
+		<extends name="android/opengl/GLES20" />
+		<method name="&lt;init&gt;()V" />
+		<method name="glBeginQuery(II)V" />
+		<method name="glBeginTransformFeedback(I)V" />
+		<method name="glBindBufferBase(III)V" />
+		<method name="glBindBufferRange(IIIII)V" />
+		<method name="glBindSampler(II)V" />
+		<method name="glBindTransformFeedback(II)V" />
+		<method name="glBindVertexArray(I)V" />
+		<method name="glBlitFramebuffer(IIIIIIIIII)V" />
+		<method name="glClearBufferfi(IIFI)V" />
+		<method name="glClearBufferfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glClearBufferfv(II[FI)V" />
+		<method name="glClearBufferiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glClearBufferiv(II[II)V" />
+		<method name="glClearBufferuiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glClearBufferuiv(II[II)V" />
+		<method name="glClientWaitSync(JIJ)I" />
+		<method name="glCompressedTexImage3D(IIIIIIIII)V" />
+		<method name="glCompressedTexImage3D(IIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glCompressedTexSubImage3D(IIIIIIIIIII)V" />
+		<method name="glCompressedTexSubImage3D(IIIIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glCopyBufferSubData(IIIII)V" />
+		<method name="glCopyTexSubImage3D(IIIIIIIII)V" />
+		<method name="glDeleteQueries(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteQueries(I[II)V" />
+		<method name="glDeleteSamplers(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteSamplers(I[II)V" />
+		<method name="glDeleteSync(J)V" />
+		<method name="glDeleteTransformFeedbacks(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteTransformFeedbacks(I[II)V" />
+		<method name="glDeleteVertexArrays(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteVertexArrays(I[II)V" />
+		<method name="glDrawArraysInstanced(IIII)V" />
+		<method name="glDrawBuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glDrawBuffers(I[II)V" />
+		<method name="glDrawElementsInstanced(IIIII)V" />
+		<method name="glDrawElementsInstanced(IIILjava/nio/Buffer;I)V" />
+		<method name="glDrawRangeElements(IIIIII)V" />
+		<method name="glDrawRangeElements(IIIIILjava/nio/Buffer;)V" />
+		<method name="glEndQuery(I)V" />
+		<method name="glEndTransformFeedback()V" />
+		<method name="glFenceSync(II)J" />
+		<method name="glFlushMappedBufferRange(III)V" />
+		<method name="glFramebufferTextureLayer(IIIII)V" />
+		<method name="glGenQueries(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenQueries(I[II)V" />
+		<method name="glGenSamplers(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenSamplers(I[II)V" />
+		<method name="glGenTransformFeedbacks(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenTransformFeedbacks(I[II)V" />
+		<method name="glGenVertexArrays(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenVertexArrays(I[II)V" />
+		<method name="glGetActiveUniformBlockName(II)Ljava/lang/String;" />
+		<method name="glGetActiveUniformBlockName(III[II[BI)V" />
+		<method name="glGetActiveUniformBlockName(IILjava/nio/Buffer;Ljava/nio/Buffer;)V" />
+		<method name="glGetActiveUniformBlockiv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glGetActiveUniformBlockiv(III[II)V" />
+		<method name="glGetActiveUniformsiv(IILjava/nio/IntBuffer;ILjava/nio/IntBuffer;)V" />
+		<method name="glGetActiveUniformsiv(II[III[II)V" />
+		<method name="glGetBufferParameteri64v(IILjava/nio/LongBuffer;)V" />
+		<method name="glGetBufferParameteri64v(II[JI)V" />
+		<method name="glGetBufferPointerv(II)Ljava/nio/Buffer;" />
+		<method name="glGetFragDataLocation(ILjava/lang/String;)I" />
+		<method name="glGetInteger64i_v(IILjava/nio/LongBuffer;)V" />
+		<method name="glGetInteger64i_v(II[JI)V" />
+		<method name="glGetInteger64v(ILjava/nio/LongBuffer;)V" />
+		<method name="glGetInteger64v(I[JI)V" />
+		<method name="glGetIntegeri_v(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetIntegeri_v(II[II)V" />
+		<method name="glGetInternalformativ(IIIILjava/nio/IntBuffer;)V" />
+		<method name="glGetInternalformativ(IIII[II)V" />
+		<method name="glGetProgramBinary(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/Buffer;)V" />
+		<method name="glGetProgramBinary(II[II[IILjava/nio/Buffer;)V" />
+		<method name="glGetQueryObjectuiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetQueryObjectuiv(II[II)V" />
+		<method name="glGetQueryiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetQueryiv(II[II)V" />
+		<method name="glGetSamplerParameterfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetSamplerParameterfv(II[FI)V" />
+		<method name="glGetSamplerParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetSamplerParameteriv(II[II)V" />
+		<method name="glGetStringi(II)Ljava/lang/String;" />
+		<method name="glGetSynciv(JIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V" />
+		<method name="glGetSynciv(JII[II[II)V" />
+		<method name="glGetTransformFeedbackVarying(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V" deprecated="24" />
+		<method name="glGetTransformFeedbackVarying(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)V" since="24" />
+		<method name="glGetTransformFeedbackVarying(III[II[II[II[BI)V" />
+		<method name="glGetTransformFeedbackVarying(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)Ljava/lang/String;" />
+		<method name="glGetTransformFeedbackVarying(II[II[II)Ljava/lang/String;" />
+		<method name="glGetUniformBlockIndex(ILjava/lang/String;)I" />
+		<method name="glGetUniformIndices(I[Ljava/lang/String;Ljava/nio/IntBuffer;)V" />
+		<method name="glGetUniformIndices(I[Ljava/lang/String;[II)V" />
+		<method name="glGetUniformuiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetUniformuiv(II[II)V" />
+		<method name="glGetVertexAttribIiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetVertexAttribIiv(II[II)V" />
+		<method name="glGetVertexAttribIuiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetVertexAttribIuiv(II[II)V" />
+		<method name="glInvalidateFramebuffer(IILjava/nio/IntBuffer;)V" />
+		<method name="glInvalidateFramebuffer(II[II)V" />
+		<method name="glInvalidateSubFramebuffer(IILjava/nio/IntBuffer;IIII)V" />
+		<method name="glInvalidateSubFramebuffer(II[IIIIII)V" />
+		<method name="glIsQuery(I)Z" />
+		<method name="glIsSampler(I)Z" />
+		<method name="glIsSync(J)Z" />
+		<method name="glIsTransformFeedback(I)Z" />
+		<method name="glIsVertexArray(I)Z" />
+		<method name="glMapBufferRange(IIII)Ljava/nio/Buffer;" />
+		<method name="glPauseTransformFeedback()V" />
+		<method name="glProgramBinary(IILjava/nio/Buffer;I)V" />
+		<method name="glProgramParameteri(III)V" />
+		<method name="glReadBuffer(I)V" />
+		<method name="glReadPixels(IIIIIII)V" since="24" />
+		<method name="glRenderbufferStorageMultisample(IIIII)V" />
+		<method name="glResumeTransformFeedback()V" />
+		<method name="glSamplerParameterf(IIF)V" />
+		<method name="glSamplerParameterfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glSamplerParameterfv(II[FI)V" />
+		<method name="glSamplerParameteri(III)V" />
+		<method name="glSamplerParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glSamplerParameteriv(II[II)V" />
+		<method name="glTexImage3D(IIIIIIIIII)V" />
+		<method name="glTexImage3D(IIIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glTexStorage2D(IIIII)V" />
+		<method name="glTexStorage3D(IIIIII)V" />
+		<method name="glTexSubImage3D(IIIIIIIIIII)V" />
+		<method name="glTexSubImage3D(IIIIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glTransformFeedbackVaryings(I[Ljava/lang/String;I)V" />
+		<method name="glUniform1ui(II)V" />
+		<method name="glUniform1uiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glUniform1uiv(II[II)V" />
+		<method name="glUniform2ui(III)V" />
+		<method name="glUniform2uiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glUniform2uiv(II[II)V" />
+		<method name="glUniform3ui(IIII)V" />
+		<method name="glUniform3uiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glUniform3uiv(II[II)V" />
+		<method name="glUniform4ui(IIIII)V" />
+		<method name="glUniform4uiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glUniform4uiv(II[II)V" />
+		<method name="glUniformBlockBinding(III)V" />
+		<method name="glUniformMatrix2x3fv(IIZLjava/nio/FloatBuffer;)V" />
+		<method name="glUniformMatrix2x3fv(IIZ[FI)V" />
+		<method name="glUniformMatrix2x4fv(IIZLjava/nio/FloatBuffer;)V" />
+		<method name="glUniformMatrix2x4fv(IIZ[FI)V" />
+		<method name="glUniformMatrix3x2fv(IIZLjava/nio/FloatBuffer;)V" />
+		<method name="glUniformMatrix3x2fv(IIZ[FI)V" />
+		<method name="glUniformMatrix3x4fv(IIZLjava/nio/FloatBuffer;)V" />
+		<method name="glUniformMatrix3x4fv(IIZ[FI)V" />
+		<method name="glUniformMatrix4x2fv(IIZLjava/nio/FloatBuffer;)V" />
+		<method name="glUniformMatrix4x2fv(IIZ[FI)V" />
+		<method name="glUniformMatrix4x3fv(IIZLjava/nio/FloatBuffer;)V" />
+		<method name="glUniformMatrix4x3fv(IIZ[FI)V" />
+		<method name="glUnmapBuffer(I)Z" />
+		<method name="glVertexAttribDivisor(II)V" />
+		<method name="glVertexAttribI4i(IIIII)V" />
+		<method name="glVertexAttribI4iv(ILjava/nio/IntBuffer;)V" />
+		<method name="glVertexAttribI4iv(I[II)V" />
+		<method name="glVertexAttribI4ui(IIIII)V" />
+		<method name="glVertexAttribI4uiv(ILjava/nio/IntBuffer;)V" />
+		<method name="glVertexAttribI4uiv(I[II)V" />
+		<method name="glVertexAttribIPointer(IIIII)V" />
+		<method name="glVertexAttribIPointer(IIIILjava/nio/Buffer;)V" />
+		<method name="glWaitSync(JIJ)V" />
+		<field name="GL_ACTIVE_UNIFORM_BLOCKS" />
+		<field name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH" />
+		<field name="GL_ALREADY_SIGNALED" />
+		<field name="GL_ANY_SAMPLES_PASSED" />
+		<field name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE" />
+		<field name="GL_BLUE" />
+		<field name="GL_BUFFER_ACCESS_FLAGS" />
+		<field name="GL_BUFFER_MAPPED" />
+		<field name="GL_BUFFER_MAP_LENGTH" />
+		<field name="GL_BUFFER_MAP_OFFSET" />
+		<field name="GL_BUFFER_MAP_POINTER" />
+		<field name="GL_COLOR" />
+		<field name="GL_COLOR_ATTACHMENT1" />
+		<field name="GL_COLOR_ATTACHMENT10" />
+		<field name="GL_COLOR_ATTACHMENT11" />
+		<field name="GL_COLOR_ATTACHMENT12" />
+		<field name="GL_COLOR_ATTACHMENT13" />
+		<field name="GL_COLOR_ATTACHMENT14" />
+		<field name="GL_COLOR_ATTACHMENT15" />
+		<field name="GL_COLOR_ATTACHMENT2" />
+		<field name="GL_COLOR_ATTACHMENT3" />
+		<field name="GL_COLOR_ATTACHMENT4" />
+		<field name="GL_COLOR_ATTACHMENT5" />
+		<field name="GL_COLOR_ATTACHMENT6" />
+		<field name="GL_COLOR_ATTACHMENT7" />
+		<field name="GL_COLOR_ATTACHMENT8" />
+		<field name="GL_COLOR_ATTACHMENT9" />
+		<field name="GL_COMPARE_REF_TO_TEXTURE" />
+		<field name="GL_COMPRESSED_R11_EAC" />
+		<field name="GL_COMPRESSED_RG11_EAC" />
+		<field name="GL_COMPRESSED_RGB8_ETC2" />
+		<field name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2" />
+		<field name="GL_COMPRESSED_RGBA8_ETC2_EAC" />
+		<field name="GL_COMPRESSED_SIGNED_R11_EAC" />
+		<field name="GL_COMPRESSED_SIGNED_RG11_EAC" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC" />
+		<field name="GL_COMPRESSED_SRGB8_ETC2" />
+		<field name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2" />
+		<field name="GL_CONDITION_SATISFIED" />
+		<field name="GL_COPY_READ_BUFFER" />
+		<field name="GL_COPY_READ_BUFFER_BINDING" />
+		<field name="GL_COPY_WRITE_BUFFER" />
+		<field name="GL_COPY_WRITE_BUFFER_BINDING" />
+		<field name="GL_CURRENT_QUERY" />
+		<field name="GL_DEPTH" />
+		<field name="GL_DEPTH24_STENCIL8" />
+		<field name="GL_DEPTH32F_STENCIL8" />
+		<field name="GL_DEPTH_COMPONENT24" />
+		<field name="GL_DEPTH_COMPONENT32F" />
+		<field name="GL_DEPTH_STENCIL" />
+		<field name="GL_DEPTH_STENCIL_ATTACHMENT" />
+		<field name="GL_DRAW_BUFFER0" />
+		<field name="GL_DRAW_BUFFER1" />
+		<field name="GL_DRAW_BUFFER10" />
+		<field name="GL_DRAW_BUFFER11" />
+		<field name="GL_DRAW_BUFFER12" />
+		<field name="GL_DRAW_BUFFER13" />
+		<field name="GL_DRAW_BUFFER14" />
+		<field name="GL_DRAW_BUFFER15" />
+		<field name="GL_DRAW_BUFFER2" />
+		<field name="GL_DRAW_BUFFER3" />
+		<field name="GL_DRAW_BUFFER4" />
+		<field name="GL_DRAW_BUFFER5" />
+		<field name="GL_DRAW_BUFFER6" />
+		<field name="GL_DRAW_BUFFER7" />
+		<field name="GL_DRAW_BUFFER8" />
+		<field name="GL_DRAW_BUFFER9" />
+		<field name="GL_DRAW_FRAMEBUFFER" />
+		<field name="GL_DRAW_FRAMEBUFFER_BINDING" />
+		<field name="GL_DYNAMIC_COPY" />
+		<field name="GL_DYNAMIC_READ" />
+		<field name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV" />
+		<field name="GL_FLOAT_MAT2x3" />
+		<field name="GL_FLOAT_MAT2x4" />
+		<field name="GL_FLOAT_MAT3x2" />
+		<field name="GL_FLOAT_MAT3x4" />
+		<field name="GL_FLOAT_MAT4x2" />
+		<field name="GL_FLOAT_MAT4x3" />
+		<field name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER" />
+		<field name="GL_FRAMEBUFFER_DEFAULT" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE" />
+		<field name="GL_FRAMEBUFFER_UNDEFINED" />
+		<field name="GL_GREEN" />
+		<field name="GL_HALF_FLOAT" />
+		<field name="GL_INTERLEAVED_ATTRIBS" />
+		<field name="GL_INT_2_10_10_10_REV" />
+		<field name="GL_INT_SAMPLER_2D" />
+		<field name="GL_INT_SAMPLER_2D_ARRAY" />
+		<field name="GL_INT_SAMPLER_3D" />
+		<field name="GL_INT_SAMPLER_CUBE" />
+		<field name="GL_INVALID_INDEX" />
+		<field name="GL_MAJOR_VERSION" />
+		<field name="GL_MAP_FLUSH_EXPLICIT_BIT" />
+		<field name="GL_MAP_INVALIDATE_BUFFER_BIT" />
+		<field name="GL_MAP_INVALIDATE_RANGE_BIT" />
+		<field name="GL_MAP_READ_BIT" />
+		<field name="GL_MAP_UNSYNCHRONIZED_BIT" />
+		<field name="GL_MAP_WRITE_BIT" />
+		<field name="GL_MAX" />
+		<field name="GL_MAX_3D_TEXTURE_SIZE" />
+		<field name="GL_MAX_ARRAY_TEXTURE_LAYERS" />
+		<field name="GL_MAX_COLOR_ATTACHMENTS" />
+		<field name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_COMBINED_UNIFORM_BLOCKS" />
+		<field name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_DRAW_BUFFERS" />
+		<field name="GL_MAX_ELEMENTS_INDICES" />
+		<field name="GL_MAX_ELEMENTS_VERTICES" />
+		<field name="GL_MAX_ELEMENT_INDEX" />
+		<field name="GL_MAX_FRAGMENT_INPUT_COMPONENTS" />
+		<field name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS" />
+		<field name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_PROGRAM_TEXEL_OFFSET" />
+		<field name="GL_MAX_SAMPLES" />
+		<field name="GL_MAX_SERVER_WAIT_TIMEOUT" />
+		<field name="GL_MAX_TEXTURE_LOD_BIAS" />
+		<field name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS" />
+		<field name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS" />
+		<field name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS" />
+		<field name="GL_MAX_UNIFORM_BLOCK_SIZE" />
+		<field name="GL_MAX_UNIFORM_BUFFER_BINDINGS" />
+		<field name="GL_MAX_VARYING_COMPONENTS" />
+		<field name="GL_MAX_VERTEX_OUTPUT_COMPONENTS" />
+		<field name="GL_MAX_VERTEX_UNIFORM_BLOCKS" />
+		<field name="GL_MAX_VERTEX_UNIFORM_COMPONENTS" />
+		<field name="GL_MIN" />
+		<field name="GL_MINOR_VERSION" />
+		<field name="GL_MIN_PROGRAM_TEXEL_OFFSET" />
+		<field name="GL_NUM_EXTENSIONS" />
+		<field name="GL_NUM_PROGRAM_BINARY_FORMATS" />
+		<field name="GL_NUM_SAMPLE_COUNTS" />
+		<field name="GL_OBJECT_TYPE" />
+		<field name="GL_PACK_ROW_LENGTH" />
+		<field name="GL_PACK_SKIP_PIXELS" />
+		<field name="GL_PACK_SKIP_ROWS" />
+		<field name="GL_PIXEL_PACK_BUFFER" />
+		<field name="GL_PIXEL_PACK_BUFFER_BINDING" />
+		<field name="GL_PIXEL_UNPACK_BUFFER" />
+		<field name="GL_PIXEL_UNPACK_BUFFER_BINDING" />
+		<field name="GL_PRIMITIVE_RESTART_FIXED_INDEX" />
+		<field name="GL_PROGRAM_BINARY_FORMATS" />
+		<field name="GL_PROGRAM_BINARY_LENGTH" />
+		<field name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT" />
+		<field name="GL_QUERY_RESULT" />
+		<field name="GL_QUERY_RESULT_AVAILABLE" />
+		<field name="GL_R11F_G11F_B10F" />
+		<field name="GL_R16F" />
+		<field name="GL_R16I" />
+		<field name="GL_R16UI" />
+		<field name="GL_R32F" />
+		<field name="GL_R32I" />
+		<field name="GL_R32UI" />
+		<field name="GL_R8" />
+		<field name="GL_R8I" />
+		<field name="GL_R8UI" />
+		<field name="GL_R8_SNORM" />
+		<field name="GL_RASTERIZER_DISCARD" />
+		<field name="GL_READ_BUFFER" />
+		<field name="GL_READ_FRAMEBUFFER" />
+		<field name="GL_READ_FRAMEBUFFER_BINDING" />
+		<field name="GL_RED" />
+		<field name="GL_RED_INTEGER" />
+		<field name="GL_RENDERBUFFER_SAMPLES" />
+		<field name="GL_RG" />
+		<field name="GL_RG16F" />
+		<field name="GL_RG16I" />
+		<field name="GL_RG16UI" />
+		<field name="GL_RG32F" />
+		<field name="GL_RG32I" />
+		<field name="GL_RG32UI" />
+		<field name="GL_RG8" />
+		<field name="GL_RG8I" />
+		<field name="GL_RG8UI" />
+		<field name="GL_RG8_SNORM" />
+		<field name="GL_RGB10_A2" />
+		<field name="GL_RGB10_A2UI" />
+		<field name="GL_RGB16F" />
+		<field name="GL_RGB16I" />
+		<field name="GL_RGB16UI" />
+		<field name="GL_RGB32F" />
+		<field name="GL_RGB32I" />
+		<field name="GL_RGB32UI" />
+		<field name="GL_RGB8" />
+		<field name="GL_RGB8I" />
+		<field name="GL_RGB8UI" />
+		<field name="GL_RGB8_SNORM" />
+		<field name="GL_RGB9_E5" />
+		<field name="GL_RGBA16F" />
+		<field name="GL_RGBA16I" />
+		<field name="GL_RGBA16UI" />
+		<field name="GL_RGBA32F" />
+		<field name="GL_RGBA32I" />
+		<field name="GL_RGBA32UI" />
+		<field name="GL_RGBA8" />
+		<field name="GL_RGBA8I" />
+		<field name="GL_RGBA8UI" />
+		<field name="GL_RGBA8_SNORM" />
+		<field name="GL_RGBA_INTEGER" />
+		<field name="GL_RGB_INTEGER" />
+		<field name="GL_RG_INTEGER" />
+		<field name="GL_SAMPLER_2D_ARRAY" />
+		<field name="GL_SAMPLER_2D_ARRAY_SHADOW" />
+		<field name="GL_SAMPLER_2D_SHADOW" />
+		<field name="GL_SAMPLER_3D" />
+		<field name="GL_SAMPLER_BINDING" />
+		<field name="GL_SAMPLER_CUBE_SHADOW" />
+		<field name="GL_SEPARATE_ATTRIBS" />
+		<field name="GL_SIGNALED" />
+		<field name="GL_SIGNED_NORMALIZED" />
+		<field name="GL_SRGB" />
+		<field name="GL_SRGB8" />
+		<field name="GL_SRGB8_ALPHA8" />
+		<field name="GL_STATIC_COPY" />
+		<field name="GL_STATIC_READ" />
+		<field name="GL_STENCIL" />
+		<field name="GL_STREAM_COPY" />
+		<field name="GL_STREAM_READ" />
+		<field name="GL_SYNC_CONDITION" />
+		<field name="GL_SYNC_FENCE" />
+		<field name="GL_SYNC_FLAGS" />
+		<field name="GL_SYNC_FLUSH_COMMANDS_BIT" />
+		<field name="GL_SYNC_GPU_COMMANDS_COMPLETE" />
+		<field name="GL_SYNC_STATUS" />
+		<field name="GL_TEXTURE_2D_ARRAY" />
+		<field name="GL_TEXTURE_3D" />
+		<field name="GL_TEXTURE_BASE_LEVEL" />
+		<field name="GL_TEXTURE_BINDING_2D_ARRAY" />
+		<field name="GL_TEXTURE_BINDING_3D" />
+		<field name="GL_TEXTURE_COMPARE_FUNC" />
+		<field name="GL_TEXTURE_COMPARE_MODE" />
+		<field name="GL_TEXTURE_IMMUTABLE_FORMAT" />
+		<field name="GL_TEXTURE_IMMUTABLE_LEVELS" />
+		<field name="GL_TEXTURE_MAX_LEVEL" />
+		<field name="GL_TEXTURE_MAX_LOD" />
+		<field name="GL_TEXTURE_MIN_LOD" />
+		<field name="GL_TEXTURE_SWIZZLE_A" />
+		<field name="GL_TEXTURE_SWIZZLE_B" />
+		<field name="GL_TEXTURE_SWIZZLE_G" />
+		<field name="GL_TEXTURE_SWIZZLE_R" />
+		<field name="GL_TEXTURE_WRAP_R" />
+		<field name="GL_TIMEOUT_EXPIRED" />
+		<field name="GL_TIMEOUT_IGNORED" />
+		<field name="GL_TRANSFORM_FEEDBACK" />
+		<field name="GL_TRANSFORM_FEEDBACK_ACTIVE" />
+		<field name="GL_TRANSFORM_FEEDBACK_BINDING" />
+		<field name="GL_TRANSFORM_FEEDBACK_BUFFER" />
+		<field name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING" />
+		<field name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE" />
+		<field name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE" />
+		<field name="GL_TRANSFORM_FEEDBACK_BUFFER_START" />
+		<field name="GL_TRANSFORM_FEEDBACK_PAUSED" />
+		<field name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN" />
+		<field name="GL_TRANSFORM_FEEDBACK_VARYINGS" />
+		<field name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH" />
+		<field name="GL_UNIFORM_ARRAY_STRIDE" />
+		<field name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS" />
+		<field name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES" />
+		<field name="GL_UNIFORM_BLOCK_BINDING" />
+		<field name="GL_UNIFORM_BLOCK_DATA_SIZE" />
+		<field name="GL_UNIFORM_BLOCK_INDEX" />
+		<field name="GL_UNIFORM_BLOCK_NAME_LENGTH" />
+		<field name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER" />
+		<field name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER" />
+		<field name="GL_UNIFORM_BUFFER" />
+		<field name="GL_UNIFORM_BUFFER_BINDING" />
+		<field name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT" />
+		<field name="GL_UNIFORM_BUFFER_SIZE" />
+		<field name="GL_UNIFORM_BUFFER_START" />
+		<field name="GL_UNIFORM_IS_ROW_MAJOR" />
+		<field name="GL_UNIFORM_MATRIX_STRIDE" />
+		<field name="GL_UNIFORM_NAME_LENGTH" />
+		<field name="GL_UNIFORM_OFFSET" />
+		<field name="GL_UNIFORM_SIZE" />
+		<field name="GL_UNIFORM_TYPE" />
+		<field name="GL_UNPACK_IMAGE_HEIGHT" />
+		<field name="GL_UNPACK_ROW_LENGTH" />
+		<field name="GL_UNPACK_SKIP_IMAGES" />
+		<field name="GL_UNPACK_SKIP_PIXELS" />
+		<field name="GL_UNPACK_SKIP_ROWS" />
+		<field name="GL_UNSIGNALED" />
+		<field name="GL_UNSIGNED_INT_10F_11F_11F_REV" />
+		<field name="GL_UNSIGNED_INT_24_8" />
+		<field name="GL_UNSIGNED_INT_2_10_10_10_REV" />
+		<field name="GL_UNSIGNED_INT_5_9_9_9_REV" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_2D" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_3D" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_CUBE" />
+		<field name="GL_UNSIGNED_INT_VEC2" />
+		<field name="GL_UNSIGNED_INT_VEC3" />
+		<field name="GL_UNSIGNED_INT_VEC4" />
+		<field name="GL_UNSIGNED_NORMALIZED" />
+		<field name="GL_VERTEX_ARRAY_BINDING" />
+		<field name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR" />
+		<field name="GL_VERTEX_ATTRIB_ARRAY_INTEGER" />
+		<field name="GL_WAIT_FAILED" />
+	</class>
+	<class name="android/opengl/GLES31" since="21">
+		<extends name="android/opengl/GLES30" />
+		<method name="glActiveShaderProgram(II)V" />
+		<method name="glBindImageTexture(IIIZIII)V" />
+		<method name="glBindProgramPipeline(I)V" />
+		<method name="glBindVertexBuffer(IIJI)V" />
+		<method name="glCreateShaderProgramv(I[Ljava/lang/String;)I" />
+		<method name="glDeleteProgramPipelines(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteProgramPipelines(I[II)V" />
+		<method name="glDispatchCompute(III)V" />
+		<method name="glDispatchComputeIndirect(J)V" />
+		<method name="glDrawArraysIndirect(IJ)V" />
+		<method name="glDrawElementsIndirect(IIJ)V" />
+		<method name="glFramebufferParameteri(III)V" />
+		<method name="glGenProgramPipelines(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenProgramPipelines(I[II)V" />
+		<method name="glGetBooleani_v(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetBooleani_v(II[ZI)V" />
+		<method name="glGetFramebufferParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetFramebufferParameteriv(II[II)V" />
+		<method name="glGetMultisamplefv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetMultisamplefv(II[FI)V" />
+		<method name="glGetProgramInterfaceiv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glGetProgramInterfaceiv(III[II)V" />
+		<method name="glGetProgramPipelineInfoLog(I)Ljava/lang/String;" />
+		<method name="glGetProgramPipelineiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetProgramPipelineiv(II[II)V" />
+		<method name="glGetProgramResourceIndex(IILjava/lang/String;)I" />
+		<method name="glGetProgramResourceLocation(IILjava/lang/String;)I" />
+		<method name="glGetProgramResourceName(III)Ljava/lang/String;" />
+		<method name="glGetProgramResourceiv(IIIILjava/nio/IntBuffer;ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V" />
+		<method name="glGetProgramResourceiv(IIII[III[II[II)V" />
+		<method name="glGetTexLevelParameterfv(IIILjava/nio/FloatBuffer;)V" />
+		<method name="glGetTexLevelParameterfv(III[FI)V" />
+		<method name="glGetTexLevelParameteriv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexLevelParameteriv(III[II)V" />
+		<method name="glIsProgramPipeline(I)Z" />
+		<method name="glMemoryBarrier(I)V" />
+		<method name="glMemoryBarrierByRegion(I)V" />
+		<method name="glProgramUniform1f(IIF)V" />
+		<method name="glProgramUniform1fv(IIILjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniform1fv(III[FI)V" />
+		<method name="glProgramUniform1i(III)V" />
+		<method name="glProgramUniform1iv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glProgramUniform1iv(III[II)V" />
+		<method name="glProgramUniform1ui(III)V" />
+		<method name="glProgramUniform1uiv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glProgramUniform1uiv(III[II)V" />
+		<method name="glProgramUniform2f(IIFF)V" />
+		<method name="glProgramUniform2fv(IIILjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniform2fv(III[FI)V" />
+		<method name="glProgramUniform2i(IIII)V" />
+		<method name="glProgramUniform2iv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glProgramUniform2iv(III[II)V" />
+		<method name="glProgramUniform2ui(IIII)V" />
+		<method name="glProgramUniform2uiv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glProgramUniform2uiv(III[II)V" />
+		<method name="glProgramUniform3f(IIFFF)V" />
+		<method name="glProgramUniform3fv(IIILjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniform3fv(III[FI)V" />
+		<method name="glProgramUniform3i(IIIII)V" />
+		<method name="glProgramUniform3iv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glProgramUniform3iv(III[II)V" />
+		<method name="glProgramUniform3ui(IIIII)V" />
+		<method name="glProgramUniform3uiv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glProgramUniform3uiv(III[II)V" />
+		<method name="glProgramUniform4f(IIFFFF)V" />
+		<method name="glProgramUniform4fv(IIILjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniform4fv(III[FI)V" />
+		<method name="glProgramUniform4i(IIIIII)V" />
+		<method name="glProgramUniform4iv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glProgramUniform4iv(III[II)V" />
+		<method name="glProgramUniform4ui(IIIIII)V" />
+		<method name="glProgramUniform4uiv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glProgramUniform4uiv(III[II)V" />
+		<method name="glProgramUniformMatrix2fv(IIIZLjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniformMatrix2fv(IIIZ[FI)V" />
+		<method name="glProgramUniformMatrix2x3fv(IIIZLjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniformMatrix2x3fv(IIIZ[FI)V" />
+		<method name="glProgramUniformMatrix2x4fv(IIIZLjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniformMatrix2x4fv(IIIZ[FI)V" />
+		<method name="glProgramUniformMatrix3fv(IIIZLjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniformMatrix3fv(IIIZ[FI)V" />
+		<method name="glProgramUniformMatrix3x2fv(IIIZLjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniformMatrix3x2fv(IIIZ[FI)V" />
+		<method name="glProgramUniformMatrix3x4fv(IIIZLjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniformMatrix3x4fv(IIIZ[FI)V" />
+		<method name="glProgramUniformMatrix4fv(IIIZLjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniformMatrix4fv(IIIZ[FI)V" />
+		<method name="glProgramUniformMatrix4x2fv(IIIZLjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniformMatrix4x2fv(IIIZ[FI)V" />
+		<method name="glProgramUniformMatrix4x3fv(IIIZLjava/nio/FloatBuffer;)V" />
+		<method name="glProgramUniformMatrix4x3fv(IIIZ[FI)V" />
+		<method name="glSampleMaski(II)V" />
+		<method name="glTexStorage2DMultisample(IIIIIZ)V" />
+		<method name="glUseProgramStages(III)V" />
+		<method name="glValidateProgramPipeline(I)V" />
+		<method name="glVertexAttribBinding(II)V" />
+		<method name="glVertexAttribFormat(IIIZI)V" />
+		<method name="glVertexAttribIFormat(IIII)V" />
+		<method name="glVertexBindingDivisor(II)V" />
+		<field name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS" />
+		<field name="GL_ACTIVE_PROGRAM" />
+		<field name="GL_ACTIVE_RESOURCES" />
+		<field name="GL_ACTIVE_VARIABLES" />
+		<field name="GL_ALL_BARRIER_BITS" since="24" />
+		<field name="GL_ALL_SHADER_BITS" />
+		<field name="GL_ARRAY_SIZE" />
+		<field name="GL_ARRAY_STRIDE" />
+		<field name="GL_ATOMIC_COUNTER_BARRIER_BIT" />
+		<field name="GL_ATOMIC_COUNTER_BUFFER" />
+		<field name="GL_ATOMIC_COUNTER_BUFFER_BINDING" />
+		<field name="GL_ATOMIC_COUNTER_BUFFER_INDEX" />
+		<field name="GL_ATOMIC_COUNTER_BUFFER_SIZE" />
+		<field name="GL_ATOMIC_COUNTER_BUFFER_START" />
+		<field name="GL_BLOCK_INDEX" />
+		<field name="GL_BUFFER_BINDING" />
+		<field name="GL_BUFFER_DATA_SIZE" />
+		<field name="GL_BUFFER_UPDATE_BARRIER_BIT" />
+		<field name="GL_BUFFER_VARIABLE" />
+		<field name="GL_COMMAND_BARRIER_BIT" />
+		<field name="GL_COMPUTE_SHADER" />
+		<field name="GL_COMPUTE_SHADER_BIT" />
+		<field name="GL_COMPUTE_WORK_GROUP_SIZE" />
+		<field name="GL_DEPTH_STENCIL_TEXTURE_MODE" />
+		<field name="GL_DISPATCH_INDIRECT_BUFFER" />
+		<field name="GL_DISPATCH_INDIRECT_BUFFER_BINDING" />
+		<field name="GL_DRAW_INDIRECT_BUFFER" />
+		<field name="GL_DRAW_INDIRECT_BUFFER_BINDING" />
+		<field name="GL_ELEMENT_ARRAY_BARRIER_BIT" since="24" />
+		<field name="GL_FRAGMENT_SHADER_BIT" />
+		<field name="GL_FRAMEBUFFER_BARRIER_BIT" />
+		<field name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS" />
+		<field name="GL_FRAMEBUFFER_DEFAULT_HEIGHT" />
+		<field name="GL_FRAMEBUFFER_DEFAULT_SAMPLES" />
+		<field name="GL_FRAMEBUFFER_DEFAULT_WIDTH" />
+		<field name="GL_IMAGE_2D" />
+		<field name="GL_IMAGE_2D_ARRAY" />
+		<field name="GL_IMAGE_3D" />
+		<field name="GL_IMAGE_BINDING_ACCESS" />
+		<field name="GL_IMAGE_BINDING_FORMAT" />
+		<field name="GL_IMAGE_BINDING_LAYER" />
+		<field name="GL_IMAGE_BINDING_LAYERED" />
+		<field name="GL_IMAGE_BINDING_LEVEL" />
+		<field name="GL_IMAGE_BINDING_NAME" />
+		<field name="GL_IMAGE_CUBE" />
+		<field name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS" />
+		<field name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE" />
+		<field name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE" />
+		<field name="GL_INT_IMAGE_2D" />
+		<field name="GL_INT_IMAGE_2D_ARRAY" />
+		<field name="GL_INT_IMAGE_3D" />
+		<field name="GL_INT_IMAGE_CUBE" />
+		<field name="GL_INT_SAMPLER_2D_MULTISAMPLE" />
+		<field name="GL_IS_ROW_MAJOR" />
+		<field name="GL_LOCATION" />
+		<field name="GL_MATRIX_STRIDE" />
+		<field name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS" />
+		<field name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE" />
+		<field name="GL_MAX_COLOR_TEXTURE_SAMPLES" />
+		<field name="GL_MAX_COMBINED_ATOMIC_COUNTERS" />
+		<field name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS" />
+		<field name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_COMBINED_IMAGE_UNIFORMS" />
+		<field name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES" />
+		<field name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS" />
+		<field name="GL_MAX_COMPUTE_ATOMIC_COUNTERS" />
+		<field name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS" />
+		<field name="GL_MAX_COMPUTE_IMAGE_UNIFORMS" />
+		<field name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS" />
+		<field name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE" />
+		<field name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS" />
+		<field name="GL_MAX_COMPUTE_UNIFORM_BLOCKS" />
+		<field name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_COMPUTE_WORK_GROUP_COUNT" />
+		<field name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS" />
+		<field name="GL_MAX_COMPUTE_WORK_GROUP_SIZE" />
+		<field name="GL_MAX_DEPTH_TEXTURE_SAMPLES" />
+		<field name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS" />
+		<field name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS" />
+		<field name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS" />
+		<field name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS" />
+		<field name="GL_MAX_FRAMEBUFFER_HEIGHT" />
+		<field name="GL_MAX_FRAMEBUFFER_SAMPLES" />
+		<field name="GL_MAX_FRAMEBUFFER_WIDTH" />
+		<field name="GL_MAX_IMAGE_UNITS" />
+		<field name="GL_MAX_INTEGER_SAMPLES" />
+		<field name="GL_MAX_NAME_LENGTH" />
+		<field name="GL_MAX_NUM_ACTIVE_VARIABLES" />
+		<field name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET" />
+		<field name="GL_MAX_SAMPLE_MASK_WORDS" />
+		<field name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE" />
+		<field name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS" />
+		<field name="GL_MAX_UNIFORM_LOCATIONS" />
+		<field name="GL_MAX_VERTEX_ATOMIC_COUNTERS" />
+		<field name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS" />
+		<field name="GL_MAX_VERTEX_ATTRIB_BINDINGS" />
+		<field name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET" />
+		<field name="GL_MAX_VERTEX_ATTRIB_STRIDE" />
+		<field name="GL_MAX_VERTEX_IMAGE_UNIFORMS" />
+		<field name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS" />
+		<field name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET" />
+		<field name="GL_NAME_LENGTH" />
+		<field name="GL_NUM_ACTIVE_VARIABLES" />
+		<field name="GL_OFFSET" />
+		<field name="GL_PIXEL_BUFFER_BARRIER_BIT" />
+		<field name="GL_PROGRAM_INPUT" />
+		<field name="GL_PROGRAM_OUTPUT" />
+		<field name="GL_PROGRAM_PIPELINE_BINDING" />
+		<field name="GL_PROGRAM_SEPARABLE" />
+		<field name="GL_READ_ONLY" />
+		<field name="GL_READ_WRITE" />
+		<field name="GL_REFERENCED_BY_COMPUTE_SHADER" />
+		<field name="GL_REFERENCED_BY_FRAGMENT_SHADER" />
+		<field name="GL_REFERENCED_BY_VERTEX_SHADER" />
+		<field name="GL_SAMPLER_2D_MULTISAMPLE" />
+		<field name="GL_SAMPLE_MASK" />
+		<field name="GL_SAMPLE_MASK_VALUE" />
+		<field name="GL_SAMPLE_POSITION" />
+		<field name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT" since="24" />
+		<field name="GL_SHADER_STORAGE_BARRIER_BIT" />
+		<field name="GL_SHADER_STORAGE_BLOCK" />
+		<field name="GL_SHADER_STORAGE_BUFFER" />
+		<field name="GL_SHADER_STORAGE_BUFFER_BINDING" />
+		<field name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT" />
+		<field name="GL_SHADER_STORAGE_BUFFER_SIZE" />
+		<field name="GL_SHADER_STORAGE_BUFFER_START" />
+		<field name="GL_STENCIL_INDEX" />
+		<field name="GL_TEXTURE_2D_MULTISAMPLE" />
+		<field name="GL_TEXTURE_ALPHA_SIZE" />
+		<field name="GL_TEXTURE_ALPHA_TYPE" />
+		<field name="GL_TEXTURE_BINDING_2D_MULTISAMPLE" />
+		<field name="GL_TEXTURE_BLUE_SIZE" />
+		<field name="GL_TEXTURE_BLUE_TYPE" />
+		<field name="GL_TEXTURE_COMPRESSED" />
+		<field name="GL_TEXTURE_DEPTH" />
+		<field name="GL_TEXTURE_DEPTH_SIZE" />
+		<field name="GL_TEXTURE_DEPTH_TYPE" />
+		<field name="GL_TEXTURE_FETCH_BARRIER_BIT" />
+		<field name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS" />
+		<field name="GL_TEXTURE_GREEN_SIZE" />
+		<field name="GL_TEXTURE_GREEN_TYPE" />
+		<field name="GL_TEXTURE_HEIGHT" />
+		<field name="GL_TEXTURE_INTERNAL_FORMAT" />
+		<field name="GL_TEXTURE_RED_SIZE" />
+		<field name="GL_TEXTURE_RED_TYPE" />
+		<field name="GL_TEXTURE_SAMPLES" />
+		<field name="GL_TEXTURE_SHARED_SIZE" />
+		<field name="GL_TEXTURE_STENCIL_SIZE" />
+		<field name="GL_TEXTURE_UPDATE_BARRIER_BIT" />
+		<field name="GL_TEXTURE_WIDTH" />
+		<field name="GL_TOP_LEVEL_ARRAY_SIZE" />
+		<field name="GL_TOP_LEVEL_ARRAY_STRIDE" />
+		<field name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT" />
+		<field name="GL_TRANSFORM_FEEDBACK_VARYING" />
+		<field name="GL_TYPE" />
+		<field name="GL_UNIFORM" />
+		<field name="GL_UNIFORM_BARRIER_BIT" />
+		<field name="GL_UNIFORM_BLOCK" />
+		<field name="GL_UNSIGNED_INT_ATOMIC_COUNTER" />
+		<field name="GL_UNSIGNED_INT_IMAGE_2D" />
+		<field name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY" />
+		<field name="GL_UNSIGNED_INT_IMAGE_3D" />
+		<field name="GL_UNSIGNED_INT_IMAGE_CUBE" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE" />
+		<field name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT" since="24" />
+		<field name="GL_VERTEX_ATTRIB_BINDING" />
+		<field name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET" />
+		<field name="GL_VERTEX_BINDING_BUFFER" />
+		<field name="GL_VERTEX_BINDING_DIVISOR" />
+		<field name="GL_VERTEX_BINDING_OFFSET" />
+		<field name="GL_VERTEX_BINDING_STRIDE" />
+		<field name="GL_VERTEX_SHADER_BIT" />
+		<field name="GL_WRITE_ONLY" />
+	</class>
+	<class name="android/opengl/GLES31Ext" since="21">
+		<extends name="java/lang/Object" />
+		<method name="glBlendBarrierKHR()V" />
+		<method name="glBlendEquationSeparateiEXT(III)V" />
+		<method name="glBlendEquationiEXT(II)V" />
+		<method name="glBlendFuncSeparateiEXT(IIIII)V" />
+		<method name="glBlendFunciEXT(III)V" />
+		<method name="glColorMaskiEXT(IZZZZ)V" />
+		<method name="glCopyImageSubDataEXT(IIIIIIIIIIIIIII)V" />
+		<method name="glDebugMessageCallbackKHR(Landroid/opengl/GLES31Ext$DebugProcKHR;)V" />
+		<method name="glDebugMessageControlKHR(IIIILjava/nio/IntBuffer;Z)V" />
+		<method name="glDebugMessageControlKHR(IIII[IIZ)V" />
+		<method name="glDebugMessageInsertKHR(IIIILjava/lang/String;)V" />
+		<method name="glDisableiEXT(II)V" />
+		<method name="glEnableiEXT(II)V" />
+		<method name="glFramebufferTextureEXT(IIII)V" />
+		<method name="glGetDebugMessageCallbackKHR()Landroid/opengl/GLES31Ext$DebugProcKHR;" />
+		<method name="glGetDebugMessageLogKHR(II[II[II[II[II[II[BI)I" />
+		<method name="glGetDebugMessageLogKHR(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)[Ljava/lang/String;" />
+		<method name="glGetDebugMessageLogKHR(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)I" />
+		<method name="glGetDebugMessageLogKHR(I[II[II[II[II)[Ljava/lang/String;" />
+		<method name="glGetObjectLabelKHR(II)Ljava/lang/String;" />
+		<method name="glGetObjectPtrLabelKHR(J)Ljava/lang/String;" />
+		<method name="glGetSamplerParameterIivEXT(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetSamplerParameterIivEXT(II[II)V" />
+		<method name="glGetSamplerParameterIuivEXT(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetSamplerParameterIuivEXT(II[II)V" />
+		<method name="glGetTexParameterIivEXT(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexParameterIivEXT(II[II)V" />
+		<method name="glGetTexParameterIuivEXT(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexParameterIuivEXT(II[II)V" />
+		<method name="glIsEnablediEXT(II)Z" />
+		<method name="glMinSampleShadingOES(F)V" />
+		<method name="glObjectLabelKHR(IIILjava/lang/String;)V" />
+		<method name="glObjectPtrLabelKHR(JLjava/lang/String;)V" />
+		<method name="glPatchParameteriEXT(II)V" />
+		<method name="glPopDebugGroupKHR()V" />
+		<method name="glPrimitiveBoundingBoxEXT(FFFFFFFF)V" />
+		<method name="glPushDebugGroupKHR(IIILjava/lang/String;)V" />
+		<method name="glSamplerParameterIivEXT(IILjava/nio/IntBuffer;)V" />
+		<method name="glSamplerParameterIivEXT(II[II)V" />
+		<method name="glSamplerParameterIuivEXT(IILjava/nio/IntBuffer;)V" />
+		<method name="glSamplerParameterIuivEXT(II[II)V" />
+		<method name="glTexBufferEXT(III)V" />
+		<method name="glTexBufferRangeEXT(IIIII)V" />
+		<method name="glTexParameterIivEXT(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexParameterIivEXT(II[II)V" />
+		<method name="glTexParameterIuivEXT(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexParameterIuivEXT(II[II)V" />
+		<method name="glTexStorage3DMultisampleOES(IIIIIIZ)V" />
+		<field name="GL_BLEND_ADVANCED_COHERENT_KHR" />
+		<field name="GL_BUFFER_KHR" />
+		<field name="GL_CLAMP_TO_BORDER_EXT" />
+		<field name="GL_COLORBURN_KHR" />
+		<field name="GL_COLORDODGE_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x5_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x6_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x8_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_5x4_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_5x5_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_6x5_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_6x6_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x5_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x6_KHR" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x8_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR" />
+		<field name="GL_CONTEXT_FLAG_DEBUG_BIT_KHR" />
+		<field name="GL_DARKEN_KHR" />
+		<field name="GL_DEBUG_CALLBACK_FUNCTION_KHR" />
+		<field name="GL_DEBUG_CALLBACK_USER_PARAM_KHR" />
+		<field name="GL_DEBUG_GROUP_STACK_DEPTH_KHR" />
+		<field name="GL_DEBUG_LOGGED_MESSAGES_KHR" />
+		<field name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR" />
+		<field name="GL_DEBUG_OUTPUT_KHR" />
+		<field name="GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR" />
+		<field name="GL_DEBUG_SEVERITY_HIGH_KHR" />
+		<field name="GL_DEBUG_SEVERITY_LOW_KHR" />
+		<field name="GL_DEBUG_SEVERITY_MEDIUM_KHR" />
+		<field name="GL_DEBUG_SEVERITY_NOTIFICATION_KHR" />
+		<field name="GL_DEBUG_SOURCE_API_KHR" />
+		<field name="GL_DEBUG_SOURCE_APPLICATION_KHR" />
+		<field name="GL_DEBUG_SOURCE_OTHER_KHR" />
+		<field name="GL_DEBUG_SOURCE_SHADER_COMPILER_KHR" />
+		<field name="GL_DEBUG_SOURCE_THIRD_PARTY_KHR" />
+		<field name="GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR" />
+		<field name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR" />
+		<field name="GL_DEBUG_TYPE_ERROR_KHR" />
+		<field name="GL_DEBUG_TYPE_MARKER_KHR" />
+		<field name="GL_DEBUG_TYPE_OTHER_KHR" />
+		<field name="GL_DEBUG_TYPE_PERFORMANCE_KHR" />
+		<field name="GL_DEBUG_TYPE_POP_GROUP_KHR" />
+		<field name="GL_DEBUG_TYPE_PORTABILITY_KHR" />
+		<field name="GL_DEBUG_TYPE_PUSH_GROUP_KHR" />
+		<field name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR" />
+		<field name="GL_DECODE_EXT" />
+		<field name="GL_DIFFERENCE_KHR" />
+		<field name="GL_EXCLUSION_KHR" />
+		<field name="GL_FIRST_VERTEX_CONVENTION_EXT" />
+		<field name="GL_FRACTIONAL_EVEN_EXT" />
+		<field name="GL_FRACTIONAL_ODD_EXT" />
+		<field name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT" />
+		<field name="GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT" />
+		<field name="GL_GEOMETRY_LINKED_INPUT_TYPE_EXT" />
+		<field name="GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT" />
+		<field name="GL_GEOMETRY_LINKED_VERTICES_OUT_EXT" />
+		<field name="GL_GEOMETRY_SHADER_BIT_EXT" />
+		<field name="GL_GEOMETRY_SHADER_EXT" />
+		<field name="GL_GEOMETRY_SHADER_INVOCATIONS_EXT" />
+		<field name="GL_HARDLIGHT_KHR" />
+		<field name="GL_HSL_COLOR_KHR" />
+		<field name="GL_HSL_HUE_KHR" />
+		<field name="GL_HSL_LUMINOSITY_KHR" />
+		<field name="GL_HSL_SATURATION_KHR" />
+		<field name="GL_IMAGE_BUFFER_EXT" />
+		<field name="GL_IMAGE_CUBE_MAP_ARRAY_EXT" />
+		<field name="GL_INT_IMAGE_BUFFER_EXT" />
+		<field name="GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT" />
+		<field name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES" />
+		<field name="GL_INT_SAMPLER_BUFFER_EXT" />
+		<field name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT" />
+		<field name="GL_ISOLINES_EXT" />
+		<field name="GL_IS_PER_PATCH_EXT" />
+		<field name="GL_LAST_VERTEX_CONVENTION_EXT" />
+		<field name="GL_LAYER_PROVOKING_VERTEX_EXT" />
+		<field name="GL_LIGHTEN_KHR" />
+		<field name="GL_LINES_ADJACENCY_EXT" />
+		<field name="GL_LINE_STRIP_ADJACENCY_EXT" />
+		<field name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT" />
+		<field name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT" />
+		<field name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT" />
+		<field name="GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR" />
+		<field name="GL_MAX_DEBUG_LOGGED_MESSAGES_KHR" />
+		<field name="GL_MAX_DEBUG_MESSAGE_LENGTH_KHR" />
+		<field name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES" />
+		<field name="GL_MAX_FRAMEBUFFER_LAYERS_EXT" />
+		<field name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT" />
+		<field name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT" />
+		<field name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT" />
+		<field name="GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT" />
+		<field name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT" />
+		<field name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT" />
+		<field name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT" />
+		<field name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT" />
+		<field name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT" />
+		<field name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT" />
+		<field name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT" />
+		<field name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT" />
+		<field name="GL_MAX_LABEL_LENGTH_KHR" />
+		<field name="GL_MAX_PATCH_VERTICES_EXT" />
+		<field name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT" />
+		<field name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT" />
+		<field name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT" />
+		<field name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT" />
+		<field name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT" />
+		<field name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT" />
+		<field name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT" />
+		<field name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT" />
+		<field name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT" />
+		<field name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT" />
+		<field name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT" />
+		<field name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT" />
+		<field name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT" />
+		<field name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT" />
+		<field name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT" />
+		<field name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT" />
+		<field name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT" />
+		<field name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT" />
+		<field name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT" />
+		<field name="GL_MAX_TESS_GEN_LEVEL_EXT" />
+		<field name="GL_MAX_TESS_PATCH_COMPONENTS_EXT" />
+		<field name="GL_MAX_TEXTURE_BUFFER_SIZE_EXT" />
+		<field name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES" />
+		<field name="GL_MIN_SAMPLE_SHADING_VALUE_OES" />
+		<field name="GL_MULTIPLY_KHR" />
+		<field name="GL_OVERLAY_KHR" />
+		<field name="GL_PATCHES_EXT" />
+		<field name="GL_PATCH_VERTICES_EXT" />
+		<field name="GL_PRIMITIVES_GENERATED_EXT" />
+		<field name="GL_PRIMITIVE_BOUNDING_BOX_EXT" />
+		<field name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED" />
+		<field name="GL_PROGRAM_KHR" />
+		<field name="GL_QUADS_EXT" />
+		<field name="GL_QUERY_KHR" />
+		<field name="GL_REFERENCED_BY_GEOMETRY_SHADER_EXT" />
+		<field name="GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT" />
+		<field name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT" />
+		<field name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES" />
+		<field name="GL_SAMPLER_BUFFER_EXT" />
+		<field name="GL_SAMPLER_CUBE_MAP_ARRAY_EXT" />
+		<field name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT" />
+		<field name="GL_SAMPLER_KHR" />
+		<field name="GL_SAMPLE_SHADING_OES" />
+		<field name="GL_SCREEN_KHR" />
+		<field name="GL_SHADER_KHR" />
+		<field name="GL_SKIP_DECODE_EXT" />
+		<field name="GL_SOFTLIGHT_KHR" />
+		<field name="GL_STACK_OVERFLOW_KHR" />
+		<field name="GL_STACK_UNDERFLOW_KHR" />
+		<field name="GL_STENCIL_INDEX8_OES" />
+		<field name="GL_STENCIL_INDEX_OES" />
+		<field name="GL_TESS_CONTROL_OUTPUT_VERTICES_EXT" />
+		<field name="GL_TESS_CONTROL_SHADER_BIT_EXT" />
+		<field name="GL_TESS_CONTROL_SHADER_EXT" />
+		<field name="GL_TESS_EVALUATION_SHADER_BIT_EXT" />
+		<field name="GL_TESS_EVALUATION_SHADER_EXT" />
+		<field name="GL_TESS_GEN_MODE_EXT" />
+		<field name="GL_TESS_GEN_POINT_MODE_EXT" />
+		<field name="GL_TESS_GEN_SPACING_EXT" />
+		<field name="GL_TESS_GEN_VERTEX_ORDER_EXT" />
+		<field name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES" />
+		<field name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES" />
+		<field name="GL_TEXTURE_BINDING_BUFFER_EXT" />
+		<field name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT" />
+		<field name="GL_TEXTURE_BORDER_COLOR_EXT" />
+		<field name="GL_TEXTURE_BUFFER_BINDING_EXT" />
+		<field name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT" />
+		<field name="GL_TEXTURE_BUFFER_EXT" />
+		<field name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT" />
+		<field name="GL_TEXTURE_BUFFER_OFFSET_EXT" />
+		<field name="GL_TEXTURE_BUFFER_SIZE_EXT" />
+		<field name="GL_TEXTURE_CUBE_MAP_ARRAY_EXT" />
+		<field name="GL_TEXTURE_SRGB_DECODE_EXT" />
+		<field name="GL_TRIANGLES_ADJACENCY_EXT" />
+		<field name="GL_TRIANGLE_STRIP_ADJACENCY_EXT" />
+		<field name="GL_UNDEFINED_VERTEX_EXT" />
+		<field name="GL_UNSIGNED_INT_IMAGE_BUFFER_EXT" />
+		<field name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT" />
+		<field name="GL_VERTEX_ARRAY_KHR" />
+	</class>
+	<class name="android/opengl/GLES31Ext$DebugProcKHR" since="21">
+		<extends name="java/lang/Object" />
+		<method name="onMessage(IIIILjava/lang/String;)V" />
+	</class>
+	<class name="android/opengl/GLES32" since="24">
+		<extends name="android/opengl/GLES31" />
+		<method name="glBlendBarrier()V" />
+		<method name="glBlendEquationSeparatei(III)V" />
+		<method name="glBlendEquationi(II)V" />
+		<method name="glBlendFuncSeparatei(IIIII)V" />
+		<method name="glBlendFunci(III)V" />
+		<method name="glColorMaski(IZZZZ)V" />
+		<method name="glCopyImageSubData(IIIIIIIIIIIIIII)V" />
+		<method name="glDebugMessageCallback(Landroid/opengl/GLES32$DebugProc;)V" />
+		<method name="glDebugMessageControl(IIIILjava/nio/IntBuffer;Z)V" />
+		<method name="glDebugMessageControl(IIII[IIZ)V" />
+		<method name="glDebugMessageInsert(IIIIILjava/lang/String;)V" />
+		<method name="glDisablei(II)V" />
+		<method name="glDrawElementsBaseVertex(IIILjava/nio/Buffer;I)V" />
+		<method name="glDrawElementsInstancedBaseVertex(IIIIII)V" />
+		<method name="glDrawElementsInstancedBaseVertex(IIILjava/nio/Buffer;II)V" />
+		<method name="glDrawRangeElementsBaseVertex(IIIIILjava/nio/Buffer;I)V" />
+		<method name="glEnablei(II)V" />
+		<method name="glFramebufferTexture(IIII)V" />
+		<method name="glGetDebugMessageLog(II[II[II[II[II[II[BI)I" />
+		<method name="glGetDebugMessageLog(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)[Ljava/lang/String;" />
+		<method name="glGetDebugMessageLog(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)I" />
+		<method name="glGetDebugMessageLog(I[II[II[II[II)[Ljava/lang/String;" />
+		<method name="glGetGraphicsResetStatus()I" />
+		<method name="glGetObjectLabel(II)Ljava/lang/String;" />
+		<method name="glGetObjectPtrLabel(J)Ljava/lang/String;" />
+		<method name="glGetPointerv(I)J" />
+		<method name="glGetSamplerParameterIiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetSamplerParameterIiv(II[II)V" />
+		<method name="glGetSamplerParameterIuiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetSamplerParameterIuiv(II[II)V" />
+		<method name="glGetTexParameterIiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexParameterIiv(II[II)V" />
+		<method name="glGetTexParameterIuiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexParameterIuiv(II[II)V" />
+		<method name="glGetnUniformfv(IIILjava/nio/FloatBuffer;)V" />
+		<method name="glGetnUniformfv(III[FI)V" />
+		<method name="glGetnUniformiv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glGetnUniformiv(III[II)V" />
+		<method name="glGetnUniformuiv(IIILjava/nio/IntBuffer;)V" />
+		<method name="glGetnUniformuiv(III[II)V" />
+		<method name="glIsEnabledi(II)Z" />
+		<method name="glMinSampleShading(F)V" />
+		<method name="glObjectLabel(IIILjava/lang/String;)V" />
+		<method name="glObjectPtrLabel(JLjava/lang/String;)V" />
+		<method name="glPatchParameteri(II)V" />
+		<method name="glPopDebugGroup()V" />
+		<method name="glPrimitiveBoundingBox(FFFFFFFF)V" />
+		<method name="glPushDebugGroup(IIILjava/lang/String;)V" />
+		<method name="glReadnPixels(IIIIIIILjava/nio/Buffer;)V" />
+		<method name="glSamplerParameterIiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glSamplerParameterIiv(II[II)V" />
+		<method name="glSamplerParameterIuiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glSamplerParameterIuiv(II[II)V" />
+		<method name="glTexBuffer(III)V" />
+		<method name="glTexBufferRange(IIIII)V" />
+		<method name="glTexParameterIiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexParameterIiv(II[II)V" />
+		<method name="glTexParameterIuiv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexParameterIuiv(II[II)V" />
+		<method name="glTexStorage3DMultisample(IIIIIIZ)V" />
+		<field name="GL_BUFFER" />
+		<field name="GL_CLAMP_TO_BORDER" />
+		<field name="GL_COLORBURN" />
+		<field name="GL_COLORDODGE" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x10" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x5" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x6" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x8" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_12x10" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_12x12" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_4x4" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_5x4" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_5x5" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_6x5" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_6x6" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x5" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x6" />
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x8" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6" />
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8" />
+		<field name="GL_CONTEXT_FLAGS" />
+		<field name="GL_CONTEXT_FLAG_DEBUG_BIT" />
+		<field name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT" />
+		<field name="GL_CONTEXT_LOST" />
+		<field name="GL_DARKEN" />
+		<field name="GL_DEBUG_CALLBACK_FUNCTION" />
+		<field name="GL_DEBUG_CALLBACK_USER_PARAM" />
+		<field name="GL_DEBUG_GROUP_STACK_DEPTH" />
+		<field name="GL_DEBUG_LOGGED_MESSAGES" />
+		<field name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH" />
+		<field name="GL_DEBUG_OUTPUT" />
+		<field name="GL_DEBUG_OUTPUT_SYNCHRONOUS" />
+		<field name="GL_DEBUG_SEVERITY_HIGH" />
+		<field name="GL_DEBUG_SEVERITY_LOW" />
+		<field name="GL_DEBUG_SEVERITY_MEDIUM" />
+		<field name="GL_DEBUG_SEVERITY_NOTIFICATION" />
+		<field name="GL_DEBUG_SOURCE_API" />
+		<field name="GL_DEBUG_SOURCE_APPLICATION" />
+		<field name="GL_DEBUG_SOURCE_OTHER" />
+		<field name="GL_DEBUG_SOURCE_SHADER_COMPILER" />
+		<field name="GL_DEBUG_SOURCE_THIRD_PARTY" />
+		<field name="GL_DEBUG_SOURCE_WINDOW_SYSTEM" />
+		<field name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR" />
+		<field name="GL_DEBUG_TYPE_ERROR" />
+		<field name="GL_DEBUG_TYPE_MARKER" />
+		<field name="GL_DEBUG_TYPE_OTHER" />
+		<field name="GL_DEBUG_TYPE_PERFORMANCE" />
+		<field name="GL_DEBUG_TYPE_POP_GROUP" />
+		<field name="GL_DEBUG_TYPE_PORTABILITY" />
+		<field name="GL_DEBUG_TYPE_PUSH_GROUP" />
+		<field name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR" />
+		<field name="GL_DIFFERENCE" />
+		<field name="GL_EXCLUSION" />
+		<field name="GL_FIRST_VERTEX_CONVENTION" />
+		<field name="GL_FRACTIONAL_EVEN" />
+		<field name="GL_FRACTIONAL_ODD" />
+		<field name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED" />
+		<field name="GL_FRAMEBUFFER_DEFAULT_LAYERS" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS" />
+		<field name="GL_GEOMETRY_INPUT_TYPE" />
+		<field name="GL_GEOMETRY_OUTPUT_TYPE" />
+		<field name="GL_GEOMETRY_SHADER" />
+		<field name="GL_GEOMETRY_SHADER_BIT" />
+		<field name="GL_GEOMETRY_SHADER_INVOCATIONS" />
+		<field name="GL_GEOMETRY_VERTICES_OUT" />
+		<field name="GL_GUILTY_CONTEXT_RESET" />
+		<field name="GL_HARDLIGHT" />
+		<field name="GL_HSL_COLOR" />
+		<field name="GL_HSL_HUE" />
+		<field name="GL_HSL_LUMINOSITY" />
+		<field name="GL_HSL_SATURATION" />
+		<field name="GL_IMAGE_BUFFER" />
+		<field name="GL_IMAGE_CUBE_MAP_ARRAY" />
+		<field name="GL_INNOCENT_CONTEXT_RESET" />
+		<field name="GL_INT_IMAGE_BUFFER" />
+		<field name="GL_INT_IMAGE_CUBE_MAP_ARRAY" />
+		<field name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY" />
+		<field name="GL_INT_SAMPLER_BUFFER" />
+		<field name="GL_INT_SAMPLER_CUBE_MAP_ARRAY" />
+		<field name="GL_ISOLINES" />
+		<field name="GL_IS_PER_PATCH" />
+		<field name="GL_LAST_VERTEX_CONVENTION" />
+		<field name="GL_LAYER_PROVOKING_VERTEX" />
+		<field name="GL_LIGHTEN" />
+		<field name="GL_LINES_ADJACENCY" />
+		<field name="GL_LINE_STRIP_ADJACENCY" />
+		<field name="GL_LOSE_CONTEXT_ON_RESET" />
+		<field name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_DEBUG_GROUP_STACK_DEPTH" />
+		<field name="GL_MAX_DEBUG_LOGGED_MESSAGES" />
+		<field name="GL_MAX_DEBUG_MESSAGE_LENGTH" />
+		<field name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET" />
+		<field name="GL_MAX_FRAMEBUFFER_LAYERS" />
+		<field name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS" />
+		<field name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS" />
+		<field name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS" />
+		<field name="GL_MAX_GEOMETRY_INPUT_COMPONENTS" />
+		<field name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS" />
+		<field name="GL_MAX_GEOMETRY_OUTPUT_VERTICES" />
+		<field name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS" />
+		<field name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS" />
+		<field name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS" />
+		<field name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS" />
+		<field name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS" />
+		<field name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_LABEL_LENGTH" />
+		<field name="GL_MAX_PATCH_VERTICES" />
+		<field name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS" />
+		<field name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS" />
+		<field name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS" />
+		<field name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS" />
+		<field name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS" />
+		<field name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS" />
+		<field name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS" />
+		<field name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS" />
+		<field name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS" />
+		<field name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS" />
+		<field name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS" />
+		<field name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS" />
+		<field name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS" />
+		<field name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS" />
+		<field name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS" />
+		<field name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS" />
+		<field name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS" />
+		<field name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS" />
+		<field name="GL_MAX_TESS_GEN_LEVEL" />
+		<field name="GL_MAX_TESS_PATCH_COMPONENTS" />
+		<field name="GL_MAX_TEXTURE_BUFFER_SIZE" />
+		<field name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET" />
+		<field name="GL_MIN_SAMPLE_SHADING_VALUE" />
+		<field name="GL_MULTIPLY" />
+		<field name="GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY" />
+		<field name="GL_MULTISAMPLE_LINE_WIDTH_RANGE" />
+		<field name="GL_NO_RESET_NOTIFICATION" />
+		<field name="GL_OVERLAY" />
+		<field name="GL_PATCHES" />
+		<field name="GL_PATCH_VERTICES" />
+		<field name="GL_PRIMITIVES_GENERATED" />
+		<field name="GL_PRIMITIVE_BOUNDING_BOX" />
+		<field name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED" />
+		<field name="GL_PROGRAM" />
+		<field name="GL_PROGRAM_PIPELINE" />
+		<field name="GL_QUADS" />
+		<field name="GL_QUERY" />
+		<field name="GL_REFERENCED_BY_GEOMETRY_SHADER" />
+		<field name="GL_REFERENCED_BY_TESS_CONTROL_SHADER" />
+		<field name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER" />
+		<field name="GL_RESET_NOTIFICATION_STRATEGY" />
+		<field name="GL_SAMPLER" />
+		<field name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY" />
+		<field name="GL_SAMPLER_BUFFER" />
+		<field name="GL_SAMPLER_CUBE_MAP_ARRAY" />
+		<field name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW" />
+		<field name="GL_SAMPLE_SHADING" />
+		<field name="GL_SCREEN" />
+		<field name="GL_SHADER" />
+		<field name="GL_SOFTLIGHT" />
+		<field name="GL_STACK_OVERFLOW" />
+		<field name="GL_STACK_UNDERFLOW" />
+		<field name="GL_TESS_CONTROL_OUTPUT_VERTICES" />
+		<field name="GL_TESS_CONTROL_SHADER" />
+		<field name="GL_TESS_CONTROL_SHADER_BIT" />
+		<field name="GL_TESS_EVALUATION_SHADER" />
+		<field name="GL_TESS_EVALUATION_SHADER_BIT" />
+		<field name="GL_TESS_GEN_MODE" />
+		<field name="GL_TESS_GEN_POINT_MODE" />
+		<field name="GL_TESS_GEN_SPACING" />
+		<field name="GL_TESS_GEN_VERTEX_ORDER" />
+		<field name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY" />
+		<field name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY" />
+		<field name="GL_TEXTURE_BINDING_BUFFER" />
+		<field name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY" />
+		<field name="GL_TEXTURE_BORDER_COLOR" />
+		<field name="GL_TEXTURE_BUFFER" />
+		<field name="GL_TEXTURE_BUFFER_BINDING" />
+		<field name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING" />
+		<field name="GL_TEXTURE_BUFFER_OFFSET" />
+		<field name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT" />
+		<field name="GL_TEXTURE_BUFFER_SIZE" />
+		<field name="GL_TEXTURE_CUBE_MAP_ARRAY" />
+		<field name="GL_TRIANGLES_ADJACENCY" />
+		<field name="GL_TRIANGLE_STRIP_ADJACENCY" />
+		<field name="GL_UNDEFINED_VERTEX" />
+		<field name="GL_UNKNOWN_CONTEXT_RESET" />
+		<field name="GL_UNSIGNED_INT_IMAGE_BUFFER" />
+		<field name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_BUFFER" />
+		<field name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY" />
+		<field name="GL_VERTEX_ARRAY" />
+	</class>
+	<class name="android/opengl/GLES32$DebugProc" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onMessage(IIIILjava/lang/String;)V" />
+	</class>
+	<class name="android/opengl/GLException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" />
+	</class>
+	<class name="android/opengl/GLSurfaceView" since="3">
+		<extends name="android/view/SurfaceView" />
+		<implements name="android/view/SurfaceHolder$Callback" removed="24" />
+		<implements name="android/view/SurfaceHolder$Callback2" since="24" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="getDebugFlags()I" />
+		<method name="getPreserveEGLContextOnPause()Z" since="11" />
+		<method name="getRenderMode()I" />
+		<method name="onPause()V" />
+		<method name="onResume()V" />
+		<method name="queueEvent(Ljava/lang/Runnable;)V" />
+		<method name="requestRender()V" />
+		<method name="setDebugFlags(I)V" />
+		<method name="setEGLConfigChooser(IIIIII)V" />
+		<method name="setEGLConfigChooser(Landroid/opengl/GLSurfaceView$EGLConfigChooser;)V" />
+		<method name="setEGLConfigChooser(Z)V" />
+		<method name="setEGLContextClientVersion(I)V" since="8" />
+		<method name="setEGLContextFactory(Landroid/opengl/GLSurfaceView$EGLContextFactory;)V" since="5" />
+		<method name="setEGLWindowSurfaceFactory(Landroid/opengl/GLSurfaceView$EGLWindowSurfaceFactory;)V" since="5" />
+		<method name="setGLWrapper(Landroid/opengl/GLSurfaceView$GLWrapper;)V" />
+		<method name="setPreserveEGLContextOnPause(Z)V" since="11" />
+		<method name="setRenderMode(I)V" />
+		<method name="setRenderer(Landroid/opengl/GLSurfaceView$Renderer;)V" />
+		<field name="DEBUG_CHECK_GL_ERROR" />
+		<field name="DEBUG_LOG_GL_CALLS" />
+		<field name="RENDERMODE_CONTINUOUSLY" />
+		<field name="RENDERMODE_WHEN_DIRTY" />
+	</class>
+	<class name="android/opengl/GLSurfaceView$EGLConfigChooser" since="3">
+		<extends name="java/lang/Object" />
+		<method name="chooseConfig(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;)Ljavax/microedition/khronos/egl/EGLConfig;" />
+	</class>
+	<class name="android/opengl/GLSurfaceView$EGLContextFactory" since="5">
+		<extends name="java/lang/Object" />
+		<method name="createContext(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;)Ljavax/microedition/khronos/egl/EGLContext;" />
+		<method name="destroyContext(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;)V" />
+	</class>
+	<class name="android/opengl/GLSurfaceView$EGLWindowSurfaceFactory" since="5">
+		<extends name="java/lang/Object" />
+		<method name="createWindowSurface(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLSurface;" />
+		<method name="destroySurface(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)V" />
+	</class>
+	<class name="android/opengl/GLSurfaceView$GLWrapper" since="3">
+		<extends name="java/lang/Object" />
+		<method name="wrap(Ljavax/microedition/khronos/opengles/GL;)Ljavax/microedition/khronos/opengles/GL;" />
+	</class>
+	<class name="android/opengl/GLSurfaceView$Renderer" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onDrawFrame(Ljavax/microedition/khronos/opengles/GL10;)V" />
+		<method name="onSurfaceChanged(Ljavax/microedition/khronos/opengles/GL10;II)V" />
+		<method name="onSurfaceCreated(Ljavax/microedition/khronos/opengles/GL10;Ljavax/microedition/khronos/egl/EGLConfig;)V" />
+	</class>
+	<class name="android/opengl/GLU" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="gluErrorString(I)Ljava/lang/String;" />
+		<method name="gluLookAt(Ljavax/microedition/khronos/opengles/GL10;FFFFFFFFF)V" />
+		<method name="gluOrtho2D(Ljavax/microedition/khronos/opengles/GL10;FFFF)V" />
+		<method name="gluPerspective(Ljavax/microedition/khronos/opengles/GL10;FFFF)V" />
+		<method name="gluProject(FFF[FI[FI[II[FI)I" />
+		<method name="gluUnProject(FFF[FI[FI[II[FI)I" />
+	</class>
+	<class name="android/opengl/GLUtils" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getEGLErrorString(I)Ljava/lang/String;" since="14" />
+		<method name="getInternalFormat(Landroid/graphics/Bitmap;)I" />
+		<method name="getType(Landroid/graphics/Bitmap;)I" />
+		<method name="texImage2D(IIILandroid/graphics/Bitmap;I)V" />
+		<method name="texImage2D(IIILandroid/graphics/Bitmap;II)V" />
+		<method name="texImage2D(IILandroid/graphics/Bitmap;I)V" />
+		<method name="texSubImage2D(IIIILandroid/graphics/Bitmap;)V" />
+		<method name="texSubImage2D(IIIILandroid/graphics/Bitmap;II)V" />
+	</class>
+	<class name="android/opengl/Matrix" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="19" />
+		<method name="frustumM([FIFFFFFF)V" />
+		<method name="invertM([FI[FI)Z" />
+		<method name="length(FFF)F" />
+		<method name="multiplyMM([FI[FI[FI)V" />
+		<method name="multiplyMV([FI[FI[FI)V" />
+		<method name="orthoM([FIFFFFFF)V" />
+		<method name="perspectiveM([FIFFFF)V" since="14" />
+		<method name="rotateM([FIFFFF)V" />
+		<method name="rotateM([FI[FIFFFF)V" />
+		<method name="scaleM([FIFFF)V" />
+		<method name="scaleM([FI[FIFFF)V" />
+		<method name="setIdentityM([FI)V" />
+		<method name="setLookAtM([FIFFFFFFFFF)V" since="8" />
+		<method name="setRotateEulerM([FIFFF)V" />
+		<method name="setRotateM([FIFFFF)V" />
+		<method name="translateM([FIFFF)V" />
+		<method name="translateM([FI[FIFFF)V" />
+		<method name="transposeM([FI[FI)V" />
+	</class>
+	<class name="android/opengl/Visibility" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="computeBoundingSphere([FII[FI)V" />
+		<method name="frustumCullSpheres([FI[FII[III)I" />
+		<method name="visibilityTest([FI[FI[CII)I" />
+	</class>
+	<class name="android/os/AsyncTask" since="3" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="cancel(Z)Z" deprecated="30" />
+		<method name="doInBackground([Ljava/lang/Object;)Ljava/lang/Object;" deprecated="30" />
+		<method name="execute(Ljava/lang/Runnable;)V" since="11" deprecated="30" />
+		<method name="execute([Ljava/lang/Object;)Landroid/os/AsyncTask;" deprecated="30" />
+		<method name="executeOnExecutor(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;" since="11" deprecated="30" />
+		<method name="get()Ljava/lang/Object;" deprecated="30" />
+		<method name="get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;" deprecated="30" />
+		<method name="getStatus()Landroid/os/AsyncTask$Status;" deprecated="30" />
+		<method name="isCancelled()Z" deprecated="30" />
+		<method name="onCancelled()V" deprecated="30" />
+		<method name="onCancelled(Ljava/lang/Object;)V" since="11" deprecated="30" />
+		<method name="onPostExecute(Ljava/lang/Object;)V" deprecated="30" />
+		<method name="onPreExecute()V" deprecated="30" />
+		<method name="onProgressUpdate([Ljava/lang/Object;)V" deprecated="30" />
+		<method name="publishProgress([Ljava/lang/Object;)V" deprecated="30" />
+		<field name="SERIAL_EXECUTOR" since="11" deprecated="30" />
+		<field name="THREAD_POOL_EXECUTOR" since="11" deprecated="30" />
+	</class>
+	<class name="android/os/AsyncTask$Status" since="3" deprecated="30">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/os/AsyncTask$Status;" />
+		<method name="values()[Landroid/os/AsyncTask$Status;" />
+		<field name="FINISHED" deprecated="30" />
+		<field name="PENDING" deprecated="30" />
+		<field name="RUNNING" deprecated="30" />
+	</class>
+	<class name="android/os/BadParcelableException" since="1">
+		<extends name="android/util/AndroidRuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/os/BaseBundle" since="21">
+		<extends name="java/lang/Object" />
+		<method name="clear()V" />
+		<method name="containsKey(Ljava/lang/String;)Z" />
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getBoolean(Ljava/lang/String;)Z" since="22" />
+		<method name="getBoolean(Ljava/lang/String;Z)Z" since="22" />
+		<method name="getBooleanArray(Ljava/lang/String;)[Z" since="22" />
+		<method name="getDouble(Ljava/lang/String;)D" />
+		<method name="getDouble(Ljava/lang/String;D)D" />
+		<method name="getDoubleArray(Ljava/lang/String;)[D" />
+		<method name="getInt(Ljava/lang/String;)I" />
+		<method name="getInt(Ljava/lang/String;I)I" />
+		<method name="getIntArray(Ljava/lang/String;)[I" />
+		<method name="getLong(Ljava/lang/String;)J" />
+		<method name="getLong(Ljava/lang/String;J)J" />
+		<method name="getLongArray(Ljava/lang/String;)[J" />
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getStringArray(Ljava/lang/String;)[Ljava/lang/String;" />
+		<method name="isEmpty()Z" />
+		<method name="keySet()Ljava/util/Set;" />
+		<method name="putAll(Landroid/os/PersistableBundle;)V" />
+		<method name="putBoolean(Ljava/lang/String;Z)V" since="22" />
+		<method name="putBooleanArray(Ljava/lang/String;[Z)V" since="22" />
+		<method name="putDouble(Ljava/lang/String;D)V" />
+		<method name="putDoubleArray(Ljava/lang/String;[D)V" />
+		<method name="putInt(Ljava/lang/String;I)V" />
+		<method name="putIntArray(Ljava/lang/String;[I)V" />
+		<method name="putLong(Ljava/lang/String;J)V" />
+		<method name="putLongArray(Ljava/lang/String;[J)V" />
+		<method name="putString(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="putStringArray(Ljava/lang/String;[Ljava/lang/String;)V" />
+		<method name="remove(Ljava/lang/String;)V" />
+		<method name="size()I" />
+	</class>
+	<class name="android/os/BatteryManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="23" />
+		<method name="computeChargeTimeRemaining()J" since="28" />
+		<method name="getIntProperty(I)I" since="21" />
+		<method name="getLongProperty(I)J" since="21" />
+		<method name="isCharging()Z" since="23" />
+		<field name="ACTION_CHARGING" since="23" />
+		<field name="ACTION_DISCHARGING" since="23" />
+		<field name="BATTERY_HEALTH_COLD" since="11" />
+		<field name="BATTERY_HEALTH_DEAD" />
+		<field name="BATTERY_HEALTH_GOOD" />
+		<field name="BATTERY_HEALTH_OVERHEAT" />
+		<field name="BATTERY_HEALTH_OVER_VOLTAGE" />
+		<field name="BATTERY_HEALTH_UNKNOWN" />
+		<field name="BATTERY_HEALTH_UNSPECIFIED_FAILURE" />
+		<field name="BATTERY_PLUGGED_AC" />
+		<field name="BATTERY_PLUGGED_USB" />
+		<field name="BATTERY_PLUGGED_WIRELESS" since="17" />
+		<field name="BATTERY_PROPERTY_CAPACITY" since="21" />
+		<field name="BATTERY_PROPERTY_CHARGE_COUNTER" since="21" />
+		<field name="BATTERY_PROPERTY_CURRENT_AVERAGE" since="21" />
+		<field name="BATTERY_PROPERTY_CURRENT_NOW" since="21" />
+		<field name="BATTERY_PROPERTY_ENERGY_COUNTER" since="21" />
+		<field name="BATTERY_PROPERTY_STATUS" since="26" />
+		<field name="BATTERY_STATUS_CHARGING" />
+		<field name="BATTERY_STATUS_DISCHARGING" />
+		<field name="BATTERY_STATUS_FULL" />
+		<field name="BATTERY_STATUS_NOT_CHARGING" />
+		<field name="BATTERY_STATUS_UNKNOWN" />
+		<field name="EXTRA_BATTERY_LOW" since="28" />
+		<field name="EXTRA_HEALTH" since="5" />
+		<field name="EXTRA_ICON_SMALL" since="5" />
+		<field name="EXTRA_LEVEL" since="5" />
+		<field name="EXTRA_PLUGGED" since="5" />
+		<field name="EXTRA_PRESENT" since="5" />
+		<field name="EXTRA_SCALE" since="5" />
+		<field name="EXTRA_STATUS" since="5" />
+		<field name="EXTRA_TECHNOLOGY" since="5" />
+		<field name="EXTRA_TEMPERATURE" since="5" />
+		<field name="EXTRA_VOLTAGE" since="5" />
+	</class>
+	<class name="android/os/Binder" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/IBinder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" since="29" />
+		<method name="attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V" />
+		<method name="clearCallingIdentity()J" />
+		<method name="clearCallingWorkSource()J" since="29" />
+		<method name="dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" />
+		<method name="flushPendingCommands()V" />
+		<method name="getCallingPid()I" />
+		<method name="getCallingUid()I" />
+		<method name="getCallingUidOrThrow()I" since="29" />
+		<method name="getCallingUserHandle()Landroid/os/UserHandle;" since="17" />
+		<method name="getCallingWorkSourceUid()I" since="29" />
+		<method name="joinThreadPool()V" />
+		<method name="onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z" />
+		<method name="restoreCallingIdentity(J)V" />
+		<method name="restoreCallingWorkSource(J)V" since="29" />
+		<method name="setCallingWorkSourceUid(I)J" since="29" />
+	</class>
+	<class name="android/os/BugreportManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="cancelBugreport()V" />
+		<method name="startConnectivityBugreport(Landroid/os/ParcelFileDescriptor;Ljava/util/concurrent/Executor;Landroid/os/BugreportManager$BugreportCallback;)V" />
+	</class>
+	<class name="android/os/BugreportManager$BugreportCallback" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onEarlyReportFinished()V" />
+		<method name="onError(I)V" />
+		<method name="onFinished()V" />
+		<method name="onProgress(F)V" />
+		<field name="BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS" />
+		<field name="BUGREPORT_ERROR_INVALID_INPUT" />
+		<field name="BUGREPORT_ERROR_RUNTIME" />
+		<field name="BUGREPORT_ERROR_USER_CONSENT_TIMED_OUT" />
+		<field name="BUGREPORT_ERROR_USER_DENIED_CONSENT" />
+	</class>
+	<class name="android/os/Build" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getFingerprintedPartitions()Ljava/util/List;" since="29" />
+		<method name="getRadioVersion()Ljava/lang/String;" since="14" />
+		<method name="getSerial()Ljava/lang/String;" since="26" />
+		<field name="BOARD" />
+		<field name="BOOTLOADER" since="8" />
+		<field name="BRAND" />
+		<field name="CPU_ABI" since="4" deprecated="21" />
+		<field name="CPU_ABI2" since="8" deprecated="21" />
+		<field name="DEVICE" />
+		<field name="DISPLAY" since="3" />
+		<field name="FINGERPRINT" />
+		<field name="HARDWARE" since="8" />
+		<field name="HOST" />
+		<field name="ID" />
+		<field name="MANUFACTURER" since="4" />
+		<field name="MODEL" />
+		<field name="ODM_SKU" since="31" />
+		<field name="PRODUCT" />
+		<field name="RADIO" since="8" deprecated="15" />
+		<field name="SERIAL" since="9" deprecated="26" />
+		<field name="SKU" since="31" />
+		<field name="SOC_MANUFACTURER" since="31" />
+		<field name="SOC_MODEL" since="31" />
+		<field name="SUPPORTED_32_BIT_ABIS" since="21" />
+		<field name="SUPPORTED_64_BIT_ABIS" since="21" />
+		<field name="SUPPORTED_ABIS" since="21" />
+		<field name="TAGS" />
+		<field name="TIME" />
+		<field name="TYPE" />
+		<field name="UNKNOWN" since="8" />
+		<field name="USER" />
+	</class>
+	<class name="android/os/Build$Partition" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getBuildTimeMillis()J" />
+		<method name="getFingerprint()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/String;" />
+		<field name="PARTITION_NAME_SYSTEM" />
+	</class>
+	<class name="android/os/Build$VERSION" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="BASE_OS" since="23" />
+		<field name="CODENAME" since="4" />
+		<field name="INCREMENTAL" />
+		<field name="MEDIA_PERFORMANCE_CLASS" since="31" />
+		<field name="PREVIEW_SDK_INT" since="23" />
+		<field name="RELEASE" />
+		<field name="RELEASE_OR_CODENAME" since="30" />
+		<field name="SDK" deprecated="15" />
+		<field name="SDK_INT" since="4" />
+		<field name="SECURITY_PATCH" since="23" />
+	</class>
+	<class name="android/os/Build$VERSION_CODES" since="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="BASE" />
+		<field name="BASE_1_1" />
+		<field name="CUPCAKE" />
+		<field name="CUR_DEVELOPMENT" />
+		<field name="DONUT" />
+		<field name="ECLAIR" since="5" />
+		<field name="ECLAIR_0_1" since="6" />
+		<field name="ECLAIR_MR1" since="7" />
+		<field name="FROYO" since="8" />
+		<field name="GINGERBREAD" since="9" />
+		<field name="GINGERBREAD_MR1" since="10" />
+		<field name="HONEYCOMB" since="11" />
+		<field name="HONEYCOMB_MR1" since="12" />
+		<field name="HONEYCOMB_MR2" since="13" />
+		<field name="ICE_CREAM_SANDWICH" since="14" />
+		<field name="ICE_CREAM_SANDWICH_MR1" since="15" />
+		<field name="JELLY_BEAN" since="16" />
+		<field name="JELLY_BEAN_MR1" since="17" />
+		<field name="JELLY_BEAN_MR2" since="18" />
+		<field name="KITKAT" since="19" />
+		<field name="KITKAT_WATCH" since="20" />
+		<field name="LOLLIPOP" since="21" />
+		<field name="LOLLIPOP_MR1" since="22" />
+		<field name="M" since="23" />
+		<field name="N" since="24" />
+		<field name="N_MR1" since="25" />
+		<field name="O" since="26" />
+		<field name="O_MR1" since="27" />
+		<field name="P" since="28" />
+		<field name="Q" since="29" />
+		<field name="R" since="30" />
+		<field name="S" since="31" />
+		<field name="S_V2" since="33" />
+	</class>
+	<class name="android/os/Bundle" since="1">
+		<extends name="android/os/BaseBundle" since="21" />
+		<extends name="java/lang/Object" removed="21" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/os/Bundle;)V" />
+		<method name="&lt;init&gt;(Landroid/os/PersistableBundle;)V" since="21" />
+		<method name="&lt;init&gt;(Ljava/lang/ClassLoader;)V" />
+		<method name="clear()V" />
+		<method name="containsKey(Ljava/lang/String;)Z" removed="21" />
+		<method name="deepCopy()Landroid/os/Bundle;" since="26" />
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;" removed="21" />
+		<method name="getBinder(Ljava/lang/String;)Landroid/os/IBinder;" since="18" />
+		<method name="getBoolean(Ljava/lang/String;)Z" removed="22" />
+		<method name="getBoolean(Ljava/lang/String;Z)Z" removed="22" />
+		<method name="getBooleanArray(Ljava/lang/String;)[Z" removed="22" />
+		<method name="getBundle(Ljava/lang/String;)Landroid/os/Bundle;" />
+		<method name="getByte(Ljava/lang/String;)B" />
+		<method name="getByte(Ljava/lang/String;B)Ljava/lang/Byte;" />
+		<method name="getByteArray(Ljava/lang/String;)[B" />
+		<method name="getChar(Ljava/lang/String;)C" />
+		<method name="getChar(Ljava/lang/String;C)C" />
+		<method name="getCharArray(Ljava/lang/String;)[C" />
+		<method name="getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;" />
+		<method name="getCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" since="12" />
+		<method name="getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence;" since="8" />
+		<method name="getCharSequenceArrayList(Ljava/lang/String;)Ljava/util/ArrayList;" since="8" />
+		<method name="getClassLoader()Ljava/lang/ClassLoader;" since="11" />
+		<method name="getDouble(Ljava/lang/String;)D" removed="21" />
+		<method name="getDouble(Ljava/lang/String;D)D" removed="21" />
+		<method name="getDoubleArray(Ljava/lang/String;)[D" removed="21" />
+		<method name="getFloat(Ljava/lang/String;)F" />
+		<method name="getFloat(Ljava/lang/String;F)F" />
+		<method name="getFloatArray(Ljava/lang/String;)[F" />
+		<method name="getInt(Ljava/lang/String;)I" removed="21" />
+		<method name="getInt(Ljava/lang/String;I)I" removed="21" />
+		<method name="getIntArray(Ljava/lang/String;)[I" removed="21" />
+		<method name="getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList;" />
+		<method name="getLong(Ljava/lang/String;)J" removed="21" />
+		<method name="getLong(Ljava/lang/String;J)J" removed="21" />
+		<method name="getLongArray(Ljava/lang/String;)[J" removed="21" />
+		<method name="getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;" />
+		<method name="getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable;" />
+		<method name="getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList;" />
+		<method name="getSerializable(Ljava/lang/String;)Ljava/io/Serializable;" />
+		<method name="getShort(Ljava/lang/String;)S" />
+		<method name="getShort(Ljava/lang/String;S)S" />
+		<method name="getShortArray(Ljava/lang/String;)[S" />
+		<method name="getSize(Ljava/lang/String;)Landroid/util/Size;" since="21" />
+		<method name="getSizeF(Ljava/lang/String;)Landroid/util/SizeF;" since="21" />
+		<method name="getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray;" />
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;" removed="21" />
+		<method name="getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="12" removed="21" />
+		<method name="getStringArray(Ljava/lang/String;)[Ljava/lang/String;" removed="21" />
+		<method name="getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;" />
+		<method name="hasFileDescriptors()Z" />
+		<method name="isEmpty()Z" removed="21" />
+		<method name="keySet()Ljava/util/Set;" removed="21" />
+		<method name="putAll(Landroid/os/Bundle;)V" />
+		<method name="putBinder(Ljava/lang/String;Landroid/os/IBinder;)V" since="18" />
+		<method name="putBoolean(Ljava/lang/String;Z)V" removed="22" />
+		<method name="putBooleanArray(Ljava/lang/String;[Z)V" removed="22" />
+		<method name="putBundle(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="putByte(Ljava/lang/String;B)V" />
+		<method name="putByteArray(Ljava/lang/String;[B)V" />
+		<method name="putChar(Ljava/lang/String;C)V" />
+		<method name="putCharArray(Ljava/lang/String;[C)V" />
+		<method name="putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V" />
+		<method name="putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V" since="8" />
+		<method name="putCharSequenceArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V" since="8" />
+		<method name="putDouble(Ljava/lang/String;D)V" removed="21" />
+		<method name="putDoubleArray(Ljava/lang/String;[D)V" removed="21" />
+		<method name="putFloat(Ljava/lang/String;F)V" />
+		<method name="putFloatArray(Ljava/lang/String;[F)V" />
+		<method name="putInt(Ljava/lang/String;I)V" removed="21" />
+		<method name="putIntArray(Ljava/lang/String;[I)V" removed="21" />
+		<method name="putIntegerArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V" />
+		<method name="putLong(Ljava/lang/String;J)V" removed="21" />
+		<method name="putLongArray(Ljava/lang/String;[J)V" removed="21" />
+		<method name="putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V" />
+		<method name="putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V" />
+		<method name="putParcelableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V" />
+		<method name="putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V" />
+		<method name="putShort(Ljava/lang/String;S)V" />
+		<method name="putShortArray(Ljava/lang/String;[S)V" />
+		<method name="putSize(Ljava/lang/String;Landroid/util/Size;)V" since="21" />
+		<method name="putSizeF(Ljava/lang/String;Landroid/util/SizeF;)V" since="21" />
+		<method name="putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V" />
+		<method name="putString(Ljava/lang/String;Ljava/lang/String;)V" removed="21" />
+		<method name="putStringArray(Ljava/lang/String;[Ljava/lang/String;)V" removed="21" />
+		<method name="putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<method name="remove(Ljava/lang/String;)V" />
+		<method name="setClassLoader(Ljava/lang/ClassLoader;)V" />
+		<method name="size()I" removed="21" />
+		<field name="CREATOR" />
+		<field name="EMPTY" />
+	</class>
+	<class name="android/os/CancellationSignal" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="cancel()V" />
+		<method name="isCanceled()Z" />
+		<method name="setOnCancelListener(Landroid/os/CancellationSignal$OnCancelListener;)V" />
+		<method name="throwIfCanceled()V" />
+	</class>
+	<class name="android/os/CancellationSignal$OnCancelListener" since="16">
+		<extends name="java/lang/Object" />
+		<method name="onCancel()V" />
+	</class>
+	<class name="android/os/CombinedVibration" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="createParallel(Landroid/os/VibrationEffect;)Landroid/os/CombinedVibration;" />
+		<method name="startParallel()Landroid/os/CombinedVibration$ParallelCombination;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/CombinedVibration$ParallelCombination" since="31">
+		<extends name="java/lang/Object" />
+		<method name="addVibrator(ILandroid/os/VibrationEffect;)Landroid/os/CombinedVibration$ParallelCombination;" />
+		<method name="combine()Landroid/os/CombinedVibration;" />
+	</class>
+	<class name="android/os/ConditionVariable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Z)V" />
+		<method name="block()V" />
+		<method name="block(J)Z" />
+		<method name="close()V" />
+		<method name="open()V" />
+	</class>
+	<class name="android/os/CountDownTimer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(JJ)V" />
+		<method name="cancel()V" />
+		<method name="onFinish()V" />
+		<method name="onTick(J)V" />
+		<method name="start()Landroid/os/CountDownTimer;" />
+	</class>
+	<class name="android/os/CpuUsageInfo" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getActive()J" />
+		<method name="getTotal()J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/DeadObjectException" since="1">
+		<extends name="android/os/RemoteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" since="23" />
+	</class>
+	<class name="android/os/DeadSystemException" since="24">
+		<extends name="android/os/DeadObjectException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/os/Debug" since="1">
+		<extends name="java/lang/Object" />
+		<method name="attachJvmtiAgent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V" since="28" />
+		<method name="changeDebugPort(I)V" deprecated="15" />
+		<method name="dumpHprofData(Ljava/lang/String;)V" since="3" />
+		<method name="dumpService(Ljava/lang/String;Ljava/io/FileDescriptor;[Ljava/lang/String;)Z" since="8" />
+		<method name="enableEmulatorTraceOutput()V" />
+		<method name="getBinderDeathObjectCount()I" />
+		<method name="getBinderLocalObjectCount()I" />
+		<method name="getBinderProxyObjectCount()I" />
+		<method name="getBinderReceivedTransactions()I" />
+		<method name="getBinderSentTransactions()I" />
+		<method name="getGlobalAllocCount()I" deprecated="23" />
+		<method name="getGlobalAllocSize()I" deprecated="23" />
+		<method name="getGlobalClassInitCount()I" since="8" deprecated="23" />
+		<method name="getGlobalClassInitTime()I" since="8" deprecated="23" />
+		<method name="getGlobalExternalAllocCount()I" deprecated="15" />
+		<method name="getGlobalExternalAllocSize()I" deprecated="15" />
+		<method name="getGlobalExternalFreedCount()I" deprecated="15" />
+		<method name="getGlobalExternalFreedSize()I" deprecated="15" />
+		<method name="getGlobalFreedCount()I" deprecated="23" />
+		<method name="getGlobalFreedSize()I" deprecated="23" />
+		<method name="getGlobalGcInvocationCount()I" deprecated="23" />
+		<method name="getLoadedClassCount()I" />
+		<method name="getMemoryInfo(Landroid/os/Debug$MemoryInfo;)V" />
+		<method name="getNativeHeapAllocatedSize()J" />
+		<method name="getNativeHeapFreeSize()J" />
+		<method name="getNativeHeapSize()J" />
+		<method name="getPss()J" since="14" />
+		<method name="getRuntimeStat(Ljava/lang/String;)Ljava/lang/String;" since="23" />
+		<method name="getRuntimeStats()Ljava/util/Map;" since="23" />
+		<method name="getThreadAllocCount()I" deprecated="23" />
+		<method name="getThreadAllocSize()I" deprecated="23" />
+		<method name="getThreadExternalAllocCount()I" deprecated="15" />
+		<method name="getThreadExternalAllocSize()I" deprecated="15" />
+		<method name="getThreadGcInvocationCount()I" deprecated="23" />
+		<method name="isDebuggerConnected()Z" />
+		<method name="printLoadedClasses(I)V" />
+		<method name="resetAllCounts()V" deprecated="23" />
+		<method name="resetGlobalAllocCount()V" deprecated="23" />
+		<method name="resetGlobalAllocSize()V" deprecated="23" />
+		<method name="resetGlobalClassInitCount()V" since="8" deprecated="23" />
+		<method name="resetGlobalClassInitTime()V" since="8" deprecated="23" />
+		<method name="resetGlobalExternalAllocCount()V" deprecated="15" />
+		<method name="resetGlobalExternalAllocSize()V" deprecated="15" />
+		<method name="resetGlobalExternalFreedCount()V" deprecated="15" />
+		<method name="resetGlobalExternalFreedSize()V" deprecated="15" />
+		<method name="resetGlobalFreedCount()V" deprecated="23" />
+		<method name="resetGlobalFreedSize()V" deprecated="23" />
+		<method name="resetGlobalGcInvocationCount()V" deprecated="23" />
+		<method name="resetThreadAllocCount()V" deprecated="23" />
+		<method name="resetThreadAllocSize()V" deprecated="23" />
+		<method name="resetThreadExternalAllocCount()V" deprecated="15" />
+		<method name="resetThreadExternalAllocSize()V" deprecated="15" />
+		<method name="resetThreadGcInvocationCount()V" deprecated="23" />
+		<method name="setAllocationLimit(I)I" deprecated="15" />
+		<method name="setGlobalAllocationLimit(I)I" deprecated="15" />
+		<method name="startAllocCounting()V" deprecated="18" />
+		<method name="startMethodTracing()V" />
+		<method name="startMethodTracing(Ljava/lang/String;)V" />
+		<method name="startMethodTracing(Ljava/lang/String;I)V" />
+		<method name="startMethodTracing(Ljava/lang/String;II)V" />
+		<method name="startMethodTracingSampling(Ljava/lang/String;II)V" since="21" />
+		<method name="startNativeTracing()V" />
+		<method name="stopAllocCounting()V" deprecated="18" />
+		<method name="stopMethodTracing()V" />
+		<method name="stopNativeTracing()V" />
+		<method name="threadCpuTimeNanos()J" />
+		<method name="waitForDebugger()V" />
+		<method name="waitingForDebugger()Z" />
+		<field name="SHOW_CLASSLOADER" />
+		<field name="SHOW_FULL_DETAIL" />
+		<field name="SHOW_INITIALIZED" />
+		<field name="TRACE_COUNT_ALLOCS" deprecated="23" />
+	</class>
+	<class name="android/os/Debug$InstructionCount" since="1" deprecated="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="collect()Z" deprecated="29" />
+		<method name="globalMethodInvocations()I" deprecated="29" />
+		<method name="globalTotal()I" deprecated="29" />
+		<method name="resetAndStart()Z" deprecated="29" />
+	</class>
+	<class name="android/os/Debug$MemoryInfo" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="5" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getMemoryStat(Ljava/lang/String;)Ljava/lang/String;" since="23" />
+		<method name="getMemoryStats()Ljava/util/Map;" since="23" />
+		<method name="getOtherLabel(I)Ljava/lang/String;" since="14" removed="19" />
+		<method name="getOtherPrivateDirty(I)I" since="14" removed="19" />
+		<method name="getOtherPss(I)I" since="14" removed="19" />
+		<method name="getOtherSharedDirty(I)I" since="14" removed="19" />
+		<method name="getTotalPrivateClean()I" since="19" />
+		<method name="getTotalPrivateDirty()I" since="5" />
+		<method name="getTotalPss()I" since="5" />
+		<method name="getTotalSharedClean()I" since="19" />
+		<method name="getTotalSharedDirty()I" since="5" />
+		<method name="getTotalSwappablePss()I" since="19" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" since="5" />
+		<field name="CREATOR" since="5" />
+		<field name="dalvikPrivateDirty" />
+		<field name="dalvikPss" />
+		<field name="dalvikSharedDirty" />
+		<field name="nativePrivateDirty" />
+		<field name="nativePss" />
+		<field name="nativeSharedDirty" />
+		<field name="otherPrivateDirty" />
+		<field name="otherPss" />
+		<field name="otherSharedDirty" />
+	</class>
+	<class name="android/os/DropBoxManager" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addData(Ljava/lang/String;[BI)V" />
+		<method name="addFile(Ljava/lang/String;Ljava/io/File;I)V" />
+		<method name="addText(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;" />
+		<method name="isTagEnabled(Ljava/lang/String;)Z" />
+		<field name="ACTION_DROPBOX_ENTRY_ADDED" since="11" />
+		<field name="EXTRA_DROPPED_COUNT" since="29" />
+		<field name="EXTRA_TAG" since="11" />
+		<field name="EXTRA_TIME" since="11" />
+		<field name="IS_EMPTY" />
+		<field name="IS_GZIPPED" />
+		<field name="IS_TEXT" />
+	</class>
+	<class name="android/os/DropBoxManager$Entry" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/io/Closeable" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/String;J)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;JLandroid/os/ParcelFileDescriptor;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;JLjava/io/File;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;JLjava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;J[BI)V" />
+		<method name="close()V" />
+		<method name="getFlags()I" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getTag()Ljava/lang/String;" />
+		<method name="getText(I)Ljava/lang/String;" />
+		<method name="getTimeMillis()J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/Environment" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getDataDirectory()Ljava/io/File;" />
+		<method name="getDownloadCacheDirectory()Ljava/io/File;" />
+		<method name="getExternalStorageDirectory()Ljava/io/File;" deprecated="29" />
+		<method name="getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;" since="8" deprecated="29" />
+		<method name="getExternalStorageState()Ljava/lang/String;" />
+		<method name="getExternalStorageState(Ljava/io/File;)Ljava/lang/String;" since="21" />
+		<method name="getRootDirectory()Ljava/io/File;" />
+		<method name="getStorageDirectory()Ljava/io/File;" since="30" />
+		<method name="getStorageState(Ljava/io/File;)Ljava/lang/String;" since="19" deprecated="21" />
+		<method name="isExternalStorageEmulated()Z" since="11" />
+		<method name="isExternalStorageEmulated(Ljava/io/File;)Z" since="21" />
+		<method name="isExternalStorageLegacy()Z" since="29" />
+		<method name="isExternalStorageLegacy(Ljava/io/File;)Z" since="29" />
+		<method name="isExternalStorageManager()Z" since="30" />
+		<method name="isExternalStorageManager(Ljava/io/File;)Z" since="30" />
+		<method name="isExternalStorageRemovable()Z" since="9" />
+		<method name="isExternalStorageRemovable(Ljava/io/File;)Z" since="21" />
+		<field name="DIRECTORY_ALARMS" since="8" />
+		<field name="DIRECTORY_AUDIOBOOKS" since="29" />
+		<field name="DIRECTORY_DCIM" since="8" />
+		<field name="DIRECTORY_DOCUMENTS" since="19" />
+		<field name="DIRECTORY_DOWNLOADS" since="8" />
+		<field name="DIRECTORY_MOVIES" since="8" />
+		<field name="DIRECTORY_MUSIC" since="8" />
+		<field name="DIRECTORY_NOTIFICATIONS" since="8" />
+		<field name="DIRECTORY_PICTURES" since="8" />
+		<field name="DIRECTORY_PODCASTS" since="8" />
+		<field name="DIRECTORY_RECORDINGS" since="31" />
+		<field name="DIRECTORY_RINGTONES" since="8" />
+		<field name="DIRECTORY_SCREENSHOTS" since="29" />
+		<field name="MEDIA_BAD_REMOVAL" />
+		<field name="MEDIA_CHECKING" since="3" />
+		<field name="MEDIA_EJECTING" since="23" />
+		<field name="MEDIA_MOUNTED" />
+		<field name="MEDIA_MOUNTED_READ_ONLY" />
+		<field name="MEDIA_NOFS" since="3" />
+		<field name="MEDIA_REMOVED" />
+		<field name="MEDIA_SHARED" />
+		<field name="MEDIA_UNKNOWN" since="19" />
+		<field name="MEDIA_UNMOUNTABLE" />
+		<field name="MEDIA_UNMOUNTED" />
+	</class>
+	<class name="android/os/FileObserver" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" since="29" />
+		<method name="&lt;init&gt;(Ljava/io/File;I)V" since="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/util/List;)V" since="29" />
+		<method name="&lt;init&gt;(Ljava/util/List;I)V" since="29" />
+		<method name="onEvent(ILjava/lang/String;)V" />
+		<method name="startWatching()V" />
+		<method name="stopWatching()V" />
+		<field name="ACCESS" />
+		<field name="ALL_EVENTS" />
+		<field name="ATTRIB" />
+		<field name="CLOSE_NOWRITE" />
+		<field name="CLOSE_WRITE" />
+		<field name="CREATE" />
+		<field name="DELETE" />
+		<field name="DELETE_SELF" />
+		<field name="MODIFY" />
+		<field name="MOVED_FROM" />
+		<field name="MOVED_TO" />
+		<field name="MOVE_SELF" />
+		<field name="OPEN" />
+	</class>
+	<class name="android/os/FileUriExposedException" since="24">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/os/FileUtils" since="29">
+		<extends name="java/lang/Object" />
+		<method name="closeQuietly(Ljava/io/FileDescriptor;)V" deprecated="30" />
+		<method name="closeQuietly(Ljava/lang/AutoCloseable;)V" deprecated="30" />
+		<method name="copy(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)J" />
+		<method name="copy(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/os/FileUtils$ProgressListener;)J" />
+		<method name="copy(Ljava/io/InputStream;Ljava/io/OutputStream;)J" />
+		<method name="copy(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/os/FileUtils$ProgressListener;)J" />
+	</class>
+	<class name="android/os/FileUtils$ProgressListener" since="29">
+		<extends name="java/lang/Object" />
+		<method name="onProgress(J)V" />
+	</class>
+	<class name="android/os/Handler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="&lt;init&gt;(Landroid/os/Handler$Callback;)V" since="3" deprecated="30" />
+		<method name="&lt;init&gt;(Landroid/os/Looper;)V" />
+		<method name="&lt;init&gt;(Landroid/os/Looper;Landroid/os/Handler$Callback;)V" since="3" />
+		<method name="createAsync(Landroid/os/Looper;)Landroid/os/Handler;" since="28" />
+		<method name="createAsync(Landroid/os/Looper;Landroid/os/Handler$Callback;)Landroid/os/Handler;" since="28" />
+		<method name="dispatchMessage(Landroid/os/Message;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getLooper()Landroid/os/Looper;" />
+		<method name="getMessageName(Landroid/os/Message;)Ljava/lang/String;" since="14" />
+		<method name="handleMessage(Landroid/os/Message;)V" />
+		<method name="hasCallbacks(Ljava/lang/Runnable;)Z" since="29" />
+		<method name="hasMessages(I)Z" />
+		<method name="hasMessages(ILjava/lang/Object;)Z" />
+		<method name="obtainMessage()Landroid/os/Message;" />
+		<method name="obtainMessage(I)Landroid/os/Message;" />
+		<method name="obtainMessage(III)Landroid/os/Message;" />
+		<method name="obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;" />
+		<method name="obtainMessage(ILjava/lang/Object;)Landroid/os/Message;" />
+		<method name="post(Ljava/lang/Runnable;)Z" />
+		<method name="postAtFrontOfQueue(Ljava/lang/Runnable;)Z" />
+		<method name="postAtTime(Ljava/lang/Runnable;J)Z" />
+		<method name="postAtTime(Ljava/lang/Runnable;Ljava/lang/Object;J)Z" />
+		<method name="postDelayed(Ljava/lang/Runnable;J)Z" />
+		<method name="postDelayed(Ljava/lang/Runnable;Ljava/lang/Object;J)Z" since="28" />
+		<method name="removeCallbacks(Ljava/lang/Runnable;)V" />
+		<method name="removeCallbacks(Ljava/lang/Runnable;Ljava/lang/Object;)V" />
+		<method name="removeCallbacksAndMessages(Ljava/lang/Object;)V" />
+		<method name="removeMessages(I)V" />
+		<method name="removeMessages(ILjava/lang/Object;)V" />
+		<method name="sendEmptyMessage(I)Z" />
+		<method name="sendEmptyMessageAtTime(IJ)Z" />
+		<method name="sendEmptyMessageDelayed(IJ)Z" />
+		<method name="sendMessage(Landroid/os/Message;)Z" />
+		<method name="sendMessageAtFrontOfQueue(Landroid/os/Message;)Z" />
+		<method name="sendMessageAtTime(Landroid/os/Message;J)Z" />
+		<method name="sendMessageDelayed(Landroid/os/Message;J)Z" />
+	</class>
+	<class name="android/os/Handler$Callback" since="3">
+		<extends name="java/lang/Object" />
+		<method name="handleMessage(Landroid/os/Message;)Z" />
+	</class>
+	<class name="android/os/HandlerThread" since="1">
+		<extends name="java/lang/Thread" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="getLooper()Landroid/os/Looper;" />
+		<method name="getThreadId()I" />
+		<method name="onLooperPrepared()V" />
+		<method name="quit()Z" since="5" />
+		<method name="quitSafely()Z" since="18" />
+	</class>
+	<class name="android/os/HardwarePropertiesManager" since="24">
+		<extends name="java/lang/Object" />
+		<method name="getCpuUsages()[Landroid/os/CpuUsageInfo;" />
+		<method name="getDeviceTemperatures(II)[F" />
+		<method name="getFanSpeeds()[F" />
+		<field name="DEVICE_TEMPERATURE_BATTERY" />
+		<field name="DEVICE_TEMPERATURE_CPU" />
+		<field name="DEVICE_TEMPERATURE_GPU" />
+		<field name="DEVICE_TEMPERATURE_SKIN" />
+		<field name="TEMPERATURE_CURRENT" />
+		<field name="TEMPERATURE_SHUTDOWN" />
+		<field name="TEMPERATURE_THROTTLING" />
+		<field name="TEMPERATURE_THROTTLING_BELOW_VR_MIN" />
+		<field name="UNDEFINED_TEMPERATURE" />
+	</class>
+	<class name="android/os/IBinder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="dump(Ljava/io/FileDescriptor;[Ljava/lang/String;)V" since="3" />
+		<method name="dumpAsync(Ljava/io/FileDescriptor;[Ljava/lang/String;)V" since="13" />
+		<method name="getInterfaceDescriptor()Ljava/lang/String;" />
+		<method name="getSuggestedMaxIpcSizeBytes()I" since="30" />
+		<method name="isBinderAlive()Z" />
+		<method name="linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V" />
+		<method name="pingBinder()Z" />
+		<method name="queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;" />
+		<method name="transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z" />
+		<method name="unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z" />
+		<field name="DUMP_TRANSACTION" />
+		<field name="FIRST_CALL_TRANSACTION" />
+		<field name="FLAG_ONEWAY" />
+		<field name="INTERFACE_TRANSACTION" />
+		<field name="LAST_CALL_TRANSACTION" />
+		<field name="LIKE_TRANSACTION" since="15" />
+		<field name="PING_TRANSACTION" />
+		<field name="TWEET_TRANSACTION" since="13" />
+	</class>
+	<class name="android/os/IBinder$DeathRecipient" since="1">
+		<extends name="java/lang/Object" />
+		<method name="binderDied()V" />
+	</class>
+	<class name="android/os/IInterface" since="1">
+		<extends name="java/lang/Object" />
+		<method name="asBinder()Landroid/os/IBinder;" />
+	</class>
+	<class name="android/os/LimitExceededException" since="30">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/os/LocaleList" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;([Ljava/util/Locale;)V" />
+		<method name="forLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList;" />
+		<method name="get(I)Ljava/util/Locale;" />
+		<method name="getAdjustedDefault()Landroid/os/LocaleList;" />
+		<method name="getDefault()Landroid/os/LocaleList;" />
+		<method name="getEmptyLocaleList()Landroid/os/LocaleList;" />
+		<method name="getFirstMatch([Ljava/lang/String;)Ljava/util/Locale;" />
+		<method name="indexOf(Ljava/util/Locale;)I" />
+		<method name="isEmpty()Z" />
+		<method name="isPseudoLocale(Ljava/lang/Object;)Z" since="29" />
+		<method name="setDefault(Landroid/os/LocaleList;)V" />
+		<method name="size()I" />
+		<method name="toLanguageTags()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/Looper" since="1">
+		<extends name="java/lang/Object" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getMainLooper()Landroid/os/Looper;" />
+		<method name="getQueue()Landroid/os/MessageQueue;" since="23" />
+		<method name="getThread()Ljava/lang/Thread;" since="3" />
+		<method name="isCurrentThread()Z" since="23" />
+		<method name="loop()V" />
+		<method name="myLooper()Landroid/os/Looper;" />
+		<method name="myQueue()Landroid/os/MessageQueue;" />
+		<method name="prepare()V" />
+		<method name="prepareMainLooper()V" deprecated="30" />
+		<method name="quit()V" />
+		<method name="quitSafely()V" since="18" />
+		<method name="setMessageLogging(Landroid/util/Printer;)V" />
+	</class>
+	<class name="android/os/MemoryFile" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="allowPurging(Z)Z" deprecated="27" />
+		<method name="close()V" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getOutputStream()Ljava/io/OutputStream;" />
+		<method name="isPurgingAllowed()Z" deprecated="27" />
+		<method name="length()I" />
+		<method name="readBytes([BIII)I" />
+		<method name="writeBytes([BIII)V" />
+	</class>
+	<class name="android/os/Message" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="copyFrom(Landroid/os/Message;)V" />
+		<method name="getCallback()Ljava/lang/Runnable;" />
+		<method name="getData()Landroid/os/Bundle;" />
+		<method name="getTarget()Landroid/os/Handler;" />
+		<method name="getWhen()J" />
+		<method name="isAsynchronous()Z" since="22" />
+		<method name="obtain()Landroid/os/Message;" />
+		<method name="obtain(Landroid/os/Handler;)Landroid/os/Message;" />
+		<method name="obtain(Landroid/os/Handler;I)Landroid/os/Message;" />
+		<method name="obtain(Landroid/os/Handler;III)Landroid/os/Message;" />
+		<method name="obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;" />
+		<method name="obtain(Landroid/os/Handler;ILjava/lang/Object;)Landroid/os/Message;" />
+		<method name="obtain(Landroid/os/Handler;Ljava/lang/Runnable;)Landroid/os/Message;" />
+		<method name="obtain(Landroid/os/Message;)Landroid/os/Message;" />
+		<method name="peekData()Landroid/os/Bundle;" />
+		<method name="recycle()V" />
+		<method name="sendToTarget()V" />
+		<method name="setAsynchronous(Z)V" since="22" />
+		<method name="setData(Landroid/os/Bundle;)V" />
+		<method name="setTarget(Landroid/os/Handler;)V" />
+		<field name="CREATOR" />
+		<field name="arg1" />
+		<field name="arg2" />
+		<field name="obj" />
+		<field name="replyTo" />
+		<field name="sendingUid" since="21" />
+		<field name="what" />
+	</class>
+	<class name="android/os/MessageQueue" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addIdleHandler(Landroid/os/MessageQueue$IdleHandler;)V" />
+		<method name="addOnFileDescriptorEventListener(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V" since="23" />
+		<method name="isIdle()Z" since="23" />
+		<method name="removeIdleHandler(Landroid/os/MessageQueue$IdleHandler;)V" />
+		<method name="removeOnFileDescriptorEventListener(Ljava/io/FileDescriptor;)V" since="23" />
+	</class>
+	<class name="android/os/MessageQueue$IdleHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="queueIdle()Z" />
+	</class>
+	<class name="android/os/MessageQueue$OnFileDescriptorEventListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onFileDescriptorEvents(Ljava/io/FileDescriptor;I)I" />
+		<field name="EVENT_ERROR" />
+		<field name="EVENT_INPUT" />
+		<field name="EVENT_OUTPUT" />
+	</class>
+	<class name="android/os/Messenger" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Handler;)V" />
+		<method name="&lt;init&gt;(Landroid/os/IBinder;)V" />
+		<method name="getBinder()Landroid/os/IBinder;" />
+		<method name="readMessengerOrNullFromParcel(Landroid/os/Parcel;)Landroid/os/Messenger;" />
+		<method name="send(Landroid/os/Message;)V" />
+		<method name="writeMessengerOrNullToParcel(Landroid/os/Messenger;Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/NetworkOnMainThreadException" since="11">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/os/OperationCanceledException" since="16">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/os/OutcomeReceiver" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onError(Ljava/lang/Throwable;)V" />
+		<method name="onResult(Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/os/Parcel" since="1">
+		<extends name="java/lang/Object" />
+		<method name="appendFrom(Landroid/os/Parcel;II)V" />
+		<method name="createBinderArray()[Landroid/os/IBinder;" />
+		<method name="createBinderArrayList()Ljava/util/ArrayList;" />
+		<method name="createBooleanArray()[Z" />
+		<method name="createByteArray()[B" />
+		<method name="createCharArray()[C" />
+		<method name="createDoubleArray()[D" />
+		<method name="createFloatArray()[F" />
+		<method name="createIntArray()[I" />
+		<method name="createLongArray()[J" />
+		<method name="createStringArray()[Ljava/lang/String;" />
+		<method name="createStringArrayList()Ljava/util/ArrayList;" />
+		<method name="createTypedArray(Landroid/os/Parcelable$Creator;)[Ljava/lang/Object;" />
+		<method name="createTypedArrayList(Landroid/os/Parcelable$Creator;)Ljava/util/ArrayList;" />
+		<method name="createTypedArrayMap(Landroid/os/Parcelable$Creator;)Landroid/util/ArrayMap;" since="29" />
+		<method name="createTypedSparseArray(Landroid/os/Parcelable$Creator;)Landroid/util/SparseArray;" since="29" />
+		<method name="dataAvail()I" />
+		<method name="dataCapacity()I" />
+		<method name="dataPosition()I" />
+		<method name="dataSize()I" />
+		<method name="enforceInterface(Ljava/lang/String;)V" />
+		<method name="hasFileDescriptors()Z" />
+		<method name="marshall()[B" />
+		<method name="obtain()Landroid/os/Parcel;" />
+		<method name="obtain(I)Landroid/os/Parcel;" removed="21" />
+		<method name="readArray(Ljava/lang/ClassLoader;)[Ljava/lang/Object;" />
+		<method name="readArrayList(Ljava/lang/ClassLoader;)Ljava/util/ArrayList;" />
+		<method name="readBinderArray([Landroid/os/IBinder;)V" />
+		<method name="readBinderList(Ljava/util/List;)V" />
+		<method name="readBoolean()Z" since="29" />
+		<method name="readBooleanArray([Z)V" />
+		<method name="readBundle()Landroid/os/Bundle;" />
+		<method name="readBundle(Ljava/lang/ClassLoader;)Landroid/os/Bundle;" />
+		<method name="readByte()B" />
+		<method name="readByteArray([B)V" />
+		<method name="readCharArray([C)V" />
+		<method name="readDouble()D" />
+		<method name="readDoubleArray([D)V" />
+		<method name="readException()V" />
+		<method name="readException(ILjava/lang/String;)V" />
+		<method name="readFileDescriptor()Landroid/os/ParcelFileDescriptor;" />
+		<method name="readFloat()F" />
+		<method name="readFloatArray([F)V" />
+		<method name="readHashMap(Ljava/lang/ClassLoader;)Ljava/util/HashMap;" />
+		<method name="readInt()I" />
+		<method name="readIntArray([I)V" />
+		<method name="readList(Ljava/util/List;Ljava/lang/ClassLoader;)V" />
+		<method name="readLong()J" />
+		<method name="readLongArray([J)V" />
+		<method name="readMap(Ljava/util/Map;Ljava/lang/ClassLoader;)V" />
+		<method name="readParcelable(Ljava/lang/ClassLoader;)Landroid/os/Parcelable;" />
+		<method name="readParcelableArray(Ljava/lang/ClassLoader;)[Landroid/os/Parcelable;" />
+		<method name="readParcelableCreator(Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator;" since="30" />
+		<method name="readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List;" since="29" />
+		<method name="readPersistableBundle()Landroid/os/PersistableBundle;" since="21" />
+		<method name="readPersistableBundle(Ljava/lang/ClassLoader;)Landroid/os/PersistableBundle;" since="21" />
+		<method name="readSerializable()Ljava/io/Serializable;" />
+		<method name="readSize()Landroid/util/Size;" since="21" />
+		<method name="readSizeF()Landroid/util/SizeF;" since="21" />
+		<method name="readSparseArray(Ljava/lang/ClassLoader;)Landroid/util/SparseArray;" />
+		<method name="readSparseBooleanArray()Landroid/util/SparseBooleanArray;" />
+		<method name="readString()Ljava/lang/String;" />
+		<method name="readStringArray([Ljava/lang/String;)V" />
+		<method name="readStringList(Ljava/util/List;)V" />
+		<method name="readStrongBinder()Landroid/os/IBinder;" />
+		<method name="readTypedArray([Ljava/lang/Object;Landroid/os/Parcelable$Creator;)V" />
+		<method name="readTypedList(Ljava/util/List;Landroid/os/Parcelable$Creator;)V" />
+		<method name="readTypedObject(Landroid/os/Parcelable$Creator;)Ljava/lang/Object;" since="23" />
+		<method name="readValue(Ljava/lang/ClassLoader;)Ljava/lang/Object;" />
+		<method name="recycle()V" />
+		<method name="setDataCapacity(I)V" />
+		<method name="setDataPosition(I)V" />
+		<method name="setDataSize(I)V" />
+		<method name="unmarshall([BII)V" />
+		<method name="writeArray([Ljava/lang/Object;)V" />
+		<method name="writeBinderArray([Landroid/os/IBinder;)V" />
+		<method name="writeBinderList(Ljava/util/List;)V" />
+		<method name="writeBoolean(Z)V" since="29" />
+		<method name="writeBooleanArray([Z)V" />
+		<method name="writeBundle(Landroid/os/Bundle;)V" />
+		<method name="writeByte(B)V" />
+		<method name="writeByteArray([B)V" />
+		<method name="writeByteArray([BII)V" />
+		<method name="writeCharArray([C)V" />
+		<method name="writeDouble(D)V" />
+		<method name="writeDoubleArray([D)V" />
+		<method name="writeException(Ljava/lang/Exception;)V" />
+		<method name="writeFileDescriptor(Ljava/io/FileDescriptor;)V" />
+		<method name="writeFloat(F)V" />
+		<method name="writeFloatArray([F)V" />
+		<method name="writeInt(I)V" />
+		<method name="writeIntArray([I)V" />
+		<method name="writeInterfaceToken(Ljava/lang/String;)V" />
+		<method name="writeList(Ljava/util/List;)V" />
+		<method name="writeLong(J)V" />
+		<method name="writeLongArray([J)V" />
+		<method name="writeMap(Ljava/util/Map;)V" />
+		<method name="writeNoException()V" />
+		<method name="writeParcelable(Landroid/os/Parcelable;I)V" />
+		<method name="writeParcelableArray([Landroid/os/Parcelable;I)V" />
+		<method name="writeParcelableCreator(Landroid/os/Parcelable;)V" since="30" />
+		<method name="writeParcelableList(Ljava/util/List;I)V" since="29" />
+		<method name="writePersistableBundle(Landroid/os/PersistableBundle;)V" since="21" />
+		<method name="writeSerializable(Ljava/io/Serializable;)V" />
+		<method name="writeSize(Landroid/util/Size;)V" since="21" />
+		<method name="writeSizeF(Landroid/util/SizeF;)V" since="21" />
+		<method name="writeSparseArray(Landroid/util/SparseArray;)V" />
+		<method name="writeSparseBooleanArray(Landroid/util/SparseBooleanArray;)V" />
+		<method name="writeString(Ljava/lang/String;)V" />
+		<method name="writeStringArray([Ljava/lang/String;)V" />
+		<method name="writeStringList(Ljava/util/List;)V" />
+		<method name="writeStrongBinder(Landroid/os/IBinder;)V" />
+		<method name="writeStrongInterface(Landroid/os/IInterface;)V" />
+		<method name="writeTypedArray([Landroid/os/Parcelable;I)V" />
+		<method name="writeTypedArrayMap(Landroid/util/ArrayMap;I)V" since="29" />
+		<method name="writeTypedList(Ljava/util/List;)V" />
+		<method name="writeTypedObject(Landroid/os/Parcelable;I)V" since="23" />
+		<method name="writeTypedSparseArray(Landroid/util/SparseArray;I)V" since="29" />
+		<method name="writeValue(Ljava/lang/Object;)V" />
+		<field name="STRING_CREATOR" />
+	</class>
+	<class name="android/os/ParcelFileDescriptor" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/io/Closeable" since="16" />
+		<method name="&lt;init&gt;(Landroid/os/ParcelFileDescriptor;)V" />
+		<method name="adoptFd(I)Landroid/os/ParcelFileDescriptor;" since="13" />
+		<method name="canDetectErrors()Z" since="19" />
+		<method name="checkError()V" since="19" />
+		<method name="close()V" />
+		<method name="closeWithError(Ljava/lang/String;)V" since="19" />
+		<method name="createPipe()[Landroid/os/ParcelFileDescriptor;" since="9" />
+		<method name="createReliablePipe()[Landroid/os/ParcelFileDescriptor;" since="19" />
+		<method name="createReliableSocketPair()[Landroid/os/ParcelFileDescriptor;" since="19" />
+		<method name="createSocketPair()[Landroid/os/ParcelFileDescriptor;" since="19" />
+		<method name="detachFd()I" since="12" />
+		<method name="dup()Landroid/os/ParcelFileDescriptor;" since="14" />
+		<method name="dup(Ljava/io/FileDescriptor;)Landroid/os/ParcelFileDescriptor;" since="13" />
+		<method name="fromDatagramSocket(Ljava/net/DatagramSocket;)Landroid/os/ParcelFileDescriptor;" since="14" />
+		<method name="fromFd(I)Landroid/os/ParcelFileDescriptor;" since="13" />
+		<method name="fromSocket(Ljava/net/Socket;)Landroid/os/ParcelFileDescriptor;" />
+		<method name="getFd()I" since="12" />
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;" />
+		<method name="getStatSize()J" since="3" />
+		<method name="open(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;" />
+		<method name="open(Ljava/io/File;ILandroid/os/Handler;Landroid/os/ParcelFileDescriptor$OnCloseListener;)Landroid/os/ParcelFileDescriptor;" since="19" />
+		<method name="parseMode(Ljava/lang/String;)I" since="19" />
+		<method name="wrap(Landroid/os/ParcelFileDescriptor;Landroid/os/Handler;Landroid/os/ParcelFileDescriptor$OnCloseListener;)Landroid/os/ParcelFileDescriptor;" since="30" />
+		<field name="CREATOR" />
+		<field name="MODE_APPEND" since="3" />
+		<field name="MODE_CREATE" />
+		<field name="MODE_READ_ONLY" />
+		<field name="MODE_READ_WRITE" />
+		<field name="MODE_TRUNCATE" />
+		<field name="MODE_WORLD_READABLE" deprecated="19" />
+		<field name="MODE_WORLD_WRITEABLE" deprecated="19" />
+		<field name="MODE_WRITE_ONLY" />
+	</class>
+	<class name="android/os/ParcelFileDescriptor$AutoCloseInputStream" since="1">
+		<extends name="java/io/FileInputStream" />
+		<method name="&lt;init&gt;(Landroid/os/ParcelFileDescriptor;)V" />
+	</class>
+	<class name="android/os/ParcelFileDescriptor$AutoCloseOutputStream" since="1">
+		<extends name="java/io/FileOutputStream" />
+		<method name="&lt;init&gt;(Landroid/os/ParcelFileDescriptor;)V" />
+	</class>
+	<class name="android/os/ParcelFileDescriptor$FileDescriptorDetachedException" since="19">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/os/ParcelFileDescriptor$OnCloseListener" since="19">
+		<extends name="java/lang/Object" />
+		<method name="onClose(Ljava/io/IOException;)V" />
+	</class>
+	<class name="android/os/ParcelFormatException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/os/ParcelUuid" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/util/UUID;)V" />
+		<method name="fromString(Ljava/lang/String;)Landroid/os/ParcelUuid;" />
+		<method name="getUuid()Ljava/util/UUID;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/Parcelable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="describeContents()I" />
+		<method name="writeToParcel(Landroid/os/Parcel;I)V" />
+		<field name="CONTENTS_FILE_DESCRIPTOR" />
+		<field name="PARCELABLE_WRITE_RETURN_VALUE" />
+	</class>
+	<class name="android/os/Parcelable$ClassLoaderCreator" since="13">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable$Creator" />
+		<method name="createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object;" />
+	</class>
+	<class name="android/os/Parcelable$Creator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;" />
+		<method name="newArray(I)[Ljava/lang/Object;" />
+	</class>
+	<class name="android/os/PatternMatcher" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="getPath()Ljava/lang/String;" />
+		<method name="getType()I" />
+		<method name="match(Ljava/lang/String;)Z" />
+		<field name="CREATOR" />
+		<field name="PATTERN_ADVANCED_GLOB" since="26" />
+		<field name="PATTERN_LITERAL" />
+		<field name="PATTERN_PREFIX" />
+		<field name="PATTERN_SIMPLE_GLOB" />
+		<field name="PATTERN_SUFFIX" since="31" />
+	</class>
+	<class name="android/os/PerformanceHintManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="createHintSession([IJ)Landroid/os/PerformanceHintManager$Session;" />
+		<method name="getPreferredUpdateRateNanos()J" />
+	</class>
+	<class name="android/os/PerformanceHintManager$Session" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="reportActualWorkDuration(J)V" />
+		<method name="updateTargetWorkDuration(J)V" />
+	</class>
+	<class name="android/os/PersistableBundle" since="21">
+		<extends name="android/os/BaseBundle" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/os/PersistableBundle;)V" />
+		<method name="deepCopy()Landroid/os/PersistableBundle;" since="26" />
+		<method name="getPersistableBundle(Ljava/lang/String;)Landroid/os/PersistableBundle;" />
+		<method name="putPersistableBundle(Ljava/lang/String;Landroid/os/PersistableBundle;)V" />
+		<method name="readFromStream(Ljava/io/InputStream;)Landroid/os/PersistableBundle;" since="30" />
+		<method name="writeToStream(Ljava/io/OutputStream;)V" since="30" />
+		<field name="CREATOR" />
+		<field name="EMPTY" />
+	</class>
+	<class name="android/os/PowerManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addThermalStatusListener(Landroid/os/PowerManager$OnThermalStatusChangedListener;)V" since="29" />
+		<method name="addThermalStatusListener(Ljava/util/concurrent/Executor;Landroid/os/PowerManager$OnThermalStatusChangedListener;)V" since="29" />
+		<method name="getBatteryDischargePrediction()Ljava/time/Duration;" since="31" />
+		<method name="getCurrentThermalStatus()I" since="29" />
+		<method name="getLocationPowerSaveMode()I" since="28" />
+		<method name="getThermalHeadroom(I)F" since="30" />
+		<method name="goToSleep(J)V" removed="21" />
+		<method name="isBatteryDischargePredictionPersonalized()Z" since="31" />
+		<method name="isDeviceIdleMode()Z" since="23" />
+		<method name="isIgnoringBatteryOptimizations(Ljava/lang/String;)Z" since="23" />
+		<method name="isInteractive()Z" since="20" />
+		<method name="isPowerSaveMode()Z" since="21" />
+		<method name="isRebootingUserspaceSupported()Z" since="30" />
+		<method name="isScreenOn()Z" since="7" deprecated="20" />
+		<method name="isSustainedPerformanceModeSupported()Z" since="24" />
+		<method name="isWakeLockLevelSupported(I)Z" since="21" />
+		<method name="newWakeLock(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;" />
+		<method name="reboot(Ljava/lang/String;)V" since="8" />
+		<method name="removeThermalStatusListener(Landroid/os/PowerManager$OnThermalStatusChangedListener;)V" since="29" />
+		<method name="userActivity(JZ)V" removed="21" />
+		<method name="wakeUp(J)V" since="17" removed="21" />
+		<field name="ACQUIRE_CAUSES_WAKEUP" />
+		<field name="ACTION_DEVICE_IDLE_MODE_CHANGED" since="23" />
+		<field name="ACTION_POWER_SAVE_MODE_CHANGED" since="21" />
+		<field name="FULL_WAKE_LOCK" deprecated="17" />
+		<field name="LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF" since="28" />
+		<field name="LOCATION_MODE_FOREGROUND_ONLY" since="28" />
+		<field name="LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF" since="28" />
+		<field name="LOCATION_MODE_NO_CHANGE" since="28" />
+		<field name="LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF" since="29" />
+		<field name="ON_AFTER_RELEASE" />
+		<field name="PARTIAL_WAKE_LOCK" />
+		<field name="PROXIMITY_SCREEN_OFF_WAKE_LOCK" since="21" />
+		<field name="RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY" since="21" />
+		<field name="SCREEN_BRIGHT_WAKE_LOCK" deprecated="15" />
+		<field name="SCREEN_DIM_WAKE_LOCK" deprecated="17" />
+		<field name="THERMAL_STATUS_CRITICAL" since="29" />
+		<field name="THERMAL_STATUS_EMERGENCY" since="29" />
+		<field name="THERMAL_STATUS_LIGHT" since="29" />
+		<field name="THERMAL_STATUS_MODERATE" since="29" />
+		<field name="THERMAL_STATUS_NONE" since="29" />
+		<field name="THERMAL_STATUS_SEVERE" since="29" />
+		<field name="THERMAL_STATUS_SHUTDOWN" since="29" />
+	</class>
+	<class name="android/os/PowerManager$OnThermalStatusChangedListener" since="29">
+		<extends name="java/lang/Object" />
+		<method name="onThermalStatusChanged(I)V" />
+	</class>
+	<class name="android/os/PowerManager$WakeLock" since="1">
+		<extends name="java/lang/Object" />
+		<method name="acquire()V" />
+		<method name="acquire(J)V" />
+		<method name="isHeld()Z" />
+		<method name="release()V" />
+		<method name="release(I)V" since="21" />
+		<method name="setReferenceCounted(Z)V" />
+		<method name="setWorkSource(Landroid/os/WorkSource;)V" since="9" />
+	</class>
+	<class name="android/os/Process" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getElapsedCpuTime()J" />
+		<method name="getExclusiveCores()[I" since="24" />
+		<method name="getGidForName(Ljava/lang/String;)I" />
+		<method name="getStartElapsedRealtime()J" since="24" />
+		<method name="getStartUptimeMillis()J" since="24" />
+		<method name="getThreadPriority(I)I" />
+		<method name="getUidForName(Ljava/lang/String;)I" />
+		<method name="is64Bit()Z" since="23" />
+		<method name="isApplicationUid(I)Z" since="24" />
+		<method name="isIsolated()Z" since="28" />
+		<method name="killProcess(I)V" />
+		<method name="myPid()I" />
+		<method name="myTid()I" />
+		<method name="myUid()I" since="2" />
+		<method name="myUserHandle()Landroid/os/UserHandle;" since="17" />
+		<method name="sendSignal(II)V" />
+		<method name="setThreadPriority(I)V" />
+		<method name="setThreadPriority(II)V" />
+		<method name="supportsProcesses()Z" deprecated="15" />
+		<field name="BLUETOOTH_GID" removed="18" />
+		<field name="BLUETOOTH_UID" since="29" />
+		<field name="FIRST_APPLICATION_UID" />
+		<field name="INVALID_UID" since="29" />
+		<field name="LAST_APPLICATION_UID" />
+		<field name="PHONE_UID" />
+		<field name="ROOT_UID" since="29" />
+		<field name="SHELL_UID" since="29" />
+		<field name="SIGNAL_KILL" />
+		<field name="SIGNAL_QUIT" />
+		<field name="SIGNAL_USR1" />
+		<field name="SYSTEM_UID" />
+		<field name="THREAD_PRIORITY_AUDIO" />
+		<field name="THREAD_PRIORITY_BACKGROUND" />
+		<field name="THREAD_PRIORITY_DEFAULT" />
+		<field name="THREAD_PRIORITY_DISPLAY" />
+		<field name="THREAD_PRIORITY_FOREGROUND" />
+		<field name="THREAD_PRIORITY_LESS_FAVORABLE" />
+		<field name="THREAD_PRIORITY_LOWEST" />
+		<field name="THREAD_PRIORITY_MORE_FAVORABLE" />
+		<field name="THREAD_PRIORITY_URGENT_AUDIO" />
+		<field name="THREAD_PRIORITY_URGENT_DISPLAY" />
+		<field name="THREAD_PRIORITY_VIDEO" since="28" />
+		<field name="WIFI_UID" since="30" />
+	</class>
+	<class name="android/os/ProxyFileDescriptorCallback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onFsync()V" />
+		<method name="onGetSize()J" />
+		<method name="onRead(JI[B)I" />
+		<method name="onRelease()V" />
+		<method name="onWrite(JI[B)I" />
+	</class>
+	<class name="android/os/RecoverySystem" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="23" />
+		<method name="installPackage(Landroid/content/Context;Ljava/io/File;)V" />
+		<method name="rebootWipeCache(Landroid/content/Context;)V" since="14" />
+		<method name="rebootWipeUserData(Landroid/content/Context;)V" />
+		<method name="verifyPackage(Ljava/io/File;Landroid/os/RecoverySystem$ProgressListener;Ljava/io/File;)V" />
+	</class>
+	<class name="android/os/RecoverySystem$ProgressListener" since="8">
+		<extends name="java/lang/Object" />
+		<method name="onProgress(I)V" />
+	</class>
+	<class name="android/os/RemoteCallbackList" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="beginBroadcast()I" />
+		<method name="finishBroadcast()V" />
+		<method name="getBroadcastCookie(I)Ljava/lang/Object;" since="4" />
+		<method name="getBroadcastItem(I)Landroid/os/IInterface;" />
+		<method name="getRegisteredCallbackCookie(I)Ljava/lang/Object;" since="26" />
+		<method name="getRegisteredCallbackCount()I" since="17" />
+		<method name="getRegisteredCallbackItem(I)Landroid/os/IInterface;" since="26" />
+		<method name="kill()V" />
+		<method name="onCallbackDied(Landroid/os/IInterface;)V" />
+		<method name="onCallbackDied(Landroid/os/IInterface;Ljava/lang/Object;)V" since="4" />
+		<method name="register(Landroid/os/IInterface;)Z" />
+		<method name="register(Landroid/os/IInterface;Ljava/lang/Object;)Z" since="4" />
+		<method name="unregister(Landroid/os/IInterface;)Z" />
+	</class>
+	<class name="android/os/RemoteException" since="1">
+		<extends name="android/util/AndroidException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" since="15" />
+		<method name="rethrowAsRuntimeException()Ljava/lang/RuntimeException;" since="30" />
+		<method name="rethrowFromSystemServer()Ljava/lang/RuntimeException;" since="30" />
+	</class>
+	<class name="android/os/ResultReceiver" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Handler;)V" />
+		<method name="onReceiveResult(ILandroid/os/Bundle;)V" />
+		<method name="send(ILandroid/os/Bundle;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/SharedMemory" since="27">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/io/Closeable" />
+		<method name="create(Ljava/lang/String;I)Landroid/os/SharedMemory;" />
+		<method name="getSize()I" />
+		<method name="map(III)Ljava/nio/ByteBuffer;" />
+		<method name="mapReadOnly()Ljava/nio/ByteBuffer;" />
+		<method name="mapReadWrite()Ljava/nio/ByteBuffer;" />
+		<method name="setProtect(I)Z" />
+		<method name="unmap(Ljava/nio/ByteBuffer;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/StatFs" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getAvailableBlocks()I" deprecated="18" />
+		<method name="getAvailableBlocksLong()J" since="18" />
+		<method name="getAvailableBytes()J" since="18" />
+		<method name="getBlockCount()I" deprecated="18" />
+		<method name="getBlockCountLong()J" since="18" />
+		<method name="getBlockSize()I" deprecated="18" />
+		<method name="getBlockSizeLong()J" since="18" />
+		<method name="getFreeBlocks()I" deprecated="18" />
+		<method name="getFreeBlocksLong()J" since="18" />
+		<method name="getFreeBytes()J" since="18" />
+		<method name="getTotalBytes()J" since="18" />
+		<method name="restat(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/os/StrictMode" since="9">
+		<extends name="java/lang/Object" />
+		<method name="allowThreadDiskReads()Landroid/os/StrictMode$ThreadPolicy;" />
+		<method name="allowThreadDiskWrites()Landroid/os/StrictMode$ThreadPolicy;" />
+		<method name="enableDefaults()V" />
+		<method name="getThreadPolicy()Landroid/os/StrictMode$ThreadPolicy;" />
+		<method name="getVmPolicy()Landroid/os/StrictMode$VmPolicy;" />
+		<method name="noteSlowCall(Ljava/lang/String;)V" since="11" />
+		<method name="setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V" />
+		<method name="setVmPolicy(Landroid/os/StrictMode$VmPolicy;)V" />
+	</class>
+	<class name="android/os/StrictMode$OnThreadViolationListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="onThreadViolation(Landroid/os/strictmode/Violation;)V" />
+	</class>
+	<class name="android/os/StrictMode$OnVmViolationListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="onVmViolation(Landroid/os/strictmode/Violation;)V" />
+	</class>
+	<class name="android/os/StrictMode$ThreadPolicy" since="9">
+		<extends name="java/lang/Object" />
+		<field name="LAX" />
+	</class>
+	<class name="android/os/StrictMode$ThreadPolicy$Builder" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/StrictMode$ThreadPolicy;)V" />
+		<method name="build()Landroid/os/StrictMode$ThreadPolicy;" />
+		<method name="detectAll()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="detectCustomSlowCalls()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="11" />
+		<method name="detectDiskReads()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="detectDiskWrites()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="detectNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="detectResourceMismatches()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="23" />
+		<method name="detectUnbufferedIo()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="26" />
+		<method name="penaltyDeath()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="penaltyDeathOnNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="11" />
+		<method name="penaltyDialog()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="penaltyDropBox()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="penaltyFlashScreen()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="11" />
+		<method name="penaltyListener(Ljava/util/concurrent/Executor;Landroid/os/StrictMode$OnThreadViolationListener;)Landroid/os/StrictMode$ThreadPolicy$Builder;" since="28" />
+		<method name="penaltyLog()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="permitAll()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="permitCustomSlowCalls()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="11" />
+		<method name="permitDiskReads()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="permitDiskWrites()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="permitNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;" />
+		<method name="permitResourceMismatches()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="23" />
+		<method name="permitUnbufferedIo()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="26" />
+	</class>
+	<class name="android/os/StrictMode$VmPolicy" since="9">
+		<extends name="java/lang/Object" />
+		<field name="LAX" />
+	</class>
+	<class name="android/os/StrictMode$VmPolicy$Builder" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/StrictMode$VmPolicy;)V" since="11" />
+		<method name="build()Landroid/os/StrictMode$VmPolicy;" />
+		<method name="detectActivityLeaks()Landroid/os/StrictMode$VmPolicy$Builder;" since="11" />
+		<method name="detectAll()Landroid/os/StrictMode$VmPolicy$Builder;" />
+		<method name="detectCleartextNetwork()Landroid/os/StrictMode$VmPolicy$Builder;" since="23" />
+		<method name="detectContentUriWithoutPermission()Landroid/os/StrictMode$VmPolicy$Builder;" since="26" />
+		<method name="detectCredentialProtectedWhileLocked()Landroid/os/StrictMode$VmPolicy$Builder;" since="29" />
+		<method name="detectFileUriExposure()Landroid/os/StrictMode$VmPolicy$Builder;" since="18" />
+		<method name="detectImplicitDirectBoot()Landroid/os/StrictMode$VmPolicy$Builder;" since="29" />
+		<method name="detectIncorrectContextUse()Landroid/os/StrictMode$VmPolicy$Builder;" since="31" />
+		<method name="detectLeakedClosableObjects()Landroid/os/StrictMode$VmPolicy$Builder;" since="11" />
+		<method name="detectLeakedRegistrationObjects()Landroid/os/StrictMode$VmPolicy$Builder;" since="16" />
+		<method name="detectLeakedSqlLiteObjects()Landroid/os/StrictMode$VmPolicy$Builder;" />
+		<method name="detectNonSdkApiUsage()Landroid/os/StrictMode$VmPolicy$Builder;" since="28" />
+		<method name="detectUnsafeIntentLaunch()Landroid/os/StrictMode$VmPolicy$Builder;" since="31" />
+		<method name="detectUntaggedSockets()Landroid/os/StrictMode$VmPolicy$Builder;" since="26" />
+		<method name="penaltyDeath()Landroid/os/StrictMode$VmPolicy$Builder;" />
+		<method name="penaltyDeathOnCleartextNetwork()Landroid/os/StrictMode$VmPolicy$Builder;" since="23" />
+		<method name="penaltyDeathOnFileUriExposure()Landroid/os/StrictMode$VmPolicy$Builder;" since="24" />
+		<method name="penaltyDropBox()Landroid/os/StrictMode$VmPolicy$Builder;" />
+		<method name="penaltyListener(Ljava/util/concurrent/Executor;Landroid/os/StrictMode$OnVmViolationListener;)Landroid/os/StrictMode$VmPolicy$Builder;" since="28" />
+		<method name="penaltyLog()Landroid/os/StrictMode$VmPolicy$Builder;" />
+		<method name="permitNonSdkApiUsage()Landroid/os/StrictMode$VmPolicy$Builder;" since="28" />
+		<method name="permitUnsafeIntentLaunch()Landroid/os/StrictMode$VmPolicy$Builder;" since="31" />
+		<method name="setClassInstanceLimit(Ljava/lang/Class;I)Landroid/os/StrictMode$VmPolicy$Builder;" since="11" />
+	</class>
+	<class name="android/os/SystemClock" since="1">
+		<extends name="java/lang/Object" />
+		<method name="currentGnssTimeClock()Ljava/time/Clock;" since="29" />
+		<method name="currentThreadTimeMillis()J" />
+		<method name="elapsedRealtime()J" />
+		<method name="elapsedRealtimeNanos()J" since="17" />
+		<method name="setCurrentTimeMillis(J)Z" />
+		<method name="sleep(J)V" />
+		<method name="uptimeMillis()J" />
+	</class>
+	<class name="android/os/TestLooperManager" since="26">
+		<extends name="java/lang/Object" />
+		<method name="execute(Landroid/os/Message;)V" />
+		<method name="getMessageQueue()Landroid/os/MessageQueue;" />
+		<method name="hasMessages(Landroid/os/Handler;Ljava/lang/Object;I)Z" />
+		<method name="hasMessages(Landroid/os/Handler;Ljava/lang/Object;Ljava/lang/Runnable;)Z" />
+		<method name="next()Landroid/os/Message;" />
+		<method name="recycle(Landroid/os/Message;)V" />
+		<method name="release()V" />
+	</class>
+	<class name="android/os/TokenWatcher" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/os/Handler;Ljava/lang/String;)V" />
+		<method name="acquire(Landroid/os/IBinder;Ljava/lang/String;)V" />
+		<method name="acquired()V" />
+		<method name="cleanup(Landroid/os/IBinder;Z)V" />
+		<method name="dump()V" />
+		<method name="dump(Ljava/io/PrintWriter;)V" since="16" />
+		<method name="isAcquired()Z" />
+		<method name="release(Landroid/os/IBinder;)V" />
+		<method name="released()V" />
+	</class>
+	<class name="android/os/Trace" since="18">
+		<extends name="java/lang/Object" />
+		<method name="beginAsyncSection(Ljava/lang/String;I)V" since="29" />
+		<method name="beginSection(Ljava/lang/String;)V" />
+		<method name="endAsyncSection(Ljava/lang/String;I)V" since="29" />
+		<method name="endSection()V" />
+		<method name="isEnabled()Z" since="29" />
+		<method name="setCounter(Ljava/lang/String;J)V" since="29" />
+	</class>
+	<class name="android/os/TransactionTooLargeException" since="15">
+		<extends name="android/os/RemoteException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" since="23" />
+	</class>
+	<class name="android/os/UserHandle" since="17">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="getUserHandleForUid(I)Landroid/os/UserHandle;" since="24" />
+		<method name="readFromParcel(Landroid/os/Parcel;)Landroid/os/UserHandle;" />
+		<method name="writeToParcel(Landroid/os/UserHandle;Landroid/os/Parcel;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/UserManager" since="17">
+		<extends name="java/lang/Object" />
+		<method name="createUserCreationIntent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)Landroid/content/Intent;" since="24" />
+		<method name="getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;" since="18" />
+		<method name="getSerialNumberForUser(Landroid/os/UserHandle;)J" />
+		<method name="getUserCount()I" />
+		<method name="getUserCreationTime(Landroid/os/UserHandle;)J" since="23" />
+		<method name="getUserForSerialNumber(J)Landroid/os/UserHandle;" />
+		<method name="getUserName()Ljava/lang/String;" />
+		<method name="getUserProfiles()Ljava/util/List;" since="21" />
+		<method name="getUserRestrictions()Landroid/os/Bundle;" since="18" />
+		<method name="getUserRestrictions(Landroid/os/UserHandle;)Landroid/os/Bundle;" since="18" />
+		<method name="hasUserRestriction(Ljava/lang/String;)Z" since="21" />
+		<method name="isDemoUser()Z" since="25" />
+		<method name="isHeadlessSystemUserMode()Z" since="31" />
+		<method name="isManagedProfile()Z" since="30" />
+		<method name="isQuietModeEnabled(Landroid/os/UserHandle;)Z" since="24" />
+		<method name="isSystemUser()Z" since="23" />
+		<method name="isUserAGoat()Z" />
+		<method name="isUserForeground()Z" since="31" />
+		<method name="isUserRunning(Landroid/os/UserHandle;)Z" />
+		<method name="isUserRunningOrStopping(Landroid/os/UserHandle;)Z" />
+		<method name="isUserUnlocked()Z" since="24" />
+		<method name="isUserUnlocked(Landroid/os/UserHandle;)Z" since="24" />
+		<method name="requestQuietModeEnabled(ZLandroid/os/UserHandle;)Z" since="28" />
+		<method name="requestQuietModeEnabled(ZLandroid/os/UserHandle;I)Z" since="30" />
+		<method name="setRestrictionsChallenge(Ljava/lang/String;)Z" since="19" deprecated="23" />
+		<method name="setUserRestriction(Ljava/lang/String;Z)V" since="18" deprecated="21" />
+		<method name="setUserRestrictions(Landroid/os/Bundle;)V" since="18" deprecated="21" />
+		<method name="setUserRestrictions(Landroid/os/Bundle;Landroid/os/UserHandle;)V" since="18" deprecated="21" />
+		<method name="supportsMultipleUsers()Z" since="24" />
+		<field name="ALLOW_PARENT_PROFILE_APP_LINKING" since="23" />
+		<field name="DISALLOW_ADD_MANAGED_PROFILE" since="26" deprecated="30" />
+		<field name="DISALLOW_ADD_USER" since="21" />
+		<field name="DISALLOW_ADJUST_VOLUME" since="21" />
+		<field name="DISALLOW_AIRPLANE_MODE" since="28" />
+		<field name="DISALLOW_AMBIENT_DISPLAY" since="28" />
+		<field name="DISALLOW_APPS_CONTROL" since="21" />
+		<field name="DISALLOW_AUTOFILL" since="26" />
+		<field name="DISALLOW_BLUETOOTH" since="26" />
+		<field name="DISALLOW_BLUETOOTH_SHARING" since="26" />
+		<field name="DISALLOW_CAMERA_TOGGLE" since="31" />
+		<field name="DISALLOW_CONFIG_BLUETOOTH" since="18" />
+		<field name="DISALLOW_CONFIG_BRIGHTNESS" since="28" />
+		<field name="DISALLOW_CONFIG_CELL_BROADCASTS" since="21" />
+		<field name="DISALLOW_CONFIG_CREDENTIALS" since="18" />
+		<field name="DISALLOW_CONFIG_DATE_TIME" since="28" />
+		<field name="DISALLOW_CONFIG_LOCALE" since="28" />
+		<field name="DISALLOW_CONFIG_LOCATION" since="28" />
+		<field name="DISALLOW_CONFIG_MOBILE_NETWORKS" since="21" />
+		<field name="DISALLOW_CONFIG_PRIVATE_DNS" since="29" />
+		<field name="DISALLOW_CONFIG_SCREEN_TIMEOUT" since="28" />
+		<field name="DISALLOW_CONFIG_TETHERING" since="21" />
+		<field name="DISALLOW_CONFIG_VPN" since="21" />
+		<field name="DISALLOW_CONFIG_WIFI" since="18" />
+		<field name="DISALLOW_CONTENT_CAPTURE" since="29" />
+		<field name="DISALLOW_CONTENT_SUGGESTIONS" since="29" />
+		<field name="DISALLOW_CREATE_WINDOWS" since="21" />
+		<field name="DISALLOW_CROSS_PROFILE_COPY_PASTE" since="21" />
+		<field name="DISALLOW_DATA_ROAMING" since="24" />
+		<field name="DISALLOW_DEBUGGING_FEATURES" since="21" />
+		<field name="DISALLOW_FACTORY_RESET" since="21" />
+		<field name="DISALLOW_FUN" since="23" />
+		<field name="DISALLOW_INSTALL_APPS" since="18" />
+		<field name="DISALLOW_INSTALL_UNKNOWN_SOURCES" since="18" />
+		<field name="DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY" since="29" />
+		<field name="DISALLOW_MICROPHONE_TOGGLE" since="31" />
+		<field name="DISALLOW_MODIFY_ACCOUNTS" since="18" />
+		<field name="DISALLOW_MOUNT_PHYSICAL_MEDIA" since="21" />
+		<field name="DISALLOW_NETWORK_RESET" since="23" />
+		<field name="DISALLOW_OUTGOING_BEAM" since="22" />
+		<field name="DISALLOW_OUTGOING_CALLS" since="21" />
+		<field name="DISALLOW_PRINTING" since="28" />
+		<field name="DISALLOW_REMOVE_MANAGED_PROFILE" since="26" deprecated="30" />
+		<field name="DISALLOW_REMOVE_USER" since="18" />
+		<field name="DISALLOW_SAFE_BOOT" since="23" />
+		<field name="DISALLOW_SET_USER_ICON" since="24" />
+		<field name="DISALLOW_SET_WALLPAPER" since="24" />
+		<field name="DISALLOW_SHARE_INTO_MANAGED_PROFILE" since="28" />
+		<field name="DISALLOW_SHARE_LOCATION" since="18" />
+		<field name="DISALLOW_SMS" since="21" />
+		<field name="DISALLOW_SYSTEM_ERROR_DIALOGS" since="28" />
+		<field name="DISALLOW_UNIFIED_PASSWORD" since="28" />
+		<field name="DISALLOW_UNINSTALL_APPS" since="18" />
+		<field name="DISALLOW_UNMUTE_MICROPHONE" since="21" />
+		<field name="DISALLOW_USB_FILE_TRANSFER" since="18" />
+		<field name="DISALLOW_USER_SWITCH" since="28" />
+		<field name="ENSURE_VERIFY_APPS" since="21" />
+		<field name="KEY_RESTRICTIONS_PENDING" since="22" />
+		<field name="QUIET_MODE_DISABLE_ONLY_IF_CREDENTIAL_NOT_REQUIRED" since="30" />
+		<field name="USER_CREATION_FAILED_NOT_PERMITTED" since="24" />
+		<field name="USER_CREATION_FAILED_NO_MORE_USERS" since="24" />
+		<field name="USER_OPERATION_ERROR_CURRENT_USER" since="28" />
+		<field name="USER_OPERATION_ERROR_LOW_STORAGE" since="28" />
+		<field name="USER_OPERATION_ERROR_MANAGED_PROFILE" since="28" />
+		<field name="USER_OPERATION_ERROR_MAX_RUNNING_USERS" since="28" />
+		<field name="USER_OPERATION_ERROR_MAX_USERS" since="28" />
+		<field name="USER_OPERATION_ERROR_UNKNOWN" since="28" />
+		<field name="USER_OPERATION_SUCCESS" since="28" />
+	</class>
+	<class name="android/os/UserManager$UserOperationException" since="28">
+		<extends name="java/lang/RuntimeException" />
+		<method name="getUserOperationResult()I" />
+	</class>
+	<class name="android/os/VibrationAttributes" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getFlags()I" />
+		<method name="getUsage()I" />
+		<method name="getUsageClass()I" />
+		<method name="isFlagSet(I)Z" />
+		<field name="CREATOR" />
+		<field name="FLAG_BYPASS_INTERRUPTION_POLICY" />
+		<field name="USAGE_ALARM" />
+		<field name="USAGE_CLASS_ALARM" />
+		<field name="USAGE_CLASS_FEEDBACK" />
+		<field name="USAGE_CLASS_MASK" />
+		<field name="USAGE_CLASS_UNKNOWN" />
+		<field name="USAGE_COMMUNICATION_REQUEST" />
+		<field name="USAGE_HARDWARE_FEEDBACK" />
+		<field name="USAGE_NOTIFICATION" />
+		<field name="USAGE_PHYSICAL_EMULATION" />
+		<field name="USAGE_RINGTONE" />
+		<field name="USAGE_TOUCH" />
+		<field name="USAGE_UNKNOWN" />
+	</class>
+	<class name="android/os/VibrationAttributes$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/VibrationAttributes;)V" />
+		<method name="build()Landroid/os/VibrationAttributes;" />
+		<method name="setFlags(II)Landroid/os/VibrationAttributes$Builder;" />
+		<method name="setUsage(I)Landroid/os/VibrationAttributes$Builder;" />
+	</class>
+	<class name="android/os/VibrationEffect" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="createOneShot(JI)Landroid/os/VibrationEffect;" />
+		<method name="createPredefined(I)Landroid/os/VibrationEffect;" since="29" />
+		<method name="createWaveform([JI)Landroid/os/VibrationEffect;" />
+		<method name="createWaveform([J[II)Landroid/os/VibrationEffect;" />
+		<method name="startComposition()Landroid/os/VibrationEffect$Composition;" since="30" />
+		<field name="CREATOR" />
+		<field name="DEFAULT_AMPLITUDE" />
+		<field name="EFFECT_CLICK" since="29" />
+		<field name="EFFECT_DOUBLE_CLICK" since="29" />
+		<field name="EFFECT_HEAVY_CLICK" since="29" />
+		<field name="EFFECT_TICK" since="29" />
+	</class>
+	<class name="android/os/VibrationEffect$Composition" since="30">
+		<extends name="java/lang/Object" />
+		<method name="addPrimitive(I)Landroid/os/VibrationEffect$Composition;" />
+		<method name="addPrimitive(IF)Landroid/os/VibrationEffect$Composition;" />
+		<method name="addPrimitive(IFI)Landroid/os/VibrationEffect$Composition;" />
+		<method name="compose()Landroid/os/VibrationEffect;" />
+		<field name="PRIMITIVE_CLICK" />
+		<field name="PRIMITIVE_LOW_TICK" since="31" />
+		<field name="PRIMITIVE_QUICK_FALL" />
+		<field name="PRIMITIVE_QUICK_RISE" />
+		<field name="PRIMITIVE_SLOW_RISE" />
+		<field name="PRIMITIVE_SPIN" since="31" />
+		<field name="PRIMITIVE_THUD" since="31" />
+		<field name="PRIMITIVE_TICK" />
+	</class>
+	<class name="android/os/Vibrator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="areAllEffectsSupported([I)I" since="30" />
+		<method name="areAllPrimitivesSupported([I)Z" since="30" />
+		<method name="areEffectsSupported([I)[I" since="30" />
+		<method name="arePrimitivesSupported([I)[Z" since="30" />
+		<method name="cancel()V" />
+		<method name="getId()I" since="31" />
+		<method name="getPrimitiveDurations([I)[I" since="31" />
+		<method name="hasAmplitudeControl()Z" since="26" />
+		<method name="hasVibrator()Z" since="11" />
+		<method name="vibrate(J)V" deprecated="26" />
+		<method name="vibrate(JLandroid/media/AudioAttributes;)V" since="21" deprecated="26" />
+		<method name="vibrate(Landroid/os/VibrationEffect;)V" since="26" />
+		<method name="vibrate(Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;)V" since="26" />
+		<method name="vibrate([JI)V" deprecated="26" />
+		<method name="vibrate([JILandroid/media/AudioAttributes;)V" since="21" deprecated="26" />
+		<field name="VIBRATION_EFFECT_SUPPORT_NO" since="30" />
+		<field name="VIBRATION_EFFECT_SUPPORT_UNKNOWN" since="30" />
+		<field name="VIBRATION_EFFECT_SUPPORT_YES" since="30" />
+	</class>
+	<class name="android/os/VibratorManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" />
+		<method name="getDefaultVibrator()Landroid/os/Vibrator;" />
+		<method name="getVibrator(I)Landroid/os/Vibrator;" />
+		<method name="getVibratorIds()[I" />
+		<method name="vibrate(Landroid/os/CombinedVibration;)V" />
+		<method name="vibrate(Landroid/os/CombinedVibration;Landroid/os/VibrationAttributes;)V" />
+	</class>
+	<class name="android/os/WorkSource" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/WorkSource;)V" />
+		<method name="add(Landroid/os/WorkSource;)Z" />
+		<method name="clear()V" />
+		<method name="diff(Landroid/os/WorkSource;)Z" />
+		<method name="remove(Landroid/os/WorkSource;)Z" />
+		<method name="set(Landroid/os/WorkSource;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/health/HealthStats" since="24">
+		<extends name="java/lang/Object" />
+		<method name="getDataType()Ljava/lang/String;" />
+		<method name="getMeasurement(I)J" />
+		<method name="getMeasurementKeyAt(I)I" />
+		<method name="getMeasurementKeyCount()I" />
+		<method name="getMeasurements(I)Ljava/util/Map;" />
+		<method name="getMeasurementsKeyAt(I)I" />
+		<method name="getMeasurementsKeyCount()I" />
+		<method name="getStats(I)Ljava/util/Map;" />
+		<method name="getStatsKeyAt(I)I" />
+		<method name="getStatsKeyCount()I" />
+		<method name="getTimer(I)Landroid/os/health/TimerStat;" />
+		<method name="getTimerCount(I)I" />
+		<method name="getTimerKeyAt(I)I" />
+		<method name="getTimerKeyCount()I" />
+		<method name="getTimerTime(I)J" />
+		<method name="getTimers(I)Ljava/util/Map;" />
+		<method name="getTimersKeyAt(I)I" />
+		<method name="getTimersKeyCount()I" />
+		<method name="hasMeasurement(I)Z" />
+		<method name="hasMeasurements(I)Z" />
+		<method name="hasStats(I)Z" />
+		<method name="hasTimer(I)Z" />
+		<method name="hasTimers(I)Z" />
+	</class>
+	<class name="android/os/health/PackageHealthStats" since="24">
+		<extends name="java/lang/Object" />
+		<field name="MEASUREMENTS_WAKEUP_ALARMS_COUNT" />
+		<field name="STATS_SERVICES" />
+	</class>
+	<class name="android/os/health/PidHealthStats" since="24">
+		<extends name="java/lang/Object" />
+		<field name="MEASUREMENT_WAKE_NESTING_COUNT" />
+		<field name="MEASUREMENT_WAKE_START_MS" />
+		<field name="MEASUREMENT_WAKE_SUM_MS" />
+	</class>
+	<class name="android/os/health/ProcessHealthStats" since="24">
+		<extends name="java/lang/Object" />
+		<field name="MEASUREMENT_ANR_COUNT" />
+		<field name="MEASUREMENT_CRASHES_COUNT" />
+		<field name="MEASUREMENT_FOREGROUND_MS" />
+		<field name="MEASUREMENT_STARTS_COUNT" />
+		<field name="MEASUREMENT_SYSTEM_TIME_MS" />
+		<field name="MEASUREMENT_USER_TIME_MS" />
+	</class>
+	<class name="android/os/health/ServiceHealthStats" since="24">
+		<extends name="java/lang/Object" />
+		<field name="MEASUREMENT_LAUNCH_COUNT" />
+		<field name="MEASUREMENT_START_SERVICE_COUNT" />
+	</class>
+	<class name="android/os/health/SystemHealthManager" since="24">
+		<extends name="java/lang/Object" />
+		<method name="takeMyUidSnapshot()Landroid/os/health/HealthStats;" />
+		<method name="takeUidSnapshot(I)Landroid/os/health/HealthStats;" />
+		<method name="takeUidSnapshots([I)[Landroid/os/health/HealthStats;" />
+	</class>
+	<class name="android/os/health/TimerStat" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(IJ)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="getCount()I" />
+		<method name="getTime()J" />
+		<method name="setCount(I)V" />
+		<method name="setTime(J)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/os/health/UidHealthStats" since="24">
+		<extends name="java/lang/Object" />
+		<field name="MEASUREMENT_BLUETOOTH_IDLE_MS" />
+		<field name="MEASUREMENT_BLUETOOTH_POWER_MAMS" />
+		<field name="MEASUREMENT_BLUETOOTH_RX_BYTES" />
+		<field name="MEASUREMENT_BLUETOOTH_RX_MS" />
+		<field name="MEASUREMENT_BLUETOOTH_RX_PACKETS" />
+		<field name="MEASUREMENT_BLUETOOTH_TX_BYTES" />
+		<field name="MEASUREMENT_BLUETOOTH_TX_MS" />
+		<field name="MEASUREMENT_BLUETOOTH_TX_PACKETS" />
+		<field name="MEASUREMENT_BUTTON_USER_ACTIVITY_COUNT" />
+		<field name="MEASUREMENT_CPU_POWER_MAMS" deprecated="26" />
+		<field name="MEASUREMENT_MOBILE_IDLE_MS" />
+		<field name="MEASUREMENT_MOBILE_POWER_MAMS" />
+		<field name="MEASUREMENT_MOBILE_RX_BYTES" />
+		<field name="MEASUREMENT_MOBILE_RX_MS" />
+		<field name="MEASUREMENT_MOBILE_RX_PACKETS" />
+		<field name="MEASUREMENT_MOBILE_TX_BYTES" />
+		<field name="MEASUREMENT_MOBILE_TX_MS" />
+		<field name="MEASUREMENT_MOBILE_TX_PACKETS" />
+		<field name="MEASUREMENT_OTHER_USER_ACTIVITY_COUNT" />
+		<field name="MEASUREMENT_REALTIME_BATTERY_MS" />
+		<field name="MEASUREMENT_REALTIME_SCREEN_OFF_BATTERY_MS" />
+		<field name="MEASUREMENT_SYSTEM_CPU_TIME_MS" />
+		<field name="MEASUREMENT_TOUCH_USER_ACTIVITY_COUNT" />
+		<field name="MEASUREMENT_UPTIME_BATTERY_MS" />
+		<field name="MEASUREMENT_UPTIME_SCREEN_OFF_BATTERY_MS" />
+		<field name="MEASUREMENT_USER_CPU_TIME_MS" />
+		<field name="MEASUREMENT_WIFI_FULL_LOCK_MS" />
+		<field name="MEASUREMENT_WIFI_IDLE_MS" />
+		<field name="MEASUREMENT_WIFI_MULTICAST_MS" />
+		<field name="MEASUREMENT_WIFI_POWER_MAMS" />
+		<field name="MEASUREMENT_WIFI_RUNNING_MS" />
+		<field name="MEASUREMENT_WIFI_RX_BYTES" />
+		<field name="MEASUREMENT_WIFI_RX_MS" />
+		<field name="MEASUREMENT_WIFI_RX_PACKETS" />
+		<field name="MEASUREMENT_WIFI_TX_BYTES" />
+		<field name="MEASUREMENT_WIFI_TX_MS" />
+		<field name="MEASUREMENT_WIFI_TX_PACKETS" />
+		<field name="STATS_PACKAGES" />
+		<field name="STATS_PIDS" />
+		<field name="STATS_PROCESSES" />
+		<field name="TIMERS_JOBS" />
+		<field name="TIMERS_SENSORS" />
+		<field name="TIMERS_SYNCS" />
+		<field name="TIMERS_WAKELOCKS_DRAW" />
+		<field name="TIMERS_WAKELOCKS_FULL" />
+		<field name="TIMERS_WAKELOCKS_PARTIAL" />
+		<field name="TIMERS_WAKELOCKS_WINDOW" />
+		<field name="TIMER_AUDIO" />
+		<field name="TIMER_BLUETOOTH_SCAN" />
+		<field name="TIMER_CAMERA" />
+		<field name="TIMER_FLASHLIGHT" />
+		<field name="TIMER_FOREGROUND_ACTIVITY" />
+		<field name="TIMER_GPS_SENSOR" />
+		<field name="TIMER_MOBILE_RADIO_ACTIVE" />
+		<field name="TIMER_PROCESS_STATE_BACKGROUND_MS" />
+		<field name="TIMER_PROCESS_STATE_CACHED_MS" />
+		<field name="TIMER_PROCESS_STATE_FOREGROUND_MS" />
+		<field name="TIMER_PROCESS_STATE_FOREGROUND_SERVICE_MS" />
+		<field name="TIMER_PROCESS_STATE_TOP_MS" />
+		<field name="TIMER_PROCESS_STATE_TOP_SLEEPING_MS" />
+		<field name="TIMER_VIBRATOR" />
+		<field name="TIMER_VIDEO" />
+		<field name="TIMER_WIFI_SCAN" />
+	</class>
+	<class name="android/os/storage/OnObbStateChangeListener" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onObbStateChange(Ljava/lang/String;I)V" />
+		<field name="ERROR_ALREADY_MOUNTED" />
+		<field name="ERROR_COULD_NOT_MOUNT" />
+		<field name="ERROR_COULD_NOT_UNMOUNT" />
+		<field name="ERROR_INTERNAL" />
+		<field name="ERROR_NOT_MOUNTED" />
+		<field name="ERROR_PERMISSION_DENIED" />
+		<field name="MOUNTED" />
+		<field name="UNMOUNTED" />
+	</class>
+	<class name="android/os/storage/StorageManager" since="9">
+		<extends name="java/lang/Object" />
+		<method name="allocateBytes(Ljava/io/FileDescriptor;J)V" since="26" />
+		<method name="allocateBytes(Ljava/util/UUID;J)V" since="26" />
+		<method name="getAllocatableBytes(Ljava/util/UUID;)J" since="26" />
+		<method name="getCacheQuotaBytes(Ljava/util/UUID;)J" since="26" />
+		<method name="getCacheSizeBytes(Ljava/util/UUID;)J" since="26" />
+		<method name="getManageSpaceActivityIntent(Ljava/lang/String;I)Landroid/app/PendingIntent;" since="31" />
+		<method name="getMountedObbPath(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getPrimaryStorageVolume()Landroid/os/storage/StorageVolume;" since="24" />
+		<method name="getRecentStorageVolumes()Ljava/util/List;" since="30" />
+		<method name="getStorageVolume(Landroid/net/Uri;)Landroid/os/storage/StorageVolume;" since="29" />
+		<method name="getStorageVolume(Ljava/io/File;)Landroid/os/storage/StorageVolume;" since="24" />
+		<method name="getStorageVolumes()Ljava/util/List;" since="24" />
+		<method name="getUuidForPath(Ljava/io/File;)Ljava/util/UUID;" since="26" />
+		<method name="isAllocationSupported(Ljava/io/FileDescriptor;)Z" since="27" />
+		<method name="isCacheBehaviorGroup(Ljava/io/File;)Z" since="26" />
+		<method name="isCacheBehaviorTombstone(Ljava/io/File;)Z" since="26" />
+		<method name="isCheckpointSupported()Z" since="30" />
+		<method name="isEncrypted(Ljava/io/File;)Z" since="24" />
+		<method name="isObbMounted(Ljava/lang/String;)Z" />
+		<method name="mountObb(Ljava/lang/String;Ljava/lang/String;Landroid/os/storage/OnObbStateChangeListener;)Z" />
+		<method name="openProxyFileDescriptor(ILandroid/os/ProxyFileDescriptorCallback;Landroid/os/Handler;)Landroid/os/ParcelFileDescriptor;" since="26" />
+		<method name="registerStorageVolumeCallback(Ljava/util/concurrent/Executor;Landroid/os/storage/StorageManager$StorageVolumeCallback;)V" since="30" />
+		<method name="setCacheBehaviorGroup(Ljava/io/File;Z)V" since="26" />
+		<method name="setCacheBehaviorTombstone(Ljava/io/File;Z)V" since="26" />
+		<method name="unmountObb(Ljava/lang/String;ZLandroid/os/storage/OnObbStateChangeListener;)Z" />
+		<method name="unregisterStorageVolumeCallback(Landroid/os/storage/StorageManager$StorageVolumeCallback;)V" since="30" />
+		<field name="ACTION_CLEAR_APP_CACHE" since="30" />
+		<field name="ACTION_MANAGE_STORAGE" since="25" />
+		<field name="EXTRA_REQUESTED_BYTES" since="26" />
+		<field name="EXTRA_UUID" since="26" />
+		<field name="UUID_DEFAULT" since="26" />
+	</class>
+	<class name="android/os/storage/StorageManager$StorageVolumeCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onStateChanged(Landroid/os/storage/StorageVolume;)V" />
+	</class>
+	<class name="android/os/storage/StorageVolume" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="createAccessIntent(Ljava/lang/String;)Landroid/content/Intent;" deprecated="29" />
+		<method name="createOpenDocumentTreeIntent()Landroid/content/Intent;" since="29" />
+		<method name="getDescription(Landroid/content/Context;)Ljava/lang/String;" />
+		<method name="getDirectory()Ljava/io/File;" since="30" />
+		<method name="getMediaStoreVolumeName()Ljava/lang/String;" since="30" />
+		<method name="getState()Ljava/lang/String;" />
+		<method name="getStorageUuid()Ljava/util/UUID;" since="31" />
+		<method name="getUuid()Ljava/lang/String;" />
+		<method name="isEmulated()Z" />
+		<method name="isPrimary()Z" />
+		<method name="isRemovable()Z" />
+		<field name="CREATOR" />
+		<field name="EXTRA_STORAGE_VOLUME" />
+	</class>
+	<class name="android/os/strictmode/CleartextNetworkViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/ContentUriWithoutPermissionViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/CredentialProtectedWhileLockedViolation" since="29">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/CustomViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/DiskReadViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/DiskWriteViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/FileUriExposedViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/ImplicitDirectBootViolation" since="29">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/IncorrectContextUseViolation" since="31">
+		<extends name="android/os/strictmode/Violation" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/os/strictmode/InstanceCountViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+		<method name="getNumberOfInstances()J" />
+	</class>
+	<class name="android/os/strictmode/IntentReceiverLeakedViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/LeakedClosableViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/NetworkViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/NonSdkApiUsedViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/ResourceMismatchViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/ServiceConnectionLeakedViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/SqliteObjectLeakedViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/UnbufferedIoViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/UnsafeIntentLaunchViolation" since="31">
+		<extends name="android/os/strictmode/Violation" />
+		<method name="&lt;init&gt;(Landroid/content/Intent;)V" />
+		<method name="getIntent()Landroid/content/Intent;" />
+	</class>
+	<class name="android/os/strictmode/UntaggedSocketViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/os/strictmode/Violation" since="28">
+		<extends name="java/lang/Throwable" />
+	</class>
+	<class name="android/os/strictmode/WebViewMethodCalledOnWrongThreadViolation" since="28">
+		<extends name="android/os/strictmode/Violation" />
+	</class>
+	<class name="android/preference/CheckBoxPreference" since="1" deprecated="29">
+		<extends name="android/preference/Preference" removed="14" />
+		<extends name="android/preference/TwoStatePreference" since="14" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="getDisableDependentsState()Z" removed="14" />
+		<method name="getSummaryOff()Ljava/lang/CharSequence;" removed="14" />
+		<method name="getSummaryOn()Ljava/lang/CharSequence;" removed="14" />
+		<method name="isChecked()Z" removed="14" />
+		<method name="setChecked(Z)V" removed="14" />
+		<method name="setDisableDependentsState(Z)V" removed="14" />
+		<method name="setSummaryOff(I)V" removed="14" />
+		<method name="setSummaryOff(Ljava/lang/CharSequence;)V" removed="14" />
+		<method name="setSummaryOn(I)V" removed="14" />
+		<method name="setSummaryOn(Ljava/lang/CharSequence;)V" removed="14" />
+	</class>
+	<class name="android/preference/DialogPreference" since="1" deprecated="29">
+		<extends name="android/preference/Preference" />
+		<implements name="android/content/DialogInterface$OnClickListener" />
+		<implements name="android/content/DialogInterface$OnDismissListener" />
+		<implements name="android/preference/PreferenceManager$OnActivityDestroyListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" since="21" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="getDialog()Landroid/app/Dialog;" since="3" deprecated="29" />
+		<method name="getDialogIcon()Landroid/graphics/drawable/Drawable;" deprecated="29" />
+		<method name="getDialogLayoutResource()I" deprecated="29" />
+		<method name="getDialogMessage()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getDialogTitle()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getNegativeButtonText()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getPositiveButtonText()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="onBindDialogView(Landroid/view/View;)V" deprecated="29" />
+		<method name="onCreateDialogView()Landroid/view/View;" deprecated="29" />
+		<method name="onDialogClosed(Z)V" deprecated="29" />
+		<method name="onPrepareDialogBuilder(Landroid/app/AlertDialog$Builder;)V" deprecated="29" />
+		<method name="setDialogIcon(I)V" deprecated="29" />
+		<method name="setDialogIcon(Landroid/graphics/drawable/Drawable;)V" deprecated="29" />
+		<method name="setDialogLayoutResource(I)V" deprecated="29" />
+		<method name="setDialogMessage(I)V" deprecated="29" />
+		<method name="setDialogMessage(Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setDialogTitle(I)V" deprecated="29" />
+		<method name="setDialogTitle(Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setNegativeButtonText(I)V" deprecated="29" />
+		<method name="setNegativeButtonText(Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setPositiveButtonText(I)V" deprecated="29" />
+		<method name="setPositiveButtonText(Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="showDialog(Landroid/os/Bundle;)V" deprecated="29" />
+	</class>
+	<class name="android/preference/EditTextPreference" since="1" deprecated="29">
+		<extends name="android/preference/DialogPreference" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="getEditText()Landroid/widget/EditText;" deprecated="29" />
+		<method name="getText()Ljava/lang/String;" deprecated="29" />
+		<method name="onAddEditTextToDialogView(Landroid/view/View;Landroid/widget/EditText;)V" deprecated="29" />
+		<method name="setText(Ljava/lang/String;)V" deprecated="29" />
+	</class>
+	<class name="android/preference/ListPreference" since="1" deprecated="29">
+		<extends name="android/preference/DialogPreference" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="21" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="findIndexOfValue(Ljava/lang/String;)I" deprecated="29" />
+		<method name="getEntries()[Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getEntry()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getEntryValues()[Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getValue()Ljava/lang/String;" deprecated="29" />
+		<method name="setEntries(I)V" deprecated="29" />
+		<method name="setEntries([Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setEntryValues(I)V" deprecated="29" />
+		<method name="setEntryValues([Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setValue(Ljava/lang/String;)V" deprecated="29" />
+		<method name="setValueIndex(I)V" deprecated="29" />
+	</class>
+	<class name="android/preference/MultiSelectListPreference" since="11" deprecated="29">
+		<extends name="android/preference/DialogPreference" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="21" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="findIndexOfValue(Ljava/lang/String;)I" deprecated="29" />
+		<method name="getEntries()[Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getEntryValues()[Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getValues()Ljava/util/Set;" deprecated="29" />
+		<method name="setEntries(I)V" deprecated="29" />
+		<method name="setEntries([Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setEntryValues(I)V" deprecated="29" />
+		<method name="setEntryValues([Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setValues(Ljava/util/Set;)V" deprecated="29" />
+	</class>
+	<class name="android/preference/Preference" since="1" deprecated="29">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="callChangeListener(Ljava/lang/Object;)Z" deprecated="29" />
+		<method name="compareTo(Landroid/preference/Preference;)I" deprecated="29" />
+		<method name="findPreferenceInHierarchy(Ljava/lang/String;)Landroid/preference/Preference;" deprecated="29" />
+		<method name="getContext()Landroid/content/Context;" deprecated="29" />
+		<method name="getDependency()Ljava/lang/String;" deprecated="29" />
+		<method name="getEditor()Landroid/content/SharedPreferences$Editor;" deprecated="29" />
+		<method name="getExtras()Landroid/os/Bundle;" since="11" deprecated="29" />
+		<method name="getFragment()Ljava/lang/String;" since="11" deprecated="29" />
+		<method name="getIcon()Landroid/graphics/drawable/Drawable;" since="11" deprecated="29" />
+		<method name="getIntent()Landroid/content/Intent;" deprecated="29" />
+		<method name="getKey()Ljava/lang/String;" deprecated="29" />
+		<method name="getLayoutResource()I" deprecated="29" />
+		<method name="getOnPreferenceChangeListener()Landroid/preference/Preference$OnPreferenceChangeListener;" deprecated="29" />
+		<method name="getOnPreferenceClickListener()Landroid/preference/Preference$OnPreferenceClickListener;" deprecated="29" />
+		<method name="getOrder()I" deprecated="29" />
+		<method name="getParent()Landroid/preference/PreferenceGroup;" since="26" deprecated="29" />
+		<method name="getPersistedBoolean(Z)Z" deprecated="29" />
+		<method name="getPersistedFloat(F)F" deprecated="29" />
+		<method name="getPersistedInt(I)I" deprecated="29" />
+		<method name="getPersistedLong(J)J" deprecated="29" />
+		<method name="getPersistedString(Ljava/lang/String;)Ljava/lang/String;" deprecated="29" />
+		<method name="getPersistedStringSet(Ljava/util/Set;)Ljava/util/Set;" since="24" deprecated="29" />
+		<method name="getPreferenceDataStore()Landroid/preference/PreferenceDataStore;" since="26" deprecated="29" />
+		<method name="getPreferenceManager()Landroid/preference/PreferenceManager;" deprecated="29" />
+		<method name="getSharedPreferences()Landroid/content/SharedPreferences;" deprecated="29" />
+		<method name="getShouldDisableView()Z" deprecated="29" />
+		<method name="getSummary()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getTitle()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getTitleRes()I" since="14" deprecated="29" />
+		<method name="getView(Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;" deprecated="29" />
+		<method name="getWidgetLayoutResource()I" deprecated="29" />
+		<method name="hasKey()Z" deprecated="29" />
+		<method name="isEnabled()Z" deprecated="29" />
+		<method name="isIconSpaceReserved()Z" since="26" deprecated="29" />
+		<method name="isPersistent()Z" deprecated="29" />
+		<method name="isRecycleEnabled()Z" since="26" deprecated="29" />
+		<method name="isSelectable()Z" deprecated="29" />
+		<method name="isSingleLineTitle()Z" since="26" deprecated="29" />
+		<method name="notifyChanged()V" deprecated="29" />
+		<method name="notifyDependencyChange(Z)V" deprecated="29" />
+		<method name="notifyHierarchyChanged()V" deprecated="29" />
+		<method name="onAttachedToActivity()V" deprecated="29" />
+		<method name="onAttachedToHierarchy(Landroid/preference/PreferenceManager;)V" deprecated="29" />
+		<method name="onBindView(Landroid/view/View;)V" deprecated="29" />
+		<method name="onClick()V" deprecated="29" />
+		<method name="onCreateView(Landroid/view/ViewGroup;)Landroid/view/View;" deprecated="29" />
+		<method name="onDependencyChanged(Landroid/preference/Preference;Z)V" deprecated="29" />
+		<method name="onGetDefaultValue(Landroid/content/res/TypedArray;I)Ljava/lang/Object;" deprecated="29" />
+		<method name="onParentChanged(Landroid/preference/Preference;Z)V" since="19" deprecated="29" />
+		<method name="onPrepareForRemoval()V" deprecated="29" />
+		<method name="onRestoreInstanceState(Landroid/os/Parcelable;)V" deprecated="29" />
+		<method name="onSaveInstanceState()Landroid/os/Parcelable;" deprecated="29" />
+		<method name="onSetInitialValue(ZLjava/lang/Object;)V" deprecated="29" />
+		<method name="peekExtras()Landroid/os/Bundle;" since="11" deprecated="29" />
+		<method name="persistBoolean(Z)Z" deprecated="29" />
+		<method name="persistFloat(F)Z" deprecated="29" />
+		<method name="persistInt(I)Z" deprecated="29" />
+		<method name="persistLong(J)Z" deprecated="29" />
+		<method name="persistString(Ljava/lang/String;)Z" deprecated="29" />
+		<method name="persistStringSet(Ljava/util/Set;)Z" since="24" deprecated="29" />
+		<method name="restoreHierarchyState(Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="saveHierarchyState(Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="setDefaultValue(Ljava/lang/Object;)V" deprecated="29" />
+		<method name="setDependency(Ljava/lang/String;)V" deprecated="29" />
+		<method name="setEnabled(Z)V" deprecated="29" />
+		<method name="setFragment(Ljava/lang/String;)V" since="11" deprecated="29" />
+		<method name="setIcon(I)V" since="11" deprecated="29" />
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)V" since="11" deprecated="29" />
+		<method name="setIconSpaceReserved(Z)V" since="26" deprecated="29" />
+		<method name="setIntent(Landroid/content/Intent;)V" deprecated="29" />
+		<method name="setKey(Ljava/lang/String;)V" deprecated="29" />
+		<method name="setLayoutResource(I)V" deprecated="29" />
+		<method name="setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V" deprecated="29" />
+		<method name="setOnPreferenceClickListener(Landroid/preference/Preference$OnPreferenceClickListener;)V" deprecated="29" />
+		<method name="setOrder(I)V" deprecated="29" />
+		<method name="setPersistent(Z)V" deprecated="29" />
+		<method name="setPreferenceDataStore(Landroid/preference/PreferenceDataStore;)V" since="26" deprecated="29" />
+		<method name="setRecycleEnabled(Z)V" since="26" deprecated="29" />
+		<method name="setSelectable(Z)V" deprecated="29" />
+		<method name="setShouldDisableView(Z)V" deprecated="29" />
+		<method name="setSingleLineTitle(Z)V" since="26" deprecated="29" />
+		<method name="setSummary(I)V" deprecated="29" />
+		<method name="setSummary(Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setTitle(I)V" deprecated="29" />
+		<method name="setTitle(Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setWidgetLayoutResource(I)V" deprecated="29" />
+		<method name="shouldCommit()Z" deprecated="29" />
+		<method name="shouldDisableDependents()Z" deprecated="29" />
+		<method name="shouldPersist()Z" deprecated="29" />
+		<field name="DEFAULT_ORDER" deprecated="29" />
+	</class>
+	<class name="android/preference/Preference$BaseSavedState" since="1" deprecated="29">
+		<extends name="android/view/AbsSavedState" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/os/Parcelable;)V" deprecated="29" />
+		<field name="CREATOR" deprecated="29" />
+	</class>
+	<class name="android/preference/Preference$OnPreferenceChangeListener" since="1" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onPreferenceChange(Landroid/preference/Preference;Ljava/lang/Object;)Z" deprecated="29" />
+	</class>
+	<class name="android/preference/Preference$OnPreferenceClickListener" since="1" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onPreferenceClick(Landroid/preference/Preference;)Z" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceActivity" since="1" deprecated="29">
+		<extends name="android/app/ListActivity" />
+		<implements name="android/preference/PreferenceFragment$OnPreferenceStartFragmentCallback" since="11" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="addPreferencesFromIntent(Landroid/content/Intent;)V" deprecated="15" />
+		<method name="addPreferencesFromResource(I)V" deprecated="15" />
+		<method name="findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;" deprecated="15" />
+		<method name="finishPreferencePanel(Landroid/app/Fragment;ILandroid/content/Intent;)V" since="11" deprecated="29" />
+		<method name="getPreferenceManager()Landroid/preference/PreferenceManager;" deprecated="15" />
+		<method name="getPreferenceScreen()Landroid/preference/PreferenceScreen;" deprecated="15" />
+		<method name="hasHeaders()Z" since="11" deprecated="29" />
+		<method name="invalidateHeaders()V" since="11" deprecated="29" />
+		<method name="isMultiPane()Z" since="11" deprecated="29" />
+		<method name="isValidFragment(Ljava/lang/String;)Z" since="19" deprecated="29" />
+		<method name="loadHeadersFromResource(ILjava/util/List;)V" since="11" deprecated="29" />
+		<method name="onBuildHeaders(Ljava/util/List;)V" since="11" deprecated="29" />
+		<method name="onBuildStartFragmentIntent(Ljava/lang/String;Landroid/os/Bundle;II)Landroid/content/Intent;" since="14" deprecated="29" />
+		<method name="onGetInitialHeader()Landroid/preference/PreferenceActivity$Header;" since="11" deprecated="29" />
+		<method name="onGetNewHeader()Landroid/preference/PreferenceActivity$Header;" since="11" deprecated="29" />
+		<method name="onHeaderClick(Landroid/preference/PreferenceActivity$Header;I)V" since="11" deprecated="29" />
+		<method name="onIsHidingHeaders()Z" since="11" deprecated="29" />
+		<method name="onIsMultiPane()Z" since="11" deprecated="29" />
+		<method name="onPreferenceTreeClick(Landroid/preference/PreferenceScreen;Landroid/preference/Preference;)Z" deprecated="15" />
+		<method name="setListFooter(Landroid/view/View;)V" since="11" deprecated="29" />
+		<method name="setParentTitle(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/view/View$OnClickListener;)V" since="11" deprecated="29" />
+		<method name="setPreferenceScreen(Landroid/preference/PreferenceScreen;)V" deprecated="15" />
+		<method name="showBreadCrumbs(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V" since="11" deprecated="29" />
+		<method name="startPreferenceFragment(Landroid/app/Fragment;Z)V" since="11" deprecated="29" />
+		<method name="startPreferencePanel(Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/CharSequence;Landroid/app/Fragment;I)V" since="11" deprecated="29" />
+		<method name="startWithFragment(Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Fragment;I)V" since="11" deprecated="29" />
+		<method name="startWithFragment(Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Fragment;III)V" since="14" deprecated="29" />
+		<method name="switchToHeader(Landroid/preference/PreferenceActivity$Header;)V" since="11" deprecated="29" />
+		<method name="switchToHeader(Ljava/lang/String;Landroid/os/Bundle;)V" since="11" deprecated="29" />
+		<field name="EXTRA_NO_HEADERS" since="11" deprecated="29" />
+		<field name="EXTRA_SHOW_FRAGMENT" since="11" deprecated="29" />
+		<field name="EXTRA_SHOW_FRAGMENT_ARGUMENTS" since="11" deprecated="29" />
+		<field name="EXTRA_SHOW_FRAGMENT_SHORT_TITLE" since="14" deprecated="29" />
+		<field name="EXTRA_SHOW_FRAGMENT_TITLE" since="14" deprecated="29" />
+		<field name="HEADER_ID_UNDEFINED" since="11" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceActivity$Header" since="11" deprecated="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="getBreadCrumbShortTitle(Landroid/content/res/Resources;)Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getBreadCrumbTitle(Landroid/content/res/Resources;)Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getSummary(Landroid/content/res/Resources;)Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getTitle(Landroid/content/res/Resources;)Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" deprecated="29" />
+		<field name="CREATOR" deprecated="29" />
+		<field name="breadCrumbShortTitle" deprecated="29" />
+		<field name="breadCrumbShortTitleRes" deprecated="29" />
+		<field name="breadCrumbTitle" deprecated="29" />
+		<field name="breadCrumbTitleRes" deprecated="29" />
+		<field name="extras" deprecated="29" />
+		<field name="fragment" deprecated="29" />
+		<field name="fragmentArguments" deprecated="29" />
+		<field name="iconRes" deprecated="29" />
+		<field name="id" deprecated="29" />
+		<field name="intent" deprecated="29" />
+		<field name="summary" deprecated="29" />
+		<field name="summaryRes" deprecated="29" />
+		<field name="title" deprecated="29" />
+		<field name="titleRes" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceCategory" since="1" deprecated="29">
+		<extends name="android/preference/PreferenceGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceDataStore" since="26" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="getBoolean(Ljava/lang/String;Z)Z" deprecated="29" />
+		<method name="getFloat(Ljava/lang/String;F)F" deprecated="29" />
+		<method name="getInt(Ljava/lang/String;I)I" deprecated="29" />
+		<method name="getLong(Ljava/lang/String;J)J" deprecated="29" />
+		<method name="getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="29" />
+		<method name="getStringSet(Ljava/lang/String;Ljava/util/Set;)Ljava/util/Set;" deprecated="29" />
+		<method name="putBoolean(Ljava/lang/String;Z)V" deprecated="29" />
+		<method name="putFloat(Ljava/lang/String;F)V" deprecated="29" />
+		<method name="putInt(Ljava/lang/String;I)V" deprecated="29" />
+		<method name="putLong(Ljava/lang/String;J)V" deprecated="29" />
+		<method name="putString(Ljava/lang/String;Ljava/lang/String;)V" deprecated="29" />
+		<method name="putStringSet(Ljava/lang/String;Ljava/util/Set;)V" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceFragment" since="11" deprecated="28">
+		<extends name="android/app/Fragment" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="addPreferencesFromIntent(Landroid/content/Intent;)V" deprecated="29" />
+		<method name="addPreferencesFromResource(I)V" deprecated="29" />
+		<method name="findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;" deprecated="29" />
+		<method name="getPreferenceManager()Landroid/preference/PreferenceManager;" deprecated="29" />
+		<method name="getPreferenceScreen()Landroid/preference/PreferenceScreen;" deprecated="29" />
+		<method name="onPreferenceTreeClick(Landroid/preference/PreferenceScreen;Landroid/preference/Preference;)Z" deprecated="29" />
+		<method name="setPreferenceScreen(Landroid/preference/PreferenceScreen;)V" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceFragment$OnPreferenceStartFragmentCallback" since="11" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="onPreferenceStartFragment(Landroid/preference/PreferenceFragment;Landroid/preference/Preference;)Z" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceGroup" since="1" deprecated="29">
+		<extends name="android/preference/Preference" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="addItemFromInflater(Landroid/preference/Preference;)V" deprecated="29" />
+		<method name="addPreference(Landroid/preference/Preference;)Z" deprecated="29" />
+		<method name="dispatchRestoreInstanceState(Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="dispatchSaveInstanceState(Landroid/os/Bundle;)V" deprecated="29" />
+		<method name="findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;" deprecated="29" />
+		<method name="getPreference(I)Landroid/preference/Preference;" deprecated="29" />
+		<method name="getPreferenceCount()I" deprecated="29" />
+		<method name="isOnSameScreenAsChildren()Z" deprecated="29" />
+		<method name="isOrderingAsAdded()Z" deprecated="29" />
+		<method name="onPrepareAddPreference(Landroid/preference/Preference;)Z" deprecated="29" />
+		<method name="removeAll()V" deprecated="29" />
+		<method name="removePreference(Landroid/preference/Preference;)Z" deprecated="29" />
+		<method name="setOrderingAsAdded(Z)V" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceManager" since="1" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="createPreferenceScreen(Landroid/content/Context;)Landroid/preference/PreferenceScreen;" deprecated="29" />
+		<method name="findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;" deprecated="29" />
+		<method name="getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences;" deprecated="29" />
+		<method name="getDefaultSharedPreferencesName(Landroid/content/Context;)Ljava/lang/String;" since="24" deprecated="29" />
+		<method name="getPreferenceDataStore()Landroid/preference/PreferenceDataStore;" since="26" deprecated="29" />
+		<method name="getSharedPreferences()Landroid/content/SharedPreferences;" deprecated="29" />
+		<method name="getSharedPreferencesMode()I" deprecated="29" />
+		<method name="getSharedPreferencesName()Ljava/lang/String;" deprecated="29" />
+		<method name="isStorageDefault()Z" since="24" deprecated="29" />
+		<method name="isStorageDeviceProtected()Z" since="24" deprecated="29" />
+		<method name="setDefaultValues(Landroid/content/Context;IZ)V" deprecated="29" />
+		<method name="setDefaultValues(Landroid/content/Context;Ljava/lang/String;IIZ)V" deprecated="29" />
+		<method name="setPreferenceDataStore(Landroid/preference/PreferenceDataStore;)V" since="26" deprecated="29" />
+		<method name="setSharedPreferencesMode(I)V" deprecated="29" />
+		<method name="setSharedPreferencesName(Ljava/lang/String;)V" deprecated="29" />
+		<method name="setStorageDefault()V" since="24" deprecated="29" />
+		<method name="setStorageDeviceProtected()V" since="24" deprecated="29" />
+		<field name="KEY_HAS_SET_DEFAULT_VALUES" deprecated="29" />
+		<field name="METADATA_KEY_PREFERENCES" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceManager$OnActivityDestroyListener" since="1" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onActivityDestroy()V" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceManager$OnActivityResultListener" since="1" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onActivityResult(IILandroid/content/Intent;)Z" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceManager$OnActivityStopListener" since="1" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onActivityStop()V" deprecated="29" />
+	</class>
+	<class name="android/preference/PreferenceScreen" since="1" deprecated="29">
+		<extends name="android/preference/PreferenceGroup" />
+		<implements name="android/content/DialogInterface$OnDismissListener" />
+		<implements name="android/widget/AdapterView$OnItemClickListener" />
+		<method name="bind(Landroid/widget/ListView;)V" deprecated="29" />
+		<method name="getDialog()Landroid/app/Dialog;" deprecated="29" />
+		<method name="getRootAdapter()Landroid/widget/ListAdapter;" deprecated="29" />
+		<method name="onCreateRootAdapter()Landroid/widget/ListAdapter;" deprecated="29" />
+	</class>
+	<class name="android/preference/RingtonePreference" since="1" deprecated="29">
+		<extends name="android/preference/Preference" />
+		<implements name="android/preference/PreferenceManager$OnActivityResultListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="getRingtoneType()I" deprecated="29" />
+		<method name="getShowDefault()Z" deprecated="29" />
+		<method name="getShowSilent()Z" deprecated="29" />
+		<method name="onPrepareRingtonePickerIntent(Landroid/content/Intent;)V" deprecated="29" />
+		<method name="onRestoreRingtone()Landroid/net/Uri;" deprecated="29" />
+		<method name="onSaveRingtone(Landroid/net/Uri;)V" deprecated="29" />
+		<method name="setRingtoneType(I)V" deprecated="29" />
+		<method name="setShowDefault(Z)V" deprecated="29" />
+		<method name="setShowSilent(Z)V" deprecated="29" />
+	</class>
+	<class name="android/preference/SwitchPreference" since="14" deprecated="29">
+		<extends name="android/preference/TwoStatePreference" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="getSwitchTextOff()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getSwitchTextOn()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="setSwitchTextOff(I)V" deprecated="29" />
+		<method name="setSwitchTextOff(Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setSwitchTextOn(I)V" deprecated="29" />
+		<method name="setSwitchTextOn(Ljava/lang/CharSequence;)V" deprecated="29" />
+	</class>
+	<class name="android/preference/TwoStatePreference" since="14" deprecated="29">
+		<extends name="android/preference/Preference" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="getDisableDependentsState()Z" deprecated="29" />
+		<method name="getSummaryOff()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getSummaryOn()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="isChecked()Z" deprecated="29" />
+		<method name="setChecked(Z)V" deprecated="29" />
+		<method name="setDisableDependentsState(Z)V" deprecated="29" />
+		<method name="setSummaryOff(I)V" deprecated="29" />
+		<method name="setSummaryOff(Ljava/lang/CharSequence;)V" deprecated="29" />
+		<method name="setSummaryOn(I)V" deprecated="29" />
+		<method name="setSummaryOn(Ljava/lang/CharSequence;)V" deprecated="29" />
+	</class>
+	<class name="android/print/PageRange" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getEnd()I" />
+		<method name="getStart()I" />
+		<field name="ALL_PAGES" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/print/PrintAttributes" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getColorMode()I" />
+		<method name="getDuplexMode()I" since="23" />
+		<method name="getMediaSize()Landroid/print/PrintAttributes$MediaSize;" />
+		<method name="getMinMargins()Landroid/print/PrintAttributes$Margins;" />
+		<method name="getResolution()Landroid/print/PrintAttributes$Resolution;" />
+		<field name="COLOR_MODE_COLOR" />
+		<field name="COLOR_MODE_MONOCHROME" />
+		<field name="CREATOR" />
+		<field name="DUPLEX_MODE_LONG_EDGE" since="23" />
+		<field name="DUPLEX_MODE_NONE" since="23" />
+		<field name="DUPLEX_MODE_SHORT_EDGE" since="23" />
+	</class>
+	<class name="android/print/PrintAttributes$Builder" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/print/PrintAttributes;" />
+		<method name="setColorMode(I)Landroid/print/PrintAttributes$Builder;" />
+		<method name="setDuplexMode(I)Landroid/print/PrintAttributes$Builder;" since="23" />
+		<method name="setMediaSize(Landroid/print/PrintAttributes$MediaSize;)Landroid/print/PrintAttributes$Builder;" />
+		<method name="setMinMargins(Landroid/print/PrintAttributes$Margins;)Landroid/print/PrintAttributes$Builder;" />
+		<method name="setResolution(Landroid/print/PrintAttributes$Resolution;)Landroid/print/PrintAttributes$Builder;" />
+	</class>
+	<class name="android/print/PrintAttributes$Margins" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IIII)V" />
+		<method name="getBottomMils()I" />
+		<method name="getLeftMils()I" />
+		<method name="getRightMils()I" />
+		<method name="getTopMils()I" />
+		<field name="NO_MARGINS" />
+	</class>
+	<class name="android/print/PrintAttributes$MediaSize" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;II)V" />
+		<method name="asLandscape()Landroid/print/PrintAttributes$MediaSize;" />
+		<method name="asPortrait()Landroid/print/PrintAttributes$MediaSize;" />
+		<method name="getHeightMils()I" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getLabel(Landroid/content/pm/PackageManager;)Ljava/lang/String;" />
+		<method name="getWidthMils()I" />
+		<method name="isPortrait()Z" />
+		<field name="ANSI_C" since="31" />
+		<field name="ANSI_D" since="31" />
+		<field name="ANSI_E" since="31" />
+		<field name="ANSI_F" since="31" />
+		<field name="ISO_A0" />
+		<field name="ISO_A1" />
+		<field name="ISO_A10" />
+		<field name="ISO_A2" />
+		<field name="ISO_A3" />
+		<field name="ISO_A4" />
+		<field name="ISO_A5" />
+		<field name="ISO_A6" />
+		<field name="ISO_A7" />
+		<field name="ISO_A8" />
+		<field name="ISO_A9" />
+		<field name="ISO_B0" />
+		<field name="ISO_B1" />
+		<field name="ISO_B10" />
+		<field name="ISO_B2" />
+		<field name="ISO_B3" />
+		<field name="ISO_B4" />
+		<field name="ISO_B5" />
+		<field name="ISO_B6" />
+		<field name="ISO_B7" />
+		<field name="ISO_B8" />
+		<field name="ISO_B9" />
+		<field name="ISO_C0" />
+		<field name="ISO_C1" />
+		<field name="ISO_C10" />
+		<field name="ISO_C2" />
+		<field name="ISO_C3" />
+		<field name="ISO_C4" />
+		<field name="ISO_C5" />
+		<field name="ISO_C6" />
+		<field name="ISO_C7" />
+		<field name="ISO_C8" />
+		<field name="ISO_C9" />
+		<field name="JIS_B0" />
+		<field name="JIS_B1" />
+		<field name="JIS_B10" />
+		<field name="JIS_B2" />
+		<field name="JIS_B3" />
+		<field name="JIS_B4" />
+		<field name="JIS_B5" />
+		<field name="JIS_B6" />
+		<field name="JIS_B7" />
+		<field name="JIS_B8" />
+		<field name="JIS_B9" />
+		<field name="JIS_EXEC" />
+		<field name="JPN_CHOU2" />
+		<field name="JPN_CHOU3" />
+		<field name="JPN_CHOU4" />
+		<field name="JPN_HAGAKI" />
+		<field name="JPN_KAHU" />
+		<field name="JPN_KAKU2" />
+		<field name="JPN_OE_PHOTO_L" since="31" />
+		<field name="JPN_OUFUKU" />
+		<field name="JPN_YOU4" />
+		<field name="NA_ARCH_A" since="31" />
+		<field name="NA_ARCH_B" since="31" />
+		<field name="NA_ARCH_C" since="31" />
+		<field name="NA_ARCH_D" since="31" />
+		<field name="NA_ARCH_E" since="31" />
+		<field name="NA_ARCH_E1" since="31" />
+		<field name="NA_FOOLSCAP" />
+		<field name="NA_GOVT_LETTER" />
+		<field name="NA_INDEX_3X5" />
+		<field name="NA_INDEX_4X6" />
+		<field name="NA_INDEX_5X8" />
+		<field name="NA_JUNIOR_LEGAL" />
+		<field name="NA_LEDGER" />
+		<field name="NA_LEGAL" />
+		<field name="NA_LETTER" />
+		<field name="NA_MONARCH" />
+		<field name="NA_QUARTO" />
+		<field name="NA_SUPER_B" since="31" />
+		<field name="NA_TABLOID" />
+		<field name="OM_DAI_PA_KAI" />
+		<field name="OM_JUURO_KU_KAI" />
+		<field name="OM_PA_KAI" />
+		<field name="PRC_1" />
+		<field name="PRC_10" />
+		<field name="PRC_16K" />
+		<field name="PRC_2" />
+		<field name="PRC_3" />
+		<field name="PRC_4" />
+		<field name="PRC_5" />
+		<field name="PRC_6" />
+		<field name="PRC_7" />
+		<field name="PRC_8" />
+		<field name="PRC_9" />
+		<field name="ROC_16K" />
+		<field name="ROC_8K" />
+		<field name="UNKNOWN_LANDSCAPE" />
+		<field name="UNKNOWN_PORTRAIT" />
+	</class>
+	<class name="android/print/PrintAttributes$Resolution" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;II)V" />
+		<method name="getHorizontalDpi()I" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getLabel()Ljava/lang/String;" />
+		<method name="getVerticalDpi()I" />
+	</class>
+	<class name="android/print/PrintDocumentAdapter" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onFinish()V" />
+		<method name="onLayout(Landroid/print/PrintAttributes;Landroid/print/PrintAttributes;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$LayoutResultCallback;Landroid/os/Bundle;)V" />
+		<method name="onStart()V" />
+		<method name="onWrite([Landroid/print/PageRange;Landroid/os/ParcelFileDescriptor;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$WriteResultCallback;)V" />
+		<field name="EXTRA_PRINT_PREVIEW" />
+	</class>
+	<class name="android/print/PrintDocumentAdapter$LayoutResultCallback" since="19">
+		<extends name="java/lang/Object" />
+		<method name="onLayoutCancelled()V" />
+		<method name="onLayoutFailed(Ljava/lang/CharSequence;)V" />
+		<method name="onLayoutFinished(Landroid/print/PrintDocumentInfo;Z)V" />
+	</class>
+	<class name="android/print/PrintDocumentAdapter$WriteResultCallback" since="19">
+		<extends name="java/lang/Object" />
+		<method name="onWriteCancelled()V" />
+		<method name="onWriteFailed(Ljava/lang/CharSequence;)V" />
+		<method name="onWriteFinished([Landroid/print/PageRange;)V" />
+	</class>
+	<class name="android/print/PrintDocumentInfo" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getContentType()I" />
+		<method name="getDataSize()J" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPageCount()I" />
+		<field name="CONTENT_TYPE_DOCUMENT" />
+		<field name="CONTENT_TYPE_PHOTO" />
+		<field name="CONTENT_TYPE_UNKNOWN" />
+		<field name="CREATOR" />
+		<field name="PAGE_COUNT_UNKNOWN" />
+	</class>
+	<class name="android/print/PrintDocumentInfo$Builder" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="build()Landroid/print/PrintDocumentInfo;" />
+		<method name="setContentType(I)Landroid/print/PrintDocumentInfo$Builder;" />
+		<method name="setPageCount(I)Landroid/print/PrintDocumentInfo$Builder;" />
+	</class>
+	<class name="android/print/PrintJob" since="19">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" />
+		<method name="getId()Landroid/print/PrintJobId;" />
+		<method name="getInfo()Landroid/print/PrintJobInfo;" />
+		<method name="isBlocked()Z" />
+		<method name="isCancelled()Z" />
+		<method name="isCompleted()Z" />
+		<method name="isFailed()Z" />
+		<method name="isQueued()Z" />
+		<method name="isStarted()Z" />
+		<method name="restart()V" />
+	</class>
+	<class name="android/print/PrintJobId" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/print/PrintJobInfo" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAdvancedIntOption(Ljava/lang/String;)I" since="26" />
+		<method name="getAdvancedStringOption(Ljava/lang/String;)Ljava/lang/String;" since="26" />
+		<method name="getAttributes()Landroid/print/PrintAttributes;" />
+		<method name="getCopies()I" />
+		<method name="getCreationTime()J" />
+		<method name="getId()Landroid/print/PrintJobId;" />
+		<method name="getLabel()Ljava/lang/String;" />
+		<method name="getPages()[Landroid/print/PageRange;" />
+		<method name="getPrinterId()Landroid/print/PrinterId;" />
+		<method name="getState()I" />
+		<method name="hasAdvancedOption(Ljava/lang/String;)Z" since="26" />
+		<field name="CREATOR" />
+		<field name="STATE_BLOCKED" />
+		<field name="STATE_CANCELED" />
+		<field name="STATE_COMPLETED" />
+		<field name="STATE_CREATED" />
+		<field name="STATE_FAILED" />
+		<field name="STATE_QUEUED" />
+		<field name="STATE_STARTED" />
+	</class>
+	<class name="android/print/PrintJobInfo$Builder" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/print/PrintJobInfo;)V" />
+		<method name="build()Landroid/print/PrintJobInfo;" />
+		<method name="putAdvancedOption(Ljava/lang/String;I)V" />
+		<method name="putAdvancedOption(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setAttributes(Landroid/print/PrintAttributes;)V" />
+		<method name="setCopies(I)V" />
+		<method name="setPages([Landroid/print/PageRange;)V" />
+	</class>
+	<class name="android/print/PrintManager" since="19">
+		<extends name="java/lang/Object" />
+		<method name="getPrintJobs()Ljava/util/List;" />
+		<method name="print(Ljava/lang/String;Landroid/print/PrintDocumentAdapter;Landroid/print/PrintAttributes;)Landroid/print/PrintJob;" />
+	</class>
+	<class name="android/print/PrinterCapabilitiesInfo" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getColorModes()I" />
+		<method name="getDefaults()Landroid/print/PrintAttributes;" />
+		<method name="getDuplexModes()I" since="23" />
+		<method name="getMediaSizes()Ljava/util/List;" />
+		<method name="getMinMargins()Landroid/print/PrintAttributes$Margins;" />
+		<method name="getResolutions()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/print/PrinterCapabilitiesInfo$Builder" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/print/PrinterId;)V" />
+		<method name="addMediaSize(Landroid/print/PrintAttributes$MediaSize;Z)Landroid/print/PrinterCapabilitiesInfo$Builder;" />
+		<method name="addResolution(Landroid/print/PrintAttributes$Resolution;Z)Landroid/print/PrinterCapabilitiesInfo$Builder;" />
+		<method name="build()Landroid/print/PrinterCapabilitiesInfo;" />
+		<method name="setColorModes(II)Landroid/print/PrinterCapabilitiesInfo$Builder;" />
+		<method name="setDuplexModes(II)Landroid/print/PrinterCapabilitiesInfo$Builder;" since="23" />
+		<method name="setMinMargins(Landroid/print/PrintAttributes$Margins;)Landroid/print/PrinterCapabilitiesInfo$Builder;" />
+	</class>
+	<class name="android/print/PrinterId" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getLocalId()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/print/PrinterInfo" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCapabilities()Landroid/print/PrinterCapabilitiesInfo;" />
+		<method name="getDescription()Ljava/lang/String;" />
+		<method name="getId()Landroid/print/PrinterId;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getStatus()I" />
+		<field name="CREATOR" />
+		<field name="STATUS_BUSY" />
+		<field name="STATUS_IDLE" />
+		<field name="STATUS_UNAVAILABLE" />
+	</class>
+	<class name="android/print/PrinterInfo$Builder" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/print/PrinterId;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Landroid/print/PrinterInfo;)V" />
+		<method name="build()Landroid/print/PrinterInfo;" />
+		<method name="setCapabilities(Landroid/print/PrinterCapabilitiesInfo;)Landroid/print/PrinterInfo$Builder;" />
+		<method name="setDescription(Ljava/lang/String;)Landroid/print/PrinterInfo$Builder;" />
+		<method name="setHasCustomPrinterIcon(Z)Landroid/print/PrinterInfo$Builder;" since="24" />
+		<method name="setIconResourceId(I)Landroid/print/PrinterInfo$Builder;" since="24" />
+		<method name="setInfoIntent(Landroid/app/PendingIntent;)Landroid/print/PrinterInfo$Builder;" since="24" />
+		<method name="setName(Ljava/lang/String;)Landroid/print/PrinterInfo$Builder;" />
+		<method name="setStatus(I)Landroid/print/PrinterInfo$Builder;" />
+	</class>
+	<class name="android/print/pdf/PrintedPdfDocument" since="19">
+		<extends name="android/graphics/pdf/PdfDocument" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/print/PrintAttributes;)V" />
+		<method name="getPageContentRect()Landroid/graphics/Rect;" />
+		<method name="getPageHeight()I" />
+		<method name="getPageWidth()I" />
+		<method name="startPage(I)Landroid/graphics/pdf/PdfDocument$Page;" />
+	</class>
+	<class name="android/printservice/CustomPrinterIconCallback" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onCustomPrinterIconLoaded(Landroid/graphics/drawable/Icon;)Z" />
+	</class>
+	<class name="android/printservice/PrintDocument" since="19">
+		<extends name="java/lang/Object" />
+		<method name="getData()Landroid/os/ParcelFileDescriptor;" />
+		<method name="getInfo()Landroid/print/PrintDocumentInfo;" />
+	</class>
+	<class name="android/printservice/PrintJob" since="19">
+		<extends name="java/lang/Object" />
+		<method name="block(Ljava/lang/String;)Z" />
+		<method name="cancel()Z" />
+		<method name="complete()Z" />
+		<method name="fail(Ljava/lang/String;)Z" />
+		<method name="getAdvancedIntOption(Ljava/lang/String;)I" />
+		<method name="getAdvancedStringOption(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getDocument()Landroid/printservice/PrintDocument;" />
+		<method name="getId()Landroid/print/PrintJobId;" />
+		<method name="getInfo()Landroid/print/PrintJobInfo;" />
+		<method name="getTag()Ljava/lang/String;" />
+		<method name="hasAdvancedOption(Ljava/lang/String;)Z" />
+		<method name="isBlocked()Z" />
+		<method name="isCancelled()Z" />
+		<method name="isCompleted()Z" />
+		<method name="isFailed()Z" />
+		<method name="isQueued()Z" />
+		<method name="isStarted()Z" />
+		<method name="setProgress(F)V" since="24" />
+		<method name="setStatus(I)V" since="24" />
+		<method name="setStatus(Ljava/lang/CharSequence;)V" since="24" />
+		<method name="setTag(Ljava/lang/String;)Z" />
+		<method name="start()Z" />
+	</class>
+	<class name="android/printservice/PrintService" since="19">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="generatePrinterId(Ljava/lang/String;)Landroid/print/PrinterId;" />
+		<method name="getActivePrintJobs()Ljava/util/List;" />
+		<method name="onConnected()V" />
+		<method name="onCreatePrinterDiscoverySession()Landroid/printservice/PrinterDiscoverySession;" />
+		<method name="onDisconnected()V" />
+		<method name="onPrintJobQueued(Landroid/printservice/PrintJob;)V" />
+		<method name="onRequestCancelPrintJob(Landroid/printservice/PrintJob;)V" />
+		<field name="EXTRA_CAN_SELECT_PRINTER" since="26" />
+		<field name="EXTRA_PRINTER_INFO" since="21" />
+		<field name="EXTRA_PRINT_DOCUMENT_INFO" since="23" />
+		<field name="EXTRA_PRINT_JOB_INFO" />
+		<field name="EXTRA_SELECT_PRINTER" since="26" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/printservice/PrinterDiscoverySession" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addPrinters(Ljava/util/List;)V" />
+		<method name="getPrinters()Ljava/util/List;" />
+		<method name="getTrackedPrinters()Ljava/util/List;" />
+		<method name="isDestroyed()Z" />
+		<method name="isPrinterDiscoveryStarted()Z" />
+		<method name="onDestroy()V" />
+		<method name="onRequestCustomPrinterIcon(Landroid/print/PrinterId;Landroid/os/CancellationSignal;Landroid/printservice/CustomPrinterIconCallback;)V" since="24" />
+		<method name="onStartPrinterDiscovery(Ljava/util/List;)V" />
+		<method name="onStartPrinterStateTracking(Landroid/print/PrinterId;)V" />
+		<method name="onStopPrinterDiscovery()V" />
+		<method name="onStopPrinterStateTracking(Landroid/print/PrinterId;)V" />
+		<method name="onValidatePrinters(Ljava/util/List;)V" />
+		<method name="removePrinters(Ljava/util/List;)V" />
+	</class>
+	<class name="android/provider/AlarmClock" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="ACTION_DISMISS_ALARM" since="23" />
+		<field name="ACTION_DISMISS_TIMER" since="28" />
+		<field name="ACTION_SET_ALARM" />
+		<field name="ACTION_SET_TIMER" since="19" />
+		<field name="ACTION_SHOW_ALARMS" since="19" />
+		<field name="ACTION_SHOW_TIMERS" since="26" />
+		<field name="ACTION_SNOOZE_ALARM" since="23" />
+		<field name="ALARM_SEARCH_MODE_ALL" since="23" />
+		<field name="ALARM_SEARCH_MODE_LABEL" since="23" />
+		<field name="ALARM_SEARCH_MODE_NEXT" since="23" />
+		<field name="ALARM_SEARCH_MODE_TIME" since="23" />
+		<field name="EXTRA_ALARM_SEARCH_MODE" since="23" />
+		<field name="EXTRA_ALARM_SNOOZE_DURATION" since="23" />
+		<field name="EXTRA_DAYS" since="19" />
+		<field name="EXTRA_HOUR" />
+		<field name="EXTRA_IS_PM" since="23" />
+		<field name="EXTRA_LENGTH" since="19" />
+		<field name="EXTRA_MESSAGE" />
+		<field name="EXTRA_MINUTES" />
+		<field name="EXTRA_RINGTONE" since="19" />
+		<field name="EXTRA_SKIP_UI" since="11" />
+		<field name="EXTRA_VIBRATE" since="19" />
+		<field name="VALUE_RINGTONE_SILENT" since="19" />
+	</class>
+	<class name="android/provider/BaseColumns" since="1">
+		<extends name="java/lang/Object" />
+		<field name="_COUNT" />
+		<field name="_ID" />
+	</class>
+	<class name="android/provider/BlockedNumberContract" since="24">
+		<extends name="java/lang/Object" />
+		<method name="canCurrentUserBlockNumbers(Landroid/content/Context;)Z" />
+		<method name="isBlocked(Landroid/content/Context;Ljava/lang/String;)Z" />
+		<method name="unblock(Landroid/content/Context;Ljava/lang/String;)I" />
+		<field name="AUTHORITY" />
+		<field name="AUTHORITY_URI" />
+	</class>
+	<class name="android/provider/BlockedNumberContract$BlockedNumbers" since="24">
+		<extends name="java/lang/Object" />
+		<field name="COLUMN_E164_NUMBER" />
+		<field name="COLUMN_ID" />
+		<field name="COLUMN_ORIGINAL_NUMBER" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/Browser" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addSearchUrl(Landroid/content/ContentResolver;Ljava/lang/String;)V" removed="23" />
+		<method name="canClearHistory(Landroid/content/ContentResolver;)Z" removed="23" />
+		<method name="clearHistory(Landroid/content/ContentResolver;)V" removed="23" />
+		<method name="clearSearches(Landroid/content/ContentResolver;)V" removed="23" />
+		<method name="deleteFromHistory(Landroid/content/ContentResolver;Ljava/lang/String;)V" removed="23" />
+		<method name="deleteHistoryTimeFrame(Landroid/content/ContentResolver;JJ)V" removed="23" />
+		<method name="getAllBookmarks(Landroid/content/ContentResolver;)Landroid/database/Cursor;" removed="23" />
+		<method name="getAllVisitedUrls(Landroid/content/ContentResolver;)Landroid/database/Cursor;" removed="23" />
+		<method name="requestAllIcons(Landroid/content/ContentResolver;Ljava/lang/String;Landroid/webkit/WebIconDatabase$IconListener;)V" removed="23" />
+		<method name="saveBookmark(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V" removed="23" />
+		<method name="sendString(Landroid/content/Context;Ljava/lang/String;)V" />
+		<method name="truncateHistory(Landroid/content/ContentResolver;)V" removed="23" />
+		<method name="updateVisitedHistory(Landroid/content/ContentResolver;Ljava/lang/String;Z)V" removed="23" />
+		<field name="BOOKMARKS_URI" removed="23" />
+		<field name="EXTRA_APPLICATION_ID" since="3" />
+		<field name="EXTRA_CREATE_NEW_TAB" since="12" />
+		<field name="EXTRA_HEADERS" since="8" />
+		<field name="HISTORY_PROJECTION" removed="23" />
+		<field name="HISTORY_PROJECTION_BOOKMARK_INDEX" removed="23" />
+		<field name="HISTORY_PROJECTION_DATE_INDEX" removed="23" />
+		<field name="HISTORY_PROJECTION_FAVICON_INDEX" removed="23" />
+		<field name="HISTORY_PROJECTION_ID_INDEX" removed="23" />
+		<field name="HISTORY_PROJECTION_TITLE_INDEX" removed="23" />
+		<field name="HISTORY_PROJECTION_URL_INDEX" removed="23" />
+		<field name="HISTORY_PROJECTION_VISITS_INDEX" removed="23" />
+		<field name="INITIAL_ZOOM_LEVEL" />
+		<field name="SEARCHES_PROJECTION" removed="23" />
+		<field name="SEARCHES_PROJECTION_DATE_INDEX" removed="23" />
+		<field name="SEARCHES_PROJECTION_SEARCH_INDEX" removed="23" />
+		<field name="SEARCHES_URI" removed="23" />
+		<field name="TRUNCATE_HISTORY_PROJECTION" removed="23" />
+		<field name="TRUNCATE_HISTORY_PROJECTION_ID_INDEX" removed="23" />
+		<field name="TRUNCATE_N_OLDEST" removed="23" />
+	</class>
+	<class name="android/provider/Browser$BookmarkColumns" since="1" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<method name="&lt;init&gt;()V" />
+		<field name="BOOKMARK" />
+		<field name="CREATED" />
+		<field name="DATE" />
+		<field name="FAVICON" />
+		<field name="TITLE" />
+		<field name="URL" />
+		<field name="VISITS" />
+	</class>
+	<class name="android/provider/Browser$SearchColumns" since="1" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<method name="&lt;init&gt;()V" />
+		<field name="DATE" />
+		<field name="SEARCH" />
+		<field name="URL" deprecated="15" />
+	</class>
+	<class name="android/provider/CalendarContract" since="14">
+		<extends name="java/lang/Object" />
+		<method name="startViewCalendarEventInManagedProfile(Landroid/content/Context;JJJZI)Z" since="29" />
+		<field name="ACCOUNT_TYPE_LOCAL" />
+		<field name="ACTION_EVENT_REMINDER" />
+		<field name="ACTION_HANDLE_CUSTOM_EVENT" since="16" />
+		<field name="ACTION_VIEW_MANAGED_PROFILE_CALENDAR_EVENT" since="29" />
+		<field name="AUTHORITY" />
+		<field name="CALLER_IS_SYNCADAPTER" />
+		<field name="CONTENT_URI" />
+		<field name="EXTRA_CUSTOM_APP_URI" since="16" />
+		<field name="EXTRA_EVENT_ALL_DAY" />
+		<field name="EXTRA_EVENT_BEGIN_TIME" />
+		<field name="EXTRA_EVENT_END_TIME" />
+		<field name="EXTRA_EVENT_ID" since="29" />
+	</class>
+	<class name="android/provider/CalendarContract$Attendees" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/CalendarContract$AttendeesColumns" />
+		<implements name="android/provider/CalendarContract$EventsColumns" />
+		<method name="query(Landroid/content/ContentResolver;J[Ljava/lang/String;)Landroid/database/Cursor;" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/CalendarContract$AttendeesColumns" since="14">
+		<extends name="java/lang/Object" />
+		<field name="ATTENDEE_EMAIL" />
+		<field name="ATTENDEE_IDENTITY" since="16" />
+		<field name="ATTENDEE_ID_NAMESPACE" since="16" />
+		<field name="ATTENDEE_NAME" />
+		<field name="ATTENDEE_RELATIONSHIP" />
+		<field name="ATTENDEE_STATUS" />
+		<field name="ATTENDEE_STATUS_ACCEPTED" />
+		<field name="ATTENDEE_STATUS_DECLINED" />
+		<field name="ATTENDEE_STATUS_INVITED" />
+		<field name="ATTENDEE_STATUS_NONE" />
+		<field name="ATTENDEE_STATUS_TENTATIVE" />
+		<field name="ATTENDEE_TYPE" />
+		<field name="EVENT_ID" />
+		<field name="RELATIONSHIP_ATTENDEE" />
+		<field name="RELATIONSHIP_NONE" />
+		<field name="RELATIONSHIP_ORGANIZER" />
+		<field name="RELATIONSHIP_PERFORMER" />
+		<field name="RELATIONSHIP_SPEAKER" />
+		<field name="TYPE_NONE" />
+		<field name="TYPE_OPTIONAL" />
+		<field name="TYPE_REQUIRED" />
+		<field name="TYPE_RESOURCE" since="15" />
+	</class>
+	<class name="android/provider/CalendarContract$CalendarAlerts" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/CalendarContract$CalendarAlertsColumns" />
+		<implements name="android/provider/CalendarContract$CalendarColumns" />
+		<implements name="android/provider/CalendarContract$EventsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="CONTENT_URI_BY_INSTANCE" />
+	</class>
+	<class name="android/provider/CalendarContract$CalendarAlertsColumns" since="14">
+		<extends name="java/lang/Object" />
+		<field name="ALARM_TIME" />
+		<field name="BEGIN" />
+		<field name="CREATION_TIME" />
+		<field name="DEFAULT_SORT_ORDER" />
+		<field name="END" />
+		<field name="EVENT_ID" />
+		<field name="MINUTES" />
+		<field name="NOTIFY_TIME" />
+		<field name="RECEIVED_TIME" />
+		<field name="STATE" />
+		<field name="STATE_DISMISSED" />
+		<field name="STATE_FIRED" />
+		<field name="STATE_SCHEDULED" />
+	</class>
+	<class name="android/provider/CalendarContract$CalendarCache" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/CalendarContract$CalendarCacheColumns" />
+		<field name="KEY_TIMEZONE_INSTANCES" />
+		<field name="KEY_TIMEZONE_INSTANCES_PREVIOUS" />
+		<field name="KEY_TIMEZONE_TYPE" />
+		<field name="TIMEZONE_TYPE_AUTO" />
+		<field name="TIMEZONE_TYPE_HOME" />
+		<field name="URI" />
+	</class>
+	<class name="android/provider/CalendarContract$CalendarCacheColumns" since="14">
+		<extends name="java/lang/Object" />
+		<field name="KEY" />
+		<field name="VALUE" />
+	</class>
+	<class name="android/provider/CalendarContract$CalendarColumns" since="14">
+		<extends name="java/lang/Object" />
+		<field name="ALLOWED_ATTENDEE_TYPES" since="15" />
+		<field name="ALLOWED_AVAILABILITY" since="15" />
+		<field name="ALLOWED_REMINDERS" />
+		<field name="CALENDAR_ACCESS_LEVEL" />
+		<field name="CALENDAR_COLOR" />
+		<field name="CALENDAR_COLOR_KEY" since="15" />
+		<field name="CALENDAR_DISPLAY_NAME" />
+		<field name="CALENDAR_TIME_ZONE" />
+		<field name="CAL_ACCESS_CONTRIBUTOR" />
+		<field name="CAL_ACCESS_EDITOR" />
+		<field name="CAL_ACCESS_FREEBUSY" />
+		<field name="CAL_ACCESS_NONE" />
+		<field name="CAL_ACCESS_OVERRIDE" />
+		<field name="CAL_ACCESS_OWNER" />
+		<field name="CAL_ACCESS_READ" />
+		<field name="CAL_ACCESS_RESPOND" />
+		<field name="CAL_ACCESS_ROOT" />
+		<field name="CAN_MODIFY_TIME_ZONE" />
+		<field name="CAN_ORGANIZER_RESPOND" />
+		<field name="IS_PRIMARY" since="17" />
+		<field name="MAX_REMINDERS" />
+		<field name="OWNER_ACCOUNT" />
+		<field name="SYNC_EVENTS" />
+		<field name="VISIBLE" />
+	</class>
+	<class name="android/provider/CalendarContract$CalendarEntity" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/CalendarContract$CalendarColumns" />
+		<implements name="android/provider/CalendarContract$SyncColumns" />
+		<method name="newEntityIterator(Landroid/database/Cursor;)Landroid/content/EntityIterator;" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/CalendarContract$CalendarSyncColumns" since="14">
+		<extends name="java/lang/Object" />
+		<field name="CAL_SYNC1" />
+		<field name="CAL_SYNC10" />
+		<field name="CAL_SYNC2" />
+		<field name="CAL_SYNC3" />
+		<field name="CAL_SYNC4" />
+		<field name="CAL_SYNC5" />
+		<field name="CAL_SYNC6" />
+		<field name="CAL_SYNC7" />
+		<field name="CAL_SYNC8" />
+		<field name="CAL_SYNC9" />
+	</class>
+	<class name="android/provider/CalendarContract$Calendars" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/CalendarContract$CalendarColumns" />
+		<implements name="android/provider/CalendarContract$SyncColumns" />
+		<field name="CALENDAR_LOCATION" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+		<field name="ENTERPRISE_CONTENT_URI" since="29" />
+		<field name="NAME" />
+	</class>
+	<class name="android/provider/CalendarContract$Colors" since="15">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/CalendarContract$ColorsColumns" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/CalendarContract$ColorsColumns" since="15">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/SyncStateContract$Columns" />
+		<field name="COLOR" />
+		<field name="COLOR_KEY" />
+		<field name="COLOR_TYPE" />
+		<field name="TYPE_CALENDAR" />
+		<field name="TYPE_EVENT" />
+	</class>
+	<class name="android/provider/CalendarContract$EventDays" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/CalendarContract$EventDaysColumns" />
+		<method name="query(Landroid/content/ContentResolver;II[Ljava/lang/String;)Landroid/database/Cursor;" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/CalendarContract$EventDaysColumns" since="14">
+		<extends name="java/lang/Object" />
+		<field name="ENDDAY" />
+		<field name="STARTDAY" />
+	</class>
+	<class name="android/provider/CalendarContract$Events" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/CalendarContract$CalendarColumns" />
+		<implements name="android/provider/CalendarContract$EventsColumns" />
+		<implements name="android/provider/CalendarContract$SyncColumns" />
+		<field name="CONTENT_EXCEPTION_URI" />
+		<field name="CONTENT_URI" />
+		<field name="ENTERPRISE_CONTENT_URI" since="29" />
+	</class>
+	<class name="android/provider/CalendarContract$EventsColumns" since="14">
+		<extends name="java/lang/Object" />
+		<field name="ACCESS_CONFIDENTIAL" />
+		<field name="ACCESS_DEFAULT" />
+		<field name="ACCESS_LEVEL" />
+		<field name="ACCESS_PRIVATE" />
+		<field name="ACCESS_PUBLIC" />
+		<field name="ALL_DAY" />
+		<field name="AVAILABILITY" />
+		<field name="AVAILABILITY_BUSY" />
+		<field name="AVAILABILITY_FREE" />
+		<field name="AVAILABILITY_TENTATIVE" since="15" />
+		<field name="CALENDAR_ID" />
+		<field name="CAN_INVITE_OTHERS" />
+		<field name="CUSTOM_APP_PACKAGE" since="16" />
+		<field name="CUSTOM_APP_URI" since="16" />
+		<field name="DESCRIPTION" />
+		<field name="DISPLAY_COLOR" since="16" />
+		<field name="DTEND" />
+		<field name="DTSTART" />
+		<field name="DURATION" />
+		<field name="EVENT_COLOR" />
+		<field name="EVENT_COLOR_KEY" since="15" />
+		<field name="EVENT_END_TIMEZONE" />
+		<field name="EVENT_LOCATION" />
+		<field name="EVENT_TIMEZONE" />
+		<field name="EXDATE" />
+		<field name="EXRULE" />
+		<field name="GUESTS_CAN_INVITE_OTHERS" />
+		<field name="GUESTS_CAN_MODIFY" />
+		<field name="GUESTS_CAN_SEE_GUESTS" />
+		<field name="HAS_ALARM" />
+		<field name="HAS_ATTENDEE_DATA" />
+		<field name="HAS_EXTENDED_PROPERTIES" />
+		<field name="IS_ORGANIZER" since="17" />
+		<field name="LAST_DATE" />
+		<field name="LAST_SYNCED" />
+		<field name="ORGANIZER" />
+		<field name="ORIGINAL_ALL_DAY" />
+		<field name="ORIGINAL_ID" />
+		<field name="ORIGINAL_INSTANCE_TIME" />
+		<field name="ORIGINAL_SYNC_ID" />
+		<field name="RDATE" />
+		<field name="RRULE" />
+		<field name="SELF_ATTENDEE_STATUS" />
+		<field name="STATUS" />
+		<field name="STATUS_CANCELED" />
+		<field name="STATUS_CONFIRMED" />
+		<field name="STATUS_TENTATIVE" />
+		<field name="SYNC_DATA1" />
+		<field name="SYNC_DATA10" />
+		<field name="SYNC_DATA2" />
+		<field name="SYNC_DATA3" />
+		<field name="SYNC_DATA4" />
+		<field name="SYNC_DATA5" />
+		<field name="SYNC_DATA6" />
+		<field name="SYNC_DATA7" />
+		<field name="SYNC_DATA8" />
+		<field name="SYNC_DATA9" />
+		<field name="TITLE" />
+		<field name="UID_2445" since="17" />
+	</class>
+	<class name="android/provider/CalendarContract$EventsEntity" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/CalendarContract$EventsColumns" />
+		<implements name="android/provider/CalendarContract$SyncColumns" />
+		<method name="newEntityIterator(Landroid/database/Cursor;Landroid/content/ContentProviderClient;)Landroid/content/EntityIterator;" />
+		<method name="newEntityIterator(Landroid/database/Cursor;Landroid/content/ContentResolver;)Landroid/content/EntityIterator;" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/CalendarContract$ExtendedProperties" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/CalendarContract$EventsColumns" />
+		<implements name="android/provider/CalendarContract$ExtendedPropertiesColumns" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/CalendarContract$ExtendedPropertiesColumns" since="14">
+		<extends name="java/lang/Object" />
+		<field name="EVENT_ID" />
+		<field name="NAME" />
+		<field name="VALUE" />
+	</class>
+	<class name="android/provider/CalendarContract$Instances" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/CalendarContract$CalendarColumns" />
+		<implements name="android/provider/CalendarContract$EventsColumns" />
+		<method name="query(Landroid/content/ContentResolver;[Ljava/lang/String;JJ)Landroid/database/Cursor;" />
+		<method name="query(Landroid/content/ContentResolver;[Ljava/lang/String;JJLjava/lang/String;)Landroid/database/Cursor;" />
+		<field name="BEGIN" />
+		<field name="CONTENT_BY_DAY_URI" />
+		<field name="CONTENT_SEARCH_BY_DAY_URI" />
+		<field name="CONTENT_SEARCH_URI" />
+		<field name="CONTENT_URI" />
+		<field name="END" />
+		<field name="END_DAY" />
+		<field name="END_MINUTE" />
+		<field name="ENTERPRISE_CONTENT_BY_DAY_URI" since="29" />
+		<field name="ENTERPRISE_CONTENT_SEARCH_BY_DAY_URI" since="29" />
+		<field name="ENTERPRISE_CONTENT_SEARCH_URI" since="29" />
+		<field name="ENTERPRISE_CONTENT_URI" since="29" />
+		<field name="EVENT_ID" />
+		<field name="START_DAY" />
+		<field name="START_MINUTE" />
+	</class>
+	<class name="android/provider/CalendarContract$Reminders" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/CalendarContract$EventsColumns" />
+		<implements name="android/provider/CalendarContract$RemindersColumns" />
+		<method name="query(Landroid/content/ContentResolver;J[Ljava/lang/String;)Landroid/database/Cursor;" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/CalendarContract$RemindersColumns" since="14">
+		<extends name="java/lang/Object" />
+		<field name="EVENT_ID" />
+		<field name="METHOD" />
+		<field name="METHOD_ALARM" since="16" />
+		<field name="METHOD_ALERT" />
+		<field name="METHOD_DEFAULT" />
+		<field name="METHOD_EMAIL" />
+		<field name="METHOD_SMS" />
+		<field name="MINUTES" />
+		<field name="MINUTES_DEFAULT" />
+	</class>
+	<class name="android/provider/CalendarContract$SyncColumns" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/CalendarContract$CalendarSyncColumns" />
+		<field name="ACCOUNT_NAME" />
+		<field name="ACCOUNT_TYPE" />
+		<field name="CAN_PARTIALLY_UPDATE" />
+		<field name="DELETED" />
+		<field name="DIRTY" />
+		<field name="MUTATORS" since="18" />
+		<field name="_SYNC_ID" />
+	</class>
+	<class name="android/provider/CalendarContract$SyncState" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/SyncStateContract$Columns" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/CallLog" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="AUTHORITY" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/CallLog$Calls" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getLastOutgoingCall(Landroid/content/Context;)Ljava/lang/String;" since="8" />
+		<field name="ANSWERED_EXTERNALLY_TYPE" since="25" />
+		<field name="AUTO_MISSED_EMERGENCY_CALL" since="31" />
+		<field name="AUTO_MISSED_MAXIMUM_DIALING" since="31" />
+		<field name="AUTO_MISSED_MAXIMUM_RINGING" since="31" />
+		<field name="BLOCKED_TYPE" since="24" />
+		<field name="BLOCK_REASON" since="29" />
+		<field name="BLOCK_REASON_BLOCKED_NUMBER" since="29" />
+		<field name="BLOCK_REASON_CALL_SCREENING_SERVICE" since="29" />
+		<field name="BLOCK_REASON_DIRECT_TO_VOICEMAIL" since="29" />
+		<field name="BLOCK_REASON_NOT_BLOCKED" since="29" />
+		<field name="BLOCK_REASON_NOT_IN_CONTACTS" since="29" />
+		<field name="BLOCK_REASON_PAY_PHONE" since="29" />
+		<field name="BLOCK_REASON_RESTRICTED_NUMBER" since="29" />
+		<field name="BLOCK_REASON_UNKNOWN_NUMBER" since="29" />
+		<field name="CACHED_FORMATTED_NUMBER" since="21" />
+		<field name="CACHED_LOOKUP_URI" since="21" />
+		<field name="CACHED_MATCHED_NUMBER" since="21" />
+		<field name="CACHED_NAME" />
+		<field name="CACHED_NORMALIZED_NUMBER" since="21" />
+		<field name="CACHED_NUMBER_LABEL" />
+		<field name="CACHED_NUMBER_TYPE" />
+		<field name="CACHED_PHOTO_ID" since="21" />
+		<field name="CACHED_PHOTO_URI" since="23" />
+		<field name="CALL_SCREENING_APP_NAME" since="29" />
+		<field name="CALL_SCREENING_COMPONENT_NAME" since="29" />
+		<field name="COMPOSER_PHOTO_URI" since="31" />
+		<field name="CONTENT_FILTER_URI" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="CONTENT_URI_WITH_VOICEMAIL" since="21" />
+		<field name="COUNTRY_ISO" since="21" />
+		<field name="DATA_USAGE" since="21" />
+		<field name="DATE" />
+		<field name="DEFAULT_SORT_ORDER" />
+		<field name="DURATION" />
+		<field name="EXTRA_CALL_TYPE_FILTER" since="21" />
+		<field name="FEATURES" since="21" />
+		<field name="FEATURES_ASSISTED_DIALING_USED" since="30" />
+		<field name="FEATURES_HD_CALL" since="26" />
+		<field name="FEATURES_PULLED_EXTERNALLY" since="25" />
+		<field name="FEATURES_RTT" since="28" />
+		<field name="FEATURES_VIDEO" since="21" />
+		<field name="FEATURES_VOLTE" since="30" />
+		<field name="FEATURES_WIFI" since="26" />
+		<field name="GEOCODED_LOCATION" since="21" />
+		<field name="INCOMING_TYPE" />
+		<field name="IS_READ" since="14" />
+		<field name="LAST_MODIFIED" since="24" />
+		<field name="LIMIT_PARAM_KEY" since="17" />
+		<field name="LOCATION" since="31" />
+		<field name="MISSED_REASON" since="31" />
+		<field name="MISSED_REASON_NOT_MISSED" since="31" />
+		<field name="MISSED_TYPE" />
+		<field name="NEW" />
+		<field name="NUMBER" />
+		<field name="NUMBER_PRESENTATION" since="19" />
+		<field name="OFFSET_PARAM_KEY" since="17" />
+		<field name="OUTGOING_TYPE" />
+		<field name="PHONE_ACCOUNT_COMPONENT_NAME" since="21" />
+		<field name="PHONE_ACCOUNT_ID" since="21" />
+		<field name="POST_DIAL_DIGITS" since="24" />
+		<field name="PRESENTATION_ALLOWED" since="19" />
+		<field name="PRESENTATION_PAYPHONE" since="19" />
+		<field name="PRESENTATION_RESTRICTED" since="19" />
+		<field name="PRESENTATION_UNKNOWN" since="19" />
+		<field name="PRIORITY" since="31" />
+		<field name="PRIORITY_NORMAL" since="31" />
+		<field name="PRIORITY_URGENT" since="31" />
+		<field name="REJECTED_TYPE" since="24" />
+		<field name="SUBJECT" since="31" />
+		<field name="TRANSCRIPTION" since="21" />
+		<field name="TYPE" />
+		<field name="USER_MISSED_CALL_FILTERS_TIMEOUT" since="31" />
+		<field name="USER_MISSED_CALL_SCREENING_SERVICE_SILENCED" since="31" />
+		<field name="USER_MISSED_DND_MODE" since="31" />
+		<field name="USER_MISSED_LOW_RING_VOLUME" since="31" />
+		<field name="USER_MISSED_NO_ANSWER" since="31" />
+		<field name="USER_MISSED_NO_VIBRATE" since="31" />
+		<field name="USER_MISSED_SHORT_RING" since="31" />
+		<field name="VIA_NUMBER" since="24" />
+		<field name="VOICEMAIL_TYPE" since="21" />
+		<field name="VOICEMAIL_URI" since="21" />
+	</class>
+	<class name="android/provider/CallLog$Locations" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="AUTHORITY" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="LATITUDE" />
+		<field name="LONGITUDE" />
+	</class>
+	<class name="android/provider/Contacts" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<field name="AUTHORITY" deprecated="15" />
+		<field name="CONTENT_URI" deprecated="15" />
+		<field name="KIND_EMAIL" deprecated="15" />
+		<field name="KIND_IM" deprecated="15" />
+		<field name="KIND_ORGANIZATION" deprecated="15" />
+		<field name="KIND_PHONE" deprecated="15" />
+		<field name="KIND_POSTAL" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$ContactMethods" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$ContactMethodsColumns" />
+		<implements name="android/provider/Contacts$PeopleColumns" />
+		<method name="addPostalLocation(Landroid/content/Context;JDD)V" deprecated="15" />
+		<method name="decodeImProtocol(Ljava/lang/String;)Ljava/lang/Object;" deprecated="15" />
+		<method name="encodeCustomImProtocol(Ljava/lang/String;)Ljava/lang/String;" deprecated="15" />
+		<method name="encodePredefinedImProtocol(I)Ljava/lang/String;" deprecated="15" />
+		<method name="getDisplayLabel(Landroid/content/Context;IILjava/lang/CharSequence;)Ljava/lang/CharSequence;" deprecated="15" />
+		<field name="CONTENT_EMAIL_ITEM_TYPE" deprecated="15" />
+		<field name="CONTENT_EMAIL_TYPE" deprecated="15" />
+		<field name="CONTENT_EMAIL_URI" deprecated="15" />
+		<field name="CONTENT_IM_ITEM_TYPE" deprecated="15" />
+		<field name="CONTENT_POSTAL_ITEM_TYPE" deprecated="15" />
+		<field name="CONTENT_POSTAL_TYPE" deprecated="15" />
+		<field name="CONTENT_TYPE" deprecated="15" />
+		<field name="CONTENT_URI" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+		<field name="PERSON_ID" deprecated="15" />
+		<field name="POSTAL_LOCATION_LATITUDE" deprecated="15" />
+		<field name="POSTAL_LOCATION_LONGITUDE" deprecated="15" />
+		<field name="PROTOCOL_AIM" deprecated="15" />
+		<field name="PROTOCOL_GOOGLE_TALK" deprecated="15" />
+		<field name="PROTOCOL_ICQ" deprecated="15" />
+		<field name="PROTOCOL_JABBER" deprecated="15" />
+		<field name="PROTOCOL_MSN" deprecated="15" />
+		<field name="PROTOCOL_QQ" deprecated="15" />
+		<field name="PROTOCOL_SKYPE" deprecated="15" />
+		<field name="PROTOCOL_YAHOO" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$ContactMethodsColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<field name="AUX_DATA" deprecated="15" />
+		<field name="DATA" deprecated="15" />
+		<field name="ISPRIMARY" deprecated="15" />
+		<field name="KIND" deprecated="15" />
+		<field name="LABEL" deprecated="15" />
+		<field name="TYPE" deprecated="15" />
+		<field name="TYPE_CUSTOM" deprecated="15" />
+		<field name="TYPE_HOME" deprecated="15" />
+		<field name="TYPE_OTHER" deprecated="15" />
+		<field name="TYPE_WORK" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$Extensions" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$ExtensionsColumns" />
+		<field name="CONTENT_ITEM_TYPE" deprecated="15" />
+		<field name="CONTENT_TYPE" deprecated="15" />
+		<field name="CONTENT_URI" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+		<field name="PERSON_ID" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$ExtensionsColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<field name="NAME" deprecated="15" />
+		<field name="VALUE" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$GroupMembership" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$GroupsColumns" />
+		<field name="CONTENT_DIRECTORY" deprecated="15" />
+		<field name="CONTENT_ITEM_TYPE" deprecated="15" />
+		<field name="CONTENT_TYPE" deprecated="15" />
+		<field name="CONTENT_URI" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+		<field name="GROUP_ID" deprecated="15" />
+		<field name="GROUP_SYNC_ACCOUNT" deprecated="15" />
+		<field name="GROUP_SYNC_ACCOUNT_TYPE" since="5" deprecated="15" />
+		<field name="GROUP_SYNC_ID" deprecated="15" />
+		<field name="PERSON_ID" deprecated="15" />
+		<field name="RAW_CONTENT_URI" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$Groups" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$GroupsColumns" />
+		<field name="CONTENT_ITEM_TYPE" deprecated="15" />
+		<field name="CONTENT_TYPE" deprecated="15" />
+		<field name="CONTENT_URI" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+		<field name="DELETED_CONTENT_URI" deprecated="15" />
+		<field name="GROUP_ANDROID_STARRED" deprecated="15" />
+		<field name="GROUP_MY_CONTACTS" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$GroupsColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<field name="NAME" deprecated="15" />
+		<field name="NOTES" deprecated="15" />
+		<field name="SHOULD_SYNC" deprecated="15" />
+		<field name="SYSTEM_ID" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$Intents" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="15" />
+		<field name="ATTACH_IMAGE" deprecated="15" />
+		<field name="EXTRA_CREATE_DESCRIPTION" since="3" deprecated="15" />
+		<field name="EXTRA_FORCE_CREATE" since="3" deprecated="15" />
+		<field name="SEARCH_SUGGESTION_CLICKED" deprecated="15" />
+		<field name="SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED" deprecated="15" />
+		<field name="SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED" deprecated="15" />
+		<field name="SHOW_OR_CREATE_CONTACT" since="3" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$Intents$Insert" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="15" />
+		<field name="ACTION" deprecated="15" />
+		<field name="COMPANY" deprecated="15" />
+		<field name="EMAIL" deprecated="15" />
+		<field name="EMAIL_ISPRIMARY" deprecated="15" />
+		<field name="EMAIL_TYPE" deprecated="15" />
+		<field name="FULL_MODE" deprecated="15" />
+		<field name="IM_HANDLE" deprecated="15" />
+		<field name="IM_ISPRIMARY" deprecated="15" />
+		<field name="IM_PROTOCOL" deprecated="15" />
+		<field name="JOB_TITLE" deprecated="15" />
+		<field name="NAME" deprecated="15" />
+		<field name="NOTES" deprecated="15" />
+		<field name="PHONE" deprecated="15" />
+		<field name="PHONETIC_NAME" since="3" deprecated="15" />
+		<field name="PHONE_ISPRIMARY" deprecated="15" />
+		<field name="PHONE_TYPE" deprecated="15" />
+		<field name="POSTAL" deprecated="15" />
+		<field name="POSTAL_ISPRIMARY" deprecated="15" />
+		<field name="POSTAL_TYPE" deprecated="15" />
+		<field name="SECONDARY_EMAIL" since="3" deprecated="15" />
+		<field name="SECONDARY_EMAIL_TYPE" since="3" deprecated="15" />
+		<field name="SECONDARY_PHONE" since="3" deprecated="15" />
+		<field name="SECONDARY_PHONE_TYPE" since="3" deprecated="15" />
+		<field name="TERTIARY_EMAIL" since="3" deprecated="15" />
+		<field name="TERTIARY_EMAIL_TYPE" since="3" deprecated="15" />
+		<field name="TERTIARY_PHONE" since="3" deprecated="15" />
+		<field name="TERTIARY_PHONE_TYPE" since="3" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$Intents$UI" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="15" />
+		<field name="FILTER_CONTACTS_ACTION" deprecated="15" />
+		<field name="FILTER_TEXT_EXTRA_KEY" deprecated="15" />
+		<field name="GROUP_NAME_EXTRA_KEY" deprecated="15" />
+		<field name="LIST_ALL_CONTACTS_ACTION" deprecated="15" />
+		<field name="LIST_CONTACTS_WITH_PHONES_ACTION" deprecated="15" />
+		<field name="LIST_DEFAULT" deprecated="15" />
+		<field name="LIST_FREQUENT_ACTION" deprecated="15" />
+		<field name="LIST_GROUP_ACTION" deprecated="15" />
+		<field name="LIST_STARRED_ACTION" deprecated="15" />
+		<field name="LIST_STREQUENT_ACTION" deprecated="15" />
+		<field name="TITLE_EXTRA_KEY" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$OrganizationColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<field name="COMPANY" deprecated="15" />
+		<field name="ISPRIMARY" deprecated="15" />
+		<field name="LABEL" deprecated="15" />
+		<field name="PERSON_ID" deprecated="15" />
+		<field name="TITLE" deprecated="15" />
+		<field name="TYPE" deprecated="15" />
+		<field name="TYPE_CUSTOM" deprecated="15" />
+		<field name="TYPE_OTHER" deprecated="15" />
+		<field name="TYPE_WORK" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$Organizations" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$OrganizationColumns" />
+		<method name="getDisplayLabel(Landroid/content/Context;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" deprecated="15" />
+		<field name="CONTENT_DIRECTORY" deprecated="15" />
+		<field name="CONTENT_URI" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$People" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$PeopleColumns" />
+		<implements name="android/provider/Contacts$PhonesColumns" />
+		<implements name="android/provider/Contacts$PresenceColumns" />
+		<method name="addToGroup(Landroid/content/ContentResolver;JJ)Landroid/net/Uri;" deprecated="15" />
+		<method name="addToGroup(Landroid/content/ContentResolver;JLjava/lang/String;)Landroid/net/Uri;" deprecated="15" />
+		<method name="addToMyContactsGroup(Landroid/content/ContentResolver;J)Landroid/net/Uri;" deprecated="15" />
+		<method name="createPersonInMyContactsGroup(Landroid/content/ContentResolver;Landroid/content/ContentValues;)Landroid/net/Uri;" deprecated="15" />
+		<method name="loadContactPhoto(Landroid/content/Context;Landroid/net/Uri;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" deprecated="15" />
+		<method name="markAsContacted(Landroid/content/ContentResolver;J)V" deprecated="15" />
+		<method name="openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;)Ljava/io/InputStream;" deprecated="15" />
+		<method name="queryGroups(Landroid/content/ContentResolver;J)Landroid/database/Cursor;" deprecated="15" />
+		<method name="setPhotoData(Landroid/content/ContentResolver;Landroid/net/Uri;[B)V" deprecated="15" />
+		<field name="CONTENT_FILTER_URI" deprecated="15" />
+		<field name="CONTENT_ITEM_TYPE" deprecated="15" />
+		<field name="CONTENT_TYPE" deprecated="15" />
+		<field name="CONTENT_URI" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+		<field name="DELETED_CONTENT_URI" deprecated="15" />
+		<field name="PRIMARY_EMAIL_ID" deprecated="15" />
+		<field name="PRIMARY_ORGANIZATION_ID" deprecated="15" />
+		<field name="PRIMARY_PHONE_ID" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$People$ContactMethods" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$ContactMethodsColumns" />
+		<implements name="android/provider/Contacts$PeopleColumns" />
+		<field name="CONTENT_DIRECTORY" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$People$Extensions" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$ExtensionsColumns" />
+		<field name="CONTENT_DIRECTORY" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+		<field name="PERSON_ID" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$People$Phones" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$PeopleColumns" />
+		<implements name="android/provider/Contacts$PhonesColumns" />
+		<field name="CONTENT_DIRECTORY" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$PeopleColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<field name="CUSTOM_RINGTONE" deprecated="15" />
+		<field name="DISPLAY_NAME" deprecated="15" />
+		<field name="LAST_TIME_CONTACTED" deprecated="15" />
+		<field name="NAME" deprecated="15" />
+		<field name="NOTES" deprecated="15" />
+		<field name="PHONETIC_NAME" since="3" deprecated="15" />
+		<field name="PHOTO_VERSION" deprecated="15" />
+		<field name="SEND_TO_VOICEMAIL" deprecated="15" />
+		<field name="STARRED" deprecated="15" />
+		<field name="TIMES_CONTACTED" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$Phones" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$PeopleColumns" />
+		<implements name="android/provider/Contacts$PhonesColumns" />
+		<method name="getDisplayLabel(Landroid/content/Context;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" deprecated="15" />
+		<method name="getDisplayLabel(Landroid/content/Context;ILjava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" deprecated="15" />
+		<field name="CONTENT_FILTER_URL" deprecated="15" />
+		<field name="CONTENT_ITEM_TYPE" deprecated="15" />
+		<field name="CONTENT_TYPE" deprecated="15" />
+		<field name="CONTENT_URI" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+		<field name="PERSON_ID" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$PhonesColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<field name="ISPRIMARY" deprecated="15" />
+		<field name="LABEL" deprecated="15" />
+		<field name="NUMBER" deprecated="15" />
+		<field name="NUMBER_KEY" deprecated="15" />
+		<field name="TYPE" deprecated="15" />
+		<field name="TYPE_CUSTOM" deprecated="15" />
+		<field name="TYPE_FAX_HOME" deprecated="15" />
+		<field name="TYPE_FAX_WORK" deprecated="15" />
+		<field name="TYPE_HOME" deprecated="15" />
+		<field name="TYPE_MOBILE" deprecated="15" />
+		<field name="TYPE_OTHER" deprecated="15" />
+		<field name="TYPE_PAGER" deprecated="15" />
+		<field name="TYPE_WORK" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$Photos" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$PhotosColumns" />
+		<field name="CONTENT_DIRECTORY" deprecated="15" />
+		<field name="CONTENT_URI" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$PhotosColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<field name="DATA" deprecated="15" />
+		<field name="DOWNLOAD_REQUIRED" deprecated="15" />
+		<field name="EXISTS_ON_SERVER" deprecated="15" />
+		<field name="LOCAL_VERSION" deprecated="15" />
+		<field name="PERSON_ID" deprecated="15" />
+		<field name="SYNC_ERROR" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$PresenceColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<field name="AVAILABLE" since="8" deprecated="29" />
+		<field name="AWAY" since="8" deprecated="29" />
+		<field name="DO_NOT_DISTURB" since="8" deprecated="29" />
+		<field name="IDLE" since="8" deprecated="29" />
+		<field name="IM_ACCOUNT" deprecated="15" />
+		<field name="IM_HANDLE" deprecated="15" />
+		<field name="IM_PROTOCOL" deprecated="15" />
+		<field name="INVISIBLE" since="8" deprecated="29" />
+		<field name="OFFLINE" since="8" deprecated="29" />
+		<field name="PRESENCE_CUSTOM_STATUS" since="8" deprecated="29" />
+		<field name="PRESENCE_STATUS" since="8" deprecated="29" />
+		<field name="PRIORITY" since="8" deprecated="29" />
+	</class>
+	<class name="android/provider/Contacts$Settings" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Contacts$SettingsColumns" />
+		<method name="getSetting(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="15" />
+		<method name="setSetting(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="15" />
+		<field name="CONTENT_DIRECTORY" deprecated="15" />
+		<field name="CONTENT_URI" deprecated="15" />
+		<field name="DEFAULT_SORT_ORDER" deprecated="15" />
+		<field name="SYNC_EVERYTHING" deprecated="15" />
+	</class>
+	<class name="android/provider/Contacts$SettingsColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object" />
+		<field name="KEY" deprecated="15" />
+		<field name="VALUE" deprecated="15" />
+		<field name="_SYNC_ACCOUNT" deprecated="15" />
+		<field name="_SYNC_ACCOUNT_TYPE" since="5" deprecated="15" />
+	</class>
+	<class name="android/provider/ContactsContract" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="isProfileId(J)Z" since="14" />
+		<field name="AUTHORITY" />
+		<field name="AUTHORITY_URI" />
+		<field name="CALLER_IS_SYNCADAPTER" />
+		<field name="DEFERRED_SNIPPETING" since="21" />
+		<field name="DEFERRED_SNIPPETING_QUERY" since="21" />
+		<field name="DIRECTORY_PARAM_KEY" since="11" />
+		<field name="LIMIT_PARAM_KEY" since="11" />
+		<field name="PRIMARY_ACCOUNT_NAME" since="14" />
+		<field name="PRIMARY_ACCOUNT_TYPE" since="14" />
+		<field name="REMOVE_DUPLICATE_ENTRIES" since="21" />
+		<field name="STREQUENT_PHONE_ONLY" since="21" />
+	</class>
+	<class name="android/provider/ContactsContract$AggregationExceptions" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="RAW_CONTACT_ID1" />
+		<field name="RAW_CONTACT_ID2" />
+		<field name="TYPE" />
+		<field name="TYPE_AUTOMATIC" />
+		<field name="TYPE_KEEP_SEPARATE" />
+		<field name="TYPE_KEEP_TOGETHER" />
+	</class>
+	<class name="android/provider/ContactsContract$BaseSyncColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="SYNC1" />
+		<field name="SYNC2" />
+		<field name="SYNC3" />
+		<field name="SYNC4" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds" since="5">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$BaseTypes" since="5">
+		<extends name="java/lang/Object" />
+		<field name="TYPE_CUSTOM" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Callable" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="&lt;init&gt;()V" />
+		<field name="CONTENT_FILTER_URI" />
+		<field name="CONTENT_URI" />
+		<field name="ENTERPRISE_CONTENT_FILTER_URI" since="24" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$BaseTypes" />
+		<field name="DATA" />
+		<field name="LABEL" />
+		<field name="TYPE" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Contactables" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="&lt;init&gt;()V" />
+		<field name="CONTENT_FILTER_URI" />
+		<field name="CONTENT_URI" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="VISIBLE_CONTACTS_ONLY" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Email" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="getTypeLabelResource(I)I" />
+		<field name="ADDRESS" since="11" />
+		<field name="CONTENT_FILTER_URI" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_LOOKUP_URI" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="DISPLAY_NAME" />
+		<field name="ENTERPRISE_CONTENT_FILTER_URI" since="24" />
+		<field name="ENTERPRISE_CONTENT_LOOKUP_URI" since="23" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="TYPE_HOME" />
+		<field name="TYPE_MOBILE" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_WORK" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Event" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" since="21" />
+		<method name="getTypeResource(Ljava/lang/Integer;)I" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="START_DATE" />
+		<field name="TYPE_ANNIVERSARY" />
+		<field name="TYPE_BIRTHDAY" />
+		<field name="TYPE_OTHER" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$GroupMembership" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="GROUP_ROW_ID" />
+		<field name="GROUP_SOURCE_ID" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Identity" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="IDENTITY" />
+		<field name="NAMESPACE" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Im" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="getProtocolLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="getProtocolLabelResource(I)I" />
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="getTypeLabelResource(I)I" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CUSTOM_PROTOCOL" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="PROTOCOL" />
+		<field name="PROTOCOL_AIM" deprecated="31" />
+		<field name="PROTOCOL_CUSTOM" />
+		<field name="PROTOCOL_GOOGLE_TALK" deprecated="31" />
+		<field name="PROTOCOL_ICQ" deprecated="31" />
+		<field name="PROTOCOL_JABBER" deprecated="31" />
+		<field name="PROTOCOL_MSN" deprecated="31" />
+		<field name="PROTOCOL_NETMEETING" deprecated="31" />
+		<field name="PROTOCOL_QQ" deprecated="31" />
+		<field name="PROTOCOL_SKYPE" deprecated="31" />
+		<field name="PROTOCOL_YAHOO" deprecated="31" />
+		<field name="TYPE_HOME" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_WORK" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Nickname" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="NAME" />
+		<field name="TYPE_DEFAULT" />
+		<field name="TYPE_INITIALS" />
+		<field name="TYPE_MAIDEN_NAME" since="9" />
+		<field name="TYPE_MAINDEN_NAME" deprecated="15" />
+		<field name="TYPE_OTHER_NAME" />
+		<field name="TYPE_SHORT_NAME" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Note" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="NOTE" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Organization" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="getTypeLabelResource(I)I" />
+		<field name="COMPANY" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="DEPARTMENT" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="JOB_DESCRIPTION" />
+		<field name="OFFICE_LOCATION" />
+		<field name="PHONETIC_NAME" />
+		<field name="PHONETIC_NAME_STYLE" since="24" />
+		<field name="SYMBOL" />
+		<field name="TITLE" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_WORK" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Phone" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="getTypeLabelResource(I)I" />
+		<field name="CONTENT_FILTER_URI" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="ENTERPRISE_CONTENT_FILTER_URI" since="24" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="NORMALIZED_NUMBER" since="16" />
+		<field name="NUMBER" />
+		<field name="SEARCH_DISPLAY_NAME_KEY" since="16" />
+		<field name="SEARCH_PHONE_NUMBER_KEY" since="16" />
+		<field name="TYPE_ASSISTANT" />
+		<field name="TYPE_CALLBACK" />
+		<field name="TYPE_CAR" />
+		<field name="TYPE_COMPANY_MAIN" />
+		<field name="TYPE_FAX_HOME" />
+		<field name="TYPE_FAX_WORK" />
+		<field name="TYPE_HOME" />
+		<field name="TYPE_ISDN" />
+		<field name="TYPE_MAIN" />
+		<field name="TYPE_MMS" />
+		<field name="TYPE_MOBILE" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_OTHER_FAX" />
+		<field name="TYPE_PAGER" />
+		<field name="TYPE_RADIO" />
+		<field name="TYPE_TELEX" />
+		<field name="TYPE_TTY_TDD" />
+		<field name="TYPE_WORK" />
+		<field name="TYPE_WORK_MOBILE" />
+		<field name="TYPE_WORK_PAGER" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Photo" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="PHOTO" />
+		<field name="PHOTO_FILE_ID" since="14" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Relation" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" since="11" />
+		<method name="getTypeLabelResource(I)I" since="11" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="NAME" />
+		<field name="TYPE_ASSISTANT" />
+		<field name="TYPE_BROTHER" />
+		<field name="TYPE_CHILD" />
+		<field name="TYPE_DOMESTIC_PARTNER" />
+		<field name="TYPE_FATHER" />
+		<field name="TYPE_FRIEND" />
+		<field name="TYPE_MANAGER" />
+		<field name="TYPE_MOTHER" />
+		<field name="TYPE_PARENT" />
+		<field name="TYPE_PARTNER" />
+		<field name="TYPE_REFERRED_BY" />
+		<field name="TYPE_RELATIVE" />
+		<field name="TYPE_SISTER" />
+		<field name="TYPE_SPOUSE" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$SipAddress" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="getTypeLabelResource(I)I" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="SIP_ADDRESS" />
+		<field name="TYPE_HOME" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_WORK" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$StructuredName" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="DISPLAY_NAME" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="FAMILY_NAME" />
+		<field name="FULL_NAME_STYLE" since="21" />
+		<field name="GIVEN_NAME" />
+		<field name="MIDDLE_NAME" />
+		<field name="PHONETIC_FAMILY_NAME" />
+		<field name="PHONETIC_GIVEN_NAME" />
+		<field name="PHONETIC_MIDDLE_NAME" />
+		<field name="PHONETIC_NAME_STYLE" since="24" />
+		<field name="PREFIX" />
+		<field name="SUFFIX" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$StructuredPostal" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="getTypeLabelResource(I)I" />
+		<field name="CITY" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="COUNTRY" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="FORMATTED_ADDRESS" />
+		<field name="NEIGHBORHOOD" />
+		<field name="POBOX" />
+		<field name="POSTCODE" />
+		<field name="REGION" />
+		<field name="STREET" />
+		<field name="TYPE_HOME" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_WORK" />
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Website" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="TYPE_BLOG" />
+		<field name="TYPE_FTP" />
+		<field name="TYPE_HOME" />
+		<field name="TYPE_HOMEPAGE" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_PROFILE" />
+		<field name="TYPE_WORK" />
+		<field name="URL" />
+	</class>
+	<class name="android/provider/ContactsContract$ContactNameColumns" since="11">
+		<extends name="java/lang/Object" />
+		<field name="DISPLAY_NAME_ALTERNATIVE" />
+		<field name="DISPLAY_NAME_PRIMARY" />
+		<field name="DISPLAY_NAME_SOURCE" />
+		<field name="PHONETIC_NAME" />
+		<field name="PHONETIC_NAME_STYLE" />
+		<field name="SORT_KEY_ALTERNATIVE" />
+		<field name="SORT_KEY_PRIMARY" />
+	</class>
+	<class name="android/provider/ContactsContract$ContactOptionsColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="CUSTOM_RINGTONE" />
+		<field name="LAST_TIME_CONTACTED" deprecated="29" />
+		<field name="PINNED" since="21" />
+		<field name="SEND_TO_VOICEMAIL" />
+		<field name="STARRED" />
+		<field name="TIMES_CONTACTED" deprecated="29" />
+	</class>
+	<class name="android/provider/ContactsContract$ContactStatusColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="CONTACT_CHAT_CAPABILITY" since="11" />
+		<field name="CONTACT_PRESENCE" />
+		<field name="CONTACT_STATUS" />
+		<field name="CONTACT_STATUS_ICON" />
+		<field name="CONTACT_STATUS_LABEL" />
+		<field name="CONTACT_STATUS_RES_PACKAGE" />
+		<field name="CONTACT_STATUS_TIMESTAMP" />
+	</class>
+	<class name="android/provider/ContactsContract$Contacts" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$ContactNameColumns" since="11" />
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns" />
+		<implements name="android/provider/ContactsContract$ContactStatusColumns" />
+		<implements name="android/provider/ContactsContract$ContactsColumns" />
+		<method name="getLookupUri(JLjava/lang/String;)Landroid/net/Uri;" />
+		<method name="getLookupUri(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;" />
+		<method name="isEnterpriseContactId(J)Z" since="21" />
+		<method name="lookupContact(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;" />
+		<method name="markAsContacted(Landroid/content/ContentResolver;J)V" deprecated="16" />
+		<method name="openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;)Ljava/io/InputStream;" />
+		<method name="openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;Z)Ljava/io/InputStream;" since="14" />
+		<field name="CONTENT_FILTER_URI" />
+		<field name="CONTENT_FREQUENT_URI" since="21" deprecated="29" />
+		<field name="CONTENT_GROUP_URI" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_LOOKUP_URI" />
+		<field name="CONTENT_MULTI_VCARD_URI" since="21" />
+		<field name="CONTENT_STREQUENT_FILTER_URI" />
+		<field name="CONTENT_STREQUENT_URI" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="CONTENT_VCARD_TYPE" />
+		<field name="CONTENT_VCARD_URI" />
+		<field name="ENTERPRISE_CONTENT_FILTER_URI" since="24" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="QUERY_PARAMETER_VCARD_NO_PHOTO" since="23" />
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$AggregationSuggestions" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns" since="11" />
+		<implements name="android/provider/ContactsContract$ContactStatusColumns" since="11" />
+		<implements name="android/provider/ContactsContract$ContactsColumns" />
+		<field name="CONTENT_DIRECTORY" />
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$AggregationSuggestions$Builder" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addNameParameter(Ljava/lang/String;)Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder;" />
+		<method name="build()Landroid/net/Uri;" />
+		<method name="setContactId(J)Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder;" />
+		<method name="setLimit(I)Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder;" />
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$Data" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$DataColumns" />
+		<field name="CONTENT_DIRECTORY" />
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$Entity" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$BaseSyncColumns" />
+		<implements name="android/provider/ContactsContract$ContactNameColumns" />
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns" />
+		<implements name="android/provider/ContactsContract$ContactStatusColumns" />
+		<implements name="android/provider/ContactsContract$ContactsColumns" />
+		<implements name="android/provider/ContactsContract$DataColumns" />
+		<implements name="android/provider/ContactsContract$DataUsageStatColumns" since="21" />
+		<implements name="android/provider/ContactsContract$RawContactsColumns" />
+		<implements name="android/provider/ContactsContract$StatusColumns" />
+		<implements name="android/provider/ContactsContract$SyncColumns" />
+		<field name="CONTENT_DIRECTORY" />
+		<field name="DATA_ID" />
+		<field name="RAW_CONTACT_ID" />
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$Photo" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$DataColumns" removed="11" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" since="11" />
+		<field name="CONTENT_DIRECTORY" />
+		<field name="DISPLAY_PHOTO" since="14" />
+		<field name="PHOTO" since="11" />
+		<field name="PHOTO_FILE_ID" since="14" />
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$StreamItems" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$StreamItemsColumns" />
+		<field name="CONTENT_DIRECTORY" deprecated="21" />
+	</class>
+	<class name="android/provider/ContactsContract$ContactsColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="CONTACT_LAST_UPDATED_TIMESTAMP" since="18" />
+		<field name="DISPLAY_NAME" />
+		<field name="HAS_PHONE_NUMBER" />
+		<field name="IN_DEFAULT_DIRECTORY" since="21" />
+		<field name="IN_VISIBLE_GROUP" />
+		<field name="IS_USER_PROFILE" since="14" />
+		<field name="LOOKUP_KEY" />
+		<field name="NAME_RAW_CONTACT_ID" since="21" />
+		<field name="PHOTO_FILE_ID" since="14" />
+		<field name="PHOTO_ID" />
+		<field name="PHOTO_THUMBNAIL_URI" since="11" />
+		<field name="PHOTO_URI" since="11" />
+	</class>
+	<class name="android/provider/ContactsContract$Data" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" />
+		<method name="getContactLookupUri(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21" />
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21" />
+		<field name="VISIBLE_CONTACTS_ONLY" since="18" />
+	</class>
+	<class name="android/provider/ContactsContract$DataColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="CARRIER_PRESENCE" since="23" deprecated="31" />
+		<field name="CARRIER_PRESENCE_VT_CAPABLE" since="23" deprecated="31" />
+		<field name="DATA1" />
+		<field name="DATA10" />
+		<field name="DATA11" />
+		<field name="DATA12" />
+		<field name="DATA13" />
+		<field name="DATA14" />
+		<field name="DATA15" />
+		<field name="DATA2" />
+		<field name="DATA3" />
+		<field name="DATA4" />
+		<field name="DATA5" />
+		<field name="DATA6" />
+		<field name="DATA7" />
+		<field name="DATA8" />
+		<field name="DATA9" />
+		<field name="DATA_VERSION" />
+		<field name="IS_PRIMARY" />
+		<field name="IS_READ_ONLY" since="11" />
+		<field name="IS_SUPER_PRIMARY" />
+		<field name="MIMETYPE" />
+		<field name="PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME" since="28" />
+		<field name="PREFERRED_PHONE_ACCOUNT_ID" since="28" />
+		<field name="RAW_CONTACT_ID" />
+		<field name="RES_PACKAGE" since="21" />
+		<field name="SYNC1" />
+		<field name="SYNC2" />
+		<field name="SYNC3" />
+		<field name="SYNC4" />
+	</class>
+	<class name="android/provider/ContactsContract$DataColumnsWithJoins" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$ContactNameColumns" since="11" />
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns" />
+		<implements name="android/provider/ContactsContract$ContactStatusColumns" />
+		<implements name="android/provider/ContactsContract$ContactsColumns" />
+		<implements name="android/provider/ContactsContract$DataColumns" />
+		<implements name="android/provider/ContactsContract$DataUsageStatColumns" since="18" />
+		<implements name="android/provider/ContactsContract$RawContactsColumns" />
+		<implements name="android/provider/ContactsContract$StatusColumns" />
+	</class>
+	<class name="android/provider/ContactsContract$DataUsageFeedback" since="14" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<field name="DELETE_USAGE_URI" since="16" deprecated="29" />
+		<field name="FEEDBACK_URI" deprecated="29" />
+		<field name="USAGE_TYPE" deprecated="29" />
+		<field name="USAGE_TYPE_CALL" deprecated="29" />
+		<field name="USAGE_TYPE_LONG_TEXT" deprecated="29" />
+		<field name="USAGE_TYPE_SHORT_TEXT" deprecated="29" />
+	</class>
+	<class name="android/provider/ContactsContract$DataUsageStatColumns" since="18">
+		<extends name="java/lang/Object" />
+		<field name="LAST_TIME_USED" deprecated="29" />
+		<field name="TIMES_USED" deprecated="29" />
+	</class>
+	<class name="android/provider/ContactsContract$DeletedContacts" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$DeletedContactsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DAYS_KEPT_MILLISECONDS" />
+	</class>
+	<class name="android/provider/ContactsContract$DeletedContactsColumns" since="18">
+		<extends name="java/lang/Object" />
+		<field name="CONTACT_DELETED_TIMESTAMP" />
+		<field name="CONTACT_ID" />
+	</class>
+	<class name="android/provider/ContactsContract$Directory" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<method name="isEnterpriseDirectoryId(J)Z" since="24" />
+		<method name="isRemoteDirectoryId(J)Z" since="24" />
+		<method name="notifyDirectoryChange(Landroid/content/ContentResolver;)V" />
+		<field name="ACCOUNT_NAME" />
+		<field name="ACCOUNT_TYPE" />
+		<field name="CALLER_PACKAGE_PARAM_KEY" since="26" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT" />
+		<field name="DIRECTORY_AUTHORITY" />
+		<field name="DISPLAY_NAME" />
+		<field name="ENTERPRISE_CONTENT_URI" since="24" />
+		<field name="ENTERPRISE_DEFAULT" since="24" />
+		<field name="ENTERPRISE_LOCAL_INVISIBLE" since="24" />
+		<field name="EXPORT_SUPPORT" />
+		<field name="EXPORT_SUPPORT_ANY_ACCOUNT" />
+		<field name="EXPORT_SUPPORT_NONE" />
+		<field name="EXPORT_SUPPORT_SAME_ACCOUNT_ONLY" />
+		<field name="LOCAL_INVISIBLE" />
+		<field name="PACKAGE_NAME" />
+		<field name="PHOTO_SUPPORT" />
+		<field name="PHOTO_SUPPORT_FULL" />
+		<field name="PHOTO_SUPPORT_FULL_SIZE_ONLY" />
+		<field name="PHOTO_SUPPORT_NONE" />
+		<field name="PHOTO_SUPPORT_THUMBNAIL_ONLY" />
+		<field name="SHORTCUT_SUPPORT" />
+		<field name="SHORTCUT_SUPPORT_DATA_ITEMS_ONLY" />
+		<field name="SHORTCUT_SUPPORT_FULL" />
+		<field name="SHORTCUT_SUPPORT_NONE" />
+		<field name="TYPE_RESOURCE_ID" />
+	</class>
+	<class name="android/provider/ContactsContract$DisplayNameSources" since="11">
+		<extends name="java/lang/Object" />
+		<field name="EMAIL" />
+		<field name="NICKNAME" />
+		<field name="ORGANIZATION" />
+		<field name="PHONE" />
+		<field name="STRUCTURED_NAME" />
+		<field name="STRUCTURED_PHONETIC_NAME" since="23" />
+		<field name="UNDEFINED" />
+	</class>
+	<class name="android/provider/ContactsContract$DisplayPhoto" since="14">
+		<extends name="java/lang/Object" />
+		<field name="CONTENT_MAX_DIMENSIONS_URI" />
+		<field name="CONTENT_URI" />
+		<field name="DISPLAY_MAX_DIM" />
+		<field name="THUMBNAIL_MAX_DIM" />
+	</class>
+	<class name="android/provider/ContactsContract$FullNameStyle" since="11">
+		<extends name="java/lang/Object" />
+		<field name="CHINESE" />
+		<field name="CJK" />
+		<field name="JAPANESE" />
+		<field name="KOREAN" />
+		<field name="UNDEFINED" />
+		<field name="WESTERN" />
+	</class>
+	<class name="android/provider/ContactsContract$Groups" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$GroupsColumns" />
+		<implements name="android/provider/ContactsContract$SyncColumns" />
+		<method name="newEntityIterator(Landroid/database/Cursor;)Landroid/content/EntityIterator;" since="8" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_SUMMARY_URI" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/ContactsContract$GroupsColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="AUTO_ADD" since="11" />
+		<field name="DATA_SET" since="14" />
+		<field name="DELETED" />
+		<field name="FAVORITES" since="11" />
+		<field name="GROUP_IS_READ_ONLY" since="11" />
+		<field name="GROUP_VISIBLE" />
+		<field name="NOTES" />
+		<field name="RES_PACKAGE" since="21" />
+		<field name="SHOULD_SYNC" />
+		<field name="SUMMARY_COUNT" />
+		<field name="SUMMARY_WITH_PHONES" />
+		<field name="SYSTEM_ID" />
+		<field name="TITLE" />
+		<field name="TITLE_RES" since="21" />
+	</class>
+	<class name="android/provider/ContactsContract$Intents" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS" since="24" />
+		<field name="ATTACH_IMAGE" />
+		<field name="CONTACTS_DATABASE_CREATED" since="18" />
+		<field name="EXTRA_CREATE_DESCRIPTION" />
+		<field name="EXTRA_FORCE_CREATE" />
+		<field name="EXTRA_RECIPIENT_CONTACT_CHAT_ID" since="24" />
+		<field name="EXTRA_RECIPIENT_CONTACT_NAME" since="24" />
+		<field name="EXTRA_RECIPIENT_CONTACT_URI" since="24" />
+		<field name="INVITE_CONTACT" since="14" />
+		<field name="METADATA_ACCOUNT_TYPE" since="24" />
+		<field name="METADATA_MIMETYPE" since="24" />
+		<field name="SEARCH_SUGGESTION_CLICKED" />
+		<field name="SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED" />
+		<field name="SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED" />
+		<field name="SHOW_OR_CREATE_CONTACT" />
+	</class>
+	<class name="android/provider/ContactsContract$Intents$Insert" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="ACTION" />
+		<field name="COMPANY" />
+		<field name="DATA" since="11" />
+		<field name="EMAIL" />
+		<field name="EMAIL_ISPRIMARY" />
+		<field name="EMAIL_TYPE" />
+		<field name="EXTRA_ACCOUNT" since="23" />
+		<field name="EXTRA_DATA_SET" since="23" />
+		<field name="FULL_MODE" />
+		<field name="IM_HANDLE" />
+		<field name="IM_ISPRIMARY" />
+		<field name="IM_PROTOCOL" />
+		<field name="JOB_TITLE" />
+		<field name="NAME" />
+		<field name="NOTES" />
+		<field name="PHONE" />
+		<field name="PHONETIC_NAME" />
+		<field name="PHONE_ISPRIMARY" />
+		<field name="PHONE_TYPE" />
+		<field name="POSTAL" />
+		<field name="POSTAL_ISPRIMARY" />
+		<field name="POSTAL_TYPE" />
+		<field name="SECONDARY_EMAIL" />
+		<field name="SECONDARY_EMAIL_TYPE" />
+		<field name="SECONDARY_PHONE" />
+		<field name="SECONDARY_PHONE_TYPE" />
+		<field name="TERTIARY_EMAIL" />
+		<field name="TERTIARY_EMAIL_TYPE" />
+		<field name="TERTIARY_PHONE" />
+		<field name="TERTIARY_PHONE_TYPE" />
+	</class>
+	<class name="android/provider/ContactsContract$PhoneLookup" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$ContactNameColumns" since="26" />
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns" />
+		<implements name="android/provider/ContactsContract$ContactsColumns" />
+		<implements name="android/provider/ContactsContract$PhoneLookupColumns" />
+		<field name="CONTENT_FILTER_URI" />
+		<field name="ENTERPRISE_CONTENT_FILTER_URI" since="21" />
+		<field name="QUERY_PARAMETER_SIP_ADDRESS" since="21" />
+	</class>
+	<class name="android/provider/ContactsContract$PhoneLookupColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="CONTACT_ID" since="24" />
+		<field name="DATA_ID" since="24" />
+		<field name="LABEL" />
+		<field name="NORMALIZED_NUMBER" since="16" />
+		<field name="NUMBER" />
+		<field name="TYPE" />
+	</class>
+	<class name="android/provider/ContactsContract$PhoneticNameStyle" since="11">
+		<extends name="java/lang/Object" />
+		<field name="JAPANESE" />
+		<field name="KOREAN" />
+		<field name="PINYIN" />
+		<field name="UNDEFINED" />
+	</class>
+	<class name="android/provider/ContactsContract$PinnedPositions" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="pin(Landroid/content/ContentResolver;JI)V" />
+		<method name="undemote(Landroid/content/ContentResolver;J)V" />
+		<field name="DEMOTED" />
+		<field name="UNPINNED" />
+	</class>
+	<class name="android/provider/ContactsContract$Presence" since="5" deprecated="5">
+		<extends name="android/provider/ContactsContract$StatusUpdates" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+	</class>
+	<class name="android/provider/ContactsContract$PresenceColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="CUSTOM_PROTOCOL" />
+		<field name="DATA_ID" />
+		<field name="IM_ACCOUNT" />
+		<field name="IM_HANDLE" />
+		<field name="PROTOCOL" />
+	</class>
+	<class name="android/provider/ContactsContract$Profile" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$ContactNameColumns" />
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns" />
+		<implements name="android/provider/ContactsContract$ContactStatusColumns" />
+		<implements name="android/provider/ContactsContract$ContactsColumns" />
+		<field name="CONTENT_RAW_CONTACTS_URI" />
+		<field name="CONTENT_URI" />
+		<field name="CONTENT_VCARD_URI" />
+		<field name="MIN_ID" />
+	</class>
+	<class name="android/provider/ContactsContract$ProfileSyncState" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/SyncStateContract$Columns" />
+		<method name="get(Landroid/content/ContentProviderClient;Landroid/accounts/Account;)[B" />
+		<method name="getWithUri(Landroid/content/ContentProviderClient;Landroid/accounts/Account;)Landroid/util/Pair;" />
+		<method name="newSetOperation(Landroid/accounts/Account;[B)Landroid/content/ContentProviderOperation;" />
+		<method name="set(Landroid/content/ContentProviderClient;Landroid/accounts/Account;[B)V" />
+		<field name="CONTENT_DIRECTORY" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/ContactsContract$ProviderStatus" since="23">
+		<extends name="java/lang/Object" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="DATABASE_CREATION_TIMESTAMP" since="26" />
+		<field name="STATUS" />
+		<field name="STATUS_BUSY" />
+		<field name="STATUS_EMPTY" />
+		<field name="STATUS_NORMAL" />
+	</class>
+	<class name="android/provider/ContactsContract$QuickContact" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="showQuickContact(Landroid/content/Context;Landroid/graphics/Rect;Landroid/net/Uri;I[Ljava/lang/String;)V" />
+		<method name="showQuickContact(Landroid/content/Context;Landroid/graphics/Rect;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;)V" since="23" />
+		<method name="showQuickContact(Landroid/content/Context;Landroid/view/View;Landroid/net/Uri;I[Ljava/lang/String;)V" />
+		<method name="showQuickContact(Landroid/content/Context;Landroid/view/View;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;)V" since="23" />
+		<field name="ACTION_QUICK_CONTACT" since="21" />
+		<field name="EXTRA_EXCLUDE_MIMES" since="21" />
+		<field name="EXTRA_MODE" since="23" />
+		<field name="EXTRA_PRIORITIZED_MIMETYPE" since="23" />
+		<field name="MODE_LARGE" />
+		<field name="MODE_MEDIUM" />
+		<field name="MODE_SMALL" />
+	</class>
+	<class name="android/provider/ContactsContract$RawContacts" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$ContactNameColumns" since="11" />
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns" />
+		<implements name="android/provider/ContactsContract$RawContactsColumns" />
+		<implements name="android/provider/ContactsContract$SyncColumns" />
+		<method name="getContactLookupUri(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;" />
+		<method name="getLocalAccountName(Landroid/content/Context;)Ljava/lang/String;" since="30" />
+		<method name="getLocalAccountType(Landroid/content/Context;)Ljava/lang/String;" since="30" />
+		<method name="newEntityIterator(Landroid/database/Cursor;)Landroid/content/EntityIterator;" since="8" />
+		<field name="AGGREGATION_MODE_DEFAULT" />
+		<field name="AGGREGATION_MODE_DISABLED" />
+		<field name="AGGREGATION_MODE_IMMEDIATE" deprecated="15" />
+		<field name="AGGREGATION_MODE_SUSPENDED" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/ContactsContract$RawContacts$Data" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$DataColumns" />
+		<field name="CONTENT_DIRECTORY" />
+	</class>
+	<class name="android/provider/ContactsContract$RawContacts$DisplayPhoto" since="14">
+		<extends name="java/lang/Object" />
+		<field name="CONTENT_DIRECTORY" />
+	</class>
+	<class name="android/provider/ContactsContract$RawContacts$Entity" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$DataColumns" />
+		<field name="CONTENT_DIRECTORY" />
+		<field name="DATA_ID" />
+	</class>
+	<class name="android/provider/ContactsContract$RawContacts$StreamItems" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$StreamItemsColumns" />
+		<field name="CONTENT_DIRECTORY" deprecated="21" />
+	</class>
+	<class name="android/provider/ContactsContract$RawContactsColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="ACCOUNT_TYPE_AND_DATA_SET" since="21" />
+		<field name="AGGREGATION_MODE" />
+		<field name="BACKUP_ID" since="24" />
+		<field name="CONTACT_ID" />
+		<field name="DATA_SET" since="14" />
+		<field name="DELETED" />
+		<field name="METADATA_DIRTY" since="24" deprecated="30" />
+		<field name="RAW_CONTACT_IS_READ_ONLY" since="11" />
+		<field name="RAW_CONTACT_IS_USER_PROFILE" since="14" />
+	</class>
+	<class name="android/provider/ContactsContract$RawContactsEntity" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$DataColumns" />
+		<implements name="android/provider/ContactsContract$RawContactsColumns" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="DATA_ID" />
+		<field name="PROFILE_CONTENT_URI" since="14" />
+	</class>
+	<class name="android/provider/ContactsContract$SearchSnippets" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="DEFERRED_SNIPPETING_KEY" />
+		<field name="SNIPPET" />
+	</class>
+	<class name="android/provider/ContactsContract$Settings" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$SettingsColumns" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/ContactsContract$SettingsColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="ACCOUNT_NAME" />
+		<field name="ACCOUNT_TYPE" />
+		<field name="ANY_UNSYNCED" />
+		<field name="DATA_SET" since="14" />
+		<field name="SHOULD_SYNC" />
+		<field name="UNGROUPED_COUNT" />
+		<field name="UNGROUPED_VISIBLE" />
+		<field name="UNGROUPED_WITH_PHONES" />
+	</class>
+	<class name="android/provider/ContactsContract$SimAccount" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAccountName()Ljava/lang/String;" />
+		<method name="getAccountType()Ljava/lang/String;" />
+		<method name="getEfType()I" />
+		<method name="getSimSlotIndex()I" />
+		<field name="ADN_EF_TYPE" />
+		<field name="CREATOR" />
+		<field name="FDN_EF_TYPE" />
+		<field name="SDN_EF_TYPE" />
+		<field name="UNKNOWN_EF_TYPE" />
+	</class>
+	<class name="android/provider/ContactsContract$SimContacts" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getSimAccounts(Landroid/content/ContentResolver;)Ljava/util/List;" />
+		<field name="ACTION_SIM_ACCOUNTS_CHANGED" />
+	</class>
+	<class name="android/provider/ContactsContract$StatusColumns" since="5">
+		<extends name="java/lang/Object" />
+		<field name="AVAILABLE" since="8" />
+		<field name="AWAY" since="8" />
+		<field name="CAPABILITY_HAS_CAMERA" since="11" />
+		<field name="CAPABILITY_HAS_VIDEO" since="11" />
+		<field name="CAPABILITY_HAS_VOICE" since="11" />
+		<field name="CHAT_CAPABILITY" since="11" />
+		<field name="DO_NOT_DISTURB" since="8" />
+		<field name="IDLE" since="8" />
+		<field name="INVISIBLE" since="8" />
+		<field name="OFFLINE" since="8" />
+		<field name="PRESENCE" />
+		<field name="PRESENCE_CUSTOM_STATUS" since="8" deprecated="15" />
+		<field name="PRESENCE_STATUS" since="8" deprecated="15" />
+		<field name="STATUS" />
+		<field name="STATUS_ICON" />
+		<field name="STATUS_LABEL" />
+		<field name="STATUS_RES_PACKAGE" />
+		<field name="STATUS_TIMESTAMP" />
+	</class>
+	<class name="android/provider/ContactsContract$StatusUpdates" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$PresenceColumns" />
+		<implements name="android/provider/ContactsContract$StatusColumns" />
+		<method name="getPresenceIconResourceId(I)I" />
+		<method name="getPresencePrecedence(I)I" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="PROFILE_CONTENT_URI" since="14" />
+	</class>
+	<class name="android/provider/ContactsContract$StreamItemPhotos" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$StreamItemPhotosColumns" />
+		<field name="PHOTO" deprecated="21" />
+	</class>
+	<class name="android/provider/ContactsContract$StreamItemPhotosColumns" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="PHOTO_FILE_ID" deprecated="21" />
+		<field name="PHOTO_URI" deprecated="21" />
+		<field name="SORT_INDEX" deprecated="21" />
+		<field name="STREAM_ITEM_ID" deprecated="21" />
+		<field name="SYNC1" deprecated="21" />
+		<field name="SYNC2" deprecated="21" />
+		<field name="SYNC3" deprecated="21" />
+		<field name="SYNC4" deprecated="21" />
+	</class>
+	<class name="android/provider/ContactsContract$StreamItems" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$StreamItemsColumns" />
+		<field name="CONTENT_ITEM_TYPE" deprecated="21" />
+		<field name="CONTENT_LIMIT_URI" deprecated="21" />
+		<field name="CONTENT_PHOTO_URI" deprecated="21" />
+		<field name="CONTENT_TYPE" deprecated="21" />
+		<field name="CONTENT_URI" deprecated="21" />
+		<field name="MAX_ITEMS" deprecated="21" />
+	</class>
+	<class name="android/provider/ContactsContract$StreamItems$StreamItemPhotos" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/ContactsContract$StreamItemPhotosColumns" />
+		<field name="CONTENT_DIRECTORY" deprecated="21" />
+		<field name="CONTENT_ITEM_TYPE" deprecated="21" />
+		<field name="CONTENT_TYPE" deprecated="21" />
+	</class>
+	<class name="android/provider/ContactsContract$StreamItemsColumns" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="ACCOUNT_NAME" deprecated="21" />
+		<field name="ACCOUNT_TYPE" deprecated="21" />
+		<field name="COMMENTS" deprecated="21" />
+		<field name="CONTACT_ID" deprecated="21" />
+		<field name="CONTACT_LOOKUP_KEY" deprecated="21" />
+		<field name="DATA_SET" deprecated="21" />
+		<field name="RAW_CONTACT_ID" deprecated="21" />
+		<field name="RAW_CONTACT_SOURCE_ID" deprecated="21" />
+		<field name="RES_ICON" deprecated="21" />
+		<field name="RES_LABEL" deprecated="21" />
+		<field name="RES_PACKAGE" deprecated="21" />
+		<field name="SYNC1" deprecated="21" />
+		<field name="SYNC2" deprecated="21" />
+		<field name="SYNC3" deprecated="21" />
+		<field name="SYNC4" deprecated="21" />
+		<field name="TEXT" deprecated="21" />
+		<field name="TIMESTAMP" deprecated="21" />
+	</class>
+	<class name="android/provider/ContactsContract$SyncColumns" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/ContactsContract$BaseSyncColumns" />
+		<field name="ACCOUNT_NAME" />
+		<field name="ACCOUNT_TYPE" />
+		<field name="DIRTY" />
+		<field name="SOURCE_ID" />
+		<field name="VERSION" />
+	</class>
+	<class name="android/provider/ContactsContract$SyncState" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/SyncStateContract$Columns" />
+		<method name="get(Landroid/content/ContentProviderClient;Landroid/accounts/Account;)[B" />
+		<method name="getWithUri(Landroid/content/ContentProviderClient;Landroid/accounts/Account;)Landroid/util/Pair;" />
+		<method name="newSetOperation(Landroid/accounts/Account;[B)Landroid/content/ContentProviderOperation;" />
+		<method name="set(Landroid/content/ContentProviderClient;Landroid/accounts/Account;[B)V" />
+		<field name="CONTENT_DIRECTORY" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/DocumentsContract" since="19">
+		<extends name="java/lang/Object" />
+		<method name="buildChildDocumentsUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="buildChildDocumentsUriUsingTree(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;" since="21" />
+		<method name="buildDocumentUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="buildDocumentUriUsingTree(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;" since="21" />
+		<method name="buildRecentDocumentsUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="buildRootUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="buildRootsUri(Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="buildSearchDocumentsUri(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="buildTreeDocumentUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;" since="21" />
+		<method name="copyDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/net/Uri;)Landroid/net/Uri;" since="24" />
+		<method name="createDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;" since="21" />
+		<method name="createWebLinkIntent(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/os/Bundle;)Landroid/content/IntentSender;" since="26" />
+		<method name="deleteDocument(Landroid/content/ContentResolver;Landroid/net/Uri;)Z" />
+		<method name="ejectRoot(Landroid/content/ContentResolver;Landroid/net/Uri;)V" since="26" />
+		<method name="findDocumentPath(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/provider/DocumentsContract$Path;" since="26" />
+		<method name="getDocumentId(Landroid/net/Uri;)Ljava/lang/String;" />
+		<method name="getDocumentMetadata(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/os/Bundle;" since="29" />
+		<method name="getDocumentThumbnail(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/graphics/Point;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;" />
+		<method name="getRootId(Landroid/net/Uri;)Ljava/lang/String;" />
+		<method name="getSearchDocumentsQuery(Landroid/net/Uri;)Ljava/lang/String;" />
+		<method name="getTreeDocumentId(Landroid/net/Uri;)Ljava/lang/String;" since="21" />
+		<method name="isChildDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/net/Uri;)Z" since="29" />
+		<method name="isDocumentUri(Landroid/content/Context;Landroid/net/Uri;)Z" />
+		<method name="isRootUri(Landroid/content/Context;Landroid/net/Uri;)Z" since="29" />
+		<method name="isRootsUri(Landroid/content/Context;Landroid/net/Uri;)Z" since="29" />
+		<method name="isTreeUri(Landroid/net/Uri;)Z" since="24" />
+		<method name="moveDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/net/Uri;Landroid/net/Uri;)Landroid/net/Uri;" since="24" />
+		<method name="removeDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/net/Uri;)Z" since="24" />
+		<method name="renameDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;" since="21" />
+		<field name="ACTION_DOCUMENT_SETTINGS" since="26" />
+		<field name="EXTRA_ERROR" />
+		<field name="EXTRA_EXCLUDE_SELF" since="23" />
+		<field name="EXTRA_INFO" />
+		<field name="EXTRA_INITIAL_URI" since="26" />
+		<field name="EXTRA_LOADING" />
+		<field name="EXTRA_ORIENTATION" since="24" />
+		<field name="EXTRA_PROMPT" since="23" />
+		<field name="METADATA_EXIF" since="29" />
+		<field name="METADATA_TREE_COUNT" since="29" />
+		<field name="METADATA_TREE_SIZE" since="29" />
+		<field name="METADATA_TYPES" since="29" />
+		<field name="PROVIDER_INTERFACE" />
+		<field name="QUERY_ARG_DISPLAY_NAME" since="29" />
+		<field name="QUERY_ARG_EXCLUDE_MEDIA" since="29" />
+		<field name="QUERY_ARG_FILE_SIZE_OVER" since="29" />
+		<field name="QUERY_ARG_LAST_MODIFIED_AFTER" since="29" />
+		<field name="QUERY_ARG_MIME_TYPES" since="29" />
+	</class>
+	<class name="android/provider/DocumentsContract$Document" since="19">
+		<extends name="java/lang/Object" />
+		<field name="COLUMN_DISPLAY_NAME" />
+		<field name="COLUMN_DOCUMENT_ID" />
+		<field name="COLUMN_FLAGS" />
+		<field name="COLUMN_ICON" />
+		<field name="COLUMN_LAST_MODIFIED" />
+		<field name="COLUMN_MIME_TYPE" />
+		<field name="COLUMN_SIZE" />
+		<field name="COLUMN_SUMMARY" />
+		<field name="FLAG_DIR_BLOCKS_OPEN_DOCUMENT_TREE" since="30" />
+		<field name="FLAG_DIR_PREFERS_GRID" />
+		<field name="FLAG_DIR_PREFERS_LAST_MODIFIED" />
+		<field name="FLAG_DIR_SUPPORTS_CREATE" />
+		<field name="FLAG_PARTIAL" since="29" />
+		<field name="FLAG_SUPPORTS_COPY" since="24" />
+		<field name="FLAG_SUPPORTS_DELETE" />
+		<field name="FLAG_SUPPORTS_METADATA" since="29" />
+		<field name="FLAG_SUPPORTS_MOVE" since="24" />
+		<field name="FLAG_SUPPORTS_REMOVE" since="24" />
+		<field name="FLAG_SUPPORTS_RENAME" since="21" />
+		<field name="FLAG_SUPPORTS_SETTINGS" since="26" />
+		<field name="FLAG_SUPPORTS_THUMBNAIL" />
+		<field name="FLAG_SUPPORTS_WRITE" />
+		<field name="FLAG_VIRTUAL_DOCUMENT" since="24" />
+		<field name="FLAG_WEB_LINKABLE" since="26" />
+		<field name="MIME_TYPE_DIR" />
+	</class>
+	<class name="android/provider/DocumentsContract$Path" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/util/List;)V" />
+		<method name="getPath()Ljava/util/List;" />
+		<method name="getRootId()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/provider/DocumentsContract$Root" since="19">
+		<extends name="java/lang/Object" />
+		<field name="COLUMN_AVAILABLE_BYTES" />
+		<field name="COLUMN_CAPACITY_BYTES" since="24" />
+		<field name="COLUMN_DOCUMENT_ID" />
+		<field name="COLUMN_FLAGS" />
+		<field name="COLUMN_ICON" />
+		<field name="COLUMN_MIME_TYPES" />
+		<field name="COLUMN_QUERY_ARGS" since="29" />
+		<field name="COLUMN_ROOT_ID" />
+		<field name="COLUMN_SUMMARY" />
+		<field name="COLUMN_TITLE" />
+		<field name="FLAG_EMPTY" since="29" />
+		<field name="FLAG_LOCAL_ONLY" />
+		<field name="FLAG_SUPPORTS_CREATE" />
+		<field name="FLAG_SUPPORTS_EJECT" since="26" />
+		<field name="FLAG_SUPPORTS_IS_CHILD" since="21" />
+		<field name="FLAG_SUPPORTS_RECENTS" />
+		<field name="FLAG_SUPPORTS_SEARCH" />
+		<field name="MIME_TYPE_ITEM" since="26" />
+	</class>
+	<class name="android/provider/DocumentsProvider" since="19">
+		<extends name="android/content/ContentProvider" />
+		<method name="&lt;init&gt;()V" />
+		<method name="copyDocument(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="24" />
+		<method name="createDocument(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="createWebLinkIntent(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/IntentSender;" since="26" />
+		<method name="deleteDocument(Ljava/lang/String;)V" />
+		<method name="ejectRoot(Ljava/lang/String;)V" since="26" />
+		<method name="findDocumentPath(Ljava/lang/String;Ljava/lang/String;)Landroid/provider/DocumentsContract$Path;" since="26" />
+		<method name="getDocumentMetadata(Ljava/lang/String;)Landroid/os/Bundle;" since="29" />
+		<method name="getDocumentStreamTypes(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;" since="24" />
+		<method name="getDocumentType(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="isChildDocument(Ljava/lang/String;Ljava/lang/String;)Z" since="21" />
+		<method name="moveDocument(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="24" />
+		<method name="openDocument(Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;" />
+		<method name="openDocumentThumbnail(Ljava/lang/String;Landroid/graphics/Point;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" />
+		<method name="openTypedDocument(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="24" />
+		<method name="queryChildDocuments(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/database/Cursor;" since="26" />
+		<method name="queryChildDocuments(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="queryDocument(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="queryRecentDocuments(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="queryRecentDocuments(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="29" />
+		<method name="queryRoots([Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="querySearchDocuments(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;" />
+		<method name="querySearchDocuments(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/database/Cursor;" since="29" />
+		<method name="removeDocument(Ljava/lang/String;Ljava/lang/String;)V" since="24" />
+		<method name="renameDocument(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="21" />
+		<method name="revokeDocumentPermission(Ljava/lang/String;)V" since="21" />
+	</class>
+	<class name="android/provider/FontRequest" since="26" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="31" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V" deprecated="31" />
+		<method name="getCertificates()Ljava/util/List;" deprecated="31" />
+		<method name="getProviderAuthority()Ljava/lang/String;" deprecated="31" />
+		<method name="getProviderPackage()Ljava/lang/String;" deprecated="31" />
+		<method name="getQuery()Ljava/lang/String;" deprecated="31" />
+	</class>
+	<class name="android/provider/FontsContract" since="26" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="buildTypeface(Landroid/content/Context;Landroid/os/CancellationSignal;[Landroid/provider/FontsContract$FontInfo;)Landroid/graphics/Typeface;" deprecated="31" />
+		<method name="fetchFonts(Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/provider/FontRequest;)Landroid/provider/FontsContract$FontFamilyResult;" deprecated="31" />
+		<method name="requestFonts(Landroid/content/Context;Landroid/provider/FontRequest;Landroid/os/Handler;Landroid/os/CancellationSignal;Landroid/provider/FontsContract$FontRequestCallback;)V" deprecated="31" />
+	</class>
+	<class name="android/provider/FontsContract$Columns" since="26" deprecated="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="FILE_ID" deprecated="31" />
+		<field name="ITALIC" deprecated="31" />
+		<field name="RESULT_CODE" deprecated="31" />
+		<field name="RESULT_CODE_FONT_NOT_FOUND" deprecated="31" />
+		<field name="RESULT_CODE_FONT_UNAVAILABLE" deprecated="31" />
+		<field name="RESULT_CODE_MALFORMED_QUERY" deprecated="31" />
+		<field name="RESULT_CODE_OK" deprecated="31" />
+		<field name="TTC_INDEX" deprecated="31" />
+		<field name="VARIATION_SETTINGS" deprecated="31" />
+		<field name="WEIGHT" deprecated="31" />
+	</class>
+	<class name="android/provider/FontsContract$FontFamilyResult" since="26" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="getFonts()[Landroid/provider/FontsContract$FontInfo;" deprecated="31" />
+		<method name="getStatusCode()I" deprecated="31" />
+		<field name="STATUS_OK" deprecated="31" />
+		<field name="STATUS_REJECTED" deprecated="31" />
+		<field name="STATUS_UNEXPECTED_DATA_PROVIDED" deprecated="31" />
+		<field name="STATUS_WRONG_CERTIFICATES" deprecated="31" />
+	</class>
+	<class name="android/provider/FontsContract$FontInfo" since="26" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="getAxes()[Landroid/graphics/fonts/FontVariationAxis;" deprecated="31" />
+		<method name="getResultCode()I" deprecated="31" />
+		<method name="getTtcIndex()I" deprecated="31" />
+		<method name="getUri()Landroid/net/Uri;" deprecated="31" />
+		<method name="getWeight()I" deprecated="31" />
+		<method name="isItalic()Z" deprecated="31" />
+	</class>
+	<class name="android/provider/FontsContract$FontRequestCallback" since="26" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="onTypefaceRequestFailed(I)V" deprecated="31" />
+		<method name="onTypefaceRetrieved(Landroid/graphics/Typeface;)V" deprecated="31" />
+		<field name="FAIL_REASON_FONT_LOAD_ERROR" deprecated="31" />
+		<field name="FAIL_REASON_FONT_NOT_FOUND" deprecated="31" />
+		<field name="FAIL_REASON_FONT_UNAVAILABLE" deprecated="31" />
+		<field name="FAIL_REASON_MALFORMED_QUERY" deprecated="31" />
+		<field name="FAIL_REASON_PROVIDER_NOT_FOUND" deprecated="31" />
+		<field name="FAIL_REASON_WRONG_CERTIFICATES" deprecated="31" />
+	</class>
+	<class name="android/provider/LiveFolders" since="3" deprecated="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="ACTION_CREATE_LIVE_FOLDER" deprecated="29" />
+		<field name="DESCRIPTION" deprecated="29" />
+		<field name="DISPLAY_MODE_GRID" deprecated="29" />
+		<field name="DISPLAY_MODE_LIST" deprecated="29" />
+		<field name="EXTRA_LIVE_FOLDER_BASE_INTENT" deprecated="29" />
+		<field name="EXTRA_LIVE_FOLDER_DISPLAY_MODE" deprecated="29" />
+		<field name="EXTRA_LIVE_FOLDER_ICON" deprecated="29" />
+		<field name="EXTRA_LIVE_FOLDER_NAME" deprecated="29" />
+		<field name="ICON_BITMAP" deprecated="29" />
+		<field name="ICON_PACKAGE" deprecated="29" />
+		<field name="ICON_RESOURCE" deprecated="29" />
+		<field name="INTENT" deprecated="29" />
+		<field name="NAME" deprecated="29" />
+	</class>
+	<class name="android/provider/OpenableColumns" since="1">
+		<extends name="java/lang/Object" />
+		<field name="DISPLAY_NAME" />
+		<field name="SIZE" />
+	</class>
+	<class name="android/provider/SearchRecentSuggestions" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;I)V" />
+		<method name="clearHistory()V" />
+		<method name="saveRecentQuery(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="truncateHistory(Landroid/content/ContentResolver;I)V" />
+		<field name="QUERIES_PROJECTION_1LINE" />
+		<field name="QUERIES_PROJECTION_2LINE" />
+		<field name="QUERIES_PROJECTION_DATE_INDEX" />
+		<field name="QUERIES_PROJECTION_DISPLAY1_INDEX" />
+		<field name="QUERIES_PROJECTION_DISPLAY2_INDEX" />
+		<field name="QUERIES_PROJECTION_QUERY_INDEX" />
+	</class>
+	<class name="android/provider/Settings" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="canDrawOverlays(Landroid/content/Context;)Z" since="23" />
+		<field name="ACTION_ACCESSIBILITY_SETTINGS" since="5" />
+		<field name="ACTION_ADD_ACCOUNT" since="8" />
+		<field name="ACTION_AIRPLANE_MODE_SETTINGS" since="3" />
+		<field name="ACTION_APN_SETTINGS" />
+		<field name="ACTION_APPLICATION_DETAILS_SETTINGS" since="9" />
+		<field name="ACTION_APPLICATION_DEVELOPMENT_SETTINGS" since="3" />
+		<field name="ACTION_APPLICATION_SETTINGS" />
+		<field name="ACTION_APP_NOTIFICATION_BUBBLE_SETTINGS" since="29" />
+		<field name="ACTION_APP_NOTIFICATION_SETTINGS" since="26" />
+		<field name="ACTION_APP_OPEN_BY_DEFAULT_SETTINGS" since="31" />
+		<field name="ACTION_APP_SEARCH_SETTINGS" since="29" />
+		<field name="ACTION_APP_USAGE_SETTINGS" since="29" />
+		<field name="ACTION_AUTO_ROTATE_SETTINGS" since="31" />
+		<field name="ACTION_BATTERY_SAVER_SETTINGS" since="22" />
+		<field name="ACTION_BIOMETRIC_ENROLL" since="30" />
+		<field name="ACTION_BLUETOOTH_SETTINGS" />
+		<field name="ACTION_CAPTIONING_SETTINGS" since="19" />
+		<field name="ACTION_CAST_SETTINGS" since="21" />
+		<field name="ACTION_CHANNEL_NOTIFICATION_SETTINGS" since="26" />
+		<field name="ACTION_CONDITION_PROVIDER_SETTINGS" since="30" />
+		<field name="ACTION_DATA_ROAMING_SETTINGS" since="3" />
+		<field name="ACTION_DATA_USAGE_SETTINGS" since="28" />
+		<field name="ACTION_DATE_SETTINGS" />
+		<field name="ACTION_DEVICE_INFO_SETTINGS" since="8" />
+		<field name="ACTION_DISPLAY_SETTINGS" />
+		<field name="ACTION_DREAM_SETTINGS" since="18" />
+		<field name="ACTION_FINGERPRINT_ENROLL" since="28" deprecated="30" />
+		<field name="ACTION_HARD_KEYBOARD_SETTINGS" since="24" />
+		<field name="ACTION_HOME_SETTINGS" since="21" />
+		<field name="ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS" since="24" />
+		<field name="ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS" since="23" />
+		<field name="ACTION_INPUT_METHOD_SETTINGS" since="3" />
+		<field name="ACTION_INPUT_METHOD_SUBTYPE_SETTINGS" since="11" />
+		<field name="ACTION_INTERNAL_STORAGE_SETTINGS" since="3" />
+		<field name="ACTION_LOCALE_SETTINGS" />
+		<field name="ACTION_LOCATION_SOURCE_SETTINGS" />
+		<field name="ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS" since="9" />
+		<field name="ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION" since="30" />
+		<field name="ACTION_MANAGE_ALL_SIM_PROFILES_SETTINGS" since="31" />
+		<field name="ACTION_MANAGE_APPLICATIONS_SETTINGS" since="3" />
+		<field name="ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION" since="30" />
+		<field name="ACTION_MANAGE_DEFAULT_APPS_SETTINGS" since="24" />
+		<field name="ACTION_MANAGE_OVERLAY_PERMISSION" since="23" />
+		<field name="ACTION_MANAGE_UNKNOWN_APP_SOURCES" since="26" />
+		<field name="ACTION_MANAGE_WRITE_SETTINGS" since="23" />
+		<field name="ACTION_MEMORY_CARD_SETTINGS" since="3" />
+		<field name="ACTION_NETWORK_OPERATOR_SETTINGS" since="3" />
+		<field name="ACTION_NFCSHARING_SETTINGS" since="14" />
+		<field name="ACTION_NFC_PAYMENT_SETTINGS" since="19" />
+		<field name="ACTION_NFC_SETTINGS" since="16" />
+		<field name="ACTION_NIGHT_DISPLAY_SETTINGS" since="26" />
+		<field name="ACTION_NOTIFICATION_ASSISTANT_SETTINGS" since="29" />
+		<field name="ACTION_NOTIFICATION_LISTENER_DETAIL_SETTINGS" since="30" />
+		<field name="ACTION_NOTIFICATION_LISTENER_SETTINGS" since="22" />
+		<field name="ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS" since="23" />
+		<field name="ACTION_PRINT_SETTINGS" since="19" />
+		<field name="ACTION_PRIVACY_SETTINGS" since="5" />
+		<field name="ACTION_PROCESS_WIFI_EASY_CONNECT_URI" since="29" />
+		<field name="ACTION_QUICK_ACCESS_WALLET_SETTINGS" since="30" />
+		<field name="ACTION_QUICK_LAUNCH_SETTINGS" since="3" />
+		<field name="ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" since="23" />
+		<field name="ACTION_REQUEST_MANAGE_MEDIA" since="31" />
+		<field name="ACTION_REQUEST_SCHEDULE_EXACT_ALARM" since="31" />
+		<field name="ACTION_REQUEST_SET_AUTOFILL_SERVICE" since="26" />
+		<field name="ACTION_SEARCH_SETTINGS" since="8" />
+		<field name="ACTION_SECURITY_SETTINGS" />
+		<field name="ACTION_SETTINGS" />
+		<field name="ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY" since="33" />
+		<field name="ACTION_SHOW_REGULATORY_INFO" since="21" />
+		<field name="ACTION_SHOW_WORK_POLICY_INFO" since="30" />
+		<field name="ACTION_SOUND_SETTINGS" />
+		<field name="ACTION_STORAGE_VOLUME_ACCESS_SETTINGS" since="28" deprecated="29" />
+		<field name="ACTION_SYNC_SETTINGS" since="3" />
+		<field name="ACTION_USAGE_ACCESS_SETTINGS" since="21" />
+		<field name="ACTION_USER_DICTIONARY_SETTINGS" since="3" />
+		<field name="ACTION_VOICE_CONTROL_AIRPLANE_MODE" since="23" />
+		<field name="ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE" since="23" />
+		<field name="ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE" since="23" />
+		<field name="ACTION_VOICE_INPUT_SETTINGS" since="21" />
+		<field name="ACTION_VPN_SETTINGS" since="24" />
+		<field name="ACTION_VR_LISTENER_SETTINGS" since="24" />
+		<field name="ACTION_WEBVIEW_SETTINGS" since="24" />
+		<field name="ACTION_WIFI_ADD_NETWORKS" since="30" />
+		<field name="ACTION_WIFI_IP_SETTINGS" since="3" />
+		<field name="ACTION_WIFI_SETTINGS" />
+		<field name="ACTION_WIRELESS_SETTINGS" />
+		<field name="ACTION_ZEN_MODE_PRIORITY_SETTINGS" since="26" />
+		<field name="ADD_WIFI_RESULT_ADD_OR_UPDATE_FAILED" since="30" />
+		<field name="ADD_WIFI_RESULT_ALREADY_EXISTS" since="30" />
+		<field name="ADD_WIFI_RESULT_SUCCESS" since="30" />
+		<field name="AUTHORITY" />
+		<field name="EXTRA_ACCOUNT_TYPES" since="18" />
+		<field name="EXTRA_AIRPLANE_MODE_ENABLED" since="23" />
+		<field name="EXTRA_APP_PACKAGE" since="26" />
+		<field name="EXTRA_AUTHORITIES" since="8" />
+		<field name="EXTRA_BATTERY_SAVER_MODE_ENABLED" since="23" />
+		<field name="EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED" since="30" />
+		<field name="EXTRA_CHANNEL_FILTER_LIST" since="31" />
+		<field name="EXTRA_CHANNEL_ID" since="26" />
+		<field name="EXTRA_CONVERSATION_ID" since="30" />
+		<field name="EXTRA_DO_NOT_DISTURB_MODE_ENABLED" since="23" />
+		<field name="EXTRA_DO_NOT_DISTURB_MODE_MINUTES" since="23" />
+		<field name="EXTRA_EASY_CONNECT_ATTEMPTED_SSID" since="30" />
+		<field name="EXTRA_EASY_CONNECT_BAND_LIST" since="30" />
+		<field name="EXTRA_EASY_CONNECT_CHANNEL_LIST" since="30" />
+		<field name="EXTRA_EASY_CONNECT_ERROR_CODE" since="30" />
+		<field name="EXTRA_INPUT_METHOD_ID" since="11" />
+		<field name="EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME" since="30" />
+		<field name="EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY" since="33" />
+		<field name="EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI" since="33" />
+		<field name="EXTRA_SUB_ID" since="28" />
+		<field name="EXTRA_WIFI_NETWORK_LIST" since="30" />
+		<field name="EXTRA_WIFI_NETWORK_RESULT_LIST" since="30" />
+		<field name="INTENT_CATEGORY_USAGE_ACCESS_CONFIG" since="23" />
+		<field name="METADATA_USAGE_ACCESS_REASON" since="23" />
+	</class>
+	<class name="android/provider/Settings$Global" since="17">
+		<extends name="android/provider/Settings$NameValueTable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;)F" />
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F" />
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I" />
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I" />
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;)J" />
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J" />
+		<method name="getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getUriFor(Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="putFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)Z" />
+		<method name="putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z" />
+		<method name="putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z" />
+		<method name="putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z" />
+		<field name="ADB_ENABLED" />
+		<field name="AIRPLANE_MODE_ON" />
+		<field name="AIRPLANE_MODE_RADIOS" />
+		<field name="ALWAYS_FINISH_ACTIVITIES" />
+		<field name="ANIMATOR_DURATION_SCALE" />
+		<field name="APPLY_RAMPING_RINGER" since="29" />
+		<field name="AUTO_TIME" />
+		<field name="AUTO_TIME_ZONE" />
+		<field name="BLUETOOTH_ON" />
+		<field name="BOOT_COUNT" since="24" />
+		<field name="CONTACT_METADATA_SYNC_ENABLED" since="24" />
+		<field name="CONTENT_URI" />
+		<field name="DATA_ROAMING" />
+		<field name="DEBUG_APP" />
+		<field name="DEVELOPMENT_SETTINGS_ENABLED" />
+		<field name="DEVICE_NAME" since="25" />
+		<field name="DEVICE_PROVISIONED" />
+		<field name="HTTP_PROXY" />
+		<field name="INSTALL_NON_MARKET_APPS" deprecated="21" />
+		<field name="MODE_RINGER" />
+		<field name="NETWORK_PREFERENCE" />
+		<field name="RADIO_BLUETOOTH" />
+		<field name="RADIO_CELL" />
+		<field name="RADIO_NFC" />
+		<field name="RADIO_WIFI" />
+		<field name="SHOW_PROCESSES" deprecated="25" />
+		<field name="STAY_ON_WHILE_PLUGGED_IN" />
+		<field name="SYS_PROP_SETTING_VERSION" removed="24" />
+		<field name="TRANSITION_ANIMATION_SCALE" />
+		<field name="USB_MASS_STORAGE_ENABLED" />
+		<field name="USE_GOOGLE_MAIL" />
+		<field name="WAIT_FOR_DEBUGGER" />
+		<field name="WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN" since="23" />
+		<field name="WIFI_MAX_DHCP_RETRY_COUNT" />
+		<field name="WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS" />
+		<field name="WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON" deprecated="26" />
+		<field name="WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY" deprecated="30" />
+		<field name="WIFI_NUM_OPEN_NETWORKS_KEPT" deprecated="30" />
+		<field name="WIFI_ON" />
+		<field name="WIFI_SLEEP_POLICY" deprecated="30" />
+		<field name="WIFI_SLEEP_POLICY_DEFAULT" deprecated="30" />
+		<field name="WIFI_SLEEP_POLICY_NEVER" deprecated="30" />
+		<field name="WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED" deprecated="30" />
+		<field name="WIFI_WATCHDOG_ON" />
+		<field name="WINDOW_ANIMATION_SCALE" />
+	</class>
+	<class name="android/provider/Settings$NameValueTable" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getUriFor(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="putString(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)Z" />
+		<field name="NAME" />
+		<field name="VALUE" />
+	</class>
+	<class name="android/provider/Settings$Panel" since="29">
+		<extends name="java/lang/Object" />
+		<field name="ACTION_INTERNET_CONNECTIVITY" />
+		<field name="ACTION_NFC" />
+		<field name="ACTION_VOLUME" />
+		<field name="ACTION_WIFI" />
+	</class>
+	<class name="android/provider/Settings$Secure" since="3">
+		<extends name="android/provider/Settings$NameValueTable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;)F" />
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F" />
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I" />
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I" />
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;)J" />
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J" />
+		<method name="getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getUriFor(Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z" since="8" deprecated="19" />
+		<method name="putFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)Z" />
+		<method name="putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z" />
+		<method name="putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z" />
+		<method name="putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="setLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;Z)V" since="8" deprecated="19" />
+		<field name="ACCESSIBILITY_DISPLAY_INVERSION_ENABLED" since="21" />
+		<field name="ACCESSIBILITY_ENABLED" since="4" />
+		<field name="ACCESSIBILITY_SPEAK_PASSWORD" since="15" deprecated="26" />
+		<field name="ADB_ENABLED" deprecated="17" />
+		<field name="ALLOWED_GEOLOCATION_ORIGINS" since="8" />
+		<field name="ALLOW_MOCK_LOCATION" deprecated="23" />
+		<field name="ANDROID_ID" />
+		<field name="BACKGROUND_DATA" deprecated="15" />
+		<field name="BLUETOOTH_ON" deprecated="17" />
+		<field name="CONTENT_URI" />
+		<field name="DATA_ROAMING" deprecated="17" />
+		<field name="DEFAULT_INPUT_METHOD" />
+		<field name="DEVELOPMENT_SETTINGS_ENABLED" since="16" deprecated="17" />
+		<field name="DEVICE_PROVISIONED" deprecated="17" />
+		<field name="ENABLED_ACCESSIBILITY_SERVICES" since="4" />
+		<field name="ENABLED_INPUT_METHODS" />
+		<field name="HTTP_PROXY" deprecated="17" />
+		<field name="INPUT_METHOD_SELECTOR_VISIBILITY" since="11" />
+		<field name="INSTALL_NON_MARKET_APPS" deprecated="17" />
+		<field name="LOCATION_MODE" since="19" deprecated="28" />
+		<field name="LOCATION_MODE_BATTERY_SAVING" since="19" deprecated="28" />
+		<field name="LOCATION_MODE_HIGH_ACCURACY" since="19" deprecated="28" />
+		<field name="LOCATION_MODE_OFF" since="19" deprecated="28" />
+		<field name="LOCATION_MODE_SENSORS_ONLY" since="19" deprecated="28" />
+		<field name="LOCATION_PROVIDERS_ALLOWED" deprecated="19" />
+		<field name="LOCK_PATTERN_ENABLED" since="8" deprecated="23" />
+		<field name="LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" since="8" deprecated="17" />
+		<field name="LOCK_PATTERN_VISIBLE" since="8" deprecated="23" />
+		<field name="LOGGING_ID" deprecated="15" />
+		<field name="NETWORK_PREFERENCE" deprecated="17" />
+		<field name="PARENTAL_CONTROL_ENABLED" />
+		<field name="PARENTAL_CONTROL_LAST_UPDATE" />
+		<field name="PARENTAL_CONTROL_REDIRECT_URL" />
+		<field name="RTT_CALLING_MODE" since="28" />
+		<field name="SECURE_FRP_MODE" since="30" />
+		<field name="SELECTED_INPUT_METHOD_SUBTYPE" since="11" />
+		<field name="SETTINGS_CLASSNAME" />
+		<field name="SKIP_FIRST_USE_HINTS" since="21" />
+		<field name="SYS_PROP_SETTING_VERSION" removed="24" />
+		<field name="TOUCH_EXPLORATION_ENABLED" since="14" />
+		<field name="TTS_DEFAULT_COUNTRY" since="4" deprecated="15" />
+		<field name="TTS_DEFAULT_LANG" since="4" deprecated="15" />
+		<field name="TTS_DEFAULT_PITCH" since="4" />
+		<field name="TTS_DEFAULT_RATE" since="4" />
+		<field name="TTS_DEFAULT_SYNTH" since="4" />
+		<field name="TTS_DEFAULT_VARIANT" since="4" deprecated="15" />
+		<field name="TTS_ENABLED_PLUGINS" since="8" />
+		<field name="TTS_USE_DEFAULTS" since="4" deprecated="15" />
+		<field name="USB_MASS_STORAGE_ENABLED" deprecated="17" />
+		<field name="USE_GOOGLE_MAIL" deprecated="17" />
+		<field name="WIFI_MAX_DHCP_RETRY_COUNT" deprecated="17" />
+		<field name="WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS" deprecated="17" />
+		<field name="WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON" deprecated="17" />
+		<field name="WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY" deprecated="17" />
+		<field name="WIFI_NUM_OPEN_NETWORKS_KEPT" deprecated="17" />
+		<field name="WIFI_ON" deprecated="17" />
+		<field name="WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" deprecated="15" />
+		<field name="WIFI_WATCHDOG_AP_COUNT" deprecated="15" />
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" deprecated="15" />
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" deprecated="15" />
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" deprecated="15" />
+		<field name="WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" deprecated="15" />
+		<field name="WIFI_WATCHDOG_MAX_AP_CHECKS" deprecated="15" />
+		<field name="WIFI_WATCHDOG_ON" deprecated="17" />
+		<field name="WIFI_WATCHDOG_PING_COUNT" deprecated="15" />
+		<field name="WIFI_WATCHDOG_PING_DELAY_MS" deprecated="15" />
+		<field name="WIFI_WATCHDOG_PING_TIMEOUT_MS" deprecated="15" />
+		<field name="WIFI_WATCHDOG_WATCH_LIST" deprecated="15" />
+	</class>
+	<class name="android/provider/Settings$SettingNotFoundException" since="1">
+		<extends name="android/util/AndroidException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/provider/Settings$System" since="1">
+		<extends name="android/provider/Settings$NameValueTable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="canWrite(Landroid/content/Context;)Z" since="23" />
+		<method name="getConfiguration(Landroid/content/ContentResolver;Landroid/content/res/Configuration;)V" />
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;)F" />
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F" />
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I" />
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I" />
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;)J" since="3" />
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J" since="3" />
+		<method name="getShowGTalkServiceStatus(Landroid/content/ContentResolver;)Z" deprecated="17" />
+		<method name="getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getUriFor(Ljava/lang/String;)Landroid/net/Uri;" />
+		<method name="putConfiguration(Landroid/content/ContentResolver;Landroid/content/res/Configuration;)Z" />
+		<method name="putFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)Z" />
+		<method name="putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z" />
+		<method name="putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z" since="3" />
+		<method name="putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="setShowGTalkServiceStatus(Landroid/content/ContentResolver;Z)V" deprecated="17" />
+		<field name="ACCELEROMETER_ROTATION" since="3" />
+		<field name="ADB_ENABLED" deprecated="15" />
+		<field name="AIRPLANE_MODE_ON" deprecated="17" />
+		<field name="AIRPLANE_MODE_RADIOS" deprecated="17" />
+		<field name="ALARM_ALERT" since="5" />
+		<field name="ALWAYS_FINISH_ACTIVITIES" deprecated="17" />
+		<field name="ANDROID_ID" deprecated="15" />
+		<field name="ANIMATOR_DURATION_SCALE" since="16" deprecated="17" />
+		<field name="APPEND_FOR_LAST_AUDIBLE" removed="23" />
+		<field name="AUTO_TIME" deprecated="17" />
+		<field name="AUTO_TIME_ZONE" since="11" deprecated="17" />
+		<field name="BLUETOOTH_DISCOVERABILITY" />
+		<field name="BLUETOOTH_DISCOVERABILITY_TIMEOUT" />
+		<field name="BLUETOOTH_ON" deprecated="15" />
+		<field name="CONTENT_URI" />
+		<field name="DATA_ROAMING" deprecated="15" />
+		<field name="DATE_FORMAT" deprecated="31" />
+		<field name="DEBUG_APP" deprecated="17" />
+		<field name="DEFAULT_ALARM_ALERT_URI" since="5" />
+		<field name="DEFAULT_NOTIFICATION_URI" />
+		<field name="DEFAULT_RINGTONE_URI" />
+		<field name="DEVICE_PROVISIONED" deprecated="15" />
+		<field name="DIM_SCREEN" deprecated="17" />
+		<field name="DTMF_TONE_TYPE_WHEN_DIALING" since="23" />
+		<field name="DTMF_TONE_WHEN_DIALING" />
+		<field name="END_BUTTON_BEHAVIOR" />
+		<field name="FONT_SCALE" />
+		<field name="HAPTIC_FEEDBACK_ENABLED" since="3" />
+		<field name="HTTP_PROXY" deprecated="15" />
+		<field name="INSTALL_NON_MARKET_APPS" deprecated="15" />
+		<field name="LOCATION_PROVIDERS_ALLOWED" deprecated="15" />
+		<field name="LOCK_PATTERN_ENABLED" deprecated="15" />
+		<field name="LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" since="3" deprecated="15" />
+		<field name="LOCK_PATTERN_VISIBLE" deprecated="15" />
+		<field name="LOGGING_ID" deprecated="15" />
+		<field name="MODE_RINGER" deprecated="17" />
+		<field name="MODE_RINGER_STREAMS_AFFECTED" />
+		<field name="MUTE_STREAMS_AFFECTED" />
+		<field name="NETWORK_PREFERENCE" deprecated="15" />
+		<field name="NEXT_ALARM_FORMATTED" deprecated="21" />
+		<field name="NOTIFICATION_SOUND" />
+		<field name="PARENTAL_CONTROL_ENABLED" deprecated="15" />
+		<field name="PARENTAL_CONTROL_LAST_UPDATE" deprecated="15" />
+		<field name="PARENTAL_CONTROL_REDIRECT_URL" deprecated="15" />
+		<field name="RADIO_BLUETOOTH" deprecated="17" />
+		<field name="RADIO_CELL" deprecated="17" />
+		<field name="RADIO_NFC" since="14" deprecated="17" />
+		<field name="RADIO_WIFI" deprecated="17" />
+		<field name="RINGTONE" />
+		<field name="SCREEN_BRIGHTNESS" />
+		<field name="SCREEN_BRIGHTNESS_MODE" since="8" />
+		<field name="SCREEN_BRIGHTNESS_MODE_AUTOMATIC" since="8" />
+		<field name="SCREEN_BRIGHTNESS_MODE_MANUAL" since="8" />
+		<field name="SCREEN_OFF_TIMEOUT" />
+		<field name="SETTINGS_CLASSNAME" deprecated="15" />
+		<field name="SETUP_WIZARD_HAS_RUN" />
+		<field name="SHOW_GTALK_SERVICE_STATUS" />
+		<field name="SHOW_PROCESSES" deprecated="17" />
+		<field name="SHOW_WEB_SUGGESTIONS" since="4" deprecated="15" />
+		<field name="SOUND_EFFECTS_ENABLED" />
+		<field name="STAY_ON_WHILE_PLUGGED_IN" deprecated="17" />
+		<field name="SYS_PROP_SETTING_VERSION" removed="24" />
+		<field name="TEXT_AUTO_CAPS" />
+		<field name="TEXT_AUTO_PUNCTUATE" />
+		<field name="TEXT_AUTO_REPLACE" />
+		<field name="TEXT_SHOW_PASSWORD" />
+		<field name="TIME_12_24" />
+		<field name="TRANSITION_ANIMATION_SCALE" deprecated="17" />
+		<field name="USB_MASS_STORAGE_ENABLED" deprecated="15" />
+		<field name="USER_ROTATION" since="11" />
+		<field name="USE_GOOGLE_MAIL" deprecated="15" />
+		<field name="VIBRATE_ON" />
+		<field name="VIBRATE_WHEN_RINGING" since="23" />
+		<field name="VOLUME_ALARM" removed="23" />
+		<field name="VOLUME_BLUETOOTH_SCO" since="8" removed="23" />
+		<field name="VOLUME_MUSIC" removed="23" />
+		<field name="VOLUME_NOTIFICATION" since="3" removed="23" />
+		<field name="VOLUME_RING" removed="23" />
+		<field name="VOLUME_SETTINGS" removed="23" />
+		<field name="VOLUME_SYSTEM" removed="23" />
+		<field name="VOLUME_VOICE" removed="23" />
+		<field name="WAIT_FOR_DEBUGGER" deprecated="17" />
+		<field name="WALLPAPER_ACTIVITY" deprecated="17" />
+		<field name="WIFI_MAX_DHCP_RETRY_COUNT" since="3" deprecated="15" />
+		<field name="WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS" since="3" deprecated="15" />
+		<field name="WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON" deprecated="15" />
+		<field name="WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY" deprecated="15" />
+		<field name="WIFI_NUM_OPEN_NETWORKS_KEPT" deprecated="15" />
+		<field name="WIFI_ON" deprecated="15" />
+		<field name="WIFI_SLEEP_POLICY" since="3" deprecated="17" />
+		<field name="WIFI_SLEEP_POLICY_DEFAULT" since="3" deprecated="17" />
+		<field name="WIFI_SLEEP_POLICY_NEVER" since="3" deprecated="17" />
+		<field name="WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED" since="3" deprecated="17" />
+		<field name="WIFI_STATIC_DNS1" deprecated="17" />
+		<field name="WIFI_STATIC_DNS2" deprecated="17" />
+		<field name="WIFI_STATIC_GATEWAY" deprecated="17" />
+		<field name="WIFI_STATIC_IP" deprecated="17" />
+		<field name="WIFI_STATIC_NETMASK" deprecated="17" />
+		<field name="WIFI_USE_STATIC_IP" deprecated="17" />
+		<field name="WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" deprecated="15" />
+		<field name="WIFI_WATCHDOG_AP_COUNT" deprecated="15" />
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" deprecated="15" />
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" deprecated="15" />
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" deprecated="15" />
+		<field name="WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" deprecated="15" />
+		<field name="WIFI_WATCHDOG_MAX_AP_CHECKS" deprecated="15" />
+		<field name="WIFI_WATCHDOG_ON" deprecated="15" />
+		<field name="WIFI_WATCHDOG_PING_COUNT" deprecated="15" />
+		<field name="WIFI_WATCHDOG_PING_DELAY_MS" deprecated="15" />
+		<field name="WIFI_WATCHDOG_PING_TIMEOUT_MS" deprecated="15" />
+		<field name="WINDOW_ANIMATION_SCALE" deprecated="17" />
+	</class>
+	<class name="android/provider/SettingsSlicesContract" since="28">
+		<extends name="java/lang/Object" />
+		<field name="AUTHORITY" />
+		<field name="BASE_URI" />
+		<field name="KEY_AIRPLANE_MODE" />
+		<field name="KEY_BATTERY_SAVER" />
+		<field name="KEY_BLUETOOTH" />
+		<field name="KEY_LOCATION" />
+		<field name="KEY_WIFI" />
+		<field name="PATH_SETTING_ACTION" />
+		<field name="PATH_SETTING_INTENT" />
+	</class>
+	<class name="android/provider/SimPhonebookContract" since="31">
+		<extends name="java/lang/Object" />
+		<field name="AUTHORITY" />
+		<field name="AUTHORITY_URI" />
+	</class>
+	<class name="android/provider/SimPhonebookContract$ElementaryFiles" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getItemUri(II)Landroid/net/Uri;" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="EF_ADN" />
+		<field name="EF_FDN" />
+		<field name="EF_SDN" />
+		<field name="EF_TYPE" />
+		<field name="EF_UNKNOWN" />
+		<field name="MAX_RECORDS" />
+		<field name="NAME_MAX_LENGTH" />
+		<field name="PHONE_NUMBER_MAX_LENGTH" />
+		<field name="RECORD_COUNT" />
+		<field name="SLOT_INDEX" />
+		<field name="SUBSCRIPTION_ID" />
+	</class>
+	<class name="android/provider/SimPhonebookContract$SimRecords" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getContentUri(II)Landroid/net/Uri;" />
+		<method name="getEncodedNameLength(Landroid/content/ContentResolver;Ljava/lang/String;)I" />
+		<method name="getItemUri(III)Landroid/net/Uri;" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="ELEMENTARY_FILE_TYPE" />
+		<field name="ERROR_NAME_UNSUPPORTED" />
+		<field name="NAME" />
+		<field name="PHONE_NUMBER" />
+		<field name="RECORD_NUMBER" />
+		<field name="SUBSCRIPTION_ID" />
+	</class>
+	<class name="android/provider/SyncStateContract" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/provider/SyncStateContract$Columns" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="ACCOUNT_NAME" />
+		<field name="ACCOUNT_TYPE" />
+		<field name="DATA" />
+	</class>
+	<class name="android/provider/SyncStateContract$Constants" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/SyncStateContract$Columns" />
+		<method name="&lt;init&gt;()V" />
+		<field name="CONTENT_DIRECTORY" />
+	</class>
+	<class name="android/provider/SyncStateContract$Helpers" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="get(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/accounts/Account;)[B" />
+		<method name="getWithUri(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/accounts/Account;)Landroid/util/Pair;" />
+		<method name="insert(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/accounts/Account;[B)Landroid/net/Uri;" />
+		<method name="newSetOperation(Landroid/net/Uri;Landroid/accounts/Account;[B)Landroid/content/ContentProviderOperation;" />
+		<method name="newUpdateOperation(Landroid/net/Uri;[B)Landroid/content/ContentProviderOperation;" />
+		<method name="set(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/accounts/Account;[B)V" />
+		<method name="update(Landroid/content/ContentProviderClient;Landroid/net/Uri;[B)V" />
+	</class>
+	<class name="android/provider/Telephony" since="19">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/provider/Telephony$BaseMmsColumns" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="CONTENT_CLASS" />
+		<field name="CONTENT_LOCATION" />
+		<field name="CONTENT_TYPE" />
+		<field name="CREATOR" since="21" />
+		<field name="DATE" />
+		<field name="DATE_SENT" />
+		<field name="DELIVERY_REPORT" />
+		<field name="DELIVERY_TIME" />
+		<field name="EXPIRY" />
+		<field name="LOCKED" />
+		<field name="MESSAGE_BOX" />
+		<field name="MESSAGE_BOX_ALL" />
+		<field name="MESSAGE_BOX_DRAFTS" />
+		<field name="MESSAGE_BOX_FAILED" since="21" />
+		<field name="MESSAGE_BOX_INBOX" />
+		<field name="MESSAGE_BOX_OUTBOX" />
+		<field name="MESSAGE_BOX_SENT" />
+		<field name="MESSAGE_CLASS" />
+		<field name="MESSAGE_ID" />
+		<field name="MESSAGE_SIZE" />
+		<field name="MESSAGE_TYPE" />
+		<field name="MMS_VERSION" />
+		<field name="PRIORITY" />
+		<field name="READ" />
+		<field name="READ_REPORT" />
+		<field name="READ_STATUS" />
+		<field name="REPORT_ALLOWED" />
+		<field name="RESPONSE_STATUS" />
+		<field name="RESPONSE_TEXT" />
+		<field name="RETRIEVE_STATUS" />
+		<field name="RETRIEVE_TEXT" />
+		<field name="RETRIEVE_TEXT_CHARSET" />
+		<field name="SEEN" />
+		<field name="STATUS" />
+		<field name="SUBJECT" />
+		<field name="SUBJECT_CHARSET" />
+		<field name="SUBSCRIPTION_ID" since="22" />
+		<field name="TEXT_ONLY" />
+		<field name="THREAD_ID" />
+		<field name="TRANSACTION_ID" />
+	</class>
+	<class name="android/provider/Telephony$CanonicalAddressesColumns" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="ADDRESS" />
+	</class>
+	<class name="android/provider/Telephony$CarrierId" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<method name="getSpecificCarrierIdUriForSubscriptionId(I)Landroid/net/Uri;" since="29" />
+		<method name="getUriForSubscriptionId(I)Landroid/net/Uri;" />
+		<field name="CARRIER_ID" />
+		<field name="CARRIER_NAME" />
+		<field name="CONTENT_URI" />
+		<field name="SPECIFIC_CARRIER_ID" since="29" />
+		<field name="SPECIFIC_CARRIER_ID_NAME" since="29" />
+	</class>
+	<class name="android/provider/Telephony$Carriers" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="APN" />
+		<field name="AUTH_TYPE" />
+		<field name="BEARER" deprecated="28" />
+		<field name="CARRIER_ENABLED" />
+		<field name="CARRIER_ID" since="29" />
+		<field name="CONTENT_URI" />
+		<field name="CURRENT" />
+		<field name="DEFAULT_SORT_ORDER" />
+		<field name="MCC" deprecated="29" />
+		<field name="MMSC" />
+		<field name="MMSPORT" />
+		<field name="MMSPROXY" />
+		<field name="MNC" deprecated="29" />
+		<field name="MVNO_MATCH_DATA" deprecated="29" />
+		<field name="MVNO_TYPE" deprecated="29" />
+		<field name="NAME" />
+		<field name="NETWORK_TYPE_BITMASK" since="28" />
+		<field name="NUMERIC" deprecated="29" />
+		<field name="PASSWORD" />
+		<field name="PORT" />
+		<field name="PROTOCOL" />
+		<field name="PROXY" />
+		<field name="ROAMING_PROTOCOL" />
+		<field name="SERVER" />
+		<field name="SIM_APN_URI" since="29" />
+		<field name="SUBSCRIPTION_ID" since="22" />
+		<field name="TYPE" />
+		<field name="USER" />
+	</class>
+	<class name="android/provider/Telephony$Mms" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/Telephony$BaseMmsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+		<field name="REPORT_REQUEST_URI" />
+		<field name="REPORT_STATUS_URI" />
+	</class>
+	<class name="android/provider/Telephony$Mms$Addr" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<method name="getAddrUriForMessage(Ljava/lang/String;)Landroid/net/Uri;" since="30" />
+		<field name="ADDRESS" />
+		<field name="CHARSET" />
+		<field name="CONTACT_ID" />
+		<field name="MSG_ID" />
+		<field name="TYPE" />
+	</class>
+	<class name="android/provider/Telephony$Mms$Draft" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/Telephony$BaseMmsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+	</class>
+	<class name="android/provider/Telephony$Mms$Inbox" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/Telephony$BaseMmsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+	</class>
+	<class name="android/provider/Telephony$Mms$Intents" since="19">
+		<extends name="java/lang/Object" />
+		<field name="CONTENT_CHANGED_ACTION" />
+		<field name="DELETED_CONTENTS" />
+	</class>
+	<class name="android/provider/Telephony$Mms$Outbox" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/Telephony$BaseMmsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+	</class>
+	<class name="android/provider/Telephony$Mms$Part" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<method name="getPartUriForMessage(Ljava/lang/String;)Landroid/net/Uri;" since="30" />
+		<field name="CHARSET" />
+		<field name="CONTENT_DISPOSITION" />
+		<field name="CONTENT_ID" />
+		<field name="CONTENT_LOCATION" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" since="29" />
+		<field name="CT_START" />
+		<field name="CT_TYPE" />
+		<field name="FILENAME" />
+		<field name="MSG_ID" />
+		<field name="NAME" />
+		<field name="SEQ" />
+		<field name="TEXT" />
+		<field name="_DATA" />
+	</class>
+	<class name="android/provider/Telephony$Mms$Rate" since="19">
+		<extends name="java/lang/Object" />
+		<field name="CONTENT_URI" />
+		<field name="SENT_TIME" />
+	</class>
+	<class name="android/provider/Telephony$Mms$Sent" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/Telephony$BaseMmsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+	</class>
+	<class name="android/provider/Telephony$MmsSms" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="CONTENT_CONVERSATIONS_URI" />
+		<field name="CONTENT_DRAFT_URI" />
+		<field name="CONTENT_FILTER_BYPHONE_URI" />
+		<field name="CONTENT_LOCKED_URI" />
+		<field name="CONTENT_UNDELIVERED_URI" />
+		<field name="CONTENT_URI" />
+		<field name="ERR_TYPE_GENERIC" />
+		<field name="ERR_TYPE_GENERIC_PERMANENT" />
+		<field name="ERR_TYPE_MMS_PROTO_PERMANENT" />
+		<field name="ERR_TYPE_MMS_PROTO_TRANSIENT" />
+		<field name="ERR_TYPE_SMS_PROTO_PERMANENT" />
+		<field name="ERR_TYPE_SMS_PROTO_TRANSIENT" />
+		<field name="ERR_TYPE_TRANSPORT_FAILURE" />
+		<field name="MMS_PROTO" />
+		<field name="NO_ERROR" />
+		<field name="SEARCH_URI" />
+		<field name="SMS_PROTO" />
+		<field name="TYPE_DISCRIMINATOR_COLUMN" />
+	</class>
+	<class name="android/provider/Telephony$MmsSms$PendingMessages" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DUE_TIME" />
+		<field name="ERROR_CODE" />
+		<field name="ERROR_TYPE" />
+		<field name="LAST_TRY" />
+		<field name="MSG_ID" />
+		<field name="MSG_TYPE" />
+		<field name="PROTO_TYPE" />
+		<field name="RETRY_INDEX" />
+		<field name="SUBSCRIPTION_ID" since="22" />
+	</class>
+	<class name="android/provider/Telephony$ServiceStateTable" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getUriForSubscriptionId(I)Landroid/net/Uri;" />
+		<method name="getUriForSubscriptionIdAndField(ILjava/lang/String;)Landroid/net/Uri;" />
+		<field name="AUTHORITY" />
+		<field name="CONTENT_URI" />
+		<field name="DATA_NETWORK_TYPE" since="31" />
+		<field name="DATA_REG_STATE" since="31" />
+		<field name="DUPLEX_MODE" since="31" />
+		<field name="IS_MANUAL_NETWORK_SELECTION" />
+		<field name="VOICE_OPERATOR_NUMERIC" />
+		<field name="VOICE_REG_STATE" />
+	</class>
+	<class name="android/provider/Telephony$Sms" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Telephony$TextBasedSmsColumns" />
+		<method name="getDefaultSmsPackage(Landroid/content/Context;)Ljava/lang/String;" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+	</class>
+	<class name="android/provider/Telephony$Sms$Conversations" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Telephony$TextBasedSmsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+		<field name="MESSAGE_COUNT" />
+		<field name="SNIPPET" />
+	</class>
+	<class name="android/provider/Telephony$Sms$Draft" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Telephony$TextBasedSmsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+	</class>
+	<class name="android/provider/Telephony$Sms$Inbox" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Telephony$TextBasedSmsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+	</class>
+	<class name="android/provider/Telephony$Sms$Intents" since="19">
+		<extends name="java/lang/Object" />
+		<method name="getMessagesFromIntent(Landroid/content/Intent;)[Landroid/telephony/SmsMessage;" />
+		<field name="ACTION_CHANGE_DEFAULT" />
+		<field name="ACTION_DEFAULT_SMS_PACKAGE_CHANGED" since="24" />
+		<field name="ACTION_EXTERNAL_PROVIDER_CHANGE" since="24" />
+		<field name="DATA_SMS_RECEIVED_ACTION" />
+		<field name="EXTRA_IS_DEFAULT_SMS_APP" since="24" />
+		<field name="EXTRA_PACKAGE_NAME" />
+		<field name="RESULT_SMS_DATABASE_ERROR" since="30" />
+		<field name="RESULT_SMS_DISPATCH_FAILURE" since="30" />
+		<field name="RESULT_SMS_DUPLICATED" />
+		<field name="RESULT_SMS_GENERIC_ERROR" />
+		<field name="RESULT_SMS_HANDLED" />
+		<field name="RESULT_SMS_INVALID_URI" since="30" />
+		<field name="RESULT_SMS_NULL_MESSAGE" since="30" />
+		<field name="RESULT_SMS_NULL_PDU" since="30" />
+		<field name="RESULT_SMS_OUT_OF_MEMORY" />
+		<field name="RESULT_SMS_RECEIVED_WHILE_ENCRYPTED" since="30" />
+		<field name="RESULT_SMS_UNSUPPORTED" />
+		<field name="SECRET_CODE_ACTION" since="28" deprecated="29" />
+		<field name="SIM_FULL_ACTION" />
+		<field name="SMS_CB_RECEIVED_ACTION" />
+		<field name="SMS_DELIVER_ACTION" />
+		<field name="SMS_EMERGENCY_CB_RECEIVED_ACTION" removed="24" />
+		<field name="SMS_RECEIVED_ACTION" />
+		<field name="SMS_REJECTED_ACTION" />
+		<field name="SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION" />
+		<field name="WAP_PUSH_DELIVER_ACTION" />
+		<field name="WAP_PUSH_RECEIVED_ACTION" />
+	</class>
+	<class name="android/provider/Telephony$Sms$Outbox" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Telephony$TextBasedSmsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+	</class>
+	<class name="android/provider/Telephony$Sms$Sent" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/Telephony$TextBasedSmsColumns" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+	</class>
+	<class name="android/provider/Telephony$TextBasedSmsColumns" since="19">
+		<extends name="java/lang/Object" />
+		<field name="ADDRESS" />
+		<field name="BODY" />
+		<field name="CREATOR" since="21" />
+		<field name="DATE" />
+		<field name="DATE_SENT" />
+		<field name="ERROR_CODE" />
+		<field name="LOCKED" />
+		<field name="MESSAGE_TYPE_ALL" />
+		<field name="MESSAGE_TYPE_DRAFT" />
+		<field name="MESSAGE_TYPE_FAILED" />
+		<field name="MESSAGE_TYPE_INBOX" />
+		<field name="MESSAGE_TYPE_OUTBOX" />
+		<field name="MESSAGE_TYPE_QUEUED" />
+		<field name="MESSAGE_TYPE_SENT" />
+		<field name="PERSON" />
+		<field name="PROTOCOL" />
+		<field name="READ" />
+		<field name="REPLY_PATH_PRESENT" />
+		<field name="SEEN" />
+		<field name="SERVICE_CENTER" />
+		<field name="STATUS" />
+		<field name="STATUS_COMPLETE" />
+		<field name="STATUS_FAILED" />
+		<field name="STATUS_NONE" />
+		<field name="STATUS_PENDING" />
+		<field name="SUBJECT" />
+		<field name="SUBSCRIPTION_ID" since="22" />
+		<field name="THREAD_ID" />
+		<field name="TYPE" />
+	</class>
+	<class name="android/provider/Telephony$Threads" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/Telephony$ThreadsColumns" />
+		<method name="getOrCreateThreadId(Landroid/content/Context;Ljava/lang/String;)J" since="23" />
+		<method name="getOrCreateThreadId(Landroid/content/Context;Ljava/util/Set;)J" since="23" />
+		<field name="BROADCAST_THREAD" />
+		<field name="COMMON_THREAD" />
+		<field name="CONTENT_URI" />
+		<field name="OBSOLETE_THREADS_URI" />
+	</class>
+	<class name="android/provider/Telephony$ThreadsColumns" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<field name="ARCHIVED" since="21" />
+		<field name="DATE" />
+		<field name="ERROR" />
+		<field name="HAS_ATTACHMENT" />
+		<field name="MESSAGE_COUNT" />
+		<field name="READ" />
+		<field name="RECIPIENT_IDS" />
+		<field name="SNIPPET" />
+		<field name="SNIPPET_CHARSET" />
+		<field name="TYPE" />
+	</class>
+	<class name="android/provider/UserDictionary" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="AUTHORITY" />
+		<field name="CONTENT_URI" />
+	</class>
+	<class name="android/provider/UserDictionary$Words" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addWord(Landroid/content/Context;Ljava/lang/String;II)V" deprecated="16" />
+		<method name="addWord(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;Ljava/util/Locale;)V" since="16" />
+		<field name="APP_ID" />
+		<field name="CONTENT_ITEM_TYPE" />
+		<field name="CONTENT_TYPE" />
+		<field name="CONTENT_URI" />
+		<field name="DEFAULT_SORT_ORDER" />
+		<field name="FREQUENCY" />
+		<field name="LOCALE" />
+		<field name="LOCALE_TYPE_ALL" deprecated="16" />
+		<field name="LOCALE_TYPE_CURRENT" deprecated="16" />
+		<field name="SHORTCUT" since="16" />
+		<field name="WORD" />
+		<field name="_ID" />
+	</class>
+	<class name="android/provider/VoicemailContract" since="14">
+		<extends name="java/lang/Object" />
+		<field name="ACTION_FETCH_VOICEMAIL" />
+		<field name="ACTION_NEW_VOICEMAIL" />
+		<field name="ACTION_SYNC_VOICEMAIL" since="24" />
+		<field name="AUTHORITY" />
+		<field name="EXTRA_PHONE_ACCOUNT_HANDLE" since="25" />
+		<field name="EXTRA_SELF_CHANGE" />
+		<field name="PARAM_KEY_SOURCE_PACKAGE" />
+	</class>
+	<class name="android/provider/VoicemailContract$Status" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<method name="buildSourceUri(Ljava/lang/String;)Landroid/net/Uri;" />
+		<field name="CONFIGURATION_STATE" />
+		<field name="CONFIGURATION_STATE_CAN_BE_CONFIGURED" />
+		<field name="CONFIGURATION_STATE_CONFIGURING" since="25" />
+		<field name="CONFIGURATION_STATE_DISABLED" since="25" />
+		<field name="CONFIGURATION_STATE_FAILED" since="25" />
+		<field name="CONFIGURATION_STATE_NOT_CONFIGURED" />
+		<field name="CONFIGURATION_STATE_OK" />
+		<field name="CONTENT_URI" />
+		<field name="DATA_CHANNEL_STATE" />
+		<field name="DATA_CHANNEL_STATE_BAD_CONFIGURATION" since="24" />
+		<field name="DATA_CHANNEL_STATE_COMMUNICATION_ERROR" since="24" />
+		<field name="DATA_CHANNEL_STATE_NO_CONNECTION" />
+		<field name="DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED" since="24" />
+		<field name="DATA_CHANNEL_STATE_OK" />
+		<field name="DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR" since="24" />
+		<field name="DATA_CHANNEL_STATE_SERVER_ERROR" since="24" />
+		<field name="DIR_TYPE" />
+		<field name="ITEM_TYPE" />
+		<field name="NOTIFICATION_CHANNEL_STATE" />
+		<field name="NOTIFICATION_CHANNEL_STATE_MESSAGE_WAITING" />
+		<field name="NOTIFICATION_CHANNEL_STATE_NO_CONNECTION" />
+		<field name="NOTIFICATION_CHANNEL_STATE_OK" />
+		<field name="PHONE_ACCOUNT_COMPONENT_NAME" since="23" />
+		<field name="PHONE_ACCOUNT_ID" since="23" />
+		<field name="QUOTA_OCCUPIED" since="24" />
+		<field name="QUOTA_TOTAL" since="24" />
+		<field name="QUOTA_UNAVAILABLE" since="24" />
+		<field name="SETTINGS_URI" />
+		<field name="SOURCE_PACKAGE" />
+		<field name="SOURCE_TYPE" since="25" />
+		<field name="VOICEMAIL_ACCESS_URI" />
+	</class>
+	<class name="android/provider/VoicemailContract$Voicemails" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/provider/BaseColumns" />
+		<implements name="android/provider/OpenableColumns" />
+		<method name="buildSourceUri(Ljava/lang/String;)Landroid/net/Uri;" />
+		<field name="ARCHIVED" since="26" />
+		<field name="BACKED_UP" since="26" />
+		<field name="CONTENT_URI" />
+		<field name="DATE" />
+		<field name="DELETED" since="23" />
+		<field name="DIRTY" since="23" />
+		<field name="DIRTY_RETAIN" since="28" />
+		<field name="DIR_TYPE" />
+		<field name="DURATION" />
+		<field name="HAS_CONTENT" />
+		<field name="IS_OMTP_VOICEMAIL" since="26" />
+		<field name="IS_READ" />
+		<field name="ITEM_TYPE" />
+		<field name="LAST_MODIFIED" since="24" />
+		<field name="MIME_TYPE" />
+		<field name="NEW" since="28" />
+		<field name="NUMBER" />
+		<field name="PHONE_ACCOUNT_COMPONENT_NAME" since="23" />
+		<field name="PHONE_ACCOUNT_ID" since="23" />
+		<field name="RESTORED" since="26" />
+		<field name="SOURCE_DATA" />
+		<field name="SOURCE_PACKAGE" />
+		<field name="TRANSCRIPTION" since="21" />
+	</class>
+	<class name="android/renderscript/Allocation" since="11" deprecated="31">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="copy1DRangeFrom(IILandroid/renderscript/Allocation;I)V" since="14" deprecated="31" />
+		<method name="copy1DRangeFrom(IILjava/lang/Object;)V" since="21" deprecated="31" />
+		<method name="copy1DRangeFrom(II[B)V" deprecated="31" />
+		<method name="copy1DRangeFrom(II[F)V" deprecated="31" />
+		<method name="copy1DRangeFrom(II[I)V" deprecated="31" />
+		<method name="copy1DRangeFrom(II[S)V" deprecated="31" />
+		<method name="copy1DRangeFromUnchecked(IILjava/lang/Object;)V" since="21" deprecated="31" />
+		<method name="copy1DRangeFromUnchecked(II[B)V" deprecated="31" />
+		<method name="copy1DRangeFromUnchecked(II[F)V" deprecated="31" />
+		<method name="copy1DRangeFromUnchecked(II[I)V" deprecated="31" />
+		<method name="copy1DRangeFromUnchecked(II[S)V" deprecated="31" />
+		<method name="copy1DRangeTo(IILjava/lang/Object;)V" since="23" deprecated="31" />
+		<method name="copy1DRangeTo(II[B)V" since="23" deprecated="31" />
+		<method name="copy1DRangeTo(II[F)V" since="23" deprecated="31" />
+		<method name="copy1DRangeTo(II[I)V" since="23" deprecated="31" />
+		<method name="copy1DRangeTo(II[S)V" since="23" deprecated="31" />
+		<method name="copy1DRangeToUnchecked(IILjava/lang/Object;)V" since="23" deprecated="31" />
+		<method name="copy1DRangeToUnchecked(II[B)V" since="23" deprecated="31" />
+		<method name="copy1DRangeToUnchecked(II[F)V" since="23" deprecated="31" />
+		<method name="copy1DRangeToUnchecked(II[I)V" since="23" deprecated="31" />
+		<method name="copy1DRangeToUnchecked(II[S)V" since="23" deprecated="31" />
+		<method name="copy2DRangeFrom(IIIILandroid/renderscript/Allocation;II)V" since="14" deprecated="31" />
+		<method name="copy2DRangeFrom(IIIILjava/lang/Object;)V" since="21" deprecated="31" />
+		<method name="copy2DRangeFrom(IIII[B)V" deprecated="31" />
+		<method name="copy2DRangeFrom(IIII[F)V" deprecated="31" />
+		<method name="copy2DRangeFrom(IIII[I)V" deprecated="31" />
+		<method name="copy2DRangeFrom(IIII[S)V" deprecated="31" />
+		<method name="copy2DRangeFrom(IILandroid/graphics/Bitmap;)V" deprecated="31" />
+		<method name="copy2DRangeTo(IIIILjava/lang/Object;)V" since="23" deprecated="31" />
+		<method name="copy2DRangeTo(IIII[B)V" since="23" deprecated="31" />
+		<method name="copy2DRangeTo(IIII[F)V" since="23" deprecated="31" />
+		<method name="copy2DRangeTo(IIII[I)V" since="23" deprecated="31" />
+		<method name="copy2DRangeTo(IIII[S)V" since="23" deprecated="31" />
+		<method name="copy3DRangeFrom(IIIIIILandroid/renderscript/Allocation;III)V" since="23" deprecated="31" />
+		<method name="copy3DRangeFrom(IIIIIILjava/lang/Object;)V" since="23" deprecated="31" />
+		<method name="copy3DRangeTo(IIIIIILjava/lang/Object;)V" since="23" deprecated="31" />
+		<method name="copyFrom(Landroid/graphics/Bitmap;)V" deprecated="31" />
+		<method name="copyFrom(Landroid/renderscript/Allocation;)V" since="18" deprecated="31" />
+		<method name="copyFrom(Ljava/lang/Object;)V" since="21" deprecated="31" />
+		<method name="copyFrom([B)V" deprecated="31" />
+		<method name="copyFrom([F)V" deprecated="31" />
+		<method name="copyFrom([I)V" deprecated="31" />
+		<method name="copyFrom([Landroid/renderscript/BaseObj;)V" deprecated="31" />
+		<method name="copyFrom([S)V" deprecated="31" />
+		<method name="copyFromUnchecked(Ljava/lang/Object;)V" since="21" deprecated="31" />
+		<method name="copyFromUnchecked([B)V" deprecated="31" />
+		<method name="copyFromUnchecked([F)V" deprecated="31" />
+		<method name="copyFromUnchecked([I)V" deprecated="31" />
+		<method name="copyFromUnchecked([S)V" deprecated="31" />
+		<method name="copyTo(Landroid/graphics/Bitmap;)V" deprecated="31" />
+		<method name="copyTo(Ljava/lang/Object;)V" since="21" deprecated="31" />
+		<method name="copyTo([B)V" deprecated="31" />
+		<method name="copyTo([F)V" deprecated="31" />
+		<method name="copyTo([I)V" deprecated="31" />
+		<method name="copyTo([S)V" deprecated="31" />
+		<method name="createAllocations(Landroid/renderscript/RenderScript;Landroid/renderscript/Type;II)[Landroid/renderscript/Allocation;" since="24" deprecated="31" />
+		<method name="createCubemapFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createCubemapFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;Landroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createCubemapFromCubeFaces(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createCubemapFromCubeFaces(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;Landroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createFromBitmapResource(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;I)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createFromBitmapResource(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;ILandroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createFromString(Landroid/renderscript/RenderScript;Ljava/lang/String;I)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createSized(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;I)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createSized(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;II)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createTyped(Landroid/renderscript/RenderScript;Landroid/renderscript/Type;)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createTyped(Landroid/renderscript/RenderScript;Landroid/renderscript/Type;I)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="createTyped(Landroid/renderscript/RenderScript;Landroid/renderscript/Type;Landroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="generateMipmaps()V" deprecated="31" />
+		<method name="getByteBuffer()Ljava/nio/ByteBuffer;" since="24" deprecated="31" />
+		<method name="getBytesSize()I" since="16" deprecated="31" />
+		<method name="getElement()Landroid/renderscript/Element;" since="16" deprecated="31" />
+		<method name="getStride()J" since="24" deprecated="31" />
+		<method name="getSurface()Landroid/view/Surface;" since="16" deprecated="31" />
+		<method name="getTimeStamp()J" since="24" deprecated="31" />
+		<method name="getType()Landroid/renderscript/Type;" deprecated="31" />
+		<method name="getUsage()I" since="16" deprecated="31" />
+		<method name="ioReceive()V" since="16" deprecated="31" />
+		<method name="ioSend()V" since="16" deprecated="31" />
+		<method name="resize(I)V" deprecated="18" />
+		<method name="setAutoPadding(Z)V" since="23" deprecated="31" />
+		<method name="setFromFieldPacker(IIIILandroid/renderscript/FieldPacker;)V" since="23" deprecated="31" />
+		<method name="setFromFieldPacker(IILandroid/renderscript/FieldPacker;)V" deprecated="31" />
+		<method name="setFromFieldPacker(ILandroid/renderscript/FieldPacker;)V" deprecated="31" />
+		<method name="setOnBufferAvailableListener(Landroid/renderscript/Allocation$OnBufferAvailableListener;)V" since="19" deprecated="31" />
+		<method name="setSurface(Landroid/view/Surface;)V" since="16" deprecated="31" />
+		<method name="syncAll(I)V" deprecated="31" />
+		<field name="USAGE_GRAPHICS_CONSTANTS" deprecated="31" />
+		<field name="USAGE_GRAPHICS_RENDER_TARGET" since="14" deprecated="31" />
+		<field name="USAGE_GRAPHICS_TEXTURE" deprecated="31" />
+		<field name="USAGE_GRAPHICS_VERTEX" deprecated="31" />
+		<field name="USAGE_IO_INPUT" since="16" deprecated="31" />
+		<field name="USAGE_IO_OUTPUT" since="16" deprecated="31" />
+		<field name="USAGE_SCRIPT" deprecated="31" />
+		<field name="USAGE_SHARED" since="18" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Allocation$MipmapControl" since="11" deprecated="31">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Allocation$MipmapControl;" />
+		<method name="values()[Landroid/renderscript/Allocation$MipmapControl;" />
+		<field name="MIPMAP_FULL" deprecated="31" />
+		<field name="MIPMAP_NONE" deprecated="31" />
+		<field name="MIPMAP_ON_SYNC_TO_TEXTURE" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Allocation$OnBufferAvailableListener" since="19" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="onBufferAvailable(Landroid/renderscript/Allocation;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/AllocationAdapter" since="11" deprecated="31">
+		<extends name="android/renderscript/Allocation" />
+		<method name="create1D(Landroid/renderscript/RenderScript;Landroid/renderscript/Allocation;)Landroid/renderscript/AllocationAdapter;" since="14" deprecated="31" />
+		<method name="create2D(Landroid/renderscript/RenderScript;Landroid/renderscript/Allocation;)Landroid/renderscript/AllocationAdapter;" deprecated="31" />
+		<method name="createTyped(Landroid/renderscript/RenderScript;Landroid/renderscript/Allocation;Landroid/renderscript/Type;)Landroid/renderscript/AllocationAdapter;" since="23" deprecated="31" />
+		<method name="readData([F)V" removed="14" />
+		<method name="readData([I)V" removed="14" />
+		<method name="setFace(Landroid/renderscript/Type$CubemapFace;)V" deprecated="31" />
+		<method name="setLOD(I)V" deprecated="31" />
+		<method name="setX(I)V" since="23" deprecated="31" />
+		<method name="setY(I)V" deprecated="31" />
+		<method name="setZ(I)V" deprecated="31" />
+		<method name="subData(ILandroid/renderscript/FieldPacker;)V" removed="14" />
+		<method name="subData1D(II[B)V" removed="14" />
+		<method name="subData1D(II[F)V" removed="14" />
+		<method name="subData1D(II[I)V" removed="14" />
+		<method name="subData1D(II[S)V" removed="14" />
+		<method name="subData2D(IIII[F)V" removed="14" />
+		<method name="subData2D(IIII[I)V" removed="14" />
+		<method name="subElementData(IILandroid/renderscript/FieldPacker;)V" removed="14" />
+	</class>
+	<class name="android/renderscript/BaseObj" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="destroy()V" deprecated="31" />
+		<method name="getName()Ljava/lang/String;" since="14" deprecated="31" />
+		<method name="setName(Ljava/lang/String;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Byte2" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(BB)V" since="14" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Byte3" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(BBB)V" since="14" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Byte4" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(BBBB)V" since="14" deprecated="31" />
+		<field name="w" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Double2" since="14" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(DD)V" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Double3" since="14" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(DDD)V" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Double4" since="14" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(DDDD)V" deprecated="31" />
+		<field name="w" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Element" since="11" deprecated="31">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="ALLOCATION(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="A_8(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="BOOLEAN(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="ELEMENT(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="F16(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="23" deprecated="31" />
+		<method name="F16_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="23" deprecated="31" />
+		<method name="F16_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="23" deprecated="31" />
+		<method name="F16_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="23" deprecated="31" />
+		<method name="F32(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="F32_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="F32_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="F32_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="F64(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="F64_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="F64_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="F64_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="FONT(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="16" deprecated="31" />
+		<method name="I16(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="I16_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I16_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I16_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I32(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="I32_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I32_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I32_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I64(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="I64_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I64_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I64_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I8(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="I8_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I8_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="I8_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="MATRIX4X4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="16" />
+		<method name="MATRIX_2X2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="MATRIX_3X3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="MATRIX_4X4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="MESH(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="PROGRAM_FRAGMENT(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="PROGRAM_RASTER(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="PROGRAM_STORE(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="PROGRAM_VERTEX(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="RGBA_4444(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="RGBA_5551(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="RGBA_8888(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="RGB_565(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="RGB_888(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="SAMPLER(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="SCRIPT(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="TYPE(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="U16(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="U16_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U16_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U16_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U32(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="U32_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U32_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U32_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U64(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="U64_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U64_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U64_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U8(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="U8_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U8_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31" />
+		<method name="U8_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="YUV(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="19" deprecated="31" />
+		<method name="createPixel(Landroid/renderscript/RenderScript;Landroid/renderscript/Element$DataType;Landroid/renderscript/Element$DataKind;)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="createVector(Landroid/renderscript/RenderScript;Landroid/renderscript/Element$DataType;I)Landroid/renderscript/Element;" deprecated="31" />
+		<method name="getBytesSize()I" since="16" deprecated="31" />
+		<method name="getDataKind()Landroid/renderscript/Element$DataKind;" since="16" deprecated="31" />
+		<method name="getDataType()Landroid/renderscript/Element$DataType;" since="16" deprecated="31" />
+		<method name="getSubElement(I)Landroid/renderscript/Element;" since="16" deprecated="31" />
+		<method name="getSubElementArraySize(I)I" since="16" deprecated="31" />
+		<method name="getSubElementCount()I" since="16" deprecated="31" />
+		<method name="getSubElementName(I)Ljava/lang/String;" since="16" deprecated="31" />
+		<method name="getSubElementOffsetBytes(I)I" since="16" deprecated="31" />
+		<method name="getVectorSize()I" since="16" deprecated="31" />
+		<method name="isCompatible(Landroid/renderscript/Element;)Z" since="14" deprecated="31" />
+		<method name="isComplex()Z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Element$Builder" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="31" />
+		<method name="add(Landroid/renderscript/Element;Ljava/lang/String;)Landroid/renderscript/Element$Builder;" deprecated="31" />
+		<method name="add(Landroid/renderscript/Element;Ljava/lang/String;I)Landroid/renderscript/Element$Builder;" deprecated="31" />
+		<method name="create()Landroid/renderscript/Element;" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Element$DataKind" since="11" deprecated="31">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Element$DataKind;" />
+		<method name="values()[Landroid/renderscript/Element$DataKind;" />
+		<field name="PIXEL_A" deprecated="31" />
+		<field name="PIXEL_DEPTH" since="14" deprecated="31" />
+		<field name="PIXEL_L" deprecated="31" />
+		<field name="PIXEL_LA" deprecated="31" />
+		<field name="PIXEL_RGB" deprecated="31" />
+		<field name="PIXEL_RGBA" deprecated="31" />
+		<field name="PIXEL_YUV" since="18" deprecated="31" />
+		<field name="USER" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Element$DataType" since="11" deprecated="31">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Element$DataType;" />
+		<method name="values()[Landroid/renderscript/Element$DataType;" />
+		<field name="BOOLEAN" deprecated="31" />
+		<field name="FLOAT_16" since="23" deprecated="31" />
+		<field name="FLOAT_32" deprecated="31" />
+		<field name="FLOAT_64" deprecated="31" />
+		<field name="MATRIX_2X2" deprecated="31" />
+		<field name="MATRIX_3X3" deprecated="31" />
+		<field name="MATRIX_4X4" deprecated="31" />
+		<field name="NONE" since="16" deprecated="31" />
+		<field name="RS_ALLOCATION" deprecated="31" />
+		<field name="RS_ELEMENT" deprecated="31" />
+		<field name="RS_FONT" since="16" deprecated="31" />
+		<field name="RS_MESH" deprecated="31" />
+		<field name="RS_PROGRAM_FRAGMENT" deprecated="31" />
+		<field name="RS_PROGRAM_RASTER" deprecated="31" />
+		<field name="RS_PROGRAM_STORE" deprecated="31" />
+		<field name="RS_PROGRAM_VERTEX" deprecated="31" />
+		<field name="RS_SAMPLER" deprecated="31" />
+		<field name="RS_SCRIPT" deprecated="31" />
+		<field name="RS_TYPE" deprecated="31" />
+		<field name="SIGNED_16" deprecated="31" />
+		<field name="SIGNED_32" deprecated="31" />
+		<field name="SIGNED_64" deprecated="31" />
+		<field name="SIGNED_8" deprecated="31" />
+		<field name="UNSIGNED_16" deprecated="31" />
+		<field name="UNSIGNED_32" deprecated="31" />
+		<field name="UNSIGNED_4_4_4_4" deprecated="31" />
+		<field name="UNSIGNED_5_5_5_1" deprecated="31" />
+		<field name="UNSIGNED_5_6_5" deprecated="31" />
+		<field name="UNSIGNED_64" deprecated="31" />
+		<field name="UNSIGNED_8" deprecated="31" />
+	</class>
+	<class name="android/renderscript/FieldPacker" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" deprecated="31" />
+		<method name="&lt;init&gt;([B)V" since="18" deprecated="31" />
+		<method name="addBoolean(Z)V" deprecated="31" />
+		<method name="addF32(F)V" deprecated="31" />
+		<method name="addF32(Landroid/renderscript/Float2;)V" deprecated="31" />
+		<method name="addF32(Landroid/renderscript/Float3;)V" deprecated="31" />
+		<method name="addF32(Landroid/renderscript/Float4;)V" deprecated="31" />
+		<method name="addF64(D)V" deprecated="31" />
+		<method name="addF64(Landroid/renderscript/Double2;)V" since="14" deprecated="31" />
+		<method name="addF64(Landroid/renderscript/Double3;)V" since="14" deprecated="31" />
+		<method name="addF64(Landroid/renderscript/Double4;)V" since="14" deprecated="31" />
+		<method name="addI16(Landroid/renderscript/Short2;)V" deprecated="31" />
+		<method name="addI16(Landroid/renderscript/Short3;)V" deprecated="31" />
+		<method name="addI16(Landroid/renderscript/Short4;)V" deprecated="31" />
+		<method name="addI16(S)V" deprecated="31" />
+		<method name="addI32(I)V" deprecated="31" />
+		<method name="addI32(Landroid/renderscript/Int2;)V" deprecated="31" />
+		<method name="addI32(Landroid/renderscript/Int3;)V" deprecated="31" />
+		<method name="addI32(Landroid/renderscript/Int4;)V" deprecated="31" />
+		<method name="addI64(J)V" deprecated="31" />
+		<method name="addI64(Landroid/renderscript/Long2;)V" since="14" deprecated="31" />
+		<method name="addI64(Landroid/renderscript/Long3;)V" since="14" deprecated="31" />
+		<method name="addI64(Landroid/renderscript/Long4;)V" since="14" deprecated="31" />
+		<method name="addI8(B)V" deprecated="31" />
+		<method name="addI8(Landroid/renderscript/Byte2;)V" deprecated="31" />
+		<method name="addI8(Landroid/renderscript/Byte3;)V" deprecated="31" />
+		<method name="addI8(Landroid/renderscript/Byte4;)V" deprecated="31" />
+		<method name="addMatrix(Landroid/renderscript/Matrix2f;)V" deprecated="31" />
+		<method name="addMatrix(Landroid/renderscript/Matrix3f;)V" deprecated="31" />
+		<method name="addMatrix(Landroid/renderscript/Matrix4f;)V" deprecated="31" />
+		<method name="addObj(Landroid/renderscript/BaseObj;)V" deprecated="31" />
+		<method name="addU16(I)V" deprecated="31" />
+		<method name="addU16(Landroid/renderscript/Int2;)V" deprecated="31" />
+		<method name="addU16(Landroid/renderscript/Int3;)V" deprecated="31" />
+		<method name="addU16(Landroid/renderscript/Int4;)V" deprecated="31" />
+		<method name="addU32(J)V" deprecated="31" />
+		<method name="addU32(Landroid/renderscript/Long2;)V" deprecated="31" />
+		<method name="addU32(Landroid/renderscript/Long3;)V" deprecated="31" />
+		<method name="addU32(Landroid/renderscript/Long4;)V" deprecated="31" />
+		<method name="addU64(J)V" deprecated="31" />
+		<method name="addU64(Landroid/renderscript/Long2;)V" since="14" deprecated="31" />
+		<method name="addU64(Landroid/renderscript/Long3;)V" since="14" deprecated="31" />
+		<method name="addU64(Landroid/renderscript/Long4;)V" since="14" deprecated="31" />
+		<method name="addU8(Landroid/renderscript/Short2;)V" deprecated="31" />
+		<method name="addU8(Landroid/renderscript/Short3;)V" deprecated="31" />
+		<method name="addU8(Landroid/renderscript/Short4;)V" deprecated="31" />
+		<method name="addU8(S)V" deprecated="31" />
+		<method name="align(I)V" deprecated="31" />
+		<method name="getData()[B" deprecated="31" />
+		<method name="reset()V" deprecated="31" />
+		<method name="reset(I)V" deprecated="31" />
+		<method name="skip(I)V" deprecated="31" />
+		<method name="subBoolean()Z" since="18" deprecated="31" />
+		<method name="subByte2()Landroid/renderscript/Byte2;" since="18" deprecated="31" />
+		<method name="subByte3()Landroid/renderscript/Byte3;" since="18" deprecated="31" />
+		<method name="subByte4()Landroid/renderscript/Byte4;" since="18" deprecated="31" />
+		<method name="subDouble2()Landroid/renderscript/Double2;" since="18" deprecated="31" />
+		<method name="subDouble3()Landroid/renderscript/Double3;" since="18" deprecated="31" />
+		<method name="subDouble4()Landroid/renderscript/Double4;" since="18" deprecated="31" />
+		<method name="subF32()F" since="18" deprecated="31" />
+		<method name="subF64()D" since="18" deprecated="31" />
+		<method name="subFloat2()Landroid/renderscript/Float2;" since="18" deprecated="31" />
+		<method name="subFloat3()Landroid/renderscript/Float3;" since="18" deprecated="31" />
+		<method name="subFloat4()Landroid/renderscript/Float4;" since="18" deprecated="31" />
+		<method name="subI16()S" since="18" deprecated="31" />
+		<method name="subI32()I" since="18" deprecated="31" />
+		<method name="subI64()J" since="18" deprecated="31" />
+		<method name="subI8()B" since="18" deprecated="31" />
+		<method name="subInt2()Landroid/renderscript/Int2;" since="18" deprecated="31" />
+		<method name="subInt3()Landroid/renderscript/Int3;" since="18" deprecated="31" />
+		<method name="subInt4()Landroid/renderscript/Int4;" since="18" deprecated="31" />
+		<method name="subLong2()Landroid/renderscript/Long2;" since="18" deprecated="31" />
+		<method name="subLong3()Landroid/renderscript/Long3;" since="18" deprecated="31" />
+		<method name="subLong4()Landroid/renderscript/Long4;" since="18" deprecated="31" />
+		<method name="subMatrix2f()Landroid/renderscript/Matrix2f;" since="18" deprecated="31" />
+		<method name="subMatrix3f()Landroid/renderscript/Matrix3f;" since="18" deprecated="31" />
+		<method name="subMatrix4f()Landroid/renderscript/Matrix4f;" since="18" deprecated="31" />
+		<method name="subShort2()Landroid/renderscript/Short2;" since="18" deprecated="31" />
+		<method name="subShort3()Landroid/renderscript/Short3;" since="18" deprecated="31" />
+		<method name="subShort4()Landroid/renderscript/Short4;" since="18" deprecated="31" />
+		<method name="subalign(I)V" since="18" deprecated="31" />
+	</class>
+	<class name="android/renderscript/FileA3D" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="createFromAsset(Landroid/renderscript/RenderScript;Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/renderscript/FileA3D;" deprecated="16" />
+		<method name="createFromFile(Landroid/renderscript/RenderScript;Ljava/io/File;)Landroid/renderscript/FileA3D;" deprecated="16" />
+		<method name="createFromFile(Landroid/renderscript/RenderScript;Ljava/lang/String;)Landroid/renderscript/FileA3D;" deprecated="16" />
+		<method name="createFromResource(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;I)Landroid/renderscript/FileA3D;" deprecated="16" />
+		<method name="getIndexEntry(I)Landroid/renderscript/FileA3D$IndexEntry;" deprecated="16" />
+		<method name="getIndexEntryCount()I" deprecated="16" />
+	</class>
+	<class name="android/renderscript/FileA3D$EntryType" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/FileA3D$EntryType;" />
+		<method name="values()[Landroid/renderscript/FileA3D$EntryType;" />
+		<field name="MESH" />
+		<field name="UNKNOWN" />
+	</class>
+	<class name="android/renderscript/FileA3D$IndexEntry" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="getEntryType()Landroid/renderscript/FileA3D$EntryType;" deprecated="16" />
+		<method name="getMesh()Landroid/renderscript/Mesh;" deprecated="16" />
+		<method name="getName()Ljava/lang/String;" deprecated="16" />
+		<method name="getObject()Landroid/renderscript/BaseObj;" deprecated="16" />
+	</class>
+	<class name="android/renderscript/Float2" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(FF)V" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Float3" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(FFF)V" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Float4" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(FFFF)V" deprecated="31" />
+		<field name="w" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Font" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/lang/String;Landroid/renderscript/Font$Style;F)Landroid/renderscript/Font;" deprecated="16" />
+		<method name="createFromAsset(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/lang/String;F)Landroid/renderscript/Font;" deprecated="16" />
+		<method name="createFromFile(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/io/File;F)Landroid/renderscript/Font;" deprecated="16" />
+		<method name="createFromFile(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/lang/String;F)Landroid/renderscript/Font;" deprecated="16" />
+		<method name="createFromResource(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;IF)Landroid/renderscript/Font;" deprecated="16" />
+	</class>
+	<class name="android/renderscript/Font$Style" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Font$Style;" />
+		<method name="values()[Landroid/renderscript/Font$Style;" />
+		<field name="BOLD" />
+		<field name="BOLD_ITALIC" />
+		<field name="ITALIC" />
+		<field name="NORMAL" />
+	</class>
+	<class name="android/renderscript/Int2" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(II)V" since="14" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Int3" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(III)V" since="14" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Int4" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(IIII)V" since="14" deprecated="31" />
+		<field name="w" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Long2" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(JJ)V" since="14" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Long3" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(JJJ)V" since="14" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Long4" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(JJJJ)V" since="14" deprecated="31" />
+		<field name="w" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Matrix2f" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;([F)V" deprecated="31" />
+		<method name="get(II)F" deprecated="31" />
+		<method name="getArray()[F" deprecated="31" />
+		<method name="load(Landroid/renderscript/Matrix2f;)V" deprecated="31" />
+		<method name="loadIdentity()V" deprecated="31" />
+		<method name="loadMultiply(Landroid/renderscript/Matrix2f;Landroid/renderscript/Matrix2f;)V" deprecated="31" />
+		<method name="loadRotate(F)V" deprecated="31" />
+		<method name="loadScale(FF)V" deprecated="31" />
+		<method name="multiply(Landroid/renderscript/Matrix2f;)V" deprecated="31" />
+		<method name="rotate(F)V" deprecated="31" />
+		<method name="scale(FF)V" deprecated="31" />
+		<method name="set(IIF)V" deprecated="31" />
+		<method name="transpose()V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Matrix3f" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;([F)V" deprecated="31" />
+		<method name="get(II)F" deprecated="31" />
+		<method name="getArray()[F" deprecated="31" />
+		<method name="load(Landroid/renderscript/Matrix3f;)V" deprecated="31" />
+		<method name="loadIdentity()V" deprecated="31" />
+		<method name="loadMultiply(Landroid/renderscript/Matrix3f;Landroid/renderscript/Matrix3f;)V" deprecated="31" />
+		<method name="loadRotate(F)V" deprecated="31" />
+		<method name="loadRotate(FFFF)V" deprecated="31" />
+		<method name="loadScale(FF)V" deprecated="31" />
+		<method name="loadScale(FFF)V" deprecated="31" />
+		<method name="loadTranslate(FF)V" deprecated="31" />
+		<method name="multiply(Landroid/renderscript/Matrix3f;)V" deprecated="31" />
+		<method name="rotate(F)V" deprecated="31" />
+		<method name="rotate(FFFF)V" deprecated="31" />
+		<method name="scale(FF)V" deprecated="31" />
+		<method name="scale(FFF)V" deprecated="31" />
+		<method name="set(IIF)V" deprecated="31" />
+		<method name="translate(FF)V" deprecated="31" />
+		<method name="transpose()V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Matrix4f" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;([F)V" deprecated="31" />
+		<method name="get(II)F" deprecated="31" />
+		<method name="getArray()[F" deprecated="31" />
+		<method name="inverse()Z" deprecated="31" />
+		<method name="inverseTranspose()Z" deprecated="31" />
+		<method name="load(Landroid/renderscript/Matrix4f;)V" deprecated="31" />
+		<method name="loadFrustum(FFFFFF)V" deprecated="31" />
+		<method name="loadIdentity()V" deprecated="31" />
+		<method name="loadMultiply(Landroid/renderscript/Matrix4f;Landroid/renderscript/Matrix4f;)V" deprecated="31" />
+		<method name="loadOrtho(FFFFFF)V" deprecated="31" />
+		<method name="loadOrthoWindow(II)V" deprecated="31" />
+		<method name="loadPerspective(FFFF)V" deprecated="31" />
+		<method name="loadProjectionNormalized(II)V" deprecated="31" />
+		<method name="loadRotate(FFFF)V" deprecated="31" />
+		<method name="loadScale(FFF)V" deprecated="31" />
+		<method name="loadTranslate(FFF)V" deprecated="31" />
+		<method name="multiply(Landroid/renderscript/Matrix4f;)V" deprecated="31" />
+		<method name="rotate(FFFF)V" deprecated="31" />
+		<method name="scale(FFF)V" deprecated="31" />
+		<method name="set(IIF)V" deprecated="31" />
+		<method name="translate(FFF)V" deprecated="31" />
+		<method name="transpose()V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Mesh" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="getIndexSetAllocation(I)Landroid/renderscript/Allocation;" deprecated="16" />
+		<method name="getPrimitive(I)Landroid/renderscript/Mesh$Primitive;" deprecated="16" />
+		<method name="getPrimitiveCount()I" deprecated="16" />
+		<method name="getVertexAllocation(I)Landroid/renderscript/Allocation;" deprecated="16" />
+		<method name="getVertexAllocationCount()I" deprecated="16" />
+	</class>
+	<class name="android/renderscript/Mesh$AllocationBuilder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="16" />
+		<method name="addIndexSetAllocation(Landroid/renderscript/Allocation;Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$AllocationBuilder;" deprecated="16" />
+		<method name="addIndexSetType(Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$AllocationBuilder;" deprecated="16" />
+		<method name="addVertexAllocation(Landroid/renderscript/Allocation;)Landroid/renderscript/Mesh$AllocationBuilder;" deprecated="16" />
+		<method name="create()Landroid/renderscript/Mesh;" deprecated="16" />
+		<method name="getCurrentIndexSetIndex()I" deprecated="16" />
+		<method name="getCurrentVertexTypeIndex()I" deprecated="16" />
+	</class>
+	<class name="android/renderscript/Mesh$Builder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;I)V" deprecated="16" />
+		<method name="addIndexSetType(Landroid/renderscript/Element;ILandroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$Builder;" deprecated="16" />
+		<method name="addIndexSetType(Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$Builder;" deprecated="16" />
+		<method name="addIndexSetType(Landroid/renderscript/Type;Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$Builder;" deprecated="16" />
+		<method name="addVertexType(Landroid/renderscript/Element;I)Landroid/renderscript/Mesh$Builder;" deprecated="16" />
+		<method name="addVertexType(Landroid/renderscript/Type;)Landroid/renderscript/Mesh$Builder;" deprecated="16" />
+		<method name="create()Landroid/renderscript/Mesh;" deprecated="16" />
+		<method name="getCurrentIndexSetIndex()I" deprecated="16" />
+		<method name="getCurrentVertexTypeIndex()I" deprecated="16" />
+	</class>
+	<class name="android/renderscript/Mesh$Primitive" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Mesh$Primitive;" />
+		<method name="values()[Landroid/renderscript/Mesh$Primitive;" />
+		<field name="LINE" />
+		<field name="LINE_STRIP" />
+		<field name="POINT" />
+		<field name="TRIANGLE" />
+		<field name="TRIANGLE_FAN" />
+		<field name="TRIANGLE_STRIP" />
+	</class>
+	<class name="android/renderscript/Mesh$TriangleMeshBuilder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;II)V" deprecated="16" />
+		<method name="addTriangle(III)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16" />
+		<method name="addVertex(FF)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16" />
+		<method name="addVertex(FFF)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16" />
+		<method name="create(Z)Landroid/renderscript/Mesh;" deprecated="16" />
+		<method name="setColor(FFFF)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16" />
+		<method name="setNormal(FFF)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16" />
+		<method name="setTexture(FF)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16" />
+		<field name="COLOR" deprecated="16" />
+		<field name="NORMAL" deprecated="16" />
+		<field name="TEXTURE_0" deprecated="16" />
+	</class>
+	<class name="android/renderscript/Program" since="11" removed="18">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="bindConstants(Landroid/renderscript/Allocation;I)V" />
+		<method name="bindSampler(Landroid/renderscript/Sampler;I)V" />
+		<method name="bindTexture(Landroid/renderscript/Allocation;I)V" />
+		<method name="getConstant(I)Landroid/renderscript/Type;" since="16" />
+		<method name="getConstantCount()I" since="16" />
+		<method name="getTextureCount()I" since="16" />
+		<method name="getTextureName(I)Ljava/lang/String;" since="16" />
+		<method name="getTextureType(I)Landroid/renderscript/Program$TextureType;" since="16" />
+	</class>
+	<class name="android/renderscript/Program$BaseProgramBuilder" since="11" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" />
+		<method name="addConstant(Landroid/renderscript/Type;)Landroid/renderscript/Program$BaseProgramBuilder;" />
+		<method name="addTexture(Landroid/renderscript/Program$TextureType;)Landroid/renderscript/Program$BaseProgramBuilder;" />
+		<method name="addTexture(Landroid/renderscript/Program$TextureType;Ljava/lang/String;)Landroid/renderscript/Program$BaseProgramBuilder;" since="16" />
+		<method name="getCurrentConstantIndex()I" />
+		<method name="getCurrentTextureIndex()I" />
+		<method name="initProgram(Landroid/renderscript/Program;)V" />
+		<method name="setShader(Landroid/content/res/Resources;I)Landroid/renderscript/Program$BaseProgramBuilder;" />
+		<method name="setShader(Ljava/lang/String;)Landroid/renderscript/Program$BaseProgramBuilder;" />
+	</class>
+	<class name="android/renderscript/Program$TextureType" since="11" removed="18">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Program$TextureType;" />
+		<method name="values()[Landroid/renderscript/Program$TextureType;" />
+		<field name="TEXTURE_2D" />
+		<field name="TEXTURE_CUBE" />
+	</class>
+	<class name="android/renderscript/ProgramFragment" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/Program" />
+	</class>
+	<class name="android/renderscript/ProgramFragment$Builder" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/Program$BaseProgramBuilder" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="16" />
+		<method name="create()Landroid/renderscript/ProgramFragment;" deprecated="16" />
+	</class>
+	<class name="android/renderscript/ProgramFragmentFixedFunction" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/ProgramFragment" />
+	</class>
+	<class name="android/renderscript/ProgramFragmentFixedFunction$Builder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="16" />
+		<method name="create()Landroid/renderscript/ProgramFragmentFixedFunction;" deprecated="16" />
+		<method name="setPointSpriteTexCoordinateReplacement(Z)Landroid/renderscript/ProgramFragmentFixedFunction$Builder;" deprecated="16" />
+		<method name="setTexture(Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;I)Landroid/renderscript/ProgramFragmentFixedFunction$Builder;" deprecated="16" />
+		<method name="setVaryingColor(Z)Landroid/renderscript/ProgramFragmentFixedFunction$Builder;" deprecated="16" />
+		<field name="MAX_TEXTURE" deprecated="16" />
+	</class>
+	<class name="android/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;" />
+		<method name="values()[Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;" />
+		<field name="DECAL" />
+		<field name="MODULATE" />
+		<field name="REPLACE" />
+	</class>
+	<class name="android/renderscript/ProgramFragmentFixedFunction$Builder$Format" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;" />
+		<method name="values()[Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;" />
+		<field name="ALPHA" />
+		<field name="LUMINANCE_ALPHA" />
+		<field name="RGB" />
+		<field name="RGBA" />
+	</class>
+	<class name="android/renderscript/ProgramRaster" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="CULL_BACK(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramRaster;" deprecated="16" />
+		<method name="CULL_FRONT(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramRaster;" deprecated="16" />
+		<method name="CULL_NONE(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramRaster;" deprecated="16" />
+		<method name="getCullMode()Landroid/renderscript/ProgramRaster$CullMode;" since="16" deprecated="16" />
+		<method name="isPointSpriteEnabled()Z" since="16" deprecated="16" />
+	</class>
+	<class name="android/renderscript/ProgramRaster$Builder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="16" />
+		<method name="create()Landroid/renderscript/ProgramRaster;" deprecated="16" />
+		<method name="setCullMode(Landroid/renderscript/ProgramRaster$CullMode;)Landroid/renderscript/ProgramRaster$Builder;" deprecated="16" />
+		<method name="setPointSpriteEnabled(Z)Landroid/renderscript/ProgramRaster$Builder;" deprecated="16" />
+	</class>
+	<class name="android/renderscript/ProgramRaster$CullMode" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramRaster$CullMode;" />
+		<method name="values()[Landroid/renderscript/ProgramRaster$CullMode;" />
+		<field name="BACK" />
+		<field name="FRONT" />
+		<field name="NONE" />
+	</class>
+	<class name="android/renderscript/ProgramStore" since="11" removed="18">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="BLEND_ALPHA_DEPTH_NONE(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;" />
+		<method name="BLEND_ALPHA_DEPTH_TEST(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;" />
+		<method name="BLEND_NONE_DEPTH_NONE(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;" />
+		<method name="BLEND_NONE_DEPTH_TEST(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;" />
+		<method name="getBlendDstFunc()Landroid/renderscript/ProgramStore$BlendDstFunc;" since="16" />
+		<method name="getBlendSrcFunc()Landroid/renderscript/ProgramStore$BlendSrcFunc;" since="16" />
+		<method name="getDepthFunc()Landroid/renderscript/ProgramStore$DepthFunc;" since="16" />
+		<method name="isColorMaskAlphaEnabled()Z" since="16" />
+		<method name="isColorMaskBlueEnabled()Z" since="16" />
+		<method name="isColorMaskGreenEnabled()Z" since="16" />
+		<method name="isColorMaskRedEnabled()Z" since="16" />
+		<method name="isDepthMaskEnabled()Z" since="16" />
+		<method name="isDitherEnabled()Z" since="16" />
+	</class>
+	<class name="android/renderscript/ProgramStore$BlendDstFunc" since="11" removed="18">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramStore$BlendDstFunc;" />
+		<method name="values()[Landroid/renderscript/ProgramStore$BlendDstFunc;" />
+		<field name="DST_ALPHA" />
+		<field name="ONE" />
+		<field name="ONE_MINUS_DST_ALPHA" />
+		<field name="ONE_MINUS_SRC_ALPHA" />
+		<field name="ONE_MINUS_SRC_COLOR" />
+		<field name="SRC_ALPHA" />
+		<field name="SRC_COLOR" />
+		<field name="ZERO" />
+	</class>
+	<class name="android/renderscript/ProgramStore$BlendSrcFunc" since="11" removed="18">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramStore$BlendSrcFunc;" />
+		<method name="values()[Landroid/renderscript/ProgramStore$BlendSrcFunc;" />
+		<field name="DST_ALPHA" />
+		<field name="DST_COLOR" />
+		<field name="ONE" />
+		<field name="ONE_MINUS_DST_ALPHA" />
+		<field name="ONE_MINUS_DST_COLOR" />
+		<field name="ONE_MINUS_SRC_ALPHA" />
+		<field name="SRC_ALPHA" />
+		<field name="SRC_ALPHA_SATURATE" />
+		<field name="ZERO" />
+	</class>
+	<class name="android/renderscript/ProgramStore$Builder" since="11" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" />
+		<method name="create()Landroid/renderscript/ProgramStore;" />
+		<method name="setBlendFunc(Landroid/renderscript/ProgramStore$BlendSrcFunc;Landroid/renderscript/ProgramStore$BlendDstFunc;)Landroid/renderscript/ProgramStore$Builder;" />
+		<method name="setColorMaskEnabled(ZZZZ)Landroid/renderscript/ProgramStore$Builder;" />
+		<method name="setDepthFunc(Landroid/renderscript/ProgramStore$DepthFunc;)Landroid/renderscript/ProgramStore$Builder;" />
+		<method name="setDepthMaskEnabled(Z)Landroid/renderscript/ProgramStore$Builder;" />
+		<method name="setDitherEnabled(Z)Landroid/renderscript/ProgramStore$Builder;" />
+	</class>
+	<class name="android/renderscript/ProgramStore$DepthFunc" since="11" removed="18">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramStore$DepthFunc;" />
+		<method name="values()[Landroid/renderscript/ProgramStore$DepthFunc;" />
+		<field name="ALWAYS" />
+		<field name="EQUAL" />
+		<field name="GREATER" />
+		<field name="GREATER_OR_EQUAL" />
+		<field name="LESS" />
+		<field name="LESS_OR_EQUAL" />
+		<field name="NOT_EQUAL" />
+	</class>
+	<class name="android/renderscript/ProgramVertex" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/Program" />
+		<method name="getInput(I)Landroid/renderscript/Element;" since="16" deprecated="16" />
+		<method name="getInputCount()I" since="16" deprecated="16" />
+	</class>
+	<class name="android/renderscript/ProgramVertex$Builder" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/Program$BaseProgramBuilder" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="16" />
+		<method name="addInput(Landroid/renderscript/Element;)Landroid/renderscript/ProgramVertex$Builder;" deprecated="16" />
+		<method name="create()Landroid/renderscript/ProgramVertex;" deprecated="16" />
+	</class>
+	<class name="android/renderscript/ProgramVertexFixedFunction" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/ProgramVertex" />
+		<method name="bindConstants(Landroid/renderscript/ProgramVertexFixedFunction$Constants;)V" deprecated="16" />
+	</class>
+	<class name="android/renderscript/ProgramVertexFixedFunction$Builder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="16" />
+		<method name="create()Landroid/renderscript/ProgramVertexFixedFunction;" deprecated="16" />
+		<method name="setTextureMatrixEnable(Z)Landroid/renderscript/ProgramVertexFixedFunction$Builder;" deprecated="16" />
+	</class>
+	<class name="android/renderscript/ProgramVertexFixedFunction$Constants" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="16" />
+		<method name="destroy()V" deprecated="16" />
+		<method name="setModelview(Landroid/renderscript/Matrix4f;)V" deprecated="16" />
+		<method name="setProjection(Landroid/renderscript/Matrix4f;)V" deprecated="16" />
+		<method name="setTexture(Landroid/renderscript/Matrix4f;)V" deprecated="16" />
+	</class>
+	<class name="android/renderscript/RSDriverException" since="11" deprecated="31">
+		<extends name="android/renderscript/RSRuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/RSIllegalArgumentException" since="11" deprecated="31">
+		<extends name="android/renderscript/RSRuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/RSInvalidStateException" since="11" deprecated="31">
+		<extends name="android/renderscript/RSRuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/RSRuntimeException" since="11" deprecated="31">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/RSSurfaceView" since="11" deprecated="16" removed="18">
+		<extends name="android/view/SurfaceView" />
+		<implements name="android/view/SurfaceHolder$Callback" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="16" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="16" />
+		<method name="createRenderScriptGL(Landroid/renderscript/RenderScriptGL$SurfaceConfig;)Landroid/renderscript/RenderScriptGL;" deprecated="16" />
+		<method name="destroyRenderScriptGL()V" deprecated="16" />
+		<method name="getRenderScriptGL()Landroid/renderscript/RenderScriptGL;" deprecated="16" />
+		<method name="pause()V" deprecated="16" />
+		<method name="resume()V" deprecated="16" />
+		<method name="setRenderScriptGL(Landroid/renderscript/RenderScriptGL;)V" deprecated="16" />
+	</class>
+	<class name="android/renderscript/RSTextureView" since="14" deprecated="16" removed="18">
+		<extends name="android/view/TextureView" />
+		<implements name="android/view/TextureView$SurfaceTextureListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="16" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="16" />
+		<method name="createRenderScriptGL(Landroid/renderscript/RenderScriptGL$SurfaceConfig;)Landroid/renderscript/RenderScriptGL;" deprecated="16" />
+		<method name="destroyRenderScriptGL()V" deprecated="16" />
+		<method name="getRenderScriptGL()Landroid/renderscript/RenderScriptGL;" deprecated="16" />
+		<method name="pause()V" deprecated="16" />
+		<method name="resume()V" deprecated="16" />
+		<method name="setRenderScriptGL(Landroid/renderscript/RenderScriptGL;)V" deprecated="16" />
+	</class>
+	<class name="android/renderscript/RenderScript" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="contextDump()V" deprecated="31" />
+		<method name="create(Landroid/content/Context;)Landroid/renderscript/RenderScript;" deprecated="31" />
+		<method name="create(Landroid/content/Context;Landroid/renderscript/RenderScript$ContextType;)Landroid/renderscript/RenderScript;" since="18" deprecated="31" />
+		<method name="create(Landroid/content/Context;Landroid/renderscript/RenderScript$ContextType;I)Landroid/renderscript/RenderScript;" since="21" deprecated="31" />
+		<method name="createMultiContext(Landroid/content/Context;Landroid/renderscript/RenderScript$ContextType;II)Landroid/renderscript/RenderScript;" since="23" deprecated="31" />
+		<method name="destroy()V" deprecated="31" />
+		<method name="finish()V" deprecated="31" />
+		<method name="getApplicationContext()Landroid/content/Context;" deprecated="31" />
+		<method name="getErrorHandler()Landroid/renderscript/RenderScript$RSErrorHandler;" deprecated="31" />
+		<method name="getMessageHandler()Landroid/renderscript/RenderScript$RSMessageHandler;" deprecated="31" />
+		<method name="getMinorVersion()J" since="23" deprecated="31" />
+		<method name="releaseAllContexts()V" since="23" deprecated="31" />
+		<method name="sendMessage(I[I)V" since="18" deprecated="31" />
+		<method name="setErrorHandler(Landroid/renderscript/RenderScript$RSErrorHandler;)V" deprecated="31" />
+		<method name="setMessageHandler(Landroid/renderscript/RenderScript$RSMessageHandler;)V" deprecated="31" />
+		<method name="setPriority(Landroid/renderscript/RenderScript$Priority;)V" deprecated="31" />
+		<field name="CREATE_FLAG_LOW_LATENCY" since="21" deprecated="31" />
+		<field name="CREATE_FLAG_LOW_POWER" since="21" deprecated="31" />
+		<field name="CREATE_FLAG_NONE" since="21" deprecated="31" />
+	</class>
+	<class name="android/renderscript/RenderScript$ContextType" since="18" deprecated="31">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/RenderScript$ContextType;" />
+		<method name="values()[Landroid/renderscript/RenderScript$ContextType;" />
+		<field name="DEBUG" deprecated="31" />
+		<field name="NORMAL" deprecated="31" />
+		<field name="PROFILE" deprecated="31" />
+	</class>
+	<class name="android/renderscript/RenderScript$Priority" since="11" deprecated="31">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/RenderScript$Priority;" />
+		<method name="values()[Landroid/renderscript/RenderScript$Priority;" />
+		<field name="LOW" deprecated="31" />
+		<field name="NORMAL" deprecated="31" />
+	</class>
+	<class name="android/renderscript/RenderScript$RSErrorHandler" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Runnable" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<field name="mErrorMessage" deprecated="31" />
+		<field name="mErrorNum" deprecated="31" />
+	</class>
+	<class name="android/renderscript/RenderScript$RSMessageHandler" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Runnable" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<field name="mData" deprecated="31" />
+		<field name="mID" deprecated="31" />
+		<field name="mLength" deprecated="31" />
+	</class>
+	<class name="android/renderscript/RenderScriptGL" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/RenderScript" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/renderscript/RenderScriptGL$SurfaceConfig;)V" deprecated="16" />
+		<method name="bindProgramFragment(Landroid/renderscript/ProgramFragment;)V" deprecated="16" />
+		<method name="bindProgramRaster(Landroid/renderscript/ProgramRaster;)V" deprecated="16" />
+		<method name="bindProgramStore(Landroid/renderscript/ProgramStore;)V" deprecated="16" />
+		<method name="bindProgramVertex(Landroid/renderscript/ProgramVertex;)V" deprecated="16" />
+		<method name="bindRootScript(Landroid/renderscript/Script;)V" deprecated="16" />
+		<method name="getHeight()I" deprecated="16" />
+		<method name="getWidth()I" deprecated="16" />
+		<method name="pause()V" deprecated="16" />
+		<method name="resume()V" deprecated="16" />
+		<method name="setSurface(Landroid/view/SurfaceHolder;II)V" deprecated="16" />
+		<method name="setSurfaceTexture(Landroid/graphics/SurfaceTexture;II)V" since="14" deprecated="16" />
+	</class>
+	<class name="android/renderscript/RenderScriptGL$SurfaceConfig" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="16" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScriptGL$SurfaceConfig;)V" deprecated="16" />
+		<method name="setAlpha(II)V" deprecated="16" />
+		<method name="setColor(II)V" deprecated="16" />
+		<method name="setDepth(II)V" deprecated="16" />
+		<method name="setSamples(IIF)V" deprecated="16" />
+	</class>
+	<class name="android/renderscript/Sampler" since="11" deprecated="31">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="CLAMP_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31" />
+		<method name="CLAMP_LINEAR_MIP_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31" />
+		<method name="CLAMP_NEAREST(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31" />
+		<method name="MIRRORED_REPEAT_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" since="18" deprecated="31" />
+		<method name="MIRRORED_REPEAT_LINEAR_MIP_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" since="18" deprecated="31" />
+		<method name="MIRRORED_REPEAT_NEAREST(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" since="18" deprecated="31" />
+		<method name="WRAP_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31" />
+		<method name="WRAP_LINEAR_MIP_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31" />
+		<method name="WRAP_NEAREST(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31" />
+		<method name="getAnisotropy()F" since="16" deprecated="31" />
+		<method name="getMagnification()Landroid/renderscript/Sampler$Value;" since="16" deprecated="31" />
+		<method name="getMinification()Landroid/renderscript/Sampler$Value;" since="16" deprecated="31" />
+		<method name="getWrapS()Landroid/renderscript/Sampler$Value;" since="16" deprecated="31" />
+		<method name="getWrapT()Landroid/renderscript/Sampler$Value;" since="16" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Sampler$Builder" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="31" />
+		<method name="create()Landroid/renderscript/Sampler;" deprecated="31" />
+		<method name="setAnisotropy(F)V" deprecated="31" />
+		<method name="setMagnification(Landroid/renderscript/Sampler$Value;)V" deprecated="31" />
+		<method name="setMinification(Landroid/renderscript/Sampler$Value;)V" deprecated="31" />
+		<method name="setWrapS(Landroid/renderscript/Sampler$Value;)V" deprecated="31" />
+		<method name="setWrapT(Landroid/renderscript/Sampler$Value;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Sampler$Value" since="11" deprecated="31">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Sampler$Value;" />
+		<method name="values()[Landroid/renderscript/Sampler$Value;" />
+		<field name="CLAMP" deprecated="31" />
+		<field name="LINEAR" deprecated="31" />
+		<field name="LINEAR_MIP_LINEAR" deprecated="31" />
+		<field name="LINEAR_MIP_NEAREST" deprecated="31" />
+		<field name="MIRRORED_REPEAT" since="18" deprecated="31" />
+		<field name="NEAREST" deprecated="31" />
+		<field name="WRAP" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Script" since="11" deprecated="31">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="bindAllocation(Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="createFieldID(ILandroid/renderscript/Element;)Landroid/renderscript/Script$FieldID;" since="17" deprecated="31" />
+		<method name="createInvokeID(I)Landroid/renderscript/Script$InvokeID;" since="23" deprecated="31" />
+		<method name="createKernelID(IILandroid/renderscript/Element;Landroid/renderscript/Element;)Landroid/renderscript/Script$KernelID;" since="17" deprecated="31" />
+		<method name="forEach(ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/FieldPacker;)V" since="14" deprecated="31" />
+		<method name="forEach(ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/FieldPacker;Landroid/renderscript/Script$LaunchOptions;)V" since="18" deprecated="31" />
+		<method name="forEach(I[Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/FieldPacker;)V" since="23" deprecated="31" />
+		<method name="forEach(I[Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/FieldPacker;Landroid/renderscript/Script$LaunchOptions;)V" since="23" deprecated="31" />
+		<method name="getVarB(I)Z" since="18" deprecated="31" />
+		<method name="getVarD(I)D" since="18" deprecated="31" />
+		<method name="getVarF(I)F" since="18" deprecated="31" />
+		<method name="getVarI(I)I" since="18" deprecated="31" />
+		<method name="getVarJ(I)J" since="18" deprecated="31" />
+		<method name="getVarV(ILandroid/renderscript/FieldPacker;)V" since="18" deprecated="31" />
+		<method name="invoke(I)V" deprecated="31" />
+		<method name="invoke(ILandroid/renderscript/FieldPacker;)V" deprecated="31" />
+		<method name="reduce(I[Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="24" deprecated="31" />
+		<method name="setTimeZone(Ljava/lang/String;)V" deprecated="31" />
+		<method name="setVar(ID)V" deprecated="31" />
+		<method name="setVar(IF)V" deprecated="31" />
+		<method name="setVar(II)V" deprecated="31" />
+		<method name="setVar(IJ)V" deprecated="31" />
+		<method name="setVar(ILandroid/renderscript/BaseObj;)V" deprecated="31" />
+		<method name="setVar(ILandroid/renderscript/FieldPacker;)V" deprecated="31" />
+		<method name="setVar(ILandroid/renderscript/FieldPacker;Landroid/renderscript/Element;[I)V" since="16" deprecated="31" />
+		<method name="setVar(IZ)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Script$Builder" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/renderscript/Script$FieldBase" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="getAllocation()Landroid/renderscript/Allocation;" deprecated="31" />
+		<method name="getElement()Landroid/renderscript/Element;" deprecated="31" />
+		<method name="getType()Landroid/renderscript/Type;" deprecated="31" />
+		<method name="init(Landroid/renderscript/RenderScript;I)V" deprecated="31" />
+		<method name="init(Landroid/renderscript/RenderScript;II)V" deprecated="31" />
+		<method name="updateAllocation()V" deprecated="31" />
+		<field name="mAllocation" deprecated="31" />
+		<field name="mElement" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Script$FieldID" since="17" deprecated="31">
+		<extends name="android/renderscript/BaseObj" />
+	</class>
+	<class name="android/renderscript/Script$InvokeID" since="23" deprecated="31">
+		<extends name="android/renderscript/BaseObj" />
+	</class>
+	<class name="android/renderscript/Script$KernelID" since="17" deprecated="31">
+		<extends name="android/renderscript/BaseObj" />
+	</class>
+	<class name="android/renderscript/Script$LaunchOptions" since="18" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="getXEnd()I" deprecated="31" />
+		<method name="getXStart()I" deprecated="31" />
+		<method name="getYEnd()I" deprecated="31" />
+		<method name="getYStart()I" deprecated="31" />
+		<method name="getZEnd()I" deprecated="31" />
+		<method name="getZStart()I" deprecated="31" />
+		<method name="setX(II)Landroid/renderscript/Script$LaunchOptions;" deprecated="31" />
+		<method name="setY(II)Landroid/renderscript/Script$LaunchOptions;" deprecated="31" />
+		<method name="setZ(II)Landroid/renderscript/Script$LaunchOptions;" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptC" since="11" deprecated="31">
+		<extends name="android/renderscript/Script" />
+		<method name="&lt;init&gt;(ILandroid/renderscript/RenderScript;)V" deprecated="31" />
+		<method name="&lt;init&gt;(JLandroid/renderscript/RenderScript;)V" since="21" deprecated="31" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;I)V" deprecated="31" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;Ljava/lang/String;[B[B)V" since="21" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptGroup" since="17" deprecated="31">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="execute()V" deprecated="23" />
+		<method name="execute([Ljava/lang/Object;)[Ljava/lang/Object;" since="23" deprecated="31" />
+		<method name="setInput(Landroid/renderscript/Script$KernelID;Landroid/renderscript/Allocation;)V" deprecated="23" />
+		<method name="setOutput(Landroid/renderscript/Script$KernelID;Landroid/renderscript/Allocation;)V" deprecated="23" />
+	</class>
+	<class name="android/renderscript/ScriptGroup$Binding" since="23" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/Script$FieldID;Ljava/lang/Object;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptGroup$Builder" since="17" deprecated="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="29" />
+		<method name="addConnection(Landroid/renderscript/Type;Landroid/renderscript/Script$KernelID;Landroid/renderscript/Script$FieldID;)Landroid/renderscript/ScriptGroup$Builder;" deprecated="29" />
+		<method name="addConnection(Landroid/renderscript/Type;Landroid/renderscript/Script$KernelID;Landroid/renderscript/Script$KernelID;)Landroid/renderscript/ScriptGroup$Builder;" deprecated="29" />
+		<method name="addKernel(Landroid/renderscript/Script$KernelID;)Landroid/renderscript/ScriptGroup$Builder;" deprecated="29" />
+		<method name="create()Landroid/renderscript/ScriptGroup;" deprecated="29" />
+	</class>
+	<class name="android/renderscript/ScriptGroup$Builder2" since="23" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;)V" deprecated="31" />
+		<method name="addInput()Landroid/renderscript/ScriptGroup$Input;" deprecated="31" />
+		<method name="addInvoke(Landroid/renderscript/Script$InvokeID;[Ljava/lang/Object;)Landroid/renderscript/ScriptGroup$Closure;" deprecated="31" />
+		<method name="addKernel(Landroid/renderscript/Script$KernelID;Landroid/renderscript/Type;[Ljava/lang/Object;)Landroid/renderscript/ScriptGroup$Closure;" deprecated="31" />
+		<method name="create(Ljava/lang/String;[Landroid/renderscript/ScriptGroup$Future;)Landroid/renderscript/ScriptGroup;" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptGroup$Closure" since="23" deprecated="31">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="getGlobal(Landroid/renderscript/Script$FieldID;)Landroid/renderscript/ScriptGroup$Future;" deprecated="31" />
+		<method name="getReturn()Landroid/renderscript/ScriptGroup$Future;" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptGroup$Future" since="23" deprecated="31">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/renderscript/ScriptGroup$Input" since="23" deprecated="31">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsic" since="17" deprecated="31">
+		<extends name="android/renderscript/Script" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsic3DLUT" since="18" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsic3DLUT;" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="setLUT(Landroid/renderscript/Allocation;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicBLAS" since="23" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="BNNM(Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;II)V" deprecated="31" />
+		<method name="CGBMV(IIILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="CGEMM(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Float2;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CGEMV(ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="CGERC(Landroid/renderscript/Float2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CGERU(Landroid/renderscript/Float2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CHBMV(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="CHEMM(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Float2;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CHEMV(ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="CHER(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CHER2(ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CHER2K(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CHERK(IIFLandroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CHPMV(ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="CHPR(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CHPR2(ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CSYMM(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Float2;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CSYR2K(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Float2;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CSYRK(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Float2;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CTBMV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="CTBSV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="CTPMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="CTPSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="CTRMM(IIIILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CTRMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="CTRSM(IIIILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="CTRSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DGBMV(IIIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IDLandroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DGEMM(IIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DGEMV(IDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IDLandroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DGER(DLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DSBMV(IIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IDLandroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DSPMV(IDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IDLandroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DSPR(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DSPR2(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DSYMM(IIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DSYMV(IDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IDLandroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DSYR(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DSYR2(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DSYR2K(IIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DSYRK(IIDLandroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DTBMV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DTBSV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DTPMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DTPSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DTRMM(IIIIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DTRMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="DTRSM(IIIIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="DTRSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="SGBMV(IIIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IFLandroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="SGEMM(IIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="SGEMV(IFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IFLandroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="SGER(FLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="SSBMV(IIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IFLandroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="SSPMV(IFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IFLandroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="SSPR(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="SSPR2(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="SSYMM(IIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="SSYMV(IFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IFLandroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="SSYR(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="SSYR2(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="SSYR2K(IIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="SSYRK(IIFLandroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="STBMV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="STBSV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="STPMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="STPSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="STRMM(IIIIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="STRMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="STRSM(IIIIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="STRSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZGBMV(IIILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZGEMM(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Double2;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZGEMV(ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZGERC(Landroid/renderscript/Double2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZGERU(Landroid/renderscript/Double2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZHBMV(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZHEMM(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Double2;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZHEMV(ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZHER(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZHER2(ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZHER2K(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZHERK(IIDLandroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZHPMV(ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZHPR(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZHPR2(ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZSYMM(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Double2;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZSYR2K(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Double2;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZSYRK(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Double2;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZTBMV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZTBSV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZTPMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZTPSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZTRMM(IIIILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZTRMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="ZTRSM(IIIILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="ZTRSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31" />
+		<method name="create(Landroid/renderscript/RenderScript;)Landroid/renderscript/ScriptIntrinsicBLAS;" deprecated="31" />
+		<field name="CONJ_TRANSPOSE" deprecated="31" />
+		<field name="LEFT" deprecated="31" />
+		<field name="LOWER" deprecated="31" />
+		<field name="NON_UNIT" deprecated="31" />
+		<field name="NO_TRANSPOSE" deprecated="31" />
+		<field name="RIGHT" deprecated="31" />
+		<field name="TRANSPOSE" deprecated="31" />
+		<field name="UNIT" deprecated="31" />
+		<field name="UPPER" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicBlend" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicBlend;" deprecated="31" />
+		<method name="forEachAdd(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachAdd(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachClear(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachClear(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachDst(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachDst(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachDstAtop(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachDstAtop(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachDstIn(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachDstIn(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachDstOut(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachDstOut(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachDstOver(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachDstOver(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachMultiply(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachMultiply(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachSrc(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachSrc(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachSrcAtop(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachSrcAtop(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachSrcIn(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachSrcIn(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachSrcOut(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachSrcOut(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachSrcOver(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachSrcOver(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachSubtract(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachSubtract(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEachXor(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEachXor(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="getKernelIDAdd()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDClear()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDDst()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDDstAtop()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDDstIn()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDDstOut()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDDstOver()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDMultiply()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDSrc()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDSrcAtop()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDSrcIn()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDSrcOut()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDSrcOver()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDSubtract()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="getKernelIDXor()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicBlur" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicBlur;" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31" />
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="setInput(Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="setRadius(F)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicColorMatrix" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="create(Landroid/renderscript/RenderScript;)Landroid/renderscript/ScriptIntrinsicColorMatrix;" since="19" deprecated="31" />
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicColorMatrix;" deprecated="19" />
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="setAdd(FFFF)V" since="19" deprecated="31" />
+		<method name="setAdd(Landroid/renderscript/Float4;)V" since="19" deprecated="31" />
+		<method name="setColorMatrix(Landroid/renderscript/Matrix3f;)V" deprecated="31" />
+		<method name="setColorMatrix(Landroid/renderscript/Matrix4f;)V" deprecated="31" />
+		<method name="setGreyscale()V" deprecated="31" />
+		<method name="setRGBtoYUV()V" deprecated="31" />
+		<method name="setYUVtoRGB()V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicConvolve3x3" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicConvolve3x3;" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31" />
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="setCoefficients([F)V" deprecated="31" />
+		<method name="setInput(Landroid/renderscript/Allocation;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicConvolve5x5" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicConvolve5x5;" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31" />
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="setCoefficients([F)V" deprecated="31" />
+		<method name="setInput(Landroid/renderscript/Allocation;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicHistogram" since="19" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicHistogram;" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="forEach_Dot(Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEach_Dot(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31" />
+		<method name="getKernelID_Separate()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="setDotCoefficients(FFFF)V" deprecated="31" />
+		<method name="setOutput(Landroid/renderscript/Allocation;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicLUT" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicLUT;" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31" />
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="setAlpha(II)V" deprecated="31" />
+		<method name="setBlue(II)V" deprecated="31" />
+		<method name="setGreen(II)V" deprecated="31" />
+		<method name="setRed(II)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicResize" since="20" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="create(Landroid/renderscript/RenderScript;)Landroid/renderscript/ScriptIntrinsicResize;" deprecated="31" />
+		<method name="forEach_bicubic(Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="forEach_bicubic(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" deprecated="31" />
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31" />
+		<method name="getKernelID_bicubic()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="setInput(Landroid/renderscript/Allocation;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicYuvToRGB" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic" />
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicYuvToRGB;" deprecated="31" />
+		<method name="forEach(Landroid/renderscript/Allocation;)V" deprecated="31" />
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31" />
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31" />
+		<method name="setInput(Landroid/renderscript/Allocation;)V" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Short2" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(SS)V" since="14" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Short3" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(SSS)V" since="14" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Short4" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(SSSS)V" since="14" deprecated="31" />
+		<field name="w" deprecated="31" />
+		<field name="x" deprecated="31" />
+		<field name="y" deprecated="31" />
+		<field name="z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Type" since="11" deprecated="31">
+		<extends name="android/renderscript/BaseObj" />
+		<method name="createX(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;I)Landroid/renderscript/Type;" since="21" deprecated="31" />
+		<method name="createXY(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;II)Landroid/renderscript/Type;" since="21" deprecated="31" />
+		<method name="createXYZ(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;III)Landroid/renderscript/Type;" since="21" deprecated="31" />
+		<method name="getCount()I" deprecated="31" />
+		<method name="getElement()Landroid/renderscript/Element;" deprecated="31" />
+		<method name="getX()I" deprecated="31" />
+		<method name="getY()I" deprecated="31" />
+		<method name="getYuv()I" since="18" deprecated="31" />
+		<method name="getZ()I" deprecated="31" />
+		<method name="hasFaces()Z" deprecated="31" />
+		<method name="hasMipmaps()Z" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Type$Builder" since="11" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)V" deprecated="31" />
+		<method name="create()Landroid/renderscript/Type;" deprecated="31" />
+		<method name="setFaces(Z)Landroid/renderscript/Type$Builder;" deprecated="31" />
+		<method name="setMipmaps(Z)Landroid/renderscript/Type$Builder;" deprecated="31" />
+		<method name="setX(I)Landroid/renderscript/Type$Builder;" deprecated="31" />
+		<method name="setY(I)Landroid/renderscript/Type$Builder;" deprecated="31" />
+		<method name="setYuvFormat(I)Landroid/renderscript/Type$Builder;" since="18" deprecated="31" />
+		<method name="setZ(I)Landroid/renderscript/Type$Builder;" since="18" deprecated="31" />
+	</class>
+	<class name="android/renderscript/Type$CubemapFace" since="11" deprecated="31">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Type$CubemapFace;" />
+		<method name="values()[Landroid/renderscript/Type$CubemapFace;" />
+		<field name="NEGATIVE_X" deprecated="31" />
+		<field name="NEGATIVE_Y" deprecated="31" />
+		<field name="NEGATIVE_Z" deprecated="31" />
+		<field name="POSITIVE_X" since="14" deprecated="31" />
+		<field name="POSITIVE_Y" since="14" deprecated="31" />
+		<field name="POSITIVE_Z" since="14" deprecated="31" />
+		<field name="POSITVE_X" deprecated="29" />
+		<field name="POSITVE_Y" deprecated="29" />
+		<field name="POSITVE_Z" deprecated="29" />
+	</class>
+	<class name="android/sax/Element" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getChild(Ljava/lang/String;)Landroid/sax/Element;" />
+		<method name="getChild(Ljava/lang/String;Ljava/lang/String;)Landroid/sax/Element;" />
+		<method name="requireChild(Ljava/lang/String;)Landroid/sax/Element;" />
+		<method name="requireChild(Ljava/lang/String;Ljava/lang/String;)Landroid/sax/Element;" />
+		<method name="setElementListener(Landroid/sax/ElementListener;)V" />
+		<method name="setEndElementListener(Landroid/sax/EndElementListener;)V" />
+		<method name="setEndTextElementListener(Landroid/sax/EndTextElementListener;)V" />
+		<method name="setStartElementListener(Landroid/sax/StartElementListener;)V" />
+		<method name="setTextElementListener(Landroid/sax/TextElementListener;)V" />
+	</class>
+	<class name="android/sax/ElementListener" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/sax/EndElementListener" />
+		<implements name="android/sax/StartElementListener" />
+	</class>
+	<class name="android/sax/EndElementListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="end()V" />
+	</class>
+	<class name="android/sax/EndTextElementListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="end(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/sax/RootElement" since="1">
+		<extends name="android/sax/Element" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getContentHandler()Lorg/xml/sax/ContentHandler;" />
+	</class>
+	<class name="android/sax/StartElementListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="start(Lorg/xml/sax/Attributes;)V" />
+	</class>
+	<class name="android/sax/TextElementListener" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/sax/EndTextElementListener" />
+		<implements name="android/sax/StartElementListener" />
+	</class>
+	<class name="android/se/omapi/Channel" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/Channel" />
+		<method name="getSelectResponse()[B" />
+		<method name="getSession()Landroid/se/omapi/Session;" />
+		<method name="isBasicChannel()Z" />
+		<method name="selectNext()Z" />
+		<method name="transmit([B)[B" />
+	</class>
+	<class name="android/se/omapi/Reader" since="28">
+		<extends name="java/lang/Object" />
+		<method name="closeSessions()V" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getSEService()Landroid/se/omapi/SEService;" />
+		<method name="isSecureElementPresent()Z" />
+		<method name="openSession()Landroid/se/omapi/Session;" />
+	</class>
+	<class name="android/se/omapi/SEService" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/util/concurrent/Executor;Landroid/se/omapi/SEService$OnConnectedListener;)V" />
+		<method name="getReaders()[Landroid/se/omapi/Reader;" />
+		<method name="getUiccReader(I)Landroid/se/omapi/Reader;" since="30" />
+		<method name="getVersion()Ljava/lang/String;" />
+		<method name="isConnected()Z" />
+		<method name="shutdown()V" />
+		<field name="ACTION_SECURE_ELEMENT_STATE_CHANGED" since="31" />
+		<field name="EXTRA_READER_NAME" since="31" />
+		<field name="EXTRA_READER_STATE" since="31" />
+	</class>
+	<class name="android/se/omapi/SEService$OnConnectedListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="onConnected()V" />
+	</class>
+	<class name="android/se/omapi/Session" since="28">
+		<extends name="java/lang/Object" />
+		<method name="close()V" />
+		<method name="closeChannels()V" />
+		<method name="getATR()[B" />
+		<method name="getReader()Landroid/se/omapi/Reader;" />
+		<method name="isClosed()Z" />
+		<method name="openBasicChannel([B)Landroid/se/omapi/Channel;" />
+		<method name="openBasicChannel([BB)Landroid/se/omapi/Channel;" />
+		<method name="openLogicalChannel([B)Landroid/se/omapi/Channel;" />
+		<method name="openLogicalChannel([BB)Landroid/se/omapi/Channel;" />
+	</class>
+	<class name="android/security/AppUriAuthenticationPolicy" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAppAndUriMappings()Ljava/util/Map;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/security/AppUriAuthenticationPolicy$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addAppAndUriMapping(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;)Landroid/security/AppUriAuthenticationPolicy$Builder;" />
+		<method name="build()Landroid/security/AppUriAuthenticationPolicy;" />
+	</class>
+	<class name="android/security/AttestedKeyPair" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/KeyPair;Ljava/util/List;)V" since="30" />
+		<method name="getAttestationRecord()Ljava/util/List;" />
+		<method name="getKeyPair()Ljava/security/KeyPair;" />
+	</class>
+	<class name="android/security/ConfirmationAlreadyPresentingException" since="28">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/security/ConfirmationCallback" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCanceled()V" />
+		<method name="onConfirmed([B)V" />
+		<method name="onDismissed()V" />
+		<method name="onError(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/ConfirmationNotAvailableException" since="28">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/security/ConfirmationPrompt" since="28">
+		<extends name="java/lang/Object" />
+		<method name="cancelPrompt()V" />
+		<method name="isSupported(Landroid/content/Context;)Z" />
+		<method name="presentPrompt(Ljava/util/concurrent/Executor;Landroid/security/ConfirmationCallback;)V" />
+	</class>
+	<class name="android/security/ConfirmationPrompt$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="build()Landroid/security/ConfirmationPrompt;" />
+		<method name="setExtraData([B)Landroid/security/ConfirmationPrompt$Builder;" />
+		<method name="setPromptText(Ljava/lang/CharSequence;)Landroid/security/ConfirmationPrompt$Builder;" />
+	</class>
+	<class name="android/security/FileIntegrityManager" since="30">
+		<extends name="java/lang/Object" />
+		<method name="isApkVeritySupported()Z" />
+		<method name="isAppSourceCertificateTrusted(Ljava/security/cert/X509Certificate;)Z" />
+	</class>
+	<class name="android/security/KeyChain" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="choosePrivateKeyAlias(Landroid/app/Activity;Landroid/security/KeyChainAliasCallback;[Ljava/lang/String;[Ljava/security/Principal;Landroid/net/Uri;Ljava/lang/String;)V" since="23" />
+		<method name="choosePrivateKeyAlias(Landroid/app/Activity;Landroid/security/KeyChainAliasCallback;[Ljava/lang/String;[Ljava/security/Principal;Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="createInstallIntent()Landroid/content/Intent;" />
+		<method name="createManageCredentialsIntent(Landroid/security/AppUriAuthenticationPolicy;)Landroid/content/Intent;" since="31" />
+		<method name="getCertificateChain(Landroid/content/Context;Ljava/lang/String;)[Ljava/security/cert/X509Certificate;" />
+		<method name="getCredentialManagementAppPolicy(Landroid/content/Context;)Landroid/security/AppUriAuthenticationPolicy;" since="31" />
+		<method name="getPrivateKey(Landroid/content/Context;Ljava/lang/String;)Ljava/security/PrivateKey;" />
+		<method name="isBoundKeyAlgorithm(Ljava/lang/String;)Z" since="18" deprecated="23" />
+		<method name="isCredentialManagementApp(Landroid/content/Context;)Z" since="31" />
+		<method name="isKeyAlgorithmSupported(Ljava/lang/String;)Z" since="18" />
+		<method name="removeCredentialManagementApp(Landroid/content/Context;)Z" since="31" />
+		<field name="ACTION_KEYCHAIN_CHANGED" since="26" />
+		<field name="ACTION_KEY_ACCESS_CHANGED" since="26" />
+		<field name="ACTION_STORAGE_CHANGED" since="16" deprecated="26" />
+		<field name="ACTION_TRUST_STORE_CHANGED" since="26" />
+		<field name="EXTRA_CERTIFICATE" />
+		<field name="EXTRA_KEY_ACCESSIBLE" since="26" />
+		<field name="EXTRA_KEY_ALIAS" since="26" />
+		<field name="EXTRA_NAME" />
+		<field name="EXTRA_PKCS12" />
+		<field name="KEY_ALIAS_SELECTION_DENIED" since="30" />
+	</class>
+	<class name="android/security/KeyChainAliasCallback" since="14">
+		<extends name="java/lang/Object" />
+		<method name="alias(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/security/KeyChainException" since="14">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/KeyPairGeneratorSpec" since="18" deprecated="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="getAlgorithmParameterSpec()Ljava/security/spec/AlgorithmParameterSpec;" since="19" deprecated="29" />
+		<method name="getContext()Landroid/content/Context;" deprecated="29" />
+		<method name="getEndDate()Ljava/util/Date;" deprecated="29" />
+		<method name="getKeySize()I" since="19" deprecated="29" />
+		<method name="getKeyType()Ljava/lang/String;" since="19" deprecated="29" />
+		<method name="getKeystoreAlias()Ljava/lang/String;" deprecated="29" />
+		<method name="getSerialNumber()Ljava/math/BigInteger;" deprecated="29" />
+		<method name="getStartDate()Ljava/util/Date;" deprecated="29" />
+		<method name="getSubjectDN()Ljavax/security/auth/x500/X500Principal;" deprecated="29" />
+		<method name="isEncryptionRequired()Z" deprecated="29" />
+	</class>
+	<class name="android/security/KeyPairGeneratorSpec$Builder" since="18" deprecated="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="build()Landroid/security/KeyPairGeneratorSpec;" deprecated="29" />
+		<method name="setAlgorithmParameterSpec(Ljava/security/spec/AlgorithmParameterSpec;)Landroid/security/KeyPairGeneratorSpec$Builder;" since="19" deprecated="29" />
+		<method name="setAlias(Ljava/lang/String;)Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29" />
+		<method name="setEncryptionRequired()Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29" />
+		<method name="setEndDate(Ljava/util/Date;)Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29" />
+		<method name="setKeySize(I)Landroid/security/KeyPairGeneratorSpec$Builder;" since="19" deprecated="29" />
+		<method name="setKeyType(Ljava/lang/String;)Landroid/security/KeyPairGeneratorSpec$Builder;" since="19" deprecated="29" />
+		<method name="setSerialNumber(Ljava/math/BigInteger;)Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29" />
+		<method name="setStartDate(Ljava/util/Date;)Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29" />
+		<method name="setSubject(Ljavax/security/auth/x500/X500Principal;)Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29" />
+	</class>
+	<class name="android/security/KeyStoreParameter" since="18" deprecated="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/KeyStore$ProtectionParameter" />
+		<method name="isEncryptionRequired()Z" deprecated="29" />
+	</class>
+	<class name="android/security/KeyStoreParameter$Builder" since="18" deprecated="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="build()Landroid/security/KeyStoreParameter;" deprecated="29" />
+		<method name="setEncryptionRequired(Z)Landroid/security/KeyStoreParameter$Builder;" deprecated="29" />
+	</class>
+	<class name="android/security/NetworkSecurityPolicy" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getInstance()Landroid/security/NetworkSecurityPolicy;" />
+		<method name="isCleartextTrafficPermitted()Z" />
+		<method name="isCleartextTrafficPermitted(Ljava/lang/String;)Z" since="24" />
+	</class>
+	<class name="android/security/identity/AccessControlProfile" since="30">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/security/identity/AccessControlProfile$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/security/identity/AccessControlProfileId;)V" />
+		<method name="build()Landroid/security/identity/AccessControlProfile;" />
+		<method name="setReaderCertificate(Ljava/security/cert/X509Certificate;)Landroid/security/identity/AccessControlProfile$Builder;" />
+		<method name="setUserAuthenticationRequired(Z)Landroid/security/identity/AccessControlProfile$Builder;" />
+		<method name="setUserAuthenticationTimeout(J)Landroid/security/identity/AccessControlProfile$Builder;" />
+	</class>
+	<class name="android/security/identity/AccessControlProfileId" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getId()I" />
+	</class>
+	<class name="android/security/identity/AlreadyPersonalizedException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/CipherSuiteNotSupportedException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/DocTypeNotSupportedException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/EphemeralPublicKeyNotFoundException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/IdentityCredential" since="30">
+		<extends name="java/lang/Object" />
+		<method name="createEphemeralKeyPair()Ljava/security/KeyPair;" />
+		<method name="decryptMessageFromReader([B)[B" />
+		<method name="delete([B)[B" since="31" />
+		<method name="encryptMessageToReader([B)[B" />
+		<method name="getAuthKeysNeedingCertification()Ljava/util/Collection;" />
+		<method name="getAuthenticationDataUsageCount()[I" />
+		<method name="getCredentialKeyCertificateChain()Ljava/util/Collection;" />
+		<method name="getEntries([BLjava/util/Map;[B[B)Landroid/security/identity/ResultData;" />
+		<method name="proveOwnership([B)[B" since="31" />
+		<method name="setAllowUsingExhaustedKeys(Z)V" />
+		<method name="setAllowUsingExpiredKeys(Z)V" since="31" />
+		<method name="setAvailableAuthenticationKeys(II)V" />
+		<method name="setReaderEphemeralPublicKey(Ljava/security/PublicKey;)V" />
+		<method name="storeStaticAuthenticationData(Ljava/security/cert/X509Certificate;Ljava/time/Instant;[B)V" since="31" />
+		<method name="storeStaticAuthenticationData(Ljava/security/cert/X509Certificate;[B)V" deprecated="31" />
+		<method name="update(Landroid/security/identity/PersonalizationData;)[B" since="31" />
+	</class>
+	<class name="android/security/identity/IdentityCredentialException" since="30">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/IdentityCredentialStore" since="30">
+		<extends name="java/lang/Object" />
+		<method name="createCredential(Ljava/lang/String;Ljava/lang/String;)Landroid/security/identity/WritableIdentityCredential;" />
+		<method name="deleteCredentialByName(Ljava/lang/String;)[B" deprecated="31" />
+		<method name="getCredentialByName(Ljava/lang/String;I)Landroid/security/identity/IdentityCredential;" />
+		<method name="getDirectAccessInstance(Landroid/content/Context;)Landroid/security/identity/IdentityCredentialStore;" />
+		<method name="getInstance(Landroid/content/Context;)Landroid/security/identity/IdentityCredentialStore;" />
+		<method name="getSupportedDocTypes()[Ljava/lang/String;" />
+		<field name="CIPHERSUITE_ECDHE_HKDF_ECDSA_WITH_AES_256_GCM_SHA256" />
+	</class>
+	<class name="android/security/identity/InvalidReaderSignatureException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/InvalidRequestMessageException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/MessageDecryptionException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/NoAuthenticationKeyAvailableException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/PersonalizationData" since="30">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/security/identity/PersonalizationData$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addAccessControlProfile(Landroid/security/identity/AccessControlProfile;)Landroid/security/identity/PersonalizationData$Builder;" />
+		<method name="build()Landroid/security/identity/PersonalizationData;" />
+		<method name="putEntry(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[B)Landroid/security/identity/PersonalizationData$Builder;" />
+	</class>
+	<class name="android/security/identity/ResultData" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getAuthenticatedData()[B" />
+		<method name="getEntry(Ljava/lang/String;Ljava/lang/String;)[B" />
+		<method name="getEntryNames(Ljava/lang/String;)Ljava/util/Collection;" />
+		<method name="getMessageAuthenticationCode()[B" />
+		<method name="getNamespaces()Ljava/util/Collection;" />
+		<method name="getRetrievedEntryNames(Ljava/lang/String;)Ljava/util/Collection;" />
+		<method name="getStaticAuthenticationData()[B" />
+		<method name="getStatus(Ljava/lang/String;Ljava/lang/String;)I" />
+		<field name="STATUS_NOT_IN_REQUEST_MESSAGE" />
+		<field name="STATUS_NOT_REQUESTED" />
+		<field name="STATUS_NO_ACCESS_CONTROL_PROFILES" />
+		<field name="STATUS_NO_SUCH_ENTRY" />
+		<field name="STATUS_OK" />
+		<field name="STATUS_READER_AUTHENTICATION_FAILED" />
+		<field name="STATUS_USER_AUTHENTICATION_FAILED" />
+	</class>
+	<class name="android/security/identity/SessionTranscriptMismatchException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/UnknownAuthenticationKeyException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/identity/WritableIdentityCredential" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getCredentialKeyCertificateChain([B)Ljava/util/Collection;" />
+		<method name="personalize(Landroid/security/identity/PersonalizationData;)[B" />
+	</class>
+	<class name="android/security/keystore/BackendBusyException" since="31">
+		<extends name="java/security/ProviderException" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="&lt;init&gt;(JLjava/lang/String;)V" />
+		<method name="&lt;init&gt;(JLjava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="getBackOffHintMillis()J" />
+	</class>
+	<class name="android/security/keystore/KeyExpiredException" since="23">
+		<extends name="java/security/InvalidKeyException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/keystore/KeyGenParameterSpec" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="getAlgorithmParameterSpec()Ljava/security/spec/AlgorithmParameterSpec;" />
+		<method name="getAttestKeyAlias()Ljava/lang/String;" since="31" />
+		<method name="getAttestationChallenge()[B" since="24" />
+		<method name="getBlockModes()[Ljava/lang/String;" />
+		<method name="getCertificateNotAfter()Ljava/util/Date;" />
+		<method name="getCertificateNotBefore()Ljava/util/Date;" />
+		<method name="getCertificateSerialNumber()Ljava/math/BigInteger;" />
+		<method name="getCertificateSubject()Ljavax/security/auth/x500/X500Principal;" />
+		<method name="getDigests()[Ljava/lang/String;" />
+		<method name="getEncryptionPaddings()[Ljava/lang/String;" />
+		<method name="getKeySize()I" />
+		<method name="getKeyValidityForConsumptionEnd()Ljava/util/Date;" />
+		<method name="getKeyValidityForOriginationEnd()Ljava/util/Date;" />
+		<method name="getKeyValidityStart()Ljava/util/Date;" />
+		<method name="getKeystoreAlias()Ljava/lang/String;" />
+		<method name="getMaxUsageCount()I" since="31" />
+		<method name="getPurposes()I" />
+		<method name="getSignaturePaddings()[Ljava/lang/String;" />
+		<method name="getUserAuthenticationType()I" since="30" />
+		<method name="getUserAuthenticationValidityDurationSeconds()I" />
+		<method name="isDevicePropertiesAttestationIncluded()Z" since="31" />
+		<method name="isDigestsSpecified()Z" />
+		<method name="isInvalidatedByBiometricEnrollment()Z" since="24" />
+		<method name="isRandomizedEncryptionRequired()Z" />
+		<method name="isStrongBoxBacked()Z" since="28" />
+		<method name="isUnlockedDeviceRequired()Z" since="28" />
+		<method name="isUserAuthenticationRequired()Z" />
+		<method name="isUserAuthenticationValidWhileOnBody()Z" since="24" />
+		<method name="isUserConfirmationRequired()Z" since="28" />
+		<method name="isUserPresenceRequired()Z" since="28" />
+	</class>
+	<class name="android/security/keystore/KeyGenParameterSpec$Builder" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="build()Landroid/security/keystore/KeyGenParameterSpec;" />
+		<method name="setAlgorithmParameterSpec(Ljava/security/spec/AlgorithmParameterSpec;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setAttestKeyAlias(Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="31" />
+		<method name="setAttestationChallenge([B)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="24" />
+		<method name="setBlockModes([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setCertificateNotAfter(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setCertificateNotBefore(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setCertificateSerialNumber(Ljava/math/BigInteger;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setCertificateSubject(Ljavax/security/auth/x500/X500Principal;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setDevicePropertiesAttestationIncluded(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="31" />
+		<method name="setDigests([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setEncryptionPaddings([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setInvalidatedByBiometricEnrollment(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="24" />
+		<method name="setIsStrongBoxBacked(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="28" />
+		<method name="setKeySize(I)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setKeyValidityEnd(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setKeyValidityForConsumptionEnd(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setKeyValidityForOriginationEnd(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setKeyValidityStart(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setMaxUsageCount(I)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="31" />
+		<method name="setRandomizedEncryptionRequired(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setSignaturePaddings([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setUnlockedDeviceRequired(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="28" />
+		<method name="setUserAuthenticationParameters(II)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="30" />
+		<method name="setUserAuthenticationRequired(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" />
+		<method name="setUserAuthenticationValidWhileOnBody(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="24" />
+		<method name="setUserAuthenticationValidityDurationSeconds(I)Landroid/security/keystore/KeyGenParameterSpec$Builder;" deprecated="30" />
+		<method name="setUserConfirmationRequired(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="28" />
+		<method name="setUserPresenceRequired(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="28" />
+	</class>
+	<class name="android/security/keystore/KeyInfo" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="getBlockModes()[Ljava/lang/String;" />
+		<method name="getDigests()[Ljava/lang/String;" />
+		<method name="getEncryptionPaddings()[Ljava/lang/String;" />
+		<method name="getKeySize()I" />
+		<method name="getKeyValidityForConsumptionEnd()Ljava/util/Date;" />
+		<method name="getKeyValidityForOriginationEnd()Ljava/util/Date;" />
+		<method name="getKeyValidityStart()Ljava/util/Date;" />
+		<method name="getKeystoreAlias()Ljava/lang/String;" />
+		<method name="getOrigin()I" />
+		<method name="getPurposes()I" />
+		<method name="getRemainingUsageCount()I" since="31" />
+		<method name="getSecurityLevel()I" since="31" />
+		<method name="getSignaturePaddings()[Ljava/lang/String;" />
+		<method name="getUserAuthenticationType()I" since="30" />
+		<method name="getUserAuthenticationValidityDurationSeconds()I" />
+		<method name="isInsideSecureHardware()Z" deprecated="31" />
+		<method name="isInvalidatedByBiometricEnrollment()Z" since="24" />
+		<method name="isTrustedUserPresenceRequired()Z" since="28" />
+		<method name="isUserAuthenticationRequired()Z" />
+		<method name="isUserAuthenticationRequirementEnforcedBySecureHardware()Z" />
+		<method name="isUserAuthenticationValidWhileOnBody()Z" since="24" />
+		<method name="isUserConfirmationRequired()Z" since="28" />
+	</class>
+	<class name="android/security/keystore/KeyNotYetValidException" since="23">
+		<extends name="java/security/InvalidKeyException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/keystore/KeyPermanentlyInvalidatedException" since="23">
+		<extends name="java/security/InvalidKeyException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/keystore/KeyProperties" since="23">
+		<extends name="java/lang/Object" />
+		<field name="AUTH_BIOMETRIC_STRONG" since="30" />
+		<field name="AUTH_DEVICE_CREDENTIAL" since="30" />
+		<field name="BLOCK_MODE_CBC" />
+		<field name="BLOCK_MODE_CTR" />
+		<field name="BLOCK_MODE_ECB" />
+		<field name="BLOCK_MODE_GCM" />
+		<field name="DIGEST_MD5" />
+		<field name="DIGEST_NONE" />
+		<field name="DIGEST_SHA1" />
+		<field name="DIGEST_SHA224" />
+		<field name="DIGEST_SHA256" />
+		<field name="DIGEST_SHA384" />
+		<field name="DIGEST_SHA512" />
+		<field name="ENCRYPTION_PADDING_NONE" />
+		<field name="ENCRYPTION_PADDING_PKCS7" />
+		<field name="ENCRYPTION_PADDING_RSA_OAEP" />
+		<field name="ENCRYPTION_PADDING_RSA_PKCS1" />
+		<field name="KEY_ALGORITHM_3DES" since="28" deprecated="28" />
+		<field name="KEY_ALGORITHM_AES" />
+		<field name="KEY_ALGORITHM_EC" />
+		<field name="KEY_ALGORITHM_HMAC_SHA1" />
+		<field name="KEY_ALGORITHM_HMAC_SHA224" />
+		<field name="KEY_ALGORITHM_HMAC_SHA256" />
+		<field name="KEY_ALGORITHM_HMAC_SHA384" />
+		<field name="KEY_ALGORITHM_HMAC_SHA512" />
+		<field name="KEY_ALGORITHM_RSA" />
+		<field name="ORIGIN_GENERATED" />
+		<field name="ORIGIN_IMPORTED" />
+		<field name="ORIGIN_SECURELY_IMPORTED" since="28" />
+		<field name="ORIGIN_UNKNOWN" />
+		<field name="PURPOSE_AGREE_KEY" since="31" />
+		<field name="PURPOSE_ATTEST_KEY" since="31" />
+		<field name="PURPOSE_DECRYPT" />
+		<field name="PURPOSE_ENCRYPT" />
+		<field name="PURPOSE_SIGN" />
+		<field name="PURPOSE_VERIFY" />
+		<field name="PURPOSE_WRAP_KEY" since="28" />
+		<field name="SECURITY_LEVEL_SOFTWARE" since="31" />
+		<field name="SECURITY_LEVEL_STRONGBOX" since="31" />
+		<field name="SECURITY_LEVEL_TRUSTED_ENVIRONMENT" since="31" />
+		<field name="SECURITY_LEVEL_UNKNOWN" since="31" />
+		<field name="SECURITY_LEVEL_UNKNOWN_SECURE" since="31" />
+		<field name="SIGNATURE_PADDING_RSA_PKCS1" />
+		<field name="SIGNATURE_PADDING_RSA_PSS" />
+		<field name="UNRESTRICTED_USAGE_COUNT" since="31" />
+	</class>
+	<class name="android/security/keystore/KeyProtection" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/KeyStore$ProtectionParameter" />
+		<method name="getBlockModes()[Ljava/lang/String;" />
+		<method name="getDigests()[Ljava/lang/String;" />
+		<method name="getEncryptionPaddings()[Ljava/lang/String;" />
+		<method name="getKeyValidityForConsumptionEnd()Ljava/util/Date;" />
+		<method name="getKeyValidityForOriginationEnd()Ljava/util/Date;" />
+		<method name="getKeyValidityStart()Ljava/util/Date;" />
+		<method name="getMaxUsageCount()I" since="31" />
+		<method name="getPurposes()I" />
+		<method name="getSignaturePaddings()[Ljava/lang/String;" />
+		<method name="getUserAuthenticationType()I" since="30" />
+		<method name="getUserAuthenticationValidityDurationSeconds()I" />
+		<method name="isDigestsSpecified()Z" />
+		<method name="isInvalidatedByBiometricEnrollment()Z" since="24" />
+		<method name="isRandomizedEncryptionRequired()Z" />
+		<method name="isUnlockedDeviceRequired()Z" since="28" />
+		<method name="isUserAuthenticationRequired()Z" />
+		<method name="isUserAuthenticationValidWhileOnBody()Z" since="24" />
+		<method name="isUserConfirmationRequired()Z" since="28" />
+		<method name="isUserPresenceRequired()Z" since="28" />
+	</class>
+	<class name="android/security/keystore/KeyProtection$Builder" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="build()Landroid/security/keystore/KeyProtection;" />
+		<method name="setBlockModes([Ljava/lang/String;)Landroid/security/keystore/KeyProtection$Builder;" />
+		<method name="setDigests([Ljava/lang/String;)Landroid/security/keystore/KeyProtection$Builder;" />
+		<method name="setEncryptionPaddings([Ljava/lang/String;)Landroid/security/keystore/KeyProtection$Builder;" />
+		<method name="setInvalidatedByBiometricEnrollment(Z)Landroid/security/keystore/KeyProtection$Builder;" since="24" />
+		<method name="setIsStrongBoxBacked(Z)Landroid/security/keystore/KeyProtection$Builder;" since="31" />
+		<method name="setKeyValidityEnd(Ljava/util/Date;)Landroid/security/keystore/KeyProtection$Builder;" />
+		<method name="setKeyValidityForConsumptionEnd(Ljava/util/Date;)Landroid/security/keystore/KeyProtection$Builder;" />
+		<method name="setKeyValidityForOriginationEnd(Ljava/util/Date;)Landroid/security/keystore/KeyProtection$Builder;" />
+		<method name="setKeyValidityStart(Ljava/util/Date;)Landroid/security/keystore/KeyProtection$Builder;" />
+		<method name="setMaxUsageCount(I)Landroid/security/keystore/KeyProtection$Builder;" since="31" />
+		<method name="setRandomizedEncryptionRequired(Z)Landroid/security/keystore/KeyProtection$Builder;" />
+		<method name="setSignaturePaddings([Ljava/lang/String;)Landroid/security/keystore/KeyProtection$Builder;" />
+		<method name="setUnlockedDeviceRequired(Z)Landroid/security/keystore/KeyProtection$Builder;" since="28" />
+		<method name="setUserAuthenticationParameters(II)Landroid/security/keystore/KeyProtection$Builder;" since="30" />
+		<method name="setUserAuthenticationRequired(Z)Landroid/security/keystore/KeyProtection$Builder;" />
+		<method name="setUserAuthenticationValidWhileOnBody(Z)Landroid/security/keystore/KeyProtection$Builder;" since="24" />
+		<method name="setUserAuthenticationValidityDurationSeconds(I)Landroid/security/keystore/KeyProtection$Builder;" deprecated="30" />
+		<method name="setUserConfirmationRequired(Z)Landroid/security/keystore/KeyProtection$Builder;" since="28" />
+		<method name="setUserPresenceRequired(Z)Landroid/security/keystore/KeyProtection$Builder;" since="28" />
+	</class>
+	<class name="android/security/keystore/SecureKeyImportUnavailableException" since="28">
+		<extends name="java/security/ProviderException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/keystore/StrongBoxUnavailableException" since="28">
+		<extends name="java/security/ProviderException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/keystore/UserNotAuthenticatedException" since="23">
+		<extends name="java/security/InvalidKeyException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/keystore/UserPresenceUnavailableException" since="28">
+		<extends name="java/security/InvalidKeyException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/security/keystore/WrappedKeyEntry" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/KeyStore$Entry" />
+		<method name="&lt;init&gt;([BLjava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="getAlgorithmParameterSpec()Ljava/security/spec/AlgorithmParameterSpec;" />
+		<method name="getTransformation()Ljava/lang/String;" />
+		<method name="getWrappedKeyBytes()[B" />
+		<method name="getWrappingKeyAlias()Ljava/lang/String;" />
+	</class>
+	<class name="android/service/autofill/AutofillService" since="26">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getFillEventHistory()Landroid/service/autofill/FillEventHistory;" />
+		<method name="onConnected()V" />
+		<method name="onDisconnected()V" />
+		<method name="onFillRequest(Landroid/service/autofill/FillRequest;Landroid/os/CancellationSignal;Landroid/service/autofill/FillCallback;)V" />
+		<method name="onSaveRequest(Landroid/service/autofill/SaveRequest;Landroid/service/autofill/SaveCallback;)V" />
+		<method name="onSavedDatasetsInfoRequest(Landroid/service/autofill/SavedDatasetsInfoCallback;)V" since="31" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/service/autofill/BatchUpdates" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/BatchUpdates$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/service/autofill/BatchUpdates;" />
+		<method name="transformChild(ILandroid/service/autofill/Transformation;)Landroid/service/autofill/BatchUpdates$Builder;" />
+		<method name="updateTemplate(Landroid/widget/RemoteViews;)Landroid/service/autofill/BatchUpdates$Builder;" />
+	</class>
+	<class name="android/service/autofill/CharSequenceTransformation" since="27">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="android/service/autofill/Transformation" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/CharSequenceTransformation$Builder" since="27">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/autofill/AutofillId;Ljava/util/regex/Pattern;Ljava/lang/String;)V" />
+		<method name="addField(Landroid/view/autofill/AutofillId;Ljava/util/regex/Pattern;Ljava/lang/String;)Landroid/service/autofill/CharSequenceTransformation$Builder;" />
+		<method name="build()Landroid/service/autofill/CharSequenceTransformation;" />
+	</class>
+	<class name="android/service/autofill/CustomDescription" since="27">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/CustomDescription$Builder" since="27">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/widget/RemoteViews;)V" />
+		<method name="addChild(ILandroid/service/autofill/Transformation;)Landroid/service/autofill/CustomDescription$Builder;" />
+		<method name="addOnClickAction(ILandroid/service/autofill/OnClickAction;)Landroid/service/autofill/CustomDescription$Builder;" since="29" />
+		<method name="batchUpdate(Landroid/service/autofill/Validator;Landroid/service/autofill/BatchUpdates;)Landroid/service/autofill/CustomDescription$Builder;" since="28" />
+		<method name="build()Landroid/service/autofill/CustomDescription;" />
+	</class>
+	<class name="android/service/autofill/Dataset" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/Dataset$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/widget/RemoteViews;)V" />
+		<method name="build()Landroid/service/autofill/Dataset;" />
+		<method name="setAuthentication(Landroid/content/IntentSender;)Landroid/service/autofill/Dataset$Builder;" />
+		<method name="setId(Ljava/lang/String;)Landroid/service/autofill/Dataset$Builder;" />
+		<method name="setInlinePresentation(Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="30" />
+		<method name="setInlinePresentation(Landroid/service/autofill/InlinePresentation;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="31" />
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;)Landroid/service/autofill/Dataset$Builder;" />
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Landroid/widget/RemoteViews;)Landroid/service/autofill/Dataset$Builder;" />
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="30" />
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="31" />
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Ljava/util/regex/Pattern;)Landroid/service/autofill/Dataset$Builder;" since="28" />
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Ljava/util/regex/Pattern;Landroid/widget/RemoteViews;)Landroid/service/autofill/Dataset$Builder;" since="28" />
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Ljava/util/regex/Pattern;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="30" />
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Ljava/util/regex/Pattern;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="31" />
+	</class>
+	<class name="android/service/autofill/DateTransformation" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="android/service/autofill/Transformation" />
+		<method name="&lt;init&gt;(Landroid/view/autofill/AutofillId;Ljava/lang/Object;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/DateValueSanitizer" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="android/service/autofill/Sanitizer" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/FieldClassification" since="28">
+		<extends name="java/lang/Object" />
+		<method name="getMatches()Ljava/util/List;" />
+	</class>
+	<class name="android/service/autofill/FieldClassification$Match" since="28">
+		<extends name="java/lang/Object" />
+		<method name="getCategoryId()Ljava/lang/String;" />
+		<method name="getScore()F" />
+	</class>
+	<class name="android/service/autofill/FillCallback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="onFailure(Ljava/lang/CharSequence;)V" />
+		<method name="onSuccess(Landroid/service/autofill/FillResponse;)V" />
+	</class>
+	<class name="android/service/autofill/FillContext" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getFocusedId()Landroid/view/autofill/AutofillId;" since="29" />
+		<method name="getRequestId()I" />
+		<method name="getStructure()Landroid/app/assist/AssistStructure;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/FillEventHistory" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getClientState()Landroid/os/Bundle;" deprecated="28" />
+		<method name="getEvents()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/FillEventHistory$Event" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getChangedFields()Ljava/util/Map;" since="28" />
+		<method name="getClientState()Landroid/os/Bundle;" since="28" />
+		<method name="getDatasetId()Ljava/lang/String;" />
+		<method name="getFieldsClassification()Ljava/util/Map;" since="28" />
+		<method name="getIgnoredDatasetIds()Ljava/util/Set;" since="28" />
+		<method name="getManuallyEnteredField()Ljava/util/Map;" since="28" />
+		<method name="getNoSaveUiReason()I" since="31" />
+		<method name="getSelectedDatasetIds()Ljava/util/Set;" since="28" />
+		<method name="getType()I" />
+		<field name="NO_SAVE_UI_REASON_DATASET_MATCH" since="31" />
+		<field name="NO_SAVE_UI_REASON_FIELD_VALIDATION_FAILED" since="31" />
+		<field name="NO_SAVE_UI_REASON_HAS_EMPTY_REQUIRED" since="31" />
+		<field name="NO_SAVE_UI_REASON_NONE" since="31" />
+		<field name="NO_SAVE_UI_REASON_NO_SAVE_INFO" since="31" />
+		<field name="NO_SAVE_UI_REASON_NO_VALUE_CHANGED" since="31" />
+		<field name="NO_SAVE_UI_REASON_WITH_DELAY_SAVE_FLAG" since="31" />
+		<field name="TYPE_AUTHENTICATION_SELECTED" />
+		<field name="TYPE_CONTEXT_COMMITTED" since="28" />
+		<field name="TYPE_DATASETS_SHOWN" since="30" />
+		<field name="TYPE_DATASET_AUTHENTICATION_SELECTED" />
+		<field name="TYPE_DATASET_SELECTED" />
+		<field name="TYPE_SAVE_SHOWN" />
+	</class>
+	<class name="android/service/autofill/FillRequest" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getClientState()Landroid/os/Bundle;" />
+		<method name="getFillContexts()Ljava/util/List;" />
+		<method name="getFlags()I" />
+		<method name="getId()I" />
+		<method name="getInlineSuggestionsRequest()Landroid/view/inputmethod/InlineSuggestionsRequest;" since="30" />
+		<field name="CREATOR" />
+		<field name="FLAG_COMPATIBILITY_MODE_REQUEST" since="29" />
+		<field name="FLAG_MANUAL_REQUEST" />
+	</class>
+	<class name="android/service/autofill/FillResponse" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+		<field name="FLAG_DISABLE_ACTIVITY_ONLY" since="28" />
+		<field name="FLAG_TRACK_CONTEXT_COMMITED" since="28" />
+	</class>
+	<class name="android/service/autofill/FillResponse$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addDataset(Landroid/service/autofill/Dataset;)Landroid/service/autofill/FillResponse$Builder;" />
+		<method name="build()Landroid/service/autofill/FillResponse;" />
+		<method name="disableAutofill(J)Landroid/service/autofill/FillResponse$Builder;" since="28" />
+		<method name="setAuthentication([Landroid/view/autofill/AutofillId;Landroid/content/IntentSender;Landroid/widget/RemoteViews;)Landroid/service/autofill/FillResponse$Builder;" />
+		<method name="setAuthentication([Landroid/view/autofill/AutofillId;Landroid/content/IntentSender;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/FillResponse$Builder;" since="30" />
+		<method name="setAuthentication([Landroid/view/autofill/AutofillId;Landroid/content/IntentSender;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/FillResponse$Builder;" since="31" />
+		<method name="setClientState(Landroid/os/Bundle;)Landroid/service/autofill/FillResponse$Builder;" />
+		<method name="setFieldClassificationIds([Landroid/view/autofill/AutofillId;)Landroid/service/autofill/FillResponse$Builder;" since="28" />
+		<method name="setFlags(I)Landroid/service/autofill/FillResponse$Builder;" since="28" />
+		<method name="setFooter(Landroid/widget/RemoteViews;)Landroid/service/autofill/FillResponse$Builder;" since="28" />
+		<method name="setHeader(Landroid/widget/RemoteViews;)Landroid/service/autofill/FillResponse$Builder;" since="28" />
+		<method name="setIgnoredIds([Landroid/view/autofill/AutofillId;)Landroid/service/autofill/FillResponse$Builder;" />
+		<method name="setPresentationCancelIds([I)Landroid/service/autofill/FillResponse$Builder;" since="30" />
+		<method name="setSaveInfo(Landroid/service/autofill/SaveInfo;)Landroid/service/autofill/FillResponse$Builder;" />
+		<method name="setUserData(Landroid/service/autofill/UserData;)Landroid/service/autofill/FillResponse$Builder;" since="29" />
+	</class>
+	<class name="android/service/autofill/ImageTransformation" since="27">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="android/service/autofill/Transformation" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/ImageTransformation$Builder" since="27">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/autofill/AutofillId;Ljava/util/regex/Pattern;I)V" deprecated="28" />
+		<method name="&lt;init&gt;(Landroid/view/autofill/AutofillId;Ljava/util/regex/Pattern;ILjava/lang/CharSequence;)V" since="28" />
+		<method name="addOption(Ljava/util/regex/Pattern;I)Landroid/service/autofill/ImageTransformation$Builder;" deprecated="28" />
+		<method name="addOption(Ljava/util/regex/Pattern;ILjava/lang/CharSequence;)Landroid/service/autofill/ImageTransformation$Builder;" since="28" />
+		<method name="build()Landroid/service/autofill/ImageTransformation;" />
+	</class>
+	<class name="android/service/autofill/InlinePresentation" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/app/slice/Slice;Landroid/widget/inline/InlinePresentationSpec;Z)V" />
+		<method name="createTooltipPresentation(Landroid/app/slice/Slice;Landroid/widget/inline/InlinePresentationSpec;)Landroid/service/autofill/InlinePresentation;" since="31" />
+		<method name="getInlinePresentationSpec()Landroid/widget/inline/InlinePresentationSpec;" />
+		<method name="getSlice()Landroid/app/slice/Slice;" />
+		<method name="isPinned()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/LuhnChecksumValidator" since="27">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="android/service/autofill/Validator" />
+		<method name="&lt;init&gt;([Landroid/view/autofill/AutofillId;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/OnClickAction" since="29">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/service/autofill/RegexValidator" since="27">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="android/service/autofill/Validator" />
+		<method name="&lt;init&gt;(Landroid/view/autofill/AutofillId;Ljava/util/regex/Pattern;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/Sanitizer" since="28">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/service/autofill/SaveCallback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="onFailure(Ljava/lang/CharSequence;)V" />
+		<method name="onSuccess()V" />
+		<method name="onSuccess(Landroid/content/IntentSender;)V" since="28" />
+	</class>
+	<class name="android/service/autofill/SaveInfo" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+		<field name="FLAG_DELAY_SAVE" since="29" />
+		<field name="FLAG_DONT_SAVE_ON_FINISH" since="28" />
+		<field name="FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE" />
+		<field name="NEGATIVE_BUTTON_STYLE_CANCEL" />
+		<field name="NEGATIVE_BUTTON_STYLE_NEVER" since="30" />
+		<field name="NEGATIVE_BUTTON_STYLE_REJECT" />
+		<field name="POSITIVE_BUTTON_STYLE_CONTINUE" since="30" />
+		<field name="POSITIVE_BUTTON_STYLE_SAVE" since="30" />
+		<field name="SAVE_DATA_TYPE_ADDRESS" />
+		<field name="SAVE_DATA_TYPE_CREDIT_CARD" />
+		<field name="SAVE_DATA_TYPE_DEBIT_CARD" since="30" />
+		<field name="SAVE_DATA_TYPE_EMAIL_ADDRESS" />
+		<field name="SAVE_DATA_TYPE_GENERIC" />
+		<field name="SAVE_DATA_TYPE_GENERIC_CARD" since="30" />
+		<field name="SAVE_DATA_TYPE_PASSWORD" />
+		<field name="SAVE_DATA_TYPE_PAYMENT_CARD" since="30" />
+		<field name="SAVE_DATA_TYPE_USERNAME" />
+	</class>
+	<class name="android/service/autofill/SaveInfo$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" since="27" />
+		<method name="&lt;init&gt;(I[Landroid/view/autofill/AutofillId;)V" />
+		<method name="addSanitizer(Landroid/service/autofill/Sanitizer;[Landroid/view/autofill/AutofillId;)Landroid/service/autofill/SaveInfo$Builder;" since="28" />
+		<method name="build()Landroid/service/autofill/SaveInfo;" />
+		<method name="setCustomDescription(Landroid/service/autofill/CustomDescription;)Landroid/service/autofill/SaveInfo$Builder;" since="27" />
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/service/autofill/SaveInfo$Builder;" />
+		<method name="setFlags(I)Landroid/service/autofill/SaveInfo$Builder;" />
+		<method name="setNegativeAction(ILandroid/content/IntentSender;)Landroid/service/autofill/SaveInfo$Builder;" />
+		<method name="setOptionalIds([Landroid/view/autofill/AutofillId;)Landroid/service/autofill/SaveInfo$Builder;" />
+		<method name="setPositiveAction(I)Landroid/service/autofill/SaveInfo$Builder;" since="30" />
+		<method name="setTriggerId(Landroid/view/autofill/AutofillId;)Landroid/service/autofill/SaveInfo$Builder;" since="28" />
+		<method name="setValidator(Landroid/service/autofill/Validator;)Landroid/service/autofill/SaveInfo$Builder;" since="27" />
+	</class>
+	<class name="android/service/autofill/SaveRequest" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getClientState()Landroid/os/Bundle;" />
+		<method name="getDatasetIds()Ljava/util/List;" since="28" />
+		<method name="getFillContexts()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/SavedDatasetsInfo" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="getCount()I" />
+		<method name="getType()Ljava/lang/String;" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_PASSWORDS" />
+	</class>
+	<class name="android/service/autofill/SavedDatasetsInfoCallback" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onError(I)V" />
+		<method name="onSuccess(Ljava/util/Set;)V" />
+		<field name="ERROR_NEEDS_USER_ACTION" />
+		<field name="ERROR_OTHER" />
+		<field name="ERROR_UNSUPPORTED" />
+	</class>
+	<class name="android/service/autofill/TextValueSanitizer" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="android/service/autofill/Sanitizer" />
+		<method name="&lt;init&gt;(Ljava/util/regex/Pattern;Ljava/lang/String;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/Transformation" since="27">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/service/autofill/UserData" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getFieldClassificationAlgorithm()Ljava/lang/String;" />
+		<method name="getFieldClassificationAlgorithmForCategory(Ljava/lang/String;)Ljava/lang/String;" since="29" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getMaxCategoryCount()I" />
+		<method name="getMaxFieldClassificationIdsSize()I" />
+		<method name="getMaxUserDataSize()I" />
+		<method name="getMaxValueLength()I" />
+		<method name="getMinValueLength()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/UserData$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="add(Ljava/lang/String;Ljava/lang/String;)Landroid/service/autofill/UserData$Builder;" />
+		<method name="build()Landroid/service/autofill/UserData;" />
+		<method name="setFieldClassificationAlgorithm(Ljava/lang/String;Landroid/os/Bundle;)Landroid/service/autofill/UserData$Builder;" />
+		<method name="setFieldClassificationAlgorithmForCategory(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/service/autofill/UserData$Builder;" since="29" />
+	</class>
+	<class name="android/service/autofill/Validator" since="27">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/service/autofill/Validators" since="27">
+		<extends name="java/lang/Object" />
+		<method name="and([Landroid/service/autofill/Validator;)Landroid/service/autofill/Validator;" />
+		<method name="not(Landroid/service/autofill/Validator;)Landroid/service/autofill/Validator;" since="28" />
+		<method name="or([Landroid/service/autofill/Validator;)Landroid/service/autofill/Validator;" />
+	</class>
+	<class name="android/service/autofill/VisibilitySetterAction" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="android/service/autofill/OnClickAction" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/autofill/VisibilitySetterAction$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="build()Landroid/service/autofill/VisibilitySetterAction;" />
+		<method name="setVisibility(II)Landroid/service/autofill/VisibilitySetterAction$Builder;" />
+	</class>
+	<class name="android/service/carrier/CarrierIdentifier" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V" since="29" />
+		<method name="&lt;init&gt;([BLjava/lang/String;Ljava/lang/String;)V" since="28" />
+		<method name="getCarrierId()I" since="29" />
+		<method name="getGid1()Ljava/lang/String;" />
+		<method name="getGid2()Ljava/lang/String;" />
+		<method name="getImsi()Ljava/lang/String;" />
+		<method name="getMcc()Ljava/lang/String;" />
+		<method name="getMnc()Ljava/lang/String;" />
+		<method name="getSpecificCarrierId()I" since="29" />
+		<method name="getSpn()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/carrier/CarrierMessagingClientService" since="29">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/service/carrier/CarrierMessagingService" since="22">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onDownloadMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/CarrierMessagingService$ResultCallback;)V" />
+		<method name="onFilterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" deprecated="24" />
+		<method name="onReceiveTextSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" since="24" />
+		<method name="onSendDataSms([BILjava/lang/String;IILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" since="23" />
+		<method name="onSendDataSms([BILjava/lang/String;ILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" deprecated="23" />
+		<method name="onSendMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/CarrierMessagingService$ResultCallback;)V" />
+		<method name="onSendMultipartTextSms(Ljava/util/List;ILjava/lang/String;ILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" since="23" />
+		<method name="onSendMultipartTextSms(Ljava/util/List;ILjava/lang/String;Landroid/service/carrier/CarrierMessagingService$ResultCallback;)V" deprecated="23" />
+		<method name="onSendTextSms(Ljava/lang/String;ILjava/lang/String;ILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" since="23" />
+		<method name="onSendTextSms(Ljava/lang/String;ILjava/lang/String;Landroid/service/carrier/CarrierMessagingService$ResultCallback;)V" deprecated="23" />
+		<field name="DOWNLOAD_STATUS_ERROR" />
+		<field name="DOWNLOAD_STATUS_OK" />
+		<field name="DOWNLOAD_STATUS_RETRY_ON_CARRIER_NETWORK" />
+		<field name="RECEIVE_OPTIONS_DEFAULT" since="24" />
+		<field name="RECEIVE_OPTIONS_DROP" since="24" />
+		<field name="RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" since="24" />
+		<field name="SEND_FLAG_REQUEST_DELIVERY_STATUS" since="23" />
+		<field name="SEND_STATUS_ERROR" />
+		<field name="SEND_STATUS_OK" />
+		<field name="SEND_STATUS_RETRY_ON_CARRIER_NETWORK" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/service/carrier/CarrierMessagingService$ResultCallback" since="22">
+		<extends name="java/lang/Object" />
+		<method name="onReceiveResult(Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/service/carrier/CarrierMessagingService$SendMmsResult" since="22">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I[B)V" />
+		<method name="getSendConfPdu()[B" />
+		<method name="getSendStatus()I" />
+	</class>
+	<class name="android/service/carrier/CarrierMessagingService$SendMultipartSmsResult" since="22">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I[I)V" />
+		<method name="getMessageRefs()[I" />
+		<method name="getSendStatus()I" />
+	</class>
+	<class name="android/service/carrier/CarrierMessagingService$SendSmsResult" since="22">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getMessageRef()I" />
+		<method name="getSendStatus()I" />
+	</class>
+	<class name="android/service/carrier/CarrierService" since="23">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="notifyCarrierNetworkChange(Z)V" />
+		<method name="onLoadConfig(Landroid/service/carrier/CarrierIdentifier;)Landroid/os/PersistableBundle;" />
+		<field name="CARRIER_SERVICE_INTERFACE" />
+	</class>
+	<class name="android/service/carrier/MessagePdu" since="22">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/util/List;)V" />
+		<method name="getPdus()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/chooser/ChooserTarget" since="23" deprecated="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Landroid/graphics/drawable/Icon;FLandroid/content/ComponentName;Landroid/os/Bundle;)V" deprecated="30" />
+		<method name="getComponentName()Landroid/content/ComponentName;" deprecated="30" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" deprecated="30" />
+		<method name="getIntentExtras()Landroid/os/Bundle;" deprecated="30" />
+		<method name="getScore()F" deprecated="30" />
+		<method name="getTitle()Ljava/lang/CharSequence;" deprecated="30" />
+		<field name="CREATOR" deprecated="30" />
+	</class>
+	<class name="android/service/chooser/ChooserTargetService" since="23" deprecated="30">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="onGetChooserTargets(Landroid/content/ComponentName;Landroid/content/IntentFilter;)Ljava/util/List;" deprecated="30" />
+		<field name="BIND_PERMISSION" deprecated="30" />
+		<field name="META_DATA_NAME" deprecated="30" />
+		<field name="SERVICE_INTERFACE" deprecated="30" />
+	</class>
+	<class name="android/service/controls/Control" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAppIntent()Landroid/app/PendingIntent;" />
+		<method name="getControlId()Ljava/lang/String;" />
+		<method name="getControlTemplate()Landroid/service/controls/templates/ControlTemplate;" />
+		<method name="getCustomColor()Landroid/content/res/ColorStateList;" />
+		<method name="getCustomIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getDeviceType()I" />
+		<method name="getStatus()I" />
+		<method name="getStatusText()Ljava/lang/CharSequence;" />
+		<method name="getStructure()Ljava/lang/CharSequence;" />
+		<method name="getSubtitle()Ljava/lang/CharSequence;" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<method name="getZone()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+		<field name="STATUS_DISABLED" />
+		<field name="STATUS_ERROR" />
+		<field name="STATUS_NOT_FOUND" />
+		<field name="STATUS_OK" />
+		<field name="STATUS_UNKNOWN" />
+	</class>
+	<class name="android/service/controls/Control$StatefulBuilder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/service/controls/Control;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/app/PendingIntent;)V" />
+		<method name="build()Landroid/service/controls/Control;" />
+		<method name="setAppIntent(Landroid/app/PendingIntent;)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setControlId(Ljava/lang/String;)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setControlTemplate(Landroid/service/controls/templates/ControlTemplate;)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setCustomColor(Landroid/content/res/ColorStateList;)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setCustomIcon(Landroid/graphics/drawable/Icon;)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setDeviceType(I)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setStatus(I)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setStatusText(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setStructure(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setSubtitle(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatefulBuilder;" />
+		<method name="setZone(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatefulBuilder;" />
+	</class>
+	<class name="android/service/controls/Control$StatelessBuilder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/service/controls/Control;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/app/PendingIntent;)V" />
+		<method name="build()Landroid/service/controls/Control;" />
+		<method name="setAppIntent(Landroid/app/PendingIntent;)Landroid/service/controls/Control$StatelessBuilder;" />
+		<method name="setControlId(Ljava/lang/String;)Landroid/service/controls/Control$StatelessBuilder;" />
+		<method name="setCustomColor(Landroid/content/res/ColorStateList;)Landroid/service/controls/Control$StatelessBuilder;" />
+		<method name="setCustomIcon(Landroid/graphics/drawable/Icon;)Landroid/service/controls/Control$StatelessBuilder;" />
+		<method name="setDeviceType(I)Landroid/service/controls/Control$StatelessBuilder;" />
+		<method name="setStructure(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatelessBuilder;" />
+		<method name="setSubtitle(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatelessBuilder;" />
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatelessBuilder;" />
+		<method name="setZone(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatelessBuilder;" />
+	</class>
+	<class name="android/service/controls/ControlsProviderService" since="30">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createPublisherFor(Ljava/util/List;)Ljava/util/concurrent/Flow$Publisher;" />
+		<method name="createPublisherForAllAvailable()Ljava/util/concurrent/Flow$Publisher;" />
+		<method name="createPublisherForSuggested()Ljava/util/concurrent/Flow$Publisher;" />
+		<method name="performControlAction(Ljava/lang/String;Landroid/service/controls/actions/ControlAction;Ljava/util/function/Consumer;)V" />
+		<method name="requestAddControl(Landroid/content/Context;Landroid/content/ComponentName;Landroid/service/controls/Control;)V" />
+		<field name="SERVICE_CONTROLS" />
+		<field name="TAG" />
+	</class>
+	<class name="android/service/controls/DeviceTypes" since="30">
+		<extends name="java/lang/Object" />
+		<method name="validDeviceType(I)Z" />
+		<field name="TYPE_AC_HEATER" />
+		<field name="TYPE_AC_UNIT" />
+		<field name="TYPE_AIR_FRESHENER" />
+		<field name="TYPE_AIR_PURIFIER" />
+		<field name="TYPE_AWNING" />
+		<field name="TYPE_BLINDS" />
+		<field name="TYPE_CAMERA" />
+		<field name="TYPE_CLOSET" />
+		<field name="TYPE_COFFEE_MAKER" />
+		<field name="TYPE_CURTAIN" />
+		<field name="TYPE_DEHUMIDIFIER" />
+		<field name="TYPE_DISHWASHER" />
+		<field name="TYPE_DISPLAY" />
+		<field name="TYPE_DOOR" />
+		<field name="TYPE_DOORBELL" />
+		<field name="TYPE_DRAWER" />
+		<field name="TYPE_DRYER" />
+		<field name="TYPE_FAN" />
+		<field name="TYPE_GARAGE" />
+		<field name="TYPE_GATE" />
+		<field name="TYPE_GENERIC_ARM_DISARM" />
+		<field name="TYPE_GENERIC_LOCK_UNLOCK" />
+		<field name="TYPE_GENERIC_ON_OFF" />
+		<field name="TYPE_GENERIC_OPEN_CLOSE" />
+		<field name="TYPE_GENERIC_START_STOP" />
+		<field name="TYPE_GENERIC_TEMP_SETTING" />
+		<field name="TYPE_GENERIC_VIEWSTREAM" />
+		<field name="TYPE_HEATER" />
+		<field name="TYPE_HOOD" />
+		<field name="TYPE_HUMIDIFIER" />
+		<field name="TYPE_KETTLE" />
+		<field name="TYPE_LIGHT" />
+		<field name="TYPE_LOCK" />
+		<field name="TYPE_MICROWAVE" />
+		<field name="TYPE_MOP" />
+		<field name="TYPE_MOWER" />
+		<field name="TYPE_MULTICOOKER" />
+		<field name="TYPE_OUTLET" />
+		<field name="TYPE_PERGOLA" />
+		<field name="TYPE_RADIATOR" />
+		<field name="TYPE_REFRIGERATOR" />
+		<field name="TYPE_REMOTE_CONTROL" />
+		<field name="TYPE_ROUTINE" />
+		<field name="TYPE_SECURITY_SYSTEM" />
+		<field name="TYPE_SET_TOP" />
+		<field name="TYPE_SHOWER" />
+		<field name="TYPE_SHUTTER" />
+		<field name="TYPE_SPRINKLER" />
+		<field name="TYPE_STANDMIXER" />
+		<field name="TYPE_STYLER" />
+		<field name="TYPE_SWITCH" />
+		<field name="TYPE_THERMOSTAT" />
+		<field name="TYPE_TV" />
+		<field name="TYPE_UNKNOWN" />
+		<field name="TYPE_VACUUM" />
+		<field name="TYPE_VALVE" />
+		<field name="TYPE_WASHER" />
+		<field name="TYPE_WATER_HEATER" />
+		<field name="TYPE_WINDOW" />
+	</class>
+	<class name="android/service/controls/actions/BooleanAction" since="30">
+		<extends name="android/service/controls/actions/ControlAction" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Z)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ZLjava/lang/String;)V" />
+		<method name="getNewState()Z" />
+	</class>
+	<class name="android/service/controls/actions/CommandAction" since="30">
+		<extends name="android/service/controls/actions/ControlAction" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="android/service/controls/actions/ControlAction" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getActionType()I" />
+		<method name="getChallengeValue()Ljava/lang/String;" />
+		<method name="getErrorAction()Landroid/service/controls/actions/ControlAction;" />
+		<method name="getTemplateId()Ljava/lang/String;" />
+		<method name="isValidResponse(I)Z" />
+		<field name="RESPONSE_CHALLENGE_ACK" />
+		<field name="RESPONSE_CHALLENGE_PASSPHRASE" />
+		<field name="RESPONSE_CHALLENGE_PIN" />
+		<field name="RESPONSE_FAIL" />
+		<field name="RESPONSE_OK" />
+		<field name="RESPONSE_UNKNOWN" />
+		<field name="TYPE_BOOLEAN" />
+		<field name="TYPE_COMMAND" />
+		<field name="TYPE_ERROR" />
+		<field name="TYPE_FLOAT" />
+		<field name="TYPE_MODE" />
+	</class>
+	<class name="android/service/controls/actions/FloatAction" since="30">
+		<extends name="android/service/controls/actions/ControlAction" />
+		<method name="&lt;init&gt;(Ljava/lang/String;F)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;FLjava/lang/String;)V" />
+		<method name="getNewValue()F" />
+	</class>
+	<class name="android/service/controls/actions/ModeAction" since="30">
+		<extends name="android/service/controls/actions/ControlAction" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="getNewMode()I" />
+	</class>
+	<class name="android/service/controls/templates/ControlButton" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(ZLjava/lang/CharSequence;)V" />
+		<method name="getActionDescription()Ljava/lang/CharSequence;" />
+		<method name="isChecked()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/controls/templates/ControlTemplate" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getErrorTemplate()Landroid/service/controls/templates/ControlTemplate;" />
+		<method name="getNoTemplateObject()Landroid/service/controls/templates/ControlTemplate;" />
+		<method name="getTemplateId()Ljava/lang/String;" />
+		<method name="getTemplateType()I" />
+		<field name="TYPE_ERROR" />
+		<field name="TYPE_NO_TEMPLATE" />
+		<field name="TYPE_RANGE" />
+		<field name="TYPE_STATELESS" />
+		<field name="TYPE_TEMPERATURE" />
+		<field name="TYPE_THUMBNAIL" since="31" />
+		<field name="TYPE_TOGGLE" />
+		<field name="TYPE_TOGGLE_RANGE" />
+	</class>
+	<class name="android/service/controls/templates/RangeTemplate" since="30">
+		<extends name="android/service/controls/templates/ControlTemplate" />
+		<method name="&lt;init&gt;(Ljava/lang/String;FFFFLjava/lang/CharSequence;)V" />
+		<method name="getCurrentValue()F" />
+		<method name="getFormatString()Ljava/lang/CharSequence;" />
+		<method name="getMaxValue()F" />
+		<method name="getMinValue()F" />
+		<method name="getStepValue()F" />
+	</class>
+	<class name="android/service/controls/templates/StatelessTemplate" since="30">
+		<extends name="android/service/controls/templates/ControlTemplate" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/service/controls/templates/TemperatureControlTemplate" since="30">
+		<extends name="android/service/controls/templates/ControlTemplate" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/service/controls/templates/ControlTemplate;III)V" />
+		<method name="getCurrentActiveMode()I" />
+		<method name="getCurrentMode()I" />
+		<method name="getModes()I" />
+		<method name="getTemplate()Landroid/service/controls/templates/ControlTemplate;" />
+		<field name="FLAG_MODE_COOL" />
+		<field name="FLAG_MODE_ECO" />
+		<field name="FLAG_MODE_HEAT" />
+		<field name="FLAG_MODE_HEAT_COOL" />
+		<field name="FLAG_MODE_OFF" />
+		<field name="MODE_COOL" />
+		<field name="MODE_ECO" />
+		<field name="MODE_HEAT" />
+		<field name="MODE_HEAT_COOL" />
+		<field name="MODE_OFF" />
+		<field name="MODE_UNKNOWN" />
+	</class>
+	<class name="android/service/controls/templates/ThumbnailTemplate" since="31">
+		<extends name="android/service/controls/templates/ControlTemplate" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ZLandroid/graphics/drawable/Icon;Ljava/lang/CharSequence;)V" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" />
+		<method name="getThumbnail()Landroid/graphics/drawable/Icon;" />
+		<method name="isActive()Z" />
+	</class>
+	<class name="android/service/controls/templates/ToggleRangeTemplate" since="30">
+		<extends name="android/service/controls/templates/ControlTemplate" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/service/controls/templates/ControlButton;Landroid/service/controls/templates/RangeTemplate;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ZLjava/lang/CharSequence;Landroid/service/controls/templates/RangeTemplate;)V" />
+		<method name="getActionDescription()Ljava/lang/CharSequence;" />
+		<method name="getRange()Landroid/service/controls/templates/RangeTemplate;" />
+		<method name="isChecked()Z" />
+	</class>
+	<class name="android/service/controls/templates/ToggleTemplate" since="30">
+		<extends name="android/service/controls/templates/ControlTemplate" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/service/controls/templates/ControlButton;)V" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" />
+		<method name="isChecked()Z" />
+	</class>
+	<class name="android/service/dreams/DreamService" since="17">
+		<extends name="android/app/Service" />
+		<implements name="android/view/Window$Callback" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="findViewById(I)Landroid/view/View;" />
+		<method name="finish()V" />
+		<method name="getWindow()Landroid/view/Window;" />
+		<method name="getWindowManager()Landroid/view/WindowManager;" />
+		<method name="isFullscreen()Z" />
+		<method name="isInteractive()Z" />
+		<method name="isScreenBright()Z" />
+		<method name="onDreamingStarted()V" />
+		<method name="onDreamingStopped()V" />
+		<method name="onWakeUp()V" since="21" />
+		<method name="requireViewById(I)Landroid/view/View;" since="28" />
+		<method name="setContentView(I)V" />
+		<method name="setContentView(Landroid/view/View;)V" />
+		<method name="setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="setFullscreen(Z)V" />
+		<method name="setInteractive(Z)V" />
+		<method name="setScreenBright(Z)V" />
+		<method name="wakeUp()V" since="21" />
+		<field name="DREAM_META_DATA" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/service/media/CameraPrewarmService" since="23">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCooldown(Z)V" />
+		<method name="onPrewarm()V" />
+	</class>
+	<class name="android/service/media/MediaBrowserService" since="21">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getBrowserRootHints()Landroid/os/Bundle;" since="24" />
+		<method name="getCurrentBrowserInfo()Landroid/media/session/MediaSessionManager$RemoteUserInfo;" since="28" />
+		<method name="getSessionToken()Landroid/media/session/MediaSession$Token;" />
+		<method name="notifyChildrenChanged(Ljava/lang/String;)V" />
+		<method name="notifyChildrenChanged(Ljava/lang/String;Landroid/os/Bundle;)V" since="24" />
+		<method name="onGetRoot(Ljava/lang/String;ILandroid/os/Bundle;)Landroid/service/media/MediaBrowserService$BrowserRoot;" />
+		<method name="onLoadChildren(Ljava/lang/String;Landroid/service/media/MediaBrowserService$Result;)V" />
+		<method name="onLoadChildren(Ljava/lang/String;Landroid/service/media/MediaBrowserService$Result;Landroid/os/Bundle;)V" since="24" />
+		<method name="onLoadItem(Ljava/lang/String;Landroid/service/media/MediaBrowserService$Result;)V" since="23" />
+		<method name="setSessionToken(Landroid/media/session/MediaSession$Token;)V" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/service/media/MediaBrowserService$BrowserRoot" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getRootId()Ljava/lang/String;" />
+		<field name="EXTRA_OFFLINE" since="24" />
+		<field name="EXTRA_RECENT" since="24" />
+		<field name="EXTRA_SUGGESTED" since="24" />
+	</class>
+	<class name="android/service/media/MediaBrowserService$Result" since="21">
+		<extends name="java/lang/Object" />
+		<method name="detach()V" />
+		<method name="sendResult(Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/service/notification/Condition" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="copy()Landroid/service/notification/Condition;" />
+		<method name="isValidId(Landroid/net/Uri;Ljava/lang/String;)Z" />
+		<method name="newId(Landroid/content/Context;)Landroid/net/Uri$Builder;" />
+		<method name="relevanceToString(I)Ljava/lang/String;" />
+		<method name="stateToString(I)Ljava/lang/String;" />
+		<field name="CREATOR" />
+		<field name="FLAG_RELEVANT_ALWAYS" />
+		<field name="FLAG_RELEVANT_NOW" />
+		<field name="SCHEME" />
+		<field name="STATE_ERROR" />
+		<field name="STATE_FALSE" />
+		<field name="STATE_TRUE" />
+		<field name="STATE_UNKNOWN" />
+		<field name="flags" />
+		<field name="icon" />
+		<field name="id" />
+		<field name="line1" />
+		<field name="line2" />
+		<field name="state" />
+		<field name="summary" />
+	</class>
+	<class name="android/service/notification/ConditionProviderService" since="24" deprecated="29">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="notifyCondition(Landroid/service/notification/Condition;)V" deprecated="29" />
+		<method name="notifyConditions([Landroid/service/notification/Condition;)V" deprecated="29" />
+		<method name="onConnected()V" deprecated="29" />
+		<method name="onRequestConditions(I)V" deprecated="29" />
+		<method name="onSubscribe(Landroid/net/Uri;)V" deprecated="29" />
+		<method name="onUnsubscribe(Landroid/net/Uri;)V" deprecated="29" />
+		<method name="requestRebind(Landroid/content/ComponentName;)V" since="26" deprecated="29" />
+		<method name="requestUnbind()V" since="26" deprecated="29" />
+		<field name="EXTRA_RULE_ID" deprecated="29" />
+		<field name="META_DATA_CONFIGURATION_ACTIVITY" deprecated="29" />
+		<field name="META_DATA_RULE_INSTANCE_LIMIT" deprecated="29" />
+		<field name="META_DATA_RULE_TYPE" deprecated="29" />
+		<field name="SERVICE_INTERFACE" deprecated="29" />
+	</class>
+	<class name="android/service/notification/NotificationListenerService" since="18">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="cancelAllNotifications()V" />
+		<method name="cancelNotification(Ljava/lang/String;)V" since="21" />
+		<method name="cancelNotification(Ljava/lang/String;Ljava/lang/String;I)V" deprecated="21" />
+		<method name="cancelNotifications([Ljava/lang/String;)V" since="21" />
+		<method name="clearRequestedListenerHints()V" since="29" />
+		<method name="getActiveNotifications()[Landroid/service/notification/StatusBarNotification;" />
+		<method name="getActiveNotifications([Ljava/lang/String;)[Landroid/service/notification/StatusBarNotification;" since="21" />
+		<method name="getCurrentInterruptionFilter()I" since="21" />
+		<method name="getCurrentListenerHints()I" since="21" />
+		<method name="getCurrentRanking()Landroid/service/notification/NotificationListenerService$RankingMap;" since="21" />
+		<method name="getNotificationChannelGroups(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;" since="26" />
+		<method name="getNotificationChannels(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;" since="26" />
+		<method name="getSnoozedNotifications()[Landroid/service/notification/StatusBarNotification;" since="26" />
+		<method name="migrateNotificationFilter(ILjava/util/List;)V" since="31" />
+		<method name="onInterruptionFilterChanged(I)V" since="21" />
+		<method name="onListenerConnected()V" since="21" />
+		<method name="onListenerDisconnected()V" since="24" />
+		<method name="onListenerHintsChanged(I)V" since="21" />
+		<method name="onNotificationChannelGroupModified(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V" since="26" />
+		<method name="onNotificationChannelModified(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V" since="26" />
+		<method name="onNotificationPosted(Landroid/service/notification/StatusBarNotification;)V" />
+		<method name="onNotificationPosted(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V" since="21" />
+		<method name="onNotificationRankingUpdate(Landroid/service/notification/NotificationListenerService$RankingMap;)V" since="21" />
+		<method name="onNotificationRemoved(Landroid/service/notification/StatusBarNotification;)V" />
+		<method name="onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V" since="21" />
+		<method name="onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;I)V" since="26" />
+		<method name="onSilentStatusBarIconsVisibilityChanged(Z)V" since="29" />
+		<method name="requestInterruptionFilter(I)V" since="21" />
+		<method name="requestListenerHints(I)V" since="21" />
+		<method name="requestRebind(Landroid/content/ComponentName;)V" since="24" />
+		<method name="requestUnbind()V" since="24" />
+		<method name="setNotificationsShown([Ljava/lang/String;)V" since="23" />
+		<method name="snoozeNotification(Ljava/lang/String;J)V" since="26" />
+		<method name="updateNotificationChannel(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;)V" since="26" />
+		<field name="FLAG_FILTER_TYPE_ALERTING" since="31" />
+		<field name="FLAG_FILTER_TYPE_CONVERSATIONS" since="31" />
+		<field name="FLAG_FILTER_TYPE_ONGOING" since="31" />
+		<field name="FLAG_FILTER_TYPE_SILENT" since="31" />
+		<field name="HINT_HOST_DISABLE_CALL_EFFECTS" since="24" />
+		<field name="HINT_HOST_DISABLE_EFFECTS" since="21" />
+		<field name="HINT_HOST_DISABLE_NOTIFICATION_EFFECTS" since="24" />
+		<field name="INTERRUPTION_FILTER_ALARMS" since="23" />
+		<field name="INTERRUPTION_FILTER_ALL" since="21" />
+		<field name="INTERRUPTION_FILTER_NONE" since="21" />
+		<field name="INTERRUPTION_FILTER_PRIORITY" since="21" />
+		<field name="INTERRUPTION_FILTER_UNKNOWN" since="23" />
+		<field name="META_DATA_DEFAULT_FILTER_TYPES" since="31" />
+		<field name="META_DATA_DISABLED_FILTER_TYPES" since="31" />
+		<field name="NOTIFICATION_CHANNEL_OR_GROUP_ADDED" since="26" />
+		<field name="NOTIFICATION_CHANNEL_OR_GROUP_DELETED" since="26" />
+		<field name="NOTIFICATION_CHANNEL_OR_GROUP_UPDATED" since="26" />
+		<field name="REASON_APP_CANCEL" since="26" />
+		<field name="REASON_APP_CANCEL_ALL" since="26" />
+		<field name="REASON_CANCEL" since="26" />
+		<field name="REASON_CANCEL_ALL" since="26" />
+		<field name="REASON_CHANNEL_BANNED" since="26" />
+		<field name="REASON_CHANNEL_REMOVED" since="31" />
+		<field name="REASON_CLEAR_DATA" since="31" />
+		<field name="REASON_CLICK" since="26" />
+		<field name="REASON_ERROR" since="26" />
+		<field name="REASON_GROUP_OPTIMIZATION" since="26" />
+		<field name="REASON_GROUP_SUMMARY_CANCELED" since="26" />
+		<field name="REASON_LISTENER_CANCEL" since="26" />
+		<field name="REASON_LISTENER_CANCEL_ALL" since="26" />
+		<field name="REASON_PACKAGE_BANNED" since="26" />
+		<field name="REASON_PACKAGE_CHANGED" since="26" />
+		<field name="REASON_PACKAGE_SUSPENDED" since="26" />
+		<field name="REASON_PROFILE_TURNED_OFF" since="26" />
+		<field name="REASON_SNOOZED" since="26" />
+		<field name="REASON_TIMEOUT" since="26" />
+		<field name="REASON_UNAUTOBUNDLED" since="26" />
+		<field name="REASON_USER_STOPPED" since="26" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SUPPRESSED_EFFECT_SCREEN_OFF" since="24" deprecated="28" />
+		<field name="SUPPRESSED_EFFECT_SCREEN_ON" since="24" deprecated="28" />
+	</class>
+	<class name="android/service/notification/NotificationListenerService$Ranking" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="canBubble()Z" since="29" />
+		<method name="canShowBadge()Z" since="26" />
+		<method name="getChannel()Landroid/app/NotificationChannel;" since="26" />
+		<method name="getConversationShortcutInfo()Landroid/content/pm/ShortcutInfo;" since="31" />
+		<method name="getImportance()I" since="24" />
+		<method name="getImportanceExplanation()Ljava/lang/CharSequence;" since="24" />
+		<method name="getKey()Ljava/lang/String;" />
+		<method name="getLastAudiblyAlertedMillis()J" since="29" />
+		<method name="getLockscreenVisibilityOverride()I" since="31" />
+		<method name="getOverrideGroupKey()Ljava/lang/String;" since="24" />
+		<method name="getRank()I" />
+		<method name="getSmartActions()Ljava/util/List;" since="29" />
+		<method name="getSmartReplies()Ljava/util/List;" since="29" />
+		<method name="getSuppressedVisualEffects()I" since="24" />
+		<method name="getUserSentiment()I" since="28" />
+		<method name="isAmbient()Z" />
+		<method name="isConversation()Z" since="31" />
+		<method name="isSuspended()Z" since="28" />
+		<method name="matchesInterruptionFilter()Z" />
+		<field name="USER_SENTIMENT_NEGATIVE" since="28" />
+		<field name="USER_SENTIMENT_NEUTRAL" since="28" />
+		<field name="USER_SENTIMENT_POSITIVE" since="28" />
+		<field name="VISIBILITY_NO_OVERRIDE" since="31" />
+	</class>
+	<class name="android/service/notification/NotificationListenerService$RankingMap" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getOrderedKeys()[Ljava/lang/String;" />
+		<method name="getRanking(Ljava/lang/String;Landroid/service/notification/NotificationListenerService$Ranking;)Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/notification/StatusBarNotification" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IIILandroid/app/Notification;Landroid/os/UserHandle;J)V" deprecated="26" />
+		<method name="clone()Landroid/service/notification/StatusBarNotification;" />
+		<method name="getGroupKey()Ljava/lang/String;" since="21" />
+		<method name="getId()I" />
+		<method name="getKey()Ljava/lang/String;" since="20" />
+		<method name="getNotification()Landroid/app/Notification;" />
+		<method name="getOpPkg()Ljava/lang/String;" since="29" />
+		<method name="getOverrideGroupKey()Ljava/lang/String;" since="24" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getPostTime()J" />
+		<method name="getTag()Ljava/lang/String;" />
+		<method name="getUid()I" since="29" />
+		<method name="getUser()Landroid/os/UserHandle;" since="21" />
+		<method name="getUserId()I" deprecated="21" />
+		<method name="isAppGroup()Z" since="30" />
+		<method name="isClearable()Z" />
+		<method name="isGroup()Z" since="24" />
+		<method name="isOngoing()Z" />
+		<method name="setOverrideGroupKey(Ljava/lang/String;)V" since="24" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/notification/ZenPolicy" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getPriorityCallSenders()I" />
+		<method name="getPriorityCategoryAlarms()I" />
+		<method name="getPriorityCategoryCalls()I" />
+		<method name="getPriorityCategoryConversations()I" since="30" />
+		<method name="getPriorityCategoryEvents()I" />
+		<method name="getPriorityCategoryMedia()I" />
+		<method name="getPriorityCategoryMessages()I" />
+		<method name="getPriorityCategoryReminders()I" />
+		<method name="getPriorityCategoryRepeatCallers()I" />
+		<method name="getPriorityCategorySystem()I" />
+		<method name="getPriorityConversationSenders()I" since="30" />
+		<method name="getPriorityMessageSenders()I" />
+		<method name="getVisualEffectAmbient()I" />
+		<method name="getVisualEffectBadge()I" />
+		<method name="getVisualEffectFullScreenIntent()I" />
+		<method name="getVisualEffectLights()I" />
+		<method name="getVisualEffectNotificationList()I" />
+		<method name="getVisualEffectPeek()I" />
+		<method name="getVisualEffectStatusBar()I" />
+		<field name="CONVERSATION_SENDERS_ANYONE" since="30" />
+		<field name="CONVERSATION_SENDERS_IMPORTANT" since="30" />
+		<field name="CONVERSATION_SENDERS_NONE" since="30" />
+		<field name="CONVERSATION_SENDERS_UNSET" since="30" />
+		<field name="CREATOR" />
+		<field name="PEOPLE_TYPE_ANYONE" />
+		<field name="PEOPLE_TYPE_CONTACTS" />
+		<field name="PEOPLE_TYPE_NONE" />
+		<field name="PEOPLE_TYPE_STARRED" />
+		<field name="PEOPLE_TYPE_UNSET" />
+		<field name="STATE_ALLOW" />
+		<field name="STATE_DISALLOW" />
+		<field name="STATE_UNSET" />
+	</class>
+	<class name="android/service/notification/ZenPolicy$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="allowAlarms(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="allowAllSounds()Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="allowCalls(I)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="allowConversations(I)Landroid/service/notification/ZenPolicy$Builder;" since="30" />
+		<method name="allowEvents(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="allowMedia(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="allowMessages(I)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="allowReminders(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="allowRepeatCallers(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="allowSystem(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="build()Landroid/service/notification/ZenPolicy;" />
+		<method name="disallowAllSounds()Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="hideAllVisualEffects()Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="showAllVisualEffects()Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="showBadges(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="showFullScreenIntent(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="showInAmbientDisplay(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="showInNotificationList(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="showLights(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="showPeeking(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+		<method name="showStatusBarIcons(Z)Landroid/service/notification/ZenPolicy$Builder;" />
+	</class>
+	<class name="android/service/quickaccesswallet/GetWalletCardsCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onFailure(Landroid/service/quickaccesswallet/GetWalletCardsError;)V" />
+		<method name="onSuccess(Landroid/service/quickaccesswallet/GetWalletCardsResponse;)V" />
+	</class>
+	<class name="android/service/quickaccesswallet/GetWalletCardsError" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;)V" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getMessage()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/quickaccesswallet/GetWalletCardsRequest" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(IIII)V" />
+		<method name="getCardHeightPx()I" />
+		<method name="getCardWidthPx()I" />
+		<method name="getIconSizePx()I" />
+		<method name="getMaxCards()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/quickaccesswallet/GetWalletCardsResponse" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/util/List;I)V" />
+		<method name="getSelectedIndex()I" />
+		<method name="getWalletCards()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/quickaccesswallet/QuickAccessWalletService" since="30">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onWalletCardSelected(Landroid/service/quickaccesswallet/SelectWalletCardRequest;)V" />
+		<method name="onWalletCardsRequested(Landroid/service/quickaccesswallet/GetWalletCardsRequest;Landroid/service/quickaccesswallet/GetWalletCardsCallback;)V" />
+		<method name="onWalletDismissed()V" />
+		<method name="sendWalletServiceEvent(Landroid/service/quickaccesswallet/WalletServiceEvent;)V" />
+		<field name="ACTION_VIEW_WALLET" />
+		<field name="ACTION_VIEW_WALLET_SETTINGS" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/service/quickaccesswallet/SelectWalletCardRequest" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getCardId()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/quickaccesswallet/WalletCard" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCardIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getCardId()Ljava/lang/String;" />
+		<method name="getCardImage()Landroid/graphics/drawable/Icon;" />
+		<method name="getCardLabel()Ljava/lang/CharSequence;" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" />
+		<method name="getPendingIntent()Landroid/app/PendingIntent;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/quickaccesswallet/WalletCard$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V" />
+		<method name="build()Landroid/service/quickaccesswallet/WalletCard;" />
+		<method name="setCardIcon(Landroid/graphics/drawable/Icon;)Landroid/service/quickaccesswallet/WalletCard$Builder;" />
+		<method name="setCardLabel(Ljava/lang/CharSequence;)Landroid/service/quickaccesswallet/WalletCard$Builder;" />
+	</class>
+	<class name="android/service/quickaccesswallet/WalletServiceEvent" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getEventType()I" />
+		<field name="CREATOR" />
+		<field name="TYPE_NFC_PAYMENT_STARTED" />
+	</class>
+	<class name="android/service/quicksettings/Tile" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<method name="getState()I" />
+		<method name="getStateDescription()Ljava/lang/CharSequence;" since="30" />
+		<method name="getSubtitle()Ljava/lang/CharSequence;" since="29" />
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V" />
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)V" />
+		<method name="setLabel(Ljava/lang/CharSequence;)V" />
+		<method name="setState(I)V" />
+		<method name="setStateDescription(Ljava/lang/CharSequence;)V" since="30" />
+		<method name="setSubtitle(Ljava/lang/CharSequence;)V" since="29" />
+		<method name="updateTile()V" />
+		<field name="CREATOR" />
+		<field name="STATE_ACTIVE" />
+		<field name="STATE_INACTIVE" />
+		<field name="STATE_UNAVAILABLE" />
+	</class>
+	<class name="android/service/quicksettings/TileService" since="24">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getQsTile()Landroid/service/quicksettings/Tile;" />
+		<method name="isLocked()Z" />
+		<method name="isSecure()Z" />
+		<method name="onClick()V" />
+		<method name="onStartListening()V" />
+		<method name="onStopListening()V" />
+		<method name="onTileAdded()V" />
+		<method name="onTileRemoved()V" />
+		<method name="requestListeningState(Landroid/content/Context;Landroid/content/ComponentName;)V" />
+		<method name="showDialog(Landroid/app/Dialog;)V" />
+		<method name="startActivityAndCollapse(Landroid/content/Intent;)V" />
+		<method name="unlockAndRun(Ljava/lang/Runnable;)V" />
+		<field name="ACTION_QS_TILE" />
+		<field name="ACTION_QS_TILE_PREFERENCES" />
+		<field name="META_DATA_ACTIVE_TILE" />
+		<field name="META_DATA_TOGGLEABLE_TILE" since="30" />
+	</class>
+	<class name="android/service/restrictions/RestrictionsReceiver" since="21">
+		<extends name="android/content/BroadcastReceiver" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onRequestPermission(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)V" />
+	</class>
+	<class name="android/service/textservice/SpellCheckerService" since="14">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createSession()Landroid/service/textservice/SpellCheckerService$Session;" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/service/textservice/SpellCheckerService$Session" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getBundle()Landroid/os/Bundle;" />
+		<method name="getLocale()Ljava/lang/String;" />
+		<method name="getSupportedAttributes()I" since="31" />
+		<method name="onCancel()V" />
+		<method name="onClose()V" since="15" />
+		<method name="onCreate()V" />
+		<method name="onGetSentenceSuggestionsMultiple([Landroid/view/textservice/TextInfo;I)[Landroid/view/textservice/SentenceSuggestionsInfo;" since="16" />
+		<method name="onGetSuggestions(Landroid/view/textservice/TextInfo;I)Landroid/view/textservice/SuggestionsInfo;" />
+		<method name="onGetSuggestionsMultiple([Landroid/view/textservice/TextInfo;IZ)[Landroid/view/textservice/SuggestionsInfo;" />
+	</class>
+	<class name="android/service/voice/AlwaysOnHotwordDetector" since="21" removed="31">
+		<extends name="java/lang/Object" />
+		<method name="createEnrollIntent()Landroid/content/Intent;" />
+		<method name="createReEnrollIntent()Landroid/content/Intent;" />
+		<method name="createUnEnrollIntent()Landroid/content/Intent;" />
+		<method name="getParameter(I)I" since="30" />
+		<method name="getSupportedAudioCapabilities()I" since="30" />
+		<method name="getSupportedRecognitionModes()I" />
+		<method name="queryParameter(I)Landroid/service/voice/AlwaysOnHotwordDetector$ModelParamRange;" since="30" />
+		<method name="setParameter(II)I" since="30" />
+		<method name="startRecognition(I)Z" />
+		<method name="stopRecognition()Z" />
+		<field name="AUDIO_CAPABILITY_ECHO_CANCELLATION" since="30" />
+		<field name="AUDIO_CAPABILITY_NOISE_SUPPRESSION" since="30" />
+		<field name="MODEL_PARAM_THRESHOLD_FACTOR" since="30" />
+		<field name="RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS" />
+		<field name="RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO" />
+		<field name="RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION" since="30" />
+		<field name="RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION" since="30" />
+		<field name="RECOGNITION_MODE_USER_IDENTIFICATION" />
+		<field name="RECOGNITION_MODE_VOICE_TRIGGER" />
+		<field name="STATE_HARDWARE_UNAVAILABLE" />
+		<field name="STATE_KEYPHRASE_ENROLLED" />
+		<field name="STATE_KEYPHRASE_UNENROLLED" />
+		<field name="STATE_KEYPHRASE_UNSUPPORTED" deprecated="30" />
+	</class>
+	<class name="android/service/voice/AlwaysOnHotwordDetector$Callback" since="21" removed="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAvailabilityChanged(I)V" />
+		<method name="onDetected(Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;)V" />
+		<method name="onError()V" />
+		<method name="onRecognitionPaused()V" />
+		<method name="onRecognitionResumed()V" />
+	</class>
+	<class name="android/service/voice/AlwaysOnHotwordDetector$EventPayload" since="21" removed="31">
+		<extends name="java/lang/Object" />
+		<method name="getCaptureAudioFormat()Landroid/media/AudioFormat;" />
+		<method name="getTriggerAudio()[B" />
+	</class>
+	<class name="android/service/voice/AlwaysOnHotwordDetector$ModelParamRange" since="30" removed="31">
+		<extends name="java/lang/Object" />
+		<method name="getEnd()I" />
+		<method name="getStart()I" />
+	</class>
+	<class name="android/service/voice/VisibleActivityInfo" since="33">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getActivityId()Landroid/service/voice/VoiceInteractionSession$ActivityId;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionService" since="21">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createAlwaysOnHotwordDetector(Ljava/lang/String;Ljava/util/Locale;Landroid/service/voice/AlwaysOnHotwordDetector$Callback;)Landroid/service/voice/AlwaysOnHotwordDetector;" removed="31" />
+		<method name="getDisabledShowContext()I" since="23" />
+		<method name="isActiveService(Landroid/content/Context;Landroid/content/ComponentName;)Z" />
+		<method name="onGetSupportedVoiceActions(Ljava/util/Set;)Ljava/util/Set;" since="29" />
+		<method name="onLaunchVoiceAssistFromKeyguard()V" since="23" />
+		<method name="onReady()V" />
+		<method name="onShutdown()V" />
+		<method name="setDisabledShowContext(I)V" since="23" />
+		<method name="setUiHints(Landroid/os/Bundle;)V" since="29" />
+		<method name="showSession(Landroid/os/Bundle;I)V" since="23" />
+		<method name="startSession(Landroid/os/Bundle;)V" removed="23" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/content/ComponentCallbacks2" since="23" />
+		<implements name="android/view/KeyEvent$Callback" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/os/Handler;)V" />
+		<method name="closeSystemDialogs()V" since="23" />
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" since="23" />
+		<method name="finish()V" />
+		<method name="getContext()Landroid/content/Context;" since="23" />
+		<method name="getDisabledShowContext()I" since="23" />
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;" since="23" />
+		<method name="getUserDisabledShowContext()I" since="23" />
+		<method name="getWindow()Landroid/app/Dialog;" since="23" />
+		<method name="hide()V" since="23" />
+		<method name="onAssistStructureFailure(Ljava/lang/Throwable;)V" since="23" />
+		<method name="onBackPressed()V" since="23" />
+		<method name="onCancelRequest(Landroid/service/voice/VoiceInteractionSession$Request;)V" since="23" />
+		<method name="onCloseSystemDialogs()V" />
+		<method name="onComputeInsets(Landroid/service/voice/VoiceInteractionSession$Insets;)V" since="23" />
+		<method name="onCreate()V" since="23" />
+		<method name="onCreate(Landroid/os/Bundle;)V" removed="23" />
+		<method name="onCreateContentView()Landroid/view/View;" since="23" />
+		<method name="onDestroy()V" />
+		<method name="onDirectActionsInvalidated(Landroid/service/voice/VoiceInteractionSession$ActivityId;)V" since="29" />
+		<method name="onGetSupportedCommands([Ljava/lang/String;)[Z" since="23" />
+		<method name="onHandleAssist(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;)V" since="23" deprecated="29" />
+		<method name="onHandleAssist(Landroid/service/voice/VoiceInteractionSession$AssistState;)V" since="29" />
+		<method name="onHandleAssistSecondary(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;II)V" since="24" deprecated="29" />
+		<method name="onHandleScreenshot(Landroid/graphics/Bitmap;)V" since="23" />
+		<method name="onHide()V" since="23" />
+		<method name="onLockscreenShown()V" since="23" />
+		<method name="onPrepareShow(Landroid/os/Bundle;I)V" since="26" />
+		<method name="onRequestAbortVoice(Landroid/service/voice/VoiceInteractionSession$AbortVoiceRequest;)V" since="23" />
+		<method name="onRequestCommand(Landroid/service/voice/VoiceInteractionSession$CommandRequest;)V" since="23" />
+		<method name="onRequestCompleteVoice(Landroid/service/voice/VoiceInteractionSession$CompleteVoiceRequest;)V" since="23" />
+		<method name="onRequestConfirmation(Landroid/service/voice/VoiceInteractionSession$ConfirmationRequest;)V" since="23" />
+		<method name="onRequestPickOption(Landroid/service/voice/VoiceInteractionSession$PickOptionRequest;)V" since="23" />
+		<method name="onShow(Landroid/os/Bundle;I)V" since="23" />
+		<method name="onTaskFinished(Landroid/content/Intent;I)V" since="23" />
+		<method name="onTaskStarted(Landroid/content/Intent;I)V" since="23" />
+		<method name="performDirectAction(Landroid/app/DirectAction;Landroid/os/Bundle;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="29" />
+		<method name="registerVisibleActivityCallback(Ljava/util/concurrent/Executor;Landroid/service/voice/VoiceInteractionSession$VisibleActivityCallback;)V" since="33" />
+		<method name="requestDirectActions(Landroid/service/voice/VoiceInteractionSession$ActivityId;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="29" />
+		<method name="setContentView(Landroid/view/View;)V" />
+		<method name="setDisabledShowContext(I)V" since="23" />
+		<method name="setKeepAwake(Z)V" since="23" />
+		<method name="setTheme(I)V" since="23" />
+		<method name="setUiEnabled(Z)V" since="26" />
+		<method name="show(Landroid/os/Bundle;I)V" since="23" />
+		<method name="startAssistantActivity(Landroid/content/Intent;)V" since="26" />
+		<method name="startVoiceActivity(Landroid/content/Intent;)V" since="23" />
+		<method name="unregisterVisibleActivityCallback(Landroid/service/voice/VoiceInteractionSession$VisibleActivityCallback;)V" since="33" />
+		<field name="SHOW_SOURCE_ACTIVITY" since="24" />
+		<field name="SHOW_SOURCE_APPLICATION" since="23" />
+		<field name="SHOW_SOURCE_ASSIST_GESTURE" since="23" />
+		<field name="SHOW_SOURCE_AUTOMOTIVE_SYSTEM_UI" since="29" />
+		<field name="SHOW_SOURCE_NOTIFICATION" since="29" />
+		<field name="SHOW_SOURCE_PUSH_TO_TALK" since="29" />
+		<field name="SHOW_WITH_ASSIST" since="23" />
+		<field name="SHOW_WITH_SCREENSHOT" since="23" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$AbortVoiceRequest" since="23">
+		<extends name="android/service/voice/VoiceInteractionSession$Request" />
+		<method name="getMessage()Ljava/lang/CharSequence;" deprecated="23" />
+		<method name="getVoicePrompt()Landroid/app/VoiceInteractor$Prompt;" />
+		<method name="sendAbortResult(Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$ActivityId" since="29">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$AssistState" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getActivityId()Landroid/service/voice/VoiceInteractionSession$ActivityId;" />
+		<method name="getAssistContent()Landroid/app/assist/AssistContent;" />
+		<method name="getAssistData()Landroid/os/Bundle;" />
+		<method name="getAssistStructure()Landroid/app/assist/AssistStructure;" />
+		<method name="getCount()I" />
+		<method name="getIndex()I" />
+		<method name="isFocused()Z" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$CommandRequest" since="23">
+		<extends name="android/service/voice/VoiceInteractionSession$Request" />
+		<method name="getCommand()Ljava/lang/String;" />
+		<method name="sendIntermediateResult(Landroid/os/Bundle;)V" />
+		<method name="sendResult(Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$CompleteVoiceRequest" since="23">
+		<extends name="android/service/voice/VoiceInteractionSession$Request" />
+		<method name="getMessage()Ljava/lang/CharSequence;" deprecated="23" />
+		<method name="getVoicePrompt()Landroid/app/VoiceInteractor$Prompt;" />
+		<method name="sendCompleteResult(Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$ConfirmationRequest" since="23">
+		<extends name="android/service/voice/VoiceInteractionSession$Request" />
+		<method name="getPrompt()Ljava/lang/CharSequence;" deprecated="23" />
+		<method name="getVoicePrompt()Landroid/app/VoiceInteractor$Prompt;" />
+		<method name="sendConfirmationResult(ZLandroid/os/Bundle;)V" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$Insets" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="TOUCHABLE_INSETS_CONTENT" />
+		<field name="TOUCHABLE_INSETS_FRAME" />
+		<field name="TOUCHABLE_INSETS_REGION" />
+		<field name="contentInsets" />
+		<field name="touchableInsets" />
+		<field name="touchableRegion" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$PickOptionRequest" since="23">
+		<extends name="android/service/voice/VoiceInteractionSession$Request" />
+		<method name="getOptions()[Landroid/app/VoiceInteractor$PickOptionRequest$Option;" />
+		<method name="getPrompt()Ljava/lang/CharSequence;" deprecated="23" />
+		<method name="getVoicePrompt()Landroid/app/VoiceInteractor$Prompt;" />
+		<method name="sendIntermediatePickOptionResult([Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V" />
+		<method name="sendPickOptionResult([Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$Request" since="23">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" />
+		<method name="getCallingPackage()Ljava/lang/String;" />
+		<method name="getCallingUid()I" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="isActive()Z" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$VisibleActivityCallback" since="33">
+		<method name="onInvisible(Landroid/service/voice/VoiceInteractionSession$ActivityId;)V" />
+		<method name="onVisible(Landroid/service/voice/VisibleActivityInfo;)V" />
+	</class>
+	<class name="android/service/voice/VoiceInteractionSessionService" since="21">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onNewSession(Landroid/os/Bundle;)Landroid/service/voice/VoiceInteractionSession;" />
+	</class>
+	<class name="android/service/vr/VrListenerService" since="24">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="isVrModePackageEnabled(Landroid/content/Context;Landroid/content/ComponentName;)Z" />
+		<method name="onCurrentVrActivityChanged(Landroid/content/ComponentName;)V" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/service/wallpaper/WallpaperService" since="7">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCreateEngine()Landroid/service/wallpaper/WallpaperService$Engine;" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/service/wallpaper/WallpaperService$Engine" since="7">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/service/wallpaper/WallpaperService;)V" />
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" since="14" />
+		<method name="getDesiredMinimumHeight()I" />
+		<method name="getDesiredMinimumWidth()I" />
+		<method name="getDisplayContext()Landroid/content/Context;" since="29" />
+		<method name="getSurfaceHolder()Landroid/view/SurfaceHolder;" />
+		<method name="isPreview()Z" />
+		<method name="isVisible()Z" />
+		<method name="notifyColorsChanged()V" since="27" />
+		<method name="onApplyWindowInsets(Landroid/view/WindowInsets;)V" since="21" />
+		<method name="onCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;" />
+		<method name="onComputeColors()Landroid/app/WallpaperColors;" since="27" />
+		<method name="onCreate(Landroid/view/SurfaceHolder;)V" />
+		<method name="onDesiredSizeChanged(II)V" />
+		<method name="onDestroy()V" />
+		<method name="onOffsetsChanged(FFFFII)V" />
+		<method name="onSurfaceChanged(Landroid/view/SurfaceHolder;III)V" />
+		<method name="onSurfaceCreated(Landroid/view/SurfaceHolder;)V" />
+		<method name="onSurfaceDestroyed(Landroid/view/SurfaceHolder;)V" />
+		<method name="onSurfaceRedrawNeeded(Landroid/view/SurfaceHolder;)V" since="9" />
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)V" />
+		<method name="onVisibilityChanged(Z)V" />
+		<method name="onZoomChanged(F)V" since="30" />
+		<method name="setOffsetNotificationsEnabled(Z)V" since="15" />
+		<method name="setTouchEventsEnabled(Z)V" />
+	</class>
+	<class name="android/speech/RecognitionListener" since="8">
+		<extends name="java/lang/Object" />
+		<method name="onBeginningOfSpeech()V" />
+		<method name="onBufferReceived([B)V" />
+		<method name="onEndOfSpeech()V" />
+		<method name="onError(I)V" />
+		<method name="onEvent(ILandroid/os/Bundle;)V" />
+		<method name="onPartialResults(Landroid/os/Bundle;)V" />
+		<method name="onReadyForSpeech(Landroid/os/Bundle;)V" />
+		<method name="onResults(Landroid/os/Bundle;)V" />
+		<method name="onRmsChanged(F)V" />
+	</class>
+	<class name="android/speech/RecognitionService" since="8">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCancel(Landroid/speech/RecognitionService$Callback;)V" />
+		<method name="onStartListening(Landroid/content/Intent;Landroid/speech/RecognitionService$Callback;)V" />
+		<method name="onStopListening(Landroid/speech/RecognitionService$Callback;)V" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/speech/RecognitionService$Callback" since="8">
+		<extends name="java/lang/Object" />
+		<method name="beginningOfSpeech()V" />
+		<method name="bufferReceived([B)V" />
+		<method name="endOfSpeech()V" />
+		<method name="error(I)V" />
+		<method name="getCallingAttributionSource()Landroid/content/AttributionSource;" since="31" />
+		<method name="getCallingUid()I" since="23" />
+		<method name="partialResults(Landroid/os/Bundle;)V" />
+		<method name="readyForSpeech(Landroid/os/Bundle;)V" />
+		<method name="results(Landroid/os/Bundle;)V" />
+		<method name="rmsChanged(F)V" />
+	</class>
+	<class name="android/speech/RecognizerIntent" since="3">
+		<extends name="java/lang/Object" />
+		<method name="getVoiceDetailsIntent(Landroid/content/Context;)Landroid/content/Intent;" since="8" />
+		<field name="ACTION_GET_LANGUAGE_DETAILS" since="8" />
+		<field name="ACTION_RECOGNIZE_SPEECH" />
+		<field name="ACTION_VOICE_SEARCH_HANDS_FREE" since="16" />
+		<field name="ACTION_WEB_SEARCH" />
+		<field name="DETAILS_META_DATA" since="8" />
+		<field name="EXTRA_AUDIO_INJECT_SOURCE" since="31" />
+		<field name="EXTRA_CALLING_PACKAGE" since="8" />
+		<field name="EXTRA_CONFIDENCE_SCORES" since="14" />
+		<field name="EXTRA_LANGUAGE" />
+		<field name="EXTRA_LANGUAGE_MODEL" />
+		<field name="EXTRA_LANGUAGE_PREFERENCE" since="8" />
+		<field name="EXTRA_MAX_RESULTS" />
+		<field name="EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE" since="8" />
+		<field name="EXTRA_ORIGIN" since="14" />
+		<field name="EXTRA_PARTIAL_RESULTS" since="8" />
+		<field name="EXTRA_PREFER_OFFLINE" since="23" />
+		<field name="EXTRA_PROMPT" />
+		<field name="EXTRA_RESULTS" />
+		<field name="EXTRA_RESULTS_PENDINGINTENT" />
+		<field name="EXTRA_RESULTS_PENDINGINTENT_BUNDLE" />
+		<field name="EXTRA_SECURE" since="16" />
+		<field name="EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS" since="8" />
+		<field name="EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS" since="8" />
+		<field name="EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS" since="8" />
+		<field name="EXTRA_SUPPORTED_LANGUAGES" since="8" />
+		<field name="EXTRA_WEB_SEARCH_ONLY" since="11" />
+		<field name="LANGUAGE_MODEL_FREE_FORM" />
+		<field name="LANGUAGE_MODEL_WEB_SEARCH" />
+		<field name="RESULT_AUDIO_ERROR" />
+		<field name="RESULT_CLIENT_ERROR" />
+		<field name="RESULT_NETWORK_ERROR" />
+		<field name="RESULT_NO_MATCH" />
+		<field name="RESULT_SERVER_ERROR" />
+	</class>
+	<class name="android/speech/RecognizerResultsIntent" since="10">
+		<extends name="java/lang/Object" />
+		<field name="ACTION_VOICE_SEARCH_RESULTS" />
+		<field name="EXTRA_VOICE_SEARCH_RESULT_HTML" />
+		<field name="EXTRA_VOICE_SEARCH_RESULT_HTML_BASE_URLS" />
+		<field name="EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS" />
+		<field name="EXTRA_VOICE_SEARCH_RESULT_STRINGS" />
+		<field name="EXTRA_VOICE_SEARCH_RESULT_URLS" />
+		<field name="URI_SCHEME_INLINE" />
+	</class>
+	<class name="android/speech/SpeechRecognizer" since="8">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" />
+		<method name="createOnDeviceSpeechRecognizer(Landroid/content/Context;)Landroid/speech/SpeechRecognizer;" since="31" />
+		<method name="createSpeechRecognizer(Landroid/content/Context;)Landroid/speech/SpeechRecognizer;" />
+		<method name="createSpeechRecognizer(Landroid/content/Context;Landroid/content/ComponentName;)Landroid/speech/SpeechRecognizer;" />
+		<method name="destroy()V" />
+		<method name="isOnDeviceRecognitionAvailable(Landroid/content/Context;)Z" since="31" />
+		<method name="isRecognitionAvailable(Landroid/content/Context;)Z" />
+		<method name="setRecognitionListener(Landroid/speech/RecognitionListener;)V" />
+		<method name="startListening(Landroid/content/Intent;)V" />
+		<method name="stopListening()V" />
+		<field name="CONFIDENCE_SCORES" since="14" />
+		<field name="ERROR_AUDIO" />
+		<field name="ERROR_CLIENT" />
+		<field name="ERROR_INSUFFICIENT_PERMISSIONS" />
+		<field name="ERROR_LANGUAGE_NOT_SUPPORTED" since="31" />
+		<field name="ERROR_LANGUAGE_UNAVAILABLE" since="31" />
+		<field name="ERROR_NETWORK" />
+		<field name="ERROR_NETWORK_TIMEOUT" />
+		<field name="ERROR_NO_MATCH" />
+		<field name="ERROR_RECOGNIZER_BUSY" />
+		<field name="ERROR_SERVER" />
+		<field name="ERROR_SERVER_DISCONNECTED" since="31" />
+		<field name="ERROR_SPEECH_TIMEOUT" />
+		<field name="ERROR_TOO_MANY_REQUESTS" since="31" />
+		<field name="RESULTS_RECOGNITION" />
+	</class>
+	<class name="android/speech/tts/SynthesisCallback" since="14">
+		<extends name="java/lang/Object" />
+		<method name="audioAvailable([BII)I" />
+		<method name="done()I" />
+		<method name="error()V" />
+		<method name="error(I)V" since="21" />
+		<method name="getMaxBufferSize()I" />
+		<method name="hasFinished()Z" since="21" />
+		<method name="hasStarted()Z" since="21" />
+		<method name="rangeStart(III)V" since="26" />
+		<method name="start(III)I" />
+	</class>
+	<class name="android/speech/tts/SynthesisRequest" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Landroid/os/Bundle;)V" since="21" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="getCallerUid()I" since="19" />
+		<method name="getCharSequenceText()Ljava/lang/CharSequence;" since="21" />
+		<method name="getCountry()Ljava/lang/String;" />
+		<method name="getLanguage()Ljava/lang/String;" />
+		<method name="getParams()Landroid/os/Bundle;" />
+		<method name="getPitch()I" />
+		<method name="getSpeechRate()I" />
+		<method name="getText()Ljava/lang/String;" deprecated="21" />
+		<method name="getVariant()Ljava/lang/String;" />
+		<method name="getVoiceName()Ljava/lang/String;" since="21" />
+	</class>
+	<class name="android/speech/tts/TextToSpeech" since="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;Ljava/lang/String;)V" since="14" />
+		<method name="addEarcon(Ljava/lang/String;Landroid/net/Uri;)I" since="31" />
+		<method name="addEarcon(Ljava/lang/String;Ljava/io/File;)I" since="21" />
+		<method name="addEarcon(Ljava/lang/String;Ljava/lang/String;)I" deprecated="21" />
+		<method name="addEarcon(Ljava/lang/String;Ljava/lang/String;I)I" />
+		<method name="addSpeech(Ljava/lang/CharSequence;Landroid/net/Uri;)I" since="31" />
+		<method name="addSpeech(Ljava/lang/CharSequence;Ljava/io/File;)I" since="21" />
+		<method name="addSpeech(Ljava/lang/CharSequence;Ljava/lang/String;I)I" since="21" />
+		<method name="addSpeech(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="addSpeech(Ljava/lang/String;Ljava/lang/String;I)I" />
+		<method name="areDefaultsEnforced()Z" since="8" deprecated="21" />
+		<method name="getAvailableLanguages()Ljava/util/Set;" since="21" />
+		<method name="getDefaultEngine()Ljava/lang/String;" since="8" />
+		<method name="getDefaultLanguage()Ljava/util/Locale;" since="18" deprecated="21" />
+		<method name="getDefaultVoice()Landroid/speech/tts/Voice;" since="21" />
+		<method name="getEngines()Ljava/util/List;" since="14" />
+		<method name="getFeatures(Ljava/util/Locale;)Ljava/util/Set;" since="15" deprecated="21" />
+		<method name="getLanguage()Ljava/util/Locale;" deprecated="21" />
+		<method name="getMaxSpeechInputLength()I" since="18" />
+		<method name="getVoice()Landroid/speech/tts/Voice;" since="21" />
+		<method name="getVoices()Ljava/util/Set;" since="21" />
+		<method name="isLanguageAvailable(Ljava/util/Locale;)I" />
+		<method name="isSpeaking()Z" />
+		<method name="playEarcon(Ljava/lang/String;ILandroid/os/Bundle;Ljava/lang/String;)I" since="21" />
+		<method name="playEarcon(Ljava/lang/String;ILjava/util/HashMap;)I" deprecated="21" />
+		<method name="playSilence(JILjava/util/HashMap;)I" deprecated="21" />
+		<method name="playSilentUtterance(JILjava/lang/String;)I" since="21" />
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)I" since="21" />
+		<method name="setEngineByPackageName(Ljava/lang/String;)I" since="8" deprecated="15" />
+		<method name="setLanguage(Ljava/util/Locale;)I" />
+		<method name="setOnUtteranceCompletedListener(Landroid/speech/tts/TextToSpeech$OnUtteranceCompletedListener;)I" deprecated="15" />
+		<method name="setOnUtteranceProgressListener(Landroid/speech/tts/UtteranceProgressListener;)I" since="15" />
+		<method name="setPitch(F)I" />
+		<method name="setSpeechRate(F)I" />
+		<method name="setVoice(Landroid/speech/tts/Voice;)I" since="21" />
+		<method name="shutdown()V" />
+		<method name="speak(Ljava/lang/CharSequence;ILandroid/os/Bundle;Ljava/lang/String;)I" since="21" />
+		<method name="speak(Ljava/lang/String;ILjava/util/HashMap;)I" deprecated="21" />
+		<method name="stop()I" />
+		<method name="synthesizeToFile(Ljava/lang/CharSequence;Landroid/os/Bundle;Landroid/os/ParcelFileDescriptor;Ljava/lang/String;)I" since="30" />
+		<method name="synthesizeToFile(Ljava/lang/CharSequence;Landroid/os/Bundle;Ljava/io/File;Ljava/lang/String;)I" since="21" />
+		<method name="synthesizeToFile(Ljava/lang/String;Ljava/util/HashMap;Ljava/lang/String;)I" deprecated="21" />
+		<field name="ACTION_TTS_QUEUE_PROCESSING_COMPLETED" />
+		<field name="ERROR" />
+		<field name="ERROR_INVALID_REQUEST" since="21" />
+		<field name="ERROR_NETWORK" since="21" />
+		<field name="ERROR_NETWORK_TIMEOUT" since="21" />
+		<field name="ERROR_NOT_INSTALLED_YET" since="21" />
+		<field name="ERROR_OUTPUT" since="21" />
+		<field name="ERROR_SERVICE" since="21" />
+		<field name="ERROR_SYNTHESIS" since="21" />
+		<field name="LANG_AVAILABLE" />
+		<field name="LANG_COUNTRY_AVAILABLE" />
+		<field name="LANG_COUNTRY_VAR_AVAILABLE" />
+		<field name="LANG_MISSING_DATA" />
+		<field name="LANG_NOT_SUPPORTED" />
+		<field name="QUEUE_ADD" />
+		<field name="QUEUE_FLUSH" />
+		<field name="STOPPED" since="21" />
+		<field name="SUCCESS" />
+	</class>
+	<class name="android/speech/tts/TextToSpeech$Engine" since="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/speech/tts/TextToSpeech;)V" />
+		<field name="ACTION_CHECK_TTS_DATA" />
+		<field name="ACTION_GET_SAMPLE_TEXT" since="18" />
+		<field name="ACTION_INSTALL_TTS_DATA" />
+		<field name="ACTION_TTS_DATA_INSTALLED" />
+		<field name="CHECK_VOICE_DATA_BAD_DATA" deprecated="18" />
+		<field name="CHECK_VOICE_DATA_FAIL" />
+		<field name="CHECK_VOICE_DATA_MISSING_DATA" deprecated="18" />
+		<field name="CHECK_VOICE_DATA_MISSING_VOLUME" deprecated="18" />
+		<field name="CHECK_VOICE_DATA_PASS" />
+		<field name="DEFAULT_STREAM" />
+		<field name="EXTRA_AVAILABLE_VOICES" since="8" />
+		<field name="EXTRA_CHECK_VOICE_DATA_FOR" since="8" deprecated="18" />
+		<field name="EXTRA_SAMPLE_TEXT" since="18" />
+		<field name="EXTRA_TTS_DATA_INSTALLED" deprecated="18" />
+		<field name="EXTRA_UNAVAILABLE_VOICES" since="8" />
+		<field name="EXTRA_VOICE_DATA_FILES" deprecated="18" />
+		<field name="EXTRA_VOICE_DATA_FILES_INFO" deprecated="18" />
+		<field name="EXTRA_VOICE_DATA_ROOT_DIRECTORY" deprecated="18" />
+		<field name="INTENT_ACTION_TTS_SERVICE" since="14" />
+		<field name="KEY_FEATURE_EMBEDDED_SYNTHESIS" since="15" deprecated="21" />
+		<field name="KEY_FEATURE_NETWORK_RETRIES_COUNT" since="21" />
+		<field name="KEY_FEATURE_NETWORK_SYNTHESIS" since="15" deprecated="21" />
+		<field name="KEY_FEATURE_NETWORK_TIMEOUT_MS" since="21" />
+		<field name="KEY_FEATURE_NOT_INSTALLED" since="21" />
+		<field name="KEY_PARAM_PAN" since="11" />
+		<field name="KEY_PARAM_SESSION_ID" since="21" />
+		<field name="KEY_PARAM_STREAM" />
+		<field name="KEY_PARAM_UTTERANCE_ID" />
+		<field name="KEY_PARAM_VOLUME" since="11" />
+		<field name="SERVICE_META_DATA" since="14" />
+	</class>
+	<class name="android/speech/tts/TextToSpeech$EngineInfo" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="icon" />
+		<field name="label" />
+		<field name="name" />
+	</class>
+	<class name="android/speech/tts/TextToSpeech$OnInitListener" since="4">
+		<extends name="java/lang/Object" />
+		<method name="onInit(I)V" />
+	</class>
+	<class name="android/speech/tts/TextToSpeech$OnUtteranceCompletedListener" since="4" deprecated="18">
+		<extends name="java/lang/Object" />
+		<method name="onUtteranceCompleted(Ljava/lang/String;)V" deprecated="29" />
+	</class>
+	<class name="android/speech/tts/TextToSpeechService" since="14">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onGetDefaultVoiceNameFor(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="21" />
+		<method name="onGetFeaturesForLanguage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Set;" since="15" />
+		<method name="onGetLanguage()[Ljava/lang/String;" />
+		<method name="onGetVoices()Ljava/util/List;" since="21" />
+		<method name="onIsLanguageAvailable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="onIsValidVoiceName(Ljava/lang/String;)I" since="21" />
+		<method name="onLoadLanguage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="onLoadVoice(Ljava/lang/String;)I" since="21" />
+		<method name="onStop()V" />
+		<method name="onSynthesizeText(Landroid/speech/tts/SynthesisRequest;Landroid/speech/tts/SynthesisCallback;)V" />
+	</class>
+	<class name="android/speech/tts/UtteranceProgressListener" since="15">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAudioAvailable(Ljava/lang/String;[B)V" since="24" />
+		<method name="onBeginSynthesis(Ljava/lang/String;III)V" since="24" />
+		<method name="onDone(Ljava/lang/String;)V" />
+		<method name="onError(Ljava/lang/String;)V" deprecated="21" />
+		<method name="onError(Ljava/lang/String;I)V" since="21" />
+		<method name="onRangeStart(Ljava/lang/String;III)V" since="26" />
+		<method name="onStart(Ljava/lang/String;)V" />
+		<method name="onStop(Ljava/lang/String;Z)V" since="23" />
+	</class>
+	<class name="android/speech/tts/Voice" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/util/Locale;IIZLjava/util/Set;)V" />
+		<method name="getFeatures()Ljava/util/Set;" />
+		<method name="getLatency()I" />
+		<method name="getLocale()Ljava/util/Locale;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getQuality()I" />
+		<method name="isNetworkConnectionRequired()Z" />
+		<field name="CREATOR" />
+		<field name="LATENCY_HIGH" />
+		<field name="LATENCY_LOW" />
+		<field name="LATENCY_NORMAL" />
+		<field name="LATENCY_VERY_HIGH" />
+		<field name="LATENCY_VERY_LOW" />
+		<field name="QUALITY_HIGH" />
+		<field name="QUALITY_LOW" />
+		<field name="QUALITY_NORMAL" />
+		<field name="QUALITY_VERY_HIGH" />
+		<field name="QUALITY_VERY_LOW" />
+	</class>
+	<class name="android/system/ErrnoException" since="21">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="rethrowAsIOException()Ljava/io/IOException;" since="30" />
+		<method name="rethrowAsSocketException()Ljava/net/SocketException;" since="30" />
+		<field name="errno" />
+	</class>
+	<class name="android/system/Int64Ref" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(J)V" />
+		<field name="value" />
+	</class>
+	<class name="android/system/Os" since="21">
+		<extends name="java/lang/Object" />
+		<method name="accept(Ljava/io/FileDescriptor;Ljava/net/InetSocketAddress;)Ljava/io/FileDescriptor;" />
+		<method name="access(Ljava/lang/String;I)Z" />
+		<method name="bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V" />
+		<method name="bind(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V" since="29" />
+		<method name="chmod(Ljava/lang/String;I)V" />
+		<method name="chown(Ljava/lang/String;II)V" />
+		<method name="close(Ljava/io/FileDescriptor;)V" />
+		<method name="connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V" />
+		<method name="connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V" since="29" />
+		<method name="dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;" />
+		<method name="dup2(Ljava/io/FileDescriptor;I)Ljava/io/FileDescriptor;" />
+		<method name="environ()[Ljava/lang/String;" />
+		<method name="execv(Ljava/lang/String;[Ljava/lang/String;)V" />
+		<method name="execve(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V" />
+		<method name="fchmod(Ljava/io/FileDescriptor;I)V" />
+		<method name="fchown(Ljava/io/FileDescriptor;II)V" />
+		<method name="fcntlInt(Ljava/io/FileDescriptor;II)I" since="30" />
+		<method name="fdatasync(Ljava/io/FileDescriptor;)V" />
+		<method name="fstat(Ljava/io/FileDescriptor;)Landroid/system/StructStat;" />
+		<method name="fstatvfs(Ljava/io/FileDescriptor;)Landroid/system/StructStatVfs;" />
+		<method name="fsync(Ljava/io/FileDescriptor;)V" />
+		<method name="ftruncate(Ljava/io/FileDescriptor;J)V" />
+		<method name="gai_strerror(I)Ljava/lang/String;" />
+		<method name="getegid()I" />
+		<method name="getenv(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="geteuid()I" />
+		<method name="getgid()I" />
+		<method name="getpeername(Ljava/io/FileDescriptor;)Ljava/net/SocketAddress;" />
+		<method name="getpid()I" />
+		<method name="getppid()I" />
+		<method name="getsockname(Ljava/io/FileDescriptor;)Ljava/net/SocketAddress;" />
+		<method name="getsockoptTimeval(Ljava/io/FileDescriptor;II)Landroid/system/StructTimeval;" since="29" />
+		<method name="gettid()I" />
+		<method name="getuid()I" />
+		<method name="getxattr(Ljava/lang/String;Ljava/lang/String;)[B" since="26" />
+		<method name="if_indextoname(I)Ljava/lang/String;" />
+		<method name="if_nametoindex(Ljava/lang/String;)I" since="26" />
+		<method name="inet_pton(ILjava/lang/String;)Ljava/net/InetAddress;" />
+		<method name="isatty(Ljava/io/FileDescriptor;)Z" />
+		<method name="kill(II)V" />
+		<method name="lchown(Ljava/lang/String;II)V" />
+		<method name="link(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="listen(Ljava/io/FileDescriptor;I)V" />
+		<method name="listxattr(Ljava/lang/String;)[Ljava/lang/String;" since="26" />
+		<method name="lseek(Ljava/io/FileDescriptor;JI)J" />
+		<method name="lstat(Ljava/lang/String;)Landroid/system/StructStat;" />
+		<method name="memfd_create(Ljava/lang/String;I)Ljava/io/FileDescriptor;" since="30" />
+		<method name="mincore(JJ[B)V" />
+		<method name="mkdir(Ljava/lang/String;I)V" />
+		<method name="mkfifo(Ljava/lang/String;I)V" />
+		<method name="mlock(JJ)V" />
+		<method name="mmap(JJIILjava/io/FileDescriptor;J)J" />
+		<method name="msync(JJI)V" />
+		<method name="munlock(JJ)V" />
+		<method name="munmap(JJ)V" />
+		<method name="open(Ljava/lang/String;II)Ljava/io/FileDescriptor;" />
+		<method name="pipe()[Ljava/io/FileDescriptor;" />
+		<method name="poll([Landroid/system/StructPollfd;I)I" />
+		<method name="posix_fallocate(Ljava/io/FileDescriptor;JJ)V" />
+		<method name="prctl(IJJJJ)I" />
+		<method name="pread(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;J)I" />
+		<method name="pread(Ljava/io/FileDescriptor;[BIIJ)I" />
+		<method name="pwrite(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;J)I" />
+		<method name="pwrite(Ljava/io/FileDescriptor;[BIIJ)I" />
+		<method name="read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I" />
+		<method name="read(Ljava/io/FileDescriptor;[BII)I" />
+		<method name="readlink(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="readv(Ljava/io/FileDescriptor;[Ljava/lang/Object;[I[I)I" />
+		<method name="recvfrom(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;ILjava/net/InetSocketAddress;)I" />
+		<method name="recvfrom(Ljava/io/FileDescriptor;[BIIILjava/net/InetSocketAddress;)I" />
+		<method name="recvmsg(Ljava/io/FileDescriptor;Landroid/system/StructMsghdr;I)I" since="31" />
+		<method name="remove(Ljava/lang/String;)V" />
+		<method name="removexattr(Ljava/lang/String;Ljava/lang/String;)V" since="26" />
+		<method name="rename(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="sendfile(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/system/Int64Ref;J)J" since="28" />
+		<method name="sendfile(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/util/MutableLong;J)J" removed="28" />
+		<method name="sendmsg(Ljava/io/FileDescriptor;Landroid/system/StructMsghdr;I)I" since="31" />
+		<method name="sendto(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;ILjava/net/InetAddress;I)I" />
+		<method name="sendto(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;I)I" />
+		<method name="sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I" since="29" />
+		<method name="setegid(I)V" deprecated="29" />
+		<method name="setenv(Ljava/lang/String;Ljava/lang/String;Z)V" />
+		<method name="seteuid(I)V" deprecated="29" />
+		<method name="setgid(I)V" deprecated="29" />
+		<method name="setsid()I" />
+		<method name="setsockoptInt(Ljava/io/FileDescriptor;III)V" since="26" />
+		<method name="setsockoptTimeval(Ljava/io/FileDescriptor;IILandroid/system/StructTimeval;)V" since="29" />
+		<method name="setuid(I)V" deprecated="29" />
+		<method name="setxattr(Ljava/lang/String;Ljava/lang/String;[BI)V" since="26" />
+		<method name="shutdown(Ljava/io/FileDescriptor;I)V" />
+		<method name="socket(III)Ljava/io/FileDescriptor;" />
+		<method name="socketpair(IIILjava/io/FileDescriptor;Ljava/io/FileDescriptor;)V" />
+		<method name="stat(Ljava/lang/String;)Landroid/system/StructStat;" />
+		<method name="statvfs(Ljava/lang/String;)Landroid/system/StructStatVfs;" />
+		<method name="strerror(I)Ljava/lang/String;" />
+		<method name="strsignal(I)Ljava/lang/String;" />
+		<method name="symlink(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="sysconf(I)J" />
+		<method name="tcdrain(Ljava/io/FileDescriptor;)V" />
+		<method name="tcsendbreak(Ljava/io/FileDescriptor;I)V" />
+		<method name="umask(I)I" />
+		<method name="uname()Landroid/system/StructUtsname;" />
+		<method name="unsetenv(Ljava/lang/String;)V" />
+		<method name="waitpid(ILandroid/util/MutableInt;I)I" removed="28" />
+		<method name="write(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I" />
+		<method name="write(Ljava/io/FileDescriptor;[BII)I" />
+		<method name="writev(Ljava/io/FileDescriptor;[Ljava/lang/Object;[I[I)I" />
+	</class>
+	<class name="android/system/OsConstants" since="21">
+		<extends name="java/lang/Object" />
+		<method name="S_ISBLK(I)Z" />
+		<method name="S_ISCHR(I)Z" />
+		<method name="S_ISDIR(I)Z" />
+		<method name="S_ISFIFO(I)Z" />
+		<method name="S_ISLNK(I)Z" />
+		<method name="S_ISREG(I)Z" />
+		<method name="S_ISSOCK(I)Z" />
+		<method name="WCOREDUMP(I)Z" />
+		<method name="WEXITSTATUS(I)I" />
+		<method name="WIFEXITED(I)Z" />
+		<method name="WIFSIGNALED(I)Z" />
+		<method name="WIFSTOPPED(I)Z" />
+		<method name="WSTOPSIG(I)I" />
+		<method name="WTERMSIG(I)I" />
+		<method name="errnoName(I)Ljava/lang/String;" />
+		<method name="gaiName(I)Ljava/lang/String;" />
+		<field name="AF_INET" />
+		<field name="AF_INET6" />
+		<field name="AF_NETLINK" since="29" />
+		<field name="AF_PACKET" since="29" />
+		<field name="AF_UNIX" />
+		<field name="AF_UNSPEC" />
+		<field name="AF_VSOCK" since="31" />
+		<field name="AI_ADDRCONFIG" />
+		<field name="AI_ALL" />
+		<field name="AI_CANONNAME" />
+		<field name="AI_NUMERICHOST" />
+		<field name="AI_NUMERICSERV" />
+		<field name="AI_PASSIVE" />
+		<field name="AI_V4MAPPED" />
+		<field name="ARPHRD_ETHER" since="29" />
+		<field name="CAP_AUDIT_CONTROL" />
+		<field name="CAP_AUDIT_WRITE" />
+		<field name="CAP_BLOCK_SUSPEND" />
+		<field name="CAP_CHOWN" />
+		<field name="CAP_DAC_OVERRIDE" />
+		<field name="CAP_DAC_READ_SEARCH" />
+		<field name="CAP_FOWNER" />
+		<field name="CAP_FSETID" />
+		<field name="CAP_IPC_LOCK" />
+		<field name="CAP_IPC_OWNER" />
+		<field name="CAP_KILL" />
+		<field name="CAP_LAST_CAP" />
+		<field name="CAP_LEASE" />
+		<field name="CAP_LINUX_IMMUTABLE" />
+		<field name="CAP_MAC_ADMIN" />
+		<field name="CAP_MAC_OVERRIDE" />
+		<field name="CAP_MKNOD" />
+		<field name="CAP_NET_ADMIN" />
+		<field name="CAP_NET_BIND_SERVICE" />
+		<field name="CAP_NET_BROADCAST" />
+		<field name="CAP_NET_RAW" />
+		<field name="CAP_SETFCAP" />
+		<field name="CAP_SETGID" />
+		<field name="CAP_SETPCAP" />
+		<field name="CAP_SETUID" />
+		<field name="CAP_SYSLOG" />
+		<field name="CAP_SYS_ADMIN" />
+		<field name="CAP_SYS_BOOT" />
+		<field name="CAP_SYS_CHROOT" />
+		<field name="CAP_SYS_MODULE" />
+		<field name="CAP_SYS_NICE" />
+		<field name="CAP_SYS_PACCT" />
+		<field name="CAP_SYS_PTRACE" />
+		<field name="CAP_SYS_RAWIO" />
+		<field name="CAP_SYS_RESOURCE" />
+		<field name="CAP_SYS_TIME" />
+		<field name="CAP_SYS_TTY_CONFIG" />
+		<field name="CAP_WAKE_ALARM" />
+		<field name="E2BIG" />
+		<field name="EACCES" />
+		<field name="EADDRINUSE" />
+		<field name="EADDRNOTAVAIL" />
+		<field name="EAFNOSUPPORT" />
+		<field name="EAGAIN" />
+		<field name="EAI_AGAIN" />
+		<field name="EAI_BADFLAGS" />
+		<field name="EAI_FAIL" />
+		<field name="EAI_FAMILY" />
+		<field name="EAI_MEMORY" />
+		<field name="EAI_NODATA" />
+		<field name="EAI_NONAME" />
+		<field name="EAI_OVERFLOW" />
+		<field name="EAI_SERVICE" />
+		<field name="EAI_SOCKTYPE" />
+		<field name="EAI_SYSTEM" />
+		<field name="EALREADY" />
+		<field name="EBADF" />
+		<field name="EBADMSG" />
+		<field name="EBUSY" />
+		<field name="ECANCELED" />
+		<field name="ECHILD" />
+		<field name="ECONNABORTED" />
+		<field name="ECONNREFUSED" />
+		<field name="ECONNRESET" />
+		<field name="EDEADLK" />
+		<field name="EDESTADDRREQ" />
+		<field name="EDOM" />
+		<field name="EDQUOT" />
+		<field name="EEXIST" />
+		<field name="EFAULT" />
+		<field name="EFBIG" />
+		<field name="EHOSTUNREACH" />
+		<field name="EIDRM" />
+		<field name="EILSEQ" />
+		<field name="EINPROGRESS" />
+		<field name="EINTR" />
+		<field name="EINVAL" />
+		<field name="EIO" />
+		<field name="EISCONN" />
+		<field name="EISDIR" />
+		<field name="ELOOP" />
+		<field name="EMFILE" />
+		<field name="EMLINK" />
+		<field name="EMSGSIZE" />
+		<field name="EMULTIHOP" />
+		<field name="ENAMETOOLONG" />
+		<field name="ENETDOWN" />
+		<field name="ENETRESET" />
+		<field name="ENETUNREACH" />
+		<field name="ENFILE" />
+		<field name="ENOBUFS" />
+		<field name="ENODATA" />
+		<field name="ENODEV" />
+		<field name="ENOENT" />
+		<field name="ENOEXEC" />
+		<field name="ENOLCK" />
+		<field name="ENOLINK" />
+		<field name="ENOMEM" />
+		<field name="ENOMSG" />
+		<field name="ENONET" since="31" />
+		<field name="ENOPROTOOPT" />
+		<field name="ENOSPC" />
+		<field name="ENOSR" />
+		<field name="ENOSTR" />
+		<field name="ENOSYS" />
+		<field name="ENOTCONN" />
+		<field name="ENOTDIR" />
+		<field name="ENOTEMPTY" />
+		<field name="ENOTSOCK" />
+		<field name="ENOTSUP" />
+		<field name="ENOTTY" />
+		<field name="ENXIO" />
+		<field name="EOPNOTSUPP" />
+		<field name="EOVERFLOW" />
+		<field name="EPERM" />
+		<field name="EPIPE" />
+		<field name="EPROTO" />
+		<field name="EPROTONOSUPPORT" />
+		<field name="EPROTOTYPE" />
+		<field name="ERANGE" />
+		<field name="EROFS" />
+		<field name="ESPIPE" />
+		<field name="ESRCH" />
+		<field name="ESTALE" />
+		<field name="ETH_P_ALL" since="29" />
+		<field name="ETH_P_ARP" since="29" />
+		<field name="ETH_P_IP" since="29" />
+		<field name="ETH_P_IPV6" since="29" />
+		<field name="ETIME" />
+		<field name="ETIMEDOUT" />
+		<field name="ETXTBSY" />
+		<field name="EXDEV" />
+		<field name="EXIT_FAILURE" />
+		<field name="EXIT_SUCCESS" />
+		<field name="FD_CLOEXEC" />
+		<field name="FIONREAD" />
+		<field name="F_DUPFD" />
+		<field name="F_DUPFD_CLOEXEC" since="27" />
+		<field name="F_GETFD" />
+		<field name="F_GETFL" />
+		<field name="F_GETLK" />
+		<field name="F_GETLK64" />
+		<field name="F_GETOWN" />
+		<field name="F_OK" />
+		<field name="F_RDLCK" />
+		<field name="F_SETFD" />
+		<field name="F_SETFL" />
+		<field name="F_SETLK" />
+		<field name="F_SETLK64" />
+		<field name="F_SETLKW" />
+		<field name="F_SETLKW64" />
+		<field name="F_SETOWN" />
+		<field name="F_UNLCK" />
+		<field name="F_WRLCK" />
+		<field name="ICMP6_ECHO_REPLY" since="29" />
+		<field name="ICMP6_ECHO_REQUEST" since="29" />
+		<field name="ICMP_ECHO" since="29" />
+		<field name="ICMP_ECHOREPLY" since="29" />
+		<field name="IFA_F_DADFAILED" />
+		<field name="IFA_F_DEPRECATED" />
+		<field name="IFA_F_HOMEADDRESS" />
+		<field name="IFA_F_NODAD" />
+		<field name="IFA_F_OPTIMISTIC" />
+		<field name="IFA_F_PERMANENT" />
+		<field name="IFA_F_SECONDARY" />
+		<field name="IFA_F_TEMPORARY" />
+		<field name="IFA_F_TENTATIVE" />
+		<field name="IFF_ALLMULTI" />
+		<field name="IFF_AUTOMEDIA" />
+		<field name="IFF_BROADCAST" />
+		<field name="IFF_DEBUG" />
+		<field name="IFF_DYNAMIC" />
+		<field name="IFF_LOOPBACK" />
+		<field name="IFF_MASTER" />
+		<field name="IFF_MULTICAST" />
+		<field name="IFF_NOARP" />
+		<field name="IFF_NOTRAILERS" />
+		<field name="IFF_POINTOPOINT" />
+		<field name="IFF_PORTSEL" />
+		<field name="IFF_PROMISC" />
+		<field name="IFF_RUNNING" />
+		<field name="IFF_SLAVE" />
+		<field name="IFF_UP" />
+		<field name="IPPROTO_ICMP" />
+		<field name="IPPROTO_ICMPV6" />
+		<field name="IPPROTO_IP" />
+		<field name="IPPROTO_IPV6" />
+		<field name="IPPROTO_RAW" />
+		<field name="IPPROTO_TCP" />
+		<field name="IPPROTO_UDP" />
+		<field name="IPV6_CHECKSUM" />
+		<field name="IPV6_MULTICAST_HOPS" />
+		<field name="IPV6_MULTICAST_IF" />
+		<field name="IPV6_MULTICAST_LOOP" />
+		<field name="IPV6_RECVDSTOPTS" />
+		<field name="IPV6_RECVHOPLIMIT" />
+		<field name="IPV6_RECVHOPOPTS" />
+		<field name="IPV6_RECVPKTINFO" />
+		<field name="IPV6_RECVRTHDR" />
+		<field name="IPV6_RECVTCLASS" />
+		<field name="IPV6_TCLASS" />
+		<field name="IPV6_UNICAST_HOPS" />
+		<field name="IPV6_V6ONLY" />
+		<field name="IP_MULTICAST_IF" />
+		<field name="IP_MULTICAST_LOOP" />
+		<field name="IP_MULTICAST_TTL" />
+		<field name="IP_TOS" />
+		<field name="IP_TTL" />
+		<field name="MAP_ANONYMOUS" since="30" />
+		<field name="MAP_FIXED" />
+		<field name="MAP_PRIVATE" />
+		<field name="MAP_SHARED" />
+		<field name="MCAST_BLOCK_SOURCE" />
+		<field name="MCAST_JOIN_GROUP" />
+		<field name="MCAST_JOIN_SOURCE_GROUP" />
+		<field name="MCAST_LEAVE_GROUP" />
+		<field name="MCAST_LEAVE_SOURCE_GROUP" />
+		<field name="MCAST_UNBLOCK_SOURCE" />
+		<field name="MCL_CURRENT" />
+		<field name="MCL_FUTURE" />
+		<field name="MFD_CLOEXEC" since="30" />
+		<field name="MSG_CTRUNC" />
+		<field name="MSG_DONTROUTE" />
+		<field name="MSG_EOR" />
+		<field name="MSG_OOB" />
+		<field name="MSG_PEEK" />
+		<field name="MSG_TRUNC" />
+		<field name="MSG_WAITALL" />
+		<field name="MS_ASYNC" />
+		<field name="MS_INVALIDATE" />
+		<field name="MS_SYNC" />
+		<field name="NETLINK_INET_DIAG" since="29" />
+		<field name="NETLINK_NETFILTER" since="30" />
+		<field name="NETLINK_ROUTE" since="29" />
+		<field name="NI_DGRAM" />
+		<field name="NI_NAMEREQD" />
+		<field name="NI_NOFQDN" />
+		<field name="NI_NUMERICHOST" />
+		<field name="NI_NUMERICSERV" />
+		<field name="O_ACCMODE" />
+		<field name="O_APPEND" />
+		<field name="O_CLOEXEC" since="27" />
+		<field name="O_CREAT" />
+		<field name="O_DSYNC" since="27" />
+		<field name="O_EXCL" />
+		<field name="O_NOCTTY" />
+		<field name="O_NOFOLLOW" />
+		<field name="O_NONBLOCK" />
+		<field name="O_RDONLY" />
+		<field name="O_RDWR" />
+		<field name="O_SYNC" />
+		<field name="O_TRUNC" />
+		<field name="O_WRONLY" />
+		<field name="POLLERR" />
+		<field name="POLLHUP" />
+		<field name="POLLIN" />
+		<field name="POLLNVAL" />
+		<field name="POLLOUT" />
+		<field name="POLLPRI" />
+		<field name="POLLRDBAND" />
+		<field name="POLLRDNORM" />
+		<field name="POLLWRBAND" />
+		<field name="POLLWRNORM" />
+		<field name="PROT_EXEC" />
+		<field name="PROT_NONE" />
+		<field name="PROT_READ" />
+		<field name="PROT_WRITE" />
+		<field name="PR_GET_DUMPABLE" />
+		<field name="PR_SET_DUMPABLE" />
+		<field name="PR_SET_NO_NEW_PRIVS" />
+		<field name="RTMGRP_NEIGH" since="29" />
+		<field name="RT_SCOPE_HOST" />
+		<field name="RT_SCOPE_LINK" />
+		<field name="RT_SCOPE_NOWHERE" />
+		<field name="RT_SCOPE_SITE" />
+		<field name="RT_SCOPE_UNIVERSE" />
+		<field name="R_OK" />
+		<field name="SEEK_CUR" />
+		<field name="SEEK_END" />
+		<field name="SEEK_SET" />
+		<field name="SHUT_RD" />
+		<field name="SHUT_RDWR" />
+		<field name="SHUT_WR" />
+		<field name="SIGABRT" />
+		<field name="SIGALRM" />
+		<field name="SIGBUS" />
+		<field name="SIGCHLD" />
+		<field name="SIGCONT" />
+		<field name="SIGFPE" />
+		<field name="SIGHUP" />
+		<field name="SIGILL" />
+		<field name="SIGINT" />
+		<field name="SIGIO" />
+		<field name="SIGKILL" />
+		<field name="SIGPIPE" />
+		<field name="SIGPROF" />
+		<field name="SIGPWR" />
+		<field name="SIGQUIT" />
+		<field name="SIGRTMAX" />
+		<field name="SIGRTMIN" />
+		<field name="SIGSEGV" />
+		<field name="SIGSTKFLT" />
+		<field name="SIGSTOP" />
+		<field name="SIGSYS" />
+		<field name="SIGTERM" />
+		<field name="SIGTRAP" />
+		<field name="SIGTSTP" />
+		<field name="SIGTTIN" />
+		<field name="SIGTTOU" />
+		<field name="SIGURG" />
+		<field name="SIGUSR1" />
+		<field name="SIGUSR2" />
+		<field name="SIGVTALRM" />
+		<field name="SIGWINCH" />
+		<field name="SIGXCPU" />
+		<field name="SIGXFSZ" />
+		<field name="SIOCGIFADDR" />
+		<field name="SIOCGIFBRDADDR" />
+		<field name="SIOCGIFDSTADDR" />
+		<field name="SIOCGIFNETMASK" />
+		<field name="SOCK_CLOEXEC" since="29" />
+		<field name="SOCK_DGRAM" />
+		<field name="SOCK_NONBLOCK" since="29" />
+		<field name="SOCK_RAW" />
+		<field name="SOCK_SEQPACKET" />
+		<field name="SOCK_STREAM" />
+		<field name="SOL_SOCKET" />
+		<field name="SOL_UDP" since="31" />
+		<field name="SO_BINDTODEVICE" />
+		<field name="SO_BROADCAST" />
+		<field name="SO_DEBUG" />
+		<field name="SO_DONTROUTE" />
+		<field name="SO_ERROR" />
+		<field name="SO_KEEPALIVE" />
+		<field name="SO_LINGER" />
+		<field name="SO_OOBINLINE" />
+		<field name="SO_PASSCRED" />
+		<field name="SO_PEERCRED" />
+		<field name="SO_RCVBUF" />
+		<field name="SO_RCVLOWAT" />
+		<field name="SO_RCVTIMEO" />
+		<field name="SO_REUSEADDR" />
+		<field name="SO_SNDBUF" />
+		<field name="SO_SNDLOWAT" />
+		<field name="SO_SNDTIMEO" />
+		<field name="SO_TYPE" />
+		<field name="STDERR_FILENO" />
+		<field name="STDIN_FILENO" />
+		<field name="STDOUT_FILENO" />
+		<field name="ST_MANDLOCK" since="23" />
+		<field name="ST_NOATIME" since="23" />
+		<field name="ST_NODEV" since="23" />
+		<field name="ST_NODIRATIME" since="23" />
+		<field name="ST_NOEXEC" since="23" />
+		<field name="ST_NOSUID" since="23" />
+		<field name="ST_RDONLY" since="23" />
+		<field name="ST_RELATIME" since="23" />
+		<field name="ST_SYNCHRONOUS" since="23" />
+		<field name="S_IFBLK" />
+		<field name="S_IFCHR" />
+		<field name="S_IFDIR" />
+		<field name="S_IFIFO" />
+		<field name="S_IFLNK" />
+		<field name="S_IFMT" />
+		<field name="S_IFREG" />
+		<field name="S_IFSOCK" />
+		<field name="S_IRGRP" />
+		<field name="S_IROTH" />
+		<field name="S_IRUSR" />
+		<field name="S_IRWXG" />
+		<field name="S_IRWXO" />
+		<field name="S_IRWXU" />
+		<field name="S_ISGID" />
+		<field name="S_ISUID" />
+		<field name="S_ISVTX" />
+		<field name="S_IWGRP" />
+		<field name="S_IWOTH" />
+		<field name="S_IWUSR" />
+		<field name="S_IXGRP" />
+		<field name="S_IXOTH" />
+		<field name="S_IXUSR" />
+		<field name="TCP_NODELAY" />
+		<field name="TCP_USER_TIMEOUT" since="26" />
+		<field name="UDP_GRO" since="31" />
+		<field name="UDP_SEGMENT" since="31" />
+		<field name="VMADDR_CID_ANY" since="31" />
+		<field name="VMADDR_CID_HOST" since="31" />
+		<field name="VMADDR_CID_LOCAL" since="31" />
+		<field name="VMADDR_PORT_ANY" since="31" />
+		<field name="WCONTINUED" />
+		<field name="WEXITED" />
+		<field name="WNOHANG" />
+		<field name="WNOWAIT" />
+		<field name="WSTOPPED" />
+		<field name="WUNTRACED" />
+		<field name="W_OK" />
+		<field name="X_OK" />
+		<field name="_SC_2_CHAR_TERM" />
+		<field name="_SC_2_C_BIND" />
+		<field name="_SC_2_C_DEV" />
+		<field name="_SC_2_C_VERSION" />
+		<field name="_SC_2_FORT_DEV" />
+		<field name="_SC_2_FORT_RUN" />
+		<field name="_SC_2_LOCALEDEF" />
+		<field name="_SC_2_SW_DEV" />
+		<field name="_SC_2_UPE" />
+		<field name="_SC_2_VERSION" />
+		<field name="_SC_AIO_LISTIO_MAX" />
+		<field name="_SC_AIO_MAX" />
+		<field name="_SC_AIO_PRIO_DELTA_MAX" />
+		<field name="_SC_ARG_MAX" />
+		<field name="_SC_ASYNCHRONOUS_IO" />
+		<field name="_SC_ATEXIT_MAX" />
+		<field name="_SC_AVPHYS_PAGES" />
+		<field name="_SC_BC_BASE_MAX" />
+		<field name="_SC_BC_DIM_MAX" />
+		<field name="_SC_BC_SCALE_MAX" />
+		<field name="_SC_BC_STRING_MAX" />
+		<field name="_SC_CHILD_MAX" />
+		<field name="_SC_CLK_TCK" />
+		<field name="_SC_COLL_WEIGHTS_MAX" />
+		<field name="_SC_DELAYTIMER_MAX" />
+		<field name="_SC_EXPR_NEST_MAX" />
+		<field name="_SC_FSYNC" />
+		<field name="_SC_GETGR_R_SIZE_MAX" />
+		<field name="_SC_GETPW_R_SIZE_MAX" />
+		<field name="_SC_IOV_MAX" />
+		<field name="_SC_JOB_CONTROL" />
+		<field name="_SC_LINE_MAX" />
+		<field name="_SC_LOGIN_NAME_MAX" />
+		<field name="_SC_MAPPED_FILES" />
+		<field name="_SC_MEMLOCK" />
+		<field name="_SC_MEMLOCK_RANGE" />
+		<field name="_SC_MEMORY_PROTECTION" />
+		<field name="_SC_MESSAGE_PASSING" />
+		<field name="_SC_MQ_OPEN_MAX" />
+		<field name="_SC_MQ_PRIO_MAX" />
+		<field name="_SC_NGROUPS_MAX" />
+		<field name="_SC_NPROCESSORS_CONF" />
+		<field name="_SC_NPROCESSORS_ONLN" />
+		<field name="_SC_OPEN_MAX" />
+		<field name="_SC_PAGESIZE" />
+		<field name="_SC_PAGE_SIZE" />
+		<field name="_SC_PASS_MAX" />
+		<field name="_SC_PHYS_PAGES" />
+		<field name="_SC_PRIORITIZED_IO" />
+		<field name="_SC_PRIORITY_SCHEDULING" />
+		<field name="_SC_REALTIME_SIGNALS" />
+		<field name="_SC_RE_DUP_MAX" />
+		<field name="_SC_RTSIG_MAX" />
+		<field name="_SC_SAVED_IDS" />
+		<field name="_SC_SEMAPHORES" />
+		<field name="_SC_SEM_NSEMS_MAX" />
+		<field name="_SC_SEM_VALUE_MAX" />
+		<field name="_SC_SHARED_MEMORY_OBJECTS" />
+		<field name="_SC_SIGQUEUE_MAX" />
+		<field name="_SC_STREAM_MAX" />
+		<field name="_SC_SYNCHRONIZED_IO" />
+		<field name="_SC_THREADS" />
+		<field name="_SC_THREAD_ATTR_STACKADDR" />
+		<field name="_SC_THREAD_ATTR_STACKSIZE" />
+		<field name="_SC_THREAD_DESTRUCTOR_ITERATIONS" />
+		<field name="_SC_THREAD_KEYS_MAX" />
+		<field name="_SC_THREAD_PRIORITY_SCHEDULING" />
+		<field name="_SC_THREAD_PRIO_INHERIT" />
+		<field name="_SC_THREAD_PRIO_PROTECT" />
+		<field name="_SC_THREAD_SAFE_FUNCTIONS" />
+		<field name="_SC_THREAD_STACK_MIN" />
+		<field name="_SC_THREAD_THREADS_MAX" />
+		<field name="_SC_TIMERS" />
+		<field name="_SC_TIMER_MAX" />
+		<field name="_SC_TTY_NAME_MAX" />
+		<field name="_SC_TZNAME_MAX" />
+		<field name="_SC_VERSION" />
+		<field name="_SC_XBS5_ILP32_OFF32" />
+		<field name="_SC_XBS5_ILP32_OFFBIG" />
+		<field name="_SC_XBS5_LP64_OFF64" />
+		<field name="_SC_XBS5_LPBIG_OFFBIG" />
+		<field name="_SC_XOPEN_CRYPT" />
+		<field name="_SC_XOPEN_ENH_I18N" />
+		<field name="_SC_XOPEN_LEGACY" />
+		<field name="_SC_XOPEN_REALTIME" />
+		<field name="_SC_XOPEN_REALTIME_THREADS" />
+		<field name="_SC_XOPEN_SHM" />
+		<field name="_SC_XOPEN_UNIX" />
+		<field name="_SC_XOPEN_VERSION" />
+		<field name="_SC_XOPEN_XCU_VERSION" />
+	</class>
+	<class name="android/system/StructCmsghdr" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IIS)V" />
+		<method name="&lt;init&gt;(II[B)V" />
+		<field name="cmsg_data" />
+		<field name="cmsg_level" />
+		<field name="cmsg_type" />
+	</class>
+	<class name="android/system/StructMsghdr" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/net/SocketAddress;[Ljava/nio/ByteBuffer;[Landroid/system/StructCmsghdr;I)V" />
+		<field name="msg_control" />
+		<field name="msg_flags" />
+		<field name="msg_iov" />
+		<field name="msg_name" />
+	</class>
+	<class name="android/system/StructPollfd" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="events" />
+		<field name="fd" />
+		<field name="revents" />
+		<field name="userData" />
+	</class>
+	<class name="android/system/StructStat" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(JJIJIIJJJJJJJ)V" />
+		<method name="&lt;init&gt;(JJIJIIJJLandroid/system/StructTimespec;Landroid/system/StructTimespec;Landroid/system/StructTimespec;JJ)V" since="27" />
+		<field name="st_atim" since="27" />
+		<field name="st_atime" />
+		<field name="st_blksize" />
+		<field name="st_blocks" />
+		<field name="st_ctim" since="27" />
+		<field name="st_ctime" />
+		<field name="st_dev" />
+		<field name="st_gid" />
+		<field name="st_ino" />
+		<field name="st_mode" />
+		<field name="st_mtim" since="27" />
+		<field name="st_mtime" />
+		<field name="st_nlink" />
+		<field name="st_rdev" />
+		<field name="st_size" />
+		<field name="st_uid" />
+	</class>
+	<class name="android/system/StructStatVfs" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(JJJJJJJJJJJ)V" />
+		<field name="f_bavail" />
+		<field name="f_bfree" />
+		<field name="f_blocks" />
+		<field name="f_bsize" />
+		<field name="f_favail" />
+		<field name="f_ffree" />
+		<field name="f_files" />
+		<field name="f_flag" />
+		<field name="f_frsize" />
+		<field name="f_fsid" />
+		<field name="f_namemax" />
+	</class>
+	<class name="android/system/StructTimespec" since="27">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(JJ)V" />
+		<method name="compareTo(Landroid/system/StructTimespec;)I" />
+		<field name="tv_nsec" />
+		<field name="tv_sec" />
+	</class>
+	<class name="android/system/StructTimeval" since="29">
+		<extends name="java/lang/Object" />
+		<method name="fromMillis(J)Landroid/system/StructTimeval;" />
+		<method name="toMillis()J" />
+		<field name="tv_sec" />
+		<field name="tv_usec" />
+	</class>
+	<class name="android/system/StructUtsname" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="machine" />
+		<field name="nodename" />
+		<field name="release" />
+		<field name="sysname" />
+		<field name="version" />
+	</class>
+	<class name="android/telecom/Call" since="23">
+		<extends name="java/lang/Object" />
+		<method name="addConferenceParticipants(Ljava/util/List;)V" since="31" />
+		<method name="answer(I)V" />
+		<method name="conference(Landroid/telecom/Call;)V" />
+		<method name="deflect(Landroid/net/Uri;)V" since="28" />
+		<method name="disconnect()V" />
+		<method name="getCannedTextResponses()Ljava/util/List;" />
+		<method name="getChildren()Ljava/util/List;" />
+		<method name="getConferenceableCalls()Ljava/util/List;" />
+		<method name="getDetails()Landroid/telecom/Call$Details;" />
+		<method name="getGenericConferenceActiveChildCall()Landroid/telecom/Call;" since="30" />
+		<method name="getParent()Landroid/telecom/Call;" />
+		<method name="getRemainingPostDialSequence()Ljava/lang/String;" />
+		<method name="getRttCall()Landroid/telecom/Call$RttCall;" since="26" />
+		<method name="getState()I" deprecated="31" />
+		<method name="getVideoCall()Landroid/telecom/InCallService$VideoCall;" />
+		<method name="handoverTo(Landroid/telecom/PhoneAccountHandle;ILandroid/os/Bundle;)V" since="28" />
+		<method name="hold()V" />
+		<method name="isRttActive()Z" since="26" />
+		<method name="mergeConference()V" />
+		<method name="phoneAccountSelected(Landroid/telecom/PhoneAccountHandle;Z)V" />
+		<method name="playDtmfTone(C)V" />
+		<method name="postDialContinue(Z)V" />
+		<method name="pullExternalCall()V" since="25" />
+		<method name="putExtras(Landroid/os/Bundle;)V" since="25" />
+		<method name="registerCallback(Landroid/telecom/Call$Callback;)V" />
+		<method name="registerCallback(Landroid/telecom/Call$Callback;Landroid/os/Handler;)V" />
+		<method name="reject(I)V" since="30" />
+		<method name="reject(ZLjava/lang/String;)V" />
+		<method name="removeExtras(Ljava/util/List;)V" since="25" />
+		<method name="removeExtras([Ljava/lang/String;)V" since="25" />
+		<method name="respondToRttRequest(IZ)V" since="26" />
+		<method name="sendCallEvent(Ljava/lang/String;Landroid/os/Bundle;)V" since="25" />
+		<method name="sendRttRequest()V" since="26" />
+		<method name="splitFromConference()V" />
+		<method name="stopDtmfTone()V" />
+		<method name="stopRtt()V" since="26" />
+		<method name="swapConference()V" />
+		<method name="unhold()V" />
+		<method name="unregisterCallback(Landroid/telecom/Call$Callback;)V" />
+		<field name="AVAILABLE_PHONE_ACCOUNTS" deprecated="29" />
+		<field name="EVENT_CLEAR_DIAGNOSTIC_MESSAGE" since="31" />
+		<field name="EVENT_DISPLAY_DIAGNOSTIC_MESSAGE" since="31" />
+		<field name="EXTRA_DIAGNOSTIC_MESSAGE" since="31" />
+		<field name="EXTRA_DIAGNOSTIC_MESSAGE_ID" since="31" />
+		<field name="EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS" since="26" />
+		<field name="EXTRA_SILENT_RINGING_REQUESTED" since="29" />
+		<field name="EXTRA_SUGGESTED_PHONE_ACCOUNTS" since="29" />
+		<field name="REJECT_REASON_DECLINED" since="30" />
+		<field name="REJECT_REASON_UNWANTED" since="30" />
+		<field name="STATE_ACTIVE" />
+		<field name="STATE_AUDIO_PROCESSING" since="30" />
+		<field name="STATE_CONNECTING" />
+		<field name="STATE_DIALING" />
+		<field name="STATE_DISCONNECTED" />
+		<field name="STATE_DISCONNECTING" />
+		<field name="STATE_HOLDING" />
+		<field name="STATE_NEW" />
+		<field name="STATE_PULLING_CALL" since="25" />
+		<field name="STATE_RINGING" />
+		<field name="STATE_SELECT_PHONE_ACCOUNT" />
+		<field name="STATE_SIMULATED_RINGING" since="30" />
+	</class>
+	<class name="android/telecom/Call$Callback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCallDestroyed(Landroid/telecom/Call;)V" />
+		<method name="onCannedTextResponsesLoaded(Landroid/telecom/Call;Ljava/util/List;)V" />
+		<method name="onChildrenChanged(Landroid/telecom/Call;Ljava/util/List;)V" />
+		<method name="onConferenceableCallsChanged(Landroid/telecom/Call;Ljava/util/List;)V" />
+		<method name="onConnectionEvent(Landroid/telecom/Call;Ljava/lang/String;Landroid/os/Bundle;)V" since="25" />
+		<method name="onDetailsChanged(Landroid/telecom/Call;Landroid/telecom/Call$Details;)V" />
+		<method name="onHandoverComplete(Landroid/telecom/Call;)V" since="28" />
+		<method name="onHandoverFailed(Landroid/telecom/Call;I)V" since="28" />
+		<method name="onParentChanged(Landroid/telecom/Call;Landroid/telecom/Call;)V" />
+		<method name="onPostDialWait(Landroid/telecom/Call;Ljava/lang/String;)V" />
+		<method name="onRttInitiationFailure(Landroid/telecom/Call;I)V" since="26" />
+		<method name="onRttModeChanged(Landroid/telecom/Call;I)V" since="26" />
+		<method name="onRttRequest(Landroid/telecom/Call;I)V" since="26" />
+		<method name="onRttStatusChanged(Landroid/telecom/Call;ZLandroid/telecom/Call$RttCall;)V" since="26" />
+		<method name="onStateChanged(Landroid/telecom/Call;I)V" />
+		<method name="onVideoCallChanged(Landroid/telecom/Call;Landroid/telecom/InCallService$VideoCall;)V" />
+		<field name="HANDOVER_FAILURE_DEST_APP_REJECTED" since="28" />
+		<field name="HANDOVER_FAILURE_NOT_SUPPORTED" since="28" />
+		<field name="HANDOVER_FAILURE_ONGOING_EMERGENCY_CALL" since="28" />
+		<field name="HANDOVER_FAILURE_UNKNOWN" since="28" />
+		<field name="HANDOVER_FAILURE_USER_REJECTED" since="28" />
+	</class>
+	<class name="android/telecom/Call$Details" since="23">
+		<extends name="java/lang/Object" />
+		<method name="can(I)Z" />
+		<method name="can(II)Z" />
+		<method name="capabilitiesToString(I)Ljava/lang/String;" />
+		<method name="getAccountHandle()Landroid/telecom/PhoneAccountHandle;" />
+		<method name="getCallCapabilities()I" />
+		<method name="getCallDirection()I" since="29" />
+		<method name="getCallProperties()I" />
+		<method name="getCallerDisplayName()Ljava/lang/String;" />
+		<method name="getCallerDisplayNamePresentation()I" />
+		<method name="getCallerNumberVerificationStatus()I" since="30" />
+		<method name="getConnectTimeMillis()J" />
+		<method name="getContactDisplayName()Ljava/lang/String;" since="30" />
+		<method name="getCreationTimeMillis()J" since="26" />
+		<method name="getDisconnectCause()Landroid/telecom/DisconnectCause;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getGatewayInfo()Landroid/telecom/GatewayInfo;" />
+		<method name="getHandle()Landroid/net/Uri;" />
+		<method name="getHandlePresentation()I" />
+		<method name="getIntentExtras()Landroid/os/Bundle;" />
+		<method name="getState()I" since="31" />
+		<method name="getStatusHints()Landroid/telecom/StatusHints;" />
+		<method name="getVideoState()I" />
+		<method name="hasProperty(I)Z" />
+		<method name="hasProperty(II)Z" />
+		<method name="propertiesToString(I)Ljava/lang/String;" />
+		<field name="CAPABILITY_ADD_PARTICIPANT" since="31" />
+		<field name="CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" since="24" />
+		<field name="CAPABILITY_CAN_PAUSE_VIDEO" />
+		<field name="CAPABILITY_CAN_PULL_CALL" since="25" />
+		<field name="CAPABILITY_DISCONNECT_FROM_CONFERENCE" />
+		<field name="CAPABILITY_HOLD" />
+		<field name="CAPABILITY_MANAGE_CONFERENCE" />
+		<field name="CAPABILITY_MERGE_CONFERENCE" />
+		<field name="CAPABILITY_MUTE" />
+		<field name="CAPABILITY_RESPOND_VIA_TEXT" />
+		<field name="CAPABILITY_SEPARATE_FROM_CONFERENCE" />
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL" />
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_RX" />
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_TX" />
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL" />
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_RX" />
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_TX" />
+		<field name="CAPABILITY_SUPPORT_DEFLECT" since="28" />
+		<field name="CAPABILITY_SUPPORT_HOLD" />
+		<field name="CAPABILITY_SWAP_CONFERENCE" />
+		<field name="DIRECTION_INCOMING" since="29" />
+		<field name="DIRECTION_OUTGOING" since="29" />
+		<field name="DIRECTION_UNKNOWN" since="29" />
+		<field name="PROPERTY_ASSISTED_DIALING" since="30" />
+		<field name="PROPERTY_CONFERENCE" />
+		<field name="PROPERTY_CROSS_SIM" since="31" />
+		<field name="PROPERTY_EMERGENCY_CALLBACK_MODE" />
+		<field name="PROPERTY_ENTERPRISE_CALL" since="24" />
+		<field name="PROPERTY_GENERIC_CONFERENCE" />
+		<field name="PROPERTY_HAS_CDMA_VOICE_PRIVACY" since="25" />
+		<field name="PROPERTY_HIGH_DEF_AUDIO" />
+		<field name="PROPERTY_IS_ADHOC_CONFERENCE" since="31" />
+		<field name="PROPERTY_IS_EXTERNAL_CALL" since="25" />
+		<field name="PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL" since="29" />
+		<field name="PROPERTY_RTT" since="28" />
+		<field name="PROPERTY_SELF_MANAGED" since="26" />
+		<field name="PROPERTY_VOIP_AUDIO_MODE" since="29" />
+		<field name="PROPERTY_WIFI" />
+	</class>
+	<class name="android/telecom/Call$RttCall" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getRttAudioMode()I" />
+		<method name="read()Ljava/lang/String;" />
+		<method name="readImmediately()Ljava/lang/String;" since="27" />
+		<method name="setRttMode(I)V" />
+		<method name="write(Ljava/lang/String;)V" />
+		<field name="RTT_MODE_FULL" />
+		<field name="RTT_MODE_HCO" />
+		<field name="RTT_MODE_VCO" />
+	</class>
+	<class name="android/telecom/CallAudioState" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(ZII)V" />
+		<method name="audioRouteToString(I)Ljava/lang/String;" />
+		<method name="getActiveBluetoothDevice()Landroid/bluetooth/BluetoothDevice;" since="28" />
+		<method name="getRoute()I" />
+		<method name="getSupportedBluetoothDevices()Ljava/util/Collection;" since="28" />
+		<method name="getSupportedRouteMask()I" />
+		<method name="isMuted()Z" />
+		<field name="CREATOR" />
+		<field name="ROUTE_BLUETOOTH" />
+		<field name="ROUTE_EARPIECE" />
+		<field name="ROUTE_SPEAKER" />
+		<field name="ROUTE_WIRED_HEADSET" />
+		<field name="ROUTE_WIRED_OR_EARPIECE" />
+	</class>
+	<class name="android/telecom/CallRedirectionService" since="29">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="cancelCall()V" />
+		<method name="onPlaceCall(Landroid/net/Uri;Landroid/telecom/PhoneAccountHandle;Z)V" />
+		<method name="placeCallUnmodified()V" />
+		<method name="redirectCall(Landroid/net/Uri;Landroid/telecom/PhoneAccountHandle;Z)V" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/telecom/CallScreeningService" since="24">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onScreenCall(Landroid/telecom/Call$Details;)V" />
+		<method name="respondToCall(Landroid/telecom/Call$Details;Landroid/telecom/CallScreeningService$CallResponse;)V" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/telecom/CallScreeningService$CallResponse" since="24">
+		<extends name="java/lang/Object" />
+		<method name="getCallComposerAttachmentsToShow()I" since="31" />
+		<method name="getDisallowCall()Z" />
+		<method name="getRejectCall()Z" />
+		<method name="getSilenceCall()Z" since="29" />
+		<method name="getSkipCallLog()Z" />
+		<method name="getSkipNotification()Z" />
+		<field name="CALL_COMPOSER_ATTACHMENT_LOCATION" since="31" />
+		<field name="CALL_COMPOSER_ATTACHMENT_PICTURE" since="31" />
+		<field name="CALL_COMPOSER_ATTACHMENT_PRIORITY" since="31" />
+		<field name="CALL_COMPOSER_ATTACHMENT_SUBJECT" since="31" />
+	</class>
+	<class name="android/telecom/CallScreeningService$CallResponse$Builder" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/telecom/CallScreeningService$CallResponse;" />
+		<method name="setCallComposerAttachmentsToShow(I)Landroid/telecom/CallScreeningService$CallResponse$Builder;" since="31" />
+		<method name="setDisallowCall(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;" />
+		<method name="setRejectCall(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;" />
+		<method name="setSilenceCall(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;" since="29" />
+		<method name="setSkipCallLog(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;" />
+		<method name="setSkipNotification(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;" />
+	</class>
+	<class name="android/telecom/Conference" since="23">
+		<extends name="android/telecom/Conferenceable" />
+		<method name="&lt;init&gt;(Landroid/telecom/PhoneAccountHandle;)V" />
+		<method name="addConnection(Landroid/telecom/Connection;)Z" />
+		<method name="createFailedConference(Landroid/telecom/DisconnectCause;Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/Conference;" since="31" />
+		<method name="destroy()V" />
+		<method name="getCallAudioState()Landroid/telecom/CallAudioState;" />
+		<method name="getConferenceableConnections()Ljava/util/List;" />
+		<method name="getConnectionCapabilities()I" />
+		<method name="getConnectionProperties()I" since="25" />
+		<method name="getConnectionStartElapsedRealtimeMillis()J" since="30" />
+		<method name="getConnectionTime()J" />
+		<method name="getConnections()Ljava/util/List;" />
+		<method name="getDisconnectCause()Landroid/telecom/DisconnectCause;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getPhoneAccountHandle()Landroid/telecom/PhoneAccountHandle;" />
+		<method name="getState()I" />
+		<method name="getStatusHints()Landroid/telecom/StatusHints;" />
+		<method name="getVideoProvider()Landroid/telecom/Connection$VideoProvider;" />
+		<method name="getVideoState()I" />
+		<method name="isRingbackRequested()Z" since="31" />
+		<method name="onAddConferenceParticipants(Ljava/util/List;)V" since="31" />
+		<method name="onAnswer(I)V" since="31" />
+		<method name="onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V" />
+		<method name="onConnectionAdded(Landroid/telecom/Connection;)V" />
+		<method name="onDisconnect()V" />
+		<method name="onExtrasChanged(Landroid/os/Bundle;)V" since="25" />
+		<method name="onHold()V" />
+		<method name="onMerge()V" />
+		<method name="onMerge(Landroid/telecom/Connection;)V" />
+		<method name="onPlayDtmfTone(C)V" />
+		<method name="onReject()V" since="31" />
+		<method name="onSeparate(Landroid/telecom/Connection;)V" />
+		<method name="onStopDtmfTone()V" />
+		<method name="onSwap()V" />
+		<method name="onUnhold()V" />
+		<method name="putExtras(Landroid/os/Bundle;)V" since="25" />
+		<method name="removeConnection(Landroid/telecom/Connection;)V" />
+		<method name="removeExtras(Ljava/util/List;)V" since="25" />
+		<method name="removeExtras([Ljava/lang/String;)V" since="25" />
+		<method name="sendConferenceEvent(Ljava/lang/String;Landroid/os/Bundle;)V" since="30" />
+		<method name="setActive()V" />
+		<method name="setConferenceableConnections(Ljava/util/List;)V" />
+		<method name="setConnectionCapabilities(I)V" />
+		<method name="setConnectionProperties(I)V" since="25" />
+		<method name="setConnectionStartElapsedRealTime(J)V" since="28" deprecated="30" />
+		<method name="setConnectionStartElapsedRealtimeMillis(J)V" since="30" />
+		<method name="setConnectionTime(J)V" />
+		<method name="setDialing()V" />
+		<method name="setDisconnected(Landroid/telecom/DisconnectCause;)V" />
+		<method name="setExtras(Landroid/os/Bundle;)V" />
+		<method name="setOnHold()V" />
+		<method name="setRingbackRequested(Z)V" since="31" />
+		<method name="setRinging()V" since="31" />
+		<method name="setStatusHints(Landroid/telecom/StatusHints;)V" />
+		<method name="setVideoProvider(Landroid/telecom/Connection;Landroid/telecom/Connection$VideoProvider;)V" />
+		<method name="setVideoState(Landroid/telecom/Connection;I)V" />
+		<field name="CONNECT_TIME_NOT_SPECIFIED" />
+	</class>
+	<class name="android/telecom/Conferenceable" since="23">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/telecom/Connection" since="23">
+		<extends name="android/telecom/Conferenceable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="capabilitiesToString(I)Ljava/lang/String;" />
+		<method name="createCanceledConnection()Landroid/telecom/Connection;" />
+		<method name="createFailedConnection(Landroid/telecom/DisconnectCause;)Landroid/telecom/Connection;" />
+		<method name="destroy()V" />
+		<method name="getAddress()Landroid/net/Uri;" />
+		<method name="getAddressPresentation()I" />
+		<method name="getAudioModeIsVoip()Z" />
+		<method name="getCallAudioState()Landroid/telecom/CallAudioState;" />
+		<method name="getCallerDisplayName()Ljava/lang/String;" />
+		<method name="getCallerDisplayNamePresentation()I" />
+		<method name="getCallerNumberVerificationStatus()I" since="30" />
+		<method name="getConference()Landroid/telecom/Conference;" />
+		<method name="getConferenceables()Ljava/util/List;" />
+		<method name="getConnectionCapabilities()I" />
+		<method name="getConnectionProperties()I" since="25" />
+		<method name="getDisconnectCause()Landroid/telecom/DisconnectCause;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getState()I" />
+		<method name="getStatusHints()Landroid/telecom/StatusHints;" />
+		<method name="getVideoProvider()Landroid/telecom/Connection$VideoProvider;" />
+		<method name="getVideoState()I" since="30" />
+		<method name="handleRttUpgradeResponse(Landroid/telecom/Connection$RttTextStream;)V" since="28" />
+		<method name="isRingbackRequested()Z" />
+		<method name="notifyConferenceMergeFailed()V" since="30" />
+		<method name="onAbort()V" />
+		<method name="onAddConferenceParticipants(Ljava/util/List;)V" since="31" />
+		<method name="onAnswer()V" />
+		<method name="onAnswer(I)V" />
+		<method name="onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V" />
+		<method name="onCallEvent(Ljava/lang/String;Landroid/os/Bundle;)V" since="25" />
+		<method name="onDeflect(Landroid/net/Uri;)V" since="28" />
+		<method name="onDisconnect()V" />
+		<method name="onExtrasChanged(Landroid/os/Bundle;)V" since="25" />
+		<method name="onHandoverComplete()V" since="28" />
+		<method name="onHold()V" />
+		<method name="onPlayDtmfTone(C)V" />
+		<method name="onPostDialContinue(Z)V" />
+		<method name="onPullExternalCall()V" since="25" />
+		<method name="onReject()V" />
+		<method name="onReject(I)V" since="30" />
+		<method name="onReject(Ljava/lang/String;)V" since="24" />
+		<method name="onSeparate()V" />
+		<method name="onShowIncomingCallUi()V" since="26" />
+		<method name="onSilence()V" since="29" />
+		<method name="onStartRtt(Landroid/telecom/Connection$RttTextStream;)V" since="28" />
+		<method name="onStateChanged(I)V" />
+		<method name="onStopDtmfTone()V" />
+		<method name="onStopRtt()V" since="28" />
+		<method name="onTrackedByNonUiService(Z)V" since="31" />
+		<method name="onUnhold()V" />
+		<method name="onUsingAlternativeUi(Z)V" since="31" />
+		<method name="propertiesToString(I)Ljava/lang/String;" since="25" />
+		<method name="putExtras(Landroid/os/Bundle;)V" since="25" />
+		<method name="removeExtras(Ljava/util/List;)V" since="25" />
+		<method name="removeExtras([Ljava/lang/String;)V" since="25" />
+		<method name="requestBluetoothAudio(Landroid/bluetooth/BluetoothDevice;)V" since="28" />
+		<method name="sendConnectionEvent(Ljava/lang/String;Landroid/os/Bundle;)V" since="25" />
+		<method name="sendRemoteRttRequest()V" since="28" />
+		<method name="sendRttInitiationFailure(I)V" since="28" />
+		<method name="sendRttInitiationSuccess()V" since="28" />
+		<method name="sendRttSessionRemotelyTerminated()V" since="28" />
+		<method name="setActive()V" />
+		<method name="setAddress(Landroid/net/Uri;I)V" />
+		<method name="setAudioModeIsVoip(Z)V" />
+		<method name="setAudioRoute(I)V" since="26" />
+		<method name="setCallerDisplayName(Ljava/lang/String;I)V" />
+		<method name="setCallerNumberVerificationStatus(I)V" since="30" />
+		<method name="setConferenceableConnections(Ljava/util/List;)V" />
+		<method name="setConferenceables(Ljava/util/List;)V" />
+		<method name="setConnectionCapabilities(I)V" />
+		<method name="setConnectionProperties(I)V" since="25" />
+		<method name="setDialing()V" />
+		<method name="setDisconnected(Landroid/telecom/DisconnectCause;)V" />
+		<method name="setExtras(Landroid/os/Bundle;)V" />
+		<method name="setInitialized()V" />
+		<method name="setInitializing()V" />
+		<method name="setNextPostDialChar(C)V" />
+		<method name="setOnHold()V" />
+		<method name="setPostDialWait(Ljava/lang/String;)V" />
+		<method name="setPulling()V" since="25" />
+		<method name="setRingbackRequested(Z)V" />
+		<method name="setRinging()V" />
+		<method name="setStatusHints(Landroid/telecom/StatusHints;)V" />
+		<method name="setVideoProvider(Landroid/telecom/Connection$VideoProvider;)V" />
+		<method name="setVideoState(I)V" />
+		<method name="stateToString(I)Ljava/lang/String;" />
+		<field name="AUDIO_CODEC_AMR" since="30" />
+		<field name="AUDIO_CODEC_AMR_WB" since="30" />
+		<field name="AUDIO_CODEC_EVRC" since="30" />
+		<field name="AUDIO_CODEC_EVRC_B" since="30" />
+		<field name="AUDIO_CODEC_EVRC_NW" since="30" />
+		<field name="AUDIO_CODEC_EVRC_WB" since="30" />
+		<field name="AUDIO_CODEC_EVS_FB" since="30" />
+		<field name="AUDIO_CODEC_EVS_NB" since="30" />
+		<field name="AUDIO_CODEC_EVS_SWB" since="30" />
+		<field name="AUDIO_CODEC_EVS_WB" since="30" />
+		<field name="AUDIO_CODEC_G711A" since="30" />
+		<field name="AUDIO_CODEC_G711AB" since="30" />
+		<field name="AUDIO_CODEC_G711U" since="30" />
+		<field name="AUDIO_CODEC_G722" since="30" />
+		<field name="AUDIO_CODEC_G723" since="30" />
+		<field name="AUDIO_CODEC_G729" since="30" />
+		<field name="AUDIO_CODEC_GSM_EFR" since="30" />
+		<field name="AUDIO_CODEC_GSM_FR" since="30" />
+		<field name="AUDIO_CODEC_GSM_HR" since="30" />
+		<field name="AUDIO_CODEC_NONE" since="30" />
+		<field name="AUDIO_CODEC_QCELP13K" since="30" />
+		<field name="CAPABILITY_ADD_PARTICIPANT" since="31" />
+		<field name="CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" since="24" />
+		<field name="CAPABILITY_CAN_PAUSE_VIDEO" />
+		<field name="CAPABILITY_CAN_PULL_CALL" since="25" />
+		<field name="CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION" since="24" />
+		<field name="CAPABILITY_CAN_UPGRADE_TO_VIDEO" deprecated="29" />
+		<field name="CAPABILITY_DISCONNECT_FROM_CONFERENCE" />
+		<field name="CAPABILITY_HOLD" />
+		<field name="CAPABILITY_MANAGE_CONFERENCE" />
+		<field name="CAPABILITY_MERGE_CONFERENCE" />
+		<field name="CAPABILITY_MUTE" />
+		<field name="CAPABILITY_RESPOND_VIA_TEXT" />
+		<field name="CAPABILITY_SEPARATE_FROM_CONFERENCE" />
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL" />
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_RX" />
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_TX" />
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL" />
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_RX" />
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_TX" />
+		<field name="CAPABILITY_SUPPORT_DEFLECT" since="28" />
+		<field name="CAPABILITY_SUPPORT_HOLD" />
+		<field name="CAPABILITY_SWAP_CONFERENCE" />
+		<field name="EVENT_CALL_HOLD_FAILED" since="30" />
+		<field name="EVENT_CALL_MERGE_FAILED" since="25" />
+		<field name="EVENT_CALL_PULL_FAILED" since="25" />
+		<field name="EVENT_CALL_REMOTELY_HELD" since="30" />
+		<field name="EVENT_CALL_REMOTELY_UNHELD" since="30" />
+		<field name="EVENT_CALL_SWITCH_FAILED" since="30" />
+		<field name="EVENT_MERGE_COMPLETE" since="30" />
+		<field name="EVENT_MERGE_START" since="30" />
+		<field name="EVENT_ON_HOLD_TONE_END" since="30" />
+		<field name="EVENT_ON_HOLD_TONE_START" since="30" />
+		<field name="EVENT_RTT_AUDIO_INDICATION_CHANGED" since="29" />
+		<field name="EXTRA_ANSWERING_DROPS_FG_CALL" since="25" />
+		<field name="EXTRA_ANSWERING_DROPS_FG_CALL_APP_NAME" since="26" />
+		<field name="EXTRA_AUDIO_CODEC" since="30" />
+		<field name="EXTRA_AUDIO_CODEC_BANDWIDTH_KHZ" since="31" />
+		<field name="EXTRA_AUDIO_CODEC_BITRATE_KBPS" since="31" />
+		<field name="EXTRA_CALL_SUBJECT" />
+		<field name="EXTRA_CHILD_ADDRESS" />
+		<field name="EXTRA_IS_RTT_AUDIO_PRESENT" since="29" />
+		<field name="EXTRA_LAST_FORWARDED_NUMBER" />
+		<field name="EXTRA_SIP_INVITE" since="29" />
+		<field name="PROPERTY_ASSISTED_DIALING" since="30" />
+		<field name="PROPERTY_CROSS_SIM" since="31" />
+		<field name="PROPERTY_HAS_CDMA_VOICE_PRIVACY" since="25" />
+		<field name="PROPERTY_HIGH_DEF_AUDIO" since="30" />
+		<field name="PROPERTY_IS_ADHOC_CONFERENCE" since="31" />
+		<field name="PROPERTY_IS_EXTERNAL_CALL" since="25" />
+		<field name="PROPERTY_IS_RTT" since="28" />
+		<field name="PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL" since="30" />
+		<field name="PROPERTY_SELF_MANAGED" since="26" />
+		<field name="PROPERTY_WIFI" since="30" />
+		<field name="STATE_ACTIVE" />
+		<field name="STATE_DIALING" />
+		<field name="STATE_DISCONNECTED" />
+		<field name="STATE_HOLDING" />
+		<field name="STATE_INITIALIZING" />
+		<field name="STATE_NEW" />
+		<field name="STATE_PULLING_CALL" since="25" />
+		<field name="STATE_RINGING" />
+		<field name="VERIFICATION_STATUS_FAILED" since="30" />
+		<field name="VERIFICATION_STATUS_NOT_VERIFIED" since="30" />
+		<field name="VERIFICATION_STATUS_PASSED" since="30" />
+	</class>
+	<class name="android/telecom/Connection$RttModifyStatus" since="26">
+		<extends name="java/lang/Object" />
+		<field name="SESSION_MODIFY_REQUEST_FAIL" />
+		<field name="SESSION_MODIFY_REQUEST_INVALID" />
+		<field name="SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE" />
+		<field name="SESSION_MODIFY_REQUEST_SUCCESS" />
+		<field name="SESSION_MODIFY_REQUEST_TIMED_OUT" />
+	</class>
+	<class name="android/telecom/Connection$RttTextStream" since="28">
+		<extends name="java/lang/Object" />
+		<method name="read()Ljava/lang/String;" />
+		<method name="readImmediately()Ljava/lang/String;" />
+		<method name="write(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/telecom/Connection$VideoProvider" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="changeCameraCapabilities(Landroid/telecom/VideoProfile$CameraCapabilities;)V" />
+		<method name="changePeerDimensions(II)V" />
+		<method name="changeVideoQuality(I)V" />
+		<method name="handleCallSessionEvent(I)V" />
+		<method name="onRequestCameraCapabilities()V" />
+		<method name="onRequestConnectionDataUsage()V" />
+		<method name="onSendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V" />
+		<method name="onSendSessionModifyResponse(Landroid/telecom/VideoProfile;)V" />
+		<method name="onSetCamera(Ljava/lang/String;)V" />
+		<method name="onSetDeviceOrientation(I)V" />
+		<method name="onSetDisplaySurface(Landroid/view/Surface;)V" />
+		<method name="onSetPauseImage(Landroid/net/Uri;)V" />
+		<method name="onSetPreviewSurface(Landroid/view/Surface;)V" />
+		<method name="onSetZoom(F)V" />
+		<method name="receiveSessionModifyRequest(Landroid/telecom/VideoProfile;)V" />
+		<method name="receiveSessionModifyResponse(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V" />
+		<method name="setCallDataUsage(J)V" />
+		<field name="SESSION_EVENT_CAMERA_FAILURE" />
+		<field name="SESSION_EVENT_CAMERA_PERMISSION_ERROR" since="26" />
+		<field name="SESSION_EVENT_CAMERA_READY" />
+		<field name="SESSION_EVENT_RX_PAUSE" />
+		<field name="SESSION_EVENT_RX_RESUME" />
+		<field name="SESSION_EVENT_TX_START" />
+		<field name="SESSION_EVENT_TX_STOP" />
+		<field name="SESSION_MODIFY_REQUEST_FAIL" />
+		<field name="SESSION_MODIFY_REQUEST_INVALID" />
+		<field name="SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE" />
+		<field name="SESSION_MODIFY_REQUEST_SUCCESS" />
+		<field name="SESSION_MODIFY_REQUEST_TIMED_OUT" />
+	</class>
+	<class name="android/telecom/ConnectionRequest" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;Landroid/os/Bundle;)V" />
+		<method name="&lt;init&gt;(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;Landroid/os/Bundle;I)V" />
+		<method name="getAccountHandle()Landroid/telecom/PhoneAccountHandle;" />
+		<method name="getAddress()Landroid/net/Uri;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getParticipants()Ljava/util/List;" since="30" />
+		<method name="getRttTextStream()Landroid/telecom/Connection$RttTextStream;" since="28" />
+		<method name="getVideoState()I" />
+		<method name="isAdhocConferenceCall()Z" since="30" />
+		<method name="isRequestingRtt()Z" since="28" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telecom/ConnectionService" since="23">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addConference(Landroid/telecom/Conference;)V" />
+		<method name="addExistingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/Connection;)V" />
+		<method name="conferenceRemoteConnections(Landroid/telecom/RemoteConnection;Landroid/telecom/RemoteConnection;)V" />
+		<method name="connectionServiceFocusReleased()V" since="28" />
+		<method name="createRemoteIncomingConference(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/RemoteConference;" since="31" />
+		<method name="createRemoteIncomingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/RemoteConnection;" />
+		<method name="createRemoteOutgoingConference(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/RemoteConference;" since="31" />
+		<method name="createRemoteOutgoingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/RemoteConnection;" />
+		<method name="getAllConferences()Ljava/util/Collection;" since="24" />
+		<method name="getAllConnections()Ljava/util/Collection;" />
+		<method name="onConference(Landroid/telecom/Connection;Landroid/telecom/Connection;)V" />
+		<method name="onConnectionServiceFocusGained()V" since="28" />
+		<method name="onConnectionServiceFocusLost()V" since="28" />
+		<method name="onCreateIncomingConference(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Conference;" since="31" />
+		<method name="onCreateIncomingConferenceFailed(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)V" since="31" />
+		<method name="onCreateIncomingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Connection;" />
+		<method name="onCreateIncomingConnectionFailed(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)V" since="26" />
+		<method name="onCreateIncomingHandoverConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Connection;" since="28" />
+		<method name="onCreateOutgoingConference(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Conference;" since="31" />
+		<method name="onCreateOutgoingConferenceFailed(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)V" since="31" />
+		<method name="onCreateOutgoingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Connection;" />
+		<method name="onCreateOutgoingConnectionFailed(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)V" since="26" />
+		<method name="onCreateOutgoingHandoverConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Connection;" since="28" />
+		<method name="onHandoverFailed(Landroid/telecom/ConnectionRequest;I)V" since="28" />
+		<method name="onRemoteConferenceAdded(Landroid/telecom/RemoteConference;)V" />
+		<method name="onRemoteExistingConnectionAdded(Landroid/telecom/RemoteConnection;)V" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/telecom/DisconnectCause" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" />
+		<method name="getCode()I" />
+		<method name="getDescription()Ljava/lang/CharSequence;" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<method name="getReason()Ljava/lang/String;" />
+		<method name="getTone()I" />
+		<field name="ANSWERED_ELSEWHERE" since="25" />
+		<field name="BUSY" />
+		<field name="CALL_PULLED" since="25" />
+		<field name="CANCELED" />
+		<field name="CONNECTION_MANAGER_NOT_SUPPORTED" />
+		<field name="CREATOR" />
+		<field name="ERROR" />
+		<field name="LOCAL" />
+		<field name="MISSED" />
+		<field name="OTHER" />
+		<field name="REASON_EMERGENCY_CALL_PLACED" since="30" />
+		<field name="REASON_EMULATING_SINGLE_CALL" since="31" />
+		<field name="REASON_IMS_ACCESS_BLOCKED" since="31" />
+		<field name="REASON_WIFI_ON_BUT_WFC_OFF" since="31" />
+		<field name="REJECTED" />
+		<field name="REMOTE" />
+		<field name="RESTRICTED" />
+		<field name="UNKNOWN" />
+	</class>
+	<class name="android/telecom/GatewayInfo" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/net/Uri;Landroid/net/Uri;)V" />
+		<method name="getGatewayAddress()Landroid/net/Uri;" />
+		<method name="getGatewayProviderPackageName()Ljava/lang/String;" />
+		<method name="getOriginalAddress()Landroid/net/Uri;" />
+		<method name="isEmpty()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telecom/InCallService" since="23">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="canAddCall()Z" />
+		<method name="getCallAudioState()Landroid/telecom/CallAudioState;" />
+		<method name="getCalls()Ljava/util/List;" />
+		<method name="onBringToForeground(Z)V" />
+		<method name="onCallAdded(Landroid/telecom/Call;)V" />
+		<method name="onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V" />
+		<method name="onCallRemoved(Landroid/telecom/Call;)V" />
+		<method name="onCanAddCallChanged(Z)V" />
+		<method name="onConnectionEvent(Landroid/telecom/Call;Ljava/lang/String;Landroid/os/Bundle;)V" since="25" />
+		<method name="onSilenceRinger()V" since="24" />
+		<method name="requestBluetoothAudio(Landroid/bluetooth/BluetoothDevice;)V" since="28" />
+		<method name="setAudioRoute(I)V" />
+		<method name="setMuted(Z)V" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/telecom/InCallService$VideoCall" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="registerCallback(Landroid/telecom/InCallService$VideoCall$Callback;)V" />
+		<method name="registerCallback(Landroid/telecom/InCallService$VideoCall$Callback;Landroid/os/Handler;)V" />
+		<method name="requestCallDataUsage()V" />
+		<method name="requestCameraCapabilities()V" />
+		<method name="sendSessionModifyRequest(Landroid/telecom/VideoProfile;)V" />
+		<method name="sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V" />
+		<method name="setCamera(Ljava/lang/String;)V" />
+		<method name="setDeviceOrientation(I)V" />
+		<method name="setDisplaySurface(Landroid/view/Surface;)V" />
+		<method name="setPauseImage(Landroid/net/Uri;)V" />
+		<method name="setPreviewSurface(Landroid/view/Surface;)V" />
+		<method name="setZoom(F)V" />
+		<method name="unregisterCallback(Landroid/telecom/InCallService$VideoCall$Callback;)V" />
+	</class>
+	<class name="android/telecom/InCallService$VideoCall$Callback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCallDataUsageChanged(J)V" />
+		<method name="onCallSessionEvent(I)V" />
+		<method name="onCameraCapabilitiesChanged(Landroid/telecom/VideoProfile$CameraCapabilities;)V" />
+		<method name="onPeerDimensionsChanged(II)V" />
+		<method name="onSessionModifyRequestReceived(Landroid/telecom/VideoProfile;)V" />
+		<method name="onSessionModifyResponseReceived(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V" />
+		<method name="onVideoQualityChanged(I)V" />
+	</class>
+	<class name="android/telecom/PhoneAccount" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="builder(Landroid/telecom/PhoneAccountHandle;Ljava/lang/CharSequence;)Landroid/telecom/PhoneAccount$Builder;" />
+		<method name="getAccountHandle()Landroid/telecom/PhoneAccountHandle;" />
+		<method name="getAddress()Landroid/net/Uri;" />
+		<method name="getCapabilities()I" />
+		<method name="getExtras()Landroid/os/Bundle;" since="24" />
+		<method name="getHighlightColor()I" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<method name="getShortDescription()Ljava/lang/CharSequence;" />
+		<method name="getSubscriptionAddress()Landroid/net/Uri;" />
+		<method name="getSupportedUriSchemes()Ljava/util/List;" />
+		<method name="hasCapabilities(I)Z" />
+		<method name="isEnabled()Z" />
+		<method name="supportsUriScheme(Ljava/lang/String;)Z" />
+		<method name="toBuilder()Landroid/telecom/PhoneAccount$Builder;" />
+		<field name="CAPABILITY_ADHOC_CONFERENCE_CALLING" since="30" />
+		<field name="CAPABILITY_CALL_COMPOSER" since="31" />
+		<field name="CAPABILITY_CALL_PROVIDER" />
+		<field name="CAPABILITY_CALL_SUBJECT" />
+		<field name="CAPABILITY_CONNECTION_MANAGER" />
+		<field name="CAPABILITY_PLACE_EMERGENCY_CALLS" />
+		<field name="CAPABILITY_RTT" since="26" />
+		<field name="CAPABILITY_SELF_MANAGED" since="26" />
+		<field name="CAPABILITY_SIM_SUBSCRIPTION" />
+		<field name="CAPABILITY_SUPPORTS_VIDEO_CALLING" since="26" />
+		<field name="CAPABILITY_VIDEO_CALLING" />
+		<field name="CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE" since="24" />
+		<field name="CREATOR" />
+		<field name="EXTRA_ADD_SELF_MANAGED_CALLS_TO_INCALLSERVICE" since="31" />
+		<field name="EXTRA_ALWAYS_USE_VOIP_AUDIO_MODE" since="31" />
+		<field name="EXTRA_CALL_SUBJECT_CHARACTER_ENCODING" since="24" />
+		<field name="EXTRA_CALL_SUBJECT_MAX_LENGTH" since="24" />
+		<field name="EXTRA_LOG_SELF_MANAGED_CALLS" since="28" />
+		<field name="EXTRA_SUPPORTS_HANDOVER_FROM" since="28" />
+		<field name="EXTRA_SUPPORTS_HANDOVER_TO" since="28" />
+		<field name="NO_HIGHLIGHT_COLOR" />
+		<field name="NO_RESOURCE_ID" />
+		<field name="SCHEME_SIP" />
+		<field name="SCHEME_TEL" />
+		<field name="SCHEME_VOICEMAIL" />
+	</class>
+	<class name="android/telecom/PhoneAccount$Builder" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/telecom/PhoneAccount;)V" />
+		<method name="&lt;init&gt;(Landroid/telecom/PhoneAccountHandle;Ljava/lang/CharSequence;)V" />
+		<method name="addSupportedUriScheme(Ljava/lang/String;)Landroid/telecom/PhoneAccount$Builder;" />
+		<method name="build()Landroid/telecom/PhoneAccount;" />
+		<method name="setAddress(Landroid/net/Uri;)Landroid/telecom/PhoneAccount$Builder;" />
+		<method name="setCapabilities(I)Landroid/telecom/PhoneAccount$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/telecom/PhoneAccount$Builder;" since="24" />
+		<method name="setHighlightColor(I)Landroid/telecom/PhoneAccount$Builder;" />
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)Landroid/telecom/PhoneAccount$Builder;" />
+		<method name="setShortDescription(Ljava/lang/CharSequence;)Landroid/telecom/PhoneAccount$Builder;" />
+		<method name="setSubscriptionAddress(Landroid/net/Uri;)Landroid/telecom/PhoneAccount$Builder;" />
+		<method name="setSupportedUriSchemes(Ljava/util/List;)Landroid/telecom/PhoneAccount$Builder;" />
+	</class>
+	<class name="android/telecom/PhoneAccountHandle" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/content/ComponentName;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/UserHandle;)V" />
+		<method name="getComponentName()Landroid/content/ComponentName;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getUserHandle()Landroid/os/UserHandle;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telecom/PhoneAccountSuggestion" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/telecom/PhoneAccountHandle;IZ)V" />
+		<method name="getPhoneAccountHandle()Landroid/telecom/PhoneAccountHandle;" />
+		<method name="getReason()I" />
+		<method name="shouldAutoSelect()Z" />
+		<field name="CREATOR" />
+		<field name="REASON_FREQUENT" />
+		<field name="REASON_INTRA_CARRIER" />
+		<field name="REASON_NONE" />
+		<field name="REASON_OTHER" />
+		<field name="REASON_USER_SET" />
+	</class>
+	<class name="android/telecom/RemoteConference" since="23">
+		<extends name="java/lang/Object" />
+		<method name="disconnect()V" />
+		<method name="getConferenceableConnections()Ljava/util/List;" />
+		<method name="getConnectionCapabilities()I" />
+		<method name="getConnectionProperties()I" since="24" />
+		<method name="getConnections()Ljava/util/List;" />
+		<method name="getDisconnectCause()Landroid/telecom/DisconnectCause;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getState()I" />
+		<method name="hold()V" />
+		<method name="merge()V" />
+		<method name="playDtmfTone(C)V" />
+		<method name="registerCallback(Landroid/telecom/RemoteConference$Callback;)V" />
+		<method name="registerCallback(Landroid/telecom/RemoteConference$Callback;Landroid/os/Handler;)V" />
+		<method name="separate(Landroid/telecom/RemoteConnection;)V" />
+		<method name="setCallAudioState(Landroid/telecom/CallAudioState;)V" />
+		<method name="stopDtmfTone()V" />
+		<method name="swap()V" />
+		<method name="unhold()V" />
+		<method name="unregisterCallback(Landroid/telecom/RemoteConference$Callback;)V" />
+	</class>
+	<class name="android/telecom/RemoteConference$Callback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onConferenceableConnectionsChanged(Landroid/telecom/RemoteConference;Ljava/util/List;)V" />
+		<method name="onConnectionAdded(Landroid/telecom/RemoteConference;Landroid/telecom/RemoteConnection;)V" />
+		<method name="onConnectionCapabilitiesChanged(Landroid/telecom/RemoteConference;I)V" />
+		<method name="onConnectionPropertiesChanged(Landroid/telecom/RemoteConference;I)V" since="25" />
+		<method name="onConnectionRemoved(Landroid/telecom/RemoteConference;Landroid/telecom/RemoteConnection;)V" />
+		<method name="onDestroyed(Landroid/telecom/RemoteConference;)V" />
+		<method name="onDisconnected(Landroid/telecom/RemoteConference;Landroid/telecom/DisconnectCause;)V" />
+		<method name="onExtrasChanged(Landroid/telecom/RemoteConference;Landroid/os/Bundle;)V" />
+		<method name="onStateChanged(Landroid/telecom/RemoteConference;II)V" />
+	</class>
+	<class name="android/telecom/RemoteConnection" since="23">
+		<extends name="java/lang/Object" />
+		<method name="abort()V" />
+		<method name="addConferenceParticipants(Ljava/util/List;)V" since="31" />
+		<method name="answer()V" />
+		<method name="disconnect()V" />
+		<method name="getAddress()Landroid/net/Uri;" />
+		<method name="getAddressPresentation()I" />
+		<method name="getCallerDisplayName()Ljava/lang/CharSequence;" />
+		<method name="getCallerDisplayNamePresentation()I" />
+		<method name="getConference()Landroid/telecom/RemoteConference;" />
+		<method name="getConferenceableConnections()Ljava/util/List;" />
+		<method name="getConnectionCapabilities()I" />
+		<method name="getConnectionProperties()I" since="25" />
+		<method name="getDisconnectCause()Landroid/telecom/DisconnectCause;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getState()I" />
+		<method name="getStatusHints()Landroid/telecom/StatusHints;" />
+		<method name="getVideoProvider()Landroid/telecom/RemoteConnection$VideoProvider;" />
+		<method name="getVideoState()I" />
+		<method name="hold()V" />
+		<method name="isRingbackRequested()Z" />
+		<method name="isVoipAudioMode()Z" />
+		<method name="playDtmfTone(C)V" />
+		<method name="postDialContinue(Z)V" />
+		<method name="pullExternalCall()V" since="25" />
+		<method name="registerCallback(Landroid/telecom/RemoteConnection$Callback;)V" />
+		<method name="registerCallback(Landroid/telecom/RemoteConnection$Callback;Landroid/os/Handler;)V" />
+		<method name="reject()V" />
+		<method name="setCallAudioState(Landroid/telecom/CallAudioState;)V" />
+		<method name="stopDtmfTone()V" />
+		<method name="unhold()V" />
+		<method name="unregisterCallback(Landroid/telecom/RemoteConnection$Callback;)V" />
+	</class>
+	<class name="android/telecom/RemoteConnection$Callback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAddressChanged(Landroid/telecom/RemoteConnection;Landroid/net/Uri;I)V" />
+		<method name="onCallerDisplayNameChanged(Landroid/telecom/RemoteConnection;Ljava/lang/String;I)V" />
+		<method name="onConferenceChanged(Landroid/telecom/RemoteConnection;Landroid/telecom/RemoteConference;)V" />
+		<method name="onConferenceableConnectionsChanged(Landroid/telecom/RemoteConnection;Ljava/util/List;)V" />
+		<method name="onConnectionCapabilitiesChanged(Landroid/telecom/RemoteConnection;I)V" />
+		<method name="onConnectionEvent(Landroid/telecom/RemoteConnection;Ljava/lang/String;Landroid/os/Bundle;)V" since="25" />
+		<method name="onConnectionPropertiesChanged(Landroid/telecom/RemoteConnection;I)V" since="25" />
+		<method name="onDestroyed(Landroid/telecom/RemoteConnection;)V" />
+		<method name="onDisconnected(Landroid/telecom/RemoteConnection;Landroid/telecom/DisconnectCause;)V" />
+		<method name="onExtrasChanged(Landroid/telecom/RemoteConnection;Landroid/os/Bundle;)V" />
+		<method name="onPostDialChar(Landroid/telecom/RemoteConnection;C)V" />
+		<method name="onPostDialWait(Landroid/telecom/RemoteConnection;Ljava/lang/String;)V" />
+		<method name="onRingbackRequested(Landroid/telecom/RemoteConnection;Z)V" />
+		<method name="onStateChanged(Landroid/telecom/RemoteConnection;I)V" />
+		<method name="onStatusHintsChanged(Landroid/telecom/RemoteConnection;Landroid/telecom/StatusHints;)V" />
+		<method name="onVideoProviderChanged(Landroid/telecom/RemoteConnection;Landroid/telecom/RemoteConnection$VideoProvider;)V" />
+		<method name="onVideoStateChanged(Landroid/telecom/RemoteConnection;I)V" />
+		<method name="onVoipAudioChanged(Landroid/telecom/RemoteConnection;Z)V" />
+	</class>
+	<class name="android/telecom/RemoteConnection$VideoProvider" since="23">
+		<extends name="java/lang/Object" />
+		<method name="registerCallback(Landroid/telecom/RemoteConnection$VideoProvider$Callback;)V" />
+		<method name="requestCallDataUsage()V" />
+		<method name="requestCameraCapabilities()V" />
+		<method name="sendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V" />
+		<method name="sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V" />
+		<method name="setCamera(Ljava/lang/String;)V" />
+		<method name="setDeviceOrientation(I)V" />
+		<method name="setDisplaySurface(Landroid/view/Surface;)V" />
+		<method name="setPauseImage(Landroid/net/Uri;)V" />
+		<method name="setPreviewSurface(Landroid/view/Surface;)V" />
+		<method name="setZoom(F)V" />
+		<method name="unregisterCallback(Landroid/telecom/RemoteConnection$VideoProvider$Callback;)V" />
+	</class>
+	<class name="android/telecom/RemoteConnection$VideoProvider$Callback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCallDataUsageChanged(Landroid/telecom/RemoteConnection$VideoProvider;J)V" />
+		<method name="onCallSessionEvent(Landroid/telecom/RemoteConnection$VideoProvider;I)V" />
+		<method name="onCameraCapabilitiesChanged(Landroid/telecom/RemoteConnection$VideoProvider;Landroid/telecom/VideoProfile$CameraCapabilities;)V" />
+		<method name="onPeerDimensionsChanged(Landroid/telecom/RemoteConnection$VideoProvider;II)V" />
+		<method name="onSessionModifyRequestReceived(Landroid/telecom/RemoteConnection$VideoProvider;Landroid/telecom/VideoProfile;)V" />
+		<method name="onSessionModifyResponseReceived(Landroid/telecom/RemoteConnection$VideoProvider;ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V" />
+		<method name="onVideoQualityChanged(Landroid/telecom/RemoteConnection$VideoProvider;I)V" />
+	</class>
+	<class name="android/telecom/StatusHints" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Landroid/graphics/drawable/Icon;Landroid/os/Bundle;)V" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telecom/TelecomManager" since="21">
+		<extends name="java/lang/Object" />
+		<method name="acceptHandover(Landroid/net/Uri;ILandroid/telecom/PhoneAccountHandle;)V" since="28" />
+		<method name="acceptRingingCall()V" since="26" deprecated="29" />
+		<method name="acceptRingingCall(I)V" since="26" deprecated="29" />
+		<method name="addNewIncomingCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V" since="23" />
+		<method name="addNewIncomingConference(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V" since="31" />
+		<method name="cancelMissedCallsNotification()V" />
+		<method name="createManageBlockedNumbersIntent()Landroid/content/Intent;" since="24" />
+		<method name="endCall()Z" since="28" deprecated="29" />
+		<method name="getAdnUriForPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/net/Uri;" since="23" />
+		<method name="getCallCapablePhoneAccounts()Ljava/util/List;" since="23" />
+		<method name="getDefaultDialerPackage()Ljava/lang/String;" since="23" />
+		<method name="getDefaultOutgoingPhoneAccount(Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;" since="23" />
+		<method name="getLine1Number(Landroid/telecom/PhoneAccountHandle;)Ljava/lang/String;" since="23" />
+		<method name="getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;" since="23" />
+		<method name="getSelfManagedPhoneAccounts()Ljava/util/List;" since="26" />
+		<method name="getSimCallManager()Landroid/telecom/PhoneAccountHandle;" since="23" />
+		<method name="getSimCallManagerForSubscription(I)Landroid/telecom/PhoneAccountHandle;" since="30" />
+		<method name="getSystemDialerPackage()Ljava/lang/String;" since="29" />
+		<method name="getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;" since="29" />
+		<method name="getVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;)Ljava/lang/String;" since="23" />
+		<method name="handleMmi(Ljava/lang/String;)Z" />
+		<method name="handleMmi(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;)Z" since="23" />
+		<method name="hasManageOngoingCallsPermission()Z" since="31" />
+		<method name="isInCall()Z" />
+		<method name="isInManagedCall()Z" since="26" />
+		<method name="isIncomingCallPermitted(Landroid/telecom/PhoneAccountHandle;)Z" since="26" />
+		<method name="isOutgoingCallPermitted(Landroid/telecom/PhoneAccountHandle;)Z" since="26" />
+		<method name="isTtySupported()Z" since="28" />
+		<method name="isVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Z" since="23" />
+		<method name="placeCall(Landroid/net/Uri;Landroid/os/Bundle;)V" since="23" />
+		<method name="registerPhoneAccount(Landroid/telecom/PhoneAccount;)V" since="23" />
+		<method name="showInCallScreen(Z)V" />
+		<method name="silenceRinger()V" since="23" />
+		<method name="startConference(Ljava/util/List;Landroid/os/Bundle;)V" since="31" />
+		<method name="unregisterPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V" since="23" />
+		<field name="ACTION_CHANGE_DEFAULT_DIALER" since="23" />
+		<field name="ACTION_CHANGE_PHONE_ACCOUNTS" since="23" />
+		<field name="ACTION_CONFIGURE_PHONE_ACCOUNT" since="23" />
+		<field name="ACTION_DEFAULT_CALL_SCREENING_APP_CHANGED" since="29" />
+		<field name="ACTION_DEFAULT_DIALER_CHANGED" since="23" />
+		<field name="ACTION_INCOMING_CALL" since="23" deprecated="26" />
+		<field name="ACTION_PHONE_ACCOUNT_REGISTERED" since="26" />
+		<field name="ACTION_PHONE_ACCOUNT_UNREGISTERED" since="26" />
+		<field name="ACTION_POST_CALL" since="30" />
+		<field name="ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS" since="23" />
+		<field name="ACTION_SHOW_CALL_SETTINGS" />
+		<field name="ACTION_SHOW_MISSED_CALLS_NOTIFICATION" since="24" />
+		<field name="ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS" since="23" />
+		<field name="DTMF_CHARACTER_PAUSE" />
+		<field name="DTMF_CHARACTER_WAIT" />
+		<field name="DURATION_LONG" since="30" />
+		<field name="DURATION_MEDIUM" since="30" />
+		<field name="DURATION_SHORT" since="30" />
+		<field name="DURATION_VERY_SHORT" since="30" />
+		<field name="EXTRA_CALL_BACK_NUMBER" since="23" />
+		<field name="EXTRA_CALL_DISCONNECT_CAUSE" />
+		<field name="EXTRA_CALL_DISCONNECT_MESSAGE" />
+		<field name="EXTRA_CALL_DURATION" since="30" />
+		<field name="EXTRA_CALL_NETWORK_TYPE" since="29" />
+		<field name="EXTRA_CALL_SUBJECT" since="23" />
+		<field name="EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME" since="23" />
+		<field name="EXTRA_DEFAULT_CALL_SCREENING_APP_COMPONENT_NAME" since="29" />
+		<field name="EXTRA_DISCONNECT_CAUSE" since="30" />
+		<field name="EXTRA_HANDLE" since="30" />
+		<field name="EXTRA_HAS_PICTURE" since="31" />
+		<field name="EXTRA_INCOMING_CALL_ADDRESS" since="23" />
+		<field name="EXTRA_INCOMING_CALL_EXTRAS" since="23" />
+		<field name="EXTRA_INCOMING_VIDEO_STATE" since="26" />
+		<field name="EXTRA_IS_DEFAULT_CALL_SCREENING_APP" since="29" />
+		<field name="EXTRA_LOCATION" since="31" />
+		<field name="EXTRA_NOTIFICATION_COUNT" since="24" />
+		<field name="EXTRA_NOTIFICATION_PHONE_NUMBER" since="24" />
+		<field name="EXTRA_OUTGOING_CALL_EXTRAS" since="23" />
+		<field name="EXTRA_OUTGOING_PICTURE" since="31" />
+		<field name="EXTRA_PHONE_ACCOUNT_HANDLE" since="23" />
+		<field name="EXTRA_PICTURE_URI" since="31" />
+		<field name="EXTRA_PRIORITY" since="31" />
+		<field name="EXTRA_START_CALL_WITH_RTT" since="26" />
+		<field name="EXTRA_START_CALL_WITH_SPEAKERPHONE" />
+		<field name="EXTRA_START_CALL_WITH_VIDEO_STATE" since="23" />
+		<field name="EXTRA_USE_ASSISTED_DIALING" since="30" />
+		<field name="GATEWAY_ORIGINAL_ADDRESS" />
+		<field name="GATEWAY_PROVIDER_PACKAGE" />
+		<field name="METADATA_INCLUDE_EXTERNAL_CALLS" since="25" />
+		<field name="METADATA_INCLUDE_SELF_MANAGED_CALLS" since="26" />
+		<field name="METADATA_IN_CALL_SERVICE_CAR_MODE_UI" since="29" />
+		<field name="METADATA_IN_CALL_SERVICE_RINGING" since="24" />
+		<field name="METADATA_IN_CALL_SERVICE_UI" since="23" />
+		<field name="PRESENTATION_ALLOWED" />
+		<field name="PRESENTATION_PAYPHONE" />
+		<field name="PRESENTATION_RESTRICTED" />
+		<field name="PRESENTATION_UNKNOWN" />
+		<field name="PRIORITY_NORMAL" since="31" />
+		<field name="PRIORITY_URGENT" since="31" />
+	</class>
+	<class name="android/telecom/VideoProfile" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getQuality()I" />
+		<method name="getVideoState()I" />
+		<method name="isAudioOnly(I)Z" />
+		<method name="isBidirectional(I)Z" />
+		<method name="isPaused(I)Z" />
+		<method name="isReceptionEnabled(I)Z" />
+		<method name="isTransmissionEnabled(I)Z" />
+		<method name="isVideo(I)Z" />
+		<method name="videoStateToString(I)Ljava/lang/String;" />
+		<field name="CREATOR" />
+		<field name="QUALITY_DEFAULT" />
+		<field name="QUALITY_HIGH" />
+		<field name="QUALITY_LOW" />
+		<field name="QUALITY_MEDIUM" />
+		<field name="STATE_AUDIO_ONLY" />
+		<field name="STATE_BIDIRECTIONAL" />
+		<field name="STATE_PAUSED" />
+		<field name="STATE_RX_ENABLED" />
+		<field name="STATE_TX_ENABLED" />
+	</class>
+	<class name="android/telecom/VideoProfile$CameraCapabilities" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(IIZF)V" since="29" />
+		<method name="getHeight()I" />
+		<method name="getMaxZoom()F" since="29" />
+		<method name="getWidth()I" />
+		<method name="isZoomSupported()Z" since="29" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/AccessNetworkConstants" since="28">
+		<extends name="java/lang/Object" />
+		<field name="TRANSPORT_TYPE_WLAN" since="30" />
+		<field name="TRANSPORT_TYPE_WWAN" since="30" />
+	</class>
+	<class name="android/telephony/AccessNetworkConstants$AccessNetworkType" since="28">
+		<extends name="java/lang/Object" />
+		<field name="CDMA2000" />
+		<field name="EUTRAN" />
+		<field name="GERAN" />
+		<field name="IWLAN" />
+		<field name="NGRAN" since="30" />
+		<field name="UNKNOWN" />
+		<field name="UTRAN" />
+	</class>
+	<class name="android/telephony/AccessNetworkConstants$EutranBand" since="28">
+		<extends name="java/lang/Object" />
+		<field name="BAND_1" />
+		<field name="BAND_10" />
+		<field name="BAND_11" />
+		<field name="BAND_12" />
+		<field name="BAND_13" />
+		<field name="BAND_14" />
+		<field name="BAND_17" />
+		<field name="BAND_18" />
+		<field name="BAND_19" />
+		<field name="BAND_2" />
+		<field name="BAND_20" />
+		<field name="BAND_21" />
+		<field name="BAND_22" />
+		<field name="BAND_23" />
+		<field name="BAND_24" />
+		<field name="BAND_25" />
+		<field name="BAND_26" />
+		<field name="BAND_27" />
+		<field name="BAND_28" />
+		<field name="BAND_3" />
+		<field name="BAND_30" />
+		<field name="BAND_31" />
+		<field name="BAND_33" />
+		<field name="BAND_34" />
+		<field name="BAND_35" />
+		<field name="BAND_36" />
+		<field name="BAND_37" />
+		<field name="BAND_38" />
+		<field name="BAND_39" />
+		<field name="BAND_4" />
+		<field name="BAND_40" />
+		<field name="BAND_41" />
+		<field name="BAND_42" />
+		<field name="BAND_43" />
+		<field name="BAND_44" />
+		<field name="BAND_45" />
+		<field name="BAND_46" />
+		<field name="BAND_47" />
+		<field name="BAND_48" />
+		<field name="BAND_49" since="30" />
+		<field name="BAND_5" />
+		<field name="BAND_50" since="30" />
+		<field name="BAND_51" since="30" />
+		<field name="BAND_52" since="30" />
+		<field name="BAND_53" since="30" />
+		<field name="BAND_6" />
+		<field name="BAND_65" />
+		<field name="BAND_66" />
+		<field name="BAND_68" />
+		<field name="BAND_7" />
+		<field name="BAND_70" />
+		<field name="BAND_71" since="30" />
+		<field name="BAND_72" since="30" />
+		<field name="BAND_73" since="30" />
+		<field name="BAND_74" since="30" />
+		<field name="BAND_8" />
+		<field name="BAND_85" since="30" />
+		<field name="BAND_87" since="30" />
+		<field name="BAND_88" since="30" />
+		<field name="BAND_9" />
+	</class>
+	<class name="android/telephony/AccessNetworkConstants$GeranBand" since="28">
+		<extends name="java/lang/Object" />
+		<field name="BAND_450" />
+		<field name="BAND_480" />
+		<field name="BAND_710" />
+		<field name="BAND_750" />
+		<field name="BAND_850" />
+		<field name="BAND_DCS1800" />
+		<field name="BAND_E900" />
+		<field name="BAND_ER900" />
+		<field name="BAND_P900" />
+		<field name="BAND_PCS1900" />
+		<field name="BAND_R900" />
+		<field name="BAND_T380" />
+		<field name="BAND_T410" />
+		<field name="BAND_T810" />
+	</class>
+	<class name="android/telephony/AccessNetworkConstants$NgranBands" since="30">
+		<extends name="java/lang/Object" />
+		<field name="BAND_1" />
+		<field name="BAND_12" />
+		<field name="BAND_14" />
+		<field name="BAND_18" />
+		<field name="BAND_2" />
+		<field name="BAND_20" />
+		<field name="BAND_25" />
+		<field name="BAND_257" />
+		<field name="BAND_258" />
+		<field name="BAND_26" since="31" />
+		<field name="BAND_260" />
+		<field name="BAND_261" />
+		<field name="BAND_28" />
+		<field name="BAND_29" />
+		<field name="BAND_3" />
+		<field name="BAND_30" />
+		<field name="BAND_34" />
+		<field name="BAND_38" />
+		<field name="BAND_39" />
+		<field name="BAND_40" />
+		<field name="BAND_41" />
+		<field name="BAND_46" since="31" />
+		<field name="BAND_48" />
+		<field name="BAND_5" />
+		<field name="BAND_50" />
+		<field name="BAND_51" />
+		<field name="BAND_53" since="31" />
+		<field name="BAND_65" />
+		<field name="BAND_66" />
+		<field name="BAND_7" />
+		<field name="BAND_70" />
+		<field name="BAND_71" />
+		<field name="BAND_74" />
+		<field name="BAND_75" />
+		<field name="BAND_76" />
+		<field name="BAND_77" />
+		<field name="BAND_78" />
+		<field name="BAND_79" />
+		<field name="BAND_8" />
+		<field name="BAND_80" />
+		<field name="BAND_81" />
+		<field name="BAND_82" />
+		<field name="BAND_83" />
+		<field name="BAND_84" />
+		<field name="BAND_86" />
+		<field name="BAND_89" />
+		<field name="BAND_90" />
+		<field name="BAND_91" />
+		<field name="BAND_92" />
+		<field name="BAND_93" />
+		<field name="BAND_94" />
+		<field name="BAND_95" />
+		<field name="BAND_96" since="31" />
+	</class>
+	<class name="android/telephony/AccessNetworkConstants$UtranBand" since="28">
+		<extends name="java/lang/Object" />
+		<field name="BAND_1" />
+		<field name="BAND_10" />
+		<field name="BAND_11" />
+		<field name="BAND_12" />
+		<field name="BAND_13" />
+		<field name="BAND_14" />
+		<field name="BAND_19" />
+		<field name="BAND_2" />
+		<field name="BAND_20" />
+		<field name="BAND_21" />
+		<field name="BAND_22" />
+		<field name="BAND_25" />
+		<field name="BAND_26" />
+		<field name="BAND_3" />
+		<field name="BAND_4" />
+		<field name="BAND_5" />
+		<field name="BAND_6" />
+		<field name="BAND_7" />
+		<field name="BAND_8" />
+		<field name="BAND_9" />
+		<field name="BAND_A" since="30" />
+		<field name="BAND_B" since="30" />
+		<field name="BAND_C" since="30" />
+		<field name="BAND_D" since="30" />
+		<field name="BAND_E" since="30" />
+		<field name="BAND_F" since="30" />
+	</class>
+	<class name="android/telephony/AvailableNetworkInfo" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(IILjava/util/List;Ljava/util/List;)V" />
+		<method name="getBands()Ljava/util/List;" />
+		<method name="getMccMncs()Ljava/util/List;" />
+		<method name="getPriority()I" />
+		<method name="getSubId()I" />
+		<field name="CREATOR" />
+		<field name="PRIORITY_HIGH" />
+		<field name="PRIORITY_LOW" />
+		<field name="PRIORITY_MED" />
+	</class>
+	<class name="android/telephony/BarringInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getBarringServiceInfo(I)Landroid/telephony/BarringInfo$BarringServiceInfo;" />
+		<field name="BARRING_SERVICE_TYPE_CS_FALLBACK" />
+		<field name="BARRING_SERVICE_TYPE_CS_SERVICE" />
+		<field name="BARRING_SERVICE_TYPE_CS_VOICE" />
+		<field name="BARRING_SERVICE_TYPE_EMERGENCY" />
+		<field name="BARRING_SERVICE_TYPE_MMTEL_VIDEO" />
+		<field name="BARRING_SERVICE_TYPE_MMTEL_VOICE" />
+		<field name="BARRING_SERVICE_TYPE_MO_DATA" />
+		<field name="BARRING_SERVICE_TYPE_MO_SIGNALLING" />
+		<field name="BARRING_SERVICE_TYPE_PS_SERVICE" />
+		<field name="BARRING_SERVICE_TYPE_SMS" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/BarringInfo$BarringServiceInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getBarringType()I" />
+		<method name="getConditionalBarringFactor()I" />
+		<method name="getConditionalBarringTimeSeconds()I" />
+		<method name="isBarred()Z" />
+		<method name="isConditionallyBarred()Z" />
+		<field name="BARRING_TYPE_CONDITIONAL" />
+		<field name="BARRING_TYPE_NONE" />
+		<field name="BARRING_TYPE_UNCONDITIONAL" />
+		<field name="BARRING_TYPE_UNKNOWN" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CarrierConfigManager" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getConfig()Landroid/os/PersistableBundle;" />
+		<method name="getConfigByComponentForSubId(Ljava/lang/String;I)Landroid/os/PersistableBundle;" since="30" />
+		<method name="getConfigForSubId(I)Landroid/os/PersistableBundle;" />
+		<method name="isConfigForIdentifiedCarrier(Landroid/os/PersistableBundle;)Z" since="28" />
+		<method name="notifyConfigChangedForSubId(I)V" />
+		<field name="ACTION_CARRIER_CONFIG_CHANGED" />
+		<field name="CARRIER_NR_AVAILABILITY_NSA" since="31" />
+		<field name="CARRIER_NR_AVAILABILITY_SA" since="31" />
+		<field name="CROSS_SIM_SPN_FORMAT_CARRIER_NAME_ONLY" since="31" />
+		<field name="CROSS_SIM_SPN_FORMAT_CARRIER_NAME_WITH_BRANDING" since="31" />
+		<field name="DATA_CYCLE_THRESHOLD_DISABLED" since="26" />
+		<field name="DATA_CYCLE_USE_PLATFORM_DEFAULT" since="30" />
+		<field name="ENABLE_EAP_METHOD_PREFIX_BOOL" since="30" />
+		<field name="EXTRA_REBROADCAST_ON_UNLOCK" since="31" />
+		<field name="EXTRA_SLOT_INDEX" since="28" />
+		<field name="EXTRA_SUBSCRIPTION_INDEX" since="28" />
+		<field name="IMSI_KEY_AVAILABILITY_INT" since="30" />
+		<field name="KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAY" since="30" />
+		<field name="KEY_5G_NR_SSRSRQ_THRESHOLDS_INT_ARRAY" since="30" />
+		<field name="KEY_5G_NR_SSSINR_THRESHOLDS_INT_ARRAY" since="30" />
+		<field name="KEY_ADDITIONAL_CALL_SETTING_BOOL" />
+		<field name="KEY_ALLOW_ADDING_APNS_BOOL" since="24" />
+		<field name="KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL" since="25" />
+		<field name="KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL" />
+		<field name="KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL" since="24" />
+		<field name="KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL" since="30" />
+		<field name="KEY_ALLOW_HOLD_VIDEO_CALL_BOOL" since="30" />
+		<field name="KEY_ALLOW_LOCAL_DTMF_TONES_BOOL" />
+		<field name="KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL" since="25" />
+		<field name="KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL" since="24" />
+		<field name="KEY_ALLOW_VIDEO_CALLING_FALLBACK_BOOL" since="30" />
+		<field name="KEY_ALWAYS_SHOW_DATA_RAT_ICON_BOOL" since="30" />
+		<field name="KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL" since="24" deprecated="30" />
+		<field name="KEY_ALWAYS_SHOW_PRIMARY_SIGNAL_BAR_IN_OPPORTUNISTIC_NETWORK_BOOLEAN" since="30" />
+		<field name="KEY_APN_EXPAND_BOOL" />
+		<field name="KEY_APN_SETTINGS_DEFAULT_APN_TYPES_STRING_ARRAY" since="30" />
+		<field name="KEY_AUTO_RETRY_ENABLED_BOOL" />
+		<field name="KEY_CALL_BARRING_DEFAULT_SERVICE_CLASS_INT" since="31" />
+		<field name="KEY_CALL_BARRING_SUPPORTS_DEACTIVATE_ALL_BOOL" since="29" />
+		<field name="KEY_CALL_BARRING_SUPPORTS_PASSWORD_CHANGE_BOOL" since="29" />
+		<field name="KEY_CALL_BARRING_VISIBILITY_BOOL" since="29" />
+		<field name="KEY_CALL_COMPOSER_PICTURE_SERVER_URL_STRING" since="31" />
+		<field name="KEY_CALL_FORWARDING_BLOCKS_WHILE_ROAMING_STRING_ARRAY" since="26" />
+		<field name="KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING" since="30" />
+		<field name="KEY_CARRIER_ALLOW_DEFLECT_IMS_CALL_BOOL" since="30" />
+		<field name="KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL" />
+		<field name="KEY_CARRIER_APP_REQUIRED_DURING_SIM_SETUP_BOOL" since="30" />
+		<field name="KEY_CARRIER_CALL_SCREENING_APP_STRING" since="29" />
+		<field name="KEY_CARRIER_CERTIFICATE_STRING_ARRAY" since="30" />
+		<field name="KEY_CARRIER_CONFIG_APPLIED_BOOL" since="30" />
+		<field name="KEY_CARRIER_CONFIG_VERSION_STRING" since="29" />
+		<field name="KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL" since="31" />
+		<field name="KEY_CARRIER_DATA_CALL_PERMANENT_FAILURE_STRINGS" since="26" />
+		<field name="KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY" since="30" />
+		<field name="KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE" since="30" />
+		<field name="KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY" since="30" />
+		<field name="KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET" since="30" />
+		<field name="KEY_CARRIER_DEFAULT_REDIRECTION_URL_STRING_ARRAY" since="30" />
+		<field name="KEY_CARRIER_DEFAULT_WFC_IMS_ENABLED_BOOL" since="30" />
+		<field name="KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT" since="29" />
+		<field name="KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT" since="29" />
+		<field name="KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL" since="24" deprecated="30" />
+		<field name="KEY_CARRIER_IMS_GBA_REQUIRED_BOOL" since="24" />
+		<field name="KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL" since="24" />
+		<field name="KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING" since="24" />
+		<field name="KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING" since="24" />
+		<field name="KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING" since="24" />
+		<field name="KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT" since="24" />
+		<field name="KEY_CARRIER_NAME_OVERRIDE_BOOL" since="28" />
+		<field name="KEY_CARRIER_NAME_STRING" since="28" />
+		<field name="KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY" since="31" />
+		<field name="KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL" since="31" />
+		<field name="KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL" since="30" />
+		<field name="KEY_CARRIER_SETTINGS_ACTIVITY_COMPONENT_NAME_STRING" since="30" />
+		<field name="KEY_CARRIER_SETTINGS_ENABLE_BOOL" />
+		<field name="KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL" since="29" />
+		<field name="KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL" since="24" />
+		<field name="KEY_CARRIER_USSD_METHOD_INT" since="31" />
+		<field name="KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL" since="29" />
+		<field name="KEY_CARRIER_VOLTE_AVAILABLE_BOOL" />
+		<field name="KEY_CARRIER_VOLTE_OVERRIDE_WFC_PROVISIONING_BOOL" since="30" />
+		<field name="KEY_CARRIER_VOLTE_PROVISIONED_BOOL" since="26" />
+		<field name="KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL" />
+		<field name="KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL" />
+		<field name="KEY_CARRIER_VT_AVAILABLE_BOOL" />
+		<field name="KEY_CARRIER_VVM_PACKAGE_NAME_STRING" deprecated="26" />
+		<field name="KEY_CARRIER_VVM_PACKAGE_NAME_STRING_ARRAY" since="26" />
+		<field name="KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL" />
+		<field name="KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL" since="24" />
+		<field name="KEY_CDMA_3WAYCALL_FLASH_DELAY_INT" since="26" />
+		<field name="KEY_CDMA_DTMF_TONE_DELAY_INT" since="24" />
+		<field name="KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY" />
+		<field name="KEY_CDMA_ROAMING_MODE_INT" since="28" />
+		<field name="KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY" />
+		<field name="KEY_CHECK_PRICING_WITH_CARRIER_FOR_DATA_ROAMING_BOOL" since="30" />
+		<field name="KEY_CI_ACTION_ON_SYS_UPDATE_BOOL" since="24" />
+		<field name="KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING" since="24" />
+		<field name="KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING" since="24" />
+		<field name="KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING" since="24" />
+		<field name="KEY_CONFIG_IMS_MMTEL_PACKAGE_OVERRIDE_STRING" since="30" />
+		<field name="KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING" since="26" deprecated="30" />
+		<field name="KEY_CONFIG_IMS_RCS_PACKAGE_OVERRIDE_STRING" since="30" />
+		<field name="KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING" since="28" />
+		<field name="KEY_CONFIG_TELEPHONY_USE_OWN_NUMBER_FOR_VOICEMAIL_BOOL" since="28" />
+		<field name="KEY_CONFIG_WIFI_DISABLE_IN_ECBM" since="30" />
+		<field name="KEY_CROSS_SIM_SPN_FORMAT_INT" since="31" />
+		<field name="KEY_CSP_ENABLED_BOOL" />
+		<field name="KEY_DATA_LIMIT_NOTIFICATION_BOOL" since="30" />
+		<field name="KEY_DATA_LIMIT_THRESHOLD_BYTES_LONG" since="26" />
+		<field name="KEY_DATA_RAPID_NOTIFICATION_BOOL" since="30" />
+		<field name="KEY_DATA_SWITCH_VALIDATION_TIMEOUT_LONG" since="30" />
+		<field name="KEY_DATA_WARNING_NOTIFICATION_BOOL" since="30" />
+		<field name="KEY_DATA_WARNING_THRESHOLD_BYTES_LONG" since="26" />
+		<field name="KEY_DEFAULT_SIM_CALL_MANAGER_STRING" />
+		<field name="KEY_DEFAULT_VM_NUMBER_ROAMING_AND_IMS_UNREGISTERED_STRING" since="30" />
+		<field name="KEY_DEFAULT_VM_NUMBER_STRING" since="26" />
+		<field name="KEY_DIAL_STRING_REPLACE_STRING_ARRAY" since="26" />
+		<field name="KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL" />
+		<field name="KEY_DISABLE_CHARGE_INDICATION_BOOL" since="30" />
+		<field name="KEY_DISABLE_SUPPLEMENTARY_SERVICES_IN_AIRPLANE_MODE_BOOL" since="30" />
+		<field name="KEY_DISCONNECT_CAUSE_PLAY_BUSYTONE_INT_ARRAY" since="30" />
+		<field name="KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL" since="31" />
+		<field name="KEY_DISPLAY_HD_AUDIO_PROPERTY_BOOL" since="27" />
+		<field name="KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL" since="25" />
+		<field name="KEY_DTMF_TYPE_ENABLED_BOOL" />
+		<field name="KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT" since="24" />
+		<field name="KEY_EDITABLE_ENHANCED_4G_LTE_BOOL" since="24" />
+		<field name="KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL" since="26" />
+		<field name="KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL" since="28" />
+		<field name="KEY_EDITABLE_WFC_MODE_BOOL" since="30" />
+		<field name="KEY_EDITABLE_WFC_ROAMING_MODE_BOOL" since="30" />
+		<field name="KEY_EMERGENCY_NOTIFICATION_DELAY_INT" since="30" />
+		<field name="KEY_EMERGENCY_NUMBER_PREFIX_STRING_ARRAY" since="29" />
+		<field name="KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL" />
+		<field name="KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL" since="29" />
+		<field name="KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT" since="30" />
+		<field name="KEY_FORCE_HOME_NETWORK_BOOL" />
+		<field name="KEY_GSM_DTMF_TONE_DELAY_INT" since="24" />
+		<field name="KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY" />
+		<field name="KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY" />
+		<field name="KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL" />
+		<field name="KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL" />
+		<field name="KEY_HIDE_ENABLE_2G" since="31" />
+		<field name="KEY_HIDE_ENHANCED_4G_LTE_BOOL" since="26" />
+		<field name="KEY_HIDE_IMS_APN_BOOL" since="24" />
+		<field name="KEY_HIDE_LTE_PLUS_DATA_ICON_BOOL" since="30" />
+		<field name="KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL" since="24" />
+		<field name="KEY_HIDE_PRESET_APN_DETAILS_BOOL" since="29" />
+		<field name="KEY_HIDE_SIM_LOCK_SETTINGS_BOOL" />
+		<field name="KEY_HIDE_TTY_HCO_VCO_WITH_RTT_BOOL" since="31" />
+		<field name="KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS" since="30" />
+		<field name="KEY_IGNORE_RTT_MODE_SETTING_BOOL" since="30" />
+		<field name="KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL" />
+		<field name="KEY_IMS_CONFERENCE_SIZE_LIMIT_INT" since="26" />
+		<field name="KEY_IMS_DTMF_TONE_DELAY_INT" since="24" />
+		<field name="KEY_IS_IMS_CONFERENCE_SIZE_ENFORCED_BOOL" since="26" />
+		<field name="KEY_LTE_ENABLED_BOOL" since="30" />
+		<field name="KEY_LTE_RSRQ_THRESHOLDS_INT_ARRAY" since="30" />
+		<field name="KEY_LTE_RSSNR_THRESHOLDS_INT_ARRAY" since="30" />
+		<field name="KEY_MDN_IS_ADDITIONAL_VOICEMAIL_NUMBER_BOOL" since="26" />
+		<field name="KEY_MMS_ALIAS_ENABLED_BOOL" />
+		<field name="KEY_MMS_ALIAS_MAX_CHARS_INT" />
+		<field name="KEY_MMS_ALIAS_MIN_CHARS_INT" />
+		<field name="KEY_MMS_ALLOW_ATTACH_AUDIO_BOOL" />
+		<field name="KEY_MMS_APPEND_TRANSACTION_ID_BOOL" />
+		<field name="KEY_MMS_CLOSE_CONNECTION_BOOL" since="30" />
+		<field name="KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING" />
+		<field name="KEY_MMS_GROUP_MMS_ENABLED_BOOL" />
+		<field name="KEY_MMS_HTTP_PARAMS_STRING" />
+		<field name="KEY_MMS_HTTP_SOCKET_TIMEOUT_INT" />
+		<field name="KEY_MMS_MAX_IMAGE_HEIGHT_INT" />
+		<field name="KEY_MMS_MAX_IMAGE_WIDTH_INT" />
+		<field name="KEY_MMS_MAX_MESSAGE_SIZE_INT" />
+		<field name="KEY_MMS_MESSAGE_TEXT_MAX_SIZE_INT" />
+		<field name="KEY_MMS_MMS_DELIVERY_REPORT_ENABLED_BOOL" />
+		<field name="KEY_MMS_MMS_ENABLED_BOOL" />
+		<field name="KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL" />
+		<field name="KEY_MMS_MULTIPART_SMS_ENABLED_BOOL" />
+		<field name="KEY_MMS_NAI_SUFFIX_STRING" />
+		<field name="KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL" />
+		<field name="KEY_MMS_RECIPIENT_LIMIT_INT" />
+		<field name="KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL" />
+		<field name="KEY_MMS_SHOW_CELL_BROADCAST_APP_LINKS_BOOL" />
+		<field name="KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL" />
+		<field name="KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT" />
+		<field name="KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT" />
+		<field name="KEY_MMS_SUBJECT_MAX_LENGTH_INT" />
+		<field name="KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL" />
+		<field name="KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL" />
+		<field name="KEY_MMS_UA_PROF_TAG_NAME_STRING" />
+		<field name="KEY_MMS_UA_PROF_URL_STRING" />
+		<field name="KEY_MMS_USER_AGENT_STRING" />
+		<field name="KEY_MONTHLY_DATA_CYCLE_DAY_INT" since="26" />
+		<field name="KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL" since="30" />
+		<field name="KEY_ONLY_SINGLE_DC_ALLOWED_INT_ARRAY" since="26" />
+		<field name="KEY_OPERATOR_SELECTION_EXPAND_BOOL" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG" since="30" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_EXIT_HYSTERESIS_TIME_LONG" since="30" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_HYSTERESIS_TIME_LONG" since="29" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_ENTRY_OR_EXIT_HYSTERESIS_TIME_LONG" since="29" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_BANDWIDTH_INT" since="29" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_RSRP_INT" since="29" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_RSSNR_INT" since="29" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSRP_INT" since="29" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSSNR_INT" since="29" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG" since="30" />
+		<field name="KEY_OPPORTUNISTIC_NETWORK_PING_PONG_TIME_LONG" since="30" />
+		<field name="KEY_PING_TEST_BEFORE_DATA_SWITCH_BOOL" since="30" />
+		<field name="KEY_PREFER_2G_BOOL" />
+		<field name="KEY_PREVENT_CLIR_ACTIVATION_AND_DEACTIVATION_CODE_BOOL" since="30" />
+		<field name="KEY_RADIO_RESTART_FAILURE_CAUSES_INT_ARRAY" since="29" />
+		<field name="KEY_RCS_CONFIG_SERVER_URL_STRING" since="26" />
+		<field name="KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY" since="30" />
+		<field name="KEY_READ_ONLY_APN_TYPES_STRING_ARRAY" since="30" />
+		<field name="KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL" since="24" />
+		<field name="KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL" since="26" deprecated="29" />
+		<field name="KEY_RTT_AUTO_UPGRADE_BOOL" since="31" />
+		<field name="KEY_RTT_DOWNGRADE_SUPPORTED_BOOL" since="31" />
+		<field name="KEY_RTT_SUPPORTED_BOOL" since="28" />
+		<field name="KEY_RTT_SUPPORTED_FOR_VT_BOOL" since="31" />
+		<field name="KEY_RTT_SUPPORTED_WHILE_ROAMING_BOOL" since="31" />
+		<field name="KEY_RTT_UPGRADE_SUPPORTED_BOOL" since="31" />
+		<field name="KEY_RTT_UPGRADE_SUPPORTED_FOR_DOWNGRADED_VT_CALL_BOOL" since="31" />
+		<field name="KEY_SHOW_4G_FOR_3G_DATA_ICON_BOOL" since="30" />
+		<field name="KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL" since="30" />
+		<field name="KEY_SHOW_APN_SETTING_CDMA_BOOL" />
+		<field name="KEY_SHOW_BLOCKING_PAY_PHONE_OPTION_BOOL" since="30" />
+		<field name="KEY_SHOW_CALL_BLOCKING_DISABLED_NOTIFICATION_ALWAYS_BOOL" since="29" />
+		<field name="KEY_SHOW_CDMA_CHOICES_BOOL" />
+		<field name="KEY_SHOW_FORWARDED_NUMBER_BOOL" since="30" />
+		<field name="KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL" since="24" />
+		<field name="KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL" since="30" />
+		<field name="KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL" />
+		<field name="KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL" since="28" />
+		<field name="KEY_SHOW_VIDEO_CALL_CHARGES_ALERT_DIALOG_BOOL" since="30" />
+		<field name="KEY_SHOW_WFC_LOCATION_PRIVACY_POLICY_BOOL" since="30" />
+		<field name="KEY_SIMPLIFIED_NETWORK_SETTINGS_BOOL" since="26" />
+		<field name="KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL" />
+		<field name="KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL" since="26" />
+		<field name="KEY_SUPPORTS_CALL_COMPOSER_BOOL" since="31" />
+		<field name="KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_DTMF_BOOL" since="31" />
+		<field name="KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_RTP_BOOL" since="31" />
+		<field name="KEY_SUPPORTS_SDP_NEGOTIATION_OF_D2D_RTP_HEADER_EXTENSIONS_BOOL" since="31" />
+		<field name="KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL" since="26" />
+		<field name="KEY_SUPPORT_ADD_CONFERENCE_PARTICIPANTS_BOOL" since="31" />
+		<field name="KEY_SUPPORT_ADHOC_CONFERENCE_CALLS_BOOL" since="31" />
+		<field name="KEY_SUPPORT_CLIR_NETWORK_DEFAULT_BOOL" since="29" />
+		<field name="KEY_SUPPORT_CONFERENCE_CALL_BOOL" since="24" />
+		<field name="KEY_SUPPORT_EMERGENCY_SMS_OVER_IMS_BOOL" since="29" />
+		<field name="KEY_SUPPORT_ENHANCED_CALL_BLOCKING_BOOL" since="30" />
+		<field name="KEY_SUPPORT_IMS_CONFERENCE_EVENT_PACKAGE_BOOL" since="30" />
+		<field name="KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL" />
+		<field name="KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL" />
+		<field name="KEY_SUPPORT_TDSCDMA_BOOL" since="30" />
+		<field name="KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY" since="30" />
+		<field name="KEY_SWITCH_DATA_TO_PRIMARY_IF_PRIMARY_IS_OOS_BOOL" since="30" />
+		<field name="KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL" since="25" />
+		<field name="KEY_TTY_SUPPORTED_BOOL" since="29" />
+		<field name="KEY_UNLOGGABLE_NUMBERS_STRING_ARRAY" since="30" />
+		<field name="KEY_USE_ACS_FOR_RCS_BOOL" since="31" />
+		<field name="KEY_USE_HFA_FOR_PROVISIONING_BOOL" />
+		<field name="KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL" since="31" />
+		<field name="KEY_USE_OTASP_FOR_PROVISIONING_BOOL" />
+		<field name="KEY_USE_RCS_PRESENCE_BOOL" since="24" deprecated="31" />
+		<field name="KEY_USE_RCS_SIP_OPTIONS_BOOL" since="30" />
+		<field name="KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL" since="30" />
+		<field name="KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL" />
+		<field name="KEY_VOICE_PRIVACY_DISABLE_UI_BOOL" />
+		<field name="KEY_VOLTE_REPLACEMENT_RAT_INT" />
+		<field name="KEY_VT_UPGRADE_SUPPORTED_FOR_DOWNGRADED_RTT_CALL_BOOL" since="31" />
+		<field name="KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" since="24" />
+		<field name="KEY_VVM_CLIENT_PREFIX_STRING" since="26" />
+		<field name="KEY_VVM_DESTINATION_NUMBER_STRING" />
+		<field name="KEY_VVM_DISABLED_CAPABILITIES_STRING_ARRAY" since="26" />
+		<field name="KEY_VVM_LEGACY_MODE_ENABLED_BOOL" since="26" />
+		<field name="KEY_VVM_PORT_NUMBER_INT" />
+		<field name="KEY_VVM_PREFETCH_BOOL" since="24" />
+		<field name="KEY_VVM_SSL_ENABLED_BOOL" since="26" />
+		<field name="KEY_VVM_TYPE_STRING" />
+		<field name="KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING" since="30" />
+		<field name="KEY_WORLD_MODE_ENABLED_BOOL" since="30" />
+		<field name="KEY_WORLD_PHONE_BOOL" />
+		<field name="SERVICE_CLASS_NONE" since="31" />
+		<field name="SERVICE_CLASS_VOICE" since="31" />
+		<field name="USSD_OVER_CS_ONLY" since="31" />
+		<field name="USSD_OVER_CS_PREFERRED" since="31" />
+		<field name="USSD_OVER_IMS_ONLY" since="31" />
+		<field name="USSD_OVER_IMS_PREFERRED" since="31" />
+	</class>
+	<class name="android/telephony/CarrierConfigManager$Apn" since="30">
+		<extends name="java/lang/Object" />
+		<field name="KEY_PREFIX" deprecated="31" />
+		<field name="KEY_SETTINGS_DEFAULT_PROTOCOL_STRING" />
+		<field name="KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING" />
+		<field name="PROTOCOL_IPV4" />
+		<field name="PROTOCOL_IPV4V6" />
+		<field name="PROTOCOL_IPV6" />
+	</class>
+	<class name="android/telephony/CarrierConfigManager$Gps" since="30">
+		<extends name="java/lang/Object" />
+		<field name="KEY_PERSIST_LPP_MODE_BOOL" />
+		<field name="KEY_PREFIX" />
+	</class>
+	<class name="android/telephony/CarrierConfigManager$Ims" since="30">
+		<extends name="java/lang/Object" />
+		<field name="KEY_ENABLE_PRESENCE_CAPABILITY_EXCHANGE_BOOL" since="31" />
+		<field name="KEY_ENABLE_PRESENCE_GROUP_SUBSCRIBE_BOOL" since="31" />
+		<field name="KEY_ENABLE_PRESENCE_PUBLISH_BOOL" since="31" />
+		<field name="KEY_IMS_SINGLE_REGISTRATION_REQUIRED_BOOL" since="31" />
+		<field name="KEY_NON_RCS_CAPABILITIES_CACHE_EXPIRATION_SEC_INT" since="31" />
+		<field name="KEY_PREFIX" />
+		<field name="KEY_RCS_BULK_CAPABILITY_EXCHANGE_BOOL" since="31" />
+		<field name="KEY_RCS_FEATURE_TAG_ALLOWED_STRING_ARRAY" since="31" />
+		<field name="KEY_WIFI_OFF_DEFERRING_TIME_MILLIS_INT" />
+	</class>
+	<class name="android/telephony/CarrierConfigManager$ImsServiceEntitlement" since="31">
+		<extends name="java/lang/Object" />
+		<field name="KEY_ENTITLEMENT_SERVER_URL_STRING" />
+		<field name="KEY_FCM_SENDER_ID_STRING" />
+		<field name="KEY_IMS_PROVISIONING_BOOL" />
+		<field name="KEY_PREFIX" />
+		<field name="KEY_SHOW_VOWIFI_WEBVIEW_BOOL" />
+	</class>
+	<class name="android/telephony/CarrierConfigManager$Iwlan" since="31">
+		<extends name="java/lang/Object" />
+		<field name="AUTHENTICATION_METHOD_CERT" />
+		<field name="AUTHENTICATION_METHOD_EAP_ONLY" />
+		<field name="EPDG_ADDRESS_CELLULAR_LOC" />
+		<field name="EPDG_ADDRESS_PCO" />
+		<field name="EPDG_ADDRESS_PLMN" />
+		<field name="EPDG_ADDRESS_STATIC" />
+		<field name="ID_TYPE_FQDN" />
+		<field name="ID_TYPE_KEY_ID" />
+		<field name="ID_TYPE_RFC822_ADDR" />
+		<field name="KEY_ADD_KE_TO_CHILD_SESSION_REKEY_BOOL" />
+		<field name="KEY_CHILD_SA_REKEY_HARD_TIMER_SEC_INT" />
+		<field name="KEY_CHILD_SA_REKEY_SOFT_TIMER_SEC_INT" />
+		<field name="KEY_CHILD_SESSION_AES_CBC_KEY_SIZE_INT_ARRAY" />
+		<field name="KEY_CHILD_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY" />
+		<field name="KEY_DIFFIE_HELLMAN_GROUPS_INT_ARRAY" />
+		<field name="KEY_DPD_TIMER_SEC_INT" />
+		<field name="KEY_EPDG_ADDRESS_PRIORITY_INT_ARRAY" />
+		<field name="KEY_EPDG_AUTHENTICATION_METHOD_INT" />
+		<field name="KEY_EPDG_PCO_ID_IPV4_INT" />
+		<field name="KEY_EPDG_PCO_ID_IPV6_INT" />
+		<field name="KEY_EPDG_STATIC_ADDRESS_ROAMING_STRING" />
+		<field name="KEY_EPDG_STATIC_ADDRESS_STRING" />
+		<field name="KEY_IKE_LOCAL_ID_TYPE_INT" />
+		<field name="KEY_IKE_REKEY_HARD_TIMER_SEC_INT" />
+		<field name="KEY_IKE_REKEY_SOFT_TIMER_SEC_INT" />
+		<field name="KEY_IKE_REMOTE_ID_TYPE_INT" />
+		<field name="KEY_IKE_SESSION_AES_CBC_KEY_SIZE_INT_ARRAY" />
+		<field name="KEY_IKE_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY" />
+		<field name="KEY_MAX_RETRIES_INT" />
+		<field name="KEY_MCC_MNCS_STRING_ARRAY" />
+		<field name="KEY_NATT_KEEP_ALIVE_TIMER_SEC_INT" />
+		<field name="KEY_PREFIX" />
+		<field name="KEY_RETRANSMIT_TIMER_MSEC_INT_ARRAY" />
+		<field name="KEY_SUPPORTED_CHILD_SESSION_ENCRYPTION_ALGORITHMS_INT_ARRAY" />
+		<field name="KEY_SUPPORTED_IKE_SESSION_ENCRYPTION_ALGORITHMS_INT_ARRAY" />
+		<field name="KEY_SUPPORTED_INTEGRITY_ALGORITHMS_INT_ARRAY" />
+		<field name="KEY_SUPPORTED_PRF_ALGORITHMS_INT_ARRAY" />
+	</class>
+	<class name="android/telephony/CellIdentity" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getOperatorAlphaLong()Ljava/lang/CharSequence;" />
+		<method name="getOperatorAlphaShort()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellIdentityCdma" since="17">
+		<extends name="android/telephony/CellIdentity" since="28" />
+		<extends name="java/lang/Object" removed="28" />
+		<implements name="android/os/Parcelable" removed="28" />
+		<method name="getBasestationId()I" />
+		<method name="getLatitude()I" />
+		<method name="getLongitude()I" />
+		<method name="getNetworkId()I" />
+		<method name="getSystemId()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellIdentityGsm" since="17">
+		<extends name="android/telephony/CellIdentity" since="28" />
+		<extends name="java/lang/Object" removed="28" />
+		<implements name="android/os/Parcelable" removed="28" />
+		<method name="getAdditionalPlmns()Ljava/util/Set;" since="30" />
+		<method name="getArfcn()I" since="24" />
+		<method name="getBsic()I" since="24" />
+		<method name="getCid()I" />
+		<method name="getLac()I" />
+		<method name="getMcc()I" deprecated="28" />
+		<method name="getMccString()Ljava/lang/String;" since="28" />
+		<method name="getMnc()I" deprecated="28" />
+		<method name="getMncString()Ljava/lang/String;" since="28" />
+		<method name="getMobileNetworkOperator()Ljava/lang/String;" since="28" />
+		<method name="getPsc()I" deprecated="18" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellIdentityLte" since="17">
+		<extends name="android/telephony/CellIdentity" since="28" />
+		<extends name="java/lang/Object" removed="28" />
+		<implements name="android/os/Parcelable" removed="28" />
+		<method name="getAdditionalPlmns()Ljava/util/Set;" since="30" />
+		<method name="getBands()[I" since="30" />
+		<method name="getBandwidth()I" since="28" />
+		<method name="getCi()I" />
+		<method name="getClosedSubscriberGroupInfo()Landroid/telephony/ClosedSubscriberGroupInfo;" since="30" />
+		<method name="getEarfcn()I" since="24" />
+		<method name="getMcc()I" deprecated="28" />
+		<method name="getMccString()Ljava/lang/String;" since="28" />
+		<method name="getMnc()I" deprecated="28" />
+		<method name="getMncString()Ljava/lang/String;" since="28" />
+		<method name="getMobileNetworkOperator()Ljava/lang/String;" since="28" />
+		<method name="getPci()I" />
+		<method name="getTac()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellIdentityNr" since="29">
+		<extends name="android/telephony/CellIdentity" />
+		<method name="getAdditionalPlmns()Ljava/util/Set;" since="30" />
+		<method name="getBands()[I" since="30" />
+		<method name="getMccString()Ljava/lang/String;" />
+		<method name="getMncString()Ljava/lang/String;" />
+		<method name="getNci()J" />
+		<method name="getNrarfcn()I" />
+		<method name="getPci()I" />
+		<method name="getTac()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellIdentityTdscdma" since="28">
+		<extends name="android/telephony/CellIdentity" />
+		<method name="getAdditionalPlmns()Ljava/util/Set;" since="30" />
+		<method name="getCid()I" />
+		<method name="getClosedSubscriberGroupInfo()Landroid/telephony/ClosedSubscriberGroupInfo;" since="30" />
+		<method name="getCpid()I" />
+		<method name="getLac()I" />
+		<method name="getMccString()Ljava/lang/String;" />
+		<method name="getMncString()Ljava/lang/String;" />
+		<method name="getMobileNetworkOperator()Ljava/lang/String;" since="29" />
+		<method name="getUarfcn()I" since="29" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellIdentityWcdma" since="18">
+		<extends name="android/telephony/CellIdentity" since="28" />
+		<extends name="java/lang/Object" removed="28" />
+		<implements name="android/os/Parcelable" removed="28" />
+		<method name="getAdditionalPlmns()Ljava/util/Set;" since="30" />
+		<method name="getCid()I" />
+		<method name="getClosedSubscriberGroupInfo()Landroid/telephony/ClosedSubscriberGroupInfo;" since="30" />
+		<method name="getLac()I" />
+		<method name="getMcc()I" deprecated="28" />
+		<method name="getMccString()Ljava/lang/String;" since="28" />
+		<method name="getMnc()I" deprecated="28" />
+		<method name="getMncString()Ljava/lang/String;" since="28" />
+		<method name="getMobileNetworkOperator()Ljava/lang/String;" since="28" />
+		<method name="getPsc()I" />
+		<method name="getUarfcn()I" since="24" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellInfo" since="17">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCellConnectionStatus()I" since="28" />
+		<method name="getCellIdentity()Landroid/telephony/CellIdentity;" since="30" />
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrength;" since="30" />
+		<method name="getTimeStamp()J" deprecated="30" />
+		<method name="getTimestampMillis()J" since="30" />
+		<method name="isRegistered()Z" />
+		<field name="CONNECTION_NONE" since="28" />
+		<field name="CONNECTION_PRIMARY_SERVING" since="28" />
+		<field name="CONNECTION_SECONDARY_SERVING" since="28" />
+		<field name="CONNECTION_UNKNOWN" since="28" />
+		<field name="CREATOR" />
+		<field name="UNAVAILABLE" since="29" />
+		<field name="UNAVAILABLE_LONG" since="29" />
+	</class>
+	<class name="android/telephony/CellInfoCdma" since="17">
+		<extends name="android/telephony/CellInfo" />
+		<method name="getCellIdentity()Landroid/telephony/CellIdentityCdma;" />
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrengthCdma;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellInfoGsm" since="17">
+		<extends name="android/telephony/CellInfo" />
+		<method name="getCellIdentity()Landroid/telephony/CellIdentityGsm;" />
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrengthGsm;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellInfoLte" since="17">
+		<extends name="android/telephony/CellInfo" />
+		<method name="getCellIdentity()Landroid/telephony/CellIdentityLte;" />
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellInfoNr" since="29">
+		<extends name="android/telephony/CellInfo" />
+		<method name="getCellIdentity()Landroid/telephony/CellIdentity;" />
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrength;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellInfoTdscdma" since="29">
+		<extends name="android/telephony/CellInfo" />
+		<method name="getCellIdentity()Landroid/telephony/CellIdentityTdscdma;" />
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrengthTdscdma;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellInfoWcdma" since="18">
+		<extends name="android/telephony/CellInfo" />
+		<method name="getCellIdentity()Landroid/telephony/CellIdentityWcdma;" />
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrengthWcdma;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellLocation" since="1" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="getEmpty()Landroid/telephony/CellLocation;" deprecated="31" />
+		<method name="requestLocationUpdate()V" deprecated="31" />
+	</class>
+	<class name="android/telephony/CellSignalStrength" since="17">
+		<extends name="java/lang/Object" />
+		<method name="getAsuLevel()I" />
+		<method name="getDbm()I" />
+		<method name="getLevel()I" />
+		<field name="SIGNAL_STRENGTH_GOOD" since="23" />
+		<field name="SIGNAL_STRENGTH_GREAT" since="23" />
+		<field name="SIGNAL_STRENGTH_MODERATE" since="23" />
+		<field name="SIGNAL_STRENGTH_NONE_OR_UNKNOWN" since="23" />
+		<field name="SIGNAL_STRENGTH_POOR" since="23" />
+	</class>
+	<class name="android/telephony/CellSignalStrengthCdma" since="17">
+		<extends name="android/telephony/CellSignalStrength" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCdmaDbm()I" />
+		<method name="getCdmaEcio()I" />
+		<method name="getCdmaLevel()I" />
+		<method name="getEvdoDbm()I" />
+		<method name="getEvdoEcio()I" />
+		<method name="getEvdoLevel()I" />
+		<method name="getEvdoSnr()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellSignalStrengthGsm" since="17">
+		<extends name="android/telephony/CellSignalStrength" />
+		<implements name="android/os/Parcelable" />
+		<method name="getBitErrorRate()I" since="29" />
+		<method name="getRssi()I" since="30" />
+		<method name="getTimingAdvance()I" since="26" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellSignalStrengthLte" since="17">
+		<extends name="android/telephony/CellSignalStrength" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCqi()I" since="26" />
+		<method name="getCqiTableIndex()I" since="31" />
+		<method name="getRsrp()I" since="26" />
+		<method name="getRsrq()I" since="26" />
+		<method name="getRssi()I" since="29" />
+		<method name="getRssnr()I" since="26" />
+		<method name="getTimingAdvance()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellSignalStrengthNr" since="29">
+		<extends name="android/telephony/CellSignalStrength" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCsiCqiReport()Ljava/util/List;" since="31" />
+		<method name="getCsiCqiTableIndex()I" since="31" />
+		<method name="getCsiRsrp()I" />
+		<method name="getCsiRsrq()I" />
+		<method name="getCsiSinr()I" />
+		<method name="getSsRsrp()I" />
+		<method name="getSsRsrq()I" />
+		<method name="getSsSinr()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellSignalStrengthTdscdma" since="29">
+		<extends name="android/telephony/CellSignalStrength" />
+		<implements name="android/os/Parcelable" />
+		<method name="getRscp()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/CellSignalStrengthWcdma" since="18">
+		<extends name="android/telephony/CellSignalStrength" />
+		<implements name="android/os/Parcelable" />
+		<method name="getEcNo()I" since="30" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/ClosedSubscriberGroupInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCsgIdentity()I" />
+		<method name="getCsgIndicator()Z" />
+		<method name="getHomeNodebName()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/DataFailCause" since="30">
+		<extends name="java/lang/Object" />
+		<field name="ACCESS_ATTEMPT_ALREADY_IN_PROGRESS" />
+		<field name="ACCESS_BLOCK" />
+		<field name="ACCESS_BLOCK_ALL" />
+		<field name="ACCESS_CLASS_DSAC_REJECTION" />
+		<field name="ACCESS_CONTROL_LIST_CHECK_FAILURE" />
+		<field name="ACTIVATION_REJECTED_BCM_VIOLATION" />
+		<field name="ACTIVATION_REJECT_GGSN" />
+		<field name="ACTIVATION_REJECT_UNSPECIFIED" />
+		<field name="ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED" />
+		<field name="ALL_MATCHING_RULES_FAILED" since="31" />
+		<field name="APN_DISABLED" />
+		<field name="APN_DISALLOWED_ON_ROAMING" />
+		<field name="APN_MISMATCH" />
+		<field name="APN_PARAMETERS_CHANGED" />
+		<field name="APN_PENDING_HANDOVER" />
+		<field name="APN_TYPE_CONFLICT" />
+		<field name="AUTH_FAILURE_ON_EMERGENCY_CALL" />
+		<field name="BEARER_HANDLING_NOT_SUPPORTED" />
+		<field name="CALL_DISALLOWED_IN_ROAMING" />
+		<field name="CALL_PREEMPT_BY_EMERGENCY_APN" />
+		<field name="CANNOT_ENCODE_OTA_MESSAGE" />
+		<field name="CDMA_ALERT_STOP" />
+		<field name="CDMA_INCOMING_CALL" />
+		<field name="CDMA_INTERCEPT" />
+		<field name="CDMA_LOCK" />
+		<field name="CDMA_RELEASE_DUE_TO_SO_REJECTION" />
+		<field name="CDMA_REORDER" />
+		<field name="CDMA_RETRY_ORDER" />
+		<field name="CHANNEL_ACQUISITION_FAILURE" />
+		<field name="CLOSE_IN_PROGRESS" />
+		<field name="COLLISION_WITH_NETWORK_INITIATED_REQUEST" />
+		<field name="COMPANION_IFACE_IN_USE" />
+		<field name="CONCURRENT_SERVICES_INCOMPATIBLE" />
+		<field name="CONCURRENT_SERVICES_NOT_ALLOWED" />
+		<field name="CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION" />
+		<field name="CONDITIONAL_IE_ERROR" />
+		<field name="CONGESTION" />
+		<field name="CONNECTION_RELEASED" />
+		<field name="CS_DOMAIN_NOT_AVAILABLE" />
+		<field name="CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED" />
+		<field name="DATA_PLAN_EXPIRED" />
+		<field name="DATA_ROAMING_SETTINGS_DISABLED" />
+		<field name="DATA_SETTINGS_DISABLED" />
+		<field name="DBM_OR_SMS_IN_PROGRESS" />
+		<field name="DDS_SWITCHED" />
+		<field name="DDS_SWITCH_IN_PROGRESS" />
+		<field name="DRB_RELEASED_BY_RRC" />
+		<field name="DS_EXPLICIT_DEACTIVATION" />
+		<field name="DUAL_SWITCH" />
+		<field name="DUN_CALL_DISALLOWED" />
+		<field name="DUPLICATE_BEARER_ID" />
+		<field name="EHRPD_TO_HRPD_FALLBACK" />
+		<field name="EMBMS_NOT_ENABLED" />
+		<field name="EMBMS_REGULAR_DEACTIVATION" />
+		<field name="EMERGENCY_IFACE_ONLY" />
+		<field name="EMERGENCY_MODE" />
+		<field name="EMM_ACCESS_BARRED" />
+		<field name="EMM_ACCESS_BARRED_INFINITE_RETRY" />
+		<field name="EMM_ATTACH_FAILED" />
+		<field name="EMM_ATTACH_STARTED" />
+		<field name="EMM_DETACHED" />
+		<field name="EMM_T3417_EXPIRED" />
+		<field name="EMM_T3417_EXT_EXPIRED" />
+		<field name="EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED" />
+		<field name="EPS_SERVICES_NOT_ALLOWED_IN_PLMN" />
+		<field name="ERROR_UNSPECIFIED" />
+		<field name="ESM_BAD_OTA_MESSAGE" />
+		<field name="ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK" />
+		<field name="ESM_COLLISION_SCENARIOS" />
+		<field name="ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT" />
+		<field name="ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL" />
+		<field name="ESM_FAILURE" />
+		<field name="ESM_INFO_NOT_RECEIVED" />
+		<field name="ESM_LOCAL_CAUSE_NONE" />
+		<field name="ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER" />
+		<field name="ESM_PROCEDURE_TIME_OUT" />
+		<field name="ESM_UNKNOWN_EPS_BEARER_CONTEXT" />
+		<field name="EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE" />
+		<field name="EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY" />
+		<field name="EVDO_HDR_CHANGED" />
+		<field name="EVDO_HDR_CONNECTION_SETUP_TIMEOUT" />
+		<field name="EVDO_HDR_EXITED" />
+		<field name="EVDO_HDR_NO_SESSION" />
+		<field name="EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL" />
+		<field name="FADE" />
+		<field name="FAILED_TO_ACQUIRE_COLOCATED_HDR" />
+		<field name="FEATURE_NOT_SUPP" />
+		<field name="FILTER_SEMANTIC_ERROR" />
+		<field name="FILTER_SYTAX_ERROR" />
+		<field name="FORBIDDEN_APN_NAME" />
+		<field name="GPRS_REGISTRATION_FAIL" />
+		<field name="GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED" />
+		<field name="GPRS_SERVICES_NOT_ALLOWED" />
+		<field name="GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN" />
+		<field name="HANDOFF_PREFERENCE_CHANGED" />
+		<field name="HDR_ACCESS_FAILURE" />
+		<field name="HDR_FADE" />
+		<field name="HDR_NO_LOCK_GRANTED" />
+		<field name="IFACE_AND_POL_FAMILY_MISMATCH" />
+		<field name="IFACE_MISMATCH" />
+		<field name="ILLEGAL_ME" />
+		<field name="ILLEGAL_MS" />
+		<field name="IMEI_NOT_ACCEPTED" />
+		<field name="IMPLICITLY_DETACHED" />
+		<field name="IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER" />
+		<field name="INCOMING_CALL_REJECTED" />
+		<field name="INSUFFICIENT_RESOURCES" />
+		<field name="INTERFACE_IN_USE" />
+		<field name="INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN" />
+		<field name="INTERNAL_EPC_NONEPC_TRANSITION" />
+		<field name="INVALID_CONNECTION_ID" />
+		<field name="INVALID_DNS_ADDR" />
+		<field name="INVALID_EMM_STATE" />
+		<field name="INVALID_MANDATORY_INFO" />
+		<field name="INVALID_MODE" />
+		<field name="INVALID_PCSCF_ADDR" />
+		<field name="INVALID_PCSCF_OR_DNS_ADDRESS" />
+		<field name="INVALID_PRIMARY_NSAPI" />
+		<field name="INVALID_SIM_STATE" />
+		<field name="INVALID_TRANSACTION_ID" />
+		<field name="IPV6_ADDRESS_TRANSFER_FAILED" />
+		<field name="IPV6_PREFIX_UNAVAILABLE" />
+		<field name="IP_ADDRESS_MISMATCH" />
+		<field name="IP_VERSION_MISMATCH" />
+		<field name="IRAT_HANDOVER_FAILED" />
+		<field name="IS707B_MAX_ACCESS_PROBES" />
+		<field name="IWLAN_AUTHORIZATION_REJECTED" since="31" />
+		<field name="IWLAN_DNS_RESOLUTION_NAME_FAILURE" since="31" />
+		<field name="IWLAN_DNS_RESOLUTION_TIMEOUT" since="31" />
+		<field name="IWLAN_IKEV2_AUTH_FAILURE" since="31" />
+		<field name="IWLAN_IKEV2_CERT_INVALID" since="31" />
+		<field name="IWLAN_IKEV2_CONFIG_FAILURE" since="31" />
+		<field name="IWLAN_IKEV2_MSG_TIMEOUT" since="31" />
+		<field name="IWLAN_ILLEGAL_ME" since="31" />
+		<field name="IWLAN_IMEI_NOT_ACCEPTED" since="31" />
+		<field name="IWLAN_MAX_CONNECTION_REACHED" since="31" />
+		<field name="IWLAN_NETWORK_FAILURE" since="31" />
+		<field name="IWLAN_NON_3GPP_ACCESS_TO_EPC_NOT_ALLOWED" since="31" />
+		<field name="IWLAN_NO_APN_SUBSCRIPTION" since="31" />
+		<field name="IWLAN_PDN_CONNECTION_REJECTION" since="31" />
+		<field name="IWLAN_PLMN_NOT_ALLOWED" since="31" />
+		<field name="IWLAN_RAT_TYPE_NOT_ALLOWED" since="31" />
+		<field name="IWLAN_SEMANTIC_ERRORS_IN_PACKET_FILTERS" since="31" />
+		<field name="IWLAN_SEMANTIC_ERROR_IN_THE_TFT_OPERATION" since="31" />
+		<field name="IWLAN_SYNTACTICAL_ERRORS_IN_PACKET_FILTERS" since="31" />
+		<field name="IWLAN_SYNTACTICAL_ERROR_IN_THE_TFT_OPERATION" since="31" />
+		<field name="IWLAN_UNAUTHENTICATED_EMERGENCY_NOT_SUPPORTED" since="31" />
+		<field name="IWLAN_USER_UNKNOWN" since="31" />
+		<field name="LIMITED_TO_IPV4" />
+		<field name="LIMITED_TO_IPV6" />
+		<field name="LLC_SNDCP" />
+		<field name="LOCAL_END" />
+		<field name="LOCATION_AREA_NOT_ALLOWED" />
+		<field name="LOST_CONNECTION" />
+		<field name="LOWER_LAYER_REGISTRATION_FAILURE" />
+		<field name="LOW_POWER_MODE_OR_POWERING_DOWN" />
+		<field name="LTE_NAS_SERVICE_REQUEST_FAILED" />
+		<field name="LTE_THROTTLING_NOT_REQUIRED" />
+		<field name="MAC_FAILURE" />
+		<field name="MATCH_ALL_RULE_NOT_ALLOWED" since="31" />
+		<field name="MAXIMIUM_NSAPIS_EXCEEDED" />
+		<field name="MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED" />
+		<field name="MAX_ACCESS_PROBE" />
+		<field name="MAX_IPV4_CONNECTIONS" />
+		<field name="MAX_IPV6_CONNECTIONS" />
+		<field name="MAX_PPP_INACTIVITY_TIMER_EXPIRED" />
+		<field name="MESSAGE_INCORRECT_SEMANTIC" />
+		<field name="MESSAGE_TYPE_UNSUPPORTED" />
+		<field name="MIP_CONFIG_FAILURE" />
+		<field name="MIP_FA_ADMIN_PROHIBITED" />
+		<field name="MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED" />
+		<field name="MIP_FA_ENCAPSULATION_UNAVAILABLE" />
+		<field name="MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE" />
+		<field name="MIP_FA_INSUFFICIENT_RESOURCES" />
+		<field name="MIP_FA_MALFORMED_REPLY" />
+		<field name="MIP_FA_MALFORMED_REQUEST" />
+		<field name="MIP_FA_MISSING_CHALLENGE" />
+		<field name="MIP_FA_MISSING_HOME_ADDRESS" />
+		<field name="MIP_FA_MISSING_HOME_AGENT" />
+		<field name="MIP_FA_MISSING_NAI" />
+		<field name="MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE" />
+		<field name="MIP_FA_REASON_UNSPECIFIED" />
+		<field name="MIP_FA_REQUESTED_LIFETIME_TOO_LONG" />
+		<field name="MIP_FA_REVERSE_TUNNEL_IS_MANDATORY" />
+		<field name="MIP_FA_REVERSE_TUNNEL_UNAVAILABLE" />
+		<field name="MIP_FA_STALE_CHALLENGE" />
+		<field name="MIP_FA_UNKNOWN_CHALLENGE" />
+		<field name="MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE" />
+		<field name="MIP_HA_ADMIN_PROHIBITED" />
+		<field name="MIP_HA_ENCAPSULATION_UNAVAILABLE" />
+		<field name="MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE" />
+		<field name="MIP_HA_INSUFFICIENT_RESOURCES" />
+		<field name="MIP_HA_MALFORMED_REQUEST" />
+		<field name="MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE" />
+		<field name="MIP_HA_REASON_UNSPECIFIED" />
+		<field name="MIP_HA_REGISTRATION_ID_MISMATCH" />
+		<field name="MIP_HA_REVERSE_TUNNEL_IS_MANDATORY" />
+		<field name="MIP_HA_REVERSE_TUNNEL_UNAVAILABLE" />
+		<field name="MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS" />
+		<field name="MISSING_UNKNOWN_APN" />
+		<field name="MODEM_APP_PREEMPTED" />
+		<field name="MODEM_RESTART" />
+		<field name="MSC_TEMPORARILY_NOT_REACHABLE" />
+		<field name="MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE" />
+		<field name="MSG_TYPE_NONCOMPATIBLE_STATE" />
+		<field name="MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK" />
+		<field name="MULTIPLE_PDP_CALL_NOT_ALLOWED" />
+		<field name="MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED" />
+		<field name="NAS_LAYER_FAILURE" />
+		<field name="NAS_REQUEST_REJECTED_BY_NETWORK" />
+		<field name="NAS_SIGNALLING" />
+		<field name="NETWORK_FAILURE" />
+		<field name="NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH" />
+		<field name="NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH" />
+		<field name="NETWORK_INITIATED_TERMINATION" />
+		<field name="NONE" />
+		<field name="NON_IP_NOT_SUPPORTED" />
+		<field name="NORMAL_RELEASE" />
+		<field name="NO_CDMA_SERVICE" />
+		<field name="NO_COLLOCATED_HDR" />
+		<field name="NO_EPS_BEARER_CONTEXT_ACTIVATED" />
+		<field name="NO_GPRS_CONTEXT" />
+		<field name="NO_HYBRID_HDR_SERVICE" />
+		<field name="NO_PDP_CONTEXT_ACTIVATED" />
+		<field name="NO_RESPONSE_FROM_BASE_STATION" />
+		<field name="NO_SERVICE" />
+		<field name="NO_SERVICE_ON_GATEWAY" />
+		<field name="NSAPI_IN_USE" />
+		<field name="NULL_APN_DISALLOWED" />
+		<field name="OEM_DCFAILCAUSE_1" />
+		<field name="OEM_DCFAILCAUSE_10" />
+		<field name="OEM_DCFAILCAUSE_11" />
+		<field name="OEM_DCFAILCAUSE_12" />
+		<field name="OEM_DCFAILCAUSE_13" />
+		<field name="OEM_DCFAILCAUSE_14" />
+		<field name="OEM_DCFAILCAUSE_15" />
+		<field name="OEM_DCFAILCAUSE_2" />
+		<field name="OEM_DCFAILCAUSE_3" />
+		<field name="OEM_DCFAILCAUSE_4" />
+		<field name="OEM_DCFAILCAUSE_5" />
+		<field name="OEM_DCFAILCAUSE_6" />
+		<field name="OEM_DCFAILCAUSE_7" />
+		<field name="OEM_DCFAILCAUSE_8" />
+		<field name="OEM_DCFAILCAUSE_9" />
+		<field name="ONLY_IPV4V6_ALLOWED" />
+		<field name="ONLY_IPV4_ALLOWED" />
+		<field name="ONLY_IPV6_ALLOWED" />
+		<field name="ONLY_NON_IP_ALLOWED" />
+		<field name="ONLY_SINGLE_BEARER_ALLOWED" />
+		<field name="OPERATOR_BARRED" />
+		<field name="OTASP_COMMIT_IN_PROGRESS" />
+		<field name="PDN_CONN_DOES_NOT_EXIST" />
+		<field name="PDN_INACTIVITY_TIMER_EXPIRED" />
+		<field name="PDN_IPV4_CALL_DISALLOWED" />
+		<field name="PDN_IPV4_CALL_THROTTLED" />
+		<field name="PDN_IPV6_CALL_DISALLOWED" />
+		<field name="PDN_IPV6_CALL_THROTTLED" />
+		<field name="PDN_NON_IP_CALL_DISALLOWED" />
+		<field name="PDN_NON_IP_CALL_THROTTLED" />
+		<field name="PDP_ACTIVATE_MAX_RETRY_FAILED" />
+		<field name="PDP_DUPLICATE" />
+		<field name="PDP_ESTABLISH_TIMEOUT_EXPIRED" />
+		<field name="PDP_INACTIVE_TIMEOUT_EXPIRED" />
+		<field name="PDP_LOWERLAYER_ERROR" />
+		<field name="PDP_MODIFY_COLLISION" />
+		<field name="PDP_MODIFY_TIMEOUT_EXPIRED" />
+		<field name="PDP_PPP_NOT_SUPPORTED" />
+		<field name="PDP_WITHOUT_ACTIVE_TFT" />
+		<field name="PHONE_IN_USE" />
+		<field name="PHYSICAL_LINK_CLOSE_IN_PROGRESS" />
+		<field name="PLMN_NOT_ALLOWED" />
+		<field name="PPP_AUTH_FAILURE" />
+		<field name="PPP_CHAP_FAILURE" />
+		<field name="PPP_CLOSE_IN_PROGRESS" />
+		<field name="PPP_OPTION_MISMATCH" />
+		<field name="PPP_PAP_FAILURE" />
+		<field name="PPP_TIMEOUT" />
+		<field name="PREF_RADIO_TECH_CHANGED" />
+		<field name="PROFILE_BEARER_INCOMPATIBLE" />
+		<field name="PROTOCOL_ERRORS" />
+		<field name="QOS_NOT_ACCEPTED" />
+		<field name="RADIO_ACCESS_BEARER_FAILURE" />
+		<field name="RADIO_ACCESS_BEARER_SETUP_FAILURE" />
+		<field name="RADIO_NOT_AVAILABLE" />
+		<field name="RADIO_POWER_OFF" />
+		<field name="REDIRECTION_OR_HANDOFF_IN_PROGRESS" />
+		<field name="REGISTRATION_FAIL" />
+		<field name="REGULAR_DEACTIVATION" />
+		<field name="REJECTED_BY_BASE_STATION" />
+		<field name="RRC_CONNECTION_ABORTED_AFTER_HANDOVER" />
+		<field name="RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE" />
+		<field name="RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE" />
+		<field name="RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE" />
+		<field name="RRC_CONNECTION_ABORT_REQUEST" />
+		<field name="RRC_CONNECTION_ACCESS_BARRED" />
+		<field name="RRC_CONNECTION_ACCESS_STRATUM_FAILURE" />
+		<field name="RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS" />
+		<field name="RRC_CONNECTION_CELL_NOT_CAMPED" />
+		<field name="RRC_CONNECTION_CELL_RESELECTION" />
+		<field name="RRC_CONNECTION_CONFIG_FAILURE" />
+		<field name="RRC_CONNECTION_INVALID_REQUEST" />
+		<field name="RRC_CONNECTION_LINK_FAILURE" />
+		<field name="RRC_CONNECTION_NORMAL_RELEASE" />
+		<field name="RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER" />
+		<field name="RRC_CONNECTION_RADIO_LINK_FAILURE" />
+		<field name="RRC_CONNECTION_REESTABLISHMENT_FAILURE" />
+		<field name="RRC_CONNECTION_REJECT_BY_NETWORK" />
+		<field name="RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE" />
+		<field name="RRC_CONNECTION_RF_UNAVAILABLE" />
+		<field name="RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR" />
+		<field name="RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE" />
+		<field name="RRC_CONNECTION_TIMER_EXPIRED" />
+		<field name="RRC_CONNECTION_TRACKING_AREA_ID_CHANGED" />
+		<field name="RRC_UPLINK_CONNECTION_RELEASE" />
+		<field name="RRC_UPLINK_DATA_TRANSMISSION_FAILURE" />
+		<field name="RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER" />
+		<field name="RRC_UPLINK_ERROR_REQUEST_FROM_NAS" />
+		<field name="RRC_UPLINK_RADIO_LINK_FAILURE" />
+		<field name="RUIM_NOT_PRESENT" />
+		<field name="SECURITY_MODE_REJECTED" />
+		<field name="SERVICE_NOT_ALLOWED_ON_PLMN" />
+		<field name="SERVICE_OPTION_NOT_SUBSCRIBED" />
+		<field name="SERVICE_OPTION_NOT_SUPPORTED" />
+		<field name="SERVICE_OPTION_OUT_OF_ORDER" />
+		<field name="SIGNAL_LOST" />
+		<field name="SIM_CARD_CHANGED" />
+		<field name="SLICE_REJECTED" since="31" />
+		<field name="SYNCHRONIZATION_FAILURE" />
+		<field name="TEST_LOOPBACK_REGULAR_DEACTIVATION" />
+		<field name="TETHERED_CALL_ACTIVE" />
+		<field name="TFT_SEMANTIC_ERROR" />
+		<field name="TFT_SYTAX_ERROR" />
+		<field name="THERMAL_EMERGENCY" />
+		<field name="THERMAL_MITIGATION" />
+		<field name="TRAT_SWAP_FAILED" />
+		<field name="UE_INITIATED_DETACH_OR_DISCONNECT" />
+		<field name="UE_IS_ENTERING_POWERSAVE_MODE" />
+		<field name="UE_RAT_CHANGE" />
+		<field name="UE_SECURITY_CAPABILITIES_MISMATCH" />
+		<field name="UMTS_HANDOVER_TO_IWLAN" />
+		<field name="UMTS_REACTIVATION_REQ" />
+		<field name="UNACCEPTABLE_NETWORK_PARAMETER" />
+		<field name="UNACCEPTABLE_NON_EPS_AUTHENTICATION" />
+		<field name="UNKNOWN" />
+		<field name="UNKNOWN_INFO_ELEMENT" />
+		<field name="UNKNOWN_PDP_ADDRESS_TYPE" />
+		<field name="UNKNOWN_PDP_CONTEXT" />
+		<field name="UNPREFERRED_RAT" />
+		<field name="UNSUPPORTED_1X_PREV" />
+		<field name="UNSUPPORTED_APN_IN_CURRENT_PLMN" />
+		<field name="UNSUPPORTED_QCI_VALUE" />
+		<field name="USER_AUTHENTICATION" />
+		<field name="VSNCP_ADMINISTRATIVELY_PROHIBITED" />
+		<field name="VSNCP_APN_UNAUTHORIZED" />
+		<field name="VSNCP_GEN_ERROR" />
+		<field name="VSNCP_INSUFFICIENT_PARAMETERS" />
+		<field name="VSNCP_NO_PDN_GATEWAY_ADDRESS" />
+		<field name="VSNCP_PDN_EXISTS_FOR_THIS_APN" />
+		<field name="VSNCP_PDN_GATEWAY_REJECT" />
+		<field name="VSNCP_PDN_GATEWAY_UNREACHABLE" />
+		<field name="VSNCP_PDN_ID_IN_USE" />
+		<field name="VSNCP_PDN_LIMIT_EXCEEDED" />
+		<field name="VSNCP_RECONNECT_NOT_ALLOWED" />
+		<field name="VSNCP_RESOURCE_UNAVAILABLE" />
+		<field name="VSNCP_SUBSCRIBER_LIMITATION" />
+		<field name="VSNCP_TIMEOUT" />
+	</class>
+	<class name="android/telephony/DisconnectCause" since="31">
+		<extends name="java/lang/Object" />
+		<field name="ALREADY_DIALING" />
+		<field name="ANSWERED_ELSEWHERE" />
+		<field name="BUSY" />
+		<field name="CALLING_DISABLED" />
+		<field name="CALL_BARRED" />
+		<field name="CALL_PULLED" />
+		<field name="CANT_CALL_WHILE_RINGING" />
+		<field name="CDMA_ACCESS_BLOCKED" />
+		<field name="CDMA_ACCESS_FAILURE" />
+		<field name="CDMA_ALREADY_ACTIVATED" />
+		<field name="CDMA_DROP" />
+		<field name="CDMA_INTERCEPT" />
+		<field name="CDMA_LOCKED_UNTIL_POWER_CYCLE" />
+		<field name="CDMA_NOT_EMERGENCY" />
+		<field name="CDMA_PREEMPTED" />
+		<field name="CDMA_REORDER" />
+		<field name="CDMA_RETRY_ORDER" />
+		<field name="CDMA_SO_REJECT" />
+		<field name="CONGESTION" />
+		<field name="CS_RESTRICTED" />
+		<field name="CS_RESTRICTED_EMERGENCY" />
+		<field name="CS_RESTRICTED_NORMAL" />
+		<field name="DATA_DISABLED" />
+		<field name="DATA_LIMIT_REACHED" />
+		<field name="DIALED_CALL_FORWARDING_WHILE_ROAMING" />
+		<field name="DIALED_MMI" />
+		<field name="DIAL_LOW_BATTERY" />
+		<field name="DIAL_MODIFIED_TO_DIAL" />
+		<field name="DIAL_MODIFIED_TO_DIAL_VIDEO" />
+		<field name="DIAL_MODIFIED_TO_SS" />
+		<field name="DIAL_MODIFIED_TO_USSD" />
+		<field name="DIAL_VIDEO_MODIFIED_TO_DIAL" />
+		<field name="DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO" />
+		<field name="DIAL_VIDEO_MODIFIED_TO_SS" />
+		<field name="DIAL_VIDEO_MODIFIED_TO_USSD" />
+		<field name="EMERGENCY_CALL_OVER_WFC_NOT_AVAILABLE" />
+		<field name="EMERGENCY_PERM_FAILURE" />
+		<field name="EMERGENCY_TEMP_FAILURE" />
+		<field name="ERROR_UNSPECIFIED" />
+		<field name="FDN_BLOCKED" />
+		<field name="ICC_ERROR" />
+		<field name="IMEI_NOT_ACCEPTED" />
+		<field name="IMS_ACCESS_BLOCKED" />
+		<field name="IMS_MERGED_SUCCESSFULLY" />
+		<field name="IMS_SIP_ALTERNATE_EMERGENCY_CALL" />
+		<field name="INCOMING_AUTO_REJECTED" />
+		<field name="INCOMING_MISSED" />
+		<field name="INCOMING_REJECTED" />
+		<field name="INVALID_CREDENTIALS" />
+		<field name="INVALID_NUMBER" />
+		<field name="LIMIT_EXCEEDED" />
+		<field name="LOCAL" />
+		<field name="LOST_SIGNAL" />
+		<field name="LOW_BATTERY" />
+		<field name="MAXIMUM_NUMBER_OF_CALLS_REACHED" />
+		<field name="MEDIA_TIMEOUT" />
+		<field name="MMI" />
+		<field name="NORMAL" />
+		<field name="NORMAL_UNSPECIFIED" />
+		<field name="NOT_DISCONNECTED" />
+		<field name="NOT_VALID" />
+		<field name="NO_PHONE_NUMBER_SUPPLIED" />
+		<field name="NUMBER_UNREACHABLE" />
+		<field name="OTASP_PROVISIONING_IN_PROCESS" />
+		<field name="OUTGOING_CANCELED" />
+		<field name="OUTGOING_EMERGENCY_CALL_PLACED" />
+		<field name="OUTGOING_FAILURE" />
+		<field name="OUT_OF_NETWORK" />
+		<field name="OUT_OF_SERVICE" />
+		<field name="POWER_OFF" />
+		<field name="SERVER_ERROR" />
+		<field name="SERVER_UNREACHABLE" />
+		<field name="TIMED_OUT" />
+		<field name="TOO_MANY_ONGOING_CALLS" />
+		<field name="UNOBTAINABLE_NUMBER" />
+		<field name="VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED" />
+		<field name="VOICEMAIL_NUMBER_MISSING" />
+		<field name="WFC_SERVICE_NOT_AVAILABLE_IN_THIS_LOCATION" />
+		<field name="WIFI_LOST" />
+	</class>
+	<class name="android/telephony/IccOpenLogicalChannelResponse" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getChannel()I" />
+		<method name="getSelectResponse()[B" />
+		<method name="getStatus()I" />
+		<field name="CREATOR" />
+		<field name="INVALID_CHANNEL" />
+		<field name="STATUS_MISSING_RESOURCE" />
+		<field name="STATUS_NO_ERROR" />
+		<field name="STATUS_NO_SUCH_ELEMENT" />
+		<field name="STATUS_UNKNOWN_ERROR" />
+	</class>
+	<class name="android/telephony/MbmsDownloadSession" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="addProgressListener(Landroid/telephony/mbms/DownloadRequest;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/DownloadProgressListener;)V" />
+		<method name="addServiceAnnouncement([B)V" since="31" />
+		<method name="addStatusListener(Landroid/telephony/mbms/DownloadRequest;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/DownloadStatusListener;)V" />
+		<method name="cancelDownload(Landroid/telephony/mbms/DownloadRequest;)V" />
+		<method name="create(Landroid/content/Context;Ljava/util/concurrent/Executor;ILandroid/telephony/mbms/MbmsDownloadSessionCallback;)Landroid/telephony/MbmsDownloadSession;" />
+		<method name="create(Landroid/content/Context;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/MbmsDownloadSessionCallback;)Landroid/telephony/MbmsDownloadSession;" />
+		<method name="download(Landroid/telephony/mbms/DownloadRequest;)V" />
+		<method name="getMaximumServiceAnnouncementSize()I" since="31" />
+		<method name="getTempFileRootDirectory()Ljava/io/File;" />
+		<method name="listPendingDownloads()Ljava/util/List;" />
+		<method name="removeProgressListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/DownloadProgressListener;)V" />
+		<method name="removeStatusListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/DownloadStatusListener;)V" />
+		<method name="requestDownloadState(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;)V" />
+		<method name="requestUpdateFileServices(Ljava/util/List;)V" />
+		<method name="resetDownloadKnowledge(Landroid/telephony/mbms/DownloadRequest;)V" />
+		<method name="setTempFileRootDirectory(Ljava/io/File;)V" />
+		<field name="DEFAULT_TOP_LEVEL_TEMP_DIRECTORY" />
+		<field name="EXTRA_MBMS_COMPLETED_FILE_URI" />
+		<field name="EXTRA_MBMS_DOWNLOAD_REQUEST" />
+		<field name="EXTRA_MBMS_DOWNLOAD_RESULT" />
+		<field name="EXTRA_MBMS_FILE_INFO" />
+		<field name="RESULT_CANCELLED" />
+		<field name="RESULT_DOWNLOAD_FAILURE" />
+		<field name="RESULT_EXPIRED" />
+		<field name="RESULT_FILE_ROOT_UNREACHABLE" />
+		<field name="RESULT_IO_ERROR" />
+		<field name="RESULT_OUT_OF_STORAGE" />
+		<field name="RESULT_SERVICE_ID_NOT_DEFINED" />
+		<field name="RESULT_SUCCESSFUL" />
+		<field name="STATUS_ACTIVELY_DOWNLOADING" />
+		<field name="STATUS_PENDING_DOWNLOAD" />
+		<field name="STATUS_PENDING_DOWNLOAD_WINDOW" />
+		<field name="STATUS_PENDING_REPAIR" />
+		<field name="STATUS_UNKNOWN" />
+	</class>
+	<class name="android/telephony/MbmsGroupCallSession" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="create(Landroid/content/Context;ILjava/util/concurrent/Executor;Landroid/telephony/mbms/MbmsGroupCallSessionCallback;)Landroid/telephony/MbmsGroupCallSession;" />
+		<method name="create(Landroid/content/Context;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/MbmsGroupCallSessionCallback;)Landroid/telephony/MbmsGroupCallSession;" />
+		<method name="startGroupCall(JLjava/util/List;Ljava/util/List;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/GroupCallCallback;)Landroid/telephony/mbms/GroupCall;" />
+	</class>
+	<class name="android/telephony/MbmsStreamingSession" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="create(Landroid/content/Context;Ljava/util/concurrent/Executor;ILandroid/telephony/mbms/MbmsStreamingSessionCallback;)Landroid/telephony/MbmsStreamingSession;" />
+		<method name="create(Landroid/content/Context;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/MbmsStreamingSessionCallback;)Landroid/telephony/MbmsStreamingSession;" />
+		<method name="requestUpdateStreamingServices(Ljava/util/List;)V" />
+		<method name="startStreaming(Landroid/telephony/mbms/StreamingServiceInfo;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/StreamingServiceCallback;)Landroid/telephony/mbms/StreamingService;" />
+	</class>
+	<class name="android/telephony/NeighboringCellInfo" since="3" deprecated="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" deprecated="15" />
+		<method name="&lt;init&gt;(II)V" deprecated="15" />
+		<method name="&lt;init&gt;(ILjava/lang/String;I)V" since="7" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" deprecated="29" />
+		<method name="getCid()I" deprecated="29" />
+		<method name="getLac()I" since="5" deprecated="29" />
+		<method name="getNetworkType()I" since="5" deprecated="29" />
+		<method name="getPsc()I" since="5" deprecated="29" />
+		<method name="getRssi()I" deprecated="29" />
+		<method name="setCid(I)V" deprecated="15" />
+		<method name="setRssi(I)V" deprecated="15" />
+		<field name="CREATOR" deprecated="29" />
+		<field name="UNKNOWN_CID" deprecated="29" />
+		<field name="UNKNOWN_RSSI" deprecated="29" />
+	</class>
+	<class name="android/telephony/NetworkRegistrationInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAccessNetworkTechnology()I" />
+		<method name="getAvailableServices()Ljava/util/List;" />
+		<method name="getCellIdentity()Landroid/telephony/CellIdentity;" />
+		<method name="getDomain()I" />
+		<method name="getRegisteredPlmn()Ljava/lang/String;" />
+		<method name="getTransportType()I" />
+		<method name="isRegistered()Z" />
+		<method name="isRoaming()Z" />
+		<method name="isSearching()Z" />
+		<field name="CREATOR" />
+		<field name="DOMAIN_CS" />
+		<field name="DOMAIN_CS_PS" />
+		<field name="DOMAIN_PS" />
+		<field name="DOMAIN_UNKNOWN" />
+		<field name="NR_STATE_CONNECTED" />
+		<field name="NR_STATE_NONE" />
+		<field name="NR_STATE_NOT_RESTRICTED" />
+		<field name="NR_STATE_RESTRICTED" />
+		<field name="SERVICE_TYPE_DATA" />
+		<field name="SERVICE_TYPE_EMERGENCY" />
+		<field name="SERVICE_TYPE_SMS" />
+		<field name="SERVICE_TYPE_UNKNOWN" />
+		<field name="SERVICE_TYPE_VIDEO" />
+		<field name="SERVICE_TYPE_VOICE" />
+	</class>
+	<class name="android/telephony/NetworkScan" since="28">
+		<extends name="java/lang/Object" />
+		<method name="stopScan()V" />
+		<field name="ERROR_INTERRUPTED" />
+		<field name="ERROR_INVALID_SCAN" />
+		<field name="ERROR_INVALID_SCANID" />
+		<field name="ERROR_MODEM_ERROR" />
+		<field name="ERROR_MODEM_UNAVAILABLE" />
+		<field name="ERROR_RADIO_INTERFACE_ERROR" />
+		<field name="ERROR_UNSUPPORTED" />
+		<field name="SUCCESS" />
+	</class>
+	<class name="android/telephony/NetworkScanRequest" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(I[Landroid/telephony/RadioAccessSpecifier;IIZILjava/util/ArrayList;)V" />
+		<method name="getIncrementalResults()Z" />
+		<method name="getIncrementalResultsPeriodicity()I" />
+		<method name="getMaxSearchTime()I" />
+		<method name="getPlmns()Ljava/util/ArrayList;" />
+		<method name="getScanType()I" />
+		<method name="getSearchPeriodicity()I" />
+		<method name="getSpecifiers()[Landroid/telephony/RadioAccessSpecifier;" />
+		<field name="CREATOR" />
+		<field name="SCAN_TYPE_ONE_SHOT" />
+		<field name="SCAN_TYPE_PERIODIC" />
+	</class>
+	<class name="android/telephony/PhoneNumberFormattingTextWatcher" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/TextWatcher" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" since="21" />
+	</class>
+	<class name="android/telephony/PhoneNumberUtils" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addTtsSpan(Landroid/text/Spannable;II)V" since="23" />
+		<method name="areSamePhoneNumber(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z" since="31" />
+		<method name="calledPartyBCDFragmentToString([BII)Ljava/lang/String;" deprecated="28" />
+		<method name="calledPartyBCDFragmentToString([BIII)Ljava/lang/String;" since="28" />
+		<method name="calledPartyBCDToString([BII)Ljava/lang/String;" deprecated="28" />
+		<method name="calledPartyBCDToString([BIII)Ljava/lang/String;" since="28" />
+		<method name="compare(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z" since="5" deprecated="31" />
+		<method name="compare(Ljava/lang/String;Ljava/lang/String;)Z" deprecated="31" />
+		<method name="convertKeypadLettersToDigits(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="createTtsSpan(Ljava/lang/String;)Landroid/text/style/TtsSpan;" since="23" />
+		<method name="createTtsSpannable(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" since="23" />
+		<method name="extractNetworkPortion(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="extractPostDialPortion(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="formatJapaneseNumber(Landroid/text/Editable;)V" since="3" deprecated="21" />
+		<method name="formatNanpNumber(Landroid/text/Editable;)V" deprecated="21" />
+		<method name="formatNumber(Landroid/text/Editable;I)V" deprecated="21" />
+		<method name="formatNumber(Ljava/lang/String;)Ljava/lang/String;" deprecated="21" />
+		<method name="formatNumber(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="21" />
+		<method name="formatNumber(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="21" />
+		<method name="formatNumberToE164(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="21" />
+		<method name="formatNumberToRFC3966(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="23" />
+		<method name="getFormatTypeForLocale(Ljava/util/Locale;)I" deprecated="21" />
+		<method name="getNumberFromIntent(Landroid/content/Intent;Landroid/content/Context;)Ljava/lang/String;" />
+		<method name="getStrippedReversed(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="is12Key(C)Z" />
+		<method name="isDialable(C)Z" />
+		<method name="isEmergencyNumber(Ljava/lang/String;)Z" deprecated="29" />
+		<method name="isGlobalPhoneNumber(Ljava/lang/String;)Z" />
+		<method name="isISODigit(C)Z" />
+		<method name="isLocalEmergencyNumber(Landroid/content/Context;Ljava/lang/String;)Z" since="21" deprecated="29" />
+		<method name="isNonSeparator(C)Z" />
+		<method name="isReallyDialable(C)Z" />
+		<method name="isStartsPostDial(C)Z" />
+		<method name="isVoiceMailNumber(Ljava/lang/String;)Z" since="21" />
+		<method name="isWellFormedSmsAddress(Ljava/lang/String;)Z" />
+		<method name="networkPortionToCalledPartyBCD(Ljava/lang/String;)[B" />
+		<method name="networkPortionToCalledPartyBCDWithLength(Ljava/lang/String;)[B" />
+		<method name="normalizeNumber(Ljava/lang/String;)Ljava/lang/String;" since="21" />
+		<method name="numberToCalledPartyBCD(Ljava/lang/String;)[B" deprecated="28" />
+		<method name="numberToCalledPartyBCD(Ljava/lang/String;I)[B" since="28" />
+		<method name="replaceUnicodeDigits(Ljava/lang/String;)Ljava/lang/String;" since="21" />
+		<method name="stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String;" />
+		<method name="stripSeparators(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="toCallerIDMinMatch(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="toaFromString(Ljava/lang/String;)I" />
+		<field name="BCD_EXTENDED_TYPE_CALLED_PARTY" since="28" />
+		<field name="BCD_EXTENDED_TYPE_EF_ADN" since="28" />
+		<field name="FORMAT_JAPAN" since="3" />
+		<field name="FORMAT_NANP" />
+		<field name="FORMAT_UNKNOWN" />
+		<field name="PAUSE" />
+		<field name="TOA_International" />
+		<field name="TOA_Unknown" />
+		<field name="WAIT" />
+		<field name="WILD" />
+	</class>
+	<class name="android/telephony/PhoneStateListener" since="1" deprecated="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/Executor;)V" since="29" deprecated="31" />
+		<method name="onActiveDataSubscriptionIdChanged(I)V" since="29" deprecated="31" />
+		<method name="onBarringInfoChanged(Landroid/telephony/BarringInfo;)V" since="30" deprecated="31" />
+		<method name="onCallDisconnectCauseChanged(II)V" since="30" deprecated="31" />
+		<method name="onCallForwardingIndicatorChanged(Z)V" deprecated="31" />
+		<method name="onCallStateChanged(ILjava/lang/String;)V" deprecated="31" />
+		<method name="onCellInfoChanged(Ljava/util/List;)V" since="17" deprecated="31" />
+		<method name="onCellLocationChanged(Landroid/telephony/CellLocation;)V" deprecated="31" />
+		<method name="onDataActivity(I)V" deprecated="31" />
+		<method name="onDataConnectionStateChanged(I)V" deprecated="31" />
+		<method name="onDataConnectionStateChanged(II)V" since="7" deprecated="31" />
+		<method name="onDisplayInfoChanged(Landroid/telephony/TelephonyDisplayInfo;)V" since="30" deprecated="31" />
+		<method name="onEmergencyNumberListChanged(Ljava/util/Map;)V" since="31" deprecated="31" />
+		<method name="onImsCallDisconnectCauseChanged(Landroid/telephony/ims/ImsReasonInfo;)V" since="30" deprecated="31" />
+		<method name="onMessageWaitingIndicatorChanged(Z)V" deprecated="31" />
+		<method name="onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V" since="30" deprecated="31" />
+		<method name="onRegistrationFailed(Landroid/telephony/CellIdentity;Ljava/lang/String;III)V" since="30" deprecated="31" />
+		<method name="onServiceStateChanged(Landroid/telephony/ServiceState;)V" deprecated="31" />
+		<method name="onSignalStrengthChanged(I)V" deprecated="15" />
+		<method name="onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V" since="7" deprecated="31" />
+		<method name="onUserMobileDataStateChanged(Z)V" since="28" deprecated="31" />
+		<field name="LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE" since="29" deprecated="31" />
+		<field name="LISTEN_BARRING_INFO" since="30" deprecated="31" />
+		<field name="LISTEN_CALL_DISCONNECT_CAUSES" since="30" deprecated="31" />
+		<field name="LISTEN_CALL_FORWARDING_INDICATOR" deprecated="31" />
+		<field name="LISTEN_CALL_STATE" deprecated="31" />
+		<field name="LISTEN_CELL_INFO" since="17" deprecated="31" />
+		<field name="LISTEN_CELL_LOCATION" deprecated="31" />
+		<field name="LISTEN_DATA_ACTIVITY" deprecated="31" />
+		<field name="LISTEN_DATA_CONNECTION_STATE" deprecated="31" />
+		<field name="LISTEN_DISPLAY_INFO_CHANGED" since="30" deprecated="31" />
+		<field name="LISTEN_EMERGENCY_NUMBER_LIST" since="29" deprecated="31" />
+		<field name="LISTEN_IMS_CALL_DISCONNECT_CAUSES" since="30" deprecated="31" />
+		<field name="LISTEN_MESSAGE_WAITING_INDICATOR" deprecated="31" />
+		<field name="LISTEN_NONE" deprecated="31" />
+		<field name="LISTEN_PRECISE_DATA_CONNECTION_STATE" since="30" deprecated="31" />
+		<field name="LISTEN_REGISTRATION_FAILURE" since="30" deprecated="31" />
+		<field name="LISTEN_SERVICE_STATE" deprecated="31" />
+		<field name="LISTEN_SIGNAL_STRENGTH" deprecated="15" />
+		<field name="LISTEN_SIGNAL_STRENGTHS" since="7" deprecated="31" />
+		<field name="LISTEN_USER_MOBILE_DATA_STATE" since="28" deprecated="31" />
+	</class>
+	<class name="android/telephony/PhysicalChannelConfig" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getBand()I" />
+		<method name="getCellBandwidthDownlinkKhz()I" />
+		<method name="getCellBandwidthUplinkKhz()I" />
+		<method name="getConnectionStatus()I" />
+		<method name="getDownlinkChannelNumber()I" />
+		<method name="getDownlinkFrequencyKhz()I" />
+		<method name="getNetworkType()I" />
+		<method name="getPhysicalCellId()I" />
+		<method name="getUplinkChannelNumber()I" />
+		<method name="getUplinkFrequencyKhz()I" />
+		<field name="BAND_UNKNOWN" />
+		<field name="CELL_BANDWIDTH_UNKNOWN" />
+		<field name="CHANNEL_NUMBER_UNKNOWN" />
+		<field name="CONNECTION_PRIMARY_SERVING" />
+		<field name="CONNECTION_SECONDARY_SERVING" />
+		<field name="CONNECTION_UNKNOWN" />
+		<field name="CREATOR" />
+		<field name="FREQUENCY_UNKNOWN" />
+		<field name="PHYSICAL_CELL_ID_MAXIMUM_VALUE" />
+		<field name="PHYSICAL_CELL_ID_UNKNOWN" />
+	</class>
+	<class name="android/telephony/PreciseDataConnectionState" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getApnSetting()Landroid/telephony/data/ApnSetting;" />
+		<method name="getId()I" since="31" />
+		<method name="getLastCauseCode()I" />
+		<method name="getLinkProperties()Ljava/lang/Object;" />
+		<method name="getNetworkType()I" />
+		<method name="getState()I" />
+		<method name="getTransportType()I" since="31" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/RadioAccessSpecifier" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(I[I[I)V" />
+		<method name="getBands()[I" />
+		<method name="getChannels()[I" />
+		<method name="getRadioAccessNetwork()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/ServiceState" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/telephony/ServiceState;)V" />
+		<method name="copyFrom(Landroid/telephony/ServiceState;)V" />
+		<method name="getCdmaNetworkId()I" since="28" />
+		<method name="getCdmaSystemId()I" since="28" />
+		<method name="getCellBandwidths()[I" since="28" />
+		<method name="getChannelNumber()I" since="28" />
+		<method name="getDuplexMode()I" since="28" />
+		<method name="getIsManualSelection()Z" />
+		<method name="getNetworkRegistrationInfoList()Ljava/util/List;" since="30" />
+		<method name="getOperatorAlphaLong()Ljava/lang/String;" />
+		<method name="getOperatorAlphaShort()Ljava/lang/String;" />
+		<method name="getOperatorNumeric()Ljava/lang/String;" />
+		<method name="getRoaming()Z" />
+		<method name="getState()I" />
+		<method name="isSearching()Z" since="30" />
+		<method name="setIsManualSelection(Z)V" />
+		<method name="setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setRoaming(Z)V" />
+		<method name="setState(I)V" />
+		<method name="setStateOff()V" />
+		<method name="setStateOutOfService()V" />
+		<field name="CREATOR" />
+		<field name="DUPLEX_MODE_FDD" since="28" />
+		<field name="DUPLEX_MODE_TDD" since="28" />
+		<field name="DUPLEX_MODE_UNKNOWN" since="28" />
+		<field name="STATE_EMERGENCY_ONLY" />
+		<field name="STATE_IN_SERVICE" />
+		<field name="STATE_OUT_OF_SERVICE" />
+		<field name="STATE_POWER_OFF" />
+		<field name="UNKNOWN_ID" since="28" />
+	</class>
+	<class name="android/telephony/SignalStrength" since="7">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/telephony/SignalStrength;)V" since="31" />
+		<method name="getCdmaDbm()I" deprecated="29" />
+		<method name="getCdmaEcio()I" deprecated="29" />
+		<method name="getCellSignalStrengths()Ljava/util/List;" since="29" />
+		<method name="getCellSignalStrengths(Ljava/lang/Class;)Ljava/util/List;" since="29" />
+		<method name="getEvdoDbm()I" deprecated="29" />
+		<method name="getEvdoEcio()I" deprecated="29" />
+		<method name="getEvdoSnr()I" deprecated="29" />
+		<method name="getGsmBitErrorRate()I" deprecated="29" />
+		<method name="getGsmSignalStrength()I" deprecated="29" />
+		<method name="getLevel()I" since="23" />
+		<method name="getTimestampMillis()J" since="30" />
+		<method name="isGsm()Z" deprecated="29" />
+		<field name="CREATOR" since="30" />
+		<field name="INVALID" since="29" />
+	</class>
+	<class name="android/telephony/SignalStrengthUpdateRequest" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getSignalThresholdInfos()Ljava/util/Collection;" />
+		<method name="isReportingRequestedWhileIdle()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/SignalStrengthUpdateRequest$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/telephony/SignalStrengthUpdateRequest;" />
+		<method name="setReportingRequestedWhileIdle(Z)Landroid/telephony/SignalStrengthUpdateRequest$Builder;" />
+		<method name="setSignalThresholdInfos(Ljava/util/Collection;)Landroid/telephony/SignalStrengthUpdateRequest$Builder;" />
+	</class>
+	<class name="android/telephony/SignalThresholdInfo" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getMaximumNumberOfThresholdsAllowed()I" />
+		<method name="getMinimumNumberOfThresholdsAllowed()I" />
+		<method name="getRadioAccessNetworkType()I" />
+		<method name="getSignalMeasurementType()I" />
+		<method name="getThresholds()[I" />
+		<field name="CREATOR" />
+		<field name="SIGNAL_MEASUREMENT_TYPE_RSCP" />
+		<field name="SIGNAL_MEASUREMENT_TYPE_RSRP" />
+		<field name="SIGNAL_MEASUREMENT_TYPE_RSRQ" />
+		<field name="SIGNAL_MEASUREMENT_TYPE_RSSI" />
+		<field name="SIGNAL_MEASUREMENT_TYPE_RSSNR" />
+		<field name="SIGNAL_MEASUREMENT_TYPE_SSRSRP" />
+		<field name="SIGNAL_MEASUREMENT_TYPE_SSRSRQ" />
+		<field name="SIGNAL_MEASUREMENT_TYPE_SSSINR" />
+		<field name="SIGNAL_MEASUREMENT_TYPE_UNKNOWN" />
+	</class>
+	<class name="android/telephony/SignalThresholdInfo$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/telephony/SignalThresholdInfo;" />
+		<method name="setRadioAccessNetworkType(I)Landroid/telephony/SignalThresholdInfo$Builder;" />
+		<method name="setSignalMeasurementType(I)Landroid/telephony/SignalThresholdInfo$Builder;" />
+		<method name="setThresholds([I)Landroid/telephony/SignalThresholdInfo$Builder;" />
+	</class>
+	<class name="android/telephony/SmsManager" since="4">
+		<extends name="java/lang/Object" />
+		<method name="createAppSpecificSmsToken(Landroid/app/PendingIntent;)Ljava/lang/String;" since="26" />
+		<method name="createAppSpecificSmsTokenWithPackageInfo(Ljava/lang/String;Landroid/app/PendingIntent;)Ljava/lang/String;" since="29" />
+		<method name="createForSubscriptionId(I)Landroid/telephony/SmsManager;" since="31" />
+		<method name="divideMessage(Ljava/lang/String;)Ljava/util/ArrayList;" />
+		<method name="downloadMultimediaMessage(Landroid/content/Context;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V" since="21" />
+		<method name="downloadMultimediaMessage(Landroid/content/Context;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;J)V" since="31" />
+		<method name="getCarrierConfigValues()Landroid/os/Bundle;" since="21" />
+		<method name="getDefault()Landroid/telephony/SmsManager;" deprecated="31" />
+		<method name="getDefaultSmsSubscriptionId()I" since="22" />
+		<method name="getSmsCapacityOnIcc()I" since="31" />
+		<method name="getSmsManagerForSubscriptionId(I)Landroid/telephony/SmsManager;" since="22" deprecated="31" />
+		<method name="getSmsMessagesForFinancialApp(Landroid/os/Bundle;Ljava/util/concurrent/Executor;Landroid/telephony/SmsManager$FinancialSmsCallback;)V" since="29" />
+		<method name="getSmscAddress()Ljava/lang/String;" since="30" />
+		<method name="getSubscriptionId()I" since="22" />
+		<method name="injectSmsPdu([BLjava/lang/String;Landroid/app/PendingIntent;)V" since="22" />
+		<method name="sendDataMessage(Ljava/lang/String;Ljava/lang/String;S[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V" />
+		<method name="sendMultimediaMessage(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/PendingIntent;)V" since="21" />
+		<method name="sendMultimediaMessage(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/PendingIntent;J)V" since="31" />
+		<method name="sendMultipartTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V" />
+		<method name="sendMultipartTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;J)V" since="30" />
+		<method name="sendMultipartTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V" since="30" />
+		<method name="sendTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V" />
+		<method name="sendTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;J)V" since="30" />
+		<method name="sendTextMessageWithoutPersisting(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V" since="28" />
+		<method name="setSmscAddress(Ljava/lang/String;)Z" since="30" />
+		<field name="EXTRA_MMS_DATA" since="21" />
+		<field name="EXTRA_MMS_HTTP_STATUS" since="22" />
+		<field name="MMS_CONFIG_ALIAS_ENABLED" since="21" />
+		<field name="MMS_CONFIG_ALIAS_MAX_CHARS" since="21" />
+		<field name="MMS_CONFIG_ALIAS_MIN_CHARS" since="21" />
+		<field name="MMS_CONFIG_ALLOW_ATTACH_AUDIO" since="21" />
+		<field name="MMS_CONFIG_APPEND_TRANSACTION_ID" since="21" />
+		<field name="MMS_CONFIG_EMAIL_GATEWAY_NUMBER" since="21" />
+		<field name="MMS_CONFIG_GROUP_MMS_ENABLED" since="21" />
+		<field name="MMS_CONFIG_HTTP_PARAMS" since="21" />
+		<field name="MMS_CONFIG_HTTP_SOCKET_TIMEOUT" since="21" />
+		<field name="MMS_CONFIG_MAX_IMAGE_HEIGHT" since="21" />
+		<field name="MMS_CONFIG_MAX_IMAGE_WIDTH" since="21" />
+		<field name="MMS_CONFIG_MAX_MESSAGE_SIZE" since="21" />
+		<field name="MMS_CONFIG_MESSAGE_TEXT_MAX_SIZE" since="21" />
+		<field name="MMS_CONFIG_MMS_DELIVERY_REPORT_ENABLED" since="21" />
+		<field name="MMS_CONFIG_MMS_ENABLED" since="21" />
+		<field name="MMS_CONFIG_MMS_READ_REPORT_ENABLED" since="21" />
+		<field name="MMS_CONFIG_MULTIPART_SMS_ENABLED" since="21" />
+		<field name="MMS_CONFIG_NAI_SUFFIX" since="21" />
+		<field name="MMS_CONFIG_NOTIFY_WAP_MMSC_ENABLED" since="21" />
+		<field name="MMS_CONFIG_RECIPIENT_LIMIT" since="21" />
+		<field name="MMS_CONFIG_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES" since="21" />
+		<field name="MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS" since="22" />
+		<field name="MMS_CONFIG_SMS_DELIVERY_REPORT_ENABLED" since="21" />
+		<field name="MMS_CONFIG_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD" since="21" />
+		<field name="MMS_CONFIG_SMS_TO_MMS_TEXT_THRESHOLD" since="21" />
+		<field name="MMS_CONFIG_SUBJECT_MAX_LENGTH" since="21" />
+		<field name="MMS_CONFIG_SUPPORT_HTTP_CHARSET_HEADER" since="23" />
+		<field name="MMS_CONFIG_SUPPORT_MMS_CONTENT_DISPOSITION" since="21" />
+		<field name="MMS_CONFIG_UA_PROF_TAG_NAME" since="21" />
+		<field name="MMS_CONFIG_UA_PROF_URL" since="21" />
+		<field name="MMS_CONFIG_USER_AGENT" since="21" />
+		<field name="MMS_ERROR_CONFIGURATION_ERROR" since="21" />
+		<field name="MMS_ERROR_HTTP_FAILURE" since="21" />
+		<field name="MMS_ERROR_INVALID_APN" since="21" />
+		<field name="MMS_ERROR_IO_ERROR" since="21" />
+		<field name="MMS_ERROR_NO_DATA_NETWORK" since="22" />
+		<field name="MMS_ERROR_RETRY" since="21" />
+		<field name="MMS_ERROR_UNABLE_CONNECT_MMS" since="21" />
+		<field name="MMS_ERROR_UNSPECIFIED" since="21" />
+		<field name="RESULT_BLUETOOTH_DISCONNECTED" since="30" />
+		<field name="RESULT_CANCELLED" since="30" />
+		<field name="RESULT_ENCODING_ERROR" since="30" />
+		<field name="RESULT_ERROR_FDN_CHECK_FAILURE" since="30" />
+		<field name="RESULT_ERROR_GENERIC_FAILURE" />
+		<field name="RESULT_ERROR_LIMIT_EXCEEDED" since="27" />
+		<field name="RESULT_ERROR_NONE" since="30" />
+		<field name="RESULT_ERROR_NO_SERVICE" />
+		<field name="RESULT_ERROR_NULL_PDU" />
+		<field name="RESULT_ERROR_RADIO_OFF" />
+		<field name="RESULT_ERROR_SHORT_CODE_NEVER_ALLOWED" since="27" />
+		<field name="RESULT_ERROR_SHORT_CODE_NOT_ALLOWED" since="27" />
+		<field name="RESULT_INTERNAL_ERROR" since="30" />
+		<field name="RESULT_INVALID_ARGUMENTS" since="30" />
+		<field name="RESULT_INVALID_BLUETOOTH_ADDRESS" since="30" />
+		<field name="RESULT_INVALID_SMSC_ADDRESS" since="30" />
+		<field name="RESULT_INVALID_SMS_FORMAT" since="30" />
+		<field name="RESULT_INVALID_STATE" since="30" />
+		<field name="RESULT_MODEM_ERROR" since="30" />
+		<field name="RESULT_NETWORK_ERROR" since="30" />
+		<field name="RESULT_NETWORK_REJECT" since="30" />
+		<field name="RESULT_NO_BLUETOOTH_SERVICE" since="30" />
+		<field name="RESULT_NO_DEFAULT_SMS_APP" since="30" />
+		<field name="RESULT_NO_MEMORY" since="30" />
+		<field name="RESULT_NO_RESOURCES" since="30" />
+		<field name="RESULT_OPERATION_NOT_ALLOWED" since="30" />
+		<field name="RESULT_RADIO_NOT_AVAILABLE" since="30" />
+		<field name="RESULT_RECEIVE_DISPATCH_FAILURE" since="30" />
+		<field name="RESULT_RECEIVE_INJECTED_NULL_PDU" since="30" />
+		<field name="RESULT_RECEIVE_NULL_MESSAGE_FROM_RIL" since="30" />
+		<field name="RESULT_RECEIVE_RUNTIME_EXCEPTION" since="30" />
+		<field name="RESULT_RECEIVE_SQL_EXCEPTION" since="30" />
+		<field name="RESULT_RECEIVE_URI_EXCEPTION" since="30" />
+		<field name="RESULT_RECEIVE_WHILE_ENCRYPTED" since="30" />
+		<field name="RESULT_REMOTE_EXCEPTION" since="30" />
+		<field name="RESULT_REQUEST_NOT_SUPPORTED" since="30" />
+		<field name="RESULT_RIL_ACCESS_BARRED" since="31" />
+		<field name="RESULT_RIL_BLOCKED_DUE_TO_CALL" since="31" />
+		<field name="RESULT_RIL_CANCELLED" since="30" />
+		<field name="RESULT_RIL_ENCODING_ERR" since="30" />
+		<field name="RESULT_RIL_INTERNAL_ERR" since="30" />
+		<field name="RESULT_RIL_INVALID_ARGUMENTS" since="30" />
+		<field name="RESULT_RIL_INVALID_MODEM_STATE" since="30" />
+		<field name="RESULT_RIL_INVALID_SMSC_ADDRESS" since="30" />
+		<field name="RESULT_RIL_INVALID_SMS_FORMAT" since="30" />
+		<field name="RESULT_RIL_INVALID_STATE" since="30" />
+		<field name="RESULT_RIL_MODEM_ERR" since="30" />
+		<field name="RESULT_RIL_NETWORK_ERR" since="30" />
+		<field name="RESULT_RIL_NETWORK_NOT_READY" since="30" />
+		<field name="RESULT_RIL_NETWORK_REJECT" since="30" />
+		<field name="RESULT_RIL_NO_MEMORY" since="30" />
+		<field name="RESULT_RIL_NO_RESOURCES" since="30" />
+		<field name="RESULT_RIL_OPERATION_NOT_ALLOWED" since="30" />
+		<field name="RESULT_RIL_RADIO_NOT_AVAILABLE" since="30" />
+		<field name="RESULT_RIL_REQUEST_NOT_SUPPORTED" since="30" />
+		<field name="RESULT_RIL_REQUEST_RATE_LIMITED" since="30" />
+		<field name="RESULT_RIL_SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED" since="31" />
+		<field name="RESULT_RIL_SIM_ABSENT" since="30" />
+		<field name="RESULT_RIL_SMS_SEND_FAIL_RETRY" since="30" />
+		<field name="RESULT_RIL_SYSTEM_ERR" since="30" />
+		<field name="RESULT_SMS_BLOCKED_DURING_EMERGENCY" since="30" />
+		<field name="RESULT_SMS_SEND_RETRY_FAILED" since="30" />
+		<field name="RESULT_SYSTEM_ERROR" since="30" />
+		<field name="RESULT_UNEXPECTED_EVENT_STOP_SENDING" since="30" />
+		<field name="STATUS_ON_ICC_FREE" />
+		<field name="STATUS_ON_ICC_READ" />
+		<field name="STATUS_ON_ICC_SENT" />
+		<field name="STATUS_ON_ICC_UNREAD" />
+		<field name="STATUS_ON_ICC_UNSENT" />
+	</class>
+	<class name="android/telephony/SmsManager$FinancialSmsCallback" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onFinancialSmsMessages(Landroid/database/CursorWindow;)V" />
+	</class>
+	<class name="android/telephony/SmsMessage" since="4">
+		<extends name="java/lang/Object" />
+		<method name="calculateLength(Ljava/lang/CharSequence;Z)[I" />
+		<method name="calculateLength(Ljava/lang/String;Z)[I" />
+		<method name="createFromPdu([B)Landroid/telephony/SmsMessage;" deprecated="23" />
+		<method name="createFromPdu([BLjava/lang/String;)Landroid/telephony/SmsMessage;" since="23" />
+		<method name="getDisplayMessageBody()Ljava/lang/String;" />
+		<method name="getDisplayOriginatingAddress()Ljava/lang/String;" />
+		<method name="getEmailBody()Ljava/lang/String;" />
+		<method name="getEmailFrom()Ljava/lang/String;" />
+		<method name="getIndexOnIcc()I" />
+		<method name="getIndexOnSim()I" deprecated="15" />
+		<method name="getMessageBody()Ljava/lang/String;" />
+		<method name="getMessageClass()Landroid/telephony/SmsMessage$MessageClass;" />
+		<method name="getOriginatingAddress()Ljava/lang/String;" />
+		<method name="getPdu()[B" />
+		<method name="getProtocolIdentifier()I" />
+		<method name="getPseudoSubject()Ljava/lang/String;" />
+		<method name="getServiceCenterAddress()Ljava/lang/String;" />
+		<method name="getStatus()I" />
+		<method name="getStatusOnIcc()I" />
+		<method name="getStatusOnSim()I" deprecated="15" />
+		<method name="getSubmitPdu(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Landroid/telephony/SmsMessage$SubmitPdu;" />
+		<method name="getSubmitPdu(Ljava/lang/String;Ljava/lang/String;S[BZ)Landroid/telephony/SmsMessage$SubmitPdu;" />
+		<method name="getTPLayerLengthForPDU(Ljava/lang/String;)I" />
+		<method name="getTimestampMillis()J" />
+		<method name="getUserData()[B" />
+		<method name="isCphsMwiMessage()Z" />
+		<method name="isEmail()Z" />
+		<method name="isMWIClearMessage()Z" />
+		<method name="isMWISetMessage()Z" />
+		<method name="isMwiDontStore()Z" />
+		<method name="isReplace()Z" />
+		<method name="isReplyPathPresent()Z" />
+		<method name="isStatusReportMessage()Z" />
+		<field name="ENCODING_16BIT" />
+		<field name="ENCODING_7BIT" />
+		<field name="ENCODING_8BIT" />
+		<field name="ENCODING_UNKNOWN" />
+		<field name="FORMAT_3GPP" since="28" />
+		<field name="FORMAT_3GPP2" since="28" />
+		<field name="MAX_USER_DATA_BYTES" />
+		<field name="MAX_USER_DATA_BYTES_WITH_HEADER" />
+		<field name="MAX_USER_DATA_SEPTETS" />
+		<field name="MAX_USER_DATA_SEPTETS_WITH_HEADER" />
+	</class>
+	<class name="android/telephony/SmsMessage$MessageClass" since="4">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/telephony/SmsMessage$MessageClass;" />
+		<method name="values()[Landroid/telephony/SmsMessage$MessageClass;" />
+		<field name="CLASS_0" />
+		<field name="CLASS_1" />
+		<field name="CLASS_2" />
+		<field name="CLASS_3" />
+		<field name="UNKNOWN" />
+	</class>
+	<class name="android/telephony/SmsMessage$SubmitPdu" since="4">
+		<extends name="java/lang/Object" />
+		<field name="encodedMessage" />
+		<field name="encodedScAddress" />
+	</class>
+	<class name="android/telephony/SubscriptionInfo" since="22">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="createIconBitmap(Landroid/content/Context;)Landroid/graphics/Bitmap;" />
+		<method name="getCardId()I" since="29" />
+		<method name="getCarrierId()I" since="29" />
+		<method name="getCarrierName()Ljava/lang/CharSequence;" />
+		<method name="getCountryIso()Ljava/lang/String;" />
+		<method name="getDataRoaming()I" />
+		<method name="getDisplayName()Ljava/lang/CharSequence;" />
+		<method name="getGroupUuid()Landroid/os/ParcelUuid;" since="29" />
+		<method name="getIccId()Ljava/lang/String;" />
+		<method name="getIconTint()I" />
+		<method name="getMcc()I" deprecated="29" />
+		<method name="getMccString()Ljava/lang/String;" since="29" />
+		<method name="getMnc()I" deprecated="29" />
+		<method name="getMncString()Ljava/lang/String;" since="29" />
+		<method name="getNumber()Ljava/lang/String;" />
+		<method name="getSimSlotIndex()I" />
+		<method name="getSubscriptionId()I" />
+		<method name="getSubscriptionType()I" since="29" />
+		<method name="isEmbedded()Z" since="28" />
+		<method name="isOpportunistic()Z" since="29" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/SubscriptionManager" since="22">
+		<extends name="java/lang/Object" />
+		<method name="addOnOpportunisticSubscriptionsChangedListener(Ljava/util/concurrent/Executor;Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;)V" since="29" />
+		<method name="addOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V" deprecated="31" />
+		<method name="addOnSubscriptionsChangedListener(Ljava/util/concurrent/Executor;Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V" since="30" />
+		<method name="addSubscriptionsIntoGroup(Ljava/util/List;Landroid/os/ParcelUuid;)V" since="29" />
+		<method name="canManageSubscription(Landroid/telephony/SubscriptionInfo;)Z" since="28" />
+		<method name="createSubscriptionGroup(Ljava/util/List;)Landroid/os/ParcelUuid;" since="29" />
+		<method name="from(Landroid/content/Context;)Landroid/telephony/SubscriptionManager;" deprecated="28" />
+		<method name="getAccessibleSubscriptionInfoList()Ljava/util/List;" since="28" />
+		<method name="getActiveDataSubscriptionId()I" since="30" />
+		<method name="getActiveSubscriptionInfo(I)Landroid/telephony/SubscriptionInfo;" />
+		<method name="getActiveSubscriptionInfoCount()I" />
+		<method name="getActiveSubscriptionInfoCountMax()I" />
+		<method name="getActiveSubscriptionInfoForSimSlotIndex(I)Landroid/telephony/SubscriptionInfo;" />
+		<method name="getActiveSubscriptionInfoList()Ljava/util/List;" />
+		<method name="getCompleteActiveSubscriptionInfoList()Ljava/util/List;" since="30" />
+		<method name="getDefaultDataSubscriptionId()I" since="24" />
+		<method name="getDefaultSmsSubscriptionId()I" since="24" />
+		<method name="getDefaultSubscriptionId()I" since="24" />
+		<method name="getDefaultVoiceSubscriptionId()I" since="24" />
+		<method name="getDeviceToDeviceStatusSharingContacts(I)Ljava/util/List;" since="31" />
+		<method name="getDeviceToDeviceStatusSharingPreference(I)I" since="31" />
+		<method name="getOpportunisticSubscriptions()Ljava/util/List;" since="29" />
+		<method name="getSlotIndex(I)I" since="29" />
+		<method name="getSubscriptionIds(I)[I" since="29" />
+		<method name="getSubscriptionPlans(I)Ljava/util/List;" since="28" />
+		<method name="getSubscriptionsInGroup(Landroid/os/ParcelUuid;)Ljava/util/List;" since="29" />
+		<method name="isActiveSubscriptionId(I)Z" since="29" />
+		<method name="isNetworkRoaming(I)Z" />
+		<method name="isUsableSubscriptionId(I)Z" since="29" />
+		<method name="isValidSubscriptionId(I)Z" since="29" />
+		<method name="removeOnOpportunisticSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;)V" since="29" />
+		<method name="removeOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V" />
+		<method name="removeSubscriptionsFromGroup(Ljava/util/List;Landroid/os/ParcelUuid;)V" since="29" />
+		<method name="setDeviceToDeviceStatusSharingContacts(ILjava/util/List;)V" since="31" />
+		<method name="setDeviceToDeviceStatusSharingPreference(II)V" since="31" />
+		<method name="setOpportunistic(ZI)Z" since="29" />
+		<method name="setSubscriptionOverrideCongested(IZJ)V" since="28" />
+		<method name="setSubscriptionOverrideCongested(IZ[IJ)V" since="31" />
+		<method name="setSubscriptionOverrideUnmetered(IZJ)V" since="28" />
+		<method name="setSubscriptionOverrideUnmetered(IZ[IJ)V" since="31" />
+		<method name="setSubscriptionPlans(ILjava/util/List;)V" since="28" />
+		<method name="switchToSubscription(ILandroid/app/PendingIntent;)V" since="29" />
+		<field name="ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED" since="26" />
+		<field name="ACTION_DEFAULT_SUBSCRIPTION_CHANGED" since="26" />
+		<field name="ACTION_MANAGE_SUBSCRIPTION_PLANS" since="28" />
+		<field name="ACTION_REFRESH_SUBSCRIPTION_PLANS" since="28" />
+		<field name="D2D_SHARING_ALL" since="31" />
+		<field name="D2D_SHARING_ALL_CONTACTS" since="31" />
+		<field name="D2D_SHARING_DISABLED" since="31" />
+		<field name="D2D_SHARING_SELECTED_CONTACTS" since="31" />
+		<field name="D2D_STATUS_SHARING" since="31" />
+		<field name="D2D_STATUS_SHARING_SELECTED_CONTACTS" since="31" />
+		<field name="DATA_ROAMING_DISABLE" />
+		<field name="DATA_ROAMING_ENABLE" />
+		<field name="DEFAULT_SUBSCRIPTION_ID" since="29" />
+		<field name="EXTRA_SLOT_INDEX" since="30" />
+		<field name="EXTRA_SUBSCRIPTION_INDEX" since="26" />
+		<field name="INVALID_SIM_SLOT_INDEX" since="29" />
+		<field name="INVALID_SUBSCRIPTION_ID" since="24" />
+		<field name="SUBSCRIPTION_TYPE_LOCAL_SIM" since="29" />
+		<field name="SUBSCRIPTION_TYPE_REMOTE_SIM" since="29" />
+	</class>
+	<class name="android/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onOpportunisticSubscriptionsChanged()V" />
+	</class>
+	<class name="android/telephony/SubscriptionManager$OnSubscriptionsChangedListener" since="22">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onSubscriptionsChanged()V" />
+	</class>
+	<class name="android/telephony/SubscriptionPlan" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="cycleIterator()Ljava/util/Iterator;" />
+		<method name="getDataLimitBehavior()I" />
+		<method name="getDataLimitBytes()J" />
+		<method name="getDataUsageBytes()J" />
+		<method name="getDataUsageTime()J" />
+		<method name="getNetworkTypes()[I" since="30" />
+		<method name="getSummary()Ljava/lang/CharSequence;" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<field name="BYTES_UNKNOWN" />
+		<field name="BYTES_UNLIMITED" />
+		<field name="CREATOR" />
+		<field name="LIMIT_BEHAVIOR_BILLED" />
+		<field name="LIMIT_BEHAVIOR_DISABLED" />
+		<field name="LIMIT_BEHAVIOR_THROTTLED" />
+		<field name="LIMIT_BEHAVIOR_UNKNOWN" />
+		<field name="TIME_UNKNOWN" />
+	</class>
+	<class name="android/telephony/SubscriptionPlan$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="build()Landroid/telephony/SubscriptionPlan;" />
+		<method name="createNonrecurring(Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;)Landroid/telephony/SubscriptionPlan$Builder;" />
+		<method name="createRecurring(Ljava/time/ZonedDateTime;Ljava/time/Period;)Landroid/telephony/SubscriptionPlan$Builder;" />
+		<method name="resetNetworkTypes()Landroid/telephony/SubscriptionPlan$Builder;" since="30" />
+		<method name="setDataLimit(JI)Landroid/telephony/SubscriptionPlan$Builder;" />
+		<method name="setDataUsage(JJ)Landroid/telephony/SubscriptionPlan$Builder;" />
+		<method name="setNetworkTypes([I)Landroid/telephony/SubscriptionPlan$Builder;" since="30" />
+		<method name="setSummary(Ljava/lang/CharSequence;)Landroid/telephony/SubscriptionPlan$Builder;" />
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/telephony/SubscriptionPlan$Builder;" />
+	</class>
+	<class name="android/telephony/TelephonyCallback" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$ActiveDataSubscriptionIdListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onActiveDataSubscriptionIdChanged(I)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$BarringInfoListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onBarringInfoChanged(Landroid/telephony/BarringInfo;)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$CallDisconnectCauseListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onCallDisconnectCauseChanged(II)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$CallForwardingIndicatorListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onCallForwardingIndicatorChanged(Z)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$CallStateListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onCallStateChanged(I)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$CarrierNetworkListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onCarrierNetworkChange(Z)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$CellInfoListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onCellInfoChanged(Ljava/util/List;)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$CellLocationListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onCellLocationChanged(Landroid/telephony/CellLocation;)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$DataActivationStateListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onDataActivationStateChanged(I)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$DataActivityListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onDataActivity(I)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$DataConnectionStateListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onDataConnectionStateChanged(II)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$DisplayInfoListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onDisplayInfoChanged(Landroid/telephony/TelephonyDisplayInfo;)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$EmergencyNumberListListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onEmergencyNumberListChanged(Ljava/util/Map;)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$ImsCallDisconnectCauseListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onImsCallDisconnectCauseChanged(Landroid/telephony/ims/ImsReasonInfo;)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$MessageWaitingIndicatorListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onMessageWaitingIndicatorChanged(Z)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$PhysicalChannelConfigListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onPhysicalChannelConfigChanged(Ljava/util/List;)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$PreciseDataConnectionStateListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$RegistrationFailedListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onRegistrationFailed(Landroid/telephony/CellIdentity;Ljava/lang/String;III)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$ServiceStateListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onServiceStateChanged(Landroid/telephony/ServiceState;)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$SignalStrengthsListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V" />
+	</class>
+	<class name="android/telephony/TelephonyCallback$UserMobileDataStateListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onUserMobileDataStateChanged(Z)V" />
+	</class>
+	<class name="android/telephony/TelephonyDisplayInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getNetworkType()I" />
+		<method name="getOverrideNetworkType()I" />
+		<field name="CREATOR" />
+		<field name="OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO" />
+		<field name="OVERRIDE_NETWORK_TYPE_LTE_CA" />
+		<field name="OVERRIDE_NETWORK_TYPE_NONE" />
+		<field name="OVERRIDE_NETWORK_TYPE_NR_ADVANCED" since="31" />
+		<field name="OVERRIDE_NETWORK_TYPE_NR_NSA" />
+		<field name="OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE" deprecated="31" />
+	</class>
+	<class name="android/telephony/TelephonyManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="canChangeDtmfToneLength()Z" since="23" />
+		<method name="clearSignalStrengthUpdateRequest(Landroid/telephony/SignalStrengthUpdateRequest;)V" since="31" />
+		<method name="createForPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;)Landroid/telephony/TelephonyManager;" since="26" />
+		<method name="createForSubscriptionId(I)Landroid/telephony/TelephonyManager;" since="24" />
+		<method name="doesSwitchMultiSimConfigTriggerReboot()Z" since="29" />
+		<method name="getActiveModemCount()I" since="30" />
+		<method name="getAllCellInfo()Ljava/util/List;" since="17" />
+		<method name="getCallComposerStatus()I" since="31" />
+		<method name="getCallState()I" deprecated="31" />
+		<method name="getCallStateForSubscription()I" since="31" />
+		<method name="getCardIdForDefaultEuicc()I" since="29" />
+		<method name="getCarrierConfig()Landroid/os/PersistableBundle;" since="26" />
+		<method name="getCarrierIdFromSimMccMnc()I" since="29" />
+		<method name="getCellLocation()Landroid/telephony/CellLocation;" deprecated="26" />
+		<method name="getDataActivity()I" />
+		<method name="getDataNetworkType()I" since="24" />
+		<method name="getDataState()I" />
+		<method name="getDeviceId()Ljava/lang/String;" deprecated="26" />
+		<method name="getDeviceId(I)Ljava/lang/String;" since="23" deprecated="26" />
+		<method name="getDeviceSoftwareVersion()Ljava/lang/String;" />
+		<method name="getEmergencyNumberList()Ljava/util/Map;" since="29" />
+		<method name="getEmergencyNumberList(I)Ljava/util/Map;" since="29" />
+		<method name="getEquivalentHomePlmns()Ljava/util/List;" since="31" />
+		<method name="getForbiddenPlmns()[Ljava/lang/String;" since="26" />
+		<method name="getGroupIdLevel1()Ljava/lang/String;" since="18" />
+		<method name="getIccAuthentication(IILjava/lang/String;)Ljava/lang/String;" since="24" />
+		<method name="getImei()Ljava/lang/String;" since="26" />
+		<method name="getImei(I)Ljava/lang/String;" since="26" />
+		<method name="getLine1Number()Ljava/lang/String;" />
+		<method name="getManualNetworkSelectionPlmn()Ljava/lang/String;" since="30" />
+		<method name="getManufacturerCode()Ljava/lang/String;" since="29" />
+		<method name="getManufacturerCode(I)Ljava/lang/String;" since="29" />
+		<method name="getMaximumCallComposerPictureSize()J" since="31" />
+		<method name="getMeid()Ljava/lang/String;" since="26" />
+		<method name="getMeid(I)Ljava/lang/String;" since="26" />
+		<method name="getMmsUAProfUrl()Ljava/lang/String;" since="19" />
+		<method name="getMmsUserAgent()Ljava/lang/String;" since="19" />
+		<method name="getNai()Ljava/lang/String;" since="28" />
+		<method name="getNeighboringCellInfo()Ljava/util/List;" since="3" deprecated="23" removed="29" />
+		<method name="getNetworkCountryIso()Ljava/lang/String;" />
+		<method name="getNetworkCountryIso(I)Ljava/lang/String;" since="30" />
+		<method name="getNetworkOperator()Ljava/lang/String;" />
+		<method name="getNetworkOperatorName()Ljava/lang/String;" />
+		<method name="getNetworkSelectionMode()I" since="30" />
+		<method name="getNetworkSlicingConfiguration(Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V" since="31" />
+		<method name="getNetworkSpecifier()Ljava/lang/String;" since="26" />
+		<method name="getNetworkType()I" deprecated="30" />
+		<method name="getPhoneAccountHandle()Landroid/telecom/PhoneAccountHandle;" since="31" />
+		<method name="getPhoneCount()I" since="23" deprecated="30" />
+		<method name="getPhoneType()I" />
+		<method name="getPreferredOpportunisticDataSubscription()I" since="29" />
+		<method name="getServiceState()Landroid/telephony/ServiceState;" since="26" />
+		<method name="getSignalStrength()Landroid/telephony/SignalStrength;" since="28" />
+		<method name="getSimCarrierId()I" since="28" />
+		<method name="getSimCarrierIdName()Ljava/lang/CharSequence;" since="28" />
+		<method name="getSimCountryIso()Ljava/lang/String;" />
+		<method name="getSimOperator()Ljava/lang/String;" />
+		<method name="getSimOperatorName()Ljava/lang/String;" />
+		<method name="getSimSerialNumber()Ljava/lang/String;" />
+		<method name="getSimSpecificCarrierId()I" since="29" />
+		<method name="getSimSpecificCarrierIdName()Ljava/lang/CharSequence;" since="29" />
+		<method name="getSimState()I" />
+		<method name="getSimState(I)I" since="26" />
+		<method name="getSubscriberId()Ljava/lang/String;" />
+		<method name="getSubscriptionId()I" since="30" />
+		<method name="getSubscriptionId(Landroid/telecom/PhoneAccountHandle;)I" since="30" />
+		<method name="getSupportedModemCount()I" since="30" />
+		<method name="getTypeAllocationCode()Ljava/lang/String;" since="29" />
+		<method name="getTypeAllocationCode(I)Ljava/lang/String;" since="29" />
+		<method name="getUiccCardsInfo()Ljava/util/List;" since="29" />
+		<method name="getVisualVoicemailPackageName()Ljava/lang/String;" since="26" />
+		<method name="getVoiceMailAlphaTag()Ljava/lang/String;" />
+		<method name="getVoiceMailNumber()Ljava/lang/String;" />
+		<method name="getVoiceNetworkType()I" since="24" />
+		<method name="getVoicemailRingtoneUri(Landroid/telecom/PhoneAccountHandle;)Landroid/net/Uri;" since="24" />
+		<method name="hasCarrierPrivileges()Z" since="22" />
+		<method name="hasIccCard()Z" since="5" />
+		<method name="iccCloseLogicalChannel(I)Z" since="21" deprecated="30" />
+		<method name="iccExchangeSimIO(IIIIILjava/lang/String;)[B" since="21" deprecated="30" />
+		<method name="iccOpenLogicalChannel(Ljava/lang/String;)Landroid/telephony/IccOpenLogicalChannelResponse;" since="21" deprecated="26" />
+		<method name="iccOpenLogicalChannel(Ljava/lang/String;I)Landroid/telephony/IccOpenLogicalChannelResponse;" since="26" deprecated="30" />
+		<method name="iccTransmitApduBasicChannel(IIIIILjava/lang/String;)Ljava/lang/String;" since="21" deprecated="30" />
+		<method name="iccTransmitApduLogicalChannel(IIIIIILjava/lang/String;)Ljava/lang/String;" since="21" deprecated="30" />
+		<method name="isConcurrentVoiceAndDataSupported()Z" since="26" />
+		<method name="isDataCapable()Z" since="31" />
+		<method name="isDataConnectionAllowed()Z" since="31" />
+		<method name="isDataEnabled()Z" since="26" />
+		<method name="isDataEnabledForReason(I)Z" since="31" />
+		<method name="isDataRoamingEnabled()Z" since="29" />
+		<method name="isEmergencyNumber(Ljava/lang/String;)Z" since="29" />
+		<method name="isHearingAidCompatibilitySupported()Z" since="23" />
+		<method name="isManualNetworkSelectionAllowed()Z" since="30" />
+		<method name="isModemEnabledForSlot(I)Z" since="30" />
+		<method name="isMultiSimSupported()I" since="29" />
+		<method name="isNetworkRoaming()Z" />
+		<method name="isRadioInterfaceCapabilitySupported(Ljava/lang/String;)Z" since="31" />
+		<method name="isRttSupported()Z" since="29" />
+		<method name="isSmsCapable()Z" since="21" />
+		<method name="isTtyModeSupported()Z" since="23" deprecated="28" />
+		<method name="isVoiceCapable()Z" since="22" />
+		<method name="isVoicemailVibrationEnabled(Landroid/telecom/PhoneAccountHandle;)Z" since="24" />
+		<method name="isWorldPhone()Z" since="23" />
+		<method name="listen(Landroid/telephony/PhoneStateListener;I)V" deprecated="31" />
+		<method name="registerTelephonyCallback(Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyCallback;)V" since="31" />
+		<method name="requestCellInfoUpdate(Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyManager$CellInfoCallback;)V" since="29" />
+		<method name="requestNetworkScan(Landroid/telephony/NetworkScanRequest;Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyScanManager$NetworkScanCallback;)Landroid/telephony/NetworkScan;" since="28" />
+		<method name="sendDialerSpecialCode(Ljava/lang/String;)V" since="26" />
+		<method name="sendEnvelopeWithStatus(Ljava/lang/String;)Ljava/lang/String;" since="21" deprecated="30" />
+		<method name="sendUssdRequest(Ljava/lang/String;Landroid/telephony/TelephonyManager$UssdResponseCallback;Landroid/os/Handler;)V" since="26" />
+		<method name="sendVisualVoicemailSms(Ljava/lang/String;ILjava/lang/String;Landroid/app/PendingIntent;)V" since="26" />
+		<method name="setCallComposerStatus(I)V" since="31" />
+		<method name="setDataEnabled(Z)V" since="26" deprecated="31" />
+		<method name="setDataEnabledForReason(IZ)V" since="31" />
+		<method name="setForbiddenPlmns(Ljava/util/List;)I" since="30" />
+		<method name="setLine1NumberForDisplay(Ljava/lang/String;Ljava/lang/String;)Z" since="22" />
+		<method name="setNetworkSelectionModeAutomatic()V" since="28" />
+		<method name="setNetworkSelectionModeManual(Ljava/lang/String;Z)Z" since="28" />
+		<method name="setNetworkSelectionModeManual(Ljava/lang/String;ZI)Z" since="30" />
+		<method name="setOperatorBrandOverride(Ljava/lang/String;)Z" since="22" />
+		<method name="setPreferredNetworkTypeToGlobal()Z" since="22" />
+		<method name="setPreferredOpportunisticDataSubscription(IZLjava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="29" />
+		<method name="setSignalStrengthUpdateRequest(Landroid/telephony/SignalStrengthUpdateRequest;)V" since="31" />
+		<method name="setVisualVoicemailSmsFilterSettings(Landroid/telephony/VisualVoicemailSmsFilterSettings;)V" since="26" />
+		<method name="setVoiceMailNumber(Ljava/lang/String;Ljava/lang/String;)Z" since="22" />
+		<method name="setVoicemailRingtoneUri(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;)V" since="26" deprecated="28" />
+		<method name="setVoicemailVibrationEnabled(Landroid/telecom/PhoneAccountHandle;Z)V" since="26" deprecated="28" />
+		<method name="switchMultiSimConfig(I)V" since="29" />
+		<method name="unregisterTelephonyCallback(Landroid/telephony/TelephonyCallback;)V" since="31" />
+		<method name="updateAvailableNetworks(Ljava/util/List;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="29" />
+		<method name="uploadCallComposerPicture(Ljava/io/InputStream;Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V" since="31" />
+		<method name="uploadCallComposerPicture(Ljava/nio/file/Path;Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V" since="31" />
+		<field name="ACTION_CARRIER_MESSAGING_CLIENT_SERVICE" since="29" />
+		<field name="ACTION_CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" since="31" />
+		<field name="ACTION_CARRIER_SIGNAL_PCO_VALUE" since="31" />
+		<field name="ACTION_CARRIER_SIGNAL_REDIRECTED" since="31" />
+		<field name="ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" since="31" />
+		<field name="ACTION_CARRIER_SIGNAL_RESET" since="31" />
+		<field name="ACTION_CONFIGURE_VOICEMAIL" since="23" />
+		<field name="ACTION_MULTI_SIM_CONFIG_CHANGED" since="30" />
+		<field name="ACTION_NETWORK_COUNTRY_CHANGED" since="29" />
+		<field name="ACTION_PHONE_STATE_CHANGED" since="3" />
+		<field name="ACTION_RESPOND_VIA_MESSAGE" since="18" />
+		<field name="ACTION_SECRET_CODE" since="29" />
+		<field name="ACTION_SHOW_VOICEMAIL_NOTIFICATION" since="26" />
+		<field name="ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED" since="28" />
+		<field name="ACTION_SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" since="29" />
+		<field name="APPTYPE_CSIM" since="24" />
+		<field name="APPTYPE_ISIM" since="24" />
+		<field name="APPTYPE_RUIM" since="24" />
+		<field name="APPTYPE_SIM" since="24" />
+		<field name="APPTYPE_UNKNOWN" since="31" />
+		<field name="APPTYPE_USIM" since="24" />
+		<field name="AUTHTYPE_EAP_AKA" since="24" />
+		<field name="AUTHTYPE_EAP_SIM" since="24" />
+		<field name="CALL_COMPOSER_STATUS_OFF" since="31" />
+		<field name="CALL_COMPOSER_STATUS_ON" since="31" />
+		<field name="CALL_STATE_IDLE" />
+		<field name="CALL_STATE_OFFHOOK" />
+		<field name="CALL_STATE_RINGING" />
+		<field name="CAPABILITY_SLICING_CONFIG_SUPPORTED" since="31" />
+		<field name="CDMA_ROAMING_MODE_AFFILIATED" since="28" />
+		<field name="CDMA_ROAMING_MODE_ANY" since="28" />
+		<field name="CDMA_ROAMING_MODE_HOME" since="28" />
+		<field name="CDMA_ROAMING_MODE_RADIO_DEFAULT" since="28" />
+		<field name="DATA_ACTIVITY_DORMANT" since="4" />
+		<field name="DATA_ACTIVITY_IN" />
+		<field name="DATA_ACTIVITY_INOUT" />
+		<field name="DATA_ACTIVITY_NONE" />
+		<field name="DATA_ACTIVITY_OUT" />
+		<field name="DATA_CONNECTED" />
+		<field name="DATA_CONNECTING" />
+		<field name="DATA_DISCONNECTED" />
+		<field name="DATA_DISCONNECTING" since="30" />
+		<field name="DATA_ENABLED_REASON_CARRIER" since="31" />
+		<field name="DATA_ENABLED_REASON_POLICY" since="31" />
+		<field name="DATA_ENABLED_REASON_THERMAL" since="31" />
+		<field name="DATA_ENABLED_REASON_USER" since="31" />
+		<field name="DATA_SUSPENDED" />
+		<field name="DATA_UNKNOWN" since="29" />
+		<field name="ERI_FLASH" since="31" />
+		<field name="ERI_OFF" since="31" />
+		<field name="ERI_ON" since="31" />
+		<field name="EXTRA_ACTIVE_SIM_SUPPORTED_COUNT" since="30" />
+		<field name="EXTRA_APN_PROTOCOL" since="31" />
+		<field name="EXTRA_APN_TYPE" since="31" />
+		<field name="EXTRA_CALL_VOICEMAIL_INTENT" since="26" />
+		<field name="EXTRA_CARRIER_ID" since="28" />
+		<field name="EXTRA_CARRIER_NAME" since="28" />
+		<field name="EXTRA_DATA_FAIL_CAUSE" since="31" />
+		<field name="EXTRA_DEFAULT_NETWORK_AVAILABLE" since="31" />
+		<field name="EXTRA_HIDE_PUBLIC_SETTINGS" since="26" />
+		<field name="EXTRA_INCOMING_NUMBER" since="3" deprecated="29" />
+		<field name="EXTRA_IS_REFRESH" since="27" />
+		<field name="EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT" since="26" />
+		<field name="EXTRA_NETWORK_COUNTRY" since="29" />
+		<field name="EXTRA_NOTIFICATION_COUNT" since="26" />
+		<field name="EXTRA_PCO_ID" since="31" />
+		<field name="EXTRA_PCO_VALUE" since="31" />
+		<field name="EXTRA_PHONE_ACCOUNT_HANDLE" since="26" />
+		<field name="EXTRA_REDIRECTION_URL" since="31" />
+		<field name="EXTRA_SPECIFIC_CARRIER_ID" since="29" />
+		<field name="EXTRA_SPECIFIC_CARRIER_NAME" since="29" />
+		<field name="EXTRA_STATE" since="3" />
+		<field name="EXTRA_STATE_IDLE" since="3" />
+		<field name="EXTRA_STATE_OFFHOOK" since="3" />
+		<field name="EXTRA_STATE_RINGING" since="3" />
+		<field name="EXTRA_SUBSCRIPTION_ID" since="28" />
+		<field name="EXTRA_VOICEMAIL_NUMBER" since="26" />
+		<field name="METADATA_HIDE_VOICEMAIL_SETTINGS_MENU" since="26" />
+		<field name="MULTISIM_ALLOWED" since="29" />
+		<field name="MULTISIM_NOT_SUPPORTED_BY_CARRIER" since="29" />
+		<field name="MULTISIM_NOT_SUPPORTED_BY_HARDWARE" since="29" />
+		<field name="NETWORK_SELECTION_MODE_AUTO" since="30" />
+		<field name="NETWORK_SELECTION_MODE_MANUAL" since="30" />
+		<field name="NETWORK_SELECTION_MODE_UNKNOWN" since="30" />
+		<field name="NETWORK_TYPE_1xRTT" since="4" />
+		<field name="NETWORK_TYPE_CDMA" since="4" />
+		<field name="NETWORK_TYPE_EDGE" />
+		<field name="NETWORK_TYPE_EHRPD" since="11" />
+		<field name="NETWORK_TYPE_EVDO_0" since="4" />
+		<field name="NETWORK_TYPE_EVDO_A" since="4" />
+		<field name="NETWORK_TYPE_EVDO_B" since="9" />
+		<field name="NETWORK_TYPE_GPRS" />
+		<field name="NETWORK_TYPE_GSM" since="25" />
+		<field name="NETWORK_TYPE_HSDPA" since="5" />
+		<field name="NETWORK_TYPE_HSPA" since="5" />
+		<field name="NETWORK_TYPE_HSPAP" since="13" />
+		<field name="NETWORK_TYPE_HSUPA" since="5" />
+		<field name="NETWORK_TYPE_IDEN" since="8" />
+		<field name="NETWORK_TYPE_IWLAN" since="25" />
+		<field name="NETWORK_TYPE_LTE" since="11" />
+		<field name="NETWORK_TYPE_NR" since="29" />
+		<field name="NETWORK_TYPE_TD_SCDMA" since="25" />
+		<field name="NETWORK_TYPE_UMTS" />
+		<field name="NETWORK_TYPE_UNKNOWN" />
+		<field name="PHONE_TYPE_CDMA" since="4" />
+		<field name="PHONE_TYPE_GSM" />
+		<field name="PHONE_TYPE_NONE" />
+		<field name="PHONE_TYPE_SIP" since="11" />
+		<field name="SET_OPPORTUNISTIC_SUB_INACTIVE_SUBSCRIPTION" since="29" />
+		<field name="SET_OPPORTUNISTIC_SUB_NO_OPPORTUNISTIC_SUB_AVAILABLE" since="30" />
+		<field name="SET_OPPORTUNISTIC_SUB_REMOTE_SERVICE_EXCEPTION" since="30" />
+		<field name="SET_OPPORTUNISTIC_SUB_SUCCESS" since="29" />
+		<field name="SET_OPPORTUNISTIC_SUB_VALIDATION_FAILED" since="29" />
+		<field name="SIM_STATE_ABSENT" />
+		<field name="SIM_STATE_CARD_IO_ERROR" since="26" />
+		<field name="SIM_STATE_CARD_RESTRICTED" since="26" />
+		<field name="SIM_STATE_NETWORK_LOCKED" />
+		<field name="SIM_STATE_NOT_READY" since="26" />
+		<field name="SIM_STATE_PERM_DISABLED" since="26" />
+		<field name="SIM_STATE_PIN_REQUIRED" />
+		<field name="SIM_STATE_PUK_REQUIRED" />
+		<field name="SIM_STATE_READY" />
+		<field name="SIM_STATE_UNKNOWN" />
+		<field name="UNINITIALIZED_CARD_ID" since="29" />
+		<field name="UNKNOWN_CARRIER_ID" since="28" />
+		<field name="UNSUPPORTED_CARD_ID" since="29" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_ABORTED" since="29" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_DISABLE_MODEM_FAIL" since="30" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_ENABLE_MODEM_FAIL" since="30" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS" since="29" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_MULTIPLE_NETWORKS_NOT_SUPPORTED" since="30" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_NO_CARRIER_PRIVILEGE" since="29" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_NO_OPPORTUNISTIC_SUB_AVAILABLE" since="30" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_REMOTE_SERVICE_EXCEPTION" since="30" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_SERVICE_IS_DISABLED" since="30" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_SUCCESS" since="29" />
+		<field name="UPDATE_AVAILABLE_NETWORKS_UNKNOWN_FAILURE" since="29" />
+		<field name="USSD_ERROR_SERVICE_UNAVAIL" since="26" />
+		<field name="USSD_RETURN_FAILURE" since="26" />
+		<field name="VVM_TYPE_CVVM" since="23" />
+		<field name="VVM_TYPE_OMTP" since="23" />
+	</class>
+	<class name="android/telephony/TelephonyManager$CallComposerException" since="31">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(ILjava/io/IOException;)V" />
+		<method name="getErrorCode()I" />
+		<method name="getIOException()Ljava/io/IOException;" />
+		<field name="ERROR_AUTHENTICATION_FAILED" />
+		<field name="ERROR_FILE_TOO_LARGE" />
+		<field name="ERROR_INPUT_CLOSED" />
+		<field name="ERROR_IO_EXCEPTION" />
+		<field name="ERROR_NETWORK_UNAVAILABLE" />
+		<field name="ERROR_REMOTE_END_CLOSED" />
+		<field name="ERROR_UNKNOWN" />
+	</class>
+	<class name="android/telephony/TelephonyManager$CellInfoCallback" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCellInfo(Ljava/util/List;)V" />
+		<method name="onError(ILjava/lang/Throwable;)V" />
+		<field name="ERROR_MODEM_ERROR" />
+		<field name="ERROR_TIMEOUT" />
+	</class>
+	<class name="android/telephony/TelephonyManager$ModemErrorException" since="31">
+		<extends name="android/telephony/TelephonyManager$NetworkSlicingException" />
+	</class>
+	<class name="android/telephony/TelephonyManager$NetworkSlicingException" since="31">
+		<extends name="java/lang/Exception" />
+	</class>
+	<class name="android/telephony/TelephonyManager$TimeoutException" since="31">
+		<extends name="android/telephony/TelephonyManager$NetworkSlicingException" />
+	</class>
+	<class name="android/telephony/TelephonyManager$UssdResponseCallback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onReceiveUssdResponse(Landroid/telephony/TelephonyManager;Ljava/lang/String;Ljava/lang/CharSequence;)V" />
+		<method name="onReceiveUssdResponseFailed(Landroid/telephony/TelephonyManager;Ljava/lang/String;I)V" />
+	</class>
+	<class name="android/telephony/TelephonyScanManager" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/telephony/TelephonyScanManager$NetworkScanCallback" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onComplete()V" />
+		<method name="onError(I)V" />
+		<method name="onResults(Ljava/util/List;)V" />
+	</class>
+	<class name="android/telephony/UiccCardInfo" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCardId()I" />
+		<method name="getEid()Ljava/lang/String;" />
+		<method name="getIccId()Ljava/lang/String;" />
+		<method name="getSlotIndex()I" />
+		<method name="isEuicc()Z" />
+		<method name="isRemovable()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/VisualVoicemailService" since="26">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCellServiceConnected(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;Landroid/telecom/PhoneAccountHandle;)V" />
+		<method name="onSimRemoved(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;Landroid/telecom/PhoneAccountHandle;)V" />
+		<method name="onSmsReceived(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;Landroid/telephony/VisualVoicemailSms;)V" />
+		<method name="onStopped(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;)V" />
+		<field name="SERVICE_INTERFACE" />
+	</class>
+	<class name="android/telephony/VisualVoicemailService$VisualVoicemailTask" since="26">
+		<extends name="java/lang/Object" />
+		<method name="finish()V" />
+	</class>
+	<class name="android/telephony/VisualVoicemailSms" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getFields()Landroid/os/Bundle;" />
+		<method name="getMessageBody()Ljava/lang/String;" />
+		<method name="getPhoneAccountHandle()Landroid/telecom/PhoneAccountHandle;" />
+		<method name="getPrefix()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/VisualVoicemailSmsFilterSettings" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+		<field name="DESTINATION_PORT_ANY" />
+		<field name="DESTINATION_PORT_DATA_SMS" />
+		<field name="clientPrefix" />
+		<field name="destinationPort" />
+		<field name="originatingNumbers" />
+	</class>
+	<class name="android/telephony/VisualVoicemailSmsFilterSettings$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/telephony/VisualVoicemailSmsFilterSettings;" />
+		<method name="setClientPrefix(Ljava/lang/String;)Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;" />
+		<method name="setDestinationPort(I)Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;" />
+		<method name="setOriginatingNumbers(Ljava/util/List;)Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;" />
+	</class>
+	<class name="android/telephony/cdma/CdmaCellLocation" since="5" deprecated="31">
+		<extends name="android/telephony/CellLocation" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(Landroid/os/Bundle;)V" deprecated="31" />
+		<method name="convertQuartSecToDecDegrees(I)D" since="17" deprecated="31" />
+		<method name="fillInNotifierBundle(Landroid/os/Bundle;)V" deprecated="31" />
+		<method name="getBaseStationId()I" deprecated="31" />
+		<method name="getBaseStationLatitude()I" deprecated="31" />
+		<method name="getBaseStationLongitude()I" deprecated="31" />
+		<method name="getNetworkId()I" deprecated="31" />
+		<method name="getSystemId()I" deprecated="31" />
+		<method name="setCellLocationData(III)V" deprecated="31" />
+		<method name="setCellLocationData(IIIII)V" deprecated="31" />
+		<method name="setStateInvalid()V" deprecated="31" />
+	</class>
+	<class name="android/telephony/data/ApnSetting" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getApnName()Ljava/lang/String;" />
+		<method name="getApnTypeBitmask()I" />
+		<method name="getAuthType()I" />
+		<method name="getCarrierId()I" since="29" />
+		<method name="getEntryName()Ljava/lang/String;" />
+		<method name="getId()I" />
+		<method name="getMmsProxyAddress()Ljava/net/InetAddress;" deprecated="29" />
+		<method name="getMmsProxyAddressAsString()Ljava/lang/String;" since="29" />
+		<method name="getMmsProxyPort()I" />
+		<method name="getMmsc()Landroid/net/Uri;" />
+		<method name="getMvnoType()I" />
+		<method name="getNetworkTypeBitmask()I" />
+		<method name="getOperatorNumeric()Ljava/lang/String;" />
+		<method name="getPassword()Ljava/lang/String;" />
+		<method name="getProtocol()I" />
+		<method name="getProxyAddress()Ljava/net/InetAddress;" deprecated="29" />
+		<method name="getProxyAddressAsString()Ljava/lang/String;" since="29" />
+		<method name="getProxyPort()I" />
+		<method name="getRoamingProtocol()I" />
+		<method name="getUser()Ljava/lang/String;" />
+		<method name="isEnabled()Z" />
+		<field name="AUTH_TYPE_CHAP" />
+		<field name="AUTH_TYPE_NONE" />
+		<field name="AUTH_TYPE_PAP" />
+		<field name="AUTH_TYPE_PAP_OR_CHAP" />
+		<field name="CREATOR" />
+		<field name="MVNO_TYPE_GID" />
+		<field name="MVNO_TYPE_ICCID" />
+		<field name="MVNO_TYPE_IMSI" />
+		<field name="MVNO_TYPE_SPN" />
+		<field name="PROTOCOL_IP" />
+		<field name="PROTOCOL_IPV4V6" />
+		<field name="PROTOCOL_IPV6" />
+		<field name="PROTOCOL_NON_IP" since="29" />
+		<field name="PROTOCOL_PPP" />
+		<field name="PROTOCOL_UNSTRUCTURED" since="29" />
+		<field name="TYPE_BIP" since="31" />
+		<field name="TYPE_CBS" />
+		<field name="TYPE_DEFAULT" />
+		<field name="TYPE_DUN" />
+		<field name="TYPE_EMERGENCY" />
+		<field name="TYPE_FOTA" />
+		<field name="TYPE_HIPRI" />
+		<field name="TYPE_IA" />
+		<field name="TYPE_IMS" />
+		<field name="TYPE_MCX" since="29" />
+		<field name="TYPE_MMS" />
+		<field name="TYPE_SUPL" />
+		<field name="TYPE_VSIM" since="31" />
+		<field name="TYPE_XCAP" since="30" />
+	</class>
+	<class name="android/telephony/data/ApnSetting$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/telephony/data/ApnSetting;" />
+		<method name="setApnName(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setApnTypeBitmask(I)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setAuthType(I)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setCarrierEnabled(Z)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setCarrierId(I)Landroid/telephony/data/ApnSetting$Builder;" since="29" />
+		<method name="setEntryName(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setMmsProxyAddress(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;" since="29" />
+		<method name="setMmsProxyAddress(Ljava/net/InetAddress;)Landroid/telephony/data/ApnSetting$Builder;" deprecated="29" />
+		<method name="setMmsProxyPort(I)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setMmsc(Landroid/net/Uri;)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setMvnoType(I)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setNetworkTypeBitmask(I)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setOperatorNumeric(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setPassword(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setProtocol(I)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setProxyAddress(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;" since="29" />
+		<method name="setProxyAddress(Ljava/net/InetAddress;)Landroid/telephony/data/ApnSetting$Builder;" deprecated="29" />
+		<method name="setProxyPort(I)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setRoamingProtocol(I)Landroid/telephony/data/ApnSetting$Builder;" />
+		<method name="setUser(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;" />
+	</class>
+	<class name="android/telephony/data/NetworkSliceInfo" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getMappedHplmnSliceDifferentiator()I" />
+		<method name="getMappedHplmnSliceServiceType()I" />
+		<method name="getSliceDifferentiator()I" />
+		<method name="getSliceServiceType()I" />
+		<method name="getStatus()I" />
+		<field name="CREATOR" />
+		<field name="SLICE_DIFFERENTIATOR_NO_SLICE" />
+		<field name="SLICE_SERVICE_TYPE_EMBB" />
+		<field name="SLICE_SERVICE_TYPE_MIOT" />
+		<field name="SLICE_SERVICE_TYPE_NONE" />
+		<field name="SLICE_SERVICE_TYPE_URLLC" />
+		<field name="SLICE_STATUS_ALLOWED" />
+		<field name="SLICE_STATUS_CONFIGURED" />
+		<field name="SLICE_STATUS_DEFAULT_CONFIGURED" />
+		<field name="SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_PLMN" />
+		<field name="SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_REGISTERED_AREA" />
+		<field name="SLICE_STATUS_UNKNOWN" />
+	</class>
+	<class name="android/telephony/data/NetworkSliceInfo$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/telephony/data/NetworkSliceInfo;" />
+		<method name="setMappedHplmnSliceDifferentiator(I)Landroid/telephony/data/NetworkSliceInfo$Builder;" />
+		<method name="setMappedHplmnSliceServiceType(I)Landroid/telephony/data/NetworkSliceInfo$Builder;" />
+		<method name="setSliceDifferentiator(I)Landroid/telephony/data/NetworkSliceInfo$Builder;" />
+		<method name="setSliceServiceType(I)Landroid/telephony/data/NetworkSliceInfo$Builder;" />
+		<method name="setStatus(I)Landroid/telephony/data/NetworkSliceInfo$Builder;" />
+	</class>
+	<class name="android/telephony/data/NetworkSlicingConfig" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getSliceInfo()Ljava/util/List;" />
+		<method name="getUrspRules()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/data/RouteSelectionDescriptor" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDataNetworkName()Ljava/util/List;" />
+		<method name="getPrecedence()I" />
+		<method name="getSessionType()I" />
+		<method name="getSliceInfo()Ljava/util/List;" />
+		<method name="getSscMode()I" />
+		<field name="CREATOR" />
+		<field name="ROUTE_SSC_MODE_1" />
+		<field name="ROUTE_SSC_MODE_2" />
+		<field name="ROUTE_SSC_MODE_3" />
+		<field name="SESSION_TYPE_IPV4" />
+		<field name="SESSION_TYPE_IPV4V6" />
+		<field name="SESSION_TYPE_IPV6" />
+	</class>
+	<class name="android/telephony/data/TrafficDescriptor" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDataNetworkName()Ljava/lang/String;" />
+		<method name="getOsAppId()[B" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/data/TrafficDescriptor$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/telephony/data/TrafficDescriptor;" />
+		<method name="setDataNetworkName(Ljava/lang/String;)Landroid/telephony/data/TrafficDescriptor$Builder;" />
+		<method name="setOsAppId([B)Landroid/telephony/data/TrafficDescriptor$Builder;" />
+	</class>
+	<class name="android/telephony/data/UrspRule" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getPrecedence()I" />
+		<method name="getRouteSelectionDescriptor()Ljava/util/List;" />
+		<method name="getTrafficDescriptors()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/emergency/EmergencyNumber" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="java/lang/Comparable" />
+		<method name="compareTo(Landroid/telephony/emergency/EmergencyNumber;)I" />
+		<method name="getCountryIso()Ljava/lang/String;" />
+		<method name="getEmergencyCallRouting()I" />
+		<method name="getEmergencyNumberSources()Ljava/util/List;" />
+		<method name="getEmergencyServiceCategories()Ljava/util/List;" />
+		<method name="getEmergencyUrns()Ljava/util/List;" />
+		<method name="getMnc()Ljava/lang/String;" />
+		<method name="getNumber()Ljava/lang/String;" />
+		<method name="isFromSources(I)Z" />
+		<method name="isInEmergencyServiceCategories(I)Z" />
+		<field name="CREATOR" />
+		<field name="EMERGENCY_CALL_ROUTING_EMERGENCY" />
+		<field name="EMERGENCY_CALL_ROUTING_NORMAL" />
+		<field name="EMERGENCY_CALL_ROUTING_UNKNOWN" />
+		<field name="EMERGENCY_NUMBER_SOURCE_DATABASE" />
+		<field name="EMERGENCY_NUMBER_SOURCE_DEFAULT" />
+		<field name="EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG" />
+		<field name="EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING" />
+		<field name="EMERGENCY_NUMBER_SOURCE_SIM" />
+		<field name="EMERGENCY_SERVICE_CATEGORY_AIEC" />
+		<field name="EMERGENCY_SERVICE_CATEGORY_AMBULANCE" />
+		<field name="EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE" />
+		<field name="EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD" />
+		<field name="EMERGENCY_SERVICE_CATEGORY_MIEC" />
+		<field name="EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE" />
+		<field name="EMERGENCY_SERVICE_CATEGORY_POLICE" />
+		<field name="EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED" />
+	</class>
+	<class name="android/telephony/euicc/DownloadableSubscription" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="forActivationCode(Ljava/lang/String;)Landroid/telephony/euicc/DownloadableSubscription;" />
+		<method name="getConfirmationCode()Ljava/lang/String;" />
+		<method name="getEncodedActivationCode()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/euicc/DownloadableSubscription$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/telephony/euicc/DownloadableSubscription;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="build()Landroid/telephony/euicc/DownloadableSubscription;" />
+		<method name="setConfirmationCode(Ljava/lang/String;)Landroid/telephony/euicc/DownloadableSubscription$Builder;" />
+		<method name="setEncodedActivationCode(Ljava/lang/String;)Landroid/telephony/euicc/DownloadableSubscription$Builder;" />
+	</class>
+	<class name="android/telephony/euicc/EuiccInfo" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getOsVersion()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/euicc/EuiccManager" since="28">
+		<extends name="java/lang/Object" />
+		<method name="createForCardId(I)Landroid/telephony/euicc/EuiccManager;" since="29" />
+		<method name="deleteSubscription(ILandroid/app/PendingIntent;)V" />
+		<method name="downloadSubscription(Landroid/telephony/euicc/DownloadableSubscription;ZLandroid/app/PendingIntent;)V" />
+		<method name="getEid()Ljava/lang/String;" />
+		<method name="getEuiccInfo()Landroid/telephony/euicc/EuiccInfo;" />
+		<method name="isEnabled()Z" />
+		<method name="startResolutionActivity(Landroid/app/Activity;ILandroid/content/Intent;Landroid/app/PendingIntent;)V" />
+		<method name="switchToSubscription(ILandroid/app/PendingIntent;)V" />
+		<method name="updateSubscriptionNickname(ILjava/lang/String;Landroid/app/PendingIntent;)V" since="29" />
+		<field name="ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS" />
+		<field name="ACTION_NOTIFY_CARRIER_SETUP_INCOMPLETE" />
+		<field name="ACTION_START_EUICC_ACTIVATION" since="30" />
+		<field name="EMBEDDED_SUBSCRIPTION_RESULT_ERROR" />
+		<field name="EMBEDDED_SUBSCRIPTION_RESULT_OK" />
+		<field name="EMBEDDED_SUBSCRIPTION_RESULT_RESOLVABLE_ERROR" />
+		<field name="ERROR_ADDRESS_MISSING" since="30" />
+		<field name="ERROR_CARRIER_LOCKED" since="30" />
+		<field name="ERROR_CERTIFICATE_ERROR" since="30" />
+		<field name="ERROR_CONNECTION_ERROR" since="30" />
+		<field name="ERROR_DISALLOWED_BY_PPR" since="30" />
+		<field name="ERROR_EUICC_INSUFFICIENT_MEMORY" since="30" />
+		<field name="ERROR_EUICC_MISSING" since="30" />
+		<field name="ERROR_INCOMPATIBLE_CARRIER" since="30" />
+		<field name="ERROR_INSTALL_PROFILE" since="30" />
+		<field name="ERROR_INVALID_ACTIVATION_CODE" since="30" />
+		<field name="ERROR_INVALID_CONFIRMATION_CODE" since="30" />
+		<field name="ERROR_INVALID_RESPONSE" since="30" />
+		<field name="ERROR_NO_PROFILES_AVAILABLE" since="30" />
+		<field name="ERROR_OPERATION_BUSY" since="30" />
+		<field name="ERROR_SIM_MISSING" since="30" />
+		<field name="ERROR_TIME_OUT" since="30" />
+		<field name="ERROR_UNSUPPORTED_VERSION" since="30" />
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE" />
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION" />
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_ERROR_CODE" since="30" />
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE" since="30" />
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE" since="30" />
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE" since="30" />
+		<field name="EXTRA_USE_QR_SCANNER" since="30" />
+		<field name="META_DATA_CARRIER_ICON" />
+		<field name="OPERATION_APDU" since="30" />
+		<field name="OPERATION_DOWNLOAD" since="30" />
+		<field name="OPERATION_EUICC_CARD" since="30" />
+		<field name="OPERATION_EUICC_GSMA" since="30" />
+		<field name="OPERATION_HTTP" since="30" />
+		<field name="OPERATION_METADATA" since="30" />
+		<field name="OPERATION_SIM_SLOT" since="30" />
+		<field name="OPERATION_SMDX" since="30" />
+		<field name="OPERATION_SMDX_SUBJECT_REASON_CODE" since="30" />
+		<field name="OPERATION_SWITCH" since="30" />
+		<field name="OPERATION_SYSTEM" since="30" />
+	</class>
+	<class name="android/telephony/gsm/GsmCellLocation" since="1" deprecated="31">
+		<extends name="android/telephony/CellLocation" />
+		<method name="&lt;init&gt;()V" deprecated="31" />
+		<method name="&lt;init&gt;(Landroid/os/Bundle;)V" deprecated="31" />
+		<method name="fillInNotifierBundle(Landroid/os/Bundle;)V" deprecated="31" />
+		<method name="getCid()I" deprecated="31" />
+		<method name="getLac()I" deprecated="31" />
+		<method name="getPsc()I" since="9" deprecated="31" />
+		<method name="setLacAndCid(II)V" deprecated="31" />
+		<method name="setStateInvalid()V" deprecated="31" />
+	</class>
+	<class name="android/telephony/gsm/SmsManager" since="1" deprecated="4">
+		<extends name="java/lang/Object" />
+		<method name="divideMessage(Ljava/lang/String;)Ljava/util/ArrayList;" deprecated="15" />
+		<method name="getDefault()Landroid/telephony/gsm/SmsManager;" deprecated="15" />
+		<method name="sendDataMessage(Ljava/lang/String;Ljava/lang/String;S[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V" deprecated="15" />
+		<method name="sendMultipartTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V" deprecated="15" />
+		<method name="sendTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V" deprecated="15" />
+		<field name="RESULT_ERROR_GENERIC_FAILURE" deprecated="15" />
+		<field name="RESULT_ERROR_NO_SERVICE" deprecated="15" />
+		<field name="RESULT_ERROR_NULL_PDU" deprecated="15" />
+		<field name="RESULT_ERROR_RADIO_OFF" deprecated="15" />
+		<field name="STATUS_ON_SIM_FREE" deprecated="15" />
+		<field name="STATUS_ON_SIM_READ" deprecated="15" />
+		<field name="STATUS_ON_SIM_SENT" deprecated="15" />
+		<field name="STATUS_ON_SIM_UNREAD" deprecated="15" />
+		<field name="STATUS_ON_SIM_UNSENT" deprecated="15" />
+	</class>
+	<class name="android/telephony/gsm/SmsMessage" since="1" deprecated="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="15" />
+		<method name="calculateLength(Ljava/lang/CharSequence;Z)[I" since="3" deprecated="15" />
+		<method name="calculateLength(Ljava/lang/String;Z)[I" deprecated="15" />
+		<method name="createFromPdu([B)Landroid/telephony/gsm/SmsMessage;" deprecated="15" />
+		<method name="getDisplayMessageBody()Ljava/lang/String;" deprecated="15" />
+		<method name="getDisplayOriginatingAddress()Ljava/lang/String;" deprecated="15" />
+		<method name="getEmailBody()Ljava/lang/String;" deprecated="15" />
+		<method name="getEmailFrom()Ljava/lang/String;" deprecated="15" />
+		<method name="getIndexOnSim()I" deprecated="15" />
+		<method name="getMessageBody()Ljava/lang/String;" deprecated="15" />
+		<method name="getMessageClass()Landroid/telephony/gsm/SmsMessage$MessageClass;" deprecated="15" />
+		<method name="getOriginatingAddress()Ljava/lang/String;" deprecated="15" />
+		<method name="getPdu()[B" deprecated="15" />
+		<method name="getProtocolIdentifier()I" deprecated="15" />
+		<method name="getPseudoSubject()Ljava/lang/String;" deprecated="15" />
+		<method name="getServiceCenterAddress()Ljava/lang/String;" deprecated="15" />
+		<method name="getStatus()I" deprecated="15" />
+		<method name="getStatusOnSim()I" deprecated="15" />
+		<method name="getSubmitPdu(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Landroid/telephony/gsm/SmsMessage$SubmitPdu;" deprecated="15" />
+		<method name="getSubmitPdu(Ljava/lang/String;Ljava/lang/String;S[BZ)Landroid/telephony/gsm/SmsMessage$SubmitPdu;" deprecated="15" />
+		<method name="getTPLayerLengthForPDU(Ljava/lang/String;)I" deprecated="15" />
+		<method name="getTimestampMillis()J" deprecated="15" />
+		<method name="getUserData()[B" deprecated="15" />
+		<method name="isCphsMwiMessage()Z" deprecated="15" />
+		<method name="isEmail()Z" deprecated="15" />
+		<method name="isMWIClearMessage()Z" deprecated="15" />
+		<method name="isMWISetMessage()Z" deprecated="15" />
+		<method name="isMwiDontStore()Z" deprecated="15" />
+		<method name="isReplace()Z" deprecated="15" />
+		<method name="isReplyPathPresent()Z" deprecated="15" />
+		<method name="isStatusReportMessage()Z" deprecated="15" />
+		<field name="ENCODING_16BIT" deprecated="15" />
+		<field name="ENCODING_7BIT" deprecated="15" />
+		<field name="ENCODING_8BIT" deprecated="15" />
+		<field name="ENCODING_UNKNOWN" deprecated="15" />
+		<field name="MAX_USER_DATA_BYTES" deprecated="15" />
+		<field name="MAX_USER_DATA_SEPTETS" deprecated="15" />
+		<field name="MAX_USER_DATA_SEPTETS_WITH_HEADER" deprecated="15" />
+	</class>
+	<class name="android/telephony/gsm/SmsMessage$MessageClass" since="1" deprecated="4">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/telephony/gsm/SmsMessage$MessageClass;" />
+		<method name="values()[Landroid/telephony/gsm/SmsMessage$MessageClass;" />
+		<field name="CLASS_0" deprecated="29" />
+		<field name="CLASS_1" deprecated="29" />
+		<field name="CLASS_2" deprecated="29" />
+		<field name="CLASS_3" deprecated="29" />
+		<field name="UNKNOWN" deprecated="29" />
+	</class>
+	<class name="android/telephony/gsm/SmsMessage$SubmitPdu" since="1" deprecated="4">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="15" />
+		<field name="encodedMessage" deprecated="15" />
+		<field name="encodedScAddress" deprecated="15" />
+	</class>
+	<class name="android/telephony/ims/ImsException" since="30">
+		<extends name="java/lang/Exception" />
+		<method name="getCode()I" />
+		<field name="CODE_ERROR_INVALID_SUBSCRIPTION" />
+		<field name="CODE_ERROR_SERVICE_UNAVAILABLE" />
+		<field name="CODE_ERROR_UNSPECIFIED" />
+		<field name="CODE_ERROR_UNSUPPORTED_OPERATION" />
+	</class>
+	<class name="android/telephony/ims/ImsManager" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getImsMmTelManager(I)Landroid/telephony/ims/ImsMmTelManager;" />
+		<method name="getImsRcsManager(I)Landroid/telephony/ims/ImsRcsManager;" />
+		<field name="ACTION_WFC_IMS_REGISTRATION_ERROR" />
+		<field name="EXTRA_WFC_REGISTRATION_FAILURE_MESSAGE" />
+		<field name="EXTRA_WFC_REGISTRATION_FAILURE_TITLE" />
+	</class>
+	<class name="android/telephony/ims/ImsMmTelManager" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/telephony/ims/RegistrationManager" />
+		<method name="getVoWiFiModeSetting()I" />
+		<method name="isAdvancedCallingSettingEnabled()Z" />
+		<method name="isCrossSimCallingEnabled()Z" since="31" />
+		<method name="isTtyOverVolteEnabled()Z" />
+		<method name="isVoWiFiRoamingSettingEnabled()Z" />
+		<method name="isVoWiFiSettingEnabled()Z" />
+		<method name="isVtSettingEnabled()Z" />
+		<method name="registerMmTelCapabilityCallback(Ljava/util/concurrent/Executor;Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;)V" />
+		<method name="unregisterMmTelCapabilityCallback(Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;)V" />
+		<field name="WIFI_MODE_CELLULAR_PREFERRED" />
+		<field name="WIFI_MODE_WIFI_ONLY" />
+		<field name="WIFI_MODE_WIFI_PREFERRED" />
+	</class>
+	<class name="android/telephony/ims/ImsMmTelManager$CapabilityCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V" />
+	</class>
+	<class name="android/telephony/ims/ImsRcsManager" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getRegistrationState(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31" />
+		<method name="getRegistrationTransportType(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31" />
+		<method name="getUceAdapter()Landroid/telephony/ims/RcsUceAdapter;" />
+		<method name="registerImsRegistrationCallback(Ljava/util/concurrent/Executor;Landroid/telephony/ims/RegistrationManager$RegistrationCallback;)V" since="31" />
+		<method name="unregisterImsRegistrationCallback(Landroid/telephony/ims/RegistrationManager$RegistrationCallback;)V" since="31" />
+		<field name="ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN" />
+	</class>
+	<class name="android/telephony/ims/ImsReasonInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(IILjava/lang/String;)V" />
+		<method name="getCode()I" />
+		<method name="getExtraCode()I" />
+		<method name="getExtraMessage()Ljava/lang/String;" />
+		<field name="CODE_ACCESS_CLASS_BLOCKED" />
+		<field name="CODE_ANSWERED_ELSEWHERE" />
+		<field name="CODE_BLACKLISTED_CALL_ID" />
+		<field name="CODE_CALL_BARRED" />
+		<field name="CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE" />
+		<field name="CODE_CALL_END_CAUSE_CALL_PULL" />
+		<field name="CODE_CALL_PULL_OUT_OF_SYNC" />
+		<field name="CODE_DATA_DISABLED" />
+		<field name="CODE_DATA_LIMIT_REACHED" />
+		<field name="CODE_DIAL_MODIFIED_TO_DIAL" />
+		<field name="CODE_DIAL_MODIFIED_TO_DIAL_VIDEO" />
+		<field name="CODE_DIAL_MODIFIED_TO_SS" />
+		<field name="CODE_DIAL_MODIFIED_TO_USSD" />
+		<field name="CODE_DIAL_VIDEO_MODIFIED_TO_DIAL" />
+		<field name="CODE_DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO" />
+		<field name="CODE_DIAL_VIDEO_MODIFIED_TO_SS" />
+		<field name="CODE_DIAL_VIDEO_MODIFIED_TO_USSD" />
+		<field name="CODE_ECBM_NOT_SUPPORTED" />
+		<field name="CODE_EMERGENCY_PERM_FAILURE" />
+		<field name="CODE_EMERGENCY_TEMP_FAILURE" />
+		<field name="CODE_EPDG_TUNNEL_ESTABLISH_FAILURE" />
+		<field name="CODE_EPDG_TUNNEL_LOST_CONNECTION" />
+		<field name="CODE_EPDG_TUNNEL_REKEY_FAILURE" />
+		<field name="CODE_FDN_BLOCKED" />
+		<field name="CODE_IKEV2_AUTH_FAILURE" />
+		<field name="CODE_IMEI_NOT_ACCEPTED" />
+		<field name="CODE_IWLAN_DPD_FAILURE" />
+		<field name="CODE_LOCAL_CALL_BUSY" />
+		<field name="CODE_LOCAL_CALL_CS_RETRY_REQUIRED" />
+		<field name="CODE_LOCAL_CALL_DECLINE" />
+		<field name="CODE_LOCAL_CALL_EXCEEDED" />
+		<field name="CODE_LOCAL_CALL_RESOURCE_RESERVATION_FAILED" />
+		<field name="CODE_LOCAL_CALL_TERMINATED" />
+		<field name="CODE_LOCAL_CALL_VCC_ON_PROGRESSING" />
+		<field name="CODE_LOCAL_CALL_VOLTE_RETRY_REQUIRED" />
+		<field name="CODE_LOCAL_ENDED_BY_CONFERENCE_MERGE" />
+		<field name="CODE_LOCAL_HO_NOT_FEASIBLE" />
+		<field name="CODE_LOCAL_ILLEGAL_ARGUMENT" />
+		<field name="CODE_LOCAL_ILLEGAL_STATE" />
+		<field name="CODE_LOCAL_IMS_SERVICE_DOWN" />
+		<field name="CODE_LOCAL_INTERNAL_ERROR" />
+		<field name="CODE_LOCAL_LOW_BATTERY" />
+		<field name="CODE_LOCAL_NETWORK_IP_CHANGED" />
+		<field name="CODE_LOCAL_NETWORK_NO_LTE_COVERAGE" />
+		<field name="CODE_LOCAL_NETWORK_NO_SERVICE" />
+		<field name="CODE_LOCAL_NETWORK_ROAMING" />
+		<field name="CODE_LOCAL_NOT_REGISTERED" />
+		<field name="CODE_LOCAL_NO_PENDING_CALL" />
+		<field name="CODE_LOCAL_POWER_OFF" />
+		<field name="CODE_LOCAL_SERVICE_UNAVAILABLE" />
+		<field name="CODE_LOW_BATTERY" />
+		<field name="CODE_MAXIMUM_NUMBER_OF_CALLS_REACHED" />
+		<field name="CODE_MEDIA_INIT_FAILED" />
+		<field name="CODE_MEDIA_NOT_ACCEPTABLE" />
+		<field name="CODE_MEDIA_NO_DATA" />
+		<field name="CODE_MEDIA_UNSPECIFIED" />
+		<field name="CODE_MULTIENDPOINT_NOT_SUPPORTED" />
+		<field name="CODE_NETWORK_CONGESTION" since="31" />
+		<field name="CODE_NETWORK_DETACH" />
+		<field name="CODE_NETWORK_REJECT" />
+		<field name="CODE_NETWORK_RESP_TIMEOUT" />
+		<field name="CODE_NO_CSFB_IN_CS_ROAM" />
+		<field name="CODE_NO_VALID_SIM" />
+		<field name="CODE_OEM_CAUSE_1" />
+		<field name="CODE_OEM_CAUSE_10" />
+		<field name="CODE_OEM_CAUSE_11" />
+		<field name="CODE_OEM_CAUSE_12" />
+		<field name="CODE_OEM_CAUSE_13" />
+		<field name="CODE_OEM_CAUSE_14" />
+		<field name="CODE_OEM_CAUSE_15" />
+		<field name="CODE_OEM_CAUSE_2" />
+		<field name="CODE_OEM_CAUSE_3" />
+		<field name="CODE_OEM_CAUSE_4" />
+		<field name="CODE_OEM_CAUSE_5" />
+		<field name="CODE_OEM_CAUSE_6" />
+		<field name="CODE_OEM_CAUSE_7" />
+		<field name="CODE_OEM_CAUSE_8" />
+		<field name="CODE_OEM_CAUSE_9" />
+		<field name="CODE_RADIO_ACCESS_FAILURE" />
+		<field name="CODE_RADIO_INTERNAL_ERROR" />
+		<field name="CODE_RADIO_LINK_FAILURE" />
+		<field name="CODE_RADIO_LINK_LOST" />
+		<field name="CODE_RADIO_OFF" />
+		<field name="CODE_RADIO_RELEASE_ABNORMAL" />
+		<field name="CODE_RADIO_RELEASE_NORMAL" />
+		<field name="CODE_RADIO_SETUP_FAILURE" />
+		<field name="CODE_RADIO_UPLINK_FAILURE" />
+		<field name="CODE_REGISTRATION_ERROR" />
+		<field name="CODE_REJECTED_ELSEWHERE" />
+		<field name="CODE_REJECT_1X_COLLISION" />
+		<field name="CODE_REJECT_CALL_ON_OTHER_SUB" />
+		<field name="CODE_REJECT_CALL_TYPE_NOT_ALLOWED" />
+		<field name="CODE_REJECT_CONFERENCE_TTY_NOT_ALLOWED" />
+		<field name="CODE_REJECT_INTERNAL_ERROR" />
+		<field name="CODE_REJECT_MAX_CALL_LIMIT_REACHED" />
+		<field name="CODE_REJECT_ONGOING_CALL_SETUP" />
+		<field name="CODE_REJECT_ONGOING_CALL_TRANSFER" />
+		<field name="CODE_REJECT_ONGOING_CALL_UPGRADE" />
+		<field name="CODE_REJECT_ONGOING_CALL_WAITING_DISABLED" />
+		<field name="CODE_REJECT_ONGOING_CONFERENCE_CALL" />
+		<field name="CODE_REJECT_ONGOING_CS_CALL" />
+		<field name="CODE_REJECT_ONGOING_E911_CALL" />
+		<field name="CODE_REJECT_ONGOING_ENCRYPTED_CALL" />
+		<field name="CODE_REJECT_ONGOING_HANDOVER" />
+		<field name="CODE_REJECT_QOS_FAILURE" />
+		<field name="CODE_REJECT_SERVICE_NOT_REGISTERED" />
+		<field name="CODE_REJECT_UNKNOWN" />
+		<field name="CODE_REJECT_UNSUPPORTED_SDP_HEADERS" />
+		<field name="CODE_REJECT_UNSUPPORTED_SIP_HEADERS" />
+		<field name="CODE_REJECT_VT_AVPF_NOT_ALLOWED" />
+		<field name="CODE_REJECT_VT_TTY_NOT_ALLOWED" />
+		<field name="CODE_REMOTE_CALL_DECLINE" />
+		<field name="CODE_SESSION_MODIFICATION_FAILED" />
+		<field name="CODE_SIP_ALTERNATE_EMERGENCY_CALL" />
+		<field name="CODE_SIP_AMBIGUOUS" />
+		<field name="CODE_SIP_BAD_ADDRESS" />
+		<field name="CODE_SIP_BAD_REQUEST" />
+		<field name="CODE_SIP_BUSY" />
+		<field name="CODE_SIP_CALL_OR_TRANS_DOES_NOT_EXIST" />
+		<field name="CODE_SIP_CLIENT_ERROR" />
+		<field name="CODE_SIP_EXTENSION_REQUIRED" />
+		<field name="CODE_SIP_FORBIDDEN" />
+		<field name="CODE_SIP_GLOBAL_ERROR" />
+		<field name="CODE_SIP_INTERVAL_TOO_BRIEF" />
+		<field name="CODE_SIP_LOOP_DETECTED" />
+		<field name="CODE_SIP_METHOD_NOT_ALLOWED" />
+		<field name="CODE_SIP_NOT_ACCEPTABLE" />
+		<field name="CODE_SIP_NOT_FOUND" />
+		<field name="CODE_SIP_NOT_REACHABLE" />
+		<field name="CODE_SIP_NOT_SUPPORTED" />
+		<field name="CODE_SIP_PROXY_AUTHENTICATION_REQUIRED" />
+		<field name="CODE_SIP_REDIRECTED" />
+		<field name="CODE_SIP_REQUEST_CANCELLED" />
+		<field name="CODE_SIP_REQUEST_ENTITY_TOO_LARGE" />
+		<field name="CODE_SIP_REQUEST_PENDING" />
+		<field name="CODE_SIP_REQUEST_TIMEOUT" />
+		<field name="CODE_SIP_REQUEST_URI_TOO_LARGE" />
+		<field name="CODE_SIP_SERVER_ERROR" />
+		<field name="CODE_SIP_SERVER_INTERNAL_ERROR" />
+		<field name="CODE_SIP_SERVER_TIMEOUT" />
+		<field name="CODE_SIP_SERVICE_UNAVAILABLE" />
+		<field name="CODE_SIP_TEMPRARILY_UNAVAILABLE" />
+		<field name="CODE_SIP_TOO_MANY_HOPS" />
+		<field name="CODE_SIP_TRANSACTION_DOES_NOT_EXIST" />
+		<field name="CODE_SIP_UNDECIPHERABLE" />
+		<field name="CODE_SIP_USER_MARKED_UNWANTED" />
+		<field name="CODE_SIP_USER_REJECTED" />
+		<field name="CODE_SUPP_SVC_CANCELLED" />
+		<field name="CODE_SUPP_SVC_FAILED" />
+		<field name="CODE_SUPP_SVC_REINVITE_COLLISION" />
+		<field name="CODE_TIMEOUT_1XX_WAITING" />
+		<field name="CODE_TIMEOUT_NO_ANSWER" />
+		<field name="CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE" />
+		<field name="CODE_UNSPECIFIED" />
+		<field name="CODE_USER_CANCELLED_SESSION_MODIFICATION" />
+		<field name="CODE_USER_DECLINE" />
+		<field name="CODE_USER_IGNORE" />
+		<field name="CODE_USER_NOANSWER" />
+		<field name="CODE_USER_REJECTED_SESSION_MODIFICATION" />
+		<field name="CODE_USER_TERMINATED" />
+		<field name="CODE_USER_TERMINATED_BY_REMOTE" />
+		<field name="CODE_UT_CB_PASSWORD_MISMATCH" />
+		<field name="CODE_UT_NETWORK_ERROR" />
+		<field name="CODE_UT_NOT_SUPPORTED" />
+		<field name="CODE_UT_OPERATION_NOT_ALLOWED" />
+		<field name="CODE_UT_SERVICE_UNAVAILABLE" />
+		<field name="CODE_UT_SS_MODIFIED_TO_DIAL" />
+		<field name="CODE_UT_SS_MODIFIED_TO_DIAL_VIDEO" />
+		<field name="CODE_UT_SS_MODIFIED_TO_SS" />
+		<field name="CODE_UT_SS_MODIFIED_TO_USSD" />
+		<field name="CODE_WIFI_LOST" />
+		<field name="CREATOR" />
+		<field name="EXTRA_CODE_CALL_RETRY_BY_SETTINGS" />
+		<field name="EXTRA_CODE_CALL_RETRY_EMERGENCY" since="31" />
+		<field name="EXTRA_CODE_CALL_RETRY_NORMAL" />
+		<field name="EXTRA_CODE_CALL_RETRY_SILENT_REDIAL" />
+	</class>
+	<class name="android/telephony/ims/ImsRegistrationAttributes" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAttributeFlags()I" />
+		<method name="getFeatureTags()Ljava/util/Set;" />
+		<method name="getTransportType()I" />
+		<field name="ATTR_EPDG_OVER_CELL_INTERNET" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/ims/RcsUceAdapter" since="30">
+		<extends name="java/lang/Object" />
+		<method name="isUceSettingEnabled()Z" />
+	</class>
+	<class name="android/telephony/ims/RegistrationManager" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getRegistrationState(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" />
+		<method name="getRegistrationTransportType(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" />
+		<method name="registerImsRegistrationCallback(Ljava/util/concurrent/Executor;Landroid/telephony/ims/RegistrationManager$RegistrationCallback;)V" />
+		<method name="unregisterImsRegistrationCallback(Landroid/telephony/ims/RegistrationManager$RegistrationCallback;)V" />
+		<field name="REGISTRATION_STATE_NOT_REGISTERED" />
+		<field name="REGISTRATION_STATE_REGISTERED" />
+		<field name="REGISTRATION_STATE_REGISTERING" />
+	</class>
+	<class name="android/telephony/ims/RegistrationManager$RegistrationCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onRegistered(I)V" deprecated="31" />
+		<method name="onRegistered(Landroid/telephony/ims/ImsRegistrationAttributes;)V" since="31" />
+		<method name="onRegistering(I)V" deprecated="31" />
+		<method name="onRegistering(Landroid/telephony/ims/ImsRegistrationAttributes;)V" since="31" />
+		<method name="onTechnologyChangeFailed(ILandroid/telephony/ims/ImsReasonInfo;)V" />
+		<method name="onUnregistered(Landroid/telephony/ims/ImsReasonInfo;)V" />
+	</class>
+	<class name="android/telephony/ims/feature/MmTelFeature" since="30">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/telephony/ims/feature/MmTelFeature$MmTelCapabilities" since="30">
+		<extends name="java/lang/Object" />
+		<method name="isCapable(I)Z" since="31" />
+		<field name="CAPABILITY_TYPE_CALL_COMPOSER" since="31" />
+		<field name="CAPABILITY_TYPE_SMS" />
+		<field name="CAPABILITY_TYPE_UT" />
+		<field name="CAPABILITY_TYPE_VIDEO" />
+		<field name="CAPABILITY_TYPE_VOICE" />
+	</class>
+	<class name="android/telephony/mbms/DownloadProgressListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onProgressUpdated(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;IIII)V" />
+	</class>
+	<class name="android/telephony/mbms/DownloadRequest" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDestinationUri()Landroid/net/Uri;" />
+		<method name="getFileServiceId()Ljava/lang/String;" />
+		<method name="getMaxAppIntentSize()I" />
+		<method name="getMaxDestinationUriSize()I" />
+		<method name="getSourceUri()Landroid/net/Uri;" />
+		<method name="getSubscriptionId()I" />
+		<method name="toByteArray()[B" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/mbms/DownloadRequest$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;Landroid/net/Uri;)V" />
+		<method name="build()Landroid/telephony/mbms/DownloadRequest;" />
+		<method name="fromDownloadRequest(Landroid/telephony/mbms/DownloadRequest;)Landroid/telephony/mbms/DownloadRequest$Builder;" />
+		<method name="fromSerializedRequest([B)Landroid/telephony/mbms/DownloadRequest$Builder;" />
+		<method name="setAppIntent(Landroid/content/Intent;)Landroid/telephony/mbms/DownloadRequest$Builder;" />
+		<method name="setServiceInfo(Landroid/telephony/mbms/FileServiceInfo;)Landroid/telephony/mbms/DownloadRequest$Builder;" />
+		<method name="setSubscriptionId(I)Landroid/telephony/mbms/DownloadRequest$Builder;" />
+	</class>
+	<class name="android/telephony/mbms/DownloadStatusListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onStatusUpdated(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;I)V" />
+	</class>
+	<class name="android/telephony/mbms/FileInfo" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getMimeType()Ljava/lang/String;" />
+		<method name="getUri()Landroid/net/Uri;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/mbms/FileServiceInfo" since="28">
+		<extends name="android/telephony/mbms/ServiceInfo" />
+		<implements name="android/os/Parcelable" />
+		<method name="getFiles()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/telephony/mbms/GroupCall" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="getTmgi()J" />
+		<method name="updateGroupCall(Ljava/util/List;Ljava/util/List;)V" />
+		<field name="REASON_BY_USER_REQUEST" />
+		<field name="REASON_FREQUENCY_CONFLICT" />
+		<field name="REASON_LEFT_MBMS_BROADCAST_AREA" />
+		<field name="REASON_NONE" />
+		<field name="REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE" />
+		<field name="REASON_OUT_OF_MEMORY" />
+		<field name="STATE_STALLED" />
+		<field name="STATE_STARTED" />
+		<field name="STATE_STOPPED" />
+	</class>
+	<class name="android/telephony/mbms/GroupCallCallback" since="29">
+		<extends name="java/lang/Object" />
+		<method name="onBroadcastSignalStrengthUpdated(I)V" />
+		<method name="onError(ILjava/lang/String;)V" />
+		<method name="onGroupCallStateChanged(II)V" />
+		<field name="SIGNAL_STRENGTH_UNAVAILABLE" />
+	</class>
+	<class name="android/telephony/mbms/MbmsDownloadReceiver" since="28">
+		<extends name="android/content/BroadcastReceiver" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/telephony/mbms/MbmsDownloadSessionCallback" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onError(ILjava/lang/String;)V" />
+		<method name="onFileServicesUpdated(Ljava/util/List;)V" />
+		<method name="onMiddlewareReady()V" />
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors" since="28">
+		<extends name="java/lang/Object" />
+		<field name="ERROR_MIDDLEWARE_LOST" />
+		<field name="ERROR_MIDDLEWARE_NOT_BOUND" />
+		<field name="ERROR_NO_UNIQUE_MIDDLEWARE" />
+		<field name="SUCCESS" />
+		<field name="UNKNOWN" />
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors$DownloadErrors" since="28">
+		<extends name="java/lang/Object" />
+		<field name="ERROR_CANNOT_CHANGE_TEMP_FILE_ROOT" />
+		<field name="ERROR_MALFORMED_SERVICE_ANNOUNCEMENT" since="31" />
+		<field name="ERROR_UNKNOWN_DOWNLOAD_REQUEST" />
+		<field name="ERROR_UNKNOWN_FILE_INFO" />
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors$GeneralErrors" since="28">
+		<extends name="java/lang/Object" />
+		<field name="ERROR_CARRIER_CHANGE_NOT_ALLOWED" />
+		<field name="ERROR_IN_E911" />
+		<field name="ERROR_MIDDLEWARE_NOT_YET_READY" />
+		<field name="ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE" />
+		<field name="ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE" />
+		<field name="ERROR_OUT_OF_MEMORY" />
+		<field name="ERROR_UNABLE_TO_READ_SIM" />
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors$GroupCallErrors" since="29">
+		<extends name="java/lang/Object" />
+		<field name="ERROR_DUPLICATE_START_GROUP_CALL" />
+		<field name="ERROR_UNABLE_TO_START_SERVICE" />
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors$InitializationErrors" since="28">
+		<extends name="java/lang/Object" />
+		<field name="ERROR_APP_PERMISSIONS_NOT_GRANTED" />
+		<field name="ERROR_DUPLICATE_INITIALIZE" />
+		<field name="ERROR_UNABLE_TO_INITIALIZE" />
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors$StreamingErrors" since="28">
+		<extends name="java/lang/Object" />
+		<field name="ERROR_CONCURRENT_SERVICE_LIMIT_REACHED" />
+		<field name="ERROR_DUPLICATE_START_STREAM" />
+		<field name="ERROR_UNABLE_TO_START_SERVICE" />
+	</class>
+	<class name="android/telephony/mbms/MbmsGroupCallSessionCallback" since="29">
+		<extends name="java/lang/Object" />
+		<method name="onAvailableSaisUpdated(Ljava/util/List;Ljava/util/List;)V" />
+		<method name="onError(ILjava/lang/String;)V" />
+		<method name="onMiddlewareReady()V" />
+		<method name="onServiceInterfaceAvailable(Ljava/lang/String;I)V" />
+	</class>
+	<class name="android/telephony/mbms/MbmsStreamingSessionCallback" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onError(ILjava/lang/String;)V" />
+		<method name="onMiddlewareReady()V" />
+		<method name="onStreamingServicesUpdated(Ljava/util/List;)V" />
+	</class>
+	<class name="android/telephony/mbms/ServiceInfo" since="28">
+		<extends name="java/lang/Object" />
+		<method name="getLocales()Ljava/util/List;" />
+		<method name="getNameForLocale(Ljava/util/Locale;)Ljava/lang/CharSequence;" />
+		<method name="getNamedContentLocales()Ljava/util/Set;" />
+		<method name="getServiceClassName()Ljava/lang/String;" />
+		<method name="getServiceId()Ljava/lang/String;" />
+		<method name="getSessionEndTime()Ljava/util/Date;" />
+		<method name="getSessionStartTime()Ljava/util/Date;" />
+	</class>
+	<class name="android/telephony/mbms/StreamingService" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="getInfo()Landroid/telephony/mbms/StreamingServiceInfo;" />
+		<method name="getPlaybackUri()Landroid/net/Uri;" />
+		<field name="BROADCAST_METHOD" />
+		<field name="REASON_BY_USER_REQUEST" />
+		<field name="REASON_END_OF_SESSION" />
+		<field name="REASON_FREQUENCY_CONFLICT" />
+		<field name="REASON_LEFT_MBMS_BROADCAST_AREA" />
+		<field name="REASON_NONE" />
+		<field name="REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE" />
+		<field name="REASON_OUT_OF_MEMORY" />
+		<field name="STATE_STALLED" />
+		<field name="STATE_STARTED" />
+		<field name="STATE_STOPPED" />
+		<field name="UNICAST_METHOD" />
+	</class>
+	<class name="android/telephony/mbms/StreamingServiceCallback" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onBroadcastSignalStrengthUpdated(I)V" />
+		<method name="onError(ILjava/lang/String;)V" />
+		<method name="onMediaDescriptionUpdated()V" />
+		<method name="onStreamMethodUpdated(I)V" />
+		<method name="onStreamStateUpdated(II)V" />
+		<field name="SIGNAL_STRENGTH_UNAVAILABLE" />
+	</class>
+	<class name="android/telephony/mbms/StreamingServiceInfo" since="28">
+		<extends name="android/telephony/mbms/ServiceInfo" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/test/ActivityInstrumentationTestCase" since="1" deprecated="3">
+		<extends name="android/test/ActivityTestCase" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Class;)V" deprecated="33" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Class;Z)V" deprecated="33" />
+		<method name="testActivityTestCaseSetUpProperly()V" deprecated="33" />
+	</class>
+	<class name="android/test/ActivityInstrumentationTestCase2" since="3" deprecated="24">
+		<extends name="android/test/ActivityTestCase" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;)V" since="8" deprecated="33" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Class;)V" deprecated="15" />
+		<method name="setActivityInitialTouchMode(Z)V" deprecated="33" />
+		<method name="setActivityIntent(Landroid/content/Intent;)V" deprecated="33" />
+	</class>
+	<class name="android/test/ActivityTestCase" since="1" deprecated="24">
+		<extends name="android/test/InstrumentationTestCase" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="getActivity()Landroid/app/Activity;" deprecated="33" />
+		<method name="scrubClass(Ljava/lang/Class;)V" deprecated="33" />
+		<method name="setActivity(Landroid/app/Activity;)V" deprecated="33" />
+	</class>
+	<class name="android/test/ActivityUnitTestCase" since="1" deprecated="24">
+		<extends name="android/test/ActivityTestCase" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;)V" deprecated="33" />
+		<method name="getFinishedActivityRequest()I" deprecated="33" />
+		<method name="getRequestedOrientation()I" deprecated="33" />
+		<method name="getStartedActivityIntent()Landroid/content/Intent;" deprecated="33" />
+		<method name="getStartedActivityRequest()I" deprecated="33" />
+		<method name="isFinishCalled()Z" deprecated="33" />
+		<method name="setActivityContext(Landroid/content/Context;)V" deprecated="33" />
+		<method name="setApplication(Landroid/app/Application;)V" deprecated="33" />
+		<method name="startActivity(Landroid/content/Intent;Landroid/os/Bundle;Ljava/lang/Object;)Landroid/app/Activity;" deprecated="33" />
+	</class>
+	<class name="android/test/AndroidTestCase" since="1" deprecated="24">
+		<extends name="junit/framework/TestCase" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="assertActivityRequiresPermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" since="4" deprecated="33" />
+		<method name="assertReadingContentUriRequiresPermission(Landroid/net/Uri;Ljava/lang/String;)V" since="4" deprecated="33" />
+		<method name="assertWritingContentUriRequiresPermission(Landroid/net/Uri;Ljava/lang/String;)V" since="4" deprecated="33" />
+		<method name="getContext()Landroid/content/Context;" deprecated="33" />
+		<method name="getTestContext()Landroid/content/Context;" since="33" deprecated="33" />
+		<method name="scrubClass(Ljava/lang/Class;)V" deprecated="33" />
+		<method name="setContext(Landroid/content/Context;)V" deprecated="33" />
+		<method name="setTestContext(Landroid/content/Context;)V" since="33" deprecated="33" />
+		<method name="testAndroidTestCaseSetupProperly()V" deprecated="33" />
+		<field name="mContext" deprecated="33" />
+	</class>
+	<class name="android/test/AndroidTestRunner" since="1" deprecated="24">
+		<extends name="junit/runner/BaseTestRunner" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="addTestListener(Ljunit/framework/TestListener;)V" deprecated="33" />
+		<method name="clearTestListeners()V" deprecated="33" />
+		<method name="createTestResult()Ljunit/framework/TestResult;" deprecated="33" />
+		<method name="getTestCases()Ljava/util/List;" deprecated="33" />
+		<method name="getTestClassName()Ljava/lang/String;" deprecated="33" />
+		<method name="getTestResult()Ljunit/framework/TestResult;" deprecated="33" />
+		<method name="runTest()V" deprecated="33" />
+		<method name="runTest(Ljunit/framework/TestResult;)V" deprecated="33" />
+		<method name="setContext(Landroid/content/Context;)V" deprecated="33" />
+		<method name="setInstrumentaiton(Landroid/app/Instrumentation;)V" deprecated="15" />
+		<method name="setInstrumentation(Landroid/app/Instrumentation;)V" since="5" deprecated="33" />
+		<method name="setTest(Ljunit/framework/Test;)V" deprecated="33" />
+		<method name="setTestClassName(Ljava/lang/String;Ljava/lang/String;)V" deprecated="33" />
+	</class>
+	<class name="android/test/ApplicationTestCase" since="1" deprecated="24">
+		<extends name="android/test/AndroidTestCase" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;)V" deprecated="33" />
+		<method name="createApplication()V" deprecated="33" />
+		<method name="getApplication()Landroid/app/Application;" deprecated="33" />
+		<method name="getSystemContext()Landroid/content/Context;" deprecated="33" />
+		<method name="terminateApplication()V" deprecated="33" />
+		<method name="testApplicationTestCaseSetUpProperly()V" deprecated="33" />
+	</class>
+	<class name="android/test/AssertionFailedError" since="1" deprecated="16">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="33" />
+	</class>
+	<class name="android/test/ComparisonFailure" since="1" deprecated="16">
+		<extends name="android/test/AssertionFailedError" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="33" />
+	</class>
+	<class name="android/test/FlakyTest" since="1" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="tolerance()I" deprecated="33" />
+	</class>
+	<class name="android/test/InstrumentationTestCase" since="1" deprecated="24">
+		<extends name="junit/framework/TestCase" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="getInstrumentation()Landroid/app/Instrumentation;" deprecated="33" />
+		<method name="injectInsrumentation(Landroid/app/Instrumentation;)V" deprecated="15" />
+		<method name="injectInstrumentation(Landroid/app/Instrumentation;)V" since="5" deprecated="33" />
+		<method name="launchActivity(Ljava/lang/String;Ljava/lang/Class;Landroid/os/Bundle;)Landroid/app/Activity;" deprecated="33" />
+		<method name="launchActivityWithIntent(Ljava/lang/String;Ljava/lang/Class;Landroid/content/Intent;)Landroid/app/Activity;" since="3" deprecated="33" />
+		<method name="runTestOnUiThread(Ljava/lang/Runnable;)V" since="3" deprecated="33" />
+		<method name="sendKeys(Ljava/lang/String;)V" deprecated="33" />
+		<method name="sendKeys([I)V" deprecated="33" />
+		<method name="sendRepeatedKeys([I)V" deprecated="33" />
+	</class>
+	<class name="android/test/InstrumentationTestRunner" since="1" deprecated="24">
+		<extends name="android/app/Instrumentation" />
+		<implements name="android/test/TestSuiteProvider" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="addTestListener(Ljunit/framework/TestListener;)V" since="33" deprecated="33" />
+		<method name="getAllTests()Ljunit/framework/TestSuite;" deprecated="33" />
+		<method name="getAndroidTestRunner()Landroid/test/AndroidTestRunner;" deprecated="33" />
+		<method name="getArguments()Landroid/os/Bundle;" since="18" deprecated="33" />
+		<method name="getLoader()Ljava/lang/ClassLoader;" deprecated="33" />
+		<field name="REPORT_KEY_NAME_CLASS" deprecated="33" />
+		<field name="REPORT_KEY_NAME_TEST" deprecated="33" />
+		<field name="REPORT_KEY_NUM_CURRENT" deprecated="33" />
+		<field name="REPORT_KEY_NUM_TOTAL" deprecated="33" />
+		<field name="REPORT_KEY_STACK" deprecated="33" />
+		<field name="REPORT_VALUE_ID" deprecated="33" />
+		<field name="REPORT_VALUE_RESULT_ERROR" deprecated="33" />
+		<field name="REPORT_VALUE_RESULT_FAILURE" deprecated="33" />
+		<field name="REPORT_VALUE_RESULT_OK" deprecated="33" />
+		<field name="REPORT_VALUE_RESULT_START" deprecated="33" />
+	</class>
+	<class name="android/test/InstrumentationTestSuite" since="1" deprecated="24">
+		<extends name="junit/framework/TestSuite" />
+		<method name="&lt;init&gt;(Landroid/app/Instrumentation;)V" deprecated="33" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;Landroid/app/Instrumentation;)V" deprecated="33" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/app/Instrumentation;)V" deprecated="33" />
+	</class>
+	<class name="android/test/IsolatedContext" since="1" deprecated="24">
+		<extends name="android/content/ContextWrapper" />
+		<method name="&lt;init&gt;(Landroid/content/ContentResolver;Landroid/content/Context;)V" deprecated="33" />
+		<method name="getAndClearBroadcastIntents()Ljava/util/List;" deprecated="33" />
+	</class>
+	<class name="android/test/LaunchPerformanceBase" since="33" deprecated="33">
+		<extends name="android/app/Instrumentation" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="LaunchApp()V" deprecated="33" />
+		<field name="mIntent" deprecated="33" />
+		<field name="mResults" deprecated="33" />
+	</class>
+	<class name="android/test/LoaderTestCase" since="11">
+		<extends name="android/test/AndroidTestCase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getLoaderResultSynchronously(Landroid/content/Loader;)Ljava/lang/Object;" />
+	</class>
+	<class name="android/test/MoreAsserts" since="1" deprecated="24">
+		<extends name="java/lang/Object" />
+		<method name="assertAssignableFrom(Ljava/lang/Class;Ljava/lang/Class;)V" deprecated="33" />
+		<method name="assertAssignableFrom(Ljava/lang/Class;Ljava/lang/Object;)V" deprecated="33" />
+		<method name="assertContainsRegex(Ljava/lang/String;Ljava/lang/String;)Ljava/util/regex/MatchResult;" deprecated="33" />
+		<method name="assertContainsRegex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/regex/MatchResult;" deprecated="33" />
+		<method name="assertContentsInAnyOrder(Ljava/lang/Iterable;[Ljava/lang/Object;)V" deprecated="33" />
+		<method name="assertContentsInAnyOrder(Ljava/lang/String;Ljava/lang/Iterable;[Ljava/lang/Object;)V" deprecated="33" />
+		<method name="assertContentsInOrder(Ljava/lang/Iterable;[Ljava/lang/Object;)V" deprecated="33" />
+		<method name="assertContentsInOrder(Ljava/lang/String;Ljava/lang/Iterable;[Ljava/lang/Object;)V" deprecated="33" />
+		<method name="assertEmpty(Ljava/lang/Iterable;)V" deprecated="33" />
+		<method name="assertEmpty(Ljava/lang/String;Ljava/lang/Iterable;)V" deprecated="33" />
+		<method name="assertEmpty(Ljava/lang/String;Ljava/util/Map;)V" deprecated="33" />
+		<method name="assertEmpty(Ljava/util/Map;)V" deprecated="33" />
+		<method name="assertEquals(Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;)V" deprecated="33" />
+		<method name="assertEquals(Ljava/lang/String;[B[B)V" deprecated="33" />
+		<method name="assertEquals(Ljava/lang/String;[D[D)V" deprecated="33" />
+		<method name="assertEquals(Ljava/lang/String;[I[I)V" deprecated="33" />
+		<method name="assertEquals(Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Object;)V" deprecated="33" />
+		<method name="assertEquals(Ljava/util/Set;Ljava/util/Set;)V" deprecated="33" />
+		<method name="assertEquals([B[B)V" deprecated="33" />
+		<method name="assertEquals([D[D)V" deprecated="33" />
+		<method name="assertEquals([I[I)V" deprecated="33" />
+		<method name="assertEquals([Ljava/lang/Object;[Ljava/lang/Object;)V" deprecated="33" />
+		<method name="assertMatchesRegex(Ljava/lang/String;Ljava/lang/String;)Ljava/util/regex/MatchResult;" deprecated="33" />
+		<method name="assertMatchesRegex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/regex/MatchResult;" deprecated="33" />
+		<method name="assertNotContainsRegex(Ljava/lang/String;Ljava/lang/String;)V" deprecated="33" />
+		<method name="assertNotContainsRegex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="33" />
+		<method name="assertNotEmpty(Ljava/lang/Iterable;)V" deprecated="33" />
+		<method name="assertNotEmpty(Ljava/lang/String;Ljava/lang/Iterable;)V" deprecated="33" />
+		<method name="assertNotEmpty(Ljava/lang/String;Ljava/util/Map;)V" deprecated="33" />
+		<method name="assertNotEmpty(Ljava/util/Map;)V" deprecated="33" />
+		<method name="assertNotEqual(Ljava/lang/Object;Ljava/lang/Object;)V" deprecated="33" />
+		<method name="assertNotEqual(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" deprecated="33" />
+		<method name="assertNotMatchesRegex(Ljava/lang/String;Ljava/lang/String;)V" deprecated="33" />
+		<method name="assertNotMatchesRegex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="33" />
+		<method name="checkEqualsAndHashCodeMethods(Ljava/lang/Object;Ljava/lang/Object;Z)V" deprecated="33" />
+		<method name="checkEqualsAndHashCodeMethods(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Z)V" deprecated="33" />
+	</class>
+	<class name="android/test/PerformanceTestCase" since="1" deprecated="24">
+		<extends name="java/lang/Object" />
+		<method name="isPerformanceOnly()Z" deprecated="33" />
+		<method name="startPerformance(Landroid/test/PerformanceTestCase$Intermediates;)I" deprecated="33" />
+	</class>
+	<class name="android/test/PerformanceTestCase$Intermediates" since="1" deprecated="33">
+		<extends name="java/lang/Object" />
+		<method name="addIntermediate(Ljava/lang/String;)V" deprecated="33" />
+		<method name="addIntermediate(Ljava/lang/String;J)V" deprecated="33" />
+		<method name="finishTiming(Z)V" deprecated="33" />
+		<method name="setInternalIterations(I)V" deprecated="33" />
+		<method name="startTiming(Z)V" deprecated="33" />
+	</class>
+	<class name="android/test/ProviderTestCase" since="1" deprecated="5">
+		<extends name="android/test/InstrumentationTestCase" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;Ljava/lang/String;)V" deprecated="33" />
+		<method name="getMockContentResolver()Landroid/test/mock/MockContentResolver;" deprecated="33" />
+		<method name="getMockContext()Landroid/test/IsolatedContext;" deprecated="33" />
+		<method name="getProvider()Landroid/content/ContentProvider;" deprecated="33" />
+		<method name="newResolverWithContentProviderFromSql(Landroid/content/Context;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentResolver;" deprecated="33" />
+	</class>
+	<class name="android/test/ProviderTestCase2" since="3">
+		<extends name="android/test/AndroidTestCase" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;Ljava/lang/String;)V" />
+		<method name="getMockContentResolver()Landroid/test/mock/MockContentResolver;" />
+		<method name="getMockContext()Landroid/test/IsolatedContext;" />
+		<method name="getProvider()Landroid/content/ContentProvider;" />
+		<method name="newResolverWithContentProviderFromSql(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentResolver;" />
+	</class>
+	<class name="android/test/RenamingDelegatingContext" since="1" deprecated="24">
+		<extends name="android/content/ContextWrapper" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/content/Context;Ljava/lang/String;)V" deprecated="33" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;)V" deprecated="33" />
+		<method name="getDatabasePrefix()Ljava/lang/String;" deprecated="33" />
+		<method name="makeExistingFilesAndDbsAccessible()V" deprecated="33" />
+		<method name="providerWithRenamedContext(Ljava/lang/Class;Landroid/content/Context;Ljava/lang/String;)Landroid/content/ContentProvider;" deprecated="33" />
+		<method name="providerWithRenamedContext(Ljava/lang/Class;Landroid/content/Context;Ljava/lang/String;Z)Landroid/content/ContentProvider;" deprecated="33" />
+	</class>
+	<class name="android/test/RepetitiveTest" since="33" deprecated="33">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="numIterations()I" deprecated="33" />
+	</class>
+	<class name="android/test/ServiceTestCase" since="1" deprecated="24">
+		<extends name="android/test/AndroidTestCase" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;)V" deprecated="33" />
+		<method name="bindService(Landroid/content/Intent;)Landroid/os/IBinder;" deprecated="33" />
+		<method name="getApplication()Landroid/app/Application;" deprecated="33" />
+		<method name="getService()Landroid/app/Service;" deprecated="33" />
+		<method name="getSystemContext()Landroid/content/Context;" deprecated="33" />
+		<method name="setApplication(Landroid/app/Application;)V" deprecated="33" />
+		<method name="setupService()V" deprecated="33" />
+		<method name="shutdownService()V" deprecated="33" />
+		<method name="startService(Landroid/content/Intent;)V" deprecated="33" />
+		<method name="testServiceTestCaseSetUpProperly()V" deprecated="33" />
+	</class>
+	<class name="android/test/SingleLaunchActivityTestCase" since="1" deprecated="24">
+		<extends name="android/test/InstrumentationTestCase" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Class;)V" deprecated="33" />
+		<method name="getActivity()Landroid/app/Activity;" deprecated="33" />
+		<method name="testActivityTestCaseSetUpProperly()V" deprecated="33" />
+	</class>
+	<class name="android/test/SyncBaseInstrumentation" since="1" deprecated="24">
+		<extends name="android/test/InstrumentationTestCase" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="cancelSyncsandDisableAutoSync()V" deprecated="33" />
+		<method name="syncProvider(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V" deprecated="33" />
+	</class>
+	<class name="android/test/TestSuiteProvider" since="1" deprecated="24">
+		<extends name="java/lang/Object" />
+		<method name="getTestSuite()Ljunit/framework/TestSuite;" deprecated="33" />
+	</class>
+	<class name="android/test/TouchUtils" since="1" deprecated="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="clickView(Landroid/test/InstrumentationTestCase;Landroid/view/View;)V" deprecated="33" />
+		<method name="drag(Landroid/test/ActivityInstrumentationTestCase;FFFFI)V" deprecated="15" />
+		<method name="drag(Landroid/test/InstrumentationTestCase;FFFFI)V" since="3" deprecated="33" />
+		<method name="dragQuarterScreenDown(Landroid/test/ActivityInstrumentationTestCase;)V" deprecated="15" />
+		<method name="dragQuarterScreenDown(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;)V" since="3" deprecated="33" />
+		<method name="dragQuarterScreenUp(Landroid/test/ActivityInstrumentationTestCase;)V" deprecated="15" />
+		<method name="dragQuarterScreenUp(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;)V" since="3" deprecated="33" />
+		<method name="dragViewBy(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;III)I" deprecated="15" />
+		<method name="dragViewBy(Landroid/test/InstrumentationTestCase;Landroid/view/View;III)I" since="3" deprecated="15" />
+		<method name="dragViewTo(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;III)I" deprecated="15" />
+		<method name="dragViewTo(Landroid/test/InstrumentationTestCase;Landroid/view/View;III)I" since="3" deprecated="33" />
+		<method name="dragViewToBottom(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;)V" deprecated="15" />
+		<method name="dragViewToBottom(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;I)V" deprecated="15" />
+		<method name="dragViewToBottom(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;Landroid/view/View;)V" since="3" deprecated="33" />
+		<method name="dragViewToBottom(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;Landroid/view/View;I)V" since="3" deprecated="33" />
+		<method name="dragViewToTop(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;)V" deprecated="15" />
+		<method name="dragViewToTop(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;I)V" deprecated="15" />
+		<method name="dragViewToTop(Landroid/test/InstrumentationTestCase;Landroid/view/View;)V" since="3" deprecated="33" />
+		<method name="dragViewToTop(Landroid/test/InstrumentationTestCase;Landroid/view/View;I)V" since="3" deprecated="33" />
+		<method name="dragViewToX(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;II)I" deprecated="15" />
+		<method name="dragViewToX(Landroid/test/InstrumentationTestCase;Landroid/view/View;II)I" since="3" deprecated="33" />
+		<method name="dragViewToY(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;II)I" deprecated="15" />
+		<method name="dragViewToY(Landroid/test/InstrumentationTestCase;Landroid/view/View;II)I" since="3" deprecated="33" />
+		<method name="longClickView(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;)V" deprecated="15" />
+		<method name="longClickView(Landroid/test/InstrumentationTestCase;Landroid/view/View;)V" since="3" deprecated="33" />
+		<method name="scrollToBottom(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/ViewGroup;)V" deprecated="15" />
+		<method name="scrollToBottom(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;Landroid/view/ViewGroup;)V" since="3" deprecated="33" />
+		<method name="scrollToTop(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/ViewGroup;)V" deprecated="15" />
+		<method name="scrollToTop(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;Landroid/view/ViewGroup;)V" since="3" deprecated="33" />
+		<method name="tapView(Landroid/test/InstrumentationTestCase;Landroid/view/View;)V" deprecated="33" />
+		<method name="touchAndCancelView(Landroid/test/InstrumentationTestCase;Landroid/view/View;)V" deprecated="33" />
+	</class>
+	<class name="android/test/UiThreadTest" since="1" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="android/test/ViewAsserts" since="1" deprecated="24">
+		<extends name="java/lang/Object" />
+		<method name="assertBaselineAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertBottomAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertBottomAligned(Landroid/view/View;Landroid/view/View;I)V" deprecated="33" />
+		<method name="assertGroupContains(Landroid/view/ViewGroup;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertGroupIntegrity(Landroid/view/ViewGroup;)V" deprecated="33" />
+		<method name="assertGroupNotContains(Landroid/view/ViewGroup;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertHasScreenCoordinates(Landroid/view/View;Landroid/view/View;II)V" deprecated="33" />
+		<method name="assertHorizontalCenterAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertLeftAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertLeftAligned(Landroid/view/View;Landroid/view/View;I)V" deprecated="33" />
+		<method name="assertOffScreenAbove(Landroid/view/View;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertOffScreenBelow(Landroid/view/View;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertOnScreen(Landroid/view/View;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertRightAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertRightAligned(Landroid/view/View;Landroid/view/View;I)V" deprecated="33" />
+		<method name="assertTopAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33" />
+		<method name="assertTopAligned(Landroid/view/View;Landroid/view/View;I)V" deprecated="33" />
+		<method name="assertVerticalCenterAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33" />
+	</class>
+	<class name="android/test/mock/MockAccountManager" since="33" deprecated="33">
+		<extends name="java/lang/Object" />
+		<method name="newMockAccountManager(Landroid/content/Context;)Landroid/accounts/AccountManager;" deprecated="33" />
+	</class>
+	<class name="android/test/mock/MockApplication" since="1" deprecated="24">
+		<extends name="android/app/Application" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+	</class>
+	<class name="android/test/mock/MockContentProvider" since="8">
+		<extends name="android/content/ContentProvider" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;[Landroid/content/pm/PathPermission;)V" />
+		<method name="attachInfoForTesting(Landroid/content/ContentProvider;Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V" since="33" deprecated="33" />
+	</class>
+	<class name="android/test/mock/MockContentResolver" since="1">
+		<extends name="android/content/ContentResolver" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" since="18" />
+		<method name="addProvider(Ljava/lang/String;Landroid/content/ContentProvider;)V" />
+	</class>
+	<class name="android/test/mock/MockContext" since="1">
+		<extends name="android/content/Context" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getPackageCodePath()Ljava/lang/String;" />
+		<method name="getPackageResourcePath()Ljava/lang/String;" />
+	</class>
+	<class name="android/test/mock/MockCursor" since="8" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/database/Cursor" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="abortUpdates()V" removed="11" />
+		<method name="commitUpdates()Z" removed="11" />
+		<method name="commitUpdates(Ljava/util/Map;)Z" removed="11" />
+		<method name="deleteRow()Z" removed="11" />
+		<method name="hasUpdates()Z" removed="11" />
+		<method name="supportsUpdates()Z" removed="11" />
+		<method name="updateBlob(I[B)Z" removed="11" />
+		<method name="updateDouble(ID)Z" removed="11" />
+		<method name="updateFloat(IF)Z" removed="11" />
+		<method name="updateInt(II)Z" removed="11" />
+		<method name="updateLong(IJ)Z" removed="11" />
+		<method name="updateShort(IS)Z" removed="11" />
+		<method name="updateString(ILjava/lang/String;)Z" removed="11" />
+		<method name="updateToNull(I)Z" removed="11" />
+	</class>
+	<class name="android/test/mock/MockDialogInterface" since="1" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/content/DialogInterface" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+	</class>
+	<class name="android/test/mock/MockPackageManager" since="1" deprecated="24">
+		<extends name="android/content/pm/PackageManager" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+		<method name="getAllIntentFilters(Ljava/lang/String;)Ljava/util/List;" since="23" deprecated="33" />
+		<method name="getDefaultBrowserPackageName(I)Ljava/lang/String;" since="23" removed="24" />
+		<method name="resolveServiceAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;" since="33" deprecated="33" />
+		<method name="setDefaultBrowserPackageName(Ljava/lang/String;I)Z" since="23" removed="24" />
+		<method name="setPackageObbPath(Ljava/lang/String;Ljava/lang/String;)V" since="9" removed="10" />
+	</class>
+	<class name="android/test/mock/MockResources" since="1" deprecated="24">
+		<extends name="android/content/res/Resources" />
+		<method name="&lt;init&gt;()V" deprecated="33" />
+	</class>
+	<class name="android/test/mock/MockService" since="33" deprecated="33">
+		<extends name="java/lang/Object" />
+		<method name="attachForTesting(Landroid/app/Service;Landroid/content/Context;Ljava/lang/String;Landroid/app/Application;)V" deprecated="33" />
+	</class>
+	<class name="android/test/suitebuilder/TestMethod" since="1" deprecated="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Class;)V" since="3" deprecated="33" />
+		<method name="&lt;init&gt;(Ljava/lang/reflect/Method;Ljava/lang/Class;)V" deprecated="33" />
+		<method name="&lt;init&gt;(Ljunit/framework/TestCase;)V" since="3" deprecated="33" />
+		<method name="createTest()Ljunit/framework/TestCase;" deprecated="33" />
+		<method name="getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;" deprecated="33" />
+		<method name="getEnclosingClass()Ljava/lang/Class;" deprecated="33" />
+		<method name="getEnclosingClassname()Ljava/lang/String;" deprecated="33" />
+		<method name="getName()Ljava/lang/String;" deprecated="33" />
+	</class>
+	<class name="android/test/suitebuilder/TestSuiteBuilder" since="1" deprecated="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;)V" deprecated="33" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/ClassLoader;)V" deprecated="33" />
+		<method name="addRequirements(Ljava/util/List;)Landroid/test/suitebuilder/TestSuiteBuilder;" removed="28" />
+		<method name="addRequirements([Lcom/android/internal/util/Predicate;)Landroid/test/suitebuilder/TestSuiteBuilder;" removed="28" />
+		<method name="build()Ljunit/framework/TestSuite;" deprecated="33" />
+		<method name="excludePackages([Ljava/lang/String;)Landroid/test/suitebuilder/TestSuiteBuilder;" deprecated="33" />
+		<method name="getSuiteName()Ljava/lang/String;" deprecated="33" />
+		<method name="includeAllPackagesUnderHere()Landroid/test/suitebuilder/TestSuiteBuilder;" deprecated="33" />
+		<method name="includePackages([Ljava/lang/String;)Landroid/test/suitebuilder/TestSuiteBuilder;" deprecated="33" />
+		<method name="named(Ljava/lang/String;)Landroid/test/suitebuilder/TestSuiteBuilder;" deprecated="33" />
+	</class>
+	<class name="android/test/suitebuilder/TestSuiteBuilder$FailedToCreateTests" since="1" deprecated="26">
+		<extends name="junit/framework/TestCase" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" deprecated="33" />
+		<method name="testSuiteConstructionFailed()V" deprecated="33" />
+	</class>
+	<class name="android/test/suitebuilder/UnitTestSuiteBuilder" since="33" deprecated="33">
+		<extends name="android/test/suitebuilder/TestSuiteBuilder" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;)V" deprecated="33" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/ClassLoader;)V" deprecated="33" />
+	</class>
+	<class name="android/test/suitebuilder/annotation/LargeTest" since="2" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="android/test/suitebuilder/annotation/MediumTest" since="2" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="android/test/suitebuilder/annotation/SmallTest" since="2" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="android/test/suitebuilder/annotation/Smoke" since="1" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="android/test/suitebuilder/annotation/Suppress" since="1" deprecated="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="android/text/AlteredCharSequence" since="1" deprecated="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/GetChars" />
+		<implements name="java/lang/CharSequence" />
+		<method name="make(Ljava/lang/CharSequence;[CII)Landroid/text/AlteredCharSequence;" deprecated="30" />
+	</class>
+	<class name="android/text/AndroidCharacter" since="1" deprecated="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="getDirectionalities([C[BI)V" deprecated="29" />
+		<method name="getEastAsianWidth(C)I" since="8" deprecated="29" />
+		<method name="getEastAsianWidths([CII[B)V" since="8" deprecated="29" />
+		<method name="getMirror(C)C" deprecated="29" />
+		<method name="mirror([CII)Z" deprecated="29" />
+		<field name="EAST_ASIAN_WIDTH_AMBIGUOUS" since="8" deprecated="29" />
+		<field name="EAST_ASIAN_WIDTH_FULL_WIDTH" since="8" deprecated="29" />
+		<field name="EAST_ASIAN_WIDTH_HALF_WIDTH" since="8" deprecated="29" />
+		<field name="EAST_ASIAN_WIDTH_NARROW" since="8" deprecated="29" />
+		<field name="EAST_ASIAN_WIDTH_NEUTRAL" since="8" deprecated="29" />
+		<field name="EAST_ASIAN_WIDTH_WIDE" since="8" deprecated="29" />
+	</class>
+	<class name="android/text/Annotation" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getKey()Ljava/lang/String;" />
+		<method name="getValue()Ljava/lang/String;" />
+	</class>
+	<class name="android/text/AutoText" since="1">
+		<extends name="java/lang/Object" />
+		<method name="get(Ljava/lang/CharSequence;IILandroid/view/View;)Ljava/lang/String;" />
+		<method name="getSize(Landroid/view/View;)I" since="3" />
+	</class>
+	<class name="android/text/BidiFormatter" since="18">
+		<extends name="java/lang/Object" />
+		<method name="getInstance()Landroid/text/BidiFormatter;" />
+		<method name="getInstance(Ljava/util/Locale;)Landroid/text/BidiFormatter;" />
+		<method name="getInstance(Z)Landroid/text/BidiFormatter;" />
+		<method name="getStereoReset()Z" />
+		<method name="isRtl(Ljava/lang/CharSequence;)Z" since="26" />
+		<method name="isRtl(Ljava/lang/String;)Z" />
+		<method name="isRtlContext()Z" />
+		<method name="unicodeWrap(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" since="26" />
+		<method name="unicodeWrap(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;)Ljava/lang/CharSequence;" since="26" />
+		<method name="unicodeWrap(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;Z)Ljava/lang/CharSequence;" since="26" />
+		<method name="unicodeWrap(Ljava/lang/CharSequence;Z)Ljava/lang/CharSequence;" since="26" />
+		<method name="unicodeWrap(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="unicodeWrap(Ljava/lang/String;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;" />
+		<method name="unicodeWrap(Ljava/lang/String;Landroid/text/TextDirectionHeuristic;Z)Ljava/lang/String;" />
+		<method name="unicodeWrap(Ljava/lang/String;Z)Ljava/lang/String;" />
+	</class>
+	<class name="android/text/BidiFormatter$Builder" since="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" />
+		<method name="&lt;init&gt;(Z)V" />
+		<method name="build()Landroid/text/BidiFormatter;" />
+		<method name="setTextDirectionHeuristic(Landroid/text/TextDirectionHeuristic;)Landroid/text/BidiFormatter$Builder;" />
+		<method name="stereoReset(Z)Landroid/text/BidiFormatter$Builder;" />
+	</class>
+	<class name="android/text/BoringLayout" since="1">
+		<extends name="android/text/Layout" />
+		<implements name="android/text/TextUtils$EllipsizeCallback" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)V" />
+		<method name="isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;)Landroid/text/BoringLayout$Metrics;" />
+		<method name="isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;" />
+		<method name="make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;" />
+		<method name="make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;" />
+		<method name="replaceOrMake(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;" />
+		<method name="replaceOrMake(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;" />
+	</class>
+	<class name="android/text/BoringLayout$Metrics" since="1">
+		<extends name="android/graphics/Paint$FontMetricsInt" />
+		<method name="&lt;init&gt;()V" />
+		<field name="width" />
+	</class>
+	<class name="android/text/ClipboardManager" since="1" deprecated="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" since="11" deprecated="29" />
+		<method name="getText()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="hasText()Z" deprecated="29" />
+		<method name="setText(Ljava/lang/CharSequence;)V" deprecated="29" />
+	</class>
+	<class name="android/text/DynamicLayout" since="1">
+		<extends name="android/text/Layout" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V" deprecated="28" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V" deprecated="28" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZLandroid/text/TextUtils$TruncateAt;I)V" deprecated="28" />
+	</class>
+	<class name="android/text/DynamicLayout$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="build()Landroid/text/DynamicLayout;" />
+		<method name="obtain(Ljava/lang/CharSequence;Landroid/text/TextPaint;I)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setAlignment(Landroid/text/Layout$Alignment;)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setBreakStrategy(I)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setDisplayText(Ljava/lang/CharSequence;)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setEllipsize(Landroid/text/TextUtils$TruncateAt;)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setEllipsizedWidth(I)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setHyphenationFrequency(I)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setIncludePad(Z)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setJustificationMode(I)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setLineSpacing(FF)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setTextDirection(Landroid/text/TextDirectionHeuristic;)Landroid/text/DynamicLayout$Builder;" />
+		<method name="setUseLineSpacingFromFallbacks(Z)Landroid/text/DynamicLayout$Builder;" />
+	</class>
+	<class name="android/text/Editable" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/GetChars" />
+		<implements name="android/text/Spannable" />
+		<implements name="java/lang/Appendable" />
+		<implements name="java/lang/CharSequence" />
+		<method name="append(C)Landroid/text/Editable;" />
+		<method name="append(Ljava/lang/CharSequence;)Landroid/text/Editable;" />
+		<method name="append(Ljava/lang/CharSequence;II)Landroid/text/Editable;" />
+		<method name="clear()V" />
+		<method name="clearSpans()V" />
+		<method name="delete(II)Landroid/text/Editable;" />
+		<method name="getFilters()[Landroid/text/InputFilter;" />
+		<method name="insert(ILjava/lang/CharSequence;)Landroid/text/Editable;" />
+		<method name="insert(ILjava/lang/CharSequence;II)Landroid/text/Editable;" />
+		<method name="replace(IILjava/lang/CharSequence;)Landroid/text/Editable;" />
+		<method name="replace(IILjava/lang/CharSequence;II)Landroid/text/Editable;" />
+		<method name="setFilters([Landroid/text/InputFilter;)V" />
+	</class>
+	<class name="android/text/Editable$Factory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getInstance()Landroid/text/Editable$Factory;" />
+		<method name="newEditable(Ljava/lang/CharSequence;)Landroid/text/Editable;" />
+	</class>
+	<class name="android/text/GetChars" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/CharSequence" />
+		<method name="getChars(II[CI)V" />
+	</class>
+	<class name="android/text/Html" since="1">
+		<extends name="java/lang/Object" />
+		<method name="escapeHtml(Ljava/lang/CharSequence;)Ljava/lang/String;" since="16" />
+		<method name="fromHtml(Ljava/lang/String;)Landroid/text/Spanned;" deprecated="24" />
+		<method name="fromHtml(Ljava/lang/String;I)Landroid/text/Spanned;" since="24" />
+		<method name="fromHtml(Ljava/lang/String;ILandroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned;" since="24" />
+		<method name="fromHtml(Ljava/lang/String;Landroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned;" deprecated="24" />
+		<method name="toHtml(Landroid/text/Spanned;)Ljava/lang/String;" deprecated="24" />
+		<method name="toHtml(Landroid/text/Spanned;I)Ljava/lang/String;" since="24" />
+		<field name="FROM_HTML_MODE_COMPACT" since="24" />
+		<field name="FROM_HTML_MODE_LEGACY" since="24" />
+		<field name="FROM_HTML_OPTION_USE_CSS_COLORS" since="24" />
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE" since="24" />
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_DIV" since="24" />
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_HEADING" since="24" />
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_LIST" since="24" />
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM" since="24" />
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH" since="24" />
+		<field name="TO_HTML_PARAGRAPH_LINES_CONSECUTIVE" since="24" />
+		<field name="TO_HTML_PARAGRAPH_LINES_INDIVIDUAL" since="24" />
+	</class>
+	<class name="android/text/Html$ImageGetter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getDrawable(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;" />
+	</class>
+	<class name="android/text/Html$TagHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="handleTag(ZLjava/lang/String;Landroid/text/Editable;Lorg/xml/sax/XMLReader;)V" />
+	</class>
+	<class name="android/text/InputFilter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;" />
+	</class>
+	<class name="android/text/InputFilter$AllCaps" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/InputFilter" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" since="27" />
+	</class>
+	<class name="android/text/InputFilter$LengthFilter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/InputFilter" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getMax()I" since="21" />
+	</class>
+	<class name="android/text/InputType" since="3">
+		<extends name="java/lang/Object" />
+		<field name="TYPE_CLASS_DATETIME" />
+		<field name="TYPE_CLASS_NUMBER" />
+		<field name="TYPE_CLASS_PHONE" />
+		<field name="TYPE_CLASS_TEXT" />
+		<field name="TYPE_DATETIME_VARIATION_DATE" />
+		<field name="TYPE_DATETIME_VARIATION_NORMAL" />
+		<field name="TYPE_DATETIME_VARIATION_TIME" />
+		<field name="TYPE_MASK_CLASS" />
+		<field name="TYPE_MASK_FLAGS" />
+		<field name="TYPE_MASK_VARIATION" />
+		<field name="TYPE_NULL" />
+		<field name="TYPE_NUMBER_FLAG_DECIMAL" />
+		<field name="TYPE_NUMBER_FLAG_SIGNED" />
+		<field name="TYPE_NUMBER_VARIATION_NORMAL" since="11" />
+		<field name="TYPE_NUMBER_VARIATION_PASSWORD" since="11" />
+		<field name="TYPE_TEXT_FLAG_AUTO_COMPLETE" />
+		<field name="TYPE_TEXT_FLAG_AUTO_CORRECT" />
+		<field name="TYPE_TEXT_FLAG_CAP_CHARACTERS" />
+		<field name="TYPE_TEXT_FLAG_CAP_SENTENCES" />
+		<field name="TYPE_TEXT_FLAG_CAP_WORDS" />
+		<field name="TYPE_TEXT_FLAG_IME_MULTI_LINE" />
+		<field name="TYPE_TEXT_FLAG_MULTI_LINE" />
+		<field name="TYPE_TEXT_FLAG_NO_SUGGESTIONS" since="5" />
+		<field name="TYPE_TEXT_VARIATION_EMAIL_ADDRESS" />
+		<field name="TYPE_TEXT_VARIATION_EMAIL_SUBJECT" />
+		<field name="TYPE_TEXT_VARIATION_FILTER" />
+		<field name="TYPE_TEXT_VARIATION_LONG_MESSAGE" />
+		<field name="TYPE_TEXT_VARIATION_NORMAL" />
+		<field name="TYPE_TEXT_VARIATION_PASSWORD" />
+		<field name="TYPE_TEXT_VARIATION_PERSON_NAME" />
+		<field name="TYPE_TEXT_VARIATION_PHONETIC" />
+		<field name="TYPE_TEXT_VARIATION_POSTAL_ADDRESS" />
+		<field name="TYPE_TEXT_VARIATION_SHORT_MESSAGE" />
+		<field name="TYPE_TEXT_VARIATION_URI" />
+		<field name="TYPE_TEXT_VARIATION_VISIBLE_PASSWORD" />
+		<field name="TYPE_TEXT_VARIATION_WEB_EDIT_TEXT" />
+		<field name="TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS" since="11" />
+		<field name="TYPE_TEXT_VARIATION_WEB_PASSWORD" since="11" />
+	</class>
+	<class name="android/text/Layout" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V" />
+		<method name="draw(Landroid/graphics/Canvas;)V" />
+		<method name="draw(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V" />
+		<method name="getAlignment()Landroid/text/Layout$Alignment;" />
+		<method name="getBottomPadding()I" />
+		<method name="getCursorPath(ILandroid/graphics/Path;Ljava/lang/CharSequence;)V" />
+		<method name="getDesiredWidth(Ljava/lang/CharSequence;IILandroid/text/TextPaint;)F" />
+		<method name="getDesiredWidth(Ljava/lang/CharSequence;Landroid/text/TextPaint;)F" />
+		<method name="getEllipsisCount(I)I" />
+		<method name="getEllipsisStart(I)I" />
+		<method name="getEllipsizedWidth()I" />
+		<method name="getHeight()I" />
+		<method name="getLineAscent(I)I" />
+		<method name="getLineBaseline(I)I" />
+		<method name="getLineBottom(I)I" />
+		<method name="getLineBounds(ILandroid/graphics/Rect;)I" />
+		<method name="getLineContainsTab(I)Z" />
+		<method name="getLineCount()I" />
+		<method name="getLineDescent(I)I" />
+		<method name="getLineDirections(I)Landroid/text/Layout$Directions;" />
+		<method name="getLineEnd(I)I" />
+		<method name="getLineForOffset(I)I" />
+		<method name="getLineForVertical(I)I" />
+		<method name="getLineLeft(I)F" />
+		<method name="getLineMax(I)F" />
+		<method name="getLineRight(I)F" />
+		<method name="getLineStart(I)I" />
+		<method name="getLineTop(I)I" />
+		<method name="getLineVisibleEnd(I)I" />
+		<method name="getLineWidth(I)F" />
+		<method name="getOffsetForHorizontal(IF)I" />
+		<method name="getOffsetToLeftOf(I)I" />
+		<method name="getOffsetToRightOf(I)I" />
+		<method name="getPaint()Landroid/text/TextPaint;" />
+		<method name="getParagraphAlignment(I)Landroid/text/Layout$Alignment;" />
+		<method name="getParagraphDirection(I)I" />
+		<method name="getParagraphLeft(I)I" />
+		<method name="getParagraphRight(I)I" />
+		<method name="getPrimaryHorizontal(I)F" />
+		<method name="getSecondaryHorizontal(I)F" />
+		<method name="getSelectionPath(IILandroid/graphics/Path;)V" />
+		<method name="getSpacingAdd()F" />
+		<method name="getSpacingMultiplier()F" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<method name="getTopPadding()I" />
+		<method name="getWidth()I" />
+		<method name="increaseWidthTo(I)V" />
+		<method name="isRtlCharAt(I)Z" since="14" />
+		<method name="isSpanned()Z" />
+		<field name="BREAK_STRATEGY_BALANCED" since="23" />
+		<field name="BREAK_STRATEGY_HIGH_QUALITY" since="23" />
+		<field name="BREAK_STRATEGY_SIMPLE" since="23" />
+		<field name="DEFAULT_LINESPACING_ADDITION" since="28" />
+		<field name="DEFAULT_LINESPACING_MULTIPLIER" since="28" />
+		<field name="DIR_LEFT_TO_RIGHT" />
+		<field name="DIR_RIGHT_TO_LEFT" />
+		<field name="HYPHENATION_FREQUENCY_FULL" since="23" />
+		<field name="HYPHENATION_FREQUENCY_NONE" since="23" />
+		<field name="HYPHENATION_FREQUENCY_NORMAL" since="23" />
+		<field name="JUSTIFICATION_MODE_INTER_WORD" since="26" />
+		<field name="JUSTIFICATION_MODE_NONE" since="26" />
+	</class>
+	<class name="android/text/Layout$Alignment" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/text/Layout$Alignment;" />
+		<method name="values()[Landroid/text/Layout$Alignment;" />
+		<field name="ALIGN_CENTER" />
+		<field name="ALIGN_LEFT" since="28" removed="29" />
+		<field name="ALIGN_NORMAL" />
+		<field name="ALIGN_OPPOSITE" />
+		<field name="ALIGN_RIGHT" since="28" removed="29" />
+	</class>
+	<class name="android/text/Layout$Directions" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/text/LoginFilter" since="1" deprecated="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/InputFilter" />
+		<method name="isAllowed(C)Z" deprecated="30" />
+		<method name="onInvalidCharacter(C)V" deprecated="30" />
+		<method name="onStart()V" deprecated="30" />
+		<method name="onStop()V" deprecated="30" />
+	</class>
+	<class name="android/text/LoginFilter$PasswordFilterGMail" since="1" deprecated="30">
+		<extends name="android/text/LoginFilter" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="&lt;init&gt;(Z)V" deprecated="30" />
+	</class>
+	<class name="android/text/LoginFilter$UsernameFilterGMail" since="1" deprecated="30">
+		<extends name="android/text/LoginFilter" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="&lt;init&gt;(Z)V" deprecated="30" />
+	</class>
+	<class name="android/text/LoginFilter$UsernameFilterGeneric" since="1" deprecated="30">
+		<extends name="android/text/LoginFilter" />
+		<method name="&lt;init&gt;()V" deprecated="30" />
+		<method name="&lt;init&gt;(Z)V" deprecated="30" />
+	</class>
+	<class name="android/text/NoCopySpan" since="3">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/text/NoCopySpan$Concrete" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/NoCopySpan" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/text/ParcelableSpan" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getSpanTypeId()I" />
+	</class>
+	<class name="android/text/PrecomputedText" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/Spannable" />
+		<method name="create(Ljava/lang/CharSequence;Landroid/text/PrecomputedText$Params;)Landroid/text/PrecomputedText;" />
+		<method name="getBounds(IILandroid/graphics/Rect;)V" />
+		<method name="getParagraphCount()I" />
+		<method name="getParagraphEnd(I)I" />
+		<method name="getParagraphStart(I)I" />
+		<method name="getParams()Landroid/text/PrecomputedText$Params;" />
+		<method name="getWidth(II)F" />
+	</class>
+	<class name="android/text/PrecomputedText$Params" since="28">
+		<extends name="java/lang/Object" />
+		<method name="getBreakStrategy()I" />
+		<method name="getHyphenationFrequency()I" />
+		<method name="getTextDirection()Landroid/text/TextDirectionHeuristic;" />
+		<method name="getTextPaint()Landroid/text/TextPaint;" />
+	</class>
+	<class name="android/text/PrecomputedText$Params$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/text/PrecomputedText$Params;)V" since="29" />
+		<method name="&lt;init&gt;(Landroid/text/TextPaint;)V" />
+		<method name="build()Landroid/text/PrecomputedText$Params;" />
+		<method name="setBreakStrategy(I)Landroid/text/PrecomputedText$Params$Builder;" />
+		<method name="setHyphenationFrequency(I)Landroid/text/PrecomputedText$Params$Builder;" />
+		<method name="setTextDirection(Landroid/text/TextDirectionHeuristic;)Landroid/text/PrecomputedText$Params$Builder;" />
+	</class>
+	<class name="android/text/Selection" since="1">
+		<extends name="java/lang/Object" />
+		<method name="extendDown(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="extendLeft(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="extendRight(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="extendSelection(Landroid/text/Spannable;I)V" />
+		<method name="extendToLeftEdge(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="extendToRightEdge(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="extendUp(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="getSelectionEnd(Ljava/lang/CharSequence;)I" />
+		<method name="getSelectionStart(Ljava/lang/CharSequence;)I" />
+		<method name="moveDown(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="moveLeft(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="moveRight(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="moveToLeftEdge(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="moveToRightEdge(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="moveUp(Landroid/text/Spannable;Landroid/text/Layout;)Z" />
+		<method name="removeSelection(Landroid/text/Spannable;)V" />
+		<method name="selectAll(Landroid/text/Spannable;)V" />
+		<method name="setSelection(Landroid/text/Spannable;I)V" />
+		<method name="setSelection(Landroid/text/Spannable;II)V" />
+		<field name="SELECTION_END" />
+		<field name="SELECTION_START" />
+	</class>
+	<class name="android/text/SpanWatcher" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/NoCopySpan" since="3" />
+		<method name="onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V" />
+		<method name="onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V" />
+		<method name="onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V" />
+	</class>
+	<class name="android/text/Spannable" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/Spanned" />
+		<method name="removeSpan(Ljava/lang/Object;)V" />
+		<method name="setSpan(Ljava/lang/Object;III)V" />
+	</class>
+	<class name="android/text/Spannable$Factory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getInstance()Landroid/text/Spannable$Factory;" />
+		<method name="newSpannable(Ljava/lang/CharSequence;)Landroid/text/Spannable;" />
+	</class>
+	<class name="android/text/SpannableString" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/GetChars" />
+		<implements name="android/text/Spannable" />
+		<implements name="java/lang/CharSequence" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannableString;" />
+	</class>
+	<class name="android/text/SpannableStringBuilder" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/Editable" />
+		<implements name="android/text/GetChars" />
+		<implements name="android/text/Spannable" />
+		<implements name="java/lang/Appendable" />
+		<implements name="java/lang/CharSequence" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;II)V" />
+		<method name="append(C)Landroid/text/SpannableStringBuilder;" />
+		<method name="append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;" />
+		<method name="append(Ljava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;" />
+		<method name="append(Ljava/lang/CharSequence;Ljava/lang/Object;I)Landroid/text/SpannableStringBuilder;" since="21" />
+		<method name="delete(II)Landroid/text/SpannableStringBuilder;" />
+		<method name="getTextRunCursor(IIIIILandroid/graphics/Paint;)I" since="11" deprecated="15" />
+		<method name="getTextWatcherDepth()I" since="23" />
+		<method name="insert(ILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;" />
+		<method name="insert(ILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;" />
+		<method name="replace(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;" />
+		<method name="replace(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;" />
+		<method name="valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;" />
+	</class>
+	<class name="android/text/Spanned" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/CharSequence" />
+		<method name="getSpanEnd(Ljava/lang/Object;)I" />
+		<method name="getSpanFlags(Ljava/lang/Object;)I" />
+		<method name="getSpanStart(Ljava/lang/Object;)I" />
+		<method name="getSpans(IILjava/lang/Class;)[Ljava/lang/Object;" />
+		<method name="nextSpanTransition(IILjava/lang/Class;)I" />
+		<field name="SPAN_COMPOSING" since="3" />
+		<field name="SPAN_EXCLUSIVE_EXCLUSIVE" />
+		<field name="SPAN_EXCLUSIVE_INCLUSIVE" />
+		<field name="SPAN_INCLUSIVE_EXCLUSIVE" />
+		<field name="SPAN_INCLUSIVE_INCLUSIVE" />
+		<field name="SPAN_INTERMEDIATE" since="3" />
+		<field name="SPAN_MARK_MARK" />
+		<field name="SPAN_MARK_POINT" />
+		<field name="SPAN_PARAGRAPH" />
+		<field name="SPAN_POINT_MARK" />
+		<field name="SPAN_POINT_MARK_MASK" since="3" />
+		<field name="SPAN_POINT_POINT" />
+		<field name="SPAN_PRIORITY" />
+		<field name="SPAN_PRIORITY_SHIFT" />
+		<field name="SPAN_USER" />
+		<field name="SPAN_USER_SHIFT" />
+	</class>
+	<class name="android/text/SpannedString" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/GetChars" />
+		<implements name="android/text/Spanned" />
+		<implements name="java/lang/CharSequence" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannedString;" />
+	</class>
+	<class name="android/text/StaticLayout" since="1">
+		<extends name="android/text/Layout" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V" deprecated="28" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZLandroid/text/TextUtils$TruncateAt;I)V" deprecated="28" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V" deprecated="28" />
+	</class>
+	<class name="android/text/StaticLayout$Builder" since="23">
+		<extends name="java/lang/Object" />
+		<method name="build()Landroid/text/StaticLayout;" />
+		<method name="obtain(Ljava/lang/CharSequence;IILandroid/text/TextPaint;I)Landroid/text/StaticLayout$Builder;" />
+		<method name="setAlignment(Landroid/text/Layout$Alignment;)Landroid/text/StaticLayout$Builder;" />
+		<method name="setBreakStrategy(I)Landroid/text/StaticLayout$Builder;" />
+		<method name="setEllipsize(Landroid/text/TextUtils$TruncateAt;)Landroid/text/StaticLayout$Builder;" />
+		<method name="setEllipsizedWidth(I)Landroid/text/StaticLayout$Builder;" />
+		<method name="setHyphenationFrequency(I)Landroid/text/StaticLayout$Builder;" />
+		<method name="setIncludePad(Z)Landroid/text/StaticLayout$Builder;" />
+		<method name="setIndents([I[I)Landroid/text/StaticLayout$Builder;" />
+		<method name="setJustificationMode(I)Landroid/text/StaticLayout$Builder;" since="26" />
+		<method name="setLineSpacing(FF)Landroid/text/StaticLayout$Builder;" />
+		<method name="setMaxLines(I)Landroid/text/StaticLayout$Builder;" />
+		<method name="setText(Ljava/lang/CharSequence;)Landroid/text/StaticLayout$Builder;" />
+		<method name="setTextDirection(Landroid/text/TextDirectionHeuristic;)Landroid/text/StaticLayout$Builder;" />
+		<method name="setUseLineSpacingFromFallbacks(Z)Landroid/text/StaticLayout$Builder;" since="28" />
+	</class>
+	<class name="android/text/TextDirectionHeuristic" since="18">
+		<extends name="java/lang/Object" />
+		<method name="isRtl(Ljava/lang/CharSequence;II)Z" />
+		<method name="isRtl([CII)Z" />
+	</class>
+	<class name="android/text/TextDirectionHeuristics" since="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="ANYRTL_LTR" />
+		<field name="FIRSTSTRONG_LTR" />
+		<field name="FIRSTSTRONG_RTL" />
+		<field name="LOCALE" />
+		<field name="LTR" />
+		<field name="RTL" />
+	</class>
+	<class name="android/text/TextPaint" since="1">
+		<extends name="android/graphics/Paint" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Paint;)V" />
+		<method name="set(Landroid/text/TextPaint;)V" />
+		<field name="baselineShift" />
+		<field name="bgColor" />
+		<field name="density" since="5" />
+		<field name="drawableState" />
+		<field name="linkColor" />
+		<field name="underlineColor" since="29" />
+		<field name="underlineThickness" since="29" />
+	</class>
+	<class name="android/text/TextShaper" since="31">
+		<extends name="java/lang/Object" />
+		<method name="shapeText(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/TextPaint;Landroid/text/TextShaper$GlyphsConsumer;)V" />
+	</class>
+	<class name="android/text/TextShaper$GlyphsConsumer" since="31">
+		<extends name="java/lang/Object" />
+		<method name="accept(IILandroid/graphics/text/PositionedGlyphs;Landroid/text/TextPaint;)V" />
+	</class>
+	<class name="android/text/TextUtils" since="1">
+		<extends name="java/lang/Object" />
+		<method name="commaEllipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLjava/lang/String;Ljava/lang/String;)Ljava/lang/CharSequence;" deprecated="26" />
+		<method name="concat([Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="copySpansFrom(Landroid/text/Spanned;IILjava/lang/Class;Landroid/text/Spannable;I)V" />
+		<method name="dumpSpans(Ljava/lang/CharSequence;Landroid/util/Printer;Ljava/lang/String;)V" since="3" />
+		<method name="ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;)Ljava/lang/CharSequence;" />
+		<method name="ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;)Ljava/lang/CharSequence;" />
+		<method name="equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z" />
+		<method name="expandTemplate(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="getCapsMode(Ljava/lang/CharSequence;II)I" since="3" />
+		<method name="getChars(Ljava/lang/CharSequence;II[CI)V" />
+		<method name="getLayoutDirectionFromLocale(Ljava/util/Locale;)I" since="17" />
+		<method name="getOffsetAfter(Ljava/lang/CharSequence;I)I" />
+		<method name="getOffsetBefore(Ljava/lang/CharSequence;I)I" />
+		<method name="getReverse(Ljava/lang/CharSequence;II)Ljava/lang/CharSequence;" deprecated="24" />
+		<method name="getTrimmedLength(Ljava/lang/CharSequence;)I" />
+		<method name="htmlEncode(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="indexOf(Ljava/lang/CharSequence;C)I" />
+		<method name="indexOf(Ljava/lang/CharSequence;CI)I" />
+		<method name="indexOf(Ljava/lang/CharSequence;CII)I" />
+		<method name="indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I" />
+		<method name="indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)I" />
+		<method name="indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I" />
+		<method name="isDigitsOnly(Ljava/lang/CharSequence;)Z" />
+		<method name="isEmpty(Ljava/lang/CharSequence;)Z" />
+		<method name="isGraphic(C)Z" deprecated="24" />
+		<method name="isGraphic(Ljava/lang/CharSequence;)Z" />
+		<method name="join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;" />
+		<method name="join(Ljava/lang/CharSequence;[Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="lastIndexOf(Ljava/lang/CharSequence;C)I" />
+		<method name="lastIndexOf(Ljava/lang/CharSequence;CI)I" />
+		<method name="lastIndexOf(Ljava/lang/CharSequence;CII)I" />
+		<method name="listEllipsize(Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Landroid/text/TextPaint;FI)Ljava/lang/CharSequence;" since="26" />
+		<method name="makeSafeForPresentation(Ljava/lang/String;IFI)Ljava/lang/CharSequence;" since="29" />
+		<method name="regionMatches(Ljava/lang/CharSequence;ILjava/lang/CharSequence;II)Z" />
+		<method name="replace(Ljava/lang/CharSequence;[Ljava/lang/String;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;" />
+		<method name="split(Ljava/lang/String;Ljava/util/regex/Pattern;)[Ljava/lang/String;" />
+		<method name="stringOrSpannedString(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="substring(Ljava/lang/CharSequence;II)Ljava/lang/String;" />
+		<method name="writeToParcel(Ljava/lang/CharSequence;Landroid/os/Parcel;I)V" />
+		<field name="CAP_MODE_CHARACTERS" since="3" />
+		<field name="CAP_MODE_SENTENCES" since="3" />
+		<field name="CAP_MODE_WORDS" since="3" />
+		<field name="CHAR_SEQUENCE_CREATOR" />
+		<field name="SAFE_STRING_FLAG_FIRST_LINE" since="29" />
+		<field name="SAFE_STRING_FLAG_SINGLE_LINE" since="29" />
+		<field name="SAFE_STRING_FLAG_TRIM" since="29" />
+	</class>
+	<class name="android/text/TextUtils$EllipsizeCallback" since="1">
+		<extends name="java/lang/Object" />
+		<method name="ellipsized(II)V" />
+	</class>
+	<class name="android/text/TextUtils$SimpleStringSplitter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/TextUtils$StringSplitter" />
+		<implements name="java/util/Iterator" />
+		<method name="&lt;init&gt;(C)V" />
+		<method name="next()Ljava/lang/String;" />
+	</class>
+	<class name="android/text/TextUtils$StringSplitter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Iterable" />
+		<method name="setString(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/text/TextUtils$TruncateAt" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/text/TextUtils$TruncateAt;" />
+		<method name="values()[Landroid/text/TextUtils$TruncateAt;" />
+		<field name="END" />
+		<field name="END_SMALL" since="28" removed="29" />
+		<field name="MARQUEE" since="2" />
+		<field name="MIDDLE" />
+		<field name="START" />
+	</class>
+	<class name="android/text/TextWatcher" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/NoCopySpan" since="3" />
+		<method name="afterTextChanged(Landroid/text/Editable;)V" />
+		<method name="beforeTextChanged(Ljava/lang/CharSequence;III)V" />
+		<method name="onTextChanged(Ljava/lang/CharSequence;III)V" />
+	</class>
+	<class name="android/text/format/DateFormat" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="format(Ljava/lang/CharSequence;J)Ljava/lang/CharSequence;" />
+		<method name="format(Ljava/lang/CharSequence;Ljava/util/Calendar;)Ljava/lang/CharSequence;" />
+		<method name="format(Ljava/lang/CharSequence;Ljava/util/Date;)Ljava/lang/CharSequence;" />
+		<method name="getBestDateTimePattern(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;" since="18" />
+		<method name="getDateFormat(Landroid/content/Context;)Ljava/text/DateFormat;" />
+		<method name="getDateFormatOrder(Landroid/content/Context;)[C" />
+		<method name="getLongDateFormat(Landroid/content/Context;)Ljava/text/DateFormat;" />
+		<method name="getMediumDateFormat(Landroid/content/Context;)Ljava/text/DateFormat;" />
+		<method name="getTimeFormat(Landroid/content/Context;)Ljava/text/DateFormat;" />
+		<method name="is24HourFormat(Landroid/content/Context;)Z" />
+		<field name="AM_PM" deprecated="18" removed="22" />
+		<field name="CAPITAL_AM_PM" deprecated="18" removed="22" />
+		<field name="DATE" deprecated="18" removed="22" />
+		<field name="DAY" deprecated="18" removed="22" />
+		<field name="HOUR" deprecated="18" removed="22" />
+		<field name="HOUR_OF_DAY" deprecated="18" removed="22" />
+		<field name="MINUTE" deprecated="18" removed="22" />
+		<field name="MONTH" deprecated="18" removed="22" />
+		<field name="QUOTE" deprecated="18" removed="22" />
+		<field name="SECONDS" deprecated="18" removed="22" />
+		<field name="STANDALONE_MONTH" since="17" deprecated="18" removed="22" />
+		<field name="TIME_ZONE" deprecated="18" removed="22" />
+		<field name="YEAR" deprecated="18" removed="22" />
+	</class>
+	<class name="android/text/format/DateUtils" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="formatDateRange(Landroid/content/Context;JJI)Ljava/lang/String;" />
+		<method name="formatDateRange(Landroid/content/Context;Ljava/util/Formatter;JJI)Ljava/util/Formatter;" since="5" />
+		<method name="formatDateRange(Landroid/content/Context;Ljava/util/Formatter;JJILjava/lang/String;)Ljava/util/Formatter;" since="9" />
+		<method name="formatDateTime(Landroid/content/Context;JI)Ljava/lang/String;" />
+		<method name="formatElapsedTime(J)Ljava/lang/String;" />
+		<method name="formatElapsedTime(Ljava/lang/StringBuilder;J)Ljava/lang/String;" />
+		<method name="formatSameDayTime(JJII)Ljava/lang/CharSequence;" />
+		<method name="getAMPMString(I)Ljava/lang/String;" deprecated="17" />
+		<method name="getDayOfWeekString(II)Ljava/lang/String;" deprecated="17" />
+		<method name="getMonthString(II)Ljava/lang/String;" deprecated="17" />
+		<method name="getRelativeDateTimeString(Landroid/content/Context;JJJI)Ljava/lang/CharSequence;" />
+		<method name="getRelativeTimeSpanString(J)Ljava/lang/CharSequence;" />
+		<method name="getRelativeTimeSpanString(JJJ)Ljava/lang/CharSequence;" />
+		<method name="getRelativeTimeSpanString(JJJI)Ljava/lang/CharSequence;" />
+		<method name="getRelativeTimeSpanString(Landroid/content/Context;J)Ljava/lang/CharSequence;" />
+		<method name="getRelativeTimeSpanString(Landroid/content/Context;JZ)Ljava/lang/CharSequence;" />
+		<method name="isToday(J)Z" />
+		<field name="ABBREV_MONTH_FORMAT" deprecated="17" />
+		<field name="ABBREV_WEEKDAY_FORMAT" />
+		<field name="DAY_IN_MILLIS" />
+		<field name="FORMAT_12HOUR" deprecated="17" />
+		<field name="FORMAT_24HOUR" deprecated="17" />
+		<field name="FORMAT_ABBREV_ALL" />
+		<field name="FORMAT_ABBREV_MONTH" />
+		<field name="FORMAT_ABBREV_RELATIVE" />
+		<field name="FORMAT_ABBREV_TIME" />
+		<field name="FORMAT_ABBREV_WEEKDAY" />
+		<field name="FORMAT_CAP_AMPM" deprecated="17" />
+		<field name="FORMAT_CAP_MIDNIGHT" deprecated="17" />
+		<field name="FORMAT_CAP_NOON" deprecated="17" />
+		<field name="FORMAT_CAP_NOON_MIDNIGHT" deprecated="17" />
+		<field name="FORMAT_NO_MIDNIGHT" />
+		<field name="FORMAT_NO_MONTH_DAY" />
+		<field name="FORMAT_NO_NOON" />
+		<field name="FORMAT_NO_NOON_MIDNIGHT" deprecated="17" />
+		<field name="FORMAT_NO_YEAR" />
+		<field name="FORMAT_NUMERIC_DATE" />
+		<field name="FORMAT_SHOW_DATE" />
+		<field name="FORMAT_SHOW_TIME" />
+		<field name="FORMAT_SHOW_WEEKDAY" />
+		<field name="FORMAT_SHOW_YEAR" />
+		<field name="FORMAT_UTC" deprecated="15" />
+		<field name="HOUR_IN_MILLIS" />
+		<field name="HOUR_MINUTE_24" deprecated="17" />
+		<field name="LENGTH_LONG" deprecated="17" />
+		<field name="LENGTH_MEDIUM" deprecated="17" />
+		<field name="LENGTH_SHORT" deprecated="17" />
+		<field name="LENGTH_SHORTER" deprecated="17" />
+		<field name="LENGTH_SHORTEST" deprecated="17" />
+		<field name="MINUTE_IN_MILLIS" />
+		<field name="MONTH_DAY_FORMAT" />
+		<field name="MONTH_FORMAT" />
+		<field name="NUMERIC_MONTH_FORMAT" />
+		<field name="SECOND_IN_MILLIS" />
+		<field name="WEEKDAY_FORMAT" />
+		<field name="WEEK_IN_MILLIS" />
+		<field name="YEAR_FORMAT" />
+		<field name="YEAR_FORMAT_TWO_DIGITS" />
+		<field name="YEAR_IN_MILLIS" deprecated="30" />
+		<field name="sameMonthTable" deprecated="17" />
+		<field name="sameYearTable" deprecated="17" />
+	</class>
+	<class name="android/text/format/Formatter" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="formatFileSize(Landroid/content/Context;J)Ljava/lang/String;" />
+		<method name="formatIpAddress(I)Ljava/lang/String;" deprecated="15" />
+		<method name="formatShortFileSize(Landroid/content/Context;J)Ljava/lang/String;" since="5" />
+	</class>
+	<class name="android/text/format/Time" since="3" deprecated="22">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/text/format/Time;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="29" />
+		<method name="after(Landroid/text/format/Time;)Z" deprecated="29" />
+		<method name="before(Landroid/text/format/Time;)Z" deprecated="29" />
+		<method name="clear(Ljava/lang/String;)V" deprecated="29" />
+		<method name="compare(Landroid/text/format/Time;Landroid/text/format/Time;)I" deprecated="29" />
+		<method name="format(Ljava/lang/String;)Ljava/lang/String;" deprecated="29" />
+		<method name="format2445()Ljava/lang/String;" deprecated="29" />
+		<method name="format3339(Z)Ljava/lang/String;" deprecated="29" />
+		<method name="getActualMaximum(I)I" deprecated="29" />
+		<method name="getCurrentTimezone()Ljava/lang/String;" deprecated="29" />
+		<method name="getJulianDay(JJ)I" deprecated="29" />
+		<method name="getJulianMondayFromWeeksSinceEpoch(I)I" since="11" deprecated="29" />
+		<method name="getWeekNumber()I" deprecated="29" />
+		<method name="getWeeksSinceEpochFromJulianDay(II)I" since="11" deprecated="29" />
+		<method name="isEpoch(Landroid/text/format/Time;)Z" deprecated="29" />
+		<method name="normalize(Z)J" deprecated="29" />
+		<method name="parse(Ljava/lang/String;)Z" deprecated="29" />
+		<method name="parse3339(Ljava/lang/String;)Z" deprecated="29" />
+		<method name="set(III)V" deprecated="29" />
+		<method name="set(IIIIII)V" deprecated="29" />
+		<method name="set(J)V" deprecated="29" />
+		<method name="set(Landroid/text/format/Time;)V" deprecated="29" />
+		<method name="setJulianDay(I)J" deprecated="29" />
+		<method name="setToNow()V" deprecated="29" />
+		<method name="switchTimezone(Ljava/lang/String;)V" deprecated="29" />
+		<method name="toMillis(Z)J" deprecated="29" />
+		<field name="EPOCH_JULIAN_DAY" deprecated="29" />
+		<field name="FRIDAY" deprecated="29" />
+		<field name="HOUR" deprecated="29" />
+		<field name="MINUTE" deprecated="29" />
+		<field name="MONDAY" deprecated="29" />
+		<field name="MONDAY_BEFORE_JULIAN_EPOCH" since="11" deprecated="29" />
+		<field name="MONTH" deprecated="29" />
+		<field name="MONTH_DAY" deprecated="29" />
+		<field name="SATURDAY" deprecated="29" />
+		<field name="SECOND" deprecated="29" />
+		<field name="SUNDAY" deprecated="29" />
+		<field name="THURSDAY" deprecated="29" />
+		<field name="TIMEZONE_UTC" deprecated="29" />
+		<field name="TUESDAY" deprecated="29" />
+		<field name="WEDNESDAY" deprecated="29" />
+		<field name="WEEK_DAY" deprecated="29" />
+		<field name="WEEK_NUM" deprecated="29" />
+		<field name="YEAR" deprecated="29" />
+		<field name="YEAR_DAY" deprecated="29" />
+		<field name="allDay" deprecated="29" />
+		<field name="gmtoff" deprecated="29" />
+		<field name="hour" deprecated="29" />
+		<field name="isDst" deprecated="29" />
+		<field name="minute" deprecated="29" />
+		<field name="month" deprecated="29" />
+		<field name="monthDay" deprecated="29" />
+		<field name="second" deprecated="29" />
+		<field name="timezone" deprecated="29" />
+		<field name="weekDay" deprecated="29" />
+		<field name="year" deprecated="29" />
+		<field name="yearDay" deprecated="29" />
+	</class>
+	<class name="android/text/method/ArrowKeyMovementMethod" since="1">
+		<extends name="android/text/method/BaseMovementMethod" since="11" />
+		<extends name="java/lang/Object" removed="11" />
+		<implements name="android/text/method/MovementMethod" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getInstance()Landroid/text/method/MovementMethod;" />
+	</class>
+	<class name="android/text/method/BaseKeyListener" since="1">
+		<extends name="android/text/method/MetaKeyKeyListener" />
+		<implements name="android/text/method/KeyListener" />
+		<method name="&lt;init&gt;()V" />
+		<method name="backspace(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z" />
+		<method name="forwardDelete(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z" since="11" />
+	</class>
+	<class name="android/text/method/BaseMovementMethod" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/method/MovementMethod" />
+		<method name="&lt;init&gt;()V" />
+		<method name="bottom(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="down(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="end(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="getMovementMetaState(Landroid/text/Spannable;Landroid/view/KeyEvent;)I" />
+		<method name="handleMovementKey(Landroid/widget/TextView;Landroid/text/Spannable;IILandroid/view/KeyEvent;)Z" />
+		<method name="home(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="left(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="lineEnd(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="lineStart(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="pageDown(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="pageUp(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="right(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="top(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="up(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+	</class>
+	<class name="android/text/method/CharacterPickerDialog" since="1">
+		<extends name="android/app/Dialog" />
+		<implements name="android/view/View$OnClickListener" />
+		<implements name="android/widget/AdapterView$OnItemClickListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/View;Landroid/text/Editable;Ljava/lang/String;Z)V" />
+	</class>
+	<class name="android/text/method/DateKeyListener" since="1">
+		<extends name="android/text/method/NumberKeyListener" />
+		<method name="&lt;init&gt;()V" deprecated="26" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" since="26" />
+		<method name="getInstance()Landroid/text/method/DateKeyListener;" deprecated="26" />
+		<method name="getInstance(Ljava/util/Locale;)Landroid/text/method/DateKeyListener;" since="26" />
+		<field name="CHARACTERS" deprecated="26" />
+	</class>
+	<class name="android/text/method/DateTimeKeyListener" since="1">
+		<extends name="android/text/method/NumberKeyListener" />
+		<method name="&lt;init&gt;()V" deprecated="26" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" since="26" />
+		<method name="getInstance()Landroid/text/method/DateTimeKeyListener;" deprecated="26" />
+		<method name="getInstance(Ljava/util/Locale;)Landroid/text/method/DateTimeKeyListener;" since="26" />
+		<field name="CHARACTERS" deprecated="26" />
+	</class>
+	<class name="android/text/method/DialerKeyListener" since="1">
+		<extends name="android/text/method/NumberKeyListener" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getInstance()Landroid/text/method/DialerKeyListener;" />
+		<field name="CHARACTERS" />
+	</class>
+	<class name="android/text/method/DigitsKeyListener" since="1">
+		<extends name="android/text/method/NumberKeyListener" />
+		<method name="&lt;init&gt;()V" deprecated="26" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" since="26" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;ZZ)V" since="26" />
+		<method name="&lt;init&gt;(ZZ)V" deprecated="26" />
+		<method name="getInstance()Landroid/text/method/DigitsKeyListener;" deprecated="26" />
+		<method name="getInstance(Ljava/lang/String;)Landroid/text/method/DigitsKeyListener;" />
+		<method name="getInstance(Ljava/util/Locale;)Landroid/text/method/DigitsKeyListener;" since="26" />
+		<method name="getInstance(Ljava/util/Locale;ZZ)Landroid/text/method/DigitsKeyListener;" since="26" />
+		<method name="getInstance(ZZ)Landroid/text/method/DigitsKeyListener;" deprecated="26" />
+	</class>
+	<class name="android/text/method/HideReturnsTransformationMethod" since="1">
+		<extends name="android/text/method/ReplacementTransformationMethod" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getInstance()Landroid/text/method/HideReturnsTransformationMethod;" />
+	</class>
+	<class name="android/text/method/KeyListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="clearMetaKeyState(Landroid/view/View;Landroid/text/Editable;I)V" since="3" />
+		<method name="getInputType()I" since="3" />
+		<method name="onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z" />
+		<method name="onKeyOther(Landroid/view/View;Landroid/text/Editable;Landroid/view/KeyEvent;)Z" since="3" />
+		<method name="onKeyUp(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z" />
+	</class>
+	<class name="android/text/method/LinkMovementMethod" since="1">
+		<extends name="android/text/method/ScrollingMovementMethod" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/text/method/MetaKeyKeyListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="adjustMetaAfterKeypress(J)J" since="3" />
+		<method name="adjustMetaAfterKeypress(Landroid/text/Spannable;)V" />
+		<method name="clearMetaKeyState(JI)J" since="3" />
+		<method name="clearMetaKeyState(Landroid/text/Editable;I)V" since="3" />
+		<method name="clearMetaKeyState(Landroid/view/View;Landroid/text/Editable;I)V" since="3" />
+		<method name="getMetaState(J)I" since="3" />
+		<method name="getMetaState(JI)I" since="3" />
+		<method name="getMetaState(Ljava/lang/CharSequence;)I" />
+		<method name="getMetaState(Ljava/lang/CharSequence;I)I" />
+		<method name="getMetaState(Ljava/lang/CharSequence;ILandroid/view/KeyEvent;)I" since="19" />
+		<method name="getMetaState(Ljava/lang/CharSequence;Landroid/view/KeyEvent;)I" since="19" />
+		<method name="handleKeyDown(JILandroid/view/KeyEvent;)J" since="3" />
+		<method name="handleKeyUp(JILandroid/view/KeyEvent;)J" since="3" />
+		<method name="isMetaTracker(Ljava/lang/CharSequence;Ljava/lang/Object;)Z" />
+		<method name="isSelectingMetaTracker(Ljava/lang/CharSequence;Ljava/lang/Object;)Z" since="3" />
+		<method name="onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z" />
+		<method name="onKeyUp(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z" />
+		<method name="resetLockedMeta(J)J" since="3" />
+		<method name="resetLockedMeta(Landroid/text/Spannable;)V" />
+		<method name="resetMetaState(Landroid/text/Spannable;)V" />
+		<field name="META_ALT_LOCKED" />
+		<field name="META_ALT_ON" />
+		<field name="META_CAP_LOCKED" />
+		<field name="META_SHIFT_ON" />
+		<field name="META_SYM_LOCKED" />
+		<field name="META_SYM_ON" />
+	</class>
+	<class name="android/text/method/MovementMethod" since="1">
+		<extends name="java/lang/Object" />
+		<method name="canSelectArbitrarily()Z" />
+		<method name="initialize(Landroid/widget/TextView;Landroid/text/Spannable;)V" />
+		<method name="onGenericMotionEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z" since="12" />
+		<method name="onKeyDown(Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z" />
+		<method name="onKeyOther(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/KeyEvent;)Z" since="3" />
+		<method name="onKeyUp(Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z" />
+		<method name="onTakeFocus(Landroid/widget/TextView;Landroid/text/Spannable;I)V" />
+		<method name="onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z" />
+		<method name="onTrackballEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z" />
+	</class>
+	<class name="android/text/method/MultiTapKeyListener" since="1">
+		<extends name="android/text/method/BaseKeyListener" />
+		<implements name="android/text/SpanWatcher" />
+		<method name="&lt;init&gt;(Landroid/text/method/TextKeyListener$Capitalize;Z)V" />
+		<method name="getInstance(ZLandroid/text/method/TextKeyListener$Capitalize;)Landroid/text/method/MultiTapKeyListener;" />
+	</class>
+	<class name="android/text/method/NumberKeyListener" since="1">
+		<extends name="android/text/method/BaseKeyListener" />
+		<implements name="android/text/InputFilter" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAcceptedChars()[C" />
+		<method name="lookup(Landroid/view/KeyEvent;Landroid/text/Spannable;)I" />
+		<method name="ok([CC)Z" />
+	</class>
+	<class name="android/text/method/PasswordTransformationMethod" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/TextWatcher" />
+		<implements name="android/text/method/TransformationMethod" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getInstance()Landroid/text/method/PasswordTransformationMethod;" />
+	</class>
+	<class name="android/text/method/QwertyKeyListener" since="1">
+		<extends name="android/text/method/BaseKeyListener" />
+		<method name="&lt;init&gt;(Landroid/text/method/TextKeyListener$Capitalize;Z)V" />
+		<method name="getInstance(ZLandroid/text/method/TextKeyListener$Capitalize;)Landroid/text/method/QwertyKeyListener;" />
+		<method name="getInstanceForFullKeyboard()Landroid/text/method/QwertyKeyListener;" since="11" />
+		<method name="markAsReplaced(Landroid/text/Spannable;IILjava/lang/String;)V" />
+	</class>
+	<class name="android/text/method/ReplacementTransformationMethod" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/method/TransformationMethod" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getOriginal()[C" />
+		<method name="getReplacement()[C" />
+	</class>
+	<class name="android/text/method/ScrollingMovementMethod" since="1">
+		<extends name="android/text/method/BaseMovementMethod" since="11" />
+		<extends name="java/lang/Object" removed="11" />
+		<implements name="android/text/method/MovementMethod" />
+		<method name="&lt;init&gt;()V" />
+		<method name="down(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="getInstance()Landroid/text/method/MovementMethod;" />
+		<method name="left(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="right(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+		<method name="up(Landroid/widget/TextView;Landroid/text/Spannable;)Z" />
+	</class>
+	<class name="android/text/method/SingleLineTransformationMethod" since="1">
+		<extends name="android/text/method/ReplacementTransformationMethod" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getInstance()Landroid/text/method/SingleLineTransformationMethod;" />
+	</class>
+	<class name="android/text/method/TextKeyListener" since="1">
+		<extends name="android/text/method/BaseKeyListener" />
+		<implements name="android/text/SpanWatcher" />
+		<method name="&lt;init&gt;(Landroid/text/method/TextKeyListener$Capitalize;Z)V" />
+		<method name="clear(Landroid/text/Editable;)V" />
+		<method name="getInstance()Landroid/text/method/TextKeyListener;" />
+		<method name="getInstance(ZLandroid/text/method/TextKeyListener$Capitalize;)Landroid/text/method/TextKeyListener;" />
+		<method name="release()V" />
+		<method name="shouldCap(Landroid/text/method/TextKeyListener$Capitalize;Ljava/lang/CharSequence;I)Z" />
+	</class>
+	<class name="android/text/method/TextKeyListener$Capitalize" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/text/method/TextKeyListener$Capitalize;" />
+		<method name="values()[Landroid/text/method/TextKeyListener$Capitalize;" />
+		<field name="CHARACTERS" />
+		<field name="NONE" />
+		<field name="SENTENCES" />
+		<field name="WORDS" />
+	</class>
+	<class name="android/text/method/TimeKeyListener" since="1">
+		<extends name="android/text/method/NumberKeyListener" />
+		<method name="&lt;init&gt;()V" deprecated="26" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" since="26" />
+		<method name="getInstance()Landroid/text/method/TimeKeyListener;" deprecated="26" />
+		<method name="getInstance(Ljava/util/Locale;)Landroid/text/method/TimeKeyListener;" since="26" />
+		<field name="CHARACTERS" deprecated="26" />
+	</class>
+	<class name="android/text/method/Touch" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getInitialScrollX(Landroid/widget/TextView;Landroid/text/Spannable;)I" since="3" />
+		<method name="getInitialScrollY(Landroid/widget/TextView;Landroid/text/Spannable;)I" since="3" />
+		<method name="onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z" />
+		<method name="scrollTo(Landroid/widget/TextView;Landroid/text/Layout;II)V" />
+	</class>
+	<class name="android/text/method/TransformationMethod" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;" />
+		<method name="onFocusChanged(Landroid/view/View;Ljava/lang/CharSequence;ZILandroid/graphics/Rect;)V" />
+	</class>
+	<class name="android/text/style/AbsoluteSizeSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IZ)V" since="5" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="getDip()Z" since="5" />
+		<method name="getSize()I" />
+	</class>
+	<class name="android/text/style/AlignmentSpan" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/ParagraphStyle" />
+		<method name="getAlignment()Landroid/text/Layout$Alignment;" />
+	</class>
+	<class name="android/text/style/AlignmentSpan$Standard" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<implements name="android/text/style/AlignmentSpan" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="&lt;init&gt;(Landroid/text/Layout$Alignment;)V" />
+	</class>
+	<class name="android/text/style/BackgroundColorSpan" since="1">
+		<extends name="android/text/style/CharacterStyle" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<implements name="android/text/style/UpdateAppearance" since="3" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="getBackgroundColor()I" />
+	</class>
+	<class name="android/text/style/BulletSpan" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<implements name="android/text/style/LeadingMarginSpan" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(III)V" since="28" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="getBulletRadius()I" since="28" />
+		<method name="getColor()I" since="28" />
+		<method name="getGapWidth()I" since="28" />
+		<field name="STANDARD_GAP_WIDTH" />
+	</class>
+	<class name="android/text/style/CharacterStyle" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getUnderlying()Landroid/text/style/CharacterStyle;" />
+		<method name="updateDrawState(Landroid/text/TextPaint;)V" />
+		<method name="wrap(Landroid/text/style/CharacterStyle;)Landroid/text/style/CharacterStyle;" />
+	</class>
+	<class name="android/text/style/ClickableSpan" since="1">
+		<extends name="android/text/style/CharacterStyle" />
+		<implements name="android/text/style/UpdateAppearance" since="3" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onClick(Landroid/view/View;)V" />
+	</class>
+	<class name="android/text/style/DrawableMarginSpan" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/LeadingMarginSpan" />
+		<implements name="android/text/style/LineHeightSpan" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;I)V" />
+	</class>
+	<class name="android/text/style/DynamicDrawableSpan" since="1">
+		<extends name="android/text/style/ReplacementSpan" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" since="3" />
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="getVerticalAlignment()I" since="3" />
+		<field name="ALIGN_BASELINE" since="3" />
+		<field name="ALIGN_BOTTOM" since="3" />
+		<field name="ALIGN_CENTER" since="29" />
+		<field name="mVerticalAlignment" since="3" />
+	</class>
+	<class name="android/text/style/EasyEditSpan" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/ParcelableSpan" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/app/PendingIntent;)V" since="18" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="18" />
+		<field name="EXTRA_TEXT_CHANGED_TYPE" since="18" />
+		<field name="TEXT_DELETED" since="18" />
+		<field name="TEXT_MODIFIED" since="18" />
+	</class>
+	<class name="android/text/style/ForegroundColorSpan" since="1">
+		<extends name="android/text/style/CharacterStyle" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<implements name="android/text/style/UpdateAppearance" since="3" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="getForegroundColor()I" />
+	</class>
+	<class name="android/text/style/IconMarginSpan" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/LeadingMarginSpan" />
+		<implements name="android/text/style/LineHeightSpan" />
+		<method name="&lt;init&gt;(Landroid/graphics/Bitmap;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Bitmap;I)V" />
+	</class>
+	<class name="android/text/style/ImageSpan" since="1">
+		<extends name="android/text/style/DynamicDrawableSpan" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;II)V" since="3" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/graphics/Bitmap;)V" since="4" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/graphics/Bitmap;I)V" since="4" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/net/Uri;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/net/Uri;I)V" since="3" />
+		<method name="&lt;init&gt;(Landroid/graphics/Bitmap;)V" deprecated="15" />
+		<method name="&lt;init&gt;(Landroid/graphics/Bitmap;I)V" since="3" deprecated="15" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;I)V" since="3" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;Ljava/lang/String;I)V" since="3" />
+		<method name="getSource()Ljava/lang/String;" />
+	</class>
+	<class name="android/text/style/LeadingMarginSpan" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/ParagraphStyle" />
+		<method name="drawLeadingMargin(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIIIILjava/lang/CharSequence;IIZLandroid/text/Layout;)V" />
+		<method name="getLeadingMargin(Z)I" />
+	</class>
+	<class name="android/text/style/LeadingMarginSpan$LeadingMarginSpan2" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/LeadingMarginSpan" />
+		<implements name="android/text/style/WrapTogetherSpan" />
+		<method name="getLeadingMarginLineCount()I" />
+	</class>
+	<class name="android/text/style/LeadingMarginSpan$Standard" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<implements name="android/text/style/LeadingMarginSpan" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+	</class>
+	<class name="android/text/style/LineBackgroundSpan" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/ParagraphStyle" />
+		<method name="drawBackground(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIIIILjava/lang/CharSequence;III)V" />
+	</class>
+	<class name="android/text/style/LineBackgroundSpan$Standard" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/ParcelableSpan" />
+		<implements name="android/text/style/LineBackgroundSpan" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="getColor()I" />
+	</class>
+	<class name="android/text/style/LineHeightSpan" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/ParagraphStyle" />
+		<implements name="android/text/style/WrapTogetherSpan" />
+		<method name="chooseHeight(Ljava/lang/CharSequence;IIIILandroid/graphics/Paint$FontMetricsInt;)V" />
+	</class>
+	<class name="android/text/style/LineHeightSpan$Standard" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/ParcelableSpan" />
+		<implements name="android/text/style/LineHeightSpan" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="getHeight()I" />
+	</class>
+	<class name="android/text/style/LineHeightSpan$WithDensity" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/LineHeightSpan" />
+		<method name="chooseHeight(Ljava/lang/CharSequence;IIIILandroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V" />
+	</class>
+	<class name="android/text/style/LocaleSpan" since="17">
+		<extends name="android/text/style/MetricAffectingSpan" />
+		<implements name="android/text/ParcelableSpan" />
+		<method name="&lt;init&gt;(Landroid/os/LocaleList;)V" since="24" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" />
+		<method name="getLocale()Ljava/util/Locale;" />
+		<method name="getLocales()Landroid/os/LocaleList;" since="24" />
+	</class>
+	<class name="android/text/style/MaskFilterSpan" since="1">
+		<extends name="android/text/style/CharacterStyle" />
+		<implements name="android/text/style/UpdateAppearance" since="3" />
+		<method name="&lt;init&gt;(Landroid/graphics/MaskFilter;)V" />
+		<method name="getMaskFilter()Landroid/graphics/MaskFilter;" />
+	</class>
+	<class name="android/text/style/MetricAffectingSpan" since="1">
+		<extends name="android/text/style/CharacterStyle" />
+		<implements name="android/text/style/UpdateLayout" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getUnderlying()Landroid/text/style/MetricAffectingSpan;" />
+		<method name="updateMeasureState(Landroid/text/TextPaint;)V" />
+	</class>
+	<class name="android/text/style/ParagraphStyle" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/text/style/QuoteSpan" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<implements name="android/text/style/LeadingMarginSpan" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(III)V" since="28" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="getColor()I" />
+		<method name="getGapWidth()I" since="28" />
+		<method name="getStripeWidth()I" since="28" />
+		<field name="STANDARD_COLOR" since="28" />
+		<field name="STANDARD_GAP_WIDTH_PX" since="28" />
+		<field name="STANDARD_STRIPE_WIDTH_PX" since="28" />
+	</class>
+	<class name="android/text/style/RasterizerSpan" since="1" removed="26">
+		<extends name="android/text/style/CharacterStyle" />
+		<implements name="android/text/style/UpdateAppearance" since="3" />
+		<method name="&lt;init&gt;(Landroid/graphics/Rasterizer;)V" />
+		<method name="getRasterizer()Landroid/graphics/Rasterizer;" />
+	</class>
+	<class name="android/text/style/RelativeSizeSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="getSizeChange()F" />
+	</class>
+	<class name="android/text/style/ReplacementSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan" />
+		<method name="&lt;init&gt;()V" />
+		<method name="draw(Landroid/graphics/Canvas;Ljava/lang/CharSequence;IIFIIILandroid/graphics/Paint;)V" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" since="30" />
+		<method name="getSize(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I" />
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V" since="30" />
+	</class>
+	<class name="android/text/style/ScaleXSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="getScaleX()F" />
+	</class>
+	<class name="android/text/style/StrikethroughSpan" since="1">
+		<extends name="android/text/style/CharacterStyle" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<implements name="android/text/style/UpdateAppearance" since="3" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+	</class>
+	<class name="android/text/style/StyleSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="getStyle()I" />
+	</class>
+	<class name="android/text/style/SubscriptSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+	</class>
+	<class name="android/text/style/SuggestionSpan" since="14">
+		<extends name="android/text/style/CharacterStyle" />
+		<implements name="android/text/ParcelableSpan" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/util/Locale;[Ljava/lang/String;ILjava/lang/Class;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;[Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;[Ljava/lang/String;I)V" />
+		<method name="getFlags()I" />
+		<method name="getLocale()Ljava/lang/String;" deprecated="24" />
+		<method name="getLocaleObject()Ljava/util/Locale;" since="24" />
+		<method name="getSuggestions()[Ljava/lang/String;" />
+		<method name="getUnderlineColor()I" since="29" />
+		<method name="setFlags(I)V" />
+		<field name="ACTION_SUGGESTION_PICKED" deprecated="29" />
+		<field name="CREATOR" />
+		<field name="FLAG_AUTO_CORRECTION" since="15" />
+		<field name="FLAG_EASY_CORRECT" />
+		<field name="FLAG_GRAMMAR_ERROR" since="31" />
+		<field name="FLAG_MISSPELLED" />
+		<field name="SUGGESTIONS_MAX_SIZE" />
+		<field name="SUGGESTION_SPAN_PICKED_AFTER" deprecated="29" />
+		<field name="SUGGESTION_SPAN_PICKED_BEFORE" deprecated="29" />
+		<field name="SUGGESTION_SPAN_PICKED_HASHCODE" deprecated="29" />
+	</class>
+	<class name="android/text/style/SuperscriptSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+	</class>
+	<class name="android/text/style/TabStopSpan" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/ParagraphStyle" />
+		<method name="getTabStop()I" />
+	</class>
+	<class name="android/text/style/TabStopSpan$Standard" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/TabStopSpan" />
+		<method name="&lt;init&gt;(I)V" />
+	</class>
+	<class name="android/text/style/TextAppearanceSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;II)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="&lt;init&gt;(Ljava/lang/String;IILandroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;)V" />
+		<method name="getFamily()Ljava/lang/String;" />
+		<method name="getFontFeatureSettings()Ljava/lang/String;" since="29" />
+		<method name="getFontVariationSettings()Ljava/lang/String;" since="29" />
+		<method name="getLinkTextColor()Landroid/content/res/ColorStateList;" />
+		<method name="getShadowColor()I" since="29" />
+		<method name="getShadowDx()F" since="29" />
+		<method name="getShadowDy()F" since="29" />
+		<method name="getShadowRadius()F" since="29" />
+		<method name="getTextColor()Landroid/content/res/ColorStateList;" />
+		<method name="getTextFontWeight()I" since="29" />
+		<method name="getTextLocales()Landroid/os/LocaleList;" since="29" />
+		<method name="getTextSize()I" />
+		<method name="getTextStyle()I" />
+		<method name="getTypeface()Landroid/graphics/Typeface;" since="29" />
+		<method name="isElegantTextHeight()Z" since="29" />
+	</class>
+	<class name="android/text/style/TtsSpan" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/ParcelableSpan" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Landroid/os/PersistableBundle;)V" />
+		<method name="getArgs()Landroid/os/PersistableBundle;" />
+		<method name="getType()Ljava/lang/String;" />
+		<field name="ANIMACY_ANIMATE" />
+		<field name="ANIMACY_INANIMATE" />
+		<field name="ARG_ANIMACY" />
+		<field name="ARG_CASE" />
+		<field name="ARG_COUNTRY_CODE" />
+		<field name="ARG_CURRENCY" />
+		<field name="ARG_DAY" />
+		<field name="ARG_DENOMINATOR" />
+		<field name="ARG_DIGITS" />
+		<field name="ARG_DOMAIN" />
+		<field name="ARG_EXTENSION" />
+		<field name="ARG_FRACTIONAL_PART" />
+		<field name="ARG_FRAGMENT_ID" />
+		<field name="ARG_GENDER" />
+		<field name="ARG_HOURS" />
+		<field name="ARG_INTEGER_PART" />
+		<field name="ARG_MINUTES" />
+		<field name="ARG_MONTH" />
+		<field name="ARG_MULTIPLICITY" />
+		<field name="ARG_NUMBER" />
+		<field name="ARG_NUMBER_PARTS" />
+		<field name="ARG_NUMERATOR" />
+		<field name="ARG_PASSWORD" />
+		<field name="ARG_PATH" />
+		<field name="ARG_PORT" />
+		<field name="ARG_PROTOCOL" />
+		<field name="ARG_QUANTITY" />
+		<field name="ARG_QUERY_STRING" />
+		<field name="ARG_TEXT" />
+		<field name="ARG_UNIT" />
+		<field name="ARG_USERNAME" />
+		<field name="ARG_VERBATIM" />
+		<field name="ARG_WEEKDAY" />
+		<field name="ARG_YEAR" />
+		<field name="CASE_ABLATIVE" />
+		<field name="CASE_ACCUSATIVE" />
+		<field name="CASE_DATIVE" />
+		<field name="CASE_GENITIVE" />
+		<field name="CASE_INSTRUMENTAL" />
+		<field name="CASE_LOCATIVE" />
+		<field name="CASE_NOMINATIVE" />
+		<field name="CASE_VOCATIVE" />
+		<field name="GENDER_FEMALE" />
+		<field name="GENDER_MALE" />
+		<field name="GENDER_NEUTRAL" />
+		<field name="MONTH_APRIL" />
+		<field name="MONTH_AUGUST" />
+		<field name="MONTH_DECEMBER" />
+		<field name="MONTH_FEBRUARY" />
+		<field name="MONTH_JANUARY" />
+		<field name="MONTH_JULY" />
+		<field name="MONTH_JUNE" />
+		<field name="MONTH_MARCH" />
+		<field name="MONTH_MAY" />
+		<field name="MONTH_NOVEMBER" />
+		<field name="MONTH_OCTOBER" />
+		<field name="MONTH_SEPTEMBER" />
+		<field name="MULTIPLICITY_DUAL" />
+		<field name="MULTIPLICITY_PLURAL" />
+		<field name="MULTIPLICITY_SINGLE" />
+		<field name="TYPE_CARDINAL" />
+		<field name="TYPE_DATE" />
+		<field name="TYPE_DECIMAL" />
+		<field name="TYPE_DIGITS" />
+		<field name="TYPE_ELECTRONIC" />
+		<field name="TYPE_FRACTION" />
+		<field name="TYPE_MEASURE" />
+		<field name="TYPE_MONEY" />
+		<field name="TYPE_ORDINAL" />
+		<field name="TYPE_TELEPHONE" />
+		<field name="TYPE_TEXT" />
+		<field name="TYPE_TIME" />
+		<field name="TYPE_VERBATIM" />
+		<field name="WEEKDAY_FRIDAY" />
+		<field name="WEEKDAY_MONDAY" />
+		<field name="WEEKDAY_SATURDAY" />
+		<field name="WEEKDAY_SUNDAY" />
+		<field name="WEEKDAY_THURSDAY" />
+		<field name="WEEKDAY_TUESDAY" />
+		<field name="WEEKDAY_WEDNESDAY" />
+	</class>
+	<class name="android/text/style/TtsSpan$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="build()Landroid/text/style/TtsSpan;" />
+		<method name="setIntArgument(Ljava/lang/String;I)Landroid/text/style/TtsSpan$Builder;" />
+		<method name="setLongArgument(Ljava/lang/String;J)Landroid/text/style/TtsSpan$Builder;" />
+		<method name="setStringArgument(Ljava/lang/String;Ljava/lang/String;)Landroid/text/style/TtsSpan$Builder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$CardinalBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="setNumber(J)Landroid/text/style/TtsSpan$CardinalBuilder;" />
+		<method name="setNumber(Ljava/lang/String;)Landroid/text/style/TtsSpan$CardinalBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$DateBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V" />
+		<method name="setDay(I)Landroid/text/style/TtsSpan$DateBuilder;" />
+		<method name="setMonth(I)Landroid/text/style/TtsSpan$DateBuilder;" />
+		<method name="setWeekday(I)Landroid/text/style/TtsSpan$DateBuilder;" />
+		<method name="setYear(I)Landroid/text/style/TtsSpan$DateBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$DecimalBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(DII)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setArgumentsFromDouble(DII)Landroid/text/style/TtsSpan$DecimalBuilder;" />
+		<method name="setFractionalPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$DecimalBuilder;" />
+		<method name="setIntegerPart(J)Landroid/text/style/TtsSpan$DecimalBuilder;" />
+		<method name="setIntegerPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$DecimalBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$DigitsBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="setDigits(Ljava/lang/String;)Landroid/text/style/TtsSpan$DigitsBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$ElectronicBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setDomain(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;" />
+		<method name="setEmailArguments(Ljava/lang/String;Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;" />
+		<method name="setFragmentId(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;" />
+		<method name="setPassword(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;" />
+		<method name="setPath(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;" />
+		<method name="setPort(I)Landroid/text/style/TtsSpan$ElectronicBuilder;" />
+		<method name="setProtocol(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;" />
+		<method name="setQueryString(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;" />
+		<method name="setUsername(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$FractionBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(JJJ)V" />
+		<method name="setDenominator(J)Landroid/text/style/TtsSpan$FractionBuilder;" />
+		<method name="setDenominator(Ljava/lang/String;)Landroid/text/style/TtsSpan$FractionBuilder;" />
+		<method name="setIntegerPart(J)Landroid/text/style/TtsSpan$FractionBuilder;" />
+		<method name="setIntegerPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$FractionBuilder;" />
+		<method name="setNumerator(J)Landroid/text/style/TtsSpan$FractionBuilder;" />
+		<method name="setNumerator(Ljava/lang/String;)Landroid/text/style/TtsSpan$FractionBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$MeasureBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setDenominator(J)Landroid/text/style/TtsSpan$MeasureBuilder;" />
+		<method name="setDenominator(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;" />
+		<method name="setFractionalPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;" />
+		<method name="setIntegerPart(J)Landroid/text/style/TtsSpan$MeasureBuilder;" />
+		<method name="setIntegerPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;" />
+		<method name="setNumber(J)Landroid/text/style/TtsSpan$MeasureBuilder;" />
+		<method name="setNumber(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;" />
+		<method name="setNumerator(J)Landroid/text/style/TtsSpan$MeasureBuilder;" />
+		<method name="setNumerator(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;" />
+		<method name="setUnit(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$MoneyBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setCurrency(Ljava/lang/String;)Landroid/text/style/TtsSpan$MoneyBuilder;" />
+		<method name="setFractionalPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$MoneyBuilder;" />
+		<method name="setIntegerPart(J)Landroid/text/style/TtsSpan$MoneyBuilder;" />
+		<method name="setIntegerPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$MoneyBuilder;" />
+		<method name="setQuantity(Ljava/lang/String;)Landroid/text/style/TtsSpan$MoneyBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$OrdinalBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="setNumber(J)Landroid/text/style/TtsSpan$OrdinalBuilder;" />
+		<method name="setNumber(Ljava/lang/String;)Landroid/text/style/TtsSpan$OrdinalBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$SemioticClassBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$Builder" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="setAnimacy(Ljava/lang/String;)Landroid/text/style/TtsSpan$SemioticClassBuilder;" />
+		<method name="setCase(Ljava/lang/String;)Landroid/text/style/TtsSpan$SemioticClassBuilder;" />
+		<method name="setGender(Ljava/lang/String;)Landroid/text/style/TtsSpan$SemioticClassBuilder;" />
+		<method name="setMultiplicity(Ljava/lang/String;)Landroid/text/style/TtsSpan$SemioticClassBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$TelephoneBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="setCountryCode(Ljava/lang/String;)Landroid/text/style/TtsSpan$TelephoneBuilder;" />
+		<method name="setExtension(Ljava/lang/String;)Landroid/text/style/TtsSpan$TelephoneBuilder;" />
+		<method name="setNumberParts(Ljava/lang/String;)Landroid/text/style/TtsSpan$TelephoneBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$TextBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="setText(Ljava/lang/String;)Landroid/text/style/TtsSpan$TextBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$TimeBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="setHours(I)Landroid/text/style/TtsSpan$TimeBuilder;" />
+		<method name="setMinutes(I)Landroid/text/style/TtsSpan$TimeBuilder;" />
+	</class>
+	<class name="android/text/style/TtsSpan$VerbatimBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="setVerbatim(Ljava/lang/String;)Landroid/text/style/TtsSpan$VerbatimBuilder;" />
+	</class>
+	<class name="android/text/style/TypefaceSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<method name="&lt;init&gt;(Landroid/graphics/Typeface;)V" since="28" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getFamily()Ljava/lang/String;" />
+		<method name="getTypeface()Landroid/graphics/Typeface;" since="28" />
+	</class>
+	<class name="android/text/style/URLSpan" since="1">
+		<extends name="android/text/style/ClickableSpan" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getURL()Ljava/lang/String;" />
+	</class>
+	<class name="android/text/style/UnderlineSpan" since="1">
+		<extends name="android/text/style/CharacterStyle" />
+		<implements name="android/text/ParcelableSpan" since="3" />
+		<implements name="android/text/style/UpdateAppearance" since="3" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" since="3" />
+	</class>
+	<class name="android/text/style/UpdateAppearance" since="3">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/text/style/UpdateLayout" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/UpdateAppearance" since="3" />
+	</class>
+	<class name="android/text/style/WrapTogetherSpan" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/text/style/ParagraphStyle" />
+	</class>
+	<class name="android/text/util/Linkify" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addLinks(Landroid/text/Spannable;I)Z" />
+		<method name="addLinks(Landroid/text/Spannable;ILjava/util/function/Function;)Z" since="29" />
+		<method name="addLinks(Landroid/text/Spannable;Ljava/util/regex/Pattern;Ljava/lang/String;)Z" />
+		<method name="addLinks(Landroid/text/Spannable;Ljava/util/regex/Pattern;Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)Z" />
+		<method name="addLinks(Landroid/text/Spannable;Ljava/util/regex/Pattern;Ljava/lang/String;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)Z" since="24" />
+		<method name="addLinks(Landroid/text/Spannable;Ljava/util/regex/Pattern;Ljava/lang/String;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;Ljava/util/function/Function;)Z" since="29" />
+		<method name="addLinks(Landroid/widget/TextView;I)Z" />
+		<method name="addLinks(Landroid/widget/TextView;Ljava/util/regex/Pattern;Ljava/lang/String;)V" />
+		<method name="addLinks(Landroid/widget/TextView;Ljava/util/regex/Pattern;Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)V" />
+		<method name="addLinks(Landroid/widget/TextView;Ljava/util/regex/Pattern;Ljava/lang/String;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)V" since="24" />
+		<field name="ALL" />
+		<field name="EMAIL_ADDRESSES" />
+		<field name="MAP_ADDRESSES" deprecated="28" />
+		<field name="PHONE_NUMBERS" />
+		<field name="WEB_URLS" />
+		<field name="sPhoneNumberMatchFilter" />
+		<field name="sPhoneNumberTransformFilter" />
+		<field name="sUrlMatchFilter" />
+	</class>
+	<class name="android/text/util/Linkify$MatchFilter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="acceptMatch(Ljava/lang/CharSequence;II)Z" />
+	</class>
+	<class name="android/text/util/Linkify$TransformFilter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="transformUrl(Ljava/util/regex/Matcher;Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="android/text/util/Rfc822Token" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getAddress()Ljava/lang/String;" />
+		<method name="getComment()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="quoteComment(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="quoteName(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="quoteNameIfNecessary(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="setAddress(Ljava/lang/String;)V" />
+		<method name="setComment(Ljava/lang/String;)V" />
+		<method name="setName(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/text/util/Rfc822Tokenizer" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/widget/MultiAutoCompleteTextView$Tokenizer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="tokenize(Ljava/lang/CharSequence;)[Landroid/text/util/Rfc822Token;" />
+		<method name="tokenize(Ljava/lang/CharSequence;Ljava/util/Collection;)V" since="8" />
+	</class>
+	<class name="android/transition/ArcMotion" since="21">
+		<extends name="android/transition/PathMotion" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="getMaximumAngle()F" />
+		<method name="getMinimumHorizontalAngle()F" />
+		<method name="getMinimumVerticalAngle()F" />
+		<method name="setMaximumAngle(F)V" />
+		<method name="setMinimumHorizontalAngle(F)V" />
+		<method name="setMinimumVerticalAngle(F)V" />
+	</class>
+	<class name="android/transition/AutoTransition" since="19">
+		<extends name="android/transition/TransitionSet" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21" />
+	</class>
+	<class name="android/transition/ChangeBounds" since="19">
+		<extends name="android/transition/Transition" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21" />
+		<method name="getResizeClip()Z" since="22" />
+		<method name="setReparent(Z)V" deprecated="21" />
+		<method name="setResizeClip(Z)V" />
+	</class>
+	<class name="android/transition/ChangeClipBounds" since="21">
+		<extends name="android/transition/Transition" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/transition/ChangeImageTransform" since="21">
+		<extends name="android/transition/Transition" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/transition/ChangeScroll" since="23">
+		<extends name="android/transition/Transition" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/transition/ChangeTransform" since="21">
+		<extends name="android/transition/Transition" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="getReparent()Z" />
+		<method name="getReparentWithOverlay()Z" />
+		<method name="setReparent(Z)V" />
+		<method name="setReparentWithOverlay(Z)V" />
+	</class>
+	<class name="android/transition/CircularPropagation" since="21">
+		<extends name="android/transition/VisibilityPropagation" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setPropagationSpeed(F)V" />
+	</class>
+	<class name="android/transition/Explode" since="21">
+		<extends name="android/transition/Visibility" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/transition/Fade" since="19">
+		<extends name="android/transition/Visibility" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21" />
+		<field name="IN" />
+		<field name="OUT" />
+	</class>
+	<class name="android/transition/PathMotion" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="getPath(FFFF)Landroid/graphics/Path;" />
+	</class>
+	<class name="android/transition/PatternPathMotion" since="21">
+		<extends name="android/transition/PathMotion" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Path;)V" />
+		<method name="getPatternPath()Landroid/graphics/Path;" />
+		<method name="setPatternPath(Landroid/graphics/Path;)V" />
+	</class>
+	<class name="android/transition/Scene" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup;Landroid/view/View;)V" since="21" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup;Landroid/view/ViewGroup;)V" deprecated="21" />
+		<method name="enter()V" />
+		<method name="exit()V" />
+		<method name="getCurrentScene(Landroid/view/ViewGroup;)Landroid/transition/Scene;" since="29" />
+		<method name="getSceneForLayout(Landroid/view/ViewGroup;ILandroid/content/Context;)Landroid/transition/Scene;" />
+		<method name="getSceneRoot()Landroid/view/ViewGroup;" />
+		<method name="setEnterAction(Ljava/lang/Runnable;)V" />
+		<method name="setExitAction(Ljava/lang/Runnable;)V" />
+	</class>
+	<class name="android/transition/SidePropagation" since="21">
+		<extends name="android/transition/VisibilityPropagation" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setPropagationSpeed(F)V" />
+		<method name="setSide(I)V" />
+	</class>
+	<class name="android/transition/Slide" since="21">
+		<extends name="android/transition/Visibility" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="getSlideEdge()I" />
+		<method name="setSlideEdge(I)V" />
+	</class>
+	<class name="android/transition/Transition" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21" />
+		<method name="addListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition;" />
+		<method name="addTarget(I)Landroid/transition/Transition;" />
+		<method name="addTarget(Landroid/view/View;)Landroid/transition/Transition;" />
+		<method name="addTarget(Ljava/lang/Class;)Landroid/transition/Transition;" since="21" />
+		<method name="addTarget(Ljava/lang/String;)Landroid/transition/Transition;" since="21" />
+		<method name="canRemoveViews()Z" since="21" />
+		<method name="captureEndValues(Landroid/transition/TransitionValues;)V" />
+		<method name="captureStartValues(Landroid/transition/TransitionValues;)V" />
+		<method name="clone()Landroid/transition/Transition;" />
+		<method name="createAnimator(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;" />
+		<method name="excludeChildren(IZ)Landroid/transition/Transition;" />
+		<method name="excludeChildren(Landroid/view/View;Z)Landroid/transition/Transition;" />
+		<method name="excludeChildren(Ljava/lang/Class;Z)Landroid/transition/Transition;" />
+		<method name="excludeTarget(IZ)Landroid/transition/Transition;" />
+		<method name="excludeTarget(Landroid/view/View;Z)Landroid/transition/Transition;" />
+		<method name="excludeTarget(Ljava/lang/Class;Z)Landroid/transition/Transition;" />
+		<method name="excludeTarget(Ljava/lang/String;Z)Landroid/transition/Transition;" since="21" />
+		<method name="getDuration()J" />
+		<method name="getEpicenter()Landroid/graphics/Rect;" since="21" />
+		<method name="getEpicenterCallback()Landroid/transition/Transition$EpicenterCallback;" since="21" />
+		<method name="getInterpolator()Landroid/animation/TimeInterpolator;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPathMotion()Landroid/transition/PathMotion;" since="21" />
+		<method name="getPropagation()Landroid/transition/TransitionPropagation;" since="21" />
+		<method name="getStartDelay()J" />
+		<method name="getTargetIds()Ljava/util/List;" />
+		<method name="getTargetNames()Ljava/util/List;" since="21" />
+		<method name="getTargetTypes()Ljava/util/List;" since="21" />
+		<method name="getTargets()Ljava/util/List;" />
+		<method name="getTransitionProperties()[Ljava/lang/String;" />
+		<method name="getTransitionValues(Landroid/view/View;Z)Landroid/transition/TransitionValues;" />
+		<method name="isTransitionRequired(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Z" since="23" />
+		<method name="removeListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition;" />
+		<method name="removeTarget(I)Landroid/transition/Transition;" />
+		<method name="removeTarget(Landroid/view/View;)Landroid/transition/Transition;" />
+		<method name="removeTarget(Ljava/lang/Class;)Landroid/transition/Transition;" since="21" />
+		<method name="removeTarget(Ljava/lang/String;)Landroid/transition/Transition;" since="21" />
+		<method name="setDuration(J)Landroid/transition/Transition;" />
+		<method name="setEpicenterCallback(Landroid/transition/Transition$EpicenterCallback;)V" since="21" />
+		<method name="setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/Transition;" />
+		<method name="setMatchOrder([I)V" since="21" />
+		<method name="setPathMotion(Landroid/transition/PathMotion;)V" since="21" />
+		<method name="setPropagation(Landroid/transition/TransitionPropagation;)V" since="21" />
+		<method name="setStartDelay(J)Landroid/transition/Transition;" />
+		<field name="MATCH_ID" since="21" />
+		<field name="MATCH_INSTANCE" since="21" />
+		<field name="MATCH_ITEM_ID" since="21" />
+		<field name="MATCH_NAME" since="21" />
+	</class>
+	<class name="android/transition/Transition$EpicenterCallback" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onGetEpicenter(Landroid/transition/Transition;)Landroid/graphics/Rect;" />
+	</class>
+	<class name="android/transition/Transition$TransitionListener" since="19">
+		<extends name="java/lang/Object" />
+		<method name="onTransitionCancel(Landroid/transition/Transition;)V" />
+		<method name="onTransitionEnd(Landroid/transition/Transition;)V" />
+		<method name="onTransitionPause(Landroid/transition/Transition;)V" />
+		<method name="onTransitionResume(Landroid/transition/Transition;)V" />
+		<method name="onTransitionStart(Landroid/transition/Transition;)V" />
+	</class>
+	<class name="android/transition/TransitionInflater" since="19">
+		<extends name="java/lang/Object" />
+		<method name="from(Landroid/content/Context;)Landroid/transition/TransitionInflater;" />
+		<method name="inflateTransition(I)Landroid/transition/Transition;" />
+		<method name="inflateTransitionManager(ILandroid/view/ViewGroup;)Landroid/transition/TransitionManager;" />
+	</class>
+	<class name="android/transition/TransitionListenerAdapter" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/transition/Transition$TransitionListener" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/transition/TransitionManager" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="beginDelayedTransition(Landroid/view/ViewGroup;)V" />
+		<method name="beginDelayedTransition(Landroid/view/ViewGroup;Landroid/transition/Transition;)V" />
+		<method name="endTransitions(Landroid/view/ViewGroup;)V" since="23" />
+		<method name="go(Landroid/transition/Scene;)V" />
+		<method name="go(Landroid/transition/Scene;Landroid/transition/Transition;)V" />
+		<method name="setTransition(Landroid/transition/Scene;Landroid/transition/Scene;Landroid/transition/Transition;)V" />
+		<method name="setTransition(Landroid/transition/Scene;Landroid/transition/Transition;)V" />
+		<method name="transitionTo(Landroid/transition/Scene;)V" />
+	</class>
+	<class name="android/transition/TransitionPropagation" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="captureValues(Landroid/transition/TransitionValues;)V" />
+		<method name="getPropagationProperties()[Ljava/lang/String;" />
+		<method name="getStartDelay(Landroid/view/ViewGroup;Landroid/transition/Transition;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)J" />
+	</class>
+	<class name="android/transition/TransitionSet" since="19">
+		<extends name="android/transition/Transition" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21" />
+		<method name="addListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/TransitionSet;" />
+		<method name="addTarget(I)Landroid/transition/TransitionSet;" />
+		<method name="addTarget(Landroid/view/View;)Landroid/transition/TransitionSet;" />
+		<method name="addTarget(Ljava/lang/Class;)Landroid/transition/TransitionSet;" since="21" />
+		<method name="addTarget(Ljava/lang/String;)Landroid/transition/TransitionSet;" since="21" />
+		<method name="addTransition(Landroid/transition/Transition;)Landroid/transition/TransitionSet;" />
+		<method name="clone()Landroid/transition/TransitionSet;" />
+		<method name="getOrdering()I" />
+		<method name="getTransitionAt(I)Landroid/transition/Transition;" since="21" />
+		<method name="getTransitionCount()I" since="21" />
+		<method name="removeListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/TransitionSet;" />
+		<method name="removeTarget(I)Landroid/transition/TransitionSet;" />
+		<method name="removeTarget(Landroid/view/View;)Landroid/transition/TransitionSet;" />
+		<method name="removeTarget(Ljava/lang/Class;)Landroid/transition/TransitionSet;" since="21" />
+		<method name="removeTarget(Ljava/lang/String;)Landroid/transition/TransitionSet;" since="21" />
+		<method name="removeTransition(Landroid/transition/Transition;)Landroid/transition/TransitionSet;" />
+		<method name="setDuration(J)Landroid/transition/TransitionSet;" />
+		<method name="setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/TransitionSet;" />
+		<method name="setOrdering(I)Landroid/transition/TransitionSet;" />
+		<method name="setStartDelay(J)Landroid/transition/TransitionSet;" />
+		<field name="ORDERING_SEQUENTIAL" />
+		<field name="ORDERING_TOGETHER" />
+	</class>
+	<class name="android/transition/TransitionValues" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/view/View;)V" since="29" />
+		<field name="values" />
+		<field name="view" />
+	</class>
+	<class name="android/transition/Visibility" since="19">
+		<extends name="android/transition/Transition" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21" />
+		<method name="getMode()I" since="21" />
+		<method name="isVisible(Landroid/transition/TransitionValues;)Z" />
+		<method name="onAppear(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;ILandroid/transition/TransitionValues;I)Landroid/animation/Animator;" />
+		<method name="onAppear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;" since="21" />
+		<method name="onDisappear(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;ILandroid/transition/TransitionValues;I)Landroid/animation/Animator;" />
+		<method name="onDisappear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;" since="21" />
+		<method name="setMode(I)V" since="21" />
+		<field name="MODE_IN" since="21" />
+		<field name="MODE_OUT" since="21" />
+	</class>
+	<class name="android/transition/VisibilityPropagation" since="21">
+		<extends name="android/transition/TransitionPropagation" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getViewVisibility(Landroid/transition/TransitionValues;)I" />
+		<method name="getViewX(Landroid/transition/TransitionValues;)I" />
+		<method name="getViewY(Landroid/transition/TransitionValues;)I" />
+	</class>
+	<class name="android/util/AndroidException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="11" />
+	</class>
+	<class name="android/util/AndroidRuntimeException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="11" />
+	</class>
+	<class name="android/util/ArrayMap" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Map" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/util/ArrayMap;)V" />
+		<method name="containsAll(Ljava/util/Collection;)Z" />
+		<method name="ensureCapacity(I)V" />
+		<method name="indexOfKey(Ljava/lang/Object;)I" since="21" />
+		<method name="indexOfValue(Ljava/lang/Object;)I" since="29" />
+		<method name="keyAt(I)Ljava/lang/Object;" />
+		<method name="putAll(Landroid/util/ArrayMap;)V" />
+		<method name="removeAll(Ljava/util/Collection;)Z" />
+		<method name="removeAt(I)Ljava/lang/Object;" />
+		<method name="retainAll(Ljava/util/Collection;)Z" />
+		<method name="setValueAt(ILjava/lang/Object;)Ljava/lang/Object;" />
+		<method name="valueAt(I)Ljava/lang/Object;" />
+	</class>
+	<class name="android/util/ArraySet" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Collection" />
+		<implements name="java/util/Set" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Landroid/util/ArraySet;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" since="29" />
+		<method name="&lt;init&gt;([Ljava/lang/Object;)V" since="30" />
+		<method name="addAll(Landroid/util/ArraySet;)V" />
+		<method name="ensureCapacity(I)V" />
+		<method name="indexOf(Ljava/lang/Object;)I" />
+		<method name="removeAll(Landroid/util/ArraySet;)Z" />
+		<method name="removeAt(I)Ljava/lang/Object;" />
+		<method name="valueAt(I)Ljava/lang/Object;" />
+	</class>
+	<class name="android/util/AtomicFile" since="17">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="delete()V" />
+		<method name="failWrite(Ljava/io/FileOutputStream;)V" />
+		<method name="finishWrite(Ljava/io/FileOutputStream;)V" />
+		<method name="getBaseFile()Ljava/io/File;" />
+		<method name="getLastModifiedTime()J" since="31" />
+		<method name="openRead()Ljava/io/FileInputStream;" />
+		<method name="readFully()[B" />
+		<method name="startWrite()Ljava/io/FileOutputStream;" />
+	</class>
+	<class name="android/util/AttributeSet" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getAttributeBooleanValue(IZ)Z" />
+		<method name="getAttributeBooleanValue(Ljava/lang/String;Ljava/lang/String;Z)Z" />
+		<method name="getAttributeCount()I" />
+		<method name="getAttributeFloatValue(IF)F" />
+		<method name="getAttributeFloatValue(Ljava/lang/String;Ljava/lang/String;F)F" />
+		<method name="getAttributeIntValue(II)I" />
+		<method name="getAttributeIntValue(Ljava/lang/String;Ljava/lang/String;I)I" />
+		<method name="getAttributeListValue(I[Ljava/lang/String;I)I" />
+		<method name="getAttributeListValue(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;I)I" />
+		<method name="getAttributeName(I)Ljava/lang/String;" />
+		<method name="getAttributeNameResource(I)I" />
+		<method name="getAttributeNamespace(I)Ljava/lang/String;" since="28" />
+		<method name="getAttributeResourceValue(II)I" />
+		<method name="getAttributeResourceValue(Ljava/lang/String;Ljava/lang/String;I)I" />
+		<method name="getAttributeUnsignedIntValue(II)I" />
+		<method name="getAttributeUnsignedIntValue(Ljava/lang/String;Ljava/lang/String;I)I" />
+		<method name="getAttributeValue(I)Ljava/lang/String;" />
+		<method name="getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getClassAttribute()Ljava/lang/String;" />
+		<method name="getIdAttribute()Ljava/lang/String;" />
+		<method name="getIdAttributeResourceValue(I)I" />
+		<method name="getPositionDescription()Ljava/lang/String;" />
+		<method name="getStyleAttribute()I" />
+	</class>
+	<class name="android/util/Base64" since="8">
+		<extends name="java/lang/Object" />
+		<method name="decode(Ljava/lang/String;I)[B" />
+		<method name="decode([BI)[B" />
+		<method name="decode([BIII)[B" />
+		<method name="encode([BI)[B" />
+		<method name="encode([BIII)[B" />
+		<method name="encodeToString([BI)Ljava/lang/String;" />
+		<method name="encodeToString([BIII)Ljava/lang/String;" />
+		<field name="CRLF" />
+		<field name="DEFAULT" />
+		<field name="NO_CLOSE" />
+		<field name="NO_PADDING" />
+		<field name="NO_WRAP" />
+		<field name="URL_SAFE" />
+	</class>
+	<class name="android/util/Base64DataException" since="11">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/util/Base64InputStream" since="8">
+		<extends name="java/io/FilterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;I)V" />
+	</class>
+	<class name="android/util/Base64OutputStream" since="8">
+		<extends name="java/io/FilterOutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;I)V" />
+	</class>
+	<class name="android/util/CloseGuard" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="close()V" />
+		<method name="open(Ljava/lang/String;)V" />
+		<method name="warnIfOpen()V" />
+	</class>
+	<class name="android/util/Config" since="1" deprecated="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="12" />
+		<field name="DEBUG" deprecated="15" />
+		<field name="LOGD" deprecated="15" />
+		<field name="LOGV" deprecated="15" />
+		<field name="PROFILE" deprecated="15" />
+		<field name="RELEASE" deprecated="15" />
+	</class>
+	<class name="android/util/DebugUtils" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="12" />
+		<method name="isObjectSelected(Ljava/lang/Object;)Z" />
+	</class>
+	<class name="android/util/DisplayMetrics" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="equals(Landroid/util/DisplayMetrics;)Z" since="17" />
+		<method name="setTo(Landroid/util/DisplayMetrics;)V" />
+		<method name="setToDefaults()V" />
+		<field name="DENSITY_140" since="29" />
+		<field name="DENSITY_180" since="29" />
+		<field name="DENSITY_200" since="29" />
+		<field name="DENSITY_220" since="29" />
+		<field name="DENSITY_260" since="25" />
+		<field name="DENSITY_280" since="22" />
+		<field name="DENSITY_300" since="25" />
+		<field name="DENSITY_340" since="25" />
+		<field name="DENSITY_360" since="23" />
+		<field name="DENSITY_400" since="19" />
+		<field name="DENSITY_420" since="23" />
+		<field name="DENSITY_440" since="28" />
+		<field name="DENSITY_450" since="29" />
+		<field name="DENSITY_560" since="21" />
+		<field name="DENSITY_600" since="29" />
+		<field name="DENSITY_DEFAULT" since="4" />
+		<field name="DENSITY_DEVICE_STABLE" since="24" />
+		<field name="DENSITY_HIGH" since="4" />
+		<field name="DENSITY_LOW" since="4" />
+		<field name="DENSITY_MEDIUM" since="4" />
+		<field name="DENSITY_TV" since="13" />
+		<field name="DENSITY_XHIGH" since="9" />
+		<field name="DENSITY_XXHIGH" since="16" />
+		<field name="DENSITY_XXXHIGH" since="18" />
+		<field name="density" />
+		<field name="densityDpi" since="4" />
+		<field name="heightPixels" />
+		<field name="scaledDensity" />
+		<field name="widthPixels" />
+		<field name="xdpi" />
+		<field name="ydpi" />
+	</class>
+	<class name="android/util/EventLog" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="12" />
+		<method name="getTagCode(Ljava/lang/String;)I" />
+		<method name="getTagName(I)Ljava/lang/String;" />
+		<method name="readEvents([ILjava/util/Collection;)V" />
+		<method name="writeEvent(IF)I" since="23" />
+		<method name="writeEvent(II)I" />
+		<method name="writeEvent(IJ)I" />
+		<method name="writeEvent(ILjava/lang/String;)I" />
+		<method name="writeEvent(I[Ljava/lang/Object;)I" />
+	</class>
+	<class name="android/util/EventLog$Event" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getData()Ljava/lang/Object;" />
+		<method name="getProcessId()I" />
+		<method name="getTag()I" />
+		<method name="getThreadId()I" />
+		<method name="getTimeNanos()J" />
+	</class>
+	<class name="android/util/EventLogTags" since="1" deprecated="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/io/BufferedReader;)V" deprecated="29" />
+		<method name="get(I)Landroid/util/EventLogTags$Description;" deprecated="29" />
+		<method name="get(Ljava/lang/String;)Landroid/util/EventLogTags$Description;" deprecated="29" />
+	</class>
+	<class name="android/util/EventLogTags$Description" since="1" deprecated="29">
+		<extends name="java/lang/Object" />
+		<field name="mName" deprecated="29" />
+		<field name="mTag" deprecated="29" />
+	</class>
+	<class name="android/util/FloatMath" since="1" deprecated="22">
+		<extends name="java/lang/Object" />
+		<method name="ceil(F)F" removed="23" />
+		<method name="cos(F)F" removed="23" />
+		<method name="exp(F)F" since="17" removed="23" />
+		<method name="floor(F)F" removed="23" />
+		<method name="hypot(FF)F" since="17" removed="23" />
+		<method name="pow(FF)F" since="17" removed="23" />
+		<method name="sin(F)F" removed="23" />
+		<method name="sqrt(F)F" removed="23" />
+	</class>
+	<class name="android/util/FloatProperty" since="24">
+		<extends name="android/util/Property" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="set(Ljava/lang/Object;Ljava/lang/Float;)V" />
+		<method name="setValue(Ljava/lang/Object;F)V" />
+	</class>
+	<class name="android/util/Half" since="26">
+		<extends name="java/lang/Number" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(D)V" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(S)V" />
+		<method name="abs(S)S" />
+		<method name="ceil(S)S" />
+		<method name="compare(SS)I" />
+		<method name="compareTo(Landroid/util/Half;)I" />
+		<method name="copySign(SS)S" />
+		<method name="equals(SS)Z" />
+		<method name="floor(S)S" />
+		<method name="getExponent(S)I" />
+		<method name="getSign(S)I" />
+		<method name="getSignificand(S)I" />
+		<method name="greater(SS)Z" />
+		<method name="greaterEquals(SS)Z" />
+		<method name="halfToIntBits(S)I" />
+		<method name="halfToRawIntBits(S)I" />
+		<method name="halfToShortBits(S)S" />
+		<method name="halfValue()S" />
+		<method name="hashCode(S)I" />
+		<method name="intBitsToHalf(I)S" />
+		<method name="isInfinite(S)Z" />
+		<method name="isNaN()Z" />
+		<method name="isNaN(S)Z" />
+		<method name="isNormalized(S)Z" />
+		<method name="less(SS)Z" />
+		<method name="lessEquals(SS)Z" />
+		<method name="max(SS)S" />
+		<method name="min(SS)S" />
+		<method name="parseHalf(Ljava/lang/String;)S" />
+		<method name="round(S)S" />
+		<method name="toFloat(S)F" />
+		<method name="toHalf(F)S" />
+		<method name="toHexString(S)Ljava/lang/String;" />
+		<method name="toString(S)Ljava/lang/String;" />
+		<method name="trunc(S)S" />
+		<method name="valueOf(F)Landroid/util/Half;" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/util/Half;" />
+		<method name="valueOf(S)Landroid/util/Half;" />
+		<field name="EPSILON" />
+		<field name="LOWEST_VALUE" />
+		<field name="MAX_EXPONENT" />
+		<field name="MAX_VALUE" />
+		<field name="MIN_EXPONENT" />
+		<field name="MIN_NORMAL" />
+		<field name="MIN_VALUE" />
+		<field name="NEGATIVE_INFINITY" />
+		<field name="NEGATIVE_ZERO" />
+		<field name="NaN" />
+		<field name="POSITIVE_INFINITY" />
+		<field name="POSITIVE_ZERO" />
+		<field name="SIZE" />
+	</class>
+	<class name="android/util/IntProperty" since="24">
+		<extends name="android/util/Property" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="set(Ljava/lang/Object;Ljava/lang/Integer;)V" />
+		<method name="setValue(Ljava/lang/Object;I)V" />
+	</class>
+	<class name="android/util/JsonReader" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;)V" />
+		<method name="beginArray()V" />
+		<method name="beginObject()V" />
+		<method name="endArray()V" />
+		<method name="endObject()V" />
+		<method name="hasNext()Z" />
+		<method name="isLenient()Z" />
+		<method name="nextBoolean()Z" />
+		<method name="nextDouble()D" />
+		<method name="nextInt()I" />
+		<method name="nextLong()J" />
+		<method name="nextName()Ljava/lang/String;" />
+		<method name="nextNull()V" />
+		<method name="nextString()Ljava/lang/String;" />
+		<method name="peek()Landroid/util/JsonToken;" />
+		<method name="setLenient(Z)V" />
+		<method name="skipValue()V" />
+	</class>
+	<class name="android/util/JsonToken" since="11">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/util/JsonToken;" />
+		<method name="values()[Landroid/util/JsonToken;" />
+		<field name="BEGIN_ARRAY" />
+		<field name="BEGIN_OBJECT" />
+		<field name="BOOLEAN" />
+		<field name="END_ARRAY" />
+		<field name="END_DOCUMENT" />
+		<field name="END_OBJECT" />
+		<field name="NAME" />
+		<field name="NULL" />
+		<field name="NUMBER" />
+		<field name="STRING" />
+	</class>
+	<class name="android/util/JsonWriter" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="&lt;init&gt;(Ljava/io/Writer;)V" />
+		<method name="beginArray()Landroid/util/JsonWriter;" />
+		<method name="beginObject()Landroid/util/JsonWriter;" />
+		<method name="endArray()Landroid/util/JsonWriter;" />
+		<method name="endObject()Landroid/util/JsonWriter;" />
+		<method name="flush()V" />
+		<method name="isLenient()Z" />
+		<method name="name(Ljava/lang/String;)Landroid/util/JsonWriter;" />
+		<method name="nullValue()Landroid/util/JsonWriter;" />
+		<method name="setIndent(Ljava/lang/String;)V" />
+		<method name="setLenient(Z)V" />
+		<method name="value(D)Landroid/util/JsonWriter;" />
+		<method name="value(J)Landroid/util/JsonWriter;" />
+		<method name="value(Ljava/lang/Number;)Landroid/util/JsonWriter;" />
+		<method name="value(Ljava/lang/String;)Landroid/util/JsonWriter;" />
+		<method name="value(Z)Landroid/util/JsonWriter;" />
+	</class>
+	<class name="android/util/LayoutDirection" since="19">
+		<extends name="java/lang/Object" />
+		<field name="INHERIT" />
+		<field name="LOCALE" />
+		<field name="LTR" />
+		<field name="RTL" />
+	</class>
+	<class name="android/util/Log" since="1">
+		<extends name="java/lang/Object" />
+		<method name="d(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I" />
+		<method name="e(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I" />
+		<method name="getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;" />
+		<method name="i(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I" />
+		<method name="isLoggable(Ljava/lang/String;I)Z" />
+		<method name="println(ILjava/lang/String;Ljava/lang/String;)I" />
+		<method name="v(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="v(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I" />
+		<method name="w(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I" />
+		<method name="w(Ljava/lang/String;Ljava/lang/Throwable;)I" />
+		<method name="wtf(Ljava/lang/String;Ljava/lang/String;)I" since="8" />
+		<method name="wtf(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I" since="8" />
+		<method name="wtf(Ljava/lang/String;Ljava/lang/Throwable;)I" since="8" />
+		<field name="ASSERT" />
+		<field name="DEBUG" />
+		<field name="ERROR" />
+		<field name="INFO" />
+		<field name="VERBOSE" />
+		<field name="WARN" />
+	</class>
+	<class name="android/util/LogPrinter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/util/Printer" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" />
+	</class>
+	<class name="android/util/LongSparseArray" since="16">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="append(JLjava/lang/Object;)V" />
+		<method name="clear()V" />
+		<method name="clone()Landroid/util/LongSparseArray;" />
+		<method name="delete(J)V" />
+		<method name="get(J)Ljava/lang/Object;" />
+		<method name="get(JLjava/lang/Object;)Ljava/lang/Object;" />
+		<method name="indexOfKey(J)I" />
+		<method name="indexOfValue(Ljava/lang/Object;)I" />
+		<method name="keyAt(I)J" />
+		<method name="put(JLjava/lang/Object;)V" />
+		<method name="remove(J)V" />
+		<method name="removeAt(I)V" />
+		<method name="setValueAt(ILjava/lang/Object;)V" />
+		<method name="size()I" />
+		<method name="valueAt(I)Ljava/lang/Object;" />
+	</class>
+	<class name="android/util/LruCache" since="12">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="create(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="createCount()I" />
+		<method name="entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="evictAll()V" />
+		<method name="evictionCount()I" />
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="hitCount()I" />
+		<method name="maxSize()I" />
+		<method name="missCount()I" />
+		<method name="put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="putCount()I" />
+		<method name="remove(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="resize(I)V" since="21" />
+		<method name="size()I" />
+		<method name="sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I" />
+		<method name="snapshot()Ljava/util/Map;" />
+		<method name="trimToSize(I)V" since="17" />
+	</class>
+	<class name="android/util/MalformedJsonException" since="11">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/util/MonthDisplayHelper" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="getColumnOf(I)I" />
+		<method name="getDayAt(II)I" />
+		<method name="getDigitsForRow(I)[I" />
+		<method name="getFirstDayOfMonth()I" />
+		<method name="getMonth()I" />
+		<method name="getNumberOfDaysInMonth()I" />
+		<method name="getOffset()I" />
+		<method name="getRowOf(I)I" />
+		<method name="getWeekStartDay()I" />
+		<method name="getYear()I" />
+		<method name="isWithinCurrentMonth(II)Z" />
+		<method name="nextMonth()V" />
+		<method name="previousMonth()V" />
+	</class>
+	<class name="android/util/MutableBoolean" since="21" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Z)V" deprecated="29" />
+		<field name="value" deprecated="29" />
+	</class>
+	<class name="android/util/MutableByte" since="21" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(B)V" deprecated="29" />
+		<field name="value" deprecated="29" />
+	</class>
+	<class name="android/util/MutableChar" since="21" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(C)V" deprecated="29" />
+		<field name="value" deprecated="29" />
+	</class>
+	<class name="android/util/MutableDouble" since="21" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(D)V" deprecated="29" />
+		<field name="value" deprecated="29" />
+	</class>
+	<class name="android/util/MutableFloat" since="21" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(F)V" deprecated="29" />
+		<field name="value" deprecated="29" />
+	</class>
+	<class name="android/util/MutableInt" since="21" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" deprecated="29" />
+		<field name="value" deprecated="29" />
+	</class>
+	<class name="android/util/MutableLong" since="21" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(J)V" deprecated="29" />
+		<field name="value" deprecated="29" />
+	</class>
+	<class name="android/util/MutableShort" since="21" deprecated="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(S)V" deprecated="29" />
+		<field name="value" deprecated="29" />
+	</class>
+	<class name="android/util/NoSuchPropertyException" since="14">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/util/Pair" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;" />
+		<field name="first" />
+		<field name="second" />
+	</class>
+	<class name="android/util/Patterns" since="8">
+		<extends name="java/lang/Object" />
+		<method name="concatGroups(Ljava/util/regex/Matcher;)Ljava/lang/String;" />
+		<method name="digitsAndPlusOnly(Ljava/util/regex/Matcher;)Ljava/lang/String;" />
+		<field name="DOMAIN_NAME" />
+		<field name="EMAIL_ADDRESS" />
+		<field name="GOOD_IRI_CHAR" deprecated="24" />
+		<field name="IP_ADDRESS" deprecated="31" />
+		<field name="PHONE" />
+		<field name="TOP_LEVEL_DOMAIN" deprecated="21" />
+		<field name="TOP_LEVEL_DOMAIN_STR" deprecated="21" />
+		<field name="TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL" deprecated="21" />
+		<field name="WEB_URL" />
+	</class>
+	<class name="android/util/PrintStreamPrinter" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/util/Printer" />
+		<method name="&lt;init&gt;(Ljava/io/PrintStream;)V" />
+	</class>
+	<class name="android/util/PrintWriterPrinter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/util/Printer" />
+		<method name="&lt;init&gt;(Ljava/io/PrintWriter;)V" />
+	</class>
+	<class name="android/util/Printer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="println(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/util/Property" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;Ljava/lang/String;)V" />
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getType()Ljava/lang/Class;" />
+		<method name="isReadOnly()Z" />
+		<method name="of(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Landroid/util/Property;" />
+		<method name="set(Ljava/lang/Object;Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/util/Range" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/Comparable;Ljava/lang/Comparable;)V" />
+		<method name="clamp(Ljava/lang/Comparable;)Ljava/lang/Comparable;" />
+		<method name="contains(Landroid/util/Range;)Z" />
+		<method name="contains(Ljava/lang/Comparable;)Z" />
+		<method name="create(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;" />
+		<method name="extend(Landroid/util/Range;)Landroid/util/Range;" />
+		<method name="extend(Ljava/lang/Comparable;)Landroid/util/Range;" />
+		<method name="extend(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;" />
+		<method name="getLower()Ljava/lang/Comparable;" />
+		<method name="getUpper()Ljava/lang/Comparable;" />
+		<method name="intersect(Landroid/util/Range;)Landroid/util/Range;" />
+		<method name="intersect(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;" />
+	</class>
+	<class name="android/util/Rational" since="21">
+		<extends name="java/lang/Number" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="compareTo(Landroid/util/Rational;)I" />
+		<method name="getDenominator()I" />
+		<method name="getNumerator()I" />
+		<method name="isFinite()Z" />
+		<method name="isInfinite()Z" />
+		<method name="isNaN()Z" />
+		<method name="isZero()Z" />
+		<method name="parseRational(Ljava/lang/String;)Landroid/util/Rational;" />
+		<field name="NEGATIVE_INFINITY" />
+		<field name="NaN" />
+		<field name="POSITIVE_INFINITY" />
+		<field name="ZERO" />
+	</class>
+	<class name="android/util/Size" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getHeight()I" />
+		<method name="getWidth()I" />
+		<method name="parseSize(Ljava/lang/String;)Landroid/util/Size;" />
+	</class>
+	<class name="android/util/SizeF" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="31" />
+		<method name="&lt;init&gt;(FF)V" />
+		<method name="getHeight()F" />
+		<method name="getWidth()F" />
+		<method name="parseSizeF(Ljava/lang/String;)Landroid/util/SizeF;" />
+		<field name="CREATOR" since="31" />
+	</class>
+	<class name="android/util/SparseArray" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" since="14" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="append(ILjava/lang/Object;)V" />
+		<method name="clear()V" />
+		<method name="clone()Landroid/util/SparseArray;" since="14" />
+		<method name="contains(I)Z" since="30" />
+		<method name="contentEquals(Landroid/util/SparseArray;)Z" since="31" />
+		<method name="contentHashCode()I" since="31" />
+		<method name="delete(I)V" />
+		<method name="get(I)Ljava/lang/Object;" />
+		<method name="get(ILjava/lang/Object;)Ljava/lang/Object;" />
+		<method name="indexOfKey(I)I" />
+		<method name="indexOfValue(Ljava/lang/Object;)I" />
+		<method name="keyAt(I)I" />
+		<method name="put(ILjava/lang/Object;)V" />
+		<method name="remove(I)V" />
+		<method name="removeAt(I)V" since="11" />
+		<method name="removeAtRange(II)V" since="19" />
+		<method name="set(ILjava/lang/Object;)V" since="31" />
+		<method name="setValueAt(ILjava/lang/Object;)V" />
+		<method name="size()I" />
+		<method name="valueAt(I)Ljava/lang/Object;" />
+	</class>
+	<class name="android/util/SparseBooleanArray" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" since="14" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="append(IZ)V" />
+		<method name="clear()V" />
+		<method name="clone()Landroid/util/SparseBooleanArray;" since="14" />
+		<method name="delete(I)V" />
+		<method name="get(I)Z" />
+		<method name="get(IZ)Z" />
+		<method name="indexOfKey(I)I" />
+		<method name="indexOfValue(Z)I" />
+		<method name="keyAt(I)I" />
+		<method name="put(IZ)V" />
+		<method name="removeAt(I)V" since="28" />
+		<method name="setValueAt(IZ)V" since="29" />
+		<method name="size()I" />
+		<method name="valueAt(I)Z" />
+	</class>
+	<class name="android/util/SparseIntArray" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" since="14" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="append(II)V" />
+		<method name="clear()V" />
+		<method name="clone()Landroid/util/SparseIntArray;" since="14" />
+		<method name="delete(I)V" />
+		<method name="get(I)I" />
+		<method name="get(II)I" />
+		<method name="indexOfKey(I)I" />
+		<method name="indexOfValue(I)I" />
+		<method name="keyAt(I)I" />
+		<method name="put(II)V" />
+		<method name="removeAt(I)V" since="3" />
+		<method name="setValueAt(II)V" since="29" />
+		<method name="size()I" />
+		<method name="valueAt(I)I" />
+	</class>
+	<class name="android/util/SparseLongArray" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="append(IJ)V" />
+		<method name="clear()V" />
+		<method name="clone()Landroid/util/SparseLongArray;" />
+		<method name="delete(I)V" />
+		<method name="get(I)J" />
+		<method name="get(IJ)J" />
+		<method name="indexOfKey(I)I" />
+		<method name="indexOfValue(J)I" />
+		<method name="keyAt(I)I" />
+		<method name="put(IJ)V" />
+		<method name="removeAt(I)V" />
+		<method name="size()I" />
+		<method name="valueAt(I)J" />
+	</class>
+	<class name="android/util/StateSet" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="12" />
+		<method name="dump([I)Ljava/lang/String;" />
+		<method name="isWildCard([I)Z" />
+		<method name="stateSetMatches([II)Z" />
+		<method name="stateSetMatches([I[I)Z" />
+		<method name="trimStateSet([II)[I" />
+		<field name="NOTHING" since="11" />
+		<field name="WILD_CARD" />
+	</class>
+	<class name="android/util/StringBuilderPrinter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/util/Printer" />
+		<method name="&lt;init&gt;(Ljava/lang/StringBuilder;)V" />
+	</class>
+	<class name="android/util/TimeFormatException" since="1">
+		<extends name="java/lang/RuntimeException" />
+	</class>
+	<class name="android/util/TimeUtils" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="12" />
+		<method name="getTimeZone(IZJLjava/lang/String;)Ljava/util/TimeZone;" />
+		<method name="getTimeZoneDatabaseVersion()Ljava/lang/String;" since="3" />
+		<method name="getTimeZoneIdsForCountryCode(Ljava/lang/String;)Ljava/util/List;" since="29" />
+		<method name="isTimeBetween(Ljava/time/LocalTime;Ljava/time/LocalTime;Ljava/time/LocalTime;)Z" since="30" />
+	</class>
+	<class name="android/util/TimingLogger" since="1" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" deprecated="30" />
+		<method name="addSplit(Ljava/lang/String;)V" deprecated="30" />
+		<method name="dumpToLog()V" deprecated="30" />
+		<method name="reset()V" deprecated="30" />
+		<method name="reset(Ljava/lang/String;Ljava/lang/String;)V" deprecated="30" />
+	</class>
+	<class name="android/util/TypedValue" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="applyDimension(IFLandroid/util/DisplayMetrics;)F" />
+		<method name="coerceToString()Ljava/lang/CharSequence;" />
+		<method name="coerceToString(II)Ljava/lang/String;" />
+		<method name="complexToDimension(ILandroid/util/DisplayMetrics;)F" />
+		<method name="complexToDimensionNoisy(ILandroid/util/DisplayMetrics;)F" removed="20" />
+		<method name="complexToDimensionPixelOffset(ILandroid/util/DisplayMetrics;)I" />
+		<method name="complexToDimensionPixelSize(ILandroid/util/DisplayMetrics;)I" />
+		<method name="complexToFloat(I)F" />
+		<method name="complexToFraction(IFF)F" />
+		<method name="getComplexUnit()I" since="22" />
+		<method name="getDimension(Landroid/util/DisplayMetrics;)F" />
+		<method name="getFloat()F" />
+		<method name="getFraction(FF)F" />
+		<method name="isColorType()Z" since="29" />
+		<method name="setTo(Landroid/util/TypedValue;)V" />
+		<field name="COMPLEX_MANTISSA_MASK" />
+		<field name="COMPLEX_MANTISSA_SHIFT" />
+		<field name="COMPLEX_RADIX_0p23" />
+		<field name="COMPLEX_RADIX_16p7" />
+		<field name="COMPLEX_RADIX_23p0" />
+		<field name="COMPLEX_RADIX_8p15" />
+		<field name="COMPLEX_RADIX_MASK" />
+		<field name="COMPLEX_RADIX_SHIFT" />
+		<field name="COMPLEX_UNIT_DIP" />
+		<field name="COMPLEX_UNIT_FRACTION" />
+		<field name="COMPLEX_UNIT_FRACTION_PARENT" />
+		<field name="COMPLEX_UNIT_IN" />
+		<field name="COMPLEX_UNIT_MASK" />
+		<field name="COMPLEX_UNIT_MM" />
+		<field name="COMPLEX_UNIT_PT" />
+		<field name="COMPLEX_UNIT_PX" />
+		<field name="COMPLEX_UNIT_SHIFT" />
+		<field name="COMPLEX_UNIT_SP" />
+		<field name="DATA_NULL_EMPTY" since="22" />
+		<field name="DATA_NULL_UNDEFINED" since="22" />
+		<field name="DENSITY_DEFAULT" since="4" />
+		<field name="DENSITY_NONE" since="4" />
+		<field name="TYPE_ATTRIBUTE" />
+		<field name="TYPE_DIMENSION" />
+		<field name="TYPE_FIRST_COLOR_INT" />
+		<field name="TYPE_FIRST_INT" />
+		<field name="TYPE_FLOAT" />
+		<field name="TYPE_FRACTION" />
+		<field name="TYPE_INT_BOOLEAN" />
+		<field name="TYPE_INT_COLOR_ARGB4" />
+		<field name="TYPE_INT_COLOR_ARGB8" />
+		<field name="TYPE_INT_COLOR_RGB4" />
+		<field name="TYPE_INT_COLOR_RGB8" />
+		<field name="TYPE_INT_DEC" />
+		<field name="TYPE_INT_HEX" />
+		<field name="TYPE_LAST_COLOR_INT" />
+		<field name="TYPE_LAST_INT" />
+		<field name="TYPE_NULL" />
+		<field name="TYPE_REFERENCE" />
+		<field name="TYPE_STRING" />
+		<field name="assetCookie" />
+		<field name="changingConfigurations" />
+		<field name="data" />
+		<field name="density" since="4" />
+		<field name="resourceId" />
+		<field name="sourceResourceId" since="29" />
+		<field name="string" />
+		<field name="type" />
+	</class>
+	<class name="android/util/Xml" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="12" />
+		<method name="asAttributeSet(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/AttributeSet;" />
+		<method name="findEncodingByName(Ljava/lang/String;)Landroid/util/Xml$Encoding;" />
+		<method name="newPullParser()Lorg/xmlpull/v1/XmlPullParser;" />
+		<method name="newSerializer()Lorg/xmlpull/v1/XmlSerializer;" />
+		<method name="parse(Ljava/io/InputStream;Landroid/util/Xml$Encoding;Lorg/xml/sax/ContentHandler;)V" />
+		<method name="parse(Ljava/io/Reader;Lorg/xml/sax/ContentHandler;)V" />
+		<method name="parse(Ljava/lang/String;Lorg/xml/sax/ContentHandler;)V" />
+		<field name="FEATURE_RELAXED" />
+	</class>
+	<class name="android/util/Xml$Encoding" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/util/Xml$Encoding;" />
+		<method name="values()[Landroid/util/Xml$Encoding;" />
+		<field name="ISO_8859_1" />
+		<field name="US_ASCII" />
+		<field name="UTF_16" />
+		<field name="UTF_8" />
+	</class>
+	<class name="android/util/proto/ProtoOutputStream" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="checkFieldId(JJ)I" />
+		<method name="dump(Ljava/lang/String;)V" />
+		<method name="end(J)V" />
+		<method name="flush()V" />
+		<method name="getBytes()[B" />
+		<method name="getFieldCountString(J)Ljava/lang/String;" />
+		<method name="getFieldIdString(J)Ljava/lang/String;" />
+		<method name="getFieldTypeString(J)Ljava/lang/String;" />
+		<method name="getRawSize()I" />
+		<method name="getWireTypeString(I)Ljava/lang/String;" />
+		<method name="makeFieldId(IJ)J" />
+		<method name="makeToken(IZIII)J" />
+		<method name="start(J)J" />
+		<method name="token2String(J)Ljava/lang/String;" />
+		<method name="write(JD)V" />
+		<method name="write(JF)V" />
+		<method name="write(JI)V" />
+		<method name="write(JJ)V" />
+		<method name="write(JLjava/lang/String;)V" />
+		<method name="write(JZ)V" />
+		<method name="write(J[B)V" />
+		<method name="writeTag(II)V" />
+		<field name="FIELD_COUNT_MASK" />
+		<field name="FIELD_COUNT_PACKED" />
+		<field name="FIELD_COUNT_REPEATED" />
+		<field name="FIELD_COUNT_SHIFT" />
+		<field name="FIELD_COUNT_SINGLE" />
+		<field name="FIELD_COUNT_UNKNOWN" />
+		<field name="FIELD_ID_SHIFT" />
+		<field name="FIELD_TYPE_BOOL" />
+		<field name="FIELD_TYPE_BYTES" />
+		<field name="FIELD_TYPE_DOUBLE" />
+		<field name="FIELD_TYPE_ENUM" />
+		<field name="FIELD_TYPE_FIXED32" />
+		<field name="FIELD_TYPE_FIXED64" />
+		<field name="FIELD_TYPE_FLOAT" />
+		<field name="FIELD_TYPE_INT32" />
+		<field name="FIELD_TYPE_INT64" />
+		<field name="FIELD_TYPE_MASK" />
+		<field name="FIELD_TYPE_MESSAGE" />
+		<field name="FIELD_TYPE_SFIXED32" />
+		<field name="FIELD_TYPE_SFIXED64" />
+		<field name="FIELD_TYPE_SHIFT" />
+		<field name="FIELD_TYPE_SINT32" />
+		<field name="FIELD_TYPE_SINT64" />
+		<field name="FIELD_TYPE_STRING" />
+		<field name="FIELD_TYPE_UINT32" />
+		<field name="FIELD_TYPE_UINT64" />
+		<field name="WIRE_TYPE_END_GROUP" />
+		<field name="WIRE_TYPE_FIXED32" />
+		<field name="WIRE_TYPE_FIXED64" />
+		<field name="WIRE_TYPE_LENGTH_DELIMITED" />
+		<field name="WIRE_TYPE_MASK" />
+		<field name="WIRE_TYPE_START_GROUP" />
+		<field name="WIRE_TYPE_VARINT" />
+	</class>
+	<class name="android/view/AbsSavedState" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V" since="24" />
+		<method name="&lt;init&gt;(Landroid/os/Parcelable;)V" />
+		<method name="getSuperState()Landroid/os/Parcelable;" />
+		<field name="CREATOR" />
+		<field name="EMPTY_STATE" />
+	</class>
+	<class name="android/view/ActionMode" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="finish()V" />
+		<method name="getCustomView()Landroid/view/View;" />
+		<method name="getMenu()Landroid/view/Menu;" />
+		<method name="getMenuInflater()Landroid/view/MenuInflater;" />
+		<method name="getSubtitle()Ljava/lang/CharSequence;" />
+		<method name="getTag()Ljava/lang/Object;" since="14" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<method name="getTitleOptionalHint()Z" since="16" />
+		<method name="getType()I" since="23" />
+		<method name="hide(J)V" since="23" />
+		<method name="invalidate()V" />
+		<method name="invalidateContentRect()V" since="23" />
+		<method name="isTitleOptional()Z" since="16" />
+		<method name="onWindowFocusChanged(Z)V" since="23" />
+		<method name="setCustomView(Landroid/view/View;)V" />
+		<method name="setSubtitle(I)V" />
+		<method name="setSubtitle(Ljava/lang/CharSequence;)V" />
+		<method name="setTag(Ljava/lang/Object;)V" since="14" />
+		<method name="setTitle(I)V" />
+		<method name="setTitle(Ljava/lang/CharSequence;)V" />
+		<method name="setTitleOptionalHint(Z)V" since="16" />
+		<method name="setType(I)V" since="23" />
+		<field name="DEFAULT_HIDE_DURATION" since="23" />
+		<field name="TYPE_FLOATING" since="23" />
+		<field name="TYPE_PRIMARY" since="23" />
+	</class>
+	<class name="android/view/ActionMode$Callback" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onActionItemClicked(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z" />
+		<method name="onCreateActionMode(Landroid/view/ActionMode;Landroid/view/Menu;)Z" />
+		<method name="onDestroyActionMode(Landroid/view/ActionMode;)V" />
+		<method name="onPrepareActionMode(Landroid/view/ActionMode;Landroid/view/Menu;)Z" />
+	</class>
+	<class name="android/view/ActionMode$Callback2" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/ActionMode$Callback" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onGetContentRect(Landroid/view/ActionMode;Landroid/view/View;Landroid/graphics/Rect;)V" />
+	</class>
+	<class name="android/view/ActionProvider" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="hasSubMenu()Z" />
+		<method name="isVisible()Z" since="16" />
+		<method name="onCreateActionView()Landroid/view/View;" deprecated="16" />
+		<method name="onCreateActionView(Landroid/view/MenuItem;)Landroid/view/View;" since="16" />
+		<method name="onPerformDefaultAction()Z" />
+		<method name="onPrepareSubMenu(Landroid/view/SubMenu;)V" />
+		<method name="overridesItemVisibility()Z" since="16" />
+		<method name="refreshVisibility()V" since="16" />
+		<method name="setVisibilityListener(Landroid/view/ActionProvider$VisibilityListener;)V" since="16" />
+	</class>
+	<class name="android/view/ActionProvider$VisibilityListener" since="16">
+		<extends name="java/lang/Object" />
+		<method name="onActionProviderVisibilityChanged(Z)V" />
+	</class>
+	<class name="android/view/AttachedSurfaceControl" since="31">
+		<extends name="java/lang/Object" />
+		<method name="addOnBufferTransformHintChangedListener(Landroid/view/AttachedSurfaceControl$OnBufferTransformHintChangedListener;)V" since="33" />
+		<method name="applyTransactionOnDraw(Landroid/view/SurfaceControl$Transaction;)Z" />
+		<method name="buildReparentTransaction(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;" />
+		<method name="getBufferTransformHint()I" since="33" />
+		<method name="removeOnBufferTransformHintChangedListener(Landroid/view/AttachedSurfaceControl$OnBufferTransformHintChangedListener;)V" since="33" />
+	</class>
+	<class name="android/view/AttachedSurfaceControl$OnBufferTransformHintChangedListener" since="33">
+		<method name="onBufferTransformHintChanged(I)V" />
+	</class>
+	<class name="android/view/Choreographer" since="16">
+		<extends name="java/lang/Object" />
+		<method name="getInstance()Landroid/view/Choreographer;" />
+		<method name="postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V" />
+		<method name="postFrameCallbackDelayed(Landroid/view/Choreographer$FrameCallback;J)V" />
+		<method name="removeFrameCallback(Landroid/view/Choreographer$FrameCallback;)V" />
+	</class>
+	<class name="android/view/Choreographer$FrameCallback" since="16">
+		<extends name="java/lang/Object" />
+		<method name="doFrame(J)V" />
+	</class>
+	<class name="android/view/CollapsibleActionView" since="14">
+		<extends name="java/lang/Object" />
+		<method name="onActionViewCollapsed()V" />
+		<method name="onActionViewExpanded()V" />
+	</class>
+	<class name="android/view/ContentInfo" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getClip()Landroid/content/ClipData;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getFlags()I" />
+		<method name="getLinkUri()Landroid/net/Uri;" />
+		<method name="getSource()I" />
+		<field name="CREATOR" />
+		<field name="FLAG_CONVERT_TO_PLAIN_TEXT" />
+		<field name="SOURCE_APP" />
+		<field name="SOURCE_AUTOFILL" />
+		<field name="SOURCE_CLIPBOARD" />
+		<field name="SOURCE_DRAG_AND_DROP" />
+		<field name="SOURCE_INPUT_METHOD" />
+		<field name="SOURCE_PROCESS_TEXT" />
+	</class>
+	<class name="android/view/ContentInfo$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/ClipData;I)V" />
+		<method name="&lt;init&gt;(Landroid/view/ContentInfo;)V" />
+		<method name="build()Landroid/view/ContentInfo;" />
+		<method name="setClip(Landroid/content/ClipData;)Landroid/view/ContentInfo$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/ContentInfo$Builder;" />
+		<method name="setFlags(I)Landroid/view/ContentInfo$Builder;" />
+		<method name="setLinkUri(Landroid/net/Uri;)Landroid/view/ContentInfo$Builder;" />
+		<method name="setSource(I)Landroid/view/ContentInfo$Builder;" />
+	</class>
+	<class name="android/view/ContextMenu" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/Menu" />
+		<method name="clearHeader()V" />
+		<method name="setHeaderIcon(I)Landroid/view/ContextMenu;" />
+		<method name="setHeaderIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/ContextMenu;" />
+		<method name="setHeaderTitle(I)Landroid/view/ContextMenu;" />
+		<method name="setHeaderTitle(Ljava/lang/CharSequence;)Landroid/view/ContextMenu;" />
+		<method name="setHeaderView(Landroid/view/View;)Landroid/view/ContextMenu;" />
+	</class>
+	<class name="android/view/ContextMenu$ContextMenuInfo" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/view/ContextThemeWrapper" since="1">
+		<extends name="android/content/ContextWrapper" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/content/res/Resources$Theme;)V" since="23" />
+		<method name="applyOverrideConfiguration(Landroid/content/res/Configuration;)V" since="17" />
+		<method name="onApplyThemeResource(Landroid/content/res/Resources$Theme;IZ)V" />
+		<method name="setTheme(Landroid/content/res/Resources$Theme;)V" since="29" />
+	</class>
+	<class name="android/view/Display" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getAppVsyncOffsetNanos()J" since="21" />
+		<method name="getCurrentSizeRange(Landroid/graphics/Point;Landroid/graphics/Point;)V" since="16" />
+		<method name="getCutout()Landroid/view/DisplayCutout;" since="29" />
+		<method name="getDeviceProductInfo()Landroid/hardware/display/DeviceProductInfo;" since="31" />
+		<method name="getDisplayId()I" />
+		<method name="getFlags()I" since="17" />
+		<method name="getHdrCapabilities()Landroid/view/Display$HdrCapabilities;" since="24" />
+		<method name="getHeight()I" deprecated="15" />
+		<method name="getMetrics(Landroid/util/DisplayMetrics;)V" deprecated="30" />
+		<method name="getMode()Landroid/view/Display$Mode;" since="23" />
+		<method name="getName()Ljava/lang/String;" since="17" />
+		<method name="getOrientation()I" deprecated="15" />
+		<method name="getPixelFormat()I" deprecated="17" />
+		<method name="getPreferredWideGamutColorSpace()Landroid/graphics/ColorSpace;" since="29" />
+		<method name="getPresentationDeadlineNanos()J" since="21" />
+		<method name="getRealMetrics(Landroid/util/DisplayMetrics;)V" since="17" deprecated="31" />
+		<method name="getRealSize(Landroid/graphics/Point;)V" since="17" deprecated="31" />
+		<method name="getRectSize(Landroid/graphics/Rect;)V" since="13" deprecated="30" />
+		<method name="getRefreshRate()F" />
+		<method name="getRotation()I" since="8" />
+		<method name="getRoundedCorner(I)Landroid/view/RoundedCorner;" since="31" />
+		<method name="getSize(Landroid/graphics/Point;)V" since="13" deprecated="30" />
+		<method name="getState()I" since="20" />
+		<method name="getSupportedModes()[Landroid/view/Display$Mode;" since="23" />
+		<method name="getSupportedRefreshRates()[F" since="21" deprecated="23" />
+		<method name="getWidth()I" deprecated="15" />
+		<method name="isHdr()Z" since="26" />
+		<method name="isMinimalPostProcessingSupported()Z" since="30" />
+		<method name="isValid()Z" since="17" />
+		<method name="isWideColorGamut()Z" since="26" />
+		<field name="DEFAULT_DISPLAY" />
+		<field name="FLAG_PRESENTATION" since="19" />
+		<field name="FLAG_PRIVATE" since="19" />
+		<field name="FLAG_ROUND" since="23" />
+		<field name="FLAG_SECURE" since="17" />
+		<field name="FLAG_SUPPORTS_PROTECTED_BUFFERS" since="17" />
+		<field name="INVALID_DISPLAY" since="23" />
+		<field name="STATE_DOZE" since="21" />
+		<field name="STATE_DOZE_SUSPEND" since="21" />
+		<field name="STATE_DOZING" since="20" removed="21" />
+		<field name="STATE_OFF" since="20" />
+		<field name="STATE_ON" since="20" />
+		<field name="STATE_ON_SUSPEND" since="28" />
+		<field name="STATE_UNKNOWN" since="20" />
+		<field name="STATE_VR" since="26" />
+	</class>
+	<class name="android/view/Display$HdrCapabilities" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDesiredMaxAverageLuminance()F" />
+		<method name="getDesiredMaxLuminance()F" />
+		<method name="getDesiredMinLuminance()F" />
+		<method name="getSupportedHdrTypes()[I" />
+		<field name="CREATOR" />
+		<field name="HDR_TYPE_DOLBY_VISION" />
+		<field name="HDR_TYPE_HDR10" />
+		<field name="HDR_TYPE_HDR10_PLUS" since="29" />
+		<field name="HDR_TYPE_HLG" />
+		<field name="INVALID_LUMINANCE" />
+	</class>
+	<class name="android/view/Display$Mode" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAlternativeRefreshRates()[F" since="31" />
+		<method name="getModeId()I" />
+		<method name="getPhysicalHeight()I" />
+		<method name="getPhysicalWidth()I" />
+		<method name="getRefreshRate()F" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/DisplayCutout" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/Insets;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V" since="29" />
+		<method name="&lt;init&gt;(Landroid/graphics/Insets;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Insets;)V" since="30" />
+		<method name="&lt;init&gt;(Landroid/graphics/Rect;Ljava/util/List;)V" deprecated="29" />
+		<method name="getBoundingRectBottom()Landroid/graphics/Rect;" since="29" />
+		<method name="getBoundingRectLeft()Landroid/graphics/Rect;" since="29" />
+		<method name="getBoundingRectRight()Landroid/graphics/Rect;" since="29" />
+		<method name="getBoundingRectTop()Landroid/graphics/Rect;" since="29" />
+		<method name="getBoundingRects()Ljava/util/List;" />
+		<method name="getCutoutPath()Landroid/graphics/Path;" since="31" />
+		<method name="getSafeInsetBottom()I" />
+		<method name="getSafeInsetLeft()I" />
+		<method name="getSafeInsetRight()I" />
+		<method name="getSafeInsetTop()I" />
+		<method name="getWaterfallInsets()Landroid/graphics/Insets;" since="30" />
+	</class>
+	<class name="android/view/DragAndDropPermissions" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="release()V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/DragEvent" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAction()I" />
+		<method name="getClipData()Landroid/content/ClipData;" />
+		<method name="getClipDescription()Landroid/content/ClipDescription;" />
+		<method name="getLocalState()Ljava/lang/Object;" />
+		<method name="getResult()Z" />
+		<method name="getX()F" />
+		<method name="getY()F" />
+		<field name="ACTION_DRAG_ENDED" />
+		<field name="ACTION_DRAG_ENTERED" />
+		<field name="ACTION_DRAG_EXITED" />
+		<field name="ACTION_DRAG_LOCATION" />
+		<field name="ACTION_DRAG_STARTED" />
+		<field name="ACTION_DROP" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/FocusFinder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="findNearestTouchable(Landroid/view/ViewGroup;III[I)Landroid/view/View;" />
+		<method name="findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;" />
+		<method name="findNextFocusFromRect(Landroid/view/ViewGroup;Landroid/graphics/Rect;I)Landroid/view/View;" />
+		<method name="findNextKeyboardNavigationCluster(Landroid/view/View;Landroid/view/View;I)Landroid/view/View;" since="26" />
+		<method name="getInstance()Landroid/view/FocusFinder;" />
+	</class>
+	<class name="android/view/FrameMetrics" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/FrameMetrics;)V" />
+		<method name="getMetric(I)J" />
+		<field name="ANIMATION_DURATION" />
+		<field name="COMMAND_ISSUE_DURATION" />
+		<field name="DEADLINE" since="31" />
+		<field name="DRAW_DURATION" />
+		<field name="FIRST_DRAW_FRAME" />
+		<field name="GPU_DURATION" since="31" />
+		<field name="INPUT_HANDLING_DURATION" />
+		<field name="INTENDED_VSYNC_TIMESTAMP" since="26" />
+		<field name="LAYOUT_MEASURE_DURATION" />
+		<field name="SWAP_BUFFERS_DURATION" />
+		<field name="SYNC_DURATION" />
+		<field name="TOTAL_DURATION" />
+		<field name="UNKNOWN_DELAY_DURATION" />
+		<field name="VSYNC_TIMESTAMP" since="26" />
+	</class>
+	<class name="android/view/FrameStats" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getEndTimeNano()J" />
+		<method name="getFrameCount()I" />
+		<method name="getFramePresentedTimeNano(I)J" />
+		<method name="getRefreshPeriodNano()J" />
+		<method name="getStartTimeNano()J" />
+		<field name="UNDEFINED_TIME_NANO" />
+	</class>
+	<class name="android/view/GestureDetector" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V" since="3" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;Landroid/os/Handler;)V" since="3" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;Landroid/os/Handler;Z)V" since="8" />
+		<method name="&lt;init&gt;(Landroid/view/GestureDetector$OnGestureListener;)V" deprecated="15" />
+		<method name="&lt;init&gt;(Landroid/view/GestureDetector$OnGestureListener;Landroid/os/Handler;)V" deprecated="15" />
+		<method name="isLongpressEnabled()Z" />
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="23" />
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="setContextClickListener(Landroid/view/GestureDetector$OnContextClickListener;)V" since="23" />
+		<method name="setIsLongpressEnabled(Z)V" />
+		<method name="setOnDoubleTapListener(Landroid/view/GestureDetector$OnDoubleTapListener;)V" since="3" />
+	</class>
+	<class name="android/view/GestureDetector$OnContextClickListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onContextClick(Landroid/view/MotionEvent;)Z" />
+	</class>
+	<class name="android/view/GestureDetector$OnDoubleTapListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onDoubleTap(Landroid/view/MotionEvent;)Z" />
+		<method name="onDoubleTapEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onSingleTapConfirmed(Landroid/view/MotionEvent;)Z" />
+	</class>
+	<class name="android/view/GestureDetector$OnGestureListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onDown(Landroid/view/MotionEvent;)Z" />
+		<method name="onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z" />
+		<method name="onLongPress(Landroid/view/MotionEvent;)V" />
+		<method name="onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z" />
+		<method name="onShowPress(Landroid/view/MotionEvent;)V" />
+		<method name="onSingleTapUp(Landroid/view/MotionEvent;)Z" />
+	</class>
+	<class name="android/view/GestureDetector$SimpleOnGestureListener" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/GestureDetector$OnContextClickListener" since="23" />
+		<implements name="android/view/GestureDetector$OnDoubleTapListener" since="3" />
+		<implements name="android/view/GestureDetector$OnGestureListener" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/view/Gravity" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="apply(IIILandroid/graphics/Rect;IILandroid/graphics/Rect;)V" />
+		<method name="apply(IIILandroid/graphics/Rect;IILandroid/graphics/Rect;I)V" since="17" />
+		<method name="apply(IIILandroid/graphics/Rect;Landroid/graphics/Rect;)V" />
+		<method name="apply(IIILandroid/graphics/Rect;Landroid/graphics/Rect;I)V" since="17" />
+		<method name="applyDisplay(ILandroid/graphics/Rect;Landroid/graphics/Rect;)V" since="3" />
+		<method name="applyDisplay(ILandroid/graphics/Rect;Landroid/graphics/Rect;I)V" since="17" />
+		<method name="getAbsoluteGravity(II)I" since="14" />
+		<method name="isHorizontal(I)Z" />
+		<method name="isVertical(I)Z" />
+		<field name="AXIS_CLIP" since="3" />
+		<field name="AXIS_PULL_AFTER" />
+		<field name="AXIS_PULL_BEFORE" />
+		<field name="AXIS_SPECIFIED" />
+		<field name="AXIS_X_SHIFT" />
+		<field name="AXIS_Y_SHIFT" />
+		<field name="BOTTOM" />
+		<field name="CENTER" />
+		<field name="CENTER_HORIZONTAL" />
+		<field name="CENTER_VERTICAL" />
+		<field name="CLIP_HORIZONTAL" since="3" />
+		<field name="CLIP_VERTICAL" since="3" />
+		<field name="DISPLAY_CLIP_HORIZONTAL" since="3" />
+		<field name="DISPLAY_CLIP_VERTICAL" since="3" />
+		<field name="END" since="14" />
+		<field name="FILL" />
+		<field name="FILL_HORIZONTAL" />
+		<field name="FILL_VERTICAL" />
+		<field name="HORIZONTAL_GRAVITY_MASK" />
+		<field name="LEFT" />
+		<field name="NO_GRAVITY" />
+		<field name="RELATIVE_HORIZONTAL_GRAVITY_MASK" since="14" />
+		<field name="RELATIVE_LAYOUT_DIRECTION" since="14" />
+		<field name="RIGHT" />
+		<field name="START" since="14" />
+		<field name="TOP" />
+		<field name="VERTICAL_GRAVITY_MASK" />
+	</class>
+	<class name="android/view/HapticFeedbackConstants" since="3">
+		<extends name="java/lang/Object" />
+		<field name="CLOCK_TICK" since="21" />
+		<field name="CONFIRM" since="30" />
+		<field name="CONTEXT_CLICK" since="23" />
+		<field name="FLAG_IGNORE_GLOBAL_SETTING" />
+		<field name="FLAG_IGNORE_VIEW_SETTING" />
+		<field name="GESTURE_END" since="30" />
+		<field name="GESTURE_START" since="30" />
+		<field name="KEYBOARD_PRESS" since="27" />
+		<field name="KEYBOARD_RELEASE" since="27" />
+		<field name="KEYBOARD_TAP" since="8" />
+		<field name="LONG_PRESS" />
+		<field name="REJECT" since="30" />
+		<field name="TEXT_HANDLE_MOVE" since="27" />
+		<field name="VIRTUAL_KEY" since="5" />
+		<field name="VIRTUAL_KEY_RELEASE" since="27" />
+	</class>
+	<class name="android/view/InflateException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="android/view/InputDevice" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getBatteryState()Landroid/hardware/BatteryState;" since="31" />
+		<method name="getControllerNumber()I" since="19" />
+		<method name="getDescriptor()Ljava/lang/String;" since="16" />
+		<method name="getDevice(I)Landroid/view/InputDevice;" />
+		<method name="getDeviceIds()[I" />
+		<method name="getId()I" />
+		<method name="getKeyCharacterMap()Landroid/view/KeyCharacterMap;" />
+		<method name="getKeyboardType()I" />
+		<method name="getLightsManager()Landroid/hardware/lights/LightsManager;" since="31" />
+		<method name="getMotionRange(I)Landroid/view/InputDevice$MotionRange;" />
+		<method name="getMotionRange(II)Landroid/view/InputDevice$MotionRange;" since="12" />
+		<method name="getMotionRanges()Ljava/util/List;" since="12" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getProductId()I" since="19" />
+		<method name="getSensorManager()Landroid/hardware/SensorManager;" since="31" />
+		<method name="getSources()I" />
+		<method name="getVendorId()I" since="19" />
+		<method name="getVibrator()Landroid/os/Vibrator;" since="16" deprecated="31" />
+		<method name="getVibratorManager()Landroid/os/VibratorManager;" since="31" />
+		<method name="hasKeys([I)[Z" since="19" />
+		<method name="hasMicrophone()Z" since="23" />
+		<method name="isEnabled()Z" since="27" />
+		<method name="isExternal()Z" since="29" />
+		<method name="isVirtual()Z" since="16" />
+		<method name="supportsSource(I)Z" since="21" />
+		<field name="CREATOR" />
+		<field name="KEYBOARD_TYPE_ALPHABETIC" />
+		<field name="KEYBOARD_TYPE_NONE" />
+		<field name="KEYBOARD_TYPE_NON_ALPHABETIC" />
+		<field name="MOTION_RANGE_ORIENTATION" deprecated="15" />
+		<field name="MOTION_RANGE_PRESSURE" deprecated="15" />
+		<field name="MOTION_RANGE_SIZE" deprecated="15" />
+		<field name="MOTION_RANGE_TOOL_MAJOR" deprecated="15" />
+		<field name="MOTION_RANGE_TOOL_MINOR" deprecated="15" />
+		<field name="MOTION_RANGE_TOUCH_MAJOR" deprecated="15" />
+		<field name="MOTION_RANGE_TOUCH_MINOR" deprecated="15" />
+		<field name="MOTION_RANGE_X" deprecated="15" />
+		<field name="MOTION_RANGE_Y" deprecated="15" />
+		<field name="SOURCE_ANY" />
+		<field name="SOURCE_BLUETOOTH_STYLUS" since="23" />
+		<field name="SOURCE_CLASS_BUTTON" />
+		<field name="SOURCE_CLASS_JOYSTICK" since="12" />
+		<field name="SOURCE_CLASS_MASK" />
+		<field name="SOURCE_CLASS_NONE" since="18" />
+		<field name="SOURCE_CLASS_POINTER" />
+		<field name="SOURCE_CLASS_POSITION" />
+		<field name="SOURCE_CLASS_TRACKBALL" />
+		<field name="SOURCE_DPAD" />
+		<field name="SOURCE_GAMEPAD" since="12" />
+		<field name="SOURCE_HDMI" since="21" />
+		<field name="SOURCE_JOYSTICK" since="12" />
+		<field name="SOURCE_KEYBOARD" />
+		<field name="SOURCE_MOUSE" />
+		<field name="SOURCE_MOUSE_RELATIVE" since="26" />
+		<field name="SOURCE_ROTARY_ENCODER" since="26" />
+		<field name="SOURCE_SENSOR" since="31" />
+		<field name="SOURCE_STYLUS" since="14" />
+		<field name="SOURCE_TOUCHPAD" />
+		<field name="SOURCE_TOUCHSCREEN" />
+		<field name="SOURCE_TOUCH_NAVIGATION" since="18" />
+		<field name="SOURCE_TRACKBALL" />
+		<field name="SOURCE_UNKNOWN" />
+	</class>
+	<class name="android/view/InputDevice$MotionRange" since="9">
+		<extends name="java/lang/Object" />
+		<method name="getAxis()I" since="12" />
+		<method name="getFlat()F" />
+		<method name="getFuzz()F" />
+		<method name="getMax()F" />
+		<method name="getMin()F" />
+		<method name="getRange()F" />
+		<method name="getResolution()F" since="18" />
+		<method name="getSource()I" since="12" />
+		<method name="isFromSource(I)Z" since="18" />
+	</class>
+	<class name="android/view/InputEvent" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDevice()Landroid/view/InputDevice;" />
+		<method name="getDeviceId()I" />
+		<method name="getEventTime()J" since="16" />
+		<method name="getSource()I" />
+		<method name="isFromSource(I)Z" since="18" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/InputQueue" since="9">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/view/InputQueue$Callback" since="9">
+		<extends name="java/lang/Object" />
+		<method name="onInputQueueCreated(Landroid/view/InputQueue;)V" />
+		<method name="onInputQueueDestroyed(Landroid/view/InputQueue;)V" />
+	</class>
+	<class name="android/view/KeyCharacterMap" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="16" />
+		<method name="deviceHasKey(I)Z" since="3" />
+		<method name="deviceHasKeys([I)[Z" since="3" />
+		<method name="get(II)I" />
+		<method name="getDeadChar(II)I" />
+		<method name="getDisplayLabel(I)C" />
+		<method name="getEvents([C)[Landroid/view/KeyEvent;" />
+		<method name="getKeyData(ILandroid/view/KeyCharacterMap$KeyData;)Z" deprecated="15" />
+		<method name="getKeyboardType()I" />
+		<method name="getMatch(I[C)C" />
+		<method name="getMatch(I[CI)C" />
+		<method name="getModifierBehavior()I" since="11" />
+		<method name="getNumber(I)C" />
+		<method name="isPrintingKey(I)Z" />
+		<method name="load(I)Landroid/view/KeyCharacterMap;" />
+		<field name="ALPHA" />
+		<field name="BUILT_IN_KEYBOARD" deprecated="15" />
+		<field name="COMBINING_ACCENT" />
+		<field name="COMBINING_ACCENT_MASK" />
+		<field name="CREATOR" since="16" />
+		<field name="FULL" since="11" />
+		<field name="HEX_INPUT" />
+		<field name="MODIFIER_BEHAVIOR_CHORDED" since="11" />
+		<field name="MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED" since="11" />
+		<field name="NUMERIC" />
+		<field name="PICKER_DIALOG_INPUT" />
+		<field name="PREDICTIVE" />
+		<field name="SPECIAL_FUNCTION" since="11" />
+		<field name="VIRTUAL_KEYBOARD" since="11" />
+	</class>
+	<class name="android/view/KeyCharacterMap$KeyData" since="1" deprecated="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<field name="META_LENGTH" deprecated="29" />
+		<field name="displayLabel" deprecated="29" />
+		<field name="meta" deprecated="29" />
+		<field name="number" deprecated="29" />
+	</class>
+	<class name="android/view/KeyCharacterMap$UnavailableException" since="11">
+		<extends name="android/util/AndroidRuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/view/KeyEvent" since="1">
+		<extends name="android/view/InputEvent" since="9" />
+		<extends name="java/lang/Object" removed="9" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(JJIII)V" />
+		<method name="&lt;init&gt;(JJIIII)V" />
+		<method name="&lt;init&gt;(JJIIIIII)V" />
+		<method name="&lt;init&gt;(JJIIIIIII)V" />
+		<method name="&lt;init&gt;(JJIIIIIIII)V" since="9" />
+		<method name="&lt;init&gt;(JLjava/lang/String;II)V" since="3" />
+		<method name="&lt;init&gt;(Landroid/view/KeyEvent;)V" since="3" />
+		<method name="&lt;init&gt;(Landroid/view/KeyEvent;JI)V" deprecated="15" />
+		<method name="changeAction(Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;" since="3" />
+		<method name="changeFlags(Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;" since="3" />
+		<method name="changeTimeRepeat(Landroid/view/KeyEvent;JI)Landroid/view/KeyEvent;" since="3" />
+		<method name="changeTimeRepeat(Landroid/view/KeyEvent;JII)Landroid/view/KeyEvent;" since="5" />
+		<method name="dispatch(Landroid/view/KeyEvent$Callback;)Z" deprecated="15" />
+		<method name="dispatch(Landroid/view/KeyEvent$Callback;Landroid/view/KeyEvent$DispatcherState;Ljava/lang/Object;)Z" since="5" />
+		<method name="getAction()I" />
+		<method name="getCharacters()Ljava/lang/String;" since="3" deprecated="29" />
+		<method name="getDeadChar(II)I" />
+		<method name="getDeviceId()I" />
+		<method name="getDisplayLabel()C" />
+		<method name="getDownTime()J" />
+		<method name="getEventTime()J" />
+		<method name="getFlags()I" />
+		<method name="getKeyCharacterMap()Landroid/view/KeyCharacterMap;" since="11" />
+		<method name="getKeyCode()I" />
+		<method name="getKeyData(Landroid/view/KeyCharacterMap$KeyData;)Z" deprecated="15" />
+		<method name="getMatch([C)C" />
+		<method name="getMatch([CI)C" />
+		<method name="getMaxKeyCode()I" since="3" />
+		<method name="getMetaState()I" />
+		<method name="getModifierMetaStateMask()I" since="11" />
+		<method name="getModifiers()I" since="13" />
+		<method name="getNumber()C" />
+		<method name="getRepeatCount()I" />
+		<method name="getScanCode()I" />
+		<method name="getUnicodeChar()I" />
+		<method name="getUnicodeChar(I)I" />
+		<method name="hasModifiers(I)Z" since="11" />
+		<method name="hasNoModifiers()Z" since="11" />
+		<method name="isAltPressed()Z" />
+		<method name="isCanceled()Z" since="5" />
+		<method name="isCapsLockOn()Z" since="11" />
+		<method name="isCtrlPressed()Z" since="11" />
+		<method name="isFunctionPressed()Z" since="11" />
+		<method name="isGamepadButton(I)Z" since="12" />
+		<method name="isLongPress()Z" since="5" />
+		<method name="isMediaSessionKey(I)Z" since="31" />
+		<method name="isMetaPressed()Z" since="11" />
+		<method name="isModifierKey(I)Z" />
+		<method name="isNumLockOn()Z" since="11" />
+		<method name="isPrintingKey()Z" />
+		<method name="isScrollLockOn()Z" since="11" />
+		<method name="isShiftPressed()Z" />
+		<method name="isSymPressed()Z" />
+		<method name="isSystem()Z" />
+		<method name="isTracking()Z" since="5" />
+		<method name="keyCodeFromString(Ljava/lang/String;)I" since="12" />
+		<method name="keyCodeToString(I)Ljava/lang/String;" since="12" />
+		<method name="metaStateHasModifiers(II)Z" since="11" />
+		<method name="metaStateHasNoModifiers(I)Z" since="11" />
+		<method name="normalizeMetaState(I)I" since="11" />
+		<method name="setSource(I)V" since="12" />
+		<method name="startTracking()V" since="5" />
+		<field name="ACTION_DOWN" />
+		<field name="ACTION_MULTIPLE" deprecated="29" />
+		<field name="ACTION_UP" />
+		<field name="CREATOR" />
+		<field name="FLAG_CANCELED" since="5" />
+		<field name="FLAG_CANCELED_LONG_PRESS" since="5" />
+		<field name="FLAG_EDITOR_ACTION" since="3" />
+		<field name="FLAG_FALLBACK" since="11" />
+		<field name="FLAG_FROM_SYSTEM" since="3" />
+		<field name="FLAG_KEEP_TOUCH_MODE" since="3" />
+		<field name="FLAG_LONG_PRESS" since="5" />
+		<field name="FLAG_SOFT_KEYBOARD" since="3" />
+		<field name="FLAG_TRACKING" since="5" />
+		<field name="FLAG_VIRTUAL_HARD_KEY" since="5" />
+		<field name="FLAG_WOKE_HERE" deprecated="20" />
+		<field name="KEYCODE_0" />
+		<field name="KEYCODE_1" />
+		<field name="KEYCODE_11" since="21" />
+		<field name="KEYCODE_12" since="21" />
+		<field name="KEYCODE_2" />
+		<field name="KEYCODE_3" />
+		<field name="KEYCODE_3D_MODE" since="14" />
+		<field name="KEYCODE_4" />
+		<field name="KEYCODE_5" />
+		<field name="KEYCODE_6" />
+		<field name="KEYCODE_7" />
+		<field name="KEYCODE_8" />
+		<field name="KEYCODE_9" />
+		<field name="KEYCODE_A" />
+		<field name="KEYCODE_ALL_APPS" since="28" />
+		<field name="KEYCODE_ALT_LEFT" />
+		<field name="KEYCODE_ALT_RIGHT" />
+		<field name="KEYCODE_APOSTROPHE" />
+		<field name="KEYCODE_APP_SWITCH" since="11" />
+		<field name="KEYCODE_ASSIST" since="16" />
+		<field name="KEYCODE_AT" />
+		<field name="KEYCODE_AVR_INPUT" since="11" />
+		<field name="KEYCODE_AVR_POWER" since="11" />
+		<field name="KEYCODE_B" />
+		<field name="KEYCODE_BACK" />
+		<field name="KEYCODE_BACKSLASH" />
+		<field name="KEYCODE_BOOKMARK" since="11" />
+		<field name="KEYCODE_BREAK" since="11" />
+		<field name="KEYCODE_BRIGHTNESS_DOWN" since="18" />
+		<field name="KEYCODE_BRIGHTNESS_UP" since="18" />
+		<field name="KEYCODE_BUTTON_1" since="12" />
+		<field name="KEYCODE_BUTTON_10" since="12" />
+		<field name="KEYCODE_BUTTON_11" since="12" />
+		<field name="KEYCODE_BUTTON_12" since="12" />
+		<field name="KEYCODE_BUTTON_13" since="12" />
+		<field name="KEYCODE_BUTTON_14" since="12" />
+		<field name="KEYCODE_BUTTON_15" since="12" />
+		<field name="KEYCODE_BUTTON_16" since="12" />
+		<field name="KEYCODE_BUTTON_2" since="12" />
+		<field name="KEYCODE_BUTTON_3" since="12" />
+		<field name="KEYCODE_BUTTON_4" since="12" />
+		<field name="KEYCODE_BUTTON_5" since="12" />
+		<field name="KEYCODE_BUTTON_6" since="12" />
+		<field name="KEYCODE_BUTTON_7" since="12" />
+		<field name="KEYCODE_BUTTON_8" since="12" />
+		<field name="KEYCODE_BUTTON_9" since="12" />
+		<field name="KEYCODE_BUTTON_A" since="9" />
+		<field name="KEYCODE_BUTTON_B" since="9" />
+		<field name="KEYCODE_BUTTON_C" since="9" />
+		<field name="KEYCODE_BUTTON_L1" since="9" />
+		<field name="KEYCODE_BUTTON_L2" since="9" />
+		<field name="KEYCODE_BUTTON_MODE" since="9" />
+		<field name="KEYCODE_BUTTON_R1" since="9" />
+		<field name="KEYCODE_BUTTON_R2" since="9" />
+		<field name="KEYCODE_BUTTON_SELECT" since="9" />
+		<field name="KEYCODE_BUTTON_START" since="9" />
+		<field name="KEYCODE_BUTTON_THUMBL" since="9" />
+		<field name="KEYCODE_BUTTON_THUMBR" since="9" />
+		<field name="KEYCODE_BUTTON_X" since="9" />
+		<field name="KEYCODE_BUTTON_Y" since="9" />
+		<field name="KEYCODE_BUTTON_Z" since="9" />
+		<field name="KEYCODE_C" />
+		<field name="KEYCODE_CALCULATOR" since="15" />
+		<field name="KEYCODE_CALENDAR" since="15" />
+		<field name="KEYCODE_CALL" />
+		<field name="KEYCODE_CAMERA" />
+		<field name="KEYCODE_CAPS_LOCK" since="11" />
+		<field name="KEYCODE_CAPTIONS" since="11" />
+		<field name="KEYCODE_CHANNEL_DOWN" since="11" />
+		<field name="KEYCODE_CHANNEL_UP" since="11" />
+		<field name="KEYCODE_CLEAR" />
+		<field name="KEYCODE_COMMA" />
+		<field name="KEYCODE_CONTACTS" since="15" />
+		<field name="KEYCODE_COPY" since="24" />
+		<field name="KEYCODE_CTRL_LEFT" since="11" />
+		<field name="KEYCODE_CTRL_RIGHT" since="11" />
+		<field name="KEYCODE_CUT" since="24" />
+		<field name="KEYCODE_D" />
+		<field name="KEYCODE_DEL" />
+		<field name="KEYCODE_DPAD_CENTER" />
+		<field name="KEYCODE_DPAD_DOWN" />
+		<field name="KEYCODE_DPAD_DOWN_LEFT" since="24" />
+		<field name="KEYCODE_DPAD_DOWN_RIGHT" since="24" />
+		<field name="KEYCODE_DPAD_LEFT" />
+		<field name="KEYCODE_DPAD_RIGHT" />
+		<field name="KEYCODE_DPAD_UP" />
+		<field name="KEYCODE_DPAD_UP_LEFT" since="24" />
+		<field name="KEYCODE_DPAD_UP_RIGHT" since="24" />
+		<field name="KEYCODE_DVR" since="11" />
+		<field name="KEYCODE_E" />
+		<field name="KEYCODE_EISU" since="16" />
+		<field name="KEYCODE_ENDCALL" />
+		<field name="KEYCODE_ENTER" />
+		<field name="KEYCODE_ENVELOPE" />
+		<field name="KEYCODE_EQUALS" />
+		<field name="KEYCODE_ESCAPE" since="11" />
+		<field name="KEYCODE_EXPLORER" />
+		<field name="KEYCODE_F" />
+		<field name="KEYCODE_F1" since="11" />
+		<field name="KEYCODE_F10" since="11" />
+		<field name="KEYCODE_F11" since="11" />
+		<field name="KEYCODE_F12" since="11" />
+		<field name="KEYCODE_F2" since="11" />
+		<field name="KEYCODE_F3" since="11" />
+		<field name="KEYCODE_F4" since="11" />
+		<field name="KEYCODE_F5" since="11" />
+		<field name="KEYCODE_F6" since="11" />
+		<field name="KEYCODE_F7" since="11" />
+		<field name="KEYCODE_F8" since="11" />
+		<field name="KEYCODE_F9" since="11" />
+		<field name="KEYCODE_FOCUS" />
+		<field name="KEYCODE_FORWARD" since="11" />
+		<field name="KEYCODE_FORWARD_DEL" since="11" />
+		<field name="KEYCODE_FUNCTION" since="11" />
+		<field name="KEYCODE_G" />
+		<field name="KEYCODE_GRAVE" />
+		<field name="KEYCODE_GUIDE" since="11" />
+		<field name="KEYCODE_H" />
+		<field name="KEYCODE_HEADSETHOOK" />
+		<field name="KEYCODE_HELP" since="21" />
+		<field name="KEYCODE_HENKAN" since="16" />
+		<field name="KEYCODE_HOME" />
+		<field name="KEYCODE_I" />
+		<field name="KEYCODE_INFO" since="11" />
+		<field name="KEYCODE_INSERT" since="11" />
+		<field name="KEYCODE_J" />
+		<field name="KEYCODE_K" />
+		<field name="KEYCODE_KANA" since="16" />
+		<field name="KEYCODE_KATAKANA_HIRAGANA" since="16" />
+		<field name="KEYCODE_L" />
+		<field name="KEYCODE_LANGUAGE_SWITCH" since="14" />
+		<field name="KEYCODE_LAST_CHANNEL" since="21" />
+		<field name="KEYCODE_LEFT_BRACKET" />
+		<field name="KEYCODE_M" />
+		<field name="KEYCODE_MANNER_MODE" since="14" />
+		<field name="KEYCODE_MEDIA_AUDIO_TRACK" since="19" />
+		<field name="KEYCODE_MEDIA_CLOSE" since="11" />
+		<field name="KEYCODE_MEDIA_EJECT" since="11" />
+		<field name="KEYCODE_MEDIA_FAST_FORWARD" since="3" />
+		<field name="KEYCODE_MEDIA_NEXT" since="3" />
+		<field name="KEYCODE_MEDIA_PAUSE" since="11" />
+		<field name="KEYCODE_MEDIA_PLAY" since="11" />
+		<field name="KEYCODE_MEDIA_PLAY_PAUSE" since="3" />
+		<field name="KEYCODE_MEDIA_PREVIOUS" since="3" />
+		<field name="KEYCODE_MEDIA_RECORD" since="11" />
+		<field name="KEYCODE_MEDIA_REWIND" since="3" />
+		<field name="KEYCODE_MEDIA_SKIP_BACKWARD" since="23" />
+		<field name="KEYCODE_MEDIA_SKIP_FORWARD" since="23" />
+		<field name="KEYCODE_MEDIA_STEP_BACKWARD" since="23" />
+		<field name="KEYCODE_MEDIA_STEP_FORWARD" since="23" />
+		<field name="KEYCODE_MEDIA_STOP" since="3" />
+		<field name="KEYCODE_MEDIA_TOP_MENU" since="21" />
+		<field name="KEYCODE_MENU" />
+		<field name="KEYCODE_META_LEFT" since="11" />
+		<field name="KEYCODE_META_RIGHT" since="11" />
+		<field name="KEYCODE_MINUS" />
+		<field name="KEYCODE_MOVE_END" since="11" />
+		<field name="KEYCODE_MOVE_HOME" since="11" />
+		<field name="KEYCODE_MUHENKAN" since="16" />
+		<field name="KEYCODE_MUSIC" since="15" />
+		<field name="KEYCODE_MUTE" since="3" />
+		<field name="KEYCODE_N" />
+		<field name="KEYCODE_NAVIGATE_IN" since="23" />
+		<field name="KEYCODE_NAVIGATE_NEXT" since="23" />
+		<field name="KEYCODE_NAVIGATE_OUT" since="23" />
+		<field name="KEYCODE_NAVIGATE_PREVIOUS" since="23" />
+		<field name="KEYCODE_NOTIFICATION" />
+		<field name="KEYCODE_NUM" />
+		<field name="KEYCODE_NUMPAD_0" since="11" />
+		<field name="KEYCODE_NUMPAD_1" since="11" />
+		<field name="KEYCODE_NUMPAD_2" since="11" />
+		<field name="KEYCODE_NUMPAD_3" since="11" />
+		<field name="KEYCODE_NUMPAD_4" since="11" />
+		<field name="KEYCODE_NUMPAD_5" since="11" />
+		<field name="KEYCODE_NUMPAD_6" since="11" />
+		<field name="KEYCODE_NUMPAD_7" since="11" />
+		<field name="KEYCODE_NUMPAD_8" since="11" />
+		<field name="KEYCODE_NUMPAD_9" since="11" />
+		<field name="KEYCODE_NUMPAD_ADD" since="11" />
+		<field name="KEYCODE_NUMPAD_COMMA" since="11" />
+		<field name="KEYCODE_NUMPAD_DIVIDE" since="11" />
+		<field name="KEYCODE_NUMPAD_DOT" since="11" />
+		<field name="KEYCODE_NUMPAD_ENTER" since="11" />
+		<field name="KEYCODE_NUMPAD_EQUALS" since="11" />
+		<field name="KEYCODE_NUMPAD_LEFT_PAREN" since="11" />
+		<field name="KEYCODE_NUMPAD_MULTIPLY" since="11" />
+		<field name="KEYCODE_NUMPAD_RIGHT_PAREN" since="11" />
+		<field name="KEYCODE_NUMPAD_SUBTRACT" since="11" />
+		<field name="KEYCODE_NUM_LOCK" since="11" />
+		<field name="KEYCODE_O" />
+		<field name="KEYCODE_P" />
+		<field name="KEYCODE_PAGE_DOWN" since="9" />
+		<field name="KEYCODE_PAGE_UP" since="9" />
+		<field name="KEYCODE_PAIRING" since="21" />
+		<field name="KEYCODE_PASTE" since="24" />
+		<field name="KEYCODE_PERIOD" />
+		<field name="KEYCODE_PICTSYMBOLS" since="9" />
+		<field name="KEYCODE_PLUS" />
+		<field name="KEYCODE_POUND" />
+		<field name="KEYCODE_POWER" />
+		<field name="KEYCODE_PROFILE_SWITCH" since="29" />
+		<field name="KEYCODE_PROG_BLUE" since="11" />
+		<field name="KEYCODE_PROG_GREEN" since="11" />
+		<field name="KEYCODE_PROG_RED" since="11" />
+		<field name="KEYCODE_PROG_YELLOW" since="11" />
+		<field name="KEYCODE_Q" />
+		<field name="KEYCODE_R" />
+		<field name="KEYCODE_REFRESH" since="28" />
+		<field name="KEYCODE_RIGHT_BRACKET" />
+		<field name="KEYCODE_RO" since="16" />
+		<field name="KEYCODE_S" />
+		<field name="KEYCODE_SCROLL_LOCK" since="11" />
+		<field name="KEYCODE_SEARCH" />
+		<field name="KEYCODE_SEMICOLON" />
+		<field name="KEYCODE_SETTINGS" since="11" />
+		<field name="KEYCODE_SHIFT_LEFT" />
+		<field name="KEYCODE_SHIFT_RIGHT" />
+		<field name="KEYCODE_SLASH" />
+		<field name="KEYCODE_SLEEP" since="20" />
+		<field name="KEYCODE_SOFT_LEFT" />
+		<field name="KEYCODE_SOFT_RIGHT" />
+		<field name="KEYCODE_SOFT_SLEEP" since="24" />
+		<field name="KEYCODE_SPACE" />
+		<field name="KEYCODE_STAR" />
+		<field name="KEYCODE_STB_INPUT" since="11" />
+		<field name="KEYCODE_STB_POWER" since="11" />
+		<field name="KEYCODE_STEM_1" since="24" />
+		<field name="KEYCODE_STEM_2" since="24" />
+		<field name="KEYCODE_STEM_3" since="24" />
+		<field name="KEYCODE_STEM_PRIMARY" since="24" />
+		<field name="KEYCODE_SWITCH_CHARSET" since="9" />
+		<field name="KEYCODE_SYM" />
+		<field name="KEYCODE_SYSRQ" since="11" />
+		<field name="KEYCODE_SYSTEM_NAVIGATION_DOWN" since="25" />
+		<field name="KEYCODE_SYSTEM_NAVIGATION_LEFT" since="25" />
+		<field name="KEYCODE_SYSTEM_NAVIGATION_RIGHT" since="25" />
+		<field name="KEYCODE_SYSTEM_NAVIGATION_UP" since="25" />
+		<field name="KEYCODE_T" />
+		<field name="KEYCODE_TAB" />
+		<field name="KEYCODE_THUMBS_DOWN" since="29" />
+		<field name="KEYCODE_THUMBS_UP" since="29" />
+		<field name="KEYCODE_TV" since="11" />
+		<field name="KEYCODE_TV_ANTENNA_CABLE" since="21" />
+		<field name="KEYCODE_TV_AUDIO_DESCRIPTION" since="21" />
+		<field name="KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN" since="21" />
+		<field name="KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP" since="21" />
+		<field name="KEYCODE_TV_CONTENTS_MENU" since="21" />
+		<field name="KEYCODE_TV_DATA_SERVICE" since="21" />
+		<field name="KEYCODE_TV_INPUT" since="11" />
+		<field name="KEYCODE_TV_INPUT_COMPONENT_1" since="21" />
+		<field name="KEYCODE_TV_INPUT_COMPONENT_2" since="21" />
+		<field name="KEYCODE_TV_INPUT_COMPOSITE_1" since="21" />
+		<field name="KEYCODE_TV_INPUT_COMPOSITE_2" since="21" />
+		<field name="KEYCODE_TV_INPUT_HDMI_1" since="21" />
+		<field name="KEYCODE_TV_INPUT_HDMI_2" since="21" />
+		<field name="KEYCODE_TV_INPUT_HDMI_3" since="21" />
+		<field name="KEYCODE_TV_INPUT_HDMI_4" since="21" />
+		<field name="KEYCODE_TV_INPUT_VGA_1" since="21" />
+		<field name="KEYCODE_TV_MEDIA_CONTEXT_MENU" since="21" />
+		<field name="KEYCODE_TV_NETWORK" since="21" />
+		<field name="KEYCODE_TV_NUMBER_ENTRY" since="21" />
+		<field name="KEYCODE_TV_POWER" since="11" />
+		<field name="KEYCODE_TV_RADIO_SERVICE" since="21" />
+		<field name="KEYCODE_TV_SATELLITE" since="21" />
+		<field name="KEYCODE_TV_SATELLITE_BS" since="21" />
+		<field name="KEYCODE_TV_SATELLITE_CS" since="21" />
+		<field name="KEYCODE_TV_SATELLITE_SERVICE" since="21" />
+		<field name="KEYCODE_TV_TELETEXT" since="21" />
+		<field name="KEYCODE_TV_TERRESTRIAL_ANALOG" since="21" />
+		<field name="KEYCODE_TV_TERRESTRIAL_DIGITAL" since="21" />
+		<field name="KEYCODE_TV_TIMER_PROGRAMMING" since="21" />
+		<field name="KEYCODE_TV_ZOOM_MODE" since="21" />
+		<field name="KEYCODE_U" />
+		<field name="KEYCODE_UNKNOWN" />
+		<field name="KEYCODE_V" />
+		<field name="KEYCODE_VOICE_ASSIST" since="21" />
+		<field name="KEYCODE_VOLUME_DOWN" />
+		<field name="KEYCODE_VOLUME_MUTE" since="11" />
+		<field name="KEYCODE_VOLUME_UP" />
+		<field name="KEYCODE_W" />
+		<field name="KEYCODE_WAKEUP" since="20" />
+		<field name="KEYCODE_WINDOW" since="11" />
+		<field name="KEYCODE_X" />
+		<field name="KEYCODE_Y" />
+		<field name="KEYCODE_YEN" since="16" />
+		<field name="KEYCODE_Z" />
+		<field name="KEYCODE_ZENKAKU_HANKAKU" since="16" />
+		<field name="KEYCODE_ZOOM_IN" since="11" />
+		<field name="KEYCODE_ZOOM_OUT" since="11" />
+		<field name="MAX_KEYCODE" deprecated="15" />
+		<field name="META_ALT_LEFT_ON" />
+		<field name="META_ALT_MASK" since="11" />
+		<field name="META_ALT_ON" />
+		<field name="META_ALT_RIGHT_ON" />
+		<field name="META_CAPS_LOCK_ON" since="11" />
+		<field name="META_CTRL_LEFT_ON" since="11" />
+		<field name="META_CTRL_MASK" since="11" />
+		<field name="META_CTRL_ON" since="11" />
+		<field name="META_CTRL_RIGHT_ON" since="11" />
+		<field name="META_FUNCTION_ON" since="11" />
+		<field name="META_META_LEFT_ON" since="11" />
+		<field name="META_META_MASK" since="11" />
+		<field name="META_META_ON" since="11" />
+		<field name="META_META_RIGHT_ON" since="11" />
+		<field name="META_NUM_LOCK_ON" since="11" />
+		<field name="META_SCROLL_LOCK_ON" since="11" />
+		<field name="META_SHIFT_LEFT_ON" />
+		<field name="META_SHIFT_MASK" since="11" />
+		<field name="META_SHIFT_ON" />
+		<field name="META_SHIFT_RIGHT_ON" />
+		<field name="META_SYM_ON" />
+	</class>
+	<class name="android/view/KeyEvent$Callback" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onKeyDown(ILandroid/view/KeyEvent;)Z" />
+		<method name="onKeyLongPress(ILandroid/view/KeyEvent;)Z" since="5" />
+		<method name="onKeyMultiple(IILandroid/view/KeyEvent;)Z" />
+		<method name="onKeyUp(ILandroid/view/KeyEvent;)Z" />
+	</class>
+	<class name="android/view/KeyEvent$DispatcherState" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="handleUpEvent(Landroid/view/KeyEvent;)V" />
+		<method name="isTracking(Landroid/view/KeyEvent;)Z" />
+		<method name="performedLongPress(Landroid/view/KeyEvent;)V" />
+		<method name="reset()V" />
+		<method name="reset(Ljava/lang/Object;)V" />
+		<method name="startTracking(Landroid/view/KeyEvent;Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/view/KeyboardShortcutGroup" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Ljava/util/List;)V" />
+		<method name="addItem(Landroid/view/KeyboardShortcutInfo;)V" />
+		<method name="getItems()Ljava/util/List;" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/KeyboardShortcutInfo" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;CI)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;II)V" />
+		<method name="getBaseCharacter()C" />
+		<method name="getKeycode()I" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<method name="getModifiers()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/LayoutInflater" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/view/LayoutInflater;Landroid/content/Context;)V" />
+		<method name="cloneInContext(Landroid/content/Context;)Landroid/view/LayoutInflater;" />
+		<method name="createView(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;" since="29" />
+		<method name="createView(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;" />
+		<method name="from(Landroid/content/Context;)Landroid/view/LayoutInflater;" />
+		<method name="getContext()Landroid/content/Context;" />
+		<method name="getFactory()Landroid/view/LayoutInflater$Factory;" />
+		<method name="getFactory2()Landroid/view/LayoutInflater$Factory2;" since="11" />
+		<method name="getFilter()Landroid/view/LayoutInflater$Filter;" />
+		<method name="inflate(ILandroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;" />
+		<method name="inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View;" />
+		<method name="onCreateView(Landroid/content/Context;Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;" since="29" />
+		<method name="onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;" since="11" />
+		<method name="onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;" />
+		<method name="setFactory(Landroid/view/LayoutInflater$Factory;)V" />
+		<method name="setFactory2(Landroid/view/LayoutInflater$Factory2;)V" since="11" />
+		<method name="setFilter(Landroid/view/LayoutInflater$Filter;)V" />
+	</class>
+	<class name="android/view/LayoutInflater$Factory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;" />
+	</class>
+	<class name="android/view/LayoutInflater$Factory2" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/LayoutInflater$Factory" />
+		<method name="onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;" />
+	</class>
+	<class name="android/view/LayoutInflater$Filter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onLoadClass(Ljava/lang/Class;)Z" />
+	</class>
+	<class name="android/view/Menu" since="1">
+		<extends name="java/lang/Object" />
+		<method name="add(I)Landroid/view/MenuItem;" />
+		<method name="add(IIII)Landroid/view/MenuItem;" />
+		<method name="add(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;" />
+		<method name="add(Ljava/lang/CharSequence;)Landroid/view/MenuItem;" />
+		<method name="addIntentOptions(IIILandroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I[Landroid/view/MenuItem;)I" />
+		<method name="addSubMenu(I)Landroid/view/SubMenu;" />
+		<method name="addSubMenu(IIII)Landroid/view/SubMenu;" />
+		<method name="addSubMenu(IIILjava/lang/CharSequence;)Landroid/view/SubMenu;" />
+		<method name="addSubMenu(Ljava/lang/CharSequence;)Landroid/view/SubMenu;" />
+		<method name="clear()V" />
+		<method name="close()V" since="3" />
+		<method name="findItem(I)Landroid/view/MenuItem;" />
+		<method name="getItem(I)Landroid/view/MenuItem;" since="3" />
+		<method name="hasVisibleItems()Z" />
+		<method name="isShortcutKey(ILandroid/view/KeyEvent;)Z" />
+		<method name="performIdentifierAction(II)Z" />
+		<method name="performShortcut(ILandroid/view/KeyEvent;I)Z" />
+		<method name="removeGroup(I)V" />
+		<method name="removeItem(I)V" />
+		<method name="setGroupCheckable(IZZ)V" />
+		<method name="setGroupDividerEnabled(Z)V" since="28" />
+		<method name="setGroupEnabled(IZ)V" />
+		<method name="setGroupVisible(IZ)V" />
+		<method name="setQwertyMode(Z)V" />
+		<method name="size()I" />
+		<field name="CATEGORY_ALTERNATIVE" />
+		<field name="CATEGORY_CONTAINER" />
+		<field name="CATEGORY_SECONDARY" />
+		<field name="CATEGORY_SYSTEM" />
+		<field name="FIRST" />
+		<field name="FLAG_ALWAYS_PERFORM_CLOSE" />
+		<field name="FLAG_APPEND_TO_GROUP" />
+		<field name="FLAG_PERFORM_NO_CLOSE" />
+		<field name="NONE" />
+		<field name="SUPPORTED_MODIFIERS_MASK" since="26" />
+	</class>
+	<class name="android/view/MenuInflater" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="inflate(ILandroid/view/Menu;)V" />
+	</class>
+	<class name="android/view/MenuItem" since="1">
+		<extends name="java/lang/Object" />
+		<method name="collapseActionView()Z" since="14" />
+		<method name="expandActionView()Z" since="14" />
+		<method name="getActionProvider()Landroid/view/ActionProvider;" since="14" />
+		<method name="getActionView()Landroid/view/View;" since="11" />
+		<method name="getAlphabeticModifiers()I" since="26" />
+		<method name="getAlphabeticShortcut()C" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" since="26" />
+		<method name="getGroupId()I" />
+		<method name="getIcon()Landroid/graphics/drawable/Drawable;" />
+		<method name="getIconTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getIconTintList()Landroid/content/res/ColorStateList;" since="26" />
+		<method name="getIconTintMode()Landroid/graphics/PorterDuff$Mode;" since="26" />
+		<method name="getIntent()Landroid/content/Intent;" />
+		<method name="getItemId()I" />
+		<method name="getMenuInfo()Landroid/view/ContextMenu$ContextMenuInfo;" />
+		<method name="getNumericModifiers()I" since="26" />
+		<method name="getNumericShortcut()C" />
+		<method name="getOrder()I" />
+		<method name="getSubMenu()Landroid/view/SubMenu;" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<method name="getTitleCondensed()Ljava/lang/CharSequence;" />
+		<method name="getTooltipText()Ljava/lang/CharSequence;" since="26" />
+		<method name="hasSubMenu()Z" />
+		<method name="isActionViewExpanded()Z" since="14" />
+		<method name="isCheckable()Z" />
+		<method name="isChecked()Z" />
+		<method name="isEnabled()Z" />
+		<method name="isVisible()Z" />
+		<method name="setActionProvider(Landroid/view/ActionProvider;)Landroid/view/MenuItem;" since="14" />
+		<method name="setActionView(I)Landroid/view/MenuItem;" since="11" />
+		<method name="setActionView(Landroid/view/View;)Landroid/view/MenuItem;" since="11" />
+		<method name="setAlphabeticShortcut(C)Landroid/view/MenuItem;" />
+		<method name="setAlphabeticShortcut(CI)Landroid/view/MenuItem;" since="26" />
+		<method name="setCheckable(Z)Landroid/view/MenuItem;" />
+		<method name="setChecked(Z)Landroid/view/MenuItem;" />
+		<method name="setContentDescription(Ljava/lang/CharSequence;)Landroid/view/MenuItem;" since="26" />
+		<method name="setEnabled(Z)Landroid/view/MenuItem;" />
+		<method name="setIcon(I)Landroid/view/MenuItem;" />
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/MenuItem;" />
+		<method name="setIconTintBlendMode(Landroid/graphics/BlendMode;)Landroid/view/MenuItem;" since="29" />
+		<method name="setIconTintList(Landroid/content/res/ColorStateList;)Landroid/view/MenuItem;" since="26" />
+		<method name="setIconTintMode(Landroid/graphics/PorterDuff$Mode;)Landroid/view/MenuItem;" since="26" />
+		<method name="setIntent(Landroid/content/Intent;)Landroid/view/MenuItem;" />
+		<method name="setNumericShortcut(C)Landroid/view/MenuItem;" />
+		<method name="setNumericShortcut(CI)Landroid/view/MenuItem;" since="26" />
+		<method name="setOnActionExpandListener(Landroid/view/MenuItem$OnActionExpandListener;)Landroid/view/MenuItem;" since="14" />
+		<method name="setOnMenuItemClickListener(Landroid/view/MenuItem$OnMenuItemClickListener;)Landroid/view/MenuItem;" />
+		<method name="setShortcut(CC)Landroid/view/MenuItem;" />
+		<method name="setShortcut(CCII)Landroid/view/MenuItem;" since="26" />
+		<method name="setShowAsAction(I)V" since="11" />
+		<method name="setShowAsActionFlags(I)Landroid/view/MenuItem;" since="14" />
+		<method name="setTitle(I)Landroid/view/MenuItem;" />
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/view/MenuItem;" />
+		<method name="setTitleCondensed(Ljava/lang/CharSequence;)Landroid/view/MenuItem;" />
+		<method name="setTooltipText(Ljava/lang/CharSequence;)Landroid/view/MenuItem;" since="26" />
+		<method name="setVisible(Z)Landroid/view/MenuItem;" />
+		<field name="SHOW_AS_ACTION_ALWAYS" since="11" />
+		<field name="SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW" since="14" />
+		<field name="SHOW_AS_ACTION_IF_ROOM" since="11" />
+		<field name="SHOW_AS_ACTION_NEVER" since="11" />
+		<field name="SHOW_AS_ACTION_WITH_TEXT" since="11" />
+	</class>
+	<class name="android/view/MenuItem$OnActionExpandListener" since="14">
+		<extends name="java/lang/Object" />
+		<method name="onMenuItemActionCollapse(Landroid/view/MenuItem;)Z" />
+		<method name="onMenuItemActionExpand(Landroid/view/MenuItem;)Z" />
+	</class>
+	<class name="android/view/MenuItem$OnMenuItemClickListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onMenuItemClick(Landroid/view/MenuItem;)Z" />
+	</class>
+	<class name="android/view/MotionEvent" since="1">
+		<extends name="android/view/InputEvent" since="9" />
+		<extends name="java/lang/Object" removed="9" />
+		<implements name="android/os/Parcelable" />
+		<method name="actionToString(I)Ljava/lang/String;" since="19" />
+		<method name="addBatch(JFFFFI)V" />
+		<method name="addBatch(J[Landroid/view/MotionEvent$PointerCoords;I)V" since="9" />
+		<method name="axisFromString(Ljava/lang/String;)I" since="12" />
+		<method name="axisToString(I)Ljava/lang/String;" since="12" />
+		<method name="findPointerIndex(I)I" since="5" />
+		<method name="getAction()I" />
+		<method name="getActionButton()I" since="23" />
+		<method name="getActionIndex()I" since="8" />
+		<method name="getActionMasked()I" since="8" />
+		<method name="getAxisValue(I)F" since="12" />
+		<method name="getAxisValue(II)F" since="12" />
+		<method name="getButtonState()I" since="14" />
+		<method name="getClassification()I" since="29" />
+		<method name="getDeviceId()I" />
+		<method name="getDownTime()J" />
+		<method name="getEdgeFlags()I" />
+		<method name="getEventTime()J" />
+		<method name="getFlags()I" since="9" />
+		<method name="getHistoricalAxisValue(II)F" since="12" />
+		<method name="getHistoricalAxisValue(III)F" since="12" />
+		<method name="getHistoricalEventTime(I)J" />
+		<method name="getHistoricalOrientation(I)F" since="9" />
+		<method name="getHistoricalOrientation(II)F" since="9" />
+		<method name="getHistoricalPointerCoords(IILandroid/view/MotionEvent$PointerCoords;)V" since="9" />
+		<method name="getHistoricalPressure(I)F" />
+		<method name="getHistoricalPressure(II)F" since="5" />
+		<method name="getHistoricalSize(I)F" />
+		<method name="getHistoricalSize(II)F" since="5" />
+		<method name="getHistoricalToolMajor(I)F" since="9" />
+		<method name="getHistoricalToolMajor(II)F" since="9" />
+		<method name="getHistoricalToolMinor(I)F" since="9" />
+		<method name="getHistoricalToolMinor(II)F" since="9" />
+		<method name="getHistoricalTouchMajor(I)F" since="9" />
+		<method name="getHistoricalTouchMajor(II)F" since="9" />
+		<method name="getHistoricalTouchMinor(I)F" since="9" />
+		<method name="getHistoricalTouchMinor(II)F" since="9" />
+		<method name="getHistoricalX(I)F" />
+		<method name="getHistoricalX(II)F" since="5" />
+		<method name="getHistoricalY(I)F" />
+		<method name="getHistoricalY(II)F" since="5" />
+		<method name="getHistorySize()I" />
+		<method name="getMetaState()I" />
+		<method name="getOrientation()F" since="9" />
+		<method name="getOrientation(I)F" since="9" />
+		<method name="getPointerCoords(ILandroid/view/MotionEvent$PointerCoords;)V" since="9" />
+		<method name="getPointerCount()I" since="5" />
+		<method name="getPointerId(I)I" since="5" />
+		<method name="getPointerProperties(ILandroid/view/MotionEvent$PointerProperties;)V" since="14" />
+		<method name="getPressure()F" />
+		<method name="getPressure(I)F" since="5" />
+		<method name="getRawX()F" />
+		<method name="getRawX(I)F" since="29" />
+		<method name="getRawY()F" />
+		<method name="getRawY(I)F" since="29" />
+		<method name="getSize()F" />
+		<method name="getSize(I)F" since="5" />
+		<method name="getToolMajor()F" since="9" />
+		<method name="getToolMajor(I)F" since="9" />
+		<method name="getToolMinor()F" since="9" />
+		<method name="getToolMinor(I)F" since="9" />
+		<method name="getToolType(I)I" since="14" />
+		<method name="getTouchMajor()F" since="9" />
+		<method name="getTouchMajor(I)F" since="9" />
+		<method name="getTouchMinor()F" since="9" />
+		<method name="getTouchMinor(I)F" since="9" />
+		<method name="getX()F" />
+		<method name="getX(I)F" since="5" />
+		<method name="getXPrecision()F" />
+		<method name="getY()F" />
+		<method name="getY(I)F" since="5" />
+		<method name="getYPrecision()F" />
+		<method name="isButtonPressed(I)Z" since="21" />
+		<method name="obtain(JJIFFFFIFFII)Landroid/view/MotionEvent;" />
+		<method name="obtain(JJIFFI)Landroid/view/MotionEvent;" />
+		<method name="obtain(JJIIFFFFIFFII)Landroid/view/MotionEvent;" since="5" deprecated="15" />
+		<method name="obtain(JJII[I[Landroid/view/MotionEvent$PointerCoords;IFFIIII)Landroid/view/MotionEvent;" since="9" deprecated="15" />
+		<method name="obtain(JJII[Landroid/view/MotionEvent$PointerProperties;[Landroid/view/MotionEvent$PointerCoords;IIFFIIII)Landroid/view/MotionEvent;" since="14" />
+		<method name="obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;" />
+		<method name="obtainNoHistory(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;" since="5" />
+		<method name="offsetLocation(FF)V" />
+		<method name="recycle()V" />
+		<method name="setAction(I)V" />
+		<method name="setEdgeFlags(I)V" />
+		<method name="setLocation(FF)V" />
+		<method name="setSource(I)V" since="12" />
+		<method name="transform(Landroid/graphics/Matrix;)V" since="11" />
+		<field name="ACTION_BUTTON_PRESS" since="23" />
+		<field name="ACTION_BUTTON_RELEASE" since="23" />
+		<field name="ACTION_CANCEL" />
+		<field name="ACTION_DOWN" />
+		<field name="ACTION_HOVER_ENTER" since="14" />
+		<field name="ACTION_HOVER_EXIT" since="14" />
+		<field name="ACTION_HOVER_MOVE" since="12" />
+		<field name="ACTION_MASK" since="5" />
+		<field name="ACTION_MOVE" />
+		<field name="ACTION_OUTSIDE" since="3" />
+		<field name="ACTION_POINTER_1_DOWN" since="5" deprecated="15" />
+		<field name="ACTION_POINTER_1_UP" since="5" deprecated="15" />
+		<field name="ACTION_POINTER_2_DOWN" since="5" deprecated="15" />
+		<field name="ACTION_POINTER_2_UP" since="5" deprecated="15" />
+		<field name="ACTION_POINTER_3_DOWN" since="5" deprecated="15" />
+		<field name="ACTION_POINTER_3_UP" since="5" deprecated="15" />
+		<field name="ACTION_POINTER_DOWN" since="5" />
+		<field name="ACTION_POINTER_ID_MASK" since="5" deprecated="15" />
+		<field name="ACTION_POINTER_ID_SHIFT" since="5" deprecated="15" />
+		<field name="ACTION_POINTER_INDEX_MASK" since="8" />
+		<field name="ACTION_POINTER_INDEX_SHIFT" since="8" />
+		<field name="ACTION_POINTER_UP" since="5" />
+		<field name="ACTION_SCROLL" since="12" />
+		<field name="ACTION_UP" />
+		<field name="AXIS_BRAKE" since="12" />
+		<field name="AXIS_DISTANCE" since="14" />
+		<field name="AXIS_GAS" since="12" />
+		<field name="AXIS_GENERIC_1" since="12" />
+		<field name="AXIS_GENERIC_10" since="12" />
+		<field name="AXIS_GENERIC_11" since="12" />
+		<field name="AXIS_GENERIC_12" since="12" />
+		<field name="AXIS_GENERIC_13" since="12" />
+		<field name="AXIS_GENERIC_14" since="12" />
+		<field name="AXIS_GENERIC_15" since="12" />
+		<field name="AXIS_GENERIC_16" since="12" />
+		<field name="AXIS_GENERIC_2" since="12" />
+		<field name="AXIS_GENERIC_3" since="12" />
+		<field name="AXIS_GENERIC_4" since="12" />
+		<field name="AXIS_GENERIC_5" since="12" />
+		<field name="AXIS_GENERIC_6" since="12" />
+		<field name="AXIS_GENERIC_7" since="12" />
+		<field name="AXIS_GENERIC_8" since="12" />
+		<field name="AXIS_GENERIC_9" since="12" />
+		<field name="AXIS_HAT_X" since="12" />
+		<field name="AXIS_HAT_Y" since="12" />
+		<field name="AXIS_HSCROLL" since="12" />
+		<field name="AXIS_LTRIGGER" since="12" />
+		<field name="AXIS_ORIENTATION" since="12" />
+		<field name="AXIS_PRESSURE" since="12" />
+		<field name="AXIS_RELATIVE_X" since="24" />
+		<field name="AXIS_RELATIVE_Y" since="24" />
+		<field name="AXIS_RTRIGGER" since="12" />
+		<field name="AXIS_RUDDER" since="12" />
+		<field name="AXIS_RX" since="12" />
+		<field name="AXIS_RY" since="12" />
+		<field name="AXIS_RZ" since="12" />
+		<field name="AXIS_SCROLL" since="26" />
+		<field name="AXIS_SIZE" since="12" />
+		<field name="AXIS_THROTTLE" since="12" />
+		<field name="AXIS_TILT" since="14" />
+		<field name="AXIS_TOOL_MAJOR" since="12" />
+		<field name="AXIS_TOOL_MINOR" since="12" />
+		<field name="AXIS_TOUCH_MAJOR" since="12" />
+		<field name="AXIS_TOUCH_MINOR" since="12" />
+		<field name="AXIS_VSCROLL" since="12" />
+		<field name="AXIS_WHEEL" since="12" />
+		<field name="AXIS_X" since="12" />
+		<field name="AXIS_Y" since="12" />
+		<field name="AXIS_Z" since="12" />
+		<field name="BUTTON_BACK" since="14" />
+		<field name="BUTTON_FORWARD" since="14" />
+		<field name="BUTTON_PRIMARY" since="14" />
+		<field name="BUTTON_SECONDARY" since="14" />
+		<field name="BUTTON_STYLUS_PRIMARY" since="23" />
+		<field name="BUTTON_STYLUS_SECONDARY" since="23" />
+		<field name="BUTTON_TERTIARY" since="14" />
+		<field name="CLASSIFICATION_AMBIGUOUS_GESTURE" since="29" />
+		<field name="CLASSIFICATION_DEEP_PRESS" since="29" />
+		<field name="CLASSIFICATION_NONE" since="29" />
+		<field name="CREATOR" />
+		<field name="EDGE_BOTTOM" />
+		<field name="EDGE_LEFT" />
+		<field name="EDGE_RIGHT" />
+		<field name="EDGE_TOP" />
+		<field name="FLAG_WINDOW_IS_OBSCURED" since="9" />
+		<field name="FLAG_WINDOW_IS_PARTIALLY_OBSCURED" since="29" />
+		<field name="INVALID_POINTER_ID" since="14" />
+		<field name="TOOL_TYPE_ERASER" since="14" />
+		<field name="TOOL_TYPE_FINGER" since="14" />
+		<field name="TOOL_TYPE_MOUSE" since="14" />
+		<field name="TOOL_TYPE_STYLUS" since="14" />
+		<field name="TOOL_TYPE_UNKNOWN" since="14" />
+	</class>
+	<class name="android/view/MotionEvent$PointerCoords" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/view/MotionEvent$PointerCoords;)V" since="12" />
+		<method name="clear()V" since="12" />
+		<method name="copyFrom(Landroid/view/MotionEvent$PointerCoords;)V" since="12" />
+		<method name="getAxisValue(I)F" since="12" />
+		<method name="setAxisValue(IF)V" since="12" />
+		<field name="orientation" />
+		<field name="pressure" />
+		<field name="size" />
+		<field name="toolMajor" />
+		<field name="toolMinor" />
+		<field name="touchMajor" />
+		<field name="touchMinor" />
+		<field name="x" />
+		<field name="y" />
+	</class>
+	<class name="android/view/MotionEvent$PointerProperties" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/view/MotionEvent$PointerProperties;)V" />
+		<method name="clear()V" />
+		<method name="copyFrom(Landroid/view/MotionEvent$PointerProperties;)V" />
+		<field name="id" />
+		<field name="toolType" />
+	</class>
+	<class name="android/view/OnReceiveContentListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onReceiveContent(Landroid/view/View;Landroid/view/ContentInfo;)Landroid/view/ContentInfo;" />
+	</class>
+	<class name="android/view/OrientationEventListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" />
+		<method name="canDetectOrientation()Z" />
+		<method name="disable()V" />
+		<method name="enable()V" />
+		<method name="onOrientationChanged(I)V" />
+		<field name="ORIENTATION_UNKNOWN" />
+	</class>
+	<class name="android/view/OrientationListener" since="1" deprecated="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/hardware/SensorListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" since="3" deprecated="29" />
+		<method name="disable()V" deprecated="29" />
+		<method name="enable()V" deprecated="29" />
+		<method name="onOrientationChanged(I)V" deprecated="29" />
+		<field name="ORIENTATION_UNKNOWN" deprecated="29" />
+	</class>
+	<class name="android/view/PixelCopy" since="24">
+		<extends name="java/lang/Object" />
+		<method name="request(Landroid/view/Surface;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V" />
+		<method name="request(Landroid/view/Surface;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V" since="26" />
+		<method name="request(Landroid/view/SurfaceView;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V" />
+		<method name="request(Landroid/view/SurfaceView;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V" since="26" />
+		<method name="request(Landroid/view/Window;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V" since="26" />
+		<method name="request(Landroid/view/Window;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V" since="26" />
+		<field name="ERROR_DESTINATION_INVALID" />
+		<field name="ERROR_SOURCE_INVALID" />
+		<field name="ERROR_SOURCE_NO_DATA" />
+		<field name="ERROR_TIMEOUT" />
+		<field name="ERROR_UNKNOWN" />
+		<field name="SUCCESS" />
+	</class>
+	<class name="android/view/PixelCopy$OnPixelCopyFinishedListener" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onPixelCopyFinished(I)V" />
+	</class>
+	<class name="android/view/PointerIcon" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="create(Landroid/graphics/Bitmap;FF)Landroid/view/PointerIcon;" />
+		<method name="getSystemIcon(Landroid/content/Context;I)Landroid/view/PointerIcon;" />
+		<method name="load(Landroid/content/res/Resources;I)Landroid/view/PointerIcon;" />
+		<field name="CREATOR" />
+		<field name="TYPE_ALIAS" />
+		<field name="TYPE_ALL_SCROLL" />
+		<field name="TYPE_ARROW" />
+		<field name="TYPE_CELL" />
+		<field name="TYPE_CONTEXT_MENU" />
+		<field name="TYPE_COPY" />
+		<field name="TYPE_CROSSHAIR" />
+		<field name="TYPE_DEFAULT" />
+		<field name="TYPE_GRAB" />
+		<field name="TYPE_GRABBING" />
+		<field name="TYPE_HAND" />
+		<field name="TYPE_HELP" />
+		<field name="TYPE_HORIZONTAL_DOUBLE_ARROW" />
+		<field name="TYPE_NO_DROP" />
+		<field name="TYPE_NULL" />
+		<field name="TYPE_TEXT" />
+		<field name="TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW" />
+		<field name="TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW" />
+		<field name="TYPE_VERTICAL_DOUBLE_ARROW" />
+		<field name="TYPE_VERTICAL_TEXT" />
+		<field name="TYPE_WAIT" />
+		<field name="TYPE_ZOOM_IN" />
+		<field name="TYPE_ZOOM_OUT" />
+	</class>
+	<class name="android/view/RoundedCorner" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(IIII)V" />
+		<method name="getCenter()Landroid/graphics/Point;" />
+		<method name="getPosition()I" />
+		<method name="getRadius()I" />
+		<field name="CREATOR" />
+		<field name="POSITION_BOTTOM_LEFT" />
+		<field name="POSITION_BOTTOM_RIGHT" />
+		<field name="POSITION_TOP_LEFT" />
+		<field name="POSITION_TOP_RIGHT" />
+	</class>
+	<class name="android/view/ScaleGestureDetector" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;Landroid/os/Handler;)V" since="19" />
+		<method name="getCurrentSpan()F" />
+		<method name="getCurrentSpanX()F" since="11" />
+		<method name="getCurrentSpanY()F" since="11" />
+		<method name="getEventTime()J" />
+		<method name="getFocusX()F" />
+		<method name="getFocusY()F" />
+		<method name="getPreviousSpan()F" />
+		<method name="getPreviousSpanX()F" since="11" />
+		<method name="getPreviousSpanY()F" since="11" />
+		<method name="getScaleFactor()F" />
+		<method name="getTimeDelta()J" />
+		<method name="isInProgress()Z" />
+		<method name="isQuickScaleEnabled()Z" since="19" />
+		<method name="isStylusScaleEnabled()Z" since="23" />
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="setQuickScaleEnabled(Z)V" since="19" />
+		<method name="setStylusScaleEnabled(Z)V" since="23" />
+	</class>
+	<class name="android/view/ScaleGestureDetector$OnScaleGestureListener" since="8">
+		<extends name="java/lang/Object" />
+		<method name="onScale(Landroid/view/ScaleGestureDetector;)Z" />
+		<method name="onScaleBegin(Landroid/view/ScaleGestureDetector;)Z" />
+		<method name="onScaleEnd(Landroid/view/ScaleGestureDetector;)V" />
+	</class>
+	<class name="android/view/ScaleGestureDetector$SimpleOnScaleGestureListener" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/ScaleGestureDetector$OnScaleGestureListener" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/view/ScrollCaptureCallback" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onScrollCaptureEnd(Ljava/lang/Runnable;)V" />
+		<method name="onScrollCaptureImageRequest(Landroid/view/ScrollCaptureSession;Landroid/os/CancellationSignal;Landroid/graphics/Rect;Ljava/util/function/Consumer;)V" />
+		<method name="onScrollCaptureSearch(Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V" />
+		<method name="onScrollCaptureStart(Landroid/view/ScrollCaptureSession;Landroid/os/CancellationSignal;Ljava/lang/Runnable;)V" />
+	</class>
+	<class name="android/view/ScrollCaptureSession" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/Surface;Landroid/graphics/Rect;Landroid/graphics/Point;)V" />
+		<method name="getPositionInWindow()Landroid/graphics/Point;" />
+		<method name="getScrollBounds()Landroid/graphics/Rect;" />
+		<method name="getSurface()Landroid/view/Surface;" />
+	</class>
+	<class name="android/view/ScrollCaptureTarget" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Landroid/view/ScrollCaptureCallback;)V" />
+		<method name="getCallback()Landroid/view/ScrollCaptureCallback;" />
+		<method name="getContainingView()Landroid/view/View;" />
+		<method name="getHint()I" />
+		<method name="getLocalVisibleRect()Landroid/graphics/Rect;" />
+		<method name="getPositionInWindow()Landroid/graphics/Point;" />
+		<method name="getScrollBounds()Landroid/graphics/Rect;" />
+		<method name="setScrollBounds(Landroid/graphics/Rect;)V" />
+		<method name="updatePositionInWindow()V" />
+	</class>
+	<class name="android/view/SearchEvent" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/InputDevice;)V" />
+		<method name="getInputDevice()Landroid/view/InputDevice;" />
+	</class>
+	<class name="android/view/SoundEffectConstants" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getConstantForFocusDirection(IZ)I" since="31" />
+		<method name="getContantForFocusDirection(I)I" />
+		<field name="CLICK" />
+		<field name="NAVIGATION_DOWN" />
+		<field name="NAVIGATION_LEFT" />
+		<field name="NAVIGATION_REPEAT_DOWN" since="31" />
+		<field name="NAVIGATION_REPEAT_LEFT" since="31" />
+		<field name="NAVIGATION_REPEAT_RIGHT" since="31" />
+		<field name="NAVIGATION_REPEAT_UP" since="31" />
+		<field name="NAVIGATION_RIGHT" />
+		<field name="NAVIGATION_UP" />
+	</class>
+	<class name="android/view/SubMenu" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/Menu" />
+		<method name="clearHeader()V" />
+		<method name="getItem()Landroid/view/MenuItem;" />
+		<method name="setHeaderIcon(I)Landroid/view/SubMenu;" />
+		<method name="setHeaderIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/SubMenu;" />
+		<method name="setHeaderTitle(I)Landroid/view/SubMenu;" />
+		<method name="setHeaderTitle(Ljava/lang/CharSequence;)Landroid/view/SubMenu;" />
+		<method name="setHeaderView(Landroid/view/View;)Landroid/view/SubMenu;" />
+		<method name="setIcon(I)Landroid/view/SubMenu;" />
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/SubMenu;" />
+	</class>
+	<class name="android/view/Surface" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/graphics/SurfaceTexture;)V" since="14" />
+		<method name="&lt;init&gt;(Landroid/view/SurfaceControl;)V" since="29" />
+		<method name="freeze()V" removed="14" />
+		<method name="hide()V" removed="14" />
+		<method name="isValid()Z" />
+		<method name="lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;" />
+		<method name="lockHardwareCanvas()Landroid/graphics/Canvas;" since="23" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<method name="release()V" since="14" />
+		<method name="setAlpha(F)V" removed="14" />
+		<method name="setFlags(II)V" removed="14" />
+		<method name="setFrameRate(FI)V" since="30" />
+		<method name="setFrameRate(FII)V" since="31" />
+		<method name="setFreezeTint(I)V" removed="14" />
+		<method name="setLayer(I)V" removed="14" />
+		<method name="setMatrix(FFFF)V" removed="14" />
+		<method name="setOrientation(II)V" removed="14" />
+		<method name="setPosition(II)V" removed="14" />
+		<method name="setSize(II)V" removed="14" />
+		<method name="setTransparentRegionHint(Landroid/graphics/Region;)V" removed="14" />
+		<method name="show()V" removed="14" />
+		<method name="unfreeze()V" removed="14" />
+		<method name="unlockCanvas(Landroid/graphics/Canvas;)V" deprecated="17" />
+		<method name="unlockCanvasAndPost(Landroid/graphics/Canvas;)V" />
+		<field name="CHANGE_FRAME_RATE_ALWAYS" since="31" />
+		<field name="CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS" since="31" />
+		<field name="CREATOR" />
+		<field name="FRAME_RATE_COMPATIBILITY_DEFAULT" since="30" />
+		<field name="FRAME_RATE_COMPATIBILITY_FIXED_SOURCE" since="30" />
+		<field name="FX_SURFACE_BLUR" removed="14" />
+		<field name="FX_SURFACE_DIM" removed="14" />
+		<field name="FX_SURFACE_MASK" removed="14" />
+		<field name="FX_SURFACE_NORMAL" removed="14" />
+		<field name="GPU" removed="14" />
+		<field name="HARDWARE" removed="14" />
+		<field name="HIDDEN" removed="14" />
+		<field name="NON_PREMULTIPLIED" removed="14" />
+		<field name="PUSH_BUFFERS" removed="14" />
+		<field name="ROTATION_0" />
+		<field name="ROTATION_180" />
+		<field name="ROTATION_270" />
+		<field name="ROTATION_90" />
+		<field name="SECURE" removed="14" />
+		<field name="SURACE_FROZEN" removed="14" />
+		<field name="SURFACE_BLUR_FREEZE" removed="14" />
+		<field name="SURFACE_DITHER" removed="14" />
+		<field name="SURFACE_FROZEN" since="4" removed="14" />
+		<field name="SURFACE_HIDDEN" removed="14" />
+	</class>
+	<class name="android/view/Surface$OutOfResourcesException" since="1">
+		<extends name="java/lang/Exception" removed="19" />
+		<extends name="java/lang/RuntimeException" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/view/SurfaceControl" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="isValid()Z" />
+		<method name="readFromParcel(Landroid/os/Parcel;)V" />
+		<method name="release()V" />
+		<field name="BUFFER_TRANSFORM_IDENTITY" since="33" />
+		<field name="BUFFER_TRANSFORM_MIRROR_HORIZONTAL" since="33" />
+		<field name="BUFFER_TRANSFORM_MIRROR_VERTICAL" since="33" />
+		<field name="BUFFER_TRANSFORM_ROTATE_180" since="33" />
+		<field name="BUFFER_TRANSFORM_ROTATE_270" since="33" />
+		<field name="BUFFER_TRANSFORM_ROTATE_90" since="33" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/SurfaceControl$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/view/SurfaceControl;" />
+		<method name="setBufferSize(II)Landroid/view/SurfaceControl$Builder;" />
+		<method name="setFormat(I)Landroid/view/SurfaceControl$Builder;" />
+		<method name="setName(Ljava/lang/String;)Landroid/view/SurfaceControl$Builder;" />
+		<method name="setOpaque(Z)Landroid/view/SurfaceControl$Builder;" />
+		<method name="setParent(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Builder;" />
+	</class>
+	<class name="android/view/SurfaceControl$Transaction" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="30" />
+		<implements name="java/io/Closeable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="apply()V" />
+		<method name="merge(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl$Transaction;" />
+		<method name="reparent(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;" />
+		<method name="setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;" />
+		<method name="setBufferSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;" />
+		<method name="setFrameRate(Landroid/view/SurfaceControl;FI)Landroid/view/SurfaceControl$Transaction;" since="30" />
+		<method name="setFrameRate(Landroid/view/SurfaceControl;FII)Landroid/view/SurfaceControl$Transaction;" since="31" />
+		<method name="setGeometry(Landroid/view/SurfaceControl;Landroid/graphics/Rect;Landroid/graphics/Rect;I)Landroid/view/SurfaceControl$Transaction;" />
+		<method name="setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;" />
+		<method name="setVisibility(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;" />
+		<field name="CREATOR" since="30" />
+	</class>
+	<class name="android/view/SurfaceControlViewHost" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/Display;Landroid/os/IBinder;)V" />
+		<method name="getSurfacePackage()Landroid/view/SurfaceControlViewHost$SurfacePackage;" />
+		<method name="getView()Landroid/view/View;" />
+		<method name="relayout(II)V" />
+		<method name="release()V" />
+		<method name="setView(Landroid/view/View;II)V" />
+	</class>
+	<class name="android/view/SurfaceControlViewHost$SurfacePackage" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/view/SurfaceControlViewHost$SurfacePackage;)V" since="31" />
+		<method name="release()V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/SurfaceHolder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addCallback(Landroid/view/SurfaceHolder$Callback;)V" />
+		<method name="getSurface()Landroid/view/Surface;" />
+		<method name="getSurfaceFrame()Landroid/graphics/Rect;" />
+		<method name="isCreating()Z" />
+		<method name="lockCanvas()Landroid/graphics/Canvas;" />
+		<method name="lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;" />
+		<method name="lockHardwareCanvas()Landroid/graphics/Canvas;" since="26" />
+		<method name="removeCallback(Landroid/view/SurfaceHolder$Callback;)V" />
+		<method name="setFixedSize(II)V" />
+		<method name="setFormat(I)V" />
+		<method name="setKeepScreenOn(Z)V" />
+		<method name="setSizeFromLayout()V" />
+		<method name="setType(I)V" deprecated="15" />
+		<method name="unlockCanvasAndPost(Landroid/graphics/Canvas;)V" />
+		<field name="SURFACE_TYPE_GPU" deprecated="15" />
+		<field name="SURFACE_TYPE_HARDWARE" deprecated="15" />
+		<field name="SURFACE_TYPE_NORMAL" deprecated="15" />
+		<field name="SURFACE_TYPE_PUSH_BUFFERS" deprecated="15" />
+	</class>
+	<class name="android/view/SurfaceHolder$BadSurfaceTypeException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/view/SurfaceHolder$Callback" since="1">
+		<extends name="java/lang/Object" />
+		<method name="surfaceChanged(Landroid/view/SurfaceHolder;III)V" />
+		<method name="surfaceCreated(Landroid/view/SurfaceHolder;)V" />
+		<method name="surfaceDestroyed(Landroid/view/SurfaceHolder;)V" />
+	</class>
+	<class name="android/view/SurfaceHolder$Callback2" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/SurfaceHolder$Callback" />
+		<method name="surfaceRedrawNeeded(Landroid/view/SurfaceHolder;)V" />
+		<method name="surfaceRedrawNeededAsync(Landroid/view/SurfaceHolder;Ljava/lang/Runnable;)V" since="26" />
+	</class>
+	<class name="android/view/SurfaceView" since="1">
+		<extends name="android/view/View" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="gatherTransparentRegion(Landroid/graphics/Region;)Z" />
+		<method name="getHolder()Landroid/view/SurfaceHolder;" />
+		<method name="getHostToken()Landroid/os/IBinder;" since="30" />
+		<method name="getSurfaceControl()Landroid/view/SurfaceControl;" since="29" />
+		<method name="setChildSurfacePackage(Landroid/view/SurfaceControlViewHost$SurfacePackage;)V" since="30" />
+		<method name="setSecure(Z)V" since="17" />
+		<method name="setZOrderMediaOverlay(Z)V" since="5" />
+		<method name="setZOrderOnTop(Z)V" since="5" />
+	</class>
+	<class name="android/view/TextureView" since="14">
+		<extends name="android/view/View" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getBitmap()Landroid/graphics/Bitmap;" />
+		<method name="getBitmap(II)Landroid/graphics/Bitmap;" />
+		<method name="getBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;" />
+		<method name="getSurfaceTexture()Landroid/graphics/SurfaceTexture;" />
+		<method name="getSurfaceTextureListener()Landroid/view/TextureView$SurfaceTextureListener;" />
+		<method name="getTransform(Landroid/graphics/Matrix;)Landroid/graphics/Matrix;" />
+		<method name="isAvailable()Z" />
+		<method name="lockCanvas()Landroid/graphics/Canvas;" />
+		<method name="lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;" />
+		<method name="setOpaque(Z)V" />
+		<method name="setSurfaceTexture(Landroid/graphics/SurfaceTexture;)V" since="16" />
+		<method name="setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V" />
+		<method name="setTransform(Landroid/graphics/Matrix;)V" />
+		<method name="unlockCanvasAndPost(Landroid/graphics/Canvas;)V" />
+	</class>
+	<class name="android/view/TextureView$SurfaceTextureListener" since="14">
+		<extends name="java/lang/Object" />
+		<method name="onSurfaceTextureAvailable(Landroid/graphics/SurfaceTexture;II)V" />
+		<method name="onSurfaceTextureDestroyed(Landroid/graphics/SurfaceTexture;)Z" />
+		<method name="onSurfaceTextureSizeChanged(Landroid/graphics/SurfaceTexture;II)V" />
+		<method name="onSurfaceTextureUpdated(Landroid/graphics/SurfaceTexture;)V" />
+	</class>
+	<class name="android/view/TouchDelegate" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/Rect;Landroid/view/View;)V" />
+		<method name="getTouchDelegateInfo()Landroid/view/accessibility/AccessibilityNodeInfo$TouchDelegateInfo;" since="29" />
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onTouchExplorationHoverEvent(Landroid/view/MotionEvent;)Z" since="29" />
+		<field name="ABOVE" />
+		<field name="BELOW" />
+		<field name="TO_LEFT" />
+		<field name="TO_RIGHT" />
+	</class>
+	<class name="android/view/VelocityTracker" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addMovement(Landroid/view/MotionEvent;)V" />
+		<method name="clear()V" />
+		<method name="computeCurrentVelocity(I)V" />
+		<method name="computeCurrentVelocity(IF)V" since="4" />
+		<method name="getXVelocity()F" />
+		<method name="getXVelocity(I)F" since="8" />
+		<method name="getYVelocity()F" />
+		<method name="getYVelocity(I)F" since="8" />
+		<method name="obtain()Landroid/view/VelocityTracker;" />
+		<method name="recycle()V" />
+	</class>
+	<class name="android/view/VerifiedInputEvent" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getDeviceId()I" />
+		<method name="getDisplayId()I" />
+		<method name="getEventTimeNanos()J" />
+		<method name="getSource()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/VerifiedKeyEvent" since="30">
+		<extends name="android/view/VerifiedInputEvent" />
+		<method name="getAction()I" />
+		<method name="getDownTimeNanos()J" />
+		<method name="getFlag(I)Ljava/lang/Boolean;" />
+		<method name="getKeyCode()I" />
+		<method name="getMetaState()I" />
+		<method name="getRepeatCount()I" />
+		<method name="getScanCode()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/VerifiedMotionEvent" since="30">
+		<extends name="android/view/VerifiedInputEvent" />
+		<method name="getActionMasked()I" />
+		<method name="getButtonState()I" />
+		<method name="getDownTimeNanos()J" />
+		<method name="getFlag(I)Ljava/lang/Boolean;" />
+		<method name="getMetaState()I" />
+		<method name="getRawX()F" />
+		<method name="getRawY()F" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/View" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/graphics/drawable/Drawable$Callback" />
+		<implements name="android/view/KeyEvent$Callback" />
+		<implements name="android/view/accessibility/AccessibilityEventSource" since="4" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="addChildrenForAccessibility(Ljava/util/ArrayList;)V" since="16" />
+		<method name="addExtraDataToAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;Ljava/lang/String;Landroid/os/Bundle;)V" since="26" />
+		<method name="addFocusables(Ljava/util/ArrayList;I)V" />
+		<method name="addFocusables(Ljava/util/ArrayList;II)V" since="4" />
+		<method name="addKeyboardNavigationClusters(Ljava/util/Collection;I)V" since="26" />
+		<method name="addOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V" since="12" />
+		<method name="addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V" since="11" />
+		<method name="addOnUnhandledKeyEventListener(Landroid/view/View$OnUnhandledKeyEventListener;)V" since="28" />
+		<method name="addTouchables(Ljava/util/ArrayList;)V" />
+		<method name="animate()Landroid/view/ViewPropertyAnimator;" since="12" />
+		<method name="announceForAccessibility(Ljava/lang/CharSequence;)V" since="16" />
+		<method name="autofill(Landroid/util/SparseArray;)V" since="26" />
+		<method name="autofill(Landroid/view/autofill/AutofillValue;)V" since="26" />
+		<method name="awakenScrollBars()Z" since="5" />
+		<method name="awakenScrollBars(I)Z" since="5" />
+		<method name="awakenScrollBars(IZ)Z" since="5" />
+		<method name="bringToFront()V" />
+		<method name="buildDrawingCache()V" deprecated="28" />
+		<method name="buildDrawingCache(Z)V" since="4" deprecated="28" />
+		<method name="buildLayer()V" since="12" />
+		<method name="callOnClick()Z" since="15" />
+		<method name="canResolveLayoutDirection()Z" since="19" />
+		<method name="canResolveTextAlignment()Z" since="19" />
+		<method name="canResolveTextDirection()Z" since="19" />
+		<method name="canScrollHorizontally(I)Z" since="14" />
+		<method name="canScrollVertically(I)Z" since="14" />
+		<method name="cancelDragAndDrop()V" since="24" />
+		<method name="cancelLongPress()V" />
+		<method name="cancelPendingInputEvents()V" since="19" />
+		<method name="checkInputConnectionProxy(Landroid/view/View;)Z" since="3" />
+		<method name="clearAnimation()V" />
+		<method name="clearFocus()V" />
+		<method name="clearViewTranslationCallback()V" since="31" />
+		<method name="combineMeasuredStates(II)I" since="11" />
+		<method name="computeHorizontalScrollExtent()I" />
+		<method name="computeHorizontalScrollOffset()I" />
+		<method name="computeHorizontalScrollRange()I" />
+		<method name="computeScroll()V" />
+		<method name="computeSystemWindowInsets(Landroid/view/WindowInsets;Landroid/graphics/Rect;)Landroid/view/WindowInsets;" since="21" />
+		<method name="computeVerticalScrollExtent()I" />
+		<method name="computeVerticalScrollOffset()I" />
+		<method name="computeVerticalScrollRange()I" />
+		<method name="createAccessibilityNodeInfo()Landroid/view/accessibility/AccessibilityNodeInfo;" since="14" />
+		<method name="createContextMenu(Landroid/view/ContextMenu;)V" />
+		<method name="destroyDrawingCache()V" deprecated="28" />
+		<method name="dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;" since="20" />
+		<method name="dispatchCapturedPointerEvent(Landroid/view/MotionEvent;)Z" since="26" />
+		<method name="dispatchConfigurationChanged(Landroid/content/res/Configuration;)V" since="8" />
+		<method name="dispatchCreateViewTranslationRequest(Ljava/util/Map;[ILandroid/view/translation/TranslationCapability;Ljava/util/List;)V" since="31" />
+		<method name="dispatchDisplayHint(I)V" since="8" />
+		<method name="dispatchDragEvent(Landroid/view/DragEvent;)Z" since="11" />
+		<method name="dispatchDraw(Landroid/graphics/Canvas;)V" />
+		<method name="dispatchDrawableHotspotChanged(FF)V" since="22" />
+		<method name="dispatchFinishTemporaryDetach()V" since="24" />
+		<method name="dispatchGenericFocusedEvent(Landroid/view/MotionEvent;)Z" since="14" />
+		<method name="dispatchGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12" />
+		<method name="dispatchGenericPointerEvent(Landroid/view/MotionEvent;)Z" since="14" />
+		<method name="dispatchHoverEvent(Landroid/view/MotionEvent;)Z" since="14" />
+		<method name="dispatchKeyEvent(Landroid/view/KeyEvent;)Z" />
+		<method name="dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z" since="3" />
+		<method name="dispatchKeyShortcutEvent(Landroid/view/KeyEvent;)Z" />
+		<method name="dispatchNestedFling(FFZ)Z" since="21" />
+		<method name="dispatchNestedPreFling(FF)Z" since="21" />
+		<method name="dispatchNestedPrePerformAccessibilityAction(ILandroid/os/Bundle;)Z" since="22" />
+		<method name="dispatchNestedPreScroll(II[I[I)Z" since="21" />
+		<method name="dispatchNestedScroll(IIII[I)Z" since="21" />
+		<method name="dispatchPointerCaptureChanged(Z)V" since="26" />
+		<method name="dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z" since="4" />
+		<method name="dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V" since="26" />
+		<method name="dispatchProvideStructure(Landroid/view/ViewStructure;)V" since="23" />
+		<method name="dispatchRestoreInstanceState(Landroid/util/SparseArray;)V" />
+		<method name="dispatchSaveInstanceState(Landroid/util/SparseArray;)V" />
+		<method name="dispatchScrollCaptureSearch(Landroid/graphics/Rect;Landroid/graphics/Point;Ljava/util/function/Consumer;)V" since="31" />
+		<method name="dispatchSetActivated(Z)V" since="11" />
+		<method name="dispatchSetPressed(Z)V" />
+		<method name="dispatchSetSelected(Z)V" />
+		<method name="dispatchStartTemporaryDetach()V" since="24" />
+		<method name="dispatchSystemUiVisibilityChanged(I)V" since="11" deprecated="30" />
+		<method name="dispatchTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="dispatchTrackballEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="dispatchUnhandledMove(Landroid/view/View;I)Z" />
+		<method name="dispatchVisibilityChanged(Landroid/view/View;I)V" since="8" />
+		<method name="dispatchWindowFocusChanged(Z)V" />
+		<method name="dispatchWindowInsetsAnimationEnd(Landroid/view/WindowInsetsAnimation;)V" since="30" />
+		<method name="dispatchWindowInsetsAnimationPrepare(Landroid/view/WindowInsetsAnimation;)V" since="30" />
+		<method name="dispatchWindowInsetsAnimationProgress(Landroid/view/WindowInsets;Ljava/util/List;)Landroid/view/WindowInsets;" since="30" />
+		<method name="dispatchWindowInsetsAnimationStart(Landroid/view/WindowInsetsAnimation;Landroid/view/WindowInsetsAnimation$Bounds;)Landroid/view/WindowInsetsAnimation$Bounds;" since="30" />
+		<method name="dispatchWindowSystemUiVisiblityChanged(I)V" since="16" deprecated="30" />
+		<method name="dispatchWindowVisibilityChanged(I)V" />
+		<method name="draw(Landroid/graphics/Canvas;)V" />
+		<method name="drawableHotspotChanged(FF)V" since="21" />
+		<method name="drawableStateChanged()V" />
+		<method name="findFocus()Landroid/view/View;" />
+		<method name="findViewById(I)Landroid/view/View;" />
+		<method name="findViewWithTag(Ljava/lang/Object;)Landroid/view/View;" />
+		<method name="findViewsWithText(Ljava/util/ArrayList;Ljava/lang/CharSequence;I)V" since="14" />
+		<method name="fitSystemWindows(Landroid/graphics/Rect;)Z" deprecated="20" />
+		<method name="fitsSystemWindows()Z" since="14" removed="16" />
+		<method name="focusSearch(I)Landroid/view/View;" />
+		<method name="forceHasOverlappingRendering(Z)V" since="24" />
+		<method name="forceLayout()V" />
+		<method name="gatherTransparentRegion(Landroid/graphics/Region;)Z" since="31" />
+		<method name="generateDisplayHash(Ljava/lang/String;Landroid/graphics/Rect;Ljava/util/concurrent/Executor;Landroid/view/displayhash/DisplayHashResultCallback;)V" since="31" />
+		<method name="generateViewId()I" since="17" />
+		<method name="getAccessibilityClassName()Ljava/lang/CharSequence;" since="23" />
+		<method name="getAccessibilityDelegate()Landroid/view/View$AccessibilityDelegate;" since="29" />
+		<method name="getAccessibilityLiveRegion()I" since="19" />
+		<method name="getAccessibilityNodeProvider()Landroid/view/accessibility/AccessibilityNodeProvider;" since="16" />
+		<method name="getAccessibilityPaneTitle()Ljava/lang/CharSequence;" since="28" />
+		<method name="getAccessibilityTraversalAfter()I" since="22" />
+		<method name="getAccessibilityTraversalBefore()I" since="22" />
+		<method name="getAlpha()F" since="11" />
+		<method name="getAnimation()Landroid/view/animation/Animation;" />
+		<method name="getAnimationMatrix()Landroid/graphics/Matrix;" since="29" />
+		<method name="getApplicationWindowToken()Landroid/os/IBinder;" />
+		<method name="getAttributeResolutionStack(I)[I" since="29" />
+		<method name="getAttributeSourceResourceMap()Ljava/util/Map;" since="29" />
+		<method name="getAutofillHints()[Ljava/lang/String;" since="26" />
+		<method name="getAutofillId()Landroid/view/autofill/AutofillId;" since="26" />
+		<method name="getAutofillType()I" since="26" />
+		<method name="getAutofillValue()Landroid/view/autofill/AutofillValue;" since="26" />
+		<method name="getBackground()Landroid/graphics/drawable/Drawable;" />
+		<method name="getBackgroundTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getBackgroundTintList()Landroid/content/res/ColorStateList;" since="21" />
+		<method name="getBackgroundTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" />
+		<method name="getBaseline()I" />
+		<method name="getBottom()I" />
+		<method name="getBottomFadingEdgeStrength()F" />
+		<method name="getBottomPaddingOffset()I" since="2" />
+		<method name="getCameraDistance()F" since="16" />
+		<method name="getClipBounds()Landroid/graphics/Rect;" since="18" />
+		<method name="getClipBounds(Landroid/graphics/Rect;)Z" since="23" />
+		<method name="getClipToOutline()Z" since="21" />
+		<method name="getContentCaptureSession()Landroid/view/contentcapture/ContentCaptureSession;" since="29" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" since="4" />
+		<method name="getContext()Landroid/content/Context;" />
+		<method name="getContextMenuInfo()Landroid/view/ContextMenu$ContextMenuInfo;" />
+		<method name="getDefaultFocusHighlightEnabled()Z" since="26" />
+		<method name="getDefaultSize(II)I" />
+		<method name="getDisplay()Landroid/view/Display;" since="17" />
+		<method name="getDrawableState()[I" />
+		<method name="getDrawingCache()Landroid/graphics/Bitmap;" deprecated="28" />
+		<method name="getDrawingCache(Z)Landroid/graphics/Bitmap;" since="4" deprecated="28" />
+		<method name="getDrawingCacheBackgroundColor()I" deprecated="28" />
+		<method name="getDrawingCacheQuality()I" deprecated="28" />
+		<method name="getDrawingRect(Landroid/graphics/Rect;)V" />
+		<method name="getDrawingTime()J" />
+		<method name="getElevation()F" since="21" />
+		<method name="getExplicitStyle()I" since="29" />
+		<method name="getFilterTouchesWhenObscured()Z" since="9" />
+		<method name="getFitsSystemWindows()Z" since="16" />
+		<method name="getFocusable()I" since="26" />
+		<method name="getFocusables(I)Ljava/util/ArrayList;" />
+		<method name="getFocusedRect(Landroid/graphics/Rect;)V" />
+		<method name="getForeground()Landroid/graphics/drawable/Drawable;" since="23" />
+		<method name="getForegroundGravity()I" since="23" />
+		<method name="getForegroundTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getForegroundTintList()Landroid/content/res/ColorStateList;" since="23" />
+		<method name="getForegroundTintMode()Landroid/graphics/PorterDuff$Mode;" since="23" />
+		<method name="getGlobalVisibleRect(Landroid/graphics/Rect;)Z" />
+		<method name="getGlobalVisibleRect(Landroid/graphics/Rect;Landroid/graphics/Point;)Z" />
+		<method name="getHandler()Landroid/os/Handler;" />
+		<method name="getHasOverlappingRendering()Z" since="24" />
+		<method name="getHeight()I" />
+		<method name="getHitRect(Landroid/graphics/Rect;)V" />
+		<method name="getHorizontalFadingEdgeLength()I" />
+		<method name="getHorizontalScrollbarHeight()I" />
+		<method name="getHorizontalScrollbarThumbDrawable()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getHorizontalScrollbarTrackDrawable()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getId()I" />
+		<method name="getImportantForAccessibility()I" since="16" />
+		<method name="getImportantForAutofill()I" since="26" />
+		<method name="getImportantForContentCapture()I" since="30" />
+		<method name="getKeepScreenOn()Z" />
+		<method name="getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState;" since="5" />
+		<method name="getLabelFor()I" since="17" />
+		<method name="getLayerType()I" since="11" />
+		<method name="getLayoutDirection()I" since="17" />
+		<method name="getLayoutParams()Landroid/view/ViewGroup$LayoutParams;" />
+		<method name="getLeft()I" />
+		<method name="getLeftFadingEdgeStrength()F" />
+		<method name="getLeftPaddingOffset()I" since="2" />
+		<method name="getLocalVisibleRect(Landroid/graphics/Rect;)Z" />
+		<method name="getLocationInSurface([I)V" since="29" />
+		<method name="getLocationInWindow([I)V" />
+		<method name="getLocationOnScreen([I)V" />
+		<method name="getMatrix()Landroid/graphics/Matrix;" since="11" />
+		<method name="getMeasuredHeight()I" />
+		<method name="getMeasuredHeightAndState()I" since="11" />
+		<method name="getMeasuredState()I" since="11" />
+		<method name="getMeasuredWidth()I" />
+		<method name="getMeasuredWidthAndState()I" since="11" />
+		<method name="getMinimumHeight()I" since="16" />
+		<method name="getMinimumWidth()I" since="16" />
+		<method name="getNextClusterForwardId()I" since="26" />
+		<method name="getNextFocusDownId()I" />
+		<method name="getNextFocusForwardId()I" since="11" />
+		<method name="getNextFocusLeftId()I" />
+		<method name="getNextFocusRightId()I" />
+		<method name="getNextFocusUpId()I" />
+		<method name="getOnFocusChangeListener()Landroid/view/View$OnFocusChangeListener;" />
+		<method name="getOutlineAmbientShadowColor()I" since="28" />
+		<method name="getOutlineProvider()Landroid/view/ViewOutlineProvider;" since="21" />
+		<method name="getOutlineSpotShadowColor()I" since="28" />
+		<method name="getOverScrollMode()I" since="9" />
+		<method name="getOverlay()Landroid/view/ViewOverlay;" since="18" />
+		<method name="getPaddingBottom()I" />
+		<method name="getPaddingEnd()I" since="17" />
+		<method name="getPaddingLeft()I" />
+		<method name="getPaddingRight()I" />
+		<method name="getPaddingStart()I" since="17" />
+		<method name="getPaddingTop()I" />
+		<method name="getParent()Landroid/view/ViewParent;" />
+		<method name="getParentForAccessibility()Landroid/view/ViewParent;" since="16" />
+		<method name="getPivotX()F" since="11" />
+		<method name="getPivotY()F" since="11" />
+		<method name="getPointerIcon()Landroid/view/PointerIcon;" since="24" />
+		<method name="getReceiveContentMimeTypes()[Ljava/lang/String;" since="31" />
+		<method name="getResources()Landroid/content/res/Resources;" />
+		<method name="getRevealOnFocusHint()Z" since="25" />
+		<method name="getRight()I" />
+		<method name="getRightFadingEdgeStrength()F" />
+		<method name="getRightPaddingOffset()I" since="2" />
+		<method name="getRootSurfaceControl()Landroid/view/AttachedSurfaceControl;" since="31" />
+		<method name="getRootView()Landroid/view/View;" />
+		<method name="getRootWindowInsets()Landroid/view/WindowInsets;" since="23" />
+		<method name="getRotation()F" since="11" />
+		<method name="getRotationX()F" since="11" />
+		<method name="getRotationY()F" since="11" />
+		<method name="getScaleX()F" since="11" />
+		<method name="getScaleY()F" since="11" />
+		<method name="getScrollBarDefaultDelayBeforeFade()I" since="16" />
+		<method name="getScrollBarFadeDuration()I" since="16" />
+		<method name="getScrollBarSize()I" since="16" />
+		<method name="getScrollBarStyle()I" />
+		<method name="getScrollCaptureHint()I" since="31" />
+		<method name="getScrollIndicators()I" since="23" />
+		<method name="getScrollX()I" />
+		<method name="getScrollY()I" />
+		<method name="getSolidColor()I" />
+		<method name="getSourceLayoutResId()I" since="29" />
+		<method name="getStateDescription()Ljava/lang/CharSequence;" since="30" />
+		<method name="getStateListAnimator()Landroid/animation/StateListAnimator;" since="21" />
+		<method name="getSuggestedMinimumHeight()I" />
+		<method name="getSuggestedMinimumWidth()I" />
+		<method name="getSystemGestureExclusionRects()Ljava/util/List;" since="29" />
+		<method name="getSystemUiVisibility()I" since="11" deprecated="30" />
+		<method name="getTag()Ljava/lang/Object;" />
+		<method name="getTag(I)Ljava/lang/Object;" since="4" />
+		<method name="getTextAlignment()I" since="17" />
+		<method name="getTextDirection()I" since="17" />
+		<method name="getTooltipText()Ljava/lang/CharSequence;" since="26" />
+		<method name="getTop()I" />
+		<method name="getTopFadingEdgeStrength()F" />
+		<method name="getTopPaddingOffset()I" since="2" />
+		<method name="getTouchDelegate()Landroid/view/TouchDelegate;" />
+		<method name="getTouchables()Ljava/util/ArrayList;" />
+		<method name="getTransitionAlpha()F" since="29" />
+		<method name="getTransitionName()Ljava/lang/String;" since="21" />
+		<method name="getTranslationX()F" since="11" />
+		<method name="getTranslationY()F" since="11" />
+		<method name="getTranslationZ()F" since="21" />
+		<method name="getUniqueDrawingId()J" since="29" />
+		<method name="getVerticalFadingEdgeLength()I" />
+		<method name="getVerticalScrollbarPosition()I" since="11" />
+		<method name="getVerticalScrollbarThumbDrawable()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getVerticalScrollbarTrackDrawable()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getVerticalScrollbarWidth()I" />
+		<method name="getViewTranslationResponse()Landroid/view/translation/ViewTranslationResponse;" since="31" />
+		<method name="getViewTreeObserver()Landroid/view/ViewTreeObserver;" />
+		<method name="getVisibility()I" />
+		<method name="getWidth()I" />
+		<method name="getWindowAttachCount()I" />
+		<method name="getWindowId()Landroid/view/WindowId;" since="18" />
+		<method name="getWindowInsetsController()Landroid/view/WindowInsetsController;" since="30" />
+		<method name="getWindowSystemUiVisibility()I" since="16" deprecated="30" />
+		<method name="getWindowToken()Landroid/os/IBinder;" />
+		<method name="getWindowVisibility()I" />
+		<method name="getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V" since="3" />
+		<method name="getX()F" since="11" />
+		<method name="getY()F" since="11" />
+		<method name="getZ()F" since="21" />
+		<method name="hasExplicitFocusable()Z" since="26" />
+		<method name="hasFocus()Z" />
+		<method name="hasFocusable()Z" />
+		<method name="hasNestedScrollingParent()Z" since="21" />
+		<method name="hasOnClickListeners()Z" since="15" />
+		<method name="hasOnLongClickListeners()Z" since="30" />
+		<method name="hasOverlappingRendering()Z" since="16" />
+		<method name="hasPointerCapture()Z" since="26" />
+		<method name="hasTransientState()Z" since="16" />
+		<method name="hasWindowFocus()Z" />
+		<method name="inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="initializeFadingEdge(Landroid/content/res/TypedArray;)V" removed="21" />
+		<method name="initializeScrollbars(Landroid/content/res/TypedArray;)V" removed="21" />
+		<method name="invalidate()V" />
+		<method name="invalidate(IIII)V" deprecated="28" />
+		<method name="invalidate(Landroid/graphics/Rect;)V" deprecated="28" />
+		<method name="invalidateOutline()V" since="21" />
+		<method name="isAccessibilityFocused()Z" since="21" />
+		<method name="isAccessibilityHeading()Z" since="28" />
+		<method name="isActivated()Z" since="11" />
+		<method name="isAttachedToWindow()Z" since="19" />
+		<method name="isClickable()Z" />
+		<method name="isContextClickable()Z" since="23" />
+		<method name="isDirty()Z" since="11" />
+		<method name="isDrawingCacheEnabled()Z" deprecated="28" />
+		<method name="isDuplicateParentStateEnabled()Z" />
+		<method name="isEnabled()Z" />
+		<method name="isFocusable()Z" />
+		<method name="isFocusableInTouchMode()Z" />
+		<method name="isFocused()Z" />
+		<method name="isFocusedByDefault()Z" since="26" />
+		<method name="isForceDarkAllowed()Z" since="29" />
+		<method name="isHapticFeedbackEnabled()Z" since="3" />
+		<method name="isHardwareAccelerated()Z" since="11" />
+		<method name="isHorizontalFadingEdgeEnabled()Z" />
+		<method name="isHorizontalScrollBarEnabled()Z" />
+		<method name="isHovered()Z" since="14" />
+		<method name="isImportantForAccessibility()Z" since="21" />
+		<method name="isImportantForAutofill()Z" since="26" />
+		<method name="isImportantForContentCapture()Z" since="30" />
+		<method name="isInEditMode()Z" since="3" />
+		<method name="isInLayout()Z" since="18" />
+		<method name="isInTouchMode()Z" />
+		<method name="isKeyboardNavigationCluster()Z" since="26" />
+		<method name="isLaidOut()Z" since="19" />
+		<method name="isLayoutDirectionResolved()Z" since="19" />
+		<method name="isLayoutRequested()Z" />
+		<method name="isLongClickable()Z" />
+		<method name="isNestedScrollingEnabled()Z" since="21" />
+		<method name="isOpaque()Z" since="7" />
+		<method name="isPaddingOffsetRequired()Z" since="2" />
+		<method name="isPaddingRelative()Z" since="17" />
+		<method name="isPivotSet()Z" since="28" />
+		<method name="isPressed()Z" />
+		<method name="isSaveEnabled()Z" />
+		<method name="isSaveFromParentEnabled()Z" since="11" />
+		<method name="isScreenReaderFocusable()Z" since="28" />
+		<method name="isScrollContainer()Z" since="16" />
+		<method name="isScrollbarFadingEnabled()Z" since="5" />
+		<method name="isSelected()Z" />
+		<method name="isShowingLayoutBounds()Z" since="30" />
+		<method name="isShown()Z" />
+		<method name="isSoundEffectsEnabled()Z" />
+		<method name="isTemporarilyDetached()Z" since="24" />
+		<method name="isTextAlignmentResolved()Z" since="19" />
+		<method name="isTextDirectionResolved()Z" since="19" />
+		<method name="isVerticalFadingEdgeEnabled()Z" />
+		<method name="isVerticalScrollBarEnabled()Z" />
+		<method name="isVisibleToUserForAutofill(I)Z" since="28" />
+		<method name="jumpDrawablesToCurrentState()V" since="11" />
+		<method name="keyboardNavigationClusterSearch(Landroid/view/View;I)Landroid/view/View;" since="26" />
+		<method name="layout(IIII)V" />
+		<method name="measure(II)V" />
+		<method name="mergeDrawableStates([I[I)[I" />
+		<method name="offsetLeftAndRight(I)V" />
+		<method name="offsetTopAndBottom(I)V" />
+		<method name="onAnimationEnd()V" />
+		<method name="onAnimationStart()V" />
+		<method name="onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;" since="20" />
+		<method name="onAttachedToWindow()V" />
+		<method name="onCancelPendingInputEvents()V" since="19" />
+		<method name="onCapturedPointerEvent(Landroid/view/MotionEvent;)Z" since="26" />
+		<method name="onCheckIsTextEditor()Z" since="3" />
+		<method name="onConfigurationChanged(Landroid/content/res/Configuration;)V" since="8" />
+		<method name="onCreateContextMenu(Landroid/view/ContextMenu;)V" />
+		<method name="onCreateDrawableState(I)[I" />
+		<method name="onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;" since="3" />
+		<method name="onCreateViewTranslationRequest([ILjava/util/function/Consumer;)V" since="31" />
+		<method name="onCreateVirtualViewTranslationRequests([J[ILjava/util/function/Consumer;)V" since="31" />
+		<method name="onDetachedFromWindow()V" />
+		<method name="onDisplayHint(I)V" since="8" />
+		<method name="onDragEvent(Landroid/view/DragEvent;)Z" since="11" />
+		<method name="onDraw(Landroid/graphics/Canvas;)V" />
+		<method name="onDrawForeground(Landroid/graphics/Canvas;)V" since="23" />
+		<method name="onDrawScrollBars(Landroid/graphics/Canvas;)V" since="7" />
+		<method name="onFilterTouchEventForSecurity(Landroid/view/MotionEvent;)Z" since="9" />
+		<method name="onFinishInflate()V" />
+		<method name="onFinishTemporaryDetach()V" since="3" />
+		<method name="onFocusChanged(ZILandroid/graphics/Rect;)V" />
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12" />
+		<method name="onHoverChanged(Z)V" since="14" />
+		<method name="onHoverEvent(Landroid/view/MotionEvent;)Z" since="14" />
+		<method name="onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V" since="14" />
+		<method name="onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V" since="14" />
+		<method name="onKeyPreIme(ILandroid/view/KeyEvent;)Z" since="3" />
+		<method name="onKeyShortcut(ILandroid/view/KeyEvent;)Z" />
+		<method name="onLayout(ZIIII)V" />
+		<method name="onMeasure(II)V" />
+		<method name="onOverScrolled(IIZZ)V" since="9" />
+		<method name="onPointerCaptureChange(Z)V" since="26" />
+		<method name="onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V" since="14" />
+		<method name="onProvideAutofillStructure(Landroid/view/ViewStructure;I)V" since="26" />
+		<method name="onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V" since="26" />
+		<method name="onProvideContentCaptureStructure(Landroid/view/ViewStructure;I)V" since="30" />
+		<method name="onProvideStructure(Landroid/view/ViewStructure;)V" since="23" />
+		<method name="onProvideVirtualStructure(Landroid/view/ViewStructure;)V" since="23" />
+		<method name="onReceiveContent(Landroid/view/ContentInfo;)Landroid/view/ContentInfo;" since="31" />
+		<method name="onResolvePointerIcon(Landroid/view/MotionEvent;I)Landroid/view/PointerIcon;" since="24" />
+		<method name="onRestoreInstanceState(Landroid/os/Parcelable;)V" />
+		<method name="onRtlPropertiesChanged(I)V" since="17" />
+		<method name="onSaveInstanceState()Landroid/os/Parcelable;" />
+		<method name="onScreenStateChanged(I)V" since="16" />
+		<method name="onScrollCaptureSearch(Landroid/graphics/Rect;Landroid/graphics/Point;Ljava/util/function/Consumer;)V" since="31" />
+		<method name="onScrollChanged(IIII)V" />
+		<method name="onSetAlpha(I)Z" />
+		<method name="onSizeChanged(IIII)V" />
+		<method name="onStartTemporaryDetach()V" since="3" />
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onViewTranslationResponse(Landroid/view/translation/ViewTranslationResponse;)V" since="31" />
+		<method name="onVirtualViewTranslationResponses(Landroid/util/LongSparseArray;)V" since="31" />
+		<method name="onVisibilityAggregated(Z)V" since="24" />
+		<method name="onVisibilityChanged(Landroid/view/View;I)V" since="8" />
+		<method name="onWindowFocusChanged(Z)V" />
+		<method name="onWindowSystemUiVisibilityChanged(I)V" since="16" deprecated="30" />
+		<method name="onWindowVisibilityChanged(I)V" />
+		<method name="overScrollBy(IIIIIIIIZ)Z" since="9" />
+		<method name="performAccessibilityAction(ILandroid/os/Bundle;)Z" since="16" />
+		<method name="performClick()Z" />
+		<method name="performContextClick()Z" since="23" />
+		<method name="performContextClick(FF)Z" since="24" />
+		<method name="performHapticFeedback(I)Z" since="3" />
+		<method name="performHapticFeedback(II)Z" since="3" />
+		<method name="performLongClick()Z" />
+		<method name="performLongClick(FF)Z" since="24" />
+		<method name="performReceiveContent(Landroid/view/ContentInfo;)Landroid/view/ContentInfo;" since="31" />
+		<method name="playSoundEffect(I)V" />
+		<method name="post(Ljava/lang/Runnable;)Z" />
+		<method name="postDelayed(Ljava/lang/Runnable;J)Z" />
+		<method name="postInvalidate()V" />
+		<method name="postInvalidate(IIII)V" />
+		<method name="postInvalidateDelayed(J)V" />
+		<method name="postInvalidateDelayed(JIIII)V" />
+		<method name="postInvalidateOnAnimation()V" since="16" />
+		<method name="postInvalidateOnAnimation(IIII)V" since="16" />
+		<method name="postOnAnimation(Ljava/lang/Runnable;)V" since="16" />
+		<method name="postOnAnimationDelayed(Ljava/lang/Runnable;J)V" since="16" />
+		<method name="refreshDrawableState()V" />
+		<method name="releasePointerCapture()V" since="26" />
+		<method name="removeCallbacks(Ljava/lang/Runnable;)Z" />
+		<method name="removeOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V" since="12" />
+		<method name="removeOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V" since="11" />
+		<method name="removeOnUnhandledKeyEventListener(Landroid/view/View$OnUnhandledKeyEventListener;)V" since="28" />
+		<method name="requestApplyInsets()V" since="20" />
+		<method name="requestFitSystemWindows()V" since="16" deprecated="20" />
+		<method name="requestFocus()Z" />
+		<method name="requestFocus(I)Z" />
+		<method name="requestFocus(ILandroid/graphics/Rect;)Z" />
+		<method name="requestFocusFromTouch()Z" />
+		<method name="requestLayout()V" />
+		<method name="requestPointerCapture()V" since="26" />
+		<method name="requestRectangleOnScreen(Landroid/graphics/Rect;)Z" />
+		<method name="requestRectangleOnScreen(Landroid/graphics/Rect;Z)Z" />
+		<method name="requestUnbufferedDispatch(I)V" since="30" />
+		<method name="requestUnbufferedDispatch(Landroid/view/MotionEvent;)V" since="21" />
+		<method name="requireViewById(I)Landroid/view/View;" since="28" />
+		<method name="resetPivot()V" since="28" />
+		<method name="resolveSize(II)I" />
+		<method name="resolveSizeAndState(III)I" since="11" />
+		<method name="restoreDefaultFocus()Z" since="26" />
+		<method name="restoreHierarchyState(Landroid/util/SparseArray;)V" />
+		<method name="saveAttributeDataForStyleable(Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V" since="29" />
+		<method name="saveHierarchyState(Landroid/util/SparseArray;)V" />
+		<method name="scrollBy(II)V" />
+		<method name="scrollTo(II)V" />
+		<method name="setAccessibilityDelegate(Landroid/view/View$AccessibilityDelegate;)V" since="14" />
+		<method name="setAccessibilityHeading(Z)V" since="28" />
+		<method name="setAccessibilityLiveRegion(I)V" since="19" />
+		<method name="setAccessibilityPaneTitle(Ljava/lang/CharSequence;)V" since="28" />
+		<method name="setAccessibilityTraversalAfter(I)V" since="22" />
+		<method name="setAccessibilityTraversalBefore(I)V" since="22" />
+		<method name="setActivated(Z)V" since="11" />
+		<method name="setAllowClickWhenDisabled(Z)V" since="31" />
+		<method name="setAlpha(F)V" since="11" />
+		<method name="setAnimation(Landroid/view/animation/Animation;)V" />
+		<method name="setAnimationMatrix(Landroid/graphics/Matrix;)V" since="29" />
+		<method name="setAutofillHints([Ljava/lang/String;)V" since="26" />
+		<method name="setAutofillId(Landroid/view/autofill/AutofillId;)V" since="28" />
+		<method name="setBackground(Landroid/graphics/drawable/Drawable;)V" since="16" />
+		<method name="setBackgroundColor(I)V" />
+		<method name="setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" deprecated="16" />
+		<method name="setBackgroundResource(I)V" />
+		<method name="setBackgroundTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setBackgroundTintList(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setBackgroundTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" />
+		<method name="setBottom(I)V" since="11" />
+		<method name="setCameraDistance(F)V" since="12" />
+		<method name="setClickable(Z)V" />
+		<method name="setClipBounds(Landroid/graphics/Rect;)V" since="18" />
+		<method name="setClipToOutline(Z)V" since="21" />
+		<method name="setContentCaptureSession(Landroid/view/contentcapture/ContentCaptureSession;)V" since="29" />
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V" since="4" />
+		<method name="setContextClickable(Z)V" since="23" />
+		<method name="setDefaultFocusHighlightEnabled(Z)V" since="26" />
+		<method name="setDrawingCacheBackgroundColor(I)V" deprecated="28" />
+		<method name="setDrawingCacheEnabled(Z)V" deprecated="28" />
+		<method name="setDrawingCacheQuality(I)V" deprecated="28" />
+		<method name="setDuplicateParentStateEnabled(Z)V" />
+		<method name="setElevation(F)V" since="21" />
+		<method name="setEnabled(Z)V" />
+		<method name="setFadingEdgeLength(I)V" />
+		<method name="setFilterTouchesWhenObscured(Z)V" since="9" />
+		<method name="setFitsSystemWindows(Z)V" since="14" />
+		<method name="setFocusable(I)V" since="26" />
+		<method name="setFocusable(Z)V" />
+		<method name="setFocusableInTouchMode(Z)V" />
+		<method name="setFocusedByDefault(Z)V" since="26" />
+		<method name="setForceDarkAllowed(Z)V" since="29" />
+		<method name="setForeground(Landroid/graphics/drawable/Drawable;)V" since="23" />
+		<method name="setForegroundGravity(I)V" since="23" />
+		<method name="setForegroundTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setForegroundTintList(Landroid/content/res/ColorStateList;)V" since="23" />
+		<method name="setForegroundTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="23" />
+		<method name="setHapticFeedbackEnabled(Z)V" since="3" />
+		<method name="setHasTransientState(Z)V" since="16" />
+		<method name="setHorizontalFadingEdgeEnabled(Z)V" />
+		<method name="setHorizontalScrollBarEnabled(Z)V" />
+		<method name="setHorizontalScrollbarThumbDrawable(Landroid/graphics/drawable/Drawable;)V" since="29" />
+		<method name="setHorizontalScrollbarTrackDrawable(Landroid/graphics/drawable/Drawable;)V" since="29" />
+		<method name="setHovered(Z)V" since="14" />
+		<method name="setId(I)V" />
+		<method name="setImportantForAccessibility(I)V" since="16" />
+		<method name="setImportantForAutofill(I)V" since="26" />
+		<method name="setImportantForContentCapture(I)V" since="30" />
+		<method name="setKeepScreenOn(Z)V" />
+		<method name="setKeyboardNavigationCluster(Z)V" since="26" />
+		<method name="setLabelFor(I)V" since="17" />
+		<method name="setLayerPaint(Landroid/graphics/Paint;)V" since="17" />
+		<method name="setLayerType(ILandroid/graphics/Paint;)V" since="11" />
+		<method name="setLayoutDirection(I)V" since="17" />
+		<method name="setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="setLeft(I)V" since="11" />
+		<method name="setLeftTopRightBottom(IIII)V" since="29" />
+		<method name="setLongClickable(Z)V" />
+		<method name="setMeasuredDimension(II)V" />
+		<method name="setMinimumHeight(I)V" />
+		<method name="setMinimumWidth(I)V" />
+		<method name="setNestedScrollingEnabled(Z)V" since="21" />
+		<method name="setNextClusterForwardId(I)V" since="26" />
+		<method name="setNextFocusDownId(I)V" />
+		<method name="setNextFocusForwardId(I)V" since="11" />
+		<method name="setNextFocusLeftId(I)V" />
+		<method name="setNextFocusRightId(I)V" />
+		<method name="setNextFocusUpId(I)V" />
+		<method name="setOnApplyWindowInsetsListener(Landroid/view/View$OnApplyWindowInsetsListener;)V" since="20" />
+		<method name="setOnCapturedPointerListener(Landroid/view/View$OnCapturedPointerListener;)V" since="26" />
+		<method name="setOnClickListener(Landroid/view/View$OnClickListener;)V" />
+		<method name="setOnContextClickListener(Landroid/view/View$OnContextClickListener;)V" since="23" />
+		<method name="setOnCreateContextMenuListener(Landroid/view/View$OnCreateContextMenuListener;)V" />
+		<method name="setOnDragListener(Landroid/view/View$OnDragListener;)V" since="11" />
+		<method name="setOnFocusChangeListener(Landroid/view/View$OnFocusChangeListener;)V" />
+		<method name="setOnGenericMotionListener(Landroid/view/View$OnGenericMotionListener;)V" since="12" />
+		<method name="setOnHoverListener(Landroid/view/View$OnHoverListener;)V" since="14" />
+		<method name="setOnKeyListener(Landroid/view/View$OnKeyListener;)V" />
+		<method name="setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V" />
+		<method name="setOnReceiveContentListener([Ljava/lang/String;Landroid/view/OnReceiveContentListener;)V" since="31" />
+		<method name="setOnScrollChangeListener(Landroid/view/View$OnScrollChangeListener;)V" since="23" />
+		<method name="setOnSystemUiVisibilityChangeListener(Landroid/view/View$OnSystemUiVisibilityChangeListener;)V" since="11" deprecated="30" />
+		<method name="setOnTouchListener(Landroid/view/View$OnTouchListener;)V" />
+		<method name="setOutlineAmbientShadowColor(I)V" since="28" />
+		<method name="setOutlineProvider(Landroid/view/ViewOutlineProvider;)V" since="21" />
+		<method name="setOutlineSpotShadowColor(I)V" since="28" />
+		<method name="setOverScrollMode(I)V" since="9" />
+		<method name="setPadding(IIII)V" />
+		<method name="setPaddingRelative(IIII)V" since="17" />
+		<method name="setPivotX(F)V" since="11" />
+		<method name="setPivotY(F)V" since="11" />
+		<method name="setPointerIcon(Landroid/view/PointerIcon;)V" since="24" />
+		<method name="setPressed(Z)V" />
+		<method name="setRenderEffect(Landroid/graphics/RenderEffect;)V" since="31" />
+		<method name="setRevealOnFocusHint(Z)V" since="25" />
+		<method name="setRight(I)V" since="11" />
+		<method name="setRotation(F)V" since="11" />
+		<method name="setRotationX(F)V" since="11" />
+		<method name="setRotationY(F)V" since="11" />
+		<method name="setSaveEnabled(Z)V" />
+		<method name="setSaveFromParentEnabled(Z)V" since="11" />
+		<method name="setScaleX(F)V" since="11" />
+		<method name="setScaleY(F)V" since="11" />
+		<method name="setScreenReaderFocusable(Z)V" since="28" />
+		<method name="setScrollBarDefaultDelayBeforeFade(I)V" since="16" />
+		<method name="setScrollBarFadeDuration(I)V" since="16" />
+		<method name="setScrollBarSize(I)V" since="16" />
+		<method name="setScrollBarStyle(I)V" />
+		<method name="setScrollCaptureCallback(Landroid/view/ScrollCaptureCallback;)V" since="31" />
+		<method name="setScrollCaptureHint(I)V" since="31" />
+		<method name="setScrollContainer(Z)V" since="3" />
+		<method name="setScrollIndicators(I)V" since="23" />
+		<method name="setScrollIndicators(II)V" since="23" />
+		<method name="setScrollX(I)V" since="14" />
+		<method name="setScrollY(I)V" since="14" />
+		<method name="setScrollbarFadingEnabled(Z)V" since="5" />
+		<method name="setSelected(Z)V" />
+		<method name="setSoundEffectsEnabled(Z)V" />
+		<method name="setStateDescription(Ljava/lang/CharSequence;)V" since="30" />
+		<method name="setStateListAnimator(Landroid/animation/StateListAnimator;)V" since="21" />
+		<method name="setSystemGestureExclusionRects(Ljava/util/List;)V" since="29" />
+		<method name="setSystemUiVisibility(I)V" since="11" deprecated="30" />
+		<method name="setTag(ILjava/lang/Object;)V" since="4" />
+		<method name="setTag(Ljava/lang/Object;)V" />
+		<method name="setTextAlignment(I)V" since="17" />
+		<method name="setTextDirection(I)V" since="17" />
+		<method name="setTooltipText(Ljava/lang/CharSequence;)V" since="26" />
+		<method name="setTop(I)V" since="11" />
+		<method name="setTouchDelegate(Landroid/view/TouchDelegate;)V" />
+		<method name="setTransitionAlpha(F)V" since="29" />
+		<method name="setTransitionName(Ljava/lang/String;)V" since="21" />
+		<method name="setTransitionVisibility(I)V" since="29" />
+		<method name="setTranslationX(F)V" since="11" />
+		<method name="setTranslationY(F)V" since="11" />
+		<method name="setTranslationZ(F)V" since="21" />
+		<method name="setVerticalFadingEdgeEnabled(Z)V" />
+		<method name="setVerticalScrollBarEnabled(Z)V" />
+		<method name="setVerticalScrollbarPosition(I)V" since="11" />
+		<method name="setVerticalScrollbarThumbDrawable(Landroid/graphics/drawable/Drawable;)V" since="29" />
+		<method name="setVerticalScrollbarTrackDrawable(Landroid/graphics/drawable/Drawable;)V" since="29" />
+		<method name="setViewTranslationCallback(Landroid/view/translation/ViewTranslationCallback;)V" since="31" />
+		<method name="setVisibility(I)V" />
+		<method name="setWillNotCacheDrawing(Z)V" deprecated="28" />
+		<method name="setWillNotDraw(Z)V" />
+		<method name="setWindowInsetsAnimationCallback(Landroid/view/WindowInsetsAnimation$Callback;)V" since="30" />
+		<method name="setX(F)V" since="11" />
+		<method name="setY(F)V" since="11" />
+		<method name="setZ(F)V" since="21" />
+		<method name="showContextMenu()Z" />
+		<method name="showContextMenu(FF)Z" since="24" />
+		<method name="startActionMode(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;" since="11" />
+		<method name="startActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;" since="23" />
+		<method name="startAnimation(Landroid/view/animation/Animation;)V" />
+		<method name="startDrag(Landroid/content/ClipData;Landroid/view/View$DragShadowBuilder;Ljava/lang/Object;I)Z" since="11" deprecated="24" />
+		<method name="startDragAndDrop(Landroid/content/ClipData;Landroid/view/View$DragShadowBuilder;Ljava/lang/Object;I)Z" since="24" />
+		<method name="startNestedScroll(I)Z" since="21" />
+		<method name="stopNestedScroll()V" since="21" />
+		<method name="transformMatrixToGlobal(Landroid/graphics/Matrix;)V" since="29" />
+		<method name="transformMatrixToLocal(Landroid/graphics/Matrix;)V" since="29" />
+		<method name="unscheduleDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="updateDragShadow(Landroid/view/View$DragShadowBuilder;)V" since="24" />
+		<method name="verifyDrawable(Landroid/graphics/drawable/Drawable;)Z" />
+		<method name="willNotCacheDrawing()Z" deprecated="28" />
+		<method name="willNotDraw()Z" />
+		<field name="ACCESSIBILITY_LIVE_REGION_ASSERTIVE" since="19" />
+		<field name="ACCESSIBILITY_LIVE_REGION_NONE" since="19" />
+		<field name="ACCESSIBILITY_LIVE_REGION_POLITE" since="19" />
+		<field name="ALPHA" since="14" />
+		<field name="AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS" since="26" />
+		<field name="AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE" since="26" />
+		<field name="AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY" since="26" />
+		<field name="AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH" since="26" />
+		<field name="AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR" since="26" />
+		<field name="AUTOFILL_HINT_CREDIT_CARD_NUMBER" since="26" />
+		<field name="AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE" since="26" />
+		<field name="AUTOFILL_HINT_EMAIL_ADDRESS" since="26" />
+		<field name="AUTOFILL_HINT_NAME" since="26" />
+		<field name="AUTOFILL_HINT_PASSWORD" since="26" />
+		<field name="AUTOFILL_HINT_PHONE" since="26" />
+		<field name="AUTOFILL_HINT_POSTAL_ADDRESS" since="26" />
+		<field name="AUTOFILL_HINT_POSTAL_CODE" since="26" />
+		<field name="AUTOFILL_HINT_USERNAME" since="26" />
+		<field name="AUTOFILL_TYPE_DATE" since="26" />
+		<field name="AUTOFILL_TYPE_LIST" since="26" />
+		<field name="AUTOFILL_TYPE_NONE" since="26" />
+		<field name="AUTOFILL_TYPE_TEXT" since="26" />
+		<field name="AUTOFILL_TYPE_TOGGLE" since="26" />
+		<field name="DRAG_FLAG_ACCESSIBILITY_ACTION" since="33" />
+		<field name="DRAG_FLAG_GLOBAL" since="24" />
+		<field name="DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION" since="24" />
+		<field name="DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION" since="24" />
+		<field name="DRAG_FLAG_GLOBAL_URI_READ" since="24" />
+		<field name="DRAG_FLAG_GLOBAL_URI_WRITE" since="24" />
+		<field name="DRAG_FLAG_OPAQUE" since="24" />
+		<field name="DRAWING_CACHE_QUALITY_AUTO" deprecated="28" />
+		<field name="DRAWING_CACHE_QUALITY_HIGH" deprecated="28" />
+		<field name="DRAWING_CACHE_QUALITY_LOW" deprecated="28" />
+		<field name="EMPTY_STATE_SET" />
+		<field name="ENABLED_FOCUSED_SELECTED_STATE_SET" />
+		<field name="ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="ENABLED_FOCUSED_STATE_SET" />
+		<field name="ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="ENABLED_SELECTED_STATE_SET" />
+		<field name="ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="ENABLED_STATE_SET" />
+		<field name="ENABLED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="FIND_VIEWS_WITH_CONTENT_DESCRIPTION" since="14" />
+		<field name="FIND_VIEWS_WITH_TEXT" since="14" />
+		<field name="FOCUSABLE" since="26" />
+		<field name="FOCUSABLES_ALL" since="4" />
+		<field name="FOCUSABLES_TOUCH_MODE" since="4" />
+		<field name="FOCUSABLE_AUTO" since="26" />
+		<field name="FOCUSED_SELECTED_STATE_SET" />
+		<field name="FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="FOCUSED_STATE_SET" />
+		<field name="FOCUSED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="FOCUS_BACKWARD" />
+		<field name="FOCUS_DOWN" />
+		<field name="FOCUS_FORWARD" />
+		<field name="FOCUS_LEFT" />
+		<field name="FOCUS_RIGHT" />
+		<field name="FOCUS_UP" />
+		<field name="GONE" />
+		<field name="HAPTIC_FEEDBACK_ENABLED" since="3" />
+		<field name="IMPORTANT_FOR_ACCESSIBILITY_AUTO" since="16" />
+		<field name="IMPORTANT_FOR_ACCESSIBILITY_NO" since="16" />
+		<field name="IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS" since="19" />
+		<field name="IMPORTANT_FOR_ACCESSIBILITY_YES" since="16" />
+		<field name="IMPORTANT_FOR_AUTOFILL_AUTO" since="26" />
+		<field name="IMPORTANT_FOR_AUTOFILL_NO" since="26" />
+		<field name="IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS" since="26" />
+		<field name="IMPORTANT_FOR_AUTOFILL_YES" since="26" />
+		<field name="IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS" since="26" />
+		<field name="IMPORTANT_FOR_CONTENT_CAPTURE_AUTO" since="30" />
+		<field name="IMPORTANT_FOR_CONTENT_CAPTURE_NO" since="30" />
+		<field name="IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS" since="30" />
+		<field name="IMPORTANT_FOR_CONTENT_CAPTURE_YES" since="30" />
+		<field name="IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS" since="30" />
+		<field name="INVISIBLE" />
+		<field name="KEEP_SCREEN_ON" />
+		<field name="LAYER_TYPE_HARDWARE" since="11" />
+		<field name="LAYER_TYPE_NONE" since="11" />
+		<field name="LAYER_TYPE_SOFTWARE" since="11" />
+		<field name="LAYOUT_DIRECTION_INHERIT" since="17" />
+		<field name="LAYOUT_DIRECTION_LOCALE" since="17" />
+		<field name="LAYOUT_DIRECTION_LTR" since="17" />
+		<field name="LAYOUT_DIRECTION_RTL" since="17" />
+		<field name="MEASURED_HEIGHT_STATE_SHIFT" since="11" />
+		<field name="MEASURED_SIZE_MASK" since="11" />
+		<field name="MEASURED_STATE_MASK" since="11" />
+		<field name="MEASURED_STATE_TOO_SMALL" since="11" />
+		<field name="NOT_FOCUSABLE" since="26" />
+		<field name="NO_ID" />
+		<field name="OVER_SCROLL_ALWAYS" since="9" />
+		<field name="OVER_SCROLL_IF_CONTENT_SCROLLS" since="9" />
+		<field name="OVER_SCROLL_NEVER" since="9" />
+		<field name="PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET" />
+		<field name="PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="PRESSED_ENABLED_FOCUSED_STATE_SET" />
+		<field name="PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="PRESSED_ENABLED_SELECTED_STATE_SET" />
+		<field name="PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="PRESSED_ENABLED_STATE_SET" />
+		<field name="PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="PRESSED_FOCUSED_SELECTED_STATE_SET" />
+		<field name="PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="PRESSED_FOCUSED_STATE_SET" />
+		<field name="PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="PRESSED_SELECTED_STATE_SET" />
+		<field name="PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="PRESSED_STATE_SET" since="19" />
+		<field name="PRESSED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="ROTATION" since="14" />
+		<field name="ROTATION_X" since="14" />
+		<field name="ROTATION_Y" since="14" />
+		<field name="SCALE_X" since="14" />
+		<field name="SCALE_Y" since="14" />
+		<field name="SCREEN_STATE_OFF" since="16" />
+		<field name="SCREEN_STATE_ON" since="16" />
+		<field name="SCROLLBARS_INSIDE_INSET" />
+		<field name="SCROLLBARS_INSIDE_OVERLAY" />
+		<field name="SCROLLBARS_OUTSIDE_INSET" />
+		<field name="SCROLLBARS_OUTSIDE_OVERLAY" />
+		<field name="SCROLLBAR_POSITION_DEFAULT" since="11" />
+		<field name="SCROLLBAR_POSITION_LEFT" since="11" />
+		<field name="SCROLLBAR_POSITION_RIGHT" since="11" />
+		<field name="SCROLL_AXIS_HORIZONTAL" since="21" />
+		<field name="SCROLL_AXIS_NONE" since="21" />
+		<field name="SCROLL_AXIS_VERTICAL" since="21" />
+		<field name="SCROLL_CAPTURE_HINT_AUTO" since="31" />
+		<field name="SCROLL_CAPTURE_HINT_EXCLUDE" since="31" />
+		<field name="SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS" since="31" />
+		<field name="SCROLL_CAPTURE_HINT_INCLUDE" since="31" />
+		<field name="SCROLL_INDICATOR_BOTTOM" since="23" />
+		<field name="SCROLL_INDICATOR_END" since="23" />
+		<field name="SCROLL_INDICATOR_LEFT" since="23" />
+		<field name="SCROLL_INDICATOR_RIGHT" since="23" />
+		<field name="SCROLL_INDICATOR_START" since="23" />
+		<field name="SCROLL_INDICATOR_TOP" since="23" />
+		<field name="SELECTED_STATE_SET" />
+		<field name="SELECTED_WINDOW_FOCUSED_STATE_SET" />
+		<field name="SOUND_EFFECTS_ENABLED" />
+		<field name="STATUS_BAR_HIDDEN" since="11" deprecated="15" />
+		<field name="STATUS_BAR_VISIBLE" since="11" deprecated="15" />
+		<field name="SYSTEM_UI_FLAG_FULLSCREEN" since="16" deprecated="30" />
+		<field name="SYSTEM_UI_FLAG_HIDE_NAVIGATION" since="14" deprecated="30" />
+		<field name="SYSTEM_UI_FLAG_IMMERSIVE" since="19" deprecated="30" />
+		<field name="SYSTEM_UI_FLAG_IMMERSIVE_STICKY" since="19" deprecated="30" />
+		<field name="SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN" since="16" deprecated="30" />
+		<field name="SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION" since="16" deprecated="30" />
+		<field name="SYSTEM_UI_FLAG_LAYOUT_STABLE" since="16" deprecated="30" />
+		<field name="SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR" since="26" deprecated="30" />
+		<field name="SYSTEM_UI_FLAG_LIGHT_STATUS_BAR" since="23" deprecated="30" />
+		<field name="SYSTEM_UI_FLAG_LOW_PROFILE" since="14" deprecated="30" />
+		<field name="SYSTEM_UI_FLAG_VISIBLE" since="14" deprecated="30" />
+		<field name="SYSTEM_UI_LAYOUT_FLAGS" since="16" deprecated="30" />
+		<field name="TEXT_ALIGNMENT_CENTER" since="17" />
+		<field name="TEXT_ALIGNMENT_GRAVITY" since="17" />
+		<field name="TEXT_ALIGNMENT_INHERIT" since="16" />
+		<field name="TEXT_ALIGNMENT_RESOLVED_DEFAULT" since="16" removed="17" />
+		<field name="TEXT_ALIGNMENT_TEXT_END" since="17" />
+		<field name="TEXT_ALIGNMENT_TEXT_START" since="17" />
+		<field name="TEXT_ALIGNMENT_VIEW_END" since="17" />
+		<field name="TEXT_ALIGNMENT_VIEW_START" since="17" />
+		<field name="TEXT_DIRECTION_ANY_RTL" since="17" />
+		<field name="TEXT_DIRECTION_FIRST_STRONG" since="17" />
+		<field name="TEXT_DIRECTION_FIRST_STRONG_LTR" since="23" />
+		<field name="TEXT_DIRECTION_FIRST_STRONG_RTL" since="23" />
+		<field name="TEXT_DIRECTION_INHERIT" since="17" />
+		<field name="TEXT_DIRECTION_LOCALE" since="17" />
+		<field name="TEXT_DIRECTION_LTR" since="17" />
+		<field name="TEXT_DIRECTION_RTL" since="17" />
+		<field name="TRANSLATION_X" since="14" />
+		<field name="TRANSLATION_Y" since="14" />
+		<field name="TRANSLATION_Z" since="21" />
+		<field name="VIEW_LOG_TAG" />
+		<field name="VISIBLE" />
+		<field name="WINDOW_FOCUSED_STATE_SET" />
+		<field name="X" since="14" />
+		<field name="Y" since="14" />
+		<field name="Z" since="21" />
+	</class>
+	<class name="android/view/View$AccessibilityDelegate" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addExtraDataToAccessibilityNodeInfo(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;Ljava/lang/String;Landroid/os/Bundle;)V" since="26" />
+		<method name="dispatchPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z" />
+		<method name="getAccessibilityNodeProvider(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeProvider;" since="16" />
+		<method name="onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V" />
+		<method name="onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V" />
+		<method name="onPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V" />
+		<method name="onRequestSendAccessibilityEvent(Landroid/view/ViewGroup;Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z" />
+		<method name="performAccessibilityAction(Landroid/view/View;ILandroid/os/Bundle;)Z" since="16" />
+		<method name="sendAccessibilityEvent(Landroid/view/View;I)V" />
+		<method name="sendAccessibilityEventUnchecked(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V" />
+	</class>
+	<class name="android/view/View$BaseSavedState" since="1">
+		<extends name="android/view/AbsSavedState" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V" since="24" />
+		<method name="&lt;init&gt;(Landroid/os/Parcelable;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/View$DragShadowBuilder" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/view/View;)V" />
+		<method name="getView()Landroid/view/View;" />
+		<method name="onDrawShadow(Landroid/graphics/Canvas;)V" />
+		<method name="onProvideShadowMetrics(Landroid/graphics/Point;Landroid/graphics/Point;)V" />
+	</class>
+	<class name="android/view/View$MeasureSpec" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getMode(I)I" />
+		<method name="getSize(I)I" />
+		<method name="makeMeasureSpec(II)I" />
+		<method name="toString(I)Ljava/lang/String;" />
+		<field name="AT_MOST" />
+		<field name="EXACTLY" />
+		<field name="UNSPECIFIED" />
+	</class>
+	<class name="android/view/View$OnApplyWindowInsetsListener" since="20">
+		<extends name="java/lang/Object" />
+		<method name="onApplyWindowInsets(Landroid/view/View;Landroid/view/WindowInsets;)Landroid/view/WindowInsets;" />
+	</class>
+	<class name="android/view/View$OnAttachStateChangeListener" since="12">
+		<extends name="java/lang/Object" />
+		<method name="onViewAttachedToWindow(Landroid/view/View;)V" />
+		<method name="onViewDetachedFromWindow(Landroid/view/View;)V" />
+	</class>
+	<class name="android/view/View$OnCapturedPointerListener" since="26">
+		<extends name="java/lang/Object" />
+		<method name="onCapturedPointer(Landroid/view/View;Landroid/view/MotionEvent;)Z" />
+	</class>
+	<class name="android/view/View$OnClickListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onClick(Landroid/view/View;)V" />
+	</class>
+	<class name="android/view/View$OnContextClickListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onContextClick(Landroid/view/View;)Z" />
+	</class>
+	<class name="android/view/View$OnCreateContextMenuListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onCreateContextMenu(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V" />
+	</class>
+	<class name="android/view/View$OnDragListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onDrag(Landroid/view/View;Landroid/view/DragEvent;)Z" />
+	</class>
+	<class name="android/view/View$OnFocusChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onFocusChange(Landroid/view/View;Z)V" />
+	</class>
+	<class name="android/view/View$OnGenericMotionListener" since="12">
+		<extends name="java/lang/Object" />
+		<method name="onGenericMotion(Landroid/view/View;Landroid/view/MotionEvent;)Z" />
+	</class>
+	<class name="android/view/View$OnHoverListener" since="14">
+		<extends name="java/lang/Object" />
+		<method name="onHover(Landroid/view/View;Landroid/view/MotionEvent;)Z" />
+	</class>
+	<class name="android/view/View$OnKeyListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z" />
+	</class>
+	<class name="android/view/View$OnLayoutChangeListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onLayoutChange(Landroid/view/View;IIIIIIII)V" />
+	</class>
+	<class name="android/view/View$OnLongClickListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onLongClick(Landroid/view/View;)Z" />
+	</class>
+	<class name="android/view/View$OnScrollChangeListener" since="23">
+		<extends name="java/lang/Object" />
+		<method name="onScrollChange(Landroid/view/View;IIII)V" />
+	</class>
+	<class name="android/view/View$OnSystemUiVisibilityChangeListener" since="11" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="onSystemUiVisibilityChange(I)V" deprecated="30" />
+	</class>
+	<class name="android/view/View$OnTouchListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z" />
+	</class>
+	<class name="android/view/View$OnUnhandledKeyEventListener" since="28">
+		<extends name="java/lang/Object" />
+		<method name="onUnhandledKeyEvent(Landroid/view/View;Landroid/view/KeyEvent;)Z" />
+	</class>
+	<class name="android/view/ViewAnimationUtils" since="21">
+		<extends name="java/lang/Object" />
+		<method name="createCircularReveal(Landroid/view/View;IIFF)Landroid/animation/Animator;" />
+	</class>
+	<class name="android/view/ViewConfiguration" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="15" />
+		<method name="get(Landroid/content/Context;)Landroid/view/ViewConfiguration;" since="3" />
+		<method name="getAmbiguousGestureMultiplier()F" since="29" deprecated="30" />
+		<method name="getDefaultActionModeHideDuration()J" since="23" />
+		<method name="getDoubleTapTimeout()I" since="3" />
+		<method name="getEdgeSlop()I" deprecated="15" />
+		<method name="getFadingEdgeLength()I" deprecated="15" />
+		<method name="getGlobalActionKeyTimeout()J" deprecated="20" />
+		<method name="getJumpTapTimeout()I" />
+		<method name="getKeyRepeatDelay()I" since="12" />
+		<method name="getKeyRepeatTimeout()I" since="12" />
+		<method name="getLongPressTimeout()I" />
+		<method name="getMaximumDrawingCacheSize()I" deprecated="15" />
+		<method name="getMaximumFlingVelocity()I" since="4" deprecated="15" />
+		<method name="getMinimumFlingVelocity()I" deprecated="15" />
+		<method name="getMultiPressTimeout()I" since="31" />
+		<method name="getPressedStateDuration()I" />
+		<method name="getScaledAmbiguousGestureMultiplier()F" since="30" />
+		<method name="getScaledDoubleTapSlop()I" since="3" />
+		<method name="getScaledEdgeSlop()I" since="3" />
+		<method name="getScaledFadingEdgeLength()I" since="3" />
+		<method name="getScaledHorizontalScrollFactor()F" since="26" />
+		<method name="getScaledHoverSlop()I" since="28" />
+		<method name="getScaledMaximumDrawingCacheSize()I" since="3" />
+		<method name="getScaledMaximumFlingVelocity()I" since="4" />
+		<method name="getScaledMinimumFlingVelocity()I" since="3" />
+		<method name="getScaledMinimumScalingSpan()I" since="29" />
+		<method name="getScaledOverflingDistance()I" since="9" />
+		<method name="getScaledOverscrollDistance()I" since="9" />
+		<method name="getScaledPagingTouchSlop()I" since="8" />
+		<method name="getScaledScrollBarSize()I" since="3" />
+		<method name="getScaledTouchSlop()I" since="3" />
+		<method name="getScaledVerticalScrollFactor()F" since="26" />
+		<method name="getScaledWindowTouchSlop()I" since="3" />
+		<method name="getScrollBarFadeDuration()I" since="5" />
+		<method name="getScrollBarSize()I" deprecated="15" />
+		<method name="getScrollDefaultDelay()I" since="5" />
+		<method name="getScrollFriction()F" />
+		<method name="getTapTimeout()I" />
+		<method name="getTouchSlop()I" deprecated="15" />
+		<method name="getWindowTouchSlop()I" deprecated="15" />
+		<method name="getZoomControlsTimeout()J" />
+		<method name="hasPermanentMenuKey()Z" since="14" />
+		<method name="shouldShowMenuShortcutsWhenKeyboardPresent()Z" since="28" />
+	</class>
+	<class name="android/view/ViewDebug" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="dumpCapturedView(Ljava/lang/String;Ljava/lang/Object;)V" since="3" />
+		<method name="startHierarchyTracing(Ljava/lang/String;Landroid/view/View;)V" deprecated="16" />
+		<method name="startRecyclerTracing(Ljava/lang/String;Landroid/view/View;)V" deprecated="16" />
+		<method name="stopHierarchyTracing()V" deprecated="16" />
+		<method name="stopRecyclerTracing()V" deprecated="16" />
+		<method name="trace(Landroid/view/View;Landroid/view/ViewDebug$HierarchyTraceType;)V" deprecated="16" />
+		<method name="trace(Landroid/view/View;Landroid/view/ViewDebug$RecyclerTraceType;[I)V" deprecated="16" />
+		<field name="TRACE_HIERARCHY" deprecated="16" />
+		<field name="TRACE_RECYCLER" deprecated="16" />
+	</class>
+	<class name="android/view/ViewDebug$CapturedViewProperty" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="retrieveReturn()Z" />
+	</class>
+	<class name="android/view/ViewDebug$ExportedProperty" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="category()Ljava/lang/String;" since="9" />
+		<method name="deepExport()Z" />
+		<method name="flagMapping()[Landroid/view/ViewDebug$FlagToString;" since="4" />
+		<method name="formatToHexString()Z" since="21" />
+		<method name="hasAdjacentMapping()Z" since="21" />
+		<method name="indexMapping()[Landroid/view/ViewDebug$IntToString;" since="3" />
+		<method name="mapping()[Landroid/view/ViewDebug$IntToString;" />
+		<method name="prefix()Ljava/lang/String;" />
+		<method name="resolveId()Z" />
+	</class>
+	<class name="android/view/ViewDebug$FlagToString" since="4">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="equals()I" />
+		<method name="mask()I" />
+		<method name="name()Ljava/lang/String;" />
+		<method name="outputIf()Z" />
+	</class>
+	<class name="android/view/ViewDebug$HierarchyTraceType" since="1" deprecated="16">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/view/ViewDebug$HierarchyTraceType;" />
+		<method name="values()[Landroid/view/ViewDebug$HierarchyTraceType;" />
+		<field name="BUILD_CACHE" deprecated="29" />
+		<field name="DRAW" deprecated="29" />
+		<field name="INVALIDATE" deprecated="29" />
+		<field name="INVALIDATE_CHILD" deprecated="29" />
+		<field name="INVALIDATE_CHILD_IN_PARENT" deprecated="29" />
+		<field name="ON_LAYOUT" deprecated="29" />
+		<field name="ON_MEASURE" deprecated="29" />
+		<field name="REQUEST_LAYOUT" deprecated="29" />
+	</class>
+	<class name="android/view/ViewDebug$IntToString" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="from()I" />
+		<method name="to()Ljava/lang/String;" />
+	</class>
+	<class name="android/view/ViewDebug$RecyclerTraceType" since="1" deprecated="16">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/view/ViewDebug$RecyclerTraceType;" />
+		<method name="values()[Landroid/view/ViewDebug$RecyclerTraceType;" />
+		<field name="BIND_VIEW" deprecated="29" />
+		<field name="MOVE_FROM_ACTIVE_TO_SCRAP_HEAP" deprecated="29" />
+		<field name="MOVE_TO_ACTIVE_HEAP" removed="8" />
+		<field name="MOVE_TO_SCRAP_HEAP" deprecated="29" />
+		<field name="NEW_VIEW" deprecated="29" />
+		<field name="RECYCLE_FROM_ACTIVE_HEAP" deprecated="29" />
+		<field name="RECYCLE_FROM_SCRAP_HEAP" deprecated="29" />
+	</class>
+	<class name="android/view/ViewGroup" since="1">
+		<extends name="android/view/View" />
+		<implements name="android/view/ViewManager" />
+		<implements name="android/view/ViewParent" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="addStatesFromChildren()Z" />
+		<method name="addView(Landroid/view/View;)V" />
+		<method name="addView(Landroid/view/View;I)V" />
+		<method name="addView(Landroid/view/View;II)V" />
+		<method name="addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)Z" />
+		<method name="addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z" />
+		<method name="attachLayoutAnimationParameters(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;II)V" />
+		<method name="attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="canAnimate()Z" />
+		<method name="checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z" />
+		<method name="cleanupLayoutState(Landroid/view/View;)V" />
+		<method name="clearDisappearingChildren()V" />
+		<method name="debug(I)V" />
+		<method name="detachAllViewsFromParent()V" />
+		<method name="detachViewFromParent(I)V" />
+		<method name="detachViewFromParent(Landroid/view/View;)V" />
+		<method name="detachViewsFromParent(II)V" />
+		<method name="dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V" />
+		<method name="dispatchThawSelfOnly(Landroid/util/SparseArray;)V" />
+		<method name="drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z" />
+		<method name="endViewTransition(Landroid/view/View;)V" since="11" />
+		<method name="gatherTransparentRegion(Landroid/graphics/Region;)Z" />
+		<method name="generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;" />
+		<method name="getChildAt(I)Landroid/view/View;" />
+		<method name="getChildCount()I" />
+		<method name="getChildDrawingOrder(I)I" since="29" />
+		<method name="getChildDrawingOrder(II)I" />
+		<method name="getChildMeasureSpec(III)I" />
+		<method name="getChildStaticTransformation(Landroid/view/View;Landroid/view/animation/Transformation;)Z" />
+		<method name="getClipChildren()Z" since="18" />
+		<method name="getClipToPadding()Z" since="21" />
+		<method name="getDescendantFocusability()I" />
+		<method name="getFocusedChild()Landroid/view/View;" />
+		<method name="getLayoutAnimation()Landroid/view/animation/LayoutAnimationController;" />
+		<method name="getLayoutAnimationListener()Landroid/view/animation/Animation$AnimationListener;" />
+		<method name="getLayoutMode()I" since="18" />
+		<method name="getLayoutTransition()Landroid/animation/LayoutTransition;" since="11" />
+		<method name="getNestedScrollAxes()I" since="21" />
+		<method name="getOverlay()Landroid/view/ViewGroupOverlay;" since="18" />
+		<method name="getPersistentDrawingCache()I" deprecated="28" />
+		<method name="getTouchscreenBlocksFocus()Z" since="21" />
+		<method name="indexOfChild(Landroid/view/View;)I" />
+		<method name="isAlwaysDrawnWithCacheEnabled()Z" deprecated="23" />
+		<method name="isAnimationCacheEnabled()Z" deprecated="23" />
+		<method name="isChildrenDrawingOrderEnabled()Z" since="7" />
+		<method name="isChildrenDrawnWithCacheEnabled()Z" deprecated="23" />
+		<method name="isLayoutSuppressed()Z" since="29" />
+		<method name="isMotionEventSplittingEnabled()Z" since="11" />
+		<method name="isTransitionGroup()Z" since="21" />
+		<method name="measureChild(Landroid/view/View;II)V" />
+		<method name="measureChildWithMargins(Landroid/view/View;IIII)V" />
+		<method name="measureChildren(II)V" />
+		<method name="offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V" />
+		<method name="offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V" />
+		<method name="onInterceptHoverEvent(Landroid/view/MotionEvent;)Z" since="14" />
+		<method name="onInterceptTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z" />
+		<method name="onRequestSendAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z" since="14" />
+		<method name="onViewAdded(Landroid/view/View;)V" since="23" />
+		<method name="onViewRemoved(Landroid/view/View;)V" since="23" />
+		<method name="removeAllViews()V" />
+		<method name="removeAllViewsInLayout()V" />
+		<method name="removeDetachedView(Landroid/view/View;Z)V" />
+		<method name="removeViewAt(I)V" />
+		<method name="removeViewInLayout(Landroid/view/View;)V" />
+		<method name="removeViews(II)V" />
+		<method name="removeViewsInLayout(II)V" />
+		<method name="requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z" />
+		<method name="resetResolvedLayoutDirection()V" since="14" removed="16" />
+		<method name="resetResolvedTextDirection()V" since="14" removed="16" />
+		<method name="scheduleLayoutAnimation()V" />
+		<method name="setAddStatesFromChildren(Z)V" />
+		<method name="setAlwaysDrawnWithCacheEnabled(Z)V" deprecated="23" />
+		<method name="setAnimationCacheEnabled(Z)V" deprecated="23" />
+		<method name="setChildrenDrawingCacheEnabled(Z)V" deprecated="28" />
+		<method name="setChildrenDrawingOrderEnabled(Z)V" since="7" />
+		<method name="setChildrenDrawnWithCacheEnabled(Z)V" deprecated="23" />
+		<method name="setClipChildren(Z)V" />
+		<method name="setClipToPadding(Z)V" />
+		<method name="setDescendantFocusability(I)V" />
+		<method name="setLayoutAnimation(Landroid/view/animation/LayoutAnimationController;)V" />
+		<method name="setLayoutAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V" />
+		<method name="setLayoutMode(I)V" since="18" />
+		<method name="setLayoutTransition(Landroid/animation/LayoutTransition;)V" since="11" />
+		<method name="setMotionEventSplittingEnabled(Z)V" since="11" />
+		<method name="setOnHierarchyChangeListener(Landroid/view/ViewGroup$OnHierarchyChangeListener;)V" />
+		<method name="setPersistentDrawingCache(I)V" deprecated="28" />
+		<method name="setStaticTransformationsEnabled(Z)V" since="3" />
+		<method name="setTouchscreenBlocksFocus(Z)V" since="21" />
+		<method name="setTransitionGroup(Z)V" since="21" />
+		<method name="shouldDelayChildPressedState()Z" since="14" />
+		<method name="startLayoutAnimation()V" />
+		<method name="startViewTransition(Landroid/view/View;)V" since="11" />
+		<method name="suppressLayout(Z)V" since="29" />
+		<field name="CLIP_TO_PADDING_MASK" />
+		<field name="FLAG_USE_CHILD_DRAWING_ORDER" removed="7" />
+		<field name="FOCUS_AFTER_DESCENDANTS" />
+		<field name="FOCUS_BEFORE_DESCENDANTS" />
+		<field name="FOCUS_BLOCK_DESCENDANTS" />
+		<field name="LAYOUT_MODE_CLIP_BOUNDS" since="18" />
+		<field name="LAYOUT_MODE_OPTICAL_BOUNDS" since="18" />
+		<field name="PERSISTENT_ALL_CACHES" deprecated="28" />
+		<field name="PERSISTENT_ANIMATION_CACHE" deprecated="28" />
+		<field name="PERSISTENT_NO_CACHE" deprecated="28" />
+		<field name="PERSISTENT_SCROLLING_CACHE" deprecated="28" />
+	</class>
+	<class name="android/view/ViewGroup$LayoutParams" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="resolveLayoutDirection(I)V" since="17" />
+		<method name="setBaseAttributes(Landroid/content/res/TypedArray;II)V" />
+		<field name="FILL_PARENT" deprecated="15" />
+		<field name="MATCH_PARENT" since="8" />
+		<field name="WRAP_CONTENT" />
+		<field name="height" />
+		<field name="layoutAnimationParameters" />
+		<field name="width" />
+	</class>
+	<class name="android/view/ViewGroup$MarginLayoutParams" since="1">
+		<extends name="android/view/ViewGroup$LayoutParams" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$MarginLayoutParams;)V" />
+		<method name="getLayoutDirection()I" since="17" />
+		<method name="getMarginEnd()I" since="17" />
+		<method name="getMarginStart()I" since="17" />
+		<method name="isMarginRelative()Z" since="17" />
+		<method name="setLayoutDirection(I)V" since="17" />
+		<method name="setMarginEnd(I)V" since="17" />
+		<method name="setMarginStart(I)V" since="17" />
+		<method name="setMargins(IIII)V" />
+		<field name="bottomMargin" />
+		<field name="leftMargin" />
+		<field name="rightMargin" />
+		<field name="topMargin" />
+	</class>
+	<class name="android/view/ViewGroup$OnHierarchyChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onChildViewAdded(Landroid/view/View;Landroid/view/View;)V" />
+		<method name="onChildViewRemoved(Landroid/view/View;Landroid/view/View;)V" />
+	</class>
+	<class name="android/view/ViewGroupOverlay" since="18">
+		<extends name="android/view/ViewOverlay" />
+		<method name="add(Landroid/view/View;)V" />
+		<method name="remove(Landroid/view/View;)V" />
+	</class>
+	<class name="android/view/ViewManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="removeView(Landroid/view/View;)V" />
+		<method name="updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V" />
+	</class>
+	<class name="android/view/ViewOutlineProvider" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getOutline(Landroid/view/View;Landroid/graphics/Outline;)V" />
+		<field name="BACKGROUND" />
+		<field name="BOUNDS" />
+		<field name="PADDED_BOUNDS" />
+	</class>
+	<class name="android/view/ViewOverlay" since="18">
+		<extends name="java/lang/Object" />
+		<method name="add(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="clear()V" />
+		<method name="remove(Landroid/graphics/drawable/Drawable;)V" />
+	</class>
+	<class name="android/view/ViewParent" since="1">
+		<extends name="java/lang/Object" />
+		<method name="bringChildToFront(Landroid/view/View;)V" />
+		<method name="canResolveLayoutDirection()Z" since="19" />
+		<method name="canResolveTextAlignment()Z" since="19" />
+		<method name="canResolveTextDirection()Z" since="19" />
+		<method name="childDrawableStateChanged(Landroid/view/View;)V" />
+		<method name="childHasTransientStateChanged(Landroid/view/View;Z)V" since="19" />
+		<method name="clearChildFocus(Landroid/view/View;)V" />
+		<method name="createContextMenu(Landroid/view/ContextMenu;)V" />
+		<method name="focusSearch(Landroid/view/View;I)Landroid/view/View;" />
+		<method name="focusableViewAvailable(Landroid/view/View;)V" />
+		<method name="getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z" />
+		<method name="getLayoutDirection()I" since="19" />
+		<method name="getParent()Landroid/view/ViewParent;" />
+		<method name="getParentForAccessibility()Landroid/view/ViewParent;" since="16" />
+		<method name="getTextAlignment()I" since="19" />
+		<method name="getTextDirection()I" since="19" />
+		<method name="invalidateChild(Landroid/view/View;Landroid/graphics/Rect;)V" deprecated="26" />
+		<method name="invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent;" deprecated="26" />
+		<method name="isLayoutDirectionResolved()Z" since="19" />
+		<method name="isLayoutRequested()Z" />
+		<method name="isTextAlignmentResolved()Z" since="19" />
+		<method name="isTextDirectionResolved()Z" since="19" />
+		<method name="keyboardNavigationClusterSearch(Landroid/view/View;I)Landroid/view/View;" since="26" />
+		<method name="notifySubtreeAccessibilityStateChanged(Landroid/view/View;Landroid/view/View;I)V" since="19" />
+		<method name="onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V" since="26" />
+		<method name="onNestedFling(Landroid/view/View;FFZ)Z" since="21" />
+		<method name="onNestedPreFling(Landroid/view/View;FF)Z" since="21" />
+		<method name="onNestedPrePerformAccessibilityAction(Landroid/view/View;ILandroid/os/Bundle;)Z" since="22" />
+		<method name="onNestedPreScroll(Landroid/view/View;II[I)V" since="21" />
+		<method name="onNestedScroll(Landroid/view/View;IIII)V" since="21" />
+		<method name="onNestedScrollAccepted(Landroid/view/View;Landroid/view/View;I)V" since="21" />
+		<method name="onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z" since="21" />
+		<method name="onStopNestedScroll(Landroid/view/View;)V" since="21" />
+		<method name="recomputeViewAttributes(Landroid/view/View;)V" />
+		<method name="requestChildFocus(Landroid/view/View;Landroid/view/View;)V" />
+		<method name="requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z" since="3" />
+		<method name="requestDisallowInterceptTouchEvent(Z)V" />
+		<method name="requestFitSystemWindows()V" since="16" />
+		<method name="requestLayout()V" />
+		<method name="requestSendAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z" since="14" />
+		<method name="requestTransparentRegion(Landroid/view/View;)V" />
+		<method name="showContextMenuForChild(Landroid/view/View;)Z" />
+		<method name="showContextMenuForChild(Landroid/view/View;FF)Z" since="24" />
+		<method name="startActionModeForChild(Landroid/view/View;Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;" since="11" />
+		<method name="startActionModeForChild(Landroid/view/View;Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;" since="23" />
+	</class>
+	<class name="android/view/ViewPropertyAnimator" since="12">
+		<extends name="java/lang/Object" />
+		<method name="alpha(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="alphaBy(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="cancel()V" since="14" />
+		<method name="getDuration()J" since="14" />
+		<method name="getInterpolator()Landroid/animation/TimeInterpolator;" since="18" />
+		<method name="getStartDelay()J" since="14" />
+		<method name="rotation(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="rotationBy(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="rotationX(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="rotationXBy(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="rotationY(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="rotationYBy(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="scaleX(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="scaleXBy(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="scaleY(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="scaleYBy(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="setDuration(J)Landroid/view/ViewPropertyAnimator;" />
+		<method name="setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/view/ViewPropertyAnimator;" />
+		<method name="setListener(Landroid/animation/Animator$AnimatorListener;)Landroid/view/ViewPropertyAnimator;" />
+		<method name="setStartDelay(J)Landroid/view/ViewPropertyAnimator;" since="14" />
+		<method name="setUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)Landroid/view/ViewPropertyAnimator;" since="19" />
+		<method name="start()V" since="14" />
+		<method name="translationX(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="translationXBy(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="translationY(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="translationYBy(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="translationZ(F)Landroid/view/ViewPropertyAnimator;" since="21" />
+		<method name="translationZBy(F)Landroid/view/ViewPropertyAnimator;" since="21" />
+		<method name="withEndAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;" since="16" />
+		<method name="withLayer()Landroid/view/ViewPropertyAnimator;" since="16" />
+		<method name="withStartAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;" since="16" />
+		<method name="x(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="xBy(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="y(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="yBy(F)Landroid/view/ViewPropertyAnimator;" />
+		<method name="z(F)Landroid/view/ViewPropertyAnimator;" since="21" />
+		<method name="zBy(F)Landroid/view/ViewPropertyAnimator;" since="21" />
+	</class>
+	<class name="android/view/ViewStructure" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addChildCount(I)I" />
+		<method name="asyncCommit()V" />
+		<method name="asyncNewChild(I)Landroid/view/ViewStructure;" />
+		<method name="getAutofillId()Landroid/view/autofill/AutofillId;" since="26" />
+		<method name="getChildCount()I" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getHint()Ljava/lang/CharSequence;" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<method name="getTextSelectionEnd()I" />
+		<method name="getTextSelectionStart()I" />
+		<method name="hasExtras()Z" />
+		<method name="newChild(I)Landroid/view/ViewStructure;" />
+		<method name="newHtmlInfoBuilder(Ljava/lang/String;)Landroid/view/ViewStructure$HtmlInfo$Builder;" since="26" />
+		<method name="setAccessibilityFocused(Z)V" />
+		<method name="setActivated(Z)V" />
+		<method name="setAlpha(F)V" />
+		<method name="setAutofillHints([Ljava/lang/String;)V" since="26" />
+		<method name="setAutofillId(Landroid/view/autofill/AutofillId;)V" since="26" />
+		<method name="setAutofillId(Landroid/view/autofill/AutofillId;I)V" since="26" />
+		<method name="setAutofillOptions([Ljava/lang/CharSequence;)V" since="26" />
+		<method name="setAutofillType(I)V" since="26" />
+		<method name="setAutofillValue(Landroid/view/autofill/AutofillValue;)V" since="26" />
+		<method name="setCheckable(Z)V" />
+		<method name="setChecked(Z)V" />
+		<method name="setChildCount(I)V" />
+		<method name="setClassName(Ljava/lang/String;)V" />
+		<method name="setClickable(Z)V" />
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V" />
+		<method name="setContextClickable(Z)V" />
+		<method name="setDataIsSensitive(Z)V" since="26" />
+		<method name="setDimens(IIIIII)V" />
+		<method name="setElevation(F)V" />
+		<method name="setEnabled(Z)V" />
+		<method name="setFocusable(Z)V" />
+		<method name="setFocused(Z)V" />
+		<method name="setHint(Ljava/lang/CharSequence;)V" />
+		<method name="setHintIdEntry(Ljava/lang/String;)V" since="30" />
+		<method name="setHtmlInfo(Landroid/view/ViewStructure$HtmlInfo;)V" since="26" />
+		<method name="setId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setImportantForAutofill(I)V" since="28" />
+		<method name="setInputType(I)V" since="26" />
+		<method name="setLocaleList(Landroid/os/LocaleList;)V" since="26" />
+		<method name="setLongClickable(Z)V" />
+		<method name="setMaxTextEms(I)V" since="28" />
+		<method name="setMaxTextLength(I)V" since="28" />
+		<method name="setMinTextEms(I)V" since="28" />
+		<method name="setOpaque(Z)V" since="26" />
+		<method name="setReceiveContentMimeTypes([Ljava/lang/String;)V" since="31" />
+		<method name="setSelected(Z)V" />
+		<method name="setText(Ljava/lang/CharSequence;)V" />
+		<method name="setText(Ljava/lang/CharSequence;II)V" />
+		<method name="setTextIdEntry(Ljava/lang/String;)V" since="28" />
+		<method name="setTextLines([I[I)V" />
+		<method name="setTextStyle(FIII)V" />
+		<method name="setTransformation(Landroid/graphics/Matrix;)V" />
+		<method name="setVisibility(I)V" />
+		<method name="setWebDomain(Ljava/lang/String;)V" since="26" />
+	</class>
+	<class name="android/view/ViewStructure$HtmlInfo" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAttributes()Ljava/util/List;" />
+		<method name="getTag()Ljava/lang/String;" />
+	</class>
+	<class name="android/view/ViewStructure$HtmlInfo$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addAttribute(Ljava/lang/String;Ljava/lang/String;)Landroid/view/ViewStructure$HtmlInfo$Builder;" />
+		<method name="build()Landroid/view/ViewStructure$HtmlInfo;" />
+	</class>
+	<class name="android/view/ViewStub" since="1">
+		<extends name="android/view/View" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getInflatedId()I" />
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;" since="16" />
+		<method name="getLayoutResource()I" />
+		<method name="inflate()Landroid/view/View;" />
+		<method name="setInflatedId(I)V" />
+		<method name="setLayoutInflater(Landroid/view/LayoutInflater;)V" since="16" />
+		<method name="setLayoutResource(I)V" />
+		<method name="setOnInflateListener(Landroid/view/ViewStub$OnInflateListener;)V" />
+	</class>
+	<class name="android/view/ViewStub$OnInflateListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onInflate(Landroid/view/ViewStub;Landroid/view/View;)V" />
+	</class>
+	<class name="android/view/ViewTreeObserver" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V" since="16" />
+		<method name="addOnGlobalFocusChangeListener(Landroid/view/ViewTreeObserver$OnGlobalFocusChangeListener;)V" />
+		<method name="addOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V" />
+		<method name="addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V" />
+		<method name="addOnScrollChangedListener(Landroid/view/ViewTreeObserver$OnScrollChangedListener;)V" since="3" />
+		<method name="addOnSystemGestureExclusionRectsChangedListener(Ljava/util/function/Consumer;)V" since="29" />
+		<method name="addOnTouchModeChangeListener(Landroid/view/ViewTreeObserver$OnTouchModeChangeListener;)V" />
+		<method name="addOnWindowAttachListener(Landroid/view/ViewTreeObserver$OnWindowAttachListener;)V" since="18" />
+		<method name="addOnWindowFocusChangeListener(Landroid/view/ViewTreeObserver$OnWindowFocusChangeListener;)V" since="18" />
+		<method name="dispatchOnDraw()V" since="16" />
+		<method name="dispatchOnGlobalLayout()V" />
+		<method name="dispatchOnPreDraw()Z" />
+		<method name="isAlive()Z" />
+		<method name="registerFrameCommitCallback(Ljava/lang/Runnable;)V" since="29" />
+		<method name="removeGlobalOnLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V" deprecated="16" />
+		<method name="removeOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V" since="16" />
+		<method name="removeOnGlobalFocusChangeListener(Landroid/view/ViewTreeObserver$OnGlobalFocusChangeListener;)V" />
+		<method name="removeOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V" since="16" />
+		<method name="removeOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V" />
+		<method name="removeOnScrollChangedListener(Landroid/view/ViewTreeObserver$OnScrollChangedListener;)V" since="3" />
+		<method name="removeOnSystemGestureExclusionRectsChangedListener(Ljava/util/function/Consumer;)V" since="29" />
+		<method name="removeOnTouchModeChangeListener(Landroid/view/ViewTreeObserver$OnTouchModeChangeListener;)V" />
+		<method name="removeOnWindowAttachListener(Landroid/view/ViewTreeObserver$OnWindowAttachListener;)V" since="18" />
+		<method name="removeOnWindowFocusChangeListener(Landroid/view/ViewTreeObserver$OnWindowFocusChangeListener;)V" since="18" />
+		<method name="unregisterFrameCommitCallback(Ljava/lang/Runnable;)Z" since="29" />
+	</class>
+	<class name="android/view/ViewTreeObserver$OnDrawListener" since="16">
+		<extends name="java/lang/Object" />
+		<method name="onDraw()V" />
+	</class>
+	<class name="android/view/ViewTreeObserver$OnGlobalFocusChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onGlobalFocusChanged(Landroid/view/View;Landroid/view/View;)V" />
+	</class>
+	<class name="android/view/ViewTreeObserver$OnGlobalLayoutListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onGlobalLayout()V" />
+	</class>
+	<class name="android/view/ViewTreeObserver$OnPreDrawListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onPreDraw()Z" />
+	</class>
+	<class name="android/view/ViewTreeObserver$OnScrollChangedListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onScrollChanged()V" />
+	</class>
+	<class name="android/view/ViewTreeObserver$OnTouchModeChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onTouchModeChanged(Z)V" />
+	</class>
+	<class name="android/view/ViewTreeObserver$OnWindowAttachListener" since="18">
+		<extends name="java/lang/Object" />
+		<method name="onWindowAttached()V" />
+		<method name="onWindowDetached()V" />
+	</class>
+	<class name="android/view/ViewTreeObserver$OnWindowFocusChangeListener" since="18">
+		<extends name="java/lang/Object" />
+		<method name="onWindowFocusChanged(Z)V" />
+	</class>
+	<class name="android/view/Window" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="addContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="addFlags(I)V" />
+		<method name="addOnFrameMetricsAvailableListener(Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V" since="24" />
+		<method name="clearFlags(I)V" />
+		<method name="closeAllPanels()V" />
+		<method name="closePanel(I)V" />
+		<method name="findViewById(I)Landroid/view/View;" />
+		<method name="getAllowEnterTransitionOverlap()Z" since="21" />
+		<method name="getAllowReturnTransitionOverlap()Z" since="21" />
+		<method name="getAttributes()Landroid/view/WindowManager$LayoutParams;" />
+		<method name="getCallback()Landroid/view/Window$Callback;" />
+		<method name="getColorMode()I" since="26" />
+		<method name="getContainer()Landroid/view/Window;" />
+		<method name="getContentScene()Landroid/transition/Scene;" since="21" />
+		<method name="getContext()Landroid/content/Context;" />
+		<method name="getCurrentFocus()Landroid/view/View;" />
+		<method name="getDecorView()Landroid/view/View;" />
+		<method name="getDefaultFeatures(Landroid/content/Context;)I" since="22" />
+		<method name="getEnterTransition()Landroid/transition/Transition;" since="21" />
+		<method name="getExitTransition()Landroid/transition/Transition;" since="21" />
+		<method name="getFeatures()I" />
+		<method name="getForcedWindowFlags()I" />
+		<method name="getInsetsController()Landroid/view/WindowInsetsController;" since="30" />
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;" />
+		<method name="getLocalFeatures()I" />
+		<method name="getMediaController()Landroid/media/session/MediaController;" since="21" />
+		<method name="getNavigationBarColor()I" since="21" />
+		<method name="getNavigationBarDividerColor()I" since="28" />
+		<method name="getReenterTransition()Landroid/transition/Transition;" since="21" />
+		<method name="getReturnTransition()Landroid/transition/Transition;" since="21" />
+		<method name="getRootSurfaceControl()Landroid/view/AttachedSurfaceControl;" since="31" />
+		<method name="getSharedElementEnterTransition()Landroid/transition/Transition;" since="21" />
+		<method name="getSharedElementExitTransition()Landroid/transition/Transition;" since="21" />
+		<method name="getSharedElementReenterTransition()Landroid/transition/Transition;" since="21" />
+		<method name="getSharedElementReturnTransition()Landroid/transition/Transition;" since="21" />
+		<method name="getSharedElementsUseOverlay()Z" since="21" />
+		<method name="getStatusBarColor()I" since="21" />
+		<method name="getSystemGestureExclusionRects()Ljava/util/List;" since="29" />
+		<method name="getTransitionBackgroundFadeDuration()J" since="21" />
+		<method name="getTransitionManager()Landroid/transition/TransitionManager;" since="21" />
+		<method name="getVolumeControlStream()I" />
+		<method name="getWindowManager()Landroid/view/WindowManager;" />
+		<method name="getWindowStyle()Landroid/content/res/TypedArray;" />
+		<method name="hasChildren()Z" />
+		<method name="hasFeature(I)Z" since="11" />
+		<method name="hasSoftInputMode()Z" since="3" />
+		<method name="injectInputEvent(Landroid/view/InputEvent;)V" since="19" />
+		<method name="invalidatePanelMenu(I)V" since="11" />
+		<method name="isActive()Z" />
+		<method name="isFloating()Z" />
+		<method name="isNavigationBarContrastEnforced()Z" since="29" />
+		<method name="isShortcutKey(ILandroid/view/KeyEvent;)Z" />
+		<method name="isStatusBarContrastEnforced()Z" since="29" />
+		<method name="isWideColorGamut()Z" since="27" />
+		<method name="makeActive()V" />
+		<method name="onActive()V" />
+		<method name="onConfigurationChanged(Landroid/content/res/Configuration;)V" />
+		<method name="openPanel(ILandroid/view/KeyEvent;)V" />
+		<method name="peekDecorView()Landroid/view/View;" />
+		<method name="performContextMenuIdentifierAction(II)Z" />
+		<method name="performPanelIdentifierAction(III)Z" />
+		<method name="performPanelShortcut(IILandroid/view/KeyEvent;I)Z" />
+		<method name="registerScrollCaptureCallback(Landroid/view/ScrollCaptureCallback;)V" since="31" />
+		<method name="removeOnFrameMetricsAvailableListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V" since="24" />
+		<method name="requestFeature(I)Z" />
+		<method name="requireViewById(I)Landroid/view/View;" since="28" />
+		<method name="restoreHierarchyState(Landroid/os/Bundle;)V" />
+		<method name="saveHierarchyState()Landroid/os/Bundle;" />
+		<method name="setAllowEnterTransitionOverlap(Z)V" since="21" />
+		<method name="setAllowReturnTransitionOverlap(Z)V" since="21" />
+		<method name="setAttributes(Landroid/view/WindowManager$LayoutParams;)V" />
+		<method name="setBackgroundBlurRadius(I)V" since="31" />
+		<method name="setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setBackgroundDrawableResource(I)V" />
+		<method name="setCallback(Landroid/view/Window$Callback;)V" />
+		<method name="setChildDrawable(ILandroid/graphics/drawable/Drawable;)V" />
+		<method name="setChildInt(II)V" />
+		<method name="setClipToOutline(Z)V" since="22" />
+		<method name="setColorMode(I)V" since="26" />
+		<method name="setContainer(Landroid/view/Window;)V" />
+		<method name="setContentView(I)V" />
+		<method name="setContentView(Landroid/view/View;)V" />
+		<method name="setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="setDecorCaptionShade(I)V" since="24" />
+		<method name="setDecorFitsSystemWindows(Z)V" since="30" />
+		<method name="setDefaultWindowFormat(I)V" />
+		<method name="setDimAmount(F)V" since="14" />
+		<method name="setElevation(F)V" since="22" />
+		<method name="setEnterTransition(Landroid/transition/Transition;)V" since="21" />
+		<method name="setExitTransition(Landroid/transition/Transition;)V" since="21" />
+		<method name="setFeatureDrawable(ILandroid/graphics/drawable/Drawable;)V" />
+		<method name="setFeatureDrawableAlpha(II)V" />
+		<method name="setFeatureDrawableResource(II)V" />
+		<method name="setFeatureDrawableUri(ILandroid/net/Uri;)V" />
+		<method name="setFeatureInt(II)V" />
+		<method name="setFlags(II)V" />
+		<method name="setFormat(I)V" />
+		<method name="setGravity(I)V" />
+		<method name="setHideOverlayWindows(Z)V" since="31" />
+		<method name="setIcon(I)V" since="19" />
+		<method name="setLayout(II)V" />
+		<method name="setLocalFocus(ZZ)V" since="19" />
+		<method name="setLogo(I)V" since="19" />
+		<method name="setMediaController(Landroid/media/session/MediaController;)V" since="21" />
+		<method name="setNavigationBarColor(I)V" since="21" />
+		<method name="setNavigationBarContrastEnforced(Z)V" since="29" />
+		<method name="setNavigationBarDividerColor(I)V" since="28" />
+		<method name="setPreferMinimalPostProcessing(Z)V" since="30" />
+		<method name="setReenterTransition(Landroid/transition/Transition;)V" since="21" />
+		<method name="setResizingCaptionDrawable(Landroid/graphics/drawable/Drawable;)V" since="24" />
+		<method name="setRestrictedCaptionAreaListener(Landroid/view/Window$OnRestrictedCaptionAreaChangedListener;)V" since="24" />
+		<method name="setReturnTransition(Landroid/transition/Transition;)V" since="21" />
+		<method name="setSharedElementEnterTransition(Landroid/transition/Transition;)V" since="21" />
+		<method name="setSharedElementExitTransition(Landroid/transition/Transition;)V" since="21" />
+		<method name="setSharedElementReenterTransition(Landroid/transition/Transition;)V" since="21" />
+		<method name="setSharedElementReturnTransition(Landroid/transition/Transition;)V" since="21" />
+		<method name="setSharedElementsUseOverlay(Z)V" since="21" />
+		<method name="setSoftInputMode(I)V" since="3" />
+		<method name="setStatusBarColor(I)V" since="21" />
+		<method name="setStatusBarContrastEnforced(Z)V" since="29" />
+		<method name="setSustainedPerformanceMode(Z)V" since="24" />
+		<method name="setSystemGestureExclusionRects(Ljava/util/List;)V" since="29" />
+		<method name="setTitle(Ljava/lang/CharSequence;)V" />
+		<method name="setTitleColor(I)V" deprecated="21" />
+		<method name="setTransitionBackgroundFadeDuration(J)V" since="21" />
+		<method name="setTransitionManager(Landroid/transition/TransitionManager;)V" since="21" />
+		<method name="setType(I)V" />
+		<method name="setUiOptions(I)V" since="14" />
+		<method name="setUiOptions(II)V" since="14" />
+		<method name="setVolumeControlStream(I)V" />
+		<method name="setWindowAnimations(I)V" since="3" />
+		<method name="setWindowManager(Landroid/view/WindowManager;Landroid/os/IBinder;Ljava/lang/String;)V" />
+		<method name="setWindowManager(Landroid/view/WindowManager;Landroid/os/IBinder;Ljava/lang/String;Z)V" since="11" />
+		<method name="superDispatchGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12" />
+		<method name="superDispatchKeyEvent(Landroid/view/KeyEvent;)Z" />
+		<method name="superDispatchKeyShortcutEvent(Landroid/view/KeyEvent;)Z" since="11" />
+		<method name="superDispatchTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="superDispatchTrackballEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="takeInputQueue(Landroid/view/InputQueue$Callback;)V" since="9" />
+		<method name="takeKeyEvents(Z)V" />
+		<method name="takeSurface(Landroid/view/SurfaceHolder$Callback2;)V" since="9" />
+		<method name="togglePanel(ILandroid/view/KeyEvent;)V" />
+		<method name="unregisterScrollCaptureCallback(Landroid/view/ScrollCaptureCallback;)V" since="31" />
+		<field name="DECOR_CAPTION_SHADE_AUTO" since="24" />
+		<field name="DECOR_CAPTION_SHADE_DARK" since="24" />
+		<field name="DECOR_CAPTION_SHADE_LIGHT" since="24" />
+		<field name="DEFAULT_FEATURES" deprecated="22" />
+		<field name="FEATURE_ACTION_BAR" since="11" />
+		<field name="FEATURE_ACTION_BAR_OVERLAY" since="11" />
+		<field name="FEATURE_ACTION_MODE_OVERLAY" since="11" />
+		<field name="FEATURE_ACTIVITY_TRANSITIONS" since="21" />
+		<field name="FEATURE_CONTENT_TRANSITIONS" since="21" />
+		<field name="FEATURE_CONTEXT_MENU" />
+		<field name="FEATURE_CUSTOM_TITLE" />
+		<field name="FEATURE_INDETERMINATE_PROGRESS" deprecated="24" />
+		<field name="FEATURE_LEFT_ICON" />
+		<field name="FEATURE_NO_TITLE" />
+		<field name="FEATURE_OPTIONS_PANEL" />
+		<field name="FEATURE_PROGRESS" deprecated="24" />
+		<field name="FEATURE_RIGHT_ICON" />
+		<field name="FEATURE_SWIPE_TO_DISMISS" since="20" deprecated="30" />
+		<field name="ID_ANDROID_CONTENT" />
+		<field name="NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME" since="21" />
+		<field name="PROGRESS_END" deprecated="24" />
+		<field name="PROGRESS_INDETERMINATE_OFF" deprecated="24" />
+		<field name="PROGRESS_INDETERMINATE_ON" deprecated="24" />
+		<field name="PROGRESS_SECONDARY_END" deprecated="24" />
+		<field name="PROGRESS_SECONDARY_START" deprecated="24" />
+		<field name="PROGRESS_START" deprecated="24" />
+		<field name="PROGRESS_VISIBILITY_OFF" deprecated="24" />
+		<field name="PROGRESS_VISIBILITY_ON" deprecated="24" />
+		<field name="STATUS_BAR_BACKGROUND_TRANSITION_NAME" since="21" />
+	</class>
+	<class name="android/view/Window$Callback" since="1">
+		<extends name="java/lang/Object" />
+		<method name="dispatchGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12" />
+		<method name="dispatchKeyEvent(Landroid/view/KeyEvent;)Z" />
+		<method name="dispatchKeyShortcutEvent(Landroid/view/KeyEvent;)Z" since="11" />
+		<method name="dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z" since="4" />
+		<method name="dispatchTouchEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="dispatchTrackballEvent(Landroid/view/MotionEvent;)Z" />
+		<method name="onActionModeFinished(Landroid/view/ActionMode;)V" since="11" />
+		<method name="onActionModeStarted(Landroid/view/ActionMode;)V" since="11" />
+		<method name="onAttachedToWindow()V" since="5" />
+		<method name="onContentChanged()V" />
+		<method name="onCreatePanelMenu(ILandroid/view/Menu;)Z" />
+		<method name="onCreatePanelView(I)Landroid/view/View;" />
+		<method name="onDetachedFromWindow()V" since="5" />
+		<method name="onMenuItemSelected(ILandroid/view/MenuItem;)Z" />
+		<method name="onMenuOpened(ILandroid/view/Menu;)Z" />
+		<method name="onPanelClosed(ILandroid/view/Menu;)V" />
+		<method name="onPointerCaptureChanged(Z)V" since="26" />
+		<method name="onPreparePanel(ILandroid/view/View;Landroid/view/Menu;)Z" />
+		<method name="onProvideKeyboardShortcuts(Ljava/util/List;Landroid/view/Menu;I)V" since="24" />
+		<method name="onSearchRequested()Z" />
+		<method name="onSearchRequested(Landroid/view/SearchEvent;)Z" since="23" />
+		<method name="onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V" />
+		<method name="onWindowFocusChanged(Z)V" />
+		<method name="onWindowStartingActionMode(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;" since="11" />
+		<method name="onWindowStartingActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;" since="23" />
+	</class>
+	<class name="android/view/Window$OnFrameMetricsAvailableListener" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onFrameMetricsAvailable(Landroid/view/Window;Landroid/view/FrameMetrics;I)V" />
+	</class>
+	<class name="android/view/Window$OnRestrictedCaptionAreaChangedListener" since="24">
+		<extends name="java/lang/Object" />
+		<method name="onRestrictedCaptionAreaChanged(Landroid/graphics/Rect;)V" />
+	</class>
+	<class name="android/view/WindowAnimationFrameStats" since="21">
+		<extends name="android/view/FrameStats" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/WindowContentFrameStats" since="21">
+		<extends name="android/view/FrameStats" />
+		<implements name="android/os/Parcelable" />
+		<method name="getFramePostedTimeNano(I)J" />
+		<method name="getFrameReadyTimeNano(I)J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/WindowId" since="18">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="isFocused()Z" />
+		<method name="registerFocusObserver(Landroid/view/WindowId$FocusObserver;)V" />
+		<method name="unregisterFocusObserver(Landroid/view/WindowId$FocusObserver;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/WindowId$FocusObserver" since="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onFocusGained(Landroid/view/WindowId;)V" />
+		<method name="onFocusLost(Landroid/view/WindowId;)V" />
+	</class>
+	<class name="android/view/WindowInsets" since="20">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/WindowInsets;)V" />
+		<method name="consumeDisplayCutout()Landroid/view/WindowInsets;" since="28" deprecated="30" />
+		<method name="consumeStableInsets()Landroid/view/WindowInsets;" since="21" deprecated="30" />
+		<method name="consumeSystemWindowInsets()Landroid/view/WindowInsets;" deprecated="30" />
+		<method name="getDisplayCutout()Landroid/view/DisplayCutout;" since="28" />
+		<method name="getInsets(I)Landroid/graphics/Insets;" since="30" />
+		<method name="getInsetsIgnoringVisibility(I)Landroid/graphics/Insets;" since="30" />
+		<method name="getMandatorySystemGestureInsets()Landroid/graphics/Insets;" since="29" deprecated="30" />
+		<method name="getPrivacyIndicatorBounds()Landroid/graphics/Rect;" since="31" />
+		<method name="getRoundedCorner(I)Landroid/view/RoundedCorner;" since="31" />
+		<method name="getStableInsetBottom()I" since="21" deprecated="30" />
+		<method name="getStableInsetLeft()I" since="21" deprecated="30" />
+		<method name="getStableInsetRight()I" since="21" deprecated="30" />
+		<method name="getStableInsetTop()I" since="21" deprecated="30" />
+		<method name="getStableInsets()Landroid/graphics/Insets;" since="29" deprecated="30" />
+		<method name="getSystemGestureInsets()Landroid/graphics/Insets;" since="29" deprecated="30" />
+		<method name="getSystemWindowInsetBottom()I" deprecated="30" />
+		<method name="getSystemWindowInsetLeft()I" deprecated="30" />
+		<method name="getSystemWindowInsetRight()I" deprecated="30" />
+		<method name="getSystemWindowInsetTop()I" deprecated="30" />
+		<method name="getSystemWindowInsets()Landroid/graphics/Insets;" since="29" deprecated="30" />
+		<method name="getTappableElementInsets()Landroid/graphics/Insets;" since="29" deprecated="30" />
+		<method name="hasInsets()Z" />
+		<method name="hasStableInsets()Z" since="21" deprecated="30" />
+		<method name="hasSystemWindowInsets()Z" deprecated="30" />
+		<method name="inset(IIII)Landroid/view/WindowInsets;" since="29" />
+		<method name="inset(Landroid/graphics/Insets;)Landroid/view/WindowInsets;" since="30" />
+		<method name="isConsumed()Z" since="21" />
+		<method name="isRound()Z" />
+		<method name="isVisible(I)Z" since="30" />
+		<method name="replaceSystemWindowInsets(IIII)Landroid/view/WindowInsets;" deprecated="29" />
+		<method name="replaceSystemWindowInsets(Landroid/graphics/Rect;)Landroid/view/WindowInsets;" since="21" deprecated="29" />
+		<field name="CONSUMED" since="30" />
+	</class>
+	<class name="android/view/WindowInsets$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/view/WindowInsets;)V" />
+		<method name="build()Landroid/view/WindowInsets;" />
+		<method name="setDisplayCutout(Landroid/view/DisplayCutout;)Landroid/view/WindowInsets$Builder;" />
+		<method name="setInsets(ILandroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" since="30" />
+		<method name="setInsetsIgnoringVisibility(ILandroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" since="30" />
+		<method name="setMandatorySystemGestureInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" deprecated="30" />
+		<method name="setPrivacyIndicatorBounds(Landroid/graphics/Rect;)Landroid/view/WindowInsets$Builder;" since="31" />
+		<method name="setRoundedCorner(ILandroid/view/RoundedCorner;)Landroid/view/WindowInsets$Builder;" since="31" />
+		<method name="setStableInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" deprecated="30" />
+		<method name="setSystemGestureInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" deprecated="30" />
+		<method name="setSystemWindowInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" deprecated="30" />
+		<method name="setTappableElementInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" deprecated="30" />
+		<method name="setVisible(IZ)Landroid/view/WindowInsets$Builder;" since="30" />
+	</class>
+	<class name="android/view/WindowInsets$Side" since="30">
+		<extends name="java/lang/Object" />
+		<method name="all()I" />
+		<field name="BOTTOM" />
+		<field name="LEFT" />
+		<field name="RIGHT" />
+		<field name="TOP" />
+	</class>
+	<class name="android/view/WindowInsets$Type" since="30">
+		<extends name="java/lang/Object" />
+		<method name="captionBar()I" />
+		<method name="displayCutout()I" />
+		<method name="ime()I" />
+		<method name="mandatorySystemGestures()I" />
+		<method name="navigationBars()I" />
+		<method name="statusBars()I" />
+		<method name="systemBars()I" />
+		<method name="systemGestures()I" />
+		<method name="tappableElement()I" />
+	</class>
+	<class name="android/view/WindowInsetsAnimation" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(ILandroid/view/animation/Interpolator;J)V" />
+		<method name="getAlpha()F" />
+		<method name="getDurationMillis()J" />
+		<method name="getFraction()F" />
+		<method name="getInterpolatedFraction()F" />
+		<method name="getInterpolator()Landroid/view/animation/Interpolator;" />
+		<method name="getTypeMask()I" />
+		<method name="setAlpha(F)V" />
+		<method name="setFraction(F)V" />
+	</class>
+	<class name="android/view/WindowInsetsAnimation$Bounds" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/Insets;Landroid/graphics/Insets;)V" />
+		<method name="getLowerBound()Landroid/graphics/Insets;" />
+		<method name="getUpperBound()Landroid/graphics/Insets;" />
+		<method name="inset(Landroid/graphics/Insets;)Landroid/view/WindowInsetsAnimation$Bounds;" />
+	</class>
+	<class name="android/view/WindowInsetsAnimation$Callback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getDispatchMode()I" />
+		<method name="onEnd(Landroid/view/WindowInsetsAnimation;)V" />
+		<method name="onPrepare(Landroid/view/WindowInsetsAnimation;)V" />
+		<method name="onProgress(Landroid/view/WindowInsets;Ljava/util/List;)Landroid/view/WindowInsets;" />
+		<method name="onStart(Landroid/view/WindowInsetsAnimation;Landroid/view/WindowInsetsAnimation$Bounds;)Landroid/view/WindowInsetsAnimation$Bounds;" />
+		<field name="DISPATCH_MODE_CONTINUE_ON_SUBTREE" />
+		<field name="DISPATCH_MODE_STOP" />
+	</class>
+	<class name="android/view/WindowInsetsAnimationControlListener" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onCancelled(Landroid/view/WindowInsetsAnimationController;)V" />
+		<method name="onFinished(Landroid/view/WindowInsetsAnimationController;)V" />
+		<method name="onReady(Landroid/view/WindowInsetsAnimationController;I)V" />
+	</class>
+	<class name="android/view/WindowInsetsAnimationController" since="30">
+		<extends name="java/lang/Object" />
+		<method name="finish(Z)V" />
+		<method name="getCurrentAlpha()F" />
+		<method name="getCurrentFraction()F" />
+		<method name="getCurrentInsets()Landroid/graphics/Insets;" />
+		<method name="getHiddenStateInsets()Landroid/graphics/Insets;" />
+		<method name="getShownStateInsets()Landroid/graphics/Insets;" />
+		<method name="getTypes()I" />
+		<method name="isCancelled()Z" />
+		<method name="isFinished()Z" />
+		<method name="isReady()Z" />
+		<method name="setInsetsAndAlpha(Landroid/graphics/Insets;FF)V" />
+	</class>
+	<class name="android/view/WindowInsetsController" since="30">
+		<extends name="java/lang/Object" />
+		<method name="addOnControllableInsetsChangedListener(Landroid/view/WindowInsetsController$OnControllableInsetsChangedListener;)V" />
+		<method name="controlWindowInsetsAnimation(IJLandroid/view/animation/Interpolator;Landroid/os/CancellationSignal;Landroid/view/WindowInsetsAnimationControlListener;)V" />
+		<method name="getSystemBarsAppearance()I" />
+		<method name="getSystemBarsBehavior()I" />
+		<method name="hide(I)V" />
+		<method name="removeOnControllableInsetsChangedListener(Landroid/view/WindowInsetsController$OnControllableInsetsChangedListener;)V" />
+		<method name="setSystemBarsAppearance(II)V" />
+		<method name="setSystemBarsBehavior(I)V" />
+		<method name="show(I)V" />
+		<field name="APPEARANCE_LIGHT_NAVIGATION_BARS" />
+		<field name="APPEARANCE_LIGHT_STATUS_BARS" />
+		<field name="BEHAVIOR_DEFAULT" since="31" />
+		<field name="BEHAVIOR_SHOW_BARS_BY_SWIPE" deprecated="31" />
+		<field name="BEHAVIOR_SHOW_BARS_BY_TOUCH" deprecated="31" />
+		<field name="BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE" />
+	</class>
+	<class name="android/view/WindowInsetsController$OnControllableInsetsChangedListener" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onControllableInsetsChanged(Landroid/view/WindowInsetsController;I)V" />
+	</class>
+	<class name="android/view/WindowManager" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/ViewManager" />
+		<method name="addCrossWindowBlurEnabledListener(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31" />
+		<method name="addCrossWindowBlurEnabledListener(Ljava/util/function/Consumer;)V" since="31" />
+		<method name="getCurrentWindowMetrics()Landroid/view/WindowMetrics;" since="30" />
+		<method name="getDefaultDisplay()Landroid/view/Display;" deprecated="30" />
+		<method name="getMaximumWindowMetrics()Landroid/view/WindowMetrics;" since="30" />
+		<method name="isCrossWindowBlurEnabled()Z" since="31" />
+		<method name="removeCrossWindowBlurEnabledListener(Ljava/util/function/Consumer;)V" since="31" />
+		<method name="removeViewImmediate(Landroid/view/View;)V" />
+	</class>
+	<class name="android/view/WindowManager$BadTokenException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/view/WindowManager$InvalidDisplayException" since="17">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/view/WindowManager$LayoutParams" since="1">
+		<extends name="android/view/ViewGroup$LayoutParams" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="&lt;init&gt;(IIIII)V" />
+		<method name="&lt;init&gt;(IIIIIII)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="copyFrom(Landroid/view/WindowManager$LayoutParams;)I" />
+		<method name="debug(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getBlurBehindRadius()I" since="31" />
+		<method name="getColorMode()I" since="26" />
+		<method name="getFitInsetsSides()I" since="30" />
+		<method name="getFitInsetsTypes()I" since="30" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<method name="isFitInsetsIgnoringVisibility()Z" since="30" />
+		<method name="mayUseInputMethod(I)Z" since="3" />
+		<method name="setBlurBehindRadius(I)V" since="31" />
+		<method name="setColorMode(I)V" since="26" />
+		<method name="setFitInsetsIgnoringVisibility(Z)V" since="30" />
+		<method name="setFitInsetsSides(I)V" since="30" />
+		<method name="setFitInsetsTypes(I)V" since="30" />
+		<method name="setTitle(Ljava/lang/CharSequence;)V" />
+		<field name="ALPHA_CHANGED" />
+		<field name="ANIMATION_CHANGED" />
+		<field name="BRIGHTNESS_OVERRIDE_FULL" since="8" />
+		<field name="BRIGHTNESS_OVERRIDE_NONE" since="8" />
+		<field name="BRIGHTNESS_OVERRIDE_OFF" since="8" />
+		<field name="CREATOR" />
+		<field name="DIM_AMOUNT_CHANGED" />
+		<field name="FIRST_APPLICATION_WINDOW" />
+		<field name="FIRST_SUB_WINDOW" />
+		<field name="FIRST_SYSTEM_WINDOW" />
+		<field name="FLAGS_CHANGED" />
+		<field name="FLAG_ALLOW_LOCK_WHILE_SCREEN_ON" since="8" />
+		<field name="FLAG_ALT_FOCUSABLE_IM" since="3" />
+		<field name="FLAG_BLUR_BEHIND" deprecated="15" />
+		<field name="FLAG_DIM_BEHIND" />
+		<field name="FLAG_DISMISS_KEYGUARD" since="5" deprecated="26" />
+		<field name="FLAG_DITHER" deprecated="17" />
+		<field name="FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS" since="21" />
+		<field name="FLAG_FORCE_NOT_FULLSCREEN" deprecated="30" />
+		<field name="FLAG_FULLSCREEN" deprecated="30" />
+		<field name="FLAG_HARDWARE_ACCELERATED" since="11" />
+		<field name="FLAG_IGNORE_CHEEK_PRESSES" />
+		<field name="FLAG_KEEP_SCREEN_ON" />
+		<field name="FLAG_LAYOUT_ATTACHED_IN_DECOR" since="22" deprecated="30" />
+		<field name="FLAG_LAYOUT_INSET_DECOR" deprecated="30" />
+		<field name="FLAG_LAYOUT_IN_OVERSCAN" since="18" deprecated="30" />
+		<field name="FLAG_LAYOUT_IN_SCREEN" />
+		<field name="FLAG_LAYOUT_NO_LIMITS" />
+		<field name="FLAG_LOCAL_FOCUS_MODE" since="19" />
+		<field name="FLAG_NOT_FOCUSABLE" />
+		<field name="FLAG_NOT_TOUCHABLE" />
+		<field name="FLAG_NOT_TOUCH_MODAL" />
+		<field name="FLAG_SCALED" />
+		<field name="FLAG_SECURE" />
+		<field name="FLAG_SHOW_WALLPAPER" since="5" />
+		<field name="FLAG_SHOW_WHEN_LOCKED" since="5" deprecated="27" />
+		<field name="FLAG_SPLIT_TOUCH" since="11" />
+		<field name="FLAG_TOUCHABLE_WHEN_WAKING" deprecated="20" />
+		<field name="FLAG_TRANSLUCENT_NAVIGATION" since="19" deprecated="30" />
+		<field name="FLAG_TRANSLUCENT_STATUS" since="19" deprecated="30" />
+		<field name="FLAG_TURN_SCREEN_ON" since="5" deprecated="27" />
+		<field name="FLAG_WATCH_OUTSIDE_TOUCH" since="3" />
+		<field name="FORMAT_CHANGED" />
+		<field name="LAST_APPLICATION_WINDOW" />
+		<field name="LAST_SUB_WINDOW" />
+		<field name="LAST_SYSTEM_WINDOW" />
+		<field name="LAYOUT_CHANGED" />
+		<field name="LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS" since="30" />
+		<field name="LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT" since="28" />
+		<field name="LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER" since="28" />
+		<field name="LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES" since="28" />
+		<field name="MEMORY_TYPE_CHANGED" />
+		<field name="MEMORY_TYPE_GPU" deprecated="15" />
+		<field name="MEMORY_TYPE_HARDWARE" deprecated="15" />
+		<field name="MEMORY_TYPE_NORMAL" deprecated="15" />
+		<field name="MEMORY_TYPE_PUSH_BUFFERS" deprecated="15" />
+		<field name="ROTATION_ANIMATION_CHANGED" since="18" />
+		<field name="ROTATION_ANIMATION_CROSSFADE" since="18" />
+		<field name="ROTATION_ANIMATION_JUMPCUT" since="18" />
+		<field name="ROTATION_ANIMATION_ROTATE" since="18" />
+		<field name="ROTATION_ANIMATION_SEAMLESS" since="26" />
+		<field name="SCREEN_BRIGHTNESS_CHANGED" since="3" />
+		<field name="SCREEN_ORIENTATION_CHANGED" since="3" />
+		<field name="SOFT_INPUT_ADJUST_NOTHING" since="11" />
+		<field name="SOFT_INPUT_ADJUST_PAN" since="3" />
+		<field name="SOFT_INPUT_ADJUST_RESIZE" since="3" deprecated="30" />
+		<field name="SOFT_INPUT_ADJUST_UNSPECIFIED" since="3" />
+		<field name="SOFT_INPUT_IS_FORWARD_NAVIGATION" since="3" />
+		<field name="SOFT_INPUT_MASK_ADJUST" since="3" />
+		<field name="SOFT_INPUT_MASK_STATE" since="3" />
+		<field name="SOFT_INPUT_MODE_CHANGED" since="3" />
+		<field name="SOFT_INPUT_STATE_ALWAYS_HIDDEN" since="3" />
+		<field name="SOFT_INPUT_STATE_ALWAYS_VISIBLE" since="3" />
+		<field name="SOFT_INPUT_STATE_HIDDEN" since="3" />
+		<field name="SOFT_INPUT_STATE_UNCHANGED" since="3" />
+		<field name="SOFT_INPUT_STATE_UNSPECIFIED" since="3" />
+		<field name="SOFT_INPUT_STATE_VISIBLE" since="3" />
+		<field name="TITLE_CHANGED" />
+		<field name="TYPE_ACCESSIBILITY_OVERLAY" since="22" />
+		<field name="TYPE_APPLICATION" />
+		<field name="TYPE_APPLICATION_ATTACHED_DIALOG" since="3" />
+		<field name="TYPE_APPLICATION_MEDIA" />
+		<field name="TYPE_APPLICATION_OVERLAY" since="26" />
+		<field name="TYPE_APPLICATION_PANEL" />
+		<field name="TYPE_APPLICATION_STARTING" />
+		<field name="TYPE_APPLICATION_SUB_PANEL" />
+		<field name="TYPE_BASE_APPLICATION" />
+		<field name="TYPE_CHANGED" />
+		<field name="TYPE_DRAWN_APPLICATION" since="25" />
+		<field name="TYPE_INPUT_METHOD" since="3" />
+		<field name="TYPE_INPUT_METHOD_DIALOG" since="3" />
+		<field name="TYPE_KEYGUARD" removed="21" />
+		<field name="TYPE_KEYGUARD_DIALOG" />
+		<field name="TYPE_PHONE" deprecated="26" />
+		<field name="TYPE_PRIORITY_PHONE" deprecated="26" />
+		<field name="TYPE_PRIVATE_PRESENTATION" since="19" />
+		<field name="TYPE_SEARCH_BAR" />
+		<field name="TYPE_STATUS_BAR" />
+		<field name="TYPE_STATUS_BAR_PANEL" deprecated="30" removed="31" />
+		<field name="TYPE_SYSTEM_ALERT" deprecated="26" />
+		<field name="TYPE_SYSTEM_DIALOG" />
+		<field name="TYPE_SYSTEM_ERROR" deprecated="26" />
+		<field name="TYPE_SYSTEM_OVERLAY" deprecated="26" />
+		<field name="TYPE_TOAST" deprecated="26" />
+		<field name="TYPE_WALLPAPER" since="5" />
+		<field name="alpha" />
+		<field name="buttonBrightness" since="8" />
+		<field name="dimAmount" />
+		<field name="flags" />
+		<field name="format" />
+		<field name="gravity" />
+		<field name="horizontalMargin" />
+		<field name="horizontalWeight" />
+		<field name="layoutInDisplayCutoutMode" since="28" />
+		<field name="memoryType" deprecated="15" />
+		<field name="packageName" />
+		<field name="preferMinimalPostProcessing" since="30" />
+		<field name="preferredDisplayModeId" since="23" />
+		<field name="preferredRefreshRate" since="21" deprecated="23" />
+		<field name="rotationAnimation" since="18" />
+		<field name="screenBrightness" since="3" />
+		<field name="screenOrientation" since="3" />
+		<field name="softInputMode" since="3" />
+		<field name="systemUiVisibility" since="11" deprecated="30" />
+		<field name="token" />
+		<field name="type" />
+		<field name="verticalMargin" />
+		<field name="verticalWeight" />
+		<field name="windowAnimations" />
+		<field name="x" />
+		<field name="y" />
+	</class>
+	<class name="android/view/WindowMetrics" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/graphics/Rect;Landroid/view/WindowInsets;)V" />
+		<method name="getBounds()Landroid/graphics/Rect;" />
+		<method name="getWindowInsets()Landroid/view/WindowInsets;" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityEvent" since="4">
+		<extends name="android/view/accessibility/AccessibilityRecord" since="14" />
+		<extends name="java/lang/Object" removed="14" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" since="30" />
+		<method name="&lt;init&gt;(I)V" since="30" />
+		<method name="&lt;init&gt;(Landroid/view/accessibility/AccessibilityEvent;)V" since="30" />
+		<method name="appendRecord(Landroid/view/accessibility/AccessibilityRecord;)V" since="14" />
+		<method name="eventTypeToString(I)Ljava/lang/String;" since="14" />
+		<method name="getAction()I" since="16" />
+		<method name="getAddedCount()I" removed="14" />
+		<method name="getBeforeText()Ljava/lang/CharSequence;" removed="14" />
+		<method name="getClassName()Ljava/lang/CharSequence;" removed="14" />
+		<method name="getContentChangeTypes()I" since="19" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" removed="14" />
+		<method name="getCurrentItemIndex()I" removed="14" />
+		<method name="getEventTime()J" />
+		<method name="getEventType()I" />
+		<method name="getFromIndex()I" removed="14" />
+		<method name="getItemCount()I" removed="14" />
+		<method name="getMovementGranularity()I" since="16" />
+		<method name="getPackageName()Ljava/lang/CharSequence;" />
+		<method name="getParcelableData()Landroid/os/Parcelable;" removed="14" />
+		<method name="getRecord(I)Landroid/view/accessibility/AccessibilityRecord;" since="14" />
+		<method name="getRecordCount()I" since="14" />
+		<method name="getRemovedCount()I" removed="14" />
+		<method name="getText()Ljava/util/List;" removed="14" />
+		<method name="getWindowChanges()I" since="28" />
+		<method name="initFromParcel(Landroid/os/Parcel;)V" />
+		<method name="isChecked()Z" removed="14" />
+		<method name="isEnabled()Z" removed="14" />
+		<method name="isFullScreen()Z" removed="14" />
+		<method name="isPassword()Z" removed="14" />
+		<method name="obtain()Landroid/view/accessibility/AccessibilityEvent;" />
+		<method name="obtain(I)Landroid/view/accessibility/AccessibilityEvent;" />
+		<method name="obtain(Landroid/view/accessibility/AccessibilityEvent;)Landroid/view/accessibility/AccessibilityEvent;" since="14" />
+		<method name="recycle()V" />
+		<method name="setAction(I)V" since="16" />
+		<method name="setAddedCount(I)V" removed="14" />
+		<method name="setBeforeText(Ljava/lang/CharSequence;)V" removed="14" />
+		<method name="setChecked(Z)V" removed="14" />
+		<method name="setClassName(Ljava/lang/CharSequence;)V" removed="14" />
+		<method name="setContentChangeTypes(I)V" since="19" />
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V" removed="14" />
+		<method name="setCurrentItemIndex(I)V" removed="14" />
+		<method name="setEnabled(Z)V" removed="14" />
+		<method name="setEventTime(J)V" />
+		<method name="setEventType(I)V" />
+		<method name="setFromIndex(I)V" removed="14" />
+		<method name="setFullScreen(Z)V" removed="14" />
+		<method name="setItemCount(I)V" removed="14" />
+		<method name="setMovementGranularity(I)V" since="16" />
+		<method name="setPackageName(Ljava/lang/CharSequence;)V" />
+		<method name="setParcelableData(Landroid/os/Parcelable;)V" removed="14" />
+		<method name="setPassword(Z)V" removed="14" />
+		<method name="setRemovedCount(I)V" removed="14" />
+		<field name="CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION" since="19" />
+		<field name="CONTENT_CHANGE_TYPE_DRAG_CANCELLED" since="33" />
+		<field name="CONTENT_CHANGE_TYPE_DRAG_DROPPED" since="33" />
+		<field name="CONTENT_CHANGE_TYPE_DRAG_STARTED" since="33" />
+		<field name="CONTENT_CHANGE_TYPE_PANE_APPEARED" since="28" />
+		<field name="CONTENT_CHANGE_TYPE_PANE_DISAPPEARED" since="28" />
+		<field name="CONTENT_CHANGE_TYPE_PANE_TITLE" since="28" />
+		<field name="CONTENT_CHANGE_TYPE_STATE_DESCRIPTION" since="30" />
+		<field name="CONTENT_CHANGE_TYPE_SUBTREE" since="19" />
+		<field name="CONTENT_CHANGE_TYPE_TEXT" since="19" />
+		<field name="CONTENT_CHANGE_TYPE_UNDEFINED" since="19" />
+		<field name="CREATOR" />
+		<field name="INVALID_POSITION" />
+		<field name="MAX_TEXT_LENGTH" deprecated="15" />
+		<field name="TYPES_ALL_MASK" />
+		<field name="TYPE_ANNOUNCEMENT" since="16" />
+		<field name="TYPE_ASSIST_READING_CONTEXT" since="23" />
+		<field name="TYPE_GESTURE_DETECTION_END" since="17" />
+		<field name="TYPE_GESTURE_DETECTION_START" since="17" />
+		<field name="TYPE_NOTIFICATION_STATE_CHANGED" />
+		<field name="TYPE_TOUCH_EXPLORATION_GESTURE_END" since="14" />
+		<field name="TYPE_TOUCH_EXPLORATION_GESTURE_START" since="14" />
+		<field name="TYPE_TOUCH_INTERACTION_END" since="17" />
+		<field name="TYPE_TOUCH_INTERACTION_START" since="17" />
+		<field name="TYPE_VIEW_ACCESSIBILITY_FOCUSED" since="16" />
+		<field name="TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED" since="16" />
+		<field name="TYPE_VIEW_CLICKED" />
+		<field name="TYPE_VIEW_CONTEXT_CLICKED" since="23" />
+		<field name="TYPE_VIEW_FOCUSED" />
+		<field name="TYPE_VIEW_HOVER_ENTER" since="14" />
+		<field name="TYPE_VIEW_HOVER_EXIT" since="14" />
+		<field name="TYPE_VIEW_LONG_CLICKED" />
+		<field name="TYPE_VIEW_SCROLLED" since="14" />
+		<field name="TYPE_VIEW_SELECTED" />
+		<field name="TYPE_VIEW_TEXT_CHANGED" />
+		<field name="TYPE_VIEW_TEXT_SELECTION_CHANGED" since="14" />
+		<field name="TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY" since="16" />
+		<field name="TYPE_WINDOWS_CHANGED" since="21" />
+		<field name="TYPE_WINDOW_CONTENT_CHANGED" since="14" />
+		<field name="TYPE_WINDOW_STATE_CHANGED" />
+		<field name="WINDOWS_CHANGE_ACCESSIBILITY_FOCUSED" since="28" />
+		<field name="WINDOWS_CHANGE_ACTIVE" since="28" />
+		<field name="WINDOWS_CHANGE_ADDED" since="28" />
+		<field name="WINDOWS_CHANGE_BOUNDS" since="28" />
+		<field name="WINDOWS_CHANGE_CHILDREN" since="28" />
+		<field name="WINDOWS_CHANGE_FOCUSED" since="28" />
+		<field name="WINDOWS_CHANGE_LAYER" since="28" />
+		<field name="WINDOWS_CHANGE_PARENT" since="28" />
+		<field name="WINDOWS_CHANGE_PIP" since="28" />
+		<field name="WINDOWS_CHANGE_REMOVED" since="28" />
+		<field name="WINDOWS_CHANGE_TITLE" since="28" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityEventSource" since="4">
+		<extends name="java/lang/Object" />
+		<method name="sendAccessibilityEvent(I)V" />
+		<method name="sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityManager" since="4">
+		<extends name="java/lang/Object" />
+		<method name="addAccessibilityRequestPreparer(Landroid/view/accessibility/AccessibilityRequestPreparer;)V" since="27" />
+		<method name="addAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z" since="14" />
+		<method name="addAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;Landroid/os/Handler;)V" since="26" />
+		<method name="addTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;)Z" since="19" />
+		<method name="addTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;Landroid/os/Handler;)V" since="26" />
+		<method name="getAccessibilityFocusColor()I" since="31" />
+		<method name="getAccessibilityFocusStrokeWidth()I" since="31" />
+		<method name="getAccessibilityServiceList()Ljava/util/List;" deprecated="15" />
+		<method name="getEnabledAccessibilityServiceList(I)Ljava/util/List;" since="14" />
+		<method name="getInstalledAccessibilityServiceList()Ljava/util/List;" since="14" />
+		<method name="getRecommendedTimeoutMillis(II)I" since="29" />
+		<method name="interrupt()V" />
+		<method name="isAccessibilityButtonSupported()Z" since="27" />
+		<method name="isEnabled()Z" />
+		<method name="isTouchExplorationEnabled()Z" since="14" />
+		<method name="removeAccessibilityRequestPreparer(Landroid/view/accessibility/AccessibilityRequestPreparer;)V" since="27" />
+		<method name="removeAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z" since="14" />
+		<method name="removeTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;)Z" since="19" />
+		<method name="sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V" />
+		<field name="FLAG_CONTENT_CONTROLS" since="29" />
+		<field name="FLAG_CONTENT_ICONS" since="29" />
+		<field name="FLAG_CONTENT_TEXT" since="29" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener" since="14">
+		<extends name="java/lang/Object" />
+		<method name="onAccessibilityStateChanged(Z)V" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener" since="19">
+		<extends name="java/lang/Object" />
+		<method name="onTouchExplorationStateChanged(Z)V" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" since="30" />
+		<method name="&lt;init&gt;(Landroid/view/View;)V" since="30" />
+		<method name="&lt;init&gt;(Landroid/view/View;I)V" since="30" />
+		<method name="&lt;init&gt;(Landroid/view/accessibility/AccessibilityNodeInfo;)V" since="30" />
+		<method name="addAction(I)V" deprecated="21" />
+		<method name="addAction(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V" since="21" />
+		<method name="addChild(Landroid/view/View;)V" />
+		<method name="addChild(Landroid/view/View;I)V" since="16" />
+		<method name="canOpenPopup()Z" since="19" />
+		<method name="findAccessibilityNodeInfosByText(Ljava/lang/String;)Ljava/util/List;" />
+		<method name="findAccessibilityNodeInfosByViewId(Ljava/lang/String;)Ljava/util/List;" since="18" />
+		<method name="findFocus(I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="16" />
+		<method name="focusSearch(I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="16" />
+		<method name="getActionList()Ljava/util/List;" since="21" />
+		<method name="getActions()I" deprecated="21" />
+		<method name="getAvailableExtraData()Ljava/util/List;" since="26" />
+		<method name="getBoundsInParent(Landroid/graphics/Rect;)V" deprecated="29" />
+		<method name="getBoundsInScreen(Landroid/graphics/Rect;)V" />
+		<method name="getChild(I)Landroid/view/accessibility/AccessibilityNodeInfo;" />
+		<method name="getChildCount()I" />
+		<method name="getClassName()Ljava/lang/CharSequence;" />
+		<method name="getCollectionInfo()Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;" since="19" />
+		<method name="getCollectionItemInfo()Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;" since="19" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" />
+		<method name="getDrawingOrder()I" since="24" />
+		<method name="getError()Ljava/lang/CharSequence;" since="21" />
+		<method name="getExtraRenderingInfo()Landroid/view/accessibility/AccessibilityNodeInfo$ExtraRenderingInfo;" since="30" />
+		<method name="getExtras()Landroid/os/Bundle;" since="19" />
+		<method name="getHintText()Ljava/lang/CharSequence;" since="26" />
+		<method name="getInputType()I" since="19" />
+		<method name="getLabelFor()Landroid/view/accessibility/AccessibilityNodeInfo;" since="17" />
+		<method name="getLabeledBy()Landroid/view/accessibility/AccessibilityNodeInfo;" since="17" />
+		<method name="getLiveRegion()I" since="19" />
+		<method name="getMaxTextLength()I" since="21" />
+		<method name="getMovementGranularities()I" since="16" />
+		<method name="getPackageName()Ljava/lang/CharSequence;" />
+		<method name="getPaneTitle()Ljava/lang/CharSequence;" since="28" />
+		<method name="getParent()Landroid/view/accessibility/AccessibilityNodeInfo;" />
+		<method name="getRangeInfo()Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;" since="19" />
+		<method name="getStateDescription()Ljava/lang/CharSequence;" since="30" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<method name="getTextSelectionEnd()I" since="18" />
+		<method name="getTextSelectionStart()I" since="18" />
+		<method name="getTooltipText()Ljava/lang/CharSequence;" since="28" />
+		<method name="getTouchDelegateInfo()Landroid/view/accessibility/AccessibilityNodeInfo$TouchDelegateInfo;" since="29" />
+		<method name="getTraversalAfter()Landroid/view/accessibility/AccessibilityNodeInfo;" since="22" />
+		<method name="getTraversalBefore()Landroid/view/accessibility/AccessibilityNodeInfo;" since="22" />
+		<method name="getViewIdResourceName()Ljava/lang/String;" since="18" />
+		<method name="getWindow()Landroid/view/accessibility/AccessibilityWindowInfo;" since="21" />
+		<method name="getWindowId()I" />
+		<method name="isAccessibilityFocused()Z" since="16" />
+		<method name="isCheckable()Z" />
+		<method name="isChecked()Z" />
+		<method name="isClickable()Z" />
+		<method name="isContentInvalid()Z" since="19" />
+		<method name="isContextClickable()Z" since="23" />
+		<method name="isDismissable()Z" since="19" />
+		<method name="isEditable()Z" since="18" />
+		<method name="isEnabled()Z" />
+		<method name="isFocusable()Z" />
+		<method name="isFocused()Z" />
+		<method name="isHeading()Z" since="28" />
+		<method name="isImportantForAccessibility()Z" since="24" />
+		<method name="isLongClickable()Z" />
+		<method name="isMultiLine()Z" since="19" />
+		<method name="isPassword()Z" />
+		<method name="isScreenReaderFocusable()Z" since="28" />
+		<method name="isScrollable()Z" />
+		<method name="isSelected()Z" />
+		<method name="isShowingHintText()Z" since="26" />
+		<method name="isTextEntryKey()Z" since="29" />
+		<method name="isVisibleToUser()Z" since="16" />
+		<method name="obtain()Landroid/view/accessibility/AccessibilityNodeInfo;" />
+		<method name="obtain(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeInfo;" />
+		<method name="obtain(Landroid/view/View;I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="16" />
+		<method name="obtain(Landroid/view/accessibility/AccessibilityNodeInfo;)Landroid/view/accessibility/AccessibilityNodeInfo;" />
+		<method name="performAction(I)Z" />
+		<method name="performAction(ILandroid/os/Bundle;)Z" since="16" />
+		<method name="recycle()V" />
+		<method name="refresh()Z" since="18" />
+		<method name="refreshWithExtraData(Ljava/lang/String;Landroid/os/Bundle;)Z" since="26" />
+		<method name="removeAction(I)V" since="21" deprecated="21" />
+		<method name="removeAction(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)Z" since="21" />
+		<method name="removeChild(Landroid/view/View;)Z" since="21" />
+		<method name="removeChild(Landroid/view/View;I)Z" since="21" />
+		<method name="setAccessibilityFocused(Z)V" since="16" />
+		<method name="setAvailableExtraData(Ljava/util/List;)V" since="26" />
+		<method name="setBoundsInParent(Landroid/graphics/Rect;)V" deprecated="29" />
+		<method name="setBoundsInScreen(Landroid/graphics/Rect;)V" />
+		<method name="setCanOpenPopup(Z)V" since="19" />
+		<method name="setCheckable(Z)V" />
+		<method name="setChecked(Z)V" />
+		<method name="setClassName(Ljava/lang/CharSequence;)V" />
+		<method name="setClickable(Z)V" />
+		<method name="setCollectionInfo(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;)V" since="19" />
+		<method name="setCollectionItemInfo(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;)V" since="19" />
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V" />
+		<method name="setContentInvalid(Z)V" since="19" />
+		<method name="setContextClickable(Z)V" since="23" />
+		<method name="setDismissable(Z)V" since="19" />
+		<method name="setDrawingOrder(I)V" since="24" />
+		<method name="setEditable(Z)V" since="18" />
+		<method name="setEnabled(Z)V" />
+		<method name="setError(Ljava/lang/CharSequence;)V" since="21" />
+		<method name="setFocusable(Z)V" />
+		<method name="setFocused(Z)V" />
+		<method name="setHeading(Z)V" since="28" />
+		<method name="setHintText(Ljava/lang/CharSequence;)V" since="26" />
+		<method name="setImportantForAccessibility(Z)V" since="24" />
+		<method name="setInputType(I)V" since="19" />
+		<method name="setLabelFor(Landroid/view/View;)V" since="17" />
+		<method name="setLabelFor(Landroid/view/View;I)V" since="17" />
+		<method name="setLabeledBy(Landroid/view/View;)V" since="17" />
+		<method name="setLabeledBy(Landroid/view/View;I)V" since="17" />
+		<method name="setLiveRegion(I)V" since="19" />
+		<method name="setLongClickable(Z)V" />
+		<method name="setMaxTextLength(I)V" since="21" />
+		<method name="setMovementGranularities(I)V" since="16" />
+		<method name="setMultiLine(Z)V" since="19" />
+		<method name="setPackageName(Ljava/lang/CharSequence;)V" />
+		<method name="setPaneTitle(Ljava/lang/CharSequence;)V" since="28" />
+		<method name="setParent(Landroid/view/View;)V" />
+		<method name="setParent(Landroid/view/View;I)V" since="16" />
+		<method name="setPassword(Z)V" />
+		<method name="setRangeInfo(Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;)V" since="19" />
+		<method name="setScreenReaderFocusable(Z)V" since="28" />
+		<method name="setScrollable(Z)V" />
+		<method name="setSelected(Z)V" />
+		<method name="setShowingHintText(Z)V" since="26" />
+		<method name="setSource(Landroid/view/View;)V" />
+		<method name="setSource(Landroid/view/View;I)V" since="16" />
+		<method name="setStateDescription(Ljava/lang/CharSequence;)V" since="30" />
+		<method name="setText(Ljava/lang/CharSequence;)V" />
+		<method name="setTextEntryKey(Z)V" since="29" />
+		<method name="setTextSelection(II)V" since="18" />
+		<method name="setTooltipText(Ljava/lang/CharSequence;)V" since="28" />
+		<method name="setTouchDelegateInfo(Landroid/view/accessibility/AccessibilityNodeInfo$TouchDelegateInfo;)V" since="29" />
+		<method name="setTraversalAfter(Landroid/view/View;)V" since="22" />
+		<method name="setTraversalAfter(Landroid/view/View;I)V" since="22" />
+		<method name="setTraversalBefore(Landroid/view/View;)V" since="22" />
+		<method name="setTraversalBefore(Landroid/view/View;I)V" since="22" />
+		<method name="setViewIdResourceName(Ljava/lang/String;)V" since="18" />
+		<method name="setVisibleToUser(Z)V" since="16" />
+		<field name="ACTION_ACCESSIBILITY_FOCUS" since="16" />
+		<field name="ACTION_ARGUMENT_COLUMN_INT" since="23" />
+		<field name="ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN" since="18" />
+		<field name="ACTION_ARGUMENT_HTML_ELEMENT_STRING" since="16" />
+		<field name="ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT" since="16" />
+		<field name="ACTION_ARGUMENT_MOVE_WINDOW_X" since="26" />
+		<field name="ACTION_ARGUMENT_MOVE_WINDOW_Y" since="26" />
+		<field name="ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT" since="30" />
+		<field name="ACTION_ARGUMENT_PROGRESS_VALUE" since="24" />
+		<field name="ACTION_ARGUMENT_ROW_INT" since="23" />
+		<field name="ACTION_ARGUMENT_SELECTION_END_INT" since="18" />
+		<field name="ACTION_ARGUMENT_SELECTION_START_INT" since="18" />
+		<field name="ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE" since="21" />
+		<field name="ACTION_CLEAR_ACCESSIBILITY_FOCUS" since="16" />
+		<field name="ACTION_CLEAR_FOCUS" />
+		<field name="ACTION_CLEAR_SELECTION" />
+		<field name="ACTION_CLICK" since="16" />
+		<field name="ACTION_COLLAPSE" since="19" />
+		<field name="ACTION_COPY" since="18" />
+		<field name="ACTION_CUT" since="18" />
+		<field name="ACTION_DISMISS" since="19" />
+		<field name="ACTION_EXPAND" since="19" />
+		<field name="ACTION_FOCUS" />
+		<field name="ACTION_LONG_CLICK" since="16" />
+		<field name="ACTION_NEXT_AT_MOVEMENT_GRANULARITY" since="16" />
+		<field name="ACTION_NEXT_HTML_ELEMENT" since="16" />
+		<field name="ACTION_PASTE" since="18" />
+		<field name="ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY" since="16" />
+		<field name="ACTION_PREVIOUS_HTML_ELEMENT" since="16" />
+		<field name="ACTION_SCROLL_BACKWARD" since="16" />
+		<field name="ACTION_SCROLL_FORWARD" since="16" />
+		<field name="ACTION_SELECT" />
+		<field name="ACTION_SET_SELECTION" since="18" />
+		<field name="ACTION_SET_TEXT" since="21" />
+		<field name="CREATOR" />
+		<field name="EXTRA_DATA_RENDERING_INFO_KEY" since="30" />
+		<field name="EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH" since="26" />
+		<field name="EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH" since="31" />
+		<field name="EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX" since="26" />
+		<field name="EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY" since="26" />
+		<field name="FOCUS_ACCESSIBILITY" since="16" />
+		<field name="FOCUS_INPUT" since="16" />
+		<field name="MOVEMENT_GRANULARITY_CHARACTER" since="16" />
+		<field name="MOVEMENT_GRANULARITY_LINE" since="16" />
+		<field name="MOVEMENT_GRANULARITY_PAGE" since="16" />
+		<field name="MOVEMENT_GRANULARITY_PARAGRAPH" since="16" />
+		<field name="MOVEMENT_GRANULARITY_WORD" since="16" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="30" />
+		<method name="&lt;init&gt;(ILjava/lang/CharSequence;)V" />
+		<method name="getId()I" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<field name="ACTION_ACCESSIBILITY_FOCUS" />
+		<field name="ACTION_CLEAR_ACCESSIBILITY_FOCUS" />
+		<field name="ACTION_CLEAR_FOCUS" />
+		<field name="ACTION_CLEAR_SELECTION" />
+		<field name="ACTION_CLICK" />
+		<field name="ACTION_COLLAPSE" />
+		<field name="ACTION_CONTEXT_CLICK" since="23" />
+		<field name="ACTION_COPY" />
+		<field name="ACTION_CUT" />
+		<field name="ACTION_DISMISS" />
+		<field name="ACTION_DRAG_CANCEL" since="33" />
+		<field name="ACTION_DRAG_DROP" since="33" />
+		<field name="ACTION_DRAG_START" since="33" />
+		<field name="ACTION_EXPAND" />
+		<field name="ACTION_FOCUS" />
+		<field name="ACTION_HIDE_TOOLTIP" since="28" />
+		<field name="ACTION_IME_ENTER" since="30" />
+		<field name="ACTION_LONG_CLICK" />
+		<field name="ACTION_MOVE_WINDOW" since="26" />
+		<field name="ACTION_NEXT_AT_MOVEMENT_GRANULARITY" />
+		<field name="ACTION_NEXT_HTML_ELEMENT" />
+		<field name="ACTION_PAGE_DOWN" since="29" />
+		<field name="ACTION_PAGE_LEFT" since="29" />
+		<field name="ACTION_PAGE_RIGHT" since="29" />
+		<field name="ACTION_PAGE_UP" since="29" />
+		<field name="ACTION_PASTE" />
+		<field name="ACTION_PRESS_AND_HOLD" since="30" />
+		<field name="ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY" />
+		<field name="ACTION_PREVIOUS_HTML_ELEMENT" />
+		<field name="ACTION_SCROLL_BACKWARD" />
+		<field name="ACTION_SCROLL_DOWN" since="23" />
+		<field name="ACTION_SCROLL_FORWARD" />
+		<field name="ACTION_SCROLL_LEFT" since="23" />
+		<field name="ACTION_SCROLL_RIGHT" since="23" />
+		<field name="ACTION_SCROLL_TO_POSITION" since="23" />
+		<field name="ACTION_SCROLL_UP" since="23" />
+		<field name="ACTION_SELECT" />
+		<field name="ACTION_SET_PROGRESS" since="24" />
+		<field name="ACTION_SET_SELECTION" />
+		<field name="ACTION_SET_TEXT" />
+		<field name="ACTION_SHOW_ON_SCREEN" since="23" />
+		<field name="ACTION_SHOW_TOOLTIP" since="28" />
+		<field name="CREATOR" since="30" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$CollectionInfo" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IIZ)V" since="30" />
+		<method name="&lt;init&gt;(IIZI)V" since="30" />
+		<method name="getColumnCount()I" />
+		<method name="getRowCount()I" />
+		<method name="getSelectionMode()I" since="21" />
+		<method name="isHierarchical()Z" />
+		<method name="obtain(IIZ)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;" />
+		<method name="obtain(IIZI)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;" since="21" />
+		<field name="SELECTION_MODE_MULTIPLE" since="21" />
+		<field name="SELECTION_MODE_NONE" since="21" />
+		<field name="SELECTION_MODE_SINGLE" since="21" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IIIIZ)V" since="30" />
+		<method name="&lt;init&gt;(IIIIZZ)V" since="30" />
+		<method name="getColumnIndex()I" />
+		<method name="getColumnSpan()I" />
+		<method name="getRowIndex()I" />
+		<method name="getRowSpan()I" />
+		<method name="isHeading()Z" deprecated="28" />
+		<method name="isSelected()Z" since="21" />
+		<method name="obtain(IIIIZ)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;" />
+		<method name="obtain(IIIIZZ)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;" since="21" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$ExtraRenderingInfo" since="30">
+		<extends name="java/lang/Object" />
+		<method name="getLayoutSize()Landroid/util/Size;" />
+		<method name="getTextSizeInPx()F" />
+		<method name="getTextSizeUnit()I" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$RangeInfo" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(IFFF)V" since="30" />
+		<method name="getCurrent()F" />
+		<method name="getMax()F" />
+		<method name="getMin()F" />
+		<method name="getType()I" />
+		<method name="obtain(IFFF)Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;" />
+		<field name="RANGE_TYPE_FLOAT" />
+		<field name="RANGE_TYPE_INT" />
+		<field name="RANGE_TYPE_PERCENT" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$TouchDelegateInfo" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+		<method name="getRegionAt(I)Landroid/graphics/Region;" />
+		<method name="getRegionCount()I" />
+		<method name="getTargetForRegion(Landroid/graphics/Region;)Landroid/view/accessibility/AccessibilityNodeInfo;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeProvider" since="16">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addExtraDataToAccessibilityNodeInfo(ILandroid/view/accessibility/AccessibilityNodeInfo;Ljava/lang/String;Landroid/os/Bundle;)V" since="26" />
+		<method name="createAccessibilityNodeInfo(I)Landroid/view/accessibility/AccessibilityNodeInfo;" />
+		<method name="findAccessibilityNodeInfosByText(Ljava/lang/String;I)Ljava/util/List;" />
+		<method name="findFocus(I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="19" />
+		<method name="performAction(IILandroid/os/Bundle;)Z" />
+		<field name="HOST_VIEW_ID" since="21" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityRecord" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" since="30" />
+		<method name="&lt;init&gt;(Landroid/view/accessibility/AccessibilityRecord;)V" since="30" />
+		<method name="getAddedCount()I" />
+		<method name="getBeforeText()Ljava/lang/CharSequence;" />
+		<method name="getClassName()Ljava/lang/CharSequence;" />
+		<method name="getContentDescription()Ljava/lang/CharSequence;" />
+		<method name="getCurrentItemIndex()I" />
+		<method name="getFromIndex()I" />
+		<method name="getItemCount()I" />
+		<method name="getMaxScrollX()I" since="15" />
+		<method name="getMaxScrollY()I" since="15" />
+		<method name="getParcelableData()Landroid/os/Parcelable;" />
+		<method name="getRemovedCount()I" />
+		<method name="getScrollDeltaX()I" since="28" />
+		<method name="getScrollDeltaY()I" since="28" />
+		<method name="getScrollX()I" />
+		<method name="getScrollY()I" />
+		<method name="getSource()Landroid/view/accessibility/AccessibilityNodeInfo;" />
+		<method name="getText()Ljava/util/List;" />
+		<method name="getToIndex()I" />
+		<method name="getWindowId()I" />
+		<method name="isChecked()Z" />
+		<method name="isEnabled()Z" />
+		<method name="isFullScreen()Z" />
+		<method name="isPassword()Z" />
+		<method name="isScrollable()Z" />
+		<method name="obtain()Landroid/view/accessibility/AccessibilityRecord;" />
+		<method name="obtain(Landroid/view/accessibility/AccessibilityRecord;)Landroid/view/accessibility/AccessibilityRecord;" />
+		<method name="recycle()V" />
+		<method name="setAddedCount(I)V" />
+		<method name="setBeforeText(Ljava/lang/CharSequence;)V" />
+		<method name="setChecked(Z)V" />
+		<method name="setClassName(Ljava/lang/CharSequence;)V" />
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V" />
+		<method name="setCurrentItemIndex(I)V" />
+		<method name="setEnabled(Z)V" />
+		<method name="setFromIndex(I)V" />
+		<method name="setFullScreen(Z)V" />
+		<method name="setItemCount(I)V" />
+		<method name="setMaxScrollX(I)V" since="15" />
+		<method name="setMaxScrollY(I)V" since="15" />
+		<method name="setParcelableData(Landroid/os/Parcelable;)V" />
+		<method name="setPassword(Z)V" />
+		<method name="setRemovedCount(I)V" />
+		<method name="setScrollDeltaX(I)V" since="28" />
+		<method name="setScrollDeltaY(I)V" since="28" />
+		<method name="setScrollX(I)V" />
+		<method name="setScrollY(I)V" />
+		<method name="setScrollable(Z)V" />
+		<method name="setSource(Landroid/view/View;)V" />
+		<method name="setSource(Landroid/view/View;I)V" since="16" />
+		<method name="setToIndex(I)V" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityRequestPreparer" since="27">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/View;I)V" />
+		<method name="getView()Landroid/view/View;" />
+		<method name="onPrepareExtraData(ILjava/lang/String;Landroid/os/Bundle;Landroid/os/Message;)V" />
+		<field name="REQUEST_TYPE_EXTRA_DATA" />
+	</class>
+	<class name="android/view/accessibility/AccessibilityWindowInfo" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" since="30" />
+		<method name="&lt;init&gt;(Landroid/view/accessibility/AccessibilityWindowInfo;)V" since="30" />
+		<method name="getAnchor()Landroid/view/accessibility/AccessibilityNodeInfo;" since="24" />
+		<method name="getBoundsInScreen(Landroid/graphics/Rect;)V" />
+		<method name="getChild(I)Landroid/view/accessibility/AccessibilityWindowInfo;" />
+		<method name="getChildCount()I" />
+		<method name="getDisplayId()I" since="30" />
+		<method name="getId()I" />
+		<method name="getLayer()I" />
+		<method name="getParent()Landroid/view/accessibility/AccessibilityWindowInfo;" />
+		<method name="getRegionInScreen(Landroid/graphics/Region;)V" since="30" />
+		<method name="getRoot()Landroid/view/accessibility/AccessibilityNodeInfo;" />
+		<method name="getTitle()Ljava/lang/CharSequence;" since="24" />
+		<method name="getType()I" />
+		<method name="isAccessibilityFocused()Z" />
+		<method name="isActive()Z" />
+		<method name="isFocused()Z" />
+		<method name="isInPictureInPictureMode()Z" since="26" />
+		<method name="obtain()Landroid/view/accessibility/AccessibilityWindowInfo;" />
+		<method name="obtain(Landroid/view/accessibility/AccessibilityWindowInfo;)Landroid/view/accessibility/AccessibilityWindowInfo;" />
+		<method name="recycle()V" />
+		<field name="CREATOR" />
+		<field name="TYPE_ACCESSIBILITY_OVERLAY" since="22" />
+		<field name="TYPE_APPLICATION" />
+		<field name="TYPE_INPUT_METHOD" />
+		<field name="TYPE_SPLIT_SCREEN_DIVIDER" since="24" />
+		<field name="TYPE_SYSTEM" />
+	</class>
+	<class name="android/view/accessibility/CaptioningManager" since="19">
+		<extends name="java/lang/Object" />
+		<method name="addCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V" />
+		<method name="getFontScale()F" />
+		<method name="getLocale()Ljava/util/Locale;" />
+		<method name="getUserStyle()Landroid/view/accessibility/CaptioningManager$CaptionStyle;" />
+		<method name="isEnabled()Z" />
+		<method name="removeCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V" />
+	</class>
+	<class name="android/view/accessibility/CaptioningManager$CaptionStyle" since="19">
+		<extends name="java/lang/Object" />
+		<method name="getTypeface()Landroid/graphics/Typeface;" />
+		<method name="hasBackgroundColor()Z" since="21" />
+		<method name="hasEdgeColor()Z" since="21" />
+		<method name="hasEdgeType()Z" since="21" />
+		<method name="hasForegroundColor()Z" since="21" />
+		<method name="hasWindowColor()Z" since="21" />
+		<field name="EDGE_TYPE_DEPRESSED" since="21" />
+		<field name="EDGE_TYPE_DROP_SHADOW" />
+		<field name="EDGE_TYPE_NONE" />
+		<field name="EDGE_TYPE_OUTLINE" />
+		<field name="EDGE_TYPE_RAISED" since="21" />
+		<field name="EDGE_TYPE_UNSPECIFIED" since="21" />
+		<field name="backgroundColor" />
+		<field name="edgeColor" />
+		<field name="edgeType" />
+		<field name="foregroundColor" />
+		<field name="windowColor" since="21" />
+	</class>
+	<class name="android/view/accessibility/CaptioningManager$CaptioningChangeListener" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onEnabledChanged(Z)V" />
+		<method name="onFontScaleChanged(F)V" />
+		<method name="onLocaleChanged(Ljava/util/Locale;)V" />
+		<method name="onUserStyleChanged(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V" />
+	</class>
+	<class name="android/view/animation/AccelerateDecelerateInterpolator" since="1">
+		<extends name="android/view/animation/BaseInterpolator" since="22" />
+		<extends name="java/lang/Object" removed="22" />
+		<implements name="android/view/animation/Interpolator" removed="22" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/AccelerateInterpolator" since="1">
+		<extends name="android/view/animation/BaseInterpolator" since="22" />
+		<extends name="java/lang/Object" removed="22" />
+		<implements name="android/view/animation/Interpolator" removed="22" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/AlphaAnimation" since="1">
+		<extends name="android/view/animation/Animation" />
+		<method name="&lt;init&gt;(FF)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/Animation" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" since="3" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="applyTransformation(FLandroid/view/animation/Transformation;)V" />
+		<method name="cancel()V" since="8" />
+		<method name="clone()Landroid/view/animation/Animation;" since="3" />
+		<method name="computeDurationHint()J" since="3" />
+		<method name="ensureInterpolator()V" />
+		<method name="getBackgroundColor()I" since="12" deprecated="30" />
+		<method name="getDetachWallpaper()Z" since="5" deprecated="29" />
+		<method name="getDuration()J" />
+		<method name="getFillAfter()Z" />
+		<method name="getFillBefore()Z" />
+		<method name="getInterpolator()Landroid/view/animation/Interpolator;" />
+		<method name="getRepeatCount()I" />
+		<method name="getRepeatMode()I" />
+		<method name="getScaleFactor()F" since="11" />
+		<method name="getStartOffset()J" />
+		<method name="getStartTime()J" />
+		<method name="getTransformation(JLandroid/view/animation/Transformation;)Z" />
+		<method name="getTransformation(JLandroid/view/animation/Transformation;F)Z" since="11" />
+		<method name="getZAdjustment()I" />
+		<method name="hasEnded()Z" />
+		<method name="hasStarted()Z" />
+		<method name="initialize(IIII)V" />
+		<method name="isFillEnabled()Z" since="3" />
+		<method name="isInitialized()Z" />
+		<method name="reset()V" />
+		<method name="resolveSize(IFII)F" />
+		<method name="restrictDuration(J)V" />
+		<method name="scaleCurrentDuration(F)V" />
+		<method name="setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V" />
+		<method name="setBackgroundColor(I)V" since="12" deprecated="30" />
+		<method name="setDetachWallpaper(Z)V" since="5" deprecated="29" />
+		<method name="setDuration(J)V" />
+		<method name="setFillAfter(Z)V" />
+		<method name="setFillBefore(Z)V" />
+		<method name="setFillEnabled(Z)V" since="3" />
+		<method name="setInterpolator(Landroid/content/Context;I)V" />
+		<method name="setInterpolator(Landroid/view/animation/Interpolator;)V" />
+		<method name="setRepeatCount(I)V" />
+		<method name="setRepeatMode(I)V" />
+		<method name="setStartOffset(J)V" />
+		<method name="setStartTime(J)V" />
+		<method name="setZAdjustment(I)V" />
+		<method name="start()V" />
+		<method name="startNow()V" />
+		<method name="willChangeBounds()Z" />
+		<method name="willChangeTransformationMatrix()Z" />
+		<field name="ABSOLUTE" />
+		<field name="INFINITE" />
+		<field name="RELATIVE_TO_PARENT" />
+		<field name="RELATIVE_TO_SELF" />
+		<field name="RESTART" />
+		<field name="REVERSE" />
+		<field name="START_ON_FIRST_FRAME" />
+		<field name="ZORDER_BOTTOM" />
+		<field name="ZORDER_NORMAL" />
+		<field name="ZORDER_TOP" />
+	</class>
+	<class name="android/view/animation/Animation$AnimationListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onAnimationEnd(Landroid/view/animation/Animation;)V" />
+		<method name="onAnimationRepeat(Landroid/view/animation/Animation;)V" />
+		<method name="onAnimationStart(Landroid/view/animation/Animation;)V" />
+	</class>
+	<class name="android/view/animation/Animation$Description" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="type" />
+		<field name="value" />
+	</class>
+	<class name="android/view/animation/AnimationSet" since="1">
+		<extends name="android/view/animation/Animation" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Z)V" />
+		<method name="addAnimation(Landroid/view/animation/Animation;)V" />
+		<method name="clone()Landroid/view/animation/AnimationSet;" since="3" />
+		<method name="getAnimations()Ljava/util/List;" />
+	</class>
+	<class name="android/view/animation/AnimationUtils" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="currentAnimationTimeMillis()J" />
+		<method name="loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation;" />
+		<method name="loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;" />
+		<method name="loadLayoutAnimation(Landroid/content/Context;I)Landroid/view/animation/LayoutAnimationController;" />
+		<method name="makeInAnimation(Landroid/content/Context;Z)Landroid/view/animation/Animation;" />
+		<method name="makeInChildBottomAnimation(Landroid/content/Context;)Landroid/view/animation/Animation;" />
+		<method name="makeOutAnimation(Landroid/content/Context;Z)Landroid/view/animation/Animation;" />
+	</class>
+	<class name="android/view/animation/AnticipateInterpolator" since="4">
+		<extends name="android/view/animation/BaseInterpolator" since="22" />
+		<extends name="java/lang/Object" removed="22" />
+		<implements name="android/view/animation/Interpolator" removed="22" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/AnticipateOvershootInterpolator" since="4">
+		<extends name="android/view/animation/BaseInterpolator" since="22" />
+		<extends name="java/lang/Object" removed="22" />
+		<implements name="android/view/animation/Interpolator" removed="22" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(FF)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/BaseInterpolator" since="22">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/animation/Interpolator" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/view/animation/BounceInterpolator" since="4">
+		<extends name="android/view/animation/BaseInterpolator" since="22" />
+		<extends name="java/lang/Object" removed="22" />
+		<implements name="android/view/animation/Interpolator" removed="22" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/CycleInterpolator" since="1">
+		<extends name="android/view/animation/BaseInterpolator" since="22" />
+		<extends name="java/lang/Object" removed="22" />
+		<implements name="android/view/animation/Interpolator" removed="22" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/DecelerateInterpolator" since="1">
+		<extends name="android/view/animation/BaseInterpolator" since="22" />
+		<extends name="java/lang/Object" removed="22" />
+		<implements name="android/view/animation/Interpolator" removed="22" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/GridLayoutAnimationController" since="1">
+		<extends name="android/view/animation/LayoutAnimationController" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/animation/Animation;)V" />
+		<method name="&lt;init&gt;(Landroid/view/animation/Animation;FF)V" />
+		<method name="getColumnDelay()F" />
+		<method name="getDirection()I" />
+		<method name="getDirectionPriority()I" />
+		<method name="getRowDelay()F" />
+		<method name="setColumnDelay(F)V" />
+		<method name="setDirection(I)V" />
+		<method name="setDirectionPriority(I)V" />
+		<method name="setRowDelay(F)V" />
+		<field name="DIRECTION_BOTTOM_TO_TOP" />
+		<field name="DIRECTION_HORIZONTAL_MASK" />
+		<field name="DIRECTION_LEFT_TO_RIGHT" />
+		<field name="DIRECTION_RIGHT_TO_LEFT" />
+		<field name="DIRECTION_TOP_TO_BOTTOM" />
+		<field name="DIRECTION_VERTICAL_MASK" />
+		<field name="PRIORITY_COLUMN" />
+		<field name="PRIORITY_NONE" />
+		<field name="PRIORITY_ROW" />
+	</class>
+	<class name="android/view/animation/GridLayoutAnimationController$AnimationParameters" since="1">
+		<extends name="android/view/animation/LayoutAnimationController$AnimationParameters" />
+		<method name="&lt;init&gt;()V" />
+		<field name="column" />
+		<field name="columnsCount" />
+		<field name="row" />
+		<field name="rowsCount" />
+	</class>
+	<class name="android/view/animation/Interpolator" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/animation/TimeInterpolator" since="11" />
+		<method name="getInterpolation(F)F" removed="11" />
+	</class>
+	<class name="android/view/animation/LayoutAnimationController" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/animation/Animation;)V" />
+		<method name="&lt;init&gt;(Landroid/view/animation/Animation;F)V" />
+		<method name="getAnimation()Landroid/view/animation/Animation;" />
+		<method name="getAnimationForView(Landroid/view/View;)Landroid/view/animation/Animation;" />
+		<method name="getDelay()F" />
+		<method name="getDelayForView(Landroid/view/View;)J" />
+		<method name="getInterpolator()Landroid/view/animation/Interpolator;" />
+		<method name="getOrder()I" />
+		<method name="getTransformedIndex(Landroid/view/animation/LayoutAnimationController$AnimationParameters;)I" />
+		<method name="isDone()Z" />
+		<method name="setAnimation(Landroid/content/Context;I)V" />
+		<method name="setAnimation(Landroid/view/animation/Animation;)V" />
+		<method name="setDelay(F)V" />
+		<method name="setInterpolator(Landroid/content/Context;I)V" />
+		<method name="setInterpolator(Landroid/view/animation/Interpolator;)V" />
+		<method name="setOrder(I)V" />
+		<method name="start()V" />
+		<method name="willOverlap()Z" />
+		<field name="ORDER_NORMAL" />
+		<field name="ORDER_RANDOM" />
+		<field name="ORDER_REVERSE" />
+		<field name="mAnimation" />
+		<field name="mInterpolator" />
+		<field name="mRandomizer" />
+	</class>
+	<class name="android/view/animation/LayoutAnimationController$AnimationParameters" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="count" />
+		<field name="index" />
+	</class>
+	<class name="android/view/animation/LinearInterpolator" since="1">
+		<extends name="android/view/animation/BaseInterpolator" since="22" />
+		<extends name="java/lang/Object" removed="22" />
+		<implements name="android/view/animation/Interpolator" removed="22" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/OvershootInterpolator" since="4">
+		<extends name="android/view/animation/BaseInterpolator" since="22" />
+		<extends name="java/lang/Object" removed="22" />
+		<implements name="android/view/animation/Interpolator" removed="22" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/PathInterpolator" since="21">
+		<extends name="android/view/animation/BaseInterpolator" since="22" />
+		<extends name="java/lang/Object" removed="22" />
+		<implements name="android/view/animation/Interpolator" removed="22" />
+		<method name="&lt;init&gt;(FF)V" />
+		<method name="&lt;init&gt;(FFFF)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/graphics/Path;)V" />
+	</class>
+	<class name="android/view/animation/RotateAnimation" since="1">
+		<extends name="android/view/animation/Animation" />
+		<method name="&lt;init&gt;(FF)V" />
+		<method name="&lt;init&gt;(FFFF)V" />
+		<method name="&lt;init&gt;(FFIFIF)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/ScaleAnimation" since="1">
+		<extends name="android/view/animation/Animation" />
+		<method name="&lt;init&gt;(FFFF)V" />
+		<method name="&lt;init&gt;(FFFFFF)V" />
+		<method name="&lt;init&gt;(FFFFIFIF)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/animation/Transformation" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clear()V" />
+		<method name="compose(Landroid/view/animation/Transformation;)V" />
+		<method name="getAlpha()F" />
+		<method name="getMatrix()Landroid/graphics/Matrix;" />
+		<method name="getTransformationType()I" />
+		<method name="set(Landroid/view/animation/Transformation;)V" />
+		<method name="setAlpha(F)V" />
+		<method name="setTransformationType(I)V" />
+		<method name="toShortString()Ljava/lang/String;" since="3" />
+		<field name="TYPE_ALPHA" />
+		<field name="TYPE_BOTH" />
+		<field name="TYPE_IDENTITY" />
+		<field name="TYPE_MATRIX" />
+		<field name="mAlpha" />
+		<field name="mMatrix" />
+		<field name="mTransformationType" />
+	</class>
+	<class name="android/view/animation/TranslateAnimation" since="1">
+		<extends name="android/view/animation/Animation" />
+		<method name="&lt;init&gt;(FFFF)V" />
+		<method name="&lt;init&gt;(IFIFIFIF)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+	</class>
+	<class name="android/view/autofill/AutofillId" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/autofill/AutofillManager" since="26">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" />
+		<method name="commit()V" />
+		<method name="disableAutofillServices()V" />
+		<method name="getAutofillServiceComponentName()Landroid/content/ComponentName;" since="28" />
+		<method name="getAvailableFieldClassificationAlgorithms()Ljava/util/List;" since="28" />
+		<method name="getDefaultFieldClassificationAlgorithm()Ljava/lang/String;" since="28" />
+		<method name="getNextAutofillId()Landroid/view/autofill/AutofillId;" since="28" />
+		<method name="getUserData()Landroid/service/autofill/UserData;" since="28" />
+		<method name="getUserDataId()Ljava/lang/String;" since="28" />
+		<method name="hasEnabledAutofillServices()Z" />
+		<method name="isAutofillSupported()Z" />
+		<method name="isEnabled()Z" />
+		<method name="isFieldClassificationEnabled()Z" since="28" />
+		<method name="notifyValueChanged(Landroid/view/View;)V" />
+		<method name="notifyValueChanged(Landroid/view/View;ILandroid/view/autofill/AutofillValue;)V" />
+		<method name="notifyViewClicked(Landroid/view/View;)V" since="28" />
+		<method name="notifyViewClicked(Landroid/view/View;I)V" since="28" />
+		<method name="notifyViewEntered(Landroid/view/View;)V" />
+		<method name="notifyViewEntered(Landroid/view/View;ILandroid/graphics/Rect;)V" />
+		<method name="notifyViewExited(Landroid/view/View;)V" />
+		<method name="notifyViewExited(Landroid/view/View;I)V" />
+		<method name="notifyViewVisibilityChanged(Landroid/view/View;IZ)V" since="27" />
+		<method name="notifyViewVisibilityChanged(Landroid/view/View;Z)V" since="27" />
+		<method name="registerCallback(Landroid/view/autofill/AutofillManager$AutofillCallback;)V" />
+		<method name="requestAutofill(Landroid/view/View;)V" />
+		<method name="requestAutofill(Landroid/view/View;ILandroid/graphics/Rect;)V" />
+		<method name="setUserData(Landroid/service/autofill/UserData;)V" since="28" />
+		<method name="unregisterCallback(Landroid/view/autofill/AutofillManager$AutofillCallback;)V" />
+		<field name="EXTRA_ASSIST_STRUCTURE" />
+		<field name="EXTRA_AUTHENTICATION_RESULT" />
+		<field name="EXTRA_AUTHENTICATION_RESULT_EPHEMERAL_DATASET" since="31" />
+		<field name="EXTRA_CLIENT_STATE" />
+		<field name="EXTRA_INLINE_SUGGESTIONS_REQUEST" since="31" />
+	</class>
+	<class name="android/view/autofill/AutofillManager$AutofillCallback" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onAutofillEvent(Landroid/view/View;I)V" />
+		<method name="onAutofillEvent(Landroid/view/View;II)V" />
+		<field name="EVENT_INPUT_HIDDEN" />
+		<field name="EVENT_INPUT_SHOWN" />
+		<field name="EVENT_INPUT_UNAVAILABLE" />
+	</class>
+	<class name="android/view/autofill/AutofillValue" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="forDate(J)Landroid/view/autofill/AutofillValue;" />
+		<method name="forList(I)Landroid/view/autofill/AutofillValue;" />
+		<method name="forText(Ljava/lang/CharSequence;)Landroid/view/autofill/AutofillValue;" />
+		<method name="forToggle(Z)Landroid/view/autofill/AutofillValue;" />
+		<method name="getDateValue()J" />
+		<method name="getListValue()I" />
+		<method name="getTextValue()Ljava/lang/CharSequence;" />
+		<method name="getToggleValue()Z" />
+		<method name="isDate()Z" />
+		<method name="isList()Z" />
+		<method name="isText()Z" />
+		<method name="isToggle()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureCondition" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/content/LocusId;I)V" />
+		<method name="getFlags()I" />
+		<method name="getLocusId()Landroid/content/LocusId;" />
+		<field name="CREATOR" />
+		<field name="FLAG_IS_REGEX" />
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureContext" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="forLocusId(Ljava/lang/String;)Landroid/view/contentcapture/ContentCaptureContext;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getLocusId()Landroid/content/LocusId;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureContext$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/LocusId;)V" />
+		<method name="build()Landroid/view/contentcapture/ContentCaptureContext;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/contentcapture/ContentCaptureContext$Builder;" />
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureManager" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getContentCaptureConditions()Ljava/util/Set;" />
+		<method name="getServiceComponentName()Landroid/content/ComponentName;" />
+		<method name="isContentCaptureEnabled()Z" />
+		<method name="removeData(Landroid/view/contentcapture/DataRemovalRequest;)V" />
+		<method name="setContentCaptureEnabled(Z)V" />
+		<method name="shareData(Landroid/view/contentcapture/DataShareRequest;Ljava/util/concurrent/Executor;Landroid/view/contentcapture/DataShareWriteAdapter;)V" since="30" />
+		<field name="DATA_SHARE_ERROR_CONCURRENT_REQUEST" since="30" />
+		<field name="DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED" since="30" />
+		<field name="DATA_SHARE_ERROR_UNKNOWN" since="30" />
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureSession" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="createContentCaptureSession(Landroid/view/contentcapture/ContentCaptureContext;)Landroid/view/contentcapture/ContentCaptureSession;" />
+		<method name="destroy()V" />
+		<method name="getContentCaptureContext()Landroid/view/contentcapture/ContentCaptureContext;" />
+		<method name="getContentCaptureSessionId()Landroid/view/contentcapture/ContentCaptureSessionId;" />
+		<method name="newAutofillId(Landroid/view/autofill/AutofillId;J)Landroid/view/autofill/AutofillId;" />
+		<method name="newViewStructure(Landroid/view/View;)Landroid/view/ViewStructure;" />
+		<method name="newVirtualViewStructure(Landroid/view/autofill/AutofillId;J)Landroid/view/ViewStructure;" />
+		<method name="notifySessionPaused()V" since="30" />
+		<method name="notifySessionResumed()V" since="30" />
+		<method name="notifyViewAppeared(Landroid/view/ViewStructure;)V" />
+		<method name="notifyViewDisappeared(Landroid/view/autofill/AutofillId;)V" />
+		<method name="notifyViewInsetsChanged(Landroid/graphics/Insets;)V" since="30" />
+		<method name="notifyViewTextChanged(Landroid/view/autofill/AutofillId;Ljava/lang/CharSequence;)V" />
+		<method name="notifyViewsDisappeared(Landroid/view/autofill/AutofillId;[J)V" />
+		<method name="setContentCaptureContext(Landroid/view/contentcapture/ContentCaptureContext;)V" />
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureSessionId" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/contentcapture/DataRemovalRequest" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getLocusIdRequests()Ljava/util/List;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="isForEverything()Z" />
+		<field name="CREATOR" />
+		<field name="FLAG_IS_PREFIX" />
+	</class>
+	<class name="android/view/contentcapture/DataRemovalRequest$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addLocusId(Landroid/content/LocusId;I)Landroid/view/contentcapture/DataRemovalRequest$Builder;" />
+		<method name="build()Landroid/view/contentcapture/DataRemovalRequest;" />
+		<method name="forEverything()Landroid/view/contentcapture/DataRemovalRequest$Builder;" />
+	</class>
+	<class name="android/view/contentcapture/DataRemovalRequest$LocusIdRequest" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getFlags()I" />
+		<method name="getLocusId()Landroid/content/LocusId;" />
+	</class>
+	<class name="android/view/contentcapture/DataShareRequest" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/content/LocusId;Ljava/lang/String;)V" />
+		<method name="getLocusId()Landroid/content/LocusId;" />
+		<method name="getMimeType()Ljava/lang/String;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/contentcapture/DataShareWriteAdapter" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onError(I)V" />
+		<method name="onRejected()V" />
+		<method name="onWrite(Landroid/os/ParcelFileDescriptor;)V" />
+	</class>
+	<class name="android/view/displayhash/DisplayHash" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/displayhash/DisplayHashManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getSupportedHashAlgorithms()Ljava/util/Set;" />
+		<method name="verifyDisplayHash(Landroid/view/displayhash/DisplayHash;)Landroid/view/displayhash/VerifiedDisplayHash;" />
+	</class>
+	<class name="android/view/displayhash/DisplayHashResultCallback" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onDisplayHashError(I)V" />
+		<method name="onDisplayHashResult(Landroid/view/displayhash/DisplayHash;)V" />
+		<field name="DISPLAY_HASH_ERROR_INVALID_BOUNDS" />
+		<field name="DISPLAY_HASH_ERROR_INVALID_HASH_ALGORITHM" />
+		<field name="DISPLAY_HASH_ERROR_MISSING_WINDOW" />
+		<field name="DISPLAY_HASH_ERROR_NOT_VISIBLE_ON_SCREEN" />
+		<field name="DISPLAY_HASH_ERROR_TOO_MANY_REQUESTS" />
+		<field name="DISPLAY_HASH_ERROR_UNKNOWN" />
+	</class>
+	<class name="android/view/displayhash/VerifiedDisplayHash" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(JLandroid/graphics/Rect;Ljava/lang/String;[B)V" />
+		<method name="getBoundsInWindow()Landroid/graphics/Rect;" />
+		<method name="getHashAlgorithm()Ljava/lang/String;" />
+		<method name="getImageHash()[B" />
+		<method name="getTimeMillis()J" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/inputmethod/BaseInputConnection" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/inputmethod/InputConnection" />
+		<method name="&lt;init&gt;(Landroid/view/View;Z)V" />
+		<method name="getComposingSpanEnd(Landroid/text/Spannable;)I" />
+		<method name="getComposingSpanStart(Landroid/text/Spannable;)I" />
+		<method name="getEditable()Landroid/text/Editable;" />
+		<method name="removeComposingSpans(Landroid/text/Spannable;)V" />
+		<method name="setComposingSpans(Landroid/text/Spannable;)V" />
+	</class>
+	<class name="android/view/inputmethod/CompletionInfo" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(JILjava/lang/CharSequence;)V" />
+		<method name="&lt;init&gt;(JILjava/lang/CharSequence;Ljava/lang/CharSequence;)V" />
+		<method name="getId()J" />
+		<method name="getLabel()Ljava/lang/CharSequence;" />
+		<method name="getPosition()I" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/inputmethod/CorrectionInfo" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(ILjava/lang/CharSequence;Ljava/lang/CharSequence;)V" />
+		<method name="getNewText()Ljava/lang/CharSequence;" />
+		<method name="getOffset()I" />
+		<method name="getOldText()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/inputmethod/CursorAnchorInfo" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="getCharacterBounds(I)Landroid/graphics/RectF;" />
+		<method name="getCharacterBoundsFlags(I)I" />
+		<method name="getComposingText()Ljava/lang/CharSequence;" />
+		<method name="getComposingTextStart()I" />
+		<method name="getInsertionMarkerBaseline()F" />
+		<method name="getInsertionMarkerBottom()F" />
+		<method name="getInsertionMarkerFlags()I" />
+		<method name="getInsertionMarkerHorizontal()F" />
+		<method name="getInsertionMarkerTop()F" />
+		<method name="getMatrix()Landroid/graphics/Matrix;" />
+		<method name="getSelectionEnd()I" />
+		<method name="getSelectionStart()I" />
+		<field name="CREATOR" />
+		<field name="FLAG_HAS_INVISIBLE_REGION" />
+		<field name="FLAG_HAS_VISIBLE_REGION" />
+		<field name="FLAG_IS_RTL" />
+	</class>
+	<class name="android/view/inputmethod/CursorAnchorInfo$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addCharacterBounds(IFFFFI)Landroid/view/inputmethod/CursorAnchorInfo$Builder;" />
+		<method name="build()Landroid/view/inputmethod/CursorAnchorInfo;" />
+		<method name="reset()V" />
+		<method name="setComposingText(ILjava/lang/CharSequence;)Landroid/view/inputmethod/CursorAnchorInfo$Builder;" />
+		<method name="setInsertionMarkerLocation(FFFFI)Landroid/view/inputmethod/CursorAnchorInfo$Builder;" />
+		<method name="setMatrix(Landroid/graphics/Matrix;)Landroid/view/inputmethod/CursorAnchorInfo$Builder;" />
+		<method name="setSelectionRange(II)Landroid/view/inputmethod/CursorAnchorInfo$Builder;" />
+	</class>
+	<class name="android/view/inputmethod/EditorInfo" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="android/text/InputType" />
+		<method name="&lt;init&gt;()V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getInitialSelectedText(I)Ljava/lang/CharSequence;" since="30" />
+		<method name="getInitialSurroundingText(III)Landroid/view/inputmethod/SurroundingText;" since="31" />
+		<method name="getInitialTextAfterCursor(II)Ljava/lang/CharSequence;" since="30" />
+		<method name="getInitialTextBeforeCursor(II)Ljava/lang/CharSequence;" since="30" />
+		<method name="makeCompatible(I)V" since="11" />
+		<method name="setInitialSurroundingSubText(Ljava/lang/CharSequence;I)V" since="30" />
+		<method name="setInitialSurroundingText(Ljava/lang/CharSequence;)V" since="30" />
+		<field name="CREATOR" />
+		<field name="IME_ACTION_DONE" />
+		<field name="IME_ACTION_GO" />
+		<field name="IME_ACTION_NEXT" />
+		<field name="IME_ACTION_NONE" />
+		<field name="IME_ACTION_PREVIOUS" since="11" />
+		<field name="IME_ACTION_SEARCH" />
+		<field name="IME_ACTION_SEND" />
+		<field name="IME_ACTION_UNSPECIFIED" />
+		<field name="IME_FLAG_FORCE_ASCII" since="16" />
+		<field name="IME_FLAG_NAVIGATE_NEXT" since="11" />
+		<field name="IME_FLAG_NAVIGATE_PREVIOUS" since="11" />
+		<field name="IME_FLAG_NO_ACCESSORY_ACTION" />
+		<field name="IME_FLAG_NO_ENTER_ACTION" />
+		<field name="IME_FLAG_NO_EXTRACT_UI" />
+		<field name="IME_FLAG_NO_FULLSCREEN" since="11" />
+		<field name="IME_FLAG_NO_PERSONALIZED_LEARNING" since="26" />
+		<field name="IME_MASK_ACTION" />
+		<field name="IME_NULL" />
+		<field name="actionId" />
+		<field name="actionLabel" />
+		<field name="contentMimeTypes" since="25" />
+		<field name="extras" />
+		<field name="fieldId" />
+		<field name="fieldName" />
+		<field name="hintLocales" since="24" />
+		<field name="hintText" />
+		<field name="imeOptions" />
+		<field name="initialCapsMode" />
+		<field name="initialSelEnd" />
+		<field name="initialSelStart" />
+		<field name="inputType" />
+		<field name="label" />
+		<field name="packageName" />
+		<field name="privateImeOptions" />
+	</class>
+	<class name="android/view/inputmethod/ExtractedText" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<field name="CREATOR" />
+		<field name="FLAG_SELECTING" />
+		<field name="FLAG_SINGLE_LINE" />
+		<field name="flags" />
+		<field name="hint" since="28" />
+		<field name="partialEndOffset" />
+		<field name="partialStartOffset" />
+		<field name="selectionEnd" />
+		<field name="selectionStart" />
+		<field name="startOffset" />
+		<field name="text" />
+	</class>
+	<class name="android/view/inputmethod/ExtractedTextRequest" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;()V" />
+		<field name="CREATOR" />
+		<field name="flags" />
+		<field name="hintMaxChars" />
+		<field name="hintMaxLines" />
+		<field name="token" />
+	</class>
+	<class name="android/view/inputmethod/InlineSuggestion" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getInfo()Landroid/view/inputmethod/InlineSuggestionInfo;" />
+		<method name="inflate(Landroid/content/Context;Landroid/util/Size;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/inputmethod/InlineSuggestionInfo" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAutofillHints()[Ljava/lang/String;" />
+		<method name="getInlinePresentationSpec()Landroid/widget/inline/InlinePresentationSpec;" />
+		<method name="getSource()Ljava/lang/String;" />
+		<method name="getType()Ljava/lang/String;" />
+		<method name="isPinned()Z" />
+		<field name="CREATOR" />
+		<field name="SOURCE_AUTOFILL" />
+		<field name="SOURCE_PLATFORM" />
+		<field name="TYPE_ACTION" />
+		<field name="TYPE_SUGGESTION" />
+	</class>
+	<class name="android/view/inputmethod/InlineSuggestionsRequest" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getHostPackageName()Ljava/lang/String;" />
+		<method name="getInlinePresentationSpecs()Ljava/util/List;" />
+		<method name="getInlineTooltipPresentationSpec()Landroid/widget/inline/InlinePresentationSpec;" since="31" />
+		<method name="getMaxSuggestionCount()I" />
+		<method name="getSupportedLocales()Landroid/os/LocaleList;" />
+		<field name="CREATOR" />
+		<field name="SUGGESTION_COUNT_UNLIMITED" />
+	</class>
+	<class name="android/view/inputmethod/InlineSuggestionsRequest$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/util/List;)V" />
+		<method name="addInlinePresentationSpecs(Landroid/widget/inline/InlinePresentationSpec;)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;" />
+		<method name="build()Landroid/view/inputmethod/InlineSuggestionsRequest;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;" />
+		<method name="setInlinePresentationSpecs(Ljava/util/List;)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;" />
+		<method name="setInlineTooltipPresentationSpec(Landroid/widget/inline/InlinePresentationSpec;)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;" since="31" />
+		<method name="setMaxSuggestionCount(I)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;" />
+		<method name="setSupportedLocales(Landroid/os/LocaleList;)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;" />
+	</class>
+	<class name="android/view/inputmethod/InlineSuggestionsResponse" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getInlineSuggestions()Ljava/util/List;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/inputmethod/InputBinding" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/view/inputmethod/InputConnection;Landroid/os/IBinder;II)V" />
+		<method name="&lt;init&gt;(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/InputBinding;)V" />
+		<method name="getConnection()Landroid/view/inputmethod/InputConnection;" />
+		<method name="getConnectionToken()Landroid/os/IBinder;" />
+		<method name="getPid()I" />
+		<method name="getUid()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/inputmethod/InputConnection" since="3">
+		<extends name="java/lang/Object" />
+		<method name="beginBatchEdit()Z" />
+		<method name="clearMetaKeyStates(I)Z" />
+		<method name="closeConnection()V" since="24" />
+		<method name="commitCompletion(Landroid/view/inputmethod/CompletionInfo;)Z" />
+		<method name="commitContent(Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;)Z" since="25" />
+		<method name="commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)Z" since="11" />
+		<method name="commitText(Ljava/lang/CharSequence;I)Z" />
+		<method name="deleteSurroundingText(II)Z" />
+		<method name="deleteSurroundingTextInCodePoints(II)Z" since="24" />
+		<method name="endBatchEdit()Z" />
+		<method name="finishComposingText()Z" />
+		<method name="getCursorCapsMode(I)I" />
+		<method name="getExtractedText(Landroid/view/inputmethod/ExtractedTextRequest;I)Landroid/view/inputmethod/ExtractedText;" />
+		<method name="getHandler()Landroid/os/Handler;" since="24" />
+		<method name="getSelectedText(I)Ljava/lang/CharSequence;" since="9" />
+		<method name="getSurroundingText(III)Landroid/view/inputmethod/SurroundingText;" since="31" />
+		<method name="getTextAfterCursor(II)Ljava/lang/CharSequence;" />
+		<method name="getTextBeforeCursor(II)Ljava/lang/CharSequence;" />
+		<method name="performContextMenuAction(I)Z" />
+		<method name="performEditorAction(I)Z" />
+		<method name="performPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)Z" />
+		<method name="performSpellCheck()Z" since="31" />
+		<method name="reportFullscreenMode(Z)Z" />
+		<method name="requestCursorUpdates(I)Z" since="21" />
+		<method name="sendKeyEvent(Landroid/view/KeyEvent;)Z" />
+		<method name="setComposingRegion(II)Z" since="9" />
+		<method name="setComposingText(Ljava/lang/CharSequence;I)Z" />
+		<method name="setImeConsumesInput(Z)Z" since="31" />
+		<method name="setSelection(II)Z" />
+		<field name="CURSOR_UPDATE_IMMEDIATE" since="21" />
+		<field name="CURSOR_UPDATE_MONITOR" since="21" />
+		<field name="GET_EXTRACTED_TEXT_MONITOR" />
+		<field name="GET_TEXT_WITH_STYLES" />
+		<field name="INPUT_CONTENT_GRANT_READ_URI_PERMISSION" since="25" />
+	</class>
+	<class name="android/view/inputmethod/InputConnectionWrapper" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/inputmethod/InputConnection" />
+		<method name="&lt;init&gt;(Landroid/view/inputmethod/InputConnection;Z)V" />
+		<method name="setTarget(Landroid/view/inputmethod/InputConnection;)V" />
+	</class>
+	<class name="android/view/inputmethod/InputContentInfo" since="25">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;Landroid/content/ClipDescription;)V" />
+		<method name="&lt;init&gt;(Landroid/net/Uri;Landroid/content/ClipDescription;Landroid/net/Uri;)V" />
+		<method name="getContentUri()Landroid/net/Uri;" />
+		<method name="getDescription()Landroid/content/ClipDescription;" />
+		<method name="getLinkUri()Landroid/net/Uri;" />
+		<method name="releasePermission()V" />
+		<method name="requestPermission()V" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/inputmethod/InputMethod" since="3">
+		<extends name="java/lang/Object" />
+		<method name="attachToken(Landroid/os/IBinder;)V" />
+		<method name="bindInput(Landroid/view/inputmethod/InputBinding;)V" />
+		<method name="changeInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)V" since="11" />
+		<method name="createSession(Landroid/view/inputmethod/InputMethod$SessionCallback;)V" />
+		<method name="hideSoftInput(ILandroid/os/ResultReceiver;)V" />
+		<method name="restartInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V" />
+		<method name="revokeSession(Landroid/view/inputmethod/InputMethodSession;)V" />
+		<method name="setSessionEnabled(Landroid/view/inputmethod/InputMethodSession;Z)V" />
+		<method name="showSoftInput(ILandroid/os/ResultReceiver;)V" />
+		<method name="startInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V" />
+		<method name="unbindInput()V" />
+		<field name="SERVICE_INTERFACE" />
+		<field name="SERVICE_META_DATA" />
+		<field name="SHOW_EXPLICIT" />
+		<field name="SHOW_FORCED" />
+	</class>
+	<class name="android/view/inputmethod/InputMethod$SessionCallback" since="3">
+		<extends name="java/lang/Object" />
+		<method name="sessionCreated(Landroid/view/inputmethod/InputMethodSession;)V" />
+	</class>
+	<class name="android/view/inputmethod/InputMethodInfo" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)V" />
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" />
+		<method name="getComponent()Landroid/content/ComponentName;" />
+		<method name="getConfigChanges()I" since="31" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getIsDefaultResourceId()I" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getServiceInfo()Landroid/content/pm/ServiceInfo;" />
+		<method name="getServiceName()Ljava/lang/String;" />
+		<method name="getSettingsActivity()Ljava/lang/String;" />
+		<method name="getSubtypeAt(I)Landroid/view/inputmethod/InputMethodSubtype;" since="11" />
+		<method name="getSubtypeCount()I" since="11" />
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" />
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<method name="shouldShowInInputMethodPicker()Z" since="31" />
+		<method name="suppressesSpellChecker()Z" since="31" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/inputmethod/InputMethodManager" since="3">
+		<extends name="java/lang/Object" />
+		<method name="dispatchKeyEventFromInputMethod(Landroid/view/View;Landroid/view/KeyEvent;)V" since="24" />
+		<method name="displayCompletions(Landroid/view/View;[Landroid/view/inputmethod/CompletionInfo;)V" />
+		<method name="getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;" since="11" />
+		<method name="getEnabledInputMethodList()Ljava/util/List;" />
+		<method name="getEnabledInputMethodSubtypeList(Landroid/view/inputmethod/InputMethodInfo;Z)Ljava/util/List;" since="11" />
+		<method name="getInputMethodList()Ljava/util/List;" />
+		<method name="getLastInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;" since="14" />
+		<method name="getShortcutInputMethodsAndSubtypes()Ljava/util/Map;" since="11" />
+		<method name="hideSoftInputFromInputMethod(Landroid/os/IBinder;I)V" deprecated="28" />
+		<method name="hideSoftInputFromWindow(Landroid/os/IBinder;I)Z" />
+		<method name="hideSoftInputFromWindow(Landroid/os/IBinder;ILandroid/os/ResultReceiver;)Z" />
+		<method name="hideStatusIcon(Landroid/os/IBinder;)V" deprecated="28" />
+		<method name="isAcceptingText()Z" />
+		<method name="isActive()Z" />
+		<method name="isActive(Landroid/view/View;)Z" />
+		<method name="isFullscreenMode()Z" />
+		<method name="isInputMethodSuppressingSpellChecker()Z" since="31" />
+		<method name="isWatchingCursor(Landroid/view/View;)Z" deprecated="21" />
+		<method name="restartInput(Landroid/view/View;)V" />
+		<method name="sendAppPrivateCommand(Landroid/view/View;Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="setAdditionalInputMethodSubtypes(Ljava/lang/String;[Landroid/view/inputmethod/InputMethodSubtype;)V" since="14" deprecated="29" />
+		<method name="setCurrentInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)Z" since="11" deprecated="29" />
+		<method name="setInputMethod(Landroid/os/IBinder;Ljava/lang/String;)V" deprecated="28" />
+		<method name="setInputMethodAndSubtype(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V" since="11" deprecated="28" />
+		<method name="shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z" since="19" deprecated="28" />
+		<method name="showInputMethodAndSubtypeEnabler(Ljava/lang/String;)V" since="11" />
+		<method name="showInputMethodPicker()V" />
+		<method name="showSoftInput(Landroid/view/View;I)Z" />
+		<method name="showSoftInput(Landroid/view/View;ILandroid/os/ResultReceiver;)Z" />
+		<method name="showSoftInputFromInputMethod(Landroid/os/IBinder;I)V" deprecated="28" />
+		<method name="showStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V" deprecated="28" />
+		<method name="switchToLastInputMethod(Landroid/os/IBinder;)Z" since="11" deprecated="28" />
+		<method name="switchToNextInputMethod(Landroid/os/IBinder;Z)Z" since="16" deprecated="28" />
+		<method name="toggleSoftInput(II)V" deprecated="31" />
+		<method name="toggleSoftInputFromWindow(Landroid/os/IBinder;II)V" deprecated="31" />
+		<method name="updateCursor(Landroid/view/View;IIII)V" deprecated="21" />
+		<method name="updateCursorAnchorInfo(Landroid/view/View;Landroid/view/inputmethod/CursorAnchorInfo;)V" since="21" />
+		<method name="updateExtractedText(Landroid/view/View;ILandroid/view/inputmethod/ExtractedText;)V" />
+		<method name="updateSelection(Landroid/view/View;IIII)V" />
+		<method name="viewClicked(Landroid/view/View;)V" since="14" deprecated="29" />
+		<field name="HIDE_IMPLICIT_ONLY" />
+		<field name="HIDE_NOT_ALWAYS" />
+		<field name="RESULT_HIDDEN" />
+		<field name="RESULT_SHOWN" />
+		<field name="RESULT_UNCHANGED_HIDDEN" />
+		<field name="RESULT_UNCHANGED_SHOWN" />
+		<field name="SHOW_FORCED" />
+		<field name="SHOW_IMPLICIT" />
+	</class>
+	<class name="android/view/inputmethod/InputMethodSession" since="3">
+		<extends name="java/lang/Object" />
+		<method name="appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V" />
+		<method name="dispatchGenericMotionEvent(ILandroid/view/MotionEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V" since="17" />
+		<method name="dispatchKeyEvent(ILandroid/view/KeyEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V" />
+		<method name="dispatchTrackballEvent(ILandroid/view/MotionEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V" />
+		<method name="displayCompletions([Landroid/view/inputmethod/CompletionInfo;)V" />
+		<method name="finishInput()V" />
+		<method name="toggleSoftInput(II)V" deprecated="31" />
+		<method name="updateCursor(Landroid/graphics/Rect;)V" />
+		<method name="updateCursorAnchorInfo(Landroid/view/inputmethod/CursorAnchorInfo;)V" since="21" />
+		<method name="updateExtractedText(ILandroid/view/inputmethod/ExtractedText;)V" />
+		<method name="updateSelection(IIIIII)V" />
+		<method name="viewClicked(Z)V" since="14" />
+	</class>
+	<class name="android/view/inputmethod/InputMethodSession$EventCallback" since="3">
+		<extends name="java/lang/Object" />
+		<method name="finishedEvent(IZ)V" />
+	</class>
+	<class name="android/view/inputmethod/InputMethodSubtype" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)V" since="14" deprecated="19" />
+		<method name="&lt;init&gt;(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZI)V" since="17" deprecated="19" />
+		<method name="containsExtraValueKey(Ljava/lang/String;)Z" since="12" />
+		<method name="getDisplayName(Landroid/content/Context;Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;" since="14" />
+		<method name="getExtraValue()Ljava/lang/String;" />
+		<method name="getExtraValueOf(Ljava/lang/String;)Ljava/lang/String;" since="12" />
+		<method name="getIconResId()I" />
+		<method name="getLanguageTag()Ljava/lang/String;" since="24" />
+		<method name="getLocale()Ljava/lang/String;" deprecated="24" />
+		<method name="getMode()Ljava/lang/String;" />
+		<method name="getNameResId()I" />
+		<method name="isAsciiCapable()Z" since="19" />
+		<method name="isAuxiliary()Z" since="14" />
+		<method name="overridesImplicitlyEnabledSubtype()Z" since="14" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder" since="19">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/view/inputmethod/InputMethodSubtype;" />
+		<method name="setIsAsciiCapable(Z)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" />
+		<method name="setIsAuxiliary(Z)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" />
+		<method name="setLanguageTag(Ljava/lang/String;)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" since="24" />
+		<method name="setOverridesImplicitlyEnabledSubtype(Z)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" />
+		<method name="setSubtypeExtraValue(Ljava/lang/String;)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" />
+		<method name="setSubtypeIconResId(I)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" />
+		<method name="setSubtypeId(I)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" />
+		<method name="setSubtypeLocale(Ljava/lang/String;)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" />
+		<method name="setSubtypeMode(Ljava/lang/String;)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" />
+		<method name="setSubtypeNameResId(I)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" />
+	</class>
+	<class name="android/view/inputmethod/SurroundingText" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;III)V" />
+		<method name="getOffset()I" />
+		<method name="getSelectionEnd()I" />
+		<method name="getSelectionStart()I" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/inspector/InspectionCompanion" since="29">
+		<extends name="java/lang/Object" />
+		<method name="mapProperties(Landroid/view/inspector/PropertyMapper;)V" />
+		<method name="readProperties(Ljava/lang/Object;Landroid/view/inspector/PropertyReader;)V" />
+	</class>
+	<class name="android/view/inspector/InspectionCompanion$UninitializedPropertyMapException" since="29">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/view/inspector/InspectionCompanionProvider" since="29">
+		<extends name="java/lang/Object" />
+		<method name="provide(Ljava/lang/Class;)Landroid/view/inspector/InspectionCompanion;" />
+	</class>
+	<class name="android/view/inspector/IntFlagMapping" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="add(IILjava/lang/String;)V" />
+		<method name="get(I)Ljava/util/Set;" />
+	</class>
+	<class name="android/view/inspector/PropertyMapper" since="29">
+		<extends name="java/lang/Object" />
+		<method name="mapBoolean(Ljava/lang/String;I)I" />
+		<method name="mapByte(Ljava/lang/String;I)I" />
+		<method name="mapChar(Ljava/lang/String;I)I" />
+		<method name="mapColor(Ljava/lang/String;I)I" />
+		<method name="mapDouble(Ljava/lang/String;I)I" />
+		<method name="mapFloat(Ljava/lang/String;I)I" />
+		<method name="mapGravity(Ljava/lang/String;I)I" />
+		<method name="mapInt(Ljava/lang/String;I)I" />
+		<method name="mapIntEnum(Ljava/lang/String;ILjava/util/function/IntFunction;)I" />
+		<method name="mapIntFlag(Ljava/lang/String;ILjava/util/function/IntFunction;)I" />
+		<method name="mapLong(Ljava/lang/String;I)I" />
+		<method name="mapObject(Ljava/lang/String;I)I" />
+		<method name="mapResourceId(Ljava/lang/String;I)I" />
+		<method name="mapShort(Ljava/lang/String;I)I" />
+	</class>
+	<class name="android/view/inspector/PropertyMapper$PropertyConflictException" since="29">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="android/view/inspector/PropertyReader" since="29">
+		<extends name="java/lang/Object" />
+		<method name="readBoolean(IZ)V" />
+		<method name="readByte(IB)V" />
+		<method name="readChar(IC)V" />
+		<method name="readColor(II)V" />
+		<method name="readColor(IJ)V" />
+		<method name="readColor(ILandroid/graphics/Color;)V" />
+		<method name="readDouble(ID)V" />
+		<method name="readFloat(IF)V" />
+		<method name="readGravity(II)V" />
+		<method name="readInt(II)V" />
+		<method name="readIntEnum(II)V" />
+		<method name="readIntFlag(II)V" />
+		<method name="readLong(IJ)V" />
+		<method name="readObject(ILjava/lang/Object;)V" />
+		<method name="readResourceId(II)V" />
+		<method name="readShort(IS)V" />
+	</class>
+	<class name="android/view/inspector/PropertyReader$PropertyTypeMismatchException" since="29">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(ILjava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="android/view/inspector/StaticInspectionCompanionProvider" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/inspector/InspectionCompanionProvider" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/view/inspector/WindowInspector" since="29">
+		<extends name="java/lang/Object" />
+		<method name="getGlobalWindowViews()Ljava/util/List;" />
+	</class>
+	<class name="android/view/textclassifier/ConversationAction" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAction()Landroid/app/RemoteAction;" />
+		<method name="getConfidenceScore()F" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getTextReply()Ljava/lang/CharSequence;" />
+		<method name="getType()Ljava/lang/String;" />
+		<field name="CREATOR" />
+		<field name="TYPE_CALL_PHONE" />
+		<field name="TYPE_CREATE_REMINDER" />
+		<field name="TYPE_OPEN_URL" />
+		<field name="TYPE_SEND_EMAIL" />
+		<field name="TYPE_SEND_SMS" />
+		<field name="TYPE_SHARE_LOCATION" />
+		<field name="TYPE_TEXT_REPLY" />
+		<field name="TYPE_TRACK_FLIGHT" />
+		<field name="TYPE_VIEW_CALENDAR" />
+		<field name="TYPE_VIEW_MAP" />
+	</class>
+	<class name="android/view/textclassifier/ConversationAction$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="build()Landroid/view/textclassifier/ConversationAction;" />
+		<method name="setAction(Landroid/app/RemoteAction;)Landroid/view/textclassifier/ConversationAction$Builder;" />
+		<method name="setConfidenceScore(F)Landroid/view/textclassifier/ConversationAction$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/ConversationAction$Builder;" />
+		<method name="setTextReply(Ljava/lang/CharSequence;)Landroid/view/textclassifier/ConversationAction$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/ConversationActions" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/util/List;Ljava/lang/String;)V" />
+		<method name="getConversationActions()Ljava/util/List;" />
+		<method name="getId()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/ConversationActions$Message" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAuthor()Landroid/app/Person;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getReferenceTime()Ljava/time/ZonedDateTime;" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+		<field name="PERSON_USER_OTHERS" />
+		<field name="PERSON_USER_SELF" />
+	</class>
+	<class name="android/view/textclassifier/ConversationActions$Message$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/app/Person;)V" />
+		<method name="build()Landroid/view/textclassifier/ConversationActions$Message;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/ConversationActions$Message$Builder;" />
+		<method name="setReferenceTime(Ljava/time/ZonedDateTime;)Landroid/view/textclassifier/ConversationActions$Message$Builder;" />
+		<method name="setText(Ljava/lang/CharSequence;)Landroid/view/textclassifier/ConversationActions$Message$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/ConversationActions$Request" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCallingPackageName()Ljava/lang/String;" />
+		<method name="getConversation()Ljava/util/List;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getHints()Ljava/util/List;" />
+		<method name="getMaxSuggestions()I" />
+		<method name="getTypeConfig()Landroid/view/textclassifier/TextClassifier$EntityConfig;" />
+		<field name="CREATOR" />
+		<field name="HINT_FOR_IN_APP" />
+		<field name="HINT_FOR_NOTIFICATION" />
+	</class>
+	<class name="android/view/textclassifier/ConversationActions$Request$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/util/List;)V" />
+		<method name="build()Landroid/view/textclassifier/ConversationActions$Request;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/ConversationActions$Request$Builder;" />
+		<method name="setHints(Ljava/util/List;)Landroid/view/textclassifier/ConversationActions$Request$Builder;" />
+		<method name="setMaxSuggestions(I)Landroid/view/textclassifier/ConversationActions$Request$Builder;" />
+		<method name="setTypeConfig(Landroid/view/textclassifier/TextClassifier$EntityConfig;)Landroid/view/textclassifier/ConversationActions$Request$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/SelectionEvent" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="createSelectionActionEvent(III)Landroid/view/textclassifier/SelectionEvent;" />
+		<method name="createSelectionActionEvent(IIILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/SelectionEvent;" />
+		<method name="createSelectionModifiedEvent(II)Landroid/view/textclassifier/SelectionEvent;" />
+		<method name="createSelectionModifiedEvent(IILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/SelectionEvent;" />
+		<method name="createSelectionModifiedEvent(IILandroid/view/textclassifier/TextSelection;)Landroid/view/textclassifier/SelectionEvent;" />
+		<method name="createSelectionStartedEvent(II)Landroid/view/textclassifier/SelectionEvent;" />
+		<method name="getDurationSincePreviousEvent()J" />
+		<method name="getDurationSinceSessionStart()J" />
+		<method name="getEnd()I" />
+		<method name="getEntityType()Ljava/lang/String;" />
+		<method name="getEventIndex()I" />
+		<method name="getEventTime()J" />
+		<method name="getEventType()I" />
+		<method name="getInvocationMethod()I" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getResultId()Ljava/lang/String;" />
+		<method name="getSessionId()Landroid/view/textclassifier/TextClassificationSessionId;" />
+		<method name="getSmartEnd()I" />
+		<method name="getSmartStart()I" />
+		<method name="getStart()I" />
+		<method name="getWidgetType()Ljava/lang/String;" />
+		<method name="getWidgetVersion()Ljava/lang/String;" />
+		<method name="isTerminal(I)Z" />
+		<field name="ACTION_ABANDON" />
+		<field name="ACTION_COPY" />
+		<field name="ACTION_CUT" />
+		<field name="ACTION_DRAG" />
+		<field name="ACTION_OTHER" />
+		<field name="ACTION_OVERTYPE" />
+		<field name="ACTION_PASTE" />
+		<field name="ACTION_RESET" />
+		<field name="ACTION_SELECT_ALL" />
+		<field name="ACTION_SHARE" />
+		<field name="ACTION_SMART_SHARE" />
+		<field name="CREATOR" />
+		<field name="EVENT_AUTO_SELECTION" />
+		<field name="EVENT_SELECTION_MODIFIED" />
+		<field name="EVENT_SELECTION_STARTED" />
+		<field name="EVENT_SMART_SELECTION_MULTI" />
+		<field name="EVENT_SMART_SELECTION_SINGLE" />
+		<field name="INVOCATION_LINK" />
+		<field name="INVOCATION_MANUAL" />
+		<field name="INVOCATION_UNKNOWN" />
+	</class>
+	<class name="android/view/textclassifier/TextClassification" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="28" />
+		<method name="getActions()Ljava/util/List;" since="28" />
+		<method name="getConfidenceScore(Ljava/lang/String;)F" />
+		<method name="getEntity(I)Ljava/lang/String;" />
+		<method name="getEntityCount()I" />
+		<method name="getExtras()Landroid/os/Bundle;" since="29" />
+		<method name="getIcon()Landroid/graphics/drawable/Drawable;" deprecated="28" />
+		<method name="getId()Ljava/lang/String;" since="28" />
+		<method name="getIntent()Landroid/content/Intent;" deprecated="28" />
+		<method name="getLabel()Ljava/lang/CharSequence;" deprecated="28" />
+		<method name="getOnClickListener()Landroid/view/View$OnClickListener;" deprecated="28" />
+		<method name="getText()Ljava/lang/String;" />
+		<field name="CREATOR" since="28" />
+	</class>
+	<class name="android/view/textclassifier/TextClassification$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addAction(Landroid/app/RemoteAction;)Landroid/view/textclassifier/TextClassification$Builder;" since="28" />
+		<method name="build()Landroid/view/textclassifier/TextClassification;" />
+		<method name="setEntityType(Ljava/lang/String;F)Landroid/view/textclassifier/TextClassification$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextClassification$Builder;" since="29" />
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/textclassifier/TextClassification$Builder;" deprecated="28" />
+		<method name="setId(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder;" since="28" />
+		<method name="setIntent(Landroid/content/Intent;)Landroid/view/textclassifier/TextClassification$Builder;" deprecated="28" />
+		<method name="setLabel(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder;" deprecated="28" />
+		<method name="setOnClickListener(Landroid/view/View$OnClickListener;)Landroid/view/textclassifier/TextClassification$Builder;" deprecated="28" />
+		<method name="setText(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/TextClassification$Request" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCallingPackageName()Ljava/lang/String;" since="29" />
+		<method name="getDefaultLocales()Landroid/os/LocaleList;" />
+		<method name="getEndIndex()I" />
+		<method name="getExtras()Landroid/os/Bundle;" since="29" />
+		<method name="getReferenceTime()Ljava/time/ZonedDateTime;" />
+		<method name="getStartIndex()I" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextClassification$Request$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;II)V" />
+		<method name="build()Landroid/view/textclassifier/TextClassification$Request;" />
+		<method name="setDefaultLocales(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextClassification$Request$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextClassification$Request$Builder;" since="29" />
+		<method name="setReferenceTime(Ljava/time/ZonedDateTime;)Landroid/view/textclassifier/TextClassification$Request$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/TextClassificationContext" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getWidgetType()Ljava/lang/String;" />
+		<method name="getWidgetVersion()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextClassificationContext$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="build()Landroid/view/textclassifier/TextClassificationContext;" />
+		<method name="setWidgetVersion(Ljava/lang/String;)Landroid/view/textclassifier/TextClassificationContext$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/TextClassificationManager" since="26">
+		<extends name="java/lang/Object" />
+		<method name="createTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifier;" since="28" />
+		<method name="getTextClassifier()Landroid/view/textclassifier/TextClassifier;" />
+		<method name="setTextClassificationSessionFactory(Landroid/view/textclassifier/TextClassificationSessionFactory;)V" since="28" />
+		<method name="setTextClassifier(Landroid/view/textclassifier/TextClassifier;)V" />
+	</class>
+	<class name="android/view/textclassifier/TextClassificationSessionFactory" since="28">
+		<extends name="java/lang/Object" />
+		<method name="createTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifier;" />
+	</class>
+	<class name="android/view/textclassifier/TextClassificationSessionId" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getValue()Ljava/lang/String;" since="30" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifier" since="26">
+		<extends name="java/lang/Object" />
+		<method name="classifyText(Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification;" since="28" />
+		<method name="classifyText(Ljava/lang/CharSequence;IILandroid/os/LocaleList;)Landroid/view/textclassifier/TextClassification;" />
+		<method name="destroy()V" since="28" />
+		<method name="detectLanguage(Landroid/view/textclassifier/TextLanguage$Request;)Landroid/view/textclassifier/TextLanguage;" since="29" />
+		<method name="generateLinks(Landroid/view/textclassifier/TextLinks$Request;)Landroid/view/textclassifier/TextLinks;" since="28" />
+		<method name="getMaxGenerateLinksTextLength()I" since="28" />
+		<method name="isDestroyed()Z" since="28" />
+		<method name="onSelectionEvent(Landroid/view/textclassifier/SelectionEvent;)V" since="28" />
+		<method name="onTextClassifierEvent(Landroid/view/textclassifier/TextClassifierEvent;)V" since="29" />
+		<method name="suggestConversationActions(Landroid/view/textclassifier/ConversationActions$Request;)Landroid/view/textclassifier/ConversationActions;" since="29" />
+		<method name="suggestSelection(Landroid/view/textclassifier/TextSelection$Request;)Landroid/view/textclassifier/TextSelection;" since="28" />
+		<method name="suggestSelection(Ljava/lang/CharSequence;IILandroid/os/LocaleList;)Landroid/view/textclassifier/TextSelection;" />
+		<field name="EXTRA_FROM_TEXT_CLASSIFIER" since="29" />
+		<field name="HINT_TEXT_IS_EDITABLE" since="28" />
+		<field name="HINT_TEXT_IS_NOT_EDITABLE" since="28" />
+		<field name="NO_OP" />
+		<field name="TYPE_ADDRESS" />
+		<field name="TYPE_DATE" since="28" />
+		<field name="TYPE_DATE_TIME" since="28" />
+		<field name="TYPE_EMAIL" />
+		<field name="TYPE_FLIGHT_NUMBER" since="28" />
+		<field name="TYPE_OTHER" />
+		<field name="TYPE_PHONE" />
+		<field name="TYPE_UNKNOWN" since="28" />
+		<field name="TYPE_URL" />
+		<field name="WIDGET_TYPE_CLIPBOARD" since="31" />
+		<field name="WIDGET_TYPE_CUSTOM_EDITTEXT" since="28" />
+		<field name="WIDGET_TYPE_CUSTOM_TEXTVIEW" since="28" />
+		<field name="WIDGET_TYPE_CUSTOM_UNSELECTABLE_TEXTVIEW" since="28" />
+		<field name="WIDGET_TYPE_EDITTEXT" since="28" />
+		<field name="WIDGET_TYPE_EDIT_WEBVIEW" since="28" />
+		<field name="WIDGET_TYPE_NOTIFICATION" since="29" />
+		<field name="WIDGET_TYPE_TEXTVIEW" since="28" />
+		<field name="WIDGET_TYPE_UNKNOWN" since="28" />
+		<field name="WIDGET_TYPE_UNSELECTABLE_TEXTVIEW" since="28" />
+		<field name="WIDGET_TYPE_WEBVIEW" since="28" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifier$EntityConfig" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="create(Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig;" deprecated="29" />
+		<method name="createWithExplicitEntityList(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig;" deprecated="29" />
+		<method name="createWithHints(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig;" deprecated="29" />
+		<method name="getHints()Ljava/util/Collection;" />
+		<method name="resolveEntityListModifications(Ljava/util/Collection;)Ljava/util/Collection;" />
+		<method name="shouldIncludeTypesFromTextClassifier()Z" since="29" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifier$EntityConfig$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/view/textclassifier/TextClassifier$EntityConfig;" />
+		<method name="includeTypesFromTextClassifier(Z)Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;" />
+		<method name="setExcludedTypes(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;" />
+		<method name="setHints(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;" />
+		<method name="setIncludedTypes(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getActionIndices()[I" />
+		<method name="getEntityTypes()[Ljava/lang/String;" />
+		<method name="getEventCategory()I" />
+		<method name="getEventContext()Landroid/view/textclassifier/TextClassificationContext;" />
+		<method name="getEventIndex()I" />
+		<method name="getEventType()I" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getLocale()Ljava/lang/Object;" />
+		<method name="getModelName()Ljava/lang/String;" />
+		<method name="getResultId()Ljava/lang/String;" />
+		<method name="getScores()[F" />
+		<field name="CATEGORY_CONVERSATION_ACTIONS" />
+		<field name="CATEGORY_LANGUAGE_DETECTION" />
+		<field name="CATEGORY_LINKIFY" />
+		<field name="CATEGORY_SELECTION" />
+		<field name="CREATOR" />
+		<field name="TYPE_ACTIONS_GENERATED" />
+		<field name="TYPE_ACTIONS_SHOWN" />
+		<field name="TYPE_AUTO_SELECTION" />
+		<field name="TYPE_COPY_ACTION" />
+		<field name="TYPE_CUT_ACTION" />
+		<field name="TYPE_LINKS_GENERATED" since="30" />
+		<field name="TYPE_LINK_CLICKED" />
+		<field name="TYPE_MANUAL_REPLY" />
+		<field name="TYPE_OTHER_ACTION" />
+		<field name="TYPE_OVERTYPE" />
+		<field name="TYPE_PASTE_ACTION" />
+		<field name="TYPE_SELECTION_DESTROYED" />
+		<field name="TYPE_SELECTION_DRAG" />
+		<field name="TYPE_SELECTION_MODIFIED" />
+		<field name="TYPE_SELECTION_RESET" />
+		<field name="TYPE_SELECTION_STARTED" />
+		<field name="TYPE_SELECT_ALL" />
+		<field name="TYPE_SHARE_ACTION" />
+		<field name="TYPE_SMART_ACTION" />
+		<field name="TYPE_SMART_SELECTION_MULTI" />
+		<field name="TYPE_SMART_SELECTION_SINGLE" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="setActionIndices([I)Landroid/view/textclassifier/TextClassifierEvent$Builder;" />
+		<method name="setEntityTypes([Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierEvent$Builder;" />
+		<method name="setEventContext(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifierEvent$Builder;" />
+		<method name="setEventIndex(I)Landroid/view/textclassifier/TextClassifierEvent$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextClassifierEvent$Builder;" />
+		<method name="setLocale(Ljava/lang/Object;)Landroid/view/textclassifier/TextClassifierEvent$Builder;" />
+		<method name="setModelName(Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierEvent$Builder;" />
+		<method name="setResultId(Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierEvent$Builder;" />
+		<method name="setScores([F)Landroid/view/textclassifier/TextClassifierEvent$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$ConversationActionsEvent" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$ConversationActionsEvent$Builder" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent$Builder" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="build()Landroid/view/textclassifier/TextClassifierEvent$ConversationActionsEvent;" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$LanguageDetectionEvent" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$LanguageDetectionEvent$Builder" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent$Builder" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="build()Landroid/view/textclassifier/TextClassifierEvent$LanguageDetectionEvent;" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$TextLinkifyEvent" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$TextLinkifyEvent$Builder" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent$Builder" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="build()Landroid/view/textclassifier/TextClassifierEvent$TextLinkifyEvent;" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$TextSelectionEvent" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent" />
+		<method name="getRelativeSuggestedWordEndIndex()I" />
+		<method name="getRelativeSuggestedWordStartIndex()I" />
+		<method name="getRelativeWordEndIndex()I" />
+		<method name="getRelativeWordStartIndex()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$TextSelectionEvent$Builder" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent$Builder" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="build()Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent;" />
+		<method name="setRelativeSuggestedWordEndIndex(I)Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent$Builder;" />
+		<method name="setRelativeSuggestedWordStartIndex(I)Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent$Builder;" />
+		<method name="setRelativeWordEndIndex(I)Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent$Builder;" />
+		<method name="setRelativeWordStartIndex(I)Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/TextLanguage" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getConfidenceScore(Ljava/lang/Object;)F" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getLocale(I)Ljava/lang/Object;" />
+		<method name="getLocaleHypothesisCount()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextLanguage$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/view/textclassifier/TextLanguage;" />
+		<method name="putLocale(Ljava/lang/Object;F)Landroid/view/textclassifier/TextLanguage$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextLanguage$Builder;" />
+		<method name="setId(Ljava/lang/String;)Landroid/view/textclassifier/TextLanguage$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/TextLanguage$Request" since="29">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCallingPackageName()Ljava/lang/String;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextLanguage$Request$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="build()Landroid/view/textclassifier/TextLanguage$Request;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextLanguage$Request$Builder;" />
+	</class>
+	<class name="android/view/textclassifier/TextLinks" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="apply(Landroid/text/Spannable;ILjava/util/function/Function;)I" />
+		<method name="getExtras()Landroid/os/Bundle;" since="29" />
+		<method name="getLinks()Ljava/util/Collection;" />
+		<method name="getText()Ljava/lang/CharSequence;" since="30" />
+		<field name="APPLY_STRATEGY_IGNORE" />
+		<field name="APPLY_STRATEGY_REPLACE" />
+		<field name="CREATOR" />
+		<field name="STATUS_DIFFERENT_TEXT" />
+		<field name="STATUS_LINKS_APPLIED" />
+		<field name="STATUS_NO_LINKS_APPLIED" />
+		<field name="STATUS_NO_LINKS_FOUND" />
+		<field name="STATUS_UNSUPPORTED_CHARACTER" since="29" />
+	</class>
+	<class name="android/view/textclassifier/TextLinks$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="addLink(IILjava/util/Map;)Landroid/view/textclassifier/TextLinks$Builder;" />
+		<method name="addLink(IILjava/util/Map;Landroid/os/Bundle;)Landroid/view/textclassifier/TextLinks$Builder;" since="29" />
+		<method name="build()Landroid/view/textclassifier/TextLinks;" />
+		<method name="clearTextLinks()Landroid/view/textclassifier/TextLinks$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextLinks$Builder;" since="29" />
+	</class>
+	<class name="android/view/textclassifier/TextLinks$Request" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCallingPackageName()Ljava/lang/String;" since="29" />
+		<method name="getDefaultLocales()Landroid/os/LocaleList;" />
+		<method name="getEntityConfig()Landroid/view/textclassifier/TextClassifier$EntityConfig;" />
+		<method name="getExtras()Landroid/os/Bundle;" since="29" />
+		<method name="getReferenceTime()Ljava/time/ZonedDateTime;" since="30" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextLinks$Request$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="build()Landroid/view/textclassifier/TextLinks$Request;" />
+		<method name="setDefaultLocales(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextLinks$Request$Builder;" />
+		<method name="setEntityConfig(Landroid/view/textclassifier/TextClassifier$EntityConfig;)Landroid/view/textclassifier/TextLinks$Request$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextLinks$Request$Builder;" since="29" />
+		<method name="setReferenceTime(Ljava/time/ZonedDateTime;)Landroid/view/textclassifier/TextLinks$Request$Builder;" since="30" />
+	</class>
+	<class name="android/view/textclassifier/TextLinks$TextLink" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getConfidenceScore(Ljava/lang/String;)F" />
+		<method name="getEnd()I" />
+		<method name="getEntity(I)Ljava/lang/String;" />
+		<method name="getEntityCount()I" />
+		<method name="getExtras()Landroid/os/Bundle;" since="29" />
+		<method name="getStart()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextLinks$TextLinkSpan" since="28">
+		<extends name="android/text/style/ClickableSpan" />
+		<method name="&lt;init&gt;(Landroid/view/textclassifier/TextLinks$TextLink;)V" />
+		<method name="getTextLink()Landroid/view/textclassifier/TextLinks$TextLink;" />
+	</class>
+	<class name="android/view/textclassifier/TextSelection" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" since="28" />
+		<method name="getConfidenceScore(Ljava/lang/String;)F" />
+		<method name="getEntity(I)Ljava/lang/String;" />
+		<method name="getEntityCount()I" />
+		<method name="getExtras()Landroid/os/Bundle;" since="29" />
+		<method name="getId()Ljava/lang/String;" since="28" />
+		<method name="getSelectionEndIndex()I" />
+		<method name="getSelectionStartIndex()I" />
+		<method name="getTextClassification()Landroid/view/textclassifier/TextClassification;" since="31" />
+		<field name="CREATOR" since="28" />
+	</class>
+	<class name="android/view/textclassifier/TextSelection$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="build()Landroid/view/textclassifier/TextSelection;" />
+		<method name="setEntityType(Ljava/lang/String;F)Landroid/view/textclassifier/TextSelection$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextSelection$Builder;" since="29" />
+		<method name="setId(Ljava/lang/String;)Landroid/view/textclassifier/TextSelection$Builder;" since="28" />
+		<method name="setTextClassification(Landroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/TextSelection$Builder;" since="31" />
+	</class>
+	<class name="android/view/textclassifier/TextSelection$Request" since="28">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getCallingPackageName()Ljava/lang/String;" since="29" />
+		<method name="getDefaultLocales()Landroid/os/LocaleList;" />
+		<method name="getEndIndex()I" />
+		<method name="getExtras()Landroid/os/Bundle;" since="29" />
+		<method name="getStartIndex()I" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<method name="shouldIncludeTextClassification()Z" since="31" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textclassifier/TextSelection$Request$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;II)V" />
+		<method name="build()Landroid/view/textclassifier/TextSelection$Request;" />
+		<method name="setDefaultLocales(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextSelection$Request$Builder;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextSelection$Request$Builder;" since="29" />
+		<method name="setIncludeTextClassification(Z)Landroid/view/textclassifier/TextSelection$Request$Builder;" since="31" />
+	</class>
+	<class name="android/view/textservice/SentenceSuggestionsInfo" since="16">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;([Landroid/view/textservice/SuggestionsInfo;[I[I)V" />
+		<method name="getLengthAt(I)I" />
+		<method name="getOffsetAt(I)I" />
+		<method name="getSuggestionsCount()I" />
+		<method name="getSuggestionsInfoAt(I)Landroid/view/textservice/SuggestionsInfo;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textservice/SpellCheckerInfo" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getComponent()Landroid/content/ComponentName;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getPackageName()Ljava/lang/String;" />
+		<method name="getServiceInfo()Landroid/content/pm/ServiceInfo;" />
+		<method name="getSettingsActivity()Ljava/lang/String;" />
+		<method name="getSubtypeAt(I)Landroid/view/textservice/SpellCheckerSubtype;" />
+		<method name="getSubtypeCount()I" />
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" />
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textservice/SpellCheckerSession" since="14">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" since="15" />
+		<method name="close()V" />
+		<method name="getSentenceSuggestions([Landroid/view/textservice/TextInfo;I)V" since="16" />
+		<method name="getSpellChecker()Landroid/view/textservice/SpellCheckerInfo;" />
+		<method name="getSuggestions(Landroid/view/textservice/TextInfo;I)V" deprecated="16" />
+		<method name="getSuggestions([Landroid/view/textservice/TextInfo;IZ)V" deprecated="16" />
+		<method name="isSessionDisconnected()Z" />
+		<field name="SERVICE_META_DATA" />
+	</class>
+	<class name="android/view/textservice/SpellCheckerSession$SpellCheckerSessionListener" since="14">
+		<extends name="java/lang/Object" />
+		<method name="onGetSentenceSuggestions([Landroid/view/textservice/SentenceSuggestionsInfo;)V" since="16" />
+		<method name="onGetSuggestions([Landroid/view/textservice/SuggestionsInfo;)V" />
+	</class>
+	<class name="android/view/textservice/SpellCheckerSession$SpellCheckerSessionParams" since="31">
+		<extends name="java/lang/Object" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getLocale()Ljava/util/Locale;" />
+		<method name="getSupportedAttributes()I" />
+		<method name="shouldReferToSpellCheckerLanguageSettings()Z" />
+	</class>
+	<class name="android/view/textservice/SpellCheckerSession$SpellCheckerSessionParams$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams$Builder;" />
+		<method name="setLocale(Ljava/util/Locale;)Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams$Builder;" />
+		<method name="setShouldReferToSpellCheckerLanguageSettings(Z)Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams$Builder;" />
+		<method name="setSupportedAttributes(I)Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams$Builder;" />
+	</class>
+	<class name="android/view/textservice/SpellCheckerSubtype" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(ILjava/lang/String;Ljava/lang/String;)V" deprecated="24" />
+		<method name="containsExtraValueKey(Ljava/lang/String;)Z" since="16" />
+		<method name="getDisplayName(Landroid/content/Context;Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;" />
+		<method name="getExtraValue()Ljava/lang/String;" />
+		<method name="getExtraValueOf(Ljava/lang/String;)Ljava/lang/String;" since="16" />
+		<method name="getLanguageTag()Ljava/lang/String;" since="24" />
+		<method name="getLocale()Ljava/lang/String;" deprecated="24" />
+		<method name="getNameResId()I" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textservice/SuggestionsInfo" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(I[Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(I[Ljava/lang/String;II)V" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="getCookie()I" />
+		<method name="getSequence()I" />
+		<method name="getSuggestionAt(I)Ljava/lang/String;" />
+		<method name="getSuggestionsAttributes()I" />
+		<method name="getSuggestionsCount()I" />
+		<method name="setCookieAndSequence(II)V" />
+		<field name="CREATOR" />
+		<field name="RESULT_ATTR_DONT_SHOW_UI_FOR_SUGGESTIONS" since="31" />
+		<field name="RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS" since="15" />
+		<field name="RESULT_ATTR_IN_THE_DICTIONARY" />
+		<field name="RESULT_ATTR_LOOKS_LIKE_GRAMMAR_ERROR" since="31" />
+		<field name="RESULT_ATTR_LOOKS_LIKE_TYPO" />
+	</class>
+	<class name="android/view/textservice/TextInfo" since="14">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;IIII)V" since="21" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;II)V" />
+		<method name="getCharSequence()Ljava/lang/CharSequence;" since="21" />
+		<method name="getCookie()I" />
+		<method name="getSequence()I" />
+		<method name="getText()Ljava/lang/String;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/textservice/TextServicesManager" since="14">
+		<extends name="java/lang/Object" />
+		<method name="getCurrentSpellCheckerInfo()Landroid/view/textservice/SpellCheckerInfo;" since="31" />
+		<method name="getEnabledSpellCheckerInfos()Ljava/util/List;" since="31" />
+		<method name="isSpellCheckerEnabled()Z" since="31" />
+		<method name="newSpellCheckerSession(Landroid/os/Bundle;Ljava/util/Locale;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;Z)Landroid/view/textservice/SpellCheckerSession;" />
+		<method name="newSpellCheckerSession(Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams;Ljava/util/concurrent/Executor;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;)Landroid/view/textservice/SpellCheckerSession;" since="31" />
+	</class>
+	<class name="android/view/translation/TranslationCapability" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getSourceSpec()Landroid/view/translation/TranslationSpec;" />
+		<method name="getState()I" />
+		<method name="getSupportedTranslationFlags()I" />
+		<method name="getTargetSpec()Landroid/view/translation/TranslationSpec;" />
+		<method name="isUiTranslationEnabled()Z" />
+		<field name="CREATOR" />
+		<field name="STATE_AVAILABLE_TO_DOWNLOAD" />
+		<field name="STATE_DOWNLOADING" />
+		<field name="STATE_NOT_AVAILABLE" />
+		<field name="STATE_ON_DEVICE" />
+	</class>
+	<class name="android/view/translation/TranslationContext" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getSourceSpec()Landroid/view/translation/TranslationSpec;" />
+		<method name="getTargetSpec()Landroid/view/translation/TranslationSpec;" />
+		<method name="getTranslationFlags()I" />
+		<field name="CREATOR" />
+		<field name="FLAG_DEFINITIONS" />
+		<field name="FLAG_LOW_LATENCY" />
+		<field name="FLAG_TRANSLITERATION" />
+	</class>
+	<class name="android/view/translation/TranslationContext$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/translation/TranslationSpec;Landroid/view/translation/TranslationSpec;)V" />
+		<method name="build()Landroid/view/translation/TranslationContext;" />
+		<method name="setTranslationFlags(I)Landroid/view/translation/TranslationContext$Builder;" />
+	</class>
+	<class name="android/view/translation/TranslationManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="addOnDeviceTranslationCapabilityUpdateListener(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" />
+		<method name="createOnDeviceTranslator(Landroid/view/translation/TranslationContext;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" />
+		<method name="getOnDeviceTranslationCapabilities(II)Ljava/util/Set;" />
+		<method name="getOnDeviceTranslationSettingsActivityIntent()Landroid/app/PendingIntent;" />
+		<method name="removeOnDeviceTranslationCapabilityUpdateListener(Ljava/util/function/Consumer;)V" />
+	</class>
+	<class name="android/view/translation/TranslationRequest" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getFlags()I" />
+		<method name="getTranslationRequestValues()Ljava/util/List;" />
+		<method name="getViewTranslationRequests()Ljava/util/List;" />
+		<field name="CREATOR" />
+		<field name="FLAG_DICTIONARY_RESULT" />
+		<field name="FLAG_PARTIAL_RESPONSES" />
+		<field name="FLAG_TRANSLATION_RESULT" />
+		<field name="FLAG_TRANSLITERATION_RESULT" />
+	</class>
+	<class name="android/view/translation/TranslationRequest$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Landroid/view/translation/TranslationRequest;" />
+		<method name="setFlags(I)Landroid/view/translation/TranslationRequest$Builder;" />
+		<method name="setTranslationRequestValues(Ljava/util/List;)Landroid/view/translation/TranslationRequest$Builder;" />
+		<method name="setViewTranslationRequests(Ljava/util/List;)Landroid/view/translation/TranslationRequest$Builder;" />
+	</class>
+	<class name="android/view/translation/TranslationRequestValue" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="forText(Ljava/lang/CharSequence;)Landroid/view/translation/TranslationRequestValue;" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/translation/TranslationResponse" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getTranslationResponseValues()Landroid/util/SparseArray;" />
+		<method name="getTranslationStatus()I" />
+		<method name="getViewTranslationResponses()Landroid/util/SparseArray;" />
+		<method name="isFinalResponse()Z" />
+		<field name="CREATOR" />
+		<field name="TRANSLATION_STATUS_CONTEXT_UNSUPPORTED" />
+		<field name="TRANSLATION_STATUS_SUCCESS" />
+		<field name="TRANSLATION_STATUS_UNKNOWN_ERROR" />
+	</class>
+	<class name="android/view/translation/TranslationResponse$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="build()Landroid/view/translation/TranslationResponse;" />
+		<method name="setFinalResponse(Z)Landroid/view/translation/TranslationResponse$Builder;" />
+		<method name="setTranslationResponseValue(ILandroid/view/translation/TranslationResponseValue;)Landroid/view/translation/TranslationResponse$Builder;" />
+		<method name="setTranslationResponseValues(Landroid/util/SparseArray;)Landroid/view/translation/TranslationResponse$Builder;" />
+		<method name="setViewTranslationResponse(ILandroid/view/translation/ViewTranslationResponse;)Landroid/view/translation/TranslationResponse$Builder;" />
+		<method name="setViewTranslationResponses(Landroid/util/SparseArray;)Landroid/view/translation/TranslationResponse$Builder;" />
+	</class>
+	<class name="android/view/translation/TranslationResponseValue" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="forError()Landroid/view/translation/TranslationResponseValue;" />
+		<method name="getExtras()Landroid/os/Bundle;" />
+		<method name="getStatusCode()I" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<method name="getTransliteration()Ljava/lang/CharSequence;" />
+		<field name="CREATOR" />
+		<field name="EXTRA_DEFINITIONS" />
+		<field name="STATUS_ERROR" />
+		<field name="STATUS_SUCCESS" />
+	</class>
+	<class name="android/view/translation/TranslationResponseValue$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="build()Landroid/view/translation/TranslationResponseValue;" />
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/translation/TranslationResponseValue$Builder;" />
+		<method name="setText(Ljava/lang/CharSequence;)Landroid/view/translation/TranslationResponseValue$Builder;" />
+		<method name="setTransliteration(Ljava/lang/CharSequence;)Landroid/view/translation/TranslationResponseValue$Builder;" />
+	</class>
+	<class name="android/view/translation/TranslationSpec" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;I)V" />
+		<method name="getDataFormat()I" />
+		<method name="getLocale()Ljava/lang/Object;" />
+		<field name="CREATOR" />
+		<field name="DATA_FORMAT_TEXT" />
+	</class>
+	<class name="android/view/translation/Translator" since="31">
+		<extends name="java/lang/Object" />
+		<method name="destroy()V" />
+		<method name="isDestroyed()Z" />
+		<method name="translate(Landroid/view/translation/TranslationRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" />
+	</class>
+	<class name="android/view/translation/UiTranslationManager" since="31">
+		<extends name="java/lang/Object" />
+		<method name="registerUiTranslationStateCallback(Ljava/util/concurrent/Executor;Landroid/view/translation/UiTranslationStateCallback;)V" />
+		<method name="unregisterUiTranslationStateCallback(Landroid/view/translation/UiTranslationStateCallback;)V" />
+	</class>
+	<class name="android/view/translation/UiTranslationStateCallback" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onFinished()V" />
+		<method name="onPaused()V" />
+		<method name="onResumed(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="onStarted(Ljava/lang/Object;Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/view/translation/ViewTranslationCallback" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onClearTranslation(Landroid/view/View;)Z" />
+		<method name="onHideTranslation(Landroid/view/View;)Z" />
+		<method name="onShowTranslation(Landroid/view/View;)Z" />
+	</class>
+	<class name="android/view/translation/ViewTranslationRequest" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAutofillId()Landroid/view/autofill/AutofillId;" />
+		<method name="getKeys()Ljava/util/Set;" />
+		<method name="getValue(Ljava/lang/String;)Landroid/view/translation/TranslationRequestValue;" />
+		<field name="CREATOR" />
+		<field name="ID_TEXT" />
+	</class>
+	<class name="android/view/translation/ViewTranslationRequest$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/autofill/AutofillId;)V" />
+		<method name="&lt;init&gt;(Landroid/view/autofill/AutofillId;J)V" />
+		<method name="build()Landroid/view/translation/ViewTranslationRequest;" />
+		<method name="setValue(Ljava/lang/String;Landroid/view/translation/TranslationRequestValue;)Landroid/view/translation/ViewTranslationRequest$Builder;" />
+	</class>
+	<class name="android/view/translation/ViewTranslationResponse" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getAutofillId()Landroid/view/autofill/AutofillId;" />
+		<method name="getKeys()Ljava/util/Set;" />
+		<method name="getValue(Ljava/lang/String;)Landroid/view/translation/TranslationResponseValue;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/view/translation/ViewTranslationResponse$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/autofill/AutofillId;)V" />
+		<method name="build()Landroid/view/translation/ViewTranslationResponse;" />
+		<method name="setValue(Ljava/lang/String;Landroid/view/translation/TranslationResponseValue;)Landroid/view/translation/ViewTranslationResponse$Builder;" />
+	</class>
+	<class name="android/webkit/CacheManager" since="1" deprecated="11" removed="17">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="cacheDisabled()Z" deprecated="15" />
+		<method name="endCacheTransaction()Z" deprecated="15" />
+		<method name="getCacheFile(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult;" deprecated="15" />
+		<method name="getCacheFileBaseDir()Ljava/io/File;" deprecated="15" />
+		<method name="saveCacheFile(Ljava/lang/String;Landroid/webkit/CacheManager$CacheResult;)V" deprecated="15" />
+		<method name="startCacheTransaction()Z" deprecated="15" />
+	</class>
+	<class name="android/webkit/CacheManager$CacheResult" since="1" deprecated="11" removed="17">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getContentDisposition()Ljava/lang/String;" since="7" />
+		<method name="getContentLength()J" />
+		<method name="getETag()Ljava/lang/String;" />
+		<method name="getEncoding()Ljava/lang/String;" />
+		<method name="getExpires()J" />
+		<method name="getExpiresString()Ljava/lang/String;" since="7" />
+		<method name="getHttpStatusCode()I" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getLastModified()Ljava/lang/String;" />
+		<method name="getLocalPath()Ljava/lang/String;" />
+		<method name="getLocation()Ljava/lang/String;" />
+		<method name="getMimeType()Ljava/lang/String;" />
+		<method name="getOutputStream()Ljava/io/OutputStream;" />
+		<method name="setEncoding(Ljava/lang/String;)V" />
+		<method name="setInputStream(Ljava/io/InputStream;)V" />
+	</class>
+	<class name="android/webkit/ClientCertRequest" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="cancel()V" />
+		<method name="getHost()Ljava/lang/String;" />
+		<method name="getKeyTypes()[Ljava/lang/String;" />
+		<method name="getPort()I" />
+		<method name="getPrincipals()[Ljava/security/Principal;" />
+		<method name="ignore()V" />
+		<method name="proceed(Ljava/security/PrivateKey;[Ljava/security/cert/X509Certificate;)V" />
+	</class>
+	<class name="android/webkit/ConsoleMessage" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILandroid/webkit/ConsoleMessage$MessageLevel;)V" />
+		<method name="lineNumber()I" />
+		<method name="message()Ljava/lang/String;" />
+		<method name="messageLevel()Landroid/webkit/ConsoleMessage$MessageLevel;" />
+		<method name="sourceId()Ljava/lang/String;" />
+	</class>
+	<class name="android/webkit/ConsoleMessage$MessageLevel" since="8">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/ConsoleMessage$MessageLevel;" />
+		<method name="values()[Landroid/webkit/ConsoleMessage$MessageLevel;" />
+		<field name="DEBUG" />
+		<field name="ERROR" />
+		<field name="LOG" />
+		<field name="TIP" />
+		<field name="WARNING" />
+	</class>
+	<class name="android/webkit/CookieManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" since="22" deprecated="29" />
+		<method name="acceptCookie()Z" />
+		<method name="acceptThirdPartyCookies(Landroid/webkit/WebView;)Z" since="21" />
+		<method name="allowFileSchemeCookies()Z" since="12" />
+		<method name="flush()V" since="21" />
+		<method name="getCookie(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getInstance()Landroid/webkit/CookieManager;" />
+		<method name="hasCookies()Z" />
+		<method name="removeAllCookie()V" deprecated="21" />
+		<method name="removeAllCookies(Landroid/webkit/ValueCallback;)V" since="21" />
+		<method name="removeExpiredCookie()V" deprecated="21" />
+		<method name="removeSessionCookie()V" deprecated="21" />
+		<method name="removeSessionCookies(Landroid/webkit/ValueCallback;)V" since="21" />
+		<method name="setAcceptCookie(Z)V" />
+		<method name="setAcceptFileSchemeCookies(Z)V" since="12" deprecated="30" />
+		<method name="setAcceptThirdPartyCookies(Landroid/webkit/WebView;Z)V" since="21" />
+		<method name="setCookie(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setCookie(Ljava/lang/String;Ljava/lang/String;Landroid/webkit/ValueCallback;)V" since="21" />
+	</class>
+	<class name="android/webkit/CookieSyncManager" since="1" deprecated="21">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Runnable" />
+		<method name="createInstance(Landroid/content/Context;)Landroid/webkit/CookieSyncManager;" deprecated="29" />
+		<method name="getInstance()Landroid/webkit/CookieSyncManager;" deprecated="29" />
+		<method name="onSyncInit()V" since="28" removed="29" />
+		<method name="resetSync()V" since="9" deprecated="21" />
+		<method name="startSync()V" since="9" deprecated="21" />
+		<method name="stopSync()V" since="9" deprecated="21" />
+		<method name="sync()V" since="9" deprecated="21" />
+		<method name="syncFromRamToFlash()V" deprecated="21" />
+		<field name="LOGTAG" since="21" removed="28" />
+		<field name="mDataBase" since="21" removed="28" />
+		<field name="mHandler" since="21" removed="28" />
+	</class>
+	<class name="android/webkit/DateSorter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="getBoundary(I)J" />
+		<method name="getIndex(J)I" />
+		<method name="getLabel(I)Ljava/lang/String;" />
+		<field name="DAY_COUNT" />
+	</class>
+	<class name="android/webkit/DownloadListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onDownloadStart(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V" />
+	</class>
+	<class name="android/webkit/GeolocationPermissions" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="16" />
+		<method name="allow(Ljava/lang/String;)V" since="7" />
+		<method name="clear(Ljava/lang/String;)V" since="7" />
+		<method name="clearAll()V" since="7" />
+		<method name="getAllowed(Ljava/lang/String;Landroid/webkit/ValueCallback;)V" since="7" />
+		<method name="getInstance()Landroid/webkit/GeolocationPermissions;" since="7" />
+		<method name="getOrigins(Landroid/webkit/ValueCallback;)V" since="7" />
+	</class>
+	<class name="android/webkit/GeolocationPermissions$Callback" since="5">
+		<extends name="java/lang/Object" />
+		<method name="invoke(Ljava/lang/String;ZZ)V" />
+	</class>
+	<class name="android/webkit/HttpAuthHandler" since="1">
+		<extends name="android/os/Handler" />
+		<method name="cancel()V" />
+		<method name="proceed(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="useHttpAuthUsernamePassword()Z" />
+	</class>
+	<class name="android/webkit/JavascriptInterface" since="17">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="android/webkit/JsPromptResult" since="1">
+		<extends name="android/webkit/JsResult" />
+		<method name="confirm(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/webkit/JsResult" since="1">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" />
+		<method name="confirm()V" />
+		<method name="wakeUp()V" removed="16" />
+		<field name="mProxy" removed="8" />
+		<field name="mResult" removed="16" />
+	</class>
+	<class name="android/webkit/MimeTypeMap" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getExtensionFromMimeType(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getFileExtensionFromUrl(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getMimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getSingleton()Landroid/webkit/MimeTypeMap;" />
+		<method name="hasExtension(Ljava/lang/String;)Z" />
+		<method name="hasMimeType(Ljava/lang/String;)Z" />
+	</class>
+	<class name="android/webkit/PermissionRequest" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="deny()V" />
+		<method name="getOrigin()Landroid/net/Uri;" />
+		<method name="getResources()[Ljava/lang/String;" />
+		<method name="grant([Ljava/lang/String;)V" />
+		<field name="RESOURCE_AUDIO_CAPTURE" />
+		<field name="RESOURCE_MIDI_SYSEX" since="23" />
+		<field name="RESOURCE_PROTECTED_MEDIA_ID" />
+		<field name="RESOURCE_VIDEO_CAPTURE" />
+	</class>
+	<class name="android/webkit/Plugin" since="1" deprecated="5" removed="12">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="dispatchClickEvent(Landroid/content/Context;)V" />
+		<method name="getDescription()Ljava/lang/String;" />
+		<method name="getFileName()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPath()Ljava/lang/String;" />
+		<method name="setClickHandler(Landroid/webkit/Plugin$PreferencesClickHandler;)V" />
+		<method name="setDescription(Ljava/lang/String;)V" />
+		<method name="setFileName(Ljava/lang/String;)V" />
+		<method name="setName(Ljava/lang/String;)V" />
+		<method name="setPath(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/webkit/Plugin$PreferencesClickHandler" since="1" removed="12">
+		<extends name="java/lang/Object" />
+		<method name="handleClickEvent(Landroid/content/Context;)V" />
+	</class>
+	<class name="android/webkit/PluginData" since="3" deprecated="5" removed="12">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;JLjava/util/Map;I)V" />
+		<method name="getContentLength()J" />
+		<method name="getHeaders()Ljava/util/Map;" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getStatusCode()I" />
+	</class>
+	<class name="android/webkit/PluginList" since="1" deprecated="5" removed="12">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addPlugin(Landroid/webkit/Plugin;)V" />
+		<method name="clear()V" />
+		<method name="getList()Ljava/util/List;" />
+		<method name="pluginClicked(Landroid/content/Context;I)V" />
+		<method name="removePlugin(Landroid/webkit/Plugin;)V" />
+	</class>
+	<class name="android/webkit/PluginStub" since="5">
+		<extends name="java/lang/Object" />
+		<method name="getEmbeddedView(ILandroid/content/Context;)Landroid/view/View;" />
+		<method name="getFullScreenView(ILandroid/content/Context;)Landroid/view/View;" />
+	</class>
+	<class name="android/webkit/RenderProcessGoneDetail" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="didCrash()Z" />
+		<method name="rendererPriorityAtExit()I" />
+	</class>
+	<class name="android/webkit/SafeBrowsingResponse" since="27">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="backToSafety(Z)V" />
+		<method name="proceed(Z)V" />
+		<method name="showInterstitial(Z)V" />
+	</class>
+	<class name="android/webkit/ServiceWorkerClient" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="shouldInterceptRequest(Landroid/webkit/WebResourceRequest;)Landroid/webkit/WebResourceResponse;" />
+	</class>
+	<class name="android/webkit/ServiceWorkerController" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="getInstance()Landroid/webkit/ServiceWorkerController;" />
+		<method name="getServiceWorkerWebSettings()Landroid/webkit/ServiceWorkerWebSettings;" />
+		<method name="setServiceWorkerClient(Landroid/webkit/ServiceWorkerClient;)V" />
+	</class>
+	<class name="android/webkit/ServiceWorkerWebSettings" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAllowContentAccess()Z" />
+		<method name="getAllowFileAccess()Z" />
+		<method name="getBlockNetworkLoads()Z" />
+		<method name="getCacheMode()I" />
+		<method name="setAllowContentAccess(Z)V" />
+		<method name="setAllowFileAccess(Z)V" />
+		<method name="setBlockNetworkLoads(Z)V" />
+		<method name="setCacheMode(I)V" />
+	</class>
+	<class name="android/webkit/SslErrorHandler" since="1">
+		<extends name="android/os/Handler" />
+		<method name="cancel()V" />
+		<method name="proceed()V" />
+	</class>
+	<class name="android/webkit/TracingConfig" since="28">
+		<extends name="java/lang/Object" />
+		<method name="getCustomIncludedCategories()Ljava/util/List;" />
+		<method name="getPredefinedCategories()I" />
+		<method name="getTracingMode()I" />
+		<field name="CATEGORIES_ALL" />
+		<field name="CATEGORIES_ANDROID_WEBVIEW" />
+		<field name="CATEGORIES_FRAME_VIEWER" />
+		<field name="CATEGORIES_INPUT_LATENCY" />
+		<field name="CATEGORIES_JAVASCRIPT_AND_RENDERING" />
+		<field name="CATEGORIES_NONE" />
+		<field name="CATEGORIES_RENDERING" />
+		<field name="CATEGORIES_WEB_DEVELOPER" />
+		<field name="RECORD_CONTINUOUSLY" />
+		<field name="RECORD_UNTIL_FULL" />
+	</class>
+	<class name="android/webkit/TracingConfig$Builder" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addCategories(Ljava/util/Collection;)Landroid/webkit/TracingConfig$Builder;" />
+		<method name="addCategories([I)Landroid/webkit/TracingConfig$Builder;" />
+		<method name="addCategories([Ljava/lang/String;)Landroid/webkit/TracingConfig$Builder;" />
+		<method name="build()Landroid/webkit/TracingConfig;" />
+		<method name="setTracingMode(I)Landroid/webkit/TracingConfig$Builder;" />
+	</class>
+	<class name="android/webkit/TracingController" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="getInstance()Landroid/webkit/TracingController;" />
+		<method name="isTracing()Z" />
+		<method name="start(Landroid/webkit/TracingConfig;)V" />
+		<method name="stop(Ljava/io/OutputStream;Ljava/util/concurrent/Executor;)Z" />
+	</class>
+	<class name="android/webkit/URLUtil" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="composeSearchUrl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="decode([B)[B" />
+		<method name="guessFileName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="guessUrl(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="isAboutUrl(Ljava/lang/String;)Z" />
+		<method name="isAssetUrl(Ljava/lang/String;)Z" />
+		<method name="isContentUrl(Ljava/lang/String;)Z" />
+		<method name="isCookielessProxyUrl(Ljava/lang/String;)Z" deprecated="15" />
+		<method name="isDataUrl(Ljava/lang/String;)Z" />
+		<method name="isFileUrl(Ljava/lang/String;)Z" />
+		<method name="isHttpUrl(Ljava/lang/String;)Z" />
+		<method name="isHttpsUrl(Ljava/lang/String;)Z" />
+		<method name="isJavaScriptUrl(Ljava/lang/String;)Z" />
+		<method name="isNetworkUrl(Ljava/lang/String;)Z" />
+		<method name="isValidUrl(Ljava/lang/String;)Z" />
+		<method name="stripAnchor(Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="android/webkit/UrlInterceptHandler" since="1" deprecated="5" removed="12">
+		<extends name="java/lang/Object" />
+		<method name="getPluginData(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/PluginData;" since="3" />
+		<method name="service(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult;" />
+	</class>
+	<class name="android/webkit/UrlInterceptRegistry" since="1" deprecated="5" removed="12">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getPluginData(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/PluginData;" since="3" />
+		<method name="getSurrogate(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult;" />
+		<method name="registerHandler(Landroid/webkit/UrlInterceptHandler;)Z" />
+		<method name="setUrlInterceptDisabled(Z)V" />
+		<method name="unregisterHandler(Landroid/webkit/UrlInterceptHandler;)Z" />
+		<method name="urlInterceptDisabled()Z" />
+	</class>
+	<class name="android/webkit/ValueCallback" since="7">
+		<extends name="java/lang/Object" />
+		<method name="onReceiveValue(Ljava/lang/Object;)V" />
+	</class>
+	<class name="android/webkit/WebBackForwardList" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" since="22" />
+		<method name="clone()Landroid/webkit/WebBackForwardList;" />
+		<method name="getCurrentIndex()I" />
+		<method name="getCurrentItem()Landroid/webkit/WebHistoryItem;" />
+		<method name="getItemAtIndex(I)Landroid/webkit/WebHistoryItem;" />
+		<method name="getSize()I" />
+	</class>
+	<class name="android/webkit/WebChromeClient" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getDefaultVideoPoster()Landroid/graphics/Bitmap;" since="7" />
+		<method name="getVideoLoadingProgressView()Landroid/view/View;" since="7" />
+		<method name="getVisitedHistory(Landroid/webkit/ValueCallback;)V" since="7" />
+		<method name="onCloseWindow(Landroid/webkit/WebView;)V" />
+		<method name="onConsoleMessage(Landroid/webkit/ConsoleMessage;)Z" since="8" />
+		<method name="onConsoleMessage(Ljava/lang/String;ILjava/lang/String;)V" since="7" deprecated="15" />
+		<method name="onCreateWindow(Landroid/webkit/WebView;ZZLandroid/os/Message;)Z" />
+		<method name="onExceededDatabaseQuota(Ljava/lang/String;Ljava/lang/String;JJJLandroid/webkit/WebStorage$QuotaUpdater;)V" since="5" deprecated="19" />
+		<method name="onGeolocationPermissionsHidePrompt()V" since="5" />
+		<method name="onGeolocationPermissionsShowPrompt(Ljava/lang/String;Landroid/webkit/GeolocationPermissions$Callback;)V" since="5" />
+		<method name="onHideCustomView()V" since="7" />
+		<method name="onJsAlert(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Landroid/webkit/JsResult;)Z" />
+		<method name="onJsBeforeUnload(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Landroid/webkit/JsResult;)Z" />
+		<method name="onJsConfirm(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Landroid/webkit/JsResult;)Z" />
+		<method name="onJsPrompt(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/webkit/JsPromptResult;)Z" />
+		<method name="onJsTimeout()Z" since="7" deprecated="17" />
+		<method name="onPermissionRequest(Landroid/webkit/PermissionRequest;)V" since="21" />
+		<method name="onPermissionRequestCanceled(Landroid/webkit/PermissionRequest;)V" since="21" />
+		<method name="onProgressChanged(Landroid/webkit/WebView;I)V" />
+		<method name="onReachedMaxAppCacheSize(JJLandroid/webkit/WebStorage$QuotaUpdater;)V" since="7" deprecated="19" />
+		<method name="onReceivedIcon(Landroid/webkit/WebView;Landroid/graphics/Bitmap;)V" />
+		<method name="onReceivedTitle(Landroid/webkit/WebView;Ljava/lang/String;)V" />
+		<method name="onReceivedTouchIconUrl(Landroid/webkit/WebView;Ljava/lang/String;Z)V" since="7" />
+		<method name="onRequestFocus(Landroid/webkit/WebView;)V" />
+		<method name="onShowCustomView(Landroid/view/View;ILandroid/webkit/WebChromeClient$CustomViewCallback;)V" since="14" deprecated="18" />
+		<method name="onShowCustomView(Landroid/view/View;Landroid/webkit/WebChromeClient$CustomViewCallback;)V" since="7" />
+		<method name="onShowFileChooser(Landroid/webkit/WebView;Landroid/webkit/ValueCallback;Landroid/webkit/WebChromeClient$FileChooserParams;)Z" since="21" />
+	</class>
+	<class name="android/webkit/WebChromeClient$CustomViewCallback" since="7">
+		<extends name="java/lang/Object" />
+		<method name="onCustomViewHidden()V" />
+	</class>
+	<class name="android/webkit/WebChromeClient$FileChooserParams" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createIntent()Landroid/content/Intent;" />
+		<method name="getAcceptTypes()[Ljava/lang/String;" />
+		<method name="getFilenameHint()Ljava/lang/String;" />
+		<method name="getMode()I" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<method name="isCaptureEnabled()Z" />
+		<method name="parseResult(ILandroid/content/Intent;)[Landroid/net/Uri;" />
+		<field name="MODE_OPEN" />
+		<field name="MODE_OPEN_MULTIPLE" />
+		<field name="MODE_SAVE" />
+	</class>
+	<class name="android/webkit/WebHistoryItem" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" since="22" />
+		<method name="clone()Landroid/webkit/WebHistoryItem;" />
+		<method name="getFavicon()Landroid/graphics/Bitmap;" />
+		<method name="getId()I" deprecated="15" removed="17" />
+		<method name="getOriginalUrl()Ljava/lang/String;" since="3" />
+		<method name="getTitle()Ljava/lang/String;" />
+		<method name="getUrl()Ljava/lang/String;" />
+	</class>
+	<class name="android/webkit/WebIconDatabase" since="1" deprecated="18">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" since="22" deprecated="29" />
+		<method name="close()V" deprecated="29" />
+		<method name="getInstance()Landroid/webkit/WebIconDatabase;" deprecated="29" />
+		<method name="open(Ljava/lang/String;)V" deprecated="29" />
+		<method name="releaseIconForPageUrl(Ljava/lang/String;)V" deprecated="29" />
+		<method name="removeAllIcons()V" deprecated="29" />
+		<method name="requestIconForPageUrl(Ljava/lang/String;Landroid/webkit/WebIconDatabase$IconListener;)V" deprecated="29" />
+		<method name="retainIconForPageUrl(Ljava/lang/String;)V" deprecated="29" />
+	</class>
+	<class name="android/webkit/WebIconDatabase$IconListener" since="1" deprecated="18">
+		<extends name="java/lang/Object" />
+		<method name="onReceivedIcon(Ljava/lang/String;Landroid/graphics/Bitmap;)V" deprecated="29" />
+	</class>
+	<class name="android/webkit/WebMessage" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[Landroid/webkit/WebMessagePort;)V" />
+		<method name="getData()Ljava/lang/String;" />
+		<method name="getPorts()[Landroid/webkit/WebMessagePort;" />
+	</class>
+	<class name="android/webkit/WebMessagePort" since="23">
+		<extends name="java/lang/Object" />
+		<method name="close()V" />
+		<method name="postMessage(Landroid/webkit/WebMessage;)V" />
+		<method name="setWebMessageCallback(Landroid/webkit/WebMessagePort$WebMessageCallback;)V" />
+		<method name="setWebMessageCallback(Landroid/webkit/WebMessagePort$WebMessageCallback;Landroid/os/Handler;)V" />
+	</class>
+	<class name="android/webkit/WebMessagePort$WebMessageCallback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onMessage(Landroid/webkit/WebMessagePort;Landroid/webkit/WebMessage;)V" />
+	</class>
+	<class name="android/webkit/WebResourceError" since="23">
+		<extends name="java/lang/Object" />
+		<method name="getDescription()Ljava/lang/CharSequence;" />
+		<method name="getErrorCode()I" />
+	</class>
+	<class name="android/webkit/WebResourceRequest" since="21">
+		<extends name="java/lang/Object" />
+		<method name="getMethod()Ljava/lang/String;" />
+		<method name="getRequestHeaders()Ljava/util/Map;" />
+		<method name="getUrl()Landroid/net/Uri;" />
+		<method name="hasGesture()Z" />
+		<method name="isForMainFrame()Z" />
+		<method name="isRedirect()Z" since="24" />
+	</class>
+	<class name="android/webkit/WebResourceResponse" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/util/Map;Ljava/io/InputStream;)V" since="21" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;)V" />
+		<method name="getData()Ljava/io/InputStream;" />
+		<method name="getEncoding()Ljava/lang/String;" />
+		<method name="getMimeType()Ljava/lang/String;" />
+		<method name="getReasonPhrase()Ljava/lang/String;" since="21" />
+		<method name="getResponseHeaders()Ljava/util/Map;" since="21" />
+		<method name="getStatusCode()I" since="21" />
+		<method name="setData(Ljava/io/InputStream;)V" />
+		<method name="setEncoding(Ljava/lang/String;)V" />
+		<method name="setMimeType(Ljava/lang/String;)V" />
+		<method name="setResponseHeaders(Ljava/util/Map;)V" since="21" />
+		<method name="setStatusCodeAndReasonPhrase(ILjava/lang/String;)V" since="21" />
+	</class>
+	<class name="android/webkit/WebSettings" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" since="22" />
+		<method name="enableSmoothTransition()Z" since="11" deprecated="17" />
+		<method name="getAllowContentAccess()Z" since="11" />
+		<method name="getAllowFileAccess()Z" since="3" />
+		<method name="getAllowFileAccessFromFileURLs()Z" since="16" />
+		<method name="getAllowUniversalAccessFromFileURLs()Z" since="16" />
+		<method name="getBlockNetworkImage()Z" />
+		<method name="getBlockNetworkLoads()Z" since="8" />
+		<method name="getBuiltInZoomControls()Z" since="3" />
+		<method name="getCacheMode()I" />
+		<method name="getCursiveFontFamily()Ljava/lang/String;" />
+		<method name="getDatabaseEnabled()Z" since="5" />
+		<method name="getDatabasePath()Ljava/lang/String;" since="5" deprecated="19" />
+		<method name="getDefaultFixedFontSize()I" />
+		<method name="getDefaultFontSize()I" />
+		<method name="getDefaultTextEncodingName()Ljava/lang/String;" />
+		<method name="getDefaultUserAgent(Landroid/content/Context;)Ljava/lang/String;" since="17" />
+		<method name="getDefaultZoom()Landroid/webkit/WebSettings$ZoomDensity;" since="7" deprecated="19" />
+		<method name="getDisabledActionModeMenuItems()I" since="24" />
+		<method name="getDisplayZoomControls()Z" since="11" />
+		<method name="getDomStorageEnabled()Z" since="7" />
+		<method name="getFantasyFontFamily()Ljava/lang/String;" />
+		<method name="getFixedFontFamily()Ljava/lang/String;" />
+		<method name="getForceDark()I" since="29" />
+		<method name="getJavaScriptCanOpenWindowsAutomatically()Z" />
+		<method name="getJavaScriptEnabled()Z" />
+		<method name="getLayoutAlgorithm()Landroid/webkit/WebSettings$LayoutAlgorithm;" />
+		<method name="getLightTouchEnabled()Z" deprecated="18" />
+		<method name="getLoadWithOverviewMode()Z" since="7" />
+		<method name="getLoadsImagesAutomatically()Z" />
+		<method name="getMediaPlaybackRequiresUserGesture()Z" since="17" />
+		<method name="getMinimumFontSize()I" />
+		<method name="getMinimumLogicalFontSize()I" />
+		<method name="getMixedContentMode()I" since="21" />
+		<method name="getNavDump()Z" deprecated="15" removed="17" />
+		<method name="getOffscreenPreRaster()Z" since="23" />
+		<method name="getPluginState()Landroid/webkit/WebSettings$PluginState;" since="8" deprecated="18" />
+		<method name="getPluginsEnabled()Z" deprecated="15" removed="18" />
+		<method name="getPluginsPath()Ljava/lang/String;" deprecated="15" removed="18" />
+		<method name="getSafeBrowsingEnabled()Z" since="26" />
+		<method name="getSansSerifFontFamily()Ljava/lang/String;" />
+		<method name="getSaveFormData()Z" deprecated="26" />
+		<method name="getSavePassword()Z" deprecated="18" />
+		<method name="getSerifFontFamily()Ljava/lang/String;" />
+		<method name="getStandardFontFamily()Ljava/lang/String;" />
+		<method name="getTextSize()Landroid/webkit/WebSettings$TextSize;" deprecated="15" />
+		<method name="getTextZoom()I" since="14" />
+		<method name="getUseDoubleTree()Z" deprecated="15" removed="17" />
+		<method name="getUseWebViewBackgroundForOverscrollBackground()Z" since="9" deprecated="15" removed="17" />
+		<method name="getUseWideViewPort()Z" />
+		<method name="getUserAgent()I" deprecated="15" removed="17" />
+		<method name="getUserAgentString()Ljava/lang/String;" since="3" />
+		<method name="setAllowContentAccess(Z)V" since="11" />
+		<method name="setAllowFileAccess(Z)V" since="3" />
+		<method name="setAllowFileAccessFromFileURLs(Z)V" since="16" deprecated="30" />
+		<method name="setAllowUniversalAccessFromFileURLs(Z)V" since="16" deprecated="30" />
+		<method name="setAppCacheEnabled(Z)V" since="7" deprecated="30" />
+		<method name="setAppCacheMaxSize(J)V" since="7" deprecated="18" />
+		<method name="setAppCachePath(Ljava/lang/String;)V" since="7" deprecated="30" />
+		<method name="setBlockNetworkImage(Z)V" />
+		<method name="setBlockNetworkLoads(Z)V" since="8" />
+		<method name="setBuiltInZoomControls(Z)V" since="3" />
+		<method name="setCacheMode(I)V" />
+		<method name="setCursiveFontFamily(Ljava/lang/String;)V" />
+		<method name="setDatabaseEnabled(Z)V" since="5" />
+		<method name="setDatabasePath(Ljava/lang/String;)V" since="5" deprecated="19" />
+		<method name="setDefaultFixedFontSize(I)V" />
+		<method name="setDefaultFontSize(I)V" />
+		<method name="setDefaultTextEncodingName(Ljava/lang/String;)V" />
+		<method name="setDefaultZoom(Landroid/webkit/WebSettings$ZoomDensity;)V" since="7" deprecated="19" />
+		<method name="setDisabledActionModeMenuItems(I)V" since="24" />
+		<method name="setDisplayZoomControls(Z)V" since="11" />
+		<method name="setDomStorageEnabled(Z)V" since="7" />
+		<method name="setEnableSmoothTransition(Z)V" since="11" deprecated="17" />
+		<method name="setFantasyFontFamily(Ljava/lang/String;)V" />
+		<method name="setFixedFontFamily(Ljava/lang/String;)V" />
+		<method name="setForceDark(I)V" since="29" />
+		<method name="setGeolocationDatabasePath(Ljava/lang/String;)V" since="5" deprecated="24" />
+		<method name="setGeolocationEnabled(Z)V" since="5" />
+		<method name="setJavaScriptCanOpenWindowsAutomatically(Z)V" />
+		<method name="setJavaScriptEnabled(Z)V" />
+		<method name="setLayoutAlgorithm(Landroid/webkit/WebSettings$LayoutAlgorithm;)V" />
+		<method name="setLightTouchEnabled(Z)V" deprecated="18" />
+		<method name="setLoadWithOverviewMode(Z)V" since="7" />
+		<method name="setLoadsImagesAutomatically(Z)V" />
+		<method name="setMediaPlaybackRequiresUserGesture(Z)V" since="17" />
+		<method name="setMinimumFontSize(I)V" />
+		<method name="setMinimumLogicalFontSize(I)V" />
+		<method name="setMixedContentMode(I)V" since="21" />
+		<method name="setNavDump(Z)V" deprecated="15" removed="17" />
+		<method name="setNeedInitialFocus(Z)V" />
+		<method name="setOffscreenPreRaster(Z)V" since="23" />
+		<method name="setPluginState(Landroid/webkit/WebSettings$PluginState;)V" since="8" deprecated="18" />
+		<method name="setPluginsEnabled(Z)V" deprecated="15" removed="18" />
+		<method name="setPluginsPath(Ljava/lang/String;)V" deprecated="15" removed="18" />
+		<method name="setRenderPriority(Landroid/webkit/WebSettings$RenderPriority;)V" deprecated="18" />
+		<method name="setSafeBrowsingEnabled(Z)V" since="26" />
+		<method name="setSansSerifFontFamily(Ljava/lang/String;)V" />
+		<method name="setSaveFormData(Z)V" deprecated="26" />
+		<method name="setSavePassword(Z)V" deprecated="18" />
+		<method name="setSerifFontFamily(Ljava/lang/String;)V" />
+		<method name="setStandardFontFamily(Ljava/lang/String;)V" />
+		<method name="setSupportMultipleWindows(Z)V" />
+		<method name="setSupportZoom(Z)V" />
+		<method name="setTextSize(Landroid/webkit/WebSettings$TextSize;)V" deprecated="15" />
+		<method name="setTextZoom(I)V" since="14" />
+		<method name="setUseDoubleTree(Z)V" deprecated="15" removed="17" />
+		<method name="setUseWebViewBackgroundForOverscrollBackground(Z)V" since="9" deprecated="15" removed="17" />
+		<method name="setUseWideViewPort(Z)V" />
+		<method name="setUserAgent(I)V" deprecated="15" removed="17" />
+		<method name="setUserAgentString(Ljava/lang/String;)V" since="3" />
+		<method name="supportMultipleWindows()Z" />
+		<method name="supportZoom()Z" />
+		<field name="FORCE_DARK_AUTO" since="29" />
+		<field name="FORCE_DARK_OFF" since="29" />
+		<field name="FORCE_DARK_ON" since="29" />
+		<field name="LOAD_CACHE_ELSE_NETWORK" />
+		<field name="LOAD_CACHE_ONLY" />
+		<field name="LOAD_DEFAULT" />
+		<field name="LOAD_NORMAL" deprecated="17" />
+		<field name="LOAD_NO_CACHE" />
+		<field name="MENU_ITEM_NONE" since="24" />
+		<field name="MENU_ITEM_PROCESS_TEXT" since="24" />
+		<field name="MENU_ITEM_SHARE" since="24" />
+		<field name="MENU_ITEM_WEB_SEARCH" since="24" />
+		<field name="MIXED_CONTENT_ALWAYS_ALLOW" since="21" />
+		<field name="MIXED_CONTENT_COMPATIBILITY_MODE" since="21" />
+		<field name="MIXED_CONTENT_NEVER_ALLOW" since="21" />
+	</class>
+	<class name="android/webkit/WebSettings$LayoutAlgorithm" since="1" deprecated="12">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/WebSettings$LayoutAlgorithm;" />
+		<method name="values()[Landroid/webkit/WebSettings$LayoutAlgorithm;" />
+		<field name="NARROW_COLUMNS" deprecated="29" />
+		<field name="NORMAL" />
+		<field name="SINGLE_COLUMN" deprecated="29" />
+		<field name="TEXT_AUTOSIZING" since="19" />
+	</class>
+	<class name="android/webkit/WebSettings$PluginState" since="8">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/WebSettings$PluginState;" />
+		<method name="values()[Landroid/webkit/WebSettings$PluginState;" />
+		<field name="OFF" />
+		<field name="ON" />
+		<field name="ON_DEMAND" />
+	</class>
+	<class name="android/webkit/WebSettings$RenderPriority" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/WebSettings$RenderPriority;" />
+		<method name="values()[Landroid/webkit/WebSettings$RenderPriority;" />
+		<field name="HIGH" />
+		<field name="LOW" />
+		<field name="NORMAL" />
+	</class>
+	<class name="android/webkit/WebSettings$TextSize" since="1" deprecated="15">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/WebSettings$TextSize;" />
+		<method name="values()[Landroid/webkit/WebSettings$TextSize;" />
+		<field name="LARGER" deprecated="29" />
+		<field name="LARGEST" deprecated="29" />
+		<field name="NORMAL" deprecated="29" />
+		<field name="SMALLER" deprecated="29" />
+		<field name="SMALLEST" deprecated="29" />
+	</class>
+	<class name="android/webkit/WebSettings$ZoomDensity" since="7">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/WebSettings$ZoomDensity;" />
+		<method name="values()[Landroid/webkit/WebSettings$ZoomDensity;" />
+		<field name="CLOSE" />
+		<field name="FAR" />
+		<field name="MEDIUM" />
+	</class>
+	<class name="android/webkit/WebStorage" since="5">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="16" />
+		<method name="deleteAllData()V" since="7" />
+		<method name="deleteOrigin(Ljava/lang/String;)V" since="7" />
+		<method name="getInstance()Landroid/webkit/WebStorage;" since="7" />
+		<method name="getOrigins(Landroid/webkit/ValueCallback;)V" since="7" />
+		<method name="getQuotaForOrigin(Ljava/lang/String;Landroid/webkit/ValueCallback;)V" since="7" />
+		<method name="getUsageForOrigin(Ljava/lang/String;Landroid/webkit/ValueCallback;)V" since="7" />
+		<method name="setQuotaForOrigin(Ljava/lang/String;J)V" since="7" deprecated="18" />
+	</class>
+	<class name="android/webkit/WebStorage$Origin" since="11">
+		<extends name="java/lang/Object" />
+		<method name="getOrigin()Ljava/lang/String;" />
+		<method name="getQuota()J" />
+		<method name="getUsage()J" />
+	</class>
+	<class name="android/webkit/WebStorage$QuotaUpdater" since="5" deprecated="19">
+		<extends name="java/lang/Object" />
+		<method name="updateQuota(J)V" deprecated="29" />
+	</class>
+	<class name="android/webkit/WebView" since="1">
+		<extends name="android/widget/AbsoluteLayout" />
+		<implements name="android/view/ViewGroup$OnHierarchyChangeListener" />
+		<implements name="android/view/ViewTreeObserver$OnGlobalFocusChangeListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;IZ)V" since="11" deprecated="17" />
+		<method name="addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V" />
+		<method name="canGoBack()Z" />
+		<method name="canGoBackOrForward(I)Z" />
+		<method name="canGoForward()Z" />
+		<method name="canZoomIn()Z" since="11" deprecated="17" />
+		<method name="canZoomOut()Z" since="11" deprecated="17" />
+		<method name="capturePicture()Landroid/graphics/Picture;" deprecated="19" />
+		<method name="clearCache(Z)V" />
+		<method name="clearClientCertPreferences(Ljava/lang/Runnable;)V" since="21" />
+		<method name="clearFormData()V" />
+		<method name="clearHistory()V" />
+		<method name="clearMatches()V" since="3" />
+		<method name="clearSslPreferences()V" />
+		<method name="clearView()V" deprecated="18" />
+		<method name="copyBackForwardList()Landroid/webkit/WebBackForwardList;" />
+		<method name="createPrintDocumentAdapter()Landroid/print/PrintDocumentAdapter;" since="19" deprecated="21" />
+		<method name="createPrintDocumentAdapter(Ljava/lang/String;)Landroid/print/PrintDocumentAdapter;" since="21" />
+		<method name="createWebMessageChannel()[Landroid/webkit/WebMessagePort;" since="23" />
+		<method name="debugDump()V" deprecated="15" removed="17" />
+		<method name="destroy()V" />
+		<method name="disablePlatformNotifications()V" deprecated="15" removed="17" />
+		<method name="disableWebView()V" since="28" />
+		<method name="documentHasImages(Landroid/os/Message;)V" />
+		<method name="emulateShiftHeld()V" since="8" deprecated="15" removed="17" />
+		<method name="enablePlatformNotifications()V" deprecated="15" removed="17" />
+		<method name="enableSlowWholeDocumentDraw()V" since="21" />
+		<method name="evaluateJavascript(Ljava/lang/String;Landroid/webkit/ValueCallback;)V" since="19" />
+		<method name="findAddress(Ljava/lang/String;)Ljava/lang/String;" deprecated="28" />
+		<method name="findAll(Ljava/lang/String;)I" since="3" deprecated="16" />
+		<method name="findAllAsync(Ljava/lang/String;)V" since="16" />
+		<method name="findNext(Z)V" since="3" />
+		<method name="flingScroll(II)V" />
+		<method name="freeMemory()V" since="7" deprecated="19" />
+		<method name="getCertificate()Landroid/net/http/SslCertificate;" />
+		<method name="getContentHeight()I" />
+		<method name="getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;" since="26" />
+		<method name="getFavicon()Landroid/graphics/Bitmap;" />
+		<method name="getHitTestResult()Landroid/webkit/WebView$HitTestResult;" />
+		<method name="getHttpAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;" deprecated="26" />
+		<method name="getOriginalUrl()Ljava/lang/String;" since="3" />
+		<method name="getPluginList()Landroid/webkit/PluginList;" removed="12" />
+		<method name="getProgress()I" />
+		<method name="getRendererPriorityWaivedWhenNotVisible()Z" since="26" />
+		<method name="getRendererRequestedPriority()I" since="26" />
+		<method name="getSafeBrowsingPrivacyPolicyUrl()Landroid/net/Uri;" since="27" />
+		<method name="getScale()F" deprecated="17" />
+		<method name="getSettings()Landroid/webkit/WebSettings;" />
+		<method name="getTextClassifier()Landroid/view/textclassifier/TextClassifier;" since="27" />
+		<method name="getTitle()Ljava/lang/String;" />
+		<method name="getUrl()Ljava/lang/String;" />
+		<method name="getVisibleTitleHeight()I" since="11" deprecated="15" removed="17" />
+		<method name="getWebChromeClient()Landroid/webkit/WebChromeClient;" since="26" />
+		<method name="getWebViewClassLoader()Ljava/lang/ClassLoader;" since="28" />
+		<method name="getWebViewClient()Landroid/webkit/WebViewClient;" since="26" />
+		<method name="getWebViewLooper()Landroid/os/Looper;" since="28" />
+		<method name="getWebViewRenderProcess()Landroid/webkit/WebViewRenderProcess;" since="29" />
+		<method name="getWebViewRenderProcessClient()Landroid/webkit/WebViewRenderProcessClient;" since="29" />
+		<method name="getZoomControls()Landroid/view/View;" deprecated="15" removed="16" />
+		<method name="goBack()V" />
+		<method name="goBackOrForward(I)V" />
+		<method name="goForward()V" />
+		<method name="invokeZoomPicker()V" />
+		<method name="isPrivateBrowsingEnabled()Z" since="11" />
+		<method name="loadData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="loadDataWithBaseURL(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="loadUrl(Ljava/lang/String;)V" />
+		<method name="loadUrl(Ljava/lang/String;Ljava/util/Map;)V" since="8" />
+		<method name="onPause()V" since="11" />
+		<method name="onResume()V" since="11" />
+		<method name="overlayHorizontalScrollbar()Z" deprecated="23" />
+		<method name="overlayVerticalScrollbar()Z" deprecated="23" />
+		<method name="pageDown(Z)Z" />
+		<method name="pageUp(Z)Z" />
+		<method name="pauseTimers()V" />
+		<method name="postUrl(Ljava/lang/String;[B)V" since="5" />
+		<method name="postVisualStateCallback(JLandroid/webkit/WebView$VisualStateCallback;)V" since="23" />
+		<method name="postWebMessage(Landroid/webkit/WebMessage;Landroid/net/Uri;)V" since="23" />
+		<method name="refreshPlugins(Z)V" removed="12" />
+		<method name="reload()V" />
+		<method name="removeJavascriptInterface(Ljava/lang/String;)V" since="11" />
+		<method name="requestFocusNodeHref(Landroid/os/Message;)V" />
+		<method name="requestImageRef(Landroid/os/Message;)V" />
+		<method name="restorePicture(Landroid/os/Bundle;Ljava/io/File;)Z" since="3" deprecated="15" removed="17" />
+		<method name="restoreState(Landroid/os/Bundle;)Landroid/webkit/WebBackForwardList;" />
+		<method name="resumeTimers()V" />
+		<method name="savePassword(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="18" />
+		<method name="savePicture(Landroid/os/Bundle;Ljava/io/File;)Z" since="3" deprecated="15" removed="17" />
+		<method name="saveState(Landroid/os/Bundle;)Landroid/webkit/WebBackForwardList;" />
+		<method name="saveWebArchive(Ljava/lang/String;)V" since="11" />
+		<method name="saveWebArchive(Ljava/lang/String;ZLandroid/webkit/ValueCallback;)V" since="11" />
+		<method name="setCertificate(Landroid/net/http/SslCertificate;)V" deprecated="17" />
+		<method name="setDataDirectorySuffix(Ljava/lang/String;)V" since="28" />
+		<method name="setDownloadListener(Landroid/webkit/DownloadListener;)V" />
+		<method name="setFindListener(Landroid/webkit/WebView$FindListener;)V" since="16" />
+		<method name="setHorizontalScrollbarOverlay(Z)V" deprecated="23" />
+		<method name="setHttpAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="26" />
+		<method name="setInitialScale(I)V" />
+		<method name="setMapTrackballToArrowKeys(Z)V" deprecated="17" />
+		<method name="setNetworkAvailable(Z)V" since="3" />
+		<method name="setPictureListener(Landroid/webkit/WebView$PictureListener;)V" deprecated="15" />
+		<method name="setRendererPriorityPolicy(IZ)V" since="26" />
+		<method name="setSafeBrowsingWhitelist(Ljava/util/List;Landroid/webkit/ValueCallback;)V" since="27" />
+		<method name="setTextClassifier(Landroid/view/textclassifier/TextClassifier;)V" since="27" />
+		<method name="setVerticalScrollbarOverlay(Z)V" deprecated="23" />
+		<method name="setWebChromeClient(Landroid/webkit/WebChromeClient;)V" />
+		<method name="setWebContentsDebuggingEnabled(Z)V" since="19" />
+		<method name="setWebViewClient(Landroid/webkit/WebViewClient;)V" />
+		<method name="setWebViewRenderProcessClient(Landroid/webkit/WebViewRenderProcessClient;)V" since="29" />
+		<method name="setWebViewRenderProcessClient(Ljava/util/concurrent/Executor;Landroid/webkit/WebViewRenderProcessClient;)V" since="29" />
+		<method name="showFindDialog(Ljava/lang/String;Z)Z" since="11" deprecated="18" />
+		<method name="startSafeBrowsing(Landroid/content/Context;Landroid/webkit/ValueCallback;)V" since="27" />
+		<method name="stopLoading()V" />
+		<method name="zoomBy(F)V" since="21" />
+		<method name="zoomIn()Z" />
+		<method name="zoomOut()Z" />
+		<field name="RENDERER_PRIORITY_BOUND" since="26" />
+		<field name="RENDERER_PRIORITY_IMPORTANT" since="26" />
+		<field name="RENDERER_PRIORITY_WAIVED" since="26" />
+		<field name="SCHEME_GEO" />
+		<field name="SCHEME_MAILTO" />
+		<field name="SCHEME_TEL" />
+	</class>
+	<class name="android/webkit/WebView$FindListener" since="16">
+		<extends name="java/lang/Object" />
+		<method name="onFindResultReceived(IIZ)V" />
+	</class>
+	<class name="android/webkit/WebView$HitTestResult" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getExtra()Ljava/lang/String;" />
+		<method name="getType()I" />
+		<field name="ANCHOR_TYPE" deprecated="15" />
+		<field name="EDIT_TEXT_TYPE" />
+		<field name="EMAIL_TYPE" />
+		<field name="GEO_TYPE" />
+		<field name="IMAGE_ANCHOR_TYPE" deprecated="15" />
+		<field name="IMAGE_TYPE" />
+		<field name="PHONE_TYPE" />
+		<field name="SRC_ANCHOR_TYPE" />
+		<field name="SRC_IMAGE_ANCHOR_TYPE" />
+		<field name="UNKNOWN_TYPE" />
+	</class>
+	<class name="android/webkit/WebView$PictureListener" since="1" deprecated="12">
+		<extends name="java/lang/Object" />
+		<method name="onNewPicture(Landroid/webkit/WebView;Landroid/graphics/Picture;)V" deprecated="15" />
+	</class>
+	<class name="android/webkit/WebView$VisualStateCallback" since="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onComplete(J)V" />
+	</class>
+	<class name="android/webkit/WebView$WebViewTransport" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/webkit/WebView;)V" />
+		<method name="getWebView()Landroid/webkit/WebView;" />
+		<method name="setWebView(Landroid/webkit/WebView;)V" />
+	</class>
+	<class name="android/webkit/WebViewClient" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="doUpdateVisitedHistory(Landroid/webkit/WebView;Ljava/lang/String;Z)V" />
+		<method name="onFormResubmission(Landroid/webkit/WebView;Landroid/os/Message;Landroid/os/Message;)V" />
+		<method name="onLoadResource(Landroid/webkit/WebView;Ljava/lang/String;)V" />
+		<method name="onPageCommitVisible(Landroid/webkit/WebView;Ljava/lang/String;)V" since="23" />
+		<method name="onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V" />
+		<method name="onPageStarted(Landroid/webkit/WebView;Ljava/lang/String;Landroid/graphics/Bitmap;)V" />
+		<method name="onReceivedClientCertRequest(Landroid/webkit/WebView;Landroid/webkit/ClientCertRequest;)V" since="21" />
+		<method name="onReceivedError(Landroid/webkit/WebView;ILjava/lang/String;Ljava/lang/String;)V" deprecated="23" />
+		<method name="onReceivedError(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;Landroid/webkit/WebResourceError;)V" since="23" />
+		<method name="onReceivedHttpAuthRequest(Landroid/webkit/WebView;Landroid/webkit/HttpAuthHandler;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="onReceivedHttpError(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;Landroid/webkit/WebResourceResponse;)V" since="23" />
+		<method name="onReceivedLoginRequest(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" since="12" />
+		<method name="onReceivedSslError(Landroid/webkit/WebView;Landroid/webkit/SslErrorHandler;Landroid/net/http/SslError;)V" since="8" />
+		<method name="onRenderProcessGone(Landroid/webkit/WebView;Landroid/webkit/RenderProcessGoneDetail;)Z" since="26" />
+		<method name="onSafeBrowsingHit(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;ILandroid/webkit/SafeBrowsingResponse;)V" since="27" />
+		<method name="onScaleChanged(Landroid/webkit/WebView;FF)V" />
+		<method name="onTooManyRedirects(Landroid/webkit/WebView;Landroid/os/Message;Landroid/os/Message;)V" deprecated="15" />
+		<method name="onUnhandledInputEvent(Landroid/webkit/WebView;Landroid/view/InputEvent;)V" since="21" removed="24" />
+		<method name="onUnhandledKeyEvent(Landroid/webkit/WebView;Landroid/view/KeyEvent;)V" deprecated="21" />
+		<method name="shouldInterceptRequest(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;)Landroid/webkit/WebResourceResponse;" since="21" />
+		<method name="shouldInterceptRequest(Landroid/webkit/WebView;Ljava/lang/String;)Landroid/webkit/WebResourceResponse;" since="11" deprecated="21" />
+		<method name="shouldOverrideKeyEvent(Landroid/webkit/WebView;Landroid/view/KeyEvent;)Z" />
+		<method name="shouldOverrideUrlLoading(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;)Z" since="24" />
+		<method name="shouldOverrideUrlLoading(Landroid/webkit/WebView;Ljava/lang/String;)Z" deprecated="24" />
+		<field name="ERROR_AUTHENTICATION" since="5" />
+		<field name="ERROR_BAD_URL" since="5" />
+		<field name="ERROR_CONNECT" since="5" />
+		<field name="ERROR_FAILED_SSL_HANDSHAKE" since="5" />
+		<field name="ERROR_FILE" since="5" />
+		<field name="ERROR_FILE_NOT_FOUND" since="5" />
+		<field name="ERROR_HOST_LOOKUP" since="5" />
+		<field name="ERROR_IO" since="5" />
+		<field name="ERROR_PROXY_AUTHENTICATION" since="5" />
+		<field name="ERROR_REDIRECT_LOOP" since="5" />
+		<field name="ERROR_TIMEOUT" since="5" />
+		<field name="ERROR_TOO_MANY_REQUESTS" since="5" />
+		<field name="ERROR_UNKNOWN" since="5" />
+		<field name="ERROR_UNSAFE_RESOURCE" since="26" />
+		<field name="ERROR_UNSUPPORTED_AUTH_SCHEME" since="5" />
+		<field name="ERROR_UNSUPPORTED_SCHEME" since="5" />
+		<field name="SAFE_BROWSING_THREAT_BILLING" since="29" />
+		<field name="SAFE_BROWSING_THREAT_MALWARE" since="27" />
+		<field name="SAFE_BROWSING_THREAT_PHISHING" since="27" />
+		<field name="SAFE_BROWSING_THREAT_UNKNOWN" since="27" />
+		<field name="SAFE_BROWSING_THREAT_UNWANTED_SOFTWARE" since="27" />
+	</class>
+	<class name="android/webkit/WebViewDatabase" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" since="22" deprecated="29" />
+		<method name="clearFormData()V" deprecated="26" />
+		<method name="clearHttpAuthUsernamePassword()V" />
+		<method name="clearUsernamePassword()V" deprecated="18" />
+		<method name="getHttpAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;" since="26" />
+		<method name="getInstance(Landroid/content/Context;)Landroid/webkit/WebViewDatabase;" />
+		<method name="hasFormData()Z" deprecated="26" />
+		<method name="hasHttpAuthUsernamePassword()Z" />
+		<method name="hasUsernamePassword()Z" deprecated="18" />
+		<method name="setHttpAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" since="26" />
+		<field name="LOGTAG" removed="17" />
+	</class>
+	<class name="android/webkit/WebViewFragment" since="11" deprecated="28">
+		<extends name="android/app/Fragment" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="getWebView()Landroid/webkit/WebView;" deprecated="29" />
+	</class>
+	<class name="android/webkit/WebViewRenderProcess" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="terminate()Z" />
+	</class>
+	<class name="android/webkit/WebViewRenderProcessClient" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onRenderProcessResponsive(Landroid/webkit/WebView;Landroid/webkit/WebViewRenderProcess;)V" />
+		<method name="onRenderProcessUnresponsive(Landroid/webkit/WebView;Landroid/webkit/WebViewRenderProcess;)V" />
+	</class>
+	<class name="android/widget/AbsListView" since="1">
+		<extends name="android/widget/AdapterView" />
+		<implements name="android/text/TextWatcher" />
+		<implements name="android/view/ViewTreeObserver$OnGlobalLayoutListener" />
+		<implements name="android/view/ViewTreeObserver$OnTouchModeChangeListener" />
+		<implements name="android/widget/Filter$FilterListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="canScrollList(I)Z" since="19" />
+		<method name="clearChoices()V" since="11" />
+		<method name="clearTextFilter()V" />
+		<method name="deferNotifyDataSetChanged()V" since="14" />
+		<method name="fling(I)V" since="21" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/AbsListView$LayoutParams;" />
+		<method name="getBottomEdgeEffectColor()I" since="29" />
+		<method name="getCacheColorHint()I" />
+		<method name="getCheckedItemCount()I" since="11" />
+		<method name="getCheckedItemIds()[J" since="11" />
+		<method name="getCheckedItemPosition()I" since="11" />
+		<method name="getCheckedItemPositions()Landroid/util/SparseBooleanArray;" since="11" />
+		<method name="getChoiceMode()I" since="11" />
+		<method name="getListPaddingBottom()I" />
+		<method name="getListPaddingLeft()I" />
+		<method name="getListPaddingRight()I" />
+		<method name="getListPaddingTop()I" />
+		<method name="getSelector()Landroid/graphics/drawable/Drawable;" />
+		<method name="getTextFilter()Ljava/lang/CharSequence;" since="3" />
+		<method name="getTopEdgeEffectColor()I" since="29" />
+		<method name="getTranscriptMode()I" />
+		<method name="handleDataChanged()V" />
+		<method name="hasTextFilter()Z" />
+		<method name="invalidateViews()V" />
+		<method name="isDrawSelectorOnTop()Z" since="29" />
+		<method name="isFastScrollAlwaysVisible()Z" since="11" />
+		<method name="isFastScrollEnabled()Z" since="3" />
+		<method name="isInFilterMode()Z" />
+		<method name="isItemChecked(I)Z" since="11" />
+		<method name="isScrollingCacheEnabled()Z" />
+		<method name="isSmoothScrollbarEnabled()Z" since="3" />
+		<method name="isStackFromBottom()Z" />
+		<method name="isTextFilterEnabled()Z" />
+		<method name="layoutChildren()V" />
+		<method name="onInitializeAccessibilityNodeInfoForItem(Landroid/view/View;ILandroid/view/accessibility/AccessibilityNodeInfo;)V" since="19" />
+		<method name="onRemoteAdapterConnected()Z" since="11" />
+		<method name="onRemoteAdapterDisconnected()V" since="11" />
+		<method name="pointToPosition(II)I" />
+		<method name="pointToRowId(II)J" />
+		<method name="reclaimViews(Ljava/util/List;)V" />
+		<method name="scrollListBy(I)V" since="19" />
+		<method name="setAdapter(Landroid/widget/ListAdapter;)V" since="11" />
+		<method name="setBottomEdgeEffectColor(I)V" since="29" />
+		<method name="setCacheColorHint(I)V" />
+		<method name="setChoiceMode(I)V" since="11" />
+		<method name="setDrawSelectorOnTop(Z)V" />
+		<method name="setEdgeEffectColor(I)V" since="29" />
+		<method name="setFastScrollAlwaysVisible(Z)V" since="11" />
+		<method name="setFastScrollEnabled(Z)V" since="3" />
+		<method name="setFastScrollStyle(I)V" since="21" />
+		<method name="setFilterText(Ljava/lang/String;)V" />
+		<method name="setFriction(F)V" since="11" />
+		<method name="setItemChecked(IZ)V" since="11" />
+		<method name="setMultiChoiceModeListener(Landroid/widget/AbsListView$MultiChoiceModeListener;)V" since="11" />
+		<method name="setOnScrollListener(Landroid/widget/AbsListView$OnScrollListener;)V" />
+		<method name="setRecyclerListener(Landroid/widget/AbsListView$RecyclerListener;)V" />
+		<method name="setRemoteViewsAdapter(Landroid/content/Intent;)V" since="11" />
+		<method name="setScrollIndicators(Landroid/view/View;Landroid/view/View;)V" />
+		<method name="setScrollingCacheEnabled(Z)V" />
+		<method name="setSelectionFromTop(II)V" since="21" />
+		<method name="setSelector(I)V" />
+		<method name="setSelector(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setSmoothScrollbarEnabled(Z)V" since="3" />
+		<method name="setStackFromBottom(Z)V" />
+		<method name="setTextFilterEnabled(Z)V" />
+		<method name="setTopEdgeEffectColor(I)V" since="29" />
+		<method name="setTranscriptMode(I)V" />
+		<method name="setVelocityScale(F)V" since="11" />
+		<method name="smoothScrollBy(II)V" since="8" />
+		<method name="smoothScrollToPosition(I)V" since="8" />
+		<method name="smoothScrollToPosition(II)V" since="8" />
+		<method name="smoothScrollToPositionFromTop(II)V" since="11" />
+		<method name="smoothScrollToPositionFromTop(III)V" since="11" />
+		<field name="CHOICE_MODE_MULTIPLE" since="11" />
+		<field name="CHOICE_MODE_MULTIPLE_MODAL" since="11" />
+		<field name="CHOICE_MODE_NONE" since="11" />
+		<field name="CHOICE_MODE_SINGLE" since="11" />
+		<field name="TRANSCRIPT_MODE_ALWAYS_SCROLL" />
+		<field name="TRANSCRIPT_MODE_DISABLED" />
+		<field name="TRANSCRIPT_MODE_NORMAL" />
+	</class>
+	<class name="android/widget/AbsListView$LayoutParams" since="1">
+		<extends name="android/view/ViewGroup$LayoutParams" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+	</class>
+	<class name="android/widget/AbsListView$MultiChoiceModeListener" since="11">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/ActionMode$Callback" />
+		<method name="onItemCheckedStateChanged(Landroid/view/ActionMode;IJZ)V" />
+	</class>
+	<class name="android/widget/AbsListView$OnScrollListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onScroll(Landroid/widget/AbsListView;III)V" />
+		<method name="onScrollStateChanged(Landroid/widget/AbsListView;I)V" />
+		<field name="SCROLL_STATE_FLING" />
+		<field name="SCROLL_STATE_IDLE" />
+		<field name="SCROLL_STATE_TOUCH_SCROLL" />
+	</class>
+	<class name="android/widget/AbsListView$RecyclerListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onMovedToScrapHeap(Landroid/view/View;)V" />
+	</class>
+	<class name="android/widget/AbsListView$SelectionBoundsAdjuster" since="11">
+		<extends name="java/lang/Object" />
+		<method name="adjustListItemSelectionBounds(Landroid/graphics/Rect;)V" />
+	</class>
+	<class name="android/widget/AbsSeekBar" since="1">
+		<extends name="android/widget/ProgressBar" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getKeyProgressIncrement()I" since="3" />
+		<method name="getSplitTrack()Z" since="21" />
+		<method name="getThumb()Landroid/graphics/drawable/Drawable;" since="16" />
+		<method name="getThumbOffset()I" />
+		<method name="getThumbTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getThumbTintList()Landroid/content/res/ColorStateList;" since="21" />
+		<method name="getThumbTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" />
+		<method name="getTickMark()Landroid/graphics/drawable/Drawable;" since="24" />
+		<method name="getTickMarkTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getTickMarkTintList()Landroid/content/res/ColorStateList;" since="24" />
+		<method name="getTickMarkTintMode()Landroid/graphics/PorterDuff$Mode;" since="24" />
+		<method name="setKeyProgressIncrement(I)V" since="3" />
+		<method name="setSplitTrack(Z)V" since="21" />
+		<method name="setThumb(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setThumbOffset(I)V" />
+		<method name="setThumbTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setThumbTintList(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setThumbTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" />
+		<method name="setTickMark(Landroid/graphics/drawable/Drawable;)V" since="24" />
+		<method name="setTickMarkTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setTickMarkTintList(Landroid/content/res/ColorStateList;)V" since="24" />
+		<method name="setTickMarkTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="24" />
+	</class>
+	<class name="android/widget/AbsSpinner" since="1">
+		<extends name="android/widget/AdapterView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getAdapter()Landroid/widget/SpinnerAdapter;" />
+		<method name="pointToPosition(II)I" />
+		<method name="setAdapter(Landroid/widget/SpinnerAdapter;)V" />
+		<method name="setSelection(IZ)V" />
+	</class>
+	<class name="android/widget/AbsoluteLayout" since="1" deprecated="3">
+		<extends name="android/view/ViewGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+	</class>
+	<class name="android/widget/AbsoluteLayout$LayoutParams" since="1" deprecated="29">
+		<extends name="android/view/ViewGroup$LayoutParams" />
+		<method name="&lt;init&gt;(IIII)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" deprecated="29" />
+		<method name="debug(Ljava/lang/String;)Ljava/lang/String;" deprecated="29" />
+		<field name="x" deprecated="29" />
+		<field name="y" deprecated="29" />
+	</class>
+	<class name="android/widget/ActionMenuView" since="21">
+		<extends name="android/widget/LinearLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="dismissPopupMenus()V" />
+		<method name="generateDefaultLayoutParams()Landroid/widget/ActionMenuView$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/ActionMenuView$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/ActionMenuView$LayoutParams;" />
+		<method name="getMenu()Landroid/view/Menu;" />
+		<method name="getOverflowIcon()Landroid/graphics/drawable/Drawable;" since="23" />
+		<method name="getPopupTheme()I" />
+		<method name="hideOverflowMenu()Z" />
+		<method name="isOverflowMenuShowing()Z" />
+		<method name="setOnMenuItemClickListener(Landroid/widget/ActionMenuView$OnMenuItemClickListener;)V" />
+		<method name="setOverflowIcon(Landroid/graphics/drawable/Drawable;)V" since="23" />
+		<method name="setPopupTheme(I)V" />
+		<method name="showOverflowMenu()Z" />
+	</class>
+	<class name="android/widget/ActionMenuView$LayoutParams" since="21">
+		<extends name="android/widget/LinearLayout$LayoutParams" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/widget/ActionMenuView$LayoutParams;)V" />
+	</class>
+	<class name="android/widget/ActionMenuView$OnMenuItemClickListener" since="21">
+		<extends name="java/lang/Object" />
+		<method name="onMenuItemClick(Landroid/view/MenuItem;)Z" />
+	</class>
+	<class name="android/widget/Adapter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getAutofillOptions()[Ljava/lang/CharSequence;" since="26" />
+		<method name="getCount()I" />
+		<method name="getItem(I)Ljava/lang/Object;" />
+		<method name="getItemId(I)J" />
+		<method name="getItemViewType(I)I" />
+		<method name="getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="getViewTypeCount()I" />
+		<method name="hasStableIds()Z" />
+		<method name="isEmpty()Z" />
+		<method name="registerDataSetObserver(Landroid/database/DataSetObserver;)V" />
+		<method name="unregisterDataSetObserver(Landroid/database/DataSetObserver;)V" />
+		<field name="IGNORE_ITEM_VIEW_TYPE" />
+		<field name="NO_SELECTION" />
+	</class>
+	<class name="android/widget/AdapterView" since="1">
+		<extends name="android/view/ViewGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getAdapter()Landroid/widget/Adapter;" />
+		<method name="getCount()I" />
+		<method name="getEmptyView()Landroid/view/View;" />
+		<method name="getFirstVisiblePosition()I" />
+		<method name="getItemAtPosition(I)Ljava/lang/Object;" />
+		<method name="getItemIdAtPosition(I)J" />
+		<method name="getLastVisiblePosition()I" />
+		<method name="getOnItemClickListener()Landroid/widget/AdapterView$OnItemClickListener;" />
+		<method name="getOnItemLongClickListener()Landroid/widget/AdapterView$OnItemLongClickListener;" />
+		<method name="getOnItemSelectedListener()Landroid/widget/AdapterView$OnItemSelectedListener;" />
+		<method name="getPositionForView(Landroid/view/View;)I" />
+		<method name="getSelectedItem()Ljava/lang/Object;" />
+		<method name="getSelectedItemId()J" />
+		<method name="getSelectedItemPosition()I" />
+		<method name="getSelectedView()Landroid/view/View;" />
+		<method name="performItemClick(Landroid/view/View;IJ)Z" />
+		<method name="setAdapter(Landroid/widget/Adapter;)V" />
+		<method name="setEmptyView(Landroid/view/View;)V" />
+		<method name="setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V" />
+		<method name="setOnItemLongClickListener(Landroid/widget/AdapterView$OnItemLongClickListener;)V" />
+		<method name="setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V" />
+		<method name="setSelection(I)V" />
+		<field name="INVALID_POSITION" />
+		<field name="INVALID_ROW_ID" />
+		<field name="ITEM_VIEW_TYPE_HEADER_OR_FOOTER" />
+		<field name="ITEM_VIEW_TYPE_IGNORE" />
+	</class>
+	<class name="android/widget/AdapterView$AdapterContextMenuInfo" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/ContextMenu$ContextMenuInfo" />
+		<method name="&lt;init&gt;(Landroid/view/View;IJ)V" />
+		<field name="id" />
+		<field name="position" />
+		<field name="targetView" />
+	</class>
+	<class name="android/widget/AdapterView$OnItemClickListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V" />
+	</class>
+	<class name="android/widget/AdapterView$OnItemLongClickListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onItemLongClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)Z" />
+	</class>
+	<class name="android/widget/AdapterView$OnItemSelectedListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onItemSelected(Landroid/widget/AdapterView;Landroid/view/View;IJ)V" />
+		<method name="onNothingSelected(Landroid/widget/AdapterView;)V" />
+	</class>
+	<class name="android/widget/AdapterViewAnimator" since="11">
+		<extends name="android/widget/AdapterView" />
+		<implements name="android/widget/Advanceable" since="16" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="14" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="advance()V" />
+		<method name="deferNotifyDataSetChanged()V" since="14" />
+		<method name="fyiWillBeAdvancedByHostKThx()V" />
+		<method name="getCurrentView()Landroid/view/View;" />
+		<method name="getDisplayedChild()I" />
+		<method name="getInAnimation()Landroid/animation/ObjectAnimator;" />
+		<method name="getOutAnimation()Landroid/animation/ObjectAnimator;" />
+		<method name="onRemoteAdapterConnected()Z" />
+		<method name="onRemoteAdapterDisconnected()V" />
+		<method name="setAnimateFirstView(Z)V" />
+		<method name="setDisplayedChild(I)V" />
+		<method name="setInAnimation(Landroid/animation/ObjectAnimator;)V" />
+		<method name="setInAnimation(Landroid/content/Context;I)V" />
+		<method name="setOutAnimation(Landroid/animation/ObjectAnimator;)V" />
+		<method name="setOutAnimation(Landroid/content/Context;I)V" />
+		<method name="setRemoteViewsAdapter(Landroid/content/Intent;)V" />
+		<method name="showNext()V" />
+		<method name="showPrevious()V" />
+	</class>
+	<class name="android/widget/AdapterViewFlipper" since="11">
+		<extends name="android/widget/AdapterViewAnimator" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="21" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getFlipInterval()I" since="16" />
+		<method name="isAutoStart()Z" />
+		<method name="isFlipping()Z" />
+		<method name="setAutoStart(Z)V" />
+		<method name="setFlipInterval(I)V" />
+		<method name="startFlipping()V" />
+		<method name="stopFlipping()V" />
+	</class>
+	<class name="android/widget/Advanceable" since="16">
+		<extends name="java/lang/Object" />
+		<method name="advance()V" />
+		<method name="fyiWillBeAdvancedByHostKThx()V" />
+	</class>
+	<class name="android/widget/AlphabetIndexer" since="3">
+		<extends name="android/database/DataSetObserver" />
+		<implements name="android/widget/SectionIndexer" />
+		<method name="&lt;init&gt;(Landroid/database/Cursor;ILjava/lang/CharSequence;)V" />
+		<method name="compare(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="setCursor(Landroid/database/Cursor;)V" />
+		<field name="mAlphabet" />
+		<field name="mColumnIndex" />
+		<field name="mDataCursor" />
+	</class>
+	<class name="android/widget/AnalogClock" since="1" deprecated="23">
+		<extends name="android/view/View" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="getDialTintBlendMode()Landroid/graphics/BlendMode;" since="31" deprecated="31" />
+		<method name="getDialTintList()Landroid/content/res/ColorStateList;" since="31" deprecated="31" />
+		<method name="getHourHandTintBlendMode()Landroid/graphics/BlendMode;" since="31" deprecated="31" />
+		<method name="getHourHandTintList()Landroid/content/res/ColorStateList;" since="31" deprecated="31" />
+		<method name="getMinuteHandTintBlendMode()Landroid/graphics/BlendMode;" since="31" deprecated="31" />
+		<method name="getMinuteHandTintList()Landroid/content/res/ColorStateList;" since="31" deprecated="31" />
+		<method name="getSecondHandTintBlendMode()Landroid/graphics/BlendMode;" since="31" deprecated="31" />
+		<method name="getSecondHandTintList()Landroid/content/res/ColorStateList;" since="31" deprecated="31" />
+		<method name="getTimeZone()Ljava/lang/String;" since="31" deprecated="31" />
+		<method name="setDial(Landroid/graphics/drawable/Icon;)V" since="31" deprecated="31" />
+		<method name="setDialTintBlendMode(Landroid/graphics/BlendMode;)V" since="31" deprecated="31" />
+		<method name="setDialTintList(Landroid/content/res/ColorStateList;)V" since="31" deprecated="31" />
+		<method name="setHourHand(Landroid/graphics/drawable/Icon;)V" since="31" deprecated="31" />
+		<method name="setHourHandTintBlendMode(Landroid/graphics/BlendMode;)V" since="31" deprecated="31" />
+		<method name="setHourHandTintList(Landroid/content/res/ColorStateList;)V" since="31" deprecated="31" />
+		<method name="setMinuteHand(Landroid/graphics/drawable/Icon;)V" since="31" deprecated="31" />
+		<method name="setMinuteHandTintBlendMode(Landroid/graphics/BlendMode;)V" since="31" deprecated="31" />
+		<method name="setMinuteHandTintList(Landroid/content/res/ColorStateList;)V" since="31" deprecated="31" />
+		<method name="setSecondHand(Landroid/graphics/drawable/Icon;)V" since="31" deprecated="31" />
+		<method name="setSecondHandTintBlendMode(Landroid/graphics/BlendMode;)V" since="31" deprecated="31" />
+		<method name="setSecondHandTintList(Landroid/content/res/ColorStateList;)V" since="31" deprecated="31" />
+		<method name="setTimeZone(Ljava/lang/String;)V" since="31" deprecated="31" />
+	</class>
+	<class name="android/widget/ArrayAdapter" since="1">
+		<extends name="android/widget/BaseAdapter" />
+		<implements name="android/widget/Filterable" />
+		<implements name="android/widget/ThemedSpinnerAdapter" since="23" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;II)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;IILjava/util/List;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;II[Ljava/lang/Object;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILjava/util/List;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I[Ljava/lang/Object;)V" />
+		<method name="add(Ljava/lang/Object;)V" />
+		<method name="addAll(Ljava/util/Collection;)V" since="11" />
+		<method name="addAll([Ljava/lang/Object;)V" since="11" />
+		<method name="clear()V" />
+		<method name="createFromResource(Landroid/content/Context;II)Landroid/widget/ArrayAdapter;" />
+		<method name="getContext()Landroid/content/Context;" />
+		<method name="getPosition(Ljava/lang/Object;)I" />
+		<method name="insert(Ljava/lang/Object;I)V" />
+		<method name="remove(Ljava/lang/Object;)V" />
+		<method name="setDropDownViewResource(I)V" />
+		<method name="setNotifyOnChange(Z)V" />
+		<method name="sort(Ljava/util/Comparator;)V" since="3" />
+	</class>
+	<class name="android/widget/AutoCompleteTextView" since="1">
+		<extends name="android/widget/EditText" />
+		<implements name="android/widget/Filter$FilterListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;IILandroid/content/res/Resources$Theme;)V" since="24" />
+		<method name="clearListSelection()V" since="3" />
+		<method name="convertSelectionToString(Ljava/lang/Object;)Ljava/lang/CharSequence;" />
+		<method name="dismissDropDown()V" />
+		<method name="enoughToFilter()Z" />
+		<method name="getAdapter()Landroid/widget/ListAdapter;" />
+		<method name="getCompletionHint()Ljava/lang/CharSequence;" since="16" />
+		<method name="getDropDownAnchor()I" since="3" />
+		<method name="getDropDownBackground()Landroid/graphics/drawable/Drawable;" since="5" />
+		<method name="getDropDownHeight()I" since="4" />
+		<method name="getDropDownHorizontalOffset()I" since="5" />
+		<method name="getDropDownVerticalOffset()I" since="5" />
+		<method name="getDropDownWidth()I" since="3" />
+		<method name="getFilter()Landroid/widget/Filter;" />
+		<method name="getInputMethodMode()I" since="29" />
+		<method name="getItemClickListener()Landroid/widget/AdapterView$OnItemClickListener;" deprecated="15" />
+		<method name="getItemSelectedListener()Landroid/widget/AdapterView$OnItemSelectedListener;" deprecated="15" />
+		<method name="getListSelection()I" since="3" />
+		<method name="getOnItemClickListener()Landroid/widget/AdapterView$OnItemClickListener;" since="3" />
+		<method name="getOnItemSelectedListener()Landroid/widget/AdapterView$OnItemSelectedListener;" since="3" />
+		<method name="getThreshold()I" />
+		<method name="getValidator()Landroid/widget/AutoCompleteTextView$Validator;" />
+		<method name="isPerformingCompletion()Z" since="3" />
+		<method name="isPopupShowing()Z" />
+		<method name="performCompletion()V" />
+		<method name="performFiltering(Ljava/lang/CharSequence;I)V" />
+		<method name="performValidation()V" />
+		<method name="refreshAutoCompleteResults()V" since="29" />
+		<method name="replaceText(Ljava/lang/CharSequence;)V" />
+		<method name="setAdapter(Landroid/widget/ListAdapter;)V" />
+		<method name="setCompletionHint(Ljava/lang/CharSequence;)V" />
+		<method name="setDropDownAnchor(I)V" since="3" />
+		<method name="setDropDownBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" since="5" />
+		<method name="setDropDownBackgroundResource(I)V" since="5" />
+		<method name="setDropDownHeight(I)V" since="4" />
+		<method name="setDropDownHorizontalOffset(I)V" since="5" />
+		<method name="setDropDownVerticalOffset(I)V" since="5" />
+		<method name="setDropDownWidth(I)V" since="3" />
+		<method name="setInputMethodMode(I)V" since="29" />
+		<method name="setListSelection(I)V" since="3" />
+		<method name="setOnDismissListener(Landroid/widget/AutoCompleteTextView$OnDismissListener;)V" since="17" />
+		<method name="setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V" />
+		<method name="setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V" />
+		<method name="setText(Ljava/lang/CharSequence;Z)V" since="17" />
+		<method name="setThreshold(I)V" />
+		<method name="setValidator(Landroid/widget/AutoCompleteTextView$Validator;)V" />
+		<method name="showDropDown()V" />
+	</class>
+	<class name="android/widget/AutoCompleteTextView$OnDismissListener" since="17">
+		<extends name="java/lang/Object" />
+		<method name="onDismiss()V" />
+	</class>
+	<class name="android/widget/AutoCompleteTextView$Validator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="fixText(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+		<method name="isValid(Ljava/lang/CharSequence;)Z" />
+	</class>
+	<class name="android/widget/BaseAdapter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/widget/ListAdapter" />
+		<implements name="android/widget/SpinnerAdapter" />
+		<method name="&lt;init&gt;()V" />
+		<method name="notifyDataSetChanged()V" />
+		<method name="notifyDataSetInvalidated()V" />
+		<method name="setAutofillOptions([Ljava/lang/CharSequence;)V" since="27" />
+	</class>
+	<class name="android/widget/BaseExpandableListAdapter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/widget/ExpandableListAdapter" />
+		<implements name="android/widget/HeterogeneousExpandableList" since="8" />
+		<method name="&lt;init&gt;()V" />
+		<method name="notifyDataSetChanged()V" />
+		<method name="notifyDataSetInvalidated()V" />
+	</class>
+	<class name="android/widget/Button" since="1">
+		<extends name="android/widget/TextView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+	</class>
+	<class name="android/widget/CalendarView" since="11">
+		<extends name="android/widget/FrameLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getDate()J" />
+		<method name="getDateTextAppearance()I" since="16" />
+		<method name="getFirstDayOfWeek()I" />
+		<method name="getFocusedMonthDateColor()I" since="16" deprecated="23" />
+		<method name="getMaxDate()J" />
+		<method name="getMinDate()J" />
+		<method name="getSelectedDateVerticalBar()Landroid/graphics/drawable/Drawable;" since="16" deprecated="23" />
+		<method name="getSelectedWeekBackgroundColor()I" since="16" deprecated="23" />
+		<method name="getShowWeekNumber()Z" deprecated="24" />
+		<method name="getShownWeekCount()I" since="16" deprecated="23" />
+		<method name="getUnfocusedMonthDateColor()I" since="16" deprecated="23" />
+		<method name="getWeekDayTextAppearance()I" since="16" />
+		<method name="getWeekNumberColor()I" since="16" deprecated="23" />
+		<method name="getWeekSeparatorLineColor()I" since="16" deprecated="23" />
+		<method name="setDate(J)V" />
+		<method name="setDate(JZZ)V" />
+		<method name="setDateTextAppearance(I)V" since="16" />
+		<method name="setFirstDayOfWeek(I)V" />
+		<method name="setFocusedMonthDateColor(I)V" since="16" deprecated="23" />
+		<method name="setMaxDate(J)V" />
+		<method name="setMinDate(J)V" />
+		<method name="setOnDateChangeListener(Landroid/widget/CalendarView$OnDateChangeListener;)V" />
+		<method name="setSelectedDateVerticalBar(I)V" since="16" deprecated="23" />
+		<method name="setSelectedDateVerticalBar(Landroid/graphics/drawable/Drawable;)V" since="16" deprecated="23" />
+		<method name="setSelectedWeekBackgroundColor(I)V" since="16" deprecated="23" />
+		<method name="setShowWeekNumber(Z)V" deprecated="24" />
+		<method name="setShownWeekCount(I)V" since="16" deprecated="23" />
+		<method name="setUnfocusedMonthDateColor(I)V" since="16" deprecated="23" />
+		<method name="setWeekDayTextAppearance(I)V" since="16" />
+		<method name="setWeekNumberColor(I)V" since="16" deprecated="23" />
+		<method name="setWeekSeparatorLineColor(I)V" since="16" deprecated="23" />
+	</class>
+	<class name="android/widget/CalendarView$OnDateChangeListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onSelectedDayChange(Landroid/widget/CalendarView;III)V" />
+	</class>
+	<class name="android/widget/CheckBox" since="1">
+		<extends name="android/widget/CompoundButton" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+	</class>
+	<class name="android/widget/Checkable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="isChecked()Z" />
+		<method name="setChecked(Z)V" />
+		<method name="toggle()V" />
+	</class>
+	<class name="android/widget/CheckedTextView" since="1">
+		<extends name="android/widget/TextView" />
+		<implements name="android/widget/Checkable" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getCheckMarkDrawable()Landroid/graphics/drawable/Drawable;" since="16" />
+		<method name="getCheckMarkTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getCheckMarkTintList()Landroid/content/res/ColorStateList;" since="21" />
+		<method name="getCheckMarkTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" />
+		<method name="onPaddingChanged(I)V" since="16" removed="17" />
+		<method name="setCheckMarkDrawable(I)V" />
+		<method name="setCheckMarkDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setCheckMarkTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setCheckMarkTintList(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setCheckMarkTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" />
+	</class>
+	<class name="android/widget/Chronometer" since="1">
+		<extends name="android/widget/TextView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getBase()J" />
+		<method name="getFormat()Ljava/lang/String;" />
+		<method name="getOnChronometerTickListener()Landroid/widget/Chronometer$OnChronometerTickListener;" since="3" />
+		<method name="isCountDown()Z" since="24" />
+		<method name="isTheFinalCountDown()Z" since="26" />
+		<method name="setBase(J)V" />
+		<method name="setCountDown(Z)V" since="24" />
+		<method name="setFormat(Ljava/lang/String;)V" />
+		<method name="setOnChronometerTickListener(Landroid/widget/Chronometer$OnChronometerTickListener;)V" since="3" />
+		<method name="start()V" />
+		<method name="stop()V" />
+	</class>
+	<class name="android/widget/Chronometer$OnChronometerTickListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onChronometerTick(Landroid/widget/Chronometer;)V" />
+	</class>
+	<class name="android/widget/CompoundButton" since="1">
+		<extends name="android/widget/Button" />
+		<implements name="android/widget/Checkable" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getButtonDrawable()Landroid/graphics/drawable/Drawable;" since="23" />
+		<method name="getButtonTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getButtonTintList()Landroid/content/res/ColorStateList;" since="21" />
+		<method name="getButtonTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" />
+		<method name="setButtonDrawable(I)V" />
+		<method name="setButtonDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setButtonIcon(Landroid/graphics/drawable/Icon;)V" since="31" />
+		<method name="setButtonTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setButtonTintList(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setButtonTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" />
+		<method name="setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V" />
+	</class>
+	<class name="android/widget/CompoundButton$OnCheckedChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onCheckedChanged(Landroid/widget/CompoundButton;Z)V" />
+	</class>
+	<class name="android/widget/CursorAdapter" since="1">
+		<extends name="android/widget/BaseAdapter" />
+		<implements name="android/widget/Filterable" />
+		<implements name="android/widget/ThemedSpinnerAdapter" since="23" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/database/Cursor;)V" deprecated="15" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/database/Cursor;I)V" since="11" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/database/Cursor;Z)V" />
+		<method name="bindView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;)V" />
+		<method name="changeCursor(Landroid/database/Cursor;)V" />
+		<method name="convertToString(Landroid/database/Cursor;)Ljava/lang/CharSequence;" />
+		<method name="getCursor()Landroid/database/Cursor;" />
+		<method name="getFilterQueryProvider()Landroid/widget/FilterQueryProvider;" />
+		<method name="init(Landroid/content/Context;Landroid/database/Cursor;Z)V" deprecated="15" />
+		<method name="newDropDownView(Landroid/content/Context;Landroid/database/Cursor;Landroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="newView(Landroid/content/Context;Landroid/database/Cursor;Landroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="onContentChanged()V" since="3" />
+		<method name="runQueryOnBackgroundThread(Ljava/lang/CharSequence;)Landroid/database/Cursor;" />
+		<method name="setFilterQueryProvider(Landroid/widget/FilterQueryProvider;)V" />
+		<method name="swapCursor(Landroid/database/Cursor;)Landroid/database/Cursor;" since="11" />
+		<field name="FLAG_AUTO_REQUERY" since="11" deprecated="15" />
+		<field name="FLAG_REGISTER_CONTENT_OBSERVER" since="11" />
+	</class>
+	<class name="android/widget/CursorTreeAdapter" since="1">
+		<extends name="android/widget/BaseExpandableListAdapter" />
+		<implements name="android/widget/Filterable" />
+		<method name="&lt;init&gt;(Landroid/database/Cursor;Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/database/Cursor;Landroid/content/Context;Z)V" />
+		<method name="bindChildView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;Z)V" />
+		<method name="bindGroupView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;Z)V" />
+		<method name="changeCursor(Landroid/database/Cursor;)V" />
+		<method name="convertToString(Landroid/database/Cursor;)Ljava/lang/String;" />
+		<method name="getChild(II)Landroid/database/Cursor;" />
+		<method name="getChildrenCursor(Landroid/database/Cursor;)Landroid/database/Cursor;" />
+		<method name="getCursor()Landroid/database/Cursor;" />
+		<method name="getFilterQueryProvider()Landroid/widget/FilterQueryProvider;" />
+		<method name="getGroup(I)Landroid/database/Cursor;" />
+		<method name="newChildView(Landroid/content/Context;Landroid/database/Cursor;ZLandroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="newGroupView(Landroid/content/Context;Landroid/database/Cursor;ZLandroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="notifyDataSetChanged(Z)V" />
+		<method name="runQueryOnBackgroundThread(Ljava/lang/CharSequence;)Landroid/database/Cursor;" />
+		<method name="setChildrenCursor(ILandroid/database/Cursor;)V" />
+		<method name="setFilterQueryProvider(Landroid/widget/FilterQueryProvider;)V" />
+		<method name="setGroupCursor(Landroid/database/Cursor;)V" />
+	</class>
+	<class name="android/widget/DatePicker" since="1">
+		<extends name="android/widget/FrameLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getCalendarView()Landroid/widget/CalendarView;" since="12" deprecated="24" />
+		<method name="getCalendarViewShown()Z" since="11" deprecated="24" />
+		<method name="getDayOfMonth()I" />
+		<method name="getFirstDayOfWeek()I" since="21" />
+		<method name="getMaxDate()J" since="11" />
+		<method name="getMinDate()J" since="11" />
+		<method name="getMonth()I" />
+		<method name="getSpinnersShown()Z" since="11" deprecated="24" />
+		<method name="getYear()I" />
+		<method name="init(IIILandroid/widget/DatePicker$OnDateChangedListener;)V" />
+		<method name="setCalendarViewShown(Z)V" since="11" deprecated="24" />
+		<method name="setFirstDayOfWeek(I)V" since="21" />
+		<method name="setMaxDate(J)V" since="11" />
+		<method name="setMinDate(J)V" since="11" />
+		<method name="setOnDateChangedListener(Landroid/widget/DatePicker$OnDateChangedListener;)V" since="26" />
+		<method name="setSpinnersShown(Z)V" since="11" deprecated="24" />
+		<method name="updateDate(III)V" />
+	</class>
+	<class name="android/widget/DatePicker$OnDateChangedListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onDateChanged(Landroid/widget/DatePicker;III)V" />
+	</class>
+	<class name="android/widget/DialerFilter" since="1" deprecated="26">
+		<extends name="android/widget/RelativeLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="append(Ljava/lang/String;)V" deprecated="29" />
+		<method name="clearText()V" deprecated="29" />
+		<method name="getDigits()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getFilterText()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getLetters()Ljava/lang/CharSequence;" deprecated="29" />
+		<method name="getMode()I" deprecated="29" />
+		<method name="isQwertyKeyboard()Z" deprecated="29" />
+		<method name="onModeChange(II)V" deprecated="29" />
+		<method name="removeFilterWatcher(Landroid/text/TextWatcher;)V" deprecated="29" />
+		<method name="setDigitsWatcher(Landroid/text/TextWatcher;)V" deprecated="29" />
+		<method name="setFilterWatcher(Landroid/text/TextWatcher;)V" deprecated="29" />
+		<method name="setLettersWatcher(Landroid/text/TextWatcher;)V" deprecated="29" />
+		<method name="setMode(I)V" deprecated="29" />
+		<field name="DIGITS_AND_LETTERS" deprecated="29" />
+		<field name="DIGITS_AND_LETTERS_NO_DIGITS" deprecated="29" />
+		<field name="DIGITS_AND_LETTERS_NO_LETTERS" deprecated="29" />
+		<field name="DIGITS_ONLY" deprecated="29" />
+		<field name="LETTERS_ONLY" deprecated="29" />
+	</class>
+	<class name="android/widget/DigitalClock" since="1" deprecated="17">
+		<extends name="android/widget/TextView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+	</class>
+	<class name="android/widget/EdgeEffect" since="14">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="31" />
+		<method name="draw(Landroid/graphics/Canvas;)Z" />
+		<method name="finish()V" />
+		<method name="getBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getColor()I" since="21" />
+		<method name="getDistance()F" since="31" />
+		<method name="getMaxHeight()I" since="21" />
+		<method name="isFinished()Z" />
+		<method name="onAbsorb(I)V" />
+		<method name="onPull(F)V" />
+		<method name="onPull(FF)V" since="21" />
+		<method name="onPullDistance(FF)F" since="31" />
+		<method name="onRelease()V" />
+		<method name="setBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setColor(I)V" since="21" />
+		<method name="setSize(II)V" />
+		<field name="DEFAULT_BLEND_MODE" since="29" />
+	</class>
+	<class name="android/widget/EditText" since="1">
+		<extends name="android/widget/TextView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="extendSelection(I)V" />
+		<method name="getText()Landroid/text/Editable;" />
+		<method name="selectAll()V" />
+		<method name="setSelection(I)V" />
+		<method name="setSelection(II)V" />
+	</class>
+	<class name="android/widget/ExpandableListAdapter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="areAllItemsEnabled()Z" />
+		<method name="getChild(II)Ljava/lang/Object;" />
+		<method name="getChildId(II)J" />
+		<method name="getChildView(IIZLandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="getChildrenCount(I)I" />
+		<method name="getCombinedChildId(JJ)J" />
+		<method name="getCombinedGroupId(J)J" />
+		<method name="getGroup(I)Ljava/lang/Object;" />
+		<method name="getGroupCount()I" />
+		<method name="getGroupId(I)J" />
+		<method name="getGroupView(IZLandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="hasStableIds()Z" />
+		<method name="isChildSelectable(II)Z" />
+		<method name="isEmpty()Z" />
+		<method name="onGroupCollapsed(I)V" />
+		<method name="onGroupExpanded(I)V" />
+		<method name="registerDataSetObserver(Landroid/database/DataSetObserver;)V" />
+		<method name="unregisterDataSetObserver(Landroid/database/DataSetObserver;)V" />
+	</class>
+	<class name="android/widget/ExpandableListView" since="1">
+		<extends name="android/widget/ListView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="collapseGroup(I)Z" />
+		<method name="expandGroup(I)Z" />
+		<method name="expandGroup(IZ)Z" since="14" />
+		<method name="getExpandableListAdapter()Landroid/widget/ExpandableListAdapter;" />
+		<method name="getExpandableListPosition(I)J" />
+		<method name="getFlatListPosition(J)I" />
+		<method name="getPackedPositionChild(J)I" />
+		<method name="getPackedPositionForChild(II)J" />
+		<method name="getPackedPositionForGroup(I)J" />
+		<method name="getPackedPositionGroup(J)I" />
+		<method name="getPackedPositionType(J)I" />
+		<method name="getSelectedId()J" />
+		<method name="getSelectedPosition()J" />
+		<method name="isGroupExpanded(I)Z" />
+		<method name="setAdapter(Landroid/widget/ExpandableListAdapter;)V" />
+		<method name="setChildDivider(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setChildIndicator(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setChildIndicatorBounds(II)V" />
+		<method name="setChildIndicatorBoundsRelative(II)V" since="18" />
+		<method name="setGroupIndicator(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setIndicatorBounds(II)V" />
+		<method name="setIndicatorBoundsRelative(II)V" since="18" />
+		<method name="setOnChildClickListener(Landroid/widget/ExpandableListView$OnChildClickListener;)V" />
+		<method name="setOnGroupClickListener(Landroid/widget/ExpandableListView$OnGroupClickListener;)V" />
+		<method name="setOnGroupCollapseListener(Landroid/widget/ExpandableListView$OnGroupCollapseListener;)V" />
+		<method name="setOnGroupExpandListener(Landroid/widget/ExpandableListView$OnGroupExpandListener;)V" />
+		<method name="setSelectedChild(IIZ)Z" />
+		<method name="setSelectedGroup(I)V" />
+		<field name="CHILD_INDICATOR_INHERIT" />
+		<field name="PACKED_POSITION_TYPE_CHILD" />
+		<field name="PACKED_POSITION_TYPE_GROUP" />
+		<field name="PACKED_POSITION_TYPE_NULL" />
+		<field name="PACKED_POSITION_VALUE_NULL" />
+	</class>
+	<class name="android/widget/ExpandableListView$ExpandableListContextMenuInfo" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/ContextMenu$ContextMenuInfo" />
+		<method name="&lt;init&gt;(Landroid/view/View;JJ)V" />
+		<field name="id" />
+		<field name="packedPosition" />
+		<field name="targetView" />
+	</class>
+	<class name="android/widget/ExpandableListView$OnChildClickListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onChildClick(Landroid/widget/ExpandableListView;Landroid/view/View;IIJ)Z" />
+	</class>
+	<class name="android/widget/ExpandableListView$OnGroupClickListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onGroupClick(Landroid/widget/ExpandableListView;Landroid/view/View;IJ)Z" />
+	</class>
+	<class name="android/widget/ExpandableListView$OnGroupCollapseListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onGroupCollapse(I)V" />
+	</class>
+	<class name="android/widget/ExpandableListView$OnGroupExpandListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onGroupExpand(I)V" />
+	</class>
+	<class name="android/widget/Filter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="convertResultToString(Ljava/lang/Object;)Ljava/lang/CharSequence;" />
+		<method name="filter(Ljava/lang/CharSequence;)V" />
+		<method name="filter(Ljava/lang/CharSequence;Landroid/widget/Filter$FilterListener;)V" />
+		<method name="performFiltering(Ljava/lang/CharSequence;)Landroid/widget/Filter$FilterResults;" />
+		<method name="publishResults(Ljava/lang/CharSequence;Landroid/widget/Filter$FilterResults;)V" />
+	</class>
+	<class name="android/widget/Filter$FilterListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onFilterComplete(I)V" />
+	</class>
+	<class name="android/widget/Filter$FilterResults" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<field name="count" />
+		<field name="values" />
+	</class>
+	<class name="android/widget/FilterQueryProvider" since="1">
+		<extends name="java/lang/Object" />
+		<method name="runQuery(Ljava/lang/CharSequence;)Landroid/database/Cursor;" />
+	</class>
+	<class name="android/widget/Filterable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getFilter()Landroid/widget/Filter;" />
+	</class>
+	<class name="android/widget/FrameLayout" since="1">
+		<extends name="android/view/ViewGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="generateDefaultLayoutParams()Landroid/widget/FrameLayout$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/FrameLayout$LayoutParams;" />
+		<method name="getConsiderGoneChildrenWhenMeasuring()Z" deprecated="15" />
+		<method name="getForeground()Landroid/graphics/drawable/Drawable;" removed="23" />
+		<method name="getForegroundGravity()I" since="16" removed="23" />
+		<method name="getForegroundTintList()Landroid/content/res/ColorStateList;" since="21" removed="23" />
+		<method name="getForegroundTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" removed="23" />
+		<method name="getMeasureAllChildren()Z" since="14" />
+		<method name="setForeground(Landroid/graphics/drawable/Drawable;)V" removed="23" />
+		<method name="setForegroundGravity(I)V" />
+		<method name="setForegroundTintList(Landroid/content/res/ColorStateList;)V" since="21" removed="23" />
+		<method name="setForegroundTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" removed="23" />
+		<method name="setMeasureAllChildren(Z)V" />
+	</class>
+	<class name="android/widget/FrameLayout$LayoutParams" since="1">
+		<extends name="android/view/ViewGroup$MarginLayoutParams" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$MarginLayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/widget/FrameLayout$LayoutParams;)V" since="19" />
+		<field name="UNSPECIFIED_GRAVITY" since="24" />
+		<field name="gravity" />
+	</class>
+	<class name="android/widget/Gallery" since="1" deprecated="16">
+		<extends name="android/widget/AbsSpinner" />
+		<implements name="android/view/GestureDetector$OnGestureListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="setAnimationDuration(I)V" deprecated="29" />
+		<method name="setCallbackDuringFling(Z)V" deprecated="29" />
+		<method name="setGravity(I)V" deprecated="29" />
+		<method name="setSpacing(I)V" deprecated="29" />
+		<method name="setUnselectedAlpha(F)V" deprecated="29" />
+	</class>
+	<class name="android/widget/Gallery$LayoutParams" since="1" deprecated="29">
+		<extends name="android/view/ViewGroup$LayoutParams" />
+		<method name="&lt;init&gt;(II)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" deprecated="29" />
+	</class>
+	<class name="android/widget/GridLayout" since="14">
+		<extends name="android/view/ViewGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="generateDefaultLayoutParams()Landroid/widget/GridLayout$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/GridLayout$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/GridLayout$LayoutParams;" />
+		<method name="getAlignmentMode()I" />
+		<method name="getColumnCount()I" />
+		<method name="getOrientation()I" />
+		<method name="getRowCount()I" />
+		<method name="getUseDefaultMargins()Z" />
+		<method name="isColumnOrderPreserved()Z" />
+		<method name="isRowOrderPreserved()Z" />
+		<method name="setAlignmentMode(I)V" />
+		<method name="setColumnCount(I)V" />
+		<method name="setColumnOrderPreserved(Z)V" />
+		<method name="setOrientation(I)V" />
+		<method name="setRowCount(I)V" />
+		<method name="setRowOrderPreserved(Z)V" />
+		<method name="setUseDefaultMargins(Z)V" />
+		<method name="spec(I)Landroid/widget/GridLayout$Spec;" />
+		<method name="spec(IF)Landroid/widget/GridLayout$Spec;" since="21" />
+		<method name="spec(II)Landroid/widget/GridLayout$Spec;" />
+		<method name="spec(IIF)Landroid/widget/GridLayout$Spec;" since="21" />
+		<method name="spec(IILandroid/widget/GridLayout$Alignment;)Landroid/widget/GridLayout$Spec;" />
+		<method name="spec(IILandroid/widget/GridLayout$Alignment;F)Landroid/widget/GridLayout$Spec;" since="21" />
+		<method name="spec(ILandroid/widget/GridLayout$Alignment;)Landroid/widget/GridLayout$Spec;" />
+		<method name="spec(ILandroid/widget/GridLayout$Alignment;F)Landroid/widget/GridLayout$Spec;" since="21" />
+		<field name="ALIGN_BOUNDS" />
+		<field name="ALIGN_MARGINS" />
+		<field name="BASELINE" />
+		<field name="BOTTOM" />
+		<field name="CENTER" />
+		<field name="END" since="16" />
+		<field name="FILL" />
+		<field name="HORIZONTAL" />
+		<field name="LEFT" />
+		<field name="RIGHT" />
+		<field name="START" since="16" />
+		<field name="TOP" />
+		<field name="UNDEFINED" />
+		<field name="VERTICAL" />
+	</class>
+	<class name="android/widget/GridLayout$Alignment" since="14">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/widget/GridLayout$LayoutParams" since="14">
+		<extends name="android/view/ViewGroup$MarginLayoutParams" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$MarginLayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/widget/GridLayout$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/widget/GridLayout$Spec;Landroid/widget/GridLayout$Spec;)V" />
+		<method name="setGravity(I)V" />
+		<field name="columnSpec" />
+		<field name="rowSpec" />
+	</class>
+	<class name="android/widget/GridLayout$Spec" since="14">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="android/widget/GridView" since="1">
+		<extends name="android/widget/AbsListView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getAdapter()Landroid/widget/ListAdapter;" />
+		<method name="getColumnWidth()I" since="16" />
+		<method name="getGravity()I" since="16" />
+		<method name="getHorizontalSpacing()I" since="16" />
+		<method name="getNumColumns()I" since="11" />
+		<method name="getRequestedColumnWidth()I" since="16" />
+		<method name="getRequestedHorizontalSpacing()I" since="16" />
+		<method name="getStretchMode()I" />
+		<method name="getVerticalSpacing()I" since="16" />
+		<method name="setAdapter(Landroid/widget/ListAdapter;)V" />
+		<method name="setColumnWidth(I)V" />
+		<method name="setGravity(I)V" />
+		<method name="setHorizontalSpacing(I)V" />
+		<method name="setNumColumns(I)V" />
+		<method name="setStretchMode(I)V" />
+		<method name="setVerticalSpacing(I)V" />
+		<method name="smoothScrollByOffset(I)V" since="11" />
+		<field name="AUTO_FIT" />
+		<field name="NO_STRETCH" />
+		<field name="STRETCH_COLUMN_WIDTH" />
+		<field name="STRETCH_SPACING" />
+		<field name="STRETCH_SPACING_UNIFORM" since="3" />
+	</class>
+	<class name="android/widget/HeaderViewListAdapter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/widget/Filterable" />
+		<implements name="android/widget/WrapperListAdapter" />
+		<method name="&lt;init&gt;(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)V" />
+		<method name="getFootersCount()I" />
+		<method name="getHeadersCount()I" />
+		<method name="removeFooter(Landroid/view/View;)Z" />
+		<method name="removeHeader(Landroid/view/View;)Z" />
+	</class>
+	<class name="android/widget/HeterogeneousExpandableList" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getChildType(II)I" />
+		<method name="getChildTypeCount()I" />
+		<method name="getGroupType(I)I" />
+		<method name="getGroupTypeCount()I" />
+	</class>
+	<class name="android/widget/HorizontalScrollView" since="3">
+		<extends name="android/widget/FrameLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="arrowScroll(I)Z" />
+		<method name="computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I" />
+		<method name="executeKeyEvent(Landroid/view/KeyEvent;)Z" />
+		<method name="fling(I)V" />
+		<method name="fullScroll(I)Z" />
+		<method name="getLeftEdgeEffectColor()I" since="29" />
+		<method name="getMaxScrollAmount()I" />
+		<method name="getRightEdgeEffectColor()I" since="29" />
+		<method name="isFillViewport()Z" />
+		<method name="isSmoothScrollingEnabled()Z" />
+		<method name="pageScroll(I)Z" />
+		<method name="setEdgeEffectColor(I)V" since="29" />
+		<method name="setFillViewport(Z)V" />
+		<method name="setLeftEdgeEffectColor(I)V" since="29" />
+		<method name="setRightEdgeEffectColor(I)V" since="29" />
+		<method name="setSmoothScrollingEnabled(Z)V" />
+		<method name="smoothScrollBy(II)V" />
+		<method name="smoothScrollTo(II)V" />
+	</class>
+	<class name="android/widget/ImageButton" since="1">
+		<extends name="android/widget/ImageView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+	</class>
+	<class name="android/widget/ImageSwitcher" since="1">
+		<extends name="android/widget/ViewSwitcher" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="setImageDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setImageResource(I)V" />
+		<method name="setImageURI(Landroid/net/Uri;)V" />
+	</class>
+	<class name="android/widget/ImageView" since="1">
+		<extends name="android/view/View" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="animateTransform(Landroid/graphics/Matrix;)V" since="29" />
+		<method name="clearColorFilter()V" />
+		<method name="getAdjustViewBounds()Z" since="16" />
+		<method name="getBaselineAlignBottom()Z" since="11" />
+		<method name="getColorFilter()Landroid/graphics/ColorFilter;" since="16" />
+		<method name="getCropToPadding()Z" since="16" />
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="getImageAlpha()I" since="16" />
+		<method name="getImageMatrix()Landroid/graphics/Matrix;" />
+		<method name="getImageTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getImageTintList()Landroid/content/res/ColorStateList;" since="21" />
+		<method name="getImageTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" />
+		<method name="getMaxHeight()I" since="16" />
+		<method name="getMaxWidth()I" since="16" />
+		<method name="getScaleType()Landroid/widget/ImageView$ScaleType;" />
+		<method name="setAdjustViewBounds(Z)V" />
+		<method name="setAlpha(I)V" deprecated="16" />
+		<method name="setBaseline(I)V" since="11" />
+		<method name="setBaselineAlignBottom(Z)V" since="11" />
+		<method name="setColorFilter(I)V" since="8" />
+		<method name="setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V" />
+		<method name="setColorFilter(Landroid/graphics/ColorFilter;)V" />
+		<method name="setCropToPadding(Z)V" since="16" />
+		<method name="setFrame(IIII)Z" />
+		<method name="setImageAlpha(I)V" since="16" />
+		<method name="setImageBitmap(Landroid/graphics/Bitmap;)V" />
+		<method name="setImageDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setImageIcon(Landroid/graphics/drawable/Icon;)V" since="23" />
+		<method name="setImageLevel(I)V" />
+		<method name="setImageMatrix(Landroid/graphics/Matrix;)V" />
+		<method name="setImageResource(I)V" />
+		<method name="setImageState([IZ)V" />
+		<method name="setImageTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setImageTintList(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setImageTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" />
+		<method name="setImageURI(Landroid/net/Uri;)V" />
+		<method name="setMaxHeight(I)V" />
+		<method name="setMaxWidth(I)V" />
+		<method name="setScaleType(Landroid/widget/ImageView$ScaleType;)V" />
+	</class>
+	<class name="android/widget/ImageView$ScaleType" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/widget/ImageView$ScaleType;" />
+		<method name="values()[Landroid/widget/ImageView$ScaleType;" />
+		<field name="CENTER" />
+		<field name="CENTER_CROP" />
+		<field name="CENTER_INSIDE" />
+		<field name="FIT_CENTER" />
+		<field name="FIT_END" />
+		<field name="FIT_START" />
+		<field name="FIT_XY" />
+		<field name="MATRIX" />
+	</class>
+	<class name="android/widget/LinearLayout" since="1">
+		<extends name="android/view/ViewGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="11" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="generateDefaultLayoutParams()Landroid/widget/LinearLayout$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/LinearLayout$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/LinearLayout$LayoutParams;" />
+		<method name="getBaselineAlignedChildIndex()I" />
+		<method name="getDividerDrawable()Landroid/graphics/drawable/Drawable;" since="16" />
+		<method name="getDividerPadding()I" since="14" />
+		<method name="getGravity()I" since="24" />
+		<method name="getOrientation()I" />
+		<method name="getShowDividers()I" since="11" />
+		<method name="getWeightSum()F" />
+		<method name="isBaselineAligned()Z" />
+		<method name="isMeasureWithLargestChildEnabled()Z" since="11" />
+		<method name="setBaselineAligned(Z)V" />
+		<method name="setBaselineAlignedChildIndex(I)V" />
+		<method name="setDividerDrawable(Landroid/graphics/drawable/Drawable;)V" since="11" />
+		<method name="setDividerPadding(I)V" since="14" />
+		<method name="setGravity(I)V" />
+		<method name="setHorizontalGravity(I)V" />
+		<method name="setMeasureWithLargestChildEnabled(Z)V" since="11" />
+		<method name="setOrientation(I)V" />
+		<method name="setShowDividers(I)V" since="11" />
+		<method name="setVerticalGravity(I)V" />
+		<method name="setWeightSum(F)V" />
+		<field name="HORIZONTAL" />
+		<field name="SHOW_DIVIDER_BEGINNING" since="11" />
+		<field name="SHOW_DIVIDER_END" since="11" />
+		<field name="SHOW_DIVIDER_MIDDLE" since="11" />
+		<field name="SHOW_DIVIDER_NONE" since="11" />
+		<field name="VERTICAL" />
+	</class>
+	<class name="android/widget/LinearLayout$LayoutParams" since="1">
+		<extends name="android/view/ViewGroup$MarginLayoutParams" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(IIF)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$MarginLayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/widget/LinearLayout$LayoutParams;)V" since="19" />
+		<method name="debug(Ljava/lang/String;)Ljava/lang/String;" />
+		<field name="gravity" />
+		<field name="weight" />
+	</class>
+	<class name="android/widget/ListAdapter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/widget/Adapter" />
+		<method name="areAllItemsEnabled()Z" />
+		<method name="isEnabled(I)Z" />
+	</class>
+	<class name="android/widget/ListPopupWindow" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" />
+		<method name="clearListSelection()V" />
+		<method name="createDragToOpenListener(Landroid/view/View;)Landroid/view/View$OnTouchListener;" since="19" />
+		<method name="dismiss()V" />
+		<method name="getAnchorView()Landroid/view/View;" />
+		<method name="getAnimationStyle()I" />
+		<method name="getBackground()Landroid/graphics/drawable/Drawable;" />
+		<method name="getEpicenterBounds()Landroid/graphics/Rect;" since="29" />
+		<method name="getHeight()I" />
+		<method name="getHorizontalOffset()I" />
+		<method name="getInputMethodMode()I" />
+		<method name="getListView()Landroid/widget/ListView;" />
+		<method name="getPromptPosition()I" />
+		<method name="getSelectedItem()Ljava/lang/Object;" />
+		<method name="getSelectedItemId()J" />
+		<method name="getSelectedItemPosition()I" />
+		<method name="getSelectedView()Landroid/view/View;" />
+		<method name="getSoftInputMode()I" />
+		<method name="getVerticalOffset()I" />
+		<method name="getWidth()I" />
+		<method name="isInputMethodNotNeeded()Z" />
+		<method name="isModal()Z" />
+		<method name="isShowing()Z" />
+		<method name="onKeyDown(ILandroid/view/KeyEvent;)Z" />
+		<method name="onKeyPreIme(ILandroid/view/KeyEvent;)Z" />
+		<method name="onKeyUp(ILandroid/view/KeyEvent;)Z" />
+		<method name="performItemClick(I)Z" />
+		<method name="postShow()V" />
+		<method name="setAdapter(Landroid/widget/ListAdapter;)V" />
+		<method name="setAnchorView(Landroid/view/View;)V" />
+		<method name="setAnimationStyle(I)V" />
+		<method name="setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setContentWidth(I)V" />
+		<method name="setDropDownGravity(I)V" since="19" />
+		<method name="setEpicenterBounds(Landroid/graphics/Rect;)V" since="29" />
+		<method name="setHeight(I)V" />
+		<method name="setHorizontalOffset(I)V" />
+		<method name="setInputMethodMode(I)V" />
+		<method name="setListSelector(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setModal(Z)V" />
+		<method name="setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V" />
+		<method name="setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V" />
+		<method name="setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V" />
+		<method name="setPromptPosition(I)V" />
+		<method name="setPromptView(Landroid/view/View;)V" />
+		<method name="setSelection(I)V" />
+		<method name="setSoftInputMode(I)V" />
+		<method name="setVerticalOffset(I)V" />
+		<method name="setWidth(I)V" />
+		<method name="setWindowLayoutType(I)V" since="23" />
+		<method name="show()V" />
+		<field name="INPUT_METHOD_FROM_FOCUSABLE" />
+		<field name="INPUT_METHOD_NEEDED" />
+		<field name="INPUT_METHOD_NOT_NEEDED" />
+		<field name="MATCH_PARENT" />
+		<field name="POSITION_PROMPT_ABOVE" />
+		<field name="POSITION_PROMPT_BELOW" />
+		<field name="WRAP_CONTENT" />
+	</class>
+	<class name="android/widget/ListView" since="1">
+		<extends name="android/widget/AbsListView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="addFooterView(Landroid/view/View;)V" />
+		<method name="addFooterView(Landroid/view/View;Ljava/lang/Object;Z)V" />
+		<method name="addHeaderView(Landroid/view/View;)V" />
+		<method name="addHeaderView(Landroid/view/View;Ljava/lang/Object;Z)V" />
+		<method name="areFooterDividersEnabled()Z" since="19" />
+		<method name="areHeaderDividersEnabled()Z" since="19" />
+		<method name="clearChoices()V" removed="11" />
+		<method name="findViewTraversal(I)Landroid/view/View;" removed="26" />
+		<method name="findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;" removed="26" />
+		<method name="getAdapter()Landroid/widget/ListAdapter;" />
+		<method name="getCheckItemIds()[J" since="4" deprecated="15" />
+		<method name="getCheckedItemIds()[J" since="8" removed="11" />
+		<method name="getCheckedItemPosition()I" removed="11" />
+		<method name="getCheckedItemPositions()Landroid/util/SparseBooleanArray;" removed="11" />
+		<method name="getChoiceMode()I" removed="11" />
+		<method name="getDivider()Landroid/graphics/drawable/Drawable;" />
+		<method name="getDividerHeight()I" />
+		<method name="getFooterViewsCount()I" />
+		<method name="getHeaderViewsCount()I" />
+		<method name="getItemsCanFocus()Z" />
+		<method name="getMaxScrollAmount()I" />
+		<method name="getOverscrollFooter()Landroid/graphics/drawable/Drawable;" since="9" />
+		<method name="getOverscrollHeader()Landroid/graphics/drawable/Drawable;" since="9" />
+		<method name="isItemChecked(I)Z" removed="11" />
+		<method name="removeFooterView(Landroid/view/View;)Z" />
+		<method name="removeHeaderView(Landroid/view/View;)Z" />
+		<method name="setAdapter(Landroid/widget/ListAdapter;)V" />
+		<method name="setChoiceMode(I)V" removed="11" />
+		<method name="setDivider(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setDividerHeight(I)V" />
+		<method name="setFooterDividersEnabled(Z)V" since="3" />
+		<method name="setHeaderDividersEnabled(Z)V" since="3" />
+		<method name="setItemChecked(IZ)V" removed="11" />
+		<method name="setItemsCanFocus(Z)V" />
+		<method name="setOverscrollFooter(Landroid/graphics/drawable/Drawable;)V" since="9" />
+		<method name="setOverscrollHeader(Landroid/graphics/drawable/Drawable;)V" since="9" />
+		<method name="setSelectionAfterHeaderView()V" />
+		<method name="setSelectionFromTop(II)V" removed="21" />
+		<method name="smoothScrollByOffset(I)V" since="11" />
+		<field name="CHOICE_MODE_MULTIPLE" removed="11" />
+		<field name="CHOICE_MODE_NONE" removed="11" />
+		<field name="CHOICE_MODE_SINGLE" removed="11" />
+	</class>
+	<class name="android/widget/ListView$FixedViewInfo" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/widget/ListView;)V" />
+		<field name="data" />
+		<field name="isSelectable" />
+		<field name="view" />
+	</class>
+	<class name="android/widget/Magnifier" since="28">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/View;)V" deprecated="29" />
+		<method name="dismiss()V" />
+		<method name="getCornerRadius()F" since="29" />
+		<method name="getDefaultHorizontalSourceToMagnifierOffset()I" since="29" />
+		<method name="getDefaultVerticalSourceToMagnifierOffset()I" since="29" />
+		<method name="getElevation()F" since="29" />
+		<method name="getHeight()I" />
+		<method name="getOverlay()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getPosition()Landroid/graphics/Point;" since="29" />
+		<method name="getSourceHeight()I" since="29" />
+		<method name="getSourcePosition()Landroid/graphics/Point;" since="29" />
+		<method name="getSourceWidth()I" since="29" />
+		<method name="getWidth()I" />
+		<method name="getZoom()F" />
+		<method name="isClippingEnabled()Z" since="29" />
+		<method name="setZoom(F)V" since="29" />
+		<method name="show(FF)V" />
+		<method name="show(FFFF)V" since="29" />
+		<method name="update()V" />
+		<field name="SOURCE_BOUND_MAX_IN_SURFACE" since="29" />
+		<field name="SOURCE_BOUND_MAX_VISIBLE" since="29" />
+	</class>
+	<class name="android/widget/Magnifier$Builder" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/view/View;)V" />
+		<method name="build()Landroid/widget/Magnifier;" />
+		<method name="setClippingEnabled(Z)Landroid/widget/Magnifier$Builder;" />
+		<method name="setCornerRadius(F)Landroid/widget/Magnifier$Builder;" />
+		<method name="setDefaultSourceToMagnifierOffset(II)Landroid/widget/Magnifier$Builder;" />
+		<method name="setElevation(F)Landroid/widget/Magnifier$Builder;" />
+		<method name="setInitialZoom(F)Landroid/widget/Magnifier$Builder;" />
+		<method name="setOverlay(Landroid/graphics/drawable/Drawable;)Landroid/widget/Magnifier$Builder;" />
+		<method name="setSize(II)Landroid/widget/Magnifier$Builder;" />
+		<method name="setSourceBounds(IIII)Landroid/widget/Magnifier$Builder;" />
+	</class>
+	<class name="android/widget/MediaController" since="1">
+		<extends name="android/widget/FrameLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Z)V" />
+		<method name="hide()V" />
+		<method name="isShowing()Z" />
+		<method name="setAnchorView(Landroid/view/View;)V" />
+		<method name="setMediaPlayer(Landroid/widget/MediaController$MediaPlayerControl;)V" />
+		<method name="setPrevNextListeners(Landroid/view/View$OnClickListener;Landroid/view/View$OnClickListener;)V" />
+		<method name="show()V" />
+		<method name="show(I)V" />
+	</class>
+	<class name="android/widget/MediaController$MediaPlayerControl" since="1">
+		<extends name="java/lang/Object" />
+		<method name="canPause()Z" since="5" />
+		<method name="canSeekBackward()Z" since="5" />
+		<method name="canSeekForward()Z" since="5" />
+		<method name="getAudioSessionId()I" since="18" />
+		<method name="getBufferPercentage()I" />
+		<method name="getCurrentPosition()I" />
+		<method name="getDuration()I" />
+		<method name="isPlaying()Z" />
+		<method name="pause()V" />
+		<method name="seekTo(I)V" />
+		<method name="start()V" />
+	</class>
+	<class name="android/widget/MultiAutoCompleteTextView" since="1">
+		<extends name="android/widget/AutoCompleteTextView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="performFiltering(Ljava/lang/CharSequence;III)V" />
+		<method name="setTokenizer(Landroid/widget/MultiAutoCompleteTextView$Tokenizer;)V" />
+	</class>
+	<class name="android/widget/MultiAutoCompleteTextView$CommaTokenizer" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/widget/MultiAutoCompleteTextView$Tokenizer" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="android/widget/MultiAutoCompleteTextView$Tokenizer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="findTokenEnd(Ljava/lang/CharSequence;I)I" />
+		<method name="findTokenStart(Ljava/lang/CharSequence;I)I" />
+		<method name="terminateToken(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" />
+	</class>
+	<class name="android/widget/NumberPicker" since="11">
+		<extends name="android/widget/LinearLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getDisplayedValues()[Ljava/lang/String;" />
+		<method name="getMaxValue()I" />
+		<method name="getMinValue()I" />
+		<method name="getSelectionDividerHeight()I" since="29" />
+		<method name="getTextColor()I" since="29" />
+		<method name="getTextSize()F" since="29" />
+		<method name="getValue()I" />
+		<method name="getWrapSelectorWheel()Z" />
+		<method name="setDisplayedValues([Ljava/lang/String;)V" />
+		<method name="setFormatter(Landroid/widget/NumberPicker$Formatter;)V" />
+		<method name="setMaxValue(I)V" />
+		<method name="setMinValue(I)V" />
+		<method name="setOnLongPressUpdateInterval(J)V" />
+		<method name="setOnScrollListener(Landroid/widget/NumberPicker$OnScrollListener;)V" />
+		<method name="setOnValueChangedListener(Landroid/widget/NumberPicker$OnValueChangeListener;)V" />
+		<method name="setSelectionDividerHeight(I)V" since="29" />
+		<method name="setTextColor(I)V" since="29" />
+		<method name="setTextSize(F)V" since="29" />
+		<method name="setValue(I)V" />
+		<method name="setWrapSelectorWheel(Z)V" />
+	</class>
+	<class name="android/widget/NumberPicker$Formatter" since="11">
+		<extends name="java/lang/Object" />
+		<method name="format(I)Ljava/lang/String;" />
+	</class>
+	<class name="android/widget/NumberPicker$OnScrollListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onScrollStateChange(Landroid/widget/NumberPicker;I)V" />
+		<field name="SCROLL_STATE_FLING" />
+		<field name="SCROLL_STATE_IDLE" />
+		<field name="SCROLL_STATE_TOUCH_SCROLL" />
+	</class>
+	<class name="android/widget/NumberPicker$OnValueChangeListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onValueChange(Landroid/widget/NumberPicker;II)V" />
+	</class>
+	<class name="android/widget/OverScroller" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/animation/Interpolator;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/animation/Interpolator;FF)V" deprecated="26" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/animation/Interpolator;FFZ)V" since="11" deprecated="26" />
+		<method name="abortAnimation()V" />
+		<method name="computeScrollOffset()Z" />
+		<method name="fling(IIIIIIII)V" />
+		<method name="fling(IIIIIIIIII)V" />
+		<method name="forceFinished(Z)V" />
+		<method name="getCurrVelocity()F" since="14" />
+		<method name="getCurrX()I" />
+		<method name="getCurrY()I" />
+		<method name="getFinalX()I" />
+		<method name="getFinalY()I" />
+		<method name="getStartX()I" />
+		<method name="getStartY()I" />
+		<method name="isFinished()Z" />
+		<method name="isOverScrolled()Z" />
+		<method name="notifyHorizontalEdgeReached(III)V" />
+		<method name="notifyVerticalEdgeReached(III)V" />
+		<method name="setFriction(F)V" since="11" />
+		<method name="springBack(IIIIII)Z" />
+		<method name="startScroll(IIII)V" />
+		<method name="startScroll(IIIII)V" />
+	</class>
+	<class name="android/widget/PopupMenu" since="11">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/View;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/View;I)V" since="19" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/View;III)V" since="22" />
+		<method name="dismiss()V" />
+		<method name="getDragToOpenListener()Landroid/view/View$OnTouchListener;" since="19" />
+		<method name="getGravity()I" since="23" />
+		<method name="getMenu()Landroid/view/Menu;" />
+		<method name="getMenuInflater()Landroid/view/MenuInflater;" />
+		<method name="inflate(I)V" since="14" />
+		<method name="setForceShowIcon(Z)V" since="29" />
+		<method name="setGravity(I)V" since="23" />
+		<method name="setOnDismissListener(Landroid/widget/PopupMenu$OnDismissListener;)V" since="14" />
+		<method name="setOnMenuItemClickListener(Landroid/widget/PopupMenu$OnMenuItemClickListener;)V" />
+		<method name="show()V" />
+	</class>
+	<class name="android/widget/PopupMenu$OnDismissListener" since="14">
+		<extends name="java/lang/Object" />
+		<method name="onDismiss(Landroid/widget/PopupMenu;)V" />
+	</class>
+	<class name="android/widget/PopupMenu$OnMenuItemClickListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onMenuItemClick(Landroid/view/MenuItem;)Z" />
+	</class>
+	<class name="android/widget/PopupWindow" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="11" />
+		<method name="&lt;init&gt;(Landroid/view/View;)V" />
+		<method name="&lt;init&gt;(Landroid/view/View;II)V" />
+		<method name="&lt;init&gt;(Landroid/view/View;IIZ)V" />
+		<method name="dismiss()V" />
+		<method name="getAnimationStyle()I" />
+		<method name="getBackground()Landroid/graphics/drawable/Drawable;" />
+		<method name="getContentView()Landroid/view/View;" />
+		<method name="getElevation()F" since="21" />
+		<method name="getEnterTransition()Landroid/transition/Transition;" since="24" />
+		<method name="getEpicenterBounds()Landroid/graphics/Rect;" since="29" />
+		<method name="getExitTransition()Landroid/transition/Transition;" since="24" />
+		<method name="getHeight()I" />
+		<method name="getInputMethodMode()I" since="3" />
+		<method name="getMaxAvailableHeight(Landroid/view/View;)I" />
+		<method name="getMaxAvailableHeight(Landroid/view/View;I)I" since="3" />
+		<method name="getMaxAvailableHeight(Landroid/view/View;IZ)I" since="24" />
+		<method name="getOverlapAnchor()Z" since="23" />
+		<method name="getSoftInputMode()I" since="4" />
+		<method name="getWidth()I" />
+		<method name="getWindowLayoutType()I" since="23" />
+		<method name="isAboveAnchor()Z" since="3" />
+		<method name="isAttachedInDecor()Z" since="22" />
+		<method name="isClippedToScreen()Z" since="29" />
+		<method name="isClippingEnabled()Z" since="3" />
+		<method name="isFocusable()Z" />
+		<method name="isLaidOutInScreen()Z" since="29" />
+		<method name="isOutsideTouchable()Z" since="3" />
+		<method name="isShowing()Z" />
+		<method name="isSplitTouchEnabled()Z" since="11" />
+		<method name="isTouchModal()Z" since="29" />
+		<method name="isTouchable()Z" since="3" />
+		<method name="setAnimationStyle(I)V" />
+		<method name="setAttachedInDecor(Z)V" since="22" />
+		<method name="setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setClippingEnabled(Z)V" since="3" />
+		<method name="setContentView(Landroid/view/View;)V" />
+		<method name="setElevation(F)V" since="21" />
+		<method name="setEnterTransition(Landroid/transition/Transition;)V" since="23" />
+		<method name="setEpicenterBounds(Landroid/graphics/Rect;)V" since="29" />
+		<method name="setExitTransition(Landroid/transition/Transition;)V" since="23" />
+		<method name="setFocusable(Z)V" />
+		<method name="setHeight(I)V" />
+		<method name="setIgnoreCheekPress()V" />
+		<method name="setInputMethodMode(I)V" since="3" />
+		<method name="setIsClippedToScreen(Z)V" since="29" />
+		<method name="setIsLaidOutInScreen(Z)V" since="29" />
+		<method name="setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V" />
+		<method name="setOutsideTouchable(Z)V" since="3" />
+		<method name="setOverlapAnchor(Z)V" since="23" />
+		<method name="setSoftInputMode(I)V" since="4" />
+		<method name="setSplitTouchEnabled(Z)V" since="11" />
+		<method name="setTouchInterceptor(Landroid/view/View$OnTouchListener;)V" since="3" />
+		<method name="setTouchModal(Z)V" since="29" />
+		<method name="setTouchable(Z)V" since="3" />
+		<method name="setWidth(I)V" />
+		<method name="setWindowLayoutMode(II)V" since="3" deprecated="23" />
+		<method name="setWindowLayoutType(I)V" since="23" />
+		<method name="showAsDropDown(Landroid/view/View;)V" />
+		<method name="showAsDropDown(Landroid/view/View;II)V" />
+		<method name="showAsDropDown(Landroid/view/View;III)V" since="19" />
+		<method name="showAtLocation(Landroid/view/View;III)V" />
+		<method name="update()V" since="3" />
+		<method name="update(II)V" since="4" />
+		<method name="update(IIII)V" />
+		<method name="update(IIIIZ)V" since="3" />
+		<method name="update(Landroid/view/View;II)V" />
+		<method name="update(Landroid/view/View;IIII)V" />
+		<field name="INPUT_METHOD_FROM_FOCUSABLE" since="3" />
+		<field name="INPUT_METHOD_NEEDED" since="3" />
+		<field name="INPUT_METHOD_NOT_NEEDED" since="3" />
+	</class>
+	<class name="android/widget/PopupWindow$OnDismissListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onDismiss()V" />
+	</class>
+	<class name="android/widget/ProgressBar" since="1">
+		<extends name="android/view/View" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getCurrentDrawable()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getIndeterminateDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="getIndeterminateTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getIndeterminateTintList()Landroid/content/res/ColorStateList;" since="21" />
+		<method name="getIndeterminateTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" />
+		<method name="getInterpolator()Landroid/view/animation/Interpolator;" />
+		<method name="getMax()I" />
+		<method name="getMaxHeight()I" since="29" />
+		<method name="getMaxWidth()I" since="29" />
+		<method name="getMin()I" since="26" />
+		<method name="getMinHeight()I" since="29" />
+		<method name="getMinWidth()I" since="29" />
+		<method name="getProgress()I" />
+		<method name="getProgressBackgroundTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getProgressBackgroundTintList()Landroid/content/res/ColorStateList;" since="21" />
+		<method name="getProgressBackgroundTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" />
+		<method name="getProgressDrawable()Landroid/graphics/drawable/Drawable;" />
+		<method name="getProgressTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getProgressTintList()Landroid/content/res/ColorStateList;" since="21" />
+		<method name="getProgressTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" />
+		<method name="getSecondaryProgress()I" />
+		<method name="getSecondaryProgressTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getSecondaryProgressTintList()Landroid/content/res/ColorStateList;" since="21" />
+		<method name="getSecondaryProgressTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" />
+		<method name="incrementProgressBy(I)V" />
+		<method name="incrementSecondaryProgressBy(I)V" />
+		<method name="isAnimating()Z" since="26" />
+		<method name="isIndeterminate()Z" />
+		<method name="setIndeterminate(Z)V" />
+		<method name="setIndeterminateDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setIndeterminateDrawableTiled(Landroid/graphics/drawable/Drawable;)V" since="21" />
+		<method name="setIndeterminateTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setIndeterminateTintList(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setIndeterminateTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" />
+		<method name="setInterpolator(Landroid/content/Context;I)V" />
+		<method name="setInterpolator(Landroid/view/animation/Interpolator;)V" />
+		<method name="setMax(I)V" />
+		<method name="setMaxHeight(I)V" since="29" />
+		<method name="setMaxWidth(I)V" since="29" />
+		<method name="setMin(I)V" since="26" />
+		<method name="setMinHeight(I)V" since="29" />
+		<method name="setMinWidth(I)V" since="29" />
+		<method name="setProgress(I)V" />
+		<method name="setProgress(IZ)V" since="24" />
+		<method name="setProgressBackgroundTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setProgressBackgroundTintList(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setProgressBackgroundTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" />
+		<method name="setProgressDrawable(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setProgressDrawableTiled(Landroid/graphics/drawable/Drawable;)V" since="21" />
+		<method name="setProgressTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setProgressTintList(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setProgressTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" />
+		<method name="setSecondaryProgress(I)V" />
+		<method name="setSecondaryProgressTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setSecondaryProgressTintList(Landroid/content/res/ColorStateList;)V" since="21" />
+		<method name="setSecondaryProgressTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" />
+	</class>
+	<class name="android/widget/QuickContactBadge" since="5">
+		<extends name="android/widget/ImageView" />
+		<implements name="android/view/View$OnClickListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="assignContactFromEmail(Ljava/lang/String;Z)V" />
+		<method name="assignContactFromEmail(Ljava/lang/String;ZLandroid/os/Bundle;)V" since="18" />
+		<method name="assignContactFromPhone(Ljava/lang/String;Z)V" />
+		<method name="assignContactFromPhone(Ljava/lang/String;ZLandroid/os/Bundle;)V" since="18" />
+		<method name="assignContactUri(Landroid/net/Uri;)V" />
+		<method name="setExcludeMimes([Ljava/lang/String;)V" />
+		<method name="setImageToDefault()V" since="11" />
+		<method name="setMode(I)V" />
+		<method name="setOverlay(Landroid/graphics/drawable/Drawable;)V" since="21" />
+		<method name="setPrioritizedMimeType(Ljava/lang/String;)V" since="23" />
+		<field name="mExcludeMimes" />
+	</class>
+	<class name="android/widget/RadioButton" since="1">
+		<extends name="android/widget/CompoundButton" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+	</class>
+	<class name="android/widget/RadioGroup" since="1">
+		<extends name="android/widget/LinearLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="check(I)V" />
+		<method name="clearCheck()V" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/RadioGroup$LayoutParams;" />
+		<method name="getCheckedRadioButtonId()I" />
+		<method name="setOnCheckedChangeListener(Landroid/widget/RadioGroup$OnCheckedChangeListener;)V" />
+	</class>
+	<class name="android/widget/RadioGroup$LayoutParams" since="1">
+		<extends name="android/widget/LinearLayout$LayoutParams" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(IIF)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$MarginLayoutParams;)V" />
+	</class>
+	<class name="android/widget/RadioGroup$OnCheckedChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onCheckedChanged(Landroid/widget/RadioGroup;I)V" />
+	</class>
+	<class name="android/widget/RatingBar" since="1">
+		<extends name="android/widget/AbsSeekBar" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getNumStars()I" />
+		<method name="getOnRatingBarChangeListener()Landroid/widget/RatingBar$OnRatingBarChangeListener;" />
+		<method name="getRating()F" />
+		<method name="getStepSize()F" />
+		<method name="isIndicator()Z" />
+		<method name="setIsIndicator(Z)V" />
+		<method name="setNumStars(I)V" />
+		<method name="setOnRatingBarChangeListener(Landroid/widget/RatingBar$OnRatingBarChangeListener;)V" />
+		<method name="setRating(F)V" />
+		<method name="setStepSize(F)V" />
+	</class>
+	<class name="android/widget/RatingBar$OnRatingBarChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onRatingChanged(Landroid/widget/RatingBar;FZ)V" />
+	</class>
+	<class name="android/widget/RelativeLayout" since="1">
+		<extends name="android/view/ViewGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/RelativeLayout$LayoutParams;" />
+		<method name="getGravity()I" since="16" />
+		<method name="getIgnoreGravity()I" since="29" />
+		<method name="setGravity(I)V" />
+		<method name="setHorizontalGravity(I)V" />
+		<method name="setIgnoreGravity(I)V" />
+		<method name="setVerticalGravity(I)V" />
+		<field name="ABOVE" />
+		<field name="ALIGN_BASELINE" />
+		<field name="ALIGN_BOTTOM" />
+		<field name="ALIGN_END" since="17" />
+		<field name="ALIGN_LEFT" />
+		<field name="ALIGN_PARENT_BOTTOM" />
+		<field name="ALIGN_PARENT_END" since="17" />
+		<field name="ALIGN_PARENT_LEFT" />
+		<field name="ALIGN_PARENT_RIGHT" />
+		<field name="ALIGN_PARENT_START" since="17" />
+		<field name="ALIGN_PARENT_TOP" />
+		<field name="ALIGN_RIGHT" />
+		<field name="ALIGN_START" since="17" />
+		<field name="ALIGN_TOP" />
+		<field name="BELOW" />
+		<field name="CENTER_HORIZONTAL" />
+		<field name="CENTER_IN_PARENT" />
+		<field name="CENTER_VERTICAL" />
+		<field name="END_OF" since="17" />
+		<field name="LEFT_OF" />
+		<field name="RIGHT_OF" />
+		<field name="START_OF" since="17" />
+		<field name="TRUE" />
+	</class>
+	<class name="android/widget/RelativeLayout$LayoutParams" since="1">
+		<extends name="android/view/ViewGroup$MarginLayoutParams" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$MarginLayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/widget/RelativeLayout$LayoutParams;)V" since="19" />
+		<method name="addRule(I)V" />
+		<method name="addRule(II)V" />
+		<method name="debug(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getRule(I)I" since="23" />
+		<method name="getRules()[I" />
+		<method name="removeRule(I)V" since="17" />
+		<field name="alignWithParent" />
+	</class>
+	<class name="android/widget/RemoteViews" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<implements name="android/view/LayoutInflater$Filter" />
+		<method name="&lt;init&gt;(Landroid/os/Parcel;)V" />
+		<method name="&lt;init&gt;(Landroid/widget/RemoteViews;)V" since="28" />
+		<method name="&lt;init&gt;(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;)V" since="16" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;II)V" since="31" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" since="31" />
+		<method name="addStableView(ILandroid/widget/RemoteViews;I)V" since="31" />
+		<method name="addView(ILandroid/widget/RemoteViews;)V" since="7" />
+		<method name="apply(Landroid/content/Context;Landroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="clone()Landroid/widget/RemoteViews;" since="9" deprecated="28" />
+		<method name="getLayoutId()I" />
+		<method name="getPackage()Ljava/lang/String;" />
+		<method name="getViewId()I" since="31" />
+		<method name="reapply(Landroid/content/Context;Landroid/view/View;)V" />
+		<method name="removeAllViews(I)V" since="7" />
+		<method name="setAccessibilityTraversalAfter(II)V" since="22" />
+		<method name="setAccessibilityTraversalBefore(II)V" since="22" />
+		<method name="setBitmap(ILjava/lang/String;Landroid/graphics/Bitmap;)V" since="3" />
+		<method name="setBlendMode(ILjava/lang/String;Landroid/graphics/BlendMode;)V" since="31" />
+		<method name="setBoolean(ILjava/lang/String;Z)V" since="3" />
+		<method name="setBundle(ILjava/lang/String;Landroid/os/Bundle;)V" since="8" />
+		<method name="setByte(ILjava/lang/String;B)V" since="3" />
+		<method name="setChar(ILjava/lang/String;C)V" since="3" />
+		<method name="setCharSequence(ILjava/lang/String;I)V" since="31" />
+		<method name="setCharSequence(ILjava/lang/String;Ljava/lang/CharSequence;)V" since="3" />
+		<method name="setCharSequenceAttr(ILjava/lang/String;I)V" since="31" />
+		<method name="setChronometer(IJLjava/lang/String;Z)V" />
+		<method name="setChronometerCountDown(IZ)V" since="24" />
+		<method name="setColor(ILjava/lang/String;I)V" since="31" />
+		<method name="setColorAttr(ILjava/lang/String;I)V" since="31" />
+		<method name="setColorInt(ILjava/lang/String;II)V" since="31" />
+		<method name="setColorStateList(ILjava/lang/String;I)V" since="31" />
+		<method name="setColorStateList(ILjava/lang/String;Landroid/content/res/ColorStateList;)V" since="31" />
+		<method name="setColorStateList(ILjava/lang/String;Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;)V" since="31" />
+		<method name="setColorStateListAttr(ILjava/lang/String;I)V" since="31" />
+		<method name="setCompoundButtonChecked(IZ)V" since="31" />
+		<method name="setContentDescription(ILjava/lang/CharSequence;)V" since="15" />
+		<method name="setDisplayedChild(II)V" since="12" />
+		<method name="setDouble(ILjava/lang/String;D)V" since="3" />
+		<method name="setEmptyView(II)V" since="11" />
+		<method name="setFloat(ILjava/lang/String;F)V" since="3" />
+		<method name="setFloatDimen(ILjava/lang/String;FI)V" since="31" />
+		<method name="setFloatDimen(ILjava/lang/String;I)V" since="31" />
+		<method name="setFloatDimenAttr(ILjava/lang/String;I)V" since="31" />
+		<method name="setIcon(ILjava/lang/String;Landroid/graphics/drawable/Icon;)V" since="23" />
+		<method name="setIcon(ILjava/lang/String;Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;)V" since="31" />
+		<method name="setImageViewBitmap(ILandroid/graphics/Bitmap;)V" since="3" />
+		<method name="setImageViewIcon(ILandroid/graphics/drawable/Icon;)V" since="23" />
+		<method name="setImageViewResource(II)V" />
+		<method name="setImageViewUri(ILandroid/net/Uri;)V" />
+		<method name="setInt(ILjava/lang/String;I)V" since="3" />
+		<method name="setIntDimen(ILjava/lang/String;FI)V" since="31" />
+		<method name="setIntDimen(ILjava/lang/String;I)V" since="31" />
+		<method name="setIntDimenAttr(ILjava/lang/String;I)V" since="31" />
+		<method name="setIntent(ILjava/lang/String;Landroid/content/Intent;)V" since="11" />
+		<method name="setLabelFor(II)V" since="17" />
+		<method name="setLightBackgroundLayoutId(I)V" since="29" />
+		<method name="setLong(ILjava/lang/String;J)V" since="3" />
+		<method name="setOnCheckedChangeResponse(ILandroid/widget/RemoteViews$RemoteResponse;)V" since="31" />
+		<method name="setOnClickFillInIntent(ILandroid/content/Intent;)V" since="11" />
+		<method name="setOnClickPendingIntent(ILandroid/app/PendingIntent;)V" since="3" />
+		<method name="setOnClickResponse(ILandroid/widget/RemoteViews$RemoteResponse;)V" since="29" />
+		<method name="setPendingIntentTemplate(ILandroid/app/PendingIntent;)V" since="11" />
+		<method name="setProgressBar(IIIZ)V" />
+		<method name="setRadioGroupChecked(II)V" since="31" />
+		<method name="setRelativeScrollPosition(II)V" since="11" />
+		<method name="setRemoteAdapter(IILandroid/content/Intent;)V" since="11" deprecated="15" />
+		<method name="setRemoteAdapter(ILandroid/content/Intent;)V" since="14" />
+		<method name="setRemoteAdapter(ILandroid/widget/RemoteViews$RemoteCollectionItems;)V" since="31" />
+		<method name="setScrollPosition(II)V" since="11" />
+		<method name="setShort(ILjava/lang/String;S)V" since="3" />
+		<method name="setString(ILjava/lang/String;Ljava/lang/String;)V" since="3" />
+		<method name="setTextColor(II)V" since="3" />
+		<method name="setTextViewCompoundDrawables(IIIII)V" since="16" />
+		<method name="setTextViewCompoundDrawablesRelative(IIIII)V" since="16" />
+		<method name="setTextViewText(ILjava/lang/CharSequence;)V" />
+		<method name="setTextViewTextSize(IIF)V" since="16" />
+		<method name="setUri(ILjava/lang/String;Landroid/net/Uri;)V" since="3" />
+		<method name="setViewLayoutHeight(IFI)V" since="31" />
+		<method name="setViewLayoutHeightAttr(II)V" since="31" />
+		<method name="setViewLayoutHeightDimen(II)V" since="31" />
+		<method name="setViewLayoutMargin(IIFI)V" since="31" />
+		<method name="setViewLayoutMarginAttr(III)V" since="31" />
+		<method name="setViewLayoutMarginDimen(III)V" since="31" />
+		<method name="setViewLayoutWidth(IFI)V" since="31" />
+		<method name="setViewLayoutWidthAttr(II)V" since="31" />
+		<method name="setViewLayoutWidthDimen(II)V" since="31" />
+		<method name="setViewOutlinePreferredRadius(IFI)V" since="31" />
+		<method name="setViewOutlinePreferredRadiusAttr(II)V" since="31" />
+		<method name="setViewOutlinePreferredRadiusDimen(II)V" since="31" />
+		<method name="setViewPadding(IIIII)V" since="16" />
+		<method name="setViewVisibility(II)V" />
+		<method name="showNext(I)V" since="11" />
+		<method name="showPrevious(I)V" since="11" />
+		<field name="CREATOR" />
+		<field name="EXTRA_CHECKED" since="31" />
+		<field name="EXTRA_SHARED_ELEMENT_BOUNDS" since="29" />
+		<field name="MARGIN_BOTTOM" since="31" />
+		<field name="MARGIN_END" since="31" />
+		<field name="MARGIN_LEFT" since="31" />
+		<field name="MARGIN_RIGHT" since="31" />
+		<field name="MARGIN_START" since="31" />
+		<field name="MARGIN_TOP" since="31" />
+	</class>
+	<class name="android/widget/RemoteViews$ActionException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" since="3" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="android/widget/RemoteViews$RemoteCollectionItems" since="31">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getItemCount()I" />
+		<method name="getItemId(I)J" />
+		<method name="getItemView(I)Landroid/widget/RemoteViews;" />
+		<method name="getViewTypeCount()I" />
+		<method name="hasStableIds()Z" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/widget/RemoteViews$RemoteCollectionItems$Builder" since="31">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addItem(JLandroid/widget/RemoteViews;)Landroid/widget/RemoteViews$RemoteCollectionItems$Builder;" />
+		<method name="build()Landroid/widget/RemoteViews$RemoteCollectionItems;" />
+		<method name="setHasStableIds(Z)Landroid/widget/RemoteViews$RemoteCollectionItems$Builder;" />
+		<method name="setViewTypeCount(I)Landroid/widget/RemoteViews$RemoteCollectionItems$Builder;" />
+	</class>
+	<class name="android/widget/RemoteViews$RemoteResponse" since="29">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addSharedElement(ILjava/lang/String;)Landroid/widget/RemoteViews$RemoteResponse;" />
+		<method name="fromFillInIntent(Landroid/content/Intent;)Landroid/widget/RemoteViews$RemoteResponse;" />
+		<method name="fromPendingIntent(Landroid/app/PendingIntent;)Landroid/widget/RemoteViews$RemoteResponse;" />
+	</class>
+	<class name="android/widget/RemoteViews$RemoteView" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="android/widget/RemoteViews$RemoteViewOutlineProvider" since="31">
+		<extends name="android/view/ViewOutlineProvider" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="getRadius()F" />
+	</class>
+	<class name="android/widget/RemoteViewsService" since="11">
+		<extends name="android/app/Service" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onGetViewFactory(Landroid/content/Intent;)Landroid/widget/RemoteViewsService$RemoteViewsFactory;" />
+	</class>
+	<class name="android/widget/RemoteViewsService$RemoteViewsFactory" since="11">
+		<extends name="java/lang/Object" />
+		<method name="getCount()I" />
+		<method name="getItemId(I)J" />
+		<method name="getLoadingView()Landroid/widget/RemoteViews;" />
+		<method name="getViewAt(I)Landroid/widget/RemoteViews;" />
+		<method name="getViewTypeCount()I" />
+		<method name="hasStableIds()Z" />
+		<method name="onCreate()V" />
+		<method name="onDataSetChanged()V" />
+		<method name="onDestroy()V" />
+	</class>
+	<class name="android/widget/ResourceCursorAdapter" since="1">
+		<extends name="android/widget/CursorAdapter" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILandroid/database/Cursor;)V" deprecated="15" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILandroid/database/Cursor;I)V" since="11" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILandroid/database/Cursor;Z)V" since="3" />
+		<method name="setDropDownViewResource(I)V" />
+		<method name="setViewResource(I)V" since="3" />
+	</class>
+	<class name="android/widget/ResourceCursorTreeAdapter" since="1">
+		<extends name="android/widget/CursorTreeAdapter" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/database/Cursor;II)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/database/Cursor;III)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/database/Cursor;IIII)V" />
+	</class>
+	<class name="android/widget/ScrollView" since="1">
+		<extends name="android/widget/FrameLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="arrowScroll(I)Z" />
+		<method name="computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I" />
+		<method name="executeKeyEvent(Landroid/view/KeyEvent;)Z" />
+		<method name="fling(I)V" />
+		<method name="fullScroll(I)Z" />
+		<method name="getBottomEdgeEffectColor()I" since="29" />
+		<method name="getMaxScrollAmount()I" />
+		<method name="getTopEdgeEffectColor()I" since="29" />
+		<method name="isFillViewport()Z" />
+		<method name="isSmoothScrollingEnabled()Z" />
+		<method name="pageScroll(I)Z" />
+		<method name="scrollToDescendant(Landroid/view/View;)V" since="29" />
+		<method name="setBottomEdgeEffectColor(I)V" since="29" />
+		<method name="setEdgeEffectColor(I)V" since="29" />
+		<method name="setFillViewport(Z)V" />
+		<method name="setSmoothScrollingEnabled(Z)V" />
+		<method name="setTopEdgeEffectColor(I)V" since="29" />
+		<method name="smoothScrollBy(II)V" />
+		<method name="smoothScrollTo(II)V" />
+	</class>
+	<class name="android/widget/Scroller" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/animation/Interpolator;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V" since="11" />
+		<method name="abortAnimation()V" />
+		<method name="computeScrollOffset()Z" />
+		<method name="extendDuration(I)V" />
+		<method name="fling(IIIIIIII)V" />
+		<method name="forceFinished(Z)V" />
+		<method name="getCurrVelocity()F" since="14" />
+		<method name="getCurrX()I" />
+		<method name="getCurrY()I" />
+		<method name="getDuration()I" />
+		<method name="getFinalX()I" />
+		<method name="getFinalY()I" />
+		<method name="getStartX()I" since="3" />
+		<method name="getStartY()I" since="3" />
+		<method name="isFinished()Z" />
+		<method name="setFinalX(I)V" />
+		<method name="setFinalY(I)V" />
+		<method name="setFriction(F)V" since="11" />
+		<method name="startScroll(IIII)V" />
+		<method name="startScroll(IIIII)V" />
+		<method name="timePassed()I" />
+	</class>
+	<class name="android/widget/SearchView" since="11">
+		<extends name="android/widget/LinearLayout" />
+		<implements name="android/view/CollapsibleActionView" since="14" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="21" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getImeOptions()I" since="16" />
+		<method name="getInputType()I" since="16" />
+		<method name="getMaxWidth()I" since="16" />
+		<method name="getQuery()Ljava/lang/CharSequence;" />
+		<method name="getQueryHint()Ljava/lang/CharSequence;" since="16" />
+		<method name="getSuggestionsAdapter()Landroid/widget/CursorAdapter;" />
+		<method name="isIconfiedByDefault()Z" deprecated="29" />
+		<method name="isIconified()Z" />
+		<method name="isIconifiedByDefault()Z" since="29" />
+		<method name="isQueryRefinementEnabled()Z" />
+		<method name="isSubmitButtonEnabled()Z" />
+		<method name="setIconified(Z)V" />
+		<method name="setIconifiedByDefault(Z)V" />
+		<method name="setImeOptions(I)V" since="14" />
+		<method name="setInputType(I)V" since="14" />
+		<method name="setMaxWidth(I)V" />
+		<method name="setOnCloseListener(Landroid/widget/SearchView$OnCloseListener;)V" />
+		<method name="setOnQueryTextFocusChangeListener(Landroid/view/View$OnFocusChangeListener;)V" />
+		<method name="setOnQueryTextListener(Landroid/widget/SearchView$OnQueryTextListener;)V" />
+		<method name="setOnSearchClickListener(Landroid/view/View$OnClickListener;)V" />
+		<method name="setOnSuggestionListener(Landroid/widget/SearchView$OnSuggestionListener;)V" />
+		<method name="setQuery(Ljava/lang/CharSequence;Z)V" />
+		<method name="setQueryHint(Ljava/lang/CharSequence;)V" />
+		<method name="setQueryRefinementEnabled(Z)V" />
+		<method name="setSearchableInfo(Landroid/app/SearchableInfo;)V" />
+		<method name="setSubmitButtonEnabled(Z)V" />
+		<method name="setSuggestionsAdapter(Landroid/widget/CursorAdapter;)V" />
+	</class>
+	<class name="android/widget/SearchView$OnCloseListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onClose()Z" />
+	</class>
+	<class name="android/widget/SearchView$OnQueryTextListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onQueryTextChange(Ljava/lang/String;)Z" />
+		<method name="onQueryTextSubmit(Ljava/lang/String;)Z" />
+	</class>
+	<class name="android/widget/SearchView$OnSuggestionListener" since="11">
+		<extends name="java/lang/Object" />
+		<method name="onSuggestionClick(I)Z" />
+		<method name="onSuggestionSelect(I)Z" />
+	</class>
+	<class name="android/widget/SectionIndexer" since="3">
+		<extends name="java/lang/Object" />
+		<method name="getPositionForSection(I)I" />
+		<method name="getSectionForPosition(I)I" />
+		<method name="getSections()[Ljava/lang/Object;" />
+	</class>
+	<class name="android/widget/SeekBar" since="1">
+		<extends name="android/widget/AbsSeekBar" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V" />
+	</class>
+	<class name="android/widget/SeekBar$OnSeekBarChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onProgressChanged(Landroid/widget/SeekBar;IZ)V" />
+		<method name="onStartTrackingTouch(Landroid/widget/SeekBar;)V" />
+		<method name="onStopTrackingTouch(Landroid/widget/SeekBar;)V" />
+	</class>
+	<class name="android/widget/ShareActionProvider" since="14">
+		<extends name="android/view/ActionProvider" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="setOnShareTargetSelectedListener(Landroid/widget/ShareActionProvider$OnShareTargetSelectedListener;)V" />
+		<method name="setShareHistoryFileName(Ljava/lang/String;)V" />
+		<method name="setShareIntent(Landroid/content/Intent;)V" />
+		<field name="DEFAULT_SHARE_HISTORY_FILE_NAME" />
+	</class>
+	<class name="android/widget/ShareActionProvider$OnShareTargetSelectedListener" since="14">
+		<extends name="java/lang/Object" />
+		<method name="onShareTargetSelected(Landroid/widget/ShareActionProvider;Landroid/content/Intent;)Z" />
+	</class>
+	<class name="android/widget/SimpleAdapter" since="1">
+		<extends name="android/widget/BaseAdapter" />
+		<implements name="android/widget/Filterable" />
+		<implements name="android/widget/ThemedSpinnerAdapter" since="23" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/util/List;I[Ljava/lang/String;[I)V" />
+		<method name="getViewBinder()Landroid/widget/SimpleAdapter$ViewBinder;" />
+		<method name="setDropDownViewResource(I)V" />
+		<method name="setViewBinder(Landroid/widget/SimpleAdapter$ViewBinder;)V" />
+		<method name="setViewImage(Landroid/widget/ImageView;I)V" />
+		<method name="setViewImage(Landroid/widget/ImageView;Ljava/lang/String;)V" />
+		<method name="setViewText(Landroid/widget/TextView;Ljava/lang/String;)V" />
+	</class>
+	<class name="android/widget/SimpleAdapter$ViewBinder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="setViewValue(Landroid/view/View;Ljava/lang/Object;Ljava/lang/String;)Z" />
+	</class>
+	<class name="android/widget/SimpleCursorAdapter" since="1">
+		<extends name="android/widget/ResourceCursorAdapter" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILandroid/database/Cursor;[Ljava/lang/String;[I)V" deprecated="15" />
+		<method name="&lt;init&gt;(Landroid/content/Context;ILandroid/database/Cursor;[Ljava/lang/String;[II)V" since="11" />
+		<method name="changeCursorAndColumns(Landroid/database/Cursor;[Ljava/lang/String;[I)V" since="3" />
+		<method name="getCursorToStringConverter()Landroid/widget/SimpleCursorAdapter$CursorToStringConverter;" />
+		<method name="getStringConversionColumn()I" />
+		<method name="getViewBinder()Landroid/widget/SimpleCursorAdapter$ViewBinder;" />
+		<method name="setCursorToStringConverter(Landroid/widget/SimpleCursorAdapter$CursorToStringConverter;)V" />
+		<method name="setStringConversionColumn(I)V" />
+		<method name="setViewBinder(Landroid/widget/SimpleCursorAdapter$ViewBinder;)V" />
+		<method name="setViewImage(Landroid/widget/ImageView;Ljava/lang/String;)V" />
+		<method name="setViewText(Landroid/widget/TextView;Ljava/lang/String;)V" />
+	</class>
+	<class name="android/widget/SimpleCursorAdapter$CursorToStringConverter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="convertToString(Landroid/database/Cursor;)Ljava/lang/CharSequence;" />
+	</class>
+	<class name="android/widget/SimpleCursorAdapter$ViewBinder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="setViewValue(Landroid/view/View;Landroid/database/Cursor;I)Z" />
+	</class>
+	<class name="android/widget/SimpleCursorTreeAdapter" since="1">
+		<extends name="android/widget/ResourceCursorTreeAdapter" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/database/Cursor;II[Ljava/lang/String;[III[Ljava/lang/String;[I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/database/Cursor;II[Ljava/lang/String;[II[Ljava/lang/String;[I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/database/Cursor;I[Ljava/lang/String;[II[Ljava/lang/String;[I)V" />
+		<method name="getViewBinder()Landroid/widget/SimpleCursorTreeAdapter$ViewBinder;" since="5" />
+		<method name="setViewBinder(Landroid/widget/SimpleCursorTreeAdapter$ViewBinder;)V" since="5" />
+		<method name="setViewImage(Landroid/widget/ImageView;Ljava/lang/String;)V" />
+		<method name="setViewText(Landroid/widget/TextView;Ljava/lang/String;)V" since="5" />
+	</class>
+	<class name="android/widget/SimpleCursorTreeAdapter$ViewBinder" since="5">
+		<extends name="java/lang/Object" />
+		<method name="setViewValue(Landroid/view/View;Landroid/database/Cursor;I)Z" />
+	</class>
+	<class name="android/widget/SimpleExpandableListAdapter" since="1">
+		<extends name="android/widget/BaseExpandableListAdapter" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/util/List;II[Ljava/lang/String;[ILjava/util/List;II[Ljava/lang/String;[I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/util/List;II[Ljava/lang/String;[ILjava/util/List;I[Ljava/lang/String;[I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/util/List;I[Ljava/lang/String;[ILjava/util/List;I[Ljava/lang/String;[I)V" />
+		<method name="newChildView(ZLandroid/view/ViewGroup;)Landroid/view/View;" />
+		<method name="newGroupView(ZLandroid/view/ViewGroup;)Landroid/view/View;" />
+	</class>
+	<class name="android/widget/SlidingDrawer" since="3" deprecated="17">
+		<extends name="android/view/ViewGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="animateClose()V" deprecated="29" />
+		<method name="animateOpen()V" deprecated="29" />
+		<method name="animateToggle()V" deprecated="29" />
+		<method name="close()V" deprecated="29" />
+		<method name="getContent()Landroid/view/View;" deprecated="29" />
+		<method name="getHandle()Landroid/view/View;" deprecated="29" />
+		<method name="isMoving()Z" deprecated="29" />
+		<method name="isOpened()Z" deprecated="29" />
+		<method name="lock()V" deprecated="29" />
+		<method name="open()V" deprecated="29" />
+		<method name="setOnDrawerCloseListener(Landroid/widget/SlidingDrawer$OnDrawerCloseListener;)V" deprecated="29" />
+		<method name="setOnDrawerOpenListener(Landroid/widget/SlidingDrawer$OnDrawerOpenListener;)V" deprecated="29" />
+		<method name="setOnDrawerScrollListener(Landroid/widget/SlidingDrawer$OnDrawerScrollListener;)V" deprecated="29" />
+		<method name="toggle()V" deprecated="29" />
+		<method name="unlock()V" deprecated="29" />
+		<field name="ORIENTATION_HORIZONTAL" deprecated="29" />
+		<field name="ORIENTATION_VERTICAL" deprecated="29" />
+	</class>
+	<class name="android/widget/SlidingDrawer$OnDrawerCloseListener" since="3" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onDrawerClosed()V" deprecated="29" />
+	</class>
+	<class name="android/widget/SlidingDrawer$OnDrawerOpenListener" since="3" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onDrawerOpened()V" deprecated="29" />
+	</class>
+	<class name="android/widget/SlidingDrawer$OnDrawerScrollListener" since="3" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onScrollEnded()V" deprecated="29" />
+		<method name="onScrollStarted()V" deprecated="29" />
+	</class>
+	<class name="android/widget/Space" since="14">
+		<extends name="android/view/View" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+	</class>
+	<class name="android/widget/Spinner" since="1">
+		<extends name="android/widget/AbsSpinner" />
+		<implements name="android/content/DialogInterface$OnClickListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;I)V" since="11" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="11" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;III)V" since="21" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;IIILandroid/content/res/Resources$Theme;)V" since="23" />
+		<method name="getDropDownHorizontalOffset()I" since="16" />
+		<method name="getDropDownVerticalOffset()I" since="16" />
+		<method name="getDropDownWidth()I" since="16" />
+		<method name="getGravity()I" since="16" />
+		<method name="getPopupBackground()Landroid/graphics/drawable/Drawable;" since="16" />
+		<method name="getPopupContext()Landroid/content/Context;" since="23" />
+		<method name="getPrompt()Ljava/lang/CharSequence;" />
+		<method name="setDropDownHorizontalOffset(I)V" since="16" />
+		<method name="setDropDownVerticalOffset(I)V" since="16" />
+		<method name="setDropDownWidth(I)V" since="16" />
+		<method name="setGravity(I)V" since="11" />
+		<method name="setPopupBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" since="16" />
+		<method name="setPopupBackgroundResource(I)V" since="16" />
+		<method name="setPrompt(Ljava/lang/CharSequence;)V" />
+		<method name="setPromptId(I)V" />
+		<field name="MODE_DIALOG" since="11" />
+		<field name="MODE_DROPDOWN" since="11" />
+	</class>
+	<class name="android/widget/SpinnerAdapter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/widget/Adapter" />
+		<method name="getDropDownView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;" />
+	</class>
+	<class name="android/widget/StackView" since="11">
+		<extends name="android/widget/AdapterViewAnimator" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="14" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+	</class>
+	<class name="android/widget/Switch" since="14">
+		<extends name="android/widget/CompoundButton" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getShowText()Z" since="21" />
+		<method name="getSplitTrack()Z" since="21" />
+		<method name="getSwitchMinWidth()I" since="16" />
+		<method name="getSwitchPadding()I" since="16" />
+		<method name="getTextOff()Ljava/lang/CharSequence;" />
+		<method name="getTextOn()Ljava/lang/CharSequence;" />
+		<method name="getThumbDrawable()Landroid/graphics/drawable/Drawable;" since="16" />
+		<method name="getThumbTextPadding()I" since="16" />
+		<method name="getThumbTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getThumbTintList()Landroid/content/res/ColorStateList;" since="23" />
+		<method name="getThumbTintMode()Landroid/graphics/PorterDuff$Mode;" since="23" />
+		<method name="getTrackDrawable()Landroid/graphics/drawable/Drawable;" since="16" />
+		<method name="getTrackTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getTrackTintList()Landroid/content/res/ColorStateList;" since="23" />
+		<method name="getTrackTintMode()Landroid/graphics/PorterDuff$Mode;" since="23" />
+		<method name="setShowText(Z)V" since="21" />
+		<method name="setSplitTrack(Z)V" since="21" />
+		<method name="setSwitchMinWidth(I)V" since="16" />
+		<method name="setSwitchPadding(I)V" since="16" />
+		<method name="setSwitchTextAppearance(Landroid/content/Context;I)V" />
+		<method name="setSwitchTypeface(Landroid/graphics/Typeface;)V" />
+		<method name="setSwitchTypeface(Landroid/graphics/Typeface;I)V" />
+		<method name="setTextOff(Ljava/lang/CharSequence;)V" />
+		<method name="setTextOn(Ljava/lang/CharSequence;)V" />
+		<method name="setThumbDrawable(Landroid/graphics/drawable/Drawable;)V" since="16" />
+		<method name="setThumbIcon(Landroid/graphics/drawable/Icon;)V" since="31" />
+		<method name="setThumbResource(I)V" since="16" />
+		<method name="setThumbTextPadding(I)V" since="16" />
+		<method name="setThumbTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setThumbTintList(Landroid/content/res/ColorStateList;)V" since="23" />
+		<method name="setThumbTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="23" />
+		<method name="setTrackDrawable(Landroid/graphics/drawable/Drawable;)V" since="16" />
+		<method name="setTrackIcon(Landroid/graphics/drawable/Icon;)V" since="31" />
+		<method name="setTrackResource(I)V" since="16" />
+		<method name="setTrackTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setTrackTintList(Landroid/content/res/ColorStateList;)V" since="23" />
+		<method name="setTrackTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="23" />
+	</class>
+	<class name="android/widget/TabHost" since="1" deprecated="30">
+		<extends name="android/widget/FrameLayout" />
+		<implements name="android/view/ViewTreeObserver$OnTouchModeChangeListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="30" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="30" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="21" deprecated="30" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="30" />
+		<method name="addTab(Landroid/widget/TabHost$TabSpec;)V" deprecated="30" />
+		<method name="clearAllTabs()V" deprecated="30" />
+		<method name="getCurrentTab()I" deprecated="30" />
+		<method name="getCurrentTabTag()Ljava/lang/String;" deprecated="30" />
+		<method name="getCurrentTabView()Landroid/view/View;" deprecated="30" />
+		<method name="getCurrentView()Landroid/view/View;" deprecated="30" />
+		<method name="getTabContentView()Landroid/widget/FrameLayout;" deprecated="30" />
+		<method name="getTabWidget()Landroid/widget/TabWidget;" deprecated="30" />
+		<method name="newTabSpec(Ljava/lang/String;)Landroid/widget/TabHost$TabSpec;" deprecated="30" />
+		<method name="setCurrentTab(I)V" deprecated="30" />
+		<method name="setCurrentTabByTag(Ljava/lang/String;)V" deprecated="30" />
+		<method name="setOnTabChangedListener(Landroid/widget/TabHost$OnTabChangeListener;)V" deprecated="30" />
+		<method name="setup()V" deprecated="30" />
+		<method name="setup(Landroid/app/LocalActivityManager;)V" deprecated="30" />
+	</class>
+	<class name="android/widget/TabHost$OnTabChangeListener" since="1" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="onTabChanged(Ljava/lang/String;)V" deprecated="30" />
+	</class>
+	<class name="android/widget/TabHost$TabContentFactory" since="1" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="createTabContent(Ljava/lang/String;)Landroid/view/View;" deprecated="30" />
+	</class>
+	<class name="android/widget/TabHost$TabSpec" since="1" deprecated="30">
+		<extends name="java/lang/Object" />
+		<method name="getTag()Ljava/lang/String;" since="4" deprecated="30" />
+		<method name="setContent(I)Landroid/widget/TabHost$TabSpec;" deprecated="30" />
+		<method name="setContent(Landroid/content/Intent;)Landroid/widget/TabHost$TabSpec;" deprecated="30" />
+		<method name="setContent(Landroid/widget/TabHost$TabContentFactory;)Landroid/widget/TabHost$TabSpec;" deprecated="30" />
+		<method name="setIndicator(Landroid/view/View;)Landroid/widget/TabHost$TabSpec;" since="4" deprecated="30" />
+		<method name="setIndicator(Ljava/lang/CharSequence;)Landroid/widget/TabHost$TabSpec;" deprecated="30" />
+		<method name="setIndicator(Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;)Landroid/widget/TabHost$TabSpec;" deprecated="30" />
+	</class>
+	<class name="android/widget/TabWidget" since="1" deprecated="30">
+		<extends name="android/widget/LinearLayout" />
+		<implements name="android/view/View$OnFocusChangeListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="30" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="30" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="30" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="30" />
+		<method name="focusCurrentTab(I)V" deprecated="30" />
+		<method name="getChildTabViewAt(I)Landroid/view/View;" since="4" deprecated="30" />
+		<method name="getLeftStripDrawable()Landroid/graphics/drawable/Drawable;" since="24" deprecated="30" />
+		<method name="getRightStripDrawable()Landroid/graphics/drawable/Drawable;" since="24" deprecated="30" />
+		<method name="getTabCount()I" since="4" deprecated="30" />
+		<method name="isStripEnabled()Z" since="8" deprecated="30" />
+		<method name="setCurrentTab(I)V" deprecated="30" />
+		<method name="setDividerDrawable(I)V" since="4" deprecated="30" />
+		<method name="setDividerDrawable(Landroid/graphics/drawable/Drawable;)V" since="4" deprecated="30" />
+		<method name="setLeftStripDrawable(I)V" since="8" deprecated="30" />
+		<method name="setLeftStripDrawable(Landroid/graphics/drawable/Drawable;)V" since="8" deprecated="30" />
+		<method name="setRightStripDrawable(I)V" since="8" deprecated="30" />
+		<method name="setRightStripDrawable(Landroid/graphics/drawable/Drawable;)V" since="8" deprecated="30" />
+		<method name="setStripEnabled(Z)V" since="8" deprecated="30" />
+	</class>
+	<class name="android/widget/TableLayout" since="1">
+		<extends name="android/widget/LinearLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/TableLayout$LayoutParams;" />
+		<method name="isColumnCollapsed(I)Z" />
+		<method name="isColumnShrinkable(I)Z" />
+		<method name="isColumnStretchable(I)Z" />
+		<method name="isShrinkAllColumns()Z" />
+		<method name="isStretchAllColumns()Z" />
+		<method name="setColumnCollapsed(IZ)V" />
+		<method name="setColumnShrinkable(IZ)V" />
+		<method name="setColumnStretchable(IZ)V" />
+		<method name="setShrinkAllColumns(Z)V" />
+		<method name="setStretchAllColumns(Z)V" />
+	</class>
+	<class name="android/widget/TableLayout$LayoutParams" since="1">
+		<extends name="android/widget/LinearLayout$LayoutParams" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(IIF)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$MarginLayoutParams;)V" />
+	</class>
+	<class name="android/widget/TableRow" since="1">
+		<extends name="android/widget/LinearLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/TableRow$LayoutParams;" />
+		<method name="getVirtualChildAt(I)Landroid/view/View;" />
+		<method name="getVirtualChildCount()I" />
+	</class>
+	<class name="android/widget/TableRow$LayoutParams" since="1">
+		<extends name="android/widget/LinearLayout$LayoutParams" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(IIF)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$MarginLayoutParams;)V" />
+		<field name="column" />
+		<field name="span" />
+	</class>
+	<class name="android/widget/TextClock" since="17">
+		<extends name="android/widget/TextView" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getFormat12Hour()Ljava/lang/CharSequence;" />
+		<method name="getFormat24Hour()Ljava/lang/CharSequence;" />
+		<method name="getTimeZone()Ljava/lang/String;" />
+		<method name="is24HourModeEnabled()Z" />
+		<method name="refreshTime()V" since="30" />
+		<method name="setFormat12Hour(Ljava/lang/CharSequence;)V" />
+		<method name="setFormat24Hour(Ljava/lang/CharSequence;)V" />
+		<method name="setTimeZone(Ljava/lang/String;)V" />
+		<field name="DEFAULT_FORMAT_12_HOUR" deprecated="18" />
+		<field name="DEFAULT_FORMAT_24_HOUR" deprecated="18" />
+	</class>
+	<class name="android/widget/TextSwitcher" since="1">
+		<extends name="android/widget/ViewSwitcher" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="setCurrentText(Ljava/lang/CharSequence;)V" />
+		<method name="setText(Ljava/lang/CharSequence;)V" />
+	</class>
+	<class name="android/widget/TextView" since="1">
+		<extends name="android/view/View" />
+		<implements name="android/view/ViewTreeObserver$OnPreDrawListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="addTextChangedListener(Landroid/text/TextWatcher;)V" />
+		<method name="append(Ljava/lang/CharSequence;)V" />
+		<method name="append(Ljava/lang/CharSequence;II)V" />
+		<method name="beginBatchEdit()V" since="3" />
+		<method name="bringPointIntoView(I)Z" since="3" />
+		<method name="clearComposingText()V" since="3" />
+		<method name="debug(I)V" />
+		<method name="didTouchFocusSelect()Z" since="3" />
+		<method name="endBatchEdit()V" since="3" />
+		<method name="extractText(Landroid/view/inputmethod/ExtractedTextRequest;Landroid/view/inputmethod/ExtractedText;)Z" since="3" />
+		<method name="getAutoLinkMask()I" />
+		<method name="getAutoSizeMaxTextSize()I" since="26" />
+		<method name="getAutoSizeMinTextSize()I" since="26" />
+		<method name="getAutoSizeStepGranularity()I" since="26" />
+		<method name="getAutoSizeTextAvailableSizes()[I" since="26" />
+		<method name="getAutoSizeTextType()I" since="26" />
+		<method name="getBreakStrategy()I" since="23" />
+		<method name="getCompoundDrawablePadding()I" />
+		<method name="getCompoundDrawableTintBlendMode()Landroid/graphics/BlendMode;" since="29" />
+		<method name="getCompoundDrawableTintList()Landroid/content/res/ColorStateList;" since="23" />
+		<method name="getCompoundDrawableTintMode()Landroid/graphics/PorterDuff$Mode;" since="23" />
+		<method name="getCompoundDrawables()[Landroid/graphics/drawable/Drawable;" />
+		<method name="getCompoundDrawablesRelative()[Landroid/graphics/drawable/Drawable;" since="17" />
+		<method name="getCompoundPaddingBottom()I" />
+		<method name="getCompoundPaddingEnd()I" since="17" />
+		<method name="getCompoundPaddingLeft()I" />
+		<method name="getCompoundPaddingRight()I" />
+		<method name="getCompoundPaddingStart()I" since="17" />
+		<method name="getCompoundPaddingTop()I" />
+		<method name="getCurrentHintTextColor()I" />
+		<method name="getCurrentTextColor()I" />
+		<method name="getCustomInsertionActionModeCallback()Landroid/view/ActionMode$Callback;" since="23" />
+		<method name="getCustomSelectionActionModeCallback()Landroid/view/ActionMode$Callback;" since="11" />
+		<method name="getDefaultEditable()Z" />
+		<method name="getDefaultMovementMethod()Landroid/text/method/MovementMethod;" />
+		<method name="getEditableText()Landroid/text/Editable;" since="3" />
+		<method name="getEllipsize()Landroid/text/TextUtils$TruncateAt;" />
+		<method name="getError()Ljava/lang/CharSequence;" />
+		<method name="getExtendedPaddingBottom()I" />
+		<method name="getExtendedPaddingTop()I" />
+		<method name="getFilters()[Landroid/text/InputFilter;" />
+		<method name="getFirstBaselineToTopHeight()I" since="28" />
+		<method name="getFontFeatureSettings()Ljava/lang/String;" since="21" />
+		<method name="getFontVariationSettings()Ljava/lang/String;" since="26" />
+		<method name="getFreezesText()Z" />
+		<method name="getGravity()I" />
+		<method name="getHighlightColor()I" since="16" />
+		<method name="getHint()Ljava/lang/CharSequence;" />
+		<method name="getHintTextColors()Landroid/content/res/ColorStateList;" />
+		<method name="getHyphenationFrequency()I" since="23" />
+		<method name="getImeActionId()I" since="3" />
+		<method name="getImeActionLabel()Ljava/lang/CharSequence;" since="3" />
+		<method name="getImeHintLocales()Landroid/os/LocaleList;" since="24" />
+		<method name="getImeOptions()I" since="3" />
+		<method name="getIncludeFontPadding()Z" since="16" />
+		<method name="getInputExtras(Z)Landroid/os/Bundle;" since="3" />
+		<method name="getInputType()I" since="3" />
+		<method name="getJustificationMode()I" since="26" />
+		<method name="getKeyListener()Landroid/text/method/KeyListener;" />
+		<method name="getLastBaselineToBottomHeight()I" since="28" />
+		<method name="getLayout()Landroid/text/Layout;" />
+		<method name="getLetterSpacing()F" since="21" />
+		<method name="getLineBounds(ILandroid/graphics/Rect;)I" />
+		<method name="getLineCount()I" />
+		<method name="getLineHeight()I" />
+		<method name="getLineSpacingExtra()F" since="16" />
+		<method name="getLineSpacingMultiplier()F" since="16" />
+		<method name="getLinkTextColors()Landroid/content/res/ColorStateList;" />
+		<method name="getLinksClickable()Z" />
+		<method name="getMarqueeRepeatLimit()I" since="16" />
+		<method name="getMaxEms()I" since="16" />
+		<method name="getMaxHeight()I" since="16" />
+		<method name="getMaxLines()I" since="16" />
+		<method name="getMaxWidth()I" since="16" />
+		<method name="getMinEms()I" since="16" />
+		<method name="getMinHeight()I" since="16" />
+		<method name="getMinLines()I" since="16" />
+		<method name="getMinWidth()I" since="16" />
+		<method name="getMovementMethod()Landroid/text/method/MovementMethod;" />
+		<method name="getOffsetForPosition(FF)I" since="14" />
+		<method name="getPaint()Landroid/text/TextPaint;" />
+		<method name="getPaintFlags()I" />
+		<method name="getPrivateImeOptions()Ljava/lang/String;" since="3" />
+		<method name="getSelectionEnd()I" />
+		<method name="getSelectionStart()I" />
+		<method name="getShadowColor()I" since="16" />
+		<method name="getShadowDx()F" since="16" />
+		<method name="getShadowDy()F" since="16" />
+		<method name="getShadowRadius()F" since="16" />
+		<method name="getShowSoftInputOnFocus()Z" since="21" />
+		<method name="getText()Ljava/lang/CharSequence;" />
+		<method name="getTextClassifier()Landroid/view/textclassifier/TextClassifier;" since="26" />
+		<method name="getTextColor(Landroid/content/Context;Landroid/content/res/TypedArray;I)I" removed="21" />
+		<method name="getTextColors()Landroid/content/res/ColorStateList;" />
+		<method name="getTextColors(Landroid/content/Context;Landroid/content/res/TypedArray;)Landroid/content/res/ColorStateList;" removed="21" />
+		<method name="getTextCursorDrawable()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic;" since="29" />
+		<method name="getTextLocale()Ljava/util/Locale;" since="17" />
+		<method name="getTextLocales()Landroid/os/LocaleList;" since="24" />
+		<method name="getTextMetricsParams()Landroid/text/PrecomputedText$Params;" since="28" />
+		<method name="getTextScaleX()F" />
+		<method name="getTextSelectHandle()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getTextSelectHandleLeft()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getTextSelectHandleRight()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getTextSize()F" />
+		<method name="getTextSizeUnit()I" since="30" />
+		<method name="getTotalPaddingBottom()I" />
+		<method name="getTotalPaddingEnd()I" since="17" />
+		<method name="getTotalPaddingLeft()I" />
+		<method name="getTotalPaddingRight()I" />
+		<method name="getTotalPaddingStart()I" since="17" />
+		<method name="getTotalPaddingTop()I" />
+		<method name="getTransformationMethod()Landroid/text/method/TransformationMethod;" />
+		<method name="getTypeface()Landroid/graphics/Typeface;" />
+		<method name="getUrls()[Landroid/text/style/URLSpan;" />
+		<method name="hasSelection()Z" />
+		<method name="isAllCaps()Z" since="28" />
+		<method name="isCursorVisible()Z" since="16" />
+		<method name="isElegantTextHeight()Z" since="28" />
+		<method name="isFallbackLineSpacing()Z" since="28" />
+		<method name="isHorizontallyScrollable()Z" since="29" />
+		<method name="isInputMethodTarget()Z" since="3" />
+		<method name="isSingleLine()Z" since="29" />
+		<method name="isSuggestionsEnabled()Z" since="14" />
+		<method name="isTextSelectable()Z" since="11" />
+		<method name="length()I" />
+		<method name="moveCursorToVisibleOffset()Z" since="3" />
+		<method name="onBeginBatchEdit()V" since="3" />
+		<method name="onCommitCompletion(Landroid/view/inputmethod/CompletionInfo;)V" since="3" />
+		<method name="onCommitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V" since="11" />
+		<method name="onEditorAction(I)V" since="3" />
+		<method name="onEndBatchEdit()V" since="3" />
+		<method name="onPrivateIMECommand(Ljava/lang/String;Landroid/os/Bundle;)Z" since="3" />
+		<method name="onSelectionChanged(II)V" since="3" />
+		<method name="onTextChanged(Ljava/lang/CharSequence;III)V" />
+		<method name="onTextContextMenuItem(I)Z" since="3" />
+		<method name="removeTextChangedListener(Landroid/text/TextWatcher;)V" />
+		<method name="resetResolvedDrawables()V" since="14" removed="17" />
+		<method name="resetResolvedLayoutDirection()V" since="14" removed="16" />
+		<method name="resolveDrawables()V" since="14" removed="17" />
+		<method name="resolveTextDirection()V" since="14" removed="16" />
+		<method name="setAllCaps(Z)V" since="14" />
+		<method name="setAutoLinkMask(I)V" />
+		<method name="setAutoSizeTextTypeUniformWithConfiguration(IIII)V" since="26" />
+		<method name="setAutoSizeTextTypeUniformWithPresetSizes([II)V" since="26" />
+		<method name="setAutoSizeTextTypeWithDefaults(I)V" since="26" />
+		<method name="setBreakStrategy(I)V" since="23" />
+		<method name="setCompoundDrawablePadding(I)V" />
+		<method name="setCompoundDrawableTintBlendMode(Landroid/graphics/BlendMode;)V" since="29" />
+		<method name="setCompoundDrawableTintList(Landroid/content/res/ColorStateList;)V" since="23" />
+		<method name="setCompoundDrawableTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="23" />
+		<method name="setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setCompoundDrawablesRelative(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V" since="17" />
+		<method name="setCompoundDrawablesRelativeWithIntrinsicBounds(IIII)V" since="17" />
+		<method name="setCompoundDrawablesRelativeWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V" since="17" />
+		<method name="setCompoundDrawablesWithIntrinsicBounds(IIII)V" since="3" />
+		<method name="setCompoundDrawablesWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setCursorVisible(Z)V" />
+		<method name="setCustomInsertionActionModeCallback(Landroid/view/ActionMode$Callback;)V" since="23" />
+		<method name="setCustomSelectionActionModeCallback(Landroid/view/ActionMode$Callback;)V" since="11" />
+		<method name="setEditableFactory(Landroid/text/Editable$Factory;)V" />
+		<method name="setElegantTextHeight(Z)V" since="21" />
+		<method name="setEllipsize(Landroid/text/TextUtils$TruncateAt;)V" />
+		<method name="setEms(I)V" />
+		<method name="setError(Ljava/lang/CharSequence;)V" />
+		<method name="setError(Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setExtractedText(Landroid/view/inputmethod/ExtractedText;)V" since="3" />
+		<method name="setFallbackLineSpacing(Z)V" since="28" />
+		<method name="setFilters([Landroid/text/InputFilter;)V" />
+		<method name="setFirstBaselineToTopHeight(I)V" since="28" />
+		<method name="setFontFeatureSettings(Ljava/lang/String;)V" since="21" />
+		<method name="setFontVariationSettings(Ljava/lang/String;)Z" since="26" />
+		<method name="setFrame(IIII)Z" />
+		<method name="setFreezesText(Z)V" />
+		<method name="setGravity(I)V" />
+		<method name="setHeight(I)V" />
+		<method name="setHighlightColor(I)V" />
+		<method name="setHint(I)V" />
+		<method name="setHint(Ljava/lang/CharSequence;)V" />
+		<method name="setHintTextColor(I)V" />
+		<method name="setHintTextColor(Landroid/content/res/ColorStateList;)V" />
+		<method name="setHorizontallyScrolling(Z)V" />
+		<method name="setHyphenationFrequency(I)V" since="23" />
+		<method name="setImeActionLabel(Ljava/lang/CharSequence;I)V" since="3" />
+		<method name="setImeHintLocales(Landroid/os/LocaleList;)V" since="24" />
+		<method name="setImeOptions(I)V" since="3" />
+		<method name="setIncludeFontPadding(Z)V" />
+		<method name="setInputExtras(I)V" since="3" />
+		<method name="setInputType(I)V" since="3" />
+		<method name="setJustificationMode(I)V" since="26" />
+		<method name="setKeyListener(Landroid/text/method/KeyListener;)V" />
+		<method name="setLastBaselineToBottomHeight(I)V" since="28" />
+		<method name="setLetterSpacing(F)V" since="21" />
+		<method name="setLineHeight(I)V" since="28" />
+		<method name="setLineSpacing(FF)V" />
+		<method name="setLines(I)V" />
+		<method name="setLinkTextColor(I)V" />
+		<method name="setLinkTextColor(Landroid/content/res/ColorStateList;)V" />
+		<method name="setLinksClickable(Z)V" />
+		<method name="setMarqueeRepeatLimit(I)V" since="2" />
+		<method name="setMaxEms(I)V" />
+		<method name="setMaxHeight(I)V" />
+		<method name="setMaxLines(I)V" />
+		<method name="setMaxWidth(I)V" />
+		<method name="setMinEms(I)V" />
+		<method name="setMinHeight(I)V" />
+		<method name="setMinLines(I)V" />
+		<method name="setMinWidth(I)V" />
+		<method name="setMovementMethod(Landroid/text/method/MovementMethod;)V" />
+		<method name="setOnEditorActionListener(Landroid/widget/TextView$OnEditorActionListener;)V" since="3" />
+		<method name="setPaddingRelative(IIII)V" since="16" />
+		<method name="setPaintFlags(I)V" />
+		<method name="setPrivateImeOptions(Ljava/lang/String;)V" since="3" />
+		<method name="setRawInputType(I)V" since="3" />
+		<method name="setScroller(Landroid/widget/Scroller;)V" />
+		<method name="setSelectAllOnFocus(Z)V" />
+		<method name="setShadowLayer(FFFI)V" />
+		<method name="setShowSoftInputOnFocus(Z)V" since="21" />
+		<method name="setSingleLine()V" />
+		<method name="setSingleLine(Z)V" />
+		<method name="setSpannableFactory(Landroid/text/Spannable$Factory;)V" />
+		<method name="setText(I)V" />
+		<method name="setText(ILandroid/widget/TextView$BufferType;)V" />
+		<method name="setText(Ljava/lang/CharSequence;)V" />
+		<method name="setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;)V" />
+		<method name="setText([CII)V" />
+		<method name="setTextAppearance(I)V" since="23" />
+		<method name="setTextAppearance(Landroid/content/Context;I)V" deprecated="23" />
+		<method name="setTextClassifier(Landroid/view/textclassifier/TextClassifier;)V" since="26" />
+		<method name="setTextColor(I)V" />
+		<method name="setTextColor(Landroid/content/res/ColorStateList;)V" />
+		<method name="setTextCursorDrawable(I)V" since="29" />
+		<method name="setTextCursorDrawable(Landroid/graphics/drawable/Drawable;)V" since="29" />
+		<method name="setTextIsSelectable(Z)V" since="11" />
+		<method name="setTextKeepState(Ljava/lang/CharSequence;)V" />
+		<method name="setTextKeepState(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;)V" />
+		<method name="setTextLocale(Ljava/util/Locale;)V" since="17" />
+		<method name="setTextLocales(Landroid/os/LocaleList;)V" since="24" />
+		<method name="setTextMetricsParams(Landroid/text/PrecomputedText$Params;)V" since="28" />
+		<method name="setTextScaleX(F)V" />
+		<method name="setTextSelectHandle(I)V" since="29" />
+		<method name="setTextSelectHandle(Landroid/graphics/drawable/Drawable;)V" since="29" />
+		<method name="setTextSelectHandleLeft(I)V" since="29" />
+		<method name="setTextSelectHandleLeft(Landroid/graphics/drawable/Drawable;)V" since="29" />
+		<method name="setTextSelectHandleRight(I)V" since="29" />
+		<method name="setTextSelectHandleRight(Landroid/graphics/drawable/Drawable;)V" since="29" />
+		<method name="setTextSize(F)V" />
+		<method name="setTextSize(IF)V" />
+		<method name="setTransformationMethod(Landroid/text/method/TransformationMethod;)V" />
+		<method name="setTypeface(Landroid/graphics/Typeface;)V" />
+		<method name="setTypeface(Landroid/graphics/Typeface;I)V" />
+		<method name="setWidth(I)V" />
+		<field name="AUTO_SIZE_TEXT_TYPE_NONE" since="26" />
+		<field name="AUTO_SIZE_TEXT_TYPE_UNIFORM" since="26" />
+	</class>
+	<class name="android/widget/TextView$BufferType" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Landroid/widget/TextView$BufferType;" />
+		<method name="values()[Landroid/widget/TextView$BufferType;" />
+		<field name="EDITABLE" />
+		<field name="NORMAL" />
+		<field name="SPANNABLE" />
+	</class>
+	<class name="android/widget/TextView$OnEditorActionListener" since="3">
+		<extends name="java/lang/Object" />
+		<method name="onEditorAction(Landroid/widget/TextView;ILandroid/view/KeyEvent;)Z" />
+	</class>
+	<class name="android/widget/TextView$SavedState" since="1">
+		<extends name="android/view/View$BaseSavedState" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/widget/ThemedSpinnerAdapter" since="23">
+		<extends name="java/lang/Object" />
+		<implements name="android/widget/SpinnerAdapter" />
+		<method name="getDropDownViewTheme()Landroid/content/res/Resources$Theme;" />
+		<method name="setDropDownViewTheme(Landroid/content/res/Resources$Theme;)V" />
+	</class>
+	<class name="android/widget/TimePicker" since="1">
+		<extends name="android/widget/FrameLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getCurrentHour()Ljava/lang/Integer;" deprecated="23" />
+		<method name="getCurrentMinute()Ljava/lang/Integer;" deprecated="23" />
+		<method name="getHour()I" since="23" />
+		<method name="getMinute()I" since="23" />
+		<method name="is24HourView()Z" />
+		<method name="setCurrentHour(Ljava/lang/Integer;)V" deprecated="23" />
+		<method name="setCurrentMinute(Ljava/lang/Integer;)V" deprecated="23" />
+		<method name="setHour(I)V" since="23" />
+		<method name="setIs24HourView(Ljava/lang/Boolean;)V" />
+		<method name="setMinute(I)V" since="23" />
+		<method name="setOnTimeChangedListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V" />
+		<method name="validateInput()Z" since="26" />
+	</class>
+	<class name="android/widget/TimePicker$OnTimeChangedListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="onTimeChanged(Landroid/widget/TimePicker;II)V" />
+	</class>
+	<class name="android/widget/Toast" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="addCallback(Landroid/widget/Toast$Callback;)V" since="30" />
+		<method name="cancel()V" />
+		<method name="getDuration()I" />
+		<method name="getGravity()I" />
+		<method name="getHorizontalMargin()F" />
+		<method name="getVerticalMargin()F" />
+		<method name="getView()Landroid/view/View;" deprecated="30" />
+		<method name="getXOffset()I" />
+		<method name="getYOffset()I" />
+		<method name="makeText(Landroid/content/Context;II)Landroid/widget/Toast;" />
+		<method name="makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;" />
+		<method name="removeCallback(Landroid/widget/Toast$Callback;)V" since="30" />
+		<method name="setDuration(I)V" />
+		<method name="setGravity(III)V" />
+		<method name="setMargin(FF)V" />
+		<method name="setText(I)V" />
+		<method name="setText(Ljava/lang/CharSequence;)V" />
+		<method name="setView(Landroid/view/View;)V" deprecated="30" />
+		<method name="show()V" />
+		<field name="LENGTH_LONG" />
+		<field name="LENGTH_SHORT" />
+	</class>
+	<class name="android/widget/Toast$Callback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="onToastHidden()V" />
+		<method name="onToastShown()V" />
+	</class>
+	<class name="android/widget/ToggleButton" since="1">
+		<extends name="android/widget/CompoundButton" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="getDisabledAlpha()F" since="29" />
+		<method name="getTextOff()Ljava/lang/CharSequence;" />
+		<method name="getTextOn()Ljava/lang/CharSequence;" />
+		<method name="setTextOff(Ljava/lang/CharSequence;)V" />
+		<method name="setTextOn(Ljava/lang/CharSequence;)V" />
+	</class>
+	<class name="android/widget/Toolbar" since="21">
+		<extends name="android/view/ViewGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" />
+		<method name="collapseActionView()V" />
+		<method name="dismissPopupMenus()V" />
+		<method name="generateDefaultLayoutParams()Landroid/widget/Toolbar$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/Toolbar$LayoutParams;" />
+		<method name="generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/Toolbar$LayoutParams;" />
+		<method name="getCollapseContentDescription()Ljava/lang/CharSequence;" since="29" />
+		<method name="getCollapseIcon()Landroid/graphics/drawable/Drawable;" since="29" />
+		<method name="getContentInsetEnd()I" />
+		<method name="getContentInsetEndWithActions()I" since="24" />
+		<method name="getContentInsetLeft()I" />
+		<method name="getContentInsetRight()I" />
+		<method name="getContentInsetStart()I" />
+		<method name="getContentInsetStartWithNavigation()I" since="24" />
+		<method name="getCurrentContentInsetEnd()I" since="24" />
+		<method name="getCurrentContentInsetLeft()I" since="24" />
+		<method name="getCurrentContentInsetRight()I" since="24" />
+		<method name="getCurrentContentInsetStart()I" since="24" />
+		<method name="getLogo()Landroid/graphics/drawable/Drawable;" />
+		<method name="getLogoDescription()Ljava/lang/CharSequence;" />
+		<method name="getMenu()Landroid/view/Menu;" />
+		<method name="getNavigationContentDescription()Ljava/lang/CharSequence;" />
+		<method name="getNavigationIcon()Landroid/graphics/drawable/Drawable;" />
+		<method name="getOverflowIcon()Landroid/graphics/drawable/Drawable;" since="23" />
+		<method name="getPopupTheme()I" />
+		<method name="getSubtitle()Ljava/lang/CharSequence;" />
+		<method name="getTitle()Ljava/lang/CharSequence;" />
+		<method name="getTitleMarginBottom()I" since="24" />
+		<method name="getTitleMarginEnd()I" since="24" />
+		<method name="getTitleMarginStart()I" since="24" />
+		<method name="getTitleMarginTop()I" since="24" />
+		<method name="hasExpandedActionView()Z" />
+		<method name="hideOverflowMenu()Z" />
+		<method name="inflateMenu(I)V" />
+		<method name="isOverflowMenuShowing()Z" />
+		<method name="setCollapseContentDescription(I)V" since="29" />
+		<method name="setCollapseContentDescription(Ljava/lang/CharSequence;)V" since="29" />
+		<method name="setCollapseIcon(I)V" since="29" />
+		<method name="setCollapseIcon(Landroid/graphics/drawable/Drawable;)V" since="29" />
+		<method name="setContentInsetEndWithActions(I)V" since="24" />
+		<method name="setContentInsetStartWithNavigation(I)V" since="24" />
+		<method name="setContentInsetsAbsolute(II)V" />
+		<method name="setContentInsetsRelative(II)V" />
+		<method name="setLogo(I)V" />
+		<method name="setLogo(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setLogoDescription(I)V" />
+		<method name="setLogoDescription(Ljava/lang/CharSequence;)V" />
+		<method name="setNavigationContentDescription(I)V" />
+		<method name="setNavigationContentDescription(Ljava/lang/CharSequence;)V" />
+		<method name="setNavigationIcon(I)V" />
+		<method name="setNavigationIcon(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setNavigationOnClickListener(Landroid/view/View$OnClickListener;)V" />
+		<method name="setOnMenuItemClickListener(Landroid/widget/Toolbar$OnMenuItemClickListener;)V" />
+		<method name="setOverflowIcon(Landroid/graphics/drawable/Drawable;)V" since="23" />
+		<method name="setPopupTheme(I)V" />
+		<method name="setSubtitle(I)V" />
+		<method name="setSubtitle(Ljava/lang/CharSequence;)V" />
+		<method name="setSubtitleTextAppearance(Landroid/content/Context;I)V" />
+		<method name="setSubtitleTextColor(I)V" />
+		<method name="setTitle(I)V" />
+		<method name="setTitle(Ljava/lang/CharSequence;)V" />
+		<method name="setTitleMargin(IIII)V" since="24" />
+		<method name="setTitleMarginBottom(I)V" since="24" />
+		<method name="setTitleMarginEnd(I)V" since="24" />
+		<method name="setTitleMarginStart(I)V" since="24" />
+		<method name="setTitleMarginTop(I)V" since="24" />
+		<method name="setTitleTextAppearance(Landroid/content/Context;I)V" />
+		<method name="setTitleTextColor(I)V" />
+		<method name="showOverflowMenu()Z" />
+	</class>
+	<class name="android/widget/Toolbar$LayoutParams" since="21">
+		<extends name="android/app/ActionBar$LayoutParams" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="&lt;init&gt;(Landroid/app/ActionBar$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$MarginLayoutParams;)V" />
+		<method name="&lt;init&gt;(Landroid/widget/Toolbar$LayoutParams;)V" />
+	</class>
+	<class name="android/widget/Toolbar$OnMenuItemClickListener" since="21">
+		<extends name="java/lang/Object" />
+		<method name="onMenuItemClick(Landroid/view/MenuItem;)Z" />
+	</class>
+	<class name="android/widget/TwoLineListItem" since="1" deprecated="17">
+		<extends name="android/widget/RelativeLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="getText1()Landroid/widget/TextView;" deprecated="29" />
+		<method name="getText2()Landroid/widget/TextView;" deprecated="29" />
+	</class>
+	<class name="android/widget/VideoView" since="1">
+		<extends name="android/view/SurfaceView" />
+		<implements name="android/widget/MediaController$MediaPlayerControl" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" />
+		<method name="addSubtitleSource(Ljava/io/InputStream;Landroid/media/MediaFormat;)V" since="19" />
+		<method name="resolveAdjustedSize(II)I" />
+		<method name="resume()V" since="8" />
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)V" since="26" />
+		<method name="setAudioFocusRequest(I)V" since="26" />
+		<method name="setMediaController(Landroid/widget/MediaController;)V" />
+		<method name="setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V" />
+		<method name="setOnErrorListener(Landroid/media/MediaPlayer$OnErrorListener;)V" />
+		<method name="setOnInfoListener(Landroid/media/MediaPlayer$OnInfoListener;)V" since="17" />
+		<method name="setOnPreparedListener(Landroid/media/MediaPlayer$OnPreparedListener;)V" />
+		<method name="setVideoPath(Ljava/lang/String;)V" />
+		<method name="setVideoURI(Landroid/net/Uri;)V" />
+		<method name="setVideoURI(Landroid/net/Uri;Ljava/util/Map;)V" since="21" />
+		<method name="stopPlayback()V" />
+		<method name="suspend()V" since="8" />
+	</class>
+	<class name="android/widget/ViewAnimator" since="1">
+		<extends name="android/widget/FrameLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="getAnimateFirstView()Z" since="17" />
+		<method name="getCurrentView()Landroid/view/View;" />
+		<method name="getDisplayedChild()I" />
+		<method name="getInAnimation()Landroid/view/animation/Animation;" />
+		<method name="getOutAnimation()Landroid/view/animation/Animation;" />
+		<method name="setAnimateFirstView(Z)V" />
+		<method name="setDisplayedChild(I)V" />
+		<method name="setInAnimation(Landroid/content/Context;I)V" />
+		<method name="setInAnimation(Landroid/view/animation/Animation;)V" />
+		<method name="setOutAnimation(Landroid/content/Context;I)V" />
+		<method name="setOutAnimation(Landroid/view/animation/Animation;)V" />
+		<method name="showNext()V" />
+		<method name="showPrevious()V" />
+	</class>
+	<class name="android/widget/ViewFlipper" since="1">
+		<extends name="android/widget/ViewAnimator" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="getFlipInterval()I" since="29" />
+		<method name="isAutoStart()Z" since="7" />
+		<method name="isFlipping()Z" />
+		<method name="setAutoStart(Z)V" since="7" />
+		<method name="setFlipInterval(I)V" />
+		<method name="startFlipping()V" />
+		<method name="stopFlipping()V" />
+	</class>
+	<class name="android/widget/ViewSwitcher" since="1">
+		<extends name="android/widget/ViewAnimator" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="getNextView()Landroid/view/View;" />
+		<method name="reset()V" />
+		<method name="setFactory(Landroid/widget/ViewSwitcher$ViewFactory;)V" />
+	</class>
+	<class name="android/widget/ViewSwitcher$ViewFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="makeView()Landroid/view/View;" />
+	</class>
+	<class name="android/widget/WrapperListAdapter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="android/widget/ListAdapter" />
+		<method name="getWrappedAdapter()Landroid/widget/ListAdapter;" />
+	</class>
+	<class name="android/widget/ZoomButton" since="1" deprecated="26">
+		<extends name="android/widget/ImageButton" />
+		<implements name="android/view/View$OnLongClickListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29" />
+		<method name="setZoomSpeed(J)V" deprecated="29" />
+	</class>
+	<class name="android/widget/ZoomButtonsController" since="4" deprecated="26">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/View$OnTouchListener" />
+		<method name="&lt;init&gt;(Landroid/view/View;)V" deprecated="29" />
+		<method name="getContainer()Landroid/view/ViewGroup;" deprecated="29" />
+		<method name="getZoomControls()Landroid/view/View;" deprecated="29" />
+		<method name="isAutoDismissed()Z" deprecated="29" />
+		<method name="isVisible()Z" deprecated="29" />
+		<method name="setAutoDismissed(Z)V" deprecated="29" />
+		<method name="setFocusable(Z)V" deprecated="29" />
+		<method name="setOnZoomListener(Landroid/widget/ZoomButtonsController$OnZoomListener;)V" deprecated="29" />
+		<method name="setVisible(Z)V" deprecated="29" />
+		<method name="setZoomInEnabled(Z)V" deprecated="29" />
+		<method name="setZoomOutEnabled(Z)V" deprecated="29" />
+		<method name="setZoomSpeed(J)V" deprecated="29" />
+	</class>
+	<class name="android/widget/ZoomButtonsController$OnZoomListener" since="4" deprecated="29">
+		<extends name="java/lang/Object" />
+		<method name="onVisibilityChanged(Z)V" deprecated="29" />
+		<method name="onZoom(Z)V" deprecated="29" />
+	</class>
+	<class name="android/widget/ZoomControls" since="1" deprecated="29">
+		<extends name="android/widget/LinearLayout" />
+		<method name="&lt;init&gt;(Landroid/content/Context;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29" />
+		<method name="hide()V" deprecated="29" />
+		<method name="setIsZoomInEnabled(Z)V" deprecated="29" />
+		<method name="setIsZoomOutEnabled(Z)V" deprecated="29" />
+		<method name="setOnZoomInClickListener(Landroid/view/View$OnClickListener;)V" deprecated="29" />
+		<method name="setOnZoomOutClickListener(Landroid/view/View$OnClickListener;)V" deprecated="29" />
+		<method name="setZoomSpeed(J)V" deprecated="29" />
+		<method name="show()V" deprecated="29" />
+	</class>
+	<class name="android/widget/inline/InlineContentView" since="30">
+		<extends name="android/view/ViewGroup" />
+		<method name="getSurfaceControl()Landroid/view/SurfaceControl;" />
+		<method name="isZOrderedOnTop()Z" />
+		<method name="setSurfaceControlCallback(Landroid/widget/inline/InlineContentView$SurfaceControlCallback;)V" />
+		<method name="setZOrderedOnTop(Z)Z" />
+	</class>
+	<class name="android/widget/inline/InlineContentView$SurfaceControlCallback" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onCreated(Landroid/view/SurfaceControl;)V" />
+		<method name="onDestroyed(Landroid/view/SurfaceControl;)V" />
+	</class>
+	<class name="android/widget/inline/InlinePresentationSpec" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="android/os/Parcelable" />
+		<method name="getMaxSize()Landroid/util/Size;" />
+		<method name="getMinSize()Landroid/util/Size;" />
+		<method name="getStyle()Landroid/os/Bundle;" />
+		<field name="CREATOR" />
+	</class>
+	<class name="android/widget/inline/InlinePresentationSpec$Builder" since="30">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Landroid/util/Size;Landroid/util/Size;)V" />
+		<method name="build()Landroid/widget/inline/InlinePresentationSpec;" />
+		<method name="setStyle(Landroid/os/Bundle;)Landroid/widget/inline/InlinePresentationSpec$Builder;" />
+	</class>
+	<class name="android/window/SplashScreen" since="31">
+		<extends name="java/lang/Object" />
+		<method name="clearOnExitAnimationListener()V" />
+		<method name="setOnExitAnimationListener(Landroid/window/SplashScreen$OnExitAnimationListener;)V" />
+		<method name="setSplashScreenTheme(I)V" />
+	</class>
+	<class name="android/window/SplashScreen$OnExitAnimationListener" since="31">
+		<extends name="java/lang/Object" />
+		<method name="onSplashScreenExit(Landroid/window/SplashScreenView;)V" />
+	</class>
+	<class name="android/window/SplashScreenView" since="31">
+		<extends name="android/widget/FrameLayout" />
+		<method name="getIconAnimationDuration()Ljava/time/Duration;" />
+		<method name="getIconAnimationStart()Ljava/time/Instant;" />
+		<method name="getIconView()Landroid/view/View;" />
+		<method name="remove()V" />
+	</class>
+	<class name="com/android/internal/util/Predicate" since="1" deprecated="26" removed="28">
+		<extends name="java/lang/Object" />
+		<method name="apply(Ljava/lang/Object;)Z" />
+	</class>
+	<class name="com/google/android/maps/GeoPoint" since="1" removed="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getLatitudeE6()I" />
+		<method name="getLongitudeE6()I" />
+	</class>
+	<class name="com/google/android/maps/ItemizedOverlay" since="1" removed="3">
+		<extends name="com/google/android/maps/Overlay" />
+		<method name="&lt;init&gt;(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="boundCenter(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;" />
+		<method name="boundCenterBottom(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;" />
+		<method name="createItem(I)Lcom/google/android/maps/OverlayItem;" />
+		<method name="getCenter()Lcom/google/android/maps/GeoPoint;" />
+		<method name="getFocus()Lcom/google/android/maps/OverlayItem;" />
+		<method name="getIndexToDraw(I)I" />
+		<method name="getItem(I)Lcom/google/android/maps/OverlayItem;" />
+		<method name="getLastFocusedIndex()I" />
+		<method name="getLatSpanE6()I" />
+		<method name="getLonSpanE6()I" />
+		<method name="hitTest(Lcom/google/android/maps/OverlayItem;Landroid/graphics/drawable/Drawable;II)Z" />
+		<method name="nextFocus(Z)Lcom/google/android/maps/OverlayItem;" />
+		<method name="onTap(I)Z" />
+		<method name="populate()V" />
+		<method name="setDrawFocusedItem(Z)V" />
+		<method name="setFocus(Lcom/google/android/maps/OverlayItem;)V" />
+		<method name="setLastFocusedIndex(I)V" />
+		<method name="setOnFocusChangeListener(Lcom/google/android/maps/ItemizedOverlay$OnFocusChangeListener;)V" />
+		<method name="size()I" />
+	</class>
+	<class name="com/google/android/maps/ItemizedOverlay$OnFocusChangeListener" since="1" removed="3">
+		<extends name="java/lang/Object" />
+		<method name="onFocusChanged(Lcom/google/android/maps/ItemizedOverlay;Lcom/google/android/maps/OverlayItem;)V" />
+	</class>
+	<class name="com/google/android/maps/MapActivity" since="1" removed="3">
+		<extends name="android/app/Activity" />
+		<method name="&lt;init&gt;()V" />
+		<method name="isLocationDisplayed()Z" />
+		<method name="isRouteDisplayed()Z" />
+	</class>
+	<class name="com/google/android/maps/MapController" since="1" removed="3">
+		<extends name="java/lang/Object" />
+		<implements name="android/view/View$OnKeyListener" />
+		<method name="animateTo(Lcom/google/android/maps/GeoPoint;)V" />
+		<method name="animateTo(Lcom/google/android/maps/GeoPoint;Landroid/os/Message;)V" />
+		<method name="animateTo(Lcom/google/android/maps/GeoPoint;Ljava/lang/Runnable;)V" />
+		<method name="scrollBy(II)V" />
+		<method name="setCenter(Lcom/google/android/maps/GeoPoint;)V" />
+		<method name="setZoom(I)I" />
+		<method name="stopAnimation(Z)V" />
+		<method name="stopPanning()V" />
+		<method name="zoomIn()Z" />
+		<method name="zoomInFixing(II)Z" />
+		<method name="zoomOut()Z" />
+		<method name="zoomOutFixing(II)Z" />
+		<method name="zoomToSpan(II)V" />
+	</class>
+	<class name="com/google/android/maps/MapView" since="1" removed="3">
+		<extends name="android/view/ViewGroup" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;I)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Ljava/lang/String;)V" />
+		<method name="canCoverCenter()Z" />
+		<method name="displayZoomControls(Z)V" />
+		<method name="generateDefaultLayoutParams()Lcom/google/android/maps/MapView$LayoutParams;" />
+		<method name="getController()Lcom/google/android/maps/MapController;" />
+		<method name="getLatitudeSpan()I" />
+		<method name="getLongitudeSpan()I" />
+		<method name="getMapCenter()Lcom/google/android/maps/GeoPoint;" />
+		<method name="getMaxZoomLevel()I" />
+		<method name="getOverlays()Ljava/util/List;" />
+		<method name="getProjection()Lcom/google/android/maps/Projection;" />
+		<method name="getZoomControls()Landroid/view/View;" />
+		<method name="getZoomLevel()I" />
+		<method name="isSatellite()Z" />
+		<method name="isStreetView()Z" />
+		<method name="isTraffic()Z" />
+		<method name="onRestoreInstanceState(Landroid/os/Bundle;)V" />
+		<method name="onSaveInstanceState(Landroid/os/Bundle;)V" />
+		<method name="preLoad()V" />
+		<method name="setReticleDrawMode(Lcom/google/android/maps/MapView$ReticleDrawMode;)V" />
+		<method name="setSatellite(Z)V" />
+		<method name="setStreetView(Z)V" />
+		<method name="setTraffic(Z)V" />
+	</class>
+	<class name="com/google/android/maps/MapView$LayoutParams" since="1" removed="3">
+		<extends name="android/view/ViewGroup$LayoutParams" />
+		<method name="&lt;init&gt;(IIIII)V" />
+		<method name="&lt;init&gt;(IILcom/google/android/maps/GeoPoint;I)V" />
+		<method name="&lt;init&gt;(IILcom/google/android/maps/GeoPoint;III)V" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Landroid/util/AttributeSet;)V" />
+		<method name="&lt;init&gt;(Landroid/view/ViewGroup$LayoutParams;)V" />
+		<method name="debug(Ljava/lang/String;)Ljava/lang/String;" />
+		<field name="BOTTOM" />
+		<field name="BOTTOM_CENTER" />
+		<field name="CENTER" />
+		<field name="CENTER_HORIZONTAL" />
+		<field name="CENTER_VERTICAL" />
+		<field name="LEFT" />
+		<field name="MODE_MAP" />
+		<field name="MODE_VIEW" />
+		<field name="RIGHT" />
+		<field name="TOP" />
+		<field name="TOP_LEFT" />
+		<field name="alignment" />
+		<field name="mode" />
+		<field name="point" />
+		<field name="x" />
+		<field name="y" />
+	</class>
+	<class name="com/google/android/maps/MapView$ReticleDrawMode" since="1" removed="3">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Lcom/google/android/maps/MapView$ReticleDrawMode;" />
+		<method name="values()[Lcom/google/android/maps/MapView$ReticleDrawMode;" />
+		<field name="DRAW_RETICLE_NEVER" />
+		<field name="DRAW_RETICLE_OVER" />
+		<field name="DRAW_RETICLE_UNDER" />
+	</class>
+	<class name="com/google/android/maps/MyLocationOverlay" since="1" removed="3">
+		<extends name="com/google/android/maps/Overlay" />
+		<implements name="android/hardware/SensorListener" />
+		<implements name="android/location/LocationListener" />
+		<method name="&lt;init&gt;(Landroid/content/Context;Lcom/google/android/maps/MapView;)V" />
+		<method name="disableCompass()V" />
+		<method name="disableMyLocation()V" />
+		<method name="dispatchTap()Z" />
+		<method name="drawCompass(Landroid/graphics/Canvas;F)V" />
+		<method name="drawMyLocation(Landroid/graphics/Canvas;Lcom/google/android/maps/MapView;Landroid/location/Location;Lcom/google/android/maps/GeoPoint;J)V" />
+		<method name="enableCompass()Z" />
+		<method name="enableMyLocation()Z" />
+		<method name="getLastFix()Landroid/location/Location;" />
+		<method name="getMyLocation()Lcom/google/android/maps/GeoPoint;" />
+		<method name="getOrientation()F" />
+		<method name="isCompassEnabled()Z" />
+		<method name="isMyLocationEnabled()Z" />
+		<method name="runOnFirstFix(Ljava/lang/Runnable;)Z" />
+	</class>
+	<class name="com/google/android/maps/Overlay" since="1" removed="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="draw(Landroid/graphics/Canvas;Lcom/google/android/maps/MapView;Z)V" />
+		<method name="draw(Landroid/graphics/Canvas;Lcom/google/android/maps/MapView;ZJ)Z" />
+		<method name="drawAt(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIZ)V" />
+		<method name="onKeyDown(ILandroid/view/KeyEvent;Lcom/google/android/maps/MapView;)Z" />
+		<method name="onKeyUp(ILandroid/view/KeyEvent;Lcom/google/android/maps/MapView;)Z" />
+		<method name="onTap(Lcom/google/android/maps/GeoPoint;Lcom/google/android/maps/MapView;)Z" />
+		<method name="onTouchEvent(Landroid/view/MotionEvent;Lcom/google/android/maps/MapView;)Z" />
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;Lcom/google/android/maps/MapView;)Z" />
+		<field name="SHADOW_X_SKEW" />
+		<field name="SHADOW_Y_SCALE" />
+	</class>
+	<class name="com/google/android/maps/OverlayItem" since="1" removed="3">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Lcom/google/android/maps/GeoPoint;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getMarker(I)Landroid/graphics/drawable/Drawable;" />
+		<method name="getPoint()Lcom/google/android/maps/GeoPoint;" />
+		<method name="getSnippet()Ljava/lang/String;" />
+		<method name="getTitle()Ljava/lang/String;" />
+		<method name="routableAddress()Ljava/lang/String;" />
+		<method name="setMarker(Landroid/graphics/drawable/Drawable;)V" />
+		<method name="setState(Landroid/graphics/drawable/Drawable;I)V" />
+		<field name="ITEM_STATE_FOCUSED_MASK" />
+		<field name="ITEM_STATE_PRESSED_MASK" />
+		<field name="ITEM_STATE_SELECTED_MASK" />
+		<field name="mMarker" />
+		<field name="mPoint" />
+		<field name="mSnippet" />
+		<field name="mTitle" />
+	</class>
+	<class name="com/google/android/maps/Projection" since="1" removed="3">
+		<extends name="java/lang/Object" />
+		<method name="fromPixels(II)Lcom/google/android/maps/GeoPoint;" />
+		<method name="metersToEquatorPixels(F)F" />
+		<method name="toPixels(Lcom/google/android/maps/GeoPoint;Landroid/graphics/Point;)Landroid/graphics/Point;" />
+	</class>
+	<class name="com/google/android/maps/TrackballGestureDetector" since="1" removed="3">
+		<extends name="java/lang/Object" />
+		<method name="analyze(Landroid/view/MotionEvent;)V" />
+		<method name="getCurrentDownX()F" />
+		<method name="getCurrentDownY()F" />
+		<method name="getFirstDownX()F" />
+		<method name="getFirstDownY()F" />
+		<method name="isDoubleTap()Z" />
+		<method name="isScroll()Z" />
+		<method name="isTap()Z" />
+		<method name="registerLongPressCallback(Ljava/lang/Runnable;)V" />
+		<method name="scrollX()F" />
+		<method name="scrollY()F" />
+	</class>
+	<class name="dalvik/annotation/TestTarget" since="1" deprecated="14">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="conceptName()Ljava/lang/String;" since="3" deprecated="29" />
+		<method name="methodArgs()[Ljava/lang/Class;" deprecated="29" />
+		<method name="methodName()Ljava/lang/String;" deprecated="29" />
+	</class>
+	<class name="dalvik/annotation/TestTargetClass" since="1" deprecated="14">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="value()Ljava/lang/Class;" deprecated="29" />
+	</class>
+	<class name="dalvik/bytecode/OpcodeInfo" since="11">
+		<extends name="java/lang/Object" />
+		<field name="MAXIMUM_PACKED_VALUE" />
+		<field name="MAXIMUM_VALUE" />
+	</class>
+	<class name="dalvik/bytecode/Opcodes" since="1">
+		<extends name="java/lang/Object" />
+		<field name="OP_ADD_DOUBLE" />
+		<field name="OP_ADD_DOUBLE_2ADDR" />
+		<field name="OP_ADD_FLOAT" />
+		<field name="OP_ADD_FLOAT_2ADDR" />
+		<field name="OP_ADD_INT" />
+		<field name="OP_ADD_INT_2ADDR" />
+		<field name="OP_ADD_INT_LIT16" />
+		<field name="OP_ADD_INT_LIT8" />
+		<field name="OP_ADD_LONG" />
+		<field name="OP_ADD_LONG_2ADDR" />
+		<field name="OP_AGET" />
+		<field name="OP_AGET_BOOLEAN" />
+		<field name="OP_AGET_BYTE" />
+		<field name="OP_AGET_CHAR" />
+		<field name="OP_AGET_OBJECT" />
+		<field name="OP_AGET_SHORT" />
+		<field name="OP_AGET_WIDE" />
+		<field name="OP_AND_INT" />
+		<field name="OP_AND_INT_2ADDR" />
+		<field name="OP_AND_INT_LIT16" />
+		<field name="OP_AND_INT_LIT8" />
+		<field name="OP_AND_LONG" />
+		<field name="OP_AND_LONG_2ADDR" />
+		<field name="OP_APUT" />
+		<field name="OP_APUT_BOOLEAN" />
+		<field name="OP_APUT_BYTE" />
+		<field name="OP_APUT_CHAR" />
+		<field name="OP_APUT_OBJECT" />
+		<field name="OP_APUT_SHORT" />
+		<field name="OP_APUT_WIDE" />
+		<field name="OP_ARRAY_LENGTH" />
+		<field name="OP_BREAKPOINT" since="8" deprecated="15" />
+		<field name="OP_CHECK_CAST" />
+		<field name="OP_CHECK_CAST_JUMBO" since="11" />
+		<field name="OP_CMPG_DOUBLE" />
+		<field name="OP_CMPG_FLOAT" />
+		<field name="OP_CMPL_DOUBLE" />
+		<field name="OP_CMPL_FLOAT" />
+		<field name="OP_CMP_LONG" />
+		<field name="OP_CONST" />
+		<field name="OP_CONST_16" />
+		<field name="OP_CONST_4" />
+		<field name="OP_CONST_CLASS" />
+		<field name="OP_CONST_CLASS_JUMBO" since="11" />
+		<field name="OP_CONST_HIGH16" />
+		<field name="OP_CONST_METHOD_HANDLE" since="28" />
+		<field name="OP_CONST_METHOD_TYPE" since="28" />
+		<field name="OP_CONST_STRING" />
+		<field name="OP_CONST_STRING_JUMBO" />
+		<field name="OP_CONST_WIDE" />
+		<field name="OP_CONST_WIDE_16" />
+		<field name="OP_CONST_WIDE_32" />
+		<field name="OP_CONST_WIDE_HIGH16" />
+		<field name="OP_DIV_DOUBLE" />
+		<field name="OP_DIV_DOUBLE_2ADDR" />
+		<field name="OP_DIV_FLOAT" />
+		<field name="OP_DIV_FLOAT_2ADDR" />
+		<field name="OP_DIV_INT" />
+		<field name="OP_DIV_INT_2ADDR" />
+		<field name="OP_DIV_INT_LIT16" />
+		<field name="OP_DIV_INT_LIT8" />
+		<field name="OP_DIV_LONG" />
+		<field name="OP_DIV_LONG_2ADDR" />
+		<field name="OP_DOUBLE_TO_FLOAT" />
+		<field name="OP_DOUBLE_TO_INT" />
+		<field name="OP_DOUBLE_TO_LONG" />
+		<field name="OP_EXECUTE_INLINE" deprecated="15" />
+		<field name="OP_EXECUTE_INLINE_RANGE" since="8" deprecated="15" />
+		<field name="OP_FILLED_NEW_ARRAY" />
+		<field name="OP_FILLED_NEW_ARRAY_JUMBO" since="11" />
+		<field name="OP_FILLED_NEW_ARRAY_RANGE" />
+		<field name="OP_FILL_ARRAY_DATA" />
+		<field name="OP_FLOAT_TO_DOUBLE" />
+		<field name="OP_FLOAT_TO_INT" />
+		<field name="OP_FLOAT_TO_LONG" />
+		<field name="OP_GOTO" />
+		<field name="OP_GOTO_16" />
+		<field name="OP_GOTO_32" />
+		<field name="OP_IF_EQ" />
+		<field name="OP_IF_EQZ" />
+		<field name="OP_IF_GE" />
+		<field name="OP_IF_GEZ" />
+		<field name="OP_IF_GT" />
+		<field name="OP_IF_GTZ" />
+		<field name="OP_IF_LE" />
+		<field name="OP_IF_LEZ" />
+		<field name="OP_IF_LT" />
+		<field name="OP_IF_LTZ" />
+		<field name="OP_IF_NE" />
+		<field name="OP_IF_NEZ" />
+		<field name="OP_IGET" />
+		<field name="OP_IGET_BOOLEAN" />
+		<field name="OP_IGET_BOOLEAN_JUMBO" since="11" />
+		<field name="OP_IGET_BYTE" />
+		<field name="OP_IGET_BYTE_JUMBO" since="11" />
+		<field name="OP_IGET_CHAR" />
+		<field name="OP_IGET_CHAR_JUMBO" since="11" />
+		<field name="OP_IGET_JUMBO" since="11" />
+		<field name="OP_IGET_OBJECT" />
+		<field name="OP_IGET_OBJECT_JUMBO" since="11" />
+		<field name="OP_IGET_OBJECT_QUICK" deprecated="15" />
+		<field name="OP_IGET_QUICK" deprecated="15" />
+		<field name="OP_IGET_SHORT" />
+		<field name="OP_IGET_SHORT_JUMBO" since="11" />
+		<field name="OP_IGET_WIDE" />
+		<field name="OP_IGET_WIDE_JUMBO" since="11" />
+		<field name="OP_IGET_WIDE_QUICK" deprecated="15" />
+		<field name="OP_IGET_WIDE_VOLATILE" since="9" deprecated="15" />
+		<field name="OP_INSTANCE_OF" />
+		<field name="OP_INSTANCE_OF_JUMBO" since="11" />
+		<field name="OP_INT_TO_BYTE" />
+		<field name="OP_INT_TO_CHAR" />
+		<field name="OP_INT_TO_DOUBLE" />
+		<field name="OP_INT_TO_FLOAT" />
+		<field name="OP_INT_TO_LONG" />
+		<field name="OP_INT_TO_SHORT" />
+		<field name="OP_INVOKE_CUSTOM" since="26" />
+		<field name="OP_INVOKE_CUSTOM_RANGE" since="26" />
+		<field name="OP_INVOKE_DIRECT" />
+		<field name="OP_INVOKE_DIRECT_EMPTY" deprecated="15" />
+		<field name="OP_INVOKE_DIRECT_JUMBO" since="11" />
+		<field name="OP_INVOKE_DIRECT_RANGE" />
+		<field name="OP_INVOKE_INTERFACE" />
+		<field name="OP_INVOKE_INTERFACE_JUMBO" since="11" />
+		<field name="OP_INVOKE_INTERFACE_RANGE" />
+		<field name="OP_INVOKE_POLYMORPHIC" since="26" />
+		<field name="OP_INVOKE_POLYMORPHIC_RANGE" since="26" />
+		<field name="OP_INVOKE_STATIC" />
+		<field name="OP_INVOKE_STATIC_JUMBO" since="11" />
+		<field name="OP_INVOKE_STATIC_RANGE" />
+		<field name="OP_INVOKE_SUPER" />
+		<field name="OP_INVOKE_SUPER_JUMBO" since="11" />
+		<field name="OP_INVOKE_SUPER_QUICK" deprecated="15" />
+		<field name="OP_INVOKE_SUPER_QUICK_RANGE" deprecated="15" />
+		<field name="OP_INVOKE_SUPER_RANGE" />
+		<field name="OP_INVOKE_VIRTUAL" />
+		<field name="OP_INVOKE_VIRTUAL_JUMBO" since="11" />
+		<field name="OP_INVOKE_VIRTUAL_QUICK" deprecated="15" />
+		<field name="OP_INVOKE_VIRTUAL_QUICK_RANGE" deprecated="15" />
+		<field name="OP_INVOKE_VIRTUAL_RANGE" />
+		<field name="OP_IPUT" />
+		<field name="OP_IPUT_BOOLEAN" />
+		<field name="OP_IPUT_BOOLEAN_JUMBO" since="11" />
+		<field name="OP_IPUT_BYTE" />
+		<field name="OP_IPUT_BYTE_JUMBO" since="11" />
+		<field name="OP_IPUT_CHAR" />
+		<field name="OP_IPUT_CHAR_JUMBO" since="11" />
+		<field name="OP_IPUT_JUMBO" since="11" />
+		<field name="OP_IPUT_OBJECT" />
+		<field name="OP_IPUT_OBJECT_JUMBO" since="11" />
+		<field name="OP_IPUT_OBJECT_QUICK" deprecated="15" />
+		<field name="OP_IPUT_QUICK" deprecated="15" />
+		<field name="OP_IPUT_SHORT" />
+		<field name="OP_IPUT_SHORT_JUMBO" since="11" />
+		<field name="OP_IPUT_WIDE" />
+		<field name="OP_IPUT_WIDE_JUMBO" since="11" />
+		<field name="OP_IPUT_WIDE_QUICK" deprecated="15" />
+		<field name="OP_IPUT_WIDE_VOLATILE" since="9" deprecated="15" />
+		<field name="OP_LONG_TO_DOUBLE" />
+		<field name="OP_LONG_TO_FLOAT" />
+		<field name="OP_LONG_TO_INT" />
+		<field name="OP_MONITOR_ENTER" />
+		<field name="OP_MONITOR_EXIT" />
+		<field name="OP_MOVE" />
+		<field name="OP_MOVE_16" />
+		<field name="OP_MOVE_EXCEPTION" />
+		<field name="OP_MOVE_FROM16" />
+		<field name="OP_MOVE_OBJECT" />
+		<field name="OP_MOVE_OBJECT_16" />
+		<field name="OP_MOVE_OBJECT_FROM16" />
+		<field name="OP_MOVE_RESULT" />
+		<field name="OP_MOVE_RESULT_OBJECT" />
+		<field name="OP_MOVE_RESULT_WIDE" />
+		<field name="OP_MOVE_WIDE" />
+		<field name="OP_MOVE_WIDE_16" />
+		<field name="OP_MOVE_WIDE_FROM16" />
+		<field name="OP_MUL_DOUBLE" />
+		<field name="OP_MUL_DOUBLE_2ADDR" />
+		<field name="OP_MUL_FLOAT" />
+		<field name="OP_MUL_FLOAT_2ADDR" />
+		<field name="OP_MUL_INT" />
+		<field name="OP_MUL_INT_2ADDR" />
+		<field name="OP_MUL_INT_LIT16" />
+		<field name="OP_MUL_INT_LIT8" />
+		<field name="OP_MUL_LONG" />
+		<field name="OP_MUL_LONG_2ADDR" />
+		<field name="OP_NEG_DOUBLE" />
+		<field name="OP_NEG_FLOAT" />
+		<field name="OP_NEG_INT" />
+		<field name="OP_NEG_LONG" />
+		<field name="OP_NEW_ARRAY" />
+		<field name="OP_NEW_ARRAY_JUMBO" since="11" />
+		<field name="OP_NEW_INSTANCE" />
+		<field name="OP_NEW_INSTANCE_JUMBO" since="11" />
+		<field name="OP_NOP" />
+		<field name="OP_NOT_INT" />
+		<field name="OP_NOT_LONG" />
+		<field name="OP_OR_INT" />
+		<field name="OP_OR_INT_2ADDR" />
+		<field name="OP_OR_INT_LIT16" />
+		<field name="OP_OR_INT_LIT8" />
+		<field name="OP_OR_LONG" />
+		<field name="OP_OR_LONG_2ADDR" />
+		<field name="OP_PACKED_SWITCH" />
+		<field name="OP_REM_DOUBLE" />
+		<field name="OP_REM_DOUBLE_2ADDR" />
+		<field name="OP_REM_FLOAT" />
+		<field name="OP_REM_FLOAT_2ADDR" />
+		<field name="OP_REM_INT" />
+		<field name="OP_REM_INT_2ADDR" />
+		<field name="OP_REM_INT_LIT16" />
+		<field name="OP_REM_INT_LIT8" />
+		<field name="OP_REM_LONG" />
+		<field name="OP_REM_LONG_2ADDR" />
+		<field name="OP_RETURN" />
+		<field name="OP_RETURN_OBJECT" />
+		<field name="OP_RETURN_VOID" />
+		<field name="OP_RETURN_WIDE" />
+		<field name="OP_RSUB_INT" />
+		<field name="OP_RSUB_INT_LIT8" />
+		<field name="OP_SGET" />
+		<field name="OP_SGET_BOOLEAN" />
+		<field name="OP_SGET_BOOLEAN_JUMBO" since="11" />
+		<field name="OP_SGET_BYTE" />
+		<field name="OP_SGET_BYTE_JUMBO" since="11" />
+		<field name="OP_SGET_CHAR" />
+		<field name="OP_SGET_CHAR_JUMBO" since="11" />
+		<field name="OP_SGET_JUMBO" since="11" />
+		<field name="OP_SGET_OBJECT" />
+		<field name="OP_SGET_OBJECT_JUMBO" since="11" />
+		<field name="OP_SGET_SHORT" />
+		<field name="OP_SGET_SHORT_JUMBO" since="11" />
+		<field name="OP_SGET_WIDE" />
+		<field name="OP_SGET_WIDE_JUMBO" since="11" />
+		<field name="OP_SGET_WIDE_VOLATILE" since="9" deprecated="15" />
+		<field name="OP_SHL_INT" />
+		<field name="OP_SHL_INT_2ADDR" />
+		<field name="OP_SHL_INT_LIT8" />
+		<field name="OP_SHL_LONG" />
+		<field name="OP_SHL_LONG_2ADDR" />
+		<field name="OP_SHR_INT" />
+		<field name="OP_SHR_INT_2ADDR" />
+		<field name="OP_SHR_INT_LIT8" />
+		<field name="OP_SHR_LONG" />
+		<field name="OP_SHR_LONG_2ADDR" />
+		<field name="OP_SPARSE_SWITCH" />
+		<field name="OP_SPUT" />
+		<field name="OP_SPUT_BOOLEAN" />
+		<field name="OP_SPUT_BOOLEAN_JUMBO" since="11" />
+		<field name="OP_SPUT_BYTE" />
+		<field name="OP_SPUT_BYTE_JUMBO" since="11" />
+		<field name="OP_SPUT_CHAR" />
+		<field name="OP_SPUT_CHAR_JUMBO" since="11" />
+		<field name="OP_SPUT_JUMBO" since="11" />
+		<field name="OP_SPUT_OBJECT" />
+		<field name="OP_SPUT_OBJECT_JUMBO" since="11" />
+		<field name="OP_SPUT_SHORT" />
+		<field name="OP_SPUT_SHORT_JUMBO" since="11" />
+		<field name="OP_SPUT_WIDE" />
+		<field name="OP_SPUT_WIDE_JUMBO" since="11" />
+		<field name="OP_SPUT_WIDE_VOLATILE" since="9" deprecated="15" />
+		<field name="OP_SUB_DOUBLE" />
+		<field name="OP_SUB_DOUBLE_2ADDR" />
+		<field name="OP_SUB_FLOAT" />
+		<field name="OP_SUB_FLOAT_2ADDR" />
+		<field name="OP_SUB_INT" />
+		<field name="OP_SUB_INT_2ADDR" />
+		<field name="OP_SUB_LONG" />
+		<field name="OP_SUB_LONG_2ADDR" />
+		<field name="OP_THROW" />
+		<field name="OP_THROW_VERIFICATION_ERROR" since="8" deprecated="15" />
+		<field name="OP_UNUSED_3e" removed="8" />
+		<field name="OP_UNUSED_3f" removed="8" />
+		<field name="OP_UNUSED_40" removed="8" />
+		<field name="OP_UNUSED_41" removed="8" />
+		<field name="OP_UNUSED_42" removed="8" />
+		<field name="OP_UNUSED_43" removed="8" />
+		<field name="OP_UNUSED_73" removed="8" />
+		<field name="OP_UNUSED_79" removed="8" />
+		<field name="OP_UNUSED_7A" removed="8" />
+		<field name="OP_UNUSED_E3" removed="8" />
+		<field name="OP_UNUSED_E4" removed="8" />
+		<field name="OP_UNUSED_E5" removed="8" />
+		<field name="OP_UNUSED_E6" removed="8" />
+		<field name="OP_UNUSED_E7" removed="8" />
+		<field name="OP_UNUSED_E8" removed="8" />
+		<field name="OP_UNUSED_E9" removed="8" />
+		<field name="OP_UNUSED_EA" removed="8" />
+		<field name="OP_UNUSED_EB" removed="8" />
+		<field name="OP_UNUSED_EC" removed="8" />
+		<field name="OP_UNUSED_ED" removed="8" />
+		<field name="OP_UNUSED_EF" removed="8" />
+		<field name="OP_UNUSED_F1" removed="8" />
+		<field name="OP_UNUSED_FC" removed="8" />
+		<field name="OP_UNUSED_FD" removed="8" />
+		<field name="OP_UNUSED_FE" removed="8" />
+		<field name="OP_UNUSED_FF" removed="8" />
+		<field name="OP_USHR_INT" />
+		<field name="OP_USHR_INT_2ADDR" />
+		<field name="OP_USHR_INT_LIT8" />
+		<field name="OP_USHR_LONG" />
+		<field name="OP_USHR_LONG_2ADDR" />
+		<field name="OP_XOR_INT" />
+		<field name="OP_XOR_INT_2ADDR" />
+		<field name="OP_XOR_INT_LIT16" />
+		<field name="OP_XOR_INT_LIT8" />
+		<field name="OP_XOR_LONG" />
+		<field name="OP_XOR_LONG_2ADDR" />
+	</class>
+	<class name="dalvik/system/AllocationLimitError" since="1" removed="9">
+		<extends name="java/lang/VirtualMachineError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="dalvik/system/BaseDexClassLoader" since="14">
+		<extends name="java/lang/ClassLoader" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;Ljava/lang/ClassLoader;)V" />
+	</class>
+	<class name="dalvik/system/DelegateLastClassLoader" since="27">
+		<extends name="dalvik/system/PathClassLoader" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/ClassLoader;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Z)V" since="29" />
+	</class>
+	<class name="dalvik/system/DexClassLoader" since="3">
+		<extends name="dalvik/system/BaseDexClassLoader" since="14" />
+		<extends name="java/lang/ClassLoader" removed="14" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V" />
+	</class>
+	<class name="dalvik/system/DexFile" since="1" deprecated="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" deprecated="26" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="26" />
+		<method name="close()V" deprecated="29" />
+		<method name="entries()Ljava/util/Enumeration;" deprecated="29" />
+		<method name="getName()Ljava/lang/String;" deprecated="29" />
+		<method name="isDexOptNeeded(Ljava/lang/String;)Z" deprecated="29" />
+		<method name="loadClass(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;" deprecated="29" />
+		<method name="loadDex(Ljava/lang/String;Ljava/lang/String;I)Ldalvik/system/DexFile;" since="3" deprecated="26" />
+	</class>
+	<class name="dalvik/system/InMemoryDexClassLoader" since="26">
+		<extends name="dalvik/system/BaseDexClassLoader" />
+		<method name="&lt;init&gt;(Ljava/nio/ByteBuffer;Ljava/lang/ClassLoader;)V" />
+		<method name="&lt;init&gt;([Ljava/nio/ByteBuffer;Ljava/lang/ClassLoader;)V" since="27" />
+		<method name="&lt;init&gt;([Ljava/nio/ByteBuffer;Ljava/lang/String;Ljava/lang/ClassLoader;)V" since="29" />
+	</class>
+	<class name="dalvik/system/PathClassLoader" since="1">
+		<extends name="dalvik/system/BaseDexClassLoader" since="14" />
+		<extends name="java/lang/ClassLoader" removed="14" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/ClassLoader;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V" />
+	</class>
+	<class name="dalvik/system/PotentialDeadlockError" since="1" removed="9">
+		<extends name="java/lang/VirtualMachineError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="dalvik/system/StaleDexCacheError" since="1" removed="9">
+		<extends name="java/lang/VirtualMachineError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="dalvik/system/TemporaryDirectory" since="1" removed="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setUpDirectory(Ljava/io/File;)V" />
+		<method name="setUpDirectory(Ljava/lang/String;)V" />
+	</class>
+	<class name="dalvik/system/TouchDex" since="1" removed="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="main([Ljava/lang/String;)V" />
+		<method name="start(Ljava/lang/String;)I" />
+	</class>
+	<class name="dalvik/system/VMDebug" since="1" removed="9">
+		<extends name="java/lang/Object" />
+		<method name="dumpHprofData(Ljava/lang/String;)V" since="3" />
+		<method name="getAllocCount(I)I" />
+		<method name="getInstructionCount([I)V" />
+		<method name="getLoadedClassCount()I" />
+		<method name="isDebuggerConnected()Z" />
+		<method name="isDebuggingEnabled()Z" since="3" />
+		<method name="lastDebuggerActivity()J" />
+		<method name="printLoadedClasses(I)V" />
+		<method name="resetAllocCount(I)V" />
+		<method name="resetInstructionCount()V" />
+		<method name="setAllocationLimit(I)I" />
+		<method name="setGlobalAllocationLimit(I)I" />
+		<method name="startAllocCounting()V" />
+		<method name="startEmulatorTracing()V" />
+		<method name="startInstructionCounting()V" />
+		<method name="startMethodTracing()V" />
+		<method name="startMethodTracing(Ljava/lang/String;II)V" />
+		<method name="stopAllocCounting()V" />
+		<method name="stopEmulatorTracing()V" />
+		<method name="stopInstructionCounting()V" />
+		<method name="stopMethodTracing()V" />
+		<method name="threadCpuTimeNanos()J" />
+		<field name="DEFAULT_METHOD_TRACE_FILE_NAME" />
+		<field name="KIND_ALL_COUNTS" />
+		<field name="KIND_GLOBAL_ALLOCATED_BYTES" />
+		<field name="KIND_GLOBAL_ALLOCATED_OBJECTS" />
+		<field name="KIND_GLOBAL_CLASS_INIT_COUNT" since="8" />
+		<field name="KIND_GLOBAL_CLASS_INIT_TIME" since="8" />
+		<field name="KIND_GLOBAL_EXT_ALLOCATED_BYTES" />
+		<field name="KIND_GLOBAL_EXT_ALLOCATED_OBJECTS" />
+		<field name="KIND_GLOBAL_EXT_FREED_BYTES" />
+		<field name="KIND_GLOBAL_EXT_FREED_OBJECTS" />
+		<field name="KIND_GLOBAL_FREED_BYTES" />
+		<field name="KIND_GLOBAL_FREED_OBJECTS" />
+		<field name="KIND_GLOBAL_GC_INVOCATIONS" />
+		<field name="KIND_THREAD_ALLOCATED_BYTES" />
+		<field name="KIND_THREAD_ALLOCATED_OBJECTS" />
+		<field name="KIND_THREAD_CLASS_INIT_COUNT" since="8" />
+		<field name="KIND_THREAD_CLASS_INIT_TIME" since="8" />
+		<field name="KIND_THREAD_EXT_ALLOCATED_BYTES" />
+		<field name="KIND_THREAD_EXT_ALLOCATED_OBJECTS" />
+		<field name="KIND_THREAD_EXT_FREED_BYTES" />
+		<field name="KIND_THREAD_EXT_FREED_OBJECTS" />
+		<field name="KIND_THREAD_FREED_BYTES" />
+		<field name="KIND_THREAD_FREED_OBJECTS" />
+		<field name="KIND_THREAD_GC_INVOCATIONS" />
+		<field name="TRACE_COUNT_ALLOCS" />
+	</class>
+	<class name="dalvik/system/VMRuntime" since="1" removed="9">
+		<extends name="java/lang/Object" />
+		<method name="gcSoftReferences()V" />
+		<method name="getExternalBytesAllocated()J" />
+		<method name="getMinimumHeapSize()J" />
+		<method name="getRuntime()Ldalvik/system/VMRuntime;" />
+		<method name="getTargetHeapUtilization()F" />
+		<method name="runFinalizationSync()V" />
+		<method name="setMinimumHeapSize(J)J" />
+		<method name="setTargetHeapUtilization(F)F" />
+	</class>
+	<class name="dalvik/system/VMStack" since="1" removed="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getCallingClassLoader()Ljava/lang/ClassLoader;" />
+		<method name="getCallingClassLoader2()Ljava/lang/ClassLoader;" />
+		<method name="getClasses(IZ)[Ljava/lang/Class;" />
+		<method name="getThreadStackTrace(Ljava/lang/Thread;)[Ljava/lang/StackTraceElement;" />
+	</class>
+	<class name="dalvik/system/Zygote" since="1" removed="9">
+		<extends name="java/lang/Object" />
+		<method name="fork()I" />
+		<method name="forkAndSpecialize(II[II[[I)I" since="3" />
+		<method name="forkAndSpecialize(II[IZ[[I)I" />
+		<method name="forkSystemServer(II[II[[I)I" since="3" />
+		<method name="forkSystemServer(II[IZ[[I)I" />
+		<field name="DEBUG_ENABLE_ASSERT" since="3" />
+		<field name="DEBUG_ENABLE_CHECKJNI" since="3" />
+		<field name="DEBUG_ENABLE_DEBUGGER" since="3" />
+		<field name="DEBUG_ENABLE_SAFEMODE" since="8" />
+	</class>
+	<class name="java/awt/font/NumericShaper" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="getContextualShaper(I)Ljava/awt/font/NumericShaper;" />
+		<method name="getContextualShaper(II)Ljava/awt/font/NumericShaper;" />
+		<method name="getContextualShaper(Ljava/util/Set;)Ljava/awt/font/NumericShaper;" since="24" />
+		<method name="getContextualShaper(Ljava/util/Set;Ljava/awt/font/NumericShaper$Range;)Ljava/awt/font/NumericShaper;" since="24" />
+		<method name="getRangeSet()Ljava/util/Set;" since="24" />
+		<method name="getRanges()I" />
+		<method name="getShaper(I)Ljava/awt/font/NumericShaper;" />
+		<method name="getShaper(Ljava/awt/font/NumericShaper$Range;)Ljava/awt/font/NumericShaper;" since="24" />
+		<method name="isContextual()Z" />
+		<method name="shape([CII)V" />
+		<method name="shape([CIII)V" />
+		<method name="shape([CIILjava/awt/font/NumericShaper$Range;)V" since="24" />
+		<field name="ALL_RANGES" />
+		<field name="ARABIC" />
+		<field name="BENGALI" />
+		<field name="DEVANAGARI" />
+		<field name="EASTERN_ARABIC" />
+		<field name="ETHIOPIC" />
+		<field name="EUROPEAN" />
+		<field name="GUJARATI" />
+		<field name="GURMUKHI" />
+		<field name="KANNADA" />
+		<field name="KHMER" />
+		<field name="LAO" />
+		<field name="MALAYALAM" />
+		<field name="MONGOLIAN" />
+		<field name="MYANMAR" />
+		<field name="ORIYA" />
+		<field name="TAMIL" />
+		<field name="TELUGU" />
+		<field name="THAI" />
+		<field name="TIBETAN" />
+	</class>
+	<class name="java/awt/font/NumericShaper$Range" since="24">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/awt/font/NumericShaper$Range;" />
+		<method name="values()[Ljava/awt/font/NumericShaper$Range;" />
+		<field name="ARABIC" />
+		<field name="BALINESE" />
+		<field name="BENGALI" />
+		<field name="CHAM" />
+		<field name="DEVANAGARI" />
+		<field name="EASTERN_ARABIC" />
+		<field name="ETHIOPIC" />
+		<field name="EUROPEAN" />
+		<field name="GUJARATI" />
+		<field name="GURMUKHI" />
+		<field name="JAVANESE" />
+		<field name="KANNADA" />
+		<field name="KAYAH_LI" />
+		<field name="KHMER" />
+		<field name="LAO" />
+		<field name="LEPCHA" />
+		<field name="LIMBU" />
+		<field name="MALAYALAM" />
+		<field name="MEETEI_MAYEK" />
+		<field name="MONGOLIAN" />
+		<field name="MYANMAR" />
+		<field name="MYANMAR_SHAN" />
+		<field name="NEW_TAI_LUE" />
+		<field name="NKO" />
+		<field name="OL_CHIKI" />
+		<field name="ORIYA" />
+		<field name="SAURASHTRA" />
+		<field name="SUNDANESE" />
+		<field name="TAI_THAM_HORA" />
+		<field name="TAI_THAM_THAM" />
+		<field name="TAMIL" />
+		<field name="TELUGU" />
+		<field name="THAI" />
+		<field name="TIBETAN" />
+		<field name="VAI" />
+	</class>
+	<class name="java/awt/font/TextAttribute" since="1">
+		<extends name="java/text/AttributedCharacterIterator$Attribute" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="BACKGROUND" />
+		<field name="BIDI_EMBEDDING" />
+		<field name="CHAR_REPLACEMENT" />
+		<field name="FAMILY" />
+		<field name="FONT" />
+		<field name="FOREGROUND" />
+		<field name="INPUT_METHOD_HIGHLIGHT" />
+		<field name="INPUT_METHOD_UNDERLINE" />
+		<field name="JUSTIFICATION" />
+		<field name="JUSTIFICATION_FULL" />
+		<field name="JUSTIFICATION_NONE" />
+		<field name="KERNING" since="9" />
+		<field name="KERNING_ON" since="9" />
+		<field name="LIGATURES" since="9" />
+		<field name="LIGATURES_ON" since="9" />
+		<field name="NUMERIC_SHAPING" />
+		<field name="POSTURE" />
+		<field name="POSTURE_OBLIQUE" />
+		<field name="POSTURE_REGULAR" />
+		<field name="RUN_DIRECTION" />
+		<field name="RUN_DIRECTION_LTR" />
+		<field name="RUN_DIRECTION_RTL" />
+		<field name="SIZE" />
+		<field name="STRIKETHROUGH" />
+		<field name="STRIKETHROUGH_ON" />
+		<field name="SUPERSCRIPT" />
+		<field name="SUPERSCRIPT_SUB" />
+		<field name="SUPERSCRIPT_SUPER" />
+		<field name="SWAP_COLORS" />
+		<field name="SWAP_COLORS_ON" />
+		<field name="TRACKING" since="9" />
+		<field name="TRACKING_LOOSE" since="9" />
+		<field name="TRACKING_TIGHT" since="9" />
+		<field name="TRANSFORM" />
+		<field name="UNDERLINE" />
+		<field name="UNDERLINE_LOW_DASHED" />
+		<field name="UNDERLINE_LOW_DOTTED" />
+		<field name="UNDERLINE_LOW_GRAY" />
+		<field name="UNDERLINE_LOW_ONE_PIXEL" />
+		<field name="UNDERLINE_LOW_TWO_PIXEL" />
+		<field name="UNDERLINE_ON" />
+		<field name="WEIGHT" />
+		<field name="WEIGHT_BOLD" />
+		<field name="WEIGHT_DEMIBOLD" />
+		<field name="WEIGHT_DEMILIGHT" />
+		<field name="WEIGHT_EXTRABOLD" />
+		<field name="WEIGHT_EXTRA_LIGHT" />
+		<field name="WEIGHT_HEAVY" />
+		<field name="WEIGHT_LIGHT" />
+		<field name="WEIGHT_MEDIUM" />
+		<field name="WEIGHT_REGULAR" />
+		<field name="WEIGHT_SEMIBOLD" />
+		<field name="WEIGHT_ULTRABOLD" />
+		<field name="WIDTH" />
+		<field name="WIDTH_CONDENSED" />
+		<field name="WIDTH_EXTENDED" />
+		<field name="WIDTH_REGULAR" />
+		<field name="WIDTH_SEMI_CONDENSED" />
+		<field name="WIDTH_SEMI_EXTENDED" />
+	</class>
+	<class name="java/beans/IndexedPropertyChangeEvent" since="3">
+		<extends name="java/beans/PropertyChangeEvent" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;I)V" />
+		<method name="getIndex()I" />
+	</class>
+	<class name="java/beans/PropertyChangeEvent" since="3">
+		<extends name="java/util/EventObject" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="getNewValue()Ljava/lang/Object;" />
+		<method name="getOldValue()Ljava/lang/Object;" />
+		<method name="getPropagationId()Ljava/lang/Object;" />
+		<method name="getPropertyName()Ljava/lang/String;" />
+		<method name="setPropagationId(Ljava/lang/Object;)V" />
+	</class>
+	<class name="java/beans/PropertyChangeListener" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/EventListener" />
+		<method name="propertyChange(Ljava/beans/PropertyChangeEvent;)V" />
+	</class>
+	<class name="java/beans/PropertyChangeListenerProxy" since="3">
+		<extends name="java/util/EventListenerProxy" />
+		<implements name="java/beans/PropertyChangeListener" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V" />
+		<method name="getPropertyName()Ljava/lang/String;" />
+	</class>
+	<class name="java/beans/PropertyChangeSupport" since="3">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<method name="addPropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" />
+		<method name="addPropertyChangeListener(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V" />
+		<method name="fireIndexedPropertyChange(Ljava/lang/String;III)V" />
+		<method name="fireIndexedPropertyChange(Ljava/lang/String;ILjava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="fireIndexedPropertyChange(Ljava/lang/String;IZZ)V" />
+		<method name="firePropertyChange(Ljava/beans/PropertyChangeEvent;)V" />
+		<method name="firePropertyChange(Ljava/lang/String;II)V" />
+		<method name="firePropertyChange(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="firePropertyChange(Ljava/lang/String;ZZ)V" />
+		<method name="getPropertyChangeListeners()[Ljava/beans/PropertyChangeListener;" />
+		<method name="getPropertyChangeListeners(Ljava/lang/String;)[Ljava/beans/PropertyChangeListener;" />
+		<method name="hasListeners(Ljava/lang/String;)Z" />
+		<method name="removePropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" />
+		<method name="removePropertyChangeListener(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V" />
+	</class>
+	<class name="java/io/BufferedInputStream" since="1">
+		<extends name="java/io/FilterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;I)V" />
+		<field name="buf" />
+		<field name="count" />
+		<field name="marklimit" />
+		<field name="markpos" />
+		<field name="pos" />
+	</class>
+	<class name="java/io/BufferedOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;I)V" />
+		<field name="buf" />
+		<field name="count" />
+	</class>
+	<class name="java/io/BufferedReader" since="1">
+		<extends name="java/io/Reader" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;)V" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;I)V" />
+		<method name="lines()Ljava/util/stream/Stream;" since="24" />
+		<method name="readLine()Ljava/lang/String;" />
+	</class>
+	<class name="java/io/BufferedWriter" since="1">
+		<extends name="java/io/Writer" />
+		<method name="&lt;init&gt;(Ljava/io/Writer;)V" />
+		<method name="&lt;init&gt;(Ljava/io/Writer;I)V" />
+		<method name="newLine()V" />
+	</class>
+	<class name="java/io/ByteArrayInputStream" since="1">
+		<extends name="java/io/InputStream" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="&lt;init&gt;([BII)V" />
+		<field name="buf" />
+		<field name="count" />
+		<field name="mark" />
+		<field name="pos" />
+	</class>
+	<class name="java/io/ByteArrayOutputStream" since="1">
+		<extends name="java/io/OutputStream" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="reset()V" />
+		<method name="size()I" />
+		<method name="toByteArray()[B" />
+		<method name="toString(I)Ljava/lang/String;" deprecated="15" />
+		<method name="toString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="writeTo(Ljava/io/OutputStream;)V" />
+		<field name="buf" />
+		<field name="count" />
+	</class>
+	<class name="java/io/CharArrayReader" since="1">
+		<extends name="java/io/Reader" />
+		<method name="&lt;init&gt;([C)V" />
+		<method name="&lt;init&gt;([CII)V" />
+		<field name="buf" />
+		<field name="count" />
+		<field name="markedPos" />
+		<field name="pos" />
+	</class>
+	<class name="java/io/CharArrayWriter" since="1">
+		<extends name="java/io/Writer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="append(C)Ljava/io/CharArrayWriter;" />
+		<method name="append(Ljava/lang/CharSequence;)Ljava/io/CharArrayWriter;" />
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/io/CharArrayWriter;" />
+		<method name="reset()V" />
+		<method name="size()I" />
+		<method name="toCharArray()[C" />
+		<method name="writeTo(Ljava/io/Writer;)V" />
+		<field name="buf" />
+		<field name="count" />
+	</class>
+	<class name="java/io/CharConversionException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/Closeable" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="19" />
+		<method name="close()V" />
+	</class>
+	<class name="java/io/Console" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Flushable" />
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/Console;" />
+		<method name="printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/Console;" />
+		<method name="readLine()Ljava/lang/String;" />
+		<method name="readLine(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="readPassword()[C" />
+		<method name="readPassword(Ljava/lang/String;[Ljava/lang/Object;)[C" />
+		<method name="reader()Ljava/io/Reader;" />
+		<method name="writer()Ljava/io/PrintWriter;" />
+	</class>
+	<class name="java/io/DataInput" since="1">
+		<extends name="java/lang/Object" />
+		<method name="readBoolean()Z" />
+		<method name="readByte()B" />
+		<method name="readChar()C" />
+		<method name="readDouble()D" />
+		<method name="readFloat()F" />
+		<method name="readFully([B)V" />
+		<method name="readFully([BII)V" />
+		<method name="readInt()I" />
+		<method name="readLine()Ljava/lang/String;" />
+		<method name="readLong()J" />
+		<method name="readShort()S" />
+		<method name="readUTF()Ljava/lang/String;" />
+		<method name="readUnsignedByte()I" />
+		<method name="readUnsignedShort()I" />
+		<method name="skipBytes(I)I" />
+	</class>
+	<class name="java/io/DataInputStream" since="1">
+		<extends name="java/io/FilterInputStream" />
+		<implements name="java/io/DataInput" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="readUTF(Ljava/io/DataInput;)Ljava/lang/String;" />
+	</class>
+	<class name="java/io/DataOutput" since="1">
+		<extends name="java/lang/Object" />
+		<method name="write(I)V" />
+		<method name="write([B)V" />
+		<method name="write([BII)V" />
+		<method name="writeBoolean(Z)V" />
+		<method name="writeByte(I)V" />
+		<method name="writeBytes(Ljava/lang/String;)V" />
+		<method name="writeChar(I)V" />
+		<method name="writeChars(Ljava/lang/String;)V" />
+		<method name="writeDouble(D)V" />
+		<method name="writeFloat(F)V" />
+		<method name="writeInt(I)V" />
+		<method name="writeLong(J)V" />
+		<method name="writeShort(I)V" />
+		<method name="writeUTF(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/DataOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream" />
+		<implements name="java/io/DataOutput" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="size()I" />
+		<field name="written" />
+	</class>
+	<class name="java/io/EOFException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/Externalizable" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="readExternal(Ljava/io/ObjectInput;)V" />
+		<method name="writeExternal(Ljava/io/ObjectOutput;)V" />
+	</class>
+	<class name="java/io/File" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(Ljava/io/File;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URI;)V" />
+		<method name="canExecute()Z" since="9" />
+		<method name="canRead()Z" />
+		<method name="canWrite()Z" />
+		<method name="compareTo(Ljava/io/File;)I" />
+		<method name="createNewFile()Z" />
+		<method name="createTempFile(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;" />
+		<method name="createTempFile(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;" />
+		<method name="delete()Z" />
+		<method name="deleteOnExit()V" />
+		<method name="exists()Z" />
+		<method name="getAbsoluteFile()Ljava/io/File;" />
+		<method name="getAbsolutePath()Ljava/lang/String;" />
+		<method name="getCanonicalFile()Ljava/io/File;" />
+		<method name="getCanonicalPath()Ljava/lang/String;" />
+		<method name="getFreeSpace()J" since="9" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getParent()Ljava/lang/String;" />
+		<method name="getParentFile()Ljava/io/File;" />
+		<method name="getPath()Ljava/lang/String;" />
+		<method name="getTotalSpace()J" since="9" />
+		<method name="getUsableSpace()J" since="9" />
+		<method name="isAbsolute()Z" />
+		<method name="isDirectory()Z" />
+		<method name="isFile()Z" />
+		<method name="isHidden()Z" />
+		<method name="lastModified()J" />
+		<method name="length()J" />
+		<method name="list()[Ljava/lang/String;" />
+		<method name="list(Ljava/io/FilenameFilter;)[Ljava/lang/String;" />
+		<method name="listFiles()[Ljava/io/File;" />
+		<method name="listFiles(Ljava/io/FileFilter;)[Ljava/io/File;" />
+		<method name="listFiles(Ljava/io/FilenameFilter;)[Ljava/io/File;" />
+		<method name="listRoots()[Ljava/io/File;" />
+		<method name="mkdir()Z" />
+		<method name="mkdirs()Z" />
+		<method name="renameTo(Ljava/io/File;)Z" />
+		<method name="setExecutable(Z)Z" since="9" />
+		<method name="setExecutable(ZZ)Z" since="9" />
+		<method name="setLastModified(J)Z" />
+		<method name="setReadOnly()Z" />
+		<method name="setReadable(Z)Z" since="9" />
+		<method name="setReadable(ZZ)Z" since="9" />
+		<method name="setWritable(Z)Z" since="9" />
+		<method name="setWritable(ZZ)Z" since="9" />
+		<method name="toPath()Ljava/nio/file/Path;" since="26" />
+		<method name="toURI()Ljava/net/URI;" />
+		<method name="toURL()Ljava/net/URL;" deprecated="15" />
+		<field name="pathSeparator" />
+		<field name="pathSeparatorChar" />
+		<field name="separator" />
+		<field name="separatorChar" />
+	</class>
+	<class name="java/io/FileDescriptor" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="sync()V" />
+		<method name="valid()Z" />
+		<field name="err" />
+		<field name="in" />
+		<field name="out" />
+	</class>
+	<class name="java/io/FileFilter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="accept(Ljava/io/File;)Z" />
+	</class>
+	<class name="java/io/FileInputStream" since="1">
+		<extends name="java/io/InputStream" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/FileDescriptor;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getChannel()Ljava/nio/channels/FileChannel;" />
+		<method name="getFD()Ljava/io/FileDescriptor;" />
+	</class>
+	<class name="java/io/FileNotFoundException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/FileOutputStream" since="1">
+		<extends name="java/io/OutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;Z)V" />
+		<method name="&lt;init&gt;(Ljava/io/FileDescriptor;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Z)V" />
+		<method name="getChannel()Ljava/nio/channels/FileChannel;" />
+		<method name="getFD()Ljava/io/FileDescriptor;" />
+	</class>
+	<class name="java/io/FilePermission" since="1">
+		<extends name="java/security/Permission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/FileReader" since="1">
+		<extends name="java/io/InputStreamReader" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/FileDescriptor;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/FileWriter" since="1">
+		<extends name="java/io/OutputStreamWriter" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;Z)V" />
+		<method name="&lt;init&gt;(Ljava/io/FileDescriptor;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Z)V" />
+	</class>
+	<class name="java/io/FilenameFilter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="accept(Ljava/io/File;Ljava/lang/String;)Z" />
+	</class>
+	<class name="java/io/FilterInputStream" since="1">
+		<extends name="java/io/InputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<field name="in" />
+	</class>
+	<class name="java/io/FilterOutputStream" since="1">
+		<extends name="java/io/OutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<field name="out" />
+	</class>
+	<class name="java/io/FilterReader" since="1">
+		<extends name="java/io/Reader" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;)V" />
+		<field name="in" />
+	</class>
+	<class name="java/io/FilterWriter" since="1">
+		<extends name="java/io/Writer" />
+		<method name="&lt;init&gt;(Ljava/io/Writer;)V" />
+		<field name="out" />
+	</class>
+	<class name="java/io/Flushable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="flush()V" />
+	</class>
+	<class name="java/io/IOError" since="9">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/io/IOException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" since="9" />
+	</class>
+	<class name="java/io/InputStream" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="available()I" />
+		<method name="mark(I)V" />
+		<method name="markSupported()Z" />
+		<method name="read()I" />
+		<method name="read([B)I" />
+		<method name="read([BII)I" />
+		<method name="reset()V" />
+		<method name="skip(J)J" />
+	</class>
+	<class name="java/io/InputStreamReader" since="1">
+		<extends name="java/io/Reader" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/nio/charset/CharsetDecoder;)V" />
+		<method name="getEncoding()Ljava/lang/String;" />
+	</class>
+	<class name="java/io/InterruptedIOException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="bytesTransferred" />
+	</class>
+	<class name="java/io/InvalidClassException" since="1">
+		<extends name="java/io/ObjectStreamException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="classname" />
+	</class>
+	<class name="java/io/InvalidObjectException" since="1">
+		<extends name="java/io/ObjectStreamException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/LineNumberInputStream" since="1" deprecated="1">
+		<extends name="java/io/FilterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" deprecated="29" />
+		<method name="getLineNumber()I" deprecated="29" />
+		<method name="setLineNumber(I)V" deprecated="29" />
+	</class>
+	<class name="java/io/LineNumberReader" since="1">
+		<extends name="java/io/BufferedReader" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;)V" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;I)V" />
+		<method name="getLineNumber()I" />
+		<method name="setLineNumber(I)V" />
+	</class>
+	<class name="java/io/NotActiveException" since="1">
+		<extends name="java/io/ObjectStreamException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/NotSerializableException" since="1">
+		<extends name="java/io/ObjectStreamException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/ObjectInput" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/DataInput" />
+		<implements name="java/lang/AutoCloseable" since="19" />
+		<method name="available()I" />
+		<method name="close()V" />
+		<method name="read()I" />
+		<method name="read([B)I" />
+		<method name="read([BII)I" />
+		<method name="readObject()Ljava/lang/Object;" />
+		<method name="skip(J)J" />
+	</class>
+	<class name="java/io/ObjectInputStream" since="1">
+		<extends name="java/io/InputStream" />
+		<implements name="java/io/ObjectInput" />
+		<implements name="java/io/ObjectStreamConstants" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="defaultReadObject()V" />
+		<method name="enableResolveObject(Z)Z" />
+		<method name="readClassDescriptor()Ljava/io/ObjectStreamClass;" />
+		<method name="readFields()Ljava/io/ObjectInputStream$GetField;" />
+		<method name="readObjectOverride()Ljava/lang/Object;" />
+		<method name="readStreamHeader()V" />
+		<method name="readUnshared()Ljava/lang/Object;" />
+		<method name="registerValidation(Ljava/io/ObjectInputValidation;I)V" />
+		<method name="resolveClass(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;" />
+		<method name="resolveObject(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="resolveProxyClass([Ljava/lang/String;)Ljava/lang/Class;" />
+	</class>
+	<class name="java/io/ObjectInputStream$GetField" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="defaulted(Ljava/lang/String;)Z" />
+		<method name="get(Ljava/lang/String;B)B" />
+		<method name="get(Ljava/lang/String;C)C" />
+		<method name="get(Ljava/lang/String;D)D" />
+		<method name="get(Ljava/lang/String;F)F" />
+		<method name="get(Ljava/lang/String;I)I" />
+		<method name="get(Ljava/lang/String;J)J" />
+		<method name="get(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="get(Ljava/lang/String;S)S" />
+		<method name="get(Ljava/lang/String;Z)Z" />
+		<method name="getObjectStreamClass()Ljava/io/ObjectStreamClass;" />
+	</class>
+	<class name="java/io/ObjectInputValidation" since="1">
+		<extends name="java/lang/Object" />
+		<method name="validateObject()V" />
+	</class>
+	<class name="java/io/ObjectOutput" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/DataOutput" />
+		<implements name="java/lang/AutoCloseable" since="19" />
+		<method name="close()V" />
+		<method name="flush()V" />
+		<method name="writeObject(Ljava/lang/Object;)V" />
+	</class>
+	<class name="java/io/ObjectOutputStream" since="1">
+		<extends name="java/io/OutputStream" />
+		<implements name="java/io/ObjectOutput" />
+		<implements name="java/io/ObjectStreamConstants" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="annotateClass(Ljava/lang/Class;)V" />
+		<method name="annotateProxyClass(Ljava/lang/Class;)V" />
+		<method name="defaultWriteObject()V" />
+		<method name="drain()V" />
+		<method name="enableReplaceObject(Z)Z" />
+		<method name="putFields()Ljava/io/ObjectOutputStream$PutField;" />
+		<method name="replaceObject(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="reset()V" />
+		<method name="useProtocolVersion(I)V" />
+		<method name="writeClassDescriptor(Ljava/io/ObjectStreamClass;)V" />
+		<method name="writeFields()V" />
+		<method name="writeObjectOverride(Ljava/lang/Object;)V" />
+		<method name="writeStreamHeader()V" />
+		<method name="writeUnshared(Ljava/lang/Object;)V" />
+	</class>
+	<class name="java/io/ObjectOutputStream$PutField" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="put(Ljava/lang/String;B)V" />
+		<method name="put(Ljava/lang/String;C)V" />
+		<method name="put(Ljava/lang/String;D)V" />
+		<method name="put(Ljava/lang/String;F)V" />
+		<method name="put(Ljava/lang/String;I)V" />
+		<method name="put(Ljava/lang/String;J)V" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="put(Ljava/lang/String;S)V" />
+		<method name="put(Ljava/lang/String;Z)V" />
+		<method name="write(Ljava/io/ObjectOutput;)V" deprecated="15" />
+	</class>
+	<class name="java/io/ObjectStreamClass" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="forClass()Ljava/lang/Class;" />
+		<method name="getField(Ljava/lang/String;)Ljava/io/ObjectStreamField;" />
+		<method name="getFields()[Ljava/io/ObjectStreamField;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getSerialVersionUID()J" />
+		<method name="lookup(Ljava/lang/Class;)Ljava/io/ObjectStreamClass;" />
+		<method name="lookupAny(Ljava/lang/Class;)Ljava/io/ObjectStreamClass;" since="9" />
+		<field name="NO_FIELDS" />
+	</class>
+	<class name="java/io/ObjectStreamConstants" since="1">
+		<extends name="java/lang/Object" />
+		<field name="PROTOCOL_VERSION_1" />
+		<field name="PROTOCOL_VERSION_2" />
+		<field name="SC_BLOCK_DATA" />
+		<field name="SC_ENUM" />
+		<field name="SC_EXTERNALIZABLE" />
+		<field name="SC_SERIALIZABLE" />
+		<field name="SC_WRITE_METHOD" />
+		<field name="STREAM_MAGIC" />
+		<field name="STREAM_VERSION" />
+		<field name="SUBCLASS_IMPLEMENTATION_PERMISSION" />
+		<field name="SUBSTITUTION_PERMISSION" />
+		<field name="TC_ARRAY" />
+		<field name="TC_BASE" />
+		<field name="TC_BLOCKDATA" />
+		<field name="TC_BLOCKDATALONG" />
+		<field name="TC_CLASS" />
+		<field name="TC_CLASSDESC" />
+		<field name="TC_ENDBLOCKDATA" />
+		<field name="TC_ENUM" />
+		<field name="TC_EXCEPTION" />
+		<field name="TC_LONGSTRING" />
+		<field name="TC_MAX" />
+		<field name="TC_NULL" />
+		<field name="TC_OBJECT" />
+		<field name="TC_PROXYCLASSDESC" />
+		<field name="TC_REFERENCE" />
+		<field name="TC_RESET" />
+		<field name="TC_STRING" />
+		<field name="baseWireHandle" />
+	</class>
+	<class name="java/io/ObjectStreamException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/ObjectStreamField" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Class;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Class;Z)V" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getOffset()I" />
+		<method name="getType()Ljava/lang/Class;" />
+		<method name="getTypeCode()C" />
+		<method name="getTypeString()Ljava/lang/String;" />
+		<method name="isPrimitive()Z" />
+		<method name="isUnshared()Z" />
+		<method name="setOffset(I)V" />
+	</class>
+	<class name="java/io/OptionalDataException" since="1">
+		<extends name="java/io/ObjectStreamException" />
+		<field name="eof" />
+		<field name="length" />
+	</class>
+	<class name="java/io/OutputStream" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<implements name="java/io/Flushable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="write(I)V" />
+		<method name="write([B)V" />
+		<method name="write([BII)V" />
+	</class>
+	<class name="java/io/OutputStreamWriter" since="1">
+		<extends name="java/io/Writer" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/nio/charset/CharsetEncoder;)V" />
+		<method name="getEncoding()Ljava/lang/String;" />
+	</class>
+	<class name="java/io/PipedInputStream" since="1">
+		<extends name="java/io/InputStream" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/io/PipedOutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/PipedOutputStream;I)V" since="9" />
+		<method name="connect(Ljava/io/PipedOutputStream;)V" />
+		<method name="receive(I)V" />
+		<field name="PIPE_SIZE" />
+		<field name="buffer" />
+		<field name="in" />
+		<field name="out" />
+	</class>
+	<class name="java/io/PipedOutputStream" since="1">
+		<extends name="java/io/OutputStream" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/io/PipedInputStream;)V" />
+		<method name="connect(Ljava/io/PipedInputStream;)V" />
+	</class>
+	<class name="java/io/PipedReader" since="1">
+		<extends name="java/io/Reader" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/io/PipedWriter;)V" />
+		<method name="&lt;init&gt;(Ljava/io/PipedWriter;I)V" since="9" />
+		<method name="connect(Ljava/io/PipedWriter;)V" />
+	</class>
+	<class name="java/io/PipedWriter" since="1">
+		<extends name="java/io/Writer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/io/PipedReader;)V" />
+		<method name="connect(Ljava/io/PipedReader;)V" />
+	</class>
+	<class name="java/io/PrintStream" since="1">
+		<extends name="java/io/FilterOutputStream" />
+		<implements name="java/lang/Appendable" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Z)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;ZLjava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="append(C)Ljava/io/PrintStream;" />
+		<method name="append(Ljava/lang/CharSequence;)Ljava/io/PrintStream;" />
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/io/PrintStream;" />
+		<method name="checkError()Z" />
+		<method name="clearError()V" since="9" />
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;" />
+		<method name="format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;" />
+		<method name="print(C)V" />
+		<method name="print(D)V" />
+		<method name="print(F)V" />
+		<method name="print(I)V" />
+		<method name="print(J)V" />
+		<method name="print(Ljava/lang/Object;)V" />
+		<method name="print(Ljava/lang/String;)V" />
+		<method name="print(Z)V" />
+		<method name="print([C)V" />
+		<method name="printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;" />
+		<method name="printf(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;" />
+		<method name="println()V" />
+		<method name="println(C)V" />
+		<method name="println(D)V" />
+		<method name="println(F)V" />
+		<method name="println(I)V" />
+		<method name="println(J)V" />
+		<method name="println(Ljava/lang/Object;)V" />
+		<method name="println(Ljava/lang/String;)V" />
+		<method name="println(Z)V" />
+		<method name="println([C)V" />
+		<method name="setError()V" />
+	</class>
+	<class name="java/io/PrintWriter" since="1">
+		<extends name="java/io/Writer" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Z)V" />
+		<method name="&lt;init&gt;(Ljava/io/Writer;)V" />
+		<method name="&lt;init&gt;(Ljava/io/Writer;Z)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="append(C)Ljava/io/PrintWriter;" />
+		<method name="append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;" />
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/io/PrintWriter;" />
+		<method name="checkError()Z" />
+		<method name="clearError()V" since="9" />
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;" />
+		<method name="format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;" />
+		<method name="print(C)V" />
+		<method name="print(D)V" />
+		<method name="print(F)V" />
+		<method name="print(I)V" />
+		<method name="print(J)V" />
+		<method name="print(Ljava/lang/Object;)V" />
+		<method name="print(Ljava/lang/String;)V" />
+		<method name="print(Z)V" />
+		<method name="print([C)V" />
+		<method name="printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;" />
+		<method name="printf(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;" />
+		<method name="println()V" />
+		<method name="println(C)V" />
+		<method name="println(D)V" />
+		<method name="println(F)V" />
+		<method name="println(I)V" />
+		<method name="println(J)V" />
+		<method name="println(Ljava/lang/Object;)V" />
+		<method name="println(Ljava/lang/String;)V" />
+		<method name="println(Z)V" />
+		<method name="println([C)V" />
+		<method name="setError()V" />
+		<field name="out" />
+	</class>
+	<class name="java/io/PushbackInputStream" since="1">
+		<extends name="java/io/FilterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;I)V" />
+		<method name="unread(I)V" />
+		<method name="unread([B)V" />
+		<method name="unread([BII)V" />
+		<field name="buf" />
+		<field name="pos" />
+	</class>
+	<class name="java/io/PushbackReader" since="1">
+		<extends name="java/io/FilterReader" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;)V" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;I)V" />
+		<method name="unread(I)V" />
+		<method name="unread([C)V" />
+		<method name="unread([CII)V" />
+	</class>
+	<class name="java/io/RandomAccessFile" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<implements name="java/io/DataInput" />
+		<implements name="java/io/DataOutput" />
+		<method name="&lt;init&gt;(Ljava/io/File;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getChannel()Ljava/nio/channels/FileChannel;" />
+		<method name="getFD()Ljava/io/FileDescriptor;" />
+		<method name="getFilePointer()J" />
+		<method name="length()J" />
+		<method name="read()I" />
+		<method name="read([B)I" />
+		<method name="read([BII)I" />
+		<method name="seek(J)V" />
+		<method name="setLength(J)V" />
+	</class>
+	<class name="java/io/Reader" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<implements name="java/lang/Readable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<method name="mark(I)V" />
+		<method name="markSupported()Z" />
+		<method name="read()I" />
+		<method name="read([C)I" />
+		<method name="read([CII)I" />
+		<method name="ready()Z" />
+		<method name="reset()V" />
+		<method name="skip(J)J" />
+		<field name="lock" />
+	</class>
+	<class name="java/io/SequenceInputStream" since="1">
+		<extends name="java/io/InputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Enumeration;)V" />
+	</class>
+	<class name="java/io/Serializable" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/io/SerializablePermission" since="1">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/StreamCorruptedException" since="1">
+		<extends name="java/io/ObjectStreamException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/StreamTokenizer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" deprecated="15" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;)V" />
+		<method name="commentChar(I)V" />
+		<method name="eolIsSignificant(Z)V" />
+		<method name="lineno()I" />
+		<method name="lowerCaseMode(Z)V" />
+		<method name="nextToken()I" />
+		<method name="ordinaryChar(I)V" />
+		<method name="ordinaryChars(II)V" />
+		<method name="parseNumbers()V" />
+		<method name="pushBack()V" />
+		<method name="quoteChar(I)V" />
+		<method name="resetSyntax()V" />
+		<method name="slashSlashComments(Z)V" />
+		<method name="slashStarComments(Z)V" />
+		<method name="whitespaceChars(II)V" />
+		<method name="wordChars(II)V" />
+		<field name="TT_EOF" />
+		<field name="TT_EOL" />
+		<field name="TT_NUMBER" />
+		<field name="TT_WORD" />
+		<field name="nval" />
+		<field name="sval" />
+		<field name="ttype" />
+	</class>
+	<class name="java/io/StringBufferInputStream" since="1" deprecated="1">
+		<extends name="java/io/InputStream" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="29" />
+		<field name="buffer" deprecated="29" />
+		<field name="count" deprecated="29" />
+		<field name="pos" deprecated="29" />
+	</class>
+	<class name="java/io/StringReader" since="1">
+		<extends name="java/io/Reader" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/StringWriter" since="1">
+		<extends name="java/io/Writer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="append(C)Ljava/io/StringWriter;" />
+		<method name="append(Ljava/lang/CharSequence;)Ljava/io/StringWriter;" />
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/io/StringWriter;" />
+		<method name="getBuffer()Ljava/lang/StringBuffer;" />
+	</class>
+	<class name="java/io/SyncFailedException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/UTFDataFormatException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/UncheckedIOException" since="24">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/io/IOException;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/io/IOException;)V" />
+		<method name="getCause()Ljava/io/IOException;" />
+	</class>
+	<class name="java/io/UnsupportedEncodingException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/io/WriteAbortedException" since="1">
+		<extends name="java/io/ObjectStreamException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Exception;)V" />
+		<field name="detail" />
+	</class>
+	<class name="java/io/Writer" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<implements name="java/io/Flushable" />
+		<implements name="java/lang/Appendable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<method name="append(C)Ljava/io/Writer;" />
+		<method name="append(Ljava/lang/CharSequence;)Ljava/io/Writer;" />
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/io/Writer;" />
+		<method name="write(I)V" />
+		<method name="write(Ljava/lang/String;)V" />
+		<method name="write(Ljava/lang/String;II)V" />
+		<method name="write([C)V" />
+		<method name="write([CII)V" />
+		<field name="lock" />
+	</class>
+	<class name="java/lang/AbstractMethodError" since="1">
+		<extends name="java/lang/IncompatibleClassChangeError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/Appendable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="append(C)Ljava/lang/Appendable;" />
+		<method name="append(Ljava/lang/CharSequence;)Ljava/lang/Appendable;" />
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/lang/Appendable;" />
+	</class>
+	<class name="java/lang/ArithmeticException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/ArrayIndexOutOfBoundsException" since="1">
+		<extends name="java/lang/IndexOutOfBoundsException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/ArrayStoreException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/AssertionError" since="1">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(C)V" />
+		<method name="&lt;init&gt;(D)V" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="19" />
+		<method name="&lt;init&gt;(Z)V" />
+	</class>
+	<class name="java/lang/AutoCloseable" since="19">
+		<extends name="java/lang/Object" />
+		<method name="close()V" />
+	</class>
+	<class name="java/lang/Boolean" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Z)V" />
+		<method name="booleanValue()Z" />
+		<method name="compare(ZZ)I" since="19" />
+		<method name="compareTo(Ljava/lang/Boolean;)I" />
+		<method name="getBoolean(Ljava/lang/String;)Z" />
+		<method name="hashCode(Z)I" since="24" />
+		<method name="logicalAnd(ZZ)Z" since="24" />
+		<method name="logicalOr(ZZ)Z" since="24" />
+		<method name="logicalXor(ZZ)Z" since="24" />
+		<method name="parseBoolean(Ljava/lang/String;)Z" />
+		<method name="toString(Z)Ljava/lang/String;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Boolean;" />
+		<method name="valueOf(Z)Ljava/lang/Boolean;" />
+		<field name="FALSE" />
+		<field name="TRUE" />
+		<field name="TYPE" />
+	</class>
+	<class name="java/lang/BootstrapMethodError" since="26">
+		<extends name="java/lang/LinkageError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/Byte" since="1">
+		<extends name="java/lang/Number" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(B)V" deprecated="31" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="31" />
+		<method name="compare(BB)I" since="19" />
+		<method name="compareTo(Ljava/lang/Byte;)I" />
+		<method name="compareUnsigned(BB)I" since="31" />
+		<method name="decode(Ljava/lang/String;)Ljava/lang/Byte;" />
+		<method name="hashCode(B)I" since="24" />
+		<method name="parseByte(Ljava/lang/String;)B" />
+		<method name="parseByte(Ljava/lang/String;I)B" />
+		<method name="toString(B)Ljava/lang/String;" />
+		<method name="toUnsignedInt(B)I" since="26" />
+		<method name="toUnsignedLong(B)J" since="26" />
+		<method name="valueOf(B)Ljava/lang/Byte;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Byte;" />
+		<method name="valueOf(Ljava/lang/String;I)Ljava/lang/Byte;" />
+		<field name="BYTES" since="24" />
+		<field name="MAX_VALUE" />
+		<field name="MIN_VALUE" />
+		<field name="SIZE" />
+		<field name="TYPE" />
+	</class>
+	<class name="java/lang/CharSequence" since="1">
+		<extends name="java/lang/Object" />
+		<method name="charAt(I)C" />
+		<method name="chars()Ljava/util/stream/IntStream;" since="24" />
+		<method name="codePoints()Ljava/util/stream/IntStream;" since="24" />
+		<method name="length()I" />
+		<method name="subSequence(II)Ljava/lang/CharSequence;" />
+	</class>
+	<class name="java/lang/Character" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(C)V" />
+		<method name="charCount(I)I" />
+		<method name="charValue()C" />
+		<method name="codePointAt(Ljava/lang/CharSequence;I)I" />
+		<method name="codePointAt([CI)I" />
+		<method name="codePointAt([CII)I" />
+		<method name="codePointBefore(Ljava/lang/CharSequence;I)I" />
+		<method name="codePointBefore([CI)I" />
+		<method name="codePointBefore([CII)I" />
+		<method name="codePointCount(Ljava/lang/CharSequence;II)I" />
+		<method name="codePointCount([CII)I" />
+		<method name="compare(CC)I" since="19" />
+		<method name="compareTo(Ljava/lang/Character;)I" />
+		<method name="digit(CI)I" />
+		<method name="digit(II)I" />
+		<method name="forDigit(II)C" />
+		<method name="getDirectionality(C)B" />
+		<method name="getDirectionality(I)B" />
+		<method name="getName(I)Ljava/lang/String;" since="19" />
+		<method name="getNumericValue(C)I" />
+		<method name="getNumericValue(I)I" />
+		<method name="getType(C)I" />
+		<method name="getType(I)I" />
+		<method name="hashCode(C)I" since="24" />
+		<method name="highSurrogate(I)C" since="19" />
+		<method name="isAlphabetic(I)Z" since="19" />
+		<method name="isBmpCodePoint(I)Z" since="19" />
+		<method name="isDefined(C)Z" />
+		<method name="isDefined(I)Z" />
+		<method name="isDigit(C)Z" />
+		<method name="isDigit(I)Z" />
+		<method name="isHighSurrogate(C)Z" />
+		<method name="isISOControl(C)Z" />
+		<method name="isISOControl(I)Z" />
+		<method name="isIdentifierIgnorable(C)Z" />
+		<method name="isIdentifierIgnorable(I)Z" />
+		<method name="isIdeographic(I)Z" since="19" />
+		<method name="isJavaIdentifierPart(C)Z" />
+		<method name="isJavaIdentifierPart(I)Z" />
+		<method name="isJavaIdentifierStart(C)Z" />
+		<method name="isJavaIdentifierStart(I)Z" />
+		<method name="isJavaLetter(C)Z" deprecated="15" />
+		<method name="isJavaLetterOrDigit(C)Z" deprecated="15" />
+		<method name="isLetter(C)Z" />
+		<method name="isLetter(I)Z" />
+		<method name="isLetterOrDigit(C)Z" />
+		<method name="isLetterOrDigit(I)Z" />
+		<method name="isLowSurrogate(C)Z" />
+		<method name="isLowerCase(C)Z" />
+		<method name="isLowerCase(I)Z" />
+		<method name="isMirrored(C)Z" />
+		<method name="isMirrored(I)Z" />
+		<method name="isSpace(C)Z" deprecated="15" />
+		<method name="isSpaceChar(C)Z" />
+		<method name="isSpaceChar(I)Z" />
+		<method name="isSupplementaryCodePoint(I)Z" />
+		<method name="isSurrogate(C)Z" since="19" />
+		<method name="isSurrogatePair(CC)Z" />
+		<method name="isTitleCase(C)Z" />
+		<method name="isTitleCase(I)Z" />
+		<method name="isUnicodeIdentifierPart(C)Z" />
+		<method name="isUnicodeIdentifierPart(I)Z" />
+		<method name="isUnicodeIdentifierStart(C)Z" />
+		<method name="isUnicodeIdentifierStart(I)Z" />
+		<method name="isUpperCase(C)Z" />
+		<method name="isUpperCase(I)Z" />
+		<method name="isValidCodePoint(I)Z" />
+		<method name="isWhitespace(C)Z" />
+		<method name="isWhitespace(I)Z" />
+		<method name="lowSurrogate(I)C" since="19" />
+		<method name="offsetByCodePoints(Ljava/lang/CharSequence;II)I" />
+		<method name="offsetByCodePoints([CIIII)I" />
+		<method name="reverseBytes(C)C" />
+		<method name="toChars(I)[C" />
+		<method name="toChars(I[CI)I" />
+		<method name="toCodePoint(CC)I" />
+		<method name="toLowerCase(C)C" />
+		<method name="toLowerCase(I)I" />
+		<method name="toString(C)Ljava/lang/String;" />
+		<method name="toTitleCase(C)C" />
+		<method name="toTitleCase(I)I" />
+		<method name="toUpperCase(C)C" />
+		<method name="toUpperCase(I)I" />
+		<method name="valueOf(C)Ljava/lang/Character;" />
+		<field name="BYTES" since="24" />
+		<field name="COMBINING_SPACING_MARK" />
+		<field name="CONNECTOR_PUNCTUATION" />
+		<field name="CONTROL" />
+		<field name="CURRENCY_SYMBOL" />
+		<field name="DASH_PUNCTUATION" />
+		<field name="DECIMAL_DIGIT_NUMBER" />
+		<field name="DIRECTIONALITY_ARABIC_NUMBER" />
+		<field name="DIRECTIONALITY_BOUNDARY_NEUTRAL" />
+		<field name="DIRECTIONALITY_COMMON_NUMBER_SEPARATOR" />
+		<field name="DIRECTIONALITY_EUROPEAN_NUMBER" />
+		<field name="DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR" />
+		<field name="DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR" />
+		<field name="DIRECTIONALITY_LEFT_TO_RIGHT" />
+		<field name="DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING" />
+		<field name="DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE" />
+		<field name="DIRECTIONALITY_NONSPACING_MARK" />
+		<field name="DIRECTIONALITY_OTHER_NEUTRALS" />
+		<field name="DIRECTIONALITY_PARAGRAPH_SEPARATOR" />
+		<field name="DIRECTIONALITY_POP_DIRECTIONAL_FORMAT" />
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT" />
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC" />
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING" />
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE" />
+		<field name="DIRECTIONALITY_SEGMENT_SEPARATOR" />
+		<field name="DIRECTIONALITY_UNDEFINED" />
+		<field name="DIRECTIONALITY_WHITESPACE" />
+		<field name="ENCLOSING_MARK" />
+		<field name="END_PUNCTUATION" />
+		<field name="FINAL_QUOTE_PUNCTUATION" />
+		<field name="FORMAT" />
+		<field name="INITIAL_QUOTE_PUNCTUATION" />
+		<field name="LETTER_NUMBER" />
+		<field name="LINE_SEPARATOR" />
+		<field name="LOWERCASE_LETTER" />
+		<field name="MATH_SYMBOL" />
+		<field name="MAX_CODE_POINT" />
+		<field name="MAX_HIGH_SURROGATE" />
+		<field name="MAX_LOW_SURROGATE" />
+		<field name="MAX_RADIX" />
+		<field name="MAX_SURROGATE" />
+		<field name="MAX_VALUE" />
+		<field name="MIN_CODE_POINT" />
+		<field name="MIN_HIGH_SURROGATE" />
+		<field name="MIN_LOW_SURROGATE" />
+		<field name="MIN_RADIX" />
+		<field name="MIN_SUPPLEMENTARY_CODE_POINT" />
+		<field name="MIN_SURROGATE" />
+		<field name="MIN_VALUE" />
+		<field name="MODIFIER_LETTER" />
+		<field name="MODIFIER_SYMBOL" />
+		<field name="NON_SPACING_MARK" />
+		<field name="OTHER_LETTER" />
+		<field name="OTHER_NUMBER" />
+		<field name="OTHER_PUNCTUATION" />
+		<field name="OTHER_SYMBOL" />
+		<field name="PARAGRAPH_SEPARATOR" />
+		<field name="PRIVATE_USE" />
+		<field name="SIZE" />
+		<field name="SPACE_SEPARATOR" />
+		<field name="START_PUNCTUATION" />
+		<field name="SURROGATE" />
+		<field name="TITLECASE_LETTER" />
+		<field name="TYPE" />
+		<field name="UNASSIGNED" />
+		<field name="UPPERCASE_LETTER" />
+	</class>
+	<class name="java/lang/Character$Subset" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/Character$UnicodeBlock" since="1">
+		<extends name="java/lang/Character$Subset" />
+		<method name="forName(Ljava/lang/String;)Ljava/lang/Character$UnicodeBlock;" />
+		<method name="of(C)Ljava/lang/Character$UnicodeBlock;" />
+		<method name="of(I)Ljava/lang/Character$UnicodeBlock;" />
+		<field name="AEGEAN_NUMBERS" />
+		<field name="ALCHEMICAL_SYMBOLS" since="19" />
+		<field name="ALPHABETIC_PRESENTATION_FORMS" />
+		<field name="ANCIENT_GREEK_MUSICAL_NOTATION" since="19" />
+		<field name="ANCIENT_GREEK_NUMBERS" since="19" />
+		<field name="ANCIENT_SYMBOLS" since="19" />
+		<field name="ARABIC" />
+		<field name="ARABIC_EXTENDED_A" since="26" />
+		<field name="ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS" since="26" />
+		<field name="ARABIC_PRESENTATION_FORMS_A" />
+		<field name="ARABIC_PRESENTATION_FORMS_B" />
+		<field name="ARABIC_SUPPLEMENT" since="19" />
+		<field name="ARMENIAN" />
+		<field name="ARROWS" />
+		<field name="AVESTAN" since="19" />
+		<field name="BALINESE" since="19" />
+		<field name="BAMUM" since="19" />
+		<field name="BAMUM_SUPPLEMENT" since="19" />
+		<field name="BASIC_LATIN" />
+		<field name="BATAK" since="19" />
+		<field name="BENGALI" />
+		<field name="BLOCK_ELEMENTS" />
+		<field name="BOPOMOFO" />
+		<field name="BOPOMOFO_EXTENDED" />
+		<field name="BOX_DRAWING" />
+		<field name="BRAHMI" since="19" />
+		<field name="BRAILLE_PATTERNS" />
+		<field name="BUGINESE" since="19" />
+		<field name="BUHID" />
+		<field name="BYZANTINE_MUSICAL_SYMBOLS" />
+		<field name="CARIAN" since="19" />
+		<field name="CHAKMA" since="26" />
+		<field name="CHAM" since="19" />
+		<field name="CHEROKEE" />
+		<field name="CJK_COMPATIBILITY" />
+		<field name="CJK_COMPATIBILITY_FORMS" />
+		<field name="CJK_COMPATIBILITY_IDEOGRAPHS" />
+		<field name="CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT" />
+		<field name="CJK_RADICALS_SUPPLEMENT" />
+		<field name="CJK_STROKES" since="19" />
+		<field name="CJK_SYMBOLS_AND_PUNCTUATION" />
+		<field name="CJK_UNIFIED_IDEOGRAPHS" />
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A" />
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B" />
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C" since="19" />
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D" since="19" />
+		<field name="COMBINING_DIACRITICAL_MARKS" />
+		<field name="COMBINING_DIACRITICAL_MARKS_SUPPLEMENT" since="19" />
+		<field name="COMBINING_HALF_MARKS" />
+		<field name="COMBINING_MARKS_FOR_SYMBOLS" />
+		<field name="COMMON_INDIC_NUMBER_FORMS" since="19" />
+		<field name="CONTROL_PICTURES" />
+		<field name="COPTIC" since="19" />
+		<field name="COUNTING_ROD_NUMERALS" since="19" />
+		<field name="CUNEIFORM" since="19" />
+		<field name="CUNEIFORM_NUMBERS_AND_PUNCTUATION" since="19" />
+		<field name="CURRENCY_SYMBOLS" />
+		<field name="CYPRIOT_SYLLABARY" />
+		<field name="CYRILLIC" />
+		<field name="CYRILLIC_EXTENDED_A" since="19" />
+		<field name="CYRILLIC_EXTENDED_B" since="19" />
+		<field name="CYRILLIC_SUPPLEMENTARY" />
+		<field name="DESERET" />
+		<field name="DEVANAGARI" />
+		<field name="DEVANAGARI_EXTENDED" since="19" />
+		<field name="DINGBATS" />
+		<field name="DOMINO_TILES" since="19" />
+		<field name="EGYPTIAN_HIEROGLYPHS" since="19" />
+		<field name="EMOTICONS" since="19" />
+		<field name="ENCLOSED_ALPHANUMERICS" />
+		<field name="ENCLOSED_ALPHANUMERIC_SUPPLEMENT" since="19" />
+		<field name="ENCLOSED_CJK_LETTERS_AND_MONTHS" />
+		<field name="ENCLOSED_IDEOGRAPHIC_SUPPLEMENT" since="19" />
+		<field name="ETHIOPIC" />
+		<field name="ETHIOPIC_EXTENDED" since="19" />
+		<field name="ETHIOPIC_EXTENDED_A" since="19" />
+		<field name="ETHIOPIC_SUPPLEMENT" since="19" />
+		<field name="GENERAL_PUNCTUATION" />
+		<field name="GEOMETRIC_SHAPES" />
+		<field name="GEORGIAN" />
+		<field name="GEORGIAN_SUPPLEMENT" since="19" />
+		<field name="GLAGOLITIC" since="19" />
+		<field name="GOTHIC" />
+		<field name="GREEK" />
+		<field name="GREEK_EXTENDED" />
+		<field name="GUJARATI" />
+		<field name="GURMUKHI" />
+		<field name="HALFWIDTH_AND_FULLWIDTH_FORMS" />
+		<field name="HANGUL_COMPATIBILITY_JAMO" />
+		<field name="HANGUL_JAMO" />
+		<field name="HANGUL_JAMO_EXTENDED_A" since="19" />
+		<field name="HANGUL_JAMO_EXTENDED_B" since="19" />
+		<field name="HANGUL_SYLLABLES" />
+		<field name="HANUNOO" />
+		<field name="HEBREW" />
+		<field name="HIGH_PRIVATE_USE_SURROGATES" />
+		<field name="HIGH_SURROGATES" />
+		<field name="HIRAGANA" />
+		<field name="IDEOGRAPHIC_DESCRIPTION_CHARACTERS" />
+		<field name="IMPERIAL_ARAMAIC" since="19" />
+		<field name="INSCRIPTIONAL_PAHLAVI" since="19" />
+		<field name="INSCRIPTIONAL_PARTHIAN" since="19" />
+		<field name="IPA_EXTENSIONS" />
+		<field name="JAVANESE" since="19" />
+		<field name="KAITHI" since="19" />
+		<field name="KANA_SUPPLEMENT" since="19" />
+		<field name="KANBUN" />
+		<field name="KANGXI_RADICALS" />
+		<field name="KANNADA" />
+		<field name="KATAKANA" />
+		<field name="KATAKANA_PHONETIC_EXTENSIONS" />
+		<field name="KAYAH_LI" since="19" />
+		<field name="KHAROSHTHI" since="19" />
+		<field name="KHMER" />
+		<field name="KHMER_SYMBOLS" />
+		<field name="LAO" />
+		<field name="LATIN_1_SUPPLEMENT" />
+		<field name="LATIN_EXTENDED_A" />
+		<field name="LATIN_EXTENDED_ADDITIONAL" />
+		<field name="LATIN_EXTENDED_B" />
+		<field name="LATIN_EXTENDED_C" since="19" />
+		<field name="LATIN_EXTENDED_D" since="19" />
+		<field name="LEPCHA" since="19" />
+		<field name="LETTERLIKE_SYMBOLS" />
+		<field name="LIMBU" />
+		<field name="LINEAR_B_IDEOGRAMS" />
+		<field name="LINEAR_B_SYLLABARY" />
+		<field name="LISU" since="19" />
+		<field name="LOW_SURROGATES" />
+		<field name="LYCIAN" since="19" />
+		<field name="LYDIAN" since="19" />
+		<field name="MAHJONG_TILES" since="19" />
+		<field name="MALAYALAM" />
+		<field name="MANDAIC" since="19" />
+		<field name="MATHEMATICAL_ALPHANUMERIC_SYMBOLS" />
+		<field name="MATHEMATICAL_OPERATORS" />
+		<field name="MEETEI_MAYEK" since="19" />
+		<field name="MEETEI_MAYEK_EXTENSIONS" since="26" />
+		<field name="MEROITIC_CURSIVE" since="26" />
+		<field name="MEROITIC_HIEROGLYPHS" since="26" />
+		<field name="MIAO" since="26" />
+		<field name="MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A" />
+		<field name="MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B" />
+		<field name="MISCELLANEOUS_SYMBOLS" />
+		<field name="MISCELLANEOUS_SYMBOLS_AND_ARROWS" />
+		<field name="MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS" since="19" />
+		<field name="MISCELLANEOUS_TECHNICAL" />
+		<field name="MODIFIER_TONE_LETTERS" since="19" />
+		<field name="MONGOLIAN" />
+		<field name="MUSICAL_SYMBOLS" />
+		<field name="MYANMAR" />
+		<field name="MYANMAR_EXTENDED_A" since="19" />
+		<field name="NEW_TAI_LUE" since="19" />
+		<field name="NKO" since="19" />
+		<field name="NUMBER_FORMS" />
+		<field name="OGHAM" />
+		<field name="OLD_ITALIC" />
+		<field name="OLD_PERSIAN" since="19" />
+		<field name="OLD_SOUTH_ARABIAN" since="19" />
+		<field name="OLD_TURKIC" since="19" />
+		<field name="OL_CHIKI" since="19" />
+		<field name="OPTICAL_CHARACTER_RECOGNITION" />
+		<field name="ORIYA" />
+		<field name="OSMANYA" />
+		<field name="PHAGS_PA" since="19" />
+		<field name="PHAISTOS_DISC" since="19" />
+		<field name="PHOENICIAN" since="19" />
+		<field name="PHONETIC_EXTENSIONS" />
+		<field name="PHONETIC_EXTENSIONS_SUPPLEMENT" since="19" />
+		<field name="PLAYING_CARDS" since="19" />
+		<field name="PRIVATE_USE_AREA" />
+		<field name="REJANG" since="19" />
+		<field name="RUMI_NUMERAL_SYMBOLS" since="19" />
+		<field name="RUNIC" />
+		<field name="SAMARITAN" since="19" />
+		<field name="SAURASHTRA" since="19" />
+		<field name="SHARADA" since="26" />
+		<field name="SHAVIAN" />
+		<field name="SINHALA" />
+		<field name="SMALL_FORM_VARIANTS" />
+		<field name="SORA_SOMPENG" since="26" />
+		<field name="SPACING_MODIFIER_LETTERS" />
+		<field name="SPECIALS" />
+		<field name="SUNDANESE" since="19" />
+		<field name="SUNDANESE_SUPPLEMENT" since="26" />
+		<field name="SUPERSCRIPTS_AND_SUBSCRIPTS" />
+		<field name="SUPPLEMENTAL_ARROWS_A" />
+		<field name="SUPPLEMENTAL_ARROWS_B" />
+		<field name="SUPPLEMENTAL_MATHEMATICAL_OPERATORS" />
+		<field name="SUPPLEMENTAL_PUNCTUATION" since="19" />
+		<field name="SUPPLEMENTARY_PRIVATE_USE_AREA_A" />
+		<field name="SUPPLEMENTARY_PRIVATE_USE_AREA_B" />
+		<field name="SURROGATES_AREA" deprecated="15" />
+		<field name="SYLOTI_NAGRI" since="19" />
+		<field name="SYRIAC" />
+		<field name="TAGALOG" />
+		<field name="TAGBANWA" />
+		<field name="TAGS" />
+		<field name="TAI_LE" />
+		<field name="TAI_THAM" since="19" />
+		<field name="TAI_VIET" since="19" />
+		<field name="TAI_XUAN_JING_SYMBOLS" />
+		<field name="TAKRI" since="26" />
+		<field name="TAMIL" />
+		<field name="TELUGU" />
+		<field name="THAANA" />
+		<field name="THAI" />
+		<field name="TIBETAN" />
+		<field name="TIFINAGH" since="19" />
+		<field name="TRANSPORT_AND_MAP_SYMBOLS" since="19" />
+		<field name="UGARITIC" />
+		<field name="UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS" />
+		<field name="UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED" since="19" />
+		<field name="VAI" since="19" />
+		<field name="VARIATION_SELECTORS" />
+		<field name="VARIATION_SELECTORS_SUPPLEMENT" />
+		<field name="VEDIC_EXTENSIONS" since="19" />
+		<field name="VERTICAL_FORMS" since="19" />
+		<field name="YIJING_HEXAGRAM_SYMBOLS" />
+		<field name="YI_RADICALS" />
+		<field name="YI_SYLLABLES" />
+	</class>
+	<class name="java/lang/Character$UnicodeScript" since="24">
+		<extends name="java/lang/Enum" />
+		<method name="forName(Ljava/lang/String;)Ljava/lang/Character$UnicodeScript;" />
+		<method name="of(I)Ljava/lang/Character$UnicodeScript;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Character$UnicodeScript;" />
+		<method name="values()[Ljava/lang/Character$UnicodeScript;" />
+		<field name="ARABIC" />
+		<field name="ARMENIAN" />
+		<field name="AVESTAN" />
+		<field name="BALINESE" />
+		<field name="BAMUM" />
+		<field name="BATAK" />
+		<field name="BENGALI" />
+		<field name="BOPOMOFO" />
+		<field name="BRAHMI" />
+		<field name="BRAILLE" />
+		<field name="BUGINESE" />
+		<field name="BUHID" />
+		<field name="CANADIAN_ABORIGINAL" />
+		<field name="CARIAN" />
+		<field name="CHAKMA" since="26" />
+		<field name="CHAM" />
+		<field name="CHEROKEE" />
+		<field name="COMMON" />
+		<field name="COPTIC" />
+		<field name="CUNEIFORM" />
+		<field name="CYPRIOT" />
+		<field name="CYRILLIC" />
+		<field name="DESERET" />
+		<field name="DEVANAGARI" />
+		<field name="EGYPTIAN_HIEROGLYPHS" />
+		<field name="ETHIOPIC" />
+		<field name="GEORGIAN" />
+		<field name="GLAGOLITIC" />
+		<field name="GOTHIC" />
+		<field name="GREEK" />
+		<field name="GUJARATI" />
+		<field name="GURMUKHI" />
+		<field name="HAN" />
+		<field name="HANGUL" />
+		<field name="HANUNOO" />
+		<field name="HEBREW" />
+		<field name="HIRAGANA" />
+		<field name="IMPERIAL_ARAMAIC" />
+		<field name="INHERITED" />
+		<field name="INSCRIPTIONAL_PAHLAVI" />
+		<field name="INSCRIPTIONAL_PARTHIAN" />
+		<field name="JAVANESE" />
+		<field name="KAITHI" />
+		<field name="KANNADA" />
+		<field name="KATAKANA" />
+		<field name="KAYAH_LI" />
+		<field name="KHAROSHTHI" />
+		<field name="KHMER" />
+		<field name="LAO" />
+		<field name="LATIN" />
+		<field name="LEPCHA" />
+		<field name="LIMBU" />
+		<field name="LINEAR_B" />
+		<field name="LISU" />
+		<field name="LYCIAN" />
+		<field name="LYDIAN" />
+		<field name="MALAYALAM" />
+		<field name="MANDAIC" />
+		<field name="MEETEI_MAYEK" />
+		<field name="MEROITIC_CURSIVE" since="26" />
+		<field name="MEROITIC_HIEROGLYPHS" since="26" />
+		<field name="MIAO" since="26" />
+		<field name="MONGOLIAN" />
+		<field name="MYANMAR" />
+		<field name="NEW_TAI_LUE" />
+		<field name="NKO" />
+		<field name="OGHAM" />
+		<field name="OLD_ITALIC" />
+		<field name="OLD_PERSIAN" />
+		<field name="OLD_SOUTH_ARABIAN" />
+		<field name="OLD_TURKIC" />
+		<field name="OL_CHIKI" />
+		<field name="ORIYA" />
+		<field name="OSMANYA" />
+		<field name="PHAGS_PA" />
+		<field name="PHOENICIAN" />
+		<field name="REJANG" />
+		<field name="RUNIC" />
+		<field name="SAMARITAN" />
+		<field name="SAURASHTRA" />
+		<field name="SHARADA" since="26" />
+		<field name="SHAVIAN" />
+		<field name="SINHALA" />
+		<field name="SORA_SOMPENG" since="26" />
+		<field name="SUNDANESE" />
+		<field name="SYLOTI_NAGRI" />
+		<field name="SYRIAC" />
+		<field name="TAGALOG" />
+		<field name="TAGBANWA" />
+		<field name="TAI_LE" />
+		<field name="TAI_THAM" />
+		<field name="TAI_VIET" />
+		<field name="TAKRI" since="26" />
+		<field name="TAMIL" />
+		<field name="TELUGU" />
+		<field name="THAANA" />
+		<field name="THAI" />
+		<field name="TIBETAN" />
+		<field name="TIFINAGH" />
+		<field name="UGARITIC" />
+		<field name="UNKNOWN" />
+		<field name="VAI" />
+		<field name="YI" />
+	</class>
+	<class name="java/lang/Class" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/reflect/AnnotatedElement" />
+		<implements name="java/lang/reflect/GenericDeclaration" />
+		<implements name="java/lang/reflect/Type" />
+		<method name="asSubclass(Ljava/lang/Class;)Ljava/lang/Class;" />
+		<method name="cast(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="desiredAssertionStatus()Z" />
+		<method name="forName(Ljava/lang/String;)Ljava/lang/Class;" />
+		<method name="forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;" />
+		<method name="getCanonicalName()Ljava/lang/String;" />
+		<method name="getClassLoader()Ljava/lang/ClassLoader;" />
+		<method name="getClasses()[Ljava/lang/Class;" />
+		<method name="getComponentType()Ljava/lang/Class;" />
+		<method name="getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;" />
+		<method name="getConstructors()[Ljava/lang/reflect/Constructor;" />
+		<method name="getDeclaredClasses()[Ljava/lang/Class;" />
+		<method name="getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;" />
+		<method name="getDeclaredConstructors()[Ljava/lang/reflect/Constructor;" />
+		<method name="getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;" />
+		<method name="getDeclaredFields()[Ljava/lang/reflect/Field;" />
+		<method name="getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;" />
+		<method name="getDeclaredMethods()[Ljava/lang/reflect/Method;" />
+		<method name="getDeclaringClass()Ljava/lang/Class;" />
+		<method name="getEnclosingClass()Ljava/lang/Class;" />
+		<method name="getEnclosingConstructor()Ljava/lang/reflect/Constructor;" />
+		<method name="getEnclosingMethod()Ljava/lang/reflect/Method;" />
+		<method name="getEnumConstants()[Ljava/lang/Object;" />
+		<method name="getField(Ljava/lang/String;)Ljava/lang/reflect/Field;" />
+		<method name="getFields()[Ljava/lang/reflect/Field;" />
+		<method name="getGenericInterfaces()[Ljava/lang/reflect/Type;" />
+		<method name="getGenericSuperclass()Ljava/lang/reflect/Type;" />
+		<method name="getInterfaces()[Ljava/lang/Class;" />
+		<method name="getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;" />
+		<method name="getMethods()[Ljava/lang/reflect/Method;" />
+		<method name="getModifiers()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPackage()Ljava/lang/Package;" />
+		<method name="getPackageName()Ljava/lang/String;" since="31" />
+		<method name="getProtectionDomain()Ljava/security/ProtectionDomain;" />
+		<method name="getResource(Ljava/lang/String;)Ljava/net/URL;" />
+		<method name="getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;" />
+		<method name="getSigners()[Ljava/lang/Object;" />
+		<method name="getSimpleName()Ljava/lang/String;" />
+		<method name="getSuperclass()Ljava/lang/Class;" />
+		<method name="getTypeName()Ljava/lang/String;" since="26" />
+		<method name="isAnnotation()Z" />
+		<method name="isAnonymousClass()Z" />
+		<method name="isArray()Z" />
+		<method name="isAssignableFrom(Ljava/lang/Class;)Z" />
+		<method name="isEnum()Z" />
+		<method name="isInstance(Ljava/lang/Object;)Z" />
+		<method name="isInterface()Z" />
+		<method name="isLocalClass()Z" />
+		<method name="isMemberClass()Z" />
+		<method name="isPrimitive()Z" />
+		<method name="isSynthetic()Z" />
+		<method name="newInstance()Ljava/lang/Object;" />
+		<method name="toGenericString()Ljava/lang/String;" since="26" />
+	</class>
+	<class name="java/lang/ClassCastException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/ClassCircularityError" since="1">
+		<extends name="java/lang/LinkageError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/ClassFormatError" since="1">
+		<extends name="java/lang/LinkageError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/ClassLoader" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/ClassLoader;)V" />
+		<method name="clearAssertionStatus()V" />
+		<method name="defineClass(Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/ProtectionDomain;)Ljava/lang/Class;" />
+		<method name="defineClass(Ljava/lang/String;[BII)Ljava/lang/Class;" />
+		<method name="defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;" />
+		<method name="defineClass([BII)Ljava/lang/Class;" deprecated="15" />
+		<method name="definePackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)Ljava/lang/Package;" />
+		<method name="findClass(Ljava/lang/String;)Ljava/lang/Class;" />
+		<method name="findLibrary(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="findLoadedClass(Ljava/lang/String;)Ljava/lang/Class;" />
+		<method name="findResource(Ljava/lang/String;)Ljava/net/URL;" />
+		<method name="findResources(Ljava/lang/String;)Ljava/util/Enumeration;" />
+		<method name="findSystemClass(Ljava/lang/String;)Ljava/lang/Class;" />
+		<method name="getPackage(Ljava/lang/String;)Ljava/lang/Package;" />
+		<method name="getPackages()[Ljava/lang/Package;" />
+		<method name="getParent()Ljava/lang/ClassLoader;" />
+		<method name="getResource(Ljava/lang/String;)Ljava/net/URL;" />
+		<method name="getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;" />
+		<method name="getResources(Ljava/lang/String;)Ljava/util/Enumeration;" />
+		<method name="getSystemClassLoader()Ljava/lang/ClassLoader;" />
+		<method name="getSystemResource(Ljava/lang/String;)Ljava/net/URL;" />
+		<method name="getSystemResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;" />
+		<method name="getSystemResources(Ljava/lang/String;)Ljava/util/Enumeration;" />
+		<method name="loadClass(Ljava/lang/String;)Ljava/lang/Class;" />
+		<method name="loadClass(Ljava/lang/String;Z)Ljava/lang/Class;" />
+		<method name="registerAsParallelCapable()Z" since="24" />
+		<method name="resolveClass(Ljava/lang/Class;)V" />
+		<method name="setClassAssertionStatus(Ljava/lang/String;Z)V" />
+		<method name="setDefaultAssertionStatus(Z)V" />
+		<method name="setPackageAssertionStatus(Ljava/lang/String;Z)V" />
+		<method name="setSigners(Ljava/lang/Class;[Ljava/lang/Object;)V" />
+	</class>
+	<class name="java/lang/ClassNotFoundException" since="1">
+		<extends name="java/lang/Exception" removed="19" />
+		<extends name="java/lang/ReflectiveOperationException" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="getException()Ljava/lang/Throwable;" />
+	</class>
+	<class name="java/lang/CloneNotSupportedException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/Cloneable" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/lang/Comparable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="compareTo(Ljava/lang/Object;)I" />
+	</class>
+	<class name="java/lang/Compiler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="command(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="compileClass(Ljava/lang/Class;)Z" />
+		<method name="compileClasses(Ljava/lang/String;)Z" />
+		<method name="disable()V" />
+		<method name="enable()V" />
+	</class>
+	<class name="java/lang/Deprecated" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="forRemoval()Z" since="31" />
+		<method name="since()Ljava/lang/String;" since="31" />
+	</class>
+	<class name="java/lang/Double" since="1">
+		<extends name="java/lang/Number" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(D)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="compare(DD)I" />
+		<method name="compareTo(Ljava/lang/Double;)I" />
+		<method name="doubleToLongBits(D)J" />
+		<method name="doubleToRawLongBits(D)J" />
+		<method name="hashCode(D)I" since="24" />
+		<method name="isFinite(D)Z" since="24" />
+		<method name="isInfinite()Z" />
+		<method name="isInfinite(D)Z" />
+		<method name="isNaN()Z" />
+		<method name="isNaN(D)Z" />
+		<method name="longBitsToDouble(J)D" />
+		<method name="max(DD)D" since="24" />
+		<method name="min(DD)D" since="24" />
+		<method name="parseDouble(Ljava/lang/String;)D" />
+		<method name="sum(DD)D" since="24" />
+		<method name="toHexString(D)Ljava/lang/String;" />
+		<method name="toString(D)Ljava/lang/String;" />
+		<method name="valueOf(D)Ljava/lang/Double;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Double;" />
+		<field name="BYTES" since="24" />
+		<field name="MAX_EXPONENT" since="9" />
+		<field name="MAX_VALUE" />
+		<field name="MIN_EXPONENT" since="9" />
+		<field name="MIN_NORMAL" since="9" />
+		<field name="MIN_VALUE" />
+		<field name="NEGATIVE_INFINITY" />
+		<field name="NaN" />
+		<field name="POSITIVE_INFINITY" />
+		<field name="SIZE" />
+		<field name="TYPE" />
+	</class>
+	<class name="java/lang/Enum" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="compareTo(Ljava/lang/Enum;)I" />
+		<method name="getDeclaringClass()Ljava/lang/Class;" />
+		<method name="name()Ljava/lang/String;" />
+		<method name="ordinal()I" />
+		<method name="valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;" />
+	</class>
+	<class name="java/lang/EnumConstantNotPresentException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;Ljava/lang/String;)V" />
+		<method name="constantName()Ljava/lang/String;" />
+		<method name="enumType()Ljava/lang/Class;" />
+	</class>
+	<class name="java/lang/Error" since="1">
+		<extends name="java/lang/Throwable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/Exception" since="1">
+		<extends name="java/lang/Throwable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/ExceptionInInitializerError" since="1">
+		<extends name="java/lang/LinkageError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+		<method name="getException()Ljava/lang/Throwable;" />
+	</class>
+	<class name="java/lang/Float" since="1">
+		<extends name="java/lang/Number" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(D)V" />
+		<method name="&lt;init&gt;(F)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="compare(FF)I" />
+		<method name="compareTo(Ljava/lang/Float;)I" />
+		<method name="floatToIntBits(F)I" />
+		<method name="floatToRawIntBits(F)I" />
+		<method name="hashCode(F)I" since="24" />
+		<method name="intBitsToFloat(I)F" />
+		<method name="isFinite(F)Z" since="24" />
+		<method name="isInfinite()Z" />
+		<method name="isInfinite(F)Z" />
+		<method name="isNaN()Z" />
+		<method name="isNaN(F)Z" />
+		<method name="max(FF)F" since="24" />
+		<method name="min(FF)F" since="24" />
+		<method name="parseFloat(Ljava/lang/String;)F" />
+		<method name="sum(FF)F" since="24" />
+		<method name="toHexString(F)Ljava/lang/String;" />
+		<method name="toString(F)Ljava/lang/String;" />
+		<method name="valueOf(F)Ljava/lang/Float;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Float;" />
+		<field name="BYTES" since="24" />
+		<field name="MAX_EXPONENT" since="9" />
+		<field name="MAX_VALUE" />
+		<field name="MIN_EXPONENT" since="9" />
+		<field name="MIN_NORMAL" since="9" />
+		<field name="MIN_VALUE" />
+		<field name="NEGATIVE_INFINITY" />
+		<field name="NaN" />
+		<field name="POSITIVE_INFINITY" />
+		<field name="SIZE" />
+		<field name="TYPE" />
+	</class>
+	<class name="java/lang/FunctionalInterface" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="java/lang/IllegalAccessError" since="1">
+		<extends name="java/lang/IncompatibleClassChangeError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/IllegalAccessException" since="1">
+		<extends name="java/lang/Exception" removed="19" />
+		<extends name="java/lang/ReflectiveOperationException" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/IllegalArgumentException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/IllegalMonitorStateException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/IllegalStateException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/IllegalThreadStateException" since="1">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/IncompatibleClassChangeError" since="1">
+		<extends name="java/lang/LinkageError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/IndexOutOfBoundsException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/InheritableThreadLocal" since="1">
+		<extends name="java/lang/ThreadLocal" />
+		<method name="&lt;init&gt;()V" />
+		<method name="childValue(Ljava/lang/Object;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/lang/InstantiationError" since="1">
+		<extends name="java/lang/IncompatibleClassChangeError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/InstantiationException" since="1">
+		<extends name="java/lang/Exception" removed="19" />
+		<extends name="java/lang/ReflectiveOperationException" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/Integer" since="1">
+		<extends name="java/lang/Number" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="bitCount(I)I" />
+		<method name="compare(II)I" since="19" />
+		<method name="compareTo(Ljava/lang/Integer;)I" />
+		<method name="compareUnsigned(II)I" since="26" />
+		<method name="decode(Ljava/lang/String;)Ljava/lang/Integer;" />
+		<method name="divideUnsigned(II)I" since="26" />
+		<method name="getInteger(Ljava/lang/String;)Ljava/lang/Integer;" />
+		<method name="getInteger(Ljava/lang/String;I)Ljava/lang/Integer;" />
+		<method name="getInteger(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;" />
+		<method name="hashCode(I)I" since="24" />
+		<method name="highestOneBit(I)I" />
+		<method name="lowestOneBit(I)I" />
+		<method name="max(II)I" since="24" />
+		<method name="min(II)I" since="24" />
+		<method name="numberOfLeadingZeros(I)I" />
+		<method name="numberOfTrailingZeros(I)I" />
+		<method name="parseInt(Ljava/lang/String;)I" />
+		<method name="parseInt(Ljava/lang/String;I)I" />
+		<method name="parseUnsignedInt(Ljava/lang/String;)I" since="26" />
+		<method name="parseUnsignedInt(Ljava/lang/String;I)I" since="26" />
+		<method name="remainderUnsigned(II)I" since="26" />
+		<method name="reverse(I)I" />
+		<method name="reverseBytes(I)I" />
+		<method name="rotateLeft(II)I" />
+		<method name="rotateRight(II)I" />
+		<method name="signum(I)I" />
+		<method name="sum(II)I" since="24" />
+		<method name="toBinaryString(I)Ljava/lang/String;" />
+		<method name="toHexString(I)Ljava/lang/String;" />
+		<method name="toOctalString(I)Ljava/lang/String;" />
+		<method name="toString(I)Ljava/lang/String;" />
+		<method name="toString(II)Ljava/lang/String;" />
+		<method name="toUnsignedLong(I)J" since="26" />
+		<method name="toUnsignedString(I)Ljava/lang/String;" since="26" />
+		<method name="toUnsignedString(II)Ljava/lang/String;" since="26" />
+		<method name="valueOf(I)Ljava/lang/Integer;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Integer;" />
+		<method name="valueOf(Ljava/lang/String;I)Ljava/lang/Integer;" />
+		<field name="BYTES" since="24" />
+		<field name="MAX_VALUE" />
+		<field name="MIN_VALUE" />
+		<field name="SIZE" />
+		<field name="TYPE" />
+	</class>
+	<class name="java/lang/InternalError" since="1">
+		<extends name="java/lang/VirtualMachineError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" since="24" />
+	</class>
+	<class name="java/lang/InterruptedException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/Iterable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="forEach(Ljava/util/function/Consumer;)V" since="24" />
+		<method name="iterator()Ljava/util/Iterator;" />
+		<method name="spliterator()Ljava/util/Spliterator;" since="24" />
+	</class>
+	<class name="java/lang/LinkageError" since="1">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="19" />
+	</class>
+	<class name="java/lang/Long" since="1">
+		<extends name="java/lang/Number" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="bitCount(J)I" />
+		<method name="compare(JJ)I" since="19" />
+		<method name="compareTo(Ljava/lang/Long;)I" />
+		<method name="compareUnsigned(JJ)I" since="26" />
+		<method name="decode(Ljava/lang/String;)Ljava/lang/Long;" />
+		<method name="divideUnsigned(JJ)J" since="26" />
+		<method name="getLong(Ljava/lang/String;)Ljava/lang/Long;" />
+		<method name="getLong(Ljava/lang/String;J)Ljava/lang/Long;" />
+		<method name="getLong(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;" />
+		<method name="hashCode(J)I" since="24" />
+		<method name="highestOneBit(J)J" />
+		<method name="lowestOneBit(J)J" />
+		<method name="max(JJ)J" since="24" />
+		<method name="min(JJ)J" since="24" />
+		<method name="numberOfLeadingZeros(J)I" />
+		<method name="numberOfTrailingZeros(J)I" />
+		<method name="parseLong(Ljava/lang/String;)J" />
+		<method name="parseLong(Ljava/lang/String;I)J" />
+		<method name="parseUnsignedLong(Ljava/lang/String;)J" since="26" />
+		<method name="parseUnsignedLong(Ljava/lang/String;I)J" since="26" />
+		<method name="remainderUnsigned(JJ)J" since="26" />
+		<method name="reverse(J)J" />
+		<method name="reverseBytes(J)J" />
+		<method name="rotateLeft(JI)J" />
+		<method name="rotateRight(JI)J" />
+		<method name="signum(J)I" />
+		<method name="sum(JJ)J" since="24" />
+		<method name="toBinaryString(J)Ljava/lang/String;" />
+		<method name="toHexString(J)Ljava/lang/String;" />
+		<method name="toOctalString(J)Ljava/lang/String;" />
+		<method name="toString(J)Ljava/lang/String;" />
+		<method name="toString(JI)Ljava/lang/String;" />
+		<method name="toUnsignedString(J)Ljava/lang/String;" since="26" />
+		<method name="toUnsignedString(JI)Ljava/lang/String;" since="26" />
+		<method name="valueOf(J)Ljava/lang/Long;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Long;" />
+		<method name="valueOf(Ljava/lang/String;I)Ljava/lang/Long;" />
+		<field name="BYTES" since="24" />
+		<field name="MAX_VALUE" />
+		<field name="MIN_VALUE" />
+		<field name="SIZE" />
+		<field name="TYPE" />
+	</class>
+	<class name="java/lang/Math" since="1">
+		<extends name="java/lang/Object" />
+		<method name="IEEEremainder(DD)D" />
+		<method name="abs(D)D" />
+		<method name="abs(F)F" />
+		<method name="abs(I)I" />
+		<method name="abs(J)J" />
+		<method name="acos(D)D" />
+		<method name="addExact(II)I" since="24" />
+		<method name="addExact(JJ)J" since="24" />
+		<method name="asin(D)D" />
+		<method name="atan(D)D" />
+		<method name="atan2(DD)D" />
+		<method name="cbrt(D)D" />
+		<method name="ceil(D)D" />
+		<method name="copySign(DD)D" since="9" />
+		<method name="copySign(FF)F" since="9" />
+		<method name="cos(D)D" />
+		<method name="cosh(D)D" />
+		<method name="decrementExact(I)I" since="24" />
+		<method name="decrementExact(J)J" since="24" />
+		<method name="exp(D)D" />
+		<method name="expm1(D)D" />
+		<method name="floor(D)D" />
+		<method name="floorDiv(II)I" since="24" />
+		<method name="floorDiv(JI)J" since="31" />
+		<method name="floorDiv(JJ)J" since="24" />
+		<method name="floorMod(II)I" since="24" />
+		<method name="floorMod(JI)I" since="31" />
+		<method name="floorMod(JJ)J" since="24" />
+		<method name="getExponent(D)I" since="9" />
+		<method name="getExponent(F)I" since="9" />
+		<method name="hypot(DD)D" />
+		<method name="incrementExact(I)I" since="24" />
+		<method name="incrementExact(J)J" since="24" />
+		<method name="log(D)D" />
+		<method name="log10(D)D" />
+		<method name="log1p(D)D" />
+		<method name="max(DD)D" />
+		<method name="max(FF)F" />
+		<method name="max(II)I" />
+		<method name="max(JJ)J" />
+		<method name="min(DD)D" />
+		<method name="min(FF)F" />
+		<method name="min(II)I" />
+		<method name="min(JJ)J" />
+		<method name="multiplyExact(II)I" since="24" />
+		<method name="multiplyExact(JI)J" since="31" />
+		<method name="multiplyExact(JJ)J" since="24" />
+		<method name="multiplyFull(II)J" since="31" />
+		<method name="multiplyHigh(JJ)J" since="31" />
+		<method name="negateExact(I)I" since="24" />
+		<method name="negateExact(J)J" since="24" />
+		<method name="nextAfter(DD)D" since="9" />
+		<method name="nextAfter(FD)F" since="9" />
+		<method name="nextDown(D)D" since="24" />
+		<method name="nextDown(F)F" since="24" />
+		<method name="nextUp(D)D" since="9" />
+		<method name="nextUp(F)F" since="9" />
+		<method name="pow(DD)D" />
+		<method name="random()D" />
+		<method name="rint(D)D" />
+		<method name="round(D)J" />
+		<method name="round(F)I" />
+		<method name="scalb(DI)D" since="9" />
+		<method name="scalb(FI)F" since="9" />
+		<method name="signum(D)D" />
+		<method name="signum(F)F" />
+		<method name="sin(D)D" />
+		<method name="sinh(D)D" />
+		<method name="sqrt(D)D" />
+		<method name="subtractExact(II)I" since="24" />
+		<method name="subtractExact(JJ)J" since="24" />
+		<method name="tan(D)D" />
+		<method name="tanh(D)D" />
+		<method name="toDegrees(D)D" />
+		<method name="toIntExact(J)I" since="24" />
+		<method name="toRadians(D)D" />
+		<method name="ulp(D)D" />
+		<method name="ulp(F)F" />
+		<field name="E" />
+		<field name="PI" />
+	</class>
+	<class name="java/lang/NegativeArraySizeException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/NoClassDefFoundError" since="1">
+		<extends name="java/lang/LinkageError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/NoSuchFieldError" since="1">
+		<extends name="java/lang/IncompatibleClassChangeError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/NoSuchFieldException" since="1">
+		<extends name="java/lang/Exception" removed="19" />
+		<extends name="java/lang/ReflectiveOperationException" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/NoSuchMethodError" since="1">
+		<extends name="java/lang/IncompatibleClassChangeError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/NoSuchMethodException" since="1">
+		<extends name="java/lang/Exception" removed="19" />
+		<extends name="java/lang/ReflectiveOperationException" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/NullPointerException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/Number" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="byteValue()B" />
+		<method name="doubleValue()D" />
+		<method name="floatValue()F" />
+		<method name="intValue()I" />
+		<method name="longValue()J" />
+		<method name="shortValue()S" />
+	</class>
+	<class name="java/lang/NumberFormatException" since="1">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/Object" since="1">
+		<method name="&lt;init&gt;()V" />
+		<method name="clone()Ljava/lang/Object;" />
+		<method name="equals(Ljava/lang/Object;)Z" />
+		<method name="finalize()V" />
+		<method name="getClass()Ljava/lang/Class;" />
+		<method name="hashCode()I" />
+		<method name="notify()V" />
+		<method name="notifyAll()V" />
+		<method name="toString()Ljava/lang/String;" />
+		<method name="wait()V" />
+		<method name="wait(J)V" />
+		<method name="wait(JI)V" />
+	</class>
+	<class name="java/lang/OutOfMemoryError" since="1">
+		<extends name="java/lang/VirtualMachineError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/Override" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="java/lang/Package" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/reflect/AnnotatedElement" />
+		<method name="getImplementationTitle()Ljava/lang/String;" />
+		<method name="getImplementationVendor()Ljava/lang/String;" />
+		<method name="getImplementationVersion()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPackage(Ljava/lang/String;)Ljava/lang/Package;" />
+		<method name="getPackages()[Ljava/lang/Package;" />
+		<method name="getSpecificationTitle()Ljava/lang/String;" />
+		<method name="getSpecificationVendor()Ljava/lang/String;" />
+		<method name="getSpecificationVersion()Ljava/lang/String;" />
+		<method name="isCompatibleWith(Ljava/lang/String;)Z" />
+		<method name="isSealed()Z" />
+		<method name="isSealed(Ljava/net/URL;)Z" />
+	</class>
+	<class name="java/lang/Process" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="destroy()V" />
+		<method name="destroyForcibly()Ljava/lang/Process;" since="26" />
+		<method name="exitValue()I" />
+		<method name="getErrorStream()Ljava/io/InputStream;" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getOutputStream()Ljava/io/OutputStream;" />
+		<method name="isAlive()Z" since="26" />
+		<method name="waitFor()I" />
+		<method name="waitFor(JLjava/util/concurrent/TimeUnit;)Z" since="26" />
+	</class>
+	<class name="java/lang/ProcessBuilder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/util/List;)V" />
+		<method name="&lt;init&gt;([Ljava/lang/String;)V" />
+		<method name="command()Ljava/util/List;" />
+		<method name="command(Ljava/util/List;)Ljava/lang/ProcessBuilder;" />
+		<method name="command([Ljava/lang/String;)Ljava/lang/ProcessBuilder;" />
+		<method name="directory()Ljava/io/File;" />
+		<method name="directory(Ljava/io/File;)Ljava/lang/ProcessBuilder;" />
+		<method name="environment()Ljava/util/Map;" />
+		<method name="inheritIO()Ljava/lang/ProcessBuilder;" since="26" />
+		<method name="redirectError()Ljava/lang/ProcessBuilder$Redirect;" since="26" />
+		<method name="redirectError(Ljava/io/File;)Ljava/lang/ProcessBuilder;" since="26" />
+		<method name="redirectError(Ljava/lang/ProcessBuilder$Redirect;)Ljava/lang/ProcessBuilder;" since="26" />
+		<method name="redirectErrorStream()Z" />
+		<method name="redirectErrorStream(Z)Ljava/lang/ProcessBuilder;" />
+		<method name="redirectInput()Ljava/lang/ProcessBuilder$Redirect;" since="26" />
+		<method name="redirectInput(Ljava/io/File;)Ljava/lang/ProcessBuilder;" since="26" />
+		<method name="redirectInput(Ljava/lang/ProcessBuilder$Redirect;)Ljava/lang/ProcessBuilder;" since="26" />
+		<method name="redirectOutput()Ljava/lang/ProcessBuilder$Redirect;" since="26" />
+		<method name="redirectOutput(Ljava/io/File;)Ljava/lang/ProcessBuilder;" since="26" />
+		<method name="redirectOutput(Ljava/lang/ProcessBuilder$Redirect;)Ljava/lang/ProcessBuilder;" since="26" />
+		<method name="start()Ljava/lang/Process;" />
+	</class>
+	<class name="java/lang/ProcessBuilder$Redirect" since="26">
+		<extends name="java/lang/Object" />
+		<method name="appendTo(Ljava/io/File;)Ljava/lang/ProcessBuilder$Redirect;" />
+		<method name="file()Ljava/io/File;" />
+		<method name="from(Ljava/io/File;)Ljava/lang/ProcessBuilder$Redirect;" />
+		<method name="to(Ljava/io/File;)Ljava/lang/ProcessBuilder$Redirect;" />
+		<method name="type()Ljava/lang/ProcessBuilder$Redirect$Type;" />
+		<field name="INHERIT" />
+		<field name="PIPE" />
+	</class>
+	<class name="java/lang/ProcessBuilder$Redirect$Type" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/ProcessBuilder$Redirect$Type;" />
+		<method name="values()[Ljava/lang/ProcessBuilder$Redirect$Type;" />
+		<field name="APPEND" />
+		<field name="INHERIT" />
+		<field name="PIPE" />
+		<field name="READ" />
+		<field name="WRITE" />
+	</class>
+	<class name="java/lang/Readable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="read(Ljava/nio/CharBuffer;)I" />
+	</class>
+	<class name="java/lang/ReflectiveOperationException" since="19">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/Runnable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="run()V" />
+	</class>
+	<class name="java/lang/Runtime" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addShutdownHook(Ljava/lang/Thread;)V" />
+		<method name="availableProcessors()I" />
+		<method name="exec(Ljava/lang/String;)Ljava/lang/Process;" />
+		<method name="exec(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process;" />
+		<method name="exec(Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;" />
+		<method name="exec([Ljava/lang/String;)Ljava/lang/Process;" />
+		<method name="exec([Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process;" />
+		<method name="exec([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;" />
+		<method name="exit(I)V" />
+		<method name="freeMemory()J" />
+		<method name="gc()V" />
+		<method name="getLocalizedInputStream(Ljava/io/InputStream;)Ljava/io/InputStream;" deprecated="15" />
+		<method name="getLocalizedOutputStream(Ljava/io/OutputStream;)Ljava/io/OutputStream;" deprecated="15" />
+		<method name="getRuntime()Ljava/lang/Runtime;" />
+		<method name="halt(I)V" />
+		<method name="load(Ljava/lang/String;)V" />
+		<method name="loadLibrary(Ljava/lang/String;)V" />
+		<method name="maxMemory()J" />
+		<method name="removeShutdownHook(Ljava/lang/Thread;)Z" />
+		<method name="runFinalization()V" />
+		<method name="runFinalizersOnExit(Z)V" deprecated="15" />
+		<method name="totalMemory()J" />
+		<method name="traceInstructions(Z)V" />
+		<method name="traceMethodCalls(Z)V" />
+	</class>
+	<class name="java/lang/RuntimeException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/RuntimePermission" since="1">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/SafeVarargs" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="java/lang/SecurityException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/SecurityManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="checkAccept(Ljava/lang/String;I)V" />
+		<method name="checkAccess(Ljava/lang/Thread;)V" />
+		<method name="checkAccess(Ljava/lang/ThreadGroup;)V" />
+		<method name="checkAwtEventQueueAccess()V" />
+		<method name="checkConnect(Ljava/lang/String;I)V" />
+		<method name="checkConnect(Ljava/lang/String;ILjava/lang/Object;)V" />
+		<method name="checkCreateClassLoader()V" />
+		<method name="checkDelete(Ljava/lang/String;)V" />
+		<method name="checkExec(Ljava/lang/String;)V" />
+		<method name="checkExit(I)V" />
+		<method name="checkLink(Ljava/lang/String;)V" />
+		<method name="checkListen(I)V" />
+		<method name="checkMemberAccess(Ljava/lang/Class;I)V" />
+		<method name="checkMulticast(Ljava/net/InetAddress;)V" />
+		<method name="checkMulticast(Ljava/net/InetAddress;B)V" deprecated="15" />
+		<method name="checkPackageAccess(Ljava/lang/String;)V" />
+		<method name="checkPackageDefinition(Ljava/lang/String;)V" />
+		<method name="checkPermission(Ljava/security/Permission;)V" />
+		<method name="checkPermission(Ljava/security/Permission;Ljava/lang/Object;)V" />
+		<method name="checkPrintJobAccess()V" />
+		<method name="checkPropertiesAccess()V" />
+		<method name="checkPropertyAccess(Ljava/lang/String;)V" />
+		<method name="checkRead(Ljava/io/FileDescriptor;)V" />
+		<method name="checkRead(Ljava/lang/String;)V" />
+		<method name="checkRead(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="checkSecurityAccess(Ljava/lang/String;)V" />
+		<method name="checkSetFactory()V" />
+		<method name="checkSystemClipboardAccess()V" />
+		<method name="checkTopLevelWindow(Ljava/lang/Object;)Z" />
+		<method name="checkWrite(Ljava/io/FileDescriptor;)V" />
+		<method name="checkWrite(Ljava/lang/String;)V" />
+		<method name="classDepth(Ljava/lang/String;)I" deprecated="15" />
+		<method name="classLoaderDepth()I" deprecated="15" />
+		<method name="currentClassLoader()Ljava/lang/ClassLoader;" deprecated="15" />
+		<method name="currentLoadedClass()Ljava/lang/Class;" deprecated="15" />
+		<method name="getClassContext()[Ljava/lang/Class;" />
+		<method name="getInCheck()Z" deprecated="15" />
+		<method name="getSecurityContext()Ljava/lang/Object;" />
+		<method name="getThreadGroup()Ljava/lang/ThreadGroup;" />
+		<method name="inClass(Ljava/lang/String;)Z" deprecated="15" />
+		<method name="inClassLoader()Z" deprecated="15" />
+		<field name="inCheck" deprecated="15" />
+	</class>
+	<class name="java/lang/Short" since="1">
+		<extends name="java/lang/Number" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="31" />
+		<method name="&lt;init&gt;(S)V" deprecated="31" />
+		<method name="compare(SS)I" since="19" />
+		<method name="compareTo(Ljava/lang/Short;)I" />
+		<method name="compareUnsigned(SS)I" since="31" />
+		<method name="decode(Ljava/lang/String;)Ljava/lang/Short;" />
+		<method name="hashCode(S)I" since="24" />
+		<method name="parseShort(Ljava/lang/String;)S" />
+		<method name="parseShort(Ljava/lang/String;I)S" />
+		<method name="reverseBytes(S)S" />
+		<method name="toString(S)Ljava/lang/String;" />
+		<method name="toUnsignedInt(S)I" since="26" />
+		<method name="toUnsignedLong(S)J" since="26" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Short;" />
+		<method name="valueOf(Ljava/lang/String;I)Ljava/lang/Short;" />
+		<method name="valueOf(S)Ljava/lang/Short;" />
+		<field name="BYTES" since="24" />
+		<field name="MAX_VALUE" />
+		<field name="MIN_VALUE" />
+		<field name="SIZE" />
+		<field name="TYPE" />
+	</class>
+	<class name="java/lang/StackOverflowError" since="1">
+		<extends name="java/lang/VirtualMachineError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/StackTraceElement" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="getClassName()Ljava/lang/String;" />
+		<method name="getFileName()Ljava/lang/String;" />
+		<method name="getLineNumber()I" />
+		<method name="getMethodName()Ljava/lang/String;" />
+		<method name="isNativeMethod()Z" />
+	</class>
+	<class name="java/lang/StrictMath" since="1">
+		<extends name="java/lang/Object" />
+		<method name="IEEEremainder(DD)D" />
+		<method name="abs(D)D" />
+		<method name="abs(F)F" />
+		<method name="abs(I)I" />
+		<method name="abs(J)J" />
+		<method name="acos(D)D" />
+		<method name="addExact(II)I" since="24" />
+		<method name="addExact(JJ)J" since="24" />
+		<method name="asin(D)D" />
+		<method name="atan(D)D" />
+		<method name="atan2(DD)D" />
+		<method name="cbrt(D)D" />
+		<method name="ceil(D)D" />
+		<method name="copySign(DD)D" since="9" />
+		<method name="copySign(FF)F" since="9" />
+		<method name="cos(D)D" />
+		<method name="cosh(D)D" />
+		<method name="exp(D)D" />
+		<method name="expm1(D)D" />
+		<method name="floor(D)D" />
+		<method name="floorDiv(II)I" since="24" />
+		<method name="floorDiv(JI)J" since="31" />
+		<method name="floorDiv(JJ)J" since="24" />
+		<method name="floorMod(II)I" since="24" />
+		<method name="floorMod(JI)I" since="31" />
+		<method name="floorMod(JJ)J" since="24" />
+		<method name="getExponent(D)I" since="9" />
+		<method name="getExponent(F)I" since="9" />
+		<method name="hypot(DD)D" />
+		<method name="log(D)D" />
+		<method name="log10(D)D" />
+		<method name="log1p(D)D" />
+		<method name="max(DD)D" />
+		<method name="max(FF)F" />
+		<method name="max(II)I" />
+		<method name="max(JJ)J" />
+		<method name="min(DD)D" />
+		<method name="min(FF)F" />
+		<method name="min(II)I" />
+		<method name="min(JJ)J" />
+		<method name="multiplyExact(II)I" since="24" />
+		<method name="multiplyExact(JI)J" since="31" />
+		<method name="multiplyExact(JJ)J" since="24" />
+		<method name="multiplyFull(II)J" since="31" />
+		<method name="multiplyHigh(JJ)J" since="31" />
+		<method name="nextAfter(DD)D" since="9" />
+		<method name="nextAfter(FD)F" since="9" />
+		<method name="nextDown(D)D" since="24" />
+		<method name="nextDown(F)F" since="24" />
+		<method name="nextUp(D)D" since="9" />
+		<method name="nextUp(F)F" since="9" />
+		<method name="pow(DD)D" />
+		<method name="random()D" />
+		<method name="rint(D)D" />
+		<method name="round(D)J" />
+		<method name="round(F)I" />
+		<method name="scalb(DI)D" since="9" />
+		<method name="scalb(FI)F" since="9" />
+		<method name="signum(D)D" />
+		<method name="signum(F)F" />
+		<method name="sin(D)D" />
+		<method name="sinh(D)D" />
+		<method name="sqrt(D)D" />
+		<method name="subtractExact(II)I" since="24" />
+		<method name="subtractExact(JJ)J" since="24" />
+		<method name="tan(D)D" />
+		<method name="tanh(D)D" />
+		<method name="toDegrees(D)D" />
+		<method name="toIntExact(J)I" since="24" />
+		<method name="toRadians(D)D" />
+		<method name="ulp(D)D" />
+		<method name="ulp(F)F" />
+		<field name="E" />
+		<field name="PI" />
+	</class>
+	<class name="java/lang/String" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/CharSequence" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/StringBuffer;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/StringBuilder;)V" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="&lt;init&gt;([BI)V" deprecated="15" />
+		<method name="&lt;init&gt;([BII)V" />
+		<method name="&lt;init&gt;([BIII)V" deprecated="15" />
+		<method name="&lt;init&gt;([BIILjava/lang/String;)V" />
+		<method name="&lt;init&gt;([BIILjava/nio/charset/Charset;)V" since="9" />
+		<method name="&lt;init&gt;([BLjava/lang/String;)V" />
+		<method name="&lt;init&gt;([BLjava/nio/charset/Charset;)V" since="9" />
+		<method name="&lt;init&gt;([C)V" />
+		<method name="&lt;init&gt;([CII)V" />
+		<method name="&lt;init&gt;([III)V" />
+		<method name="codePointAt(I)I" />
+		<method name="codePointBefore(I)I" />
+		<method name="codePointCount(II)I" />
+		<method name="compareTo(Ljava/lang/String;)I" />
+		<method name="compareToIgnoreCase(Ljava/lang/String;)I" />
+		<method name="concat(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="contains(Ljava/lang/CharSequence;)Z" />
+		<method name="contentEquals(Ljava/lang/CharSequence;)Z" />
+		<method name="contentEquals(Ljava/lang/StringBuffer;)Z" />
+		<method name="copyValueOf([C)Ljava/lang/String;" />
+		<method name="copyValueOf([CII)Ljava/lang/String;" />
+		<method name="endsWith(Ljava/lang/String;)Z" />
+		<method name="equalsIgnoreCase(Ljava/lang/String;)Z" />
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="getBytes()[B" />
+		<method name="getBytes(II[BI)V" deprecated="15" />
+		<method name="getBytes(Ljava/lang/String;)[B" />
+		<method name="getBytes(Ljava/nio/charset/Charset;)[B" since="9" />
+		<method name="getChars(II[CI)V" />
+		<method name="indexOf(I)I" />
+		<method name="indexOf(II)I" />
+		<method name="indexOf(Ljava/lang/String;)I" />
+		<method name="indexOf(Ljava/lang/String;I)I" />
+		<method name="intern()Ljava/lang/String;" />
+		<method name="isEmpty()Z" since="9" />
+		<method name="join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;" since="26" />
+		<method name="join(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;" since="26" />
+		<method name="lastIndexOf(I)I" />
+		<method name="lastIndexOf(II)I" />
+		<method name="lastIndexOf(Ljava/lang/String;)I" />
+		<method name="lastIndexOf(Ljava/lang/String;I)I" />
+		<method name="matches(Ljava/lang/String;)Z" />
+		<method name="offsetByCodePoints(II)I" />
+		<method name="regionMatches(ILjava/lang/String;II)Z" />
+		<method name="regionMatches(ZILjava/lang/String;II)Z" />
+		<method name="replace(CC)Ljava/lang/String;" />
+		<method name="replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;" />
+		<method name="replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="split(Ljava/lang/String;)[Ljava/lang/String;" />
+		<method name="split(Ljava/lang/String;I)[Ljava/lang/String;" />
+		<method name="startsWith(Ljava/lang/String;)Z" />
+		<method name="startsWith(Ljava/lang/String;I)Z" />
+		<method name="substring(I)Ljava/lang/String;" />
+		<method name="substring(II)Ljava/lang/String;" />
+		<method name="toCharArray()[C" />
+		<method name="toLowerCase()Ljava/lang/String;" />
+		<method name="toLowerCase(Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="toUpperCase()Ljava/lang/String;" />
+		<method name="toUpperCase(Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="trim()Ljava/lang/String;" />
+		<method name="valueOf(C)Ljava/lang/String;" />
+		<method name="valueOf(D)Ljava/lang/String;" />
+		<method name="valueOf(F)Ljava/lang/String;" />
+		<method name="valueOf(I)Ljava/lang/String;" />
+		<method name="valueOf(J)Ljava/lang/String;" />
+		<method name="valueOf(Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="valueOf(Z)Ljava/lang/String;" />
+		<method name="valueOf([C)Ljava/lang/String;" />
+		<method name="valueOf([CII)Ljava/lang/String;" />
+		<field name="CASE_INSENSITIVE_ORDER" />
+	</class>
+	<class name="java/lang/StringBuffer" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Appendable" />
+		<implements name="java/lang/CharSequence" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="append(C)Ljava/lang/StringBuffer;" />
+		<method name="append(D)Ljava/lang/StringBuffer;" />
+		<method name="append(F)Ljava/lang/StringBuffer;" />
+		<method name="append(I)Ljava/lang/StringBuffer;" />
+		<method name="append(J)Ljava/lang/StringBuffer;" />
+		<method name="append(Ljava/lang/CharSequence;)Ljava/lang/StringBuffer;" />
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuffer;" />
+		<method name="append(Ljava/lang/Object;)Ljava/lang/StringBuffer;" />
+		<method name="append(Ljava/lang/String;)Ljava/lang/StringBuffer;" />
+		<method name="append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;" />
+		<method name="append(Z)Ljava/lang/StringBuffer;" />
+		<method name="append([C)Ljava/lang/StringBuffer;" />
+		<method name="append([CII)Ljava/lang/StringBuffer;" />
+		<method name="appendCodePoint(I)Ljava/lang/StringBuffer;" />
+		<method name="delete(II)Ljava/lang/StringBuffer;" />
+		<method name="deleteCharAt(I)Ljava/lang/StringBuffer;" />
+		<method name="insert(IC)Ljava/lang/StringBuffer;" />
+		<method name="insert(ID)Ljava/lang/StringBuffer;" />
+		<method name="insert(IF)Ljava/lang/StringBuffer;" />
+		<method name="insert(II)Ljava/lang/StringBuffer;" />
+		<method name="insert(IJ)Ljava/lang/StringBuffer;" />
+		<method name="insert(ILjava/lang/CharSequence;)Ljava/lang/StringBuffer;" />
+		<method name="insert(ILjava/lang/CharSequence;II)Ljava/lang/StringBuffer;" />
+		<method name="insert(ILjava/lang/Object;)Ljava/lang/StringBuffer;" />
+		<method name="insert(ILjava/lang/String;)Ljava/lang/StringBuffer;" />
+		<method name="insert(IZ)Ljava/lang/StringBuffer;" />
+		<method name="insert(I[C)Ljava/lang/StringBuffer;" />
+		<method name="insert(I[CII)Ljava/lang/StringBuffer;" />
+		<method name="replace(IILjava/lang/String;)Ljava/lang/StringBuffer;" />
+		<method name="reverse()Ljava/lang/StringBuffer;" />
+	</class>
+	<class name="java/lang/StringBuilder" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Appendable" />
+		<implements name="java/lang/CharSequence" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="append(C)Ljava/lang/StringBuilder;" />
+		<method name="append(D)Ljava/lang/StringBuilder;" />
+		<method name="append(F)Ljava/lang/StringBuilder;" />
+		<method name="append(I)Ljava/lang/StringBuilder;" />
+		<method name="append(J)Ljava/lang/StringBuilder;" />
+		<method name="append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;" />
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;" />
+		<method name="append(Ljava/lang/Object;)Ljava/lang/StringBuilder;" />
+		<method name="append(Ljava/lang/String;)Ljava/lang/StringBuilder;" />
+		<method name="append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuilder;" />
+		<method name="append(Z)Ljava/lang/StringBuilder;" />
+		<method name="append([C)Ljava/lang/StringBuilder;" />
+		<method name="append([CII)Ljava/lang/StringBuilder;" />
+		<method name="appendCodePoint(I)Ljava/lang/StringBuilder;" />
+		<method name="delete(II)Ljava/lang/StringBuilder;" />
+		<method name="deleteCharAt(I)Ljava/lang/StringBuilder;" />
+		<method name="insert(IC)Ljava/lang/StringBuilder;" />
+		<method name="insert(ID)Ljava/lang/StringBuilder;" />
+		<method name="insert(IF)Ljava/lang/StringBuilder;" />
+		<method name="insert(II)Ljava/lang/StringBuilder;" />
+		<method name="insert(IJ)Ljava/lang/StringBuilder;" />
+		<method name="insert(ILjava/lang/CharSequence;)Ljava/lang/StringBuilder;" />
+		<method name="insert(ILjava/lang/CharSequence;II)Ljava/lang/StringBuilder;" />
+		<method name="insert(ILjava/lang/Object;)Ljava/lang/StringBuilder;" />
+		<method name="insert(ILjava/lang/String;)Ljava/lang/StringBuilder;" />
+		<method name="insert(IZ)Ljava/lang/StringBuilder;" />
+		<method name="insert(I[C)Ljava/lang/StringBuilder;" />
+		<method name="insert(I[CII)Ljava/lang/StringBuilder;" />
+		<method name="replace(IILjava/lang/String;)Ljava/lang/StringBuilder;" />
+		<method name="reverse()Ljava/lang/StringBuilder;" />
+	</class>
+	<class name="java/lang/StringIndexOutOfBoundsException" since="1">
+		<extends name="java/lang/IndexOutOfBoundsException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/SuppressWarnings" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="value()[Ljava/lang/String;" />
+	</class>
+	<class name="java/lang/System" since="1">
+		<extends name="java/lang/Object" />
+		<method name="arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V" />
+		<method name="clearProperty(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="console()Ljava/io/Console;" since="9" />
+		<method name="currentTimeMillis()J" />
+		<method name="exit(I)V" />
+		<method name="gc()V" />
+		<method name="getProperties()Ljava/util/Properties;" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getSecurityManager()Ljava/lang/SecurityManager;" />
+		<method name="getenv()Ljava/util/Map;" />
+		<method name="getenv(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="identityHashCode(Ljava/lang/Object;)I" />
+		<method name="inheritedChannel()Ljava/nio/channels/Channel;" />
+		<method name="lineSeparator()Ljava/lang/String;" since="19" />
+		<method name="load(Ljava/lang/String;)V" />
+		<method name="loadLibrary(Ljava/lang/String;)V" />
+		<method name="mapLibraryName(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="nanoTime()J" />
+		<method name="runFinalization()V" />
+		<method name="runFinalizersOnExit(Z)V" deprecated="15" />
+		<method name="setErr(Ljava/io/PrintStream;)V" />
+		<method name="setIn(Ljava/io/InputStream;)V" />
+		<method name="setOut(Ljava/io/PrintStream;)V" />
+		<method name="setProperties(Ljava/util/Properties;)V" />
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="setSecurityManager(Ljava/lang/SecurityManager;)V" />
+		<field name="err" />
+		<field name="in" />
+		<field name="out" />
+	</class>
+	<class name="java/lang/Thread" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Runnable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Runnable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Runnable;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V" />
+		<method name="&lt;init&gt;(Ljava/lang/ThreadGroup;Ljava/lang/String;)V" />
+		<method name="activeCount()I" />
+		<method name="checkAccess()V" />
+		<method name="countStackFrames()I" deprecated="15" />
+		<method name="currentThread()Ljava/lang/Thread;" />
+		<method name="destroy()V" deprecated="15" />
+		<method name="dumpStack()V" />
+		<method name="enumerate([Ljava/lang/Thread;)I" />
+		<method name="getAllStackTraces()Ljava/util/Map;" />
+		<method name="getContextClassLoader()Ljava/lang/ClassLoader;" />
+		<method name="getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;" />
+		<method name="getId()J" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPriority()I" />
+		<method name="getStackTrace()[Ljava/lang/StackTraceElement;" />
+		<method name="getState()Ljava/lang/Thread$State;" />
+		<method name="getThreadGroup()Ljava/lang/ThreadGroup;" />
+		<method name="getUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;" />
+		<method name="holdsLock(Ljava/lang/Object;)Z" />
+		<method name="interrupt()V" />
+		<method name="interrupted()Z" />
+		<method name="isAlive()Z" />
+		<method name="isDaemon()Z" />
+		<method name="isInterrupted()Z" />
+		<method name="join()V" />
+		<method name="join(J)V" />
+		<method name="join(JI)V" />
+		<method name="resume()V" deprecated="15" />
+		<method name="setContextClassLoader(Ljava/lang/ClassLoader;)V" />
+		<method name="setDaemon(Z)V" />
+		<method name="setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V" />
+		<method name="setName(Ljava/lang/String;)V" />
+		<method name="setPriority(I)V" />
+		<method name="setUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V" />
+		<method name="sleep(J)V" />
+		<method name="sleep(JI)V" />
+		<method name="start()V" />
+		<method name="stop()V" deprecated="15" />
+		<method name="stop(Ljava/lang/Throwable;)V" deprecated="15" />
+		<method name="suspend()V" deprecated="15" />
+		<method name="yield()V" />
+		<field name="MAX_PRIORITY" />
+		<field name="MIN_PRIORITY" />
+		<field name="NORM_PRIORITY" />
+	</class>
+	<class name="java/lang/Thread$State" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Thread$State;" />
+		<method name="values()[Ljava/lang/Thread$State;" />
+		<field name="BLOCKED" />
+		<field name="NEW" />
+		<field name="RUNNABLE" />
+		<field name="TERMINATED" />
+		<field name="TIMED_WAITING" />
+		<field name="WAITING" />
+	</class>
+	<class name="java/lang/Thread$UncaughtExceptionHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/ThreadDeath" since="1">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/lang/ThreadGroup" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Thread$UncaughtExceptionHandler" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/ThreadGroup;Ljava/lang/String;)V" />
+		<method name="activeCount()I" />
+		<method name="activeGroupCount()I" />
+		<method name="allowThreadSuspension(Z)Z" deprecated="15" />
+		<method name="checkAccess()V" />
+		<method name="destroy()V" />
+		<method name="enumerate([Ljava/lang/Thread;)I" />
+		<method name="enumerate([Ljava/lang/Thread;Z)I" />
+		<method name="enumerate([Ljava/lang/ThreadGroup;)I" />
+		<method name="enumerate([Ljava/lang/ThreadGroup;Z)I" />
+		<method name="getMaxPriority()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getParent()Ljava/lang/ThreadGroup;" />
+		<method name="interrupt()V" />
+		<method name="isDaemon()Z" />
+		<method name="isDestroyed()Z" />
+		<method name="list()V" />
+		<method name="parentOf(Ljava/lang/ThreadGroup;)Z" />
+		<method name="resume()V" deprecated="15" />
+		<method name="setDaemon(Z)V" />
+		<method name="setMaxPriority(I)V" />
+		<method name="stop()V" deprecated="15" />
+		<method name="suspend()V" deprecated="15" />
+	</class>
+	<class name="java/lang/ThreadLocal" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="get()Ljava/lang/Object;" />
+		<method name="initialValue()Ljava/lang/Object;" />
+		<method name="remove()V" />
+		<method name="set(Ljava/lang/Object;)V" />
+		<method name="withInitial(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;" since="26" />
+	</class>
+	<class name="java/lang/Throwable" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V" since="19" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+		<method name="addSuppressed(Ljava/lang/Throwable;)V" since="19" />
+		<method name="fillInStackTrace()Ljava/lang/Throwable;" />
+		<method name="getCause()Ljava/lang/Throwable;" />
+		<method name="getLocalizedMessage()Ljava/lang/String;" />
+		<method name="getMessage()Ljava/lang/String;" />
+		<method name="getStackTrace()[Ljava/lang/StackTraceElement;" />
+		<method name="getSuppressed()[Ljava/lang/Throwable;" since="19" />
+		<method name="initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;" />
+		<method name="printStackTrace()V" />
+		<method name="printStackTrace(Ljava/io/PrintStream;)V" />
+		<method name="printStackTrace(Ljava/io/PrintWriter;)V" />
+		<method name="setStackTrace([Ljava/lang/StackTraceElement;)V" />
+	</class>
+	<class name="java/lang/TypeNotPresentException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="typeName()Ljava/lang/String;" />
+	</class>
+	<class name="java/lang/UnknownError" since="1">
+		<extends name="java/lang/VirtualMachineError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/UnsatisfiedLinkError" since="1">
+		<extends name="java/lang/LinkageError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/UnsupportedClassVersionError" since="1">
+		<extends name="java/lang/ClassFormatError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/UnsupportedOperationException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/VerifyError" since="1">
+		<extends name="java/lang/LinkageError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/VirtualMachineError" since="1">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" since="24" />
+	</class>
+	<class name="java/lang/Void" since="1">
+		<extends name="java/lang/Object" />
+		<field name="TYPE" />
+	</class>
+	<class name="java/lang/annotation/Annotation" since="1">
+		<extends name="java/lang/Object" />
+		<method name="annotationType()Ljava/lang/Class;" />
+	</class>
+	<class name="java/lang/annotation/AnnotationFormatError" since="1">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/annotation/AnnotationTypeMismatchException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/reflect/Method;Ljava/lang/String;)V" />
+		<method name="element()Ljava/lang/reflect/Method;" />
+		<method name="foundType()Ljava/lang/String;" />
+	</class>
+	<class name="java/lang/annotation/Documented" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="java/lang/annotation/ElementType" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/annotation/ElementType;" />
+		<method name="values()[Ljava/lang/annotation/ElementType;" />
+		<field name="ANNOTATION_TYPE" />
+		<field name="CONSTRUCTOR" />
+		<field name="FIELD" />
+		<field name="LOCAL_VARIABLE" />
+		<field name="METHOD" />
+		<field name="MODULE" since="31" />
+		<field name="PACKAGE" />
+		<field name="PARAMETER" />
+		<field name="TYPE" />
+		<field name="TYPE_PARAMETER" since="26" />
+		<field name="TYPE_USE" since="26" />
+	</class>
+	<class name="java/lang/annotation/IncompleteAnnotationException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;Ljava/lang/String;)V" />
+		<method name="annotationType()Ljava/lang/Class;" />
+		<method name="elementName()Ljava/lang/String;" />
+	</class>
+	<class name="java/lang/annotation/Inherited" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="java/lang/annotation/Native" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+	</class>
+	<class name="java/lang/annotation/Repeatable" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="value()Ljava/lang/Class;" />
+	</class>
+	<class name="java/lang/annotation/Retention" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="value()Ljava/lang/annotation/RetentionPolicy;" />
+	</class>
+	<class name="java/lang/annotation/RetentionPolicy" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/annotation/RetentionPolicy;" />
+		<method name="values()[Ljava/lang/annotation/RetentionPolicy;" />
+		<field name="CLASS" />
+		<field name="RUNTIME" />
+		<field name="SOURCE" />
+	</class>
+	<class name="java/lang/annotation/Target" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/annotation/Annotation" />
+		<method name="value()[Ljava/lang/annotation/ElementType;" />
+	</class>
+	<class name="java/lang/invoke/CallSite" since="26">
+		<extends name="java/lang/Object" />
+		<method name="dynamicInvoker()Ljava/lang/invoke/MethodHandle;" />
+		<method name="getTarget()Ljava/lang/invoke/MethodHandle;" />
+		<method name="setTarget(Ljava/lang/invoke/MethodHandle;)V" />
+		<method name="type()Ljava/lang/invoke/MethodType;" />
+	</class>
+	<class name="java/lang/invoke/ConstantCallSite" since="26">
+		<extends name="java/lang/invoke/CallSite" />
+		<method name="&lt;init&gt;(Ljava/lang/invoke/MethodHandle;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)V" />
+	</class>
+	<class name="java/lang/invoke/LambdaConversionException" since="26">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/lang/invoke/MethodHandle" since="26">
+		<extends name="java/lang/Object" />
+		<method name="asCollector(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;" />
+		<method name="asFixedArity()Ljava/lang/invoke/MethodHandle;" />
+		<method name="asSpreader(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;" />
+		<method name="asType(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="asVarargsCollector(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="bindTo(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="invoke([Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="invokeExact([Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="invokeWithArguments(Ljava/util/List;)Ljava/lang/Object;" />
+		<method name="invokeWithArguments([Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="isVarargsCollector()Z" />
+		<method name="type()Ljava/lang/invoke/MethodType;" />
+	</class>
+	<class name="java/lang/invoke/MethodHandleInfo" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getDeclaringClass()Ljava/lang/Class;" />
+		<method name="getMethodType()Ljava/lang/invoke/MethodType;" />
+		<method name="getModifiers()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getReferenceKind()I" />
+		<method name="isVarArgs()Z" />
+		<method name="refKindIsField(I)Z" deprecated="29" />
+		<method name="refKindIsValid(I)Z" deprecated="29" />
+		<method name="refKindName(I)Ljava/lang/String;" deprecated="29" />
+		<method name="referenceKindToString(I)Ljava/lang/String;" />
+		<method name="reflectAs(Ljava/lang/Class;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/reflect/Member;" />
+		<method name="toString(ILjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;" />
+		<field name="REF_getField" />
+		<field name="REF_getStatic" />
+		<field name="REF_invokeInterface" />
+		<field name="REF_invokeSpecial" />
+		<field name="REF_invokeStatic" />
+		<field name="REF_invokeVirtual" />
+		<field name="REF_newInvokeSpecial" />
+		<field name="REF_putField" />
+		<field name="REF_putStatic" />
+	</class>
+	<class name="java/lang/invoke/MethodHandles" since="26">
+		<extends name="java/lang/Object" />
+		<method name="arrayElementGetter(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="arrayElementSetter(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="catchException(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="collectArguments(Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="constant(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="dropArguments(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="dropArguments(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="exactInvoker(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="explicitCastArguments(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="filterArguments(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="filterReturnValue(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="foldArguments(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="guardWithTest(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="identity(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="insertArguments(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="invoker(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="lookup()Ljava/lang/invoke/MethodHandles$Lookup;" />
+		<method name="permuteArguments(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;[I)Ljava/lang/invoke/MethodHandle;" />
+		<method name="publicLookup()Ljava/lang/invoke/MethodHandles$Lookup;" />
+		<method name="reflectAs(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/reflect/Member;" />
+		<method name="spreadInvoker(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/MethodHandle;" />
+		<method name="throwException(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+	</class>
+	<class name="java/lang/invoke/MethodHandles$Lookup" since="26">
+		<extends name="java/lang/Object" />
+		<method name="bind(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="findConstructor(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="findGetter(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="findSetter(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="findSpecial(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="findStatic(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="findStaticGetter(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="findStaticSetter(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="findVirtual(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="in(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandles$Lookup;" />
+		<method name="lookupClass()Ljava/lang/Class;" />
+		<method name="lookupModes()I" />
+		<method name="revealDirect(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandleInfo;" />
+		<method name="unreflect(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="unreflectConstructor(Ljava/lang/reflect/Constructor;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="unreflectGetter(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="unreflectSetter(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;" />
+		<method name="unreflectSpecial(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;" />
+		<field name="PACKAGE" />
+		<field name="PRIVATE" />
+		<field name="PROTECTED" />
+		<field name="PUBLIC" />
+	</class>
+	<class name="java/lang/invoke/MethodType" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="appendParameterTypes(Ljava/util/List;)Ljava/lang/invoke/MethodType;" />
+		<method name="appendParameterTypes([Ljava/lang/Class;)Ljava/lang/invoke/MethodType;" />
+		<method name="changeParameterType(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;" />
+		<method name="changeReturnType(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;" />
+		<method name="dropParameterTypes(II)Ljava/lang/invoke/MethodType;" />
+		<method name="erase()Ljava/lang/invoke/MethodType;" />
+		<method name="fromMethodDescriptorString(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/invoke/MethodType;" />
+		<method name="generic()Ljava/lang/invoke/MethodType;" />
+		<method name="genericMethodType(I)Ljava/lang/invoke/MethodType;" />
+		<method name="genericMethodType(IZ)Ljava/lang/invoke/MethodType;" />
+		<method name="hasPrimitives()Z" />
+		<method name="hasWrappers()Z" />
+		<method name="insertParameterTypes(ILjava/util/List;)Ljava/lang/invoke/MethodType;" />
+		<method name="insertParameterTypes(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;" />
+		<method name="methodType(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;" />
+		<method name="methodType(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;" />
+		<method name="methodType(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;" />
+		<method name="methodType(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;" />
+		<method name="methodType(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodType;" />
+		<method name="methodType(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;" />
+		<method name="parameterArray()[Ljava/lang/Class;" />
+		<method name="parameterCount()I" />
+		<method name="parameterList()Ljava/util/List;" />
+		<method name="parameterType(I)Ljava/lang/Class;" />
+		<method name="returnType()Ljava/lang/Class;" />
+		<method name="toMethodDescriptorString()Ljava/lang/String;" />
+		<method name="unwrap()Ljava/lang/invoke/MethodType;" />
+		<method name="wrap()Ljava/lang/invoke/MethodType;" />
+	</class>
+	<class name="java/lang/invoke/MutableCallSite" since="26">
+		<extends name="java/lang/invoke/CallSite" />
+		<method name="&lt;init&gt;(Ljava/lang/invoke/MethodHandle;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/invoke/MethodType;)V" />
+	</class>
+	<class name="java/lang/invoke/VolatileCallSite" since="26">
+		<extends name="java/lang/invoke/CallSite" />
+		<method name="&lt;init&gt;(Ljava/lang/invoke/MethodHandle;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/invoke/MethodType;)V" />
+	</class>
+	<class name="java/lang/invoke/WrongMethodTypeException" since="26">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/ref/PhantomReference" since="1">
+		<extends name="java/lang/ref/Reference" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V" />
+	</class>
+	<class name="java/lang/ref/Reference" since="1">
+		<extends name="java/lang/Object" />
+		<method name="clear()V" />
+		<method name="enqueue()Z" />
+		<method name="get()Ljava/lang/Object;" />
+		<method name="isEnqueued()Z" deprecated="31" />
+		<method name="reachabilityFence(Ljava/lang/Object;)V" since="28" />
+	</class>
+	<class name="java/lang/ref/ReferenceQueue" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="poll()Ljava/lang/ref/Reference;" />
+		<method name="remove()Ljava/lang/ref/Reference;" />
+		<method name="remove(J)Ljava/lang/ref/Reference;" />
+	</class>
+	<class name="java/lang/ref/SoftReference" since="1">
+		<extends name="java/lang/ref/Reference" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V" />
+	</class>
+	<class name="java/lang/ref/WeakReference" since="1">
+		<extends name="java/lang/ref/Reference" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V" />
+	</class>
+	<class name="java/lang/reflect/AccessibleObject" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/reflect/AnnotatedElement" />
+		<method name="&lt;init&gt;()V" />
+		<method name="isAccessible()Z" />
+		<method name="setAccessible(Z)V" />
+		<method name="setAccessible([Ljava/lang/reflect/AccessibleObject;Z)V" />
+	</class>
+	<class name="java/lang/reflect/AnnotatedElement" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;" />
+		<method name="getAnnotations()[Ljava/lang/annotation/Annotation;" />
+		<method name="getAnnotationsByType(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;" since="24" />
+		<method name="getDeclaredAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;" since="24" />
+		<method name="getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;" />
+		<method name="getDeclaredAnnotationsByType(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;" since="24" />
+		<method name="isAnnotationPresent(Ljava/lang/Class;)Z" />
+	</class>
+	<class name="java/lang/reflect/Array" since="1">
+		<extends name="java/lang/Object" />
+		<method name="get(Ljava/lang/Object;I)Ljava/lang/Object;" />
+		<method name="getBoolean(Ljava/lang/Object;I)Z" />
+		<method name="getByte(Ljava/lang/Object;I)B" />
+		<method name="getChar(Ljava/lang/Object;I)C" />
+		<method name="getDouble(Ljava/lang/Object;I)D" />
+		<method name="getFloat(Ljava/lang/Object;I)F" />
+		<method name="getInt(Ljava/lang/Object;I)I" />
+		<method name="getLength(Ljava/lang/Object;)I" />
+		<method name="getLong(Ljava/lang/Object;I)J" />
+		<method name="getShort(Ljava/lang/Object;I)S" />
+		<method name="newInstance(Ljava/lang/Class;I)Ljava/lang/Object;" />
+		<method name="newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;" />
+		<method name="set(Ljava/lang/Object;ILjava/lang/Object;)V" />
+		<method name="setBoolean(Ljava/lang/Object;IZ)V" />
+		<method name="setByte(Ljava/lang/Object;IB)V" />
+		<method name="setChar(Ljava/lang/Object;IC)V" />
+		<method name="setDouble(Ljava/lang/Object;ID)V" />
+		<method name="setFloat(Ljava/lang/Object;IF)V" />
+		<method name="setInt(Ljava/lang/Object;II)V" />
+		<method name="setLong(Ljava/lang/Object;IJ)V" />
+		<method name="setShort(Ljava/lang/Object;IS)V" />
+	</class>
+	<class name="java/lang/reflect/Constructor" since="1">
+		<extends name="java/lang/reflect/AccessibleObject" removed="26" />
+		<extends name="java/lang/reflect/Executable" since="26" />
+		<implements name="java/lang/reflect/GenericDeclaration" removed="26" />
+		<implements name="java/lang/reflect/Member" removed="26" />
+		<method name="getExceptionTypes()[Ljava/lang/Class;" />
+		<method name="getGenericExceptionTypes()[Ljava/lang/reflect/Type;" />
+		<method name="getGenericParameterTypes()[Ljava/lang/reflect/Type;" />
+		<method name="getParameterAnnotations()[[Ljava/lang/annotation/Annotation;" />
+		<method name="getParameterTypes()[Ljava/lang/Class;" />
+		<method name="isVarArgs()Z" />
+		<method name="newInstance([Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="toGenericString()Ljava/lang/String;" />
+	</class>
+	<class name="java/lang/reflect/Executable" since="26">
+		<extends name="java/lang/reflect/AccessibleObject" />
+		<implements name="java/lang/reflect/GenericDeclaration" />
+		<implements name="java/lang/reflect/Member" />
+		<method name="getExceptionTypes()[Ljava/lang/Class;" />
+		<method name="getGenericExceptionTypes()[Ljava/lang/reflect/Type;" />
+		<method name="getGenericParameterTypes()[Ljava/lang/reflect/Type;" />
+		<method name="getParameterAnnotations()[[Ljava/lang/annotation/Annotation;" />
+		<method name="getParameterCount()I" />
+		<method name="getParameterTypes()[Ljava/lang/Class;" />
+		<method name="getParameters()[Ljava/lang/reflect/Parameter;" />
+		<method name="isVarArgs()Z" />
+		<method name="toGenericString()Ljava/lang/String;" />
+	</class>
+	<class name="java/lang/reflect/Field" since="1">
+		<extends name="java/lang/reflect/AccessibleObject" />
+		<implements name="java/lang/reflect/Member" />
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="getBoolean(Ljava/lang/Object;)Z" />
+		<method name="getByte(Ljava/lang/Object;)B" />
+		<method name="getChar(Ljava/lang/Object;)C" />
+		<method name="getDouble(Ljava/lang/Object;)D" />
+		<method name="getFloat(Ljava/lang/Object;)F" />
+		<method name="getGenericType()Ljava/lang/reflect/Type;" />
+		<method name="getInt(Ljava/lang/Object;)I" />
+		<method name="getLong(Ljava/lang/Object;)J" />
+		<method name="getShort(Ljava/lang/Object;)S" />
+		<method name="getType()Ljava/lang/Class;" />
+		<method name="isEnumConstant()Z" />
+		<method name="set(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="setBoolean(Ljava/lang/Object;Z)V" />
+		<method name="setByte(Ljava/lang/Object;B)V" />
+		<method name="setChar(Ljava/lang/Object;C)V" />
+		<method name="setDouble(Ljava/lang/Object;D)V" />
+		<method name="setFloat(Ljava/lang/Object;F)V" />
+		<method name="setInt(Ljava/lang/Object;I)V" />
+		<method name="setLong(Ljava/lang/Object;J)V" />
+		<method name="setShort(Ljava/lang/Object;S)V" />
+		<method name="toGenericString()Ljava/lang/String;" />
+	</class>
+	<class name="java/lang/reflect/GenericArrayType" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/reflect/Type" />
+		<method name="getGenericComponentType()Ljava/lang/reflect/Type;" />
+	</class>
+	<class name="java/lang/reflect/GenericDeclaration" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/reflect/AnnotatedElement" since="26" />
+		<method name="getTypeParameters()[Ljava/lang/reflect/TypeVariable;" />
+	</class>
+	<class name="java/lang/reflect/GenericSignatureFormatError" since="1">
+		<extends name="java/lang/ClassFormatError" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" since="26" />
+	</class>
+	<class name="java/lang/reflect/InvocationHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/lang/reflect/InvocationTargetException" since="1">
+		<extends name="java/lang/Exception" removed="19" />
+		<extends name="java/lang/ReflectiveOperationException" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;Ljava/lang/String;)V" />
+		<method name="getTargetException()Ljava/lang/Throwable;" />
+	</class>
+	<class name="java/lang/reflect/MalformedParameterizedTypeException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/lang/reflect/MalformedParametersException" since="28">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/reflect/Member" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getDeclaringClass()Ljava/lang/Class;" />
+		<method name="getModifiers()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="isSynthetic()Z" />
+		<field name="DECLARED" />
+		<field name="PUBLIC" />
+	</class>
+	<class name="java/lang/reflect/Method" since="1">
+		<extends name="java/lang/reflect/AccessibleObject" removed="26" />
+		<extends name="java/lang/reflect/Executable" since="26" />
+		<implements name="java/lang/reflect/GenericDeclaration" removed="26" />
+		<implements name="java/lang/reflect/Member" removed="26" />
+		<method name="getDefaultValue()Ljava/lang/Object;" />
+		<method name="getExceptionTypes()[Ljava/lang/Class;" />
+		<method name="getGenericExceptionTypes()[Ljava/lang/reflect/Type;" />
+		<method name="getGenericParameterTypes()[Ljava/lang/reflect/Type;" />
+		<method name="getGenericReturnType()Ljava/lang/reflect/Type;" />
+		<method name="getParameterAnnotations()[[Ljava/lang/annotation/Annotation;" />
+		<method name="getParameterTypes()[Ljava/lang/Class;" />
+		<method name="getReturnType()Ljava/lang/Class;" />
+		<method name="invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="isBridge()Z" />
+		<method name="isDefault()Z" since="24" />
+		<method name="isVarArgs()Z" />
+		<method name="toGenericString()Ljava/lang/String;" />
+	</class>
+	<class name="java/lang/reflect/Modifier" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="classModifiers()I" since="19" />
+		<method name="constructorModifiers()I" since="19" />
+		<method name="fieldModifiers()I" since="19" />
+		<method name="interfaceModifiers()I" since="19" />
+		<method name="isAbstract(I)Z" />
+		<method name="isFinal(I)Z" />
+		<method name="isInterface(I)Z" />
+		<method name="isNative(I)Z" />
+		<method name="isPrivate(I)Z" />
+		<method name="isProtected(I)Z" />
+		<method name="isPublic(I)Z" />
+		<method name="isStatic(I)Z" />
+		<method name="isStrict(I)Z" />
+		<method name="isSynchronized(I)Z" />
+		<method name="isTransient(I)Z" />
+		<method name="isVolatile(I)Z" />
+		<method name="methodModifiers()I" since="19" />
+		<method name="parameterModifiers()I" since="26" />
+		<method name="toString(I)Ljava/lang/String;" />
+		<field name="ABSTRACT" />
+		<field name="FINAL" />
+		<field name="INTERFACE" />
+		<field name="NATIVE" />
+		<field name="PRIVATE" />
+		<field name="PROTECTED" />
+		<field name="PUBLIC" />
+		<field name="STATIC" />
+		<field name="STRICT" />
+		<field name="SYNCHRONIZED" />
+		<field name="TRANSIENT" />
+		<field name="VOLATILE" />
+	</class>
+	<class name="java/lang/reflect/Parameter" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/reflect/AnnotatedElement" />
+		<method name="getDeclaringExecutable()Ljava/lang/reflect/Executable;" />
+		<method name="getModifiers()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getParameterizedType()Ljava/lang/reflect/Type;" />
+		<method name="getType()Ljava/lang/Class;" />
+		<method name="isImplicit()Z" />
+		<method name="isNamePresent()Z" />
+		<method name="isSynthetic()Z" />
+		<method name="isVarArgs()Z" />
+	</class>
+	<class name="java/lang/reflect/ParameterizedType" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/reflect/Type" />
+		<method name="getActualTypeArguments()[Ljava/lang/reflect/Type;" />
+		<method name="getOwnerType()Ljava/lang/reflect/Type;" />
+		<method name="getRawType()Ljava/lang/reflect/Type;" />
+	</class>
+	<class name="java/lang/reflect/Proxy" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/reflect/InvocationHandler;)V" />
+		<method name="getInvocationHandler(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;" />
+		<method name="getProxyClass(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;" />
+		<method name="isProxyClass(Ljava/lang/Class;)Z" />
+		<method name="newProxyInstance(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;" />
+		<field name="h" />
+	</class>
+	<class name="java/lang/reflect/ReflectPermission" since="1">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/lang/reflect/Type" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getTypeName()Ljava/lang/String;" since="28" />
+	</class>
+	<class name="java/lang/reflect/TypeVariable" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/reflect/Type" />
+		<method name="getBounds()[Ljava/lang/reflect/Type;" />
+		<method name="getGenericDeclaration()Ljava/lang/reflect/GenericDeclaration;" />
+		<method name="getName()Ljava/lang/String;" />
+	</class>
+	<class name="java/lang/reflect/UndeclaredThrowableException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;Ljava/lang/String;)V" />
+		<method name="getUndeclaredThrowable()Ljava/lang/Throwable;" />
+	</class>
+	<class name="java/lang/reflect/WildcardType" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/reflect/Type" />
+		<method name="getLowerBounds()[Ljava/lang/reflect/Type;" />
+		<method name="getUpperBounds()[Ljava/lang/reflect/Type;" />
+	</class>
+	<class name="java/math/BigDecimal" since="1">
+		<extends name="java/lang/Number" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(D)V" />
+		<method name="&lt;init&gt;(DLjava/math/MathContext;)V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/math/MathContext;)V" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="&lt;init&gt;(JLjava/math/MathContext;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/math/MathContext;)V" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;)V" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;I)V" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;ILjava/math/MathContext;)V" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/MathContext;)V" />
+		<method name="&lt;init&gt;([C)V" />
+		<method name="&lt;init&gt;([CII)V" />
+		<method name="&lt;init&gt;([CIILjava/math/MathContext;)V" />
+		<method name="&lt;init&gt;([CLjava/math/MathContext;)V" />
+		<method name="abs()Ljava/math/BigDecimal;" />
+		<method name="abs(Ljava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="add(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;" />
+		<method name="add(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="byteValueExact()B" />
+		<method name="compareTo(Ljava/math/BigDecimal;)I" />
+		<method name="divide(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;" />
+		<method name="divide(Ljava/math/BigDecimal;I)Ljava/math/BigDecimal;" />
+		<method name="divide(Ljava/math/BigDecimal;II)Ljava/math/BigDecimal;" />
+		<method name="divide(Ljava/math/BigDecimal;ILjava/math/RoundingMode;)Ljava/math/BigDecimal;" />
+		<method name="divide(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="divide(Ljava/math/BigDecimal;Ljava/math/RoundingMode;)Ljava/math/BigDecimal;" />
+		<method name="divideAndRemainder(Ljava/math/BigDecimal;)[Ljava/math/BigDecimal;" />
+		<method name="divideAndRemainder(Ljava/math/BigDecimal;Ljava/math/MathContext;)[Ljava/math/BigDecimal;" />
+		<method name="divideToIntegralValue(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;" />
+		<method name="divideToIntegralValue(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="intValueExact()I" />
+		<method name="longValueExact()J" />
+		<method name="max(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;" />
+		<method name="min(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;" />
+		<method name="movePointLeft(I)Ljava/math/BigDecimal;" />
+		<method name="movePointRight(I)Ljava/math/BigDecimal;" />
+		<method name="multiply(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;" />
+		<method name="multiply(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="negate()Ljava/math/BigDecimal;" />
+		<method name="negate(Ljava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="plus()Ljava/math/BigDecimal;" />
+		<method name="plus(Ljava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="pow(I)Ljava/math/BigDecimal;" />
+		<method name="pow(ILjava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="precision()I" />
+		<method name="remainder(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;" />
+		<method name="remainder(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="round(Ljava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="scale()I" />
+		<method name="scaleByPowerOfTen(I)Ljava/math/BigDecimal;" />
+		<method name="setScale(I)Ljava/math/BigDecimal;" />
+		<method name="setScale(II)Ljava/math/BigDecimal;" />
+		<method name="setScale(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;" />
+		<method name="shortValueExact()S" />
+		<method name="signum()I" />
+		<method name="stripTrailingZeros()Ljava/math/BigDecimal;" />
+		<method name="subtract(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;" />
+		<method name="subtract(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;" />
+		<method name="toBigInteger()Ljava/math/BigInteger;" />
+		<method name="toBigIntegerExact()Ljava/math/BigInteger;" />
+		<method name="toEngineeringString()Ljava/lang/String;" />
+		<method name="toPlainString()Ljava/lang/String;" />
+		<method name="ulp()Ljava/math/BigDecimal;" />
+		<method name="unscaledValue()Ljava/math/BigInteger;" />
+		<method name="valueOf(D)Ljava/math/BigDecimal;" />
+		<method name="valueOf(J)Ljava/math/BigDecimal;" />
+		<method name="valueOf(JI)Ljava/math/BigDecimal;" />
+		<field name="ONE" />
+		<field name="ROUND_CEILING" />
+		<field name="ROUND_DOWN" />
+		<field name="ROUND_FLOOR" />
+		<field name="ROUND_HALF_DOWN" />
+		<field name="ROUND_HALF_EVEN" />
+		<field name="ROUND_HALF_UP" />
+		<field name="ROUND_UNNECESSARY" />
+		<field name="ROUND_UP" />
+		<field name="TEN" />
+		<field name="ZERO" />
+	</class>
+	<class name="java/math/BigInteger" since="1">
+		<extends name="java/lang/Number" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(IILjava/util/Random;)V" />
+		<method name="&lt;init&gt;(ILjava/util/Random;)V" />
+		<method name="&lt;init&gt;(I[B)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="abs()Ljava/math/BigInteger;" />
+		<method name="add(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="and(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="andNot(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="bitCount()I" />
+		<method name="bitLength()I" />
+		<method name="byteValueExact()B" since="31" />
+		<method name="clearBit(I)Ljava/math/BigInteger;" />
+		<method name="compareTo(Ljava/math/BigInteger;)I" />
+		<method name="divide(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="divideAndRemainder(Ljava/math/BigInteger;)[Ljava/math/BigInteger;" />
+		<method name="flipBit(I)Ljava/math/BigInteger;" />
+		<method name="gcd(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="getLowestSetBit()I" />
+		<method name="intValueExact()I" since="31" />
+		<method name="isProbablePrime(I)Z" />
+		<method name="longValueExact()J" since="31" />
+		<method name="max(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="min(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="mod(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="modInverse(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="modPow(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="negate()Ljava/math/BigInteger;" />
+		<method name="nextProbablePrime()Ljava/math/BigInteger;" />
+		<method name="not()Ljava/math/BigInteger;" />
+		<method name="or(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="pow(I)Ljava/math/BigInteger;" />
+		<method name="probablePrime(ILjava/util/Random;)Ljava/math/BigInteger;" />
+		<method name="remainder(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="setBit(I)Ljava/math/BigInteger;" />
+		<method name="shiftLeft(I)Ljava/math/BigInteger;" />
+		<method name="shiftRight(I)Ljava/math/BigInteger;" />
+		<method name="shortValueExact()S" since="31" />
+		<method name="signum()I" />
+		<method name="subtract(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<method name="testBit(I)Z" />
+		<method name="toByteArray()[B" />
+		<method name="toString(I)Ljava/lang/String;" />
+		<method name="valueOf(J)Ljava/math/BigInteger;" />
+		<method name="xor(Ljava/math/BigInteger;)Ljava/math/BigInteger;" />
+		<field name="ONE" />
+		<field name="TEN" />
+		<field name="ZERO" />
+	</class>
+	<class name="java/math/MathContext" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/math/RoundingMode;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getPrecision()I" />
+		<method name="getRoundingMode()Ljava/math/RoundingMode;" />
+		<field name="DECIMAL128" />
+		<field name="DECIMAL32" />
+		<field name="DECIMAL64" />
+		<field name="UNLIMITED" />
+	</class>
+	<class name="java/math/RoundingMode" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(I)Ljava/math/RoundingMode;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/math/RoundingMode;" />
+		<method name="values()[Ljava/math/RoundingMode;" />
+		<field name="CEILING" />
+		<field name="DOWN" />
+		<field name="FLOOR" />
+		<field name="HALF_DOWN" />
+		<field name="HALF_EVEN" />
+		<field name="HALF_UP" />
+		<field name="UNNECESSARY" />
+		<field name="UP" />
+	</class>
+	<class name="java/net/Authenticator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getPasswordAuthentication()Ljava/net/PasswordAuthentication;" />
+		<method name="getRequestingHost()Ljava/lang/String;" />
+		<method name="getRequestingPort()I" />
+		<method name="getRequestingPrompt()Ljava/lang/String;" />
+		<method name="getRequestingProtocol()Ljava/lang/String;" />
+		<method name="getRequestingScheme()Ljava/lang/String;" />
+		<method name="getRequestingSite()Ljava/net/InetAddress;" />
+		<method name="getRequestingURL()Ljava/net/URL;" />
+		<method name="getRequestorType()Ljava/net/Authenticator$RequestorType;" />
+		<method name="requestPasswordAuthentication(Ljava/lang/String;Ljava/net/InetAddress;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/net/PasswordAuthentication;" />
+		<method name="requestPasswordAuthentication(Ljava/lang/String;Ljava/net/InetAddress;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/net/Authenticator$RequestorType;)Ljava/net/PasswordAuthentication;" />
+		<method name="requestPasswordAuthentication(Ljava/net/InetAddress;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/net/PasswordAuthentication;" />
+		<method name="setDefault(Ljava/net/Authenticator;)V" />
+	</class>
+	<class name="java/net/Authenticator$RequestorType" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/net/Authenticator$RequestorType;" />
+		<method name="values()[Ljava/net/Authenticator$RequestorType;" />
+		<field name="PROXY" />
+		<field name="SERVER" />
+	</class>
+	<class name="java/net/BindException" since="1">
+		<extends name="java/net/SocketException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/CacheRequest" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="abort()V" />
+		<method name="getBody()Ljava/io/OutputStream;" />
+	</class>
+	<class name="java/net/CacheResponse" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getBody()Ljava/io/InputStream;" />
+		<method name="getHeaders()Ljava/util/Map;" />
+	</class>
+	<class name="java/net/ConnectException" since="1">
+		<extends name="java/net/SocketException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/ContentHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getContent(Ljava/net/URLConnection;)Ljava/lang/Object;" />
+		<method name="getContent(Ljava/net/URLConnection;[Ljava/lang/Class;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/net/ContentHandlerFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="createContentHandler(Ljava/lang/String;)Ljava/net/ContentHandler;" />
+	</class>
+	<class name="java/net/CookieHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="get(Ljava/net/URI;Ljava/util/Map;)Ljava/util/Map;" />
+		<method name="getDefault()Ljava/net/CookieHandler;" />
+		<method name="put(Ljava/net/URI;Ljava/util/Map;)V" />
+		<method name="setDefault(Ljava/net/CookieHandler;)V" />
+	</class>
+	<class name="java/net/CookieManager" since="9">
+		<extends name="java/net/CookieHandler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/net/CookieStore;Ljava/net/CookiePolicy;)V" />
+		<method name="getCookieStore()Ljava/net/CookieStore;" />
+		<method name="setCookiePolicy(Ljava/net/CookiePolicy;)V" />
+	</class>
+	<class name="java/net/CookiePolicy" since="9">
+		<extends name="java/lang/Object" />
+		<method name="shouldAccept(Ljava/net/URI;Ljava/net/HttpCookie;)Z" />
+		<field name="ACCEPT_ALL" />
+		<field name="ACCEPT_NONE" />
+		<field name="ACCEPT_ORIGINAL_SERVER" />
+	</class>
+	<class name="java/net/CookieStore" since="9">
+		<extends name="java/lang/Object" />
+		<method name="add(Ljava/net/URI;Ljava/net/HttpCookie;)V" />
+		<method name="get(Ljava/net/URI;)Ljava/util/List;" />
+		<method name="getCookies()Ljava/util/List;" />
+		<method name="getURIs()Ljava/util/List;" />
+		<method name="remove(Ljava/net/URI;Ljava/net/HttpCookie;)Z" />
+		<method name="removeAll()Z" />
+	</class>
+	<class name="java/net/DatagramPacket" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;([BI)V" />
+		<method name="&lt;init&gt;([BII)V" />
+		<method name="&lt;init&gt;([BIILjava/net/InetAddress;I)V" />
+		<method name="&lt;init&gt;([BIILjava/net/SocketAddress;)V" />
+		<method name="&lt;init&gt;([BILjava/net/InetAddress;I)V" />
+		<method name="&lt;init&gt;([BILjava/net/SocketAddress;)V" />
+		<method name="getAddress()Ljava/net/InetAddress;" />
+		<method name="getData()[B" />
+		<method name="getLength()I" />
+		<method name="getOffset()I" />
+		<method name="getPort()I" />
+		<method name="getSocketAddress()Ljava/net/SocketAddress;" />
+		<method name="setAddress(Ljava/net/InetAddress;)V" />
+		<method name="setData([B)V" />
+		<method name="setData([BII)V" />
+		<method name="setLength(I)V" />
+		<method name="setPort(I)V" />
+		<method name="setSocketAddress(Ljava/net/SocketAddress;)V" />
+	</class>
+	<class name="java/net/DatagramSocket" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/net/InetAddress;)V" />
+		<method name="&lt;init&gt;(Ljava/net/DatagramSocketImpl;)V" />
+		<method name="&lt;init&gt;(Ljava/net/SocketAddress;)V" />
+		<method name="bind(Ljava/net/SocketAddress;)V" />
+		<method name="close()V" />
+		<method name="connect(Ljava/net/InetAddress;I)V" />
+		<method name="connect(Ljava/net/SocketAddress;)V" />
+		<method name="disconnect()V" />
+		<method name="getBroadcast()Z" />
+		<method name="getChannel()Ljava/nio/channels/DatagramChannel;" />
+		<method name="getInetAddress()Ljava/net/InetAddress;" />
+		<method name="getLocalAddress()Ljava/net/InetAddress;" />
+		<method name="getLocalPort()I" />
+		<method name="getLocalSocketAddress()Ljava/net/SocketAddress;" />
+		<method name="getPort()I" />
+		<method name="getReceiveBufferSize()I" />
+		<method name="getRemoteSocketAddress()Ljava/net/SocketAddress;" />
+		<method name="getReuseAddress()Z" />
+		<method name="getSendBufferSize()I" />
+		<method name="getSoTimeout()I" />
+		<method name="getTrafficClass()I" />
+		<method name="isBound()Z" />
+		<method name="isClosed()Z" />
+		<method name="isConnected()Z" />
+		<method name="receive(Ljava/net/DatagramPacket;)V" />
+		<method name="send(Ljava/net/DatagramPacket;)V" />
+		<method name="setBroadcast(Z)V" />
+		<method name="setDatagramSocketImplFactory(Ljava/net/DatagramSocketImplFactory;)V" />
+		<method name="setReceiveBufferSize(I)V" />
+		<method name="setReuseAddress(Z)V" />
+		<method name="setSendBufferSize(I)V" />
+		<method name="setSoTimeout(I)V" />
+		<method name="setTrafficClass(I)V" />
+	</class>
+	<class name="java/net/DatagramSocketImpl" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/net/SocketOptions" />
+		<method name="&lt;init&gt;()V" />
+		<method name="bind(ILjava/net/InetAddress;)V" />
+		<method name="close()V" />
+		<method name="connect(Ljava/net/InetAddress;I)V" />
+		<method name="create()V" />
+		<method name="disconnect()V" />
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;" />
+		<method name="getLocalPort()I" />
+		<method name="getTTL()B" deprecated="15" />
+		<method name="getTimeToLive()I" />
+		<method name="join(Ljava/net/InetAddress;)V" />
+		<method name="joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V" />
+		<method name="leave(Ljava/net/InetAddress;)V" />
+		<method name="leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V" />
+		<method name="peek(Ljava/net/InetAddress;)I" />
+		<method name="peekData(Ljava/net/DatagramPacket;)I" />
+		<method name="receive(Ljava/net/DatagramPacket;)V" />
+		<method name="send(Ljava/net/DatagramPacket;)V" />
+		<method name="setTTL(B)V" deprecated="15" />
+		<method name="setTimeToLive(I)V" />
+		<field name="fd" />
+		<field name="localPort" />
+	</class>
+	<class name="java/net/DatagramSocketImplFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="createDatagramSocketImpl()Ljava/net/DatagramSocketImpl;" />
+	</class>
+	<class name="java/net/FileNameMap" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getContentTypeFor(Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="java/net/HttpCookie" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="domainMatches(Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="getComment()Ljava/lang/String;" />
+		<method name="getCommentURL()Ljava/lang/String;" />
+		<method name="getDiscard()Z" />
+		<method name="getDomain()Ljava/lang/String;" />
+		<method name="getMaxAge()J" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPath()Ljava/lang/String;" />
+		<method name="getPortlist()Ljava/lang/String;" />
+		<method name="getSecure()Z" />
+		<method name="getValue()Ljava/lang/String;" />
+		<method name="getVersion()I" />
+		<method name="hasExpired()Z" />
+		<method name="isHttpOnly()Z" since="24" />
+		<method name="parse(Ljava/lang/String;)Ljava/util/List;" />
+		<method name="setComment(Ljava/lang/String;)V" />
+		<method name="setCommentURL(Ljava/lang/String;)V" />
+		<method name="setDiscard(Z)V" />
+		<method name="setDomain(Ljava/lang/String;)V" />
+		<method name="setHttpOnly(Z)V" since="24" />
+		<method name="setMaxAge(J)V" />
+		<method name="setPath(Ljava/lang/String;)V" />
+		<method name="setPortlist(Ljava/lang/String;)V" />
+		<method name="setSecure(Z)V" />
+		<method name="setValue(Ljava/lang/String;)V" />
+		<method name="setVersion(I)V" />
+	</class>
+	<class name="java/net/HttpRetryException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="getLocation()Ljava/lang/String;" />
+		<method name="getReason()Ljava/lang/String;" />
+		<method name="responseCode()I" />
+	</class>
+	<class name="java/net/HttpURLConnection" since="1">
+		<extends name="java/net/URLConnection" />
+		<method name="&lt;init&gt;(Ljava/net/URL;)V" />
+		<method name="disconnect()V" />
+		<method name="getErrorStream()Ljava/io/InputStream;" />
+		<method name="getFollowRedirects()Z" />
+		<method name="getInstanceFollowRedirects()Z" />
+		<method name="getRequestMethod()Ljava/lang/String;" />
+		<method name="getResponseCode()I" />
+		<method name="getResponseMessage()Ljava/lang/String;" />
+		<method name="setChunkedStreamingMode(I)V" />
+		<method name="setFixedLengthStreamingMode(I)V" />
+		<method name="setFixedLengthStreamingMode(J)V" since="19" />
+		<method name="setFollowRedirects(Z)V" />
+		<method name="setInstanceFollowRedirects(Z)V" />
+		<method name="setRequestMethod(Ljava/lang/String;)V" />
+		<method name="usingProxy()Z" />
+		<field name="HTTP_ACCEPTED" />
+		<field name="HTTP_BAD_GATEWAY" />
+		<field name="HTTP_BAD_METHOD" />
+		<field name="HTTP_BAD_REQUEST" />
+		<field name="HTTP_CLIENT_TIMEOUT" />
+		<field name="HTTP_CONFLICT" />
+		<field name="HTTP_CREATED" />
+		<field name="HTTP_ENTITY_TOO_LARGE" />
+		<field name="HTTP_FORBIDDEN" />
+		<field name="HTTP_GATEWAY_TIMEOUT" />
+		<field name="HTTP_GONE" />
+		<field name="HTTP_INTERNAL_ERROR" />
+		<field name="HTTP_LENGTH_REQUIRED" />
+		<field name="HTTP_MOVED_PERM" />
+		<field name="HTTP_MOVED_TEMP" />
+		<field name="HTTP_MULT_CHOICE" />
+		<field name="HTTP_NOT_ACCEPTABLE" />
+		<field name="HTTP_NOT_AUTHORITATIVE" />
+		<field name="HTTP_NOT_FOUND" />
+		<field name="HTTP_NOT_IMPLEMENTED" />
+		<field name="HTTP_NOT_MODIFIED" />
+		<field name="HTTP_NO_CONTENT" />
+		<field name="HTTP_OK" />
+		<field name="HTTP_PARTIAL" />
+		<field name="HTTP_PAYMENT_REQUIRED" />
+		<field name="HTTP_PRECON_FAILED" />
+		<field name="HTTP_PROXY_AUTH" />
+		<field name="HTTP_REQ_TOO_LONG" />
+		<field name="HTTP_RESET" />
+		<field name="HTTP_SEE_OTHER" />
+		<field name="HTTP_SERVER_ERROR" deprecated="15" />
+		<field name="HTTP_UNAUTHORIZED" />
+		<field name="HTTP_UNAVAILABLE" />
+		<field name="HTTP_UNSUPPORTED_TYPE" />
+		<field name="HTTP_USE_PROXY" />
+		<field name="HTTP_VERSION" />
+		<field name="chunkLength" />
+		<field name="fixedContentLength" />
+		<field name="fixedContentLengthLong" since="19" />
+		<field name="instanceFollowRedirects" />
+		<field name="method" />
+		<field name="responseCode" />
+		<field name="responseMessage" />
+	</class>
+	<class name="java/net/IDN" since="9">
+		<extends name="java/lang/Object" />
+		<method name="toASCII(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="toASCII(Ljava/lang/String;I)Ljava/lang/String;" />
+		<method name="toUnicode(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="toUnicode(Ljava/lang/String;I)Ljava/lang/String;" />
+		<field name="ALLOW_UNASSIGNED" />
+		<field name="USE_STD3_ASCII_RULES" />
+	</class>
+	<class name="java/net/Inet4Address" since="1">
+		<extends name="java/net/InetAddress" />
+	</class>
+	<class name="java/net/Inet6Address" since="1">
+		<extends name="java/net/InetAddress" />
+		<method name="getByAddress(Ljava/lang/String;[BI)Ljava/net/Inet6Address;" />
+		<method name="getByAddress(Ljava/lang/String;[BLjava/net/NetworkInterface;)Ljava/net/Inet6Address;" />
+		<method name="getScopeId()I" />
+		<method name="getScopedInterface()Ljava/net/NetworkInterface;" />
+		<method name="isIPv4CompatibleAddress()Z" />
+	</class>
+	<class name="java/net/InetAddress" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="getAddress()[B" />
+		<method name="getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;" />
+		<method name="getByAddress(Ljava/lang/String;[B)Ljava/net/InetAddress;" />
+		<method name="getByAddress([B)Ljava/net/InetAddress;" />
+		<method name="getByName(Ljava/lang/String;)Ljava/net/InetAddress;" />
+		<method name="getCanonicalHostName()Ljava/lang/String;" />
+		<method name="getHostAddress()Ljava/lang/String;" />
+		<method name="getHostName()Ljava/lang/String;" />
+		<method name="getLocalHost()Ljava/net/InetAddress;" />
+		<method name="getLoopbackAddress()Ljava/net/InetAddress;" since="19" />
+		<method name="isAnyLocalAddress()Z" />
+		<method name="isLinkLocalAddress()Z" />
+		<method name="isLoopbackAddress()Z" />
+		<method name="isMCGlobal()Z" />
+		<method name="isMCLinkLocal()Z" />
+		<method name="isMCNodeLocal()Z" />
+		<method name="isMCOrgLocal()Z" />
+		<method name="isMCSiteLocal()Z" />
+		<method name="isMulticastAddress()Z" />
+		<method name="isReachable(I)Z" />
+		<method name="isReachable(Ljava/net/NetworkInterface;II)Z" />
+		<method name="isSiteLocalAddress()Z" />
+	</class>
+	<class name="java/net/InetSocketAddress" since="1">
+		<extends name="java/net/SocketAddress" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/net/InetAddress;I)V" />
+		<method name="createUnresolved(Ljava/lang/String;I)Ljava/net/InetSocketAddress;" />
+		<method name="getAddress()Ljava/net/InetAddress;" />
+		<method name="getHostName()Ljava/lang/String;" />
+		<method name="getHostString()Ljava/lang/String;" since="19" />
+		<method name="getPort()I" />
+		<method name="isUnresolved()Z" />
+	</class>
+	<class name="java/net/InterfaceAddress" since="9">
+		<extends name="java/lang/Object" />
+		<method name="getAddress()Ljava/net/InetAddress;" />
+		<method name="getBroadcast()Ljava/net/InetAddress;" />
+		<method name="getNetworkPrefixLength()S" />
+	</class>
+	<class name="java/net/JarURLConnection" since="1">
+		<extends name="java/net/URLConnection" />
+		<method name="&lt;init&gt;(Ljava/net/URL;)V" />
+		<method name="getAttributes()Ljava/util/jar/Attributes;" />
+		<method name="getCertificates()[Ljava/security/cert/Certificate;" />
+		<method name="getEntryName()Ljava/lang/String;" />
+		<method name="getJarEntry()Ljava/util/jar/JarEntry;" />
+		<method name="getJarFile()Ljava/util/jar/JarFile;" />
+		<method name="getJarFileURL()Ljava/net/URL;" />
+		<method name="getMainAttributes()Ljava/util/jar/Attributes;" />
+		<method name="getManifest()Ljava/util/jar/Manifest;" />
+		<field name="jarFileURLConnection" />
+	</class>
+	<class name="java/net/MalformedURLException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/MulticastSocket" since="1">
+		<extends name="java/net/DatagramSocket" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/net/SocketAddress;)V" />
+		<method name="getInterface()Ljava/net/InetAddress;" />
+		<method name="getLoopbackMode()Z" />
+		<method name="getNetworkInterface()Ljava/net/NetworkInterface;" />
+		<method name="getTTL()B" deprecated="15" />
+		<method name="getTimeToLive()I" />
+		<method name="joinGroup(Ljava/net/InetAddress;)V" />
+		<method name="joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V" />
+		<method name="leaveGroup(Ljava/net/InetAddress;)V" />
+		<method name="leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V" />
+		<method name="send(Ljava/net/DatagramPacket;B)V" deprecated="15" />
+		<method name="setInterface(Ljava/net/InetAddress;)V" />
+		<method name="setLoopbackMode(Z)V" />
+		<method name="setNetworkInterface(Ljava/net/NetworkInterface;)V" />
+		<method name="setTTL(B)V" deprecated="15" />
+		<method name="setTimeToLive(I)V" />
+	</class>
+	<class name="java/net/NetPermission" since="1">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/NetworkInterface" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getByIndex(I)Ljava/net/NetworkInterface;" since="19" />
+		<method name="getByInetAddress(Ljava/net/InetAddress;)Ljava/net/NetworkInterface;" />
+		<method name="getByName(Ljava/lang/String;)Ljava/net/NetworkInterface;" />
+		<method name="getDisplayName()Ljava/lang/String;" />
+		<method name="getHardwareAddress()[B" since="9" />
+		<method name="getIndex()I" since="19" />
+		<method name="getInetAddresses()Ljava/util/Enumeration;" />
+		<method name="getInterfaceAddresses()Ljava/util/List;" since="9" />
+		<method name="getMTU()I" since="9" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getNetworkInterfaces()Ljava/util/Enumeration;" />
+		<method name="getParent()Ljava/net/NetworkInterface;" since="9" />
+		<method name="getSubInterfaces()Ljava/util/Enumeration;" since="9" />
+		<method name="isLoopback()Z" since="9" />
+		<method name="isPointToPoint()Z" since="9" />
+		<method name="isUp()Z" since="9" />
+		<method name="isVirtual()Z" since="9" />
+		<method name="supportsMulticast()Z" since="9" />
+	</class>
+	<class name="java/net/NoRouteToHostException" since="1">
+		<extends name="java/net/SocketException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/PasswordAuthentication" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[C)V" />
+		<method name="getPassword()[C" />
+		<method name="getUserName()Ljava/lang/String;" />
+	</class>
+	<class name="java/net/PortUnreachableException" since="1">
+		<extends name="java/net/SocketException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/ProtocolException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/ProtocolFamily" since="24">
+		<extends name="java/lang/Object" />
+		<method name="name()Ljava/lang/String;" />
+	</class>
+	<class name="java/net/Proxy" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V" />
+		<method name="address()Ljava/net/SocketAddress;" />
+		<method name="type()Ljava/net/Proxy$Type;" />
+		<field name="NO_PROXY" />
+	</class>
+	<class name="java/net/Proxy$Type" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/net/Proxy$Type;" />
+		<method name="values()[Ljava/net/Proxy$Type;" />
+		<field name="DIRECT" />
+		<field name="HTTP" />
+		<field name="SOCKS" />
+	</class>
+	<class name="java/net/ProxySelector" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="connectFailed(Ljava/net/URI;Ljava/net/SocketAddress;Ljava/io/IOException;)V" />
+		<method name="getDefault()Ljava/net/ProxySelector;" />
+		<method name="select(Ljava/net/URI;)Ljava/util/List;" />
+		<method name="setDefault(Ljava/net/ProxySelector;)V" />
+	</class>
+	<class name="java/net/ResponseCache" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="get(Ljava/net/URI;Ljava/lang/String;Ljava/util/Map;)Ljava/net/CacheResponse;" />
+		<method name="getDefault()Ljava/net/ResponseCache;" />
+		<method name="put(Ljava/net/URI;Ljava/net/URLConnection;)Ljava/net/CacheRequest;" />
+		<method name="setDefault(Ljava/net/ResponseCache;)V" />
+	</class>
+	<class name="java/net/SecureCacheResponse" since="1">
+		<extends name="java/net/CacheResponse" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getCipherSuite()Ljava/lang/String;" />
+		<method name="getLocalCertificateChain()Ljava/util/List;" />
+		<method name="getLocalPrincipal()Ljava/security/Principal;" />
+		<method name="getPeerPrincipal()Ljava/security/Principal;" />
+		<method name="getServerCertificateChain()Ljava/util/List;" />
+	</class>
+	<class name="java/net/ServerSocket" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(IILjava/net/InetAddress;)V" />
+		<method name="&lt;init&gt;(Ljava/net/SocketImpl;)V" removed="2" />
+		<method name="accept()Ljava/net/Socket;" />
+		<method name="bind(Ljava/net/SocketAddress;)V" />
+		<method name="bind(Ljava/net/SocketAddress;I)V" />
+		<method name="close()V" />
+		<method name="getChannel()Ljava/nio/channels/ServerSocketChannel;" />
+		<method name="getInetAddress()Ljava/net/InetAddress;" />
+		<method name="getLocalPort()I" />
+		<method name="getLocalSocketAddress()Ljava/net/SocketAddress;" />
+		<method name="getReceiveBufferSize()I" />
+		<method name="getReuseAddress()Z" />
+		<method name="getSoTimeout()I" />
+		<method name="implAccept(Ljava/net/Socket;)V" />
+		<method name="isBound()Z" />
+		<method name="isClosed()Z" />
+		<method name="setPerformancePreferences(III)V" />
+		<method name="setReceiveBufferSize(I)V" />
+		<method name="setReuseAddress(Z)V" />
+		<method name="setSoTimeout(I)V" />
+		<method name="setSocketFactory(Ljava/net/SocketImplFactory;)V" />
+	</class>
+	<class name="java/net/Socket" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/net/InetAddress;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;IZ)V" deprecated="15" />
+		<method name="&lt;init&gt;(Ljava/net/InetAddress;I)V" />
+		<method name="&lt;init&gt;(Ljava/net/InetAddress;ILjava/net/InetAddress;I)V" />
+		<method name="&lt;init&gt;(Ljava/net/InetAddress;IZ)V" deprecated="15" />
+		<method name="&lt;init&gt;(Ljava/net/Proxy;)V" />
+		<method name="&lt;init&gt;(Ljava/net/SocketImpl;)V" />
+		<method name="bind(Ljava/net/SocketAddress;)V" />
+		<method name="close()V" />
+		<method name="connect(Ljava/net/SocketAddress;)V" />
+		<method name="connect(Ljava/net/SocketAddress;I)V" />
+		<method name="getChannel()Ljava/nio/channels/SocketChannel;" />
+		<method name="getInetAddress()Ljava/net/InetAddress;" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getKeepAlive()Z" />
+		<method name="getLocalAddress()Ljava/net/InetAddress;" />
+		<method name="getLocalPort()I" />
+		<method name="getLocalSocketAddress()Ljava/net/SocketAddress;" />
+		<method name="getOOBInline()Z" />
+		<method name="getOutputStream()Ljava/io/OutputStream;" />
+		<method name="getPort()I" />
+		<method name="getReceiveBufferSize()I" />
+		<method name="getRemoteSocketAddress()Ljava/net/SocketAddress;" />
+		<method name="getReuseAddress()Z" />
+		<method name="getSendBufferSize()I" />
+		<method name="getSoLinger()I" />
+		<method name="getSoTimeout()I" />
+		<method name="getTcpNoDelay()Z" />
+		<method name="getTrafficClass()I" />
+		<method name="isBound()Z" />
+		<method name="isClosed()Z" />
+		<method name="isConnected()Z" />
+		<method name="isInputShutdown()Z" />
+		<method name="isOutputShutdown()Z" />
+		<method name="sendUrgentData(I)V" />
+		<method name="setKeepAlive(Z)V" />
+		<method name="setOOBInline(Z)V" />
+		<method name="setPerformancePreferences(III)V" />
+		<method name="setReceiveBufferSize(I)V" />
+		<method name="setReuseAddress(Z)V" />
+		<method name="setSendBufferSize(I)V" />
+		<method name="setSoLinger(ZI)V" />
+		<method name="setSoTimeout(I)V" />
+		<method name="setSocketImplFactory(Ljava/net/SocketImplFactory;)V" />
+		<method name="setTcpNoDelay(Z)V" />
+		<method name="setTrafficClass(I)V" />
+		<method name="shutdownInput()V" />
+		<method name="shutdownOutput()V" />
+	</class>
+	<class name="java/net/SocketAddress" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/net/SocketException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/SocketImpl" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/net/SocketOptions" />
+		<method name="&lt;init&gt;()V" />
+		<method name="accept(Ljava/net/SocketImpl;)V" />
+		<method name="available()I" />
+		<method name="bind(Ljava/net/InetAddress;I)V" />
+		<method name="close()V" />
+		<method name="connect(Ljava/lang/String;I)V" />
+		<method name="connect(Ljava/net/InetAddress;I)V" />
+		<method name="connect(Ljava/net/SocketAddress;I)V" />
+		<method name="create(Z)V" />
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;" />
+		<method name="getInetAddress()Ljava/net/InetAddress;" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getLocalPort()I" />
+		<method name="getOutputStream()Ljava/io/OutputStream;" />
+		<method name="getPort()I" />
+		<method name="listen(I)V" />
+		<method name="sendUrgentData(I)V" />
+		<method name="setPerformancePreferences(III)V" />
+		<method name="shutdownInput()V" />
+		<method name="shutdownOutput()V" />
+		<method name="supportsUrgentData()Z" />
+		<field name="address" />
+		<field name="fd" />
+		<field name="localport" />
+		<field name="port" />
+	</class>
+	<class name="java/net/SocketImplFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="createSocketImpl()Ljava/net/SocketImpl;" />
+	</class>
+	<class name="java/net/SocketOption" since="24">
+		<extends name="java/lang/Object" />
+		<method name="name()Ljava/lang/String;" />
+		<method name="type()Ljava/lang/Class;" />
+	</class>
+	<class name="java/net/SocketOptions" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getOption(I)Ljava/lang/Object;" />
+		<method name="setOption(ILjava/lang/Object;)V" />
+		<field name="IP_MULTICAST_IF" />
+		<field name="IP_MULTICAST_IF2" />
+		<field name="IP_MULTICAST_LOOP" />
+		<field name="IP_TOS" />
+		<field name="SO_BINDADDR" />
+		<field name="SO_BROADCAST" />
+		<field name="SO_KEEPALIVE" />
+		<field name="SO_LINGER" />
+		<field name="SO_OOBINLINE" />
+		<field name="SO_RCVBUF" />
+		<field name="SO_REUSEADDR" />
+		<field name="SO_SNDBUF" />
+		<field name="SO_TIMEOUT" />
+		<field name="TCP_NODELAY" />
+	</class>
+	<class name="java/net/SocketPermission" since="1">
+		<extends name="java/security/Permission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/SocketTimeoutException" since="1">
+		<extends name="java/io/InterruptedIOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/StandardProtocolFamily" since="24">
+		<extends name="java/lang/Enum" />
+		<implements name="java/net/ProtocolFamily" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/net/StandardProtocolFamily;" />
+		<method name="values()[Ljava/net/StandardProtocolFamily;" />
+		<field name="INET" />
+		<field name="INET6" />
+	</class>
+	<class name="java/net/StandardSocketOptions" since="24">
+		<extends name="java/lang/Object" />
+		<field name="IP_MULTICAST_IF" />
+		<field name="IP_MULTICAST_LOOP" />
+		<field name="IP_MULTICAST_TTL" />
+		<field name="IP_TOS" />
+		<field name="SO_BROADCAST" />
+		<field name="SO_KEEPALIVE" />
+		<field name="SO_LINGER" />
+		<field name="SO_RCVBUF" />
+		<field name="SO_REUSEADDR" />
+		<field name="SO_SNDBUF" />
+		<field name="TCP_NODELAY" />
+	</class>
+	<class name="java/net/URI" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="compareTo(Ljava/net/URI;)I" />
+		<method name="create(Ljava/lang/String;)Ljava/net/URI;" />
+		<method name="getAuthority()Ljava/lang/String;" />
+		<method name="getFragment()Ljava/lang/String;" />
+		<method name="getHost()Ljava/lang/String;" />
+		<method name="getPath()Ljava/lang/String;" />
+		<method name="getPort()I" />
+		<method name="getQuery()Ljava/lang/String;" />
+		<method name="getRawAuthority()Ljava/lang/String;" />
+		<method name="getRawFragment()Ljava/lang/String;" />
+		<method name="getRawPath()Ljava/lang/String;" />
+		<method name="getRawQuery()Ljava/lang/String;" />
+		<method name="getRawSchemeSpecificPart()Ljava/lang/String;" />
+		<method name="getRawUserInfo()Ljava/lang/String;" />
+		<method name="getScheme()Ljava/lang/String;" />
+		<method name="getSchemeSpecificPart()Ljava/lang/String;" />
+		<method name="getUserInfo()Ljava/lang/String;" />
+		<method name="isAbsolute()Z" />
+		<method name="isOpaque()Z" />
+		<method name="normalize()Ljava/net/URI;" />
+		<method name="parseServerAuthority()Ljava/net/URI;" />
+		<method name="relativize(Ljava/net/URI;)Ljava/net/URI;" />
+		<method name="resolve(Ljava/lang/String;)Ljava/net/URI;" />
+		<method name="resolve(Ljava/net/URI;)Ljava/net/URI;" />
+		<method name="toASCIIString()Ljava/lang/String;" />
+		<method name="toURL()Ljava/net/URL;" />
+	</class>
+	<class name="java/net/URISyntaxException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="getIndex()I" />
+		<method name="getInput()Ljava/lang/String;" />
+		<method name="getReason()Ljava/lang/String;" />
+	</class>
+	<class name="java/net/URL" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/net/URLStreamHandler;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URL;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URL;Ljava/lang/String;Ljava/net/URLStreamHandler;)V" />
+		<method name="getAuthority()Ljava/lang/String;" />
+		<method name="getContent()Ljava/lang/Object;" />
+		<method name="getContent([Ljava/lang/Class;)Ljava/lang/Object;" />
+		<method name="getDefaultPort()I" />
+		<method name="getFile()Ljava/lang/String;" />
+		<method name="getHost()Ljava/lang/String;" />
+		<method name="getPath()Ljava/lang/String;" />
+		<method name="getPort()I" />
+		<method name="getProtocol()Ljava/lang/String;" />
+		<method name="getQuery()Ljava/lang/String;" />
+		<method name="getRef()Ljava/lang/String;" />
+		<method name="getUserInfo()Ljava/lang/String;" />
+		<method name="openConnection()Ljava/net/URLConnection;" />
+		<method name="openConnection(Ljava/net/Proxy;)Ljava/net/URLConnection;" />
+		<method name="openStream()Ljava/io/InputStream;" />
+		<method name="sameFile(Ljava/net/URL;)Z" />
+		<method name="set(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" removed="26" />
+		<method name="set(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" removed="26" />
+		<method name="setURLStreamHandlerFactory(Ljava/net/URLStreamHandlerFactory;)V" />
+		<method name="toExternalForm()Ljava/lang/String;" />
+		<method name="toURI()Ljava/net/URI;" />
+	</class>
+	<class name="java/net/URLClassLoader" since="1">
+		<extends name="java/security/SecureClassLoader" />
+		<implements name="java/io/Closeable" since="24" />
+		<method name="&lt;init&gt;([Ljava/net/URL;)V" />
+		<method name="&lt;init&gt;([Ljava/net/URL;Ljava/lang/ClassLoader;)V" />
+		<method name="&lt;init&gt;([Ljava/net/URL;Ljava/lang/ClassLoader;Ljava/net/URLStreamHandlerFactory;)V" />
+		<method name="addURL(Ljava/net/URL;)V" />
+		<method name="definePackage(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;" />
+		<method name="getURLs()[Ljava/net/URL;" />
+		<method name="newInstance([Ljava/net/URL;)Ljava/net/URLClassLoader;" />
+		<method name="newInstance([Ljava/net/URL;Ljava/lang/ClassLoader;)Ljava/net/URLClassLoader;" />
+	</class>
+	<class name="java/net/URLConnection" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/net/URL;)V" />
+		<method name="addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="connect()V" />
+		<method name="getAllowUserInteraction()Z" />
+		<method name="getConnectTimeout()I" />
+		<method name="getContent()Ljava/lang/Object;" />
+		<method name="getContent([Ljava/lang/Class;)Ljava/lang/Object;" />
+		<method name="getContentEncoding()Ljava/lang/String;" />
+		<method name="getContentLength()I" />
+		<method name="getContentLengthLong()J" since="24" />
+		<method name="getContentType()Ljava/lang/String;" />
+		<method name="getDate()J" />
+		<method name="getDefaultAllowUserInteraction()Z" />
+		<method name="getDefaultRequestProperty(Ljava/lang/String;)Ljava/lang/String;" deprecated="15" />
+		<method name="getDefaultUseCaches()Z" />
+		<method name="getDoInput()Z" />
+		<method name="getDoOutput()Z" />
+		<method name="getExpiration()J" />
+		<method name="getFileNameMap()Ljava/net/FileNameMap;" />
+		<method name="getHeaderField(I)Ljava/lang/String;" />
+		<method name="getHeaderField(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getHeaderFieldDate(Ljava/lang/String;J)J" />
+		<method name="getHeaderFieldInt(Ljava/lang/String;I)I" />
+		<method name="getHeaderFieldKey(I)Ljava/lang/String;" />
+		<method name="getHeaderFieldLong(Ljava/lang/String;J)J" since="24" />
+		<method name="getHeaderFields()Ljava/util/Map;" />
+		<method name="getIfModifiedSince()J" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getLastModified()J" />
+		<method name="getOutputStream()Ljava/io/OutputStream;" />
+		<method name="getPermission()Ljava/security/Permission;" />
+		<method name="getReadTimeout()I" />
+		<method name="getRequestProperties()Ljava/util/Map;" />
+		<method name="getRequestProperty(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getURL()Ljava/net/URL;" />
+		<method name="getUseCaches()Z" />
+		<method name="guessContentTypeFromName(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="guessContentTypeFromStream(Ljava/io/InputStream;)Ljava/lang/String;" />
+		<method name="setAllowUserInteraction(Z)V" />
+		<method name="setConnectTimeout(I)V" />
+		<method name="setContentHandlerFactory(Ljava/net/ContentHandlerFactory;)V" />
+		<method name="setDefaultAllowUserInteraction(Z)V" />
+		<method name="setDefaultRequestProperty(Ljava/lang/String;Ljava/lang/String;)V" deprecated="15" />
+		<method name="setDefaultUseCaches(Z)V" />
+		<method name="setDoInput(Z)V" />
+		<method name="setDoOutput(Z)V" />
+		<method name="setFileNameMap(Ljava/net/FileNameMap;)V" />
+		<method name="setIfModifiedSince(J)V" />
+		<method name="setReadTimeout(I)V" />
+		<method name="setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setUseCaches(Z)V" />
+		<field name="allowUserInteraction" />
+		<field name="connected" />
+		<field name="doInput" />
+		<field name="doOutput" />
+		<field name="ifModifiedSince" />
+		<field name="url" />
+		<field name="useCaches" />
+	</class>
+	<class name="java/net/URLDecoder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="decode(Ljava/lang/String;)Ljava/lang/String;" deprecated="15" />
+		<method name="decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="java/net/URLEncoder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="encode(Ljava/lang/String;)Ljava/lang/String;" deprecated="15" />
+		<method name="encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="java/net/URLStreamHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="equals(Ljava/net/URL;Ljava/net/URL;)Z" />
+		<method name="getDefaultPort()I" />
+		<method name="getHostAddress(Ljava/net/URL;)Ljava/net/InetAddress;" />
+		<method name="hashCode(Ljava/net/URL;)I" />
+		<method name="hostsEqual(Ljava/net/URL;Ljava/net/URL;)Z" />
+		<method name="openConnection(Ljava/net/URL;)Ljava/net/URLConnection;" />
+		<method name="openConnection(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/URLConnection;" />
+		<method name="parseURL(Ljava/net/URL;Ljava/lang/String;II)V" />
+		<method name="sameFile(Ljava/net/URL;Ljava/net/URL;)Z" />
+		<method name="setURL(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" deprecated="15" />
+		<method name="setURL(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="toExternalForm(Ljava/net/URL;)Ljava/lang/String;" />
+	</class>
+	<class name="java/net/URLStreamHandlerFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="createURLStreamHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;" />
+	</class>
+	<class name="java/net/UnknownHostException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/net/UnknownServiceException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/Buffer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="array()Ljava/lang/Object;" since="9" />
+		<method name="arrayOffset()I" since="9" />
+		<method name="capacity()I" />
+		<method name="clear()Ljava/nio/Buffer;" />
+		<method name="flip()Ljava/nio/Buffer;" />
+		<method name="hasArray()Z" since="9" />
+		<method name="hasRemaining()Z" />
+		<method name="isDirect()Z" since="9" />
+		<method name="isReadOnly()Z" />
+		<method name="limit()I" />
+		<method name="limit(I)Ljava/nio/Buffer;" />
+		<method name="mark()Ljava/nio/Buffer;" />
+		<method name="position()I" />
+		<method name="position(I)Ljava/nio/Buffer;" />
+		<method name="remaining()I" />
+		<method name="reset()Ljava/nio/Buffer;" />
+		<method name="rewind()Ljava/nio/Buffer;" />
+	</class>
+	<class name="java/nio/BufferOverflowException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/BufferUnderflowException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/ByteBuffer" since="1">
+		<extends name="java/nio/Buffer" />
+		<implements name="java/lang/Comparable" />
+		<method name="allocate(I)Ljava/nio/ByteBuffer;" />
+		<method name="allocateDirect(I)Ljava/nio/ByteBuffer;" />
+		<method name="array()[B" />
+		<method name="arrayOffset()I" />
+		<method name="asCharBuffer()Ljava/nio/CharBuffer;" />
+		<method name="asDoubleBuffer()Ljava/nio/DoubleBuffer;" />
+		<method name="asFloatBuffer()Ljava/nio/FloatBuffer;" />
+		<method name="asIntBuffer()Ljava/nio/IntBuffer;" />
+		<method name="asLongBuffer()Ljava/nio/LongBuffer;" />
+		<method name="asReadOnlyBuffer()Ljava/nio/ByteBuffer;" />
+		<method name="asShortBuffer()Ljava/nio/ShortBuffer;" />
+		<method name="compact()Ljava/nio/ByteBuffer;" />
+		<method name="compareTo(Ljava/nio/ByteBuffer;)I" />
+		<method name="duplicate()Ljava/nio/ByteBuffer;" />
+		<method name="get()B" />
+		<method name="get(I)B" />
+		<method name="get([B)Ljava/nio/ByteBuffer;" />
+		<method name="get([BII)Ljava/nio/ByteBuffer;" />
+		<method name="getChar()C" />
+		<method name="getChar(I)C" />
+		<method name="getDouble()D" />
+		<method name="getDouble(I)D" />
+		<method name="getFloat()F" />
+		<method name="getFloat(I)F" />
+		<method name="getInt()I" />
+		<method name="getInt(I)I" />
+		<method name="getLong()J" />
+		<method name="getLong(I)J" />
+		<method name="getShort()S" />
+		<method name="getShort(I)S" />
+		<method name="hasArray()Z" />
+		<method name="isDirect()Z" />
+		<method name="order()Ljava/nio/ByteOrder;" />
+		<method name="order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;" />
+		<method name="put(B)Ljava/nio/ByteBuffer;" />
+		<method name="put(IB)Ljava/nio/ByteBuffer;" />
+		<method name="put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;" />
+		<method name="put([B)Ljava/nio/ByteBuffer;" />
+		<method name="put([BII)Ljava/nio/ByteBuffer;" />
+		<method name="putChar(C)Ljava/nio/ByteBuffer;" />
+		<method name="putChar(IC)Ljava/nio/ByteBuffer;" />
+		<method name="putDouble(D)Ljava/nio/ByteBuffer;" />
+		<method name="putDouble(ID)Ljava/nio/ByteBuffer;" />
+		<method name="putFloat(F)Ljava/nio/ByteBuffer;" />
+		<method name="putFloat(IF)Ljava/nio/ByteBuffer;" />
+		<method name="putInt(I)Ljava/nio/ByteBuffer;" />
+		<method name="putInt(II)Ljava/nio/ByteBuffer;" />
+		<method name="putLong(IJ)Ljava/nio/ByteBuffer;" />
+		<method name="putLong(J)Ljava/nio/ByteBuffer;" />
+		<method name="putShort(IS)Ljava/nio/ByteBuffer;" />
+		<method name="putShort(S)Ljava/nio/ByteBuffer;" />
+		<method name="slice()Ljava/nio/ByteBuffer;" />
+		<method name="wrap([B)Ljava/nio/ByteBuffer;" />
+		<method name="wrap([BII)Ljava/nio/ByteBuffer;" />
+	</class>
+	<class name="java/nio/ByteOrder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="nativeOrder()Ljava/nio/ByteOrder;" />
+		<field name="BIG_ENDIAN" />
+		<field name="LITTLE_ENDIAN" />
+	</class>
+	<class name="java/nio/CharBuffer" since="1">
+		<extends name="java/nio/Buffer" />
+		<implements name="java/lang/Appendable" />
+		<implements name="java/lang/CharSequence" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/lang/Readable" />
+		<method name="allocate(I)Ljava/nio/CharBuffer;" />
+		<method name="append(C)Ljava/nio/CharBuffer;" />
+		<method name="append(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;" />
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer;" />
+		<method name="array()[C" />
+		<method name="arrayOffset()I" />
+		<method name="asReadOnlyBuffer()Ljava/nio/CharBuffer;" />
+		<method name="compact()Ljava/nio/CharBuffer;" />
+		<method name="compareTo(Ljava/nio/CharBuffer;)I" />
+		<method name="duplicate()Ljava/nio/CharBuffer;" />
+		<method name="get()C" />
+		<method name="get(I)C" />
+		<method name="get([C)Ljava/nio/CharBuffer;" />
+		<method name="get([CII)Ljava/nio/CharBuffer;" />
+		<method name="hasArray()Z" />
+		<method name="isDirect()Z" />
+		<method name="order()Ljava/nio/ByteOrder;" />
+		<method name="put(C)Ljava/nio/CharBuffer;" />
+		<method name="put(IC)Ljava/nio/CharBuffer;" />
+		<method name="put(Ljava/lang/String;)Ljava/nio/CharBuffer;" />
+		<method name="put(Ljava/lang/String;II)Ljava/nio/CharBuffer;" />
+		<method name="put(Ljava/nio/CharBuffer;)Ljava/nio/CharBuffer;" />
+		<method name="put([C)Ljava/nio/CharBuffer;" />
+		<method name="put([CII)Ljava/nio/CharBuffer;" />
+		<method name="slice()Ljava/nio/CharBuffer;" />
+		<method name="subSequence(II)Ljava/nio/CharBuffer;" since="19" />
+		<method name="wrap(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;" />
+		<method name="wrap(Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer;" />
+		<method name="wrap([C)Ljava/nio/CharBuffer;" />
+		<method name="wrap([CII)Ljava/nio/CharBuffer;" />
+	</class>
+	<class name="java/nio/DoubleBuffer" since="1">
+		<extends name="java/nio/Buffer" />
+		<implements name="java/lang/Comparable" />
+		<method name="allocate(I)Ljava/nio/DoubleBuffer;" />
+		<method name="array()[D" />
+		<method name="arrayOffset()I" />
+		<method name="asReadOnlyBuffer()Ljava/nio/DoubleBuffer;" />
+		<method name="compact()Ljava/nio/DoubleBuffer;" />
+		<method name="compareTo(Ljava/nio/DoubleBuffer;)I" />
+		<method name="duplicate()Ljava/nio/DoubleBuffer;" />
+		<method name="get()D" />
+		<method name="get(I)D" />
+		<method name="get([D)Ljava/nio/DoubleBuffer;" />
+		<method name="get([DII)Ljava/nio/DoubleBuffer;" />
+		<method name="hasArray()Z" />
+		<method name="isDirect()Z" />
+		<method name="order()Ljava/nio/ByteOrder;" />
+		<method name="put(D)Ljava/nio/DoubleBuffer;" />
+		<method name="put(ID)Ljava/nio/DoubleBuffer;" />
+		<method name="put(Ljava/nio/DoubleBuffer;)Ljava/nio/DoubleBuffer;" />
+		<method name="put([D)Ljava/nio/DoubleBuffer;" />
+		<method name="put([DII)Ljava/nio/DoubleBuffer;" />
+		<method name="slice()Ljava/nio/DoubleBuffer;" />
+		<method name="wrap([D)Ljava/nio/DoubleBuffer;" />
+		<method name="wrap([DII)Ljava/nio/DoubleBuffer;" />
+	</class>
+	<class name="java/nio/FloatBuffer" since="1">
+		<extends name="java/nio/Buffer" />
+		<implements name="java/lang/Comparable" />
+		<method name="allocate(I)Ljava/nio/FloatBuffer;" />
+		<method name="array()[F" />
+		<method name="arrayOffset()I" />
+		<method name="asReadOnlyBuffer()Ljava/nio/FloatBuffer;" />
+		<method name="compact()Ljava/nio/FloatBuffer;" />
+		<method name="compareTo(Ljava/nio/FloatBuffer;)I" />
+		<method name="duplicate()Ljava/nio/FloatBuffer;" />
+		<method name="get()F" />
+		<method name="get(I)F" />
+		<method name="get([F)Ljava/nio/FloatBuffer;" />
+		<method name="get([FII)Ljava/nio/FloatBuffer;" />
+		<method name="hasArray()Z" />
+		<method name="isDirect()Z" />
+		<method name="order()Ljava/nio/ByteOrder;" />
+		<method name="put(F)Ljava/nio/FloatBuffer;" />
+		<method name="put(IF)Ljava/nio/FloatBuffer;" />
+		<method name="put(Ljava/nio/FloatBuffer;)Ljava/nio/FloatBuffer;" />
+		<method name="put([F)Ljava/nio/FloatBuffer;" />
+		<method name="put([FII)Ljava/nio/FloatBuffer;" />
+		<method name="slice()Ljava/nio/FloatBuffer;" />
+		<method name="wrap([F)Ljava/nio/FloatBuffer;" />
+		<method name="wrap([FII)Ljava/nio/FloatBuffer;" />
+	</class>
+	<class name="java/nio/IntBuffer" since="1">
+		<extends name="java/nio/Buffer" />
+		<implements name="java/lang/Comparable" />
+		<method name="allocate(I)Ljava/nio/IntBuffer;" />
+		<method name="array()[I" />
+		<method name="arrayOffset()I" />
+		<method name="asReadOnlyBuffer()Ljava/nio/IntBuffer;" />
+		<method name="compact()Ljava/nio/IntBuffer;" />
+		<method name="compareTo(Ljava/nio/IntBuffer;)I" />
+		<method name="duplicate()Ljava/nio/IntBuffer;" />
+		<method name="get()I" />
+		<method name="get(I)I" />
+		<method name="get([I)Ljava/nio/IntBuffer;" />
+		<method name="get([III)Ljava/nio/IntBuffer;" />
+		<method name="hasArray()Z" />
+		<method name="isDirect()Z" />
+		<method name="order()Ljava/nio/ByteOrder;" />
+		<method name="put(I)Ljava/nio/IntBuffer;" />
+		<method name="put(II)Ljava/nio/IntBuffer;" />
+		<method name="put(Ljava/nio/IntBuffer;)Ljava/nio/IntBuffer;" />
+		<method name="put([I)Ljava/nio/IntBuffer;" />
+		<method name="put([III)Ljava/nio/IntBuffer;" />
+		<method name="slice()Ljava/nio/IntBuffer;" />
+		<method name="wrap([I)Ljava/nio/IntBuffer;" />
+		<method name="wrap([III)Ljava/nio/IntBuffer;" />
+	</class>
+	<class name="java/nio/InvalidMarkException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/LongBuffer" since="1">
+		<extends name="java/nio/Buffer" />
+		<implements name="java/lang/Comparable" />
+		<method name="allocate(I)Ljava/nio/LongBuffer;" />
+		<method name="array()[J" />
+		<method name="arrayOffset()I" />
+		<method name="asReadOnlyBuffer()Ljava/nio/LongBuffer;" />
+		<method name="compact()Ljava/nio/LongBuffer;" />
+		<method name="compareTo(Ljava/nio/LongBuffer;)I" />
+		<method name="duplicate()Ljava/nio/LongBuffer;" />
+		<method name="get()J" />
+		<method name="get(I)J" />
+		<method name="get([J)Ljava/nio/LongBuffer;" />
+		<method name="get([JII)Ljava/nio/LongBuffer;" />
+		<method name="hasArray()Z" />
+		<method name="isDirect()Z" />
+		<method name="order()Ljava/nio/ByteOrder;" />
+		<method name="put(IJ)Ljava/nio/LongBuffer;" />
+		<method name="put(J)Ljava/nio/LongBuffer;" />
+		<method name="put(Ljava/nio/LongBuffer;)Ljava/nio/LongBuffer;" />
+		<method name="put([J)Ljava/nio/LongBuffer;" />
+		<method name="put([JII)Ljava/nio/LongBuffer;" />
+		<method name="slice()Ljava/nio/LongBuffer;" />
+		<method name="wrap([J)Ljava/nio/LongBuffer;" />
+		<method name="wrap([JII)Ljava/nio/LongBuffer;" />
+	</class>
+	<class name="java/nio/MappedByteBuffer" since="1">
+		<extends name="java/nio/ByteBuffer" />
+		<method name="force()Ljava/nio/MappedByteBuffer;" />
+		<method name="isLoaded()Z" />
+		<method name="load()Ljava/nio/MappedByteBuffer;" />
+	</class>
+	<class name="java/nio/ReadOnlyBufferException" since="1">
+		<extends name="java/lang/UnsupportedOperationException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/ShortBuffer" since="1">
+		<extends name="java/nio/Buffer" />
+		<implements name="java/lang/Comparable" />
+		<method name="allocate(I)Ljava/nio/ShortBuffer;" />
+		<method name="array()[S" />
+		<method name="arrayOffset()I" />
+		<method name="asReadOnlyBuffer()Ljava/nio/ShortBuffer;" />
+		<method name="compact()Ljava/nio/ShortBuffer;" />
+		<method name="compareTo(Ljava/nio/ShortBuffer;)I" />
+		<method name="duplicate()Ljava/nio/ShortBuffer;" />
+		<method name="get()S" />
+		<method name="get(I)S" />
+		<method name="get([S)Ljava/nio/ShortBuffer;" />
+		<method name="get([SII)Ljava/nio/ShortBuffer;" />
+		<method name="hasArray()Z" />
+		<method name="isDirect()Z" />
+		<method name="order()Ljava/nio/ByteOrder;" />
+		<method name="put(IS)Ljava/nio/ShortBuffer;" />
+		<method name="put(Ljava/nio/ShortBuffer;)Ljava/nio/ShortBuffer;" />
+		<method name="put(S)Ljava/nio/ShortBuffer;" />
+		<method name="put([S)Ljava/nio/ShortBuffer;" />
+		<method name="put([SII)Ljava/nio/ShortBuffer;" />
+		<method name="slice()Ljava/nio/ShortBuffer;" />
+		<method name="wrap([S)Ljava/nio/ShortBuffer;" />
+		<method name="wrap([SII)Ljava/nio/ShortBuffer;" />
+	</class>
+	<class name="java/nio/channels/AcceptPendingException" since="26">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/AlreadyBoundException" since="24">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/AlreadyConnectedException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/AsynchronousByteChannel" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/AsynchronousChannel" />
+		<method name="read(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;" />
+		<method name="read(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+		<method name="write(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;" />
+		<method name="write(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+	</class>
+	<class name="java/nio/channels/AsynchronousChannel" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/Channel" />
+	</class>
+	<class name="java/nio/channels/AsynchronousChannelGroup" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/spi/AsynchronousChannelProvider;)V" />
+		<method name="awaitTermination(JLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="isShutdown()Z" />
+		<method name="isTerminated()Z" />
+		<method name="provider()Ljava/nio/channels/spi/AsynchronousChannelProvider;" />
+		<method name="shutdown()V" />
+		<method name="shutdownNow()V" />
+		<method name="withCachedThreadPool(Ljava/util/concurrent/ExecutorService;I)Ljava/nio/channels/AsynchronousChannelGroup;" />
+		<method name="withFixedThreadPool(ILjava/util/concurrent/ThreadFactory;)Ljava/nio/channels/AsynchronousChannelGroup;" />
+		<method name="withThreadPool(Ljava/util/concurrent/ExecutorService;)Ljava/nio/channels/AsynchronousChannelGroup;" />
+	</class>
+	<class name="java/nio/channels/AsynchronousCloseException" since="1">
+		<extends name="java/nio/channels/ClosedChannelException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/AsynchronousFileChannel" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/AsynchronousChannel" />
+		<method name="&lt;init&gt;()V" />
+		<method name="force(Z)V" />
+		<method name="lock()Ljava/util/concurrent/Future;" />
+		<method name="lock(JJZ)Ljava/util/concurrent/Future;" />
+		<method name="lock(JJZLjava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+		<method name="lock(Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+		<method name="open(Ljava/nio/file/Path;Ljava/util/Set;Ljava/util/concurrent/ExecutorService;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/AsynchronousFileChannel;" />
+		<method name="open(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/AsynchronousFileChannel;" />
+		<method name="read(Ljava/nio/ByteBuffer;J)Ljava/util/concurrent/Future;" />
+		<method name="read(Ljava/nio/ByteBuffer;JLjava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+		<method name="size()J" />
+		<method name="truncate(J)Ljava/nio/channels/AsynchronousFileChannel;" />
+		<method name="tryLock()Ljava/nio/channels/FileLock;" />
+		<method name="tryLock(JJZ)Ljava/nio/channels/FileLock;" />
+		<method name="write(Ljava/nio/ByteBuffer;J)Ljava/util/concurrent/Future;" />
+		<method name="write(Ljava/nio/ByteBuffer;JLjava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+	</class>
+	<class name="java/nio/channels/AsynchronousServerSocketChannel" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/AsynchronousChannel" />
+		<implements name="java/nio/channels/NetworkChannel" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/spi/AsynchronousChannelProvider;)V" />
+		<method name="accept()Ljava/util/concurrent/Future;" />
+		<method name="accept(Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/AsynchronousServerSocketChannel;" />
+		<method name="bind(Ljava/net/SocketAddress;I)Ljava/nio/channels/AsynchronousServerSocketChannel;" />
+		<method name="open()Ljava/nio/channels/AsynchronousServerSocketChannel;" />
+		<method name="open(Ljava/nio/channels/AsynchronousChannelGroup;)Ljava/nio/channels/AsynchronousServerSocketChannel;" />
+		<method name="provider()Ljava/nio/channels/spi/AsynchronousChannelProvider;" />
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/AsynchronousServerSocketChannel;" />
+	</class>
+	<class name="java/nio/channels/AsynchronousSocketChannel" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/AsynchronousByteChannel" />
+		<implements name="java/nio/channels/NetworkChannel" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/spi/AsynchronousChannelProvider;)V" />
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/AsynchronousSocketChannel;" />
+		<method name="connect(Ljava/net/SocketAddress;)Ljava/util/concurrent/Future;" />
+		<method name="connect(Ljava/net/SocketAddress;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+		<method name="getRemoteAddress()Ljava/net/SocketAddress;" />
+		<method name="open()Ljava/nio/channels/AsynchronousSocketChannel;" />
+		<method name="open(Ljava/nio/channels/AsynchronousChannelGroup;)Ljava/nio/channels/AsynchronousSocketChannel;" />
+		<method name="provider()Ljava/nio/channels/spi/AsynchronousChannelProvider;" />
+		<method name="read(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+		<method name="read([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/AsynchronousSocketChannel;" />
+		<method name="shutdownInput()Ljava/nio/channels/AsynchronousSocketChannel;" />
+		<method name="shutdownOutput()Ljava/nio/channels/AsynchronousSocketChannel;" />
+		<method name="write(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+		<method name="write([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V" />
+	</class>
+	<class name="java/nio/channels/ByteChannel" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/ReadableByteChannel" />
+		<implements name="java/nio/channels/WritableByteChannel" />
+	</class>
+	<class name="java/nio/channels/CancelledKeyException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/Channel" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="isOpen()Z" />
+	</class>
+	<class name="java/nio/channels/Channels" since="1">
+		<extends name="java/lang/Object" />
+		<method name="newChannel(Ljava/io/InputStream;)Ljava/nio/channels/ReadableByteChannel;" />
+		<method name="newChannel(Ljava/io/OutputStream;)Ljava/nio/channels/WritableByteChannel;" />
+		<method name="newInputStream(Ljava/nio/channels/AsynchronousByteChannel;)Ljava/io/InputStream;" since="26" />
+		<method name="newInputStream(Ljava/nio/channels/ReadableByteChannel;)Ljava/io/InputStream;" />
+		<method name="newOutputStream(Ljava/nio/channels/AsynchronousByteChannel;)Ljava/io/OutputStream;" since="26" />
+		<method name="newOutputStream(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;" />
+		<method name="newReader(Ljava/nio/channels/ReadableByteChannel;Ljava/lang/String;)Ljava/io/Reader;" />
+		<method name="newReader(Ljava/nio/channels/ReadableByteChannel;Ljava/nio/charset/CharsetDecoder;I)Ljava/io/Reader;" />
+		<method name="newWriter(Ljava/nio/channels/WritableByteChannel;Ljava/lang/String;)Ljava/io/Writer;" />
+		<method name="newWriter(Ljava/nio/channels/WritableByteChannel;Ljava/nio/charset/CharsetEncoder;I)Ljava/io/Writer;" />
+	</class>
+	<class name="java/nio/channels/ClosedByInterruptException" since="1">
+		<extends name="java/nio/channels/AsynchronousCloseException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/ClosedChannelException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/ClosedSelectorException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/CompletionHandler" since="26">
+		<extends name="java/lang/Object" />
+		<method name="completed(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="failed(Ljava/lang/Throwable;Ljava/lang/Object;)V" />
+	</class>
+	<class name="java/nio/channels/ConnectionPendingException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/DatagramChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractSelectableChannel" />
+		<implements name="java/nio/channels/ByteChannel" />
+		<implements name="java/nio/channels/GatheringByteChannel" />
+		<implements name="java/nio/channels/MulticastChannel" since="26" />
+		<implements name="java/nio/channels/NetworkChannel" since="24" removed="26" />
+		<implements name="java/nio/channels/ScatteringByteChannel" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/spi/SelectorProvider;)V" />
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;" since="24" />
+		<method name="connect(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;" />
+		<method name="disconnect()Ljava/nio/channels/DatagramChannel;" />
+		<method name="getRemoteAddress()Ljava/net/SocketAddress;" since="24" />
+		<method name="isConnected()Z" />
+		<method name="open()Ljava/nio/channels/DatagramChannel;" />
+		<method name="open(Ljava/net/ProtocolFamily;)Ljava/nio/channels/DatagramChannel;" since="24" />
+		<method name="receive(Ljava/nio/ByteBuffer;)Ljava/net/SocketAddress;" />
+		<method name="send(Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I" />
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/DatagramChannel;" since="24" />
+		<method name="socket()Ljava/net/DatagramSocket;" />
+	</class>
+	<class name="java/nio/channels/FileChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractInterruptibleChannel" />
+		<implements name="java/nio/channels/ByteChannel" removed="24" />
+		<implements name="java/nio/channels/GatheringByteChannel" />
+		<implements name="java/nio/channels/ScatteringByteChannel" />
+		<implements name="java/nio/channels/SeekableByteChannel" since="24" />
+		<method name="&lt;init&gt;()V" />
+		<method name="force(Z)V" />
+		<method name="lock()Ljava/nio/channels/FileLock;" />
+		<method name="lock(JJZ)Ljava/nio/channels/FileLock;" />
+		<method name="map(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;" />
+		<method name="open(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/FileChannel;" since="26" />
+		<method name="open(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;" since="26" />
+		<method name="position()J" />
+		<method name="position(J)Ljava/nio/channels/FileChannel;" />
+		<method name="read(Ljava/nio/ByteBuffer;J)I" />
+		<method name="size()J" />
+		<method name="transferFrom(Ljava/nio/channels/ReadableByteChannel;JJ)J" />
+		<method name="transferTo(JJLjava/nio/channels/WritableByteChannel;)J" />
+		<method name="truncate(J)Ljava/nio/channels/FileChannel;" />
+		<method name="tryLock()Ljava/nio/channels/FileLock;" />
+		<method name="tryLock(JJZ)Ljava/nio/channels/FileLock;" />
+		<method name="write(Ljava/nio/ByteBuffer;J)I" />
+	</class>
+	<class name="java/nio/channels/FileChannel$MapMode" since="1">
+		<extends name="java/lang/Object" />
+		<field name="PRIVATE" />
+		<field name="READ_ONLY" />
+		<field name="READ_WRITE" />
+	</class>
+	<class name="java/nio/channels/FileLock" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="19" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/AsynchronousFileChannel;JJZ)V" since="26" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/FileChannel;JJZ)V" />
+		<method name="acquiredBy()Ljava/nio/channels/Channel;" since="24" />
+		<method name="channel()Ljava/nio/channels/FileChannel;" />
+		<method name="isShared()Z" />
+		<method name="isValid()Z" />
+		<method name="overlaps(JJ)Z" />
+		<method name="position()J" />
+		<method name="release()V" />
+		<method name="size()J" />
+	</class>
+	<class name="java/nio/channels/FileLockInterruptionException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/GatheringByteChannel" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/WritableByteChannel" />
+		<method name="write([Ljava/nio/ByteBuffer;)J" />
+		<method name="write([Ljava/nio/ByteBuffer;II)J" />
+	</class>
+	<class name="java/nio/channels/IllegalBlockingModeException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/IllegalChannelGroupException" since="26">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/IllegalSelectorException" since="1">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/InterruptedByTimeoutException" since="26">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/InterruptibleChannel" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/Channel" />
+	</class>
+	<class name="java/nio/channels/MembershipKey" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="block(Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;" />
+		<method name="channel()Ljava/nio/channels/MulticastChannel;" />
+		<method name="drop()V" />
+		<method name="group()Ljava/net/InetAddress;" />
+		<method name="isValid()Z" />
+		<method name="networkInterface()Ljava/net/NetworkInterface;" />
+		<method name="sourceAddress()Ljava/net/InetAddress;" />
+		<method name="unblock(Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;" />
+	</class>
+	<class name="java/nio/channels/MulticastChannel" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/NetworkChannel" />
+		<method name="join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)Ljava/nio/channels/MembershipKey;" />
+		<method name="join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;" />
+	</class>
+	<class name="java/nio/channels/NetworkChannel" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/Channel" />
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/NetworkChannel;" />
+		<method name="getLocalAddress()Ljava/net/SocketAddress;" />
+		<method name="getOption(Ljava/net/SocketOption;)Ljava/lang/Object;" />
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/NetworkChannel;" />
+		<method name="supportedOptions()Ljava/util/Set;" />
+	</class>
+	<class name="java/nio/channels/NoConnectionPendingException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/NonReadableChannelException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/NonWritableChannelException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/NotYetBoundException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/NotYetConnectedException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/OverlappingFileLockException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/Pipe" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="open()Ljava/nio/channels/Pipe;" />
+		<method name="sink()Ljava/nio/channels/Pipe$SinkChannel;" />
+		<method name="source()Ljava/nio/channels/Pipe$SourceChannel;" />
+	</class>
+	<class name="java/nio/channels/Pipe$SinkChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractSelectableChannel" />
+		<implements name="java/nio/channels/GatheringByteChannel" />
+		<implements name="java/nio/channels/WritableByteChannel" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/spi/SelectorProvider;)V" />
+	</class>
+	<class name="java/nio/channels/Pipe$SourceChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractSelectableChannel" />
+		<implements name="java/nio/channels/ReadableByteChannel" />
+		<implements name="java/nio/channels/ScatteringByteChannel" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/spi/SelectorProvider;)V" />
+	</class>
+	<class name="java/nio/channels/ReadPendingException" since="26">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/ReadableByteChannel" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/Channel" />
+		<method name="read(Ljava/nio/ByteBuffer;)I" />
+	</class>
+	<class name="java/nio/channels/ScatteringByteChannel" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/ReadableByteChannel" />
+		<method name="read([Ljava/nio/ByteBuffer;)J" />
+		<method name="read([Ljava/nio/ByteBuffer;II)J" />
+	</class>
+	<class name="java/nio/channels/SeekableByteChannel" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/ByteChannel" />
+		<method name="position()J" />
+		<method name="position(J)Ljava/nio/channels/SeekableByteChannel;" />
+		<method name="size()J" />
+		<method name="truncate(J)Ljava/nio/channels/SeekableByteChannel;" />
+	</class>
+	<class name="java/nio/channels/SelectableChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractInterruptibleChannel" />
+		<method name="&lt;init&gt;()V" />
+		<method name="blockingLock()Ljava/lang/Object;" />
+		<method name="configureBlocking(Z)Ljava/nio/channels/SelectableChannel;" />
+		<method name="isBlocking()Z" />
+		<method name="isRegistered()Z" />
+		<method name="keyFor(Ljava/nio/channels/Selector;)Ljava/nio/channels/SelectionKey;" />
+		<method name="provider()Ljava/nio/channels/spi/SelectorProvider;" />
+		<method name="register(Ljava/nio/channels/Selector;I)Ljava/nio/channels/SelectionKey;" />
+		<method name="register(Ljava/nio/channels/Selector;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;" />
+		<method name="validOps()I" />
+	</class>
+	<class name="java/nio/channels/SelectionKey" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="attach(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="attachment()Ljava/lang/Object;" />
+		<method name="cancel()V" />
+		<method name="channel()Ljava/nio/channels/SelectableChannel;" />
+		<method name="interestOps()I" />
+		<method name="interestOps(I)Ljava/nio/channels/SelectionKey;" />
+		<method name="isAcceptable()Z" />
+		<method name="isConnectable()Z" />
+		<method name="isReadable()Z" />
+		<method name="isValid()Z" />
+		<method name="isWritable()Z" />
+		<method name="readyOps()I" />
+		<method name="selector()Ljava/nio/channels/Selector;" />
+		<field name="OP_ACCEPT" />
+		<field name="OP_CONNECT" />
+		<field name="OP_READ" />
+		<field name="OP_WRITE" />
+	</class>
+	<class name="java/nio/channels/Selector" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" since="19" />
+		<method name="&lt;init&gt;()V" />
+		<method name="close()V" />
+		<method name="isOpen()Z" />
+		<method name="keys()Ljava/util/Set;" />
+		<method name="open()Ljava/nio/channels/Selector;" />
+		<method name="provider()Ljava/nio/channels/spi/SelectorProvider;" />
+		<method name="select()I" />
+		<method name="select(J)I" />
+		<method name="selectNow()I" />
+		<method name="selectedKeys()Ljava/util/Set;" />
+		<method name="wakeup()Ljava/nio/channels/Selector;" />
+	</class>
+	<class name="java/nio/channels/ServerSocketChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractSelectableChannel" />
+		<implements name="java/nio/channels/NetworkChannel" since="24" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/spi/SelectorProvider;)V" />
+		<method name="accept()Ljava/nio/channels/SocketChannel;" />
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/ServerSocketChannel;" since="24" />
+		<method name="bind(Ljava/net/SocketAddress;I)Ljava/nio/channels/ServerSocketChannel;" since="24" />
+		<method name="open()Ljava/nio/channels/ServerSocketChannel;" />
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/ServerSocketChannel;" since="24" />
+		<method name="socket()Ljava/net/ServerSocket;" />
+	</class>
+	<class name="java/nio/channels/ShutdownChannelGroupException" since="26">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/SocketChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractSelectableChannel" />
+		<implements name="java/nio/channels/ByteChannel" />
+		<implements name="java/nio/channels/GatheringByteChannel" />
+		<implements name="java/nio/channels/NetworkChannel" since="24" />
+		<implements name="java/nio/channels/ScatteringByteChannel" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/spi/SelectorProvider;)V" />
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/SocketChannel;" since="24" />
+		<method name="connect(Ljava/net/SocketAddress;)Z" />
+		<method name="finishConnect()Z" />
+		<method name="getRemoteAddress()Ljava/net/SocketAddress;" since="24" />
+		<method name="isConnected()Z" />
+		<method name="isConnectionPending()Z" />
+		<method name="open()Ljava/nio/channels/SocketChannel;" />
+		<method name="open(Ljava/net/SocketAddress;)Ljava/nio/channels/SocketChannel;" />
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/SocketChannel;" since="24" />
+		<method name="shutdownInput()Ljava/nio/channels/SocketChannel;" since="24" />
+		<method name="shutdownOutput()Ljava/nio/channels/SocketChannel;" since="24" />
+		<method name="socket()Ljava/net/Socket;" />
+	</class>
+	<class name="java/nio/channels/UnresolvedAddressException" since="1">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/UnsupportedAddressTypeException" since="1">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/WritableByteChannel" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/Channel" />
+		<method name="write(Ljava/nio/ByteBuffer;)I" />
+	</class>
+	<class name="java/nio/channels/WritePendingException" since="26">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/spi/AbstractInterruptibleChannel" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/channels/Channel" />
+		<implements name="java/nio/channels/InterruptibleChannel" />
+		<method name="&lt;init&gt;()V" />
+		<method name="begin()V" />
+		<method name="end(Z)V" />
+		<method name="implCloseChannel()V" />
+	</class>
+	<class name="java/nio/channels/spi/AbstractSelectableChannel" since="1">
+		<extends name="java/nio/channels/SelectableChannel" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/spi/SelectorProvider;)V" />
+		<method name="implCloseSelectableChannel()V" />
+		<method name="implConfigureBlocking(Z)V" />
+	</class>
+	<class name="java/nio/channels/spi/AbstractSelectionKey" since="1">
+		<extends name="java/nio/channels/SelectionKey" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/channels/spi/AbstractSelector" since="1">
+		<extends name="java/nio/channels/Selector" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/spi/SelectorProvider;)V" />
+		<method name="begin()V" />
+		<method name="cancelledKeys()Ljava/util/Set;" />
+		<method name="deregister(Ljava/nio/channels/spi/AbstractSelectionKey;)V" />
+		<method name="end()V" />
+		<method name="implCloseSelector()V" />
+		<method name="register(Ljava/nio/channels/spi/AbstractSelectableChannel;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;" />
+	</class>
+	<class name="java/nio/channels/spi/AsynchronousChannelProvider" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="openAsynchronousChannelGroup(ILjava/util/concurrent/ThreadFactory;)Ljava/nio/channels/AsynchronousChannelGroup;" />
+		<method name="openAsynchronousChannelGroup(Ljava/util/concurrent/ExecutorService;I)Ljava/nio/channels/AsynchronousChannelGroup;" />
+		<method name="openAsynchronousServerSocketChannel(Ljava/nio/channels/AsynchronousChannelGroup;)Ljava/nio/channels/AsynchronousServerSocketChannel;" />
+		<method name="openAsynchronousSocketChannel(Ljava/nio/channels/AsynchronousChannelGroup;)Ljava/nio/channels/AsynchronousSocketChannel;" />
+		<method name="provider()Ljava/nio/channels/spi/AsynchronousChannelProvider;" />
+	</class>
+	<class name="java/nio/channels/spi/SelectorProvider" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="inheritedChannel()Ljava/nio/channels/Channel;" />
+		<method name="openDatagramChannel()Ljava/nio/channels/DatagramChannel;" />
+		<method name="openDatagramChannel(Ljava/net/ProtocolFamily;)Ljava/nio/channels/DatagramChannel;" since="24" />
+		<method name="openPipe()Ljava/nio/channels/Pipe;" />
+		<method name="openSelector()Ljava/nio/channels/spi/AbstractSelector;" />
+		<method name="openServerSocketChannel()Ljava/nio/channels/ServerSocketChannel;" />
+		<method name="openSocketChannel()Ljava/nio/channels/SocketChannel;" />
+		<method name="provider()Ljava/nio/channels/spi/SelectorProvider;" />
+	</class>
+	<class name="java/nio/charset/CharacterCodingException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/charset/Charset" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[Ljava/lang/String;)V" />
+		<method name="aliases()Ljava/util/Set;" />
+		<method name="availableCharsets()Ljava/util/SortedMap;" />
+		<method name="canEncode()Z" />
+		<method name="compareTo(Ljava/nio/charset/Charset;)I" />
+		<method name="contains(Ljava/nio/charset/Charset;)Z" />
+		<method name="decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;" />
+		<method name="defaultCharset()Ljava/nio/charset/Charset;" />
+		<method name="displayName()Ljava/lang/String;" />
+		<method name="displayName(Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="encode(Ljava/lang/String;)Ljava/nio/ByteBuffer;" />
+		<method name="encode(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;" />
+		<method name="forName(Ljava/lang/String;)Ljava/nio/charset/Charset;" />
+		<method name="isRegistered()Z" />
+		<method name="isSupported(Ljava/lang/String;)Z" />
+		<method name="name()Ljava/lang/String;" />
+		<method name="newDecoder()Ljava/nio/charset/CharsetDecoder;" />
+		<method name="newEncoder()Ljava/nio/charset/CharsetEncoder;" />
+	</class>
+	<class name="java/nio/charset/CharsetDecoder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/nio/charset/Charset;FF)V" />
+		<method name="averageCharsPerByte()F" />
+		<method name="charset()Ljava/nio/charset/Charset;" />
+		<method name="decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;" />
+		<method name="decode(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;" />
+		<method name="decodeLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;" />
+		<method name="detectedCharset()Ljava/nio/charset/Charset;" />
+		<method name="flush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;" />
+		<method name="implFlush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;" />
+		<method name="implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V" />
+		<method name="implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V" />
+		<method name="implReplaceWith(Ljava/lang/String;)V" />
+		<method name="implReset()V" />
+		<method name="isAutoDetecting()Z" />
+		<method name="isCharsetDetected()Z" />
+		<method name="malformedInputAction()Ljava/nio/charset/CodingErrorAction;" />
+		<method name="maxCharsPerByte()F" />
+		<method name="onMalformedInput(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;" />
+		<method name="onUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;" />
+		<method name="replaceWith(Ljava/lang/String;)Ljava/nio/charset/CharsetDecoder;" />
+		<method name="replacement()Ljava/lang/String;" />
+		<method name="reset()Ljava/nio/charset/CharsetDecoder;" />
+		<method name="unmappableCharacterAction()Ljava/nio/charset/CodingErrorAction;" />
+	</class>
+	<class name="java/nio/charset/CharsetEncoder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/nio/charset/Charset;FF)V" />
+		<method name="&lt;init&gt;(Ljava/nio/charset/Charset;FF[B)V" />
+		<method name="averageBytesPerChar()F" />
+		<method name="canEncode(C)Z" />
+		<method name="canEncode(Ljava/lang/CharSequence;)Z" />
+		<method name="charset()Ljava/nio/charset/Charset;" />
+		<method name="encode(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;" />
+		<method name="encode(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;" />
+		<method name="encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;" />
+		<method name="flush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;" />
+		<method name="implFlush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;" />
+		<method name="implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V" />
+		<method name="implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V" />
+		<method name="implReplaceWith([B)V" />
+		<method name="implReset()V" />
+		<method name="isLegalReplacement([B)Z" />
+		<method name="malformedInputAction()Ljava/nio/charset/CodingErrorAction;" />
+		<method name="maxBytesPerChar()F" />
+		<method name="onMalformedInput(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;" />
+		<method name="onUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;" />
+		<method name="replaceWith([B)Ljava/nio/charset/CharsetEncoder;" />
+		<method name="replacement()[B" />
+		<method name="reset()Ljava/nio/charset/CharsetEncoder;" />
+		<method name="unmappableCharacterAction()Ljava/nio/charset/CodingErrorAction;" />
+	</class>
+	<class name="java/nio/charset/CoderMalfunctionError" since="1">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" />
+	</class>
+	<class name="java/nio/charset/CoderResult" since="1">
+		<extends name="java/lang/Object" />
+		<method name="isError()Z" />
+		<method name="isMalformed()Z" />
+		<method name="isOverflow()Z" />
+		<method name="isUnderflow()Z" />
+		<method name="isUnmappable()Z" />
+		<method name="length()I" />
+		<method name="malformedForLength(I)Ljava/nio/charset/CoderResult;" />
+		<method name="throwException()V" />
+		<method name="unmappableForLength(I)Ljava/nio/charset/CoderResult;" />
+		<field name="OVERFLOW" />
+		<field name="UNDERFLOW" />
+	</class>
+	<class name="java/nio/charset/CodingErrorAction" since="1">
+		<extends name="java/lang/Object" />
+		<field name="IGNORE" />
+		<field name="REPLACE" />
+		<field name="REPORT" />
+	</class>
+	<class name="java/nio/charset/IllegalCharsetNameException" since="1">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getCharsetName()Ljava/lang/String;" />
+	</class>
+	<class name="java/nio/charset/MalformedInputException" since="1">
+		<extends name="java/nio/charset/CharacterCodingException" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getInputLength()I" />
+	</class>
+	<class name="java/nio/charset/StandardCharsets" since="19">
+		<extends name="java/lang/Object" />
+		<field name="ISO_8859_1" />
+		<field name="US_ASCII" />
+		<field name="UTF_16" />
+		<field name="UTF_16BE" />
+		<field name="UTF_16LE" />
+		<field name="UTF_8" />
+	</class>
+	<class name="java/nio/charset/UnmappableCharacterException" since="1">
+		<extends name="java/nio/charset/CharacterCodingException" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getInputLength()I" />
+	</class>
+	<class name="java/nio/charset/UnsupportedCharsetException" since="1">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getCharsetName()Ljava/lang/String;" />
+	</class>
+	<class name="java/nio/charset/spi/CharsetProvider" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="charsetForName(Ljava/lang/String;)Ljava/nio/charset/Charset;" />
+		<method name="charsets()Ljava/util/Iterator;" />
+	</class>
+	<class name="java/nio/file/AccessDeniedException" since="26">
+		<extends name="java/nio/file/FileSystemException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/AccessMode" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/AccessMode;" />
+		<method name="values()[Ljava/nio/file/AccessMode;" />
+		<field name="EXECUTE" />
+		<field name="READ" />
+		<field name="WRITE" />
+	</class>
+	<class name="java/nio/file/AtomicMoveNotSupportedException" since="26">
+		<extends name="java/nio/file/FileSystemException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/ClosedDirectoryStreamException" since="26">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/file/ClosedFileSystemException" since="26">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/file/ClosedWatchServiceException" since="26">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/file/CopyOption" since="26">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/nio/file/DirectoryIteratorException" since="26">
+		<extends name="java/util/ConcurrentModificationException" />
+		<method name="&lt;init&gt;(Ljava/io/IOException;)V" />
+		<method name="getCause()Ljava/io/IOException;" />
+	</class>
+	<class name="java/nio/file/DirectoryNotEmptyException" since="26">
+		<extends name="java/nio/file/FileSystemException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/DirectoryStream" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<implements name="java/lang/Iterable" />
+	</class>
+	<class name="java/nio/file/DirectoryStream$Filter" since="26">
+		<extends name="java/lang/Object" />
+		<method name="accept(Ljava/lang/Object;)Z" />
+	</class>
+	<class name="java/nio/file/FileAlreadyExistsException" since="26">
+		<extends name="java/nio/file/FileSystemException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/FileStore" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getFileStoreAttributeView(Ljava/lang/Class;)Ljava/nio/file/attribute/FileStoreAttributeView;" />
+		<method name="getTotalSpace()J" />
+		<method name="getUnallocatedSpace()J" />
+		<method name="getUsableSpace()J" />
+		<method name="isReadOnly()Z" />
+		<method name="name()Ljava/lang/String;" />
+		<method name="supportsFileAttributeView(Ljava/lang/Class;)Z" />
+		<method name="supportsFileAttributeView(Ljava/lang/String;)Z" />
+		<method name="type()Ljava/lang/String;" />
+	</class>
+	<class name="java/nio/file/FileSystem" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getFileStores()Ljava/lang/Iterable;" />
+		<method name="getPath(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;" />
+		<method name="getPathMatcher(Ljava/lang/String;)Ljava/nio/file/PathMatcher;" />
+		<method name="getRootDirectories()Ljava/lang/Iterable;" />
+		<method name="getSeparator()Ljava/lang/String;" />
+		<method name="getUserPrincipalLookupService()Ljava/nio/file/attribute/UserPrincipalLookupService;" />
+		<method name="isOpen()Z" />
+		<method name="isReadOnly()Z" />
+		<method name="newWatchService()Ljava/nio/file/WatchService;" />
+		<method name="provider()Ljava/nio/file/spi/FileSystemProvider;" />
+		<method name="supportedFileAttributeViews()Ljava/util/Set;" />
+	</class>
+	<class name="java/nio/file/FileSystemAlreadyExistsException" since="26">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/FileSystemException" since="26">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getFile()Ljava/lang/String;" />
+		<method name="getOtherFile()Ljava/lang/String;" />
+		<method name="getReason()Ljava/lang/String;" />
+	</class>
+	<class name="java/nio/file/FileSystemLoopException" since="26">
+		<extends name="java/nio/file/FileSystemException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/FileSystemNotFoundException" since="26">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/FileSystems" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getDefault()Ljava/nio/file/FileSystem;" />
+		<method name="getFileSystem(Ljava/net/URI;)Ljava/nio/file/FileSystem;" />
+		<method name="newFileSystem(Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;" />
+		<method name="newFileSystem(Ljava/net/URI;Ljava/util/Map;Ljava/lang/ClassLoader;)Ljava/nio/file/FileSystem;" />
+		<method name="newFileSystem(Ljava/nio/file/Path;Ljava/lang/ClassLoader;)Ljava/nio/file/FileSystem;" />
+	</class>
+	<class name="java/nio/file/FileVisitOption" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/FileVisitOption;" />
+		<method name="values()[Ljava/nio/file/FileVisitOption;" />
+		<field name="FOLLOW_LINKS" />
+	</class>
+	<class name="java/nio/file/FileVisitResult" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/FileVisitResult;" />
+		<method name="values()[Ljava/nio/file/FileVisitResult;" />
+		<field name="CONTINUE" />
+		<field name="SKIP_SIBLINGS" />
+		<field name="SKIP_SUBTREE" />
+		<field name="TERMINATE" />
+	</class>
+	<class name="java/nio/file/FileVisitor" since="26">
+		<extends name="java/lang/Object" />
+		<method name="postVisitDirectory(Ljava/lang/Object;Ljava/io/IOException;)Ljava/nio/file/FileVisitResult;" />
+		<method name="preVisitDirectory(Ljava/lang/Object;Ljava/nio/file/attribute/BasicFileAttributes;)Ljava/nio/file/FileVisitResult;" />
+		<method name="visitFile(Ljava/lang/Object;Ljava/nio/file/attribute/BasicFileAttributes;)Ljava/nio/file/FileVisitResult;" />
+		<method name="visitFileFailed(Ljava/lang/Object;Ljava/io/IOException;)Ljava/nio/file/FileVisitResult;" />
+	</class>
+	<class name="java/nio/file/Files" since="26">
+		<extends name="java/lang/Object" />
+		<method name="copy(Ljava/io/InputStream;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)J" />
+		<method name="copy(Ljava/nio/file/Path;Ljava/io/OutputStream;)J" />
+		<method name="copy(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;" />
+		<method name="createDirectories(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;" />
+		<method name="createDirectory(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;" />
+		<method name="createFile(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;" />
+		<method name="createLink(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;" />
+		<method name="createSymbolicLink(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;" />
+		<method name="createTempDirectory(Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;" />
+		<method name="createTempDirectory(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;" />
+		<method name="createTempFile(Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;" />
+		<method name="createTempFile(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;" />
+		<method name="delete(Ljava/nio/file/Path;)V" />
+		<method name="deleteIfExists(Ljava/nio/file/Path;)Z" />
+		<method name="exists(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z" />
+		<method name="find(Ljava/nio/file/Path;ILjava/util/function/BiPredicate;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;" />
+		<method name="getAttribute(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;" />
+		<method name="getFileAttributeView(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;" />
+		<method name="getFileStore(Ljava/nio/file/Path;)Ljava/nio/file/FileStore;" />
+		<method name="getLastModifiedTime(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileTime;" />
+		<method name="getOwner(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/UserPrincipal;" />
+		<method name="getPosixFilePermissions(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/util/Set;" />
+		<method name="isDirectory(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z" />
+		<method name="isExecutable(Ljava/nio/file/Path;)Z" />
+		<method name="isHidden(Ljava/nio/file/Path;)Z" />
+		<method name="isReadable(Ljava/nio/file/Path;)Z" />
+		<method name="isRegularFile(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z" />
+		<method name="isSameFile(Ljava/nio/file/Path;Ljava/nio/file/Path;)Z" />
+		<method name="isSymbolicLink(Ljava/nio/file/Path;)Z" />
+		<method name="isWritable(Ljava/nio/file/Path;)Z" />
+		<method name="lines(Ljava/nio/file/Path;)Ljava/util/stream/Stream;" />
+		<method name="lines(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/util/stream/Stream;" />
+		<method name="list(Ljava/nio/file/Path;)Ljava/util/stream/Stream;" />
+		<method name="move(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;" />
+		<method name="newBufferedReader(Ljava/nio/file/Path;)Ljava/io/BufferedReader;" />
+		<method name="newBufferedReader(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;" />
+		<method name="newBufferedWriter(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;" />
+		<method name="newBufferedWriter(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;" />
+		<method name="newByteChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;" />
+		<method name="newByteChannel(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/SeekableByteChannel;" />
+		<method name="newDirectoryStream(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;" />
+		<method name="newDirectoryStream(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/DirectoryStream;" />
+		<method name="newDirectoryStream(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;" />
+		<method name="newInputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;" />
+		<method name="newOutputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;" />
+		<method name="notExists(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z" />
+		<method name="probeContentType(Ljava/nio/file/Path;)Ljava/lang/String;" />
+		<method name="readAllBytes(Ljava/nio/file/Path;)[B" />
+		<method name="readAllLines(Ljava/nio/file/Path;)Ljava/util/List;" />
+		<method name="readAllLines(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/util/List;" />
+		<method name="readAttributes(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;" />
+		<method name="readAttributes(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/util/Map;" />
+		<method name="readSymbolicLink(Ljava/nio/file/Path;)Ljava/nio/file/Path;" />
+		<method name="setAttribute(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;" />
+		<method name="setLastModifiedTime(Ljava/nio/file/Path;Ljava/nio/file/attribute/FileTime;)Ljava/nio/file/Path;" />
+		<method name="setOwner(Ljava/nio/file/Path;Ljava/nio/file/attribute/UserPrincipal;)Ljava/nio/file/Path;" />
+		<method name="setPosixFilePermissions(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;" />
+		<method name="size(Ljava/nio/file/Path;)J" />
+		<method name="walk(Ljava/nio/file/Path;I[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;" />
+		<method name="walk(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;" />
+		<method name="walkFileTree(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;" />
+		<method name="walkFileTree(Ljava/nio/file/Path;Ljava/util/Set;ILjava/nio/file/FileVisitor;)Ljava/nio/file/Path;" />
+		<method name="write(Ljava/nio/file/Path;Ljava/lang/Iterable;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;" />
+		<method name="write(Ljava/nio/file/Path;Ljava/lang/Iterable;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;" />
+		<method name="write(Ljava/nio/file/Path;[B[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;" />
+	</class>
+	<class name="java/nio/file/InvalidPathException" since="26">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="getIndex()I" />
+		<method name="getInput()Ljava/lang/String;" />
+		<method name="getReason()Ljava/lang/String;" />
+	</class>
+	<class name="java/nio/file/LinkOption" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/nio/file/CopyOption" />
+		<implements name="java/nio/file/OpenOption" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/LinkOption;" />
+		<method name="values()[Ljava/nio/file/LinkOption;" />
+		<field name="NOFOLLOW_LINKS" />
+	</class>
+	<class name="java/nio/file/LinkPermission" since="26">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/NoSuchFileException" since="26">
+		<extends name="java/nio/file/FileSystemException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/NotDirectoryException" since="26">
+		<extends name="java/nio/file/FileSystemException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/NotLinkException" since="26">
+		<extends name="java/nio/file/FileSystemException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/OpenOption" since="26">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/nio/file/Path" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/lang/Iterable" />
+		<implements name="java/nio/file/Watchable" />
+		<method name="compareTo(Ljava/nio/file/Path;)I" />
+		<method name="endsWith(Ljava/lang/String;)Z" />
+		<method name="endsWith(Ljava/nio/file/Path;)Z" />
+		<method name="getFileName()Ljava/nio/file/Path;" />
+		<method name="getFileSystem()Ljava/nio/file/FileSystem;" />
+		<method name="getName(I)Ljava/nio/file/Path;" />
+		<method name="getNameCount()I" />
+		<method name="getParent()Ljava/nio/file/Path;" />
+		<method name="getRoot()Ljava/nio/file/Path;" />
+		<method name="isAbsolute()Z" />
+		<method name="normalize()Ljava/nio/file/Path;" />
+		<method name="relativize(Ljava/nio/file/Path;)Ljava/nio/file/Path;" />
+		<method name="resolve(Ljava/lang/String;)Ljava/nio/file/Path;" />
+		<method name="resolve(Ljava/nio/file/Path;)Ljava/nio/file/Path;" />
+		<method name="resolveSibling(Ljava/lang/String;)Ljava/nio/file/Path;" />
+		<method name="resolveSibling(Ljava/nio/file/Path;)Ljava/nio/file/Path;" />
+		<method name="startsWith(Ljava/lang/String;)Z" />
+		<method name="startsWith(Ljava/nio/file/Path;)Z" />
+		<method name="subpath(II)Ljava/nio/file/Path;" />
+		<method name="toAbsolutePath()Ljava/nio/file/Path;" />
+		<method name="toFile()Ljava/io/File;" />
+		<method name="toRealPath([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;" />
+		<method name="toUri()Ljava/net/URI;" />
+	</class>
+	<class name="java/nio/file/PathMatcher" since="26">
+		<extends name="java/lang/Object" />
+		<method name="matches(Ljava/nio/file/Path;)Z" />
+	</class>
+	<class name="java/nio/file/Paths" since="26">
+		<extends name="java/lang/Object" />
+		<method name="get(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;" />
+		<method name="get(Ljava/net/URI;)Ljava/nio/file/Path;" />
+	</class>
+	<class name="java/nio/file/ProviderMismatchException" since="26">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/ProviderNotFoundException" since="26">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/nio/file/ReadOnlyFileSystemException" since="26">
+		<extends name="java/lang/UnsupportedOperationException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/file/SecureDirectoryStream" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/DirectoryStream" />
+		<method name="deleteDirectory(Ljava/lang/Object;)V" />
+		<method name="deleteFile(Ljava/lang/Object;)V" />
+		<method name="getFileAttributeView(Ljava/lang/Class;)Ljava/nio/file/attribute/FileAttributeView;" />
+		<method name="getFileAttributeView(Ljava/lang/Object;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;" />
+		<method name="move(Ljava/lang/Object;Ljava/nio/file/SecureDirectoryStream;Ljava/lang/Object;)V" />
+		<method name="newByteChannel(Ljava/lang/Object;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;" />
+		<method name="newDirectoryStream(Ljava/lang/Object;[Ljava/nio/file/LinkOption;)Ljava/nio/file/SecureDirectoryStream;" />
+	</class>
+	<class name="java/nio/file/SimpleFileVisitor" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/FileVisitor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/nio/file/StandardCopyOption" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/nio/file/CopyOption" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/StandardCopyOption;" />
+		<method name="values()[Ljava/nio/file/StandardCopyOption;" />
+		<field name="ATOMIC_MOVE" />
+		<field name="COPY_ATTRIBUTES" />
+		<field name="REPLACE_EXISTING" />
+	</class>
+	<class name="java/nio/file/StandardOpenOption" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/nio/file/OpenOption" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/StandardOpenOption;" />
+		<method name="values()[Ljava/nio/file/StandardOpenOption;" />
+		<field name="APPEND" />
+		<field name="CREATE" />
+		<field name="CREATE_NEW" />
+		<field name="DELETE_ON_CLOSE" />
+		<field name="DSYNC" />
+		<field name="READ" />
+		<field name="SPARSE" />
+		<field name="SYNC" />
+		<field name="TRUNCATE_EXISTING" />
+		<field name="WRITE" />
+	</class>
+	<class name="java/nio/file/StandardWatchEventKinds" since="26">
+		<extends name="java/lang/Object" />
+		<field name="ENTRY_CREATE" />
+		<field name="ENTRY_DELETE" />
+		<field name="ENTRY_MODIFY" />
+		<field name="OVERFLOW" />
+	</class>
+	<class name="java/nio/file/WatchEvent" since="26">
+		<extends name="java/lang/Object" />
+		<method name="context()Ljava/lang/Object;" />
+		<method name="count()I" />
+		<method name="kind()Ljava/nio/file/WatchEvent$Kind;" />
+	</class>
+	<class name="java/nio/file/WatchEvent$Kind" since="26">
+		<extends name="java/lang/Object" />
+		<method name="name()Ljava/lang/String;" />
+		<method name="type()Ljava/lang/Class;" />
+	</class>
+	<class name="java/nio/file/WatchEvent$Modifier" since="26">
+		<extends name="java/lang/Object" />
+		<method name="name()Ljava/lang/String;" />
+	</class>
+	<class name="java/nio/file/WatchKey" since="26">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" />
+		<method name="isValid()Z" />
+		<method name="pollEvents()Ljava/util/List;" />
+		<method name="reset()Z" />
+		<method name="watchable()Ljava/nio/file/Watchable;" />
+	</class>
+	<class name="java/nio/file/WatchService" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<method name="poll()Ljava/nio/file/WatchKey;" />
+		<method name="poll(JLjava/util/concurrent/TimeUnit;)Ljava/nio/file/WatchKey;" />
+		<method name="take()Ljava/nio/file/WatchKey;" />
+	</class>
+	<class name="java/nio/file/Watchable" since="26">
+		<extends name="java/lang/Object" />
+		<method name="register(Ljava/nio/file/WatchService;[Ljava/nio/file/WatchEvent$Kind;)Ljava/nio/file/WatchKey;" />
+		<method name="register(Ljava/nio/file/WatchService;[Ljava/nio/file/WatchEvent$Kind;[Ljava/nio/file/WatchEvent$Modifier;)Ljava/nio/file/WatchKey;" />
+	</class>
+	<class name="java/nio/file/attribute/AclEntry" since="26">
+		<extends name="java/lang/Object" />
+		<method name="flags()Ljava/util/Set;" />
+		<method name="newBuilder()Ljava/nio/file/attribute/AclEntry$Builder;" />
+		<method name="newBuilder(Ljava/nio/file/attribute/AclEntry;)Ljava/nio/file/attribute/AclEntry$Builder;" />
+		<method name="permissions()Ljava/util/Set;" />
+		<method name="principal()Ljava/nio/file/attribute/UserPrincipal;" />
+		<method name="type()Ljava/nio/file/attribute/AclEntryType;" />
+	</class>
+	<class name="java/nio/file/attribute/AclEntry$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="build()Ljava/nio/file/attribute/AclEntry;" />
+		<method name="setFlags(Ljava/util/Set;)Ljava/nio/file/attribute/AclEntry$Builder;" />
+		<method name="setFlags([Ljava/nio/file/attribute/AclEntryFlag;)Ljava/nio/file/attribute/AclEntry$Builder;" />
+		<method name="setPermissions(Ljava/util/Set;)Ljava/nio/file/attribute/AclEntry$Builder;" />
+		<method name="setPermissions([Ljava/nio/file/attribute/AclEntryPermission;)Ljava/nio/file/attribute/AclEntry$Builder;" />
+		<method name="setPrincipal(Ljava/nio/file/attribute/UserPrincipal;)Ljava/nio/file/attribute/AclEntry$Builder;" />
+		<method name="setType(Ljava/nio/file/attribute/AclEntryType;)Ljava/nio/file/attribute/AclEntry$Builder;" />
+	</class>
+	<class name="java/nio/file/attribute/AclEntryFlag" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/attribute/AclEntryFlag;" />
+		<method name="values()[Ljava/nio/file/attribute/AclEntryFlag;" />
+		<field name="DIRECTORY_INHERIT" />
+		<field name="FILE_INHERIT" />
+		<field name="INHERIT_ONLY" />
+		<field name="NO_PROPAGATE_INHERIT" />
+	</class>
+	<class name="java/nio/file/attribute/AclEntryPermission" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/attribute/AclEntryPermission;" />
+		<method name="values()[Ljava/nio/file/attribute/AclEntryPermission;" />
+		<field name="ADD_FILE" />
+		<field name="ADD_SUBDIRECTORY" />
+		<field name="APPEND_DATA" />
+		<field name="DELETE" />
+		<field name="DELETE_CHILD" />
+		<field name="EXECUTE" />
+		<field name="LIST_DIRECTORY" />
+		<field name="READ_ACL" />
+		<field name="READ_ATTRIBUTES" />
+		<field name="READ_DATA" />
+		<field name="READ_NAMED_ATTRS" />
+		<field name="SYNCHRONIZE" />
+		<field name="WRITE_ACL" />
+		<field name="WRITE_ATTRIBUTES" />
+		<field name="WRITE_DATA" />
+		<field name="WRITE_NAMED_ATTRS" />
+		<field name="WRITE_OWNER" />
+	</class>
+	<class name="java/nio/file/attribute/AclEntryType" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/attribute/AclEntryType;" />
+		<method name="values()[Ljava/nio/file/attribute/AclEntryType;" />
+		<field name="ALARM" />
+		<field name="ALLOW" />
+		<field name="AUDIT" />
+		<field name="DENY" />
+	</class>
+	<class name="java/nio/file/attribute/AclFileAttributeView" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/FileOwnerAttributeView" />
+		<method name="getAcl()Ljava/util/List;" />
+		<method name="setAcl(Ljava/util/List;)V" />
+	</class>
+	<class name="java/nio/file/attribute/AttributeView" since="26">
+		<extends name="java/lang/Object" />
+		<method name="name()Ljava/lang/String;" />
+	</class>
+	<class name="java/nio/file/attribute/BasicFileAttributeView" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/FileAttributeView" />
+		<method name="readAttributes()Ljava/nio/file/attribute/BasicFileAttributes;" />
+		<method name="setTimes(Ljava/nio/file/attribute/FileTime;Ljava/nio/file/attribute/FileTime;Ljava/nio/file/attribute/FileTime;)V" />
+	</class>
+	<class name="java/nio/file/attribute/BasicFileAttributes" since="26">
+		<extends name="java/lang/Object" />
+		<method name="creationTime()Ljava/nio/file/attribute/FileTime;" />
+		<method name="fileKey()Ljava/lang/Object;" />
+		<method name="isDirectory()Z" />
+		<method name="isOther()Z" />
+		<method name="isRegularFile()Z" />
+		<method name="isSymbolicLink()Z" />
+		<method name="lastAccessTime()Ljava/nio/file/attribute/FileTime;" />
+		<method name="lastModifiedTime()Ljava/nio/file/attribute/FileTime;" />
+		<method name="size()J" />
+	</class>
+	<class name="java/nio/file/attribute/DosFileAttributeView" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/BasicFileAttributeView" />
+		<method name="readAttributes()Ljava/nio/file/attribute/DosFileAttributes;" />
+		<method name="setArchive(Z)V" />
+		<method name="setHidden(Z)V" />
+		<method name="setReadOnly(Z)V" />
+		<method name="setSystem(Z)V" />
+	</class>
+	<class name="java/nio/file/attribute/DosFileAttributes" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/BasicFileAttributes" />
+		<method name="isArchive()Z" />
+		<method name="isHidden()Z" />
+		<method name="isReadOnly()Z" />
+		<method name="isSystem()Z" />
+	</class>
+	<class name="java/nio/file/attribute/FileAttribute" since="26">
+		<extends name="java/lang/Object" />
+		<method name="name()Ljava/lang/String;" />
+		<method name="value()Ljava/lang/Object;" />
+	</class>
+	<class name="java/nio/file/attribute/FileAttributeView" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/AttributeView" />
+	</class>
+	<class name="java/nio/file/attribute/FileOwnerAttributeView" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/FileAttributeView" />
+		<method name="getOwner()Ljava/nio/file/attribute/UserPrincipal;" />
+		<method name="setOwner(Ljava/nio/file/attribute/UserPrincipal;)V" />
+	</class>
+	<class name="java/nio/file/attribute/FileStoreAttributeView" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/AttributeView" />
+	</class>
+	<class name="java/nio/file/attribute/FileTime" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<method name="compareTo(Ljava/nio/file/attribute/FileTime;)I" />
+		<method name="from(JLjava/util/concurrent/TimeUnit;)Ljava/nio/file/attribute/FileTime;" />
+		<method name="from(Ljava/time/Instant;)Ljava/nio/file/attribute/FileTime;" />
+		<method name="fromMillis(J)Ljava/nio/file/attribute/FileTime;" />
+		<method name="to(Ljava/util/concurrent/TimeUnit;)J" />
+		<method name="toInstant()Ljava/time/Instant;" />
+		<method name="toMillis()J" />
+	</class>
+	<class name="java/nio/file/attribute/GroupPrincipal" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/UserPrincipal" />
+	</class>
+	<class name="java/nio/file/attribute/PosixFileAttributeView" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/BasicFileAttributeView" />
+		<implements name="java/nio/file/attribute/FileOwnerAttributeView" />
+		<method name="readAttributes()Ljava/nio/file/attribute/PosixFileAttributes;" />
+		<method name="setGroup(Ljava/nio/file/attribute/GroupPrincipal;)V" />
+		<method name="setPermissions(Ljava/util/Set;)V" />
+	</class>
+	<class name="java/nio/file/attribute/PosixFileAttributes" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/BasicFileAttributes" />
+		<method name="group()Ljava/nio/file/attribute/GroupPrincipal;" />
+		<method name="owner()Ljava/nio/file/attribute/UserPrincipal;" />
+		<method name="permissions()Ljava/util/Set;" />
+	</class>
+	<class name="java/nio/file/attribute/PosixFilePermission" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/attribute/PosixFilePermission;" />
+		<method name="values()[Ljava/nio/file/attribute/PosixFilePermission;" />
+		<field name="GROUP_EXECUTE" />
+		<field name="GROUP_READ" />
+		<field name="GROUP_WRITE" />
+		<field name="OTHERS_EXECUTE" />
+		<field name="OTHERS_READ" />
+		<field name="OTHERS_WRITE" />
+		<field name="OWNER_EXECUTE" />
+		<field name="OWNER_READ" />
+		<field name="OWNER_WRITE" />
+	</class>
+	<class name="java/nio/file/attribute/PosixFilePermissions" since="26">
+		<extends name="java/lang/Object" />
+		<method name="asFileAttribute(Ljava/util/Set;)Ljava/nio/file/attribute/FileAttribute;" />
+		<method name="fromString(Ljava/lang/String;)Ljava/util/Set;" />
+		<method name="toString(Ljava/util/Set;)Ljava/lang/String;" />
+	</class>
+	<class name="java/nio/file/attribute/UserDefinedFileAttributeView" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/nio/file/attribute/FileAttributeView" />
+		<method name="delete(Ljava/lang/String;)V" />
+		<method name="list()Ljava/util/List;" />
+		<method name="read(Ljava/lang/String;Ljava/nio/ByteBuffer;)I" />
+		<method name="size(Ljava/lang/String;)I" />
+		<method name="write(Ljava/lang/String;Ljava/nio/ByteBuffer;)I" />
+	</class>
+	<class name="java/nio/file/attribute/UserPrincipal" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/Principal" />
+	</class>
+	<class name="java/nio/file/attribute/UserPrincipalLookupService" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="lookupPrincipalByGroupName(Ljava/lang/String;)Ljava/nio/file/attribute/GroupPrincipal;" />
+		<method name="lookupPrincipalByName(Ljava/lang/String;)Ljava/nio/file/attribute/UserPrincipal;" />
+	</class>
+	<class name="java/nio/file/attribute/UserPrincipalNotFoundException" since="26">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getName()Ljava/lang/String;" />
+	</class>
+	<class name="java/nio/file/spi/FileSystemProvider" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="checkAccess(Ljava/nio/file/Path;[Ljava/nio/file/AccessMode;)V" />
+		<method name="copy(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V" />
+		<method name="createDirectory(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V" />
+		<method name="createLink(Ljava/nio/file/Path;Ljava/nio/file/Path;)V" />
+		<method name="createSymbolicLink(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V" />
+		<method name="delete(Ljava/nio/file/Path;)V" />
+		<method name="deleteIfExists(Ljava/nio/file/Path;)Z" />
+		<method name="getFileAttributeView(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;" />
+		<method name="getFileStore(Ljava/nio/file/Path;)Ljava/nio/file/FileStore;" />
+		<method name="getFileSystem(Ljava/net/URI;)Ljava/nio/file/FileSystem;" />
+		<method name="getPath(Ljava/net/URI;)Ljava/nio/file/Path;" />
+		<method name="getScheme()Ljava/lang/String;" />
+		<method name="installedProviders()Ljava/util/List;" />
+		<method name="isHidden(Ljava/nio/file/Path;)Z" />
+		<method name="isSameFile(Ljava/nio/file/Path;Ljava/nio/file/Path;)Z" />
+		<method name="move(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V" />
+		<method name="newAsynchronousFileChannel(Ljava/nio/file/Path;Ljava/util/Set;Ljava/util/concurrent/ExecutorService;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/AsynchronousFileChannel;" />
+		<method name="newByteChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;" />
+		<method name="newDirectoryStream(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;" />
+		<method name="newFileChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/FileChannel;" />
+		<method name="newFileSystem(Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;" />
+		<method name="newFileSystem(Ljava/nio/file/Path;Ljava/util/Map;)Ljava/nio/file/FileSystem;" />
+		<method name="newInputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;" />
+		<method name="newOutputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;" />
+		<method name="readAttributes(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;" />
+		<method name="readAttributes(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/util/Map;" />
+		<method name="readSymbolicLink(Ljava/nio/file/Path;)Ljava/nio/file/Path;" />
+		<method name="setAttribute(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V" />
+	</class>
+	<class name="java/nio/file/spi/FileTypeDetector" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="probeContentType(Ljava/nio/file/Path;)Ljava/lang/String;" />
+	</class>
+	<class name="java/security/AccessControlContext" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/AccessControlContext;Ljava/security/DomainCombiner;)V" />
+		<method name="&lt;init&gt;([Ljava/security/ProtectionDomain;)V" />
+		<method name="checkPermission(Ljava/security/Permission;)V" />
+		<method name="getDomainCombiner()Ljava/security/DomainCombiner;" />
+	</class>
+	<class name="java/security/AccessControlException" since="1">
+		<extends name="java/lang/SecurityException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/security/Permission;)V" />
+		<method name="getPermission()Ljava/security/Permission;" />
+	</class>
+	<class name="java/security/AccessController" since="1">
+		<extends name="java/lang/Object" />
+		<method name="checkPermission(Ljava/security/Permission;)V" />
+		<method name="doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;" />
+		<method name="doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;" />
+		<method name="doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;" />
+		<method name="doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;" />
+		<method name="doPrivilegedWithCombiner(Ljava/security/PrivilegedAction;)Ljava/lang/Object;" since="9" />
+		<method name="doPrivilegedWithCombiner(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;" since="9" />
+		<method name="getContext()Ljava/security/AccessControlContext;" />
+	</class>
+	<class name="java/security/AlgorithmConstraints" since="24">
+		<extends name="java/lang/Object" />
+		<method name="permits(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z" />
+		<method name="permits(Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z" />
+		<method name="permits(Ljava/util/Set;Ljava/security/Key;)Z" />
+	</class>
+	<class name="java/security/AlgorithmParameterGenerator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/AlgorithmParameterGeneratorSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="generateParameters()Ljava/security/AlgorithmParameters;" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/AlgorithmParameterGenerator;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/AlgorithmParameterGenerator;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/AlgorithmParameterGenerator;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="init(I)V" />
+		<method name="init(ILjava/security/SecureRandom;)V" />
+		<method name="init(Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="init(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V" />
+	</class>
+	<class name="java/security/AlgorithmParameterGeneratorSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGenerateParameters()Ljava/security/AlgorithmParameters;" />
+		<method name="engineInit(ILjava/security/SecureRandom;)V" />
+		<method name="engineInit(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V" />
+	</class>
+	<class name="java/security/AlgorithmParameters" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/AlgorithmParametersSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getEncoded()[B" />
+		<method name="getEncoded(Ljava/lang/String;)[B" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/AlgorithmParameters;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/AlgorithmParameters;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/AlgorithmParameters;" />
+		<method name="getParameterSpec(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="init(Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="init([B)V" />
+		<method name="init([BLjava/lang/String;)V" />
+	</class>
+	<class name="java/security/AlgorithmParametersSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGetEncoded()[B" />
+		<method name="engineGetEncoded(Ljava/lang/String;)[B" />
+		<method name="engineGetParameterSpec(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;" />
+		<method name="engineInit(Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="engineInit([B)V" />
+		<method name="engineInit([BLjava/lang/String;)V" />
+		<method name="engineToString()Ljava/lang/String;" />
+	</class>
+	<class name="java/security/AllPermission" since="1">
+		<extends name="java/security/Permission" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/AuthProvider" since="1">
+		<extends name="java/security/Provider" />
+		<method name="&lt;init&gt;(Ljava/lang/String;DLjava/lang/String;)V" />
+		<method name="login(Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V" />
+		<method name="logout()V" />
+		<method name="setCallbackHandler(Ljavax/security/auth/callback/CallbackHandler;)V" />
+	</class>
+	<class name="java/security/BasicPermission" since="1">
+		<extends name="java/security/Permission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/Certificate" since="1" deprecated="3">
+		<extends name="java/lang/Object" />
+		<method name="decode(Ljava/io/InputStream;)V" deprecated="29" />
+		<method name="encode(Ljava/io/OutputStream;)V" deprecated="29" />
+		<method name="getFormat()Ljava/lang/String;" deprecated="29" />
+		<method name="getGuarantor()Ljava/security/Principal;" deprecated="29" />
+		<method name="getPrincipal()Ljava/security/Principal;" deprecated="29" />
+		<method name="getPublicKey()Ljava/security/PublicKey;" deprecated="29" />
+		<method name="toString(Z)Ljava/lang/String;" deprecated="29" />
+	</class>
+	<class name="java/security/CodeSigner" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/security/cert/CertPath;Ljava/security/Timestamp;)V" />
+		<method name="getSignerCertPath()Ljava/security/cert/CertPath;" />
+		<method name="getTimestamp()Ljava/security/Timestamp;" />
+	</class>
+	<class name="java/security/CodeSource" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/net/URL;[Ljava/security/CodeSigner;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URL;[Ljava/security/cert/Certificate;)V" />
+		<method name="getCertificates()[Ljava/security/cert/Certificate;" />
+		<method name="getCodeSigners()[Ljava/security/CodeSigner;" />
+		<method name="getLocation()Ljava/net/URL;" />
+		<method name="implies(Ljava/security/CodeSource;)Z" />
+	</class>
+	<class name="java/security/CryptoPrimitive" since="24">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/CryptoPrimitive;" />
+		<method name="values()[Ljava/security/CryptoPrimitive;" />
+		<field name="BLOCK_CIPHER" />
+		<field name="KEY_AGREEMENT" />
+		<field name="KEY_ENCAPSULATION" />
+		<field name="KEY_WRAP" />
+		<field name="MAC" />
+		<field name="MESSAGE_DIGEST" />
+		<field name="PUBLIC_KEY_ENCRYPTION" />
+		<field name="SECURE_RANDOM" />
+		<field name="SIGNATURE" />
+		<field name="STREAM_CIPHER" />
+	</class>
+	<class name="java/security/DigestException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/DigestInputStream" since="1">
+		<extends name="java/io/FilterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/security/MessageDigest;)V" />
+		<method name="getMessageDigest()Ljava/security/MessageDigest;" />
+		<method name="on(Z)V" />
+		<method name="setMessageDigest(Ljava/security/MessageDigest;)V" />
+		<field name="digest" />
+	</class>
+	<class name="java/security/DigestOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/security/MessageDigest;)V" />
+		<method name="getMessageDigest()Ljava/security/MessageDigest;" />
+		<method name="on(Z)V" />
+		<method name="setMessageDigest(Ljava/security/MessageDigest;)V" />
+		<field name="digest" />
+	</class>
+	<class name="java/security/DomainCombiner" since="1">
+		<extends name="java/lang/Object" />
+		<method name="combine([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;" />
+	</class>
+	<class name="java/security/DomainLoadStoreParameter" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/KeyStore$LoadStoreParameter" />
+		<method name="&lt;init&gt;(Ljava/net/URI;Ljava/util/Map;)V" />
+		<method name="getConfiguration()Ljava/net/URI;" />
+		<method name="getProtectionParams()Ljava/util/Map;" />
+	</class>
+	<class name="java/security/GeneralSecurityException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/Guard" since="1">
+		<extends name="java/lang/Object" />
+		<method name="checkGuard(Ljava/lang/Object;)V" />
+	</class>
+	<class name="java/security/GuardedObject" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;Ljava/security/Guard;)V" />
+		<method name="getObject()Ljava/lang/Object;" />
+	</class>
+	<class name="java/security/Identity" since="1" deprecated="3">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/security/Principal" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/security/IdentityScope;)V" deprecated="29" />
+		<method name="addCertificate(Ljava/security/Certificate;)V" deprecated="29" />
+		<method name="certificates()[Ljava/security/Certificate;" deprecated="29" />
+		<method name="getInfo()Ljava/lang/String;" deprecated="29" />
+		<method name="getPublicKey()Ljava/security/PublicKey;" deprecated="29" />
+		<method name="getScope()Ljava/security/IdentityScope;" deprecated="29" />
+		<method name="identityEquals(Ljava/security/Identity;)Z" deprecated="29" />
+		<method name="removeCertificate(Ljava/security/Certificate;)V" deprecated="29" />
+		<method name="setInfo(Ljava/lang/String;)V" deprecated="29" />
+		<method name="setPublicKey(Ljava/security/PublicKey;)V" deprecated="29" />
+		<method name="toString(Z)Ljava/lang/String;" deprecated="29" />
+	</class>
+	<class name="java/security/IdentityScope" since="1" deprecated="3">
+		<extends name="java/security/Identity" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/security/IdentityScope;)V" deprecated="29" />
+		<method name="addIdentity(Ljava/security/Identity;)V" deprecated="29" />
+		<method name="getIdentity(Ljava/lang/String;)Ljava/security/Identity;" deprecated="29" />
+		<method name="getIdentity(Ljava/security/Principal;)Ljava/security/Identity;" deprecated="29" />
+		<method name="getIdentity(Ljava/security/PublicKey;)Ljava/security/Identity;" deprecated="29" />
+		<method name="getSystemScope()Ljava/security/IdentityScope;" deprecated="29" />
+		<method name="identities()Ljava/util/Enumeration;" deprecated="29" />
+		<method name="removeIdentity(Ljava/security/Identity;)V" deprecated="29" />
+		<method name="setSystemScope(Ljava/security/IdentityScope;)V" deprecated="29" />
+		<method name="size()I" deprecated="29" />
+	</class>
+	<class name="java/security/InvalidAlgorithmParameterException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/InvalidKeyException" since="1">
+		<extends name="java/security/KeyException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/InvalidParameterException" since="1">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/Key" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getEncoded()[B" />
+		<method name="getFormat()Ljava/lang/String;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/KeyException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/KeyFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/KeyFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="generatePrivate(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;" />
+		<method name="generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyFactory;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyFactory;" />
+		<method name="getKeySpec(Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="translateKey(Ljava/security/Key;)Ljava/security/Key;" />
+	</class>
+	<class name="java/security/KeyFactorySpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGeneratePrivate(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;" />
+		<method name="engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;" />
+		<method name="engineGetKeySpec(Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;" />
+		<method name="engineTranslateKey(Ljava/security/Key;)Ljava/security/Key;" />
+	</class>
+	<class name="java/security/KeyManagementException" since="1">
+		<extends name="java/security/KeyException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/KeyPair" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/security/PublicKey;Ljava/security/PrivateKey;)V" />
+		<method name="getPrivate()Ljava/security/PrivateKey;" />
+		<method name="getPublic()Ljava/security/PublicKey;" />
+	</class>
+	<class name="java/security/KeyPairGenerator" since="1">
+		<extends name="java/security/KeyPairGeneratorSpi" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="genKeyPair()Ljava/security/KeyPair;" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/KeyPairGenerator;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyPairGenerator;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyPairGenerator;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="initialize(I)V" />
+		<method name="initialize(Ljava/security/spec/AlgorithmParameterSpec;)V" />
+	</class>
+	<class name="java/security/KeyPairGeneratorSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="generateKeyPair()Ljava/security/KeyPair;" />
+		<method name="initialize(ILjava/security/SecureRandom;)V" />
+		<method name="initialize(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V" />
+	</class>
+	<class name="java/security/KeyRep" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/security/KeyRep$Type;Ljava/lang/String;Ljava/lang/String;[B)V" />
+		<method name="readResolve()Ljava/lang/Object;" />
+	</class>
+	<class name="java/security/KeyRep$Type" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/KeyRep$Type;" />
+		<method name="values()[Ljava/security/KeyRep$Type;" />
+		<field name="PRIVATE" />
+		<field name="PUBLIC" />
+		<field name="SECRET" />
+	</class>
+	<class name="java/security/KeyStore" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/KeyStoreSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="aliases()Ljava/util/Enumeration;" />
+		<method name="containsAlias(Ljava/lang/String;)Z" />
+		<method name="deleteEntry(Ljava/lang/String;)V" />
+		<method name="entryInstanceOf(Ljava/lang/String;Ljava/lang/Class;)Z" />
+		<method name="getCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;" />
+		<method name="getCertificateAlias(Ljava/security/cert/Certificate;)Ljava/lang/String;" />
+		<method name="getCertificateChain(Ljava/lang/String;)[Ljava/security/cert/Certificate;" />
+		<method name="getCreationDate(Ljava/lang/String;)Ljava/util/Date;" />
+		<method name="getDefaultType()Ljava/lang/String;" />
+		<method name="getEntry(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/KeyStore;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyStore;" />
+		<method name="getKey(Ljava/lang/String;[C)Ljava/security/Key;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="getType()Ljava/lang/String;" />
+		<method name="isCertificateEntry(Ljava/lang/String;)Z" />
+		<method name="isKeyEntry(Ljava/lang/String;)Z" />
+		<method name="load(Ljava/io/InputStream;[C)V" />
+		<method name="load(Ljava/security/KeyStore$LoadStoreParameter;)V" />
+		<method name="setCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V" />
+		<method name="setEntry(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V" />
+		<method name="setKeyEntry(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V" />
+		<method name="setKeyEntry(Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V" />
+		<method name="size()I" />
+		<method name="store(Ljava/io/OutputStream;[C)V" />
+		<method name="store(Ljava/security/KeyStore$LoadStoreParameter;)V" />
+	</class>
+	<class name="java/security/KeyStore$Builder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getKeyStore()Ljava/security/KeyStore;" />
+		<method name="getProtectionParameter(Ljava/lang/String;)Ljava/security/KeyStore$ProtectionParameter;" />
+		<method name="newInstance(Ljava/lang/String;Ljava/security/Provider;Ljava/io/File;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Builder;" />
+		<method name="newInstance(Ljava/lang/String;Ljava/security/Provider;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Builder;" />
+		<method name="newInstance(Ljava/security/KeyStore;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Builder;" />
+	</class>
+	<class name="java/security/KeyStore$CallbackHandlerProtection" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/KeyStore$ProtectionParameter" />
+		<method name="&lt;init&gt;(Ljavax/security/auth/callback/CallbackHandler;)V" />
+		<method name="getCallbackHandler()Ljavax/security/auth/callback/CallbackHandler;" />
+	</class>
+	<class name="java/security/KeyStore$Entry" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getAttributes()Ljava/util/Set;" since="26" />
+	</class>
+	<class name="java/security/KeyStore$Entry$Attribute" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getValue()Ljava/lang/String;" />
+	</class>
+	<class name="java/security/KeyStore$LoadStoreParameter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getProtectionParameter()Ljava/security/KeyStore$ProtectionParameter;" />
+	</class>
+	<class name="java/security/KeyStore$PasswordProtection" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/KeyStore$ProtectionParameter" />
+		<implements name="javax/security/auth/Destroyable" />
+		<method name="&lt;init&gt;([C)V" />
+		<method name="&lt;init&gt;([CLjava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)V" since="26" />
+		<method name="getPassword()[C" />
+		<method name="getProtectionAlgorithm()Ljava/lang/String;" since="26" />
+		<method name="getProtectionParameters()Ljava/security/spec/AlgorithmParameterSpec;" since="26" />
+	</class>
+	<class name="java/security/KeyStore$PrivateKeyEntry" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/KeyStore$Entry" />
+		<method name="&lt;init&gt;(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;)V" />
+		<method name="&lt;init&gt;(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/util/Set;)V" since="26" />
+		<method name="getCertificate()Ljava/security/cert/Certificate;" />
+		<method name="getCertificateChain()[Ljava/security/cert/Certificate;" />
+		<method name="getPrivateKey()Ljava/security/PrivateKey;" />
+	</class>
+	<class name="java/security/KeyStore$ProtectionParameter" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/security/KeyStore$SecretKeyEntry" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/KeyStore$Entry" />
+		<method name="&lt;init&gt;(Ljavax/crypto/SecretKey;)V" />
+		<method name="&lt;init&gt;(Ljavax/crypto/SecretKey;Ljava/util/Set;)V" since="26" />
+		<method name="getSecretKey()Ljavax/crypto/SecretKey;" />
+	</class>
+	<class name="java/security/KeyStore$TrustedCertificateEntry" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/KeyStore$Entry" />
+		<method name="&lt;init&gt;(Ljava/security/cert/Certificate;)V" />
+		<method name="&lt;init&gt;(Ljava/security/cert/Certificate;Ljava/util/Set;)V" since="26" />
+		<method name="getTrustedCertificate()Ljava/security/cert/Certificate;" />
+	</class>
+	<class name="java/security/KeyStoreException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/KeyStoreSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineAliases()Ljava/util/Enumeration;" />
+		<method name="engineContainsAlias(Ljava/lang/String;)Z" />
+		<method name="engineDeleteEntry(Ljava/lang/String;)V" />
+		<method name="engineEntryInstanceOf(Ljava/lang/String;Ljava/lang/Class;)Z" />
+		<method name="engineGetCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;" />
+		<method name="engineGetCertificateAlias(Ljava/security/cert/Certificate;)Ljava/lang/String;" />
+		<method name="engineGetCertificateChain(Ljava/lang/String;)[Ljava/security/cert/Certificate;" />
+		<method name="engineGetCreationDate(Ljava/lang/String;)Ljava/util/Date;" />
+		<method name="engineGetEntry(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;" />
+		<method name="engineGetKey(Ljava/lang/String;[C)Ljava/security/Key;" />
+		<method name="engineIsCertificateEntry(Ljava/lang/String;)Z" />
+		<method name="engineIsKeyEntry(Ljava/lang/String;)Z" />
+		<method name="engineLoad(Ljava/io/InputStream;[C)V" />
+		<method name="engineLoad(Ljava/security/KeyStore$LoadStoreParameter;)V" />
+		<method name="engineSetCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V" />
+		<method name="engineSetEntry(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V" />
+		<method name="engineSetKeyEntry(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V" />
+		<method name="engineSetKeyEntry(Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V" />
+		<method name="engineSize()I" />
+		<method name="engineStore(Ljava/io/OutputStream;[C)V" />
+		<method name="engineStore(Ljava/security/KeyStore$LoadStoreParameter;)V" />
+	</class>
+	<class name="java/security/MessageDigest" since="1">
+		<extends name="java/security/MessageDigestSpi" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="digest()[B" />
+		<method name="digest([B)[B" />
+		<method name="digest([BII)I" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getDigestLength()I" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/MessageDigest;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/MessageDigest;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="isEqual([B[B)Z" />
+		<method name="reset()V" />
+		<method name="update(B)V" />
+		<method name="update(Ljava/nio/ByteBuffer;)V" />
+		<method name="update([B)V" />
+		<method name="update([BII)V" />
+	</class>
+	<class name="java/security/MessageDigestSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineDigest()[B" />
+		<method name="engineDigest([BII)I" />
+		<method name="engineGetDigestLength()I" />
+		<method name="engineReset()V" />
+		<method name="engineUpdate(B)V" />
+		<method name="engineUpdate(Ljava/nio/ByteBuffer;)V" />
+		<method name="engineUpdate([BII)V" />
+	</class>
+	<class name="java/security/NoSuchAlgorithmException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/NoSuchProviderException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/PKCS12Attribute" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/KeyStore$Entry$Attribute" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="getEncoded()[B" />
+	</class>
+	<class name="java/security/Permission" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/security/Guard" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getActions()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="implies(Ljava/security/Permission;)Z" />
+		<method name="newPermissionCollection()Ljava/security/PermissionCollection;" />
+	</class>
+	<class name="java/security/PermissionCollection" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="add(Ljava/security/Permission;)V" />
+		<method name="elements()Ljava/util/Enumeration;" />
+		<method name="implies(Ljava/security/Permission;)Z" />
+		<method name="isReadOnly()Z" />
+		<method name="setReadOnly()V" />
+	</class>
+	<class name="java/security/Permissions" since="1">
+		<extends name="java/security/PermissionCollection" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/security/Policy" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Policy$Parameters;)Ljava/security/Policy;" since="9" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Policy$Parameters;Ljava/lang/String;)Ljava/security/Policy;" since="9" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Policy$Parameters;Ljava/security/Provider;)Ljava/security/Policy;" since="9" />
+		<method name="getParameters()Ljava/security/Policy$Parameters;" since="9" />
+		<method name="getPermissions(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;" />
+		<method name="getPermissions(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;" />
+		<method name="getPolicy()Ljava/security/Policy;" />
+		<method name="getProvider()Ljava/security/Provider;" since="9" />
+		<method name="getType()Ljava/lang/String;" since="9" />
+		<method name="implies(Ljava/security/ProtectionDomain;Ljava/security/Permission;)Z" />
+		<method name="refresh()V" />
+		<method name="setPolicy(Ljava/security/Policy;)V" />
+		<field name="UNSUPPORTED_EMPTY_COLLECTION" since="9" />
+	</class>
+	<class name="java/security/Policy$Parameters" since="9">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/security/PolicySpi" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGetPermissions(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;" />
+		<method name="engineGetPermissions(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;" />
+		<method name="engineImplies(Ljava/security/ProtectionDomain;Ljava/security/Permission;)Z" />
+		<method name="engineRefresh()V" />
+	</class>
+	<class name="java/security/Principal" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="implies(Ljavax/security/auth/Subject;)Z" since="26" />
+	</class>
+	<class name="java/security/PrivateKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/Key" />
+		<implements name="javax/security/auth/Destroyable" since="26" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/PrivilegedAction" since="1">
+		<extends name="java/lang/Object" />
+		<method name="run()Ljava/lang/Object;" />
+	</class>
+	<class name="java/security/PrivilegedActionException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" />
+		<method name="getException()Ljava/lang/Exception;" />
+	</class>
+	<class name="java/security/PrivilegedExceptionAction" since="1">
+		<extends name="java/lang/Object" />
+		<method name="run()Ljava/lang/Object;" />
+	</class>
+	<class name="java/security/ProtectionDomain" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V" />
+		<method name="&lt;init&gt;(Ljava/security/CodeSource;Ljava/security/PermissionCollection;Ljava/lang/ClassLoader;[Ljava/security/Principal;)V" />
+		<method name="getClassLoader()Ljava/lang/ClassLoader;" />
+		<method name="getCodeSource()Ljava/security/CodeSource;" />
+		<method name="getPermissions()Ljava/security/PermissionCollection;" />
+		<method name="getPrincipals()[Ljava/security/Principal;" />
+		<method name="implies(Ljava/security/Permission;)Z" />
+	</class>
+	<class name="java/security/Provider" since="1">
+		<extends name="java/util/Properties" />
+		<method name="&lt;init&gt;(Ljava/lang/String;DLjava/lang/String;)V" />
+		<method name="getInfo()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getService(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;" />
+		<method name="getServices()Ljava/util/Set;" />
+		<method name="getVersion()D" />
+		<method name="putService(Ljava/security/Provider$Service;)V" />
+		<method name="removeService(Ljava/security/Provider$Service;)V" />
+	</class>
+	<class name="java/security/Provider$Service" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)V" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getClassName()Ljava/lang/String;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="getType()Ljava/lang/String;" />
+		<method name="newInstance(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="supportsParameter(Ljava/lang/Object;)Z" />
+	</class>
+	<class name="java/security/ProviderException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/PublicKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/Key" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/SecureClassLoader" since="1">
+		<extends name="java/lang/ClassLoader" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/ClassLoader;)V" />
+		<method name="defineClass(Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/CodeSource;)Ljava/lang/Class;" />
+		<method name="defineClass(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;" />
+		<method name="getPermissions(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;" />
+	</class>
+	<class name="java/security/SecureRandom" since="1">
+		<extends name="java/util/Random" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/security/SecureRandomSpi;Ljava/security/Provider;)V" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="generateSeed(I)[B" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/SecureRandom;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/SecureRandom;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/SecureRandom;" />
+		<method name="getInstanceStrong()Ljava/security/SecureRandom;" since="26" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="getSeed(I)[B" />
+		<method name="setSeed([B)V" />
+	</class>
+	<class name="java/security/SecureRandomSpi" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGenerateSeed(I)[B" />
+		<method name="engineNextBytes([B)V" />
+		<method name="engineSetSeed([B)V" />
+	</class>
+	<class name="java/security/Security" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addProvider(Ljava/security/Provider;)I" />
+		<method name="getAlgorithmProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="15" />
+		<method name="getAlgorithms(Ljava/lang/String;)Ljava/util/Set;" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getProvider(Ljava/lang/String;)Ljava/security/Provider;" />
+		<method name="getProviders()[Ljava/security/Provider;" />
+		<method name="getProviders(Ljava/lang/String;)[Ljava/security/Provider;" />
+		<method name="getProviders(Ljava/util/Map;)[Ljava/security/Provider;" />
+		<method name="insertProviderAt(Ljava/security/Provider;I)I" />
+		<method name="removeProvider(Ljava/lang/String;)V" />
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/SecurityPermission" since="1">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/Signature" since="1">
+		<extends name="java/security/SignatureSpi" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/Signature;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;" />
+		<method name="getParameter(Ljava/lang/String;)Ljava/lang/Object;" deprecated="15" />
+		<method name="getParameters()Ljava/security/AlgorithmParameters;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="initSign(Ljava/security/PrivateKey;)V" />
+		<method name="initSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V" />
+		<method name="initVerify(Ljava/security/PublicKey;)V" />
+		<method name="initVerify(Ljava/security/cert/Certificate;)V" />
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)V" deprecated="15" />
+		<method name="setParameter(Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="sign()[B" />
+		<method name="sign([BII)I" />
+		<method name="update(B)V" />
+		<method name="update(Ljava/nio/ByteBuffer;)V" />
+		<method name="update([B)V" />
+		<method name="update([BII)V" />
+		<method name="verify([B)Z" />
+		<method name="verify([BII)Z" />
+		<field name="SIGN" />
+		<field name="UNINITIALIZED" />
+		<field name="VERIFY" />
+		<field name="state" />
+	</class>
+	<class name="java/security/SignatureException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/SignatureSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGetParameter(Ljava/lang/String;)Ljava/lang/Object;" deprecated="15" />
+		<method name="engineGetParameters()Ljava/security/AlgorithmParameters;" />
+		<method name="engineInitSign(Ljava/security/PrivateKey;)V" />
+		<method name="engineInitSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V" />
+		<method name="engineInitVerify(Ljava/security/PublicKey;)V" />
+		<method name="engineSetParameter(Ljava/lang/String;Ljava/lang/Object;)V" deprecated="15" />
+		<method name="engineSetParameter(Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="engineSign()[B" />
+		<method name="engineSign([BII)I" />
+		<method name="engineUpdate(B)V" />
+		<method name="engineUpdate(Ljava/nio/ByteBuffer;)V" />
+		<method name="engineUpdate([BII)V" />
+		<method name="engineVerify([B)Z" />
+		<method name="engineVerify([BII)Z" />
+		<field name="appRandom" />
+	</class>
+	<class name="java/security/SignedObject" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/io/Serializable;Ljava/security/PrivateKey;Ljava/security/Signature;)V" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getObject()Ljava/lang/Object;" />
+		<method name="getSignature()[B" />
+		<method name="verify(Ljava/security/PublicKey;Ljava/security/Signature;)Z" />
+	</class>
+	<class name="java/security/Signer" since="1" deprecated="3">
+		<extends name="java/security/Identity" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/security/IdentityScope;)V" deprecated="29" />
+		<method name="getPrivateKey()Ljava/security/PrivateKey;" deprecated="29" />
+		<method name="setKeyPair(Ljava/security/KeyPair;)V" deprecated="29" />
+	</class>
+	<class name="java/security/Timestamp" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/util/Date;Ljava/security/cert/CertPath;)V" />
+		<method name="getSignerCertPath()Ljava/security/cert/CertPath;" />
+		<method name="getTimestamp()Ljava/util/Date;" />
+	</class>
+	<class name="java/security/UnrecoverableEntryException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/UnrecoverableKeyException" since="1">
+		<extends name="java/security/GeneralSecurityException" removed="9" />
+		<extends name="java/security/UnrecoverableEntryException" since="9" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/UnresolvedPermission" since="1">
+		<extends name="java/security/Permission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V" />
+		<method name="getUnresolvedActions()Ljava/lang/String;" />
+		<method name="getUnresolvedCerts()[Ljava/security/cert/Certificate;" />
+		<method name="getUnresolvedName()Ljava/lang/String;" />
+		<method name="getUnresolvedType()Ljava/lang/String;" />
+	</class>
+	<class name="java/security/acl/Acl" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/acl/Owner" />
+		<method name="addEntry(Ljava/security/Principal;Ljava/security/acl/AclEntry;)Z" />
+		<method name="checkPermission(Ljava/security/Principal;Ljava/security/acl/Permission;)Z" />
+		<method name="entries()Ljava/util/Enumeration;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPermissions(Ljava/security/Principal;)Ljava/util/Enumeration;" />
+		<method name="removeEntry(Ljava/security/Principal;Ljava/security/acl/AclEntry;)Z" />
+		<method name="setName(Ljava/security/Principal;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/acl/AclEntry" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="addPermission(Ljava/security/acl/Permission;)Z" />
+		<method name="checkPermission(Ljava/security/acl/Permission;)Z" />
+		<method name="getPrincipal()Ljava/security/Principal;" />
+		<method name="isNegative()Z" />
+		<method name="permissions()Ljava/util/Enumeration;" />
+		<method name="removePermission(Ljava/security/acl/Permission;)Z" />
+		<method name="setNegativePermissions()V" />
+		<method name="setPrincipal(Ljava/security/Principal;)Z" />
+	</class>
+	<class name="java/security/acl/AclNotFoundException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/security/acl/Group" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/Principal" />
+		<method name="addMember(Ljava/security/Principal;)Z" />
+		<method name="isMember(Ljava/security/Principal;)Z" />
+		<method name="members()Ljava/util/Enumeration;" />
+		<method name="removeMember(Ljava/security/Principal;)Z" />
+	</class>
+	<class name="java/security/acl/LastOwnerException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/security/acl/NotOwnerException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/security/acl/Owner" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addOwner(Ljava/security/Principal;Ljava/security/Principal;)Z" />
+		<method name="deleteOwner(Ljava/security/Principal;Ljava/security/Principal;)Z" />
+		<method name="isOwner(Ljava/security/Principal;)Z" />
+	</class>
+	<class name="java/security/acl/Permission" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/security/cert/CRL" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getType()Ljava/lang/String;" />
+		<method name="isRevoked(Ljava/security/cert/Certificate;)Z" />
+	</class>
+	<class name="java/security/cert/CRLException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/cert/CRLReason" since="24">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/cert/CRLReason;" />
+		<method name="values()[Ljava/security/cert/CRLReason;" />
+		<field name="AA_COMPROMISE" />
+		<field name="AFFILIATION_CHANGED" />
+		<field name="CA_COMPROMISE" />
+		<field name="CERTIFICATE_HOLD" />
+		<field name="CESSATION_OF_OPERATION" />
+		<field name="KEY_COMPROMISE" />
+		<field name="PRIVILEGE_WITHDRAWN" />
+		<field name="REMOVE_FROM_CRL" />
+		<field name="SUPERSEDED" />
+		<field name="UNSPECIFIED" />
+		<field name="UNUSED" />
+	</class>
+	<class name="java/security/cert/CRLSelector" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="match(Ljava/security/cert/CRL;)Z" />
+	</class>
+	<class name="java/security/cert/CertPath" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getCertificates()Ljava/util/List;" />
+		<method name="getEncoded()[B" />
+		<method name="getEncoded(Ljava/lang/String;)[B" />
+		<method name="getEncodings()Ljava/util/Iterator;" />
+		<method name="getType()Ljava/lang/String;" />
+		<method name="writeReplace()Ljava/lang/Object;" />
+	</class>
+	<class name="java/security/cert/CertPath$CertPathRep" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[B)V" />
+		<method name="readResolve()Ljava/lang/Object;" />
+	</class>
+	<class name="java/security/cert/CertPathBuilder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/cert/CertPathBuilderSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="build(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getDefaultType()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/cert/CertPathBuilder;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="getRevocationChecker()Ljava/security/cert/CertPathChecker;" since="24" />
+	</class>
+	<class name="java/security/cert/CertPathBuilderException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/cert/CertPathBuilderResult" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="getCertPath()Ljava/security/cert/CertPath;" />
+	</class>
+	<class name="java/security/cert/CertPathBuilderSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineBuild(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;" />
+		<method name="engineGetRevocationChecker()Ljava/security/cert/CertPathChecker;" since="24" />
+	</class>
+	<class name="java/security/cert/CertPathChecker" since="24">
+		<extends name="java/lang/Object" />
+		<method name="check(Ljava/security/cert/Certificate;)V" />
+		<method name="init(Z)V" />
+		<method name="isForwardCheckingSupported()Z" />
+	</class>
+	<class name="java/security/cert/CertPathParameters" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+	</class>
+	<class name="java/security/cert/CertPathValidator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/cert/CertPathValidatorSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getDefaultType()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathValidator;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathValidator;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/cert/CertPathValidator;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="getRevocationChecker()Ljava/security/cert/CertPathChecker;" since="24" />
+		<method name="validate(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;" />
+	</class>
+	<class name="java/security/cert/CertPathValidatorException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+		<method name="getCertPath()Ljava/security/cert/CertPath;" />
+		<method name="getIndex()I" />
+		<method name="getReason()Ljava/security/cert/CertPathValidatorException$Reason;" since="24" />
+	</class>
+	<class name="java/security/cert/CertPathValidatorException$BasicReason" since="24">
+		<extends name="java/lang/Enum" />
+		<implements name="java/security/cert/CertPathValidatorException$Reason" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/cert/CertPathValidatorException$BasicReason;" />
+		<method name="values()[Ljava/security/cert/CertPathValidatorException$BasicReason;" />
+		<field name="ALGORITHM_CONSTRAINED" />
+		<field name="EXPIRED" />
+		<field name="INVALID_SIGNATURE" />
+		<field name="NOT_YET_VALID" />
+		<field name="REVOKED" />
+		<field name="UNDETERMINED_REVOCATION_STATUS" />
+		<field name="UNSPECIFIED" />
+	</class>
+	<class name="java/security/cert/CertPathValidatorException$Reason" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+	</class>
+	<class name="java/security/cert/CertPathValidatorResult" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+	</class>
+	<class name="java/security/cert/CertPathValidatorSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGetRevocationChecker()Ljava/security/cert/CertPathChecker;" since="24" />
+		<method name="engineValidate(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;" />
+	</class>
+	<class name="java/security/cert/CertSelector" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="match(Ljava/security/cert/Certificate;)Z" />
+	</class>
+	<class name="java/security/cert/CertStore" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/cert/CertStoreSpi;Ljava/security/Provider;Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)V" />
+		<method name="getCRLs(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;" />
+		<method name="getCertStoreParameters()Ljava/security/cert/CertStoreParameters;" />
+		<method name="getCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;" />
+		<method name="getDefaultType()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;Ljava/lang/String;)Ljava/security/cert/CertStore;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;Ljava/security/Provider;)Ljava/security/cert/CertStore;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="getType()Ljava/lang/String;" />
+	</class>
+	<class name="java/security/cert/CertStoreException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/cert/CertStoreParameters" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+	</class>
+	<class name="java/security/cert/CertStoreSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/cert/CertStoreParameters;)V" />
+		<method name="engineGetCRLs(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;" />
+		<method name="engineGetCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;" />
+	</class>
+	<class name="java/security/cert/Certificate" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getEncoded()[B" />
+		<method name="getPublicKey()Ljava/security/PublicKey;" />
+		<method name="getType()Ljava/lang/String;" />
+		<method name="verify(Ljava/security/PublicKey;)V" />
+		<method name="verify(Ljava/security/PublicKey;Ljava/lang/String;)V" />
+		<method name="verify(Ljava/security/PublicKey;Ljava/security/Provider;)V" since="26" />
+		<method name="writeReplace()Ljava/lang/Object;" />
+	</class>
+	<class name="java/security/cert/Certificate$CertificateRep" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[B)V" />
+		<method name="readResolve()Ljava/lang/Object;" />
+	</class>
+	<class name="java/security/cert/CertificateEncodingException" since="1">
+		<extends name="java/security/cert/CertificateException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/cert/CertificateException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/cert/CertificateExpiredException" since="1">
+		<extends name="java/security/cert/CertificateException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/cert/CertificateFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/cert/CertificateFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="generateCRL(Ljava/io/InputStream;)Ljava/security/cert/CRL;" />
+		<method name="generateCRLs(Ljava/io/InputStream;)Ljava/util/Collection;" />
+		<method name="generateCertPath(Ljava/io/InputStream;)Ljava/security/cert/CertPath;" />
+		<method name="generateCertPath(Ljava/io/InputStream;Ljava/lang/String;)Ljava/security/cert/CertPath;" />
+		<method name="generateCertPath(Ljava/util/List;)Ljava/security/cert/CertPath;" />
+		<method name="generateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;" />
+		<method name="generateCertificates(Ljava/io/InputStream;)Ljava/util/Collection;" />
+		<method name="getCertPathEncodings()Ljava/util/Iterator;" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertificateFactory;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/cert/CertificateFactory;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="getType()Ljava/lang/String;" />
+	</class>
+	<class name="java/security/cert/CertificateFactorySpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGenerateCRL(Ljava/io/InputStream;)Ljava/security/cert/CRL;" />
+		<method name="engineGenerateCRLs(Ljava/io/InputStream;)Ljava/util/Collection;" />
+		<method name="engineGenerateCertPath(Ljava/io/InputStream;)Ljava/security/cert/CertPath;" />
+		<method name="engineGenerateCertPath(Ljava/io/InputStream;Ljava/lang/String;)Ljava/security/cert/CertPath;" />
+		<method name="engineGenerateCertPath(Ljava/util/List;)Ljava/security/cert/CertPath;" />
+		<method name="engineGenerateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;" />
+		<method name="engineGenerateCertificates(Ljava/io/InputStream;)Ljava/util/Collection;" />
+		<method name="engineGetCertPathEncodings()Ljava/util/Iterator;" />
+	</class>
+	<class name="java/security/cert/CertificateNotYetValidException" since="1">
+		<extends name="java/security/cert/CertificateException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/cert/CertificateParsingException" since="1">
+		<extends name="java/security/cert/CertificateException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/cert/CertificateRevokedException" since="24">
+		<extends name="java/security/cert/CertificateException" />
+		<method name="&lt;init&gt;(Ljava/util/Date;Ljava/security/cert/CRLReason;Ljavax/security/auth/x500/X500Principal;Ljava/util/Map;)V" />
+		<method name="getAuthorityName()Ljavax/security/auth/x500/X500Principal;" />
+		<method name="getExtensions()Ljava/util/Map;" />
+		<method name="getInvalidityDate()Ljava/util/Date;" />
+		<method name="getRevocationDate()Ljava/util/Date;" />
+		<method name="getRevocationReason()Ljava/security/cert/CRLReason;" />
+	</class>
+	<class name="java/security/cert/CollectionCertStoreParameters" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/cert/CertStoreParameters" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="getCollection()Ljava/util/Collection;" />
+	</class>
+	<class name="java/security/cert/Extension" since="24">
+		<extends name="java/lang/Object" />
+		<method name="encode(Ljava/io/OutputStream;)V" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getValue()[B" />
+		<method name="isCritical()Z" />
+	</class>
+	<class name="java/security/cert/LDAPCertStoreParameters" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/cert/CertStoreParameters" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="getPort()I" />
+		<method name="getServerName()Ljava/lang/String;" />
+	</class>
+	<class name="java/security/cert/PKIXBuilderParameters" since="1">
+		<extends name="java/security/cert/PKIXParameters" />
+		<method name="&lt;init&gt;(Ljava/security/KeyStore;Ljava/security/cert/CertSelector;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Set;Ljava/security/cert/CertSelector;)V" />
+		<method name="getMaxPathLength()I" />
+		<method name="setMaxPathLength(I)V" />
+	</class>
+	<class name="java/security/cert/PKIXCertPathBuilderResult" since="1">
+		<extends name="java/security/cert/PKIXCertPathValidatorResult" />
+		<implements name="java/security/cert/CertPathBuilderResult" />
+		<method name="&lt;init&gt;(Ljava/security/cert/CertPath;Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V" />
+	</class>
+	<class name="java/security/cert/PKIXCertPathChecker" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/security/cert/CertPathChecker" since="24" />
+		<method name="&lt;init&gt;()V" />
+		<method name="check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V" />
+		<method name="getSupportedExtensions()Ljava/util/Set;" />
+		<method name="init(Z)V" />
+		<method name="isForwardCheckingSupported()Z" />
+	</class>
+	<class name="java/security/cert/PKIXCertPathValidatorResult" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/cert/CertPathValidatorResult" />
+		<method name="&lt;init&gt;(Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V" />
+		<method name="getPolicyTree()Ljava/security/cert/PolicyNode;" />
+		<method name="getPublicKey()Ljava/security/PublicKey;" />
+		<method name="getTrustAnchor()Ljava/security/cert/TrustAnchor;" />
+	</class>
+	<class name="java/security/cert/PKIXParameters" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/cert/CertPathParameters" />
+		<method name="&lt;init&gt;(Ljava/security/KeyStore;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Set;)V" />
+		<method name="addCertPathChecker(Ljava/security/cert/PKIXCertPathChecker;)V" />
+		<method name="addCertStore(Ljava/security/cert/CertStore;)V" />
+		<method name="getCertPathCheckers()Ljava/util/List;" />
+		<method name="getCertStores()Ljava/util/List;" />
+		<method name="getDate()Ljava/util/Date;" />
+		<method name="getInitialPolicies()Ljava/util/Set;" />
+		<method name="getPolicyQualifiersRejected()Z" />
+		<method name="getSigProvider()Ljava/lang/String;" />
+		<method name="getTargetCertConstraints()Ljava/security/cert/CertSelector;" />
+		<method name="getTrustAnchors()Ljava/util/Set;" />
+		<method name="isAnyPolicyInhibited()Z" />
+		<method name="isExplicitPolicyRequired()Z" />
+		<method name="isPolicyMappingInhibited()Z" />
+		<method name="isRevocationEnabled()Z" />
+		<method name="setAnyPolicyInhibited(Z)V" />
+		<method name="setCertPathCheckers(Ljava/util/List;)V" />
+		<method name="setCertStores(Ljava/util/List;)V" />
+		<method name="setDate(Ljava/util/Date;)V" />
+		<method name="setExplicitPolicyRequired(Z)V" />
+		<method name="setInitialPolicies(Ljava/util/Set;)V" />
+		<method name="setPolicyMappingInhibited(Z)V" />
+		<method name="setPolicyQualifiersRejected(Z)V" />
+		<method name="setRevocationEnabled(Z)V" />
+		<method name="setSigProvider(Ljava/lang/String;)V" />
+		<method name="setTargetCertConstraints(Ljava/security/cert/CertSelector;)V" />
+		<method name="setTrustAnchors(Ljava/util/Set;)V" />
+	</class>
+	<class name="java/security/cert/PKIXReason" since="24">
+		<extends name="java/lang/Enum" />
+		<implements name="java/security/cert/CertPathValidatorException$Reason" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/cert/PKIXReason;" />
+		<method name="values()[Ljava/security/cert/PKIXReason;" />
+		<field name="INVALID_KEY_USAGE" />
+		<field name="INVALID_NAME" />
+		<field name="INVALID_POLICY" />
+		<field name="NAME_CHAINING" />
+		<field name="NOT_CA_CERT" />
+		<field name="NO_TRUST_ANCHOR" />
+		<field name="PATH_TOO_LONG" />
+		<field name="UNRECOGNIZED_CRIT_EXT" />
+	</class>
+	<class name="java/security/cert/PKIXRevocationChecker" since="24">
+		<extends name="java/security/cert/PKIXCertPathChecker" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clone()Ljava/security/cert/PKIXRevocationChecker;" />
+		<method name="getOcspExtensions()Ljava/util/List;" />
+		<method name="getOcspResponder()Ljava/net/URI;" />
+		<method name="getOcspResponderCert()Ljava/security/cert/X509Certificate;" />
+		<method name="getOcspResponses()Ljava/util/Map;" />
+		<method name="getOptions()Ljava/util/Set;" />
+		<method name="getSoftFailExceptions()Ljava/util/List;" />
+		<method name="setOcspExtensions(Ljava/util/List;)V" />
+		<method name="setOcspResponder(Ljava/net/URI;)V" />
+		<method name="setOcspResponderCert(Ljava/security/cert/X509Certificate;)V" />
+		<method name="setOcspResponses(Ljava/util/Map;)V" />
+		<method name="setOptions(Ljava/util/Set;)V" />
+	</class>
+	<class name="java/security/cert/PKIXRevocationChecker$Option" since="24">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/cert/PKIXRevocationChecker$Option;" />
+		<method name="values()[Ljava/security/cert/PKIXRevocationChecker$Option;" />
+		<field name="NO_FALLBACK" />
+		<field name="ONLY_END_ENTITY" />
+		<field name="PREFER_CRLS" />
+		<field name="SOFT_FAIL" />
+	</class>
+	<class name="java/security/cert/PolicyNode" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getChildren()Ljava/util/Iterator;" />
+		<method name="getDepth()I" />
+		<method name="getExpectedPolicies()Ljava/util/Set;" />
+		<method name="getParent()Ljava/security/cert/PolicyNode;" />
+		<method name="getPolicyQualifiers()Ljava/util/Set;" />
+		<method name="getValidPolicy()Ljava/lang/String;" />
+		<method name="isCritical()Z" />
+	</class>
+	<class name="java/security/cert/PolicyQualifierInfo" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="getEncoded()[B" />
+		<method name="getPolicyQualifier()[B" />
+		<method name="getPolicyQualifierId()Ljava/lang/String;" />
+	</class>
+	<class name="java/security/cert/TrustAnchor" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/security/PublicKey;[B)V" />
+		<method name="&lt;init&gt;(Ljava/security/cert/X509Certificate;[B)V" />
+		<method name="&lt;init&gt;(Ljavax/security/auth/x500/X500Principal;Ljava/security/PublicKey;[B)V" />
+		<method name="getCA()Ljavax/security/auth/x500/X500Principal;" />
+		<method name="getCAName()Ljava/lang/String;" />
+		<method name="getCAPublicKey()Ljava/security/PublicKey;" />
+		<method name="getNameConstraints()[B" />
+		<method name="getTrustedCert()Ljava/security/cert/X509Certificate;" />
+	</class>
+	<class name="java/security/cert/X509CRL" since="1">
+		<extends name="java/security/cert/CRL" />
+		<implements name="java/security/cert/X509Extension" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getEncoded()[B" />
+		<method name="getIssuerDN()Ljava/security/Principal;" />
+		<method name="getIssuerX500Principal()Ljavax/security/auth/x500/X500Principal;" />
+		<method name="getNextUpdate()Ljava/util/Date;" />
+		<method name="getRevokedCertificate(Ljava/math/BigInteger;)Ljava/security/cert/X509CRLEntry;" />
+		<method name="getRevokedCertificate(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509CRLEntry;" />
+		<method name="getRevokedCertificates()Ljava/util/Set;" />
+		<method name="getSigAlgName()Ljava/lang/String;" />
+		<method name="getSigAlgOID()Ljava/lang/String;" />
+		<method name="getSigAlgParams()[B" />
+		<method name="getSignature()[B" />
+		<method name="getTBSCertList()[B" />
+		<method name="getThisUpdate()Ljava/util/Date;" />
+		<method name="getVersion()I" />
+		<method name="verify(Ljava/security/PublicKey;)V" />
+		<method name="verify(Ljava/security/PublicKey;Ljava/lang/String;)V" />
+		<method name="verify(Ljava/security/PublicKey;Ljava/security/Provider;)V" since="26" />
+	</class>
+	<class name="java/security/cert/X509CRLEntry" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/cert/X509Extension" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getCertificateIssuer()Ljavax/security/auth/x500/X500Principal;" />
+		<method name="getEncoded()[B" />
+		<method name="getRevocationDate()Ljava/util/Date;" />
+		<method name="getRevocationReason()Ljava/security/cert/CRLReason;" since="24" />
+		<method name="getSerialNumber()Ljava/math/BigInteger;" />
+		<method name="hasExtensions()Z" />
+	</class>
+	<class name="java/security/cert/X509CRLSelector" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/cert/CRLSelector" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addIssuer(Ljavax/security/auth/x500/X500Principal;)V" />
+		<method name="addIssuerName(Ljava/lang/String;)V" />
+		<method name="addIssuerName([B)V" />
+		<method name="getCertificateChecking()Ljava/security/cert/X509Certificate;" />
+		<method name="getDateAndTime()Ljava/util/Date;" />
+		<method name="getIssuerNames()Ljava/util/Collection;" />
+		<method name="getIssuers()Ljava/util/Collection;" />
+		<method name="getMaxCRL()Ljava/math/BigInteger;" />
+		<method name="getMinCRL()Ljava/math/BigInteger;" />
+		<method name="setCertificateChecking(Ljava/security/cert/X509Certificate;)V" />
+		<method name="setDateAndTime(Ljava/util/Date;)V" />
+		<method name="setIssuerNames(Ljava/util/Collection;)V" />
+		<method name="setIssuers(Ljava/util/Collection;)V" />
+		<method name="setMaxCRLNumber(Ljava/math/BigInteger;)V" />
+		<method name="setMinCRLNumber(Ljava/math/BigInteger;)V" />
+	</class>
+	<class name="java/security/cert/X509CertSelector" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/cert/CertSelector" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addPathToName(ILjava/lang/String;)V" />
+		<method name="addPathToName(I[B)V" />
+		<method name="addSubjectAlternativeName(ILjava/lang/String;)V" />
+		<method name="addSubjectAlternativeName(I[B)V" />
+		<method name="getAuthorityKeyIdentifier()[B" />
+		<method name="getBasicConstraints()I" />
+		<method name="getCertificate()Ljava/security/cert/X509Certificate;" />
+		<method name="getCertificateValid()Ljava/util/Date;" />
+		<method name="getExtendedKeyUsage()Ljava/util/Set;" />
+		<method name="getIssuer()Ljavax/security/auth/x500/X500Principal;" />
+		<method name="getIssuerAsBytes()[B" />
+		<method name="getIssuerAsString()Ljava/lang/String;" />
+		<method name="getKeyUsage()[Z" />
+		<method name="getMatchAllSubjectAltNames()Z" />
+		<method name="getNameConstraints()[B" />
+		<method name="getPathToNames()Ljava/util/Collection;" />
+		<method name="getPolicy()Ljava/util/Set;" />
+		<method name="getPrivateKeyValid()Ljava/util/Date;" />
+		<method name="getSerialNumber()Ljava/math/BigInteger;" />
+		<method name="getSubject()Ljavax/security/auth/x500/X500Principal;" />
+		<method name="getSubjectAlternativeNames()Ljava/util/Collection;" />
+		<method name="getSubjectAsBytes()[B" />
+		<method name="getSubjectAsString()Ljava/lang/String;" />
+		<method name="getSubjectKeyIdentifier()[B" />
+		<method name="getSubjectPublicKey()Ljava/security/PublicKey;" />
+		<method name="getSubjectPublicKeyAlgID()Ljava/lang/String;" />
+		<method name="setAuthorityKeyIdentifier([B)V" />
+		<method name="setBasicConstraints(I)V" />
+		<method name="setCertificate(Ljava/security/cert/X509Certificate;)V" />
+		<method name="setCertificateValid(Ljava/util/Date;)V" />
+		<method name="setExtendedKeyUsage(Ljava/util/Set;)V" />
+		<method name="setIssuer(Ljava/lang/String;)V" />
+		<method name="setIssuer(Ljavax/security/auth/x500/X500Principal;)V" />
+		<method name="setIssuer([B)V" />
+		<method name="setKeyUsage([Z)V" />
+		<method name="setMatchAllSubjectAltNames(Z)V" />
+		<method name="setNameConstraints([B)V" />
+		<method name="setPathToNames(Ljava/util/Collection;)V" />
+		<method name="setPolicy(Ljava/util/Set;)V" />
+		<method name="setPrivateKeyValid(Ljava/util/Date;)V" />
+		<method name="setSerialNumber(Ljava/math/BigInteger;)V" />
+		<method name="setSubject(Ljava/lang/String;)V" />
+		<method name="setSubject(Ljavax/security/auth/x500/X500Principal;)V" />
+		<method name="setSubject([B)V" />
+		<method name="setSubjectAlternativeNames(Ljava/util/Collection;)V" />
+		<method name="setSubjectKeyIdentifier([B)V" />
+		<method name="setSubjectPublicKey(Ljava/security/PublicKey;)V" />
+		<method name="setSubjectPublicKey([B)V" />
+		<method name="setSubjectPublicKeyAlgID(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/cert/X509Certificate" since="1">
+		<extends name="java/security/cert/Certificate" />
+		<implements name="java/security/cert/X509Extension" />
+		<method name="&lt;init&gt;()V" />
+		<method name="checkValidity()V" />
+		<method name="checkValidity(Ljava/util/Date;)V" />
+		<method name="getBasicConstraints()I" />
+		<method name="getExtendedKeyUsage()Ljava/util/List;" />
+		<method name="getIssuerAlternativeNames()Ljava/util/Collection;" />
+		<method name="getIssuerDN()Ljava/security/Principal;" />
+		<method name="getIssuerUniqueID()[Z" />
+		<method name="getIssuerX500Principal()Ljavax/security/auth/x500/X500Principal;" />
+		<method name="getKeyUsage()[Z" />
+		<method name="getNotAfter()Ljava/util/Date;" />
+		<method name="getNotBefore()Ljava/util/Date;" />
+		<method name="getSerialNumber()Ljava/math/BigInteger;" />
+		<method name="getSigAlgName()Ljava/lang/String;" />
+		<method name="getSigAlgOID()Ljava/lang/String;" />
+		<method name="getSigAlgParams()[B" />
+		<method name="getSignature()[B" />
+		<method name="getSubjectAlternativeNames()Ljava/util/Collection;" />
+		<method name="getSubjectDN()Ljava/security/Principal;" />
+		<method name="getSubjectUniqueID()[Z" />
+		<method name="getSubjectX500Principal()Ljavax/security/auth/x500/X500Principal;" />
+		<method name="getTBSCertificate()[B" />
+		<method name="getVersion()I" />
+		<method name="verify(Ljava/security/PublicKey;Ljava/security/Provider;)V" since="24" />
+	</class>
+	<class name="java/security/cert/X509Extension" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getCriticalExtensionOIDs()Ljava/util/Set;" />
+		<method name="getExtensionValue(Ljava/lang/String;)[B" />
+		<method name="getNonCriticalExtensionOIDs()Ljava/util/Set;" />
+		<method name="hasUnsupportedCriticalExtension()Z" />
+	</class>
+	<class name="java/security/interfaces/DSAKey" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getParams()Ljava/security/interfaces/DSAParams;" />
+	</class>
+	<class name="java/security/interfaces/DSAKeyPairGenerator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="initialize(IZLjava/security/SecureRandom;)V" />
+		<method name="initialize(Ljava/security/interfaces/DSAParams;Ljava/security/SecureRandom;)V" />
+	</class>
+	<class name="java/security/interfaces/DSAParams" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getG()Ljava/math/BigInteger;" />
+		<method name="getP()Ljava/math/BigInteger;" />
+		<method name="getQ()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/interfaces/DSAPrivateKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/PrivateKey" />
+		<implements name="java/security/interfaces/DSAKey" />
+		<method name="getX()Ljava/math/BigInteger;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/interfaces/DSAPublicKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/PublicKey" />
+		<implements name="java/security/interfaces/DSAKey" />
+		<method name="getY()Ljava/math/BigInteger;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/interfaces/ECKey" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getParams()Ljava/security/spec/ECParameterSpec;" />
+	</class>
+	<class name="java/security/interfaces/ECPrivateKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/PrivateKey" />
+		<implements name="java/security/interfaces/ECKey" />
+		<method name="getS()Ljava/math/BigInteger;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/interfaces/ECPublicKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/PublicKey" />
+		<implements name="java/security/interfaces/ECKey" />
+		<method name="getW()Ljava/security/spec/ECPoint;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/interfaces/RSAKey" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getModulus()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/interfaces/RSAMultiPrimePrivateCrtKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/interfaces/RSAPrivateKey" />
+		<method name="getCrtCoefficient()Ljava/math/BigInteger;" />
+		<method name="getOtherPrimeInfo()[Ljava/security/spec/RSAOtherPrimeInfo;" />
+		<method name="getPrimeExponentP()Ljava/math/BigInteger;" />
+		<method name="getPrimeExponentQ()Ljava/math/BigInteger;" />
+		<method name="getPrimeP()Ljava/math/BigInteger;" />
+		<method name="getPrimeQ()Ljava/math/BigInteger;" />
+		<method name="getPublicExponent()Ljava/math/BigInteger;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/interfaces/RSAPrivateCrtKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/interfaces/RSAPrivateKey" />
+		<method name="getCrtCoefficient()Ljava/math/BigInteger;" />
+		<method name="getPrimeExponentP()Ljava/math/BigInteger;" />
+		<method name="getPrimeExponentQ()Ljava/math/BigInteger;" />
+		<method name="getPrimeP()Ljava/math/BigInteger;" />
+		<method name="getPrimeQ()Ljava/math/BigInteger;" />
+		<method name="getPublicExponent()Ljava/math/BigInteger;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/interfaces/RSAPrivateKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/PrivateKey" />
+		<implements name="java/security/interfaces/RSAKey" />
+		<method name="getPrivateExponent()Ljava/math/BigInteger;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/interfaces/RSAPublicKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/PublicKey" />
+		<implements name="java/security/interfaces/RSAKey" />
+		<method name="getPublicExponent()Ljava/math/BigInteger;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="java/security/spec/AlgorithmParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/security/spec/DSAParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/interfaces/DSAParams" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+	</class>
+	<class name="java/security/spec/DSAPrivateKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="getG()Ljava/math/BigInteger;" />
+		<method name="getP()Ljava/math/BigInteger;" />
+		<method name="getQ()Ljava/math/BigInteger;" />
+		<method name="getX()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/DSAPublicKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="getG()Ljava/math/BigInteger;" />
+		<method name="getP()Ljava/math/BigInteger;" />
+		<method name="getQ()Ljava/math/BigInteger;" />
+		<method name="getY()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/ECField" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getFieldSize()I" />
+	</class>
+	<class name="java/security/spec/ECFieldF2m" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/ECField" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/math/BigInteger;)V" />
+		<method name="&lt;init&gt;(I[I)V" />
+		<method name="getM()I" />
+		<method name="getMidTermsOfReductionPolynomial()[I" />
+		<method name="getReductionPolynomial()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/ECFieldFp" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/ECField" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;)V" />
+		<method name="getP()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/ECGenParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getName()Ljava/lang/String;" />
+	</class>
+	<class name="java/security/spec/ECParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(Ljava/security/spec/EllipticCurve;Ljava/security/spec/ECPoint;Ljava/math/BigInteger;I)V" />
+		<method name="getCofactor()I" />
+		<method name="getCurve()Ljava/security/spec/EllipticCurve;" />
+		<method name="getGenerator()Ljava/security/spec/ECPoint;" />
+		<method name="getOrder()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/ECPoint" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="getAffineX()Ljava/math/BigInteger;" />
+		<method name="getAffineY()Ljava/math/BigInteger;" />
+		<field name="POINT_INFINITY" />
+	</class>
+	<class name="java/security/spec/ECPrivateKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/security/spec/ECParameterSpec;)V" />
+		<method name="getParams()Ljava/security/spec/ECParameterSpec;" />
+		<method name="getS()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/ECPublicKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;(Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)V" />
+		<method name="getParams()Ljava/security/spec/ECParameterSpec;" />
+		<method name="getW()Ljava/security/spec/ECPoint;" />
+	</class>
+	<class name="java/security/spec/EllipticCurve" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="&lt;init&gt;(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)V" />
+		<method name="getA()Ljava/math/BigInteger;" />
+		<method name="getB()Ljava/math/BigInteger;" />
+		<method name="getField()Ljava/security/spec/ECField;" />
+		<method name="getSeed()[B" />
+	</class>
+	<class name="java/security/spec/EncodedKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="getEncoded()[B" />
+		<method name="getFormat()Ljava/lang/String;" />
+	</class>
+	<class name="java/security/spec/InvalidKeySpecException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/security/spec/InvalidParameterSpecException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/security/spec/KeySpec" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/security/spec/MGF1ParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getDigestAlgorithm()Ljava/lang/String;" />
+		<field name="SHA1" />
+		<field name="SHA224" since="26" />
+		<field name="SHA256" />
+		<field name="SHA384" />
+		<field name="SHA512" />
+	</class>
+	<class name="java/security/spec/PKCS8EncodedKeySpec" since="1">
+		<extends name="java/security/spec/EncodedKeySpec" />
+		<method name="&lt;init&gt;([B)V" />
+	</class>
+	<class name="java/security/spec/PSSParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;II)V" />
+		<method name="getDigestAlgorithm()Ljava/lang/String;" />
+		<method name="getMGFAlgorithm()Ljava/lang/String;" />
+		<method name="getMGFParameters()Ljava/security/spec/AlgorithmParameterSpec;" />
+		<method name="getSaltLength()I" />
+		<method name="getTrailerField()I" />
+		<field name="DEFAULT" />
+	</class>
+	<class name="java/security/spec/RSAKeyGenParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(ILjava/math/BigInteger;)V" />
+		<method name="getKeysize()I" />
+		<method name="getPublicExponent()Ljava/math/BigInteger;" />
+		<field name="F0" />
+		<field name="F4" />
+	</class>
+	<class name="java/security/spec/RSAMultiPrimePrivateCrtKeySpec" since="1">
+		<extends name="java/security/spec/RSAPrivateKeySpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;)V" />
+		<method name="getCrtCoefficient()Ljava/math/BigInteger;" />
+		<method name="getOtherPrimeInfo()[Ljava/security/spec/RSAOtherPrimeInfo;" />
+		<method name="getPrimeExponentP()Ljava/math/BigInteger;" />
+		<method name="getPrimeExponentQ()Ljava/math/BigInteger;" />
+		<method name="getPrimeP()Ljava/math/BigInteger;" />
+		<method name="getPrimeQ()Ljava/math/BigInteger;" />
+		<method name="getPublicExponent()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/RSAOtherPrimeInfo" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="getCrtCoefficient()Ljava/math/BigInteger;" />
+		<method name="getExponent()Ljava/math/BigInteger;" />
+		<method name="getPrime()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/RSAPrivateCrtKeySpec" since="1">
+		<extends name="java/security/spec/RSAPrivateKeySpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="getCrtCoefficient()Ljava/math/BigInteger;" />
+		<method name="getPrimeExponentP()Ljava/math/BigInteger;" />
+		<method name="getPrimeExponentQ()Ljava/math/BigInteger;" />
+		<method name="getPrimeP()Ljava/math/BigInteger;" />
+		<method name="getPrimeQ()Ljava/math/BigInteger;" />
+		<method name="getPublicExponent()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/RSAPrivateKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="getModulus()Ljava/math/BigInteger;" />
+		<method name="getPrivateExponent()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/RSAPublicKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="getModulus()Ljava/math/BigInteger;" />
+		<method name="getPublicExponent()Ljava/math/BigInteger;" />
+	</class>
+	<class name="java/security/spec/X509EncodedKeySpec" since="1">
+		<extends name="java/security/spec/EncodedKeySpec" />
+		<method name="&lt;init&gt;([B)V" />
+	</class>
+	<class name="java/sql/Array" since="1">
+		<extends name="java/lang/Object" />
+		<method name="free()V" since="9" />
+		<method name="getArray()Ljava/lang/Object;" />
+		<method name="getArray(JI)Ljava/lang/Object;" />
+		<method name="getArray(JILjava/util/Map;)Ljava/lang/Object;" />
+		<method name="getArray(Ljava/util/Map;)Ljava/lang/Object;" />
+		<method name="getBaseType()I" />
+		<method name="getBaseTypeName()Ljava/lang/String;" />
+		<method name="getResultSet()Ljava/sql/ResultSet;" />
+		<method name="getResultSet(JI)Ljava/sql/ResultSet;" />
+		<method name="getResultSet(JILjava/util/Map;)Ljava/sql/ResultSet;" />
+		<method name="getResultSet(Ljava/util/Map;)Ljava/sql/ResultSet;" />
+	</class>
+	<class name="java/sql/BatchUpdateException" since="1">
+		<extends name="java/sql/SQLException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I[I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I[ILjava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;[I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;[ILjava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[ILjava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;([I)V" />
+		<method name="&lt;init&gt;([ILjava/lang/Throwable;)V" since="9" />
+		<method name="getUpdateCounts()[I" />
+	</class>
+	<class name="java/sql/Blob" since="1">
+		<extends name="java/lang/Object" />
+		<method name="free()V" since="9" />
+		<method name="getBinaryStream()Ljava/io/InputStream;" />
+		<method name="getBinaryStream(JJ)Ljava/io/InputStream;" since="9" />
+		<method name="getBytes(JI)[B" />
+		<method name="length()J" />
+		<method name="position(Ljava/sql/Blob;J)J" />
+		<method name="position([BJ)J" />
+		<method name="setBinaryStream(J)Ljava/io/OutputStream;" />
+		<method name="setBytes(J[B)I" />
+		<method name="setBytes(J[BII)I" />
+		<method name="truncate(J)V" />
+	</class>
+	<class name="java/sql/CallableStatement" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/sql/PreparedStatement" />
+		<method name="getArray(I)Ljava/sql/Array;" />
+		<method name="getArray(Ljava/lang/String;)Ljava/sql/Array;" />
+		<method name="getBigDecimal(I)Ljava/math/BigDecimal;" />
+		<method name="getBigDecimal(II)Ljava/math/BigDecimal;" deprecated="15" />
+		<method name="getBigDecimal(Ljava/lang/String;)Ljava/math/BigDecimal;" />
+		<method name="getBlob(I)Ljava/sql/Blob;" />
+		<method name="getBlob(Ljava/lang/String;)Ljava/sql/Blob;" />
+		<method name="getBoolean(I)Z" />
+		<method name="getBoolean(Ljava/lang/String;)Z" />
+		<method name="getByte(I)B" />
+		<method name="getByte(Ljava/lang/String;)B" />
+		<method name="getBytes(I)[B" />
+		<method name="getBytes(Ljava/lang/String;)[B" />
+		<method name="getCharacterStream(I)Ljava/io/Reader;" since="9" />
+		<method name="getCharacterStream(Ljava/lang/String;)Ljava/io/Reader;" since="9" />
+		<method name="getClob(I)Ljava/sql/Clob;" />
+		<method name="getClob(Ljava/lang/String;)Ljava/sql/Clob;" />
+		<method name="getDate(I)Ljava/sql/Date;" />
+		<method name="getDate(ILjava/util/Calendar;)Ljava/sql/Date;" />
+		<method name="getDate(Ljava/lang/String;)Ljava/sql/Date;" />
+		<method name="getDate(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Date;" />
+		<method name="getDouble(I)D" />
+		<method name="getDouble(Ljava/lang/String;)D" />
+		<method name="getFloat(I)F" />
+		<method name="getFloat(Ljava/lang/String;)F" />
+		<method name="getInt(I)I" />
+		<method name="getInt(Ljava/lang/String;)I" />
+		<method name="getLong(I)J" />
+		<method name="getLong(Ljava/lang/String;)J" />
+		<method name="getNCharacterStream(I)Ljava/io/Reader;" since="9" />
+		<method name="getNCharacterStream(Ljava/lang/String;)Ljava/io/Reader;" since="9" />
+		<method name="getNClob(I)Ljava/sql/NClob;" since="9" />
+		<method name="getNClob(Ljava/lang/String;)Ljava/sql/NClob;" since="9" />
+		<method name="getNString(I)Ljava/lang/String;" since="9" />
+		<method name="getNString(Ljava/lang/String;)Ljava/lang/String;" since="9" />
+		<method name="getObject(I)Ljava/lang/Object;" />
+		<method name="getObject(ILjava/util/Map;)Ljava/lang/Object;" />
+		<method name="getObject(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getObject(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;" />
+		<method name="getRef(I)Ljava/sql/Ref;" />
+		<method name="getRef(Ljava/lang/String;)Ljava/sql/Ref;" />
+		<method name="getRowId(I)Ljava/sql/RowId;" since="9" />
+		<method name="getRowId(Ljava/lang/String;)Ljava/sql/RowId;" since="9" />
+		<method name="getSQLXML(I)Ljava/sql/SQLXML;" since="9" />
+		<method name="getSQLXML(Ljava/lang/String;)Ljava/sql/SQLXML;" since="9" />
+		<method name="getShort(I)S" />
+		<method name="getShort(Ljava/lang/String;)S" />
+		<method name="getString(I)Ljava/lang/String;" />
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getTime(I)Ljava/sql/Time;" />
+		<method name="getTime(ILjava/util/Calendar;)Ljava/sql/Time;" />
+		<method name="getTime(Ljava/lang/String;)Ljava/sql/Time;" />
+		<method name="getTime(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Time;" />
+		<method name="getTimestamp(I)Ljava/sql/Timestamp;" />
+		<method name="getTimestamp(ILjava/util/Calendar;)Ljava/sql/Timestamp;" />
+		<method name="getTimestamp(Ljava/lang/String;)Ljava/sql/Timestamp;" />
+		<method name="getTimestamp(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Timestamp;" />
+		<method name="getURL(I)Ljava/net/URL;" />
+		<method name="getURL(Ljava/lang/String;)Ljava/net/URL;" />
+		<method name="registerOutParameter(II)V" />
+		<method name="registerOutParameter(III)V" />
+		<method name="registerOutParameter(IILjava/lang/String;)V" />
+		<method name="registerOutParameter(Ljava/lang/String;I)V" />
+		<method name="registerOutParameter(Ljava/lang/String;II)V" />
+		<method name="registerOutParameter(Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="setAsciiStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9" />
+		<method name="setAsciiStream(Ljava/lang/String;Ljava/io/InputStream;I)V" />
+		<method name="setAsciiStream(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9" />
+		<method name="setBigDecimal(Ljava/lang/String;Ljava/math/BigDecimal;)V" />
+		<method name="setBinaryStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9" />
+		<method name="setBinaryStream(Ljava/lang/String;Ljava/io/InputStream;I)V" />
+		<method name="setBinaryStream(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9" />
+		<method name="setBlob(Ljava/lang/String;Ljava/io/InputStream;)V" since="9" />
+		<method name="setBlob(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9" />
+		<method name="setBlob(Ljava/lang/String;Ljava/sql/Blob;)V" since="9" />
+		<method name="setBoolean(Ljava/lang/String;Z)V" />
+		<method name="setByte(Ljava/lang/String;B)V" />
+		<method name="setBytes(Ljava/lang/String;[B)V" />
+		<method name="setCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="setCharacterStream(Ljava/lang/String;Ljava/io/Reader;I)V" />
+		<method name="setCharacterStream(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="setClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="setClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="setClob(Ljava/lang/String;Ljava/sql/Clob;)V" since="9" />
+		<method name="setDate(Ljava/lang/String;Ljava/sql/Date;)V" />
+		<method name="setDate(Ljava/lang/String;Ljava/sql/Date;Ljava/util/Calendar;)V" />
+		<method name="setDouble(Ljava/lang/String;D)V" />
+		<method name="setFloat(Ljava/lang/String;F)V" />
+		<method name="setInt(Ljava/lang/String;I)V" />
+		<method name="setLong(Ljava/lang/String;J)V" />
+		<method name="setNCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="setNCharacterStream(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="setNClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="setNClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="setNClob(Ljava/lang/String;Ljava/sql/NClob;)V" since="9" />
+		<method name="setNString(Ljava/lang/String;Ljava/lang/String;)V" since="9" />
+		<method name="setNull(Ljava/lang/String;I)V" />
+		<method name="setNull(Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;I)V" />
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;II)V" />
+		<method name="setRowId(Ljava/lang/String;Ljava/sql/RowId;)V" since="9" />
+		<method name="setSQLXML(Ljava/lang/String;Ljava/sql/SQLXML;)V" since="9" />
+		<method name="setShort(Ljava/lang/String;S)V" />
+		<method name="setString(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setTime(Ljava/lang/String;Ljava/sql/Time;)V" />
+		<method name="setTime(Ljava/lang/String;Ljava/sql/Time;Ljava/util/Calendar;)V" />
+		<method name="setTimestamp(Ljava/lang/String;Ljava/sql/Timestamp;)V" />
+		<method name="setTimestamp(Ljava/lang/String;Ljava/sql/Timestamp;Ljava/util/Calendar;)V" />
+		<method name="setURL(Ljava/lang/String;Ljava/net/URL;)V" />
+		<method name="wasNull()Z" />
+	</class>
+	<class name="java/sql/ClientInfoStatus" since="9">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/sql/ClientInfoStatus;" />
+		<method name="values()[Ljava/sql/ClientInfoStatus;" />
+		<field name="REASON_UNKNOWN" />
+		<field name="REASON_UNKNOWN_PROPERTY" />
+		<field name="REASON_VALUE_INVALID" />
+		<field name="REASON_VALUE_TRUNCATED" />
+	</class>
+	<class name="java/sql/Clob" since="1">
+		<extends name="java/lang/Object" />
+		<method name="free()V" since="9" />
+		<method name="getAsciiStream()Ljava/io/InputStream;" />
+		<method name="getCharacterStream()Ljava/io/Reader;" />
+		<method name="getCharacterStream(JJ)Ljava/io/Reader;" since="9" />
+		<method name="getSubString(JI)Ljava/lang/String;" />
+		<method name="length()J" />
+		<method name="position(Ljava/lang/String;J)J" />
+		<method name="position(Ljava/sql/Clob;J)J" />
+		<method name="setAsciiStream(J)Ljava/io/OutputStream;" />
+		<method name="setCharacterStream(J)Ljava/io/Writer;" />
+		<method name="setString(JLjava/lang/String;)I" />
+		<method name="setString(JLjava/lang/String;II)I" />
+		<method name="truncate(J)V" />
+	</class>
+	<class name="java/sql/Connection" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="19" />
+		<implements name="java/sql/Wrapper" since="9" />
+		<method name="clearWarnings()V" />
+		<method name="close()V" />
+		<method name="commit()V" />
+		<method name="createArrayOf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Array;" since="9" />
+		<method name="createBlob()Ljava/sql/Blob;" since="9" />
+		<method name="createClob()Ljava/sql/Clob;" since="9" />
+		<method name="createNClob()Ljava/sql/NClob;" since="9" />
+		<method name="createSQLXML()Ljava/sql/SQLXML;" since="9" />
+		<method name="createStatement()Ljava/sql/Statement;" />
+		<method name="createStatement(II)Ljava/sql/Statement;" />
+		<method name="createStatement(III)Ljava/sql/Statement;" />
+		<method name="createStruct(Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Struct;" since="9" />
+		<method name="getAutoCommit()Z" />
+		<method name="getCatalog()Ljava/lang/String;" />
+		<method name="getClientInfo()Ljava/util/Properties;" since="9" />
+		<method name="getClientInfo(Ljava/lang/String;)Ljava/lang/String;" since="9" />
+		<method name="getHoldability()I" />
+		<method name="getMetaData()Ljava/sql/DatabaseMetaData;" />
+		<method name="getTransactionIsolation()I" />
+		<method name="getTypeMap()Ljava/util/Map;" />
+		<method name="getWarnings()Ljava/sql/SQLWarning;" />
+		<method name="isClosed()Z" />
+		<method name="isReadOnly()Z" />
+		<method name="isValid(I)Z" since="9" />
+		<method name="nativeSQL(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="prepareCall(Ljava/lang/String;)Ljava/sql/CallableStatement;" />
+		<method name="prepareCall(Ljava/lang/String;II)Ljava/sql/CallableStatement;" />
+		<method name="prepareCall(Ljava/lang/String;III)Ljava/sql/CallableStatement;" />
+		<method name="prepareStatement(Ljava/lang/String;)Ljava/sql/PreparedStatement;" />
+		<method name="prepareStatement(Ljava/lang/String;I)Ljava/sql/PreparedStatement;" />
+		<method name="prepareStatement(Ljava/lang/String;II)Ljava/sql/PreparedStatement;" />
+		<method name="prepareStatement(Ljava/lang/String;III)Ljava/sql/PreparedStatement;" />
+		<method name="prepareStatement(Ljava/lang/String;[I)Ljava/sql/PreparedStatement;" />
+		<method name="prepareStatement(Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/PreparedStatement;" />
+		<method name="releaseSavepoint(Ljava/sql/Savepoint;)V" />
+		<method name="rollback()V" />
+		<method name="rollback(Ljava/sql/Savepoint;)V" />
+		<method name="setAutoCommit(Z)V" />
+		<method name="setCatalog(Ljava/lang/String;)V" />
+		<method name="setClientInfo(Ljava/lang/String;Ljava/lang/String;)V" since="9" />
+		<method name="setClientInfo(Ljava/util/Properties;)V" since="9" />
+		<method name="setHoldability(I)V" />
+		<method name="setReadOnly(Z)V" />
+		<method name="setSavepoint()Ljava/sql/Savepoint;" />
+		<method name="setSavepoint(Ljava/lang/String;)Ljava/sql/Savepoint;" />
+		<method name="setTransactionIsolation(I)V" />
+		<method name="setTypeMap(Ljava/util/Map;)V" />
+		<field name="TRANSACTION_NONE" />
+		<field name="TRANSACTION_READ_COMMITTED" />
+		<field name="TRANSACTION_READ_UNCOMMITTED" />
+		<field name="TRANSACTION_REPEATABLE_READ" />
+		<field name="TRANSACTION_SERIALIZABLE" />
+	</class>
+	<class name="java/sql/DataTruncation" since="1">
+		<extends name="java/sql/SQLWarning" />
+		<method name="&lt;init&gt;(IZZII)V" />
+		<method name="&lt;init&gt;(IZZIILjava/lang/Throwable;)V" since="9" />
+		<method name="getDataSize()I" />
+		<method name="getIndex()I" />
+		<method name="getParameter()Z" />
+		<method name="getRead()Z" />
+		<method name="getTransferSize()I" />
+	</class>
+	<class name="java/sql/DatabaseMetaData" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/sql/Wrapper" since="9" />
+		<method name="allProceduresAreCallable()Z" />
+		<method name="allTablesAreSelectable()Z" />
+		<method name="autoCommitFailureClosesAllResultSets()Z" since="9" />
+		<method name="dataDefinitionCausesTransactionCommit()Z" />
+		<method name="dataDefinitionIgnoredInTransactions()Z" />
+		<method name="deletesAreDetected(I)Z" />
+		<method name="doesMaxRowSizeIncludeBlobs()Z" />
+		<method name="getAttributes(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getBestRowIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZ)Ljava/sql/ResultSet;" />
+		<method name="getCatalogSeparator()Ljava/lang/String;" />
+		<method name="getCatalogTerm()Ljava/lang/String;" />
+		<method name="getCatalogs()Ljava/sql/ResultSet;" />
+		<method name="getClientInfoProperties()Ljava/sql/ResultSet;" since="9" />
+		<method name="getColumnPrivileges(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getColumns(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getConnection()Ljava/sql/Connection;" />
+		<method name="getCrossReference(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getDatabaseMajorVersion()I" />
+		<method name="getDatabaseMinorVersion()I" />
+		<method name="getDatabaseProductName()Ljava/lang/String;" />
+		<method name="getDatabaseProductVersion()Ljava/lang/String;" />
+		<method name="getDefaultTransactionIsolation()I" />
+		<method name="getDriverMajorVersion()I" />
+		<method name="getDriverMinorVersion()I" />
+		<method name="getDriverName()Ljava/lang/String;" />
+		<method name="getDriverVersion()Ljava/lang/String;" />
+		<method name="getExportedKeys(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getExtraNameCharacters()Ljava/lang/String;" />
+		<method name="getFunctionColumns(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" since="9" />
+		<method name="getFunctions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" since="9" />
+		<method name="getIdentifierQuoteString()Ljava/lang/String;" />
+		<method name="getImportedKeys(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getIndexInfo(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/sql/ResultSet;" />
+		<method name="getJDBCMajorVersion()I" />
+		<method name="getJDBCMinorVersion()I" />
+		<method name="getMaxBinaryLiteralLength()I" />
+		<method name="getMaxCatalogNameLength()I" />
+		<method name="getMaxCharLiteralLength()I" />
+		<method name="getMaxColumnNameLength()I" />
+		<method name="getMaxColumnsInGroupBy()I" />
+		<method name="getMaxColumnsInIndex()I" />
+		<method name="getMaxColumnsInOrderBy()I" />
+		<method name="getMaxColumnsInSelect()I" />
+		<method name="getMaxColumnsInTable()I" />
+		<method name="getMaxConnections()I" />
+		<method name="getMaxCursorNameLength()I" />
+		<method name="getMaxIndexLength()I" />
+		<method name="getMaxProcedureNameLength()I" />
+		<method name="getMaxRowSize()I" />
+		<method name="getMaxSchemaNameLength()I" />
+		<method name="getMaxStatementLength()I" />
+		<method name="getMaxStatements()I" />
+		<method name="getMaxTableNameLength()I" />
+		<method name="getMaxTablesInSelect()I" />
+		<method name="getMaxUserNameLength()I" />
+		<method name="getNumericFunctions()Ljava/lang/String;" />
+		<method name="getPrimaryKeys(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getProcedureColumns(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getProcedureTerm()Ljava/lang/String;" />
+		<method name="getProcedures(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getResultSetHoldability()I" />
+		<method name="getRowIdLifetime()Ljava/sql/RowIdLifetime;" since="9" />
+		<method name="getSQLKeywords()Ljava/lang/String;" />
+		<method name="getSQLStateType()I" />
+		<method name="getSchemaTerm()Ljava/lang/String;" />
+		<method name="getSchemas()Ljava/sql/ResultSet;" />
+		<method name="getSchemas(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" since="9" />
+		<method name="getSearchStringEscape()Ljava/lang/String;" />
+		<method name="getStringFunctions()Ljava/lang/String;" />
+		<method name="getSuperTables(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getSuperTypes(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getSystemFunctions()Ljava/lang/String;" />
+		<method name="getTablePrivileges(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getTableTypes()Ljava/sql/ResultSet;" />
+		<method name="getTables(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="getTimeDateFunctions()Ljava/lang/String;" />
+		<method name="getTypeInfo()Ljava/sql/ResultSet;" />
+		<method name="getUDTs(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)Ljava/sql/ResultSet;" />
+		<method name="getURL()Ljava/lang/String;" />
+		<method name="getUserName()Ljava/lang/String;" />
+		<method name="getVersionColumns(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="insertsAreDetected(I)Z" />
+		<method name="isCatalogAtStart()Z" />
+		<method name="isReadOnly()Z" />
+		<method name="locatorsUpdateCopy()Z" />
+		<method name="nullPlusNonNullIsNull()Z" />
+		<method name="nullsAreSortedAtEnd()Z" />
+		<method name="nullsAreSortedAtStart()Z" />
+		<method name="nullsAreSortedHigh()Z" />
+		<method name="nullsAreSortedLow()Z" />
+		<method name="othersDeletesAreVisible(I)Z" />
+		<method name="othersInsertsAreVisible(I)Z" />
+		<method name="othersUpdatesAreVisible(I)Z" />
+		<method name="ownDeletesAreVisible(I)Z" />
+		<method name="ownInsertsAreVisible(I)Z" />
+		<method name="ownUpdatesAreVisible(I)Z" />
+		<method name="storesLowerCaseIdentifiers()Z" />
+		<method name="storesLowerCaseQuotedIdentifiers()Z" />
+		<method name="storesMixedCaseIdentifiers()Z" />
+		<method name="storesMixedCaseQuotedIdentifiers()Z" />
+		<method name="storesUpperCaseIdentifiers()Z" />
+		<method name="storesUpperCaseQuotedIdentifiers()Z" />
+		<method name="supportsANSI92EntryLevelSQL()Z" />
+		<method name="supportsANSI92FullSQL()Z" />
+		<method name="supportsANSI92IntermediateSQL()Z" />
+		<method name="supportsAlterTableWithAddColumn()Z" />
+		<method name="supportsAlterTableWithDropColumn()Z" />
+		<method name="supportsBatchUpdates()Z" />
+		<method name="supportsCatalogsInDataManipulation()Z" />
+		<method name="supportsCatalogsInIndexDefinitions()Z" />
+		<method name="supportsCatalogsInPrivilegeDefinitions()Z" />
+		<method name="supportsCatalogsInProcedureCalls()Z" />
+		<method name="supportsCatalogsInTableDefinitions()Z" />
+		<method name="supportsColumnAliasing()Z" />
+		<method name="supportsConvert()Z" />
+		<method name="supportsConvert(II)Z" />
+		<method name="supportsCoreSQLGrammar()Z" />
+		<method name="supportsCorrelatedSubqueries()Z" />
+		<method name="supportsDataDefinitionAndDataManipulationTransactions()Z" />
+		<method name="supportsDataManipulationTransactionsOnly()Z" />
+		<method name="supportsDifferentTableCorrelationNames()Z" />
+		<method name="supportsExpressionsInOrderBy()Z" />
+		<method name="supportsExtendedSQLGrammar()Z" />
+		<method name="supportsFullOuterJoins()Z" />
+		<method name="supportsGetGeneratedKeys()Z" />
+		<method name="supportsGroupBy()Z" />
+		<method name="supportsGroupByBeyondSelect()Z" />
+		<method name="supportsGroupByUnrelated()Z" />
+		<method name="supportsIntegrityEnhancementFacility()Z" />
+		<method name="supportsLikeEscapeClause()Z" />
+		<method name="supportsLimitedOuterJoins()Z" />
+		<method name="supportsMinimumSQLGrammar()Z" />
+		<method name="supportsMixedCaseIdentifiers()Z" />
+		<method name="supportsMixedCaseQuotedIdentifiers()Z" />
+		<method name="supportsMultipleOpenResults()Z" />
+		<method name="supportsMultipleResultSets()Z" />
+		<method name="supportsMultipleTransactions()Z" />
+		<method name="supportsNamedParameters()Z" />
+		<method name="supportsNonNullableColumns()Z" />
+		<method name="supportsOpenCursorsAcrossCommit()Z" />
+		<method name="supportsOpenCursorsAcrossRollback()Z" />
+		<method name="supportsOpenStatementsAcrossCommit()Z" />
+		<method name="supportsOpenStatementsAcrossRollback()Z" />
+		<method name="supportsOrderByUnrelated()Z" />
+		<method name="supportsOuterJoins()Z" />
+		<method name="supportsPositionedDelete()Z" />
+		<method name="supportsPositionedUpdate()Z" />
+		<method name="supportsResultSetConcurrency(II)Z" />
+		<method name="supportsResultSetHoldability(I)Z" />
+		<method name="supportsResultSetType(I)Z" />
+		<method name="supportsSavepoints()Z" />
+		<method name="supportsSchemasInDataManipulation()Z" />
+		<method name="supportsSchemasInIndexDefinitions()Z" />
+		<method name="supportsSchemasInPrivilegeDefinitions()Z" />
+		<method name="supportsSchemasInProcedureCalls()Z" />
+		<method name="supportsSchemasInTableDefinitions()Z" />
+		<method name="supportsSelectForUpdate()Z" />
+		<method name="supportsStatementPooling()Z" />
+		<method name="supportsStoredFunctionsUsingCallSyntax()Z" since="9" />
+		<method name="supportsStoredProcedures()Z" />
+		<method name="supportsSubqueriesInComparisons()Z" />
+		<method name="supportsSubqueriesInExists()Z" />
+		<method name="supportsSubqueriesInIns()Z" />
+		<method name="supportsSubqueriesInQuantifieds()Z" />
+		<method name="supportsTableCorrelationNames()Z" />
+		<method name="supportsTransactionIsolationLevel(I)Z" />
+		<method name="supportsTransactions()Z" />
+		<method name="supportsUnion()Z" />
+		<method name="supportsUnionAll()Z" />
+		<method name="updatesAreDetected(I)Z" />
+		<method name="usesLocalFilePerTable()Z" />
+		<method name="usesLocalFiles()Z" />
+		<field name="attributeNoNulls" />
+		<field name="attributeNullable" />
+		<field name="attributeNullableUnknown" />
+		<field name="bestRowNotPseudo" />
+		<field name="bestRowPseudo" />
+		<field name="bestRowSession" />
+		<field name="bestRowTemporary" />
+		<field name="bestRowTransaction" />
+		<field name="bestRowUnknown" />
+		<field name="columnNoNulls" />
+		<field name="columnNullable" />
+		<field name="columnNullableUnknown" />
+		<field name="functionColumnIn" since="9" />
+		<field name="functionColumnInOut" since="9" />
+		<field name="functionColumnOut" since="9" />
+		<field name="functionColumnResult" since="9" />
+		<field name="functionColumnUnknown" since="9" />
+		<field name="functionNoNulls" since="9" />
+		<field name="functionNoTable" since="9" />
+		<field name="functionNullable" since="9" />
+		<field name="functionNullableUnknown" since="9" />
+		<field name="functionResultUnknown" since="9" />
+		<field name="functionReturn" since="9" />
+		<field name="functionReturnsTable" since="9" />
+		<field name="importedKeyCascade" />
+		<field name="importedKeyInitiallyDeferred" />
+		<field name="importedKeyInitiallyImmediate" />
+		<field name="importedKeyNoAction" />
+		<field name="importedKeyNotDeferrable" />
+		<field name="importedKeyRestrict" />
+		<field name="importedKeySetDefault" />
+		<field name="importedKeySetNull" />
+		<field name="procedureColumnIn" />
+		<field name="procedureColumnInOut" />
+		<field name="procedureColumnOut" />
+		<field name="procedureColumnResult" />
+		<field name="procedureColumnReturn" />
+		<field name="procedureColumnUnknown" />
+		<field name="procedureNoNulls" />
+		<field name="procedureNoResult" />
+		<field name="procedureNullable" />
+		<field name="procedureNullableUnknown" />
+		<field name="procedureResultUnknown" />
+		<field name="procedureReturnsResult" />
+		<field name="sqlStateSQL" since="9" />
+		<field name="sqlStateSQL99" />
+		<field name="sqlStateXOpen" />
+		<field name="tableIndexClustered" />
+		<field name="tableIndexHashed" />
+		<field name="tableIndexOther" />
+		<field name="tableIndexStatistic" />
+		<field name="typeNoNulls" />
+		<field name="typeNullable" />
+		<field name="typeNullableUnknown" />
+		<field name="typePredBasic" />
+		<field name="typePredChar" />
+		<field name="typePredNone" />
+		<field name="typeSearchable" />
+		<field name="versionColumnNotPseudo" />
+		<field name="versionColumnPseudo" />
+		<field name="versionColumnUnknown" />
+	</class>
+	<class name="java/sql/Date" since="1">
+		<extends name="java/util/Date" />
+		<method name="&lt;init&gt;(III)V" deprecated="15" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/sql/Date;" />
+	</class>
+	<class name="java/sql/Driver" since="1">
+		<extends name="java/lang/Object" />
+		<method name="acceptsURL(Ljava/lang/String;)Z" />
+		<method name="connect(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;" />
+		<method name="getMajorVersion()I" />
+		<method name="getMinorVersion()I" />
+		<method name="getPropertyInfo(Ljava/lang/String;Ljava/util/Properties;)[Ljava/sql/DriverPropertyInfo;" />
+		<method name="jdbcCompliant()Z" />
+	</class>
+	<class name="java/sql/DriverManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="deregisterDriver(Ljava/sql/Driver;)V" />
+		<method name="getConnection(Ljava/lang/String;)Ljava/sql/Connection;" />
+		<method name="getConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;" />
+		<method name="getConnection(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;" />
+		<method name="getDriver(Ljava/lang/String;)Ljava/sql/Driver;" />
+		<method name="getDrivers()Ljava/util/Enumeration;" />
+		<method name="getLogStream()Ljava/io/PrintStream;" deprecated="15" />
+		<method name="getLogWriter()Ljava/io/PrintWriter;" />
+		<method name="getLoginTimeout()I" />
+		<method name="println(Ljava/lang/String;)V" />
+		<method name="registerDriver(Ljava/sql/Driver;)V" />
+		<method name="setLogStream(Ljava/io/PrintStream;)V" deprecated="15" />
+		<method name="setLogWriter(Ljava/io/PrintWriter;)V" />
+		<method name="setLoginTimeout(I)V" />
+	</class>
+	<class name="java/sql/DriverPropertyInfo" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="choices" />
+		<field name="description" />
+		<field name="name" />
+		<field name="required" />
+		<field name="value" />
+	</class>
+	<class name="java/sql/NClob" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/sql/Clob" />
+	</class>
+	<class name="java/sql/ParameterMetaData" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/sql/Wrapper" since="9" />
+		<method name="getParameterClassName(I)Ljava/lang/String;" />
+		<method name="getParameterCount()I" />
+		<method name="getParameterMode(I)I" />
+		<method name="getParameterType(I)I" />
+		<method name="getParameterTypeName(I)Ljava/lang/String;" />
+		<method name="getPrecision(I)I" />
+		<method name="getScale(I)I" />
+		<method name="isNullable(I)I" />
+		<method name="isSigned(I)Z" />
+		<field name="parameterModeIn" />
+		<field name="parameterModeInOut" />
+		<field name="parameterModeOut" />
+		<field name="parameterModeUnknown" />
+		<field name="parameterNoNulls" />
+		<field name="parameterNullable" />
+		<field name="parameterNullableUnknown" />
+	</class>
+	<class name="java/sql/PreparedStatement" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/sql/Statement" />
+		<method name="addBatch()V" />
+		<method name="clearParameters()V" />
+		<method name="execute()Z" />
+		<method name="executeQuery()Ljava/sql/ResultSet;" />
+		<method name="executeUpdate()I" />
+		<method name="getMetaData()Ljava/sql/ResultSetMetaData;" />
+		<method name="getParameterMetaData()Ljava/sql/ParameterMetaData;" />
+		<method name="setArray(ILjava/sql/Array;)V" />
+		<method name="setAsciiStream(ILjava/io/InputStream;)V" since="9" />
+		<method name="setAsciiStream(ILjava/io/InputStream;I)V" />
+		<method name="setAsciiStream(ILjava/io/InputStream;J)V" since="9" />
+		<method name="setBigDecimal(ILjava/math/BigDecimal;)V" />
+		<method name="setBinaryStream(ILjava/io/InputStream;)V" since="9" />
+		<method name="setBinaryStream(ILjava/io/InputStream;I)V" />
+		<method name="setBinaryStream(ILjava/io/InputStream;J)V" since="9" />
+		<method name="setBlob(ILjava/io/InputStream;)V" since="9" />
+		<method name="setBlob(ILjava/io/InputStream;J)V" since="9" />
+		<method name="setBlob(ILjava/sql/Blob;)V" />
+		<method name="setBoolean(IZ)V" />
+		<method name="setByte(IB)V" />
+		<method name="setBytes(I[B)V" />
+		<method name="setCharacterStream(ILjava/io/Reader;)V" since="9" />
+		<method name="setCharacterStream(ILjava/io/Reader;I)V" />
+		<method name="setCharacterStream(ILjava/io/Reader;J)V" since="9" />
+		<method name="setClob(ILjava/io/Reader;)V" since="9" />
+		<method name="setClob(ILjava/io/Reader;J)V" since="9" />
+		<method name="setClob(ILjava/sql/Clob;)V" />
+		<method name="setDate(ILjava/sql/Date;)V" />
+		<method name="setDate(ILjava/sql/Date;Ljava/util/Calendar;)V" />
+		<method name="setDouble(ID)V" />
+		<method name="setFloat(IF)V" />
+		<method name="setInt(II)V" />
+		<method name="setLong(IJ)V" />
+		<method name="setNCharacterStream(ILjava/io/Reader;)V" since="9" />
+		<method name="setNCharacterStream(ILjava/io/Reader;J)V" since="9" />
+		<method name="setNClob(ILjava/io/Reader;)V" since="9" />
+		<method name="setNClob(ILjava/io/Reader;J)V" since="9" />
+		<method name="setNClob(ILjava/sql/NClob;)V" since="9" />
+		<method name="setNString(ILjava/lang/String;)V" since="9" />
+		<method name="setNull(II)V" />
+		<method name="setNull(IILjava/lang/String;)V" />
+		<method name="setObject(ILjava/lang/Object;)V" />
+		<method name="setObject(ILjava/lang/Object;I)V" />
+		<method name="setObject(ILjava/lang/Object;II)V" />
+		<method name="setRef(ILjava/sql/Ref;)V" />
+		<method name="setRowId(ILjava/sql/RowId;)V" since="9" />
+		<method name="setSQLXML(ILjava/sql/SQLXML;)V" since="9" />
+		<method name="setShort(IS)V" />
+		<method name="setString(ILjava/lang/String;)V" />
+		<method name="setTime(ILjava/sql/Time;)V" />
+		<method name="setTime(ILjava/sql/Time;Ljava/util/Calendar;)V" />
+		<method name="setTimestamp(ILjava/sql/Timestamp;)V" />
+		<method name="setTimestamp(ILjava/sql/Timestamp;Ljava/util/Calendar;)V" />
+		<method name="setURL(ILjava/net/URL;)V" />
+		<method name="setUnicodeStream(ILjava/io/InputStream;I)V" deprecated="15" />
+	</class>
+	<class name="java/sql/Ref" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getBaseTypeName()Ljava/lang/String;" />
+		<method name="getObject()Ljava/lang/Object;" />
+		<method name="getObject(Ljava/util/Map;)Ljava/lang/Object;" />
+		<method name="setObject(Ljava/lang/Object;)V" />
+	</class>
+	<class name="java/sql/ResultSet" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="19" />
+		<implements name="java/sql/Wrapper" since="9" />
+		<method name="absolute(I)Z" />
+		<method name="afterLast()V" />
+		<method name="beforeFirst()V" />
+		<method name="cancelRowUpdates()V" />
+		<method name="clearWarnings()V" />
+		<method name="close()V" />
+		<method name="deleteRow()V" />
+		<method name="findColumn(Ljava/lang/String;)I" />
+		<method name="first()Z" />
+		<method name="getArray(I)Ljava/sql/Array;" />
+		<method name="getArray(Ljava/lang/String;)Ljava/sql/Array;" />
+		<method name="getAsciiStream(I)Ljava/io/InputStream;" />
+		<method name="getAsciiStream(Ljava/lang/String;)Ljava/io/InputStream;" />
+		<method name="getBigDecimal(I)Ljava/math/BigDecimal;" />
+		<method name="getBigDecimal(II)Ljava/math/BigDecimal;" deprecated="15" />
+		<method name="getBigDecimal(Ljava/lang/String;)Ljava/math/BigDecimal;" />
+		<method name="getBigDecimal(Ljava/lang/String;I)Ljava/math/BigDecimal;" deprecated="15" />
+		<method name="getBinaryStream(I)Ljava/io/InputStream;" />
+		<method name="getBinaryStream(Ljava/lang/String;)Ljava/io/InputStream;" />
+		<method name="getBlob(I)Ljava/sql/Blob;" />
+		<method name="getBlob(Ljava/lang/String;)Ljava/sql/Blob;" />
+		<method name="getBoolean(I)Z" />
+		<method name="getBoolean(Ljava/lang/String;)Z" />
+		<method name="getByte(I)B" />
+		<method name="getByte(Ljava/lang/String;)B" />
+		<method name="getBytes(I)[B" />
+		<method name="getBytes(Ljava/lang/String;)[B" />
+		<method name="getCharacterStream(I)Ljava/io/Reader;" />
+		<method name="getCharacterStream(Ljava/lang/String;)Ljava/io/Reader;" />
+		<method name="getClob(I)Ljava/sql/Clob;" />
+		<method name="getClob(Ljava/lang/String;)Ljava/sql/Clob;" />
+		<method name="getConcurrency()I" />
+		<method name="getCursorName()Ljava/lang/String;" />
+		<method name="getDate(I)Ljava/sql/Date;" />
+		<method name="getDate(ILjava/util/Calendar;)Ljava/sql/Date;" />
+		<method name="getDate(Ljava/lang/String;)Ljava/sql/Date;" />
+		<method name="getDate(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Date;" />
+		<method name="getDouble(I)D" />
+		<method name="getDouble(Ljava/lang/String;)D" />
+		<method name="getFetchDirection()I" />
+		<method name="getFetchSize()I" />
+		<method name="getFloat(I)F" />
+		<method name="getFloat(Ljava/lang/String;)F" />
+		<method name="getHoldability()I" since="9" />
+		<method name="getInt(I)I" />
+		<method name="getInt(Ljava/lang/String;)I" />
+		<method name="getLong(I)J" />
+		<method name="getLong(Ljava/lang/String;)J" />
+		<method name="getMetaData()Ljava/sql/ResultSetMetaData;" />
+		<method name="getNCharacterStream(I)Ljava/io/Reader;" since="9" />
+		<method name="getNCharacterStream(Ljava/lang/String;)Ljava/io/Reader;" since="9" />
+		<method name="getNClob(I)Ljava/sql/NClob;" since="9" />
+		<method name="getNClob(Ljava/lang/String;)Ljava/sql/NClob;" since="9" />
+		<method name="getNString(I)Ljava/lang/String;" since="9" />
+		<method name="getNString(Ljava/lang/String;)Ljava/lang/String;" since="9" />
+		<method name="getObject(I)Ljava/lang/Object;" />
+		<method name="getObject(ILjava/util/Map;)Ljava/lang/Object;" />
+		<method name="getObject(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getObject(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;" />
+		<method name="getRef(I)Ljava/sql/Ref;" />
+		<method name="getRef(Ljava/lang/String;)Ljava/sql/Ref;" />
+		<method name="getRow()I" />
+		<method name="getRowId(I)Ljava/sql/RowId;" since="9" />
+		<method name="getRowId(Ljava/lang/String;)Ljava/sql/RowId;" since="9" />
+		<method name="getSQLXML(I)Ljava/sql/SQLXML;" since="9" />
+		<method name="getSQLXML(Ljava/lang/String;)Ljava/sql/SQLXML;" since="9" />
+		<method name="getShort(I)S" />
+		<method name="getShort(Ljava/lang/String;)S" />
+		<method name="getStatement()Ljava/sql/Statement;" />
+		<method name="getString(I)Ljava/lang/String;" />
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getTime(I)Ljava/sql/Time;" />
+		<method name="getTime(ILjava/util/Calendar;)Ljava/sql/Time;" />
+		<method name="getTime(Ljava/lang/String;)Ljava/sql/Time;" />
+		<method name="getTime(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Time;" />
+		<method name="getTimestamp(I)Ljava/sql/Timestamp;" />
+		<method name="getTimestamp(ILjava/util/Calendar;)Ljava/sql/Timestamp;" />
+		<method name="getTimestamp(Ljava/lang/String;)Ljava/sql/Timestamp;" />
+		<method name="getTimestamp(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Timestamp;" />
+		<method name="getType()I" />
+		<method name="getURL(I)Ljava/net/URL;" />
+		<method name="getURL(Ljava/lang/String;)Ljava/net/URL;" />
+		<method name="getUnicodeStream(I)Ljava/io/InputStream;" deprecated="15" />
+		<method name="getUnicodeStream(Ljava/lang/String;)Ljava/io/InputStream;" deprecated="15" />
+		<method name="getWarnings()Ljava/sql/SQLWarning;" />
+		<method name="insertRow()V" />
+		<method name="isAfterLast()Z" />
+		<method name="isBeforeFirst()Z" />
+		<method name="isClosed()Z" since="9" />
+		<method name="isFirst()Z" />
+		<method name="isLast()Z" />
+		<method name="last()Z" />
+		<method name="moveToCurrentRow()V" />
+		<method name="moveToInsertRow()V" />
+		<method name="next()Z" />
+		<method name="previous()Z" />
+		<method name="refreshRow()V" />
+		<method name="relative(I)Z" />
+		<method name="rowDeleted()Z" />
+		<method name="rowInserted()Z" />
+		<method name="rowUpdated()Z" />
+		<method name="setFetchDirection(I)V" />
+		<method name="setFetchSize(I)V" />
+		<method name="updateArray(ILjava/sql/Array;)V" />
+		<method name="updateArray(Ljava/lang/String;Ljava/sql/Array;)V" />
+		<method name="updateAsciiStream(ILjava/io/InputStream;)V" since="9" />
+		<method name="updateAsciiStream(ILjava/io/InputStream;I)V" />
+		<method name="updateAsciiStream(ILjava/io/InputStream;J)V" since="9" />
+		<method name="updateAsciiStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9" />
+		<method name="updateAsciiStream(Ljava/lang/String;Ljava/io/InputStream;I)V" />
+		<method name="updateAsciiStream(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9" />
+		<method name="updateBigDecimal(ILjava/math/BigDecimal;)V" />
+		<method name="updateBigDecimal(Ljava/lang/String;Ljava/math/BigDecimal;)V" />
+		<method name="updateBinaryStream(ILjava/io/InputStream;)V" since="9" />
+		<method name="updateBinaryStream(ILjava/io/InputStream;I)V" />
+		<method name="updateBinaryStream(ILjava/io/InputStream;J)V" since="9" />
+		<method name="updateBinaryStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9" />
+		<method name="updateBinaryStream(Ljava/lang/String;Ljava/io/InputStream;I)V" />
+		<method name="updateBinaryStream(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9" />
+		<method name="updateBlob(ILjava/io/InputStream;)V" since="9" />
+		<method name="updateBlob(ILjava/io/InputStream;J)V" since="9" />
+		<method name="updateBlob(ILjava/sql/Blob;)V" />
+		<method name="updateBlob(Ljava/lang/String;Ljava/io/InputStream;)V" since="9" />
+		<method name="updateBlob(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9" />
+		<method name="updateBlob(Ljava/lang/String;Ljava/sql/Blob;)V" />
+		<method name="updateBoolean(IZ)V" />
+		<method name="updateBoolean(Ljava/lang/String;Z)V" />
+		<method name="updateByte(IB)V" />
+		<method name="updateByte(Ljava/lang/String;B)V" />
+		<method name="updateBytes(I[B)V" />
+		<method name="updateBytes(Ljava/lang/String;[B)V" />
+		<method name="updateCharacterStream(ILjava/io/Reader;)V" since="9" />
+		<method name="updateCharacterStream(ILjava/io/Reader;I)V" />
+		<method name="updateCharacterStream(ILjava/io/Reader;J)V" since="9" />
+		<method name="updateCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="updateCharacterStream(Ljava/lang/String;Ljava/io/Reader;I)V" />
+		<method name="updateCharacterStream(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="updateClob(ILjava/io/Reader;)V" since="9" />
+		<method name="updateClob(ILjava/io/Reader;J)V" since="9" />
+		<method name="updateClob(ILjava/sql/Clob;)V" />
+		<method name="updateClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="updateClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="updateClob(Ljava/lang/String;Ljava/sql/Clob;)V" />
+		<method name="updateDate(ILjava/sql/Date;)V" />
+		<method name="updateDate(Ljava/lang/String;Ljava/sql/Date;)V" />
+		<method name="updateDouble(ID)V" />
+		<method name="updateDouble(Ljava/lang/String;D)V" />
+		<method name="updateFloat(IF)V" />
+		<method name="updateFloat(Ljava/lang/String;F)V" />
+		<method name="updateInt(II)V" />
+		<method name="updateInt(Ljava/lang/String;I)V" />
+		<method name="updateLong(IJ)V" />
+		<method name="updateLong(Ljava/lang/String;J)V" />
+		<method name="updateNCharacterStream(ILjava/io/Reader;)V" since="9" />
+		<method name="updateNCharacterStream(ILjava/io/Reader;J)V" since="9" />
+		<method name="updateNCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="updateNCharacterStream(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="updateNClob(ILjava/io/Reader;)V" since="9" />
+		<method name="updateNClob(ILjava/io/Reader;J)V" since="9" />
+		<method name="updateNClob(ILjava/sql/NClob;)V" since="9" />
+		<method name="updateNClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="updateNClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="updateNClob(Ljava/lang/String;Ljava/sql/NClob;)V" since="9" />
+		<method name="updateNString(ILjava/lang/String;)V" since="9" />
+		<method name="updateNString(Ljava/lang/String;Ljava/lang/String;)V" since="9" />
+		<method name="updateNull(I)V" />
+		<method name="updateNull(Ljava/lang/String;)V" />
+		<method name="updateObject(ILjava/lang/Object;)V" />
+		<method name="updateObject(ILjava/lang/Object;I)V" />
+		<method name="updateObject(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="updateObject(Ljava/lang/String;Ljava/lang/Object;I)V" />
+		<method name="updateRef(ILjava/sql/Ref;)V" />
+		<method name="updateRef(Ljava/lang/String;Ljava/sql/Ref;)V" />
+		<method name="updateRow()V" />
+		<method name="updateRowId(ILjava/sql/RowId;)V" since="9" />
+		<method name="updateRowId(Ljava/lang/String;Ljava/sql/RowId;)V" since="9" />
+		<method name="updateSQLXML(ILjava/sql/SQLXML;)V" since="9" />
+		<method name="updateSQLXML(Ljava/lang/String;Ljava/sql/SQLXML;)V" since="9" />
+		<method name="updateShort(IS)V" />
+		<method name="updateShort(Ljava/lang/String;S)V" />
+		<method name="updateString(ILjava/lang/String;)V" />
+		<method name="updateString(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="updateTime(ILjava/sql/Time;)V" />
+		<method name="updateTime(Ljava/lang/String;Ljava/sql/Time;)V" />
+		<method name="updateTimestamp(ILjava/sql/Timestamp;)V" />
+		<method name="updateTimestamp(Ljava/lang/String;Ljava/sql/Timestamp;)V" />
+		<method name="wasNull()Z" />
+		<field name="CLOSE_CURSORS_AT_COMMIT" />
+		<field name="CONCUR_READ_ONLY" />
+		<field name="CONCUR_UPDATABLE" />
+		<field name="FETCH_FORWARD" />
+		<field name="FETCH_REVERSE" />
+		<field name="FETCH_UNKNOWN" />
+		<field name="HOLD_CURSORS_OVER_COMMIT" />
+		<field name="TYPE_FORWARD_ONLY" />
+		<field name="TYPE_SCROLL_INSENSITIVE" />
+		<field name="TYPE_SCROLL_SENSITIVE" />
+	</class>
+	<class name="java/sql/ResultSetMetaData" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/sql/Wrapper" since="9" />
+		<method name="getCatalogName(I)Ljava/lang/String;" />
+		<method name="getColumnClassName(I)Ljava/lang/String;" />
+		<method name="getColumnCount()I" />
+		<method name="getColumnDisplaySize(I)I" />
+		<method name="getColumnLabel(I)Ljava/lang/String;" />
+		<method name="getColumnName(I)Ljava/lang/String;" />
+		<method name="getColumnType(I)I" />
+		<method name="getColumnTypeName(I)Ljava/lang/String;" />
+		<method name="getPrecision(I)I" />
+		<method name="getScale(I)I" />
+		<method name="getSchemaName(I)Ljava/lang/String;" />
+		<method name="getTableName(I)Ljava/lang/String;" />
+		<method name="isAutoIncrement(I)Z" />
+		<method name="isCaseSensitive(I)Z" />
+		<method name="isCurrency(I)Z" />
+		<method name="isDefinitelyWritable(I)Z" />
+		<method name="isNullable(I)I" />
+		<method name="isReadOnly(I)Z" />
+		<method name="isSearchable(I)Z" />
+		<method name="isSigned(I)Z" />
+		<method name="isWritable(I)Z" />
+		<field name="columnNoNulls" />
+		<field name="columnNullable" />
+		<field name="columnNullableUnknown" />
+	</class>
+	<class name="java/sql/RowId" since="9">
+		<extends name="java/lang/Object" />
+		<method name="getBytes()[B" />
+	</class>
+	<class name="java/sql/RowIdLifetime" since="9">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/sql/RowIdLifetime;" />
+		<method name="values()[Ljava/sql/RowIdLifetime;" />
+		<field name="ROWID_UNSUPPORTED" />
+		<field name="ROWID_VALID_FOREVER" />
+		<field name="ROWID_VALID_OTHER" />
+		<field name="ROWID_VALID_SESSION" />
+		<field name="ROWID_VALID_TRANSACTION" />
+	</class>
+	<class name="java/sql/SQLClientInfoException" since="9">
+		<extends name="java/sql/SQLException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/util/Map;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/util/Map;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/util/Map;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/util/Map;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;Ljava/lang/Throwable;)V" />
+		<method name="getFailedProperties()Ljava/util/Map;" />
+	</class>
+	<class name="java/sql/SQLData" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getSQLTypeName()Ljava/lang/String;" />
+		<method name="readSQL(Ljava/sql/SQLInput;Ljava/lang/String;)V" />
+		<method name="writeSQL(Ljava/sql/SQLOutput;)V" />
+	</class>
+	<class name="java/sql/SQLDataException" since="9">
+		<extends name="java/sql/SQLNonTransientException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLException" since="1">
+		<extends name="java/lang/Exception" />
+		<implements name="java/lang/Iterable" since="9" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" since="9" />
+		<method name="getErrorCode()I" />
+		<method name="getNextException()Ljava/sql/SQLException;" />
+		<method name="getSQLState()Ljava/lang/String;" />
+		<method name="setNextException(Ljava/sql/SQLException;)V" />
+	</class>
+	<class name="java/sql/SQLFeatureNotSupportedException" since="9">
+		<extends name="java/sql/SQLNonTransientException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLInput" since="1">
+		<extends name="java/lang/Object" />
+		<method name="readArray()Ljava/sql/Array;" />
+		<method name="readAsciiStream()Ljava/io/InputStream;" />
+		<method name="readBigDecimal()Ljava/math/BigDecimal;" />
+		<method name="readBinaryStream()Ljava/io/InputStream;" />
+		<method name="readBlob()Ljava/sql/Blob;" />
+		<method name="readBoolean()Z" />
+		<method name="readByte()B" />
+		<method name="readBytes()[B" />
+		<method name="readCharacterStream()Ljava/io/Reader;" />
+		<method name="readClob()Ljava/sql/Clob;" />
+		<method name="readDate()Ljava/sql/Date;" />
+		<method name="readDouble()D" />
+		<method name="readFloat()F" />
+		<method name="readInt()I" />
+		<method name="readLong()J" />
+		<method name="readNClob()Ljava/sql/NClob;" since="9" />
+		<method name="readNString()Ljava/lang/String;" since="9" />
+		<method name="readObject()Ljava/lang/Object;" />
+		<method name="readRef()Ljava/sql/Ref;" />
+		<method name="readRowId()Ljava/sql/RowId;" since="9" />
+		<method name="readSQLXML()Ljava/sql/SQLXML;" since="9" />
+		<method name="readShort()S" />
+		<method name="readString()Ljava/lang/String;" />
+		<method name="readTime()Ljava/sql/Time;" />
+		<method name="readTimestamp()Ljava/sql/Timestamp;" />
+		<method name="readURL()Ljava/net/URL;" />
+		<method name="wasNull()Z" />
+	</class>
+	<class name="java/sql/SQLIntegrityConstraintViolationException" since="9">
+		<extends name="java/sql/SQLNonTransientException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLInvalidAuthorizationSpecException" since="9">
+		<extends name="java/sql/SQLNonTransientException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLNonTransientConnectionException" since="9">
+		<extends name="java/sql/SQLNonTransientException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLNonTransientException" since="9">
+		<extends name="java/sql/SQLException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLOutput" since="1">
+		<extends name="java/lang/Object" />
+		<method name="writeArray(Ljava/sql/Array;)V" />
+		<method name="writeAsciiStream(Ljava/io/InputStream;)V" />
+		<method name="writeBigDecimal(Ljava/math/BigDecimal;)V" />
+		<method name="writeBinaryStream(Ljava/io/InputStream;)V" />
+		<method name="writeBlob(Ljava/sql/Blob;)V" />
+		<method name="writeBoolean(Z)V" />
+		<method name="writeByte(B)V" />
+		<method name="writeBytes([B)V" />
+		<method name="writeCharacterStream(Ljava/io/Reader;)V" />
+		<method name="writeClob(Ljava/sql/Clob;)V" />
+		<method name="writeDate(Ljava/sql/Date;)V" />
+		<method name="writeDouble(D)V" />
+		<method name="writeFloat(F)V" />
+		<method name="writeInt(I)V" />
+		<method name="writeLong(J)V" />
+		<method name="writeNClob(Ljava/sql/NClob;)V" since="9" />
+		<method name="writeNString(Ljava/lang/String;)V" since="9" />
+		<method name="writeObject(Ljava/sql/SQLData;)V" />
+		<method name="writeRef(Ljava/sql/Ref;)V" />
+		<method name="writeRowId(Ljava/sql/RowId;)V" since="9" />
+		<method name="writeSQLXML(Ljava/sql/SQLXML;)V" since="9" />
+		<method name="writeShort(S)V" />
+		<method name="writeString(Ljava/lang/String;)V" />
+		<method name="writeStruct(Ljava/sql/Struct;)V" />
+		<method name="writeTime(Ljava/sql/Time;)V" />
+		<method name="writeTimestamp(Ljava/sql/Timestamp;)V" />
+		<method name="writeURL(Ljava/net/URL;)V" />
+	</class>
+	<class name="java/sql/SQLPermission" since="1">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/sql/SQLRecoverableException" since="9">
+		<extends name="java/sql/SQLException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLSyntaxErrorException" since="9">
+		<extends name="java/sql/SQLNonTransientException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLTimeoutException" since="9">
+		<extends name="java/sql/SQLTransientException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLTransactionRollbackException" since="9">
+		<extends name="java/sql/SQLTransientException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLTransientConnectionException" since="9">
+		<extends name="java/sql/SQLTransientException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLTransientException" since="9">
+		<extends name="java/sql/SQLException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/sql/SQLWarning" since="1">
+		<extends name="java/sql/SQLException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" since="9" />
+		<method name="getNextWarning()Ljava/sql/SQLWarning;" />
+		<method name="setNextWarning(Ljava/sql/SQLWarning;)V" />
+	</class>
+	<class name="java/sql/SQLXML" since="9">
+		<extends name="java/lang/Object" />
+		<method name="free()V" />
+		<method name="getBinaryStream()Ljava/io/InputStream;" />
+		<method name="getCharacterStream()Ljava/io/Reader;" />
+		<method name="getSource(Ljava/lang/Class;)Ljavax/xml/transform/Source;" />
+		<method name="getString()Ljava/lang/String;" />
+		<method name="setBinaryStream()Ljava/io/OutputStream;" />
+		<method name="setCharacterStream()Ljava/io/Writer;" />
+		<method name="setResult(Ljava/lang/Class;)Ljavax/xml/transform/Result;" />
+		<method name="setString(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/sql/Savepoint" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getSavepointId()I" />
+		<method name="getSavepointName()Ljava/lang/String;" />
+	</class>
+	<class name="java/sql/Statement" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" since="19" />
+		<implements name="java/sql/Wrapper" since="9" />
+		<method name="addBatch(Ljava/lang/String;)V" />
+		<method name="cancel()V" />
+		<method name="clearBatch()V" />
+		<method name="clearWarnings()V" />
+		<method name="close()V" />
+		<method name="execute(Ljava/lang/String;)Z" />
+		<method name="execute(Ljava/lang/String;I)Z" />
+		<method name="execute(Ljava/lang/String;[I)Z" />
+		<method name="execute(Ljava/lang/String;[Ljava/lang/String;)Z" />
+		<method name="executeBatch()[I" />
+		<method name="executeQuery(Ljava/lang/String;)Ljava/sql/ResultSet;" />
+		<method name="executeUpdate(Ljava/lang/String;)I" />
+		<method name="executeUpdate(Ljava/lang/String;I)I" />
+		<method name="executeUpdate(Ljava/lang/String;[I)I" />
+		<method name="executeUpdate(Ljava/lang/String;[Ljava/lang/String;)I" />
+		<method name="getConnection()Ljava/sql/Connection;" />
+		<method name="getFetchDirection()I" />
+		<method name="getFetchSize()I" />
+		<method name="getGeneratedKeys()Ljava/sql/ResultSet;" />
+		<method name="getMaxFieldSize()I" />
+		<method name="getMaxRows()I" />
+		<method name="getMoreResults()Z" />
+		<method name="getMoreResults(I)Z" />
+		<method name="getQueryTimeout()I" />
+		<method name="getResultSet()Ljava/sql/ResultSet;" />
+		<method name="getResultSetConcurrency()I" />
+		<method name="getResultSetHoldability()I" />
+		<method name="getResultSetType()I" />
+		<method name="getUpdateCount()I" />
+		<method name="getWarnings()Ljava/sql/SQLWarning;" />
+		<method name="isClosed()Z" since="9" />
+		<method name="isPoolable()Z" since="9" />
+		<method name="setCursorName(Ljava/lang/String;)V" />
+		<method name="setEscapeProcessing(Z)V" />
+		<method name="setFetchDirection(I)V" />
+		<method name="setFetchSize(I)V" />
+		<method name="setMaxFieldSize(I)V" />
+		<method name="setMaxRows(I)V" />
+		<method name="setPoolable(Z)V" since="9" />
+		<method name="setQueryTimeout(I)V" />
+		<field name="CLOSE_ALL_RESULTS" />
+		<field name="CLOSE_CURRENT_RESULT" />
+		<field name="EXECUTE_FAILED" />
+		<field name="KEEP_CURRENT_RESULT" />
+		<field name="NO_GENERATED_KEYS" />
+		<field name="RETURN_GENERATED_KEYS" />
+		<field name="SUCCESS_NO_INFO" />
+	</class>
+	<class name="java/sql/Struct" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getAttributes()[Ljava/lang/Object;" />
+		<method name="getAttributes(Ljava/util/Map;)[Ljava/lang/Object;" />
+		<method name="getSQLTypeName()Ljava/lang/String;" />
+	</class>
+	<class name="java/sql/Time" since="1">
+		<extends name="java/util/Date" />
+		<method name="&lt;init&gt;(III)V" deprecated="15" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/sql/Time;" />
+	</class>
+	<class name="java/sql/Timestamp" since="1">
+		<extends name="java/util/Date" />
+		<method name="&lt;init&gt;(IIIIIII)V" deprecated="15" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="after(Ljava/sql/Timestamp;)Z" />
+		<method name="before(Ljava/sql/Timestamp;)Z" />
+		<method name="compareTo(Ljava/sql/Timestamp;)I" />
+		<method name="equals(Ljava/sql/Timestamp;)Z" />
+		<method name="getNanos()I" />
+		<method name="setNanos(I)V" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/sql/Timestamp;" />
+	</class>
+	<class name="java/sql/Types" since="1">
+		<extends name="java/lang/Object" />
+		<field name="ARRAY" />
+		<field name="BIGINT" />
+		<field name="BINARY" />
+		<field name="BIT" />
+		<field name="BLOB" />
+		<field name="BOOLEAN" />
+		<field name="CHAR" />
+		<field name="CLOB" />
+		<field name="DATALINK" />
+		<field name="DATE" />
+		<field name="DECIMAL" />
+		<field name="DISTINCT" />
+		<field name="DOUBLE" />
+		<field name="FLOAT" />
+		<field name="INTEGER" />
+		<field name="JAVA_OBJECT" />
+		<field name="LONGNVARCHAR" since="9" />
+		<field name="LONGVARBINARY" />
+		<field name="LONGVARCHAR" />
+		<field name="NCHAR" since="9" />
+		<field name="NCLOB" since="9" />
+		<field name="NULL" />
+		<field name="NUMERIC" />
+		<field name="NVARCHAR" since="9" />
+		<field name="OTHER" />
+		<field name="REAL" />
+		<field name="REF" />
+		<field name="ROWID" since="9" />
+		<field name="SMALLINT" />
+		<field name="SQLXML" since="9" />
+		<field name="STRUCT" />
+		<field name="TIME" />
+		<field name="TIMESTAMP" />
+		<field name="TINYINT" />
+		<field name="VARBINARY" />
+		<field name="VARCHAR" />
+	</class>
+	<class name="java/sql/Wrapper" since="9">
+		<extends name="java/lang/Object" />
+		<method name="isWrapperFor(Ljava/lang/Class;)Z" />
+		<method name="unwrap(Ljava/lang/Class;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/text/Annotation" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<method name="getValue()Ljava/lang/Object;" />
+	</class>
+	<class name="java/text/AttributedCharacterIterator" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/text/CharacterIterator" />
+		<method name="getAllAttributeKeys()Ljava/util/Set;" />
+		<method name="getAttribute(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;" />
+		<method name="getAttributes()Ljava/util/Map;" />
+		<method name="getRunLimit()I" />
+		<method name="getRunLimit(Ljava/text/AttributedCharacterIterator$Attribute;)I" />
+		<method name="getRunLimit(Ljava/util/Set;)I" />
+		<method name="getRunStart()I" />
+		<method name="getRunStart(Ljava/text/AttributedCharacterIterator$Attribute;)I" />
+		<method name="getRunStart(Ljava/util/Set;)I" />
+	</class>
+	<class name="java/text/AttributedCharacterIterator$Attribute" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="readResolve()Ljava/lang/Object;" />
+		<field name="INPUT_METHOD_SEGMENT" />
+		<field name="LANGUAGE" />
+		<field name="READING" />
+	</class>
+	<class name="java/text/AttributedString" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/util/Map;)V" />
+		<method name="&lt;init&gt;(Ljava/text/AttributedCharacterIterator;)V" />
+		<method name="&lt;init&gt;(Ljava/text/AttributedCharacterIterator;II)V" />
+		<method name="&lt;init&gt;(Ljava/text/AttributedCharacterIterator;II[Ljava/text/AttributedCharacterIterator$Attribute;)V" />
+		<method name="addAttribute(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;)V" />
+		<method name="addAttribute(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V" />
+		<method name="addAttributes(Ljava/util/Map;II)V" />
+		<method name="getIterator()Ljava/text/AttributedCharacterIterator;" />
+		<method name="getIterator([Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/text/AttributedCharacterIterator;" />
+		<method name="getIterator([Ljava/text/AttributedCharacterIterator$Attribute;II)Ljava/text/AttributedCharacterIterator;" />
+	</class>
+	<class name="java/text/Bidi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/text/AttributedCharacterIterator;)V" />
+		<method name="&lt;init&gt;([CI[BIII)V" />
+		<method name="baseIsLeftToRight()Z" />
+		<method name="createLineBidi(II)Ljava/text/Bidi;" />
+		<method name="getBaseLevel()I" />
+		<method name="getLength()I" />
+		<method name="getLevelAt(I)I" />
+		<method name="getRunCount()I" />
+		<method name="getRunLevel(I)I" />
+		<method name="getRunLimit(I)I" />
+		<method name="getRunStart(I)I" />
+		<method name="isLeftToRight()Z" />
+		<method name="isMixed()Z" />
+		<method name="isRightToLeft()Z" />
+		<method name="reorderVisually([BI[Ljava/lang/Object;II)V" />
+		<method name="requiresBidi([CII)Z" />
+		<field name="DIRECTION_DEFAULT_LEFT_TO_RIGHT" />
+		<field name="DIRECTION_DEFAULT_RIGHT_TO_LEFT" />
+		<field name="DIRECTION_LEFT_TO_RIGHT" />
+		<field name="DIRECTION_RIGHT_TO_LEFT" />
+	</class>
+	<class name="java/text/BreakIterator" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="current()I" />
+		<method name="first()I" />
+		<method name="following(I)I" />
+		<method name="getAvailableLocales()[Ljava/util/Locale;" />
+		<method name="getCharacterInstance()Ljava/text/BreakIterator;" />
+		<method name="getCharacterInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;" />
+		<method name="getInt([BI)I" removed="9" />
+		<method name="getLineInstance()Ljava/text/BreakIterator;" />
+		<method name="getLineInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;" />
+		<method name="getLong([BI)J" removed="9" />
+		<method name="getSentenceInstance()Ljava/text/BreakIterator;" />
+		<method name="getSentenceInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;" />
+		<method name="getShort([BI)S" removed="9" />
+		<method name="getText()Ljava/text/CharacterIterator;" />
+		<method name="getWordInstance()Ljava/text/BreakIterator;" />
+		<method name="getWordInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;" />
+		<method name="isBoundary(I)Z" />
+		<method name="last()I" />
+		<method name="next()I" />
+		<method name="next(I)I" />
+		<method name="preceding(I)I" />
+		<method name="previous()I" />
+		<method name="setText(Ljava/lang/String;)V" />
+		<method name="setText(Ljava/text/CharacterIterator;)V" />
+		<field name="DONE" />
+	</class>
+	<class name="java/text/CharacterIterator" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="current()C" />
+		<method name="first()C" />
+		<method name="getBeginIndex()I" />
+		<method name="getEndIndex()I" />
+		<method name="getIndex()I" />
+		<method name="last()C" />
+		<method name="next()C" />
+		<method name="previous()C" />
+		<method name="setIndex(I)C" />
+		<field name="DONE" />
+	</class>
+	<class name="java/text/ChoiceFormat" since="1">
+		<extends name="java/text/NumberFormat" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;([D[Ljava/lang/String;)V" />
+		<method name="applyPattern(Ljava/lang/String;)V" />
+		<method name="getFormats()[Ljava/lang/Object;" />
+		<method name="getLimits()[D" />
+		<method name="nextDouble(D)D" />
+		<method name="nextDouble(DZ)D" />
+		<method name="previousDouble(D)D" />
+		<method name="setChoices([D[Ljava/lang/String;)V" />
+		<method name="toPattern()Ljava/lang/String;" />
+	</class>
+	<class name="java/text/CollationElementIterator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getMaxExpansion(I)I" />
+		<method name="getOffset()I" />
+		<method name="next()I" />
+		<method name="previous()I" />
+		<method name="primaryOrder(I)I" />
+		<method name="reset()V" />
+		<method name="secondaryOrder(I)S" />
+		<method name="setOffset(I)V" />
+		<method name="setText(Ljava/lang/String;)V" />
+		<method name="setText(Ljava/text/CharacterIterator;)V" />
+		<method name="tertiaryOrder(I)S" />
+		<field name="NULLORDER" />
+	</class>
+	<class name="java/text/CollationKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" since="9" />
+		<method name="compareTo(Ljava/text/CollationKey;)I" />
+		<method name="getSourceString()Ljava/lang/String;" />
+		<method name="toByteArray()[B" />
+	</class>
+	<class name="java/text/Collator" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/Comparator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="compare(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="equals(Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="getAvailableLocales()[Ljava/util/Locale;" />
+		<method name="getCollationKey(Ljava/lang/String;)Ljava/text/CollationKey;" />
+		<method name="getDecomposition()I" />
+		<method name="getInstance()Ljava/text/Collator;" />
+		<method name="getInstance(Ljava/util/Locale;)Ljava/text/Collator;" />
+		<method name="getStrength()I" />
+		<method name="setDecomposition(I)V" />
+		<method name="setStrength(I)V" />
+		<field name="CANONICAL_DECOMPOSITION" />
+		<field name="FULL_DECOMPOSITION" />
+		<field name="IDENTICAL" />
+		<field name="NO_DECOMPOSITION" />
+		<field name="PRIMARY" />
+		<field name="SECONDARY" />
+		<field name="TERTIARY" />
+	</class>
+	<class name="java/text/DateFormat" since="1">
+		<extends name="java/text/Format" />
+		<method name="&lt;init&gt;()V" />
+		<method name="format(Ljava/util/Date;)Ljava/lang/String;" />
+		<method name="format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;" />
+		<method name="getAvailableLocales()[Ljava/util/Locale;" />
+		<method name="getCalendar()Ljava/util/Calendar;" />
+		<method name="getDateInstance()Ljava/text/DateFormat;" />
+		<method name="getDateInstance(I)Ljava/text/DateFormat;" />
+		<method name="getDateInstance(ILjava/util/Locale;)Ljava/text/DateFormat;" />
+		<method name="getDateTimeInstance()Ljava/text/DateFormat;" />
+		<method name="getDateTimeInstance(II)Ljava/text/DateFormat;" />
+		<method name="getDateTimeInstance(IILjava/util/Locale;)Ljava/text/DateFormat;" />
+		<method name="getInstance()Ljava/text/DateFormat;" />
+		<method name="getNumberFormat()Ljava/text/NumberFormat;" />
+		<method name="getTimeInstance()Ljava/text/DateFormat;" />
+		<method name="getTimeInstance(I)Ljava/text/DateFormat;" />
+		<method name="getTimeInstance(ILjava/util/Locale;)Ljava/text/DateFormat;" />
+		<method name="getTimeZone()Ljava/util/TimeZone;" />
+		<method name="isLenient()Z" />
+		<method name="parse(Ljava/lang/String;)Ljava/util/Date;" />
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;" />
+		<method name="setCalendar(Ljava/util/Calendar;)V" />
+		<method name="setLenient(Z)V" />
+		<method name="setNumberFormat(Ljava/text/NumberFormat;)V" />
+		<method name="setTimeZone(Ljava/util/TimeZone;)V" />
+		<field name="AM_PM_FIELD" />
+		<field name="DATE_FIELD" />
+		<field name="DAY_OF_WEEK_FIELD" />
+		<field name="DAY_OF_WEEK_IN_MONTH_FIELD" />
+		<field name="DAY_OF_YEAR_FIELD" />
+		<field name="DEFAULT" />
+		<field name="ERA_FIELD" />
+		<field name="FULL" />
+		<field name="HOUR0_FIELD" />
+		<field name="HOUR1_FIELD" />
+		<field name="HOUR_OF_DAY0_FIELD" />
+		<field name="HOUR_OF_DAY1_FIELD" />
+		<field name="LONG" />
+		<field name="MEDIUM" />
+		<field name="MILLISECOND_FIELD" />
+		<field name="MINUTE_FIELD" />
+		<field name="MONTH_FIELD" />
+		<field name="SECOND_FIELD" />
+		<field name="SHORT" />
+		<field name="TIMEZONE_FIELD" />
+		<field name="WEEK_OF_MONTH_FIELD" />
+		<field name="WEEK_OF_YEAR_FIELD" />
+		<field name="YEAR_FIELD" />
+		<field name="calendar" />
+		<field name="numberFormat" />
+	</class>
+	<class name="java/text/DateFormat$Field" since="1">
+		<extends name="java/text/Format$Field" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="getCalendarField()I" />
+		<method name="ofCalendarField(I)Ljava/text/DateFormat$Field;" />
+		<field name="AM_PM" />
+		<field name="DAY_OF_MONTH" />
+		<field name="DAY_OF_WEEK" />
+		<field name="DAY_OF_WEEK_IN_MONTH" />
+		<field name="DAY_OF_YEAR" />
+		<field name="ERA" />
+		<field name="HOUR0" />
+		<field name="HOUR1" />
+		<field name="HOUR_OF_DAY0" />
+		<field name="HOUR_OF_DAY1" />
+		<field name="MILLISECOND" />
+		<field name="MINUTE" />
+		<field name="MONTH" />
+		<field name="SECOND" />
+		<field name="TIME_ZONE" />
+		<field name="WEEK_OF_MONTH" />
+		<field name="WEEK_OF_YEAR" />
+		<field name="YEAR" />
+	</class>
+	<class name="java/text/DateFormatSymbols" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" />
+		<method name="getAmPmStrings()[Ljava/lang/String;" />
+		<method name="getAvailableLocales()[Ljava/util/Locale;" since="9" />
+		<method name="getEras()[Ljava/lang/String;" />
+		<method name="getInstance()Ljava/text/DateFormatSymbols;" since="9" />
+		<method name="getInstance(Ljava/util/Locale;)Ljava/text/DateFormatSymbols;" since="9" />
+		<method name="getLocalPatternChars()Ljava/lang/String;" />
+		<method name="getMonths()[Ljava/lang/String;" />
+		<method name="getShortMonths()[Ljava/lang/String;" />
+		<method name="getShortWeekdays()[Ljava/lang/String;" />
+		<method name="getWeekdays()[Ljava/lang/String;" />
+		<method name="getZoneStrings()[[Ljava/lang/String;" />
+		<method name="setAmPmStrings([Ljava/lang/String;)V" />
+		<method name="setEras([Ljava/lang/String;)V" />
+		<method name="setLocalPatternChars(Ljava/lang/String;)V" />
+		<method name="setMonths([Ljava/lang/String;)V" />
+		<method name="setShortMonths([Ljava/lang/String;)V" />
+		<method name="setShortWeekdays([Ljava/lang/String;)V" />
+		<method name="setWeekdays([Ljava/lang/String;)V" />
+		<method name="setZoneStrings([[Ljava/lang/String;)V" />
+	</class>
+	<class name="java/text/DecimalFormat" since="1">
+		<extends name="java/text/NumberFormat" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/text/DecimalFormatSymbols;)V" />
+		<method name="applyLocalizedPattern(Ljava/lang/String;)V" />
+		<method name="applyPattern(Ljava/lang/String;)V" />
+		<method name="getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;" />
+		<method name="getGroupingSize()I" />
+		<method name="getMultiplier()I" />
+		<method name="getNegativePrefix()Ljava/lang/String;" />
+		<method name="getNegativeSuffix()Ljava/lang/String;" />
+		<method name="getPositivePrefix()Ljava/lang/String;" />
+		<method name="getPositiveSuffix()Ljava/lang/String;" />
+		<method name="isDecimalSeparatorAlwaysShown()Z" />
+		<method name="isParseBigDecimal()Z" />
+		<method name="setDecimalFormatSymbols(Ljava/text/DecimalFormatSymbols;)V" />
+		<method name="setDecimalSeparatorAlwaysShown(Z)V" />
+		<method name="setGroupingSize(I)V" />
+		<method name="setMultiplier(I)V" />
+		<method name="setNegativePrefix(Ljava/lang/String;)V" />
+		<method name="setNegativeSuffix(Ljava/lang/String;)V" />
+		<method name="setParseBigDecimal(Z)V" />
+		<method name="setPositivePrefix(Ljava/lang/String;)V" />
+		<method name="setPositiveSuffix(Ljava/lang/String;)V" />
+		<method name="toLocalizedPattern()Ljava/lang/String;" />
+		<method name="toPattern()Ljava/lang/String;" />
+	</class>
+	<class name="java/text/DecimalFormatSymbols" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" />
+		<method name="getAvailableLocales()[Ljava/util/Locale;" since="9" />
+		<method name="getCurrency()Ljava/util/Currency;" />
+		<method name="getCurrencySymbol()Ljava/lang/String;" />
+		<method name="getDecimalSeparator()C" />
+		<method name="getDigit()C" />
+		<method name="getExponentSeparator()Ljava/lang/String;" since="9" />
+		<method name="getGroupingSeparator()C" />
+		<method name="getInfinity()Ljava/lang/String;" />
+		<method name="getInstance()Ljava/text/DecimalFormatSymbols;" since="9" />
+		<method name="getInstance(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;" since="9" />
+		<method name="getInternationalCurrencySymbol()Ljava/lang/String;" />
+		<method name="getMinusSign()C" />
+		<method name="getMonetaryDecimalSeparator()C" />
+		<method name="getNaN()Ljava/lang/String;" />
+		<method name="getPatternSeparator()C" />
+		<method name="getPerMill()C" />
+		<method name="getPercent()C" />
+		<method name="getZeroDigit()C" />
+		<method name="setCurrency(Ljava/util/Currency;)V" />
+		<method name="setCurrencySymbol(Ljava/lang/String;)V" />
+		<method name="setDecimalSeparator(C)V" />
+		<method name="setDigit(C)V" />
+		<method name="setExponentSeparator(Ljava/lang/String;)V" since="9" />
+		<method name="setGroupingSeparator(C)V" />
+		<method name="setInfinity(Ljava/lang/String;)V" />
+		<method name="setInternationalCurrencySymbol(Ljava/lang/String;)V" />
+		<method name="setMinusSign(C)V" />
+		<method name="setMonetaryDecimalSeparator(C)V" />
+		<method name="setNaN(Ljava/lang/String;)V" />
+		<method name="setPatternSeparator(C)V" />
+		<method name="setPerMill(C)V" />
+		<method name="setPercent(C)V" />
+		<method name="setZeroDigit(C)V" />
+	</class>
+	<class name="java/text/FieldPosition" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/text/Format$Field;)V" />
+		<method name="&lt;init&gt;(Ljava/text/Format$Field;I)V" />
+		<method name="getBeginIndex()I" />
+		<method name="getEndIndex()I" />
+		<method name="getField()I" />
+		<method name="getFieldAttribute()Ljava/text/Format$Field;" />
+		<method name="setBeginIndex(I)V" />
+		<method name="setEndIndex(I)V" />
+	</class>
+	<class name="java/text/Format" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="format(Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;" />
+		<method name="formatToCharacterIterator(Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;" />
+		<method name="parseObject(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="parseObject(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/text/Format$Field" since="1">
+		<extends name="java/text/AttributedCharacterIterator$Attribute" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/text/MessageFormat" since="1">
+		<extends name="java/text/Format" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/util/Locale;)V" />
+		<method name="applyPattern(Ljava/lang/String;)V" />
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="format([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;" />
+		<method name="getFormats()[Ljava/text/Format;" />
+		<method name="getFormatsByArgumentIndex()[Ljava/text/Format;" />
+		<method name="getLocale()Ljava/util/Locale;" />
+		<method name="parse(Ljava/lang/String;)[Ljava/lang/Object;" />
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)[Ljava/lang/Object;" />
+		<method name="setFormat(ILjava/text/Format;)V" />
+		<method name="setFormatByArgumentIndex(ILjava/text/Format;)V" />
+		<method name="setFormats([Ljava/text/Format;)V" />
+		<method name="setFormatsByArgumentIndex([Ljava/text/Format;)V" />
+		<method name="setLocale(Ljava/util/Locale;)V" />
+		<method name="toPattern()Ljava/lang/String;" />
+	</class>
+	<class name="java/text/MessageFormat$Field" since="1">
+		<extends name="java/text/Format$Field" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="ARGUMENT" />
+	</class>
+	<class name="java/text/Normalizer" since="9">
+		<extends name="java/lang/Object" />
+		<method name="isNormalized(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Z" />
+		<method name="normalize(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;" />
+	</class>
+	<class name="java/text/Normalizer$Form" since="9">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/text/Normalizer$Form;" />
+		<method name="values()[Ljava/text/Normalizer$Form;" />
+		<field name="NFC" />
+		<field name="NFD" />
+		<field name="NFKC" />
+		<field name="NFKD" />
+	</class>
+	<class name="java/text/NumberFormat" since="1">
+		<extends name="java/text/Format" />
+		<method name="&lt;init&gt;()V" />
+		<method name="format(D)Ljava/lang/String;" />
+		<method name="format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;" />
+		<method name="format(J)Ljava/lang/String;" />
+		<method name="format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;" />
+		<method name="getAvailableLocales()[Ljava/util/Locale;" />
+		<method name="getCurrency()Ljava/util/Currency;" />
+		<method name="getCurrencyInstance()Ljava/text/NumberFormat;" />
+		<method name="getCurrencyInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;" />
+		<method name="getInstance()Ljava/text/NumberFormat;" />
+		<method name="getInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;" />
+		<method name="getIntegerInstance()Ljava/text/NumberFormat;" />
+		<method name="getIntegerInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;" />
+		<method name="getMaximumFractionDigits()I" />
+		<method name="getMaximumIntegerDigits()I" />
+		<method name="getMinimumFractionDigits()I" />
+		<method name="getMinimumIntegerDigits()I" />
+		<method name="getNumberInstance()Ljava/text/NumberFormat;" />
+		<method name="getNumberInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;" />
+		<method name="getPercentInstance()Ljava/text/NumberFormat;" />
+		<method name="getPercentInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;" />
+		<method name="getRoundingMode()Ljava/math/RoundingMode;" since="9" />
+		<method name="isGroupingUsed()Z" />
+		<method name="isParseIntegerOnly()Z" />
+		<method name="parse(Ljava/lang/String;)Ljava/lang/Number;" />
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;" />
+		<method name="setCurrency(Ljava/util/Currency;)V" />
+		<method name="setGroupingUsed(Z)V" />
+		<method name="setMaximumFractionDigits(I)V" />
+		<method name="setMaximumIntegerDigits(I)V" />
+		<method name="setMinimumFractionDigits(I)V" />
+		<method name="setMinimumIntegerDigits(I)V" />
+		<method name="setParseIntegerOnly(Z)V" />
+		<method name="setRoundingMode(Ljava/math/RoundingMode;)V" since="9" />
+		<field name="FRACTION_FIELD" />
+		<field name="INTEGER_FIELD" />
+	</class>
+	<class name="java/text/NumberFormat$Field" since="1">
+		<extends name="java/text/Format$Field" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="CURRENCY" />
+		<field name="DECIMAL_SEPARATOR" />
+		<field name="EXPONENT" />
+		<field name="EXPONENT_SIGN" />
+		<field name="EXPONENT_SYMBOL" />
+		<field name="FRACTION" />
+		<field name="GROUPING_SEPARATOR" />
+		<field name="INTEGER" />
+		<field name="PERCENT" />
+		<field name="PERMILLE" />
+		<field name="SIGN" />
+	</class>
+	<class name="java/text/ParseException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="getErrorOffset()I" />
+	</class>
+	<class name="java/text/ParsePosition" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getErrorIndex()I" />
+		<method name="getIndex()I" />
+		<method name="setErrorIndex(I)V" />
+		<method name="setIndex(I)V" />
+	</class>
+	<class name="java/text/RuleBasedCollator" since="1">
+		<extends name="java/text/Collator" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getCollationElementIterator(Ljava/lang/String;)Ljava/text/CollationElementIterator;" />
+		<method name="getCollationElementIterator(Ljava/text/CharacterIterator;)Ljava/text/CollationElementIterator;" />
+		<method name="getRules()Ljava/lang/String;" />
+	</class>
+	<class name="java/text/SimpleDateFormat" since="1">
+		<extends name="java/text/DateFormat" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/text/DateFormatSymbols;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/util/Locale;)V" />
+		<method name="applyLocalizedPattern(Ljava/lang/String;)V" />
+		<method name="applyPattern(Ljava/lang/String;)V" />
+		<method name="get2DigitYearStart()Ljava/util/Date;" />
+		<method name="getDateFormatSymbols()Ljava/text/DateFormatSymbols;" />
+		<method name="set2DigitYearStart(Ljava/util/Date;)V" />
+		<method name="setDateFormatSymbols(Ljava/text/DateFormatSymbols;)V" />
+		<method name="toLocalizedPattern()Ljava/lang/String;" />
+		<method name="toPattern()Ljava/lang/String;" />
+	</class>
+	<class name="java/text/StringCharacterIterator" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/text/CharacterIterator" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;III)V" />
+		<method name="setText(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/time/Clock" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="fixed(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/Clock;" />
+		<method name="getZone()Ljava/time/ZoneId;" />
+		<method name="instant()Ljava/time/Instant;" />
+		<method name="millis()J" />
+		<method name="offset(Ljava/time/Clock;Ljava/time/Duration;)Ljava/time/Clock;" />
+		<method name="system(Ljava/time/ZoneId;)Ljava/time/Clock;" />
+		<method name="systemDefaultZone()Ljava/time/Clock;" />
+		<method name="systemUTC()Ljava/time/Clock;" />
+		<method name="tick(Ljava/time/Clock;Ljava/time/Duration;)Ljava/time/Clock;" />
+		<method name="tickMinutes(Ljava/time/ZoneId;)Ljava/time/Clock;" />
+		<method name="tickSeconds(Ljava/time/ZoneId;)Ljava/time/Clock;" />
+		<method name="withZone(Ljava/time/ZoneId;)Ljava/time/Clock;" />
+	</class>
+	<class name="java/time/DateTimeException" since="26">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/time/DayOfWeek" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/time/temporal/TemporalAccessor" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/DayOfWeek;" />
+		<method name="getDisplayName(Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getValue()I" />
+		<method name="minus(J)Ljava/time/DayOfWeek;" />
+		<method name="of(I)Ljava/time/DayOfWeek;" />
+		<method name="plus(J)Ljava/time/DayOfWeek;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/DayOfWeek;" />
+		<method name="values()[Ljava/time/DayOfWeek;" />
+		<field name="FRIDAY" />
+		<field name="MONDAY" />
+		<field name="SATURDAY" />
+		<field name="SUNDAY" />
+		<field name="THURSDAY" />
+		<field name="TUESDAY" />
+		<field name="WEDNESDAY" />
+	</class>
+	<class name="java/time/Duration" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/TemporalAmount" />
+		<method name="abs()Ljava/time/Duration;" />
+		<method name="between(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration;" />
+		<method name="compareTo(Ljava/time/Duration;)I" />
+		<method name="dividedBy(J)Ljava/time/Duration;" />
+		<method name="dividedBy(Ljava/time/Duration;)J" since="31" />
+		<method name="from(Ljava/time/temporal/TemporalAmount;)Ljava/time/Duration;" />
+		<method name="getNano()I" />
+		<method name="getSeconds()J" />
+		<method name="isNegative()Z" />
+		<method name="isZero()Z" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;" />
+		<method name="minus(Ljava/time/Duration;)Ljava/time/Duration;" />
+		<method name="minusDays(J)Ljava/time/Duration;" />
+		<method name="minusHours(J)Ljava/time/Duration;" />
+		<method name="minusMillis(J)Ljava/time/Duration;" />
+		<method name="minusMinutes(J)Ljava/time/Duration;" />
+		<method name="minusNanos(J)Ljava/time/Duration;" />
+		<method name="minusSeconds(J)Ljava/time/Duration;" />
+		<method name="multipliedBy(J)Ljava/time/Duration;" />
+		<method name="negated()Ljava/time/Duration;" />
+		<method name="of(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;" />
+		<method name="ofDays(J)Ljava/time/Duration;" />
+		<method name="ofHours(J)Ljava/time/Duration;" />
+		<method name="ofMillis(J)Ljava/time/Duration;" />
+		<method name="ofMinutes(J)Ljava/time/Duration;" />
+		<method name="ofNanos(J)Ljava/time/Duration;" />
+		<method name="ofSeconds(J)Ljava/time/Duration;" />
+		<method name="ofSeconds(JJ)Ljava/time/Duration;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/Duration;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;" />
+		<method name="plus(Ljava/time/Duration;)Ljava/time/Duration;" />
+		<method name="plusDays(J)Ljava/time/Duration;" />
+		<method name="plusHours(J)Ljava/time/Duration;" />
+		<method name="plusMillis(J)Ljava/time/Duration;" />
+		<method name="plusMinutes(J)Ljava/time/Duration;" />
+		<method name="plusNanos(J)Ljava/time/Duration;" />
+		<method name="plusSeconds(J)Ljava/time/Duration;" />
+		<method name="toDays()J" />
+		<method name="toDaysPart()J" since="31" />
+		<method name="toHours()J" />
+		<method name="toHoursPart()I" since="31" />
+		<method name="toMillis()J" />
+		<method name="toMillisPart()I" since="31" />
+		<method name="toMinutes()J" />
+		<method name="toMinutesPart()I" since="31" />
+		<method name="toNanos()J" />
+		<method name="toNanosPart()I" since="31" />
+		<method name="toSeconds()J" since="31" />
+		<method name="toSecondsPart()I" since="31" />
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/Duration;" since="31" />
+		<method name="withNanos(I)Ljava/time/Duration;" />
+		<method name="withSeconds(J)Ljava/time/Duration;" />
+		<field name="ZERO" />
+	</class>
+	<class name="java/time/Instant" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/Temporal" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atOffset(Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;" />
+		<method name="atZone(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="compareTo(Ljava/time/Instant;)I" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Instant;" />
+		<method name="getEpochSecond()J" />
+		<method name="getNano()I" />
+		<method name="isAfter(Ljava/time/Instant;)Z" />
+		<method name="isBefore(Ljava/time/Instant;)Z" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;" />
+		<method name="minusMillis(J)Ljava/time/Instant;" />
+		<method name="minusNanos(J)Ljava/time/Instant;" />
+		<method name="minusSeconds(J)Ljava/time/Instant;" />
+		<method name="now()Ljava/time/Instant;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/Instant;" />
+		<method name="ofEpochMilli(J)Ljava/time/Instant;" />
+		<method name="ofEpochSecond(J)Ljava/time/Instant;" />
+		<method name="ofEpochSecond(JJ)Ljava/time/Instant;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/Instant;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;" />
+		<method name="plusMillis(J)Ljava/time/Instant;" />
+		<method name="plusNanos(J)Ljava/time/Instant;" />
+		<method name="plusSeconds(J)Ljava/time/Instant;" />
+		<method name="toEpochMilli()J" />
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/Instant;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/Instant;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/Instant;" />
+		<field name="EPOCH" />
+		<field name="MAX" />
+		<field name="MIN" />
+	</class>
+	<class name="java/time/LocalDate" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/time/chrono/ChronoLocalDate" />
+		<implements name="java/time/temporal/Temporal" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atStartOfDay()Ljava/time/LocalDateTime;" />
+		<method name="atStartOfDay(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="atTime(II)Ljava/time/LocalDateTime;" />
+		<method name="atTime(III)Ljava/time/LocalDateTime;" />
+		<method name="atTime(IIII)Ljava/time/LocalDateTime;" />
+		<method name="atTime(Ljava/time/LocalTime;)Ljava/time/LocalDateTime;" />
+		<method name="atTime(Ljava/time/OffsetTime;)Ljava/time/OffsetDateTime;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;" />
+		<method name="getChronology()Ljava/time/chrono/IsoChronology;" />
+		<method name="getDayOfMonth()I" />
+		<method name="getDayOfWeek()Ljava/time/DayOfWeek;" />
+		<method name="getDayOfYear()I" />
+		<method name="getMonth()Ljava/time/Month;" />
+		<method name="getMonthValue()I" />
+		<method name="getYear()I" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDate;" />
+		<method name="minusDays(J)Ljava/time/LocalDate;" />
+		<method name="minusMonths(J)Ljava/time/LocalDate;" />
+		<method name="minusWeeks(J)Ljava/time/LocalDate;" />
+		<method name="minusYears(J)Ljava/time/LocalDate;" />
+		<method name="now()Ljava/time/LocalDate;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/LocalDate;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/LocalDate;" />
+		<method name="of(III)Ljava/time/LocalDate;" />
+		<method name="of(ILjava/time/Month;I)Ljava/time/LocalDate;" />
+		<method name="ofEpochDay(J)Ljava/time/LocalDate;" />
+		<method name="ofYearDay(II)Ljava/time/LocalDate;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/LocalDate;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDate;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDate;" />
+		<method name="plusDays(J)Ljava/time/LocalDate;" />
+		<method name="plusMonths(J)Ljava/time/LocalDate;" />
+		<method name="plusWeeks(J)Ljava/time/LocalDate;" />
+		<method name="plusYears(J)Ljava/time/LocalDate;" />
+		<method name="until(Ljava/time/chrono/ChronoLocalDate;)Ljava/time/Period;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalDate;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/LocalDate;" />
+		<method name="withDayOfMonth(I)Ljava/time/LocalDate;" />
+		<method name="withDayOfYear(I)Ljava/time/LocalDate;" />
+		<method name="withMonth(I)Ljava/time/LocalDate;" />
+		<method name="withYear(I)Ljava/time/LocalDate;" />
+		<field name="MAX" />
+		<field name="MIN" />
+	</class>
+	<class name="java/time/LocalDateTime" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/time/chrono/ChronoLocalDateTime" />
+		<implements name="java/time/temporal/Temporal" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atOffset(Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;" />
+		<method name="atZone(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDateTime;" />
+		<method name="getDayOfMonth()I" />
+		<method name="getDayOfWeek()Ljava/time/DayOfWeek;" />
+		<method name="getDayOfYear()I" />
+		<method name="getHour()I" />
+		<method name="getMinute()I" />
+		<method name="getMonth()Ljava/time/Month;" />
+		<method name="getMonthValue()I" />
+		<method name="getNano()I" />
+		<method name="getSecond()I" />
+		<method name="getYear()I" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDateTime;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDateTime;" />
+		<method name="minusDays(J)Ljava/time/LocalDateTime;" />
+		<method name="minusHours(J)Ljava/time/LocalDateTime;" />
+		<method name="minusMinutes(J)Ljava/time/LocalDateTime;" />
+		<method name="minusMonths(J)Ljava/time/LocalDateTime;" />
+		<method name="minusNanos(J)Ljava/time/LocalDateTime;" />
+		<method name="minusSeconds(J)Ljava/time/LocalDateTime;" />
+		<method name="minusWeeks(J)Ljava/time/LocalDateTime;" />
+		<method name="minusYears(J)Ljava/time/LocalDateTime;" />
+		<method name="now()Ljava/time/LocalDateTime;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/LocalDateTime;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/LocalDateTime;" />
+		<method name="of(IIIII)Ljava/time/LocalDateTime;" />
+		<method name="of(IIIIII)Ljava/time/LocalDateTime;" />
+		<method name="of(IIIIIII)Ljava/time/LocalDateTime;" />
+		<method name="of(ILjava/time/Month;III)Ljava/time/LocalDateTime;" />
+		<method name="of(ILjava/time/Month;IIII)Ljava/time/LocalDateTime;" />
+		<method name="of(ILjava/time/Month;IIIII)Ljava/time/LocalDateTime;" />
+		<method name="of(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;" />
+		<method name="ofEpochSecond(JILjava/time/ZoneOffset;)Ljava/time/LocalDateTime;" />
+		<method name="ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/LocalDateTime;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/LocalDateTime;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDateTime;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDateTime;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDateTime;" />
+		<method name="plusDays(J)Ljava/time/LocalDateTime;" />
+		<method name="plusHours(J)Ljava/time/LocalDateTime;" />
+		<method name="plusMinutes(J)Ljava/time/LocalDateTime;" />
+		<method name="plusMonths(J)Ljava/time/LocalDateTime;" />
+		<method name="plusNanos(J)Ljava/time/LocalDateTime;" />
+		<method name="plusSeconds(J)Ljava/time/LocalDateTime;" />
+		<method name="plusWeeks(J)Ljava/time/LocalDateTime;" />
+		<method name="plusYears(J)Ljava/time/LocalDateTime;" />
+		<method name="toLocalDate()Ljava/time/LocalDate;" />
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/LocalDateTime;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalDateTime;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/LocalDateTime;" />
+		<method name="withDayOfMonth(I)Ljava/time/LocalDateTime;" />
+		<method name="withDayOfYear(I)Ljava/time/LocalDateTime;" />
+		<method name="withHour(I)Ljava/time/LocalDateTime;" />
+		<method name="withMinute(I)Ljava/time/LocalDateTime;" />
+		<method name="withMonth(I)Ljava/time/LocalDateTime;" />
+		<method name="withNano(I)Ljava/time/LocalDateTime;" />
+		<method name="withSecond(I)Ljava/time/LocalDateTime;" />
+		<method name="withYear(I)Ljava/time/LocalDateTime;" />
+		<field name="MAX" />
+		<field name="MIN" />
+	</class>
+	<class name="java/time/LocalTime" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/Temporal" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atDate(Ljava/time/LocalDate;)Ljava/time/LocalDateTime;" />
+		<method name="atOffset(Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;" />
+		<method name="compareTo(Ljava/time/LocalTime;)I" />
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalTime;" />
+		<method name="getHour()I" />
+		<method name="getMinute()I" />
+		<method name="getNano()I" />
+		<method name="getSecond()I" />
+		<method name="isAfter(Ljava/time/LocalTime;)Z" />
+		<method name="isBefore(Ljava/time/LocalTime;)Z" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalTime;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalTime;" />
+		<method name="minusHours(J)Ljava/time/LocalTime;" />
+		<method name="minusMinutes(J)Ljava/time/LocalTime;" />
+		<method name="minusNanos(J)Ljava/time/LocalTime;" />
+		<method name="minusSeconds(J)Ljava/time/LocalTime;" />
+		<method name="now()Ljava/time/LocalTime;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/LocalTime;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/LocalTime;" />
+		<method name="of(II)Ljava/time/LocalTime;" />
+		<method name="of(III)Ljava/time/LocalTime;" />
+		<method name="of(IIII)Ljava/time/LocalTime;" />
+		<method name="ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/LocalTime;" since="31" />
+		<method name="ofNanoOfDay(J)Ljava/time/LocalTime;" />
+		<method name="ofSecondOfDay(J)Ljava/time/LocalTime;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/LocalTime;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalTime;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalTime;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalTime;" />
+		<method name="plusHours(J)Ljava/time/LocalTime;" />
+		<method name="plusMinutes(J)Ljava/time/LocalTime;" />
+		<method name="plusNanos(J)Ljava/time/LocalTime;" />
+		<method name="plusSeconds(J)Ljava/time/LocalTime;" />
+		<method name="toEpochSecond(Ljava/time/LocalDate;Ljava/time/ZoneOffset;)J" since="31" />
+		<method name="toNanoOfDay()J" />
+		<method name="toSecondOfDay()I" />
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/LocalTime;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalTime;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/LocalTime;" />
+		<method name="withHour(I)Ljava/time/LocalTime;" />
+		<method name="withMinute(I)Ljava/time/LocalTime;" />
+		<method name="withNano(I)Ljava/time/LocalTime;" />
+		<method name="withSecond(I)Ljava/time/LocalTime;" />
+		<field name="MAX" />
+		<field name="MIDNIGHT" />
+		<field name="MIN" />
+		<field name="NOON" />
+	</class>
+	<class name="java/time/Month" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/time/temporal/TemporalAccessor" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="firstDayOfYear(Z)I" />
+		<method name="firstMonthOfQuarter()Ljava/time/Month;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Month;" />
+		<method name="getDisplayName(Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getValue()I" />
+		<method name="length(Z)I" />
+		<method name="maxLength()I" />
+		<method name="minLength()I" />
+		<method name="minus(J)Ljava/time/Month;" />
+		<method name="of(I)Ljava/time/Month;" />
+		<method name="plus(J)Ljava/time/Month;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/Month;" />
+		<method name="values()[Ljava/time/Month;" />
+		<field name="APRIL" />
+		<field name="AUGUST" />
+		<field name="DECEMBER" />
+		<field name="FEBRUARY" />
+		<field name="JANUARY" />
+		<field name="JULY" />
+		<field name="JUNE" />
+		<field name="MARCH" />
+		<field name="MAY" />
+		<field name="NOVEMBER" />
+		<field name="OCTOBER" />
+		<field name="SEPTEMBER" />
+	</class>
+	<class name="java/time/MonthDay" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/TemporalAccessor" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atYear(I)Ljava/time/LocalDate;" />
+		<method name="compareTo(Ljava/time/MonthDay;)I" />
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/MonthDay;" />
+		<method name="getDayOfMonth()I" />
+		<method name="getMonth()Ljava/time/Month;" />
+		<method name="getMonthValue()I" />
+		<method name="isAfter(Ljava/time/MonthDay;)Z" />
+		<method name="isBefore(Ljava/time/MonthDay;)Z" />
+		<method name="isValidYear(I)Z" />
+		<method name="now()Ljava/time/MonthDay;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/MonthDay;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/MonthDay;" />
+		<method name="of(II)Ljava/time/MonthDay;" />
+		<method name="of(Ljava/time/Month;I)Ljava/time/MonthDay;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/MonthDay;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/MonthDay;" />
+		<method name="with(Ljava/time/Month;)Ljava/time/MonthDay;" />
+		<method name="withDayOfMonth(I)Ljava/time/MonthDay;" />
+		<method name="withMonth(I)Ljava/time/MonthDay;" />
+	</class>
+	<class name="java/time/OffsetDateTime" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/Temporal" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atZoneSameInstant(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="atZoneSimilarLocal(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="compareTo(Ljava/time/OffsetDateTime;)I" />
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/OffsetDateTime;" />
+		<method name="getDayOfMonth()I" />
+		<method name="getDayOfWeek()Ljava/time/DayOfWeek;" />
+		<method name="getDayOfYear()I" />
+		<method name="getHour()I" />
+		<method name="getMinute()I" />
+		<method name="getMonth()Ljava/time/Month;" />
+		<method name="getMonthValue()I" />
+		<method name="getNano()I" />
+		<method name="getOffset()Ljava/time/ZoneOffset;" />
+		<method name="getSecond()I" />
+		<method name="getYear()I" />
+		<method name="isAfter(Ljava/time/OffsetDateTime;)Z" />
+		<method name="isBefore(Ljava/time/OffsetDateTime;)Z" />
+		<method name="isEqual(Ljava/time/OffsetDateTime;)Z" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/OffsetDateTime;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/OffsetDateTime;" />
+		<method name="minusDays(J)Ljava/time/OffsetDateTime;" />
+		<method name="minusHours(J)Ljava/time/OffsetDateTime;" />
+		<method name="minusMinutes(J)Ljava/time/OffsetDateTime;" />
+		<method name="minusMonths(J)Ljava/time/OffsetDateTime;" />
+		<method name="minusNanos(J)Ljava/time/OffsetDateTime;" />
+		<method name="minusSeconds(J)Ljava/time/OffsetDateTime;" />
+		<method name="minusWeeks(J)Ljava/time/OffsetDateTime;" />
+		<method name="minusYears(J)Ljava/time/OffsetDateTime;" />
+		<method name="now()Ljava/time/OffsetDateTime;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/OffsetDateTime;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/OffsetDateTime;" />
+		<method name="of(IIIIIIILjava/time/ZoneOffset;)Ljava/time/OffsetDateTime;" />
+		<method name="of(Ljava/time/LocalDate;Ljava/time/LocalTime;Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;" />
+		<method name="of(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;" />
+		<method name="ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/OffsetDateTime;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/OffsetDateTime;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetDateTime;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/OffsetDateTime;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/OffsetDateTime;" />
+		<method name="plusDays(J)Ljava/time/OffsetDateTime;" />
+		<method name="plusHours(J)Ljava/time/OffsetDateTime;" />
+		<method name="plusMinutes(J)Ljava/time/OffsetDateTime;" />
+		<method name="plusMonths(J)Ljava/time/OffsetDateTime;" />
+		<method name="plusNanos(J)Ljava/time/OffsetDateTime;" />
+		<method name="plusSeconds(J)Ljava/time/OffsetDateTime;" />
+		<method name="plusWeeks(J)Ljava/time/OffsetDateTime;" />
+		<method name="plusYears(J)Ljava/time/OffsetDateTime;" />
+		<method name="timeLineOrder()Ljava/util/Comparator;" />
+		<method name="toEpochSecond()J" />
+		<method name="toInstant()Ljava/time/Instant;" />
+		<method name="toLocalDate()Ljava/time/LocalDate;" />
+		<method name="toLocalDateTime()Ljava/time/LocalDateTime;" />
+		<method name="toLocalTime()Ljava/time/LocalTime;" />
+		<method name="toOffsetTime()Ljava/time/OffsetTime;" />
+		<method name="toZonedDateTime()Ljava/time/ZonedDateTime;" />
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/OffsetDateTime;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/OffsetDateTime;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/OffsetDateTime;" />
+		<method name="withDayOfMonth(I)Ljava/time/OffsetDateTime;" />
+		<method name="withDayOfYear(I)Ljava/time/OffsetDateTime;" />
+		<method name="withHour(I)Ljava/time/OffsetDateTime;" />
+		<method name="withMinute(I)Ljava/time/OffsetDateTime;" />
+		<method name="withMonth(I)Ljava/time/OffsetDateTime;" />
+		<method name="withNano(I)Ljava/time/OffsetDateTime;" />
+		<method name="withOffsetSameInstant(Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;" />
+		<method name="withOffsetSameLocal(Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;" />
+		<method name="withSecond(I)Ljava/time/OffsetDateTime;" />
+		<method name="withYear(I)Ljava/time/OffsetDateTime;" />
+		<field name="MAX" />
+		<field name="MIN" />
+	</class>
+	<class name="java/time/OffsetTime" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/Temporal" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atDate(Ljava/time/LocalDate;)Ljava/time/OffsetDateTime;" />
+		<method name="compareTo(Ljava/time/OffsetTime;)I" />
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/OffsetTime;" />
+		<method name="getHour()I" />
+		<method name="getMinute()I" />
+		<method name="getNano()I" />
+		<method name="getOffset()Ljava/time/ZoneOffset;" />
+		<method name="getSecond()I" />
+		<method name="isAfter(Ljava/time/OffsetTime;)Z" />
+		<method name="isBefore(Ljava/time/OffsetTime;)Z" />
+		<method name="isEqual(Ljava/time/OffsetTime;)Z" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/OffsetTime;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/OffsetTime;" />
+		<method name="minusHours(J)Ljava/time/OffsetTime;" />
+		<method name="minusMinutes(J)Ljava/time/OffsetTime;" />
+		<method name="minusNanos(J)Ljava/time/OffsetTime;" />
+		<method name="minusSeconds(J)Ljava/time/OffsetTime;" />
+		<method name="now()Ljava/time/OffsetTime;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/OffsetTime;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/OffsetTime;" />
+		<method name="of(IIIILjava/time/ZoneOffset;)Ljava/time/OffsetTime;" />
+		<method name="of(Ljava/time/LocalTime;Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;" />
+		<method name="ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/OffsetTime;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/OffsetTime;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetTime;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/OffsetTime;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/OffsetTime;" />
+		<method name="plusHours(J)Ljava/time/OffsetTime;" />
+		<method name="plusMinutes(J)Ljava/time/OffsetTime;" />
+		<method name="plusNanos(J)Ljava/time/OffsetTime;" />
+		<method name="plusSeconds(J)Ljava/time/OffsetTime;" />
+		<method name="toLocalTime()Ljava/time/LocalTime;" />
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/OffsetTime;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/OffsetTime;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/OffsetTime;" />
+		<method name="withHour(I)Ljava/time/OffsetTime;" />
+		<method name="withMinute(I)Ljava/time/OffsetTime;" />
+		<method name="withNano(I)Ljava/time/OffsetTime;" />
+		<method name="withOffsetSameInstant(Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;" />
+		<method name="withOffsetSameLocal(Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;" />
+		<method name="withSecond(I)Ljava/time/OffsetTime;" />
+		<field name="MAX" />
+		<field name="MIN" />
+	</class>
+	<class name="java/time/Period" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/time/chrono/ChronoPeriod" />
+		<method name="between(Ljava/time/LocalDate;Ljava/time/LocalDate;)Ljava/time/Period;" />
+		<method name="from(Ljava/time/temporal/TemporalAmount;)Ljava/time/Period;" />
+		<method name="getChronology()Ljava/time/chrono/IsoChronology;" />
+		<method name="getDays()I" />
+		<method name="getMonths()I" />
+		<method name="getYears()I" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Period;" />
+		<method name="minusDays(J)Ljava/time/Period;" />
+		<method name="minusMonths(J)Ljava/time/Period;" />
+		<method name="minusYears(J)Ljava/time/Period;" />
+		<method name="multipliedBy(I)Ljava/time/Period;" />
+		<method name="negated()Ljava/time/Period;" />
+		<method name="normalized()Ljava/time/Period;" />
+		<method name="of(III)Ljava/time/Period;" />
+		<method name="ofDays(I)Ljava/time/Period;" />
+		<method name="ofMonths(I)Ljava/time/Period;" />
+		<method name="ofWeeks(I)Ljava/time/Period;" />
+		<method name="ofYears(I)Ljava/time/Period;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/Period;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Period;" />
+		<method name="plusDays(J)Ljava/time/Period;" />
+		<method name="plusMonths(J)Ljava/time/Period;" />
+		<method name="plusYears(J)Ljava/time/Period;" />
+		<method name="toTotalMonths()J" />
+		<method name="withDays(I)Ljava/time/Period;" />
+		<method name="withMonths(I)Ljava/time/Period;" />
+		<method name="withYears(I)Ljava/time/Period;" />
+		<field name="ZERO" />
+	</class>
+	<class name="java/time/Year" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/Temporal" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atDay(I)Ljava/time/LocalDate;" />
+		<method name="atMonth(I)Ljava/time/YearMonth;" />
+		<method name="atMonth(Ljava/time/Month;)Ljava/time/YearMonth;" />
+		<method name="atMonthDay(Ljava/time/MonthDay;)Ljava/time/LocalDate;" />
+		<method name="compareTo(Ljava/time/Year;)I" />
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Year;" />
+		<method name="getValue()I" />
+		<method name="isAfter(Ljava/time/Year;)Z" />
+		<method name="isBefore(Ljava/time/Year;)Z" />
+		<method name="isLeap()Z" />
+		<method name="isLeap(J)Z" />
+		<method name="isValidMonthDay(Ljava/time/MonthDay;)Z" />
+		<method name="length()I" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Year;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Year;" />
+		<method name="minusYears(J)Ljava/time/Year;" />
+		<method name="now()Ljava/time/Year;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/Year;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/Year;" />
+		<method name="of(I)Ljava/time/Year;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/Year;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/Year;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Year;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Year;" />
+		<method name="plusYears(J)Ljava/time/Year;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/Year;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/Year;" />
+		<field name="MAX_VALUE" />
+		<field name="MIN_VALUE" />
+	</class>
+	<class name="java/time/YearMonth" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/Temporal" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atDay(I)Ljava/time/LocalDate;" />
+		<method name="atEndOfMonth()Ljava/time/LocalDate;" />
+		<method name="compareTo(Ljava/time/YearMonth;)I" />
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/YearMonth;" />
+		<method name="getMonth()Ljava/time/Month;" />
+		<method name="getMonthValue()I" />
+		<method name="getYear()I" />
+		<method name="isAfter(Ljava/time/YearMonth;)Z" />
+		<method name="isBefore(Ljava/time/YearMonth;)Z" />
+		<method name="isLeapYear()Z" />
+		<method name="isValidDay(I)Z" />
+		<method name="lengthOfMonth()I" />
+		<method name="lengthOfYear()I" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/YearMonth;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/YearMonth;" />
+		<method name="minusMonths(J)Ljava/time/YearMonth;" />
+		<method name="minusYears(J)Ljava/time/YearMonth;" />
+		<method name="now()Ljava/time/YearMonth;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/YearMonth;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/YearMonth;" />
+		<method name="of(II)Ljava/time/YearMonth;" />
+		<method name="of(ILjava/time/Month;)Ljava/time/YearMonth;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/YearMonth;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/YearMonth;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/YearMonth;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/YearMonth;" />
+		<method name="plusMonths(J)Ljava/time/YearMonth;" />
+		<method name="plusYears(J)Ljava/time/YearMonth;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/YearMonth;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/YearMonth;" />
+		<method name="withMonth(I)Ljava/time/YearMonth;" />
+		<method name="withYear(I)Ljava/time/YearMonth;" />
+	</class>
+	<class name="java/time/ZoneId" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZoneId;" />
+		<method name="getAvailableZoneIds()Ljava/util/Set;" />
+		<method name="getDisplayName(Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="getRules()Ljava/time/zone/ZoneRules;" />
+		<method name="normalized()Ljava/time/ZoneId;" />
+		<method name="of(Ljava/lang/String;)Ljava/time/ZoneId;" />
+		<method name="of(Ljava/lang/String;Ljava/util/Map;)Ljava/time/ZoneId;" />
+		<method name="ofOffset(Ljava/lang/String;Ljava/time/ZoneOffset;)Ljava/time/ZoneId;" />
+		<method name="systemDefault()Ljava/time/ZoneId;" />
+		<field name="SHORT_IDS" />
+	</class>
+	<class name="java/time/ZoneOffset" since="26">
+		<extends name="java/time/ZoneId" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/TemporalAccessor" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="compareTo(Ljava/time/ZoneOffset;)I" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZoneOffset;" />
+		<method name="getTotalSeconds()I" />
+		<method name="of(Ljava/lang/String;)Ljava/time/ZoneOffset;" />
+		<method name="ofHours(I)Ljava/time/ZoneOffset;" />
+		<method name="ofHoursMinutes(II)Ljava/time/ZoneOffset;" />
+		<method name="ofHoursMinutesSeconds(III)Ljava/time/ZoneOffset;" />
+		<method name="ofTotalSeconds(I)Ljava/time/ZoneOffset;" />
+		<field name="MAX" />
+		<field name="MIN" />
+		<field name="UTC" />
+	</class>
+	<class name="java/time/ZonedDateTime" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/time/chrono/ChronoZonedDateTime" />
+		<implements name="java/time/temporal/Temporal" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZonedDateTime;" />
+		<method name="getDayOfMonth()I" />
+		<method name="getDayOfWeek()Ljava/time/DayOfWeek;" />
+		<method name="getDayOfYear()I" />
+		<method name="getHour()I" />
+		<method name="getMinute()I" />
+		<method name="getMonth()Ljava/time/Month;" />
+		<method name="getMonthValue()I" />
+		<method name="getNano()I" />
+		<method name="getSecond()I" />
+		<method name="getYear()I" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/ZonedDateTime;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/ZonedDateTime;" />
+		<method name="minusDays(J)Ljava/time/ZonedDateTime;" />
+		<method name="minusHours(J)Ljava/time/ZonedDateTime;" />
+		<method name="minusMinutes(J)Ljava/time/ZonedDateTime;" />
+		<method name="minusMonths(J)Ljava/time/ZonedDateTime;" />
+		<method name="minusNanos(J)Ljava/time/ZonedDateTime;" />
+		<method name="minusSeconds(J)Ljava/time/ZonedDateTime;" />
+		<method name="minusWeeks(J)Ljava/time/ZonedDateTime;" />
+		<method name="minusYears(J)Ljava/time/ZonedDateTime;" />
+		<method name="now()Ljava/time/ZonedDateTime;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/ZonedDateTime;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="of(IIIIIIILjava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="of(Ljava/time/LocalDate;Ljava/time/LocalTime;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="of(Ljava/time/LocalDateTime;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="ofInstant(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="ofLocal(Ljava/time/LocalDateTime;Ljava/time/ZoneId;Ljava/time/ZoneOffset;)Ljava/time/ZonedDateTime;" />
+		<method name="ofStrict(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/ZonedDateTime;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/ZonedDateTime;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/ZonedDateTime;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/ZonedDateTime;" />
+		<method name="plusDays(J)Ljava/time/ZonedDateTime;" />
+		<method name="plusHours(J)Ljava/time/ZonedDateTime;" />
+		<method name="plusMinutes(J)Ljava/time/ZonedDateTime;" />
+		<method name="plusMonths(J)Ljava/time/ZonedDateTime;" />
+		<method name="plusNanos(J)Ljava/time/ZonedDateTime;" />
+		<method name="plusSeconds(J)Ljava/time/ZonedDateTime;" />
+		<method name="plusWeeks(J)Ljava/time/ZonedDateTime;" />
+		<method name="plusYears(J)Ljava/time/ZonedDateTime;" />
+		<method name="toLocalDate()Ljava/time/LocalDate;" />
+		<method name="toLocalDateTime()Ljava/time/LocalDateTime;" />
+		<method name="toOffsetDateTime()Ljava/time/OffsetDateTime;" />
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/ZonedDateTime;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/ZonedDateTime;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/ZonedDateTime;" />
+		<method name="withDayOfMonth(I)Ljava/time/ZonedDateTime;" />
+		<method name="withDayOfYear(I)Ljava/time/ZonedDateTime;" />
+		<method name="withEarlierOffsetAtOverlap()Ljava/time/ZonedDateTime;" />
+		<method name="withFixedOffsetZone()Ljava/time/ZonedDateTime;" />
+		<method name="withHour(I)Ljava/time/ZonedDateTime;" />
+		<method name="withLaterOffsetAtOverlap()Ljava/time/ZonedDateTime;" />
+		<method name="withMinute(I)Ljava/time/ZonedDateTime;" />
+		<method name="withMonth(I)Ljava/time/ZonedDateTime;" />
+		<method name="withNano(I)Ljava/time/ZonedDateTime;" />
+		<method name="withSecond(I)Ljava/time/ZonedDateTime;" />
+		<method name="withYear(I)Ljava/time/ZonedDateTime;" />
+		<method name="withZoneSameInstant(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="withZoneSameLocal(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+	</class>
+	<class name="java/time/chrono/AbstractChronology" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/time/chrono/Chronology" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/time/chrono/ChronoLocalDate" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/Temporal" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atTime(Ljava/time/LocalTime;)Ljava/time/chrono/ChronoLocalDateTime;" />
+		<method name="compareTo(Ljava/time/chrono/ChronoLocalDate;)I" />
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="getChronology()Ljava/time/chrono/Chronology;" />
+		<method name="getEra()Ljava/time/chrono/Era;" />
+		<method name="isAfter(Ljava/time/chrono/ChronoLocalDate;)Z" />
+		<method name="isBefore(Ljava/time/chrono/ChronoLocalDate;)Z" />
+		<method name="isEqual(Ljava/time/chrono/ChronoLocalDate;)Z" />
+		<method name="isLeapYear()Z" />
+		<method name="lengthOfMonth()I" />
+		<method name="lengthOfYear()I" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="timeLineOrder()Ljava/util/Comparator;" />
+		<method name="toEpochDay()J" />
+		<method name="until(Ljava/time/chrono/ChronoLocalDate;)Ljava/time/chrono/ChronoPeriod;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/ChronoLocalDate;" />
+	</class>
+	<class name="java/time/chrono/ChronoLocalDateTime" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/Temporal" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="atZone(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="compareTo(Ljava/time/chrono/ChronoLocalDateTime;)I" />
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoLocalDateTime;" />
+		<method name="getChronology()Ljava/time/chrono/Chronology;" />
+		<method name="isAfter(Ljava/time/chrono/ChronoLocalDateTime;)Z" />
+		<method name="isBefore(Ljava/time/chrono/ChronoLocalDateTime;)Z" />
+		<method name="isEqual(Ljava/time/chrono/ChronoLocalDateTime;)Z" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoLocalDateTime;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoLocalDateTime;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoLocalDateTime;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoLocalDateTime;" />
+		<method name="timeLineOrder()Ljava/util/Comparator;" />
+		<method name="toEpochSecond(Ljava/time/ZoneOffset;)J" />
+		<method name="toInstant(Ljava/time/ZoneOffset;)Ljava/time/Instant;" />
+		<method name="toLocalDate()Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="toLocalTime()Ljava/time/LocalTime;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/ChronoLocalDateTime;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/ChronoLocalDateTime;" />
+	</class>
+	<class name="java/time/chrono/ChronoPeriod" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/time/temporal/TemporalAmount" />
+		<method name="between(Ljava/time/chrono/ChronoLocalDate;Ljava/time/chrono/ChronoLocalDate;)Ljava/time/chrono/ChronoPeriod;" />
+		<method name="getChronology()Ljava/time/chrono/Chronology;" />
+		<method name="isNegative()Z" />
+		<method name="isZero()Z" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoPeriod;" />
+		<method name="multipliedBy(I)Ljava/time/chrono/ChronoPeriod;" />
+		<method name="negated()Ljava/time/chrono/ChronoPeriod;" />
+		<method name="normalized()Ljava/time/chrono/ChronoPeriod;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoPeriod;" />
+	</class>
+	<class name="java/time/chrono/ChronoZonedDateTime" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<implements name="java/time/temporal/Temporal" />
+		<method name="compareTo(Ljava/time/chrono/ChronoZonedDateTime;)I" />
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="getChronology()Ljava/time/chrono/Chronology;" />
+		<method name="getOffset()Ljava/time/ZoneOffset;" />
+		<method name="getZone()Ljava/time/ZoneId;" />
+		<method name="isAfter(Ljava/time/chrono/ChronoZonedDateTime;)Z" />
+		<method name="isBefore(Ljava/time/chrono/ChronoZonedDateTime;)Z" />
+		<method name="isEqual(Ljava/time/chrono/ChronoZonedDateTime;)Z" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="timeLineOrder()Ljava/util/Comparator;" />
+		<method name="toEpochSecond()J" />
+		<method name="toInstant()Ljava/time/Instant;" />
+		<method name="toLocalDate()Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="toLocalDateTime()Ljava/time/chrono/ChronoLocalDateTime;" />
+		<method name="toLocalTime()Ljava/time/LocalTime;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="withEarlierOffsetAtOverlap()Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="withLaterOffsetAtOverlap()Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="withZoneSameInstant(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="withZoneSameLocal(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;" />
+	</class>
+	<class name="java/time/chrono/Chronology" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<method name="compareTo(Ljava/time/chrono/Chronology;)I" />
+		<method name="date(III)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="dateEpochDay(J)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="dateNow()Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="dateYearDay(II)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="eraOf(I)Ljava/time/chrono/Era;" />
+		<method name="eras()Ljava/util/List;" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/Chronology;" />
+		<method name="getAvailableChronologies()Ljava/util/Set;" />
+		<method name="getCalendarType()Ljava/lang/String;" />
+		<method name="getDisplayName(Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getId()Ljava/lang/String;" />
+		<method name="isLeapYear(J)Z" />
+		<method name="localDateTime(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoLocalDateTime;" />
+		<method name="of(Ljava/lang/String;)Ljava/time/chrono/Chronology;" />
+		<method name="ofLocale(Ljava/util/Locale;)Ljava/time/chrono/Chronology;" />
+		<method name="period(III)Ljava/time/chrono/ChronoPeriod;" />
+		<method name="prolepticYear(Ljava/time/chrono/Era;I)I" />
+		<method name="range(Ljava/time/temporal/ChronoField;)Ljava/time/temporal/ValueRange;" />
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;" />
+		<method name="zonedDateTime(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;" />
+		<method name="zonedDateTime(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoZonedDateTime;" />
+	</class>
+	<class name="java/time/chrono/Era" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/time/temporal/TemporalAccessor" />
+		<implements name="java/time/temporal/TemporalAdjuster" />
+		<method name="getDisplayName(Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getValue()I" />
+	</class>
+	<class name="java/time/chrono/HijrahChronology" since="26">
+		<extends name="java/time/chrono/AbstractChronology" />
+		<implements name="java/io/Serializable" />
+		<method name="date(III)Ljava/time/chrono/HijrahDate;" />
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/chrono/HijrahDate;" />
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/HijrahDate;" />
+		<method name="dateEpochDay(J)Ljava/time/chrono/HijrahDate;" />
+		<method name="dateNow()Ljava/time/chrono/HijrahDate;" />
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/chrono/HijrahDate;" />
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/chrono/HijrahDate;" />
+		<method name="dateYearDay(II)Ljava/time/chrono/HijrahDate;" />
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/chrono/HijrahDate;" />
+		<method name="eraOf(I)Ljava/time/chrono/HijrahEra;" />
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/HijrahDate;" />
+		<field name="INSTANCE" />
+	</class>
+	<class name="java/time/chrono/HijrahDate" since="26">
+		<extends name="java/lang/Object" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/HijrahDate;" />
+		<method name="getChronology()Ljava/time/chrono/HijrahChronology;" />
+		<method name="getEra()Ljava/time/chrono/HijrahEra;" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/HijrahDate;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/HijrahDate;" />
+		<method name="now()Ljava/time/chrono/HijrahDate;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/chrono/HijrahDate;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/chrono/HijrahDate;" />
+		<method name="of(III)Ljava/time/chrono/HijrahDate;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/HijrahDate;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/HijrahDate;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/HijrahDate;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/HijrahDate;" />
+		<method name="withVariant(Ljava/time/chrono/HijrahChronology;)Ljava/time/chrono/HijrahDate;" />
+	</class>
+	<class name="java/time/chrono/HijrahEra" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/time/chrono/Era" />
+		<method name="of(I)Ljava/time/chrono/HijrahEra;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/chrono/HijrahEra;" />
+		<method name="values()[Ljava/time/chrono/HijrahEra;" />
+		<field name="AH" />
+	</class>
+	<class name="java/time/chrono/IsoChronology" since="26">
+		<extends name="java/time/chrono/AbstractChronology" />
+		<implements name="java/io/Serializable" />
+		<method name="date(III)Ljava/time/LocalDate;" />
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/LocalDate;" />
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;" />
+		<method name="dateEpochDay(J)Ljava/time/LocalDate;" />
+		<method name="dateNow()Ljava/time/LocalDate;" />
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/LocalDate;" />
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/LocalDate;" />
+		<method name="dateYearDay(II)Ljava/time/LocalDate;" />
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/LocalDate;" />
+		<method name="eraOf(I)Ljava/time/chrono/IsoEra;" />
+		<method name="localDateTime(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDateTime;" />
+		<method name="period(III)Ljava/time/Period;" />
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/LocalDate;" />
+		<method name="zonedDateTime(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;" />
+		<method name="zonedDateTime(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZonedDateTime;" />
+		<field name="INSTANCE" />
+	</class>
+	<class name="java/time/chrono/IsoEra" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/time/chrono/Era" />
+		<method name="of(I)Ljava/time/chrono/IsoEra;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/chrono/IsoEra;" />
+		<method name="values()[Ljava/time/chrono/IsoEra;" />
+		<field name="BCE" />
+		<field name="CE" />
+	</class>
+	<class name="java/time/chrono/JapaneseChronology" since="26">
+		<extends name="java/time/chrono/AbstractChronology" />
+		<implements name="java/io/Serializable" />
+		<method name="date(III)Ljava/time/chrono/JapaneseDate;" />
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/chrono/JapaneseDate;" />
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="dateEpochDay(J)Ljava/time/chrono/JapaneseDate;" />
+		<method name="dateNow()Ljava/time/chrono/JapaneseDate;" />
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="dateYearDay(II)Ljava/time/chrono/JapaneseDate;" />
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/chrono/JapaneseDate;" />
+		<method name="eraOf(I)Ljava/time/chrono/JapaneseEra;" />
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/JapaneseDate;" />
+		<field name="INSTANCE" />
+	</class>
+	<class name="java/time/chrono/JapaneseDate" since="26">
+		<extends name="java/lang/Object" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="getChronology()Ljava/time/chrono/JapaneseChronology;" />
+		<method name="getEra()Ljava/time/chrono/JapaneseEra;" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="now()Ljava/time/chrono/JapaneseDate;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="of(III)Ljava/time/chrono/JapaneseDate;" />
+		<method name="of(Ljava/time/chrono/JapaneseEra;III)Ljava/time/chrono/JapaneseDate;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/JapaneseDate;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/JapaneseDate;" />
+	</class>
+	<class name="java/time/chrono/JapaneseEra" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/time/chrono/Era" />
+		<method name="of(I)Ljava/time/chrono/JapaneseEra;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/chrono/JapaneseEra;" />
+		<method name="values()[Ljava/time/chrono/JapaneseEra;" />
+		<field name="HEISEI" />
+		<field name="MEIJI" />
+		<field name="REIWA" since="30" />
+		<field name="SHOWA" />
+		<field name="TAISHO" />
+	</class>
+	<class name="java/time/chrono/MinguoChronology" since="26">
+		<extends name="java/time/chrono/AbstractChronology" />
+		<implements name="java/io/Serializable" />
+		<method name="date(III)Ljava/time/chrono/MinguoDate;" />
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/chrono/MinguoDate;" />
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/MinguoDate;" />
+		<method name="dateEpochDay(J)Ljava/time/chrono/MinguoDate;" />
+		<method name="dateNow()Ljava/time/chrono/MinguoDate;" />
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/chrono/MinguoDate;" />
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/chrono/MinguoDate;" />
+		<method name="dateYearDay(II)Ljava/time/chrono/MinguoDate;" />
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/chrono/MinguoDate;" />
+		<method name="eraOf(I)Ljava/time/chrono/MinguoEra;" />
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/MinguoDate;" />
+		<field name="INSTANCE" />
+	</class>
+	<class name="java/time/chrono/MinguoDate" since="26">
+		<extends name="java/lang/Object" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/MinguoDate;" />
+		<method name="getChronology()Ljava/time/chrono/MinguoChronology;" />
+		<method name="getEra()Ljava/time/chrono/MinguoEra;" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/MinguoDate;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/MinguoDate;" />
+		<method name="now()Ljava/time/chrono/MinguoDate;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/chrono/MinguoDate;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/chrono/MinguoDate;" />
+		<method name="of(III)Ljava/time/chrono/MinguoDate;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/MinguoDate;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/MinguoDate;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/MinguoDate;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/MinguoDate;" />
+	</class>
+	<class name="java/time/chrono/MinguoEra" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/time/chrono/Era" />
+		<method name="of(I)Ljava/time/chrono/MinguoEra;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/chrono/MinguoEra;" />
+		<method name="values()[Ljava/time/chrono/MinguoEra;" />
+		<field name="BEFORE_ROC" />
+		<field name="ROC" />
+	</class>
+	<class name="java/time/chrono/ThaiBuddhistChronology" since="26">
+		<extends name="java/time/chrono/AbstractChronology" />
+		<implements name="java/io/Serializable" />
+		<method name="date(III)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="dateEpochDay(J)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="dateNow()Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="dateYearDay(II)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="eraOf(I)Ljava/time/chrono/ThaiBuddhistEra;" />
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<field name="INSTANCE" />
+	</class>
+	<class name="java/time/chrono/ThaiBuddhistDate" since="26">
+		<extends name="java/lang/Object" />
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="getChronology()Ljava/time/chrono/ThaiBuddhistChronology;" />
+		<method name="getEra()Ljava/time/chrono/ThaiBuddhistEra;" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="now()Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="now(Ljava/time/Clock;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="of(III)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/ThaiBuddhistDate;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/ThaiBuddhistDate;" />
+	</class>
+	<class name="java/time/chrono/ThaiBuddhistEra" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/time/chrono/Era" />
+		<method name="of(I)Ljava/time/chrono/ThaiBuddhistEra;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/chrono/ThaiBuddhistEra;" />
+		<method name="values()[Ljava/time/chrono/ThaiBuddhistEra;" />
+		<field name="BE" />
+		<field name="BEFORE_BE" />
+	</class>
+	<class name="java/time/format/DateTimeFormatter" since="26">
+		<extends name="java/lang/Object" />
+		<method name="format(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;" />
+		<method name="formatTo(Ljava/time/temporal/TemporalAccessor;Ljava/lang/Appendable;)V" />
+		<method name="getChronology()Ljava/time/chrono/Chronology;" />
+		<method name="getDecimalStyle()Ljava/time/format/DecimalStyle;" />
+		<method name="getLocale()Ljava/util/Locale;" />
+		<method name="getResolverFields()Ljava/util/Set;" />
+		<method name="getResolverStyle()Ljava/time/format/ResolverStyle;" />
+		<method name="getZone()Ljava/time/ZoneId;" />
+		<method name="ofLocalizedDate(Ljava/time/format/FormatStyle;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="ofLocalizedDateTime(Ljava/time/format/FormatStyle;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="ofLocalizedDateTime(Ljava/time/format/FormatStyle;Ljava/time/format/FormatStyle;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="ofLocalizedTime(Ljava/time/format/FormatStyle;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="ofPattern(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/temporal/TemporalAccessor;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/time/temporal/TemporalAccessor;" />
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;" />
+		<method name="parseBest(Ljava/lang/CharSequence;[Ljava/time/temporal/TemporalQuery;)Ljava/time/temporal/TemporalAccessor;" />
+		<method name="parseUnresolved(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/time/temporal/TemporalAccessor;" />
+		<method name="parsedExcessDays()Ljava/time/temporal/TemporalQuery;" />
+		<method name="parsedLeapSecond()Ljava/time/temporal/TemporalQuery;" />
+		<method name="toFormat()Ljava/text/Format;" />
+		<method name="toFormat(Ljava/time/temporal/TemporalQuery;)Ljava/text/Format;" />
+		<method name="withChronology(Ljava/time/chrono/Chronology;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="withDecimalStyle(Ljava/time/format/DecimalStyle;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="withLocale(Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="withResolverFields(Ljava/util/Set;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="withResolverFields([Ljava/time/temporal/TemporalField;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="withResolverStyle(Ljava/time/format/ResolverStyle;)Ljava/time/format/DateTimeFormatter;" />
+		<method name="withZone(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;" />
+		<field name="BASIC_ISO_DATE" />
+		<field name="ISO_DATE" />
+		<field name="ISO_DATE_TIME" />
+		<field name="ISO_INSTANT" />
+		<field name="ISO_LOCAL_DATE" />
+		<field name="ISO_LOCAL_DATE_TIME" />
+		<field name="ISO_LOCAL_TIME" />
+		<field name="ISO_OFFSET_DATE" />
+		<field name="ISO_OFFSET_DATE_TIME" />
+		<field name="ISO_OFFSET_TIME" />
+		<field name="ISO_ORDINAL_DATE" />
+		<field name="ISO_TIME" />
+		<field name="ISO_WEEK_DATE" />
+		<field name="ISO_ZONED_DATE_TIME" />
+		<field name="RFC_1123_DATE_TIME" />
+	</class>
+	<class name="java/time/format/DateTimeFormatterBuilder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="append(Ljava/time/format/DateTimeFormatter;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendChronologyId()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendChronologyText(Ljava/time/format/TextStyle;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendFraction(Ljava/time/temporal/TemporalField;IIZ)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendInstant()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendInstant(I)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendLiteral(C)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendLiteral(Ljava/lang/String;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendLocalized(Ljava/time/format/FormatStyle;Ljava/time/format/FormatStyle;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendLocalizedOffset(Ljava/time/format/TextStyle;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendOffset(Ljava/lang/String;Ljava/lang/String;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendOffsetId()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendOptional(Ljava/time/format/DateTimeFormatter;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendText(Ljava/time/temporal/TemporalField;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendText(Ljava/time/temporal/TemporalField;Ljava/time/format/TextStyle;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendText(Ljava/time/temporal/TemporalField;Ljava/util/Map;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendValue(Ljava/time/temporal/TemporalField;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendValue(Ljava/time/temporal/TemporalField;I)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendValue(Ljava/time/temporal/TemporalField;IILjava/time/format/SignStyle;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendValueReduced(Ljava/time/temporal/TemporalField;III)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendValueReduced(Ljava/time/temporal/TemporalField;IILjava/time/chrono/ChronoLocalDate;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendZoneId()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendZoneOrOffsetId()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendZoneRegionId()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendZoneText(Ljava/time/format/TextStyle;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="appendZoneText(Ljava/time/format/TextStyle;Ljava/util/Set;)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="getLocalizedDateTimePattern(Ljava/time/format/FormatStyle;Ljava/time/format/FormatStyle;Ljava/time/chrono/Chronology;Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="optionalEnd()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="optionalStart()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="padNext(I)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="padNext(IC)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="parseCaseInsensitive()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="parseCaseSensitive()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="parseDefaulting(Ljava/time/temporal/TemporalField;J)Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="parseLenient()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="parseStrict()Ljava/time/format/DateTimeFormatterBuilder;" />
+		<method name="toFormatter()Ljava/time/format/DateTimeFormatter;" />
+		<method name="toFormatter(Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;" />
+	</class>
+	<class name="java/time/format/DateTimeParseException" since="26">
+		<extends name="java/time/DateTimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/CharSequence;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/CharSequence;ILjava/lang/Throwable;)V" />
+		<method name="getErrorIndex()I" />
+		<method name="getParsedString()Ljava/lang/String;" />
+	</class>
+	<class name="java/time/format/DecimalStyle" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getAvailableLocales()Ljava/util/Set;" />
+		<method name="getDecimalSeparator()C" />
+		<method name="getNegativeSign()C" />
+		<method name="getPositiveSign()C" />
+		<method name="getZeroDigit()C" />
+		<method name="of(Ljava/util/Locale;)Ljava/time/format/DecimalStyle;" />
+		<method name="ofDefaultLocale()Ljava/time/format/DecimalStyle;" />
+		<method name="withDecimalSeparator(C)Ljava/time/format/DecimalStyle;" />
+		<method name="withNegativeSign(C)Ljava/time/format/DecimalStyle;" />
+		<method name="withPositiveSign(C)Ljava/time/format/DecimalStyle;" />
+		<method name="withZeroDigit(C)Ljava/time/format/DecimalStyle;" />
+		<field name="STANDARD" />
+	</class>
+	<class name="java/time/format/FormatStyle" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/format/FormatStyle;" />
+		<method name="values()[Ljava/time/format/FormatStyle;" />
+		<field name="FULL" />
+		<field name="LONG" />
+		<field name="MEDIUM" />
+		<field name="SHORT" />
+	</class>
+	<class name="java/time/format/ResolverStyle" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/format/ResolverStyle;" />
+		<method name="values()[Ljava/time/format/ResolverStyle;" />
+		<field name="LENIENT" />
+		<field name="SMART" />
+		<field name="STRICT" />
+	</class>
+	<class name="java/time/format/SignStyle" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/format/SignStyle;" />
+		<method name="values()[Ljava/time/format/SignStyle;" />
+		<field name="ALWAYS" />
+		<field name="EXCEEDS_PAD" />
+		<field name="NEVER" />
+		<field name="NORMAL" />
+		<field name="NOT_NEGATIVE" />
+	</class>
+	<class name="java/time/format/TextStyle" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="asNormal()Ljava/time/format/TextStyle;" />
+		<method name="asStandalone()Ljava/time/format/TextStyle;" />
+		<method name="isStandalone()Z" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/format/TextStyle;" />
+		<method name="values()[Ljava/time/format/TextStyle;" />
+		<field name="FULL" />
+		<field name="FULL_STANDALONE" />
+		<field name="NARROW" />
+		<field name="NARROW_STANDALONE" />
+		<field name="SHORT" />
+		<field name="SHORT_STANDALONE" />
+	</class>
+	<class name="java/time/temporal/ChronoField" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/time/temporal/TemporalField" />
+		<method name="checkValidIntValue(J)I" />
+		<method name="checkValidValue(J)J" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/temporal/ChronoField;" />
+		<method name="values()[Ljava/time/temporal/ChronoField;" />
+		<field name="ALIGNED_DAY_OF_WEEK_IN_MONTH" />
+		<field name="ALIGNED_DAY_OF_WEEK_IN_YEAR" />
+		<field name="ALIGNED_WEEK_OF_MONTH" />
+		<field name="ALIGNED_WEEK_OF_YEAR" />
+		<field name="AMPM_OF_DAY" />
+		<field name="CLOCK_HOUR_OF_AMPM" />
+		<field name="CLOCK_HOUR_OF_DAY" />
+		<field name="DAY_OF_MONTH" />
+		<field name="DAY_OF_WEEK" />
+		<field name="DAY_OF_YEAR" />
+		<field name="EPOCH_DAY" />
+		<field name="ERA" />
+		<field name="HOUR_OF_AMPM" />
+		<field name="HOUR_OF_DAY" />
+		<field name="INSTANT_SECONDS" />
+		<field name="MICRO_OF_DAY" />
+		<field name="MICRO_OF_SECOND" />
+		<field name="MILLI_OF_DAY" />
+		<field name="MILLI_OF_SECOND" />
+		<field name="MINUTE_OF_DAY" />
+		<field name="MINUTE_OF_HOUR" />
+		<field name="MONTH_OF_YEAR" />
+		<field name="NANO_OF_DAY" />
+		<field name="NANO_OF_SECOND" />
+		<field name="OFFSET_SECONDS" />
+		<field name="PROLEPTIC_MONTH" />
+		<field name="SECOND_OF_DAY" />
+		<field name="SECOND_OF_MINUTE" />
+		<field name="YEAR" />
+		<field name="YEAR_OF_ERA" />
+	</class>
+	<class name="java/time/temporal/ChronoUnit" since="26">
+		<extends name="java/lang/Enum" />
+		<implements name="java/time/temporal/TemporalUnit" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/temporal/ChronoUnit;" />
+		<method name="values()[Ljava/time/temporal/ChronoUnit;" />
+		<field name="CENTURIES" />
+		<field name="DAYS" />
+		<field name="DECADES" />
+		<field name="ERAS" />
+		<field name="FOREVER" />
+		<field name="HALF_DAYS" />
+		<field name="HOURS" />
+		<field name="MICROS" />
+		<field name="MILLENNIA" />
+		<field name="MILLIS" />
+		<field name="MINUTES" />
+		<field name="MONTHS" />
+		<field name="NANOS" />
+		<field name="SECONDS" />
+		<field name="WEEKS" />
+		<field name="YEARS" />
+	</class>
+	<class name="java/time/temporal/IsoFields" since="26">
+		<extends name="java/lang/Object" />
+		<field name="DAY_OF_QUARTER" />
+		<field name="QUARTER_OF_YEAR" />
+		<field name="QUARTER_YEARS" />
+		<field name="WEEK_BASED_YEAR" />
+		<field name="WEEK_BASED_YEARS" />
+		<field name="WEEK_OF_WEEK_BASED_YEAR" />
+	</class>
+	<class name="java/time/temporal/JulianFields" since="26">
+		<extends name="java/lang/Object" />
+		<field name="JULIAN_DAY" />
+		<field name="MODIFIED_JULIAN_DAY" />
+		<field name="RATA_DIE" />
+	</class>
+	<class name="java/time/temporal/Temporal" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/time/temporal/TemporalAccessor" />
+		<method name="isSupported(Ljava/time/temporal/TemporalUnit;)Z" />
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;" />
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/temporal/Temporal;" />
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;" />
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/temporal/Temporal;" />
+		<method name="until(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J" />
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/temporal/Temporal;" />
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/temporal/Temporal;" />
+	</class>
+	<class name="java/time/temporal/TemporalAccessor" since="26">
+		<extends name="java/lang/Object" />
+		<method name="get(Ljava/time/temporal/TemporalField;)I" />
+		<method name="getLong(Ljava/time/temporal/TemporalField;)J" />
+		<method name="isSupported(Ljava/time/temporal/TemporalField;)Z" />
+		<method name="query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;" />
+		<method name="range(Ljava/time/temporal/TemporalField;)Ljava/time/temporal/ValueRange;" />
+	</class>
+	<class name="java/time/temporal/TemporalAdjuster" since="26">
+		<extends name="java/lang/Object" />
+		<method name="adjustInto(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;" />
+	</class>
+	<class name="java/time/temporal/TemporalAdjusters" since="26">
+		<extends name="java/lang/Object" />
+		<method name="dayOfWeekInMonth(ILjava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="firstDayOfMonth()Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="firstDayOfNextMonth()Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="firstDayOfNextYear()Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="firstDayOfYear()Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="firstInMonth(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="lastDayOfMonth()Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="lastDayOfYear()Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="lastInMonth(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="next(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="nextOrSame(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="ofDateAdjuster(Ljava/util/function/UnaryOperator;)Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="previous(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;" />
+		<method name="previousOrSame(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;" />
+	</class>
+	<class name="java/time/temporal/TemporalAmount" since="26">
+		<extends name="java/lang/Object" />
+		<method name="addTo(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;" />
+		<method name="get(Ljava/time/temporal/TemporalUnit;)J" />
+		<method name="getUnits()Ljava/util/List;" />
+		<method name="subtractFrom(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;" />
+	</class>
+	<class name="java/time/temporal/TemporalField" since="26">
+		<extends name="java/lang/Object" />
+		<method name="adjustInto(Ljava/time/temporal/Temporal;J)Ljava/time/temporal/Temporal;" />
+		<method name="getBaseUnit()Ljava/time/temporal/TemporalUnit;" />
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getFrom(Ljava/time/temporal/TemporalAccessor;)J" />
+		<method name="getRangeUnit()Ljava/time/temporal/TemporalUnit;" />
+		<method name="isDateBased()Z" />
+		<method name="isSupportedBy(Ljava/time/temporal/TemporalAccessor;)Z" />
+		<method name="isTimeBased()Z" />
+		<method name="range()Ljava/time/temporal/ValueRange;" />
+		<method name="rangeRefinedBy(Ljava/time/temporal/TemporalAccessor;)Ljava/time/temporal/ValueRange;" />
+		<method name="resolve(Ljava/util/Map;Ljava/time/temporal/TemporalAccessor;Ljava/time/format/ResolverStyle;)Ljava/time/temporal/TemporalAccessor;" />
+	</class>
+	<class name="java/time/temporal/TemporalQueries" since="26">
+		<extends name="java/lang/Object" />
+		<method name="chronology()Ljava/time/temporal/TemporalQuery;" />
+		<method name="localDate()Ljava/time/temporal/TemporalQuery;" />
+		<method name="localTime()Ljava/time/temporal/TemporalQuery;" />
+		<method name="offset()Ljava/time/temporal/TemporalQuery;" />
+		<method name="precision()Ljava/time/temporal/TemporalQuery;" />
+		<method name="zone()Ljava/time/temporal/TemporalQuery;" />
+		<method name="zoneId()Ljava/time/temporal/TemporalQuery;" />
+	</class>
+	<class name="java/time/temporal/TemporalQuery" since="26">
+		<extends name="java/lang/Object" />
+		<method name="queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/time/temporal/TemporalUnit" since="26">
+		<extends name="java/lang/Object" />
+		<method name="addTo(Ljava/time/temporal/Temporal;J)Ljava/time/temporal/Temporal;" />
+		<method name="between(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)J" />
+		<method name="getDuration()Ljava/time/Duration;" />
+		<method name="isDateBased()Z" />
+		<method name="isDurationEstimated()Z" />
+		<method name="isSupportedBy(Ljava/time/temporal/Temporal;)Z" />
+		<method name="isTimeBased()Z" />
+	</class>
+	<class name="java/time/temporal/UnsupportedTemporalTypeException" since="26">
+		<extends name="java/time/DateTimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/time/temporal/ValueRange" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="checkValidIntValue(JLjava/time/temporal/TemporalField;)I" />
+		<method name="checkValidValue(JLjava/time/temporal/TemporalField;)J" />
+		<method name="getLargestMinimum()J" />
+		<method name="getMaximum()J" />
+		<method name="getMinimum()J" />
+		<method name="getSmallestMaximum()J" />
+		<method name="isFixed()Z" />
+		<method name="isIntValue()Z" />
+		<method name="isValidIntValue(J)Z" />
+		<method name="isValidValue(J)Z" />
+		<method name="of(JJ)Ljava/time/temporal/ValueRange;" />
+		<method name="of(JJJ)Ljava/time/temporal/ValueRange;" />
+		<method name="of(JJJJ)Ljava/time/temporal/ValueRange;" />
+	</class>
+	<class name="java/time/temporal/WeekFields" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="dayOfWeek()Ljava/time/temporal/TemporalField;" />
+		<method name="getFirstDayOfWeek()Ljava/time/DayOfWeek;" />
+		<method name="getMinimalDaysInFirstWeek()I" />
+		<method name="of(Ljava/time/DayOfWeek;I)Ljava/time/temporal/WeekFields;" />
+		<method name="of(Ljava/util/Locale;)Ljava/time/temporal/WeekFields;" />
+		<method name="weekBasedYear()Ljava/time/temporal/TemporalField;" />
+		<method name="weekOfMonth()Ljava/time/temporal/TemporalField;" />
+		<method name="weekOfWeekBasedYear()Ljava/time/temporal/TemporalField;" />
+		<method name="weekOfYear()Ljava/time/temporal/TemporalField;" />
+		<field name="ISO" />
+		<field name="SUNDAY_START" />
+		<field name="WEEK_BASED_YEARS" />
+	</class>
+	<class name="java/time/zone/ZoneOffsetTransition" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<method name="compareTo(Ljava/time/zone/ZoneOffsetTransition;)I" />
+		<method name="getDateTimeAfter()Ljava/time/LocalDateTime;" />
+		<method name="getDateTimeBefore()Ljava/time/LocalDateTime;" />
+		<method name="getDuration()Ljava/time/Duration;" />
+		<method name="getInstant()Ljava/time/Instant;" />
+		<method name="getOffsetAfter()Ljava/time/ZoneOffset;" />
+		<method name="getOffsetBefore()Ljava/time/ZoneOffset;" />
+		<method name="isGap()Z" />
+		<method name="isOverlap()Z" />
+		<method name="isValidOffset(Ljava/time/ZoneOffset;)Z" />
+		<method name="of(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneOffsetTransition;" />
+		<method name="toEpochSecond()J" />
+	</class>
+	<class name="java/time/zone/ZoneOffsetTransitionRule" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="createTransition(I)Ljava/time/zone/ZoneOffsetTransition;" />
+		<method name="getDayOfMonthIndicator()I" />
+		<method name="getDayOfWeek()Ljava/time/DayOfWeek;" />
+		<method name="getLocalTime()Ljava/time/LocalTime;" />
+		<method name="getMonth()Ljava/time/Month;" />
+		<method name="getOffsetAfter()Ljava/time/ZoneOffset;" />
+		<method name="getOffsetBefore()Ljava/time/ZoneOffset;" />
+		<method name="getStandardOffset()Ljava/time/ZoneOffset;" />
+		<method name="getTimeDefinition()Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;" />
+		<method name="isMidnightEndOfDay()Z" />
+		<method name="of(Ljava/time/Month;ILjava/time/DayOfWeek;Ljava/time/LocalTime;ZLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneOffsetTransitionRule;" />
+	</class>
+	<class name="java/time/zone/ZoneOffsetTransitionRule$TimeDefinition" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="createDateTime(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/LocalDateTime;" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;" />
+		<method name="values()[Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;" />
+		<field name="STANDARD" />
+		<field name="UTC" />
+		<field name="WALL" />
+	</class>
+	<class name="java/time/zone/ZoneRules" since="26">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="getDaylightSavings(Ljava/time/Instant;)Ljava/time/Duration;" />
+		<method name="getOffset(Ljava/time/Instant;)Ljava/time/ZoneOffset;" />
+		<method name="getOffset(Ljava/time/LocalDateTime;)Ljava/time/ZoneOffset;" />
+		<method name="getStandardOffset(Ljava/time/Instant;)Ljava/time/ZoneOffset;" />
+		<method name="getTransition(Ljava/time/LocalDateTime;)Ljava/time/zone/ZoneOffsetTransition;" />
+		<method name="getTransitionRules()Ljava/util/List;" />
+		<method name="getTransitions()Ljava/util/List;" />
+		<method name="getValidOffsets(Ljava/time/LocalDateTime;)Ljava/util/List;" />
+		<method name="isDaylightSavings(Ljava/time/Instant;)Z" />
+		<method name="isFixedOffset()Z" />
+		<method name="isValidOffset(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;)Z" />
+		<method name="nextTransition(Ljava/time/Instant;)Ljava/time/zone/ZoneOffsetTransition;" />
+		<method name="of(Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneRules;" />
+		<method name="of(Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Ljava/time/zone/ZoneRules;" />
+		<method name="previousTransition(Ljava/time/Instant;)Ljava/time/zone/ZoneOffsetTransition;" />
+	</class>
+	<class name="java/time/zone/ZoneRulesException" since="26">
+		<extends name="java/time/DateTimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/AbstractCollection" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Collection" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/AbstractList" since="1">
+		<extends name="java/util/AbstractCollection" />
+		<implements name="java/util/List" />
+		<method name="&lt;init&gt;()V" />
+		<method name="removeRange(II)V" />
+		<field name="modCount" />
+	</class>
+	<class name="java/util/AbstractMap" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Map" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/AbstractMap$SimpleEntry" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/Map$Entry" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map$Entry;)V" />
+	</class>
+	<class name="java/util/AbstractMap$SimpleImmutableEntry" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/Map$Entry" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map$Entry;)V" />
+	</class>
+	<class name="java/util/AbstractQueue" since="1">
+		<extends name="java/util/AbstractCollection" />
+		<implements name="java/util/Queue" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/AbstractSequentialList" since="1">
+		<extends name="java/util/AbstractList" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/AbstractSet" since="1">
+		<extends name="java/util/AbstractCollection" />
+		<implements name="java/util/Set" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/ArrayDeque" since="9">
+		<extends name="java/util/AbstractCollection" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/Deque" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="clone()Ljava/util/ArrayDeque;" />
+	</class>
+	<class name="java/util/ArrayList" since="1">
+		<extends name="java/util/AbstractList" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/RandomAccess" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="ensureCapacity(I)V" />
+		<method name="trimToSize()V" />
+	</class>
+	<class name="java/util/Arrays" since="1">
+		<extends name="java/lang/Object" />
+		<method name="asList([Ljava/lang/Object;)Ljava/util/List;" />
+		<method name="binarySearch([BB)I" />
+		<method name="binarySearch([BIIB)I" since="9" />
+		<method name="binarySearch([CC)I" />
+		<method name="binarySearch([CIIC)I" since="9" />
+		<method name="binarySearch([DD)I" />
+		<method name="binarySearch([DIID)I" since="9" />
+		<method name="binarySearch([FF)I" />
+		<method name="binarySearch([FIIF)I" since="9" />
+		<method name="binarySearch([II)I" />
+		<method name="binarySearch([IIII)I" since="9" />
+		<method name="binarySearch([JIIJ)I" since="9" />
+		<method name="binarySearch([JJ)I" />
+		<method name="binarySearch([Ljava/lang/Object;IILjava/lang/Object;)I" since="9" />
+		<method name="binarySearch([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I" since="9" />
+		<method name="binarySearch([Ljava/lang/Object;Ljava/lang/Object;)I" />
+		<method name="binarySearch([Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I" />
+		<method name="binarySearch([SIIS)I" since="9" />
+		<method name="binarySearch([SS)I" />
+		<method name="copyOf([BI)[B" since="9" />
+		<method name="copyOf([CI)[C" since="9" />
+		<method name="copyOf([DI)[D" since="9" />
+		<method name="copyOf([FI)[F" since="9" />
+		<method name="copyOf([II)[I" since="9" />
+		<method name="copyOf([JI)[J" since="9" />
+		<method name="copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;" since="9" />
+		<method name="copyOf([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;" since="9" />
+		<method name="copyOf([SI)[S" since="9" />
+		<method name="copyOf([ZI)[Z" since="9" />
+		<method name="copyOfRange([BII)[B" since="9" />
+		<method name="copyOfRange([CII)[C" since="9" />
+		<method name="copyOfRange([DII)[D" since="9" />
+		<method name="copyOfRange([FII)[F" since="9" />
+		<method name="copyOfRange([III)[I" since="9" />
+		<method name="copyOfRange([JII)[J" since="9" />
+		<method name="copyOfRange([Ljava/lang/Object;II)[Ljava/lang/Object;" since="9" />
+		<method name="copyOfRange([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;" since="9" />
+		<method name="copyOfRange([SII)[S" since="9" />
+		<method name="copyOfRange([ZII)[Z" since="9" />
+		<method name="deepEquals([Ljava/lang/Object;[Ljava/lang/Object;)Z" />
+		<method name="deepHashCode([Ljava/lang/Object;)I" />
+		<method name="deepToString([Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="equals([B[B)Z" />
+		<method name="equals([C[C)Z" />
+		<method name="equals([D[D)Z" />
+		<method name="equals([F[F)Z" />
+		<method name="equals([I[I)Z" />
+		<method name="equals([J[J)Z" />
+		<method name="equals([Ljava/lang/Object;[Ljava/lang/Object;)Z" />
+		<method name="equals([S[S)Z" />
+		<method name="equals([Z[Z)Z" />
+		<method name="fill([BB)V" />
+		<method name="fill([BIIB)V" />
+		<method name="fill([CC)V" />
+		<method name="fill([CIIC)V" />
+		<method name="fill([DD)V" />
+		<method name="fill([DIID)V" />
+		<method name="fill([FF)V" />
+		<method name="fill([FIIF)V" />
+		<method name="fill([II)V" />
+		<method name="fill([IIII)V" />
+		<method name="fill([JIIJ)V" />
+		<method name="fill([JJ)V" />
+		<method name="fill([Ljava/lang/Object;IILjava/lang/Object;)V" />
+		<method name="fill([Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="fill([SIIS)V" />
+		<method name="fill([SS)V" />
+		<method name="fill([ZIIZ)V" />
+		<method name="fill([ZZ)V" />
+		<method name="hashCode([B)I" />
+		<method name="hashCode([C)I" />
+		<method name="hashCode([D)I" />
+		<method name="hashCode([F)I" />
+		<method name="hashCode([I)I" />
+		<method name="hashCode([J)I" />
+		<method name="hashCode([Ljava/lang/Object;)I" />
+		<method name="hashCode([S)I" />
+		<method name="hashCode([Z)I" />
+		<method name="parallelPrefix([DIILjava/util/function/DoubleBinaryOperator;)V" since="24" />
+		<method name="parallelPrefix([DLjava/util/function/DoubleBinaryOperator;)V" since="24" />
+		<method name="parallelPrefix([IIILjava/util/function/IntBinaryOperator;)V" since="24" />
+		<method name="parallelPrefix([ILjava/util/function/IntBinaryOperator;)V" since="24" />
+		<method name="parallelPrefix([JIILjava/util/function/LongBinaryOperator;)V" since="24" />
+		<method name="parallelPrefix([JLjava/util/function/LongBinaryOperator;)V" since="24" />
+		<method name="parallelPrefix([Ljava/lang/Object;IILjava/util/function/BinaryOperator;)V" since="24" />
+		<method name="parallelPrefix([Ljava/lang/Object;Ljava/util/function/BinaryOperator;)V" since="24" />
+		<method name="parallelSetAll([DLjava/util/function/IntToDoubleFunction;)V" since="24" />
+		<method name="parallelSetAll([ILjava/util/function/IntUnaryOperator;)V" since="24" />
+		<method name="parallelSetAll([JLjava/util/function/IntToLongFunction;)V" since="24" />
+		<method name="parallelSetAll([Ljava/lang/Object;Ljava/util/function/IntFunction;)V" since="24" />
+		<method name="parallelSort([B)V" since="24" />
+		<method name="parallelSort([BII)V" since="24" />
+		<method name="parallelSort([C)V" since="24" />
+		<method name="parallelSort([CII)V" since="24" />
+		<method name="parallelSort([D)V" since="24" />
+		<method name="parallelSort([DII)V" since="24" />
+		<method name="parallelSort([F)V" since="24" />
+		<method name="parallelSort([FII)V" since="24" />
+		<method name="parallelSort([I)V" since="24" />
+		<method name="parallelSort([III)V" since="24" />
+		<method name="parallelSort([J)V" since="24" />
+		<method name="parallelSort([JII)V" since="24" />
+		<method name="parallelSort([Ljava/lang/Comparable;)V" since="24" />
+		<method name="parallelSort([Ljava/lang/Comparable;II)V" since="24" />
+		<method name="parallelSort([Ljava/lang/Object;IILjava/util/Comparator;)V" since="24" />
+		<method name="parallelSort([Ljava/lang/Object;Ljava/util/Comparator;)V" since="24" />
+		<method name="parallelSort([S)V" since="24" />
+		<method name="parallelSort([SII)V" since="24" />
+		<method name="setAll([DLjava/util/function/IntToDoubleFunction;)V" since="24" />
+		<method name="setAll([ILjava/util/function/IntUnaryOperator;)V" since="24" />
+		<method name="setAll([JLjava/util/function/IntToLongFunction;)V" since="24" />
+		<method name="setAll([Ljava/lang/Object;Ljava/util/function/IntFunction;)V" since="24" />
+		<method name="sort([B)V" />
+		<method name="sort([BII)V" />
+		<method name="sort([C)V" />
+		<method name="sort([CII)V" />
+		<method name="sort([D)V" />
+		<method name="sort([DII)V" />
+		<method name="sort([F)V" />
+		<method name="sort([FII)V" />
+		<method name="sort([I)V" />
+		<method name="sort([III)V" />
+		<method name="sort([J)V" />
+		<method name="sort([JII)V" />
+		<method name="sort([Ljava/lang/Object;)V" />
+		<method name="sort([Ljava/lang/Object;II)V" />
+		<method name="sort([Ljava/lang/Object;IILjava/util/Comparator;)V" />
+		<method name="sort([Ljava/lang/Object;Ljava/util/Comparator;)V" />
+		<method name="sort([S)V" />
+		<method name="sort([SII)V" />
+		<method name="spliterator([D)Ljava/util/Spliterator$OfDouble;" since="24" />
+		<method name="spliterator([DII)Ljava/util/Spliterator$OfDouble;" since="24" />
+		<method name="spliterator([I)Ljava/util/Spliterator$OfInt;" since="24" />
+		<method name="spliterator([III)Ljava/util/Spliterator$OfInt;" since="24" />
+		<method name="spliterator([J)Ljava/util/Spliterator$OfLong;" since="24" />
+		<method name="spliterator([JII)Ljava/util/Spliterator$OfLong;" since="24" />
+		<method name="spliterator([Ljava/lang/Object;)Ljava/util/Spliterator;" since="24" />
+		<method name="spliterator([Ljava/lang/Object;II)Ljava/util/Spliterator;" since="24" />
+		<method name="stream([D)Ljava/util/stream/DoubleStream;" since="24" />
+		<method name="stream([DII)Ljava/util/stream/DoubleStream;" since="24" />
+		<method name="stream([I)Ljava/util/stream/IntStream;" since="24" />
+		<method name="stream([III)Ljava/util/stream/IntStream;" since="24" />
+		<method name="stream([J)Ljava/util/stream/LongStream;" since="24" />
+		<method name="stream([JII)Ljava/util/stream/LongStream;" since="24" />
+		<method name="stream([Ljava/lang/Object;)Ljava/util/stream/Stream;" since="24" />
+		<method name="stream([Ljava/lang/Object;II)Ljava/util/stream/Stream;" since="24" />
+		<method name="toString([B)Ljava/lang/String;" />
+		<method name="toString([C)Ljava/lang/String;" />
+		<method name="toString([D)Ljava/lang/String;" />
+		<method name="toString([F)Ljava/lang/String;" />
+		<method name="toString([I)Ljava/lang/String;" />
+		<method name="toString([J)Ljava/lang/String;" />
+		<method name="toString([Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="toString([S)Ljava/lang/String;" />
+		<method name="toString([Z)Ljava/lang/String;" />
+	</class>
+	<class name="java/util/Base64" since="26">
+		<extends name="java/lang/Object" />
+		<method name="getDecoder()Ljava/util/Base64$Decoder;" />
+		<method name="getEncoder()Ljava/util/Base64$Encoder;" />
+		<method name="getMimeDecoder()Ljava/util/Base64$Decoder;" />
+		<method name="getMimeEncoder()Ljava/util/Base64$Encoder;" />
+		<method name="getMimeEncoder(I[B)Ljava/util/Base64$Encoder;" />
+		<method name="getUrlDecoder()Ljava/util/Base64$Decoder;" />
+		<method name="getUrlEncoder()Ljava/util/Base64$Encoder;" />
+	</class>
+	<class name="java/util/Base64$Decoder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="decode(Ljava/lang/String;)[B" />
+		<method name="decode(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;" />
+		<method name="decode([B)[B" />
+		<method name="decode([B[B)I" />
+		<method name="wrap(Ljava/io/InputStream;)Ljava/io/InputStream;" />
+	</class>
+	<class name="java/util/Base64$Encoder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="encode(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;" />
+		<method name="encode([B)[B" />
+		<method name="encode([B[B)I" />
+		<method name="encodeToString([B)Ljava/lang/String;" />
+		<method name="withoutPadding()Ljava/util/Base64$Encoder;" />
+		<method name="wrap(Ljava/io/OutputStream;)Ljava/io/OutputStream;" />
+	</class>
+	<class name="java/util/BitSet" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="and(Ljava/util/BitSet;)V" />
+		<method name="andNot(Ljava/util/BitSet;)V" />
+		<method name="cardinality()I" />
+		<method name="clear()V" />
+		<method name="clear(I)V" />
+		<method name="clear(II)V" />
+		<method name="flip(I)V" />
+		<method name="flip(II)V" />
+		<method name="get(I)Z" />
+		<method name="get(II)Ljava/util/BitSet;" />
+		<method name="intersects(Ljava/util/BitSet;)Z" />
+		<method name="isEmpty()Z" />
+		<method name="length()I" />
+		<method name="nextClearBit(I)I" />
+		<method name="nextSetBit(I)I" />
+		<method name="or(Ljava/util/BitSet;)V" />
+		<method name="previousClearBit(I)I" since="19" />
+		<method name="previousSetBit(I)I" since="19" />
+		<method name="set(I)V" />
+		<method name="set(II)V" />
+		<method name="set(IIZ)V" />
+		<method name="set(IZ)V" />
+		<method name="size()I" />
+		<method name="stream()Ljava/util/stream/IntStream;" since="24" />
+		<method name="toByteArray()[B" since="19" />
+		<method name="toLongArray()[J" since="19" />
+		<method name="valueOf(Ljava/nio/ByteBuffer;)Ljava/util/BitSet;" since="19" />
+		<method name="valueOf(Ljava/nio/LongBuffer;)Ljava/util/BitSet;" since="19" />
+		<method name="valueOf([B)Ljava/util/BitSet;" since="19" />
+		<method name="valueOf([J)Ljava/util/BitSet;" since="19" />
+		<method name="xor(Ljava/util/BitSet;)V" />
+	</class>
+	<class name="java/util/Calendar" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/TimeZone;Ljava/util/Locale;)V" />
+		<method name="add(II)V" />
+		<method name="after(Ljava/lang/Object;)Z" />
+		<method name="before(Ljava/lang/Object;)Z" />
+		<method name="clear()V" />
+		<method name="clear(I)V" />
+		<method name="compareTo(Ljava/util/Calendar;)I" />
+		<method name="complete()V" />
+		<method name="computeFields()V" />
+		<method name="computeTime()V" />
+		<method name="get(I)I" />
+		<method name="getActualMaximum(I)I" />
+		<method name="getActualMinimum(I)I" />
+		<method name="getAvailableCalendarTypes()Ljava/util/Set;" since="26" />
+		<method name="getAvailableLocales()[Ljava/util/Locale;" />
+		<method name="getCalendarType()Ljava/lang/String;" since="26" />
+		<method name="getDisplayName(IILjava/util/Locale;)Ljava/lang/String;" since="9" />
+		<method name="getDisplayNames(IILjava/util/Locale;)Ljava/util/Map;" since="9" />
+		<method name="getFirstDayOfWeek()I" />
+		<method name="getGreatestMinimum(I)I" />
+		<method name="getInstance()Ljava/util/Calendar;" />
+		<method name="getInstance(Ljava/util/Locale;)Ljava/util/Calendar;" />
+		<method name="getInstance(Ljava/util/TimeZone;)Ljava/util/Calendar;" />
+		<method name="getInstance(Ljava/util/TimeZone;Ljava/util/Locale;)Ljava/util/Calendar;" />
+		<method name="getLeastMaximum(I)I" />
+		<method name="getMaximum(I)I" />
+		<method name="getMinimalDaysInFirstWeek()I" />
+		<method name="getMinimum(I)I" />
+		<method name="getTime()Ljava/util/Date;" />
+		<method name="getTimeInMillis()J" />
+		<method name="getTimeZone()Ljava/util/TimeZone;" />
+		<method name="getWeekYear()I" since="24" />
+		<method name="getWeeksInWeekYear()I" since="24" />
+		<method name="internalGet(I)I" />
+		<method name="isLenient()Z" />
+		<method name="isSet(I)Z" />
+		<method name="isWeekDateSupported()Z" since="24" />
+		<method name="roll(II)V" />
+		<method name="roll(IZ)V" />
+		<method name="set(II)V" />
+		<method name="set(III)V" />
+		<method name="set(IIIII)V" />
+		<method name="set(IIIIII)V" />
+		<method name="setFirstDayOfWeek(I)V" />
+		<method name="setLenient(Z)V" />
+		<method name="setMinimalDaysInFirstWeek(I)V" />
+		<method name="setTime(Ljava/util/Date;)V" />
+		<method name="setTimeInMillis(J)V" />
+		<method name="setTimeZone(Ljava/util/TimeZone;)V" />
+		<method name="setWeekDate(III)V" since="24" />
+		<method name="toInstant()Ljava/time/Instant;" since="26" />
+		<field name="ALL_STYLES" since="9" />
+		<field name="AM" />
+		<field name="AM_PM" />
+		<field name="APRIL" />
+		<field name="AUGUST" />
+		<field name="DATE" />
+		<field name="DAY_OF_MONTH" />
+		<field name="DAY_OF_WEEK" />
+		<field name="DAY_OF_WEEK_IN_MONTH" />
+		<field name="DAY_OF_YEAR" />
+		<field name="DECEMBER" />
+		<field name="DST_OFFSET" />
+		<field name="ERA" />
+		<field name="FEBRUARY" />
+		<field name="FIELD_COUNT" />
+		<field name="FRIDAY" />
+		<field name="HOUR" />
+		<field name="HOUR_OF_DAY" />
+		<field name="JANUARY" />
+		<field name="JULY" />
+		<field name="JUNE" />
+		<field name="LONG" since="9" />
+		<field name="LONG_FORMAT" since="26" />
+		<field name="LONG_STANDALONE" since="26" />
+		<field name="MARCH" />
+		<field name="MAY" />
+		<field name="MILLISECOND" />
+		<field name="MINUTE" />
+		<field name="MONDAY" />
+		<field name="MONTH" />
+		<field name="NARROW_FORMAT" since="26" />
+		<field name="NARROW_STANDALONE" since="26" />
+		<field name="NOVEMBER" />
+		<field name="OCTOBER" />
+		<field name="PM" />
+		<field name="SATURDAY" />
+		<field name="SECOND" />
+		<field name="SEPTEMBER" />
+		<field name="SHORT" since="9" />
+		<field name="SHORT_FORMAT" since="26" />
+		<field name="SHORT_STANDALONE" since="26" />
+		<field name="SUNDAY" />
+		<field name="THURSDAY" />
+		<field name="TUESDAY" />
+		<field name="UNDECIMBER" />
+		<field name="WEDNESDAY" />
+		<field name="WEEK_OF_MONTH" />
+		<field name="WEEK_OF_YEAR" />
+		<field name="YEAR" />
+		<field name="ZONE_OFFSET" />
+		<field name="areFieldsSet" />
+		<field name="fields" />
+		<field name="isSet" />
+		<field name="isTimeSet" />
+		<field name="time" />
+	</class>
+	<class name="java/util/Calendar$Builder" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="build()Ljava/util/Calendar;" />
+		<method name="set(II)Ljava/util/Calendar$Builder;" />
+		<method name="setCalendarType(Ljava/lang/String;)Ljava/util/Calendar$Builder;" />
+		<method name="setDate(III)Ljava/util/Calendar$Builder;" />
+		<method name="setFields([I)Ljava/util/Calendar$Builder;" />
+		<method name="setInstant(J)Ljava/util/Calendar$Builder;" />
+		<method name="setInstant(Ljava/util/Date;)Ljava/util/Calendar$Builder;" />
+		<method name="setLenient(Z)Ljava/util/Calendar$Builder;" />
+		<method name="setLocale(Ljava/util/Locale;)Ljava/util/Calendar$Builder;" />
+		<method name="setTimeOfDay(III)Ljava/util/Calendar$Builder;" />
+		<method name="setTimeOfDay(IIII)Ljava/util/Calendar$Builder;" />
+		<method name="setTimeZone(Ljava/util/TimeZone;)Ljava/util/Calendar$Builder;" />
+		<method name="setWeekDate(III)Ljava/util/Calendar$Builder;" />
+		<method name="setWeekDefinition(II)Ljava/util/Calendar$Builder;" />
+	</class>
+	<class name="java/util/Collection" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Iterable" />
+		<method name="add(Ljava/lang/Object;)Z" />
+		<method name="addAll(Ljava/util/Collection;)Z" />
+		<method name="clear()V" />
+		<method name="contains(Ljava/lang/Object;)Z" />
+		<method name="containsAll(Ljava/util/Collection;)Z" />
+		<method name="isEmpty()Z" />
+		<method name="parallelStream()Ljava/util/stream/Stream;" since="24" />
+		<method name="remove(Ljava/lang/Object;)Z" />
+		<method name="removeAll(Ljava/util/Collection;)Z" />
+		<method name="removeIf(Ljava/util/function/Predicate;)Z" since="24" />
+		<method name="retainAll(Ljava/util/Collection;)Z" />
+		<method name="size()I" />
+		<method name="stream()Ljava/util/stream/Stream;" since="24" />
+		<method name="toArray()[Ljava/lang/Object;" />
+		<method name="toArray([Ljava/lang/Object;)[Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/Collections" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addAll(Ljava/util/Collection;[Ljava/lang/Object;)Z" />
+		<method name="asLifoQueue(Ljava/util/Deque;)Ljava/util/Queue;" since="9" />
+		<method name="binarySearch(Ljava/util/List;Ljava/lang/Object;)I" />
+		<method name="binarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I" />
+		<method name="checkedCollection(Ljava/util/Collection;Ljava/lang/Class;)Ljava/util/Collection;" />
+		<method name="checkedList(Ljava/util/List;Ljava/lang/Class;)Ljava/util/List;" />
+		<method name="checkedMap(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Map;" />
+		<method name="checkedNavigableMap(Ljava/util/NavigableMap;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/NavigableMap;" since="26" />
+		<method name="checkedNavigableSet(Ljava/util/NavigableSet;Ljava/lang/Class;)Ljava/util/NavigableSet;" since="26" />
+		<method name="checkedQueue(Ljava/util/Queue;Ljava/lang/Class;)Ljava/util/Queue;" since="26" />
+		<method name="checkedSet(Ljava/util/Set;Ljava/lang/Class;)Ljava/util/Set;" />
+		<method name="checkedSortedMap(Ljava/util/SortedMap;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/SortedMap;" />
+		<method name="checkedSortedSet(Ljava/util/SortedSet;Ljava/lang/Class;)Ljava/util/SortedSet;" />
+		<method name="copy(Ljava/util/List;Ljava/util/List;)V" />
+		<method name="disjoint(Ljava/util/Collection;Ljava/util/Collection;)Z" />
+		<method name="emptyEnumeration()Ljava/util/Enumeration;" since="19" />
+		<method name="emptyIterator()Ljava/util/Iterator;" since="19" />
+		<method name="emptyList()Ljava/util/List;" />
+		<method name="emptyListIterator()Ljava/util/ListIterator;" since="19" />
+		<method name="emptyMap()Ljava/util/Map;" />
+		<method name="emptyNavigableMap()Ljava/util/NavigableMap;" since="26" />
+		<method name="emptyNavigableSet()Ljava/util/NavigableSet;" since="26" />
+		<method name="emptySet()Ljava/util/Set;" />
+		<method name="emptySortedMap()Ljava/util/SortedMap;" since="26" />
+		<method name="emptySortedSet()Ljava/util/SortedSet;" since="26" />
+		<method name="enumeration(Ljava/util/Collection;)Ljava/util/Enumeration;" />
+		<method name="fill(Ljava/util/List;Ljava/lang/Object;)V" />
+		<method name="frequency(Ljava/util/Collection;Ljava/lang/Object;)I" />
+		<method name="indexOfSubList(Ljava/util/List;Ljava/util/List;)I" />
+		<method name="lastIndexOfSubList(Ljava/util/List;Ljava/util/List;)I" />
+		<method name="list(Ljava/util/Enumeration;)Ljava/util/ArrayList;" />
+		<method name="max(Ljava/util/Collection;)Ljava/lang/Object;" />
+		<method name="max(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;" />
+		<method name="min(Ljava/util/Collection;)Ljava/lang/Object;" />
+		<method name="min(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;" />
+		<method name="nCopies(ILjava/lang/Object;)Ljava/util/List;" />
+		<method name="newSetFromMap(Ljava/util/Map;)Ljava/util/Set;" since="9" />
+		<method name="replaceAll(Ljava/util/List;Ljava/lang/Object;Ljava/lang/Object;)Z" />
+		<method name="reverse(Ljava/util/List;)V" />
+		<method name="reverseOrder()Ljava/util/Comparator;" />
+		<method name="reverseOrder(Ljava/util/Comparator;)Ljava/util/Comparator;" />
+		<method name="rotate(Ljava/util/List;I)V" />
+		<method name="shuffle(Ljava/util/List;)V" />
+		<method name="shuffle(Ljava/util/List;Ljava/util/Random;)V" />
+		<method name="singleton(Ljava/lang/Object;)Ljava/util/Set;" />
+		<method name="singletonList(Ljava/lang/Object;)Ljava/util/List;" />
+		<method name="singletonMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" />
+		<method name="sort(Ljava/util/List;)V" />
+		<method name="sort(Ljava/util/List;Ljava/util/Comparator;)V" />
+		<method name="swap(Ljava/util/List;II)V" />
+		<method name="synchronizedCollection(Ljava/util/Collection;)Ljava/util/Collection;" />
+		<method name="synchronizedList(Ljava/util/List;)Ljava/util/List;" />
+		<method name="synchronizedMap(Ljava/util/Map;)Ljava/util/Map;" />
+		<method name="synchronizedNavigableMap(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;" since="26" />
+		<method name="synchronizedNavigableSet(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;" since="26" />
+		<method name="synchronizedSet(Ljava/util/Set;)Ljava/util/Set;" />
+		<method name="synchronizedSortedMap(Ljava/util/SortedMap;)Ljava/util/SortedMap;" />
+		<method name="synchronizedSortedSet(Ljava/util/SortedSet;)Ljava/util/SortedSet;" />
+		<method name="unmodifiableCollection(Ljava/util/Collection;)Ljava/util/Collection;" />
+		<method name="unmodifiableList(Ljava/util/List;)Ljava/util/List;" />
+		<method name="unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;" />
+		<method name="unmodifiableNavigableMap(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;" since="26" />
+		<method name="unmodifiableNavigableSet(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;" since="26" />
+		<method name="unmodifiableSet(Ljava/util/Set;)Ljava/util/Set;" />
+		<method name="unmodifiableSortedMap(Ljava/util/SortedMap;)Ljava/util/SortedMap;" />
+		<method name="unmodifiableSortedSet(Ljava/util/SortedSet;)Ljava/util/SortedSet;" />
+		<field name="EMPTY_LIST" />
+		<field name="EMPTY_MAP" />
+		<field name="EMPTY_SET" />
+	</class>
+	<class name="java/util/Comparator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="compare(Ljava/lang/Object;Ljava/lang/Object;)I" />
+		<method name="comparing(Ljava/util/function/Function;)Ljava/util/Comparator;" since="24" />
+		<method name="comparing(Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;" since="24" />
+		<method name="comparingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;" since="24" />
+		<method name="comparingInt(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;" since="24" />
+		<method name="comparingLong(Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;" since="24" />
+		<method name="naturalOrder()Ljava/util/Comparator;" since="24" />
+		<method name="nullsFirst(Ljava/util/Comparator;)Ljava/util/Comparator;" since="24" />
+		<method name="nullsLast(Ljava/util/Comparator;)Ljava/util/Comparator;" since="24" />
+		<method name="reverseOrder()Ljava/util/Comparator;" since="24" />
+		<method name="reversed()Ljava/util/Comparator;" since="24" />
+		<method name="thenComparing(Ljava/util/Comparator;)Ljava/util/Comparator;" since="24" />
+		<method name="thenComparing(Ljava/util/function/Function;)Ljava/util/Comparator;" since="24" />
+		<method name="thenComparing(Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;" since="24" />
+		<method name="thenComparingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;" since="24" />
+		<method name="thenComparingInt(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;" since="24" />
+		<method name="thenComparingLong(Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;" since="24" />
+	</class>
+	<class name="java/util/ConcurrentModificationException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="19" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" since="19" />
+	</class>
+	<class name="java/util/Currency" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="getAvailableCurrencies()Ljava/util/Set;" since="19" />
+		<method name="getCurrencyCode()Ljava/lang/String;" />
+		<method name="getDefaultFractionDigits()I" />
+		<method name="getDisplayName()Ljava/lang/String;" since="19" />
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;" since="19" />
+		<method name="getInstance(Ljava/lang/String;)Ljava/util/Currency;" />
+		<method name="getInstance(Ljava/util/Locale;)Ljava/util/Currency;" />
+		<method name="getNumericCode()I" since="24" />
+		<method name="getSymbol()Ljava/lang/String;" />
+		<method name="getSymbol(Ljava/util/Locale;)Ljava/lang/String;" />
+	</class>
+	<class name="java/util/Date" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(III)V" deprecated="15" />
+		<method name="&lt;init&gt;(IIIII)V" deprecated="15" />
+		<method name="&lt;init&gt;(IIIIII)V" deprecated="15" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="15" />
+		<method name="UTC(IIIIII)J" deprecated="15" />
+		<method name="after(Ljava/util/Date;)Z" />
+		<method name="before(Ljava/util/Date;)Z" />
+		<method name="compareTo(Ljava/util/Date;)I" />
+		<method name="from(Ljava/time/Instant;)Ljava/util/Date;" since="26" />
+		<method name="getDate()I" deprecated="15" />
+		<method name="getDay()I" deprecated="15" />
+		<method name="getHours()I" deprecated="15" />
+		<method name="getMinutes()I" deprecated="15" />
+		<method name="getMonth()I" deprecated="15" />
+		<method name="getSeconds()I" deprecated="15" />
+		<method name="getTime()J" />
+		<method name="getTimezoneOffset()I" deprecated="15" />
+		<method name="getYear()I" deprecated="15" />
+		<method name="parse(Ljava/lang/String;)J" deprecated="15" />
+		<method name="setDate(I)V" deprecated="15" />
+		<method name="setHours(I)V" deprecated="15" />
+		<method name="setMinutes(I)V" deprecated="15" />
+		<method name="setMonth(I)V" deprecated="15" />
+		<method name="setSeconds(I)V" deprecated="15" />
+		<method name="setTime(J)V" />
+		<method name="setYear(I)V" deprecated="15" />
+		<method name="toGMTString()Ljava/lang/String;" deprecated="15" />
+		<method name="toInstant()Ljava/time/Instant;" since="26" />
+		<method name="toLocaleString()Ljava/lang/String;" deprecated="15" />
+	</class>
+	<class name="java/util/Deque" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Queue" />
+		<method name="addFirst(Ljava/lang/Object;)V" />
+		<method name="addLast(Ljava/lang/Object;)V" />
+		<method name="descendingIterator()Ljava/util/Iterator;" />
+		<method name="getFirst()Ljava/lang/Object;" />
+		<method name="getLast()Ljava/lang/Object;" />
+		<method name="offerFirst(Ljava/lang/Object;)Z" />
+		<method name="offerLast(Ljava/lang/Object;)Z" />
+		<method name="peekFirst()Ljava/lang/Object;" />
+		<method name="peekLast()Ljava/lang/Object;" />
+		<method name="pollFirst()Ljava/lang/Object;" />
+		<method name="pollLast()Ljava/lang/Object;" />
+		<method name="pop()Ljava/lang/Object;" />
+		<method name="push(Ljava/lang/Object;)V" />
+		<method name="removeFirst()Ljava/lang/Object;" />
+		<method name="removeFirstOccurrence(Ljava/lang/Object;)Z" />
+		<method name="removeLast()Ljava/lang/Object;" />
+		<method name="removeLastOccurrence(Ljava/lang/Object;)Z" />
+	</class>
+	<class name="java/util/Dictionary" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="elements()Ljava/util/Enumeration;" />
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="isEmpty()Z" />
+		<method name="keys()Ljava/util/Enumeration;" />
+		<method name="put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="remove(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="size()I" />
+	</class>
+	<class name="java/util/DoubleSummaryStatistics" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/function/DoubleConsumer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="combine(Ljava/util/DoubleSummaryStatistics;)V" />
+		<method name="getAverage()D" />
+		<method name="getCount()J" />
+		<method name="getMax()D" />
+		<method name="getMin()D" />
+		<method name="getSum()D" />
+	</class>
+	<class name="java/util/DuplicateFormatFlagsException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getFlags()Ljava/lang/String;" />
+	</class>
+	<class name="java/util/EmptyStackException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/EnumMap" since="1">
+		<extends name="java/util/AbstractMap" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;)V" />
+		<method name="&lt;init&gt;(Ljava/util/EnumMap;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+		<method name="clone()Ljava/util/EnumMap;" />
+		<method name="put(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/EnumSet" since="1">
+		<extends name="java/util/AbstractSet" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="allOf(Ljava/lang/Class;)Ljava/util/EnumSet;" />
+		<method name="clone()Ljava/util/EnumSet;" />
+		<method name="complementOf(Ljava/util/EnumSet;)Ljava/util/EnumSet;" />
+		<method name="copyOf(Ljava/util/Collection;)Ljava/util/EnumSet;" />
+		<method name="copyOf(Ljava/util/EnumSet;)Ljava/util/EnumSet;" />
+		<method name="noneOf(Ljava/lang/Class;)Ljava/util/EnumSet;" />
+		<method name="of(Ljava/lang/Enum;)Ljava/util/EnumSet;" />
+		<method name="of(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;" />
+		<method name="of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;" />
+		<method name="of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;" />
+		<method name="of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;" />
+		<method name="of(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;" />
+		<method name="range(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;" />
+	</class>
+	<class name="java/util/Enumeration" since="1">
+		<extends name="java/lang/Object" />
+		<method name="hasMoreElements()Z" />
+		<method name="nextElement()Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/EventListener" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/util/EventListenerProxy" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/EventListener" />
+		<method name="&lt;init&gt;(Ljava/util/EventListener;)V" />
+		<method name="getListener()Ljava/util/EventListener;" />
+	</class>
+	<class name="java/util/EventObject" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<method name="getSource()Ljava/lang/Object;" />
+		<field name="source" />
+	</class>
+	<class name="java/util/FormatFlagsConversionMismatchException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;C)V" />
+		<method name="getConversion()C" />
+		<method name="getFlags()Ljava/lang/String;" />
+	</class>
+	<class name="java/util/Formattable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="formatTo(Ljava/util/Formatter;III)V" />
+	</class>
+	<class name="java/util/FormattableFlags" since="1">
+		<extends name="java/lang/Object" />
+		<field name="ALTERNATE" />
+		<field name="LEFT_JUSTIFY" />
+		<field name="UPPERCASE" />
+	</class>
+	<class name="java/util/Formatter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" />
+		<implements name="java/io/Flushable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;Ljava/lang/String;Ljava/util/Locale;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/lang/String;Ljava/util/Locale;)V" />
+		<method name="&lt;init&gt;(Ljava/io/PrintStream;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Appendable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Appendable;Ljava/util/Locale;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/util/Locale;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" />
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;" />
+		<method name="format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;" />
+		<method name="ioException()Ljava/io/IOException;" />
+		<method name="locale()Ljava/util/Locale;" />
+		<method name="out()Ljava/lang/Appendable;" />
+	</class>
+	<class name="java/util/Formatter$BigDecimalLayoutForm" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/util/Formatter$BigDecimalLayoutForm;" />
+		<method name="values()[Ljava/util/Formatter$BigDecimalLayoutForm;" />
+		<field name="DECIMAL_FLOAT" />
+		<field name="SCIENTIFIC" />
+	</class>
+	<class name="java/util/FormatterClosedException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/GregorianCalendar" since="1">
+		<extends name="java/util/Calendar" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="&lt;init&gt;(IIIII)V" />
+		<method name="&lt;init&gt;(IIIIII)V" />
+		<method name="&lt;init&gt;(Ljava/util/Locale;)V" />
+		<method name="&lt;init&gt;(Ljava/util/TimeZone;)V" />
+		<method name="&lt;init&gt;(Ljava/util/TimeZone;Ljava/util/Locale;)V" />
+		<method name="from(Ljava/time/ZonedDateTime;)Ljava/util/GregorianCalendar;" since="26" />
+		<method name="getGregorianChange()Ljava/util/Date;" />
+		<method name="isLeapYear(I)Z" />
+		<method name="setGregorianChange(Ljava/util/Date;)V" />
+		<method name="toZonedDateTime()Ljava/time/ZonedDateTime;" since="26" />
+		<field name="AD" />
+		<field name="BC" />
+	</class>
+	<class name="java/util/HashMap" since="1">
+		<extends name="java/util/AbstractMap" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IF)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+	</class>
+	<class name="java/util/HashSet" since="1">
+		<extends name="java/util/AbstractSet" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IF)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+	</class>
+	<class name="java/util/Hashtable" since="1">
+		<extends name="java/util/Dictionary" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/Map" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IF)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+		<method name="contains(Ljava/lang/Object;)Z" />
+		<method name="rehash()V" />
+	</class>
+	<class name="java/util/IdentityHashMap" since="1">
+		<extends name="java/util/AbstractMap" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+	</class>
+	<class name="java/util/IllegalFormatCodePointException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getCodePoint()I" />
+	</class>
+	<class name="java/util/IllegalFormatConversionException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(CLjava/lang/Class;)V" />
+		<method name="getArgumentClass()Ljava/lang/Class;" />
+		<method name="getConversion()C" />
+	</class>
+	<class name="java/util/IllegalFormatException" since="1">
+		<extends name="java/lang/IllegalArgumentException" />
+	</class>
+	<class name="java/util/IllegalFormatFlagsException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getFlags()Ljava/lang/String;" />
+	</class>
+	<class name="java/util/IllegalFormatPrecisionException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getPrecision()I" />
+	</class>
+	<class name="java/util/IllegalFormatWidthException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getWidth()I" />
+	</class>
+	<class name="java/util/IllformedLocaleException" since="21">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="getErrorIndex()I" />
+	</class>
+	<class name="java/util/InputMismatchException" since="1">
+		<extends name="java/util/NoSuchElementException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/IntSummaryStatistics" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/function/IntConsumer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="combine(Ljava/util/IntSummaryStatistics;)V" />
+		<method name="getAverage()D" />
+		<method name="getCount()J" />
+		<method name="getMax()I" />
+		<method name="getMin()I" />
+		<method name="getSum()J" />
+	</class>
+	<class name="java/util/InvalidPropertiesFormatException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/Iterator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="forEachRemaining(Ljava/util/function/Consumer;)V" since="24" />
+		<method name="hasNext()Z" />
+		<method name="next()Ljava/lang/Object;" />
+		<method name="remove()V" />
+	</class>
+	<class name="java/util/LinkedHashMap" since="1">
+		<extends name="java/util/HashMap" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IF)V" />
+		<method name="&lt;init&gt;(IFZ)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+		<method name="removeEldestEntry(Ljava/util/Map$Entry;)Z" />
+	</class>
+	<class name="java/util/LinkedHashSet" since="1">
+		<extends name="java/util/HashSet" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IF)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+	</class>
+	<class name="java/util/LinkedList" since="1">
+		<extends name="java/util/AbstractSequentialList" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/Deque" since="9" />
+		<implements name="java/util/Queue" removed="24" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="addFirst(Ljava/lang/Object;)V" />
+		<method name="addLast(Ljava/lang/Object;)V" />
+		<method name="getFirst()Ljava/lang/Object;" />
+		<method name="getLast()Ljava/lang/Object;" />
+		<method name="removeFirst()Ljava/lang/Object;" />
+		<method name="removeLast()Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/List" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Collection" />
+		<method name="add(ILjava/lang/Object;)V" />
+		<method name="addAll(ILjava/util/Collection;)Z" />
+		<method name="copyOf(Ljava/util/Collection;)Ljava/util/List;" since="31" />
+		<method name="get(I)Ljava/lang/Object;" />
+		<method name="indexOf(Ljava/lang/Object;)I" />
+		<method name="lastIndexOf(Ljava/lang/Object;)I" />
+		<method name="listIterator()Ljava/util/ListIterator;" />
+		<method name="listIterator(I)Ljava/util/ListIterator;" />
+		<method name="of()Ljava/util/List;" since="30" />
+		<method name="of(Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="of([Ljava/lang/Object;)Ljava/util/List;" since="30" />
+		<method name="remove(I)Ljava/lang/Object;" />
+		<method name="replaceAll(Ljava/util/function/UnaryOperator;)V" since="24" />
+		<method name="set(ILjava/lang/Object;)Ljava/lang/Object;" />
+		<method name="sort(Ljava/util/Comparator;)V" since="24" />
+		<method name="subList(II)Ljava/util/List;" />
+	</class>
+	<class name="java/util/ListIterator" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Iterator" />
+		<method name="add(Ljava/lang/Object;)V" />
+		<method name="hasPrevious()Z" />
+		<method name="nextIndex()I" />
+		<method name="previous()Ljava/lang/Object;" />
+		<method name="previousIndex()I" />
+		<method name="set(Ljava/lang/Object;)V" />
+	</class>
+	<class name="java/util/ListResourceBundle" since="1">
+		<extends name="java/util/ResourceBundle" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getContents()[[Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/Locale" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="filter(Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;" since="26" />
+		<method name="filter(Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;" since="26" />
+		<method name="filterTags(Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;" since="26" />
+		<method name="filterTags(Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;" since="26" />
+		<method name="forLanguageTag(Ljava/lang/String;)Ljava/util/Locale;" since="21" />
+		<method name="getAvailableLocales()[Ljava/util/Locale;" />
+		<method name="getCountry()Ljava/lang/String;" />
+		<method name="getDefault()Ljava/util/Locale;" />
+		<method name="getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale;" since="24" />
+		<method name="getDisplayCountry()Ljava/lang/String;" />
+		<method name="getDisplayCountry(Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getDisplayLanguage()Ljava/lang/String;" />
+		<method name="getDisplayLanguage(Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getDisplayName()Ljava/lang/String;" />
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getDisplayScript()Ljava/lang/String;" since="21" />
+		<method name="getDisplayScript(Ljava/util/Locale;)Ljava/lang/String;" since="21" />
+		<method name="getDisplayVariant()Ljava/lang/String;" />
+		<method name="getDisplayVariant(Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getExtension(C)Ljava/lang/String;" since="21" />
+		<method name="getExtensionKeys()Ljava/util/Set;" since="21" />
+		<method name="getISO3Country()Ljava/lang/String;" />
+		<method name="getISO3Language()Ljava/lang/String;" />
+		<method name="getISOCountries()[Ljava/lang/String;" />
+		<method name="getISOLanguages()[Ljava/lang/String;" />
+		<method name="getLanguage()Ljava/lang/String;" />
+		<method name="getScript()Ljava/lang/String;" since="21" />
+		<method name="getUnicodeLocaleAttributes()Ljava/util/Set;" since="21" />
+		<method name="getUnicodeLocaleKeys()Ljava/util/Set;" since="21" />
+		<method name="getUnicodeLocaleType(Ljava/lang/String;)Ljava/lang/String;" since="21" />
+		<method name="getVariant()Ljava/lang/String;" />
+		<method name="hasExtensions()Z" since="26" />
+		<method name="lookup(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Locale;" since="26" />
+		<method name="lookupTag(Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;" since="26" />
+		<method name="setDefault(Ljava/util/Locale$Category;Ljava/util/Locale;)V" since="24" />
+		<method name="setDefault(Ljava/util/Locale;)V" />
+		<method name="stripExtensions()Ljava/util/Locale;" since="26" />
+		<method name="toLanguageTag()Ljava/lang/String;" since="21" />
+		<field name="CANADA" />
+		<field name="CANADA_FRENCH" />
+		<field name="CHINA" />
+		<field name="CHINESE" />
+		<field name="ENGLISH" />
+		<field name="FRANCE" />
+		<field name="FRENCH" />
+		<field name="GERMAN" />
+		<field name="GERMANY" />
+		<field name="ITALIAN" />
+		<field name="ITALY" />
+		<field name="JAPAN" />
+		<field name="JAPANESE" />
+		<field name="KOREA" />
+		<field name="KOREAN" />
+		<field name="PRC" />
+		<field name="PRIVATE_USE_EXTENSION" since="21" />
+		<field name="ROOT" since="9" />
+		<field name="SIMPLIFIED_CHINESE" />
+		<field name="TAIWAN" />
+		<field name="TRADITIONAL_CHINESE" />
+		<field name="UK" />
+		<field name="UNICODE_LOCALE_EXTENSION" since="21" />
+		<field name="US" />
+	</class>
+	<class name="java/util/Locale$Builder" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addUnicodeLocaleAttribute(Ljava/lang/String;)Ljava/util/Locale$Builder;" />
+		<method name="build()Ljava/util/Locale;" />
+		<method name="clear()Ljava/util/Locale$Builder;" />
+		<method name="clearExtensions()Ljava/util/Locale$Builder;" />
+		<method name="removeUnicodeLocaleAttribute(Ljava/lang/String;)Ljava/util/Locale$Builder;" />
+		<method name="setExtension(CLjava/lang/String;)Ljava/util/Locale$Builder;" />
+		<method name="setLanguage(Ljava/lang/String;)Ljava/util/Locale$Builder;" />
+		<method name="setLanguageTag(Ljava/lang/String;)Ljava/util/Locale$Builder;" />
+		<method name="setLocale(Ljava/util/Locale;)Ljava/util/Locale$Builder;" />
+		<method name="setRegion(Ljava/lang/String;)Ljava/util/Locale$Builder;" />
+		<method name="setScript(Ljava/lang/String;)Ljava/util/Locale$Builder;" />
+		<method name="setUnicodeLocaleKeyword(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale$Builder;" />
+		<method name="setVariant(Ljava/lang/String;)Ljava/util/Locale$Builder;" />
+	</class>
+	<class name="java/util/Locale$Category" since="24">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/util/Locale$Category;" />
+		<method name="values()[Ljava/util/Locale$Category;" />
+		<field name="DISPLAY" />
+		<field name="FORMAT" />
+	</class>
+	<class name="java/util/Locale$FilteringMode" since="26">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/util/Locale$FilteringMode;" />
+		<method name="values()[Ljava/util/Locale$FilteringMode;" />
+		<field name="AUTOSELECT_FILTERING" />
+		<field name="EXTENDED_FILTERING" />
+		<field name="IGNORE_EXTENDED_RANGES" />
+		<field name="MAP_EXTENDED_RANGES" />
+		<field name="REJECT_EXTENDED_RANGES" />
+	</class>
+	<class name="java/util/Locale$LanguageRange" since="26">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;D)V" />
+		<method name="getRange()Ljava/lang/String;" />
+		<method name="getWeight()D" />
+		<method name="mapEquivalents(Ljava/util/List;Ljava/util/Map;)Ljava/util/List;" />
+		<method name="parse(Ljava/lang/String;)Ljava/util/List;" />
+		<method name="parse(Ljava/lang/String;Ljava/util/Map;)Ljava/util/List;" />
+		<field name="MAX_WEIGHT" />
+		<field name="MIN_WEIGHT" />
+	</class>
+	<class name="java/util/LongSummaryStatistics" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/function/IntConsumer" />
+		<implements name="java/util/function/LongConsumer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="combine(Ljava/util/LongSummaryStatistics;)V" />
+		<method name="getAverage()D" />
+		<method name="getCount()J" />
+		<method name="getMax()J" />
+		<method name="getMin()J" />
+		<method name="getSum()J" />
+	</class>
+	<class name="java/util/Map" since="1">
+		<extends name="java/lang/Object" />
+		<method name="clear()V" />
+		<method name="compute(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24" />
+		<method name="computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;" since="24" />
+		<method name="computeIfPresent(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24" />
+		<method name="containsKey(Ljava/lang/Object;)Z" />
+		<method name="containsValue(Ljava/lang/Object;)Z" />
+		<method name="copyOf(Ljava/util/Map;)Ljava/util/Map;" since="31" />
+		<method name="entry(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;" since="30" />
+		<method name="entrySet()Ljava/util/Set;" />
+		<method name="forEach(Ljava/util/function/BiConsumer;)V" since="24" />
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" since="24" />
+		<method name="isEmpty()Z" />
+		<method name="keySet()Ljava/util/Set;" />
+		<method name="merge(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24" />
+		<method name="of()Ljava/util/Map;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30" />
+		<method name="ofEntries([Ljava/util/Map$Entry;)Ljava/util/Map;" since="30" />
+		<method name="put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="putAll(Ljava/util/Map;)V" />
+		<method name="putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" since="24" />
+		<method name="remove(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="remove(Ljava/lang/Object;Ljava/lang/Object;)Z" since="24" />
+		<method name="replace(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" since="24" />
+		<method name="replace(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z" since="24" />
+		<method name="replaceAll(Ljava/util/function/BiFunction;)V" since="24" />
+		<method name="size()I" />
+		<method name="values()Ljava/util/Collection;" />
+	</class>
+	<class name="java/util/Map$Entry" since="1">
+		<extends name="java/lang/Object" />
+		<method name="comparingByKey()Ljava/util/Comparator;" since="24" />
+		<method name="comparingByKey(Ljava/util/Comparator;)Ljava/util/Comparator;" since="24" />
+		<method name="comparingByValue()Ljava/util/Comparator;" since="24" />
+		<method name="comparingByValue(Ljava/util/Comparator;)Ljava/util/Comparator;" since="24" />
+		<method name="getKey()Ljava/lang/Object;" />
+		<method name="getValue()Ljava/lang/Object;" />
+		<method name="setValue(Ljava/lang/Object;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/MissingFormatArgumentException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getFormatSpecifier()Ljava/lang/String;" />
+	</class>
+	<class name="java/util/MissingFormatWidthException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getFormatSpecifier()Ljava/lang/String;" />
+	</class>
+	<class name="java/util/MissingResourceException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getClassName()Ljava/lang/String;" />
+		<method name="getKey()Ljava/lang/String;" />
+	</class>
+	<class name="java/util/NavigableMap" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/SortedMap" />
+		<method name="ceilingEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;" />
+		<method name="ceilingKey(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="descendingKeySet()Ljava/util/NavigableSet;" />
+		<method name="descendingMap()Ljava/util/NavigableMap;" />
+		<method name="firstEntry()Ljava/util/Map$Entry;" />
+		<method name="floorEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;" />
+		<method name="floorKey(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="headMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;" />
+		<method name="higherEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;" />
+		<method name="higherKey(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="lastEntry()Ljava/util/Map$Entry;" />
+		<method name="lowerEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;" />
+		<method name="lowerKey(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="navigableKeySet()Ljava/util/NavigableSet;" />
+		<method name="pollFirstEntry()Ljava/util/Map$Entry;" />
+		<method name="pollLastEntry()Ljava/util/Map$Entry;" />
+		<method name="subMap(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableMap;" />
+		<method name="tailMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;" />
+	</class>
+	<class name="java/util/NavigableSet" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/SortedSet" />
+		<method name="ceiling(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="descendingIterator()Ljava/util/Iterator;" />
+		<method name="descendingSet()Ljava/util/NavigableSet;" />
+		<method name="floor(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="headSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;" />
+		<method name="higher(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="lower(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="pollFirst()Ljava/lang/Object;" />
+		<method name="pollLast()Ljava/lang/Object;" />
+		<method name="subSet(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableSet;" />
+		<method name="tailSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;" />
+	</class>
+	<class name="java/util/NoSuchElementException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/Objects" since="19">
+		<extends name="java/lang/Object" />
+		<method name="checkFromIndexSize(III)I" since="30" />
+		<method name="checkFromToIndex(III)I" since="30" />
+		<method name="checkIndex(II)I" since="30" />
+		<method name="compare(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I" />
+		<method name="deepEquals(Ljava/lang/Object;Ljava/lang/Object;)Z" />
+		<method name="equals(Ljava/lang/Object;Ljava/lang/Object;)Z" />
+		<method name="hash([Ljava/lang/Object;)I" />
+		<method name="hashCode(Ljava/lang/Object;)I" />
+		<method name="isNull(Ljava/lang/Object;)Z" since="24" />
+		<method name="nonNull(Ljava/lang/Object;)Z" since="24" />
+		<method name="requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="requireNonNull(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;" since="24" />
+		<method name="requireNonNullElse(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" since="30" />
+		<method name="requireNonNullElseGet(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;" since="30" />
+		<method name="toString(Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="toString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="java/util/Observable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addObserver(Ljava/util/Observer;)V" />
+		<method name="clearChanged()V" />
+		<method name="countObservers()I" />
+		<method name="deleteObserver(Ljava/util/Observer;)V" />
+		<method name="deleteObservers()V" />
+		<method name="hasChanged()Z" />
+		<method name="notifyObservers()V" />
+		<method name="notifyObservers(Ljava/lang/Object;)V" />
+		<method name="setChanged()V" />
+	</class>
+	<class name="java/util/Observer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="update(Ljava/util/Observable;Ljava/lang/Object;)V" />
+	</class>
+	<class name="java/util/Optional" since="24">
+		<extends name="java/lang/Object" />
+		<method name="empty()Ljava/util/Optional;" />
+		<method name="filter(Ljava/util/function/Predicate;)Ljava/util/Optional;" />
+		<method name="flatMap(Ljava/util/function/Function;)Ljava/util/Optional;" />
+		<method name="get()Ljava/lang/Object;" />
+		<method name="ifPresent(Ljava/util/function/Consumer;)V" />
+		<method name="isPresent()Z" />
+		<method name="map(Ljava/util/function/Function;)Ljava/util/Optional;" />
+		<method name="of(Ljava/lang/Object;)Ljava/util/Optional;" />
+		<method name="ofNullable(Ljava/lang/Object;)Ljava/util/Optional;" />
+		<method name="orElse(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="orElseGet(Ljava/util/function/Supplier;)Ljava/lang/Object;" />
+		<method name="orElseThrow(Ljava/util/function/Supplier;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/OptionalDouble" since="24">
+		<extends name="java/lang/Object" />
+		<method name="empty()Ljava/util/OptionalDouble;" />
+		<method name="getAsDouble()D" />
+		<method name="ifPresent(Ljava/util/function/DoubleConsumer;)V" />
+		<method name="isPresent()Z" />
+		<method name="of(D)Ljava/util/OptionalDouble;" />
+		<method name="orElse(D)D" />
+		<method name="orElseGet(Ljava/util/function/DoubleSupplier;)D" />
+		<method name="orElseThrow(Ljava/util/function/Supplier;)D" />
+	</class>
+	<class name="java/util/OptionalInt" since="24">
+		<extends name="java/lang/Object" />
+		<method name="empty()Ljava/util/OptionalInt;" />
+		<method name="getAsInt()I" />
+		<method name="ifPresent(Ljava/util/function/IntConsumer;)V" />
+		<method name="isPresent()Z" />
+		<method name="of(I)Ljava/util/OptionalInt;" />
+		<method name="orElse(I)I" />
+		<method name="orElseGet(Ljava/util/function/IntSupplier;)I" />
+		<method name="orElseThrow(Ljava/util/function/Supplier;)I" />
+	</class>
+	<class name="java/util/OptionalLong" since="24">
+		<extends name="java/lang/Object" />
+		<method name="empty()Ljava/util/OptionalLong;" />
+		<method name="getAsLong()J" />
+		<method name="ifPresent(Ljava/util/function/LongConsumer;)V" />
+		<method name="isPresent()Z" />
+		<method name="of(J)Ljava/util/OptionalLong;" />
+		<method name="orElse(J)J" />
+		<method name="orElseGet(Ljava/util/function/LongSupplier;)J" />
+		<method name="orElseThrow(Ljava/util/function/Supplier;)J" />
+	</class>
+	<class name="java/util/PrimitiveIterator" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Iterator" />
+		<method name="forEachRemaining(Ljava/lang/Object;)V" />
+	</class>
+	<class name="java/util/PrimitiveIterator$OfDouble" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/PrimitiveIterator" />
+		<method name="forEachRemaining(Ljava/util/function/DoubleConsumer;)V" />
+		<method name="next()Ljava/lang/Double;" />
+		<method name="nextDouble()D" />
+	</class>
+	<class name="java/util/PrimitiveIterator$OfInt" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/PrimitiveIterator" />
+		<method name="forEachRemaining(Ljava/util/function/IntConsumer;)V" />
+		<method name="next()Ljava/lang/Integer;" />
+		<method name="nextInt()I" />
+	</class>
+	<class name="java/util/PrimitiveIterator$OfLong" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/PrimitiveIterator" />
+		<method name="forEachRemaining(Ljava/util/function/LongConsumer;)V" />
+		<method name="next()Ljava/lang/Long;" />
+		<method name="nextLong()J" />
+	</class>
+	<class name="java/util/PriorityQueue" since="1">
+		<extends name="java/util/AbstractQueue" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/util/Comparator;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Comparator;)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/util/PriorityQueue;)V" />
+		<method name="&lt;init&gt;(Ljava/util/SortedSet;)V" />
+		<method name="comparator()Ljava/util/Comparator;" />
+	</class>
+	<class name="java/util/Properties" since="1">
+		<extends name="java/util/Hashtable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Properties;)V" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="list(Ljava/io/PrintStream;)V" />
+		<method name="list(Ljava/io/PrintWriter;)V" />
+		<method name="load(Ljava/io/InputStream;)V" />
+		<method name="load(Ljava/io/Reader;)V" since="9" />
+		<method name="loadFromXML(Ljava/io/InputStream;)V" />
+		<method name="propertyNames()Ljava/util/Enumeration;" />
+		<method name="save(Ljava/io/OutputStream;Ljava/lang/String;)V" deprecated="15" />
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="store(Ljava/io/OutputStream;Ljava/lang/String;)V" />
+		<method name="store(Ljava/io/Writer;Ljava/lang/String;)V" since="9" />
+		<method name="storeToXML(Ljava/io/OutputStream;Ljava/lang/String;)V" />
+		<method name="storeToXML(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="stringPropertyNames()Ljava/util/Set;" since="9" />
+		<field name="defaults" />
+	</class>
+	<class name="java/util/PropertyPermission" since="1">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/PropertyResourceBundle" since="1">
+		<extends name="java/util/ResourceBundle" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;)V" since="9" />
+	</class>
+	<class name="java/util/Queue" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Collection" />
+		<method name="element()Ljava/lang/Object;" />
+		<method name="offer(Ljava/lang/Object;)Z" />
+		<method name="peek()Ljava/lang/Object;" />
+		<method name="poll()Ljava/lang/Object;" />
+		<method name="remove()Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/Random" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="doubles()Ljava/util/stream/DoubleStream;" since="24" />
+		<method name="doubles(DD)Ljava/util/stream/DoubleStream;" since="24" />
+		<method name="doubles(J)Ljava/util/stream/DoubleStream;" since="24" />
+		<method name="doubles(JDD)Ljava/util/stream/DoubleStream;" since="24" />
+		<method name="ints()Ljava/util/stream/IntStream;" since="24" />
+		<method name="ints(II)Ljava/util/stream/IntStream;" since="24" />
+		<method name="ints(J)Ljava/util/stream/IntStream;" since="24" />
+		<method name="ints(JII)Ljava/util/stream/IntStream;" since="24" />
+		<method name="longs()Ljava/util/stream/LongStream;" since="24" />
+		<method name="longs(J)Ljava/util/stream/LongStream;" since="24" />
+		<method name="longs(JJ)Ljava/util/stream/LongStream;" since="24" />
+		<method name="longs(JJJ)Ljava/util/stream/LongStream;" since="24" />
+		<method name="next(I)I" />
+		<method name="nextBoolean()Z" />
+		<method name="nextBytes([B)V" />
+		<method name="nextDouble()D" />
+		<method name="nextFloat()F" />
+		<method name="nextGaussian()D" />
+		<method name="nextInt()I" />
+		<method name="nextInt(I)I" />
+		<method name="nextLong()J" />
+		<method name="setSeed(J)V" />
+	</class>
+	<class name="java/util/RandomAccess" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/util/ResourceBundle" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clearCache()V" since="9" />
+		<method name="clearCache(Ljava/lang/ClassLoader;)V" since="9" />
+		<method name="containsKey(Ljava/lang/String;)Z" since="9" />
+		<method name="getBaseBundleName()Ljava/lang/String;" since="26" />
+		<method name="getBundle(Ljava/lang/String;)Ljava/util/ResourceBundle;" />
+		<method name="getBundle(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;" />
+		<method name="getBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;" />
+		<method name="getBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;" since="9" />
+		<method name="getBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;" since="9" />
+		<method name="getBundle(Ljava/lang/String;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;" since="9" />
+		<method name="getKeys()Ljava/util/Enumeration;" />
+		<method name="getLocale()Ljava/util/Locale;" />
+		<method name="getObject(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getStringArray(Ljava/lang/String;)[Ljava/lang/String;" />
+		<method name="handleGetObject(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="handleKeySet()Ljava/util/Set;" since="9" />
+		<method name="keySet()Ljava/util/Set;" since="9" />
+		<method name="setParent(Ljava/util/ResourceBundle;)V" />
+		<field name="parent" />
+	</class>
+	<class name="java/util/ResourceBundle$Control" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getCandidateLocales(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;" />
+		<method name="getControl(Ljava/util/List;)Ljava/util/ResourceBundle$Control;" />
+		<method name="getFallbackLocale(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/Locale;" />
+		<method name="getFormats(Ljava/lang/String;)Ljava/util/List;" />
+		<method name="getNoFallbackControl(Ljava/util/List;)Ljava/util/ResourceBundle$Control;" />
+		<method name="getTimeToLive(Ljava/lang/String;Ljava/util/Locale;)J" />
+		<method name="needsReload(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle;J)Z" />
+		<method name="newBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/util/ResourceBundle;" />
+		<method name="toBundleName(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="toResourceName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<field name="FORMAT_CLASS" />
+		<field name="FORMAT_DEFAULT" />
+		<field name="FORMAT_PROPERTIES" />
+		<field name="TTL_DONT_CACHE" />
+		<field name="TTL_NO_EXPIRATION_CONTROL" />
+	</class>
+	<class name="java/util/Scanner" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" since="19" />
+		<implements name="java/util/Iterator" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Readable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/ReadableByteChannel;)V" />
+		<method name="&lt;init&gt;(Ljava/nio/channels/ReadableByteChannel;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/nio/file/Path;)V" since="26" />
+		<method name="&lt;init&gt;(Ljava/nio/file/Path;Ljava/lang/String;)V" since="26" />
+		<method name="close()V" />
+		<method name="delimiter()Ljava/util/regex/Pattern;" />
+		<method name="findInLine(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="findInLine(Ljava/util/regex/Pattern;)Ljava/lang/String;" />
+		<method name="findWithinHorizon(Ljava/lang/String;I)Ljava/lang/String;" />
+		<method name="findWithinHorizon(Ljava/util/regex/Pattern;I)Ljava/lang/String;" />
+		<method name="hasNext(Ljava/lang/String;)Z" />
+		<method name="hasNext(Ljava/util/regex/Pattern;)Z" />
+		<method name="hasNextBigDecimal()Z" />
+		<method name="hasNextBigInteger()Z" />
+		<method name="hasNextBigInteger(I)Z" />
+		<method name="hasNextBoolean()Z" />
+		<method name="hasNextByte()Z" />
+		<method name="hasNextByte(I)Z" />
+		<method name="hasNextDouble()Z" />
+		<method name="hasNextFloat()Z" />
+		<method name="hasNextInt()Z" />
+		<method name="hasNextInt(I)Z" />
+		<method name="hasNextLine()Z" />
+		<method name="hasNextLong()Z" />
+		<method name="hasNextLong(I)Z" />
+		<method name="hasNextShort()Z" />
+		<method name="hasNextShort(I)Z" />
+		<method name="ioException()Ljava/io/IOException;" />
+		<method name="locale()Ljava/util/Locale;" />
+		<method name="match()Ljava/util/regex/MatchResult;" />
+		<method name="next()Ljava/lang/String;" />
+		<method name="next(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="next(Ljava/util/regex/Pattern;)Ljava/lang/String;" />
+		<method name="nextBigDecimal()Ljava/math/BigDecimal;" />
+		<method name="nextBigInteger()Ljava/math/BigInteger;" />
+		<method name="nextBigInteger(I)Ljava/math/BigInteger;" />
+		<method name="nextBoolean()Z" />
+		<method name="nextByte()B" />
+		<method name="nextByte(I)B" />
+		<method name="nextDouble()D" />
+		<method name="nextFloat()F" />
+		<method name="nextInt()I" />
+		<method name="nextInt(I)I" />
+		<method name="nextLine()Ljava/lang/String;" />
+		<method name="nextLong()J" />
+		<method name="nextLong(I)J" />
+		<method name="nextShort()S" />
+		<method name="nextShort(I)S" />
+		<method name="radix()I" />
+		<method name="reset()Ljava/util/Scanner;" since="9" />
+		<method name="skip(Ljava/lang/String;)Ljava/util/Scanner;" />
+		<method name="skip(Ljava/util/regex/Pattern;)Ljava/util/Scanner;" />
+		<method name="useDelimiter(Ljava/lang/String;)Ljava/util/Scanner;" />
+		<method name="useDelimiter(Ljava/util/regex/Pattern;)Ljava/util/Scanner;" />
+		<method name="useLocale(Ljava/util/Locale;)Ljava/util/Scanner;" />
+		<method name="useRadix(I)Ljava/util/Scanner;" />
+	</class>
+	<class name="java/util/ServiceConfigurationError" since="9">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/ServiceLoader" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Iterable" />
+		<method name="load(Ljava/lang/Class;)Ljava/util/ServiceLoader;" />
+		<method name="load(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;" />
+		<method name="loadInstalled(Ljava/lang/Class;)Ljava/util/ServiceLoader;" />
+		<method name="reload()V" />
+	</class>
+	<class name="java/util/Set" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Collection" />
+		<method name="copyOf(Ljava/util/Collection;)Ljava/util/Set;" since="31" />
+		<method name="of()Ljava/util/Set;" since="30" />
+		<method name="of(Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+		<method name="of([Ljava/lang/Object;)Ljava/util/Set;" since="30" />
+	</class>
+	<class name="java/util/SimpleTimeZone" since="1">
+		<extends name="java/util/TimeZone" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" />
+		<method name="&lt;init&gt;(ILjava/lang/String;IIIIIIII)V" />
+		<method name="&lt;init&gt;(ILjava/lang/String;IIIIIIIII)V" />
+		<method name="&lt;init&gt;(ILjava/lang/String;IIIIIIIIIII)V" />
+		<method name="setDSTSavings(I)V" />
+		<method name="setEndRule(III)V" />
+		<method name="setEndRule(IIII)V" />
+		<method name="setEndRule(IIIIZ)V" />
+		<method name="setStartRule(III)V" />
+		<method name="setStartRule(IIII)V" />
+		<method name="setStartRule(IIIIZ)V" />
+		<method name="setStartYear(I)V" />
+		<field name="STANDARD_TIME" />
+		<field name="UTC_TIME" />
+		<field name="WALL_TIME" />
+	</class>
+	<class name="java/util/SortedMap" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Map" />
+		<method name="comparator()Ljava/util/Comparator;" />
+		<method name="firstKey()Ljava/lang/Object;" />
+		<method name="headMap(Ljava/lang/Object;)Ljava/util/SortedMap;" />
+		<method name="lastKey()Ljava/lang/Object;" />
+		<method name="subMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedMap;" />
+		<method name="tailMap(Ljava/lang/Object;)Ljava/util/SortedMap;" />
+	</class>
+	<class name="java/util/SortedSet" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Set" />
+		<method name="comparator()Ljava/util/Comparator;" />
+		<method name="first()Ljava/lang/Object;" />
+		<method name="headSet(Ljava/lang/Object;)Ljava/util/SortedSet;" />
+		<method name="last()Ljava/lang/Object;" />
+		<method name="subSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedSet;" />
+		<method name="tailSet(Ljava/lang/Object;)Ljava/util/SortedSet;" />
+	</class>
+	<class name="java/util/Spliterator" since="24">
+		<extends name="java/lang/Object" />
+		<method name="characteristics()I" />
+		<method name="estimateSize()J" />
+		<method name="forEachRemaining(Ljava/util/function/Consumer;)V" />
+		<method name="getComparator()Ljava/util/Comparator;" />
+		<method name="getExactSizeIfKnown()J" />
+		<method name="hasCharacteristics(I)Z" />
+		<method name="tryAdvance(Ljava/util/function/Consumer;)Z" />
+		<method name="trySplit()Ljava/util/Spliterator;" />
+		<field name="CONCURRENT" />
+		<field name="DISTINCT" />
+		<field name="IMMUTABLE" />
+		<field name="NONNULL" />
+		<field name="ORDERED" />
+		<field name="SIZED" />
+		<field name="SORTED" />
+		<field name="SUBSIZED" />
+	</class>
+	<class name="java/util/Spliterator$OfDouble" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Spliterator$OfPrimitive" />
+		<method name="forEachRemaining(Ljava/util/function/DoubleConsumer;)V" />
+		<method name="tryAdvance(Ljava/util/function/DoubleConsumer;)Z" />
+		<method name="trySplit()Ljava/util/Spliterator$OfDouble;" />
+	</class>
+	<class name="java/util/Spliterator$OfInt" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Spliterator$OfPrimitive" />
+		<method name="forEachRemaining(Ljava/util/function/IntConsumer;)V" />
+		<method name="tryAdvance(Ljava/util/function/IntConsumer;)Z" />
+		<method name="trySplit()Ljava/util/Spliterator$OfInt;" />
+	</class>
+	<class name="java/util/Spliterator$OfLong" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Spliterator$OfPrimitive" />
+		<method name="forEachRemaining(Ljava/util/function/LongConsumer;)V" />
+		<method name="tryAdvance(Ljava/util/function/LongConsumer;)Z" />
+		<method name="trySplit()Ljava/util/Spliterator$OfLong;" />
+	</class>
+	<class name="java/util/Spliterator$OfPrimitive" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Spliterator" />
+		<method name="forEachRemaining(Ljava/lang/Object;)V" />
+		<method name="tryAdvance(Ljava/lang/Object;)Z" />
+		<method name="trySplit()Ljava/util/Spliterator$OfPrimitive;" />
+	</class>
+	<class name="java/util/Spliterators" since="24">
+		<extends name="java/lang/Object" />
+		<method name="emptyDoubleSpliterator()Ljava/util/Spliterator$OfDouble;" />
+		<method name="emptyIntSpliterator()Ljava/util/Spliterator$OfInt;" />
+		<method name="emptyLongSpliterator()Ljava/util/Spliterator$OfLong;" />
+		<method name="emptySpliterator()Ljava/util/Spliterator;" />
+		<method name="iterator(Ljava/util/Spliterator$OfDouble;)Ljava/util/PrimitiveIterator$OfDouble;" />
+		<method name="iterator(Ljava/util/Spliterator$OfInt;)Ljava/util/PrimitiveIterator$OfInt;" />
+		<method name="iterator(Ljava/util/Spliterator$OfLong;)Ljava/util/PrimitiveIterator$OfLong;" />
+		<method name="iterator(Ljava/util/Spliterator;)Ljava/util/Iterator;" />
+		<method name="spliterator(Ljava/util/Collection;I)Ljava/util/Spliterator;" />
+		<method name="spliterator(Ljava/util/Iterator;JI)Ljava/util/Spliterator;" />
+		<method name="spliterator(Ljava/util/PrimitiveIterator$OfDouble;JI)Ljava/util/Spliterator$OfDouble;" />
+		<method name="spliterator(Ljava/util/PrimitiveIterator$OfInt;JI)Ljava/util/Spliterator$OfInt;" />
+		<method name="spliterator(Ljava/util/PrimitiveIterator$OfLong;JI)Ljava/util/Spliterator$OfLong;" />
+		<method name="spliterator([DI)Ljava/util/Spliterator$OfDouble;" />
+		<method name="spliterator([DIII)Ljava/util/Spliterator$OfDouble;" />
+		<method name="spliterator([II)Ljava/util/Spliterator$OfInt;" />
+		<method name="spliterator([IIII)Ljava/util/Spliterator$OfInt;" />
+		<method name="spliterator([JI)Ljava/util/Spliterator$OfLong;" />
+		<method name="spliterator([JIII)Ljava/util/Spliterator$OfLong;" />
+		<method name="spliterator([Ljava/lang/Object;I)Ljava/util/Spliterator;" />
+		<method name="spliterator([Ljava/lang/Object;III)Ljava/util/Spliterator;" />
+		<method name="spliteratorUnknownSize(Ljava/util/Iterator;I)Ljava/util/Spliterator;" />
+		<method name="spliteratorUnknownSize(Ljava/util/PrimitiveIterator$OfDouble;I)Ljava/util/Spliterator$OfDouble;" />
+		<method name="spliteratorUnknownSize(Ljava/util/PrimitiveIterator$OfInt;I)Ljava/util/Spliterator$OfInt;" />
+		<method name="spliteratorUnknownSize(Ljava/util/PrimitiveIterator$OfLong;I)Ljava/util/Spliterator$OfLong;" />
+	</class>
+	<class name="java/util/Spliterators$AbstractDoubleSpliterator" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Spliterator$OfDouble" />
+		<method name="&lt;init&gt;(JI)V" />
+	</class>
+	<class name="java/util/Spliterators$AbstractIntSpliterator" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Spliterator$OfInt" />
+		<method name="&lt;init&gt;(JI)V" />
+	</class>
+	<class name="java/util/Spliterators$AbstractLongSpliterator" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Spliterator$OfLong" />
+		<method name="&lt;init&gt;(JI)V" />
+	</class>
+	<class name="java/util/Spliterators$AbstractSpliterator" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Spliterator" />
+		<method name="&lt;init&gt;(JI)V" />
+	</class>
+	<class name="java/util/SplittableRandom" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="doubles()Ljava/util/stream/DoubleStream;" />
+		<method name="doubles(DD)Ljava/util/stream/DoubleStream;" />
+		<method name="doubles(J)Ljava/util/stream/DoubleStream;" />
+		<method name="doubles(JDD)Ljava/util/stream/DoubleStream;" />
+		<method name="ints()Ljava/util/stream/IntStream;" />
+		<method name="ints(II)Ljava/util/stream/IntStream;" />
+		<method name="ints(J)Ljava/util/stream/IntStream;" />
+		<method name="ints(JII)Ljava/util/stream/IntStream;" />
+		<method name="longs()Ljava/util/stream/LongStream;" />
+		<method name="longs(J)Ljava/util/stream/LongStream;" />
+		<method name="longs(JJ)Ljava/util/stream/LongStream;" />
+		<method name="longs(JJJ)Ljava/util/stream/LongStream;" />
+		<method name="nextBoolean()Z" />
+		<method name="nextDouble()D" />
+		<method name="nextDouble(D)D" />
+		<method name="nextDouble(DD)D" />
+		<method name="nextInt()I" />
+		<method name="nextInt(I)I" />
+		<method name="nextInt(II)I" />
+		<method name="nextLong()J" />
+		<method name="nextLong(J)J" />
+		<method name="nextLong(JJ)J" />
+		<method name="split()Ljava/util/SplittableRandom;" />
+	</class>
+	<class name="java/util/Stack" since="1">
+		<extends name="java/util/Vector" />
+		<method name="&lt;init&gt;()V" />
+		<method name="empty()Z" />
+		<method name="peek()Ljava/lang/Object;" />
+		<method name="pop()Ljava/lang/Object;" />
+		<method name="push(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="search(Ljava/lang/Object;)I" />
+	</class>
+	<class name="java/util/StringJoiner" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V" />
+		<method name="add(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;" />
+		<method name="length()I" />
+		<method name="merge(Ljava/util/StringJoiner;)Ljava/util/StringJoiner;" />
+		<method name="setEmptyValue(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;" />
+	</class>
+	<class name="java/util/StringTokenizer" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Enumeration" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Z)V" />
+		<method name="countTokens()I" />
+		<method name="hasMoreTokens()Z" />
+		<method name="nextToken()Ljava/lang/String;" />
+		<method name="nextToken(Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="java/util/TimeZone" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAvailableIDs()[Ljava/lang/String;" />
+		<method name="getAvailableIDs(I)[Ljava/lang/String;" />
+		<method name="getDSTSavings()I" />
+		<method name="getDefault()Ljava/util/TimeZone;" />
+		<method name="getDisplayName()Ljava/lang/String;" />
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;" />
+		<method name="getDisplayName(ZI)Ljava/lang/String;" />
+		<method name="getDisplayName(ZILjava/util/Locale;)Ljava/lang/String;" />
+		<method name="getID()Ljava/lang/String;" />
+		<method name="getOffset(IIIIII)I" />
+		<method name="getOffset(J)I" />
+		<method name="getRawOffset()I" />
+		<method name="getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;" />
+		<method name="getTimeZone(Ljava/time/ZoneId;)Ljava/util/TimeZone;" since="26" />
+		<method name="hasSameRules(Ljava/util/TimeZone;)Z" />
+		<method name="inDaylightTime(Ljava/util/Date;)Z" />
+		<method name="observesDaylightTime()Z" since="24" />
+		<method name="setDefault(Ljava/util/TimeZone;)V" />
+		<method name="setID(Ljava/lang/String;)V" />
+		<method name="setRawOffset(I)V" />
+		<method name="toZoneId()Ljava/time/ZoneId;" since="26" />
+		<method name="useDaylightTime()Z" />
+		<field name="LONG" />
+		<field name="SHORT" />
+	</class>
+	<class name="java/util/Timer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Z)V" />
+		<method name="&lt;init&gt;(Z)V" />
+		<method name="cancel()V" />
+		<method name="purge()I" />
+		<method name="schedule(Ljava/util/TimerTask;J)V" />
+		<method name="schedule(Ljava/util/TimerTask;JJ)V" />
+		<method name="schedule(Ljava/util/TimerTask;Ljava/util/Date;)V" />
+		<method name="schedule(Ljava/util/TimerTask;Ljava/util/Date;J)V" />
+		<method name="scheduleAtFixedRate(Ljava/util/TimerTask;JJ)V" />
+		<method name="scheduleAtFixedRate(Ljava/util/TimerTask;Ljava/util/Date;J)V" />
+	</class>
+	<class name="java/util/TimerTask" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Runnable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="cancel()Z" />
+		<method name="scheduledExecutionTime()J" />
+	</class>
+	<class name="java/util/TooManyListenersException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/TreeMap" since="1">
+		<extends name="java/util/AbstractMap" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/NavigableMap" since="9" />
+		<implements name="java/util/SortedMap" removed="24" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Comparator;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+		<method name="&lt;init&gt;(Ljava/util/SortedMap;)V" />
+	</class>
+	<class name="java/util/TreeSet" since="1">
+		<extends name="java/util/AbstractSet" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/NavigableSet" since="9" />
+		<implements name="java/util/SortedSet" removed="9" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Comparator;)V" />
+		<method name="&lt;init&gt;(Ljava/util/SortedSet;)V" />
+	</class>
+	<class name="java/util/UUID" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Comparable" />
+		<method name="&lt;init&gt;(JJ)V" />
+		<method name="clockSequence()I" />
+		<method name="compareTo(Ljava/util/UUID;)I" />
+		<method name="fromString(Ljava/lang/String;)Ljava/util/UUID;" />
+		<method name="getLeastSignificantBits()J" />
+		<method name="getMostSignificantBits()J" />
+		<method name="nameUUIDFromBytes([B)Ljava/util/UUID;" />
+		<method name="node()J" />
+		<method name="randomUUID()Ljava/util/UUID;" />
+		<method name="timestamp()J" />
+		<method name="variant()I" />
+		<method name="version()I" />
+	</class>
+	<class name="java/util/UnknownFormatConversionException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getConversion()Ljava/lang/String;" />
+	</class>
+	<class name="java/util/UnknownFormatFlagsException" since="1">
+		<extends name="java/util/IllegalFormatException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getFlags()Ljava/lang/String;" />
+	</class>
+	<class name="java/util/Vector" since="1">
+		<extends name="java/util/AbstractList" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/RandomAccess" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="addElement(Ljava/lang/Object;)V" />
+		<method name="capacity()I" />
+		<method name="copyInto([Ljava/lang/Object;)V" />
+		<method name="elementAt(I)Ljava/lang/Object;" />
+		<method name="elements()Ljava/util/Enumeration;" />
+		<method name="ensureCapacity(I)V" />
+		<method name="firstElement()Ljava/lang/Object;" />
+		<method name="indexOf(Ljava/lang/Object;I)I" />
+		<method name="insertElementAt(Ljava/lang/Object;I)V" />
+		<method name="lastElement()Ljava/lang/Object;" />
+		<method name="lastIndexOf(Ljava/lang/Object;I)I" />
+		<method name="removeAllElements()V" />
+		<method name="removeElement(Ljava/lang/Object;)Z" />
+		<method name="removeElementAt(I)V" />
+		<method name="setElementAt(Ljava/lang/Object;I)V" />
+		<method name="setSize(I)V" />
+		<method name="trimToSize()V" />
+		<field name="capacityIncrement" />
+		<field name="elementCount" />
+		<field name="elementData" />
+	</class>
+	<class name="java/util/WeakHashMap" since="1">
+		<extends name="java/util/AbstractMap" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IF)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+	</class>
+	<class name="java/util/concurrent/AbstractExecutorService" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/ExecutorService" />
+		<method name="&lt;init&gt;()V" />
+		<method name="newTaskFor(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/RunnableFuture;" since="9" />
+		<method name="newTaskFor(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/RunnableFuture;" since="9" />
+	</class>
+	<class name="java/util/concurrent/ArrayBlockingQueue" since="1">
+		<extends name="java/util/AbstractQueue" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/BlockingQueue" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IZ)V" />
+		<method name="&lt;init&gt;(IZLjava/util/Collection;)V" />
+	</class>
+	<class name="java/util/concurrent/BlockingDeque" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Deque" />
+		<implements name="java/util/concurrent/BlockingQueue" />
+		<method name="offerFirst(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="offerLast(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="pollFirst(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;" />
+		<method name="pollLast(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;" />
+		<method name="putFirst(Ljava/lang/Object;)V" />
+		<method name="putLast(Ljava/lang/Object;)V" />
+		<method name="takeFirst()Ljava/lang/Object;" />
+		<method name="takeLast()Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/concurrent/BlockingQueue" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Queue" />
+		<method name="drainTo(Ljava/util/Collection;)I" />
+		<method name="drainTo(Ljava/util/Collection;I)I" />
+		<method name="offer(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;" />
+		<method name="put(Ljava/lang/Object;)V" />
+		<method name="remainingCapacity()I" />
+		<method name="take()Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/concurrent/BrokenBarrierException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/concurrent/Callable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="call()Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/concurrent/CancellationException" since="1">
+		<extends name="java/lang/IllegalStateException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/concurrent/CompletableFuture" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/CompletionStage" />
+		<implements name="java/util/concurrent/Future" />
+		<method name="&lt;init&gt;()V" />
+		<method name="acceptEither(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="acceptEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="acceptEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="allOf([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="anyOf([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="applyToEither(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="applyToEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="applyToEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="complete(Ljava/lang/Object;)Z" />
+		<method name="completeAsync(Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;" since="31" />
+		<method name="completeAsync(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" since="31" />
+		<method name="completeExceptionally(Ljava/lang/Throwable;)Z" />
+		<method name="completeOnTimeout(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;" since="31" />
+		<method name="completedFuture(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="completedStage(Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;" since="31" />
+		<method name="copy()Ljava/util/concurrent/CompletableFuture;" since="31" />
+		<method name="defaultExecutor()Ljava/util/concurrent/Executor;" since="31" />
+		<method name="delayedExecutor(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Executor;" since="31" />
+		<method name="delayedExecutor(JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;" since="31" />
+		<method name="exceptionally(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="failedFuture(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;" since="31" />
+		<method name="failedStage(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletionStage;" since="31" />
+		<method name="getNow(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="getNumberOfDependents()I" />
+		<method name="handle(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="handleAsync(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="handleAsync(Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="isCompletedExceptionally()Z" />
+		<method name="join()Ljava/lang/Object;" />
+		<method name="minimalCompletionStage()Ljava/util/concurrent/CompletionStage;" since="31" />
+		<method name="newIncompleteFuture()Ljava/util/concurrent/CompletableFuture;" since="31" />
+		<method name="obtrudeException(Ljava/lang/Throwable;)V" />
+		<method name="obtrudeValue(Ljava/lang/Object;)V" />
+		<method name="orTimeout(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;" since="31" />
+		<method name="runAfterBoth(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="runAfterBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="runAfterBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="runAfterEither(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="runAfterEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="runAfterEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="runAsync(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="runAsync(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="supplyAsync(Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="supplyAsync(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenAccept(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenAcceptAsync(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenAcceptAsync(Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenAcceptBoth(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenApply(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenApplyAsync(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenApplyAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenCombine(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenCombineAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenCombineAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenCompose(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenComposeAsync(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenComposeAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenRun(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenRunAsync(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="thenRunAsync(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="whenComplete(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="whenCompleteAsync(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;" />
+		<method name="whenCompleteAsync(Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" />
+	</class>
+	<class name="java/util/concurrent/CompletableFuture$AsynchronousCompletionTask" since="24">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="java/util/concurrent/CompletionException" since="24">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/concurrent/CompletionService" since="1">
+		<extends name="java/lang/Object" />
+		<method name="poll()Ljava/util/concurrent/Future;" />
+		<method name="poll(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Future;" />
+		<method name="submit(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Future;" />
+		<method name="submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;" />
+		<method name="take()Ljava/util/concurrent/Future;" />
+	</class>
+	<class name="java/util/concurrent/CompletionStage" since="24">
+		<extends name="java/lang/Object" />
+		<method name="acceptEither(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="acceptEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="acceptEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="applyToEither(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="applyToEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="applyToEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="exceptionally(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="handle(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="handleAsync(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="handleAsync(Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="runAfterBoth(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="runAfterBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="runAfterBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="runAfterEither(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="runAfterEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="runAfterEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenAccept(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenAcceptAsync(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenAcceptAsync(Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenAcceptBoth(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenApply(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenApplyAsync(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenApplyAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenCombine(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenCombineAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenCombineAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenCompose(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenComposeAsync(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenComposeAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenRun(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenRunAsync(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="thenRunAsync(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="toCompletableFuture()Ljava/util/concurrent/CompletableFuture;" />
+		<method name="whenComplete(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="whenCompleteAsync(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;" />
+		<method name="whenCompleteAsync(Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;" />
+	</class>
+	<class name="java/util/concurrent/ConcurrentHashMap" since="1">
+		<extends name="java/util/AbstractMap" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/ConcurrentMap" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IF)V" since="9" />
+		<method name="&lt;init&gt;(IFI)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+		<method name="contains(Ljava/lang/Object;)Z" />
+		<method name="elements()Ljava/util/Enumeration;" />
+		<method name="forEach(JLjava/util/function/BiConsumer;)V" since="24" />
+		<method name="forEach(JLjava/util/function/BiFunction;Ljava/util/function/Consumer;)V" since="24" />
+		<method name="forEachEntry(JLjava/util/function/Consumer;)V" since="24" />
+		<method name="forEachEntry(JLjava/util/function/Function;Ljava/util/function/Consumer;)V" since="24" />
+		<method name="forEachKey(JLjava/util/function/Consumer;)V" since="24" />
+		<method name="forEachKey(JLjava/util/function/Function;Ljava/util/function/Consumer;)V" since="24" />
+		<method name="forEachValue(JLjava/util/function/Consumer;)V" since="24" />
+		<method name="forEachValue(JLjava/util/function/Function;Ljava/util/function/Consumer;)V" since="24" />
+		<method name="keySet(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$KeySetView;" since="24" />
+		<method name="keys()Ljava/util/Enumeration;" />
+		<method name="mappingCount()J" since="24" />
+		<method name="newKeySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;" since="24" />
+		<method name="newKeySet(I)Ljava/util/concurrent/ConcurrentHashMap$KeySetView;" since="24" />
+		<method name="reduce(JLjava/util/function/BiFunction;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24" />
+		<method name="reduceEntries(JLjava/util/function/BiFunction;)Ljava/util/Map$Entry;" since="24" />
+		<method name="reduceEntries(JLjava/util/function/Function;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24" />
+		<method name="reduceEntriesToDouble(JLjava/util/function/ToDoubleFunction;DLjava/util/function/DoubleBinaryOperator;)D" since="24" />
+		<method name="reduceEntriesToInt(JLjava/util/function/ToIntFunction;ILjava/util/function/IntBinaryOperator;)I" since="24" />
+		<method name="reduceEntriesToLong(JLjava/util/function/ToLongFunction;JLjava/util/function/LongBinaryOperator;)J" since="24" />
+		<method name="reduceKeys(JLjava/util/function/BiFunction;)Ljava/lang/Object;" since="24" />
+		<method name="reduceKeys(JLjava/util/function/Function;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24" />
+		<method name="reduceKeysToDouble(JLjava/util/function/ToDoubleFunction;DLjava/util/function/DoubleBinaryOperator;)D" since="24" />
+		<method name="reduceKeysToInt(JLjava/util/function/ToIntFunction;ILjava/util/function/IntBinaryOperator;)I" since="24" />
+		<method name="reduceKeysToLong(JLjava/util/function/ToLongFunction;JLjava/util/function/LongBinaryOperator;)J" since="24" />
+		<method name="reduceToDouble(JLjava/util/function/ToDoubleBiFunction;DLjava/util/function/DoubleBinaryOperator;)D" since="24" />
+		<method name="reduceToInt(JLjava/util/function/ToIntBiFunction;ILjava/util/function/IntBinaryOperator;)I" since="24" />
+		<method name="reduceToLong(JLjava/util/function/ToLongBiFunction;JLjava/util/function/LongBinaryOperator;)J" since="24" />
+		<method name="reduceValues(JLjava/util/function/BiFunction;)Ljava/lang/Object;" since="24" />
+		<method name="reduceValues(JLjava/util/function/Function;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24" />
+		<method name="reduceValuesToDouble(JLjava/util/function/ToDoubleFunction;DLjava/util/function/DoubleBinaryOperator;)D" since="24" />
+		<method name="reduceValuesToInt(JLjava/util/function/ToIntFunction;ILjava/util/function/IntBinaryOperator;)I" since="24" />
+		<method name="reduceValuesToLong(JLjava/util/function/ToLongFunction;JLjava/util/function/LongBinaryOperator;)J" since="24" />
+		<method name="search(JLjava/util/function/BiFunction;)Ljava/lang/Object;" since="24" />
+		<method name="searchEntries(JLjava/util/function/Function;)Ljava/lang/Object;" since="24" />
+		<method name="searchKeys(JLjava/util/function/Function;)Ljava/lang/Object;" since="24" />
+		<method name="searchValues(JLjava/util/function/Function;)Ljava/lang/Object;" since="24" />
+	</class>
+	<class name="java/util/concurrent/ConcurrentHashMap$KeySetView" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Set" />
+		<method name="getMappedValue()Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/concurrent/ConcurrentLinkedDeque" since="21">
+		<extends name="java/util/AbstractCollection" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/Deque" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+	</class>
+	<class name="java/util/concurrent/ConcurrentLinkedQueue" since="1">
+		<extends name="java/util/AbstractQueue" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+	</class>
+	<class name="java/util/concurrent/ConcurrentMap" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Map" />
+		<method name="putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="remove(Ljava/lang/Object;Ljava/lang/Object;)Z" />
+		<method name="replace(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="replace(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z" />
+	</class>
+	<class name="java/util/concurrent/ConcurrentNavigableMap" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/NavigableMap" />
+		<implements name="java/util/concurrent/ConcurrentMap" />
+		<method name="descendingMap()Ljava/util/concurrent/ConcurrentNavigableMap;" />
+		<method name="headMap(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentNavigableMap;" />
+		<method name="headMap(Ljava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;" />
+		<method name="keySet()Ljava/util/NavigableSet;" />
+		<method name="subMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentNavigableMap;" />
+		<method name="subMap(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;" />
+		<method name="tailMap(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentNavigableMap;" />
+		<method name="tailMap(Ljava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;" />
+	</class>
+	<class name="java/util/concurrent/ConcurrentSkipListMap" since="9">
+		<extends name="java/util/AbstractMap" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/concurrent/ConcurrentNavigableMap" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Comparator;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+		<method name="&lt;init&gt;(Ljava/util/SortedMap;)V" />
+		<method name="clone()Ljava/util/concurrent/ConcurrentSkipListMap;" />
+	</class>
+	<class name="java/util/concurrent/ConcurrentSkipListSet" since="9">
+		<extends name="java/util/AbstractSet" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/NavigableSet" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Comparator;)V" />
+		<method name="&lt;init&gt;(Ljava/util/SortedSet;)V" />
+		<method name="clone()Ljava/util/concurrent/ConcurrentSkipListSet;" />
+		<method name="headSet(Ljava/lang/Object;)Ljava/util/NavigableSet;" />
+		<method name="subSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/NavigableSet;" />
+		<method name="tailSet(Ljava/lang/Object;)Ljava/util/NavigableSet;" />
+	</class>
+	<class name="java/util/concurrent/CopyOnWriteArrayList" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/List" />
+		<implements name="java/util/RandomAccess" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="&lt;init&gt;([Ljava/lang/Object;)V" />
+		<method name="addAllAbsent(Ljava/util/Collection;)I" />
+		<method name="addIfAbsent(Ljava/lang/Object;)Z" />
+		<method name="indexOf(Ljava/lang/Object;I)I" />
+		<method name="lastIndexOf(Ljava/lang/Object;I)I" />
+	</class>
+	<class name="java/util/concurrent/CopyOnWriteArraySet" since="1">
+		<extends name="java/util/AbstractSet" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+	</class>
+	<class name="java/util/concurrent/CountDownLatch" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="await()V" />
+		<method name="await(JLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="countDown()V" />
+		<method name="getCount()J" />
+	</class>
+	<class name="java/util/concurrent/CountedCompleter" since="24">
+		<extends name="java/util/concurrent/ForkJoinTask" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/CountedCompleter;)V" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/CountedCompleter;I)V" />
+		<method name="addToPendingCount(I)V" />
+		<method name="compareAndSetPendingCount(II)Z" />
+		<method name="compute()V" />
+		<method name="decrementPendingCountUnlessZero()I" />
+		<method name="firstComplete()Ljava/util/concurrent/CountedCompleter;" />
+		<method name="getCompleter()Ljava/util/concurrent/CountedCompleter;" />
+		<method name="getPendingCount()I" />
+		<method name="getRoot()Ljava/util/concurrent/CountedCompleter;" />
+		<method name="helpComplete(I)V" />
+		<method name="nextComplete()Ljava/util/concurrent/CountedCompleter;" />
+		<method name="onCompletion(Ljava/util/concurrent/CountedCompleter;)V" />
+		<method name="onExceptionalCompletion(Ljava/lang/Throwable;Ljava/util/concurrent/CountedCompleter;)Z" />
+		<method name="propagateCompletion()V" />
+		<method name="quietlyCompleteRoot()V" />
+		<method name="setPendingCount(I)V" />
+		<method name="tryComplete()V" />
+	</class>
+	<class name="java/util/concurrent/CyclicBarrier" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/lang/Runnable;)V" />
+		<method name="await()I" />
+		<method name="await(JLjava/util/concurrent/TimeUnit;)I" />
+		<method name="getNumberWaiting()I" />
+		<method name="getParties()I" />
+		<method name="isBroken()Z" />
+		<method name="reset()V" />
+	</class>
+	<class name="java/util/concurrent/DelayQueue" since="1">
+		<extends name="java/util/AbstractQueue" />
+		<implements name="java/util/concurrent/BlockingQueue" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="add(Ljava/util/concurrent/Delayed;)Z" />
+		<method name="offer(Ljava/util/concurrent/Delayed;)Z" />
+		<method name="offer(Ljava/util/concurrent/Delayed;JLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="peek()Ljava/util/concurrent/Delayed;" />
+		<method name="poll()Ljava/util/concurrent/Delayed;" />
+		<method name="poll(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Delayed;" />
+		<method name="put(Ljava/util/concurrent/Delayed;)V" />
+		<method name="take()Ljava/util/concurrent/Delayed;" />
+	</class>
+	<class name="java/util/concurrent/Delayed" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Comparable" />
+		<method name="getDelay(Ljava/util/concurrent/TimeUnit;)J" />
+	</class>
+	<class name="java/util/concurrent/Exchanger" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="exchange(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="exchange(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/concurrent/ExecutionException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/concurrent/Executor" since="1">
+		<extends name="java/lang/Object" />
+		<method name="execute(Ljava/lang/Runnable;)V" />
+	</class>
+	<class name="java/util/concurrent/ExecutorCompletionService" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/CompletionService" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/Executor;)V" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/Executor;Ljava/util/concurrent/BlockingQueue;)V" />
+	</class>
+	<class name="java/util/concurrent/ExecutorService" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/Executor" />
+		<method name="awaitTermination(JLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="invokeAll(Ljava/util/Collection;)Ljava/util/List;" />
+		<method name="invokeAll(Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;)Ljava/util/List;" />
+		<method name="invokeAny(Ljava/util/Collection;)Ljava/lang/Object;" />
+		<method name="invokeAny(Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;" />
+		<method name="isShutdown()Z" />
+		<method name="isTerminated()Z" />
+		<method name="shutdown()V" />
+		<method name="shutdownNow()Ljava/util/List;" />
+		<method name="submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;" />
+		<method name="submit(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Future;" />
+		<method name="submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;" />
+	</class>
+	<class name="java/util/concurrent/Executors" since="1">
+		<extends name="java/lang/Object" />
+		<method name="callable(Ljava/lang/Runnable;)Ljava/util/concurrent/Callable;" />
+		<method name="callable(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Callable;" />
+		<method name="callable(Ljava/security/PrivilegedAction;)Ljava/util/concurrent/Callable;" />
+		<method name="callable(Ljava/security/PrivilegedExceptionAction;)Ljava/util/concurrent/Callable;" />
+		<method name="defaultThreadFactory()Ljava/util/concurrent/ThreadFactory;" />
+		<method name="newCachedThreadPool()Ljava/util/concurrent/ExecutorService;" />
+		<method name="newCachedThreadPool(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;" />
+		<method name="newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;" />
+		<method name="newFixedThreadPool(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;" />
+		<method name="newScheduledThreadPool(I)Ljava/util/concurrent/ScheduledExecutorService;" />
+		<method name="newScheduledThreadPool(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;" />
+		<method name="newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;" />
+		<method name="newSingleThreadExecutor(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;" />
+		<method name="newSingleThreadScheduledExecutor()Ljava/util/concurrent/ScheduledExecutorService;" />
+		<method name="newSingleThreadScheduledExecutor(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;" />
+		<method name="newWorkStealingPool()Ljava/util/concurrent/ExecutorService;" since="24" />
+		<method name="newWorkStealingPool(I)Ljava/util/concurrent/ExecutorService;" since="24" />
+		<method name="privilegedCallable(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Callable;" />
+		<method name="privilegedCallableUsingCurrentClassLoader(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Callable;" />
+		<method name="privilegedThreadFactory()Ljava/util/concurrent/ThreadFactory;" />
+		<method name="unconfigurableExecutorService(Ljava/util/concurrent/ExecutorService;)Ljava/util/concurrent/ExecutorService;" />
+		<method name="unconfigurableScheduledExecutorService(Ljava/util/concurrent/ScheduledExecutorService;)Ljava/util/concurrent/ScheduledExecutorService;" />
+	</class>
+	<class name="java/util/concurrent/Flow" since="30">
+		<extends name="java/lang/Object" />
+		<method name="defaultBufferSize()I" />
+	</class>
+	<class name="java/util/concurrent/Flow$Processor" since="30">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/Flow$Publisher" />
+		<implements name="java/util/concurrent/Flow$Subscriber" />
+	</class>
+	<class name="java/util/concurrent/Flow$Publisher" since="30">
+		<extends name="java/lang/Object" />
+		<method name="subscribe(Ljava/util/concurrent/Flow$Subscriber;)V" />
+	</class>
+	<class name="java/util/concurrent/Flow$Subscriber" since="30">
+		<extends name="java/lang/Object" />
+		<method name="onComplete()V" />
+		<method name="onError(Ljava/lang/Throwable;)V" />
+		<method name="onNext(Ljava/lang/Object;)V" />
+		<method name="onSubscribe(Ljava/util/concurrent/Flow$Subscription;)V" />
+	</class>
+	<class name="java/util/concurrent/Flow$Subscription" since="30">
+		<extends name="java/lang/Object" />
+		<method name="cancel()V" />
+		<method name="request(J)V" />
+	</class>
+	<class name="java/util/concurrent/ForkJoinPool" since="21">
+		<extends name="java/util/concurrent/AbstractExecutorService" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;Z)V" />
+		<method name="awaitQuiescence(JLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="commonPool()Ljava/util/concurrent/ForkJoinPool;" since="24" />
+		<method name="drainTasksTo(Ljava/util/Collection;)I" />
+		<method name="execute(Ljava/util/concurrent/ForkJoinTask;)V" />
+		<method name="getActiveThreadCount()I" />
+		<method name="getAsyncMode()Z" />
+		<method name="getCommonPoolParallelism()I" since="24" />
+		<method name="getFactory()Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;" />
+		<method name="getParallelism()I" />
+		<method name="getPoolSize()I" />
+		<method name="getQueuedSubmissionCount()I" />
+		<method name="getQueuedTaskCount()J" />
+		<method name="getRunningThreadCount()I" />
+		<method name="getStealCount()J" />
+		<method name="getUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;" />
+		<method name="hasQueuedSubmissions()Z" />
+		<method name="invoke(Ljava/util/concurrent/ForkJoinTask;)Ljava/lang/Object;" />
+		<method name="isQuiescent()Z" />
+		<method name="isTerminating()Z" />
+		<method name="managedBlock(Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V" />
+		<method name="pollSubmission()Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="submit(Ljava/lang/Runnable;)Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="submit(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="submit(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;" />
+		<field name="defaultForkJoinWorkerThreadFactory" />
+	</class>
+	<class name="java/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory" since="21">
+		<extends name="java/lang/Object" />
+		<method name="newThread(Ljava/util/concurrent/ForkJoinPool;)Ljava/util/concurrent/ForkJoinWorkerThread;" />
+	</class>
+	<class name="java/util/concurrent/ForkJoinPool$ManagedBlocker" since="21">
+		<extends name="java/lang/Object" />
+		<method name="block()Z" />
+		<method name="isReleasable()Z" />
+	</class>
+	<class name="java/util/concurrent/ForkJoinTask" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/Future" />
+		<method name="&lt;init&gt;()V" />
+		<method name="adapt(Ljava/lang/Runnable;)Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="adapt(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="adapt(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="compareAndSetForkJoinTaskTag(SS)Z" since="24" />
+		<method name="complete(Ljava/lang/Object;)V" />
+		<method name="completeExceptionally(Ljava/lang/Throwable;)V" />
+		<method name="exec()Z" />
+		<method name="fork()Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="getException()Ljava/lang/Throwable;" />
+		<method name="getForkJoinTaskTag()S" since="24" />
+		<method name="getPool()Ljava/util/concurrent/ForkJoinPool;" />
+		<method name="getQueuedTaskCount()I" />
+		<method name="getRawResult()Ljava/lang/Object;" />
+		<method name="getSurplusQueuedTaskCount()I" />
+		<method name="helpQuiesce()V" />
+		<method name="inForkJoinPool()Z" />
+		<method name="invoke()Ljava/lang/Object;" />
+		<method name="invokeAll(Ljava/util/Collection;)Ljava/util/Collection;" />
+		<method name="invokeAll(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinTask;)V" />
+		<method name="invokeAll([Ljava/util/concurrent/ForkJoinTask;)V" />
+		<method name="isCompletedAbnormally()Z" />
+		<method name="isCompletedNormally()Z" />
+		<method name="join()Ljava/lang/Object;" />
+		<method name="peekNextLocalTask()Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="pollNextLocalTask()Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="pollTask()Ljava/util/concurrent/ForkJoinTask;" />
+		<method name="quietlyComplete()V" since="24" />
+		<method name="quietlyInvoke()V" />
+		<method name="quietlyJoin()V" />
+		<method name="reinitialize()V" />
+		<method name="setForkJoinTaskTag(S)S" since="24" />
+		<method name="setRawResult(Ljava/lang/Object;)V" />
+		<method name="tryUnfork()Z" />
+	</class>
+	<class name="java/util/concurrent/ForkJoinWorkerThread" since="21">
+		<extends name="java/lang/Thread" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/ForkJoinPool;)V" />
+		<method name="getPool()Ljava/util/concurrent/ForkJoinPool;" />
+		<method name="getPoolIndex()I" />
+		<method name="onStart()V" />
+		<method name="onTermination(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/concurrent/Future" since="1">
+		<extends name="java/lang/Object" />
+		<method name="cancel(Z)Z" />
+		<method name="get()Ljava/lang/Object;" />
+		<method name="get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;" />
+		<method name="isCancelled()Z" />
+		<method name="isDone()Z" />
+	</class>
+	<class name="java/util/concurrent/FutureTask" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Runnable" removed="9" />
+		<implements name="java/util/concurrent/Future" removed="9" />
+		<implements name="java/util/concurrent/RunnableFuture" since="9" />
+		<method name="&lt;init&gt;(Ljava/lang/Runnable;Ljava/lang/Object;)V" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/Callable;)V" />
+		<method name="done()V" />
+		<method name="runAndReset()Z" />
+		<method name="set(Ljava/lang/Object;)V" />
+		<method name="setException(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/concurrent/LinkedBlockingDeque" since="9">
+		<extends name="java/util/AbstractQueue" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/BlockingDeque" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+	</class>
+	<class name="java/util/concurrent/LinkedBlockingQueue" since="1">
+		<extends name="java/util/AbstractQueue" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/BlockingQueue" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+	</class>
+	<class name="java/util/concurrent/LinkedTransferQueue" since="21">
+		<extends name="java/util/AbstractQueue" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/TransferQueue" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+	</class>
+	<class name="java/util/concurrent/Phaser" since="21">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/Phaser;)V" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/Phaser;I)V" />
+		<method name="arrive()I" />
+		<method name="arriveAndAwaitAdvance()I" />
+		<method name="arriveAndDeregister()I" />
+		<method name="awaitAdvance(I)I" />
+		<method name="awaitAdvanceInterruptibly(I)I" />
+		<method name="awaitAdvanceInterruptibly(IJLjava/util/concurrent/TimeUnit;)I" />
+		<method name="bulkRegister(I)I" />
+		<method name="forceTermination()V" />
+		<method name="getArrivedParties()I" />
+		<method name="getParent()Ljava/util/concurrent/Phaser;" />
+		<method name="getPhase()I" />
+		<method name="getRegisteredParties()I" />
+		<method name="getRoot()Ljava/util/concurrent/Phaser;" />
+		<method name="getUnarrivedParties()I" />
+		<method name="isTerminated()Z" />
+		<method name="onAdvance(II)Z" />
+		<method name="register()I" />
+	</class>
+	<class name="java/util/concurrent/PriorityBlockingQueue" since="1">
+		<extends name="java/util/AbstractQueue" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/BlockingQueue" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/util/Comparator;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="comparator()Ljava/util/Comparator;" />
+	</class>
+	<class name="java/util/concurrent/RecursiveAction" since="21">
+		<extends name="java/util/concurrent/ForkJoinTask" />
+		<method name="&lt;init&gt;()V" />
+		<method name="compute()V" />
+		<method name="getRawResult()Ljava/lang/Void;" />
+		<method name="setRawResult(Ljava/lang/Void;)V" />
+	</class>
+	<class name="java/util/concurrent/RecursiveTask" since="21">
+		<extends name="java/util/concurrent/ForkJoinTask" />
+		<method name="&lt;init&gt;()V" />
+		<method name="compute()Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/concurrent/RejectedExecutionException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/concurrent/RejectedExecutionHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="rejectedExecution(Ljava/lang/Runnable;Ljava/util/concurrent/ThreadPoolExecutor;)V" />
+	</class>
+	<class name="java/util/concurrent/RunnableFuture" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Runnable" />
+		<implements name="java/util/concurrent/Future" />
+	</class>
+	<class name="java/util/concurrent/RunnableScheduledFuture" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/RunnableFuture" />
+		<implements name="java/util/concurrent/ScheduledFuture" />
+		<method name="isPeriodic()Z" />
+	</class>
+	<class name="java/util/concurrent/ScheduledExecutorService" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/ExecutorService" />
+		<method name="schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;" />
+		<method name="schedule(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;" />
+		<method name="scheduleAtFixedRate(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;" />
+		<method name="scheduleWithFixedDelay(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;" />
+	</class>
+	<class name="java/util/concurrent/ScheduledFuture" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/Delayed" />
+		<implements name="java/util/concurrent/Future" />
+	</class>
+	<class name="java/util/concurrent/ScheduledThreadPoolExecutor" since="1">
+		<extends name="java/util/concurrent/ThreadPoolExecutor" />
+		<implements name="java/util/concurrent/ScheduledExecutorService" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(ILjava/util/concurrent/RejectedExecutionHandler;)V" />
+		<method name="&lt;init&gt;(ILjava/util/concurrent/ThreadFactory;)V" />
+		<method name="&lt;init&gt;(ILjava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V" />
+		<method name="decorateTask(Ljava/lang/Runnable;Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;" since="9" />
+		<method name="decorateTask(Ljava/util/concurrent/Callable;Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;" since="9" />
+		<method name="getContinueExistingPeriodicTasksAfterShutdownPolicy()Z" />
+		<method name="getExecuteExistingDelayedTasksAfterShutdownPolicy()Z" />
+		<method name="getRemoveOnCancelPolicy()Z" since="21" />
+		<method name="setContinueExistingPeriodicTasksAfterShutdownPolicy(Z)V" />
+		<method name="setExecuteExistingDelayedTasksAfterShutdownPolicy(Z)V" />
+		<method name="setRemoveOnCancelPolicy(Z)V" since="21" />
+	</class>
+	<class name="java/util/concurrent/Semaphore" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IZ)V" />
+		<method name="acquire()V" />
+		<method name="acquire(I)V" />
+		<method name="acquireUninterruptibly()V" />
+		<method name="acquireUninterruptibly(I)V" />
+		<method name="availablePermits()I" />
+		<method name="drainPermits()I" />
+		<method name="getQueueLength()I" />
+		<method name="getQueuedThreads()Ljava/util/Collection;" />
+		<method name="hasQueuedThreads()Z" />
+		<method name="isFair()Z" />
+		<method name="reducePermits(I)V" />
+		<method name="release()V" />
+		<method name="release(I)V" />
+		<method name="tryAcquire()Z" />
+		<method name="tryAcquire(I)Z" />
+		<method name="tryAcquire(IJLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="tryAcquire(JLjava/util/concurrent/TimeUnit;)Z" />
+	</class>
+	<class name="java/util/concurrent/SynchronousQueue" since="1">
+		<extends name="java/util/AbstractQueue" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/BlockingQueue" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Z)V" />
+	</class>
+	<class name="java/util/concurrent/ThreadFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;" />
+	</class>
+	<class name="java/util/concurrent/ThreadLocalRandom" since="21">
+		<extends name="java/util/Random" />
+		<method name="current()Ljava/util/concurrent/ThreadLocalRandom;" />
+		<method name="nextDouble(D)D" />
+		<method name="nextDouble(DD)D" />
+		<method name="nextInt(II)I" />
+		<method name="nextLong(J)J" />
+		<method name="nextLong(JJ)J" />
+	</class>
+	<class name="java/util/concurrent/ThreadPoolExecutor" since="1">
+		<extends name="java/util/concurrent/AbstractExecutorService" />
+		<method name="&lt;init&gt;(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;)V" />
+		<method name="&lt;init&gt;(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/RejectedExecutionHandler;)V" />
+		<method name="&lt;init&gt;(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V" />
+		<method name="&lt;init&gt;(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V" />
+		<method name="afterExecute(Ljava/lang/Runnable;Ljava/lang/Throwable;)V" />
+		<method name="allowCoreThreadTimeOut(Z)V" since="9" />
+		<method name="allowsCoreThreadTimeOut()Z" since="9" />
+		<method name="beforeExecute(Ljava/lang/Thread;Ljava/lang/Runnable;)V" />
+		<method name="getActiveCount()I" />
+		<method name="getCompletedTaskCount()J" />
+		<method name="getCorePoolSize()I" />
+		<method name="getKeepAliveTime(Ljava/util/concurrent/TimeUnit;)J" />
+		<method name="getLargestPoolSize()I" />
+		<method name="getMaximumPoolSize()I" />
+		<method name="getPoolSize()I" />
+		<method name="getQueue()Ljava/util/concurrent/BlockingQueue;" />
+		<method name="getRejectedExecutionHandler()Ljava/util/concurrent/RejectedExecutionHandler;" />
+		<method name="getTaskCount()J" />
+		<method name="getThreadFactory()Ljava/util/concurrent/ThreadFactory;" />
+		<method name="isTerminating()Z" />
+		<method name="prestartAllCoreThreads()I" />
+		<method name="prestartCoreThread()Z" />
+		<method name="purge()V" />
+		<method name="remove(Ljava/lang/Runnable;)Z" />
+		<method name="setCorePoolSize(I)V" />
+		<method name="setKeepAliveTime(JLjava/util/concurrent/TimeUnit;)V" />
+		<method name="setMaximumPoolSize(I)V" />
+		<method name="setRejectedExecutionHandler(Ljava/util/concurrent/RejectedExecutionHandler;)V" />
+		<method name="setThreadFactory(Ljava/util/concurrent/ThreadFactory;)V" />
+		<method name="terminated()V" />
+	</class>
+	<class name="java/util/concurrent/ThreadPoolExecutor$AbortPolicy" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/RejectedExecutionHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/RejectedExecutionHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/RejectedExecutionHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/concurrent/ThreadPoolExecutor$DiscardPolicy" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/RejectedExecutionHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/concurrent/TimeUnit" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="convert(JLjava/util/concurrent/TimeUnit;)J" />
+		<method name="sleep(J)V" />
+		<method name="timedJoin(Ljava/lang/Thread;J)V" />
+		<method name="timedWait(Ljava/lang/Object;J)V" />
+		<method name="toDays(J)J" since="9" />
+		<method name="toHours(J)J" since="9" />
+		<method name="toMicros(J)J" />
+		<method name="toMillis(J)J" />
+		<method name="toMinutes(J)J" since="9" />
+		<method name="toNanos(J)J" />
+		<method name="toSeconds(J)J" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/util/concurrent/TimeUnit;" />
+		<method name="values()[Ljava/util/concurrent/TimeUnit;" />
+		<field name="DAYS" since="9" />
+		<field name="HOURS" since="9" />
+		<field name="MICROSECONDS" />
+		<field name="MILLISECONDS" />
+		<field name="MINUTES" since="9" />
+		<field name="NANOSECONDS" />
+		<field name="SECONDS" />
+	</class>
+	<class name="java/util/concurrent/TimeoutException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/concurrent/TransferQueue" since="21">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/concurrent/BlockingQueue" />
+		<method name="getWaitingConsumerCount()I" />
+		<method name="hasWaitingConsumer()Z" />
+		<method name="transfer(Ljava/lang/Object;)V" />
+		<method name="tryTransfer(Ljava/lang/Object;)Z" />
+		<method name="tryTransfer(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicBoolean" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Z)V" />
+		<method name="compareAndSet(ZZ)Z" />
+		<method name="get()Z" />
+		<method name="getAndSet(Z)Z" />
+		<method name="lazySet(Z)V" since="9" />
+		<method name="set(Z)V" />
+		<method name="weakCompareAndSet(ZZ)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicInteger" since="1">
+		<extends name="java/lang/Number" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="accumulateAndGet(ILjava/util/function/IntBinaryOperator;)I" since="24" />
+		<method name="addAndGet(I)I" />
+		<method name="compareAndSet(II)Z" />
+		<method name="decrementAndGet()I" />
+		<method name="get()I" />
+		<method name="getAndAccumulate(ILjava/util/function/IntBinaryOperator;)I" since="24" />
+		<method name="getAndAdd(I)I" />
+		<method name="getAndDecrement()I" />
+		<method name="getAndIncrement()I" />
+		<method name="getAndSet(I)I" />
+		<method name="getAndUpdate(Ljava/util/function/IntUnaryOperator;)I" since="24" />
+		<method name="incrementAndGet()I" />
+		<method name="lazySet(I)V" since="9" />
+		<method name="set(I)V" />
+		<method name="updateAndGet(Ljava/util/function/IntUnaryOperator;)I" since="24" />
+		<method name="weakCompareAndSet(II)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicIntegerArray" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;([I)V" />
+		<method name="accumulateAndGet(IILjava/util/function/IntBinaryOperator;)I" since="24" />
+		<method name="addAndGet(II)I" />
+		<method name="compareAndSet(III)Z" />
+		<method name="decrementAndGet(I)I" />
+		<method name="get(I)I" />
+		<method name="getAndAccumulate(IILjava/util/function/IntBinaryOperator;)I" since="24" />
+		<method name="getAndAdd(II)I" />
+		<method name="getAndDecrement(I)I" />
+		<method name="getAndIncrement(I)I" />
+		<method name="getAndSet(II)I" />
+		<method name="getAndUpdate(ILjava/util/function/IntUnaryOperator;)I" since="24" />
+		<method name="incrementAndGet(I)I" />
+		<method name="lazySet(II)V" since="9" />
+		<method name="length()I" />
+		<method name="set(II)V" />
+		<method name="updateAndGet(ILjava/util/function/IntUnaryOperator;)I" since="24" />
+		<method name="weakCompareAndSet(III)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicIntegerFieldUpdater" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="accumulateAndGet(Ljava/lang/Object;ILjava/util/function/IntBinaryOperator;)I" since="24" />
+		<method name="addAndGet(Ljava/lang/Object;I)I" />
+		<method name="compareAndSet(Ljava/lang/Object;II)Z" />
+		<method name="decrementAndGet(Ljava/lang/Object;)I" />
+		<method name="get(Ljava/lang/Object;)I" />
+		<method name="getAndAccumulate(Ljava/lang/Object;ILjava/util/function/IntBinaryOperator;)I" since="24" />
+		<method name="getAndAdd(Ljava/lang/Object;I)I" />
+		<method name="getAndDecrement(Ljava/lang/Object;)I" />
+		<method name="getAndIncrement(Ljava/lang/Object;)I" />
+		<method name="getAndSet(Ljava/lang/Object;I)I" />
+		<method name="getAndUpdate(Ljava/lang/Object;Ljava/util/function/IntUnaryOperator;)I" since="24" />
+		<method name="incrementAndGet(Ljava/lang/Object;)I" />
+		<method name="lazySet(Ljava/lang/Object;I)V" since="9" />
+		<method name="newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;" />
+		<method name="set(Ljava/lang/Object;I)V" />
+		<method name="updateAndGet(Ljava/lang/Object;Ljava/util/function/IntUnaryOperator;)I" since="24" />
+		<method name="weakCompareAndSet(Ljava/lang/Object;II)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicLong" since="1">
+		<extends name="java/lang/Number" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(J)V" />
+		<method name="accumulateAndGet(JLjava/util/function/LongBinaryOperator;)J" since="24" />
+		<method name="addAndGet(J)J" />
+		<method name="compareAndSet(JJ)Z" />
+		<method name="decrementAndGet()J" />
+		<method name="get()J" />
+		<method name="getAndAccumulate(JLjava/util/function/LongBinaryOperator;)J" since="24" />
+		<method name="getAndAdd(J)J" />
+		<method name="getAndDecrement()J" />
+		<method name="getAndIncrement()J" />
+		<method name="getAndSet(J)J" />
+		<method name="getAndUpdate(Ljava/util/function/LongUnaryOperator;)J" since="24" />
+		<method name="incrementAndGet()J" />
+		<method name="lazySet(J)V" since="9" />
+		<method name="set(J)V" />
+		<method name="updateAndGet(Ljava/util/function/LongUnaryOperator;)J" since="24" />
+		<method name="weakCompareAndSet(JJ)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicLongArray" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;([J)V" />
+		<method name="accumulateAndGet(IJLjava/util/function/LongBinaryOperator;)J" since="24" />
+		<method name="addAndGet(IJ)J" />
+		<method name="compareAndSet(IJJ)Z" />
+		<method name="decrementAndGet(I)J" />
+		<method name="get(I)J" />
+		<method name="getAndAccumulate(IJLjava/util/function/LongBinaryOperator;)J" since="24" />
+		<method name="getAndAdd(IJ)J" />
+		<method name="getAndDecrement(I)J" />
+		<method name="getAndIncrement(I)J" />
+		<method name="getAndSet(IJ)J" />
+		<method name="getAndUpdate(ILjava/util/function/LongUnaryOperator;)J" since="24" />
+		<method name="incrementAndGet(I)J" />
+		<method name="lazySet(IJ)V" since="9" />
+		<method name="length()I" />
+		<method name="set(IJ)V" />
+		<method name="updateAndGet(ILjava/util/function/LongUnaryOperator;)J" since="24" />
+		<method name="weakCompareAndSet(IJJ)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicLongFieldUpdater" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="accumulateAndGet(Ljava/lang/Object;JLjava/util/function/LongBinaryOperator;)J" since="24" />
+		<method name="addAndGet(Ljava/lang/Object;J)J" />
+		<method name="compareAndSet(Ljava/lang/Object;JJ)Z" />
+		<method name="decrementAndGet(Ljava/lang/Object;)J" />
+		<method name="get(Ljava/lang/Object;)J" />
+		<method name="getAndAccumulate(Ljava/lang/Object;JLjava/util/function/LongBinaryOperator;)J" since="24" />
+		<method name="getAndAdd(Ljava/lang/Object;J)J" />
+		<method name="getAndDecrement(Ljava/lang/Object;)J" />
+		<method name="getAndIncrement(Ljava/lang/Object;)J" />
+		<method name="getAndSet(Ljava/lang/Object;J)J" />
+		<method name="getAndUpdate(Ljava/lang/Object;Ljava/util/function/LongUnaryOperator;)J" since="24" />
+		<method name="incrementAndGet(Ljava/lang/Object;)J" />
+		<method name="lazySet(Ljava/lang/Object;J)V" since="9" />
+		<method name="newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;" />
+		<method name="set(Ljava/lang/Object;J)V" />
+		<method name="updateAndGet(Ljava/lang/Object;Ljava/util/function/LongUnaryOperator;)J" since="24" />
+		<method name="weakCompareAndSet(Ljava/lang/Object;JJ)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicMarkableReference" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;Z)V" />
+		<method name="attemptMark(Ljava/lang/Object;Z)Z" />
+		<method name="compareAndSet(Ljava/lang/Object;Ljava/lang/Object;ZZ)Z" />
+		<method name="get([Z)Ljava/lang/Object;" />
+		<method name="getReference()Ljava/lang/Object;" />
+		<method name="isMarked()Z" />
+		<method name="set(Ljava/lang/Object;Z)V" />
+		<method name="weakCompareAndSet(Ljava/lang/Object;Ljava/lang/Object;ZZ)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicReference" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" />
+		<method name="accumulateAndGet(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z" />
+		<method name="get()Ljava/lang/Object;" />
+		<method name="getAndAccumulate(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="getAndSet(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="getAndUpdate(Ljava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="lazySet(Ljava/lang/Object;)V" since="9" />
+		<method name="set(Ljava/lang/Object;)V" />
+		<method name="updateAndGet(Ljava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="weakCompareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicReferenceArray" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;([Ljava/lang/Object;)V" />
+		<method name="accumulateAndGet(ILjava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="compareAndSet(ILjava/lang/Object;Ljava/lang/Object;)Z" />
+		<method name="get(I)Ljava/lang/Object;" />
+		<method name="getAndAccumulate(ILjava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="getAndSet(ILjava/lang/Object;)Ljava/lang/Object;" />
+		<method name="getAndUpdate(ILjava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="lazySet(ILjava/lang/Object;)V" since="9" />
+		<method name="length()I" />
+		<method name="set(ILjava/lang/Object;)V" />
+		<method name="updateAndGet(ILjava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="weakCompareAndSet(ILjava/lang/Object;Ljava/lang/Object;)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicReferenceFieldUpdater" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="accumulateAndGet(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z" />
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="getAndAccumulate(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="getAndSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="getAndUpdate(Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="lazySet(Ljava/lang/Object;Ljava/lang/Object;)V" since="9" />
+		<method name="newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;" />
+		<method name="set(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="updateAndGet(Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24" />
+		<method name="weakCompareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicStampedReference" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;I)V" />
+		<method name="attemptStamp(Ljava/lang/Object;I)Z" />
+		<method name="compareAndSet(Ljava/lang/Object;Ljava/lang/Object;II)Z" />
+		<method name="get([I)Ljava/lang/Object;" />
+		<method name="getReference()Ljava/lang/Object;" />
+		<method name="getStamp()I" />
+		<method name="set(Ljava/lang/Object;I)V" />
+		<method name="weakCompareAndSet(Ljava/lang/Object;Ljava/lang/Object;II)Z" />
+	</class>
+	<class name="java/util/concurrent/atomic/DoubleAccumulator" since="24">
+		<extends name="java/lang/Number" />
+		<method name="&lt;init&gt;(Ljava/util/function/DoubleBinaryOperator;D)V" />
+		<method name="accumulate(D)V" />
+		<method name="get()D" />
+		<method name="getThenReset()D" />
+		<method name="reset()V" />
+	</class>
+	<class name="java/util/concurrent/atomic/DoubleAdder" since="24">
+		<extends name="java/lang/Number" />
+		<method name="&lt;init&gt;()V" />
+		<method name="add(D)V" />
+		<method name="reset()V" />
+		<method name="sum()D" />
+		<method name="sumThenReset()D" />
+	</class>
+	<class name="java/util/concurrent/atomic/LongAccumulator" since="24">
+		<extends name="java/lang/Number" />
+		<method name="&lt;init&gt;(Ljava/util/function/LongBinaryOperator;J)V" />
+		<method name="accumulate(J)V" />
+		<method name="get()J" />
+		<method name="getThenReset()J" />
+		<method name="reset()V" />
+	</class>
+	<class name="java/util/concurrent/atomic/LongAdder" since="24">
+		<extends name="java/lang/Number" />
+		<method name="&lt;init&gt;()V" />
+		<method name="add(J)V" />
+		<method name="decrement()V" />
+		<method name="increment()V" />
+		<method name="reset()V" />
+		<method name="sum()J" />
+		<method name="sumThenReset()J" />
+	</class>
+	<class name="java/util/concurrent/locks/AbstractOwnableSynchronizer" since="5">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getExclusiveOwnerThread()Ljava/lang/Thread;" />
+		<method name="setExclusiveOwnerThread(Ljava/lang/Thread;)V" />
+	</class>
+	<class name="java/util/concurrent/locks/AbstractQueuedLongSynchronizer" since="9">
+		<extends name="java/util/concurrent/locks/AbstractOwnableSynchronizer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="acquire(J)V" />
+		<method name="acquireInterruptibly(J)V" />
+		<method name="acquireShared(J)V" />
+		<method name="acquireSharedInterruptibly(J)V" />
+		<method name="compareAndSetState(JJ)Z" />
+		<method name="getExclusiveQueuedThreads()Ljava/util/Collection;" />
+		<method name="getFirstQueuedThread()Ljava/lang/Thread;" />
+		<method name="getQueueLength()I" />
+		<method name="getQueuedThreads()Ljava/util/Collection;" />
+		<method name="getSharedQueuedThreads()Ljava/util/Collection;" />
+		<method name="getState()J" />
+		<method name="getWaitQueueLength(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;)I" />
+		<method name="getWaitingThreads(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;)Ljava/util/Collection;" />
+		<method name="hasContended()Z" />
+		<method name="hasQueuedPredecessors()Z" since="21" />
+		<method name="hasQueuedThreads()Z" />
+		<method name="hasWaiters(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;)Z" />
+		<method name="isHeldExclusively()Z" />
+		<method name="isQueued(Ljava/lang/Thread;)Z" />
+		<method name="owns(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;)Z" />
+		<method name="release(J)Z" />
+		<method name="releaseShared(J)Z" />
+		<method name="setState(J)V" />
+		<method name="tryAcquire(J)Z" />
+		<method name="tryAcquireNanos(JJ)Z" />
+		<method name="tryAcquireShared(J)J" />
+		<method name="tryAcquireSharedNanos(JJ)Z" />
+		<method name="tryRelease(J)Z" />
+		<method name="tryReleaseShared(J)Z" />
+	</class>
+	<class name="java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/locks/Condition" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;)V" />
+		<method name="getWaitQueueLength()I" />
+		<method name="getWaitingThreads()Ljava/util/Collection;" />
+		<method name="hasWaiters()Z" />
+	</class>
+	<class name="java/util/concurrent/locks/AbstractQueuedSynchronizer" since="1">
+		<extends name="java/lang/Object" removed="5" />
+		<extends name="java/util/concurrent/locks/AbstractOwnableSynchronizer" since="5" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="acquire(I)V" />
+		<method name="acquireInterruptibly(I)V" />
+		<method name="acquireShared(I)V" />
+		<method name="acquireSharedInterruptibly(I)V" />
+		<method name="compareAndSetState(II)Z" />
+		<method name="getExclusiveQueuedThreads()Ljava/util/Collection;" />
+		<method name="getFirstQueuedThread()Ljava/lang/Thread;" />
+		<method name="getQueueLength()I" />
+		<method name="getQueuedThreads()Ljava/util/Collection;" />
+		<method name="getSharedQueuedThreads()Ljava/util/Collection;" />
+		<method name="getState()I" />
+		<method name="getWaitQueueLength(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;)I" />
+		<method name="getWaitingThreads(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;)Ljava/util/Collection;" />
+		<method name="hasContended()Z" />
+		<method name="hasQueuedPredecessors()Z" since="21" />
+		<method name="hasQueuedThreads()Z" />
+		<method name="hasWaiters(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;)Z" />
+		<method name="isHeldExclusively()Z" />
+		<method name="isQueued(Ljava/lang/Thread;)Z" />
+		<method name="owns(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;)Z" />
+		<method name="release(I)Z" />
+		<method name="releaseShared(I)Z" />
+		<method name="setState(I)V" />
+		<method name="tryAcquire(I)Z" />
+		<method name="tryAcquireNanos(IJ)Z" />
+		<method name="tryAcquireShared(I)I" />
+		<method name="tryAcquireSharedNanos(IJ)Z" />
+		<method name="tryRelease(I)Z" />
+		<method name="tryReleaseShared(I)Z" />
+	</class>
+	<class name="java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/locks/Condition" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;)V" />
+		<method name="getWaitQueueLength()I" />
+		<method name="getWaitingThreads()Ljava/util/Collection;" />
+		<method name="hasWaiters()Z" />
+	</class>
+	<class name="java/util/concurrent/locks/Condition" since="1">
+		<extends name="java/lang/Object" />
+		<method name="await()V" />
+		<method name="await(JLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="awaitNanos(J)J" />
+		<method name="awaitUninterruptibly()V" />
+		<method name="awaitUntil(Ljava/util/Date;)Z" />
+		<method name="signal()V" />
+		<method name="signalAll()V" />
+	</class>
+	<class name="java/util/concurrent/locks/Lock" since="1">
+		<extends name="java/lang/Object" />
+		<method name="lock()V" />
+		<method name="lockInterruptibly()V" />
+		<method name="newCondition()Ljava/util/concurrent/locks/Condition;" />
+		<method name="tryLock()Z" />
+		<method name="tryLock(JLjava/util/concurrent/TimeUnit;)Z" />
+		<method name="unlock()V" />
+	</class>
+	<class name="java/util/concurrent/locks/LockSupport" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getBlocker(Ljava/lang/Thread;)Ljava/lang/Object;" since="9" />
+		<method name="park()V" />
+		<method name="park(Ljava/lang/Object;)V" since="9" />
+		<method name="parkNanos(J)V" />
+		<method name="parkNanos(Ljava/lang/Object;J)V" since="9" />
+		<method name="parkUntil(J)V" />
+		<method name="parkUntil(Ljava/lang/Object;J)V" since="9" />
+		<method name="unpark(Ljava/lang/Thread;)V" />
+	</class>
+	<class name="java/util/concurrent/locks/ReadWriteLock" since="1">
+		<extends name="java/lang/Object" />
+		<method name="readLock()Ljava/util/concurrent/locks/Lock;" />
+		<method name="writeLock()Ljava/util/concurrent/locks/Lock;" />
+	</class>
+	<class name="java/util/concurrent/locks/ReentrantLock" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/locks/Lock" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Z)V" />
+		<method name="getHoldCount()I" />
+		<method name="getOwner()Ljava/lang/Thread;" />
+		<method name="getQueueLength()I" />
+		<method name="getQueuedThreads()Ljava/util/Collection;" />
+		<method name="getWaitQueueLength(Ljava/util/concurrent/locks/Condition;)I" />
+		<method name="getWaitingThreads(Ljava/util/concurrent/locks/Condition;)Ljava/util/Collection;" />
+		<method name="hasQueuedThread(Ljava/lang/Thread;)Z" />
+		<method name="hasQueuedThreads()Z" />
+		<method name="hasWaiters(Ljava/util/concurrent/locks/Condition;)Z" />
+		<method name="isFair()Z" />
+		<method name="isHeldByCurrentThread()Z" />
+		<method name="isLocked()Z" />
+	</class>
+	<class name="java/util/concurrent/locks/ReentrantReadWriteLock" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/locks/ReadWriteLock" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Z)V" />
+		<method name="getOwner()Ljava/lang/Thread;" />
+		<method name="getQueueLength()I" />
+		<method name="getQueuedReaderThreads()Ljava/util/Collection;" />
+		<method name="getQueuedThreads()Ljava/util/Collection;" />
+		<method name="getQueuedWriterThreads()Ljava/util/Collection;" />
+		<method name="getReadHoldCount()I" since="9" />
+		<method name="getReadLockCount()I" />
+		<method name="getWaitQueueLength(Ljava/util/concurrent/locks/Condition;)I" />
+		<method name="getWaitingThreads(Ljava/util/concurrent/locks/Condition;)Ljava/util/Collection;" />
+		<method name="getWriteHoldCount()I" />
+		<method name="hasQueuedThread(Ljava/lang/Thread;)Z" />
+		<method name="hasQueuedThreads()Z" />
+		<method name="hasWaiters(Ljava/util/concurrent/locks/Condition;)Z" />
+		<method name="isFair()Z" />
+		<method name="isWriteLocked()Z" />
+		<method name="isWriteLockedByCurrentThread()Z" />
+		<method name="readLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;" />
+		<method name="writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;" />
+	</class>
+	<class name="java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/locks/Lock" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/locks/ReentrantReadWriteLock;)V" />
+	</class>
+	<class name="java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/concurrent/locks/Lock" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/locks/ReentrantReadWriteLock;)V" />
+		<method name="getHoldCount()I" since="9" />
+		<method name="isHeldByCurrentThread()Z" since="9" />
+	</class>
+	<class name="java/util/concurrent/locks/StampedLock" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="asReadLock()Ljava/util/concurrent/locks/Lock;" />
+		<method name="asReadWriteLock()Ljava/util/concurrent/locks/ReadWriteLock;" />
+		<method name="asWriteLock()Ljava/util/concurrent/locks/Lock;" />
+		<method name="getReadLockCount()I" />
+		<method name="isReadLocked()Z" />
+		<method name="isWriteLocked()Z" />
+		<method name="readLock()J" />
+		<method name="readLockInterruptibly()J" />
+		<method name="tryConvertToOptimisticRead(J)J" />
+		<method name="tryConvertToReadLock(J)J" />
+		<method name="tryConvertToWriteLock(J)J" />
+		<method name="tryOptimisticRead()J" />
+		<method name="tryReadLock()J" />
+		<method name="tryReadLock(JLjava/util/concurrent/TimeUnit;)J" />
+		<method name="tryUnlockRead()Z" />
+		<method name="tryUnlockWrite()Z" />
+		<method name="tryWriteLock()J" />
+		<method name="tryWriteLock(JLjava/util/concurrent/TimeUnit;)J" />
+		<method name="unlock(J)V" />
+		<method name="unlockRead(J)V" />
+		<method name="unlockWrite(J)V" />
+		<method name="validate(J)Z" />
+		<method name="writeLock()J" />
+		<method name="writeLockInterruptibly()J" />
+	</class>
+	<class name="java/util/function/BiConsumer" since="24">
+		<extends name="java/lang/Object" />
+		<method name="accept(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="andThen(Ljava/util/function/BiConsumer;)Ljava/util/function/BiConsumer;" />
+	</class>
+	<class name="java/util/function/BiFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="andThen(Ljava/util/function/Function;)Ljava/util/function/BiFunction;" />
+		<method name="apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/function/BiPredicate" since="24">
+		<extends name="java/lang/Object" />
+		<method name="and(Ljava/util/function/BiPredicate;)Ljava/util/function/BiPredicate;" />
+		<method name="negate()Ljava/util/function/BiPredicate;" />
+		<method name="or(Ljava/util/function/BiPredicate;)Ljava/util/function/BiPredicate;" />
+		<method name="test(Ljava/lang/Object;Ljava/lang/Object;)Z" />
+	</class>
+	<class name="java/util/function/BinaryOperator" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/function/BiFunction" />
+		<method name="maxBy(Ljava/util/Comparator;)Ljava/util/function/BinaryOperator;" />
+		<method name="minBy(Ljava/util/Comparator;)Ljava/util/function/BinaryOperator;" />
+	</class>
+	<class name="java/util/function/BooleanSupplier" since="24">
+		<extends name="java/lang/Object" />
+		<method name="getAsBoolean()Z" />
+	</class>
+	<class name="java/util/function/Consumer" since="24">
+		<extends name="java/lang/Object" />
+		<method name="accept(Ljava/lang/Object;)V" />
+		<method name="andThen(Ljava/util/function/Consumer;)Ljava/util/function/Consumer;" />
+	</class>
+	<class name="java/util/function/DoubleBinaryOperator" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsDouble(DD)D" />
+	</class>
+	<class name="java/util/function/DoubleConsumer" since="24">
+		<extends name="java/lang/Object" />
+		<method name="accept(D)V" />
+		<method name="andThen(Ljava/util/function/DoubleConsumer;)Ljava/util/function/DoubleConsumer;" />
+	</class>
+	<class name="java/util/function/DoubleFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="apply(D)Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/function/DoublePredicate" since="24">
+		<extends name="java/lang/Object" />
+		<method name="and(Ljava/util/function/DoublePredicate;)Ljava/util/function/DoublePredicate;" />
+		<method name="negate()Ljava/util/function/DoublePredicate;" />
+		<method name="or(Ljava/util/function/DoublePredicate;)Ljava/util/function/DoublePredicate;" />
+		<method name="test(D)Z" />
+	</class>
+	<class name="java/util/function/DoubleSupplier" since="24">
+		<extends name="java/lang/Object" />
+		<method name="getAsDouble()D" />
+	</class>
+	<class name="java/util/function/DoubleToIntFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsInt(D)I" />
+	</class>
+	<class name="java/util/function/DoubleToLongFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsLong(D)J" />
+	</class>
+	<class name="java/util/function/DoubleUnaryOperator" since="24">
+		<extends name="java/lang/Object" />
+		<method name="andThen(Ljava/util/function/DoubleUnaryOperator;)Ljava/util/function/DoubleUnaryOperator;" />
+		<method name="applyAsDouble(D)D" />
+		<method name="compose(Ljava/util/function/DoubleUnaryOperator;)Ljava/util/function/DoubleUnaryOperator;" />
+		<method name="identity()Ljava/util/function/DoubleUnaryOperator;" />
+	</class>
+	<class name="java/util/function/Function" since="24">
+		<extends name="java/lang/Object" />
+		<method name="andThen(Ljava/util/function/Function;)Ljava/util/function/Function;" />
+		<method name="apply(Ljava/lang/Object;)Ljava/lang/Object;" />
+		<method name="compose(Ljava/util/function/Function;)Ljava/util/function/Function;" />
+		<method name="identity()Ljava/util/function/Function;" />
+	</class>
+	<class name="java/util/function/IntBinaryOperator" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsInt(II)I" />
+	</class>
+	<class name="java/util/function/IntConsumer" since="24">
+		<extends name="java/lang/Object" />
+		<method name="accept(I)V" />
+		<method name="andThen(Ljava/util/function/IntConsumer;)Ljava/util/function/IntConsumer;" />
+	</class>
+	<class name="java/util/function/IntFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="apply(I)Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/function/IntPredicate" since="24">
+		<extends name="java/lang/Object" />
+		<method name="and(Ljava/util/function/IntPredicate;)Ljava/util/function/IntPredicate;" />
+		<method name="negate()Ljava/util/function/IntPredicate;" />
+		<method name="or(Ljava/util/function/IntPredicate;)Ljava/util/function/IntPredicate;" />
+		<method name="test(I)Z" />
+	</class>
+	<class name="java/util/function/IntSupplier" since="24">
+		<extends name="java/lang/Object" />
+		<method name="getAsInt()I" />
+	</class>
+	<class name="java/util/function/IntToDoubleFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsDouble(I)D" />
+	</class>
+	<class name="java/util/function/IntToLongFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsLong(I)J" />
+	</class>
+	<class name="java/util/function/IntUnaryOperator" since="24">
+		<extends name="java/lang/Object" />
+		<method name="andThen(Ljava/util/function/IntUnaryOperator;)Ljava/util/function/IntUnaryOperator;" />
+		<method name="applyAsInt(I)I" />
+		<method name="compose(Ljava/util/function/IntUnaryOperator;)Ljava/util/function/IntUnaryOperator;" />
+		<method name="identity()Ljava/util/function/IntUnaryOperator;" />
+	</class>
+	<class name="java/util/function/LongBinaryOperator" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsLong(JJ)J" />
+	</class>
+	<class name="java/util/function/LongConsumer" since="24">
+		<extends name="java/lang/Object" />
+		<method name="accept(J)V" />
+		<method name="andThen(Ljava/util/function/LongConsumer;)Ljava/util/function/LongConsumer;" />
+	</class>
+	<class name="java/util/function/LongFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="apply(J)Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/function/LongPredicate" since="24">
+		<extends name="java/lang/Object" />
+		<method name="and(Ljava/util/function/LongPredicate;)Ljava/util/function/LongPredicate;" />
+		<method name="negate()Ljava/util/function/LongPredicate;" />
+		<method name="or(Ljava/util/function/LongPredicate;)Ljava/util/function/LongPredicate;" />
+		<method name="test(J)Z" />
+	</class>
+	<class name="java/util/function/LongSupplier" since="24">
+		<extends name="java/lang/Object" />
+		<method name="getAsLong()J" />
+	</class>
+	<class name="java/util/function/LongToDoubleFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsDouble(J)D" />
+	</class>
+	<class name="java/util/function/LongToIntFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsInt(J)I" />
+	</class>
+	<class name="java/util/function/LongUnaryOperator" since="24">
+		<extends name="java/lang/Object" />
+		<method name="andThen(Ljava/util/function/LongUnaryOperator;)Ljava/util/function/LongUnaryOperator;" />
+		<method name="applyAsLong(J)J" />
+		<method name="compose(Ljava/util/function/LongUnaryOperator;)Ljava/util/function/LongUnaryOperator;" />
+		<method name="identity()Ljava/util/function/LongUnaryOperator;" />
+	</class>
+	<class name="java/util/function/ObjDoubleConsumer" since="24">
+		<extends name="java/lang/Object" />
+		<method name="accept(Ljava/lang/Object;D)V" />
+	</class>
+	<class name="java/util/function/ObjIntConsumer" since="24">
+		<extends name="java/lang/Object" />
+		<method name="accept(Ljava/lang/Object;I)V" />
+	</class>
+	<class name="java/util/function/ObjLongConsumer" since="24">
+		<extends name="java/lang/Object" />
+		<method name="accept(Ljava/lang/Object;J)V" />
+	</class>
+	<class name="java/util/function/Predicate" since="24">
+		<extends name="java/lang/Object" />
+		<method name="and(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;" />
+		<method name="isEqual(Ljava/lang/Object;)Ljava/util/function/Predicate;" />
+		<method name="negate()Ljava/util/function/Predicate;" />
+		<method name="or(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;" />
+		<method name="test(Ljava/lang/Object;)Z" />
+	</class>
+	<class name="java/util/function/Supplier" since="24">
+		<extends name="java/lang/Object" />
+		<method name="get()Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/function/ToDoubleBiFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsDouble(Ljava/lang/Object;Ljava/lang/Object;)D" />
+	</class>
+	<class name="java/util/function/ToDoubleFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsDouble(Ljava/lang/Object;)D" />
+	</class>
+	<class name="java/util/function/ToIntBiFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsInt(Ljava/lang/Object;Ljava/lang/Object;)I" />
+	</class>
+	<class name="java/util/function/ToIntFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsInt(Ljava/lang/Object;)I" />
+	</class>
+	<class name="java/util/function/ToLongBiFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsLong(Ljava/lang/Object;Ljava/lang/Object;)J" />
+	</class>
+	<class name="java/util/function/ToLongFunction" since="24">
+		<extends name="java/lang/Object" />
+		<method name="applyAsLong(Ljava/lang/Object;)J" />
+	</class>
+	<class name="java/util/function/UnaryOperator" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/function/Function" />
+		<method name="identity()Ljava/util/function/UnaryOperator;" />
+	</class>
+	<class name="java/util/jar/Attributes" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="java/util/Map" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(Ljava/util/jar/Attributes;)V" />
+		<method name="getValue(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getValue(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;" />
+		<method name="putValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<field name="map" />
+	</class>
+	<class name="java/util/jar/Attributes$Name" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<field name="CLASS_PATH" />
+		<field name="CONTENT_TYPE" />
+		<field name="EXTENSION_INSTALLATION" deprecated="26" />
+		<field name="EXTENSION_LIST" />
+		<field name="EXTENSION_NAME" />
+		<field name="IMPLEMENTATION_TITLE" />
+		<field name="IMPLEMENTATION_URL" deprecated="26" />
+		<field name="IMPLEMENTATION_VENDOR" />
+		<field name="IMPLEMENTATION_VENDOR_ID" deprecated="26" />
+		<field name="IMPLEMENTATION_VERSION" />
+		<field name="MAIN_CLASS" />
+		<field name="MANIFEST_VERSION" />
+		<field name="SEALED" />
+		<field name="SIGNATURE_VERSION" />
+		<field name="SPECIFICATION_TITLE" />
+		<field name="SPECIFICATION_VENDOR" />
+		<field name="SPECIFICATION_VERSION" />
+	</class>
+	<class name="java/util/jar/JarEntry" since="1">
+		<extends name="java/util/zip/ZipEntry" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/util/jar/JarEntry;)V" />
+		<method name="&lt;init&gt;(Ljava/util/zip/ZipEntry;)V" />
+		<method name="getAttributes()Ljava/util/jar/Attributes;" />
+		<method name="getCertificates()[Ljava/security/cert/Certificate;" />
+		<method name="getCodeSigners()[Ljava/security/CodeSigner;" />
+		<field name="CENATT" since="28" />
+		<field name="CENATX" since="28" />
+		<field name="CENCOM" since="28" />
+		<field name="CENCRC" since="28" />
+		<field name="CENDSK" since="28" />
+		<field name="CENEXT" since="28" />
+		<field name="CENFLG" since="28" />
+		<field name="CENHDR" since="28" />
+		<field name="CENHOW" since="28" />
+		<field name="CENLEN" since="28" />
+		<field name="CENNAM" since="28" />
+		<field name="CENOFF" since="28" />
+		<field name="CENSIG" since="28" />
+		<field name="CENSIZ" since="28" />
+		<field name="CENTIM" since="28" />
+		<field name="CENVEM" since="28" />
+		<field name="CENVER" since="28" />
+		<field name="ENDCOM" since="28" />
+		<field name="ENDHDR" since="28" />
+		<field name="ENDOFF" since="28" />
+		<field name="ENDSIG" since="28" />
+		<field name="ENDSIZ" since="28" />
+		<field name="ENDSUB" since="28" />
+		<field name="ENDTOT" since="28" />
+		<field name="EXTCRC" since="28" />
+		<field name="EXTHDR" since="28" />
+		<field name="EXTLEN" since="28" />
+		<field name="EXTSIG" since="28" />
+		<field name="EXTSIZ" since="28" />
+		<field name="LOCCRC" since="28" />
+		<field name="LOCEXT" since="28" />
+		<field name="LOCFLG" since="28" />
+		<field name="LOCHDR" since="28" />
+		<field name="LOCHOW" since="28" />
+		<field name="LOCLEN" since="28" />
+		<field name="LOCNAM" since="28" />
+		<field name="LOCSIG" since="28" />
+		<field name="LOCSIZ" since="28" />
+		<field name="LOCTIM" since="28" />
+		<field name="LOCVER" since="28" />
+	</class>
+	<class name="java/util/jar/JarException" since="1">
+		<extends name="java/util/zip/ZipException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/jar/JarFile" since="1">
+		<extends name="java/util/zip/ZipFile" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;Z)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;ZI)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Z)V" />
+		<method name="getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry;" />
+		<method name="getManifest()Ljava/util/jar/Manifest;" />
+		<field name="CENATT" since="28" />
+		<field name="CENATX" since="28" />
+		<field name="CENCOM" since="28" />
+		<field name="CENCRC" since="28" />
+		<field name="CENDSK" since="28" />
+		<field name="CENEXT" since="28" />
+		<field name="CENFLG" since="28" />
+		<field name="CENHDR" since="28" />
+		<field name="CENHOW" since="28" />
+		<field name="CENLEN" since="28" />
+		<field name="CENNAM" since="28" />
+		<field name="CENOFF" since="28" />
+		<field name="CENSIG" since="28" />
+		<field name="CENSIZ" since="28" />
+		<field name="CENTIM" since="28" />
+		<field name="CENVEM" since="28" />
+		<field name="CENVER" since="28" />
+		<field name="ENDCOM" since="28" />
+		<field name="ENDHDR" since="28" />
+		<field name="ENDOFF" since="28" />
+		<field name="ENDSIG" since="28" />
+		<field name="ENDSIZ" since="28" />
+		<field name="ENDSUB" since="28" />
+		<field name="ENDTOT" since="28" />
+		<field name="EXTCRC" since="28" />
+		<field name="EXTHDR" since="28" />
+		<field name="EXTLEN" since="28" />
+		<field name="EXTSIG" since="28" />
+		<field name="EXTSIZ" since="28" />
+		<field name="LOCCRC" since="28" />
+		<field name="LOCEXT" since="28" />
+		<field name="LOCFLG" since="28" />
+		<field name="LOCHDR" since="28" />
+		<field name="LOCHOW" since="28" />
+		<field name="LOCLEN" since="28" />
+		<field name="LOCNAM" since="28" />
+		<field name="LOCSIG" since="28" />
+		<field name="LOCSIZ" since="28" />
+		<field name="LOCTIM" since="28" />
+		<field name="LOCVER" since="28" />
+		<field name="MANIFEST_NAME" />
+	</class>
+	<class name="java/util/jar/JarInputStream" since="1">
+		<extends name="java/util/zip/ZipInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Z)V" />
+		<method name="getManifest()Ljava/util/jar/Manifest;" />
+		<method name="getNextJarEntry()Ljava/util/jar/JarEntry;" />
+		<field name="CENATT" since="28" />
+		<field name="CENATX" since="28" />
+		<field name="CENCOM" since="28" />
+		<field name="CENCRC" since="28" />
+		<field name="CENDSK" since="28" />
+		<field name="CENEXT" since="28" />
+		<field name="CENFLG" since="28" />
+		<field name="CENHDR" since="28" />
+		<field name="CENHOW" since="28" />
+		<field name="CENLEN" since="28" />
+		<field name="CENNAM" since="28" />
+		<field name="CENOFF" since="28" />
+		<field name="CENSIG" since="28" />
+		<field name="CENSIZ" since="28" />
+		<field name="CENTIM" since="28" />
+		<field name="CENVEM" since="28" />
+		<field name="CENVER" since="28" />
+		<field name="ENDCOM" since="28" />
+		<field name="ENDHDR" since="28" />
+		<field name="ENDOFF" since="28" />
+		<field name="ENDSIG" since="28" />
+		<field name="ENDSIZ" since="28" />
+		<field name="ENDSUB" since="28" />
+		<field name="ENDTOT" since="28" />
+		<field name="EXTCRC" since="28" />
+		<field name="EXTHDR" since="28" />
+		<field name="EXTLEN" since="28" />
+		<field name="EXTSIG" since="28" />
+		<field name="EXTSIZ" since="28" />
+		<field name="LOCCRC" since="28" />
+		<field name="LOCEXT" since="28" />
+		<field name="LOCFLG" since="28" />
+		<field name="LOCHDR" since="28" />
+		<field name="LOCHOW" since="28" />
+		<field name="LOCLEN" since="28" />
+		<field name="LOCNAM" since="28" />
+		<field name="LOCSIG" since="28" />
+		<field name="LOCSIZ" since="28" />
+		<field name="LOCTIM" since="28" />
+		<field name="LOCVER" since="28" />
+	</class>
+	<class name="java/util/jar/JarOutputStream" since="1">
+		<extends name="java/util/zip/ZipOutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/util/jar/Manifest;)V" />
+		<field name="CENATT" since="28" />
+		<field name="CENATX" since="28" />
+		<field name="CENCOM" since="28" />
+		<field name="CENCRC" since="28" />
+		<field name="CENDSK" since="28" />
+		<field name="CENEXT" since="28" />
+		<field name="CENFLG" since="28" />
+		<field name="CENHDR" since="28" />
+		<field name="CENHOW" since="28" />
+		<field name="CENLEN" since="28" />
+		<field name="CENNAM" since="28" />
+		<field name="CENOFF" since="28" />
+		<field name="CENSIG" since="28" />
+		<field name="CENSIZ" since="28" />
+		<field name="CENTIM" since="28" />
+		<field name="CENVEM" since="28" />
+		<field name="CENVER" since="28" />
+		<field name="ENDCOM" since="28" />
+		<field name="ENDHDR" since="28" />
+		<field name="ENDOFF" since="28" />
+		<field name="ENDSIG" since="28" />
+		<field name="ENDSIZ" since="28" />
+		<field name="ENDSUB" since="28" />
+		<field name="ENDTOT" since="28" />
+		<field name="EXTCRC" since="28" />
+		<field name="EXTHDR" since="28" />
+		<field name="EXTLEN" since="28" />
+		<field name="EXTSIG" since="28" />
+		<field name="EXTSIZ" since="28" />
+		<field name="LOCCRC" since="28" />
+		<field name="LOCEXT" since="28" />
+		<field name="LOCFLG" since="28" />
+		<field name="LOCHDR" since="28" />
+		<field name="LOCHOW" since="28" />
+		<field name="LOCLEN" since="28" />
+		<field name="LOCNAM" since="28" />
+		<field name="LOCSIG" since="28" />
+		<field name="LOCSIZ" since="28" />
+		<field name="LOCTIM" since="28" />
+		<field name="LOCVER" since="28" />
+	</class>
+	<class name="java/util/jar/Manifest" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/util/jar/Manifest;)V" />
+		<method name="clear()V" />
+		<method name="getAttributes(Ljava/lang/String;)Ljava/util/jar/Attributes;" />
+		<method name="getEntries()Ljava/util/Map;" />
+		<method name="getMainAttributes()Ljava/util/jar/Attributes;" />
+		<method name="read(Ljava/io/InputStream;)V" />
+		<method name="write(Ljava/io/OutputStream;)V" />
+	</class>
+	<class name="java/util/jar/Pack200" since="1">
+		<extends name="java/lang/Object" />
+		<method name="newPacker()Ljava/util/jar/Pack200$Packer;" />
+		<method name="newUnpacker()Ljava/util/jar/Pack200$Unpacker;" />
+	</class>
+	<class name="java/util/jar/Pack200$Packer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addPropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26" />
+		<method name="pack(Ljava/util/jar/JarFile;Ljava/io/OutputStream;)V" />
+		<method name="pack(Ljava/util/jar/JarInputStream;Ljava/io/OutputStream;)V" />
+		<method name="properties()Ljava/util/SortedMap;" />
+		<method name="removePropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26" />
+		<field name="CLASS_ATTRIBUTE_PFX" />
+		<field name="CODE_ATTRIBUTE_PFX" />
+		<field name="DEFLATE_HINT" />
+		<field name="EFFORT" />
+		<field name="ERROR" />
+		<field name="FALSE" />
+		<field name="FIELD_ATTRIBUTE_PFX" />
+		<field name="KEEP" />
+		<field name="KEEP_FILE_ORDER" />
+		<field name="LATEST" />
+		<field name="METHOD_ATTRIBUTE_PFX" />
+		<field name="MODIFICATION_TIME" />
+		<field name="PASS" />
+		<field name="PASS_FILE_PFX" />
+		<field name="PROGRESS" />
+		<field name="SEGMENT_LIMIT" />
+		<field name="STRIP" />
+		<field name="TRUE" />
+		<field name="UNKNOWN_ATTRIBUTE" />
+	</class>
+	<class name="java/util/jar/Pack200$Unpacker" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addPropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26" />
+		<method name="properties()Ljava/util/SortedMap;" />
+		<method name="removePropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26" />
+		<method name="unpack(Ljava/io/File;Ljava/util/jar/JarOutputStream;)V" />
+		<method name="unpack(Ljava/io/InputStream;Ljava/util/jar/JarOutputStream;)V" />
+		<field name="DEFLATE_HINT" />
+		<field name="FALSE" />
+		<field name="KEEP" />
+		<field name="PROGRESS" />
+		<field name="TRUE" />
+	</class>
+	<class name="java/util/logging/ConsoleHandler" since="1">
+		<extends name="java/util/logging/StreamHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/logging/ErrorManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="error(Ljava/lang/String;Ljava/lang/Exception;I)V" />
+		<field name="CLOSE_FAILURE" />
+		<field name="FLUSH_FAILURE" />
+		<field name="FORMAT_FAILURE" />
+		<field name="GENERIC_FAILURE" />
+		<field name="OPEN_FAILURE" />
+		<field name="WRITE_FAILURE" />
+	</class>
+	<class name="java/util/logging/FileHandler" since="1">
+		<extends name="java/util/logging/StreamHandler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;II)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;IIZ)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Z)V" />
+	</class>
+	<class name="java/util/logging/Filter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="isLoggable(Ljava/util/logging/LogRecord;)Z" />
+	</class>
+	<class name="java/util/logging/Formatter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="format(Ljava/util/logging/LogRecord;)Ljava/lang/String;" />
+		<method name="formatMessage(Ljava/util/logging/LogRecord;)Ljava/lang/String;" />
+		<method name="getHead(Ljava/util/logging/Handler;)Ljava/lang/String;" />
+		<method name="getTail(Ljava/util/logging/Handler;)Ljava/lang/String;" />
+	</class>
+	<class name="java/util/logging/Handler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="close()V" />
+		<method name="flush()V" />
+		<method name="getEncoding()Ljava/lang/String;" />
+		<method name="getErrorManager()Ljava/util/logging/ErrorManager;" />
+		<method name="getFilter()Ljava/util/logging/Filter;" />
+		<method name="getFormatter()Ljava/util/logging/Formatter;" />
+		<method name="getLevel()Ljava/util/logging/Level;" />
+		<method name="isLoggable(Ljava/util/logging/LogRecord;)Z" />
+		<method name="publish(Ljava/util/logging/LogRecord;)V" />
+		<method name="reportError(Ljava/lang/String;Ljava/lang/Exception;I)V" />
+		<method name="setEncoding(Ljava/lang/String;)V" />
+		<method name="setErrorManager(Ljava/util/logging/ErrorManager;)V" />
+		<method name="setFilter(Ljava/util/logging/Filter;)V" />
+		<method name="setFormatter(Ljava/util/logging/Formatter;)V" />
+		<method name="setLevel(Ljava/util/logging/Level;)V" />
+	</class>
+	<class name="java/util/logging/Level" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="getLocalizedName()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getResourceBundleName()Ljava/lang/String;" />
+		<method name="intValue()I" />
+		<method name="parse(Ljava/lang/String;)Ljava/util/logging/Level;" />
+		<field name="ALL" />
+		<field name="CONFIG" />
+		<field name="FINE" />
+		<field name="FINER" />
+		<field name="FINEST" />
+		<field name="INFO" />
+		<field name="OFF" />
+		<field name="SEVERE" />
+		<field name="WARNING" />
+	</class>
+	<class name="java/util/logging/LogManager" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addLogger(Ljava/util/logging/Logger;)Z" />
+		<method name="addPropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26" />
+		<method name="checkAccess()V" />
+		<method name="getLogManager()Ljava/util/logging/LogManager;" />
+		<method name="getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;" />
+		<method name="getLoggerNames()Ljava/util/Enumeration;" />
+		<method name="getLoggingMXBean()Ljava/util/logging/LoggingMXBean;" since="3" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="readConfiguration()V" />
+		<method name="readConfiguration(Ljava/io/InputStream;)V" />
+		<method name="removePropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26" />
+		<method name="reset()V" />
+		<field name="LOGGING_MXBEAN_NAME" />
+	</class>
+	<class name="java/util/logging/LogRecord" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/util/logging/Level;Ljava/lang/String;)V" />
+		<method name="getLevel()Ljava/util/logging/Level;" />
+		<method name="getLoggerName()Ljava/lang/String;" />
+		<method name="getMessage()Ljava/lang/String;" />
+		<method name="getMillis()J" />
+		<method name="getParameters()[Ljava/lang/Object;" />
+		<method name="getResourceBundle()Ljava/util/ResourceBundle;" />
+		<method name="getResourceBundleName()Ljava/lang/String;" />
+		<method name="getSequenceNumber()J" />
+		<method name="getSourceClassName()Ljava/lang/String;" />
+		<method name="getSourceMethodName()Ljava/lang/String;" />
+		<method name="getThreadID()I" />
+		<method name="getThrown()Ljava/lang/Throwable;" />
+		<method name="setLevel(Ljava/util/logging/Level;)V" />
+		<method name="setLoggerName(Ljava/lang/String;)V" />
+		<method name="setMessage(Ljava/lang/String;)V" />
+		<method name="setMillis(J)V" />
+		<method name="setParameters([Ljava/lang/Object;)V" />
+		<method name="setResourceBundle(Ljava/util/ResourceBundle;)V" />
+		<method name="setResourceBundleName(Ljava/lang/String;)V" />
+		<method name="setSequenceNumber(J)V" />
+		<method name="setSourceClassName(Ljava/lang/String;)V" />
+		<method name="setSourceMethodName(Ljava/lang/String;)V" />
+		<method name="setThreadID(I)V" />
+		<method name="setThrown(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/logging/Logger" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="addHandler(Ljava/util/logging/Handler;)V" />
+		<method name="config(Ljava/lang/String;)V" />
+		<method name="config(Ljava/util/function/Supplier;)V" since="26" />
+		<method name="entering(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="entering(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="entering(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V" />
+		<method name="exiting(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="exiting(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="fine(Ljava/lang/String;)V" />
+		<method name="fine(Ljava/util/function/Supplier;)V" since="26" />
+		<method name="finer(Ljava/lang/String;)V" />
+		<method name="finer(Ljava/util/function/Supplier;)V" since="26" />
+		<method name="finest(Ljava/lang/String;)V" />
+		<method name="finest(Ljava/util/function/Supplier;)V" since="26" />
+		<method name="getAnonymousLogger()Ljava/util/logging/Logger;" />
+		<method name="getAnonymousLogger(Ljava/lang/String;)Ljava/util/logging/Logger;" />
+		<method name="getFilter()Ljava/util/logging/Filter;" />
+		<method name="getGlobal()Ljava/util/logging/Logger;" since="19" />
+		<method name="getHandlers()[Ljava/util/logging/Handler;" />
+		<method name="getLevel()Ljava/util/logging/Level;" />
+		<method name="getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;" />
+		<method name="getLogger(Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getParent()Ljava/util/logging/Logger;" />
+		<method name="getResourceBundle()Ljava/util/ResourceBundle;" />
+		<method name="getResourceBundleName()Ljava/lang/String;" />
+		<method name="getUseParentHandlers()Z" />
+		<method name="info(Ljava/lang/String;)V" />
+		<method name="info(Ljava/util/function/Supplier;)V" since="26" />
+		<method name="isLoggable(Ljava/util/logging/Level;)Z" />
+		<method name="log(Ljava/util/logging/Level;Ljava/lang/String;)V" />
+		<method name="log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="log(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V" />
+		<method name="log(Ljava/util/logging/Level;Ljava/lang/Throwable;Ljava/util/function/Supplier;)V" since="26" />
+		<method name="log(Ljava/util/logging/Level;Ljava/util/function/Supplier;)V" since="26" />
+		<method name="log(Ljava/util/logging/LogRecord;)V" />
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V" />
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Ljava/util/function/Supplier;)V" since="26" />
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Supplier;)V" since="26" />
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="26" />
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V" deprecated="26" />
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" deprecated="26" />
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V" deprecated="26" />
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/util/ResourceBundle;Ljava/lang/String;Ljava/lang/Throwable;)V" since="26" />
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/util/ResourceBundle;Ljava/lang/String;[Ljava/lang/Object;)V" since="26" />
+		<method name="removeHandler(Ljava/util/logging/Handler;)V" />
+		<method name="setFilter(Ljava/util/logging/Filter;)V" />
+		<method name="setLevel(Ljava/util/logging/Level;)V" />
+		<method name="setParent(Ljava/util/logging/Logger;)V" />
+		<method name="setResourceBundle(Ljava/util/ResourceBundle;)V" since="26" />
+		<method name="setUseParentHandlers(Z)V" />
+		<method name="severe(Ljava/lang/String;)V" />
+		<method name="severe(Ljava/util/function/Supplier;)V" since="26" />
+		<method name="throwing(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="warning(Ljava/lang/String;)V" />
+		<method name="warning(Ljava/util/function/Supplier;)V" since="26" />
+		<field name="GLOBAL_LOGGER_NAME" since="9" />
+		<field name="global" deprecated="15" />
+	</class>
+	<class name="java/util/logging/LoggingMXBean" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getLoggerLevel(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getLoggerNames()Ljava/util/List;" />
+		<method name="getParentLoggerName(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="setLoggerLevel(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/logging/LoggingPermission" since="1">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/logging/MemoryHandler" since="1">
+		<extends name="java/util/logging/Handler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/util/logging/Handler;ILjava/util/logging/Level;)V" />
+		<method name="getPushLevel()Ljava/util/logging/Level;" />
+		<method name="push()V" />
+		<method name="setPushLevel(Ljava/util/logging/Level;)V" />
+	</class>
+	<class name="java/util/logging/SimpleFormatter" since="1">
+		<extends name="java/util/logging/Formatter" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/logging/SocketHandler" since="1">
+		<extends name="java/util/logging/StreamHandler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+	</class>
+	<class name="java/util/logging/StreamHandler" since="1">
+		<extends name="java/util/logging/Handler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/util/logging/Formatter;)V" />
+		<method name="setOutputStream(Ljava/io/OutputStream;)V" />
+	</class>
+	<class name="java/util/logging/XMLFormatter" since="1">
+		<extends name="java/util/logging/Formatter" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="java/util/prefs/AbstractPreferences" since="1">
+		<extends name="java/util/prefs/Preferences" />
+		<method name="&lt;init&gt;(Ljava/util/prefs/AbstractPreferences;Ljava/lang/String;)V" />
+		<method name="cachedChildren()[Ljava/util/prefs/AbstractPreferences;" />
+		<method name="childSpi(Ljava/lang/String;)Ljava/util/prefs/AbstractPreferences;" />
+		<method name="childrenNamesSpi()[Ljava/lang/String;" />
+		<method name="flushSpi()V" />
+		<method name="getChild(Ljava/lang/String;)Ljava/util/prefs/AbstractPreferences;" />
+		<method name="getSpi(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="isRemoved()Z" />
+		<method name="keysSpi()[Ljava/lang/String;" />
+		<method name="putSpi(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="removeNodeSpi()V" />
+		<method name="removeSpi(Ljava/lang/String;)V" />
+		<method name="syncSpi()V" />
+		<field name="lock" />
+		<field name="newNode" />
+	</class>
+	<class name="java/util/prefs/BackingStoreException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/prefs/InvalidPreferencesFormatException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="java/util/prefs/NodeChangeEvent" since="1">
+		<extends name="java/util/EventObject" />
+		<method name="&lt;init&gt;(Ljava/util/prefs/Preferences;Ljava/util/prefs/Preferences;)V" />
+		<method name="getChild()Ljava/util/prefs/Preferences;" />
+		<method name="getParent()Ljava/util/prefs/Preferences;" />
+	</class>
+	<class name="java/util/prefs/NodeChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/EventListener" />
+		<method name="childAdded(Ljava/util/prefs/NodeChangeEvent;)V" />
+		<method name="childRemoved(Ljava/util/prefs/NodeChangeEvent;)V" />
+	</class>
+	<class name="java/util/prefs/PreferenceChangeEvent" since="1">
+		<extends name="java/util/EventObject" />
+		<method name="&lt;init&gt;(Ljava/util/prefs/Preferences;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getKey()Ljava/lang/String;" />
+		<method name="getNewValue()Ljava/lang/String;" />
+		<method name="getNode()Ljava/util/prefs/Preferences;" />
+	</class>
+	<class name="java/util/prefs/PreferenceChangeListener" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/EventListener" />
+		<method name="preferenceChange(Ljava/util/prefs/PreferenceChangeEvent;)V" />
+	</class>
+	<class name="java/util/prefs/Preferences" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="absolutePath()Ljava/lang/String;" />
+		<method name="addNodeChangeListener(Ljava/util/prefs/NodeChangeListener;)V" />
+		<method name="addPreferenceChangeListener(Ljava/util/prefs/PreferenceChangeListener;)V" />
+		<method name="childrenNames()[Ljava/lang/String;" />
+		<method name="clear()V" />
+		<method name="exportNode(Ljava/io/OutputStream;)V" />
+		<method name="exportSubtree(Ljava/io/OutputStream;)V" />
+		<method name="flush()V" />
+		<method name="get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getBoolean(Ljava/lang/String;Z)Z" />
+		<method name="getByteArray(Ljava/lang/String;[B)[B" />
+		<method name="getDouble(Ljava/lang/String;D)D" />
+		<method name="getFloat(Ljava/lang/String;F)F" />
+		<method name="getInt(Ljava/lang/String;I)I" />
+		<method name="getLong(Ljava/lang/String;J)J" />
+		<method name="importPreferences(Ljava/io/InputStream;)V" />
+		<method name="isUserNode()Z" />
+		<method name="keys()[Ljava/lang/String;" />
+		<method name="name()Ljava/lang/String;" />
+		<method name="node(Ljava/lang/String;)Ljava/util/prefs/Preferences;" />
+		<method name="nodeExists(Ljava/lang/String;)Z" />
+		<method name="parent()Ljava/util/prefs/Preferences;" />
+		<method name="put(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="putBoolean(Ljava/lang/String;Z)V" />
+		<method name="putByteArray(Ljava/lang/String;[B)V" />
+		<method name="putDouble(Ljava/lang/String;D)V" />
+		<method name="putFloat(Ljava/lang/String;F)V" />
+		<method name="putInt(Ljava/lang/String;I)V" />
+		<method name="putLong(Ljava/lang/String;J)V" />
+		<method name="remove(Ljava/lang/String;)V" />
+		<method name="removeNode()V" />
+		<method name="removeNodeChangeListener(Ljava/util/prefs/NodeChangeListener;)V" />
+		<method name="removePreferenceChangeListener(Ljava/util/prefs/PreferenceChangeListener;)V" />
+		<method name="sync()V" />
+		<method name="systemNodeForPackage(Ljava/lang/Class;)Ljava/util/prefs/Preferences;" />
+		<method name="systemRoot()Ljava/util/prefs/Preferences;" />
+		<method name="userNodeForPackage(Ljava/lang/Class;)Ljava/util/prefs/Preferences;" />
+		<method name="userRoot()Ljava/util/prefs/Preferences;" />
+		<field name="MAX_KEY_LENGTH" />
+		<field name="MAX_NAME_LENGTH" />
+		<field name="MAX_VALUE_LENGTH" />
+	</class>
+	<class name="java/util/prefs/PreferencesFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="systemRoot()Ljava/util/prefs/Preferences;" />
+		<method name="userRoot()Ljava/util/prefs/Preferences;" />
+	</class>
+	<class name="java/util/regex/MatchResult" since="1">
+		<extends name="java/lang/Object" />
+		<method name="end()I" />
+		<method name="end(I)I" />
+		<method name="group()Ljava/lang/String;" />
+		<method name="group(I)Ljava/lang/String;" />
+		<method name="groupCount()I" />
+		<method name="start()I" />
+		<method name="start(I)I" />
+	</class>
+	<class name="java/util/regex/Matcher" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/regex/MatchResult" />
+		<method name="appendReplacement(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;" />
+		<method name="appendTail(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;" />
+		<method name="end(Ljava/lang/String;)I" since="26" />
+		<method name="find()Z" />
+		<method name="find(I)Z" />
+		<method name="group(Ljava/lang/String;)Ljava/lang/String;" since="26" />
+		<method name="hasAnchoringBounds()Z" />
+		<method name="hasTransparentBounds()Z" />
+		<method name="hitEnd()Z" />
+		<method name="lookingAt()Z" />
+		<method name="matches()Z" />
+		<method name="pattern()Ljava/util/regex/Pattern;" />
+		<method name="quoteReplacement(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="region(II)Ljava/util/regex/Matcher;" />
+		<method name="regionEnd()I" />
+		<method name="regionStart()I" />
+		<method name="replaceAll(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="replaceFirst(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="requireEnd()Z" />
+		<method name="reset()Ljava/util/regex/Matcher;" />
+		<method name="reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;" />
+		<method name="start(Ljava/lang/String;)I" since="26" />
+		<method name="toMatchResult()Ljava/util/regex/MatchResult;" />
+		<method name="useAnchoringBounds(Z)Ljava/util/regex/Matcher;" />
+		<method name="usePattern(Ljava/util/regex/Pattern;)Ljava/util/regex/Matcher;" />
+		<method name="useTransparentBounds(Z)Ljava/util/regex/Matcher;" />
+	</class>
+	<class name="java/util/regex/Pattern" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="asPredicate()Ljava/util/function/Predicate;" since="24" />
+		<method name="compile(Ljava/lang/String;)Ljava/util/regex/Pattern;" />
+		<method name="compile(Ljava/lang/String;I)Ljava/util/regex/Pattern;" />
+		<method name="flags()I" />
+		<method name="matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;" />
+		<method name="matches(Ljava/lang/String;Ljava/lang/CharSequence;)Z" />
+		<method name="pattern()Ljava/lang/String;" />
+		<method name="quote(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="split(Ljava/lang/CharSequence;)[Ljava/lang/String;" />
+		<method name="split(Ljava/lang/CharSequence;I)[Ljava/lang/String;" />
+		<method name="splitAsStream(Ljava/lang/CharSequence;)Ljava/util/stream/Stream;" since="24" />
+		<field name="CANON_EQ" />
+		<field name="CASE_INSENSITIVE" />
+		<field name="COMMENTS" />
+		<field name="DOTALL" />
+		<field name="LITERAL" />
+		<field name="MULTILINE" />
+		<field name="UNICODE_CASE" />
+		<field name="UNICODE_CHARACTER_CLASS" since="24" />
+		<field name="UNIX_LINES" />
+	</class>
+	<class name="java/util/regex/PatternSyntaxException" since="1">
+		<extends name="java/lang/IllegalArgumentException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;I)V" />
+		<method name="getDescription()Ljava/lang/String;" />
+		<method name="getIndex()I" />
+		<method name="getPattern()Ljava/lang/String;" />
+	</class>
+	<class name="java/util/stream/BaseStream" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/AutoCloseable" />
+		<method name="isParallel()Z" />
+		<method name="iterator()Ljava/util/Iterator;" />
+		<method name="onClose(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;" />
+		<method name="parallel()Ljava/util/stream/BaseStream;" />
+		<method name="sequential()Ljava/util/stream/BaseStream;" />
+		<method name="spliterator()Ljava/util/Spliterator;" />
+		<method name="unordered()Ljava/util/stream/BaseStream;" />
+	</class>
+	<class name="java/util/stream/Collector" since="24">
+		<extends name="java/lang/Object" />
+		<method name="accumulator()Ljava/util/function/BiConsumer;" />
+		<method name="characteristics()Ljava/util/Set;" />
+		<method name="combiner()Ljava/util/function/BinaryOperator;" />
+		<method name="finisher()Ljava/util/function/Function;" />
+		<method name="of(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;" />
+		<method name="of(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;" />
+		<method name="supplier()Ljava/util/function/Supplier;" />
+	</class>
+	<class name="java/util/stream/Collector$Characteristics" since="24">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljava/util/stream/Collector$Characteristics;" />
+		<method name="values()[Ljava/util/stream/Collector$Characteristics;" />
+		<field name="CONCURRENT" />
+		<field name="IDENTITY_FINISH" />
+		<field name="UNORDERED" />
+	</class>
+	<class name="java/util/stream/Collectors" since="24">
+		<extends name="java/lang/Object" />
+		<method name="averagingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/Collector;" />
+		<method name="averagingInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/Collector;" />
+		<method name="averagingLong(Ljava/util/function/ToLongFunction;)Ljava/util/stream/Collector;" />
+		<method name="collectingAndThen(Ljava/util/stream/Collector;Ljava/util/function/Function;)Ljava/util/stream/Collector;" />
+		<method name="counting()Ljava/util/stream/Collector;" />
+		<method name="groupingBy(Ljava/util/function/Function;)Ljava/util/stream/Collector;" />
+		<method name="groupingBy(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;" />
+		<method name="groupingBy(Ljava/util/function/Function;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;" />
+		<method name="groupingByConcurrent(Ljava/util/function/Function;)Ljava/util/stream/Collector;" />
+		<method name="groupingByConcurrent(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;" />
+		<method name="groupingByConcurrent(Ljava/util/function/Function;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;" />
+		<method name="joining()Ljava/util/stream/Collector;" />
+		<method name="joining(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;" />
+		<method name="joining(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;" />
+		<method name="mapping(Ljava/util/function/Function;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;" />
+		<method name="maxBy(Ljava/util/Comparator;)Ljava/util/stream/Collector;" />
+		<method name="minBy(Ljava/util/Comparator;)Ljava/util/stream/Collector;" />
+		<method name="partitioningBy(Ljava/util/function/Predicate;)Ljava/util/stream/Collector;" />
+		<method name="partitioningBy(Ljava/util/function/Predicate;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;" />
+		<method name="reducing(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;" />
+		<method name="reducing(Ljava/lang/Object;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;" />
+		<method name="reducing(Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;" />
+		<method name="summarizingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/Collector;" />
+		<method name="summarizingInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/Collector;" />
+		<method name="summarizingLong(Ljava/util/function/ToLongFunction;)Ljava/util/stream/Collector;" />
+		<method name="summingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/Collector;" />
+		<method name="summingInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/Collector;" />
+		<method name="summingLong(Ljava/util/function/ToLongFunction;)Ljava/util/stream/Collector;" />
+		<method name="toCollection(Ljava/util/function/Supplier;)Ljava/util/stream/Collector;" />
+		<method name="toConcurrentMap(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;" />
+		<method name="toConcurrentMap(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;" />
+		<method name="toConcurrentMap(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;Ljava/util/function/Supplier;)Ljava/util/stream/Collector;" />
+		<method name="toList()Ljava/util/stream/Collector;" />
+		<method name="toMap(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;" />
+		<method name="toMap(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;" />
+		<method name="toMap(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;Ljava/util/function/Supplier;)Ljava/util/stream/Collector;" />
+		<method name="toSet()Ljava/util/stream/Collector;" />
+	</class>
+	<class name="java/util/stream/DoubleStream" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/stream/BaseStream" />
+		<method name="allMatch(Ljava/util/function/DoublePredicate;)Z" />
+		<method name="anyMatch(Ljava/util/function/DoublePredicate;)Z" />
+		<method name="average()Ljava/util/OptionalDouble;" />
+		<method name="boxed()Ljava/util/stream/Stream;" />
+		<method name="builder()Ljava/util/stream/DoubleStream$Builder;" />
+		<method name="collect(Ljava/util/function/Supplier;Ljava/util/function/ObjDoubleConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;" />
+		<method name="concat(Ljava/util/stream/DoubleStream;Ljava/util/stream/DoubleStream;)Ljava/util/stream/DoubleStream;" />
+		<method name="count()J" />
+		<method name="distinct()Ljava/util/stream/DoubleStream;" />
+		<method name="empty()Ljava/util/stream/DoubleStream;" />
+		<method name="filter(Ljava/util/function/DoublePredicate;)Ljava/util/stream/DoubleStream;" />
+		<method name="findAny()Ljava/util/OptionalDouble;" />
+		<method name="findFirst()Ljava/util/OptionalDouble;" />
+		<method name="flatMap(Ljava/util/function/DoubleFunction;)Ljava/util/stream/DoubleStream;" />
+		<method name="forEach(Ljava/util/function/DoubleConsumer;)V" />
+		<method name="forEachOrdered(Ljava/util/function/DoubleConsumer;)V" />
+		<method name="generate(Ljava/util/function/DoubleSupplier;)Ljava/util/stream/DoubleStream;" />
+		<method name="iterate(DLjava/util/function/DoubleUnaryOperator;)Ljava/util/stream/DoubleStream;" />
+		<method name="iterator()Ljava/util/PrimitiveIterator$OfDouble;" />
+		<method name="limit(J)Ljava/util/stream/DoubleStream;" />
+		<method name="map(Ljava/util/function/DoubleUnaryOperator;)Ljava/util/stream/DoubleStream;" />
+		<method name="mapToInt(Ljava/util/function/DoubleToIntFunction;)Ljava/util/stream/IntStream;" />
+		<method name="mapToLong(Ljava/util/function/DoubleToLongFunction;)Ljava/util/stream/LongStream;" />
+		<method name="mapToObj(Ljava/util/function/DoubleFunction;)Ljava/util/stream/Stream;" />
+		<method name="max()Ljava/util/OptionalDouble;" />
+		<method name="min()Ljava/util/OptionalDouble;" />
+		<method name="noneMatch(Ljava/util/function/DoublePredicate;)Z" />
+		<method name="of(D)Ljava/util/stream/DoubleStream;" />
+		<method name="of([D)Ljava/util/stream/DoubleStream;" />
+		<method name="parallel()Ljava/util/stream/DoubleStream;" />
+		<method name="peek(Ljava/util/function/DoubleConsumer;)Ljava/util/stream/DoubleStream;" />
+		<method name="reduce(DLjava/util/function/DoubleBinaryOperator;)D" />
+		<method name="reduce(Ljava/util/function/DoubleBinaryOperator;)Ljava/util/OptionalDouble;" />
+		<method name="sequential()Ljava/util/stream/DoubleStream;" />
+		<method name="skip(J)Ljava/util/stream/DoubleStream;" />
+		<method name="sorted()Ljava/util/stream/DoubleStream;" />
+		<method name="spliterator()Ljava/util/Spliterator$OfDouble;" />
+		<method name="sum()D" />
+		<method name="summaryStatistics()Ljava/util/DoubleSummaryStatistics;" />
+		<method name="toArray()[D" />
+	</class>
+	<class name="java/util/stream/DoubleStream$Builder" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/function/DoubleConsumer" />
+		<method name="add(D)Ljava/util/stream/DoubleStream$Builder;" />
+		<method name="build()Ljava/util/stream/DoubleStream;" />
+	</class>
+	<class name="java/util/stream/IntStream" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/stream/BaseStream" />
+		<method name="allMatch(Ljava/util/function/IntPredicate;)Z" />
+		<method name="anyMatch(Ljava/util/function/IntPredicate;)Z" />
+		<method name="asDoubleStream()Ljava/util/stream/DoubleStream;" />
+		<method name="asLongStream()Ljava/util/stream/LongStream;" />
+		<method name="average()Ljava/util/OptionalDouble;" />
+		<method name="boxed()Ljava/util/stream/Stream;" />
+		<method name="builder()Ljava/util/stream/IntStream$Builder;" />
+		<method name="collect(Ljava/util/function/Supplier;Ljava/util/function/ObjIntConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;" />
+		<method name="concat(Ljava/util/stream/IntStream;Ljava/util/stream/IntStream;)Ljava/util/stream/IntStream;" />
+		<method name="count()J" />
+		<method name="distinct()Ljava/util/stream/IntStream;" />
+		<method name="empty()Ljava/util/stream/IntStream;" />
+		<method name="filter(Ljava/util/function/IntPredicate;)Ljava/util/stream/IntStream;" />
+		<method name="findAny()Ljava/util/OptionalInt;" />
+		<method name="findFirst()Ljava/util/OptionalInt;" />
+		<method name="flatMap(Ljava/util/function/IntFunction;)Ljava/util/stream/IntStream;" />
+		<method name="forEach(Ljava/util/function/IntConsumer;)V" />
+		<method name="forEachOrdered(Ljava/util/function/IntConsumer;)V" />
+		<method name="generate(Ljava/util/function/IntSupplier;)Ljava/util/stream/IntStream;" />
+		<method name="iterate(ILjava/util/function/IntUnaryOperator;)Ljava/util/stream/IntStream;" />
+		<method name="iterator()Ljava/util/PrimitiveIterator$OfInt;" />
+		<method name="limit(J)Ljava/util/stream/IntStream;" />
+		<method name="map(Ljava/util/function/IntUnaryOperator;)Ljava/util/stream/IntStream;" />
+		<method name="mapToDouble(Ljava/util/function/IntToDoubleFunction;)Ljava/util/stream/DoubleStream;" />
+		<method name="mapToLong(Ljava/util/function/IntToLongFunction;)Ljava/util/stream/LongStream;" />
+		<method name="mapToObj(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;" />
+		<method name="max()Ljava/util/OptionalInt;" />
+		<method name="min()Ljava/util/OptionalInt;" />
+		<method name="noneMatch(Ljava/util/function/IntPredicate;)Z" />
+		<method name="of(I)Ljava/util/stream/IntStream;" />
+		<method name="of([I)Ljava/util/stream/IntStream;" />
+		<method name="parallel()Ljava/util/stream/IntStream;" />
+		<method name="peek(Ljava/util/function/IntConsumer;)Ljava/util/stream/IntStream;" />
+		<method name="range(II)Ljava/util/stream/IntStream;" />
+		<method name="rangeClosed(II)Ljava/util/stream/IntStream;" />
+		<method name="reduce(ILjava/util/function/IntBinaryOperator;)I" />
+		<method name="reduce(Ljava/util/function/IntBinaryOperator;)Ljava/util/OptionalInt;" />
+		<method name="sequential()Ljava/util/stream/IntStream;" />
+		<method name="skip(J)Ljava/util/stream/IntStream;" />
+		<method name="sorted()Ljava/util/stream/IntStream;" />
+		<method name="spliterator()Ljava/util/Spliterator$OfInt;" />
+		<method name="sum()I" />
+		<method name="summaryStatistics()Ljava/util/IntSummaryStatistics;" />
+		<method name="toArray()[I" />
+	</class>
+	<class name="java/util/stream/IntStream$Builder" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/function/IntConsumer" />
+		<method name="add(I)Ljava/util/stream/IntStream$Builder;" />
+		<method name="build()Ljava/util/stream/IntStream;" />
+	</class>
+	<class name="java/util/stream/LongStream" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/stream/BaseStream" />
+		<method name="allMatch(Ljava/util/function/LongPredicate;)Z" />
+		<method name="anyMatch(Ljava/util/function/LongPredicate;)Z" />
+		<method name="asDoubleStream()Ljava/util/stream/DoubleStream;" />
+		<method name="average()Ljava/util/OptionalDouble;" />
+		<method name="boxed()Ljava/util/stream/Stream;" />
+		<method name="builder()Ljava/util/stream/LongStream$Builder;" />
+		<method name="collect(Ljava/util/function/Supplier;Ljava/util/function/ObjLongConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;" />
+		<method name="concat(Ljava/util/stream/LongStream;Ljava/util/stream/LongStream;)Ljava/util/stream/LongStream;" />
+		<method name="count()J" />
+		<method name="distinct()Ljava/util/stream/LongStream;" />
+		<method name="empty()Ljava/util/stream/LongStream;" />
+		<method name="filter(Ljava/util/function/LongPredicate;)Ljava/util/stream/LongStream;" />
+		<method name="findAny()Ljava/util/OptionalLong;" />
+		<method name="findFirst()Ljava/util/OptionalLong;" />
+		<method name="flatMap(Ljava/util/function/LongFunction;)Ljava/util/stream/LongStream;" />
+		<method name="forEach(Ljava/util/function/LongConsumer;)V" />
+		<method name="forEachOrdered(Ljava/util/function/LongConsumer;)V" />
+		<method name="generate(Ljava/util/function/LongSupplier;)Ljava/util/stream/LongStream;" />
+		<method name="iterate(JLjava/util/function/LongUnaryOperator;)Ljava/util/stream/LongStream;" />
+		<method name="iterator()Ljava/util/PrimitiveIterator$OfLong;" />
+		<method name="limit(J)Ljava/util/stream/LongStream;" />
+		<method name="map(Ljava/util/function/LongUnaryOperator;)Ljava/util/stream/LongStream;" />
+		<method name="mapToDouble(Ljava/util/function/LongToDoubleFunction;)Ljava/util/stream/DoubleStream;" />
+		<method name="mapToInt(Ljava/util/function/LongToIntFunction;)Ljava/util/stream/IntStream;" />
+		<method name="mapToObj(Ljava/util/function/LongFunction;)Ljava/util/stream/Stream;" />
+		<method name="max()Ljava/util/OptionalLong;" />
+		<method name="min()Ljava/util/OptionalLong;" />
+		<method name="noneMatch(Ljava/util/function/LongPredicate;)Z" />
+		<method name="of(J)Ljava/util/stream/LongStream;" />
+		<method name="of([J)Ljava/util/stream/LongStream;" />
+		<method name="parallel()Ljava/util/stream/LongStream;" />
+		<method name="peek(Ljava/util/function/LongConsumer;)Ljava/util/stream/LongStream;" />
+		<method name="range(JJ)Ljava/util/stream/LongStream;" />
+		<method name="rangeClosed(JJ)Ljava/util/stream/LongStream;" />
+		<method name="reduce(JLjava/util/function/LongBinaryOperator;)J" />
+		<method name="reduce(Ljava/util/function/LongBinaryOperator;)Ljava/util/OptionalLong;" />
+		<method name="sequential()Ljava/util/stream/LongStream;" />
+		<method name="skip(J)Ljava/util/stream/LongStream;" />
+		<method name="sorted()Ljava/util/stream/LongStream;" />
+		<method name="spliterator()Ljava/util/Spliterator$OfLong;" />
+		<method name="sum()J" />
+		<method name="summaryStatistics()Ljava/util/LongSummaryStatistics;" />
+		<method name="toArray()[J" />
+	</class>
+	<class name="java/util/stream/LongStream$Builder" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/function/LongConsumer" />
+		<method name="add(J)Ljava/util/stream/LongStream$Builder;" />
+		<method name="build()Ljava/util/stream/LongStream;" />
+	</class>
+	<class name="java/util/stream/Stream" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/stream/BaseStream" />
+		<method name="allMatch(Ljava/util/function/Predicate;)Z" />
+		<method name="anyMatch(Ljava/util/function/Predicate;)Z" />
+		<method name="builder()Ljava/util/stream/Stream$Builder;" />
+		<method name="collect(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;" />
+		<method name="collect(Ljava/util/stream/Collector;)Ljava/lang/Object;" />
+		<method name="concat(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;" />
+		<method name="count()J" />
+		<method name="distinct()Ljava/util/stream/Stream;" />
+		<method name="empty()Ljava/util/stream/Stream;" />
+		<method name="filter(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;" />
+		<method name="findAny()Ljava/util/Optional;" />
+		<method name="findFirst()Ljava/util/Optional;" />
+		<method name="flatMap(Ljava/util/function/Function;)Ljava/util/stream/Stream;" />
+		<method name="flatMapToDouble(Ljava/util/function/Function;)Ljava/util/stream/DoubleStream;" />
+		<method name="flatMapToInt(Ljava/util/function/Function;)Ljava/util/stream/IntStream;" />
+		<method name="flatMapToLong(Ljava/util/function/Function;)Ljava/util/stream/LongStream;" />
+		<method name="forEach(Ljava/util/function/Consumer;)V" />
+		<method name="forEachOrdered(Ljava/util/function/Consumer;)V" />
+		<method name="generate(Ljava/util/function/Supplier;)Ljava/util/stream/Stream;" />
+		<method name="iterate(Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/util/stream/Stream;" />
+		<method name="limit(J)Ljava/util/stream/Stream;" />
+		<method name="map(Ljava/util/function/Function;)Ljava/util/stream/Stream;" />
+		<method name="mapToDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/DoubleStream;" />
+		<method name="mapToInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;" />
+		<method name="mapToLong(Ljava/util/function/ToLongFunction;)Ljava/util/stream/LongStream;" />
+		<method name="max(Ljava/util/Comparator;)Ljava/util/Optional;" />
+		<method name="min(Ljava/util/Comparator;)Ljava/util/Optional;" />
+		<method name="noneMatch(Ljava/util/function/Predicate;)Z" />
+		<method name="of(Ljava/lang/Object;)Ljava/util/stream/Stream;" />
+		<method name="of([Ljava/lang/Object;)Ljava/util/stream/Stream;" />
+		<method name="peek(Ljava/util/function/Consumer;)Ljava/util/stream/Stream;" />
+		<method name="reduce(Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" />
+		<method name="reduce(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" />
+		<method name="reduce(Ljava/util/function/BinaryOperator;)Ljava/util/Optional;" />
+		<method name="skip(J)Ljava/util/stream/Stream;" />
+		<method name="sorted()Ljava/util/stream/Stream;" />
+		<method name="sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream;" />
+		<method name="toArray()[Ljava/lang/Object;" />
+		<method name="toArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;" />
+	</class>
+	<class name="java/util/stream/Stream$Builder" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/function/Consumer" />
+		<method name="add(Ljava/lang/Object;)Ljava/util/stream/Stream$Builder;" />
+		<method name="build()Ljava/util/stream/Stream;" />
+	</class>
+	<class name="java/util/stream/StreamSupport" since="24">
+		<extends name="java/lang/Object" />
+		<method name="doubleStream(Ljava/util/Spliterator$OfDouble;Z)Ljava/util/stream/DoubleStream;" />
+		<method name="doubleStream(Ljava/util/function/Supplier;IZ)Ljava/util/stream/DoubleStream;" />
+		<method name="intStream(Ljava/util/Spliterator$OfInt;Z)Ljava/util/stream/IntStream;" />
+		<method name="intStream(Ljava/util/function/Supplier;IZ)Ljava/util/stream/IntStream;" />
+		<method name="longStream(Ljava/util/Spliterator$OfLong;Z)Ljava/util/stream/LongStream;" />
+		<method name="longStream(Ljava/util/function/Supplier;IZ)Ljava/util/stream/LongStream;" />
+		<method name="stream(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;" />
+		<method name="stream(Ljava/util/function/Supplier;IZ)Ljava/util/stream/Stream;" />
+	</class>
+	<class name="java/util/zip/Adler32" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/zip/Checksum" />
+		<method name="&lt;init&gt;()V" />
+		<method name="update(Ljava/nio/ByteBuffer;)V" since="26" />
+		<method name="update([B)V" />
+	</class>
+	<class name="java/util/zip/CRC32" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/zip/Checksum" />
+		<method name="&lt;init&gt;()V" />
+		<method name="update(Ljava/nio/ByteBuffer;)V" since="26" />
+		<method name="update([B)V" />
+	</class>
+	<class name="java/util/zip/CheckedInputStream" since="1">
+		<extends name="java/io/FilterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/util/zip/Checksum;)V" />
+		<method name="getChecksum()Ljava/util/zip/Checksum;" />
+	</class>
+	<class name="java/util/zip/CheckedOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/util/zip/Checksum;)V" />
+		<method name="getChecksum()Ljava/util/zip/Checksum;" />
+	</class>
+	<class name="java/util/zip/Checksum" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getValue()J" />
+		<method name="reset()V" />
+		<method name="update(I)V" />
+		<method name="update([BII)V" />
+	</class>
+	<class name="java/util/zip/DataFormatException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/zip/Deflater" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(IZ)V" />
+		<method name="deflate([B)I" />
+		<method name="deflate([BII)I" />
+		<method name="deflate([BIII)I" since="19" />
+		<method name="end()V" />
+		<method name="finish()V" />
+		<method name="finished()Z" />
+		<method name="getAdler()I" />
+		<method name="getBytesRead()J" />
+		<method name="getBytesWritten()J" />
+		<method name="getTotalIn()I" />
+		<method name="getTotalOut()I" />
+		<method name="needsInput()Z" />
+		<method name="reset()V" />
+		<method name="setDictionary([B)V" />
+		<method name="setDictionary([BII)V" />
+		<method name="setInput([B)V" />
+		<method name="setInput([BII)V" />
+		<method name="setLevel(I)V" />
+		<method name="setStrategy(I)V" />
+		<field name="BEST_COMPRESSION" />
+		<field name="BEST_SPEED" />
+		<field name="DEFAULT_COMPRESSION" />
+		<field name="DEFAULT_STRATEGY" />
+		<field name="DEFLATED" />
+		<field name="FILTERED" />
+		<field name="FULL_FLUSH" since="19" />
+		<field name="HUFFMAN_ONLY" />
+		<field name="NO_COMPRESSION" />
+		<field name="NO_FLUSH" since="19" />
+		<field name="SYNC_FLUSH" since="19" />
+	</class>
+	<class name="java/util/zip/DeflaterInputStream" since="9">
+		<extends name="java/io/FilterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/util/zip/Deflater;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/util/zip/Deflater;I)V" />
+		<field name="buf" />
+		<field name="def" />
+	</class>
+	<class name="java/util/zip/DeflaterOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/util/zip/Deflater;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/util/zip/Deflater;I)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/util/zip/Deflater;IZ)V" since="19" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/util/zip/Deflater;Z)V" since="19" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Z)V" since="19" />
+		<method name="deflate()V" />
+		<method name="finish()V" />
+		<field name="buf" />
+		<field name="def" />
+	</class>
+	<class name="java/util/zip/GZIPInputStream" since="1">
+		<extends name="java/util/zip/InflaterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;I)V" />
+		<field name="GZIP_MAGIC" />
+		<field name="crc" />
+		<field name="eos" />
+	</class>
+	<class name="java/util/zip/GZIPOutputStream" since="1">
+		<extends name="java/util/zip/DeflaterOutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;I)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;IZ)V" since="19" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Z)V" since="19" />
+		<field name="crc" />
+	</class>
+	<class name="java/util/zip/Inflater" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Z)V" />
+		<method name="end()V" />
+		<method name="finished()Z" />
+		<method name="getAdler()I" />
+		<method name="getBytesRead()J" />
+		<method name="getBytesWritten()J" />
+		<method name="getRemaining()I" />
+		<method name="getTotalIn()I" />
+		<method name="getTotalOut()I" />
+		<method name="inflate([B)I" />
+		<method name="inflate([BII)I" />
+		<method name="needsDictionary()Z" />
+		<method name="needsInput()Z" />
+		<method name="reset()V" />
+		<method name="setDictionary([B)V" />
+		<method name="setDictionary([BII)V" />
+		<method name="setInput([B)V" />
+		<method name="setInput([BII)V" />
+	</class>
+	<class name="java/util/zip/InflaterInputStream" since="1">
+		<extends name="java/io/FilterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/util/zip/Inflater;I)V" />
+		<method name="fill()V" />
+		<field name="buf" />
+		<field name="closed" since="24" deprecated="29" />
+		<field name="inf" />
+		<field name="len" />
+	</class>
+	<class name="java/util/zip/InflaterOutputStream" since="9">
+		<extends name="java/io/FilterOutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/util/zip/Inflater;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/util/zip/Inflater;I)V" />
+		<method name="finish()V" />
+		<field name="buf" />
+		<field name="inf" />
+	</class>
+	<class name="java/util/zip/ZipEntry" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/util/zip/ZipEntry;)V" />
+		<method name="getComment()Ljava/lang/String;" />
+		<method name="getCompressedSize()J" />
+		<method name="getCrc()J" />
+		<method name="getCreationTime()Ljava/nio/file/attribute/FileTime;" since="26" />
+		<method name="getExtra()[B" />
+		<method name="getLastAccessTime()Ljava/nio/file/attribute/FileTime;" since="26" />
+		<method name="getLastModifiedTime()Ljava/nio/file/attribute/FileTime;" since="26" />
+		<method name="getMethod()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getSize()J" />
+		<method name="getTime()J" />
+		<method name="isDirectory()Z" />
+		<method name="setComment(Ljava/lang/String;)V" />
+		<method name="setCompressedSize(J)V" />
+		<method name="setCrc(J)V" />
+		<method name="setCreationTime(Ljava/nio/file/attribute/FileTime;)Ljava/util/zip/ZipEntry;" since="26" />
+		<method name="setExtra([B)V" />
+		<method name="setLastAccessTime(Ljava/nio/file/attribute/FileTime;)Ljava/util/zip/ZipEntry;" since="26" />
+		<method name="setLastModifiedTime(Ljava/nio/file/attribute/FileTime;)Ljava/util/zip/ZipEntry;" since="26" />
+		<method name="setMethod(I)V" />
+		<method name="setSize(J)V" />
+		<method name="setTime(J)V" />
+		<field name="CENATT" since="21" />
+		<field name="CENATX" since="21" />
+		<field name="CENCOM" since="21" />
+		<field name="CENCRC" since="21" />
+		<field name="CENDSK" since="21" />
+		<field name="CENEXT" since="21" />
+		<field name="CENFLG" since="21" />
+		<field name="CENHDR" since="21" />
+		<field name="CENHOW" since="21" />
+		<field name="CENLEN" since="21" />
+		<field name="CENNAM" since="21" />
+		<field name="CENOFF" since="21" />
+		<field name="CENSIG" since="21" />
+		<field name="CENSIZ" since="21" />
+		<field name="CENTIM" since="21" />
+		<field name="CENVEM" since="21" />
+		<field name="CENVER" since="21" />
+		<field name="DEFLATED" />
+		<field name="ENDCOM" since="21" />
+		<field name="ENDHDR" since="21" />
+		<field name="ENDOFF" since="21" />
+		<field name="ENDSIG" since="21" />
+		<field name="ENDSIZ" since="21" />
+		<field name="ENDSUB" since="21" />
+		<field name="ENDTOT" since="21" />
+		<field name="EXTCRC" since="21" />
+		<field name="EXTHDR" since="21" />
+		<field name="EXTLEN" since="21" />
+		<field name="EXTSIG" since="21" />
+		<field name="EXTSIZ" since="21" />
+		<field name="LOCCRC" since="21" />
+		<field name="LOCEXT" since="21" />
+		<field name="LOCFLG" since="21" />
+		<field name="LOCHDR" since="21" />
+		<field name="LOCHOW" since="21" />
+		<field name="LOCLEN" since="21" />
+		<field name="LOCNAM" since="21" />
+		<field name="LOCSIG" since="21" />
+		<field name="LOCSIZ" since="21" />
+		<field name="LOCTIM" since="21" />
+		<field name="LOCVER" since="21" />
+		<field name="STORED" />
+	</class>
+	<class name="java/util/zip/ZipError" since="9">
+		<extends name="java/lang/InternalError" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/zip/ZipException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="java/util/zip/ZipFile" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Closeable" since="19" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;I)V" />
+		<method name="&lt;init&gt;(Ljava/io/File;ILjava/nio/charset/Charset;)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/io/File;Ljava/nio/charset/Charset;)V" since="24" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/nio/charset/Charset;)V" since="24" />
+		<method name="close()V" />
+		<method name="entries()Ljava/util/Enumeration;" />
+		<method name="getComment()Ljava/lang/String;" since="19" />
+		<method name="getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;" />
+		<method name="getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="size()I" />
+		<method name="stream()Ljava/util/stream/Stream;" since="26" />
+		<field name="CENATT" since="21" />
+		<field name="CENATX" since="21" />
+		<field name="CENCOM" since="21" />
+		<field name="CENCRC" since="21" />
+		<field name="CENDSK" since="21" />
+		<field name="CENEXT" since="21" />
+		<field name="CENFLG" since="21" />
+		<field name="CENHDR" since="21" />
+		<field name="CENHOW" since="21" />
+		<field name="CENLEN" since="21" />
+		<field name="CENNAM" since="21" />
+		<field name="CENOFF" since="21" />
+		<field name="CENSIG" since="21" />
+		<field name="CENSIZ" since="21" />
+		<field name="CENTIM" since="21" />
+		<field name="CENVEM" since="21" />
+		<field name="CENVER" since="21" />
+		<field name="ENDCOM" since="21" />
+		<field name="ENDHDR" since="21" />
+		<field name="ENDOFF" since="21" />
+		<field name="ENDSIG" since="21" />
+		<field name="ENDSIZ" since="21" />
+		<field name="ENDSUB" since="21" />
+		<field name="ENDTOT" since="21" />
+		<field name="EXTCRC" since="21" />
+		<field name="EXTHDR" since="21" />
+		<field name="EXTLEN" since="21" />
+		<field name="EXTSIG" since="21" />
+		<field name="EXTSIZ" since="21" />
+		<field name="LOCCRC" since="21" />
+		<field name="LOCEXT" since="21" />
+		<field name="LOCFLG" since="21" />
+		<field name="LOCHDR" since="21" />
+		<field name="LOCHOW" since="21" />
+		<field name="LOCLEN" since="21" />
+		<field name="LOCNAM" since="21" />
+		<field name="LOCSIG" since="21" />
+		<field name="LOCSIZ" since="21" />
+		<field name="LOCTIM" since="21" />
+		<field name="LOCVER" since="21" />
+		<field name="OPEN_DELETE" />
+		<field name="OPEN_READ" />
+	</class>
+	<class name="java/util/zip/ZipInputStream" since="1">
+		<extends name="java/util/zip/InflaterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V" since="24" />
+		<method name="closeEntry()V" />
+		<method name="createZipEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;" />
+		<method name="getNextEntry()Ljava/util/zip/ZipEntry;" />
+		<field name="CENATT" since="21" />
+		<field name="CENATX" since="21" />
+		<field name="CENCOM" since="21" />
+		<field name="CENCRC" since="21" />
+		<field name="CENDSK" since="21" />
+		<field name="CENEXT" since="21" />
+		<field name="CENFLG" since="21" />
+		<field name="CENHDR" since="21" />
+		<field name="CENHOW" since="21" />
+		<field name="CENLEN" since="21" />
+		<field name="CENNAM" since="21" />
+		<field name="CENOFF" since="21" />
+		<field name="CENSIG" since="21" />
+		<field name="CENSIZ" since="21" />
+		<field name="CENTIM" since="21" />
+		<field name="CENVEM" since="21" />
+		<field name="CENVER" since="21" />
+		<field name="ENDCOM" since="21" />
+		<field name="ENDHDR" since="21" />
+		<field name="ENDOFF" since="21" />
+		<field name="ENDSIG" since="21" />
+		<field name="ENDSIZ" since="21" />
+		<field name="ENDSUB" since="21" />
+		<field name="ENDTOT" since="21" />
+		<field name="EXTCRC" since="21" />
+		<field name="EXTHDR" since="21" />
+		<field name="EXTLEN" since="21" />
+		<field name="EXTSIG" since="21" />
+		<field name="EXTSIZ" since="21" />
+		<field name="LOCCRC" since="21" />
+		<field name="LOCEXT" since="21" />
+		<field name="LOCFLG" since="21" />
+		<field name="LOCHDR" since="21" />
+		<field name="LOCHOW" since="21" />
+		<field name="LOCLEN" since="21" />
+		<field name="LOCNAM" since="21" />
+		<field name="LOCSIG" since="21" />
+		<field name="LOCSIZ" since="21" />
+		<field name="LOCTIM" since="21" />
+		<field name="LOCVER" since="21" />
+	</class>
+	<class name="java/util/zip/ZipOutputStream" since="1">
+		<extends name="java/util/zip/DeflaterOutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V" since="24" />
+		<method name="closeEntry()V" />
+		<method name="putNextEntry(Ljava/util/zip/ZipEntry;)V" />
+		<method name="setComment(Ljava/lang/String;)V" />
+		<method name="setLevel(I)V" />
+		<method name="setMethod(I)V" />
+		<field name="CENATT" since="21" />
+		<field name="CENATX" since="21" />
+		<field name="CENCOM" since="21" />
+		<field name="CENCRC" since="21" />
+		<field name="CENDSK" since="21" />
+		<field name="CENEXT" since="21" />
+		<field name="CENFLG" since="21" />
+		<field name="CENHDR" since="21" />
+		<field name="CENHOW" since="21" />
+		<field name="CENLEN" since="21" />
+		<field name="CENNAM" since="21" />
+		<field name="CENOFF" since="21" />
+		<field name="CENSIG" since="21" />
+		<field name="CENSIZ" since="21" />
+		<field name="CENTIM" since="21" />
+		<field name="CENVEM" since="21" />
+		<field name="CENVER" since="21" />
+		<field name="DEFLATED" />
+		<field name="ENDCOM" since="21" />
+		<field name="ENDHDR" since="21" />
+		<field name="ENDOFF" since="21" />
+		<field name="ENDSIG" since="21" />
+		<field name="ENDSIZ" since="21" />
+		<field name="ENDSUB" since="21" />
+		<field name="ENDTOT" since="21" />
+		<field name="EXTCRC" since="21" />
+		<field name="EXTHDR" since="21" />
+		<field name="EXTLEN" since="21" />
+		<field name="EXTSIG" since="21" />
+		<field name="EXTSIZ" since="21" />
+		<field name="LOCCRC" since="21" />
+		<field name="LOCEXT" since="21" />
+		<field name="LOCFLG" since="21" />
+		<field name="LOCHDR" since="21" />
+		<field name="LOCHOW" since="21" />
+		<field name="LOCLEN" since="21" />
+		<field name="LOCNAM" since="21" />
+		<field name="LOCSIG" since="21" />
+		<field name="LOCSIZ" since="21" />
+		<field name="LOCTIM" since="21" />
+		<field name="LOCVER" since="21" />
+		<field name="STORED" />
+	</class>
+	<class name="javax/crypto/AEADBadTagException" since="19">
+		<extends name="javax/crypto/BadPaddingException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/crypto/BadPaddingException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/crypto/Cipher" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljavax/crypto/CipherSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="doFinal()[B" />
+		<method name="doFinal(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I" />
+		<method name="doFinal([B)[B" />
+		<method name="doFinal([BI)I" />
+		<method name="doFinal([BII)[B" />
+		<method name="doFinal([BII[B)I" />
+		<method name="doFinal([BII[BI)I" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getBlockSize()I" />
+		<method name="getExemptionMechanism()Ljavax/crypto/ExemptionMechanism;" />
+		<method name="getIV()[B" />
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/Cipher;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;" />
+		<method name="getMaxAllowedKeyLength(Ljava/lang/String;)I" />
+		<method name="getMaxAllowedParameterSpec(Ljava/lang/String;)Ljava/security/spec/AlgorithmParameterSpec;" />
+		<method name="getOutputSize(I)I" />
+		<method name="getParameters()Ljava/security/AlgorithmParameters;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="init(ILjava/security/Key;)V" />
+		<method name="init(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V" />
+		<method name="init(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V" />
+		<method name="init(ILjava/security/Key;Ljava/security/SecureRandom;)V" />
+		<method name="init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V" />
+		<method name="init(ILjava/security/cert/Certificate;)V" />
+		<method name="init(ILjava/security/cert/Certificate;Ljava/security/SecureRandom;)V" />
+		<method name="unwrap([BLjava/lang/String;I)Ljava/security/Key;" />
+		<method name="update(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I" />
+		<method name="update([B)[B" />
+		<method name="update([BII)[B" />
+		<method name="update([BII[B)I" />
+		<method name="update([BII[BI)I" />
+		<method name="updateAAD(Ljava/nio/ByteBuffer;)V" since="19" />
+		<method name="updateAAD([B)V" since="19" />
+		<method name="updateAAD([BII)V" since="19" />
+		<method name="wrap(Ljava/security/Key;)[B" />
+		<field name="DECRYPT_MODE" />
+		<field name="ENCRYPT_MODE" />
+		<field name="PRIVATE_KEY" />
+		<field name="PUBLIC_KEY" />
+		<field name="SECRET_KEY" />
+		<field name="UNWRAP_MODE" />
+		<field name="WRAP_MODE" />
+	</class>
+	<class name="javax/crypto/CipherInputStream" since="1">
+		<extends name="java/io/FilterInputStream" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljavax/crypto/Cipher;)V" />
+	</class>
+	<class name="javax/crypto/CipherOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;Ljavax/crypto/Cipher;)V" />
+	</class>
+	<class name="javax/crypto/CipherSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineDoFinal(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I" />
+		<method name="engineDoFinal([BII)[B" />
+		<method name="engineDoFinal([BII[BI)I" />
+		<method name="engineGetBlockSize()I" />
+		<method name="engineGetIV()[B" />
+		<method name="engineGetKeySize(Ljava/security/Key;)I" />
+		<method name="engineGetOutputSize(I)I" />
+		<method name="engineGetParameters()Ljava/security/AlgorithmParameters;" />
+		<method name="engineInit(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V" />
+		<method name="engineInit(ILjava/security/Key;Ljava/security/SecureRandom;)V" />
+		<method name="engineInit(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V" />
+		<method name="engineSetMode(Ljava/lang/String;)V" />
+		<method name="engineSetPadding(Ljava/lang/String;)V" />
+		<method name="engineUnwrap([BLjava/lang/String;I)Ljava/security/Key;" />
+		<method name="engineUpdate(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I" />
+		<method name="engineUpdate([BII)[B" />
+		<method name="engineUpdate([BII[BI)I" />
+		<method name="engineUpdateAAD(Ljava/nio/ByteBuffer;)V" since="19" />
+		<method name="engineUpdateAAD([BII)V" since="19" />
+		<method name="engineWrap(Ljava/security/Key;)[B" />
+	</class>
+	<class name="javax/crypto/EncryptedPrivateKeyInfo" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;[B)V" />
+		<method name="&lt;init&gt;(Ljava/security/AlgorithmParameters;[B)V" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="getAlgName()Ljava/lang/String;" />
+		<method name="getAlgParameters()Ljava/security/AlgorithmParameters;" />
+		<method name="getEncoded()[B" />
+		<method name="getEncryptedData()[B" />
+		<method name="getKeySpec(Ljava/security/Key;)Ljava/security/spec/PKCS8EncodedKeySpec;" />
+		<method name="getKeySpec(Ljava/security/Key;Ljava/lang/String;)Ljava/security/spec/PKCS8EncodedKeySpec;" />
+		<method name="getKeySpec(Ljava/security/Key;Ljava/security/Provider;)Ljava/security/spec/PKCS8EncodedKeySpec;" />
+		<method name="getKeySpec(Ljavax/crypto/Cipher;)Ljava/security/spec/PKCS8EncodedKeySpec;" />
+	</class>
+	<class name="javax/crypto/ExemptionMechanism" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljavax/crypto/ExemptionMechanismSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="genExemptionBlob()[B" />
+		<method name="genExemptionBlob([B)I" />
+		<method name="genExemptionBlob([BI)I" />
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/ExemptionMechanism;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/ExemptionMechanism;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/ExemptionMechanism;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getOutputSize(I)I" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="init(Ljava/security/Key;)V" />
+		<method name="init(Ljava/security/Key;Ljava/security/AlgorithmParameters;)V" />
+		<method name="init(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="isCryptoAllowed(Ljava/security/Key;)Z" />
+	</class>
+	<class name="javax/crypto/ExemptionMechanismException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/crypto/ExemptionMechanismSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGenExemptionBlob()[B" />
+		<method name="engineGenExemptionBlob([BI)I" />
+		<method name="engineGetOutputSize(I)I" />
+		<method name="engineInit(Ljava/security/Key;)V" />
+		<method name="engineInit(Ljava/security/Key;Ljava/security/AlgorithmParameters;)V" />
+		<method name="engineInit(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V" />
+	</class>
+	<class name="javax/crypto/IllegalBlockSizeException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/crypto/KeyAgreement" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljavax/crypto/KeyAgreementSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="doPhase(Ljava/security/Key;Z)Ljava/security/Key;" />
+		<method name="generateSecret()[B" />
+		<method name="generateSecret(Ljava/lang/String;)Ljavax/crypto/SecretKey;" />
+		<method name="generateSecret([BI)I" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/KeyAgreement;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/KeyAgreement;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/KeyAgreement;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="init(Ljava/security/Key;)V" />
+		<method name="init(Ljava/security/Key;Ljava/security/SecureRandom;)V" />
+		<method name="init(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="init(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V" />
+	</class>
+	<class name="javax/crypto/KeyAgreementSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineDoPhase(Ljava/security/Key;Z)Ljava/security/Key;" />
+		<method name="engineGenerateSecret()[B" />
+		<method name="engineGenerateSecret(Ljava/lang/String;)Ljavax/crypto/SecretKey;" />
+		<method name="engineGenerateSecret([BI)I" />
+		<method name="engineInit(Ljava/security/Key;Ljava/security/SecureRandom;)V" />
+		<method name="engineInit(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V" />
+	</class>
+	<class name="javax/crypto/KeyGenerator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljavax/crypto/KeyGeneratorSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="generateKey()Ljavax/crypto/SecretKey;" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/KeyGenerator;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/KeyGenerator;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/KeyGenerator;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="init(I)V" />
+		<method name="init(ILjava/security/SecureRandom;)V" />
+		<method name="init(Ljava/security/SecureRandom;)V" />
+		<method name="init(Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="init(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V" />
+	</class>
+	<class name="javax/crypto/KeyGeneratorSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGenerateKey()Ljavax/crypto/SecretKey;" />
+		<method name="engineInit(ILjava/security/SecureRandom;)V" />
+		<method name="engineInit(Ljava/security/SecureRandom;)V" />
+		<method name="engineInit(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V" />
+	</class>
+	<class name="javax/crypto/Mac" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;(Ljavax/crypto/MacSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="doFinal()[B" />
+		<method name="doFinal([B)[B" />
+		<method name="doFinal([BI)V" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/Mac;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Mac;" />
+		<method name="getMacLength()I" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="init(Ljava/security/Key;)V" />
+		<method name="init(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="reset()V" />
+		<method name="update(B)V" />
+		<method name="update(Ljava/nio/ByteBuffer;)V" />
+		<method name="update([B)V" />
+		<method name="update([BII)V" />
+	</class>
+	<class name="javax/crypto/MacSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineDoFinal()[B" />
+		<method name="engineGetMacLength()I" />
+		<method name="engineInit(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V" />
+		<method name="engineReset()V" />
+		<method name="engineUpdate(B)V" />
+		<method name="engineUpdate(Ljava/nio/ByteBuffer;)V" />
+		<method name="engineUpdate([BII)V" />
+	</class>
+	<class name="javax/crypto/NoSuchPaddingException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/crypto/NullCipher" since="1">
+		<extends name="javax/crypto/Cipher" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="javax/crypto/SealedObject" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/io/Serializable;Ljavax/crypto/Cipher;)V" />
+		<method name="&lt;init&gt;(Ljavax/crypto/SealedObject;)V" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getObject(Ljava/security/Key;)Ljava/lang/Object;" />
+		<method name="getObject(Ljava/security/Key;Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getObject(Ljavax/crypto/Cipher;)Ljava/lang/Object;" />
+		<field name="encodedParams" />
+	</class>
+	<class name="javax/crypto/SecretKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/Key" />
+		<implements name="javax/security/auth/Destroyable" since="26" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="javax/crypto/SecretKeyFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljavax/crypto/SecretKeyFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="generateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/SecretKeyFactory;" />
+		<method name="getKeySpec(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="translateKey(Ljavax/crypto/SecretKey;)Ljavax/crypto/SecretKey;" />
+	</class>
+	<class name="javax/crypto/SecretKeyFactorySpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGenerateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;" />
+		<method name="engineGetKeySpec(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;" />
+		<method name="engineTranslateKey(Ljavax/crypto/SecretKey;)Ljavax/crypto/SecretKey;" />
+	</class>
+	<class name="javax/crypto/ShortBufferException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/crypto/interfaces/DHKey" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getParams()Ljavax/crypto/spec/DHParameterSpec;" />
+	</class>
+	<class name="javax/crypto/interfaces/DHPrivateKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/PrivateKey" />
+		<implements name="javax/crypto/interfaces/DHKey" />
+		<method name="getX()Ljava/math/BigInteger;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="javax/crypto/interfaces/DHPublicKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/PublicKey" />
+		<implements name="javax/crypto/interfaces/DHKey" />
+		<method name="getY()Ljava/math/BigInteger;" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="javax/crypto/interfaces/PBEKey" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/crypto/SecretKey" />
+		<method name="getIterationCount()I" />
+		<method name="getPassword()[C" />
+		<method name="getSalt()[B" />
+		<field name="serialVersionUID" />
+	</class>
+	<class name="javax/crypto/spec/DESKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="&lt;init&gt;([BI)V" />
+		<method name="getKey()[B" />
+		<method name="isParityAdjusted([BI)Z" />
+		<method name="isWeak([BI)Z" />
+		<field name="DES_KEY_LEN" />
+	</class>
+	<class name="javax/crypto/spec/DESedeKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="&lt;init&gt;([BI)V" />
+		<method name="getKey()[B" />
+		<method name="isParityAdjusted([BI)Z" />
+		<field name="DES_EDE_KEY_LEN" />
+	</class>
+	<class name="javax/crypto/spec/DHGenParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="getExponentSize()I" />
+		<method name="getPrimeSize()I" />
+	</class>
+	<class name="javax/crypto/spec/DHParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V" />
+		<method name="getG()Ljava/math/BigInteger;" />
+		<method name="getL()I" />
+		<method name="getP()Ljava/math/BigInteger;" />
+	</class>
+	<class name="javax/crypto/spec/DHPrivateKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="getG()Ljava/math/BigInteger;" />
+		<method name="getP()Ljava/math/BigInteger;" />
+		<method name="getX()Ljava/math/BigInteger;" />
+	</class>
+	<class name="javax/crypto/spec/DHPublicKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V" />
+		<method name="getG()Ljava/math/BigInteger;" />
+		<method name="getP()Ljava/math/BigInteger;" />
+		<method name="getY()Ljava/math/BigInteger;" />
+	</class>
+	<class name="javax/crypto/spec/GCMParameterSpec" since="19">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(I[B)V" />
+		<method name="&lt;init&gt;(I[BII)V" />
+		<method name="getIV()[B" />
+		<method name="getTLen()I" />
+	</class>
+	<class name="javax/crypto/spec/IvParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="&lt;init&gt;([BII)V" />
+		<method name="getIV()[B" />
+	</class>
+	<class name="javax/crypto/spec/OAEPParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;Ljavax/crypto/spec/PSource;)V" />
+		<method name="getDigestAlgorithm()Ljava/lang/String;" />
+		<method name="getMGFAlgorithm()Ljava/lang/String;" />
+		<method name="getMGFParameters()Ljava/security/spec/AlgorithmParameterSpec;" />
+		<method name="getPSource()Ljavax/crypto/spec/PSource;" />
+		<field name="DEFAULT" />
+	</class>
+	<class name="javax/crypto/spec/PBEKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/KeySpec" />
+		<method name="&lt;init&gt;([C)V" />
+		<method name="&lt;init&gt;([C[BI)V" />
+		<method name="&lt;init&gt;([C[BII)V" />
+		<method name="clearPassword()V" />
+		<method name="getIterationCount()I" />
+		<method name="getKeyLength()I" />
+		<method name="getPassword()[C" />
+		<method name="getSalt()[B" />
+	</class>
+	<class name="javax/crypto/spec/PBEParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;([BI)V" />
+		<method name="&lt;init&gt;([BILjava/security/spec/AlgorithmParameterSpec;)V" since="26" />
+		<method name="getIterationCount()I" />
+		<method name="getParameterSpec()Ljava/security/spec/AlgorithmParameterSpec;" since="26" />
+		<method name="getSalt()[B" />
+	</class>
+	<class name="javax/crypto/spec/PSource" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+	</class>
+	<class name="javax/crypto/spec/PSource$PSpecified" since="1">
+		<extends name="javax/crypto/spec/PSource" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="getValue()[B" />
+		<field name="DEFAULT" />
+	</class>
+	<class name="javax/crypto/spec/RC2ParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(I[B)V" />
+		<method name="&lt;init&gt;(I[BI)V" />
+		<method name="getEffectiveKeyBits()I" />
+		<method name="getIV()[B" />
+	</class>
+	<class name="javax/crypto/spec/RC5ParameterSpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/spec/AlgorithmParameterSpec" />
+		<method name="&lt;init&gt;(III)V" />
+		<method name="&lt;init&gt;(III[B)V" />
+		<method name="&lt;init&gt;(III[BI)V" />
+		<method name="getIV()[B" />
+		<method name="getRounds()I" />
+		<method name="getVersion()I" />
+		<method name="getWordSize()I" />
+	</class>
+	<class name="javax/crypto/spec/SecretKeySpec" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" removed="24" />
+		<implements name="java/security/spec/KeySpec" />
+		<implements name="javax/crypto/SecretKey" />
+		<method name="&lt;init&gt;([BIILjava/lang/String;)V" />
+		<method name="&lt;init&gt;([BLjava/lang/String;)V" />
+	</class>
+	<class name="javax/microedition/khronos/egl/EGL" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="javax/microedition/khronos/egl/EGL10" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/microedition/khronos/egl/EGL" />
+		<method name="eglChooseConfig(Ljavax/microedition/khronos/egl/EGLDisplay;[I[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z" />
+		<method name="eglCopyBuffers(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;Ljava/lang/Object;)Z" />
+		<method name="eglCreateContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljavax/microedition/khronos/egl/EGLContext;[I)Ljavax/microedition/khronos/egl/EGLContext;" />
+		<method name="eglCreatePbufferSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;[I)Ljavax/microedition/khronos/egl/EGLSurface;" />
+		<method name="eglCreatePixmapSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;[I)Ljavax/microedition/khronos/egl/EGLSurface;" deprecated="26" />
+		<method name="eglCreateWindowSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;[I)Ljavax/microedition/khronos/egl/EGLSurface;" />
+		<method name="eglDestroyContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;)Z" />
+		<method name="eglDestroySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z" />
+		<method name="eglGetConfigAttrib(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z" />
+		<method name="eglGetConfigs(Ljavax/microedition/khronos/egl/EGLDisplay;[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z" />
+		<method name="eglGetCurrentContext()Ljavax/microedition/khronos/egl/EGLContext;" />
+		<method name="eglGetCurrentDisplay()Ljavax/microedition/khronos/egl/EGLDisplay;" />
+		<method name="eglGetCurrentSurface(I)Ljavax/microedition/khronos/egl/EGLSurface;" />
+		<method name="eglGetDisplay(Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLDisplay;" />
+		<method name="eglGetError()I" />
+		<method name="eglInitialize(Ljavax/microedition/khronos/egl/EGLDisplay;[I)Z" />
+		<method name="eglMakeCurrent(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLContext;)Z" />
+		<method name="eglQueryContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;I[I)Z" />
+		<method name="eglQueryString(Ljavax/microedition/khronos/egl/EGLDisplay;I)Ljava/lang/String;" />
+		<method name="eglQuerySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;I[I)Z" />
+		<method name="eglSwapBuffers(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z" />
+		<method name="eglTerminate(Ljavax/microedition/khronos/egl/EGLDisplay;)Z" />
+		<method name="eglWaitGL()Z" />
+		<method name="eglWaitNative(ILjava/lang/Object;)Z" />
+		<field name="EGL_ALPHA_FORMAT" />
+		<field name="EGL_ALPHA_MASK_SIZE" />
+		<field name="EGL_ALPHA_SIZE" />
+		<field name="EGL_BAD_ACCESS" />
+		<field name="EGL_BAD_ALLOC" />
+		<field name="EGL_BAD_ATTRIBUTE" />
+		<field name="EGL_BAD_CONFIG" />
+		<field name="EGL_BAD_CONTEXT" />
+		<field name="EGL_BAD_CURRENT_SURFACE" />
+		<field name="EGL_BAD_DISPLAY" />
+		<field name="EGL_BAD_MATCH" />
+		<field name="EGL_BAD_NATIVE_PIXMAP" />
+		<field name="EGL_BAD_NATIVE_WINDOW" />
+		<field name="EGL_BAD_PARAMETER" />
+		<field name="EGL_BAD_SURFACE" />
+		<field name="EGL_BLUE_SIZE" />
+		<field name="EGL_BUFFER_SIZE" />
+		<field name="EGL_COLORSPACE" />
+		<field name="EGL_COLOR_BUFFER_TYPE" />
+		<field name="EGL_CONFIG_CAVEAT" />
+		<field name="EGL_CONFIG_ID" />
+		<field name="EGL_CORE_NATIVE_ENGINE" />
+		<field name="EGL_DEFAULT_DISPLAY" />
+		<field name="EGL_DEPTH_SIZE" />
+		<field name="EGL_DONT_CARE" />
+		<field name="EGL_DRAW" />
+		<field name="EGL_EXTENSIONS" />
+		<field name="EGL_GREEN_SIZE" />
+		<field name="EGL_HEIGHT" />
+		<field name="EGL_HORIZONTAL_RESOLUTION" />
+		<field name="EGL_LARGEST_PBUFFER" />
+		<field name="EGL_LEVEL" />
+		<field name="EGL_LUMINANCE_BUFFER" />
+		<field name="EGL_LUMINANCE_SIZE" />
+		<field name="EGL_MAX_PBUFFER_HEIGHT" />
+		<field name="EGL_MAX_PBUFFER_PIXELS" />
+		<field name="EGL_MAX_PBUFFER_WIDTH" />
+		<field name="EGL_NATIVE_RENDERABLE" />
+		<field name="EGL_NATIVE_VISUAL_ID" />
+		<field name="EGL_NATIVE_VISUAL_TYPE" />
+		<field name="EGL_NONE" />
+		<field name="EGL_NON_CONFORMANT_CONFIG" />
+		<field name="EGL_NOT_INITIALIZED" />
+		<field name="EGL_NO_CONTEXT" />
+		<field name="EGL_NO_DISPLAY" />
+		<field name="EGL_NO_SURFACE" />
+		<field name="EGL_PBUFFER_BIT" />
+		<field name="EGL_PIXEL_ASPECT_RATIO" />
+		<field name="EGL_PIXMAP_BIT" />
+		<field name="EGL_READ" />
+		<field name="EGL_RED_SIZE" />
+		<field name="EGL_RENDERABLE_TYPE" />
+		<field name="EGL_RENDER_BUFFER" />
+		<field name="EGL_RGB_BUFFER" />
+		<field name="EGL_SAMPLES" />
+		<field name="EGL_SAMPLE_BUFFERS" />
+		<field name="EGL_SINGLE_BUFFER" />
+		<field name="EGL_SLOW_CONFIG" />
+		<field name="EGL_STENCIL_SIZE" />
+		<field name="EGL_SUCCESS" />
+		<field name="EGL_SURFACE_TYPE" />
+		<field name="EGL_TRANSPARENT_BLUE_VALUE" />
+		<field name="EGL_TRANSPARENT_GREEN_VALUE" />
+		<field name="EGL_TRANSPARENT_RED_VALUE" />
+		<field name="EGL_TRANSPARENT_RGB" />
+		<field name="EGL_TRANSPARENT_TYPE" />
+		<field name="EGL_VENDOR" />
+		<field name="EGL_VERSION" />
+		<field name="EGL_VERTICAL_RESOLUTION" />
+		<field name="EGL_WIDTH" />
+		<field name="EGL_WINDOW_BIT" />
+	</class>
+	<class name="javax/microedition/khronos/egl/EGL11" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/microedition/khronos/egl/EGL10" />
+		<field name="EGL_CONTEXT_LOST" />
+	</class>
+	<class name="javax/microedition/khronos/egl/EGLConfig" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="javax/microedition/khronos/egl/EGLContext" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getEGL()Ljavax/microedition/khronos/egl/EGL;" />
+		<method name="getGL()Ljavax/microedition/khronos/opengles/GL;" />
+	</class>
+	<class name="javax/microedition/khronos/egl/EGLDisplay" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="javax/microedition/khronos/egl/EGLSurface" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL10" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/microedition/khronos/opengles/GL" />
+		<method name="glActiveTexture(I)V" />
+		<method name="glAlphaFunc(IF)V" />
+		<method name="glAlphaFuncx(II)V" />
+		<method name="glBindTexture(II)V" />
+		<method name="glBlendFunc(II)V" />
+		<method name="glClear(I)V" />
+		<method name="glClearColor(FFFF)V" />
+		<method name="glClearColorx(IIII)V" />
+		<method name="glClearDepthf(F)V" />
+		<method name="glClearDepthx(I)V" />
+		<method name="glClearStencil(I)V" />
+		<method name="glClientActiveTexture(I)V" />
+		<method name="glColor4f(FFFF)V" />
+		<method name="glColor4x(IIII)V" />
+		<method name="glColorMask(ZZZZ)V" />
+		<method name="glColorPointer(IIILjava/nio/Buffer;)V" />
+		<method name="glCompressedTexImage2D(IIIIIIILjava/nio/Buffer;)V" />
+		<method name="glCompressedTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glCopyTexImage2D(IIIIIIII)V" />
+		<method name="glCopyTexSubImage2D(IIIIIIII)V" />
+		<method name="glCullFace(I)V" />
+		<method name="glDeleteTextures(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteTextures(I[II)V" />
+		<method name="glDepthFunc(I)V" />
+		<method name="glDepthMask(Z)V" />
+		<method name="glDepthRangef(FF)V" />
+		<method name="glDepthRangex(II)V" />
+		<method name="glDisable(I)V" />
+		<method name="glDisableClientState(I)V" />
+		<method name="glDrawArrays(III)V" />
+		<method name="glDrawElements(IIILjava/nio/Buffer;)V" />
+		<method name="glEnable(I)V" />
+		<method name="glEnableClientState(I)V" />
+		<method name="glFinish()V" />
+		<method name="glFlush()V" />
+		<method name="glFogf(IF)V" />
+		<method name="glFogfv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glFogfv(I[FI)V" />
+		<method name="glFogx(II)V" />
+		<method name="glFogxv(ILjava/nio/IntBuffer;)V" />
+		<method name="glFogxv(I[II)V" />
+		<method name="glFrontFace(I)V" />
+		<method name="glFrustumf(FFFFFF)V" />
+		<method name="glFrustumx(IIIIII)V" />
+		<method name="glGenTextures(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenTextures(I[II)V" />
+		<method name="glGetError()I" />
+		<method name="glGetIntegerv(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetIntegerv(I[II)V" />
+		<method name="glGetString(I)Ljava/lang/String;" />
+		<method name="glHint(II)V" />
+		<method name="glLightModelf(IF)V" />
+		<method name="glLightModelfv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glLightModelfv(I[FI)V" />
+		<method name="glLightModelx(II)V" />
+		<method name="glLightModelxv(ILjava/nio/IntBuffer;)V" />
+		<method name="glLightModelxv(I[II)V" />
+		<method name="glLightf(IIF)V" />
+		<method name="glLightfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glLightfv(II[FI)V" />
+		<method name="glLightx(III)V" />
+		<method name="glLightxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glLightxv(II[II)V" />
+		<method name="glLineWidth(F)V" />
+		<method name="glLineWidthx(I)V" />
+		<method name="glLoadIdentity()V" />
+		<method name="glLoadMatrixf(Ljava/nio/FloatBuffer;)V" />
+		<method name="glLoadMatrixf([FI)V" />
+		<method name="glLoadMatrixx(Ljava/nio/IntBuffer;)V" />
+		<method name="glLoadMatrixx([II)V" />
+		<method name="glLogicOp(I)V" />
+		<method name="glMaterialf(IIF)V" />
+		<method name="glMaterialfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glMaterialfv(II[FI)V" />
+		<method name="glMaterialx(III)V" />
+		<method name="glMaterialxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glMaterialxv(II[II)V" />
+		<method name="glMatrixMode(I)V" />
+		<method name="glMultMatrixf(Ljava/nio/FloatBuffer;)V" />
+		<method name="glMultMatrixf([FI)V" />
+		<method name="glMultMatrixx(Ljava/nio/IntBuffer;)V" />
+		<method name="glMultMatrixx([II)V" />
+		<method name="glMultiTexCoord4f(IFFFF)V" />
+		<method name="glMultiTexCoord4x(IIIII)V" />
+		<method name="glNormal3f(FFF)V" />
+		<method name="glNormal3x(III)V" />
+		<method name="glNormalPointer(IILjava/nio/Buffer;)V" />
+		<method name="glOrthof(FFFFFF)V" />
+		<method name="glOrthox(IIIIII)V" />
+		<method name="glPixelStorei(II)V" />
+		<method name="glPointSize(F)V" />
+		<method name="glPointSizex(I)V" />
+		<method name="glPolygonOffset(FF)V" />
+		<method name="glPolygonOffsetx(II)V" />
+		<method name="glPopMatrix()V" />
+		<method name="glPushMatrix()V" />
+		<method name="glReadPixels(IIIIIILjava/nio/Buffer;)V" />
+		<method name="glRotatef(FFFF)V" />
+		<method name="glRotatex(IIII)V" />
+		<method name="glSampleCoverage(FZ)V" />
+		<method name="glSampleCoveragex(IZ)V" />
+		<method name="glScalef(FFF)V" />
+		<method name="glScalex(III)V" />
+		<method name="glScissor(IIII)V" />
+		<method name="glShadeModel(I)V" />
+		<method name="glStencilFunc(III)V" />
+		<method name="glStencilMask(I)V" />
+		<method name="glStencilOp(III)V" />
+		<method name="glTexCoordPointer(IIILjava/nio/Buffer;)V" />
+		<method name="glTexEnvf(IIF)V" />
+		<method name="glTexEnvfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glTexEnvfv(II[FI)V" />
+		<method name="glTexEnvx(III)V" />
+		<method name="glTexEnvxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexEnvxv(II[II)V" />
+		<method name="glTexImage2D(IIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glTexParameterf(IIF)V" />
+		<method name="glTexParameterx(III)V" />
+		<method name="glTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V" />
+		<method name="glTranslatef(FFF)V" />
+		<method name="glTranslatex(III)V" />
+		<method name="glVertexPointer(IIILjava/nio/Buffer;)V" />
+		<method name="glViewport(IIII)V" />
+		<field name="GL_ADD" />
+		<field name="GL_ALIASED_LINE_WIDTH_RANGE" />
+		<field name="GL_ALIASED_POINT_SIZE_RANGE" />
+		<field name="GL_ALPHA" />
+		<field name="GL_ALPHA_BITS" />
+		<field name="GL_ALPHA_TEST" />
+		<field name="GL_ALWAYS" />
+		<field name="GL_AMBIENT" />
+		<field name="GL_AMBIENT_AND_DIFFUSE" />
+		<field name="GL_AND" />
+		<field name="GL_AND_INVERTED" />
+		<field name="GL_AND_REVERSE" />
+		<field name="GL_BACK" />
+		<field name="GL_BLEND" />
+		<field name="GL_BLUE_BITS" />
+		<field name="GL_BYTE" />
+		<field name="GL_CCW" />
+		<field name="GL_CLAMP_TO_EDGE" />
+		<field name="GL_CLEAR" />
+		<field name="GL_COLOR_ARRAY" />
+		<field name="GL_COLOR_BUFFER_BIT" />
+		<field name="GL_COLOR_LOGIC_OP" />
+		<field name="GL_COLOR_MATERIAL" />
+		<field name="GL_COMPRESSED_TEXTURE_FORMATS" />
+		<field name="GL_CONSTANT_ATTENUATION" />
+		<field name="GL_COPY" />
+		<field name="GL_COPY_INVERTED" />
+		<field name="GL_CULL_FACE" />
+		<field name="GL_CW" />
+		<field name="GL_DECAL" />
+		<field name="GL_DECR" />
+		<field name="GL_DEPTH_BITS" />
+		<field name="GL_DEPTH_BUFFER_BIT" />
+		<field name="GL_DEPTH_TEST" />
+		<field name="GL_DIFFUSE" />
+		<field name="GL_DITHER" />
+		<field name="GL_DONT_CARE" />
+		<field name="GL_DST_ALPHA" />
+		<field name="GL_DST_COLOR" />
+		<field name="GL_EMISSION" />
+		<field name="GL_EQUAL" />
+		<field name="GL_EQUIV" />
+		<field name="GL_EXP" />
+		<field name="GL_EXP2" />
+		<field name="GL_EXTENSIONS" />
+		<field name="GL_FALSE" />
+		<field name="GL_FASTEST" />
+		<field name="GL_FIXED" />
+		<field name="GL_FLAT" />
+		<field name="GL_FLOAT" />
+		<field name="GL_FOG" />
+		<field name="GL_FOG_COLOR" />
+		<field name="GL_FOG_DENSITY" />
+		<field name="GL_FOG_END" />
+		<field name="GL_FOG_HINT" />
+		<field name="GL_FOG_MODE" />
+		<field name="GL_FOG_START" />
+		<field name="GL_FRONT" />
+		<field name="GL_FRONT_AND_BACK" />
+		<field name="GL_GEQUAL" />
+		<field name="GL_GREATER" />
+		<field name="GL_GREEN_BITS" />
+		<field name="GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES" />
+		<field name="GL_IMPLEMENTATION_COLOR_READ_TYPE_OES" />
+		<field name="GL_INCR" />
+		<field name="GL_INVALID_ENUM" />
+		<field name="GL_INVALID_OPERATION" />
+		<field name="GL_INVALID_VALUE" />
+		<field name="GL_INVERT" />
+		<field name="GL_KEEP" />
+		<field name="GL_LEQUAL" />
+		<field name="GL_LESS" />
+		<field name="GL_LIGHT0" />
+		<field name="GL_LIGHT1" />
+		<field name="GL_LIGHT2" />
+		<field name="GL_LIGHT3" />
+		<field name="GL_LIGHT4" />
+		<field name="GL_LIGHT5" />
+		<field name="GL_LIGHT6" />
+		<field name="GL_LIGHT7" />
+		<field name="GL_LIGHTING" />
+		<field name="GL_LIGHT_MODEL_AMBIENT" />
+		<field name="GL_LIGHT_MODEL_TWO_SIDE" />
+		<field name="GL_LINEAR" />
+		<field name="GL_LINEAR_ATTENUATION" />
+		<field name="GL_LINEAR_MIPMAP_LINEAR" />
+		<field name="GL_LINEAR_MIPMAP_NEAREST" />
+		<field name="GL_LINES" />
+		<field name="GL_LINE_LOOP" />
+		<field name="GL_LINE_SMOOTH" />
+		<field name="GL_LINE_SMOOTH_HINT" />
+		<field name="GL_LINE_STRIP" />
+		<field name="GL_LUMINANCE" />
+		<field name="GL_LUMINANCE_ALPHA" />
+		<field name="GL_MAX_ELEMENTS_INDICES" />
+		<field name="GL_MAX_ELEMENTS_VERTICES" />
+		<field name="GL_MAX_LIGHTS" />
+		<field name="GL_MAX_MODELVIEW_STACK_DEPTH" />
+		<field name="GL_MAX_PROJECTION_STACK_DEPTH" />
+		<field name="GL_MAX_TEXTURE_SIZE" />
+		<field name="GL_MAX_TEXTURE_STACK_DEPTH" />
+		<field name="GL_MAX_TEXTURE_UNITS" />
+		<field name="GL_MAX_VIEWPORT_DIMS" />
+		<field name="GL_MODELVIEW" />
+		<field name="GL_MODULATE" />
+		<field name="GL_MULTISAMPLE" />
+		<field name="GL_NAND" />
+		<field name="GL_NEAREST" />
+		<field name="GL_NEAREST_MIPMAP_LINEAR" />
+		<field name="GL_NEAREST_MIPMAP_NEAREST" />
+		<field name="GL_NEVER" />
+		<field name="GL_NICEST" />
+		<field name="GL_NOOP" />
+		<field name="GL_NOR" />
+		<field name="GL_NORMALIZE" />
+		<field name="GL_NORMAL_ARRAY" />
+		<field name="GL_NOTEQUAL" />
+		<field name="GL_NO_ERROR" />
+		<field name="GL_NUM_COMPRESSED_TEXTURE_FORMATS" />
+		<field name="GL_ONE" />
+		<field name="GL_ONE_MINUS_DST_ALPHA" />
+		<field name="GL_ONE_MINUS_DST_COLOR" />
+		<field name="GL_ONE_MINUS_SRC_ALPHA" />
+		<field name="GL_ONE_MINUS_SRC_COLOR" />
+		<field name="GL_OR" />
+		<field name="GL_OR_INVERTED" />
+		<field name="GL_OR_REVERSE" />
+		<field name="GL_OUT_OF_MEMORY" />
+		<field name="GL_PACK_ALIGNMENT" />
+		<field name="GL_PALETTE4_R5_G6_B5_OES" />
+		<field name="GL_PALETTE4_RGB5_A1_OES" />
+		<field name="GL_PALETTE4_RGB8_OES" />
+		<field name="GL_PALETTE4_RGBA4_OES" />
+		<field name="GL_PALETTE4_RGBA8_OES" />
+		<field name="GL_PALETTE8_R5_G6_B5_OES" />
+		<field name="GL_PALETTE8_RGB5_A1_OES" />
+		<field name="GL_PALETTE8_RGB8_OES" />
+		<field name="GL_PALETTE8_RGBA4_OES" />
+		<field name="GL_PALETTE8_RGBA8_OES" />
+		<field name="GL_PERSPECTIVE_CORRECTION_HINT" />
+		<field name="GL_POINTS" />
+		<field name="GL_POINT_FADE_THRESHOLD_SIZE" />
+		<field name="GL_POINT_SIZE" />
+		<field name="GL_POINT_SMOOTH" />
+		<field name="GL_POINT_SMOOTH_HINT" />
+		<field name="GL_POLYGON_OFFSET_FILL" />
+		<field name="GL_POLYGON_SMOOTH_HINT" />
+		<field name="GL_POSITION" />
+		<field name="GL_PROJECTION" />
+		<field name="GL_QUADRATIC_ATTENUATION" />
+		<field name="GL_RED_BITS" />
+		<field name="GL_RENDERER" />
+		<field name="GL_REPEAT" />
+		<field name="GL_REPLACE" />
+		<field name="GL_RESCALE_NORMAL" />
+		<field name="GL_RGB" />
+		<field name="GL_RGBA" />
+		<field name="GL_SAMPLE_ALPHA_TO_COVERAGE" />
+		<field name="GL_SAMPLE_ALPHA_TO_ONE" />
+		<field name="GL_SAMPLE_COVERAGE" />
+		<field name="GL_SCISSOR_TEST" />
+		<field name="GL_SET" />
+		<field name="GL_SHININESS" />
+		<field name="GL_SHORT" />
+		<field name="GL_SMOOTH" />
+		<field name="GL_SMOOTH_LINE_WIDTH_RANGE" />
+		<field name="GL_SMOOTH_POINT_SIZE_RANGE" />
+		<field name="GL_SPECULAR" />
+		<field name="GL_SPOT_CUTOFF" />
+		<field name="GL_SPOT_DIRECTION" />
+		<field name="GL_SPOT_EXPONENT" />
+		<field name="GL_SRC_ALPHA" />
+		<field name="GL_SRC_ALPHA_SATURATE" />
+		<field name="GL_SRC_COLOR" />
+		<field name="GL_STACK_OVERFLOW" />
+		<field name="GL_STACK_UNDERFLOW" />
+		<field name="GL_STENCIL_BITS" />
+		<field name="GL_STENCIL_BUFFER_BIT" />
+		<field name="GL_STENCIL_TEST" />
+		<field name="GL_SUBPIXEL_BITS" />
+		<field name="GL_TEXTURE" />
+		<field name="GL_TEXTURE0" />
+		<field name="GL_TEXTURE1" />
+		<field name="GL_TEXTURE10" />
+		<field name="GL_TEXTURE11" />
+		<field name="GL_TEXTURE12" />
+		<field name="GL_TEXTURE13" />
+		<field name="GL_TEXTURE14" />
+		<field name="GL_TEXTURE15" />
+		<field name="GL_TEXTURE16" />
+		<field name="GL_TEXTURE17" />
+		<field name="GL_TEXTURE18" />
+		<field name="GL_TEXTURE19" />
+		<field name="GL_TEXTURE2" />
+		<field name="GL_TEXTURE20" />
+		<field name="GL_TEXTURE21" />
+		<field name="GL_TEXTURE22" />
+		<field name="GL_TEXTURE23" />
+		<field name="GL_TEXTURE24" />
+		<field name="GL_TEXTURE25" />
+		<field name="GL_TEXTURE26" />
+		<field name="GL_TEXTURE27" />
+		<field name="GL_TEXTURE28" />
+		<field name="GL_TEXTURE29" />
+		<field name="GL_TEXTURE3" />
+		<field name="GL_TEXTURE30" />
+		<field name="GL_TEXTURE31" />
+		<field name="GL_TEXTURE4" />
+		<field name="GL_TEXTURE5" />
+		<field name="GL_TEXTURE6" />
+		<field name="GL_TEXTURE7" />
+		<field name="GL_TEXTURE8" />
+		<field name="GL_TEXTURE9" />
+		<field name="GL_TEXTURE_2D" />
+		<field name="GL_TEXTURE_COORD_ARRAY" />
+		<field name="GL_TEXTURE_ENV" />
+		<field name="GL_TEXTURE_ENV_COLOR" />
+		<field name="GL_TEXTURE_ENV_MODE" />
+		<field name="GL_TEXTURE_MAG_FILTER" />
+		<field name="GL_TEXTURE_MIN_FILTER" />
+		<field name="GL_TEXTURE_WRAP_S" />
+		<field name="GL_TEXTURE_WRAP_T" />
+		<field name="GL_TRIANGLES" />
+		<field name="GL_TRIANGLE_FAN" />
+		<field name="GL_TRIANGLE_STRIP" />
+		<field name="GL_TRUE" />
+		<field name="GL_UNPACK_ALIGNMENT" />
+		<field name="GL_UNSIGNED_BYTE" />
+		<field name="GL_UNSIGNED_SHORT" />
+		<field name="GL_UNSIGNED_SHORT_4_4_4_4" />
+		<field name="GL_UNSIGNED_SHORT_5_5_5_1" />
+		<field name="GL_UNSIGNED_SHORT_5_6_5" />
+		<field name="GL_VENDOR" />
+		<field name="GL_VERSION" />
+		<field name="GL_VERTEX_ARRAY" />
+		<field name="GL_XOR" />
+		<field name="GL_ZERO" />
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL10Ext" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/microedition/khronos/opengles/GL" />
+		<method name="glQueryMatrixxOES(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)I" />
+		<method name="glQueryMatrixxOES([II[II)I" />
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL11" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/microedition/khronos/opengles/GL10" />
+		<method name="glBindBuffer(II)V" />
+		<method name="glBufferData(IILjava/nio/Buffer;I)V" />
+		<method name="glBufferSubData(IIILjava/nio/Buffer;)V" />
+		<method name="glClipPlanef(ILjava/nio/FloatBuffer;)V" />
+		<method name="glClipPlanef(I[FI)V" />
+		<method name="glClipPlanex(ILjava/nio/IntBuffer;)V" />
+		<method name="glClipPlanex(I[II)V" />
+		<method name="glColor4ub(BBBB)V" />
+		<method name="glColorPointer(IIII)V" />
+		<method name="glDeleteBuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteBuffers(I[II)V" />
+		<method name="glDrawElements(IIII)V" />
+		<method name="glGenBuffers(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenBuffers(I[II)V" />
+		<method name="glGetBooleanv(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetBooleanv(I[ZI)V" />
+		<method name="glGetBufferParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetBufferParameteriv(II[II)V" />
+		<method name="glGetClipPlanef(ILjava/nio/FloatBuffer;)V" />
+		<method name="glGetClipPlanef(I[FI)V" />
+		<method name="glGetClipPlanex(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetClipPlanex(I[II)V" />
+		<method name="glGetFixedv(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetFixedv(I[II)V" />
+		<method name="glGetFloatv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glGetFloatv(I[FI)V" />
+		<method name="glGetLightfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetLightfv(II[FI)V" />
+		<method name="glGetLightxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetLightxv(II[II)V" />
+		<method name="glGetMaterialfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetMaterialfv(II[FI)V" />
+		<method name="glGetMaterialxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetMaterialxv(II[II)V" />
+		<method name="glGetPointerv(I[Ljava/nio/Buffer;)V" />
+		<method name="glGetTexEnviv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexEnviv(II[II)V" />
+		<method name="glGetTexEnvxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexEnvxv(II[II)V" />
+		<method name="glGetTexParameterfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetTexParameterfv(II[FI)V" />
+		<method name="glGetTexParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexParameteriv(II[II)V" />
+		<method name="glGetTexParameterxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexParameterxv(II[II)V" />
+		<method name="glIsBuffer(I)Z" />
+		<method name="glIsEnabled(I)Z" />
+		<method name="glIsTexture(I)Z" />
+		<method name="glNormalPointer(III)V" />
+		<method name="glPointParameterf(IF)V" />
+		<method name="glPointParameterfv(ILjava/nio/FloatBuffer;)V" />
+		<method name="glPointParameterfv(I[FI)V" />
+		<method name="glPointParameterx(II)V" />
+		<method name="glPointParameterxv(ILjava/nio/IntBuffer;)V" />
+		<method name="glPointParameterxv(I[II)V" />
+		<method name="glPointSizePointerOES(IILjava/nio/Buffer;)V" />
+		<method name="glTexCoordPointer(IIII)V" />
+		<method name="glTexEnvi(III)V" />
+		<method name="glTexEnviv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexEnviv(II[II)V" />
+		<method name="glTexParameterfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glTexParameterfv(II[FI)V" />
+		<method name="glTexParameteri(III)V" />
+		<method name="glTexParameteriv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexParameteriv(II[II)V" />
+		<method name="glTexParameterxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexParameterxv(II[II)V" />
+		<method name="glVertexPointer(IIII)V" />
+		<field name="GL_ACTIVE_TEXTURE" />
+		<field name="GL_ADD_SIGNED" />
+		<field name="GL_ALPHA_SCALE" />
+		<field name="GL_ALPHA_TEST_FUNC" />
+		<field name="GL_ALPHA_TEST_REF" />
+		<field name="GL_ARRAY_BUFFER" />
+		<field name="GL_ARRAY_BUFFER_BINDING" />
+		<field name="GL_BLEND_DST" />
+		<field name="GL_BLEND_SRC" />
+		<field name="GL_BUFFER_ACCESS" />
+		<field name="GL_BUFFER_SIZE" />
+		<field name="GL_BUFFER_USAGE" />
+		<field name="GL_CLIENT_ACTIVE_TEXTURE" />
+		<field name="GL_CLIP_PLANE0" />
+		<field name="GL_CLIP_PLANE1" />
+		<field name="GL_CLIP_PLANE2" />
+		<field name="GL_CLIP_PLANE3" />
+		<field name="GL_CLIP_PLANE4" />
+		<field name="GL_CLIP_PLANE5" />
+		<field name="GL_COLOR_ARRAY_BUFFER_BINDING" />
+		<field name="GL_COLOR_ARRAY_POINTER" />
+		<field name="GL_COLOR_ARRAY_SIZE" />
+		<field name="GL_COLOR_ARRAY_STRIDE" />
+		<field name="GL_COLOR_ARRAY_TYPE" />
+		<field name="GL_COLOR_CLEAR_VALUE" />
+		<field name="GL_COLOR_WRITEMASK" />
+		<field name="GL_COMBINE" />
+		<field name="GL_COMBINE_ALPHA" />
+		<field name="GL_COMBINE_RGB" />
+		<field name="GL_CONSTANT" />
+		<field name="GL_COORD_REPLACE_OES" />
+		<field name="GL_CULL_FACE_MODE" />
+		<field name="GL_CURRENT_COLOR" />
+		<field name="GL_CURRENT_NORMAL" />
+		<field name="GL_CURRENT_TEXTURE_COORDS" />
+		<field name="GL_DEPTH_CLEAR_VALUE" />
+		<field name="GL_DEPTH_FUNC" />
+		<field name="GL_DEPTH_RANGE" />
+		<field name="GL_DEPTH_WRITEMASK" />
+		<field name="GL_DOT3_RGB" />
+		<field name="GL_DOT3_RGBA" />
+		<field name="GL_DYNAMIC_DRAW" />
+		<field name="GL_ELEMENT_ARRAY_BUFFER" />
+		<field name="GL_ELEMENT_ARRAY_BUFFER_BINDING" />
+		<field name="GL_FRONT_FACE" />
+		<field name="GL_GENERATE_MIPMAP" />
+		<field name="GL_GENERATE_MIPMAP_HINT" />
+		<field name="GL_INTERPOLATE" />
+		<field name="GL_LINE_WIDTH" />
+		<field name="GL_LOGIC_OP_MODE" />
+		<field name="GL_MATRIX_MODE" />
+		<field name="GL_MAX_CLIP_PLANES" />
+		<field name="GL_MODELVIEW_MATRIX" />
+		<field name="GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES" />
+		<field name="GL_MODELVIEW_STACK_DEPTH" />
+		<field name="GL_NORMAL_ARRAY_BUFFER_BINDING" />
+		<field name="GL_NORMAL_ARRAY_POINTER" />
+		<field name="GL_NORMAL_ARRAY_STRIDE" />
+		<field name="GL_NORMAL_ARRAY_TYPE" />
+		<field name="GL_OPERAND0_ALPHA" />
+		<field name="GL_OPERAND0_RGB" />
+		<field name="GL_OPERAND1_ALPHA" />
+		<field name="GL_OPERAND1_RGB" />
+		<field name="GL_OPERAND2_ALPHA" />
+		<field name="GL_OPERAND2_RGB" />
+		<field name="GL_POINT_DISTANCE_ATTENUATION" />
+		<field name="GL_POINT_FADE_THRESHOLD_SIZE" />
+		<field name="GL_POINT_SIZE" />
+		<field name="GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES" />
+		<field name="GL_POINT_SIZE_ARRAY_OES" />
+		<field name="GL_POINT_SIZE_ARRAY_POINTER_OES" />
+		<field name="GL_POINT_SIZE_ARRAY_STRIDE_OES" />
+		<field name="GL_POINT_SIZE_ARRAY_TYPE_OES" />
+		<field name="GL_POINT_SIZE_MAX" />
+		<field name="GL_POINT_SIZE_MIN" />
+		<field name="GL_POINT_SPRITE_OES" />
+		<field name="GL_POLYGON_OFFSET_FACTOR" />
+		<field name="GL_POLYGON_OFFSET_UNITS" />
+		<field name="GL_PREVIOUS" />
+		<field name="GL_PRIMARY_COLOR" />
+		<field name="GL_PROJECTION_MATRIX" />
+		<field name="GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES" />
+		<field name="GL_PROJECTION_STACK_DEPTH" />
+		<field name="GL_RGB_SCALE" />
+		<field name="GL_SAMPLES" />
+		<field name="GL_SAMPLE_BUFFERS" />
+		<field name="GL_SAMPLE_COVERAGE_INVERT" />
+		<field name="GL_SAMPLE_COVERAGE_VALUE" />
+		<field name="GL_SCISSOR_BOX" />
+		<field name="GL_SHADE_MODEL" />
+		<field name="GL_SRC0_ALPHA" />
+		<field name="GL_SRC0_RGB" />
+		<field name="GL_SRC1_ALPHA" />
+		<field name="GL_SRC1_RGB" />
+		<field name="GL_SRC2_ALPHA" />
+		<field name="GL_SRC2_RGB" />
+		<field name="GL_STATIC_DRAW" />
+		<field name="GL_STENCIL_CLEAR_VALUE" />
+		<field name="GL_STENCIL_FAIL" />
+		<field name="GL_STENCIL_FUNC" />
+		<field name="GL_STENCIL_PASS_DEPTH_FAIL" />
+		<field name="GL_STENCIL_PASS_DEPTH_PASS" />
+		<field name="GL_STENCIL_REF" />
+		<field name="GL_STENCIL_VALUE_MASK" />
+		<field name="GL_STENCIL_WRITEMASK" />
+		<field name="GL_SUBTRACT" />
+		<field name="GL_TEXTURE_BINDING_2D" />
+		<field name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING" />
+		<field name="GL_TEXTURE_COORD_ARRAY_POINTER" />
+		<field name="GL_TEXTURE_COORD_ARRAY_SIZE" />
+		<field name="GL_TEXTURE_COORD_ARRAY_STRIDE" />
+		<field name="GL_TEXTURE_COORD_ARRAY_TYPE" />
+		<field name="GL_TEXTURE_MATRIX" />
+		<field name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES" />
+		<field name="GL_TEXTURE_STACK_DEPTH" />
+		<field name="GL_VERTEX_ARRAY_BUFFER_BINDING" />
+		<field name="GL_VERTEX_ARRAY_POINTER" />
+		<field name="GL_VERTEX_ARRAY_SIZE" />
+		<field name="GL_VERTEX_ARRAY_STRIDE" />
+		<field name="GL_VERTEX_ARRAY_TYPE" />
+		<field name="GL_VIEWPORT" />
+		<field name="GL_WRITE_ONLY" />
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL11Ext" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/microedition/khronos/opengles/GL" />
+		<method name="glCurrentPaletteMatrixOES(I)V" />
+		<method name="glDrawTexfOES(FFFFF)V" />
+		<method name="glDrawTexfvOES(Ljava/nio/FloatBuffer;)V" />
+		<method name="glDrawTexfvOES([FI)V" />
+		<method name="glDrawTexiOES(IIIII)V" />
+		<method name="glDrawTexivOES(Ljava/nio/IntBuffer;)V" />
+		<method name="glDrawTexivOES([II)V" />
+		<method name="glDrawTexsOES(SSSSS)V" />
+		<method name="glDrawTexsvOES(Ljava/nio/ShortBuffer;)V" />
+		<method name="glDrawTexsvOES([SI)V" />
+		<method name="glDrawTexxOES(IIIII)V" />
+		<method name="glDrawTexxvOES(Ljava/nio/IntBuffer;)V" />
+		<method name="glDrawTexxvOES([II)V" />
+		<method name="glEnable(I)V" />
+		<method name="glEnableClientState(I)V" />
+		<method name="glLoadPaletteFromModelViewMatrixOES()V" />
+		<method name="glMatrixIndexPointerOES(IIII)V" />
+		<method name="glMatrixIndexPointerOES(IIILjava/nio/Buffer;)V" />
+		<method name="glTexParameterfv(II[FI)V" />
+		<method name="glWeightPointerOES(IIII)V" />
+		<method name="glWeightPointerOES(IIILjava/nio/Buffer;)V" />
+		<field name="GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_POINTER_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_SIZE_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_STRIDE_OES" />
+		<field name="GL_MATRIX_INDEX_ARRAY_TYPE_OES" />
+		<field name="GL_MATRIX_PALETTE_OES" />
+		<field name="GL_MAX_PALETTE_MATRICES_OES" />
+		<field name="GL_MAX_VERTEX_UNITS_OES" />
+		<field name="GL_TEXTURE_CROP_RECT_OES" />
+		<field name="GL_WEIGHT_ARRAY_BUFFER_BINDING_OES" />
+		<field name="GL_WEIGHT_ARRAY_OES" />
+		<field name="GL_WEIGHT_ARRAY_POINTER_OES" />
+		<field name="GL_WEIGHT_ARRAY_SIZE_OES" />
+		<field name="GL_WEIGHT_ARRAY_STRIDE_OES" />
+		<field name="GL_WEIGHT_ARRAY_TYPE_OES" />
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL11ExtensionPack" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/microedition/khronos/opengles/GL" />
+		<method name="glBindFramebufferOES(II)V" />
+		<method name="glBindRenderbufferOES(II)V" />
+		<method name="glBindTexture(II)V" />
+		<method name="glBlendEquation(I)V" />
+		<method name="glBlendEquationSeparate(II)V" />
+		<method name="glBlendFuncSeparate(IIII)V" />
+		<method name="glCheckFramebufferStatusOES(I)I" />
+		<method name="glCompressedTexImage2D(IIIIIIILjava/nio/Buffer;)V" />
+		<method name="glCopyTexImage2D(IIIIIIII)V" />
+		<method name="glDeleteFramebuffersOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteFramebuffersOES(I[II)V" />
+		<method name="glDeleteRenderbuffersOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glDeleteRenderbuffersOES(I[II)V" />
+		<method name="glEnable(I)V" />
+		<method name="glFramebufferRenderbufferOES(IIII)V" />
+		<method name="glFramebufferTexture2DOES(IIIII)V" />
+		<method name="glGenFramebuffersOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenFramebuffersOES(I[II)V" />
+		<method name="glGenRenderbuffersOES(ILjava/nio/IntBuffer;)V" />
+		<method name="glGenRenderbuffersOES(I[II)V" />
+		<method name="glGenerateMipmapOES(I)V" />
+		<method name="glGetFramebufferAttachmentParameterivOES(IIILjava/nio/IntBuffer;)V" />
+		<method name="glGetFramebufferAttachmentParameterivOES(III[II)V" />
+		<method name="glGetIntegerv(ILjava/nio/IntBuffer;)V" />
+		<method name="glGetIntegerv(I[II)V" />
+		<method name="glGetRenderbufferParameterivOES(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetRenderbufferParameterivOES(II[II)V" />
+		<method name="glGetTexGenfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glGetTexGenfv(II[FI)V" />
+		<method name="glGetTexGeniv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexGeniv(II[II)V" />
+		<method name="glGetTexGenxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glGetTexGenxv(II[II)V" />
+		<method name="glIsFramebufferOES(I)Z" />
+		<method name="glIsRenderbufferOES(I)Z" />
+		<method name="glRenderbufferStorageOES(IIII)V" />
+		<method name="glStencilOp(III)V" />
+		<method name="glTexEnvf(IIF)V" />
+		<method name="glTexEnvfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glTexEnvfv(II[FI)V" />
+		<method name="glTexEnvx(III)V" />
+		<method name="glTexEnvxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexEnvxv(II[II)V" />
+		<method name="glTexGenf(IIF)V" />
+		<method name="glTexGenfv(IILjava/nio/FloatBuffer;)V" />
+		<method name="glTexGenfv(II[FI)V" />
+		<method name="glTexGeni(III)V" />
+		<method name="glTexGeniv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexGeniv(II[II)V" />
+		<method name="glTexGenx(III)V" />
+		<method name="glTexGenxv(IILjava/nio/IntBuffer;)V" />
+		<method name="glTexGenxv(II[II)V" />
+		<method name="glTexParameterf(IIF)V" />
+		<field name="GL_BLEND_DST_ALPHA" />
+		<field name="GL_BLEND_DST_RGB" />
+		<field name="GL_BLEND_EQUATION" />
+		<field name="GL_BLEND_EQUATION_ALPHA" />
+		<field name="GL_BLEND_EQUATION_RGB" />
+		<field name="GL_BLEND_SRC_ALPHA" />
+		<field name="GL_BLEND_SRC_RGB" />
+		<field name="GL_COLOR_ATTACHMENT0_OES" />
+		<field name="GL_COLOR_ATTACHMENT10_OES" />
+		<field name="GL_COLOR_ATTACHMENT11_OES" />
+		<field name="GL_COLOR_ATTACHMENT12_OES" />
+		<field name="GL_COLOR_ATTACHMENT13_OES" />
+		<field name="GL_COLOR_ATTACHMENT14_OES" />
+		<field name="GL_COLOR_ATTACHMENT15_OES" />
+		<field name="GL_COLOR_ATTACHMENT1_OES" />
+		<field name="GL_COLOR_ATTACHMENT2_OES" />
+		<field name="GL_COLOR_ATTACHMENT3_OES" />
+		<field name="GL_COLOR_ATTACHMENT4_OES" />
+		<field name="GL_COLOR_ATTACHMENT5_OES" />
+		<field name="GL_COLOR_ATTACHMENT6_OES" />
+		<field name="GL_COLOR_ATTACHMENT7_OES" />
+		<field name="GL_COLOR_ATTACHMENT8_OES" />
+		<field name="GL_COLOR_ATTACHMENT9_OES" />
+		<field name="GL_DECR_WRAP" />
+		<field name="GL_DEPTH_ATTACHMENT_OES" />
+		<field name="GL_DEPTH_COMPONENT" />
+		<field name="GL_DEPTH_COMPONENT16" />
+		<field name="GL_DEPTH_COMPONENT24" />
+		<field name="GL_DEPTH_COMPONENT32" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES" />
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES" />
+		<field name="GL_FRAMEBUFFER_BINDING_OES" />
+		<field name="GL_FRAMEBUFFER_COMPLETE_OES" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES" />
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES" />
+		<field name="GL_FRAMEBUFFER_OES" />
+		<field name="GL_FRAMEBUFFER_UNSUPPORTED_OES" />
+		<field name="GL_FUNC_ADD" />
+		<field name="GL_FUNC_REVERSE_SUBTRACT" />
+		<field name="GL_FUNC_SUBTRACT" />
+		<field name="GL_INCR_WRAP" />
+		<field name="GL_INVALID_FRAMEBUFFER_OPERATION_OES" />
+		<field name="GL_MAX_COLOR_ATTACHMENTS_OES" />
+		<field name="GL_MAX_CUBE_MAP_TEXTURE_SIZE" />
+		<field name="GL_MAX_RENDERBUFFER_SIZE_OES" />
+		<field name="GL_MIRRORED_REPEAT" />
+		<field name="GL_NORMAL_MAP" />
+		<field name="GL_REFLECTION_MAP" />
+		<field name="GL_RENDERBUFFER_ALPHA_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_BINDING_OES" />
+		<field name="GL_RENDERBUFFER_BLUE_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_DEPTH_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_GREEN_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_HEIGHT_OES" />
+		<field name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES" />
+		<field name="GL_RENDERBUFFER_OES" />
+		<field name="GL_RENDERBUFFER_RED_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_STENCIL_SIZE_OES" />
+		<field name="GL_RENDERBUFFER_WIDTH_OES" />
+		<field name="GL_RGB565_OES" />
+		<field name="GL_RGB5_A1" />
+		<field name="GL_RGB8" />
+		<field name="GL_RGBA4" />
+		<field name="GL_RGBA8" />
+		<field name="GL_STENCIL_ATTACHMENT_OES" />
+		<field name="GL_STENCIL_INDEX" />
+		<field name="GL_STENCIL_INDEX1_OES" />
+		<field name="GL_STENCIL_INDEX4_OES" />
+		<field name="GL_STENCIL_INDEX8_OES" />
+		<field name="GL_STR" />
+		<field name="GL_TEXTURE_BINDING_CUBE_MAP" />
+		<field name="GL_TEXTURE_CUBE_MAP" />
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X" />
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y" />
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z" />
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_X" />
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y" />
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z" />
+		<field name="GL_TEXTURE_GEN_MODE" />
+		<field name="GL_TEXTURE_GEN_STR" />
+	</class>
+	<class name="javax/net/ServerSocketFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createServerSocket()Ljava/net/ServerSocket;" />
+		<method name="createServerSocket(I)Ljava/net/ServerSocket;" />
+		<method name="createServerSocket(II)Ljava/net/ServerSocket;" />
+		<method name="createServerSocket(IILjava/net/InetAddress;)Ljava/net/ServerSocket;" />
+		<method name="getDefault()Ljavax/net/ServerSocketFactory;" />
+	</class>
+	<class name="javax/net/SocketFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createSocket()Ljava/net/Socket;" />
+		<method name="createSocket(Ljava/lang/String;I)Ljava/net/Socket;" />
+		<method name="createSocket(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket;" />
+		<method name="createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket;" />
+		<method name="createSocket(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket;" />
+		<method name="getDefault()Ljavax/net/SocketFactory;" />
+	</class>
+	<class name="javax/net/ssl/CertPathTrustManagerParameters" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/net/ssl/ManagerFactoryParameters" />
+		<method name="&lt;init&gt;(Ljava/security/cert/CertPathParameters;)V" />
+		<method name="getParameters()Ljava/security/cert/CertPathParameters;" />
+	</class>
+	<class name="javax/net/ssl/ExtendedSSLSession" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="javax/net/ssl/SSLSession" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getLocalSupportedSignatureAlgorithms()[Ljava/lang/String;" />
+		<method name="getPeerSupportedSignatureAlgorithms()[Ljava/lang/String;" />
+		<method name="getRequestedServerNames()Ljava/util/List;" />
+	</class>
+	<class name="javax/net/ssl/HandshakeCompletedEvent" since="1">
+		<extends name="java/util/EventObject" />
+		<method name="&lt;init&gt;(Ljavax/net/ssl/SSLSocket;Ljavax/net/ssl/SSLSession;)V" />
+		<method name="getCipherSuite()Ljava/lang/String;" />
+		<method name="getLocalCertificates()[Ljava/security/cert/Certificate;" />
+		<method name="getLocalPrincipal()Ljava/security/Principal;" />
+		<method name="getPeerCertificateChain()[Ljavax/security/cert/X509Certificate;" />
+		<method name="getPeerCertificates()[Ljava/security/cert/Certificate;" />
+		<method name="getPeerPrincipal()Ljava/security/Principal;" />
+		<method name="getSession()Ljavax/net/ssl/SSLSession;" />
+		<method name="getSocket()Ljavax/net/ssl/SSLSocket;" />
+	</class>
+	<class name="javax/net/ssl/HandshakeCompletedListener" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/EventListener" />
+		<method name="handshakeCompleted(Ljavax/net/ssl/HandshakeCompletedEvent;)V" />
+	</class>
+	<class name="javax/net/ssl/HostnameVerifier" since="1">
+		<extends name="java/lang/Object" />
+		<method name="verify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z" />
+	</class>
+	<class name="javax/net/ssl/HttpsURLConnection" since="1">
+		<extends name="java/net/HttpURLConnection" />
+		<method name="&lt;init&gt;(Ljava/net/URL;)V" />
+		<method name="getCipherSuite()Ljava/lang/String;" />
+		<method name="getDefaultHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;" />
+		<method name="getDefaultSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;" />
+		<method name="getHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;" />
+		<method name="getLocalCertificates()[Ljava/security/cert/Certificate;" />
+		<method name="getLocalPrincipal()Ljava/security/Principal;" />
+		<method name="getPeerPrincipal()Ljava/security/Principal;" />
+		<method name="getSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;" />
+		<method name="getServerCertificates()[Ljava/security/cert/Certificate;" />
+		<method name="setDefaultHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V" />
+		<method name="setDefaultSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V" />
+		<method name="setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V" />
+		<method name="setSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V" />
+		<field name="hostnameVerifier" />
+	</class>
+	<class name="javax/net/ssl/KeyManager" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="javax/net/ssl/KeyManagerFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljavax/net/ssl/KeyManagerFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getDefaultAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/net/ssl/KeyManagerFactory;" />
+		<method name="getKeyManagers()[Ljavax/net/ssl/KeyManager;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="init(Ljava/security/KeyStore;[C)V" />
+		<method name="init(Ljavax/net/ssl/ManagerFactoryParameters;)V" />
+	</class>
+	<class name="javax/net/ssl/KeyManagerFactorySpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGetKeyManagers()[Ljavax/net/ssl/KeyManager;" />
+		<method name="engineInit(Ljava/security/KeyStore;[C)V" />
+		<method name="engineInit(Ljavax/net/ssl/ManagerFactoryParameters;)V" />
+	</class>
+	<class name="javax/net/ssl/KeyStoreBuilderParameters" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/net/ssl/ManagerFactoryParameters" />
+		<method name="&lt;init&gt;(Ljava/security/KeyStore$Builder;)V" />
+		<method name="&lt;init&gt;(Ljava/util/List;)V" />
+		<method name="getParameters()Ljava/util/List;" />
+	</class>
+	<class name="javax/net/ssl/ManagerFactoryParameters" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="javax/net/ssl/SNIHostName" since="24">
+		<extends name="javax/net/ssl/SNIServerName" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="createSNIMatcher(Ljava/lang/String;)Ljavax/net/ssl/SNIMatcher;" />
+		<method name="getAsciiName()Ljava/lang/String;" />
+	</class>
+	<class name="javax/net/ssl/SNIMatcher" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getType()I" />
+		<method name="matches(Ljavax/net/ssl/SNIServerName;)Z" />
+	</class>
+	<class name="javax/net/ssl/SNIServerName" since="24">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I[B)V" />
+		<method name="getEncoded()[B" />
+		<method name="getType()I" />
+	</class>
+	<class name="javax/net/ssl/SSLContext" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljavax/net/ssl/SSLContextSpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="createSSLEngine()Ljavax/net/ssl/SSLEngine;" />
+		<method name="createSSLEngine(Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;" />
+		<method name="getClientSessionContext()Ljavax/net/ssl/SSLSessionContext;" />
+		<method name="getDefault()Ljavax/net/ssl/SSLContext;" since="9" />
+		<method name="getDefaultSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9" />
+		<method name="getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/SSLContext;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/net/ssl/SSLContext;" />
+		<method name="getProtocol()Ljava/lang/String;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="getServerSessionContext()Ljavax/net/ssl/SSLSessionContext;" />
+		<method name="getServerSocketFactory()Ljavax/net/ssl/SSLServerSocketFactory;" />
+		<method name="getSocketFactory()Ljavax/net/ssl/SSLSocketFactory;" />
+		<method name="getSupportedSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9" />
+		<method name="init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V" />
+		<method name="setDefault(Ljavax/net/ssl/SSLContext;)V" since="9" />
+	</class>
+	<class name="javax/net/ssl/SSLContextSpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineCreateSSLEngine()Ljavax/net/ssl/SSLEngine;" />
+		<method name="engineCreateSSLEngine(Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;" />
+		<method name="engineGetClientSessionContext()Ljavax/net/ssl/SSLSessionContext;" />
+		<method name="engineGetDefaultSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9" />
+		<method name="engineGetServerSessionContext()Ljavax/net/ssl/SSLSessionContext;" />
+		<method name="engineGetServerSocketFactory()Ljavax/net/ssl/SSLServerSocketFactory;" />
+		<method name="engineGetSocketFactory()Ljavax/net/ssl/SSLSocketFactory;" />
+		<method name="engineGetSupportedSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9" />
+		<method name="engineInit([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V" />
+	</class>
+	<class name="javax/net/ssl/SSLEngine" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="beginHandshake()V" />
+		<method name="closeInbound()V" />
+		<method name="closeOutbound()V" />
+		<method name="getApplicationProtocol()Ljava/lang/String;" since="29" />
+		<method name="getDelegatedTask()Ljava/lang/Runnable;" />
+		<method name="getEnableSessionCreation()Z" />
+		<method name="getEnabledCipherSuites()[Ljava/lang/String;" />
+		<method name="getEnabledProtocols()[Ljava/lang/String;" />
+		<method name="getHandshakeApplicationProtocol()Ljava/lang/String;" since="29" />
+		<method name="getHandshakeApplicationProtocolSelector()Ljava/util/function/BiFunction;" since="29" />
+		<method name="getHandshakeSession()Ljavax/net/ssl/SSLSession;" since="24" />
+		<method name="getHandshakeStatus()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;" />
+		<method name="getNeedClientAuth()Z" />
+		<method name="getPeerHost()Ljava/lang/String;" />
+		<method name="getPeerPort()I" />
+		<method name="getSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9" />
+		<method name="getSession()Ljavax/net/ssl/SSLSession;" />
+		<method name="getSupportedCipherSuites()[Ljava/lang/String;" />
+		<method name="getSupportedProtocols()[Ljava/lang/String;" />
+		<method name="getUseClientMode()Z" />
+		<method name="getWantClientAuth()Z" />
+		<method name="isInboundDone()Z" />
+		<method name="isOutboundDone()Z" />
+		<method name="setEnableSessionCreation(Z)V" />
+		<method name="setEnabledCipherSuites([Ljava/lang/String;)V" />
+		<method name="setEnabledProtocols([Ljava/lang/String;)V" />
+		<method name="setHandshakeApplicationProtocolSelector(Ljava/util/function/BiFunction;)V" since="29" />
+		<method name="setNeedClientAuth(Z)V" />
+		<method name="setSSLParameters(Ljavax/net/ssl/SSLParameters;)V" since="9" />
+		<method name="setUseClientMode(Z)V" />
+		<method name="setWantClientAuth(Z)V" />
+		<method name="unwrap(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;" />
+		<method name="unwrap(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;" />
+		<method name="unwrap(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;" />
+		<method name="wrap(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;" />
+		<method name="wrap([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;" />
+		<method name="wrap([Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;" />
+	</class>
+	<class name="javax/net/ssl/SSLEngineResult" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V" />
+		<method name="bytesConsumed()I" />
+		<method name="bytesProduced()I" />
+		<method name="getHandshakeStatus()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;" />
+		<method name="getStatus()Ljavax/net/ssl/SSLEngineResult$Status;" />
+	</class>
+	<class name="javax/net/ssl/SSLEngineResult$HandshakeStatus" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;" />
+		<method name="values()[Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;" />
+		<field name="FINISHED" />
+		<field name="NEED_TASK" />
+		<field name="NEED_UNWRAP" />
+		<field name="NEED_WRAP" />
+		<field name="NOT_HANDSHAKING" />
+	</class>
+	<class name="javax/net/ssl/SSLEngineResult$Status" since="1">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Ljavax/net/ssl/SSLEngineResult$Status;" />
+		<method name="values()[Ljavax/net/ssl/SSLEngineResult$Status;" />
+		<field name="BUFFER_OVERFLOW" />
+		<field name="BUFFER_UNDERFLOW" />
+		<field name="CLOSED" />
+		<field name="OK" />
+	</class>
+	<class name="javax/net/ssl/SSLException" since="1">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="javax/net/ssl/SSLHandshakeException" since="1">
+		<extends name="javax/net/ssl/SSLException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/net/ssl/SSLKeyException" since="1">
+		<extends name="javax/net/ssl/SSLException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/net/ssl/SSLParameters" since="9">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;([Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;([Ljava/lang/String;[Ljava/lang/String;)V" />
+		<method name="getAlgorithmConstraints()Ljava/security/AlgorithmConstraints;" since="24" />
+		<method name="getApplicationProtocols()[Ljava/lang/String;" since="29" />
+		<method name="getCipherSuites()[Ljava/lang/String;" />
+		<method name="getEndpointIdentificationAlgorithm()Ljava/lang/String;" since="24" />
+		<method name="getNeedClientAuth()Z" />
+		<method name="getProtocols()[Ljava/lang/String;" />
+		<method name="getSNIMatchers()Ljava/util/Collection;" since="24" />
+		<method name="getServerNames()Ljava/util/List;" since="24" />
+		<method name="getUseCipherSuitesOrder()Z" since="24" />
+		<method name="getWantClientAuth()Z" />
+		<method name="setAlgorithmConstraints(Ljava/security/AlgorithmConstraints;)V" since="24" />
+		<method name="setApplicationProtocols([Ljava/lang/String;)V" since="29" />
+		<method name="setCipherSuites([Ljava/lang/String;)V" />
+		<method name="setEndpointIdentificationAlgorithm(Ljava/lang/String;)V" since="24" />
+		<method name="setNeedClientAuth(Z)V" />
+		<method name="setProtocols([Ljava/lang/String;)V" />
+		<method name="setSNIMatchers(Ljava/util/Collection;)V" since="24" />
+		<method name="setServerNames(Ljava/util/List;)V" since="24" />
+		<method name="setUseCipherSuitesOrder(Z)V" since="24" />
+		<method name="setWantClientAuth(Z)V" />
+	</class>
+	<class name="javax/net/ssl/SSLPeerUnverifiedException" since="1">
+		<extends name="javax/net/ssl/SSLException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/net/ssl/SSLPermission" since="1">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/net/ssl/SSLProtocolException" since="1">
+		<extends name="javax/net/ssl/SSLException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/net/ssl/SSLServerSocket" since="1">
+		<extends name="java/net/ServerSocket" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="&lt;init&gt;(IILjava/net/InetAddress;)V" />
+		<method name="getEnableSessionCreation()Z" />
+		<method name="getEnabledCipherSuites()[Ljava/lang/String;" />
+		<method name="getEnabledProtocols()[Ljava/lang/String;" />
+		<method name="getNeedClientAuth()Z" />
+		<method name="getSSLParameters()Ljavax/net/ssl/SSLParameters;" since="24" />
+		<method name="getSupportedCipherSuites()[Ljava/lang/String;" />
+		<method name="getSupportedProtocols()[Ljava/lang/String;" />
+		<method name="getUseClientMode()Z" />
+		<method name="getWantClientAuth()Z" />
+		<method name="setEnableSessionCreation(Z)V" />
+		<method name="setEnabledCipherSuites([Ljava/lang/String;)V" />
+		<method name="setEnabledProtocols([Ljava/lang/String;)V" />
+		<method name="setNeedClientAuth(Z)V" />
+		<method name="setSSLParameters(Ljavax/net/ssl/SSLParameters;)V" since="24" />
+		<method name="setUseClientMode(Z)V" />
+		<method name="setWantClientAuth(Z)V" />
+	</class>
+	<class name="javax/net/ssl/SSLServerSocketFactory" since="1">
+		<extends name="javax/net/ServerSocketFactory" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getDefaultCipherSuites()[Ljava/lang/String;" />
+		<method name="getSupportedCipherSuites()[Ljava/lang/String;" />
+	</class>
+	<class name="javax/net/ssl/SSLSession" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getApplicationBufferSize()I" />
+		<method name="getCipherSuite()Ljava/lang/String;" />
+		<method name="getCreationTime()J" />
+		<method name="getId()[B" />
+		<method name="getLastAccessedTime()J" />
+		<method name="getLocalCertificates()[Ljava/security/cert/Certificate;" />
+		<method name="getLocalPrincipal()Ljava/security/Principal;" />
+		<method name="getPacketBufferSize()I" />
+		<method name="getPeerCertificateChain()[Ljavax/security/cert/X509Certificate;" />
+		<method name="getPeerCertificates()[Ljava/security/cert/Certificate;" />
+		<method name="getPeerHost()Ljava/lang/String;" />
+		<method name="getPeerPort()I" />
+		<method name="getPeerPrincipal()Ljava/security/Principal;" />
+		<method name="getProtocol()Ljava/lang/String;" />
+		<method name="getSessionContext()Ljavax/net/ssl/SSLSessionContext;" />
+		<method name="getValue(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getValueNames()[Ljava/lang/String;" />
+		<method name="invalidate()V" />
+		<method name="isValid()Z" />
+		<method name="putValue(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="removeValue(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/net/ssl/SSLSessionBindingEvent" since="1">
+		<extends name="java/util/EventObject" />
+		<method name="&lt;init&gt;(Ljavax/net/ssl/SSLSession;Ljava/lang/String;)V" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getSession()Ljavax/net/ssl/SSLSession;" />
+	</class>
+	<class name="javax/net/ssl/SSLSessionBindingListener" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/EventListener" />
+		<method name="valueBound(Ljavax/net/ssl/SSLSessionBindingEvent;)V" />
+		<method name="valueUnbound(Ljavax/net/ssl/SSLSessionBindingEvent;)V" />
+	</class>
+	<class name="javax/net/ssl/SSLSessionContext" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getIds()Ljava/util/Enumeration;" />
+		<method name="getSession([B)Ljavax/net/ssl/SSLSession;" />
+		<method name="getSessionCacheSize()I" />
+		<method name="getSessionTimeout()I" />
+		<method name="setSessionCacheSize(I)V" />
+		<method name="setSessionTimeout(I)V" />
+	</class>
+	<class name="javax/net/ssl/SSLSocket" since="1">
+		<extends name="java/net/Socket" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/net/InetAddress;I)V" />
+		<method name="&lt;init&gt;(Ljava/net/InetAddress;I)V" />
+		<method name="&lt;init&gt;(Ljava/net/InetAddress;ILjava/net/InetAddress;I)V" />
+		<method name="addHandshakeCompletedListener(Ljavax/net/ssl/HandshakeCompletedListener;)V" />
+		<method name="getApplicationProtocol()Ljava/lang/String;" since="29" />
+		<method name="getEnableSessionCreation()Z" />
+		<method name="getEnabledCipherSuites()[Ljava/lang/String;" />
+		<method name="getEnabledProtocols()[Ljava/lang/String;" />
+		<method name="getHandshakeApplicationProtocol()Ljava/lang/String;" since="29" />
+		<method name="getHandshakeApplicationProtocolSelector()Ljava/util/function/BiFunction;" since="29" />
+		<method name="getHandshakeSession()Ljavax/net/ssl/SSLSession;" since="24" />
+		<method name="getNeedClientAuth()Z" />
+		<method name="getSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9" />
+		<method name="getSession()Ljavax/net/ssl/SSLSession;" />
+		<method name="getSupportedCipherSuites()[Ljava/lang/String;" />
+		<method name="getSupportedProtocols()[Ljava/lang/String;" />
+		<method name="getUseClientMode()Z" />
+		<method name="getWantClientAuth()Z" />
+		<method name="removeHandshakeCompletedListener(Ljavax/net/ssl/HandshakeCompletedListener;)V" />
+		<method name="setEnableSessionCreation(Z)V" />
+		<method name="setEnabledCipherSuites([Ljava/lang/String;)V" />
+		<method name="setEnabledProtocols([Ljava/lang/String;)V" />
+		<method name="setHandshakeApplicationProtocolSelector(Ljava/util/function/BiFunction;)V" since="29" />
+		<method name="setNeedClientAuth(Z)V" />
+		<method name="setSSLParameters(Ljavax/net/ssl/SSLParameters;)V" since="9" />
+		<method name="setUseClientMode(Z)V" />
+		<method name="setWantClientAuth(Z)V" />
+		<method name="startHandshake()V" />
+	</class>
+	<class name="javax/net/ssl/SSLSocketFactory" since="1">
+		<extends name="javax/net/SocketFactory" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;" />
+		<method name="getDefaultCipherSuites()[Ljava/lang/String;" />
+		<method name="getSupportedCipherSuites()[Ljava/lang/String;" />
+	</class>
+	<class name="javax/net/ssl/StandardConstants" since="24">
+		<extends name="java/lang/Object" />
+		<field name="SNI_HOST_NAME" />
+	</class>
+	<class name="javax/net/ssl/TrustManager" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="javax/net/ssl/TrustManagerFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljavax/net/ssl/TrustManagerFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V" />
+		<method name="getAlgorithm()Ljava/lang/String;" />
+		<method name="getDefaultAlgorithm()Ljava/lang/String;" />
+		<method name="getInstance(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;" />
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/net/ssl/TrustManagerFactory;" />
+		<method name="getProvider()Ljava/security/Provider;" />
+		<method name="getTrustManagers()[Ljavax/net/ssl/TrustManager;" />
+		<method name="init(Ljava/security/KeyStore;)V" />
+		<method name="init(Ljavax/net/ssl/ManagerFactoryParameters;)V" />
+	</class>
+	<class name="javax/net/ssl/TrustManagerFactorySpi" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="engineGetTrustManagers()[Ljavax/net/ssl/TrustManager;" />
+		<method name="engineInit(Ljava/security/KeyStore;)V" />
+		<method name="engineInit(Ljavax/net/ssl/ManagerFactoryParameters;)V" />
+	</class>
+	<class name="javax/net/ssl/X509ExtendedKeyManager" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/net/ssl/X509KeyManager" />
+		<method name="&lt;init&gt;()V" />
+		<method name="chooseEngineClientAlias([Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;" />
+		<method name="chooseEngineServerAlias(Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;" />
+	</class>
+	<class name="javax/net/ssl/X509ExtendedTrustManager" since="24">
+		<extends name="java/lang/Object" />
+		<implements name="javax/net/ssl/X509TrustManager" />
+		<method name="&lt;init&gt;()V" />
+		<method name="checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V" />
+		<method name="checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)V" />
+		<method name="checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V" />
+		<method name="checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)V" />
+	</class>
+	<class name="javax/net/ssl/X509KeyManager" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/net/ssl/KeyManager" />
+		<method name="chooseClientAlias([Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;" />
+		<method name="chooseServerAlias(Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;" />
+		<method name="getCertificateChain(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;" />
+		<method name="getClientAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;" />
+		<method name="getPrivateKey(Ljava/lang/String;)Ljava/security/PrivateKey;" />
+		<method name="getServerAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;" />
+	</class>
+	<class name="javax/net/ssl/X509TrustManager" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/net/ssl/TrustManager" />
+		<method name="checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V" />
+		<method name="checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V" />
+		<method name="getAcceptedIssuers()[Ljava/security/cert/X509Certificate;" />
+	</class>
+	<class name="javax/security/auth/AuthPermission" since="1">
+		<extends name="java/security/BasicPermission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/security/auth/DestroyFailedException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/security/auth/Destroyable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="destroy()V" />
+		<method name="isDestroyed()Z" />
+	</class>
+	<class name="javax/security/auth/PrivateCredentialPermission" since="1">
+		<extends name="java/security/Permission" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getCredentialClass()Ljava/lang/String;" />
+		<method name="getPrincipals()[[Ljava/lang/String;" />
+	</class>
+	<class name="javax/security/auth/Subject" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(ZLjava/util/Set;Ljava/util/Set;Ljava/util/Set;)V" />
+		<method name="doAs(Ljavax/security/auth/Subject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;" />
+		<method name="doAs(Ljavax/security/auth/Subject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;" />
+		<method name="doAsPrivileged(Ljavax/security/auth/Subject;Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;" />
+		<method name="doAsPrivileged(Ljavax/security/auth/Subject;Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;" />
+		<method name="getPrincipals()Ljava/util/Set;" />
+		<method name="getPrincipals(Ljava/lang/Class;)Ljava/util/Set;" />
+		<method name="getPrivateCredentials()Ljava/util/Set;" />
+		<method name="getPrivateCredentials(Ljava/lang/Class;)Ljava/util/Set;" />
+		<method name="getPublicCredentials()Ljava/util/Set;" />
+		<method name="getPublicCredentials(Ljava/lang/Class;)Ljava/util/Set;" />
+		<method name="getSubject(Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;" />
+		<method name="isReadOnly()Z" />
+		<method name="setReadOnly()V" />
+	</class>
+	<class name="javax/security/auth/SubjectDomainCombiner" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/DomainCombiner" />
+		<method name="&lt;init&gt;(Ljavax/security/auth/Subject;)V" />
+		<method name="getSubject()Ljavax/security/auth/Subject;" />
+	</class>
+	<class name="javax/security/auth/callback/Callback" since="1">
+		<extends name="java/lang/Object" />
+	</class>
+	<class name="javax/security/auth/callback/CallbackHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="handle([Ljavax/security/auth/callback/Callback;)V" />
+	</class>
+	<class name="javax/security/auth/callback/PasswordCallback" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="javax/security/auth/callback/Callback" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Z)V" />
+		<method name="clearPassword()V" />
+		<method name="getPassword()[C" />
+		<method name="getPrompt()Ljava/lang/String;" />
+		<method name="isEchoOn()Z" />
+		<method name="setPassword([C)V" />
+	</class>
+	<class name="javax/security/auth/callback/UnsupportedCallbackException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljavax/security/auth/callback/Callback;)V" />
+		<method name="&lt;init&gt;(Ljavax/security/auth/callback/Callback;Ljava/lang/String;)V" />
+		<method name="getCallback()Ljavax/security/auth/callback/Callback;" />
+	</class>
+	<class name="javax/security/auth/login/LoginException" since="1">
+		<extends name="java/security/GeneralSecurityException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/security/auth/x500/X500Principal" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/security/Principal" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/util/Map;)V" since="9" />
+		<method name="&lt;init&gt;([B)V" />
+		<method name="getEncoded()[B" />
+		<method name="getName(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getName(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;" since="9" />
+		<field name="CANONICAL" />
+		<field name="RFC1779" />
+		<field name="RFC2253" />
+	</class>
+	<class name="javax/security/cert/Certificate" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getEncoded()[B" />
+		<method name="getPublicKey()Ljava/security/PublicKey;" />
+		<method name="verify(Ljava/security/PublicKey;)V" />
+		<method name="verify(Ljava/security/PublicKey;Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/security/cert/CertificateEncodingException" since="1">
+		<extends name="javax/security/cert/CertificateException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/security/cert/CertificateException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/security/cert/CertificateExpiredException" since="1">
+		<extends name="javax/security/cert/CertificateException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/security/cert/CertificateNotYetValidException" since="1">
+		<extends name="javax/security/cert/CertificateException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/security/cert/CertificateParsingException" since="1">
+		<extends name="javax/security/cert/CertificateException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/security/cert/X509Certificate" since="1">
+		<extends name="javax/security/cert/Certificate" />
+		<method name="&lt;init&gt;()V" />
+		<method name="checkValidity()V" />
+		<method name="checkValidity(Ljava/util/Date;)V" />
+		<method name="getInstance(Ljava/io/InputStream;)Ljavax/security/cert/X509Certificate;" />
+		<method name="getInstance([B)Ljavax/security/cert/X509Certificate;" />
+		<method name="getIssuerDN()Ljava/security/Principal;" />
+		<method name="getNotAfter()Ljava/util/Date;" />
+		<method name="getNotBefore()Ljava/util/Date;" />
+		<method name="getSerialNumber()Ljava/math/BigInteger;" />
+		<method name="getSigAlgName()Ljava/lang/String;" />
+		<method name="getSigAlgOID()Ljava/lang/String;" />
+		<method name="getSigAlgParams()[B" />
+		<method name="getSubjectDN()Ljava/security/Principal;" />
+		<method name="getVersion()I" />
+	</class>
+	<class name="javax/sql/CommonDataSource" since="9">
+		<extends name="java/lang/Object" />
+		<method name="getLogWriter()Ljava/io/PrintWriter;" />
+		<method name="getLoginTimeout()I" />
+		<method name="getParentLogger()Ljava/util/logging/Logger;" since="24" />
+		<method name="setLogWriter(Ljava/io/PrintWriter;)V" />
+		<method name="setLoginTimeout(I)V" />
+	</class>
+	<class name="javax/sql/ConnectionEvent" since="1">
+		<extends name="java/util/EventObject" />
+		<method name="&lt;init&gt;(Ljavax/sql/PooledConnection;)V" />
+		<method name="&lt;init&gt;(Ljavax/sql/PooledConnection;Ljava/sql/SQLException;)V" />
+		<method name="getSQLException()Ljava/sql/SQLException;" />
+	</class>
+	<class name="javax/sql/ConnectionEventListener" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/EventListener" />
+		<method name="connectionClosed(Ljavax/sql/ConnectionEvent;)V" />
+		<method name="connectionErrorOccurred(Ljavax/sql/ConnectionEvent;)V" />
+	</class>
+	<class name="javax/sql/ConnectionPoolDataSource" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="javax/sql/CommonDataSource" since="9" />
+		<method name="getLogWriter()Ljava/io/PrintWriter;" removed="9" />
+		<method name="getLoginTimeout()I" removed="9" />
+		<method name="getPooledConnection()Ljavax/sql/PooledConnection;" />
+		<method name="getPooledConnection(Ljava/lang/String;Ljava/lang/String;)Ljavax/sql/PooledConnection;" />
+		<method name="setLogWriter(Ljava/io/PrintWriter;)V" removed="9" />
+		<method name="setLoginTimeout(I)V" removed="9" />
+	</class>
+	<class name="javax/sql/DataSource" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/sql/Wrapper" since="9" />
+		<implements name="javax/sql/CommonDataSource" since="9" />
+		<method name="getConnection()Ljava/sql/Connection;" />
+		<method name="getConnection(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;" />
+		<method name="getLogWriter()Ljava/io/PrintWriter;" removed="9" />
+		<method name="getLoginTimeout()I" removed="9" />
+		<method name="setLogWriter(Ljava/io/PrintWriter;)V" removed="9" />
+		<method name="setLoginTimeout(I)V" removed="9" />
+	</class>
+	<class name="javax/sql/PooledConnection" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addConnectionEventListener(Ljavax/sql/ConnectionEventListener;)V" />
+		<method name="addStatementEventListener(Ljavax/sql/StatementEventListener;)V" since="9" />
+		<method name="close()V" />
+		<method name="getConnection()Ljava/sql/Connection;" />
+		<method name="removeConnectionEventListener(Ljavax/sql/ConnectionEventListener;)V" />
+		<method name="removeStatementEventListener(Ljavax/sql/StatementEventListener;)V" since="9" />
+	</class>
+	<class name="javax/sql/RowSet" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/sql/ResultSet" />
+		<method name="addRowSetListener(Ljavax/sql/RowSetListener;)V" />
+		<method name="clearParameters()V" />
+		<method name="execute()V" />
+		<method name="getCommand()Ljava/lang/String;" />
+		<method name="getDataSourceName()Ljava/lang/String;" />
+		<method name="getEscapeProcessing()Z" />
+		<method name="getMaxFieldSize()I" />
+		<method name="getMaxRows()I" />
+		<method name="getPassword()Ljava/lang/String;" />
+		<method name="getQueryTimeout()I" />
+		<method name="getTransactionIsolation()I" />
+		<method name="getTypeMap()Ljava/util/Map;" />
+		<method name="getUrl()Ljava/lang/String;" />
+		<method name="getUsername()Ljava/lang/String;" />
+		<method name="isReadOnly()Z" />
+		<method name="removeRowSetListener(Ljavax/sql/RowSetListener;)V" />
+		<method name="setArray(ILjava/sql/Array;)V" />
+		<method name="setAsciiStream(ILjava/io/InputStream;)V" since="9" />
+		<method name="setAsciiStream(ILjava/io/InputStream;I)V" />
+		<method name="setAsciiStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9" />
+		<method name="setAsciiStream(Ljava/lang/String;Ljava/io/InputStream;I)V" since="9" />
+		<method name="setBigDecimal(ILjava/math/BigDecimal;)V" />
+		<method name="setBigDecimal(Ljava/lang/String;Ljava/math/BigDecimal;)V" since="9" />
+		<method name="setBinaryStream(ILjava/io/InputStream;)V" since="9" />
+		<method name="setBinaryStream(ILjava/io/InputStream;I)V" />
+		<method name="setBinaryStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9" />
+		<method name="setBinaryStream(Ljava/lang/String;Ljava/io/InputStream;I)V" since="9" />
+		<method name="setBlob(ILjava/io/InputStream;)V" since="9" />
+		<method name="setBlob(ILjava/io/InputStream;J)V" since="9" />
+		<method name="setBlob(ILjava/sql/Blob;)V" />
+		<method name="setBlob(Ljava/lang/String;Ljava/io/InputStream;)V" since="9" />
+		<method name="setBlob(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9" />
+		<method name="setBlob(Ljava/lang/String;Ljava/sql/Blob;)V" since="9" />
+		<method name="setBoolean(IZ)V" />
+		<method name="setBoolean(Ljava/lang/String;Z)V" since="9" />
+		<method name="setByte(IB)V" />
+		<method name="setByte(Ljava/lang/String;B)V" since="9" />
+		<method name="setBytes(I[B)V" />
+		<method name="setBytes(Ljava/lang/String;[B)V" since="9" />
+		<method name="setCharacterStream(ILjava/io/Reader;)V" since="9" />
+		<method name="setCharacterStream(ILjava/io/Reader;I)V" />
+		<method name="setCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="setCharacterStream(Ljava/lang/String;Ljava/io/Reader;I)V" since="9" />
+		<method name="setClob(ILjava/io/Reader;)V" since="9" />
+		<method name="setClob(ILjava/io/Reader;J)V" since="9" />
+		<method name="setClob(ILjava/sql/Clob;)V" />
+		<method name="setClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="setClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="setClob(Ljava/lang/String;Ljava/sql/Clob;)V" since="9" />
+		<method name="setCommand(Ljava/lang/String;)V" />
+		<method name="setConcurrency(I)V" />
+		<method name="setDataSourceName(Ljava/lang/String;)V" />
+		<method name="setDate(ILjava/sql/Date;)V" />
+		<method name="setDate(ILjava/sql/Date;Ljava/util/Calendar;)V" />
+		<method name="setDate(Ljava/lang/String;Ljava/sql/Date;)V" since="9" />
+		<method name="setDate(Ljava/lang/String;Ljava/sql/Date;Ljava/util/Calendar;)V" since="9" />
+		<method name="setDouble(ID)V" />
+		<method name="setDouble(Ljava/lang/String;D)V" since="9" />
+		<method name="setEscapeProcessing(Z)V" />
+		<method name="setFloat(IF)V" />
+		<method name="setFloat(Ljava/lang/String;F)V" since="9" />
+		<method name="setInt(II)V" />
+		<method name="setInt(Ljava/lang/String;I)V" since="9" />
+		<method name="setLong(IJ)V" />
+		<method name="setLong(Ljava/lang/String;J)V" since="9" />
+		<method name="setMaxFieldSize(I)V" />
+		<method name="setMaxRows(I)V" />
+		<method name="setNCharacterStream(ILjava/io/Reader;)V" since="9" />
+		<method name="setNCharacterStream(ILjava/io/Reader;J)V" since="9" />
+		<method name="setNCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="setNCharacterStream(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="setNClob(ILjava/io/Reader;)V" since="9" />
+		<method name="setNClob(ILjava/io/Reader;J)V" since="9" />
+		<method name="setNClob(ILjava/sql/NClob;)V" since="9" />
+		<method name="setNClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9" />
+		<method name="setNClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9" />
+		<method name="setNClob(Ljava/lang/String;Ljava/sql/NClob;)V" since="9" />
+		<method name="setNString(ILjava/lang/String;)V" since="9" />
+		<method name="setNString(Ljava/lang/String;Ljava/lang/String;)V" since="9" />
+		<method name="setNull(II)V" />
+		<method name="setNull(IILjava/lang/String;)V" />
+		<method name="setNull(Ljava/lang/String;I)V" since="9" />
+		<method name="setNull(Ljava/lang/String;ILjava/lang/String;)V" since="9" />
+		<method name="setObject(ILjava/lang/Object;)V" />
+		<method name="setObject(ILjava/lang/Object;I)V" />
+		<method name="setObject(ILjava/lang/Object;II)V" />
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;)V" since="9" />
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;I)V" since="9" />
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;II)V" since="9" />
+		<method name="setPassword(Ljava/lang/String;)V" />
+		<method name="setQueryTimeout(I)V" />
+		<method name="setReadOnly(Z)V" />
+		<method name="setRef(ILjava/sql/Ref;)V" />
+		<method name="setRowId(ILjava/sql/RowId;)V" since="9" />
+		<method name="setRowId(Ljava/lang/String;Ljava/sql/RowId;)V" since="9" />
+		<method name="setSQLXML(ILjava/sql/SQLXML;)V" since="9" />
+		<method name="setSQLXML(Ljava/lang/String;Ljava/sql/SQLXML;)V" since="9" />
+		<method name="setShort(IS)V" />
+		<method name="setShort(Ljava/lang/String;S)V" since="9" />
+		<method name="setString(ILjava/lang/String;)V" />
+		<method name="setString(Ljava/lang/String;Ljava/lang/String;)V" since="9" />
+		<method name="setTime(ILjava/sql/Time;)V" />
+		<method name="setTime(ILjava/sql/Time;Ljava/util/Calendar;)V" />
+		<method name="setTime(Ljava/lang/String;Ljava/sql/Time;)V" since="9" />
+		<method name="setTime(Ljava/lang/String;Ljava/sql/Time;Ljava/util/Calendar;)V" since="9" />
+		<method name="setTimestamp(ILjava/sql/Timestamp;)V" />
+		<method name="setTimestamp(ILjava/sql/Timestamp;Ljava/util/Calendar;)V" />
+		<method name="setTimestamp(Ljava/lang/String;Ljava/sql/Timestamp;)V" since="9" />
+		<method name="setTimestamp(Ljava/lang/String;Ljava/sql/Timestamp;Ljava/util/Calendar;)V" since="9" />
+		<method name="setTransactionIsolation(I)V" />
+		<method name="setType(I)V" />
+		<method name="setTypeMap(Ljava/util/Map;)V" />
+		<method name="setURL(ILjava/net/URL;)V" since="9" />
+		<method name="setUrl(Ljava/lang/String;)V" />
+		<method name="setUsername(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/sql/RowSetEvent" since="1">
+		<extends name="java/util/EventObject" />
+		<method name="&lt;init&gt;(Ljavax/sql/RowSet;)V" />
+	</class>
+	<class name="javax/sql/RowSetInternal" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getConnection()Ljava/sql/Connection;" />
+		<method name="getOriginal()Ljava/sql/ResultSet;" />
+		<method name="getOriginalRow()Ljava/sql/ResultSet;" />
+		<method name="getParams()[Ljava/lang/Object;" />
+		<method name="setMetaData(Ljavax/sql/RowSetMetaData;)V" />
+	</class>
+	<class name="javax/sql/RowSetListener" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/EventListener" />
+		<method name="cursorMoved(Ljavax/sql/RowSetEvent;)V" />
+		<method name="rowChanged(Ljavax/sql/RowSetEvent;)V" />
+		<method name="rowSetChanged(Ljavax/sql/RowSetEvent;)V" />
+	</class>
+	<class name="javax/sql/RowSetMetaData" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="java/sql/ResultSetMetaData" />
+		<method name="setAutoIncrement(IZ)V" />
+		<method name="setCaseSensitive(IZ)V" />
+		<method name="setCatalogName(ILjava/lang/String;)V" />
+		<method name="setColumnCount(I)V" />
+		<method name="setColumnDisplaySize(II)V" />
+		<method name="setColumnLabel(ILjava/lang/String;)V" />
+		<method name="setColumnName(ILjava/lang/String;)V" />
+		<method name="setColumnType(II)V" />
+		<method name="setColumnTypeName(ILjava/lang/String;)V" />
+		<method name="setCurrency(IZ)V" />
+		<method name="setNullable(II)V" />
+		<method name="setPrecision(II)V" />
+		<method name="setScale(II)V" />
+		<method name="setSchemaName(ILjava/lang/String;)V" />
+		<method name="setSearchable(IZ)V" />
+		<method name="setSigned(IZ)V" />
+		<method name="setTableName(ILjava/lang/String;)V" />
+	</class>
+	<class name="javax/sql/RowSetReader" since="1">
+		<extends name="java/lang/Object" />
+		<method name="readData(Ljavax/sql/RowSetInternal;)V" />
+	</class>
+	<class name="javax/sql/RowSetWriter" since="1">
+		<extends name="java/lang/Object" />
+		<method name="writeData(Ljavax/sql/RowSetInternal;)Z" />
+	</class>
+	<class name="javax/sql/StatementEvent" since="9">
+		<extends name="java/util/EventObject" />
+		<method name="&lt;init&gt;(Ljavax/sql/PooledConnection;Ljava/sql/PreparedStatement;)V" />
+		<method name="&lt;init&gt;(Ljavax/sql/PooledConnection;Ljava/sql/PreparedStatement;Ljava/sql/SQLException;)V" />
+		<method name="getSQLException()Ljava/sql/SQLException;" />
+		<method name="getStatement()Ljava/sql/PreparedStatement;" />
+	</class>
+	<class name="javax/sql/StatementEventListener" since="9">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/EventListener" />
+		<method name="statementClosed(Ljavax/sql/StatementEvent;)V" />
+		<method name="statementErrorOccurred(Ljavax/sql/StatementEvent;)V" />
+	</class>
+	<class name="javax/xml/XMLConstants" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" removed="8" />
+		<field name="DEFAULT_NS_PREFIX" />
+		<field name="FEATURE_SECURE_PROCESSING" />
+		<field name="NULL_NS_URI" />
+		<field name="RELAXNG_NS_URI" />
+		<field name="W3C_XML_SCHEMA_INSTANCE_NS_URI" />
+		<field name="W3C_XML_SCHEMA_NS_URI" />
+		<field name="W3C_XPATH_DATATYPE_NS_URI" />
+		<field name="XMLNS_ATTRIBUTE" />
+		<field name="XMLNS_ATTRIBUTE_NS_URI" />
+		<field name="XML_DTD_NS_URI" />
+		<field name="XML_NS_PREFIX" />
+		<field name="XML_NS_URI" />
+	</class>
+	<class name="javax/xml/datatype/DatatypeConfigurationException" since="8">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="javax/xml/datatype/DatatypeConstants" since="8">
+		<extends name="java/lang/Object" />
+		<field name="APRIL" />
+		<field name="AUGUST" />
+		<field name="DATE" />
+		<field name="DATETIME" />
+		<field name="DAYS" />
+		<field name="DECEMBER" />
+		<field name="DURATION" />
+		<field name="DURATION_DAYTIME" />
+		<field name="DURATION_YEARMONTH" />
+		<field name="EQUAL" />
+		<field name="FEBRUARY" />
+		<field name="FIELD_UNDEFINED" />
+		<field name="GDAY" />
+		<field name="GMONTH" />
+		<field name="GMONTHDAY" />
+		<field name="GREATER" />
+		<field name="GYEAR" />
+		<field name="GYEARMONTH" />
+		<field name="HOURS" />
+		<field name="INDETERMINATE" />
+		<field name="JANUARY" />
+		<field name="JULY" />
+		<field name="JUNE" />
+		<field name="LESSER" />
+		<field name="MARCH" />
+		<field name="MAX_TIMEZONE_OFFSET" />
+		<field name="MAY" />
+		<field name="MINUTES" />
+		<field name="MIN_TIMEZONE_OFFSET" />
+		<field name="MONTHS" />
+		<field name="NOVEMBER" />
+		<field name="OCTOBER" />
+		<field name="SECONDS" />
+		<field name="SEPTEMBER" />
+		<field name="TIME" />
+		<field name="YEARS" />
+	</class>
+	<class name="javax/xml/datatype/DatatypeConstants$Field" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getId()I" />
+	</class>
+	<class name="javax/xml/datatype/DatatypeFactory" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="newDuration(J)Ljavax/xml/datatype/Duration;" />
+		<method name="newDuration(Ljava/lang/String;)Ljavax/xml/datatype/Duration;" />
+		<method name="newDuration(ZIIIIII)Ljavax/xml/datatype/Duration;" />
+		<method name="newDuration(ZLjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigDecimal;)Ljavax/xml/datatype/Duration;" />
+		<method name="newDurationDayTime(J)Ljavax/xml/datatype/Duration;" />
+		<method name="newDurationDayTime(Ljava/lang/String;)Ljavax/xml/datatype/Duration;" />
+		<method name="newDurationDayTime(ZIIII)Ljavax/xml/datatype/Duration;" />
+		<method name="newDurationDayTime(ZLjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljavax/xml/datatype/Duration;" />
+		<method name="newDurationYearMonth(J)Ljavax/xml/datatype/Duration;" />
+		<method name="newDurationYearMonth(Ljava/lang/String;)Ljavax/xml/datatype/Duration;" />
+		<method name="newDurationYearMonth(ZII)Ljavax/xml/datatype/Duration;" />
+		<method name="newDurationYearMonth(ZLjava/math/BigInteger;Ljava/math/BigInteger;)Ljavax/xml/datatype/Duration;" />
+		<method name="newInstance()Ljavax/xml/datatype/DatatypeFactory;" />
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/datatype/DatatypeFactory;" since="9" />
+		<method name="newXMLGregorianCalendar()Ljavax/xml/datatype/XMLGregorianCalendar;" />
+		<method name="newXMLGregorianCalendar(IIIIIIII)Ljavax/xml/datatype/XMLGregorianCalendar;" />
+		<method name="newXMLGregorianCalendar(Ljava/lang/String;)Ljavax/xml/datatype/XMLGregorianCalendar;" />
+		<method name="newXMLGregorianCalendar(Ljava/math/BigInteger;IIIIILjava/math/BigDecimal;I)Ljavax/xml/datatype/XMLGregorianCalendar;" />
+		<method name="newXMLGregorianCalendar(Ljava/util/GregorianCalendar;)Ljavax/xml/datatype/XMLGregorianCalendar;" />
+		<method name="newXMLGregorianCalendarDate(IIII)Ljavax/xml/datatype/XMLGregorianCalendar;" />
+		<method name="newXMLGregorianCalendarTime(IIII)Ljavax/xml/datatype/XMLGregorianCalendar;" />
+		<method name="newXMLGregorianCalendarTime(IIIII)Ljavax/xml/datatype/XMLGregorianCalendar;" />
+		<method name="newXMLGregorianCalendarTime(IIILjava/math/BigDecimal;I)Ljavax/xml/datatype/XMLGregorianCalendar;" />
+		<field name="DATATYPEFACTORY_IMPLEMENTATION_CLASS" />
+		<field name="DATATYPEFACTORY_PROPERTY" />
+	</class>
+	<class name="javax/xml/datatype/Duration" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="add(Ljavax/xml/datatype/Duration;)Ljavax/xml/datatype/Duration;" />
+		<method name="addTo(Ljava/util/Calendar;)V" />
+		<method name="addTo(Ljava/util/Date;)V" />
+		<method name="compare(Ljavax/xml/datatype/Duration;)I" />
+		<method name="getDays()I" />
+		<method name="getField(Ljavax/xml/datatype/DatatypeConstants$Field;)Ljava/lang/Number;" />
+		<method name="getHours()I" />
+		<method name="getMinutes()I" />
+		<method name="getMonths()I" />
+		<method name="getSeconds()I" />
+		<method name="getSign()I" />
+		<method name="getTimeInMillis(Ljava/util/Calendar;)J" />
+		<method name="getTimeInMillis(Ljava/util/Date;)J" />
+		<method name="getXMLSchemaType()Ljavax/xml/namespace/QName;" />
+		<method name="getYears()I" />
+		<method name="isLongerThan(Ljavax/xml/datatype/Duration;)Z" />
+		<method name="isSet(Ljavax/xml/datatype/DatatypeConstants$Field;)Z" />
+		<method name="isShorterThan(Ljavax/xml/datatype/Duration;)Z" />
+		<method name="multiply(I)Ljavax/xml/datatype/Duration;" />
+		<method name="multiply(Ljava/math/BigDecimal;)Ljavax/xml/datatype/Duration;" />
+		<method name="negate()Ljavax/xml/datatype/Duration;" />
+		<method name="normalizeWith(Ljava/util/Calendar;)Ljavax/xml/datatype/Duration;" />
+		<method name="subtract(Ljavax/xml/datatype/Duration;)Ljavax/xml/datatype/Duration;" />
+	</class>
+	<class name="javax/xml/datatype/XMLGregorianCalendar" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="add(Ljavax/xml/datatype/Duration;)V" />
+		<method name="clear()V" />
+		<method name="compare(Ljavax/xml/datatype/XMLGregorianCalendar;)I" />
+		<method name="getDay()I" />
+		<method name="getEon()Ljava/math/BigInteger;" />
+		<method name="getEonAndYear()Ljava/math/BigInteger;" />
+		<method name="getFractionalSecond()Ljava/math/BigDecimal;" />
+		<method name="getHour()I" />
+		<method name="getMillisecond()I" />
+		<method name="getMinute()I" />
+		<method name="getMonth()I" />
+		<method name="getSecond()I" />
+		<method name="getTimeZone(I)Ljava/util/TimeZone;" />
+		<method name="getTimezone()I" />
+		<method name="getXMLSchemaType()Ljavax/xml/namespace/QName;" />
+		<method name="getYear()I" />
+		<method name="isValid()Z" />
+		<method name="normalize()Ljavax/xml/datatype/XMLGregorianCalendar;" />
+		<method name="reset()V" />
+		<method name="setDay(I)V" />
+		<method name="setFractionalSecond(Ljava/math/BigDecimal;)V" />
+		<method name="setHour(I)V" />
+		<method name="setMillisecond(I)V" />
+		<method name="setMinute(I)V" />
+		<method name="setMonth(I)V" />
+		<method name="setSecond(I)V" />
+		<method name="setTime(III)V" />
+		<method name="setTime(IIII)V" />
+		<method name="setTime(IIILjava/math/BigDecimal;)V" />
+		<method name="setTimezone(I)V" />
+		<method name="setYear(I)V" />
+		<method name="setYear(Ljava/math/BigInteger;)V" />
+		<method name="toGregorianCalendar()Ljava/util/GregorianCalendar;" />
+		<method name="toGregorianCalendar(Ljava/util/TimeZone;Ljava/util/Locale;Ljavax/xml/datatype/XMLGregorianCalendar;)Ljava/util/GregorianCalendar;" />
+		<method name="toXMLFormat()Ljava/lang/String;" />
+	</class>
+	<class name="javax/xml/namespace/NamespaceContext" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getNamespaceURI(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getPrefix(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getPrefixes(Ljava/lang/String;)Ljava/util/Iterator;" />
+	</class>
+	<class name="javax/xml/namespace/QName" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getLocalPart()Ljava/lang/String;" />
+		<method name="getNamespaceURI()Ljava/lang/String;" />
+		<method name="getPrefix()Ljava/lang/String;" />
+		<method name="valueOf(Ljava/lang/String;)Ljavax/xml/namespace/QName;" />
+	</class>
+	<class name="javax/xml/parsers/DocumentBuilder" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getDOMImplementation()Lorg/w3c/dom/DOMImplementation;" />
+		<method name="getSchema()Ljavax/xml/validation/Schema;" since="8" />
+		<method name="isNamespaceAware()Z" />
+		<method name="isValidating()Z" />
+		<method name="isXIncludeAware()Z" />
+		<method name="newDocument()Lorg/w3c/dom/Document;" />
+		<method name="parse(Ljava/io/File;)Lorg/w3c/dom/Document;" />
+		<method name="parse(Ljava/io/InputStream;)Lorg/w3c/dom/Document;" />
+		<method name="parse(Ljava/io/InputStream;Ljava/lang/String;)Lorg/w3c/dom/Document;" />
+		<method name="parse(Ljava/lang/String;)Lorg/w3c/dom/Document;" />
+		<method name="parse(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;" />
+		<method name="reset()V" />
+		<method name="setEntityResolver(Lorg/xml/sax/EntityResolver;)V" />
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V" />
+	</class>
+	<class name="javax/xml/parsers/DocumentBuilderFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="getSchema()Ljavax/xml/validation/Schema;" since="8" />
+		<method name="isCoalescing()Z" />
+		<method name="isExpandEntityReferences()Z" />
+		<method name="isIgnoringComments()Z" />
+		<method name="isIgnoringElementContentWhitespace()Z" />
+		<method name="isNamespaceAware()Z" />
+		<method name="isValidating()Z" />
+		<method name="isXIncludeAware()Z" />
+		<method name="newDocumentBuilder()Ljavax/xml/parsers/DocumentBuilder;" />
+		<method name="newInstance()Ljavax/xml/parsers/DocumentBuilderFactory;" />
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/parsers/DocumentBuilderFactory;" since="9" />
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="setCoalescing(Z)V" />
+		<method name="setExpandEntityReferences(Z)V" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setIgnoringComments(Z)V" />
+		<method name="setIgnoringElementContentWhitespace(Z)V" />
+		<method name="setNamespaceAware(Z)V" />
+		<method name="setSchema(Ljavax/xml/validation/Schema;)V" since="8" />
+		<method name="setValidating(Z)V" />
+		<method name="setXIncludeAware(Z)V" />
+	</class>
+	<class name="javax/xml/parsers/FactoryConfigurationError" since="1">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getException()Ljava/lang/Exception;" />
+	</class>
+	<class name="javax/xml/parsers/ParserConfigurationException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/xml/parsers/SAXParser" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getParser()Lorg/xml/sax/Parser;" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getSchema()Ljavax/xml/validation/Schema;" since="8" />
+		<method name="getXMLReader()Lorg/xml/sax/XMLReader;" />
+		<method name="isNamespaceAware()Z" />
+		<method name="isValidating()Z" />
+		<method name="isXIncludeAware()Z" />
+		<method name="parse(Ljava/io/File;Lorg/xml/sax/HandlerBase;)V" />
+		<method name="parse(Ljava/io/File;Lorg/xml/sax/helpers/DefaultHandler;)V" />
+		<method name="parse(Ljava/io/InputStream;Lorg/xml/sax/HandlerBase;)V" />
+		<method name="parse(Ljava/io/InputStream;Lorg/xml/sax/HandlerBase;Ljava/lang/String;)V" />
+		<method name="parse(Ljava/io/InputStream;Lorg/xml/sax/helpers/DefaultHandler;)V" />
+		<method name="parse(Ljava/io/InputStream;Lorg/xml/sax/helpers/DefaultHandler;Ljava/lang/String;)V" />
+		<method name="parse(Ljava/lang/String;Lorg/xml/sax/HandlerBase;)V" />
+		<method name="parse(Ljava/lang/String;Lorg/xml/sax/helpers/DefaultHandler;)V" />
+		<method name="parse(Lorg/xml/sax/InputSource;Lorg/xml/sax/HandlerBase;)V" />
+		<method name="parse(Lorg/xml/sax/InputSource;Lorg/xml/sax/helpers/DefaultHandler;)V" />
+		<method name="reset()V" />
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V" />
+	</class>
+	<class name="javax/xml/parsers/SAXParserFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="getSchema()Ljavax/xml/validation/Schema;" since="8" />
+		<method name="isNamespaceAware()Z" />
+		<method name="isValidating()Z" />
+		<method name="isXIncludeAware()Z" />
+		<method name="newInstance()Ljavax/xml/parsers/SAXParserFactory;" />
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/parsers/SAXParserFactory;" since="9" />
+		<method name="newSAXParser()Ljavax/xml/parsers/SAXParser;" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setNamespaceAware(Z)V" />
+		<method name="setSchema(Ljavax/xml/validation/Schema;)V" since="8" />
+		<method name="setValidating(Z)V" />
+		<method name="setXIncludeAware(Z)V" />
+	</class>
+	<class name="javax/xml/transform/ErrorListener" since="8">
+		<extends name="java/lang/Object" />
+		<method name="error(Ljavax/xml/transform/TransformerException;)V" />
+		<method name="fatalError(Ljavax/xml/transform/TransformerException;)V" />
+		<method name="warning(Ljavax/xml/transform/TransformerException;)V" />
+	</class>
+	<class name="javax/xml/transform/OutputKeys" since="8">
+		<extends name="java/lang/Object" />
+		<field name="CDATA_SECTION_ELEMENTS" />
+		<field name="DOCTYPE_PUBLIC" />
+		<field name="DOCTYPE_SYSTEM" />
+		<field name="ENCODING" />
+		<field name="INDENT" />
+		<field name="MEDIA_TYPE" />
+		<field name="METHOD" />
+		<field name="OMIT_XML_DECLARATION" />
+		<field name="STANDALONE" />
+		<field name="VERSION" />
+	</class>
+	<class name="javax/xml/transform/Result" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getSystemId()Ljava/lang/String;" />
+		<method name="setSystemId(Ljava/lang/String;)V" />
+		<field name="PI_DISABLE_OUTPUT_ESCAPING" />
+		<field name="PI_ENABLE_OUTPUT_ESCAPING" />
+	</class>
+	<class name="javax/xml/transform/Source" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getSystemId()Ljava/lang/String;" />
+		<method name="setSystemId(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/xml/transform/SourceLocator" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getColumnNumber()I" />
+		<method name="getLineNumber()I" />
+		<method name="getPublicId()Ljava/lang/String;" />
+		<method name="getSystemId()Ljava/lang/String;" />
+	</class>
+	<class name="javax/xml/transform/Templates" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getOutputProperties()Ljava/util/Properties;" />
+		<method name="newTransformer()Ljavax/xml/transform/Transformer;" />
+	</class>
+	<class name="javax/xml/transform/Transformer" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clearParameters()V" />
+		<method name="getErrorListener()Ljavax/xml/transform/ErrorListener;" />
+		<method name="getOutputProperties()Ljava/util/Properties;" />
+		<method name="getOutputProperty(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getParameter(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getURIResolver()Ljavax/xml/transform/URIResolver;" />
+		<method name="reset()V" />
+		<method name="setErrorListener(Ljavax/xml/transform/ErrorListener;)V" />
+		<method name="setOutputProperties(Ljava/util/Properties;)V" />
+		<method name="setOutputProperty(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="setURIResolver(Ljavax/xml/transform/URIResolver;)V" />
+		<method name="transform(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V" />
+	</class>
+	<class name="javax/xml/transform/TransformerConfigurationException" since="8">
+		<extends name="javax/xml/transform/TransformerException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljavax/xml/transform/SourceLocator;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljavax/xml/transform/SourceLocator;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="javax/xml/transform/TransformerException" since="8">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljavax/xml/transform/SourceLocator;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljavax/xml/transform/SourceLocator;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+		<method name="getException()Ljava/lang/Throwable;" />
+		<method name="getLocationAsString()Ljava/lang/String;" />
+		<method name="getLocator()Ljavax/xml/transform/SourceLocator;" />
+		<method name="getMessageAndLocation()Ljava/lang/String;" />
+		<method name="setLocator(Ljavax/xml/transform/SourceLocator;)V" />
+	</class>
+	<class name="javax/xml/transform/TransformerFactory" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAssociatedStylesheet(Ljavax/xml/transform/Source;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/xml/transform/Source;" />
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getErrorListener()Ljavax/xml/transform/ErrorListener;" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="getURIResolver()Ljavax/xml/transform/URIResolver;" />
+		<method name="newInstance()Ljavax/xml/transform/TransformerFactory;" />
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/transform/TransformerFactory;" since="9" />
+		<method name="newTemplates(Ljavax/xml/transform/Source;)Ljavax/xml/transform/Templates;" />
+		<method name="newTransformer()Ljavax/xml/transform/Transformer;" />
+		<method name="newTransformer(Ljavax/xml/transform/Source;)Ljavax/xml/transform/Transformer;" />
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="setErrorListener(Ljavax/xml/transform/ErrorListener;)V" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setURIResolver(Ljavax/xml/transform/URIResolver;)V" />
+	</class>
+	<class name="javax/xml/transform/TransformerFactoryConfigurationError" since="8">
+		<extends name="java/lang/Error" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getException()Ljava/lang/Exception;" />
+	</class>
+	<class name="javax/xml/transform/URIResolver" since="8">
+		<extends name="java/lang/Object" />
+		<method name="resolve(Ljava/lang/String;Ljava/lang/String;)Ljavax/xml/transform/Source;" />
+	</class>
+	<class name="javax/xml/transform/dom/DOMLocator" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="javax/xml/transform/SourceLocator" />
+		<method name="getOriginatingNode()Lorg/w3c/dom/Node;" />
+	</class>
+	<class name="javax/xml/transform/dom/DOMResult" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="javax/xml/transform/Result" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/w3c/dom/Node;)V" />
+		<method name="&lt;init&gt;(Lorg/w3c/dom/Node;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)V" />
+		<method name="&lt;init&gt;(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;)V" />
+		<method name="getNextSibling()Lorg/w3c/dom/Node;" />
+		<method name="getNode()Lorg/w3c/dom/Node;" />
+		<method name="setNextSibling(Lorg/w3c/dom/Node;)V" />
+		<method name="setNode(Lorg/w3c/dom/Node;)V" />
+		<field name="FEATURE" />
+	</class>
+	<class name="javax/xml/transform/dom/DOMSource" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="javax/xml/transform/Source" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/w3c/dom/Node;)V" />
+		<method name="&lt;init&gt;(Lorg/w3c/dom/Node;Ljava/lang/String;)V" />
+		<method name="getNode()Lorg/w3c/dom/Node;" />
+		<method name="setNode(Lorg/w3c/dom/Node;)V" />
+		<field name="FEATURE" />
+	</class>
+	<class name="javax/xml/transform/sax/SAXResult" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="javax/xml/transform/Result" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/ContentHandler;)V" />
+		<method name="getHandler()Lorg/xml/sax/ContentHandler;" />
+		<method name="getLexicalHandler()Lorg/xml/sax/ext/LexicalHandler;" />
+		<method name="setHandler(Lorg/xml/sax/ContentHandler;)V" />
+		<method name="setLexicalHandler(Lorg/xml/sax/ext/LexicalHandler;)V" />
+		<field name="FEATURE" />
+	</class>
+	<class name="javax/xml/transform/sax/SAXSource" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="javax/xml/transform/Source" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/InputSource;)V" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/XMLReader;Lorg/xml/sax/InputSource;)V" />
+		<method name="getInputSource()Lorg/xml/sax/InputSource;" />
+		<method name="getXMLReader()Lorg/xml/sax/XMLReader;" />
+		<method name="setInputSource(Lorg/xml/sax/InputSource;)V" />
+		<method name="setXMLReader(Lorg/xml/sax/XMLReader;)V" />
+		<method name="sourceToInputSource(Ljavax/xml/transform/Source;)Lorg/xml/sax/InputSource;" />
+		<field name="FEATURE" />
+	</class>
+	<class name="javax/xml/transform/sax/SAXTransformerFactory" since="8">
+		<extends name="javax/xml/transform/TransformerFactory" />
+		<method name="&lt;init&gt;()V" />
+		<method name="newTemplatesHandler()Ljavax/xml/transform/sax/TemplatesHandler;" />
+		<method name="newTransformerHandler()Ljavax/xml/transform/sax/TransformerHandler;" />
+		<method name="newTransformerHandler(Ljavax/xml/transform/Source;)Ljavax/xml/transform/sax/TransformerHandler;" />
+		<method name="newTransformerHandler(Ljavax/xml/transform/Templates;)Ljavax/xml/transform/sax/TransformerHandler;" />
+		<method name="newXMLFilter(Ljavax/xml/transform/Source;)Lorg/xml/sax/XMLFilter;" />
+		<method name="newXMLFilter(Ljavax/xml/transform/Templates;)Lorg/xml/sax/XMLFilter;" />
+		<field name="FEATURE" />
+		<field name="FEATURE_XMLFILTER" />
+	</class>
+	<class name="javax/xml/transform/sax/TemplatesHandler" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/ContentHandler" />
+		<method name="getSystemId()Ljava/lang/String;" />
+		<method name="getTemplates()Ljavax/xml/transform/Templates;" />
+		<method name="setSystemId(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/xml/transform/sax/TransformerHandler" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/ContentHandler" />
+		<implements name="org/xml/sax/DTDHandler" />
+		<implements name="org/xml/sax/ext/LexicalHandler" />
+		<method name="getSystemId()Ljava/lang/String;" />
+		<method name="getTransformer()Ljavax/xml/transform/Transformer;" />
+		<method name="setResult(Ljavax/xml/transform/Result;)V" />
+		<method name="setSystemId(Ljava/lang/String;)V" />
+	</class>
+	<class name="javax/xml/transform/stream/StreamResult" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="javax/xml/transform/Result" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/OutputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/Writer;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getOutputStream()Ljava/io/OutputStream;" />
+		<method name="getWriter()Ljava/io/Writer;" />
+		<method name="setOutputStream(Ljava/io/OutputStream;)V" />
+		<method name="setSystemId(Ljava/io/File;)V" />
+		<method name="setWriter(Ljava/io/Writer;)V" />
+		<field name="FEATURE" />
+	</class>
+	<class name="javax/xml/transform/stream/StreamSource" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="javax/xml/transform/Source" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/io/File;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;)V" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getInputStream()Ljava/io/InputStream;" />
+		<method name="getPublicId()Ljava/lang/String;" />
+		<method name="getReader()Ljava/io/Reader;" />
+		<method name="setInputStream(Ljava/io/InputStream;)V" />
+		<method name="setPublicId(Ljava/lang/String;)V" />
+		<method name="setReader(Ljava/io/Reader;)V" />
+		<method name="setSystemId(Ljava/io/File;)V" />
+		<field name="FEATURE" />
+	</class>
+	<class name="javax/xml/validation/Schema" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="newValidator()Ljavax/xml/validation/Validator;" />
+		<method name="newValidatorHandler()Ljavax/xml/validation/ValidatorHandler;" />
+	</class>
+	<class name="javax/xml/validation/SchemaFactory" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getErrorHandler()Lorg/xml/sax/ErrorHandler;" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getResourceResolver()Lorg/w3c/dom/ls/LSResourceResolver;" />
+		<method name="isSchemaLanguageSupported(Ljava/lang/String;)Z" />
+		<method name="newInstance(Ljava/lang/String;)Ljavax/xml/validation/SchemaFactory;" />
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/validation/SchemaFactory;" since="9" />
+		<method name="newSchema()Ljavax/xml/validation/Schema;" />
+		<method name="newSchema(Ljava/io/File;)Ljavax/xml/validation/Schema;" />
+		<method name="newSchema(Ljava/net/URL;)Ljavax/xml/validation/Schema;" />
+		<method name="newSchema(Ljavax/xml/transform/Source;)Ljavax/xml/validation/Schema;" />
+		<method name="newSchema([Ljavax/xml/transform/Source;)Ljavax/xml/validation/Schema;" />
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="setResourceResolver(Lorg/w3c/dom/ls/LSResourceResolver;)V" />
+	</class>
+	<class name="javax/xml/validation/SchemaFactoryLoader" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="newFactory(Ljava/lang/String;)Ljavax/xml/validation/SchemaFactory;" />
+	</class>
+	<class name="javax/xml/validation/TypeInfoProvider" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAttributeTypeInfo(I)Lorg/w3c/dom/TypeInfo;" />
+		<method name="getElementTypeInfo()Lorg/w3c/dom/TypeInfo;" />
+		<method name="isIdAttribute(I)Z" />
+		<method name="isSpecified(I)Z" />
+	</class>
+	<class name="javax/xml/validation/Validator" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getErrorHandler()Lorg/xml/sax/ErrorHandler;" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getResourceResolver()Lorg/w3c/dom/ls/LSResourceResolver;" />
+		<method name="reset()V" />
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="setResourceResolver(Lorg/w3c/dom/ls/LSResourceResolver;)V" />
+		<method name="validate(Ljavax/xml/transform/Source;)V" />
+		<method name="validate(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V" />
+	</class>
+	<class name="javax/xml/validation/ValidatorHandler" since="8">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/ContentHandler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getContentHandler()Lorg/xml/sax/ContentHandler;" />
+		<method name="getErrorHandler()Lorg/xml/sax/ErrorHandler;" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getResourceResolver()Lorg/w3c/dom/ls/LSResourceResolver;" />
+		<method name="getTypeInfoProvider()Ljavax/xml/validation/TypeInfoProvider;" />
+		<method name="setContentHandler(Lorg/xml/sax/ContentHandler;)V" />
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="setResourceResolver(Lorg/w3c/dom/ls/LSResourceResolver;)V" />
+	</class>
+	<class name="javax/xml/xpath/XPath" since="8">
+		<extends name="java/lang/Object" />
+		<method name="compile(Ljava/lang/String;)Ljavax/xml/xpath/XPathExpression;" />
+		<method name="evaluate(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="evaluate(Ljava/lang/String;Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object;" />
+		<method name="evaluate(Ljava/lang/String;Lorg/xml/sax/InputSource;)Ljava/lang/String;" />
+		<method name="evaluate(Ljava/lang/String;Lorg/xml/sax/InputSource;Ljavax/xml/namespace/QName;)Ljava/lang/Object;" />
+		<method name="getNamespaceContext()Ljavax/xml/namespace/NamespaceContext;" />
+		<method name="getXPathFunctionResolver()Ljavax/xml/xpath/XPathFunctionResolver;" />
+		<method name="getXPathVariableResolver()Ljavax/xml/xpath/XPathVariableResolver;" />
+		<method name="reset()V" />
+		<method name="setNamespaceContext(Ljavax/xml/namespace/NamespaceContext;)V" />
+		<method name="setXPathFunctionResolver(Ljavax/xml/xpath/XPathFunctionResolver;)V" />
+		<method name="setXPathVariableResolver(Ljavax/xml/xpath/XPathVariableResolver;)V" />
+	</class>
+	<class name="javax/xml/xpath/XPathConstants" since="8">
+		<extends name="java/lang/Object" />
+		<field name="BOOLEAN" />
+		<field name="DOM_OBJECT_MODEL" />
+		<field name="NODE" />
+		<field name="NODESET" />
+		<field name="NUMBER" />
+		<field name="STRING" />
+	</class>
+	<class name="javax/xml/xpath/XPathException" since="8">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="javax/xml/xpath/XPathExpression" since="8">
+		<extends name="java/lang/Object" />
+		<method name="evaluate(Ljava/lang/Object;)Ljava/lang/String;" />
+		<method name="evaluate(Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object;" />
+		<method name="evaluate(Lorg/xml/sax/InputSource;)Ljava/lang/String;" />
+		<method name="evaluate(Lorg/xml/sax/InputSource;Ljavax/xml/namespace/QName;)Ljava/lang/Object;" />
+	</class>
+	<class name="javax/xml/xpath/XPathExpressionException" since="8">
+		<extends name="javax/xml/xpath/XPathException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="javax/xml/xpath/XPathFactory" since="8">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="isObjectModelSupported(Ljava/lang/String;)Z" />
+		<method name="newInstance()Ljavax/xml/xpath/XPathFactory;" />
+		<method name="newInstance(Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;" />
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/xpath/XPathFactory;" />
+		<method name="newXPath()Ljavax/xml/xpath/XPath;" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setXPathFunctionResolver(Ljavax/xml/xpath/XPathFunctionResolver;)V" />
+		<method name="setXPathVariableResolver(Ljavax/xml/xpath/XPathVariableResolver;)V" />
+		<field name="DEFAULT_OBJECT_MODEL_URI" />
+		<field name="DEFAULT_PROPERTY_NAME" />
+	</class>
+	<class name="javax/xml/xpath/XPathFactoryConfigurationException" since="8">
+		<extends name="javax/xml/xpath/XPathException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="javax/xml/xpath/XPathFunction" since="8">
+		<extends name="java/lang/Object" />
+		<method name="evaluate(Ljava/util/List;)Ljava/lang/Object;" />
+	</class>
+	<class name="javax/xml/xpath/XPathFunctionException" since="8">
+		<extends name="javax/xml/xpath/XPathExpressionException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="javax/xml/xpath/XPathFunctionResolver" since="8">
+		<extends name="java/lang/Object" />
+		<method name="resolveFunction(Ljavax/xml/namespace/QName;I)Ljavax/xml/xpath/XPathFunction;" />
+	</class>
+	<class name="javax/xml/xpath/XPathVariableResolver" since="8">
+		<extends name="java/lang/Object" />
+		<method name="resolveVariable(Ljavax/xml/namespace/QName;)Ljava/lang/Object;" />
+	</class>
+	<class name="junit/framework/Assert" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="assertEquals(BB)V" />
+		<method name="assertEquals(CC)V" />
+		<method name="assertEquals(DDD)V" />
+		<method name="assertEquals(FFF)V" />
+		<method name="assertEquals(II)V" />
+		<method name="assertEquals(JJ)V" />
+		<method name="assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="assertEquals(Ljava/lang/String;BB)V" />
+		<method name="assertEquals(Ljava/lang/String;CC)V" />
+		<method name="assertEquals(Ljava/lang/String;DDD)V" />
+		<method name="assertEquals(Ljava/lang/String;FFF)V" />
+		<method name="assertEquals(Ljava/lang/String;II)V" />
+		<method name="assertEquals(Ljava/lang/String;JJ)V" />
+		<method name="assertEquals(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="assertEquals(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="assertEquals(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="assertEquals(Ljava/lang/String;SS)V" />
+		<method name="assertEquals(Ljava/lang/String;ZZ)V" />
+		<method name="assertEquals(SS)V" />
+		<method name="assertEquals(ZZ)V" />
+		<method name="assertFalse(Ljava/lang/String;Z)V" />
+		<method name="assertFalse(Z)V" />
+		<method name="assertNotNull(Ljava/lang/Object;)V" />
+		<method name="assertNotNull(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="assertNotSame(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="assertNotSame(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="assertNull(Ljava/lang/Object;)V" />
+		<method name="assertNull(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="assertSame(Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="assertSame(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" />
+		<method name="assertTrue(Ljava/lang/String;Z)V" />
+		<method name="assertTrue(Z)V" />
+		<method name="fail()V" />
+		<method name="fail(Ljava/lang/String;)V" />
+		<method name="failNotEquals(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" since="16" />
+		<method name="failNotSame(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" since="16" />
+		<method name="failSame(Ljava/lang/String;)V" since="16" />
+		<method name="format(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;" since="16" />
+	</class>
+	<class name="junit/framework/AssertionFailedError" since="1">
+		<extends name="java/lang/AssertionError" since="16" />
+		<extends name="java/lang/Error" removed="16" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="junit/framework/ComparisonFailure" since="1">
+		<extends name="junit/framework/AssertionFailedError" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getActual()Ljava/lang/String;" since="16" />
+		<method name="getExpected()Ljava/lang/String;" since="16" />
+	</class>
+	<class name="junit/framework/Protectable" since="1">
+		<extends name="java/lang/Object" />
+		<method name="protect()V" />
+	</class>
+	<class name="junit/framework/Test" since="1">
+		<extends name="java/lang/Object" />
+		<method name="countTestCases()I" />
+		<method name="run(Ljunit/framework/TestResult;)V" />
+	</class>
+	<class name="junit/framework/TestCase" since="1">
+		<extends name="junit/framework/Assert" />
+		<implements name="junit/framework/Test" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="createResult()Ljunit/framework/TestResult;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="run()Ljunit/framework/TestResult;" />
+		<method name="runBare()V" />
+		<method name="runTest()V" />
+		<method name="setName(Ljava/lang/String;)V" />
+		<method name="setUp()V" />
+		<method name="tearDown()V" />
+	</class>
+	<class name="junit/framework/TestFailure" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljunit/framework/Test;Ljava/lang/Throwable;)V" />
+		<method name="exceptionMessage()Ljava/lang/String;" />
+		<method name="failedTest()Ljunit/framework/Test;" />
+		<method name="isFailure()Z" />
+		<method name="thrownException()Ljava/lang/Throwable;" />
+		<method name="trace()Ljava/lang/String;" />
+		<field name="fFailedTest" />
+		<field name="fThrownException" />
+	</class>
+	<class name="junit/framework/TestListener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="addError(Ljunit/framework/Test;Ljava/lang/Throwable;)V" />
+		<method name="addFailure(Ljunit/framework/Test;Ljunit/framework/AssertionFailedError;)V" />
+		<method name="endTest(Ljunit/framework/Test;)V" />
+		<method name="startTest(Ljunit/framework/Test;)V" />
+	</class>
+	<class name="junit/framework/TestResult" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addError(Ljunit/framework/Test;Ljava/lang/Throwable;)V" />
+		<method name="addFailure(Ljunit/framework/Test;Ljunit/framework/AssertionFailedError;)V" />
+		<method name="addListener(Ljunit/framework/TestListener;)V" />
+		<method name="endTest(Ljunit/framework/Test;)V" />
+		<method name="errorCount()I" />
+		<method name="errors()Ljava/util/Enumeration;" />
+		<method name="failureCount()I" />
+		<method name="failures()Ljava/util/Enumeration;" />
+		<method name="removeListener(Ljunit/framework/TestListener;)V" />
+		<method name="run(Ljunit/framework/TestCase;)V" />
+		<method name="runCount()I" />
+		<method name="runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V" />
+		<method name="shouldStop()Z" />
+		<method name="startTest(Ljunit/framework/Test;)V" />
+		<method name="stop()V" />
+		<method name="wasSuccessful()Z" />
+		<field name="fErrors" />
+		<field name="fFailures" />
+		<field name="fListeners" />
+		<field name="fRunTests" />
+	</class>
+	<class name="junit/framework/TestSuite" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="junit/framework/Test" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Class;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;([Ljava/lang/Class;)V" since="16" />
+		<method name="&lt;init&gt;([Ljava/lang/Class;Ljava/lang/String;)V" since="16" />
+		<method name="addTest(Ljunit/framework/Test;)V" />
+		<method name="addTestSuite(Ljava/lang/Class;)V" />
+		<method name="createTest(Ljava/lang/Class;Ljava/lang/String;)Ljunit/framework/Test;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getTestConstructor(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;" />
+		<method name="runTest(Ljunit/framework/Test;Ljunit/framework/TestResult;)V" />
+		<method name="setName(Ljava/lang/String;)V" />
+		<method name="testAt(I)Ljunit/framework/Test;" />
+		<method name="testCount()I" />
+		<method name="tests()Ljava/util/Enumeration;" />
+		<method name="warning(Ljava/lang/String;)Ljunit/framework/Test;" since="16" />
+	</class>
+	<class name="junit/runner/BaseTestRunner" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="junit/framework/TestListener" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clearStatus()V" />
+		<method name="elapsedTimeAsString(J)Ljava/lang/String;" />
+		<method name="extractClassName(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getFilteredTrace(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getFilteredTrace(Ljava/lang/Throwable;)Ljava/lang/String;" />
+		<method name="getLoader()Ljunit/runner/TestSuiteLoader;" deprecated="16" />
+		<method name="getPreference(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getPreference(Ljava/lang/String;I)I" />
+		<method name="getPreferences()Ljava/util/Properties;" />
+		<method name="getTest(Ljava/lang/String;)Ljunit/framework/Test;" />
+		<method name="inVAJava()Z" deprecated="16" />
+		<method name="loadSuiteClass(Ljava/lang/String;)Ljava/lang/Class;" />
+		<method name="processArguments([Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="runFailed(Ljava/lang/String;)V" />
+		<method name="savePreferences()V" />
+		<method name="setLoading(Z)V" />
+		<method name="setPreference(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setPreferences(Ljava/util/Properties;)V" />
+		<method name="showStackRaw()Z" />
+		<method name="testEnded(Ljava/lang/String;)V" />
+		<method name="testFailed(ILjunit/framework/Test;Ljava/lang/Throwable;)V" />
+		<method name="testStarted(Ljava/lang/String;)V" />
+		<method name="truncate(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="useReloadingTestSuiteLoader()Z" />
+		<field name="SUITE_METHODNAME" />
+	</class>
+	<class name="junit/runner/TestSuiteLoader" since="1">
+		<extends name="java/lang/Object" />
+		<method name="load(Ljava/lang/String;)Ljava/lang/Class;" />
+		<method name="reload(Ljava/lang/Class;)Ljava/lang/Class;" />
+	</class>
+	<class name="junit/runner/Version" since="1">
+		<extends name="java/lang/Object" />
+		<method name="id()Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/commons/logging/Log" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="debug(Ljava/lang/Object;)V" />
+		<method name="debug(Ljava/lang/Object;Ljava/lang/Throwable;)V" />
+		<method name="error(Ljava/lang/Object;)V" />
+		<method name="error(Ljava/lang/Object;Ljava/lang/Throwable;)V" />
+		<method name="fatal(Ljava/lang/Object;)V" />
+		<method name="fatal(Ljava/lang/Object;Ljava/lang/Throwable;)V" />
+		<method name="info(Ljava/lang/Object;)V" />
+		<method name="info(Ljava/lang/Object;Ljava/lang/Throwable;)V" />
+		<method name="isDebugEnabled()Z" />
+		<method name="isErrorEnabled()Z" />
+		<method name="isFatalEnabled()Z" />
+		<method name="isInfoEnabled()Z" />
+		<method name="isTraceEnabled()Z" />
+		<method name="isWarnEnabled()Z" />
+		<method name="trace(Ljava/lang/Object;)V" />
+		<method name="trace(Ljava/lang/Object;Ljava/lang/Throwable;)V" />
+		<method name="warn(Ljava/lang/Object;)V" />
+		<method name="warn(Ljava/lang/Object;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/ConnectionClosedException" since="1" deprecated="22" removed="23">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/ConnectionReuseStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="keepAlive(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z" />
+	</class>
+	<class name="org/apache/http/FormattedHeader" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/Header" />
+		<method name="getBuffer()Lorg/apache/http/util/CharArrayBuffer;" />
+		<method name="getValuePos()I" />
+	</class>
+	<class name="org/apache/http/Header" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getElements()[Lorg/apache/http/HeaderElement;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getValue()Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/HeaderElement" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getParameter(I)Lorg/apache/http/NameValuePair;" />
+		<method name="getParameterByName(Ljava/lang/String;)Lorg/apache/http/NameValuePair;" />
+		<method name="getParameterCount()I" />
+		<method name="getParameters()[Lorg/apache/http/NameValuePair;" />
+		<method name="getValue()Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/HeaderElementIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Iterator" />
+		<method name="nextElement()Lorg/apache/http/HeaderElement;" />
+	</class>
+	<class name="org/apache/http/HeaderIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Iterator" />
+		<method name="nextHeader()Lorg/apache/http/Header;" />
+	</class>
+	<class name="org/apache/http/HttpClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpConnection" />
+		<method name="flush()V" />
+		<method name="isResponseAvailable(I)Z" />
+		<method name="receiveResponseEntity(Lorg/apache/http/HttpResponse;)V" />
+		<method name="receiveResponseHeader()Lorg/apache/http/HttpResponse;" />
+		<method name="sendRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V" />
+		<method name="sendRequestHeader(Lorg/apache/http/HttpRequest;)V" />
+	</class>
+	<class name="org/apache/http/HttpConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="close()V" />
+		<method name="getMetrics()Lorg/apache/http/HttpConnectionMetrics;" />
+		<method name="getSocketTimeout()I" />
+		<method name="isOpen()Z" />
+		<method name="isStale()Z" />
+		<method name="setSocketTimeout(I)V" />
+		<method name="shutdown()V" />
+	</class>
+	<class name="org/apache/http/HttpConnectionMetrics" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getMetric(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getReceivedBytesCount()J" />
+		<method name="getRequestCount()J" />
+		<method name="getResponseCount()J" />
+		<method name="getSentBytesCount()J" />
+		<method name="reset()V" />
+	</class>
+	<class name="org/apache/http/HttpEntity" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="consumeContent()V" />
+		<method name="getContent()Ljava/io/InputStream;" />
+		<method name="getContentEncoding()Lorg/apache/http/Header;" />
+		<method name="getContentLength()J" />
+		<method name="getContentType()Lorg/apache/http/Header;" />
+		<method name="isChunked()Z" />
+		<method name="isRepeatable()Z" />
+		<method name="isStreaming()Z" />
+		<method name="writeTo(Ljava/io/OutputStream;)V" />
+	</class>
+	<class name="org/apache/http/HttpEntityEnclosingRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequest" />
+		<method name="expectContinue()Z" />
+		<method name="getEntity()Lorg/apache/http/HttpEntity;" />
+		<method name="setEntity(Lorg/apache/http/HttpEntity;)V" />
+	</class>
+	<class name="org/apache/http/HttpException" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/HttpHost" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpHost;)V" />
+		<method name="getHostName()Ljava/lang/String;" />
+		<method name="getPort()I" />
+		<method name="getSchemeName()Ljava/lang/String;" />
+		<method name="toHostString()Ljava/lang/String;" />
+		<method name="toURI()Ljava/lang/String;" />
+		<field name="DEFAULT_SCHEME_NAME" />
+		<field name="hostname" />
+		<field name="lcHostname" />
+		<field name="port" />
+		<field name="schemeName" />
+	</class>
+	<class name="org/apache/http/HttpInetConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpConnection" />
+		<method name="getLocalAddress()Ljava/net/InetAddress;" />
+		<method name="getLocalPort()I" />
+		<method name="getRemoteAddress()Ljava/net/InetAddress;" />
+		<method name="getRemotePort()I" />
+	</class>
+	<class name="org/apache/http/HttpMessage" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="addHeader(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="addHeader(Lorg/apache/http/Header;)V" />
+		<method name="containsHeader(Ljava/lang/String;)Z" />
+		<method name="getAllHeaders()[Lorg/apache/http/Header;" />
+		<method name="getFirstHeader(Ljava/lang/String;)Lorg/apache/http/Header;" />
+		<method name="getHeaders(Ljava/lang/String;)[Lorg/apache/http/Header;" />
+		<method name="getLastHeader(Ljava/lang/String;)Lorg/apache/http/Header;" />
+		<method name="getParams()Lorg/apache/http/params/HttpParams;" />
+		<method name="getProtocolVersion()Lorg/apache/http/ProtocolVersion;" />
+		<method name="headerIterator()Lorg/apache/http/HeaderIterator;" />
+		<method name="headerIterator(Ljava/lang/String;)Lorg/apache/http/HeaderIterator;" />
+		<method name="removeHeader(Lorg/apache/http/Header;)V" />
+		<method name="removeHeaders(Ljava/lang/String;)V" />
+		<method name="setHeader(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setHeader(Lorg/apache/http/Header;)V" />
+		<method name="setHeaders([Lorg/apache/http/Header;)V" />
+		<method name="setParams(Lorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/HttpRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpMessage" />
+		<method name="getRequestLine()Lorg/apache/http/RequestLine;" />
+	</class>
+	<class name="org/apache/http/HttpRequestFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="newHttpRequest(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/http/HttpRequest;" />
+		<method name="newHttpRequest(Lorg/apache/http/RequestLine;)Lorg/apache/http/HttpRequest;" />
+	</class>
+	<class name="org/apache/http/HttpRequestInterceptor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="process(Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)V" />
+	</class>
+	<class name="org/apache/http/HttpResponse" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpMessage" />
+		<method name="getEntity()Lorg/apache/http/HttpEntity;" />
+		<method name="getLocale()Ljava/util/Locale;" />
+		<method name="getStatusLine()Lorg/apache/http/StatusLine;" />
+		<method name="setEntity(Lorg/apache/http/HttpEntity;)V" />
+		<method name="setLocale(Ljava/util/Locale;)V" />
+		<method name="setReasonPhrase(Ljava/lang/String;)V" />
+		<method name="setStatusCode(I)V" />
+		<method name="setStatusLine(Lorg/apache/http/ProtocolVersion;I)V" />
+		<method name="setStatusLine(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)V" />
+		<method name="setStatusLine(Lorg/apache/http/StatusLine;)V" />
+	</class>
+	<class name="org/apache/http/HttpResponseFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="newHttpResponse(Lorg/apache/http/ProtocolVersion;ILorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;" />
+		<method name="newHttpResponse(Lorg/apache/http/StatusLine;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;" />
+	</class>
+	<class name="org/apache/http/HttpResponseInterceptor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="process(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)V" />
+	</class>
+	<class name="org/apache/http/HttpServerConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpConnection" />
+		<method name="flush()V" />
+		<method name="receiveRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V" />
+		<method name="receiveRequestHeader()Lorg/apache/http/HttpRequest;" />
+		<method name="sendResponseEntity(Lorg/apache/http/HttpResponse;)V" />
+		<method name="sendResponseHeader(Lorg/apache/http/HttpResponse;)V" />
+	</class>
+	<class name="org/apache/http/HttpStatus" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="SC_ACCEPTED" />
+		<field name="SC_BAD_GATEWAY" />
+		<field name="SC_BAD_REQUEST" />
+		<field name="SC_CONFLICT" />
+		<field name="SC_CONTINUE" />
+		<field name="SC_CREATED" />
+		<field name="SC_EXPECTATION_FAILED" />
+		<field name="SC_FAILED_DEPENDENCY" />
+		<field name="SC_FORBIDDEN" />
+		<field name="SC_GATEWAY_TIMEOUT" />
+		<field name="SC_GONE" />
+		<field name="SC_HTTP_VERSION_NOT_SUPPORTED" />
+		<field name="SC_INSUFFICIENT_SPACE_ON_RESOURCE" />
+		<field name="SC_INSUFFICIENT_STORAGE" />
+		<field name="SC_INTERNAL_SERVER_ERROR" />
+		<field name="SC_LENGTH_REQUIRED" />
+		<field name="SC_LOCKED" />
+		<field name="SC_METHOD_FAILURE" />
+		<field name="SC_METHOD_NOT_ALLOWED" />
+		<field name="SC_MOVED_PERMANENTLY" />
+		<field name="SC_MOVED_TEMPORARILY" />
+		<field name="SC_MULTIPLE_CHOICES" />
+		<field name="SC_MULTI_STATUS" />
+		<field name="SC_NON_AUTHORITATIVE_INFORMATION" />
+		<field name="SC_NOT_ACCEPTABLE" />
+		<field name="SC_NOT_FOUND" />
+		<field name="SC_NOT_IMPLEMENTED" />
+		<field name="SC_NOT_MODIFIED" />
+		<field name="SC_NO_CONTENT" />
+		<field name="SC_OK" />
+		<field name="SC_PARTIAL_CONTENT" />
+		<field name="SC_PAYMENT_REQUIRED" />
+		<field name="SC_PRECONDITION_FAILED" />
+		<field name="SC_PROCESSING" />
+		<field name="SC_PROXY_AUTHENTICATION_REQUIRED" />
+		<field name="SC_REQUESTED_RANGE_NOT_SATISFIABLE" />
+		<field name="SC_REQUEST_TIMEOUT" />
+		<field name="SC_REQUEST_TOO_LONG" />
+		<field name="SC_REQUEST_URI_TOO_LONG" />
+		<field name="SC_RESET_CONTENT" />
+		<field name="SC_SEE_OTHER" />
+		<field name="SC_SERVICE_UNAVAILABLE" />
+		<field name="SC_SWITCHING_PROTOCOLS" />
+		<field name="SC_TEMPORARY_REDIRECT" />
+		<field name="SC_UNAUTHORIZED" />
+		<field name="SC_UNPROCESSABLE_ENTITY" />
+		<field name="SC_UNSUPPORTED_MEDIA_TYPE" />
+		<field name="SC_USE_PROXY" />
+	</class>
+	<class name="org/apache/http/HttpVersion" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolVersion" />
+		<method name="&lt;init&gt;(II)V" />
+		<field name="HTTP" />
+		<field name="HTTP_0_9" />
+		<field name="HTTP_1_0" />
+		<field name="HTTP_1_1" />
+	</class>
+	<class name="org/apache/http/MalformedChunkCodingException" since="1" deprecated="22" removed="23">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/MethodNotSupportedException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/HttpException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/NameValuePair" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getValue()Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/NoHttpResponseException" since="1" deprecated="22" removed="23">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/ParseException" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/ProtocolException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/HttpException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/ProtocolVersion" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;II)V" />
+		<method name="compareToVersion(Lorg/apache/http/ProtocolVersion;)I" />
+		<method name="forVersion(II)Lorg/apache/http/ProtocolVersion;" />
+		<method name="getMajor()I" />
+		<method name="getMinor()I" />
+		<method name="getProtocol()Ljava/lang/String;" />
+		<method name="greaterEquals(Lorg/apache/http/ProtocolVersion;)Z" />
+		<method name="isComparable(Lorg/apache/http/ProtocolVersion;)Z" />
+		<method name="lessEquals(Lorg/apache/http/ProtocolVersion;)Z" />
+		<field name="major" />
+		<field name="minor" />
+		<field name="protocol" />
+	</class>
+	<class name="org/apache/http/ReasonPhraseCatalog" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getReason(ILjava/util/Locale;)Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/RequestLine" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getMethod()Ljava/lang/String;" />
+		<method name="getProtocolVersion()Lorg/apache/http/ProtocolVersion;" />
+		<method name="getUri()Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/StatusLine" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getProtocolVersion()Lorg/apache/http/ProtocolVersion;" />
+		<method name="getReasonPhrase()Ljava/lang/String;" />
+		<method name="getStatusCode()I" />
+	</class>
+	<class name="org/apache/http/TokenIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/util/Iterator" />
+		<method name="nextToken()Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/UnsupportedHttpVersionException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/auth/AUTH" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="PROXY_AUTH" />
+		<field name="PROXY_AUTH_RESP" />
+		<field name="WWW_AUTH" />
+		<field name="WWW_AUTH_RESP" />
+	</class>
+	<class name="org/apache/http/auth/AuthScheme" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="authenticate(Lorg/apache/http/auth/Credentials;Lorg/apache/http/HttpRequest;)Lorg/apache/http/Header;" />
+		<method name="getParameter(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getRealm()Ljava/lang/String;" />
+		<method name="getSchemeName()Ljava/lang/String;" />
+		<method name="isComplete()Z" />
+		<method name="isConnectionBased()Z" />
+		<method name="processChallenge(Lorg/apache/http/Header;)V" />
+	</class>
+	<class name="org/apache/http/auth/AuthSchemeFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="newInstance(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/auth/AuthScheme;" />
+	</class>
+	<class name="org/apache/http/auth/AuthSchemeRegistry" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAuthScheme(Ljava/lang/String;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/auth/AuthScheme;" />
+		<method name="getSchemeNames()Ljava/util/List;" />
+		<method name="register(Ljava/lang/String;Lorg/apache/http/auth/AuthSchemeFactory;)V" />
+		<method name="setItems(Ljava/util/Map;)V" />
+		<method name="unregister(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/auth/AuthScope" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;I)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/auth/AuthScope;)V" />
+		<method name="getHost()Ljava/lang/String;" />
+		<method name="getPort()I" />
+		<method name="getRealm()Ljava/lang/String;" />
+		<method name="getScheme()Ljava/lang/String;" />
+		<method name="match(Lorg/apache/http/auth/AuthScope;)I" />
+		<field name="ANY" />
+		<field name="ANY_HOST" />
+		<field name="ANY_PORT" />
+		<field name="ANY_REALM" />
+		<field name="ANY_SCHEME" />
+	</class>
+	<class name="org/apache/http/auth/AuthState" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAuthScheme()Lorg/apache/http/auth/AuthScheme;" />
+		<method name="getAuthScope()Lorg/apache/http/auth/AuthScope;" />
+		<method name="getCredentials()Lorg/apache/http/auth/Credentials;" />
+		<method name="invalidate()V" />
+		<method name="isValid()Z" />
+		<method name="setAuthScheme(Lorg/apache/http/auth/AuthScheme;)V" />
+		<method name="setAuthScope(Lorg/apache/http/auth/AuthScope;)V" />
+		<method name="setCredentials(Lorg/apache/http/auth/Credentials;)V" />
+	</class>
+	<class name="org/apache/http/auth/AuthenticationException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/auth/BasicUserPrincipal" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/Principal" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/auth/Credentials" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getPassword()Ljava/lang/String;" />
+		<method name="getUserPrincipal()Ljava/security/Principal;" />
+	</class>
+	<class name="org/apache/http/auth/InvalidCredentialsException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/auth/AuthenticationException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/auth/MalformedChallengeException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/auth/NTCredentials" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/auth/Credentials" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getDomain()Ljava/lang/String;" />
+		<method name="getUserName()Ljava/lang/String;" />
+		<method name="getWorkstation()Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/auth/NTUserPrincipal" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/security/Principal" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getDomain()Ljava/lang/String;" />
+		<method name="getUsername()Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/auth/UsernamePasswordCredentials" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/auth/Credentials" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getUserName()Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/auth/params/AuthPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="CREDENTIAL_CHARSET" />
+	</class>
+	<class name="org/apache/http/auth/params/AuthParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setCredentialCharset(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/auth/params/AuthParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getCredentialCharset(Lorg/apache/http/params/HttpParams;)Ljava/lang/String;" />
+		<method name="setCredentialCharset(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/client/AuthenticationHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getChallenges(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Ljava/util/Map;" />
+		<method name="isAuthenticationRequested(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z" />
+		<method name="selectScheme(Ljava/util/Map;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/auth/AuthScheme;" />
+	</class>
+	<class name="org/apache/http/client/CircularRedirectException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/RedirectException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/client/ClientProtocolException" since="1" deprecated="22" removed="23">
+		<extends name="java/io/IOException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/client/CookieStore" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="addCookie(Lorg/apache/http/cookie/Cookie;)V" />
+		<method name="clear()V" />
+		<method name="clearExpired(Ljava/util/Date;)Z" />
+		<method name="getCookies()Ljava/util/List;" />
+	</class>
+	<class name="org/apache/http/client/CredentialsProvider" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="clear()V" />
+		<method name="getCredentials(Lorg/apache/http/auth/AuthScope;)Lorg/apache/http/auth/Credentials;" />
+		<method name="setCredentials(Lorg/apache/http/auth/AuthScope;Lorg/apache/http/auth/Credentials;)V" />
+	</class>
+	<class name="org/apache/http/client/HttpClient" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;)Lorg/apache/http/HttpResponse;" />
+		<method name="execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/client/ResponseHandler;)Ljava/lang/Object;" />
+		<method name="execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/client/ResponseHandler;Lorg/apache/http/protocol/HttpContext;)Ljava/lang/Object;" />
+		<method name="execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;" />
+		<method name="execute(Lorg/apache/http/client/methods/HttpUriRequest;)Lorg/apache/http/HttpResponse;" />
+		<method name="execute(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/client/ResponseHandler;)Ljava/lang/Object;" />
+		<method name="execute(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/client/ResponseHandler;Lorg/apache/http/protocol/HttpContext;)Ljava/lang/Object;" />
+		<method name="execute(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;" />
+		<method name="getConnectionManager()Lorg/apache/http/conn/ClientConnectionManager;" />
+		<method name="getParams()Lorg/apache/http/params/HttpParams;" />
+	</class>
+	<class name="org/apache/http/client/HttpRequestRetryHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="retryRequest(Ljava/io/IOException;ILorg/apache/http/protocol/HttpContext;)Z" />
+	</class>
+	<class name="org/apache/http/client/HttpResponseException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/ClientProtocolException" />
+		<method name="&lt;init&gt;(ILjava/lang/String;)V" />
+		<method name="getStatusCode()I" />
+	</class>
+	<class name="org/apache/http/client/NonRepeatableRequestException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/client/RedirectException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/client/RedirectHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getLocationURI(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Ljava/net/URI;" />
+		<method name="isRedirectRequested(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z" />
+	</class>
+	<class name="org/apache/http/client/RequestDirector" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;" />
+	</class>
+	<class name="org/apache/http/client/ResponseHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="handleResponse(Lorg/apache/http/HttpResponse;)Ljava/lang/Object;" />
+	</class>
+	<class name="org/apache/http/client/UserTokenHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getUserToken(Lorg/apache/http/protocol/HttpContext;)Ljava/lang/Object;" />
+	</class>
+	<class name="org/apache/http/client/entity/UrlEncodedFormEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/StringEntity" />
+		<method name="&lt;init&gt;(Ljava/util/List;)V" />
+		<method name="&lt;init&gt;(Ljava/util/List;Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/client/methods/AbortableHttpRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="abort()V" />
+		<method name="setConnectionRequest(Lorg/apache/http/conn/ClientConnectionRequest;)V" />
+		<method name="setReleaseTrigger(Lorg/apache/http/conn/ConnectionReleaseTrigger;)V" />
+	</class>
+	<class name="org/apache/http/client/methods/HttpDelete" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URI;)V" />
+		<field name="METHOD_NAME" />
+	</class>
+	<class name="org/apache/http/client/methods/HttpEntityEnclosingRequestBase" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase" />
+		<implements name="org/apache/http/HttpEntityEnclosingRequest" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/client/methods/HttpGet" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URI;)V" />
+		<field name="METHOD_NAME" />
+	</class>
+	<class name="org/apache/http/client/methods/HttpHead" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URI;)V" />
+		<field name="METHOD_NAME" />
+	</class>
+	<class name="org/apache/http/client/methods/HttpOptions" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URI;)V" />
+		<method name="getAllowedMethods(Lorg/apache/http/HttpResponse;)Ljava/util/Set;" />
+		<field name="METHOD_NAME" />
+	</class>
+	<class name="org/apache/http/client/methods/HttpPost" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpEntityEnclosingRequestBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URI;)V" />
+		<field name="METHOD_NAME" />
+	</class>
+	<class name="org/apache/http/client/methods/HttpPut" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpEntityEnclosingRequestBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URI;)V" />
+		<field name="METHOD_NAME" />
+	</class>
+	<class name="org/apache/http/client/methods/HttpRequestBase" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/message/AbstractHttpMessage" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/client/methods/AbortableHttpRequest" />
+		<implements name="org/apache/http/client/methods/HttpUriRequest" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setURI(Ljava/net/URI;)V" />
+	</class>
+	<class name="org/apache/http/client/methods/HttpTrace" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/net/URI;)V" />
+		<field name="METHOD_NAME" />
+	</class>
+	<class name="org/apache/http/client/methods/HttpUriRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequest" />
+		<method name="abort()V" />
+		<method name="getMethod()Ljava/lang/String;" />
+		<method name="getURI()Ljava/net/URI;" />
+		<method name="isAborted()Z" />
+	</class>
+	<class name="org/apache/http/client/params/AllClientPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/auth/params/AuthPNames" />
+		<implements name="org/apache/http/client/params/ClientPNames" />
+		<implements name="org/apache/http/conn/params/ConnConnectionPNames" />
+		<implements name="org/apache/http/conn/params/ConnManagerPNames" />
+		<implements name="org/apache/http/conn/params/ConnRoutePNames" />
+		<implements name="org/apache/http/cookie/params/CookieSpecPNames" />
+		<implements name="org/apache/http/params/CoreConnectionPNames" />
+		<implements name="org/apache/http/params/CoreProtocolPNames" />
+	</class>
+	<class name="org/apache/http/client/params/AuthPolicy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="BASIC" />
+		<field name="DIGEST" />
+		<field name="NTLM" />
+	</class>
+	<class name="org/apache/http/client/params/ClientPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="ALLOW_CIRCULAR_REDIRECTS" />
+		<field name="CONNECTION_MANAGER_FACTORY" />
+		<field name="CONNECTION_MANAGER_FACTORY_CLASS_NAME" />
+		<field name="COOKIE_POLICY" />
+		<field name="DEFAULT_HEADERS" />
+		<field name="DEFAULT_HOST" />
+		<field name="HANDLE_AUTHENTICATION" />
+		<field name="HANDLE_REDIRECTS" />
+		<field name="MAX_REDIRECTS" />
+		<field name="REJECT_RELATIVE_REDIRECT" />
+		<field name="VIRTUAL_HOST" />
+	</class>
+	<class name="org/apache/http/client/params/ClientParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setAllowCircularRedirects(Z)V" />
+		<method name="setConnectionManagerFactory(Lorg/apache/http/conn/ClientConnectionManagerFactory;)V" />
+		<method name="setConnectionManagerFactoryClassName(Ljava/lang/String;)V" />
+		<method name="setCookiePolicy(Ljava/lang/String;)V" />
+		<method name="setDefaultHeaders(Ljava/util/Collection;)V" />
+		<method name="setDefaultHost(Lorg/apache/http/HttpHost;)V" />
+		<method name="setHandleAuthentication(Z)V" />
+		<method name="setHandleRedirects(Z)V" />
+		<method name="setMaxRedirects(I)V" />
+		<method name="setRejectRelativeRedirect(Z)V" />
+		<method name="setVirtualHost(Lorg/apache/http/HttpHost;)V" />
+	</class>
+	<class name="org/apache/http/client/params/CookiePolicy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="BEST_MATCH" />
+		<field name="BROWSER_COMPATIBILITY" />
+		<field name="NETSCAPE" />
+		<field name="RFC_2109" />
+		<field name="RFC_2965" />
+	</class>
+	<class name="org/apache/http/client/params/HttpClientParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getCookiePolicy(Lorg/apache/http/params/HttpParams;)Ljava/lang/String;" />
+		<method name="isAuthenticating(Lorg/apache/http/params/HttpParams;)Z" />
+		<method name="isRedirecting(Lorg/apache/http/params/HttpParams;)Z" />
+		<method name="setAuthenticating(Lorg/apache/http/params/HttpParams;Z)V" />
+		<method name="setCookiePolicy(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V" />
+		<method name="setRedirecting(Lorg/apache/http/params/HttpParams;Z)V" />
+	</class>
+	<class name="org/apache/http/client/protocol/ClientContext" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="AUTHSCHEME_REGISTRY" />
+		<field name="AUTH_SCHEME_PREF" />
+		<field name="COOKIESPEC_REGISTRY" />
+		<field name="COOKIE_ORIGIN" />
+		<field name="COOKIE_SPEC" />
+		<field name="COOKIE_STORE" />
+		<field name="CREDS_PROVIDER" />
+		<field name="PROXY_AUTH_STATE" />
+		<field name="TARGET_AUTH_STATE" />
+		<field name="USER_TOKEN" />
+	</class>
+	<class name="org/apache/http/client/protocol/ClientContextConfigurer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/protocol/ClientContext" />
+		<method name="&lt;init&gt;(Lorg/apache/http/protocol/HttpContext;)V" />
+		<method name="setAuthSchemePref(Ljava/util/List;)V" />
+		<method name="setAuthSchemeRegistry(Lorg/apache/http/auth/AuthSchemeRegistry;)V" />
+		<method name="setCookieSpecRegistry(Lorg/apache/http/cookie/CookieSpecRegistry;)V" />
+		<method name="setCookieStore(Lorg/apache/http/client/CookieStore;)V" />
+		<method name="setCredentialsProvider(Lorg/apache/http/client/CredentialsProvider;)V" />
+	</class>
+	<class name="org/apache/http/client/protocol/RequestAddCookies" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/client/protocol/RequestDefaultHeaders" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/client/protocol/RequestProxyAuthentication" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/client/protocol/RequestTargetAuthentication" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/client/protocol/ResponseProcessCookies" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpResponseInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/client/utils/CloneUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="clone(Ljava/lang/Object;)Ljava/lang/Object;" />
+	</class>
+	<class name="org/apache/http/client/utils/URIUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="createURI(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/net/URI;" />
+		<method name="resolve(Ljava/net/URI;Ljava/lang/String;)Ljava/net/URI;" />
+		<method name="resolve(Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;" />
+		<method name="rewriteURI(Ljava/net/URI;Lorg/apache/http/HttpHost;)Ljava/net/URI;" />
+		<method name="rewriteURI(Ljava/net/URI;Lorg/apache/http/HttpHost;Z)Ljava/net/URI;" />
+	</class>
+	<class name="org/apache/http/client/utils/URLEncodedUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="format(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="isEncoded(Lorg/apache/http/HttpEntity;)Z" />
+		<method name="parse(Ljava/net/URI;Ljava/lang/String;)Ljava/util/List;" />
+		<method name="parse(Ljava/util/List;Ljava/util/Scanner;Ljava/lang/String;)V" />
+		<method name="parse(Lorg/apache/http/HttpEntity;)Ljava/util/List;" />
+		<field name="CONTENT_TYPE" />
+	</class>
+	<class name="org/apache/http/conn/BasicEofSensorWatcher" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/EofSensorWatcher" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/ManagedClientConnection;Z)V" />
+		<field name="attemptReuse" />
+		<field name="managedConn" />
+	</class>
+	<class name="org/apache/http/conn/BasicManagedEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/HttpEntityWrapper" />
+		<implements name="org/apache/http/conn/ConnectionReleaseTrigger" />
+		<implements name="org/apache/http/conn/EofSensorWatcher" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpEntity;Lorg/apache/http/conn/ManagedClientConnection;Z)V" />
+		<method name="releaseManagedConnection()V" />
+		<field name="attemptReuse" />
+		<field name="managedConn" />
+	</class>
+	<class name="org/apache/http/conn/ClientConnectionManager" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="closeExpiredConnections()V" />
+		<method name="closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V" />
+		<method name="getSchemeRegistry()Lorg/apache/http/conn/scheme/SchemeRegistry;" />
+		<method name="releaseConnection(Lorg/apache/http/conn/ManagedClientConnection;JLjava/util/concurrent/TimeUnit;)V" />
+		<method name="requestConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ClientConnectionRequest;" />
+		<method name="shutdown()V" />
+	</class>
+	<class name="org/apache/http/conn/ClientConnectionManagerFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="newInstance(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionManager;" />
+	</class>
+	<class name="org/apache/http/conn/ClientConnectionOperator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="createConnection()Lorg/apache/http/conn/OperatedClientConnection;" />
+		<method name="openConnection(Lorg/apache/http/conn/OperatedClientConnection;Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="updateSecureConnection(Lorg/apache/http/conn/OperatedClientConnection;Lorg/apache/http/HttpHost;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/conn/ClientConnectionRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="abortRequest()V" />
+		<method name="getConnection(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/conn/ManagedClientConnection;" />
+	</class>
+	<class name="org/apache/http/conn/ConnectTimeoutException" since="1" deprecated="22">
+		<extends name="java/io/InterruptedIOException" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" deprecated="29" />
+	</class>
+	<class name="org/apache/http/conn/ConnectionKeepAliveStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getKeepAliveDuration(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)J" />
+	</class>
+	<class name="org/apache/http/conn/ConnectionPoolTimeoutException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/conn/ConnectTimeoutException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/conn/ConnectionReleaseTrigger" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="abortConnection()V" />
+		<method name="releaseConnection()V" />
+	</class>
+	<class name="org/apache/http/conn/EofSensorInputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/InputStream" />
+		<implements name="org/apache/http/conn/ConnectionReleaseTrigger" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;Lorg/apache/http/conn/EofSensorWatcher;)V" />
+		<method name="checkAbort()V" />
+		<method name="checkClose()V" />
+		<method name="checkEOF(I)V" />
+		<method name="isReadAllowed()Z" />
+		<field name="wrappedStream" />
+	</class>
+	<class name="org/apache/http/conn/EofSensorWatcher" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="eofDetected(Ljava/io/InputStream;)Z" />
+		<method name="streamAbort(Ljava/io/InputStream;)Z" />
+		<method name="streamClosed(Ljava/io/InputStream;)Z" />
+	</class>
+	<class name="org/apache/http/conn/HttpHostConnectException" since="1" deprecated="22" removed="23">
+		<extends name="java/net/ConnectException" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpHost;Ljava/net/ConnectException;)V" />
+		<method name="getHost()Lorg/apache/http/HttpHost;" />
+	</class>
+	<class name="org/apache/http/conn/ManagedClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpClientConnection" />
+		<implements name="org/apache/http/HttpInetConnection" />
+		<implements name="org/apache/http/conn/ConnectionReleaseTrigger" />
+		<method name="getRoute()Lorg/apache/http/conn/routing/HttpRoute;" />
+		<method name="getSSLSession()Ljavax/net/ssl/SSLSession;" />
+		<method name="getState()Ljava/lang/Object;" />
+		<method name="isMarkedReusable()Z" />
+		<method name="isSecure()Z" />
+		<method name="layerProtocol(Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="markReusable()V" />
+		<method name="open(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setIdleDuration(JLjava/util/concurrent/TimeUnit;)V" />
+		<method name="setState(Ljava/lang/Object;)V" />
+		<method name="tunnelProxy(Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V" />
+		<method name="tunnelTarget(ZLorg/apache/http/params/HttpParams;)V" />
+		<method name="unmarkReusable()V" />
+	</class>
+	<class name="org/apache/http/conn/MultihomePlainSocketFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/scheme/SocketFactory" />
+		<method name="getSocketFactory()Lorg/apache/http/conn/MultihomePlainSocketFactory;" />
+	</class>
+	<class name="org/apache/http/conn/OperatedClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpClientConnection" />
+		<implements name="org/apache/http/HttpInetConnection" />
+		<method name="getSocket()Ljava/net/Socket;" />
+		<method name="getTargetHost()Lorg/apache/http/HttpHost;" />
+		<method name="isSecure()Z" />
+		<method name="openCompleted(ZLorg/apache/http/params/HttpParams;)V" />
+		<method name="opening(Ljava/net/Socket;Lorg/apache/http/HttpHost;)V" />
+		<method name="update(Ljava/net/Socket;Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/conn/params/ConnConnectionPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="MAX_STATUS_LINE_GARBAGE" />
+	</class>
+	<class name="org/apache/http/conn/params/ConnConnectionParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setMaxStatusLineGarbage(I)V" />
+	</class>
+	<class name="org/apache/http/conn/params/ConnManagerPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="MAX_CONNECTIONS_PER_ROUTE" />
+		<field name="MAX_TOTAL_CONNECTIONS" />
+		<field name="TIMEOUT" />
+	</class>
+	<class name="org/apache/http/conn/params/ConnManagerParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setConnectionsPerRoute(Lorg/apache/http/conn/params/ConnPerRouteBean;)V" />
+		<method name="setMaxTotalConnections(I)V" />
+		<method name="setTimeout(J)V" />
+	</class>
+	<class name="org/apache/http/conn/params/ConnManagerParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/params/ConnManagerPNames" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getMaxConnectionsPerRoute(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/conn/params/ConnPerRoute;" />
+		<method name="getMaxTotalConnections(Lorg/apache/http/params/HttpParams;)I" />
+		<method name="getTimeout(Lorg/apache/http/params/HttpParams;)J" />
+		<method name="setMaxConnectionsPerRoute(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/params/ConnPerRoute;)V" />
+		<method name="setMaxTotalConnections(Lorg/apache/http/params/HttpParams;I)V" />
+		<method name="setTimeout(Lorg/apache/http/params/HttpParams;J)V" />
+		<field name="DEFAULT_MAX_TOTAL_CONNECTIONS" />
+	</class>
+	<class name="org/apache/http/conn/params/ConnPerRoute" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getMaxForRoute(Lorg/apache/http/conn/routing/HttpRoute;)I" />
+	</class>
+	<class name="org/apache/http/conn/params/ConnPerRouteBean" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/params/ConnPerRoute" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="getDefaultMax()I" />
+		<method name="setDefaultMaxPerRoute(I)V" />
+		<method name="setMaxForRoute(Lorg/apache/http/conn/routing/HttpRoute;I)V" />
+		<method name="setMaxForRoutes(Ljava/util/Map;)V" />
+		<field name="DEFAULT_MAX_CONNECTIONS_PER_ROUTE" />
+	</class>
+	<class name="org/apache/http/conn/params/ConnRoutePNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="DEFAULT_PROXY" />
+		<field name="FORCED_ROUTE" />
+		<field name="LOCAL_ADDRESS" />
+	</class>
+	<class name="org/apache/http/conn/params/ConnRouteParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setDefaultProxy(Lorg/apache/http/HttpHost;)V" />
+		<method name="setForcedRoute(Lorg/apache/http/conn/routing/HttpRoute;)V" />
+		<method name="setLocalAddress(Ljava/net/InetAddress;)V" />
+	</class>
+	<class name="org/apache/http/conn/params/ConnRouteParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/params/ConnRoutePNames" />
+		<method name="getDefaultProxy(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/HttpHost;" />
+		<method name="getForcedRoute(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/conn/routing/HttpRoute;" />
+		<method name="getLocalAddress(Lorg/apache/http/params/HttpParams;)Ljava/net/InetAddress;" />
+		<method name="setDefaultProxy(Lorg/apache/http/params/HttpParams;Lorg/apache/http/HttpHost;)V" />
+		<method name="setForcedRoute(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/routing/HttpRoute;)V" />
+		<method name="setLocalAddress(Lorg/apache/http/params/HttpParams;Ljava/net/InetAddress;)V" />
+		<field name="NO_HOST" />
+		<field name="NO_ROUTE" />
+	</class>
+	<class name="org/apache/http/conn/routing/BasicRouteDirector" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/routing/HttpRouteDirector" />
+		<method name="&lt;init&gt;()V" />
+		<method name="directStep(Lorg/apache/http/conn/routing/RouteInfo;Lorg/apache/http/conn/routing/RouteInfo;)I" />
+		<method name="firstStep(Lorg/apache/http/conn/routing/RouteInfo;)I" />
+		<method name="proxiedStep(Lorg/apache/http/conn/routing/RouteInfo;Lorg/apache/http/conn/routing/RouteInfo;)I" />
+	</class>
+	<class name="org/apache/http/conn/routing/HttpRoute" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/conn/routing/RouteInfo" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpHost;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/HttpHost;Z)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/HttpHost;ZLorg/apache/http/conn/routing/RouteInfo$TunnelType;Lorg/apache/http/conn/routing/RouteInfo$LayerType;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Z)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;[Lorg/apache/http/HttpHost;ZLorg/apache/http/conn/routing/RouteInfo$TunnelType;Lorg/apache/http/conn/routing/RouteInfo$LayerType;)V" />
+	</class>
+	<class name="org/apache/http/conn/routing/HttpRouteDirector" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="nextStep(Lorg/apache/http/conn/routing/RouteInfo;Lorg/apache/http/conn/routing/RouteInfo;)I" />
+		<field name="COMPLETE" />
+		<field name="CONNECT_PROXY" />
+		<field name="CONNECT_TARGET" />
+		<field name="LAYER_PROTOCOL" />
+		<field name="TUNNEL_PROXY" />
+		<field name="TUNNEL_TARGET" />
+		<field name="UNREACHABLE" />
+	</class>
+	<class name="org/apache/http/conn/routing/HttpRoutePlanner" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="determineRoute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/conn/routing/HttpRoute;" />
+	</class>
+	<class name="org/apache/http/conn/routing/RouteInfo" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getHopCount()I" />
+		<method name="getHopTarget(I)Lorg/apache/http/HttpHost;" />
+		<method name="getLayerType()Lorg/apache/http/conn/routing/RouteInfo$LayerType;" />
+		<method name="getLocalAddress()Ljava/net/InetAddress;" />
+		<method name="getProxyHost()Lorg/apache/http/HttpHost;" />
+		<method name="getTargetHost()Lorg/apache/http/HttpHost;" />
+		<method name="getTunnelType()Lorg/apache/http/conn/routing/RouteInfo$TunnelType;" />
+		<method name="isLayered()Z" />
+		<method name="isSecure()Z" />
+		<method name="isTunnelled()Z" />
+	</class>
+	<class name="org/apache/http/conn/routing/RouteInfo$LayerType" since="1" removed="23">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Lorg/apache/http/conn/routing/RouteInfo$LayerType;" />
+		<method name="values()[Lorg/apache/http/conn/routing/RouteInfo$LayerType;" />
+		<field name="LAYERED" />
+		<field name="PLAIN" />
+	</class>
+	<class name="org/apache/http/conn/routing/RouteInfo$TunnelType" since="1" removed="23">
+		<extends name="java/lang/Enum" />
+		<method name="valueOf(Ljava/lang/String;)Lorg/apache/http/conn/routing/RouteInfo$TunnelType;" />
+		<method name="values()[Lorg/apache/http/conn/routing/RouteInfo$TunnelType;" />
+		<field name="PLAIN" />
+		<field name="TUNNELLED" />
+	</class>
+	<class name="org/apache/http/conn/routing/RouteTracker" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/conn/routing/RouteInfo" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/routing/HttpRoute;)V" />
+		<method name="connectProxy(Lorg/apache/http/HttpHost;Z)V" />
+		<method name="connectTarget(Z)V" />
+		<method name="isConnected()Z" />
+		<method name="layerProtocol(Z)V" />
+		<method name="toRoute()Lorg/apache/http/conn/routing/HttpRoute;" />
+		<method name="tunnelProxy(Lorg/apache/http/HttpHost;Z)V" />
+		<method name="tunnelTarget(Z)V" />
+	</class>
+	<class name="org/apache/http/conn/scheme/HostNameResolver" since="1" deprecated="22">
+		<extends name="java/lang/Object" />
+		<method name="resolve(Ljava/lang/String;)Ljava/net/InetAddress;" deprecated="29" />
+	</class>
+	<class name="org/apache/http/conn/scheme/LayeredSocketFactory" since="1" deprecated="22">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/scheme/SocketFactory" />
+		<method name="createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;" deprecated="29" />
+	</class>
+	<class name="org/apache/http/conn/scheme/PlainSocketFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/scheme/SocketFactory" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/scheme/HostNameResolver;)V" />
+		<method name="getSocketFactory()Lorg/apache/http/conn/scheme/PlainSocketFactory;" />
+	</class>
+	<class name="org/apache/http/conn/scheme/Scheme" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Lorg/apache/http/conn/scheme/SocketFactory;I)V" />
+		<method name="getDefaultPort()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getSocketFactory()Lorg/apache/http/conn/scheme/SocketFactory;" />
+		<method name="isLayered()Z" />
+		<method name="resolvePort(I)I" />
+	</class>
+	<class name="org/apache/http/conn/scheme/SchemeRegistry" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="get(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme;" />
+		<method name="getScheme(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme;" />
+		<method name="getScheme(Lorg/apache/http/HttpHost;)Lorg/apache/http/conn/scheme/Scheme;" />
+		<method name="getSchemeNames()Ljava/util/List;" />
+		<method name="register(Lorg/apache/http/conn/scheme/Scheme;)Lorg/apache/http/conn/scheme/Scheme;" />
+		<method name="setItems(Ljava/util/Map;)V" />
+		<method name="unregister(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme;" />
+	</class>
+	<class name="org/apache/http/conn/scheme/SocketFactory" since="1" deprecated="22">
+		<extends name="java/lang/Object" />
+		<method name="connectSocket(Ljava/net/Socket;Ljava/lang/String;ILjava/net/InetAddress;ILorg/apache/http/params/HttpParams;)Ljava/net/Socket;" deprecated="29" />
+		<method name="createSocket()Ljava/net/Socket;" deprecated="29" />
+		<method name="isSecure(Ljava/net/Socket;)Z" deprecated="29" />
+	</class>
+	<class name="org/apache/http/conn/ssl/AbstractVerifier" since="1" deprecated="22">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/ssl/X509HostnameVerifier" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="acceptableCountryWildcard(Ljava/lang/String;)Z" deprecated="29" />
+		<method name="countDots(Ljava/lang/String;)I" deprecated="29" />
+		<method name="getCNs(Ljava/security/cert/X509Certificate;)[Ljava/lang/String;" deprecated="29" />
+		<method name="getDNSSubjectAlts(Ljava/security/cert/X509Certificate;)[Ljava/lang/String;" deprecated="29" />
+		<method name="verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)V" deprecated="29" />
+	</class>
+	<class name="org/apache/http/conn/ssl/AllowAllHostnameVerifier" since="1" deprecated="22">
+		<extends name="org/apache/http/conn/ssl/AbstractVerifier" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+	</class>
+	<class name="org/apache/http/conn/ssl/BrowserCompatHostnameVerifier" since="1" deprecated="22">
+		<extends name="org/apache/http/conn/ssl/AbstractVerifier" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+	</class>
+	<class name="org/apache/http/conn/ssl/SSLSocketFactory" since="1" deprecated="22">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/scheme/LayeredSocketFactory" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/security/KeyStore;Ljava/lang/String;Ljava/security/KeyStore;Ljava/security/SecureRandom;Lorg/apache/http/conn/scheme/HostNameResolver;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/security/KeyStore;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/security/KeyStore;Ljava/lang/String;)V" deprecated="29" />
+		<method name="&lt;init&gt;(Ljava/security/KeyStore;Ljava/lang/String;Ljava/security/KeyStore;)V" deprecated="29" />
+		<method name="getHostnameVerifier()Lorg/apache/http/conn/ssl/X509HostnameVerifier;" deprecated="29" />
+		<method name="getSocketFactory()Lorg/apache/http/conn/ssl/SSLSocketFactory;" deprecated="29" />
+		<method name="setHostnameVerifier(Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V" deprecated="29" />
+		<field name="ALLOW_ALL_HOSTNAME_VERIFIER" deprecated="29" />
+		<field name="BROWSER_COMPATIBLE_HOSTNAME_VERIFIER" deprecated="29" />
+		<field name="SSL" deprecated="29" />
+		<field name="SSLV2" deprecated="29" />
+		<field name="STRICT_HOSTNAME_VERIFIER" deprecated="29" />
+		<field name="TLS" deprecated="29" />
+	</class>
+	<class name="org/apache/http/conn/ssl/StrictHostnameVerifier" since="1" deprecated="22">
+		<extends name="org/apache/http/conn/ssl/AbstractVerifier" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+	</class>
+	<class name="org/apache/http/conn/ssl/X509HostnameVerifier" since="1" deprecated="22">
+		<extends name="java/lang/Object" />
+		<implements name="javax/net/ssl/HostnameVerifier" />
+		<method name="verify(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V" deprecated="29" />
+		<method name="verify(Ljava/lang/String;Ljavax/net/ssl/SSLSocket;)V" deprecated="29" />
+		<method name="verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V" deprecated="29" />
+	</class>
+	<class name="org/apache/http/conn/util/InetAddressUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="isIPv4Address(Ljava/lang/String;)Z" />
+		<method name="isIPv6Address(Ljava/lang/String;)Z" />
+		<method name="isIPv6HexCompressedAddress(Ljava/lang/String;)Z" />
+		<method name="isIPv6StdAddress(Ljava/lang/String;)Z" />
+	</class>
+	<class name="org/apache/http/cookie/ClientCookie" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/Cookie" />
+		<method name="containsAttribute(Ljava/lang/String;)Z" />
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/String;" />
+		<field name="COMMENTURL_ATTR" />
+		<field name="COMMENT_ATTR" />
+		<field name="DISCARD_ATTR" />
+		<field name="DOMAIN_ATTR" />
+		<field name="EXPIRES_ATTR" />
+		<field name="MAX_AGE_ATTR" />
+		<field name="PATH_ATTR" />
+		<field name="PORT_ATTR" />
+		<field name="SECURE_ATTR" />
+		<field name="VERSION_ATTR" />
+	</class>
+	<class name="org/apache/http/cookie/Cookie" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getComment()Ljava/lang/String;" />
+		<method name="getCommentURL()Ljava/lang/String;" />
+		<method name="getDomain()Ljava/lang/String;" />
+		<method name="getExpiryDate()Ljava/util/Date;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getPath()Ljava/lang/String;" />
+		<method name="getPorts()[I" />
+		<method name="getValue()Ljava/lang/String;" />
+		<method name="getVersion()I" />
+		<method name="isExpired(Ljava/util/Date;)Z" />
+		<method name="isPersistent()Z" />
+		<method name="isSecure()Z" />
+	</class>
+	<class name="org/apache/http/cookie/CookieAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="match(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)Z" />
+		<method name="parse(Lorg/apache/http/cookie/SetCookie;Ljava/lang/String;)V" />
+		<method name="validate(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)V" />
+	</class>
+	<class name="org/apache/http/cookie/CookieIdentityComparator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/Comparator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="compare(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/Cookie;)I" />
+	</class>
+	<class name="org/apache/http/cookie/CookieOrigin" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;ILjava/lang/String;Z)V" />
+		<method name="getHost()Ljava/lang/String;" />
+		<method name="getPath()Ljava/lang/String;" />
+		<method name="getPort()I" />
+		<method name="isSecure()Z" />
+	</class>
+	<class name="org/apache/http/cookie/CookiePathComparator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/util/Comparator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="compare(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/Cookie;)I" />
+	</class>
+	<class name="org/apache/http/cookie/CookieSpec" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="formatCookies(Ljava/util/List;)Ljava/util/List;" />
+		<method name="getVersion()I" />
+		<method name="getVersionHeader()Lorg/apache/http/Header;" />
+		<method name="match(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)Z" />
+		<method name="parse(Lorg/apache/http/Header;Lorg/apache/http/cookie/CookieOrigin;)Ljava/util/List;" />
+		<method name="validate(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)V" />
+	</class>
+	<class name="org/apache/http/cookie/CookieSpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="newInstance(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/cookie/CookieSpec;" />
+	</class>
+	<class name="org/apache/http/cookie/CookieSpecRegistry" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getCookieSpec(Ljava/lang/String;)Lorg/apache/http/cookie/CookieSpec;" />
+		<method name="getCookieSpec(Ljava/lang/String;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/cookie/CookieSpec;" />
+		<method name="getSpecNames()Ljava/util/List;" />
+		<method name="register(Ljava/lang/String;Lorg/apache/http/cookie/CookieSpecFactory;)V" />
+		<method name="setItems(Ljava/util/Map;)V" />
+		<method name="unregister(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/cookie/MalformedCookieException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/cookie/SM" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="COOKIE" />
+		<field name="COOKIE2" />
+		<field name="SET_COOKIE" />
+		<field name="SET_COOKIE2" />
+	</class>
+	<class name="org/apache/http/cookie/SetCookie" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/Cookie" />
+		<method name="setComment(Ljava/lang/String;)V" />
+		<method name="setDomain(Ljava/lang/String;)V" />
+		<method name="setExpiryDate(Ljava/util/Date;)V" />
+		<method name="setPath(Ljava/lang/String;)V" />
+		<method name="setSecure(Z)V" />
+		<method name="setValue(Ljava/lang/String;)V" />
+		<method name="setVersion(I)V" />
+	</class>
+	<class name="org/apache/http/cookie/SetCookie2" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/SetCookie" />
+		<method name="setCommentURL(Ljava/lang/String;)V" />
+		<method name="setDiscard(Z)V" />
+		<method name="setPorts([I)V" />
+	</class>
+	<class name="org/apache/http/cookie/params/CookieSpecPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="DATE_PATTERNS" />
+		<field name="SINGLE_COOKIE_HEADER" />
+	</class>
+	<class name="org/apache/http/cookie/params/CookieSpecParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setDatePatterns(Ljava/util/Collection;)V" />
+		<method name="setSingleHeader(Z)V" />
+	</class>
+	<class name="org/apache/http/entity/AbstractHttpEntity" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpEntity" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setChunked(Z)V" />
+		<method name="setContentEncoding(Ljava/lang/String;)V" />
+		<method name="setContentEncoding(Lorg/apache/http/Header;)V" />
+		<method name="setContentType(Ljava/lang/String;)V" />
+		<method name="setContentType(Lorg/apache/http/Header;)V" />
+		<field name="chunked" />
+		<field name="contentEncoding" />
+		<field name="contentType" />
+	</class>
+	<class name="org/apache/http/entity/BasicHttpEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity" />
+		<method name="&lt;init&gt;()V" />
+		<method name="setContent(Ljava/io/InputStream;)V" />
+		<method name="setContentLength(J)V" />
+	</class>
+	<class name="org/apache/http/entity/BufferedHttpEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/HttpEntityWrapper" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpEntity;)V" />
+	</class>
+	<class name="org/apache/http/entity/ByteArrayEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;([B)V" />
+		<field name="content" />
+	</class>
+	<class name="org/apache/http/entity/ContentLengthStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="determineLength(Lorg/apache/http/HttpMessage;)J" />
+		<field name="CHUNKED" />
+		<field name="IDENTITY" />
+	</class>
+	<class name="org/apache/http/entity/ContentProducer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="writeTo(Ljava/io/OutputStream;)V" />
+	</class>
+	<class name="org/apache/http/entity/EntityTemplate" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity" />
+		<method name="&lt;init&gt;(Lorg/apache/http/entity/ContentProducer;)V" />
+	</class>
+	<class name="org/apache/http/entity/FileEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;(Ljava/io/File;Ljava/lang/String;)V" />
+		<field name="file" />
+	</class>
+	<class name="org/apache/http/entity/HttpEntityWrapper" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpEntity" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpEntity;)V" />
+		<field name="wrappedEntity" />
+	</class>
+	<class name="org/apache/http/entity/InputStreamEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;J)V" />
+	</class>
+	<class name="org/apache/http/entity/SerializableEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity" />
+		<method name="&lt;init&gt;(Ljava/io/Serializable;Z)V" />
+	</class>
+	<class name="org/apache/http/entity/StringEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="content" />
+	</class>
+	<class name="org/apache/http/impl/AbstractHttpClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpClientConnection" />
+		<method name="&lt;init&gt;()V" />
+		<method name="assertOpen()V" />
+		<method name="createEntityDeserializer()Lorg/apache/http/impl/entity/EntityDeserializer;" />
+		<method name="createEntitySerializer()Lorg/apache/http/impl/entity/EntitySerializer;" />
+		<method name="createHttpResponseFactory()Lorg/apache/http/HttpResponseFactory;" />
+		<method name="createRequestWriter(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageWriter;" />
+		<method name="createResponseParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageParser;" />
+		<method name="doFlush()V" />
+		<method name="init(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/AbstractHttpServerConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpServerConnection" />
+		<method name="&lt;init&gt;()V" />
+		<method name="assertOpen()V" />
+		<method name="createEntityDeserializer()Lorg/apache/http/impl/entity/EntityDeserializer;" />
+		<method name="createEntitySerializer()Lorg/apache/http/impl/entity/EntitySerializer;" />
+		<method name="createHttpRequestFactory()Lorg/apache/http/HttpRequestFactory;" />
+		<method name="createRequestParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpRequestFactory;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageParser;" />
+		<method name="createResponseWriter(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageWriter;" />
+		<method name="doFlush()V" />
+		<method name="init(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/DefaultConnectionReuseStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/ConnectionReuseStrategy" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createTokenIterator(Lorg/apache/http/HeaderIterator;)Lorg/apache/http/TokenIterator;" />
+	</class>
+	<class name="org/apache/http/impl/DefaultHttpClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/SocketHttpClientConnection" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/DefaultHttpRequestFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestFactory" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/DefaultHttpResponseFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpResponseFactory" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/ReasonPhraseCatalog;)V" />
+		<method name="determineLocale(Lorg/apache/http/protocol/HttpContext;)Ljava/util/Locale;" />
+		<field name="reasonCatalog" />
+	</class>
+	<class name="org/apache/http/impl/DefaultHttpServerConnection" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/SocketHttpServerConnection" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/EnglishReasonPhraseCatalog" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/ReasonPhraseCatalog" />
+		<method name="&lt;init&gt;()V" />
+		<field name="INSTANCE" />
+	</class>
+	<class name="org/apache/http/impl/HttpConnectionMetricsImpl" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpConnectionMetrics" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/HttpTransportMetrics;Lorg/apache/http/io/HttpTransportMetrics;)V" />
+		<method name="incrementRequestCount()V" />
+		<method name="incrementResponseCount()V" />
+		<method name="setMetric(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<field name="RECEIVED_BYTES_COUNT" />
+		<field name="REQUEST_COUNT" />
+		<field name="RESPONSE_COUNT" />
+		<field name="SENT_BYTES_COUNT" />
+	</class>
+	<class name="org/apache/http/impl/NoConnectionReuseStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/ConnectionReuseStrategy" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/SocketHttpClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/AbstractHttpClientConnection" />
+		<implements name="org/apache/http/HttpInetConnection" />
+		<method name="&lt;init&gt;()V" />
+		<method name="assertNotOpen()V" />
+		<method name="bind(Ljava/net/Socket;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="createSessionInputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionInputBuffer;" />
+		<method name="createSessionOutputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionOutputBuffer;" />
+		<method name="getSocket()Ljava/net/Socket;" />
+	</class>
+	<class name="org/apache/http/impl/SocketHttpServerConnection" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/AbstractHttpServerConnection" />
+		<implements name="org/apache/http/HttpInetConnection" />
+		<method name="&lt;init&gt;()V" />
+		<method name="assertNotOpen()V" />
+		<method name="bind(Ljava/net/Socket;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="createHttpDataReceiver(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionInputBuffer;" />
+		<method name="createHttpDataTransmitter(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionOutputBuffer;" />
+		<method name="getSocket()Ljava/net/Socket;" />
+	</class>
+	<class name="org/apache/http/impl/auth/AuthSchemeBase" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/auth/AuthScheme" />
+		<method name="&lt;init&gt;()V" />
+		<method name="isProxy()Z" />
+		<method name="parseChallenge(Lorg/apache/http/util/CharArrayBuffer;II)V" />
+	</class>
+	<class name="org/apache/http/impl/auth/BasicScheme" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/auth/RFC2617Scheme" />
+		<method name="&lt;init&gt;()V" />
+		<method name="authenticate(Lorg/apache/http/auth/Credentials;Ljava/lang/String;Z)Lorg/apache/http/Header;" />
+	</class>
+	<class name="org/apache/http/impl/auth/BasicSchemeFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/auth/AuthSchemeFactory" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/auth/DigestScheme" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/auth/RFC2617Scheme" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createCnonce()Ljava/lang/String;" />
+		<method name="overrideParamter(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/impl/auth/DigestSchemeFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/auth/AuthSchemeFactory" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/auth/NTLMEngine" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="generateType1Msg(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="generateType3Msg(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/impl/auth/NTLMEngineException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/auth/AuthenticationException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/impl/auth/NTLMScheme" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/auth/AuthSchemeBase" />
+		<method name="&lt;init&gt;(Lorg/apache/http/impl/auth/NTLMEngine;)V" />
+	</class>
+	<class name="org/apache/http/impl/auth/RFC2617Scheme" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/auth/AuthSchemeBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getParameters()Ljava/util/Map;" />
+	</class>
+	<class name="org/apache/http/impl/auth/UnsupportedDigestAlgorithmException" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/impl/client/AbstractAuthenticationHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/AuthenticationHandler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getAuthPreferences()Ljava/util/List;" />
+		<method name="parseChallenges([Lorg/apache/http/Header;)Ljava/util/Map;" />
+	</class>
+	<class name="org/apache/http/impl/client/AbstractHttpClient" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/HttpClient" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="addRequestInterceptor(Lorg/apache/http/HttpRequestInterceptor;)V" />
+		<method name="addRequestInterceptor(Lorg/apache/http/HttpRequestInterceptor;I)V" />
+		<method name="addResponseInterceptor(Lorg/apache/http/HttpResponseInterceptor;)V" />
+		<method name="addResponseInterceptor(Lorg/apache/http/HttpResponseInterceptor;I)V" />
+		<method name="clearRequestInterceptors()V" />
+		<method name="clearResponseInterceptors()V" />
+		<method name="createAuthSchemeRegistry()Lorg/apache/http/auth/AuthSchemeRegistry;" />
+		<method name="createClientConnectionManager()Lorg/apache/http/conn/ClientConnectionManager;" />
+		<method name="createClientRequestDirector(Lorg/apache/http/protocol/HttpRequestExecutor;Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/conn/ConnectionKeepAliveStrategy;Lorg/apache/http/conn/routing/HttpRoutePlanner;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/client/HttpRequestRetryHandler;Lorg/apache/http/client/RedirectHandler;Lorg/apache/http/client/AuthenticationHandler;Lorg/apache/http/client/AuthenticationHandler;Lorg/apache/http/client/UserTokenHandler;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/client/RequestDirector;" />
+		<method name="createConnectionKeepAliveStrategy()Lorg/apache/http/conn/ConnectionKeepAliveStrategy;" />
+		<method name="createConnectionReuseStrategy()Lorg/apache/http/ConnectionReuseStrategy;" />
+		<method name="createCookieSpecRegistry()Lorg/apache/http/cookie/CookieSpecRegistry;" />
+		<method name="createCookieStore()Lorg/apache/http/client/CookieStore;" />
+		<method name="createCredentialsProvider()Lorg/apache/http/client/CredentialsProvider;" />
+		<method name="createHttpContext()Lorg/apache/http/protocol/HttpContext;" />
+		<method name="createHttpParams()Lorg/apache/http/params/HttpParams;" />
+		<method name="createHttpProcessor()Lorg/apache/http/protocol/BasicHttpProcessor;" />
+		<method name="createHttpRequestRetryHandler()Lorg/apache/http/client/HttpRequestRetryHandler;" />
+		<method name="createHttpRoutePlanner()Lorg/apache/http/conn/routing/HttpRoutePlanner;" />
+		<method name="createProxyAuthenticationHandler()Lorg/apache/http/client/AuthenticationHandler;" />
+		<method name="createRedirectHandler()Lorg/apache/http/client/RedirectHandler;" />
+		<method name="createRequestExecutor()Lorg/apache/http/protocol/HttpRequestExecutor;" />
+		<method name="createTargetAuthenticationHandler()Lorg/apache/http/client/AuthenticationHandler;" />
+		<method name="createUserTokenHandler()Lorg/apache/http/client/UserTokenHandler;" />
+		<method name="determineParams(Lorg/apache/http/HttpRequest;)Lorg/apache/http/params/HttpParams;" />
+		<method name="getAuthSchemes()Lorg/apache/http/auth/AuthSchemeRegistry;" />
+		<method name="getConnectionKeepAliveStrategy()Lorg/apache/http/conn/ConnectionKeepAliveStrategy;" />
+		<method name="getConnectionReuseStrategy()Lorg/apache/http/ConnectionReuseStrategy;" />
+		<method name="getCookieSpecs()Lorg/apache/http/cookie/CookieSpecRegistry;" />
+		<method name="getCookieStore()Lorg/apache/http/client/CookieStore;" />
+		<method name="getCredentialsProvider()Lorg/apache/http/client/CredentialsProvider;" />
+		<method name="getHttpProcessor()Lorg/apache/http/protocol/BasicHttpProcessor;" />
+		<method name="getHttpRequestRetryHandler()Lorg/apache/http/client/HttpRequestRetryHandler;" />
+		<method name="getProxyAuthenticationHandler()Lorg/apache/http/client/AuthenticationHandler;" />
+		<method name="getRedirectHandler()Lorg/apache/http/client/RedirectHandler;" />
+		<method name="getRequestExecutor()Lorg/apache/http/protocol/HttpRequestExecutor;" />
+		<method name="getRequestInterceptor(I)Lorg/apache/http/HttpRequestInterceptor;" />
+		<method name="getRequestInterceptorCount()I" />
+		<method name="getResponseInterceptor(I)Lorg/apache/http/HttpResponseInterceptor;" />
+		<method name="getResponseInterceptorCount()I" />
+		<method name="getRoutePlanner()Lorg/apache/http/conn/routing/HttpRoutePlanner;" />
+		<method name="getTargetAuthenticationHandler()Lorg/apache/http/client/AuthenticationHandler;" />
+		<method name="getUserTokenHandler()Lorg/apache/http/client/UserTokenHandler;" />
+		<method name="removeRequestInterceptorByClass(Ljava/lang/Class;)V" />
+		<method name="removeResponseInterceptorByClass(Ljava/lang/Class;)V" />
+		<method name="setAuthSchemes(Lorg/apache/http/auth/AuthSchemeRegistry;)V" />
+		<method name="setCookieSpecs(Lorg/apache/http/cookie/CookieSpecRegistry;)V" />
+		<method name="setCookieStore(Lorg/apache/http/client/CookieStore;)V" />
+		<method name="setCredentialsProvider(Lorg/apache/http/client/CredentialsProvider;)V" />
+		<method name="setHttpRequestRetryHandler(Lorg/apache/http/client/HttpRequestRetryHandler;)V" />
+		<method name="setKeepAliveStrategy(Lorg/apache/http/conn/ConnectionKeepAliveStrategy;)V" />
+		<method name="setParams(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setProxyAuthenticationHandler(Lorg/apache/http/client/AuthenticationHandler;)V" />
+		<method name="setRedirectHandler(Lorg/apache/http/client/RedirectHandler;)V" />
+		<method name="setReuseStrategy(Lorg/apache/http/ConnectionReuseStrategy;)V" />
+		<method name="setRoutePlanner(Lorg/apache/http/conn/routing/HttpRoutePlanner;)V" />
+		<method name="setTargetAuthenticationHandler(Lorg/apache/http/client/AuthenticationHandler;)V" />
+		<method name="setUserTokenHandler(Lorg/apache/http/client/UserTokenHandler;)V" />
+	</class>
+	<class name="org/apache/http/impl/client/BasicCookieStore" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/CookieStore" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addCookies([Lorg/apache/http/cookie/Cookie;)V" />
+	</class>
+	<class name="org/apache/http/impl/client/BasicCredentialsProvider" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/CredentialsProvider" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/client/BasicResponseHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/ResponseHandler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="handleResponse(Lorg/apache/http/HttpResponse;)Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/impl/client/ClientParamsStack" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/AbstractHttpParams" />
+		<method name="&lt;init&gt;(Lorg/apache/http/impl/client/ClientParamsStack;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/impl/client/ClientParamsStack;Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="getApplicationParams()Lorg/apache/http/params/HttpParams;" />
+		<method name="getClientParams()Lorg/apache/http/params/HttpParams;" />
+		<method name="getOverrideParams()Lorg/apache/http/params/HttpParams;" />
+		<method name="getRequestParams()Lorg/apache/http/params/HttpParams;" />
+		<field name="applicationParams" />
+		<field name="clientParams" />
+		<field name="overrideParams" />
+		<field name="requestParams" />
+	</class>
+	<class name="org/apache/http/impl/client/DefaultConnectionKeepAliveStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/ConnectionKeepAliveStrategy" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/client/DefaultHttpClient" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/client/AbstractHttpClient" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/client/DefaultHttpRequestRetryHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/HttpRequestRetryHandler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(IZ)V" />
+		<method name="getRetryCount()I" />
+		<method name="isRequestSentRetryEnabled()Z" />
+	</class>
+	<class name="org/apache/http/impl/client/DefaultProxyAuthenticationHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/client/AbstractAuthenticationHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/client/DefaultRedirectHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/RedirectHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/client/DefaultRequestDirector" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/RequestDirector" />
+		<method name="&lt;init&gt;(Lorg/apache/http/protocol/HttpRequestExecutor;Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/conn/ConnectionKeepAliveStrategy;Lorg/apache/http/conn/routing/HttpRoutePlanner;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/client/HttpRequestRetryHandler;Lorg/apache/http/client/RedirectHandler;Lorg/apache/http/client/AuthenticationHandler;Lorg/apache/http/client/AuthenticationHandler;Lorg/apache/http/client/UserTokenHandler;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="createConnectRequest(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpRequest;" />
+		<method name="createTunnelToProxy(Lorg/apache/http/conn/routing/HttpRoute;ILorg/apache/http/protocol/HttpContext;)Z" />
+		<method name="createTunnelToTarget(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;)Z" />
+		<method name="determineRoute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/conn/routing/HttpRoute;" />
+		<method name="establishRoute(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;)V" />
+		<method name="handleResponse(Lorg/apache/http/impl/client/RoutedRequest;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/impl/client/RoutedRequest;" />
+		<method name="releaseConnection()V" />
+		<method name="rewriteRequestURI(Lorg/apache/http/impl/client/RequestWrapper;Lorg/apache/http/conn/routing/HttpRoute;)V" />
+		<field name="connManager" />
+		<field name="httpProcessor" />
+		<field name="keepAliveStrategy" />
+		<field name="managedConn" />
+		<field name="params" />
+		<field name="redirectHandler" />
+		<field name="requestExec" />
+		<field name="retryHandler" />
+		<field name="reuseStrategy" />
+		<field name="routePlanner" />
+	</class>
+	<class name="org/apache/http/impl/client/DefaultTargetAuthenticationHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/client/AbstractAuthenticationHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/client/DefaultUserTokenHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/client/UserTokenHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/client/EntityEnclosingRequestWrapper" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/client/RequestWrapper" />
+		<implements name="org/apache/http/HttpEntityEnclosingRequest" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpEntityEnclosingRequest;)V" />
+	</class>
+	<class name="org/apache/http/impl/client/RedirectLocations" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="add(Ljava/net/URI;)V" />
+		<method name="contains(Ljava/net/URI;)Z" />
+		<method name="remove(Ljava/net/URI;)Z" />
+	</class>
+	<class name="org/apache/http/impl/client/RequestWrapper" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/message/AbstractHttpMessage" />
+		<implements name="org/apache/http/client/methods/HttpUriRequest" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HttpRequest;)V" />
+		<method name="getExecCount()I" />
+		<method name="getOriginal()Lorg/apache/http/HttpRequest;" />
+		<method name="incrementExecCount()V" />
+		<method name="isRepeatable()Z" />
+		<method name="resetHeaders()V" />
+		<method name="setMethod(Ljava/lang/String;)V" />
+		<method name="setProtocolVersion(Lorg/apache/http/ProtocolVersion;)V" />
+		<method name="setURI(Ljava/net/URI;)V" />
+	</class>
+	<class name="org/apache/http/impl/client/RoutedRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Lorg/apache/http/impl/client/RequestWrapper;Lorg/apache/http/conn/routing/HttpRoute;)V" />
+		<method name="getRequest()Lorg/apache/http/impl/client/RequestWrapper;" />
+		<method name="getRoute()Lorg/apache/http/conn/routing/HttpRoute;" />
+		<field name="request" />
+		<field name="route" />
+	</class>
+	<class name="org/apache/http/impl/client/TunnelRefusedException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/HttpException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Lorg/apache/http/HttpResponse;)V" />
+		<method name="getResponse()Lorg/apache/http/HttpResponse;" />
+	</class>
+	<class name="org/apache/http/impl/conn/AbstractClientConnAdapter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/ManagedClientConnection" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/conn/OperatedClientConnection;)V" />
+		<method name="assertNotAborted()V" />
+		<method name="assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V" />
+		<method name="detach()V" />
+		<method name="getManager()Lorg/apache/http/conn/ClientConnectionManager;" />
+		<method name="getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;" />
+	</class>
+	<class name="org/apache/http/impl/conn/AbstractPoolEntry" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/conn/routing/HttpRoute;)V" />
+		<method name="getState()Ljava/lang/Object;" />
+		<method name="layerProtocol(Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="open(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setState(Ljava/lang/Object;)V" />
+		<method name="shutdownEntry()V" />
+		<method name="tunnelProxy(Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V" />
+		<method name="tunnelTarget(ZLorg/apache/http/params/HttpParams;)V" />
+		<field name="connOperator" />
+		<field name="connection" />
+		<field name="route" />
+		<field name="state" />
+		<field name="tracker" />
+	</class>
+	<class name="org/apache/http/impl/conn/AbstractPooledConnAdapter" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/conn/AbstractClientConnAdapter" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/impl/conn/AbstractPoolEntry;)V" />
+		<method name="assertAttached()V" />
+		<field name="poolEntry" />
+	</class>
+	<class name="org/apache/http/impl/conn/DefaultClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/SocketHttpClientConnection" />
+		<implements name="org/apache/http/conn/OperatedClientConnection" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/conn/DefaultClientConnectionOperator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/ClientConnectionOperator" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/scheme/SchemeRegistry;)V" />
+		<method name="prepareSocket(Ljava/net/Socket;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V" />
+		<field name="schemeRegistry" />
+	</class>
+	<class name="org/apache/http/impl/conn/DefaultHttpRoutePlanner" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/routing/HttpRoutePlanner" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/scheme/SchemeRegistry;)V" />
+		<field name="schemeRegistry" />
+	</class>
+	<class name="org/apache/http/impl/conn/DefaultResponseParser" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractMessageParser" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/conn/IdleConnectionHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="add(Lorg/apache/http/HttpConnection;JLjava/util/concurrent/TimeUnit;)V" />
+		<method name="closeExpiredConnections()V" />
+		<method name="closeIdleConnections(J)V" />
+		<method name="remove(Lorg/apache/http/HttpConnection;)Z" />
+		<method name="removeAll()V" />
+	</class>
+	<class name="org/apache/http/impl/conn/LoggingSessionInputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/io/SessionInputBuffer" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/impl/conn/Wire;)V" />
+	</class>
+	<class name="org/apache/http/impl/conn/LoggingSessionOutputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/io/SessionOutputBuffer" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/impl/conn/Wire;)V" />
+	</class>
+	<class name="org/apache/http/impl/conn/ProxySelectorRoutePlanner" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/routing/HttpRoutePlanner" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/scheme/SchemeRegistry;Ljava/net/ProxySelector;)V" />
+		<method name="chooseProxy(Ljava/util/List;Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Ljava/net/Proxy;" />
+		<method name="determineProxy(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpHost;" />
+		<method name="getHost(Ljava/net/InetSocketAddress;)Ljava/lang/String;" />
+		<method name="getProxySelector()Ljava/net/ProxySelector;" />
+		<method name="setProxySelector(Ljava/net/ProxySelector;)V" />
+		<field name="proxySelector" />
+		<field name="schemeRegistry" />
+	</class>
+	<class name="org/apache/http/impl/conn/SingleClientConnManager" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/ClientConnectionManager" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/scheme/SchemeRegistry;)V" />
+		<method name="assertStillUp()V" />
+		<method name="createConnectionOperator(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator;" />
+		<method name="getConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ManagedClientConnection;" />
+		<method name="revokeConnection()V" />
+		<field name="MISUSE_MESSAGE" />
+		<field name="alwaysShutDown" />
+		<field name="connOperator" />
+		<field name="connectionExpiresTime" />
+		<field name="isShutDown" />
+		<field name="lastReleaseTime" />
+		<field name="managedConn" />
+		<field name="schemeRegistry" />
+		<field name="uniquePoolEntry" />
+	</class>
+	<class name="org/apache/http/impl/conn/SingleClientConnManager$ConnAdapter" since="1" removed="23">
+		<extends name="org/apache/http/impl/conn/AbstractPooledConnAdapter" />
+		<method name="&lt;init&gt;(Lorg/apache/http/impl/conn/SingleClientConnManager;Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;Lorg/apache/http/conn/routing/HttpRoute;)V" />
+	</class>
+	<class name="org/apache/http/impl/conn/SingleClientConnManager$PoolEntry" since="1" removed="23">
+		<extends name="org/apache/http/impl/conn/AbstractPoolEntry" />
+		<method name="&lt;init&gt;(Lorg/apache/http/impl/conn/SingleClientConnManager;)V" />
+		<method name="close()V" />
+		<method name="shutdown()V" />
+	</class>
+	<class name="org/apache/http/impl/conn/Wire" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Lorg/apache/commons/logging/Log;)V" />
+		<method name="enabled()Z" />
+		<method name="input(I)V" />
+		<method name="input(Ljava/io/InputStream;)V" />
+		<method name="input(Ljava/lang/String;)V" />
+		<method name="input([B)V" />
+		<method name="input([BII)V" />
+		<method name="output(I)V" />
+		<method name="output(Ljava/io/InputStream;)V" />
+		<method name="output(Ljava/lang/String;)V" />
+		<method name="output([B)V" />
+		<method name="output([BII)V" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/AbstractConnPool" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/impl/conn/tsccm/RefQueueHandler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="closeConnection(Lorg/apache/http/conn/OperatedClientConnection;)V" />
+		<method name="closeExpiredConnections()V" />
+		<method name="closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V" />
+		<method name="deleteClosedConnections()V" />
+		<method name="enableConnectionGC()V" />
+		<method name="freeEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;ZJLjava/util/concurrent/TimeUnit;)V" />
+		<method name="getEntry(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;" />
+		<method name="handleLostEntry(Lorg/apache/http/conn/routing/HttpRoute;)V" />
+		<method name="requestPoolEntry(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;" />
+		<method name="shutdown()V" />
+		<field name="idleConnHandler" />
+		<field name="isShutDown" />
+		<field name="issuedConnections" />
+		<field name="numConnections" />
+		<field name="poolLock" />
+		<field name="refQueue" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/BasicPoolEntry" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/conn/AbstractPoolEntry" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/ref/ReferenceQueue;)V" />
+		<method name="getConnection()Lorg/apache/http/conn/OperatedClientConnection;" />
+		<method name="getPlannedRoute()Lorg/apache/http/conn/routing/HttpRoute;" />
+		<method name="getWeakRef()Lorg/apache/http/impl/conn/tsccm/BasicPoolEntryRef;" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/BasicPoolEntryRef" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/ref/WeakReference" />
+		<method name="&lt;init&gt;(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;Ljava/lang/ref/ReferenceQueue;)V" />
+		<method name="getRoute()Lorg/apache/http/conn/routing/HttpRoute;" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/BasicPooledConnAdapter" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/conn/AbstractPooledConnAdapter" />
+		<method name="&lt;init&gt;(Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;Lorg/apache/http/impl/conn/AbstractPoolEntry;)V" />
+		<method name="getPoolEntry()Lorg/apache/http/impl/conn/AbstractPoolEntry;" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/ConnPoolByRoute" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/conn/tsccm/AbstractConnPool" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="createEntry(Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;Lorg/apache/http/conn/ClientConnectionOperator;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;" />
+		<method name="createFreeConnQueue()Ljava/util/Queue;" />
+		<method name="createRouteToPoolMap()Ljava/util/Map;" />
+		<method name="createWaitingThreadQueue()Ljava/util/Queue;" />
+		<method name="deleteEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)V" />
+		<method name="deleteLeastUsedEntry()V" />
+		<method name="getConnectionsInPool(Lorg/apache/http/conn/routing/HttpRoute;)I" />
+		<method name="getEntryBlocking(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;" />
+		<method name="getFreeEntry(Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;" />
+		<method name="getRoutePool(Lorg/apache/http/conn/routing/HttpRoute;Z)Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;" />
+		<method name="newRouteSpecificPool(Lorg/apache/http/conn/routing/HttpRoute;)Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;" />
+		<method name="newWaitingThread(Ljava/util/concurrent/locks/Condition;Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;)Lorg/apache/http/impl/conn/tsccm/WaitingThread;" />
+		<method name="notifyWaitingThread(Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;)V" />
+		<field name="freeConnections" />
+		<field name="maxTotalConnections" />
+		<field name="operator" />
+		<field name="routeToPool" />
+		<field name="waitingThreads" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/PoolEntryRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="abortRequest()V" />
+		<method name="getPoolEntry(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/RefQueueHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="handleReference(Ljava/lang/ref/Reference;)V" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/RefQueueWorker" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Runnable" />
+		<method name="&lt;init&gt;(Ljava/lang/ref/ReferenceQueue;Lorg/apache/http/impl/conn/tsccm/RefQueueHandler;)V" />
+		<method name="shutdown()V" />
+		<field name="refHandler" />
+		<field name="refQueue" />
+		<field name="workerThread" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/RouteSpecificPool" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Lorg/apache/http/conn/routing/HttpRoute;I)V" />
+		<method name="allocEntry(Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;" />
+		<method name="createdEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)V" />
+		<method name="deleteEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)Z" />
+		<method name="dropEntry()V" />
+		<method name="freeEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)V" />
+		<method name="getCapacity()I" />
+		<method name="getEntryCount()I" />
+		<method name="getMaxEntries()I" />
+		<method name="getRoute()Lorg/apache/http/conn/routing/HttpRoute;" />
+		<method name="hasThread()Z" />
+		<method name="isUnused()Z" />
+		<method name="nextThread()Lorg/apache/http/impl/conn/tsccm/WaitingThread;" />
+		<method name="queueThread(Lorg/apache/http/impl/conn/tsccm/WaitingThread;)V" />
+		<method name="removeThread(Lorg/apache/http/impl/conn/tsccm/WaitingThread;)V" />
+		<field name="freeEntries" />
+		<field name="maxEntries" />
+		<field name="numEntries" />
+		<field name="route" />
+		<field name="waitingThreads" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/conn/ClientConnectionManager" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/scheme/SchemeRegistry;)V" />
+		<method name="createConnectionOperator(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator;" />
+		<method name="createConnectionPool(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;" />
+		<method name="getConnectionsInPool()I" />
+		<method name="getConnectionsInPool(Lorg/apache/http/conn/routing/HttpRoute;)I" />
+		<field name="connOperator" />
+		<field name="connectionPool" />
+		<field name="schemeRegistry" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/WaitingThread" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/util/concurrent/locks/Condition;Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;)V" />
+		<method name="await(Ljava/util/Date;)Z" />
+		<method name="getCondition()Ljava/util/concurrent/locks/Condition;" />
+		<method name="getPool()Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;" />
+		<method name="getThread()Ljava/lang/Thread;" />
+		<method name="interrupt()V" />
+		<method name="wakeup()V" />
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/WaitingThreadAborter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="abort()V" />
+		<method name="setWaitingThread(Lorg/apache/http/impl/conn/tsccm/WaitingThread;)V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/AbstractCookieSpec" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieSpec" />
+		<method name="&lt;init&gt;()V" />
+		<method name="findAttribHandler(Ljava/lang/String;)Lorg/apache/http/cookie/CookieAttributeHandler;" />
+		<method name="getAttribHandler(Ljava/lang/String;)Lorg/apache/http/cookie/CookieAttributeHandler;" />
+		<method name="getAttribHandlers()Ljava/util/Collection;" />
+		<method name="registerAttribHandler(Ljava/lang/String;Lorg/apache/http/cookie/CookieAttributeHandler;)V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicClientCookie" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/cookie/ClientCookie" />
+		<implements name="org/apache/http/cookie/SetCookie" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicClientCookie2" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/BasicClientCookie" />
+		<implements name="org/apache/http/cookie/SetCookie2" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicCommentHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicDomainHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicExpiresHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler" />
+		<method name="&lt;init&gt;([Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicMaxAgeHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicPathHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicSecureHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BestMatchSpec" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieSpec" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;([Ljava/lang/String;Z)V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BestMatchSpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieSpecFactory" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BrowserCompatSpec" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/CookieSpecBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;([Ljava/lang/String;)V" />
+		<field name="DATE_PATTERNS" />
+	</class>
+	<class name="org/apache/http/impl/cookie/BrowserCompatSpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieSpecFactory" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/CookieSpecBase" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieSpec" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getDefaultDomain(Lorg/apache/http/cookie/CookieOrigin;)Ljava/lang/String;" />
+		<method name="getDefaultPath(Lorg/apache/http/cookie/CookieOrigin;)Ljava/lang/String;" />
+		<method name="parse([Lorg/apache/http/HeaderElement;Lorg/apache/http/cookie/CookieOrigin;)Ljava/util/List;" />
+	</class>
+	<class name="org/apache/http/impl/cookie/DateParseException" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/DateUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="formatDate(Ljava/util/Date;)Ljava/lang/String;" />
+		<method name="formatDate(Ljava/util/Date;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="parseDate(Ljava/lang/String;)Ljava/util/Date;" />
+		<method name="parseDate(Ljava/lang/String;[Ljava/lang/String;)Ljava/util/Date;" />
+		<method name="parseDate(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Date;)Ljava/util/Date;" />
+		<field name="GMT" />
+		<field name="PATTERN_ASCTIME" />
+		<field name="PATTERN_RFC1036" />
+		<field name="PATTERN_RFC1123" />
+	</class>
+	<class name="org/apache/http/impl/cookie/NetscapeDomainHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/BasicDomainHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/NetscapeDraftHeaderParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="parseHeader(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/HeaderElement;" />
+		<field name="DEFAULT" />
+	</class>
+	<class name="org/apache/http/impl/cookie/NetscapeDraftSpec" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/CookieSpecBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;([Ljava/lang/String;)V" />
+		<field name="EXPIRES_PATTERN" />
+	</class>
+	<class name="org/apache/http/impl/cookie/NetscapeDraftSpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieSpecFactory" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2109DomainHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2109Spec" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/CookieSpecBase" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;([Ljava/lang/String;Z)V" />
+		<method name="formatCookieAsVer(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/cookie/Cookie;I)V" />
+		<method name="formatParamAsVer(Lorg/apache/http/util/CharArrayBuffer;Ljava/lang/String;Ljava/lang/String;I)V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2109SpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieSpecFactory" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2109VersionHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965CommentUrlAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965DiscardAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965DomainAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+		<method name="domainMatch(Ljava/lang/String;Ljava/lang/String;)Z" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965PortAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965Spec" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/RFC2109Spec" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;([Ljava/lang/String;Z)V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965SpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieSpecFactory" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965VersionAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/cookie/CookieAttributeHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/entity/EntityDeserializer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Lorg/apache/http/entity/ContentLengthStrategy;)V" />
+		<method name="deserialize(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpMessage;)Lorg/apache/http/HttpEntity;" />
+		<method name="doDeserialize(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpMessage;)Lorg/apache/http/entity/BasicHttpEntity;" />
+	</class>
+	<class name="org/apache/http/impl/entity/EntitySerializer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Lorg/apache/http/entity/ContentLengthStrategy;)V" />
+		<method name="doSerialize(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/HttpMessage;)Ljava/io/OutputStream;" />
+		<method name="serialize(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/HttpMessage;Lorg/apache/http/HttpEntity;)V" />
+	</class>
+	<class name="org/apache/http/impl/entity/LaxContentLengthStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/entity/ContentLengthStrategy" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/entity/StrictContentLengthStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/entity/ContentLengthStrategy" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/impl/io/AbstractMessageParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/io/HttpMessageParser" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="parseHead(Lorg/apache/http/io/SessionInputBuffer;)Lorg/apache/http/HttpMessage;" />
+		<method name="parseHeaders(Lorg/apache/http/io/SessionInputBuffer;IILorg/apache/http/message/LineParser;)[Lorg/apache/http/Header;" />
+		<field name="lineParser" />
+	</class>
+	<class name="org/apache/http/impl/io/AbstractMessageWriter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/io/HttpMessageWriter" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/message/LineFormatter;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="writeHeadLine(Lorg/apache/http/HttpMessage;)V" />
+		<field name="lineBuf" />
+		<field name="lineFormatter" />
+		<field name="sessionBuffer" />
+	</class>
+	<class name="org/apache/http/impl/io/AbstractSessionInputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/io/SessionInputBuffer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="fillBuffer()I" />
+		<method name="hasBufferedData()Z" />
+		<method name="init(Ljava/io/InputStream;ILorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/io/AbstractSessionOutputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/io/SessionOutputBuffer" />
+		<method name="&lt;init&gt;()V" />
+		<method name="flushBuffer()V" />
+		<method name="init(Ljava/io/OutputStream;ILorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/io/ChunkedInputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/InputStream" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionInputBuffer;)V" />
+		<method name="getFooters()[Lorg/apache/http/Header;" />
+	</class>
+	<class name="org/apache/http/impl/io/ChunkedOutputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/OutputStream" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionOutputBuffer;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionOutputBuffer;I)V" />
+		<method name="finish()V" />
+		<method name="flushCache()V" />
+		<method name="flushCacheWithAppend([BII)V" />
+		<method name="writeClosingChunk()V" />
+	</class>
+	<class name="org/apache/http/impl/io/ContentLengthInputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/InputStream" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionInputBuffer;J)V" />
+	</class>
+	<class name="org/apache/http/impl/io/ContentLengthOutputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/OutputStream" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionOutputBuffer;J)V" />
+	</class>
+	<class name="org/apache/http/impl/io/HttpRequestParser" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractMessageParser" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/HttpRequestFactory;Lorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/io/HttpRequestWriter" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractMessageWriter" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/message/LineFormatter;Lorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/io/HttpResponseParser" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractMessageParser" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/io/HttpResponseWriter" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractMessageWriter" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/message/LineFormatter;Lorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/io/HttpTransportMetricsImpl" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/io/HttpTransportMetrics" />
+		<method name="&lt;init&gt;()V" />
+		<method name="incrementBytesTransferred(J)V" />
+		<method name="setBytesTransferred(J)V" />
+	</class>
+	<class name="org/apache/http/impl/io/IdentityInputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/InputStream" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionInputBuffer;)V" />
+	</class>
+	<class name="org/apache/http/impl/io/IdentityOutputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/OutputStream" />
+		<method name="&lt;init&gt;(Lorg/apache/http/io/SessionOutputBuffer;)V" />
+	</class>
+	<class name="org/apache/http/impl/io/SocketInputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractSessionInputBuffer" />
+		<method name="&lt;init&gt;(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/impl/io/SocketOutputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractSessionOutputBuffer" />
+		<method name="&lt;init&gt;(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)V" />
+	</class>
+	<class name="org/apache/http/io/HttpMessageParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="parse()Lorg/apache/http/HttpMessage;" />
+	</class>
+	<class name="org/apache/http/io/HttpMessageWriter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="write(Lorg/apache/http/HttpMessage;)V" />
+	</class>
+	<class name="org/apache/http/io/HttpTransportMetrics" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getBytesTransferred()J" />
+		<method name="reset()V" />
+	</class>
+	<class name="org/apache/http/io/SessionInputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getMetrics()Lorg/apache/http/io/HttpTransportMetrics;" />
+		<method name="isDataAvailable(I)Z" />
+		<method name="read()I" />
+		<method name="read([B)I" />
+		<method name="read([BII)I" />
+		<method name="readLine()Ljava/lang/String;" />
+		<method name="readLine(Lorg/apache/http/util/CharArrayBuffer;)I" />
+	</class>
+	<class name="org/apache/http/io/SessionOutputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="flush()V" />
+		<method name="getMetrics()Lorg/apache/http/io/HttpTransportMetrics;" />
+		<method name="write(I)V" />
+		<method name="write([B)V" />
+		<method name="write([BII)V" />
+		<method name="writeLine(Ljava/lang/String;)V" />
+		<method name="writeLine(Lorg/apache/http/util/CharArrayBuffer;)V" />
+	</class>
+	<class name="org/apache/http/message/AbstractHttpMessage" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpMessage" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+		<field name="headergroup" />
+		<field name="params" />
+	</class>
+	<class name="org/apache/http/message/BasicHeader" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/Header" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/message/BasicHeaderElement" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/HeaderElement" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;[Lorg/apache/http/NameValuePair;)V" />
+	</class>
+	<class name="org/apache/http/message/BasicHeaderElementIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HeaderElementIterator" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HeaderIterator;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HeaderIterator;Lorg/apache/http/message/HeaderValueParser;)V" />
+	</class>
+	<class name="org/apache/http/message/BasicHeaderIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HeaderIterator" />
+		<method name="&lt;init&gt;([Lorg/apache/http/Header;Ljava/lang/String;)V" />
+		<method name="filterHeader(I)Z" />
+		<method name="findNext(I)I" />
+		<field name="allHeaders" />
+		<field name="currentIndex" />
+		<field name="headerName" />
+	</class>
+	<class name="org/apache/http/message/BasicHeaderValueFormatter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/message/HeaderValueFormatter" />
+		<method name="&lt;init&gt;()V" />
+		<method name="doFormatValue(Lorg/apache/http/util/CharArrayBuffer;Ljava/lang/String;Z)V" />
+		<method name="estimateElementsLen([Lorg/apache/http/HeaderElement;)I" />
+		<method name="estimateHeaderElementLen(Lorg/apache/http/HeaderElement;)I" />
+		<method name="estimateNameValuePairLen(Lorg/apache/http/NameValuePair;)I" />
+		<method name="estimateParametersLen([Lorg/apache/http/NameValuePair;)I" />
+		<method name="formatElements([Lorg/apache/http/HeaderElement;ZLorg/apache/http/message/HeaderValueFormatter;)Ljava/lang/String;" />
+		<method name="formatHeaderElement(Lorg/apache/http/HeaderElement;ZLorg/apache/http/message/HeaderValueFormatter;)Ljava/lang/String;" />
+		<method name="formatNameValuePair(Lorg/apache/http/NameValuePair;ZLorg/apache/http/message/HeaderValueFormatter;)Ljava/lang/String;" />
+		<method name="formatParameters([Lorg/apache/http/NameValuePair;ZLorg/apache/http/message/HeaderValueFormatter;)Ljava/lang/String;" />
+		<method name="isSeparator(C)Z" />
+		<method name="isUnsafe(C)Z" />
+		<field name="DEFAULT" />
+		<field name="SEPARATORS" />
+		<field name="UNSAFE_CHARS" />
+	</class>
+	<class name="org/apache/http/message/BasicHeaderValueParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/message/HeaderValueParser" />
+		<method name="&lt;init&gt;()V" />
+		<method name="createHeaderElement(Ljava/lang/String;Ljava/lang/String;[Lorg/apache/http/NameValuePair;)Lorg/apache/http/HeaderElement;" />
+		<method name="createNameValuePair(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/http/NameValuePair;" />
+		<method name="parseElements(Ljava/lang/String;Lorg/apache/http/message/HeaderValueParser;)[Lorg/apache/http/HeaderElement;" />
+		<method name="parseHeaderElement(Ljava/lang/String;Lorg/apache/http/message/HeaderValueParser;)Lorg/apache/http/HeaderElement;" />
+		<method name="parseNameValuePair(Ljava/lang/String;Lorg/apache/http/message/HeaderValueParser;)Lorg/apache/http/NameValuePair;" />
+		<method name="parseNameValuePair(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;[C)Lorg/apache/http/NameValuePair;" />
+		<method name="parseParameters(Ljava/lang/String;Lorg/apache/http/message/HeaderValueParser;)[Lorg/apache/http/NameValuePair;" />
+		<field name="DEFAULT" />
+	</class>
+	<class name="org/apache/http/message/BasicHttpEntityEnclosingRequest" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/message/BasicHttpRequest" />
+		<implements name="org/apache/http/HttpEntityEnclosingRequest" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/RequestLine;)V" />
+	</class>
+	<class name="org/apache/http/message/BasicHttpRequest" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/message/AbstractHttpMessage" />
+		<implements name="org/apache/http/HttpRequest" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/RequestLine;)V" />
+	</class>
+	<class name="org/apache/http/message/BasicHttpResponse" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/message/AbstractHttpMessage" />
+		<implements name="org/apache/http/HttpResponse" />
+		<method name="&lt;init&gt;(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/StatusLine;)V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/StatusLine;Lorg/apache/http/ReasonPhraseCatalog;Ljava/util/Locale;)V" />
+		<method name="getReason(I)Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/message/BasicLineFormatter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/message/LineFormatter" />
+		<method name="&lt;init&gt;()V" />
+		<method name="doFormatHeader(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/Header;)V" />
+		<method name="doFormatRequestLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/RequestLine;)V" />
+		<method name="doFormatStatusLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/StatusLine;)V" />
+		<method name="estimateProtocolVersionLen(Lorg/apache/http/ProtocolVersion;)I" />
+		<method name="formatHeader(Lorg/apache/http/Header;Lorg/apache/http/message/LineFormatter;)Ljava/lang/String;" />
+		<method name="formatProtocolVersion(Lorg/apache/http/ProtocolVersion;Lorg/apache/http/message/LineFormatter;)Ljava/lang/String;" />
+		<method name="formatRequestLine(Lorg/apache/http/RequestLine;Lorg/apache/http/message/LineFormatter;)Ljava/lang/String;" />
+		<method name="formatStatusLine(Lorg/apache/http/StatusLine;Lorg/apache/http/message/LineFormatter;)Ljava/lang/String;" />
+		<method name="initBuffer(Lorg/apache/http/util/CharArrayBuffer;)Lorg/apache/http/util/CharArrayBuffer;" />
+		<field name="DEFAULT" />
+	</class>
+	<class name="org/apache/http/message/BasicLineParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/message/LineParser" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/ProtocolVersion;)V" />
+		<method name="createProtocolVersion(II)Lorg/apache/http/ProtocolVersion;" />
+		<method name="createRequestLine(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)Lorg/apache/http/RequestLine;" />
+		<method name="createStatusLine(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)Lorg/apache/http/StatusLine;" />
+		<method name="parseHeader(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/Header;" />
+		<method name="parseProtocolVersion(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/ProtocolVersion;" />
+		<method name="parseRequestLine(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/RequestLine;" />
+		<method name="parseStatusLine(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/StatusLine;" />
+		<method name="skipWhitespace(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)V" />
+		<field name="DEFAULT" />
+		<field name="protocol" />
+	</class>
+	<class name="org/apache/http/message/BasicListHeaderIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HeaderIterator" />
+		<method name="&lt;init&gt;(Ljava/util/List;Ljava/lang/String;)V" />
+		<method name="filterHeader(I)Z" />
+		<method name="findNext(I)I" />
+		<field name="allHeaders" />
+		<field name="currentIndex" />
+		<field name="headerName" />
+		<field name="lastIndex" />
+	</class>
+	<class name="org/apache/http/message/BasicNameValuePair" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/NameValuePair" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/message/BasicRequestLine" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/RequestLine" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)V" />
+	</class>
+	<class name="org/apache/http/message/BasicStatusLine" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/StatusLine" />
+		<method name="&lt;init&gt;(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/message/BasicTokenIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/TokenIterator" />
+		<method name="&lt;init&gt;(Lorg/apache/http/HeaderIterator;)V" />
+		<method name="createToken(Ljava/lang/String;II)Ljava/lang/String;" />
+		<method name="findNext(I)I" />
+		<method name="findTokenEnd(I)I" />
+		<method name="findTokenSeparator(I)I" />
+		<method name="findTokenStart(I)I" />
+		<method name="isHttpSeparator(C)Z" />
+		<method name="isTokenChar(C)Z" />
+		<method name="isTokenSeparator(C)Z" />
+		<method name="isWhitespace(C)Z" />
+		<field name="HTTP_SEPARATORS" />
+		<field name="currentHeader" />
+		<field name="currentToken" />
+		<field name="headerIt" />
+		<field name="searchPos" />
+	</class>
+	<class name="org/apache/http/message/BufferedHeader" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/FormattedHeader" />
+		<method name="&lt;init&gt;(Lorg/apache/http/util/CharArrayBuffer;)V" />
+	</class>
+	<class name="org/apache/http/message/HeaderGroup" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addHeader(Lorg/apache/http/Header;)V" />
+		<method name="clear()V" />
+		<method name="containsHeader(Ljava/lang/String;)Z" />
+		<method name="copy()Lorg/apache/http/message/HeaderGroup;" />
+		<method name="getAllHeaders()[Lorg/apache/http/Header;" />
+		<method name="getCondensedHeader(Ljava/lang/String;)Lorg/apache/http/Header;" />
+		<method name="getFirstHeader(Ljava/lang/String;)Lorg/apache/http/Header;" />
+		<method name="getHeaders(Ljava/lang/String;)[Lorg/apache/http/Header;" />
+		<method name="getLastHeader(Ljava/lang/String;)Lorg/apache/http/Header;" />
+		<method name="iterator()Lorg/apache/http/HeaderIterator;" />
+		<method name="iterator(Ljava/lang/String;)Lorg/apache/http/HeaderIterator;" />
+		<method name="removeHeader(Lorg/apache/http/Header;)V" />
+		<method name="setHeaders([Lorg/apache/http/Header;)V" />
+		<method name="updateHeader(Lorg/apache/http/Header;)V" />
+	</class>
+	<class name="org/apache/http/message/HeaderValueFormatter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="formatElements(Lorg/apache/http/util/CharArrayBuffer;[Lorg/apache/http/HeaderElement;Z)Lorg/apache/http/util/CharArrayBuffer;" />
+		<method name="formatHeaderElement(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/HeaderElement;Z)Lorg/apache/http/util/CharArrayBuffer;" />
+		<method name="formatNameValuePair(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/NameValuePair;Z)Lorg/apache/http/util/CharArrayBuffer;" />
+		<method name="formatParameters(Lorg/apache/http/util/CharArrayBuffer;[Lorg/apache/http/NameValuePair;Z)Lorg/apache/http/util/CharArrayBuffer;" />
+	</class>
+	<class name="org/apache/http/message/HeaderValueParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="parseElements(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)[Lorg/apache/http/HeaderElement;" />
+		<method name="parseHeaderElement(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/HeaderElement;" />
+		<method name="parseNameValuePair(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/NameValuePair;" />
+		<method name="parseParameters(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)[Lorg/apache/http/NameValuePair;" />
+	</class>
+	<class name="org/apache/http/message/LineFormatter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="appendProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/ProtocolVersion;)Lorg/apache/http/util/CharArrayBuffer;" />
+		<method name="formatHeader(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/Header;)Lorg/apache/http/util/CharArrayBuffer;" />
+		<method name="formatRequestLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/RequestLine;)Lorg/apache/http/util/CharArrayBuffer;" />
+		<method name="formatStatusLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/StatusLine;)Lorg/apache/http/util/CharArrayBuffer;" />
+	</class>
+	<class name="org/apache/http/message/LineParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="hasProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Z" />
+		<method name="parseHeader(Lorg/apache/http/util/CharArrayBuffer;)Lorg/apache/http/Header;" />
+		<method name="parseProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/ProtocolVersion;" />
+		<method name="parseRequestLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/RequestLine;" />
+		<method name="parseStatusLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/StatusLine;" />
+	</class>
+	<class name="org/apache/http/message/ParserCursor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(II)V" />
+		<method name="atEnd()Z" />
+		<method name="getLowerBound()I" />
+		<method name="getPos()I" />
+		<method name="getUpperBound()I" />
+		<method name="updatePos(I)V" />
+	</class>
+	<class name="org/apache/http/params/AbstractHttpParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/params/HttpParams" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/params/BasicHttpParams" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/AbstractHttpParams" />
+		<implements name="java/io/Serializable" />
+		<implements name="java/lang/Cloneable" />
+		<method name="&lt;init&gt;()V" />
+		<method name="clear()V" />
+		<method name="copyParams(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="isParameterSet(Ljava/lang/String;)Z" />
+		<method name="isParameterSetLocally(Ljava/lang/String;)Z" />
+		<method name="setParameters([Ljava/lang/String;Ljava/lang/Object;)V" />
+	</class>
+	<class name="org/apache/http/params/CoreConnectionPNames" since="1" deprecated="22">
+		<extends name="java/lang/Object" />
+		<field name="CONNECTION_TIMEOUT" deprecated="29" />
+		<field name="MAX_HEADER_COUNT" deprecated="29" />
+		<field name="MAX_LINE_LENGTH" deprecated="29" />
+		<field name="SOCKET_BUFFER_SIZE" deprecated="29" />
+		<field name="SO_LINGER" deprecated="29" />
+		<field name="SO_TIMEOUT" deprecated="29" />
+		<field name="STALE_CONNECTION_CHECK" deprecated="29" />
+		<field name="TCP_NODELAY" deprecated="29" />
+	</class>
+	<class name="org/apache/http/params/CoreProtocolPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="HTTP_CONTENT_CHARSET" />
+		<field name="HTTP_ELEMENT_CHARSET" />
+		<field name="ORIGIN_SERVER" />
+		<field name="PROTOCOL_VERSION" />
+		<field name="STRICT_TRANSFER_ENCODING" />
+		<field name="USER_AGENT" />
+		<field name="USE_EXPECT_CONTINUE" />
+		<field name="WAIT_FOR_CONTINUE" />
+	</class>
+	<class name="org/apache/http/params/DefaultedHttpParams" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/AbstractHttpParams" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;)V" />
+		<method name="getDefaults()Lorg/apache/http/params/HttpParams;" />
+	</class>
+	<class name="org/apache/http/params/HttpAbstractParamBean" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+		<field name="params" />
+	</class>
+	<class name="org/apache/http/params/HttpConnectionParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setConnectionTimeout(I)V" />
+		<method name="setLinger(I)V" />
+		<method name="setSoTimeout(I)V" />
+		<method name="setSocketBufferSize(I)V" />
+		<method name="setStaleCheckingEnabled(Z)V" />
+		<method name="setTcpNoDelay(Z)V" />
+	</class>
+	<class name="org/apache/http/params/HttpConnectionParams" since="1" deprecated="22">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/params/CoreConnectionPNames" />
+		<method name="getConnectionTimeout(Lorg/apache/http/params/HttpParams;)I" deprecated="29" />
+		<method name="getLinger(Lorg/apache/http/params/HttpParams;)I" deprecated="29" />
+		<method name="getSoTimeout(Lorg/apache/http/params/HttpParams;)I" deprecated="29" />
+		<method name="getSocketBufferSize(Lorg/apache/http/params/HttpParams;)I" deprecated="29" />
+		<method name="getTcpNoDelay(Lorg/apache/http/params/HttpParams;)Z" deprecated="29" />
+		<method name="isStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;)Z" deprecated="29" />
+		<method name="setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V" deprecated="29" />
+		<method name="setLinger(Lorg/apache/http/params/HttpParams;I)V" deprecated="29" />
+		<method name="setSoTimeout(Lorg/apache/http/params/HttpParams;I)V" deprecated="29" />
+		<method name="setSocketBufferSize(Lorg/apache/http/params/HttpParams;I)V" deprecated="29" />
+		<method name="setStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;Z)V" deprecated="29" />
+		<method name="setTcpNoDelay(Lorg/apache/http/params/HttpParams;Z)V" deprecated="29" />
+	</class>
+	<class name="org/apache/http/params/HttpParams" since="1" deprecated="22">
+		<extends name="java/lang/Object" />
+		<method name="copy()Lorg/apache/http/params/HttpParams;" deprecated="29" />
+		<method name="getBooleanParameter(Ljava/lang/String;Z)Z" deprecated="29" />
+		<method name="getDoubleParameter(Ljava/lang/String;D)D" deprecated="29" />
+		<method name="getIntParameter(Ljava/lang/String;I)I" deprecated="29" />
+		<method name="getLongParameter(Ljava/lang/String;J)J" deprecated="29" />
+		<method name="getParameter(Ljava/lang/String;)Ljava/lang/Object;" deprecated="29" />
+		<method name="isParameterFalse(Ljava/lang/String;)Z" deprecated="29" />
+		<method name="isParameterTrue(Ljava/lang/String;)Z" deprecated="29" />
+		<method name="removeParameter(Ljava/lang/String;)Z" deprecated="29" />
+		<method name="setBooleanParameter(Ljava/lang/String;Z)Lorg/apache/http/params/HttpParams;" deprecated="29" />
+		<method name="setDoubleParameter(Ljava/lang/String;D)Lorg/apache/http/params/HttpParams;" deprecated="29" />
+		<method name="setIntParameter(Ljava/lang/String;I)Lorg/apache/http/params/HttpParams;" deprecated="29" />
+		<method name="setLongParameter(Ljava/lang/String;J)Lorg/apache/http/params/HttpParams;" deprecated="29" />
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/http/params/HttpParams;" deprecated="29" />
+	</class>
+	<class name="org/apache/http/params/HttpProtocolParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean" />
+		<method name="&lt;init&gt;(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setContentCharset(Ljava/lang/String;)V" />
+		<method name="setHttpElementCharset(Ljava/lang/String;)V" />
+		<method name="setUseExpectContinue(Z)V" />
+		<method name="setUserAgent(Ljava/lang/String;)V" />
+		<method name="setVersion(Lorg/apache/http/HttpVersion;)V" />
+	</class>
+	<class name="org/apache/http/params/HttpProtocolParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/params/CoreProtocolPNames" />
+		<method name="getContentCharset(Lorg/apache/http/params/HttpParams;)Ljava/lang/String;" />
+		<method name="getHttpElementCharset(Lorg/apache/http/params/HttpParams;)Ljava/lang/String;" />
+		<method name="getUserAgent(Lorg/apache/http/params/HttpParams;)Ljava/lang/String;" />
+		<method name="getVersion(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/ProtocolVersion;" />
+		<method name="setContentCharset(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V" />
+		<method name="setHttpElementCharset(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V" />
+		<method name="setUseExpectContinue(Lorg/apache/http/params/HttpParams;Z)V" />
+		<method name="setUserAgent(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V" />
+		<method name="setVersion(Lorg/apache/http/params/HttpParams;Lorg/apache/http/ProtocolVersion;)V" />
+		<method name="useExpectContinue(Lorg/apache/http/params/HttpParams;)Z" />
+	</class>
+	<class name="org/apache/http/protocol/BasicHttpContext" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/protocol/HttpContext" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/apache/http/protocol/HttpContext;)V" />
+	</class>
+	<class name="org/apache/http/protocol/BasicHttpProcessor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="java/lang/Cloneable" />
+		<implements name="org/apache/http/protocol/HttpProcessor" />
+		<implements name="org/apache/http/protocol/HttpRequestInterceptorList" />
+		<implements name="org/apache/http/protocol/HttpResponseInterceptorList" />
+		<method name="&lt;init&gt;()V" />
+		<method name="addInterceptor(Lorg/apache/http/HttpRequestInterceptor;)V" />
+		<method name="addInterceptor(Lorg/apache/http/HttpRequestInterceptor;I)V" />
+		<method name="addInterceptor(Lorg/apache/http/HttpResponseInterceptor;)V" />
+		<method name="addInterceptor(Lorg/apache/http/HttpResponseInterceptor;I)V" />
+		<method name="clearInterceptors()V" />
+		<method name="copy()Lorg/apache/http/protocol/BasicHttpProcessor;" />
+		<method name="copyInterceptors(Lorg/apache/http/protocol/BasicHttpProcessor;)V" />
+		<field name="requestInterceptors" />
+		<field name="responseInterceptors" />
+	</class>
+	<class name="org/apache/http/protocol/DefaultedHttpContext" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/protocol/HttpContext" />
+		<method name="&lt;init&gt;(Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/protocol/HttpContext;)V" />
+		<method name="getDefaults()Lorg/apache/http/protocol/HttpContext;" />
+	</class>
+	<class name="org/apache/http/protocol/ExecutionContext" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<field name="HTTP_CONNECTION" />
+		<field name="HTTP_PROXY_HOST" />
+		<field name="HTTP_REQUEST" />
+		<field name="HTTP_REQ_SENT" />
+		<field name="HTTP_RESPONSE" />
+		<field name="HTTP_TARGET_HOST" />
+	</class>
+	<class name="org/apache/http/protocol/HTTP" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="isWhitespace(C)Z" />
+		<field name="ASCII" />
+		<field name="CHARSET_PARAM" />
+		<field name="CHUNK_CODING" />
+		<field name="CONN_CLOSE" />
+		<field name="CONN_DIRECTIVE" />
+		<field name="CONN_KEEP_ALIVE" />
+		<field name="CONTENT_ENCODING" />
+		<field name="CONTENT_LEN" />
+		<field name="CONTENT_TYPE" />
+		<field name="CR" />
+		<field name="DATE_HEADER" />
+		<field name="DEFAULT_CONTENT_CHARSET" />
+		<field name="DEFAULT_CONTENT_TYPE" />
+		<field name="DEFAULT_PROTOCOL_CHARSET" />
+		<field name="EXPECT_CONTINUE" />
+		<field name="EXPECT_DIRECTIVE" />
+		<field name="HT" />
+		<field name="IDENTITY_CODING" />
+		<field name="ISO_8859_1" />
+		<field name="LF" />
+		<field name="OCTET_STREAM_TYPE" />
+		<field name="PLAIN_TEXT_TYPE" />
+		<field name="SERVER_HEADER" />
+		<field name="SP" />
+		<field name="TARGET_HOST" />
+		<field name="TRANSFER_ENCODING" />
+		<field name="USER_AGENT" />
+		<field name="US_ASCII" />
+		<field name="UTF_16" />
+		<field name="UTF_8" />
+	</class>
+	<class name="org/apache/http/protocol/HttpContext" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="removeAttribute(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<field name="RESERVED_PREFIX" />
+	</class>
+	<class name="org/apache/http/protocol/HttpDateGenerator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getCurrentDate()Ljava/lang/String;" />
+		<field name="GMT" />
+		<field name="PATTERN_RFC1123" />
+	</class>
+	<class name="org/apache/http/protocol/HttpExpectationVerifier" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="verify(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)V" />
+	</class>
+	<class name="org/apache/http/protocol/HttpProcessor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<implements name="org/apache/http/HttpResponseInterceptor" />
+	</class>
+	<class name="org/apache/http/protocol/HttpRequestExecutor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="canResponseHaveBody(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpResponse;)Z" />
+		<method name="doReceiveResponse(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;" />
+		<method name="doSendRequest(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;" />
+		<method name="execute(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;" />
+		<method name="postProcess(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/protocol/HttpContext;)V" />
+		<method name="preProcess(Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/protocol/HttpContext;)V" />
+	</class>
+	<class name="org/apache/http/protocol/HttpRequestHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="handle(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)V" />
+	</class>
+	<class name="org/apache/http/protocol/HttpRequestHandlerRegistry" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/protocol/HttpRequestHandlerResolver" />
+		<method name="&lt;init&gt;()V" />
+		<method name="matchUriRequestPattern(Ljava/lang/String;Ljava/lang/String;)Z" deprecated="15" />
+		<method name="register(Ljava/lang/String;Lorg/apache/http/protocol/HttpRequestHandler;)V" />
+		<method name="setHandlers(Ljava/util/Map;)V" />
+		<method name="unregister(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/protocol/HttpRequestHandlerResolver" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="lookup(Ljava/lang/String;)Lorg/apache/http/protocol/HttpRequestHandler;" />
+	</class>
+	<class name="org/apache/http/protocol/HttpRequestInterceptorList" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="addRequestInterceptor(Lorg/apache/http/HttpRequestInterceptor;)V" />
+		<method name="addRequestInterceptor(Lorg/apache/http/HttpRequestInterceptor;I)V" />
+		<method name="clearRequestInterceptors()V" />
+		<method name="getRequestInterceptor(I)Lorg/apache/http/HttpRequestInterceptor;" />
+		<method name="getRequestInterceptorCount()I" />
+		<method name="removeRequestInterceptorByClass(Ljava/lang/Class;)V" />
+		<method name="setInterceptors(Ljava/util/List;)V" />
+	</class>
+	<class name="org/apache/http/protocol/HttpResponseInterceptorList" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="addResponseInterceptor(Lorg/apache/http/HttpResponseInterceptor;)V" />
+		<method name="addResponseInterceptor(Lorg/apache/http/HttpResponseInterceptor;I)V" />
+		<method name="clearResponseInterceptors()V" />
+		<method name="getResponseInterceptor(I)Lorg/apache/http/HttpResponseInterceptor;" />
+		<method name="getResponseInterceptorCount()I" />
+		<method name="removeResponseInterceptorByClass(Ljava/lang/Class;)V" />
+		<method name="setInterceptors(Ljava/util/List;)V" />
+	</class>
+	<class name="org/apache/http/protocol/HttpService" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/HttpResponseFactory;)V" />
+		<method name="doService(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)V" />
+		<method name="getParams()Lorg/apache/http/params/HttpParams;" />
+		<method name="handleException(Lorg/apache/http/HttpException;Lorg/apache/http/HttpResponse;)V" />
+		<method name="handleRequest(Lorg/apache/http/HttpServerConnection;Lorg/apache/http/protocol/HttpContext;)V" />
+		<method name="setConnReuseStrategy(Lorg/apache/http/ConnectionReuseStrategy;)V" />
+		<method name="setExpectationVerifier(Lorg/apache/http/protocol/HttpExpectationVerifier;)V" />
+		<method name="setHandlerResolver(Lorg/apache/http/protocol/HttpRequestHandlerResolver;)V" />
+		<method name="setHttpProcessor(Lorg/apache/http/protocol/HttpProcessor;)V" />
+		<method name="setParams(Lorg/apache/http/params/HttpParams;)V" />
+		<method name="setResponseFactory(Lorg/apache/http/HttpResponseFactory;)V" />
+	</class>
+	<class name="org/apache/http/protocol/RequestConnControl" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/protocol/RequestContent" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/protocol/RequestDate" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/protocol/RequestExpectContinue" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/protocol/RequestTargetHost" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/protocol/RequestUserAgent" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpRequestInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/protocol/ResponseConnControl" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpResponseInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/protocol/ResponseContent" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpResponseInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/protocol/ResponseDate" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpResponseInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/protocol/ResponseServer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<implements name="org/apache/http/HttpResponseInterceptor" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/apache/http/protocol/SyncBasicHttpContext" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/protocol/BasicHttpContext" />
+		<method name="&lt;init&gt;(Lorg/apache/http/protocol/HttpContext;)V" />
+	</class>
+	<class name="org/apache/http/protocol/UriPatternMatcher" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="lookup(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="matchUriRequestPattern(Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="register(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="setHandlers(Ljava/util/Map;)V" />
+		<method name="unregister(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/apache/http/util/ByteArrayBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="append(I)V" />
+		<method name="append(Lorg/apache/http/util/CharArrayBuffer;II)V" />
+		<method name="append([BII)V" />
+		<method name="append([CII)V" />
+		<method name="buffer()[B" />
+		<method name="byteAt(I)I" />
+		<method name="capacity()I" />
+		<method name="clear()V" />
+		<method name="isEmpty()Z" />
+		<method name="isFull()Z" />
+		<method name="length()I" />
+		<method name="setLength(I)V" />
+		<method name="toByteArray()[B" />
+	</class>
+	<class name="org/apache/http/util/CharArrayBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(I)V" />
+		<method name="append(C)V" />
+		<method name="append(Ljava/lang/Object;)V" />
+		<method name="append(Ljava/lang/String;)V" />
+		<method name="append(Lorg/apache/http/util/ByteArrayBuffer;II)V" />
+		<method name="append(Lorg/apache/http/util/CharArrayBuffer;)V" />
+		<method name="append(Lorg/apache/http/util/CharArrayBuffer;II)V" />
+		<method name="append([BII)V" />
+		<method name="append([CII)V" />
+		<method name="buffer()[C" />
+		<method name="capacity()I" />
+		<method name="charAt(I)C" />
+		<method name="clear()V" />
+		<method name="ensureCapacity(I)V" />
+		<method name="indexOf(I)I" />
+		<method name="indexOf(III)I" />
+		<method name="isEmpty()Z" />
+		<method name="isFull()Z" />
+		<method name="length()I" />
+		<method name="setLength(I)V" />
+		<method name="substring(II)Ljava/lang/String;" />
+		<method name="substringTrimmed(II)Ljava/lang/String;" />
+		<method name="toCharArray()[C" />
+	</class>
+	<class name="org/apache/http/util/EncodingUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getAsciiBytes(Ljava/lang/String;)[B" />
+		<method name="getAsciiString([B)Ljava/lang/String;" />
+		<method name="getAsciiString([BII)Ljava/lang/String;" />
+		<method name="getBytes(Ljava/lang/String;Ljava/lang/String;)[B" />
+		<method name="getString([BIILjava/lang/String;)Ljava/lang/String;" />
+		<method name="getString([BLjava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/util/EntityUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="getContentCharSet(Lorg/apache/http/HttpEntity;)Ljava/lang/String;" />
+		<method name="toByteArray(Lorg/apache/http/HttpEntity;)[B" />
+		<method name="toString(Lorg/apache/http/HttpEntity;)Ljava/lang/String;" />
+		<method name="toString(Lorg/apache/http/HttpEntity;Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="org/apache/http/util/ExceptionUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="initCause(Ljava/lang/Throwable;Ljava/lang/Throwable;)V" />
+	</class>
+	<class name="org/apache/http/util/LangUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="equals(Ljava/lang/Object;Ljava/lang/Object;)Z" />
+		<method name="equals([Ljava/lang/Object;[Ljava/lang/Object;)Z" />
+		<method name="hashCode(II)I" />
+		<method name="hashCode(ILjava/lang/Object;)I" />
+		<method name="hashCode(IZ)I" />
+		<field name="HASH_OFFSET" />
+		<field name="HASH_SEED" />
+	</class>
+	<class name="org/apache/http/util/VersionInfo" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="fromMap(Ljava/lang/String;Ljava/util/Map;Ljava/lang/ClassLoader;)Lorg/apache/http/util/VersionInfo;" />
+		<method name="getClassloader()Ljava/lang/String;" />
+		<method name="getModule()Ljava/lang/String;" />
+		<method name="getPackage()Ljava/lang/String;" />
+		<method name="getRelease()Ljava/lang/String;" />
+		<method name="getTimestamp()Ljava/lang/String;" />
+		<method name="loadVersionInfo(Ljava/lang/String;Ljava/lang/ClassLoader;)Lorg/apache/http/util/VersionInfo;" />
+		<method name="loadVersionInfo([Ljava/lang/String;Ljava/lang/ClassLoader;)[Lorg/apache/http/util/VersionInfo;" />
+		<field name="PROPERTY_MODULE" />
+		<field name="PROPERTY_RELEASE" />
+		<field name="PROPERTY_TIMESTAMP" />
+		<field name="UNAVAILABLE" />
+		<field name="VERSION_PROPERTY_FILE" />
+	</class>
+	<class name="org/json/JSONArray" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Object;)V" since="19" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Collection;)V" />
+		<method name="&lt;init&gt;(Lorg/json/JSONTokener;)V" />
+		<method name="get(I)Ljava/lang/Object;" />
+		<method name="getBoolean(I)Z" />
+		<method name="getDouble(I)D" />
+		<method name="getInt(I)I" />
+		<method name="getJSONArray(I)Lorg/json/JSONArray;" />
+		<method name="getJSONObject(I)Lorg/json/JSONObject;" />
+		<method name="getLong(I)J" />
+		<method name="getString(I)Ljava/lang/String;" />
+		<method name="isNull(I)Z" />
+		<method name="join(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="length()I" />
+		<method name="opt(I)Ljava/lang/Object;" />
+		<method name="optBoolean(I)Z" />
+		<method name="optBoolean(IZ)Z" />
+		<method name="optDouble(I)D" />
+		<method name="optDouble(ID)D" />
+		<method name="optInt(I)I" />
+		<method name="optInt(II)I" />
+		<method name="optJSONArray(I)Lorg/json/JSONArray;" />
+		<method name="optJSONObject(I)Lorg/json/JSONObject;" />
+		<method name="optLong(I)J" />
+		<method name="optLong(IJ)J" />
+		<method name="optString(I)Ljava/lang/String;" />
+		<method name="optString(ILjava/lang/String;)Ljava/lang/String;" />
+		<method name="put(D)Lorg/json/JSONArray;" />
+		<method name="put(I)Lorg/json/JSONArray;" />
+		<method name="put(ID)Lorg/json/JSONArray;" />
+		<method name="put(II)Lorg/json/JSONArray;" />
+		<method name="put(IJ)Lorg/json/JSONArray;" />
+		<method name="put(ILjava/lang/Object;)Lorg/json/JSONArray;" />
+		<method name="put(IZ)Lorg/json/JSONArray;" />
+		<method name="put(J)Lorg/json/JSONArray;" />
+		<method name="put(Ljava/lang/Object;)Lorg/json/JSONArray;" />
+		<method name="put(Z)Lorg/json/JSONArray;" />
+		<method name="remove(I)Ljava/lang/Object;" since="19" />
+		<method name="toJSONObject(Lorg/json/JSONArray;)Lorg/json/JSONObject;" />
+		<method name="toString(I)Ljava/lang/String;" />
+	</class>
+	<class name="org/json/JSONException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Throwable;)V" since="27" />
+		<method name="&lt;init&gt;(Ljava/lang/Throwable;)V" since="27" />
+	</class>
+	<class name="org/json/JSONObject" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/util/Map;)V" />
+		<method name="&lt;init&gt;(Lorg/json/JSONObject;[Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Lorg/json/JSONTokener;)V" />
+		<method name="accumulate(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;" />
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getBoolean(Ljava/lang/String;)Z" />
+		<method name="getDouble(Ljava/lang/String;)D" />
+		<method name="getInt(Ljava/lang/String;)I" />
+		<method name="getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;" />
+		<method name="getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;" />
+		<method name="getLong(Ljava/lang/String;)J" />
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="has(Ljava/lang/String;)Z" />
+		<method name="isNull(Ljava/lang/String;)Z" />
+		<method name="keys()Ljava/util/Iterator;" />
+		<method name="length()I" />
+		<method name="names()Lorg/json/JSONArray;" />
+		<method name="numberToString(Ljava/lang/Number;)Ljava/lang/String;" />
+		<method name="opt(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="optBoolean(Ljava/lang/String;)Z" />
+		<method name="optBoolean(Ljava/lang/String;Z)Z" />
+		<method name="optDouble(Ljava/lang/String;)D" />
+		<method name="optDouble(Ljava/lang/String;D)D" />
+		<method name="optInt(Ljava/lang/String;)I" />
+		<method name="optInt(Ljava/lang/String;I)I" />
+		<method name="optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;" />
+		<method name="optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;" />
+		<method name="optLong(Ljava/lang/String;)J" />
+		<method name="optLong(Ljava/lang/String;J)J" />
+		<method name="optString(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="put(Ljava/lang/String;D)Lorg/json/JSONObject;" />
+		<method name="put(Ljava/lang/String;I)Lorg/json/JSONObject;" />
+		<method name="put(Ljava/lang/String;J)Lorg/json/JSONObject;" />
+		<method name="put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;" />
+		<method name="put(Ljava/lang/String;Z)Lorg/json/JSONObject;" />
+		<method name="putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;" />
+		<method name="quote(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="remove(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="toJSONArray(Lorg/json/JSONArray;)Lorg/json/JSONArray;" />
+		<method name="toString(I)Ljava/lang/String;" />
+		<method name="wrap(Ljava/lang/Object;)Ljava/lang/Object;" since="19" />
+		<field name="NULL" />
+	</class>
+	<class name="org/json/JSONStringer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="array()Lorg/json/JSONStringer;" />
+		<method name="endArray()Lorg/json/JSONStringer;" />
+		<method name="endObject()Lorg/json/JSONStringer;" />
+		<method name="key(Ljava/lang/String;)Lorg/json/JSONStringer;" />
+		<method name="object()Lorg/json/JSONStringer;" />
+		<method name="value(D)Lorg/json/JSONStringer;" />
+		<method name="value(J)Lorg/json/JSONStringer;" />
+		<method name="value(Ljava/lang/Object;)Lorg/json/JSONStringer;" />
+		<method name="value(Z)Lorg/json/JSONStringer;" />
+	</class>
+	<class name="org/json/JSONTokener" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="back()V" />
+		<method name="dehexchar(C)I" />
+		<method name="more()Z" />
+		<method name="next()C" />
+		<method name="next(C)C" />
+		<method name="next(I)Ljava/lang/String;" />
+		<method name="nextClean()C" />
+		<method name="nextString(C)Ljava/lang/String;" />
+		<method name="nextTo(C)Ljava/lang/String;" />
+		<method name="nextTo(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="nextValue()Ljava/lang/Object;" />
+		<method name="skipPast(Ljava/lang/String;)V" />
+		<method name="skipTo(C)C" />
+		<method name="syntaxError(Ljava/lang/String;)Lorg/json/JSONException;" />
+	</class>
+	<class name="org/w3c/dom/Attr" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Node" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getOwnerElement()Lorg/w3c/dom/Element;" />
+		<method name="getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo;" since="8" />
+		<method name="getSpecified()Z" />
+		<method name="getValue()Ljava/lang/String;" />
+		<method name="isId()Z" since="8" />
+		<method name="setValue(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/w3c/dom/CDATASection" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Text" />
+	</class>
+	<class name="org/w3c/dom/CharacterData" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Node" />
+		<method name="appendData(Ljava/lang/String;)V" />
+		<method name="deleteData(II)V" />
+		<method name="getData()Ljava/lang/String;" />
+		<method name="getLength()I" />
+		<method name="insertData(ILjava/lang/String;)V" />
+		<method name="replaceData(IILjava/lang/String;)V" />
+		<method name="setData(Ljava/lang/String;)V" />
+		<method name="substringData(II)Ljava/lang/String;" />
+	</class>
+	<class name="org/w3c/dom/Comment" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/CharacterData" />
+	</class>
+	<class name="org/w3c/dom/DOMConfiguration" since="8">
+		<extends name="java/lang/Object" />
+		<method name="canSetParameter(Ljava/lang/String;Ljava/lang/Object;)Z" />
+		<method name="getParameter(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getParameterNames()Lorg/w3c/dom/DOMStringList;" />
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)V" />
+	</class>
+	<class name="org/w3c/dom/DOMError" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getLocation()Lorg/w3c/dom/DOMLocator;" />
+		<method name="getMessage()Ljava/lang/String;" />
+		<method name="getRelatedData()Ljava/lang/Object;" />
+		<method name="getRelatedException()Ljava/lang/Object;" />
+		<method name="getSeverity()S" />
+		<method name="getType()Ljava/lang/String;" />
+		<field name="SEVERITY_ERROR" />
+		<field name="SEVERITY_FATAL_ERROR" />
+		<field name="SEVERITY_WARNING" />
+	</class>
+	<class name="org/w3c/dom/DOMErrorHandler" since="8">
+		<extends name="java/lang/Object" />
+		<method name="handleError(Lorg/w3c/dom/DOMError;)Z" />
+	</class>
+	<class name="org/w3c/dom/DOMException" since="1">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(SLjava/lang/String;)V" />
+		<field name="DOMSTRING_SIZE_ERR" />
+		<field name="HIERARCHY_REQUEST_ERR" />
+		<field name="INDEX_SIZE_ERR" />
+		<field name="INUSE_ATTRIBUTE_ERR" />
+		<field name="INVALID_ACCESS_ERR" />
+		<field name="INVALID_CHARACTER_ERR" />
+		<field name="INVALID_MODIFICATION_ERR" />
+		<field name="INVALID_STATE_ERR" />
+		<field name="NAMESPACE_ERR" />
+		<field name="NOT_FOUND_ERR" />
+		<field name="NOT_SUPPORTED_ERR" />
+		<field name="NO_DATA_ALLOWED_ERR" />
+		<field name="NO_MODIFICATION_ALLOWED_ERR" />
+		<field name="SYNTAX_ERR" />
+		<field name="TYPE_MISMATCH_ERR" since="8" />
+		<field name="VALIDATION_ERR" since="8" />
+		<field name="WRONG_DOCUMENT_ERR" />
+		<field name="code" />
+	</class>
+	<class name="org/w3c/dom/DOMImplementation" since="1">
+		<extends name="java/lang/Object" />
+		<method name="createDocument(Ljava/lang/String;Ljava/lang/String;Lorg/w3c/dom/DocumentType;)Lorg/w3c/dom/Document;" />
+		<method name="createDocumentType(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/DocumentType;" />
+		<method name="getFeature(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;" since="8" />
+		<method name="hasFeature(Ljava/lang/String;Ljava/lang/String;)Z" />
+	</class>
+	<class name="org/w3c/dom/DOMImplementationList" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getLength()I" />
+		<method name="item(I)Lorg/w3c/dom/DOMImplementation;" />
+	</class>
+	<class name="org/w3c/dom/DOMImplementationSource" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getDOMImplementation(Ljava/lang/String;)Lorg/w3c/dom/DOMImplementation;" />
+		<method name="getDOMImplementationList(Ljava/lang/String;)Lorg/w3c/dom/DOMImplementationList;" />
+	</class>
+	<class name="org/w3c/dom/DOMLocator" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getByteOffset()I" />
+		<method name="getColumnNumber()I" />
+		<method name="getLineNumber()I" />
+		<method name="getRelatedNode()Lorg/w3c/dom/Node;" />
+		<method name="getUri()Ljava/lang/String;" />
+		<method name="getUtf16Offset()I" />
+	</class>
+	<class name="org/w3c/dom/DOMStringList" since="8">
+		<extends name="java/lang/Object" />
+		<method name="contains(Ljava/lang/String;)Z" />
+		<method name="getLength()I" />
+		<method name="item(I)Ljava/lang/String;" />
+	</class>
+	<class name="org/w3c/dom/Document" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Node" />
+		<method name="adoptNode(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;" since="8" />
+		<method name="createAttribute(Ljava/lang/String;)Lorg/w3c/dom/Attr;" />
+		<method name="createAttributeNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Attr;" />
+		<method name="createCDATASection(Ljava/lang/String;)Lorg/w3c/dom/CDATASection;" />
+		<method name="createComment(Ljava/lang/String;)Lorg/w3c/dom/Comment;" />
+		<method name="createDocumentFragment()Lorg/w3c/dom/DocumentFragment;" />
+		<method name="createElement(Ljava/lang/String;)Lorg/w3c/dom/Element;" />
+		<method name="createElementNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;" />
+		<method name="createEntityReference(Ljava/lang/String;)Lorg/w3c/dom/EntityReference;" />
+		<method name="createProcessingInstruction(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/ProcessingInstruction;" />
+		<method name="createTextNode(Ljava/lang/String;)Lorg/w3c/dom/Text;" />
+		<method name="getDoctype()Lorg/w3c/dom/DocumentType;" />
+		<method name="getDocumentElement()Lorg/w3c/dom/Element;" />
+		<method name="getDocumentURI()Ljava/lang/String;" since="8" />
+		<method name="getDomConfig()Lorg/w3c/dom/DOMConfiguration;" since="8" />
+		<method name="getElementById(Ljava/lang/String;)Lorg/w3c/dom/Element;" />
+		<method name="getElementsByTagName(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" />
+		<method name="getElementsByTagNameNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList;" />
+		<method name="getImplementation()Lorg/w3c/dom/DOMImplementation;" />
+		<method name="getInputEncoding()Ljava/lang/String;" since="8" />
+		<method name="getStrictErrorChecking()Z" since="8" />
+		<method name="getXmlEncoding()Ljava/lang/String;" since="8" />
+		<method name="getXmlStandalone()Z" since="8" />
+		<method name="getXmlVersion()Ljava/lang/String;" since="8" />
+		<method name="importNode(Lorg/w3c/dom/Node;Z)Lorg/w3c/dom/Node;" />
+		<method name="normalizeDocument()V" since="8" />
+		<method name="renameNode(Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Node;" since="8" />
+		<method name="setDocumentURI(Ljava/lang/String;)V" since="8" />
+		<method name="setStrictErrorChecking(Z)V" since="8" />
+		<method name="setXmlStandalone(Z)V" since="8" />
+		<method name="setXmlVersion(Ljava/lang/String;)V" since="8" />
+	</class>
+	<class name="org/w3c/dom/DocumentFragment" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Node" />
+	</class>
+	<class name="org/w3c/dom/DocumentType" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Node" />
+		<method name="getEntities()Lorg/w3c/dom/NamedNodeMap;" />
+		<method name="getInternalSubset()Ljava/lang/String;" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getNotations()Lorg/w3c/dom/NamedNodeMap;" />
+		<method name="getPublicId()Ljava/lang/String;" />
+		<method name="getSystemId()Ljava/lang/String;" />
+	</class>
+	<class name="org/w3c/dom/Element" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Node" />
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getAttributeNS(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getAttributeNode(Ljava/lang/String;)Lorg/w3c/dom/Attr;" />
+		<method name="getAttributeNodeNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Attr;" />
+		<method name="getElementsByTagName(Ljava/lang/String;)Lorg/w3c/dom/NodeList;" />
+		<method name="getElementsByTagNameNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList;" />
+		<method name="getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo;" since="8" />
+		<method name="getTagName()Ljava/lang/String;" />
+		<method name="hasAttribute(Ljava/lang/String;)Z" />
+		<method name="hasAttributeNS(Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="removeAttribute(Ljava/lang/String;)V" />
+		<method name="removeAttributeNS(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="removeAttributeNode(Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr;" />
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setAttributeNS(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setAttributeNode(Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr;" />
+		<method name="setAttributeNodeNS(Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr;" />
+		<method name="setIdAttribute(Ljava/lang/String;Z)V" since="8" />
+		<method name="setIdAttributeNS(Ljava/lang/String;Ljava/lang/String;Z)V" since="8" />
+		<method name="setIdAttributeNode(Lorg/w3c/dom/Attr;Z)V" since="8" />
+	</class>
+	<class name="org/w3c/dom/Entity" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Node" />
+		<method name="getInputEncoding()Ljava/lang/String;" since="8" />
+		<method name="getNotationName()Ljava/lang/String;" />
+		<method name="getPublicId()Ljava/lang/String;" />
+		<method name="getSystemId()Ljava/lang/String;" />
+		<method name="getXmlEncoding()Ljava/lang/String;" since="8" />
+		<method name="getXmlVersion()Ljava/lang/String;" since="8" />
+	</class>
+	<class name="org/w3c/dom/EntityReference" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Node" />
+	</class>
+	<class name="org/w3c/dom/NameList" since="8">
+		<extends name="java/lang/Object" />
+		<method name="contains(Ljava/lang/String;)Z" />
+		<method name="containsNS(Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="getLength()I" />
+		<method name="getName(I)Ljava/lang/String;" />
+		<method name="getNamespaceURI(I)Ljava/lang/String;" />
+	</class>
+	<class name="org/w3c/dom/NamedNodeMap" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getLength()I" />
+		<method name="getNamedItem(Ljava/lang/String;)Lorg/w3c/dom/Node;" />
+		<method name="getNamedItemNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Node;" />
+		<method name="item(I)Lorg/w3c/dom/Node;" />
+		<method name="removeNamedItem(Ljava/lang/String;)Lorg/w3c/dom/Node;" />
+		<method name="removeNamedItemNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Node;" />
+		<method name="setNamedItem(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;" />
+		<method name="setNamedItemNS(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;" />
+	</class>
+	<class name="org/w3c/dom/Node" since="1">
+		<extends name="java/lang/Object" />
+		<method name="appendChild(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;" />
+		<method name="cloneNode(Z)Lorg/w3c/dom/Node;" />
+		<method name="compareDocumentPosition(Lorg/w3c/dom/Node;)S" since="8" />
+		<method name="getAttributes()Lorg/w3c/dom/NamedNodeMap;" />
+		<method name="getBaseURI()Ljava/lang/String;" since="8" />
+		<method name="getChildNodes()Lorg/w3c/dom/NodeList;" />
+		<method name="getFeature(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;" since="8" />
+		<method name="getFirstChild()Lorg/w3c/dom/Node;" />
+		<method name="getLastChild()Lorg/w3c/dom/Node;" />
+		<method name="getLocalName()Ljava/lang/String;" />
+		<method name="getNamespaceURI()Ljava/lang/String;" />
+		<method name="getNextSibling()Lorg/w3c/dom/Node;" />
+		<method name="getNodeName()Ljava/lang/String;" />
+		<method name="getNodeType()S" />
+		<method name="getNodeValue()Ljava/lang/String;" />
+		<method name="getOwnerDocument()Lorg/w3c/dom/Document;" />
+		<method name="getParentNode()Lorg/w3c/dom/Node;" />
+		<method name="getPrefix()Ljava/lang/String;" />
+		<method name="getPreviousSibling()Lorg/w3c/dom/Node;" />
+		<method name="getTextContent()Ljava/lang/String;" since="8" />
+		<method name="getUserData(Ljava/lang/String;)Ljava/lang/Object;" since="8" />
+		<method name="hasAttributes()Z" />
+		<method name="hasChildNodes()Z" />
+		<method name="insertBefore(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;" />
+		<method name="isDefaultNamespace(Ljava/lang/String;)Z" since="8" />
+		<method name="isEqualNode(Lorg/w3c/dom/Node;)Z" since="8" />
+		<method name="isSameNode(Lorg/w3c/dom/Node;)Z" since="8" />
+		<method name="isSupported(Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="lookupNamespaceURI(Ljava/lang/String;)Ljava/lang/String;" since="8" />
+		<method name="lookupPrefix(Ljava/lang/String;)Ljava/lang/String;" since="8" />
+		<method name="normalize()V" />
+		<method name="removeChild(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;" />
+		<method name="replaceChild(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;" />
+		<method name="setNodeValue(Ljava/lang/String;)V" />
+		<method name="setPrefix(Ljava/lang/String;)V" />
+		<method name="setTextContent(Ljava/lang/String;)V" since="8" />
+		<method name="setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;" since="8" />
+		<field name="ATTRIBUTE_NODE" />
+		<field name="CDATA_SECTION_NODE" />
+		<field name="COMMENT_NODE" />
+		<field name="DOCUMENT_FRAGMENT_NODE" />
+		<field name="DOCUMENT_NODE" />
+		<field name="DOCUMENT_POSITION_CONTAINED_BY" since="8" />
+		<field name="DOCUMENT_POSITION_CONTAINS" since="8" />
+		<field name="DOCUMENT_POSITION_DISCONNECTED" since="8" />
+		<field name="DOCUMENT_POSITION_FOLLOWING" since="8" />
+		<field name="DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" since="8" />
+		<field name="DOCUMENT_POSITION_PRECEDING" since="8" />
+		<field name="DOCUMENT_TYPE_NODE" />
+		<field name="ELEMENT_NODE" />
+		<field name="ENTITY_NODE" />
+		<field name="ENTITY_REFERENCE_NODE" />
+		<field name="NOTATION_NODE" />
+		<field name="PROCESSING_INSTRUCTION_NODE" />
+		<field name="TEXT_NODE" />
+	</class>
+	<class name="org/w3c/dom/NodeList" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getLength()I" />
+		<method name="item(I)Lorg/w3c/dom/Node;" />
+	</class>
+	<class name="org/w3c/dom/Notation" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Node" />
+		<method name="getPublicId()Ljava/lang/String;" />
+		<method name="getSystemId()Ljava/lang/String;" />
+	</class>
+	<class name="org/w3c/dom/ProcessingInstruction" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/Node" />
+		<method name="getData()Ljava/lang/String;" />
+		<method name="getTarget()Ljava/lang/String;" />
+		<method name="setData(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/w3c/dom/Text" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/w3c/dom/CharacterData" />
+		<method name="getWholeText()Ljava/lang/String;" since="8" />
+		<method name="isElementContentWhitespace()Z" since="8" />
+		<method name="replaceWholeText(Ljava/lang/String;)Lorg/w3c/dom/Text;" since="8" />
+		<method name="splitText(I)Lorg/w3c/dom/Text;" />
+	</class>
+	<class name="org/w3c/dom/TypeInfo" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getTypeName()Ljava/lang/String;" />
+		<method name="getTypeNamespace()Ljava/lang/String;" />
+		<method name="isDerivedFrom(Ljava/lang/String;Ljava/lang/String;I)Z" />
+		<field name="DERIVATION_EXTENSION" />
+		<field name="DERIVATION_LIST" />
+		<field name="DERIVATION_RESTRICTION" />
+		<field name="DERIVATION_UNION" />
+	</class>
+	<class name="org/w3c/dom/UserDataHandler" since="8">
+		<extends name="java/lang/Object" />
+		<method name="handle(SLjava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)V" />
+		<field name="NODE_ADOPTED" />
+		<field name="NODE_CLONED" />
+		<field name="NODE_DELETED" />
+		<field name="NODE_IMPORTED" />
+		<field name="NODE_RENAMED" />
+	</class>
+	<class name="org/w3c/dom/ls/DOMImplementationLS" since="8">
+		<extends name="java/lang/Object" />
+		<method name="createLSInput()Lorg/w3c/dom/ls/LSInput;" />
+		<method name="createLSOutput()Lorg/w3c/dom/ls/LSOutput;" />
+		<method name="createLSParser(SLjava/lang/String;)Lorg/w3c/dom/ls/LSParser;" />
+		<method name="createLSSerializer()Lorg/w3c/dom/ls/LSSerializer;" />
+		<field name="MODE_ASYNCHRONOUS" />
+		<field name="MODE_SYNCHRONOUS" />
+	</class>
+	<class name="org/w3c/dom/ls/LSException" since="8">
+		<extends name="java/lang/RuntimeException" />
+		<method name="&lt;init&gt;(SLjava/lang/String;)V" />
+		<field name="PARSE_ERR" />
+		<field name="SERIALIZE_ERR" />
+		<field name="code" />
+	</class>
+	<class name="org/w3c/dom/ls/LSInput" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getBaseURI()Ljava/lang/String;" />
+		<method name="getByteStream()Ljava/io/InputStream;" />
+		<method name="getCertifiedText()Z" />
+		<method name="getCharacterStream()Ljava/io/Reader;" />
+		<method name="getEncoding()Ljava/lang/String;" />
+		<method name="getPublicId()Ljava/lang/String;" />
+		<method name="getStringData()Ljava/lang/String;" />
+		<method name="getSystemId()Ljava/lang/String;" />
+		<method name="setBaseURI(Ljava/lang/String;)V" />
+		<method name="setByteStream(Ljava/io/InputStream;)V" />
+		<method name="setCertifiedText(Z)V" />
+		<method name="setCharacterStream(Ljava/io/Reader;)V" />
+		<method name="setEncoding(Ljava/lang/String;)V" />
+		<method name="setPublicId(Ljava/lang/String;)V" />
+		<method name="setStringData(Ljava/lang/String;)V" />
+		<method name="setSystemId(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/w3c/dom/ls/LSOutput" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getByteStream()Ljava/io/OutputStream;" />
+		<method name="getCharacterStream()Ljava/io/Writer;" />
+		<method name="getEncoding()Ljava/lang/String;" />
+		<method name="getSystemId()Ljava/lang/String;" />
+		<method name="setByteStream(Ljava/io/OutputStream;)V" />
+		<method name="setCharacterStream(Ljava/io/Writer;)V" />
+		<method name="setEncoding(Ljava/lang/String;)V" />
+		<method name="setSystemId(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/w3c/dom/ls/LSParser" since="8">
+		<extends name="java/lang/Object" />
+		<method name="abort()V" />
+		<method name="getAsync()Z" />
+		<method name="getBusy()Z" />
+		<method name="getDomConfig()Lorg/w3c/dom/DOMConfiguration;" />
+		<method name="getFilter()Lorg/w3c/dom/ls/LSParserFilter;" />
+		<method name="parse(Lorg/w3c/dom/ls/LSInput;)Lorg/w3c/dom/Document;" />
+		<method name="parseURI(Ljava/lang/String;)Lorg/w3c/dom/Document;" />
+		<method name="parseWithContext(Lorg/w3c/dom/ls/LSInput;Lorg/w3c/dom/Node;S)Lorg/w3c/dom/Node;" />
+		<method name="setFilter(Lorg/w3c/dom/ls/LSParserFilter;)V" />
+		<field name="ACTION_APPEND_AS_CHILDREN" />
+		<field name="ACTION_INSERT_AFTER" />
+		<field name="ACTION_INSERT_BEFORE" />
+		<field name="ACTION_REPLACE" />
+		<field name="ACTION_REPLACE_CHILDREN" />
+	</class>
+	<class name="org/w3c/dom/ls/LSParserFilter" since="8">
+		<extends name="java/lang/Object" />
+		<method name="acceptNode(Lorg/w3c/dom/Node;)S" />
+		<method name="getWhatToShow()I" />
+		<method name="startElement(Lorg/w3c/dom/Element;)S" />
+		<field name="FILTER_ACCEPT" />
+		<field name="FILTER_INTERRUPT" />
+		<field name="FILTER_REJECT" />
+		<field name="FILTER_SKIP" />
+	</class>
+	<class name="org/w3c/dom/ls/LSResourceResolver" since="8">
+		<extends name="java/lang/Object" />
+		<method name="resolveResource(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/ls/LSInput;" />
+	</class>
+	<class name="org/w3c/dom/ls/LSSerializer" since="8">
+		<extends name="java/lang/Object" />
+		<method name="getDomConfig()Lorg/w3c/dom/DOMConfiguration;" />
+		<method name="getNewLine()Ljava/lang/String;" />
+		<method name="setNewLine(Ljava/lang/String;)V" />
+		<method name="write(Lorg/w3c/dom/Node;Lorg/w3c/dom/ls/LSOutput;)Z" />
+		<method name="writeToString(Lorg/w3c/dom/Node;)Ljava/lang/String;" />
+		<method name="writeToURI(Lorg/w3c/dom/Node;Ljava/lang/String;)Z" />
+	</class>
+	<class name="org/xml/sax/AttributeList" since="1" deprecated="9">
+		<extends name="java/lang/Object" />
+		<method name="getLength()I" deprecated="29" />
+		<method name="getName(I)Ljava/lang/String;" deprecated="29" />
+		<method name="getType(I)Ljava/lang/String;" deprecated="29" />
+		<method name="getType(Ljava/lang/String;)Ljava/lang/String;" deprecated="29" />
+		<method name="getValue(I)Ljava/lang/String;" deprecated="29" />
+		<method name="getValue(Ljava/lang/String;)Ljava/lang/String;" deprecated="29" />
+	</class>
+	<class name="org/xml/sax/Attributes" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getIndex(Ljava/lang/String;)I" />
+		<method name="getIndex(Ljava/lang/String;Ljava/lang/String;)I" />
+		<method name="getLength()I" />
+		<method name="getLocalName(I)Ljava/lang/String;" />
+		<method name="getQName(I)Ljava/lang/String;" />
+		<method name="getType(I)Ljava/lang/String;" />
+		<method name="getType(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getURI(I)Ljava/lang/String;" />
+		<method name="getValue(I)Ljava/lang/String;" />
+		<method name="getValue(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+	</class>
+	<class name="org/xml/sax/ContentHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="characters([CII)V" />
+		<method name="endDocument()V" />
+		<method name="endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="endPrefixMapping(Ljava/lang/String;)V" />
+		<method name="ignorableWhitespace([CII)V" />
+		<method name="processingInstruction(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setDocumentLocator(Lorg/xml/sax/Locator;)V" />
+		<method name="skippedEntity(Ljava/lang/String;)V" />
+		<method name="startDocument()V" />
+		<method name="startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V" />
+		<method name="startPrefixMapping(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="org/xml/sax/DTDHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="notationDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="unparsedEntityDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="org/xml/sax/DocumentHandler" since="1" deprecated="9">
+		<extends name="java/lang/Object" />
+		<method name="characters([CII)V" deprecated="29" />
+		<method name="endDocument()V" deprecated="29" />
+		<method name="endElement(Ljava/lang/String;)V" deprecated="29" />
+		<method name="ignorableWhitespace([CII)V" deprecated="29" />
+		<method name="processingInstruction(Ljava/lang/String;Ljava/lang/String;)V" deprecated="29" />
+		<method name="setDocumentLocator(Lorg/xml/sax/Locator;)V" deprecated="29" />
+		<method name="startDocument()V" deprecated="29" />
+		<method name="startElement(Ljava/lang/String;Lorg/xml/sax/AttributeList;)V" deprecated="29" />
+	</class>
+	<class name="org/xml/sax/EntityResolver" since="1">
+		<extends name="java/lang/Object" />
+		<method name="resolveEntity(Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;" />
+	</class>
+	<class name="org/xml/sax/ErrorHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="error(Lorg/xml/sax/SAXParseException;)V" />
+		<method name="fatalError(Lorg/xml/sax/SAXParseException;)V" />
+		<method name="warning(Lorg/xml/sax/SAXParseException;)V" />
+	</class>
+	<class name="org/xml/sax/HandlerBase" since="1" deprecated="9">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/DTDHandler" />
+		<implements name="org/xml/sax/DocumentHandler" />
+		<implements name="org/xml/sax/EntityResolver" />
+		<implements name="org/xml/sax/ErrorHandler" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+	</class>
+	<class name="org/xml/sax/InputSource" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/io/InputStream;)V" />
+		<method name="&lt;init&gt;(Ljava/io/Reader;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="getByteStream()Ljava/io/InputStream;" />
+		<method name="getCharacterStream()Ljava/io/Reader;" />
+		<method name="getEncoding()Ljava/lang/String;" />
+		<method name="getPublicId()Ljava/lang/String;" />
+		<method name="getSystemId()Ljava/lang/String;" />
+		<method name="setByteStream(Ljava/io/InputStream;)V" />
+		<method name="setCharacterStream(Ljava/io/Reader;)V" />
+		<method name="setEncoding(Ljava/lang/String;)V" />
+		<method name="setPublicId(Ljava/lang/String;)V" />
+		<method name="setSystemId(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/xml/sax/Locator" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getColumnNumber()I" />
+		<method name="getLineNumber()I" />
+		<method name="getPublicId()Ljava/lang/String;" />
+		<method name="getSystemId()Ljava/lang/String;" />
+	</class>
+	<class name="org/xml/sax/Parser" since="1" deprecated="9">
+		<extends name="java/lang/Object" />
+		<method name="parse(Ljava/lang/String;)V" deprecated="29" />
+		<method name="parse(Lorg/xml/sax/InputSource;)V" deprecated="29" />
+		<method name="setDTDHandler(Lorg/xml/sax/DTDHandler;)V" deprecated="29" />
+		<method name="setDocumentHandler(Lorg/xml/sax/DocumentHandler;)V" deprecated="29" />
+		<method name="setEntityResolver(Lorg/xml/sax/EntityResolver;)V" deprecated="29" />
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V" deprecated="29" />
+		<method name="setLocale(Ljava/util/Locale;)V" deprecated="29" />
+	</class>
+	<class name="org/xml/sax/SAXException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/Exception;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/Exception;)V" />
+		<method name="getException()Ljava/lang/Exception;" />
+	</class>
+	<class name="org/xml/sax/SAXNotRecognizedException" since="1">
+		<extends name="org/xml/sax/SAXException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/xml/sax/SAXNotSupportedException" since="1">
+		<extends name="org/xml/sax/SAXException" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/xml/sax/SAXParseException" since="1">
+		<extends name="org/xml/sax/SAXException" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/Exception;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Lorg/xml/sax/Locator;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Lorg/xml/sax/Locator;Ljava/lang/Exception;)V" />
+		<method name="getColumnNumber()I" />
+		<method name="getLineNumber()I" />
+		<method name="getPublicId()Ljava/lang/String;" />
+		<method name="getSystemId()Ljava/lang/String;" />
+	</class>
+	<class name="org/xml/sax/XMLFilter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/XMLReader" />
+		<method name="getParent()Lorg/xml/sax/XMLReader;" />
+		<method name="setParent(Lorg/xml/sax/XMLReader;)V" />
+	</class>
+	<class name="org/xml/sax/XMLReader" since="1">
+		<extends name="java/lang/Object" />
+		<method name="getContentHandler()Lorg/xml/sax/ContentHandler;" />
+		<method name="getDTDHandler()Lorg/xml/sax/DTDHandler;" />
+		<method name="getEntityResolver()Lorg/xml/sax/EntityResolver;" />
+		<method name="getErrorHandler()Lorg/xml/sax/ErrorHandler;" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="parse(Ljava/lang/String;)V" />
+		<method name="parse(Lorg/xml/sax/InputSource;)V" />
+		<method name="setContentHandler(Lorg/xml/sax/ContentHandler;)V" />
+		<method name="setDTDHandler(Lorg/xml/sax/DTDHandler;)V" />
+		<method name="setEntityResolver(Lorg/xml/sax/EntityResolver;)V" />
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V" />
+	</class>
+	<class name="org/xml/sax/ext/Attributes2" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/Attributes" />
+		<method name="isDeclared(I)Z" />
+		<method name="isDeclared(Ljava/lang/String;)Z" />
+		<method name="isDeclared(Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="isSpecified(I)Z" />
+		<method name="isSpecified(Ljava/lang/String;)Z" />
+		<method name="isSpecified(Ljava/lang/String;Ljava/lang/String;)Z" />
+	</class>
+	<class name="org/xml/sax/ext/Attributes2Impl" since="1">
+		<extends name="org/xml/sax/helpers/AttributesImpl" />
+		<implements name="org/xml/sax/ext/Attributes2" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/Attributes;)V" />
+		<method name="setDeclared(IZ)V" />
+		<method name="setSpecified(IZ)V" />
+	</class>
+	<class name="org/xml/sax/ext/DeclHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="attributeDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="elementDecl(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="externalEntityDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="internalEntityDecl(Ljava/lang/String;Ljava/lang/String;)V" />
+	</class>
+	<class name="org/xml/sax/ext/DefaultHandler2" since="1">
+		<extends name="org/xml/sax/helpers/DefaultHandler" />
+		<implements name="org/xml/sax/ext/DeclHandler" />
+		<implements name="org/xml/sax/ext/EntityResolver2" />
+		<implements name="org/xml/sax/ext/LexicalHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/xml/sax/ext/EntityResolver2" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/EntityResolver" />
+		<method name="getExternalSubset(Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;" />
+		<method name="resolveEntity(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;" />
+	</class>
+	<class name="org/xml/sax/ext/LexicalHandler" since="1">
+		<extends name="java/lang/Object" />
+		<method name="comment([CII)V" />
+		<method name="endCDATA()V" />
+		<method name="endDTD()V" />
+		<method name="endEntity(Ljava/lang/String;)V" />
+		<method name="startCDATA()V" />
+		<method name="startDTD(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="startEntity(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/xml/sax/ext/Locator2" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/Locator" />
+		<method name="getEncoding()Ljava/lang/String;" />
+		<method name="getXMLVersion()Ljava/lang/String;" />
+	</class>
+	<class name="org/xml/sax/ext/Locator2Impl" since="1">
+		<extends name="org/xml/sax/helpers/LocatorImpl" />
+		<implements name="org/xml/sax/ext/Locator2" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/Locator;)V" />
+		<method name="setEncoding(Ljava/lang/String;)V" />
+		<method name="setXMLVersion(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/xml/sax/helpers/AttributeListImpl" since="1" deprecated="9">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/AttributeList" />
+		<method name="&lt;init&gt;()V" deprecated="29" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/AttributeList;)V" deprecated="29" />
+		<method name="addAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="29" />
+		<method name="clear()V" deprecated="29" />
+		<method name="removeAttribute(Ljava/lang/String;)V" deprecated="29" />
+		<method name="setAttributeList(Lorg/xml/sax/AttributeList;)V" deprecated="29" />
+	</class>
+	<class name="org/xml/sax/helpers/AttributesImpl" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/Attributes" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/Attributes;)V" />
+		<method name="addAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="clear()V" />
+		<method name="removeAttribute(I)V" />
+		<method name="setAttribute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setAttributes(Lorg/xml/sax/Attributes;)V" />
+		<method name="setLocalName(ILjava/lang/String;)V" />
+		<method name="setQName(ILjava/lang/String;)V" />
+		<method name="setType(ILjava/lang/String;)V" />
+		<method name="setURI(ILjava/lang/String;)V" />
+		<method name="setValue(ILjava/lang/String;)V" />
+	</class>
+	<class name="org/xml/sax/helpers/DefaultHandler" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/ContentHandler" />
+		<implements name="org/xml/sax/DTDHandler" />
+		<implements name="org/xml/sax/EntityResolver" />
+		<implements name="org/xml/sax/ErrorHandler" />
+		<method name="&lt;init&gt;()V" />
+	</class>
+	<class name="org/xml/sax/helpers/LocatorImpl" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/Locator" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/Locator;)V" />
+		<method name="setColumnNumber(I)V" />
+		<method name="setLineNumber(I)V" />
+		<method name="setPublicId(Ljava/lang/String;)V" />
+		<method name="setSystemId(Ljava/lang/String;)V" />
+	</class>
+	<class name="org/xml/sax/helpers/NamespaceSupport" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="declarePrefix(Ljava/lang/String;Ljava/lang/String;)Z" />
+		<method name="getDeclaredPrefixes()Ljava/util/Enumeration;" />
+		<method name="getPrefix(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getPrefixes()Ljava/util/Enumeration;" />
+		<method name="getPrefixes(Ljava/lang/String;)Ljava/util/Enumeration;" />
+		<method name="getURI(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="isNamespaceDeclUris()Z" />
+		<method name="popContext()V" />
+		<method name="processName(Ljava/lang/String;[Ljava/lang/String;Z)[Ljava/lang/String;" />
+		<method name="pushContext()V" />
+		<method name="reset()V" />
+		<method name="setNamespaceDeclUris(Z)V" />
+		<field name="NSDECL" />
+		<field name="XMLNS" />
+	</class>
+	<class name="org/xml/sax/helpers/ParserAdapter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/DocumentHandler" />
+		<implements name="org/xml/sax/XMLReader" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/Parser;)V" />
+	</class>
+	<class name="org/xml/sax/helpers/ParserFactory" since="1" deprecated="9">
+		<extends name="java/lang/Object" />
+		<method name="makeParser()Lorg/xml/sax/Parser;" deprecated="29" />
+		<method name="makeParser(Ljava/lang/String;)Lorg/xml/sax/Parser;" deprecated="29" />
+	</class>
+	<class name="org/xml/sax/helpers/XMLFilterImpl" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/ContentHandler" />
+		<implements name="org/xml/sax/DTDHandler" />
+		<implements name="org/xml/sax/EntityResolver" />
+		<implements name="org/xml/sax/ErrorHandler" />
+		<implements name="org/xml/sax/XMLFilter" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/XMLReader;)V" />
+	</class>
+	<class name="org/xml/sax/helpers/XMLReaderAdapter" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/ContentHandler" />
+		<implements name="org/xml/sax/Parser" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/xml/sax/XMLReader;)V" />
+	</class>
+	<class name="org/xml/sax/helpers/XMLReaderFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="createXMLReader()Lorg/xml/sax/XMLReader;" />
+		<method name="createXMLReader(Ljava/lang/String;)Lorg/xml/sax/XMLReader;" />
+	</class>
+	<class name="org/xmlpull/v1/XmlPullParser" since="1">
+		<extends name="java/lang/Object" />
+		<method name="defineEntityReplacementText(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="getAttributeCount()I" />
+		<method name="getAttributeName(I)Ljava/lang/String;" />
+		<method name="getAttributeNamespace(I)Ljava/lang/String;" />
+		<method name="getAttributePrefix(I)Ljava/lang/String;" />
+		<method name="getAttributeType(I)Ljava/lang/String;" />
+		<method name="getAttributeValue(I)Ljava/lang/String;" />
+		<method name="getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getColumnNumber()I" />
+		<method name="getDepth()I" />
+		<method name="getEventType()I" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="getInputEncoding()Ljava/lang/String;" />
+		<method name="getLineNumber()I" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getNamespace()Ljava/lang/String;" />
+		<method name="getNamespace(Ljava/lang/String;)Ljava/lang/String;" />
+		<method name="getNamespaceCount(I)I" />
+		<method name="getNamespacePrefix(I)Ljava/lang/String;" />
+		<method name="getNamespaceUri(I)Ljava/lang/String;" />
+		<method name="getPositionDescription()Ljava/lang/String;" />
+		<method name="getPrefix()Ljava/lang/String;" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="getText()Ljava/lang/String;" />
+		<method name="getTextCharacters([I)[C" />
+		<method name="isAttributeDefault(I)Z" />
+		<method name="isEmptyElementTag()Z" />
+		<method name="isWhitespace()Z" />
+		<method name="next()I" />
+		<method name="nextTag()I" />
+		<method name="nextText()Ljava/lang/String;" />
+		<method name="nextToken()I" />
+		<method name="require(ILjava/lang/String;Ljava/lang/String;)V" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setInput(Ljava/io/InputStream;Ljava/lang/String;)V" />
+		<method name="setInput(Ljava/io/Reader;)V" />
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<field name="CDSECT" />
+		<field name="COMMENT" />
+		<field name="DOCDECL" />
+		<field name="END_DOCUMENT" />
+		<field name="END_TAG" />
+		<field name="ENTITY_REF" />
+		<field name="FEATURE_PROCESS_DOCDECL" />
+		<field name="FEATURE_PROCESS_NAMESPACES" />
+		<field name="FEATURE_REPORT_NAMESPACE_ATTRIBUTES" />
+		<field name="FEATURE_VALIDATION" />
+		<field name="IGNORABLE_WHITESPACE" />
+		<field name="NO_NAMESPACE" />
+		<field name="PROCESSING_INSTRUCTION" />
+		<field name="START_DOCUMENT" />
+		<field name="START_TAG" />
+		<field name="TEXT" />
+		<field name="TYPES" />
+	</class>
+	<class name="org/xmlpull/v1/XmlPullParserException" since="1">
+		<extends name="java/lang/Exception" />
+		<method name="&lt;init&gt;(Ljava/lang/String;)V" />
+		<method name="&lt;init&gt;(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/Throwable;)V" />
+		<method name="getColumnNumber()I" />
+		<method name="getDetail()Ljava/lang/Throwable;" />
+		<method name="getLineNumber()I" />
+		<field name="column" />
+		<field name="detail" />
+		<field name="row" />
+	</class>
+	<class name="org/xmlpull/v1/XmlPullParserFactory" since="1">
+		<extends name="java/lang/Object" />
+		<method name="&lt;init&gt;()V" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="isNamespaceAware()Z" />
+		<method name="isValidating()Z" />
+		<method name="newInstance()Lorg/xmlpull/v1/XmlPullParserFactory;" />
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/Class;)Lorg/xmlpull/v1/XmlPullParserFactory;" />
+		<method name="newPullParser()Lorg/xmlpull/v1/XmlPullParser;" />
+		<method name="newSerializer()Lorg/xmlpull/v1/XmlSerializer;" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setNamespaceAware(Z)V" />
+		<method name="setValidating(Z)V" />
+		<field name="PROPERTY_NAME" />
+		<field name="classNamesLocation" />
+		<field name="features" />
+		<field name="parserClasses" />
+		<field name="serializerClasses" />
+	</class>
+	<class name="org/xmlpull/v1/XmlSerializer" since="1">
+		<extends name="java/lang/Object" />
+		<method name="attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;" />
+		<method name="cdsect(Ljava/lang/String;)V" />
+		<method name="comment(Ljava/lang/String;)V" />
+		<method name="docdecl(Ljava/lang/String;)V" />
+		<method name="endDocument()V" />
+		<method name="endTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;" />
+		<method name="entityRef(Ljava/lang/String;)V" />
+		<method name="flush()V" />
+		<method name="getDepth()I" />
+		<method name="getFeature(Ljava/lang/String;)Z" />
+		<method name="getName()Ljava/lang/String;" />
+		<method name="getNamespace()Ljava/lang/String;" />
+		<method name="getPrefix(Ljava/lang/String;Z)Ljava/lang/String;" />
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;" />
+		<method name="ignorableWhitespace(Ljava/lang/String;)V" />
+		<method name="processingInstruction(Ljava/lang/String;)V" />
+		<method name="setFeature(Ljava/lang/String;Z)V" />
+		<method name="setOutput(Ljava/io/OutputStream;Ljava/lang/String;)V" />
+		<method name="setOutput(Ljava/io/Writer;)V" />
+		<method name="setPrefix(Ljava/lang/String;Ljava/lang/String;)V" />
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V" />
+		<method name="startDocument(Ljava/lang/String;Ljava/lang/Boolean;)V" />
+		<method name="startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;" />
+		<method name="text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;" />
+		<method name="text([CII)Lorg/xmlpull/v1/XmlSerializer;" />
+	</class>
+	<class name="org/xmlpull/v1/sax2/Driver" since="1">
+		<extends name="java/lang/Object" />
+		<implements name="org/xml/sax/Attributes" />
+		<implements name="org/xml/sax/Locator" />
+		<implements name="org/xml/sax/XMLReader" />
+		<method name="&lt;init&gt;()V" />
+		<method name="&lt;init&gt;(Lorg/xmlpull/v1/XmlPullParser;)V" />
+		<method name="parseSubTree(Lorg/xmlpull/v1/XmlPullParser;)V" />
+		<method name="startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" />
+		<field name="APACHE_DYNAMIC_VALIDATION_FEATURE" />
+		<field name="APACHE_SCHEMA_VALIDATION_FEATURE" />
+		<field name="DECLARATION_HANDLER_PROPERTY" />
+		<field name="LEXICAL_HANDLER_PROPERTY" />
+		<field name="NAMESPACES_FEATURE" />
+		<field name="NAMESPACE_PREFIXES_FEATURE" />
+		<field name="VALIDATION_FEATURE" />
+		<field name="contentHandler" />
+		<field name="errorHandler" />
+		<field name="pp" />
+		<field name="systemId" />
+	</class>
+</api>
\ No newline at end of file
diff --git a/32/public/data/api-versions.xml b/32/public/data/api-versions.xml
new file mode 100644
index 0000000..04d49f8
--- /dev/null
+++ b/32/public/data/api-versions.xml
@@ -0,0 +1,88840 @@
+<?xml version="1.0" encoding="utf-8"?>
+<api version="2">
+	<class name="android/Manifest" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/Manifest$permission" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="ACCEPT_HANDOVER" since="28"/>
+		<field name="ACCESS_BACKGROUND_LOCATION" since="29"/>
+		<field name="ACCESS_BLOBS_ACROSS_USERS" since="31"/>
+		<field name="ACCESS_CHECKIN_PROPERTIES"/>
+		<field name="ACCESS_COARSE_LOCATION"/>
+		<field name="ACCESS_FINE_LOCATION"/>
+		<field name="ACCESS_LOCATION_EXTRA_COMMANDS"/>
+		<field name="ACCESS_MEDIA_LOCATION" since="29"/>
+		<field name="ACCESS_MOCK_LOCATION" removed="23"/>
+		<field name="ACCESS_NETWORK_STATE"/>
+		<field name="ACCESS_NOTIFICATION_POLICY" since="23"/>
+		<field name="ACCESS_SURFACE_FLINGER" removed="23"/>
+		<field name="ACCESS_WIFI_STATE"/>
+		<field name="ACCOUNT_MANAGER" since="5"/>
+		<field name="ACTIVITY_RECOGNITION" since="29"/>
+		<field name="ADD_SYSTEM_SERVICE" removed="4"/>
+		<field name="ADD_VOICEMAIL" since="14"/>
+		<field name="ANSWER_PHONE_CALLS" since="26"/>
+		<field name="AUTHENTICATE_ACCOUNTS" since="5" removed="23"/>
+		<field name="BATTERY_STATS"/>
+		<field name="BIND_ACCESSIBILITY_SERVICE" since="16"/>
+		<field name="BIND_APPWIDGET" since="3"/>
+		<field name="BIND_AUTOFILL_SERVICE" since="26"/>
+		<field name="BIND_CALL_REDIRECTION_SERVICE" since="29"/>
+		<field name="BIND_CARRIER_MESSAGING_CLIENT_SERVICE" since="29"/>
+		<field name="BIND_CARRIER_MESSAGING_SERVICE" since="22" deprecated="23"/>
+		<field name="BIND_CARRIER_SERVICES" since="23"/>
+		<field name="BIND_CHOOSER_TARGET_SERVICE" since="23" deprecated="30"/>
+		<field name="BIND_COMPANION_DEVICE_SERVICE" since="31"/>
+		<field name="BIND_CONDITION_PROVIDER_SERVICE" since="24"/>
+		<field name="BIND_CONTROLS" since="30"/>
+		<field name="BIND_DEVICE_ADMIN" since="8"/>
+		<field name="BIND_DREAM_SERVICE" since="21"/>
+		<field name="BIND_INCALL_SERVICE" since="23"/>
+		<field name="BIND_INPUT_METHOD" since="3"/>
+		<field name="BIND_MIDI_DEVICE_SERVICE" since="23"/>
+		<field name="BIND_NFC_SERVICE" since="19"/>
+		<field name="BIND_NOTIFICATION_LISTENER_SERVICE" since="18"/>
+		<field name="BIND_PRINT_SERVICE" since="19"/>
+		<field name="BIND_QUICK_ACCESS_WALLET_SERVICE" since="30"/>
+		<field name="BIND_QUICK_SETTINGS_TILE" since="24"/>
+		<field name="BIND_REMOTEVIEWS" since="11"/>
+		<field name="BIND_SCREENING_SERVICE" since="24"/>
+		<field name="BIND_TELECOM_CONNECTION_SERVICE" since="23"/>
+		<field name="BIND_TEXT_SERVICE" since="14"/>
+		<field name="BIND_TV_INPUT" since="21"/>
+		<field name="BIND_VISUAL_VOICEMAIL_SERVICE" since="26"/>
+		<field name="BIND_VOICE_INTERACTION" since="21"/>
+		<field name="BIND_VPN_SERVICE" since="14"/>
+		<field name="BIND_VR_LISTENER_SERVICE" since="24"/>
+		<field name="BIND_WALLPAPER" since="8"/>
+		<field name="BLUETOOTH"/>
+		<field name="BLUETOOTH_ADMIN"/>
+		<field name="BLUETOOTH_ADVERTISE" since="31"/>
+		<field name="BLUETOOTH_CONNECT" since="31"/>
+		<field name="BLUETOOTH_PRIVILEGED" since="19"/>
+		<field name="BLUETOOTH_SCAN" since="31"/>
+		<field name="BODY_SENSORS" since="20"/>
+		<field name="BRICK" removed="23"/>
+		<field name="BROADCAST_PACKAGE_REMOVED"/>
+		<field name="BROADCAST_SMS" since="2"/>
+		<field name="BROADCAST_STICKY"/>
+		<field name="BROADCAST_WAP_PUSH" since="2"/>
+		<field name="CALL_COMPANION_APP" since="29"/>
+		<field name="CALL_PHONE"/>
+		<field name="CALL_PRIVILEGED"/>
+		<field name="CAMERA"/>
+		<field name="CAPTURE_AUDIO_OUTPUT" since="19"/>
+		<field name="CAPTURE_SECURE_VIDEO_OUTPUT" since="19" removed="29"/>
+		<field name="CAPTURE_VIDEO_OUTPUT" since="19" removed="29"/>
+		<field name="CHANGE_COMPONENT_ENABLED_STATE"/>
+		<field name="CHANGE_CONFIGURATION"/>
+		<field name="CHANGE_NETWORK_STATE"/>
+		<field name="CHANGE_WIFI_MULTICAST_STATE" since="4"/>
+		<field name="CHANGE_WIFI_STATE"/>
+		<field name="CLEAR_APP_CACHE"/>
+		<field name="CLEAR_APP_USER_DATA" removed="23"/>
+		<field name="CONTROL_LOCATION_UPDATES"/>
+		<field name="DELETE_CACHE_FILES"/>
+		<field name="DELETE_PACKAGES"/>
+		<field name="DEVICE_POWER" removed="23"/>
+		<field name="DIAGNOSTIC"/>
+		<field name="DISABLE_KEYGUARD"/>
+		<field name="DUMP"/>
+		<field name="EXPAND_STATUS_BAR"/>
+		<field name="FACTORY_TEST"/>
+		<field name="FLASHLIGHT" removed="24"/>
+		<field name="FORCE_BACK" removed="23"/>
+		<field name="FOREGROUND_SERVICE" since="28"/>
+		<field name="FOTA_UPDATE" removed="4"/>
+		<field name="GET_ACCOUNTS"/>
+		<field name="GET_ACCOUNTS_PRIVILEGED" since="23"/>
+		<field name="GET_PACKAGE_SIZE"/>
+		<field name="GET_TASKS" deprecated="21"/>
+		<field name="GET_TOP_ACTIVITY_INFO" since="18" removed="23"/>
+		<field name="GLOBAL_SEARCH" since="4"/>
+		<field name="HARDWARE_TEST" removed="23"/>
+		<field name="HIDE_OVERLAY_WINDOWS" since="31"/>
+		<field name="HIGH_SAMPLING_RATE_SENSORS" since="31"/>
+		<field name="INJECT_EVENTS" removed="23"/>
+		<field name="INSTALL_LOCATION_PROVIDER" since="4"/>
+		<field name="INSTALL_PACKAGES"/>
+		<field name="INSTALL_SHORTCUT" since="19"/>
+		<field name="INSTANT_APP_FOREGROUND_SERVICE" since="26"/>
+		<field name="INTERACT_ACROSS_PROFILES" since="30"/>
+		<field name="INTERNAL_SYSTEM_WINDOW" removed="23"/>
+		<field name="INTERNET"/>
+		<field name="KILL_BACKGROUND_PROCESSES" since="8"/>
+		<field name="LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK" since="33"/>
+		<field name="LOADER_USAGE_STATS" since="30"/>
+		<field name="LOCATION_HARDWARE" since="18"/>
+		<field name="MANAGE_ACCOUNTS" since="5" removed="23"/>
+		<field name="MANAGE_APP_TOKENS" removed="23"/>
+		<field name="MANAGE_DOCUMENTS" since="19"/>
+		<field name="MANAGE_EXTERNAL_STORAGE" since="30"/>
+		<field name="MANAGE_MEDIA" since="31"/>
+		<field name="MANAGE_ONGOING_CALLS" since="31"/>
+		<field name="MANAGE_OWN_CALLS" since="26"/>
+		<field name="MASTER_CLEAR"/>
+		<field name="MEDIA_CONTENT_CONTROL" since="19"/>
+		<field name="MODIFY_AUDIO_SETTINGS"/>
+		<field name="MODIFY_PHONE_STATE"/>
+		<field name="MOUNT_FORMAT_FILESYSTEMS" since="3"/>
+		<field name="MOUNT_UNMOUNT_FILESYSTEMS"/>
+		<field name="NFC" since="9"/>
+		<field name="NFC_PREFERRED_PAYMENT_INFO" since="30"/>
+		<field name="NFC_TRANSACTION_EVENT" since="28"/>
+		<field name="PACKAGE_USAGE_STATS" since="23"/>
+		<field name="PERSISTENT_ACTIVITY" deprecated="15"/>
+		<field name="PROCESS_OUTGOING_CALLS" deprecated="29"/>
+		<field name="QUERY_ALL_PACKAGES" since="30"/>
+		<field name="READ_CALENDAR"/>
+		<field name="READ_CALL_LOG" since="16"/>
+		<field name="READ_CONTACTS"/>
+		<field name="READ_EXTERNAL_STORAGE" since="16"/>
+		<field name="READ_FRAME_BUFFER" removed="29"/>
+		<field name="READ_HISTORY_BOOKMARKS" since="4" removed="23"/>
+		<field name="READ_INPUT_STATE" deprecated="16"/>
+		<field name="READ_LOGS"/>
+		<field name="READ_OWNER_DATA" removed="9"/>
+		<field name="READ_PHONE_NUMBERS" since="26"/>
+		<field name="READ_PHONE_STATE"/>
+		<field name="READ_PRECISE_PHONE_STATE" since="30"/>
+		<field name="READ_PROFILE" since="14" removed="23"/>
+		<field name="READ_SMS"/>
+		<field name="READ_SOCIAL_STREAM" since="15" deprecated="21" removed="23"/>
+		<field name="READ_SYNC_SETTINGS"/>
+		<field name="READ_SYNC_STATS"/>
+		<field name="READ_USER_DICTIONARY" since="16" removed="23"/>
+		<field name="READ_VOICEMAIL" since="21"/>
+		<field name="REBOOT"/>
+		<field name="RECEIVE_BOOT_COMPLETED"/>
+		<field name="RECEIVE_MMS"/>
+		<field name="RECEIVE_SMS"/>
+		<field name="RECEIVE_WAP_PUSH"/>
+		<field name="RECORD_AUDIO"/>
+		<field name="REORDER_TASKS"/>
+		<field name="REQUEST_COMPANION_PROFILE_WATCH" since="31"/>
+		<field name="REQUEST_COMPANION_RUN_IN_BACKGROUND" since="26"/>
+		<field name="REQUEST_COMPANION_START_FOREGROUND_SERVICES_FROM_BACKGROUND" since="31"/>
+		<field name="REQUEST_COMPANION_USE_DATA_IN_BACKGROUND" since="26"/>
+		<field name="REQUEST_DELETE_PACKAGES" since="26"/>
+		<field name="REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" since="23"/>
+		<field name="REQUEST_INSTALL_PACKAGES" since="23"/>
+		<field name="REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE" since="31"/>
+		<field name="REQUEST_PASSWORD_COMPLEXITY" since="29"/>
+		<field name="RESTART_PACKAGES" deprecated="15"/>
+		<field name="SCHEDULE_EXACT_ALARM" since="31"/>
+		<field name="SEND_RESPOND_VIA_MESSAGE" since="18"/>
+		<field name="SEND_SMS"/>
+		<field name="SET_ACTIVITY_WATCHER" removed="23"/>
+		<field name="SET_ALARM" since="9"/>
+		<field name="SET_ALWAYS_FINISH"/>
+		<field name="SET_ANIMATION_SCALE"/>
+		<field name="SET_DEBUG_APP"/>
+		<field name="SET_ORIENTATION" removed="23"/>
+		<field name="SET_POINTER_SPEED" since="13" removed="23"/>
+		<field name="SET_PREFERRED_APPLICATIONS" deprecated="15"/>
+		<field name="SET_PROCESS_FOREGROUND" removed="4"/>
+		<field name="SET_PROCESS_LIMIT"/>
+		<field name="SET_TIME" since="8"/>
+		<field name="SET_TIME_ZONE"/>
+		<field name="SET_WALLPAPER"/>
+		<field name="SET_WALLPAPER_HINTS"/>
+		<field name="SIGNAL_PERSISTENT_PROCESSES"/>
+		<field name="SMS_FINANCIAL_TRANSACTIONS" since="29" deprecated="31"/>
+		<field name="START_FOREGROUND_SERVICES_FROM_BACKGROUND" since="31"/>
+		<field name="START_VIEW_PERMISSION_USAGE" since="29"/>
+		<field name="STATUS_BAR"/>
+		<field name="SUBSCRIBED_FEEDS_READ" removed="23"/>
+		<field name="SUBSCRIBED_FEEDS_WRITE" removed="23"/>
+		<field name="SYSTEM_ALERT_WINDOW"/>
+		<field name="TRANSMIT_IR" since="19"/>
+		<field name="UNINSTALL_SHORTCUT" since="19"/>
+		<field name="UPDATE_DEVICE_STATS" since="3"/>
+		<field name="UPDATE_PACKAGES_WITHOUT_USER_ACTION" since="31"/>
+		<field name="USE_BIOMETRIC" since="28"/>
+		<field name="USE_CREDENTIALS" since="5" removed="23"/>
+		<field name="USE_FINGERPRINT" since="23" deprecated="28"/>
+		<field name="USE_FULL_SCREEN_INTENT" since="29"/>
+		<field name="USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER" since="31"/>
+		<field name="USE_SIP" since="9"/>
+		<field name="UWB_RANGING" since="31"/>
+		<field name="VIBRATE"/>
+		<field name="WAKE_LOCK"/>
+		<field name="WRITE_APN_SETTINGS"/>
+		<field name="WRITE_CALENDAR"/>
+		<field name="WRITE_CALL_LOG" since="16"/>
+		<field name="WRITE_CONTACTS"/>
+		<field name="WRITE_EXTERNAL_STORAGE" since="4"/>
+		<field name="WRITE_GSERVICES"/>
+		<field name="WRITE_HISTORY_BOOKMARKS" since="4" removed="23"/>
+		<field name="WRITE_OWNER_DATA" removed="9"/>
+		<field name="WRITE_PROFILE" since="14" removed="23"/>
+		<field name="WRITE_SECURE_SETTINGS" since="3"/>
+		<field name="WRITE_SETTINGS"/>
+		<field name="WRITE_SMS" removed="23"/>
+		<field name="WRITE_SOCIAL_STREAM" since="15" deprecated="21" removed="23"/>
+		<field name="WRITE_SYNC_SETTINGS"/>
+		<field name="WRITE_USER_DICTIONARY" since="16" removed="23"/>
+		<field name="WRITE_VOICEMAIL" since="21"/>
+	</class>
+	<class name="android/Manifest$permission_group" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="ACCESSIBILITY_FEATURES" since="18" removed="23"/>
+		<field name="ACCOUNTS" removed="23"/>
+		<field name="ACTIVITY_RECOGNITION" since="29"/>
+		<field name="AFFECTS_BATTERY" since="17" removed="23"/>
+		<field name="APP_INFO" since="17" removed="23"/>
+		<field name="AUDIO_SETTINGS" since="17" removed="23"/>
+		<field name="BLUETOOTH_NETWORK" since="17" removed="23"/>
+		<field name="BOOKMARKS" since="17" removed="23"/>
+		<field name="CALENDAR" since="17"/>
+		<field name="CALL_LOG" since="28"/>
+		<field name="CAMERA" since="17"/>
+		<field name="CONTACTS" since="23"/>
+		<field name="COST_MONEY" removed="23"/>
+		<field name="DEVELOPMENT_TOOLS" removed="23"/>
+		<field name="DEVICE_ALARMS" since="17" removed="23"/>
+		<field name="DISPLAY" since="17" removed="23"/>
+		<field name="HARDWARE_CONTROLS" removed="23"/>
+		<field name="LOCATION"/>
+		<field name="MESSAGES" removed="23"/>
+		<field name="MICROPHONE" since="17"/>
+		<field name="NEARBY_DEVICES" since="31"/>
+		<field name="NETWORK" removed="23"/>
+		<field name="PERSONAL_INFO" removed="23"/>
+		<field name="PHONE" since="23"/>
+		<field name="PHONE_CALLS" removed="23"/>
+		<field name="SCREENLOCK" since="17" removed="23"/>
+		<field name="SENSORS" since="23"/>
+		<field name="SMS" since="23"/>
+		<field name="SOCIAL_INFO" since="17" removed="23"/>
+		<field name="STATUS_BAR" since="17" removed="23"/>
+		<field name="STORAGE" since="4"/>
+		<field name="SYNC_SETTINGS" since="17" removed="23"/>
+		<field name="SYSTEM_CLOCK" since="17" removed="23"/>
+		<field name="SYSTEM_TOOLS" removed="23"/>
+		<field name="USER_DICTIONARY" since="17" removed="23"/>
+		<field name="VOICEMAIL" since="17" removed="23"/>
+		<field name="WALLPAPER" since="17" removed="23"/>
+		<field name="WRITE_USER_DICTIONARY" since="17" removed="23"/>
+	</class>
+	<class name="android/R" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/R$anim" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="accelerate_decelerate_interpolator"/>
+		<field name="accelerate_interpolator"/>
+		<field name="anticipate_interpolator" since="4"/>
+		<field name="anticipate_overshoot_interpolator" since="4"/>
+		<field name="bounce_interpolator" since="4"/>
+		<field name="cycle_interpolator" since="8"/>
+		<field name="decelerate_interpolator"/>
+		<field name="fade_in"/>
+		<field name="fade_out"/>
+		<field name="linear_interpolator" since="4"/>
+		<field name="overshoot_interpolator" since="4"/>
+		<field name="slide_in_left"/>
+		<field name="slide_out_right"/>
+	</class>
+	<class name="android/R$animator" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="fade_in"/>
+		<field name="fade_out"/>
+	</class>
+	<class name="android/R$array" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="emailAddressTypes"/>
+		<field name="imProtocols"/>
+		<field name="organizationTypes"/>
+		<field name="phoneTypes"/>
+		<field name="postalAddressTypes"/>
+	</class>
+	<class name="android/R$attr" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="absListViewStyle"/>
+		<field name="accessibilityEventTypes" since="14"/>
+		<field name="accessibilityFeedbackType" since="14"/>
+		<field name="accessibilityFlags" since="14"/>
+		<field name="accessibilityHeading" since="28"/>
+		<field name="accessibilityLiveRegion" since="19"/>
+		<field name="accessibilityPaneTitle" since="28"/>
+		<field name="accessibilityTraversalAfter" since="22"/>
+		<field name="accessibilityTraversalBefore" since="22"/>
+		<field name="accountPreferences" since="5"/>
+		<field name="accountType" since="5"/>
+		<field name="action"/>
+		<field name="actionBarDivider" since="14"/>
+		<field name="actionBarItemBackground" since="14"/>
+		<field name="actionBarPopupTheme" since="21"/>
+		<field name="actionBarSize" since="11"/>
+		<field name="actionBarSplitStyle" since="14"/>
+		<field name="actionBarStyle" since="11"/>
+		<field name="actionBarTabBarStyle" since="11"/>
+		<field name="actionBarTabStyle" since="11"/>
+		<field name="actionBarTabTextStyle" since="11"/>
+		<field name="actionBarTheme" since="21"/>
+		<field name="actionBarWidgetTheme" since="14"/>
+		<field name="actionButtonStyle" since="11"/>
+		<field name="actionDropDownStyle" since="11"/>
+		<field name="actionLayout" since="11"/>
+		<field name="actionMenuTextAppearance" since="11"/>
+		<field name="actionMenuTextColor" since="11"/>
+		<field name="actionModeBackground" since="11"/>
+		<field name="actionModeCloseButtonStyle" since="11"/>
+		<field name="actionModeCloseDrawable" since="11"/>
+		<field name="actionModeCopyDrawable" since="11"/>
+		<field name="actionModeCutDrawable" since="11"/>
+		<field name="actionModeFindDrawable" since="21"/>
+		<field name="actionModePasteDrawable" since="11"/>
+		<field name="actionModeSelectAllDrawable" since="14"/>
+		<field name="actionModeShareDrawable" since="21"/>
+		<field name="actionModeSplitBackground" since="14"/>
+		<field name="actionModeStyle" since="14"/>
+		<field name="actionModeWebSearchDrawable" since="21"/>
+		<field name="actionOverflowButtonStyle" since="11"/>
+		<field name="actionOverflowMenuStyle" since="21"/>
+		<field name="actionProviderClass" since="14"/>
+		<field name="actionViewClass" since="11"/>
+		<field name="activatedBackgroundIndicator" since="11"/>
+		<field name="activityCloseEnterAnimation"/>
+		<field name="activityCloseExitAnimation"/>
+		<field name="activityOpenEnterAnimation"/>
+		<field name="activityOpenExitAnimation"/>
+		<field name="addPrintersActivity" since="19"/>
+		<field name="addStatesFromChildren"/>
+		<field name="adjustViewBounds"/>
+		<field name="advancedPrintOptionsActivity" since="19"/>
+		<field name="alertDialogIcon" since="11"/>
+		<field name="alertDialogStyle"/>
+		<field name="alertDialogTheme" since="11"/>
+		<field name="alignmentMode" since="14"/>
+		<field name="allContactsName" since="11"/>
+		<field name="allowAudioPlaybackCapture" since="29"/>
+		<field name="allowBackup" since="4"/>
+		<field name="allowClearUserData"/>
+		<field name="allowClickWhenDisabled" since="31"/>
+		<field name="allowEmbedded" since="20"/>
+		<field name="allowNativeHeapPointerTagging" since="30"/>
+		<field name="allowParallelSyncs" since="11"/>
+		<field name="allowSingleTap" since="3"/>
+		<field name="allowTaskReparenting"/>
+		<field name="allowUndo" since="23"/>
+		<field name="alpha" since="11"/>
+		<field name="alphabeticModifiers" since="26"/>
+		<field name="alphabeticShortcut"/>
+		<field name="alwaysDrawnWithCache"/>
+		<field name="alwaysRetainTaskState"/>
+		<field name="amPmBackgroundColor" since="21" deprecated="23"/>
+		<field name="amPmTextColor" since="21" deprecated="23"/>
+		<field name="ambientShadowAlpha" since="21"/>
+		<field name="angle"/>
+		<field name="animateFirstView" since="11"/>
+		<field name="animateLayoutChanges" since="11"/>
+		<field name="animateOnClick" since="3"/>
+		<field name="animatedImageDrawable" since="30"/>
+		<field name="animation"/>
+		<field name="animationCache"/>
+		<field name="animationDuration"/>
+		<field name="animationOrder"/>
+		<field name="animationResolution" since="11" deprecated="16"/>
+		<field name="antialias"/>
+		<field name="anyDensity" since="4" deprecated="30"/>
+		<field name="apduServiceBanner" since="19"/>
+		<field name="apiKey"/>
+		<field name="appCategory" since="26"/>
+		<field name="appComponentFactory" since="28"/>
+		<field name="attributionTags" since="31"/>
+		<field name="attributionsAreUserVisible" since="31"/>
+		<field name="author" since="7"/>
+		<field name="authorities"/>
+		<field name="autoAdvanceViewId" since="11"/>
+		<field name="autoCompleteTextViewStyle"/>
+		<field name="autoLink"/>
+		<field name="autoMirrored" since="19"/>
+		<field name="autoRemoveFromRecents" since="21"/>
+		<field name="autoRevokePermissions" since="30"/>
+		<field name="autoSizeMaxTextSize" since="26"/>
+		<field name="autoSizeMinTextSize" since="26"/>
+		<field name="autoSizePresetSizes" since="26"/>
+		<field name="autoSizeStepGranularity" since="26"/>
+		<field name="autoSizeTextType" since="26"/>
+		<field name="autoStart" since="7"/>
+		<field name="autoText" deprecated="15"/>
+		<field name="autoUrlDetect" since="4"/>
+		<field name="autoVerify" since="23"/>
+		<field name="autofillHints" since="26"/>
+		<field name="autofilledHighlight" since="26"/>
+		<field name="background"/>
+		<field name="backgroundDimAmount"/>
+		<field name="backgroundDimEnabled" since="3"/>
+		<field name="backgroundSplit" since="14"/>
+		<field name="backgroundStacked" since="14"/>
+		<field name="backgroundTint" since="21"/>
+		<field name="backgroundTintMode" since="21"/>
+		<field name="backupAgent" since="4"/>
+		<field name="backupInForeground" since="24"/>
+		<field name="banner" since="21"/>
+		<field name="baseline" since="11"/>
+		<field name="baselineAlignBottom"/>
+		<field name="baselineAligned"/>
+		<field name="baselineAlignedChildIndex"/>
+		<field name="bitmap" since="24"/>
+		<field name="borderlessButtonStyle" since="11"/>
+		<field name="bottom"/>
+		<field name="bottomBright"/>
+		<field name="bottomDark"/>
+		<field name="bottomLeftRadius"/>
+		<field name="bottomMedium"/>
+		<field name="bottomOffset" since="3"/>
+		<field name="bottomRightRadius"/>
+		<field name="breadCrumbShortTitle" since="11"/>
+		<field name="breadCrumbTitle" since="11"/>
+		<field name="breakStrategy" since="23"/>
+		<field name="bufferType"/>
+		<field name="button"/>
+		<field name="buttonBarButtonStyle" since="11"/>
+		<field name="buttonBarNegativeButtonStyle" since="21"/>
+		<field name="buttonBarNeutralButtonStyle" since="21"/>
+		<field name="buttonBarPositiveButtonStyle" since="21"/>
+		<field name="buttonBarStyle" since="11"/>
+		<field name="buttonCornerRadius" since="28"/>
+		<field name="buttonGravity" since="24"/>
+		<field name="buttonStyle"/>
+		<field name="buttonStyleInset"/>
+		<field name="buttonStyleSmall"/>
+		<field name="buttonStyleToggle"/>
+		<field name="buttonTint" since="21"/>
+		<field name="buttonTintMode" since="21"/>
+		<field name="cacheColorHint"/>
+		<field name="calendarTextColor" since="21"/>
+		<field name="calendarViewShown" since="11"/>
+		<field name="calendarViewStyle" since="11"/>
+		<field name="canControlMagnification" since="24"/>
+		<field name="canPauseRecording" since="31"/>
+		<field name="canPerformGestures" since="24"/>
+		<field name="canRecord" since="24"/>
+		<field name="canRequestEnhancedWebAccessibility" since="18" deprecated="26"/>
+		<field name="canRequestFilterKeyEvents" since="18"/>
+		<field name="canRequestFingerprintGestures" since="26"/>
+		<field name="canRequestTouchExplorationMode" since="18"/>
+		<field name="canRetrieveWindowContent" since="14"/>
+		<field name="canTakeScreenshot" since="30"/>
+		<field name="candidatesTextStyleSpans" since="3"/>
+		<field name="cantSaveState" since="28"/>
+		<field name="capitalize" deprecated="15"/>
+		<field name="category" since="19"/>
+		<field name="centerBright"/>
+		<field name="centerColor"/>
+		<field name="centerDark"/>
+		<field name="centerMedium"/>
+		<field name="centerX"/>
+		<field name="centerY"/>
+		<field name="certDigest" since="26"/>
+		<field name="checkBoxPreferenceStyle"/>
+		<field name="checkMark"/>
+		<field name="checkMarkTint" since="21"/>
+		<field name="checkMarkTintMode" since="21"/>
+		<field name="checkable"/>
+		<field name="checkableBehavior"/>
+		<field name="checkboxStyle"/>
+		<field name="checked"/>
+		<field name="checkedButton"/>
+		<field name="checkedTextViewStyle" since="17"/>
+		<field name="childDivider"/>
+		<field name="childIndicator"/>
+		<field name="childIndicatorEnd" since="18"/>
+		<field name="childIndicatorLeft"/>
+		<field name="childIndicatorRight"/>
+		<field name="childIndicatorStart" since="18"/>
+		<field name="choiceMode"/>
+		<field name="classLoader" since="27"/>
+		<field name="clearTaskOnLaunch"/>
+		<field name="clickable"/>
+		<field name="clipChildren"/>
+		<field name="clipOrientation"/>
+		<field name="clipToOutline" since="31"/>
+		<field name="clipToPadding"/>
+		<field name="closeIcon" since="21"/>
+		<field name="codes" since="3" deprecated="29"/>
+		<field name="collapseColumns"/>
+		<field name="collapseContentDescription" since="22"/>
+		<field name="collapseIcon" since="24"/>
+		<field name="color"/>
+		<field name="colorAccent" since="21"/>
+		<field name="colorActivatedHighlight" since="14"/>
+		<field name="colorBackground"/>
+		<field name="colorBackgroundCacheHint" since="5"/>
+		<field name="colorBackgroundFloating" since="23"/>
+		<field name="colorButtonNormal" since="21"/>
+		<field name="colorControlActivated" since="21"/>
+		<field name="colorControlHighlight" since="21"/>
+		<field name="colorControlNormal" since="21"/>
+		<field name="colorEdgeEffect" since="21"/>
+		<field name="colorError" since="26"/>
+		<field name="colorFocusedHighlight" since="14"/>
+		<field name="colorForeground"/>
+		<field name="colorForegroundInverse"/>
+		<field name="colorLongPressedHighlight" since="14"/>
+		<field name="colorMode" since="26"/>
+		<field name="colorMultiSelectHighlight" since="14"/>
+		<field name="colorPressedHighlight" since="14"/>
+		<field name="colorPrimary" since="21"/>
+		<field name="colorPrimaryDark" since="21"/>
+		<field name="colorSecondary" since="25"/>
+		<field name="columnCount" since="14"/>
+		<field name="columnDelay"/>
+		<field name="columnOrderPreserved" since="14"/>
+		<field name="columnWidth"/>
+		<field name="commitIcon" since="21"/>
+		<field name="compatibleWidthLimitDp" since="13"/>
+		<field name="completionHint"/>
+		<field name="completionHintView"/>
+		<field name="completionThreshold"/>
+		<field name="configChanges"/>
+		<field name="configure" since="3"/>
+		<field name="constantSize"/>
+		<field name="content" since="3"/>
+		<field name="contentAgeHint" since="21"/>
+		<field name="contentAuthority" since="5"/>
+		<field name="contentDescription" since="4"/>
+		<field name="contentInsetEnd" since="21"/>
+		<field name="contentInsetEndWithActions" since="24"/>
+		<field name="contentInsetLeft" since="21"/>
+		<field name="contentInsetRight" since="21"/>
+		<field name="contentInsetStart" since="21"/>
+		<field name="contentInsetStartWithNavigation" since="24"/>
+		<field name="contextClickable" since="23"/>
+		<field name="contextDescription" since="25"/>
+		<field name="contextPopupMenuStyle" since="24"/>
+		<field name="contextUri" since="25"/>
+		<field name="controlX1" since="21"/>
+		<field name="controlX2" since="21"/>
+		<field name="controlY1" since="21"/>
+		<field name="controlY2" since="21"/>
+		<field name="countDown" since="24"/>
+		<field name="country" since="21"/>
+		<field name="cropToPadding"/>
+		<field name="crossProfile" since="30"/>
+		<field name="cursorVisible"/>
+		<field name="customNavigationLayout" since="11"/>
+		<field name="customTokens" since="11"/>
+		<field name="cycles"/>
+		<field name="dashGap"/>
+		<field name="dashWidth"/>
+		<field name="data"/>
+		<field name="dataExtractionRules" since="31"/>
+		<field name="datePickerDialogTheme" since="21"/>
+		<field name="datePickerMode" since="21"/>
+		<field name="datePickerStyle" since="11"/>
+		<field name="dateTextAppearance" since="11"/>
+		<field name="dayOfWeekBackground" since="21" deprecated="23"/>
+		<field name="dayOfWeekTextAppearance" since="21" deprecated="23"/>
+		<field name="debuggable"/>
+		<field name="defaultFocusHighlightEnabled" since="26"/>
+		<field name="defaultHeight" since="24"/>
+		<field name="defaultToDeviceProtectedStorage" since="24"/>
+		<field name="defaultValue"/>
+		<field name="defaultWidth" since="24"/>
+		<field name="delay"/>
+		<field name="dependency"/>
+		<field name="descendantFocusability"/>
+		<field name="description"/>
+		<field name="detachWallpaper" since="5"/>
+		<field name="detailColumn" since="5"/>
+		<field name="detailSocialSummary" since="5"/>
+		<field name="detailsElementBackground" since="11"/>
+		<field name="dial"/>
+		<field name="dialTint" since="31"/>
+		<field name="dialTintMode" since="31"/>
+		<field name="dialogCornerRadius" since="28"/>
+		<field name="dialogIcon"/>
+		<field name="dialogLayout"/>
+		<field name="dialogMessage"/>
+		<field name="dialogPreferenceStyle"/>
+		<field name="dialogPreferredPadding" since="22"/>
+		<field name="dialogTheme" since="11"/>
+		<field name="dialogTitle"/>
+		<field name="digits"/>
+		<field name="directBootAware" since="24"/>
+		<field name="direction"/>
+		<field name="directionDescriptions" since="14" deprecated="23"/>
+		<field name="directionPriority"/>
+		<field name="disableDependentsState"/>
+		<field name="disabledAlpha"/>
+		<field name="displayOptions" since="11"/>
+		<field name="dither"/>
+		<field name="divider"/>
+		<field name="dividerHeight"/>
+		<field name="dividerHorizontal" since="11"/>
+		<field name="dividerPadding" since="11"/>
+		<field name="dividerVertical" since="11"/>
+		<field name="documentLaunchMode" since="21"/>
+		<field name="drawSelectorOnTop"/>
+		<field name="drawable"/>
+		<field name="drawableBottom"/>
+		<field name="drawableEnd" since="14"/>
+		<field name="drawableLeft"/>
+		<field name="drawablePadding"/>
+		<field name="drawableRight"/>
+		<field name="drawableStart" since="14"/>
+		<field name="drawableTint" since="23"/>
+		<field name="drawableTintMode" since="23"/>
+		<field name="drawableTop"/>
+		<field name="drawingCacheQuality"/>
+		<field name="dropDownAnchor" since="3"/>
+		<field name="dropDownHeight" since="4"/>
+		<field name="dropDownHintAppearance"/>
+		<field name="dropDownHorizontalOffset" since="5"/>
+		<field name="dropDownItemStyle"/>
+		<field name="dropDownListViewStyle"/>
+		<field name="dropDownSelector"/>
+		<field name="dropDownSpinnerStyle" since="11"/>
+		<field name="dropDownVerticalOffset" since="5"/>
+		<field name="dropDownWidth" since="3"/>
+		<field name="duplicateParentState"/>
+		<field name="duration"/>
+		<field name="editTextBackground" since="11"/>
+		<field name="editTextColor" since="11"/>
+		<field name="editTextPreferenceStyle"/>
+		<field name="editTextStyle"/>
+		<field name="editable" deprecated="15"/>
+		<field name="editorExtras" since="3"/>
+		<field name="effectColor" since="31"/>
+		<field name="elegantTextHeight" since="21"/>
+		<field name="elevation" since="21"/>
+		<field name="ellipsize"/>
+		<field name="ems"/>
+		<field name="enableVrMode" since="24"/>
+		<field name="enabled" deprecated="15"/>
+		<field name="end" since="23"/>
+		<field name="endColor"/>
+		<field name="endX" since="24"/>
+		<field name="endY" since="24"/>
+		<field name="endYear" deprecated="16"/>
+		<field name="enforceNavigationBarContrast" since="29"/>
+		<field name="enforceStatusBarContrast" since="29"/>
+		<field name="enterFadeDuration" since="11"/>
+		<field name="entries"/>
+		<field name="entryValues"/>
+		<field name="eventsInterceptionEnabled" since="4"/>
+		<field name="excludeClass" since="21"/>
+		<field name="excludeFromRecents"/>
+		<field name="excludeId" since="21"/>
+		<field name="excludeName" since="21"/>
+		<field name="exitFadeDuration" since="11"/>
+		<field name="expandableListPreferredChildIndicatorLeft"/>
+		<field name="expandableListPreferredChildIndicatorRight"/>
+		<field name="expandableListPreferredChildPaddingLeft"/>
+		<field name="expandableListPreferredItemIndicatorLeft"/>
+		<field name="expandableListPreferredItemIndicatorRight"/>
+		<field name="expandableListPreferredItemPaddingLeft"/>
+		<field name="expandableListViewStyle"/>
+		<field name="expandableListViewWhiteStyle" since="8"/>
+		<field name="exported"/>
+		<field name="externalService" since="24"/>
+		<field name="extraTension" since="4"/>
+		<field name="extractNativeLibs" since="23"/>
+		<field name="factor"/>
+		<field name="fadeDuration" since="4"/>
+		<field name="fadeEnabled" since="4"/>
+		<field name="fadeOffset" since="4"/>
+		<field name="fadeScrollbars" since="5"/>
+		<field name="fadingEdge" deprecated="15"/>
+		<field name="fadingEdgeLength"/>
+		<field name="fadingMode" since="19"/>
+		<field name="fallbackLineSpacing" since="28"/>
+		<field name="fastScrollAlwaysVisible" since="11"/>
+		<field name="fastScrollEnabled" since="3"/>
+		<field name="fastScrollOverlayPosition" since="11"/>
+		<field name="fastScrollPreviewBackgroundLeft" since="11"/>
+		<field name="fastScrollPreviewBackgroundRight" since="11"/>
+		<field name="fastScrollStyle" since="21"/>
+		<field name="fastScrollTextColor" since="11"/>
+		<field name="fastScrollThumbDrawable" since="11"/>
+		<field name="fastScrollTrackDrawable" since="11"/>
+		<field name="fillAfter"/>
+		<field name="fillAlpha" since="21"/>
+		<field name="fillBefore"/>
+		<field name="fillColor" since="21"/>
+		<field name="fillEnabled" since="3"/>
+		<field name="fillType" since="24"/>
+		<field name="fillViewport"/>
+		<field name="filter"/>
+		<field name="filterTouchesWhenObscured" since="9"/>
+		<field name="fingerprintAuthDrawable" since="23"/>
+		<field name="finishOnCloseSystemDialogs" since="5"/>
+		<field name="finishOnTaskLaunch"/>
+		<field name="firstBaselineToTopHeight" since="28"/>
+		<field name="firstDayOfWeek" since="11"/>
+		<field name="fitsSystemWindows"/>
+		<field name="flipInterval"/>
+		<field name="focusable"/>
+		<field name="focusableInTouchMode"/>
+		<field name="focusedByDefault" since="26"/>
+		<field name="focusedMonthDateColor" since="11" deprecated="23"/>
+		<field name="font" since="26"/>
+		<field name="fontFamily" since="16"/>
+		<field name="fontFeatureSettings" since="21"/>
+		<field name="fontProviderAuthority" since="26" deprecated="31"/>
+		<field name="fontProviderCerts" since="26" deprecated="31"/>
+		<field name="fontProviderPackage" since="26" deprecated="31"/>
+		<field name="fontProviderQuery" since="26" deprecated="31"/>
+		<field name="fontProviderSystemFontFamily" since="31"/>
+		<field name="fontStyle" since="26"/>
+		<field name="fontVariationSettings" since="28"/>
+		<field name="fontWeight" since="26"/>
+		<field name="footerDividersEnabled" since="3"/>
+		<field name="forceDarkAllowed" since="29"/>
+		<field name="forceHasOverlappingRendering" since="24"/>
+		<field name="forceQueryable" since="30"/>
+		<field name="forceUriPermissions" since="29"/>
+		<field name="foreground"/>
+		<field name="foregroundGravity"/>
+		<field name="foregroundServiceType" since="29"/>
+		<field name="foregroundTint" since="21"/>
+		<field name="foregroundTintMode" since="21"/>
+		<field name="format"/>
+		<field name="format12Hour" since="17"/>
+		<field name="format24Hour" since="17"/>
+		<field name="fraction" since="23"/>
+		<field name="fragment" since="11"/>
+		<field name="fragmentAllowEnterTransitionOverlap" since="21"/>
+		<field name="fragmentAllowReturnTransitionOverlap" since="21"/>
+		<field name="fragmentCloseEnterAnimation" since="11"/>
+		<field name="fragmentCloseExitAnimation" since="11"/>
+		<field name="fragmentEnterTransition" since="21"/>
+		<field name="fragmentExitTransition" since="21"/>
+		<field name="fragmentFadeEnterAnimation" since="11"/>
+		<field name="fragmentFadeExitAnimation" since="11"/>
+		<field name="fragmentOpenEnterAnimation" since="11"/>
+		<field name="fragmentOpenExitAnimation" since="11"/>
+		<field name="fragmentReenterTransition" since="21"/>
+		<field name="fragmentReturnTransition" since="21"/>
+		<field name="fragmentSharedElementEnterTransition" since="21"/>
+		<field name="fragmentSharedElementReturnTransition" since="21"/>
+		<field name="freezesText"/>
+		<field name="fromAlpha"/>
+		<field name="fromDegrees"/>
+		<field name="fromId" since="21"/>
+		<field name="fromScene" since="19"/>
+		<field name="fromXDelta"/>
+		<field name="fromXScale"/>
+		<field name="fromYDelta"/>
+		<field name="fromYScale"/>
+		<field name="fullBackupContent" since="23"/>
+		<field name="fullBackupOnly" since="21"/>
+		<field name="fullBright"/>
+		<field name="fullDark"/>
+		<field name="functionalTest"/>
+		<field name="galleryItemBackground"/>
+		<field name="galleryStyle"/>
+		<field name="gestureColor" since="4"/>
+		<field name="gestureStrokeAngleThreshold" since="4"/>
+		<field name="gestureStrokeLengthThreshold" since="4"/>
+		<field name="gestureStrokeSquarenessThreshold" since="4"/>
+		<field name="gestureStrokeType" since="4"/>
+		<field name="gestureStrokeWidth" since="4"/>
+		<field name="glEsVersion" since="4"/>
+		<field name="goIcon" since="21"/>
+		<field name="gradientRadius"/>
+		<field name="grantUriPermissions"/>
+		<field name="gravity"/>
+		<field name="gridViewStyle"/>
+		<field name="groupIndicator"/>
+		<field name="gwpAsanMode" since="30"/>
+		<field name="hand_hour"/>
+		<field name="hand_hourTint" since="31"/>
+		<field name="hand_hourTintMode" since="31"/>
+		<field name="hand_minute"/>
+		<field name="hand_minuteTint" since="31"/>
+		<field name="hand_minuteTintMode" since="31"/>
+		<field name="hand_second" since="31"/>
+		<field name="hand_secondTint" since="31"/>
+		<field name="hand_secondTintMode" since="31"/>
+		<field name="handle" since="3"/>
+		<field name="handleProfiling"/>
+		<field name="hapticFeedbackEnabled" since="3"/>
+		<field name="hardwareAccelerated" since="11"/>
+		<field name="hasCode"/>
+		<field name="hasFragileUserData" since="29"/>
+		<field name="headerAmPmTextAppearance" since="21" deprecated="23"/>
+		<field name="headerBackground"/>
+		<field name="headerDayOfMonthTextAppearance" since="21" deprecated="23"/>
+		<field name="headerDividersEnabled" since="3"/>
+		<field name="headerMonthTextAppearance" since="21" deprecated="23"/>
+		<field name="headerTimeTextAppearance" since="21" deprecated="23"/>
+		<field name="headerYearTextAppearance" since="21" deprecated="23"/>
+		<field name="height"/>
+		<field name="hideOnContentScroll" since="21"/>
+		<field name="hint"/>
+		<field name="homeAsUpIndicator" since="11"/>
+		<field name="homeLayout" since="11"/>
+		<field name="horizontalDivider"/>
+		<field name="horizontalGap" since="3" deprecated="29"/>
+		<field name="horizontalScrollViewStyle" since="11"/>
+		<field name="horizontalSpacing"/>
+		<field name="host"/>
+		<field name="hotSpotX" since="24"/>
+		<field name="hotSpotY" since="24"/>
+		<field name="htmlDescription" since="30"/>
+		<field name="hyphenationFrequency" since="23"/>
+		<field name="icon"/>
+		<field name="iconPreview" since="3" deprecated="29"/>
+		<field name="iconSpaceReserved" since="26"/>
+		<field name="iconTint" since="26"/>
+		<field name="iconTintMode" since="26"/>
+		<field name="iconifiedByDefault" since="11"/>
+		<field name="id"/>
+		<field name="identifier" since="29"/>
+		<field name="ignoreGravity"/>
+		<field name="imageButtonStyle"/>
+		<field name="imageWellStyle"/>
+		<field name="imeActionId" since="3"/>
+		<field name="imeActionLabel" since="3"/>
+		<field name="imeExtractEnterAnimation" since="3"/>
+		<field name="imeExtractExitAnimation" since="3"/>
+		<field name="imeFullscreenBackground" since="3"/>
+		<field name="imeOptions" since="3"/>
+		<field name="imeSubtypeExtraValue" since="11"/>
+		<field name="imeSubtypeLocale" since="11"/>
+		<field name="imeSubtypeMode" since="11"/>
+		<field name="immersive" since="11"/>
+		<field name="importantForAccessibility" since="16"/>
+		<field name="importantForAutofill" since="26"/>
+		<field name="importantForContentCapture" since="30"/>
+		<field name="inAnimation"/>
+		<field name="includeFontPadding"/>
+		<field name="includeInGlobalSearch" since="4"/>
+		<field name="indeterminate"/>
+		<field name="indeterminateBehavior"/>
+		<field name="indeterminateDrawable"/>
+		<field name="indeterminateDuration"/>
+		<field name="indeterminateOnly"/>
+		<field name="indeterminateProgressStyle" since="11"/>
+		<field name="indeterminateTint" since="21"/>
+		<field name="indeterminateTintMode" since="21"/>
+		<field name="indicatorEnd" since="18"/>
+		<field name="indicatorLeft"/>
+		<field name="indicatorRight"/>
+		<field name="indicatorStart" since="18"/>
+		<field name="inflatedId"/>
+		<field name="inheritShowWhenLocked" since="29"/>
+		<field name="initOrder"/>
+		<field name="initialKeyguardLayout" since="17"/>
+		<field name="initialLayout" since="3"/>
+		<field name="innerRadius" since="3"/>
+		<field name="innerRadiusRatio"/>
+		<field name="inputMethod" deprecated="15"/>
+		<field name="inputType" since="3"/>
+		<field name="inset" since="21"/>
+		<field name="insetBottom"/>
+		<field name="insetLeft"/>
+		<field name="insetRight"/>
+		<field name="insetTop"/>
+		<field name="installLocation" since="8"/>
+		<field name="interactiveUiTimeout" since="29"/>
+		<field name="interpolator"/>
+		<field name="isAccessibilityTool" since="31"/>
+		<field name="isAlwaysSyncable" since="11"/>
+		<field name="isAsciiCapable" since="19"/>
+		<field name="isAuxiliary" since="14"/>
+		<field name="isDefault" since="3"/>
+		<field name="isFeatureSplit" since="26"/>
+		<field name="isGame" since="21"/>
+		<field name="isIndicator"/>
+		<field name="isLightTheme" since="29"/>
+		<field name="isModifier" since="3" deprecated="29"/>
+		<field name="isRepeatable" since="3" deprecated="29"/>
+		<field name="isScrollContainer" since="3"/>
+		<field name="isSplitRequired" since="29"/>
+		<field name="isStatic" since="26"/>
+		<field name="isSticky" since="3" deprecated="29"/>
+		<field name="isolatedProcess" since="16"/>
+		<field name="isolatedSplits" since="26"/>
+		<field name="itemBackground"/>
+		<field name="itemIconDisabledAlpha"/>
+		<field name="itemPadding" since="11"/>
+		<field name="itemTextAppearance"/>
+		<field name="justificationMode" since="26"/>
+		<field name="keepScreenOn"/>
+		<field name="key"/>
+		<field name="keyBackground" since="3" deprecated="29"/>
+		<field name="keyEdgeFlags" since="3" deprecated="29"/>
+		<field name="keyHeight" since="3" deprecated="29"/>
+		<field name="keyIcon" since="3" deprecated="29"/>
+		<field name="keyLabel" since="3" deprecated="29"/>
+		<field name="keyOutputText" since="3" deprecated="29"/>
+		<field name="keyPreviewHeight" since="3" deprecated="29"/>
+		<field name="keyPreviewLayout" since="3" deprecated="29"/>
+		<field name="keyPreviewOffset" since="3" deprecated="29"/>
+		<field name="keySet" since="19"/>
+		<field name="keyTextColor" since="3" deprecated="29"/>
+		<field name="keyTextSize" since="3" deprecated="29"/>
+		<field name="keyWidth" since="3" deprecated="29"/>
+		<field name="keyboardLayout" since="16"/>
+		<field name="keyboardMode" since="3" deprecated="29"/>
+		<field name="keyboardNavigationCluster" since="26"/>
+		<field name="keycode"/>
+		<field name="killAfterRestore" since="5"/>
+		<field name="knownCerts" since="31"/>
+		<field name="lStar" since="31"/>
+		<field name="label"/>
+		<field name="labelFor" since="17"/>
+		<field name="labelTextSize" since="3" deprecated="29"/>
+		<field name="languageTag" since="24"/>
+		<field name="largeHeap" since="11"/>
+		<field name="largeScreens" since="4"/>
+		<field name="largestWidthLimitDp" since="13"/>
+		<field name="lastBaselineToBottomHeight" since="28"/>
+		<field name="launchMode"/>
+		<field name="launchTaskBehindSourceAnimation" since="21"/>
+		<field name="launchTaskBehindTargetAnimation" since="21"/>
+		<field name="layerType" since="11"/>
+		<field name="layout"/>
+		<field name="layoutAnimation"/>
+		<field name="layoutDirection" since="17"/>
+		<field name="layoutMode" since="18"/>
+		<field name="layout_above"/>
+		<field name="layout_alignBaseline"/>
+		<field name="layout_alignBottom"/>
+		<field name="layout_alignEnd" since="17"/>
+		<field name="layout_alignLeft"/>
+		<field name="layout_alignParentBottom"/>
+		<field name="layout_alignParentEnd" since="17"/>
+		<field name="layout_alignParentLeft"/>
+		<field name="layout_alignParentRight"/>
+		<field name="layout_alignParentStart" since="17"/>
+		<field name="layout_alignParentTop"/>
+		<field name="layout_alignRight"/>
+		<field name="layout_alignStart" since="17"/>
+		<field name="layout_alignTop"/>
+		<field name="layout_alignWithParentIfMissing"/>
+		<field name="layout_below"/>
+		<field name="layout_centerHorizontal"/>
+		<field name="layout_centerInParent"/>
+		<field name="layout_centerVertical"/>
+		<field name="layout_column"/>
+		<field name="layout_columnSpan" since="14"/>
+		<field name="layout_columnWeight" since="21"/>
+		<field name="layout_gravity"/>
+		<field name="layout_height"/>
+		<field name="layout_margin"/>
+		<field name="layout_marginBottom"/>
+		<field name="layout_marginEnd" since="17"/>
+		<field name="layout_marginHorizontal" since="26"/>
+		<field name="layout_marginLeft"/>
+		<field name="layout_marginRight"/>
+		<field name="layout_marginStart" since="17"/>
+		<field name="layout_marginTop"/>
+		<field name="layout_marginVertical" since="26"/>
+		<field name="layout_row" since="14"/>
+		<field name="layout_rowSpan" since="14"/>
+		<field name="layout_rowWeight" since="21"/>
+		<field name="layout_scale"/>
+		<field name="layout_span"/>
+		<field name="layout_toEndOf" since="17"/>
+		<field name="layout_toLeftOf"/>
+		<field name="layout_toRightOf"/>
+		<field name="layout_toStartOf" since="17"/>
+		<field name="layout_weight"/>
+		<field name="layout_width"/>
+		<field name="layout_x"/>
+		<field name="layout_y"/>
+		<field name="left"/>
+		<field name="letterSpacing" since="21"/>
+		<field name="level" since="24"/>
+		<field name="lineHeight" since="28"/>
+		<field name="lineSpacingExtra"/>
+		<field name="lineSpacingMultiplier"/>
+		<field name="lines"/>
+		<field name="linksClickable"/>
+		<field name="listChoiceBackgroundIndicator" since="11"/>
+		<field name="listChoiceIndicatorMultiple"/>
+		<field name="listChoiceIndicatorSingle"/>
+		<field name="listDivider"/>
+		<field name="listDividerAlertDialog" since="11"/>
+		<field name="listMenuViewStyle" since="24"/>
+		<field name="listPopupWindowStyle" since="11"/>
+		<field name="listPreferredItemHeight"/>
+		<field name="listPreferredItemHeightLarge" since="14"/>
+		<field name="listPreferredItemHeightSmall" since="14"/>
+		<field name="listPreferredItemPaddingEnd" since="17"/>
+		<field name="listPreferredItemPaddingLeft" since="14"/>
+		<field name="listPreferredItemPaddingRight" since="14"/>
+		<field name="listPreferredItemPaddingStart" since="17"/>
+		<field name="listSelector"/>
+		<field name="listSeparatorTextViewStyle"/>
+		<field name="listViewStyle"/>
+		<field name="listViewWhiteStyle"/>
+		<field name="lockTaskMode" since="23"/>
+		<field name="logo" since="11"/>
+		<field name="logoDescription" since="23"/>
+		<field name="longClickable"/>
+		<field name="loopViews" since="11"/>
+		<field name="manageSpaceActivity"/>
+		<field name="mapViewStyle"/>
+		<field name="marqueeRepeatLimit" since="2"/>
+		<field name="matchOrder" since="21"/>
+		<field name="max"/>
+		<field name="maxAspectRatio" since="26"/>
+		<field name="maxButtonHeight" since="24"/>
+		<field name="maxDate" since="11"/>
+		<field name="maxEms"/>
+		<field name="maxHeight"/>
+		<field name="maxItemsPerRow"/>
+		<field name="maxLength"/>
+		<field name="maxLevel"/>
+		<field name="maxLines"/>
+		<field name="maxLongVersionCode" since="28"/>
+		<field name="maxRecents" since="21"/>
+		<field name="maxResizeHeight" since="31"/>
+		<field name="maxResizeWidth" since="31"/>
+		<field name="maxRows"/>
+		<field name="maxSdkVersion" since="4"/>
+		<field name="maxWidth"/>
+		<field name="maximumAngle" since="21"/>
+		<field name="measureAllChildren"/>
+		<field name="measureWithLargestChild" since="11"/>
+		<field name="mediaRouteButtonStyle" since="16"/>
+		<field name="mediaRouteTypes" since="16"/>
+		<field name="memtagMode" since="31"/>
+		<field name="menuCategory"/>
+		<field name="mimeGroup" since="30"/>
+		<field name="mimeType"/>
+		<field name="min" since="26"/>
+		<field name="minAspectRatio" since="29"/>
+		<field name="minDate" since="11"/>
+		<field name="minEms"/>
+		<field name="minHeight"/>
+		<field name="minLevel"/>
+		<field name="minLines"/>
+		<field name="minResizeHeight" since="14"/>
+		<field name="minResizeWidth" since="14"/>
+		<field name="minSdkVersion"/>
+		<field name="minWidth"/>
+		<field name="minimumHorizontalAngle" since="21"/>
+		<field name="minimumVerticalAngle" since="21"/>
+		<field name="mipMap" since="18"/>
+		<field name="mirrorForRtl" since="18"/>
+		<field name="mode"/>
+		<field name="moreIcon"/>
+		<field name="multiArch" since="21"/>
+		<field name="multiprocess"/>
+		<field name="name"/>
+		<field name="nativeHeapZeroInitialized" since="31"/>
+		<field name="navigationBarColor" since="21"/>
+		<field name="navigationBarDividerColor" since="27"/>
+		<field name="navigationContentDescription" since="21"/>
+		<field name="navigationIcon" since="21"/>
+		<field name="navigationMode" since="11"/>
+		<field name="negativeButtonText"/>
+		<field name="nestedScrollingEnabled" since="21"/>
+		<field name="networkSecurityConfig" since="24"/>
+		<field name="nextClusterForward" since="26"/>
+		<field name="nextFocusDown"/>
+		<field name="nextFocusForward" since="11"/>
+		<field name="nextFocusLeft"/>
+		<field name="nextFocusRight"/>
+		<field name="nextFocusUp"/>
+		<field name="noHistory" since="3"/>
+		<field name="nonInteractiveUiTimeout" since="29"/>
+		<field name="normalScreens" since="4"/>
+		<field name="notificationTimeout" since="14"/>
+		<field name="numColumns"/>
+		<field name="numStars"/>
+		<field name="numberPickerStyle" since="24"/>
+		<field name="numbersBackgroundColor" since="21"/>
+		<field name="numbersInnerTextColor" since="23"/>
+		<field name="numbersSelectorColor" since="21"/>
+		<field name="numbersTextColor" since="21"/>
+		<field name="numeric" deprecated="15"/>
+		<field name="numericModifiers" since="26"/>
+		<field name="numericShortcut"/>
+		<field name="offset" since="24"/>
+		<field name="onClick" since="4" deprecated="31"/>
+		<field name="oneshot"/>
+		<field name="opacity" since="11"/>
+		<field name="opticalInsetBottom" since="29"/>
+		<field name="opticalInsetLeft" since="29"/>
+		<field name="opticalInsetRight" since="29"/>
+		<field name="opticalInsetTop" since="29"/>
+		<field name="order"/>
+		<field name="orderInCategory"/>
+		<field name="ordering" since="11"/>
+		<field name="orderingFromXml"/>
+		<field name="orientation"/>
+		<field name="outAnimation"/>
+		<field name="outlineAmbientShadowColor" since="28"/>
+		<field name="outlineProvider" since="21"/>
+		<field name="outlineSpotShadowColor" since="28"/>
+		<field name="overScrollFooter" since="9"/>
+		<field name="overScrollHeader" since="9"/>
+		<field name="overScrollMode" since="9"/>
+		<field name="overlapAnchor" since="21"/>
+		<field name="overridesImplicitlyEnabledSubtype" since="14"/>
+		<field name="packageNames" since="14"/>
+		<field name="packageType" since="29"/>
+		<field name="padding"/>
+		<field name="paddingBottom"/>
+		<field name="paddingEnd" since="17"/>
+		<field name="paddingHorizontal" since="26"/>
+		<field name="paddingLeft"/>
+		<field name="paddingMode" since="21"/>
+		<field name="paddingRight"/>
+		<field name="paddingStart" since="17"/>
+		<field name="paddingTop"/>
+		<field name="paddingVertical" since="26"/>
+		<field name="panelBackground"/>
+		<field name="panelColorBackground"/>
+		<field name="panelColorForeground"/>
+		<field name="panelFullBackground"/>
+		<field name="panelTextAppearance"/>
+		<field name="parentActivityName" since="16"/>
+		<field name="password" deprecated="15"/>
+		<field name="passwordsActivity" since="31"/>
+		<field name="path"/>
+		<field name="pathAdvancedPattern" since="31"/>
+		<field name="pathData" since="21"/>
+		<field name="pathPattern"/>
+		<field name="pathPrefix"/>
+		<field name="pathSuffix" since="31"/>
+		<field name="patternPathData" since="21"/>
+		<field name="permission"/>
+		<field name="permissionFlags" since="17"/>
+		<field name="permissionGroup"/>
+		<field name="permissionGroupFlags" since="17"/>
+		<field name="persistableMode" since="21"/>
+		<field name="persistent"/>
+		<field name="persistentDrawingCache"/>
+		<field name="persistentWhenFeatureAvailable" since="26"/>
+		<field name="phoneNumber" deprecated="15"/>
+		<field name="pivotX"/>
+		<field name="pivotY"/>
+		<field name="pointerIcon" since="24"/>
+		<field name="popupAnimationStyle" since="9"/>
+		<field name="popupBackground"/>
+		<field name="popupCharacters" since="3" deprecated="29"/>
+		<field name="popupElevation" since="21"/>
+		<field name="popupEnterTransition" since="24"/>
+		<field name="popupExitTransition" since="24"/>
+		<field name="popupKeyboard" since="3" deprecated="29"/>
+		<field name="popupLayout" since="3" deprecated="29"/>
+		<field name="popupMenuStyle" since="11"/>
+		<field name="popupTheme" since="21"/>
+		<field name="popupWindowStyle"/>
+		<field name="port"/>
+		<field name="positiveButtonText"/>
+		<field name="preferMinimalPostProcessing" since="30"/>
+		<field name="preferenceCategoryStyle"/>
+		<field name="preferenceFragmentStyle" since="24"/>
+		<field name="preferenceInformationStyle"/>
+		<field name="preferenceLayoutChild"/>
+		<field name="preferenceScreenStyle"/>
+		<field name="preferenceStyle"/>
+		<field name="presentationTheme" since="17"/>
+		<field name="preserveLegacyExternalStorage" since="30"/>
+		<field name="previewImage" since="11"/>
+		<field name="previewLayout" since="31"/>
+		<field name="primaryContentAlpha" since="26"/>
+		<field name="priority"/>
+		<field name="privateImeOptions" since="3"/>
+		<field name="process"/>
+		<field name="progress"/>
+		<field name="progressBackgroundTint" since="21"/>
+		<field name="progressBackgroundTintMode" since="21"/>
+		<field name="progressBarPadding" since="11"/>
+		<field name="progressBarStyle"/>
+		<field name="progressBarStyleHorizontal"/>
+		<field name="progressBarStyleInverse" since="4"/>
+		<field name="progressBarStyleLarge"/>
+		<field name="progressBarStyleLargeInverse" since="4"/>
+		<field name="progressBarStyleSmall"/>
+		<field name="progressBarStyleSmallInverse" since="4"/>
+		<field name="progressBarStyleSmallTitle"/>
+		<field name="progressDrawable"/>
+		<field name="progressTint" since="21"/>
+		<field name="progressTintMode" since="21"/>
+		<field name="prompt"/>
+		<field name="propertyName" since="11"/>
+		<field name="propertyXName" since="21"/>
+		<field name="propertyYName" since="21"/>
+		<field name="protectionLevel"/>
+		<field name="publicKey" since="14"/>
+		<field name="queryActionMsg"/>
+		<field name="queryAfterZeroResults" since="4"/>
+		<field name="queryBackground" since="21"/>
+		<field name="queryHint" since="11"/>
+		<field name="quickContactBadgeStyleSmallWindowLarge" since="6"/>
+		<field name="quickContactBadgeStyleSmallWindowMedium" since="6"/>
+		<field name="quickContactBadgeStyleSmallWindowSmall" since="6"/>
+		<field name="quickContactBadgeStyleWindowLarge" since="6"/>
+		<field name="quickContactBadgeStyleWindowMedium" since="6"/>
+		<field name="quickContactBadgeStyleWindowSmall" since="6"/>
+		<field name="radioButtonStyle"/>
+		<field name="radius"/>
+		<field name="rating"/>
+		<field name="ratingBarStyle"/>
+		<field name="ratingBarStyleIndicator"/>
+		<field name="ratingBarStyleSmall"/>
+		<field name="readPermission"/>
+		<field name="recognitionService" since="21"/>
+		<field name="recreateOnConfigChanges" since="26"/>
+		<field name="recycleEnabled" since="26"/>
+		<field name="relinquishTaskIdentity" since="21"/>
+		<field name="reparent" since="21"/>
+		<field name="reparentWithOverlay" since="21"/>
+		<field name="repeatCount"/>
+		<field name="repeatMode"/>
+		<field name="reqFiveWayNav" since="3"/>
+		<field name="reqHardKeyboard" since="3"/>
+		<field name="reqKeyboardType" since="3"/>
+		<field name="reqNavigation" since="3"/>
+		<field name="reqTouchScreen" since="3"/>
+		<field name="requestLegacyExternalStorage" since="29"/>
+		<field name="requestRawExternalStorageAccess" since="31"/>
+		<field name="requireDeviceScreenOn" since="31"/>
+		<field name="requireDeviceUnlock" since="19"/>
+		<field name="required" since="5"/>
+		<field name="requiredAccountType" since="18"/>
+		<field name="requiredFeature" since="26"/>
+		<field name="requiredForAllUsers" since="18"/>
+		<field name="requiredNotFeature" since="26"/>
+		<field name="requiresFadingEdge" since="14"/>
+		<field name="requiresSmallestWidthDp" since="13"/>
+		<field name="resizeClip" since="22"/>
+		<field name="resizeMode" since="12"/>
+		<field name="resizeable" since="4"/>
+		<field name="resizeableActivity" since="24"/>
+		<field name="resource"/>
+		<field name="resourcesMap" since="30"/>
+		<field name="restoreAnyVersion" since="8"/>
+		<field name="restoreNeedsApplication" since="5" deprecated="15"/>
+		<field name="restrictedAccountType" since="18"/>
+		<field name="restrictionType" since="21"/>
+		<field name="resumeWhilePausing" since="21"/>
+		<field name="reversible" since="21"/>
+		<field name="revisionCode" since="22"/>
+		<field name="right"/>
+		<field name="ringtonePreferenceStyle"/>
+		<field name="ringtoneType"/>
+		<field name="rollbackDataPolicy" since="31"/>
+		<field name="rotation" since="11"/>
+		<field name="rotationAnimation" since="26"/>
+		<field name="rotationX" since="11"/>
+		<field name="rotationY" since="11"/>
+		<field name="roundIcon" since="25"/>
+		<field name="rowCount" since="14"/>
+		<field name="rowDelay"/>
+		<field name="rowEdgeFlags" since="3" deprecated="29"/>
+		<field name="rowHeight"/>
+		<field name="rowOrderPreserved" since="14"/>
+		<field name="saveEnabled"/>
+		<field name="scaleGravity"/>
+		<field name="scaleHeight"/>
+		<field name="scaleType"/>
+		<field name="scaleWidth"/>
+		<field name="scaleX" since="11"/>
+		<field name="scaleY" since="11"/>
+		<field name="scheme"/>
+		<field name="screenDensity" since="9"/>
+		<field name="screenOrientation"/>
+		<field name="screenReaderFocusable" since="28"/>
+		<field name="screenSize" since="9"/>
+		<field name="scrollHorizontally"/>
+		<field name="scrollIndicators" since="23"/>
+		<field name="scrollViewStyle"/>
+		<field name="scrollX"/>
+		<field name="scrollY"/>
+		<field name="scrollbarAlwaysDrawHorizontalTrack"/>
+		<field name="scrollbarAlwaysDrawVerticalTrack"/>
+		<field name="scrollbarDefaultDelayBeforeFade" since="5"/>
+		<field name="scrollbarFadeDuration" since="5"/>
+		<field name="scrollbarSize"/>
+		<field name="scrollbarStyle"/>
+		<field name="scrollbarThumbHorizontal"/>
+		<field name="scrollbarThumbVertical"/>
+		<field name="scrollbarTrackHorizontal"/>
+		<field name="scrollbarTrackVertical"/>
+		<field name="scrollbars"/>
+		<field name="scrollingCache"/>
+		<field name="searchButtonText" deprecated="15"/>
+		<field name="searchHintIcon" since="22"/>
+		<field name="searchIcon" since="21"/>
+		<field name="searchMode"/>
+		<field name="searchSettingsDescription" since="4"/>
+		<field name="searchSuggestAuthority"/>
+		<field name="searchSuggestIntentAction"/>
+		<field name="searchSuggestIntentData"/>
+		<field name="searchSuggestPath"/>
+		<field name="searchSuggestSelection"/>
+		<field name="searchSuggestThreshold" since="4"/>
+		<field name="searchViewStyle" since="21"/>
+		<field name="secondaryContentAlpha" since="26"/>
+		<field name="secondaryProgress"/>
+		<field name="secondaryProgressTint" since="21"/>
+		<field name="secondaryProgressTintMode" since="21"/>
+		<field name="secureElementName" since="29"/>
+		<field name="seekBarStyle"/>
+		<field name="segmentedButtonStyle" since="11"/>
+		<field name="selectAllOnFocus"/>
+		<field name="selectable"/>
+		<field name="selectableAsDefault" since="31"/>
+		<field name="selectableItemBackground" since="11"/>
+		<field name="selectableItemBackgroundBorderless" since="21"/>
+		<field name="selectedDateVerticalBar" since="11" deprecated="23"/>
+		<field name="selectedWeekBackgroundColor" since="11" deprecated="23"/>
+		<field name="selectionDividerHeight" since="29"/>
+		<field name="sessionService" since="21"/>
+		<field name="settingsActivity" since="3"/>
+		<field name="settingsSliceUri" since="29"/>
+		<field name="setupActivity" since="21"/>
+		<field name="shadowColor"/>
+		<field name="shadowDx"/>
+		<field name="shadowDy"/>
+		<field name="shadowRadius"/>
+		<field name="shape"/>
+		<field name="shareInterpolator"/>
+		<field name="sharedUserId" deprecated="29"/>
+		<field name="sharedUserLabel" since="3" deprecated="29"/>
+		<field name="shell" since="29"/>
+		<field name="shortcutDisabledMessage" since="25"/>
+		<field name="shortcutId" since="25"/>
+		<field name="shortcutLongLabel" since="25"/>
+		<field name="shortcutShortLabel" since="25"/>
+		<field name="shouldDisableView"/>
+		<field name="shouldUseDefaultUnfoldTransition" since="33"/>
+		<field name="showAsAction" since="11"/>
+		<field name="showDefault"/>
+		<field name="showDividers" since="11"/>
+		<field name="showForAllUsers" since="23"/>
+		<field name="showInInputMethodPicker" since="31"/>
+		<field name="showMetadataInPreview" since="25"/>
+		<field name="showOnLockScreen" since="17" deprecated="23"/>
+		<field name="showSilent"/>
+		<field name="showText" since="21"/>
+		<field name="showWeekNumber" since="11" deprecated="23"/>
+		<field name="showWhenLocked" since="27"/>
+		<field name="shownWeekCount" since="11" deprecated="23"/>
+		<field name="shrinkColumns"/>
+		<field name="singleLine" deprecated="15"/>
+		<field name="singleLineTitle" since="26"/>
+		<field name="singleUser" since="17"/>
+		<field name="slideEdge" since="21"/>
+		<field name="smallIcon" since="5"/>
+		<field name="smallScreens" since="4"/>
+		<field name="smoothScrollbar" since="3"/>
+		<field name="soundEffectsEnabled"/>
+		<field name="spacing"/>
+		<field name="spinnerDropDownItemStyle"/>
+		<field name="spinnerItemStyle"/>
+		<field name="spinnerMode" since="11"/>
+		<field name="spinnerStyle"/>
+		<field name="spinnersShown" since="11"/>
+		<field name="splashScreenTheme" since="31"/>
+		<field name="splitMotionEvents" since="11"/>
+		<field name="splitName" since="26"/>
+		<field name="splitTrack" since="21"/>
+		<field name="spotShadowAlpha" since="21"/>
+		<field name="src"/>
+		<field name="ssp" since="19"/>
+		<field name="sspAdvancedPattern" since="31"/>
+		<field name="sspPattern" since="19"/>
+		<field name="sspPrefix" since="19"/>
+		<field name="sspSuffix" since="31"/>
+		<field name="stackFromBottom"/>
+		<field name="stackViewStyle" since="21"/>
+		<field name="starStyle"/>
+		<field name="start" since="23"/>
+		<field name="startColor"/>
+		<field name="startDelay" since="19"/>
+		<field name="startOffset"/>
+		<field name="startX" since="24"/>
+		<field name="startY" since="24"/>
+		<field name="startYear" deprecated="16"/>
+		<field name="stateListAnimator" since="21"/>
+		<field name="stateNotNeeded"/>
+		<field name="state_above_anchor"/>
+		<field name="state_accelerated" since="11"/>
+		<field name="state_activated" since="11"/>
+		<field name="state_active"/>
+		<field name="state_checkable"/>
+		<field name="state_checked"/>
+		<field name="state_drag_can_accept" since="14"/>
+		<field name="state_drag_hovered" since="14"/>
+		<field name="state_empty"/>
+		<field name="state_enabled"/>
+		<field name="state_expanded"/>
+		<field name="state_first"/>
+		<field name="state_focused"/>
+		<field name="state_hovered" since="14"/>
+		<field name="state_last"/>
+		<field name="state_long_pressable" since="3" deprecated="29"/>
+		<field name="state_middle"/>
+		<field name="state_multiline" since="11"/>
+		<field name="state_pressed"/>
+		<field name="state_selected"/>
+		<field name="state_single"/>
+		<field name="state_window_focused"/>
+		<field name="staticWallpaperPreview" since="11"/>
+		<field name="statusBarColor" since="21"/>
+		<field name="stepSize"/>
+		<field name="stopWithTask" since="14"/>
+		<field name="streamType"/>
+		<field name="stretchColumns"/>
+		<field name="stretchMode"/>
+		<field name="strokeAlpha" since="21"/>
+		<field name="strokeColor" since="21"/>
+		<field name="strokeLineCap" since="21"/>
+		<field name="strokeLineJoin" since="21"/>
+		<field name="strokeMiterLimit" since="21"/>
+		<field name="strokeWidth" since="21"/>
+		<field name="subMenuArrow" since="24"/>
+		<field name="submitBackground" since="21"/>
+		<field name="subtitle" since="11"/>
+		<field name="subtitleTextAppearance" since="21"/>
+		<field name="subtitleTextColor" since="23"/>
+		<field name="subtitleTextStyle" since="11"/>
+		<field name="subtypeExtraValue" since="14"/>
+		<field name="subtypeId" since="17"/>
+		<field name="subtypeLocale" since="14"/>
+		<field name="suggestActionMsg"/>
+		<field name="suggestActionMsgColumn"/>
+		<field name="suggestionRowLayout" since="21"/>
+		<field name="summary"/>
+		<field name="summaryColumn" since="5"/>
+		<field name="summaryOff"/>
+		<field name="summaryOn"/>
+		<field name="supportsAssist" since="23"/>
+		<field name="supportsInlineSuggestions" since="30"/>
+		<field name="supportsLaunchVoiceAssistFromKeyguard" since="23"/>
+		<field name="supportsLocalInteraction" since="24"/>
+		<field name="supportsMultipleDisplays" since="29"/>
+		<field name="supportsPictureInPicture" since="24"/>
+		<field name="supportsRtl" since="17"/>
+		<field name="supportsSwitchingToNextInputMethod" since="19"/>
+		<field name="supportsUploading" since="5"/>
+		<field name="suppressesSpellChecker" since="31"/>
+		<field name="switchMinWidth" since="14"/>
+		<field name="switchPadding" since="14"/>
+		<field name="switchPreferenceStyle" since="14"/>
+		<field name="switchStyle" since="21"/>
+		<field name="switchTextAppearance" since="14"/>
+		<field name="switchTextOff" since="14"/>
+		<field name="switchTextOn" since="14"/>
+		<field name="syncable"/>
+		<field name="tabStripEnabled" since="8"/>
+		<field name="tabStripLeft" since="8"/>
+		<field name="tabStripRight" since="8"/>
+		<field name="tabWidgetStyle"/>
+		<field name="tag"/>
+		<field name="targetActivity"/>
+		<field name="targetCellHeight" since="31"/>
+		<field name="targetCellWidth" since="31"/>
+		<field name="targetClass"/>
+		<field name="targetDescriptions" since="14" deprecated="23"/>
+		<field name="targetId" since="19"/>
+		<field name="targetName" since="21"/>
+		<field name="targetPackage"/>
+		<field name="targetProcesses" since="26"/>
+		<field name="targetSandboxVersion" since="26" deprecated="29"/>
+		<field name="targetSdkVersion" since="4"/>
+		<field name="taskAffinity"/>
+		<field name="taskCloseEnterAnimation"/>
+		<field name="taskCloseExitAnimation"/>
+		<field name="taskOpenEnterAnimation"/>
+		<field name="taskOpenExitAnimation"/>
+		<field name="taskToBackEnterAnimation"/>
+		<field name="taskToBackExitAnimation"/>
+		<field name="taskToFrontEnterAnimation"/>
+		<field name="taskToFrontExitAnimation"/>
+		<field name="tension" since="4"/>
+		<field name="testOnly" since="4"/>
+		<field name="text"/>
+		<field name="textAlignment" since="17"/>
+		<field name="textAllCaps" since="14"/>
+		<field name="textAppearance"/>
+		<field name="textAppearanceButton"/>
+		<field name="textAppearanceInverse"/>
+		<field name="textAppearanceLarge"/>
+		<field name="textAppearanceLargeInverse"/>
+		<field name="textAppearanceLargePopupMenu" since="11"/>
+		<field name="textAppearanceListItem" since="14"/>
+		<field name="textAppearanceListItemSecondary" since="21"/>
+		<field name="textAppearanceListItemSmall" since="14"/>
+		<field name="textAppearanceMedium"/>
+		<field name="textAppearanceMediumInverse"/>
+		<field name="textAppearancePopupMenuHeader" since="24"/>
+		<field name="textAppearanceSearchResultSubtitle" since="5"/>
+		<field name="textAppearanceSearchResultTitle" since="5"/>
+		<field name="textAppearanceSmall"/>
+		<field name="textAppearanceSmallInverse"/>
+		<field name="textAppearanceSmallPopupMenu" since="11"/>
+		<field name="textCheckMark"/>
+		<field name="textCheckMarkInverse"/>
+		<field name="textColor"/>
+		<field name="textColorAlertDialogListItem" since="11"/>
+		<field name="textColorHighlight"/>
+		<field name="textColorHighlightInverse" since="11"/>
+		<field name="textColorHint"/>
+		<field name="textColorHintInverse"/>
+		<field name="textColorLink"/>
+		<field name="textColorLinkInverse" since="11"/>
+		<field name="textColorPrimary"/>
+		<field name="textColorPrimaryDisableOnly"/>
+		<field name="textColorPrimaryInverse"/>
+		<field name="textColorPrimaryInverseDisableOnly" since="4"/>
+		<field name="textColorPrimaryInverseNoDisable"/>
+		<field name="textColorPrimaryNoDisable"/>
+		<field name="textColorSecondary"/>
+		<field name="textColorSecondaryInverse"/>
+		<field name="textColorSecondaryInverseNoDisable"/>
+		<field name="textColorSecondaryNoDisable"/>
+		<field name="textColorTertiary"/>
+		<field name="textColorTertiaryInverse"/>
+		<field name="textCursorDrawable" since="12"/>
+		<field name="textDirection" since="17"/>
+		<field name="textEditNoPasteWindowLayout" since="11"/>
+		<field name="textEditPasteWindowLayout" since="11"/>
+		<field name="textEditSideNoPasteWindowLayout" since="11"/>
+		<field name="textEditSidePasteWindowLayout" since="11"/>
+		<field name="textEditSuggestionItemLayout" since="14"/>
+		<field name="textFilterEnabled"/>
+		<field name="textFontWeight" since="28"/>
+		<field name="textIsSelectable" since="11"/>
+		<field name="textLocale" since="29"/>
+		<field name="textOff"/>
+		<field name="textOn"/>
+		<field name="textScaleX"/>
+		<field name="textSelectHandle" since="9"/>
+		<field name="textSelectHandleLeft" since="9"/>
+		<field name="textSelectHandleRight" since="9"/>
+		<field name="textSelectHandleWindowStyle" since="9"/>
+		<field name="textSize"/>
+		<field name="textStyle"/>
+		<field name="textSuggestionsWindowStyle" since="14"/>
+		<field name="textViewStyle"/>
+		<field name="theme"/>
+		<field name="thickness" since="3"/>
+		<field name="thicknessRatio"/>
+		<field name="thumb"/>
+		<field name="thumbOffset"/>
+		<field name="thumbPosition" since="23"/>
+		<field name="thumbTextPadding" since="14"/>
+		<field name="thumbTint" since="21"/>
+		<field name="thumbTintMode" since="21"/>
+		<field name="thumbnail" since="5"/>
+		<field name="tickMark" since="24"/>
+		<field name="tickMarkTint" since="24"/>
+		<field name="tickMarkTintMode" since="24"/>
+		<field name="tileMode"/>
+		<field name="tileModeX" since="21"/>
+		<field name="tileModeY" since="21"/>
+		<field name="timePickerDialogTheme" since="21"/>
+		<field name="timePickerMode" since="21"/>
+		<field name="timePickerStyle" since="21"/>
+		<field name="timeZone" since="17"/>
+		<field name="tint"/>
+		<field name="tintMode" since="21"/>
+		<field name="title"/>
+		<field name="titleCondensed"/>
+		<field name="titleMargin" since="24"/>
+		<field name="titleMarginBottom" since="24"/>
+		<field name="titleMarginEnd" since="24"/>
+		<field name="titleMarginStart" since="24"/>
+		<field name="titleMarginTop" since="24"/>
+		<field name="titleTextAppearance" since="21"/>
+		<field name="titleTextColor" since="23"/>
+		<field name="titleTextStyle" since="11"/>
+		<field name="toAlpha"/>
+		<field name="toDegrees"/>
+		<field name="toId" since="21"/>
+		<field name="toScene" since="19"/>
+		<field name="toXDelta"/>
+		<field name="toXScale"/>
+		<field name="toYDelta"/>
+		<field name="toYScale"/>
+		<field name="toolbarStyle" since="21"/>
+		<field name="tooltipText" since="26"/>
+		<field name="top"/>
+		<field name="topBright"/>
+		<field name="topDark"/>
+		<field name="topLeftRadius"/>
+		<field name="topOffset" since="3"/>
+		<field name="topRightRadius"/>
+		<field name="touchscreenBlocksFocus" since="21"/>
+		<field name="track" since="14"/>
+		<field name="trackTint" since="23"/>
+		<field name="trackTintMode" since="23"/>
+		<field name="transcriptMode"/>
+		<field name="transformPivotX" since="11"/>
+		<field name="transformPivotY" since="11"/>
+		<field name="transition" since="19"/>
+		<field name="transitionGroup" since="21"/>
+		<field name="transitionName" since="21"/>
+		<field name="transitionOrdering" since="19"/>
+		<field name="transitionVisibilityMode" since="21"/>
+		<field name="translateX" since="21"/>
+		<field name="translateY" since="21"/>
+		<field name="translationX" since="11"/>
+		<field name="translationY" since="11"/>
+		<field name="translationZ" since="21"/>
+		<field name="trimPathEnd" since="21"/>
+		<field name="trimPathOffset" since="21"/>
+		<field name="trimPathStart" since="21"/>
+		<field name="ttcIndex" since="28"/>
+		<field name="tunerCount" since="24"/>
+		<field name="turnScreenOn" since="27"/>
+		<field name="type"/>
+		<field name="typeface"/>
+		<field name="uiOptions" since="14"/>
+		<field name="uncertainGestureColor" since="4"/>
+		<field name="unfocusedMonthDateColor" since="11" deprecated="23"/>
+		<field name="unselectedAlpha"/>
+		<field name="updatePeriodMillis" since="3"/>
+		<field name="use32bitAbi" since="24"/>
+		<field name="useAppZygote" since="29"/>
+		<field name="useDefaultMargins" since="14"/>
+		<field name="useEmbeddedDex" since="29"/>
+		<field name="useIntrinsicSizeAsMinimum" since="11"/>
+		<field name="useLevel"/>
+		<field name="userVisible" since="5"/>
+		<field name="usesCleartextTraffic" since="23"/>
+		<field name="usesPermissionFlags" since="31"/>
+		<field name="value"/>
+		<field name="valueFrom" since="11"/>
+		<field name="valueTo" since="11"/>
+		<field name="valueType" since="11"/>
+		<field name="variablePadding"/>
+		<field name="vendor" since="19"/>
+		<field name="version" since="24"/>
+		<field name="versionCode"/>
+		<field name="versionCodeMajor" since="28"/>
+		<field name="versionMajor" since="28"/>
+		<field name="versionName"/>
+		<field name="verticalCorrection" since="3" deprecated="29"/>
+		<field name="verticalDivider"/>
+		<field name="verticalGap" since="3" deprecated="29"/>
+		<field name="verticalScrollbarPosition" since="11"/>
+		<field name="verticalSpacing"/>
+		<field name="viewportHeight" since="21"/>
+		<field name="viewportWidth" since="21"/>
+		<field name="visibility"/>
+		<field name="visible"/>
+		<field name="visibleToInstantApps" since="26"/>
+		<field name="vmSafeMode" since="8"/>
+		<field name="voiceIcon" since="21"/>
+		<field name="voiceLanguage" since="3"/>
+		<field name="voiceLanguageModel" since="3"/>
+		<field name="voiceMaxResults" since="3"/>
+		<field name="voicePromptText" since="3"/>
+		<field name="voiceSearchMode" since="3"/>
+		<field name="wallpaperCloseEnterAnimation" since="5"/>
+		<field name="wallpaperCloseExitAnimation" since="5"/>
+		<field name="wallpaperIntraCloseEnterAnimation" since="5"/>
+		<field name="wallpaperIntraCloseExitAnimation" since="5"/>
+		<field name="wallpaperIntraOpenEnterAnimation" since="5"/>
+		<field name="wallpaperIntraOpenExitAnimation" since="5"/>
+		<field name="wallpaperOpenEnterAnimation" since="5"/>
+		<field name="wallpaperOpenExitAnimation" since="5"/>
+		<field name="webTextViewStyle" since="8"/>
+		<field name="webViewStyle"/>
+		<field name="weekDayTextAppearance" since="11"/>
+		<field name="weekNumberColor" since="11" deprecated="23"/>
+		<field name="weekSeparatorLineColor" since="11" deprecated="23"/>
+		<field name="weightSum"/>
+		<field name="widgetCategory" since="17"/>
+		<field name="widgetFeatures" since="28"/>
+		<field name="widgetLayout"/>
+		<field name="width"/>
+		<field name="windowActionBar" since="11"/>
+		<field name="windowActionBarOverlay" since="11"/>
+		<field name="windowActionModeOverlay" since="11"/>
+		<field name="windowActivityTransitions" since="21"/>
+		<field name="windowAllowEnterTransitionOverlap" since="21"/>
+		<field name="windowAllowReturnTransitionOverlap" since="21"/>
+		<field name="windowAnimationStyle"/>
+		<field name="windowBackground"/>
+		<field name="windowBackgroundBlurRadius" since="31"/>
+		<field name="windowBackgroundFallback" since="24"/>
+		<field name="windowBlurBehindEnabled" since="31"/>
+		<field name="windowBlurBehindRadius" since="31"/>
+		<field name="windowClipToOutline" since="21"/>
+		<field name="windowCloseOnTouchOutside" since="11"/>
+		<field name="windowContentOverlay"/>
+		<field name="windowContentTransitionManager" since="21"/>
+		<field name="windowContentTransitions" since="21"/>
+		<field name="windowDisablePreview" since="3"/>
+		<field name="windowDrawsSystemBarBackgrounds" since="21"/>
+		<field name="windowElevation" since="21"/>
+		<field name="windowEnableSplitTouch" since="11"/>
+		<field name="windowEnterAnimation"/>
+		<field name="windowEnterTransition" since="21"/>
+		<field name="windowExitAnimation"/>
+		<field name="windowExitTransition" since="21"/>
+		<field name="windowFrame"/>
+		<field name="windowFullscreen"/>
+		<field name="windowHideAnimation"/>
+		<field name="windowIsFloating"/>
+		<field name="windowIsTranslucent"/>
+		<field name="windowLayoutAffinity" since="31"/>
+		<field name="windowLayoutInDisplayCutoutMode" since="27"/>
+		<field name="windowLightNavigationBar" since="27"/>
+		<field name="windowLightStatusBar" since="23"/>
+		<field name="windowMinWidthMajor" since="11"/>
+		<field name="windowMinWidthMinor" since="11"/>
+		<field name="windowNoDisplay" since="3"/>
+		<field name="windowNoTitle"/>
+		<field name="windowOverscan" since="18" deprecated="30"/>
+		<field name="windowReenterTransition" since="21"/>
+		<field name="windowReturnTransition" since="21"/>
+		<field name="windowSharedElementEnterTransition" since="21"/>
+		<field name="windowSharedElementExitTransition" since="21"/>
+		<field name="windowSharedElementReenterTransition" since="21"/>
+		<field name="windowSharedElementReturnTransition" since="21"/>
+		<field name="windowSharedElementsUseOverlay" since="21"/>
+		<field name="windowShowAnimation"/>
+		<field name="windowShowWallpaper" since="5"/>
+		<field name="windowSoftInputMode" since="3"/>
+		<field name="windowSplashScreenAnimatedIcon" since="31"/>
+		<field name="windowSplashScreenAnimationDuration" since="31"/>
+		<field name="windowSplashScreenBackground" since="31"/>
+		<field name="windowSplashScreenBrandingImage" since="31"/>
+		<field name="windowSplashScreenIconBackgroundColor" since="31"/>
+		<field name="windowSplashscreenContent" since="26" deprecated="31"/>
+		<field name="windowSwipeToDismiss" since="20" deprecated="30"/>
+		<field name="windowTitleBackgroundStyle"/>
+		<field name="windowTitleSize"/>
+		<field name="windowTitleStyle"/>
+		<field name="windowTransitionBackgroundFadeDuration" since="21"/>
+		<field name="windowTranslucentNavigation" since="19"/>
+		<field name="windowTranslucentStatus" since="19"/>
+		<field name="writePermission"/>
+		<field name="x"/>
+		<field name="xlargeScreens" since="9"/>
+		<field name="y"/>
+		<field name="yearListItemTextAppearance" since="21" deprecated="23"/>
+		<field name="yearListSelectorColor" since="21" deprecated="23"/>
+		<field name="yesNoPreferenceStyle"/>
+		<field name="zAdjustment"/>
+		<field name="zygotePreloadName" since="29"/>
+	</class>
+	<class name="android/R$bool" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/R$color" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="background_dark"/>
+		<field name="background_light"/>
+		<field name="black"/>
+		<field name="darker_gray"/>
+		<field name="holo_blue_bright" since="14"/>
+		<field name="holo_blue_dark" since="14"/>
+		<field name="holo_blue_light" since="14"/>
+		<field name="holo_green_dark" since="14"/>
+		<field name="holo_green_light" since="14"/>
+		<field name="holo_orange_dark" since="14"/>
+		<field name="holo_orange_light" since="14"/>
+		<field name="holo_purple" since="14"/>
+		<field name="holo_red_dark" since="14"/>
+		<field name="holo_red_light" since="14"/>
+		<field name="primary_text_dark" deprecated="28"/>
+		<field name="primary_text_dark_nodisable" deprecated="28"/>
+		<field name="primary_text_light" deprecated="28"/>
+		<field name="primary_text_light_nodisable" deprecated="28"/>
+		<field name="secondary_text_dark" deprecated="28"/>
+		<field name="secondary_text_dark_nodisable" deprecated="28"/>
+		<field name="secondary_text_light" deprecated="28"/>
+		<field name="secondary_text_light_nodisable" deprecated="28"/>
+		<field name="system_accent1_0" since="31"/>
+		<field name="system_accent1_10" since="31"/>
+		<field name="system_accent1_100" since="31"/>
+		<field name="system_accent1_1000" since="31"/>
+		<field name="system_accent1_200" since="31"/>
+		<field name="system_accent1_300" since="31"/>
+		<field name="system_accent1_400" since="31"/>
+		<field name="system_accent1_50" since="31"/>
+		<field name="system_accent1_500" since="31"/>
+		<field name="system_accent1_600" since="31"/>
+		<field name="system_accent1_700" since="31"/>
+		<field name="system_accent1_800" since="31"/>
+		<field name="system_accent1_900" since="31"/>
+		<field name="system_accent2_0" since="31"/>
+		<field name="system_accent2_10" since="31"/>
+		<field name="system_accent2_100" since="31"/>
+		<field name="system_accent2_1000" since="31"/>
+		<field name="system_accent2_200" since="31"/>
+		<field name="system_accent2_300" since="31"/>
+		<field name="system_accent2_400" since="31"/>
+		<field name="system_accent2_50" since="31"/>
+		<field name="system_accent2_500" since="31"/>
+		<field name="system_accent2_600" since="31"/>
+		<field name="system_accent2_700" since="31"/>
+		<field name="system_accent2_800" since="31"/>
+		<field name="system_accent2_900" since="31"/>
+		<field name="system_accent3_0" since="31"/>
+		<field name="system_accent3_10" since="31"/>
+		<field name="system_accent3_100" since="31"/>
+		<field name="system_accent3_1000" since="31"/>
+		<field name="system_accent3_200" since="31"/>
+		<field name="system_accent3_300" since="31"/>
+		<field name="system_accent3_400" since="31"/>
+		<field name="system_accent3_50" since="31"/>
+		<field name="system_accent3_500" since="31"/>
+		<field name="system_accent3_600" since="31"/>
+		<field name="system_accent3_700" since="31"/>
+		<field name="system_accent3_800" since="31"/>
+		<field name="system_accent3_900" since="31"/>
+		<field name="system_neutral1_0" since="31"/>
+		<field name="system_neutral1_10" since="31"/>
+		<field name="system_neutral1_100" since="31"/>
+		<field name="system_neutral1_1000" since="31"/>
+		<field name="system_neutral1_200" since="31"/>
+		<field name="system_neutral1_300" since="31"/>
+		<field name="system_neutral1_400" since="31"/>
+		<field name="system_neutral1_50" since="31"/>
+		<field name="system_neutral1_500" since="31"/>
+		<field name="system_neutral1_600" since="31"/>
+		<field name="system_neutral1_700" since="31"/>
+		<field name="system_neutral1_800" since="31"/>
+		<field name="system_neutral1_900" since="31"/>
+		<field name="system_neutral2_0" since="31"/>
+		<field name="system_neutral2_10" since="31"/>
+		<field name="system_neutral2_100" since="31"/>
+		<field name="system_neutral2_1000" since="31"/>
+		<field name="system_neutral2_200" since="31"/>
+		<field name="system_neutral2_300" since="31"/>
+		<field name="system_neutral2_400" since="31"/>
+		<field name="system_neutral2_50" since="31"/>
+		<field name="system_neutral2_500" since="31"/>
+		<field name="system_neutral2_600" since="31"/>
+		<field name="system_neutral2_700" since="31"/>
+		<field name="system_neutral2_800" since="31"/>
+		<field name="system_neutral2_900" since="31"/>
+		<field name="tab_indicator_text"/>
+		<field name="tertiary_text_dark" deprecated="28"/>
+		<field name="tertiary_text_light" deprecated="28"/>
+		<field name="transparent"/>
+		<field name="white"/>
+		<field name="widget_edittext_dark"/>
+	</class>
+	<class name="android/R$dimen" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="app_icon_size"/>
+		<field name="dialog_min_width_major" since="11"/>
+		<field name="dialog_min_width_minor" since="11"/>
+		<field name="notification_large_icon_height" since="11"/>
+		<field name="notification_large_icon_width" since="11"/>
+		<field name="system_app_widget_background_radius" since="31"/>
+		<field name="system_app_widget_inner_radius" since="31"/>
+		<field name="thumbnail_height"/>
+		<field name="thumbnail_width"/>
+	</class>
+	<class name="android/R$drawable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="alert_dark_frame"/>
+		<field name="alert_light_frame"/>
+		<field name="arrow_down_float"/>
+		<field name="arrow_up_float"/>
+		<field name="bottom_bar"/>
+		<field name="btn_default"/>
+		<field name="btn_default_small"/>
+		<field name="btn_dialog"/>
+		<field name="btn_dropdown"/>
+		<field name="btn_minus"/>
+		<field name="btn_plus"/>
+		<field name="btn_radio"/>
+		<field name="btn_star"/>
+		<field name="btn_star_big_off"/>
+		<field name="btn_star_big_on"/>
+		<field name="button_onoff_indicator_off"/>
+		<field name="button_onoff_indicator_on"/>
+		<field name="checkbox_off_background"/>
+		<field name="checkbox_on_background"/>
+		<field name="dark_header" since="3"/>
+		<field name="dialog_frame"/>
+		<field name="dialog_holo_dark_frame" since="11"/>
+		<field name="dialog_holo_light_frame" since="11"/>
+		<field name="divider_horizontal_bright"/>
+		<field name="divider_horizontal_dark"/>
+		<field name="divider_horizontal_dim_dark"/>
+		<field name="divider_horizontal_textfield"/>
+		<field name="edit_text"/>
+		<field name="editbox_background"/>
+		<field name="editbox_background_normal"/>
+		<field name="editbox_dropdown_dark_frame"/>
+		<field name="editbox_dropdown_light_frame"/>
+		<field name="gallery_thumb"/>
+		<field name="ic_btn_speak_now" since="3"/>
+		<field name="ic_delete"/>
+		<field name="ic_dialog_alert"/>
+		<field name="ic_dialog_dialer"/>
+		<field name="ic_dialog_email"/>
+		<field name="ic_dialog_info"/>
+		<field name="ic_dialog_map"/>
+		<field name="ic_input_add"/>
+		<field name="ic_input_delete"/>
+		<field name="ic_input_get"/>
+		<field name="ic_lock_idle_alarm"/>
+		<field name="ic_lock_idle_charging"/>
+		<field name="ic_lock_idle_lock"/>
+		<field name="ic_lock_idle_low_battery"/>
+		<field name="ic_lock_lock"/>
+		<field name="ic_lock_power_off"/>
+		<field name="ic_lock_silent_mode"/>
+		<field name="ic_lock_silent_mode_off"/>
+		<field name="ic_media_ff"/>
+		<field name="ic_media_next"/>
+		<field name="ic_media_pause"/>
+		<field name="ic_media_play"/>
+		<field name="ic_media_previous"/>
+		<field name="ic_media_rew"/>
+		<field name="ic_menu_add"/>
+		<field name="ic_menu_agenda"/>
+		<field name="ic_menu_always_landscape_portrait"/>
+		<field name="ic_menu_call"/>
+		<field name="ic_menu_camera"/>
+		<field name="ic_menu_close_clear_cancel"/>
+		<field name="ic_menu_compass"/>
+		<field name="ic_menu_crop"/>
+		<field name="ic_menu_day"/>
+		<field name="ic_menu_delete"/>
+		<field name="ic_menu_directions"/>
+		<field name="ic_menu_edit"/>
+		<field name="ic_menu_gallery"/>
+		<field name="ic_menu_help"/>
+		<field name="ic_menu_info_details"/>
+		<field name="ic_menu_manage"/>
+		<field name="ic_menu_mapmode"/>
+		<field name="ic_menu_month"/>
+		<field name="ic_menu_more"/>
+		<field name="ic_menu_my_calendar"/>
+		<field name="ic_menu_mylocation"/>
+		<field name="ic_menu_myplaces"/>
+		<field name="ic_menu_preferences"/>
+		<field name="ic_menu_recent_history"/>
+		<field name="ic_menu_report_image"/>
+		<field name="ic_menu_revert"/>
+		<field name="ic_menu_rotate"/>
+		<field name="ic_menu_save"/>
+		<field name="ic_menu_search"/>
+		<field name="ic_menu_send"/>
+		<field name="ic_menu_set_as"/>
+		<field name="ic_menu_share"/>
+		<field name="ic_menu_slideshow"/>
+		<field name="ic_menu_sort_alphabetically"/>
+		<field name="ic_menu_sort_by_size"/>
+		<field name="ic_menu_today"/>
+		<field name="ic_menu_upload"/>
+		<field name="ic_menu_upload_you_tube"/>
+		<field name="ic_menu_view"/>
+		<field name="ic_menu_week"/>
+		<field name="ic_menu_zoom"/>
+		<field name="ic_notification_clear_all"/>
+		<field name="ic_notification_overlay"/>
+		<field name="ic_partial_secure"/>
+		<field name="ic_popup_disk_full"/>
+		<field name="ic_popup_reminder"/>
+		<field name="ic_popup_sync"/>
+		<field name="ic_search_category_default"/>
+		<field name="ic_secure"/>
+		<field name="list_selector_background"/>
+		<field name="menu_frame"/>
+		<field name="menu_full_frame"/>
+		<field name="menuitem_background"/>
+		<field name="picture_frame"/>
+		<field name="presence_audio_away" since="9"/>
+		<field name="presence_audio_busy" since="9"/>
+		<field name="presence_audio_online" since="9"/>
+		<field name="presence_away"/>
+		<field name="presence_busy"/>
+		<field name="presence_invisible"/>
+		<field name="presence_offline"/>
+		<field name="presence_online"/>
+		<field name="presence_video_away" since="9"/>
+		<field name="presence_video_busy" since="9"/>
+		<field name="presence_video_online" since="9"/>
+		<field name="progress_horizontal"/>
+		<field name="progress_indeterminate_horizontal"/>
+		<field name="radiobutton_off_background"/>
+		<field name="radiobutton_on_background"/>
+		<field name="screen_background_dark"/>
+		<field name="screen_background_dark_transparent" since="5"/>
+		<field name="screen_background_light"/>
+		<field name="screen_background_light_transparent" since="5"/>
+		<field name="spinner_background"/>
+		<field name="spinner_dropdown_background"/>
+		<field name="star_big_off"/>
+		<field name="star_big_on"/>
+		<field name="star_off"/>
+		<field name="star_on"/>
+		<field name="stat_notify_call_mute"/>
+		<field name="stat_notify_chat"/>
+		<field name="stat_notify_error"/>
+		<field name="stat_notify_missed_call"/>
+		<field name="stat_notify_more"/>
+		<field name="stat_notify_sdcard"/>
+		<field name="stat_notify_sdcard_prepare" since="5"/>
+		<field name="stat_notify_sdcard_usb"/>
+		<field name="stat_notify_sync"/>
+		<field name="stat_notify_sync_noanim"/>
+		<field name="stat_notify_voicemail"/>
+		<field name="stat_sys_data_bluetooth"/>
+		<field name="stat_sys_download"/>
+		<field name="stat_sys_download_done"/>
+		<field name="stat_sys_headset"/>
+		<field name="stat_sys_phone_call" deprecated="15"/>
+		<field name="stat_sys_phone_call_forward" deprecated="15"/>
+		<field name="stat_sys_phone_call_on_hold" deprecated="15"/>
+		<field name="stat_sys_speakerphone"/>
+		<field name="stat_sys_upload"/>
+		<field name="stat_sys_upload_done"/>
+		<field name="stat_sys_vp_phone_call" since="4" deprecated="15"/>
+		<field name="stat_sys_vp_phone_call_on_hold" since="4" deprecated="15"/>
+		<field name="stat_sys_warning"/>
+		<field name="status_bar_item_app_background"/>
+		<field name="status_bar_item_background"/>
+		<field name="sym_action_call"/>
+		<field name="sym_action_chat"/>
+		<field name="sym_action_email"/>
+		<field name="sym_call_incoming"/>
+		<field name="sym_call_missed"/>
+		<field name="sym_call_outgoing"/>
+		<field name="sym_contact_card"/>
+		<field name="sym_def_app_icon"/>
+		<field name="title_bar"/>
+		<field name="title_bar_tall" since="3"/>
+		<field name="toast_frame"/>
+		<field name="zoom_plate"/>
+	</class>
+	<class name="android/R$fraction" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/R$id" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="accessibilityActionContextClick" since="23"/>
+		<field name="accessibilityActionDragCancel" since="33"/>
+		<field name="accessibilityActionDragDrop" since="33"/>
+		<field name="accessibilityActionDragStart" since="33"/>
+		<field name="accessibilityActionHideTooltip" since="28"/>
+		<field name="accessibilityActionImeEnter" since="30"/>
+		<field name="accessibilityActionMoveWindow" since="26"/>
+		<field name="accessibilityActionPageDown" since="29"/>
+		<field name="accessibilityActionPageLeft" since="29"/>
+		<field name="accessibilityActionPageRight" since="29"/>
+		<field name="accessibilityActionPageUp" since="29"/>
+		<field name="accessibilityActionPressAndHold" since="30"/>
+		<field name="accessibilityActionScrollDown" since="23"/>
+		<field name="accessibilityActionScrollLeft" since="23"/>
+		<field name="accessibilityActionScrollRight" since="23"/>
+		<field name="accessibilityActionScrollToPosition" since="23"/>
+		<field name="accessibilityActionScrollUp" since="23"/>
+		<field name="accessibilityActionSetProgress" since="24"/>
+		<field name="accessibilityActionShowOnScreen" since="23"/>
+		<field name="accessibilityActionShowTooltip" since="28"/>
+		<field name="accessibilitySystemActionBack" since="30"/>
+		<field name="accessibilitySystemActionHome" since="30"/>
+		<field name="accessibilitySystemActionLockScreen" since="30"/>
+		<field name="accessibilitySystemActionNotifications" since="30"/>
+		<field name="accessibilitySystemActionPowerDialog" since="30"/>
+		<field name="accessibilitySystemActionQuickSettings" since="30"/>
+		<field name="accessibilitySystemActionRecents" since="30"/>
+		<field name="accessibilitySystemActionTakeScreenshot" since="30"/>
+		<field name="accessibilitySystemActionToggleSplitScreen" since="30"/>
+		<field name="addToDictionary" since="3"/>
+		<field name="autofill" since="26"/>
+		<field name="background"/>
+		<field name="button1"/>
+		<field name="button2"/>
+		<field name="button3"/>
+		<field name="candidatesArea" since="3"/>
+		<field name="checkbox"/>
+		<field name="closeButton" since="3"/>
+		<field name="content"/>
+		<field name="copy" since="3"/>
+		<field name="copyUrl" since="3"/>
+		<field name="custom" since="8"/>
+		<field name="cut" since="3"/>
+		<field name="edit"/>
+		<field name="empty"/>
+		<field name="extractArea" since="3"/>
+		<field name="hint"/>
+		<field name="home" since="11"/>
+		<field name="icon"/>
+		<field name="icon1"/>
+		<field name="icon2"/>
+		<field name="icon_frame" since="24"/>
+		<field name="input"/>
+		<field name="inputArea" since="3"/>
+		<field name="inputExtractEditText" since="3"/>
+		<field name="keyboardView" since="3" deprecated="29"/>
+		<field name="list"/>
+		<field name="list_container" since="24"/>
+		<field name="mask" since="21"/>
+		<field name="message"/>
+		<field name="navigationBarBackground" since="21"/>
+		<field name="paste" since="3"/>
+		<field name="pasteAsPlainText" since="23"/>
+		<field name="primary"/>
+		<field name="progress"/>
+		<field name="redo" since="23"/>
+		<field name="replaceText" since="23"/>
+		<field name="secondaryProgress"/>
+		<field name="selectAll" since="3"/>
+		<field name="selectTextMode" since="11"/>
+		<field name="selectedIcon"/>
+		<field name="shareText" since="23"/>
+		<field name="startSelectingText" since="3"/>
+		<field name="statusBarBackground" since="21"/>
+		<field name="stopSelectingText" since="3"/>
+		<field name="summary"/>
+		<field name="switchInputMethod" since="3"/>
+		<field name="switch_widget" since="24"/>
+		<field name="tabcontent"/>
+		<field name="tabhost"/>
+		<field name="tabs"/>
+		<field name="text1"/>
+		<field name="text2"/>
+		<field name="textAssist" since="26"/>
+		<field name="title"/>
+		<field name="toggle"/>
+		<field name="undo" since="23"/>
+		<field name="widget_frame"/>
+	</class>
+	<class name="android/R$integer" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="config_longAnimTime"/>
+		<field name="config_mediumAnimTime"/>
+		<field name="config_shortAnimTime"/>
+		<field name="status_bar_notification_info_maxnum" since="14"/>
+	</class>
+	<class name="android/R$interpolator" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="accelerate_cubic"/>
+		<field name="accelerate_decelerate"/>
+		<field name="accelerate_quad"/>
+		<field name="accelerate_quint"/>
+		<field name="anticipate"/>
+		<field name="anticipate_overshoot"/>
+		<field name="bounce"/>
+		<field name="cycle"/>
+		<field name="decelerate_cubic"/>
+		<field name="decelerate_quad"/>
+		<field name="decelerate_quint"/>
+		<field name="fast_out_extra_slow_in" since="28"/>
+		<field name="fast_out_linear_in" since="21"/>
+		<field name="fast_out_slow_in" since="21"/>
+		<field name="linear"/>
+		<field name="linear_out_slow_in" since="21"/>
+		<field name="overshoot"/>
+	</class>
+	<class name="android/R$layout" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="activity_list_item"/>
+		<field name="browser_link_context_header"/>
+		<field name="expandable_list_content"/>
+		<field name="list_content" since="11"/>
+		<field name="preference_category"/>
+		<field name="select_dialog_item"/>
+		<field name="select_dialog_multichoice"/>
+		<field name="select_dialog_singlechoice"/>
+		<field name="simple_dropdown_item_1line"/>
+		<field name="simple_expandable_list_item_1"/>
+		<field name="simple_expandable_list_item_2"/>
+		<field name="simple_gallery_item"/>
+		<field name="simple_list_item_1"/>
+		<field name="simple_list_item_2"/>
+		<field name="simple_list_item_activated_1" since="11"/>
+		<field name="simple_list_item_activated_2" since="11"/>
+		<field name="simple_list_item_checked"/>
+		<field name="simple_list_item_multiple_choice"/>
+		<field name="simple_list_item_single_choice"/>
+		<field name="simple_selectable_list_item" since="11"/>
+		<field name="simple_spinner_dropdown_item"/>
+		<field name="simple_spinner_item"/>
+		<field name="test_list_item"/>
+		<field name="two_line_list_item"/>
+	</class>
+	<class name="android/R$menu" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/R$mipmap" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="sym_def_app_icon"/>
+	</class>
+	<class name="android/R$plurals" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/R$raw" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/R$string" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="VideoView_error_button"/>
+		<field name="VideoView_error_text_invalid_progressive_playback" since="3"/>
+		<field name="VideoView_error_text_unknown"/>
+		<field name="VideoView_error_title"/>
+		<field name="autofill" since="27"/>
+		<field name="cancel"/>
+		<field name="copy"/>
+		<field name="copyUrl"/>
+		<field name="cut"/>
+		<field name="defaultMsisdnAlphaTag"/>
+		<field name="defaultVoiceMailAlphaTag"/>
+		<field name="dialog_alert_title" since="3"/>
+		<field name="emptyPhoneNumber"/>
+		<field name="fingerprint_icon_content_description" since="23"/>
+		<field name="httpErrorBadUrl"/>
+		<field name="httpErrorUnsupportedScheme"/>
+		<field name="no" deprecated="30"/>
+		<field name="ok"/>
+		<field name="paste"/>
+		<field name="paste_as_plain_text" since="26"/>
+		<field name="search_go"/>
+		<field name="selectAll"/>
+		<field name="selectTextMode" since="11"/>
+		<field name="status_bar_notification_info_overflow" since="14"/>
+		<field name="unknownName"/>
+		<field name="untitled"/>
+		<field name="yes" deprecated="30"/>
+	</class>
+	<class name="android/R$style" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="Animation"/>
+		<field name="Animation_Activity"/>
+		<field name="Animation_Dialog"/>
+		<field name="Animation_InputMethod" since="5"/>
+		<field name="Animation_Toast"/>
+		<field name="Animation_Translucent"/>
+		<field name="DeviceDefault_ButtonBar" since="14"/>
+		<field name="DeviceDefault_ButtonBar_AlertDialog" since="14"/>
+		<field name="DeviceDefault_Light_ButtonBar" since="14"/>
+		<field name="DeviceDefault_Light_ButtonBar_AlertDialog" since="14"/>
+		<field name="DeviceDefault_Light_SegmentedButton" since="14"/>
+		<field name="DeviceDefault_SegmentedButton" since="14"/>
+		<field name="Holo_ButtonBar" since="11"/>
+		<field name="Holo_ButtonBar_AlertDialog" since="11"/>
+		<field name="Holo_Light_ButtonBar" since="11"/>
+		<field name="Holo_Light_ButtonBar_AlertDialog" since="11"/>
+		<field name="Holo_Light_SegmentedButton" since="11"/>
+		<field name="Holo_SegmentedButton" since="11"/>
+		<field name="MediaButton"/>
+		<field name="MediaButton_Ffwd"/>
+		<field name="MediaButton_Next"/>
+		<field name="MediaButton_Pause"/>
+		<field name="MediaButton_Play"/>
+		<field name="MediaButton_Previous"/>
+		<field name="MediaButton_Rew"/>
+		<field name="TextAppearance"/>
+		<field name="TextAppearance_DeviceDefault" since="14"/>
+		<field name="TextAppearance_DeviceDefault_DialogWindowTitle" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Inverse" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Large" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Large_Inverse" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Medium" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Medium_Inverse" since="14"/>
+		<field name="TextAppearance_DeviceDefault_SearchResult_Subtitle" since="14"/>
+		<field name="TextAppearance_DeviceDefault_SearchResult_Title" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Small" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Small_Inverse" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_ActionBar_Menu" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_ActionBar_Subtitle_Inverse" since="14" deprecated="21"/>
+		<field name="TextAppearance_DeviceDefault_Widget_ActionBar_Title" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_ActionBar_Title_Inverse" since="14" deprecated="21"/>
+		<field name="TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_ActionMode_Subtitle_Inverse" since="14" deprecated="21"/>
+		<field name="TextAppearance_DeviceDefault_Widget_ActionMode_Title" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_ActionMode_Title_Inverse" since="14" deprecated="21"/>
+		<field name="TextAppearance_DeviceDefault_Widget_Button" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_DropDownHint" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_DropDownItem" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_EditText" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_IconMenu_Item" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_PopupMenu" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_PopupMenu_Large" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_PopupMenu_Small" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_TabWidget" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_TextView" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_TextView_PopupMenu" since="14"/>
+		<field name="TextAppearance_DeviceDefault_Widget_TextView_SpinnerItem" since="14"/>
+		<field name="TextAppearance_DeviceDefault_WindowTitle" since="14"/>
+		<field name="TextAppearance_DialogWindowTitle"/>
+		<field name="TextAppearance_Holo" since="13"/>
+		<field name="TextAppearance_Holo_DialogWindowTitle" since="13"/>
+		<field name="TextAppearance_Holo_Inverse" since="13"/>
+		<field name="TextAppearance_Holo_Large" since="13"/>
+		<field name="TextAppearance_Holo_Large_Inverse" since="13"/>
+		<field name="TextAppearance_Holo_Medium" since="13"/>
+		<field name="TextAppearance_Holo_Medium_Inverse" since="13"/>
+		<field name="TextAppearance_Holo_SearchResult_Subtitle" since="13"/>
+		<field name="TextAppearance_Holo_SearchResult_Title" since="13"/>
+		<field name="TextAppearance_Holo_Small" since="13"/>
+		<field name="TextAppearance_Holo_Small_Inverse" since="13"/>
+		<field name="TextAppearance_Holo_Widget" since="13"/>
+		<field name="TextAppearance_Holo_Widget_ActionBar_Menu" since="14"/>
+		<field name="TextAppearance_Holo_Widget_ActionBar_Subtitle" since="13"/>
+		<field name="TextAppearance_Holo_Widget_ActionBar_Subtitle_Inverse" since="14"/>
+		<field name="TextAppearance_Holo_Widget_ActionBar_Title" since="13"/>
+		<field name="TextAppearance_Holo_Widget_ActionBar_Title_Inverse" since="14"/>
+		<field name="TextAppearance_Holo_Widget_ActionMode_Subtitle" since="13"/>
+		<field name="TextAppearance_Holo_Widget_ActionMode_Subtitle_Inverse" since="14"/>
+		<field name="TextAppearance_Holo_Widget_ActionMode_Title" since="13"/>
+		<field name="TextAppearance_Holo_Widget_ActionMode_Title_Inverse" since="14"/>
+		<field name="TextAppearance_Holo_Widget_Button" since="13"/>
+		<field name="TextAppearance_Holo_Widget_DropDownHint" since="13"/>
+		<field name="TextAppearance_Holo_Widget_DropDownItem" since="13"/>
+		<field name="TextAppearance_Holo_Widget_EditText" since="13"/>
+		<field name="TextAppearance_Holo_Widget_IconMenu_Item" since="13"/>
+		<field name="TextAppearance_Holo_Widget_PopupMenu" since="13"/>
+		<field name="TextAppearance_Holo_Widget_PopupMenu_Large" since="13"/>
+		<field name="TextAppearance_Holo_Widget_PopupMenu_Small" since="13"/>
+		<field name="TextAppearance_Holo_Widget_TabWidget" since="13"/>
+		<field name="TextAppearance_Holo_Widget_TextView" since="13"/>
+		<field name="TextAppearance_Holo_Widget_TextView_PopupMenu" since="13"/>
+		<field name="TextAppearance_Holo_Widget_TextView_SpinnerItem" since="13"/>
+		<field name="TextAppearance_Holo_WindowTitle" since="13"/>
+		<field name="TextAppearance_Inverse"/>
+		<field name="TextAppearance_Large"/>
+		<field name="TextAppearance_Large_Inverse"/>
+		<field name="TextAppearance_Material" since="21"/>
+		<field name="TextAppearance_Material_Body1" since="21"/>
+		<field name="TextAppearance_Material_Body2" since="21"/>
+		<field name="TextAppearance_Material_Button" since="21"/>
+		<field name="TextAppearance_Material_Caption" since="21"/>
+		<field name="TextAppearance_Material_DialogWindowTitle" since="21"/>
+		<field name="TextAppearance_Material_Display1" since="21"/>
+		<field name="TextAppearance_Material_Display2" since="21"/>
+		<field name="TextAppearance_Material_Display3" since="21"/>
+		<field name="TextAppearance_Material_Display4" since="21"/>
+		<field name="TextAppearance_Material_Headline" since="21"/>
+		<field name="TextAppearance_Material_Inverse" since="21"/>
+		<field name="TextAppearance_Material_Large" since="21"/>
+		<field name="TextAppearance_Material_Large_Inverse" since="21"/>
+		<field name="TextAppearance_Material_Medium" since="21"/>
+		<field name="TextAppearance_Material_Medium_Inverse" since="21"/>
+		<field name="TextAppearance_Material_Menu" since="21"/>
+		<field name="TextAppearance_Material_Notification" since="21"/>
+		<field name="TextAppearance_Material_Notification_Emphasis" since="21"/>
+		<field name="TextAppearance_Material_Notification_Info" since="21"/>
+		<field name="TextAppearance_Material_Notification_Line2" since="21"/>
+		<field name="TextAppearance_Material_Notification_Time" since="21"/>
+		<field name="TextAppearance_Material_Notification_Title" since="21"/>
+		<field name="TextAppearance_Material_SearchResult_Subtitle" since="21"/>
+		<field name="TextAppearance_Material_SearchResult_Title" since="21"/>
+		<field name="TextAppearance_Material_Small" since="21"/>
+		<field name="TextAppearance_Material_Small_Inverse" since="21"/>
+		<field name="TextAppearance_Material_Subhead" since="21"/>
+		<field name="TextAppearance_Material_Title" since="21"/>
+		<field name="TextAppearance_Material_Widget" since="21"/>
+		<field name="TextAppearance_Material_Widget_ActionBar_Menu" since="21"/>
+		<field name="TextAppearance_Material_Widget_ActionBar_Subtitle" since="21"/>
+		<field name="TextAppearance_Material_Widget_ActionBar_Subtitle_Inverse" since="21"/>
+		<field name="TextAppearance_Material_Widget_ActionBar_Title" since="21"/>
+		<field name="TextAppearance_Material_Widget_ActionBar_Title_Inverse" since="21"/>
+		<field name="TextAppearance_Material_Widget_ActionMode_Subtitle" since="21"/>
+		<field name="TextAppearance_Material_Widget_ActionMode_Subtitle_Inverse" since="21"/>
+		<field name="TextAppearance_Material_Widget_ActionMode_Title" since="21"/>
+		<field name="TextAppearance_Material_Widget_ActionMode_Title_Inverse" since="21"/>
+		<field name="TextAppearance_Material_Widget_Button" since="21"/>
+		<field name="TextAppearance_Material_Widget_Button_Borderless_Colored" since="24"/>
+		<field name="TextAppearance_Material_Widget_Button_Colored" since="24"/>
+		<field name="TextAppearance_Material_Widget_Button_Inverse" since="23"/>
+		<field name="TextAppearance_Material_Widget_DropDownHint" since="21"/>
+		<field name="TextAppearance_Material_Widget_DropDownItem" since="21"/>
+		<field name="TextAppearance_Material_Widget_EditText" since="21"/>
+		<field name="TextAppearance_Material_Widget_IconMenu_Item" since="21"/>
+		<field name="TextAppearance_Material_Widget_PopupMenu" since="21"/>
+		<field name="TextAppearance_Material_Widget_PopupMenu_Large" since="21"/>
+		<field name="TextAppearance_Material_Widget_PopupMenu_Small" since="21"/>
+		<field name="TextAppearance_Material_Widget_TabWidget" since="21"/>
+		<field name="TextAppearance_Material_Widget_TextView" since="21"/>
+		<field name="TextAppearance_Material_Widget_TextView_PopupMenu" since="21"/>
+		<field name="TextAppearance_Material_Widget_TextView_SpinnerItem" since="21"/>
+		<field name="TextAppearance_Material_Widget_Toolbar_Subtitle" since="21"/>
+		<field name="TextAppearance_Material_Widget_Toolbar_Title" since="21"/>
+		<field name="TextAppearance_Material_WindowTitle" since="21"/>
+		<field name="TextAppearance_Medium"/>
+		<field name="TextAppearance_Medium_Inverse"/>
+		<field name="TextAppearance_Small"/>
+		<field name="TextAppearance_Small_Inverse"/>
+		<field name="TextAppearance_StatusBar_EventContent" since="9"/>
+		<field name="TextAppearance_StatusBar_EventContent_Title" since="9"/>
+		<field name="TextAppearance_StatusBar_Icon" since="9"/>
+		<field name="TextAppearance_StatusBar_Title" since="9"/>
+		<field name="TextAppearance_SuggestionHighlight" since="14"/>
+		<field name="TextAppearance_Theme"/>
+		<field name="TextAppearance_Theme_Dialog"/>
+		<field name="TextAppearance_Widget"/>
+		<field name="TextAppearance_Widget_Button"/>
+		<field name="TextAppearance_Widget_DropDownHint"/>
+		<field name="TextAppearance_Widget_DropDownItem"/>
+		<field name="TextAppearance_Widget_EditText"/>
+		<field name="TextAppearance_Widget_IconMenu_Item"/>
+		<field name="TextAppearance_Widget_PopupMenu_Large" since="11"/>
+		<field name="TextAppearance_Widget_PopupMenu_Small" since="11"/>
+		<field name="TextAppearance_Widget_TabWidget"/>
+		<field name="TextAppearance_Widget_TextView"/>
+		<field name="TextAppearance_Widget_TextView_PopupMenu"/>
+		<field name="TextAppearance_Widget_TextView_SpinnerItem"/>
+		<field name="TextAppearance_WindowTitle"/>
+		<field name="Theme"/>
+		<field name="ThemeOverlay" since="21"/>
+		<field name="ThemeOverlay_DeviceDefault_Accent_DayNight" since="29"/>
+		<field name="ThemeOverlay_Material" since="21"/>
+		<field name="ThemeOverlay_Material_ActionBar" since="21"/>
+		<field name="ThemeOverlay_Material_Dark" since="21"/>
+		<field name="ThemeOverlay_Material_Dark_ActionBar" since="21"/>
+		<field name="ThemeOverlay_Material_Dialog" since="23"/>
+		<field name="ThemeOverlay_Material_Dialog_Alert" since="23"/>
+		<field name="ThemeOverlay_Material_Light" since="21"/>
+		<field name="Theme_Black"/>
+		<field name="Theme_Black_NoTitleBar"/>
+		<field name="Theme_Black_NoTitleBar_Fullscreen"/>
+		<field name="Theme_DeviceDefault" since="14"/>
+		<field name="Theme_DeviceDefault_DayNight" since="29"/>
+		<field name="Theme_DeviceDefault_Dialog" since="14"/>
+		<field name="Theme_DeviceDefault_DialogWhenLarge" since="14"/>
+		<field name="Theme_DeviceDefault_DialogWhenLarge_NoActionBar" since="14"/>
+		<field name="Theme_DeviceDefault_Dialog_Alert" since="22"/>
+		<field name="Theme_DeviceDefault_Dialog_MinWidth" since="14"/>
+		<field name="Theme_DeviceDefault_Dialog_NoActionBar" since="14"/>
+		<field name="Theme_DeviceDefault_Dialog_NoActionBar_MinWidth" since="14"/>
+		<field name="Theme_DeviceDefault_InputMethod" since="14"/>
+		<field name="Theme_DeviceDefault_Light" since="14"/>
+		<field name="Theme_DeviceDefault_Light_DarkActionBar" since="14"/>
+		<field name="Theme_DeviceDefault_Light_Dialog" since="14"/>
+		<field name="Theme_DeviceDefault_Light_DialogWhenLarge" since="14"/>
+		<field name="Theme_DeviceDefault_Light_DialogWhenLarge_NoActionBar" since="14"/>
+		<field name="Theme_DeviceDefault_Light_Dialog_Alert" since="22"/>
+		<field name="Theme_DeviceDefault_Light_Dialog_MinWidth" since="14"/>
+		<field name="Theme_DeviceDefault_Light_Dialog_NoActionBar" since="14"/>
+		<field name="Theme_DeviceDefault_Light_Dialog_NoActionBar_MinWidth" since="14"/>
+		<field name="Theme_DeviceDefault_Light_NoActionBar" since="14"/>
+		<field name="Theme_DeviceDefault_Light_NoActionBar_Fullscreen" since="14"/>
+		<field name="Theme_DeviceDefault_Light_NoActionBar_Overscan" since="18"/>
+		<field name="Theme_DeviceDefault_Light_NoActionBar_TranslucentDecor" since="19"/>
+		<field name="Theme_DeviceDefault_Light_Panel" since="14"/>
+		<field name="Theme_DeviceDefault_NoActionBar" since="14"/>
+		<field name="Theme_DeviceDefault_NoActionBar_Fullscreen" since="14"/>
+		<field name="Theme_DeviceDefault_NoActionBar_Overscan" since="18"/>
+		<field name="Theme_DeviceDefault_NoActionBar_TranslucentDecor" since="19"/>
+		<field name="Theme_DeviceDefault_Panel" since="14"/>
+		<field name="Theme_DeviceDefault_Settings" since="21"/>
+		<field name="Theme_DeviceDefault_Wallpaper" since="14"/>
+		<field name="Theme_DeviceDefault_Wallpaper_NoTitleBar" since="14"/>
+		<field name="Theme_Dialog"/>
+		<field name="Theme_Holo" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Dialog" since="11" deprecated="28"/>
+		<field name="Theme_Holo_DialogWhenLarge" since="11" deprecated="28"/>
+		<field name="Theme_Holo_DialogWhenLarge_NoActionBar" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Dialog_MinWidth" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Dialog_NoActionBar" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Dialog_NoActionBar_MinWidth" since="11" deprecated="28"/>
+		<field name="Theme_Holo_InputMethod" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Light" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Light_DarkActionBar" since="14" deprecated="28"/>
+		<field name="Theme_Holo_Light_Dialog" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Light_DialogWhenLarge" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Light_DialogWhenLarge_NoActionBar" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Light_Dialog_MinWidth" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Light_Dialog_NoActionBar" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Light_Dialog_NoActionBar_MinWidth" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Light_NoActionBar" since="13" deprecated="28"/>
+		<field name="Theme_Holo_Light_NoActionBar_Fullscreen" since="13" deprecated="28"/>
+		<field name="Theme_Holo_Light_NoActionBar_Overscan" since="18" deprecated="28"/>
+		<field name="Theme_Holo_Light_NoActionBar_TranslucentDecor" since="19" deprecated="28"/>
+		<field name="Theme_Holo_Light_Panel" since="11" deprecated="28"/>
+		<field name="Theme_Holo_NoActionBar" since="11" deprecated="28"/>
+		<field name="Theme_Holo_NoActionBar_Fullscreen" since="11" deprecated="28"/>
+		<field name="Theme_Holo_NoActionBar_Overscan" since="18" deprecated="28"/>
+		<field name="Theme_Holo_NoActionBar_TranslucentDecor" since="19" deprecated="28"/>
+		<field name="Theme_Holo_Panel" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Wallpaper" since="11" deprecated="28"/>
+		<field name="Theme_Holo_Wallpaper_NoTitleBar" since="11" deprecated="28"/>
+		<field name="Theme_InputMethod" since="3"/>
+		<field name="Theme_Light"/>
+		<field name="Theme_Light_NoTitleBar"/>
+		<field name="Theme_Light_NoTitleBar_Fullscreen"/>
+		<field name="Theme_Light_Panel" since="3"/>
+		<field name="Theme_Light_WallpaperSettings" since="5"/>
+		<field name="Theme_Material" since="21"/>
+		<field name="Theme_Material_Dialog" since="21"/>
+		<field name="Theme_Material_DialogWhenLarge" since="21"/>
+		<field name="Theme_Material_DialogWhenLarge_NoActionBar" since="21"/>
+		<field name="Theme_Material_Dialog_Alert" since="21"/>
+		<field name="Theme_Material_Dialog_MinWidth" since="21"/>
+		<field name="Theme_Material_Dialog_NoActionBar" since="21"/>
+		<field name="Theme_Material_Dialog_NoActionBar_MinWidth" since="21"/>
+		<field name="Theme_Material_Dialog_Presentation" since="21"/>
+		<field name="Theme_Material_InputMethod" since="21"/>
+		<field name="Theme_Material_Light" since="21"/>
+		<field name="Theme_Material_Light_DarkActionBar" since="21"/>
+		<field name="Theme_Material_Light_Dialog" since="21"/>
+		<field name="Theme_Material_Light_DialogWhenLarge" since="21"/>
+		<field name="Theme_Material_Light_DialogWhenLarge_DarkActionBar" since="24"/>
+		<field name="Theme_Material_Light_DialogWhenLarge_NoActionBar" since="21"/>
+		<field name="Theme_Material_Light_Dialog_Alert" since="21"/>
+		<field name="Theme_Material_Light_Dialog_MinWidth" since="21"/>
+		<field name="Theme_Material_Light_Dialog_NoActionBar" since="21"/>
+		<field name="Theme_Material_Light_Dialog_NoActionBar_MinWidth" since="21"/>
+		<field name="Theme_Material_Light_Dialog_Presentation" since="21"/>
+		<field name="Theme_Material_Light_LightStatusBar" since="23"/>
+		<field name="Theme_Material_Light_NoActionBar" since="21"/>
+		<field name="Theme_Material_Light_NoActionBar_Fullscreen" since="21"/>
+		<field name="Theme_Material_Light_NoActionBar_Overscan" since="21" deprecated="30"/>
+		<field name="Theme_Material_Light_NoActionBar_TranslucentDecor" since="21"/>
+		<field name="Theme_Material_Light_Panel" since="21"/>
+		<field name="Theme_Material_Light_Voice" since="21"/>
+		<field name="Theme_Material_NoActionBar" since="21"/>
+		<field name="Theme_Material_NoActionBar_Fullscreen" since="21"/>
+		<field name="Theme_Material_NoActionBar_Overscan" since="21" deprecated="30"/>
+		<field name="Theme_Material_NoActionBar_TranslucentDecor" since="21"/>
+		<field name="Theme_Material_Panel" since="21"/>
+		<field name="Theme_Material_Settings" since="21"/>
+		<field name="Theme_Material_Voice" since="21"/>
+		<field name="Theme_Material_Wallpaper" since="21"/>
+		<field name="Theme_Material_Wallpaper_NoTitleBar" since="21"/>
+		<field name="Theme_NoDisplay" since="3"/>
+		<field name="Theme_NoTitleBar"/>
+		<field name="Theme_NoTitleBar_Fullscreen"/>
+		<field name="Theme_NoTitleBar_OverlayActionModes" since="11"/>
+		<field name="Theme_Panel" since="3"/>
+		<field name="Theme_Translucent"/>
+		<field name="Theme_Translucent_NoTitleBar"/>
+		<field name="Theme_Translucent_NoTitleBar_Fullscreen"/>
+		<field name="Theme_Wallpaper" since="5"/>
+		<field name="Theme_WallpaperSettings" since="5"/>
+		<field name="Theme_Wallpaper_NoTitleBar" since="5"/>
+		<field name="Theme_Wallpaper_NoTitleBar_Fullscreen" since="5"/>
+		<field name="Theme_WithActionBar" since="11"/>
+		<field name="Widget"/>
+		<field name="Widget_AbsListView"/>
+		<field name="Widget_ActionBar" since="11"/>
+		<field name="Widget_ActionBar_TabBar" since="13"/>
+		<field name="Widget_ActionBar_TabText" since="13"/>
+		<field name="Widget_ActionBar_TabView" since="13"/>
+		<field name="Widget_ActionButton" since="11"/>
+		<field name="Widget_ActionButton_CloseMode" since="11"/>
+		<field name="Widget_ActionButton_Overflow" since="11"/>
+		<field name="Widget_AutoCompleteTextView"/>
+		<field name="Widget_Button"/>
+		<field name="Widget_Button_Inset"/>
+		<field name="Widget_Button_Small"/>
+		<field name="Widget_Button_Toggle"/>
+		<field name="Widget_CalendarView" since="11"/>
+		<field name="Widget_CompoundButton"/>
+		<field name="Widget_CompoundButton_CheckBox"/>
+		<field name="Widget_CompoundButton_RadioButton"/>
+		<field name="Widget_CompoundButton_Star"/>
+		<field name="Widget_DatePicker" since="11"/>
+		<field name="Widget_DeviceDefault" since="14"/>
+		<field name="Widget_DeviceDefault_ActionBar" since="14"/>
+		<field name="Widget_DeviceDefault_ActionBar_Solid" since="14"/>
+		<field name="Widget_DeviceDefault_ActionBar_TabBar" since="14"/>
+		<field name="Widget_DeviceDefault_ActionBar_TabText" since="14"/>
+		<field name="Widget_DeviceDefault_ActionBar_TabView" since="14"/>
+		<field name="Widget_DeviceDefault_ActionButton" since="14"/>
+		<field name="Widget_DeviceDefault_ActionButton_CloseMode" since="14"/>
+		<field name="Widget_DeviceDefault_ActionButton_Overflow" since="14"/>
+		<field name="Widget_DeviceDefault_ActionButton_TextButton" since="14"/>
+		<field name="Widget_DeviceDefault_ActionMode" since="14"/>
+		<field name="Widget_DeviceDefault_AutoCompleteTextView" since="14"/>
+		<field name="Widget_DeviceDefault_Button" since="14"/>
+		<field name="Widget_DeviceDefault_Button_Borderless" since="14"/>
+		<field name="Widget_DeviceDefault_Button_Borderless_Colored" since="28"/>
+		<field name="Widget_DeviceDefault_Button_Borderless_Small" since="14"/>
+		<field name="Widget_DeviceDefault_Button_Colored" since="28"/>
+		<field name="Widget_DeviceDefault_Button_Inset" since="14"/>
+		<field name="Widget_DeviceDefault_Button_Small" since="14"/>
+		<field name="Widget_DeviceDefault_Button_Toggle" since="14"/>
+		<field name="Widget_DeviceDefault_CalendarView" since="14"/>
+		<field name="Widget_DeviceDefault_CheckedTextView" since="17"/>
+		<field name="Widget_DeviceDefault_CompoundButton_CheckBox" since="14"/>
+		<field name="Widget_DeviceDefault_CompoundButton_RadioButton" since="14"/>
+		<field name="Widget_DeviceDefault_CompoundButton_Star" since="14"/>
+		<field name="Widget_DeviceDefault_DatePicker" since="14"/>
+		<field name="Widget_DeviceDefault_DropDownItem" since="14"/>
+		<field name="Widget_DeviceDefault_DropDownItem_Spinner" since="14"/>
+		<field name="Widget_DeviceDefault_EditText" since="14"/>
+		<field name="Widget_DeviceDefault_ExpandableListView" since="14"/>
+		<field name="Widget_DeviceDefault_FastScroll" since="21"/>
+		<field name="Widget_DeviceDefault_GridView" since="14"/>
+		<field name="Widget_DeviceDefault_HorizontalScrollView" since="14"/>
+		<field name="Widget_DeviceDefault_ImageButton" since="14"/>
+		<field name="Widget_DeviceDefault_Light" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ActionBar" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ActionBar_Solid" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ActionBar_Solid_Inverse" since="14" deprecated="21"/>
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabBar" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabBar_Inverse" since="14" deprecated="21"/>
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabText" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabText_Inverse" since="14" deprecated="21"/>
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabView" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ActionBar_TabView_Inverse" since="14" deprecated="21"/>
+		<field name="Widget_DeviceDefault_Light_ActionButton" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ActionButton_CloseMode" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ActionButton_Overflow" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ActionMode" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ActionMode_Inverse" since="14" deprecated="21"/>
+		<field name="Widget_DeviceDefault_Light_AutoCompleteTextView" since="14"/>
+		<field name="Widget_DeviceDefault_Light_Button" since="14"/>
+		<field name="Widget_DeviceDefault_Light_Button_Borderless_Small" since="14"/>
+		<field name="Widget_DeviceDefault_Light_Button_Inset" since="14"/>
+		<field name="Widget_DeviceDefault_Light_Button_Small" since="14"/>
+		<field name="Widget_DeviceDefault_Light_Button_Toggle" since="14"/>
+		<field name="Widget_DeviceDefault_Light_CalendarView" since="14"/>
+		<field name="Widget_DeviceDefault_Light_CheckedTextView" since="17"/>
+		<field name="Widget_DeviceDefault_Light_CompoundButton_CheckBox" since="14"/>
+		<field name="Widget_DeviceDefault_Light_CompoundButton_RadioButton" since="14"/>
+		<field name="Widget_DeviceDefault_Light_CompoundButton_Star" since="14"/>
+		<field name="Widget_DeviceDefault_Light_DropDownItem" since="14"/>
+		<field name="Widget_DeviceDefault_Light_DropDownItem_Spinner" since="14"/>
+		<field name="Widget_DeviceDefault_Light_EditText" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ExpandableListView" since="14"/>
+		<field name="Widget_DeviceDefault_Light_FastScroll" since="21"/>
+		<field name="Widget_DeviceDefault_Light_GridView" since="14"/>
+		<field name="Widget_DeviceDefault_Light_HorizontalScrollView" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ImageButton" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ListPopupWindow" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ListView" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ListView_DropDown" since="14"/>
+		<field name="Widget_DeviceDefault_Light_MediaRouteButton" since="16"/>
+		<field name="Widget_DeviceDefault_Light_PopupMenu" since="14"/>
+		<field name="Widget_DeviceDefault_Light_PopupWindow" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ProgressBar" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Horizontal" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Inverse" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Large" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Large_Inverse" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Small" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Small_Inverse" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ProgressBar_Small_Title" since="14"/>
+		<field name="Widget_DeviceDefault_Light_RatingBar" since="14"/>
+		<field name="Widget_DeviceDefault_Light_RatingBar_Indicator" since="14"/>
+		<field name="Widget_DeviceDefault_Light_RatingBar_Small" since="14"/>
+		<field name="Widget_DeviceDefault_Light_ScrollView" since="14"/>
+		<field name="Widget_DeviceDefault_Light_SeekBar" since="14"/>
+		<field name="Widget_DeviceDefault_Light_Spinner" since="14"/>
+		<field name="Widget_DeviceDefault_Light_StackView" since="21"/>
+		<field name="Widget_DeviceDefault_Light_Tab" since="14"/>
+		<field name="Widget_DeviceDefault_Light_TabWidget" since="14"/>
+		<field name="Widget_DeviceDefault_Light_TextView" since="14"/>
+		<field name="Widget_DeviceDefault_Light_TextView_SpinnerItem" since="14"/>
+		<field name="Widget_DeviceDefault_Light_WebTextView" since="14"/>
+		<field name="Widget_DeviceDefault_Light_WebView" since="14"/>
+		<field name="Widget_DeviceDefault_ListPopupWindow" since="14"/>
+		<field name="Widget_DeviceDefault_ListView" since="14"/>
+		<field name="Widget_DeviceDefault_ListView_DropDown" since="14"/>
+		<field name="Widget_DeviceDefault_MediaRouteButton" since="16"/>
+		<field name="Widget_DeviceDefault_PopupMenu" since="14"/>
+		<field name="Widget_DeviceDefault_PopupWindow" since="14"/>
+		<field name="Widget_DeviceDefault_ProgressBar" since="14"/>
+		<field name="Widget_DeviceDefault_ProgressBar_Horizontal" since="14"/>
+		<field name="Widget_DeviceDefault_ProgressBar_Large" since="14"/>
+		<field name="Widget_DeviceDefault_ProgressBar_Small" since="14"/>
+		<field name="Widget_DeviceDefault_ProgressBar_Small_Title" since="14"/>
+		<field name="Widget_DeviceDefault_RatingBar" since="14"/>
+		<field name="Widget_DeviceDefault_RatingBar_Indicator" since="14"/>
+		<field name="Widget_DeviceDefault_RatingBar_Small" since="14"/>
+		<field name="Widget_DeviceDefault_ScrollView" since="14"/>
+		<field name="Widget_DeviceDefault_SeekBar" since="14"/>
+		<field name="Widget_DeviceDefault_Spinner" since="14"/>
+		<field name="Widget_DeviceDefault_StackView" since="21"/>
+		<field name="Widget_DeviceDefault_Tab" since="14"/>
+		<field name="Widget_DeviceDefault_TabWidget" since="14"/>
+		<field name="Widget_DeviceDefault_TextView" since="14"/>
+		<field name="Widget_DeviceDefault_TextView_SpinnerItem" since="14"/>
+		<field name="Widget_DeviceDefault_WebTextView" since="14"/>
+		<field name="Widget_DeviceDefault_WebView" since="14"/>
+		<field name="Widget_DropDownItem"/>
+		<field name="Widget_DropDownItem_Spinner"/>
+		<field name="Widget_EditText"/>
+		<field name="Widget_ExpandableListView"/>
+		<field name="Widget_FastScroll" since="21"/>
+		<field name="Widget_FragmentBreadCrumbs" since="11"/>
+		<field name="Widget_Gallery"/>
+		<field name="Widget_GridView"/>
+		<field name="Widget_Holo" since="11"/>
+		<field name="Widget_Holo_ActionBar" since="11"/>
+		<field name="Widget_Holo_ActionBar_Solid" since="14"/>
+		<field name="Widget_Holo_ActionBar_TabBar" since="13"/>
+		<field name="Widget_Holo_ActionBar_TabText" since="13"/>
+		<field name="Widget_Holo_ActionBar_TabView" since="13"/>
+		<field name="Widget_Holo_ActionButton" since="11"/>
+		<field name="Widget_Holo_ActionButton_CloseMode" since="11"/>
+		<field name="Widget_Holo_ActionButton_Overflow" since="11"/>
+		<field name="Widget_Holo_ActionButton_TextButton" since="11"/>
+		<field name="Widget_Holo_ActionMode" since="11"/>
+		<field name="Widget_Holo_AutoCompleteTextView" since="11"/>
+		<field name="Widget_Holo_Button" since="11"/>
+		<field name="Widget_Holo_Button_Borderless" since="11"/>
+		<field name="Widget_Holo_Button_Borderless_Small" since="14"/>
+		<field name="Widget_Holo_Button_Inset" since="11"/>
+		<field name="Widget_Holo_Button_Small" since="11"/>
+		<field name="Widget_Holo_Button_Toggle" since="11"/>
+		<field name="Widget_Holo_CalendarView" since="11"/>
+		<field name="Widget_Holo_CheckedTextView" since="17"/>
+		<field name="Widget_Holo_CompoundButton_CheckBox" since="11"/>
+		<field name="Widget_Holo_CompoundButton_RadioButton" since="11"/>
+		<field name="Widget_Holo_CompoundButton_Star" since="11"/>
+		<field name="Widget_Holo_DatePicker" since="11"/>
+		<field name="Widget_Holo_DropDownItem" since="11"/>
+		<field name="Widget_Holo_DropDownItem_Spinner" since="11"/>
+		<field name="Widget_Holo_EditText" since="11"/>
+		<field name="Widget_Holo_ExpandableListView" since="11"/>
+		<field name="Widget_Holo_GridView" since="11"/>
+		<field name="Widget_Holo_HorizontalScrollView" since="11"/>
+		<field name="Widget_Holo_ImageButton" since="11"/>
+		<field name="Widget_Holo_Light" since="11"/>
+		<field name="Widget_Holo_Light_ActionBar" since="11"/>
+		<field name="Widget_Holo_Light_ActionBar_Solid" since="14"/>
+		<field name="Widget_Holo_Light_ActionBar_Solid_Inverse" since="14"/>
+		<field name="Widget_Holo_Light_ActionBar_TabBar" since="13"/>
+		<field name="Widget_Holo_Light_ActionBar_TabBar_Inverse" since="14"/>
+		<field name="Widget_Holo_Light_ActionBar_TabText" since="13"/>
+		<field name="Widget_Holo_Light_ActionBar_TabText_Inverse" since="14"/>
+		<field name="Widget_Holo_Light_ActionBar_TabView" since="13"/>
+		<field name="Widget_Holo_Light_ActionBar_TabView_Inverse" since="14"/>
+		<field name="Widget_Holo_Light_ActionButton" since="11"/>
+		<field name="Widget_Holo_Light_ActionButton_CloseMode" since="11"/>
+		<field name="Widget_Holo_Light_ActionButton_Overflow" since="11"/>
+		<field name="Widget_Holo_Light_ActionMode" since="11"/>
+		<field name="Widget_Holo_Light_ActionMode_Inverse" since="14"/>
+		<field name="Widget_Holo_Light_AutoCompleteTextView" since="11"/>
+		<field name="Widget_Holo_Light_Button" since="11"/>
+		<field name="Widget_Holo_Light_Button_Borderless_Small" since="14"/>
+		<field name="Widget_Holo_Light_Button_Inset" since="11"/>
+		<field name="Widget_Holo_Light_Button_Small" since="11"/>
+		<field name="Widget_Holo_Light_Button_Toggle" since="11"/>
+		<field name="Widget_Holo_Light_CalendarView" since="11"/>
+		<field name="Widget_Holo_Light_CheckedTextView" since="17"/>
+		<field name="Widget_Holo_Light_CompoundButton_CheckBox" since="11"/>
+		<field name="Widget_Holo_Light_CompoundButton_RadioButton" since="11"/>
+		<field name="Widget_Holo_Light_CompoundButton_Star" since="11"/>
+		<field name="Widget_Holo_Light_DropDownItem" since="11"/>
+		<field name="Widget_Holo_Light_DropDownItem_Spinner" since="11"/>
+		<field name="Widget_Holo_Light_EditText" since="11"/>
+		<field name="Widget_Holo_Light_ExpandableListView" since="11"/>
+		<field name="Widget_Holo_Light_GridView" since="11"/>
+		<field name="Widget_Holo_Light_HorizontalScrollView" since="11"/>
+		<field name="Widget_Holo_Light_ImageButton" since="11"/>
+		<field name="Widget_Holo_Light_ListPopupWindow" since="11"/>
+		<field name="Widget_Holo_Light_ListView" since="11"/>
+		<field name="Widget_Holo_Light_ListView_DropDown" since="11"/>
+		<field name="Widget_Holo_Light_MediaRouteButton" since="16"/>
+		<field name="Widget_Holo_Light_PopupMenu" since="11"/>
+		<field name="Widget_Holo_Light_PopupWindow" since="11"/>
+		<field name="Widget_Holo_Light_ProgressBar" since="11"/>
+		<field name="Widget_Holo_Light_ProgressBar_Horizontal" since="11"/>
+		<field name="Widget_Holo_Light_ProgressBar_Inverse" since="11"/>
+		<field name="Widget_Holo_Light_ProgressBar_Large" since="11"/>
+		<field name="Widget_Holo_Light_ProgressBar_Large_Inverse" since="11"/>
+		<field name="Widget_Holo_Light_ProgressBar_Small" since="11"/>
+		<field name="Widget_Holo_Light_ProgressBar_Small_Inverse" since="11"/>
+		<field name="Widget_Holo_Light_ProgressBar_Small_Title" since="11"/>
+		<field name="Widget_Holo_Light_RatingBar" since="11"/>
+		<field name="Widget_Holo_Light_RatingBar_Indicator" since="11"/>
+		<field name="Widget_Holo_Light_RatingBar_Small" since="11"/>
+		<field name="Widget_Holo_Light_ScrollView" since="11"/>
+		<field name="Widget_Holo_Light_SeekBar" since="11"/>
+		<field name="Widget_Holo_Light_Spinner" since="11"/>
+		<field name="Widget_Holo_Light_Tab" since="11"/>
+		<field name="Widget_Holo_Light_TabWidget" since="11"/>
+		<field name="Widget_Holo_Light_TextView" since="11"/>
+		<field name="Widget_Holo_Light_TextView_SpinnerItem" since="11"/>
+		<field name="Widget_Holo_Light_WebTextView" since="11"/>
+		<field name="Widget_Holo_Light_WebView" since="11"/>
+		<field name="Widget_Holo_ListPopupWindow" since="11"/>
+		<field name="Widget_Holo_ListView" since="11"/>
+		<field name="Widget_Holo_ListView_DropDown" since="11"/>
+		<field name="Widget_Holo_MediaRouteButton" since="16"/>
+		<field name="Widget_Holo_PopupMenu" since="11"/>
+		<field name="Widget_Holo_PopupWindow" since="11"/>
+		<field name="Widget_Holo_ProgressBar" since="11"/>
+		<field name="Widget_Holo_ProgressBar_Horizontal" since="11"/>
+		<field name="Widget_Holo_ProgressBar_Large" since="11"/>
+		<field name="Widget_Holo_ProgressBar_Small" since="11"/>
+		<field name="Widget_Holo_ProgressBar_Small_Title" since="11"/>
+		<field name="Widget_Holo_RatingBar" since="11"/>
+		<field name="Widget_Holo_RatingBar_Indicator" since="11"/>
+		<field name="Widget_Holo_RatingBar_Small" since="11"/>
+		<field name="Widget_Holo_ScrollView" since="11"/>
+		<field name="Widget_Holo_SeekBar" since="11"/>
+		<field name="Widget_Holo_Spinner" since="11"/>
+		<field name="Widget_Holo_Tab" since="11"/>
+		<field name="Widget_Holo_TabWidget" since="11"/>
+		<field name="Widget_Holo_TextView" since="11"/>
+		<field name="Widget_Holo_TextView_SpinnerItem" since="11"/>
+		<field name="Widget_Holo_WebTextView" since="11"/>
+		<field name="Widget_Holo_WebView" since="11"/>
+		<field name="Widget_ImageButton"/>
+		<field name="Widget_ImageWell"/>
+		<field name="Widget_KeyboardView" since="3" deprecated="29"/>
+		<field name="Widget_ListPopupWindow" since="11"/>
+		<field name="Widget_ListView"/>
+		<field name="Widget_ListView_DropDown"/>
+		<field name="Widget_ListView_Menu"/>
+		<field name="Widget_ListView_White"/>
+		<field name="Widget_Material" since="21"/>
+		<field name="Widget_Material_ActionBar" since="21"/>
+		<field name="Widget_Material_ActionBar_Solid" since="21"/>
+		<field name="Widget_Material_ActionBar_TabBar" since="21"/>
+		<field name="Widget_Material_ActionBar_TabText" since="21"/>
+		<field name="Widget_Material_ActionBar_TabView" since="21"/>
+		<field name="Widget_Material_ActionButton" since="21"/>
+		<field name="Widget_Material_ActionButton_CloseMode" since="21"/>
+		<field name="Widget_Material_ActionButton_Overflow" since="21"/>
+		<field name="Widget_Material_ActionMode" since="21"/>
+		<field name="Widget_Material_AutoCompleteTextView" since="21"/>
+		<field name="Widget_Material_Button" since="21"/>
+		<field name="Widget_Material_ButtonBar" since="21"/>
+		<field name="Widget_Material_ButtonBar_AlertDialog" since="21"/>
+		<field name="Widget_Material_Button_Borderless" since="21"/>
+		<field name="Widget_Material_Button_Borderless_Colored" since="21"/>
+		<field name="Widget_Material_Button_Borderless_Small" since="21"/>
+		<field name="Widget_Material_Button_Colored" since="23"/>
+		<field name="Widget_Material_Button_Inset" since="21"/>
+		<field name="Widget_Material_Button_Small" since="21"/>
+		<field name="Widget_Material_Button_Toggle" since="21"/>
+		<field name="Widget_Material_CalendarView" since="21"/>
+		<field name="Widget_Material_CheckedTextView" since="21"/>
+		<field name="Widget_Material_CompoundButton_CheckBox" since="21"/>
+		<field name="Widget_Material_CompoundButton_RadioButton" since="21"/>
+		<field name="Widget_Material_CompoundButton_Star" since="21"/>
+		<field name="Widget_Material_CompoundButton_Switch" since="24"/>
+		<field name="Widget_Material_DatePicker" since="21"/>
+		<field name="Widget_Material_DropDownItem" since="21"/>
+		<field name="Widget_Material_DropDownItem_Spinner" since="21"/>
+		<field name="Widget_Material_EditText" since="21"/>
+		<field name="Widget_Material_ExpandableListView" since="21"/>
+		<field name="Widget_Material_FastScroll" since="21"/>
+		<field name="Widget_Material_GridView" since="21"/>
+		<field name="Widget_Material_HorizontalScrollView" since="21"/>
+		<field name="Widget_Material_ImageButton" since="21"/>
+		<field name="Widget_Material_Light" since="21"/>
+		<field name="Widget_Material_Light_ActionBar" since="21"/>
+		<field name="Widget_Material_Light_ActionBar_Solid" since="21"/>
+		<field name="Widget_Material_Light_ActionBar_TabBar" since="21"/>
+		<field name="Widget_Material_Light_ActionBar_TabText" since="21"/>
+		<field name="Widget_Material_Light_ActionBar_TabView" since="21"/>
+		<field name="Widget_Material_Light_ActionButton" since="21"/>
+		<field name="Widget_Material_Light_ActionButton_CloseMode" since="21"/>
+		<field name="Widget_Material_Light_ActionButton_Overflow" since="21"/>
+		<field name="Widget_Material_Light_ActionMode" since="21"/>
+		<field name="Widget_Material_Light_AutoCompleteTextView" since="21"/>
+		<field name="Widget_Material_Light_Button" since="21"/>
+		<field name="Widget_Material_Light_ButtonBar" since="21"/>
+		<field name="Widget_Material_Light_ButtonBar_AlertDialog" since="21"/>
+		<field name="Widget_Material_Light_Button_Borderless" since="21"/>
+		<field name="Widget_Material_Light_Button_Borderless_Colored" since="21"/>
+		<field name="Widget_Material_Light_Button_Borderless_Small" since="21"/>
+		<field name="Widget_Material_Light_Button_Inset" since="21"/>
+		<field name="Widget_Material_Light_Button_Small" since="21"/>
+		<field name="Widget_Material_Light_Button_Toggle" since="21"/>
+		<field name="Widget_Material_Light_CalendarView" since="21"/>
+		<field name="Widget_Material_Light_CheckedTextView" since="21"/>
+		<field name="Widget_Material_Light_CompoundButton_CheckBox" since="21"/>
+		<field name="Widget_Material_Light_CompoundButton_RadioButton" since="21"/>
+		<field name="Widget_Material_Light_CompoundButton_Star" since="21"/>
+		<field name="Widget_Material_Light_CompoundButton_Switch" since="24"/>
+		<field name="Widget_Material_Light_DatePicker" since="21"/>
+		<field name="Widget_Material_Light_DropDownItem" since="21"/>
+		<field name="Widget_Material_Light_DropDownItem_Spinner" since="21"/>
+		<field name="Widget_Material_Light_EditText" since="21"/>
+		<field name="Widget_Material_Light_ExpandableListView" since="21"/>
+		<field name="Widget_Material_Light_FastScroll" since="21"/>
+		<field name="Widget_Material_Light_GridView" since="21"/>
+		<field name="Widget_Material_Light_HorizontalScrollView" since="21"/>
+		<field name="Widget_Material_Light_ImageButton" since="21"/>
+		<field name="Widget_Material_Light_ListPopupWindow" since="21"/>
+		<field name="Widget_Material_Light_ListView" since="21"/>
+		<field name="Widget_Material_Light_ListView_DropDown" since="21"/>
+		<field name="Widget_Material_Light_MediaRouteButton" since="21"/>
+		<field name="Widget_Material_Light_NumberPicker" since="24"/>
+		<field name="Widget_Material_Light_PopupMenu" since="21"/>
+		<field name="Widget_Material_Light_PopupMenu_Overflow" since="21"/>
+		<field name="Widget_Material_Light_PopupWindow" since="21"/>
+		<field name="Widget_Material_Light_ProgressBar" since="21"/>
+		<field name="Widget_Material_Light_ProgressBar_Horizontal" since="21"/>
+		<field name="Widget_Material_Light_ProgressBar_Inverse" since="21"/>
+		<field name="Widget_Material_Light_ProgressBar_Large" since="21"/>
+		<field name="Widget_Material_Light_ProgressBar_Large_Inverse" since="21"/>
+		<field name="Widget_Material_Light_ProgressBar_Small" since="21"/>
+		<field name="Widget_Material_Light_ProgressBar_Small_Inverse" since="21"/>
+		<field name="Widget_Material_Light_ProgressBar_Small_Title" since="21"/>
+		<field name="Widget_Material_Light_RatingBar" since="21"/>
+		<field name="Widget_Material_Light_RatingBar_Indicator" since="21"/>
+		<field name="Widget_Material_Light_RatingBar_Small" since="21"/>
+		<field name="Widget_Material_Light_ScrollView" since="21"/>
+		<field name="Widget_Material_Light_SearchView" since="21"/>
+		<field name="Widget_Material_Light_SeekBar" since="21"/>
+		<field name="Widget_Material_Light_SegmentedButton" since="21"/>
+		<field name="Widget_Material_Light_Spinner" since="21"/>
+		<field name="Widget_Material_Light_Spinner_Underlined" since="21"/>
+		<field name="Widget_Material_Light_StackView" since="21"/>
+		<field name="Widget_Material_Light_Tab" since="21"/>
+		<field name="Widget_Material_Light_TabWidget" since="21"/>
+		<field name="Widget_Material_Light_TextView" since="21"/>
+		<field name="Widget_Material_Light_TextView_SpinnerItem" since="21"/>
+		<field name="Widget_Material_Light_TimePicker" since="21"/>
+		<field name="Widget_Material_Light_WebTextView" since="21"/>
+		<field name="Widget_Material_Light_WebView" since="21"/>
+		<field name="Widget_Material_ListPopupWindow" since="21"/>
+		<field name="Widget_Material_ListView" since="21"/>
+		<field name="Widget_Material_ListView_DropDown" since="21"/>
+		<field name="Widget_Material_MediaRouteButton" since="21"/>
+		<field name="Widget_Material_NumberPicker" since="24"/>
+		<field name="Widget_Material_PopupMenu" since="21"/>
+		<field name="Widget_Material_PopupMenu_Overflow" since="21"/>
+		<field name="Widget_Material_PopupWindow" since="21"/>
+		<field name="Widget_Material_ProgressBar" since="21"/>
+		<field name="Widget_Material_ProgressBar_Horizontal" since="21"/>
+		<field name="Widget_Material_ProgressBar_Large" since="21"/>
+		<field name="Widget_Material_ProgressBar_Small" since="21"/>
+		<field name="Widget_Material_ProgressBar_Small_Title" since="21"/>
+		<field name="Widget_Material_RatingBar" since="21"/>
+		<field name="Widget_Material_RatingBar_Indicator" since="21"/>
+		<field name="Widget_Material_RatingBar_Small" since="21"/>
+		<field name="Widget_Material_ScrollView" since="21"/>
+		<field name="Widget_Material_SearchView" since="21"/>
+		<field name="Widget_Material_SeekBar" since="21"/>
+		<field name="Widget_Material_SeekBar_Discrete" since="24"/>
+		<field name="Widget_Material_SegmentedButton" since="21"/>
+		<field name="Widget_Material_Spinner" since="21"/>
+		<field name="Widget_Material_Spinner_Underlined" since="21"/>
+		<field name="Widget_Material_StackView" since="21"/>
+		<field name="Widget_Material_Tab" since="21"/>
+		<field name="Widget_Material_TabWidget" since="21"/>
+		<field name="Widget_Material_TextView" since="21"/>
+		<field name="Widget_Material_TextView_SpinnerItem" since="21"/>
+		<field name="Widget_Material_TimePicker" since="21"/>
+		<field name="Widget_Material_Toolbar" since="21"/>
+		<field name="Widget_Material_Toolbar_Button_Navigation" since="21"/>
+		<field name="Widget_Material_WebTextView" since="21"/>
+		<field name="Widget_Material_WebView" since="21"/>
+		<field name="Widget_PopupMenu" since="11"/>
+		<field name="Widget_PopupWindow"/>
+		<field name="Widget_ProgressBar"/>
+		<field name="Widget_ProgressBar_Horizontal"/>
+		<field name="Widget_ProgressBar_Inverse" since="4"/>
+		<field name="Widget_ProgressBar_Large"/>
+		<field name="Widget_ProgressBar_Large_Inverse" since="4"/>
+		<field name="Widget_ProgressBar_Small"/>
+		<field name="Widget_ProgressBar_Small_Inverse" since="4"/>
+		<field name="Widget_RatingBar"/>
+		<field name="Widget_ScrollView"/>
+		<field name="Widget_SeekBar"/>
+		<field name="Widget_Spinner"/>
+		<field name="Widget_Spinner_DropDown" since="11"/>
+		<field name="Widget_StackView" since="21"/>
+		<field name="Widget_TabWidget"/>
+		<field name="Widget_TextView"/>
+		<field name="Widget_TextView_PopupMenu"/>
+		<field name="Widget_TextView_SpinnerItem"/>
+		<field name="Widget_Toolbar" since="21"/>
+		<field name="Widget_Toolbar_Button_Navigation" since="21"/>
+		<field name="Widget_WebView"/>
+	</class>
+	<class name="android/R$transition" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="explode"/>
+		<field name="fade"/>
+		<field name="move"/>
+		<field name="no_transition"/>
+		<field name="slide_bottom"/>
+		<field name="slide_left"/>
+		<field name="slide_right"/>
+		<field name="slide_top"/>
+	</class>
+	<class name="android/R$xml" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityButtonController" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="isAccessibilityButtonAvailable()Z"/>
+		<method name="registerAccessibilityButtonCallback(Landroid/accessibilityservice/AccessibilityButtonController$AccessibilityButtonCallback;)V"/>
+		<method name="registerAccessibilityButtonCallback(Landroid/accessibilityservice/AccessibilityButtonController$AccessibilityButtonCallback;Landroid/os/Handler;)V"/>
+		<method name="unregisterAccessibilityButtonCallback(Landroid/accessibilityservice/AccessibilityButtonController$AccessibilityButtonCallback;)V"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityButtonController$AccessibilityButtonCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAvailabilityChanged(Landroid/accessibilityservice/AccessibilityButtonController;Z)V"/>
+		<method name="onClicked(Landroid/accessibilityservice/AccessibilityButtonController;)V"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityGestureEvent" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="gestureIdToString(I)Ljava/lang/String;" since="31"/>
+		<method name="getDisplayId()I"/>
+		<method name="getGestureId()I"/>
+		<method name="getMotionEvents()Ljava/util/List;" since="31"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService" since="4">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="disableSelf()V" since="24"/>
+		<method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)Z" since="24"/>
+		<method name="findFocus(I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="21"/>
+		<method name="getAccessibilityButtonController()Landroid/accessibilityservice/AccessibilityButtonController;" since="26"/>
+		<method name="getAccessibilityButtonController(I)Landroid/accessibilityservice/AccessibilityButtonController;" since="30"/>
+		<method name="getFingerprintGestureController()Landroid/accessibilityservice/FingerprintGestureController;" since="26"/>
+		<method name="getMagnificationController()Landroid/accessibilityservice/AccessibilityService$MagnificationController;" since="24"/>
+		<method name="getRootInActiveWindow()Landroid/view/accessibility/AccessibilityNodeInfo;" since="16"/>
+		<method name="getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;" since="16"/>
+		<method name="getSoftKeyboardController()Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;" since="24"/>
+		<method name="getSystemActions()Ljava/util/List;" since="30"/>
+		<method name="getWindows()Ljava/util/List;" since="21"/>
+		<method name="getWindowsOnAllDisplays()Landroid/util/SparseArray;" since="30"/>
+		<method name="onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V"/>
+		<method name="onGesture(I)Z" since="16" deprecated="30"/>
+		<method name="onGesture(Landroid/accessibilityservice/AccessibilityGestureEvent;)Z" since="30"/>
+		<method name="onInterrupt()V"/>
+		<method name="onKeyEvent(Landroid/view/KeyEvent;)Z" since="18"/>
+		<method name="onServiceConnected()V"/>
+		<method name="onSystemActionsChanged()V" since="30"/>
+		<method name="performGlobalAction(I)Z" since="16"/>
+		<method name="setAccessibilityFocusAppearance(II)V" since="31"/>
+		<method name="setGestureDetectionPassthroughRegion(ILandroid/graphics/Region;)V" since="30"/>
+		<method name="setServiceInfo(Landroid/accessibilityservice/AccessibilityServiceInfo;)V"/>
+		<method name="setTouchExplorationPassthroughRegion(ILandroid/graphics/Region;)V" since="30"/>
+		<method name="takeScreenshot(ILjava/util/concurrent/Executor;Landroid/accessibilityservice/AccessibilityService$TakeScreenshotCallback;)V" since="30"/>
+		<field name="ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR" since="30"/>
+		<field name="ERROR_TAKE_SCREENSHOT_INTERVAL_TIME_SHORT" since="30"/>
+		<field name="ERROR_TAKE_SCREENSHOT_INVALID_DISPLAY" since="30"/>
+		<field name="ERROR_TAKE_SCREENSHOT_NO_ACCESSIBILITY_ACCESS" since="30"/>
+		<field name="GESTURE_2_FINGER_DOUBLE_TAP" since="30"/>
+		<field name="GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD" since="30"/>
+		<field name="GESTURE_2_FINGER_SINGLE_TAP" since="30"/>
+		<field name="GESTURE_2_FINGER_SWIPE_DOWN" since="30"/>
+		<field name="GESTURE_2_FINGER_SWIPE_LEFT" since="30"/>
+		<field name="GESTURE_2_FINGER_SWIPE_RIGHT" since="30"/>
+		<field name="GESTURE_2_FINGER_SWIPE_UP" since="30"/>
+		<field name="GESTURE_2_FINGER_TRIPLE_TAP" since="30"/>
+		<field name="GESTURE_2_FINGER_TRIPLE_TAP_AND_HOLD" since="31"/>
+		<field name="GESTURE_3_FINGER_DOUBLE_TAP" since="30"/>
+		<field name="GESTURE_3_FINGER_DOUBLE_TAP_AND_HOLD" since="30"/>
+		<field name="GESTURE_3_FINGER_SINGLE_TAP" since="30"/>
+		<field name="GESTURE_3_FINGER_SINGLE_TAP_AND_HOLD" since="31"/>
+		<field name="GESTURE_3_FINGER_SWIPE_DOWN" since="30"/>
+		<field name="GESTURE_3_FINGER_SWIPE_LEFT" since="30"/>
+		<field name="GESTURE_3_FINGER_SWIPE_RIGHT" since="30"/>
+		<field name="GESTURE_3_FINGER_SWIPE_UP" since="30"/>
+		<field name="GESTURE_3_FINGER_TRIPLE_TAP" since="30"/>
+		<field name="GESTURE_3_FINGER_TRIPLE_TAP_AND_HOLD" since="31"/>
+		<field name="GESTURE_4_FINGER_DOUBLE_TAP" since="30"/>
+		<field name="GESTURE_4_FINGER_DOUBLE_TAP_AND_HOLD" since="30"/>
+		<field name="GESTURE_4_FINGER_SINGLE_TAP" since="30"/>
+		<field name="GESTURE_4_FINGER_SWIPE_DOWN" since="30"/>
+		<field name="GESTURE_4_FINGER_SWIPE_LEFT" since="30"/>
+		<field name="GESTURE_4_FINGER_SWIPE_RIGHT" since="30"/>
+		<field name="GESTURE_4_FINGER_SWIPE_UP" since="30"/>
+		<field name="GESTURE_4_FINGER_TRIPLE_TAP" since="30"/>
+		<field name="GESTURE_DOUBLE_TAP" since="30"/>
+		<field name="GESTURE_DOUBLE_TAP_AND_HOLD" since="30"/>
+		<field name="GESTURE_SWIPE_DOWN" since="16"/>
+		<field name="GESTURE_SWIPE_DOWN_AND_LEFT" since="16"/>
+		<field name="GESTURE_SWIPE_DOWN_AND_RIGHT" since="16"/>
+		<field name="GESTURE_SWIPE_DOWN_AND_UP" since="16"/>
+		<field name="GESTURE_SWIPE_LEFT" since="16"/>
+		<field name="GESTURE_SWIPE_LEFT_AND_DOWN" since="16"/>
+		<field name="GESTURE_SWIPE_LEFT_AND_RIGHT" since="16"/>
+		<field name="GESTURE_SWIPE_LEFT_AND_UP" since="16"/>
+		<field name="GESTURE_SWIPE_RIGHT" since="16"/>
+		<field name="GESTURE_SWIPE_RIGHT_AND_DOWN" since="16"/>
+		<field name="GESTURE_SWIPE_RIGHT_AND_LEFT" since="16"/>
+		<field name="GESTURE_SWIPE_RIGHT_AND_UP" since="16"/>
+		<field name="GESTURE_SWIPE_UP" since="16"/>
+		<field name="GESTURE_SWIPE_UP_AND_DOWN" since="16"/>
+		<field name="GESTURE_SWIPE_UP_AND_LEFT" since="16"/>
+		<field name="GESTURE_SWIPE_UP_AND_RIGHT" since="16"/>
+		<field name="GESTURE_UNKNOWN" since="31"/>
+		<field name="GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS" since="31"/>
+		<field name="GLOBAL_ACTION_ACCESSIBILITY_BUTTON" since="31"/>
+		<field name="GLOBAL_ACTION_ACCESSIBILITY_BUTTON_CHOOSER" since="31"/>
+		<field name="GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT" since="31"/>
+		<field name="GLOBAL_ACTION_BACK" since="16"/>
+		<field name="GLOBAL_ACTION_DISMISS_NOTIFICATION_SHADE" since="31"/>
+		<field name="GLOBAL_ACTION_HOME" since="16"/>
+		<field name="GLOBAL_ACTION_KEYCODE_HEADSETHOOK" since="31"/>
+		<field name="GLOBAL_ACTION_LOCK_SCREEN" since="28"/>
+		<field name="GLOBAL_ACTION_NOTIFICATIONS" since="16"/>
+		<field name="GLOBAL_ACTION_POWER_DIALOG" since="21"/>
+		<field name="GLOBAL_ACTION_QUICK_SETTINGS" since="17"/>
+		<field name="GLOBAL_ACTION_RECENTS" since="16"/>
+		<field name="GLOBAL_ACTION_TAKE_SCREENSHOT" since="28"/>
+		<field name="GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN" since="24"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA" since="14"/>
+		<field name="SHOW_MODE_AUTO" since="24"/>
+		<field name="SHOW_MODE_HIDDEN" since="24"/>
+		<field name="SHOW_MODE_IGNORE_HARD_KEYBOARD" since="29"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$GestureResultCallback" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCancelled(Landroid/accessibilityservice/GestureDescription;)V"/>
+		<method name="onCompleted(Landroid/accessibilityservice/GestureDescription;)V"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$MagnificationController" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="addListener(Landroid/accessibilityservice/AccessibilityService$MagnificationController$OnMagnificationChangedListener;)V"/>
+		<method name="addListener(Landroid/accessibilityservice/AccessibilityService$MagnificationController$OnMagnificationChangedListener;Landroid/os/Handler;)V"/>
+		<method name="getCenterX()F"/>
+		<method name="getCenterY()F"/>
+		<method name="getMagnificationRegion()Landroid/graphics/Region;"/>
+		<method name="getScale()F"/>
+		<method name="removeListener(Landroid/accessibilityservice/AccessibilityService$MagnificationController$OnMagnificationChangedListener;)Z"/>
+		<method name="reset(Z)Z"/>
+		<method name="setCenter(FFZ)Z"/>
+		<method name="setScale(FZ)Z"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$MagnificationController$OnMagnificationChangedListener" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onMagnificationChanged(Landroid/accessibilityservice/AccessibilityService$MagnificationController;Landroid/graphics/Region;FFF)V"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$ScreenshotResult" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getColorSpace()Landroid/graphics/ColorSpace;"/>
+		<method name="getHardwareBuffer()Landroid/hardware/HardwareBuffer;"/>
+		<method name="getTimestamp()J"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$SoftKeyboardController" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="addOnShowModeChangedListener(Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController$OnShowModeChangedListener;)V"/>
+		<method name="addOnShowModeChangedListener(Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController$OnShowModeChangedListener;Landroid/os/Handler;)V"/>
+		<method name="getShowMode()I"/>
+		<method name="removeOnShowModeChangedListener(Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController$OnShowModeChangedListener;)Z"/>
+		<method name="setShowMode(I)Z"/>
+		<method name="switchToInputMethod(Ljava/lang/String;)Z" since="30"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$SoftKeyboardController$OnShowModeChangedListener" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onShowModeChanged(Landroid/accessibilityservice/AccessibilityService$SoftKeyboardController;I)V"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityService$TakeScreenshotCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onFailure(I)V"/>
+		<method name="onSuccess(Landroid/accessibilityservice/AccessibilityService$ScreenshotResult;)V"/>
+	</class>
+	<class name="android/accessibilityservice/AccessibilityServiceInfo" since="4">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="capabilityToString(I)Ljava/lang/String;" since="18"/>
+		<method name="feedbackTypeToString(I)Ljava/lang/String;" since="14"/>
+		<method name="flagToString(I)Ljava/lang/String;" since="14"/>
+		<method name="getCanRetrieveWindowContent()Z" since="14" deprecated="18"/>
+		<method name="getCapabilities()I" since="18"/>
+		<method name="getDescription()Ljava/lang/String;" since="14" deprecated="16"/>
+		<method name="getId()Ljava/lang/String;" since="14"/>
+		<method name="getInteractiveUiTimeoutMillis()I" since="29"/>
+		<method name="getNonInteractiveUiTimeoutMillis()I" since="29"/>
+		<method name="getResolveInfo()Landroid/content/pm/ResolveInfo;" since="14"/>
+		<method name="getSettingsActivityName()Ljava/lang/String;" since="14"/>
+		<method name="isAccessibilityTool()Z" since="31"/>
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/String;" since="16"/>
+		<method name="loadSummary(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" since="26"/>
+		<method name="setInteractiveUiTimeoutMillis(I)V" since="29"/>
+		<method name="setNonInteractiveUiTimeoutMillis(I)V" since="29"/>
+		<field name="CAPABILITY_CAN_CONTROL_MAGNIFICATION" since="24"/>
+		<field name="CAPABILITY_CAN_PERFORM_GESTURES" since="24"/>
+		<field name="CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY" since="18" deprecated="26"/>
+		<field name="CAPABILITY_CAN_REQUEST_FILTER_KEY_EVENTS" since="18"/>
+		<field name="CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES" since="26"/>
+		<field name="CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION" since="18"/>
+		<field name="CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT" since="18"/>
+		<field name="CAPABILITY_CAN_TAKE_SCREENSHOT" since="30"/>
+		<field name="CREATOR"/>
+		<field name="DEFAULT"/>
+		<field name="FEEDBACK_ALL_MASK" since="14"/>
+		<field name="FEEDBACK_AUDIBLE"/>
+		<field name="FEEDBACK_BRAILLE" since="17"/>
+		<field name="FEEDBACK_GENERIC"/>
+		<field name="FEEDBACK_HAPTIC"/>
+		<field name="FEEDBACK_SPOKEN"/>
+		<field name="FEEDBACK_VISUAL"/>
+		<field name="FLAG_ENABLE_ACCESSIBILITY_VOLUME" since="26"/>
+		<field name="FLAG_INCLUDE_NOT_IMPORTANT_VIEWS" since="16"/>
+		<field name="FLAG_REPORT_VIEW_IDS" since="18"/>
+		<field name="FLAG_REQUEST_2_FINGER_PASSTHROUGH" since="31"/>
+		<field name="FLAG_REQUEST_ACCESSIBILITY_BUTTON" since="26"/>
+		<field name="FLAG_REQUEST_ENHANCED_WEB_ACCESSIBILITY" since="18" deprecated="26"/>
+		<field name="FLAG_REQUEST_FILTER_KEY_EVENTS" since="18"/>
+		<field name="FLAG_REQUEST_FINGERPRINT_GESTURES" since="26"/>
+		<field name="FLAG_REQUEST_MULTI_FINGER_GESTURES" since="30"/>
+		<field name="FLAG_REQUEST_SHORTCUT_WARNING_DIALOG_SPOKEN_FEEDBACK" since="29"/>
+		<field name="FLAG_REQUEST_TOUCH_EXPLORATION_MODE" since="16"/>
+		<field name="FLAG_RETRIEVE_INTERACTIVE_WINDOWS" since="21"/>
+		<field name="FLAG_SEND_MOTION_EVENTS" since="31"/>
+		<field name="FLAG_SERVICE_HANDLES_DOUBLE_TAP" since="30"/>
+		<field name="eventTypes"/>
+		<field name="feedbackType"/>
+		<field name="flags"/>
+		<field name="notificationTimeout"/>
+		<field name="packageNames"/>
+	</class>
+	<class name="android/accessibilityservice/FingerprintGestureController" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="isGestureDetectionAvailable()Z"/>
+		<method name="registerFingerprintGestureCallback(Landroid/accessibilityservice/FingerprintGestureController$FingerprintGestureCallback;Landroid/os/Handler;)V"/>
+		<method name="unregisterFingerprintGestureCallback(Landroid/accessibilityservice/FingerprintGestureController$FingerprintGestureCallback;)V"/>
+		<field name="FINGERPRINT_GESTURE_SWIPE_DOWN"/>
+		<field name="FINGERPRINT_GESTURE_SWIPE_LEFT"/>
+		<field name="FINGERPRINT_GESTURE_SWIPE_RIGHT"/>
+		<field name="FINGERPRINT_GESTURE_SWIPE_UP"/>
+	</class>
+	<class name="android/accessibilityservice/FingerprintGestureController$FingerprintGestureCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onGestureDetected(I)V"/>
+		<method name="onGestureDetectionAvailabilityChanged(Z)V"/>
+	</class>
+	<class name="android/accessibilityservice/GestureDescription" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getDisplayId()I" since="30"/>
+		<method name="getMaxGestureDuration()J"/>
+		<method name="getMaxStrokeCount()I"/>
+		<method name="getStroke(I)Landroid/accessibilityservice/GestureDescription$StrokeDescription;"/>
+		<method name="getStrokeCount()I"/>
+	</class>
+	<class name="android/accessibilityservice/GestureDescription$Builder" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addStroke(Landroid/accessibilityservice/GestureDescription$StrokeDescription;)Landroid/accessibilityservice/GestureDescription$Builder;"/>
+		<method name="build()Landroid/accessibilityservice/GestureDescription;"/>
+		<method name="setDisplayId(I)Landroid/accessibilityservice/GestureDescription$Builder;" since="30"/>
+	</class>
+	<class name="android/accessibilityservice/GestureDescription$StrokeDescription" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/Path;JJ)V"/>
+		<method name="&lt;init>(Landroid/graphics/Path;JJZ)V" since="26"/>
+		<method name="continueStroke(Landroid/graphics/Path;JJZ)Landroid/accessibilityservice/GestureDescription$StrokeDescription;" since="26"/>
+		<method name="getDuration()J"/>
+		<method name="getPath()Landroid/graphics/Path;"/>
+		<method name="getStartTime()J"/>
+		<method name="willContinue()Z" since="26"/>
+	</class>
+	<class name="android/accounts/AbstractAccountAuthenticator" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="addAccount(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;"/>
+		<method name="addAccountFromCredentials(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)Landroid/os/Bundle;" since="18"/>
+		<method name="confirmCredentials(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)Landroid/os/Bundle;"/>
+		<method name="editProperties(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;)Landroid/os/Bundle;"/>
+		<method name="finishSession(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="26"/>
+		<method name="getAccountCredentialsForCloning(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;)Landroid/os/Bundle;" since="18"/>
+		<method name="getAccountRemovalAllowed(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;)Landroid/os/Bundle;"/>
+		<method name="getAuthToken(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;"/>
+		<method name="getAuthTokenLabel(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getIBinder()Landroid/os/IBinder;"/>
+		<method name="hasFeatures(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)Landroid/os/Bundle;"/>
+		<method name="isCredentialsUpdateSuggested(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;)Landroid/os/Bundle;" since="26"/>
+		<method name="startAddAccountSession(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="26"/>
+		<method name="startUpdateCredentialsSession(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="26"/>
+		<method name="updateCredentials(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;"/>
+		<field name="KEY_CUSTOM_TOKEN_EXPIRY" since="23"/>
+	</class>
+	<class name="android/accounts/Account" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="CREATOR"/>
+		<field name="name"/>
+		<field name="type"/>
+	</class>
+	<class name="android/accounts/AccountAuthenticatorActivity" since="5" deprecated="30">
+		<extends name="android/app/Activity"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="setAccountAuthenticatorResult(Landroid/os/Bundle;)V" deprecated="30"/>
+	</class>
+	<class name="android/accounts/AccountAuthenticatorResponse" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="onError(ILjava/lang/String;)V"/>
+		<method name="onRequestContinued()V"/>
+		<method name="onResult(Landroid/os/Bundle;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/accounts/AccountManager" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="addAccount(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;"/>
+		<method name="addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Z"/>
+		<method name="addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/Map;)Z" since="26"/>
+		<method name="addOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;Landroid/os/Handler;Z)V"/>
+		<method name="addOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;Landroid/os/Handler;Z[Ljava/lang/String;)V" since="26"/>
+		<method name="blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;"/>
+		<method name="clearPassword(Landroid/accounts/Account;)V"/>
+		<method name="confirmCredentials(Landroid/accounts/Account;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;"/>
+		<method name="editProperties(Ljava/lang/String;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;"/>
+		<method name="finishSession(Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="26"/>
+		<method name="get(Landroid/content/Context;)Landroid/accounts/AccountManager;"/>
+		<method name="getAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;)I" since="26"/>
+		<method name="getAccounts()[Landroid/accounts/Account;"/>
+		<method name="getAccountsAndVisibilityForPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;" since="26"/>
+		<method name="getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;"/>
+		<method name="getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;"/>
+		<method name="getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;" since="18"/>
+		<method name="getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;"/>
+		<method name="getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="14"/>
+		<method name="getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" deprecated="15"/>
+		<method name="getAuthTokenByFeatures(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;"/>
+		<method name="getAuthenticatorTypes()[Landroid/accounts/AuthenticatorDescription;"/>
+		<method name="getPackagesAndVisibilityForAccount(Landroid/accounts/Account;)Ljava/util/Map;" since="26"/>
+		<method name="getPassword(Landroid/accounts/Account;)Ljava/lang/String;"/>
+		<method name="getPreviousName(Landroid/accounts/Account;)Ljava/lang/String;" since="21"/>
+		<method name="getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="8"/>
+		<method name="invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="isCredentialsUpdateSuggested(Landroid/accounts/Account;Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="26"/>
+		<method name="newChooseAccountIntent(Landroid/accounts/Account;Ljava/util/ArrayList;[Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;" since="14" deprecated="23"/>
+		<method name="newChooseAccountIntent(Landroid/accounts/Account;Ljava/util/List;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;" since="23"/>
+		<method name="notifyAccountAuthenticated(Landroid/accounts/Account;)Z" since="23"/>
+		<method name="peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="removeAccount(Landroid/accounts/Account;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" deprecated="22"/>
+		<method name="removeAccount(Landroid/accounts/Account;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="22"/>
+		<method name="removeAccountExplicitly(Landroid/accounts/Account;)Z" since="22"/>
+		<method name="removeOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;)V"/>
+		<method name="renameAccount(Landroid/accounts/Account;Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="21"/>
+		<method name="setAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;I)Z" since="26"/>
+		<method name="setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setPassword(Landroid/accounts/Account;Ljava/lang/String;)V"/>
+		<method name="setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="startAddAccountSession(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="26"/>
+		<method name="startUpdateCredentialsSession(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;" since="26"/>
+		<method name="updateCredentials(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;"/>
+		<field name="ACTION_ACCOUNT_REMOVED" since="26"/>
+		<field name="ACTION_AUTHENTICATOR_INTENT"/>
+		<field name="AUTHENTICATOR_ATTRIBUTES_NAME"/>
+		<field name="AUTHENTICATOR_META_DATA_NAME"/>
+		<field name="ERROR_CODE_BAD_ARGUMENTS"/>
+		<field name="ERROR_CODE_BAD_AUTHENTICATION" since="18"/>
+		<field name="ERROR_CODE_BAD_REQUEST"/>
+		<field name="ERROR_CODE_CANCELED"/>
+		<field name="ERROR_CODE_INVALID_RESPONSE"/>
+		<field name="ERROR_CODE_NETWORK_ERROR"/>
+		<field name="ERROR_CODE_REMOTE_EXCEPTION"/>
+		<field name="ERROR_CODE_UNSUPPORTED_OPERATION"/>
+		<field name="KEY_ACCOUNTS"/>
+		<field name="KEY_ACCOUNT_AUTHENTICATOR_RESPONSE"/>
+		<field name="KEY_ACCOUNT_MANAGER_RESPONSE"/>
+		<field name="KEY_ACCOUNT_NAME"/>
+		<field name="KEY_ACCOUNT_SESSION_BUNDLE" since="26"/>
+		<field name="KEY_ACCOUNT_STATUS_TOKEN" since="26"/>
+		<field name="KEY_ACCOUNT_TYPE"/>
+		<field name="KEY_ANDROID_PACKAGE_NAME" since="14"/>
+		<field name="KEY_AUTHENTICATOR_TYPES"/>
+		<field name="KEY_AUTHTOKEN"/>
+		<field name="KEY_AUTH_FAILED_MESSAGE"/>
+		<field name="KEY_AUTH_TOKEN_LABEL"/>
+		<field name="KEY_BOOLEAN_RESULT"/>
+		<field name="KEY_CALLER_PID" since="11"/>
+		<field name="KEY_CALLER_UID" since="11"/>
+		<field name="KEY_ERROR_CODE"/>
+		<field name="KEY_ERROR_MESSAGE"/>
+		<field name="KEY_INTENT"/>
+		<field name="KEY_LAST_AUTHENTICATED_TIME" since="23"/>
+		<field name="KEY_PASSWORD"/>
+		<field name="KEY_USERDATA"/>
+		<field name="LOGIN_ACCOUNTS_CHANGED_ACTION" deprecated="26"/>
+		<field name="PACKAGE_NAME_KEY_LEGACY_NOT_VISIBLE" since="26"/>
+		<field name="PACKAGE_NAME_KEY_LEGACY_VISIBLE" since="26"/>
+		<field name="VISIBILITY_NOT_VISIBLE" since="26"/>
+		<field name="VISIBILITY_UNDEFINED" since="26"/>
+		<field name="VISIBILITY_USER_MANAGED_NOT_VISIBLE" since="26"/>
+		<field name="VISIBILITY_USER_MANAGED_VISIBLE" since="26"/>
+		<field name="VISIBILITY_VISIBLE" since="26"/>
+	</class>
+	<class name="android/accounts/AccountManagerCallback" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="run(Landroid/accounts/AccountManagerFuture;)V"/>
+	</class>
+	<class name="android/accounts/AccountManagerFuture" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="cancel(Z)Z"/>
+		<method name="getResult()Ljava/lang/Object;"/>
+		<method name="getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;"/>
+		<method name="isCancelled()Z"/>
+		<method name="isDone()Z"/>
+	</class>
+	<class name="android/accounts/AccountsException" since="5">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/accounts/AuthenticatorDescription" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;IIII)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;IIIIZ)V" since="11"/>
+		<method name="newKey(Ljava/lang/String;)Landroid/accounts/AuthenticatorDescription;"/>
+		<field name="CREATOR"/>
+		<field name="accountPreferencesId"/>
+		<field name="customTokens" since="11"/>
+		<field name="iconId"/>
+		<field name="labelId"/>
+		<field name="packageName"/>
+		<field name="smallIconId"/>
+		<field name="type"/>
+	</class>
+	<class name="android/accounts/AuthenticatorException" since="5">
+		<extends name="android/accounts/AccountsException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/accounts/NetworkErrorException" since="5">
+		<extends name="android/accounts/AccountsException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/accounts/OnAccountsUpdateListener" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="onAccountsUpdated([Landroid/accounts/Account;)V"/>
+	</class>
+	<class name="android/accounts/OperationCanceledException" since="5">
+		<extends name="android/accounts/AccountsException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/animation/Animator" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="addListener(Landroid/animation/Animator$AnimatorListener;)V"/>
+		<method name="addPauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V" since="19"/>
+		<method name="cancel()V"/>
+		<method name="clone()Landroid/animation/Animator;"/>
+		<method name="end()V"/>
+		<method name="getDuration()J"/>
+		<method name="getInterpolator()Landroid/animation/TimeInterpolator;" since="18"/>
+		<method name="getListeners()Ljava/util/ArrayList;"/>
+		<method name="getStartDelay()J"/>
+		<method name="getTotalDuration()J" since="24"/>
+		<method name="isPaused()Z" since="19"/>
+		<method name="isRunning()Z"/>
+		<method name="isStarted()Z" since="14"/>
+		<method name="pause()V" since="19"/>
+		<method name="removeAllListeners()V"/>
+		<method name="removeListener(Landroid/animation/Animator$AnimatorListener;)V"/>
+		<method name="removePauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V" since="19"/>
+		<method name="resume()V" since="19"/>
+		<method name="setDuration(J)Landroid/animation/Animator;"/>
+		<method name="setInterpolator(Landroid/animation/TimeInterpolator;)V"/>
+		<method name="setStartDelay(J)V"/>
+		<method name="setTarget(Ljava/lang/Object;)V"/>
+		<method name="setupEndValues()V"/>
+		<method name="setupStartValues()V"/>
+		<method name="start()V"/>
+		<field name="DURATION_INFINITE" since="24"/>
+	</class>
+	<class name="android/animation/Animator$AnimatorListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onAnimationCancel(Landroid/animation/Animator;)V"/>
+		<method name="onAnimationEnd(Landroid/animation/Animator;)V"/>
+		<method name="onAnimationEnd(Landroid/animation/Animator;Z)V" since="26"/>
+		<method name="onAnimationRepeat(Landroid/animation/Animator;)V"/>
+		<method name="onAnimationStart(Landroid/animation/Animator;)V"/>
+		<method name="onAnimationStart(Landroid/animation/Animator;Z)V" since="26"/>
+	</class>
+	<class name="android/animation/Animator$AnimatorPauseListener" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="onAnimationPause(Landroid/animation/Animator;)V"/>
+		<method name="onAnimationResume(Landroid/animation/Animator;)V"/>
+	</class>
+	<class name="android/animation/AnimatorInflater" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="loadAnimator(Landroid/content/Context;I)Landroid/animation/Animator;"/>
+		<method name="loadStateListAnimator(Landroid/content/Context;I)Landroid/animation/StateListAnimator;" since="21"/>
+	</class>
+	<class name="android/animation/AnimatorListenerAdapter" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/animation/Animator$AnimatorListener"/>
+		<implements name="android/animation/Animator$AnimatorPauseListener" since="19"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/animation/AnimatorSet" since="11">
+		<extends name="android/animation/Animator"/>
+		<method name="&lt;init>()V"/>
+		<method name="clone()Landroid/animation/AnimatorSet;"/>
+		<method name="getChildAnimations()Ljava/util/ArrayList;"/>
+		<method name="getCurrentPlayTime()J" since="26"/>
+		<method name="play(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;"/>
+		<method name="playSequentially(Ljava/util/List;)V"/>
+		<method name="playSequentially([Landroid/animation/Animator;)V"/>
+		<method name="playTogether(Ljava/util/Collection;)V"/>
+		<method name="playTogether([Landroid/animation/Animator;)V"/>
+		<method name="reverse()V" since="26"/>
+		<method name="setCurrentPlayTime(J)V" since="26"/>
+		<method name="setDuration(J)Landroid/animation/AnimatorSet;"/>
+	</class>
+	<class name="android/animation/AnimatorSet$Builder" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="after(J)Landroid/animation/AnimatorSet$Builder;"/>
+		<method name="after(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;"/>
+		<method name="before(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;"/>
+		<method name="with(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder;"/>
+	</class>
+	<class name="android/animation/ArgbEvaluator" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/animation/TypeEvaluator"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/animation/BidirectionalTypeConverter" since="21">
+		<extends name="android/animation/TypeConverter"/>
+		<method name="&lt;init>(Ljava/lang/Class;Ljava/lang/Class;)V"/>
+		<method name="convertBack(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="invert()Landroid/animation/BidirectionalTypeConverter;"/>
+	</class>
+	<class name="android/animation/FloatArrayEvaluator" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/animation/TypeEvaluator"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>([F)V"/>
+		<method name="evaluate(F[F[F)[F"/>
+	</class>
+	<class name="android/animation/FloatEvaluator" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/animation/TypeEvaluator"/>
+		<method name="&lt;init>()V"/>
+		<method name="evaluate(FLjava/lang/Number;Ljava/lang/Number;)Ljava/lang/Float;" since="14"/>
+	</class>
+	<class name="android/animation/IntArrayEvaluator" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/animation/TypeEvaluator"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>([I)V"/>
+		<method name="evaluate(F[I[I)[I"/>
+	</class>
+	<class name="android/animation/IntEvaluator" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/animation/TypeEvaluator"/>
+		<method name="&lt;init>()V"/>
+		<method name="evaluate(FLjava/lang/Integer;Ljava/lang/Integer;)Ljava/lang/Integer;" since="14"/>
+	</class>
+	<class name="android/animation/Keyframe" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="clone()Landroid/animation/Keyframe;"/>
+		<method name="getFraction()F"/>
+		<method name="getInterpolator()Landroid/animation/TimeInterpolator;"/>
+		<method name="getType()Ljava/lang/Class;"/>
+		<method name="getValue()Ljava/lang/Object;"/>
+		<method name="hasValue()Z"/>
+		<method name="ofFloat(F)Landroid/animation/Keyframe;"/>
+		<method name="ofFloat(FF)Landroid/animation/Keyframe;"/>
+		<method name="ofInt(F)Landroid/animation/Keyframe;"/>
+		<method name="ofInt(FI)Landroid/animation/Keyframe;"/>
+		<method name="ofObject(F)Landroid/animation/Keyframe;"/>
+		<method name="ofObject(FLjava/lang/Object;)Landroid/animation/Keyframe;"/>
+		<method name="setFraction(F)V"/>
+		<method name="setInterpolator(Landroid/animation/TimeInterpolator;)V"/>
+		<method name="setValue(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/animation/LayoutTransition" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addChild(Landroid/view/ViewGroup;Landroid/view/View;)V"/>
+		<method name="addTransitionListener(Landroid/animation/LayoutTransition$TransitionListener;)V"/>
+		<method name="disableTransitionType(I)V" since="16"/>
+		<method name="enableTransitionType(I)V" since="16"/>
+		<method name="getAnimator(I)Landroid/animation/Animator;"/>
+		<method name="getDuration(I)J"/>
+		<method name="getInterpolator(I)Landroid/animation/TimeInterpolator;"/>
+		<method name="getStagger(I)J"/>
+		<method name="getStartDelay(I)J"/>
+		<method name="getTransitionListeners()Ljava/util/List;"/>
+		<method name="hideChild(Landroid/view/ViewGroup;Landroid/view/View;)V" deprecated="16"/>
+		<method name="hideChild(Landroid/view/ViewGroup;Landroid/view/View;I)V" since="16"/>
+		<method name="isChangingLayout()Z"/>
+		<method name="isRunning()Z"/>
+		<method name="isTransitionTypeEnabled(I)Z" since="16"/>
+		<method name="removeChild(Landroid/view/ViewGroup;Landroid/view/View;)V"/>
+		<method name="removeTransitionListener(Landroid/animation/LayoutTransition$TransitionListener;)V"/>
+		<method name="setAnimateParentHierarchy(Z)V" since="14"/>
+		<method name="setAnimator(ILandroid/animation/Animator;)V"/>
+		<method name="setDuration(IJ)V"/>
+		<method name="setDuration(J)V"/>
+		<method name="setInterpolator(ILandroid/animation/TimeInterpolator;)V"/>
+		<method name="setStagger(IJ)V"/>
+		<method name="setStartDelay(IJ)V"/>
+		<method name="showChild(Landroid/view/ViewGroup;Landroid/view/View;)V" deprecated="16"/>
+		<method name="showChild(Landroid/view/ViewGroup;Landroid/view/View;I)V" since="16"/>
+		<field name="APPEARING"/>
+		<field name="CHANGE_APPEARING"/>
+		<field name="CHANGE_DISAPPEARING"/>
+		<field name="CHANGING" since="16"/>
+		<field name="DISAPPEARING"/>
+	</class>
+	<class name="android/animation/LayoutTransition$TransitionListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="endTransition(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V"/>
+		<method name="startTransition(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V"/>
+	</class>
+	<class name="android/animation/ObjectAnimator" since="11">
+		<extends name="android/animation/ValueAnimator"/>
+		<method name="&lt;init>()V"/>
+		<method name="clone()Landroid/animation/ObjectAnimator;"/>
+		<method name="getPropertyName()Ljava/lang/String;"/>
+		<method name="getTarget()Ljava/lang/Object;"/>
+		<method name="ofArgb(Ljava/lang/Object;Landroid/util/Property;[I)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofArgb(Ljava/lang/Object;Ljava/lang/String;[I)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofFloat(Ljava/lang/Object;Landroid/util/Property;Landroid/util/Property;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator;" since="14"/>
+		<method name="ofFloat(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator;"/>
+		<method name="ofInt(Ljava/lang/Object;Landroid/util/Property;Landroid/util/Property;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofInt(Ljava/lang/Object;Landroid/util/Property;[I)Landroid/animation/ObjectAnimator;" since="14"/>
+		<method name="ofInt(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofInt(Ljava/lang/Object;Ljava/lang/String;[I)Landroid/animation/ObjectAnimator;"/>
+		<method name="ofMultiFloat(Ljava/lang/Object;Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofMultiFloat(Ljava/lang/Object;Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofMultiFloat(Ljava/lang/Object;Ljava/lang/String;[[F)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofMultiInt(Ljava/lang/Object;Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofMultiInt(Ljava/lang/Object;Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofMultiInt(Ljava/lang/Object;Ljava/lang/String;[[I)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofObject(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofObject(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofObject(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;" since="14"/>
+		<method name="ofObject(Ljava/lang/Object;Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;" since="21"/>
+		<method name="ofObject(Ljava/lang/Object;Ljava/lang/String;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;"/>
+		<method name="ofPropertyValuesHolder(Ljava/lang/Object;[Landroid/animation/PropertyValuesHolder;)Landroid/animation/ObjectAnimator;"/>
+		<method name="setAutoCancel(Z)V" since="18"/>
+		<method name="setDuration(J)Landroid/animation/ObjectAnimator;"/>
+		<method name="setProperty(Landroid/util/Property;)V" since="14"/>
+		<method name="setPropertyName(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/animation/PointFEvaluator" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/animation/TypeEvaluator"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/PointF;)V"/>
+		<method name="evaluate(FLandroid/graphics/PointF;Landroid/graphics/PointF;)Landroid/graphics/PointF;"/>
+	</class>
+	<class name="android/animation/PropertyValuesHolder" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="clone()Landroid/animation/PropertyValuesHolder;"/>
+		<method name="getPropertyName()Ljava/lang/String;"/>
+		<method name="ofFloat(Landroid/util/Property;[F)Landroid/animation/PropertyValuesHolder;" since="14"/>
+		<method name="ofFloat(Ljava/lang/String;[F)Landroid/animation/PropertyValuesHolder;"/>
+		<method name="ofInt(Landroid/util/Property;[I)Landroid/animation/PropertyValuesHolder;" since="14"/>
+		<method name="ofInt(Ljava/lang/String;[I)Landroid/animation/PropertyValuesHolder;"/>
+		<method name="ofKeyframe(Landroid/util/Property;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;" since="14"/>
+		<method name="ofKeyframe(Ljava/lang/String;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;"/>
+		<method name="ofMultiFloat(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofMultiFloat(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofMultiFloat(Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofMultiFloat(Ljava/lang/String;[[F)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofMultiInt(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Landroid/animation/Keyframe;)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofMultiInt(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofMultiInt(Ljava/lang/String;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofMultiInt(Ljava/lang/String;[[I)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofObject(Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofObject(Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofObject(Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;" since="14"/>
+		<method name="ofObject(Ljava/lang/String;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;" since="21"/>
+		<method name="ofObject(Ljava/lang/String;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;"/>
+		<method name="setConverter(Landroid/animation/TypeConverter;)V" since="21"/>
+		<method name="setEvaluator(Landroid/animation/TypeEvaluator;)V"/>
+		<method name="setFloatValues([F)V"/>
+		<method name="setIntValues([I)V"/>
+		<method name="setKeyframes([Landroid/animation/Keyframe;)V"/>
+		<method name="setObjectValues([Ljava/lang/Object;)V"/>
+		<method name="setProperty(Landroid/util/Property;)V" since="14"/>
+		<method name="setPropertyName(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/animation/RectEvaluator" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/animation/TypeEvaluator"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/Rect;)V" since="21"/>
+		<method name="evaluate(FLandroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/graphics/Rect;"/>
+	</class>
+	<class name="android/animation/StateListAnimator" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable" since="22"/>
+		<method name="&lt;init>()V"/>
+		<method name="addState([ILandroid/animation/Animator;)V"/>
+		<method name="clone()Landroid/animation/StateListAnimator;" since="22"/>
+		<method name="jumpToCurrentState()V"/>
+	</class>
+	<class name="android/animation/TimeAnimator" since="16">
+		<extends name="android/animation/ValueAnimator"/>
+		<method name="&lt;init>()V"/>
+		<method name="setTimeListener(Landroid/animation/TimeAnimator$TimeListener;)V"/>
+	</class>
+	<class name="android/animation/TimeAnimator$TimeListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onTimeUpdate(Landroid/animation/TimeAnimator;JJ)V"/>
+	</class>
+	<class name="android/animation/TimeInterpolator" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="getInterpolation(F)F"/>
+	</class>
+	<class name="android/animation/TypeConverter" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/Class;Ljava/lang/Class;)V"/>
+		<method name="convert(Ljava/lang/Object;)Ljava/lang/Object;"/>
+	</class>
+	<class name="android/animation/TypeEvaluator" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"/>
+	</class>
+	<class name="android/animation/ValueAnimator" since="11">
+		<extends name="android/animation/Animator"/>
+		<method name="&lt;init>()V"/>
+		<method name="addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V"/>
+		<method name="areAnimatorsEnabled()Z" since="26"/>
+		<method name="clone()Landroid/animation/ValueAnimator;"/>
+		<method name="getAnimatedFraction()F" since="12"/>
+		<method name="getAnimatedValue()Ljava/lang/Object;"/>
+		<method name="getAnimatedValue(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getCurrentPlayTime()J"/>
+		<method name="getFrameDelay()J"/>
+		<method name="getInterpolator()Landroid/animation/TimeInterpolator;"/>
+		<method name="getRepeatCount()I"/>
+		<method name="getRepeatMode()I"/>
+		<method name="getValues()[Landroid/animation/PropertyValuesHolder;"/>
+		<method name="ofArgb([I)Landroid/animation/ValueAnimator;" since="21"/>
+		<method name="ofFloat([F)Landroid/animation/ValueAnimator;"/>
+		<method name="ofInt([I)Landroid/animation/ValueAnimator;"/>
+		<method name="ofObject(Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ValueAnimator;"/>
+		<method name="ofPropertyValuesHolder([Landroid/animation/PropertyValuesHolder;)Landroid/animation/ValueAnimator;"/>
+		<method name="removeAllUpdateListeners()V"/>
+		<method name="removeUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V"/>
+		<method name="reverse()V"/>
+		<method name="setCurrentFraction(F)V" since="22"/>
+		<method name="setCurrentPlayTime(J)V"/>
+		<method name="setDuration(J)Landroid/animation/ValueAnimator;"/>
+		<method name="setEvaluator(Landroid/animation/TypeEvaluator;)V"/>
+		<method name="setFloatValues([F)V"/>
+		<method name="setFrameDelay(J)V"/>
+		<method name="setIntValues([I)V"/>
+		<method name="setObjectValues([Ljava/lang/Object;)V"/>
+		<method name="setRepeatCount(I)V"/>
+		<method name="setRepeatMode(I)V"/>
+		<method name="setValues([Landroid/animation/PropertyValuesHolder;)V"/>
+		<field name="INFINITE"/>
+		<field name="RESTART"/>
+		<field name="REVERSE"/>
+	</class>
+	<class name="android/animation/ValueAnimator$AnimatorUpdateListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onAnimationUpdate(Landroid/animation/ValueAnimator;)V"/>
+	</class>
+	<class name="android/annotation/SuppressLint" since="16">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="value()[Ljava/lang/String;"/>
+	</class>
+	<class name="android/annotation/TargetApi" since="16">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="value()I"/>
+	</class>
+	<class name="android/app/ActionBar" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addOnMenuVisibilityListener(Landroid/app/ActionBar$OnMenuVisibilityListener;)V"/>
+		<method name="addTab(Landroid/app/ActionBar$Tab;)V" deprecated="21"/>
+		<method name="addTab(Landroid/app/ActionBar$Tab;I)V" deprecated="21"/>
+		<method name="addTab(Landroid/app/ActionBar$Tab;IZ)V" deprecated="21"/>
+		<method name="addTab(Landroid/app/ActionBar$Tab;Z)V" deprecated="21"/>
+		<method name="getCustomView()Landroid/view/View;"/>
+		<method name="getDisplayOptions()I"/>
+		<method name="getElevation()F" since="21"/>
+		<method name="getHeight()I"/>
+		<method name="getHideOffset()I" since="21"/>
+		<method name="getNavigationItemCount()I" deprecated="21"/>
+		<method name="getNavigationMode()I" deprecated="21"/>
+		<method name="getSelectedNavigationIndex()I" deprecated="21"/>
+		<method name="getSelectedTab()Landroid/app/ActionBar$Tab;" deprecated="21"/>
+		<method name="getSubtitle()Ljava/lang/CharSequence;"/>
+		<method name="getTabAt(I)Landroid/app/ActionBar$Tab;" deprecated="21"/>
+		<method name="getTabCount()I" deprecated="21"/>
+		<method name="getThemedContext()Landroid/content/Context;" since="14"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<method name="hide()V"/>
+		<method name="isHideOnContentScrollEnabled()Z" since="21"/>
+		<method name="isShowing()Z"/>
+		<method name="newTab()Landroid/app/ActionBar$Tab;" deprecated="21"/>
+		<method name="removeAllTabs()V" deprecated="21"/>
+		<method name="removeOnMenuVisibilityListener(Landroid/app/ActionBar$OnMenuVisibilityListener;)V"/>
+		<method name="removeTab(Landroid/app/ActionBar$Tab;)V" deprecated="21"/>
+		<method name="removeTabAt(I)V" deprecated="21"/>
+		<method name="selectTab(Landroid/app/ActionBar$Tab;)V" deprecated="21"/>
+		<method name="setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setCustomView(I)V"/>
+		<method name="setCustomView(Landroid/view/View;)V"/>
+		<method name="setCustomView(Landroid/view/View;Landroid/app/ActionBar$LayoutParams;)V"/>
+		<method name="setDisplayHomeAsUpEnabled(Z)V"/>
+		<method name="setDisplayOptions(I)V"/>
+		<method name="setDisplayOptions(II)V"/>
+		<method name="setDisplayShowCustomEnabled(Z)V"/>
+		<method name="setDisplayShowHomeEnabled(Z)V"/>
+		<method name="setDisplayShowTitleEnabled(Z)V"/>
+		<method name="setDisplayUseLogoEnabled(Z)V"/>
+		<method name="setElevation(F)V" since="21"/>
+		<method name="setHideOffset(I)V" since="21"/>
+		<method name="setHideOnContentScrollEnabled(Z)V" since="21"/>
+		<method name="setHomeActionContentDescription(I)V" since="18"/>
+		<method name="setHomeActionContentDescription(Ljava/lang/CharSequence;)V" since="18"/>
+		<method name="setHomeAsUpIndicator(I)V" since="18"/>
+		<method name="setHomeAsUpIndicator(Landroid/graphics/drawable/Drawable;)V" since="18"/>
+		<method name="setHomeButtonEnabled(Z)V" since="14"/>
+		<method name="setIcon(I)V" since="14"/>
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)V" since="14"/>
+		<method name="setListNavigationCallbacks(Landroid/widget/SpinnerAdapter;Landroid/app/ActionBar$OnNavigationListener;)V" deprecated="21"/>
+		<method name="setLogo(I)V" since="14"/>
+		<method name="setLogo(Landroid/graphics/drawable/Drawable;)V" since="14"/>
+		<method name="setNavigationMode(I)V" deprecated="21"/>
+		<method name="setSelectedNavigationItem(I)V" deprecated="21"/>
+		<method name="setSplitBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" since="14"/>
+		<method name="setStackedBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" since="14"/>
+		<method name="setSubtitle(I)V"/>
+		<method name="setSubtitle(Ljava/lang/CharSequence;)V"/>
+		<method name="setTitle(I)V"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)V"/>
+		<method name="show()V"/>
+		<field name="DISPLAY_HOME_AS_UP"/>
+		<field name="DISPLAY_SHOW_CUSTOM"/>
+		<field name="DISPLAY_SHOW_HOME"/>
+		<field name="DISPLAY_SHOW_TITLE"/>
+		<field name="DISPLAY_USE_LOGO"/>
+		<field name="NAVIGATION_MODE_LIST" deprecated="21"/>
+		<field name="NAVIGATION_MODE_STANDARD" deprecated="21"/>
+		<field name="NAVIGATION_MODE_TABS" deprecated="21"/>
+	</class>
+	<class name="android/app/ActionBar$LayoutParams" since="11">
+		<extends name="android/view/ViewGroup$MarginLayoutParams"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(Landroid/app/ActionBar$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<field name="gravity"/>
+	</class>
+	<class name="android/app/ActionBar$OnMenuVisibilityListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onMenuVisibilityChanged(Z)V"/>
+	</class>
+	<class name="android/app/ActionBar$OnNavigationListener" since="11" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="onNavigationItemSelected(IJ)Z" deprecated="29"/>
+	</class>
+	<class name="android/app/ActionBar$Tab" since="11" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;" since="14" deprecated="29"/>
+		<method name="getCustomView()Landroid/view/View;" deprecated="29"/>
+		<method name="getIcon()Landroid/graphics/drawable/Drawable;" deprecated="29"/>
+		<method name="getPosition()I" deprecated="29"/>
+		<method name="getTag()Ljava/lang/Object;" deprecated="29"/>
+		<method name="getText()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="select()V" deprecated="29"/>
+		<method name="setContentDescription(I)Landroid/app/ActionBar$Tab;" since="14" deprecated="29"/>
+		<method name="setContentDescription(Ljava/lang/CharSequence;)Landroid/app/ActionBar$Tab;" since="14" deprecated="29"/>
+		<method name="setCustomView(I)Landroid/app/ActionBar$Tab;" deprecated="29"/>
+		<method name="setCustomView(Landroid/view/View;)Landroid/app/ActionBar$Tab;" deprecated="29"/>
+		<method name="setIcon(I)Landroid/app/ActionBar$Tab;" deprecated="29"/>
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)Landroid/app/ActionBar$Tab;" deprecated="29"/>
+		<method name="setTabListener(Landroid/app/ActionBar$TabListener;)Landroid/app/ActionBar$Tab;" deprecated="29"/>
+		<method name="setTag(Ljava/lang/Object;)Landroid/app/ActionBar$Tab;" deprecated="29"/>
+		<method name="setText(I)Landroid/app/ActionBar$Tab;" deprecated="29"/>
+		<method name="setText(Ljava/lang/CharSequence;)Landroid/app/ActionBar$Tab;" deprecated="29"/>
+		<field name="INVALID_POSITION" deprecated="29"/>
+	</class>
+	<class name="android/app/ActionBar$TabListener" since="11" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="onTabReselected(Landroid/app/ActionBar$Tab;Landroid/app/FragmentTransaction;)V" deprecated="29"/>
+		<method name="onTabSelected(Landroid/app/ActionBar$Tab;Landroid/app/FragmentTransaction;)V" deprecated="29"/>
+		<method name="onTabUnselected(Landroid/app/ActionBar$Tab;Landroid/app/FragmentTransaction;)V" deprecated="29"/>
+	</class>
+	<class name="android/app/Activity" since="1">
+		<extends name="android/view/ContextThemeWrapper"/>
+		<implements name="android/content/ComponentCallbacks" removed="14"/>
+		<implements name="android/content/ComponentCallbacks2" since="14"/>
+		<implements name="android/view/KeyEvent$Callback"/>
+		<implements name="android/view/LayoutInflater$Factory" removed="11"/>
+		<implements name="android/view/LayoutInflater$Factory2" since="11"/>
+		<implements name="android/view/View$OnCreateContextMenuListener"/>
+		<implements name="android/view/Window$Callback"/>
+		<method name="&lt;init>()V"/>
+		<method name="addContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="closeContextMenu()V" since="3"/>
+		<method name="closeOptionsMenu()V"/>
+		<method name="createPendingResult(ILandroid/content/Intent;I)Landroid/app/PendingIntent;"/>
+		<method name="dismissDialog(I)V" deprecated="15"/>
+		<method name="dismissKeyboardShortcutsHelper()V" since="24"/>
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" since="11"/>
+		<method name="enterPictureInPictureMode()V" since="24" deprecated="26"/>
+		<method name="enterPictureInPictureMode(Landroid/app/PictureInPictureParams;)Z" since="26"/>
+		<method name="findViewById(I)Landroid/view/View;"/>
+		<method name="finish()V"/>
+		<method name="finishActivity(I)V"/>
+		<method name="finishActivityFromChild(Landroid/app/Activity;I)V" deprecated="30"/>
+		<method name="finishAffinity()V" since="16"/>
+		<method name="finishAfterTransition()V" since="21"/>
+		<method name="finishAndRemoveTask()V" since="21"/>
+		<method name="finishFromChild(Landroid/app/Activity;)V" deprecated="30"/>
+		<method name="getActionBar()Landroid/app/ActionBar;" since="11"/>
+		<method name="getApplication()Landroid/app/Application;"/>
+		<method name="getCallingActivity()Landroid/content/ComponentName;"/>
+		<method name="getCallingPackage()Ljava/lang/String;"/>
+		<method name="getChangingConfigurations()I"/>
+		<method name="getComponentName()Landroid/content/ComponentName;"/>
+		<method name="getContentScene()Landroid/transition/Scene;" since="21"/>
+		<method name="getContentTransitionManager()Landroid/transition/TransitionManager;" since="21"/>
+		<method name="getCurrentFocus()Landroid/view/View;"/>
+		<method name="getFragmentManager()Landroid/app/FragmentManager;" since="11" deprecated="28"/>
+		<method name="getInstanceCount()J" removed="11"/>
+		<method name="getIntent()Landroid/content/Intent;"/>
+		<method name="getLastNonConfigurationInstance()Ljava/lang/Object;" deprecated="15"/>
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;"/>
+		<method name="getLoaderManager()Landroid/app/LoaderManager;" since="11" deprecated="28"/>
+		<method name="getLocalClassName()Ljava/lang/String;"/>
+		<method name="getMaxNumPictureInPictureActions()I" since="26"/>
+		<method name="getMediaController()Landroid/media/session/MediaController;" since="21"/>
+		<method name="getMenuInflater()Landroid/view/MenuInflater;"/>
+		<method name="getParent()Landroid/app/Activity;"/>
+		<method name="getParentActivityIntent()Landroid/content/Intent;" since="16"/>
+		<method name="getPreferences(I)Landroid/content/SharedPreferences;"/>
+		<method name="getReferrer()Landroid/net/Uri;" since="22"/>
+		<method name="getRequestedOrientation()I"/>
+		<method name="getSearchEvent()Landroid/view/SearchEvent;" since="23"/>
+		<method name="getSplashScreen()Landroid/window/SplashScreen;" since="31"/>
+		<method name="getTaskId()I"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<method name="getTitleColor()I"/>
+		<method name="getVoiceInteractor()Landroid/app/VoiceInteractor;" since="23"/>
+		<method name="getVolumeControlStream()I"/>
+		<method name="getWindow()Landroid/view/Window;"/>
+		<method name="getWindowManager()Landroid/view/WindowManager;"/>
+		<method name="hasWindowFocus()Z" since="3"/>
+		<method name="invalidateOptionsMenu()V" since="11"/>
+		<method name="isActivityTransitionRunning()Z" since="26"/>
+		<method name="isChangingConfigurations()Z" since="11"/>
+		<method name="isChild()Z"/>
+		<method name="isDestroyed()Z" since="17"/>
+		<method name="isFinishing()Z"/>
+		<method name="isImmersive()Z" since="18"/>
+		<method name="isInMultiWindowMode()Z" since="24"/>
+		<method name="isInPictureInPictureMode()Z" since="24"/>
+		<method name="isLaunchedFromBubble()Z" since="31"/>
+		<method name="isLocalVoiceInteractionSupported()Z" since="24"/>
+		<method name="isTaskRoot()Z"/>
+		<method name="isVoiceInteraction()Z" since="23"/>
+		<method name="isVoiceInteractionRoot()Z" since="23"/>
+		<method name="managedQuery(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" deprecated="15"/>
+		<method name="moveTaskToBack(Z)Z"/>
+		<method name="navigateUpTo(Landroid/content/Intent;)Z" since="16"/>
+		<method name="navigateUpToFromChild(Landroid/app/Activity;Landroid/content/Intent;)Z" since="16" deprecated="30"/>
+		<method name="onActivityReenter(ILandroid/content/Intent;)V" since="21"/>
+		<method name="onActivityResult(IILandroid/content/Intent;)V"/>
+		<method name="onAttachFragment(Landroid/app/Fragment;)V" since="11" deprecated="28"/>
+		<method name="onBackPressed()V" since="5"/>
+		<method name="onChildTitleChanged(Landroid/app/Activity;Ljava/lang/CharSequence;)V"/>
+		<method name="onContextItemSelected(Landroid/view/MenuItem;)Z"/>
+		<method name="onContextMenuClosed(Landroid/view/Menu;)V"/>
+		<method name="onCreate(Landroid/os/Bundle;)V"/>
+		<method name="onCreate(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21"/>
+		<method name="onCreateDescription()Ljava/lang/CharSequence;"/>
+		<method name="onCreateDialog(I)Landroid/app/Dialog;" deprecated="15"/>
+		<method name="onCreateDialog(ILandroid/os/Bundle;)Landroid/app/Dialog;" since="8" deprecated="15"/>
+		<method name="onCreateNavigateUpTaskStack(Landroid/app/TaskStackBuilder;)V" since="16"/>
+		<method name="onCreateOptionsMenu(Landroid/view/Menu;)Z"/>
+		<method name="onCreateThumbnail(Landroid/graphics/Bitmap;Landroid/graphics/Canvas;)Z" deprecated="28"/>
+		<method name="onDestroy()V"/>
+		<method name="onEnterAnimationComplete()V" since="21"/>
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12"/>
+		<method name="onGetDirectActions(Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V" since="29"/>
+		<method name="onKeyShortcut(ILandroid/view/KeyEvent;)Z" since="11"/>
+		<method name="onLocalVoiceInteractionStarted()V" since="24"/>
+		<method name="onLocalVoiceInteractionStopped()V" since="24"/>
+		<method name="onMultiWindowModeChanged(Z)V" since="24" deprecated="26"/>
+		<method name="onMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V" since="26"/>
+		<method name="onNavigateUp()Z" since="16"/>
+		<method name="onNavigateUpFromChild(Landroid/app/Activity;)Z" since="16" deprecated="30"/>
+		<method name="onNewIntent(Landroid/content/Intent;)V"/>
+		<method name="onOptionsItemSelected(Landroid/view/MenuItem;)Z"/>
+		<method name="onOptionsMenuClosed(Landroid/view/Menu;)V"/>
+		<method name="onPause()V"/>
+		<method name="onPerformDirectAction(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V" since="29"/>
+		<method name="onPictureInPictureModeChanged(Z)V" since="24" deprecated="26"/>
+		<method name="onPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V" since="26"/>
+		<method name="onPictureInPictureRequested()Z" since="30"/>
+		<method name="onPictureInPictureUiStateChanged(Landroid/app/PictureInPictureUiState;)V" since="31"/>
+		<method name="onPostCreate(Landroid/os/Bundle;)V"/>
+		<method name="onPostCreate(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21"/>
+		<method name="onPostResume()V"/>
+		<method name="onPrepareDialog(ILandroid/app/Dialog;)V" deprecated="15"/>
+		<method name="onPrepareDialog(ILandroid/app/Dialog;Landroid/os/Bundle;)V" since="8" deprecated="15"/>
+		<method name="onPrepareNavigateUpTaskStack(Landroid/app/TaskStackBuilder;)V" since="16"/>
+		<method name="onPrepareOptionsMenu(Landroid/view/Menu;)Z"/>
+		<method name="onProvideAssistContent(Landroid/app/assist/AssistContent;)V" since="23"/>
+		<method name="onProvideAssistData(Landroid/os/Bundle;)V" since="18"/>
+		<method name="onProvideReferrer()Landroid/net/Uri;" since="23"/>
+		<method name="onRequestPermissionsResult(I[Ljava/lang/String;[I)V" since="23"/>
+		<method name="onRestart()V"/>
+		<method name="onRestoreInstanceState(Landroid/os/Bundle;)V"/>
+		<method name="onRestoreInstanceState(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21"/>
+		<method name="onResume()V"/>
+		<method name="onRetainNonConfigurationInstance()Ljava/lang/Object;" deprecated="15"/>
+		<method name="onSaveInstanceState(Landroid/os/Bundle;)V"/>
+		<method name="onSaveInstanceState(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21"/>
+		<method name="onStart()V"/>
+		<method name="onStateNotSaved()V" since="23" deprecated="29"/>
+		<method name="onStop()V"/>
+		<method name="onTitleChanged(Ljava/lang/CharSequence;I)V"/>
+		<method name="onTopResumedActivityChanged(Z)V" since="29"/>
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onUserInteraction()V" since="3"/>
+		<method name="onUserLeaveHint()V" since="3"/>
+		<method name="onVisibleBehindCanceled()V" since="21" deprecated="26"/>
+		<method name="openContextMenu(Landroid/view/View;)V"/>
+		<method name="openOptionsMenu()V"/>
+		<method name="overridePendingTransition(II)V" since="5"/>
+		<method name="postponeEnterTransition()V" since="21"/>
+		<method name="recreate()V" since="11"/>
+		<method name="registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V" since="29"/>
+		<method name="registerForContextMenu(Landroid/view/View;)V"/>
+		<method name="releaseInstance()Z" since="21"/>
+		<method name="removeDialog(I)V" deprecated="15"/>
+		<method name="reportFullyDrawn()V" since="19"/>
+		<method name="requestDragAndDropPermissions(Landroid/view/DragEvent;)Landroid/view/DragAndDropPermissions;" since="24"/>
+		<method name="requestPermissions([Ljava/lang/String;I)V" since="23"/>
+		<method name="requestShowKeyboardShortcuts()V" since="24"/>
+		<method name="requestVisibleBehind(Z)Z" since="21" deprecated="26"/>
+		<method name="requestWindowFeature(I)Z"/>
+		<method name="requireViewById(I)Landroid/view/View;" since="28"/>
+		<method name="runOnUiThread(Ljava/lang/Runnable;)V"/>
+		<method name="setActionBar(Landroid/widget/Toolbar;)V" since="21"/>
+		<method name="setContentTransitionManager(Landroid/transition/TransitionManager;)V" since="21"/>
+		<method name="setContentView(I)V"/>
+		<method name="setContentView(Landroid/view/View;)V"/>
+		<method name="setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="setDefaultKeyMode(I)V"/>
+		<method name="setEnterSharedElementCallback(Landroid/app/SharedElementCallback;)V" since="21"/>
+		<method name="setExitSharedElementCallback(Landroid/app/SharedElementCallback;)V" since="21"/>
+		<method name="setFeatureDrawable(ILandroid/graphics/drawable/Drawable;)V"/>
+		<method name="setFeatureDrawableAlpha(II)V"/>
+		<method name="setFeatureDrawableResource(II)V"/>
+		<method name="setFeatureDrawableUri(ILandroid/net/Uri;)V"/>
+		<method name="setFinishOnTouchOutside(Z)V" since="11"/>
+		<method name="setImmersive(Z)V" since="18"/>
+		<method name="setInheritShowWhenLocked(Z)V" since="29"/>
+		<method name="setIntent(Landroid/content/Intent;)V"/>
+		<method name="setLocusContext(Landroid/content/LocusId;Landroid/os/Bundle;)V" since="30"/>
+		<method name="setMediaController(Landroid/media/session/MediaController;)V" since="21"/>
+		<method name="setPersistent(Z)V" removed="11"/>
+		<method name="setPictureInPictureParams(Landroid/app/PictureInPictureParams;)V" since="26"/>
+		<method name="setProgress(I)V" deprecated="24"/>
+		<method name="setProgressBarIndeterminate(Z)V" deprecated="24"/>
+		<method name="setProgressBarIndeterminateVisibility(Z)V" deprecated="24"/>
+		<method name="setProgressBarVisibility(Z)V" deprecated="24"/>
+		<method name="setRequestedOrientation(I)V"/>
+		<method name="setResult(I)V"/>
+		<method name="setResult(ILandroid/content/Intent;)V"/>
+		<method name="setSecondaryProgress(I)V" deprecated="24"/>
+		<method name="setShowWhenLocked(Z)V" since="27"/>
+		<method name="setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V" since="21"/>
+		<method name="setTitle(I)V"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)V"/>
+		<method name="setTitleColor(I)V" deprecated="21"/>
+		<method name="setTranslucent(Z)Z" since="30"/>
+		<method name="setTurnScreenOn(Z)V" since="27"/>
+		<method name="setVisible(Z)V" since="3"/>
+		<method name="setVolumeControlStream(I)V"/>
+		<method name="setVrModeEnabled(ZLandroid/content/ComponentName;)V" since="24"/>
+		<method name="shouldShowRequestPermissionRationale(Ljava/lang/String;)Z" since="23"/>
+		<method name="shouldUpRecreateTask(Landroid/content/Intent;)Z" since="16"/>
+		<method name="showAssist(Landroid/os/Bundle;)Z" since="23"/>
+		<method name="showDialog(I)V" deprecated="15"/>
+		<method name="showDialog(ILandroid/os/Bundle;)Z" since="8" deprecated="15"/>
+		<method name="showLockTaskEscapeMessage()V" since="23"/>
+		<method name="startActionMode(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;" since="11"/>
+		<method name="startActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;" since="23"/>
+		<method name="startActivityForResult(Landroid/content/Intent;I)V"/>
+		<method name="startActivityForResult(Landroid/content/Intent;ILandroid/os/Bundle;)V" since="16"/>
+		<method name="startActivityFromChild(Landroid/app/Activity;Landroid/content/Intent;I)V" deprecated="30"/>
+		<method name="startActivityFromChild(Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)V" since="16" deprecated="30"/>
+		<method name="startActivityFromFragment(Landroid/app/Fragment;Landroid/content/Intent;I)V" since="11" deprecated="28"/>
+		<method name="startActivityFromFragment(Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;)V" since="16" deprecated="28"/>
+		<method name="startActivityIfNeeded(Landroid/content/Intent;I)Z"/>
+		<method name="startActivityIfNeeded(Landroid/content/Intent;ILandroid/os/Bundle;)Z" since="16"/>
+		<method name="startIntentSenderForResult(Landroid/content/IntentSender;ILandroid/content/Intent;III)V" since="5"/>
+		<method name="startIntentSenderForResult(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V" since="16"/>
+		<method name="startIntentSenderFromChild(Landroid/app/Activity;Landroid/content/IntentSender;ILandroid/content/Intent;III)V" since="5" deprecated="30"/>
+		<method name="startIntentSenderFromChild(Landroid/app/Activity;Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V" since="16" deprecated="30"/>
+		<method name="startLocalVoiceInteraction(Landroid/os/Bundle;)V" since="24"/>
+		<method name="startLockTask()V" since="21"/>
+		<method name="startManagingCursor(Landroid/database/Cursor;)V" deprecated="15"/>
+		<method name="startNextMatchingActivity(Landroid/content/Intent;)Z"/>
+		<method name="startNextMatchingActivity(Landroid/content/Intent;Landroid/os/Bundle;)Z" since="16"/>
+		<method name="startPostponedEnterTransition()V" since="21"/>
+		<method name="startSearch(Ljava/lang/String;ZLandroid/os/Bundle;Z)V"/>
+		<method name="stopLocalVoiceInteraction()V" since="24"/>
+		<method name="stopLockTask()V" since="21"/>
+		<method name="stopManagingCursor(Landroid/database/Cursor;)V" deprecated="15"/>
+		<method name="takeKeyEvents(Z)V"/>
+		<method name="triggerSearch(Ljava/lang/String;Landroid/os/Bundle;)V" since="5"/>
+		<method name="unregisterActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V" since="29"/>
+		<method name="unregisterForContextMenu(Landroid/view/View;)V"/>
+		<field name="DEFAULT_KEYS_DIALER"/>
+		<field name="DEFAULT_KEYS_DISABLE"/>
+		<field name="DEFAULT_KEYS_SEARCH_GLOBAL"/>
+		<field name="DEFAULT_KEYS_SEARCH_LOCAL"/>
+		<field name="DEFAULT_KEYS_SHORTCUT"/>
+		<field name="FOCUSED_STATE_SET"/>
+		<field name="RESULT_CANCELED"/>
+		<field name="RESULT_FIRST_USER"/>
+		<field name="RESULT_OK"/>
+	</class>
+	<class name="android/app/ActivityGroup" since="1" deprecated="13">
+		<extends name="android/app/Activity"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Z)V" deprecated="29"/>
+		<method name="getCurrentActivity()Landroid/app/Activity;" deprecated="29"/>
+		<method name="getLocalActivityManager()Landroid/app/LocalActivityManager;" deprecated="29"/>
+	</class>
+	<class name="android/app/ActivityManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addAppTask(Landroid/app/Activity;Landroid/content/Intent;Landroid/app/ActivityManager$TaskDescription;Landroid/graphics/Bitmap;)I" since="21"/>
+		<method name="appNotResponding(Ljava/lang/String;)V" since="30"/>
+		<method name="clearApplicationUserData()Z" since="19"/>
+		<method name="clearWatchHeapLimit()V" since="23"/>
+		<method name="dumpPackageState(Ljava/io/FileDescriptor;Ljava/lang/String;)V" since="19"/>
+		<method name="getAppTaskThumbnailSize()Landroid/util/Size;" since="21"/>
+		<method name="getAppTasks()Ljava/util/List;" since="21"/>
+		<method name="getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;" since="3"/>
+		<method name="getHistoricalProcessExitReasons(Ljava/lang/String;II)Ljava/util/List;" since="30"/>
+		<method name="getLargeMemoryClass()I" since="11"/>
+		<method name="getLauncherLargeIconDensity()I" since="11"/>
+		<method name="getLauncherLargeIconSize()I" since="11"/>
+		<method name="getLockTaskModeState()I" since="23"/>
+		<method name="getMemoryClass()I" since="5"/>
+		<method name="getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V"/>
+		<method name="getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V" since="16"/>
+		<method name="getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;" since="5"/>
+		<method name="getProcessesInErrorState()Ljava/util/List;"/>
+		<method name="getRecentTasks(II)Ljava/util/List;" deprecated="21"/>
+		<method name="getRunningAppProcesses()Ljava/util/List;" since="3"/>
+		<method name="getRunningServiceControlPanel(Landroid/content/ComponentName;)Landroid/app/PendingIntent;" since="5"/>
+		<method name="getRunningServices(I)Ljava/util/List;" deprecated="26"/>
+		<method name="getRunningTasks(I)Ljava/util/List;" deprecated="21"/>
+		<method name="isActivityStartAllowedOnDisplay(Landroid/content/Context;ILandroid/content/Intent;)Z" since="29"/>
+		<method name="isBackgroundRestricted()Z" since="28"/>
+		<method name="isInLockTaskMode()Z" since="21" deprecated="23"/>
+		<method name="isLowMemoryKillReportSupported()Z" since="30"/>
+		<method name="isLowRamDevice()Z" since="19"/>
+		<method name="isRunningInTestHarness()Z" since="11" deprecated="29"/>
+		<method name="isRunningInUserTestHarness()Z" since="29"/>
+		<method name="isUserAMonkey()Z" since="8"/>
+		<method name="killBackgroundProcesses(Ljava/lang/String;)V" since="8"/>
+		<method name="moveTaskToFront(II)V" since="11"/>
+		<method name="moveTaskToFront(IILandroid/os/Bundle;)V" since="16"/>
+		<method name="restartPackage(Ljava/lang/String;)V" since="3" deprecated="15"/>
+		<method name="setProcessStateSummary([B)V" since="30"/>
+		<method name="setVrThread(I)V" since="25"/>
+		<method name="setWatchHeapLimit(J)V" since="23"/>
+		<field name="ACTION_REPORT_HEAP_LIMIT" since="23"/>
+		<field name="LOCK_TASK_MODE_LOCKED" since="23"/>
+		<field name="LOCK_TASK_MODE_NONE" since="23"/>
+		<field name="LOCK_TASK_MODE_PINNED" since="23"/>
+		<field name="META_HOME_ALTERNATE" since="19"/>
+		<field name="MOVE_TASK_NO_USER_ACTION" since="12"/>
+		<field name="MOVE_TASK_WITH_HOME" since="11"/>
+		<field name="RECENT_IGNORE_UNAVAILABLE" since="11"/>
+		<field name="RECENT_WITH_EXCLUDED"/>
+	</class>
+	<class name="android/app/ActivityManager$AppTask" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="finishAndRemoveTask()V"/>
+		<method name="getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;"/>
+		<method name="moveToFront()V"/>
+		<method name="setExcludeFromRecents(Z)V"/>
+		<method name="startActivity(Landroid/content/Context;Landroid/content/Intent;Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/app/ActivityManager$MemoryInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+		<field name="availMem"/>
+		<field name="lowMemory"/>
+		<field name="threshold"/>
+		<field name="totalMem" since="16"/>
+	</class>
+	<class name="android/app/ActivityManager$ProcessErrorStateInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<field name="CRASHED"/>
+		<field name="CREATOR"/>
+		<field name="NOT_RESPONDING"/>
+		<field name="NO_ERROR"/>
+		<field name="condition"/>
+		<field name="crashData"/>
+		<field name="longMsg"/>
+		<field name="pid"/>
+		<field name="processName"/>
+		<field name="shortMsg"/>
+		<field name="stackTrace" since="8"/>
+		<field name="tag"/>
+		<field name="uid"/>
+	</class>
+	<class name="android/app/ActivityManager$RecentTaskInfo" since="1">
+		<extends name="android/app/TaskInfo" since="29"/>
+		<extends name="java/lang/Object" removed="29"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+		<field name="affiliatedTaskId" since="21" deprecated="29"/>
+		<field name="baseActivity" since="23" removed="29"/>
+		<field name="baseIntent" removed="29"/>
+		<field name="description" since="11" deprecated="29"/>
+		<field name="id" deprecated="29"/>
+		<field name="numActivities" since="23" removed="29"/>
+		<field name="origActivity" removed="29"/>
+		<field name="persistentId" since="12" deprecated="29"/>
+		<field name="taskDescription" since="21" removed="29"/>
+		<field name="topActivity" since="23" removed="29"/>
+	</class>
+	<class name="android/app/ActivityManager$RunningAppProcessInfo" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;I[Ljava/lang/String;)V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+		<field name="IMPORTANCE_BACKGROUND" deprecated="26"/>
+		<field name="IMPORTANCE_CACHED" since="26"/>
+		<field name="IMPORTANCE_CANT_SAVE_STATE" since="28"/>
+		<field name="IMPORTANCE_EMPTY" deprecated="26"/>
+		<field name="IMPORTANCE_FOREGROUND"/>
+		<field name="IMPORTANCE_FOREGROUND_SERVICE" since="23"/>
+		<field name="IMPORTANCE_GONE" since="21"/>
+		<field name="IMPORTANCE_PERCEPTIBLE" since="9"/>
+		<field name="IMPORTANCE_PERCEPTIBLE_PRE_26" since="26"/>
+		<field name="IMPORTANCE_SERVICE"/>
+		<field name="IMPORTANCE_TOP_SLEEPING" since="23"/>
+		<field name="IMPORTANCE_TOP_SLEEPING_PRE_28" since="28" deprecated="28"/>
+		<field name="IMPORTANCE_VISIBLE"/>
+		<field name="REASON_PROVIDER_IN_USE" since="5"/>
+		<field name="REASON_SERVICE_IN_USE" since="5"/>
+		<field name="REASON_UNKNOWN" since="5"/>
+		<field name="importance"/>
+		<field name="importanceReasonCode" since="5"/>
+		<field name="importanceReasonComponent" since="5"/>
+		<field name="importanceReasonPid" since="5"/>
+		<field name="lastTrimLevel" since="16"/>
+		<field name="lru"/>
+		<field name="pid"/>
+		<field name="pkgList"/>
+		<field name="processName"/>
+		<field name="uid" since="5"/>
+	</class>
+	<class name="android/app/ActivityManager$RunningServiceInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_FOREGROUND" since="5"/>
+		<field name="FLAG_PERSISTENT_PROCESS" since="5"/>
+		<field name="FLAG_STARTED" since="5"/>
+		<field name="FLAG_SYSTEM_PROCESS" since="5"/>
+		<field name="activeSince"/>
+		<field name="clientCount"/>
+		<field name="clientLabel" since="5"/>
+		<field name="clientPackage" since="5"/>
+		<field name="crashCount"/>
+		<field name="flags" since="5"/>
+		<field name="foreground"/>
+		<field name="lastActivityTime"/>
+		<field name="pid"/>
+		<field name="process"/>
+		<field name="restarting"/>
+		<field name="service"/>
+		<field name="started"/>
+		<field name="uid" since="5"/>
+	</class>
+	<class name="android/app/ActivityManager$RunningTaskInfo" since="1">
+		<extends name="android/app/TaskInfo" since="29"/>
+		<extends name="java/lang/Object" removed="29"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+		<field name="baseActivity" removed="29"/>
+		<field name="description" deprecated="29"/>
+		<field name="id" deprecated="29"/>
+		<field name="numActivities" removed="29"/>
+		<field name="numRunning" deprecated="29"/>
+		<field name="thumbnail" deprecated="29"/>
+		<field name="topActivity" removed="29"/>
+	</class>
+	<class name="android/app/ActivityManager$TaskDescription" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/app/ActivityManager$TaskDescription;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V" since="28"/>
+		<method name="&lt;init>(Ljava/lang/String;II)V" since="28"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/graphics/Bitmap;)V" deprecated="28"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/graphics/Bitmap;I)V" deprecated="28"/>
+		<method name="getIcon()Landroid/graphics/Bitmap;" deprecated="30"/>
+		<method name="getLabel()Ljava/lang/String;"/>
+		<method name="getPrimaryColor()I"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/ActivityOptions" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="getLaunchBounds()Landroid/graphics/Rect;" since="24"/>
+		<method name="getLaunchDisplayId()I" since="26"/>
+		<method name="getLockTaskMode()Z" since="28"/>
+		<method name="makeBasic()Landroid/app/ActivityOptions;" since="23"/>
+		<method name="makeClipRevealAnimation(Landroid/view/View;IIII)Landroid/app/ActivityOptions;" since="23"/>
+		<method name="makeCustomAnimation(Landroid/content/Context;II)Landroid/app/ActivityOptions;"/>
+		<method name="makeScaleUpAnimation(Landroid/view/View;IIII)Landroid/app/ActivityOptions;"/>
+		<method name="makeSceneTransitionAnimation(Landroid/app/Activity;Landroid/view/View;Ljava/lang/String;)Landroid/app/ActivityOptions;" since="21"/>
+		<method name="makeSceneTransitionAnimation(Landroid/app/Activity;[Landroid/util/Pair;)Landroid/app/ActivityOptions;" since="21"/>
+		<method name="makeTaskLaunchBehind()Landroid/app/ActivityOptions;" since="21"/>
+		<method name="makeThumbnailScaleUpAnimation(Landroid/view/View;Landroid/graphics/Bitmap;II)Landroid/app/ActivityOptions;"/>
+		<method name="requestUsageTimeReport(Landroid/app/PendingIntent;)V" since="23"/>
+		<method name="setAppVerificationBundle(Landroid/os/Bundle;)Landroid/app/ActivityOptions;" since="26"/>
+		<method name="setLaunchBounds(Landroid/graphics/Rect;)Landroid/app/ActivityOptions;" since="24"/>
+		<method name="setLaunchDisplayId(I)Landroid/app/ActivityOptions;" since="26"/>
+		<method name="setLockTaskEnabled(Z)Landroid/app/ActivityOptions;" since="28"/>
+		<method name="toBundle()Landroid/os/Bundle;"/>
+		<method name="update(Landroid/app/ActivityOptions;)V"/>
+		<field name="EXTRA_USAGE_TIME_REPORT" since="23"/>
+		<field name="EXTRA_USAGE_TIME_REPORT_PACKAGES" since="23"/>
+	</class>
+	<class name="android/app/AlarmManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="canScheduleExactAlarms()Z" since="31"/>
+		<method name="cancel(Landroid/app/AlarmManager$OnAlarmListener;)V" since="24"/>
+		<method name="cancel(Landroid/app/PendingIntent;)V"/>
+		<method name="getNextAlarmClock()Landroid/app/AlarmManager$AlarmClockInfo;" since="21"/>
+		<method name="set(IJLandroid/app/PendingIntent;)V"/>
+		<method name="set(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V" since="24"/>
+		<method name="setAlarmClock(Landroid/app/AlarmManager$AlarmClockInfo;Landroid/app/PendingIntent;)V" since="21"/>
+		<method name="setAndAllowWhileIdle(IJLandroid/app/PendingIntent;)V" since="23"/>
+		<method name="setExact(IJLandroid/app/PendingIntent;)V" since="19"/>
+		<method name="setExact(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V" since="24"/>
+		<method name="setExactAndAllowWhileIdle(IJLandroid/app/PendingIntent;)V" since="23"/>
+		<method name="setInexactRepeating(IJJLandroid/app/PendingIntent;)V" since="3"/>
+		<method name="setRepeating(IJJLandroid/app/PendingIntent;)V"/>
+		<method name="setTime(J)V" since="8"/>
+		<method name="setTimeZone(Ljava/lang/String;)V"/>
+		<method name="setWindow(IJJLandroid/app/PendingIntent;)V" since="19"/>
+		<method name="setWindow(IJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V" since="24"/>
+		<field name="ACTION_NEXT_ALARM_CLOCK_CHANGED" since="21"/>
+		<field name="ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED" since="31"/>
+		<field name="ELAPSED_REALTIME"/>
+		<field name="ELAPSED_REALTIME_WAKEUP"/>
+		<field name="INTERVAL_DAY" since="3"/>
+		<field name="INTERVAL_FIFTEEN_MINUTES" since="3"/>
+		<field name="INTERVAL_HALF_DAY" since="3"/>
+		<field name="INTERVAL_HALF_HOUR" since="3"/>
+		<field name="INTERVAL_HOUR" since="3"/>
+		<field name="RTC"/>
+		<field name="RTC_WAKEUP"/>
+	</class>
+	<class name="android/app/AlarmManager$AlarmClockInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(JLandroid/app/PendingIntent;)V"/>
+		<method name="getShowIntent()Landroid/app/PendingIntent;"/>
+		<method name="getTriggerTime()J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/AlarmManager$OnAlarmListener" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onAlarm()V"/>
+	</class>
+	<class name="android/app/AlertDialog" since="1">
+		<extends name="android/app/Dialog"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;ZLandroid/content/DialogInterface$OnCancelListener;)V"/>
+		<method name="getButton(I)Landroid/widget/Button;" since="3"/>
+		<method name="getListView()Landroid/widget/ListView;" since="3"/>
+		<method name="setButton(ILjava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V" since="3"/>
+		<method name="setButton(ILjava/lang/CharSequence;Landroid/os/Message;)V" since="3"/>
+		<method name="setButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V" deprecated="15"/>
+		<method name="setButton(Ljava/lang/CharSequence;Landroid/os/Message;)V" deprecated="15"/>
+		<method name="setButton2(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V" deprecated="15"/>
+		<method name="setButton2(Ljava/lang/CharSequence;Landroid/os/Message;)V" deprecated="15"/>
+		<method name="setButton3(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V" deprecated="15"/>
+		<method name="setButton3(Ljava/lang/CharSequence;Landroid/os/Message;)V" deprecated="15"/>
+		<method name="setCustomTitle(Landroid/view/View;)V"/>
+		<method name="setIcon(I)V"/>
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setIconAttribute(I)V" since="11"/>
+		<method name="setInverseBackgroundForced(Z)V"/>
+		<method name="setMessage(Ljava/lang/CharSequence;)V"/>
+		<method name="setView(Landroid/view/View;)V"/>
+		<method name="setView(Landroid/view/View;IIII)V" since="3"/>
+		<field name="THEME_DEVICE_DEFAULT_DARK" since="14" deprecated="23"/>
+		<field name="THEME_DEVICE_DEFAULT_LIGHT" since="14" deprecated="23"/>
+		<field name="THEME_HOLO_DARK" since="11" deprecated="23"/>
+		<field name="THEME_HOLO_LIGHT" since="11" deprecated="23"/>
+		<field name="THEME_TRADITIONAL" since="11" deprecated="23"/>
+	</class>
+	<class name="android/app/AlertDialog$Builder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V" since="11"/>
+		<method name="create()Landroid/app/AlertDialog;"/>
+		<method name="getContext()Landroid/content/Context;" since="11"/>
+		<method name="setAdapter(Landroid/widget/ListAdapter;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setCancelable(Z)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setCursor(Landroid/database/Cursor;Landroid/content/DialogInterface$OnClickListener;Ljava/lang/String;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setCustomTitle(Landroid/view/View;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setIcon(I)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setIconAttribute(I)Landroid/app/AlertDialog$Builder;" since="11"/>
+		<method name="setInverseBackgroundForced(Z)Landroid/app/AlertDialog$Builder;" deprecated="23"/>
+		<method name="setItems(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setItems([Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setMessage(I)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setMultiChoiceItems(I[ZLandroid/content/DialogInterface$OnMultiChoiceClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setMultiChoiceItems(Landroid/database/Cursor;Ljava/lang/String;Ljava/lang/String;Landroid/content/DialogInterface$OnMultiChoiceClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setMultiChoiceItems([Ljava/lang/CharSequence;[ZLandroid/content/DialogInterface$OnMultiChoiceClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setNegativeButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setNeutralButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setNeutralButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setOnDismissListener(Landroid/content/DialogInterface$OnDismissListener;)Landroid/app/AlertDialog$Builder;" since="17"/>
+		<method name="setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setOnKeyListener(Landroid/content/DialogInterface$OnKeyListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setPositiveButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setSingleChoiceItems(IILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setSingleChoiceItems(Landroid/database/Cursor;ILjava/lang/String;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setSingleChoiceItems(Landroid/widget/ListAdapter;ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setSingleChoiceItems([Ljava/lang/CharSequence;ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setTitle(I)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="setView(I)Landroid/app/AlertDialog$Builder;" since="21"/>
+		<method name="setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder;"/>
+		<method name="show()Landroid/app/AlertDialog;"/>
+	</class>
+	<class name="android/app/AliasActivity" since="1" deprecated="30">
+		<extends name="android/app/Activity"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+	</class>
+	<class name="android/app/AppComponentFactory" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="instantiateActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;"/>
+		<method name="instantiateApplication(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/app/Application;"/>
+		<method name="instantiateClassLoader(Ljava/lang/ClassLoader;Landroid/content/pm/ApplicationInfo;)Ljava/lang/ClassLoader;" since="29"/>
+		<method name="instantiateProvider(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/content/ContentProvider;"/>
+		<method name="instantiateReceiver(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/content/BroadcastReceiver;"/>
+		<method name="instantiateService(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Service;"/>
+	</class>
+	<class name="android/app/AppOpsManager" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="checkOp(Ljava/lang/String;ILjava/lang/String;)I" deprecated="29"/>
+		<method name="checkOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I" deprecated="29"/>
+		<method name="checkPackage(ILjava/lang/String;)V" deprecated="30"/>
+		<method name="finishOp(Ljava/lang/String;ILjava/lang/String;)V" deprecated="30"/>
+		<method name="finishOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" since="30"/>
+		<method name="finishProxyOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" since="31"/>
+		<method name="isOpActive(Ljava/lang/String;ILjava/lang/String;)Z" since="30"/>
+		<method name="noteOp(Ljava/lang/String;ILjava/lang/String;)I" deprecated="30"/>
+		<method name="noteOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="30"/>
+		<method name="noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I" deprecated="30"/>
+		<method name="noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="30"/>
+		<method name="noteProxyOp(Ljava/lang/String;Ljava/lang/String;)I" since="23" deprecated="30"/>
+		<method name="noteProxyOp(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)I" since="30"/>
+		<method name="noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;)I" since="23" deprecated="30"/>
+		<method name="noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;I)I" since="29" deprecated="30"/>
+		<method name="noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)I" since="30"/>
+		<method name="permissionToOp(Ljava/lang/String;)Ljava/lang/String;" since="23"/>
+		<method name="setOnOpNotedCallback(Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpNotedCallback;)V" since="30"/>
+		<method name="startOp(Ljava/lang/String;ILjava/lang/String;)I" deprecated="30"/>
+		<method name="startOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="30"/>
+		<method name="startOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I" deprecated="30"/>
+		<method name="startOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="30"/>
+		<method name="startProxyOp(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="31"/>
+		<method name="startProxyOpNoThrow(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I" since="31"/>
+		<method name="startWatchingActive([Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V" since="30"/>
+		<method name="startWatchingMode(Ljava/lang/String;Ljava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V" since="29"/>
+		<method name="startWatchingMode(Ljava/lang/String;Ljava/lang/String;Landroid/app/AppOpsManager$OnOpChangedListener;)V"/>
+		<method name="stopWatchingActive(Landroid/app/AppOpsManager$OnOpActiveChangedListener;)V" since="30"/>
+		<method name="stopWatchingMode(Landroid/app/AppOpsManager$OnOpChangedListener;)V"/>
+		<method name="unsafeCheckOp(Ljava/lang/String;ILjava/lang/String;)I" since="29"/>
+		<method name="unsafeCheckOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I" since="29"/>
+		<method name="unsafeCheckOpRaw(Ljava/lang/String;ILjava/lang/String;)I" since="29"/>
+		<method name="unsafeCheckOpRawNoThrow(Ljava/lang/String;ILjava/lang/String;)I" since="29"/>
+		<field name="MODE_ALLOWED"/>
+		<field name="MODE_DEFAULT" since="21"/>
+		<field name="MODE_ERRORED"/>
+		<field name="MODE_FOREGROUND" since="29"/>
+		<field name="MODE_IGNORED"/>
+		<field name="OPSTR_ADD_VOICEMAIL" since="23"/>
+		<field name="OPSTR_ANSWER_PHONE_CALLS" since="26"/>
+		<field name="OPSTR_BODY_SENSORS" since="23"/>
+		<field name="OPSTR_CALL_PHONE" since="23"/>
+		<field name="OPSTR_CAMERA" since="23"/>
+		<field name="OPSTR_COARSE_LOCATION"/>
+		<field name="OPSTR_FINE_LOCATION"/>
+		<field name="OPSTR_GET_USAGE_STATS" since="21"/>
+		<field name="OPSTR_MOCK_LOCATION" since="23"/>
+		<field name="OPSTR_MONITOR_HIGH_POWER_LOCATION"/>
+		<field name="OPSTR_MONITOR_LOCATION"/>
+		<field name="OPSTR_PICTURE_IN_PICTURE" since="26"/>
+		<field name="OPSTR_PROCESS_OUTGOING_CALLS" since="26"/>
+		<field name="OPSTR_READ_CALENDAR" since="23"/>
+		<field name="OPSTR_READ_CALL_LOG" since="23"/>
+		<field name="OPSTR_READ_CELL_BROADCASTS" since="23"/>
+		<field name="OPSTR_READ_CONTACTS" since="23"/>
+		<field name="OPSTR_READ_EXTERNAL_STORAGE" since="23"/>
+		<field name="OPSTR_READ_PHONE_NUMBERS" since="26"/>
+		<field name="OPSTR_READ_PHONE_STATE" since="23"/>
+		<field name="OPSTR_READ_SMS" since="23"/>
+		<field name="OPSTR_RECEIVE_MMS" since="23"/>
+		<field name="OPSTR_RECEIVE_SMS" since="23"/>
+		<field name="OPSTR_RECEIVE_WAP_PUSH" since="23"/>
+		<field name="OPSTR_RECORD_AUDIO" since="23"/>
+		<field name="OPSTR_SEND_SMS" since="23"/>
+		<field name="OPSTR_SYSTEM_ALERT_WINDOW" since="23"/>
+		<field name="OPSTR_USE_FINGERPRINT" since="23"/>
+		<field name="OPSTR_USE_SIP" since="23"/>
+		<field name="OPSTR_WRITE_CALENDAR" since="23"/>
+		<field name="OPSTR_WRITE_CALL_LOG" since="23"/>
+		<field name="OPSTR_WRITE_CONTACTS" since="23"/>
+		<field name="OPSTR_WRITE_EXTERNAL_STORAGE" since="23"/>
+		<field name="OPSTR_WRITE_SETTINGS" since="23"/>
+		<field name="WATCH_FOREGROUND_CHANGES" since="29"/>
+	</class>
+	<class name="android/app/AppOpsManager$OnOpActiveChangedListener" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onOpActiveChanged(Ljava/lang/String;ILjava/lang/String;Z)V"/>
+	</class>
+	<class name="android/app/AppOpsManager$OnOpChangedListener" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="onOpChanged(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/app/AppOpsManager$OnOpNotedCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAsyncNoted(Landroid/app/AsyncNotedAppOp;)V"/>
+		<method name="onNoted(Landroid/app/SyncNotedAppOp;)V"/>
+		<method name="onSelfNoted(Landroid/app/SyncNotedAppOp;)V"/>
+	</class>
+	<class name="android/app/Application" since="1">
+		<extends name="android/content/ContextWrapper"/>
+		<implements name="android/content/ComponentCallbacks" removed="14"/>
+		<implements name="android/content/ComponentCallbacks2" since="14"/>
+		<method name="&lt;init>()V"/>
+		<method name="getProcessName()Ljava/lang/String;" since="28"/>
+		<method name="onCreate()V"/>
+		<method name="onTerminate()V"/>
+		<method name="registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V" since="14"/>
+		<method name="registerOnProvideAssistDataListener(Landroid/app/Application$OnProvideAssistDataListener;)V" since="18"/>
+		<method name="unregisterActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V" since="14"/>
+		<method name="unregisterOnProvideAssistDataListener(Landroid/app/Application$OnProvideAssistDataListener;)V" since="18"/>
+	</class>
+	<class name="android/app/Application$ActivityLifecycleCallbacks" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V"/>
+		<method name="onActivityDestroyed(Landroid/app/Activity;)V"/>
+		<method name="onActivityPaused(Landroid/app/Activity;)V"/>
+		<method name="onActivityPostCreated(Landroid/app/Activity;Landroid/os/Bundle;)V" since="29"/>
+		<method name="onActivityPostDestroyed(Landroid/app/Activity;)V" since="29"/>
+		<method name="onActivityPostPaused(Landroid/app/Activity;)V" since="29"/>
+		<method name="onActivityPostResumed(Landroid/app/Activity;)V" since="29"/>
+		<method name="onActivityPostSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V" since="29"/>
+		<method name="onActivityPostStarted(Landroid/app/Activity;)V" since="29"/>
+		<method name="onActivityPostStopped(Landroid/app/Activity;)V" since="29"/>
+		<method name="onActivityPreCreated(Landroid/app/Activity;Landroid/os/Bundle;)V" since="29"/>
+		<method name="onActivityPreDestroyed(Landroid/app/Activity;)V" since="29"/>
+		<method name="onActivityPrePaused(Landroid/app/Activity;)V" since="29"/>
+		<method name="onActivityPreResumed(Landroid/app/Activity;)V" since="29"/>
+		<method name="onActivityPreSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V" since="29"/>
+		<method name="onActivityPreStarted(Landroid/app/Activity;)V" since="29"/>
+		<method name="onActivityPreStopped(Landroid/app/Activity;)V" since="29"/>
+		<method name="onActivityResumed(Landroid/app/Activity;)V"/>
+		<method name="onActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V"/>
+		<method name="onActivityStarted(Landroid/app/Activity;)V"/>
+		<method name="onActivityStopped(Landroid/app/Activity;)V"/>
+	</class>
+	<class name="android/app/Application$OnProvideAssistDataListener" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="onProvideAssistData(Landroid/app/Activity;Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/app/ApplicationErrorReport" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getErrorReportReceiver(Landroid/content/Context;Ljava/lang/String;I)Landroid/content/ComponentName;"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_ANR"/>
+		<field name="TYPE_BATTERY"/>
+		<field name="TYPE_CRASH"/>
+		<field name="TYPE_NONE"/>
+		<field name="TYPE_RUNNING_SERVICE"/>
+		<field name="anrInfo"/>
+		<field name="batteryInfo"/>
+		<field name="crashInfo"/>
+		<field name="installerPackageName"/>
+		<field name="packageName"/>
+		<field name="processName"/>
+		<field name="runningServiceInfo"/>
+		<field name="systemApp"/>
+		<field name="time"/>
+		<field name="type"/>
+	</class>
+	<class name="android/app/ApplicationErrorReport$AnrInfo" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="writeToParcel(Landroid/os/Parcel;I)V"/>
+		<field name="activity"/>
+		<field name="cause"/>
+		<field name="info"/>
+	</class>
+	<class name="android/app/ApplicationErrorReport$BatteryInfo" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="writeToParcel(Landroid/os/Parcel;I)V"/>
+		<field name="checkinDetails"/>
+		<field name="durationMicros"/>
+		<field name="usageDetails"/>
+		<field name="usagePercent"/>
+	</class>
+	<class name="android/app/ApplicationErrorReport$CrashInfo" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="writeToParcel(Landroid/os/Parcel;I)V"/>
+		<field name="exceptionClassName"/>
+		<field name="exceptionMessage"/>
+		<field name="stackTrace"/>
+		<field name="throwClassName"/>
+		<field name="throwFileName"/>
+		<field name="throwLineNumber"/>
+		<field name="throwMethodName"/>
+	</class>
+	<class name="android/app/ApplicationErrorReport$RunningServiceInfo" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="writeToParcel(Landroid/os/Parcel;I)V"/>
+		<field name="durationMillis"/>
+		<field name="serviceDetails"/>
+	</class>
+	<class name="android/app/ApplicationExitInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDefiningUid()I"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getImportance()I"/>
+		<method name="getPackageUid()I"/>
+		<method name="getPid()I"/>
+		<method name="getProcessName()Ljava/lang/String;"/>
+		<method name="getProcessStateSummary()[B"/>
+		<method name="getPss()J"/>
+		<method name="getRealUid()I"/>
+		<method name="getReason()I"/>
+		<method name="getRss()J"/>
+		<method name="getStatus()I"/>
+		<method name="getTimestamp()J"/>
+		<method name="getTraceInputStream()Ljava/io/InputStream;"/>
+		<method name="getUserHandle()Landroid/os/UserHandle;"/>
+		<field name="CREATOR"/>
+		<field name="REASON_ANR"/>
+		<field name="REASON_CRASH"/>
+		<field name="REASON_CRASH_NATIVE"/>
+		<field name="REASON_DEPENDENCY_DIED"/>
+		<field name="REASON_EXCESSIVE_RESOURCE_USAGE"/>
+		<field name="REASON_EXIT_SELF"/>
+		<field name="REASON_INITIALIZATION_FAILURE"/>
+		<field name="REASON_LOW_MEMORY"/>
+		<field name="REASON_OTHER"/>
+		<field name="REASON_PERMISSION_CHANGE"/>
+		<field name="REASON_SIGNALED"/>
+		<field name="REASON_UNKNOWN"/>
+		<field name="REASON_USER_REQUESTED"/>
+		<field name="REASON_USER_STOPPED"/>
+	</class>
+	<class name="android/app/AsyncNotedAppOp" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAttributionTag()Ljava/lang/String;"/>
+		<method name="getMessage()Ljava/lang/String;"/>
+		<method name="getNotingUid()I"/>
+		<method name="getOp()Ljava/lang/String;"/>
+		<method name="getTime()J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/AuthenticationRequiredException" since="26">
+		<extends name="java/lang/SecurityException"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;Landroid/app/PendingIntent;)V"/>
+		<method name="getUserAction()Landroid/app/PendingIntent;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/AutomaticZenRule" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/net/Uri;Landroid/service/notification/ZenPolicy;IZ)V" since="29"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/content/ComponentName;Landroid/net/Uri;IZ)V" deprecated="29"/>
+		<method name="getConditionId()Landroid/net/Uri;"/>
+		<method name="getConfigurationActivity()Landroid/content/ComponentName;" since="29"/>
+		<method name="getCreationTime()J"/>
+		<method name="getInterruptionFilter()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getOwner()Landroid/content/ComponentName;"/>
+		<method name="getZenPolicy()Landroid/service/notification/ZenPolicy;" since="29"/>
+		<method name="isEnabled()Z"/>
+		<method name="setConditionId(Landroid/net/Uri;)V"/>
+		<method name="setConfigurationActivity(Landroid/content/ComponentName;)V" since="29"/>
+		<method name="setEnabled(Z)V"/>
+		<method name="setInterruptionFilter(I)V"/>
+		<method name="setName(Ljava/lang/String;)V"/>
+		<method name="setZenPolicy(Landroid/service/notification/ZenPolicy;)V" since="29"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/BackgroundServiceStartNotAllowedException" since="31">
+		<extends name="android/app/ServiceStartNotAllowedException"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/DatePickerDialog" since="1">
+		<extends name="android/app/AlertDialog"/>
+		<implements name="android/content/DialogInterface$OnClickListener"/>
+		<implements name="android/widget/DatePicker$OnDateChangedListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" since="24"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V" since="24"/>
+		<method name="&lt;init>(Landroid/content/Context;ILandroid/app/DatePickerDialog$OnDateSetListener;III)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/app/DatePickerDialog$OnDateSetListener;III)V"/>
+		<method name="getDatePicker()Landroid/widget/DatePicker;" since="11"/>
+		<method name="setOnDateSetListener(Landroid/app/DatePickerDialog$OnDateSetListener;)V" since="24"/>
+		<method name="updateDate(III)V"/>
+	</class>
+	<class name="android/app/DatePickerDialog$OnDateSetListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onDateSet(Landroid/widget/DatePicker;III)V"/>
+	</class>
+	<class name="android/app/Dialog" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/content/DialogInterface"/>
+		<implements name="android/view/KeyEvent$Callback"/>
+		<implements name="android/view/View$OnCreateContextMenuListener"/>
+		<implements name="android/view/Window$Callback"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;ZLandroid/content/DialogInterface$OnCancelListener;)V"/>
+		<method name="addContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="closeOptionsMenu()V"/>
+		<method name="create()V" since="21"/>
+		<method name="findViewById(I)Landroid/view/View;"/>
+		<method name="getActionBar()Landroid/app/ActionBar;" since="11"/>
+		<method name="getContext()Landroid/content/Context;"/>
+		<method name="getCurrentFocus()Landroid/view/View;"/>
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;"/>
+		<method name="getOwnerActivity()Landroid/app/Activity;"/>
+		<method name="getSearchEvent()Landroid/view/SearchEvent;" since="23"/>
+		<method name="getVolumeControlStream()I"/>
+		<method name="getWindow()Landroid/view/Window;"/>
+		<method name="hide()V"/>
+		<method name="invalidateOptionsMenu()V" since="11"/>
+		<method name="isShowing()Z"/>
+		<method name="onBackPressed()V" since="5"/>
+		<method name="onContextItemSelected(Landroid/view/MenuItem;)Z"/>
+		<method name="onContextMenuClosed(Landroid/view/Menu;)V"/>
+		<method name="onCreate(Landroid/os/Bundle;)V"/>
+		<method name="onCreateOptionsMenu(Landroid/view/Menu;)Z"/>
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12"/>
+		<method name="onKeyShortcut(ILandroid/view/KeyEvent;)Z" since="11"/>
+		<method name="onOptionsItemSelected(Landroid/view/MenuItem;)Z"/>
+		<method name="onOptionsMenuClosed(Landroid/view/Menu;)V"/>
+		<method name="onPrepareOptionsMenu(Landroid/view/Menu;)Z"/>
+		<method name="onRestoreInstanceState(Landroid/os/Bundle;)V"/>
+		<method name="onSaveInstanceState()Landroid/os/Bundle;"/>
+		<method name="onStart()V"/>
+		<method name="onStop()V"/>
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="openContextMenu(Landroid/view/View;)V"/>
+		<method name="openOptionsMenu()V"/>
+		<method name="registerForContextMenu(Landroid/view/View;)V"/>
+		<method name="requestWindowFeature(I)Z"/>
+		<method name="requireViewById(I)Landroid/view/View;" since="28"/>
+		<method name="setCancelMessage(Landroid/os/Message;)V"/>
+		<method name="setCancelable(Z)V"/>
+		<method name="setCanceledOnTouchOutside(Z)V"/>
+		<method name="setContentView(I)V"/>
+		<method name="setContentView(Landroid/view/View;)V"/>
+		<method name="setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="setDismissMessage(Landroid/os/Message;)V"/>
+		<method name="setFeatureDrawable(ILandroid/graphics/drawable/Drawable;)V"/>
+		<method name="setFeatureDrawableAlpha(II)V"/>
+		<method name="setFeatureDrawableResource(II)V"/>
+		<method name="setFeatureDrawableUri(ILandroid/net/Uri;)V"/>
+		<method name="setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)V"/>
+		<method name="setOnDismissListener(Landroid/content/DialogInterface$OnDismissListener;)V"/>
+		<method name="setOnKeyListener(Landroid/content/DialogInterface$OnKeyListener;)V"/>
+		<method name="setOnShowListener(Landroid/content/DialogInterface$OnShowListener;)V" since="8"/>
+		<method name="setOwnerActivity(Landroid/app/Activity;)V"/>
+		<method name="setTitle(I)V"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)V"/>
+		<method name="setVolumeControlStream(I)V"/>
+		<method name="show()V"/>
+		<method name="takeKeyEvents(Z)V"/>
+		<method name="unregisterForContextMenu(Landroid/view/View;)V"/>
+	</class>
+	<class name="android/app/DialogFragment" since="11" deprecated="28">
+		<extends name="android/app/Fragment"/>
+		<implements name="android/content/DialogInterface$OnCancelListener"/>
+		<implements name="android/content/DialogInterface$OnDismissListener"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="dismiss()V" deprecated="29"/>
+		<method name="dismissAllowingStateLoss()V" since="12" deprecated="29"/>
+		<method name="getDialog()Landroid/app/Dialog;" deprecated="29"/>
+		<method name="getShowsDialog()Z" deprecated="29"/>
+		<method name="getTheme()I" deprecated="29"/>
+		<method name="isCancelable()Z" deprecated="29"/>
+		<method name="onCreateDialog(Landroid/os/Bundle;)Landroid/app/Dialog;" deprecated="29"/>
+		<method name="setCancelable(Z)V" deprecated="29"/>
+		<method name="setShowsDialog(Z)V" deprecated="29"/>
+		<method name="setStyle(II)V" deprecated="29"/>
+		<method name="show(Landroid/app/FragmentManager;Ljava/lang/String;)V" deprecated="29"/>
+		<method name="show(Landroid/app/FragmentTransaction;Ljava/lang/String;)I" deprecated="29"/>
+		<field name="STYLE_NORMAL" deprecated="29"/>
+		<field name="STYLE_NO_FRAME" deprecated="29"/>
+		<field name="STYLE_NO_INPUT" deprecated="29"/>
+		<field name="STYLE_NO_TITLE" deprecated="29"/>
+	</class>
+	<class name="android/app/DirectAction" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getLocusId()Landroid/content/LocusId;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/DirectAction$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/DirectAction;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/app/DirectAction$Builder;"/>
+		<method name="setLocusId(Landroid/content/LocusId;)Landroid/app/DirectAction$Builder;"/>
+	</class>
+	<class name="android/app/DownloadManager" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="addCompletedDownload(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;JZ)J" since="12" deprecated="29"/>
+		<method name="addCompletedDownload(Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;JZLandroid/net/Uri;Landroid/net/Uri;)J" since="24" deprecated="29"/>
+		<method name="enqueue(Landroid/app/DownloadManager$Request;)J"/>
+		<method name="getMaxBytesOverMobile(Landroid/content/Context;)Ljava/lang/Long;" since="11"/>
+		<method name="getMimeTypeForDownloadedFile(J)Ljava/lang/String;" since="11"/>
+		<method name="getRecommendedMaxBytesOverMobile(Landroid/content/Context;)Ljava/lang/Long;" since="11"/>
+		<method name="getUriForDownloadedFile(J)Landroid/net/Uri;" since="11"/>
+		<method name="openDownloadedFile(J)Landroid/os/ParcelFileDescriptor;"/>
+		<method name="query(Landroid/app/DownloadManager$Query;)Landroid/database/Cursor;"/>
+		<method name="remove([J)I"/>
+		<field name="ACTION_DOWNLOAD_COMPLETE"/>
+		<field name="ACTION_NOTIFICATION_CLICKED"/>
+		<field name="ACTION_VIEW_DOWNLOADS"/>
+		<field name="COLUMN_BYTES_DOWNLOADED_SO_FAR"/>
+		<field name="COLUMN_DESCRIPTION"/>
+		<field name="COLUMN_ID"/>
+		<field name="COLUMN_LAST_MODIFIED_TIMESTAMP"/>
+		<field name="COLUMN_LOCAL_FILENAME" since="11" deprecated="24"/>
+		<field name="COLUMN_LOCAL_URI"/>
+		<field name="COLUMN_MEDIAPROVIDER_URI"/>
+		<field name="COLUMN_MEDIA_TYPE"/>
+		<field name="COLUMN_REASON"/>
+		<field name="COLUMN_STATUS"/>
+		<field name="COLUMN_TITLE"/>
+		<field name="COLUMN_TOTAL_SIZE_BYTES"/>
+		<field name="COLUMN_URI"/>
+		<field name="ERROR_CANNOT_RESUME"/>
+		<field name="ERROR_DEVICE_NOT_FOUND"/>
+		<field name="ERROR_FILE_ALREADY_EXISTS"/>
+		<field name="ERROR_FILE_ERROR"/>
+		<field name="ERROR_HTTP_DATA_ERROR"/>
+		<field name="ERROR_INSUFFICIENT_SPACE"/>
+		<field name="ERROR_TOO_MANY_REDIRECTS"/>
+		<field name="ERROR_UNHANDLED_HTTP_CODE"/>
+		<field name="ERROR_UNKNOWN"/>
+		<field name="EXTRA_DOWNLOAD_ID"/>
+		<field name="EXTRA_NOTIFICATION_CLICK_DOWNLOAD_IDS" since="11"/>
+		<field name="INTENT_EXTRAS_SORT_BY_SIZE" since="12"/>
+		<field name="PAUSED_QUEUED_FOR_WIFI"/>
+		<field name="PAUSED_UNKNOWN"/>
+		<field name="PAUSED_WAITING_FOR_NETWORK"/>
+		<field name="PAUSED_WAITING_TO_RETRY"/>
+		<field name="STATUS_FAILED"/>
+		<field name="STATUS_PAUSED"/>
+		<field name="STATUS_PENDING"/>
+		<field name="STATUS_RUNNING"/>
+		<field name="STATUS_SUCCESSFUL"/>
+	</class>
+	<class name="android/app/DownloadManager$Query" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="setFilterById([J)Landroid/app/DownloadManager$Query;"/>
+		<method name="setFilterByStatus(I)Landroid/app/DownloadManager$Query;"/>
+	</class>
+	<class name="android/app/DownloadManager$Request" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/net/Uri;)V"/>
+		<method name="addRequestHeader(Ljava/lang/String;Ljava/lang/String;)Landroid/app/DownloadManager$Request;"/>
+		<method name="allowScanningByMediaScanner()V" since="11" deprecated="29"/>
+		<method name="setAllowedNetworkTypes(I)Landroid/app/DownloadManager$Request;"/>
+		<method name="setAllowedOverMetered(Z)Landroid/app/DownloadManager$Request;" since="16"/>
+		<method name="setAllowedOverRoaming(Z)Landroid/app/DownloadManager$Request;"/>
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/app/DownloadManager$Request;"/>
+		<method name="setDestinationInExternalFilesDir(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Landroid/app/DownloadManager$Request;"/>
+		<method name="setDestinationInExternalPublicDir(Ljava/lang/String;Ljava/lang/String;)Landroid/app/DownloadManager$Request;"/>
+		<method name="setDestinationUri(Landroid/net/Uri;)Landroid/app/DownloadManager$Request;"/>
+		<method name="setMimeType(Ljava/lang/String;)Landroid/app/DownloadManager$Request;"/>
+		<method name="setNotificationVisibility(I)Landroid/app/DownloadManager$Request;" since="11"/>
+		<method name="setRequiresCharging(Z)Landroid/app/DownloadManager$Request;" since="24"/>
+		<method name="setRequiresDeviceIdle(Z)Landroid/app/DownloadManager$Request;" since="24"/>
+		<method name="setShowRunningNotification(Z)Landroid/app/DownloadManager$Request;" deprecated="15"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/app/DownloadManager$Request;"/>
+		<method name="setVisibleInDownloadsUi(Z)Landroid/app/DownloadManager$Request;" deprecated="29"/>
+		<field name="NETWORK_MOBILE"/>
+		<field name="NETWORK_WIFI"/>
+		<field name="VISIBILITY_HIDDEN" since="11"/>
+		<field name="VISIBILITY_VISIBLE" since="11"/>
+		<field name="VISIBILITY_VISIBLE_NOTIFY_COMPLETED" since="11"/>
+		<field name="VISIBILITY_VISIBLE_NOTIFY_ONLY_COMPLETION" since="12"/>
+	</class>
+	<class name="android/app/ExpandableListActivity" since="1" deprecated="30">
+		<extends name="android/app/Activity"/>
+		<implements name="android/widget/ExpandableListView$OnChildClickListener"/>
+		<implements name="android/widget/ExpandableListView$OnGroupCollapseListener"/>
+		<implements name="android/widget/ExpandableListView$OnGroupExpandListener"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="getExpandableListAdapter()Landroid/widget/ExpandableListAdapter;" deprecated="30"/>
+		<method name="getExpandableListView()Landroid/widget/ExpandableListView;" deprecated="30"/>
+		<method name="getSelectedId()J" deprecated="30"/>
+		<method name="getSelectedPosition()J" deprecated="30"/>
+		<method name="setListAdapter(Landroid/widget/ExpandableListAdapter;)V" deprecated="30"/>
+		<method name="setSelectedChild(IIZ)Z" deprecated="30"/>
+		<method name="setSelectedGroup(I)V" deprecated="30"/>
+	</class>
+	<class name="android/app/ForegroundServiceStartNotAllowedException" since="31">
+		<extends name="android/app/ServiceStartNotAllowedException"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/Fragment" since="11" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/content/ComponentCallbacks" removed="14"/>
+		<implements name="android/content/ComponentCallbacks2" since="14"/>
+		<implements name="android/view/View$OnCreateContextMenuListener"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29"/>
+		<method name="getActivity()Landroid/app/Activity;" deprecated="29"/>
+		<method name="getAllowEnterTransitionOverlap()Z" since="21" deprecated="29"/>
+		<method name="getAllowReturnTransitionOverlap()Z" since="21" deprecated="29"/>
+		<method name="getArguments()Landroid/os/Bundle;" deprecated="29"/>
+		<method name="getChildFragmentManager()Landroid/app/FragmentManager;" since="17" deprecated="29"/>
+		<method name="getContext()Landroid/content/Context;" since="23" deprecated="29"/>
+		<method name="getEnterTransition()Landroid/transition/Transition;" since="21" deprecated="29"/>
+		<method name="getExitTransition()Landroid/transition/Transition;" since="21" deprecated="29"/>
+		<method name="getFragmentManager()Landroid/app/FragmentManager;" deprecated="29"/>
+		<method name="getHost()Ljava/lang/Object;" since="23" deprecated="29"/>
+		<method name="getId()I" deprecated="29"/>
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;" since="26" deprecated="29"/>
+		<method name="getLoaderManager()Landroid/app/LoaderManager;" deprecated="28"/>
+		<method name="getParentFragment()Landroid/app/Fragment;" since="17" deprecated="29"/>
+		<method name="getReenterTransition()Landroid/transition/Transition;" since="21" deprecated="29"/>
+		<method name="getResources()Landroid/content/res/Resources;" deprecated="29"/>
+		<method name="getRetainInstance()Z" deprecated="29"/>
+		<method name="getReturnTransition()Landroid/transition/Transition;" since="21" deprecated="29"/>
+		<method name="getSharedElementEnterTransition()Landroid/transition/Transition;" since="21" deprecated="29"/>
+		<method name="getSharedElementReturnTransition()Landroid/transition/Transition;" since="21" deprecated="29"/>
+		<method name="getString(I)Ljava/lang/String;" deprecated="29"/>
+		<method name="getString(I[Ljava/lang/Object;)Ljava/lang/String;" deprecated="29"/>
+		<method name="getTag()Ljava/lang/String;" deprecated="29"/>
+		<method name="getTargetFragment()Landroid/app/Fragment;" deprecated="29"/>
+		<method name="getTargetRequestCode()I" deprecated="29"/>
+		<method name="getText(I)Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getUserVisibleHint()Z" since="15" deprecated="29"/>
+		<method name="getView()Landroid/view/View;" deprecated="29"/>
+		<method name="instantiate(Landroid/content/Context;Ljava/lang/String;)Landroid/app/Fragment;" deprecated="29"/>
+		<method name="instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/Fragment;" deprecated="29"/>
+		<method name="isAdded()Z" deprecated="29"/>
+		<method name="isDetached()Z" since="13" deprecated="29"/>
+		<method name="isHidden()Z" deprecated="29"/>
+		<method name="isInLayout()Z" deprecated="29"/>
+		<method name="isRemoving()Z" deprecated="29"/>
+		<method name="isResumed()Z" deprecated="29"/>
+		<method name="isStateSaved()Z" since="26" deprecated="29"/>
+		<method name="isVisible()Z" deprecated="29"/>
+		<method name="onActivityCreated(Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="onActivityResult(IILandroid/content/Intent;)V" deprecated="29"/>
+		<method name="onAttach(Landroid/app/Activity;)V" deprecated="23"/>
+		<method name="onAttach(Landroid/content/Context;)V" since="23" deprecated="29"/>
+		<method name="onAttachFragment(Landroid/app/Fragment;)V" since="24" deprecated="29"/>
+		<method name="onContextItemSelected(Landroid/view/MenuItem;)Z" deprecated="29"/>
+		<method name="onCreate(Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="onCreateAnimator(IZI)Landroid/animation/Animator;" deprecated="29"/>
+		<method name="onCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)V" deprecated="29"/>
+		<method name="onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;" deprecated="29"/>
+		<method name="onDestroy()V" deprecated="29"/>
+		<method name="onDestroyOptionsMenu()V" deprecated="29"/>
+		<method name="onDestroyView()V" deprecated="29"/>
+		<method name="onDetach()V" deprecated="29"/>
+		<method name="onGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;" since="26" deprecated="29"/>
+		<method name="onHiddenChanged(Z)V" deprecated="29"/>
+		<method name="onInflate(Landroid/app/Activity;Landroid/util/AttributeSet;Landroid/os/Bundle;)V" since="12" deprecated="23"/>
+		<method name="onInflate(Landroid/content/Context;Landroid/util/AttributeSet;Landroid/os/Bundle;)V" since="23" deprecated="29"/>
+		<method name="onInflate(Landroid/util/AttributeSet;Landroid/os/Bundle;)V" deprecated="15"/>
+		<method name="onMultiWindowModeChanged(Z)V" since="24" deprecated="26"/>
+		<method name="onMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V" since="26" deprecated="29"/>
+		<method name="onOptionsItemSelected(Landroid/view/MenuItem;)Z" deprecated="29"/>
+		<method name="onOptionsMenuClosed(Landroid/view/Menu;)V" deprecated="29"/>
+		<method name="onPause()V" deprecated="29"/>
+		<method name="onPictureInPictureModeChanged(Z)V" since="24" deprecated="26"/>
+		<method name="onPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V" since="26" deprecated="29"/>
+		<method name="onPrepareOptionsMenu(Landroid/view/Menu;)V" deprecated="29"/>
+		<method name="onRequestPermissionsResult(I[Ljava/lang/String;[I)V" since="23" deprecated="29"/>
+		<method name="onResume()V" deprecated="29"/>
+		<method name="onSaveInstanceState(Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="onStart()V" deprecated="29"/>
+		<method name="onStop()V" deprecated="29"/>
+		<method name="onViewCreated(Landroid/view/View;Landroid/os/Bundle;)V" since="13" deprecated="29"/>
+		<method name="onViewStateRestored(Landroid/os/Bundle;)V" since="17" deprecated="29"/>
+		<method name="postponeEnterTransition()V" since="26" deprecated="29"/>
+		<method name="registerForContextMenu(Landroid/view/View;)V" deprecated="29"/>
+		<method name="requestPermissions([Ljava/lang/String;I)V" since="23" deprecated="29"/>
+		<method name="setAllowEnterTransitionOverlap(Z)V" since="21" deprecated="29"/>
+		<method name="setAllowReturnTransitionOverlap(Z)V" since="21" deprecated="29"/>
+		<method name="setArguments(Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="setEnterSharedElementCallback(Landroid/app/SharedElementCallback;)V" since="21" deprecated="29"/>
+		<method name="setEnterTransition(Landroid/transition/Transition;)V" since="21" deprecated="29"/>
+		<method name="setExitSharedElementCallback(Landroid/app/SharedElementCallback;)V" since="21" deprecated="29"/>
+		<method name="setExitTransition(Landroid/transition/Transition;)V" since="21" deprecated="29"/>
+		<method name="setHasOptionsMenu(Z)V" deprecated="29"/>
+		<method name="setInitialSavedState(Landroid/app/Fragment$SavedState;)V" since="13" deprecated="29"/>
+		<method name="setMenuVisibility(Z)V" since="14" deprecated="29"/>
+		<method name="setReenterTransition(Landroid/transition/Transition;)V" since="21" deprecated="29"/>
+		<method name="setRetainInstance(Z)V" deprecated="29"/>
+		<method name="setReturnTransition(Landroid/transition/Transition;)V" since="21" deprecated="29"/>
+		<method name="setSharedElementEnterTransition(Landroid/transition/Transition;)V" since="21" deprecated="29"/>
+		<method name="setSharedElementReturnTransition(Landroid/transition/Transition;)V" since="21" deprecated="29"/>
+		<method name="setTargetFragment(Landroid/app/Fragment;I)V" deprecated="29"/>
+		<method name="setUserVisibleHint(Z)V" since="15" deprecated="29"/>
+		<method name="shouldShowRequestPermissionRationale(Ljava/lang/String;)Z" since="23" deprecated="29"/>
+		<method name="startActivity(Landroid/content/Intent;)V" deprecated="29"/>
+		<method name="startActivity(Landroid/content/Intent;Landroid/os/Bundle;)V" since="16" deprecated="29"/>
+		<method name="startActivityForResult(Landroid/content/Intent;I)V" deprecated="29"/>
+		<method name="startActivityForResult(Landroid/content/Intent;ILandroid/os/Bundle;)V" since="16" deprecated="29"/>
+		<method name="startIntentSenderForResult(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V" since="24" deprecated="29"/>
+		<method name="startPostponedEnterTransition()V" since="26" deprecated="29"/>
+		<method name="unregisterForContextMenu(Landroid/view/View;)V" deprecated="29"/>
+	</class>
+	<class name="android/app/Fragment$InstantiationException" since="11" deprecated="28">
+		<extends name="android/util/AndroidRuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Exception;)V" deprecated="29"/>
+	</class>
+	<class name="android/app/Fragment$SavedState" since="13" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR" deprecated="29"/>
+	</class>
+	<class name="android/app/FragmentBreadCrumbs" since="11" deprecated="21">
+		<extends name="android/view/ViewGroup"/>
+		<implements name="android/app/FragmentManager$OnBackStackChangedListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="setActivity(Landroid/app/Activity;)V" deprecated="29"/>
+		<method name="setMaxVisible(I)V" deprecated="29"/>
+		<method name="setOnBreadCrumbClickListener(Landroid/app/FragmentBreadCrumbs$OnBreadCrumbClickListener;)V" since="12" deprecated="29"/>
+		<method name="setParentTitle(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/view/View$OnClickListener;)V" deprecated="29"/>
+		<method name="setTitle(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V" deprecated="29"/>
+	</class>
+	<class name="android/app/FragmentBreadCrumbs$OnBreadCrumbClickListener" since="12" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="onBreadCrumbClick(Landroid/app/FragmentManager$BackStackEntry;I)Z" deprecated="29"/>
+	</class>
+	<class name="android/app/FragmentContainer" since="23" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="onFindViewById(I)Landroid/view/View;" deprecated="29"/>
+		<method name="onHasView()Z" deprecated="29"/>
+	</class>
+	<class name="android/app/FragmentController" since="23" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="attachHost(Landroid/app/Fragment;)V" deprecated="29"/>
+		<method name="createController(Landroid/app/FragmentHostCallback;)Landroid/app/FragmentController;" deprecated="29"/>
+		<method name="dispatchActivityCreated()V" deprecated="29"/>
+		<method name="dispatchConfigurationChanged(Landroid/content/res/Configuration;)V" deprecated="29"/>
+		<method name="dispatchContextItemSelected(Landroid/view/MenuItem;)Z" deprecated="29"/>
+		<method name="dispatchCreate()V" deprecated="29"/>
+		<method name="dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z" deprecated="29"/>
+		<method name="dispatchDestroy()V" deprecated="29"/>
+		<method name="dispatchDestroyView()V" deprecated="29"/>
+		<method name="dispatchLowMemory()V" deprecated="29"/>
+		<method name="dispatchMultiWindowModeChanged(Z)V" since="24" deprecated="26"/>
+		<method name="dispatchMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V" since="26" deprecated="29"/>
+		<method name="dispatchOptionsItemSelected(Landroid/view/MenuItem;)Z" deprecated="29"/>
+		<method name="dispatchOptionsMenuClosed(Landroid/view/Menu;)V" deprecated="29"/>
+		<method name="dispatchPause()V" deprecated="29"/>
+		<method name="dispatchPictureInPictureModeChanged(Z)V" since="24" deprecated="26"/>
+		<method name="dispatchPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V" since="26" deprecated="29"/>
+		<method name="dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z" deprecated="29"/>
+		<method name="dispatchResume()V" deprecated="29"/>
+		<method name="dispatchStart()V" deprecated="29"/>
+		<method name="dispatchStop()V" deprecated="29"/>
+		<method name="dispatchTrimMemory(I)V" deprecated="29"/>
+		<method name="doLoaderDestroy()V" deprecated="29"/>
+		<method name="doLoaderStart()V" deprecated="29"/>
+		<method name="doLoaderStop(Z)V" deprecated="29"/>
+		<method name="dumpLoaders(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29"/>
+		<method name="execPendingActions()Z" deprecated="29"/>
+		<method name="findFragmentByWho(Ljava/lang/String;)Landroid/app/Fragment;" deprecated="29"/>
+		<method name="getFragmentManager()Landroid/app/FragmentManager;" deprecated="29"/>
+		<method name="getLoaderManager()Landroid/app/LoaderManager;" deprecated="29"/>
+		<method name="noteStateNotSaved()V" deprecated="29"/>
+		<method name="onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;" deprecated="29"/>
+		<method name="reportLoaderStart()V" deprecated="29"/>
+		<method name="restoreAllState(Landroid/os/Parcelable;Landroid/app/FragmentManagerNonConfig;)V" since="24" deprecated="29"/>
+		<method name="restoreAllState(Landroid/os/Parcelable;Ljava/util/List;)V" deprecated="24"/>
+		<method name="restoreLoaderNonConfig(Landroid/util/ArrayMap;)V" deprecated="29"/>
+		<method name="retainLoaderNonConfig()Landroid/util/ArrayMap;" deprecated="29"/>
+		<method name="retainNestedNonConfig()Landroid/app/FragmentManagerNonConfig;" since="24" deprecated="29"/>
+		<method name="retainNonConfig()Ljava/util/List;" deprecated="24"/>
+		<method name="saveAllState()Landroid/os/Parcelable;" deprecated="29"/>
+	</class>
+	<class name="android/app/FragmentHostCallback" since="23" deprecated="28">
+		<extends name="android/app/FragmentContainer"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/os/Handler;I)V" deprecated="29"/>
+		<method name="onAttachFragment(Landroid/app/Fragment;)V" deprecated="29"/>
+		<method name="onDump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29"/>
+		<method name="onGetHost()Ljava/lang/Object;" deprecated="29"/>
+		<method name="onGetLayoutInflater()Landroid/view/LayoutInflater;" deprecated="29"/>
+		<method name="onGetWindowAnimations()I" deprecated="29"/>
+		<method name="onHasWindowAnimations()Z" deprecated="29"/>
+		<method name="onInvalidateOptionsMenu()V" deprecated="29"/>
+		<method name="onRequestPermissionsFromFragment(Landroid/app/Fragment;[Ljava/lang/String;I)V" deprecated="29"/>
+		<method name="onShouldSaveFragmentState(Landroid/app/Fragment;)Z" deprecated="29"/>
+		<method name="onStartActivityFromFragment(Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;)V" deprecated="29"/>
+		<method name="onStartIntentSenderFromFragment(Landroid/app/Fragment;Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V" since="24" deprecated="29"/>
+		<method name="onUseFragmentManagerInflaterFactory()Z" deprecated="29"/>
+	</class>
+	<class name="android/app/FragmentManager" since="11" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="addOnBackStackChangedListener(Landroid/app/FragmentManager$OnBackStackChangedListener;)V" deprecated="29"/>
+		<method name="beginTransaction()Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29"/>
+		<method name="enableDebugLogging(Z)V" deprecated="29"/>
+		<method name="executePendingTransactions()Z" deprecated="29"/>
+		<method name="findFragmentById(I)Landroid/app/Fragment;" deprecated="29"/>
+		<method name="findFragmentByTag(Ljava/lang/String;)Landroid/app/Fragment;" deprecated="29"/>
+		<method name="getBackStackEntryAt(I)Landroid/app/FragmentManager$BackStackEntry;" deprecated="29"/>
+		<method name="getBackStackEntryCount()I" deprecated="29"/>
+		<method name="getFragment(Landroid/os/Bundle;Ljava/lang/String;)Landroid/app/Fragment;" deprecated="29"/>
+		<method name="getFragments()Ljava/util/List;" since="26" deprecated="29"/>
+		<method name="getPrimaryNavigationFragment()Landroid/app/Fragment;" since="26" deprecated="29"/>
+		<method name="invalidateOptionsMenu()V" since="14" deprecated="29"/>
+		<method name="isDestroyed()Z" since="17" deprecated="29"/>
+		<method name="isStateSaved()Z" since="26" deprecated="29"/>
+		<method name="popBackStack()V" deprecated="29"/>
+		<method name="popBackStack(II)V" deprecated="29"/>
+		<method name="popBackStack(Ljava/lang/String;I)V" deprecated="29"/>
+		<method name="popBackStackImmediate()Z" deprecated="29"/>
+		<method name="popBackStackImmediate(II)Z" deprecated="29"/>
+		<method name="popBackStackImmediate(Ljava/lang/String;I)Z" deprecated="29"/>
+		<method name="putFragment(Landroid/os/Bundle;Ljava/lang/String;Landroid/app/Fragment;)V" deprecated="29"/>
+		<method name="registerFragmentLifecycleCallbacks(Landroid/app/FragmentManager$FragmentLifecycleCallbacks;Z)V" since="26" deprecated="29"/>
+		<method name="removeOnBackStackChangedListener(Landroid/app/FragmentManager$OnBackStackChangedListener;)V" deprecated="29"/>
+		<method name="saveFragmentInstanceState(Landroid/app/Fragment;)Landroid/app/Fragment$SavedState;" since="13" deprecated="29"/>
+		<method name="unregisterFragmentLifecycleCallbacks(Landroid/app/FragmentManager$FragmentLifecycleCallbacks;)V" since="26" deprecated="29"/>
+		<field name="POP_BACK_STACK_INCLUSIVE" deprecated="29"/>
+	</class>
+	<class name="android/app/FragmentManager$BackStackEntry" since="11" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="getBreadCrumbShortTitle()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getBreadCrumbShortTitleRes()I" deprecated="29"/>
+		<method name="getBreadCrumbTitle()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getBreadCrumbTitleRes()I" deprecated="29"/>
+		<method name="getId()I" deprecated="29"/>
+		<method name="getName()Ljava/lang/String;" since="14" deprecated="29"/>
+	</class>
+	<class name="android/app/FragmentManager$FragmentLifecycleCallbacks" since="26" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="onFragmentActivityCreated(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="onFragmentAttached(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/content/Context;)V" deprecated="29"/>
+		<method name="onFragmentCreated(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="onFragmentDestroyed(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29"/>
+		<method name="onFragmentDetached(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29"/>
+		<method name="onFragmentPaused(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29"/>
+		<method name="onFragmentPreAttached(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/content/Context;)V" deprecated="29"/>
+		<method name="onFragmentPreCreated(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="onFragmentResumed(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29"/>
+		<method name="onFragmentSaveInstanceState(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="onFragmentStarted(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29"/>
+		<method name="onFragmentStopped(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29"/>
+		<method name="onFragmentViewCreated(Landroid/app/FragmentManager;Landroid/app/Fragment;Landroid/view/View;Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="onFragmentViewDestroyed(Landroid/app/FragmentManager;Landroid/app/Fragment;)V" deprecated="29"/>
+	</class>
+	<class name="android/app/FragmentManager$OnBackStackChangedListener" since="11" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="onBackStackChanged()V" deprecated="29"/>
+	</class>
+	<class name="android/app/FragmentManagerNonConfig" since="24" deprecated="28">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/app/FragmentTransaction" since="11" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="add(ILandroid/app/Fragment;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="add(ILandroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="add(Landroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="addSharedElement(Landroid/view/View;Ljava/lang/String;)Landroid/app/FragmentTransaction;" since="21" deprecated="29"/>
+		<method name="addToBackStack(Ljava/lang/String;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="attach(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" since="13" deprecated="29"/>
+		<method name="commit()I" deprecated="29"/>
+		<method name="commitAllowingStateLoss()I" deprecated="29"/>
+		<method name="commitNow()V" since="24" deprecated="29"/>
+		<method name="commitNowAllowingStateLoss()V" since="24" deprecated="29"/>
+		<method name="detach(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" since="13" deprecated="29"/>
+		<method name="disallowAddToBackStack()Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="hide(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="isAddToBackStackAllowed()Z" deprecated="29"/>
+		<method name="isEmpty()Z" deprecated="29"/>
+		<method name="remove(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="replace(ILandroid/app/Fragment;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="replace(ILandroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="runOnCommit(Ljava/lang/Runnable;)Landroid/app/FragmentTransaction;" since="26" deprecated="29"/>
+		<method name="setBreadCrumbShortTitle(I)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="setBreadCrumbShortTitle(Ljava/lang/CharSequence;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="setBreadCrumbTitle(I)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="setBreadCrumbTitle(Ljava/lang/CharSequence;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="setCustomAnimations(II)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="setCustomAnimations(IIII)Landroid/app/FragmentTransaction;" since="13" deprecated="29"/>
+		<method name="setPrimaryNavigationFragment(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" since="26" deprecated="29"/>
+		<method name="setReorderingAllowed(Z)Landroid/app/FragmentTransaction;" since="26" deprecated="29"/>
+		<method name="setTransition(I)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="setTransitionStyle(I)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<method name="show(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;" deprecated="29"/>
+		<field name="TRANSIT_ENTER_MASK" deprecated="29"/>
+		<field name="TRANSIT_EXIT_MASK" deprecated="29"/>
+		<field name="TRANSIT_FRAGMENT_CLOSE" deprecated="29"/>
+		<field name="TRANSIT_FRAGMENT_FADE" deprecated="29"/>
+		<field name="TRANSIT_FRAGMENT_OPEN" deprecated="29"/>
+		<field name="TRANSIT_NONE" deprecated="29"/>
+		<field name="TRANSIT_UNSET" deprecated="29"/>
+	</class>
+	<class name="android/app/GameManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getGameMode()I"/>
+		<field name="GAME_MODE_BATTERY"/>
+		<field name="GAME_MODE_PERFORMANCE"/>
+		<field name="GAME_MODE_STANDARD"/>
+		<field name="GAME_MODE_UNSUPPORTED"/>
+	</class>
+	<class name="android/app/Instrumentation" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="acquireLooperManager(Landroid/os/Looper;)Landroid/os/TestLooperManager;" since="26"/>
+		<method name="addMonitor(Landroid/app/Instrumentation$ActivityMonitor;)V"/>
+		<method name="addMonitor(Landroid/content/IntentFilter;Landroid/app/Instrumentation$ActivityResult;Z)Landroid/app/Instrumentation$ActivityMonitor;"/>
+		<method name="addMonitor(Ljava/lang/String;Landroid/app/Instrumentation$ActivityResult;Z)Landroid/app/Instrumentation$ActivityMonitor;"/>
+		<method name="addResults(Landroid/os/Bundle;)V" since="26"/>
+		<method name="callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;)V"/>
+		<method name="callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21"/>
+		<method name="callActivityOnDestroy(Landroid/app/Activity;)V"/>
+		<method name="callActivityOnNewIntent(Landroid/app/Activity;Landroid/content/Intent;)V"/>
+		<method name="callActivityOnPause(Landroid/app/Activity;)V"/>
+		<method name="callActivityOnPictureInPictureRequested(Landroid/app/Activity;)V" since="30"/>
+		<method name="callActivityOnPostCreate(Landroid/app/Activity;Landroid/os/Bundle;)V"/>
+		<method name="callActivityOnPostCreate(Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21"/>
+		<method name="callActivityOnRestart(Landroid/app/Activity;)V"/>
+		<method name="callActivityOnRestoreInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V"/>
+		<method name="callActivityOnRestoreInstanceState(Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21"/>
+		<method name="callActivityOnResume(Landroid/app/Activity;)V"/>
+		<method name="callActivityOnSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V"/>
+		<method name="callActivityOnSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;Landroid/os/PersistableBundle;)V" since="21"/>
+		<method name="callActivityOnStart(Landroid/app/Activity;)V"/>
+		<method name="callActivityOnStop(Landroid/app/Activity;)V"/>
+		<method name="callActivityOnUserLeaving(Landroid/app/Activity;)V" since="3"/>
+		<method name="callApplicationOnCreate(Landroid/app/Application;)V"/>
+		<method name="checkMonitorHit(Landroid/app/Instrumentation$ActivityMonitor;I)Z"/>
+		<method name="endPerformanceSnapshot()V"/>
+		<method name="finish(ILandroid/os/Bundle;)V"/>
+		<method name="getAllocCounts()Landroid/os/Bundle;"/>
+		<method name="getBinderCounts()Landroid/os/Bundle;"/>
+		<method name="getComponentName()Landroid/content/ComponentName;"/>
+		<method name="getContext()Landroid/content/Context;"/>
+		<method name="getProcessName()Ljava/lang/String;" since="26"/>
+		<method name="getTargetContext()Landroid/content/Context;"/>
+		<method name="getUiAutomation()Landroid/app/UiAutomation;" since="18"/>
+		<method name="getUiAutomation(I)Landroid/app/UiAutomation;" since="24"/>
+		<method name="invokeContextMenuAction(Landroid/app/Activity;II)Z"/>
+		<method name="invokeMenuActionSync(Landroid/app/Activity;II)Z"/>
+		<method name="isProfiling()Z"/>
+		<method name="newActivity(Ljava/lang/Class;Landroid/content/Context;Landroid/os/IBinder;Landroid/app/Application;Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/CharSequence;Landroid/app/Activity;Ljava/lang/String;Ljava/lang/Object;)Landroid/app/Activity;"/>
+		<method name="newActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;"/>
+		<method name="newApplication(Ljava/lang/Class;Landroid/content/Context;)Landroid/app/Application;"/>
+		<method name="newApplication(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Context;)Landroid/app/Application;"/>
+		<method name="onCreate(Landroid/os/Bundle;)V"/>
+		<method name="onDestroy()V"/>
+		<method name="onException(Ljava/lang/Object;Ljava/lang/Throwable;)Z"/>
+		<method name="onStart()V"/>
+		<method name="removeMonitor(Landroid/app/Instrumentation$ActivityMonitor;)V"/>
+		<method name="runOnMainSync(Ljava/lang/Runnable;)V"/>
+		<method name="sendCharacterSync(I)V"/>
+		<method name="sendKeyDownUpSync(I)V"/>
+		<method name="sendKeySync(Landroid/view/KeyEvent;)V"/>
+		<method name="sendPointerSync(Landroid/view/MotionEvent;)V"/>
+		<method name="sendStatus(ILandroid/os/Bundle;)V"/>
+		<method name="sendStringSync(Ljava/lang/String;)V"/>
+		<method name="sendTrackballEventSync(Landroid/view/MotionEvent;)V"/>
+		<method name="setAutomaticPerformanceSnapshots()V"/>
+		<method name="setInTouchMode(Z)V"/>
+		<method name="start()V"/>
+		<method name="startActivitySync(Landroid/content/Intent;)Landroid/app/Activity;"/>
+		<method name="startActivitySync(Landroid/content/Intent;Landroid/os/Bundle;)Landroid/app/Activity;" since="28"/>
+		<method name="startAllocCounting()V" deprecated="23"/>
+		<method name="startPerformanceSnapshot()V"/>
+		<method name="startProfiling()V"/>
+		<method name="stopAllocCounting()V" deprecated="23"/>
+		<method name="stopProfiling()V"/>
+		<method name="waitForIdle(Ljava/lang/Runnable;)V"/>
+		<method name="waitForIdleSync()V"/>
+		<method name="waitForMonitor(Landroid/app/Instrumentation$ActivityMonitor;)Landroid/app/Activity;"/>
+		<method name="waitForMonitorWithTimeout(Landroid/app/Instrumentation$ActivityMonitor;J)Landroid/app/Activity;"/>
+		<field name="REPORT_KEY_IDENTIFIER"/>
+		<field name="REPORT_KEY_STREAMRESULT"/>
+	</class>
+	<class name="android/app/Instrumentation$ActivityMonitor" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" since="26"/>
+		<method name="&lt;init>(Landroid/content/IntentFilter;Landroid/app/Instrumentation$ActivityResult;Z)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/app/Instrumentation$ActivityResult;Z)V"/>
+		<method name="getFilter()Landroid/content/IntentFilter;"/>
+		<method name="getHits()I"/>
+		<method name="getLastActivity()Landroid/app/Activity;"/>
+		<method name="getResult()Landroid/app/Instrumentation$ActivityResult;"/>
+		<method name="isBlocking()Z"/>
+		<method name="onStartActivity(Landroid/content/Intent;)Landroid/app/Instrumentation$ActivityResult;" since="26"/>
+		<method name="waitForActivity()Landroid/app/Activity;"/>
+		<method name="waitForActivityWithTimeout(J)Landroid/app/Activity;"/>
+	</class>
+	<class name="android/app/Instrumentation$ActivityResult" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILandroid/content/Intent;)V"/>
+		<method name="getResultCode()I"/>
+		<method name="getResultData()Landroid/content/Intent;"/>
+	</class>
+	<class name="android/app/IntentService" since="3" deprecated="30">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="30"/>
+		<method name="onHandleIntent(Landroid/content/Intent;)V" deprecated="30"/>
+		<method name="setIntentRedelivery(Z)V" since="5" deprecated="30"/>
+	</class>
+	<class name="android/app/KeyguardManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="createConfirmDeviceCredentialIntent(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/content/Intent;" since="21" deprecated="29"/>
+		<method name="exitKeyguardSecurely(Landroid/app/KeyguardManager$OnKeyguardExitResult;)V" deprecated="15"/>
+		<method name="inKeyguardRestrictedInputMode()Z" deprecated="28"/>
+		<method name="isDeviceLocked()Z" since="22"/>
+		<method name="isDeviceSecure()Z" since="23"/>
+		<method name="isKeyguardLocked()Z" since="16"/>
+		<method name="isKeyguardSecure()Z" since="16"/>
+		<method name="newKeyguardLock(Ljava/lang/String;)Landroid/app/KeyguardManager$KeyguardLock;" deprecated="15"/>
+		<method name="requestDismissKeyguard(Landroid/app/Activity;Landroid/app/KeyguardManager$KeyguardDismissCallback;)V" since="26"/>
+	</class>
+	<class name="android/app/KeyguardManager$KeyguardDismissCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onDismissCancelled()V"/>
+		<method name="onDismissError()V"/>
+		<method name="onDismissSucceeded()V"/>
+	</class>
+	<class name="android/app/KeyguardManager$KeyguardLock" since="1" deprecated="15">
+		<extends name="java/lang/Object"/>
+		<method name="disableKeyguard()V" deprecated="29"/>
+		<method name="reenableKeyguard()V" deprecated="29"/>
+	</class>
+	<class name="android/app/KeyguardManager$OnKeyguardExitResult" since="1" deprecated="26">
+		<extends name="java/lang/Object"/>
+		<method name="onKeyguardExitResult(Z)V" deprecated="29"/>
+	</class>
+	<class name="android/app/LauncherActivity" since="1" deprecated="30">
+		<extends name="android/app/ListActivity"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="getTargetIntent()Landroid/content/Intent;" deprecated="30"/>
+		<method name="intentForPosition(I)Landroid/content/Intent;" since="3" deprecated="30"/>
+		<method name="itemForPosition(I)Landroid/app/LauncherActivity$ListItem;" since="4" deprecated="30"/>
+		<method name="makeListItems()Ljava/util/List;" since="3" deprecated="30"/>
+		<method name="onQueryPackageManager(Landroid/content/Intent;)Ljava/util/List;" since="5" deprecated="30"/>
+		<method name="onSetContentView()V" since="5" deprecated="30"/>
+	</class>
+	<class name="android/app/LauncherActivity$IconResizer" since="3" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/app/LauncherActivity;)V" deprecated="30"/>
+		<method name="createIconThumbnail(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;" deprecated="30"/>
+	</class>
+	<class name="android/app/LauncherActivity$ListItem" since="3" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<field name="className" deprecated="30"/>
+		<field name="extras" deprecated="30"/>
+		<field name="icon" deprecated="30"/>
+		<field name="label" deprecated="30"/>
+		<field name="packageName" deprecated="30"/>
+		<field name="resolveInfo" since="4" deprecated="30"/>
+	</class>
+	<class name="android/app/ListActivity" since="1" deprecated="30">
+		<extends name="android/app/Activity"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="getListAdapter()Landroid/widget/ListAdapter;" deprecated="30"/>
+		<method name="getListView()Landroid/widget/ListView;" deprecated="30"/>
+		<method name="getSelectedItemId()J" deprecated="30"/>
+		<method name="getSelectedItemPosition()I" deprecated="30"/>
+		<method name="onListItemClick(Landroid/widget/ListView;Landroid/view/View;IJ)V" deprecated="30"/>
+		<method name="setListAdapter(Landroid/widget/ListAdapter;)V" deprecated="30"/>
+		<method name="setSelection(I)V" deprecated="30"/>
+	</class>
+	<class name="android/app/ListFragment" since="11" deprecated="28">
+		<extends name="android/app/Fragment"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="getListAdapter()Landroid/widget/ListAdapter;" deprecated="29"/>
+		<method name="getListView()Landroid/widget/ListView;" deprecated="29"/>
+		<method name="getSelectedItemId()J" deprecated="29"/>
+		<method name="getSelectedItemPosition()I" deprecated="29"/>
+		<method name="onListItemClick(Landroid/widget/ListView;Landroid/view/View;IJ)V" deprecated="29"/>
+		<method name="setEmptyText(Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setListAdapter(Landroid/widget/ListAdapter;)V" deprecated="29"/>
+		<method name="setListShown(Z)V" deprecated="29"/>
+		<method name="setListShownNoAnimation(Z)V" deprecated="29"/>
+		<method name="setSelection(I)V" deprecated="29"/>
+	</class>
+	<class name="android/app/LoaderManager" since="11" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="destroyLoader(I)V" deprecated="29"/>
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29"/>
+		<method name="enableDebugLogging(Z)V" deprecated="29"/>
+		<method name="getLoader(I)Landroid/content/Loader;" deprecated="29"/>
+		<method name="initLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/content/Loader;" deprecated="29"/>
+		<method name="restartLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/content/Loader;" deprecated="29"/>
+	</class>
+	<class name="android/app/LoaderManager$LoaderCallbacks" since="11" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="onCreateLoader(ILandroid/os/Bundle;)Landroid/content/Loader;" deprecated="29"/>
+		<method name="onLoadFinished(Landroid/content/Loader;Ljava/lang/Object;)V" deprecated="29"/>
+		<method name="onLoaderReset(Landroid/content/Loader;)V" deprecated="29"/>
+	</class>
+	<class name="android/app/LocalActivityManager" since="1" deprecated="13">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/app/Activity;Z)V" deprecated="29"/>
+		<method name="destroyActivity(Ljava/lang/String;Z)Landroid/view/Window;" deprecated="29"/>
+		<method name="dispatchCreate(Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="dispatchDestroy(Z)V" deprecated="29"/>
+		<method name="dispatchPause(Z)V" deprecated="29"/>
+		<method name="dispatchResume()V" deprecated="29"/>
+		<method name="dispatchStop()V" deprecated="29"/>
+		<method name="getActivity(Ljava/lang/String;)Landroid/app/Activity;" deprecated="29"/>
+		<method name="getCurrentActivity()Landroid/app/Activity;" deprecated="29"/>
+		<method name="getCurrentId()Ljava/lang/String;" deprecated="29"/>
+		<method name="removeAllActivities()V" deprecated="29"/>
+		<method name="saveInstanceState()Landroid/os/Bundle;" deprecated="29"/>
+		<method name="startActivity(Ljava/lang/String;Landroid/content/Intent;)Landroid/view/Window;" deprecated="29"/>
+	</class>
+	<class name="android/app/MediaRouteActionProvider" since="16">
+		<extends name="android/view/ActionProvider"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="setExtendedSettingsClickListener(Landroid/view/View$OnClickListener;)V"/>
+		<method name="setRouteTypes(I)V"/>
+	</class>
+	<class name="android/app/MediaRouteButton" since="16">
+		<extends name="android/view/View"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getRouteTypes()I"/>
+		<method name="setExtendedSettingsClickListener(Landroid/view/View$OnClickListener;)V"/>
+		<method name="setRouteTypes(I)V"/>
+		<method name="showDialog()V"/>
+	</class>
+	<class name="android/app/NativeActivity" since="9">
+		<extends name="android/app/Activity"/>
+		<implements name="android/view/InputQueue$Callback"/>
+		<implements name="android/view/SurfaceHolder$Callback2"/>
+		<implements name="android/view/ViewTreeObserver$OnGlobalLayoutListener"/>
+		<method name="&lt;init>()V"/>
+		<field name="META_DATA_FUNC_NAME"/>
+		<field name="META_DATA_LIB_NAME"/>
+	</class>
+	<class name="android/app/Notification" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(ILjava/lang/CharSequence;J)V" deprecated="15"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="clone()Landroid/app/Notification;" since="9"/>
+		<method name="findRemoteInputActionPair(Z)Landroid/util/Pair;" since="30"/>
+		<method name="getAllowSystemGeneratedContextualActions()Z" since="29"/>
+		<method name="getBadgeIconType()I" since="26"/>
+		<method name="getBubbleMetadata()Landroid/app/Notification$BubbleMetadata;" since="29"/>
+		<method name="getChannelId()Ljava/lang/String;" since="26"/>
+		<method name="getContextualActions()Ljava/util/List;" since="30"/>
+		<method name="getGroup()Ljava/lang/String;" since="20"/>
+		<method name="getGroupAlertBehavior()I" since="26"/>
+		<method name="getLargeIcon()Landroid/graphics/drawable/Icon;" since="23"/>
+		<method name="getLocusId()Landroid/content/LocusId;" since="29"/>
+		<method name="getSettingsText()Ljava/lang/CharSequence;" since="26"/>
+		<method name="getShortcutId()Ljava/lang/String;" since="26"/>
+		<method name="getSmallIcon()Landroid/graphics/drawable/Icon;" since="23"/>
+		<method name="getSortKey()Ljava/lang/String;" since="20"/>
+		<method name="getTimeoutAfter()J" since="26"/>
+		<method name="hasImage()Z" since="31"/>
+		<method name="setLatestEventInfo(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V" deprecated="15" removed="23"/>
+		<field name="AUDIO_ATTRIBUTES_DEFAULT" since="21"/>
+		<field name="BADGE_ICON_LARGE" since="26"/>
+		<field name="BADGE_ICON_NONE" since="26"/>
+		<field name="BADGE_ICON_SMALL" since="26"/>
+		<field name="CATEGORY_ALARM" since="21"/>
+		<field name="CATEGORY_CALL" since="21"/>
+		<field name="CATEGORY_EMAIL" since="21"/>
+		<field name="CATEGORY_ERROR" since="21"/>
+		<field name="CATEGORY_EVENT" since="21"/>
+		<field name="CATEGORY_LOCATION_SHARING" since="31"/>
+		<field name="CATEGORY_MESSAGE" since="21"/>
+		<field name="CATEGORY_MISSED_CALL" since="31"/>
+		<field name="CATEGORY_NAVIGATION" since="28"/>
+		<field name="CATEGORY_PROGRESS" since="21"/>
+		<field name="CATEGORY_PROMO" since="21"/>
+		<field name="CATEGORY_RECOMMENDATION" since="21"/>
+		<field name="CATEGORY_REMINDER" since="23"/>
+		<field name="CATEGORY_SERVICE" since="21"/>
+		<field name="CATEGORY_SOCIAL" since="21"/>
+		<field name="CATEGORY_STATUS" since="21"/>
+		<field name="CATEGORY_STOPWATCH" since="31"/>
+		<field name="CATEGORY_SYSTEM" since="21"/>
+		<field name="CATEGORY_TRANSPORT" since="21"/>
+		<field name="CATEGORY_WORKOUT" since="31"/>
+		<field name="COLOR_DEFAULT" since="21"/>
+		<field name="CREATOR"/>
+		<field name="DEFAULT_ALL"/>
+		<field name="DEFAULT_LIGHTS"/>
+		<field name="DEFAULT_SOUND"/>
+		<field name="DEFAULT_VIBRATE"/>
+		<field name="EXTRA_ANSWER_COLOR" since="31"/>
+		<field name="EXTRA_ANSWER_INTENT" since="31"/>
+		<field name="EXTRA_AUDIO_CONTENTS_URI" since="26"/>
+		<field name="EXTRA_BACKGROUND_IMAGE_URI" since="21"/>
+		<field name="EXTRA_BIG_TEXT" since="21"/>
+		<field name="EXTRA_CALL_IS_VIDEO" since="31"/>
+		<field name="EXTRA_CALL_PERSON" since="31"/>
+		<field name="EXTRA_CHANNEL_GROUP_ID" since="28"/>
+		<field name="EXTRA_CHANNEL_ID" since="26"/>
+		<field name="EXTRA_CHRONOMETER_COUNT_DOWN" since="24"/>
+		<field name="EXTRA_COLORIZED" since="26"/>
+		<field name="EXTRA_COMPACT_ACTIONS" since="21"/>
+		<field name="EXTRA_CONVERSATION_TITLE" since="24"/>
+		<field name="EXTRA_DECLINE_COLOR" since="31"/>
+		<field name="EXTRA_DECLINE_INTENT" since="31"/>
+		<field name="EXTRA_HANG_UP_INTENT" since="31"/>
+		<field name="EXTRA_HISTORIC_MESSAGES" since="26"/>
+		<field name="EXTRA_INFO_TEXT" since="19"/>
+		<field name="EXTRA_IS_GROUP_CONVERSATION" since="28"/>
+		<field name="EXTRA_LARGE_ICON" since="19" deprecated="26"/>
+		<field name="EXTRA_LARGE_ICON_BIG" since="19"/>
+		<field name="EXTRA_MEDIA_SESSION" since="21"/>
+		<field name="EXTRA_MESSAGES" since="24"/>
+		<field name="EXTRA_MESSAGING_PERSON" since="28"/>
+		<field name="EXTRA_NOTIFICATION_ID" since="26"/>
+		<field name="EXTRA_NOTIFICATION_TAG" since="26"/>
+		<field name="EXTRA_PEOPLE" since="19" deprecated="28"/>
+		<field name="EXTRA_PEOPLE_LIST" since="28"/>
+		<field name="EXTRA_PICTURE" since="19"/>
+		<field name="EXTRA_PICTURE_CONTENT_DESCRIPTION" since="31"/>
+		<field name="EXTRA_PICTURE_ICON" since="31"/>
+		<field name="EXTRA_PROGRESS" since="19"/>
+		<field name="EXTRA_PROGRESS_INDETERMINATE" since="19"/>
+		<field name="EXTRA_PROGRESS_MAX" since="19"/>
+		<field name="EXTRA_REMOTE_INPUT_DRAFT" since="28"/>
+		<field name="EXTRA_REMOTE_INPUT_HISTORY" since="24"/>
+		<field name="EXTRA_SELF_DISPLAY_NAME" since="24" deprecated="28"/>
+		<field name="EXTRA_SHOW_BIG_PICTURE_WHEN_COLLAPSED" since="31"/>
+		<field name="EXTRA_SHOW_CHRONOMETER" since="19"/>
+		<field name="EXTRA_SHOW_WHEN" since="19"/>
+		<field name="EXTRA_SMALL_ICON" since="19" deprecated="26"/>
+		<field name="EXTRA_SUB_TEXT" since="19"/>
+		<field name="EXTRA_SUMMARY_TEXT" since="19"/>
+		<field name="EXTRA_TEMPLATE" since="21"/>
+		<field name="EXTRA_TEXT" since="19"/>
+		<field name="EXTRA_TEXT_LINES" since="19"/>
+		<field name="EXTRA_TITLE" since="19"/>
+		<field name="EXTRA_TITLE_BIG" since="19"/>
+		<field name="EXTRA_VERIFICATION_ICON" since="31"/>
+		<field name="EXTRA_VERIFICATION_TEXT" since="31"/>
+		<field name="FLAG_AUTO_CANCEL"/>
+		<field name="FLAG_BUBBLE" since="29"/>
+		<field name="FLAG_FOREGROUND_SERVICE" since="5"/>
+		<field name="FLAG_GROUP_SUMMARY" since="20"/>
+		<field name="FLAG_HIGH_PRIORITY" since="11" deprecated="16"/>
+		<field name="FLAG_INSISTENT"/>
+		<field name="FLAG_LOCAL_ONLY" since="20"/>
+		<field name="FLAG_NO_CLEAR"/>
+		<field name="FLAG_ONGOING_EVENT"/>
+		<field name="FLAG_ONLY_ALERT_ONCE"/>
+		<field name="FLAG_SHOW_LIGHTS" deprecated="26"/>
+		<field name="FOREGROUND_SERVICE_DEFAULT" since="31"/>
+		<field name="FOREGROUND_SERVICE_DEFERRED" since="31"/>
+		<field name="FOREGROUND_SERVICE_IMMEDIATE" since="31"/>
+		<field name="GROUP_ALERT_ALL" since="26"/>
+		<field name="GROUP_ALERT_CHILDREN" since="26"/>
+		<field name="GROUP_ALERT_SUMMARY" since="26"/>
+		<field name="INTENT_CATEGORY_NOTIFICATION_PREFERENCES" since="21"/>
+		<field name="PRIORITY_DEFAULT" since="16" deprecated="26"/>
+		<field name="PRIORITY_HIGH" since="16" deprecated="26"/>
+		<field name="PRIORITY_LOW" since="16" deprecated="26"/>
+		<field name="PRIORITY_MAX" since="16" deprecated="26"/>
+		<field name="PRIORITY_MIN" since="16" deprecated="26"/>
+		<field name="STREAM_DEFAULT" deprecated="21"/>
+		<field name="VISIBILITY_PRIVATE" since="21"/>
+		<field name="VISIBILITY_PUBLIC" since="21"/>
+		<field name="VISIBILITY_SECRET" since="21"/>
+		<field name="actions" since="19"/>
+		<field name="audioAttributes" since="21" deprecated="26"/>
+		<field name="audioStreamType" deprecated="21"/>
+		<field name="bigContentView" since="16" deprecated="24"/>
+		<field name="category" since="21"/>
+		<field name="color" since="21"/>
+		<field name="contentIntent"/>
+		<field name="contentView" deprecated="24"/>
+		<field name="defaults" deprecated="26"/>
+		<field name="deleteIntent"/>
+		<field name="extras" since="19"/>
+		<field name="flags"/>
+		<field name="fullScreenIntent" since="9"/>
+		<field name="headsUpContentView" since="21" deprecated="24"/>
+		<field name="icon" deprecated="23"/>
+		<field name="iconLevel"/>
+		<field name="largeIcon" since="11" deprecated="23"/>
+		<field name="ledARGB" deprecated="26"/>
+		<field name="ledOffMS" deprecated="26"/>
+		<field name="ledOnMS" deprecated="26"/>
+		<field name="number" deprecated="24"/>
+		<field name="priority" since="16" deprecated="26"/>
+		<field name="publicVersion" since="21"/>
+		<field name="sound" deprecated="26"/>
+		<field name="tickerText"/>
+		<field name="tickerView" since="11" deprecated="21"/>
+		<field name="vibrate" deprecated="26"/>
+		<field name="visibility" since="21"/>
+		<field name="when"/>
+	</class>
+	<class name="android/app/Notification$Action" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)V" deprecated="23"/>
+		<method name="clone()Landroid/app/Notification$Action;"/>
+		<method name="getAllowGeneratedReplies()Z" since="24"/>
+		<method name="getDataOnlyRemoteInputs()[Landroid/app/RemoteInput;" since="26"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="20"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" since="23"/>
+		<method name="getRemoteInputs()[Landroid/app/RemoteInput;" since="20"/>
+		<method name="getSemanticAction()I" since="28"/>
+		<method name="isAuthenticationRequired()Z" since="31"/>
+		<method name="isContextual()Z" since="29"/>
+		<field name="CREATOR"/>
+		<field name="SEMANTIC_ACTION_ARCHIVE" since="28"/>
+		<field name="SEMANTIC_ACTION_CALL" since="28"/>
+		<field name="SEMANTIC_ACTION_DELETE" since="28"/>
+		<field name="SEMANTIC_ACTION_MARK_AS_READ" since="28"/>
+		<field name="SEMANTIC_ACTION_MARK_AS_UNREAD" since="28"/>
+		<field name="SEMANTIC_ACTION_MUTE" since="28"/>
+		<field name="SEMANTIC_ACTION_NONE" since="28"/>
+		<field name="SEMANTIC_ACTION_REPLY" since="28"/>
+		<field name="SEMANTIC_ACTION_THUMBS_DOWN" since="28"/>
+		<field name="SEMANTIC_ACTION_THUMBS_UP" since="28"/>
+		<field name="SEMANTIC_ACTION_UNMUTE" since="28"/>
+		<field name="actionIntent"/>
+		<field name="icon" deprecated="23"/>
+		<field name="title"/>
+	</class>
+	<class name="android/app/Notification$Action$Builder" since="20">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)V" deprecated="23"/>
+		<method name="&lt;init>(Landroid/app/Notification$Action;)V"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V" since="23"/>
+		<method name="addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Action$Builder;"/>
+		<method name="addRemoteInput(Landroid/app/RemoteInput;)Landroid/app/Notification$Action$Builder;"/>
+		<method name="build()Landroid/app/Notification$Action;"/>
+		<method name="extend(Landroid/app/Notification$Action$Extender;)Landroid/app/Notification$Action$Builder;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="setAllowGeneratedReplies(Z)Landroid/app/Notification$Action$Builder;" since="24"/>
+		<method name="setAuthenticationRequired(Z)Landroid/app/Notification$Action$Builder;" since="31"/>
+		<method name="setContextual(Z)Landroid/app/Notification$Action$Builder;" since="29"/>
+		<method name="setSemanticAction(I)Landroid/app/Notification$Action$Builder;" since="28"/>
+	</class>
+	<class name="android/app/Notification$Action$Extender" since="20">
+		<extends name="java/lang/Object"/>
+		<method name="extend(Landroid/app/Notification$Action$Builder;)Landroid/app/Notification$Action$Builder;"/>
+	</class>
+	<class name="android/app/Notification$Action$WearableExtender" since="20">
+		<extends name="java/lang/Object"/>
+		<implements name="android/app/Notification$Action$Extender"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/app/Notification$Action;)V"/>
+		<method name="clone()Landroid/app/Notification$Action$WearableExtender;"/>
+		<method name="getCancelLabel()Ljava/lang/CharSequence;" since="22" deprecated="28"/>
+		<method name="getConfirmLabel()Ljava/lang/CharSequence;" since="22" deprecated="28"/>
+		<method name="getHintDisplayActionInline()Z" since="25"/>
+		<method name="getHintLaunchesActivity()Z" since="24"/>
+		<method name="getInProgressLabel()Ljava/lang/CharSequence;" since="22" deprecated="28"/>
+		<method name="isAvailableOffline()Z"/>
+		<method name="setAvailableOffline(Z)Landroid/app/Notification$Action$WearableExtender;"/>
+		<method name="setCancelLabel(Ljava/lang/CharSequence;)Landroid/app/Notification$Action$WearableExtender;" since="22" deprecated="28"/>
+		<method name="setConfirmLabel(Ljava/lang/CharSequence;)Landroid/app/Notification$Action$WearableExtender;" since="22" deprecated="28"/>
+		<method name="setHintDisplayActionInline(Z)Landroid/app/Notification$Action$WearableExtender;" since="25"/>
+		<method name="setHintLaunchesActivity(Z)Landroid/app/Notification$Action$WearableExtender;" since="24"/>
+		<method name="setInProgressLabel(Ljava/lang/CharSequence;)Landroid/app/Notification$Action$WearableExtender;" since="22" deprecated="28"/>
+	</class>
+	<class name="android/app/Notification$BigPictureStyle" since="16">
+		<extends name="android/app/Notification$Style"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/app/Notification$Builder;)V" deprecated="24"/>
+		<method name="bigLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;"/>
+		<method name="bigLargeIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$BigPictureStyle;" since="23"/>
+		<method name="bigPicture(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;"/>
+		<method name="bigPicture(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$BigPictureStyle;" since="31"/>
+		<method name="setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;"/>
+		<method name="setContentDescription(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;" since="31"/>
+		<method name="setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;"/>
+		<method name="showBigPictureWhenCollapsed(Z)Landroid/app/Notification$BigPictureStyle;" since="31"/>
+	</class>
+	<class name="android/app/Notification$BigTextStyle" since="16">
+		<extends name="android/app/Notification$Style"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/app/Notification$Builder;)V" deprecated="24"/>
+		<method name="bigText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;"/>
+		<method name="setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;"/>
+		<method name="setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;"/>
+	</class>
+	<class name="android/app/Notification$BubbleMetadata" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAutoExpandBubble()Z"/>
+		<method name="getDeleteIntent()Landroid/app/PendingIntent;"/>
+		<method name="getDesiredHeight()I"/>
+		<method name="getDesiredHeightResId()I"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getIntent()Landroid/app/PendingIntent;"/>
+		<method name="getShortcutId()Ljava/lang/String;" since="30"/>
+		<method name="isBubbleSuppressable()Z" since="31"/>
+		<method name="isBubbleSuppressed()Z" since="31"/>
+		<method name="isNotificationSuppressed()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/Notification$BubbleMetadata$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="&lt;init>(Landroid/app/PendingIntent;Landroid/graphics/drawable/Icon;)V" since="30"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" since="30"/>
+		<method name="build()Landroid/app/Notification$BubbleMetadata;"/>
+		<method name="setAutoExpandBubble(Z)Landroid/app/Notification$BubbleMetadata$Builder;"/>
+		<method name="setDeleteIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$BubbleMetadata$Builder;"/>
+		<method name="setDesiredHeight(I)Landroid/app/Notification$BubbleMetadata$Builder;"/>
+		<method name="setDesiredHeightResId(I)Landroid/app/Notification$BubbleMetadata$Builder;"/>
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$BubbleMetadata$Builder;"/>
+		<method name="setIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$BubbleMetadata$Builder;"/>
+		<method name="setSuppressNotification(Z)Landroid/app/Notification$BubbleMetadata$Builder;"/>
+		<method name="setSuppressableBubble(Z)Landroid/app/Notification$BubbleMetadata$Builder;" since="31"/>
+	</class>
+	<class name="android/app/Notification$Builder" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="26"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;)V" since="26"/>
+		<method name="addAction(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;" since="16" deprecated="23"/>
+		<method name="addAction(Landroid/app/Notification$Action;)Landroid/app/Notification$Builder;" since="20"/>
+		<method name="addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Builder;" since="20"/>
+		<method name="addPerson(Landroid/app/Person;)Landroid/app/Notification$Builder;" since="28"/>
+		<method name="addPerson(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="21" deprecated="28"/>
+		<method name="build()Landroid/app/Notification;" since="16"/>
+		<method name="createBigContentView()Landroid/widget/RemoteViews;" since="24"/>
+		<method name="createContentView()Landroid/widget/RemoteViews;" since="24"/>
+		<method name="createHeadsUpContentView()Landroid/widget/RemoteViews;" since="24"/>
+		<method name="extend(Landroid/app/Notification$Extender;)Landroid/app/Notification$Builder;" since="20"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="20"/>
+		<method name="getNotification()Landroid/app/Notification;" deprecated="16"/>
+		<method name="getStyle()Landroid/app/Notification$Style;" since="28"/>
+		<method name="recoverBuilder(Landroid/content/Context;Landroid/app/Notification;)Landroid/app/Notification$Builder;" since="24"/>
+		<method name="setActions([Landroid/app/Notification$Action;)Landroid/app/Notification$Builder;" since="24"/>
+		<method name="setAllowSystemGeneratedContextualActions(Z)Landroid/app/Notification$Builder;" since="29"/>
+		<method name="setAutoCancel(Z)Landroid/app/Notification$Builder;"/>
+		<method name="setBadgeIconType(I)Landroid/app/Notification$Builder;" since="26"/>
+		<method name="setBubbleMetadata(Landroid/app/Notification$BubbleMetadata;)Landroid/app/Notification$Builder;" since="29"/>
+		<method name="setCategory(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="21"/>
+		<method name="setChannelId(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="26"/>
+		<method name="setChronometerCountDown(Z)Landroid/app/Notification$Builder;" since="24"/>
+		<method name="setColor(I)Landroid/app/Notification$Builder;" since="21"/>
+		<method name="setColorized(Z)Landroid/app/Notification$Builder;" since="26"/>
+		<method name="setContent(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;" deprecated="24"/>
+		<method name="setContentInfo(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" deprecated="24"/>
+		<method name="setContentIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;"/>
+		<method name="setContentText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;"/>
+		<method name="setContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;"/>
+		<method name="setCustomBigContentView(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;" since="24"/>
+		<method name="setCustomContentView(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;" since="24"/>
+		<method name="setCustomHeadsUpContentView(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;" since="24"/>
+		<method name="setDefaults(I)Landroid/app/Notification$Builder;" deprecated="26"/>
+		<method name="setDeleteIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/app/Notification$Builder;" since="19"/>
+		<method name="setFlag(IZ)Landroid/app/Notification$Builder;" since="30"/>
+		<method name="setForegroundServiceBehavior(I)Landroid/app/Notification$Builder;" since="31"/>
+		<method name="setFullScreenIntent(Landroid/app/PendingIntent;Z)Landroid/app/Notification$Builder;"/>
+		<method name="setGroup(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="20"/>
+		<method name="setGroupAlertBehavior(I)Landroid/app/Notification$Builder;" since="26"/>
+		<method name="setGroupSummary(Z)Landroid/app/Notification$Builder;" since="20"/>
+		<method name="setLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$Builder;"/>
+		<method name="setLargeIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$Builder;" since="23"/>
+		<method name="setLights(III)Landroid/app/Notification$Builder;" deprecated="26"/>
+		<method name="setLocalOnly(Z)Landroid/app/Notification$Builder;" since="20"/>
+		<method name="setLocusId(Landroid/content/LocusId;)Landroid/app/Notification$Builder;" since="29"/>
+		<method name="setNumber(I)Landroid/app/Notification$Builder;" deprecated="24"/>
+		<method name="setOngoing(Z)Landroid/app/Notification$Builder;"/>
+		<method name="setOnlyAlertOnce(Z)Landroid/app/Notification$Builder;"/>
+		<method name="setPriority(I)Landroid/app/Notification$Builder;" since="16" deprecated="26"/>
+		<method name="setProgress(IIZ)Landroid/app/Notification$Builder;" since="14"/>
+		<method name="setPublicVersion(Landroid/app/Notification;)Landroid/app/Notification$Builder;" since="21"/>
+		<method name="setRemoteInputHistory([Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" since="24"/>
+		<method name="setSettingsText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" since="26"/>
+		<method name="setShortcutId(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="26"/>
+		<method name="setShowWhen(Z)Landroid/app/Notification$Builder;" since="17"/>
+		<method name="setSmallIcon(I)Landroid/app/Notification$Builder;"/>
+		<method name="setSmallIcon(II)Landroid/app/Notification$Builder;"/>
+		<method name="setSmallIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$Builder;" since="23"/>
+		<method name="setSortKey(Ljava/lang/String;)Landroid/app/Notification$Builder;" since="20"/>
+		<method name="setSound(Landroid/net/Uri;)Landroid/app/Notification$Builder;" deprecated="26"/>
+		<method name="setSound(Landroid/net/Uri;I)Landroid/app/Notification$Builder;" deprecated="21"/>
+		<method name="setSound(Landroid/net/Uri;Landroid/media/AudioAttributes;)Landroid/app/Notification$Builder;" since="21" deprecated="26"/>
+		<method name="setStyle(Landroid/app/Notification$Style;)Landroid/app/Notification$Builder;" since="16"/>
+		<method name="setSubText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;" since="16"/>
+		<method name="setTicker(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;"/>
+		<method name="setTicker(Ljava/lang/CharSequence;Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;" deprecated="21"/>
+		<method name="setTimeoutAfter(J)Landroid/app/Notification$Builder;" since="26"/>
+		<method name="setUsesChronometer(Z)Landroid/app/Notification$Builder;" since="16"/>
+		<method name="setVibrate([J)Landroid/app/Notification$Builder;" deprecated="26"/>
+		<method name="setVisibility(I)Landroid/app/Notification$Builder;" since="21"/>
+		<method name="setWhen(J)Landroid/app/Notification$Builder;"/>
+	</class>
+	<class name="android/app/Notification$CallStyle" since="31">
+		<extends name="android/app/Notification$Style"/>
+		<method name="forIncomingCall(Landroid/app/Person;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)Landroid/app/Notification$CallStyle;"/>
+		<method name="forOngoingCall(Landroid/app/Person;Landroid/app/PendingIntent;)Landroid/app/Notification$CallStyle;"/>
+		<method name="forScreeningCall(Landroid/app/Person;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)Landroid/app/Notification$CallStyle;"/>
+		<method name="setAnswerButtonColorHint(I)Landroid/app/Notification$CallStyle;"/>
+		<method name="setDeclineButtonColorHint(I)Landroid/app/Notification$CallStyle;"/>
+		<method name="setIsVideo(Z)Landroid/app/Notification$CallStyle;"/>
+		<method name="setVerificationIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$CallStyle;"/>
+		<method name="setVerificationText(Ljava/lang/CharSequence;)Landroid/app/Notification$CallStyle;"/>
+	</class>
+	<class name="android/app/Notification$CarExtender" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/app/Notification$Extender"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/app/Notification;)V"/>
+		<method name="getColor()I"/>
+		<method name="getLargeIcon()Landroid/graphics/Bitmap;"/>
+		<method name="getUnreadConversation()Landroid/app/Notification$CarExtender$UnreadConversation;"/>
+		<method name="setColor(I)Landroid/app/Notification$CarExtender;"/>
+		<method name="setLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$CarExtender;"/>
+		<method name="setUnreadConversation(Landroid/app/Notification$CarExtender$UnreadConversation;)Landroid/app/Notification$CarExtender;"/>
+	</class>
+	<class name="android/app/Notification$CarExtender$Builder" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="addMessage(Ljava/lang/String;)Landroid/app/Notification$CarExtender$Builder;"/>
+		<method name="build()Landroid/app/Notification$CarExtender$UnreadConversation;"/>
+		<method name="setLatestTimestamp(J)Landroid/app/Notification$CarExtender$Builder;"/>
+		<method name="setReadPendingIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$CarExtender$Builder;"/>
+		<method name="setReplyAction(Landroid/app/PendingIntent;Landroid/app/RemoteInput;)Landroid/app/Notification$CarExtender$Builder;"/>
+	</class>
+	<class name="android/app/Notification$CarExtender$UnreadConversation" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getLatestTimestamp()J"/>
+		<method name="getMessages()[Ljava/lang/String;"/>
+		<method name="getParticipant()Ljava/lang/String;"/>
+		<method name="getParticipants()[Ljava/lang/String;"/>
+		<method name="getReadPendingIntent()Landroid/app/PendingIntent;"/>
+		<method name="getRemoteInput()Landroid/app/RemoteInput;"/>
+		<method name="getReplyPendingIntent()Landroid/app/PendingIntent;"/>
+	</class>
+	<class name="android/app/Notification$DecoratedCustomViewStyle" since="24">
+		<extends name="android/app/Notification$Style"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/app/Notification$DecoratedMediaCustomViewStyle" since="24">
+		<extends name="android/app/Notification$MediaStyle"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/app/Notification$Extender" since="20">
+		<extends name="java/lang/Object"/>
+		<method name="extend(Landroid/app/Notification$Builder;)Landroid/app/Notification$Builder;"/>
+	</class>
+	<class name="android/app/Notification$InboxStyle" since="16">
+		<extends name="android/app/Notification$Style"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/app/Notification$Builder;)V" deprecated="24"/>
+		<method name="addLine(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;"/>
+		<method name="setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;"/>
+		<method name="setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;"/>
+	</class>
+	<class name="android/app/Notification$MediaStyle" since="21">
+		<extends name="android/app/Notification$Style"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/app/Notification$Builder;)V" deprecated="24"/>
+		<method name="setMediaSession(Landroid/media/session/MediaSession$Token;)Landroid/app/Notification$MediaStyle;"/>
+		<method name="setShowActionsInCompactView([I)Landroid/app/Notification$MediaStyle;"/>
+	</class>
+	<class name="android/app/Notification$MessagingStyle" since="24">
+		<extends name="android/app/Notification$Style"/>
+		<method name="&lt;init>(Landroid/app/Person;)V" since="28"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V" deprecated="28"/>
+		<method name="addHistoricMessage(Landroid/app/Notification$MessagingStyle$Message;)Landroid/app/Notification$MessagingStyle;" since="26"/>
+		<method name="addMessage(Landroid/app/Notification$MessagingStyle$Message;)Landroid/app/Notification$MessagingStyle;"/>
+		<method name="addMessage(Ljava/lang/CharSequence;JLandroid/app/Person;)Landroid/app/Notification$MessagingStyle;" since="28"/>
+		<method name="addMessage(Ljava/lang/CharSequence;JLjava/lang/CharSequence;)Landroid/app/Notification$MessagingStyle;" deprecated="28"/>
+		<method name="getConversationTitle()Ljava/lang/CharSequence;"/>
+		<method name="getHistoricMessages()Ljava/util/List;" since="26"/>
+		<method name="getMessages()Ljava/util/List;"/>
+		<method name="getUser()Landroid/app/Person;" since="28"/>
+		<method name="getUserDisplayName()Ljava/lang/CharSequence;" deprecated="28"/>
+		<method name="isGroupConversation()Z" since="28"/>
+		<method name="setConversationTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$MessagingStyle;"/>
+		<method name="setGroupConversation(Z)Landroid/app/Notification$MessagingStyle;" since="28"/>
+		<field name="MAXIMUM_RETAINED_MESSAGES"/>
+	</class>
+	<class name="android/app/Notification$MessagingStyle$Message" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;JLandroid/app/Person;)V" since="28"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;JLjava/lang/CharSequence;)V" deprecated="28"/>
+		<method name="getDataMimeType()Ljava/lang/String;"/>
+		<method name="getDataUri()Landroid/net/Uri;"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="26"/>
+		<method name="getMessagesFromBundleArray([Landroid/os/Parcelable;)Ljava/util/List;" since="30"/>
+		<method name="getSender()Ljava/lang/CharSequence;" deprecated="28"/>
+		<method name="getSenderPerson()Landroid/app/Person;" since="28"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<method name="getTimestamp()J"/>
+		<method name="setData(Ljava/lang/String;Landroid/net/Uri;)Landroid/app/Notification$MessagingStyle$Message;"/>
+	</class>
+	<class name="android/app/Notification$Style" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/app/Notification;"/>
+		<method name="checkBuilder()V"/>
+		<method name="getStandardView(I)Landroid/widget/RemoteViews;"/>
+		<method name="internalSetBigContentTitle(Ljava/lang/CharSequence;)V"/>
+		<method name="internalSetSummaryText(Ljava/lang/CharSequence;)V"/>
+		<method name="setBuilder(Landroid/app/Notification$Builder;)V"/>
+		<field name="mBuilder"/>
+	</class>
+	<class name="android/app/Notification$WearableExtender" since="20">
+		<extends name="java/lang/Object"/>
+		<implements name="android/app/Notification$Extender"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/app/Notification;)V"/>
+		<method name="addAction(Landroid/app/Notification$Action;)Landroid/app/Notification$WearableExtender;"/>
+		<method name="addActions(Ljava/util/List;)Landroid/app/Notification$WearableExtender;"/>
+		<method name="addPage(Landroid/app/Notification;)Landroid/app/Notification$WearableExtender;" deprecated="29"/>
+		<method name="addPages(Ljava/util/List;)Landroid/app/Notification$WearableExtender;" deprecated="29"/>
+		<method name="clearActions()Landroid/app/Notification$WearableExtender;"/>
+		<method name="clearPages()Landroid/app/Notification$WearableExtender;" deprecated="29"/>
+		<method name="clone()Landroid/app/Notification$WearableExtender;"/>
+		<method name="getActions()Ljava/util/List;"/>
+		<method name="getBackground()Landroid/graphics/Bitmap;" deprecated="29"/>
+		<method name="getBridgeTag()Ljava/lang/String;" since="26"/>
+		<method name="getContentAction()I"/>
+		<method name="getContentIcon()I" deprecated="28"/>
+		<method name="getContentIconGravity()I" deprecated="28"/>
+		<method name="getContentIntentAvailableOffline()Z"/>
+		<method name="getCustomContentHeight()I" deprecated="28"/>
+		<method name="getCustomSizePreset()I" deprecated="28"/>
+		<method name="getDismissalId()Ljava/lang/String;" since="24"/>
+		<method name="getDisplayIntent()Landroid/app/PendingIntent;" deprecated="29"/>
+		<method name="getGravity()I" deprecated="28"/>
+		<method name="getHintAmbientBigPicture()Z" since="24" deprecated="29"/>
+		<method name="getHintAvoidBackgroundClipping()Z" since="22" deprecated="28"/>
+		<method name="getHintContentIntentLaunchesActivity()Z" since="24"/>
+		<method name="getHintHideIcon()Z" deprecated="28"/>
+		<method name="getHintScreenTimeout()I" since="22" deprecated="28"/>
+		<method name="getHintShowBackgroundOnly()Z" deprecated="28"/>
+		<method name="getPages()Ljava/util/List;" deprecated="29"/>
+		<method name="getStartScrollBottom()Z"/>
+		<method name="setBackground(Landroid/graphics/Bitmap;)Landroid/app/Notification$WearableExtender;" deprecated="29"/>
+		<method name="setBridgeTag(Ljava/lang/String;)Landroid/app/Notification$WearableExtender;" since="26"/>
+		<method name="setContentAction(I)Landroid/app/Notification$WearableExtender;"/>
+		<method name="setContentIcon(I)Landroid/app/Notification$WearableExtender;" deprecated="28"/>
+		<method name="setContentIconGravity(I)Landroid/app/Notification$WearableExtender;" deprecated="28"/>
+		<method name="setContentIntentAvailableOffline(Z)Landroid/app/Notification$WearableExtender;"/>
+		<method name="setCustomContentHeight(I)Landroid/app/Notification$WearableExtender;" deprecated="28"/>
+		<method name="setCustomSizePreset(I)Landroid/app/Notification$WearableExtender;" deprecated="28"/>
+		<method name="setDismissalId(Ljava/lang/String;)Landroid/app/Notification$WearableExtender;" since="24"/>
+		<method name="setDisplayIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$WearableExtender;" deprecated="29"/>
+		<method name="setGravity(I)Landroid/app/Notification$WearableExtender;" deprecated="28"/>
+		<method name="setHintAmbientBigPicture(Z)Landroid/app/Notification$WearableExtender;" since="24" deprecated="29"/>
+		<method name="setHintAvoidBackgroundClipping(Z)Landroid/app/Notification$WearableExtender;" since="22" deprecated="28"/>
+		<method name="setHintContentIntentLaunchesActivity(Z)Landroid/app/Notification$WearableExtender;" since="24"/>
+		<method name="setHintHideIcon(Z)Landroid/app/Notification$WearableExtender;" deprecated="28"/>
+		<method name="setHintScreenTimeout(I)Landroid/app/Notification$WearableExtender;" since="22" deprecated="28"/>
+		<method name="setHintShowBackgroundOnly(Z)Landroid/app/Notification$WearableExtender;" deprecated="28"/>
+		<method name="setStartScrollBottom(Z)Landroid/app/Notification$WearableExtender;"/>
+		<field name="SCREEN_TIMEOUT_LONG" since="22" deprecated="29"/>
+		<field name="SCREEN_TIMEOUT_SHORT" since="22" deprecated="29"/>
+		<field name="SIZE_DEFAULT" deprecated="29"/>
+		<field name="SIZE_FULL_SCREEN" deprecated="29"/>
+		<field name="SIZE_LARGE" deprecated="29"/>
+		<field name="SIZE_MEDIUM" deprecated="29"/>
+		<field name="SIZE_SMALL" deprecated="29"/>
+		<field name="SIZE_XSMALL" deprecated="29"/>
+		<field name="UNSET_ACTION_INDEX"/>
+	</class>
+	<class name="android/app/NotificationChannel" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V"/>
+		<method name="canBubble()Z" since="29"/>
+		<method name="canBypassDnd()Z"/>
+		<method name="canShowBadge()Z"/>
+		<method name="enableLights(Z)V"/>
+		<method name="enableVibration(Z)V"/>
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;"/>
+		<method name="getConversationId()Ljava/lang/String;" since="30"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getGroup()Ljava/lang/String;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getImportance()I"/>
+		<method name="getLightColor()I"/>
+		<method name="getLockscreenVisibility()I"/>
+		<method name="getName()Ljava/lang/CharSequence;"/>
+		<method name="getParentChannelId()Ljava/lang/String;" since="30"/>
+		<method name="getSound()Landroid/net/Uri;"/>
+		<method name="getVibrationPattern()[J"/>
+		<method name="hasUserSetImportance()Z" since="29"/>
+		<method name="hasUserSetSound()Z" since="30"/>
+		<method name="isConversation()Z" since="31"/>
+		<method name="isDemoted()Z" since="31"/>
+		<method name="isImportantConversation()Z" since="30"/>
+		<method name="setAllowBubbles(Z)V" since="29"/>
+		<method name="setBypassDnd(Z)V"/>
+		<method name="setConversationId(Ljava/lang/String;Ljava/lang/String;)V" since="30"/>
+		<method name="setDescription(Ljava/lang/String;)V"/>
+		<method name="setGroup(Ljava/lang/String;)V"/>
+		<method name="setImportance(I)V"/>
+		<method name="setLightColor(I)V"/>
+		<method name="setLockscreenVisibility(I)V"/>
+		<method name="setName(Ljava/lang/CharSequence;)V"/>
+		<method name="setShowBadge(Z)V"/>
+		<method name="setSound(Landroid/net/Uri;Landroid/media/AudioAttributes;)V"/>
+		<method name="setVibrationPattern([J)V"/>
+		<method name="shouldShowLights()Z"/>
+		<method name="shouldVibrate()Z"/>
+		<field name="CREATOR"/>
+		<field name="DEFAULT_CHANNEL_ID"/>
+		<field name="EDIT_CONVERSATION" since="31"/>
+		<field name="EDIT_IMPORTANCE" since="31"/>
+		<field name="EDIT_LAUNCHER" since="31"/>
+		<field name="EDIT_LOCKED_DEVICE" since="31"/>
+		<field name="EDIT_SOUND" since="31"/>
+		<field name="EDIT_VIBRATION" since="31"/>
+		<field name="EDIT_ZEN" since="31"/>
+	</class>
+	<class name="android/app/NotificationChannelGroup" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/CharSequence;)V"/>
+		<method name="clone()Landroid/app/NotificationChannelGroup;"/>
+		<method name="getChannels()Ljava/util/List;"/>
+		<method name="getDescription()Ljava/lang/String;" since="28"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/CharSequence;"/>
+		<method name="isBlocked()Z" since="28"/>
+		<method name="setDescription(Ljava/lang/String;)V" since="28"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/NotificationManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addAutomaticZenRule(Landroid/app/AutomaticZenRule;)Ljava/lang/String;" since="24"/>
+		<method name="areBubblesAllowed()Z" since="29" deprecated="31"/>
+		<method name="areBubblesEnabled()Z" since="31"/>
+		<method name="areNotificationsEnabled()Z" since="24"/>
+		<method name="areNotificationsPaused()Z" since="29"/>
+		<method name="canNotifyAsPackage(Ljava/lang/String;)Z" since="29"/>
+		<method name="cancel(I)V"/>
+		<method name="cancel(Ljava/lang/String;I)V" since="5"/>
+		<method name="cancelAll()V"/>
+		<method name="cancelAsPackage(Ljava/lang/String;Ljava/lang/String;I)V" since="30"/>
+		<method name="createNotificationChannel(Landroid/app/NotificationChannel;)V" since="26"/>
+		<method name="createNotificationChannelGroup(Landroid/app/NotificationChannelGroup;)V" since="26"/>
+		<method name="createNotificationChannelGroups(Ljava/util/List;)V" since="26"/>
+		<method name="createNotificationChannels(Ljava/util/List;)V" since="26"/>
+		<method name="deleteNotificationChannel(Ljava/lang/String;)V" since="26"/>
+		<method name="deleteNotificationChannelGroup(Ljava/lang/String;)V" since="26"/>
+		<method name="getActiveNotifications()[Landroid/service/notification/StatusBarNotification;" since="23"/>
+		<method name="getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;" since="24"/>
+		<method name="getAutomaticZenRules()Ljava/util/Map;" since="24"/>
+		<method name="getBubblePreference()I" since="31"/>
+		<method name="getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;" since="30"/>
+		<method name="getCurrentInterruptionFilter()I" since="23"/>
+		<method name="getImportance()I" since="24"/>
+		<method name="getNotificationChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;" since="26"/>
+		<method name="getNotificationChannel(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;" since="30"/>
+		<method name="getNotificationChannelGroup(Ljava/lang/String;)Landroid/app/NotificationChannelGroup;" since="28"/>
+		<method name="getNotificationChannelGroups()Ljava/util/List;" since="26"/>
+		<method name="getNotificationChannels()Ljava/util/List;" since="26"/>
+		<method name="getNotificationDelegate()Ljava/lang/String;" since="29"/>
+		<method name="getNotificationPolicy()Landroid/app/NotificationManager$Policy;" since="23"/>
+		<method name="isNotificationListenerAccessGranted(Landroid/content/ComponentName;)Z" since="27"/>
+		<method name="isNotificationPolicyAccessGranted()Z" since="23"/>
+		<method name="notify(ILandroid/app/Notification;)V"/>
+		<method name="notify(Ljava/lang/String;ILandroid/app/Notification;)V" since="5"/>
+		<method name="notifyAsPackage(Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;)V" since="29"/>
+		<method name="removeAutomaticZenRule(Ljava/lang/String;)Z" since="24"/>
+		<method name="setAutomaticZenRuleState(Ljava/lang/String;Landroid/service/notification/Condition;)V" since="29"/>
+		<method name="setInterruptionFilter(I)V" since="23"/>
+		<method name="setNotificationDelegate(Ljava/lang/String;)V" since="29"/>
+		<method name="setNotificationPolicy(Landroid/app/NotificationManager$Policy;)V" since="23"/>
+		<method name="shouldHideSilentStatusBarIcons()Z" since="29"/>
+		<method name="updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z" since="24"/>
+		<field name="ACTION_APP_BLOCK_STATE_CHANGED" since="28"/>
+		<field name="ACTION_AUTOMATIC_ZEN_RULE" since="29"/>
+		<field name="ACTION_AUTOMATIC_ZEN_RULE_STATUS_CHANGED" since="30"/>
+		<field name="ACTION_INTERRUPTION_FILTER_CHANGED" since="23"/>
+		<field name="ACTION_NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" since="28"/>
+		<field name="ACTION_NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED" since="28"/>
+		<field name="ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED" since="23"/>
+		<field name="ACTION_NOTIFICATION_POLICY_CHANGED" since="23"/>
+		<field name="AUTOMATIC_RULE_STATUS_DISABLED" since="30"/>
+		<field name="AUTOMATIC_RULE_STATUS_ENABLED" since="30"/>
+		<field name="AUTOMATIC_RULE_STATUS_REMOVED" since="30"/>
+		<field name="AUTOMATIC_RULE_STATUS_UNKNOWN" since="30"/>
+		<field name="BUBBLE_PREFERENCE_ALL" since="31"/>
+		<field name="BUBBLE_PREFERENCE_NONE" since="31"/>
+		<field name="BUBBLE_PREFERENCE_SELECTED" since="31"/>
+		<field name="EXTRA_AUTOMATIC_RULE_ID" since="29"/>
+		<field name="EXTRA_AUTOMATIC_ZEN_RULE_ID" since="30"/>
+		<field name="EXTRA_AUTOMATIC_ZEN_RULE_STATUS" since="30"/>
+		<field name="EXTRA_BLOCKED_STATE" since="28"/>
+		<field name="EXTRA_NOTIFICATION_CHANNEL_GROUP_ID" since="28"/>
+		<field name="EXTRA_NOTIFICATION_CHANNEL_ID" since="28"/>
+		<field name="IMPORTANCE_DEFAULT" since="24"/>
+		<field name="IMPORTANCE_HIGH" since="24"/>
+		<field name="IMPORTANCE_LOW" since="24"/>
+		<field name="IMPORTANCE_MAX" since="24"/>
+		<field name="IMPORTANCE_MIN" since="24"/>
+		<field name="IMPORTANCE_NONE" since="24"/>
+		<field name="IMPORTANCE_UNSPECIFIED" since="24"/>
+		<field name="INTERRUPTION_FILTER_ALARMS" since="23"/>
+		<field name="INTERRUPTION_FILTER_ALL" since="23"/>
+		<field name="INTERRUPTION_FILTER_NONE" since="23"/>
+		<field name="INTERRUPTION_FILTER_PRIORITY" since="23"/>
+		<field name="INTERRUPTION_FILTER_UNKNOWN" since="23"/>
+		<field name="META_DATA_AUTOMATIC_RULE_TYPE" since="29"/>
+		<field name="META_DATA_RULE_INSTANCE_LIMIT" since="29"/>
+	</class>
+	<class name="android/app/NotificationManager$Policy" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIII)V" since="24"/>
+		<method name="&lt;init>(IIIII)V" since="30"/>
+		<method name="priorityCategoriesToString(I)Ljava/lang/String;"/>
+		<method name="prioritySendersToString(I)Ljava/lang/String;"/>
+		<method name="suppressedEffectsToString(I)Ljava/lang/String;" since="24"/>
+		<field name="CONVERSATION_SENDERS_ANYONE" since="30"/>
+		<field name="CONVERSATION_SENDERS_IMPORTANT" since="30"/>
+		<field name="CONVERSATION_SENDERS_NONE" since="30"/>
+		<field name="CREATOR"/>
+		<field name="PRIORITY_CATEGORY_ALARMS" since="28"/>
+		<field name="PRIORITY_CATEGORY_CALLS"/>
+		<field name="PRIORITY_CATEGORY_CONVERSATIONS" since="30"/>
+		<field name="PRIORITY_CATEGORY_EVENTS"/>
+		<field name="PRIORITY_CATEGORY_MEDIA" since="28"/>
+		<field name="PRIORITY_CATEGORY_MESSAGES"/>
+		<field name="PRIORITY_CATEGORY_REMINDERS"/>
+		<field name="PRIORITY_CATEGORY_REPEAT_CALLERS"/>
+		<field name="PRIORITY_CATEGORY_SYSTEM" since="28"/>
+		<field name="PRIORITY_SENDERS_ANY"/>
+		<field name="PRIORITY_SENDERS_CONTACTS"/>
+		<field name="PRIORITY_SENDERS_STARRED"/>
+		<field name="SUPPRESSED_EFFECT_AMBIENT" since="28"/>
+		<field name="SUPPRESSED_EFFECT_BADGE" since="28"/>
+		<field name="SUPPRESSED_EFFECT_FULL_SCREEN_INTENT" since="28"/>
+		<field name="SUPPRESSED_EFFECT_LIGHTS" since="28"/>
+		<field name="SUPPRESSED_EFFECT_NOTIFICATION_LIST" since="28"/>
+		<field name="SUPPRESSED_EFFECT_PEEK" since="28"/>
+		<field name="SUPPRESSED_EFFECT_SCREEN_OFF" since="24" deprecated="28"/>
+		<field name="SUPPRESSED_EFFECT_SCREEN_ON" since="24" deprecated="28"/>
+		<field name="SUPPRESSED_EFFECT_STATUS_BAR" since="28"/>
+		<field name="priorityCallSenders"/>
+		<field name="priorityCategories"/>
+		<field name="priorityConversationSenders" since="30"/>
+		<field name="priorityMessageSenders"/>
+		<field name="suppressedVisualEffects" since="24"/>
+	</class>
+	<class name="android/app/PendingIntent" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="cancel()V"/>
+		<method name="getActivities(Landroid/content/Context;I[Landroid/content/Intent;I)Landroid/app/PendingIntent;" since="11"/>
+		<method name="getActivities(Landroid/content/Context;I[Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent;" since="16"/>
+		<method name="getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;"/>
+		<method name="getActivity(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent;" since="16"/>
+		<method name="getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;"/>
+		<method name="getCreatorPackage()Ljava/lang/String;" since="17"/>
+		<method name="getCreatorUid()I" since="17"/>
+		<method name="getCreatorUserHandle()Landroid/os/UserHandle;" since="17"/>
+		<method name="getForegroundService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;" since="26"/>
+		<method name="getIntentSender()Landroid/content/IntentSender;" since="4"/>
+		<method name="getService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;"/>
+		<method name="getTargetPackage()Ljava/lang/String;" deprecated="17"/>
+		<method name="isActivity()Z" since="31"/>
+		<method name="isBroadcast()Z" since="31"/>
+		<method name="isForegroundService()Z" since="31"/>
+		<method name="isImmutable()Z" since="31"/>
+		<method name="isService()Z" since="31"/>
+		<method name="readPendingIntentOrNullFromParcel(Landroid/os/Parcel;)Landroid/app/PendingIntent;"/>
+		<method name="send()V"/>
+		<method name="send(I)V"/>
+		<method name="send(ILandroid/app/PendingIntent$OnFinished;Landroid/os/Handler;)V"/>
+		<method name="send(Landroid/content/Context;ILandroid/content/Intent;)V"/>
+		<method name="send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;)V"/>
+		<method name="send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;)V" since="14"/>
+		<method name="send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Bundle;)V" since="23"/>
+		<method name="writePendingIntentOrNullToParcel(Landroid/app/PendingIntent;Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_CANCEL_CURRENT"/>
+		<field name="FLAG_IMMUTABLE" since="23"/>
+		<field name="FLAG_MUTABLE" since="31"/>
+		<field name="FLAG_NO_CREATE"/>
+		<field name="FLAG_ONE_SHOT"/>
+		<field name="FLAG_UPDATE_CURRENT" since="3"/>
+	</class>
+	<class name="android/app/PendingIntent$CanceledException" since="1">
+		<extends name="android/util/AndroidException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/app/PendingIntent$OnFinished" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/app/Person" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getKey()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/CharSequence;"/>
+		<method name="getUri()Ljava/lang/String;"/>
+		<method name="isBot()Z"/>
+		<method name="isImportant()Z"/>
+		<method name="toBuilder()Landroid/app/Person$Builder;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/Person$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/app/Person;"/>
+		<method name="setBot(Z)Landroid/app/Person$Builder;"/>
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Person$Builder;"/>
+		<method name="setImportant(Z)Landroid/app/Person$Builder;"/>
+		<method name="setKey(Ljava/lang/String;)Landroid/app/Person$Builder;"/>
+		<method name="setName(Ljava/lang/CharSequence;)Landroid/app/Person$Builder;"/>
+		<method name="setUri(Ljava/lang/String;)Landroid/app/Person$Builder;"/>
+	</class>
+	<class name="android/app/PictureInPictureParams" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/PictureInPictureParams$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/app/PictureInPictureParams;"/>
+		<method name="setActions(Ljava/util/List;)Landroid/app/PictureInPictureParams$Builder;"/>
+		<method name="setAspectRatio(Landroid/util/Rational;)Landroid/app/PictureInPictureParams$Builder;"/>
+		<method name="setAutoEnterEnabled(Z)Landroid/app/PictureInPictureParams$Builder;" since="31"/>
+		<method name="setSeamlessResizeEnabled(Z)Landroid/app/PictureInPictureParams$Builder;" since="31"/>
+		<method name="setSourceRectHint(Landroid/graphics/Rect;)Landroid/app/PictureInPictureParams$Builder;"/>
+	</class>
+	<class name="android/app/PictureInPictureUiState" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="isStashed()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/Presentation" since="17">
+		<extends name="android/app/Dialog"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/Display;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/Display;I)V"/>
+		<method name="getDisplay()Landroid/view/Display;"/>
+		<method name="getResources()Landroid/content/res/Resources;"/>
+		<method name="onDisplayChanged()V"/>
+		<method name="onDisplayRemoved()V"/>
+	</class>
+	<class name="android/app/ProgressDialog" since="1" deprecated="26">
+		<extends name="android/app/AlertDialog"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V" deprecated="29"/>
+		<method name="getMax()I" deprecated="29"/>
+		<method name="getProgress()I" deprecated="29"/>
+		<method name="getSecondaryProgress()I" deprecated="29"/>
+		<method name="incrementProgressBy(I)V" deprecated="29"/>
+		<method name="incrementSecondaryProgressBy(I)V" deprecated="29"/>
+		<method name="isIndeterminate()Z" deprecated="29"/>
+		<method name="setIndeterminate(Z)V" deprecated="29"/>
+		<method name="setIndeterminateDrawable(Landroid/graphics/drawable/Drawable;)V" deprecated="29"/>
+		<method name="setMax(I)V" deprecated="29"/>
+		<method name="setProgress(I)V" deprecated="29"/>
+		<method name="setProgressDrawable(Landroid/graphics/drawable/Drawable;)V" deprecated="29"/>
+		<method name="setProgressNumberFormat(Ljava/lang/String;)V" since="11" deprecated="29"/>
+		<method name="setProgressPercentFormat(Ljava/text/NumberFormat;)V" since="11" deprecated="29"/>
+		<method name="setProgressStyle(I)V" deprecated="29"/>
+		<method name="setSecondaryProgress(I)V" deprecated="29"/>
+		<method name="show(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/app/ProgressDialog;" deprecated="29"/>
+		<method name="show(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Landroid/app/ProgressDialog;" deprecated="29"/>
+		<method name="show(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZZ)Landroid/app/ProgressDialog;" deprecated="29"/>
+		<method name="show(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZZLandroid/content/DialogInterface$OnCancelListener;)Landroid/app/ProgressDialog;" deprecated="29"/>
+		<field name="STYLE_HORIZONTAL" deprecated="29"/>
+		<field name="STYLE_SPINNER" deprecated="29"/>
+	</class>
+	<class name="android/app/RecoverableSecurityException" since="29">
+		<extends name="java/lang/SecurityException"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;Ljava/lang/CharSequence;Landroid/app/RemoteAction;)V"/>
+		<method name="getUserAction()Landroid/app/RemoteAction;"/>
+		<method name="getUserMessage()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/RemoteAction" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V"/>
+		<method name="clone()Landroid/app/RemoteAction;"/>
+		<method name="dump(Ljava/lang/String;Ljava/io/PrintWriter;)V"/>
+		<method name="getActionIntent()Landroid/app/PendingIntent;"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<method name="isEnabled()Z"/>
+		<method name="setEnabled(Z)V"/>
+		<method name="setShouldShowIcon(Z)V" since="28"/>
+		<method name="shouldShowIcon()Z" since="28"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/RemoteInput" since="20">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="addDataResultToIntent(Landroid/app/RemoteInput;Landroid/content/Intent;Ljava/util/Map;)V" since="26"/>
+		<method name="addResultsToIntent([Landroid/app/RemoteInput;Landroid/content/Intent;Landroid/os/Bundle;)V"/>
+		<method name="getAllowFreeFormInput()Z"/>
+		<method name="getAllowedDataTypes()Ljava/util/Set;" since="26"/>
+		<method name="getChoices()[Ljava/lang/CharSequence;"/>
+		<method name="getDataResultsFromIntent(Landroid/content/Intent;Ljava/lang/String;)Ljava/util/Map;" since="26"/>
+		<method name="getEditChoicesBeforeSending()I" since="29"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<method name="getResultKey()Ljava/lang/String;"/>
+		<method name="getResultsFromIntent(Landroid/content/Intent;)Landroid/os/Bundle;"/>
+		<method name="getResultsSource(Landroid/content/Intent;)I" since="28"/>
+		<method name="isDataOnly()Z" since="26"/>
+		<method name="setResultsSource(Landroid/content/Intent;I)V" since="28"/>
+		<field name="CREATOR"/>
+		<field name="EDIT_CHOICES_BEFORE_SENDING_AUTO" since="29"/>
+		<field name="EDIT_CHOICES_BEFORE_SENDING_DISABLED" since="29"/>
+		<field name="EDIT_CHOICES_BEFORE_SENDING_ENABLED" since="29"/>
+		<field name="EXTRA_RESULTS_DATA"/>
+		<field name="RESULTS_CLIP_LABEL"/>
+		<field name="SOURCE_CHOICE" since="28"/>
+		<field name="SOURCE_FREE_FORM_INPUT" since="28"/>
+	</class>
+	<class name="android/app/RemoteInput$Builder" since="20">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="addExtras(Landroid/os/Bundle;)Landroid/app/RemoteInput$Builder;"/>
+		<method name="build()Landroid/app/RemoteInput;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="setAllowDataType(Ljava/lang/String;Z)Landroid/app/RemoteInput$Builder;" since="26"/>
+		<method name="setAllowFreeFormInput(Z)Landroid/app/RemoteInput$Builder;"/>
+		<method name="setChoices([Ljava/lang/CharSequence;)Landroid/app/RemoteInput$Builder;"/>
+		<method name="setEditChoicesBeforeSending(I)Landroid/app/RemoteInput$Builder;" since="29"/>
+		<method name="setLabel(Ljava/lang/CharSequence;)Landroid/app/RemoteInput$Builder;"/>
+	</class>
+	<class name="android/app/SearchManager" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/content/DialogInterface$OnCancelListener"/>
+		<implements name="android/content/DialogInterface$OnDismissListener"/>
+		<method name="getGlobalSearchActivity()Landroid/content/ComponentName;" since="16"/>
+		<method name="getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;" since="8"/>
+		<method name="getSearchablesInGlobalSearch()Ljava/util/List;" since="8"/>
+		<method name="setOnCancelListener(Landroid/app/SearchManager$OnCancelListener;)V"/>
+		<method name="setOnDismissListener(Landroid/app/SearchManager$OnDismissListener;)V"/>
+		<method name="startSearch(Ljava/lang/String;ZLandroid/content/ComponentName;Landroid/os/Bundle;Z)V"/>
+		<method name="stopSearch()V"/>
+		<method name="triggerSearch(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/Bundle;)V" since="5"/>
+		<field name="ACTION_KEY"/>
+		<field name="ACTION_MSG"/>
+		<field name="APP_DATA"/>
+		<field name="CURSOR_EXTRA_KEY_IN_PROGRESS" since="8"/>
+		<field name="EXTRA_DATA_KEY" since="4"/>
+		<field name="EXTRA_NEW_SEARCH" since="12"/>
+		<field name="EXTRA_SELECT_QUERY" since="8"/>
+		<field name="EXTRA_WEB_SEARCH_PENDINGINTENT" since="14"/>
+		<field name="FLAG_QUERY_REFINEMENT" since="11"/>
+		<field name="INTENT_ACTION_GLOBAL_SEARCH" since="8"/>
+		<field name="INTENT_ACTION_SEARCHABLES_CHANGED" since="4"/>
+		<field name="INTENT_ACTION_SEARCH_SETTINGS" since="8"/>
+		<field name="INTENT_ACTION_SEARCH_SETTINGS_CHANGED" since="4"/>
+		<field name="INTENT_ACTION_WEB_SEARCH_SETTINGS" since="4"/>
+		<field name="INTENT_GLOBAL_SEARCH_ACTIVITY_CHANGED" since="16"/>
+		<field name="MENU_KEY"/>
+		<field name="MENU_KEYCODE"/>
+		<field name="QUERY"/>
+		<field name="SHORTCUT_MIME_TYPE" since="4"/>
+		<field name="SUGGEST_COLUMN_AUDIO_CHANNEL_CONFIG" since="21"/>
+		<field name="SUGGEST_COLUMN_CONTENT_TYPE" since="21"/>
+		<field name="SUGGEST_COLUMN_DURATION" since="21"/>
+		<field name="SUGGEST_COLUMN_FLAGS" since="11"/>
+		<field name="SUGGEST_COLUMN_FORMAT"/>
+		<field name="SUGGEST_COLUMN_ICON_1"/>
+		<field name="SUGGEST_COLUMN_ICON_2"/>
+		<field name="SUGGEST_COLUMN_INTENT_ACTION"/>
+		<field name="SUGGEST_COLUMN_INTENT_DATA"/>
+		<field name="SUGGEST_COLUMN_INTENT_DATA_ID"/>
+		<field name="SUGGEST_COLUMN_INTENT_EXTRA_DATA" since="4"/>
+		<field name="SUGGEST_COLUMN_IS_LIVE" since="21"/>
+		<field name="SUGGEST_COLUMN_LAST_ACCESS_HINT" since="14"/>
+		<field name="SUGGEST_COLUMN_PRODUCTION_YEAR" since="21"/>
+		<field name="SUGGEST_COLUMN_PURCHASE_PRICE" since="21"/>
+		<field name="SUGGEST_COLUMN_QUERY"/>
+		<field name="SUGGEST_COLUMN_RATING_SCORE" since="21"/>
+		<field name="SUGGEST_COLUMN_RATING_STYLE" since="21"/>
+		<field name="SUGGEST_COLUMN_RENTAL_PRICE" since="21"/>
+		<field name="SUGGEST_COLUMN_RESULT_CARD_IMAGE" since="21"/>
+		<field name="SUGGEST_COLUMN_SHORTCUT_ID" since="4"/>
+		<field name="SUGGEST_COLUMN_SPINNER_WHILE_REFRESHING" since="4"/>
+		<field name="SUGGEST_COLUMN_TEXT_1"/>
+		<field name="SUGGEST_COLUMN_TEXT_2"/>
+		<field name="SUGGEST_COLUMN_TEXT_2_URL" since="8"/>
+		<field name="SUGGEST_COLUMN_VIDEO_HEIGHT" since="21"/>
+		<field name="SUGGEST_COLUMN_VIDEO_WIDTH" since="21"/>
+		<field name="SUGGEST_MIME_TYPE"/>
+		<field name="SUGGEST_NEVER_MAKE_SHORTCUT" since="4"/>
+		<field name="SUGGEST_PARAMETER_LIMIT" since="5"/>
+		<field name="SUGGEST_URI_PATH_QUERY"/>
+		<field name="SUGGEST_URI_PATH_SHORTCUT" since="4"/>
+		<field name="USER_QUERY" since="4"/>
+	</class>
+	<class name="android/app/SearchManager$OnCancelListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onCancel()V"/>
+	</class>
+	<class name="android/app/SearchManager$OnDismissListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onDismiss()V"/>
+	</class>
+	<class name="android/app/SearchableInfo" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="autoUrlDetect()Z"/>
+		<method name="getHintId()I"/>
+		<method name="getImeOptions()I"/>
+		<method name="getInputType()I"/>
+		<method name="getSearchActivity()Landroid/content/ComponentName;"/>
+		<method name="getSettingsDescriptionId()I"/>
+		<method name="getSuggestAuthority()Ljava/lang/String;"/>
+		<method name="getSuggestIntentAction()Ljava/lang/String;"/>
+		<method name="getSuggestIntentData()Ljava/lang/String;"/>
+		<method name="getSuggestPackage()Ljava/lang/String;"/>
+		<method name="getSuggestPath()Ljava/lang/String;"/>
+		<method name="getSuggestSelection()Ljava/lang/String;"/>
+		<method name="getSuggestThreshold()I"/>
+		<method name="getVoiceLanguageId()I"/>
+		<method name="getVoiceLanguageModeId()I"/>
+		<method name="getVoiceMaxResults()I"/>
+		<method name="getVoicePromptTextId()I"/>
+		<method name="getVoiceSearchEnabled()Z"/>
+		<method name="getVoiceSearchLaunchRecognizer()Z"/>
+		<method name="getVoiceSearchLaunchWebSearch()Z"/>
+		<method name="queryAfterZeroResults()Z"/>
+		<method name="shouldIncludeInGlobalSearch()Z"/>
+		<method name="shouldRewriteQueryFromData()Z"/>
+		<method name="shouldRewriteQueryFromText()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/Service" since="1">
+		<extends name="android/content/ContextWrapper"/>
+		<implements name="android/content/ComponentCallbacks" removed="14"/>
+		<implements name="android/content/ComponentCallbacks2" since="14"/>
+		<method name="&lt;init>()V"/>
+		<method name="dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V"/>
+		<method name="getApplication()Landroid/app/Application;"/>
+		<method name="getForegroundServiceType()I" since="29"/>
+		<method name="onBind(Landroid/content/Intent;)Landroid/os/IBinder;"/>
+		<method name="onCreate()V"/>
+		<method name="onDestroy()V"/>
+		<method name="onRebind(Landroid/content/Intent;)V"/>
+		<method name="onStart(Landroid/content/Intent;I)V" deprecated="15"/>
+		<method name="onStartCommand(Landroid/content/Intent;II)I" since="5"/>
+		<method name="onTaskRemoved(Landroid/content/Intent;)V" since="14"/>
+		<method name="onUnbind(Landroid/content/Intent;)Z"/>
+		<method name="setForeground(Z)V" removed="11"/>
+		<method name="startForeground(ILandroid/app/Notification;)V" since="5"/>
+		<method name="startForeground(ILandroid/app/Notification;I)V" since="29"/>
+		<method name="stopForeground(I)V" since="24"/>
+		<method name="stopForeground(Z)V" since="5"/>
+		<method name="stopSelf()V"/>
+		<method name="stopSelf(I)V"/>
+		<method name="stopSelfResult(I)Z"/>
+		<field name="START_CONTINUATION_MASK" since="5"/>
+		<field name="START_FLAG_REDELIVERY" since="5"/>
+		<field name="START_FLAG_RETRY" since="5"/>
+		<field name="START_NOT_STICKY" since="5"/>
+		<field name="START_REDELIVER_INTENT" since="5"/>
+		<field name="START_STICKY" since="5"/>
+		<field name="START_STICKY_COMPATIBILITY" since="5"/>
+		<field name="STOP_FOREGROUND_DETACH" since="24"/>
+		<field name="STOP_FOREGROUND_REMOVE" since="24"/>
+	</class>
+	<class name="android/app/ServiceStartNotAllowedException" since="31">
+		<extends name="java/lang/IllegalStateException"/>
+	</class>
+	<class name="android/app/SharedElementCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCaptureSharedElementSnapshot(Landroid/view/View;Landroid/graphics/Matrix;Landroid/graphics/RectF;)Landroid/os/Parcelable;"/>
+		<method name="onCreateSnapshotView(Landroid/content/Context;Landroid/os/Parcelable;)Landroid/view/View;"/>
+		<method name="onMapSharedElements(Ljava/util/List;Ljava/util/Map;)V"/>
+		<method name="onRejectSharedElements(Ljava/util/List;)V"/>
+		<method name="onSharedElementEnd(Ljava/util/List;Ljava/util/List;Ljava/util/List;)V"/>
+		<method name="onSharedElementStart(Ljava/util/List;Ljava/util/List;Ljava/util/List;)V"/>
+		<method name="onSharedElementsArrived(Ljava/util/List;Ljava/util/List;Landroid/app/SharedElementCallback$OnSharedElementsReadyListener;)V" since="23"/>
+	</class>
+	<class name="android/app/SharedElementCallback$OnSharedElementsReadyListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onSharedElementsReady()V"/>
+	</class>
+	<class name="android/app/StatusBarManager" since="29">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/app/SyncNotedAppOp" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+		<method name="getAttributionTag()Ljava/lang/String;"/>
+		<method name="getOp()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/TabActivity" since="1" deprecated="13">
+		<extends name="android/app/ActivityGroup"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="getTabHost()Landroid/widget/TabHost;" deprecated="29"/>
+		<method name="getTabWidget()Landroid/widget/TabWidget;" deprecated="29"/>
+		<method name="setDefaultTab(I)V" deprecated="29"/>
+		<method name="setDefaultTab(Ljava/lang/String;)V" deprecated="29"/>
+	</class>
+	<class name="android/app/TaskInfo" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="isVisible()Z" since="33"/>
+		<field name="baseActivity"/>
+		<field name="baseIntent"/>
+		<field name="isRunning"/>
+		<field name="numActivities"/>
+		<field name="origActivity"/>
+		<field name="taskDescription"/>
+		<field name="taskId"/>
+		<field name="topActivity"/>
+	</class>
+	<class name="android/app/TaskStackBuilder" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="addNextIntent(Landroid/content/Intent;)Landroid/app/TaskStackBuilder;"/>
+		<method name="addNextIntentWithParentStack(Landroid/content/Intent;)Landroid/app/TaskStackBuilder;"/>
+		<method name="addParentStack(Landroid/app/Activity;)Landroid/app/TaskStackBuilder;"/>
+		<method name="addParentStack(Landroid/content/ComponentName;)Landroid/app/TaskStackBuilder;"/>
+		<method name="addParentStack(Ljava/lang/Class;)Landroid/app/TaskStackBuilder;"/>
+		<method name="create(Landroid/content/Context;)Landroid/app/TaskStackBuilder;"/>
+		<method name="editIntentAt(I)Landroid/content/Intent;"/>
+		<method name="getIntentCount()I"/>
+		<method name="getIntents()[Landroid/content/Intent;"/>
+		<method name="getPendingIntent(II)Landroid/app/PendingIntent;"/>
+		<method name="getPendingIntent(IILandroid/os/Bundle;)Landroid/app/PendingIntent;"/>
+		<method name="startActivities()V"/>
+		<method name="startActivities(Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/app/TimePickerDialog" since="1">
+		<extends name="android/app/AlertDialog"/>
+		<implements name="android/content/DialogInterface$OnClickListener"/>
+		<implements name="android/widget/TimePicker$OnTimeChangedListener"/>
+		<method name="&lt;init>(Landroid/content/Context;ILandroid/app/TimePickerDialog$OnTimeSetListener;IIZ)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/app/TimePickerDialog$OnTimeSetListener;IIZ)V"/>
+		<method name="updateTime(II)V"/>
+	</class>
+	<class name="android/app/TimePickerDialog$OnTimeSetListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onTimeSet(Landroid/widget/TimePicker;II)V"/>
+	</class>
+	<class name="android/app/UiAutomation" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="adoptShellPermissionIdentity()V" since="29"/>
+		<method name="adoptShellPermissionIdentity([Ljava/lang/String;)V" since="29"/>
+		<method name="clearWindowAnimationFrameStats()V" since="21"/>
+		<method name="clearWindowContentFrameStats(I)Z" since="21"/>
+		<method name="dropShellPermissionIdentity()V" since="29"/>
+		<method name="executeAndWaitForEvent(Ljava/lang/Runnable;Landroid/app/UiAutomation$AccessibilityEventFilter;J)Landroid/view/accessibility/AccessibilityEvent;"/>
+		<method name="executeShellCommand(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;" since="21"/>
+		<method name="executeShellCommandRw(Ljava/lang/String;)[Landroid/os/ParcelFileDescriptor;" since="31"/>
+		<method name="findFocus(I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="21"/>
+		<method name="getRootInActiveWindow()Landroid/view/accessibility/AccessibilityNodeInfo;"/>
+		<method name="getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;"/>
+		<method name="getWindowAnimationFrameStats()Landroid/view/WindowAnimationFrameStats;" since="21"/>
+		<method name="getWindowContentFrameStats(I)Landroid/view/WindowContentFrameStats;" since="21"/>
+		<method name="getWindows()Ljava/util/List;" since="21"/>
+		<method name="getWindowsOnAllDisplays()Landroid/util/SparseArray;" since="30"/>
+		<method name="grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;)V" since="28"/>
+		<method name="grantRuntimePermissionAsUser(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)V" since="28"/>
+		<method name="injectInputEvent(Landroid/view/InputEvent;Z)Z"/>
+		<method name="performGlobalAction(I)Z"/>
+		<method name="revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;)V" since="28"/>
+		<method name="revokeRuntimePermissionAsUser(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)V" since="28"/>
+		<method name="setOnAccessibilityEventListener(Landroid/app/UiAutomation$OnAccessibilityEventListener;)V"/>
+		<method name="setRotation(I)Z"/>
+		<method name="setRunAsMonkey(Z)V"/>
+		<method name="setServiceInfo(Landroid/accessibilityservice/AccessibilityServiceInfo;)V"/>
+		<method name="takeScreenshot()Landroid/graphics/Bitmap;"/>
+		<method name="waitForIdle(JJ)V"/>
+		<field name="FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES" since="24"/>
+		<field name="FLAG_DONT_USE_ACCESSIBILITY" since="31"/>
+		<field name="ROTATION_FREEZE_0"/>
+		<field name="ROTATION_FREEZE_180"/>
+		<field name="ROTATION_FREEZE_270"/>
+		<field name="ROTATION_FREEZE_90"/>
+		<field name="ROTATION_FREEZE_CURRENT"/>
+		<field name="ROTATION_UNFREEZE"/>
+	</class>
+	<class name="android/app/UiAutomation$AccessibilityEventFilter" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="accept(Landroid/view/accessibility/AccessibilityEvent;)Z"/>
+	</class>
+	<class name="android/app/UiAutomation$OnAccessibilityEventListener" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V"/>
+	</class>
+	<class name="android/app/UiModeManager" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="disableCarMode(I)V"/>
+		<method name="enableCarMode(I)V"/>
+		<method name="getCurrentModeType()I"/>
+		<method name="getCustomNightModeEnd()Ljava/time/LocalTime;" since="30"/>
+		<method name="getCustomNightModeStart()Ljava/time/LocalTime;" since="30"/>
+		<method name="getNightMode()I"/>
+		<method name="setApplicationNightMode(I)V" since="31"/>
+		<method name="setCustomNightModeEnd(Ljava/time/LocalTime;)V" since="30"/>
+		<method name="setCustomNightModeStart(Ljava/time/LocalTime;)V" since="30"/>
+		<method name="setNightMode(I)V"/>
+		<field name="ACTION_ENTER_CAR_MODE"/>
+		<field name="ACTION_ENTER_DESK_MODE"/>
+		<field name="ACTION_EXIT_CAR_MODE"/>
+		<field name="ACTION_EXIT_DESK_MODE"/>
+		<field name="DISABLE_CAR_MODE_GO_HOME"/>
+		<field name="ENABLE_CAR_MODE_ALLOW_SLEEP" since="21"/>
+		<field name="ENABLE_CAR_MODE_GO_CAR_HOME"/>
+		<field name="MODE_NIGHT_AUTO"/>
+		<field name="MODE_NIGHT_CUSTOM" since="30"/>
+		<field name="MODE_NIGHT_NO"/>
+		<field name="MODE_NIGHT_YES"/>
+	</class>
+	<class name="android/app/VoiceInteractor" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getActiveRequest(Ljava/lang/String;)Landroid/app/VoiceInteractor$Request;"/>
+		<method name="getActiveRequests()[Landroid/app/VoiceInteractor$Request;"/>
+		<method name="isDestroyed()Z" since="29"/>
+		<method name="notifyDirectActionsChanged()V" since="29"/>
+		<method name="registerOnDestroyedCallback(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Z" since="29"/>
+		<method name="submitRequest(Landroid/app/VoiceInteractor$Request;)Z"/>
+		<method name="submitRequest(Landroid/app/VoiceInteractor$Request;Ljava/lang/String;)Z"/>
+		<method name="supportsCommands([Ljava/lang/String;)[Z"/>
+		<method name="unregisterOnDestroyedCallback(Ljava/lang/Runnable;)Z" since="29"/>
+	</class>
+	<class name="android/app/VoiceInteractor$AbortVoiceRequest" since="23">
+		<extends name="android/app/VoiceInteractor$Request"/>
+		<method name="&lt;init>(Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)V"/>
+		<method name="onAbortResult(Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/app/VoiceInteractor$CommandRequest" since="23">
+		<extends name="android/app/VoiceInteractor$Request"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="onCommandResult(ZLandroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/app/VoiceInteractor$CompleteVoiceRequest" since="23">
+		<extends name="android/app/VoiceInteractor$Request"/>
+		<method name="&lt;init>(Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)V"/>
+		<method name="onCompleteResult(Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/app/VoiceInteractor$ConfirmationRequest" since="23">
+		<extends name="android/app/VoiceInteractor$Request"/>
+		<method name="&lt;init>(Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)V"/>
+		<method name="onConfirmationResult(ZLandroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/app/VoiceInteractor$PickOptionRequest" since="23">
+		<extends name="android/app/VoiceInteractor$Request"/>
+		<method name="&lt;init>(Landroid/app/VoiceInteractor$Prompt;[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V"/>
+		<method name="onPickOptionResult(Z[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/app/VoiceInteractor$PickOptionRequest$Option" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;I)V"/>
+		<method name="addSynonym(Ljava/lang/CharSequence;)Landroid/app/VoiceInteractor$PickOptionRequest$Option;"/>
+		<method name="countSynonyms()I"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getIndex()I"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<method name="getSynonymAt(I)Ljava/lang/CharSequence;"/>
+		<method name="setExtras(Landroid/os/Bundle;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/VoiceInteractor$Prompt" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="&lt;init>([Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V"/>
+		<method name="countVoicePrompts()I"/>
+		<method name="getVisualPrompt()Ljava/lang/CharSequence;"/>
+		<method name="getVoicePromptAt(I)Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/VoiceInteractor$Request" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V"/>
+		<method name="getActivity()Landroid/app/Activity;"/>
+		<method name="getContext()Landroid/content/Context;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="onAttached(Landroid/app/Activity;)V"/>
+		<method name="onCancel()V"/>
+		<method name="onDetached()V"/>
+	</class>
+	<class name="android/app/WallpaperColors" since="27">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/graphics/Color;Landroid/graphics/Color;Landroid/graphics/Color;)V"/>
+		<method name="&lt;init>(Landroid/graphics/Color;Landroid/graphics/Color;Landroid/graphics/Color;I)V" since="31"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="fromBitmap(Landroid/graphics/Bitmap;)Landroid/app/WallpaperColors;"/>
+		<method name="fromDrawable(Landroid/graphics/drawable/Drawable;)Landroid/app/WallpaperColors;"/>
+		<method name="getColorHints()I" since="31"/>
+		<method name="getPrimaryColor()Landroid/graphics/Color;"/>
+		<method name="getSecondaryColor()Landroid/graphics/Color;"/>
+		<method name="getTertiaryColor()Landroid/graphics/Color;"/>
+		<field name="CREATOR"/>
+		<field name="HINT_SUPPORTS_DARK_TEXT" since="31"/>
+		<field name="HINT_SUPPORTS_DARK_THEME" since="31"/>
+	</class>
+	<class name="android/app/WallpaperInfo" since="7">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getComponent()Landroid/content/ComponentName;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getServiceInfo()Landroid/content/pm/ServiceInfo;"/>
+		<method name="getServiceName()Ljava/lang/String;"/>
+		<method name="getSettingsActivity()Ljava/lang/String;"/>
+		<method name="getSettingsSliceUri()Landroid/net/Uri;" since="29"/>
+		<method name="getShowMetadataInPreview()Z" since="25"/>
+		<method name="loadAuthor(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<method name="loadContextDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;" since="25"/>
+		<method name="loadContextUri(Landroid/content/pm/PackageManager;)Landroid/net/Uri;" since="25"/>
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<method name="loadThumbnail(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="shouldUseDefaultUnfoldTransition()Z" since="33"/>
+		<method name="supportsMultipleDisplays()Z" since="29"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/WallpaperManager" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;)V" since="27"/>
+		<method name="clear()V"/>
+		<method name="clear(I)V" since="24"/>
+		<method name="clearWallpaper()V" since="28"/>
+		<method name="clearWallpaperOffsets(Landroid/os/IBinder;)V"/>
+		<method name="forgetLoadedWallpaper()V" since="14"/>
+		<method name="getBuiltInDrawable()Landroid/graphics/drawable/Drawable;" since="19"/>
+		<method name="getBuiltInDrawable(I)Landroid/graphics/drawable/Drawable;" since="24"/>
+		<method name="getBuiltInDrawable(IIZFF)Landroid/graphics/drawable/Drawable;" since="19"/>
+		<method name="getBuiltInDrawable(IIZFFI)Landroid/graphics/drawable/Drawable;" since="24"/>
+		<method name="getCropAndSetWallpaperIntent(Landroid/net/Uri;)Landroid/content/Intent;" since="19"/>
+		<method name="getDesiredMinimumHeight()I"/>
+		<method name="getDesiredMinimumWidth()I"/>
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getFastDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getInstance(Landroid/content/Context;)Landroid/app/WallpaperManager;"/>
+		<method name="getWallpaperColors(I)Landroid/app/WallpaperColors;" since="27"/>
+		<method name="getWallpaperFile(I)Landroid/os/ParcelFileDescriptor;" since="24"/>
+		<method name="getWallpaperId(I)I" since="24"/>
+		<method name="getWallpaperInfo()Landroid/app/WallpaperInfo;" since="7"/>
+		<method name="hasResourceWallpaper(I)Z" since="17"/>
+		<method name="isSetWallpaperAllowed()Z" since="24"/>
+		<method name="isWallpaperSupported()Z" since="23"/>
+		<method name="peekDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="peekFastDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;)V" since="27"/>
+		<method name="sendWallpaperCommand(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)V" since="7"/>
+		<method name="setBitmap(Landroid/graphics/Bitmap;)V"/>
+		<method name="setBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Z)I" since="24"/>
+		<method name="setBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;ZI)I" since="24"/>
+		<method name="setDisplayPadding(Landroid/graphics/Rect;)V" since="28"/>
+		<method name="setResource(I)V"/>
+		<method name="setResource(II)I" since="24"/>
+		<method name="setStream(Ljava/io/InputStream;)V"/>
+		<method name="setStream(Ljava/io/InputStream;Landroid/graphics/Rect;Z)I" since="24"/>
+		<method name="setStream(Ljava/io/InputStream;Landroid/graphics/Rect;ZI)I" since="24"/>
+		<method name="setWallpaperOffsetSteps(FF)V" since="7"/>
+		<method name="setWallpaperOffsets(Landroid/os/IBinder;FF)V"/>
+		<method name="suggestDesiredDimensions(II)V"/>
+		<field name="ACTION_CHANGE_LIVE_WALLPAPER" since="16"/>
+		<field name="ACTION_CROP_AND_SET_WALLPAPER" since="19"/>
+		<field name="ACTION_LIVE_WALLPAPER_CHOOSER" since="7"/>
+		<field name="COMMAND_DROP" since="7"/>
+		<field name="COMMAND_SECONDARY_TAP" since="11"/>
+		<field name="COMMAND_TAP" since="7"/>
+		<field name="EXTRA_LIVE_WALLPAPER_COMPONENT" since="16"/>
+		<field name="FLAG_LOCK" since="24"/>
+		<field name="FLAG_SYSTEM" since="24"/>
+		<field name="WALLPAPER_PREVIEW_META_DATA" since="11"/>
+	</class>
+	<class name="android/app/WallpaperManager$OnColorsChangedListener" since="27">
+		<extends name="java/lang/Object"/>
+		<method name="onColorsChanged(Landroid/app/WallpaperColors;I)V"/>
+	</class>
+	<class name="android/app/ZygotePreload" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="doPreload(Landroid/content/pm/ApplicationInfo;)V"/>
+	</class>
+	<class name="android/app/admin/ConnectEvent" since="26">
+		<extends name="android/app/admin/NetworkEvent"/>
+		<method name="getInetAddress()Ljava/net/InetAddress;"/>
+		<method name="getPort()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/admin/DelegatedAdminReceiver" since="29">
+		<extends name="android/content/BroadcastReceiver"/>
+		<method name="&lt;init>()V"/>
+		<method name="onChoosePrivateKeyAlias(Landroid/content/Context;Landroid/content/Intent;ILandroid/net/Uri;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="onNetworkLogsAvailable(Landroid/content/Context;Landroid/content/Intent;JI)V"/>
+		<method name="onSecurityLogsAvailable(Landroid/content/Context;Landroid/content/Intent;)V" since="31"/>
+	</class>
+	<class name="android/app/admin/DeviceAdminInfo" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getActivityInfo()Landroid/content/pm/ActivityInfo;"/>
+		<method name="getComponent()Landroid/content/ComponentName;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getReceiverName()Ljava/lang/String;"/>
+		<method name="getTagForPolicy(I)Ljava/lang/String;"/>
+		<method name="isVisible()Z"/>
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<method name="supportsTransferOwnership()Z" since="28"/>
+		<method name="usesPolicy(I)Z"/>
+		<field name="CREATOR"/>
+		<field name="USES_ENCRYPTED_STORAGE" since="11"/>
+		<field name="USES_POLICY_DISABLE_CAMERA" since="14"/>
+		<field name="USES_POLICY_DISABLE_KEYGUARD_FEATURES" since="17"/>
+		<field name="USES_POLICY_EXPIRE_PASSWORD" since="11"/>
+		<field name="USES_POLICY_FORCE_LOCK"/>
+		<field name="USES_POLICY_LIMIT_PASSWORD"/>
+		<field name="USES_POLICY_RESET_PASSWORD"/>
+		<field name="USES_POLICY_WATCH_LOGIN"/>
+		<field name="USES_POLICY_WIPE_DATA"/>
+	</class>
+	<class name="android/app/admin/DeviceAdminReceiver" since="8">
+		<extends name="android/content/BroadcastReceiver"/>
+		<method name="&lt;init>()V"/>
+		<method name="getManager(Landroid/content/Context;)Landroid/app/admin/DevicePolicyManager;"/>
+		<method name="getWho(Landroid/content/Context;)Landroid/content/ComponentName;"/>
+		<method name="onBugreportFailed(Landroid/content/Context;Landroid/content/Intent;I)V" since="24"/>
+		<method name="onBugreportShared(Landroid/content/Context;Landroid/content/Intent;Ljava/lang/String;)V" since="24"/>
+		<method name="onBugreportSharingDeclined(Landroid/content/Context;Landroid/content/Intent;)V" since="24"/>
+		<method name="onChoosePrivateKeyAlias(Landroid/content/Context;Landroid/content/Intent;ILandroid/net/Uri;Ljava/lang/String;)Ljava/lang/String;" since="23"/>
+		<method name="onComplianceAcknowledgementRequired(Landroid/content/Context;Landroid/content/Intent;)V" since="31"/>
+		<method name="onDisableRequested(Landroid/content/Context;Landroid/content/Intent;)Ljava/lang/CharSequence;"/>
+		<method name="onDisabled(Landroid/content/Context;Landroid/content/Intent;)V"/>
+		<method name="onEnabled(Landroid/content/Context;Landroid/content/Intent;)V"/>
+		<method name="onLockTaskModeEntering(Landroid/content/Context;Landroid/content/Intent;Ljava/lang/String;)V" since="21"/>
+		<method name="onLockTaskModeExiting(Landroid/content/Context;Landroid/content/Intent;)V" since="21"/>
+		<method name="onNetworkLogsAvailable(Landroid/content/Context;Landroid/content/Intent;JI)V" since="26"/>
+		<method name="onOperationSafetyStateChanged(Landroid/content/Context;IZ)V" since="31"/>
+		<method name="onPasswordChanged(Landroid/content/Context;Landroid/content/Intent;)V" deprecated="26"/>
+		<method name="onPasswordChanged(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26"/>
+		<method name="onPasswordExpiring(Landroid/content/Context;Landroid/content/Intent;)V" since="11" deprecated="26"/>
+		<method name="onPasswordExpiring(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26"/>
+		<method name="onPasswordFailed(Landroid/content/Context;Landroid/content/Intent;)V" deprecated="26"/>
+		<method name="onPasswordFailed(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26"/>
+		<method name="onPasswordSucceeded(Landroid/content/Context;Landroid/content/Intent;)V" deprecated="26"/>
+		<method name="onPasswordSucceeded(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26"/>
+		<method name="onProfileProvisioningComplete(Landroid/content/Context;Landroid/content/Intent;)V" since="21"/>
+		<method name="onReadyForUserInitialization(Landroid/content/Context;Landroid/content/Intent;)V" since="23" deprecated="24"/>
+		<method name="onSecurityLogsAvailable(Landroid/content/Context;Landroid/content/Intent;)V" since="24"/>
+		<method name="onSystemUpdatePending(Landroid/content/Context;Landroid/content/Intent;J)V" since="23"/>
+		<method name="onTransferAffiliatedProfileOwnershipComplete(Landroid/content/Context;Landroid/os/UserHandle;)V" since="28"/>
+		<method name="onTransferOwnershipComplete(Landroid/content/Context;Landroid/os/PersistableBundle;)V" since="28"/>
+		<method name="onUserAdded(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26"/>
+		<method name="onUserRemoved(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="26"/>
+		<method name="onUserStarted(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="28"/>
+		<method name="onUserStopped(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="28"/>
+		<method name="onUserSwitched(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V" since="28"/>
+		<field name="ACTION_CHOOSE_PRIVATE_KEY_ALIAS" since="29"/>
+		<field name="ACTION_DEVICE_ADMIN_DISABLED"/>
+		<field name="ACTION_DEVICE_ADMIN_DISABLE_REQUESTED"/>
+		<field name="ACTION_DEVICE_ADMIN_ENABLED"/>
+		<field name="ACTION_LOCK_TASK_ENTERING" since="21"/>
+		<field name="ACTION_LOCK_TASK_EXITING" since="21"/>
+		<field name="ACTION_NETWORK_LOGS_AVAILABLE" since="29"/>
+		<field name="ACTION_PASSWORD_CHANGED"/>
+		<field name="ACTION_PASSWORD_EXPIRING" since="11"/>
+		<field name="ACTION_PASSWORD_FAILED"/>
+		<field name="ACTION_PASSWORD_SUCCEEDED"/>
+		<field name="ACTION_PROFILE_PROVISIONING_COMPLETE" since="21"/>
+		<field name="ACTION_SECURITY_LOGS_AVAILABLE" since="31"/>
+		<field name="BUGREPORT_FAILURE_FAILED_COMPLETING" since="24"/>
+		<field name="BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE" since="24"/>
+		<field name="DEVICE_ADMIN_META_DATA"/>
+		<field name="EXTRA_DISABLE_WARNING"/>
+		<field name="EXTRA_LOCK_TASK_PACKAGE" since="21"/>
+		<field name="EXTRA_TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE" since="28"/>
+	</class>
+	<class name="android/app/admin/DeviceAdminService" since="26">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/app/admin/DevicePolicyManager" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="acknowledgeDeviceCompliant()V" since="31"/>
+		<method name="addCrossProfileIntentFilter(Landroid/content/ComponentName;Landroid/content/IntentFilter;I)V" since="21"/>
+		<method name="addCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="21"/>
+		<method name="addOverrideApn(Landroid/content/ComponentName;Landroid/telephony/data/ApnSetting;)I" since="28"/>
+		<method name="addPersistentPreferredActivity(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/content/ComponentName;)V" since="21"/>
+		<method name="addUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;)V" since="21"/>
+		<method name="bindDeviceAdminServiceAsUser(Landroid/content/ComponentName;Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z" since="26"/>
+		<method name="canAdminGrantSensorsPermissions()Z" since="31"/>
+		<method name="canUsbDataSignalingBeDisabled()Z" since="31"/>
+		<method name="clearApplicationUserData(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/app/admin/DevicePolicyManager$OnClearApplicationUserDataListener;)V" since="28"/>
+		<method name="clearCrossProfileIntentFilters(Landroid/content/ComponentName;)V" since="21"/>
+		<method name="clearDeviceOwnerApp(Ljava/lang/String;)V" since="21" deprecated="26"/>
+		<method name="clearPackagePersistentPreferredActivities(Landroid/content/ComponentName;Ljava/lang/String;)V" since="21"/>
+		<method name="clearProfileOwner(Landroid/content/ComponentName;)V" since="24" deprecated="26"/>
+		<method name="clearResetPasswordToken(Landroid/content/ComponentName;)Z" since="26"/>
+		<method name="clearUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;)V" since="21"/>
+		<method name="createAdminSupportIntent(Ljava/lang/String;)Landroid/content/Intent;" since="26"/>
+		<method name="createAndInitializeUser(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/Bundle;)Landroid/os/UserHandle;" since="21" deprecated="23" removed="24"/>
+		<method name="createAndManageUser(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/PersistableBundle;I)Landroid/os/UserHandle;" since="24"/>
+		<method name="createUser(Landroid/content/ComponentName;Ljava/lang/String;)Landroid/os/UserHandle;" since="21" deprecated="23" removed="24"/>
+		<method name="enableSystemApp(Landroid/content/ComponentName;Landroid/content/Intent;)I" since="21"/>
+		<method name="enableSystemApp(Landroid/content/ComponentName;Ljava/lang/String;)V" since="21"/>
+		<method name="generateKeyPair(Landroid/content/ComponentName;Ljava/lang/String;Landroid/security/keystore/KeyGenParameterSpec;I)Landroid/security/AttestedKeyPair;" since="28"/>
+		<method name="getAccountTypesWithManagementDisabled()[Ljava/lang/String;" since="21"/>
+		<method name="getActiveAdmins()Ljava/util/List;"/>
+		<method name="getAffiliationIds(Landroid/content/ComponentName;)Ljava/util/Set;" since="26"/>
+		<method name="getAlwaysOnVpnLockdownWhitelist(Landroid/content/ComponentName;)Ljava/util/Set;" since="29"/>
+		<method name="getAlwaysOnVpnPackage(Landroid/content/ComponentName;)Ljava/lang/String;" since="24"/>
+		<method name="getApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;)Landroid/os/Bundle;" since="21"/>
+		<method name="getApplicationRestrictionsManagingPackage(Landroid/content/ComponentName;)Ljava/lang/String;" since="24" deprecated="26"/>
+		<method name="getAutoTimeEnabled(Landroid/content/ComponentName;)Z" since="30"/>
+		<method name="getAutoTimeRequired()Z" since="21" deprecated="30"/>
+		<method name="getAutoTimeZoneEnabled(Landroid/content/ComponentName;)Z" since="30"/>
+		<method name="getBindDeviceAdminTargetUsers(Landroid/content/ComponentName;)Ljava/util/List;" since="26"/>
+		<method name="getBluetoothContactSharingDisabled(Landroid/content/ComponentName;)Z" since="23"/>
+		<method name="getCameraDisabled(Landroid/content/ComponentName;)Z" since="14"/>
+		<method name="getCertInstallerPackage(Landroid/content/ComponentName;)Ljava/lang/String;" since="23" deprecated="26"/>
+		<method name="getCrossProfileCalendarPackages(Landroid/content/ComponentName;)Ljava/util/Set;" since="29"/>
+		<method name="getCrossProfileCallerIdDisabled(Landroid/content/ComponentName;)Z" since="21"/>
+		<method name="getCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;)Z" since="24"/>
+		<method name="getCrossProfilePackages(Landroid/content/ComponentName;)Ljava/util/Set;" since="30"/>
+		<method name="getCrossProfileWidgetProviders(Landroid/content/ComponentName;)Ljava/util/List;" since="21"/>
+		<method name="getCurrentFailedPasswordAttempts()I"/>
+		<method name="getDelegatePackages(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;" since="26"/>
+		<method name="getDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;" since="26"/>
+		<method name="getDeviceOwnerLockScreenInfo()Ljava/lang/CharSequence;" since="24"/>
+		<method name="getEndUserSessionMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;" since="28"/>
+		<method name="getEnrollmentSpecificId()Ljava/lang/String;" since="31"/>
+		<method name="getFactoryResetProtectionPolicy(Landroid/content/ComponentName;)Landroid/app/admin/FactoryResetProtectionPolicy;" since="30"/>
+		<method name="getGlobalPrivateDnsHost(Landroid/content/ComponentName;)Ljava/lang/String;" since="29"/>
+		<method name="getGlobalPrivateDnsMode(Landroid/content/ComponentName;)I" since="29"/>
+		<method name="getInstalledCaCerts(Landroid/content/ComponentName;)Ljava/util/List;" since="21"/>
+		<method name="getKeepUninstalledPackages(Landroid/content/ComponentName;)Ljava/util/List;" since="28"/>
+		<method name="getKeyPairGrants(Ljava/lang/String;)Ljava/util/Map;" since="31"/>
+		<method name="getKeyguardDisabledFeatures(Landroid/content/ComponentName;)I" since="17"/>
+		<method name="getLockTaskFeatures(Landroid/content/ComponentName;)I" since="28"/>
+		<method name="getLockTaskPackages(Landroid/content/ComponentName;)[Ljava/lang/String;" since="26"/>
+		<method name="getLongSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;" since="24"/>
+		<method name="getManagedProfileMaximumTimeOff(Landroid/content/ComponentName;)J" since="30"/>
+		<method name="getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;)I"/>
+		<method name="getMaximumTimeToLock(Landroid/content/ComponentName;)J"/>
+		<method name="getMeteredDataDisabledPackages(Landroid/content/ComponentName;)Ljava/util/List;" since="28"/>
+		<method name="getNearbyAppStreamingPolicy()I" since="31"/>
+		<method name="getNearbyNotificationStreamingPolicy()I" since="31"/>
+		<method name="getOrganizationColor(Landroid/content/ComponentName;)I" since="24" deprecated="31"/>
+		<method name="getOrganizationName(Landroid/content/ComponentName;)Ljava/lang/CharSequence;" since="24"/>
+		<method name="getOverrideApns(Landroid/content/ComponentName;)Ljava/util/List;" since="28"/>
+		<method name="getParentProfileInstance(Landroid/content/ComponentName;)Landroid/app/admin/DevicePolicyManager;" since="24"/>
+		<method name="getPasswordComplexity()I" since="29"/>
+		<method name="getPasswordExpiration(Landroid/content/ComponentName;)J" since="11"/>
+		<method name="getPasswordExpirationTimeout(Landroid/content/ComponentName;)J" since="11"/>
+		<method name="getPasswordHistoryLength(Landroid/content/ComponentName;)I" since="11"/>
+		<method name="getPasswordMaximumLength(I)I"/>
+		<method name="getPasswordMinimumLength(Landroid/content/ComponentName;)I" deprecated="31"/>
+		<method name="getPasswordMinimumLetters(Landroid/content/ComponentName;)I" since="11" deprecated="31"/>
+		<method name="getPasswordMinimumLowerCase(Landroid/content/ComponentName;)I" since="11" deprecated="31"/>
+		<method name="getPasswordMinimumNonLetter(Landroid/content/ComponentName;)I" since="11" deprecated="31"/>
+		<method name="getPasswordMinimumNumeric(Landroid/content/ComponentName;)I" since="11" deprecated="31"/>
+		<method name="getPasswordMinimumSymbols(Landroid/content/ComponentName;)I" since="11" deprecated="31"/>
+		<method name="getPasswordMinimumUpperCase(Landroid/content/ComponentName;)I" since="11" deprecated="31"/>
+		<method name="getPasswordQuality(Landroid/content/ComponentName;)I" deprecated="31"/>
+		<method name="getPendingSystemUpdate(Landroid/content/ComponentName;)Landroid/app/admin/SystemUpdateInfo;" since="26"/>
+		<method name="getPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)I" since="23"/>
+		<method name="getPermissionPolicy(Landroid/content/ComponentName;)I" since="23"/>
+		<method name="getPermittedAccessibilityServices(Landroid/content/ComponentName;)Ljava/util/List;" since="21"/>
+		<method name="getPermittedCrossProfileNotificationListeners(Landroid/content/ComponentName;)Ljava/util/List;" since="26"/>
+		<method name="getPermittedInputMethods(Landroid/content/ComponentName;)Ljava/util/List;" since="21"/>
+		<method name="getPersonalAppsSuspendedReasons(Landroid/content/ComponentName;)I" since="30"/>
+		<method name="getRequiredPasswordComplexity()I" since="31"/>
+		<method name="getRequiredStrongAuthTimeout(Landroid/content/ComponentName;)J" since="26"/>
+		<method name="getScreenCaptureDisabled(Landroid/content/ComponentName;)Z" since="21"/>
+		<method name="getSecondaryUsers(Landroid/content/ComponentName;)Ljava/util/List;" since="28"/>
+		<method name="getShortSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;" since="24"/>
+		<method name="getStartUserSessionMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;" since="28"/>
+		<method name="getStorageEncryption(Landroid/content/ComponentName;)Z" since="11" deprecated="30"/>
+		<method name="getStorageEncryptionStatus()I" since="11"/>
+		<method name="getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;" since="23"/>
+		<method name="getTransferOwnershipBundle()Landroid/os/PersistableBundle;" since="28"/>
+		<method name="getTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;)Ljava/util/List;" since="23"/>
+		<method name="getUserControlDisabledPackages(Landroid/content/ComponentName;)Ljava/util/List;" since="30"/>
+		<method name="getUserRestrictions(Landroid/content/ComponentName;)Landroid/os/Bundle;" since="24"/>
+		<method name="getWifiMacAddress(Landroid/content/ComponentName;)Ljava/lang/String;" since="24"/>
+		<method name="grantKeyPairToApp(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z" since="30"/>
+		<method name="grantKeyPairToWifiAuth(Ljava/lang/String;)Z" since="31"/>
+		<method name="hasCaCertInstalled(Landroid/content/ComponentName;[B)Z" since="21"/>
+		<method name="hasGrantedPolicy(Landroid/content/ComponentName;I)Z" since="11"/>
+		<method name="hasKeyPair(Ljava/lang/String;)Z" since="31"/>
+		<method name="hasLockdownAdminConfiguredNetworks(Landroid/content/ComponentName;)Z" since="30"/>
+		<method name="installCaCert(Landroid/content/ComponentName;[B)Z" since="21"/>
+		<method name="installExistingPackage(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="28"/>
+		<method name="installKeyPair(Landroid/content/ComponentName;Ljava/security/PrivateKey;Ljava/security/cert/Certificate;Ljava/lang/String;)Z" since="21"/>
+		<method name="installKeyPair(Landroid/content/ComponentName;Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/lang/String;I)Z" since="28"/>
+		<method name="installKeyPair(Landroid/content/ComponentName;Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/lang/String;Z)Z" since="24"/>
+		<method name="installSystemUpdate(Landroid/content/ComponentName;Landroid/net/Uri;Ljava/util/concurrent/Executor;Landroid/app/admin/DevicePolicyManager$InstallSystemUpdateCallback;)V" since="29"/>
+		<method name="isActivePasswordSufficient()Z"/>
+		<method name="isActivePasswordSufficientForDeviceRequirement()Z" since="31"/>
+		<method name="isAdminActive(Landroid/content/ComponentName;)Z"/>
+		<method name="isAffiliatedUser()Z" since="28"/>
+		<method name="isAlwaysOnVpnLockdownEnabled(Landroid/content/ComponentName;)Z" since="29"/>
+		<method name="isApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="21"/>
+		<method name="isBackupServiceEnabled(Landroid/content/ComponentName;)Z" since="26"/>
+		<method name="isCallerApplicationRestrictionsManagingPackage()Z" since="24" deprecated="26"/>
+		<method name="isCommonCriteriaModeEnabled(Landroid/content/ComponentName;)Z" since="30"/>
+		<method name="isComplianceAcknowledgementRequired()Z" since="31"/>
+		<method name="isDeviceIdAttestationSupported()Z" since="28"/>
+		<method name="isDeviceOwnerApp(Ljava/lang/String;)Z" since="18"/>
+		<method name="isEphemeralUser(Landroid/content/ComponentName;)Z" since="28"/>
+		<method name="isKeyPairGrantedToWifiAuth(Ljava/lang/String;)Z" since="31"/>
+		<method name="isLockTaskPermitted(Ljava/lang/String;)Z" since="21"/>
+		<method name="isLogoutEnabled()Z" since="28"/>
+		<method name="isManagedProfile(Landroid/content/ComponentName;)Z" since="24"/>
+		<method name="isMasterVolumeMuted(Landroid/content/ComponentName;)Z" since="21"/>
+		<method name="isNetworkLoggingEnabled(Landroid/content/ComponentName;)Z" since="26"/>
+		<method name="isOrganizationOwnedDeviceWithManagedProfile()Z" since="30"/>
+		<method name="isOverrideApnEnabled(Landroid/content/ComponentName;)Z" since="28"/>
+		<method name="isPackageSuspended(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="24"/>
+		<method name="isPreferentialNetworkServiceEnabled()Z" since="31"/>
+		<method name="isProfileOwnerApp(Ljava/lang/String;)Z" since="21"/>
+		<method name="isProvisioningAllowed(Ljava/lang/String;)Z" since="24"/>
+		<method name="isResetPasswordTokenActive(Landroid/content/ComponentName;)Z" since="26"/>
+		<method name="isSafeOperation(I)Z" since="31"/>
+		<method name="isSecurityLoggingEnabled(Landroid/content/ComponentName;)Z" since="24"/>
+		<method name="isUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="21"/>
+		<method name="isUniqueDeviceAttestationSupported()Z" since="30"/>
+		<method name="isUsbDataSignalingEnabled()Z" since="31"/>
+		<method name="isUsingUnifiedPassword(Landroid/content/ComponentName;)Z" since="28"/>
+		<method name="listForegroundAffiliatedUsers()Ljava/util/List;" since="31"/>
+		<method name="lockNow()V"/>
+		<method name="lockNow(I)V" since="26"/>
+		<method name="logoutUser(Landroid/content/ComponentName;)I" since="28"/>
+		<method name="reboot(Landroid/content/ComponentName;)V" since="24"/>
+		<method name="removeActiveAdmin(Landroid/content/ComponentName;)V"/>
+		<method name="removeCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="21"/>
+		<method name="removeKeyPair(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="24"/>
+		<method name="removeOverrideApn(Landroid/content/ComponentName;I)Z" since="28"/>
+		<method name="removeUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z" since="21"/>
+		<method name="requestBugreport(Landroid/content/ComponentName;)Z" since="24"/>
+		<method name="resetPassword(Ljava/lang/String;I)Z" deprecated="30"/>
+		<method name="resetPasswordWithToken(Landroid/content/ComponentName;Ljava/lang/String;[BI)Z" since="26"/>
+		<method name="retrieveNetworkLogs(Landroid/content/ComponentName;J)Ljava/util/List;" since="26"/>
+		<method name="retrievePreRebootSecurityLogs(Landroid/content/ComponentName;)Ljava/util/List;" since="24"/>
+		<method name="retrieveSecurityLogs(Landroid/content/ComponentName;)Ljava/util/List;" since="24"/>
+		<method name="revokeKeyPairFromApp(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z" since="30"/>
+		<method name="revokeKeyPairFromWifiAuth(Ljava/lang/String;)Z" since="31"/>
+		<method name="setAccountManagementDisabled(Landroid/content/ComponentName;Ljava/lang/String;Z)V" since="21"/>
+		<method name="setAffiliationIds(Landroid/content/ComponentName;Ljava/util/Set;)V" since="26"/>
+		<method name="setAlwaysOnVpnPackage(Landroid/content/ComponentName;Ljava/lang/String;Z)V" since="24"/>
+		<method name="setAlwaysOnVpnPackage(Landroid/content/ComponentName;Ljava/lang/String;ZLjava/util/Set;)V" since="29"/>
+		<method name="setApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;Z)Z" since="21"/>
+		<method name="setApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/Bundle;)V" since="21"/>
+		<method name="setApplicationRestrictionsManagingPackage(Landroid/content/ComponentName;Ljava/lang/String;)V" since="24" deprecated="26"/>
+		<method name="setAutoTimeEnabled(Landroid/content/ComponentName;Z)V" since="30"/>
+		<method name="setAutoTimeRequired(Landroid/content/ComponentName;Z)V" since="21" deprecated="30"/>
+		<method name="setAutoTimeZoneEnabled(Landroid/content/ComponentName;Z)V" since="30"/>
+		<method name="setBackupServiceEnabled(Landroid/content/ComponentName;Z)V" since="26"/>
+		<method name="setBluetoothContactSharingDisabled(Landroid/content/ComponentName;Z)V" since="23"/>
+		<method name="setCameraDisabled(Landroid/content/ComponentName;Z)V" since="14"/>
+		<method name="setCertInstallerPackage(Landroid/content/ComponentName;Ljava/lang/String;)V" since="23" deprecated="26"/>
+		<method name="setCommonCriteriaModeEnabled(Landroid/content/ComponentName;Z)V" since="30"/>
+		<method name="setConfiguredNetworksLockdownState(Landroid/content/ComponentName;Z)V" since="30"/>
+		<method name="setCrossProfileCalendarPackages(Landroid/content/ComponentName;Ljava/util/Set;)V" since="29"/>
+		<method name="setCrossProfileCallerIdDisabled(Landroid/content/ComponentName;Z)V" since="21"/>
+		<method name="setCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;Z)V" since="24"/>
+		<method name="setCrossProfilePackages(Landroid/content/ComponentName;Ljava/util/Set;)V" since="30"/>
+		<method name="setDefaultSmsApplication(Landroid/content/ComponentName;Ljava/lang/String;)V" since="29"/>
+		<method name="setDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V" since="26"/>
+		<method name="setDeviceOwnerLockScreenInfo(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="24"/>
+		<method name="setEndUserSessionMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="28"/>
+		<method name="setFactoryResetProtectionPolicy(Landroid/content/ComponentName;Landroid/app/admin/FactoryResetProtectionPolicy;)V" since="30"/>
+		<method name="setGlobalPrivateDnsModeOpportunistic(Landroid/content/ComponentName;)I" since="29"/>
+		<method name="setGlobalPrivateDnsModeSpecifiedHost(Landroid/content/ComponentName;Ljava/lang/String;)I" since="29"/>
+		<method name="setGlobalSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V" since="21"/>
+		<method name="setKeepUninstalledPackages(Landroid/content/ComponentName;Ljava/util/List;)V" since="28"/>
+		<method name="setKeyPairCertificate(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;Z)Z" since="28"/>
+		<method name="setKeyguardDisabled(Landroid/content/ComponentName;Z)Z" since="23"/>
+		<method name="setKeyguardDisabledFeatures(Landroid/content/ComponentName;I)V" since="17"/>
+		<method name="setLocationEnabled(Landroid/content/ComponentName;Z)V" since="30"/>
+		<method name="setLockTaskFeatures(Landroid/content/ComponentName;I)V" since="28"/>
+		<method name="setLockTaskPackages(Landroid/content/ComponentName;[Ljava/lang/String;)V" since="21"/>
+		<method name="setLogoutEnabled(Landroid/content/ComponentName;Z)V" since="28"/>
+		<method name="setLongSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="24"/>
+		<method name="setManagedProfileMaximumTimeOff(Landroid/content/ComponentName;J)V" since="30"/>
+		<method name="setMasterVolumeMuted(Landroid/content/ComponentName;Z)V" since="21"/>
+		<method name="setMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;I)V"/>
+		<method name="setMaximumTimeToLock(Landroid/content/ComponentName;J)V"/>
+		<method name="setMeteredDataDisabledPackages(Landroid/content/ComponentName;Ljava/util/List;)Ljava/util/List;" since="28"/>
+		<method name="setNearbyAppStreamingPolicy(I)V" since="31"/>
+		<method name="setNearbyNotificationStreamingPolicy(I)V" since="31"/>
+		<method name="setNetworkLoggingEnabled(Landroid/content/ComponentName;Z)V" since="26"/>
+		<method name="setOrganizationColor(Landroid/content/ComponentName;I)V" since="24" deprecated="31"/>
+		<method name="setOrganizationId(Ljava/lang/String;)V" since="31"/>
+		<method name="setOrganizationName(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="24"/>
+		<method name="setOverrideApnsEnabled(Landroid/content/ComponentName;Z)V" since="28"/>
+		<method name="setPackagesSuspended(Landroid/content/ComponentName;[Ljava/lang/String;Z)[Ljava/lang/String;" since="24"/>
+		<method name="setPasswordExpirationTimeout(Landroid/content/ComponentName;J)V" since="11"/>
+		<method name="setPasswordHistoryLength(Landroid/content/ComponentName;I)V" since="11"/>
+		<method name="setPasswordMinimumLength(Landroid/content/ComponentName;I)V" deprecated="31"/>
+		<method name="setPasswordMinimumLetters(Landroid/content/ComponentName;I)V" since="11" deprecated="31"/>
+		<method name="setPasswordMinimumLowerCase(Landroid/content/ComponentName;I)V" since="11" deprecated="31"/>
+		<method name="setPasswordMinimumNonLetter(Landroid/content/ComponentName;I)V" since="11" deprecated="31"/>
+		<method name="setPasswordMinimumNumeric(Landroid/content/ComponentName;I)V" since="11" deprecated="31"/>
+		<method name="setPasswordMinimumSymbols(Landroid/content/ComponentName;I)V" since="11" deprecated="31"/>
+		<method name="setPasswordMinimumUpperCase(Landroid/content/ComponentName;I)V" since="11" deprecated="31"/>
+		<method name="setPasswordQuality(Landroid/content/ComponentName;I)V" deprecated="31"/>
+		<method name="setPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;I)Z" since="23"/>
+		<method name="setPermissionPolicy(Landroid/content/ComponentName;I)V" since="23"/>
+		<method name="setPermittedAccessibilityServices(Landroid/content/ComponentName;Ljava/util/List;)Z" since="21"/>
+		<method name="setPermittedCrossProfileNotificationListeners(Landroid/content/ComponentName;Ljava/util/List;)Z" since="26"/>
+		<method name="setPermittedInputMethods(Landroid/content/ComponentName;Ljava/util/List;)Z" since="21"/>
+		<method name="setPersonalAppsSuspended(Landroid/content/ComponentName;Z)V" since="30"/>
+		<method name="setPreferentialNetworkServiceEnabled(Z)V" since="31"/>
+		<method name="setProfileEnabled(Landroid/content/ComponentName;)V" since="21"/>
+		<method name="setProfileName(Landroid/content/ComponentName;Ljava/lang/String;)V" since="21"/>
+		<method name="setRecommendedGlobalProxy(Landroid/content/ComponentName;Landroid/net/ProxyInfo;)V" since="21"/>
+		<method name="setRequiredPasswordComplexity(I)V" since="31"/>
+		<method name="setRequiredStrongAuthTimeout(Landroid/content/ComponentName;J)V" since="26"/>
+		<method name="setResetPasswordToken(Landroid/content/ComponentName;[B)Z" since="26"/>
+		<method name="setRestrictionsProvider(Landroid/content/ComponentName;Landroid/content/ComponentName;)V" since="21"/>
+		<method name="setScreenCaptureDisabled(Landroid/content/ComponentName;Z)V" since="21"/>
+		<method name="setSecureSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V" since="21"/>
+		<method name="setSecurityLoggingEnabled(Landroid/content/ComponentName;Z)V" since="24"/>
+		<method name="setShortSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="24"/>
+		<method name="setStartUserSessionMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V" since="28"/>
+		<method name="setStatusBarDisabled(Landroid/content/ComponentName;Z)Z" since="23"/>
+		<method name="setStorageEncryption(Landroid/content/ComponentName;Z)I" since="11" deprecated="30"/>
+		<method name="setSystemSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V" since="28"/>
+		<method name="setSystemUpdatePolicy(Landroid/content/ComponentName;Landroid/app/admin/SystemUpdatePolicy;)V" since="23"/>
+		<method name="setTime(Landroid/content/ComponentName;J)Z" since="28"/>
+		<method name="setTimeZone(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="28"/>
+		<method name="setTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/os/PersistableBundle;)V" since="23"/>
+		<method name="setUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;Z)V" since="21"/>
+		<method name="setUsbDataSignalingEnabled(Z)V" since="31"/>
+		<method name="setUserControlDisabledPackages(Landroid/content/ComponentName;Ljava/util/List;)V" since="30"/>
+		<method name="setUserIcon(Landroid/content/ComponentName;Landroid/graphics/Bitmap;)V" since="23"/>
+		<method name="startUserInBackground(Landroid/content/ComponentName;Landroid/os/UserHandle;)I" since="28"/>
+		<method name="stopUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)I" since="28"/>
+		<method name="switchUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z" since="21"/>
+		<method name="transferOwnership(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/os/PersistableBundle;)V" since="28"/>
+		<method name="uninstallAllUserCaCerts(Landroid/content/ComponentName;)V" since="21"/>
+		<method name="uninstallCaCert(Landroid/content/ComponentName;[B)V" since="21"/>
+		<method name="updateOverrideApn(Landroid/content/ComponentName;ILandroid/telephony/data/ApnSetting;)Z" since="28"/>
+		<method name="wipeData(I)V"/>
+		<method name="wipeData(ILjava/lang/CharSequence;)V" since="28"/>
+		<field name="ACTION_ADD_DEVICE_ADMIN"/>
+		<field name="ACTION_ADMIN_POLICY_COMPLIANCE" since="29"/>
+		<field name="ACTION_APPLICATION_DELEGATION_SCOPES_CHANGED" since="26"/>
+		<field name="ACTION_CHECK_POLICY_COMPLIANCE" since="30"/>
+		<field name="ACTION_DEVICE_ADMIN_SERVICE" since="26"/>
+		<field name="ACTION_DEVICE_OWNER_CHANGED" since="23"/>
+		<field name="ACTION_GET_PROVISIONING_MODE" since="29"/>
+		<field name="ACTION_MANAGED_PROFILE_PROVISIONED" since="23"/>
+		<field name="ACTION_PROFILE_OWNER_CHANGED" since="28"/>
+		<field name="ACTION_PROVISIONING_SUCCESSFUL" since="26"/>
+		<field name="ACTION_PROVISION_MANAGED_DEVICE" since="23" deprecated="31"/>
+		<field name="ACTION_PROVISION_MANAGED_PROFILE" since="21"/>
+		<field name="ACTION_SET_NEW_PARENT_PROFILE_PASSWORD" since="24"/>
+		<field name="ACTION_SET_NEW_PASSWORD"/>
+		<field name="ACTION_START_ENCRYPTION" since="11"/>
+		<field name="ACTION_SYSTEM_UPDATE_POLICY_CHANGED" since="23"/>
+		<field name="DELEGATION_APP_RESTRICTIONS" since="26"/>
+		<field name="DELEGATION_BLOCK_UNINSTALL" since="26"/>
+		<field name="DELEGATION_CERT_INSTALL" since="26"/>
+		<field name="DELEGATION_CERT_SELECTION" since="29"/>
+		<field name="DELEGATION_ENABLE_SYSTEM_APP" since="26"/>
+		<field name="DELEGATION_INSTALL_EXISTING_PACKAGE" since="28"/>
+		<field name="DELEGATION_KEEP_UNINSTALLED_PACKAGES" since="28"/>
+		<field name="DELEGATION_NETWORK_LOGGING" since="29"/>
+		<field name="DELEGATION_PACKAGE_ACCESS" since="26"/>
+		<field name="DELEGATION_PERMISSION_GRANT" since="26"/>
+		<field name="DELEGATION_SECURITY_LOGGING" since="31"/>
+		<field name="ENCRYPTION_STATUS_ACTIVATING" since="11"/>
+		<field name="ENCRYPTION_STATUS_ACTIVE" since="11"/>
+		<field name="ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY" since="23"/>
+		<field name="ENCRYPTION_STATUS_ACTIVE_PER_USER" since="24"/>
+		<field name="ENCRYPTION_STATUS_INACTIVE" since="11"/>
+		<field name="ENCRYPTION_STATUS_UNSUPPORTED" since="11"/>
+		<field name="EXTRA_ADD_EXPLANATION"/>
+		<field name="EXTRA_DELEGATION_SCOPES" since="26"/>
+		<field name="EXTRA_DEVICE_ADMIN"/>
+		<field name="EXTRA_DEVICE_PASSWORD_REQUIREMENT_ONLY" since="31"/>
+		<field name="EXTRA_PASSWORD_COMPLEXITY" since="29"/>
+		<field name="EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE" since="22"/>
+		<field name="EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE" since="21"/>
+		<field name="EXTRA_PROVISIONING_ALLOWED_PROVISIONING_MODES" since="31"/>
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME" since="23"/>
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_MINIMUM_VERSION_CODE" since="23"/>
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_CHECKSUM" since="21"/>
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_COOKIE_HEADER" since="21"/>
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION" since="21"/>
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_NAME" since="21" deprecated="23"/>
+		<field name="EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM" since="23"/>
+		<field name="EXTRA_PROVISIONING_DISCLAIMERS" since="26"/>
+		<field name="EXTRA_PROVISIONING_DISCLAIMER_CONTENT" since="26"/>
+		<field name="EXTRA_PROVISIONING_DISCLAIMER_HEADER" since="26"/>
+		<field name="EXTRA_PROVISIONING_EMAIL_ADDRESS" since="21" deprecated="26"/>
+		<field name="EXTRA_PROVISIONING_IMEI" since="29"/>
+		<field name="EXTRA_PROVISIONING_KEEP_ACCOUNT_ON_MIGRATION" since="26"/>
+		<field name="EXTRA_PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED" since="22"/>
+		<field name="EXTRA_PROVISIONING_LOCALE" since="21"/>
+		<field name="EXTRA_PROVISIONING_LOCAL_TIME" since="21"/>
+		<field name="EXTRA_PROVISIONING_LOGO_URI" since="24"/>
+		<field name="EXTRA_PROVISIONING_MAIN_COLOR" since="24" deprecated="31"/>
+		<field name="EXTRA_PROVISIONING_MODE" since="29"/>
+		<field name="EXTRA_PROVISIONING_SENSORS_PERMISSION_GRANT_OPT_OUT" since="31"/>
+		<field name="EXTRA_PROVISIONING_SERIAL_NUMBER" since="29"/>
+		<field name="EXTRA_PROVISIONING_SKIP_EDUCATION_SCREENS" since="29"/>
+		<field name="EXTRA_PROVISIONING_SKIP_ENCRYPTION" since="23"/>
+		<field name="EXTRA_PROVISIONING_SKIP_USER_CONSENT" since="26" deprecated="31"/>
+		<field name="EXTRA_PROVISIONING_TIME_ZONE" since="21"/>
+		<field name="EXTRA_PROVISIONING_WIFI_ANONYMOUS_IDENTITY" since="29"/>
+		<field name="EXTRA_PROVISIONING_WIFI_CA_CERTIFICATE" since="29"/>
+		<field name="EXTRA_PROVISIONING_WIFI_DOMAIN" since="29"/>
+		<field name="EXTRA_PROVISIONING_WIFI_EAP_METHOD" since="29"/>
+		<field name="EXTRA_PROVISIONING_WIFI_HIDDEN" since="21"/>
+		<field name="EXTRA_PROVISIONING_WIFI_IDENTITY" since="29"/>
+		<field name="EXTRA_PROVISIONING_WIFI_PAC_URL" since="21"/>
+		<field name="EXTRA_PROVISIONING_WIFI_PASSWORD" since="21"/>
+		<field name="EXTRA_PROVISIONING_WIFI_PHASE2_AUTH" since="29"/>
+		<field name="EXTRA_PROVISIONING_WIFI_PROXY_BYPASS" since="21"/>
+		<field name="EXTRA_PROVISIONING_WIFI_PROXY_HOST" since="21"/>
+		<field name="EXTRA_PROVISIONING_WIFI_PROXY_PORT" since="21"/>
+		<field name="EXTRA_PROVISIONING_WIFI_SECURITY_TYPE" since="21"/>
+		<field name="EXTRA_PROVISIONING_WIFI_SSID" since="21"/>
+		<field name="EXTRA_PROVISIONING_WIFI_USER_CERTIFICATE" since="29"/>
+		<field name="FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY" since="26"/>
+		<field name="FLAG_MANAGED_CAN_ACCESS_PARENT" since="21"/>
+		<field name="FLAG_PARENT_CAN_ACCESS_MANAGED" since="21"/>
+		<field name="ID_TYPE_BASE_INFO" since="28"/>
+		<field name="ID_TYPE_IMEI" since="28"/>
+		<field name="ID_TYPE_INDIVIDUAL_ATTESTATION" since="30"/>
+		<field name="ID_TYPE_MEID" since="28"/>
+		<field name="ID_TYPE_SERIAL" since="28"/>
+		<field name="INSTALLKEY_REQUEST_CREDENTIALS_ACCESS" since="28"/>
+		<field name="INSTALLKEY_SET_USER_SELECTABLE" since="28"/>
+		<field name="KEYGUARD_DISABLE_BIOMETRICS" since="28"/>
+		<field name="KEYGUARD_DISABLE_FACE" since="28"/>
+		<field name="KEYGUARD_DISABLE_FEATURES_ALL" since="17"/>
+		<field name="KEYGUARD_DISABLE_FEATURES_NONE" since="17"/>
+		<field name="KEYGUARD_DISABLE_FINGERPRINT" since="21"/>
+		<field name="KEYGUARD_DISABLE_IRIS" since="28"/>
+		<field name="KEYGUARD_DISABLE_REMOTE_INPUT" since="24"/>
+		<field name="KEYGUARD_DISABLE_SECURE_CAMERA" since="17"/>
+		<field name="KEYGUARD_DISABLE_SECURE_NOTIFICATIONS" since="21"/>
+		<field name="KEYGUARD_DISABLE_TRUST_AGENTS" since="21"/>
+		<field name="KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS" since="21"/>
+		<field name="KEYGUARD_DISABLE_WIDGETS_ALL" since="17"/>
+		<field name="LEAVE_ALL_SYSTEM_APPS_ENABLED" since="28"/>
+		<field name="LOCK_TASK_FEATURE_BLOCK_ACTIVITY_START_IN_TASK" since="30"/>
+		<field name="LOCK_TASK_FEATURE_GLOBAL_ACTIONS" since="28"/>
+		<field name="LOCK_TASK_FEATURE_HOME" since="28"/>
+		<field name="LOCK_TASK_FEATURE_KEYGUARD" since="28"/>
+		<field name="LOCK_TASK_FEATURE_NONE" since="28"/>
+		<field name="LOCK_TASK_FEATURE_NOTIFICATIONS" since="28"/>
+		<field name="LOCK_TASK_FEATURE_OVERVIEW" since="28"/>
+		<field name="LOCK_TASK_FEATURE_SYSTEM_INFO" since="28"/>
+		<field name="MAKE_USER_EPHEMERAL" since="28"/>
+		<field name="MIME_TYPE_PROVISIONING_NFC" since="21"/>
+		<field name="NEARBY_STREAMING_DISABLED" since="31"/>
+		<field name="NEARBY_STREAMING_ENABLED" since="31"/>
+		<field name="NEARBY_STREAMING_NOT_CONTROLLED_BY_POLICY" since="31"/>
+		<field name="NEARBY_STREAMING_SAME_MANAGED_ACCOUNT_ONLY" since="31"/>
+		<field name="OPERATION_SAFETY_REASON_DRIVING_DISTRACTION" since="31"/>
+		<field name="PASSWORD_COMPLEXITY_HIGH" since="29"/>
+		<field name="PASSWORD_COMPLEXITY_LOW" since="29"/>
+		<field name="PASSWORD_COMPLEXITY_MEDIUM" since="29"/>
+		<field name="PASSWORD_COMPLEXITY_NONE" since="29"/>
+		<field name="PASSWORD_QUALITY_ALPHABETIC"/>
+		<field name="PASSWORD_QUALITY_ALPHANUMERIC"/>
+		<field name="PASSWORD_QUALITY_BIOMETRIC_WEAK" since="14"/>
+		<field name="PASSWORD_QUALITY_COMPLEX" since="11"/>
+		<field name="PASSWORD_QUALITY_NUMERIC"/>
+		<field name="PASSWORD_QUALITY_NUMERIC_COMPLEX" since="21"/>
+		<field name="PASSWORD_QUALITY_SOMETHING"/>
+		<field name="PASSWORD_QUALITY_UNSPECIFIED"/>
+		<field name="PERMISSION_GRANT_STATE_DEFAULT" since="23"/>
+		<field name="PERMISSION_GRANT_STATE_DENIED" since="23"/>
+		<field name="PERMISSION_GRANT_STATE_GRANTED" since="23"/>
+		<field name="PERMISSION_POLICY_AUTO_DENY" since="23"/>
+		<field name="PERMISSION_POLICY_AUTO_GRANT" since="23"/>
+		<field name="PERMISSION_POLICY_PROMPT" since="23"/>
+		<field name="PERSONAL_APPS_NOT_SUSPENDED" since="30"/>
+		<field name="PERSONAL_APPS_SUSPENDED_EXPLICITLY" since="30"/>
+		<field name="PERSONAL_APPS_SUSPENDED_PROFILE_TIMEOUT" since="30"/>
+		<field name="POLICY_DISABLE_CAMERA" since="26"/>
+		<field name="POLICY_DISABLE_SCREEN_CAPTURE" since="26"/>
+		<field name="PRIVATE_DNS_MODE_OFF" since="29"/>
+		<field name="PRIVATE_DNS_MODE_OPPORTUNISTIC" since="29"/>
+		<field name="PRIVATE_DNS_MODE_PROVIDER_HOSTNAME" since="29"/>
+		<field name="PRIVATE_DNS_MODE_UNKNOWN" since="29"/>
+		<field name="PRIVATE_DNS_SET_ERROR_FAILURE_SETTING" since="29"/>
+		<field name="PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING" since="29"/>
+		<field name="PRIVATE_DNS_SET_NO_ERROR" since="29"/>
+		<field name="PROVISIONING_MODE_FULLY_MANAGED_DEVICE" since="29"/>
+		<field name="PROVISIONING_MODE_MANAGED_PROFILE" since="29"/>
+		<field name="PROVISIONING_MODE_MANAGED_PROFILE_ON_PERSONAL_DEVICE" since="31"/>
+		<field name="RESET_PASSWORD_DO_NOT_ASK_CREDENTIALS_ON_BOOT" since="23"/>
+		<field name="RESET_PASSWORD_REQUIRE_ENTRY"/>
+		<field name="SKIP_SETUP_WIZARD" since="24"/>
+		<field name="WIPE_EUICC" since="28"/>
+		<field name="WIPE_EXTERNAL_STORAGE" since="9"/>
+		<field name="WIPE_RESET_PROTECTION_DATA" since="22"/>
+		<field name="WIPE_SILENTLY" since="29"/>
+	</class>
+	<class name="android/app/admin/DevicePolicyManager$InstallSystemUpdateCallback" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onInstallUpdateError(ILjava/lang/String;)V"/>
+		<field name="UPDATE_ERROR_BATTERY_LOW"/>
+		<field name="UPDATE_ERROR_FILE_NOT_FOUND"/>
+		<field name="UPDATE_ERROR_INCORRECT_OS_VERSION"/>
+		<field name="UPDATE_ERROR_UNKNOWN"/>
+		<field name="UPDATE_ERROR_UPDATE_FILE_INVALID"/>
+	</class>
+	<class name="android/app/admin/DevicePolicyManager$OnClearApplicationUserDataListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="onApplicationUserDataCleared(Ljava/lang/String;Z)V"/>
+	</class>
+	<class name="android/app/admin/DnsEvent" since="26">
+		<extends name="android/app/admin/NetworkEvent"/>
+		<method name="getHostname()Ljava/lang/String;"/>
+		<method name="getInetAddresses()Ljava/util/List;"/>
+		<method name="getTotalResolvedAddressCount()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/admin/FactoryResetProtectionPolicy" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getFactoryResetProtectionAccounts()Ljava/util/List;"/>
+		<method name="isFactoryResetProtectionEnabled()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/admin/FactoryResetProtectionPolicy$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/app/admin/FactoryResetProtectionPolicy;"/>
+		<method name="setFactoryResetProtectionAccounts(Ljava/util/List;)Landroid/app/admin/FactoryResetProtectionPolicy$Builder;"/>
+		<method name="setFactoryResetProtectionEnabled(Z)Landroid/app/admin/FactoryResetProtectionPolicy$Builder;"/>
+	</class>
+	<class name="android/app/admin/FreezePeriod" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/time/MonthDay;Ljava/time/MonthDay;)V"/>
+		<method name="getEnd()Ljava/time/MonthDay;"/>
+		<method name="getStart()Ljava/time/MonthDay;"/>
+	</class>
+	<class name="android/app/admin/NetworkEvent" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getId()J" since="28"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getTimestamp()J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/admin/SecurityLog" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="LEVEL_ERROR" since="28"/>
+		<field name="LEVEL_INFO" since="28"/>
+		<field name="LEVEL_WARNING" since="28"/>
+		<field name="TAG_ADB_SHELL_CMD"/>
+		<field name="TAG_ADB_SHELL_INTERACTIVE"/>
+		<field name="TAG_APP_PROCESS_START"/>
+		<field name="TAG_CAMERA_POLICY_SET" since="30"/>
+		<field name="TAG_CERT_AUTHORITY_INSTALLED" since="28"/>
+		<field name="TAG_CERT_AUTHORITY_REMOVED" since="28"/>
+		<field name="TAG_CERT_VALIDATION_FAILURE" since="28"/>
+		<field name="TAG_CRYPTO_SELF_TEST_COMPLETED" since="28"/>
+		<field name="TAG_KEYGUARD_DISABLED_FEATURES_SET" since="28"/>
+		<field name="TAG_KEYGUARD_DISMISSED"/>
+		<field name="TAG_KEYGUARD_DISMISS_AUTH_ATTEMPT"/>
+		<field name="TAG_KEYGUARD_SECURED"/>
+		<field name="TAG_KEY_DESTRUCTION" since="28"/>
+		<field name="TAG_KEY_GENERATED" since="28"/>
+		<field name="TAG_KEY_IMPORT" since="28"/>
+		<field name="TAG_KEY_INTEGRITY_VIOLATION" since="28"/>
+		<field name="TAG_LOGGING_STARTED" since="28"/>
+		<field name="TAG_LOGGING_STOPPED" since="28"/>
+		<field name="TAG_LOG_BUFFER_SIZE_CRITICAL" since="28"/>
+		<field name="TAG_MAX_PASSWORD_ATTEMPTS_SET" since="28"/>
+		<field name="TAG_MAX_SCREEN_LOCK_TIMEOUT_SET" since="28"/>
+		<field name="TAG_MEDIA_MOUNT" since="28"/>
+		<field name="TAG_MEDIA_UNMOUNT" since="28"/>
+		<field name="TAG_OS_SHUTDOWN" since="28"/>
+		<field name="TAG_OS_STARTUP" since="28"/>
+		<field name="TAG_PASSWORD_COMPLEXITY_REQUIRED" since="31"/>
+		<field name="TAG_PASSWORD_COMPLEXITY_SET" since="28"/>
+		<field name="TAG_PASSWORD_EXPIRATION_SET" since="28"/>
+		<field name="TAG_PASSWORD_HISTORY_LENGTH_SET" since="28"/>
+		<field name="TAG_REMOTE_LOCK" since="28"/>
+		<field name="TAG_SYNC_RECV_FILE"/>
+		<field name="TAG_SYNC_SEND_FILE"/>
+		<field name="TAG_USER_RESTRICTION_ADDED" since="28"/>
+		<field name="TAG_USER_RESTRICTION_REMOVED" since="28"/>
+		<field name="TAG_WIPE_FAILURE" since="28"/>
+	</class>
+	<class name="android/app/admin/SecurityLog$SecurityEvent" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getData()Ljava/lang/Object;"/>
+		<method name="getId()J" since="28"/>
+		<method name="getLogLevel()I" since="28"/>
+		<method name="getTag()I"/>
+		<method name="getTimeNanos()J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/admin/SystemUpdateInfo" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getReceivedTime()J"/>
+		<method name="getSecurityPatchState()I"/>
+		<field name="CREATOR"/>
+		<field name="SECURITY_PATCH_STATE_FALSE"/>
+		<field name="SECURITY_PATCH_STATE_TRUE"/>
+		<field name="SECURITY_PATCH_STATE_UNKNOWN"/>
+	</class>
+	<class name="android/app/admin/SystemUpdatePolicy" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="createAutomaticInstallPolicy()Landroid/app/admin/SystemUpdatePolicy;"/>
+		<method name="createPostponeInstallPolicy()Landroid/app/admin/SystemUpdatePolicy;"/>
+		<method name="createWindowedInstallPolicy(II)Landroid/app/admin/SystemUpdatePolicy;"/>
+		<method name="getFreezePeriods()Ljava/util/List;" since="28"/>
+		<method name="getInstallWindowEnd()I"/>
+		<method name="getInstallWindowStart()I"/>
+		<method name="getPolicyType()I"/>
+		<method name="setFreezePeriods(Ljava/util/List;)Landroid/app/admin/SystemUpdatePolicy;" since="28"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_INSTALL_AUTOMATIC"/>
+		<field name="TYPE_INSTALL_WINDOWED"/>
+		<field name="TYPE_POSTPONE"/>
+	</class>
+	<class name="android/app/admin/SystemUpdatePolicy$ValidationFailedException" since="28">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getErrorCode()I"/>
+		<field name="CREATOR"/>
+		<field name="ERROR_COMBINED_FREEZE_PERIOD_TOO_CLOSE"/>
+		<field name="ERROR_COMBINED_FREEZE_PERIOD_TOO_LONG"/>
+		<field name="ERROR_DUPLICATE_OR_OVERLAP"/>
+		<field name="ERROR_NEW_FREEZE_PERIOD_TOO_CLOSE"/>
+		<field name="ERROR_NEW_FREEZE_PERIOD_TOO_LONG"/>
+		<field name="ERROR_UNKNOWN"/>
+	</class>
+	<class name="android/app/admin/UnsafeStateException" since="31">
+		<extends name="java/lang/IllegalStateException"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getReasons()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchBatchResult" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getAll()Ljava/util/Map;"/>
+		<method name="getFailures()Ljava/util/Map;"/>
+		<method name="getSuccesses()Ljava/util/Map;"/>
+		<method name="isSuccess()Z"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchBatchResult$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/app/appsearch/AppSearchBatchResult;"/>
+		<method name="setFailure(Ljava/lang/Object;ILjava/lang/String;)Landroid/app/appsearch/AppSearchBatchResult$Builder;"/>
+		<method name="setResult(Ljava/lang/Object;Landroid/app/appsearch/AppSearchResult;)Landroid/app/appsearch/AppSearchBatchResult$Builder;"/>
+		<method name="setSuccess(Ljava/lang/Object;Ljava/lang/Object;)Landroid/app/appsearch/AppSearchBatchResult$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="createGlobalSearchSession(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="createSearchSession(Landroid/app/appsearch/AppSearchManager$SearchContext;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchManager$SearchContext" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getDatabaseName()Ljava/lang/String;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchManager$SearchContext$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/AppSearchManager$SearchContext;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchResult" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getErrorMessage()Ljava/lang/String;"/>
+		<method name="getResultCode()I"/>
+		<method name="getResultValue()Ljava/lang/Object;"/>
+		<method name="isSuccess()Z"/>
+		<method name="newFailedResult(ILjava/lang/String;)Landroid/app/appsearch/AppSearchResult;"/>
+		<method name="newSuccessfulResult(Ljava/lang/Object;)Landroid/app/appsearch/AppSearchResult;"/>
+		<field name="RESULT_INTERNAL_ERROR"/>
+		<field name="RESULT_INVALID_ARGUMENT"/>
+		<field name="RESULT_INVALID_SCHEMA"/>
+		<field name="RESULT_IO_ERROR"/>
+		<field name="RESULT_NOT_FOUND"/>
+		<field name="RESULT_OK"/>
+		<field name="RESULT_OUT_OF_SPACE"/>
+		<field name="RESULT_SECURITY_ERROR"/>
+		<field name="RESULT_UNKNOWN_ERROR"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getProperties()Ljava/util/List;"/>
+		<method name="getSchemaType()Ljava/lang/String;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$BooleanPropertyConfig" since="31">
+		<extends name="android/app/appsearch/AppSearchSchema$PropertyConfig"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$BooleanPropertyConfig$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/AppSearchSchema$BooleanPropertyConfig;"/>
+		<method name="setCardinality(I)Landroid/app/appsearch/AppSearchSchema$BooleanPropertyConfig$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="addProperty(Landroid/app/appsearch/AppSearchSchema$PropertyConfig;)Landroid/app/appsearch/AppSearchSchema$Builder;"/>
+		<method name="build()Landroid/app/appsearch/AppSearchSchema;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$BytesPropertyConfig" since="31">
+		<extends name="android/app/appsearch/AppSearchSchema$PropertyConfig"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$BytesPropertyConfig$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/AppSearchSchema$BytesPropertyConfig;"/>
+		<method name="setCardinality(I)Landroid/app/appsearch/AppSearchSchema$BytesPropertyConfig$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$DocumentPropertyConfig" since="31">
+		<extends name="android/app/appsearch/AppSearchSchema$PropertyConfig"/>
+		<method name="getSchemaType()Ljava/lang/String;"/>
+		<method name="shouldIndexNestedProperties()Z"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$DocumentPropertyConfig$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/AppSearchSchema$DocumentPropertyConfig;"/>
+		<method name="setCardinality(I)Landroid/app/appsearch/AppSearchSchema$DocumentPropertyConfig$Builder;"/>
+		<method name="setShouldIndexNestedProperties(Z)Landroid/app/appsearch/AppSearchSchema$DocumentPropertyConfig$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$DoublePropertyConfig" since="31">
+		<extends name="android/app/appsearch/AppSearchSchema$PropertyConfig"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$DoublePropertyConfig$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/AppSearchSchema$DoublePropertyConfig;"/>
+		<method name="setCardinality(I)Landroid/app/appsearch/AppSearchSchema$DoublePropertyConfig$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$LongPropertyConfig" since="31">
+		<extends name="android/app/appsearch/AppSearchSchema$PropertyConfig"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$LongPropertyConfig$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/AppSearchSchema$LongPropertyConfig;"/>
+		<method name="setCardinality(I)Landroid/app/appsearch/AppSearchSchema$LongPropertyConfig$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$PropertyConfig" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getCardinality()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<field name="CARDINALITY_OPTIONAL"/>
+		<field name="CARDINALITY_REPEATED"/>
+		<field name="CARDINALITY_REQUIRED"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$StringPropertyConfig" since="31">
+		<extends name="android/app/appsearch/AppSearchSchema$PropertyConfig"/>
+		<method name="getIndexingType()I"/>
+		<method name="getTokenizerType()I"/>
+		<field name="INDEXING_TYPE_EXACT_TERMS"/>
+		<field name="INDEXING_TYPE_NONE"/>
+		<field name="INDEXING_TYPE_PREFIXES"/>
+		<field name="TOKENIZER_TYPE_NONE"/>
+		<field name="TOKENIZER_TYPE_PLAIN"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSchema$StringPropertyConfig$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/AppSearchSchema$StringPropertyConfig;"/>
+		<method name="setCardinality(I)Landroid/app/appsearch/AppSearchSchema$StringPropertyConfig$Builder;"/>
+		<method name="setIndexingType(I)Landroid/app/appsearch/AppSearchSchema$StringPropertyConfig$Builder;"/>
+		<method name="setTokenizerType(I)Landroid/app/appsearch/AppSearchSchema$StringPropertyConfig$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/AppSearchSession" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="getByDocumentId(Landroid/app/appsearch/GetByDocumentIdRequest;Ljava/util/concurrent/Executor;Landroid/app/appsearch/BatchResultCallback;)V"/>
+		<method name="getNamespaces(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="getSchema(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="getStorageInfo(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="put(Landroid/app/appsearch/PutDocumentsRequest;Ljava/util/concurrent/Executor;Landroid/app/appsearch/BatchResultCallback;)V"/>
+		<method name="remove(Landroid/app/appsearch/RemoveByDocumentIdRequest;Ljava/util/concurrent/Executor;Landroid/app/appsearch/BatchResultCallback;)V"/>
+		<method name="remove(Ljava/lang/String;Landroid/app/appsearch/SearchSpec;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="reportUsage(Landroid/app/appsearch/ReportUsageRequest;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="search(Ljava/lang/String;Landroid/app/appsearch/SearchSpec;)Landroid/app/appsearch/SearchResults;"/>
+		<method name="setSchema(Landroid/app/appsearch/SetSchemaRequest;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+	</class>
+	<class name="android/app/appsearch/BatchResultCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onResult(Landroid/app/appsearch/AppSearchBatchResult;)V"/>
+		<method name="onSystemError(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/app/appsearch/GenericDocument" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/app/appsearch/GenericDocument;)V"/>
+		<method name="getCreationTimestampMillis()J"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getMaxIndexedProperties()I"/>
+		<method name="getNamespace()Ljava/lang/String;"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getPropertyBoolean(Ljava/lang/String;)Z"/>
+		<method name="getPropertyBooleanArray(Ljava/lang/String;)[Z"/>
+		<method name="getPropertyBytes(Ljava/lang/String;)[B"/>
+		<method name="getPropertyBytesArray(Ljava/lang/String;)[[B"/>
+		<method name="getPropertyDocument(Ljava/lang/String;)Landroid/app/appsearch/GenericDocument;"/>
+		<method name="getPropertyDocumentArray(Ljava/lang/String;)[Landroid/app/appsearch/GenericDocument;"/>
+		<method name="getPropertyDouble(Ljava/lang/String;)D"/>
+		<method name="getPropertyDoubleArray(Ljava/lang/String;)[D"/>
+		<method name="getPropertyLong(Ljava/lang/String;)J"/>
+		<method name="getPropertyLongArray(Ljava/lang/String;)[J"/>
+		<method name="getPropertyNames()Ljava/util/Set;"/>
+		<method name="getPropertyString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getPropertyStringArray(Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="getSchemaType()Ljava/lang/String;"/>
+		<method name="getScore()I"/>
+		<method name="getTtlMillis()J"/>
+	</class>
+	<class name="android/app/appsearch/GenericDocument$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/GenericDocument;"/>
+		<method name="setCreationTimestampMillis(J)Landroid/app/appsearch/GenericDocument$Builder;"/>
+		<method name="setPropertyBoolean(Ljava/lang/String;[Z)Landroid/app/appsearch/GenericDocument$Builder;"/>
+		<method name="setPropertyBytes(Ljava/lang/String;[[B)Landroid/app/appsearch/GenericDocument$Builder;"/>
+		<method name="setPropertyDocument(Ljava/lang/String;[Landroid/app/appsearch/GenericDocument;)Landroid/app/appsearch/GenericDocument$Builder;"/>
+		<method name="setPropertyDouble(Ljava/lang/String;[D)Landroid/app/appsearch/GenericDocument$Builder;"/>
+		<method name="setPropertyLong(Ljava/lang/String;[J)Landroid/app/appsearch/GenericDocument$Builder;"/>
+		<method name="setPropertyString(Ljava/lang/String;[Ljava/lang/String;)Landroid/app/appsearch/GenericDocument$Builder;"/>
+		<method name="setScore(I)Landroid/app/appsearch/GenericDocument$Builder;"/>
+		<method name="setTtlMillis(J)Landroid/app/appsearch/GenericDocument$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/GetByDocumentIdRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getIds()Ljava/util/Set;"/>
+		<method name="getNamespace()Ljava/lang/String;"/>
+		<method name="getProjections()Ljava/util/Map;"/>
+		<field name="PROJECTION_SCHEMA_TYPE_WILDCARD"/>
+	</class>
+	<class name="android/app/appsearch/GetByDocumentIdRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="addIds(Ljava/util/Collection;)Landroid/app/appsearch/GetByDocumentIdRequest$Builder;"/>
+		<method name="addIds([Ljava/lang/String;)Landroid/app/appsearch/GetByDocumentIdRequest$Builder;"/>
+		<method name="addProjection(Ljava/lang/String;Ljava/util/Collection;)Landroid/app/appsearch/GetByDocumentIdRequest$Builder;"/>
+		<method name="build()Landroid/app/appsearch/GetByDocumentIdRequest;"/>
+	</class>
+	<class name="android/app/appsearch/GetSchemaResponse" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getSchemas()Ljava/util/Set;"/>
+		<method name="getVersion()I"/>
+	</class>
+	<class name="android/app/appsearch/GetSchemaResponse$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addSchema(Landroid/app/appsearch/AppSearchSchema;)Landroid/app/appsearch/GetSchemaResponse$Builder;"/>
+		<method name="build()Landroid/app/appsearch/GetSchemaResponse;"/>
+		<method name="setVersion(I)Landroid/app/appsearch/GetSchemaResponse$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/GlobalSearchSession" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="reportSystemUsage(Landroid/app/appsearch/ReportSystemUsageRequest;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="search(Ljava/lang/String;Landroid/app/appsearch/SearchSpec;)Landroid/app/appsearch/SearchResults;"/>
+	</class>
+	<class name="android/app/appsearch/Migrator" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onDowngrade(IILandroid/app/appsearch/GenericDocument;)Landroid/app/appsearch/GenericDocument;"/>
+		<method name="onUpgrade(IILandroid/app/appsearch/GenericDocument;)Landroid/app/appsearch/GenericDocument;"/>
+		<method name="shouldMigrate(II)Z"/>
+	</class>
+	<class name="android/app/appsearch/PackageIdentifier" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;[B)V"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getSha256Certificate()[B"/>
+	</class>
+	<class name="android/app/appsearch/PutDocumentsRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getGenericDocuments()Ljava/util/List;"/>
+	</class>
+	<class name="android/app/appsearch/PutDocumentsRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addGenericDocuments(Ljava/util/Collection;)Landroid/app/appsearch/PutDocumentsRequest$Builder;"/>
+		<method name="addGenericDocuments([Landroid/app/appsearch/GenericDocument;)Landroid/app/appsearch/PutDocumentsRequest$Builder;"/>
+		<method name="build()Landroid/app/appsearch/PutDocumentsRequest;"/>
+	</class>
+	<class name="android/app/appsearch/RemoveByDocumentIdRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getIds()Ljava/util/Set;"/>
+		<method name="getNamespace()Ljava/lang/String;"/>
+	</class>
+	<class name="android/app/appsearch/RemoveByDocumentIdRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="addIds(Ljava/util/Collection;)Landroid/app/appsearch/RemoveByDocumentIdRequest$Builder;"/>
+		<method name="addIds([Ljava/lang/String;)Landroid/app/appsearch/RemoveByDocumentIdRequest$Builder;"/>
+		<method name="build()Landroid/app/appsearch/RemoveByDocumentIdRequest;"/>
+	</class>
+	<class name="android/app/appsearch/ReportSystemUsageRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getDatabaseName()Ljava/lang/String;"/>
+		<method name="getDocumentId()Ljava/lang/String;"/>
+		<method name="getNamespace()Ljava/lang/String;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getUsageTimestampMillis()J"/>
+	</class>
+	<class name="android/app/appsearch/ReportSystemUsageRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/ReportSystemUsageRequest;"/>
+		<method name="setUsageTimestampMillis(J)Landroid/app/appsearch/ReportSystemUsageRequest$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/ReportUsageRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getDocumentId()Ljava/lang/String;"/>
+		<method name="getNamespace()Ljava/lang/String;"/>
+		<method name="getUsageTimestampMillis()J"/>
+	</class>
+	<class name="android/app/appsearch/ReportUsageRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/ReportUsageRequest;"/>
+		<method name="setUsageTimestampMillis(J)Landroid/app/appsearch/ReportUsageRequest$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/SearchResult" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getDatabaseName()Ljava/lang/String;"/>
+		<method name="getGenericDocument()Landroid/app/appsearch/GenericDocument;"/>
+		<method name="getMatchInfos()Ljava/util/List;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getRankingSignal()D"/>
+	</class>
+	<class name="android/app/appsearch/SearchResult$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="addMatchInfo(Landroid/app/appsearch/SearchResult$MatchInfo;)Landroid/app/appsearch/SearchResult$Builder;"/>
+		<method name="build()Landroid/app/appsearch/SearchResult;"/>
+		<method name="setGenericDocument(Landroid/app/appsearch/GenericDocument;)Landroid/app/appsearch/SearchResult$Builder;"/>
+		<method name="setRankingSignal(D)Landroid/app/appsearch/SearchResult$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/SearchResult$MatchInfo" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getExactMatch()Ljava/lang/CharSequence;"/>
+		<method name="getExactMatchRange()Landroid/app/appsearch/SearchResult$MatchRange;"/>
+		<method name="getFullText()Ljava/lang/String;"/>
+		<method name="getPropertyPath()Ljava/lang/String;"/>
+		<method name="getSnippet()Ljava/lang/CharSequence;"/>
+		<method name="getSnippetRange()Landroid/app/appsearch/SearchResult$MatchRange;"/>
+	</class>
+	<class name="android/app/appsearch/SearchResult$MatchInfo$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/app/appsearch/SearchResult$MatchInfo;"/>
+		<method name="setExactMatchRange(Landroid/app/appsearch/SearchResult$MatchRange;)Landroid/app/appsearch/SearchResult$MatchInfo$Builder;"/>
+		<method name="setSnippetRange(Landroid/app/appsearch/SearchResult$MatchRange;)Landroid/app/appsearch/SearchResult$MatchInfo$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/SearchResult$MatchRange" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getEnd()I"/>
+		<method name="getStart()I"/>
+	</class>
+	<class name="android/app/appsearch/SearchResults" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="getNextPage(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+	</class>
+	<class name="android/app/appsearch/SearchSpec" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getFilterNamespaces()Ljava/util/List;"/>
+		<method name="getFilterPackageNames()Ljava/util/List;"/>
+		<method name="getFilterSchemas()Ljava/util/List;"/>
+		<method name="getMaxSnippetSize()I"/>
+		<method name="getOrder()I"/>
+		<method name="getProjections()Ljava/util/Map;"/>
+		<method name="getRankingStrategy()I"/>
+		<method name="getResultCountPerPage()I"/>
+		<method name="getResultGroupingLimit()I"/>
+		<method name="getResultGroupingTypeFlags()I"/>
+		<method name="getSnippetCount()I"/>
+		<method name="getSnippetCountPerProperty()I"/>
+		<method name="getTermMatch()I"/>
+		<field name="GROUPING_TYPE_PER_NAMESPACE"/>
+		<field name="GROUPING_TYPE_PER_PACKAGE"/>
+		<field name="ORDER_ASCENDING"/>
+		<field name="ORDER_DESCENDING"/>
+		<field name="PROJECTION_SCHEMA_TYPE_WILDCARD"/>
+		<field name="RANKING_STRATEGY_CREATION_TIMESTAMP"/>
+		<field name="RANKING_STRATEGY_DOCUMENT_SCORE"/>
+		<field name="RANKING_STRATEGY_NONE"/>
+		<field name="RANKING_STRATEGY_RELEVANCE_SCORE"/>
+		<field name="RANKING_STRATEGY_SYSTEM_USAGE_COUNT"/>
+		<field name="RANKING_STRATEGY_SYSTEM_USAGE_LAST_USED_TIMESTAMP"/>
+		<field name="RANKING_STRATEGY_USAGE_COUNT"/>
+		<field name="RANKING_STRATEGY_USAGE_LAST_USED_TIMESTAMP"/>
+		<field name="TERM_MATCH_EXACT_ONLY"/>
+		<field name="TERM_MATCH_PREFIX"/>
+	</class>
+	<class name="android/app/appsearch/SearchSpec$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addFilterNamespaces(Ljava/util/Collection;)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="addFilterNamespaces([Ljava/lang/String;)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="addFilterPackageNames(Ljava/util/Collection;)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="addFilterPackageNames([Ljava/lang/String;)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="addFilterSchemas(Ljava/util/Collection;)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="addFilterSchemas([Ljava/lang/String;)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="addProjection(Ljava/lang/String;Ljava/util/Collection;)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="build()Landroid/app/appsearch/SearchSpec;"/>
+		<method name="setMaxSnippetSize(I)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="setOrder(I)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="setRankingStrategy(I)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="setResultCountPerPage(I)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="setResultGrouping(II)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="setSnippetCount(I)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="setSnippetCountPerProperty(I)Landroid/app/appsearch/SearchSpec$Builder;"/>
+		<method name="setTermMatch(I)Landroid/app/appsearch/SearchSpec$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/SetSchemaRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getMigrators()Ljava/util/Map;"/>
+		<method name="getSchemas()Ljava/util/Set;"/>
+		<method name="getSchemasNotDisplayedBySystem()Ljava/util/Set;"/>
+		<method name="getSchemasVisibleToPackages()Ljava/util/Map;"/>
+		<method name="getVersion()I"/>
+		<method name="isForceOverride()Z"/>
+	</class>
+	<class name="android/app/appsearch/SetSchemaRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addSchemas(Ljava/util/Collection;)Landroid/app/appsearch/SetSchemaRequest$Builder;"/>
+		<method name="addSchemas([Landroid/app/appsearch/AppSearchSchema;)Landroid/app/appsearch/SetSchemaRequest$Builder;"/>
+		<method name="build()Landroid/app/appsearch/SetSchemaRequest;"/>
+		<method name="setForceOverride(Z)Landroid/app/appsearch/SetSchemaRequest$Builder;"/>
+		<method name="setMigrator(Ljava/lang/String;Landroid/app/appsearch/Migrator;)Landroid/app/appsearch/SetSchemaRequest$Builder;"/>
+		<method name="setMigrators(Ljava/util/Map;)Landroid/app/appsearch/SetSchemaRequest$Builder;"/>
+		<method name="setSchemaTypeDisplayedBySystem(Ljava/lang/String;Z)Landroid/app/appsearch/SetSchemaRequest$Builder;"/>
+		<method name="setSchemaTypeVisibilityForPackage(Ljava/lang/String;ZLandroid/app/appsearch/PackageIdentifier;)Landroid/app/appsearch/SetSchemaRequest$Builder;"/>
+		<method name="setVersion(I)Landroid/app/appsearch/SetSchemaRequest$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/SetSchemaResponse" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getDeletedTypes()Ljava/util/Set;"/>
+		<method name="getIncompatibleTypes()Ljava/util/Set;"/>
+		<method name="getMigratedTypes()Ljava/util/Set;"/>
+		<method name="getMigrationFailures()Ljava/util/List;"/>
+	</class>
+	<class name="android/app/appsearch/SetSchemaResponse$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addDeletedType(Ljava/lang/String;)Landroid/app/appsearch/SetSchemaResponse$Builder;"/>
+		<method name="addDeletedTypes(Ljava/util/Collection;)Landroid/app/appsearch/SetSchemaResponse$Builder;"/>
+		<method name="addIncompatibleType(Ljava/lang/String;)Landroid/app/appsearch/SetSchemaResponse$Builder;"/>
+		<method name="addIncompatibleTypes(Ljava/util/Collection;)Landroid/app/appsearch/SetSchemaResponse$Builder;"/>
+		<method name="addMigratedType(Ljava/lang/String;)Landroid/app/appsearch/SetSchemaResponse$Builder;"/>
+		<method name="addMigratedTypes(Ljava/util/Collection;)Landroid/app/appsearch/SetSchemaResponse$Builder;"/>
+		<method name="addMigrationFailure(Landroid/app/appsearch/SetSchemaResponse$MigrationFailure;)Landroid/app/appsearch/SetSchemaResponse$Builder;"/>
+		<method name="addMigrationFailures(Ljava/util/Collection;)Landroid/app/appsearch/SetSchemaResponse$Builder;"/>
+		<method name="build()Landroid/app/appsearch/SetSchemaResponse;"/>
+	</class>
+	<class name="android/app/appsearch/SetSchemaResponse$MigrationFailure" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/appsearch/AppSearchResult;)V"/>
+		<method name="getAppSearchResult()Landroid/app/appsearch/AppSearchResult;"/>
+		<method name="getDocumentId()Ljava/lang/String;"/>
+		<method name="getNamespace()Ljava/lang/String;"/>
+		<method name="getSchemaType()Ljava/lang/String;"/>
+	</class>
+	<class name="android/app/appsearch/StorageInfo" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getAliveDocumentsCount()I"/>
+		<method name="getAliveNamespacesCount()I"/>
+		<method name="getSizeBytes()J"/>
+	</class>
+	<class name="android/app/appsearch/StorageInfo$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/app/appsearch/StorageInfo;"/>
+		<method name="setAliveDocumentsCount(I)Landroid/app/appsearch/StorageInfo$Builder;"/>
+		<method name="setAliveNamespacesCount(I)Landroid/app/appsearch/StorageInfo$Builder;"/>
+		<method name="setSizeBytes(J)Landroid/app/appsearch/StorageInfo$Builder;"/>
+	</class>
+	<class name="android/app/appsearch/exceptions/AppSearchException" since="31">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+		<method name="&lt;init>(ILjava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="getResultCode()I"/>
+		<method name="toAppSearchResult()Landroid/app/appsearch/AppSearchResult;"/>
+	</class>
+	<class name="android/app/assist/AssistContent" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getClipData()Landroid/content/ClipData;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getIntent()Landroid/content/Intent;"/>
+		<method name="getStructuredData()Ljava/lang/String;"/>
+		<method name="getWebUri()Landroid/net/Uri;"/>
+		<method name="isAppProvidedIntent()Z"/>
+		<method name="isAppProvidedWebUri()Z" since="24"/>
+		<method name="setClipData(Landroid/content/ClipData;)V"/>
+		<method name="setIntent(Landroid/content/Intent;)V"/>
+		<method name="setStructuredData(Ljava/lang/String;)V"/>
+		<method name="setWebUri(Landroid/net/Uri;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/assist/AssistStructure" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAcquisitionEndTime()J" since="26"/>
+		<method name="getAcquisitionStartTime()J" since="26"/>
+		<method name="getActivityComponent()Landroid/content/ComponentName;"/>
+		<method name="getWindowNodeAt(I)Landroid/app/assist/AssistStructure$WindowNode;"/>
+		<method name="getWindowNodeCount()I"/>
+		<method name="isHomeActivity()Z" since="26"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/assist/AssistStructure$ViewNode" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getAlpha()F"/>
+		<method name="getAutofillHints()[Ljava/lang/String;" since="26"/>
+		<method name="getAutofillId()Landroid/view/autofill/AutofillId;" since="26"/>
+		<method name="getAutofillOptions()[Ljava/lang/CharSequence;" since="26"/>
+		<method name="getAutofillType()I" since="26"/>
+		<method name="getAutofillValue()Landroid/view/autofill/AutofillValue;" since="26"/>
+		<method name="getChildAt(I)Landroid/app/assist/AssistStructure$ViewNode;"/>
+		<method name="getChildCount()I"/>
+		<method name="getClassName()Ljava/lang/String;"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;"/>
+		<method name="getElevation()F"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getHeight()I"/>
+		<method name="getHint()Ljava/lang/String;"/>
+		<method name="getHintIdEntry()Ljava/lang/String;" since="30"/>
+		<method name="getHtmlInfo()Landroid/view/ViewStructure$HtmlInfo;" since="26"/>
+		<method name="getId()I"/>
+		<method name="getIdEntry()Ljava/lang/String;"/>
+		<method name="getIdPackage()Ljava/lang/String;"/>
+		<method name="getIdType()Ljava/lang/String;"/>
+		<method name="getImportantForAutofill()I" since="28"/>
+		<method name="getInputType()I" since="26"/>
+		<method name="getLeft()I"/>
+		<method name="getLocaleList()Landroid/os/LocaleList;" since="26"/>
+		<method name="getMaxTextEms()I" since="28"/>
+		<method name="getMaxTextLength()I" since="28"/>
+		<method name="getMinTextEms()I" since="28"/>
+		<method name="getReceiveContentMimeTypes()[Ljava/lang/String;" since="31"/>
+		<method name="getScrollX()I"/>
+		<method name="getScrollY()I"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<method name="getTextBackgroundColor()I"/>
+		<method name="getTextColor()I"/>
+		<method name="getTextIdEntry()Ljava/lang/String;" since="28"/>
+		<method name="getTextLineBaselines()[I"/>
+		<method name="getTextLineCharOffsets()[I"/>
+		<method name="getTextSelectionEnd()I"/>
+		<method name="getTextSelectionStart()I"/>
+		<method name="getTextSize()F"/>
+		<method name="getTextStyle()I"/>
+		<method name="getTop()I"/>
+		<method name="getTransformation()Landroid/graphics/Matrix;"/>
+		<method name="getVisibility()I"/>
+		<method name="getWebDomain()Ljava/lang/String;" since="26"/>
+		<method name="getWebScheme()Ljava/lang/String;" since="28"/>
+		<method name="getWidth()I"/>
+		<method name="isAccessibilityFocused()Z"/>
+		<method name="isActivated()Z"/>
+		<method name="isAssistBlocked()Z"/>
+		<method name="isCheckable()Z"/>
+		<method name="isChecked()Z"/>
+		<method name="isClickable()Z"/>
+		<method name="isContextClickable()Z"/>
+		<method name="isEnabled()Z"/>
+		<method name="isFocusable()Z"/>
+		<method name="isFocused()Z"/>
+		<method name="isLongClickable()Z"/>
+		<method name="isOpaque()Z" since="26"/>
+		<method name="isSelected()Z"/>
+		<field name="TEXT_COLOR_UNDEFINED"/>
+		<field name="TEXT_STYLE_BOLD"/>
+		<field name="TEXT_STYLE_ITALIC"/>
+		<field name="TEXT_STYLE_STRIKE_THRU"/>
+		<field name="TEXT_STYLE_UNDERLINE"/>
+	</class>
+	<class name="android/app/assist/AssistStructure$WindowNode" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getDisplayId()I"/>
+		<method name="getHeight()I"/>
+		<method name="getLeft()I"/>
+		<method name="getRootViewNode()Landroid/app/assist/AssistStructure$ViewNode;"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<method name="getTop()I"/>
+		<method name="getWidth()I"/>
+	</class>
+	<class name="android/app/backup/BackupAgent" since="8">
+		<extends name="android/content/ContextWrapper"/>
+		<method name="&lt;init>()V"/>
+		<method name="fullBackupFile(Ljava/io/File;Landroid/app/backup/FullBackupDataOutput;)V" since="14"/>
+		<method name="onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V"/>
+		<method name="onCreate()V"/>
+		<method name="onDestroy()V"/>
+		<method name="onFullBackup(Landroid/app/backup/FullBackupDataOutput;)V" since="14"/>
+		<method name="onQuotaExceeded(JJ)V" since="24"/>
+		<method name="onRestore(Landroid/app/backup/BackupDataInput;ILandroid/os/ParcelFileDescriptor;)V"/>
+		<method name="onRestore(Landroid/app/backup/BackupDataInput;JLandroid/os/ParcelFileDescriptor;)V" since="28"/>
+		<method name="onRestoreFile(Landroid/os/ParcelFileDescriptor;JLjava/io/File;IJJ)V" since="14"/>
+		<method name="onRestoreFinished()V" since="21"/>
+		<field name="FLAG_CLIENT_SIDE_ENCRYPTION_ENABLED" since="28"/>
+		<field name="FLAG_DEVICE_TO_DEVICE_TRANSFER" since="28"/>
+		<field name="TYPE_DIRECTORY" since="14"/>
+		<field name="TYPE_FILE" since="14"/>
+	</class>
+	<class name="android/app/backup/BackupAgentHelper" since="8">
+		<extends name="android/app/backup/BackupAgent"/>
+		<method name="&lt;init>()V"/>
+		<method name="addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V"/>
+	</class>
+	<class name="android/app/backup/BackupDataInput" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getDataSize()I"/>
+		<method name="getKey()Ljava/lang/String;"/>
+		<method name="readEntityData([BII)I"/>
+		<method name="readNextHeader()Z"/>
+		<method name="skipEntityData()V"/>
+	</class>
+	<class name="android/app/backup/BackupDataInputStream" since="8">
+		<extends name="java/io/InputStream"/>
+		<method name="getKey()Ljava/lang/String;"/>
+		<method name="size()I"/>
+	</class>
+	<class name="android/app/backup/BackupDataOutput" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getQuota()J" since="26"/>
+		<method name="getTransportFlags()I" since="28"/>
+		<method name="writeEntityData([BI)I"/>
+		<method name="writeEntityHeader(Ljava/lang/String;I)I"/>
+	</class>
+	<class name="android/app/backup/BackupHelper" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V"/>
+		<method name="restoreEntity(Landroid/app/backup/BackupDataInputStream;)V"/>
+		<method name="writeNewStateDescription(Landroid/os/ParcelFileDescriptor;)V"/>
+	</class>
+	<class name="android/app/backup/BackupManager" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="dataChanged()V"/>
+		<method name="dataChanged(Ljava/lang/String;)V"/>
+		<method name="getUserForAncestralSerialNumber(J)Landroid/os/UserHandle;" since="29"/>
+		<method name="requestRestore(Landroid/app/backup/RestoreObserver;)I" deprecated="28"/>
+	</class>
+	<class name="android/app/backup/FileBackupHelper" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="android/app/backup/BackupHelper"/>
+		<method name="&lt;init>(Landroid/content/Context;[Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/app/backup/FullBackupDataOutput" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="getQuota()J" since="26"/>
+		<method name="getTransportFlags()I" since="28"/>
+	</class>
+	<class name="android/app/backup/RestoreObserver" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onUpdate(ILjava/lang/String;)V"/>
+		<method name="restoreFinished(I)V"/>
+		<method name="restoreStarting(I)V"/>
+	</class>
+	<class name="android/app/backup/SharedPreferencesBackupHelper" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="android/app/backup/BackupHelper"/>
+		<method name="&lt;init>(Landroid/content/Context;[Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/app/blob/BlobHandle" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="createWithSha256([BLjava/lang/CharSequence;JLjava/lang/String;)Landroid/app/blob/BlobHandle;"/>
+		<method name="getExpiryTimeMillis()J"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<method name="getSha256Digest()[B"/>
+		<method name="getTag()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/blob/BlobStoreManager" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="abandonSession(J)V"/>
+		<method name="acquireLease(Landroid/app/blob/BlobHandle;I)V"/>
+		<method name="acquireLease(Landroid/app/blob/BlobHandle;IJ)V"/>
+		<method name="acquireLease(Landroid/app/blob/BlobHandle;Ljava/lang/CharSequence;)V"/>
+		<method name="acquireLease(Landroid/app/blob/BlobHandle;Ljava/lang/CharSequence;J)V"/>
+		<method name="createSession(Landroid/app/blob/BlobHandle;)J"/>
+		<method name="getLeasedBlobs()Ljava/util/List;"/>
+		<method name="getRemainingLeaseQuotaBytes()J"/>
+		<method name="openBlob(Landroid/app/blob/BlobHandle;)Landroid/os/ParcelFileDescriptor;"/>
+		<method name="openSession(J)Landroid/app/blob/BlobStoreManager$Session;"/>
+		<method name="releaseLease(Landroid/app/blob/BlobHandle;)V"/>
+	</class>
+	<class name="android/app/blob/BlobStoreManager$Session" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="abandon()V"/>
+		<method name="allowPackageAccess(Ljava/lang/String;[B)V"/>
+		<method name="allowPublicAccess()V"/>
+		<method name="allowSameSignatureAccess()V"/>
+		<method name="commit(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="getSize()J"/>
+		<method name="isPackageAccessAllowed(Ljava/lang/String;[B)Z"/>
+		<method name="isPublicAccessAllowed()Z"/>
+		<method name="isSameSignatureAccessAllowed()Z"/>
+		<method name="openRead()Landroid/os/ParcelFileDescriptor;"/>
+		<method name="openWrite(JJ)Landroid/os/ParcelFileDescriptor;"/>
+	</class>
+	<class name="android/app/job/JobInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getBackoffPolicy()I"/>
+		<method name="getClipData()Landroid/content/ClipData;" since="26"/>
+		<method name="getClipGrantFlags()I" since="26"/>
+		<method name="getEstimatedNetworkDownloadBytes()J" since="28"/>
+		<method name="getEstimatedNetworkUploadBytes()J" since="28"/>
+		<method name="getExtras()Landroid/os/PersistableBundle;"/>
+		<method name="getFlexMillis()J" since="24"/>
+		<method name="getId()I"/>
+		<method name="getInitialBackoffMillis()J"/>
+		<method name="getIntervalMillis()J"/>
+		<method name="getMaxExecutionDelayMillis()J"/>
+		<method name="getMinFlexMillis()J" since="24"/>
+		<method name="getMinLatencyMillis()J"/>
+		<method name="getMinPeriodMillis()J" since="24"/>
+		<method name="getNetworkType()I" deprecated="28"/>
+		<method name="getRequiredNetwork()Landroid/net/NetworkRequest;" since="28"/>
+		<method name="getService()Landroid/content/ComponentName;"/>
+		<method name="getTransientExtras()Landroid/os/Bundle;" since="26"/>
+		<method name="getTriggerContentMaxDelay()J" since="24"/>
+		<method name="getTriggerContentUpdateDelay()J" since="24"/>
+		<method name="getTriggerContentUris()[Landroid/app/job/JobInfo$TriggerContentUri;" since="24"/>
+		<method name="isExpedited()Z" since="31"/>
+		<method name="isImportantWhileForeground()Z" since="28"/>
+		<method name="isPeriodic()Z"/>
+		<method name="isPersisted()Z"/>
+		<method name="isPrefetch()Z" since="28"/>
+		<method name="isRequireBatteryNotLow()Z" since="26"/>
+		<method name="isRequireCharging()Z"/>
+		<method name="isRequireDeviceIdle()Z"/>
+		<method name="isRequireStorageNotLow()Z" since="26"/>
+		<field name="BACKOFF_POLICY_EXPONENTIAL"/>
+		<field name="BACKOFF_POLICY_LINEAR"/>
+		<field name="CREATOR"/>
+		<field name="DEFAULT_INITIAL_BACKOFF_MILLIS"/>
+		<field name="MAX_BACKOFF_DELAY_MILLIS"/>
+		<field name="NETWORK_BYTES_UNKNOWN" since="28"/>
+		<field name="NETWORK_TYPE_ANY"/>
+		<field name="NETWORK_TYPE_CELLULAR" since="28"/>
+		<field name="NETWORK_TYPE_METERED" since="26" deprecated="28"/>
+		<field name="NETWORK_TYPE_NONE"/>
+		<field name="NETWORK_TYPE_NOT_ROAMING" since="24"/>
+		<field name="NETWORK_TYPE_UNMETERED"/>
+	</class>
+	<class name="android/app/job/JobInfo$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILandroid/content/ComponentName;)V"/>
+		<method name="addTriggerContentUri(Landroid/app/job/JobInfo$TriggerContentUri;)Landroid/app/job/JobInfo$Builder;" since="24"/>
+		<method name="build()Landroid/app/job/JobInfo;"/>
+		<method name="setBackoffCriteria(JI)Landroid/app/job/JobInfo$Builder;"/>
+		<method name="setClipData(Landroid/content/ClipData;I)Landroid/app/job/JobInfo$Builder;" since="26"/>
+		<method name="setEstimatedNetworkBytes(JJ)Landroid/app/job/JobInfo$Builder;" since="28"/>
+		<method name="setExpedited(Z)Landroid/app/job/JobInfo$Builder;" since="31"/>
+		<method name="setExtras(Landroid/os/PersistableBundle;)Landroid/app/job/JobInfo$Builder;"/>
+		<method name="setImportantWhileForeground(Z)Landroid/app/job/JobInfo$Builder;" since="28" deprecated="31"/>
+		<method name="setMinimumLatency(J)Landroid/app/job/JobInfo$Builder;"/>
+		<method name="setOverrideDeadline(J)Landroid/app/job/JobInfo$Builder;"/>
+		<method name="setPeriodic(J)Landroid/app/job/JobInfo$Builder;"/>
+		<method name="setPeriodic(JJ)Landroid/app/job/JobInfo$Builder;" since="24"/>
+		<method name="setPersisted(Z)Landroid/app/job/JobInfo$Builder;"/>
+		<method name="setPrefetch(Z)Landroid/app/job/JobInfo$Builder;" since="28"/>
+		<method name="setRequiredNetwork(Landroid/net/NetworkRequest;)Landroid/app/job/JobInfo$Builder;" since="28"/>
+		<method name="setRequiredNetworkType(I)Landroid/app/job/JobInfo$Builder;"/>
+		<method name="setRequiresBatteryNotLow(Z)Landroid/app/job/JobInfo$Builder;" since="26"/>
+		<method name="setRequiresCharging(Z)Landroid/app/job/JobInfo$Builder;"/>
+		<method name="setRequiresDeviceIdle(Z)Landroid/app/job/JobInfo$Builder;"/>
+		<method name="setRequiresStorageNotLow(Z)Landroid/app/job/JobInfo$Builder;" since="26"/>
+		<method name="setTransientExtras(Landroid/os/Bundle;)Landroid/app/job/JobInfo$Builder;" since="26"/>
+		<method name="setTriggerContentMaxDelay(J)Landroid/app/job/JobInfo$Builder;" since="24"/>
+		<method name="setTriggerContentUpdateDelay(J)Landroid/app/job/JobInfo$Builder;" since="24"/>
+	</class>
+	<class name="android/app/job/JobInfo$TriggerContentUri" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/net/Uri;I)V"/>
+		<method name="getFlags()I"/>
+		<method name="getUri()Landroid/net/Uri;"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_NOTIFY_FOR_DESCENDANTS"/>
+	</class>
+	<class name="android/app/job/JobParameters" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="completeWork(Landroid/app/job/JobWorkItem;)V" since="26"/>
+		<method name="dequeueWork()Landroid/app/job/JobWorkItem;" since="26"/>
+		<method name="getClipData()Landroid/content/ClipData;" since="26"/>
+		<method name="getClipGrantFlags()I" since="26"/>
+		<method name="getExtras()Landroid/os/PersistableBundle;"/>
+		<method name="getJobId()I"/>
+		<method name="getNetwork()Landroid/net/Network;" since="28"/>
+		<method name="getStopReason()I" since="31"/>
+		<method name="getTransientExtras()Landroid/os/Bundle;" since="26"/>
+		<method name="getTriggeredContentAuthorities()[Ljava/lang/String;" since="24"/>
+		<method name="getTriggeredContentUris()[Landroid/net/Uri;" since="24"/>
+		<method name="isExpeditedJob()Z" since="31"/>
+		<method name="isOverrideDeadlineExpired()Z"/>
+		<field name="CREATOR"/>
+		<field name="STOP_REASON_APP_STANDBY" since="31"/>
+		<field name="STOP_REASON_BACKGROUND_RESTRICTION" since="31"/>
+		<field name="STOP_REASON_CANCELLED_BY_APP" since="31"/>
+		<field name="STOP_REASON_CONSTRAINT_BATTERY_NOT_LOW" since="31"/>
+		<field name="STOP_REASON_CONSTRAINT_CHARGING" since="31"/>
+		<field name="STOP_REASON_CONSTRAINT_CONNECTIVITY" since="31"/>
+		<field name="STOP_REASON_CONSTRAINT_DEVICE_IDLE" since="31"/>
+		<field name="STOP_REASON_CONSTRAINT_STORAGE_NOT_LOW" since="31"/>
+		<field name="STOP_REASON_DEVICE_STATE" since="31"/>
+		<field name="STOP_REASON_PREEMPT" since="31"/>
+		<field name="STOP_REASON_QUOTA" since="31"/>
+		<field name="STOP_REASON_SYSTEM_PROCESSING" since="31"/>
+		<field name="STOP_REASON_TIMEOUT" since="31"/>
+		<field name="STOP_REASON_UNDEFINED" since="31"/>
+		<field name="STOP_REASON_USER" since="31"/>
+	</class>
+	<class name="android/app/job/JobScheduler" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="cancel(I)V"/>
+		<method name="cancelAll()V"/>
+		<method name="enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I" since="26"/>
+		<method name="getAllPendingJobs()Ljava/util/List;"/>
+		<method name="getPendingJob(I)Landroid/app/job/JobInfo;" since="24"/>
+		<method name="schedule(Landroid/app/job/JobInfo;)I"/>
+		<field name="RESULT_FAILURE"/>
+		<field name="RESULT_SUCCESS"/>
+	</class>
+	<class name="android/app/job/JobService" since="21">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="jobFinished(Landroid/app/job/JobParameters;Z)V"/>
+		<method name="onStartJob(Landroid/app/job/JobParameters;)Z"/>
+		<method name="onStopJob(Landroid/app/job/JobParameters;)Z"/>
+		<field name="PERMISSION_BIND"/>
+	</class>
+	<class name="android/app/job/JobServiceEngine" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/app/Service;)V"/>
+		<method name="getBinder()Landroid/os/IBinder;"/>
+		<method name="jobFinished(Landroid/app/job/JobParameters;Z)V"/>
+		<method name="onStartJob(Landroid/app/job/JobParameters;)Z"/>
+		<method name="onStopJob(Landroid/app/job/JobParameters;)Z"/>
+	</class>
+	<class name="android/app/job/JobWorkItem" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/Intent;)V"/>
+		<method name="&lt;init>(Landroid/content/Intent;JJ)V" since="28"/>
+		<method name="getDeliveryCount()I"/>
+		<method name="getEstimatedNetworkDownloadBytes()J" since="28"/>
+		<method name="getEstimatedNetworkUploadBytes()J" since="28"/>
+		<method name="getIntent()Landroid/content/Intent;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/people/ConversationStatus" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getActivity()I"/>
+		<method name="getAvailability()I"/>
+		<method name="getDescription()Ljava/lang/CharSequence;"/>
+		<method name="getEndTimeMillis()J"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getStartTimeMillis()J"/>
+		<field name="ACTIVITY_ANNIVERSARY"/>
+		<field name="ACTIVITY_AUDIO"/>
+		<field name="ACTIVITY_BIRTHDAY"/>
+		<field name="ACTIVITY_GAME"/>
+		<field name="ACTIVITY_LOCATION"/>
+		<field name="ACTIVITY_NEW_STORY"/>
+		<field name="ACTIVITY_OTHER"/>
+		<field name="ACTIVITY_UPCOMING_BIRTHDAY"/>
+		<field name="ACTIVITY_VIDEO"/>
+		<field name="AVAILABILITY_AVAILABLE"/>
+		<field name="AVAILABILITY_BUSY"/>
+		<field name="AVAILABILITY_OFFLINE"/>
+		<field name="AVAILABILITY_UNKNOWN"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/people/ConversationStatus$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="build()Landroid/app/people/ConversationStatus;"/>
+		<method name="setAvailability(I)Landroid/app/people/ConversationStatus$Builder;"/>
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/app/people/ConversationStatus$Builder;"/>
+		<method name="setEndTimeMillis(J)Landroid/app/people/ConversationStatus$Builder;"/>
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)Landroid/app/people/ConversationStatus$Builder;"/>
+		<method name="setStartTimeMillis(J)Landroid/app/people/ConversationStatus$Builder;"/>
+	</class>
+	<class name="android/app/people/PeopleManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="addOrUpdateStatus(Ljava/lang/String;Landroid/app/people/ConversationStatus;)V"/>
+		<method name="clearStatus(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="clearStatuses(Ljava/lang/String;)V"/>
+		<method name="getStatuses(Ljava/lang/String;)Ljava/util/List;"/>
+	</class>
+	<class name="android/app/role/RoleManager" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="createRequestRoleIntent(Ljava/lang/String;)Landroid/content/Intent;"/>
+		<method name="isRoleAvailable(Ljava/lang/String;)Z"/>
+		<method name="isRoleHeld(Ljava/lang/String;)Z"/>
+		<field name="ROLE_ASSISTANT"/>
+		<field name="ROLE_BROWSER"/>
+		<field name="ROLE_CALL_REDIRECTION"/>
+		<field name="ROLE_CALL_SCREENING"/>
+		<field name="ROLE_DIALER"/>
+		<field name="ROLE_EMERGENCY"/>
+		<field name="ROLE_HOME"/>
+		<field name="ROLE_SMS"/>
+	</class>
+	<class name="android/app/slice/Slice" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="getHints()Ljava/util/List;"/>
+		<method name="getItems()Ljava/util/List;"/>
+		<method name="getSpec()Landroid/app/slice/SliceSpec;"/>
+		<method name="getUri()Landroid/net/Uri;"/>
+		<method name="isCallerNeeded()Z"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_RANGE_VALUE"/>
+		<field name="EXTRA_TOGGLE_STATE"/>
+		<field name="HINT_ACTIONS"/>
+		<field name="HINT_ERROR"/>
+		<field name="HINT_HORIZONTAL"/>
+		<field name="HINT_KEYWORDS"/>
+		<field name="HINT_LARGE"/>
+		<field name="HINT_LAST_UPDATED"/>
+		<field name="HINT_LIST"/>
+		<field name="HINT_LIST_ITEM"/>
+		<field name="HINT_NO_TINT"/>
+		<field name="HINT_PARTIAL"/>
+		<field name="HINT_PERMISSION_REQUEST"/>
+		<field name="HINT_SEE_MORE"/>
+		<field name="HINT_SELECTED"/>
+		<field name="HINT_SHORTCUT"/>
+		<field name="HINT_SUMMARY"/>
+		<field name="HINT_TITLE"/>
+		<field name="HINT_TTL"/>
+		<field name="SUBTYPE_COLOR"/>
+		<field name="SUBTYPE_CONTENT_DESCRIPTION"/>
+		<field name="SUBTYPE_LAYOUT_DIRECTION"/>
+		<field name="SUBTYPE_MAX"/>
+		<field name="SUBTYPE_MESSAGE"/>
+		<field name="SUBTYPE_MILLIS"/>
+		<field name="SUBTYPE_PRIORITY"/>
+		<field name="SUBTYPE_RANGE"/>
+		<field name="SUBTYPE_SOURCE"/>
+		<field name="SUBTYPE_TOGGLE"/>
+		<field name="SUBTYPE_VALUE"/>
+	</class>
+	<class name="android/app/slice/Slice$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/app/slice/Slice$Builder;)V"/>
+		<method name="&lt;init>(Landroid/net/Uri;Landroid/app/slice/SliceSpec;)V"/>
+		<method name="addAction(Landroid/app/PendingIntent;Landroid/app/slice/Slice;Ljava/lang/String;)Landroid/app/slice/Slice$Builder;"/>
+		<method name="addBundle(Landroid/os/Bundle;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;"/>
+		<method name="addHints(Ljava/util/List;)Landroid/app/slice/Slice$Builder;"/>
+		<method name="addIcon(Landroid/graphics/drawable/Icon;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;"/>
+		<method name="addInt(ILjava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;"/>
+		<method name="addLong(JLjava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;"/>
+		<method name="addRemoteInput(Landroid/app/RemoteInput;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;"/>
+		<method name="addSubSlice(Landroid/app/slice/Slice;Ljava/lang/String;)Landroid/app/slice/Slice$Builder;"/>
+		<method name="addText(Ljava/lang/CharSequence;Ljava/lang/String;Ljava/util/List;)Landroid/app/slice/Slice$Builder;"/>
+		<method name="build()Landroid/app/slice/Slice;"/>
+		<method name="setCallerNeeded(Z)Landroid/app/slice/Slice$Builder;"/>
+	</class>
+	<class name="android/app/slice/SliceItem" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAction()Landroid/app/PendingIntent;"/>
+		<method name="getBundle()Landroid/os/Bundle;"/>
+		<method name="getFormat()Ljava/lang/String;"/>
+		<method name="getHints()Ljava/util/List;"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getInt()I"/>
+		<method name="getLong()J"/>
+		<method name="getRemoteInput()Landroid/app/RemoteInput;"/>
+		<method name="getSlice()Landroid/app/slice/Slice;"/>
+		<method name="getSubType()Ljava/lang/String;"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<method name="hasHint(Ljava/lang/String;)Z"/>
+		<field name="CREATOR"/>
+		<field name="FORMAT_ACTION"/>
+		<field name="FORMAT_BUNDLE"/>
+		<field name="FORMAT_IMAGE"/>
+		<field name="FORMAT_INT"/>
+		<field name="FORMAT_LONG"/>
+		<field name="FORMAT_REMOTE_INPUT"/>
+		<field name="FORMAT_SLICE"/>
+		<field name="FORMAT_TEXT"/>
+	</class>
+	<class name="android/app/slice/SliceManager" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="bindSlice(Landroid/content/Intent;Ljava/util/Set;)Landroid/app/slice/Slice;"/>
+		<method name="bindSlice(Landroid/net/Uri;Ljava/util/Set;)Landroid/app/slice/Slice;"/>
+		<method name="checkSlicePermission(Landroid/net/Uri;II)I"/>
+		<method name="getPinnedSlices()Ljava/util/List;"/>
+		<method name="getPinnedSpecs(Landroid/net/Uri;)Ljava/util/Set;"/>
+		<method name="getSliceDescendants(Landroid/net/Uri;)Ljava/util/Collection;"/>
+		<method name="grantSlicePermission(Ljava/lang/String;Landroid/net/Uri;)V"/>
+		<method name="mapIntentToUri(Landroid/content/Intent;)Landroid/net/Uri;"/>
+		<method name="pinSlice(Landroid/net/Uri;Ljava/util/Set;)V"/>
+		<method name="revokeSlicePermission(Ljava/lang/String;Landroid/net/Uri;)V"/>
+		<method name="unpinSlice(Landroid/net/Uri;)V"/>
+		<field name="CATEGORY_SLICE"/>
+		<field name="SLICE_METADATA_KEY"/>
+	</class>
+	<class name="android/app/slice/SliceMetrics" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/net/Uri;)V"/>
+		<method name="logHidden()V"/>
+		<method name="logTouch(ILandroid/net/Uri;)V"/>
+		<method name="logVisible()V"/>
+	</class>
+	<class name="android/app/slice/SliceProvider" since="28">
+		<extends name="android/content/ContentProvider"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>([Ljava/lang/String;)V"/>
+		<method name="onBindSlice(Landroid/net/Uri;Ljava/util/Set;)Landroid/app/slice/Slice;"/>
+		<method name="onCreatePermissionRequest(Landroid/net/Uri;)Landroid/app/PendingIntent;"/>
+		<method name="onGetSliceDescendants(Landroid/net/Uri;)Ljava/util/Collection;"/>
+		<method name="onMapIntentToUri(Landroid/content/Intent;)Landroid/net/Uri;"/>
+		<method name="onSlicePinned(Landroid/net/Uri;)V"/>
+		<method name="onSliceUnpinned(Landroid/net/Uri;)V"/>
+		<field name="SLICE_TYPE"/>
+	</class>
+	<class name="android/app/slice/SliceSpec" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="canRender(Landroid/app/slice/SliceSpec;)Z"/>
+		<method name="getRevision()I"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/usage/ConfigurationStats" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/app/usage/ConfigurationStats;)V"/>
+		<method name="getActivationCount()I"/>
+		<method name="getConfiguration()Landroid/content/res/Configuration;"/>
+		<method name="getFirstTimeStamp()J"/>
+		<method name="getLastTimeActive()J"/>
+		<method name="getLastTimeStamp()J"/>
+		<method name="getTotalTimeActive()J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/usage/EventStats" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/app/usage/EventStats;)V"/>
+		<method name="add(Landroid/app/usage/EventStats;)V"/>
+		<method name="getCount()I"/>
+		<method name="getEventType()I"/>
+		<method name="getFirstTimeStamp()J"/>
+		<method name="getLastEventTime()J"/>
+		<method name="getLastTimeStamp()J"/>
+		<method name="getTotalTime()J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/usage/ExternalStorageStats" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAppBytes()J"/>
+		<method name="getAudioBytes()J"/>
+		<method name="getImageBytes()J"/>
+		<method name="getTotalBytes()J"/>
+		<method name="getVideoBytes()J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/usage/NetworkStats" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getNextBucket(Landroid/app/usage/NetworkStats$Bucket;)Z"/>
+		<method name="hasNextBucket()Z"/>
+	</class>
+	<class name="android/app/usage/NetworkStats$Bucket" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getDefaultNetworkStatus()I" since="28"/>
+		<method name="getEndTimeStamp()J"/>
+		<method name="getMetered()I" since="26"/>
+		<method name="getRoaming()I" since="24"/>
+		<method name="getRxBytes()J"/>
+		<method name="getRxPackets()J"/>
+		<method name="getStartTimeStamp()J"/>
+		<method name="getState()I"/>
+		<method name="getTag()I" since="24"/>
+		<method name="getTxBytes()J"/>
+		<method name="getTxPackets()J"/>
+		<method name="getUid()I"/>
+		<field name="DEFAULT_NETWORK_ALL" since="28"/>
+		<field name="DEFAULT_NETWORK_NO" since="28"/>
+		<field name="DEFAULT_NETWORK_YES" since="28"/>
+		<field name="METERED_ALL" since="26"/>
+		<field name="METERED_NO" since="26"/>
+		<field name="METERED_YES" since="26"/>
+		<field name="ROAMING_ALL" since="24"/>
+		<field name="ROAMING_NO" since="24"/>
+		<field name="ROAMING_YES" since="24"/>
+		<field name="STATE_ALL"/>
+		<field name="STATE_DEFAULT"/>
+		<field name="STATE_FOREGROUND"/>
+		<field name="TAG_NONE" since="24"/>
+		<field name="UID_ALL"/>
+		<field name="UID_REMOVED"/>
+		<field name="UID_TETHERING"/>
+	</class>
+	<class name="android/app/usage/NetworkStatsManager" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="queryDetails(ILjava/lang/String;JJ)Landroid/app/usage/NetworkStats;"/>
+		<method name="queryDetailsForUid(ILjava/lang/String;JJI)Landroid/app/usage/NetworkStats;"/>
+		<method name="queryDetailsForUidTag(ILjava/lang/String;JJII)Landroid/app/usage/NetworkStats;" since="24"/>
+		<method name="queryDetailsForUidTagState(ILjava/lang/String;JJIII)Landroid/app/usage/NetworkStats;" since="28"/>
+		<method name="querySummary(ILjava/lang/String;JJ)Landroid/app/usage/NetworkStats;"/>
+		<method name="querySummaryForDevice(ILjava/lang/String;JJ)Landroid/app/usage/NetworkStats$Bucket;"/>
+		<method name="querySummaryForUser(ILjava/lang/String;JJ)Landroid/app/usage/NetworkStats$Bucket;"/>
+		<method name="registerUsageCallback(ILjava/lang/String;JLandroid/app/usage/NetworkStatsManager$UsageCallback;)V" since="24"/>
+		<method name="registerUsageCallback(ILjava/lang/String;JLandroid/app/usage/NetworkStatsManager$UsageCallback;Landroid/os/Handler;)V" since="24"/>
+		<method name="unregisterUsageCallback(Landroid/app/usage/NetworkStatsManager$UsageCallback;)V" since="24"/>
+	</class>
+	<class name="android/app/usage/NetworkStatsManager$UsageCallback" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onThresholdReached(ILjava/lang/String;)V"/>
+	</class>
+	<class name="android/app/usage/StorageStats" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAppBytes()J"/>
+		<method name="getCacheBytes()J"/>
+		<method name="getDataBytes()J"/>
+		<method name="getExternalCacheBytes()J" since="31"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/usage/StorageStatsManager" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getFreeBytes(Ljava/util/UUID;)J"/>
+		<method name="getTotalBytes(Ljava/util/UUID;)J"/>
+		<method name="queryExternalStatsForUser(Ljava/util/UUID;Landroid/os/UserHandle;)Landroid/app/usage/ExternalStorageStats;"/>
+		<method name="queryStatsForPackage(Ljava/util/UUID;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/StorageStats;"/>
+		<method name="queryStatsForUid(Ljava/util/UUID;I)Landroid/app/usage/StorageStats;"/>
+		<method name="queryStatsForUser(Ljava/util/UUID;Landroid/os/UserHandle;)Landroid/app/usage/StorageStats;"/>
+	</class>
+	<class name="android/app/usage/UsageEvents" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getNextEvent(Landroid/app/usage/UsageEvents$Event;)Z"/>
+		<method name="hasNextEvent()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/usage/UsageEvents$Event" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAppStandbyBucket()I" since="28"/>
+		<method name="getClassName()Ljava/lang/String;"/>
+		<method name="getConfiguration()Landroid/content/res/Configuration;"/>
+		<method name="getEventType()I"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getShortcutId()Ljava/lang/String;" since="25"/>
+		<method name="getTimeStamp()J"/>
+		<field name="ACTIVITY_PAUSED" since="29"/>
+		<field name="ACTIVITY_RESUMED" since="29"/>
+		<field name="ACTIVITY_STOPPED" since="29"/>
+		<field name="CONFIGURATION_CHANGE"/>
+		<field name="DEVICE_SHUTDOWN" since="29"/>
+		<field name="DEVICE_STARTUP" since="29"/>
+		<field name="FOREGROUND_SERVICE_START" since="29"/>
+		<field name="FOREGROUND_SERVICE_STOP" since="29"/>
+		<field name="KEYGUARD_HIDDEN" since="28"/>
+		<field name="KEYGUARD_SHOWN" since="28"/>
+		<field name="MOVE_TO_BACKGROUND" deprecated="29"/>
+		<field name="MOVE_TO_FOREGROUND" deprecated="29"/>
+		<field name="NONE"/>
+		<field name="SCREEN_INTERACTIVE" since="28"/>
+		<field name="SCREEN_NON_INTERACTIVE" since="28"/>
+		<field name="SHORTCUT_INVOCATION" since="25"/>
+		<field name="STANDBY_BUCKET_CHANGED" since="28"/>
+		<field name="USER_INTERACTION" since="23"/>
+	</class>
+	<class name="android/app/usage/UsageStats" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/app/usage/UsageStats;)V"/>
+		<method name="add(Landroid/app/usage/UsageStats;)V"/>
+		<method name="getFirstTimeStamp()J"/>
+		<method name="getLastTimeForegroundServiceUsed()J" since="29"/>
+		<method name="getLastTimeStamp()J"/>
+		<method name="getLastTimeUsed()J"/>
+		<method name="getLastTimeVisible()J" since="29"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getTotalTimeForegroundServiceUsed()J" since="29"/>
+		<method name="getTotalTimeInForeground()J"/>
+		<method name="getTotalTimeVisible()J" since="29"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/app/usage/UsageStatsManager" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getAppStandbyBucket()I" since="28"/>
+		<method name="isAppInactive(Ljava/lang/String;)Z" since="23"/>
+		<method name="queryAndAggregateUsageStats(JJ)Ljava/util/Map;"/>
+		<method name="queryConfigurations(IJJ)Ljava/util/List;"/>
+		<method name="queryEventStats(IJJ)Ljava/util/List;" since="28"/>
+		<method name="queryEvents(JJ)Landroid/app/usage/UsageEvents;"/>
+		<method name="queryEventsForSelf(JJ)Landroid/app/usage/UsageEvents;" since="28"/>
+		<method name="queryUsageStats(IJJ)Ljava/util/List;"/>
+		<field name="INTERVAL_BEST"/>
+		<field name="INTERVAL_DAILY"/>
+		<field name="INTERVAL_MONTHLY"/>
+		<field name="INTERVAL_WEEKLY"/>
+		<field name="INTERVAL_YEARLY"/>
+		<field name="STANDBY_BUCKET_ACTIVE" since="28"/>
+		<field name="STANDBY_BUCKET_FREQUENT" since="28"/>
+		<field name="STANDBY_BUCKET_RARE" since="28"/>
+		<field name="STANDBY_BUCKET_RESTRICTED" since="30"/>
+		<field name="STANDBY_BUCKET_WORKING_SET" since="28"/>
+	</class>
+	<class name="android/appwidget/AppWidgetHost" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V"/>
+		<method name="allocateAppWidgetId()I"/>
+		<method name="clearViews()V" since="11"/>
+		<method name="createView(Landroid/content/Context;ILandroid/appwidget/AppWidgetProviderInfo;)Landroid/appwidget/AppWidgetHostView;"/>
+		<method name="deleteAllHosts()V"/>
+		<method name="deleteAppWidgetId(I)V"/>
+		<method name="deleteHost()V"/>
+		<method name="getAppWidgetIds()[I" since="26"/>
+		<method name="onAppWidgetRemoved(I)V" since="30"/>
+		<method name="onCreateView(Landroid/content/Context;ILandroid/appwidget/AppWidgetProviderInfo;)Landroid/appwidget/AppWidgetHostView;"/>
+		<method name="onProviderChanged(ILandroid/appwidget/AppWidgetProviderInfo;)V"/>
+		<method name="onProvidersChanged()V" since="17"/>
+		<method name="startAppWidgetConfigureActivityForResult(Landroid/app/Activity;IIILandroid/os/Bundle;)V" since="21"/>
+		<method name="startListening()V"/>
+		<method name="stopListening()V"/>
+	</class>
+	<class name="android/appwidget/AppWidgetHostView" since="3">
+		<extends name="android/widget/FrameLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;II)V"/>
+		<method name="getAppWidgetId()I"/>
+		<method name="getAppWidgetInfo()Landroid/appwidget/AppWidgetProviderInfo;"/>
+		<method name="getDefaultPaddingForWidget(Landroid/content/Context;Landroid/content/ComponentName;Landroid/graphics/Rect;)Landroid/graphics/Rect;" since="15"/>
+		<method name="getDefaultView()Landroid/view/View;"/>
+		<method name="getErrorView()Landroid/view/View;"/>
+		<method name="prepareView(Landroid/view/View;)V"/>
+		<method name="resetColorResources()V" since="31"/>
+		<method name="setAppWidget(ILandroid/appwidget/AppWidgetProviderInfo;)V"/>
+		<method name="setColorResources(Landroid/util/SparseIntArray;)V" since="31"/>
+		<method name="setExecutor(Ljava/util/concurrent/Executor;)V" since="26"/>
+		<method name="setOnLightBackground(Z)V" since="29"/>
+		<method name="updateAppWidget(Landroid/widget/RemoteViews;)V"/>
+		<method name="updateAppWidgetOptions(Landroid/os/Bundle;)V" since="16"/>
+		<method name="updateAppWidgetSize(Landroid/os/Bundle;IIII)V" since="16" deprecated="31"/>
+		<method name="updateAppWidgetSize(Landroid/os/Bundle;Ljava/util/List;)V" since="31"/>
+	</class>
+	<class name="android/appwidget/AppWidgetManager" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="bindAppWidgetId(ILandroid/content/ComponentName;)V" removed="16"/>
+		<method name="bindAppWidgetIdIfAllowed(ILandroid/content/ComponentName;)Z" since="16"/>
+		<method name="bindAppWidgetIdIfAllowed(ILandroid/content/ComponentName;Landroid/os/Bundle;)Z" since="17"/>
+		<method name="bindAppWidgetIdIfAllowed(ILandroid/os/UserHandle;Landroid/content/ComponentName;Landroid/os/Bundle;)Z" since="21"/>
+		<method name="getAppWidgetIds(Landroid/content/ComponentName;)[I"/>
+		<method name="getAppWidgetInfo(I)Landroid/appwidget/AppWidgetProviderInfo;"/>
+		<method name="getAppWidgetOptions(I)Landroid/os/Bundle;" since="16"/>
+		<method name="getInstalledProviders()Ljava/util/List;"/>
+		<method name="getInstalledProvidersForPackage(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;" since="26"/>
+		<method name="getInstalledProvidersForProfile(Landroid/os/UserHandle;)Ljava/util/List;" since="21"/>
+		<method name="getInstance(Landroid/content/Context;)Landroid/appwidget/AppWidgetManager;"/>
+		<method name="isRequestPinAppWidgetSupported()Z" since="26"/>
+		<method name="notifyAppWidgetViewDataChanged(II)V" since="11"/>
+		<method name="notifyAppWidgetViewDataChanged([II)V" since="11"/>
+		<method name="partiallyUpdateAppWidget(ILandroid/widget/RemoteViews;)V" since="11"/>
+		<method name="partiallyUpdateAppWidget([ILandroid/widget/RemoteViews;)V" since="11"/>
+		<method name="requestPinAppWidget(Landroid/content/ComponentName;Landroid/os/Bundle;Landroid/app/PendingIntent;)Z" since="26"/>
+		<method name="updateAppWidget(ILandroid/widget/RemoteViews;)V"/>
+		<method name="updateAppWidget(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V"/>
+		<method name="updateAppWidget([ILandroid/widget/RemoteViews;)V"/>
+		<method name="updateAppWidgetOptions(ILandroid/os/Bundle;)V" since="16"/>
+		<method name="updateAppWidgetProviderInfo(Landroid/content/ComponentName;Ljava/lang/String;)V" since="28"/>
+		<field name="ACTION_APPWIDGET_BIND" since="16"/>
+		<field name="ACTION_APPWIDGET_CONFIGURE"/>
+		<field name="ACTION_APPWIDGET_DELETED"/>
+		<field name="ACTION_APPWIDGET_DISABLED"/>
+		<field name="ACTION_APPWIDGET_ENABLED"/>
+		<field name="ACTION_APPWIDGET_HOST_RESTORED" since="21"/>
+		<field name="ACTION_APPWIDGET_OPTIONS_CHANGED" since="16"/>
+		<field name="ACTION_APPWIDGET_PICK"/>
+		<field name="ACTION_APPWIDGET_RESTORED" since="21"/>
+		<field name="ACTION_APPWIDGET_UPDATE"/>
+		<field name="EXTRA_APPWIDGET_ID"/>
+		<field name="EXTRA_APPWIDGET_IDS"/>
+		<field name="EXTRA_APPWIDGET_OLD_IDS" since="21"/>
+		<field name="EXTRA_APPWIDGET_OPTIONS" since="16"/>
+		<field name="EXTRA_APPWIDGET_PREVIEW" since="26"/>
+		<field name="EXTRA_APPWIDGET_PROVIDER" since="16"/>
+		<field name="EXTRA_APPWIDGET_PROVIDER_PROFILE" since="21"/>
+		<field name="EXTRA_CUSTOM_EXTRAS"/>
+		<field name="EXTRA_CUSTOM_INFO"/>
+		<field name="EXTRA_HOST_ID" since="21"/>
+		<field name="INVALID_APPWIDGET_ID"/>
+		<field name="META_DATA_APPWIDGET_PROVIDER"/>
+		<field name="OPTION_APPWIDGET_HOST_CATEGORY" since="17"/>
+		<field name="OPTION_APPWIDGET_MAX_HEIGHT" since="16"/>
+		<field name="OPTION_APPWIDGET_MAX_WIDTH" since="16"/>
+		<field name="OPTION_APPWIDGET_MIN_HEIGHT" since="16"/>
+		<field name="OPTION_APPWIDGET_MIN_WIDTH" since="16"/>
+		<field name="OPTION_APPWIDGET_RESTORE_COMPLETED" since="30"/>
+		<field name="OPTION_APPWIDGET_SIZES" since="31"/>
+	</class>
+	<class name="android/appwidget/AppWidgetProvider" since="3">
+		<extends name="android/content/BroadcastReceiver"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAppWidgetOptionsChanged(Landroid/content/Context;Landroid/appwidget/AppWidgetManager;ILandroid/os/Bundle;)V" since="16"/>
+		<method name="onDeleted(Landroid/content/Context;[I)V"/>
+		<method name="onDisabled(Landroid/content/Context;)V"/>
+		<method name="onEnabled(Landroid/content/Context;)V"/>
+		<method name="onRestored(Landroid/content/Context;[I[I)V" since="21"/>
+		<method name="onUpdate(Landroid/content/Context;Landroid/appwidget/AppWidgetManager;[I)V"/>
+	</class>
+	<class name="android/appwidget/AppWidgetProviderInfo" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="clone()Landroid/appwidget/AppWidgetProviderInfo;" since="17"/>
+		<method name="getActivityInfo()Landroid/content/pm/ActivityInfo;" since="31"/>
+		<method name="getProfile()Landroid/os/UserHandle;" since="21"/>
+		<method name="loadDescription(Landroid/content/Context;)Ljava/lang/CharSequence;" since="31"/>
+		<method name="loadIcon(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;" since="21"/>
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/String;" since="21"/>
+		<method name="loadPreviewImage(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable;" since="21"/>
+		<field name="CREATOR"/>
+		<field name="RESIZE_BOTH" since="12"/>
+		<field name="RESIZE_HORIZONTAL" since="12"/>
+		<field name="RESIZE_NONE" since="12"/>
+		<field name="RESIZE_VERTICAL" since="12"/>
+		<field name="WIDGET_CATEGORY_HOME_SCREEN" since="17"/>
+		<field name="WIDGET_CATEGORY_KEYGUARD" since="17"/>
+		<field name="WIDGET_CATEGORY_SEARCHBOX" since="21"/>
+		<field name="WIDGET_FEATURE_CONFIGURATION_OPTIONAL" since="31"/>
+		<field name="WIDGET_FEATURE_HIDE_FROM_PICKER" since="28"/>
+		<field name="WIDGET_FEATURE_RECONFIGURABLE" since="28"/>
+		<field name="autoAdvanceViewId" since="11"/>
+		<field name="configure"/>
+		<field name="descriptionRes" since="31"/>
+		<field name="icon"/>
+		<field name="initialKeyguardLayout" since="17"/>
+		<field name="initialLayout"/>
+		<field name="label" deprecated="21"/>
+		<field name="maxResizeHeight" since="31"/>
+		<field name="maxResizeWidth" since="31"/>
+		<field name="minHeight"/>
+		<field name="minResizeHeight" since="14"/>
+		<field name="minResizeWidth" since="14"/>
+		<field name="minWidth"/>
+		<field name="previewImage" since="11"/>
+		<field name="previewLayout" since="31"/>
+		<field name="provider"/>
+		<field name="resizeMode" since="12"/>
+		<field name="targetCellHeight" since="31"/>
+		<field name="targetCellWidth" since="31"/>
+		<field name="updatePeriodMillis"/>
+		<field name="widgetCategory" since="17"/>
+		<field name="widgetFeatures" since="28"/>
+	</class>
+	<class name="android/bluetooth/BluetoothA2dp" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/bluetooth/BluetoothProfile"/>
+		<method name="isA2dpPlaying(Landroid/bluetooth/BluetoothDevice;)Z"/>
+		<field name="ACTION_CONNECTION_STATE_CHANGED"/>
+		<field name="ACTION_PLAYING_STATE_CHANGED"/>
+		<field name="STATE_NOT_PLAYING"/>
+		<field name="STATE_PLAYING"/>
+	</class>
+	<class name="android/bluetooth/BluetoothAdapter" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="cancelDiscovery()Z"/>
+		<method name="checkBluetoothAddress(Ljava/lang/String;)Z"/>
+		<method name="closeProfileProxy(ILandroid/bluetooth/BluetoothProfile;)V" since="11"/>
+		<method name="disable()Z"/>
+		<method name="enable()Z"/>
+		<method name="getAddress()Ljava/lang/String;"/>
+		<method name="getBluetoothLeAdvertiser()Landroid/bluetooth/le/BluetoothLeAdvertiser;" since="21"/>
+		<method name="getBluetoothLeScanner()Landroid/bluetooth/le/BluetoothLeScanner;" since="21"/>
+		<method name="getBondedDevices()Ljava/util/Set;"/>
+		<method name="getDefaultAdapter()Landroid/bluetooth/BluetoothAdapter;" deprecated="31"/>
+		<method name="getLeMaximumAdvertisingDataLength()I" since="26"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getProfileConnectionState(I)I" since="14"/>
+		<method name="getProfileProxy(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;I)Z" since="11"/>
+		<method name="getRemoteDevice(Ljava/lang/String;)Landroid/bluetooth/BluetoothDevice;"/>
+		<method name="getRemoteDevice([B)Landroid/bluetooth/BluetoothDevice;" since="16"/>
+		<method name="getScanMode()I"/>
+		<method name="getState()I"/>
+		<method name="isDiscovering()Z"/>
+		<method name="isEnabled()Z"/>
+		<method name="isLe2MPhySupported()Z" since="26"/>
+		<method name="isLeCodedPhySupported()Z" since="26"/>
+		<method name="isLeExtendedAdvertisingSupported()Z" since="26"/>
+		<method name="isLePeriodicAdvertisingSupported()Z" since="26"/>
+		<method name="isMultipleAdvertisementSupported()Z" since="21"/>
+		<method name="isOffloadedFilteringSupported()Z" since="21"/>
+		<method name="isOffloadedScanBatchingSupported()Z" since="21"/>
+		<method name="listenUsingInsecureL2capChannel()Landroid/bluetooth/BluetoothServerSocket;" since="29"/>
+		<method name="listenUsingInsecureRfcommWithServiceRecord(Ljava/lang/String;Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;" since="10"/>
+		<method name="listenUsingL2capChannel()Landroid/bluetooth/BluetoothServerSocket;" since="29"/>
+		<method name="listenUsingRfcommWithServiceRecord(Ljava/lang/String;Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;"/>
+		<method name="setName(Ljava/lang/String;)Z"/>
+		<method name="startDiscovery()Z"/>
+		<method name="startLeScan(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z" since="18" deprecated="21"/>
+		<method name="startLeScan([Ljava/util/UUID;Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z" since="18" deprecated="21"/>
+		<method name="stopLeScan(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)V" since="18" deprecated="21"/>
+		<field name="ACTION_CONNECTION_STATE_CHANGED" since="11"/>
+		<field name="ACTION_DISCOVERY_FINISHED"/>
+		<field name="ACTION_DISCOVERY_STARTED"/>
+		<field name="ACTION_LOCAL_NAME_CHANGED"/>
+		<field name="ACTION_REQUEST_DISCOVERABLE"/>
+		<field name="ACTION_REQUEST_ENABLE"/>
+		<field name="ACTION_SCAN_MODE_CHANGED"/>
+		<field name="ACTION_STATE_CHANGED"/>
+		<field name="ERROR"/>
+		<field name="EXTRA_CONNECTION_STATE" since="11"/>
+		<field name="EXTRA_DISCOVERABLE_DURATION"/>
+		<field name="EXTRA_LOCAL_NAME"/>
+		<field name="EXTRA_PREVIOUS_CONNECTION_STATE" since="11"/>
+		<field name="EXTRA_PREVIOUS_SCAN_MODE"/>
+		<field name="EXTRA_PREVIOUS_STATE"/>
+		<field name="EXTRA_SCAN_MODE"/>
+		<field name="EXTRA_STATE"/>
+		<field name="SCAN_MODE_CONNECTABLE"/>
+		<field name="SCAN_MODE_CONNECTABLE_DISCOVERABLE"/>
+		<field name="SCAN_MODE_NONE"/>
+		<field name="STATE_CONNECTED" since="11"/>
+		<field name="STATE_CONNECTING" since="11"/>
+		<field name="STATE_DISCONNECTED" since="11"/>
+		<field name="STATE_DISCONNECTING" since="11"/>
+		<field name="STATE_OFF"/>
+		<field name="STATE_ON"/>
+		<field name="STATE_TURNING_OFF"/>
+		<field name="STATE_TURNING_ON"/>
+	</class>
+	<class name="android/bluetooth/BluetoothAdapter$LeScanCallback" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="onLeScan(Landroid/bluetooth/BluetoothDevice;I[B)V"/>
+	</class>
+	<class name="android/bluetooth/BluetoothAssignedNumbers" since="11">
+		<extends name="java/lang/Object"/>
+		<field name="AAMP_OF_AMERICA" since="19"/>
+		<field name="ACCEL_SEMICONDUCTOR"/>
+		<field name="ACE_SENSOR" since="19"/>
+		<field name="ADIDAS" since="19"/>
+		<field name="ADVANCED_PANMOBIL_SYSTEMS" since="19"/>
+		<field name="AIROHA_TECHNOLOGY" since="19"/>
+		<field name="ALCATEL"/>
+		<field name="ALPWISE" since="19"/>
+		<field name="AMICCOM_ELECTRONICS" since="19"/>
+		<field name="APLIX" since="19"/>
+		<field name="APPLE"/>
+		<field name="APT_LICENSING"/>
+		<field name="ARCHOS" since="19"/>
+		<field name="ARP_DEVICES" since="19"/>
+		<field name="ATHEROS_COMMUNICATIONS"/>
+		<field name="ATMEL"/>
+		<field name="AUSTCO_COMMUNICATION_SYSTEMS" since="19"/>
+		<field name="AUTONET_MOBILE" since="19"/>
+		<field name="AVAGO"/>
+		<field name="AVM_BERLIN"/>
+		<field name="A_AND_D_ENGINEERING" since="19"/>
+		<field name="A_AND_R_CAMBRIDGE" since="19"/>
+		<field name="BANDSPEED"/>
+		<field name="BAND_XI_INTERNATIONAL" since="19"/>
+		<field name="BDE_TECHNOLOGY" since="19"/>
+		<field name="BEATS_ELECTRONICS" since="19"/>
+		<field name="BEAUTIFUL_ENTERPRISE" since="19"/>
+		<field name="BEKEY" since="19"/>
+		<field name="BELKIN_INTERNATIONAL"/>
+		<field name="BINAURIC" since="19"/>
+		<field name="BIOSENTRONICS" since="19"/>
+		<field name="BLUEGIGA"/>
+		<field name="BLUERADIOS" since="19"/>
+		<field name="BLUETOOTH_SIG"/>
+		<field name="BLUETREK_TECHNOLOGIES" since="19"/>
+		<field name="BOSE" since="19"/>
+		<field name="BRIARTEK" since="19"/>
+		<field name="BROADCOM"/>
+		<field name="CAEN_RFID" since="19"/>
+		<field name="CAMBRIDGE_SILICON_RADIO"/>
+		<field name="CATC"/>
+		<field name="CINETIX" since="19"/>
+		<field name="CLARINOX_TECHNOLOGIES" since="19"/>
+		<field name="COLORFY" since="19"/>
+		<field name="COMMIL"/>
+		<field name="CONEXANT_SYSTEMS"/>
+		<field name="CONNECTBLUE" since="19"/>
+		<field name="CONTINENTAL_AUTOMOTIVE"/>
+		<field name="CONWISE_TECHNOLOGY"/>
+		<field name="CREATIVE_TECHNOLOGY" since="19"/>
+		<field name="C_TECHNOLOGIES"/>
+		<field name="DANLERS" since="19"/>
+		<field name="DELORME_PUBLISHING_COMPANY" since="19"/>
+		<field name="DEXCOM" since="19"/>
+		<field name="DIALOG_SEMICONDUCTOR" since="19"/>
+		<field name="DIGIANSWER"/>
+		<field name="ECLIPSE"/>
+		<field name="ECOTEST" since="19"/>
+		<field name="ELGATO_SYSTEMS" since="19"/>
+		<field name="EM_MICROELECTRONIC_MARIN"/>
+		<field name="EQUINOX_AG" since="19"/>
+		<field name="ERICSSON_TECHNOLOGY"/>
+		<field name="EVLUMA" since="19"/>
+		<field name="FREE2MOVE"/>
+		<field name="FUNAI_ELECTRIC" since="19"/>
+		<field name="GARMIN_INTERNATIONAL" since="19"/>
+		<field name="GCT_SEMICONDUCTOR"/>
+		<field name="GELO" since="19"/>
+		<field name="GENEQ" since="19"/>
+		<field name="GENERAL_MOTORS" since="19"/>
+		<field name="GENNUM"/>
+		<field name="GEOFORCE" since="19"/>
+		<field name="GIBSON_GUITARS" since="19"/>
+		<field name="GN_NETCOM" since="19"/>
+		<field name="GN_RESOUND" since="19"/>
+		<field name="GOOGLE" since="19"/>
+		<field name="GREEN_THROTTLE_GAMES" since="19"/>
+		<field name="GROUP_SENSE" since="19"/>
+		<field name="HANLYNN_TECHNOLOGIES" since="19"/>
+		<field name="HARMAN_INTERNATIONAL"/>
+		<field name="HEWLETT_PACKARD" since="19"/>
+		<field name="HITACHI"/>
+		<field name="HOSIDEN" since="19"/>
+		<field name="IBM"/>
+		<field name="INFINEON_TECHNOLOGIES"/>
+		<field name="INGENIEUR_SYSTEMGRUPPE_ZAHN" since="19"/>
+		<field name="INTEGRATED_SILICON_SOLUTION"/>
+		<field name="INTEGRATED_SYSTEM_SOLUTION"/>
+		<field name="INTEL"/>
+		<field name="INVENTEL"/>
+		<field name="IPEXTREME"/>
+		<field name="I_TECH_DYNAMIC_GLOBAL_DISTRIBUTION" since="19"/>
+		<field name="JAWBONE" since="19"/>
+		<field name="JIANGSU_TOPPOWER_AUTOMOTIVE_ELECTRONICS" since="19"/>
+		<field name="JOHNSON_CONTROLS" since="19"/>
+		<field name="J_AND_M"/>
+		<field name="KAWANTECH" since="19"/>
+		<field name="KC_TECHNOLOGY"/>
+		<field name="KENSINGTON_COMPUTER_PRODUCTS_GROUP" since="19"/>
+		<field name="LAIRD_TECHNOLOGIES" since="19"/>
+		<field name="LESSWIRE" since="19"/>
+		<field name="LG_ELECTRONICS" since="19"/>
+		<field name="LINAK" since="19"/>
+		<field name="LUCENT"/>
+		<field name="LUDUS_HELSINKI" since="19"/>
+		<field name="MACRONIX"/>
+		<field name="MAGNETI_MARELLI" since="19"/>
+		<field name="MANSELLA"/>
+		<field name="MARVELL"/>
+		<field name="MATSUSHITA_ELECTRIC"/>
+		<field name="MC10" since="19"/>
+		<field name="MEDIATEK"/>
+		<field name="MESO_INTERNATIONAL" since="19"/>
+		<field name="META_WATCH" since="19"/>
+		<field name="MEWTEL_TECHNOLOGY"/>
+		<field name="MICOMMAND" since="19"/>
+		<field name="MICROCHIP_TECHNOLOGY" since="19"/>
+		<field name="MICROSOFT"/>
+		<field name="MINDTREE" since="19"/>
+		<field name="MISFIT_WEARABLES" since="19"/>
+		<field name="MITEL_SEMICONDUCTOR"/>
+		<field name="MITSUBISHI_ELECTRIC"/>
+		<field name="MOBILIAN_CORPORATION"/>
+		<field name="MONSTER" since="19"/>
+		<field name="MOTOROLA"/>
+		<field name="MSTAR_SEMICONDUCTOR" since="19"/>
+		<field name="MUZIK" since="19"/>
+		<field name="NEC"/>
+		<field name="NEC_LIGHTING" since="19"/>
+		<field name="NEWLOGIC"/>
+		<field name="NIKE" since="19"/>
+		<field name="NINE_SOLUTIONS" since="19"/>
+		<field name="NOKIA_MOBILE_PHONES"/>
+		<field name="NORDIC_SEMICONDUCTOR"/>
+		<field name="NORWOOD_SYSTEMS"/>
+		<field name="ODM_TECHNOLOGY" since="19"/>
+		<field name="OMEGAWAVE" since="19"/>
+		<field name="ONSET_COMPUTER" since="19"/>
+		<field name="OPEN_INTERFACE"/>
+		<field name="OTL_DYNAMICS" since="19"/>
+		<field name="PANDA_OCEAN" since="19"/>
+		<field name="PARROT"/>
+		<field name="PARTHUS_TECHNOLOGIES"/>
+		<field name="PASSIF_SEMICONDUCTOR" since="19"/>
+		<field name="PETER_SYSTEMTECHNIK" since="19"/>
+		<field name="PHILIPS_SEMICONDUCTORS"/>
+		<field name="PLANTRONICS"/>
+		<field name="POLAR_ELECTRO" since="19"/>
+		<field name="POLAR_ELECTRO_EUROPE" since="19"/>
+		<field name="PROCTER_AND_GAMBLE" since="19"/>
+		<field name="QUALCOMM"/>
+		<field name="QUALCOMM_CONNECTED_EXPERIENCES" since="19"/>
+		<field name="QUALCOMM_INNOVATION_CENTER" since="19"/>
+		<field name="QUALCOMM_LABS" since="19"/>
+		<field name="QUALCOMM_TECHNOLOGIES" since="19"/>
+		<field name="QUINTIC" since="19"/>
+		<field name="QUUPPA" since="19"/>
+		<field name="RALINK_TECHNOLOGY"/>
+		<field name="RDA_MICROELECTRONICS" since="19"/>
+		<field name="REALTEK_SEMICONDUCTOR"/>
+		<field name="RED_M"/>
+		<field name="RENESAS_TECHNOLOGY"/>
+		<field name="RESEARCH_IN_MOTION"/>
+		<field name="RF_MICRO_DEVICES"/>
+		<field name="RIVIERAWAVES"/>
+		<field name="ROHDE_AND_SCHWARZ"/>
+		<field name="RTX_TELECOM"/>
+		<field name="SAMSUNG_ELECTRONICS" since="19"/>
+		<field name="SARIS_CYCLING_GROUP" since="19"/>
+		<field name="SEERS_TECHNOLOGY" since="19"/>
+		<field name="SEIKO_EPSON"/>
+		<field name="SELFLY" since="19"/>
+		<field name="SEMILINK" since="19"/>
+		<field name="SENNHEISER_COMMUNICATIONS" since="19"/>
+		<field name="SHANGHAI_SUPER_SMART_ELECTRONICS" since="19"/>
+		<field name="SHENZHEN_EXCELSECU_DATA_TECHNOLOGY" since="19"/>
+		<field name="SIGNIA_TECHNOLOGIES"/>
+		<field name="SILICON_WAVE"/>
+		<field name="SIRF_TECHNOLOGY"/>
+		<field name="SOCKET_MOBILE"/>
+		<field name="SONY_ERICSSON"/>
+		<field name="SOUND_ID" since="19"/>
+		<field name="SPORTS_TRACKING_TECHNOLOGIES" since="19"/>
+		<field name="SR_MEDIZINELEKTRONIK" since="19"/>
+		<field name="STACCATO_COMMUNICATIONS"/>
+		<field name="STALMART_TECHNOLOGY" since="19"/>
+		<field name="STARKEY_LABORATORIES" since="19"/>
+		<field name="STOLLMAN_E_PLUS_V" since="19"/>
+		<field name="STONESTREET_ONE"/>
+		<field name="ST_MICROELECTRONICS"/>
+		<field name="SUMMIT_DATA_COMMUNICATIONS" since="19"/>
+		<field name="SUUNTO" since="19"/>
+		<field name="SWIRL_NETWORKS" since="19"/>
+		<field name="SYMBOL_TECHNOLOGIES"/>
+		<field name="SYNOPSYS"/>
+		<field name="SYSTEMS_AND_CHIPS"/>
+		<field name="S_POWER_ELECTRONICS" since="19"/>
+		<field name="TAIXINGBANG_TECHNOLOGY" since="19"/>
+		<field name="TENOVIS"/>
+		<field name="TERAX"/>
+		<field name="TEXAS_INSTRUMENTS"/>
+		<field name="THINKOPTICS" since="19"/>
+		<field name="THREECOM"/>
+		<field name="THREE_DIJOY"/>
+		<field name="THREE_DSP"/>
+		<field name="TIMEKEEPING_SYSTEMS" since="19"/>
+		<field name="TIMEX_GROUP_USA" since="19"/>
+		<field name="TOPCORN_POSITIONING_SYSTEMS" since="19"/>
+		<field name="TOSHIBA"/>
+		<field name="TRANSILICA"/>
+		<field name="TRELAB" since="19"/>
+		<field name="TTPCOM"/>
+		<field name="TXTR" since="19"/>
+		<field name="TZERO_TECHNOLOGIES"/>
+		<field name="UNIVERSAL_ELECTRONICS" since="19"/>
+		<field name="VERTU" since="19"/>
+		<field name="VISTEON" since="19"/>
+		<field name="VIZIO"/>
+		<field name="VOYETRA_TURTLE_BEACH" since="19"/>
+		<field name="WAVEPLUS_TECHNOLOGY"/>
+		<field name="WICENTRIC"/>
+		<field name="WIDCOMM"/>
+		<field name="WUXI_VIMICRO" since="19"/>
+		<field name="ZEEVO"/>
+		<field name="ZER01_TV" since="19"/>
+		<field name="ZOMM" since="19"/>
+		<field name="ZSCAN_SOFTWARE" since="19"/>
+	</class>
+	<class name="android/bluetooth/BluetoothClass" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDeviceClass()I"/>
+		<method name="getMajorDeviceClass()I"/>
+		<method name="hasService(I)Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/bluetooth/BluetoothClass$Device" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="AUDIO_VIDEO_CAMCORDER"/>
+		<field name="AUDIO_VIDEO_CAR_AUDIO"/>
+		<field name="AUDIO_VIDEO_HANDSFREE"/>
+		<field name="AUDIO_VIDEO_HEADPHONES"/>
+		<field name="AUDIO_VIDEO_HIFI_AUDIO"/>
+		<field name="AUDIO_VIDEO_LOUDSPEAKER"/>
+		<field name="AUDIO_VIDEO_MICROPHONE"/>
+		<field name="AUDIO_VIDEO_PORTABLE_AUDIO"/>
+		<field name="AUDIO_VIDEO_SET_TOP_BOX"/>
+		<field name="AUDIO_VIDEO_UNCATEGORIZED"/>
+		<field name="AUDIO_VIDEO_VCR"/>
+		<field name="AUDIO_VIDEO_VIDEO_CAMERA"/>
+		<field name="AUDIO_VIDEO_VIDEO_CONFERENCING"/>
+		<field name="AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER"/>
+		<field name="AUDIO_VIDEO_VIDEO_GAMING_TOY"/>
+		<field name="AUDIO_VIDEO_VIDEO_MONITOR"/>
+		<field name="AUDIO_VIDEO_WEARABLE_HEADSET"/>
+		<field name="COMPUTER_DESKTOP"/>
+		<field name="COMPUTER_HANDHELD_PC_PDA"/>
+		<field name="COMPUTER_LAPTOP"/>
+		<field name="COMPUTER_PALM_SIZE_PC_PDA"/>
+		<field name="COMPUTER_SERVER"/>
+		<field name="COMPUTER_UNCATEGORIZED"/>
+		<field name="COMPUTER_WEARABLE"/>
+		<field name="HEALTH_BLOOD_PRESSURE"/>
+		<field name="HEALTH_DATA_DISPLAY"/>
+		<field name="HEALTH_GLUCOSE"/>
+		<field name="HEALTH_PULSE_OXIMETER"/>
+		<field name="HEALTH_PULSE_RATE"/>
+		<field name="HEALTH_THERMOMETER"/>
+		<field name="HEALTH_UNCATEGORIZED"/>
+		<field name="HEALTH_WEIGHING"/>
+		<field name="PHONE_CELLULAR"/>
+		<field name="PHONE_CORDLESS"/>
+		<field name="PHONE_ISDN"/>
+		<field name="PHONE_MODEM_OR_GATEWAY"/>
+		<field name="PHONE_SMART"/>
+		<field name="PHONE_UNCATEGORIZED"/>
+		<field name="TOY_CONTROLLER"/>
+		<field name="TOY_DOLL_ACTION_FIGURE"/>
+		<field name="TOY_GAME"/>
+		<field name="TOY_ROBOT"/>
+		<field name="TOY_UNCATEGORIZED"/>
+		<field name="TOY_VEHICLE"/>
+		<field name="WEARABLE_GLASSES"/>
+		<field name="WEARABLE_HELMET"/>
+		<field name="WEARABLE_JACKET"/>
+		<field name="WEARABLE_PAGER"/>
+		<field name="WEARABLE_UNCATEGORIZED"/>
+		<field name="WEARABLE_WRIST_WATCH"/>
+	</class>
+	<class name="android/bluetooth/BluetoothClass$Device$Major" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="AUDIO_VIDEO"/>
+		<field name="COMPUTER"/>
+		<field name="HEALTH"/>
+		<field name="IMAGING"/>
+		<field name="MISC"/>
+		<field name="NETWORKING"/>
+		<field name="PERIPHERAL"/>
+		<field name="PHONE"/>
+		<field name="TOY"/>
+		<field name="UNCATEGORIZED"/>
+		<field name="WEARABLE"/>
+	</class>
+	<class name="android/bluetooth/BluetoothClass$Service" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="AUDIO"/>
+		<field name="CAPTURE"/>
+		<field name="INFORMATION"/>
+		<field name="LIMITED_DISCOVERABILITY"/>
+		<field name="NETWORKING"/>
+		<field name="OBJECT_TRANSFER"/>
+		<field name="POSITIONING"/>
+		<field name="RENDER"/>
+		<field name="TELEPHONY"/>
+	</class>
+	<class name="android/bluetooth/BluetoothDevice" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;)Landroid/bluetooth/BluetoothGatt;" since="18"/>
+		<method name="connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;I)Landroid/bluetooth/BluetoothGatt;" since="23"/>
+		<method name="connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;II)Landroid/bluetooth/BluetoothGatt;" since="26"/>
+		<method name="connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;IILandroid/os/Handler;)Landroid/bluetooth/BluetoothGatt;" since="26"/>
+		<method name="createBond()Z" since="19"/>
+		<method name="createInsecureL2capChannel(I)Landroid/bluetooth/BluetoothSocket;" since="29"/>
+		<method name="createInsecureRfcommSocketToServiceRecord(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;" since="10"/>
+		<method name="createL2capChannel(I)Landroid/bluetooth/BluetoothSocket;" since="29"/>
+		<method name="createRfcommSocketToServiceRecord(Ljava/util/UUID;)Landroid/bluetooth/BluetoothSocket;"/>
+		<method name="fetchUuidsWithSdp()Z" since="15"/>
+		<method name="getAddress()Ljava/lang/String;"/>
+		<method name="getAlias()Ljava/lang/String;" since="30"/>
+		<method name="getBluetoothClass()Landroid/bluetooth/BluetoothClass;"/>
+		<method name="getBondState()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getType()I" since="18"/>
+		<method name="getUuids()[Landroid/os/ParcelUuid;" since="15"/>
+		<method name="setAlias(Ljava/lang/String;)I" since="31"/>
+		<method name="setPairingConfirmation(Z)Z" since="19"/>
+		<method name="setPin([B)Z" since="19"/>
+		<field name="ACTION_ACL_CONNECTED"/>
+		<field name="ACTION_ACL_DISCONNECTED"/>
+		<field name="ACTION_ACL_DISCONNECT_REQUESTED"/>
+		<field name="ACTION_ALIAS_CHANGED" since="30"/>
+		<field name="ACTION_BOND_STATE_CHANGED"/>
+		<field name="ACTION_CLASS_CHANGED"/>
+		<field name="ACTION_FOUND"/>
+		<field name="ACTION_NAME_CHANGED"/>
+		<field name="ACTION_PAIRING_REQUEST" since="19"/>
+		<field name="ACTION_UUID" since="15"/>
+		<field name="ADDRESS_TYPE_PUBLIC" since="31"/>
+		<field name="ADDRESS_TYPE_RANDOM" since="31"/>
+		<field name="BOND_BONDED"/>
+		<field name="BOND_BONDING"/>
+		<field name="BOND_NONE"/>
+		<field name="CREATOR"/>
+		<field name="DEVICE_TYPE_CLASSIC" since="18"/>
+		<field name="DEVICE_TYPE_DUAL" since="18"/>
+		<field name="DEVICE_TYPE_LE" since="18"/>
+		<field name="DEVICE_TYPE_UNKNOWN" since="18"/>
+		<field name="ERROR"/>
+		<field name="EXTRA_BOND_STATE"/>
+		<field name="EXTRA_CLASS"/>
+		<field name="EXTRA_DEVICE"/>
+		<field name="EXTRA_NAME"/>
+		<field name="EXTRA_PAIRING_KEY" since="19"/>
+		<field name="EXTRA_PAIRING_VARIANT" since="19"/>
+		<field name="EXTRA_PREVIOUS_BOND_STATE"/>
+		<field name="EXTRA_RSSI"/>
+		<field name="EXTRA_UUID" since="15"/>
+		<field name="PAIRING_VARIANT_PASSKEY_CONFIRMATION" since="19"/>
+		<field name="PAIRING_VARIANT_PIN" since="19"/>
+		<field name="PHY_LE_1M" since="26"/>
+		<field name="PHY_LE_1M_MASK" since="26"/>
+		<field name="PHY_LE_2M" since="26"/>
+		<field name="PHY_LE_2M_MASK" since="26"/>
+		<field name="PHY_LE_CODED" since="26"/>
+		<field name="PHY_LE_CODED_MASK" since="26"/>
+		<field name="PHY_OPTION_NO_PREFERRED" since="26"/>
+		<field name="PHY_OPTION_S2" since="26"/>
+		<field name="PHY_OPTION_S8" since="26"/>
+		<field name="TRANSPORT_AUTO" since="23"/>
+		<field name="TRANSPORT_BREDR" since="23"/>
+		<field name="TRANSPORT_LE" since="23"/>
+	</class>
+	<class name="android/bluetooth/BluetoothGatt" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/bluetooth/BluetoothProfile"/>
+		<method name="abortReliableWrite()V" since="19"/>
+		<method name="abortReliableWrite(Landroid/bluetooth/BluetoothDevice;)V" deprecated="19"/>
+		<method name="beginReliableWrite()Z"/>
+		<method name="close()V"/>
+		<method name="connect()Z"/>
+		<method name="disconnect()V"/>
+		<method name="discoverServices()Z"/>
+		<method name="executeReliableWrite()Z"/>
+		<method name="getDevice()Landroid/bluetooth/BluetoothDevice;"/>
+		<method name="getService(Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattService;"/>
+		<method name="getServices()Ljava/util/List;"/>
+		<method name="readCharacteristic(Landroid/bluetooth/BluetoothGattCharacteristic;)Z"/>
+		<method name="readDescriptor(Landroid/bluetooth/BluetoothGattDescriptor;)Z"/>
+		<method name="readPhy()V" since="26"/>
+		<method name="readRemoteRssi()Z"/>
+		<method name="requestConnectionPriority(I)Z" since="21"/>
+		<method name="requestMtu(I)Z" since="21"/>
+		<method name="setCharacteristicNotification(Landroid/bluetooth/BluetoothGattCharacteristic;Z)Z"/>
+		<method name="setPreferredPhy(III)V" since="26"/>
+		<method name="writeCharacteristic(Landroid/bluetooth/BluetoothGattCharacteristic;)Z"/>
+		<method name="writeDescriptor(Landroid/bluetooth/BluetoothGattDescriptor;)Z"/>
+		<field name="CONNECTION_PRIORITY_BALANCED" since="21"/>
+		<field name="CONNECTION_PRIORITY_HIGH" since="21"/>
+		<field name="CONNECTION_PRIORITY_LOW_POWER" since="21"/>
+		<field name="GATT_CONNECTION_CONGESTED" since="21"/>
+		<field name="GATT_FAILURE"/>
+		<field name="GATT_INSUFFICIENT_AUTHENTICATION"/>
+		<field name="GATT_INSUFFICIENT_ENCRYPTION"/>
+		<field name="GATT_INVALID_ATTRIBUTE_LENGTH"/>
+		<field name="GATT_INVALID_OFFSET"/>
+		<field name="GATT_READ_NOT_PERMITTED"/>
+		<field name="GATT_REQUEST_NOT_SUPPORTED"/>
+		<field name="GATT_SUCCESS"/>
+		<field name="GATT_WRITE_NOT_PERMITTED"/>
+	</class>
+	<class name="android/bluetooth/BluetoothGattCallback" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCharacteristicChanged(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;)V"/>
+		<method name="onCharacteristicRead(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;I)V"/>
+		<method name="onCharacteristicWrite(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattCharacteristic;I)V"/>
+		<method name="onConnectionStateChange(Landroid/bluetooth/BluetoothGatt;II)V"/>
+		<method name="onDescriptorRead(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattDescriptor;I)V"/>
+		<method name="onDescriptorWrite(Landroid/bluetooth/BluetoothGatt;Landroid/bluetooth/BluetoothGattDescriptor;I)V"/>
+		<method name="onMtuChanged(Landroid/bluetooth/BluetoothGatt;II)V" since="21"/>
+		<method name="onPhyRead(Landroid/bluetooth/BluetoothGatt;III)V" since="26"/>
+		<method name="onPhyUpdate(Landroid/bluetooth/BluetoothGatt;III)V" since="26"/>
+		<method name="onReadRemoteRssi(Landroid/bluetooth/BluetoothGatt;II)V"/>
+		<method name="onReliableWriteCompleted(Landroid/bluetooth/BluetoothGatt;I)V"/>
+		<method name="onServiceChanged(Landroid/bluetooth/BluetoothGatt;)V" since="31"/>
+		<method name="onServicesDiscovered(Landroid/bluetooth/BluetoothGatt;I)V"/>
+	</class>
+	<class name="android/bluetooth/BluetoothGattCharacteristic" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="24"/>
+		<method name="&lt;init>(Ljava/util/UUID;II)V"/>
+		<method name="addDescriptor(Landroid/bluetooth/BluetoothGattDescriptor;)Z"/>
+		<method name="getDescriptor(Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattDescriptor;"/>
+		<method name="getDescriptors()Ljava/util/List;"/>
+		<method name="getFloatValue(II)Ljava/lang/Float;"/>
+		<method name="getInstanceId()I"/>
+		<method name="getIntValue(II)Ljava/lang/Integer;"/>
+		<method name="getPermissions()I"/>
+		<method name="getProperties()I"/>
+		<method name="getService()Landroid/bluetooth/BluetoothGattService;"/>
+		<method name="getStringValue(I)Ljava/lang/String;"/>
+		<method name="getUuid()Ljava/util/UUID;"/>
+		<method name="getValue()[B"/>
+		<method name="getWriteType()I"/>
+		<method name="setValue(III)Z"/>
+		<method name="setValue(IIII)Z"/>
+		<method name="setValue(Ljava/lang/String;)Z"/>
+		<method name="setValue([B)Z"/>
+		<method name="setWriteType(I)V"/>
+		<field name="CREATOR" since="24"/>
+		<field name="FORMAT_FLOAT"/>
+		<field name="FORMAT_SFLOAT"/>
+		<field name="FORMAT_SINT16"/>
+		<field name="FORMAT_SINT32"/>
+		<field name="FORMAT_SINT8"/>
+		<field name="FORMAT_UINT16"/>
+		<field name="FORMAT_UINT32"/>
+		<field name="FORMAT_UINT8"/>
+		<field name="PERMISSION_READ"/>
+		<field name="PERMISSION_READ_ENCRYPTED"/>
+		<field name="PERMISSION_READ_ENCRYPTED_MITM"/>
+		<field name="PERMISSION_WRITE"/>
+		<field name="PERMISSION_WRITE_ENCRYPTED"/>
+		<field name="PERMISSION_WRITE_ENCRYPTED_MITM"/>
+		<field name="PERMISSION_WRITE_SIGNED"/>
+		<field name="PERMISSION_WRITE_SIGNED_MITM"/>
+		<field name="PROPERTY_BROADCAST"/>
+		<field name="PROPERTY_EXTENDED_PROPS"/>
+		<field name="PROPERTY_INDICATE"/>
+		<field name="PROPERTY_NOTIFY"/>
+		<field name="PROPERTY_READ"/>
+		<field name="PROPERTY_SIGNED_WRITE"/>
+		<field name="PROPERTY_WRITE"/>
+		<field name="PROPERTY_WRITE_NO_RESPONSE"/>
+		<field name="WRITE_TYPE_DEFAULT"/>
+		<field name="WRITE_TYPE_NO_RESPONSE"/>
+		<field name="WRITE_TYPE_SIGNED"/>
+		<field name="mDescriptors"/>
+	</class>
+	<class name="android/bluetooth/BluetoothGattDescriptor" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="24"/>
+		<method name="&lt;init>(Ljava/util/UUID;I)V"/>
+		<method name="getCharacteristic()Landroid/bluetooth/BluetoothGattCharacteristic;"/>
+		<method name="getPermissions()I"/>
+		<method name="getUuid()Ljava/util/UUID;"/>
+		<method name="getValue()[B"/>
+		<method name="setValue([B)Z"/>
+		<field name="CREATOR" since="24"/>
+		<field name="DISABLE_NOTIFICATION_VALUE"/>
+		<field name="ENABLE_INDICATION_VALUE"/>
+		<field name="ENABLE_NOTIFICATION_VALUE"/>
+		<field name="PERMISSION_READ"/>
+		<field name="PERMISSION_READ_ENCRYPTED"/>
+		<field name="PERMISSION_READ_ENCRYPTED_MITM"/>
+		<field name="PERMISSION_WRITE"/>
+		<field name="PERMISSION_WRITE_ENCRYPTED"/>
+		<field name="PERMISSION_WRITE_ENCRYPTED_MITM"/>
+		<field name="PERMISSION_WRITE_SIGNED"/>
+		<field name="PERMISSION_WRITE_SIGNED_MITM"/>
+	</class>
+	<class name="android/bluetooth/BluetoothGattServer" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/bluetooth/BluetoothProfile"/>
+		<method name="addService(Landroid/bluetooth/BluetoothGattService;)Z"/>
+		<method name="cancelConnection(Landroid/bluetooth/BluetoothDevice;)V"/>
+		<method name="clearServices()V"/>
+		<method name="close()V"/>
+		<method name="connect(Landroid/bluetooth/BluetoothDevice;Z)Z"/>
+		<method name="getService(Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattService;"/>
+		<method name="getServices()Ljava/util/List;"/>
+		<method name="notifyCharacteristicChanged(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothGattCharacteristic;Z)Z"/>
+		<method name="readPhy(Landroid/bluetooth/BluetoothDevice;)V" since="26"/>
+		<method name="removeService(Landroid/bluetooth/BluetoothGattService;)Z"/>
+		<method name="sendResponse(Landroid/bluetooth/BluetoothDevice;III[B)Z"/>
+		<method name="setPreferredPhy(Landroid/bluetooth/BluetoothDevice;III)V" since="26"/>
+	</class>
+	<class name="android/bluetooth/BluetoothGattServerCallback" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCharacteristicReadRequest(Landroid/bluetooth/BluetoothDevice;IILandroid/bluetooth/BluetoothGattCharacteristic;)V"/>
+		<method name="onCharacteristicWriteRequest(Landroid/bluetooth/BluetoothDevice;ILandroid/bluetooth/BluetoothGattCharacteristic;ZZI[B)V"/>
+		<method name="onConnectionStateChange(Landroid/bluetooth/BluetoothDevice;II)V"/>
+		<method name="onDescriptorReadRequest(Landroid/bluetooth/BluetoothDevice;IILandroid/bluetooth/BluetoothGattDescriptor;)V"/>
+		<method name="onDescriptorWriteRequest(Landroid/bluetooth/BluetoothDevice;ILandroid/bluetooth/BluetoothGattDescriptor;ZZI[B)V"/>
+		<method name="onExecuteWrite(Landroid/bluetooth/BluetoothDevice;IZ)V"/>
+		<method name="onMtuChanged(Landroid/bluetooth/BluetoothDevice;I)V" since="22"/>
+		<method name="onNotificationSent(Landroid/bluetooth/BluetoothDevice;I)V" since="21"/>
+		<method name="onPhyRead(Landroid/bluetooth/BluetoothDevice;III)V" since="26"/>
+		<method name="onPhyUpdate(Landroid/bluetooth/BluetoothDevice;III)V" since="26"/>
+		<method name="onServiceAdded(ILandroid/bluetooth/BluetoothGattService;)V"/>
+	</class>
+	<class name="android/bluetooth/BluetoothGattService" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="24"/>
+		<method name="&lt;init>(Ljava/util/UUID;I)V"/>
+		<method name="addCharacteristic(Landroid/bluetooth/BluetoothGattCharacteristic;)Z"/>
+		<method name="addService(Landroid/bluetooth/BluetoothGattService;)Z"/>
+		<method name="getCharacteristic(Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattCharacteristic;"/>
+		<method name="getCharacteristics()Ljava/util/List;"/>
+		<method name="getIncludedServices()Ljava/util/List;"/>
+		<method name="getInstanceId()I"/>
+		<method name="getType()I"/>
+		<method name="getUuid()Ljava/util/UUID;"/>
+		<field name="CREATOR" since="24"/>
+		<field name="SERVICE_TYPE_PRIMARY"/>
+		<field name="SERVICE_TYPE_SECONDARY"/>
+		<field name="mCharacteristics"/>
+		<field name="mIncludedServices"/>
+	</class>
+	<class name="android/bluetooth/BluetoothHeadset" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/bluetooth/BluetoothProfile"/>
+		<method name="isAudioConnected(Landroid/bluetooth/BluetoothDevice;)Z"/>
+		<method name="isNoiseReductionSupported(Landroid/bluetooth/BluetoothDevice;)Z" since="31"/>
+		<method name="isVoiceRecognitionSupported(Landroid/bluetooth/BluetoothDevice;)Z" since="31"/>
+		<method name="sendVendorSpecificResultCode(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;Ljava/lang/String;)Z" since="19"/>
+		<method name="startVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z"/>
+		<method name="stopVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z"/>
+		<field name="ACTION_AUDIO_STATE_CHANGED"/>
+		<field name="ACTION_CONNECTION_STATE_CHANGED"/>
+		<field name="ACTION_VENDOR_SPECIFIC_HEADSET_EVENT"/>
+		<field name="AT_CMD_TYPE_ACTION"/>
+		<field name="AT_CMD_TYPE_BASIC"/>
+		<field name="AT_CMD_TYPE_READ"/>
+		<field name="AT_CMD_TYPE_SET"/>
+		<field name="AT_CMD_TYPE_TEST"/>
+		<field name="EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_ARGS"/>
+		<field name="EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD"/>
+		<field name="EXTRA_VENDOR_SPECIFIC_HEADSET_EVENT_CMD_TYPE"/>
+		<field name="STATE_AUDIO_CONNECTED"/>
+		<field name="STATE_AUDIO_CONNECTING"/>
+		<field name="STATE_AUDIO_DISCONNECTED"/>
+		<field name="VENDOR_RESULT_CODE_COMMAND_ANDROID" since="19"/>
+		<field name="VENDOR_SPECIFIC_HEADSET_EVENT_COMPANY_ID_CATEGORY"/>
+	</class>
+	<class name="android/bluetooth/BluetoothHealth" since="14" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/bluetooth/BluetoothProfile"/>
+		<method name="connectChannelToSource(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z" deprecated="29"/>
+		<method name="disconnectChannel(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;I)Z" deprecated="29"/>
+		<method name="getMainChannelFd(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;" deprecated="29"/>
+		<method name="registerSinkAppConfiguration(Ljava/lang/String;ILandroid/bluetooth/BluetoothHealthCallback;)Z" deprecated="29"/>
+		<method name="unregisterAppConfiguration(Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z" deprecated="29"/>
+		<field name="APP_CONFIG_REGISTRATION_FAILURE" deprecated="29"/>
+		<field name="APP_CONFIG_REGISTRATION_SUCCESS" deprecated="29"/>
+		<field name="APP_CONFIG_UNREGISTRATION_FAILURE" deprecated="29"/>
+		<field name="APP_CONFIG_UNREGISTRATION_SUCCESS" deprecated="29"/>
+		<field name="CHANNEL_TYPE_RELIABLE" deprecated="29"/>
+		<field name="CHANNEL_TYPE_STREAMING" deprecated="29"/>
+		<field name="SINK_ROLE" deprecated="29"/>
+		<field name="SOURCE_ROLE" deprecated="29"/>
+		<field name="STATE_CHANNEL_CONNECTED" deprecated="29"/>
+		<field name="STATE_CHANNEL_CONNECTING" deprecated="29"/>
+		<field name="STATE_CHANNEL_DISCONNECTED" deprecated="29"/>
+		<field name="STATE_CHANNEL_DISCONNECTING" deprecated="29"/>
+	</class>
+	<class name="android/bluetooth/BluetoothHealthAppConfiguration" since="14" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDataType()I" deprecated="29"/>
+		<method name="getName()Ljava/lang/String;" deprecated="29"/>
+		<method name="getRole()I" deprecated="29"/>
+		<field name="CREATOR" deprecated="29"/>
+	</class>
+	<class name="android/bluetooth/BluetoothHealthCallback" since="14" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="onHealthAppConfigurationStatusChange(Landroid/bluetooth/BluetoothHealthAppConfiguration;I)V" deprecated="29"/>
+		<method name="onHealthChannelStateChange(Landroid/bluetooth/BluetoothHealthAppConfiguration;Landroid/bluetooth/BluetoothDevice;IILandroid/os/ParcelFileDescriptor;I)V" deprecated="29"/>
+	</class>
+	<class name="android/bluetooth/BluetoothHearingAid" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/bluetooth/BluetoothProfile"/>
+		<field name="ACTION_CONNECTION_STATE_CHANGED"/>
+	</class>
+	<class name="android/bluetooth/BluetoothHidDevice" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/bluetooth/BluetoothProfile"/>
+		<method name="connect(Landroid/bluetooth/BluetoothDevice;)Z"/>
+		<method name="disconnect(Landroid/bluetooth/BluetoothDevice;)Z"/>
+		<method name="registerApp(Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;Ljava/util/concurrent/Executor;Landroid/bluetooth/BluetoothHidDevice$Callback;)Z"/>
+		<method name="replyReport(Landroid/bluetooth/BluetoothDevice;BB[B)Z"/>
+		<method name="reportError(Landroid/bluetooth/BluetoothDevice;B)Z"/>
+		<method name="sendReport(Landroid/bluetooth/BluetoothDevice;I[B)Z"/>
+		<method name="unregisterApp()Z"/>
+		<field name="ACTION_CONNECTION_STATE_CHANGED"/>
+		<field name="ERROR_RSP_INVALID_PARAM"/>
+		<field name="ERROR_RSP_INVALID_RPT_ID"/>
+		<field name="ERROR_RSP_NOT_READY"/>
+		<field name="ERROR_RSP_SUCCESS"/>
+		<field name="ERROR_RSP_UNKNOWN"/>
+		<field name="ERROR_RSP_UNSUPPORTED_REQ"/>
+		<field name="PROTOCOL_BOOT_MODE"/>
+		<field name="PROTOCOL_REPORT_MODE"/>
+		<field name="REPORT_TYPE_FEATURE"/>
+		<field name="REPORT_TYPE_INPUT"/>
+		<field name="REPORT_TYPE_OUTPUT"/>
+		<field name="SUBCLASS1_COMBO"/>
+		<field name="SUBCLASS1_KEYBOARD"/>
+		<field name="SUBCLASS1_MOUSE"/>
+		<field name="SUBCLASS1_NONE"/>
+		<field name="SUBCLASS2_CARD_READER"/>
+		<field name="SUBCLASS2_DIGITIZER_TABLET"/>
+		<field name="SUBCLASS2_GAMEPAD"/>
+		<field name="SUBCLASS2_JOYSTICK"/>
+		<field name="SUBCLASS2_REMOTE_CONTROL"/>
+		<field name="SUBCLASS2_SENSING_DEVICE"/>
+		<field name="SUBCLASS2_UNCATEGORIZED"/>
+	</class>
+	<class name="android/bluetooth/BluetoothHidDevice$Callback" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAppStatusChanged(Landroid/bluetooth/BluetoothDevice;Z)V"/>
+		<method name="onConnectionStateChanged(Landroid/bluetooth/BluetoothDevice;I)V"/>
+		<method name="onGetReport(Landroid/bluetooth/BluetoothDevice;BBI)V"/>
+		<method name="onInterruptData(Landroid/bluetooth/BluetoothDevice;B[B)V"/>
+		<method name="onSetProtocol(Landroid/bluetooth/BluetoothDevice;B)V"/>
+		<method name="onSetReport(Landroid/bluetooth/BluetoothDevice;BB[B)V"/>
+		<method name="onVirtualCableUnplug(Landroid/bluetooth/BluetoothDevice;)V"/>
+	</class>
+	<class name="android/bluetooth/BluetoothHidDeviceAppQosSettings" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="getDelayVariation()I"/>
+		<method name="getLatency()I"/>
+		<method name="getPeakBandwidth()I"/>
+		<method name="getServiceType()I"/>
+		<method name="getTokenBucketSize()I"/>
+		<method name="getTokenRate()I"/>
+		<field name="CREATOR"/>
+		<field name="MAX"/>
+		<field name="SERVICE_BEST_EFFORT"/>
+		<field name="SERVICE_GUARANTEED"/>
+		<field name="SERVICE_NO_TRAFFIC"/>
+	</class>
+	<class name="android/bluetooth/BluetoothHidDeviceAppSdpSettings" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;B[B)V"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getDescriptors()[B"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getProvider()Ljava/lang/String;"/>
+		<method name="getSubclass()B"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/bluetooth/BluetoothLeAudio" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/bluetooth/BluetoothProfile"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<field name="ACTION_LE_AUDIO_CONNECTION_STATE_CHANGED"/>
+	</class>
+	<class name="android/bluetooth/BluetoothManager" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="getAdapter()Landroid/bluetooth/BluetoothAdapter;"/>
+		<method name="getConnectedDevices(I)Ljava/util/List;"/>
+		<method name="getConnectionState(Landroid/bluetooth/BluetoothDevice;I)I"/>
+		<method name="getDevicesMatchingConnectionStates(I[I)Ljava/util/List;"/>
+		<method name="openGattServer(Landroid/content/Context;Landroid/bluetooth/BluetoothGattServerCallback;)Landroid/bluetooth/BluetoothGattServer;"/>
+	</class>
+	<class name="android/bluetooth/BluetoothProfile" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="getConnectedDevices()Ljava/util/List;"/>
+		<method name="getConnectionState(Landroid/bluetooth/BluetoothDevice;)I"/>
+		<method name="getDevicesMatchingConnectionStates([I)Ljava/util/List;"/>
+		<field name="A2DP"/>
+		<field name="EXTRA_PREVIOUS_STATE"/>
+		<field name="EXTRA_STATE"/>
+		<field name="GATT" since="18"/>
+		<field name="GATT_SERVER" since="18"/>
+		<field name="HEADSET"/>
+		<field name="HEALTH" since="14" deprecated="29"/>
+		<field name="HEARING_AID" since="29"/>
+		<field name="HID_DEVICE" since="28"/>
+		<field name="SAP" since="23"/>
+		<field name="STATE_CONNECTED"/>
+		<field name="STATE_CONNECTING"/>
+		<field name="STATE_DISCONNECTED"/>
+		<field name="STATE_DISCONNECTING"/>
+	</class>
+	<class name="android/bluetooth/BluetoothProfile$ServiceListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onServiceConnected(ILandroid/bluetooth/BluetoothProfile;)V"/>
+		<method name="onServiceDisconnected(I)V"/>
+	</class>
+	<class name="android/bluetooth/BluetoothServerSocket" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="accept()Landroid/bluetooth/BluetoothSocket;"/>
+		<method name="accept(I)Landroid/bluetooth/BluetoothSocket;"/>
+		<method name="getPsm()I" since="29"/>
+	</class>
+	<class name="android/bluetooth/BluetoothSocket" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="connect()V"/>
+		<method name="getConnectionType()I" since="23"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getMaxReceivePacketSize()I" since="23"/>
+		<method name="getMaxTransmitPacketSize()I" since="23"/>
+		<method name="getOutputStream()Ljava/io/OutputStream;"/>
+		<method name="getRemoteDevice()Landroid/bluetooth/BluetoothDevice;"/>
+		<method name="isConnected()Z" since="14"/>
+		<field name="TYPE_L2CAP" since="23"/>
+		<field name="TYPE_RFCOMM" since="23"/>
+		<field name="TYPE_SCO" since="23"/>
+	</class>
+	<class name="android/bluetooth/BluetoothStatusCodes" since="31">
+		<extends name="java/lang/Object"/>
+		<field name="ERROR_BLUETOOTH_NOT_ALLOWED"/>
+		<field name="ERROR_BLUETOOTH_NOT_ENABLED"/>
+		<field name="ERROR_DEVICE_NOT_BONDED"/>
+		<field name="ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION"/>
+		<field name="ERROR_UNKNOWN"/>
+		<field name="SUCCESS"/>
+	</class>
+	<class name="android/bluetooth/le/AdvertiseCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onStartFailure(I)V"/>
+		<method name="onStartSuccess(Landroid/bluetooth/le/AdvertiseSettings;)V"/>
+		<field name="ADVERTISE_FAILED_ALREADY_STARTED"/>
+		<field name="ADVERTISE_FAILED_DATA_TOO_LARGE"/>
+		<field name="ADVERTISE_FAILED_FEATURE_UNSUPPORTED"/>
+		<field name="ADVERTISE_FAILED_INTERNAL_ERROR"/>
+		<field name="ADVERTISE_FAILED_TOO_MANY_ADVERTISERS"/>
+	</class>
+	<class name="android/bluetooth/le/AdvertiseData" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getIncludeDeviceName()Z"/>
+		<method name="getIncludeTxPowerLevel()Z"/>
+		<method name="getManufacturerSpecificData()Landroid/util/SparseArray;"/>
+		<method name="getServiceData()Ljava/util/Map;"/>
+		<method name="getServiceSolicitationUuids()Ljava/util/List;" since="31"/>
+		<method name="getServiceUuids()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/bluetooth/le/AdvertiseData$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addManufacturerData(I[B)Landroid/bluetooth/le/AdvertiseData$Builder;"/>
+		<method name="addServiceData(Landroid/os/ParcelUuid;[B)Landroid/bluetooth/le/AdvertiseData$Builder;"/>
+		<method name="addServiceSolicitationUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/AdvertiseData$Builder;" since="31"/>
+		<method name="addServiceUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/AdvertiseData$Builder;"/>
+		<method name="build()Landroid/bluetooth/le/AdvertiseData;"/>
+		<method name="setIncludeDeviceName(Z)Landroid/bluetooth/le/AdvertiseData$Builder;"/>
+		<method name="setIncludeTxPowerLevel(Z)Landroid/bluetooth/le/AdvertiseData$Builder;"/>
+	</class>
+	<class name="android/bluetooth/le/AdvertiseSettings" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getMode()I"/>
+		<method name="getTimeout()I"/>
+		<method name="getTxPowerLevel()I"/>
+		<method name="isConnectable()Z"/>
+		<field name="ADVERTISE_MODE_BALANCED"/>
+		<field name="ADVERTISE_MODE_LOW_LATENCY"/>
+		<field name="ADVERTISE_MODE_LOW_POWER"/>
+		<field name="ADVERTISE_TX_POWER_HIGH"/>
+		<field name="ADVERTISE_TX_POWER_LOW"/>
+		<field name="ADVERTISE_TX_POWER_MEDIUM"/>
+		<field name="ADVERTISE_TX_POWER_ULTRA_LOW"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/bluetooth/le/AdvertiseSettings$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/bluetooth/le/AdvertiseSettings;"/>
+		<method name="setAdvertiseMode(I)Landroid/bluetooth/le/AdvertiseSettings$Builder;"/>
+		<method name="setConnectable(Z)Landroid/bluetooth/le/AdvertiseSettings$Builder;"/>
+		<method name="setTimeout(I)Landroid/bluetooth/le/AdvertiseSettings$Builder;"/>
+		<method name="setTxPowerLevel(I)Landroid/bluetooth/le/AdvertiseSettings$Builder;"/>
+	</class>
+	<class name="android/bluetooth/le/AdvertisingSet" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="enableAdvertising(ZII)V"/>
+		<method name="setAdvertisingData(Landroid/bluetooth/le/AdvertiseData;)V"/>
+		<method name="setAdvertisingParameters(Landroid/bluetooth/le/AdvertisingSetParameters;)V"/>
+		<method name="setPeriodicAdvertisingData(Landroid/bluetooth/le/AdvertiseData;)V"/>
+		<method name="setPeriodicAdvertisingEnabled(Z)V"/>
+		<method name="setPeriodicAdvertisingParameters(Landroid/bluetooth/le/PeriodicAdvertisingParameters;)V"/>
+		<method name="setScanResponseData(Landroid/bluetooth/le/AdvertiseData;)V"/>
+	</class>
+	<class name="android/bluetooth/le/AdvertisingSetCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAdvertisingDataSet(Landroid/bluetooth/le/AdvertisingSet;I)V"/>
+		<method name="onAdvertisingEnabled(Landroid/bluetooth/le/AdvertisingSet;ZI)V"/>
+		<method name="onAdvertisingParametersUpdated(Landroid/bluetooth/le/AdvertisingSet;II)V"/>
+		<method name="onAdvertisingSetStarted(Landroid/bluetooth/le/AdvertisingSet;II)V"/>
+		<method name="onAdvertisingSetStopped(Landroid/bluetooth/le/AdvertisingSet;)V"/>
+		<method name="onPeriodicAdvertisingDataSet(Landroid/bluetooth/le/AdvertisingSet;I)V"/>
+		<method name="onPeriodicAdvertisingEnabled(Landroid/bluetooth/le/AdvertisingSet;ZI)V"/>
+		<method name="onPeriodicAdvertisingParametersUpdated(Landroid/bluetooth/le/AdvertisingSet;I)V"/>
+		<method name="onScanResponseDataSet(Landroid/bluetooth/le/AdvertisingSet;I)V"/>
+		<field name="ADVERTISE_FAILED_ALREADY_STARTED"/>
+		<field name="ADVERTISE_FAILED_DATA_TOO_LARGE"/>
+		<field name="ADVERTISE_FAILED_FEATURE_UNSUPPORTED"/>
+		<field name="ADVERTISE_FAILED_INTERNAL_ERROR"/>
+		<field name="ADVERTISE_FAILED_TOO_MANY_ADVERTISERS"/>
+		<field name="ADVERTISE_SUCCESS"/>
+	</class>
+	<class name="android/bluetooth/le/AdvertisingSetParameters" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getInterval()I"/>
+		<method name="getPrimaryPhy()I"/>
+		<method name="getSecondaryPhy()I"/>
+		<method name="getTxPowerLevel()I"/>
+		<method name="includeTxPower()Z"/>
+		<method name="isAnonymous()Z"/>
+		<method name="isConnectable()Z"/>
+		<method name="isLegacy()Z"/>
+		<method name="isScannable()Z"/>
+		<field name="CREATOR"/>
+		<field name="INTERVAL_HIGH"/>
+		<field name="INTERVAL_LOW"/>
+		<field name="INTERVAL_MAX"/>
+		<field name="INTERVAL_MEDIUM"/>
+		<field name="INTERVAL_MIN"/>
+		<field name="TX_POWER_HIGH"/>
+		<field name="TX_POWER_LOW"/>
+		<field name="TX_POWER_MAX"/>
+		<field name="TX_POWER_MEDIUM"/>
+		<field name="TX_POWER_MIN"/>
+		<field name="TX_POWER_ULTRA_LOW"/>
+	</class>
+	<class name="android/bluetooth/le/AdvertisingSetParameters$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/bluetooth/le/AdvertisingSetParameters;"/>
+		<method name="setAnonymous(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;"/>
+		<method name="setConnectable(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;"/>
+		<method name="setIncludeTxPower(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;"/>
+		<method name="setInterval(I)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;"/>
+		<method name="setLegacyMode(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;"/>
+		<method name="setPrimaryPhy(I)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;"/>
+		<method name="setScannable(Z)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;"/>
+		<method name="setSecondaryPhy(I)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;"/>
+		<method name="setTxPowerLevel(I)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;"/>
+	</class>
+	<class name="android/bluetooth/le/BluetoothLeAdvertiser" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="startAdvertising(Landroid/bluetooth/le/AdvertiseSettings;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseCallback;)V"/>
+		<method name="startAdvertising(Landroid/bluetooth/le/AdvertiseSettings;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseCallback;)V"/>
+		<method name="startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/AdvertisingSetCallback;)V" since="26"/>
+		<method name="startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/AdvertisingSetCallback;Landroid/os/Handler;)V" since="26"/>
+		<method name="startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertisingSetCallback;)V" since="26"/>
+		<method name="startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertisingSetCallback;Landroid/os/Handler;)V" since="26"/>
+		<method name="stopAdvertising(Landroid/bluetooth/le/AdvertiseCallback;)V"/>
+		<method name="stopAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetCallback;)V" since="26"/>
+	</class>
+	<class name="android/bluetooth/le/BluetoothLeScanner" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="flushPendingScanResults(Landroid/bluetooth/le/ScanCallback;)V"/>
+		<method name="startScan(Landroid/bluetooth/le/ScanCallback;)V"/>
+		<method name="startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/app/PendingIntent;)I" since="26"/>
+		<method name="startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/bluetooth/le/ScanCallback;)V"/>
+		<method name="stopScan(Landroid/app/PendingIntent;)V" since="26"/>
+		<method name="stopScan(Landroid/bluetooth/le/ScanCallback;)V"/>
+		<field name="EXTRA_CALLBACK_TYPE" since="26"/>
+		<field name="EXTRA_ERROR_CODE" since="26"/>
+		<field name="EXTRA_LIST_SCAN_RESULT" since="26"/>
+	</class>
+	<class name="android/bluetooth/le/PeriodicAdvertisingParameters" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getIncludeTxPower()Z"/>
+		<method name="getInterval()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/bluetooth/le/PeriodicAdvertisingParameters$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/bluetooth/le/PeriodicAdvertisingParameters;"/>
+		<method name="setIncludeTxPower(Z)Landroid/bluetooth/le/PeriodicAdvertisingParameters$Builder;"/>
+		<method name="setInterval(I)Landroid/bluetooth/le/PeriodicAdvertisingParameters$Builder;"/>
+	</class>
+	<class name="android/bluetooth/le/ScanCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onBatchScanResults(Ljava/util/List;)V"/>
+		<method name="onScanFailed(I)V"/>
+		<method name="onScanResult(ILandroid/bluetooth/le/ScanResult;)V"/>
+		<field name="SCAN_FAILED_ALREADY_STARTED"/>
+		<field name="SCAN_FAILED_APPLICATION_REGISTRATION_FAILED"/>
+		<field name="SCAN_FAILED_FEATURE_UNSUPPORTED"/>
+		<field name="SCAN_FAILED_INTERNAL_ERROR"/>
+	</class>
+	<class name="android/bluetooth/le/ScanFilter" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDeviceAddress()Ljava/lang/String;"/>
+		<method name="getDeviceName()Ljava/lang/String;"/>
+		<method name="getManufacturerData()[B"/>
+		<method name="getManufacturerDataMask()[B"/>
+		<method name="getManufacturerId()I"/>
+		<method name="getServiceData()[B"/>
+		<method name="getServiceDataMask()[B"/>
+		<method name="getServiceDataUuid()Landroid/os/ParcelUuid;"/>
+		<method name="getServiceSolicitationUuid()Landroid/os/ParcelUuid;" since="29"/>
+		<method name="getServiceSolicitationUuidMask()Landroid/os/ParcelUuid;" since="29"/>
+		<method name="getServiceUuid()Landroid/os/ParcelUuid;"/>
+		<method name="getServiceUuidMask()Landroid/os/ParcelUuid;"/>
+		<method name="matches(Landroid/bluetooth/le/ScanResult;)Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/bluetooth/le/ScanFilter$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/bluetooth/le/ScanFilter;"/>
+		<method name="setDeviceAddress(Ljava/lang/String;)Landroid/bluetooth/le/ScanFilter$Builder;"/>
+		<method name="setDeviceName(Ljava/lang/String;)Landroid/bluetooth/le/ScanFilter$Builder;"/>
+		<method name="setManufacturerData(I[B)Landroid/bluetooth/le/ScanFilter$Builder;"/>
+		<method name="setManufacturerData(I[B[B)Landroid/bluetooth/le/ScanFilter$Builder;"/>
+		<method name="setServiceData(Landroid/os/ParcelUuid;[B)Landroid/bluetooth/le/ScanFilter$Builder;"/>
+		<method name="setServiceData(Landroid/os/ParcelUuid;[B[B)Landroid/bluetooth/le/ScanFilter$Builder;"/>
+		<method name="setServiceSolicitationUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;" since="29"/>
+		<method name="setServiceSolicitationUuid(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;" since="29"/>
+		<method name="setServiceUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;"/>
+		<method name="setServiceUuid(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;"/>
+	</class>
+	<class name="android/bluetooth/le/ScanRecord" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getAdvertiseFlags()I"/>
+		<method name="getBytes()[B"/>
+		<method name="getDeviceName()Ljava/lang/String;"/>
+		<method name="getManufacturerSpecificData()Landroid/util/SparseArray;"/>
+		<method name="getManufacturerSpecificData(I)[B"/>
+		<method name="getServiceData()Ljava/util/Map;"/>
+		<method name="getServiceData(Landroid/os/ParcelUuid;)[B"/>
+		<method name="getServiceSolicitationUuids()Ljava/util/List;" since="29"/>
+		<method name="getServiceUuids()Ljava/util/List;"/>
+		<method name="getTxPowerLevel()I"/>
+	</class>
+	<class name="android/bluetooth/le/ScanResult" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/bluetooth/BluetoothDevice;IIIIIIILandroid/bluetooth/le/ScanRecord;J)V" since="26"/>
+		<method name="&lt;init>(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/le/ScanRecord;IJ)V" deprecated="26"/>
+		<method name="getAdvertisingSid()I" since="26"/>
+		<method name="getDataStatus()I" since="26"/>
+		<method name="getDevice()Landroid/bluetooth/BluetoothDevice;"/>
+		<method name="getPeriodicAdvertisingInterval()I" since="26"/>
+		<method name="getPrimaryPhy()I" since="26"/>
+		<method name="getRssi()I"/>
+		<method name="getScanRecord()Landroid/bluetooth/le/ScanRecord;"/>
+		<method name="getSecondaryPhy()I" since="26"/>
+		<method name="getTimestampNanos()J"/>
+		<method name="getTxPower()I" since="26"/>
+		<method name="isConnectable()Z" since="26"/>
+		<method name="isLegacy()Z" since="26"/>
+		<field name="CREATOR"/>
+		<field name="DATA_COMPLETE" since="26"/>
+		<field name="DATA_TRUNCATED" since="26"/>
+		<field name="PERIODIC_INTERVAL_NOT_PRESENT" since="26"/>
+		<field name="PHY_UNUSED" since="26"/>
+		<field name="SID_NOT_PRESENT" since="26"/>
+		<field name="TX_POWER_NOT_PRESENT" since="26"/>
+	</class>
+	<class name="android/bluetooth/le/ScanSettings" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCallbackType()I"/>
+		<method name="getLegacy()Z" since="26"/>
+		<method name="getPhy()I" since="26"/>
+		<method name="getReportDelayMillis()J"/>
+		<method name="getScanMode()I"/>
+		<method name="getScanResultType()I"/>
+		<field name="CALLBACK_TYPE_ALL_MATCHES"/>
+		<field name="CALLBACK_TYPE_FIRST_MATCH" since="23"/>
+		<field name="CALLBACK_TYPE_MATCH_LOST" since="23"/>
+		<field name="CREATOR"/>
+		<field name="MATCH_MODE_AGGRESSIVE" since="23"/>
+		<field name="MATCH_MODE_STICKY" since="23"/>
+		<field name="MATCH_NUM_FEW_ADVERTISEMENT" since="23"/>
+		<field name="MATCH_NUM_MAX_ADVERTISEMENT" since="23"/>
+		<field name="MATCH_NUM_ONE_ADVERTISEMENT" since="23"/>
+		<field name="PHY_LE_ALL_SUPPORTED" since="26"/>
+		<field name="SCAN_MODE_BALANCED"/>
+		<field name="SCAN_MODE_LOW_LATENCY"/>
+		<field name="SCAN_MODE_LOW_POWER"/>
+		<field name="SCAN_MODE_OPPORTUNISTIC" since="23"/>
+	</class>
+	<class name="android/bluetooth/le/ScanSettings$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/bluetooth/le/ScanSettings;"/>
+		<method name="setCallbackType(I)Landroid/bluetooth/le/ScanSettings$Builder;" since="23"/>
+		<method name="setLegacy(Z)Landroid/bluetooth/le/ScanSettings$Builder;" since="26"/>
+		<method name="setMatchMode(I)Landroid/bluetooth/le/ScanSettings$Builder;" since="23"/>
+		<method name="setNumOfMatches(I)Landroid/bluetooth/le/ScanSettings$Builder;" since="23"/>
+		<method name="setPhy(I)Landroid/bluetooth/le/ScanSettings$Builder;" since="26"/>
+		<method name="setReportDelay(J)Landroid/bluetooth/le/ScanSettings$Builder;"/>
+		<method name="setScanMode(I)Landroid/bluetooth/le/ScanSettings$Builder;"/>
+	</class>
+	<class name="android/companion/AssociationRequest" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+		<field name="DEVICE_PROFILE_WATCH" since="31"/>
+	</class>
+	<class name="android/companion/AssociationRequest$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addDeviceFilter(Landroid/companion/DeviceFilter;)Landroid/companion/AssociationRequest$Builder;"/>
+		<method name="build()Landroid/companion/AssociationRequest;"/>
+		<method name="checkNotUsed()V" since="28" removed="29"/>
+		<method name="markUsed()V" since="28" removed="29"/>
+		<method name="setDeviceProfile(Ljava/lang/String;)Landroid/companion/AssociationRequest$Builder;" since="31"/>
+		<method name="setSingleDevice(Z)Landroid/companion/AssociationRequest$Builder;"/>
+	</class>
+	<class name="android/companion/BluetoothDeviceFilter" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/companion/DeviceFilter"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/companion/BluetoothDeviceFilter$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addServiceUuid(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Landroid/companion/BluetoothDeviceFilter$Builder;"/>
+		<method name="build()Landroid/companion/BluetoothDeviceFilter;"/>
+		<method name="checkNotUsed()V" since="28" removed="29"/>
+		<method name="markUsed()V" since="28" removed="29"/>
+		<method name="setAddress(Ljava/lang/String;)Landroid/companion/BluetoothDeviceFilter$Builder;"/>
+		<method name="setNamePattern(Ljava/util/regex/Pattern;)Landroid/companion/BluetoothDeviceFilter$Builder;"/>
+	</class>
+	<class name="android/companion/BluetoothLeDeviceFilter" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/companion/DeviceFilter"/>
+		<method name="getRenamePrefixLengthLimit()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/companion/BluetoothLeDeviceFilter$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/companion/BluetoothLeDeviceFilter;"/>
+		<method name="checkNotUsed()V" since="28" removed="29"/>
+		<method name="markUsed()V" since="28" removed="29"/>
+		<method name="setNamePattern(Ljava/util/regex/Pattern;)Landroid/companion/BluetoothLeDeviceFilter$Builder;"/>
+		<method name="setRawDataFilter([B[B)Landroid/companion/BluetoothLeDeviceFilter$Builder;"/>
+		<method name="setRenameFromBytes(Ljava/lang/String;Ljava/lang/String;IILjava/nio/ByteOrder;)Landroid/companion/BluetoothLeDeviceFilter$Builder;"/>
+		<method name="setRenameFromName(Ljava/lang/String;Ljava/lang/String;II)Landroid/companion/BluetoothLeDeviceFilter$Builder;"/>
+		<method name="setScanFilter(Landroid/bluetooth/le/ScanFilter;)Landroid/companion/BluetoothLeDeviceFilter$Builder;"/>
+	</class>
+	<class name="android/companion/CompanionDeviceManager" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="associate(Landroid/companion/AssociationRequest;Landroid/companion/CompanionDeviceManager$Callback;Landroid/os/Handler;)V"/>
+		<method name="disassociate(Ljava/lang/String;)V"/>
+		<method name="getAssociations()Ljava/util/List;"/>
+		<method name="hasNotificationAccess(Landroid/content/ComponentName;)Z"/>
+		<method name="requestNotificationAccess(Landroid/content/ComponentName;)V"/>
+		<method name="startObservingDevicePresence(Ljava/lang/String;)V" since="31"/>
+		<method name="stopObservingDevicePresence(Ljava/lang/String;)V" since="31"/>
+		<field name="EXTRA_DEVICE"/>
+	</class>
+	<class name="android/companion/CompanionDeviceManager$Callback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onDeviceFound(Landroid/content/IntentSender;)V"/>
+		<method name="onFailure(Ljava/lang/CharSequence;)V"/>
+	</class>
+	<class name="android/companion/CompanionDeviceService" since="31">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onDeviceAppeared(Ljava/lang/String;)V"/>
+		<method name="onDeviceDisappeared(Ljava/lang/String;)V"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/companion/DeviceFilter" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+	</class>
+	<class name="android/companion/DeviceNotAssociatedException" since="31">
+		<extends name="java/lang/RuntimeException"/>
+	</class>
+	<class name="android/companion/WifiDeviceFilter" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/companion/DeviceFilter"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/companion/WifiDeviceFilter$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/companion/WifiDeviceFilter;"/>
+		<method name="checkNotUsed()V" since="28" removed="29"/>
+		<method name="markUsed()V" since="28" removed="29"/>
+		<method name="setBssid(Landroid/net/MacAddress;)Landroid/companion/WifiDeviceFilter$Builder;" since="30"/>
+		<method name="setBssidMask(Landroid/net/MacAddress;)Landroid/companion/WifiDeviceFilter$Builder;" since="30"/>
+		<method name="setNamePattern(Ljava/util/regex/Pattern;)Landroid/companion/WifiDeviceFilter$Builder;"/>
+	</class>
+	<class name="android/content/AbstractThreadedSyncAdapter" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Z)V"/>
+		<method name="&lt;init>(Landroid/content/Context;ZZ)V" since="11"/>
+		<method name="getContext()Landroid/content/Context;"/>
+		<method name="getSyncAdapterBinder()Landroid/os/IBinder;"/>
+		<method name="onPerformSync(Landroid/accounts/Account;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/ContentProviderClient;Landroid/content/SyncResult;)V"/>
+		<method name="onSecurityException(Landroid/accounts/Account;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/SyncResult;)V" since="23"/>
+		<method name="onSyncCanceled()V" since="8"/>
+		<method name="onSyncCanceled(Ljava/lang/Thread;)V" since="11"/>
+		<method name="onUnsyncableAccount()Z" since="28"/>
+		<field name="LOG_SYNC_DETAILS" deprecated="15"/>
+	</class>
+	<class name="android/content/ActivityNotFoundException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/content/AsyncQueryHandler" since="1">
+		<extends name="android/os/Handler"/>
+		<method name="&lt;init>(Landroid/content/ContentResolver;)V"/>
+		<method name="cancelOperation(I)V"/>
+		<method name="createHandler(Landroid/os/Looper;)Landroid/os/Handler;"/>
+		<method name="onDeleteComplete(ILjava/lang/Object;I)V"/>
+		<method name="onInsertComplete(ILjava/lang/Object;Landroid/net/Uri;)V"/>
+		<method name="onQueryComplete(ILjava/lang/Object;Landroid/database/Cursor;)V"/>
+		<method name="onUpdateComplete(ILjava/lang/Object;I)V"/>
+		<method name="startDelete(ILjava/lang/Object;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)V"/>
+		<method name="startInsert(ILjava/lang/Object;Landroid/net/Uri;Landroid/content/ContentValues;)V"/>
+		<method name="startQuery(ILjava/lang/Object;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="startUpdate(ILjava/lang/Object;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/content/AsyncQueryHandler$WorkerArgs" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="cookie"/>
+		<field name="handler"/>
+		<field name="orderBy"/>
+		<field name="projection"/>
+		<field name="result"/>
+		<field name="selection"/>
+		<field name="selectionArgs"/>
+		<field name="uri"/>
+		<field name="values"/>
+	</class>
+	<class name="android/content/AsyncQueryHandler$WorkerHandler" since="1">
+		<extends name="android/os/Handler"/>
+		<method name="&lt;init>(Landroid/content/AsyncQueryHandler;Landroid/os/Looper;)V"/>
+	</class>
+	<class name="android/content/AsyncTaskLoader" since="11" deprecated="28">
+		<extends name="android/content/Loader"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="cancelLoad()Z" removed="16"/>
+		<method name="cancelLoadInBackground()V" since="16" deprecated="29"/>
+		<method name="isLoadInBackgroundCanceled()Z" since="16" deprecated="29"/>
+		<method name="loadInBackground()Ljava/lang/Object;" deprecated="29"/>
+		<method name="onCanceled(Ljava/lang/Object;)V" deprecated="29"/>
+		<method name="onLoadInBackground()Ljava/lang/Object;" deprecated="29"/>
+		<method name="setUpdateThrottle(J)V" deprecated="29"/>
+	</class>
+	<class name="android/content/AttributionSource" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="checkCallingUid()Z"/>
+		<method name="enforceCallingUid()V"/>
+		<method name="getAttributionTag()Ljava/lang/String;"/>
+		<method name="getNext()Landroid/content/AttributionSource;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getUid()I"/>
+		<method name="isTrusted(Landroid/content/Context;)Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/AttributionSource$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="build()Landroid/content/AttributionSource;"/>
+		<method name="setAttributionTag(Ljava/lang/String;)Landroid/content/AttributionSource$Builder;"/>
+		<method name="setNext(Landroid/content/AttributionSource;)Landroid/content/AttributionSource$Builder;"/>
+		<method name="setPackageName(Ljava/lang/String;)Landroid/content/AttributionSource$Builder;"/>
+	</class>
+	<class name="android/content/BroadcastReceiver" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="abortBroadcast()V"/>
+		<method name="clearAbortBroadcast()V"/>
+		<method name="getAbortBroadcast()Z"/>
+		<method name="getDebugUnregister()Z"/>
+		<method name="getResultCode()I"/>
+		<method name="getResultData()Ljava/lang/String;"/>
+		<method name="getResultExtras(Z)Landroid/os/Bundle;"/>
+		<method name="goAsync()Landroid/content/BroadcastReceiver$PendingResult;" since="11"/>
+		<method name="isInitialStickyBroadcast()Z" since="5"/>
+		<method name="isOrderedBroadcast()Z" since="5"/>
+		<method name="onReceive(Landroid/content/Context;Landroid/content/Intent;)V"/>
+		<method name="peekService(Landroid/content/Context;Landroid/content/Intent;)Landroid/os/IBinder;" since="3"/>
+		<method name="setDebugUnregister(Z)V"/>
+		<method name="setOrderedHint(Z)V"/>
+		<method name="setResult(ILjava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="setResultCode(I)V"/>
+		<method name="setResultData(Ljava/lang/String;)V"/>
+		<method name="setResultExtras(Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/content/BroadcastReceiver$PendingResult" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="abortBroadcast()V"/>
+		<method name="clearAbortBroadcast()V"/>
+		<method name="finish()V"/>
+		<method name="getAbortBroadcast()Z"/>
+		<method name="getResultCode()I"/>
+		<method name="getResultData()Ljava/lang/String;"/>
+		<method name="getResultExtras(Z)Landroid/os/Bundle;"/>
+		<method name="setResult(ILjava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="setResultCode(I)V"/>
+		<method name="setResultData(Ljava/lang/String;)V"/>
+		<method name="setResultExtras(Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/content/ClipData" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/ClipData;)V" since="16"/>
+		<method name="&lt;init>(Landroid/content/ClipDescription;Landroid/content/ClipData$Item;)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;[Ljava/lang/String;Landroid/content/ClipData$Item;)V"/>
+		<method name="addItem(Landroid/content/ClipData$Item;)V"/>
+		<method name="addItem(Landroid/content/ContentResolver;Landroid/content/ClipData$Item;)V" since="26"/>
+		<method name="getDescription()Landroid/content/ClipDescription;"/>
+		<method name="getItemAt(I)Landroid/content/ClipData$Item;"/>
+		<method name="getItemCount()I"/>
+		<method name="newHtmlText(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;)Landroid/content/ClipData;" since="16"/>
+		<method name="newIntent(Ljava/lang/CharSequence;Landroid/content/Intent;)Landroid/content/ClipData;"/>
+		<method name="newPlainText(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/content/ClipData;"/>
+		<method name="newRawUri(Ljava/lang/CharSequence;Landroid/net/Uri;)Landroid/content/ClipData;"/>
+		<method name="newUri(Landroid/content/ContentResolver;Ljava/lang/CharSequence;Landroid/net/Uri;)Landroid/content/ClipData;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/ClipData$Item" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Intent;)V"/>
+		<method name="&lt;init>(Landroid/net/Uri;)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Landroid/content/Intent;Landroid/net/Uri;)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Ljava/lang/String;)V" since="16"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Ljava/lang/String;Landroid/content/Intent;Landroid/net/Uri;)V" since="16"/>
+		<method name="coerceToHtmlText(Landroid/content/Context;)Ljava/lang/String;" since="16"/>
+		<method name="coerceToStyledText(Landroid/content/Context;)Ljava/lang/CharSequence;" since="16"/>
+		<method name="coerceToText(Landroid/content/Context;)Ljava/lang/CharSequence;"/>
+		<method name="getHtmlText()Ljava/lang/String;" since="16"/>
+		<method name="getIntent()Landroid/content/Intent;"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<method name="getTextLinks()Landroid/view/textclassifier/TextLinks;" since="31"/>
+		<method name="getUri()Landroid/net/Uri;"/>
+	</class>
+	<class name="android/content/ClipDescription" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/ClipDescription;)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;[Ljava/lang/String;)V"/>
+		<method name="compareMimeTypes(Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="filterMimeTypes(Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="getClassificationStatus()I" since="31"/>
+		<method name="getConfidenceScore(Ljava/lang/String;)F" since="31"/>
+		<method name="getExtras()Landroid/os/PersistableBundle;" since="24"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<method name="getMimeType(I)Ljava/lang/String;"/>
+		<method name="getMimeTypeCount()I"/>
+		<method name="getTimestamp()J" since="26"/>
+		<method name="hasMimeType(Ljava/lang/String;)Z"/>
+		<method name="isStyledText()Z" since="31"/>
+		<method name="setExtras(Landroid/os/PersistableBundle;)V" since="24"/>
+		<field name="CLASSIFICATION_COMPLETE" since="31"/>
+		<field name="CLASSIFICATION_NOT_COMPLETE" since="31"/>
+		<field name="CLASSIFICATION_NOT_PERFORMED" since="31"/>
+		<field name="CREATOR"/>
+		<field name="MIMETYPE_TEXT_HTML" since="16"/>
+		<field name="MIMETYPE_TEXT_INTENT"/>
+		<field name="MIMETYPE_TEXT_PLAIN"/>
+		<field name="MIMETYPE_TEXT_URILIST"/>
+		<field name="MIMETYPE_UNKNOWN" since="30"/>
+	</class>
+	<class name="android/content/ClipboardManager" since="11">
+		<extends name="android/text/ClipboardManager"/>
+		<method name="addPrimaryClipChangedListener(Landroid/content/ClipboardManager$OnPrimaryClipChangedListener;)V"/>
+		<method name="clearPrimaryClip()V" since="28"/>
+		<method name="getPrimaryClip()Landroid/content/ClipData;"/>
+		<method name="getPrimaryClipDescription()Landroid/content/ClipDescription;"/>
+		<method name="hasPrimaryClip()Z"/>
+		<method name="removePrimaryClipChangedListener(Landroid/content/ClipboardManager$OnPrimaryClipChangedListener;)V"/>
+		<method name="setPrimaryClip(Landroid/content/ClipData;)V"/>
+	</class>
+	<class name="android/content/ClipboardManager$OnPrimaryClipChangedListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onPrimaryClipChanged()V"/>
+	</class>
+	<class name="android/content/ComponentCallbacks" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onConfigurationChanged(Landroid/content/res/Configuration;)V"/>
+		<method name="onLowMemory()V"/>
+	</class>
+	<class name="android/content/ComponentCallbacks2" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/content/ComponentCallbacks"/>
+		<method name="onTrimMemory(I)V"/>
+		<field name="TRIM_MEMORY_BACKGROUND"/>
+		<field name="TRIM_MEMORY_COMPLETE"/>
+		<field name="TRIM_MEMORY_MODERATE"/>
+		<field name="TRIM_MEMORY_RUNNING_CRITICAL" since="16"/>
+		<field name="TRIM_MEMORY_RUNNING_LOW" since="16"/>
+		<field name="TRIM_MEMORY_RUNNING_MODERATE" since="16"/>
+		<field name="TRIM_MEMORY_UI_HIDDEN"/>
+	</class>
+	<class name="android/content/ComponentName" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/lang/Cloneable" since="8"/>
+		<implements name="java/lang/Comparable" since="4"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/Class;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="clone()Landroid/content/ComponentName;" since="8"/>
+		<method name="compareTo(Landroid/content/ComponentName;)I" since="4"/>
+		<method name="createRelative(Landroid/content/Context;Ljava/lang/String;)Landroid/content/ComponentName;" since="23"/>
+		<method name="createRelative(Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;" since="23"/>
+		<method name="flattenToShortString()Ljava/lang/String;"/>
+		<method name="flattenToString()Ljava/lang/String;"/>
+		<method name="getClassName()Ljava/lang/String;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getShortClassName()Ljava/lang/String;"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName;"/>
+		<method name="toShortString()Ljava/lang/String;"/>
+		<method name="unflattenFromString(Ljava/lang/String;)Landroid/content/ComponentName;"/>
+		<method name="writeToParcel(Landroid/content/ComponentName;Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/ContentProvider" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/content/ComponentCallbacks" removed="14"/>
+		<implements name="android/content/ComponentCallbacks2" since="14"/>
+		<method name="&lt;init>()V"/>
+		<method name="applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;" since="29"/>
+		<method name="applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;" since="5"/>
+		<method name="attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V"/>
+		<method name="bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I"/>
+		<method name="call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="11"/>
+		<method name="call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="29"/>
+		<method name="canonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19"/>
+		<method name="clearCallingIdentity()Landroid/content/ContentProvider$CallingIdentity;" since="29"/>
+		<method name="delete(Landroid/net/Uri;Landroid/os/Bundle;)I" since="30"/>
+		<method name="delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I"/>
+		<method name="dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" since="18"/>
+		<method name="getCallingAttributionSource()Landroid/content/AttributionSource;" since="31"/>
+		<method name="getCallingAttributionTag()Ljava/lang/String;" since="30"/>
+		<method name="getCallingPackage()Ljava/lang/String;" since="19"/>
+		<method name="getCallingPackageUnchecked()Ljava/lang/String;" since="30"/>
+		<method name="getContext()Landroid/content/Context;"/>
+		<method name="getPathPermissions()[Landroid/content/pm/PathPermission;" since="4"/>
+		<method name="getReadPermission()Ljava/lang/String;"/>
+		<method name="getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;" since="11"/>
+		<method name="getType(Landroid/net/Uri;)Ljava/lang/String;"/>
+		<method name="getWritePermission()Ljava/lang/String;"/>
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;"/>
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;" since="30"/>
+		<method name="isTemporary()Z"/>
+		<method name="onCallingPackageChanged()V" since="30"/>
+		<method name="onCreate()Z"/>
+		<method name="openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;" since="3"/>
+		<method name="openAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19"/>
+		<method name="openFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;"/>
+		<method name="openFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;" since="19"/>
+		<method name="openFileHelper(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;"/>
+		<method name="openPipeHelper(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/Object;Landroid/content/ContentProvider$PipeDataWriter;)Landroid/os/ParcelFileDescriptor;" since="11"/>
+		<method name="openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;" since="11"/>
+		<method name="openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19"/>
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="26"/>
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16"/>
+		<method name="refresh(Landroid/net/Uri;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Z" since="26"/>
+		<method name="requireContext()Landroid/content/Context;" since="30"/>
+		<method name="restoreCallingIdentity(Landroid/content/ContentProvider$CallingIdentity;)V" since="29"/>
+		<method name="setPathPermissions([Landroid/content/pm/PathPermission;)V" since="4"/>
+		<method name="setReadPermission(Ljava/lang/String;)V"/>
+		<method name="setWritePermission(Ljava/lang/String;)V"/>
+		<method name="shutdown()V" since="11"/>
+		<method name="uncanonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19"/>
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I" since="30"/>
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I"/>
+	</class>
+	<class name="android/content/ContentProvider$CallingIdentity" since="29">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/content/ContentProvider$PipeDataWriter" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="writeDataToPipe(Landroid/os/ParcelFileDescriptor;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/content/ContentProviderClient" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="24"/>
+		<method name="applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;" since="29"/>
+		<method name="applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;"/>
+		<method name="bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I"/>
+		<method name="call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="17"/>
+		<method name="call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="29"/>
+		<method name="canonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19"/>
+		<method name="delete(Landroid/net/Uri;Landroid/os/Bundle;)I" since="30"/>
+		<method name="delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I"/>
+		<method name="getLocalContentProvider()Landroid/content/ContentProvider;"/>
+		<method name="getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;" since="11"/>
+		<method name="getType(Landroid/net/Uri;)Ljava/lang/String;"/>
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;"/>
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;" since="30"/>
+		<method name="openAssetFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;"/>
+		<method name="openAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19"/>
+		<method name="openFile(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;"/>
+		<method name="openFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;" since="19"/>
+		<method name="openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="29"/>
+		<method name="openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;" since="11"/>
+		<method name="openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19"/>
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="26"/>
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16"/>
+		<method name="refresh(Landroid/net/Uri;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Z" since="26"/>
+		<method name="release()Z" deprecated="24"/>
+		<method name="uncanonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19"/>
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I" since="30"/>
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I"/>
+	</class>
+	<class name="android/content/ContentProviderOperation" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="apply(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;"/>
+		<method name="getUri()Landroid/net/Uri;"/>
+		<method name="isAssertQuery()Z" since="23"/>
+		<method name="isCall()Z" since="30"/>
+		<method name="isDelete()Z" since="23"/>
+		<method name="isExceptionAllowed()Z" since="30"/>
+		<method name="isInsert()Z" since="23"/>
+		<method name="isReadOperation()Z"/>
+		<method name="isUpdate()Z" since="23"/>
+		<method name="isWriteOperation()Z"/>
+		<method name="isYieldAllowed()Z"/>
+		<method name="newAssertQuery(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="newCall(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;" since="30"/>
+		<method name="newDelete(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="resolveExtrasBackReferences([Landroid/content/ContentProviderResult;I)Landroid/os/Bundle;" since="30"/>
+		<method name="resolveSelectionArgsBackReferences([Landroid/content/ContentProviderResult;I)[Ljava/lang/String;"/>
+		<method name="resolveValueBackReferences([Landroid/content/ContentProviderResult;I)Landroid/content/ContentValues;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/ContentProviderOperation$Builder" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="build()Landroid/content/ContentProviderOperation;"/>
+		<method name="withExceptionAllowed(Z)Landroid/content/ContentProviderOperation$Builder;" since="30"/>
+		<method name="withExpectedCount(I)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="withExtra(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;" since="30"/>
+		<method name="withExtraBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;" since="30"/>
+		<method name="withExtraBackReference(Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentProviderOperation$Builder;" since="30"/>
+		<method name="withExtras(Landroid/os/Bundle;)Landroid/content/ContentProviderOperation$Builder;" since="30"/>
+		<method name="withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="withSelectionBackReference(II)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="withSelectionBackReference(IILjava/lang/String;)Landroid/content/ContentProviderOperation$Builder;" since="30"/>
+		<method name="withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="withValueBackReference(Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentProviderOperation$Builder;" since="30"/>
+		<method name="withValueBackReferences(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;"/>
+		<method name="withYieldAllowed(Z)Landroid/content/ContentProviderOperation$Builder;"/>
+	</class>
+	<class name="android/content/ContentProviderResult" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/net/Uri;)V"/>
+		<method name="&lt;init>(Landroid/os/Bundle;)V" since="30"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V" since="30"/>
+		<field name="CREATOR"/>
+		<field name="count"/>
+		<field name="exception" since="30"/>
+		<field name="extras" since="30"/>
+		<field name="uri"/>
+	</class>
+	<class name="android/content/ContentQueryMap" since="1">
+		<extends name="java/util/Observable"/>
+		<method name="&lt;init>(Landroid/database/Cursor;Ljava/lang/String;ZLandroid/os/Handler;)V"/>
+		<method name="close()V"/>
+		<method name="getRows()Ljava/util/Map;"/>
+		<method name="getValues(Ljava/lang/String;)Landroid/content/ContentValues;"/>
+		<method name="requery()V"/>
+		<method name="setKeepUpdated(Z)V"/>
+	</class>
+	<class name="android/content/ContentResolver" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="acquireContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;" since="5"/>
+		<method name="acquireContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;" since="5"/>
+		<method name="acquireUnstableContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;" since="16"/>
+		<method name="acquireUnstableContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;" since="16"/>
+		<method name="addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V" since="8"/>
+		<method name="addStatusChangeListener(ILandroid/content/SyncStatusObserver;)Ljava/lang/Object;" since="5"/>
+		<method name="applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;" since="5"/>
+		<method name="bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I"/>
+		<method name="call(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="11"/>
+		<method name="call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;" since="29"/>
+		<method name="cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V" since="5"/>
+		<method name="cancelSync(Landroid/content/SyncRequest;)V" since="21"/>
+		<method name="cancelSync(Landroid/net/Uri;)V" deprecated="15"/>
+		<method name="canonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19"/>
+		<method name="delete(Landroid/net/Uri;Landroid/os/Bundle;)I" since="30"/>
+		<method name="delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I"/>
+		<method name="getCurrentSync()Landroid/content/SyncInfo;" since="8" deprecated="15"/>
+		<method name="getCurrentSyncs()Ljava/util/List;" since="11"/>
+		<method name="getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I" since="5"/>
+		<method name="getMasterSyncAutomatically()Z" since="5"/>
+		<method name="getOutgoingPersistedUriPermissions()Ljava/util/List;" since="19"/>
+		<method name="getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;)Ljava/util/List;" since="8"/>
+		<method name="getPersistedUriPermissions()Ljava/util/List;" since="19"/>
+		<method name="getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;" since="11"/>
+		<method name="getSyncAdapterTypes()[Landroid/content/SyncAdapterType;" since="5"/>
+		<method name="getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z" since="5"/>
+		<method name="getType(Landroid/net/Uri;)Ljava/lang/String;"/>
+		<method name="getTypeInfo(Ljava/lang/String;)Landroid/content/ContentResolver$MimeTypeInfo;" since="29"/>
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;"/>
+		<method name="insert(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)Landroid/net/Uri;" since="30"/>
+		<method name="isSyncActive(Landroid/accounts/Account;Ljava/lang/String;)Z" since="5"/>
+		<method name="isSyncPending(Landroid/accounts/Account;Ljava/lang/String;)Z" since="5"/>
+		<method name="loadThumbnail(Landroid/net/Uri;Landroid/util/Size;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;" since="29"/>
+		<method name="notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;)V"/>
+		<method name="notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;I)V" since="24"/>
+		<method name="notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V" deprecated="30"/>
+		<method name="notifyChange(Ljava/util/Collection;Landroid/database/ContentObserver;I)V" since="30"/>
+		<method name="openAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="29"/>
+		<method name="openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;" since="3"/>
+		<method name="openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19"/>
+		<method name="openFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;" since="29"/>
+		<method name="openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;"/>
+		<method name="openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;" since="19"/>
+		<method name="openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;"/>
+		<method name="openOutputStream(Landroid/net/Uri;)Ljava/io/OutputStream;"/>
+		<method name="openOutputStream(Landroid/net/Uri;Ljava/lang/String;)Ljava/io/OutputStream;" since="3"/>
+		<method name="openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="29"/>
+		<method name="openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/res/AssetFileDescriptor;" since="11"/>
+		<method name="openTypedAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="19"/>
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="26"/>
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16"/>
+		<method name="refresh(Landroid/net/Uri;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Z" since="26"/>
+		<method name="registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V"/>
+		<method name="releasePersistableUriPermission(Landroid/net/Uri;I)V" since="19"/>
+		<method name="removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V" since="8"/>
+		<method name="removeStatusChangeListener(Ljava/lang/Object;)V" since="5"/>
+		<method name="requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V" since="5"/>
+		<method name="requestSync(Landroid/content/SyncRequest;)V" since="19"/>
+		<method name="setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V" since="5"/>
+		<method name="setMasterSyncAutomatically(Z)V" since="5"/>
+		<method name="setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V" since="5"/>
+		<method name="startSync(Landroid/net/Uri;Landroid/os/Bundle;)V" deprecated="15"/>
+		<method name="takePersistableUriPermission(Landroid/net/Uri;I)V" since="19"/>
+		<method name="uncanonicalize(Landroid/net/Uri;)Landroid/net/Uri;" since="19"/>
+		<method name="unregisterContentObserver(Landroid/database/ContentObserver;)V"/>
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Landroid/os/Bundle;)I" since="30"/>
+		<method name="update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I"/>
+		<method name="validateSyncExtrasBundle(Landroid/os/Bundle;)V"/>
+		<method name="wrap(Landroid/content/ContentProvider;)Landroid/content/ContentResolver;" since="29"/>
+		<method name="wrap(Landroid/content/ContentProviderClient;)Landroid/content/ContentResolver;" since="29"/>
+		<field name="ANY_CURSOR_ITEM_TYPE" since="21"/>
+		<field name="CURSOR_DIR_BASE_TYPE"/>
+		<field name="CURSOR_ITEM_BASE_TYPE"/>
+		<field name="EXTRA_HONORED_ARGS" since="26"/>
+		<field name="EXTRA_REFRESH_SUPPORTED" since="26"/>
+		<field name="EXTRA_SIZE" since="21"/>
+		<field name="EXTRA_TOTAL_COUNT" since="26"/>
+		<field name="NOTIFY_DELETE" since="30"/>
+		<field name="NOTIFY_INSERT" since="30"/>
+		<field name="NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS" since="24"/>
+		<field name="NOTIFY_SYNC_TO_NETWORK" since="24"/>
+		<field name="NOTIFY_UPDATE" since="30"/>
+		<field name="QUERY_ARG_GROUP_COLUMNS" since="30"/>
+		<field name="QUERY_ARG_LIMIT" since="26"/>
+		<field name="QUERY_ARG_OFFSET" since="26"/>
+		<field name="QUERY_ARG_SORT_COLLATION" since="26"/>
+		<field name="QUERY_ARG_SORT_COLUMNS" since="26"/>
+		<field name="QUERY_ARG_SORT_DIRECTION" since="26"/>
+		<field name="QUERY_ARG_SORT_LOCALE" since="30"/>
+		<field name="QUERY_ARG_SQL_GROUP_BY" since="30"/>
+		<field name="QUERY_ARG_SQL_HAVING" since="30"/>
+		<field name="QUERY_ARG_SQL_LIMIT" since="30"/>
+		<field name="QUERY_ARG_SQL_SELECTION" since="26"/>
+		<field name="QUERY_ARG_SQL_SELECTION_ARGS" since="26"/>
+		<field name="QUERY_ARG_SQL_SORT_ORDER" since="26"/>
+		<field name="QUERY_SORT_DIRECTION_ASCENDING" since="26"/>
+		<field name="QUERY_SORT_DIRECTION_DESCENDING" since="26"/>
+		<field name="SCHEME_ANDROID_RESOURCE"/>
+		<field name="SCHEME_CONTENT"/>
+		<field name="SCHEME_FILE"/>
+		<field name="SYNC_EXTRAS_ACCOUNT" deprecated="15"/>
+		<field name="SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS"/>
+		<field name="SYNC_EXTRAS_DO_NOT_RETRY" since="8"/>
+		<field name="SYNC_EXTRAS_EXPEDITED"/>
+		<field name="SYNC_EXTRAS_FORCE" deprecated="15"/>
+		<field name="SYNC_EXTRAS_IGNORE_BACKOFF" since="8"/>
+		<field name="SYNC_EXTRAS_IGNORE_SETTINGS" since="8"/>
+		<field name="SYNC_EXTRAS_INITIALIZE" since="5"/>
+		<field name="SYNC_EXTRAS_MANUAL" since="5"/>
+		<field name="SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS"/>
+		<field name="SYNC_EXTRAS_REQUIRE_CHARGING" since="24"/>
+		<field name="SYNC_EXTRAS_SCHEDULE_AS_EXPEDITED_JOB" since="31"/>
+		<field name="SYNC_EXTRAS_UPLOAD"/>
+		<field name="SYNC_OBSERVER_TYPE_ACTIVE" since="8"/>
+		<field name="SYNC_OBSERVER_TYPE_PENDING" since="8"/>
+		<field name="SYNC_OBSERVER_TYPE_SETTINGS" since="8"/>
+	</class>
+	<class name="android/content/ContentResolver$MimeTypeInfo" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+	</class>
+	<class name="android/content/ContentUris" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="appendId(Landroid/net/Uri$Builder;J)Landroid/net/Uri$Builder;"/>
+		<method name="parseId(Landroid/net/Uri;)J"/>
+		<method name="removeId(Landroid/net/Uri;)Landroid/net/Uri;" since="29"/>
+		<method name="withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;"/>
+	</class>
+	<class name="android/content/ContentValues" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/content/ContentValues;)V"/>
+		<method name="clear()V"/>
+		<method name="containsKey(Ljava/lang/String;)Z"/>
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getAsBoolean(Ljava/lang/String;)Ljava/lang/Boolean;"/>
+		<method name="getAsByte(Ljava/lang/String;)Ljava/lang/Byte;"/>
+		<method name="getAsByteArray(Ljava/lang/String;)[B"/>
+		<method name="getAsDouble(Ljava/lang/String;)Ljava/lang/Double;"/>
+		<method name="getAsFloat(Ljava/lang/String;)Ljava/lang/Float;"/>
+		<method name="getAsInteger(Ljava/lang/String;)Ljava/lang/Integer;"/>
+		<method name="getAsLong(Ljava/lang/String;)Ljava/lang/Long;"/>
+		<method name="getAsShort(Ljava/lang/String;)Ljava/lang/Short;"/>
+		<method name="getAsString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="isEmpty()Z" since="30"/>
+		<method name="keySet()Ljava/util/Set;" since="11"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Boolean;)V"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Byte;)V"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Double;)V"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Float;)V"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Integer;)V"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Long;)V"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Short;)V"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="put(Ljava/lang/String;[B)V"/>
+		<method name="putAll(Landroid/content/ContentValues;)V"/>
+		<method name="putNull(Ljava/lang/String;)V"/>
+		<method name="remove(Ljava/lang/String;)V"/>
+		<method name="size()I"/>
+		<method name="valueSet()Ljava/util/Set;"/>
+		<field name="CREATOR"/>
+		<field name="TAG"/>
+	</class>
+	<class name="android/content/Context" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="bindIsolatedService(Landroid/content/Intent;ILjava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z" since="29"/>
+		<method name="bindService(Landroid/content/Intent;ILjava/util/concurrent/Executor;Landroid/content/ServiceConnection;)Z" since="29"/>
+		<method name="bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z"/>
+		<method name="bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z" since="30"/>
+		<method name="checkCallingOrSelfPermission(Ljava/lang/String;)I"/>
+		<method name="checkCallingOrSelfUriPermission(Landroid/net/Uri;I)I"/>
+		<method name="checkCallingOrSelfUriPermissions(Ljava/util/List;I)[I" since="31"/>
+		<method name="checkCallingPermission(Ljava/lang/String;)I"/>
+		<method name="checkCallingUriPermission(Landroid/net/Uri;I)I"/>
+		<method name="checkCallingUriPermissions(Ljava/util/List;I)[I" since="31"/>
+		<method name="checkPermission(Ljava/lang/String;II)I"/>
+		<method name="checkSelfPermission(Ljava/lang/String;)I" since="23"/>
+		<method name="checkUriPermission(Landroid/net/Uri;III)I"/>
+		<method name="checkUriPermission(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;III)I"/>
+		<method name="checkUriPermissions(Ljava/util/List;III)[I" since="31"/>
+		<method name="clearWallpaper()V" deprecated="15"/>
+		<method name="createAttributionContext(Ljava/lang/String;)Landroid/content/Context;" since="30"/>
+		<method name="createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context;" since="17"/>
+		<method name="createContext(Landroid/content/ContextParams;)Landroid/content/Context;" since="31"/>
+		<method name="createContextForSplit(Ljava/lang/String;)Landroid/content/Context;" since="26"/>
+		<method name="createDeviceProtectedStorageContext()Landroid/content/Context;" since="24"/>
+		<method name="createDisplayContext(Landroid/view/Display;)Landroid/content/Context;" since="17"/>
+		<method name="createPackageContext(Ljava/lang/String;I)Landroid/content/Context;"/>
+		<method name="createWindowContext(ILandroid/os/Bundle;)Landroid/content/Context;" since="30"/>
+		<method name="createWindowContext(Landroid/view/Display;ILandroid/os/Bundle;)Landroid/content/Context;" since="31"/>
+		<method name="databaseList()[Ljava/lang/String;"/>
+		<method name="deleteDatabase(Ljava/lang/String;)Z"/>
+		<method name="deleteFile(Ljava/lang/String;)Z"/>
+		<method name="deleteSharedPreferences(Ljava/lang/String;)Z" since="24"/>
+		<method name="enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="enforceCallingOrSelfUriPermission(Landroid/net/Uri;ILjava/lang/String;)V"/>
+		<method name="enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="enforceCallingUriPermission(Landroid/net/Uri;ILjava/lang/String;)V"/>
+		<method name="enforcePermission(Ljava/lang/String;IILjava/lang/String;)V"/>
+		<method name="enforceUriPermission(Landroid/net/Uri;IIILjava/lang/String;)V"/>
+		<method name="enforceUriPermission(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V"/>
+		<method name="fileList()[Ljava/lang/String;"/>
+		<method name="getApplicationContext()Landroid/content/Context;"/>
+		<method name="getApplicationInfo()Landroid/content/pm/ApplicationInfo;" since="4"/>
+		<method name="getAssets()Landroid/content/res/AssetManager;"/>
+		<method name="getAttributionSource()Landroid/content/AttributionSource;" since="31"/>
+		<method name="getAttributionTag()Ljava/lang/String;" since="30"/>
+		<method name="getCacheDir()Ljava/io/File;"/>
+		<method name="getClassLoader()Ljava/lang/ClassLoader;"/>
+		<method name="getCodeCacheDir()Ljava/io/File;" since="21"/>
+		<method name="getColor(I)I" since="23"/>
+		<method name="getColorStateList(I)Landroid/content/res/ColorStateList;" since="23"/>
+		<method name="getContentResolver()Landroid/content/ContentResolver;"/>
+		<method name="getDataDir()Ljava/io/File;" since="24"/>
+		<method name="getDatabasePath(Ljava/lang/String;)Ljava/io/File;"/>
+		<method name="getDir(Ljava/lang/String;I)Ljava/io/File;"/>
+		<method name="getDisplay()Landroid/view/Display;" since="30"/>
+		<method name="getDrawable(I)Landroid/graphics/drawable/Drawable;" since="21"/>
+		<method name="getExternalCacheDir()Ljava/io/File;" since="8"/>
+		<method name="getExternalCacheDirs()[Ljava/io/File;" since="19"/>
+		<method name="getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;" since="8"/>
+		<method name="getExternalFilesDirs(Ljava/lang/String;)[Ljava/io/File;" since="19"/>
+		<method name="getExternalMediaDirs()[Ljava/io/File;" since="21" deprecated="30"/>
+		<method name="getFileStreamPath(Ljava/lang/String;)Ljava/io/File;"/>
+		<method name="getFilesDir()Ljava/io/File;"/>
+		<method name="getMainExecutor()Ljava/util/concurrent/Executor;" since="28"/>
+		<method name="getMainLooper()Landroid/os/Looper;"/>
+		<method name="getNoBackupFilesDir()Ljava/io/File;" since="21"/>
+		<method name="getObbDir()Ljava/io/File;" since="11"/>
+		<method name="getObbDirs()[Ljava/io/File;" since="19"/>
+		<method name="getOpPackageName()Ljava/lang/String;" since="29"/>
+		<method name="getPackageCodePath()Ljava/lang/String;" since="8"/>
+		<method name="getPackageManager()Landroid/content/pm/PackageManager;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getPackageResourcePath()Ljava/lang/String;" since="8"/>
+		<method name="getParams()Landroid/content/ContextParams;" since="31"/>
+		<method name="getResources()Landroid/content/res/Resources;"/>
+		<method name="getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;"/>
+		<method name="getString(I)Ljava/lang/String;"/>
+		<method name="getString(I[Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="getSystemService(Ljava/lang/Class;)Ljava/lang/Object;" since="23"/>
+		<method name="getSystemService(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getSystemServiceName(Ljava/lang/Class;)Ljava/lang/String;" since="23"/>
+		<method name="getText(I)Ljava/lang/CharSequence;"/>
+		<method name="getTheme()Landroid/content/res/Resources$Theme;"/>
+		<method name="getWallpaper()Landroid/graphics/drawable/Drawable;" deprecated="15"/>
+		<method name="getWallpaperDesiredMinimumHeight()I" deprecated="15"/>
+		<method name="getWallpaperDesiredMinimumWidth()I" deprecated="15"/>
+		<method name="grantUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V"/>
+		<method name="isDeviceProtectedStorage()Z" since="24"/>
+		<method name="isRestricted()Z" since="4"/>
+		<method name="isUiContext()Z" since="31"/>
+		<method name="moveDatabaseFrom(Landroid/content/Context;Ljava/lang/String;)Z" since="24"/>
+		<method name="moveSharedPreferencesFrom(Landroid/content/Context;Ljava/lang/String;)Z" since="24"/>
+		<method name="obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;"/>
+		<method name="obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;"/>
+		<method name="obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;"/>
+		<method name="obtainStyledAttributes([I)Landroid/content/res/TypedArray;"/>
+		<method name="openFileInput(Ljava/lang/String;)Ljava/io/FileInputStream;"/>
+		<method name="openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream;"/>
+		<method name="openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;"/>
+		<method name="openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;" since="11"/>
+		<method name="peekWallpaper()Landroid/graphics/drawable/Drawable;" deprecated="15"/>
+		<method name="registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V" since="14"/>
+		<method name="registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;"/>
+		<method name="registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;I)Landroid/content/Intent;" since="26"/>
+		<method name="registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;"/>
+		<method name="registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;I)Landroid/content/Intent;" since="26"/>
+		<method name="removeStickyBroadcast(Landroid/content/Intent;)V" deprecated="21"/>
+		<method name="removeStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V" since="17" deprecated="21"/>
+		<method name="revokeUriPermission(Landroid/net/Uri;I)V"/>
+		<method name="revokeUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V" since="26"/>
+		<method name="sendBroadcast(Landroid/content/Intent;)V"/>
+		<method name="sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V"/>
+		<method name="sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V" since="17"/>
+		<method name="sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;)V" since="17"/>
+		<method name="sendBroadcastWithMultiplePermissions(Landroid/content/Intent;[Ljava/lang/String;)V" since="30"/>
+		<method name="sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V"/>
+		<method name="sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V" since="30"/>
+		<method name="sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V" since="17"/>
+		<method name="sendStickyBroadcast(Landroid/content/Intent;)V" deprecated="21"/>
+		<method name="sendStickyBroadcast(Landroid/content/Intent;Landroid/os/Bundle;)V" since="31" deprecated="31"/>
+		<method name="sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V" since="17" deprecated="21"/>
+		<method name="sendStickyOrderedBroadcast(Landroid/content/Intent;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V" since="5" deprecated="21"/>
+		<method name="sendStickyOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V" since="17" deprecated="21"/>
+		<method name="setTheme(I)V"/>
+		<method name="setWallpaper(Landroid/graphics/Bitmap;)V" deprecated="15"/>
+		<method name="setWallpaper(Ljava/io/InputStream;)V" deprecated="15"/>
+		<method name="startActivities([Landroid/content/Intent;)V" since="11"/>
+		<method name="startActivities([Landroid/content/Intent;Landroid/os/Bundle;)V" since="16"/>
+		<method name="startActivity(Landroid/content/Intent;)V"/>
+		<method name="startActivity(Landroid/content/Intent;Landroid/os/Bundle;)V" since="16"/>
+		<method name="startForegroundService(Landroid/content/Intent;)Landroid/content/ComponentName;" since="26"/>
+		<method name="startInstrumentation(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/Bundle;)Z"/>
+		<method name="startIntentSender(Landroid/content/IntentSender;Landroid/content/Intent;III)V" since="5"/>
+		<method name="startIntentSender(Landroid/content/IntentSender;Landroid/content/Intent;IIILandroid/os/Bundle;)V" since="16"/>
+		<method name="startService(Landroid/content/Intent;)Landroid/content/ComponentName;"/>
+		<method name="stopService(Landroid/content/Intent;)Z"/>
+		<method name="unbindService(Landroid/content/ServiceConnection;)V"/>
+		<method name="unregisterComponentCallbacks(Landroid/content/ComponentCallbacks;)V" since="14"/>
+		<method name="unregisterReceiver(Landroid/content/BroadcastReceiver;)V"/>
+		<method name="updateServiceGroup(Landroid/content/ServiceConnection;II)V" since="29"/>
+		<field name="ACCESSIBILITY_SERVICE" since="4"/>
+		<field name="ACCOUNT_SERVICE" since="5"/>
+		<field name="ACTIVITY_SERVICE"/>
+		<field name="ALARM_SERVICE"/>
+		<field name="APPWIDGET_SERVICE" since="21"/>
+		<field name="APP_OPS_SERVICE" since="19"/>
+		<field name="APP_SEARCH_SERVICE" since="31"/>
+		<field name="AUDIO_SERVICE"/>
+		<field name="BATTERY_SERVICE" since="21"/>
+		<field name="BIND_ABOVE_CLIENT" since="14"/>
+		<field name="BIND_ADJUST_WITH_ACTIVITY" since="14"/>
+		<field name="BIND_ALLOW_OOM_MANAGEMENT" since="14"/>
+		<field name="BIND_AUTO_CREATE"/>
+		<field name="BIND_DEBUG_UNBIND"/>
+		<field name="BIND_EXTERNAL_SERVICE" since="24"/>
+		<field name="BIND_IMPORTANT" since="14"/>
+		<field name="BIND_INCLUDE_CAPABILITIES" since="29"/>
+		<field name="BIND_NOT_FOREGROUND" since="8"/>
+		<field name="BIND_NOT_PERCEPTIBLE" since="29"/>
+		<field name="BIND_WAIVE_PRIORITY" since="14"/>
+		<field name="BIOMETRIC_SERVICE" since="29"/>
+		<field name="BLOB_STORE_SERVICE" since="30"/>
+		<field name="BLUETOOTH_SERVICE" since="18"/>
+		<field name="BUGREPORT_SERVICE" since="31"/>
+		<field name="CAMERA_SERVICE" since="21"/>
+		<field name="CAPTIONING_SERVICE" since="19"/>
+		<field name="CARRIER_CONFIG_SERVICE" since="23"/>
+		<field name="CLIPBOARD_SERVICE"/>
+		<field name="COMPANION_DEVICE_SERVICE" since="26"/>
+		<field name="CONNECTIVITY_DIAGNOSTICS_SERVICE" since="30"/>
+		<field name="CONNECTIVITY_SERVICE"/>
+		<field name="CONSUMER_IR_SERVICE" since="19"/>
+		<field name="CONTEXT_IGNORE_SECURITY"/>
+		<field name="CONTEXT_INCLUDE_CODE"/>
+		<field name="CONTEXT_RESTRICTED" since="4"/>
+		<field name="CROSS_PROFILE_APPS_SERVICE" since="28"/>
+		<field name="DEVICE_POLICY_SERVICE" since="8"/>
+		<field name="DISPLAY_HASH_SERVICE" since="31"/>
+		<field name="DISPLAY_SERVICE" since="17"/>
+		<field name="DOMAIN_VERIFICATION_SERVICE" since="31"/>
+		<field name="DOWNLOAD_SERVICE" since="9"/>
+		<field name="DROPBOX_SERVICE" since="8"/>
+		<field name="EUICC_SERVICE" since="28"/>
+		<field name="FILE_INTEGRITY_SERVICE" since="30"/>
+		<field name="FINGERPRINT_SERVICE" since="23"/>
+		<field name="GAME_SERVICE" since="31"/>
+		<field name="HARDWARE_PROPERTIES_SERVICE" since="24"/>
+		<field name="INPUT_METHOD_SERVICE" since="3"/>
+		<field name="INPUT_SERVICE" since="16"/>
+		<field name="IPSEC_SERVICE" since="28"/>
+		<field name="JOB_SCHEDULER_SERVICE" since="21"/>
+		<field name="KEYGUARD_SERVICE"/>
+		<field name="LAUNCHER_APPS_SERVICE" since="21"/>
+		<field name="LAYOUT_INFLATER_SERVICE"/>
+		<field name="LOCATION_SERVICE"/>
+		<field name="MEDIA_COMMUNICATION_SERVICE" since="31"/>
+		<field name="MEDIA_METRICS_SERVICE" since="31"/>
+		<field name="MEDIA_PROJECTION_SERVICE" since="21"/>
+		<field name="MEDIA_ROUTER_SERVICE" since="16"/>
+		<field name="MEDIA_SESSION_SERVICE" since="21"/>
+		<field name="MIDI_SERVICE" since="23"/>
+		<field name="MODE_APPEND"/>
+		<field name="MODE_ENABLE_WRITE_AHEAD_LOGGING" since="16"/>
+		<field name="MODE_MULTI_PROCESS" since="11" deprecated="23"/>
+		<field name="MODE_NO_LOCALIZED_COLLATORS" since="24"/>
+		<field name="MODE_PRIVATE"/>
+		<field name="MODE_WORLD_READABLE" deprecated="17"/>
+		<field name="MODE_WORLD_WRITEABLE" deprecated="17"/>
+		<field name="NETWORK_STATS_SERVICE" since="23"/>
+		<field name="NFC_SERVICE" since="10"/>
+		<field name="NOTIFICATION_SERVICE"/>
+		<field name="NSD_SERVICE" since="16"/>
+		<field name="PEOPLE_SERVICE" since="31"/>
+		<field name="PERFORMANCE_HINT_SERVICE" since="31"/>
+		<field name="POWER_SERVICE"/>
+		<field name="PRINT_SERVICE" since="19"/>
+		<field name="RECEIVER_VISIBLE_TO_INSTANT_APPS" since="26"/>
+		<field name="RESTRICTIONS_SERVICE" since="21"/>
+		<field name="ROLE_SERVICE" since="29"/>
+		<field name="SEARCH_SERVICE"/>
+		<field name="SENSOR_SERVICE"/>
+		<field name="SHORTCUT_SERVICE" since="25"/>
+		<field name="STORAGE_SERVICE" since="9"/>
+		<field name="STORAGE_STATS_SERVICE" since="26"/>
+		<field name="SYSTEM_HEALTH_SERVICE" since="24"/>
+		<field name="TELECOM_SERVICE" since="21"/>
+		<field name="TELEPHONY_IMS_SERVICE" since="30"/>
+		<field name="TELEPHONY_SERVICE"/>
+		<field name="TELEPHONY_SUBSCRIPTION_SERVICE" since="22"/>
+		<field name="TEXT_CLASSIFICATION_SERVICE" since="26"/>
+		<field name="TEXT_SERVICES_MANAGER_SERVICE" since="14"/>
+		<field name="TV_INPUT_SERVICE" since="21"/>
+		<field name="UI_MODE_SERVICE" since="8"/>
+		<field name="USAGE_STATS_SERVICE" since="22"/>
+		<field name="USB_SERVICE" since="12"/>
+		<field name="USER_SERVICE" since="17"/>
+		<field name="VIBRATOR_MANAGER_SERVICE" since="31"/>
+		<field name="VIBRATOR_SERVICE" deprecated="31"/>
+		<field name="VPN_MANAGEMENT_SERVICE" since="30"/>
+		<field name="WALLPAPER_SERVICE"/>
+		<field name="WIFI_AWARE_SERVICE" since="26"/>
+		<field name="WIFI_P2P_SERVICE" since="14"/>
+		<field name="WIFI_RTT_RANGING_SERVICE" since="28"/>
+		<field name="WIFI_SERVICE"/>
+		<field name="WINDOW_SERVICE"/>
+	</class>
+	<class name="android/content/ContextParams" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getAttributionTag()Ljava/lang/String;"/>
+		<method name="getNextAttributionSource()Landroid/content/AttributionSource;"/>
+	</class>
+	<class name="android/content/ContextParams$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/ContextParams;)V"/>
+		<method name="build()Landroid/content/ContextParams;"/>
+		<method name="setAttributionTag(Ljava/lang/String;)Landroid/content/ContextParams$Builder;"/>
+		<method name="setNextAttributionSource(Landroid/content/AttributionSource;)Landroid/content/ContextParams$Builder;"/>
+	</class>
+	<class name="android/content/ContextWrapper" since="1">
+		<extends name="android/content/Context"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="attachBaseContext(Landroid/content/Context;)V"/>
+		<method name="getBaseContext()Landroid/content/Context;"/>
+		<method name="getPackageCodePath()Ljava/lang/String;"/>
+		<method name="getPackageResourcePath()Ljava/lang/String;"/>
+		<method name="sendOrderedBroadcast(Landroid/content/Intent;ILjava/lang/String;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;)V" since="30"/>
+	</class>
+	<class name="android/content/CursorLoader" since="11" deprecated="28">
+		<extends name="android/content/AsyncTaskLoader"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V" deprecated="29"/>
+		<method name="deliverResult(Landroid/database/Cursor;)V" deprecated="29"/>
+		<method name="getProjection()[Ljava/lang/String;" deprecated="29"/>
+		<method name="getSelection()Ljava/lang/String;" deprecated="29"/>
+		<method name="getSelectionArgs()[Ljava/lang/String;" deprecated="29"/>
+		<method name="getSortOrder()Ljava/lang/String;" deprecated="29"/>
+		<method name="getUri()Landroid/net/Uri;" deprecated="29"/>
+		<method name="loadInBackground()Landroid/database/Cursor;" deprecated="29"/>
+		<method name="onCanceled(Landroid/database/Cursor;)V" deprecated="29"/>
+		<method name="setProjection([Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setSelection(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setSelectionArgs([Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setSortOrder(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setUri(Landroid/net/Uri;)V" deprecated="29"/>
+	</class>
+	<class name="android/content/DialogInterface" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V"/>
+		<method name="dismiss()V"/>
+		<field name="BUTTON1" deprecated="15"/>
+		<field name="BUTTON2" deprecated="15"/>
+		<field name="BUTTON3" deprecated="15"/>
+		<field name="BUTTON_NEGATIVE" since="3"/>
+		<field name="BUTTON_NEUTRAL" since="3"/>
+		<field name="BUTTON_POSITIVE" since="3"/>
+	</class>
+	<class name="android/content/DialogInterface$OnCancelListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onCancel(Landroid/content/DialogInterface;)V"/>
+	</class>
+	<class name="android/content/DialogInterface$OnClickListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onClick(Landroid/content/DialogInterface;I)V"/>
+	</class>
+	<class name="android/content/DialogInterface$OnDismissListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onDismiss(Landroid/content/DialogInterface;)V"/>
+	</class>
+	<class name="android/content/DialogInterface$OnKeyListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onKey(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z"/>
+	</class>
+	<class name="android/content/DialogInterface$OnMultiChoiceClickListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onClick(Landroid/content/DialogInterface;IZ)V"/>
+	</class>
+	<class name="android/content/DialogInterface$OnShowListener" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="onShow(Landroid/content/DialogInterface;)V"/>
+	</class>
+	<class name="android/content/Entity" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/ContentValues;)V"/>
+		<method name="addSubValue(Landroid/net/Uri;Landroid/content/ContentValues;)V"/>
+		<method name="getEntityValues()Landroid/content/ContentValues;"/>
+		<method name="getSubValues()Ljava/util/ArrayList;"/>
+	</class>
+	<class name="android/content/Entity$NamedContentValues" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/net/Uri;Landroid/content/ContentValues;)V"/>
+		<field name="uri"/>
+		<field name="values"/>
+	</class>
+	<class name="android/content/EntityIterator" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Iterator"/>
+		<method name="close()V"/>
+		<method name="reset()V"/>
+	</class>
+	<class name="android/content/Intent" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/lang/Cloneable" since="8"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/Class;)V"/>
+		<method name="&lt;init>(Landroid/content/Intent;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/net/Uri;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/net/Uri;Landroid/content/Context;Ljava/lang/Class;)V"/>
+		<method name="addCategory(Ljava/lang/String;)Landroid/content/Intent;"/>
+		<method name="addFlags(I)Landroid/content/Intent;"/>
+		<method name="cloneFilter()Landroid/content/Intent;"/>
+		<method name="createChooser(Landroid/content/Intent;Ljava/lang/CharSequence;)Landroid/content/Intent;"/>
+		<method name="createChooser(Landroid/content/Intent;Ljava/lang/CharSequence;Landroid/content/IntentSender;)Landroid/content/Intent;" since="22"/>
+		<method name="fillIn(Landroid/content/Intent;I)I"/>
+		<method name="filterEquals(Landroid/content/Intent;)Z"/>
+		<method name="filterHashCode()I"/>
+		<method name="getAction()Ljava/lang/String;"/>
+		<method name="getBooleanArrayExtra(Ljava/lang/String;)[Z"/>
+		<method name="getBooleanExtra(Ljava/lang/String;Z)Z"/>
+		<method name="getBundleExtra(Ljava/lang/String;)Landroid/os/Bundle;"/>
+		<method name="getByteArrayExtra(Ljava/lang/String;)[B"/>
+		<method name="getByteExtra(Ljava/lang/String;B)B"/>
+		<method name="getCategories()Ljava/util/Set;"/>
+		<method name="getCharArrayExtra(Ljava/lang/String;)[C"/>
+		<method name="getCharExtra(Ljava/lang/String;C)C"/>
+		<method name="getCharSequenceArrayExtra(Ljava/lang/String;)[Ljava/lang/CharSequence;" since="8"/>
+		<method name="getCharSequenceArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;" since="8"/>
+		<method name="getCharSequenceExtra(Ljava/lang/String;)Ljava/lang/CharSequence;"/>
+		<method name="getClipData()Landroid/content/ClipData;" since="16"/>
+		<method name="getComponent()Landroid/content/ComponentName;"/>
+		<method name="getData()Landroid/net/Uri;"/>
+		<method name="getDataString()Ljava/lang/String;"/>
+		<method name="getDoubleArrayExtra(Ljava/lang/String;)[D"/>
+		<method name="getDoubleExtra(Ljava/lang/String;D)D"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getFlags()I"/>
+		<method name="getFloatArrayExtra(Ljava/lang/String;)[F"/>
+		<method name="getFloatExtra(Ljava/lang/String;F)F"/>
+		<method name="getIdentifier()Ljava/lang/String;" since="29"/>
+		<method name="getIntArrayExtra(Ljava/lang/String;)[I"/>
+		<method name="getIntExtra(Ljava/lang/String;I)I"/>
+		<method name="getIntegerArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;"/>
+		<method name="getIntent(Ljava/lang/String;)Landroid/content/Intent;" deprecated="15"/>
+		<method name="getIntentOld(Ljava/lang/String;)Landroid/content/Intent;"/>
+		<method name="getLongArrayExtra(Ljava/lang/String;)[J"/>
+		<method name="getLongExtra(Ljava/lang/String;J)J"/>
+		<method name="getPackage()Ljava/lang/String;" since="4"/>
+		<method name="getParcelableArrayExtra(Ljava/lang/String;)[Landroid/os/Parcelable;"/>
+		<method name="getParcelableArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;"/>
+		<method name="getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;"/>
+		<method name="getScheme()Ljava/lang/String;"/>
+		<method name="getSelector()Landroid/content/Intent;" since="15"/>
+		<method name="getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;"/>
+		<method name="getShortArrayExtra(Ljava/lang/String;)[S"/>
+		<method name="getShortExtra(Ljava/lang/String;S)S"/>
+		<method name="getSourceBounds()Landroid/graphics/Rect;" since="7"/>
+		<method name="getStringArrayExtra(Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="getStringArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;"/>
+		<method name="getStringExtra(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<method name="hasCategory(Ljava/lang/String;)Z"/>
+		<method name="hasExtra(Ljava/lang/String;)Z"/>
+		<method name="hasFileDescriptors()Z"/>
+		<method name="makeMainActivity(Landroid/content/ComponentName;)Landroid/content/Intent;" since="11"/>
+		<method name="makeMainSelectorActivity(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;" since="15"/>
+		<method name="makeRestartActivityTask(Landroid/content/ComponentName;)Landroid/content/Intent;" since="11"/>
+		<method name="normalizeMimeType(Ljava/lang/String;)Ljava/lang/String;" since="16"/>
+		<method name="parseIntent(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/content/Intent;"/>
+		<method name="parseUri(Ljava/lang/String;I)Landroid/content/Intent;" since="4"/>
+		<method name="putCharSequenceArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;" since="8"/>
+		<method name="putExtra(Ljava/lang/String;B)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;C)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;D)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;F)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;I)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;J)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;S)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;Z)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;[B)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;[C)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;[D)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;[F)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;[I)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;[J)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;[Ljava/lang/CharSequence;)Landroid/content/Intent;" since="8"/>
+		<method name="putExtra(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;[S)Landroid/content/Intent;"/>
+		<method name="putExtra(Ljava/lang/String;[Z)Landroid/content/Intent;"/>
+		<method name="putExtras(Landroid/content/Intent;)Landroid/content/Intent;"/>
+		<method name="putExtras(Landroid/os/Bundle;)Landroid/content/Intent;"/>
+		<method name="putIntegerArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"/>
+		<method name="putParcelableArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"/>
+		<method name="putStringArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<method name="removeCategory(Ljava/lang/String;)V"/>
+		<method name="removeExtra(Ljava/lang/String;)V"/>
+		<method name="removeFlags(I)V" since="26"/>
+		<method name="replaceExtras(Landroid/content/Intent;)Landroid/content/Intent;" since="3"/>
+		<method name="replaceExtras(Landroid/os/Bundle;)Landroid/content/Intent;" since="3"/>
+		<method name="resolveActivity(Landroid/content/pm/PackageManager;)Landroid/content/ComponentName;"/>
+		<method name="resolveActivityInfo(Landroid/content/pm/PackageManager;I)Landroid/content/pm/ActivityInfo;"/>
+		<method name="resolveType(Landroid/content/ContentResolver;)Ljava/lang/String;"/>
+		<method name="resolveType(Landroid/content/Context;)Ljava/lang/String;"/>
+		<method name="resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;"/>
+		<method name="setAction(Ljava/lang/String;)Landroid/content/Intent;"/>
+		<method name="setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;"/>
+		<method name="setClassName(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent;"/>
+		<method name="setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;"/>
+		<method name="setClipData(Landroid/content/ClipData;)V" since="16"/>
+		<method name="setComponent(Landroid/content/ComponentName;)Landroid/content/Intent;"/>
+		<method name="setData(Landroid/net/Uri;)Landroid/content/Intent;"/>
+		<method name="setDataAndNormalize(Landroid/net/Uri;)Landroid/content/Intent;" since="16"/>
+		<method name="setDataAndType(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;"/>
+		<method name="setDataAndTypeAndNormalize(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;" since="16"/>
+		<method name="setExtrasClassLoader(Ljava/lang/ClassLoader;)V"/>
+		<method name="setFlags(I)Landroid/content/Intent;"/>
+		<method name="setIdentifier(Ljava/lang/String;)Landroid/content/Intent;" since="29"/>
+		<method name="setPackage(Ljava/lang/String;)Landroid/content/Intent;" since="4"/>
+		<method name="setSelector(Landroid/content/Intent;)V" since="15"/>
+		<method name="setSourceBounds(Landroid/graphics/Rect;)V" since="7"/>
+		<method name="setType(Ljava/lang/String;)Landroid/content/Intent;"/>
+		<method name="setTypeAndNormalize(Ljava/lang/String;)Landroid/content/Intent;" since="16"/>
+		<method name="toURI()Ljava/lang/String;" deprecated="15"/>
+		<method name="toUri(I)Ljava/lang/String;" since="4"/>
+		<field name="ACTION_AIRPLANE_MODE_CHANGED"/>
+		<field name="ACTION_ALL_APPS"/>
+		<field name="ACTION_ANSWER"/>
+		<field name="ACTION_APPLICATION_PREFERENCES" since="24"/>
+		<field name="ACTION_APPLICATION_RESTRICTIONS_CHANGED" since="21"/>
+		<field name="ACTION_APP_ERROR" since="14"/>
+		<field name="ACTION_ASSIST" since="16"/>
+		<field name="ACTION_ATTACH_DATA"/>
+		<field name="ACTION_AUTO_REVOKE_PERMISSIONS" since="30"/>
+		<field name="ACTION_BATTERY_CHANGED"/>
+		<field name="ACTION_BATTERY_LOW"/>
+		<field name="ACTION_BATTERY_OKAY" since="4"/>
+		<field name="ACTION_BOOT_COMPLETED"/>
+		<field name="ACTION_BUG_REPORT"/>
+		<field name="ACTION_CALL"/>
+		<field name="ACTION_CALL_BUTTON"/>
+		<field name="ACTION_CAMERA_BUTTON"/>
+		<field name="ACTION_CARRIER_SETUP" since="26"/>
+		<field name="ACTION_CHOOSER"/>
+		<field name="ACTION_CLOSE_SYSTEM_DIALOGS" deprecated="31"/>
+		<field name="ACTION_CONFIGURATION_CHANGED"/>
+		<field name="ACTION_CREATE_DOCUMENT" since="19"/>
+		<field name="ACTION_CREATE_REMINDER" since="30"/>
+		<field name="ACTION_CREATE_SHORTCUT"/>
+		<field name="ACTION_DATE_CHANGED"/>
+		<field name="ACTION_DEFAULT"/>
+		<field name="ACTION_DEFINE" since="29"/>
+		<field name="ACTION_DELETE"/>
+		<field name="ACTION_DEVICE_STORAGE_LOW" deprecated="26"/>
+		<field name="ACTION_DEVICE_STORAGE_OK" deprecated="26"/>
+		<field name="ACTION_DIAL"/>
+		<field name="ACTION_DOCK_EVENT" since="5"/>
+		<field name="ACTION_DREAMING_STARTED" since="17"/>
+		<field name="ACTION_DREAMING_STOPPED" since="17"/>
+		<field name="ACTION_EDIT"/>
+		<field name="ACTION_EXTERNAL_APPLICATIONS_AVAILABLE" since="8"/>
+		<field name="ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE" since="8"/>
+		<field name="ACTION_FACTORY_TEST"/>
+		<field name="ACTION_GET_CONTENT"/>
+		<field name="ACTION_GET_RESTRICTION_ENTRIES" since="18"/>
+		<field name="ACTION_GTALK_SERVICE_CONNECTED"/>
+		<field name="ACTION_GTALK_SERVICE_DISCONNECTED"/>
+		<field name="ACTION_HEADSET_PLUG"/>
+		<field name="ACTION_INPUT_METHOD_CHANGED" since="3"/>
+		<field name="ACTION_INSERT"/>
+		<field name="ACTION_INSERT_OR_EDIT"/>
+		<field name="ACTION_INSTALL_FAILURE" since="27"/>
+		<field name="ACTION_INSTALL_PACKAGE" since="14" deprecated="29"/>
+		<field name="ACTION_LOCALE_CHANGED" since="7"/>
+		<field name="ACTION_LOCKED_BOOT_COMPLETED" since="24"/>
+		<field name="ACTION_MAIN"/>
+		<field name="ACTION_MANAGED_PROFILE_ADDED" since="21"/>
+		<field name="ACTION_MANAGED_PROFILE_AVAILABLE" since="24"/>
+		<field name="ACTION_MANAGED_PROFILE_REMOVED" since="21"/>
+		<field name="ACTION_MANAGED_PROFILE_UNAVAILABLE" since="24"/>
+		<field name="ACTION_MANAGED_PROFILE_UNLOCKED" since="24"/>
+		<field name="ACTION_MANAGE_NETWORK_USAGE" since="14"/>
+		<field name="ACTION_MANAGE_PACKAGE_STORAGE"/>
+		<field name="ACTION_MANAGE_UNUSED_APPS" since="31"/>
+		<field name="ACTION_MEDIA_BAD_REMOVAL"/>
+		<field name="ACTION_MEDIA_BUTTON"/>
+		<field name="ACTION_MEDIA_CHECKING" since="3"/>
+		<field name="ACTION_MEDIA_EJECT"/>
+		<field name="ACTION_MEDIA_MOUNTED"/>
+		<field name="ACTION_MEDIA_NOFS" since="3"/>
+		<field name="ACTION_MEDIA_REMOVED"/>
+		<field name="ACTION_MEDIA_SCANNER_FINISHED"/>
+		<field name="ACTION_MEDIA_SCANNER_SCAN_FILE" deprecated="29"/>
+		<field name="ACTION_MEDIA_SCANNER_STARTED"/>
+		<field name="ACTION_MEDIA_SHARED"/>
+		<field name="ACTION_MEDIA_UNMOUNTABLE"/>
+		<field name="ACTION_MEDIA_UNMOUNTED"/>
+		<field name="ACTION_MY_PACKAGE_REPLACED" since="12"/>
+		<field name="ACTION_MY_PACKAGE_SUSPENDED" since="28"/>
+		<field name="ACTION_MY_PACKAGE_UNSUSPENDED" since="28"/>
+		<field name="ACTION_NEW_OUTGOING_CALL" deprecated="29"/>
+		<field name="ACTION_OPEN_DOCUMENT" since="19"/>
+		<field name="ACTION_OPEN_DOCUMENT_TREE" since="21"/>
+		<field name="ACTION_PACKAGES_SUSPENDED" since="24"/>
+		<field name="ACTION_PACKAGES_UNSUSPENDED" since="24"/>
+		<field name="ACTION_PACKAGE_ADDED"/>
+		<field name="ACTION_PACKAGE_CHANGED"/>
+		<field name="ACTION_PACKAGE_DATA_CLEARED" since="3"/>
+		<field name="ACTION_PACKAGE_FIRST_LAUNCH" since="12"/>
+		<field name="ACTION_PACKAGE_FULLY_REMOVED" since="14"/>
+		<field name="ACTION_PACKAGE_INSTALL" deprecated="15"/>
+		<field name="ACTION_PACKAGE_NEEDS_VERIFICATION" since="14"/>
+		<field name="ACTION_PACKAGE_REMOVED"/>
+		<field name="ACTION_PACKAGE_REPLACED" since="3"/>
+		<field name="ACTION_PACKAGE_RESTARTED"/>
+		<field name="ACTION_PACKAGE_VERIFIED" since="17"/>
+		<field name="ACTION_PASTE" since="11"/>
+		<field name="ACTION_PICK"/>
+		<field name="ACTION_PICK_ACTIVITY"/>
+		<field name="ACTION_POWER_CONNECTED" since="4"/>
+		<field name="ACTION_POWER_DISCONNECTED" since="4"/>
+		<field name="ACTION_POWER_USAGE_SUMMARY" since="4"/>
+		<field name="ACTION_PROCESS_TEXT" since="23"/>
+		<field name="ACTION_PROFILE_ACCESSIBLE" since="31"/>
+		<field name="ACTION_PROFILE_INACCESSIBLE" since="31"/>
+		<field name="ACTION_PROVIDER_CHANGED"/>
+		<field name="ACTION_QUICK_CLOCK" since="17"/>
+		<field name="ACTION_QUICK_VIEW" since="24"/>
+		<field name="ACTION_REBOOT"/>
+		<field name="ACTION_RUN"/>
+		<field name="ACTION_SCREEN_OFF"/>
+		<field name="ACTION_SCREEN_ON"/>
+		<field name="ACTION_SEARCH"/>
+		<field name="ACTION_SEARCH_LONG_PRESS" since="3"/>
+		<field name="ACTION_SEND"/>
+		<field name="ACTION_SENDTO"/>
+		<field name="ACTION_SEND_MULTIPLE" since="4"/>
+		<field name="ACTION_SET_WALLPAPER"/>
+		<field name="ACTION_SHOW_APP_INFO" since="24"/>
+		<field name="ACTION_SHUTDOWN" since="4"/>
+		<field name="ACTION_SYNC"/>
+		<field name="ACTION_SYSTEM_TUTORIAL" since="3"/>
+		<field name="ACTION_TIMEZONE_CHANGED"/>
+		<field name="ACTION_TIME_CHANGED"/>
+		<field name="ACTION_TIME_TICK"/>
+		<field name="ACTION_TRANSLATE" since="29"/>
+		<field name="ACTION_UID_REMOVED"/>
+		<field name="ACTION_UMS_CONNECTED" deprecated="15"/>
+		<field name="ACTION_UMS_DISCONNECTED" deprecated="15"/>
+		<field name="ACTION_UNINSTALL_PACKAGE" since="14" deprecated="29"/>
+		<field name="ACTION_USER_BACKGROUND" since="17"/>
+		<field name="ACTION_USER_FOREGROUND" since="17"/>
+		<field name="ACTION_USER_INITIALIZE" since="17"/>
+		<field name="ACTION_USER_PRESENT" since="3"/>
+		<field name="ACTION_USER_UNLOCKED" since="24"/>
+		<field name="ACTION_VIEW"/>
+		<field name="ACTION_VIEW_LOCUS" since="29"/>
+		<field name="ACTION_VIEW_PERMISSION_USAGE" since="29"/>
+		<field name="ACTION_VIEW_PERMISSION_USAGE_FOR_PERIOD" since="31"/>
+		<field name="ACTION_VOICE_COMMAND"/>
+		<field name="ACTION_WALLPAPER_CHANGED" deprecated="16"/>
+		<field name="ACTION_WEB_SEARCH"/>
+		<field name="CATEGORY_ACCESSIBILITY_SHORTCUT_TARGET" since="30"/>
+		<field name="CATEGORY_ALTERNATIVE"/>
+		<field name="CATEGORY_APP_BROWSER" since="15"/>
+		<field name="CATEGORY_APP_CALCULATOR" since="15"/>
+		<field name="CATEGORY_APP_CALENDAR" since="15"/>
+		<field name="CATEGORY_APP_CONTACTS" since="15"/>
+		<field name="CATEGORY_APP_EMAIL" since="15"/>
+		<field name="CATEGORY_APP_FILES" since="29"/>
+		<field name="CATEGORY_APP_GALLERY" since="15"/>
+		<field name="CATEGORY_APP_MAPS" since="15"/>
+		<field name="CATEGORY_APP_MARKET" since="11"/>
+		<field name="CATEGORY_APP_MESSAGING" since="15"/>
+		<field name="CATEGORY_APP_MUSIC" since="15"/>
+		<field name="CATEGORY_BROWSABLE"/>
+		<field name="CATEGORY_CAR_DOCK" since="5"/>
+		<field name="CATEGORY_CAR_MODE" since="8"/>
+		<field name="CATEGORY_DEFAULT"/>
+		<field name="CATEGORY_DESK_DOCK" since="5"/>
+		<field name="CATEGORY_DEVELOPMENT_PREFERENCE"/>
+		<field name="CATEGORY_EMBED"/>
+		<field name="CATEGORY_FRAMEWORK_INSTRUMENTATION_TEST"/>
+		<field name="CATEGORY_GADGET" removed="3"/>
+		<field name="CATEGORY_HE_DESK_DOCK" since="11"/>
+		<field name="CATEGORY_HOME"/>
+		<field name="CATEGORY_INFO" since="3"/>
+		<field name="CATEGORY_LAUNCHER"/>
+		<field name="CATEGORY_LEANBACK_LAUNCHER" since="21"/>
+		<field name="CATEGORY_LE_DESK_DOCK" since="11"/>
+		<field name="CATEGORY_MONKEY"/>
+		<field name="CATEGORY_OPENABLE"/>
+		<field name="CATEGORY_PREFERENCE"/>
+		<field name="CATEGORY_SAMPLE_CODE"/>
+		<field name="CATEGORY_SECONDARY_HOME" since="29"/>
+		<field name="CATEGORY_SELECTED_ALTERNATIVE"/>
+		<field name="CATEGORY_TAB"/>
+		<field name="CATEGORY_TEST"/>
+		<field name="CATEGORY_TYPED_OPENABLE" since="26"/>
+		<field name="CATEGORY_UNIT_TEST"/>
+		<field name="CATEGORY_VOICE" since="23"/>
+		<field name="CATEGORY_VR_HOME" since="26"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_ALARM_COUNT"/>
+		<field name="EXTRA_ALLOW_MULTIPLE" since="18"/>
+		<field name="EXTRA_ALLOW_REPLACE" since="14" deprecated="16"/>
+		<field name="EXTRA_ALTERNATE_INTENTS" since="23"/>
+		<field name="EXTRA_ASSIST_CONTEXT" since="18"/>
+		<field name="EXTRA_ASSIST_INPUT_DEVICE_ID" since="23"/>
+		<field name="EXTRA_ASSIST_INPUT_HINT_KEYBOARD" since="21"/>
+		<field name="EXTRA_ASSIST_PACKAGE" since="18"/>
+		<field name="EXTRA_ASSIST_UID" since="23"/>
+		<field name="EXTRA_ATTRIBUTION_TAGS" since="31"/>
+		<field name="EXTRA_AUTO_LAUNCH_SINGLE_CHOICE" since="29"/>
+		<field name="EXTRA_BCC"/>
+		<field name="EXTRA_BUG_REPORT" since="14"/>
+		<field name="EXTRA_CC"/>
+		<field name="EXTRA_CHANGED_COMPONENT_NAME" since="5" deprecated="15"/>
+		<field name="EXTRA_CHANGED_COMPONENT_NAME_LIST" since="7"/>
+		<field name="EXTRA_CHANGED_PACKAGE_LIST" since="8"/>
+		<field name="EXTRA_CHANGED_UID_LIST" since="8"/>
+		<field name="EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER" since="23"/>
+		<field name="EXTRA_CHOOSER_TARGETS" since="24"/>
+		<field name="EXTRA_CHOSEN_COMPONENT" since="22"/>
+		<field name="EXTRA_CHOSEN_COMPONENT_INTENT_SENDER" since="22"/>
+		<field name="EXTRA_COMPONENT_NAME" since="26"/>
+		<field name="EXTRA_CONTENT_ANNOTATIONS" since="26"/>
+		<field name="EXTRA_CONTENT_QUERY" since="29"/>
+		<field name="EXTRA_DATA_REMOVED" since="3"/>
+		<field name="EXTRA_DOCK_STATE" since="5"/>
+		<field name="EXTRA_DOCK_STATE_CAR" since="5"/>
+		<field name="EXTRA_DOCK_STATE_DESK" since="5"/>
+		<field name="EXTRA_DOCK_STATE_HE_DESK" since="11"/>
+		<field name="EXTRA_DOCK_STATE_LE_DESK" since="11"/>
+		<field name="EXTRA_DOCK_STATE_UNDOCKED" since="5"/>
+		<field name="EXTRA_DONT_KILL_APP"/>
+		<field name="EXTRA_DURATION_MILLIS" since="29"/>
+		<field name="EXTRA_EMAIL"/>
+		<field name="EXTRA_END_TIME" since="31"/>
+		<field name="EXTRA_EXCLUDE_COMPONENTS" since="24"/>
+		<field name="EXTRA_FROM_STORAGE" since="26"/>
+		<field name="EXTRA_HTML_TEXT" since="16"/>
+		<field name="EXTRA_INDEX" since="24"/>
+		<field name="EXTRA_INITIAL_INTENTS" since="5"/>
+		<field name="EXTRA_INSTALLER_PACKAGE_NAME" since="14"/>
+		<field name="EXTRA_INTENT"/>
+		<field name="EXTRA_KEY_EVENT"/>
+		<field name="EXTRA_LOCAL_ONLY" since="11"/>
+		<field name="EXTRA_LOCUS_ID" since="29"/>
+		<field name="EXTRA_MIME_TYPES" since="19"/>
+		<field name="EXTRA_NOT_UNKNOWN_SOURCE" since="14"/>
+		<field name="EXTRA_ORIGINATING_URI" since="17"/>
+		<field name="EXTRA_PACKAGE_NAME" since="24"/>
+		<field name="EXTRA_PERMISSION_GROUP_NAME" since="31"/>
+		<field name="EXTRA_PHONE_NUMBER"/>
+		<field name="EXTRA_PROCESS_TEXT" since="23"/>
+		<field name="EXTRA_PROCESS_TEXT_READONLY" since="23"/>
+		<field name="EXTRA_QUICK_VIEW_FEATURES" since="26"/>
+		<field name="EXTRA_QUIET_MODE" since="24"/>
+		<field name="EXTRA_REFERRER" since="17"/>
+		<field name="EXTRA_REFERRER_NAME" since="22"/>
+		<field name="EXTRA_REMOTE_INTENT_TOKEN" since="5"/>
+		<field name="EXTRA_REPLACEMENT_EXTRAS" since="21"/>
+		<field name="EXTRA_REPLACING" since="3"/>
+		<field name="EXTRA_RESTRICTIONS_BUNDLE" since="18"/>
+		<field name="EXTRA_RESTRICTIONS_INTENT" since="18"/>
+		<field name="EXTRA_RESTRICTIONS_LIST" since="18"/>
+		<field name="EXTRA_RESULT_RECEIVER" since="23"/>
+		<field name="EXTRA_RETURN_RESULT" since="14"/>
+		<field name="EXTRA_SHORTCUT_ICON" deprecated="26"/>
+		<field name="EXTRA_SHORTCUT_ICON_RESOURCE" deprecated="26"/>
+		<field name="EXTRA_SHORTCUT_ID" since="29"/>
+		<field name="EXTRA_SHORTCUT_INTENT" deprecated="26"/>
+		<field name="EXTRA_SHORTCUT_NAME" deprecated="26"/>
+		<field name="EXTRA_SHUTDOWN_USERSPACE_ONLY" since="19"/>
+		<field name="EXTRA_SPLIT_NAME" since="27"/>
+		<field name="EXTRA_START_TIME" since="31"/>
+		<field name="EXTRA_STREAM"/>
+		<field name="EXTRA_SUBJECT"/>
+		<field name="EXTRA_SUSPENDED_PACKAGE_EXTRAS" since="28"/>
+		<field name="EXTRA_TEMPLATE"/>
+		<field name="EXTRA_TEXT"/>
+		<field name="EXTRA_TIME" since="30"/>
+		<field name="EXTRA_TIMEZONE" since="30"/>
+		<field name="EXTRA_TITLE"/>
+		<field name="EXTRA_UID"/>
+		<field name="EXTRA_USER" since="21"/>
+		<field name="EXTRA_USER_INITIATED" since="31"/>
+		<field name="FILL_IN_ACTION"/>
+		<field name="FILL_IN_CATEGORIES"/>
+		<field name="FILL_IN_CLIP_DATA" since="16"/>
+		<field name="FILL_IN_COMPONENT"/>
+		<field name="FILL_IN_DATA"/>
+		<field name="FILL_IN_IDENTIFIER" since="29"/>
+		<field name="FILL_IN_PACKAGE" since="4"/>
+		<field name="FILL_IN_SELECTOR" since="15"/>
+		<field name="FILL_IN_SOURCE_BOUNDS" since="7"/>
+		<field name="FLAG_ACTIVITY_BROUGHT_TO_FRONT"/>
+		<field name="FLAG_ACTIVITY_CLEAR_TASK" since="11"/>
+		<field name="FLAG_ACTIVITY_CLEAR_TOP"/>
+		<field name="FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET" since="3" deprecated="21"/>
+		<field name="FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS"/>
+		<field name="FLAG_ACTIVITY_FORWARD_RESULT"/>
+		<field name="FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY"/>
+		<field name="FLAG_ACTIVITY_LAUNCH_ADJACENT" since="24"/>
+		<field name="FLAG_ACTIVITY_MATCH_EXTERNAL" since="28"/>
+		<field name="FLAG_ACTIVITY_MULTIPLE_TASK"/>
+		<field name="FLAG_ACTIVITY_NEW_DOCUMENT" since="21"/>
+		<field name="FLAG_ACTIVITY_NEW_TASK"/>
+		<field name="FLAG_ACTIVITY_NO_ANIMATION" since="5"/>
+		<field name="FLAG_ACTIVITY_NO_HISTORY"/>
+		<field name="FLAG_ACTIVITY_NO_USER_ACTION" since="3"/>
+		<field name="FLAG_ACTIVITY_PREVIOUS_IS_TOP"/>
+		<field name="FLAG_ACTIVITY_REORDER_TO_FRONT" since="3"/>
+		<field name="FLAG_ACTIVITY_REQUIRE_DEFAULT" since="30"/>
+		<field name="FLAG_ACTIVITY_REQUIRE_NON_BROWSER" since="30"/>
+		<field name="FLAG_ACTIVITY_RESET_TASK_IF_NEEDED"/>
+		<field name="FLAG_ACTIVITY_RETAIN_IN_RECENTS" since="21"/>
+		<field name="FLAG_ACTIVITY_SINGLE_TOP"/>
+		<field name="FLAG_ACTIVITY_TASK_ON_HOME" since="11"/>
+		<field name="FLAG_DEBUG_LOG_RESOLUTION"/>
+		<field name="FLAG_DIRECT_BOOT_AUTO" since="29"/>
+		<field name="FLAG_EXCLUDE_STOPPED_PACKAGES" since="12"/>
+		<field name="FLAG_FROM_BACKGROUND"/>
+		<field name="FLAG_GRANT_PERSISTABLE_URI_PERMISSION" since="19"/>
+		<field name="FLAG_GRANT_PREFIX_URI_PERMISSION" since="21"/>
+		<field name="FLAG_GRANT_READ_URI_PERMISSION"/>
+		<field name="FLAG_GRANT_WRITE_URI_PERMISSION"/>
+		<field name="FLAG_INCLUDE_STOPPED_PACKAGES" since="12"/>
+		<field name="FLAG_RECEIVER_FOREGROUND" since="16"/>
+		<field name="FLAG_RECEIVER_NO_ABORT" since="19"/>
+		<field name="FLAG_RECEIVER_REGISTERED_ONLY"/>
+		<field name="FLAG_RECEIVER_REPLACE_PENDING" since="8"/>
+		<field name="FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS" since="26"/>
+		<field name="METADATA_DOCK_HOME" since="5"/>
+		<field name="URI_ALLOW_UNSAFE" since="22"/>
+		<field name="URI_ANDROID_APP_SCHEME" since="22"/>
+		<field name="URI_INTENT_SCHEME" since="4"/>
+	</class>
+	<class name="android/content/Intent$FilterComparison" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Intent;)V"/>
+		<method name="getIntent()Landroid/content/Intent;"/>
+	</class>
+	<class name="android/content/Intent$ShortcutIconResource" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="fromContext(Landroid/content/Context;I)Landroid/content/Intent$ShortcutIconResource;"/>
+		<field name="CREATOR"/>
+		<field name="packageName"/>
+		<field name="resourceName"/>
+	</class>
+	<class name="android/content/IntentFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/IntentFilter;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="actionsIterator()Ljava/util/Iterator;"/>
+		<method name="addAction(Ljava/lang/String;)V"/>
+		<method name="addCategory(Ljava/lang/String;)V"/>
+		<method name="addDataAuthority(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="addDataPath(Ljava/lang/String;I)V"/>
+		<method name="addDataScheme(Ljava/lang/String;)V"/>
+		<method name="addDataSchemeSpecificPart(Ljava/lang/String;I)V" since="19"/>
+		<method name="addDataType(Ljava/lang/String;)V"/>
+		<method name="authoritiesIterator()Ljava/util/Iterator;"/>
+		<method name="categoriesIterator()Ljava/util/Iterator;"/>
+		<method name="countActions()I"/>
+		<method name="countCategories()I"/>
+		<method name="countDataAuthorities()I"/>
+		<method name="countDataPaths()I"/>
+		<method name="countDataSchemeSpecificParts()I" since="19"/>
+		<method name="countDataSchemes()I"/>
+		<method name="countDataTypes()I"/>
+		<method name="create(Ljava/lang/String;Ljava/lang/String;)Landroid/content/IntentFilter;"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getAction(I)Ljava/lang/String;"/>
+		<method name="getCategory(I)Ljava/lang/String;"/>
+		<method name="getDataAuthority(I)Landroid/content/IntentFilter$AuthorityEntry;"/>
+		<method name="getDataPath(I)Landroid/os/PatternMatcher;"/>
+		<method name="getDataScheme(I)Ljava/lang/String;"/>
+		<method name="getDataSchemeSpecificPart(I)Landroid/os/PatternMatcher;" since="19"/>
+		<method name="getDataType(I)Ljava/lang/String;"/>
+		<method name="getPriority()I"/>
+		<method name="hasAction(Ljava/lang/String;)Z"/>
+		<method name="hasCategory(Ljava/lang/String;)Z"/>
+		<method name="hasDataAuthority(Landroid/net/Uri;)Z"/>
+		<method name="hasDataPath(Ljava/lang/String;)Z"/>
+		<method name="hasDataScheme(Ljava/lang/String;)Z"/>
+		<method name="hasDataSchemeSpecificPart(Ljava/lang/String;)Z" since="19"/>
+		<method name="hasDataType(Ljava/lang/String;)Z"/>
+		<method name="match(Landroid/content/ContentResolver;Landroid/content/Intent;ZLjava/lang/String;)I"/>
+		<method name="match(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;Ljava/util/Set;Ljava/lang/String;)I"/>
+		<method name="matchAction(Ljava/lang/String;)Z"/>
+		<method name="matchCategories(Ljava/util/Set;)Ljava/lang/String;"/>
+		<method name="matchData(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)I"/>
+		<method name="matchDataAuthority(Landroid/net/Uri;)I"/>
+		<method name="pathsIterator()Ljava/util/Iterator;"/>
+		<method name="readFromXml(Lorg/xmlpull/v1/XmlPullParser;)V"/>
+		<method name="schemeSpecificPartsIterator()Ljava/util/Iterator;" since="19"/>
+		<method name="schemesIterator()Ljava/util/Iterator;"/>
+		<method name="setPriority(I)V"/>
+		<method name="typesIterator()Ljava/util/Iterator;"/>
+		<method name="writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V"/>
+		<field name="CREATOR"/>
+		<field name="MATCH_ADJUSTMENT_MASK"/>
+		<field name="MATCH_ADJUSTMENT_NORMAL"/>
+		<field name="MATCH_CATEGORY_EMPTY"/>
+		<field name="MATCH_CATEGORY_HOST"/>
+		<field name="MATCH_CATEGORY_MASK"/>
+		<field name="MATCH_CATEGORY_PATH"/>
+		<field name="MATCH_CATEGORY_PORT"/>
+		<field name="MATCH_CATEGORY_SCHEME"/>
+		<field name="MATCH_CATEGORY_SCHEME_SPECIFIC_PART" since="19"/>
+		<field name="MATCH_CATEGORY_TYPE"/>
+		<field name="NO_MATCH_ACTION"/>
+		<field name="NO_MATCH_CATEGORY"/>
+		<field name="NO_MATCH_DATA"/>
+		<field name="NO_MATCH_TYPE"/>
+		<field name="SYSTEM_HIGH_PRIORITY"/>
+		<field name="SYSTEM_LOW_PRIORITY"/>
+	</class>
+	<class name="android/content/IntentFilter$AuthorityEntry" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getHost()Ljava/lang/String;"/>
+		<method name="getPort()I"/>
+		<method name="match(Landroid/net/Uri;)I"/>
+	</class>
+	<class name="android/content/IntentFilter$MalformedMimeTypeException" since="1">
+		<extends name="android/util/AndroidException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/content/IntentSender" since="4">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCreatorPackage()Ljava/lang/String;" since="17"/>
+		<method name="getCreatorUid()I" since="17"/>
+		<method name="getCreatorUserHandle()Landroid/os/UserHandle;" since="17"/>
+		<method name="getTargetPackage()Ljava/lang/String;" since="9" deprecated="17"/>
+		<method name="readIntentSenderOrNullFromParcel(Landroid/os/Parcel;)Landroid/content/IntentSender;"/>
+		<method name="sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;)V"/>
+		<method name="sendIntent(Landroid/content/Context;ILandroid/content/Intent;Landroid/content/IntentSender$OnFinished;Landroid/os/Handler;Ljava/lang/String;)V" since="14"/>
+		<method name="writeIntentSenderOrNullToParcel(Landroid/content/IntentSender;Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/IntentSender$OnFinished" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="onSendFinished(Landroid/content/IntentSender;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/content/IntentSender$SendIntentException" since="4">
+		<extends name="android/util/AndroidException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/content/Loader" since="11" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="abandon()V" deprecated="29"/>
+		<method name="cancelLoad()Z" since="16" deprecated="29"/>
+		<method name="commitContentChanged()V" since="18" deprecated="29"/>
+		<method name="dataToString(Ljava/lang/Object;)Ljava/lang/String;" deprecated="29"/>
+		<method name="deliverCancellation()V" since="16" deprecated="29"/>
+		<method name="deliverResult(Ljava/lang/Object;)V" deprecated="29"/>
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" deprecated="29"/>
+		<method name="forceLoad()V" deprecated="29"/>
+		<method name="getContext()Landroid/content/Context;" deprecated="29"/>
+		<method name="getId()I" deprecated="29"/>
+		<method name="isAbandoned()Z" deprecated="29"/>
+		<method name="isReset()Z" deprecated="29"/>
+		<method name="isStarted()Z" deprecated="29"/>
+		<method name="onAbandon()V" deprecated="29"/>
+		<method name="onCancelLoad()Z" since="16" deprecated="29"/>
+		<method name="onContentChanged()V" deprecated="29"/>
+		<method name="onForceLoad()V" deprecated="29"/>
+		<method name="onReset()V" deprecated="29"/>
+		<method name="onStartLoading()V" deprecated="29"/>
+		<method name="onStopLoading()V" deprecated="29"/>
+		<method name="registerListener(ILandroid/content/Loader$OnLoadCompleteListener;)V" deprecated="29"/>
+		<method name="registerOnLoadCanceledListener(Landroid/content/Loader$OnLoadCanceledListener;)V" since="16" deprecated="29"/>
+		<method name="reset()V" deprecated="29"/>
+		<method name="rollbackContentChanged()V" since="18" deprecated="29"/>
+		<method name="startLoading()V" deprecated="29"/>
+		<method name="stopLoading()V" deprecated="29"/>
+		<method name="takeContentChanged()Z" deprecated="29"/>
+		<method name="unregisterListener(Landroid/content/Loader$OnLoadCompleteListener;)V" deprecated="29"/>
+		<method name="unregisterOnLoadCanceledListener(Landroid/content/Loader$OnLoadCanceledListener;)V" since="16" deprecated="29"/>
+	</class>
+	<class name="android/content/Loader$ForceLoadContentObserver" since="11" deprecated="28">
+		<extends name="android/database/ContentObserver"/>
+		<method name="&lt;init>(Landroid/content/Loader;)V" deprecated="29"/>
+	</class>
+	<class name="android/content/Loader$OnLoadCanceledListener" since="16" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="onLoadCanceled(Landroid/content/Loader;)V" deprecated="29"/>
+	</class>
+	<class name="android/content/Loader$OnLoadCompleteListener" since="11" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="onLoadComplete(Landroid/content/Loader;Ljava/lang/Object;)V" deprecated="29"/>
+	</class>
+	<class name="android/content/LocusId" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/MutableContextWrapper" since="1">
+		<extends name="android/content/ContextWrapper"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="setBaseContext(Landroid/content/Context;)V"/>
+	</class>
+	<class name="android/content/OperationApplicationException" since="5">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+		<method name="getNumSuccessfulYieldPoints()I"/>
+	</class>
+	<class name="android/content/PeriodicSync" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V"/>
+		<field name="CREATOR"/>
+		<field name="account"/>
+		<field name="authority"/>
+		<field name="extras"/>
+		<field name="period"/>
+	</class>
+	<class name="android/content/QuickViewConstants" since="26">
+		<extends name="java/lang/Object"/>
+		<field name="FEATURE_DELETE" since="28"/>
+		<field name="FEATURE_DOWNLOAD"/>
+		<field name="FEATURE_EDIT"/>
+		<field name="FEATURE_PRINT"/>
+		<field name="FEATURE_SEND"/>
+		<field name="FEATURE_VIEW"/>
+	</class>
+	<class name="android/content/ReceiverCallNotAllowedException" since="1">
+		<extends name="android/util/AndroidRuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/content/RestrictionEntry" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(ILjava/lang/String;)V" since="21"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V" since="21"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Z)V"/>
+		<method name="&lt;init>(Ljava/lang/String;[Ljava/lang/String;)V"/>
+		<method name="createBundleArrayEntry(Ljava/lang/String;[Landroid/content/RestrictionEntry;)Landroid/content/RestrictionEntry;" since="23"/>
+		<method name="createBundleEntry(Ljava/lang/String;[Landroid/content/RestrictionEntry;)Landroid/content/RestrictionEntry;" since="23"/>
+		<method name="getAllSelectedStrings()[Ljava/lang/String;"/>
+		<method name="getChoiceEntries()[Ljava/lang/String;"/>
+		<method name="getChoiceValues()[Ljava/lang/String;"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getIntValue()I" since="21"/>
+		<method name="getKey()Ljava/lang/String;"/>
+		<method name="getRestrictions()[Landroid/content/RestrictionEntry;" since="23"/>
+		<method name="getSelectedState()Z"/>
+		<method name="getSelectedString()Ljava/lang/String;"/>
+		<method name="getTitle()Ljava/lang/String;"/>
+		<method name="getType()I"/>
+		<method name="setAllSelectedStrings([Ljava/lang/String;)V"/>
+		<method name="setChoiceEntries(Landroid/content/Context;I)V"/>
+		<method name="setChoiceEntries([Ljava/lang/String;)V"/>
+		<method name="setChoiceValues(Landroid/content/Context;I)V"/>
+		<method name="setChoiceValues([Ljava/lang/String;)V"/>
+		<method name="setDescription(Ljava/lang/String;)V"/>
+		<method name="setIntValue(I)V" since="21"/>
+		<method name="setRestrictions([Landroid/content/RestrictionEntry;)V" since="23"/>
+		<method name="setSelectedState(Z)V"/>
+		<method name="setSelectedString(Ljava/lang/String;)V"/>
+		<method name="setTitle(Ljava/lang/String;)V"/>
+		<method name="setType(I)V"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_BOOLEAN"/>
+		<field name="TYPE_BUNDLE" since="23"/>
+		<field name="TYPE_BUNDLE_ARRAY" since="23"/>
+		<field name="TYPE_CHOICE"/>
+		<field name="TYPE_INTEGER" since="21"/>
+		<field name="TYPE_MULTI_SELECT"/>
+		<field name="TYPE_NULL"/>
+		<field name="TYPE_STRING" since="21"/>
+	</class>
+	<class name="android/content/RestrictionsManager" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="convertRestrictionsToBundle(Ljava/util/List;)Landroid/os/Bundle;" since="23"/>
+		<method name="createLocalApprovalIntent()Landroid/content/Intent;"/>
+		<method name="getApplicationRestrictions()Landroid/os/Bundle;"/>
+		<method name="getManifestRestrictions(Ljava/lang/String;)Ljava/util/List;"/>
+		<method name="hasRestrictionsProvider()Z"/>
+		<method name="notifyPermissionResponse(Ljava/lang/String;Landroid/os/PersistableBundle;)V"/>
+		<method name="requestPermission(Ljava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)V"/>
+		<field name="ACTION_PERMISSION_RESPONSE_RECEIVED"/>
+		<field name="ACTION_REQUEST_LOCAL_APPROVAL"/>
+		<field name="ACTION_REQUEST_PERMISSION"/>
+		<field name="EXTRA_PACKAGE_NAME"/>
+		<field name="EXTRA_REQUEST_BUNDLE"/>
+		<field name="EXTRA_REQUEST_ID"/>
+		<field name="EXTRA_REQUEST_TYPE"/>
+		<field name="EXTRA_RESPONSE_BUNDLE"/>
+		<field name="META_DATA_APP_RESTRICTIONS"/>
+		<field name="REQUEST_KEY_APPROVE_LABEL"/>
+		<field name="REQUEST_KEY_DATA"/>
+		<field name="REQUEST_KEY_DENY_LABEL"/>
+		<field name="REQUEST_KEY_ICON"/>
+		<field name="REQUEST_KEY_ID"/>
+		<field name="REQUEST_KEY_MESSAGE"/>
+		<field name="REQUEST_KEY_NEW_REQUEST"/>
+		<field name="REQUEST_KEY_TITLE"/>
+		<field name="REQUEST_TYPE_APPROVAL"/>
+		<field name="RESPONSE_KEY_ERROR_CODE"/>
+		<field name="RESPONSE_KEY_MESSAGE"/>
+		<field name="RESPONSE_KEY_RESPONSE_TIMESTAMP"/>
+		<field name="RESPONSE_KEY_RESULT"/>
+		<field name="RESULT_APPROVED"/>
+		<field name="RESULT_DENIED"/>
+		<field name="RESULT_ERROR"/>
+		<field name="RESULT_ERROR_BAD_REQUEST"/>
+		<field name="RESULT_ERROR_INTERNAL"/>
+		<field name="RESULT_ERROR_NETWORK"/>
+		<field name="RESULT_NO_RESPONSE"/>
+		<field name="RESULT_UNKNOWN_REQUEST"/>
+	</class>
+	<class name="android/content/SearchRecentSuggestionsProvider" since="1">
+		<extends name="android/content/ContentProvider"/>
+		<method name="&lt;init>()V"/>
+		<method name="setupSuggestions(Ljava/lang/String;I)V"/>
+		<field name="DATABASE_MODE_2LINES"/>
+		<field name="DATABASE_MODE_QUERIES"/>
+	</class>
+	<class name="android/content/ServiceConnection" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onBindingDied(Landroid/content/ComponentName;)V" since="26"/>
+		<method name="onNullBinding(Landroid/content/ComponentName;)V" since="28"/>
+		<method name="onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V"/>
+		<method name="onServiceDisconnected(Landroid/content/ComponentName;)V"/>
+	</class>
+	<class name="android/content/SharedPreferences" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="contains(Ljava/lang/String;)Z"/>
+		<method name="edit()Landroid/content/SharedPreferences$Editor;"/>
+		<method name="getAll()Ljava/util/Map;"/>
+		<method name="getBoolean(Ljava/lang/String;Z)Z"/>
+		<method name="getFloat(Ljava/lang/String;F)F"/>
+		<method name="getInt(Ljava/lang/String;I)I"/>
+		<method name="getLong(Ljava/lang/String;J)J"/>
+		<method name="getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getStringSet(Ljava/lang/String;Ljava/util/Set;)Ljava/util/Set;" since="11"/>
+		<method name="registerOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V"/>
+		<method name="unregisterOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V"/>
+	</class>
+	<class name="android/content/SharedPreferences$Editor" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="apply()V" since="9"/>
+		<method name="clear()Landroid/content/SharedPreferences$Editor;"/>
+		<method name="commit()Z"/>
+		<method name="putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;"/>
+		<method name="putFloat(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor;"/>
+		<method name="putInt(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor;"/>
+		<method name="putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor;"/>
+		<method name="putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;"/>
+		<method name="putStringSet(Ljava/lang/String;Ljava/util/Set;)Landroid/content/SharedPreferences$Editor;" since="11"/>
+		<method name="remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;"/>
+	</class>
+	<class name="android/content/SharedPreferences$OnSharedPreferenceChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onSharedPreferenceChanged(Landroid/content/SharedPreferences;Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/content/SyncAdapterType" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ZZ)V"/>
+		<method name="allowParallelSyncs()Z" since="11"/>
+		<method name="getSettingsActivity()Ljava/lang/String;" since="14"/>
+		<method name="isAlwaysSyncable()Z" since="11"/>
+		<method name="isUserVisible()Z"/>
+		<method name="newKey(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SyncAdapterType;"/>
+		<method name="supportsUploading()Z"/>
+		<field name="CREATOR"/>
+		<field name="accountType"/>
+		<field name="authority"/>
+		<field name="isKey"/>
+	</class>
+	<class name="android/content/SyncContext" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="getSyncContextBinder()Landroid/os/IBinder;"/>
+		<method name="onFinished(Landroid/content/SyncResult;)V"/>
+	</class>
+	<class name="android/content/SyncInfo" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="11"/>
+		<field name="account"/>
+		<field name="authority"/>
+		<field name="startTime"/>
+	</class>
+	<class name="android/content/SyncRequest" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/SyncRequest$Builder" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/content/SyncRequest;"/>
+		<method name="setDisallowMetered(Z)Landroid/content/SyncRequest$Builder;"/>
+		<method name="setExpedited(Z)Landroid/content/SyncRequest$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/content/SyncRequest$Builder;"/>
+		<method name="setIgnoreBackoff(Z)Landroid/content/SyncRequest$Builder;"/>
+		<method name="setIgnoreSettings(Z)Landroid/content/SyncRequest$Builder;"/>
+		<method name="setManual(Z)Landroid/content/SyncRequest$Builder;"/>
+		<method name="setNoRetry(Z)Landroid/content/SyncRequest$Builder;"/>
+		<method name="setRequiresCharging(Z)Landroid/content/SyncRequest$Builder;" since="24"/>
+		<method name="setScheduleAsExpeditedJob(Z)Landroid/content/SyncRequest$Builder;" since="31"/>
+		<method name="setSyncAdapter(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncRequest$Builder;"/>
+		<method name="syncOnce()Landroid/content/SyncRequest$Builder;"/>
+		<method name="syncPeriodic(JJ)Landroid/content/SyncRequest$Builder;"/>
+	</class>
+	<class name="android/content/SyncResult" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="clear()V"/>
+		<method name="hasError()Z"/>
+		<method name="hasHardError()Z"/>
+		<method name="hasSoftError()Z"/>
+		<method name="madeSomeProgress()Z"/>
+		<method name="toDebugString()Ljava/lang/String;"/>
+		<field name="ALREADY_IN_PROGRESS"/>
+		<field name="CREATOR"/>
+		<field name="databaseError"/>
+		<field name="delayUntil" since="8"/>
+		<field name="fullSyncRequested"/>
+		<field name="moreRecordsToGet"/>
+		<field name="partialSyncUnavailable"/>
+		<field name="stats"/>
+		<field name="syncAlreadyInProgress"/>
+		<field name="tooManyDeletions"/>
+		<field name="tooManyRetries"/>
+	</class>
+	<class name="android/content/SyncStats" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="clear()V"/>
+		<field name="CREATOR"/>
+		<field name="numAuthExceptions"/>
+		<field name="numConflictDetectedExceptions"/>
+		<field name="numDeletes"/>
+		<field name="numEntries"/>
+		<field name="numInserts"/>
+		<field name="numIoExceptions"/>
+		<field name="numParseExceptions"/>
+		<field name="numSkippedEntries"/>
+		<field name="numUpdates"/>
+	</class>
+	<class name="android/content/SyncStatusObserver" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="onStatusChanged(I)V"/>
+	</class>
+	<class name="android/content/UriMatcher" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="addURI(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="match(Landroid/net/Uri;)I"/>
+		<field name="NO_MATCH"/>
+	</class>
+	<class name="android/content/UriPermission" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getPersistedTime()J"/>
+		<method name="getUri()Landroid/net/Uri;"/>
+		<method name="isReadPermission()Z"/>
+		<method name="isWritePermission()Z"/>
+		<field name="CREATOR"/>
+		<field name="INVALID_TIME"/>
+	</class>
+	<class name="android/content/pm/ActivityInfo" since="1">
+		<extends name="android/content/pm/ComponentInfo"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/ActivityInfo;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getThemeResource()I"/>
+		<field name="COLOR_MODE_DEFAULT" since="26"/>
+		<field name="COLOR_MODE_HDR" since="26"/>
+		<field name="COLOR_MODE_WIDE_COLOR_GAMUT" since="26"/>
+		<field name="CONFIG_COLOR_MODE" since="26"/>
+		<field name="CONFIG_DENSITY" since="17"/>
+		<field name="CONFIG_FONT_SCALE"/>
+		<field name="CONFIG_FONT_WEIGHT_ADJUSTMENT" since="31"/>
+		<field name="CONFIG_KEYBOARD"/>
+		<field name="CONFIG_KEYBOARD_HIDDEN"/>
+		<field name="CONFIG_LAYOUT_DIRECTION" since="17"/>
+		<field name="CONFIG_LOCALE"/>
+		<field name="CONFIG_MCC"/>
+		<field name="CONFIG_MNC"/>
+		<field name="CONFIG_NAVIGATION"/>
+		<field name="CONFIG_ORIENTATION"/>
+		<field name="CONFIG_SCREEN_LAYOUT" since="4"/>
+		<field name="CONFIG_SCREEN_SIZE" since="13"/>
+		<field name="CONFIG_SMALLEST_SCREEN_SIZE" since="13"/>
+		<field name="CONFIG_TOUCHSCREEN"/>
+		<field name="CONFIG_UI_MODE" since="8"/>
+		<field name="CREATOR"/>
+		<field name="DOCUMENT_LAUNCH_ALWAYS" since="21"/>
+		<field name="DOCUMENT_LAUNCH_INTO_EXISTING" since="21"/>
+		<field name="DOCUMENT_LAUNCH_NEVER" since="21"/>
+		<field name="DOCUMENT_LAUNCH_NONE" since="21"/>
+		<field name="FLAG_ALLOW_TASK_REPARENTING"/>
+		<field name="FLAG_ALWAYS_RETAIN_TASK_STATE"/>
+		<field name="FLAG_AUTO_REMOVE_FROM_RECENTS" since="21"/>
+		<field name="FLAG_CLEAR_TASK_ON_LAUNCH"/>
+		<field name="FLAG_ENABLE_VR_MODE" since="24"/>
+		<field name="FLAG_EXCLUDE_FROM_RECENTS"/>
+		<field name="FLAG_FINISH_ON_CLOSE_SYSTEM_DIALOGS" since="5"/>
+		<field name="FLAG_FINISH_ON_TASK_LAUNCH"/>
+		<field name="FLAG_HARDWARE_ACCELERATED" since="11"/>
+		<field name="FLAG_IMMERSIVE" since="18"/>
+		<field name="FLAG_MULTIPROCESS"/>
+		<field name="FLAG_NO_HISTORY" since="3"/>
+		<field name="FLAG_PREFER_MINIMAL_POST_PROCESSING" since="30"/>
+		<field name="FLAG_RELINQUISH_TASK_IDENTITY" since="21"/>
+		<field name="FLAG_RESUME_WHILE_PAUSING" since="21"/>
+		<field name="FLAG_SINGLE_USER" since="17"/>
+		<field name="FLAG_STATE_NOT_NEEDED"/>
+		<field name="LAUNCH_MULTIPLE"/>
+		<field name="LAUNCH_SINGLE_INSTANCE"/>
+		<field name="LAUNCH_SINGLE_INSTANCE_PER_TASK" since="31"/>
+		<field name="LAUNCH_SINGLE_TASK"/>
+		<field name="LAUNCH_SINGLE_TOP"/>
+		<field name="PERSIST_ACROSS_REBOOTS" since="21"/>
+		<field name="PERSIST_NEVER" since="21"/>
+		<field name="PERSIST_ROOT_ONLY" since="21"/>
+		<field name="SCREEN_ORIENTATION_BEHIND"/>
+		<field name="SCREEN_ORIENTATION_FULL_SENSOR" since="9"/>
+		<field name="SCREEN_ORIENTATION_FULL_USER" since="18"/>
+		<field name="SCREEN_ORIENTATION_LANDSCAPE"/>
+		<field name="SCREEN_ORIENTATION_LOCKED" since="18"/>
+		<field name="SCREEN_ORIENTATION_NOSENSOR"/>
+		<field name="SCREEN_ORIENTATION_PORTRAIT"/>
+		<field name="SCREEN_ORIENTATION_REVERSE_LANDSCAPE" since="9"/>
+		<field name="SCREEN_ORIENTATION_REVERSE_PORTRAIT" since="9"/>
+		<field name="SCREEN_ORIENTATION_SENSOR"/>
+		<field name="SCREEN_ORIENTATION_SENSOR_LANDSCAPE" since="9"/>
+		<field name="SCREEN_ORIENTATION_SENSOR_PORTRAIT" since="9"/>
+		<field name="SCREEN_ORIENTATION_UNSPECIFIED"/>
+		<field name="SCREEN_ORIENTATION_USER"/>
+		<field name="SCREEN_ORIENTATION_USER_LANDSCAPE" since="18"/>
+		<field name="SCREEN_ORIENTATION_USER_PORTRAIT" since="18"/>
+		<field name="UIOPTION_SPLIT_ACTION_BAR_WHEN_NARROW" since="14"/>
+		<field name="colorMode" since="26"/>
+		<field name="configChanges"/>
+		<field name="documentLaunchMode" since="21"/>
+		<field name="flags"/>
+		<field name="launchMode"/>
+		<field name="maxRecents" since="21"/>
+		<field name="parentActivityName" since="16"/>
+		<field name="permission"/>
+		<field name="persistableMode" since="21"/>
+		<field name="screenOrientation"/>
+		<field name="softInputMode" since="3"/>
+		<field name="targetActivity"/>
+		<field name="taskAffinity"/>
+		<field name="theme"/>
+		<field name="uiOptions" since="14"/>
+		<field name="windowLayout" since="24"/>
+	</class>
+	<class name="android/content/pm/ActivityInfo$WindowLayout" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IFIFIII)V"/>
+		<field name="gravity"/>
+		<field name="height"/>
+		<field name="heightFraction"/>
+		<field name="minHeight"/>
+		<field name="minWidth"/>
+		<field name="width"/>
+		<field name="widthFraction"/>
+	</class>
+	<class name="android/content/pm/ApkChecksum" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getInstallerCertificate()Ljava/security/cert/Certificate;"/>
+		<method name="getInstallerPackageName()Ljava/lang/String;"/>
+		<method name="getSplitName()Ljava/lang/String;"/>
+		<method name="getType()I"/>
+		<method name="getValue()[B"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/ApplicationInfo" since="1">
+		<extends name="android/content/pm/PackageItemInfo"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/ApplicationInfo;)V"/>
+		<method name="areAttributionsUserVisible()Z" since="31"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getCategoryTitle(Landroid/content/Context;I)Ljava/lang/CharSequence;" since="26"/>
+		<method name="getGwpAsanMode()I" since="30"/>
+		<method name="getMemtagMode()I" since="31"/>
+		<method name="getNativeHeapZeroInitialized()I" since="31"/>
+		<method name="getRequestRawExternalStorageAccess()I" since="31"/>
+		<method name="isProfileable()Z" since="31"/>
+		<method name="isProfileableByShell()Z" since="29"/>
+		<method name="isResourceOverlay()Z" since="29"/>
+		<method name="isVirtualPreload()Z" since="27"/>
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<field name="CATEGORY_ACCESSIBILITY" since="31"/>
+		<field name="CATEGORY_AUDIO" since="26"/>
+		<field name="CATEGORY_GAME" since="26"/>
+		<field name="CATEGORY_IMAGE" since="26"/>
+		<field name="CATEGORY_MAPS" since="26"/>
+		<field name="CATEGORY_NEWS" since="26"/>
+		<field name="CATEGORY_PRODUCTIVITY" since="26"/>
+		<field name="CATEGORY_SOCIAL" since="26"/>
+		<field name="CATEGORY_UNDEFINED" since="26"/>
+		<field name="CATEGORY_VIDEO" since="26"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_ALLOW_BACKUP" since="8"/>
+		<field name="FLAG_ALLOW_CLEAR_USER_DATA"/>
+		<field name="FLAG_ALLOW_TASK_REPARENTING"/>
+		<field name="FLAG_DEBUGGABLE"/>
+		<field name="FLAG_EXTERNAL_STORAGE" since="8"/>
+		<field name="FLAG_EXTRACT_NATIVE_LIBS" since="23"/>
+		<field name="FLAG_FACTORY_TEST"/>
+		<field name="FLAG_FULL_BACKUP_ONLY" since="21"/>
+		<field name="FLAG_HARDWARE_ACCELERATED" since="23"/>
+		<field name="FLAG_HAS_CODE"/>
+		<field name="FLAG_INSTALLED" since="17"/>
+		<field name="FLAG_IS_DATA_ONLY" since="17"/>
+		<field name="FLAG_IS_GAME" since="21" deprecated="26"/>
+		<field name="FLAG_KILL_AFTER_RESTORE" since="8"/>
+		<field name="FLAG_LARGE_HEAP" since="11"/>
+		<field name="FLAG_MULTIARCH" since="21"/>
+		<field name="FLAG_PERSISTENT"/>
+		<field name="FLAG_RESIZEABLE_FOR_SCREENS" since="4"/>
+		<field name="FLAG_RESTORE_ANY_VERSION" since="8"/>
+		<field name="FLAG_STOPPED" since="12"/>
+		<field name="FLAG_SUPPORTS_LARGE_SCREENS" since="4"/>
+		<field name="FLAG_SUPPORTS_NORMAL_SCREENS" since="4"/>
+		<field name="FLAG_SUPPORTS_RTL" since="17"/>
+		<field name="FLAG_SUPPORTS_SCREEN_DENSITIES" since="4" deprecated="30"/>
+		<field name="FLAG_SUPPORTS_SMALL_SCREENS" since="4"/>
+		<field name="FLAG_SUPPORTS_XLARGE_SCREENS" since="11"/>
+		<field name="FLAG_SUSPENDED" since="24"/>
+		<field name="FLAG_SYSTEM"/>
+		<field name="FLAG_TEST_ONLY" since="4"/>
+		<field name="FLAG_UPDATED_SYSTEM_APP" since="4"/>
+		<field name="FLAG_USES_CLEARTEXT_TRAFFIC" since="23"/>
+		<field name="FLAG_VM_SAFE_MODE" since="8"/>
+		<field name="GWP_ASAN_ALWAYS" since="30"/>
+		<field name="GWP_ASAN_DEFAULT" since="30"/>
+		<field name="GWP_ASAN_NEVER" since="30"/>
+		<field name="MEMTAG_ASYNC" since="31"/>
+		<field name="MEMTAG_DEFAULT" since="31"/>
+		<field name="MEMTAG_OFF" since="31"/>
+		<field name="MEMTAG_SYNC" since="31"/>
+		<field name="RAW_EXTERNAL_STORAGE_ACCESS_DEFAULT" since="31"/>
+		<field name="RAW_EXTERNAL_STORAGE_ACCESS_NOT_REQUESTED" since="31"/>
+		<field name="RAW_EXTERNAL_STORAGE_ACCESS_REQUESTED" since="31"/>
+		<field name="ZEROINIT_DEFAULT" since="31"/>
+		<field name="ZEROINIT_DISABLED" since="31"/>
+		<field name="ZEROINIT_ENABLED" since="31"/>
+		<field name="appComponentFactory" since="28"/>
+		<field name="backupAgentName" since="8"/>
+		<field name="category" since="26"/>
+		<field name="className"/>
+		<field name="compatibleWidthLimitDp" since="13"/>
+		<field name="compileSdkVersion" since="31"/>
+		<field name="compileSdkVersionCodename" since="31"/>
+		<field name="dataDir"/>
+		<field name="descriptionRes"/>
+		<field name="deviceProtectedDataDir" since="24"/>
+		<field name="enabled"/>
+		<field name="flags"/>
+		<field name="largestWidthLimitDp" since="13"/>
+		<field name="manageSpaceActivityName"/>
+		<field name="minSdkVersion" since="24"/>
+		<field name="nativeLibraryDir" since="9"/>
+		<field name="permission"/>
+		<field name="processName"/>
+		<field name="publicSourceDir"/>
+		<field name="requiresSmallestWidthDp" since="13"/>
+		<field name="sharedLibraryFiles"/>
+		<field name="sourceDir"/>
+		<field name="splitNames" since="26"/>
+		<field name="splitPublicSourceDirs" since="21"/>
+		<field name="splitSourceDirs" since="21"/>
+		<field name="storageUuid" since="26"/>
+		<field name="targetSdkVersion" since="4"/>
+		<field name="taskAffinity"/>
+		<field name="theme"/>
+		<field name="uiOptions" since="14"/>
+		<field name="uid"/>
+	</class>
+	<class name="android/content/pm/ApplicationInfo$DisplayNameComparator" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Comparator"/>
+		<method name="&lt;init>(Landroid/content/pm/PackageManager;)V"/>
+		<method name="compare(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/ApplicationInfo;)I"/>
+	</class>
+	<class name="android/content/pm/Attribution" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getLabel()I"/>
+		<method name="getTag()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/ChangedPackages" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(ILjava/util/List;)V"/>
+		<method name="getPackageNames()Ljava/util/List;"/>
+		<method name="getSequenceNumber()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/Checksum" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I[B)V"/>
+		<method name="getType()I"/>
+		<method name="getValue()[B"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_PARTIAL_MERKLE_ROOT_1M_SHA256"/>
+		<field name="TYPE_PARTIAL_MERKLE_ROOT_1M_SHA512"/>
+		<field name="TYPE_WHOLE_MD5" deprecated="31"/>
+		<field name="TYPE_WHOLE_MERKLE_ROOT_4K_SHA256"/>
+		<field name="TYPE_WHOLE_SHA1" deprecated="31"/>
+		<field name="TYPE_WHOLE_SHA256" deprecated="31"/>
+		<field name="TYPE_WHOLE_SHA512" deprecated="31"/>
+	</class>
+	<class name="android/content/pm/ComponentInfo" since="1">
+		<extends name="android/content/pm/PackageItemInfo"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/ComponentInfo;)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="getBannerResource()I" since="20"/>
+		<method name="getIconResource()I"/>
+		<method name="getLogoResource()I" since="19"/>
+		<method name="isEnabled()Z" since="11"/>
+		<field name="applicationInfo"/>
+		<field name="attributionTags" since="31"/>
+		<field name="descriptionRes" since="8"/>
+		<field name="directBootAware" since="24"/>
+		<field name="enabled"/>
+		<field name="exported"/>
+		<field name="processName"/>
+		<field name="splitName" since="26"/>
+	</class>
+	<class name="android/content/pm/ConfigurationInfo" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/ConfigurationInfo;)V"/>
+		<method name="getGlEsVersion()Ljava/lang/String;" since="4"/>
+		<field name="CREATOR"/>
+		<field name="GL_ES_VERSION_UNDEFINED" since="4"/>
+		<field name="INPUT_FEATURE_FIVE_WAY_NAV"/>
+		<field name="INPUT_FEATURE_HARD_KEYBOARD"/>
+		<field name="reqGlEsVersion" since="4"/>
+		<field name="reqInputFeatures"/>
+		<field name="reqKeyboardType"/>
+		<field name="reqNavigation"/>
+		<field name="reqTouchScreen"/>
+	</class>
+	<class name="android/content/pm/CrossProfileApps" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="canInteractAcrossProfiles()Z" since="30"/>
+		<method name="canRequestInteractAcrossProfiles()Z" since="30"/>
+		<method name="createRequestInteractAcrossProfilesIntent()Landroid/content/Intent;" since="30"/>
+		<method name="getProfileSwitchingIconDrawable(Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getProfileSwitchingLabel(Landroid/os/UserHandle;)Ljava/lang/CharSequence;"/>
+		<method name="getTargetUserProfiles()Ljava/util/List;"/>
+		<method name="startActivity(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/app/Activity;)V" since="30"/>
+		<method name="startActivity(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/app/Activity;Landroid/os/Bundle;)V" since="30"/>
+		<method name="startMainActivity(Landroid/content/ComponentName;Landroid/os/UserHandle;)V"/>
+		<field name="ACTION_CAN_INTERACT_ACROSS_PROFILES_CHANGED" since="30"/>
+	</class>
+	<class name="android/content/pm/FeatureGroupInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/FeatureGroupInfo;)V"/>
+		<field name="CREATOR"/>
+		<field name="features"/>
+	</class>
+	<class name="android/content/pm/FeatureInfo" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/FeatureInfo;)V"/>
+		<method name="getGlEsVersion()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_REQUIRED"/>
+		<field name="GL_ES_VERSION_UNDEFINED"/>
+		<field name="flags"/>
+		<field name="name"/>
+		<field name="reqGlEsVersion"/>
+		<field name="version" since="24"/>
+	</class>
+	<class name="android/content/pm/IPackageInstallObserver" since="1" removed="4">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/IInterface"/>
+		<method name="packageInstalled(Ljava/lang/String;I)V"/>
+	</class>
+	<class name="android/content/pm/IPackageInstallObserver$Stub" since="1" removed="4">
+		<extends name="android/os/Binder"/>
+		<implements name="android/content/pm/IPackageInstallObserver"/>
+		<method name="&lt;init>()V"/>
+		<method name="asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageInstallObserver;"/>
+	</class>
+	<class name="android/content/pm/InstallSourceInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getInitiatingPackageName()Ljava/lang/String;"/>
+		<method name="getInitiatingPackageSigningInfo()Landroid/content/pm/SigningInfo;"/>
+		<method name="getInstallingPackageName()Ljava/lang/String;"/>
+		<method name="getOriginatingPackageName()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/InstrumentationInfo" since="1">
+		<extends name="android/content/pm/PackageItemInfo"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/InstrumentationInfo;)V"/>
+		<field name="CREATOR"/>
+		<field name="dataDir"/>
+		<field name="functionalTest"/>
+		<field name="handleProfiling"/>
+		<field name="publicSourceDir"/>
+		<field name="sourceDir"/>
+		<field name="splitNames" since="26"/>
+		<field name="splitPublicSourceDirs" since="21"/>
+		<field name="splitSourceDirs" since="21"/>
+		<field name="targetPackage"/>
+		<field name="targetProcesses" since="26"/>
+	</class>
+	<class name="android/content/pm/LabeledIntent" since="5">
+		<extends name="android/content/Intent"/>
+		<method name="&lt;init>(Landroid/content/Intent;Ljava/lang/String;II)V"/>
+		<method name="&lt;init>(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/CharSequence;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;II)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V"/>
+		<method name="getIconResource()I"/>
+		<method name="getLabelResource()I"/>
+		<method name="getNonLocalizedLabel()Ljava/lang/CharSequence;"/>
+		<method name="getSourcePackage()Ljava/lang/String;"/>
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/LauncherActivityInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getActivityInfo()Landroid/content/pm/ActivityInfo;" since="31"/>
+		<method name="getApplicationInfo()Landroid/content/pm/ApplicationInfo;"/>
+		<method name="getBadgedIcon(I)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getComponentName()Landroid/content/ComponentName;"/>
+		<method name="getFirstInstallTime()J"/>
+		<method name="getIcon(I)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<method name="getLoadingProgress()F" since="31"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getUser()Landroid/os/UserHandle;"/>
+	</class>
+	<class name="android/content/pm/LauncherApps" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getActivityList(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;"/>
+		<method name="getAllPackageInstallerSessions()Ljava/util/List;" since="29"/>
+		<method name="getApplicationInfo(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;" since="26"/>
+		<method name="getPinItemRequest(Landroid/content/Intent;)Landroid/content/pm/LauncherApps$PinItemRequest;" since="26"/>
+		<method name="getProfiles()Ljava/util/List;" since="26"/>
+		<method name="getShortcutBadgedIconDrawable(Landroid/content/pm/ShortcutInfo;I)Landroid/graphics/drawable/Drawable;" since="25"/>
+		<method name="getShortcutConfigActivityIntent(Landroid/content/pm/LauncherActivityInfo;)Landroid/content/IntentSender;" since="26"/>
+		<method name="getShortcutConfigActivityList(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;" since="26"/>
+		<method name="getShortcutIconDrawable(Landroid/content/pm/ShortcutInfo;I)Landroid/graphics/drawable/Drawable;" since="25"/>
+		<method name="getShortcutIntent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent;" since="31"/>
+		<method name="getShortcuts(Landroid/content/pm/LauncherApps$ShortcutQuery;Landroid/os/UserHandle;)Ljava/util/List;" since="25"/>
+		<method name="getSuspendedPackageLauncherExtras(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;" since="28"/>
+		<method name="hasShortcutHostPermission()Z" since="25"/>
+		<method name="isActivityEnabled(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z"/>
+		<method name="isPackageEnabled(Ljava/lang/String;Landroid/os/UserHandle;)Z"/>
+		<method name="pinShortcuts(Ljava/lang/String;Ljava/util/List;Landroid/os/UserHandle;)V" since="25"/>
+		<method name="registerCallback(Landroid/content/pm/LauncherApps$Callback;)V"/>
+		<method name="registerCallback(Landroid/content/pm/LauncherApps$Callback;Landroid/os/Handler;)V"/>
+		<method name="registerPackageInstallerSessionCallback(Ljava/util/concurrent/Executor;Landroid/content/pm/PackageInstaller$SessionCallback;)V" since="29"/>
+		<method name="resolveActivity(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/LauncherActivityInfo;"/>
+		<method name="shouldHideFromSuggestions(Ljava/lang/String;Landroid/os/UserHandle;)Z" since="29"/>
+		<method name="startAppDetailsActivity(Landroid/content/ComponentName;Landroid/os/UserHandle;Landroid/graphics/Rect;Landroid/os/Bundle;)V"/>
+		<method name="startMainActivity(Landroid/content/ComponentName;Landroid/os/UserHandle;Landroid/graphics/Rect;Landroid/os/Bundle;)V"/>
+		<method name="startPackageInstallerSessionDetailsActivity(Landroid/content/pm/PackageInstaller$SessionInfo;Landroid/graphics/Rect;Landroid/os/Bundle;)V" since="29"/>
+		<method name="startShortcut(Landroid/content/pm/ShortcutInfo;Landroid/graphics/Rect;Landroid/os/Bundle;)V" since="25"/>
+		<method name="startShortcut(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V" since="25"/>
+		<method name="unregisterCallback(Landroid/content/pm/LauncherApps$Callback;)V"/>
+		<method name="unregisterPackageInstallerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V" since="29"/>
+		<field name="ACTION_CONFIRM_PIN_APPWIDGET" since="26"/>
+		<field name="ACTION_CONFIRM_PIN_SHORTCUT" since="26"/>
+		<field name="EXTRA_PIN_ITEM_REQUEST" since="26"/>
+	</class>
+	<class name="android/content/pm/LauncherApps$Callback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onPackageAdded(Ljava/lang/String;Landroid/os/UserHandle;)V"/>
+		<method name="onPackageChanged(Ljava/lang/String;Landroid/os/UserHandle;)V"/>
+		<method name="onPackageLoadingProgressChanged(Ljava/lang/String;Landroid/os/UserHandle;F)V" since="31"/>
+		<method name="onPackageRemoved(Ljava/lang/String;Landroid/os/UserHandle;)V"/>
+		<method name="onPackagesAvailable([Ljava/lang/String;Landroid/os/UserHandle;Z)V"/>
+		<method name="onPackagesSuspended([Ljava/lang/String;Landroid/os/UserHandle;)V" since="24"/>
+		<method name="onPackagesSuspended([Ljava/lang/String;Landroid/os/UserHandle;Landroid/os/Bundle;)V" since="28" deprecated="30"/>
+		<method name="onPackagesUnavailable([Ljava/lang/String;Landroid/os/UserHandle;Z)V"/>
+		<method name="onPackagesUnsuspended([Ljava/lang/String;Landroid/os/UserHandle;)V" since="24"/>
+		<method name="onShortcutsChanged(Ljava/lang/String;Ljava/util/List;Landroid/os/UserHandle;)V" since="25"/>
+	</class>
+	<class name="android/content/pm/LauncherApps$PinItemRequest" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="accept()Z"/>
+		<method name="accept(Landroid/os/Bundle;)Z"/>
+		<method name="getAppWidgetProviderInfo(Landroid/content/Context;)Landroid/appwidget/AppWidgetProviderInfo;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getRequestType()I"/>
+		<method name="getShortcutInfo()Landroid/content/pm/ShortcutInfo;"/>
+		<method name="isValid()Z"/>
+		<field name="CREATOR"/>
+		<field name="REQUEST_TYPE_APPWIDGET"/>
+		<field name="REQUEST_TYPE_SHORTCUT"/>
+	</class>
+	<class name="android/content/pm/LauncherApps$ShortcutQuery" since="25">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="setActivity(Landroid/content/ComponentName;)Landroid/content/pm/LauncherApps$ShortcutQuery;"/>
+		<method name="setChangedSince(J)Landroid/content/pm/LauncherApps$ShortcutQuery;"/>
+		<method name="setLocusIds(Ljava/util/List;)Landroid/content/pm/LauncherApps$ShortcutQuery;" since="30"/>
+		<method name="setPackage(Ljava/lang/String;)Landroid/content/pm/LauncherApps$ShortcutQuery;"/>
+		<method name="setQueryFlags(I)Landroid/content/pm/LauncherApps$ShortcutQuery;"/>
+		<method name="setShortcutIds(Ljava/util/List;)Landroid/content/pm/LauncherApps$ShortcutQuery;"/>
+		<field name="FLAG_GET_KEY_FIELDS_ONLY"/>
+		<field name="FLAG_MATCH_CACHED" since="30"/>
+		<field name="FLAG_MATCH_DYNAMIC"/>
+		<field name="FLAG_MATCH_MANIFEST"/>
+		<field name="FLAG_MATCH_PINNED"/>
+		<field name="FLAG_MATCH_PINNED_BY_ANY_LAUNCHER" since="28"/>
+	</class>
+	<class name="android/content/pm/ModuleInfo" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getName()Ljava/lang/CharSequence;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="isHidden()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/PackageInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getLongVersionCode()J" since="28"/>
+		<method name="setLongVersionCode(J)V" since="28"/>
+		<field name="CREATOR"/>
+		<field name="INSTALL_LOCATION_AUTO" since="21"/>
+		<field name="INSTALL_LOCATION_INTERNAL_ONLY" since="21"/>
+		<field name="INSTALL_LOCATION_PREFER_EXTERNAL" since="21"/>
+		<field name="REQUESTED_PERMISSION_GRANTED" since="16"/>
+		<field name="REQUESTED_PERMISSION_NEVER_FOR_LOCATION" since="31"/>
+		<field name="REQUESTED_PERMISSION_REQUIRED" since="16" removed="23"/>
+		<field name="activities"/>
+		<field name="applicationInfo"/>
+		<field name="attributions" since="31"/>
+		<field name="baseRevisionCode" since="22"/>
+		<field name="configPreferences" since="3"/>
+		<field name="featureGroups" since="21"/>
+		<field name="firstInstallTime" since="9"/>
+		<field name="gids"/>
+		<field name="installLocation" since="21"/>
+		<field name="instrumentation"/>
+		<field name="isApex" since="29"/>
+		<field name="lastUpdateTime" since="9"/>
+		<field name="packageName"/>
+		<field name="permissions"/>
+		<field name="providers"/>
+		<field name="receivers"/>
+		<field name="reqFeatures" since="5"/>
+		<field name="requestedPermissions"/>
+		<field name="requestedPermissionsFlags" since="16"/>
+		<field name="services"/>
+		<field name="sharedUserId" since="3"/>
+		<field name="sharedUserLabel" since="3"/>
+		<field name="signatures" deprecated="28"/>
+		<field name="signingInfo" since="28"/>
+		<field name="splitNames" since="21"/>
+		<field name="splitRevisionCodes" since="22"/>
+		<field name="versionCode" deprecated="28"/>
+		<field name="versionName"/>
+	</class>
+	<class name="android/content/pm/PackageInstaller" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="abandonSession(I)V"/>
+		<method name="createSession(Landroid/content/pm/PackageInstaller$SessionParams;)I"/>
+		<method name="getActiveStagedSession()Landroid/content/pm/PackageInstaller$SessionInfo;" since="29" deprecated="30"/>
+		<method name="getActiveStagedSessions()Ljava/util/List;" since="30"/>
+		<method name="getAllSessions()Ljava/util/List;"/>
+		<method name="getMySessions()Ljava/util/List;"/>
+		<method name="getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;"/>
+		<method name="getStagedSessions()Ljava/util/List;" since="29"/>
+		<method name="installExistingPackage(Ljava/lang/String;ILandroid/content/IntentSender;)V" since="29"/>
+		<method name="openSession(I)Landroid/content/pm/PackageInstaller$Session;"/>
+		<method name="registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V"/>
+		<method name="registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;Landroid/os/Handler;)V"/>
+		<method name="uninstall(Landroid/content/pm/VersionedPackage;Landroid/content/IntentSender;)V" since="26"/>
+		<method name="uninstall(Ljava/lang/String;Landroid/content/IntentSender;)V"/>
+		<method name="uninstallExistingPackage(Ljava/lang/String;Landroid/content/IntentSender;)V" since="31"/>
+		<method name="unregisterSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V"/>
+		<method name="updateSessionAppIcon(ILandroid/graphics/Bitmap;)V"/>
+		<method name="updateSessionAppLabel(ILjava/lang/CharSequence;)V"/>
+		<field name="ACTION_SESSION_COMMITTED" since="26"/>
+		<field name="ACTION_SESSION_DETAILS"/>
+		<field name="ACTION_SESSION_UPDATED" since="29"/>
+		<field name="EXTRA_OTHER_PACKAGE_NAME"/>
+		<field name="EXTRA_PACKAGE_NAME"/>
+		<field name="EXTRA_SESSION" since="26"/>
+		<field name="EXTRA_SESSION_ID"/>
+		<field name="EXTRA_STATUS"/>
+		<field name="EXTRA_STATUS_MESSAGE"/>
+		<field name="EXTRA_STORAGE_PATH"/>
+		<field name="STATUS_FAILURE"/>
+		<field name="STATUS_FAILURE_ABORTED"/>
+		<field name="STATUS_FAILURE_BLOCKED"/>
+		<field name="STATUS_FAILURE_CONFLICT"/>
+		<field name="STATUS_FAILURE_INCOMPATIBLE"/>
+		<field name="STATUS_FAILURE_INVALID"/>
+		<field name="STATUS_FAILURE_STORAGE"/>
+		<field name="STATUS_PENDING_USER_ACTION"/>
+		<field name="STATUS_SUCCESS"/>
+	</class>
+	<class name="android/content/pm/PackageInstaller$Session" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="abandon()V"/>
+		<method name="addChildSessionId(I)V" since="29"/>
+		<method name="commit(Landroid/content/IntentSender;)V"/>
+		<method name="fsync(Ljava/io/OutputStream;)V"/>
+		<method name="getChildSessionIds()[I" since="29"/>
+		<method name="getNames()[Ljava/lang/String;"/>
+		<method name="getParentSessionId()I" since="29"/>
+		<method name="isMultiPackage()Z" since="29"/>
+		<method name="isStaged()Z" since="29"/>
+		<method name="openRead(Ljava/lang/String;)Ljava/io/InputStream;"/>
+		<method name="openWrite(Ljava/lang/String;JJ)Ljava/io/OutputStream;"/>
+		<method name="removeChildSessionId(I)V" since="29"/>
+		<method name="removeSplit(Ljava/lang/String;)V" since="24"/>
+		<method name="setChecksums(Ljava/lang/String;Ljava/util/List;[B)V" since="31" deprecated="31"/>
+		<method name="setStagingProgress(F)V"/>
+		<method name="transfer(Ljava/lang/String;)V" since="27"/>
+	</class>
+	<class name="android/content/pm/PackageInstaller$SessionCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onActiveChanged(IZ)V"/>
+		<method name="onBadgingChanged(I)V"/>
+		<method name="onCreated(I)V"/>
+		<method name="onFinished(IZ)V"/>
+		<method name="onProgressChanged(IF)V"/>
+	</class>
+	<class name="android/content/pm/PackageInstaller$SessionInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="createDetailsIntent()Landroid/content/Intent;"/>
+		<method name="getAppIcon()Landroid/graphics/Bitmap;"/>
+		<method name="getAppLabel()Ljava/lang/CharSequence;"/>
+		<method name="getAppPackageName()Ljava/lang/String;"/>
+		<method name="getChildSessionIds()[I" since="29"/>
+		<method name="getCreatedMillis()J" since="30"/>
+		<method name="getInstallLocation()I" since="27"/>
+		<method name="getInstallReason()I" since="26"/>
+		<method name="getInstallerAttributionTag()Ljava/lang/String;" since="31"/>
+		<method name="getInstallerPackageName()Ljava/lang/String;"/>
+		<method name="getMode()I" since="27"/>
+		<method name="getOriginatingUid()I" since="27"/>
+		<method name="getOriginatingUri()Landroid/net/Uri;" since="27"/>
+		<method name="getParentSessionId()I" since="29"/>
+		<method name="getProgress()F"/>
+		<method name="getReferrerUri()Landroid/net/Uri;" since="27"/>
+		<method name="getRequireUserAction()I" since="31"/>
+		<method name="getSessionId()I"/>
+		<method name="getSize()J" since="27"/>
+		<method name="getStagedSessionErrorCode()I" since="29"/>
+		<method name="getStagedSessionErrorMessage()Ljava/lang/String;" since="29"/>
+		<method name="getUpdatedMillis()J" since="29"/>
+		<method name="getUser()Landroid/os/UserHandle;" since="29"/>
+		<method name="hasParentSessionId()Z" since="30"/>
+		<method name="isActive()Z"/>
+		<method name="isCommitted()Z" since="29"/>
+		<method name="isMultiPackage()Z" since="29"/>
+		<method name="isSealed()Z" since="26"/>
+		<method name="isStaged()Z" since="29"/>
+		<method name="isStagedSessionActive()Z" since="30"/>
+		<method name="isStagedSessionApplied()Z" since="29"/>
+		<method name="isStagedSessionFailed()Z" since="29"/>
+		<method name="isStagedSessionReady()Z" since="29"/>
+		<field name="CREATOR"/>
+		<field name="INVALID_ID" since="29"/>
+		<field name="STAGED_SESSION_ACTIVATION_FAILED" since="29"/>
+		<field name="STAGED_SESSION_CONFLICT" since="31"/>
+		<field name="STAGED_SESSION_NO_ERROR" since="29"/>
+		<field name="STAGED_SESSION_UNKNOWN" since="29"/>
+		<field name="STAGED_SESSION_VERIFICATION_FAILED" since="29"/>
+	</class>
+	<class name="android/content/pm/PackageInstaller$SessionParams" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="setAppIcon(Landroid/graphics/Bitmap;)V"/>
+		<method name="setAppLabel(Ljava/lang/CharSequence;)V"/>
+		<method name="setAppPackageName(Ljava/lang/String;)V"/>
+		<method name="setAutoRevokePermissionsMode(Z)V" since="30" deprecated="31"/>
+		<method name="setInstallLocation(I)V"/>
+		<method name="setInstallReason(I)V" since="26"/>
+		<method name="setInstallScenario(I)V" since="31"/>
+		<method name="setMultiPackage()V" since="29"/>
+		<method name="setOriginatingUid(I)V" since="24"/>
+		<method name="setOriginatingUri(Landroid/net/Uri;)V"/>
+		<method name="setReferrerUri(Landroid/net/Uri;)V"/>
+		<method name="setRequireUserAction(I)V" since="31"/>
+		<method name="setSize(J)V"/>
+		<method name="setWhitelistedRestrictedPermissions(Ljava/util/Set;)V" since="29"/>
+		<field name="CREATOR"/>
+		<field name="MODE_FULL_INSTALL"/>
+		<field name="MODE_INHERIT_EXISTING"/>
+		<field name="RESTRICTED_PERMISSIONS_ALL" since="29"/>
+		<field name="USER_ACTION_NOT_REQUIRED" since="31"/>
+		<field name="USER_ACTION_REQUIRED" since="31"/>
+		<field name="USER_ACTION_UNSPECIFIED" since="31"/>
+	</class>
+	<class name="android/content/pm/PackageItemInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/PackageItemInfo;)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="dumpBack(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="dumpFront(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="loadBanner(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" since="20"/>
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<method name="loadLogo(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" since="9"/>
+		<method name="loadUnbadgedIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;" since="22"/>
+		<method name="loadXmlMetaData(Landroid/content/pm/PackageManager;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;"/>
+		<method name="writeToParcel(Landroid/os/Parcel;I)V"/>
+		<field name="banner" since="20"/>
+		<field name="icon"/>
+		<field name="labelRes"/>
+		<field name="logo" since="9"/>
+		<field name="metaData"/>
+		<field name="name"/>
+		<field name="nonLocalizedLabel"/>
+		<field name="packageName"/>
+	</class>
+	<class name="android/content/pm/PackageItemInfo$DisplayNameComparator" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Comparator"/>
+		<method name="&lt;init>(Landroid/content/pm/PackageManager;)V"/>
+		<method name="compare(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/PackageItemInfo;)I"/>
+	</class>
+	<class name="android/content/pm/PackageManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="addPackageToPreferred(Ljava/lang/String;)V" deprecated="15"/>
+		<method name="addPermission(Landroid/content/pm/PermissionInfo;)Z"/>
+		<method name="addPermissionAsync(Landroid/content/pm/PermissionInfo;)Z" since="8"/>
+		<method name="addPreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;)V" deprecated="15"/>
+		<method name="addWhitelistedRestrictedPermission(Ljava/lang/String;Ljava/lang/String;I)Z" since="29"/>
+		<method name="canRequestPackageInstalls()Z" since="26"/>
+		<method name="canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;" since="8"/>
+		<method name="checkPermission(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="checkSignatures(II)I" since="5"/>
+		<method name="checkSignatures(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="clearInstantAppCookie()V" since="26"/>
+		<method name="clearPackagePreferredActivities(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="currentToCanonicalPackageNames([Ljava/lang/String;)[Ljava/lang/String;" since="8"/>
+		<method name="extendVerificationTimeout(IIJ)V" since="17"/>
+		<method name="getActivityBanner(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;" since="20"/>
+		<method name="getActivityBanner(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;" since="20"/>
+		<method name="getActivityIcon(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getActivityIcon(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getActivityInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;"/>
+		<method name="getActivityLogo(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;" since="9"/>
+		<method name="getActivityLogo(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;" since="9"/>
+		<method name="getAllPermissionGroups(I)Ljava/util/List;"/>
+		<method name="getApplicationBanner(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;" since="20"/>
+		<method name="getApplicationBanner(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;" since="20"/>
+		<method name="getApplicationEnabledSetting(Ljava/lang/String;)I"/>
+		<method name="getApplicationIcon(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getApplicationIcon(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;"/>
+		<method name="getApplicationLabel(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;"/>
+		<method name="getApplicationLogo(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;" since="9"/>
+		<method name="getApplicationLogo(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;" since="9"/>
+		<method name="getBackgroundPermissionOptionLabel()Ljava/lang/CharSequence;" since="30"/>
+		<method name="getChangedPackages(I)Landroid/content/pm/ChangedPackages;" since="26"/>
+		<method name="getComponentEnabledSetting(Landroid/content/ComponentName;)I"/>
+		<method name="getDefaultActivityIcon()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getDrawable(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getGroupOfPlatformPermission(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31"/>
+		<method name="getInstallSourceInfo(Ljava/lang/String;)Landroid/content/pm/InstallSourceInfo;" since="30"/>
+		<method name="getInstalledApplications(I)Ljava/util/List;"/>
+		<method name="getInstalledModules(I)Ljava/util/List;" since="29"/>
+		<method name="getInstalledPackages(I)Ljava/util/List;"/>
+		<method name="getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;" since="5" deprecated="30"/>
+		<method name="getInstantAppCookie()[B" since="26"/>
+		<method name="getInstantAppCookieMaxBytes()I" since="26"/>
+		<method name="getInstrumentationInfo(Landroid/content/ComponentName;I)Landroid/content/pm/InstrumentationInfo;"/>
+		<method name="getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;" since="3"/>
+		<method name="getLeanbackLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;" since="21"/>
+		<method name="getMimeGroup(Ljava/lang/String;)Ljava/util/Set;" since="30"/>
+		<method name="getModuleInfo(Ljava/lang/String;I)Landroid/content/pm/ModuleInfo;" since="29"/>
+		<method name="getNameForUid(I)Ljava/lang/String;"/>
+		<method name="getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;"/>
+		<method name="getPackageGids(Ljava/lang/String;)[I"/>
+		<method name="getPackageGids(Ljava/lang/String;I)[I" since="24"/>
+		<method name="getPackageInfo(Landroid/content/pm/VersionedPackage;I)Landroid/content/pm/PackageInfo;" since="26"/>
+		<method name="getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;"/>
+		<method name="getPackageInstaller()Landroid/content/pm/PackageInstaller;" since="21"/>
+		<method name="getPackageUid(Ljava/lang/String;I)I" since="24"/>
+		<method name="getPackagesForUid(I)[Ljava/lang/String;"/>
+		<method name="getPackagesHoldingPermissions([Ljava/lang/String;I)Ljava/util/List;" since="18"/>
+		<method name="getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;"/>
+		<method name="getPermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;"/>
+		<method name="getPlatformPermissionsForGroup(Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31"/>
+		<method name="getPreferredActivities(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I" deprecated="29"/>
+		<method name="getPreferredPackages(I)Ljava/util/List;" deprecated="29"/>
+		<method name="getProperty(Ljava/lang/String;Landroid/content/ComponentName;)Landroid/content/pm/PackageManager$Property;" since="31"/>
+		<method name="getProperty(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/PackageManager$Property;" since="31"/>
+		<method name="getProviderInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ProviderInfo;" since="9"/>
+		<method name="getReceiverInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;"/>
+		<method name="getResourcesForActivity(Landroid/content/ComponentName;)Landroid/content/res/Resources;"/>
+		<method name="getResourcesForApplication(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/Resources;"/>
+		<method name="getResourcesForApplication(Landroid/content/pm/ApplicationInfo;Landroid/content/res/Configuration;)Landroid/content/res/Resources;" since="31"/>
+		<method name="getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;"/>
+		<method name="getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;"/>
+		<method name="getSharedLibraries(I)Ljava/util/List;" since="26"/>
+		<method name="getSuspendedPackageAppExtras()Landroid/os/Bundle;" since="28"/>
+		<method name="getSyntheticAppDetailsActivityEnabled(Ljava/lang/String;)Z" since="29"/>
+		<method name="getSystemAvailableFeatures()[Landroid/content/pm/FeatureInfo;" since="5"/>
+		<method name="getSystemSharedLibraryNames()[Ljava/lang/String;" since="3"/>
+		<method name="getTargetSdkVersion(Ljava/lang/String;)I" since="31"/>
+		<method name="getText(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;"/>
+		<method name="getUserBadgedDrawableForDensity(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;Landroid/graphics/Rect;I)Landroid/graphics/drawable/Drawable;" since="21"/>
+		<method name="getUserBadgedIcon(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;" since="21"/>
+		<method name="getUserBadgedLabel(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence;" since="21"/>
+		<method name="getWhitelistedRestrictedPermissions(Ljava/lang/String;I)Ljava/util/Set;" since="29"/>
+		<method name="getXml(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/content/res/XmlResourceParser;"/>
+		<method name="hasSigningCertificate(I[BI)Z" since="28"/>
+		<method name="hasSigningCertificate(Ljava/lang/String;[BI)Z" since="28"/>
+		<method name="hasSystemFeature(Ljava/lang/String;)Z" since="5"/>
+		<method name="hasSystemFeature(Ljava/lang/String;I)Z" since="24"/>
+		<method name="installPackage(Landroid/net/Uri;)V" removed="4"/>
+		<method name="installPackage(Landroid/net/Uri;Landroid/content/pm/IPackageInstallObserver;I)V" removed="4"/>
+		<method name="isAutoRevokeWhitelisted()Z" since="30"/>
+		<method name="isAutoRevokeWhitelisted(Ljava/lang/String;)Z" since="30"/>
+		<method name="isDefaultApplicationIcon(Landroid/graphics/drawable/Drawable;)Z" since="30"/>
+		<method name="isDeviceUpgrading()Z" since="29"/>
+		<method name="isInstantApp()Z" since="26"/>
+		<method name="isInstantApp(Ljava/lang/String;)Z" since="26"/>
+		<method name="isPackageSuspended()Z" since="28"/>
+		<method name="isPackageSuspended(Ljava/lang/String;)Z" since="29"/>
+		<method name="isPermissionRevokedByPolicy(Ljava/lang/String;Ljava/lang/String;)Z" since="23"/>
+		<method name="isSafeMode()Z" since="3"/>
+		<method name="queryActivityProperty(Ljava/lang/String;)Ljava/util/List;" since="31"/>
+		<method name="queryApplicationProperty(Ljava/lang/String;)Ljava/util/List;" since="31"/>
+		<method name="queryBroadcastReceivers(Landroid/content/Intent;I)Ljava/util/List;"/>
+		<method name="queryContentProviders(Ljava/lang/String;II)Ljava/util/List;"/>
+		<method name="queryInstrumentation(Ljava/lang/String;I)Ljava/util/List;"/>
+		<method name="queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;"/>
+		<method name="queryIntentActivityOptions(Landroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I)Ljava/util/List;"/>
+		<method name="queryIntentContentProviders(Landroid/content/Intent;I)Ljava/util/List;" since="19"/>
+		<method name="queryIntentServices(Landroid/content/Intent;I)Ljava/util/List;"/>
+		<method name="queryPermissionsByGroup(Ljava/lang/String;I)Ljava/util/List;"/>
+		<method name="queryProviderProperty(Ljava/lang/String;)Ljava/util/List;" since="31"/>
+		<method name="queryReceiverProperty(Ljava/lang/String;)Ljava/util/List;" since="31"/>
+		<method name="queryServiceProperty(Ljava/lang/String;)Ljava/util/List;" since="31"/>
+		<method name="removePackageFromPreferred(Ljava/lang/String;)V" deprecated="15"/>
+		<method name="removePermission(Ljava/lang/String;)V"/>
+		<method name="removeWhitelistedRestrictedPermission(Ljava/lang/String;Ljava/lang/String;I)Z" since="29"/>
+		<method name="requestChecksums(Ljava/lang/String;ZILjava/util/List;Landroid/content/pm/PackageManager$OnChecksumsReadyListener;)V" since="31"/>
+		<method name="resolveActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;"/>
+		<method name="resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;"/>
+		<method name="resolveService(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;"/>
+		<method name="setApplicationCategoryHint(Ljava/lang/String;I)V" since="26"/>
+		<method name="setApplicationEnabledSetting(Ljava/lang/String;II)V"/>
+		<method name="setAutoRevokeWhitelisted(Ljava/lang/String;Z)Z" since="30"/>
+		<method name="setComponentEnabledSetting(Landroid/content/ComponentName;II)V"/>
+		<method name="setInstallerPackageName(Ljava/lang/String;Ljava/lang/String;)V" since="11"/>
+		<method name="setMimeGroup(Ljava/lang/String;Ljava/util/Set;)V" since="30"/>
+		<method name="updateInstantAppCookie([B)V" since="26"/>
+		<method name="verifyPendingInstall(II)V" since="14"/>
+		<field name="CERT_INPUT_RAW_X509" since="28"/>
+		<field name="CERT_INPUT_SHA256" since="28"/>
+		<field name="COMPONENT_ENABLED_STATE_DEFAULT"/>
+		<field name="COMPONENT_ENABLED_STATE_DISABLED"/>
+		<field name="COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED" since="18"/>
+		<field name="COMPONENT_ENABLED_STATE_DISABLED_USER" since="14"/>
+		<field name="COMPONENT_ENABLED_STATE_ENABLED"/>
+		<field name="DONT_KILL_APP"/>
+		<field name="EXTRA_VERIFICATION_ID" since="14"/>
+		<field name="EXTRA_VERIFICATION_RESULT" since="17"/>
+		<field name="FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS" since="26"/>
+		<field name="FEATURE_APP_WIDGETS" since="18"/>
+		<field name="FEATURE_AUDIO_LOW_LATENCY" since="9"/>
+		<field name="FEATURE_AUDIO_OUTPUT" since="21"/>
+		<field name="FEATURE_AUDIO_PRO" since="23"/>
+		<field name="FEATURE_AUTOFILL" since="26"/>
+		<field name="FEATURE_AUTOMOTIVE" since="23"/>
+		<field name="FEATURE_BACKUP" since="20"/>
+		<field name="FEATURE_BLUETOOTH" since="8"/>
+		<field name="FEATURE_BLUETOOTH_LE" since="18"/>
+		<field name="FEATURE_CAMERA" since="7"/>
+		<field name="FEATURE_CAMERA_ANY" since="17"/>
+		<field name="FEATURE_CAMERA_AR" since="28"/>
+		<field name="FEATURE_CAMERA_AUTOFOCUS" since="7"/>
+		<field name="FEATURE_CAMERA_CAPABILITY_MANUAL_POST_PROCESSING" since="21"/>
+		<field name="FEATURE_CAMERA_CAPABILITY_MANUAL_SENSOR" since="21"/>
+		<field name="FEATURE_CAMERA_CAPABILITY_RAW" since="21"/>
+		<field name="FEATURE_CAMERA_CONCURRENT" since="30"/>
+		<field name="FEATURE_CAMERA_EXTERNAL" since="20"/>
+		<field name="FEATURE_CAMERA_FLASH" since="7"/>
+		<field name="FEATURE_CAMERA_FRONT" since="9"/>
+		<field name="FEATURE_CAMERA_LEVEL_FULL" since="21"/>
+		<field name="FEATURE_CANT_SAVE_STATE" since="28"/>
+		<field name="FEATURE_COMPANION_DEVICE_SETUP" since="26"/>
+		<field name="FEATURE_CONNECTION_SERVICE" since="21"/>
+		<field name="FEATURE_CONSUMER_IR" since="19"/>
+		<field name="FEATURE_CONTROLS" since="30"/>
+		<field name="FEATURE_DEVICE_ADMIN" since="19"/>
+		<field name="FEATURE_EMBEDDED" since="26"/>
+		<field name="FEATURE_ETHERNET" since="24"/>
+		<field name="FEATURE_FACE" since="29"/>
+		<field name="FEATURE_FAKETOUCH" since="11"/>
+		<field name="FEATURE_FAKETOUCH_MULTITOUCH_DISTINCT" since="13"/>
+		<field name="FEATURE_FAKETOUCH_MULTITOUCH_JAZZHAND" since="13"/>
+		<field name="FEATURE_FINGERPRINT" since="23"/>
+		<field name="FEATURE_FREEFORM_WINDOW_MANAGEMENT" since="24"/>
+		<field name="FEATURE_GAMEPAD" since="21"/>
+		<field name="FEATURE_HARDWARE_KEYSTORE" since="31"/>
+		<field name="FEATURE_HIFI_SENSORS" since="23"/>
+		<field name="FEATURE_HOME_SCREEN" since="18"/>
+		<field name="FEATURE_IDENTITY_CREDENTIAL_HARDWARE" since="31"/>
+		<field name="FEATURE_IDENTITY_CREDENTIAL_HARDWARE_DIRECT_ACCESS" since="31"/>
+		<field name="FEATURE_INPUT_METHODS" since="18"/>
+		<field name="FEATURE_IPSEC_TUNNELS" since="29"/>
+		<field name="FEATURE_IRIS" since="29"/>
+		<field name="FEATURE_KEYSTORE_APP_ATTEST_KEY" since="31"/>
+		<field name="FEATURE_KEYSTORE_LIMITED_USE_KEY" since="31"/>
+		<field name="FEATURE_KEYSTORE_SINGLE_USE_KEY" since="31"/>
+		<field name="FEATURE_LEANBACK" since="21"/>
+		<field name="FEATURE_LEANBACK_ONLY" since="26"/>
+		<field name="FEATURE_LIVE_TV" since="21"/>
+		<field name="FEATURE_LIVE_WALLPAPER" since="7"/>
+		<field name="FEATURE_LOCATION" since="8"/>
+		<field name="FEATURE_LOCATION_GPS" since="8"/>
+		<field name="FEATURE_LOCATION_NETWORK" since="8"/>
+		<field name="FEATURE_MANAGED_USERS" since="21"/>
+		<field name="FEATURE_MICROPHONE" since="8"/>
+		<field name="FEATURE_MIDI" since="23"/>
+		<field name="FEATURE_NFC" since="9"/>
+		<field name="FEATURE_NFC_BEAM" since="29"/>
+		<field name="FEATURE_NFC_HOST_CARD_EMULATION" since="19"/>
+		<field name="FEATURE_NFC_HOST_CARD_EMULATION_NFCF" since="24"/>
+		<field name="FEATURE_NFC_OFF_HOST_CARD_EMULATION_ESE" since="29"/>
+		<field name="FEATURE_NFC_OFF_HOST_CARD_EMULATION_UICC" since="29"/>
+		<field name="FEATURE_OPENGLES_DEQP_LEVEL" since="31"/>
+		<field name="FEATURE_OPENGLES_EXTENSION_PACK" since="21"/>
+		<field name="FEATURE_PC" since="27"/>
+		<field name="FEATURE_PICTURE_IN_PICTURE" since="24"/>
+		<field name="FEATURE_PRINTING" since="20"/>
+		<field name="FEATURE_RAM_LOW" since="27"/>
+		<field name="FEATURE_RAM_NORMAL" since="27"/>
+		<field name="FEATURE_SCREEN_LANDSCAPE" since="13"/>
+		<field name="FEATURE_SCREEN_PORTRAIT" since="13"/>
+		<field name="FEATURE_SECURELY_REMOVES_USERS" since="21"/>
+		<field name="FEATURE_SECURE_LOCK_SCREEN" since="29"/>
+		<field name="FEATURE_SECURITY_MODEL_COMPATIBLE" since="31"/>
+		<field name="FEATURE_SENSOR_ACCELEROMETER" since="8"/>
+		<field name="FEATURE_SENSOR_AMBIENT_TEMPERATURE" since="21"/>
+		<field name="FEATURE_SENSOR_BAROMETER" since="9"/>
+		<field name="FEATURE_SENSOR_COMPASS" since="8"/>
+		<field name="FEATURE_SENSOR_GYROSCOPE" since="9"/>
+		<field name="FEATURE_SENSOR_HEART_RATE" since="20"/>
+		<field name="FEATURE_SENSOR_HEART_RATE_ECG" since="21"/>
+		<field name="FEATURE_SENSOR_HINGE_ANGLE" since="30"/>
+		<field name="FEATURE_SENSOR_LIGHT" since="7"/>
+		<field name="FEATURE_SENSOR_PROXIMITY" since="7"/>
+		<field name="FEATURE_SENSOR_RELATIVE_HUMIDITY" since="21"/>
+		<field name="FEATURE_SENSOR_STEP_COUNTER" since="19"/>
+		<field name="FEATURE_SENSOR_STEP_DETECTOR" since="19"/>
+		<field name="FEATURE_SE_OMAPI_ESE" since="30"/>
+		<field name="FEATURE_SE_OMAPI_SD" since="30"/>
+		<field name="FEATURE_SE_OMAPI_UICC" since="30"/>
+		<field name="FEATURE_SIP" since="9"/>
+		<field name="FEATURE_SIP_VOIP" since="9"/>
+		<field name="FEATURE_STRONGBOX_KEYSTORE" since="28"/>
+		<field name="FEATURE_TELEPHONY" since="7"/>
+		<field name="FEATURE_TELEPHONY_CDMA" since="7"/>
+		<field name="FEATURE_TELEPHONY_EUICC" since="28"/>
+		<field name="FEATURE_TELEPHONY_GSM" since="7"/>
+		<field name="FEATURE_TELEPHONY_IMS" since="29"/>
+		<field name="FEATURE_TELEPHONY_MBMS" since="28"/>
+		<field name="FEATURE_TELEVISION" since="16" deprecated="21"/>
+		<field name="FEATURE_TOUCHSCREEN" since="8"/>
+		<field name="FEATURE_TOUCHSCREEN_MULTITOUCH" since="7"/>
+		<field name="FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT" since="8"/>
+		<field name="FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND" since="9"/>
+		<field name="FEATURE_USB_ACCESSORY" since="12"/>
+		<field name="FEATURE_USB_HOST" since="12"/>
+		<field name="FEATURE_VERIFIED_BOOT" since="21"/>
+		<field name="FEATURE_VR_HEADTRACKING" since="26"/>
+		<field name="FEATURE_VR_MODE" since="24" deprecated="28"/>
+		<field name="FEATURE_VR_MODE_HIGH_PERFORMANCE" since="24"/>
+		<field name="FEATURE_VULKAN_DEQP_LEVEL" since="30"/>
+		<field name="FEATURE_VULKAN_HARDWARE_COMPUTE" since="26"/>
+		<field name="FEATURE_VULKAN_HARDWARE_LEVEL" since="24"/>
+		<field name="FEATURE_VULKAN_HARDWARE_VERSION" since="24"/>
+		<field name="FEATURE_WATCH" since="20"/>
+		<field name="FEATURE_WEBVIEW" since="20"/>
+		<field name="FEATURE_WIFI" since="8"/>
+		<field name="FEATURE_WIFI_AWARE" since="26"/>
+		<field name="FEATURE_WIFI_DIRECT" since="14"/>
+		<field name="FEATURE_WIFI_PASSPOINT" since="27"/>
+		<field name="FEATURE_WIFI_RTT" since="28"/>
+		<field name="FLAG_PERMISSION_WHITELIST_INSTALLER" since="29"/>
+		<field name="FLAG_PERMISSION_WHITELIST_SYSTEM" since="29"/>
+		<field name="FLAG_PERMISSION_WHITELIST_UPGRADE" since="29"/>
+		<field name="FORWARD_LOCK_PACKAGE" removed="4"/>
+		<field name="GET_ACTIVITIES"/>
+		<field name="GET_ATTRIBUTIONS" since="31"/>
+		<field name="GET_CONFIGURATIONS" since="3"/>
+		<field name="GET_DISABLED_COMPONENTS" deprecated="24"/>
+		<field name="GET_DISABLED_UNTIL_USED_COMPONENTS" since="18" deprecated="24"/>
+		<field name="GET_GIDS"/>
+		<field name="GET_INSTRUMENTATION"/>
+		<field name="GET_INTENT_FILTERS" deprecated="31"/>
+		<field name="GET_META_DATA"/>
+		<field name="GET_PERMISSIONS"/>
+		<field name="GET_PROVIDERS"/>
+		<field name="GET_RECEIVERS"/>
+		<field name="GET_RESOLVED_FILTER"/>
+		<field name="GET_SERVICES"/>
+		<field name="GET_SHARED_LIBRARY_FILES"/>
+		<field name="GET_SIGNATURES" deprecated="28"/>
+		<field name="GET_SIGNING_CERTIFICATES" since="28"/>
+		<field name="GET_UNINSTALLED_PACKAGES" since="3" deprecated="24"/>
+		<field name="GET_URI_PERMISSION_PATTERNS"/>
+		<field name="INSTALL_FAILED_ALREADY_EXISTS" removed="4"/>
+		<field name="INSTALL_FAILED_CONFLICTING_PROVIDER" since="3" removed="4"/>
+		<field name="INSTALL_FAILED_DEXOPT" removed="4"/>
+		<field name="INSTALL_FAILED_DUPLICATE_PACKAGE" removed="4"/>
+		<field name="INSTALL_FAILED_INSUFFICIENT_STORAGE" removed="4"/>
+		<field name="INSTALL_FAILED_INVALID_APK" removed="4"/>
+		<field name="INSTALL_FAILED_INVALID_URI" removed="4"/>
+		<field name="INSTALL_FAILED_MISSING_SHARED_LIBRARY" removed="4"/>
+		<field name="INSTALL_FAILED_NO_SHARED_USER" removed="4"/>
+		<field name="INSTALL_FAILED_OLDER_SDK" removed="4"/>
+		<field name="INSTALL_FAILED_REPLACE_COULDNT_DELETE" removed="4"/>
+		<field name="INSTALL_FAILED_SHARED_USER_INCOMPATIBLE" removed="4"/>
+		<field name="INSTALL_FAILED_UPDATE_INCOMPATIBLE" removed="4"/>
+		<field name="INSTALL_PARSE_FAILED_BAD_MANIFEST" removed="4"/>
+		<field name="INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME" removed="4"/>
+		<field name="INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID" removed="4"/>
+		<field name="INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING" removed="4"/>
+		<field name="INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES" removed="4"/>
+		<field name="INSTALL_PARSE_FAILED_MANIFEST_EMPTY" removed="4"/>
+		<field name="INSTALL_PARSE_FAILED_MANIFEST_MALFORMED" removed="4"/>
+		<field name="INSTALL_PARSE_FAILED_NOT_APK" removed="4"/>
+		<field name="INSTALL_PARSE_FAILED_NO_CERTIFICATES" removed="4"/>
+		<field name="INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION" removed="4"/>
+		<field name="INSTALL_REASON_DEVICE_RESTORE" since="26"/>
+		<field name="INSTALL_REASON_DEVICE_SETUP" since="26"/>
+		<field name="INSTALL_REASON_POLICY" since="26"/>
+		<field name="INSTALL_REASON_UNKNOWN" since="26"/>
+		<field name="INSTALL_REASON_USER" since="26"/>
+		<field name="INSTALL_SCENARIO_BULK" since="31"/>
+		<field name="INSTALL_SCENARIO_BULK_SECONDARY" since="31"/>
+		<field name="INSTALL_SCENARIO_DEFAULT" since="31"/>
+		<field name="INSTALL_SCENARIO_FAST" since="31"/>
+		<field name="INSTALL_SUCCEEDED" removed="4"/>
+		<field name="MATCH_ALL" since="23"/>
+		<field name="MATCH_APEX" since="29"/>
+		<field name="MATCH_DEFAULT_ONLY"/>
+		<field name="MATCH_DIRECT_BOOT_AUTO" since="29"/>
+		<field name="MATCH_DIRECT_BOOT_AWARE" since="24"/>
+		<field name="MATCH_DIRECT_BOOT_UNAWARE" since="24"/>
+		<field name="MATCH_DISABLED_COMPONENTS" since="24"/>
+		<field name="MATCH_DISABLED_UNTIL_USED_COMPONENTS" since="24"/>
+		<field name="MATCH_SYSTEM_ONLY" since="24"/>
+		<field name="MATCH_UNINSTALLED_PACKAGES" since="24"/>
+		<field name="MAXIMUM_VERIFICATION_TIMEOUT" since="17"/>
+		<field name="PERMISSION_DENIED"/>
+		<field name="PERMISSION_GRANTED"/>
+		<field name="PKG_INSTALL_COMPLETE" removed="8"/>
+		<field name="PKG_INSTALL_INCOMPLETE" removed="8"/>
+		<field name="PROPERTY_MEDIA_CAPABILITIES" since="31"/>
+		<field name="REPLACE_EXISTING_PACKAGE" removed="4"/>
+		<field name="SIGNATURE_FIRST_NOT_SIGNED"/>
+		<field name="SIGNATURE_MATCH"/>
+		<field name="SIGNATURE_NEITHER_SIGNED"/>
+		<field name="SIGNATURE_NO_MATCH"/>
+		<field name="SIGNATURE_SECOND_NOT_SIGNED"/>
+		<field name="SIGNATURE_UNKNOWN_PACKAGE"/>
+		<field name="SYNCHRONOUS" since="30"/>
+		<field name="TRUST_ALL" since="31"/>
+		<field name="TRUST_NONE" since="31"/>
+		<field name="VERIFICATION_ALLOW" since="14"/>
+		<field name="VERIFICATION_REJECT" since="14"/>
+		<field name="VERSION_CODE_HIGHEST" since="26"/>
+	</class>
+	<class name="android/content/pm/PackageManager$NameNotFoundException" since="1">
+		<extends name="android/util/AndroidException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/content/pm/PackageManager$OnChecksumsReadyListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onChecksumsReady(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/content/pm/PackageManager$Property" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getBoolean()Z"/>
+		<method name="getClassName()Ljava/lang/String;"/>
+		<method name="getFloat()F"/>
+		<method name="getInteger()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getResourceId()I"/>
+		<method name="getString()Ljava/lang/String;"/>
+		<method name="isBoolean()Z"/>
+		<method name="isFloat()Z"/>
+		<method name="isInteger()Z"/>
+		<method name="isResourceId()Z"/>
+		<method name="isString()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/PackageStats" since="1" deprecated="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/pm/PackageStats;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="29"/>
+		<field name="CREATOR" deprecated="29"/>
+		<field name="cacheSize" deprecated="29"/>
+		<field name="codeSize" deprecated="29"/>
+		<field name="dataSize" deprecated="29"/>
+		<field name="externalCacheSize" since="11" deprecated="29"/>
+		<field name="externalCodeSize" since="14" deprecated="29"/>
+		<field name="externalDataSize" since="11" deprecated="29"/>
+		<field name="externalMediaSize" since="11" deprecated="29"/>
+		<field name="externalObbSize" since="11" deprecated="29"/>
+		<field name="packageName" deprecated="29"/>
+	</class>
+	<class name="android/content/pm/PathPermission" since="4">
+		<extends name="android/os/PatternMatcher"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getReadPermission()Ljava/lang/String;"/>
+		<method name="getWritePermission()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/PermissionGroupInfo" since="1">
+		<extends name="android/content/pm/PackageItemInfo"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/pm/PermissionGroupInfo;)V" deprecated="29"/>
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_PERSONAL_INFO" since="17"/>
+		<field name="descriptionRes"/>
+		<field name="flags" since="17"/>
+		<field name="nonLocalizedDescription"/>
+		<field name="priority" since="17"/>
+	</class>
+	<class name="android/content/pm/PermissionInfo" since="1">
+		<extends name="android/content/pm/PackageItemInfo"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/pm/PermissionInfo;)V" deprecated="29"/>
+		<method name="getProtection()I" since="28"/>
+		<method name="getProtectionFlags()I" since="28"/>
+		<method name="loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_COSTS_MONEY" since="17"/>
+		<field name="FLAG_HARD_RESTRICTED" since="29"/>
+		<field name="FLAG_IMMUTABLY_RESTRICTED" since="29"/>
+		<field name="FLAG_INSTALLED" since="23"/>
+		<field name="FLAG_SOFT_RESTRICTED" since="29"/>
+		<field name="PROTECTION_DANGEROUS"/>
+		<field name="PROTECTION_FLAG_APPOP" since="21"/>
+		<field name="PROTECTION_FLAG_DEVELOPMENT" since="16"/>
+		<field name="PROTECTION_FLAG_INSTALLER" since="23"/>
+		<field name="PROTECTION_FLAG_INSTANT" since="27"/>
+		<field name="PROTECTION_FLAG_PRE23" since="23"/>
+		<field name="PROTECTION_FLAG_PREINSTALLED" since="23"/>
+		<field name="PROTECTION_FLAG_PRIVILEGED" since="23"/>
+		<field name="PROTECTION_FLAG_RUNTIME_ONLY" since="26"/>
+		<field name="PROTECTION_FLAG_SETUP" since="24"/>
+		<field name="PROTECTION_FLAG_SYSTEM" since="16" deprecated="23"/>
+		<field name="PROTECTION_FLAG_VERIFIER" since="23"/>
+		<field name="PROTECTION_INTERNAL" since="31"/>
+		<field name="PROTECTION_MASK_BASE" since="16" deprecated="28"/>
+		<field name="PROTECTION_MASK_FLAGS" since="16" deprecated="28"/>
+		<field name="PROTECTION_NORMAL"/>
+		<field name="PROTECTION_SIGNATURE"/>
+		<field name="PROTECTION_SIGNATURE_OR_SYSTEM" deprecated="23"/>
+		<field name="descriptionRes"/>
+		<field name="flags" since="17"/>
+		<field name="group"/>
+		<field name="nonLocalizedDescription"/>
+		<field name="protectionLevel" deprecated="28"/>
+	</class>
+	<class name="android/content/pm/ProviderInfo" since="1">
+		<extends name="android/content/pm/ComponentInfo"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/ProviderInfo;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" since="19"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_SINGLE_USER" since="17"/>
+		<field name="authority"/>
+		<field name="flags" since="17"/>
+		<field name="forceUriPermissions" since="29"/>
+		<field name="grantUriPermissions"/>
+		<field name="initOrder"/>
+		<field name="isSyncable" deprecated="15"/>
+		<field name="multiprocess"/>
+		<field name="pathPermissions" since="4"/>
+		<field name="readPermission"/>
+		<field name="uriPermissionPatterns"/>
+		<field name="writePermission"/>
+	</class>
+	<class name="android/content/pm/ResolveInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/ResolveInfo;)V" since="17"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getIconResource()I"/>
+		<method name="isCrossProfileIntentForwarderActivity()Z" since="30"/>
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+		<field name="activityInfo"/>
+		<field name="filter"/>
+		<field name="icon"/>
+		<field name="isDefault"/>
+		<field name="isInstantAppAvailable" since="26"/>
+		<field name="labelRes"/>
+		<field name="match"/>
+		<field name="nonLocalizedLabel"/>
+		<field name="preferredOrder"/>
+		<field name="priority"/>
+		<field name="providerInfo" since="19"/>
+		<field name="resolvePackageName" since="5"/>
+		<field name="serviceInfo"/>
+		<field name="specificIndex"/>
+	</class>
+	<class name="android/content/pm/ResolveInfo$DisplayNameComparator" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Comparator"/>
+		<method name="&lt;init>(Landroid/content/pm/PackageManager;)V"/>
+		<method name="compare(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I"/>
+	</class>
+	<class name="android/content/pm/ServiceInfo" since="1">
+		<extends name="android/content/pm/ComponentInfo"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/ServiceInfo;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" since="5"/>
+		<method name="getForegroundServiceType()I" since="29"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_EXTERNAL_SERVICE" since="24"/>
+		<field name="FLAG_ISOLATED_PROCESS" since="16"/>
+		<field name="FLAG_SINGLE_USER" since="17"/>
+		<field name="FLAG_STOP_WITH_TASK" since="14"/>
+		<field name="FLAG_USE_APP_ZYGOTE" since="29"/>
+		<field name="FOREGROUND_SERVICE_TYPE_CAMERA" since="30"/>
+		<field name="FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE" since="29"/>
+		<field name="FOREGROUND_SERVICE_TYPE_DATA_SYNC" since="29"/>
+		<field name="FOREGROUND_SERVICE_TYPE_LOCATION" since="29"/>
+		<field name="FOREGROUND_SERVICE_TYPE_MANIFEST" since="29"/>
+		<field name="FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK" since="29"/>
+		<field name="FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION" since="29"/>
+		<field name="FOREGROUND_SERVICE_TYPE_MICROPHONE" since="30"/>
+		<field name="FOREGROUND_SERVICE_TYPE_NONE" since="29"/>
+		<field name="FOREGROUND_SERVICE_TYPE_PHONE_CALL" since="29"/>
+		<field name="flags" since="14"/>
+		<field name="permission"/>
+	</class>
+	<class name="android/content/pm/SharedLibraryInfo" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDeclaringPackage()Landroid/content/pm/VersionedPackage;"/>
+		<method name="getDependentPackages()Ljava/util/List;"/>
+		<method name="getLongVersion()J" since="28"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getType()I"/>
+		<method name="getVersion()I" deprecated="28"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_BUILTIN"/>
+		<field name="TYPE_DYNAMIC"/>
+		<field name="TYPE_STATIC"/>
+		<field name="VERSION_UNDEFINED"/>
+	</class>
+	<class name="android/content/pm/ShortcutInfo" since="25">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getActivity()Landroid/content/ComponentName;"/>
+		<method name="getCategories()Ljava/util/Set;"/>
+		<method name="getDisabledMessage()Ljava/lang/CharSequence;"/>
+		<method name="getDisabledReason()I" since="28"/>
+		<method name="getExtras()Landroid/os/PersistableBundle;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getIntent()Landroid/content/Intent;"/>
+		<method name="getIntents()[Landroid/content/Intent;"/>
+		<method name="getLastChangedTimestamp()J"/>
+		<method name="getLocusId()Landroid/content/LocusId;" since="29"/>
+		<method name="getLongLabel()Ljava/lang/CharSequence;"/>
+		<method name="getPackage()Ljava/lang/String;"/>
+		<method name="getRank()I"/>
+		<method name="getShortLabel()Ljava/lang/CharSequence;"/>
+		<method name="getUserHandle()Landroid/os/UserHandle;"/>
+		<method name="hasKeyFieldsOnly()Z"/>
+		<method name="isCached()Z" since="30"/>
+		<method name="isDeclaredInManifest()Z"/>
+		<method name="isDynamic()Z"/>
+		<method name="isEnabled()Z"/>
+		<method name="isImmutable()Z"/>
+		<method name="isPinned()Z"/>
+		<field name="CREATOR"/>
+		<field name="DISABLED_REASON_APP_CHANGED" since="28"/>
+		<field name="DISABLED_REASON_BACKUP_NOT_SUPPORTED" since="28"/>
+		<field name="DISABLED_REASON_BY_APP" since="28"/>
+		<field name="DISABLED_REASON_NOT_DISABLED" since="28"/>
+		<field name="DISABLED_REASON_OTHER_RESTORE_ISSUE" since="28"/>
+		<field name="DISABLED_REASON_SIGNATURE_MISMATCH" since="28"/>
+		<field name="DISABLED_REASON_UNKNOWN" since="28"/>
+		<field name="DISABLED_REASON_VERSION_LOWER" since="28"/>
+		<field name="SHORTCUT_CATEGORY_CONVERSATION"/>
+	</class>
+	<class name="android/content/pm/ShortcutInfo$Builder" since="25">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;)V"/>
+		<method name="build()Landroid/content/pm/ShortcutInfo;"/>
+		<method name="setActivity(Landroid/content/ComponentName;)Landroid/content/pm/ShortcutInfo$Builder;"/>
+		<method name="setCategories(Ljava/util/Set;)Landroid/content/pm/ShortcutInfo$Builder;"/>
+		<method name="setDisabledMessage(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;"/>
+		<method name="setExtras(Landroid/os/PersistableBundle;)Landroid/content/pm/ShortcutInfo$Builder;"/>
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)Landroid/content/pm/ShortcutInfo$Builder;"/>
+		<method name="setIntent(Landroid/content/Intent;)Landroid/content/pm/ShortcutInfo$Builder;"/>
+		<method name="setIntents([Landroid/content/Intent;)Landroid/content/pm/ShortcutInfo$Builder;"/>
+		<method name="setLocusId(Landroid/content/LocusId;)Landroid/content/pm/ShortcutInfo$Builder;" since="29"/>
+		<method name="setLongLabel(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;"/>
+		<method name="setLongLived(Z)Landroid/content/pm/ShortcutInfo$Builder;" since="29"/>
+		<method name="setPerson(Landroid/app/Person;)Landroid/content/pm/ShortcutInfo$Builder;" since="29"/>
+		<method name="setPersons([Landroid/app/Person;)Landroid/content/pm/ShortcutInfo$Builder;" since="29"/>
+		<method name="setRank(I)Landroid/content/pm/ShortcutInfo$Builder;"/>
+		<method name="setShortLabel(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;"/>
+		<method name="setStartingTheme(I)Landroid/content/pm/ShortcutInfo$Builder;" since="31"/>
+	</class>
+	<class name="android/content/pm/ShortcutManager" since="25">
+		<extends name="java/lang/Object"/>
+		<method name="addDynamicShortcuts(Ljava/util/List;)Z"/>
+		<method name="createShortcutResultIntent(Landroid/content/pm/ShortcutInfo;)Landroid/content/Intent;" since="26"/>
+		<method name="disableShortcuts(Ljava/util/List;)V"/>
+		<method name="disableShortcuts(Ljava/util/List;Ljava/lang/CharSequence;)V"/>
+		<method name="enableShortcuts(Ljava/util/List;)V"/>
+		<method name="getDynamicShortcuts()Ljava/util/List;"/>
+		<method name="getIconMaxHeight()I"/>
+		<method name="getIconMaxWidth()I"/>
+		<method name="getManifestShortcuts()Ljava/util/List;"/>
+		<method name="getMaxShortcutCountPerActivity()I"/>
+		<method name="getPinnedShortcuts()Ljava/util/List;"/>
+		<method name="getShortcuts(I)Ljava/util/List;" since="30"/>
+		<method name="isRateLimitingActive()Z"/>
+		<method name="isRequestPinShortcutSupported()Z" since="26"/>
+		<method name="pushDynamicShortcut(Landroid/content/pm/ShortcutInfo;)V" since="30"/>
+		<method name="removeAllDynamicShortcuts()V"/>
+		<method name="removeDynamicShortcuts(Ljava/util/List;)V"/>
+		<method name="removeLongLivedShortcuts(Ljava/util/List;)V" since="30"/>
+		<method name="reportShortcutUsed(Ljava/lang/String;)V"/>
+		<method name="requestPinShortcut(Landroid/content/pm/ShortcutInfo;Landroid/content/IntentSender;)Z" since="26"/>
+		<method name="setDynamicShortcuts(Ljava/util/List;)Z"/>
+		<method name="updateShortcuts(Ljava/util/List;)Z"/>
+		<field name="FLAG_MATCH_CACHED" since="30"/>
+		<field name="FLAG_MATCH_DYNAMIC" since="30"/>
+		<field name="FLAG_MATCH_MANIFEST" since="30"/>
+		<field name="FLAG_MATCH_PINNED" since="30"/>
+	</class>
+	<class name="android/content/pm/Signature" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="toByteArray()[B"/>
+		<method name="toChars()[C"/>
+		<method name="toChars([C[I)[C"/>
+		<method name="toCharsString()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/SigningInfo" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/pm/SigningInfo;)V"/>
+		<method name="getApkContentsSigners()[Landroid/content/pm/Signature;"/>
+		<method name="getSigningCertificateHistory()[Landroid/content/pm/Signature;"/>
+		<method name="hasMultipleSigners()Z"/>
+		<method name="hasPastSigningCertificates()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/VersionedPackage" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;J)V" since="28"/>
+		<method name="getLongVersionCode()J" since="28"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getVersionCode()I" deprecated="28"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/pm/verify/domain/DomainVerificationManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getDomainVerificationUserState(Ljava/lang/String;)Landroid/content/pm/verify/domain/DomainVerificationUserState;"/>
+	</class>
+	<class name="android/content/pm/verify/domain/DomainVerificationUserState" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getHostToStateMap()Ljava/util/Map;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getUser()Landroid/os/UserHandle;"/>
+		<method name="isLinkHandlingAllowed()Z"/>
+		<field name="CREATOR"/>
+		<field name="DOMAIN_STATE_NONE"/>
+		<field name="DOMAIN_STATE_SELECTED"/>
+		<field name="DOMAIN_STATE_VERIFIED"/>
+	</class>
+	<class name="android/content/res/AssetFileDescriptor" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="3"/>
+		<implements name="java/io/Closeable" since="19"/>
+		<method name="&lt;init>(Landroid/os/ParcelFileDescriptor;JJ)V"/>
+		<method name="&lt;init>(Landroid/os/ParcelFileDescriptor;JJLandroid/os/Bundle;)V" since="19"/>
+		<method name="close()V"/>
+		<method name="createInputStream()Ljava/io/FileInputStream;" since="3"/>
+		<method name="createOutputStream()Ljava/io/FileOutputStream;" since="3"/>
+		<method name="getDeclaredLength()J" since="3"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="19"/>
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;"/>
+		<method name="getLength()J"/>
+		<method name="getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;"/>
+		<method name="getStartOffset()J"/>
+		<field name="CREATOR" since="3"/>
+		<field name="UNKNOWN_LENGTH" since="3"/>
+	</class>
+	<class name="android/content/res/AssetFileDescriptor$AutoCloseInputStream" since="3">
+		<extends name="android/os/ParcelFileDescriptor$AutoCloseInputStream"/>
+		<method name="&lt;init>(Landroid/content/res/AssetFileDescriptor;)V"/>
+	</class>
+	<class name="android/content/res/AssetFileDescriptor$AutoCloseOutputStream" since="3">
+		<extends name="android/os/ParcelFileDescriptor$AutoCloseOutputStream"/>
+		<method name="&lt;init>(Landroid/content/res/AssetFileDescriptor;)V"/>
+	</class>
+	<class name="android/content/res/AssetManager" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="21"/>
+		<method name="close()V"/>
+		<method name="getLocales()[Ljava/lang/String;"/>
+		<method name="list(Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="open(Ljava/lang/String;)Ljava/io/InputStream;"/>
+		<method name="open(Ljava/lang/String;I)Ljava/io/InputStream;"/>
+		<method name="openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;"/>
+		<method name="openNonAssetFd(ILjava/lang/String;)Landroid/content/res/AssetFileDescriptor;"/>
+		<method name="openNonAssetFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;"/>
+		<method name="openXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser;"/>
+		<method name="openXmlResourceParser(Ljava/lang/String;)Landroid/content/res/XmlResourceParser;"/>
+		<field name="ACCESS_BUFFER"/>
+		<field name="ACCESS_RANDOM"/>
+		<field name="ACCESS_STREAMING"/>
+		<field name="ACCESS_UNKNOWN"/>
+	</class>
+	<class name="android/content/res/AssetManager$AssetInputStream" since="1">
+		<extends name="java/io/InputStream"/>
+		<method name="getAssetInt()I" removed="21"/>
+	</class>
+	<class name="android/content/res/ColorStateList" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>([[I[I)V"/>
+		<method name="createFromXml(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;)Landroid/content/res/ColorStateList;" deprecated="23"/>
+		<method name="createFromXml(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;" since="23"/>
+		<method name="getChangingConfigurations()I" since="23"/>
+		<method name="getColorForState([II)I"/>
+		<method name="getDefaultColor()I"/>
+		<method name="isOpaque()Z" since="21"/>
+		<method name="isStateful()Z"/>
+		<method name="valueOf(I)Landroid/content/res/ColorStateList;"/>
+		<method name="withAlpha(I)Landroid/content/res/ColorStateList;"/>
+		<method name="withLStar(F)Landroid/content/res/ColorStateList;" since="31"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/content/res/Configuration" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/res/Configuration;)V"/>
+		<method name="compareTo(Landroid/content/res/Configuration;)I"/>
+		<method name="diff(Landroid/content/res/Configuration;)I"/>
+		<method name="equals(Landroid/content/res/Configuration;)Z"/>
+		<method name="getLayoutDirection()I" since="17"/>
+		<method name="getLocales()Landroid/os/LocaleList;" since="24"/>
+		<method name="isLayoutSizeAtLeast(I)Z" since="11"/>
+		<method name="isNightModeActive()Z" since="30"/>
+		<method name="isScreenHdr()Z" since="26"/>
+		<method name="isScreenRound()Z" since="23"/>
+		<method name="isScreenWideColorGamut()Z" since="26"/>
+		<method name="needNewResources(II)Z"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V" since="8"/>
+		<method name="setLayoutDirection(Ljava/util/Locale;)V" since="17"/>
+		<method name="setLocale(Ljava/util/Locale;)V" since="17"/>
+		<method name="setLocales(Landroid/os/LocaleList;)V" since="24"/>
+		<method name="setTo(Landroid/content/res/Configuration;)V" since="8"/>
+		<method name="setToDefaults()V"/>
+		<method name="updateFrom(Landroid/content/res/Configuration;)I"/>
+		<field name="COLOR_MODE_HDR_MASK" since="26"/>
+		<field name="COLOR_MODE_HDR_NO" since="26"/>
+		<field name="COLOR_MODE_HDR_SHIFT" since="26"/>
+		<field name="COLOR_MODE_HDR_UNDEFINED" since="26"/>
+		<field name="COLOR_MODE_HDR_YES" since="26"/>
+		<field name="COLOR_MODE_UNDEFINED" since="26"/>
+		<field name="COLOR_MODE_WIDE_COLOR_GAMUT_MASK" since="26"/>
+		<field name="COLOR_MODE_WIDE_COLOR_GAMUT_NO" since="26"/>
+		<field name="COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED" since="26"/>
+		<field name="COLOR_MODE_WIDE_COLOR_GAMUT_YES" since="26"/>
+		<field name="CREATOR"/>
+		<field name="DENSITY_DPI_UNDEFINED" since="17"/>
+		<field name="FONT_WEIGHT_ADJUSTMENT_UNDEFINED" since="31"/>
+		<field name="HARDKEYBOARDHIDDEN_NO" since="3"/>
+		<field name="HARDKEYBOARDHIDDEN_UNDEFINED" since="3"/>
+		<field name="HARDKEYBOARDHIDDEN_YES" since="3"/>
+		<field name="KEYBOARDHIDDEN_NO"/>
+		<field name="KEYBOARDHIDDEN_UNDEFINED"/>
+		<field name="KEYBOARDHIDDEN_YES"/>
+		<field name="KEYBOARD_12KEY"/>
+		<field name="KEYBOARD_NOKEYS"/>
+		<field name="KEYBOARD_QWERTY"/>
+		<field name="KEYBOARD_UNDEFINED"/>
+		<field name="MNC_ZERO" since="19"/>
+		<field name="NAVIGATIONHIDDEN_NO" since="5"/>
+		<field name="NAVIGATIONHIDDEN_UNDEFINED" since="5"/>
+		<field name="NAVIGATIONHIDDEN_YES" since="5"/>
+		<field name="NAVIGATION_DPAD"/>
+		<field name="NAVIGATION_NONAV"/>
+		<field name="NAVIGATION_TRACKBALL"/>
+		<field name="NAVIGATION_UNDEFINED"/>
+		<field name="NAVIGATION_WHEEL"/>
+		<field name="ORIENTATION_LANDSCAPE"/>
+		<field name="ORIENTATION_PORTRAIT"/>
+		<field name="ORIENTATION_SQUARE" deprecated="16"/>
+		<field name="ORIENTATION_UNDEFINED"/>
+		<field name="SCREENLAYOUT_LAYOUTDIR_LTR" since="17"/>
+		<field name="SCREENLAYOUT_LAYOUTDIR_MASK" since="17"/>
+		<field name="SCREENLAYOUT_LAYOUTDIR_RTL" since="17"/>
+		<field name="SCREENLAYOUT_LAYOUTDIR_SHIFT" since="17"/>
+		<field name="SCREENLAYOUT_LAYOUTDIR_UNDEFINED" since="17"/>
+		<field name="SCREENLAYOUT_LONG_MASK" since="4"/>
+		<field name="SCREENLAYOUT_LONG_NO" since="4"/>
+		<field name="SCREENLAYOUT_LONG_UNDEFINED" since="4"/>
+		<field name="SCREENLAYOUT_LONG_YES" since="4"/>
+		<field name="SCREENLAYOUT_ROUND_MASK" since="23"/>
+		<field name="SCREENLAYOUT_ROUND_NO" since="23"/>
+		<field name="SCREENLAYOUT_ROUND_UNDEFINED" since="23"/>
+		<field name="SCREENLAYOUT_ROUND_YES" since="23"/>
+		<field name="SCREENLAYOUT_SIZE_LARGE" since="4"/>
+		<field name="SCREENLAYOUT_SIZE_MASK" since="4"/>
+		<field name="SCREENLAYOUT_SIZE_NORMAL" since="4"/>
+		<field name="SCREENLAYOUT_SIZE_SMALL" since="4"/>
+		<field name="SCREENLAYOUT_SIZE_UNDEFINED" since="4"/>
+		<field name="SCREENLAYOUT_SIZE_XLARGE" since="9"/>
+		<field name="SCREENLAYOUT_UNDEFINED" since="17"/>
+		<field name="SCREEN_HEIGHT_DP_UNDEFINED" since="13"/>
+		<field name="SCREEN_WIDTH_DP_UNDEFINED" since="13"/>
+		<field name="SMALLEST_SCREEN_WIDTH_DP_UNDEFINED" since="13"/>
+		<field name="TOUCHSCREEN_FINGER"/>
+		<field name="TOUCHSCREEN_NOTOUCH"/>
+		<field name="TOUCHSCREEN_STYLUS" deprecated="16"/>
+		<field name="TOUCHSCREEN_UNDEFINED"/>
+		<field name="UI_MODE_NIGHT_MASK" since="8"/>
+		<field name="UI_MODE_NIGHT_NO" since="8"/>
+		<field name="UI_MODE_NIGHT_UNDEFINED" since="8"/>
+		<field name="UI_MODE_NIGHT_YES" since="8"/>
+		<field name="UI_MODE_TYPE_APPLIANCE" since="16"/>
+		<field name="UI_MODE_TYPE_CAR" since="8"/>
+		<field name="UI_MODE_TYPE_DESK" since="8"/>
+		<field name="UI_MODE_TYPE_MASK" since="8"/>
+		<field name="UI_MODE_TYPE_NORMAL" since="8"/>
+		<field name="UI_MODE_TYPE_TELEVISION" since="13"/>
+		<field name="UI_MODE_TYPE_UNDEFINED" since="8"/>
+		<field name="UI_MODE_TYPE_VR_HEADSET" since="26"/>
+		<field name="UI_MODE_TYPE_WATCH" since="20"/>
+		<field name="colorMode" since="26"/>
+		<field name="densityDpi" since="17"/>
+		<field name="fontScale"/>
+		<field name="fontWeightAdjustment" since="31"/>
+		<field name="hardKeyboardHidden" since="3"/>
+		<field name="keyboard"/>
+		<field name="keyboardHidden"/>
+		<field name="locale" deprecated="24"/>
+		<field name="mcc"/>
+		<field name="mnc"/>
+		<field name="navigation"/>
+		<field name="navigationHidden" since="5"/>
+		<field name="orientation"/>
+		<field name="screenHeightDp" since="13"/>
+		<field name="screenLayout" since="4"/>
+		<field name="screenWidthDp" since="13"/>
+		<field name="smallestScreenWidthDp" since="13"/>
+		<field name="touchscreen"/>
+		<field name="uiMode" since="8"/>
+	</class>
+	<class name="android/content/res/ObbInfo" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+		<field name="OBB_OVERLAY"/>
+		<field name="filename"/>
+		<field name="flags"/>
+		<field name="packageName"/>
+		<field name="version"/>
+	</class>
+	<class name="android/content/res/ObbScanner" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="getObbInfo(Ljava/lang/String;)Landroid/content/res/ObbInfo;"/>
+	</class>
+	<class name="android/content/res/Resources" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;)V" deprecated="25"/>
+		<method name="addLoaders([Landroid/content/res/loader/ResourcesLoader;)V" since="30"/>
+		<method name="finishPreloading()V"/>
+		<method name="flushLayoutCache()V"/>
+		<method name="getAnimation(I)Landroid/content/res/XmlResourceParser;"/>
+		<method name="getAssets()Landroid/content/res/AssetManager;"/>
+		<method name="getAttributeSetSourceResId(Landroid/util/AttributeSet;)I" since="29"/>
+		<method name="getBoolean(I)Z" since="3"/>
+		<method name="getColor(I)I" deprecated="23"/>
+		<method name="getColor(ILandroid/content/res/Resources$Theme;)I" since="23"/>
+		<method name="getColorStateList(I)Landroid/content/res/ColorStateList;" deprecated="23"/>
+		<method name="getColorStateList(ILandroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;" since="23"/>
+		<method name="getConfiguration()Landroid/content/res/Configuration;"/>
+		<method name="getDimension(I)F"/>
+		<method name="getDimensionPixelOffset(I)I"/>
+		<method name="getDimensionPixelSize(I)I"/>
+		<method name="getDisplayMetrics()Landroid/util/DisplayMetrics;"/>
+		<method name="getDrawable(I)Landroid/graphics/drawable/Drawable;" deprecated="22"/>
+		<method name="getDrawable(ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;" since="21"/>
+		<method name="getDrawableForDensity(II)Landroid/graphics/drawable/Drawable;" since="15" deprecated="22"/>
+		<method name="getDrawableForDensity(IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;" since="21"/>
+		<method name="getFloat(I)F" since="29"/>
+		<method name="getFont(I)Landroid/graphics/Typeface;" since="26"/>
+		<method name="getFraction(III)F" since="3"/>
+		<method name="getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="getIntArray(I)[I"/>
+		<method name="getInteger(I)I"/>
+		<method name="getLayout(I)Landroid/content/res/XmlResourceParser;"/>
+		<method name="getMovie(I)Landroid/graphics/Movie;" deprecated="29"/>
+		<method name="getQuantityString(II)Ljava/lang/String;"/>
+		<method name="getQuantityString(II[Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="getQuantityText(II)Ljava/lang/CharSequence;"/>
+		<method name="getResourceEntryName(I)Ljava/lang/String;"/>
+		<method name="getResourceName(I)Ljava/lang/String;"/>
+		<method name="getResourcePackageName(I)Ljava/lang/String;"/>
+		<method name="getResourceTypeName(I)Ljava/lang/String;"/>
+		<method name="getString(I)Ljava/lang/String;"/>
+		<method name="getString(I[Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="getStringArray(I)[Ljava/lang/String;"/>
+		<method name="getSystem()Landroid/content/res/Resources;"/>
+		<method name="getText(I)Ljava/lang/CharSequence;"/>
+		<method name="getText(ILjava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="getTextArray(I)[Ljava/lang/CharSequence;"/>
+		<method name="getValue(ILandroid/util/TypedValue;Z)V"/>
+		<method name="getValue(Ljava/lang/String;Landroid/util/TypedValue;Z)V"/>
+		<method name="getValueForDensity(IILandroid/util/TypedValue;Z)V" since="15"/>
+		<method name="getXml(I)Landroid/content/res/XmlResourceParser;"/>
+		<method name="newTheme()Landroid/content/res/Resources$Theme;"/>
+		<method name="obtainAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;"/>
+		<method name="obtainTypedArray(I)Landroid/content/res/TypedArray;"/>
+		<method name="openRawResource(I)Ljava/io/InputStream;"/>
+		<method name="openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream;" since="3"/>
+		<method name="openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;"/>
+		<method name="parseBundleExtra(Ljava/lang/String;Landroid/util/AttributeSet;Landroid/os/Bundle;)V" since="3"/>
+		<method name="parseBundleExtras(Landroid/content/res/XmlResourceParser;Landroid/os/Bundle;)V" since="3"/>
+		<method name="removeLoaders([Landroid/content/res/loader/ResourcesLoader;)V" since="30"/>
+		<method name="updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;)V" deprecated="25"/>
+		<field name="ID_NULL" since="29"/>
+	</class>
+	<class name="android/content/res/Resources$NotFoundException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Exception;)V" since="24"/>
+	</class>
+	<class name="android/content/res/Resources$Theme" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="applyStyle(IZ)V"/>
+		<method name="dump(ILjava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getAttributeResolutionStack(III)[I" since="29"/>
+		<method name="getChangingConfigurations()I" since="23"/>
+		<method name="getDrawable(I)Landroid/graphics/drawable/Drawable;" since="21"/>
+		<method name="getExplicitStyle(Landroid/util/AttributeSet;)I" since="29"/>
+		<method name="getResources()Landroid/content/res/Resources;" since="21"/>
+		<method name="obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;"/>
+		<method name="obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;"/>
+		<method name="obtainStyledAttributes([I)Landroid/content/res/TypedArray;"/>
+		<method name="rebase()V" since="29"/>
+		<method name="resolveAttribute(ILandroid/util/TypedValue;Z)Z"/>
+		<method name="setTo(Landroid/content/res/Resources$Theme;)V"/>
+	</class>
+	<class name="android/content/res/TypedArray" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="31"/>
+		<method name="getBoolean(IZ)Z"/>
+		<method name="getChangingConfigurations()I" since="21"/>
+		<method name="getColor(II)I"/>
+		<method name="getColorStateList(I)Landroid/content/res/ColorStateList;"/>
+		<method name="getDimension(IF)F"/>
+		<method name="getDimensionPixelOffset(II)I"/>
+		<method name="getDimensionPixelSize(II)I"/>
+		<method name="getDrawable(I)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getFloat(IF)F"/>
+		<method name="getFont(I)Landroid/graphics/Typeface;" since="26"/>
+		<method name="getFraction(IIIF)F"/>
+		<method name="getIndex(I)I"/>
+		<method name="getIndexCount()I"/>
+		<method name="getInt(II)I"/>
+		<method name="getInteger(II)I"/>
+		<method name="getLayoutDimension(II)I" since="3"/>
+		<method name="getLayoutDimension(ILjava/lang/String;)I"/>
+		<method name="getNonResourceString(I)Ljava/lang/String;"/>
+		<method name="getPositionDescription()Ljava/lang/String;"/>
+		<method name="getResourceId(II)I"/>
+		<method name="getResources()Landroid/content/res/Resources;"/>
+		<method name="getSourceResourceId(II)I" since="29"/>
+		<method name="getString(I)Ljava/lang/String;"/>
+		<method name="getText(I)Ljava/lang/CharSequence;"/>
+		<method name="getTextArray(I)[Ljava/lang/CharSequence;"/>
+		<method name="getType(I)I" since="21"/>
+		<method name="getValue(ILandroid/util/TypedValue;)Z"/>
+		<method name="hasValue(I)Z"/>
+		<method name="hasValueOrEmpty(I)Z" since="22"/>
+		<method name="length()I"/>
+		<method name="peekValue(I)Landroid/util/TypedValue;"/>
+		<method name="recycle()V"/>
+	</class>
+	<class name="android/content/res/XmlResourceParser" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/util/AttributeSet"/>
+		<implements name="java/lang/AutoCloseable" since="19"/>
+		<implements name="org/xmlpull/v1/XmlPullParser"/>
+		<method name="close()V"/>
+	</class>
+	<class name="android/content/res/loader/AssetsProvider" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="loadAssetFd(Ljava/lang/String;I)Landroid/content/res/AssetFileDescriptor;"/>
+	</class>
+	<class name="android/content/res/loader/ResourcesLoader" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addProvider(Landroid/content/res/loader/ResourcesProvider;)V"/>
+		<method name="clearProviders()V"/>
+		<method name="getProviders()Ljava/util/List;"/>
+		<method name="removeProvider(Landroid/content/res/loader/ResourcesProvider;)V"/>
+		<method name="setProviders(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/content/res/loader/ResourcesProvider" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="empty(Landroid/content/res/loader/AssetsProvider;)Landroid/content/res/loader/ResourcesProvider;"/>
+		<method name="loadFromApk(Landroid/os/ParcelFileDescriptor;)Landroid/content/res/loader/ResourcesProvider;"/>
+		<method name="loadFromApk(Landroid/os/ParcelFileDescriptor;Landroid/content/res/loader/AssetsProvider;)Landroid/content/res/loader/ResourcesProvider;"/>
+		<method name="loadFromDirectory(Ljava/lang/String;Landroid/content/res/loader/AssetsProvider;)Landroid/content/res/loader/ResourcesProvider;"/>
+		<method name="loadFromSplit(Landroid/content/Context;Ljava/lang/String;)Landroid/content/res/loader/ResourcesProvider;"/>
+		<method name="loadFromTable(Landroid/os/ParcelFileDescriptor;Landroid/content/res/loader/AssetsProvider;)Landroid/content/res/loader/ResourcesProvider;"/>
+	</class>
+	<class name="android/database/AbstractCursor" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/database/CrossProcessCursor"/>
+		<method name="&lt;init>()V"/>
+		<method name="checkPosition()V"/>
+		<method name="getNotificationUri()Landroid/net/Uri;" since="11"/>
+		<method name="getUpdatedField(I)Ljava/lang/Object;" deprecated="15"/>
+		<method name="isFieldUpdated(I)Z" deprecated="15"/>
+		<method name="onChange(Z)V"/>
+		<field name="mClosed" deprecated="23"/>
+		<field name="mContentResolver" deprecated="23"/>
+		<field name="mCurrentRowID" deprecated="16" removed="23"/>
+		<field name="mPos" deprecated="23"/>
+		<field name="mRowIdColumnIndex" deprecated="16" removed="23"/>
+		<field name="mUpdatedRows" deprecated="15" removed="23"/>
+	</class>
+	<class name="android/database/AbstractCursor$SelfContentObserver" since="1">
+		<extends name="android/database/ContentObserver"/>
+		<method name="&lt;init>(Landroid/database/AbstractCursor;)V"/>
+	</class>
+	<class name="android/database/AbstractWindowedCursor" since="1">
+		<extends name="android/database/AbstractCursor"/>
+		<method name="&lt;init>()V"/>
+		<method name="hasWindow()Z"/>
+		<method name="isBlob(I)Z" deprecated="15"/>
+		<method name="isFloat(I)Z" since="5" deprecated="15"/>
+		<method name="isLong(I)Z" since="5" deprecated="15"/>
+		<method name="isString(I)Z" since="5" deprecated="15"/>
+		<method name="setWindow(Landroid/database/CursorWindow;)V"/>
+		<field name="mWindow"/>
+	</class>
+	<class name="android/database/CharArrayBuffer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>([C)V"/>
+		<field name="data"/>
+		<field name="sizeCopied"/>
+	</class>
+	<class name="android/database/ContentObservable" since="1">
+		<extends name="android/database/Observable"/>
+		<method name="&lt;init>()V"/>
+		<method name="dispatchChange(Z)V" deprecated="16"/>
+		<method name="dispatchChange(ZLandroid/net/Uri;)V" since="16"/>
+		<method name="notifyChange(Z)V" deprecated="16"/>
+		<method name="registerObserver(Landroid/database/ContentObserver;)V"/>
+	</class>
+	<class name="android/database/ContentObserver" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/os/Handler;)V"/>
+		<method name="deliverSelfNotifications()Z"/>
+		<method name="dispatchChange(Z)V" deprecated="16"/>
+		<method name="dispatchChange(ZLandroid/net/Uri;)V" since="16"/>
+		<method name="dispatchChange(ZLandroid/net/Uri;I)V" since="30"/>
+		<method name="dispatchChange(ZLjava/util/Collection;I)V" since="30"/>
+		<method name="onChange(Z)V"/>
+		<method name="onChange(ZLandroid/net/Uri;)V" since="16"/>
+		<method name="onChange(ZLandroid/net/Uri;I)V" since="30"/>
+		<method name="onChange(ZLjava/util/Collection;I)V" since="30"/>
+	</class>
+	<class name="android/database/CrossProcessCursor" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/database/Cursor"/>
+		<method name="fillWindow(ILandroid/database/CursorWindow;)V"/>
+		<method name="getWindow()Landroid/database/CursorWindow;"/>
+		<method name="onMove(II)Z"/>
+	</class>
+	<class name="android/database/CrossProcessCursorWrapper" since="15">
+		<extends name="android/database/CursorWrapper"/>
+		<implements name="android/database/CrossProcessCursor"/>
+		<method name="&lt;init>(Landroid/database/Cursor;)V"/>
+	</class>
+	<class name="android/database/Cursor" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable" since="16"/>
+		<method name="close()V"/>
+		<method name="copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V"/>
+		<method name="deactivate()V" deprecated="16"/>
+		<method name="getBlob(I)[B"/>
+		<method name="getColumnCount()I"/>
+		<method name="getColumnIndex(Ljava/lang/String;)I"/>
+		<method name="getColumnIndexOrThrow(Ljava/lang/String;)I"/>
+		<method name="getColumnName(I)Ljava/lang/String;"/>
+		<method name="getColumnNames()[Ljava/lang/String;"/>
+		<method name="getCount()I"/>
+		<method name="getDouble(I)D"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getFloat(I)F"/>
+		<method name="getInt(I)I"/>
+		<method name="getLong(I)J"/>
+		<method name="getNotificationUri()Landroid/net/Uri;" since="19"/>
+		<method name="getNotificationUris()Ljava/util/List;" since="29"/>
+		<method name="getPosition()I"/>
+		<method name="getShort(I)S"/>
+		<method name="getString(I)Ljava/lang/String;"/>
+		<method name="getType(I)I" since="11"/>
+		<method name="getWantsAllOnMoveCalls()Z"/>
+		<method name="isAfterLast()Z"/>
+		<method name="isBeforeFirst()Z"/>
+		<method name="isClosed()Z"/>
+		<method name="isFirst()Z"/>
+		<method name="isLast()Z"/>
+		<method name="isNull(I)Z"/>
+		<method name="move(I)Z"/>
+		<method name="moveToFirst()Z"/>
+		<method name="moveToLast()Z"/>
+		<method name="moveToNext()Z"/>
+		<method name="moveToPosition(I)Z"/>
+		<method name="moveToPrevious()Z"/>
+		<method name="registerContentObserver(Landroid/database/ContentObserver;)V"/>
+		<method name="registerDataSetObserver(Landroid/database/DataSetObserver;)V"/>
+		<method name="requery()Z" deprecated="15"/>
+		<method name="respond(Landroid/os/Bundle;)Landroid/os/Bundle;"/>
+		<method name="setExtras(Landroid/os/Bundle;)V" since="23"/>
+		<method name="setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V"/>
+		<method name="setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;)V" since="29"/>
+		<method name="unregisterContentObserver(Landroid/database/ContentObserver;)V"/>
+		<method name="unregisterDataSetObserver(Landroid/database/DataSetObserver;)V"/>
+		<field name="FIELD_TYPE_BLOB" since="11"/>
+		<field name="FIELD_TYPE_FLOAT" since="11"/>
+		<field name="FIELD_TYPE_INTEGER" since="11"/>
+		<field name="FIELD_TYPE_NULL" since="11"/>
+		<field name="FIELD_TYPE_STRING" since="11"/>
+	</class>
+	<class name="android/database/CursorIndexOutOfBoundsException" since="1">
+		<extends name="java/lang/IndexOutOfBoundsException"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/CursorJoiner" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Iterable"/>
+		<implements name="java/util/Iterator"/>
+		<method name="&lt;init>(Landroid/database/Cursor;[Ljava/lang/String;Landroid/database/Cursor;[Ljava/lang/String;)V"/>
+		<method name="next()Landroid/database/CursorJoiner$Result;"/>
+	</class>
+	<class name="android/database/CursorJoiner$Result" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/database/CursorJoiner$Result;"/>
+		<method name="values()[Landroid/database/CursorJoiner$Result;"/>
+		<field name="BOTH"/>
+		<field name="LEFT"/>
+		<field name="RIGHT"/>
+	</class>
+	<class name="android/database/CursorWindow" since="1">
+		<extends name="android/database/sqlite/SQLiteClosable"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" since="15"/>
+		<method name="&lt;init>(Ljava/lang/String;J)V" since="28"/>
+		<method name="&lt;init>(Z)V" deprecated="15"/>
+		<method name="allocRow()Z"/>
+		<method name="clear()V"/>
+		<method name="close()V" removed="16"/>
+		<method name="copyStringToBuffer(IILandroid/database/CharArrayBuffer;)V"/>
+		<method name="freeLastRow()V"/>
+		<method name="getBlob(II)[B"/>
+		<method name="getDouble(II)D"/>
+		<method name="getFloat(II)F"/>
+		<method name="getInt(II)I"/>
+		<method name="getLong(II)J"/>
+		<method name="getNumRows()I"/>
+		<method name="getShort(II)S"/>
+		<method name="getStartPosition()I"/>
+		<method name="getString(II)Ljava/lang/String;"/>
+		<method name="getType(II)I" since="11"/>
+		<method name="isBlob(II)Z" deprecated="15"/>
+		<method name="isFloat(II)Z" since="5" deprecated="15"/>
+		<method name="isLong(II)Z" since="5" deprecated="15"/>
+		<method name="isNull(II)Z" deprecated="15"/>
+		<method name="isString(II)Z" since="5" deprecated="15"/>
+		<method name="newFromParcel(Landroid/os/Parcel;)Landroid/database/CursorWindow;"/>
+		<method name="putBlob([BII)Z"/>
+		<method name="putDouble(DII)Z"/>
+		<method name="putLong(JII)Z"/>
+		<method name="putNull(II)Z"/>
+		<method name="putString(Ljava/lang/String;II)Z"/>
+		<method name="setNumColumns(I)Z"/>
+		<method name="setStartPosition(I)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/database/CursorWrapper" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/database/Cursor"/>
+		<method name="&lt;init>(Landroid/database/Cursor;)V"/>
+		<method name="getWrappedCursor()Landroid/database/Cursor;" since="11"/>
+	</class>
+	<class name="android/database/DataSetObservable" since="1">
+		<extends name="android/database/Observable"/>
+		<method name="&lt;init>()V"/>
+		<method name="notifyChanged()V"/>
+		<method name="notifyInvalidated()V"/>
+	</class>
+	<class name="android/database/DataSetObserver" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onChanged()V"/>
+		<method name="onInvalidated()V"/>
+	</class>
+	<class name="android/database/DatabaseErrorHandler" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onCorruption(Landroid/database/sqlite/SQLiteDatabase;)V"/>
+	</class>
+	<class name="android/database/DatabaseUtils" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V"/>
+		<method name="appendSelectionArgs([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;" since="11"/>
+		<method name="appendValueToSql(Ljava/lang/StringBuilder;Ljava/lang/Object;)V"/>
+		<method name="bindObjectToProgram(Landroid/database/sqlite/SQLiteProgram;ILjava/lang/Object;)V"/>
+		<method name="blobFileDescriptorForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;" since="11"/>
+		<method name="blobFileDescriptorForQuery(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;" since="11"/>
+		<method name="concatenateWhere(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="11"/>
+		<method name="createDbFromSqlStatements(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="cursorDoubleToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V"/>
+		<method name="cursorDoubleToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8"/>
+		<method name="cursorDoubleToCursorValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V"/>
+		<method name="cursorFloatToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8"/>
+		<method name="cursorIntToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V"/>
+		<method name="cursorIntToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V"/>
+		<method name="cursorIntToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8"/>
+		<method name="cursorLongToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V"/>
+		<method name="cursorLongToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V"/>
+		<method name="cursorLongToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8"/>
+		<method name="cursorRowToContentValues(Landroid/database/Cursor;Landroid/content/ContentValues;)V"/>
+		<method name="cursorShortToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8"/>
+		<method name="cursorStringToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;)V"/>
+		<method name="cursorStringToContentValues(Landroid/database/Cursor;Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;)V"/>
+		<method name="cursorStringToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V" since="8"/>
+		<method name="cursorStringToInsertHelper(Landroid/database/Cursor;Ljava/lang/String;Landroid/database/DatabaseUtils$InsertHelper;I)V"/>
+		<method name="dumpCurrentRow(Landroid/database/Cursor;)V"/>
+		<method name="dumpCurrentRow(Landroid/database/Cursor;Ljava/io/PrintStream;)V"/>
+		<method name="dumpCurrentRow(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V"/>
+		<method name="dumpCurrentRowToString(Landroid/database/Cursor;)Ljava/lang/String;"/>
+		<method name="dumpCursor(Landroid/database/Cursor;)V"/>
+		<method name="dumpCursor(Landroid/database/Cursor;Ljava/io/PrintStream;)V"/>
+		<method name="dumpCursor(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V"/>
+		<method name="dumpCursorToString(Landroid/database/Cursor;)Ljava/lang/String;"/>
+		<method name="getCollationKey(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getHexCollationKey(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getSqlStatementType(Ljava/lang/String;)I" since="11"/>
+		<method name="longForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)J"/>
+		<method name="longForQuery(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)J"/>
+		<method name="queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)J"/>
+		<method name="queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;)J" since="11"/>
+		<method name="queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J" since="11"/>
+		<method name="readExceptionFromParcel(Landroid/os/Parcel;)V"/>
+		<method name="readExceptionWithFileNotFoundExceptionFromParcel(Landroid/os/Parcel;)V"/>
+		<method name="readExceptionWithOperationApplicationExceptionFromParcel(Landroid/os/Parcel;)V" since="5"/>
+		<method name="sqlEscapeString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="stringForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="stringForQuery(Landroid/database/sqlite/SQLiteStatement;[Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="writeExceptionToParcel(Landroid/os/Parcel;Ljava/lang/Exception;)V"/>
+		<field name="STATEMENT_ABORT" since="11"/>
+		<field name="STATEMENT_ATTACH" since="11"/>
+		<field name="STATEMENT_BEGIN" since="11"/>
+		<field name="STATEMENT_COMMIT" since="11"/>
+		<field name="STATEMENT_DDL" since="11"/>
+		<field name="STATEMENT_OTHER" since="11"/>
+		<field name="STATEMENT_PRAGMA" since="11"/>
+		<field name="STATEMENT_SELECT" since="11"/>
+		<field name="STATEMENT_UNPREPARED" since="11"/>
+		<field name="STATEMENT_UPDATE" since="11"/>
+	</class>
+	<class name="android/database/DatabaseUtils$InsertHelper" since="1" deprecated="17">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)V" deprecated="29"/>
+		<method name="bind(ID)V" deprecated="29"/>
+		<method name="bind(IF)V" deprecated="29"/>
+		<method name="bind(II)V" deprecated="29"/>
+		<method name="bind(IJ)V" deprecated="29"/>
+		<method name="bind(ILjava/lang/String;)V" deprecated="29"/>
+		<method name="bind(IZ)V" deprecated="29"/>
+		<method name="bind(I[B)V" deprecated="29"/>
+		<method name="bindNull(I)V" deprecated="29"/>
+		<method name="close()V" deprecated="29"/>
+		<method name="execute()J" deprecated="29"/>
+		<method name="getColumnIndex(Ljava/lang/String;)I" deprecated="29"/>
+		<method name="insert(Landroid/content/ContentValues;)J" deprecated="29"/>
+		<method name="prepareForInsert()V" deprecated="29"/>
+		<method name="prepareForReplace()V" deprecated="29"/>
+		<method name="replace(Landroid/content/ContentValues;)J" deprecated="29"/>
+		<field name="TABLE_INFO_PRAGMA_DEFAULT_INDEX" removed="17"/>
+	</class>
+	<class name="android/database/DefaultDatabaseErrorHandler" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/database/DatabaseErrorHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/database/MatrixCursor" since="1">
+		<extends name="android/database/AbstractCursor"/>
+		<method name="&lt;init>([Ljava/lang/String;)V"/>
+		<method name="&lt;init>([Ljava/lang/String;I)V"/>
+		<method name="addRow(Ljava/lang/Iterable;)V"/>
+		<method name="addRow([Ljava/lang/Object;)V"/>
+		<method name="newRow()Landroid/database/MatrixCursor$RowBuilder;"/>
+	</class>
+	<class name="android/database/MatrixCursor$RowBuilder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="add(Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;"/>
+		<method name="add(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;" since="19"/>
+	</class>
+	<class name="android/database/MergeCursor" since="1">
+		<extends name="android/database/AbstractCursor"/>
+		<method name="&lt;init>([Landroid/database/Cursor;)V"/>
+	</class>
+	<class name="android/database/Observable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="registerObserver(Ljava/lang/Object;)V"/>
+		<method name="unregisterAll()V"/>
+		<method name="unregisterObserver(Ljava/lang/Object;)V"/>
+		<field name="mObservers"/>
+	</class>
+	<class name="android/database/SQLException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="16"/>
+	</class>
+	<class name="android/database/StaleDataException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteAbortException" since="1">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteAccessPermException" since="11">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteBindOrColumnIndexOutOfRangeException" since="11">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteBlobTooBigException" since="11">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteCantOpenDatabaseException" since="11">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteClosable" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable" since="16"/>
+		<method name="&lt;init>()V"/>
+		<method name="acquireReference()V"/>
+		<method name="onAllReferencesReleased()V"/>
+		<method name="onAllReferencesReleasedFromContainer()V" deprecated="16"/>
+		<method name="releaseReference()V"/>
+		<method name="releaseReferenceFromContainer()V" deprecated="16"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteConstraintException" since="1">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteCursor" since="1">
+		<extends name="android/database/AbstractWindowedCursor"/>
+		<method name="&lt;init>(Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)V" since="11"/>
+		<method name="&lt;init>(Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)V" deprecated="15"/>
+		<method name="getDatabase()Landroid/database/sqlite/SQLiteDatabase;"/>
+		<method name="setFillWindowForwardOnly(Z)V" since="28"/>
+		<method name="setSelectionArguments([Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteCursorDriver" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="cursorClosed()V"/>
+		<method name="cursorDeactivated()V"/>
+		<method name="cursorRequeried(Landroid/database/Cursor;)V"/>
+		<method name="query(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;[Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="setBindArguments([Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabase" since="1">
+		<extends name="android/database/sqlite/SQLiteClosable"/>
+		<method name="beginTransaction()V"/>
+		<method name="beginTransactionNonExclusive()V" since="11"/>
+		<method name="beginTransactionWithListener(Landroid/database/sqlite/SQLiteTransactionListener;)V" since="5"/>
+		<method name="beginTransactionWithListenerNonExclusive(Landroid/database/sqlite/SQLiteTransactionListener;)V" since="11"/>
+		<method name="close()V" removed="16"/>
+		<method name="compileStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;"/>
+		<method name="create(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;"/>
+		<method name="createInMemory(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;" since="27"/>
+		<method name="delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I"/>
+		<method name="deleteDatabase(Ljava/io/File;)Z" since="16"/>
+		<method name="disableWriteAheadLogging()V" since="16"/>
+		<method name="enableWriteAheadLogging()Z" since="11"/>
+		<method name="endTransaction()V"/>
+		<method name="execPerConnectionSQL(Ljava/lang/String;[Ljava/lang/Object;)V" since="30"/>
+		<method name="execSQL(Ljava/lang/String;)V"/>
+		<method name="execSQL(Ljava/lang/String;[Ljava/lang/Object;)V"/>
+		<method name="findEditTable(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getAttachedDbs()Ljava/util/List;" since="11"/>
+		<method name="getMaximumSize()J"/>
+		<method name="getPageSize()J"/>
+		<method name="getPath()Ljava/lang/String;"/>
+		<method name="getSyncedTables()Ljava/util/Map;" deprecated="15"/>
+		<method name="getVersion()I"/>
+		<method name="inTransaction()Z"/>
+		<method name="insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J"/>
+		<method name="insertOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J"/>
+		<method name="insertWithOnConflict(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;I)J" since="8"/>
+		<method name="isDatabaseIntegrityOk()Z" since="11"/>
+		<method name="isDbLockedByCurrentThread()Z"/>
+		<method name="isDbLockedByOtherThreads()Z" deprecated="16"/>
+		<method name="isOpen()Z"/>
+		<method name="isReadOnly()Z"/>
+		<method name="isWriteAheadLoggingEnabled()Z" since="16"/>
+		<method name="markTableSyncable(Ljava/lang/String;Ljava/lang/String;)V" deprecated="15"/>
+		<method name="markTableSyncable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="15"/>
+		<method name="needUpgrade(I)Z"/>
+		<method name="openDatabase(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$OpenParams;)Landroid/database/sqlite/SQLiteDatabase;" since="27"/>
+		<method name="openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;"/>
+		<method name="openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;" since="11"/>
+		<method name="openOrCreateDatabase(Ljava/io/File;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;"/>
+		<method name="openOrCreateDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;"/>
+		<method name="openOrCreateDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;" since="11"/>
+		<method name="query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="query(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16"/>
+		<method name="queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16"/>
+		<method name="rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="rawQuery(Ljava/lang/String;[Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16"/>
+		<method name="rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="rawQueryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16"/>
+		<method name="releaseMemory()I"/>
+		<method name="replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J"/>
+		<method name="replaceOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J"/>
+		<method name="setCustomAggregateFunction(Ljava/lang/String;Ljava/util/function/BinaryOperator;)V" since="30"/>
+		<method name="setCustomScalarFunction(Ljava/lang/String;Ljava/util/function/UnaryOperator;)V" since="30"/>
+		<method name="setForeignKeyConstraintsEnabled(Z)V" since="16"/>
+		<method name="setLocale(Ljava/util/Locale;)V"/>
+		<method name="setLockingEnabled(Z)V" deprecated="16"/>
+		<method name="setMaxSqlCacheSize(I)V" since="11"/>
+		<method name="setMaximumSize(J)J"/>
+		<method name="setPageSize(J)V"/>
+		<method name="setTransactionSuccessful()V"/>
+		<method name="setVersion(I)V"/>
+		<method name="update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I"/>
+		<method name="updateWithOnConflict(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;I)I" since="8"/>
+		<method name="validateSql(Ljava/lang/String;Landroid/os/CancellationSignal;)V" since="24"/>
+		<method name="yieldIfContended()Z" deprecated="15"/>
+		<method name="yieldIfContendedSafely()Z" since="3"/>
+		<method name="yieldIfContendedSafely(J)Z" since="5"/>
+		<field name="CONFLICT_ABORT" since="8"/>
+		<field name="CONFLICT_FAIL" since="8"/>
+		<field name="CONFLICT_IGNORE" since="8"/>
+		<field name="CONFLICT_NONE" since="8"/>
+		<field name="CONFLICT_REPLACE" since="8"/>
+		<field name="CONFLICT_ROLLBACK" since="8"/>
+		<field name="CREATE_IF_NECESSARY"/>
+		<field name="ENABLE_WRITE_AHEAD_LOGGING" since="16"/>
+		<field name="MAX_SQL_CACHE_SIZE" since="11"/>
+		<field name="NO_LOCALIZED_COLLATORS"/>
+		<field name="OPEN_READONLY"/>
+		<field name="OPEN_READWRITE"/>
+		<field name="SQLITE_MAX_LIKE_PATTERN_LENGTH"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabase$CursorFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="newCursor(Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)Landroid/database/Cursor;"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabase$OpenParams" since="27">
+		<extends name="java/lang/Object"/>
+		<method name="getCursorFactory()Landroid/database/sqlite/SQLiteDatabase$CursorFactory;"/>
+		<method name="getErrorHandler()Landroid/database/DatabaseErrorHandler;"/>
+		<method name="getIdleConnectionTimeout()J"/>
+		<method name="getJournalMode()Ljava/lang/String;" since="28"/>
+		<method name="getLookasideSlotCount()I"/>
+		<method name="getLookasideSlotSize()I"/>
+		<method name="getOpenFlags()I"/>
+		<method name="getSynchronousMode()Ljava/lang/String;" since="28"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabase$OpenParams$Builder" since="27">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V"/>
+		<method name="addOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;"/>
+		<method name="build()Landroid/database/sqlite/SQLiteDatabase$OpenParams;"/>
+		<method name="removeOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;"/>
+		<method name="setCursorFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;"/>
+		<method name="setErrorHandler(Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;"/>
+		<method name="setIdleConnectionTimeout(J)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" deprecated="29"/>
+		<method name="setJournalMode(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" since="28"/>
+		<method name="setLookasideConfig(II)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;"/>
+		<method name="setOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;"/>
+		<method name="setSynchronousMode(Ljava/lang/String;)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;" since="28"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabaseCorruptException" since="1">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteDatabaseLockedException" since="11">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteDatatypeMismatchException" since="11">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteDiskIOException" since="1">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteDoneException" since="1">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteException" since="1">
+		<extends name="android/database/SQLException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="16"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteFullException" since="1">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteMisuseException" since="1">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteOpenHelper" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$OpenParams;)V" since="28"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)V" since="11"/>
+		<method name="close()V"/>
+		<method name="getDatabaseName()Ljava/lang/String;" since="14"/>
+		<method name="getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;"/>
+		<method name="getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;"/>
+		<method name="onConfigure(Landroid/database/sqlite/SQLiteDatabase;)V" since="16"/>
+		<method name="onCreate(Landroid/database/sqlite/SQLiteDatabase;)V"/>
+		<method name="onDowngrade(Landroid/database/sqlite/SQLiteDatabase;II)V" since="11"/>
+		<method name="onOpen(Landroid/database/sqlite/SQLiteDatabase;)V"/>
+		<method name="onUpgrade(Landroid/database/sqlite/SQLiteDatabase;II)V"/>
+		<method name="setIdleConnectionTimeout(J)V" since="27" deprecated="29"/>
+		<method name="setLookasideConfig(II)V" since="27"/>
+		<method name="setOpenParams(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V" since="28"/>
+		<method name="setWriteAheadLoggingEnabled(Z)V" since="16"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteOutOfMemoryException" since="11">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteProgram" since="1">
+		<extends name="android/database/sqlite/SQLiteClosable"/>
+		<method name="bindAllArgsAsStrings([Ljava/lang/String;)V" since="11"/>
+		<method name="bindBlob(I[B)V"/>
+		<method name="bindDouble(ID)V"/>
+		<method name="bindLong(IJ)V"/>
+		<method name="bindNull(I)V"/>
+		<method name="bindString(ILjava/lang/String;)V"/>
+		<method name="clearBindings()V"/>
+		<method name="close()V" removed="16"/>
+		<method name="compile(Ljava/lang/String;Z)V" deprecated="15" removed="16"/>
+		<method name="getUniqueId()I" deprecated="15"/>
+		<method name="native_bind_blob(I[B)V" removed="16"/>
+		<method name="native_bind_double(ID)V" removed="16"/>
+		<method name="native_bind_long(IJ)V" removed="16"/>
+		<method name="native_bind_null(I)V" removed="16"/>
+		<method name="native_bind_string(ILjava/lang/String;)V" removed="16"/>
+		<method name="native_compile(Ljava/lang/String;)V" deprecated="15" removed="16"/>
+		<method name="native_finalize()V" deprecated="15" removed="16"/>
+		<field name="mDatabase" deprecated="15" removed="16"/>
+		<field name="nHandle" deprecated="15" removed="16"/>
+		<field name="nStatement" deprecated="15" removed="16"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteQuery" since="1">
+		<extends name="android/database/sqlite/SQLiteProgram"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteQueryBuilder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="appendColumns(Ljava/lang/StringBuilder;[Ljava/lang/String;)V"/>
+		<method name="appendWhere(Ljava/lang/CharSequence;)V"/>
+		<method name="appendWhereEscapeString(Ljava/lang/String;)V"/>
+		<method name="appendWhereStandalone(Ljava/lang/CharSequence;)V" since="29"/>
+		<method name="buildQuery([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="11"/>
+		<method name="buildQuery([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="15"/>
+		<method name="buildQueryString(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="buildUnionQuery([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="buildUnionSubQuery(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Set;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="11"/>
+		<method name="buildUnionSubQuery(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Set;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="15"/>
+		<method name="delete(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)I" since="29"/>
+		<method name="getCursorFactory()Landroid/database/sqlite/SQLiteDatabase$CursorFactory;" since="29"/>
+		<method name="getProjectionGreylist()Ljava/util/Collection;" since="30"/>
+		<method name="getProjectionMap()Ljava/util/Map;" since="29"/>
+		<method name="getTables()Ljava/lang/String;"/>
+		<method name="insert(Landroid/database/sqlite/SQLiteDatabase;Landroid/content/ContentValues;)J" since="30"/>
+		<method name="isDistinct()Z" since="29"/>
+		<method name="isStrict()Z" since="29"/>
+		<method name="isStrictColumns()Z" since="30"/>
+		<method name="isStrictGrammar()Z" since="30"/>
+		<method name="query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="query(Landroid/database/sqlite/SQLiteDatabase;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="16"/>
+		<method name="setCursorFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;)V"/>
+		<method name="setDistinct(Z)V"/>
+		<method name="setProjectionGreylist(Ljava/util/Collection;)V" since="30"/>
+		<method name="setProjectionMap(Ljava/util/Map;)V"/>
+		<method name="setStrict(Z)V" since="14"/>
+		<method name="setStrictColumns(Z)V" since="30"/>
+		<method name="setStrictGrammar(Z)V" since="30"/>
+		<method name="setTables(Ljava/lang/String;)V"/>
+		<method name="update(Landroid/database/sqlite/SQLiteDatabase;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I" since="29"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteReadOnlyDatabaseException" since="11">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteStatement" since="1">
+		<extends name="android/database/sqlite/SQLiteProgram"/>
+		<method name="execute()V"/>
+		<method name="executeInsert()J"/>
+		<method name="executeUpdateDelete()I" since="11"/>
+		<method name="simpleQueryForBlobFileDescriptor()Landroid/os/ParcelFileDescriptor;" since="11"/>
+		<method name="simpleQueryForLong()J"/>
+		<method name="simpleQueryForString()Ljava/lang/String;"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteTableLockedException" since="11">
+		<extends name="android/database/sqlite/SQLiteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/database/sqlite/SQLiteTransactionListener" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="onBegin()V"/>
+		<method name="onCommit()V"/>
+		<method name="onRollback()V"/>
+	</class>
+	<class name="android/drm/DrmConvertedStatus" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I[BI)V" deprecated="30"/>
+		<field name="STATUS_ERROR" deprecated="30"/>
+		<field name="STATUS_INPUTDATA_ERROR" deprecated="30"/>
+		<field name="STATUS_OK" deprecated="30"/>
+		<field name="convertedData" deprecated="30"/>
+		<field name="offset" deprecated="30"/>
+		<field name="statusCode" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmErrorEvent" since="11" deprecated="30">
+		<extends name="android/drm/DrmEvent"/>
+		<method name="&lt;init>(IILjava/lang/String;)V" deprecated="30"/>
+		<method name="&lt;init>(IILjava/lang/String;Ljava/util/HashMap;)V" since="12" deprecated="30"/>
+		<field name="TYPE_ACQUIRE_DRM_INFO_FAILED" since="12" deprecated="30"/>
+		<field name="TYPE_NOT_SUPPORTED" deprecated="30"/>
+		<field name="TYPE_NO_INTERNET_CONNECTION" deprecated="30"/>
+		<field name="TYPE_OUT_OF_MEMORY" deprecated="30"/>
+		<field name="TYPE_PROCESS_DRM_INFO_FAILED" deprecated="30"/>
+		<field name="TYPE_REMOVE_ALL_RIGHTS_FAILED" deprecated="30"/>
+		<field name="TYPE_RIGHTS_NOT_INSTALLED" deprecated="30"/>
+		<field name="TYPE_RIGHTS_RENEWAL_NOT_ALLOWED" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmEvent" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IILjava/lang/String;)V" deprecated="30"/>
+		<method name="&lt;init>(IILjava/lang/String;Ljava/util/HashMap;)V" since="12" deprecated="30"/>
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/Object;" since="12" deprecated="30"/>
+		<method name="getMessage()Ljava/lang/String;" deprecated="30"/>
+		<method name="getType()I" deprecated="30"/>
+		<method name="getUniqueId()I" deprecated="30"/>
+		<field name="DRM_INFO_OBJECT" since="12" deprecated="30"/>
+		<field name="DRM_INFO_STATUS_OBJECT" deprecated="30"/>
+		<field name="TYPE_ALL_RIGHTS_REMOVED" deprecated="30"/>
+		<field name="TYPE_DRM_INFO_PROCESSED" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmInfo" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILjava/lang/String;Ljava/lang/String;)V" deprecated="30"/>
+		<method name="&lt;init>(I[BLjava/lang/String;)V" deprecated="30"/>
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;" deprecated="30"/>
+		<method name="getData()[B" deprecated="30"/>
+		<method name="getInfoType()I" deprecated="30"/>
+		<method name="getMimeType()Ljava/lang/String;" deprecated="30"/>
+		<method name="iterator()Ljava/util/Iterator;" deprecated="30"/>
+		<method name="keyIterator()Ljava/util/Iterator;" deprecated="30"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Object;)V" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmInfoEvent" since="11" deprecated="30">
+		<extends name="android/drm/DrmEvent"/>
+		<method name="&lt;init>(IILjava/lang/String;)V" deprecated="30"/>
+		<method name="&lt;init>(IILjava/lang/String;Ljava/util/HashMap;)V" since="12" deprecated="30"/>
+		<field name="TYPE_ACCOUNT_ALREADY_REGISTERED" deprecated="30"/>
+		<field name="TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT" deprecated="30"/>
+		<field name="TYPE_REMOVE_RIGHTS" deprecated="30"/>
+		<field name="TYPE_RIGHTS_INSTALLED" deprecated="30"/>
+		<field name="TYPE_RIGHTS_REMOVED" since="12" deprecated="30"/>
+		<field name="TYPE_WAIT_FOR_RIGHTS" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmInfoRequest" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILjava/lang/String;)V" deprecated="30"/>
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;" deprecated="30"/>
+		<method name="getInfoType()I" deprecated="30"/>
+		<method name="getMimeType()Ljava/lang/String;" deprecated="30"/>
+		<method name="iterator()Ljava/util/Iterator;" deprecated="30"/>
+		<method name="keyIterator()Ljava/util/Iterator;" deprecated="30"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Object;)V" deprecated="30"/>
+		<field name="ACCOUNT_ID" deprecated="30"/>
+		<field name="SUBSCRIPTION_ID" deprecated="30"/>
+		<field name="TYPE_REGISTRATION_INFO" deprecated="30"/>
+		<field name="TYPE_RIGHTS_ACQUISITION_INFO" deprecated="30"/>
+		<field name="TYPE_RIGHTS_ACQUISITION_PROGRESS_INFO" deprecated="30"/>
+		<field name="TYPE_UNREGISTRATION_INFO" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmInfoStatus" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IILandroid/drm/ProcessedData;Ljava/lang/String;)V" deprecated="30"/>
+		<field name="STATUS_ERROR" deprecated="30"/>
+		<field name="STATUS_OK" deprecated="30"/>
+		<field name="data" deprecated="30"/>
+		<field name="infoType" deprecated="30"/>
+		<field name="mimeType" deprecated="30"/>
+		<field name="statusCode" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmManagerClient" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="24"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="30"/>
+		<method name="acquireDrmInfo(Landroid/drm/DrmInfoRequest;)Landroid/drm/DrmInfo;" deprecated="30"/>
+		<method name="acquireRights(Landroid/drm/DrmInfoRequest;)I" deprecated="30"/>
+		<method name="canHandle(Landroid/net/Uri;Ljava/lang/String;)Z" deprecated="30"/>
+		<method name="canHandle(Ljava/lang/String;Ljava/lang/String;)Z" deprecated="30"/>
+		<method name="checkRightsStatus(Landroid/net/Uri;)I" deprecated="30"/>
+		<method name="checkRightsStatus(Landroid/net/Uri;I)I" deprecated="30"/>
+		<method name="checkRightsStatus(Ljava/lang/String;)I" deprecated="30"/>
+		<method name="checkRightsStatus(Ljava/lang/String;I)I" deprecated="30"/>
+		<method name="closeConvertSession(I)Landroid/drm/DrmConvertedStatus;" deprecated="30"/>
+		<method name="convertData(I[B)Landroid/drm/DrmConvertedStatus;" deprecated="30"/>
+		<method name="getAvailableDrmEngines()[Ljava/lang/String;" deprecated="30"/>
+		<method name="getAvailableDrmSupportInfo()Ljava/util/Collection;" since="30" deprecated="30"/>
+		<method name="getConstraints(Landroid/net/Uri;I)Landroid/content/ContentValues;" deprecated="30"/>
+		<method name="getConstraints(Ljava/lang/String;I)Landroid/content/ContentValues;" deprecated="30"/>
+		<method name="getDrmObjectType(Landroid/net/Uri;Ljava/lang/String;)I" deprecated="30"/>
+		<method name="getDrmObjectType(Ljava/lang/String;Ljava/lang/String;)I" deprecated="30"/>
+		<method name="getMetadata(Landroid/net/Uri;)Landroid/content/ContentValues;" deprecated="30"/>
+		<method name="getMetadata(Ljava/lang/String;)Landroid/content/ContentValues;" deprecated="30"/>
+		<method name="getOriginalMimeType(Landroid/net/Uri;)Ljava/lang/String;" deprecated="30"/>
+		<method name="getOriginalMimeType(Ljava/lang/String;)Ljava/lang/String;" deprecated="30"/>
+		<method name="openConvertSession(Ljava/lang/String;)I" deprecated="30"/>
+		<method name="processDrmInfo(Landroid/drm/DrmInfo;)I" deprecated="30"/>
+		<method name="release()V" since="16" deprecated="24"/>
+		<method name="removeAllRights()I" deprecated="30"/>
+		<method name="removeRights(Landroid/net/Uri;)I" deprecated="30"/>
+		<method name="removeRights(Ljava/lang/String;)I" deprecated="30"/>
+		<method name="saveRights(Landroid/drm/DrmRights;Ljava/lang/String;Ljava/lang/String;)I" deprecated="30"/>
+		<method name="setOnErrorListener(Landroid/drm/DrmManagerClient$OnErrorListener;)V" deprecated="30"/>
+		<method name="setOnEventListener(Landroid/drm/DrmManagerClient$OnEventListener;)V" deprecated="30"/>
+		<method name="setOnInfoListener(Landroid/drm/DrmManagerClient$OnInfoListener;)V" deprecated="30"/>
+		<field name="ERROR_NONE" deprecated="30"/>
+		<field name="ERROR_UNKNOWN" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmManagerClient$OnErrorListener" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="onError(Landroid/drm/DrmManagerClient;Landroid/drm/DrmErrorEvent;)V" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmManagerClient$OnEventListener" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="onEvent(Landroid/drm/DrmManagerClient;Landroid/drm/DrmEvent;)V" since="12" deprecated="30"/>
+		<method name="onEvent(Landroid/drm/DrmManagerClient;Landroid/drm/DrmEvent;Ljava/util/HashMap;)V" removed="12"/>
+	</class>
+	<class name="android/drm/DrmManagerClient$OnInfoListener" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="onInfo(Landroid/drm/DrmManagerClient;Landroid/drm/DrmInfoEvent;)V" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmRights" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/drm/ProcessedData;Ljava/lang/String;)V" deprecated="30"/>
+		<method name="&lt;init>(Ljava/io/File;Ljava/lang/String;)V" deprecated="30"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V" deprecated="30"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="30"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="30"/>
+		<method name="getAccountId()Ljava/lang/String;" deprecated="30"/>
+		<method name="getData()[B" deprecated="30"/>
+		<method name="getMimeType()Ljava/lang/String;" deprecated="30"/>
+		<method name="getSubscriptionId()Ljava/lang/String;" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmStore" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="16"/>
+	</class>
+	<class name="android/drm/DrmStore$Action" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="16"/>
+		<field name="DEFAULT" deprecated="30"/>
+		<field name="DISPLAY" deprecated="30"/>
+		<field name="EXECUTE" deprecated="30"/>
+		<field name="OUTPUT" deprecated="30"/>
+		<field name="PLAY" deprecated="30"/>
+		<field name="PREVIEW" deprecated="30"/>
+		<field name="RINGTONE" deprecated="30"/>
+		<field name="TRANSFER" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmStore$ConstraintsColumns" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<field name="EXTENDED_METADATA" deprecated="30"/>
+		<field name="LICENSE_AVAILABLE_TIME" deprecated="30"/>
+		<field name="LICENSE_EXPIRY_TIME" deprecated="30"/>
+		<field name="LICENSE_START_TIME" deprecated="30"/>
+		<field name="MAX_REPEAT_COUNT" deprecated="30"/>
+		<field name="REMAINING_REPEAT_COUNT" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmStore$DrmObjectType" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="16"/>
+		<field name="CONTENT" deprecated="30"/>
+		<field name="RIGHTS_OBJECT" deprecated="30"/>
+		<field name="TRIGGER_OBJECT" deprecated="30"/>
+		<field name="UNKNOWN" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmStore$Playback" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="16"/>
+		<field name="PAUSE" deprecated="30"/>
+		<field name="RESUME" deprecated="30"/>
+		<field name="START" deprecated="30"/>
+		<field name="STOP" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmStore$RightsStatus" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="16"/>
+		<field name="RIGHTS_EXPIRED" deprecated="30"/>
+		<field name="RIGHTS_INVALID" deprecated="30"/>
+		<field name="RIGHTS_NOT_ACQUIRED" deprecated="30"/>
+		<field name="RIGHTS_VALID" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmSupportInfo" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="addFileSuffix(Ljava/lang/String;)V" deprecated="30"/>
+		<method name="addMimeType(Ljava/lang/String;)V" deprecated="30"/>
+		<method name="getDescriprition()Ljava/lang/String;" deprecated="16"/>
+		<method name="getDescription()Ljava/lang/String;" since="16" deprecated="30"/>
+		<method name="getFileSuffixIterator()Ljava/util/Iterator;" deprecated="30"/>
+		<method name="getMimeTypeIterator()Ljava/util/Iterator;" deprecated="30"/>
+		<method name="setDescription(Ljava/lang/String;)V" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmUtils" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="getExtendedMetadataParser([B)Landroid/drm/DrmUtils$ExtendedMetadataParser;" deprecated="30"/>
+	</class>
+	<class name="android/drm/DrmUtils$ExtendedMetadataParser" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="get(Ljava/lang/String;)Ljava/lang/String;" deprecated="30"/>
+		<method name="iterator()Ljava/util/Iterator;" deprecated="30"/>
+		<method name="keyIterator()Ljava/util/Iterator;" deprecated="30"/>
+	</class>
+	<class name="android/drm/ProcessedData" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="getAccountId()Ljava/lang/String;" deprecated="30"/>
+		<method name="getData()[B" deprecated="30"/>
+		<method name="getSubscriptionId()Ljava/lang/String;" deprecated="30"/>
+	</class>
+	<class name="android/gesture/Gesture" since="4">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="addStroke(Landroid/gesture/GestureStroke;)V"/>
+		<method name="getBoundingBox()Landroid/graphics/RectF;"/>
+		<method name="getID()J"/>
+		<method name="getLength()F"/>
+		<method name="getStrokes()Ljava/util/ArrayList;"/>
+		<method name="getStrokesCount()I"/>
+		<method name="toBitmap(IIII)Landroid/graphics/Bitmap;"/>
+		<method name="toBitmap(IIIII)Landroid/graphics/Bitmap;"/>
+		<method name="toPath()Landroid/graphics/Path;"/>
+		<method name="toPath(IIII)Landroid/graphics/Path;"/>
+		<method name="toPath(Landroid/graphics/Path;)Landroid/graphics/Path;"/>
+		<method name="toPath(Landroid/graphics/Path;IIII)Landroid/graphics/Path;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/gesture/GestureLibraries" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="fromFile(Ljava/io/File;)Landroid/gesture/GestureLibrary;"/>
+		<method name="fromFile(Ljava/lang/String;)Landroid/gesture/GestureLibrary;"/>
+		<method name="fromFileDescriptor(Landroid/os/ParcelFileDescriptor;)Landroid/gesture/GestureLibrary;" since="30"/>
+		<method name="fromPrivateFile(Landroid/content/Context;Ljava/lang/String;)Landroid/gesture/GestureLibrary;"/>
+		<method name="fromRawResource(Landroid/content/Context;I)Landroid/gesture/GestureLibrary;"/>
+	</class>
+	<class name="android/gesture/GestureLibrary" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addGesture(Ljava/lang/String;Landroid/gesture/Gesture;)V"/>
+		<method name="getGestureEntries()Ljava/util/Set;"/>
+		<method name="getGestures(Ljava/lang/String;)Ljava/util/ArrayList;"/>
+		<method name="getOrientationStyle()I"/>
+		<method name="getSequenceType()I"/>
+		<method name="isReadOnly()Z"/>
+		<method name="load()Z"/>
+		<method name="recognize(Landroid/gesture/Gesture;)Ljava/util/ArrayList;"/>
+		<method name="removeEntry(Ljava/lang/String;)V"/>
+		<method name="removeGesture(Ljava/lang/String;Landroid/gesture/Gesture;)V"/>
+		<method name="save()Z"/>
+		<method name="setOrientationStyle(I)V"/>
+		<method name="setSequenceType(I)V"/>
+		<field name="mStore"/>
+	</class>
+	<class name="android/gesture/GestureOverlayView" since="4">
+		<extends name="android/widget/FrameLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="addOnGestureListener(Landroid/gesture/GestureOverlayView$OnGestureListener;)V"/>
+		<method name="addOnGesturePerformedListener(Landroid/gesture/GestureOverlayView$OnGesturePerformedListener;)V"/>
+		<method name="addOnGesturingListener(Landroid/gesture/GestureOverlayView$OnGesturingListener;)V"/>
+		<method name="cancelClearAnimation()V"/>
+		<method name="cancelGesture()V"/>
+		<method name="clear(Z)V"/>
+		<method name="getCurrentStroke()Ljava/util/ArrayList;"/>
+		<method name="getFadeOffset()J"/>
+		<method name="getGesture()Landroid/gesture/Gesture;"/>
+		<method name="getGestureColor()I"/>
+		<method name="getGesturePath()Landroid/graphics/Path;"/>
+		<method name="getGesturePath(Landroid/graphics/Path;)Landroid/graphics/Path;"/>
+		<method name="getGestureStrokeAngleThreshold()F"/>
+		<method name="getGestureStrokeLengthThreshold()F"/>
+		<method name="getGestureStrokeSquarenessTreshold()F"/>
+		<method name="getGestureStrokeType()I"/>
+		<method name="getGestureStrokeWidth()F"/>
+		<method name="getOrientation()I"/>
+		<method name="getUncertainGestureColor()I"/>
+		<method name="isEventsInterceptionEnabled()Z"/>
+		<method name="isFadeEnabled()Z"/>
+		<method name="isGestureVisible()Z"/>
+		<method name="isGesturing()Z"/>
+		<method name="removeAllOnGestureListeners()V"/>
+		<method name="removeAllOnGesturePerformedListeners()V"/>
+		<method name="removeAllOnGesturingListeners()V"/>
+		<method name="removeOnGestureListener(Landroid/gesture/GestureOverlayView$OnGestureListener;)V"/>
+		<method name="removeOnGesturePerformedListener(Landroid/gesture/GestureOverlayView$OnGesturePerformedListener;)V"/>
+		<method name="removeOnGesturingListener(Landroid/gesture/GestureOverlayView$OnGesturingListener;)V"/>
+		<method name="setEventsInterceptionEnabled(Z)V"/>
+		<method name="setFadeEnabled(Z)V"/>
+		<method name="setFadeOffset(J)V"/>
+		<method name="setGesture(Landroid/gesture/Gesture;)V"/>
+		<method name="setGestureColor(I)V"/>
+		<method name="setGestureStrokeAngleThreshold(F)V"/>
+		<method name="setGestureStrokeLengthThreshold(F)V"/>
+		<method name="setGestureStrokeSquarenessTreshold(F)V"/>
+		<method name="setGestureStrokeType(I)V"/>
+		<method name="setGestureStrokeWidth(F)V"/>
+		<method name="setGestureVisible(Z)V"/>
+		<method name="setOrientation(I)V"/>
+		<method name="setUncertainGestureColor(I)V"/>
+		<field name="GESTURE_STROKE_TYPE_MULTIPLE"/>
+		<field name="GESTURE_STROKE_TYPE_SINGLE"/>
+		<field name="ORIENTATION_HORIZONTAL"/>
+		<field name="ORIENTATION_VERTICAL"/>
+	</class>
+	<class name="android/gesture/GestureOverlayView$OnGestureListener" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="onGesture(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V"/>
+		<method name="onGestureCancelled(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V"/>
+		<method name="onGestureEnded(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V"/>
+		<method name="onGestureStarted(Landroid/gesture/GestureOverlayView;Landroid/view/MotionEvent;)V"/>
+	</class>
+	<class name="android/gesture/GestureOverlayView$OnGesturePerformedListener" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="onGesturePerformed(Landroid/gesture/GestureOverlayView;Landroid/gesture/Gesture;)V"/>
+	</class>
+	<class name="android/gesture/GestureOverlayView$OnGesturingListener" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="onGesturingEnded(Landroid/gesture/GestureOverlayView;)V"/>
+		<method name="onGesturingStarted(Landroid/gesture/GestureOverlayView;)V"/>
+	</class>
+	<class name="android/gesture/GesturePoint" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(FFJ)V"/>
+		<field name="timestamp"/>
+		<field name="x"/>
+		<field name="y"/>
+	</class>
+	<class name="android/gesture/GestureStore" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addGesture(Ljava/lang/String;Landroid/gesture/Gesture;)V"/>
+		<method name="getGestureEntries()Ljava/util/Set;"/>
+		<method name="getGestures(Ljava/lang/String;)Ljava/util/ArrayList;"/>
+		<method name="getOrientationStyle()I"/>
+		<method name="getSequenceType()I"/>
+		<method name="hasChanged()Z"/>
+		<method name="load(Ljava/io/InputStream;)V"/>
+		<method name="load(Ljava/io/InputStream;Z)V"/>
+		<method name="recognize(Landroid/gesture/Gesture;)Ljava/util/ArrayList;"/>
+		<method name="removeEntry(Ljava/lang/String;)V"/>
+		<method name="removeGesture(Ljava/lang/String;Landroid/gesture/Gesture;)V"/>
+		<method name="save(Ljava/io/OutputStream;)V"/>
+		<method name="save(Ljava/io/OutputStream;Z)V"/>
+		<method name="setOrientationStyle(I)V"/>
+		<method name="setSequenceType(I)V"/>
+		<field name="ORIENTATION_INVARIANT"/>
+		<field name="ORIENTATION_SENSITIVE"/>
+		<field name="SEQUENCE_INVARIANT"/>
+		<field name="SEQUENCE_SENSITIVE"/>
+	</class>
+	<class name="android/gesture/GestureStroke" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/util/ArrayList;)V"/>
+		<method name="clearPath()V"/>
+		<method name="computeOrientedBoundingBox()Landroid/gesture/OrientedBoundingBox;"/>
+		<method name="getPath()Landroid/graphics/Path;"/>
+		<method name="toPath(FFI)Landroid/graphics/Path;"/>
+		<field name="boundingBox"/>
+		<field name="length"/>
+		<field name="points"/>
+	</class>
+	<class name="android/gesture/GestureUtils" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="computeOrientedBoundingBox(Ljava/util/ArrayList;)Landroid/gesture/OrientedBoundingBox;"/>
+		<method name="computeOrientedBoundingBox([F)Landroid/gesture/OrientedBoundingBox;"/>
+		<method name="spatialSampling(Landroid/gesture/Gesture;I)[F"/>
+		<method name="spatialSampling(Landroid/gesture/Gesture;IZ)[F"/>
+		<method name="temporalSampling(Landroid/gesture/GestureStroke;I)[F"/>
+	</class>
+	<class name="android/gesture/OrientedBoundingBox" since="4">
+		<extends name="java/lang/Object"/>
+		<field name="centerX"/>
+		<field name="centerY"/>
+		<field name="height"/>
+		<field name="orientation"/>
+		<field name="squareness"/>
+		<field name="width"/>
+	</class>
+	<class name="android/gesture/Prediction" since="4">
+		<extends name="java/lang/Object"/>
+		<field name="name"/>
+		<field name="score"/>
+	</class>
+	<class name="android/graphics/AvoidXfermode" since="1" deprecated="16" removed="24">
+		<extends name="android/graphics/Xfermode"/>
+		<method name="&lt;init>(IILandroid/graphics/AvoidXfermode$Mode;)V"/>
+	</class>
+	<class name="android/graphics/AvoidXfermode$Mode" since="1" removed="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/AvoidXfermode$Mode;"/>
+		<method name="values()[Landroid/graphics/AvoidXfermode$Mode;"/>
+		<field name="AVOID"/>
+		<field name="TARGET"/>
+	</class>
+	<class name="android/graphics/Bitmap" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="asShared()Landroid/graphics/Bitmap;" since="31"/>
+		<method name="compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z"/>
+		<method name="copy(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;"/>
+		<method name="copyPixelsFromBuffer(Ljava/nio/Buffer;)V" since="3"/>
+		<method name="copyPixelsToBuffer(Ljava/nio/Buffer;)V"/>
+		<method name="createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;"/>
+		<method name="createBitmap(IILandroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;" since="26"/>
+		<method name="createBitmap(IILandroid/graphics/Bitmap$Config;ZLandroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;" since="26"/>
+		<method name="createBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;"/>
+		<method name="createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;"/>
+		<method name="createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;"/>
+		<method name="createBitmap(Landroid/graphics/Picture;)Landroid/graphics/Bitmap;" since="28"/>
+		<method name="createBitmap(Landroid/graphics/Picture;IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" since="28"/>
+		<method name="createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" since="17"/>
+		<method name="createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;" since="26"/>
+		<method name="createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;ZLandroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;" since="26"/>
+		<method name="createBitmap(Landroid/util/DisplayMetrics;[IIIIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" since="17"/>
+		<method name="createBitmap(Landroid/util/DisplayMetrics;[IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;" since="17"/>
+		<method name="createBitmap([IIIIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;"/>
+		<method name="createBitmap([IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;"/>
+		<method name="createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap;"/>
+		<method name="eraseColor(I)V"/>
+		<method name="eraseColor(J)V" since="29"/>
+		<method name="extractAlpha()Landroid/graphics/Bitmap;"/>
+		<method name="extractAlpha(Landroid/graphics/Paint;[I)Landroid/graphics/Bitmap;"/>
+		<method name="getAllocationByteCount()I" since="19"/>
+		<method name="getByteCount()I" since="12"/>
+		<method name="getColor(II)Landroid/graphics/Color;" since="29"/>
+		<method name="getColorSpace()Landroid/graphics/ColorSpace;" since="26"/>
+		<method name="getConfig()Landroid/graphics/Bitmap$Config;"/>
+		<method name="getDensity()I" since="4"/>
+		<method name="getGenerationId()I" since="12"/>
+		<method name="getHardwareBuffer()Landroid/hardware/HardwareBuffer;" since="31"/>
+		<method name="getHeight()I"/>
+		<method name="getNinePatchChunk()[B"/>
+		<method name="getPixel(II)I"/>
+		<method name="getPixels([IIIIIII)V"/>
+		<method name="getRowBytes()I"/>
+		<method name="getScaledHeight(I)I" since="4"/>
+		<method name="getScaledHeight(Landroid/graphics/Canvas;)I" since="4"/>
+		<method name="getScaledHeight(Landroid/util/DisplayMetrics;)I" since="4"/>
+		<method name="getScaledWidth(I)I" since="4"/>
+		<method name="getScaledWidth(Landroid/graphics/Canvas;)I" since="4"/>
+		<method name="getScaledWidth(Landroid/util/DisplayMetrics;)I" since="4"/>
+		<method name="getWidth()I"/>
+		<method name="hasAlpha()Z"/>
+		<method name="hasMipMap()Z" since="17"/>
+		<method name="isMutable()Z"/>
+		<method name="isPremultiplied()Z" since="17"/>
+		<method name="isRecycled()Z"/>
+		<method name="prepareToDraw()V" since="4"/>
+		<method name="reconfigure(IILandroid/graphics/Bitmap$Config;)V" since="19"/>
+		<method name="recycle()V"/>
+		<method name="sameAs(Landroid/graphics/Bitmap;)Z" since="12"/>
+		<method name="setColorSpace(Landroid/graphics/ColorSpace;)V" since="29"/>
+		<method name="setConfig(Landroid/graphics/Bitmap$Config;)V" since="19"/>
+		<method name="setDensity(I)V" since="4"/>
+		<method name="setHasAlpha(Z)V" since="12"/>
+		<method name="setHasMipMap(Z)V" since="17"/>
+		<method name="setHeight(I)V" since="19"/>
+		<method name="setPixel(III)V"/>
+		<method name="setPixels([IIIIIII)V"/>
+		<method name="setPremultiplied(Z)V" since="19"/>
+		<method name="setWidth(I)V" since="19"/>
+		<method name="wrapHardwareBuffer(Landroid/hardware/HardwareBuffer;Landroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;" since="29"/>
+		<field name="CREATOR"/>
+		<field name="DENSITY_NONE" since="4"/>
+	</class>
+	<class name="android/graphics/Bitmap$CompressFormat" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Bitmap$CompressFormat;"/>
+		<method name="values()[Landroid/graphics/Bitmap$CompressFormat;"/>
+		<field name="JPEG"/>
+		<field name="PNG"/>
+		<field name="WEBP" since="14" deprecated="30"/>
+		<field name="WEBP_LOSSLESS" since="30"/>
+		<field name="WEBP_LOSSY" since="30"/>
+	</class>
+	<class name="android/graphics/Bitmap$Config" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Bitmap$Config;"/>
+		<method name="values()[Landroid/graphics/Bitmap$Config;"/>
+		<field name="ALPHA_8"/>
+		<field name="ARGB_4444" deprecated="29"/>
+		<field name="ARGB_8888"/>
+		<field name="HARDWARE" since="26"/>
+		<field name="RGBA_F16" since="26"/>
+		<field name="RGB_565"/>
+	</class>
+	<class name="android/graphics/BitmapFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="decodeByteArray([BII)Landroid/graphics/Bitmap;"/>
+		<method name="decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;"/>
+		<method name="decodeFile(Ljava/lang/String;)Landroid/graphics/Bitmap;"/>
+		<method name="decodeFile(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;"/>
+		<method name="decodeFileDescriptor(Ljava/io/FileDescriptor;)Landroid/graphics/Bitmap;"/>
+		<method name="decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;"/>
+		<method name="decodeResource(Landroid/content/res/Resources;I)Landroid/graphics/Bitmap;"/>
+		<method name="decodeResource(Landroid/content/res/Resources;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;"/>
+		<method name="decodeResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" since="4"/>
+		<method name="decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;"/>
+		<method name="decodeStream(Ljava/io/InputStream;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;"/>
+	</class>
+	<class name="android/graphics/BitmapFactory$Options" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="requestCancelDecode()V" deprecated="24"/>
+		<field name="inBitmap" since="11"/>
+		<field name="inDensity" since="4"/>
+		<field name="inDither" deprecated="24"/>
+		<field name="inInputShareable" since="4" deprecated="21"/>
+		<field name="inJustDecodeBounds"/>
+		<field name="inMutable" since="11"/>
+		<field name="inPreferQualityOverSpeed" since="10" deprecated="24"/>
+		<field name="inPreferredColorSpace" since="26"/>
+		<field name="inPreferredConfig"/>
+		<field name="inPremultiplied" since="19"/>
+		<field name="inPurgeable" since="4" deprecated="21"/>
+		<field name="inSampleSize"/>
+		<field name="inScaled" since="4"/>
+		<field name="inScreenDensity" since="4"/>
+		<field name="inTargetDensity" since="4"/>
+		<field name="inTempStorage"/>
+		<field name="mCancel" deprecated="24"/>
+		<field name="outColorSpace" since="26"/>
+		<field name="outConfig" since="26"/>
+		<field name="outHeight"/>
+		<field name="outMimeType"/>
+		<field name="outWidth"/>
+	</class>
+	<class name="android/graphics/BitmapRegionDecoder" since="10">
+		<extends name="java/lang/Object"/>
+		<method name="decodeRegion(Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;"/>
+		<method name="getHeight()I"/>
+		<method name="getWidth()I"/>
+		<method name="isRecycled()Z"/>
+		<method name="newInstance(Landroid/os/ParcelFileDescriptor;)Landroid/graphics/BitmapRegionDecoder;" since="31"/>
+		<method name="newInstance(Ljava/io/FileDescriptor;Z)Landroid/graphics/BitmapRegionDecoder;" deprecated="31"/>
+		<method name="newInstance(Ljava/io/InputStream;)Landroid/graphics/BitmapRegionDecoder;" since="31"/>
+		<method name="newInstance(Ljava/io/InputStream;Z)Landroid/graphics/BitmapRegionDecoder;" deprecated="31"/>
+		<method name="newInstance(Ljava/lang/String;)Landroid/graphics/BitmapRegionDecoder;" since="31"/>
+		<method name="newInstance(Ljava/lang/String;Z)Landroid/graphics/BitmapRegionDecoder;" deprecated="31"/>
+		<method name="newInstance([BII)Landroid/graphics/BitmapRegionDecoder;" since="31"/>
+		<method name="newInstance([BIIZ)Landroid/graphics/BitmapRegionDecoder;" deprecated="31"/>
+		<method name="recycle()V"/>
+	</class>
+	<class name="android/graphics/BitmapShader" since="1">
+		<extends name="android/graphics/Shader"/>
+		<method name="&lt;init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V"/>
+	</class>
+	<class name="android/graphics/BlendMode" since="29">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/BlendMode;"/>
+		<method name="values()[Landroid/graphics/BlendMode;"/>
+		<field name="CLEAR"/>
+		<field name="COLOR"/>
+		<field name="COLOR_BURN"/>
+		<field name="COLOR_DODGE"/>
+		<field name="DARKEN"/>
+		<field name="DIFFERENCE"/>
+		<field name="DST"/>
+		<field name="DST_ATOP"/>
+		<field name="DST_IN"/>
+		<field name="DST_OUT"/>
+		<field name="DST_OVER"/>
+		<field name="EXCLUSION"/>
+		<field name="HARD_LIGHT"/>
+		<field name="HUE"/>
+		<field name="LIGHTEN"/>
+		<field name="LUMINOSITY"/>
+		<field name="MODULATE"/>
+		<field name="MULTIPLY"/>
+		<field name="OVERLAY"/>
+		<field name="PLUS"/>
+		<field name="SATURATION"/>
+		<field name="SCREEN"/>
+		<field name="SOFT_LIGHT"/>
+		<field name="SRC"/>
+		<field name="SRC_ATOP"/>
+		<field name="SRC_IN"/>
+		<field name="SRC_OUT"/>
+		<field name="SRC_OVER"/>
+		<field name="XOR"/>
+	</class>
+	<class name="android/graphics/BlendModeColorFilter" since="29">
+		<extends name="android/graphics/ColorFilter"/>
+		<method name="&lt;init>(ILandroid/graphics/BlendMode;)V"/>
+		<method name="getColor()I"/>
+		<method name="getMode()Landroid/graphics/BlendMode;"/>
+	</class>
+	<class name="android/graphics/BlurMaskFilter" since="1">
+		<extends name="android/graphics/MaskFilter"/>
+		<method name="&lt;init>(FLandroid/graphics/BlurMaskFilter$Blur;)V"/>
+	</class>
+	<class name="android/graphics/BlurMaskFilter$Blur" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/BlurMaskFilter$Blur;"/>
+		<method name="values()[Landroid/graphics/BlurMaskFilter$Blur;"/>
+		<field name="INNER"/>
+		<field name="NORMAL"/>
+		<field name="OUTER"/>
+		<field name="SOLID"/>
+	</class>
+	<class name="android/graphics/Camera" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="applyToCanvas(Landroid/graphics/Canvas;)V"/>
+		<method name="dotWithNormal(FFF)F"/>
+		<method name="getLocationX()F" since="16"/>
+		<method name="getLocationY()F" since="16"/>
+		<method name="getLocationZ()F" since="16"/>
+		<method name="getMatrix(Landroid/graphics/Matrix;)V"/>
+		<method name="restore()V"/>
+		<method name="rotate(FFF)V" since="12"/>
+		<method name="rotateX(F)V"/>
+		<method name="rotateY(F)V"/>
+		<method name="rotateZ(F)V"/>
+		<method name="save()V"/>
+		<method name="setLocation(FFF)V" since="12"/>
+		<method name="translate(FFF)V"/>
+	</class>
+	<class name="android/graphics/Canvas" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/Bitmap;)V"/>
+		<method name="&lt;init>(Ljavax/microedition/khronos/opengles/GL;)V" removed="11"/>
+		<method name="clipOutPath(Landroid/graphics/Path;)Z" since="26"/>
+		<method name="clipOutRect(FFFF)Z" since="26"/>
+		<method name="clipOutRect(IIII)Z" since="26"/>
+		<method name="clipOutRect(Landroid/graphics/Rect;)Z" since="26"/>
+		<method name="clipOutRect(Landroid/graphics/RectF;)Z" since="26"/>
+		<method name="clipPath(Landroid/graphics/Path;)Z"/>
+		<method name="clipPath(Landroid/graphics/Path;Landroid/graphics/Region$Op;)Z" deprecated="26"/>
+		<method name="clipRect(FFFF)Z"/>
+		<method name="clipRect(FFFFLandroid/graphics/Region$Op;)Z" deprecated="26"/>
+		<method name="clipRect(IIII)Z"/>
+		<method name="clipRect(Landroid/graphics/Rect;)Z"/>
+		<method name="clipRect(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z" deprecated="26"/>
+		<method name="clipRect(Landroid/graphics/RectF;)Z"/>
+		<method name="clipRect(Landroid/graphics/RectF;Landroid/graphics/Region$Op;)Z" deprecated="26"/>
+		<method name="clipRegion(Landroid/graphics/Region;)Z" deprecated="21" removed="26"/>
+		<method name="clipRegion(Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z" deprecated="21" removed="26"/>
+		<method name="concat(Landroid/graphics/Matrix;)V"/>
+		<method name="disableZ()V" since="29"/>
+		<method name="drawARGB(IIII)V"/>
+		<method name="drawArc(FFFFFFZLandroid/graphics/Paint;)V" since="21"/>
+		<method name="drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V"/>
+		<method name="drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V"/>
+		<method name="drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V"/>
+		<method name="drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V"/>
+		<method name="drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V"/>
+		<method name="drawBitmap([IIIFFIIZLandroid/graphics/Paint;)V" since="3" deprecated="21"/>
+		<method name="drawBitmap([IIIIIIIZLandroid/graphics/Paint;)V" deprecated="21"/>
+		<method name="drawBitmapMesh(Landroid/graphics/Bitmap;II[FI[IILandroid/graphics/Paint;)V"/>
+		<method name="drawCircle(FFFLandroid/graphics/Paint;)V"/>
+		<method name="drawColor(I)V"/>
+		<method name="drawColor(ILandroid/graphics/BlendMode;)V" since="29"/>
+		<method name="drawColor(ILandroid/graphics/PorterDuff$Mode;)V"/>
+		<method name="drawColor(J)V" since="29"/>
+		<method name="drawColor(JLandroid/graphics/BlendMode;)V" since="29"/>
+		<method name="drawDoubleRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/RectF;FFLandroid/graphics/Paint;)V" since="29"/>
+		<method name="drawDoubleRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/RectF;[FLandroid/graphics/Paint;)V" since="29"/>
+		<method name="drawGlyphs([II[FIILandroid/graphics/fonts/Font;Landroid/graphics/Paint;)V" since="31"/>
+		<method name="drawLine(FFFFLandroid/graphics/Paint;)V"/>
+		<method name="drawLines([FIILandroid/graphics/Paint;)V"/>
+		<method name="drawLines([FLandroid/graphics/Paint;)V"/>
+		<method name="drawOval(FFFFLandroid/graphics/Paint;)V" since="21"/>
+		<method name="drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V"/>
+		<method name="drawPaint(Landroid/graphics/Paint;)V"/>
+		<method name="drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V" since="31"/>
+		<method name="drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/RectF;Landroid/graphics/Paint;)V" since="31"/>
+		<method name="drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V"/>
+		<method name="drawPicture(Landroid/graphics/Picture;)V"/>
+		<method name="drawPicture(Landroid/graphics/Picture;Landroid/graphics/Rect;)V"/>
+		<method name="drawPicture(Landroid/graphics/Picture;Landroid/graphics/RectF;)V"/>
+		<method name="drawPoint(FFLandroid/graphics/Paint;)V"/>
+		<method name="drawPoints([FIILandroid/graphics/Paint;)V"/>
+		<method name="drawPoints([FLandroid/graphics/Paint;)V"/>
+		<method name="drawPosText(Ljava/lang/String;[FLandroid/graphics/Paint;)V" deprecated="16"/>
+		<method name="drawPosText([CII[FLandroid/graphics/Paint;)V" deprecated="16"/>
+		<method name="drawRGB(III)V"/>
+		<method name="drawRect(FFFFLandroid/graphics/Paint;)V"/>
+		<method name="drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V"/>
+		<method name="drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V"/>
+		<method name="drawRenderNode(Landroid/graphics/RenderNode;)V" since="29"/>
+		<method name="drawRoundRect(FFFFFFLandroid/graphics/Paint;)V" since="21"/>
+		<method name="drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V"/>
+		<method name="drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V"/>
+		<method name="drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V"/>
+		<method name="drawText(Ljava/lang/String;IIFFLandroid/graphics/Paint;)V"/>
+		<method name="drawText([CIIFFLandroid/graphics/Paint;)V"/>
+		<method name="drawTextOnPath(Ljava/lang/String;Landroid/graphics/Path;FFLandroid/graphics/Paint;)V"/>
+		<method name="drawTextOnPath([CIILandroid/graphics/Path;FFLandroid/graphics/Paint;)V"/>
+		<method name="drawTextRun(Landroid/graphics/text/MeasuredText;IIIIFFZLandroid/graphics/Paint;)V" since="29"/>
+		<method name="drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V" since="23"/>
+		<method name="drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V" since="23"/>
+		<method name="drawVertices(Landroid/graphics/Canvas$VertexMode;I[FI[FI[II[SIILandroid/graphics/Paint;)V"/>
+		<method name="enableZ()V" since="29"/>
+		<method name="freeGlCaches()V" removed="11"/>
+		<method name="getClipBounds()Landroid/graphics/Rect;"/>
+		<method name="getClipBounds(Landroid/graphics/Rect;)Z"/>
+		<method name="getDensity()I" since="4"/>
+		<method name="getDrawFilter()Landroid/graphics/DrawFilter;"/>
+		<method name="getGL()Ljavax/microedition/khronos/opengles/GL;" removed="11"/>
+		<method name="getHeight()I"/>
+		<method name="getMatrix()Landroid/graphics/Matrix;" deprecated="16"/>
+		<method name="getMatrix(Landroid/graphics/Matrix;)V" deprecated="16"/>
+		<method name="getMaximumBitmapHeight()I" since="14"/>
+		<method name="getMaximumBitmapWidth()I" since="14"/>
+		<method name="getSaveCount()I"/>
+		<method name="getWidth()I"/>
+		<method name="isHardwareAccelerated()Z" since="11"/>
+		<method name="isOpaque()Z"/>
+		<method name="quickReject(FFFF)Z" since="30"/>
+		<method name="quickReject(FFFFLandroid/graphics/Canvas$EdgeType;)Z" deprecated="30"/>
+		<method name="quickReject(Landroid/graphics/Path;)Z" since="30"/>
+		<method name="quickReject(Landroid/graphics/Path;Landroid/graphics/Canvas$EdgeType;)Z" deprecated="30"/>
+		<method name="quickReject(Landroid/graphics/RectF;)Z" since="30"/>
+		<method name="quickReject(Landroid/graphics/RectF;Landroid/graphics/Canvas$EdgeType;)Z" deprecated="30"/>
+		<method name="restore()V"/>
+		<method name="restoreToCount(I)V"/>
+		<method name="rotate(F)V"/>
+		<method name="rotate(FFF)V"/>
+		<method name="save()I"/>
+		<method name="save(I)I" deprecated="26" removed="28"/>
+		<method name="saveLayer(FFFFLandroid/graphics/Paint;)I" since="21"/>
+		<method name="saveLayer(FFFFLandroid/graphics/Paint;I)I" deprecated="26"/>
+		<method name="saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;)I" since="21"/>
+		<method name="saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I" deprecated="26"/>
+		<method name="saveLayerAlpha(FFFFI)I" since="21"/>
+		<method name="saveLayerAlpha(FFFFII)I" deprecated="26"/>
+		<method name="saveLayerAlpha(Landroid/graphics/RectF;I)I" since="21"/>
+		<method name="saveLayerAlpha(Landroid/graphics/RectF;II)I" deprecated="26"/>
+		<method name="scale(FF)V"/>
+		<method name="scale(FFFF)V"/>
+		<method name="setBitmap(Landroid/graphics/Bitmap;)V"/>
+		<method name="setDensity(I)V" since="4"/>
+		<method name="setDrawFilter(Landroid/graphics/DrawFilter;)V"/>
+		<method name="setMatrix(Landroid/graphics/Matrix;)V"/>
+		<method name="setViewport(II)V" removed="11"/>
+		<method name="skew(FF)V"/>
+		<method name="translate(FF)V"/>
+		<field name="ALL_SAVE_FLAG"/>
+		<field name="CLIP_SAVE_FLAG" deprecated="26" removed="28"/>
+		<field name="CLIP_TO_LAYER_SAVE_FLAG" deprecated="26" removed="28"/>
+		<field name="FULL_COLOR_LAYER_SAVE_FLAG" deprecated="26" removed="28"/>
+		<field name="HAS_ALPHA_LAYER_SAVE_FLAG" deprecated="26" removed="28"/>
+		<field name="MATRIX_SAVE_FLAG" deprecated="26" removed="28"/>
+	</class>
+	<class name="android/graphics/Canvas$EdgeType" since="1" deprecated="30">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Canvas$EdgeType;"/>
+		<method name="values()[Landroid/graphics/Canvas$EdgeType;"/>
+		<field name="AA" deprecated="30"/>
+		<field name="BW" deprecated="30"/>
+	</class>
+	<class name="android/graphics/Canvas$VertexMode" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Canvas$VertexMode;"/>
+		<method name="values()[Landroid/graphics/Canvas$VertexMode;"/>
+		<field name="TRIANGLES"/>
+		<field name="TRIANGLE_FAN"/>
+		<field name="TRIANGLE_STRIP"/>
+	</class>
+	<class name="android/graphics/Color" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="HSVToColor(I[F)I"/>
+		<method name="HSVToColor([F)I"/>
+		<method name="RGBToHSV(III[F)V"/>
+		<method name="alpha()F" since="26"/>
+		<method name="alpha(I)I"/>
+		<method name="alpha(J)F" since="26"/>
+		<method name="argb(FFFF)I" since="26"/>
+		<method name="argb(IIII)I"/>
+		<method name="blue()F" since="26"/>
+		<method name="blue(I)I"/>
+		<method name="blue(J)F" since="26"/>
+		<method name="colorSpace(J)Landroid/graphics/ColorSpace;" since="26"/>
+		<method name="colorToHSV(I[F)V"/>
+		<method name="convert(FFFFLandroid/graphics/ColorSpace$Connector;)J" since="26"/>
+		<method name="convert(FFFFLandroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;)J" since="26"/>
+		<method name="convert(ILandroid/graphics/ColorSpace;)J" since="26"/>
+		<method name="convert(JLandroid/graphics/ColorSpace$Connector;)J" since="26"/>
+		<method name="convert(JLandroid/graphics/ColorSpace;)J" since="26"/>
+		<method name="convert(Landroid/graphics/ColorSpace;)Landroid/graphics/Color;" since="26"/>
+		<method name="getColorSpace()Landroid/graphics/ColorSpace;" since="26"/>
+		<method name="getComponent(I)F" since="26"/>
+		<method name="getComponentCount()I" since="26"/>
+		<method name="getComponents()[F" since="26"/>
+		<method name="getComponents([F)[F" since="26"/>
+		<method name="getModel()Landroid/graphics/ColorSpace$Model;" since="26"/>
+		<method name="green()F" since="26"/>
+		<method name="green(I)I"/>
+		<method name="green(J)F" since="26"/>
+		<method name="isInColorSpace(JLandroid/graphics/ColorSpace;)Z" since="26"/>
+		<method name="isSrgb()Z" since="26"/>
+		<method name="isSrgb(J)Z" since="26"/>
+		<method name="isWideGamut()Z" since="26"/>
+		<method name="isWideGamut(J)Z" since="26"/>
+		<method name="luminance()F" since="26"/>
+		<method name="luminance(I)F" since="24"/>
+		<method name="luminance(J)F" since="26"/>
+		<method name="pack()J" since="26"/>
+		<method name="pack(FFF)J" since="26"/>
+		<method name="pack(FFFF)J" since="26"/>
+		<method name="pack(FFFFLandroid/graphics/ColorSpace;)J" since="26"/>
+		<method name="pack(I)J" since="26"/>
+		<method name="parseColor(Ljava/lang/String;)I"/>
+		<method name="red()F" since="26"/>
+		<method name="red(I)I"/>
+		<method name="red(J)F" since="26"/>
+		<method name="rgb(FFF)I" since="26"/>
+		<method name="rgb(III)I"/>
+		<method name="toArgb()I" since="26"/>
+		<method name="toArgb(J)I" since="26"/>
+		<method name="valueOf(FFF)Landroid/graphics/Color;" since="26"/>
+		<method name="valueOf(FFFF)Landroid/graphics/Color;" since="26"/>
+		<method name="valueOf(FFFFLandroid/graphics/ColorSpace;)Landroid/graphics/Color;" since="26"/>
+		<method name="valueOf(I)Landroid/graphics/Color;" since="26"/>
+		<method name="valueOf(J)Landroid/graphics/Color;" since="26"/>
+		<method name="valueOf([FLandroid/graphics/ColorSpace;)Landroid/graphics/Color;" since="26"/>
+		<field name="BLACK"/>
+		<field name="BLUE"/>
+		<field name="CYAN"/>
+		<field name="DKGRAY"/>
+		<field name="GRAY"/>
+		<field name="GREEN"/>
+		<field name="LTGRAY"/>
+		<field name="MAGENTA"/>
+		<field name="RED"/>
+		<field name="TRANSPARENT"/>
+		<field name="WHITE"/>
+		<field name="YELLOW"/>
+	</class>
+	<class name="android/graphics/ColorFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="26"/>
+	</class>
+	<class name="android/graphics/ColorMatrix" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/ColorMatrix;)V"/>
+		<method name="&lt;init>([F)V"/>
+		<method name="getArray()[F"/>
+		<method name="postConcat(Landroid/graphics/ColorMatrix;)V"/>
+		<method name="preConcat(Landroid/graphics/ColorMatrix;)V"/>
+		<method name="reset()V"/>
+		<method name="set(Landroid/graphics/ColorMatrix;)V"/>
+		<method name="set([F)V"/>
+		<method name="setConcat(Landroid/graphics/ColorMatrix;Landroid/graphics/ColorMatrix;)V"/>
+		<method name="setRGB2YUV()V"/>
+		<method name="setRotate(IF)V"/>
+		<method name="setSaturation(F)V"/>
+		<method name="setScale(FFFF)V"/>
+		<method name="setYUV2RGB()V"/>
+	</class>
+	<class name="android/graphics/ColorMatrixColorFilter" since="1">
+		<extends name="android/graphics/ColorFilter"/>
+		<method name="&lt;init>(Landroid/graphics/ColorMatrix;)V"/>
+		<method name="&lt;init>([F)V"/>
+		<method name="getColorMatrix(Landroid/graphics/ColorMatrix;)V" since="26"/>
+	</class>
+	<class name="android/graphics/ColorSpace" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="adapt(Landroid/graphics/ColorSpace;[F)Landroid/graphics/ColorSpace;"/>
+		<method name="adapt(Landroid/graphics/ColorSpace;[FLandroid/graphics/ColorSpace$Adaptation;)Landroid/graphics/ColorSpace;"/>
+		<method name="cctToXyz(I)[F" since="31"/>
+		<method name="chromaticAdaptation(Landroid/graphics/ColorSpace$Adaptation;[F[F)[F" since="31"/>
+		<method name="connect(Landroid/graphics/ColorSpace;)Landroid/graphics/ColorSpace$Connector;"/>
+		<method name="connect(Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$RenderIntent;)Landroid/graphics/ColorSpace$Connector;"/>
+		<method name="connect(Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;)Landroid/graphics/ColorSpace$Connector;"/>
+		<method name="connect(Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace;Landroid/graphics/ColorSpace$RenderIntent;)Landroid/graphics/ColorSpace$Connector;"/>
+		<method name="fromXyz(FFF)[F"/>
+		<method name="fromXyz([F)[F"/>
+		<method name="get(Landroid/graphics/ColorSpace$Named;)Landroid/graphics/ColorSpace;"/>
+		<method name="getComponentCount()I"/>
+		<method name="getId()I"/>
+		<method name="getMaxValue(I)F"/>
+		<method name="getMinValue(I)F"/>
+		<method name="getModel()Landroid/graphics/ColorSpace$Model;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="isSrgb()Z"/>
+		<method name="isWideGamut()Z"/>
+		<method name="match([FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)Landroid/graphics/ColorSpace;"/>
+		<method name="toXyz(FFF)[F"/>
+		<method name="toXyz([F)[F"/>
+		<field name="ILLUMINANT_A"/>
+		<field name="ILLUMINANT_B"/>
+		<field name="ILLUMINANT_C"/>
+		<field name="ILLUMINANT_D50"/>
+		<field name="ILLUMINANT_D55"/>
+		<field name="ILLUMINANT_D60"/>
+		<field name="ILLUMINANT_D65"/>
+		<field name="ILLUMINANT_D75"/>
+		<field name="ILLUMINANT_E"/>
+		<field name="MAX_ID"/>
+		<field name="MIN_ID"/>
+	</class>
+	<class name="android/graphics/ColorSpace$Adaptation" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/ColorSpace$Adaptation;"/>
+		<method name="values()[Landroid/graphics/ColorSpace$Adaptation;"/>
+		<field name="BRADFORD"/>
+		<field name="CIECAT02"/>
+		<field name="VON_KRIES"/>
+	</class>
+	<class name="android/graphics/ColorSpace$Connector" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getDestination()Landroid/graphics/ColorSpace;"/>
+		<method name="getRenderIntent()Landroid/graphics/ColorSpace$RenderIntent;"/>
+		<method name="getSource()Landroid/graphics/ColorSpace;"/>
+		<method name="transform(FFF)[F"/>
+		<method name="transform([F)[F"/>
+	</class>
+	<class name="android/graphics/ColorSpace$Model" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="getComponentCount()I"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/ColorSpace$Model;"/>
+		<method name="values()[Landroid/graphics/ColorSpace$Model;"/>
+		<field name="CMYK"/>
+		<field name="LAB"/>
+		<field name="RGB"/>
+		<field name="XYZ"/>
+	</class>
+	<class name="android/graphics/ColorSpace$Named" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/ColorSpace$Named;"/>
+		<method name="values()[Landroid/graphics/ColorSpace$Named;"/>
+		<field name="ACES"/>
+		<field name="ACESCG"/>
+		<field name="ADOBE_RGB"/>
+		<field name="BT2020"/>
+		<field name="BT709"/>
+		<field name="CIE_LAB"/>
+		<field name="CIE_XYZ"/>
+		<field name="DCI_P3"/>
+		<field name="DISPLAY_P3"/>
+		<field name="EXTENDED_SRGB"/>
+		<field name="LINEAR_EXTENDED_SRGB"/>
+		<field name="LINEAR_SRGB"/>
+		<field name="NTSC_1953"/>
+		<field name="PRO_PHOTO_RGB"/>
+		<field name="SMPTE_C"/>
+		<field name="SRGB"/>
+	</class>
+	<class name="android/graphics/ColorSpace$RenderIntent" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/ColorSpace$RenderIntent;"/>
+		<method name="values()[Landroid/graphics/ColorSpace$RenderIntent;"/>
+		<field name="ABSOLUTE"/>
+		<field name="PERCEPTUAL"/>
+		<field name="RELATIVE"/>
+		<field name="SATURATION"/>
+	</class>
+	<class name="android/graphics/ColorSpace$Rgb" since="26">
+		<extends name="android/graphics/ColorSpace"/>
+		<method name="&lt;init>(Ljava/lang/String;[FD)V"/>
+		<method name="&lt;init>(Ljava/lang/String;[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;[F[FD)V"/>
+		<method name="&lt;init>(Ljava/lang/String;[F[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;[F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FF)V"/>
+		<method name="fromLinear(FFF)[F"/>
+		<method name="fromLinear([F)[F"/>
+		<method name="getEotf()Ljava/util/function/DoubleUnaryOperator;"/>
+		<method name="getInverseTransform()[F"/>
+		<method name="getInverseTransform([F)[F"/>
+		<method name="getOetf()Ljava/util/function/DoubleUnaryOperator;"/>
+		<method name="getPrimaries()[F"/>
+		<method name="getPrimaries([F)[F"/>
+		<method name="getTransferParameters()Landroid/graphics/ColorSpace$Rgb$TransferParameters;"/>
+		<method name="getTransform()[F"/>
+		<method name="getTransform([F)[F"/>
+		<method name="getWhitePoint()[F"/>
+		<method name="getWhitePoint([F)[F"/>
+		<method name="toLinear(FFF)[F"/>
+		<method name="toLinear([F)[F"/>
+	</class>
+	<class name="android/graphics/ColorSpace$Rgb$TransferParameters" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(DDDDD)V"/>
+		<method name="&lt;init>(DDDDDDD)V"/>
+		<field name="a"/>
+		<field name="b"/>
+		<field name="c"/>
+		<field name="d"/>
+		<field name="e"/>
+		<field name="f"/>
+		<field name="g"/>
+	</class>
+	<class name="android/graphics/ComposePathEffect" since="1">
+		<extends name="android/graphics/PathEffect"/>
+		<method name="&lt;init>(Landroid/graphics/PathEffect;Landroid/graphics/PathEffect;)V"/>
+	</class>
+	<class name="android/graphics/ComposeShader" since="1">
+		<extends name="android/graphics/Shader"/>
+		<method name="&lt;init>(Landroid/graphics/Shader;Landroid/graphics/Shader;Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="&lt;init>(Landroid/graphics/Shader;Landroid/graphics/Shader;Landroid/graphics/PorterDuff$Mode;)V"/>
+		<method name="&lt;init>(Landroid/graphics/Shader;Landroid/graphics/Shader;Landroid/graphics/Xfermode;)V" deprecated="29"/>
+	</class>
+	<class name="android/graphics/CornerPathEffect" since="1">
+		<extends name="android/graphics/PathEffect"/>
+		<method name="&lt;init>(F)V"/>
+	</class>
+	<class name="android/graphics/DashPathEffect" since="1">
+		<extends name="android/graphics/PathEffect"/>
+		<method name="&lt;init>([FF)V"/>
+	</class>
+	<class name="android/graphics/DiscretePathEffect" since="1">
+		<extends name="android/graphics/PathEffect"/>
+		<method name="&lt;init>(FF)V"/>
+	</class>
+	<class name="android/graphics/DrawFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/graphics/EmbossMaskFilter" since="1">
+		<extends name="android/graphics/MaskFilter"/>
+		<method name="&lt;init>([FFFF)V" deprecated="28"/>
+	</class>
+	<class name="android/graphics/HardwareRenderer" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="clearContent()V"/>
+		<method name="createRenderRequest()Landroid/graphics/HardwareRenderer$FrameRenderRequest;"/>
+		<method name="destroy()V"/>
+		<method name="isOpaque()Z"/>
+		<method name="notifyFramePending()V"/>
+		<method name="setContentRoot(Landroid/graphics/RenderNode;)V"/>
+		<method name="setLightSourceAlpha(FF)V"/>
+		<method name="setLightSourceGeometry(FFFF)V"/>
+		<method name="setName(Ljava/lang/String;)V"/>
+		<method name="setOpaque(Z)V"/>
+		<method name="setSurface(Landroid/view/Surface;)V"/>
+		<method name="start()V"/>
+		<method name="stop()V"/>
+		<field name="SYNC_CONTEXT_IS_STOPPED"/>
+		<field name="SYNC_FRAME_DROPPED"/>
+		<field name="SYNC_LOST_SURFACE_REWARD_IF_FOUND"/>
+		<field name="SYNC_OK"/>
+		<field name="SYNC_REDRAW_REQUESTED"/>
+	</class>
+	<class name="android/graphics/HardwareRenderer$FrameRenderRequest" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="setFrameCommitCallback(Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)Landroid/graphics/HardwareRenderer$FrameRenderRequest;"/>
+		<method name="setVsyncTime(J)Landroid/graphics/HardwareRenderer$FrameRenderRequest;"/>
+		<method name="setWaitForPresent(Z)Landroid/graphics/HardwareRenderer$FrameRenderRequest;"/>
+		<method name="syncAndDraw()I"/>
+	</class>
+	<class name="android/graphics/ImageDecoder" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="createSource(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/graphics/ImageDecoder$Source;"/>
+		<method name="createSource(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/ImageDecoder$Source;"/>
+		<method name="createSource(Landroid/content/res/Resources;I)Landroid/graphics/ImageDecoder$Source;"/>
+		<method name="createSource(Ljava/io/File;)Landroid/graphics/ImageDecoder$Source;"/>
+		<method name="createSource(Ljava/nio/ByteBuffer;)Landroid/graphics/ImageDecoder$Source;"/>
+		<method name="createSource(Ljava/util/concurrent/Callable;)Landroid/graphics/ImageDecoder$Source;" since="29"/>
+		<method name="createSource([B)Landroid/graphics/ImageDecoder$Source;" since="31"/>
+		<method name="createSource([BII)Landroid/graphics/ImageDecoder$Source;" since="31"/>
+		<method name="decodeBitmap(Landroid/graphics/ImageDecoder$Source;)Landroid/graphics/Bitmap;"/>
+		<method name="decodeBitmap(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/Bitmap;"/>
+		<method name="decodeDrawable(Landroid/graphics/ImageDecoder$Source;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="decodeDrawable(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getAllocator()I"/>
+		<method name="getCrop()Landroid/graphics/Rect;"/>
+		<method name="getMemorySizePolicy()I"/>
+		<method name="getOnPartialImageListener()Landroid/graphics/ImageDecoder$OnPartialImageListener;"/>
+		<method name="getPostProcessor()Landroid/graphics/PostProcessor;"/>
+		<method name="isDecodeAsAlphaMaskEnabled()Z"/>
+		<method name="isMimeTypeSupported(Ljava/lang/String;)Z" since="29"/>
+		<method name="isMutableRequired()Z"/>
+		<method name="isUnpremultipliedRequired()Z"/>
+		<method name="setAllocator(I)V"/>
+		<method name="setCrop(Landroid/graphics/Rect;)V"/>
+		<method name="setDecodeAsAlphaMaskEnabled(Z)V"/>
+		<method name="setMemorySizePolicy(I)V"/>
+		<method name="setMutableRequired(Z)V"/>
+		<method name="setOnPartialImageListener(Landroid/graphics/ImageDecoder$OnPartialImageListener;)V"/>
+		<method name="setPostProcessor(Landroid/graphics/PostProcessor;)V"/>
+		<method name="setTargetColorSpace(Landroid/graphics/ColorSpace;)V"/>
+		<method name="setTargetSampleSize(I)V"/>
+		<method name="setTargetSize(II)V"/>
+		<method name="setUnpremultipliedRequired(Z)V"/>
+		<field name="ALLOCATOR_DEFAULT"/>
+		<field name="ALLOCATOR_HARDWARE"/>
+		<field name="ALLOCATOR_SHARED_MEMORY"/>
+		<field name="ALLOCATOR_SOFTWARE"/>
+		<field name="MEMORY_POLICY_DEFAULT"/>
+		<field name="MEMORY_POLICY_LOW_RAM"/>
+	</class>
+	<class name="android/graphics/ImageDecoder$DecodeException" since="28">
+		<extends name="java/io/IOException"/>
+		<method name="getError()I"/>
+		<method name="getSource()Landroid/graphics/ImageDecoder$Source;"/>
+		<field name="SOURCE_EXCEPTION"/>
+		<field name="SOURCE_INCOMPLETE"/>
+		<field name="SOURCE_MALFORMED_DATA"/>
+	</class>
+	<class name="android/graphics/ImageDecoder$ImageInfo" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getColorSpace()Landroid/graphics/ColorSpace;"/>
+		<method name="getMimeType()Ljava/lang/String;"/>
+		<method name="getSize()Landroid/util/Size;"/>
+		<method name="isAnimated()Z"/>
+	</class>
+	<class name="android/graphics/ImageDecoder$OnHeaderDecodedListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V"/>
+	</class>
+	<class name="android/graphics/ImageDecoder$OnPartialImageListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="onPartialImage(Landroid/graphics/ImageDecoder$DecodeException;)Z"/>
+	</class>
+	<class name="android/graphics/ImageDecoder$Source" since="28">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/graphics/ImageFormat" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getBitsPerPixel(I)I"/>
+		<field name="DEPTH16" since="23"/>
+		<field name="DEPTH_JPEG" since="29"/>
+		<field name="DEPTH_POINT_CLOUD" since="23"/>
+		<field name="FLEX_RGBA_8888" since="23"/>
+		<field name="FLEX_RGB_888" since="23"/>
+		<field name="HEIC" since="29"/>
+		<field name="JPEG"/>
+		<field name="NV16"/>
+		<field name="NV21"/>
+		<field name="PRIVATE" since="23"/>
+		<field name="RAW10" since="21"/>
+		<field name="RAW12" since="23"/>
+		<field name="RAW_PRIVATE" since="24"/>
+		<field name="RAW_SENSOR" since="21"/>
+		<field name="RGB_565"/>
+		<field name="UNKNOWN"/>
+		<field name="Y8" since="29"/>
+		<field name="YCBCR_P010" since="31"/>
+		<field name="YUV_420_888" since="19"/>
+		<field name="YUV_422_888" since="23"/>
+		<field name="YUV_444_888" since="23"/>
+		<field name="YUY2"/>
+		<field name="YV12" since="9"/>
+	</class>
+	<class name="android/graphics/Insets" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="add(Landroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;"/>
+		<method name="max(Landroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;"/>
+		<method name="min(Landroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;"/>
+		<method name="of(IIII)Landroid/graphics/Insets;"/>
+		<method name="of(Landroid/graphics/Rect;)Landroid/graphics/Insets;"/>
+		<method name="subtract(Landroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;"/>
+		<field name="CREATOR"/>
+		<field name="NONE"/>
+		<field name="bottom"/>
+		<field name="left"/>
+		<field name="right"/>
+		<field name="top"/>
+	</class>
+	<class name="android/graphics/Interpolator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getKeyFrameCount()I"/>
+		<method name="getValueCount()I"/>
+		<method name="reset(I)V"/>
+		<method name="reset(II)V"/>
+		<method name="setKeyFrame(II[F)V"/>
+		<method name="setKeyFrame(II[F[F)V"/>
+		<method name="setRepeatMirror(FZ)V"/>
+		<method name="timeToValues(I[F)Landroid/graphics/Interpolator$Result;"/>
+		<method name="timeToValues([F)Landroid/graphics/Interpolator$Result;"/>
+	</class>
+	<class name="android/graphics/Interpolator$Result" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Interpolator$Result;"/>
+		<method name="values()[Landroid/graphics/Interpolator$Result;"/>
+		<field name="FREEZE_END"/>
+		<field name="FREEZE_START"/>
+		<field name="NORMAL"/>
+	</class>
+	<class name="android/graphics/LayerRasterizer" since="1" deprecated="21" removed="26">
+		<extends name="android/graphics/Rasterizer"/>
+		<method name="&lt;init>()V"/>
+		<method name="addLayer(Landroid/graphics/Paint;)V"/>
+		<method name="addLayer(Landroid/graphics/Paint;FF)V"/>
+	</class>
+	<class name="android/graphics/LightingColorFilter" since="1">
+		<extends name="android/graphics/ColorFilter"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getColorAdd()I" since="26"/>
+		<method name="getColorMultiply()I" since="26"/>
+	</class>
+	<class name="android/graphics/LinearGradient" since="1">
+		<extends name="android/graphics/Shader"/>
+		<method name="&lt;init>(FFFFIILandroid/graphics/Shader$TileMode;)V"/>
+		<method name="&lt;init>(FFFFJJLandroid/graphics/Shader$TileMode;)V" since="29"/>
+		<method name="&lt;init>(FFFF[I[FLandroid/graphics/Shader$TileMode;)V"/>
+		<method name="&lt;init>(FFFF[J[FLandroid/graphics/Shader$TileMode;)V" since="29"/>
+	</class>
+	<class name="android/graphics/MaskFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/graphics/Matrix" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/Matrix;)V"/>
+		<method name="dump(Ljava/io/PrintWriter;)V" since="31"/>
+		<method name="getValues([F)V"/>
+		<method name="invert(Landroid/graphics/Matrix;)Z"/>
+		<method name="isAffine()Z" since="21"/>
+		<method name="isIdentity()Z"/>
+		<method name="mapPoints([F)V"/>
+		<method name="mapPoints([FI[FII)V"/>
+		<method name="mapPoints([F[F)V"/>
+		<method name="mapRadius(F)F"/>
+		<method name="mapRect(Landroid/graphics/RectF;)Z"/>
+		<method name="mapRect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z"/>
+		<method name="mapVectors([F)V"/>
+		<method name="mapVectors([FI[FII)V"/>
+		<method name="mapVectors([F[F)V"/>
+		<method name="postConcat(Landroid/graphics/Matrix;)Z"/>
+		<method name="postRotate(F)Z"/>
+		<method name="postRotate(FFF)Z"/>
+		<method name="postScale(FF)Z"/>
+		<method name="postScale(FFFF)Z"/>
+		<method name="postSkew(FF)Z"/>
+		<method name="postSkew(FFFF)Z"/>
+		<method name="postTranslate(FF)Z"/>
+		<method name="preConcat(Landroid/graphics/Matrix;)Z"/>
+		<method name="preRotate(F)Z"/>
+		<method name="preRotate(FFF)Z"/>
+		<method name="preScale(FF)Z"/>
+		<method name="preScale(FFFF)Z"/>
+		<method name="preSkew(FF)Z"/>
+		<method name="preSkew(FFFF)Z"/>
+		<method name="preTranslate(FF)Z"/>
+		<method name="rectStaysRect()Z"/>
+		<method name="reset()V"/>
+		<method name="set(Landroid/graphics/Matrix;)V"/>
+		<method name="setConcat(Landroid/graphics/Matrix;Landroid/graphics/Matrix;)Z"/>
+		<method name="setPolyToPoly([FI[FII)Z"/>
+		<method name="setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z"/>
+		<method name="setRotate(F)V"/>
+		<method name="setRotate(FFF)V"/>
+		<method name="setScale(FF)V"/>
+		<method name="setScale(FFFF)V"/>
+		<method name="setSinCos(FF)V"/>
+		<method name="setSinCos(FFFF)V"/>
+		<method name="setSkew(FF)V"/>
+		<method name="setSkew(FFFF)V"/>
+		<method name="setTranslate(FF)V"/>
+		<method name="setValues([F)V"/>
+		<method name="toShortString()Ljava/lang/String;"/>
+		<field name="IDENTITY_MATRIX" since="31"/>
+		<field name="MPERSP_0"/>
+		<field name="MPERSP_1"/>
+		<field name="MPERSP_2"/>
+		<field name="MSCALE_X"/>
+		<field name="MSCALE_Y"/>
+		<field name="MSKEW_X"/>
+		<field name="MSKEW_Y"/>
+		<field name="MTRANS_X"/>
+		<field name="MTRANS_Y"/>
+	</class>
+	<class name="android/graphics/Matrix$ScaleToFit" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Matrix$ScaleToFit;"/>
+		<method name="values()[Landroid/graphics/Matrix$ScaleToFit;"/>
+		<field name="CENTER"/>
+		<field name="END"/>
+		<field name="FILL"/>
+		<field name="START"/>
+	</class>
+	<class name="android/graphics/Movie" since="1" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="decodeByteArray([BII)Landroid/graphics/Movie;" deprecated="29"/>
+		<method name="decodeFile(Ljava/lang/String;)Landroid/graphics/Movie;" deprecated="29"/>
+		<method name="decodeStream(Ljava/io/InputStream;)Landroid/graphics/Movie;" deprecated="29"/>
+		<method name="draw(Landroid/graphics/Canvas;FF)V" deprecated="29"/>
+		<method name="draw(Landroid/graphics/Canvas;FFLandroid/graphics/Paint;)V" deprecated="29"/>
+		<method name="duration()I" deprecated="29"/>
+		<method name="height()I" deprecated="29"/>
+		<method name="isOpaque()Z" deprecated="29"/>
+		<method name="setTime(I)Z" deprecated="29"/>
+		<method name="width()I" deprecated="29"/>
+	</class>
+	<class name="android/graphics/NinePatch" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/Bitmap;[B)V" since="19"/>
+		<method name="&lt;init>(Landroid/graphics/Bitmap;[BLjava/lang/String;)V"/>
+		<method name="draw(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V"/>
+		<method name="draw(Landroid/graphics/Canvas;Landroid/graphics/Rect;Landroid/graphics/Paint;)V"/>
+		<method name="draw(Landroid/graphics/Canvas;Landroid/graphics/RectF;)V"/>
+		<method name="getBitmap()Landroid/graphics/Bitmap;" since="19"/>
+		<method name="getDensity()I" since="4"/>
+		<method name="getHeight()I"/>
+		<method name="getName()Ljava/lang/String;" since="19"/>
+		<method name="getPaint()Landroid/graphics/Paint;" since="19"/>
+		<method name="getTransparentRegion(Landroid/graphics/Rect;)Landroid/graphics/Region;"/>
+		<method name="getWidth()I"/>
+		<method name="hasAlpha()Z"/>
+		<method name="isNinePatchChunk([B)Z"/>
+		<method name="setPaint(Landroid/graphics/Paint;)V"/>
+	</class>
+	<class name="android/graphics/Outline" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/Outline;)V"/>
+		<method name="canClip()Z"/>
+		<method name="getAlpha()F"/>
+		<method name="getRadius()F" since="24"/>
+		<method name="getRect(Landroid/graphics/Rect;)Z" since="24"/>
+		<method name="isEmpty()Z"/>
+		<method name="offset(II)V" since="22"/>
+		<method name="set(Landroid/graphics/Outline;)V"/>
+		<method name="setAlpha(F)V"/>
+		<method name="setConvexPath(Landroid/graphics/Path;)V" deprecated="30"/>
+		<method name="setEmpty()V"/>
+		<method name="setOval(IIII)V"/>
+		<method name="setOval(Landroid/graphics/Rect;)V"/>
+		<method name="setPath(Landroid/graphics/Path;)V" since="30"/>
+		<method name="setRect(IIII)V"/>
+		<method name="setRect(Landroid/graphics/Rect;)V"/>
+		<method name="setRoundRect(IIIIF)V"/>
+		<method name="setRoundRect(Landroid/graphics/Rect;F)V"/>
+	</class>
+	<class name="android/graphics/Paint" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/graphics/Paint;)V"/>
+		<method name="ascent()F"/>
+		<method name="breakText(Ljava/lang/CharSequence;IIZF[F)I"/>
+		<method name="breakText(Ljava/lang/String;ZF[F)I"/>
+		<method name="breakText([CIIF[F)I"/>
+		<method name="clearShadowLayer()V"/>
+		<method name="descent()F"/>
+		<method name="equalsForTextMeasurement(Landroid/graphics/Paint;)Z" since="28"/>
+		<method name="getAlpha()I"/>
+		<method name="getBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getColor()I"/>
+		<method name="getColorFilter()Landroid/graphics/ColorFilter;"/>
+		<method name="getColorLong()J" since="29"/>
+		<method name="getEndHyphenEdit()I" since="29"/>
+		<method name="getFillPath(Landroid/graphics/Path;Landroid/graphics/Path;)Z"/>
+		<method name="getFlags()I"/>
+		<method name="getFontFeatureSettings()Ljava/lang/String;" since="21"/>
+		<method name="getFontMetrics()Landroid/graphics/Paint$FontMetrics;"/>
+		<method name="getFontMetrics(Landroid/graphics/Paint$FontMetrics;)F"/>
+		<method name="getFontMetricsInt()Landroid/graphics/Paint$FontMetricsInt;"/>
+		<method name="getFontMetricsInt(Landroid/graphics/Paint$FontMetricsInt;)I"/>
+		<method name="getFontSpacing()F"/>
+		<method name="getFontVariationSettings()Ljava/lang/String;" since="26"/>
+		<method name="getHinting()I" since="14"/>
+		<method name="getLetterSpacing()F" since="21"/>
+		<method name="getMaskFilter()Landroid/graphics/MaskFilter;"/>
+		<method name="getOffsetForAdvance(Ljava/lang/CharSequence;IIIIZF)I" since="23"/>
+		<method name="getOffsetForAdvance([CIIIIZF)I" since="23"/>
+		<method name="getPathEffect()Landroid/graphics/PathEffect;"/>
+		<method name="getRasterizer()Landroid/graphics/Rasterizer;" deprecated="21" removed="26"/>
+		<method name="getRunAdvance(Ljava/lang/CharSequence;IIIIZI)F" since="23"/>
+		<method name="getRunAdvance([CIIIIZI)F" since="23"/>
+		<method name="getShader()Landroid/graphics/Shader;"/>
+		<method name="getShadowLayerColor()I" since="29"/>
+		<method name="getShadowLayerColorLong()J" since="29"/>
+		<method name="getShadowLayerDx()F" since="29"/>
+		<method name="getShadowLayerDy()F" since="29"/>
+		<method name="getShadowLayerRadius()F" since="29"/>
+		<method name="getStartHyphenEdit()I" since="29"/>
+		<method name="getStrikeThruPosition()F" since="29"/>
+		<method name="getStrikeThruThickness()F" since="29"/>
+		<method name="getStrokeCap()Landroid/graphics/Paint$Cap;"/>
+		<method name="getStrokeJoin()Landroid/graphics/Paint$Join;"/>
+		<method name="getStrokeMiter()F"/>
+		<method name="getStrokeWidth()F"/>
+		<method name="getStyle()Landroid/graphics/Paint$Style;"/>
+		<method name="getTextAlign()Landroid/graphics/Paint$Align;"/>
+		<method name="getTextBounds(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V" since="29"/>
+		<method name="getTextBounds(Ljava/lang/String;IILandroid/graphics/Rect;)V"/>
+		<method name="getTextBounds([CIILandroid/graphics/Rect;)V"/>
+		<method name="getTextLocale()Ljava/util/Locale;" since="17"/>
+		<method name="getTextLocales()Landroid/os/LocaleList;" since="24"/>
+		<method name="getTextPath(Ljava/lang/String;IIFFLandroid/graphics/Path;)V"/>
+		<method name="getTextPath([CIIFFLandroid/graphics/Path;)V"/>
+		<method name="getTextRunAdvances([CIIIIZ[FI)F" since="29"/>
+		<method name="getTextRunCursor(Ljava/lang/CharSequence;IIZII)I" since="29"/>
+		<method name="getTextRunCursor([CIIZII)I" since="29"/>
+		<method name="getTextScaleX()F"/>
+		<method name="getTextSize()F"/>
+		<method name="getTextSkewX()F"/>
+		<method name="getTextWidths(Ljava/lang/CharSequence;II[F)I"/>
+		<method name="getTextWidths(Ljava/lang/String;II[F)I"/>
+		<method name="getTextWidths(Ljava/lang/String;[F)I"/>
+		<method name="getTextWidths([CII[F)I"/>
+		<method name="getTypeface()Landroid/graphics/Typeface;"/>
+		<method name="getUnderlinePosition()F" since="29"/>
+		<method name="getUnderlineThickness()F" since="29"/>
+		<method name="getWordSpacing()F" since="29"/>
+		<method name="getXfermode()Landroid/graphics/Xfermode;"/>
+		<method name="hasGlyph(Ljava/lang/String;)Z" since="23"/>
+		<method name="isAntiAlias()Z"/>
+		<method name="isDither()Z"/>
+		<method name="isElegantTextHeight()Z" since="21"/>
+		<method name="isFakeBoldText()Z"/>
+		<method name="isFilterBitmap()Z"/>
+		<method name="isLinearText()Z" deprecated="16"/>
+		<method name="isStrikeThruText()Z"/>
+		<method name="isSubpixelText()Z"/>
+		<method name="isUnderlineText()Z"/>
+		<method name="measureText(Ljava/lang/CharSequence;II)F"/>
+		<method name="measureText(Ljava/lang/String;)F"/>
+		<method name="measureText(Ljava/lang/String;II)F"/>
+		<method name="measureText([CII)F"/>
+		<method name="reset()V"/>
+		<method name="set(Landroid/graphics/Paint;)V"/>
+		<method name="setARGB(IIII)V"/>
+		<method name="setAlpha(I)V"/>
+		<method name="setAntiAlias(Z)V"/>
+		<method name="setBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setColor(I)V"/>
+		<method name="setColor(J)V" since="29"/>
+		<method name="setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;"/>
+		<method name="setDither(Z)V"/>
+		<method name="setElegantTextHeight(Z)V" since="21"/>
+		<method name="setEndHyphenEdit(I)V" since="29"/>
+		<method name="setFakeBoldText(Z)V"/>
+		<method name="setFilterBitmap(Z)V"/>
+		<method name="setFlags(I)V"/>
+		<method name="setFontFeatureSettings(Ljava/lang/String;)V" since="21"/>
+		<method name="setFontVariationSettings(Ljava/lang/String;)Z" since="26"/>
+		<method name="setHinting(I)V" since="14"/>
+		<method name="setLetterSpacing(F)V" since="21"/>
+		<method name="setLinearText(Z)V" deprecated="16"/>
+		<method name="setMaskFilter(Landroid/graphics/MaskFilter;)Landroid/graphics/MaskFilter;"/>
+		<method name="setPathEffect(Landroid/graphics/PathEffect;)Landroid/graphics/PathEffect;"/>
+		<method name="setRasterizer(Landroid/graphics/Rasterizer;)Landroid/graphics/Rasterizer;" deprecated="21" removed="26"/>
+		<method name="setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;"/>
+		<method name="setShadowLayer(FFFI)V"/>
+		<method name="setShadowLayer(FFFJ)V" since="29"/>
+		<method name="setStartHyphenEdit(I)V" since="29"/>
+		<method name="setStrikeThruText(Z)V"/>
+		<method name="setStrokeCap(Landroid/graphics/Paint$Cap;)V"/>
+		<method name="setStrokeJoin(Landroid/graphics/Paint$Join;)V"/>
+		<method name="setStrokeMiter(F)V"/>
+		<method name="setStrokeWidth(F)V"/>
+		<method name="setStyle(Landroid/graphics/Paint$Style;)V"/>
+		<method name="setSubpixelText(Z)V"/>
+		<method name="setTextAlign(Landroid/graphics/Paint$Align;)V"/>
+		<method name="setTextLocale(Ljava/util/Locale;)V" since="17"/>
+		<method name="setTextLocales(Landroid/os/LocaleList;)V" since="24"/>
+		<method name="setTextScaleX(F)V"/>
+		<method name="setTextSize(F)V"/>
+		<method name="setTextSkewX(F)V"/>
+		<method name="setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;"/>
+		<method name="setUnderlineText(Z)V"/>
+		<method name="setWordSpacing(F)V" since="29"/>
+		<method name="setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode;"/>
+		<field name="ANTI_ALIAS_FLAG"/>
+		<field name="CURSOR_AFTER" since="29"/>
+		<field name="CURSOR_AT" since="29"/>
+		<field name="CURSOR_AT_OR_AFTER" since="29"/>
+		<field name="CURSOR_AT_OR_BEFORE" since="29"/>
+		<field name="CURSOR_BEFORE" since="29"/>
+		<field name="DEV_KERN_TEXT_FLAG"/>
+		<field name="DITHER_FLAG"/>
+		<field name="EMBEDDED_BITMAP_TEXT_FLAG" since="19"/>
+		<field name="END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN" since="29"/>
+		<field name="END_HYPHEN_EDIT_INSERT_HYPHEN" since="29"/>
+		<field name="END_HYPHEN_EDIT_INSERT_MAQAF" since="29"/>
+		<field name="END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN" since="29"/>
+		<field name="END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN" since="29"/>
+		<field name="END_HYPHEN_EDIT_NO_EDIT" since="29"/>
+		<field name="END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN" since="29"/>
+		<field name="FAKE_BOLD_TEXT_FLAG"/>
+		<field name="FILTER_BITMAP_FLAG"/>
+		<field name="HINTING_OFF" since="14"/>
+		<field name="HINTING_ON" since="14"/>
+		<field name="LINEAR_TEXT_FLAG"/>
+		<field name="START_HYPHEN_EDIT_INSERT_HYPHEN" since="29"/>
+		<field name="START_HYPHEN_EDIT_INSERT_ZWJ" since="29"/>
+		<field name="START_HYPHEN_EDIT_NO_EDIT" since="29"/>
+		<field name="STRIKE_THRU_TEXT_FLAG"/>
+		<field name="SUBPIXEL_TEXT_FLAG"/>
+		<field name="UNDERLINE_TEXT_FLAG"/>
+	</class>
+	<class name="android/graphics/Paint$Align" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Paint$Align;"/>
+		<method name="values()[Landroid/graphics/Paint$Align;"/>
+		<field name="CENTER"/>
+		<field name="LEFT"/>
+		<field name="RIGHT"/>
+	</class>
+	<class name="android/graphics/Paint$Cap" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Paint$Cap;"/>
+		<method name="values()[Landroid/graphics/Paint$Cap;"/>
+		<field name="BUTT"/>
+		<field name="ROUND"/>
+		<field name="SQUARE"/>
+	</class>
+	<class name="android/graphics/Paint$FontMetrics" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="ascent"/>
+		<field name="bottom"/>
+		<field name="descent"/>
+		<field name="leading"/>
+		<field name="top"/>
+	</class>
+	<class name="android/graphics/Paint$FontMetricsInt" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="ascent"/>
+		<field name="bottom"/>
+		<field name="descent"/>
+		<field name="leading"/>
+		<field name="top"/>
+	</class>
+	<class name="android/graphics/Paint$Join" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Paint$Join;"/>
+		<method name="values()[Landroid/graphics/Paint$Join;"/>
+		<field name="BEVEL"/>
+		<field name="MITER"/>
+		<field name="ROUND"/>
+	</class>
+	<class name="android/graphics/Paint$Style" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Paint$Style;"/>
+		<method name="values()[Landroid/graphics/Paint$Style;"/>
+		<field name="FILL"/>
+		<field name="FILL_AND_STROKE"/>
+		<field name="STROKE"/>
+	</class>
+	<class name="android/graphics/PaintFlagsDrawFilter" since="1">
+		<extends name="android/graphics/DrawFilter"/>
+		<method name="&lt;init>(II)V"/>
+	</class>
+	<class name="android/graphics/ParcelableColorSpace" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/graphics/ColorSpace;)V"/>
+		<method name="getColorSpace()Landroid/graphics/ColorSpace;"/>
+		<method name="isParcelable(Landroid/graphics/ColorSpace;)Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/graphics/Path" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/Path;)V"/>
+		<method name="addArc(FFFFFF)V" since="21"/>
+		<method name="addArc(Landroid/graphics/RectF;FF)V"/>
+		<method name="addCircle(FFFLandroid/graphics/Path$Direction;)V"/>
+		<method name="addOval(FFFFLandroid/graphics/Path$Direction;)V" since="21"/>
+		<method name="addOval(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V"/>
+		<method name="addPath(Landroid/graphics/Path;)V"/>
+		<method name="addPath(Landroid/graphics/Path;FF)V"/>
+		<method name="addPath(Landroid/graphics/Path;Landroid/graphics/Matrix;)V"/>
+		<method name="addRect(FFFFLandroid/graphics/Path$Direction;)V"/>
+		<method name="addRect(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V"/>
+		<method name="addRoundRect(FFFFFFLandroid/graphics/Path$Direction;)V" since="21"/>
+		<method name="addRoundRect(FFFF[FLandroid/graphics/Path$Direction;)V" since="21"/>
+		<method name="addRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Path$Direction;)V"/>
+		<method name="addRoundRect(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V"/>
+		<method name="approximate(F)[F" since="26"/>
+		<method name="arcTo(FFFFFFZ)V" since="21"/>
+		<method name="arcTo(Landroid/graphics/RectF;FF)V"/>
+		<method name="arcTo(Landroid/graphics/RectF;FFZ)V"/>
+		<method name="close()V"/>
+		<method name="computeBounds(Landroid/graphics/RectF;Z)V"/>
+		<method name="cubicTo(FFFFFF)V"/>
+		<method name="getFillType()Landroid/graphics/Path$FillType;"/>
+		<method name="incReserve(I)V"/>
+		<method name="isConvex()Z" since="21" deprecated="30"/>
+		<method name="isEmpty()Z"/>
+		<method name="isInverseFillType()Z"/>
+		<method name="isRect(Landroid/graphics/RectF;)Z"/>
+		<method name="lineTo(FF)V"/>
+		<method name="moveTo(FF)V"/>
+		<method name="offset(FF)V"/>
+		<method name="offset(FFLandroid/graphics/Path;)V"/>
+		<method name="op(Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z" since="19"/>
+		<method name="op(Landroid/graphics/Path;Landroid/graphics/Path;Landroid/graphics/Path$Op;)Z" since="19"/>
+		<method name="quadTo(FFFF)V"/>
+		<method name="rCubicTo(FFFFFF)V"/>
+		<method name="rLineTo(FF)V"/>
+		<method name="rMoveTo(FF)V"/>
+		<method name="rQuadTo(FFFF)V"/>
+		<method name="reset()V"/>
+		<method name="rewind()V"/>
+		<method name="set(Landroid/graphics/Path;)V"/>
+		<method name="setFillType(Landroid/graphics/Path$FillType;)V"/>
+		<method name="setLastPoint(FF)V"/>
+		<method name="toggleInverseFillType()V"/>
+		<method name="transform(Landroid/graphics/Matrix;)V"/>
+		<method name="transform(Landroid/graphics/Matrix;Landroid/graphics/Path;)V"/>
+	</class>
+	<class name="android/graphics/Path$Direction" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Path$Direction;"/>
+		<method name="values()[Landroid/graphics/Path$Direction;"/>
+		<field name="CCW"/>
+		<field name="CW"/>
+	</class>
+	<class name="android/graphics/Path$FillType" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Path$FillType;"/>
+		<method name="values()[Landroid/graphics/Path$FillType;"/>
+		<field name="EVEN_ODD"/>
+		<field name="INVERSE_EVEN_ODD"/>
+		<field name="INVERSE_WINDING"/>
+		<field name="WINDING"/>
+	</class>
+	<class name="android/graphics/Path$Op" since="19">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Path$Op;"/>
+		<method name="values()[Landroid/graphics/Path$Op;"/>
+		<field name="DIFFERENCE"/>
+		<field name="INTERSECT"/>
+		<field name="REVERSE_DIFFERENCE"/>
+		<field name="UNION"/>
+		<field name="XOR"/>
+	</class>
+	<class name="android/graphics/PathDashPathEffect" since="1">
+		<extends name="android/graphics/PathEffect"/>
+		<method name="&lt;init>(Landroid/graphics/Path;FFLandroid/graphics/PathDashPathEffect$Style;)V"/>
+	</class>
+	<class name="android/graphics/PathDashPathEffect$Style" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/PathDashPathEffect$Style;"/>
+		<method name="values()[Landroid/graphics/PathDashPathEffect$Style;"/>
+		<field name="MORPH"/>
+		<field name="ROTATE"/>
+		<field name="TRANSLATE"/>
+	</class>
+	<class name="android/graphics/PathEffect" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/graphics/PathMeasure" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/Path;Z)V"/>
+		<method name="getLength()F"/>
+		<method name="getMatrix(FLandroid/graphics/Matrix;I)Z"/>
+		<method name="getPosTan(F[F[F)Z"/>
+		<method name="getSegment(FFLandroid/graphics/Path;Z)Z"/>
+		<method name="isClosed()Z"/>
+		<method name="nextContour()Z"/>
+		<method name="setPath(Landroid/graphics/Path;Z)V"/>
+		<field name="POSITION_MATRIX_FLAG"/>
+		<field name="TANGENT_MATRIX_FLAG"/>
+	</class>
+	<class name="android/graphics/Picture" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/Picture;)V"/>
+		<method name="beginRecording(II)Landroid/graphics/Canvas;"/>
+		<method name="createFromStream(Ljava/io/InputStream;)Landroid/graphics/Picture;" deprecated="18" removed="29"/>
+		<method name="draw(Landroid/graphics/Canvas;)V"/>
+		<method name="endRecording()V"/>
+		<method name="getHeight()I"/>
+		<method name="getWidth()I"/>
+		<method name="requiresHardwareAcceleration()Z" since="28"/>
+		<method name="writeToStream(Ljava/io/OutputStream;)V" deprecated="18" removed="29"/>
+	</class>
+	<class name="android/graphics/PixelFormat" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="formatHasAlpha(I)Z"/>
+		<method name="getPixelFormatInfo(ILandroid/graphics/PixelFormat;)V"/>
+		<field name="A_8" deprecated="19"/>
+		<field name="JPEG" deprecated="15"/>
+		<field name="LA_88" deprecated="16"/>
+		<field name="L_8" deprecated="19"/>
+		<field name="OPAQUE"/>
+		<field name="RGBA_1010102" since="26"/>
+		<field name="RGBA_4444" deprecated="16"/>
+		<field name="RGBA_5551" deprecated="16"/>
+		<field name="RGBA_8888"/>
+		<field name="RGBA_F16" since="26"/>
+		<field name="RGBX_8888"/>
+		<field name="RGB_332" deprecated="16"/>
+		<field name="RGB_565"/>
+		<field name="RGB_888"/>
+		<field name="TRANSLUCENT"/>
+		<field name="TRANSPARENT"/>
+		<field name="UNKNOWN"/>
+		<field name="YCbCr_420_SP" deprecated="15"/>
+		<field name="YCbCr_422_I" since="5" deprecated="15"/>
+		<field name="YCbCr_422_SP" deprecated="15"/>
+		<field name="bitsPerPixel"/>
+		<field name="bytesPerPixel"/>
+	</class>
+	<class name="android/graphics/PixelXorXfermode" since="1" deprecated="16" removed="24">
+		<extends name="android/graphics/Xfermode"/>
+		<method name="&lt;init>(I)V"/>
+	</class>
+	<class name="android/graphics/Point" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="13"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Landroid/graphics/Point;)V"/>
+		<method name="equals(II)Z"/>
+		<method name="negate()V"/>
+		<method name="offset(II)V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V" since="13"/>
+		<method name="set(II)V"/>
+		<field name="CREATOR" since="13"/>
+		<field name="x"/>
+		<field name="y"/>
+	</class>
+	<class name="android/graphics/PointF" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="13"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(FF)V"/>
+		<method name="&lt;init>(Landroid/graphics/Point;)V"/>
+		<method name="&lt;init>(Landroid/graphics/PointF;)V" since="30"/>
+		<method name="equals(FF)Z"/>
+		<method name="length()F"/>
+		<method name="length(FF)F"/>
+		<method name="negate()V"/>
+		<method name="offset(FF)V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V" since="13"/>
+		<method name="set(FF)V"/>
+		<method name="set(Landroid/graphics/PointF;)V"/>
+		<field name="CREATOR" since="13"/>
+		<field name="x"/>
+		<field name="y"/>
+	</class>
+	<class name="android/graphics/PorterDuff" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/graphics/PorterDuff$Mode" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/PorterDuff$Mode;"/>
+		<method name="values()[Landroid/graphics/PorterDuff$Mode;"/>
+		<field name="ADD" since="11"/>
+		<field name="CLEAR"/>
+		<field name="DARKEN"/>
+		<field name="DST"/>
+		<field name="DST_ATOP"/>
+		<field name="DST_IN"/>
+		<field name="DST_OUT"/>
+		<field name="DST_OVER"/>
+		<field name="LIGHTEN"/>
+		<field name="MULTIPLY"/>
+		<field name="OVERLAY" since="11"/>
+		<field name="SCREEN"/>
+		<field name="SRC"/>
+		<field name="SRC_ATOP"/>
+		<field name="SRC_IN"/>
+		<field name="SRC_OUT"/>
+		<field name="SRC_OVER"/>
+		<field name="XOR"/>
+	</class>
+	<class name="android/graphics/PorterDuffColorFilter" since="1">
+		<extends name="android/graphics/ColorFilter"/>
+		<method name="&lt;init>(ILandroid/graphics/PorterDuff$Mode;)V"/>
+	</class>
+	<class name="android/graphics/PorterDuffXfermode" since="1">
+		<extends name="android/graphics/Xfermode"/>
+		<method name="&lt;init>(Landroid/graphics/PorterDuff$Mode;)V"/>
+	</class>
+	<class name="android/graphics/PostProcessor" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="onPostProcess(Landroid/graphics/Canvas;)I"/>
+	</class>
+	<class name="android/graphics/RadialGradient" since="1">
+		<extends name="android/graphics/Shader"/>
+		<method name="&lt;init>(FFFFFF[J[FLandroid/graphics/Shader$TileMode;)V" since="31"/>
+		<method name="&lt;init>(FFFIILandroid/graphics/Shader$TileMode;)V"/>
+		<method name="&lt;init>(FFFJJLandroid/graphics/Shader$TileMode;)V" since="29"/>
+		<method name="&lt;init>(FFF[I[FLandroid/graphics/Shader$TileMode;)V"/>
+		<method name="&lt;init>(FFF[J[FLandroid/graphics/Shader$TileMode;)V" since="29"/>
+	</class>
+	<class name="android/graphics/Rasterizer" since="1" deprecated="21" removed="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/graphics/RecordingCanvas" since="29">
+		<extends name="android/graphics/Canvas"/>
+		<method name="drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V"/>
+		<method name="drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/RectF;Landroid/graphics/Paint;)V"/>
+	</class>
+	<class name="android/graphics/Rect" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(IIII)V"/>
+		<method name="&lt;init>(Landroid/graphics/Rect;)V"/>
+		<method name="centerX()I"/>
+		<method name="centerY()I"/>
+		<method name="contains(II)Z"/>
+		<method name="contains(IIII)Z"/>
+		<method name="contains(Landroid/graphics/Rect;)Z"/>
+		<method name="exactCenterX()F"/>
+		<method name="exactCenterY()F"/>
+		<method name="flattenToString()Ljava/lang/String;" since="7"/>
+		<method name="height()I"/>
+		<method name="inset(II)V"/>
+		<method name="inset(IIII)V" since="31"/>
+		<method name="inset(Landroid/graphics/Insets;)V" since="31"/>
+		<method name="intersect(IIII)Z"/>
+		<method name="intersect(Landroid/graphics/Rect;)Z"/>
+		<method name="intersects(IIII)Z"/>
+		<method name="intersects(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z"/>
+		<method name="isEmpty()Z"/>
+		<method name="offset(II)V"/>
+		<method name="offsetTo(II)V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<method name="set(IIII)V"/>
+		<method name="set(Landroid/graphics/Rect;)V"/>
+		<method name="setEmpty()V"/>
+		<method name="setIntersect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z"/>
+		<method name="sort()V"/>
+		<method name="toShortString()Ljava/lang/String;" since="3"/>
+		<method name="unflattenFromString(Ljava/lang/String;)Landroid/graphics/Rect;" since="7"/>
+		<method name="union(II)V"/>
+		<method name="union(IIII)V"/>
+		<method name="union(Landroid/graphics/Rect;)V"/>
+		<method name="width()I"/>
+		<field name="CREATOR"/>
+		<field name="bottom"/>
+		<field name="left"/>
+		<field name="right"/>
+		<field name="top"/>
+	</class>
+	<class name="android/graphics/RectF" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="3"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(FFFF)V"/>
+		<method name="&lt;init>(Landroid/graphics/Rect;)V"/>
+		<method name="&lt;init>(Landroid/graphics/RectF;)V"/>
+		<method name="centerX()F"/>
+		<method name="centerY()F"/>
+		<method name="contains(FF)Z"/>
+		<method name="contains(FFFF)Z"/>
+		<method name="contains(Landroid/graphics/RectF;)Z"/>
+		<method name="height()F"/>
+		<method name="inset(FF)V"/>
+		<method name="intersect(FFFF)Z"/>
+		<method name="intersect(Landroid/graphics/RectF;)Z"/>
+		<method name="intersects(FFFF)Z"/>
+		<method name="intersects(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z"/>
+		<method name="isEmpty()Z"/>
+		<method name="offset(FF)V"/>
+		<method name="offsetTo(FF)V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V" since="3"/>
+		<method name="round(Landroid/graphics/Rect;)V"/>
+		<method name="roundOut(Landroid/graphics/Rect;)V"/>
+		<method name="set(FFFF)V"/>
+		<method name="set(Landroid/graphics/Rect;)V"/>
+		<method name="set(Landroid/graphics/RectF;)V"/>
+		<method name="setEmpty()V"/>
+		<method name="setIntersect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z"/>
+		<method name="sort()V"/>
+		<method name="toShortString()Ljava/lang/String;" since="14"/>
+		<method name="union(FF)V"/>
+		<method name="union(FFFF)V"/>
+		<method name="union(Landroid/graphics/RectF;)V"/>
+		<method name="width()F"/>
+		<field name="CREATOR" since="3"/>
+		<field name="bottom"/>
+		<field name="left"/>
+		<field name="right"/>
+		<field name="top"/>
+	</class>
+	<class name="android/graphics/Region" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(IIII)V"/>
+		<method name="&lt;init>(Landroid/graphics/Rect;)V"/>
+		<method name="&lt;init>(Landroid/graphics/Region;)V"/>
+		<method name="contains(II)Z"/>
+		<method name="getBoundaryPath()Landroid/graphics/Path;"/>
+		<method name="getBoundaryPath(Landroid/graphics/Path;)Z"/>
+		<method name="getBounds()Landroid/graphics/Rect;"/>
+		<method name="getBounds(Landroid/graphics/Rect;)Z"/>
+		<method name="isComplex()Z"/>
+		<method name="isEmpty()Z"/>
+		<method name="isRect()Z"/>
+		<method name="op(IIIILandroid/graphics/Region$Op;)Z"/>
+		<method name="op(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z"/>
+		<method name="op(Landroid/graphics/Rect;Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z"/>
+		<method name="op(Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z"/>
+		<method name="op(Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z"/>
+		<method name="quickContains(IIII)Z"/>
+		<method name="quickContains(Landroid/graphics/Rect;)Z"/>
+		<method name="quickReject(IIII)Z"/>
+		<method name="quickReject(Landroid/graphics/Rect;)Z"/>
+		<method name="quickReject(Landroid/graphics/Region;)Z"/>
+		<method name="set(IIII)Z"/>
+		<method name="set(Landroid/graphics/Rect;)Z"/>
+		<method name="set(Landroid/graphics/Region;)Z"/>
+		<method name="setEmpty()V"/>
+		<method name="setPath(Landroid/graphics/Path;Landroid/graphics/Region;)Z"/>
+		<method name="translate(II)V"/>
+		<method name="translate(IILandroid/graphics/Region;)V"/>
+		<method name="union(Landroid/graphics/Rect;)Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/graphics/Region$Op" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Region$Op;"/>
+		<method name="values()[Landroid/graphics/Region$Op;"/>
+		<field name="DIFFERENCE"/>
+		<field name="INTERSECT"/>
+		<field name="REPLACE"/>
+		<field name="REVERSE_DIFFERENCE"/>
+		<field name="UNION"/>
+		<field name="XOR"/>
+	</class>
+	<class name="android/graphics/RegionIterator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/Region;)V"/>
+		<method name="next(Landroid/graphics/Rect;)Z"/>
+	</class>
+	<class name="android/graphics/RenderEffect" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="createBitmapEffect(Landroid/graphics/Bitmap;)Landroid/graphics/RenderEffect;"/>
+		<method name="createBitmapEffect(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/graphics/RenderEffect;"/>
+		<method name="createBlendModeEffect(Landroid/graphics/RenderEffect;Landroid/graphics/RenderEffect;Landroid/graphics/BlendMode;)Landroid/graphics/RenderEffect;"/>
+		<method name="createBlurEffect(FFLandroid/graphics/RenderEffect;Landroid/graphics/Shader$TileMode;)Landroid/graphics/RenderEffect;"/>
+		<method name="createBlurEffect(FFLandroid/graphics/Shader$TileMode;)Landroid/graphics/RenderEffect;"/>
+		<method name="createChainEffect(Landroid/graphics/RenderEffect;Landroid/graphics/RenderEffect;)Landroid/graphics/RenderEffect;"/>
+		<method name="createColorFilterEffect(Landroid/graphics/ColorFilter;)Landroid/graphics/RenderEffect;"/>
+		<method name="createColorFilterEffect(Landroid/graphics/ColorFilter;Landroid/graphics/RenderEffect;)Landroid/graphics/RenderEffect;"/>
+		<method name="createOffsetEffect(FF)Landroid/graphics/RenderEffect;"/>
+		<method name="createOffsetEffect(FFLandroid/graphics/RenderEffect;)Landroid/graphics/RenderEffect;"/>
+		<method name="createShaderEffect(Landroid/graphics/Shader;)Landroid/graphics/RenderEffect;"/>
+	</class>
+	<class name="android/graphics/RenderNode" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="beginRecording()Landroid/graphics/RecordingCanvas;"/>
+		<method name="beginRecording(II)Landroid/graphics/RecordingCanvas;"/>
+		<method name="computeApproximateMemoryUsage()J"/>
+		<method name="discardDisplayList()V"/>
+		<method name="endRecording()V"/>
+		<method name="getAlpha()F"/>
+		<method name="getAmbientShadowColor()I"/>
+		<method name="getBottom()I"/>
+		<method name="getCameraDistance()F"/>
+		<method name="getClipToBounds()Z"/>
+		<method name="getClipToOutline()Z"/>
+		<method name="getElevation()F"/>
+		<method name="getHeight()I"/>
+		<method name="getInverseMatrix(Landroid/graphics/Matrix;)V"/>
+		<method name="getLeft()I"/>
+		<method name="getMatrix(Landroid/graphics/Matrix;)V"/>
+		<method name="getPivotX()F"/>
+		<method name="getPivotY()F"/>
+		<method name="getRight()I"/>
+		<method name="getRotationX()F"/>
+		<method name="getRotationY()F"/>
+		<method name="getRotationZ()F"/>
+		<method name="getScaleX()F"/>
+		<method name="getScaleY()F"/>
+		<method name="getSpotShadowColor()I"/>
+		<method name="getTop()I"/>
+		<method name="getTranslationX()F"/>
+		<method name="getTranslationY()F"/>
+		<method name="getTranslationZ()F"/>
+		<method name="getUniqueId()J"/>
+		<method name="getUseCompositingLayer()Z"/>
+		<method name="getWidth()I"/>
+		<method name="hasDisplayList()Z"/>
+		<method name="hasIdentityMatrix()Z"/>
+		<method name="hasOverlappingRendering()Z"/>
+		<method name="hasShadow()Z"/>
+		<method name="isForceDarkAllowed()Z"/>
+		<method name="isPivotExplicitlySet()Z"/>
+		<method name="offsetLeftAndRight(I)Z"/>
+		<method name="offsetTopAndBottom(I)Z"/>
+		<method name="resetPivot()Z"/>
+		<method name="setAlpha(F)Z"/>
+		<method name="setAmbientShadowColor(I)Z"/>
+		<method name="setCameraDistance(F)Z"/>
+		<method name="setClipRect(Landroid/graphics/Rect;)Z"/>
+		<method name="setClipToBounds(Z)Z"/>
+		<method name="setClipToOutline(Z)Z"/>
+		<method name="setElevation(F)Z"/>
+		<method name="setForceDarkAllowed(Z)Z"/>
+		<method name="setHasOverlappingRendering(Z)Z"/>
+		<method name="setOutline(Landroid/graphics/Outline;)Z"/>
+		<method name="setPivotX(F)Z"/>
+		<method name="setPivotY(F)Z"/>
+		<method name="setPosition(IIII)Z"/>
+		<method name="setPosition(Landroid/graphics/Rect;)Z"/>
+		<method name="setProjectBackwards(Z)Z"/>
+		<method name="setProjectionReceiver(Z)Z"/>
+		<method name="setRenderEffect(Landroid/graphics/RenderEffect;)Z" since="31"/>
+		<method name="setRotationX(F)Z"/>
+		<method name="setRotationY(F)Z"/>
+		<method name="setRotationZ(F)Z"/>
+		<method name="setScaleX(F)Z"/>
+		<method name="setScaleY(F)Z"/>
+		<method name="setSpotShadowColor(I)Z"/>
+		<method name="setTranslationX(F)Z"/>
+		<method name="setTranslationY(F)Z"/>
+		<method name="setTranslationZ(F)Z"/>
+		<method name="setUseCompositingLayer(ZLandroid/graphics/Paint;)Z"/>
+	</class>
+	<class name="android/graphics/Shader" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="26"/>
+		<method name="getLocalMatrix(Landroid/graphics/Matrix;)Z"/>
+		<method name="setLocalMatrix(Landroid/graphics/Matrix;)V"/>
+	</class>
+	<class name="android/graphics/Shader$TileMode" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/Shader$TileMode;"/>
+		<method name="values()[Landroid/graphics/Shader$TileMode;"/>
+		<field name="CLAMP"/>
+		<field name="DECAL" since="31"/>
+		<field name="MIRROR"/>
+		<field name="REPEAT"/>
+	</class>
+	<class name="android/graphics/SumPathEffect" since="1">
+		<extends name="android/graphics/PathEffect"/>
+		<method name="&lt;init>(Landroid/graphics/PathEffect;Landroid/graphics/PathEffect;)V"/>
+	</class>
+	<class name="android/graphics/SurfaceTexture" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IZ)V" since="19"/>
+		<method name="&lt;init>(Z)V" since="26"/>
+		<method name="attachToGLContext(I)V" since="16"/>
+		<method name="detachFromGLContext()V" since="16"/>
+		<method name="getTimestamp()J" since="14"/>
+		<method name="getTransformMatrix([F)V"/>
+		<method name="isReleased()Z" since="26"/>
+		<method name="release()V" since="14"/>
+		<method name="releaseTexImage()V" since="19"/>
+		<method name="setDefaultBufferSize(II)V" since="15"/>
+		<method name="setOnFrameAvailableListener(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;)V"/>
+		<method name="setOnFrameAvailableListener(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;Landroid/os/Handler;)V" since="21"/>
+		<method name="updateTexImage()V"/>
+	</class>
+	<class name="android/graphics/SurfaceTexture$OnFrameAvailableListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onFrameAvailable(Landroid/graphics/SurfaceTexture;)V"/>
+	</class>
+	<class name="android/graphics/SurfaceTexture$OutOfResourcesException" since="11" deprecated="19">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="29"/>
+	</class>
+	<class name="android/graphics/SweepGradient" since="1">
+		<extends name="android/graphics/Shader"/>
+		<method name="&lt;init>(FFII)V"/>
+		<method name="&lt;init>(FFJJ)V" since="29"/>
+		<method name="&lt;init>(FF[I[F)V"/>
+		<method name="&lt;init>(FF[J[F)V" since="29"/>
+	</class>
+	<class name="android/graphics/Typeface" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface;"/>
+		<method name="create(Landroid/graphics/Typeface;IZ)Landroid/graphics/Typeface;" since="28"/>
+		<method name="create(Ljava/lang/String;I)Landroid/graphics/Typeface;"/>
+		<method name="createFromAsset(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;"/>
+		<method name="createFromFile(Ljava/io/File;)Landroid/graphics/Typeface;" since="4"/>
+		<method name="createFromFile(Ljava/lang/String;)Landroid/graphics/Typeface;" since="4"/>
+		<method name="defaultFromStyle(I)Landroid/graphics/Typeface;"/>
+		<method name="getStyle()I"/>
+		<method name="getWeight()I" since="28"/>
+		<method name="isBold()Z"/>
+		<method name="isItalic()Z"/>
+		<field name="BOLD"/>
+		<field name="BOLD_ITALIC"/>
+		<field name="DEFAULT"/>
+		<field name="DEFAULT_BOLD"/>
+		<field name="ITALIC"/>
+		<field name="MONOSPACE"/>
+		<field name="NORMAL"/>
+		<field name="SANS_SERIF"/>
+		<field name="SERIF"/>
+	</class>
+	<class name="android/graphics/Typeface$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/res/AssetManager;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/FileDescriptor;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/graphics/Typeface;"/>
+		<method name="setFallback(Ljava/lang/String;)Landroid/graphics/Typeface$Builder;"/>
+		<method name="setFontVariationSettings(Ljava/lang/String;)Landroid/graphics/Typeface$Builder;"/>
+		<method name="setFontVariationSettings([Landroid/graphics/fonts/FontVariationAxis;)Landroid/graphics/Typeface$Builder;"/>
+		<method name="setItalic(Z)Landroid/graphics/Typeface$Builder;"/>
+		<method name="setTtcIndex(I)Landroid/graphics/Typeface$Builder;"/>
+		<method name="setWeight(I)Landroid/graphics/Typeface$Builder;"/>
+	</class>
+	<class name="android/graphics/Typeface$CustomFallbackBuilder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/fonts/FontFamily;)V"/>
+		<method name="addCustomFallback(Landroid/graphics/fonts/FontFamily;)Landroid/graphics/Typeface$CustomFallbackBuilder;"/>
+		<method name="build()Landroid/graphics/Typeface;"/>
+		<method name="getMaxCustomFallbackCount()I"/>
+		<method name="setStyle(Landroid/graphics/fonts/FontStyle;)Landroid/graphics/Typeface$CustomFallbackBuilder;"/>
+		<method name="setSystemFallback(Ljava/lang/String;)Landroid/graphics/Typeface$CustomFallbackBuilder;"/>
+	</class>
+	<class name="android/graphics/Xfermode" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/graphics/YuvImage" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>([BIII[I)V"/>
+		<method name="compressToJpeg(Landroid/graphics/Rect;ILjava/io/OutputStream;)Z"/>
+		<method name="getHeight()I"/>
+		<method name="getStrides()[I"/>
+		<method name="getWidth()I"/>
+		<method name="getYuvData()[B"/>
+		<method name="getYuvFormat()I"/>
+	</class>
+	<class name="android/graphics/drawable/AdaptiveIconDrawable" since="26">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<implements name="android/graphics/drawable/Drawable$Callback"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="getBackground()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getExtraInsetFraction()F"/>
+		<method name="getForeground()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getIconMask()Landroid/graphics/Path;"/>
+		<method name="setOpacity(I)V"/>
+	</class>
+	<class name="android/graphics/drawable/Animatable" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="isRunning()Z"/>
+		<method name="start()V"/>
+		<method name="stop()V"/>
+	</class>
+	<class name="android/graphics/drawable/Animatable2" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/graphics/drawable/Animatable"/>
+		<method name="clearAnimationCallbacks()V"/>
+		<method name="registerAnimationCallback(Landroid/graphics/drawable/Animatable2$AnimationCallback;)V"/>
+		<method name="unregisterAnimationCallback(Landroid/graphics/drawable/Animatable2$AnimationCallback;)Z"/>
+	</class>
+	<class name="android/graphics/drawable/Animatable2$AnimationCallback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAnimationEnd(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="onAnimationStart(Landroid/graphics/drawable/Drawable;)V"/>
+	</class>
+	<class name="android/graphics/drawable/AnimatedImageDrawable" since="28">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<implements name="android/graphics/drawable/Animatable2"/>
+		<method name="&lt;init>()V"/>
+		<method name="getRepeatCount()I"/>
+		<method name="setRepeatCount(I)V"/>
+		<field name="REPEAT_INFINITE"/>
+	</class>
+	<class name="android/graphics/drawable/AnimatedStateListDrawable" since="21">
+		<extends name="android/graphics/drawable/StateListDrawable"/>
+		<method name="&lt;init>()V"/>
+		<method name="addState([ILandroid/graphics/drawable/Drawable;I)V"/>
+		<method name="addTransition(IILandroid/graphics/drawable/Drawable;Z)V"/>
+	</class>
+	<class name="android/graphics/drawable/AnimatedVectorDrawable" since="21">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<implements name="android/graphics/drawable/Animatable" removed="23"/>
+		<implements name="android/graphics/drawable/Animatable2" since="23"/>
+		<method name="&lt;init>()V"/>
+		<method name="reset()V" since="23"/>
+	</class>
+	<class name="android/graphics/drawable/AnimationDrawable" since="1">
+		<extends name="android/graphics/drawable/DrawableContainer"/>
+		<implements name="android/graphics/drawable/Animatable" since="4"/>
+		<implements name="java/lang/Runnable"/>
+		<method name="&lt;init>()V"/>
+		<method name="addFrame(Landroid/graphics/drawable/Drawable;I)V"/>
+		<method name="getDuration(I)I"/>
+		<method name="getFrame(I)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getNumberOfFrames()I"/>
+		<method name="isOneShot()Z"/>
+		<method name="isRunning()Z"/>
+		<method name="setOneShot(Z)V"/>
+		<method name="start()V"/>
+		<method name="stop()V"/>
+	</class>
+	<class name="android/graphics/drawable/BitmapDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<method name="&lt;init>()V" deprecated="15"/>
+		<method name="&lt;init>(Landroid/content/res/Resources;)V" since="4" deprecated="18"/>
+		<method name="&lt;init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V" since="4"/>
+		<method name="&lt;init>(Landroid/content/res/Resources;Ljava/io/InputStream;)V" since="5"/>
+		<method name="&lt;init>(Landroid/content/res/Resources;Ljava/lang/String;)V" since="5"/>
+		<method name="&lt;init>(Landroid/graphics/Bitmap;)V" deprecated="15"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V" deprecated="15"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="15"/>
+		<method name="getBitmap()Landroid/graphics/Bitmap;"/>
+		<method name="getGravity()I"/>
+		<method name="getPaint()Landroid/graphics/Paint;"/>
+		<method name="getTileModeX()Landroid/graphics/Shader$TileMode;"/>
+		<method name="getTileModeY()Landroid/graphics/Shader$TileMode;"/>
+		<method name="hasAntiAlias()Z" since="18"/>
+		<method name="hasMipMap()Z" since="18"/>
+		<method name="setAntiAlias(Z)V"/>
+		<method name="setBitmap(Landroid/graphics/Bitmap;)V" since="31"/>
+		<method name="setGravity(I)V"/>
+		<method name="setMipMap(Z)V" since="18"/>
+		<method name="setTargetDensity(I)V" since="4"/>
+		<method name="setTargetDensity(Landroid/graphics/Canvas;)V" since="4"/>
+		<method name="setTargetDensity(Landroid/util/DisplayMetrics;)V" since="4"/>
+		<method name="setTileModeX(Landroid/graphics/Shader$TileMode;)V"/>
+		<method name="setTileModeXY(Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V"/>
+		<method name="setTileModeY(Landroid/graphics/Shader$TileMode;)V"/>
+	</class>
+	<class name="android/graphics/drawable/ClipDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" removed="23"/>
+		<extends name="android/graphics/drawable/DrawableWrapper" since="23"/>
+		<implements name="android/graphics/drawable/Drawable$Callback" removed="23"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;II)V"/>
+		<field name="HORIZONTAL"/>
+		<field name="VERTICAL"/>
+	</class>
+	<class name="android/graphics/drawable/ColorDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getAlpha()I"/>
+		<method name="getColor()I" since="11"/>
+		<method name="setColor(I)V" since="11"/>
+	</class>
+	<class name="android/graphics/drawable/ColorStateListDrawable" since="29">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<implements name="android/graphics/drawable/Drawable$Callback"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/res/ColorStateList;)V"/>
+		<method name="clearAlpha()V"/>
+		<method name="getColorStateList()Landroid/content/res/ColorStateList;"/>
+		<method name="hasFocusStateSpecified()Z"/>
+		<method name="setColorStateList(Landroid/content/res/ColorStateList;)V"/>
+	</class>
+	<class name="android/graphics/drawable/Drawable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="applyTheme(Landroid/content/res/Resources$Theme;)V" since="21"/>
+		<method name="canApplyTheme()Z" since="21"/>
+		<method name="clearColorFilter()V"/>
+		<method name="copyBounds()Landroid/graphics/Rect;"/>
+		<method name="copyBounds(Landroid/graphics/Rect;)V"/>
+		<method name="createFromPath(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="createFromResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;" since="4"/>
+		<method name="createFromResourceStream(Landroid/content/res/Resources;Landroid/util/TypedValue;Ljava/io/InputStream;Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/drawable/Drawable;" since="5" deprecated="28"/>
+		<method name="createFromStream(Ljava/io/InputStream;Ljava/lang/String;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="createFromXml(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="createFromXml(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;" since="21"/>
+		<method name="createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="createFromXmlInner(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;" since="21"/>
+		<method name="draw(Landroid/graphics/Canvas;)V"/>
+		<method name="getAlpha()I" since="19"/>
+		<method name="getBounds()Landroid/graphics/Rect;"/>
+		<method name="getCallback()Landroid/graphics/drawable/Drawable$Callback;" since="11"/>
+		<method name="getChangingConfigurations()I"/>
+		<method name="getColorFilter()Landroid/graphics/ColorFilter;" since="21"/>
+		<method name="getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;"/>
+		<method name="getCurrent()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getDirtyBounds()Landroid/graphics/Rect;" since="21"/>
+		<method name="getHotspotBounds(Landroid/graphics/Rect;)V" since="23"/>
+		<method name="getIntrinsicHeight()I"/>
+		<method name="getIntrinsicWidth()I"/>
+		<method name="getLayoutDirection()I" since="23"/>
+		<method name="getLevel()I"/>
+		<method name="getMinimumHeight()I"/>
+		<method name="getMinimumWidth()I"/>
+		<method name="getOpacity()I" deprecated="29"/>
+		<method name="getOpticalInsets()Landroid/graphics/Insets;" since="29"/>
+		<method name="getOutline(Landroid/graphics/Outline;)V" since="21"/>
+		<method name="getPadding(Landroid/graphics/Rect;)Z"/>
+		<method name="getState()[I"/>
+		<method name="getTransparentRegion()Landroid/graphics/Region;"/>
+		<method name="hasFocusStateSpecified()Z" since="31"/>
+		<method name="inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)V"/>
+		<method name="inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V" since="21"/>
+		<method name="invalidateSelf()V"/>
+		<method name="isAutoMirrored()Z" since="19"/>
+		<method name="isFilterBitmap()Z" since="23"/>
+		<method name="isProjected()Z" since="29"/>
+		<method name="isStateful()Z"/>
+		<method name="isVisible()Z"/>
+		<method name="jumpToCurrentState()V" since="11"/>
+		<method name="mutate()Landroid/graphics/drawable/Drawable;" since="3"/>
+		<method name="onBoundsChange(Landroid/graphics/Rect;)V"/>
+		<method name="onLayoutDirectionChanged(I)Z" since="23"/>
+		<method name="onLevelChange(I)Z"/>
+		<method name="onStateChange([I)Z"/>
+		<method name="resolveOpacity(II)I"/>
+		<method name="scheduleSelf(Ljava/lang/Runnable;J)V"/>
+		<method name="setAlpha(I)V"/>
+		<method name="setAutoMirrored(Z)V" since="19"/>
+		<method name="setBounds(IIII)V"/>
+		<method name="setBounds(Landroid/graphics/Rect;)V"/>
+		<method name="setCallback(Landroid/graphics/drawable/Drawable$Callback;)V"/>
+		<method name="setChangingConfigurations(I)V"/>
+		<method name="setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V" deprecated="29"/>
+		<method name="setColorFilter(Landroid/graphics/ColorFilter;)V"/>
+		<method name="setDither(Z)V" deprecated="23"/>
+		<method name="setFilterBitmap(Z)V"/>
+		<method name="setHotspot(FF)V" since="21"/>
+		<method name="setHotspotBounds(IIII)V" since="21"/>
+		<method name="setLayoutDirection(I)Z" since="23"/>
+		<method name="setLevel(I)Z"/>
+		<method name="setState([I)Z"/>
+		<method name="setTint(I)V" since="21"/>
+		<method name="setTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setTintList(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21"/>
+		<method name="setVisible(ZZ)Z"/>
+		<method name="unscheduleSelf(Ljava/lang/Runnable;)V"/>
+	</class>
+	<class name="android/graphics/drawable/Drawable$Callback" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="invalidateDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="scheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;J)V"/>
+		<method name="unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V"/>
+	</class>
+	<class name="android/graphics/drawable/Drawable$ConstantState" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="canApplyTheme()Z" since="21"/>
+		<method name="getChangingConfigurations()I"/>
+		<method name="newDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;" since="5"/>
+		<method name="newDrawable(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;" since="21"/>
+	</class>
+	<class name="android/graphics/drawable/DrawableContainer" since="1">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<implements name="android/graphics/drawable/Drawable$Callback"/>
+		<method name="&lt;init>()V"/>
+		<method name="selectDrawable(I)Z"/>
+		<method name="setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V"/>
+		<method name="setEnterFadeDuration(I)V" since="11"/>
+		<method name="setExitFadeDuration(I)V" since="11"/>
+	</class>
+	<class name="android/graphics/drawable/DrawableContainer$DrawableContainerState" since="1">
+		<extends name="android/graphics/drawable/Drawable$ConstantState"/>
+		<method name="addChild(Landroid/graphics/drawable/Drawable;)I"/>
+		<method name="canConstantState()Z"/>
+		<method name="computeConstantSize()V" since="11"/>
+		<method name="getChild(I)Landroid/graphics/drawable/Drawable;" since="19"/>
+		<method name="getChildCount()I"/>
+		<method name="getChildren()[Landroid/graphics/drawable/Drawable;"/>
+		<method name="getConstantHeight()I"/>
+		<method name="getConstantMinimumHeight()I"/>
+		<method name="getConstantMinimumWidth()I"/>
+		<method name="getConstantPadding()Landroid/graphics/Rect;"/>
+		<method name="getConstantWidth()I"/>
+		<method name="getEnterFadeDuration()I" since="11"/>
+		<method name="getExitFadeDuration()I" since="11"/>
+		<method name="getOpacity()I"/>
+		<method name="growArray(II)V"/>
+		<method name="isConstantSize()Z"/>
+		<method name="isStateful()Z"/>
+		<method name="setConstantSize(Z)V"/>
+		<method name="setEnterFadeDuration(I)V" since="11"/>
+		<method name="setExitFadeDuration(I)V" since="11"/>
+		<method name="setVariablePadding(Z)V"/>
+	</class>
+	<class name="android/graphics/drawable/DrawableWrapper" since="23">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<implements name="android/graphics/drawable/Drawable$Callback"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="setDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+	</class>
+	<class name="android/graphics/drawable/GradientDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/GradientDrawable$Orientation;[I)V"/>
+		<method name="getColor()Landroid/content/res/ColorStateList;" since="24"/>
+		<method name="getColors()[I" since="24"/>
+		<method name="getCornerRadii()[F" since="24"/>
+		<method name="getCornerRadius()F" since="24"/>
+		<method name="getGradientCenterX()F" since="24"/>
+		<method name="getGradientCenterY()F" since="24"/>
+		<method name="getGradientRadius()F" since="21"/>
+		<method name="getGradientType()I" since="24"/>
+		<method name="getInnerRadius()I" since="29"/>
+		<method name="getInnerRadiusRatio()F" since="29"/>
+		<method name="getOrientation()Landroid/graphics/drawable/GradientDrawable$Orientation;" since="16"/>
+		<method name="getShape()I" since="24"/>
+		<method name="getThickness()I" since="29"/>
+		<method name="getThicknessRatio()F" since="29"/>
+		<method name="getUseLevel()Z" since="24"/>
+		<method name="setColor(I)V"/>
+		<method name="setColor(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setColors([I)V" since="16"/>
+		<method name="setColors([I[F)V" since="29"/>
+		<method name="setCornerRadii([F)V"/>
+		<method name="setCornerRadius(F)V"/>
+		<method name="setGradientCenter(FF)V"/>
+		<method name="setGradientRadius(F)V"/>
+		<method name="setGradientType(I)V"/>
+		<method name="setInnerRadius(I)V" since="29"/>
+		<method name="setInnerRadiusRatio(F)V" since="29"/>
+		<method name="setOrientation(Landroid/graphics/drawable/GradientDrawable$Orientation;)V" since="16"/>
+		<method name="setPadding(IIII)V" since="29"/>
+		<method name="setShape(I)V"/>
+		<method name="setSize(II)V"/>
+		<method name="setStroke(II)V"/>
+		<method name="setStroke(IIFF)V"/>
+		<method name="setStroke(ILandroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setStroke(ILandroid/content/res/ColorStateList;FF)V" since="21"/>
+		<method name="setThickness(I)V" since="29"/>
+		<method name="setThicknessRatio(F)V" since="29"/>
+		<method name="setUseLevel(Z)V"/>
+		<field name="LINE"/>
+		<field name="LINEAR_GRADIENT"/>
+		<field name="OVAL"/>
+		<field name="RADIAL_GRADIENT"/>
+		<field name="RECTANGLE"/>
+		<field name="RING"/>
+		<field name="SWEEP_GRADIENT"/>
+	</class>
+	<class name="android/graphics/drawable/GradientDrawable$Orientation" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/graphics/drawable/GradientDrawable$Orientation;"/>
+		<method name="values()[Landroid/graphics/drawable/GradientDrawable$Orientation;"/>
+		<field name="BL_TR"/>
+		<field name="BOTTOM_TOP"/>
+		<field name="BR_TL"/>
+		<field name="LEFT_RIGHT"/>
+		<field name="RIGHT_LEFT"/>
+		<field name="TL_BR"/>
+		<field name="TOP_BOTTOM"/>
+		<field name="TR_BL"/>
+	</class>
+	<class name="android/graphics/drawable/Icon" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="createWithAdaptiveBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/drawable/Icon;" since="26"/>
+		<method name="createWithAdaptiveBitmapContentUri(Landroid/net/Uri;)Landroid/graphics/drawable/Icon;" since="30"/>
+		<method name="createWithAdaptiveBitmapContentUri(Ljava/lang/String;)Landroid/graphics/drawable/Icon;" since="30"/>
+		<method name="createWithBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/drawable/Icon;"/>
+		<method name="createWithContentUri(Landroid/net/Uri;)Landroid/graphics/drawable/Icon;"/>
+		<method name="createWithContentUri(Ljava/lang/String;)Landroid/graphics/drawable/Icon;"/>
+		<method name="createWithData([BII)Landroid/graphics/drawable/Icon;"/>
+		<method name="createWithFilePath(Ljava/lang/String;)Landroid/graphics/drawable/Icon;"/>
+		<method name="createWithResource(Landroid/content/Context;I)Landroid/graphics/drawable/Icon;"/>
+		<method name="createWithResource(Ljava/lang/String;I)Landroid/graphics/drawable/Icon;"/>
+		<method name="getResId()I" since="28"/>
+		<method name="getResPackage()Ljava/lang/String;" since="28"/>
+		<method name="getType()I" since="28"/>
+		<method name="getUri()Landroid/net/Uri;" since="28"/>
+		<method name="loadDrawable(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="loadDrawableAsync(Landroid/content/Context;Landroid/graphics/drawable/Icon$OnDrawableLoadedListener;Landroid/os/Handler;)V"/>
+		<method name="loadDrawableAsync(Landroid/content/Context;Landroid/os/Message;)V"/>
+		<method name="setTint(I)Landroid/graphics/drawable/Icon;"/>
+		<method name="setTintBlendMode(Landroid/graphics/BlendMode;)Landroid/graphics/drawable/Icon;" since="29"/>
+		<method name="setTintList(Landroid/content/res/ColorStateList;)Landroid/graphics/drawable/Icon;"/>
+		<method name="setTintMode(Landroid/graphics/PorterDuff$Mode;)Landroid/graphics/drawable/Icon;"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_ADAPTIVE_BITMAP" since="28"/>
+		<field name="TYPE_BITMAP" since="28"/>
+		<field name="TYPE_DATA" since="28"/>
+		<field name="TYPE_RESOURCE" since="28"/>
+		<field name="TYPE_URI" since="28"/>
+		<field name="TYPE_URI_ADAPTIVE_BITMAP" since="30"/>
+	</class>
+	<class name="android/graphics/drawable/Icon$OnDrawableLoadedListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onDrawableLoaded(Landroid/graphics/drawable/Drawable;)V"/>
+	</class>
+	<class name="android/graphics/drawable/InsetDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" removed="23"/>
+		<extends name="android/graphics/drawable/DrawableWrapper" since="23"/>
+		<implements name="android/graphics/drawable/Drawable$Callback" removed="23"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;F)V" since="26"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;FFFF)V" since="26"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;I)V"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;IIII)V"/>
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;" since="19" removed="23"/>
+	</class>
+	<class name="android/graphics/drawable/LayerDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<implements name="android/graphics/drawable/Drawable$Callback"/>
+		<method name="&lt;init>([Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="addLayer(Landroid/graphics/drawable/Drawable;)I" since="23"/>
+		<method name="findDrawableByLayerId(I)Landroid/graphics/drawable/Drawable;"/>
+		<method name="findIndexByLayerId(I)I" since="23"/>
+		<method name="getBottomPadding()I" since="23"/>
+		<method name="getDrawable(I)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getEndPadding()I" since="23"/>
+		<method name="getId(I)I"/>
+		<method name="getLayerGravity(I)I" since="23"/>
+		<method name="getLayerHeight(I)I" since="23"/>
+		<method name="getLayerInsetBottom(I)I" since="23"/>
+		<method name="getLayerInsetEnd(I)I" since="23"/>
+		<method name="getLayerInsetLeft(I)I" since="23"/>
+		<method name="getLayerInsetRight(I)I" since="23"/>
+		<method name="getLayerInsetStart(I)I" since="23"/>
+		<method name="getLayerInsetTop(I)I" since="23"/>
+		<method name="getLayerWidth(I)I" since="23"/>
+		<method name="getLeftPadding()I" since="23"/>
+		<method name="getNumberOfLayers()I"/>
+		<method name="getPaddingMode()I" since="21"/>
+		<method name="getRightPadding()I" since="23"/>
+		<method name="getStartPadding()I" since="23"/>
+		<method name="getTopPadding()I" since="23"/>
+		<method name="setDrawable(ILandroid/graphics/drawable/Drawable;)V" since="23"/>
+		<method name="setDrawableByLayerId(ILandroid/graphics/drawable/Drawable;)Z"/>
+		<method name="setId(II)V"/>
+		<method name="setLayerGravity(II)V" since="23"/>
+		<method name="setLayerHeight(II)V" since="23"/>
+		<method name="setLayerInset(IIIII)V"/>
+		<method name="setLayerInsetBottom(II)V" since="23"/>
+		<method name="setLayerInsetEnd(II)V" since="23"/>
+		<method name="setLayerInsetLeft(II)V" since="23"/>
+		<method name="setLayerInsetRelative(IIIII)V" since="23"/>
+		<method name="setLayerInsetRight(II)V" since="23"/>
+		<method name="setLayerInsetStart(II)V" since="23"/>
+		<method name="setLayerInsetTop(II)V" since="23"/>
+		<method name="setLayerSize(III)V" since="23"/>
+		<method name="setLayerWidth(II)V" since="23"/>
+		<method name="setOpacity(I)V" since="11"/>
+		<method name="setPadding(IIII)V" since="23"/>
+		<method name="setPaddingMode(I)V" since="21"/>
+		<method name="setPaddingRelative(IIII)V" since="23"/>
+		<field name="INSET_UNDEFINED" since="24"/>
+		<field name="PADDING_MODE_NEST" since="21"/>
+		<field name="PADDING_MODE_STACK" since="21"/>
+	</class>
+	<class name="android/graphics/drawable/LevelListDrawable" since="1">
+		<extends name="android/graphics/drawable/DrawableContainer"/>
+		<method name="&lt;init>()V"/>
+		<method name="addLevel(IILandroid/graphics/drawable/Drawable;)V"/>
+	</class>
+	<class name="android/graphics/drawable/NinePatchDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<method name="&lt;init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;[BLandroid/graphics/Rect;Ljava/lang/String;)V" since="4"/>
+		<method name="&lt;init>(Landroid/content/res/Resources;Landroid/graphics/NinePatch;)V" since="4"/>
+		<method name="&lt;init>(Landroid/graphics/Bitmap;[BLandroid/graphics/Rect;Ljava/lang/String;)V" deprecated="15"/>
+		<method name="&lt;init>(Landroid/graphics/NinePatch;)V" deprecated="15"/>
+		<method name="getPaint()Landroid/graphics/Paint;"/>
+		<method name="setTargetDensity(I)V" since="4"/>
+		<method name="setTargetDensity(Landroid/graphics/Canvas;)V" since="4"/>
+		<method name="setTargetDensity(Landroid/util/DisplayMetrics;)V" since="4"/>
+	</class>
+	<class name="android/graphics/drawable/PaintDrawable" since="1">
+		<extends name="android/graphics/drawable/ShapeDrawable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="setCornerRadii([F)V"/>
+		<method name="setCornerRadius(F)V"/>
+	</class>
+	<class name="android/graphics/drawable/PictureDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<method name="&lt;init>(Landroid/graphics/Picture;)V"/>
+		<method name="getPicture()Landroid/graphics/Picture;"/>
+		<method name="setPicture(Landroid/graphics/Picture;)V"/>
+	</class>
+	<class name="android/graphics/drawable/RippleDrawable" since="21">
+		<extends name="android/graphics/drawable/LayerDrawable"/>
+		<method name="&lt;init>(Landroid/content/res/ColorStateList;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="getEffectColor()Landroid/content/res/ColorStateList;" since="31"/>
+		<method name="getRadius()I" since="23"/>
+		<method name="setColor(Landroid/content/res/ColorStateList;)V"/>
+		<method name="setEffectColor(Landroid/content/res/ColorStateList;)V" since="31"/>
+		<method name="setRadius(I)V" since="23"/>
+		<field name="RADIUS_AUTO" since="23"/>
+	</class>
+	<class name="android/graphics/drawable/RotateDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" removed="23"/>
+		<extends name="android/graphics/drawable/DrawableWrapper" since="23"/>
+		<implements name="android/graphics/drawable/Drawable$Callback" removed="23"/>
+		<method name="&lt;init>()V"/>
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;" since="3" removed="23"/>
+		<method name="getFromDegrees()F" since="21"/>
+		<method name="getPivotX()F" since="21"/>
+		<method name="getPivotY()F" since="21"/>
+		<method name="getToDegrees()F" since="21"/>
+		<method name="isPivotXRelative()Z" since="21"/>
+		<method name="isPivotYRelative()Z" since="21"/>
+		<method name="setDrawable(Landroid/graphics/drawable/Drawable;)V" since="21" removed="23"/>
+		<method name="setFromDegrees(F)V" since="21"/>
+		<method name="setPivotX(F)V" since="21"/>
+		<method name="setPivotXRelative(Z)V" since="21"/>
+		<method name="setPivotY(F)V" since="21"/>
+		<method name="setPivotYRelative(Z)V" since="21"/>
+		<method name="setToDegrees(F)V" since="21"/>
+	</class>
+	<class name="android/graphics/drawable/ScaleDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable" removed="23"/>
+		<extends name="android/graphics/drawable/DrawableWrapper" since="23"/>
+		<implements name="android/graphics/drawable/Drawable$Callback" removed="23"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;IFF)V"/>
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;" since="3" removed="23"/>
+	</class>
+	<class name="android/graphics/drawable/ShapeDrawable" since="1">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/shapes/Shape;)V"/>
+		<method name="getPaint()Landroid/graphics/Paint;"/>
+		<method name="getShaderFactory()Landroid/graphics/drawable/ShapeDrawable$ShaderFactory;"/>
+		<method name="getShape()Landroid/graphics/drawable/shapes/Shape;"/>
+		<method name="inflateTag(Ljava/lang/String;Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Z"/>
+		<method name="onDraw(Landroid/graphics/drawable/shapes/Shape;Landroid/graphics/Canvas;Landroid/graphics/Paint;)V"/>
+		<method name="setIntrinsicHeight(I)V"/>
+		<method name="setIntrinsicWidth(I)V"/>
+		<method name="setPadding(IIII)V"/>
+		<method name="setPadding(Landroid/graphics/Rect;)V"/>
+		<method name="setShaderFactory(Landroid/graphics/drawable/ShapeDrawable$ShaderFactory;)V"/>
+		<method name="setShape(Landroid/graphics/drawable/shapes/Shape;)V"/>
+	</class>
+	<class name="android/graphics/drawable/ShapeDrawable$ShaderFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="resize(II)Landroid/graphics/Shader;"/>
+	</class>
+	<class name="android/graphics/drawable/StateListDrawable" since="1">
+		<extends name="android/graphics/drawable/DrawableContainer"/>
+		<method name="&lt;init>()V"/>
+		<method name="addState([ILandroid/graphics/drawable/Drawable;)V"/>
+		<method name="findStateDrawableIndex([I)I" since="29"/>
+		<method name="getStateCount()I" since="29"/>
+		<method name="getStateDrawable(I)Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getStateSet(I)[I" since="29"/>
+	</class>
+	<class name="android/graphics/drawable/TransitionDrawable" since="1">
+		<extends name="android/graphics/drawable/LayerDrawable"/>
+		<method name="&lt;init>([Landroid/graphics/drawable/Drawable;)V" since="3"/>
+		<method name="isCrossFadeEnabled()Z"/>
+		<method name="resetTransition()V"/>
+		<method name="reverseTransition(I)V"/>
+		<method name="setCrossFadeEnabled(Z)V"/>
+		<method name="startTransition(I)V"/>
+	</class>
+	<class name="android/graphics/drawable/VectorDrawable" since="21">
+		<extends name="android/graphics/drawable/Drawable"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/graphics/drawable/shapes/ArcShape" since="1">
+		<extends name="android/graphics/drawable/shapes/RectShape"/>
+		<method name="&lt;init>(FF)V"/>
+		<method name="clone()Landroid/graphics/drawable/shapes/ArcShape;" since="26"/>
+		<method name="getStartAngle()F" since="26"/>
+		<method name="getSweepAngle()F" since="26"/>
+	</class>
+	<class name="android/graphics/drawable/shapes/OvalShape" since="1">
+		<extends name="android/graphics/drawable/shapes/RectShape"/>
+		<method name="&lt;init>()V"/>
+		<method name="clone()Landroid/graphics/drawable/shapes/OvalShape;" since="26"/>
+	</class>
+	<class name="android/graphics/drawable/shapes/PathShape" since="1">
+		<extends name="android/graphics/drawable/shapes/Shape"/>
+		<method name="&lt;init>(Landroid/graphics/Path;FF)V"/>
+		<method name="clone()Landroid/graphics/drawable/shapes/PathShape;" since="3"/>
+	</class>
+	<class name="android/graphics/drawable/shapes/RectShape" since="1">
+		<extends name="android/graphics/drawable/shapes/Shape"/>
+		<method name="&lt;init>()V"/>
+		<method name="clone()Landroid/graphics/drawable/shapes/RectShape;" since="3"/>
+		<method name="rect()Landroid/graphics/RectF;"/>
+	</class>
+	<class name="android/graphics/drawable/shapes/RoundRectShape" since="1">
+		<extends name="android/graphics/drawable/shapes/RectShape"/>
+		<method name="&lt;init>([FLandroid/graphics/RectF;[F)V"/>
+		<method name="clone()Landroid/graphics/drawable/shapes/RoundRectShape;" since="3"/>
+	</class>
+	<class name="android/graphics/drawable/shapes/Shape" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable" since="3"/>
+		<method name="&lt;init>()V"/>
+		<method name="clone()Landroid/graphics/drawable/shapes/Shape;" since="3"/>
+		<method name="draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V"/>
+		<method name="getHeight()F"/>
+		<method name="getOutline(Landroid/graphics/Outline;)V" since="21"/>
+		<method name="getWidth()F"/>
+		<method name="hasAlpha()Z"/>
+		<method name="onResize(FF)V"/>
+		<method name="resize(FF)V"/>
+	</class>
+	<class name="android/graphics/fonts/Font" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getAxes()[Landroid/graphics/fonts/FontVariationAxis;"/>
+		<method name="getBuffer()Ljava/nio/ByteBuffer;"/>
+		<method name="getFile()Ljava/io/File;"/>
+		<method name="getGlyphBounds(ILandroid/graphics/Paint;Landroid/graphics/RectF;)F" since="31"/>
+		<method name="getLocaleList()Landroid/os/LocaleList;"/>
+		<method name="getMetrics(Landroid/graphics/Paint;Landroid/graphics/Paint$FontMetrics;)V" since="31"/>
+		<method name="getSourceIdentifier()I" since="31"/>
+		<method name="getStyle()Landroid/graphics/fonts/FontStyle;"/>
+		<method name="getTtcIndex()I"/>
+	</class>
+	<class name="android/graphics/fonts/Font$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/res/AssetManager;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Landroid/content/res/Resources;I)V"/>
+		<method name="&lt;init>(Landroid/graphics/fonts/Font;)V" since="31"/>
+		<method name="&lt;init>(Landroid/os/ParcelFileDescriptor;)V"/>
+		<method name="&lt;init>(Landroid/os/ParcelFileDescriptor;JJ)V"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/nio/ByteBuffer;)V"/>
+		<method name="build()Landroid/graphics/fonts/Font;"/>
+		<method name="setFontVariationSettings(Ljava/lang/String;)Landroid/graphics/fonts/Font$Builder;"/>
+		<method name="setFontVariationSettings([Landroid/graphics/fonts/FontVariationAxis;)Landroid/graphics/fonts/Font$Builder;"/>
+		<method name="setSlant(I)Landroid/graphics/fonts/Font$Builder;"/>
+		<method name="setTtcIndex(I)Landroid/graphics/fonts/Font$Builder;"/>
+		<method name="setWeight(I)Landroid/graphics/fonts/Font$Builder;"/>
+	</class>
+	<class name="android/graphics/fonts/FontFamily" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getFont(I)Landroid/graphics/fonts/Font;"/>
+		<method name="getSize()I"/>
+	</class>
+	<class name="android/graphics/fonts/FontFamily$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/fonts/Font;)V"/>
+		<method name="addFont(Landroid/graphics/fonts/Font;)Landroid/graphics/fonts/FontFamily$Builder;"/>
+		<method name="build()Landroid/graphics/fonts/FontFamily;"/>
+	</class>
+	<class name="android/graphics/fonts/FontStyle" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getSlant()I"/>
+		<method name="getWeight()I"/>
+		<field name="FONT_SLANT_ITALIC"/>
+		<field name="FONT_SLANT_UPRIGHT"/>
+		<field name="FONT_WEIGHT_BLACK"/>
+		<field name="FONT_WEIGHT_BOLD"/>
+		<field name="FONT_WEIGHT_EXTRA_BOLD"/>
+		<field name="FONT_WEIGHT_EXTRA_LIGHT"/>
+		<field name="FONT_WEIGHT_LIGHT"/>
+		<field name="FONT_WEIGHT_MAX"/>
+		<field name="FONT_WEIGHT_MEDIUM"/>
+		<field name="FONT_WEIGHT_MIN"/>
+		<field name="FONT_WEIGHT_NORMAL"/>
+		<field name="FONT_WEIGHT_SEMI_BOLD"/>
+		<field name="FONT_WEIGHT_THIN"/>
+	</class>
+	<class name="android/graphics/fonts/FontVariationAxis" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;F)V"/>
+		<method name="fromFontVariationSettings(Ljava/lang/String;)[Landroid/graphics/fonts/FontVariationAxis;"/>
+		<method name="getStyleValue()F"/>
+		<method name="getTag()Ljava/lang/String;"/>
+		<method name="toFontVariationSettings([Landroid/graphics/fonts/FontVariationAxis;)Ljava/lang/String;"/>
+	</class>
+	<class name="android/graphics/fonts/SystemFonts" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getAvailableFonts()Ljava/util/Set;"/>
+	</class>
+	<class name="android/graphics/pdf/PdfDocument" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="close()V"/>
+		<method name="finishPage(Landroid/graphics/pdf/PdfDocument$Page;)V"/>
+		<method name="getPages()Ljava/util/List;"/>
+		<method name="startPage(Landroid/graphics/pdf/PdfDocument$PageInfo;)Landroid/graphics/pdf/PdfDocument$Page;"/>
+		<method name="writeTo(Ljava/io/OutputStream;)V"/>
+	</class>
+	<class name="android/graphics/pdf/PdfDocument$Page" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="getCanvas()Landroid/graphics/Canvas;"/>
+		<method name="getInfo()Landroid/graphics/pdf/PdfDocument$PageInfo;"/>
+	</class>
+	<class name="android/graphics/pdf/PdfDocument$PageInfo" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="getContentRect()Landroid/graphics/Rect;"/>
+		<method name="getPageHeight()I"/>
+		<method name="getPageNumber()I"/>
+		<method name="getPageWidth()I"/>
+	</class>
+	<class name="android/graphics/pdf/PdfDocument$PageInfo$Builder" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="create()Landroid/graphics/pdf/PdfDocument$PageInfo;"/>
+		<method name="setContentRect(Landroid/graphics/Rect;)Landroid/graphics/pdf/PdfDocument$PageInfo$Builder;"/>
+	</class>
+	<class name="android/graphics/pdf/PdfRenderer" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="&lt;init>(Landroid/os/ParcelFileDescriptor;)V"/>
+		<method name="getPageCount()I"/>
+		<method name="openPage(I)Landroid/graphics/pdf/PdfRenderer$Page;"/>
+		<method name="shouldScaleForPrinting()Z"/>
+	</class>
+	<class name="android/graphics/pdf/PdfRenderer$Page" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getHeight()I"/>
+		<method name="getIndex()I"/>
+		<method name="getWidth()I"/>
+		<method name="render(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Matrix;I)V"/>
+		<field name="RENDER_MODE_FOR_DISPLAY"/>
+		<field name="RENDER_MODE_FOR_PRINT"/>
+	</class>
+	<class name="android/graphics/text/LineBreaker" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="computeLineBreaks(Landroid/graphics/text/MeasuredText;Landroid/graphics/text/LineBreaker$ParagraphConstraints;I)Landroid/graphics/text/LineBreaker$Result;"/>
+		<field name="BREAK_STRATEGY_BALANCED"/>
+		<field name="BREAK_STRATEGY_HIGH_QUALITY"/>
+		<field name="BREAK_STRATEGY_SIMPLE"/>
+		<field name="HYPHENATION_FREQUENCY_FULL"/>
+		<field name="HYPHENATION_FREQUENCY_NONE"/>
+		<field name="HYPHENATION_FREQUENCY_NORMAL"/>
+		<field name="JUSTIFICATION_MODE_INTER_WORD"/>
+		<field name="JUSTIFICATION_MODE_NONE"/>
+	</class>
+	<class name="android/graphics/text/LineBreaker$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/graphics/text/LineBreaker;"/>
+		<method name="setBreakStrategy(I)Landroid/graphics/text/LineBreaker$Builder;"/>
+		<method name="setHyphenationFrequency(I)Landroid/graphics/text/LineBreaker$Builder;"/>
+		<method name="setIndents([I)Landroid/graphics/text/LineBreaker$Builder;"/>
+		<method name="setJustificationMode(I)Landroid/graphics/text/LineBreaker$Builder;"/>
+	</class>
+	<class name="android/graphics/text/LineBreaker$ParagraphConstraints" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getDefaultTabStop()F"/>
+		<method name="getFirstWidth()F"/>
+		<method name="getFirstWidthLineCount()I"/>
+		<method name="getTabStops()[F"/>
+		<method name="getWidth()F"/>
+		<method name="setIndent(FI)V"/>
+		<method name="setTabStops([FF)V"/>
+		<method name="setWidth(F)V"/>
+	</class>
+	<class name="android/graphics/text/LineBreaker$Result" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getEndLineHyphenEdit(I)I"/>
+		<method name="getLineAscent(I)F"/>
+		<method name="getLineBreakOffset(I)I"/>
+		<method name="getLineCount()I"/>
+		<method name="getLineDescent(I)F"/>
+		<method name="getLineWidth(I)F"/>
+		<method name="getStartLineHyphenEdit(I)I"/>
+		<method name="hasLineTab(I)Z"/>
+	</class>
+	<class name="android/graphics/text/MeasuredText" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getBounds(IILandroid/graphics/Rect;)V"/>
+		<method name="getCharWidthAt(I)F"/>
+		<method name="getWidth(II)F"/>
+	</class>
+	<class name="android/graphics/text/MeasuredText$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/text/MeasuredText;)V"/>
+		<method name="&lt;init>([C)V"/>
+		<method name="appendReplacementRun(Landroid/graphics/Paint;IF)Landroid/graphics/text/MeasuredText$Builder;"/>
+		<method name="appendStyleRun(Landroid/graphics/Paint;IZ)Landroid/graphics/text/MeasuredText$Builder;"/>
+		<method name="build()Landroid/graphics/text/MeasuredText;"/>
+		<method name="setComputeHyphenation(Z)Landroid/graphics/text/MeasuredText$Builder;"/>
+		<method name="setComputeLayout(Z)Landroid/graphics/text/MeasuredText$Builder;"/>
+	</class>
+	<class name="android/graphics/text/PositionedGlyphs" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getAdvance()F"/>
+		<method name="getAscent()F"/>
+		<method name="getDescent()F"/>
+		<method name="getFont(I)Landroid/graphics/fonts/Font;"/>
+		<method name="getGlyphId(I)I"/>
+		<method name="getGlyphX(I)F"/>
+		<method name="getGlyphY(I)F"/>
+		<method name="getOffsetX()F"/>
+		<method name="getOffsetY()F"/>
+		<method name="glyphCount()I"/>
+	</class>
+	<class name="android/graphics/text/TextRunShaper" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="shapeTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)Landroid/graphics/text/PositionedGlyphs;"/>
+		<method name="shapeTextRun([CIIIIFFZLandroid/graphics/Paint;)Landroid/graphics/text/PositionedGlyphs;"/>
+	</class>
+	<class name="android/hardware/BatteryState" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getCapacity()F"/>
+		<method name="getStatus()I"/>
+		<method name="isPresent()Z"/>
+		<field name="STATUS_CHARGING"/>
+		<field name="STATUS_DISCHARGING"/>
+		<field name="STATUS_FULL"/>
+		<field name="STATUS_NOT_CHARGING"/>
+		<field name="STATUS_UNKNOWN"/>
+	</class>
+	<class name="android/hardware/Camera" since="1" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="addCallbackBuffer([B)V" since="8" deprecated="29"/>
+		<method name="autoFocus(Landroid/hardware/Camera$AutoFocusCallback;)V" deprecated="29"/>
+		<method name="cancelAutoFocus()V" since="5" deprecated="29"/>
+		<method name="enableShutterSound(Z)Z" since="17" deprecated="29"/>
+		<method name="getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V" since="9" deprecated="29"/>
+		<method name="getNumberOfCameras()I" since="9" deprecated="29"/>
+		<method name="getParameters()Landroid/hardware/Camera$Parameters;" deprecated="29"/>
+		<method name="lock()V" since="5" deprecated="29"/>
+		<method name="open()Landroid/hardware/Camera;" deprecated="29"/>
+		<method name="open(I)Landroid/hardware/Camera;" since="9" deprecated="29"/>
+		<method name="reconnect()V" since="8" deprecated="29"/>
+		<method name="release()V" deprecated="29"/>
+		<method name="setAutoFocusMoveCallback(Landroid/hardware/Camera$AutoFocusMoveCallback;)V" since="16" deprecated="29"/>
+		<method name="setDisplayOrientation(I)V" since="8" deprecated="29"/>
+		<method name="setErrorCallback(Landroid/hardware/Camera$ErrorCallback;)V" deprecated="29"/>
+		<method name="setFaceDetectionListener(Landroid/hardware/Camera$FaceDetectionListener;)V" since="14" deprecated="29"/>
+		<method name="setOneShotPreviewCallback(Landroid/hardware/Camera$PreviewCallback;)V" since="3" deprecated="29"/>
+		<method name="setParameters(Landroid/hardware/Camera$Parameters;)V" deprecated="29"/>
+		<method name="setPreviewCallback(Landroid/hardware/Camera$PreviewCallback;)V" deprecated="29"/>
+		<method name="setPreviewCallbackWithBuffer(Landroid/hardware/Camera$PreviewCallback;)V" since="8" deprecated="29"/>
+		<method name="setPreviewDisplay(Landroid/view/SurfaceHolder;)V" deprecated="29"/>
+		<method name="setPreviewTexture(Landroid/graphics/SurfaceTexture;)V" since="11" deprecated="29"/>
+		<method name="setZoomChangeListener(Landroid/hardware/Camera$OnZoomChangeListener;)V" since="8" deprecated="29"/>
+		<method name="startFaceDetection()V" since="14" deprecated="29"/>
+		<method name="startPreview()V" deprecated="29"/>
+		<method name="startSmoothZoom(I)V" since="8" deprecated="29"/>
+		<method name="stopFaceDetection()V" since="14" deprecated="29"/>
+		<method name="stopPreview()V" deprecated="29"/>
+		<method name="stopSmoothZoom()V" since="8" deprecated="29"/>
+		<method name="takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V" deprecated="29"/>
+		<method name="takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V" since="5" deprecated="29"/>
+		<method name="unlock()V" since="5" deprecated="29"/>
+		<field name="ACTION_NEW_PICTURE" since="14" deprecated="24"/>
+		<field name="ACTION_NEW_VIDEO" since="14" deprecated="24"/>
+		<field name="CAMERA_ERROR_EVICTED" since="23" deprecated="29"/>
+		<field name="CAMERA_ERROR_SERVER_DIED" deprecated="29"/>
+		<field name="CAMERA_ERROR_UNKNOWN" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$Area" since="14" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/Rect;I)V" deprecated="29"/>
+		<field name="rect" deprecated="29"/>
+		<field name="weight" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$AutoFocusCallback" since="1" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="onAutoFocus(ZLandroid/hardware/Camera;)V" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$AutoFocusMoveCallback" since="16" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="onAutoFocusMoving(ZLandroid/hardware/Camera;)V" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$CameraInfo" since="9" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<field name="CAMERA_FACING_BACK" deprecated="29"/>
+		<field name="CAMERA_FACING_FRONT" deprecated="29"/>
+		<field name="canDisableShutterSound" since="17" deprecated="29"/>
+		<field name="facing" deprecated="29"/>
+		<field name="orientation" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$ErrorCallback" since="1" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="onError(ILandroid/hardware/Camera;)V" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$Face" since="14" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<field name="id" deprecated="29"/>
+		<field name="leftEye" deprecated="29"/>
+		<field name="mouth" deprecated="29"/>
+		<field name="rect" deprecated="29"/>
+		<field name="rightEye" deprecated="29"/>
+		<field name="score" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$FaceDetectionListener" since="14" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$OnZoomChangeListener" since="8" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="onZoomChange(IZLandroid/hardware/Camera;)V" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$Parameters" since="1" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="flatten()Ljava/lang/String;" deprecated="29"/>
+		<method name="get(Ljava/lang/String;)Ljava/lang/String;" deprecated="29"/>
+		<method name="getAntibanding()Ljava/lang/String;" since="5" deprecated="29"/>
+		<method name="getAutoExposureLock()Z" since="14" deprecated="29"/>
+		<method name="getAutoWhiteBalanceLock()Z" since="14" deprecated="29"/>
+		<method name="getColorEffect()Ljava/lang/String;" since="5" deprecated="29"/>
+		<method name="getExposureCompensation()I" since="8" deprecated="29"/>
+		<method name="getExposureCompensationStep()F" since="8" deprecated="29"/>
+		<method name="getFlashMode()Ljava/lang/String;" since="5" deprecated="29"/>
+		<method name="getFocalLength()F" since="8" deprecated="29"/>
+		<method name="getFocusAreas()Ljava/util/List;" since="14" deprecated="29"/>
+		<method name="getFocusDistances([F)V" since="9" deprecated="29"/>
+		<method name="getFocusMode()Ljava/lang/String;" since="5" deprecated="29"/>
+		<method name="getHorizontalViewAngle()F" since="8" deprecated="29"/>
+		<method name="getInt(Ljava/lang/String;)I" deprecated="29"/>
+		<method name="getJpegQuality()I" since="5" deprecated="29"/>
+		<method name="getJpegThumbnailQuality()I" since="5" deprecated="29"/>
+		<method name="getJpegThumbnailSize()Landroid/hardware/Camera$Size;" since="5" deprecated="29"/>
+		<method name="getMaxExposureCompensation()I" since="8" deprecated="29"/>
+		<method name="getMaxNumDetectedFaces()I" since="14" deprecated="29"/>
+		<method name="getMaxNumFocusAreas()I" since="14" deprecated="29"/>
+		<method name="getMaxNumMeteringAreas()I" since="14" deprecated="29"/>
+		<method name="getMaxZoom()I" since="8" deprecated="29"/>
+		<method name="getMeteringAreas()Ljava/util/List;" since="14" deprecated="29"/>
+		<method name="getMinExposureCompensation()I" since="8" deprecated="29"/>
+		<method name="getPictureFormat()I" deprecated="29"/>
+		<method name="getPictureSize()Landroid/hardware/Camera$Size;" deprecated="29"/>
+		<method name="getPreferredPreviewSizeForVideo()Landroid/hardware/Camera$Size;" since="11" deprecated="29"/>
+		<method name="getPreviewFormat()I" deprecated="29"/>
+		<method name="getPreviewFpsRange([I)V" since="9" deprecated="29"/>
+		<method name="getPreviewFrameRate()I" deprecated="15"/>
+		<method name="getPreviewSize()Landroid/hardware/Camera$Size;" deprecated="29"/>
+		<method name="getSceneMode()Ljava/lang/String;" since="5" deprecated="29"/>
+		<method name="getSupportedAntibanding()Ljava/util/List;" since="5" deprecated="29"/>
+		<method name="getSupportedColorEffects()Ljava/util/List;" since="5" deprecated="29"/>
+		<method name="getSupportedFlashModes()Ljava/util/List;" since="5" deprecated="29"/>
+		<method name="getSupportedFocusModes()Ljava/util/List;" since="5" deprecated="29"/>
+		<method name="getSupportedJpegThumbnailSizes()Ljava/util/List;" since="8" deprecated="29"/>
+		<method name="getSupportedPictureFormats()Ljava/util/List;" since="5" deprecated="29"/>
+		<method name="getSupportedPictureSizes()Ljava/util/List;" since="5" deprecated="29"/>
+		<method name="getSupportedPreviewFormats()Ljava/util/List;" since="5" deprecated="29"/>
+		<method name="getSupportedPreviewFpsRange()Ljava/util/List;" since="9" deprecated="29"/>
+		<method name="getSupportedPreviewFrameRates()Ljava/util/List;" since="5" deprecated="15"/>
+		<method name="getSupportedPreviewSizes()Ljava/util/List;" since="5" deprecated="29"/>
+		<method name="getSupportedSceneModes()Ljava/util/List;" since="5" deprecated="29"/>
+		<method name="getSupportedVideoSizes()Ljava/util/List;" since="11" deprecated="29"/>
+		<method name="getSupportedWhiteBalance()Ljava/util/List;" since="5" deprecated="29"/>
+		<method name="getVerticalViewAngle()F" since="8" deprecated="29"/>
+		<method name="getVideoStabilization()Z" since="15" deprecated="29"/>
+		<method name="getWhiteBalance()Ljava/lang/String;" since="5" deprecated="29"/>
+		<method name="getZoom()I" since="8" deprecated="29"/>
+		<method name="getZoomRatios()Ljava/util/List;" since="8" deprecated="29"/>
+		<method name="isAutoExposureLockSupported()Z" since="14" deprecated="29"/>
+		<method name="isAutoWhiteBalanceLockSupported()Z" since="14" deprecated="29"/>
+		<method name="isSmoothZoomSupported()Z" since="8" deprecated="29"/>
+		<method name="isVideoSnapshotSupported()Z" since="14" deprecated="29"/>
+		<method name="isVideoStabilizationSupported()Z" since="15" deprecated="29"/>
+		<method name="isZoomSupported()Z" since="8" deprecated="29"/>
+		<method name="remove(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="removeGpsData()V" since="5" deprecated="29"/>
+		<method name="set(Ljava/lang/String;I)V" deprecated="29"/>
+		<method name="set(Ljava/lang/String;Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setAntibanding(Ljava/lang/String;)V" since="5" deprecated="29"/>
+		<method name="setAutoExposureLock(Z)V" since="14" deprecated="29"/>
+		<method name="setAutoWhiteBalanceLock(Z)V" since="14" deprecated="29"/>
+		<method name="setColorEffect(Ljava/lang/String;)V" since="5" deprecated="29"/>
+		<method name="setExposureCompensation(I)V" since="8" deprecated="29"/>
+		<method name="setFlashMode(Ljava/lang/String;)V" since="5" deprecated="29"/>
+		<method name="setFocusAreas(Ljava/util/List;)V" since="14" deprecated="29"/>
+		<method name="setFocusMode(Ljava/lang/String;)V" since="5" deprecated="29"/>
+		<method name="setGpsAltitude(D)V" since="5" deprecated="29"/>
+		<method name="setGpsLatitude(D)V" since="5" deprecated="29"/>
+		<method name="setGpsLongitude(D)V" since="5" deprecated="29"/>
+		<method name="setGpsProcessingMethod(Ljava/lang/String;)V" since="8" deprecated="29"/>
+		<method name="setGpsTimestamp(J)V" since="5" deprecated="29"/>
+		<method name="setJpegQuality(I)V" since="5" deprecated="29"/>
+		<method name="setJpegThumbnailQuality(I)V" since="5" deprecated="29"/>
+		<method name="setJpegThumbnailSize(II)V" since="5" deprecated="29"/>
+		<method name="setMeteringAreas(Ljava/util/List;)V" since="14" deprecated="29"/>
+		<method name="setPictureFormat(I)V" deprecated="29"/>
+		<method name="setPictureSize(II)V" deprecated="29"/>
+		<method name="setPreviewFormat(I)V" deprecated="29"/>
+		<method name="setPreviewFpsRange(II)V" since="9" deprecated="29"/>
+		<method name="setPreviewFrameRate(I)V" deprecated="15"/>
+		<method name="setPreviewSize(II)V" deprecated="29"/>
+		<method name="setRecordingHint(Z)V" since="14" deprecated="29"/>
+		<method name="setRotation(I)V" since="5" deprecated="29"/>
+		<method name="setSceneMode(Ljava/lang/String;)V" since="5" deprecated="29"/>
+		<method name="setVideoStabilization(Z)V" since="15" deprecated="29"/>
+		<method name="setWhiteBalance(Ljava/lang/String;)V" since="5" deprecated="29"/>
+		<method name="setZoom(I)V" since="8" deprecated="29"/>
+		<method name="unflatten(Ljava/lang/String;)V" deprecated="29"/>
+		<field name="ANTIBANDING_50HZ" since="5" deprecated="29"/>
+		<field name="ANTIBANDING_60HZ" since="5" deprecated="29"/>
+		<field name="ANTIBANDING_AUTO" since="5" deprecated="29"/>
+		<field name="ANTIBANDING_OFF" since="5" deprecated="29"/>
+		<field name="EFFECT_AQUA" since="5" deprecated="29"/>
+		<field name="EFFECT_BLACKBOARD" since="5" deprecated="29"/>
+		<field name="EFFECT_MONO" since="5" deprecated="29"/>
+		<field name="EFFECT_NEGATIVE" since="5" deprecated="29"/>
+		<field name="EFFECT_NONE" since="5" deprecated="29"/>
+		<field name="EFFECT_POSTERIZE" since="5" deprecated="29"/>
+		<field name="EFFECT_SEPIA" since="5" deprecated="29"/>
+		<field name="EFFECT_SOLARIZE" since="5" deprecated="29"/>
+		<field name="EFFECT_WHITEBOARD" since="5" deprecated="29"/>
+		<field name="FLASH_MODE_AUTO" since="5" deprecated="29"/>
+		<field name="FLASH_MODE_OFF" since="5" deprecated="29"/>
+		<field name="FLASH_MODE_ON" since="5" deprecated="29"/>
+		<field name="FLASH_MODE_RED_EYE" since="5" deprecated="29"/>
+		<field name="FLASH_MODE_TORCH" since="5" deprecated="29"/>
+		<field name="FOCUS_DISTANCE_FAR_INDEX" since="9" deprecated="29"/>
+		<field name="FOCUS_DISTANCE_NEAR_INDEX" since="9" deprecated="29"/>
+		<field name="FOCUS_DISTANCE_OPTIMAL_INDEX" since="9" deprecated="29"/>
+		<field name="FOCUS_MODE_AUTO" since="5" deprecated="29"/>
+		<field name="FOCUS_MODE_CONTINUOUS_PICTURE" since="14" deprecated="29"/>
+		<field name="FOCUS_MODE_CONTINUOUS_VIDEO" since="9" deprecated="29"/>
+		<field name="FOCUS_MODE_EDOF" since="8" deprecated="29"/>
+		<field name="FOCUS_MODE_FIXED" since="5" deprecated="29"/>
+		<field name="FOCUS_MODE_INFINITY" since="5" deprecated="29"/>
+		<field name="FOCUS_MODE_MACRO" since="5" deprecated="29"/>
+		<field name="PREVIEW_FPS_MAX_INDEX" since="9" deprecated="29"/>
+		<field name="PREVIEW_FPS_MIN_INDEX" since="9" deprecated="29"/>
+		<field name="SCENE_MODE_ACTION" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_AUTO" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_BARCODE" since="8" deprecated="29"/>
+		<field name="SCENE_MODE_BEACH" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_CANDLELIGHT" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_FIREWORKS" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_HDR" since="17" deprecated="29"/>
+		<field name="SCENE_MODE_LANDSCAPE" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_NIGHT" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_NIGHT_PORTRAIT" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_PARTY" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_PORTRAIT" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_SNOW" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_SPORTS" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_STEADYPHOTO" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_SUNSET" since="5" deprecated="29"/>
+		<field name="SCENE_MODE_THEATRE" since="5" deprecated="29"/>
+		<field name="WHITE_BALANCE_AUTO" since="5" deprecated="29"/>
+		<field name="WHITE_BALANCE_CLOUDY_DAYLIGHT" since="5" deprecated="29"/>
+		<field name="WHITE_BALANCE_DAYLIGHT" since="5" deprecated="29"/>
+		<field name="WHITE_BALANCE_FLUORESCENT" since="5" deprecated="29"/>
+		<field name="WHITE_BALANCE_INCANDESCENT" since="5" deprecated="29"/>
+		<field name="WHITE_BALANCE_SHADE" since="5" deprecated="29"/>
+		<field name="WHITE_BALANCE_TWILIGHT" since="5" deprecated="29"/>
+		<field name="WHITE_BALANCE_WARM_FLUORESCENT" since="5" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$PictureCallback" since="1" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="onPictureTaken([BLandroid/hardware/Camera;)V" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$PreviewCallback" since="1" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="onPreviewFrame([BLandroid/hardware/Camera;)V" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$ShutterCallback" since="1" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="onShutter()V" deprecated="29"/>
+	</class>
+	<class name="android/hardware/Camera$Size" since="1" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/hardware/Camera;II)V" deprecated="29"/>
+		<field name="height" deprecated="29"/>
+		<field name="width" deprecated="29"/>
+	</class>
+	<class name="android/hardware/ConsumerIrManager" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="getCarrierFrequencies()[Landroid/hardware/ConsumerIrManager$CarrierFrequencyRange;"/>
+		<method name="hasIrEmitter()Z"/>
+		<method name="transmit(I[I)V"/>
+	</class>
+	<class name="android/hardware/ConsumerIrManager$CarrierFrequencyRange" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/hardware/ConsumerIrManager;II)V"/>
+		<method name="getMaxFrequency()I"/>
+		<method name="getMinFrequency()I"/>
+	</class>
+	<class name="android/hardware/GeomagneticField" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(FFFJ)V"/>
+		<method name="getDeclination()F"/>
+		<method name="getFieldStrength()F"/>
+		<method name="getHorizontalStrength()F"/>
+		<method name="getInclination()F"/>
+		<method name="getX()F"/>
+		<method name="getY()F"/>
+		<method name="getZ()F"/>
+	</class>
+	<class name="android/hardware/HardwareBuffer" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="create(IIIIJ)Landroid/hardware/HardwareBuffer;"/>
+		<method name="getFormat()I"/>
+		<method name="getHeight()I"/>
+		<method name="getLayers()I"/>
+		<method name="getUsage()J"/>
+		<method name="getWidth()I"/>
+		<method name="isClosed()Z"/>
+		<method name="isSupported(IIIIJ)Z" since="29"/>
+		<field name="BLOB"/>
+		<field name="CREATOR"/>
+		<field name="DS_24UI8" since="28"/>
+		<field name="DS_FP32UI8" since="28"/>
+		<field name="D_16" since="28"/>
+		<field name="D_24" since="28"/>
+		<field name="D_FP32" since="28"/>
+		<field name="RGBA_1010102"/>
+		<field name="RGBA_8888"/>
+		<field name="RGBA_FP16"/>
+		<field name="RGBX_8888"/>
+		<field name="RGB_565"/>
+		<field name="RGB_888"/>
+		<field name="S_UI8" since="28"/>
+		<field name="USAGE_CPU_READ_OFTEN"/>
+		<field name="USAGE_CPU_READ_RARELY"/>
+		<field name="USAGE_CPU_WRITE_OFTEN"/>
+		<field name="USAGE_CPU_WRITE_RARELY"/>
+		<field name="USAGE_GPU_COLOR_OUTPUT"/>
+		<field name="USAGE_GPU_CUBE_MAP" since="28"/>
+		<field name="USAGE_GPU_DATA_BUFFER"/>
+		<field name="USAGE_GPU_MIPMAP_COMPLETE" since="28"/>
+		<field name="USAGE_GPU_SAMPLED_IMAGE"/>
+		<field name="USAGE_PROTECTED_CONTENT"/>
+		<field name="USAGE_SENSOR_DIRECT_DATA"/>
+		<field name="USAGE_VIDEO_ENCODE"/>
+		<field name="YCBCR_420_888" since="30"/>
+	</class>
+	<class name="android/hardware/Sensor" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="getFifoMaxEventCount()I" since="19"/>
+		<method name="getFifoReservedEventCount()I" since="19"/>
+		<method name="getHighestDirectReportRateLevel()I" since="26"/>
+		<method name="getId()I" since="24"/>
+		<method name="getMaxDelay()I" since="21"/>
+		<method name="getMaximumRange()F"/>
+		<method name="getMinDelay()I" since="9"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPower()F"/>
+		<method name="getReportingMode()I" since="21"/>
+		<method name="getResolution()F"/>
+		<method name="getStringType()Ljava/lang/String;" since="20"/>
+		<method name="getType()I"/>
+		<method name="getVendor()Ljava/lang/String;"/>
+		<method name="getVersion()I"/>
+		<method name="isAdditionalInfoSupported()Z" since="24"/>
+		<method name="isDirectChannelTypeSupported(I)Z" since="26"/>
+		<method name="isDynamicSensor()Z" since="24"/>
+		<method name="isWakeUpSensor()Z" since="21"/>
+		<field name="REPORTING_MODE_CONTINUOUS" since="21"/>
+		<field name="REPORTING_MODE_ONE_SHOT" since="21"/>
+		<field name="REPORTING_MODE_ON_CHANGE" since="21"/>
+		<field name="REPORTING_MODE_SPECIAL_TRIGGER" since="21"/>
+		<field name="STRING_TYPE_ACCELEROMETER" since="20"/>
+		<field name="STRING_TYPE_ACCELEROMETER_UNCALIBRATED" since="26"/>
+		<field name="STRING_TYPE_AMBIENT_TEMPERATURE" since="20"/>
+		<field name="STRING_TYPE_GAME_ROTATION_VECTOR" since="20"/>
+		<field name="STRING_TYPE_GEOMAGNETIC_ROTATION_VECTOR" since="20"/>
+		<field name="STRING_TYPE_GRAVITY" since="20"/>
+		<field name="STRING_TYPE_GYROSCOPE" since="20"/>
+		<field name="STRING_TYPE_GYROSCOPE_UNCALIBRATED" since="20"/>
+		<field name="STRING_TYPE_HEART_BEAT" since="24"/>
+		<field name="STRING_TYPE_HEART_RATE" since="20"/>
+		<field name="STRING_TYPE_HINGE_ANGLE" since="30"/>
+		<field name="STRING_TYPE_LIGHT" since="20"/>
+		<field name="STRING_TYPE_LINEAR_ACCELERATION" since="20"/>
+		<field name="STRING_TYPE_LOW_LATENCY_OFFBODY_DETECT" since="26"/>
+		<field name="STRING_TYPE_MAGNETIC_FIELD" since="20"/>
+		<field name="STRING_TYPE_MAGNETIC_FIELD_UNCALIBRATED" since="20"/>
+		<field name="STRING_TYPE_MOTION_DETECT" since="24"/>
+		<field name="STRING_TYPE_ORIENTATION" since="20" deprecated="20"/>
+		<field name="STRING_TYPE_POSE_6DOF" since="24"/>
+		<field name="STRING_TYPE_PRESSURE" since="20"/>
+		<field name="STRING_TYPE_PROXIMITY" since="20"/>
+		<field name="STRING_TYPE_RELATIVE_HUMIDITY" since="20"/>
+		<field name="STRING_TYPE_ROTATION_VECTOR" since="20"/>
+		<field name="STRING_TYPE_SIGNIFICANT_MOTION" since="20"/>
+		<field name="STRING_TYPE_STATIONARY_DETECT" since="24"/>
+		<field name="STRING_TYPE_STEP_COUNTER" since="20"/>
+		<field name="STRING_TYPE_STEP_DETECTOR" since="20"/>
+		<field name="STRING_TYPE_TEMPERATURE" since="20" deprecated="20"/>
+		<field name="TYPE_ACCELEROMETER"/>
+		<field name="TYPE_ACCELEROMETER_UNCALIBRATED" since="26"/>
+		<field name="TYPE_ALL"/>
+		<field name="TYPE_AMBIENT_TEMPERATURE" since="14"/>
+		<field name="TYPE_DEVICE_PRIVATE_BASE" since="24"/>
+		<field name="TYPE_GAME_ROTATION_VECTOR" since="18"/>
+		<field name="TYPE_GEOMAGNETIC_ROTATION_VECTOR" since="19"/>
+		<field name="TYPE_GRAVITY" since="9"/>
+		<field name="TYPE_GYROSCOPE"/>
+		<field name="TYPE_GYROSCOPE_UNCALIBRATED" since="18"/>
+		<field name="TYPE_HEART_BEAT" since="24"/>
+		<field name="TYPE_HEART_RATE" since="20"/>
+		<field name="TYPE_HINGE_ANGLE" since="30"/>
+		<field name="TYPE_LIGHT"/>
+		<field name="TYPE_LINEAR_ACCELERATION" since="9"/>
+		<field name="TYPE_LOW_LATENCY_OFFBODY_DETECT" since="26"/>
+		<field name="TYPE_MAGNETIC_FIELD"/>
+		<field name="TYPE_MAGNETIC_FIELD_UNCALIBRATED" since="18"/>
+		<field name="TYPE_MOTION_DETECT" since="24"/>
+		<field name="TYPE_ORIENTATION" deprecated="15"/>
+		<field name="TYPE_POSE_6DOF" since="24"/>
+		<field name="TYPE_PRESSURE"/>
+		<field name="TYPE_PROXIMITY"/>
+		<field name="TYPE_RELATIVE_HUMIDITY" since="14"/>
+		<field name="TYPE_ROTATION_VECTOR" since="9"/>
+		<field name="TYPE_SIGNIFICANT_MOTION" since="18"/>
+		<field name="TYPE_STATIONARY_DETECT" since="24"/>
+		<field name="TYPE_STEP_COUNTER" since="19"/>
+		<field name="TYPE_STEP_DETECTOR" since="19"/>
+		<field name="TYPE_TEMPERATURE" deprecated="15"/>
+	</class>
+	<class name="android/hardware/SensorAdditionalInfo" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="TYPE_FRAME_BEGIN"/>
+		<field name="TYPE_FRAME_END"/>
+		<field name="TYPE_INTERNAL_TEMPERATURE"/>
+		<field name="TYPE_SAMPLING"/>
+		<field name="TYPE_SENSOR_PLACEMENT"/>
+		<field name="TYPE_UNTRACKED_DELAY"/>
+		<field name="TYPE_VEC3_CALIBRATION"/>
+		<field name="floatValues"/>
+		<field name="intValues"/>
+		<field name="sensor"/>
+		<field name="serial"/>
+		<field name="type"/>
+	</class>
+	<class name="android/hardware/SensorDirectChannel" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/Channel"/>
+		<method name="configure(Landroid/hardware/Sensor;I)I"/>
+		<field name="RATE_FAST"/>
+		<field name="RATE_NORMAL"/>
+		<field name="RATE_STOP"/>
+		<field name="RATE_VERY_FAST"/>
+		<field name="TYPE_HARDWARE_BUFFER"/>
+		<field name="TYPE_MEMORY_FILE"/>
+	</class>
+	<class name="android/hardware/SensorEvent" since="3">
+		<extends name="java/lang/Object"/>
+		<field name="accuracy"/>
+		<field name="sensor"/>
+		<field name="timestamp"/>
+		<field name="values"/>
+	</class>
+	<class name="android/hardware/SensorEventCallback" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/hardware/SensorEventListener2"/>
+		<method name="&lt;init>()V"/>
+		<method name="onSensorAdditionalInfo(Landroid/hardware/SensorAdditionalInfo;)V"/>
+	</class>
+	<class name="android/hardware/SensorEventListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onAccuracyChanged(Landroid/hardware/Sensor;I)V"/>
+		<method name="onSensorChanged(Landroid/hardware/SensorEvent;)V"/>
+	</class>
+	<class name="android/hardware/SensorEventListener2" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/hardware/SensorEventListener"/>
+		<method name="onFlushCompleted(Landroid/hardware/Sensor;)V"/>
+	</class>
+	<class name="android/hardware/SensorListener" since="1" deprecated="3">
+		<extends name="java/lang/Object"/>
+		<method name="onAccuracyChanged(II)V" deprecated="29"/>
+		<method name="onSensorChanged(I[F)V" deprecated="29"/>
+	</class>
+	<class name="android/hardware/SensorManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="cancelTriggerSensor(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z" since="18"/>
+		<method name="createDirectChannel(Landroid/hardware/HardwareBuffer;)Landroid/hardware/SensorDirectChannel;" since="26"/>
+		<method name="createDirectChannel(Landroid/os/MemoryFile;)Landroid/hardware/SensorDirectChannel;" since="26"/>
+		<method name="flush(Landroid/hardware/SensorEventListener;)Z" since="19"/>
+		<method name="getAltitude(FF)F" since="9"/>
+		<method name="getAngleChange([F[F[F)V" since="9"/>
+		<method name="getDefaultSensor(I)Landroid/hardware/Sensor;" since="3"/>
+		<method name="getDefaultSensor(IZ)Landroid/hardware/Sensor;" since="21"/>
+		<method name="getDynamicSensorList(I)Ljava/util/List;" since="24"/>
+		<method name="getInclination([F)F" since="3"/>
+		<method name="getOrientation([F[F)[F" since="3"/>
+		<method name="getQuaternionFromVector([F[F)V" since="9"/>
+		<method name="getRotationMatrix([F[F[F[F)Z" since="3"/>
+		<method name="getRotationMatrixFromVector([F[F)V" since="9"/>
+		<method name="getSensorList(I)Ljava/util/List;" since="3"/>
+		<method name="getSensors()I" deprecated="15"/>
+		<method name="isDynamicSensorDiscoverySupported()Z" since="24"/>
+		<method name="registerDynamicSensorCallback(Landroid/hardware/SensorManager$DynamicSensorCallback;)V" since="24"/>
+		<method name="registerDynamicSensorCallback(Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;)V" since="24"/>
+		<method name="registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z" since="3"/>
+		<method name="registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;II)Z" since="19"/>
+		<method name="registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;IILandroid/os/Handler;)Z" since="19"/>
+		<method name="registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;)Z" since="3"/>
+		<method name="registerListener(Landroid/hardware/SensorListener;I)Z" deprecated="15"/>
+		<method name="registerListener(Landroid/hardware/SensorListener;II)Z" deprecated="15"/>
+		<method name="remapCoordinateSystem([FII[F)Z" since="3"/>
+		<method name="requestTriggerSensor(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z" since="18"/>
+		<method name="unregisterDynamicSensorCallback(Landroid/hardware/SensorManager$DynamicSensorCallback;)V" since="24"/>
+		<method name="unregisterListener(Landroid/hardware/SensorEventListener;)V" since="3"/>
+		<method name="unregisterListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V" since="3"/>
+		<method name="unregisterListener(Landroid/hardware/SensorListener;)V" deprecated="15"/>
+		<method name="unregisterListener(Landroid/hardware/SensorListener;I)V" deprecated="15"/>
+		<field name="AXIS_MINUS_X" since="3"/>
+		<field name="AXIS_MINUS_Y" since="3"/>
+		<field name="AXIS_MINUS_Z" since="3"/>
+		<field name="AXIS_X" since="3"/>
+		<field name="AXIS_Y" since="3"/>
+		<field name="AXIS_Z" since="3"/>
+		<field name="DATA_X" deprecated="15"/>
+		<field name="DATA_Y" deprecated="15"/>
+		<field name="DATA_Z" deprecated="15"/>
+		<field name="GRAVITY_DEATH_STAR_I"/>
+		<field name="GRAVITY_EARTH"/>
+		<field name="GRAVITY_JUPITER"/>
+		<field name="GRAVITY_MARS"/>
+		<field name="GRAVITY_MERCURY"/>
+		<field name="GRAVITY_MOON"/>
+		<field name="GRAVITY_NEPTUNE"/>
+		<field name="GRAVITY_PLUTO"/>
+		<field name="GRAVITY_SATURN"/>
+		<field name="GRAVITY_SUN"/>
+		<field name="GRAVITY_THE_ISLAND"/>
+		<field name="GRAVITY_URANUS"/>
+		<field name="GRAVITY_VENUS"/>
+		<field name="LIGHT_CLOUDY"/>
+		<field name="LIGHT_FULLMOON"/>
+		<field name="LIGHT_NO_MOON"/>
+		<field name="LIGHT_OVERCAST"/>
+		<field name="LIGHT_SHADE"/>
+		<field name="LIGHT_SUNLIGHT"/>
+		<field name="LIGHT_SUNLIGHT_MAX"/>
+		<field name="LIGHT_SUNRISE"/>
+		<field name="MAGNETIC_FIELD_EARTH_MAX"/>
+		<field name="MAGNETIC_FIELD_EARTH_MIN"/>
+		<field name="PRESSURE_STANDARD_ATMOSPHERE" since="9"/>
+		<field name="RAW_DATA_INDEX" deprecated="15"/>
+		<field name="RAW_DATA_X" deprecated="15"/>
+		<field name="RAW_DATA_Y" deprecated="15"/>
+		<field name="RAW_DATA_Z" deprecated="15"/>
+		<field name="SENSOR_ACCELEROMETER" deprecated="15"/>
+		<field name="SENSOR_ALL" deprecated="15"/>
+		<field name="SENSOR_DELAY_FASTEST"/>
+		<field name="SENSOR_DELAY_GAME"/>
+		<field name="SENSOR_DELAY_NORMAL"/>
+		<field name="SENSOR_DELAY_UI"/>
+		<field name="SENSOR_LIGHT" deprecated="15"/>
+		<field name="SENSOR_MAGNETIC_FIELD" deprecated="15"/>
+		<field name="SENSOR_MAX" deprecated="15"/>
+		<field name="SENSOR_MIN" deprecated="15"/>
+		<field name="SENSOR_ORIENTATION" deprecated="15"/>
+		<field name="SENSOR_ORIENTATION_RAW" deprecated="15"/>
+		<field name="SENSOR_PROXIMITY" deprecated="15"/>
+		<field name="SENSOR_STATUS_ACCURACY_HIGH"/>
+		<field name="SENSOR_STATUS_ACCURACY_LOW"/>
+		<field name="SENSOR_STATUS_ACCURACY_MEDIUM"/>
+		<field name="SENSOR_STATUS_NO_CONTACT" since="20"/>
+		<field name="SENSOR_STATUS_UNRELIABLE"/>
+		<field name="SENSOR_TEMPERATURE" deprecated="15"/>
+		<field name="SENSOR_TRICORDER" deprecated="15"/>
+		<field name="STANDARD_GRAVITY"/>
+	</class>
+	<class name="android/hardware/SensorManager$DynamicSensorCallback" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onDynamicSensorConnected(Landroid/hardware/Sensor;)V"/>
+		<method name="onDynamicSensorDisconnected(Landroid/hardware/Sensor;)V"/>
+	</class>
+	<class name="android/hardware/SensorPrivacyManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="supportsSensorToggle(I)Z"/>
+	</class>
+	<class name="android/hardware/SensorPrivacyManager$Sensors" since="31">
+		<extends name="java/lang/Object"/>
+		<field name="CAMERA"/>
+		<field name="MICROPHONE"/>
+	</class>
+	<class name="android/hardware/TriggerEvent" since="18">
+		<extends name="java/lang/Object"/>
+		<field name="sensor"/>
+		<field name="timestamp"/>
+		<field name="values"/>
+	</class>
+	<class name="android/hardware/TriggerEventListener" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onTrigger(Landroid/hardware/TriggerEvent;)V"/>
+	</class>
+	<class name="android/hardware/biometrics/BiometricManager" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="canAuthenticate()I" deprecated="30"/>
+		<method name="canAuthenticate(I)I" since="30"/>
+		<method name="getStrings(I)Landroid/hardware/biometrics/BiometricManager$Strings;" since="31"/>
+		<field name="BIOMETRIC_ERROR_HW_UNAVAILABLE"/>
+		<field name="BIOMETRIC_ERROR_NONE_ENROLLED"/>
+		<field name="BIOMETRIC_ERROR_NO_HARDWARE"/>
+		<field name="BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED" since="30"/>
+		<field name="BIOMETRIC_SUCCESS"/>
+	</class>
+	<class name="android/hardware/biometrics/BiometricManager$Authenticators" since="30">
+		<extends name="java/lang/Object"/>
+		<field name="BIOMETRIC_STRONG"/>
+		<field name="BIOMETRIC_WEAK"/>
+		<field name="DEVICE_CREDENTIAL"/>
+	</class>
+	<class name="android/hardware/biometrics/BiometricManager$Strings" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getButtonLabel()Ljava/lang/CharSequence;"/>
+		<method name="getPromptMessage()Ljava/lang/CharSequence;"/>
+		<method name="getSettingName()Ljava/lang/CharSequence;"/>
+	</class>
+	<class name="android/hardware/biometrics/BiometricPrompt" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="authenticate(Landroid/hardware/biometrics/BiometricPrompt$CryptoObject;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;)V"/>
+		<method name="authenticate(Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;)V"/>
+		<method name="getAllowedAuthenticators()I" since="30"/>
+		<method name="getDescription()Ljava/lang/CharSequence;" since="30"/>
+		<method name="getNegativeButtonText()Ljava/lang/CharSequence;" since="30"/>
+		<method name="getSubtitle()Ljava/lang/CharSequence;" since="30"/>
+		<method name="getTitle()Ljava/lang/CharSequence;" since="30"/>
+		<method name="isConfirmationRequired()Z" since="30"/>
+		<field name="AUTHENTICATION_RESULT_TYPE_BIOMETRIC" since="30"/>
+		<field name="AUTHENTICATION_RESULT_TYPE_DEVICE_CREDENTIAL" since="30"/>
+		<field name="BIOMETRIC_ACQUIRED_GOOD"/>
+		<field name="BIOMETRIC_ACQUIRED_IMAGER_DIRTY"/>
+		<field name="BIOMETRIC_ACQUIRED_INSUFFICIENT"/>
+		<field name="BIOMETRIC_ACQUIRED_PARTIAL"/>
+		<field name="BIOMETRIC_ACQUIRED_TOO_FAST"/>
+		<field name="BIOMETRIC_ACQUIRED_TOO_SLOW"/>
+		<field name="BIOMETRIC_ERROR_CANCELED"/>
+		<field name="BIOMETRIC_ERROR_HW_NOT_PRESENT"/>
+		<field name="BIOMETRIC_ERROR_HW_UNAVAILABLE"/>
+		<field name="BIOMETRIC_ERROR_LOCKOUT"/>
+		<field name="BIOMETRIC_ERROR_LOCKOUT_PERMANENT"/>
+		<field name="BIOMETRIC_ERROR_NO_BIOMETRICS"/>
+		<field name="BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL" since="29"/>
+		<field name="BIOMETRIC_ERROR_NO_SPACE"/>
+		<field name="BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED" since="30"/>
+		<field name="BIOMETRIC_ERROR_TIMEOUT"/>
+		<field name="BIOMETRIC_ERROR_UNABLE_TO_PROCESS"/>
+		<field name="BIOMETRIC_ERROR_USER_CANCELED"/>
+		<field name="BIOMETRIC_ERROR_VENDOR"/>
+	</class>
+	<class name="android/hardware/biometrics/BiometricPrompt$AuthenticationCallback" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAuthenticationError(ILjava/lang/CharSequence;)V"/>
+		<method name="onAuthenticationFailed()V"/>
+		<method name="onAuthenticationHelp(ILjava/lang/CharSequence;)V"/>
+		<method name="onAuthenticationSucceeded(Landroid/hardware/biometrics/BiometricPrompt$AuthenticationResult;)V"/>
+	</class>
+	<class name="android/hardware/biometrics/BiometricPrompt$AuthenticationResult" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getAuthenticationType()I" since="30"/>
+		<method name="getCryptoObject()Landroid/hardware/biometrics/BiometricPrompt$CryptoObject;"/>
+	</class>
+	<class name="android/hardware/biometrics/BiometricPrompt$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="build()Landroid/hardware/biometrics/BiometricPrompt;"/>
+		<method name="setAllowedAuthenticators(I)Landroid/hardware/biometrics/BiometricPrompt$Builder;" since="30"/>
+		<method name="setConfirmationRequired(Z)Landroid/hardware/biometrics/BiometricPrompt$Builder;" since="29"/>
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt$Builder;"/>
+		<method name="setDeviceCredentialAllowed(Z)Landroid/hardware/biometrics/BiometricPrompt$Builder;" since="29" deprecated="30"/>
+		<method name="setNegativeButton(Ljava/lang/CharSequence;Ljava/util/concurrent/Executor;Landroid/content/DialogInterface$OnClickListener;)Landroid/hardware/biometrics/BiometricPrompt$Builder;"/>
+		<method name="setSubtitle(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt$Builder;"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt$Builder;"/>
+	</class>
+	<class name="android/hardware/biometrics/BiometricPrompt$CryptoObject" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/security/identity/IdentityCredential;)V" since="30"/>
+		<method name="&lt;init>(Ljava/security/Signature;)V"/>
+		<method name="&lt;init>(Ljavax/crypto/Cipher;)V"/>
+		<method name="&lt;init>(Ljavax/crypto/Mac;)V"/>
+		<method name="getCipher()Ljavax/crypto/Cipher;"/>
+		<method name="getIdentityCredential()Landroid/security/identity/IdentityCredential;" since="30"/>
+		<method name="getMac()Ljavax/crypto/Mac;"/>
+		<method name="getSignature()Ljava/security/Signature;"/>
+	</class>
+	<class name="android/hardware/camera2/CameraAccessException" since="21">
+		<extends name="android/util/AndroidException"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+		<method name="&lt;init>(ILjava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(ILjava/lang/Throwable;)V"/>
+		<method name="getReason()I"/>
+		<field name="CAMERA_DISABLED"/>
+		<field name="CAMERA_DISCONNECTED"/>
+		<field name="CAMERA_ERROR"/>
+		<field name="CAMERA_IN_USE" since="23"/>
+		<field name="MAX_CAMERAS_IN_USE" since="23"/>
+	</class>
+	<class name="android/hardware/camera2/CameraCaptureSession" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="&lt;init>()V"/>
+		<method name="abortCaptures()V"/>
+		<method name="capture(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I"/>
+		<method name="captureBurst(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I"/>
+		<method name="captureBurstRequests(Ljava/util/List;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)I" since="28"/>
+		<method name="captureSingleRequest(Landroid/hardware/camera2/CaptureRequest;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)I" since="28"/>
+		<method name="finalizeOutputConfigurations(Ljava/util/List;)V" since="26"/>
+		<method name="getDevice()Landroid/hardware/camera2/CameraDevice;"/>
+		<method name="getInputSurface()Landroid/view/Surface;" since="23"/>
+		<method name="isReprocessable()Z" since="23"/>
+		<method name="prepare(Landroid/view/Surface;)V" since="23"/>
+		<method name="setRepeatingBurst(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I"/>
+		<method name="setRepeatingBurstRequests(Ljava/util/List;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)I" since="28"/>
+		<method name="setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I"/>
+		<method name="setSingleRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)I" since="28"/>
+		<method name="stopRepeating()V"/>
+		<method name="supportsOfflineProcessing(Landroid/view/Surface;)Z" since="30"/>
+		<method name="switchToOffline(Ljava/util/Collection;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraOfflineSession$CameraOfflineSessionCallback;)Landroid/hardware/camera2/CameraOfflineSession;" since="30"/>
+		<method name="updateOutputConfiguration(Landroid/hardware/camera2/params/OutputConfiguration;)V" since="28"/>
+	</class>
+	<class name="android/hardware/camera2/CameraCaptureSession$CaptureCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCaptureBufferLost(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;Landroid/view/Surface;J)V" since="24"/>
+		<method name="onCaptureCompleted(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/TotalCaptureResult;)V"/>
+		<method name="onCaptureFailed(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureFailure;)V"/>
+		<method name="onCaptureProgressed(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureResult;)V"/>
+		<method name="onCaptureSequenceAborted(Landroid/hardware/camera2/CameraCaptureSession;I)V"/>
+		<method name="onCaptureSequenceCompleted(Landroid/hardware/camera2/CameraCaptureSession;IJ)V"/>
+		<method name="onCaptureStarted(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;JJ)V"/>
+	</class>
+	<class name="android/hardware/camera2/CameraCaptureSession$StateCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onActive(Landroid/hardware/camera2/CameraCaptureSession;)V"/>
+		<method name="onCaptureQueueEmpty(Landroid/hardware/camera2/CameraCaptureSession;)V" since="26"/>
+		<method name="onClosed(Landroid/hardware/camera2/CameraCaptureSession;)V"/>
+		<method name="onConfigureFailed(Landroid/hardware/camera2/CameraCaptureSession;)V"/>
+		<method name="onConfigured(Landroid/hardware/camera2/CameraCaptureSession;)V"/>
+		<method name="onReady(Landroid/hardware/camera2/CameraCaptureSession;)V"/>
+		<method name="onSurfacePrepared(Landroid/hardware/camera2/CameraCaptureSession;Landroid/view/Surface;)V" since="23"/>
+	</class>
+	<class name="android/hardware/camera2/CameraCharacteristics" since="21">
+		<extends name="android/hardware/camera2/CameraMetadata"/>
+		<method name="get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;"/>
+		<method name="getAvailableCaptureRequestKeys()Ljava/util/List;"/>
+		<method name="getAvailableCaptureResultKeys()Ljava/util/List;"/>
+		<method name="getAvailablePhysicalCameraRequestKeys()Ljava/util/List;" since="28"/>
+		<method name="getAvailableSessionKeys()Ljava/util/List;" since="28"/>
+		<method name="getKeysNeedingPermission()Ljava/util/List;" since="29"/>
+		<method name="getPhysicalCameraIds()Ljava/util/Set;" since="28"/>
+		<method name="getRecommendedStreamConfigurationMap(I)Landroid/hardware/camera2/params/RecommendedStreamConfigurationMap;" since="29"/>
+		<field name="COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES"/>
+		<field name="CONTROL_AE_AVAILABLE_ANTIBANDING_MODES"/>
+		<field name="CONTROL_AE_AVAILABLE_MODES"/>
+		<field name="CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES"/>
+		<field name="CONTROL_AE_COMPENSATION_RANGE"/>
+		<field name="CONTROL_AE_COMPENSATION_STEP"/>
+		<field name="CONTROL_AE_LOCK_AVAILABLE" since="23"/>
+		<field name="CONTROL_AF_AVAILABLE_MODES"/>
+		<field name="CONTROL_AVAILABLE_EFFECTS"/>
+		<field name="CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_CAPABILITIES" since="30"/>
+		<field name="CONTROL_AVAILABLE_MODES" since="23"/>
+		<field name="CONTROL_AVAILABLE_SCENE_MODES"/>
+		<field name="CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES"/>
+		<field name="CONTROL_AWB_AVAILABLE_MODES"/>
+		<field name="CONTROL_AWB_LOCK_AVAILABLE" since="23"/>
+		<field name="CONTROL_MAX_REGIONS_AE"/>
+		<field name="CONTROL_MAX_REGIONS_AF"/>
+		<field name="CONTROL_MAX_REGIONS_AWB"/>
+		<field name="CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE" since="24"/>
+		<field name="CONTROL_ZOOM_RATIO_RANGE" since="30"/>
+		<field name="DEPTH_DEPTH_IS_EXCLUSIVE" since="23"/>
+		<field name="DISTORTION_CORRECTION_AVAILABLE_MODES" since="28"/>
+		<field name="EDGE_AVAILABLE_EDGE_MODES"/>
+		<field name="FLASH_INFO_AVAILABLE"/>
+		<field name="HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES"/>
+		<field name="INFO_DEVICE_STATE_SENSOR_ORIENTATION_MAP" since="33"/>
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL"/>
+		<field name="INFO_VERSION" since="28"/>
+		<field name="JPEG_AVAILABLE_THUMBNAIL_SIZES"/>
+		<field name="LENS_DISTORTION" since="28"/>
+		<field name="LENS_DISTORTION_MAXIMUM_RESOLUTION" since="31"/>
+		<field name="LENS_FACING"/>
+		<field name="LENS_INFO_AVAILABLE_APERTURES"/>
+		<field name="LENS_INFO_AVAILABLE_FILTER_DENSITIES"/>
+		<field name="LENS_INFO_AVAILABLE_FOCAL_LENGTHS"/>
+		<field name="LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION"/>
+		<field name="LENS_INFO_FOCUS_DISTANCE_CALIBRATION"/>
+		<field name="LENS_INFO_HYPERFOCAL_DISTANCE"/>
+		<field name="LENS_INFO_MINIMUM_FOCUS_DISTANCE"/>
+		<field name="LENS_INTRINSIC_CALIBRATION" since="23"/>
+		<field name="LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION" since="31"/>
+		<field name="LENS_POSE_REFERENCE" since="28"/>
+		<field name="LENS_POSE_ROTATION" since="23"/>
+		<field name="LENS_POSE_TRANSLATION" since="23"/>
+		<field name="LENS_RADIAL_DISTORTION" since="23" deprecated="28"/>
+		<field name="LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE" since="28"/>
+		<field name="NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES"/>
+		<field name="REPROCESS_MAX_CAPTURE_STALL" since="23"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES"/>
+		<field name="REQUEST_MAX_NUM_INPUT_STREAMS" since="23"/>
+		<field name="REQUEST_MAX_NUM_OUTPUT_PROC"/>
+		<field name="REQUEST_MAX_NUM_OUTPUT_PROC_STALLING"/>
+		<field name="REQUEST_MAX_NUM_OUTPUT_RAW"/>
+		<field name="REQUEST_PARTIAL_RESULT_COUNT"/>
+		<field name="REQUEST_PIPELINE_MAX_DEPTH"/>
+		<field name="SCALER_AVAILABLE_MAX_DIGITAL_ZOOM"/>
+		<field name="SCALER_AVAILABLE_ROTATE_AND_CROP_MODES" since="31"/>
+		<field name="SCALER_CROPPING_TYPE"/>
+		<field name="SCALER_DEFAULT_SECURE_IMAGE_SIZE" since="31"/>
+		<field name="SCALER_MANDATORY_CONCURRENT_STREAM_COMBINATIONS" since="30"/>
+		<field name="SCALER_MANDATORY_MAXIMUM_RESOLUTION_STREAM_COMBINATIONS" since="31"/>
+		<field name="SCALER_MANDATORY_STREAM_COMBINATIONS" since="29"/>
+		<field name="SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP" since="31"/>
+		<field name="SCALER_STREAM_CONFIGURATION_MAP"/>
+		<field name="SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION" since="31"/>
+		<field name="SENSOR_AVAILABLE_TEST_PATTERN_MODES"/>
+		<field name="SENSOR_BLACK_LEVEL_PATTERN"/>
+		<field name="SENSOR_CALIBRATION_TRANSFORM1"/>
+		<field name="SENSOR_CALIBRATION_TRANSFORM2"/>
+		<field name="SENSOR_COLOR_TRANSFORM1"/>
+		<field name="SENSOR_COLOR_TRANSFORM2"/>
+		<field name="SENSOR_FORWARD_MATRIX1"/>
+		<field name="SENSOR_FORWARD_MATRIX2"/>
+		<field name="SENSOR_INFO_ACTIVE_ARRAY_SIZE"/>
+		<field name="SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION" since="31"/>
+		<field name="SENSOR_INFO_BINNING_FACTOR" since="31"/>
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT"/>
+		<field name="SENSOR_INFO_EXPOSURE_TIME_RANGE"/>
+		<field name="SENSOR_INFO_LENS_SHADING_APPLIED" since="23"/>
+		<field name="SENSOR_INFO_MAX_FRAME_DURATION"/>
+		<field name="SENSOR_INFO_PHYSICAL_SIZE"/>
+		<field name="SENSOR_INFO_PIXEL_ARRAY_SIZE"/>
+		<field name="SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION" since="31"/>
+		<field name="SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE" since="23"/>
+		<field name="SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION" since="31"/>
+		<field name="SENSOR_INFO_SENSITIVITY_RANGE"/>
+		<field name="SENSOR_INFO_TIMESTAMP_SOURCE"/>
+		<field name="SENSOR_INFO_WHITE_LEVEL"/>
+		<field name="SENSOR_MAX_ANALOG_SENSITIVITY"/>
+		<field name="SENSOR_OPTICAL_BLACK_REGIONS" since="24"/>
+		<field name="SENSOR_ORIENTATION"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT2"/>
+		<field name="SHADING_AVAILABLE_MODES" since="23"/>
+		<field name="STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES"/>
+		<field name="STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES"/>
+		<field name="STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES" since="23"/>
+		<field name="STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES" since="28"/>
+		<field name="STATISTICS_INFO_MAX_FACE_COUNT"/>
+		<field name="SYNC_MAX_LATENCY"/>
+		<field name="TONEMAP_AVAILABLE_TONE_MAP_MODES"/>
+		<field name="TONEMAP_MAX_CURVE_POINTS"/>
+	</class>
+	<class name="android/hardware/camera2/CameraCharacteristics$Key" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Class;)V" since="29"/>
+		<method name="getName()Ljava/lang/String;"/>
+	</class>
+	<class name="android/hardware/camera2/CameraConstrainedHighSpeedCaptureSession" since="23">
+		<extends name="android/hardware/camera2/CameraCaptureSession"/>
+		<method name="&lt;init>()V"/>
+		<method name="createHighSpeedRequestList(Landroid/hardware/camera2/CaptureRequest;)Ljava/util/List;"/>
+	</class>
+	<class name="android/hardware/camera2/CameraDevice" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="createCaptureRequest(I)Landroid/hardware/camera2/CaptureRequest$Builder;"/>
+		<method name="createCaptureRequest(ILjava/util/Set;)Landroid/hardware/camera2/CaptureRequest$Builder;" since="28"/>
+		<method name="createCaptureSession(Landroid/hardware/camera2/params/SessionConfiguration;)V" since="28"/>
+		<method name="createCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V" deprecated="30"/>
+		<method name="createCaptureSessionByOutputConfigurations(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V" since="24" deprecated="30"/>
+		<method name="createConstrainedHighSpeedCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V" since="23" deprecated="30"/>
+		<method name="createExtensionSession(Landroid/hardware/camera2/params/ExtensionSessionConfiguration;)V" since="31"/>
+		<method name="createReprocessCaptureRequest(Landroid/hardware/camera2/TotalCaptureResult;)Landroid/hardware/camera2/CaptureRequest$Builder;" since="23"/>
+		<method name="createReprocessableCaptureSession(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V" since="23" deprecated="30"/>
+		<method name="createReprocessableCaptureSessionByConfigurations(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V" since="24" deprecated="30"/>
+		<method name="getCameraAudioRestriction()I" since="30"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="isSessionConfigurationSupported(Landroid/hardware/camera2/params/SessionConfiguration;)Z" since="29"/>
+		<method name="setCameraAudioRestriction(I)V" since="30"/>
+		<field name="AUDIO_RESTRICTION_NONE" since="30"/>
+		<field name="AUDIO_RESTRICTION_VIBRATION" since="30"/>
+		<field name="AUDIO_RESTRICTION_VIBRATION_SOUND" since="30"/>
+		<field name="TEMPLATE_MANUAL"/>
+		<field name="TEMPLATE_PREVIEW"/>
+		<field name="TEMPLATE_RECORD"/>
+		<field name="TEMPLATE_STILL_CAPTURE"/>
+		<field name="TEMPLATE_VIDEO_SNAPSHOT"/>
+		<field name="TEMPLATE_ZERO_SHUTTER_LAG"/>
+	</class>
+	<class name="android/hardware/camera2/CameraDevice$StateCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onClosed(Landroid/hardware/camera2/CameraDevice;)V"/>
+		<method name="onDisconnected(Landroid/hardware/camera2/CameraDevice;)V"/>
+		<method name="onError(Landroid/hardware/camera2/CameraDevice;I)V"/>
+		<method name="onOpened(Landroid/hardware/camera2/CameraDevice;)V"/>
+		<field name="ERROR_CAMERA_DEVICE"/>
+		<field name="ERROR_CAMERA_DISABLED"/>
+		<field name="ERROR_CAMERA_IN_USE"/>
+		<field name="ERROR_CAMERA_SERVICE"/>
+		<field name="ERROR_MAX_CAMERAS_IN_USE"/>
+	</class>
+	<class name="android/hardware/camera2/CameraExtensionCharacteristics" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getEstimatedCaptureLatencyRangeMillis(ILandroid/util/Size;I)Landroid/util/Range;"/>
+		<method name="getExtensionSupportedSizes(II)Ljava/util/List;"/>
+		<method name="getExtensionSupportedSizes(ILjava/lang/Class;)Ljava/util/List;"/>
+		<method name="getSupportedExtensions()Ljava/util/List;"/>
+		<field name="EXTENSION_AUTOMATIC"/>
+		<field name="EXTENSION_BEAUTY"/>
+		<field name="EXTENSION_BOKEH"/>
+		<field name="EXTENSION_HDR"/>
+		<field name="EXTENSION_NIGHT"/>
+	</class>
+	<class name="android/hardware/camera2/CameraExtensionSession" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="capture(Landroid/hardware/camera2/CaptureRequest;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraExtensionSession$ExtensionCaptureCallback;)I"/>
+		<method name="getDevice()Landroid/hardware/camera2/CameraDevice;"/>
+		<method name="setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraExtensionSession$ExtensionCaptureCallback;)I"/>
+		<method name="stopRepeating()V"/>
+	</class>
+	<class name="android/hardware/camera2/CameraExtensionSession$ExtensionCaptureCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCaptureFailed(Landroid/hardware/camera2/CameraExtensionSession;Landroid/hardware/camera2/CaptureRequest;)V"/>
+		<method name="onCaptureProcessStarted(Landroid/hardware/camera2/CameraExtensionSession;Landroid/hardware/camera2/CaptureRequest;)V"/>
+		<method name="onCaptureSequenceAborted(Landroid/hardware/camera2/CameraExtensionSession;I)V"/>
+		<method name="onCaptureSequenceCompleted(Landroid/hardware/camera2/CameraExtensionSession;I)V"/>
+		<method name="onCaptureStarted(Landroid/hardware/camera2/CameraExtensionSession;Landroid/hardware/camera2/CaptureRequest;J)V"/>
+	</class>
+	<class name="android/hardware/camera2/CameraExtensionSession$StateCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onClosed(Landroid/hardware/camera2/CameraExtensionSession;)V"/>
+		<method name="onConfigureFailed(Landroid/hardware/camera2/CameraExtensionSession;)V"/>
+		<method name="onConfigured(Landroid/hardware/camera2/CameraExtensionSession;)V"/>
+	</class>
+	<class name="android/hardware/camera2/CameraManager" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;"/>
+		<method name="getCameraExtensionCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraExtensionCharacteristics;" since="31"/>
+		<method name="getCameraIdList()[Ljava/lang/String;"/>
+		<method name="getConcurrentCameraIds()Ljava/util/Set;" since="30"/>
+		<method name="isConcurrentSessionConfigurationSupported(Ljava/util/Map;)Z" since="30"/>
+		<method name="openCamera(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Landroid/os/Handler;)V"/>
+		<method name="openCamera(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraDevice$StateCallback;)V" since="28"/>
+		<method name="registerAvailabilityCallback(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;Landroid/os/Handler;)V"/>
+		<method name="registerAvailabilityCallback(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraManager$AvailabilityCallback;)V" since="28"/>
+		<method name="registerTorchCallback(Landroid/hardware/camera2/CameraManager$TorchCallback;Landroid/os/Handler;)V" since="23"/>
+		<method name="registerTorchCallback(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraManager$TorchCallback;)V" since="28"/>
+		<method name="setTorchMode(Ljava/lang/String;Z)V" since="23"/>
+		<method name="unregisterAvailabilityCallback(Landroid/hardware/camera2/CameraManager$AvailabilityCallback;)V"/>
+		<method name="unregisterTorchCallback(Landroid/hardware/camera2/CameraManager$TorchCallback;)V" since="23"/>
+	</class>
+	<class name="android/hardware/camera2/CameraManager$AvailabilityCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCameraAccessPrioritiesChanged()V" since="29"/>
+		<method name="onCameraAvailable(Ljava/lang/String;)V"/>
+		<method name="onCameraUnavailable(Ljava/lang/String;)V"/>
+		<method name="onPhysicalCameraAvailable(Ljava/lang/String;Ljava/lang/String;)V" since="30"/>
+		<method name="onPhysicalCameraUnavailable(Ljava/lang/String;Ljava/lang/String;)V" since="30"/>
+	</class>
+	<class name="android/hardware/camera2/CameraManager$TorchCallback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onTorchModeChanged(Ljava/lang/String;Z)V"/>
+		<method name="onTorchModeUnavailable(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/hardware/camera2/CameraMetadata" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getKeys()Ljava/util/List;"/>
+		<field name="COLOR_CORRECTION_ABERRATION_MODE_FAST"/>
+		<field name="COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY"/>
+		<field name="COLOR_CORRECTION_ABERRATION_MODE_OFF"/>
+		<field name="COLOR_CORRECTION_MODE_FAST"/>
+		<field name="COLOR_CORRECTION_MODE_HIGH_QUALITY"/>
+		<field name="COLOR_CORRECTION_MODE_TRANSFORM_MATRIX"/>
+		<field name="CONTROL_AE_ANTIBANDING_MODE_50HZ"/>
+		<field name="CONTROL_AE_ANTIBANDING_MODE_60HZ"/>
+		<field name="CONTROL_AE_ANTIBANDING_MODE_AUTO"/>
+		<field name="CONTROL_AE_ANTIBANDING_MODE_OFF"/>
+		<field name="CONTROL_AE_MODE_OFF"/>
+		<field name="CONTROL_AE_MODE_ON"/>
+		<field name="CONTROL_AE_MODE_ON_ALWAYS_FLASH"/>
+		<field name="CONTROL_AE_MODE_ON_AUTO_FLASH"/>
+		<field name="CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE"/>
+		<field name="CONTROL_AE_MODE_ON_EXTERNAL_FLASH" since="28"/>
+		<field name="CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL" since="23"/>
+		<field name="CONTROL_AE_PRECAPTURE_TRIGGER_IDLE"/>
+		<field name="CONTROL_AE_PRECAPTURE_TRIGGER_START"/>
+		<field name="CONTROL_AE_STATE_CONVERGED"/>
+		<field name="CONTROL_AE_STATE_FLASH_REQUIRED"/>
+		<field name="CONTROL_AE_STATE_INACTIVE"/>
+		<field name="CONTROL_AE_STATE_LOCKED"/>
+		<field name="CONTROL_AE_STATE_PRECAPTURE"/>
+		<field name="CONTROL_AE_STATE_SEARCHING"/>
+		<field name="CONTROL_AF_MODE_AUTO"/>
+		<field name="CONTROL_AF_MODE_CONTINUOUS_PICTURE"/>
+		<field name="CONTROL_AF_MODE_CONTINUOUS_VIDEO"/>
+		<field name="CONTROL_AF_MODE_EDOF"/>
+		<field name="CONTROL_AF_MODE_MACRO"/>
+		<field name="CONTROL_AF_MODE_OFF"/>
+		<field name="CONTROL_AF_SCENE_CHANGE_DETECTED" since="28"/>
+		<field name="CONTROL_AF_SCENE_CHANGE_NOT_DETECTED" since="28"/>
+		<field name="CONTROL_AF_STATE_ACTIVE_SCAN"/>
+		<field name="CONTROL_AF_STATE_FOCUSED_LOCKED"/>
+		<field name="CONTROL_AF_STATE_INACTIVE"/>
+		<field name="CONTROL_AF_STATE_NOT_FOCUSED_LOCKED"/>
+		<field name="CONTROL_AF_STATE_PASSIVE_FOCUSED"/>
+		<field name="CONTROL_AF_STATE_PASSIVE_SCAN"/>
+		<field name="CONTROL_AF_STATE_PASSIVE_UNFOCUSED"/>
+		<field name="CONTROL_AF_TRIGGER_CANCEL"/>
+		<field name="CONTROL_AF_TRIGGER_IDLE"/>
+		<field name="CONTROL_AF_TRIGGER_START"/>
+		<field name="CONTROL_AWB_MODE_AUTO"/>
+		<field name="CONTROL_AWB_MODE_CLOUDY_DAYLIGHT"/>
+		<field name="CONTROL_AWB_MODE_DAYLIGHT"/>
+		<field name="CONTROL_AWB_MODE_FLUORESCENT"/>
+		<field name="CONTROL_AWB_MODE_INCANDESCENT"/>
+		<field name="CONTROL_AWB_MODE_OFF"/>
+		<field name="CONTROL_AWB_MODE_SHADE"/>
+		<field name="CONTROL_AWB_MODE_TWILIGHT"/>
+		<field name="CONTROL_AWB_MODE_WARM_FLUORESCENT"/>
+		<field name="CONTROL_AWB_STATE_CONVERGED"/>
+		<field name="CONTROL_AWB_STATE_INACTIVE"/>
+		<field name="CONTROL_AWB_STATE_LOCKED"/>
+		<field name="CONTROL_AWB_STATE_SEARCHING"/>
+		<field name="CONTROL_CAPTURE_INTENT_CUSTOM"/>
+		<field name="CONTROL_CAPTURE_INTENT_MANUAL"/>
+		<field name="CONTROL_CAPTURE_INTENT_MOTION_TRACKING" since="28"/>
+		<field name="CONTROL_CAPTURE_INTENT_PREVIEW"/>
+		<field name="CONTROL_CAPTURE_INTENT_STILL_CAPTURE"/>
+		<field name="CONTROL_CAPTURE_INTENT_VIDEO_RECORD"/>
+		<field name="CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT"/>
+		<field name="CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG"/>
+		<field name="CONTROL_EFFECT_MODE_AQUA"/>
+		<field name="CONTROL_EFFECT_MODE_BLACKBOARD"/>
+		<field name="CONTROL_EFFECT_MODE_MONO"/>
+		<field name="CONTROL_EFFECT_MODE_NEGATIVE"/>
+		<field name="CONTROL_EFFECT_MODE_OFF"/>
+		<field name="CONTROL_EFFECT_MODE_POSTERIZE"/>
+		<field name="CONTROL_EFFECT_MODE_SEPIA"/>
+		<field name="CONTROL_EFFECT_MODE_SOLARIZE"/>
+		<field name="CONTROL_EFFECT_MODE_WHITEBOARD"/>
+		<field name="CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS" since="30"/>
+		<field name="CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE" since="30"/>
+		<field name="CONTROL_EXTENDED_SCENE_MODE_DISABLED" since="30"/>
+		<field name="CONTROL_MODE_AUTO"/>
+		<field name="CONTROL_MODE_OFF"/>
+		<field name="CONTROL_MODE_OFF_KEEP_STATE"/>
+		<field name="CONTROL_MODE_USE_EXTENDED_SCENE_MODE" since="30"/>
+		<field name="CONTROL_MODE_USE_SCENE_MODE"/>
+		<field name="CONTROL_SCENE_MODE_ACTION"/>
+		<field name="CONTROL_SCENE_MODE_BARCODE"/>
+		<field name="CONTROL_SCENE_MODE_BEACH"/>
+		<field name="CONTROL_SCENE_MODE_CANDLELIGHT"/>
+		<field name="CONTROL_SCENE_MODE_DISABLED"/>
+		<field name="CONTROL_SCENE_MODE_FACE_PRIORITY"/>
+		<field name="CONTROL_SCENE_MODE_FIREWORKS"/>
+		<field name="CONTROL_SCENE_MODE_HDR" since="22"/>
+		<field name="CONTROL_SCENE_MODE_HIGH_SPEED_VIDEO" deprecated="23"/>
+		<field name="CONTROL_SCENE_MODE_LANDSCAPE"/>
+		<field name="CONTROL_SCENE_MODE_NIGHT"/>
+		<field name="CONTROL_SCENE_MODE_NIGHT_PORTRAIT"/>
+		<field name="CONTROL_SCENE_MODE_PARTY"/>
+		<field name="CONTROL_SCENE_MODE_PORTRAIT"/>
+		<field name="CONTROL_SCENE_MODE_SNOW"/>
+		<field name="CONTROL_SCENE_MODE_SPORTS"/>
+		<field name="CONTROL_SCENE_MODE_STEADYPHOTO"/>
+		<field name="CONTROL_SCENE_MODE_SUNSET"/>
+		<field name="CONTROL_SCENE_MODE_THEATRE"/>
+		<field name="CONTROL_VIDEO_STABILIZATION_MODE_OFF"/>
+		<field name="CONTROL_VIDEO_STABILIZATION_MODE_ON"/>
+		<field name="DISTORTION_CORRECTION_MODE_FAST" since="28"/>
+		<field name="DISTORTION_CORRECTION_MODE_HIGH_QUALITY" since="28"/>
+		<field name="DISTORTION_CORRECTION_MODE_OFF" since="28"/>
+		<field name="EDGE_MODE_FAST"/>
+		<field name="EDGE_MODE_HIGH_QUALITY"/>
+		<field name="EDGE_MODE_OFF"/>
+		<field name="EDGE_MODE_ZERO_SHUTTER_LAG" since="23"/>
+		<field name="FLASH_MODE_OFF"/>
+		<field name="FLASH_MODE_SINGLE"/>
+		<field name="FLASH_MODE_TORCH"/>
+		<field name="FLASH_STATE_CHARGING"/>
+		<field name="FLASH_STATE_FIRED"/>
+		<field name="FLASH_STATE_PARTIAL"/>
+		<field name="FLASH_STATE_READY"/>
+		<field name="FLASH_STATE_UNAVAILABLE"/>
+		<field name="HOT_PIXEL_MODE_FAST"/>
+		<field name="HOT_PIXEL_MODE_HIGH_QUALITY"/>
+		<field name="HOT_PIXEL_MODE_OFF"/>
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL_3" since="24"/>
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL" since="28"/>
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL_FULL"/>
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY"/>
+		<field name="INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED"/>
+		<field name="LENS_FACING_BACK"/>
+		<field name="LENS_FACING_EXTERNAL" since="23"/>
+		<field name="LENS_FACING_FRONT"/>
+		<field name="LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE"/>
+		<field name="LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED"/>
+		<field name="LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED"/>
+		<field name="LENS_OPTICAL_STABILIZATION_MODE_OFF"/>
+		<field name="LENS_OPTICAL_STABILIZATION_MODE_ON"/>
+		<field name="LENS_POSE_REFERENCE_GYROSCOPE" since="28"/>
+		<field name="LENS_POSE_REFERENCE_PRIMARY_CAMERA" since="28"/>
+		<field name="LENS_POSE_REFERENCE_UNDEFINED" since="30"/>
+		<field name="LENS_STATE_MOVING"/>
+		<field name="LENS_STATE_STATIONARY"/>
+		<field name="LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE" since="28"/>
+		<field name="LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED" since="28"/>
+		<field name="NOISE_REDUCTION_MODE_FAST"/>
+		<field name="NOISE_REDUCTION_MODE_HIGH_QUALITY"/>
+		<field name="NOISE_REDUCTION_MODE_MINIMAL" since="23"/>
+		<field name="NOISE_REDUCTION_MODE_OFF"/>
+		<field name="NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG" since="23"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE" since="22"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO" since="23"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT" since="23"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA" since="28"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME" since="28"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING" since="28"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING" since="30"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING" since="23"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_RAW"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS" since="22"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_REMOSAIC_REPROCESSING" since="31"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA" since="29"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA" since="30"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR" since="31"/>
+		<field name="REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING" since="23"/>
+		<field name="SCALER_CROPPING_TYPE_CENTER_ONLY"/>
+		<field name="SCALER_CROPPING_TYPE_FREEFORM"/>
+		<field name="SCALER_ROTATE_AND_CROP_180" since="31"/>
+		<field name="SCALER_ROTATE_AND_CROP_270" since="31"/>
+		<field name="SCALER_ROTATE_AND_CROP_90" since="31"/>
+		<field name="SCALER_ROTATE_AND_CROP_AUTO" since="31"/>
+		<field name="SCALER_ROTATE_AND_CROP_NONE" since="31"/>
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR"/>
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG"/>
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG"/>
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO" since="29"/>
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR" since="29"/>
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB"/>
+		<field name="SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB"/>
+		<field name="SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME"/>
+		<field name="SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN"/>
+		<field name="SENSOR_PIXEL_MODE_DEFAULT" since="31"/>
+		<field name="SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION" since="31"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_D50"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_D55"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_D65"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_D75"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_FLASH"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_SHADE"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN"/>
+		<field name="SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT"/>
+		<field name="SENSOR_TEST_PATTERN_MODE_COLOR_BARS"/>
+		<field name="SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY"/>
+		<field name="SENSOR_TEST_PATTERN_MODE_CUSTOM1"/>
+		<field name="SENSOR_TEST_PATTERN_MODE_OFF"/>
+		<field name="SENSOR_TEST_PATTERN_MODE_PN9"/>
+		<field name="SENSOR_TEST_PATTERN_MODE_SOLID_COLOR"/>
+		<field name="SHADING_MODE_FAST"/>
+		<field name="SHADING_MODE_HIGH_QUALITY"/>
+		<field name="SHADING_MODE_OFF"/>
+		<field name="STATISTICS_FACE_DETECT_MODE_FULL"/>
+		<field name="STATISTICS_FACE_DETECT_MODE_OFF"/>
+		<field name="STATISTICS_FACE_DETECT_MODE_SIMPLE"/>
+		<field name="STATISTICS_LENS_SHADING_MAP_MODE_OFF"/>
+		<field name="STATISTICS_LENS_SHADING_MAP_MODE_ON"/>
+		<field name="STATISTICS_OIS_DATA_MODE_OFF" since="28"/>
+		<field name="STATISTICS_OIS_DATA_MODE_ON" since="28"/>
+		<field name="STATISTICS_SCENE_FLICKER_50HZ"/>
+		<field name="STATISTICS_SCENE_FLICKER_60HZ"/>
+		<field name="STATISTICS_SCENE_FLICKER_NONE"/>
+		<field name="SYNC_MAX_LATENCY_PER_FRAME_CONTROL"/>
+		<field name="SYNC_MAX_LATENCY_UNKNOWN"/>
+		<field name="TONEMAP_MODE_CONTRAST_CURVE"/>
+		<field name="TONEMAP_MODE_FAST"/>
+		<field name="TONEMAP_MODE_GAMMA_VALUE" since="23"/>
+		<field name="TONEMAP_MODE_HIGH_QUALITY"/>
+		<field name="TONEMAP_MODE_PRESET_CURVE" since="23"/>
+		<field name="TONEMAP_PRESET_CURVE_REC709" since="23"/>
+		<field name="TONEMAP_PRESET_CURVE_SRGB" since="23"/>
+	</class>
+	<class name="android/hardware/camera2/CameraOfflineSession" since="30">
+		<extends name="android/hardware/camera2/CameraCaptureSession"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/hardware/camera2/CameraOfflineSession$CameraOfflineSessionCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onClosed(Landroid/hardware/camera2/CameraOfflineSession;)V"/>
+		<method name="onError(Landroid/hardware/camera2/CameraOfflineSession;I)V"/>
+		<method name="onIdle(Landroid/hardware/camera2/CameraOfflineSession;)V"/>
+		<method name="onReady(Landroid/hardware/camera2/CameraOfflineSession;)V"/>
+		<method name="onSwitchFailed(Landroid/hardware/camera2/CameraOfflineSession;)V"/>
+		<field name="STATUS_INTERNAL_ERROR"/>
+	</class>
+	<class name="android/hardware/camera2/CaptureFailure" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getFrameNumber()J"/>
+		<method name="getPhysicalCameraId()Ljava/lang/String;" since="29"/>
+		<method name="getReason()I"/>
+		<method name="getRequest()Landroid/hardware/camera2/CaptureRequest;"/>
+		<method name="getSequenceId()I"/>
+		<method name="wasImageCaptured()Z"/>
+		<field name="REASON_ERROR"/>
+		<field name="REASON_FLUSHED"/>
+	</class>
+	<class name="android/hardware/camera2/CaptureRequest" since="21">
+		<extends name="android/hardware/camera2/CameraMetadata"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;"/>
+		<method name="getTag()Ljava/lang/Object;"/>
+		<method name="isReprocess()Z" since="23"/>
+		<field name="BLACK_LEVEL_LOCK"/>
+		<field name="COLOR_CORRECTION_ABERRATION_MODE"/>
+		<field name="COLOR_CORRECTION_GAINS"/>
+		<field name="COLOR_CORRECTION_MODE"/>
+		<field name="COLOR_CORRECTION_TRANSFORM"/>
+		<field name="CONTROL_AE_ANTIBANDING_MODE"/>
+		<field name="CONTROL_AE_EXPOSURE_COMPENSATION"/>
+		<field name="CONTROL_AE_LOCK"/>
+		<field name="CONTROL_AE_MODE"/>
+		<field name="CONTROL_AE_PRECAPTURE_TRIGGER"/>
+		<field name="CONTROL_AE_REGIONS"/>
+		<field name="CONTROL_AE_TARGET_FPS_RANGE"/>
+		<field name="CONTROL_AF_MODE"/>
+		<field name="CONTROL_AF_REGIONS"/>
+		<field name="CONTROL_AF_TRIGGER"/>
+		<field name="CONTROL_AWB_LOCK"/>
+		<field name="CONTROL_AWB_MODE"/>
+		<field name="CONTROL_AWB_REGIONS"/>
+		<field name="CONTROL_CAPTURE_INTENT"/>
+		<field name="CONTROL_EFFECT_MODE"/>
+		<field name="CONTROL_ENABLE_ZSL" since="26"/>
+		<field name="CONTROL_EXTENDED_SCENE_MODE" since="30"/>
+		<field name="CONTROL_MODE"/>
+		<field name="CONTROL_POST_RAW_SENSITIVITY_BOOST" since="24"/>
+		<field name="CONTROL_SCENE_MODE"/>
+		<field name="CONTROL_VIDEO_STABILIZATION_MODE"/>
+		<field name="CONTROL_ZOOM_RATIO" since="30"/>
+		<field name="CREATOR"/>
+		<field name="DISTORTION_CORRECTION_MODE" since="28"/>
+		<field name="EDGE_MODE"/>
+		<field name="FLASH_MODE"/>
+		<field name="HOT_PIXEL_MODE"/>
+		<field name="JPEG_GPS_LOCATION"/>
+		<field name="JPEG_ORIENTATION"/>
+		<field name="JPEG_QUALITY"/>
+		<field name="JPEG_THUMBNAIL_QUALITY"/>
+		<field name="JPEG_THUMBNAIL_SIZE"/>
+		<field name="LENS_APERTURE"/>
+		<field name="LENS_FILTER_DENSITY"/>
+		<field name="LENS_FOCAL_LENGTH"/>
+		<field name="LENS_FOCUS_DISTANCE"/>
+		<field name="LENS_OPTICAL_STABILIZATION_MODE"/>
+		<field name="NOISE_REDUCTION_MODE"/>
+		<field name="REPROCESS_EFFECTIVE_EXPOSURE_FACTOR" since="23"/>
+		<field name="SCALER_CROP_REGION"/>
+		<field name="SCALER_ROTATE_AND_CROP" since="31"/>
+		<field name="SENSOR_EXPOSURE_TIME"/>
+		<field name="SENSOR_FRAME_DURATION"/>
+		<field name="SENSOR_PIXEL_MODE" since="31"/>
+		<field name="SENSOR_SENSITIVITY"/>
+		<field name="SENSOR_TEST_PATTERN_DATA"/>
+		<field name="SENSOR_TEST_PATTERN_MODE"/>
+		<field name="SHADING_MODE"/>
+		<field name="STATISTICS_FACE_DETECT_MODE"/>
+		<field name="STATISTICS_HOT_PIXEL_MAP_MODE"/>
+		<field name="STATISTICS_LENS_SHADING_MAP_MODE"/>
+		<field name="STATISTICS_OIS_DATA_MODE" since="28"/>
+		<field name="TONEMAP_CURVE"/>
+		<field name="TONEMAP_GAMMA" since="23"/>
+		<field name="TONEMAP_MODE"/>
+		<field name="TONEMAP_PRESET_CURVE" since="23"/>
+	</class>
+	<class name="android/hardware/camera2/CaptureRequest$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="addTarget(Landroid/view/Surface;)V"/>
+		<method name="build()Landroid/hardware/camera2/CaptureRequest;"/>
+		<method name="get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;"/>
+		<method name="getPhysicalCameraKey(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/String;)Ljava/lang/Object;" since="28"/>
+		<method name="removeTarget(Landroid/view/Surface;)V"/>
+		<method name="set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V"/>
+		<method name="setPhysicalCameraKey(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;Ljava/lang/String;)Landroid/hardware/camera2/CaptureRequest$Builder;" since="28"/>
+		<method name="setTag(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/hardware/camera2/CaptureRequest$Key" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Class;)V" since="29"/>
+		<method name="getName()Ljava/lang/String;"/>
+	</class>
+	<class name="android/hardware/camera2/CaptureResult" since="21">
+		<extends name="android/hardware/camera2/CameraMetadata"/>
+		<method name="get(Landroid/hardware/camera2/CaptureResult$Key;)Ljava/lang/Object;"/>
+		<method name="getCameraId()Ljava/lang/String;" since="31"/>
+		<method name="getFrameNumber()J"/>
+		<method name="getRequest()Landroid/hardware/camera2/CaptureRequest;"/>
+		<method name="getSequenceId()I"/>
+		<field name="BLACK_LEVEL_LOCK"/>
+		<field name="COLOR_CORRECTION_ABERRATION_MODE"/>
+		<field name="COLOR_CORRECTION_GAINS"/>
+		<field name="COLOR_CORRECTION_MODE"/>
+		<field name="COLOR_CORRECTION_TRANSFORM"/>
+		<field name="CONTROL_AE_ANTIBANDING_MODE"/>
+		<field name="CONTROL_AE_EXPOSURE_COMPENSATION"/>
+		<field name="CONTROL_AE_LOCK"/>
+		<field name="CONTROL_AE_MODE"/>
+		<field name="CONTROL_AE_PRECAPTURE_TRIGGER"/>
+		<field name="CONTROL_AE_REGIONS"/>
+		<field name="CONTROL_AE_STATE"/>
+		<field name="CONTROL_AE_TARGET_FPS_RANGE"/>
+		<field name="CONTROL_AF_MODE"/>
+		<field name="CONTROL_AF_REGIONS"/>
+		<field name="CONTROL_AF_SCENE_CHANGE" since="28"/>
+		<field name="CONTROL_AF_STATE"/>
+		<field name="CONTROL_AF_TRIGGER"/>
+		<field name="CONTROL_AWB_LOCK"/>
+		<field name="CONTROL_AWB_MODE"/>
+		<field name="CONTROL_AWB_REGIONS"/>
+		<field name="CONTROL_AWB_STATE"/>
+		<field name="CONTROL_CAPTURE_INTENT"/>
+		<field name="CONTROL_EFFECT_MODE"/>
+		<field name="CONTROL_ENABLE_ZSL" since="26"/>
+		<field name="CONTROL_EXTENDED_SCENE_MODE" since="30"/>
+		<field name="CONTROL_MODE"/>
+		<field name="CONTROL_POST_RAW_SENSITIVITY_BOOST" since="24"/>
+		<field name="CONTROL_SCENE_MODE"/>
+		<field name="CONTROL_VIDEO_STABILIZATION_MODE"/>
+		<field name="CONTROL_ZOOM_RATIO" since="30"/>
+		<field name="DISTORTION_CORRECTION_MODE" since="28"/>
+		<field name="EDGE_MODE"/>
+		<field name="FLASH_MODE"/>
+		<field name="FLASH_STATE"/>
+		<field name="HOT_PIXEL_MODE"/>
+		<field name="JPEG_GPS_LOCATION"/>
+		<field name="JPEG_ORIENTATION"/>
+		<field name="JPEG_QUALITY"/>
+		<field name="JPEG_THUMBNAIL_QUALITY"/>
+		<field name="JPEG_THUMBNAIL_SIZE"/>
+		<field name="LENS_APERTURE"/>
+		<field name="LENS_DISTORTION" since="28"/>
+		<field name="LENS_FILTER_DENSITY"/>
+		<field name="LENS_FOCAL_LENGTH"/>
+		<field name="LENS_FOCUS_DISTANCE"/>
+		<field name="LENS_FOCUS_RANGE"/>
+		<field name="LENS_INTRINSIC_CALIBRATION" since="23"/>
+		<field name="LENS_OPTICAL_STABILIZATION_MODE"/>
+		<field name="LENS_POSE_ROTATION" since="23"/>
+		<field name="LENS_POSE_TRANSLATION" since="23"/>
+		<field name="LENS_RADIAL_DISTORTION" since="23" deprecated="28"/>
+		<field name="LENS_STATE"/>
+		<field name="LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID" since="29"/>
+		<field name="NOISE_REDUCTION_MODE"/>
+		<field name="REPROCESS_EFFECTIVE_EXPOSURE_FACTOR" since="23"/>
+		<field name="REQUEST_PIPELINE_DEPTH"/>
+		<field name="SCALER_CROP_REGION"/>
+		<field name="SCALER_ROTATE_AND_CROP" since="31"/>
+		<field name="SENSOR_DYNAMIC_BLACK_LEVEL" since="24"/>
+		<field name="SENSOR_DYNAMIC_WHITE_LEVEL" since="24"/>
+		<field name="SENSOR_EXPOSURE_TIME"/>
+		<field name="SENSOR_FRAME_DURATION"/>
+		<field name="SENSOR_GREEN_SPLIT"/>
+		<field name="SENSOR_NEUTRAL_COLOR_POINT"/>
+		<field name="SENSOR_NOISE_PROFILE"/>
+		<field name="SENSOR_PIXEL_MODE" since="31"/>
+		<field name="SENSOR_RAW_BINNING_FACTOR_USED" since="31"/>
+		<field name="SENSOR_ROLLING_SHUTTER_SKEW"/>
+		<field name="SENSOR_SENSITIVITY"/>
+		<field name="SENSOR_TEST_PATTERN_DATA"/>
+		<field name="SENSOR_TEST_PATTERN_MODE"/>
+		<field name="SENSOR_TIMESTAMP"/>
+		<field name="SHADING_MODE"/>
+		<field name="STATISTICS_FACES"/>
+		<field name="STATISTICS_FACE_DETECT_MODE"/>
+		<field name="STATISTICS_HOT_PIXEL_MAP"/>
+		<field name="STATISTICS_HOT_PIXEL_MAP_MODE"/>
+		<field name="STATISTICS_LENS_SHADING_CORRECTION_MAP"/>
+		<field name="STATISTICS_LENS_SHADING_MAP_MODE"/>
+		<field name="STATISTICS_OIS_DATA_MODE" since="28"/>
+		<field name="STATISTICS_OIS_SAMPLES" since="28"/>
+		<field name="STATISTICS_SCENE_FLICKER"/>
+		<field name="TONEMAP_CURVE"/>
+		<field name="TONEMAP_GAMMA" since="23"/>
+		<field name="TONEMAP_MODE"/>
+		<field name="TONEMAP_PRESET_CURVE" since="23"/>
+	</class>
+	<class name="android/hardware/camera2/CaptureResult$Key" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Class;)V" since="29"/>
+		<method name="getName()Ljava/lang/String;"/>
+	</class>
+	<class name="android/hardware/camera2/DngCreator" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="&lt;init>(Landroid/hardware/camera2/CameraCharacteristics;Landroid/hardware/camera2/CaptureResult;)V"/>
+		<method name="setDescription(Ljava/lang/String;)Landroid/hardware/camera2/DngCreator;"/>
+		<method name="setLocation(Landroid/location/Location;)Landroid/hardware/camera2/DngCreator;"/>
+		<method name="setOrientation(I)Landroid/hardware/camera2/DngCreator;"/>
+		<method name="setThumbnail(Landroid/graphics/Bitmap;)Landroid/hardware/camera2/DngCreator;"/>
+		<method name="setThumbnail(Landroid/media/Image;)Landroid/hardware/camera2/DngCreator;"/>
+		<method name="writeByteBuffer(Ljava/io/OutputStream;Landroid/util/Size;Ljava/nio/ByteBuffer;J)V"/>
+		<method name="writeImage(Ljava/io/OutputStream;Landroid/media/Image;)V"/>
+		<method name="writeInputStream(Ljava/io/OutputStream;Landroid/util/Size;Ljava/io/InputStream;J)V"/>
+		<field name="MAX_THUMBNAIL_DIMENSION"/>
+	</class>
+	<class name="android/hardware/camera2/MultiResolutionImageReader" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="&lt;init>(Ljava/util/Collection;II)V"/>
+		<method name="flush()V"/>
+		<method name="getStreamInfoForImageReader(Landroid/media/ImageReader;)Landroid/hardware/camera2/params/MultiResolutionStreamInfo;"/>
+		<method name="getSurface()Landroid/view/Surface;"/>
+		<method name="setOnImageAvailableListener(Landroid/media/ImageReader$OnImageAvailableListener;Ljava/util/concurrent/Executor;)V"/>
+	</class>
+	<class name="android/hardware/camera2/TotalCaptureResult" since="21">
+		<extends name="android/hardware/camera2/CaptureResult"/>
+		<method name="getPartialResults()Ljava/util/List;"/>
+		<method name="getPhysicalCameraResults()Ljava/util/Map;" since="28" deprecated="31"/>
+		<method name="getPhysicalCameraTotalResults()Ljava/util/Map;" since="31"/>
+	</class>
+	<class name="android/hardware/camera2/params/BlackLevelPattern" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="copyTo([II)V"/>
+		<method name="getOffsetForIndex(II)I"/>
+		<field name="COUNT"/>
+	</class>
+	<class name="android/hardware/camera2/params/Capability" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getMaxStreamingSize()Landroid/util/Size;"/>
+		<method name="getMode()I"/>
+		<method name="getZoomRatioRange()Landroid/util/Range;"/>
+	</class>
+	<class name="android/hardware/camera2/params/ColorSpaceTransform" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>([I)V"/>
+		<method name="&lt;init>([Landroid/util/Rational;)V"/>
+		<method name="copyElements([II)V"/>
+		<method name="copyElements([Landroid/util/Rational;I)V"/>
+		<method name="getElement(II)Landroid/util/Rational;"/>
+	</class>
+	<class name="android/hardware/camera2/params/DeviceStateSensorOrientationMap" since="33">
+		<extends name="java/lang/Object"/>
+		<method name="getSensorOrientation(J)I"/>
+		<field name="FOLDED"/>
+		<field name="NORMAL"/>
+	</class>
+	<class name="android/hardware/camera2/params/ExtensionSessionConfiguration" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILjava/util/List;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraExtensionSession$StateCallback;)V"/>
+		<method name="getExecutor()Ljava/util/concurrent/Executor;"/>
+		<method name="getExtension()I"/>
+		<method name="getOutputConfigurations()Ljava/util/List;"/>
+		<method name="getStateCallback()Landroid/hardware/camera2/CameraExtensionSession$StateCallback;"/>
+	</class>
+	<class name="android/hardware/camera2/params/Face" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getBounds()Landroid/graphics/Rect;"/>
+		<method name="getId()I"/>
+		<method name="getLeftEyePosition()Landroid/graphics/Point;"/>
+		<method name="getMouthPosition()Landroid/graphics/Point;"/>
+		<method name="getRightEyePosition()Landroid/graphics/Point;"/>
+		<method name="getScore()I"/>
+		<field name="ID_UNSUPPORTED"/>
+		<field name="SCORE_MAX"/>
+		<field name="SCORE_MIN"/>
+	</class>
+	<class name="android/hardware/camera2/params/InputConfiguration" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;I)V" since="31"/>
+		<method name="getFormat()I"/>
+		<method name="getHeight()I"/>
+		<method name="getWidth()I"/>
+		<method name="isMultiResolution()Z" since="31"/>
+	</class>
+	<class name="android/hardware/camera2/params/LensShadingMap" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="copyGainFactors([FI)V"/>
+		<method name="getColumnCount()I"/>
+		<method name="getGainFactor(III)F"/>
+		<method name="getGainFactorCount()I"/>
+		<method name="getGainFactorVector(II)Landroid/hardware/camera2/params/RggbChannelVector;"/>
+		<method name="getRowCount()I"/>
+		<field name="MINIMUM_GAIN_FACTOR"/>
+	</class>
+	<class name="android/hardware/camera2/params/MandatoryStreamCombination" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getDescription()Ljava/lang/CharSequence;"/>
+		<method name="getStreamsInformation()Ljava/util/List;"/>
+		<method name="isReprocessable()Z"/>
+	</class>
+	<class name="android/hardware/camera2/params/MandatoryStreamCombination$MandatoryStreamInformation" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getAvailableSizes()Ljava/util/List;"/>
+		<method name="getFormat()I"/>
+		<method name="isInput()Z"/>
+		<method name="isMaximumSize()Z" since="31"/>
+		<method name="isUltraHighResolution()Z" since="31"/>
+	</class>
+	<class name="android/hardware/camera2/params/MeteringRectangle" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IIIII)V"/>
+		<method name="&lt;init>(Landroid/graphics/Point;Landroid/util/Size;I)V"/>
+		<method name="&lt;init>(Landroid/graphics/Rect;I)V"/>
+		<method name="equals(Landroid/hardware/camera2/params/MeteringRectangle;)Z"/>
+		<method name="getHeight()I"/>
+		<method name="getMeteringWeight()I"/>
+		<method name="getRect()Landroid/graphics/Rect;"/>
+		<method name="getSize()Landroid/util/Size;"/>
+		<method name="getUpperLeftPoint()Landroid/graphics/Point;"/>
+		<method name="getWidth()I"/>
+		<method name="getX()I"/>
+		<method name="getY()I"/>
+		<field name="METERING_WEIGHT_DONT_CARE"/>
+		<field name="METERING_WEIGHT_MAX"/>
+		<field name="METERING_WEIGHT_MIN"/>
+	</class>
+	<class name="android/hardware/camera2/params/MultiResolutionStreamConfigurationMap" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getInputFormats()[I"/>
+		<method name="getInputInfo(I)Ljava/util/Collection;"/>
+		<method name="getOutputFormats()[I"/>
+		<method name="getOutputInfo(I)Ljava/util/Collection;"/>
+	</class>
+	<class name="android/hardware/camera2/params/MultiResolutionStreamInfo" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IILjava/lang/String;)V"/>
+		<method name="getHeight()I"/>
+		<method name="getPhysicalCameraId()Ljava/lang/String;"/>
+		<method name="getWidth()I"/>
+	</class>
+	<class name="android/hardware/camera2/params/OisSample" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(JFF)V"/>
+		<method name="getTimestamp()J"/>
+		<method name="getXshift()F"/>
+		<method name="getYshift()F"/>
+	</class>
+	<class name="android/hardware/camera2/params/OutputConfiguration" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(ILandroid/view/Surface;)V"/>
+		<method name="&lt;init>(Landroid/util/Size;Ljava/lang/Class;)V" since="26"/>
+		<method name="&lt;init>(Landroid/view/Surface;)V"/>
+		<method name="addSensorPixelModeUsed(I)V" since="31"/>
+		<method name="addSurface(Landroid/view/Surface;)V" since="26"/>
+		<method name="createInstancesForMultiResolutionOutput(Landroid/hardware/camera2/MultiResolutionImageReader;)Ljava/util/Collection;" since="31"/>
+		<method name="enableSurfaceSharing()V" since="26"/>
+		<method name="getMaxSharedSurfaceCount()I" since="28"/>
+		<method name="getSurface()Landroid/view/Surface;"/>
+		<method name="getSurfaceGroupId()I"/>
+		<method name="getSurfaces()Ljava/util/List;" since="26"/>
+		<method name="removeSensorPixelModeUsed(I)V" since="31"/>
+		<method name="removeSurface(Landroid/view/Surface;)V" since="28"/>
+		<method name="setPhysicalCameraId(Ljava/lang/String;)V" since="28"/>
+		<field name="CREATOR"/>
+		<field name="SURFACE_GROUP_ID_NONE"/>
+	</class>
+	<class name="android/hardware/camera2/params/RecommendedStreamConfigurationMap" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getHighResolutionOutputSizes(I)Ljava/util/Set;"/>
+		<method name="getHighSpeedVideoFpsRanges()Ljava/util/Set;"/>
+		<method name="getHighSpeedVideoFpsRangesFor(Landroid/util/Size;)Ljava/util/Set;"/>
+		<method name="getHighSpeedVideoSizes()Ljava/util/Set;"/>
+		<method name="getHighSpeedVideoSizesFor(Landroid/util/Range;)Ljava/util/Set;"/>
+		<method name="getInputFormats()Ljava/util/Set;"/>
+		<method name="getInputSizes(I)Ljava/util/Set;"/>
+		<method name="getOutputFormats()Ljava/util/Set;"/>
+		<method name="getOutputMinFrameDuration(ILandroid/util/Size;)J"/>
+		<method name="getOutputMinFrameDuration(Ljava/lang/Class;Landroid/util/Size;)J"/>
+		<method name="getOutputSizes(I)Ljava/util/Set;"/>
+		<method name="getOutputSizes(Ljava/lang/Class;)Ljava/util/Set;"/>
+		<method name="getOutputStallDuration(ILandroid/util/Size;)J"/>
+		<method name="getOutputStallDuration(Ljava/lang/Class;Landroid/util/Size;)J"/>
+		<method name="getRecommendedUseCase()I"/>
+		<method name="getValidOutputFormatsForInput(I)Ljava/util/Set;"/>
+		<method name="isOutputSupportedFor(I)Z"/>
+		<method name="isOutputSupportedFor(Landroid/view/Surface;)Z"/>
+		<field name="USECASE_LOW_LATENCY_SNAPSHOT"/>
+		<field name="USECASE_PREVIEW"/>
+		<field name="USECASE_RAW"/>
+		<field name="USECASE_RECORD"/>
+		<field name="USECASE_SNAPSHOT"/>
+		<field name="USECASE_VIDEO_SNAPSHOT"/>
+		<field name="USECASE_ZSL"/>
+	</class>
+	<class name="android/hardware/camera2/params/RggbChannelVector" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(FFFF)V"/>
+		<method name="copyTo([FI)V"/>
+		<method name="getBlue()F"/>
+		<method name="getComponent(I)F"/>
+		<method name="getGreenEven()F"/>
+		<method name="getGreenOdd()F"/>
+		<method name="getRed()F"/>
+		<field name="BLUE"/>
+		<field name="COUNT"/>
+		<field name="GREEN_EVEN"/>
+		<field name="GREEN_ODD"/>
+		<field name="RED"/>
+	</class>
+	<class name="android/hardware/camera2/params/SessionConfiguration" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="29"/>
+		<method name="&lt;init>(ILjava/util/List;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;)V"/>
+		<method name="getExecutor()Ljava/util/concurrent/Executor;"/>
+		<method name="getInputConfiguration()Landroid/hardware/camera2/params/InputConfiguration;"/>
+		<method name="getOutputConfigurations()Ljava/util/List;"/>
+		<method name="getSessionParameters()Landroid/hardware/camera2/CaptureRequest;"/>
+		<method name="getSessionType()I"/>
+		<method name="getStateCallback()Landroid/hardware/camera2/CameraCaptureSession$StateCallback;"/>
+		<method name="setInputConfiguration(Landroid/hardware/camera2/params/InputConfiguration;)V"/>
+		<method name="setSessionParameters(Landroid/hardware/camera2/CaptureRequest;)V"/>
+		<field name="CREATOR" since="29"/>
+		<field name="SESSION_HIGH_SPEED"/>
+		<field name="SESSION_REGULAR"/>
+	</class>
+	<class name="android/hardware/camera2/params/StreamConfigurationMap" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getHighResolutionOutputSizes(I)[Landroid/util/Size;" since="23"/>
+		<method name="getHighSpeedVideoFpsRanges()[Landroid/util/Range;"/>
+		<method name="getHighSpeedVideoFpsRangesFor(Landroid/util/Size;)[Landroid/util/Range;"/>
+		<method name="getHighSpeedVideoSizes()[Landroid/util/Size;"/>
+		<method name="getHighSpeedVideoSizesFor(Landroid/util/Range;)[Landroid/util/Size;"/>
+		<method name="getInputFormats()[I" since="23"/>
+		<method name="getInputSizes(I)[Landroid/util/Size;" since="23"/>
+		<method name="getOutputFormats()[I"/>
+		<method name="getOutputMinFrameDuration(ILandroid/util/Size;)J"/>
+		<method name="getOutputMinFrameDuration(Ljava/lang/Class;Landroid/util/Size;)J"/>
+		<method name="getOutputSizes(I)[Landroid/util/Size;"/>
+		<method name="getOutputSizes(Ljava/lang/Class;)[Landroid/util/Size;"/>
+		<method name="getOutputStallDuration(ILandroid/util/Size;)J"/>
+		<method name="getOutputStallDuration(Ljava/lang/Class;Landroid/util/Size;)J"/>
+		<method name="getValidOutputFormatsForInput(I)[I" since="23"/>
+		<method name="isOutputSupportedFor(I)Z"/>
+		<method name="isOutputSupportedFor(Landroid/view/Surface;)Z"/>
+		<method name="isOutputSupportedFor(Ljava/lang/Class;)Z"/>
+	</class>
+	<class name="android/hardware/camera2/params/TonemapCurve" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>([F[F[F)V"/>
+		<method name="copyColorCurve(I[FI)V"/>
+		<method name="getPoint(II)Landroid/graphics/PointF;"/>
+		<method name="getPointCount(I)I"/>
+		<field name="CHANNEL_BLUE"/>
+		<field name="CHANNEL_GREEN"/>
+		<field name="CHANNEL_RED"/>
+		<field name="LEVEL_BLACK"/>
+		<field name="LEVEL_WHITE"/>
+		<field name="POINT_SIZE"/>
+	</class>
+	<class name="android/hardware/display/DeviceProductInfo" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V"/>
+		<method name="getConnectionToSinkType()I"/>
+		<method name="getManufactureWeek()I"/>
+		<method name="getManufactureYear()I"/>
+		<method name="getManufacturerPnpId()Ljava/lang/String;"/>
+		<method name="getModelYear()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getProductId()Ljava/lang/String;"/>
+		<field name="CONNECTION_TO_SINK_BUILT_IN"/>
+		<field name="CONNECTION_TO_SINK_DIRECT"/>
+		<field name="CONNECTION_TO_SINK_TRANSITIVE"/>
+		<field name="CONNECTION_TO_SINK_UNKNOWN"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/hardware/display/DisplayManager" since="17">
+		<extends name="java/lang/Object"/>
+		<method name="createVirtualDisplay(Ljava/lang/String;IIILandroid/view/Surface;I)Landroid/hardware/display/VirtualDisplay;" since="19"/>
+		<method name="createVirtualDisplay(Ljava/lang/String;IIILandroid/view/Surface;ILandroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;)Landroid/hardware/display/VirtualDisplay;" since="21"/>
+		<method name="getDisplay(I)Landroid/view/Display;"/>
+		<method name="getDisplays()[Landroid/view/Display;"/>
+		<method name="getDisplays(Ljava/lang/String;)[Landroid/view/Display;"/>
+		<method name="getMatchContentFrameRateUserPreference()I" since="31"/>
+		<method name="registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V"/>
+		<method name="unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V"/>
+		<field name="DISPLAY_CATEGORY_PRESENTATION"/>
+		<field name="MATCH_CONTENT_FRAMERATE_ALWAYS" since="31"/>
+		<field name="MATCH_CONTENT_FRAMERATE_NEVER" since="31"/>
+		<field name="MATCH_CONTENT_FRAMERATE_SEAMLESSS_ONLY" since="31"/>
+		<field name="MATCH_CONTENT_FRAMERATE_UNKNOWN" since="31"/>
+		<field name="VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR" since="21"/>
+		<field name="VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY" since="20"/>
+		<field name="VIRTUAL_DISPLAY_FLAG_PRESENTATION" since="19"/>
+		<field name="VIRTUAL_DISPLAY_FLAG_PUBLIC" since="19"/>
+		<field name="VIRTUAL_DISPLAY_FLAG_SECURE" since="19"/>
+	</class>
+	<class name="android/hardware/display/DisplayManager$DisplayListener" since="17">
+		<extends name="java/lang/Object"/>
+		<method name="onDisplayAdded(I)V"/>
+		<method name="onDisplayChanged(I)V"/>
+		<method name="onDisplayRemoved(I)V"/>
+	</class>
+	<class name="android/hardware/display/VirtualDisplay" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="getDisplay()Landroid/view/Display;"/>
+		<method name="getSurface()Landroid/view/Surface;" since="20"/>
+		<method name="release()V"/>
+		<method name="resize(III)V" since="21"/>
+		<method name="setSurface(Landroid/view/Surface;)V" since="20"/>
+	</class>
+	<class name="android/hardware/display/VirtualDisplay$Callback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onPaused()V"/>
+		<method name="onResumed()V"/>
+		<method name="onStopped()V"/>
+	</class>
+	<class name="android/hardware/fingerprint/FingerprintManager" since="23" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="authenticate(Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;Landroid/os/CancellationSignal;ILandroid/hardware/fingerprint/FingerprintManager$AuthenticationCallback;Landroid/os/Handler;)V" deprecated="28"/>
+		<method name="hasEnrolledFingerprints()Z" deprecated="28"/>
+		<method name="isHardwareDetected()Z" deprecated="28"/>
+		<field name="FINGERPRINT_ACQUIRED_GOOD"/>
+		<field name="FINGERPRINT_ACQUIRED_IMAGER_DIRTY"/>
+		<field name="FINGERPRINT_ACQUIRED_INSUFFICIENT"/>
+		<field name="FINGERPRINT_ACQUIRED_PARTIAL"/>
+		<field name="FINGERPRINT_ACQUIRED_TOO_FAST"/>
+		<field name="FINGERPRINT_ACQUIRED_TOO_SLOW"/>
+		<field name="FINGERPRINT_ERROR_CANCELED"/>
+		<field name="FINGERPRINT_ERROR_HW_NOT_PRESENT" since="28"/>
+		<field name="FINGERPRINT_ERROR_HW_UNAVAILABLE"/>
+		<field name="FINGERPRINT_ERROR_LOCKOUT"/>
+		<field name="FINGERPRINT_ERROR_LOCKOUT_PERMANENT" since="27"/>
+		<field name="FINGERPRINT_ERROR_NO_FINGERPRINTS" since="28"/>
+		<field name="FINGERPRINT_ERROR_NO_SPACE"/>
+		<field name="FINGERPRINT_ERROR_TIMEOUT"/>
+		<field name="FINGERPRINT_ERROR_UNABLE_TO_PROCESS"/>
+		<field name="FINGERPRINT_ERROR_USER_CANCELED" since="27"/>
+		<field name="FINGERPRINT_ERROR_VENDOR" since="27"/>
+	</class>
+	<class name="android/hardware/fingerprint/FingerprintManager$AuthenticationCallback" since="23" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="onAuthenticationError(ILjava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="onAuthenticationFailed()V" deprecated="29"/>
+		<method name="onAuthenticationHelp(ILjava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="onAuthenticationSucceeded(Landroid/hardware/fingerprint/FingerprintManager$AuthenticationResult;)V" deprecated="29"/>
+	</class>
+	<class name="android/hardware/fingerprint/FingerprintManager$AuthenticationResult" since="23" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="getCryptoObject()Landroid/hardware/fingerprint/FingerprintManager$CryptoObject;" deprecated="29"/>
+	</class>
+	<class name="android/hardware/fingerprint/FingerprintManager$CryptoObject" since="23" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/Signature;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljavax/crypto/Cipher;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljavax/crypto/Mac;)V" deprecated="29"/>
+		<method name="getCipher()Ljavax/crypto/Cipher;" deprecated="29"/>
+		<method name="getMac()Ljavax/crypto/Mac;" deprecated="29"/>
+		<method name="getSignature()Ljava/security/Signature;" deprecated="29"/>
+	</class>
+	<class name="android/hardware/input/InputManager" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="getInputDevice(I)Landroid/view/InputDevice;"/>
+		<method name="getInputDeviceIds()[I"/>
+		<method name="getMaximumObscuringOpacityForTouch()F" since="31"/>
+		<method name="registerInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V"/>
+		<method name="unregisterInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;)V"/>
+		<method name="verifyInputEvent(Landroid/view/InputEvent;)Landroid/view/VerifiedInputEvent;" since="30"/>
+		<field name="ACTION_QUERY_KEYBOARD_LAYOUTS"/>
+		<field name="META_DATA_KEYBOARD_LAYOUTS"/>
+	</class>
+	<class name="android/hardware/input/InputManager$InputDeviceListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onInputDeviceAdded(I)V"/>
+		<method name="onInputDeviceChanged(I)V"/>
+		<method name="onInputDeviceRemoved(I)V"/>
+	</class>
+	<class name="android/hardware/lights/Light" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getId()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getOrdinal()I"/>
+		<method name="getType()I"/>
+		<method name="hasBrightnessControl()Z"/>
+		<method name="hasRgbControl()Z"/>
+		<field name="CREATOR"/>
+		<field name="LIGHT_CAPABILITY_BRIGHTNESS"/>
+		<field name="LIGHT_CAPABILITY_RGB"/>
+		<field name="LIGHT_TYPE_INPUT"/>
+		<field name="LIGHT_TYPE_MICROPHONE"/>
+		<field name="LIGHT_TYPE_PLAYER_ID"/>
+	</class>
+	<class name="android/hardware/lights/LightState" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getColor()I"/>
+		<method name="getPlayerId()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/hardware/lights/LightState$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/hardware/lights/LightState;"/>
+		<method name="setColor(I)Landroid/hardware/lights/LightState$Builder;"/>
+		<method name="setPlayerId(I)Landroid/hardware/lights/LightState$Builder;"/>
+	</class>
+	<class name="android/hardware/lights/LightsManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getLightState(Landroid/hardware/lights/Light;)Landroid/hardware/lights/LightState;"/>
+		<method name="getLights()Ljava/util/List;"/>
+		<method name="openSession()Landroid/hardware/lights/LightsManager$LightsSession;"/>
+	</class>
+	<class name="android/hardware/lights/LightsManager$LightsSession" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="requestLights(Landroid/hardware/lights/LightsRequest;)V"/>
+	</class>
+	<class name="android/hardware/lights/LightsRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getLightStates()Ljava/util/List;"/>
+		<method name="getLights()Ljava/util/List;"/>
+		<method name="getLightsAndStates()Ljava/util/Map;"/>
+	</class>
+	<class name="android/hardware/lights/LightsRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addLight(Landroid/hardware/lights/Light;Landroid/hardware/lights/LightState;)Landroid/hardware/lights/LightsRequest$Builder;"/>
+		<method name="build()Landroid/hardware/lights/LightsRequest;"/>
+		<method name="clearLight(Landroid/hardware/lights/Light;)Landroid/hardware/lights/LightsRequest$Builder;"/>
+	</class>
+	<class name="android/hardware/location/GeofenceHardware" since="18" removed="21">
+		<extends name="java/lang/Object"/>
+		<method name="addGeofence(IILandroid/hardware/location/GeofenceHardwareRequest;Landroid/hardware/location/GeofenceHardwareCallback;)Z"/>
+		<method name="getMonitoringTypes()[I"/>
+		<method name="getStatusOfMonitoringType(I)I"/>
+		<method name="pauseGeofence(II)Z"/>
+		<method name="registerForMonitorStateChangeCallback(ILandroid/hardware/location/GeofenceHardwareMonitorCallback;)Z"/>
+		<method name="removeGeofence(II)Z"/>
+		<method name="resumeGeofence(III)Z"/>
+		<method name="unregisterForMonitorStateChangeCallback(ILandroid/hardware/location/GeofenceHardwareMonitorCallback;)Z"/>
+		<field name="GEOFENCE_ENTERED"/>
+		<field name="GEOFENCE_ERROR_ID_EXISTS"/>
+		<field name="GEOFENCE_ERROR_ID_UNKNOWN"/>
+		<field name="GEOFENCE_ERROR_INVALID_TRANSITION"/>
+		<field name="GEOFENCE_ERROR_TOO_MANY_GEOFENCES"/>
+		<field name="GEOFENCE_EXITED"/>
+		<field name="GEOFENCE_FAILURE"/>
+		<field name="GEOFENCE_SUCCESS"/>
+		<field name="GEOFENCE_UNCERTAIN"/>
+		<field name="MONITORING_TYPE_GPS_HARDWARE"/>
+		<field name="MONITOR_CURRENTLY_AVAILABLE"/>
+		<field name="MONITOR_CURRENTLY_UNAVAILABLE"/>
+		<field name="MONITOR_UNSUPPORTED"/>
+	</class>
+	<class name="android/hardware/location/GeofenceHardwareCallback" since="18" removed="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onGeofenceAdd(II)V"/>
+		<method name="onGeofencePause(II)V"/>
+		<method name="onGeofenceRemove(II)V"/>
+		<method name="onGeofenceResume(II)V"/>
+		<method name="onGeofenceTransition(IILandroid/location/Location;JI)V"/>
+	</class>
+	<class name="android/hardware/location/GeofenceHardwareMonitorCallback" since="18" removed="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onMonitoringSystemChange(IZLandroid/location/Location;)V"/>
+	</class>
+	<class name="android/hardware/location/GeofenceHardwareRequest" since="18" removed="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="createCircularGeofence(DDD)Landroid/hardware/location/GeofenceHardwareRequest;"/>
+		<method name="getLastTransition()I"/>
+		<method name="getLatitude()D"/>
+		<method name="getLongitude()D"/>
+		<method name="getMonitorTransitions()I"/>
+		<method name="getNotificationResponsiveness()I"/>
+		<method name="getRadius()D"/>
+		<method name="getUnknownTimer()I"/>
+		<method name="setLastTransition(I)V"/>
+		<method name="setMonitorTransitions(I)V"/>
+		<method name="setNotificationResponsiveness(I)V"/>
+		<method name="setUnknownTimer(I)V"/>
+	</class>
+	<class name="android/hardware/usb/UsbAccessory" since="12">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getManufacturer()Ljava/lang/String;"/>
+		<method name="getModel()Ljava/lang/String;"/>
+		<method name="getSerial()Ljava/lang/String;"/>
+		<method name="getUri()Ljava/lang/String;"/>
+		<method name="getVersion()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/hardware/usb/UsbConfiguration" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getId()I"/>
+		<method name="getInterface(I)Landroid/hardware/usb/UsbInterface;"/>
+		<method name="getInterfaceCount()I"/>
+		<method name="getMaxPower()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="isRemoteWakeup()Z"/>
+		<method name="isSelfPowered()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/hardware/usb/UsbConstants" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="USB_CLASS_APP_SPEC"/>
+		<field name="USB_CLASS_AUDIO"/>
+		<field name="USB_CLASS_CDC_DATA"/>
+		<field name="USB_CLASS_COMM"/>
+		<field name="USB_CLASS_CONTENT_SEC"/>
+		<field name="USB_CLASS_CSCID"/>
+		<field name="USB_CLASS_HID"/>
+		<field name="USB_CLASS_HUB"/>
+		<field name="USB_CLASS_MASS_STORAGE"/>
+		<field name="USB_CLASS_MISC"/>
+		<field name="USB_CLASS_PER_INTERFACE"/>
+		<field name="USB_CLASS_PHYSICA"/>
+		<field name="USB_CLASS_PRINTER"/>
+		<field name="USB_CLASS_STILL_IMAGE"/>
+		<field name="USB_CLASS_VENDOR_SPEC"/>
+		<field name="USB_CLASS_VIDEO"/>
+		<field name="USB_CLASS_WIRELESS_CONTROLLER"/>
+		<field name="USB_DIR_IN"/>
+		<field name="USB_DIR_OUT"/>
+		<field name="USB_ENDPOINT_DIR_MASK"/>
+		<field name="USB_ENDPOINT_NUMBER_MASK"/>
+		<field name="USB_ENDPOINT_XFERTYPE_MASK"/>
+		<field name="USB_ENDPOINT_XFER_BULK"/>
+		<field name="USB_ENDPOINT_XFER_CONTROL"/>
+		<field name="USB_ENDPOINT_XFER_INT"/>
+		<field name="USB_ENDPOINT_XFER_ISOC"/>
+		<field name="USB_INTERFACE_SUBCLASS_BOOT"/>
+		<field name="USB_SUBCLASS_VENDOR_SPEC"/>
+		<field name="USB_TYPE_CLASS"/>
+		<field name="USB_TYPE_MASK"/>
+		<field name="USB_TYPE_RESERVED"/>
+		<field name="USB_TYPE_STANDARD"/>
+		<field name="USB_TYPE_VENDOR"/>
+	</class>
+	<class name="android/hardware/usb/UsbDevice" since="12">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getConfiguration(I)Landroid/hardware/usb/UsbConfiguration;" since="21"/>
+		<method name="getConfigurationCount()I" since="21"/>
+		<method name="getDeviceClass()I"/>
+		<method name="getDeviceId()I"/>
+		<method name="getDeviceId(Ljava/lang/String;)I"/>
+		<method name="getDeviceName()Ljava/lang/String;"/>
+		<method name="getDeviceName(I)Ljava/lang/String;"/>
+		<method name="getDeviceProtocol()I"/>
+		<method name="getDeviceSubclass()I"/>
+		<method name="getInterface(I)Landroid/hardware/usb/UsbInterface;"/>
+		<method name="getInterfaceCount()I"/>
+		<method name="getManufacturerName()Ljava/lang/String;" since="21"/>
+		<method name="getProductId()I"/>
+		<method name="getProductName()Ljava/lang/String;" since="21"/>
+		<method name="getSerialNumber()Ljava/lang/String;" since="21"/>
+		<method name="getVendorId()I"/>
+		<method name="getVersion()Ljava/lang/String;" since="23"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/hardware/usb/UsbDeviceConnection" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="bulkTransfer(Landroid/hardware/usb/UsbEndpoint;[BII)I"/>
+		<method name="bulkTransfer(Landroid/hardware/usb/UsbEndpoint;[BIII)I" since="18"/>
+		<method name="claimInterface(Landroid/hardware/usb/UsbInterface;Z)Z"/>
+		<method name="close()V"/>
+		<method name="controlTransfer(IIII[BII)I"/>
+		<method name="controlTransfer(IIII[BIII)I" since="18"/>
+		<method name="getFileDescriptor()I"/>
+		<method name="getRawDescriptors()[B" since="13"/>
+		<method name="getSerial()Ljava/lang/String;"/>
+		<method name="releaseInterface(Landroid/hardware/usb/UsbInterface;)Z"/>
+		<method name="requestWait()Landroid/hardware/usb/UsbRequest;"/>
+		<method name="requestWait(J)Landroid/hardware/usb/UsbRequest;" since="26"/>
+		<method name="setConfiguration(Landroid/hardware/usb/UsbConfiguration;)Z" since="21"/>
+		<method name="setInterface(Landroid/hardware/usb/UsbInterface;)Z" since="21"/>
+	</class>
+	<class name="android/hardware/usb/UsbEndpoint" since="12">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAddress()I"/>
+		<method name="getAttributes()I"/>
+		<method name="getDirection()I"/>
+		<method name="getEndpointNumber()I"/>
+		<method name="getInterval()I"/>
+		<method name="getMaxPacketSize()I"/>
+		<method name="getType()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/hardware/usb/UsbInterface" since="12">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAlternateSetting()I" since="21"/>
+		<method name="getEndpoint(I)Landroid/hardware/usb/UsbEndpoint;"/>
+		<method name="getEndpointCount()I"/>
+		<method name="getId()I"/>
+		<method name="getInterfaceClass()I"/>
+		<method name="getInterfaceProtocol()I"/>
+		<method name="getInterfaceSubclass()I"/>
+		<method name="getName()Ljava/lang/String;" since="21"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/hardware/usb/UsbManager" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="getAccessoryList()[Landroid/hardware/usb/UsbAccessory;"/>
+		<method name="getDeviceList()Ljava/util/HashMap;"/>
+		<method name="hasPermission(Landroid/hardware/usb/UsbAccessory;)Z"/>
+		<method name="hasPermission(Landroid/hardware/usb/UsbDevice;)Z"/>
+		<method name="openAccessory(Landroid/hardware/usb/UsbAccessory;)Landroid/os/ParcelFileDescriptor;"/>
+		<method name="openDevice(Landroid/hardware/usb/UsbDevice;)Landroid/hardware/usb/UsbDeviceConnection;"/>
+		<method name="requestPermission(Landroid/hardware/usb/UsbAccessory;Landroid/app/PendingIntent;)V"/>
+		<method name="requestPermission(Landroid/hardware/usb/UsbDevice;Landroid/app/PendingIntent;)V"/>
+		<field name="ACTION_USB_ACCESSORY_ATTACHED"/>
+		<field name="ACTION_USB_ACCESSORY_DETACHED"/>
+		<field name="ACTION_USB_DEVICE_ATTACHED"/>
+		<field name="ACTION_USB_DEVICE_DETACHED"/>
+		<field name="EXTRA_ACCESSORY"/>
+		<field name="EXTRA_DEVICE"/>
+		<field name="EXTRA_PERMISSION_GRANTED"/>
+	</class>
+	<class name="android/hardware/usb/UsbRequest" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="cancel()Z"/>
+		<method name="close()V"/>
+		<method name="getClientData()Ljava/lang/Object;"/>
+		<method name="getEndpoint()Landroid/hardware/usb/UsbEndpoint;"/>
+		<method name="initialize(Landroid/hardware/usb/UsbDeviceConnection;Landroid/hardware/usb/UsbEndpoint;)Z"/>
+		<method name="queue(Ljava/nio/ByteBuffer;)Z" since="26"/>
+		<method name="queue(Ljava/nio/ByteBuffer;I)Z" deprecated="26"/>
+		<method name="setClientData(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/icu/lang/UCharacter" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/lang/UCharacterEnums$ECharacterCategory"/>
+		<implements name="android/icu/lang/UCharacterEnums$ECharacterDirection"/>
+		<method name="charCount(I)I"/>
+		<method name="codePointAt(Ljava/lang/CharSequence;I)I"/>
+		<method name="codePointAt([CI)I"/>
+		<method name="codePointAt([CII)I"/>
+		<method name="codePointBefore(Ljava/lang/CharSequence;I)I"/>
+		<method name="codePointBefore([CI)I"/>
+		<method name="codePointBefore([CII)I"/>
+		<method name="codePointCount(Ljava/lang/CharSequence;II)I"/>
+		<method name="codePointCount([CII)I"/>
+		<method name="digit(I)I"/>
+		<method name="digit(II)I"/>
+		<method name="foldCase(II)I"/>
+		<method name="foldCase(IZ)I"/>
+		<method name="foldCase(Ljava/lang/String;I)Ljava/lang/String;"/>
+		<method name="foldCase(Ljava/lang/String;Z)Ljava/lang/String;"/>
+		<method name="forDigit(II)C"/>
+		<method name="getAge(I)Landroid/icu/util/VersionInfo;"/>
+		<method name="getBidiPairedBracket(I)I"/>
+		<method name="getCharFromExtendedName(Ljava/lang/String;)I"/>
+		<method name="getCharFromName(Ljava/lang/String;)I"/>
+		<method name="getCharFromNameAlias(Ljava/lang/String;)I"/>
+		<method name="getCodePoint(C)I"/>
+		<method name="getCodePoint(CC)I"/>
+		<method name="getCombiningClass(I)I"/>
+		<method name="getDirection(I)I"/>
+		<method name="getDirectionality(I)B"/>
+		<method name="getExtendedName(I)Ljava/lang/String;"/>
+		<method name="getExtendedNameIterator()Landroid/icu/util/ValueIterator;"/>
+		<method name="getHanNumericValue(I)I"/>
+		<method name="getIntPropertyMaxValue(I)I"/>
+		<method name="getIntPropertyMinValue(I)I"/>
+		<method name="getIntPropertyValue(II)I"/>
+		<method name="getMirror(I)I"/>
+		<method name="getName(I)Ljava/lang/String;"/>
+		<method name="getName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getNameAlias(I)Ljava/lang/String;"/>
+		<method name="getNameIterator()Landroid/icu/util/ValueIterator;"/>
+		<method name="getNumericValue(I)I"/>
+		<method name="getPropertyEnum(Ljava/lang/CharSequence;)I"/>
+		<method name="getPropertyName(II)Ljava/lang/String;"/>
+		<method name="getPropertyValueEnum(ILjava/lang/CharSequence;)I"/>
+		<method name="getPropertyValueName(III)Ljava/lang/String;"/>
+		<method name="getType(I)I"/>
+		<method name="getTypeIterator()Landroid/icu/util/RangeValueIterator;"/>
+		<method name="getUnicodeNumericValue(I)D"/>
+		<method name="getUnicodeVersion()Landroid/icu/util/VersionInfo;"/>
+		<method name="hasBinaryProperty(II)Z"/>
+		<method name="isBMP(I)Z"/>
+		<method name="isBaseForm(I)Z"/>
+		<method name="isDefined(I)Z"/>
+		<method name="isDigit(I)Z"/>
+		<method name="isHighSurrogate(C)Z"/>
+		<method name="isISOControl(I)Z"/>
+		<method name="isIdentifierIgnorable(I)Z"/>
+		<method name="isJavaIdentifierPart(I)Z"/>
+		<method name="isJavaIdentifierStart(I)Z"/>
+		<method name="isLegal(I)Z"/>
+		<method name="isLegal(Ljava/lang/String;)Z"/>
+		<method name="isLetter(I)Z"/>
+		<method name="isLetterOrDigit(I)Z"/>
+		<method name="isLowSurrogate(C)Z"/>
+		<method name="isLowerCase(I)Z"/>
+		<method name="isMirrored(I)Z"/>
+		<method name="isPrintable(I)Z"/>
+		<method name="isSpaceChar(I)Z"/>
+		<method name="isSupplementary(I)Z"/>
+		<method name="isSupplementaryCodePoint(I)Z"/>
+		<method name="isSurrogatePair(CC)Z"/>
+		<method name="isTitleCase(I)Z"/>
+		<method name="isUAlphabetic(I)Z"/>
+		<method name="isULowercase(I)Z"/>
+		<method name="isUUppercase(I)Z"/>
+		<method name="isUWhiteSpace(I)Z"/>
+		<method name="isUnicodeIdentifierPart(I)Z"/>
+		<method name="isUnicodeIdentifierStart(I)Z"/>
+		<method name="isUpperCase(I)Z"/>
+		<method name="isValidCodePoint(I)Z"/>
+		<method name="isWhitespace(I)Z"/>
+		<method name="offsetByCodePoints(Ljava/lang/CharSequence;II)I"/>
+		<method name="offsetByCodePoints([CIIII)I"/>
+		<method name="toChars(I)[C"/>
+		<method name="toChars(I[CI)I"/>
+		<method name="toCodePoint(CC)I"/>
+		<method name="toLowerCase(I)I"/>
+		<method name="toLowerCase(Landroid/icu/util/ULocale;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toLowerCase(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toLowerCase(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toString(I)Ljava/lang/String;"/>
+		<method name="toTitleCase(I)I"/>
+		<method name="toTitleCase(Landroid/icu/util/ULocale;Ljava/lang/String;Landroid/icu/text/BreakIterator;)Ljava/lang/String;"/>
+		<method name="toTitleCase(Landroid/icu/util/ULocale;Ljava/lang/String;Landroid/icu/text/BreakIterator;I)Ljava/lang/String;"/>
+		<method name="toTitleCase(Ljava/lang/String;Landroid/icu/text/BreakIterator;)Ljava/lang/String;"/>
+		<method name="toTitleCase(Ljava/util/Locale;Ljava/lang/String;Landroid/icu/text/BreakIterator;)Ljava/lang/String;"/>
+		<method name="toTitleCase(Ljava/util/Locale;Ljava/lang/String;Landroid/icu/text/BreakIterator;I)Ljava/lang/String;"/>
+		<method name="toUpperCase(I)I"/>
+		<method name="toUpperCase(Landroid/icu/util/ULocale;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toUpperCase(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toUpperCase(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;"/>
+		<field name="FOLD_CASE_DEFAULT"/>
+		<field name="FOLD_CASE_EXCLUDE_SPECIAL_I"/>
+		<field name="MAX_CODE_POINT"/>
+		<field name="MAX_HIGH_SURROGATE"/>
+		<field name="MAX_LOW_SURROGATE"/>
+		<field name="MAX_RADIX"/>
+		<field name="MAX_SURROGATE"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_CODE_POINT"/>
+		<field name="MIN_HIGH_SURROGATE"/>
+		<field name="MIN_LOW_SURROGATE"/>
+		<field name="MIN_RADIX"/>
+		<field name="MIN_SUPPLEMENTARY_CODE_POINT"/>
+		<field name="MIN_SURROGATE"/>
+		<field name="MIN_VALUE"/>
+		<field name="NO_NUMERIC_VALUE"/>
+		<field name="REPLACEMENT_CHAR"/>
+		<field name="SUPPLEMENTARY_MIN_VALUE"/>
+		<field name="TITLECASE_NO_BREAK_ADJUSTMENT"/>
+		<field name="TITLECASE_NO_LOWERCASE"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$BidiPairedBracketType" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="CLOSE"/>
+		<field name="NONE"/>
+		<field name="OPEN"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$DecompositionType" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="CANONICAL"/>
+		<field name="CIRCLE"/>
+		<field name="COMPAT"/>
+		<field name="FINAL"/>
+		<field name="FONT"/>
+		<field name="FRACTION"/>
+		<field name="INITIAL"/>
+		<field name="ISOLATED"/>
+		<field name="MEDIAL"/>
+		<field name="NARROW"/>
+		<field name="NOBREAK"/>
+		<field name="NONE"/>
+		<field name="SMALL"/>
+		<field name="SQUARE"/>
+		<field name="SUB"/>
+		<field name="SUPER"/>
+		<field name="VERTICAL"/>
+		<field name="WIDE"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$EastAsianWidth" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="AMBIGUOUS"/>
+		<field name="FULLWIDTH"/>
+		<field name="HALFWIDTH"/>
+		<field name="NARROW"/>
+		<field name="NEUTRAL"/>
+		<field name="WIDE"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$GraphemeClusterBreak" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="CONTROL"/>
+		<field name="CR"/>
+		<field name="EXTEND"/>
+		<field name="E_BASE" since="26"/>
+		<field name="E_BASE_GAZ" since="26"/>
+		<field name="E_MODIFIER" since="26"/>
+		<field name="GLUE_AFTER_ZWJ" since="26"/>
+		<field name="L"/>
+		<field name="LF"/>
+		<field name="LV"/>
+		<field name="LVT"/>
+		<field name="OTHER"/>
+		<field name="PREPEND"/>
+		<field name="REGIONAL_INDICATOR"/>
+		<field name="SPACING_MARK"/>
+		<field name="T"/>
+		<field name="V"/>
+		<field name="ZWJ" since="26"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$HangulSyllableType" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="LEADING_JAMO"/>
+		<field name="LVT_SYLLABLE"/>
+		<field name="LV_SYLLABLE"/>
+		<field name="NOT_APPLICABLE"/>
+		<field name="TRAILING_JAMO"/>
+		<field name="VOWEL_JAMO"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$IndicPositionalCategory" since="29">
+		<extends name="java/lang/Object"/>
+		<field name="BOTTOM"/>
+		<field name="BOTTOM_AND_LEFT"/>
+		<field name="BOTTOM_AND_RIGHT"/>
+		<field name="LEFT"/>
+		<field name="LEFT_AND_RIGHT"/>
+		<field name="NA"/>
+		<field name="OVERSTRUCK"/>
+		<field name="RIGHT"/>
+		<field name="TOP"/>
+		<field name="TOP_AND_BOTTOM"/>
+		<field name="TOP_AND_BOTTOM_AND_LEFT" since="30"/>
+		<field name="TOP_AND_BOTTOM_AND_RIGHT"/>
+		<field name="TOP_AND_LEFT"/>
+		<field name="TOP_AND_LEFT_AND_RIGHT"/>
+		<field name="TOP_AND_RIGHT"/>
+		<field name="VISUAL_ORDER_LEFT"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$IndicSyllabicCategory" since="29">
+		<extends name="java/lang/Object"/>
+		<field name="AVAGRAHA"/>
+		<field name="BINDU"/>
+		<field name="BRAHMI_JOINING_NUMBER"/>
+		<field name="CANTILLATION_MARK"/>
+		<field name="CONSONANT"/>
+		<field name="CONSONANT_DEAD"/>
+		<field name="CONSONANT_FINAL"/>
+		<field name="CONSONANT_HEAD_LETTER"/>
+		<field name="CONSONANT_INITIAL_POSTFIXED"/>
+		<field name="CONSONANT_KILLER"/>
+		<field name="CONSONANT_MEDIAL"/>
+		<field name="CONSONANT_PLACEHOLDER"/>
+		<field name="CONSONANT_PRECEDING_REPHA"/>
+		<field name="CONSONANT_PREFIXED"/>
+		<field name="CONSONANT_SUBJOINED"/>
+		<field name="CONSONANT_SUCCEEDING_REPHA"/>
+		<field name="CONSONANT_WITH_STACKER"/>
+		<field name="GEMINATION_MARK"/>
+		<field name="INVISIBLE_STACKER"/>
+		<field name="JOINER"/>
+		<field name="MODIFYING_LETTER"/>
+		<field name="NON_JOINER"/>
+		<field name="NUKTA"/>
+		<field name="NUMBER"/>
+		<field name="NUMBER_JOINER"/>
+		<field name="OTHER"/>
+		<field name="PURE_KILLER"/>
+		<field name="REGISTER_SHIFTER"/>
+		<field name="SYLLABLE_MODIFIER"/>
+		<field name="TONE_LETTER"/>
+		<field name="TONE_MARK"/>
+		<field name="VIRAMA"/>
+		<field name="VISARGA"/>
+		<field name="VOWEL"/>
+		<field name="VOWEL_DEPENDENT"/>
+		<field name="VOWEL_INDEPENDENT"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$JoiningGroup" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="AFRICAN_FEH" since="26"/>
+		<field name="AFRICAN_NOON" since="26"/>
+		<field name="AFRICAN_QAF" since="26"/>
+		<field name="AIN"/>
+		<field name="ALAPH"/>
+		<field name="ALEF"/>
+		<field name="BEH"/>
+		<field name="BETH"/>
+		<field name="BURUSHASKI_YEH_BARREE"/>
+		<field name="DAL"/>
+		<field name="DALATH_RISH"/>
+		<field name="E"/>
+		<field name="FARSI_YEH"/>
+		<field name="FE"/>
+		<field name="FEH"/>
+		<field name="FINAL_SEMKATH"/>
+		<field name="GAF"/>
+		<field name="GAMAL"/>
+		<field name="HAH"/>
+		<field name="HAMZA_ON_HEH_GOAL"/>
+		<field name="HANIFI_ROHINGYA_KINNA_YA" since="29"/>
+		<field name="HANIFI_ROHINGYA_PA" since="29"/>
+		<field name="HE"/>
+		<field name="HEH"/>
+		<field name="HEH_GOAL"/>
+		<field name="HETH"/>
+		<field name="KAF"/>
+		<field name="KAPH"/>
+		<field name="KHAPH"/>
+		<field name="KNOTTED_HEH"/>
+		<field name="LAM"/>
+		<field name="LAMADH"/>
+		<field name="MALAYALAM_BHA" since="28"/>
+		<field name="MALAYALAM_JA" since="28"/>
+		<field name="MALAYALAM_LLA" since="28"/>
+		<field name="MALAYALAM_LLLA" since="28"/>
+		<field name="MALAYALAM_NGA" since="28"/>
+		<field name="MALAYALAM_NNA" since="28"/>
+		<field name="MALAYALAM_NNNA" since="28"/>
+		<field name="MALAYALAM_NYA" since="28"/>
+		<field name="MALAYALAM_RA" since="28"/>
+		<field name="MALAYALAM_SSA" since="28"/>
+		<field name="MALAYALAM_TTA" since="28"/>
+		<field name="MANICHAEAN_ALEPH"/>
+		<field name="MANICHAEAN_AYIN"/>
+		<field name="MANICHAEAN_BETH"/>
+		<field name="MANICHAEAN_DALETH"/>
+		<field name="MANICHAEAN_DHAMEDH"/>
+		<field name="MANICHAEAN_FIVE"/>
+		<field name="MANICHAEAN_GIMEL"/>
+		<field name="MANICHAEAN_HETH"/>
+		<field name="MANICHAEAN_HUNDRED"/>
+		<field name="MANICHAEAN_KAPH"/>
+		<field name="MANICHAEAN_LAMEDH"/>
+		<field name="MANICHAEAN_MEM"/>
+		<field name="MANICHAEAN_NUN"/>
+		<field name="MANICHAEAN_ONE"/>
+		<field name="MANICHAEAN_PE"/>
+		<field name="MANICHAEAN_QOPH"/>
+		<field name="MANICHAEAN_RESH"/>
+		<field name="MANICHAEAN_SADHE"/>
+		<field name="MANICHAEAN_SAMEKH"/>
+		<field name="MANICHAEAN_TAW"/>
+		<field name="MANICHAEAN_TEN"/>
+		<field name="MANICHAEAN_TETH"/>
+		<field name="MANICHAEAN_THAMEDH"/>
+		<field name="MANICHAEAN_TWENTY"/>
+		<field name="MANICHAEAN_WAW"/>
+		<field name="MANICHAEAN_YODH"/>
+		<field name="MANICHAEAN_ZAYIN"/>
+		<field name="MEEM"/>
+		<field name="MIM"/>
+		<field name="NOON"/>
+		<field name="NO_JOINING_GROUP"/>
+		<field name="NUN"/>
+		<field name="NYA"/>
+		<field name="PE"/>
+		<field name="QAF"/>
+		<field name="QAPH"/>
+		<field name="REH"/>
+		<field name="REVERSED_PE"/>
+		<field name="ROHINGYA_YEH"/>
+		<field name="SAD"/>
+		<field name="SADHE"/>
+		<field name="SEEN"/>
+		<field name="SEMKATH"/>
+		<field name="SHIN"/>
+		<field name="STRAIGHT_WAW"/>
+		<field name="SWASH_KAF"/>
+		<field name="SYRIAC_WAW"/>
+		<field name="TAH"/>
+		<field name="TAW"/>
+		<field name="TEH_MARBUTA"/>
+		<field name="TEH_MARBUTA_GOAL"/>
+		<field name="TETH"/>
+		<field name="WAW"/>
+		<field name="YEH"/>
+		<field name="YEH_BARREE"/>
+		<field name="YEH_WITH_TAIL"/>
+		<field name="YUDH"/>
+		<field name="YUDH_HE"/>
+		<field name="ZAIN"/>
+		<field name="ZHAIN"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$JoiningType" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="DUAL_JOINING"/>
+		<field name="JOIN_CAUSING"/>
+		<field name="LEFT_JOINING"/>
+		<field name="NON_JOINING"/>
+		<field name="RIGHT_JOINING"/>
+		<field name="TRANSPARENT"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$LineBreak" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="ALPHABETIC"/>
+		<field name="AMBIGUOUS"/>
+		<field name="BREAK_AFTER"/>
+		<field name="BREAK_BEFORE"/>
+		<field name="BREAK_BOTH"/>
+		<field name="BREAK_SYMBOLS"/>
+		<field name="CARRIAGE_RETURN"/>
+		<field name="CLOSE_PARENTHESIS"/>
+		<field name="CLOSE_PUNCTUATION"/>
+		<field name="COMBINING_MARK"/>
+		<field name="COMPLEX_CONTEXT"/>
+		<field name="CONDITIONAL_JAPANESE_STARTER"/>
+		<field name="CONTINGENT_BREAK"/>
+		<field name="EXCLAMATION"/>
+		<field name="E_BASE" since="26"/>
+		<field name="E_MODIFIER" since="26"/>
+		<field name="GLUE"/>
+		<field name="H2"/>
+		<field name="H3"/>
+		<field name="HEBREW_LETTER"/>
+		<field name="HYPHEN"/>
+		<field name="IDEOGRAPHIC"/>
+		<field name="INFIX_NUMERIC"/>
+		<field name="INSEPARABLE"/>
+		<field name="INSEPERABLE"/>
+		<field name="JL"/>
+		<field name="JT"/>
+		<field name="JV"/>
+		<field name="LINE_FEED"/>
+		<field name="MANDATORY_BREAK"/>
+		<field name="NEXT_LINE"/>
+		<field name="NONSTARTER"/>
+		<field name="NUMERIC"/>
+		<field name="OPEN_PUNCTUATION"/>
+		<field name="POSTFIX_NUMERIC"/>
+		<field name="PREFIX_NUMERIC"/>
+		<field name="QUOTATION"/>
+		<field name="REGIONAL_INDICATOR"/>
+		<field name="SPACE"/>
+		<field name="SURROGATE"/>
+		<field name="UNKNOWN"/>
+		<field name="WORD_JOINER"/>
+		<field name="ZWJ" since="26"/>
+		<field name="ZWSPACE"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$NumericType" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="DECIMAL"/>
+		<field name="DIGIT"/>
+		<field name="NONE"/>
+		<field name="NUMERIC"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$SentenceBreak" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="ATERM"/>
+		<field name="CLOSE"/>
+		<field name="CR"/>
+		<field name="EXTEND"/>
+		<field name="FORMAT"/>
+		<field name="LF"/>
+		<field name="LOWER"/>
+		<field name="NUMERIC"/>
+		<field name="OLETTER"/>
+		<field name="OTHER"/>
+		<field name="SCONTINUE"/>
+		<field name="SEP"/>
+		<field name="SP"/>
+		<field name="STERM"/>
+		<field name="UPPER"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$UnicodeBlock" since="24">
+		<extends name="java/lang/Character$Subset"/>
+		<method name="forName(Ljava/lang/String;)Landroid/icu/lang/UCharacter$UnicodeBlock;"/>
+		<method name="getID()I"/>
+		<method name="getInstance(I)Landroid/icu/lang/UCharacter$UnicodeBlock;"/>
+		<method name="of(I)Landroid/icu/lang/UCharacter$UnicodeBlock;"/>
+		<field name="ADLAM" since="26"/>
+		<field name="ADLAM_ID" since="26"/>
+		<field name="AEGEAN_NUMBERS"/>
+		<field name="AEGEAN_NUMBERS_ID"/>
+		<field name="AHOM"/>
+		<field name="AHOM_ID"/>
+		<field name="ALCHEMICAL_SYMBOLS"/>
+		<field name="ALCHEMICAL_SYMBOLS_ID"/>
+		<field name="ALPHABETIC_PRESENTATION_FORMS"/>
+		<field name="ALPHABETIC_PRESENTATION_FORMS_ID"/>
+		<field name="ANATOLIAN_HIEROGLYPHS"/>
+		<field name="ANATOLIAN_HIEROGLYPHS_ID"/>
+		<field name="ANCIENT_GREEK_MUSICAL_NOTATION"/>
+		<field name="ANCIENT_GREEK_MUSICAL_NOTATION_ID"/>
+		<field name="ANCIENT_GREEK_NUMBERS"/>
+		<field name="ANCIENT_GREEK_NUMBERS_ID"/>
+		<field name="ANCIENT_SYMBOLS"/>
+		<field name="ANCIENT_SYMBOLS_ID"/>
+		<field name="ARABIC"/>
+		<field name="ARABIC_EXTENDED_A"/>
+		<field name="ARABIC_EXTENDED_A_ID"/>
+		<field name="ARABIC_ID"/>
+		<field name="ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS"/>
+		<field name="ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS_ID"/>
+		<field name="ARABIC_PRESENTATION_FORMS_A"/>
+		<field name="ARABIC_PRESENTATION_FORMS_A_ID"/>
+		<field name="ARABIC_PRESENTATION_FORMS_B"/>
+		<field name="ARABIC_PRESENTATION_FORMS_B_ID"/>
+		<field name="ARABIC_SUPPLEMENT"/>
+		<field name="ARABIC_SUPPLEMENT_ID"/>
+		<field name="ARMENIAN"/>
+		<field name="ARMENIAN_ID"/>
+		<field name="ARROWS"/>
+		<field name="ARROWS_ID"/>
+		<field name="AVESTAN"/>
+		<field name="AVESTAN_ID"/>
+		<field name="BALINESE"/>
+		<field name="BALINESE_ID"/>
+		<field name="BAMUM"/>
+		<field name="BAMUM_ID"/>
+		<field name="BAMUM_SUPPLEMENT"/>
+		<field name="BAMUM_SUPPLEMENT_ID"/>
+		<field name="BASIC_LATIN"/>
+		<field name="BASIC_LATIN_ID"/>
+		<field name="BASSA_VAH"/>
+		<field name="BASSA_VAH_ID"/>
+		<field name="BATAK"/>
+		<field name="BATAK_ID"/>
+		<field name="BENGALI"/>
+		<field name="BENGALI_ID"/>
+		<field name="BHAIKSUKI" since="26"/>
+		<field name="BHAIKSUKI_ID" since="26"/>
+		<field name="BLOCK_ELEMENTS"/>
+		<field name="BLOCK_ELEMENTS_ID"/>
+		<field name="BOPOMOFO"/>
+		<field name="BOPOMOFO_EXTENDED"/>
+		<field name="BOPOMOFO_EXTENDED_ID"/>
+		<field name="BOPOMOFO_ID"/>
+		<field name="BOX_DRAWING"/>
+		<field name="BOX_DRAWING_ID"/>
+		<field name="BRAHMI"/>
+		<field name="BRAHMI_ID"/>
+		<field name="BRAILLE_PATTERNS"/>
+		<field name="BRAILLE_PATTERNS_ID"/>
+		<field name="BUGINESE"/>
+		<field name="BUGINESE_ID"/>
+		<field name="BUHID"/>
+		<field name="BUHID_ID"/>
+		<field name="BYZANTINE_MUSICAL_SYMBOLS"/>
+		<field name="BYZANTINE_MUSICAL_SYMBOLS_ID"/>
+		<field name="CARIAN"/>
+		<field name="CARIAN_ID"/>
+		<field name="CAUCASIAN_ALBANIAN"/>
+		<field name="CAUCASIAN_ALBANIAN_ID"/>
+		<field name="CHAKMA"/>
+		<field name="CHAKMA_ID"/>
+		<field name="CHAM"/>
+		<field name="CHAM_ID"/>
+		<field name="CHEROKEE"/>
+		<field name="CHEROKEE_ID"/>
+		<field name="CHEROKEE_SUPPLEMENT"/>
+		<field name="CHEROKEE_SUPPLEMENT_ID"/>
+		<field name="CHESS_SYMBOLS" since="29"/>
+		<field name="CHESS_SYMBOLS_ID" since="29"/>
+		<field name="CHORASMIAN" since="30"/>
+		<field name="CHORASMIAN_ID" since="30"/>
+		<field name="CJK_COMPATIBILITY"/>
+		<field name="CJK_COMPATIBILITY_FORMS"/>
+		<field name="CJK_COMPATIBILITY_FORMS_ID"/>
+		<field name="CJK_COMPATIBILITY_ID"/>
+		<field name="CJK_COMPATIBILITY_IDEOGRAPHS"/>
+		<field name="CJK_COMPATIBILITY_IDEOGRAPHS_ID"/>
+		<field name="CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT"/>
+		<field name="CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT_ID"/>
+		<field name="CJK_RADICALS_SUPPLEMENT"/>
+		<field name="CJK_RADICALS_SUPPLEMENT_ID"/>
+		<field name="CJK_STROKES"/>
+		<field name="CJK_STROKES_ID"/>
+		<field name="CJK_SYMBOLS_AND_PUNCTUATION"/>
+		<field name="CJK_SYMBOLS_AND_PUNCTUATION_ID"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A_ID"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B_ID"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C_ID"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D_ID"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_E_ID"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F" since="28"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_F_ID" since="28"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G" since="30"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_G_ID" since="30"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_ID"/>
+		<field name="COMBINING_DIACRITICAL_MARKS"/>
+		<field name="COMBINING_DIACRITICAL_MARKS_EXTENDED"/>
+		<field name="COMBINING_DIACRITICAL_MARKS_EXTENDED_ID"/>
+		<field name="COMBINING_DIACRITICAL_MARKS_ID"/>
+		<field name="COMBINING_DIACRITICAL_MARKS_SUPPLEMENT"/>
+		<field name="COMBINING_DIACRITICAL_MARKS_SUPPLEMENT_ID"/>
+		<field name="COMBINING_HALF_MARKS"/>
+		<field name="COMBINING_HALF_MARKS_ID"/>
+		<field name="COMBINING_MARKS_FOR_SYMBOLS"/>
+		<field name="COMBINING_MARKS_FOR_SYMBOLS_ID"/>
+		<field name="COMMON_INDIC_NUMBER_FORMS"/>
+		<field name="COMMON_INDIC_NUMBER_FORMS_ID"/>
+		<field name="CONTROL_PICTURES"/>
+		<field name="CONTROL_PICTURES_ID"/>
+		<field name="COPTIC"/>
+		<field name="COPTIC_EPACT_NUMBERS"/>
+		<field name="COPTIC_EPACT_NUMBERS_ID"/>
+		<field name="COPTIC_ID"/>
+		<field name="COUNTING_ROD_NUMERALS"/>
+		<field name="COUNTING_ROD_NUMERALS_ID"/>
+		<field name="CUNEIFORM"/>
+		<field name="CUNEIFORM_ID"/>
+		<field name="CUNEIFORM_NUMBERS_AND_PUNCTUATION"/>
+		<field name="CUNEIFORM_NUMBERS_AND_PUNCTUATION_ID"/>
+		<field name="CURRENCY_SYMBOLS"/>
+		<field name="CURRENCY_SYMBOLS_ID"/>
+		<field name="CYPRIOT_SYLLABARY"/>
+		<field name="CYPRIOT_SYLLABARY_ID"/>
+		<field name="CYRILLIC"/>
+		<field name="CYRILLIC_EXTENDED_A"/>
+		<field name="CYRILLIC_EXTENDED_A_ID"/>
+		<field name="CYRILLIC_EXTENDED_B"/>
+		<field name="CYRILLIC_EXTENDED_B_ID"/>
+		<field name="CYRILLIC_EXTENDED_C" since="26"/>
+		<field name="CYRILLIC_EXTENDED_C_ID" since="26"/>
+		<field name="CYRILLIC_ID"/>
+		<field name="CYRILLIC_SUPPLEMENT"/>
+		<field name="CYRILLIC_SUPPLEMENTARY"/>
+		<field name="CYRILLIC_SUPPLEMENTARY_ID"/>
+		<field name="CYRILLIC_SUPPLEMENT_ID"/>
+		<field name="DESERET"/>
+		<field name="DESERET_ID"/>
+		<field name="DEVANAGARI"/>
+		<field name="DEVANAGARI_EXTENDED"/>
+		<field name="DEVANAGARI_EXTENDED_ID"/>
+		<field name="DEVANAGARI_ID"/>
+		<field name="DINGBATS"/>
+		<field name="DINGBATS_ID"/>
+		<field name="DIVES_AKURU" since="30"/>
+		<field name="DIVES_AKURU_ID" since="30"/>
+		<field name="DOGRA" since="29"/>
+		<field name="DOGRA_ID" since="29"/>
+		<field name="DOMINO_TILES"/>
+		<field name="DOMINO_TILES_ID"/>
+		<field name="DUPLOYAN"/>
+		<field name="DUPLOYAN_ID"/>
+		<field name="EARLY_DYNASTIC_CUNEIFORM"/>
+		<field name="EARLY_DYNASTIC_CUNEIFORM_ID"/>
+		<field name="EGYPTIAN_HIEROGLYPHS"/>
+		<field name="EGYPTIAN_HIEROGLYPHS_ID"/>
+		<field name="EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS" since="30"/>
+		<field name="EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS_ID" since="30"/>
+		<field name="ELBASAN"/>
+		<field name="ELBASAN_ID"/>
+		<field name="ELYMAIC" since="30"/>
+		<field name="ELYMAIC_ID" since="30"/>
+		<field name="EMOTICONS"/>
+		<field name="EMOTICONS_ID"/>
+		<field name="ENCLOSED_ALPHANUMERICS"/>
+		<field name="ENCLOSED_ALPHANUMERICS_ID"/>
+		<field name="ENCLOSED_ALPHANUMERIC_SUPPLEMENT"/>
+		<field name="ENCLOSED_ALPHANUMERIC_SUPPLEMENT_ID"/>
+		<field name="ENCLOSED_CJK_LETTERS_AND_MONTHS"/>
+		<field name="ENCLOSED_CJK_LETTERS_AND_MONTHS_ID"/>
+		<field name="ENCLOSED_IDEOGRAPHIC_SUPPLEMENT"/>
+		<field name="ENCLOSED_IDEOGRAPHIC_SUPPLEMENT_ID"/>
+		<field name="ETHIOPIC"/>
+		<field name="ETHIOPIC_EXTENDED"/>
+		<field name="ETHIOPIC_EXTENDED_A"/>
+		<field name="ETHIOPIC_EXTENDED_A_ID"/>
+		<field name="ETHIOPIC_EXTENDED_ID"/>
+		<field name="ETHIOPIC_ID"/>
+		<field name="ETHIOPIC_SUPPLEMENT"/>
+		<field name="ETHIOPIC_SUPPLEMENT_ID"/>
+		<field name="GENERAL_PUNCTUATION"/>
+		<field name="GENERAL_PUNCTUATION_ID"/>
+		<field name="GEOMETRIC_SHAPES"/>
+		<field name="GEOMETRIC_SHAPES_EXTENDED"/>
+		<field name="GEOMETRIC_SHAPES_EXTENDED_ID"/>
+		<field name="GEOMETRIC_SHAPES_ID"/>
+		<field name="GEORGIAN"/>
+		<field name="GEORGIAN_EXTENDED" since="29"/>
+		<field name="GEORGIAN_EXTENDED_ID" since="29"/>
+		<field name="GEORGIAN_ID"/>
+		<field name="GEORGIAN_SUPPLEMENT"/>
+		<field name="GEORGIAN_SUPPLEMENT_ID"/>
+		<field name="GLAGOLITIC"/>
+		<field name="GLAGOLITIC_ID"/>
+		<field name="GLAGOLITIC_SUPPLEMENT" since="26"/>
+		<field name="GLAGOLITIC_SUPPLEMENT_ID" since="26"/>
+		<field name="GOTHIC"/>
+		<field name="GOTHIC_ID"/>
+		<field name="GRANTHA"/>
+		<field name="GRANTHA_ID"/>
+		<field name="GREEK"/>
+		<field name="GREEK_EXTENDED"/>
+		<field name="GREEK_EXTENDED_ID"/>
+		<field name="GREEK_ID"/>
+		<field name="GUJARATI"/>
+		<field name="GUJARATI_ID"/>
+		<field name="GUNJALA_GONDI" since="29"/>
+		<field name="GUNJALA_GONDI_ID" since="29"/>
+		<field name="GURMUKHI"/>
+		<field name="GURMUKHI_ID"/>
+		<field name="HALFWIDTH_AND_FULLWIDTH_FORMS"/>
+		<field name="HALFWIDTH_AND_FULLWIDTH_FORMS_ID"/>
+		<field name="HANGUL_COMPATIBILITY_JAMO"/>
+		<field name="HANGUL_COMPATIBILITY_JAMO_ID"/>
+		<field name="HANGUL_JAMO"/>
+		<field name="HANGUL_JAMO_EXTENDED_A"/>
+		<field name="HANGUL_JAMO_EXTENDED_A_ID"/>
+		<field name="HANGUL_JAMO_EXTENDED_B"/>
+		<field name="HANGUL_JAMO_EXTENDED_B_ID"/>
+		<field name="HANGUL_JAMO_ID"/>
+		<field name="HANGUL_SYLLABLES"/>
+		<field name="HANGUL_SYLLABLES_ID"/>
+		<field name="HANIFI_ROHINGYA" since="29"/>
+		<field name="HANIFI_ROHINGYA_ID" since="29"/>
+		<field name="HANUNOO"/>
+		<field name="HANUNOO_ID"/>
+		<field name="HATRAN"/>
+		<field name="HATRAN_ID"/>
+		<field name="HEBREW"/>
+		<field name="HEBREW_ID"/>
+		<field name="HIGH_PRIVATE_USE_SURROGATES"/>
+		<field name="HIGH_PRIVATE_USE_SURROGATES_ID"/>
+		<field name="HIGH_SURROGATES"/>
+		<field name="HIGH_SURROGATES_ID"/>
+		<field name="HIRAGANA"/>
+		<field name="HIRAGANA_ID"/>
+		<field name="IDEOGRAPHIC_DESCRIPTION_CHARACTERS"/>
+		<field name="IDEOGRAPHIC_DESCRIPTION_CHARACTERS_ID"/>
+		<field name="IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION" since="26"/>
+		<field name="IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_ID" since="26"/>
+		<field name="IMPERIAL_ARAMAIC"/>
+		<field name="IMPERIAL_ARAMAIC_ID"/>
+		<field name="INDIC_SIYAQ_NUMBERS" since="29"/>
+		<field name="INDIC_SIYAQ_NUMBERS_ID" since="29"/>
+		<field name="INSCRIPTIONAL_PAHLAVI"/>
+		<field name="INSCRIPTIONAL_PAHLAVI_ID"/>
+		<field name="INSCRIPTIONAL_PARTHIAN"/>
+		<field name="INSCRIPTIONAL_PARTHIAN_ID"/>
+		<field name="INVALID_CODE"/>
+		<field name="INVALID_CODE_ID"/>
+		<field name="IPA_EXTENSIONS"/>
+		<field name="IPA_EXTENSIONS_ID"/>
+		<field name="JAVANESE"/>
+		<field name="JAVANESE_ID"/>
+		<field name="KAITHI"/>
+		<field name="KAITHI_ID"/>
+		<field name="KANA_EXTENDED_A" since="28"/>
+		<field name="KANA_EXTENDED_A_ID" since="28"/>
+		<field name="KANA_SUPPLEMENT"/>
+		<field name="KANA_SUPPLEMENT_ID"/>
+		<field name="KANBUN"/>
+		<field name="KANBUN_ID"/>
+		<field name="KANGXI_RADICALS"/>
+		<field name="KANGXI_RADICALS_ID"/>
+		<field name="KANNADA"/>
+		<field name="KANNADA_ID"/>
+		<field name="KATAKANA"/>
+		<field name="KATAKANA_ID"/>
+		<field name="KATAKANA_PHONETIC_EXTENSIONS"/>
+		<field name="KATAKANA_PHONETIC_EXTENSIONS_ID"/>
+		<field name="KAYAH_LI"/>
+		<field name="KAYAH_LI_ID"/>
+		<field name="KHAROSHTHI"/>
+		<field name="KHAROSHTHI_ID"/>
+		<field name="KHITAN_SMALL_SCRIPT" since="30"/>
+		<field name="KHITAN_SMALL_SCRIPT_ID" since="30"/>
+		<field name="KHMER"/>
+		<field name="KHMER_ID"/>
+		<field name="KHMER_SYMBOLS"/>
+		<field name="KHMER_SYMBOLS_ID"/>
+		<field name="KHOJKI"/>
+		<field name="KHOJKI_ID"/>
+		<field name="KHUDAWADI"/>
+		<field name="KHUDAWADI_ID"/>
+		<field name="LAO"/>
+		<field name="LAO_ID"/>
+		<field name="LATIN_1_SUPPLEMENT"/>
+		<field name="LATIN_1_SUPPLEMENT_ID"/>
+		<field name="LATIN_EXTENDED_A"/>
+		<field name="LATIN_EXTENDED_ADDITIONAL"/>
+		<field name="LATIN_EXTENDED_ADDITIONAL_ID"/>
+		<field name="LATIN_EXTENDED_A_ID"/>
+		<field name="LATIN_EXTENDED_B"/>
+		<field name="LATIN_EXTENDED_B_ID"/>
+		<field name="LATIN_EXTENDED_C"/>
+		<field name="LATIN_EXTENDED_C_ID"/>
+		<field name="LATIN_EXTENDED_D"/>
+		<field name="LATIN_EXTENDED_D_ID"/>
+		<field name="LATIN_EXTENDED_E"/>
+		<field name="LATIN_EXTENDED_E_ID"/>
+		<field name="LEPCHA"/>
+		<field name="LEPCHA_ID"/>
+		<field name="LETTERLIKE_SYMBOLS"/>
+		<field name="LETTERLIKE_SYMBOLS_ID"/>
+		<field name="LIMBU"/>
+		<field name="LIMBU_ID"/>
+		<field name="LINEAR_A"/>
+		<field name="LINEAR_A_ID"/>
+		<field name="LINEAR_B_IDEOGRAMS"/>
+		<field name="LINEAR_B_IDEOGRAMS_ID"/>
+		<field name="LINEAR_B_SYLLABARY"/>
+		<field name="LINEAR_B_SYLLABARY_ID"/>
+		<field name="LISU"/>
+		<field name="LISU_ID"/>
+		<field name="LISU_SUPPLEMENT" since="30"/>
+		<field name="LISU_SUPPLEMENT_ID" since="30"/>
+		<field name="LOW_SURROGATES"/>
+		<field name="LOW_SURROGATES_ID"/>
+		<field name="LYCIAN"/>
+		<field name="LYCIAN_ID"/>
+		<field name="LYDIAN"/>
+		<field name="LYDIAN_ID"/>
+		<field name="MAHAJANI"/>
+		<field name="MAHAJANI_ID"/>
+		<field name="MAHJONG_TILES"/>
+		<field name="MAHJONG_TILES_ID"/>
+		<field name="MAKASAR" since="29"/>
+		<field name="MAKASAR_ID" since="29"/>
+		<field name="MALAYALAM"/>
+		<field name="MALAYALAM_ID"/>
+		<field name="MANDAIC"/>
+		<field name="MANDAIC_ID"/>
+		<field name="MANICHAEAN"/>
+		<field name="MANICHAEAN_ID"/>
+		<field name="MARCHEN" since="26"/>
+		<field name="MARCHEN_ID" since="26"/>
+		<field name="MASARAM_GONDI" since="28"/>
+		<field name="MASARAM_GONDI_ID" since="28"/>
+		<field name="MATHEMATICAL_ALPHANUMERIC_SYMBOLS"/>
+		<field name="MATHEMATICAL_ALPHANUMERIC_SYMBOLS_ID"/>
+		<field name="MATHEMATICAL_OPERATORS"/>
+		<field name="MATHEMATICAL_OPERATORS_ID"/>
+		<field name="MAYAN_NUMERALS" since="29"/>
+		<field name="MAYAN_NUMERALS_ID" since="29"/>
+		<field name="MEDEFAIDRIN" since="29"/>
+		<field name="MEDEFAIDRIN_ID" since="29"/>
+		<field name="MEETEI_MAYEK"/>
+		<field name="MEETEI_MAYEK_EXTENSIONS"/>
+		<field name="MEETEI_MAYEK_EXTENSIONS_ID"/>
+		<field name="MEETEI_MAYEK_ID"/>
+		<field name="MENDE_KIKAKUI"/>
+		<field name="MENDE_KIKAKUI_ID"/>
+		<field name="MEROITIC_CURSIVE"/>
+		<field name="MEROITIC_CURSIVE_ID"/>
+		<field name="MEROITIC_HIEROGLYPHS"/>
+		<field name="MEROITIC_HIEROGLYPHS_ID"/>
+		<field name="MIAO"/>
+		<field name="MIAO_ID"/>
+		<field name="MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A"/>
+		<field name="MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A_ID"/>
+		<field name="MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B"/>
+		<field name="MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B_ID"/>
+		<field name="MISCELLANEOUS_SYMBOLS"/>
+		<field name="MISCELLANEOUS_SYMBOLS_AND_ARROWS"/>
+		<field name="MISCELLANEOUS_SYMBOLS_AND_ARROWS_ID"/>
+		<field name="MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS"/>
+		<field name="MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS_ID"/>
+		<field name="MISCELLANEOUS_SYMBOLS_ID"/>
+		<field name="MISCELLANEOUS_TECHNICAL"/>
+		<field name="MISCELLANEOUS_TECHNICAL_ID"/>
+		<field name="MODI"/>
+		<field name="MODIFIER_TONE_LETTERS"/>
+		<field name="MODIFIER_TONE_LETTERS_ID"/>
+		<field name="MODI_ID"/>
+		<field name="MONGOLIAN"/>
+		<field name="MONGOLIAN_ID"/>
+		<field name="MONGOLIAN_SUPPLEMENT" since="26"/>
+		<field name="MONGOLIAN_SUPPLEMENT_ID" since="26"/>
+		<field name="MRO"/>
+		<field name="MRO_ID"/>
+		<field name="MULTANI"/>
+		<field name="MULTANI_ID"/>
+		<field name="MUSICAL_SYMBOLS"/>
+		<field name="MUSICAL_SYMBOLS_ID"/>
+		<field name="MYANMAR"/>
+		<field name="MYANMAR_EXTENDED_A"/>
+		<field name="MYANMAR_EXTENDED_A_ID"/>
+		<field name="MYANMAR_EXTENDED_B"/>
+		<field name="MYANMAR_EXTENDED_B_ID"/>
+		<field name="MYANMAR_ID"/>
+		<field name="NABATAEAN"/>
+		<field name="NABATAEAN_ID"/>
+		<field name="NANDINAGARI" since="30"/>
+		<field name="NANDINAGARI_ID" since="30"/>
+		<field name="NEWA" since="26"/>
+		<field name="NEWA_ID" since="26"/>
+		<field name="NEW_TAI_LUE"/>
+		<field name="NEW_TAI_LUE_ID"/>
+		<field name="NKO"/>
+		<field name="NKO_ID"/>
+		<field name="NO_BLOCK"/>
+		<field name="NUMBER_FORMS"/>
+		<field name="NUMBER_FORMS_ID"/>
+		<field name="NUSHU" since="28"/>
+		<field name="NUSHU_ID" since="28"/>
+		<field name="NYIAKENG_PUACHUE_HMONG" since="30"/>
+		<field name="NYIAKENG_PUACHUE_HMONG_ID" since="30"/>
+		<field name="OGHAM"/>
+		<field name="OGHAM_ID"/>
+		<field name="OLD_HUNGARIAN"/>
+		<field name="OLD_HUNGARIAN_ID"/>
+		<field name="OLD_ITALIC"/>
+		<field name="OLD_ITALIC_ID"/>
+		<field name="OLD_NORTH_ARABIAN"/>
+		<field name="OLD_NORTH_ARABIAN_ID"/>
+		<field name="OLD_PERMIC"/>
+		<field name="OLD_PERMIC_ID"/>
+		<field name="OLD_PERSIAN"/>
+		<field name="OLD_PERSIAN_ID"/>
+		<field name="OLD_SOGDIAN" since="29"/>
+		<field name="OLD_SOGDIAN_ID" since="29"/>
+		<field name="OLD_SOUTH_ARABIAN"/>
+		<field name="OLD_SOUTH_ARABIAN_ID"/>
+		<field name="OLD_TURKIC"/>
+		<field name="OLD_TURKIC_ID"/>
+		<field name="OL_CHIKI"/>
+		<field name="OL_CHIKI_ID"/>
+		<field name="OPTICAL_CHARACTER_RECOGNITION"/>
+		<field name="OPTICAL_CHARACTER_RECOGNITION_ID"/>
+		<field name="ORIYA"/>
+		<field name="ORIYA_ID"/>
+		<field name="ORNAMENTAL_DINGBATS"/>
+		<field name="ORNAMENTAL_DINGBATS_ID"/>
+		<field name="OSAGE" since="26"/>
+		<field name="OSAGE_ID" since="26"/>
+		<field name="OSMANYA"/>
+		<field name="OSMANYA_ID"/>
+		<field name="OTTOMAN_SIYAQ_NUMBERS" since="30"/>
+		<field name="OTTOMAN_SIYAQ_NUMBERS_ID" since="30"/>
+		<field name="PAHAWH_HMONG"/>
+		<field name="PAHAWH_HMONG_ID"/>
+		<field name="PALMYRENE"/>
+		<field name="PALMYRENE_ID"/>
+		<field name="PAU_CIN_HAU"/>
+		<field name="PAU_CIN_HAU_ID"/>
+		<field name="PHAGS_PA"/>
+		<field name="PHAGS_PA_ID"/>
+		<field name="PHAISTOS_DISC"/>
+		<field name="PHAISTOS_DISC_ID"/>
+		<field name="PHOENICIAN"/>
+		<field name="PHOENICIAN_ID"/>
+		<field name="PHONETIC_EXTENSIONS"/>
+		<field name="PHONETIC_EXTENSIONS_ID"/>
+		<field name="PHONETIC_EXTENSIONS_SUPPLEMENT"/>
+		<field name="PHONETIC_EXTENSIONS_SUPPLEMENT_ID"/>
+		<field name="PLAYING_CARDS"/>
+		<field name="PLAYING_CARDS_ID"/>
+		<field name="PRIVATE_USE"/>
+		<field name="PRIVATE_USE_AREA"/>
+		<field name="PRIVATE_USE_AREA_ID"/>
+		<field name="PRIVATE_USE_ID"/>
+		<field name="PSALTER_PAHLAVI"/>
+		<field name="PSALTER_PAHLAVI_ID"/>
+		<field name="REJANG"/>
+		<field name="REJANG_ID"/>
+		<field name="RUMI_NUMERAL_SYMBOLS"/>
+		<field name="RUMI_NUMERAL_SYMBOLS_ID"/>
+		<field name="RUNIC"/>
+		<field name="RUNIC_ID"/>
+		<field name="SAMARITAN"/>
+		<field name="SAMARITAN_ID"/>
+		<field name="SAURASHTRA"/>
+		<field name="SAURASHTRA_ID"/>
+		<field name="SHARADA"/>
+		<field name="SHARADA_ID"/>
+		<field name="SHAVIAN"/>
+		<field name="SHAVIAN_ID"/>
+		<field name="SHORTHAND_FORMAT_CONTROLS"/>
+		<field name="SHORTHAND_FORMAT_CONTROLS_ID"/>
+		<field name="SIDDHAM"/>
+		<field name="SIDDHAM_ID"/>
+		<field name="SINHALA"/>
+		<field name="SINHALA_ARCHAIC_NUMBERS"/>
+		<field name="SINHALA_ARCHAIC_NUMBERS_ID"/>
+		<field name="SINHALA_ID"/>
+		<field name="SMALL_FORM_VARIANTS"/>
+		<field name="SMALL_FORM_VARIANTS_ID"/>
+		<field name="SMALL_KANA_EXTENSION" since="30"/>
+		<field name="SMALL_KANA_EXTENSION_ID" since="30"/>
+		<field name="SOGDIAN" since="29"/>
+		<field name="SOGDIAN_ID" since="29"/>
+		<field name="SORA_SOMPENG"/>
+		<field name="SORA_SOMPENG_ID"/>
+		<field name="SOYOMBO" since="28"/>
+		<field name="SOYOMBO_ID" since="28"/>
+		<field name="SPACING_MODIFIER_LETTERS"/>
+		<field name="SPACING_MODIFIER_LETTERS_ID"/>
+		<field name="SPECIALS"/>
+		<field name="SPECIALS_ID"/>
+		<field name="SUNDANESE"/>
+		<field name="SUNDANESE_ID"/>
+		<field name="SUNDANESE_SUPPLEMENT"/>
+		<field name="SUNDANESE_SUPPLEMENT_ID"/>
+		<field name="SUPERSCRIPTS_AND_SUBSCRIPTS"/>
+		<field name="SUPERSCRIPTS_AND_SUBSCRIPTS_ID"/>
+		<field name="SUPPLEMENTAL_ARROWS_A"/>
+		<field name="SUPPLEMENTAL_ARROWS_A_ID"/>
+		<field name="SUPPLEMENTAL_ARROWS_B"/>
+		<field name="SUPPLEMENTAL_ARROWS_B_ID"/>
+		<field name="SUPPLEMENTAL_ARROWS_C"/>
+		<field name="SUPPLEMENTAL_ARROWS_C_ID"/>
+		<field name="SUPPLEMENTAL_MATHEMATICAL_OPERATORS"/>
+		<field name="SUPPLEMENTAL_MATHEMATICAL_OPERATORS_ID"/>
+		<field name="SUPPLEMENTAL_PUNCTUATION"/>
+		<field name="SUPPLEMENTAL_PUNCTUATION_ID"/>
+		<field name="SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS"/>
+		<field name="SUPPLEMENTAL_SYMBOLS_AND_PICTOGRAPHS_ID"/>
+		<field name="SUPPLEMENTARY_PRIVATE_USE_AREA_A"/>
+		<field name="SUPPLEMENTARY_PRIVATE_USE_AREA_A_ID"/>
+		<field name="SUPPLEMENTARY_PRIVATE_USE_AREA_B"/>
+		<field name="SUPPLEMENTARY_PRIVATE_USE_AREA_B_ID"/>
+		<field name="SUTTON_SIGNWRITING"/>
+		<field name="SUTTON_SIGNWRITING_ID"/>
+		<field name="SYLOTI_NAGRI"/>
+		<field name="SYLOTI_NAGRI_ID"/>
+		<field name="SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A" since="30"/>
+		<field name="SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A_ID" since="30"/>
+		<field name="SYMBOLS_FOR_LEGACY_COMPUTING" since="30"/>
+		<field name="SYMBOLS_FOR_LEGACY_COMPUTING_ID" since="30"/>
+		<field name="SYRIAC"/>
+		<field name="SYRIAC_ID"/>
+		<field name="SYRIAC_SUPPLEMENT" since="28"/>
+		<field name="SYRIAC_SUPPLEMENT_ID" since="28"/>
+		<field name="TAGALOG"/>
+		<field name="TAGALOG_ID"/>
+		<field name="TAGBANWA"/>
+		<field name="TAGBANWA_ID"/>
+		<field name="TAGS"/>
+		<field name="TAGS_ID"/>
+		<field name="TAI_LE"/>
+		<field name="TAI_LE_ID"/>
+		<field name="TAI_THAM"/>
+		<field name="TAI_THAM_ID"/>
+		<field name="TAI_VIET"/>
+		<field name="TAI_VIET_ID"/>
+		<field name="TAI_XUAN_JING_SYMBOLS"/>
+		<field name="TAI_XUAN_JING_SYMBOLS_ID"/>
+		<field name="TAKRI"/>
+		<field name="TAKRI_ID"/>
+		<field name="TAMIL"/>
+		<field name="TAMIL_ID"/>
+		<field name="TAMIL_SUPPLEMENT" since="30"/>
+		<field name="TAMIL_SUPPLEMENT_ID" since="30"/>
+		<field name="TANGUT" since="26"/>
+		<field name="TANGUT_COMPONENTS" since="26"/>
+		<field name="TANGUT_COMPONENTS_ID" since="26"/>
+		<field name="TANGUT_ID" since="26"/>
+		<field name="TANGUT_SUPPLEMENT" since="30"/>
+		<field name="TANGUT_SUPPLEMENT_ID" since="30"/>
+		<field name="TELUGU"/>
+		<field name="TELUGU_ID"/>
+		<field name="THAANA"/>
+		<field name="THAANA_ID"/>
+		<field name="THAI"/>
+		<field name="THAI_ID"/>
+		<field name="TIBETAN"/>
+		<field name="TIBETAN_ID"/>
+		<field name="TIFINAGH"/>
+		<field name="TIFINAGH_ID"/>
+		<field name="TIRHUTA"/>
+		<field name="TIRHUTA_ID"/>
+		<field name="TRANSPORT_AND_MAP_SYMBOLS"/>
+		<field name="TRANSPORT_AND_MAP_SYMBOLS_ID"/>
+		<field name="UGARITIC"/>
+		<field name="UGARITIC_ID"/>
+		<field name="UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS"/>
+		<field name="UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED"/>
+		<field name="UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED_ID"/>
+		<field name="UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_ID"/>
+		<field name="VAI"/>
+		<field name="VAI_ID"/>
+		<field name="VARIATION_SELECTORS"/>
+		<field name="VARIATION_SELECTORS_ID"/>
+		<field name="VARIATION_SELECTORS_SUPPLEMENT"/>
+		<field name="VARIATION_SELECTORS_SUPPLEMENT_ID"/>
+		<field name="VEDIC_EXTENSIONS"/>
+		<field name="VEDIC_EXTENSIONS_ID"/>
+		<field name="VERTICAL_FORMS"/>
+		<field name="VERTICAL_FORMS_ID"/>
+		<field name="WANCHO" since="30"/>
+		<field name="WANCHO_ID" since="30"/>
+		<field name="WARANG_CITI"/>
+		<field name="WARANG_CITI_ID"/>
+		<field name="YEZIDI" since="30"/>
+		<field name="YEZIDI_ID" since="30"/>
+		<field name="YIJING_HEXAGRAM_SYMBOLS"/>
+		<field name="YIJING_HEXAGRAM_SYMBOLS_ID"/>
+		<field name="YI_RADICALS"/>
+		<field name="YI_RADICALS_ID"/>
+		<field name="YI_SYLLABLES"/>
+		<field name="YI_SYLLABLES_ID"/>
+		<field name="ZANABAZAR_SQUARE" since="28"/>
+		<field name="ZANABAZAR_SQUARE_ID" since="28"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$VerticalOrientation" since="29">
+		<extends name="java/lang/Object"/>
+		<field name="ROTATED"/>
+		<field name="TRANSFORMED_ROTATED"/>
+		<field name="TRANSFORMED_UPRIGHT"/>
+		<field name="UPRIGHT"/>
+	</class>
+	<class name="android/icu/lang/UCharacter$WordBreak" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="ALETTER"/>
+		<field name="CR"/>
+		<field name="DOUBLE_QUOTE"/>
+		<field name="EXTEND"/>
+		<field name="EXTENDNUMLET"/>
+		<field name="E_BASE" since="26"/>
+		<field name="E_BASE_GAZ" since="26"/>
+		<field name="E_MODIFIER" since="26"/>
+		<field name="FORMAT"/>
+		<field name="GLUE_AFTER_ZWJ" since="26"/>
+		<field name="HEBREW_LETTER"/>
+		<field name="KATAKANA"/>
+		<field name="LF"/>
+		<field name="MIDLETTER"/>
+		<field name="MIDNUM"/>
+		<field name="MIDNUMLET"/>
+		<field name="NEWLINE"/>
+		<field name="NUMERIC"/>
+		<field name="OTHER"/>
+		<field name="REGIONAL_INDICATOR"/>
+		<field name="SINGLE_QUOTE"/>
+		<field name="WSEGSPACE" since="29"/>
+		<field name="ZWJ" since="26"/>
+	</class>
+	<class name="android/icu/lang/UCharacterCategory" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/lang/UCharacterEnums$ECharacterCategory"/>
+		<method name="toString(I)Ljava/lang/String;"/>
+	</class>
+	<class name="android/icu/lang/UCharacterDirection" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/lang/UCharacterEnums$ECharacterDirection"/>
+		<method name="toString(I)Ljava/lang/String;"/>
+	</class>
+	<class name="android/icu/lang/UCharacterEnums" since="24">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/icu/lang/UCharacterEnums$ECharacterCategory" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="COMBINING_SPACING_MARK"/>
+		<field name="CONNECTOR_PUNCTUATION"/>
+		<field name="CONTROL"/>
+		<field name="CURRENCY_SYMBOL"/>
+		<field name="DASH_PUNCTUATION"/>
+		<field name="DECIMAL_DIGIT_NUMBER"/>
+		<field name="ENCLOSING_MARK"/>
+		<field name="END_PUNCTUATION"/>
+		<field name="FINAL_PUNCTUATION"/>
+		<field name="FINAL_QUOTE_PUNCTUATION"/>
+		<field name="FORMAT"/>
+		<field name="GENERAL_OTHER_TYPES"/>
+		<field name="INITIAL_PUNCTUATION"/>
+		<field name="INITIAL_QUOTE_PUNCTUATION"/>
+		<field name="LETTER_NUMBER"/>
+		<field name="LINE_SEPARATOR"/>
+		<field name="LOWERCASE_LETTER"/>
+		<field name="MATH_SYMBOL"/>
+		<field name="MODIFIER_LETTER"/>
+		<field name="MODIFIER_SYMBOL"/>
+		<field name="NON_SPACING_MARK"/>
+		<field name="OTHER_LETTER"/>
+		<field name="OTHER_NUMBER"/>
+		<field name="OTHER_PUNCTUATION"/>
+		<field name="OTHER_SYMBOL"/>
+		<field name="PARAGRAPH_SEPARATOR"/>
+		<field name="PRIVATE_USE"/>
+		<field name="SPACE_SEPARATOR"/>
+		<field name="START_PUNCTUATION"/>
+		<field name="SURROGATE"/>
+		<field name="TITLECASE_LETTER"/>
+		<field name="UNASSIGNED"/>
+		<field name="UPPERCASE_LETTER"/>
+	</class>
+	<class name="android/icu/lang/UCharacterEnums$ECharacterDirection" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="ARABIC_NUMBER"/>
+		<field name="BLOCK_SEPARATOR"/>
+		<field name="BOUNDARY_NEUTRAL"/>
+		<field name="COMMON_NUMBER_SEPARATOR"/>
+		<field name="DIRECTIONALITY_ARABIC_NUMBER"/>
+		<field name="DIRECTIONALITY_BOUNDARY_NEUTRAL"/>
+		<field name="DIRECTIONALITY_COMMON_NUMBER_SEPARATOR"/>
+		<field name="DIRECTIONALITY_EUROPEAN_NUMBER"/>
+		<field name="DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR"/>
+		<field name="DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR"/>
+		<field name="DIRECTIONALITY_LEFT_TO_RIGHT"/>
+		<field name="DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING"/>
+		<field name="DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE"/>
+		<field name="DIRECTIONALITY_NONSPACING_MARK"/>
+		<field name="DIRECTIONALITY_OTHER_NEUTRALS"/>
+		<field name="DIRECTIONALITY_PARAGRAPH_SEPARATOR"/>
+		<field name="DIRECTIONALITY_POP_DIRECTIONAL_FORMAT"/>
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT"/>
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC"/>
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING"/>
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE"/>
+		<field name="DIRECTIONALITY_SEGMENT_SEPARATOR"/>
+		<field name="DIRECTIONALITY_UNDEFINED"/>
+		<field name="DIRECTIONALITY_WHITESPACE"/>
+		<field name="DIR_NON_SPACING_MARK"/>
+		<field name="EUROPEAN_NUMBER"/>
+		<field name="EUROPEAN_NUMBER_SEPARATOR"/>
+		<field name="EUROPEAN_NUMBER_TERMINATOR"/>
+		<field name="FIRST_STRONG_ISOLATE"/>
+		<field name="LEFT_TO_RIGHT"/>
+		<field name="LEFT_TO_RIGHT_EMBEDDING"/>
+		<field name="LEFT_TO_RIGHT_ISOLATE"/>
+		<field name="LEFT_TO_RIGHT_OVERRIDE"/>
+		<field name="OTHER_NEUTRAL"/>
+		<field name="POP_DIRECTIONAL_FORMAT"/>
+		<field name="POP_DIRECTIONAL_ISOLATE"/>
+		<field name="RIGHT_TO_LEFT"/>
+		<field name="RIGHT_TO_LEFT_ARABIC"/>
+		<field name="RIGHT_TO_LEFT_EMBEDDING"/>
+		<field name="RIGHT_TO_LEFT_ISOLATE"/>
+		<field name="RIGHT_TO_LEFT_OVERRIDE"/>
+		<field name="SEGMENT_SEPARATOR"/>
+		<field name="WHITE_SPACE_NEUTRAL"/>
+	</class>
+	<class name="android/icu/lang/UProperty" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="AGE"/>
+		<field name="ALPHABETIC"/>
+		<field name="ASCII_HEX_DIGIT"/>
+		<field name="BIDI_CLASS"/>
+		<field name="BIDI_CONTROL"/>
+		<field name="BIDI_MIRRORED"/>
+		<field name="BIDI_MIRRORING_GLYPH"/>
+		<field name="BIDI_PAIRED_BRACKET"/>
+		<field name="BIDI_PAIRED_BRACKET_TYPE"/>
+		<field name="BINARY_START"/>
+		<field name="BLOCK"/>
+		<field name="CANONICAL_COMBINING_CLASS"/>
+		<field name="CASED"/>
+		<field name="CASE_FOLDING"/>
+		<field name="CASE_IGNORABLE"/>
+		<field name="CASE_SENSITIVE"/>
+		<field name="CHANGES_WHEN_CASEFOLDED"/>
+		<field name="CHANGES_WHEN_CASEMAPPED"/>
+		<field name="CHANGES_WHEN_LOWERCASED"/>
+		<field name="CHANGES_WHEN_NFKC_CASEFOLDED"/>
+		<field name="CHANGES_WHEN_TITLECASED"/>
+		<field name="CHANGES_WHEN_UPPERCASED"/>
+		<field name="DASH"/>
+		<field name="DECOMPOSITION_TYPE"/>
+		<field name="DEFAULT_IGNORABLE_CODE_POINT"/>
+		<field name="DEPRECATED"/>
+		<field name="DIACRITIC"/>
+		<field name="DOUBLE_START"/>
+		<field name="EAST_ASIAN_WIDTH"/>
+		<field name="EMOJI" since="28"/>
+		<field name="EMOJI_COMPONENT" since="28"/>
+		<field name="EMOJI_MODIFIER" since="28"/>
+		<field name="EMOJI_MODIFIER_BASE" since="28"/>
+		<field name="EMOJI_PRESENTATION" since="28"/>
+		<field name="EXTENDED_PICTOGRAPHIC" since="29"/>
+		<field name="EXTENDER"/>
+		<field name="FULL_COMPOSITION_EXCLUSION"/>
+		<field name="GENERAL_CATEGORY"/>
+		<field name="GENERAL_CATEGORY_MASK"/>
+		<field name="GRAPHEME_BASE"/>
+		<field name="GRAPHEME_CLUSTER_BREAK"/>
+		<field name="GRAPHEME_EXTEND"/>
+		<field name="GRAPHEME_LINK"/>
+		<field name="HANGUL_SYLLABLE_TYPE"/>
+		<field name="HEX_DIGIT"/>
+		<field name="HYPHEN"/>
+		<field name="IDEOGRAPHIC"/>
+		<field name="IDS_BINARY_OPERATOR"/>
+		<field name="IDS_TRINARY_OPERATOR"/>
+		<field name="ID_CONTINUE"/>
+		<field name="ID_START"/>
+		<field name="INDIC_POSITIONAL_CATEGORY" since="29"/>
+		<field name="INDIC_SYLLABIC_CATEGORY" since="29"/>
+		<field name="INT_START"/>
+		<field name="JOINING_GROUP"/>
+		<field name="JOINING_TYPE"/>
+		<field name="JOIN_CONTROL"/>
+		<field name="LEAD_CANONICAL_COMBINING_CLASS"/>
+		<field name="LINE_BREAK"/>
+		<field name="LOGICAL_ORDER_EXCEPTION"/>
+		<field name="LOWERCASE"/>
+		<field name="LOWERCASE_MAPPING"/>
+		<field name="MASK_START"/>
+		<field name="MATH"/>
+		<field name="NAME"/>
+		<field name="NFC_INERT"/>
+		<field name="NFC_QUICK_CHECK"/>
+		<field name="NFD_INERT"/>
+		<field name="NFD_QUICK_CHECK"/>
+		<field name="NFKC_INERT"/>
+		<field name="NFKC_QUICK_CHECK"/>
+		<field name="NFKD_INERT"/>
+		<field name="NFKD_QUICK_CHECK"/>
+		<field name="NONCHARACTER_CODE_POINT"/>
+		<field name="NUMERIC_TYPE"/>
+		<field name="NUMERIC_VALUE"/>
+		<field name="OTHER_PROPERTY_START"/>
+		<field name="PATTERN_SYNTAX"/>
+		<field name="PATTERN_WHITE_SPACE"/>
+		<field name="POSIX_ALNUM"/>
+		<field name="POSIX_BLANK"/>
+		<field name="POSIX_GRAPH"/>
+		<field name="POSIX_PRINT"/>
+		<field name="POSIX_XDIGIT"/>
+		<field name="PREPENDED_CONCATENATION_MARK" since="28"/>
+		<field name="QUOTATION_MARK"/>
+		<field name="RADICAL"/>
+		<field name="REGIONAL_INDICATOR" since="28"/>
+		<field name="SCRIPT"/>
+		<field name="SCRIPT_EXTENSIONS"/>
+		<field name="SEGMENT_STARTER"/>
+		<field name="SENTENCE_BREAK"/>
+		<field name="SIMPLE_CASE_FOLDING"/>
+		<field name="SIMPLE_LOWERCASE_MAPPING"/>
+		<field name="SIMPLE_TITLECASE_MAPPING"/>
+		<field name="SIMPLE_UPPERCASE_MAPPING"/>
+		<field name="SOFT_DOTTED"/>
+		<field name="STRING_START"/>
+		<field name="S_TERM"/>
+		<field name="TERMINAL_PUNCTUATION"/>
+		<field name="TITLECASE_MAPPING"/>
+		<field name="TRAIL_CANONICAL_COMBINING_CLASS"/>
+		<field name="UNIFIED_IDEOGRAPH"/>
+		<field name="UPPERCASE"/>
+		<field name="UPPERCASE_MAPPING"/>
+		<field name="VARIATION_SELECTOR"/>
+		<field name="VERTICAL_ORIENTATION" since="29"/>
+		<field name="WHITE_SPACE"/>
+		<field name="WORD_BREAK"/>
+		<field name="XID_CONTINUE"/>
+		<field name="XID_START"/>
+	</class>
+	<class name="android/icu/lang/UProperty$NameChoice" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="LONG"/>
+		<field name="SHORT"/>
+	</class>
+	<class name="android/icu/lang/UScript" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="breaksBetweenLetters(I)Z"/>
+		<method name="getCode(Landroid/icu/util/ULocale;)[I"/>
+		<method name="getCode(Ljava/lang/String;)[I"/>
+		<method name="getCode(Ljava/util/Locale;)[I"/>
+		<method name="getCodeFromName(Ljava/lang/String;)I"/>
+		<method name="getName(I)Ljava/lang/String;"/>
+		<method name="getSampleString(I)Ljava/lang/String;"/>
+		<method name="getScript(I)I"/>
+		<method name="getScriptExtensions(ILjava/util/BitSet;)I"/>
+		<method name="getShortName(I)Ljava/lang/String;"/>
+		<method name="getUsage(I)Landroid/icu/lang/UScript$ScriptUsage;"/>
+		<method name="hasScript(II)Z"/>
+		<method name="isCased(I)Z"/>
+		<method name="isRightToLeft(I)Z"/>
+		<field name="ADLAM" since="26"/>
+		<field name="AFAKA"/>
+		<field name="AHOM"/>
+		<field name="ANATOLIAN_HIEROGLYPHS"/>
+		<field name="ARABIC"/>
+		<field name="ARMENIAN"/>
+		<field name="AVESTAN"/>
+		<field name="BALINESE"/>
+		<field name="BAMUM"/>
+		<field name="BASSA_VAH"/>
+		<field name="BATAK"/>
+		<field name="BENGALI"/>
+		<field name="BHAIKSUKI" since="26"/>
+		<field name="BLISSYMBOLS"/>
+		<field name="BOOK_PAHLAVI"/>
+		<field name="BOPOMOFO"/>
+		<field name="BRAHMI"/>
+		<field name="BRAILLE"/>
+		<field name="BUGINESE"/>
+		<field name="BUHID"/>
+		<field name="CANADIAN_ABORIGINAL"/>
+		<field name="CARIAN"/>
+		<field name="CAUCASIAN_ALBANIAN"/>
+		<field name="CHAKMA"/>
+		<field name="CHAM"/>
+		<field name="CHEROKEE"/>
+		<field name="CHORASMIAN" since="30"/>
+		<field name="CIRTH"/>
+		<field name="COMMON"/>
+		<field name="COPTIC"/>
+		<field name="CUNEIFORM"/>
+		<field name="CYPRIOT"/>
+		<field name="CYRILLIC"/>
+		<field name="DEMOTIC_EGYPTIAN"/>
+		<field name="DESERET"/>
+		<field name="DEVANAGARI"/>
+		<field name="DIVES_AKURU" since="30"/>
+		<field name="DOGRA" since="29"/>
+		<field name="DUPLOYAN"/>
+		<field name="EASTERN_SYRIAC"/>
+		<field name="EGYPTIAN_HIEROGLYPHS"/>
+		<field name="ELBASAN"/>
+		<field name="ELYMAIC" since="30"/>
+		<field name="ESTRANGELO_SYRIAC"/>
+		<field name="ETHIOPIC"/>
+		<field name="GEORGIAN"/>
+		<field name="GLAGOLITIC"/>
+		<field name="GOTHIC"/>
+		<field name="GRANTHA"/>
+		<field name="GREEK"/>
+		<field name="GUJARATI"/>
+		<field name="GUNJALA_GONDI" since="29"/>
+		<field name="GURMUKHI"/>
+		<field name="HAN"/>
+		<field name="HANGUL"/>
+		<field name="HANIFI_ROHINGYA" since="29"/>
+		<field name="HANUNOO"/>
+		<field name="HAN_WITH_BOPOMOFO" since="26"/>
+		<field name="HARAPPAN_INDUS"/>
+		<field name="HATRAN"/>
+		<field name="HEBREW"/>
+		<field name="HIERATIC_EGYPTIAN"/>
+		<field name="HIRAGANA"/>
+		<field name="IMPERIAL_ARAMAIC"/>
+		<field name="INHERITED"/>
+		<field name="INSCRIPTIONAL_PAHLAVI"/>
+		<field name="INSCRIPTIONAL_PARTHIAN"/>
+		<field name="INVALID_CODE"/>
+		<field name="JAMO" since="26"/>
+		<field name="JAPANESE"/>
+		<field name="JAVANESE"/>
+		<field name="JURCHEN"/>
+		<field name="KAITHI"/>
+		<field name="KANNADA"/>
+		<field name="KATAKANA"/>
+		<field name="KATAKANA_OR_HIRAGANA"/>
+		<field name="KAYAH_LI"/>
+		<field name="KHAROSHTHI"/>
+		<field name="KHITAN_SMALL_SCRIPT" since="30"/>
+		<field name="KHMER"/>
+		<field name="KHOJKI"/>
+		<field name="KHUDAWADI"/>
+		<field name="KHUTSURI"/>
+		<field name="KOREAN"/>
+		<field name="KPELLE"/>
+		<field name="LANNA"/>
+		<field name="LAO"/>
+		<field name="LATIN"/>
+		<field name="LATIN_FRAKTUR"/>
+		<field name="LATIN_GAELIC"/>
+		<field name="LEPCHA"/>
+		<field name="LIMBU"/>
+		<field name="LINEAR_A"/>
+		<field name="LINEAR_B"/>
+		<field name="LISU"/>
+		<field name="LOMA"/>
+		<field name="LYCIAN"/>
+		<field name="LYDIAN"/>
+		<field name="MAHAJANI"/>
+		<field name="MAKASAR" since="29"/>
+		<field name="MALAYALAM"/>
+		<field name="MANDAEAN"/>
+		<field name="MANDAIC"/>
+		<field name="MANICHAEAN"/>
+		<field name="MARCHEN" since="26"/>
+		<field name="MASARAM_GONDI" since="28"/>
+		<field name="MATHEMATICAL_NOTATION"/>
+		<field name="MAYAN_HIEROGLYPHS"/>
+		<field name="MEDEFAIDRIN" since="29"/>
+		<field name="MEITEI_MAYEK"/>
+		<field name="MENDE"/>
+		<field name="MEROITIC"/>
+		<field name="MEROITIC_CURSIVE"/>
+		<field name="MEROITIC_HIEROGLYPHS"/>
+		<field name="MIAO"/>
+		<field name="MODI"/>
+		<field name="MONGOLIAN"/>
+		<field name="MOON"/>
+		<field name="MRO"/>
+		<field name="MULTANI"/>
+		<field name="MYANMAR"/>
+		<field name="NABATAEAN"/>
+		<field name="NAKHI_GEBA"/>
+		<field name="NANDINAGARI" since="30"/>
+		<field name="NEWA" since="26"/>
+		<field name="NEW_TAI_LUE"/>
+		<field name="NKO"/>
+		<field name="NUSHU"/>
+		<field name="NYIAKENG_PUACHUE_HMONG" since="30"/>
+		<field name="OGHAM"/>
+		<field name="OLD_CHURCH_SLAVONIC_CYRILLIC"/>
+		<field name="OLD_HUNGARIAN"/>
+		<field name="OLD_ITALIC"/>
+		<field name="OLD_NORTH_ARABIAN"/>
+		<field name="OLD_PERMIC"/>
+		<field name="OLD_PERSIAN"/>
+		<field name="OLD_SOGDIAN" since="29"/>
+		<field name="OLD_SOUTH_ARABIAN"/>
+		<field name="OL_CHIKI"/>
+		<field name="ORIYA"/>
+		<field name="ORKHON"/>
+		<field name="OSAGE" since="26"/>
+		<field name="OSMANYA"/>
+		<field name="PAHAWH_HMONG"/>
+		<field name="PALMYRENE"/>
+		<field name="PAU_CIN_HAU"/>
+		<field name="PHAGS_PA"/>
+		<field name="PHOENICIAN"/>
+		<field name="PHONETIC_POLLARD"/>
+		<field name="PSALTER_PAHLAVI"/>
+		<field name="REJANG"/>
+		<field name="RONGORONGO"/>
+		<field name="RUNIC"/>
+		<field name="SAMARITAN"/>
+		<field name="SARATI"/>
+		<field name="SAURASHTRA"/>
+		<field name="SHARADA"/>
+		<field name="SHAVIAN"/>
+		<field name="SIDDHAM"/>
+		<field name="SIGN_WRITING"/>
+		<field name="SIMPLIFIED_HAN"/>
+		<field name="SINDHI"/>
+		<field name="SINHALA"/>
+		<field name="SOGDIAN" since="29"/>
+		<field name="SORA_SOMPENG"/>
+		<field name="SOYOMBO" since="28"/>
+		<field name="SUNDANESE"/>
+		<field name="SYLOTI_NAGRI"/>
+		<field name="SYMBOLS"/>
+		<field name="SYMBOLS_EMOJI" since="26"/>
+		<field name="SYRIAC"/>
+		<field name="TAGALOG"/>
+		<field name="TAGBANWA"/>
+		<field name="TAI_LE"/>
+		<field name="TAI_VIET"/>
+		<field name="TAKRI"/>
+		<field name="TAMIL"/>
+		<field name="TANGUT"/>
+		<field name="TELUGU"/>
+		<field name="TENGWAR"/>
+		<field name="THAANA"/>
+		<field name="THAI"/>
+		<field name="TIBETAN"/>
+		<field name="TIFINAGH"/>
+		<field name="TIRHUTA"/>
+		<field name="TRADITIONAL_HAN"/>
+		<field name="UCAS"/>
+		<field name="UGARITIC"/>
+		<field name="UNKNOWN"/>
+		<field name="UNWRITTEN_LANGUAGES"/>
+		<field name="VAI"/>
+		<field name="VISIBLE_SPEECH"/>
+		<field name="WANCHO" since="30"/>
+		<field name="WARANG_CITI"/>
+		<field name="WESTERN_SYRIAC"/>
+		<field name="WOLEAI"/>
+		<field name="YEZIDI" since="30"/>
+		<field name="YI"/>
+		<field name="ZANABAZAR_SQUARE" since="28"/>
+	</class>
+	<class name="android/icu/lang/UScript$ScriptUsage" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/lang/UScript$ScriptUsage;"/>
+		<method name="values()[Landroid/icu/lang/UScript$ScriptUsage;"/>
+		<field name="ASPIRATIONAL"/>
+		<field name="EXCLUDED"/>
+		<field name="LIMITED_USE"/>
+		<field name="NOT_ENCODED"/>
+		<field name="RECOMMENDED"/>
+		<field name="UNKNOWN"/>
+	</class>
+	<class name="android/icu/math/BigDecimal" since="24">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(D)V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/math/BigDecimal;)V"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;)V"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;I)V"/>
+		<method name="&lt;init>([C)V"/>
+		<method name="&lt;init>([CII)V"/>
+		<method name="abs()Landroid/icu/math/BigDecimal;"/>
+		<method name="abs(Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="add(Landroid/icu/math/BigDecimal;)Landroid/icu/math/BigDecimal;"/>
+		<method name="add(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="byteValueExact()B"/>
+		<method name="compareTo(Landroid/icu/math/BigDecimal;)I"/>
+		<method name="compareTo(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)I"/>
+		<method name="divide(Landroid/icu/math/BigDecimal;)Landroid/icu/math/BigDecimal;"/>
+		<method name="divide(Landroid/icu/math/BigDecimal;I)Landroid/icu/math/BigDecimal;"/>
+		<method name="divide(Landroid/icu/math/BigDecimal;II)Landroid/icu/math/BigDecimal;"/>
+		<method name="divide(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="divideInteger(Landroid/icu/math/BigDecimal;)Landroid/icu/math/BigDecimal;"/>
+		<method name="divideInteger(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="format(II)Ljava/lang/String;"/>
+		<method name="format(IIIIII)Ljava/lang/String;"/>
+		<method name="intValueExact()I"/>
+		<method name="longValueExact()J"/>
+		<method name="max(Landroid/icu/math/BigDecimal;)Landroid/icu/math/BigDecimal;"/>
+		<method name="max(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="min(Landroid/icu/math/BigDecimal;)Landroid/icu/math/BigDecimal;"/>
+		<method name="min(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="movePointLeft(I)Landroid/icu/math/BigDecimal;"/>
+		<method name="movePointRight(I)Landroid/icu/math/BigDecimal;"/>
+		<method name="multiply(Landroid/icu/math/BigDecimal;)Landroid/icu/math/BigDecimal;"/>
+		<method name="multiply(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="negate()Landroid/icu/math/BigDecimal;"/>
+		<method name="negate(Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="plus()Landroid/icu/math/BigDecimal;"/>
+		<method name="plus(Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="pow(Landroid/icu/math/BigDecimal;)Landroid/icu/math/BigDecimal;"/>
+		<method name="pow(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="remainder(Landroid/icu/math/BigDecimal;)Landroid/icu/math/BigDecimal;"/>
+		<method name="remainder(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="scale()I"/>
+		<method name="setScale(I)Landroid/icu/math/BigDecimal;"/>
+		<method name="setScale(II)Landroid/icu/math/BigDecimal;"/>
+		<method name="shortValueExact()S"/>
+		<method name="signum()I"/>
+		<method name="subtract(Landroid/icu/math/BigDecimal;)Landroid/icu/math/BigDecimal;"/>
+		<method name="subtract(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;"/>
+		<method name="toBigDecimal()Ljava/math/BigDecimal;"/>
+		<method name="toBigInteger()Ljava/math/BigInteger;"/>
+		<method name="toBigIntegerExact()Ljava/math/BigInteger;"/>
+		<method name="toCharArray()[C"/>
+		<method name="unscaledValue()Ljava/math/BigInteger;"/>
+		<method name="valueOf(D)Landroid/icu/math/BigDecimal;"/>
+		<method name="valueOf(J)Landroid/icu/math/BigDecimal;"/>
+		<method name="valueOf(JI)Landroid/icu/math/BigDecimal;"/>
+		<field name="ONE"/>
+		<field name="ROUND_CEILING"/>
+		<field name="ROUND_DOWN"/>
+		<field name="ROUND_FLOOR"/>
+		<field name="ROUND_HALF_DOWN"/>
+		<field name="ROUND_HALF_EVEN"/>
+		<field name="ROUND_HALF_UP"/>
+		<field name="ROUND_UNNECESSARY"/>
+		<field name="ROUND_UP"/>
+		<field name="TEN"/>
+		<field name="ZERO"/>
+	</class>
+	<class name="android/icu/math/MathContext" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(IIZ)V"/>
+		<method name="&lt;init>(IIZI)V"/>
+		<method name="getDigits()I"/>
+		<method name="getForm()I"/>
+		<method name="getLostDigits()Z"/>
+		<method name="getRoundingMode()I"/>
+		<field name="DEFAULT"/>
+		<field name="ENGINEERING"/>
+		<field name="PLAIN"/>
+		<field name="ROUND_CEILING"/>
+		<field name="ROUND_DOWN"/>
+		<field name="ROUND_FLOOR"/>
+		<field name="ROUND_HALF_DOWN"/>
+		<field name="ROUND_HALF_EVEN"/>
+		<field name="ROUND_HALF_UP"/>
+		<field name="ROUND_UNNECESSARY"/>
+		<field name="ROUND_UP"/>
+		<field name="SCIENTIFIC"/>
+	</class>
+	<class name="android/icu/number/CompactNotation" since="30">
+		<extends name="android/icu/number/Notation"/>
+	</class>
+	<class name="android/icu/number/CurrencyPrecision" since="30">
+		<extends name="android/icu/number/Precision"/>
+		<method name="withCurrency(Landroid/icu/util/Currency;)Landroid/icu/number/Precision;"/>
+	</class>
+	<class name="android/icu/number/FormattedNumber" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/text/FormattedValue" since="31"/>
+		<implements name="java/lang/CharSequence" removed="31"/>
+		<method name="toBigDecimal()Ljava/math/BigDecimal;"/>
+		<method name="toCharacterIterator()Ljava/text/AttributedCharacterIterator;"/>
+	</class>
+	<class name="android/icu/number/FormattedNumberRange" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/text/FormattedValue" since="31"/>
+		<implements name="java/lang/CharSequence" removed="31"/>
+		<method name="getFirstBigDecimal()Ljava/math/BigDecimal;"/>
+		<method name="getIdentityResult()Landroid/icu/number/NumberRangeFormatter$RangeIdentityResult;"/>
+		<method name="getSecondBigDecimal()Ljava/math/BigDecimal;"/>
+		<method name="toCharacterIterator()Ljava/text/AttributedCharacterIterator;"/>
+	</class>
+	<class name="android/icu/number/FractionPrecision" since="30">
+		<extends name="android/icu/number/Precision"/>
+		<method name="withMaxDigits(I)Landroid/icu/number/Precision;"/>
+		<method name="withMinDigits(I)Landroid/icu/number/Precision;"/>
+	</class>
+	<class name="android/icu/number/IntegerWidth" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="truncateAt(I)Landroid/icu/number/IntegerWidth;"/>
+		<method name="zeroFillTo(I)Landroid/icu/number/IntegerWidth;"/>
+	</class>
+	<class name="android/icu/number/LocalizedNumberFormatter" since="30">
+		<extends name="android/icu/number/NumberFormatterSettings"/>
+		<method name="format(D)Landroid/icu/number/FormattedNumber;"/>
+		<method name="format(J)Landroid/icu/number/FormattedNumber;"/>
+		<method name="format(Landroid/icu/util/Measure;)Landroid/icu/number/FormattedNumber;"/>
+		<method name="format(Ljava/lang/Number;)Landroid/icu/number/FormattedNumber;"/>
+		<method name="toFormat()Ljava/text/Format;"/>
+	</class>
+	<class name="android/icu/number/LocalizedNumberRangeFormatter" since="30">
+		<extends name="android/icu/number/NumberRangeFormatterSettings"/>
+		<method name="formatRange(DD)Landroid/icu/number/FormattedNumberRange;"/>
+		<method name="formatRange(II)Landroid/icu/number/FormattedNumberRange;"/>
+		<method name="formatRange(Ljava/lang/Number;Ljava/lang/Number;)Landroid/icu/number/FormattedNumberRange;"/>
+	</class>
+	<class name="android/icu/number/Notation" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="compactLong()Landroid/icu/number/CompactNotation;"/>
+		<method name="compactShort()Landroid/icu/number/CompactNotation;"/>
+		<method name="engineering()Landroid/icu/number/ScientificNotation;"/>
+		<method name="scientific()Landroid/icu/number/ScientificNotation;"/>
+		<method name="simple()Landroid/icu/number/SimpleNotation;"/>
+	</class>
+	<class name="android/icu/number/NumberFormatter" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="with()Landroid/icu/number/UnlocalizedNumberFormatter;"/>
+		<method name="withLocale(Landroid/icu/util/ULocale;)Landroid/icu/number/LocalizedNumberFormatter;"/>
+		<method name="withLocale(Ljava/util/Locale;)Landroid/icu/number/LocalizedNumberFormatter;"/>
+	</class>
+	<class name="android/icu/number/NumberFormatter$DecimalSeparatorDisplay" since="30">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/number/NumberFormatter$DecimalSeparatorDisplay;"/>
+		<method name="values()[Landroid/icu/number/NumberFormatter$DecimalSeparatorDisplay;"/>
+		<field name="ALWAYS"/>
+		<field name="AUTO"/>
+	</class>
+	<class name="android/icu/number/NumberFormatter$GroupingStrategy" since="30">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/number/NumberFormatter$GroupingStrategy;"/>
+		<method name="values()[Landroid/icu/number/NumberFormatter$GroupingStrategy;"/>
+		<field name="AUTO"/>
+		<field name="MIN2"/>
+		<field name="OFF"/>
+		<field name="ON_ALIGNED"/>
+		<field name="THOUSANDS"/>
+	</class>
+	<class name="android/icu/number/NumberFormatter$SignDisplay" since="30">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/number/NumberFormatter$SignDisplay;"/>
+		<method name="values()[Landroid/icu/number/NumberFormatter$SignDisplay;"/>
+		<field name="ACCOUNTING"/>
+		<field name="ACCOUNTING_ALWAYS"/>
+		<field name="ACCOUNTING_EXCEPT_ZERO"/>
+		<field name="ALWAYS"/>
+		<field name="AUTO"/>
+		<field name="EXCEPT_ZERO"/>
+		<field name="NEVER"/>
+	</class>
+	<class name="android/icu/number/NumberFormatter$UnitWidth" since="30">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/number/NumberFormatter$UnitWidth;"/>
+		<method name="values()[Landroid/icu/number/NumberFormatter$UnitWidth;"/>
+		<field name="FULL_NAME"/>
+		<field name="HIDDEN"/>
+		<field name="ISO_CODE"/>
+		<field name="NARROW"/>
+		<field name="SHORT"/>
+	</class>
+	<class name="android/icu/number/NumberFormatterSettings" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="decimal(Landroid/icu/number/NumberFormatter$DecimalSeparatorDisplay;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="grouping(Landroid/icu/number/NumberFormatter$GroupingStrategy;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="integerWidth(Landroid/icu/number/IntegerWidth;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="notation(Landroid/icu/number/Notation;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="perUnit(Landroid/icu/util/MeasureUnit;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="precision(Landroid/icu/number/Precision;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="roundingMode(Ljava/math/RoundingMode;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="scale(Landroid/icu/number/Scale;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="sign(Landroid/icu/number/NumberFormatter$SignDisplay;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="symbols(Landroid/icu/text/DecimalFormatSymbols;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="symbols(Landroid/icu/text/NumberingSystem;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="unit(Landroid/icu/util/MeasureUnit;)Landroid/icu/number/NumberFormatterSettings;"/>
+		<method name="unitWidth(Landroid/icu/number/NumberFormatter$UnitWidth;)Landroid/icu/number/NumberFormatterSettings;"/>
+	</class>
+	<class name="android/icu/number/NumberRangeFormatter" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="with()Landroid/icu/number/UnlocalizedNumberRangeFormatter;"/>
+		<method name="withLocale(Landroid/icu/util/ULocale;)Landroid/icu/number/LocalizedNumberRangeFormatter;"/>
+		<method name="withLocale(Ljava/util/Locale;)Landroid/icu/number/LocalizedNumberRangeFormatter;"/>
+	</class>
+	<class name="android/icu/number/NumberRangeFormatter$RangeCollapse" since="30">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/number/NumberRangeFormatter$RangeCollapse;"/>
+		<method name="values()[Landroid/icu/number/NumberRangeFormatter$RangeCollapse;"/>
+		<field name="ALL"/>
+		<field name="AUTO"/>
+		<field name="NONE"/>
+		<field name="UNIT"/>
+	</class>
+	<class name="android/icu/number/NumberRangeFormatter$RangeIdentityFallback" since="30">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/number/NumberRangeFormatter$RangeIdentityFallback;"/>
+		<method name="values()[Landroid/icu/number/NumberRangeFormatter$RangeIdentityFallback;"/>
+		<field name="APPROXIMATELY"/>
+		<field name="APPROXIMATELY_OR_SINGLE_VALUE"/>
+		<field name="RANGE"/>
+		<field name="SINGLE_VALUE"/>
+	</class>
+	<class name="android/icu/number/NumberRangeFormatter$RangeIdentityResult" since="30">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/number/NumberRangeFormatter$RangeIdentityResult;"/>
+		<method name="values()[Landroid/icu/number/NumberRangeFormatter$RangeIdentityResult;"/>
+		<field name="EQUAL_AFTER_ROUNDING"/>
+		<field name="EQUAL_BEFORE_ROUNDING"/>
+		<field name="NOT_EQUAL"/>
+	</class>
+	<class name="android/icu/number/NumberRangeFormatterSettings" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="collapse(Landroid/icu/number/NumberRangeFormatter$RangeCollapse;)Landroid/icu/number/NumberRangeFormatterSettings;"/>
+		<method name="identityFallback(Landroid/icu/number/NumberRangeFormatter$RangeIdentityFallback;)Landroid/icu/number/NumberRangeFormatterSettings;"/>
+		<method name="numberFormatterBoth(Landroid/icu/number/UnlocalizedNumberFormatter;)Landroid/icu/number/NumberRangeFormatterSettings;"/>
+		<method name="numberFormatterFirst(Landroid/icu/number/UnlocalizedNumberFormatter;)Landroid/icu/number/NumberRangeFormatterSettings;"/>
+		<method name="numberFormatterSecond(Landroid/icu/number/UnlocalizedNumberFormatter;)Landroid/icu/number/NumberRangeFormatterSettings;"/>
+	</class>
+	<class name="android/icu/number/Precision" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="currency(Landroid/icu/util/Currency$CurrencyUsage;)Landroid/icu/number/CurrencyPrecision;"/>
+		<method name="fixedFraction(I)Landroid/icu/number/FractionPrecision;"/>
+		<method name="fixedSignificantDigits(I)Landroid/icu/number/Precision;"/>
+		<method name="increment(Ljava/math/BigDecimal;)Landroid/icu/number/Precision;"/>
+		<method name="integer()Landroid/icu/number/FractionPrecision;"/>
+		<method name="maxFraction(I)Landroid/icu/number/FractionPrecision;"/>
+		<method name="maxSignificantDigits(I)Landroid/icu/number/Precision;"/>
+		<method name="minFraction(I)Landroid/icu/number/FractionPrecision;"/>
+		<method name="minMaxFraction(II)Landroid/icu/number/FractionPrecision;"/>
+		<method name="minMaxSignificantDigits(II)Landroid/icu/number/Precision;"/>
+		<method name="minSignificantDigits(I)Landroid/icu/number/Precision;"/>
+		<method name="unlimited()Landroid/icu/number/Precision;"/>
+	</class>
+	<class name="android/icu/number/Scale" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="byBigDecimal(Ljava/math/BigDecimal;)Landroid/icu/number/Scale;"/>
+		<method name="byDouble(D)Landroid/icu/number/Scale;"/>
+		<method name="byDoubleAndPowerOfTen(DI)Landroid/icu/number/Scale;"/>
+		<method name="none()Landroid/icu/number/Scale;"/>
+		<method name="powerOfTen(I)Landroid/icu/number/Scale;"/>
+	</class>
+	<class name="android/icu/number/ScientificNotation" since="30">
+		<extends name="android/icu/number/Notation"/>
+		<method name="withExponentSignDisplay(Landroid/icu/number/NumberFormatter$SignDisplay;)Landroid/icu/number/ScientificNotation;"/>
+		<method name="withMinExponentDigits(I)Landroid/icu/number/ScientificNotation;"/>
+	</class>
+	<class name="android/icu/number/SimpleNotation" since="30">
+		<extends name="android/icu/number/Notation"/>
+	</class>
+	<class name="android/icu/number/UnlocalizedNumberFormatter" since="30">
+		<extends name="android/icu/number/NumberFormatterSettings"/>
+		<method name="locale(Landroid/icu/util/ULocale;)Landroid/icu/number/LocalizedNumberFormatter;"/>
+		<method name="locale(Ljava/util/Locale;)Landroid/icu/number/LocalizedNumberFormatter;"/>
+	</class>
+	<class name="android/icu/number/UnlocalizedNumberRangeFormatter" since="30">
+		<extends name="android/icu/number/NumberRangeFormatterSettings"/>
+		<method name="locale(Landroid/icu/util/ULocale;)Landroid/icu/number/LocalizedNumberRangeFormatter;"/>
+		<method name="locale(Ljava/util/Locale;)Landroid/icu/number/LocalizedNumberRangeFormatter;"/>
+	</class>
+	<class name="android/icu/text/AlphabeticIndex" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Iterable"/>
+		<method name="&lt;init>(Landroid/icu/text/RuleBasedCollator;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="addLabels(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/AlphabeticIndex;"/>
+		<method name="addLabels([Landroid/icu/util/ULocale;)Landroid/icu/text/AlphabeticIndex;"/>
+		<method name="addLabels([Ljava/util/Locale;)Landroid/icu/text/AlphabeticIndex;"/>
+		<method name="addRecord(Ljava/lang/CharSequence;Ljava/lang/Object;)Landroid/icu/text/AlphabeticIndex;"/>
+		<method name="buildImmutableIndex()Landroid/icu/text/AlphabeticIndex$ImmutableIndex;"/>
+		<method name="clearRecords()Landroid/icu/text/AlphabeticIndex;"/>
+		<method name="getBucketCount()I"/>
+		<method name="getBucketIndex(Ljava/lang/CharSequence;)I"/>
+		<method name="getBucketLabels()Ljava/util/List;"/>
+		<method name="getCollator()Landroid/icu/text/RuleBasedCollator;"/>
+		<method name="getInflowLabel()Ljava/lang/String;"/>
+		<method name="getMaxLabelCount()I"/>
+		<method name="getOverflowLabel()Ljava/lang/String;"/>
+		<method name="getRecordCount()I"/>
+		<method name="getUnderflowLabel()Ljava/lang/String;"/>
+		<method name="setInflowLabel(Ljava/lang/String;)Landroid/icu/text/AlphabeticIndex;"/>
+		<method name="setMaxLabelCount(I)Landroid/icu/text/AlphabeticIndex;"/>
+		<method name="setOverflowLabel(Ljava/lang/String;)Landroid/icu/text/AlphabeticIndex;"/>
+		<method name="setUnderflowLabel(Ljava/lang/String;)Landroid/icu/text/AlphabeticIndex;"/>
+	</class>
+	<class name="android/icu/text/AlphabeticIndex$Bucket" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Iterable"/>
+		<method name="getLabel()Ljava/lang/String;"/>
+		<method name="getLabelType()Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;"/>
+		<method name="size()I"/>
+	</class>
+	<class name="android/icu/text/AlphabeticIndex$Bucket$LabelType" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;"/>
+		<method name="values()[Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;"/>
+		<field name="INFLOW"/>
+		<field name="NORMAL"/>
+		<field name="OVERFLOW"/>
+		<field name="UNDERFLOW"/>
+	</class>
+	<class name="android/icu/text/AlphabeticIndex$ImmutableIndex" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Iterable"/>
+		<method name="getBucket(I)Landroid/icu/text/AlphabeticIndex$Bucket;"/>
+		<method name="getBucketCount()I"/>
+		<method name="getBucketIndex(Ljava/lang/CharSequence;)I"/>
+	</class>
+	<class name="android/icu/text/AlphabeticIndex$Record" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getData()Ljava/lang/Object;"/>
+		<method name="getName()Ljava/lang/CharSequence;"/>
+	</class>
+	<class name="android/icu/text/Bidi" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/text/AttributedCharacterIterator;)V"/>
+		<method name="&lt;init>([CI[BIII)V"/>
+		<method name="baseIsLeftToRight()Z"/>
+		<method name="countParagraphs()I"/>
+		<method name="countRuns()I"/>
+		<method name="createLineBidi(II)Landroid/icu/text/Bidi;"/>
+		<method name="getBaseDirection(Ljava/lang/CharSequence;)B"/>
+		<method name="getBaseLevel()I"/>
+		<method name="getCustomClassifier()Landroid/icu/text/BidiClassifier;"/>
+		<method name="getCustomizedClass(I)I"/>
+		<method name="getDirection()B"/>
+		<method name="getLength()I"/>
+		<method name="getLevelAt(I)B"/>
+		<method name="getLevels()[B"/>
+		<method name="getLogicalIndex(I)I"/>
+		<method name="getLogicalMap()[I"/>
+		<method name="getLogicalRun(I)Landroid/icu/text/BidiRun;"/>
+		<method name="getParaLevel()B"/>
+		<method name="getParagraph(I)Landroid/icu/text/BidiRun;"/>
+		<method name="getParagraphByIndex(I)Landroid/icu/text/BidiRun;"/>
+		<method name="getParagraphIndex(I)I"/>
+		<method name="getProcessedLength()I"/>
+		<method name="getReorderingMode()I"/>
+		<method name="getReorderingOptions()I"/>
+		<method name="getResultLength()I"/>
+		<method name="getRunCount()I"/>
+		<method name="getRunLevel(I)I"/>
+		<method name="getRunLimit(I)I"/>
+		<method name="getRunStart(I)I"/>
+		<method name="getText()[C"/>
+		<method name="getTextAsString()Ljava/lang/String;"/>
+		<method name="getVisualIndex(I)I"/>
+		<method name="getVisualMap()[I"/>
+		<method name="getVisualRun(I)Landroid/icu/text/BidiRun;"/>
+		<method name="invertMap([I)[I"/>
+		<method name="isInverse()Z"/>
+		<method name="isLeftToRight()Z"/>
+		<method name="isMixed()Z"/>
+		<method name="isOrderParagraphsLTR()Z"/>
+		<method name="isRightToLeft()Z"/>
+		<method name="orderParagraphsLTR(Z)V"/>
+		<method name="reorderLogical([B)[I"/>
+		<method name="reorderVisual([B)[I"/>
+		<method name="reorderVisually([BI[Ljava/lang/Object;II)V"/>
+		<method name="requiresBidi([CII)Z"/>
+		<method name="setContext(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setCustomClassifier(Landroid/icu/text/BidiClassifier;)V"/>
+		<method name="setInverse(Z)V"/>
+		<method name="setLine(II)Landroid/icu/text/Bidi;"/>
+		<method name="setPara(Ljava/lang/String;B[B)V"/>
+		<method name="setPara(Ljava/text/AttributedCharacterIterator;)V"/>
+		<method name="setPara([CB[B)V"/>
+		<method name="setReorderingMode(I)V"/>
+		<method name="setReorderingOptions(I)V"/>
+		<method name="writeReordered(I)Ljava/lang/String;"/>
+		<method name="writeReverse(Ljava/lang/String;I)Ljava/lang/String;"/>
+		<field name="DIRECTION_DEFAULT_LEFT_TO_RIGHT"/>
+		<field name="DIRECTION_DEFAULT_RIGHT_TO_LEFT"/>
+		<field name="DIRECTION_LEFT_TO_RIGHT"/>
+		<field name="DIRECTION_RIGHT_TO_LEFT"/>
+		<field name="DO_MIRRORING"/>
+		<field name="INSERT_LRM_FOR_NUMERIC"/>
+		<field name="KEEP_BASE_COMBINING"/>
+		<field name="LEVEL_DEFAULT_LTR"/>
+		<field name="LEVEL_DEFAULT_RTL"/>
+		<field name="LEVEL_OVERRIDE"/>
+		<field name="LTR"/>
+		<field name="MAP_NOWHERE"/>
+		<field name="MAX_EXPLICIT_LEVEL"/>
+		<field name="MIXED"/>
+		<field name="NEUTRAL"/>
+		<field name="OPTION_DEFAULT"/>
+		<field name="OPTION_INSERT_MARKS"/>
+		<field name="OPTION_REMOVE_CONTROLS"/>
+		<field name="OPTION_STREAMING"/>
+		<field name="OUTPUT_REVERSE"/>
+		<field name="REMOVE_BIDI_CONTROLS"/>
+		<field name="REORDER_DEFAULT"/>
+		<field name="REORDER_GROUP_NUMBERS_WITH_R"/>
+		<field name="REORDER_INVERSE_FOR_NUMBERS_SPECIAL"/>
+		<field name="REORDER_INVERSE_LIKE_DIRECT"/>
+		<field name="REORDER_INVERSE_NUMBERS_AS_L"/>
+		<field name="REORDER_NUMBERS_SPECIAL"/>
+		<field name="REORDER_RUNS_ONLY"/>
+		<field name="RTL"/>
+	</class>
+	<class name="android/icu/text/BidiClassifier" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<method name="classify(I)I"/>
+		<method name="getContext()Ljava/lang/Object;"/>
+		<method name="setContext(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/icu/text/BidiRun" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getDirection()B"/>
+		<method name="getEmbeddingLevel()B"/>
+		<method name="getLength()I"/>
+		<method name="getLimit()I"/>
+		<method name="getStart()I"/>
+		<method name="isEvenRun()Z"/>
+		<method name="isOddRun()Z"/>
+	</class>
+	<class name="android/icu/text/BreakIterator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="current()I"/>
+		<method name="first()I"/>
+		<method name="following(I)I"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getCharacterInstance()Landroid/icu/text/BreakIterator;"/>
+		<method name="getCharacterInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/BreakIterator;"/>
+		<method name="getCharacterInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;"/>
+		<method name="getLineInstance()Landroid/icu/text/BreakIterator;"/>
+		<method name="getLineInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/BreakIterator;"/>
+		<method name="getLineInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;"/>
+		<method name="getRuleStatus()I"/>
+		<method name="getRuleStatusVec([I)I"/>
+		<method name="getSentenceInstance()Landroid/icu/text/BreakIterator;"/>
+		<method name="getSentenceInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/BreakIterator;"/>
+		<method name="getSentenceInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;"/>
+		<method name="getText()Ljava/text/CharacterIterator;"/>
+		<method name="getTitleInstance()Landroid/icu/text/BreakIterator;" deprecated="29"/>
+		<method name="getTitleInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/BreakIterator;" deprecated="29"/>
+		<method name="getTitleInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;" deprecated="29"/>
+		<method name="getWordInstance()Landroid/icu/text/BreakIterator;"/>
+		<method name="getWordInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/BreakIterator;"/>
+		<method name="getWordInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;"/>
+		<method name="isBoundary(I)Z"/>
+		<method name="last()I"/>
+		<method name="next()I"/>
+		<method name="next(I)I"/>
+		<method name="preceding(I)I"/>
+		<method name="previous()I"/>
+		<method name="setText(Ljava/lang/CharSequence;)V" since="29"/>
+		<method name="setText(Ljava/lang/String;)V"/>
+		<method name="setText(Ljava/text/CharacterIterator;)V"/>
+		<field name="DONE"/>
+		<field name="KIND_CHARACTER"/>
+		<field name="KIND_LINE"/>
+		<field name="KIND_SENTENCE"/>
+		<field name="KIND_TITLE" deprecated="29"/>
+		<field name="KIND_WORD"/>
+		<field name="WORD_IDEO"/>
+		<field name="WORD_IDEO_LIMIT"/>
+		<field name="WORD_KANA"/>
+		<field name="WORD_KANA_LIMIT"/>
+		<field name="WORD_LETTER"/>
+		<field name="WORD_LETTER_LIMIT"/>
+		<field name="WORD_NONE"/>
+		<field name="WORD_NONE_LIMIT"/>
+		<field name="WORD_NUMBER"/>
+		<field name="WORD_NUMBER_LIMIT"/>
+	</class>
+	<class name="android/icu/text/CaseMap" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="fold()Landroid/icu/text/CaseMap$Fold;"/>
+		<method name="omitUnchangedText()Landroid/icu/text/CaseMap;"/>
+		<method name="toLower()Landroid/icu/text/CaseMap$Lower;"/>
+		<method name="toTitle()Landroid/icu/text/CaseMap$Title;"/>
+		<method name="toUpper()Landroid/icu/text/CaseMap$Upper;"/>
+	</class>
+	<class name="android/icu/text/CaseMap$Fold" since="29">
+		<extends name="android/icu/text/CaseMap"/>
+		<method name="apply(Ljava/lang/CharSequence;)Ljava/lang/String;"/>
+		<method name="apply(Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;"/>
+		<method name="omitUnchangedText()Landroid/icu/text/CaseMap$Fold;"/>
+		<method name="turkic()Landroid/icu/text/CaseMap$Fold;"/>
+	</class>
+	<class name="android/icu/text/CaseMap$Lower" since="29">
+		<extends name="android/icu/text/CaseMap"/>
+		<method name="apply(Ljava/util/Locale;Ljava/lang/CharSequence;)Ljava/lang/String;"/>
+		<method name="apply(Ljava/util/Locale;Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;"/>
+		<method name="omitUnchangedText()Landroid/icu/text/CaseMap$Lower;"/>
+	</class>
+	<class name="android/icu/text/CaseMap$Title" since="29">
+		<extends name="android/icu/text/CaseMap"/>
+		<method name="adjustToCased()Landroid/icu/text/CaseMap$Title;"/>
+		<method name="apply(Ljava/util/Locale;Landroid/icu/text/BreakIterator;Ljava/lang/CharSequence;)Ljava/lang/String;"/>
+		<method name="apply(Ljava/util/Locale;Landroid/icu/text/BreakIterator;Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;"/>
+		<method name="noBreakAdjustment()Landroid/icu/text/CaseMap$Title;"/>
+		<method name="noLowercase()Landroid/icu/text/CaseMap$Title;"/>
+		<method name="omitUnchangedText()Landroid/icu/text/CaseMap$Title;"/>
+		<method name="sentences()Landroid/icu/text/CaseMap$Title;"/>
+		<method name="wholeString()Landroid/icu/text/CaseMap$Title;"/>
+	</class>
+	<class name="android/icu/text/CaseMap$Upper" since="29">
+		<extends name="android/icu/text/CaseMap"/>
+		<method name="apply(Ljava/util/Locale;Ljava/lang/CharSequence;)Ljava/lang/String;"/>
+		<method name="apply(Ljava/util/Locale;Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;"/>
+		<method name="omitUnchangedText()Landroid/icu/text/CaseMap$Upper;"/>
+	</class>
+	<class name="android/icu/text/CollationElementIterator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getMaxExpansion(I)I"/>
+		<method name="getOffset()I"/>
+		<method name="next()I"/>
+		<method name="previous()I"/>
+		<method name="primaryOrder(I)I"/>
+		<method name="reset()V"/>
+		<method name="secondaryOrder(I)I"/>
+		<method name="setOffset(I)V"/>
+		<method name="setText(Landroid/icu/text/UCharacterIterator;)V"/>
+		<method name="setText(Ljava/lang/String;)V"/>
+		<method name="setText(Ljava/text/CharacterIterator;)V"/>
+		<method name="tertiaryOrder(I)I"/>
+		<field name="IGNORABLE"/>
+		<field name="NULLORDER"/>
+	</class>
+	<class name="android/icu/text/CollationKey" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Ljava/lang/String;[B)V"/>
+		<method name="compareTo(Landroid/icu/text/CollationKey;)I"/>
+		<method name="equals(Landroid/icu/text/CollationKey;)Z"/>
+		<method name="getBound(II)Landroid/icu/text/CollationKey;"/>
+		<method name="getSourceString()Ljava/lang/String;"/>
+		<method name="merge(Landroid/icu/text/CollationKey;)Landroid/icu/text/CollationKey;"/>
+		<method name="toByteArray()[B"/>
+	</class>
+	<class name="android/icu/text/CollationKey$BoundMode" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="LOWER"/>
+		<field name="UPPER"/>
+		<field name="UPPER_LONG"/>
+	</class>
+	<class name="android/icu/text/Collator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/util/Freezable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/Comparator"/>
+		<method name="&lt;init>()V"/>
+		<method name="cloneAsThawed()Landroid/icu/text/Collator;"/>
+		<method name="compare(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="equals(Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="freeze()Landroid/icu/text/Collator;"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getAvailableULocales()[Landroid/icu/util/ULocale;"/>
+		<method name="getCollationKey(Ljava/lang/String;)Landroid/icu/text/CollationKey;"/>
+		<method name="getDecomposition()I"/>
+		<method name="getDisplayName(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getEquivalentReorderCodes(I)[I"/>
+		<method name="getFunctionalEquivalent(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale;"/>
+		<method name="getFunctionalEquivalent(Ljava/lang/String;Landroid/icu/util/ULocale;[Z)Landroid/icu/util/ULocale;"/>
+		<method name="getInstance()Landroid/icu/text/Collator;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/Collator;"/>
+		<method name="getKeywordValues(Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="getKeywordValuesForLocale(Ljava/lang/String;Landroid/icu/util/ULocale;Z)[Ljava/lang/String;"/>
+		<method name="getKeywords()[Ljava/lang/String;"/>
+		<method name="getMaxVariable()I"/>
+		<method name="getReorderCodes()[I"/>
+		<method name="getStrength()I"/>
+		<method name="getTailoredSet()Landroid/icu/text/UnicodeSet;"/>
+		<method name="getUCAVersion()Landroid/icu/util/VersionInfo;"/>
+		<method name="getVariableTop()I"/>
+		<method name="getVersion()Landroid/icu/util/VersionInfo;"/>
+		<method name="setDecomposition(I)V"/>
+		<method name="setMaxVariable(I)Landroid/icu/text/Collator;"/>
+		<method name="setReorderCodes([I)V"/>
+		<method name="setStrength(I)V"/>
+		<field name="CANONICAL_DECOMPOSITION"/>
+		<field name="FULL_DECOMPOSITION"/>
+		<field name="IDENTICAL"/>
+		<field name="NO_DECOMPOSITION"/>
+		<field name="PRIMARY"/>
+		<field name="QUATERNARY"/>
+		<field name="SECONDARY"/>
+		<field name="TERTIARY"/>
+	</class>
+	<class name="android/icu/text/Collator$ReorderCodes" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="CURRENCY"/>
+		<field name="DEFAULT"/>
+		<field name="DIGIT"/>
+		<field name="FIRST"/>
+		<field name="NONE"/>
+		<field name="OTHERS"/>
+		<field name="PUNCTUATION"/>
+		<field name="SPACE"/>
+		<field name="SYMBOL"/>
+	</class>
+	<class name="android/icu/text/CompactDecimalFormat" since="24">
+		<extends name="android/icu/text/DecimalFormat"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;Landroid/icu/text/CompactDecimalFormat$CompactStyle;)Landroid/icu/text/CompactDecimalFormat;"/>
+		<method name="getInstance(Ljava/util/Locale;Landroid/icu/text/CompactDecimalFormat$CompactStyle;)Landroid/icu/text/CompactDecimalFormat;"/>
+	</class>
+	<class name="android/icu/text/CompactDecimalFormat$CompactStyle" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/CompactDecimalFormat$CompactStyle;"/>
+		<method name="values()[Landroid/icu/text/CompactDecimalFormat$CompactStyle;"/>
+		<field name="LONG"/>
+		<field name="SHORT"/>
+	</class>
+	<class name="android/icu/text/ConstrainedFieldPosition" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="constrainClass(Ljava/lang/Class;)V"/>
+		<method name="constrainField(Ljava/text/Format$Field;)V"/>
+		<method name="getField()Ljava/text/Format$Field;"/>
+		<method name="getFieldValue()Ljava/lang/Object;"/>
+		<method name="getInt64IterationContext()J"/>
+		<method name="getLimit()I"/>
+		<method name="getStart()I"/>
+		<method name="matchesField(Ljava/text/Format$Field;Ljava/lang/Object;)Z"/>
+		<method name="reset()V"/>
+		<method name="setInt64IterationContext(J)V"/>
+		<method name="setState(Ljava/text/Format$Field;Ljava/lang/Object;II)V"/>
+	</class>
+	<class name="android/icu/text/CurrencyPluralInfo" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="getCurrencyPluralPattern(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getInstance()Landroid/icu/text/CurrencyPluralInfo;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/CurrencyPluralInfo;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/CurrencyPluralInfo;"/>
+		<method name="getLocale()Landroid/icu/util/ULocale;"/>
+		<method name="getPluralRules()Landroid/icu/text/PluralRules;"/>
+		<method name="setCurrencyPluralPattern(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setLocale(Landroid/icu/util/ULocale;)V"/>
+		<method name="setPluralRules(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/icu/text/DateFormat" since="24">
+		<extends name="android/icu/text/UFormat"/>
+		<method name="&lt;init>()V"/>
+		<method name="format(Landroid/icu/util/Calendar;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="format(Ljava/util/Date;)Ljava/lang/String;"/>
+		<method name="format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getBooleanAttribute(Landroid/icu/text/DateFormat$BooleanAttribute;)Z"/>
+		<method name="getCalendar()Landroid/icu/util/Calendar;"/>
+		<method name="getContext(Landroid/icu/text/DisplayContext$Type;)Landroid/icu/text/DisplayContext;"/>
+		<method name="getDateInstance()Landroid/icu/text/DateFormat;"/>
+		<method name="getDateInstance(I)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateInstance(ILjava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateInstance(Landroid/icu/util/Calendar;I)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateInstance(Landroid/icu/util/Calendar;ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateInstance(Landroid/icu/util/Calendar;ILjava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateTimeInstance()Landroid/icu/text/DateFormat;"/>
+		<method name="getDateTimeInstance(II)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateTimeInstance(IILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateTimeInstance(IILjava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateTimeInstance(Landroid/icu/util/Calendar;II)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateTimeInstance(Landroid/icu/util/Calendar;IILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateTimeInstance(Landroid/icu/util/Calendar;IILjava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getInstance()Landroid/icu/text/DateFormat;"/>
+		<method name="getInstance(Landroid/icu/util/Calendar;)Landroid/icu/text/DateFormat;"/>
+		<method name="getInstance(Landroid/icu/util/Calendar;Ljava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getInstanceForSkeleton(Landroid/icu/util/Calendar;Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getInstanceForSkeleton(Landroid/icu/util/Calendar;Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getInstanceForSkeleton(Ljava/lang/String;)Landroid/icu/text/DateFormat;"/>
+		<method name="getInstanceForSkeleton(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getInstanceForSkeleton(Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getNumberFormat()Landroid/icu/text/NumberFormat;"/>
+		<method name="getPatternInstance(Landroid/icu/util/Calendar;Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getPatternInstance(Landroid/icu/util/Calendar;Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getPatternInstance(Ljava/lang/String;)Landroid/icu/text/DateFormat;"/>
+		<method name="getPatternInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getPatternInstance(Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getTimeInstance()Landroid/icu/text/DateFormat;"/>
+		<method name="getTimeInstance(I)Landroid/icu/text/DateFormat;"/>
+		<method name="getTimeInstance(ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getTimeInstance(ILjava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getTimeInstance(Landroid/icu/util/Calendar;I)Landroid/icu/text/DateFormat;"/>
+		<method name="getTimeInstance(Landroid/icu/util/Calendar;ILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getTimeInstance(Landroid/icu/util/Calendar;ILjava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getTimeZone()Landroid/icu/util/TimeZone;"/>
+		<method name="isCalendarLenient()Z"/>
+		<method name="isLenient()Z"/>
+		<method name="parse(Ljava/lang/String;)Ljava/util/Date;"/>
+		<method name="parse(Ljava/lang/String;Landroid/icu/util/Calendar;Ljava/text/ParsePosition;)V"/>
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;"/>
+		<method name="setBooleanAttribute(Landroid/icu/text/DateFormat$BooleanAttribute;Z)Landroid/icu/text/DateFormat;"/>
+		<method name="setCalendar(Landroid/icu/util/Calendar;)V"/>
+		<method name="setCalendarLenient(Z)V"/>
+		<method name="setContext(Landroid/icu/text/DisplayContext;)V"/>
+		<method name="setLenient(Z)V"/>
+		<method name="setNumberFormat(Landroid/icu/text/NumberFormat;)V"/>
+		<method name="setTimeZone(Landroid/icu/util/TimeZone;)V"/>
+		<field name="ABBR_GENERIC_TZ"/>
+		<field name="ABBR_MONTH"/>
+		<field name="ABBR_MONTH_DAY"/>
+		<field name="ABBR_MONTH_WEEKDAY_DAY"/>
+		<field name="ABBR_QUARTER"/>
+		<field name="ABBR_SPECIFIC_TZ"/>
+		<field name="ABBR_UTC_TZ"/>
+		<field name="ABBR_WEEKDAY"/>
+		<field name="AM_PM_FIELD"/>
+		<field name="AM_PM_MIDNIGHT_NOON_FIELD" since="28"/>
+		<field name="DATE_FIELD"/>
+		<field name="DAY"/>
+		<field name="DAY_OF_WEEK_FIELD"/>
+		<field name="DAY_OF_WEEK_IN_MONTH_FIELD"/>
+		<field name="DAY_OF_YEAR_FIELD"/>
+		<field name="DEFAULT"/>
+		<field name="DOW_LOCAL_FIELD"/>
+		<field name="ERA_FIELD"/>
+		<field name="EXTENDED_YEAR_FIELD"/>
+		<field name="FLEXIBLE_DAY_PERIOD_FIELD" since="28"/>
+		<field name="FRACTIONAL_SECOND_FIELD"/>
+		<field name="FULL"/>
+		<field name="GENERIC_TZ"/>
+		<field name="HOUR"/>
+		<field name="HOUR0_FIELD"/>
+		<field name="HOUR1_FIELD"/>
+		<field name="HOUR24"/>
+		<field name="HOUR24_MINUTE"/>
+		<field name="HOUR24_MINUTE_SECOND"/>
+		<field name="HOUR_MINUTE"/>
+		<field name="HOUR_MINUTE_SECOND"/>
+		<field name="HOUR_OF_DAY0_FIELD"/>
+		<field name="HOUR_OF_DAY1_FIELD"/>
+		<field name="JULIAN_DAY_FIELD"/>
+		<field name="LOCATION_TZ"/>
+		<field name="LONG"/>
+		<field name="MEDIUM"/>
+		<field name="MILLISECONDS_IN_DAY_FIELD"/>
+		<field name="MILLISECOND_FIELD"/>
+		<field name="MINUTE"/>
+		<field name="MINUTE_FIELD"/>
+		<field name="MINUTE_SECOND"/>
+		<field name="MONTH"/>
+		<field name="MONTH_DAY"/>
+		<field name="MONTH_FIELD"/>
+		<field name="MONTH_WEEKDAY_DAY"/>
+		<field name="NONE"/>
+		<field name="NUM_MONTH"/>
+		<field name="NUM_MONTH_DAY"/>
+		<field name="NUM_MONTH_WEEKDAY_DAY"/>
+		<field name="QUARTER"/>
+		<field name="QUARTER_FIELD"/>
+		<field name="RELATIVE"/>
+		<field name="RELATIVE_DEFAULT"/>
+		<field name="RELATIVE_FULL"/>
+		<field name="RELATIVE_LONG"/>
+		<field name="RELATIVE_MEDIUM"/>
+		<field name="RELATIVE_SHORT"/>
+		<field name="SECOND"/>
+		<field name="SECOND_FIELD"/>
+		<field name="SHORT"/>
+		<field name="SPECIFIC_TZ"/>
+		<field name="STANDALONE_DAY_FIELD"/>
+		<field name="STANDALONE_MONTH_FIELD"/>
+		<field name="STANDALONE_QUARTER_FIELD"/>
+		<field name="TIMEZONE_FIELD"/>
+		<field name="TIMEZONE_GENERIC_FIELD"/>
+		<field name="TIMEZONE_ISO_FIELD"/>
+		<field name="TIMEZONE_ISO_LOCAL_FIELD"/>
+		<field name="TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD"/>
+		<field name="TIMEZONE_RFC_FIELD"/>
+		<field name="TIMEZONE_SPECIAL_FIELD"/>
+		<field name="WEEKDAY"/>
+		<field name="WEEK_OF_MONTH_FIELD"/>
+		<field name="WEEK_OF_YEAR_FIELD"/>
+		<field name="YEAR"/>
+		<field name="YEAR_ABBR_MONTH"/>
+		<field name="YEAR_ABBR_MONTH_DAY"/>
+		<field name="YEAR_ABBR_MONTH_WEEKDAY_DAY"/>
+		<field name="YEAR_ABBR_QUARTER"/>
+		<field name="YEAR_FIELD"/>
+		<field name="YEAR_MONTH"/>
+		<field name="YEAR_MONTH_DAY"/>
+		<field name="YEAR_MONTH_WEEKDAY_DAY"/>
+		<field name="YEAR_NAME_FIELD"/>
+		<field name="YEAR_NUM_MONTH"/>
+		<field name="YEAR_NUM_MONTH_DAY"/>
+		<field name="YEAR_NUM_MONTH_WEEKDAY_DAY"/>
+		<field name="YEAR_QUARTER"/>
+		<field name="YEAR_WOY_FIELD"/>
+		<field name="calendar"/>
+		<field name="numberFormat"/>
+	</class>
+	<class name="android/icu/text/DateFormat$BooleanAttribute" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/DateFormat$BooleanAttribute;"/>
+		<method name="values()[Landroid/icu/text/DateFormat$BooleanAttribute;"/>
+		<field name="PARSE_ALLOW_NUMERIC"/>
+		<field name="PARSE_ALLOW_WHITESPACE"/>
+		<field name="PARSE_MULTIPLE_PATTERNS_FOR_MATCH" since="26"/>
+		<field name="PARSE_PARTIAL_LITERAL_MATCH" since="26"/>
+		<field name="PARSE_PARTIAL_MATCH" since="28" removed="29"/>
+	</class>
+	<class name="android/icu/text/DateFormat$Field" since="24">
+		<extends name="java/text/Format$Field"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="getCalendarField()I"/>
+		<method name="ofCalendarField(I)Landroid/icu/text/DateFormat$Field;"/>
+		<field name="AM_PM"/>
+		<field name="AM_PM_MIDNIGHT_NOON" since="28"/>
+		<field name="DAY_OF_MONTH"/>
+		<field name="DAY_OF_WEEK"/>
+		<field name="DAY_OF_WEEK_IN_MONTH"/>
+		<field name="DAY_OF_YEAR"/>
+		<field name="DOW_LOCAL"/>
+		<field name="ERA"/>
+		<field name="EXTENDED_YEAR"/>
+		<field name="FLEXIBLE_DAY_PERIOD" since="28"/>
+		<field name="HOUR0"/>
+		<field name="HOUR1"/>
+		<field name="HOUR_OF_DAY0"/>
+		<field name="HOUR_OF_DAY1"/>
+		<field name="JULIAN_DAY"/>
+		<field name="MILLISECOND"/>
+		<field name="MILLISECONDS_IN_DAY"/>
+		<field name="MINUTE"/>
+		<field name="MONTH"/>
+		<field name="QUARTER"/>
+		<field name="SECOND"/>
+		<field name="TIME_ZONE"/>
+		<field name="WEEK_OF_MONTH"/>
+		<field name="WEEK_OF_YEAR"/>
+		<field name="YEAR"/>
+		<field name="YEAR_WOY"/>
+	</class>
+	<class name="android/icu/text/DateFormatSymbols" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/Calendar;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/lang/Class;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/lang/Class;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Ljava/util/ResourceBundle;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/ResourceBundle;Ljava/util/Locale;)V"/>
+		<method name="getAmPmStrings()[Ljava/lang/String;"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getEraNames()[Ljava/lang/String;"/>
+		<method name="getEras()[Ljava/lang/String;"/>
+		<method name="getInstance()Landroid/icu/text/DateFormatSymbols;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormatSymbols;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/DateFormatSymbols;"/>
+		<method name="getLocalPatternChars()Ljava/lang/String;"/>
+		<method name="getMonths()[Ljava/lang/String;"/>
+		<method name="getMonths(II)[Ljava/lang/String;"/>
+		<method name="getNarrowEras()[Ljava/lang/String;" since="31"/>
+		<method name="getQuarters(II)[Ljava/lang/String;"/>
+		<method name="getShortMonths()[Ljava/lang/String;"/>
+		<method name="getShortWeekdays()[Ljava/lang/String;"/>
+		<method name="getWeekdays()[Ljava/lang/String;"/>
+		<method name="getWeekdays(II)[Ljava/lang/String;"/>
+		<method name="getYearNames(II)[Ljava/lang/String;"/>
+		<method name="getZodiacNames(II)[Ljava/lang/String;"/>
+		<method name="getZoneStrings()[[Ljava/lang/String;"/>
+		<method name="initializeData(Landroid/icu/util/ULocale;Ljava/lang/String;)V"/>
+		<method name="setAmPmStrings([Ljava/lang/String;)V"/>
+		<method name="setEraNames([Ljava/lang/String;)V"/>
+		<method name="setEras([Ljava/lang/String;)V"/>
+		<method name="setLocalPatternChars(Ljava/lang/String;)V"/>
+		<method name="setMonths([Ljava/lang/String;)V"/>
+		<method name="setMonths([Ljava/lang/String;II)V"/>
+		<method name="setNarrowEras([Ljava/lang/String;)V" since="31"/>
+		<method name="setQuarters([Ljava/lang/String;II)V"/>
+		<method name="setShortMonths([Ljava/lang/String;)V"/>
+		<method name="setShortWeekdays([Ljava/lang/String;)V"/>
+		<method name="setWeekdays([Ljava/lang/String;)V"/>
+		<method name="setWeekdays([Ljava/lang/String;II)V"/>
+		<method name="setYearNames([Ljava/lang/String;II)V"/>
+		<method name="setZodiacNames([Ljava/lang/String;II)V"/>
+		<method name="setZoneStrings([[Ljava/lang/String;)V"/>
+		<field name="ABBREVIATED"/>
+		<field name="FORMAT"/>
+		<field name="NARROW"/>
+		<field name="SHORT"/>
+		<field name="STANDALONE"/>
+		<field name="WIDE"/>
+	</class>
+	<class name="android/icu/text/DateIntervalFormat" since="24">
+		<extends name="android/icu/text/UFormat"/>
+		<method name="format(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="format(Landroid/icu/util/DateInterval;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="formatToValue(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;)Landroid/icu/text/DateIntervalFormat$FormattedDateInterval;" since="31"/>
+		<method name="formatToValue(Landroid/icu/util/DateInterval;)Landroid/icu/text/DateIntervalFormat$FormattedDateInterval;" since="31"/>
+		<method name="getDateFormat()Landroid/icu/text/DateFormat;"/>
+		<method name="getDateIntervalInfo()Landroid/icu/text/DateIntervalInfo;"/>
+		<method name="getInstance(Ljava/lang/String;)Landroid/icu/text/DateIntervalFormat;"/>
+		<method name="getInstance(Ljava/lang/String;Landroid/icu/text/DateIntervalInfo;)Landroid/icu/text/DateIntervalFormat;"/>
+		<method name="getInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateIntervalFormat;"/>
+		<method name="getInstance(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/text/DateIntervalInfo;)Landroid/icu/text/DateIntervalFormat;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateIntervalFormat;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/util/Locale;Landroid/icu/text/DateIntervalInfo;)Landroid/icu/text/DateIntervalFormat;"/>
+		<method name="getTimeZone()Landroid/icu/util/TimeZone;"/>
+		<method name="setDateIntervalInfo(Landroid/icu/text/DateIntervalInfo;)V"/>
+		<method name="setTimeZone(Landroid/icu/util/TimeZone;)V"/>
+	</class>
+	<class name="android/icu/text/DateIntervalFormat$FormattedDateInterval" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/text/FormattedValue"/>
+	</class>
+	<class name="android/icu/text/DateIntervalInfo" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/util/Freezable"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="cloneAsThawed()Landroid/icu/text/DateIntervalInfo;"/>
+		<method name="freeze()Landroid/icu/text/DateIntervalInfo;"/>
+		<method name="getDefaultOrder()Z"/>
+		<method name="getFallbackIntervalPattern()Ljava/lang/String;"/>
+		<method name="getIntervalPattern(Ljava/lang/String;I)Landroid/icu/text/DateIntervalInfo$PatternInfo;"/>
+		<method name="setFallbackIntervalPattern(Ljava/lang/String;)V"/>
+		<method name="setIntervalPattern(Ljava/lang/String;ILjava/lang/String;)V"/>
+	</class>
+	<class name="android/icu/text/DateIntervalInfo$PatternInfo" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Z)V"/>
+		<method name="firstDateInPtnIsLaterDate()Z"/>
+		<method name="getFirstPart()Ljava/lang/String;"/>
+		<method name="getSecondPart()Ljava/lang/String;"/>
+	</class>
+	<class name="android/icu/text/DateTimePatternGenerator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/util/Freezable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="addPattern(Ljava/lang/String;ZLandroid/icu/text/DateTimePatternGenerator$PatternInfo;)Landroid/icu/text/DateTimePatternGenerator;"/>
+		<method name="cloneAsThawed()Landroid/icu/text/DateTimePatternGenerator;"/>
+		<method name="freeze()Landroid/icu/text/DateTimePatternGenerator;"/>
+		<method name="getAppendItemFormat(I)Ljava/lang/String;"/>
+		<method name="getAppendItemName(I)Ljava/lang/String;"/>
+		<method name="getBaseSkeleton(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getBaseSkeletons(Ljava/util/Set;)Ljava/util/Set;"/>
+		<method name="getBestPattern(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getBestPattern(Ljava/lang/String;I)Ljava/lang/String;"/>
+		<method name="getDateTimeFormat()Ljava/lang/String;"/>
+		<method name="getDecimal()Ljava/lang/String;"/>
+		<method name="getEmptyInstance()Landroid/icu/text/DateTimePatternGenerator;"/>
+		<method name="getFieldDisplayName(ILandroid/icu/text/DateTimePatternGenerator$DisplayWidth;)Ljava/lang/String;" since="30"/>
+		<method name="getInstance()Landroid/icu/text/DateTimePatternGenerator;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/DateTimePatternGenerator;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/DateTimePatternGenerator;"/>
+		<method name="getSkeleton(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getSkeletons(Ljava/util/Map;)Ljava/util/Map;"/>
+		<method name="replaceFieldTypes(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="replaceFieldTypes(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;"/>
+		<method name="setAppendItemFormat(ILjava/lang/String;)V"/>
+		<method name="setAppendItemName(ILjava/lang/String;)V"/>
+		<method name="setDateTimeFormat(Ljava/lang/String;)V"/>
+		<method name="setDecimal(Ljava/lang/String;)V"/>
+		<field name="DAY"/>
+		<field name="DAYPERIOD"/>
+		<field name="DAY_OF_WEEK_IN_MONTH"/>
+		<field name="DAY_OF_YEAR"/>
+		<field name="ERA"/>
+		<field name="FRACTIONAL_SECOND"/>
+		<field name="HOUR"/>
+		<field name="MATCH_ALL_FIELDS_LENGTH"/>
+		<field name="MATCH_HOUR_FIELD_LENGTH"/>
+		<field name="MATCH_NO_OPTIONS"/>
+		<field name="MINUTE"/>
+		<field name="MONTH"/>
+		<field name="QUARTER"/>
+		<field name="SECOND"/>
+		<field name="WEEKDAY"/>
+		<field name="WEEK_OF_MONTH"/>
+		<field name="WEEK_OF_YEAR"/>
+		<field name="YEAR"/>
+		<field name="ZONE"/>
+	</class>
+	<class name="android/icu/text/DateTimePatternGenerator$DisplayWidth" since="30">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/DateTimePatternGenerator$DisplayWidth;"/>
+		<method name="values()[Landroid/icu/text/DateTimePatternGenerator$DisplayWidth;"/>
+		<field name="ABBREVIATED"/>
+		<field name="NARROW"/>
+		<field name="WIDE"/>
+	</class>
+	<class name="android/icu/text/DateTimePatternGenerator$PatternInfo" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="BASE_CONFLICT"/>
+		<field name="CONFLICT"/>
+		<field name="OK"/>
+		<field name="conflictingPattern"/>
+		<field name="status"/>
+	</class>
+	<class name="android/icu/text/DecimalFormat" since="24">
+		<extends name="android/icu/text/NumberFormat"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/text/CurrencyPluralInfo;I)V"/>
+		<method name="applyLocalizedPattern(Ljava/lang/String;)V"/>
+		<method name="applyPattern(Ljava/lang/String;)V"/>
+		<method name="areSignificantDigitsUsed()Z"/>
+		<method name="getCurrencyPluralInfo()Landroid/icu/text/CurrencyPluralInfo;"/>
+		<method name="getCurrencyUsage()Landroid/icu/util/Currency$CurrencyUsage;"/>
+		<method name="getDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols;"/>
+		<method name="getFormatWidth()I"/>
+		<method name="getGroupingSize()I"/>
+		<method name="getMathContext()Ljava/math/MathContext;"/>
+		<method name="getMathContextICU()Landroid/icu/math/MathContext;"/>
+		<method name="getMaximumSignificantDigits()I"/>
+		<method name="getMinimumExponentDigits()B"/>
+		<method name="getMinimumGroupingDigits()I" since="31"/>
+		<method name="getMinimumSignificantDigits()I"/>
+		<method name="getMultiplier()I"/>
+		<method name="getNegativePrefix()Ljava/lang/String;"/>
+		<method name="getNegativeSuffix()Ljava/lang/String;"/>
+		<method name="getPadCharacter()C"/>
+		<method name="getPadPosition()I"/>
+		<method name="getParseMaxDigits()I" deprecated="28"/>
+		<method name="getPositivePrefix()Ljava/lang/String;"/>
+		<method name="getPositiveSuffix()Ljava/lang/String;"/>
+		<method name="getRoundingIncrement()Ljava/math/BigDecimal;"/>
+		<method name="getSecondaryGroupingSize()I"/>
+		<method name="isDecimalPatternMatchRequired()Z"/>
+		<method name="isDecimalSeparatorAlwaysShown()Z"/>
+		<method name="isExponentSignAlwaysShown()Z"/>
+		<method name="isParseBigDecimal()Z"/>
+		<method name="isParseCaseSensitive()Z" since="31"/>
+		<method name="isParseNoExponent()Z" since="31"/>
+		<method name="isScientificNotation()Z"/>
+		<method name="isSignAlwaysShown()Z" since="31"/>
+		<method name="setCurrencyPluralInfo(Landroid/icu/text/CurrencyPluralInfo;)V"/>
+		<method name="setCurrencyUsage(Landroid/icu/util/Currency$CurrencyUsage;)V"/>
+		<method name="setDecimalFormatSymbols(Landroid/icu/text/DecimalFormatSymbols;)V"/>
+		<method name="setDecimalPatternMatchRequired(Z)V"/>
+		<method name="setDecimalSeparatorAlwaysShown(Z)V"/>
+		<method name="setExponentSignAlwaysShown(Z)V"/>
+		<method name="setFormatWidth(I)V"/>
+		<method name="setGroupingSize(I)V"/>
+		<method name="setMathContext(Ljava/math/MathContext;)V"/>
+		<method name="setMathContextICU(Landroid/icu/math/MathContext;)V"/>
+		<method name="setMaximumSignificantDigits(I)V"/>
+		<method name="setMinimumExponentDigits(B)V"/>
+		<method name="setMinimumGroupingDigits(I)V" since="31"/>
+		<method name="setMinimumSignificantDigits(I)V"/>
+		<method name="setMultiplier(I)V"/>
+		<method name="setNegativePrefix(Ljava/lang/String;)V"/>
+		<method name="setNegativeSuffix(Ljava/lang/String;)V"/>
+		<method name="setPadCharacter(C)V"/>
+		<method name="setPadPosition(I)V"/>
+		<method name="setParseBigDecimal(Z)V"/>
+		<method name="setParseCaseSensitive(Z)V" since="31"/>
+		<method name="setParseMaxDigits(I)V" deprecated="28"/>
+		<method name="setParseNoExponent(Z)V" since="31"/>
+		<method name="setPositivePrefix(Ljava/lang/String;)V"/>
+		<method name="setPositiveSuffix(Ljava/lang/String;)V"/>
+		<method name="setRoundingIncrement(D)V"/>
+		<method name="setRoundingIncrement(Landroid/icu/math/BigDecimal;)V"/>
+		<method name="setRoundingIncrement(Ljava/math/BigDecimal;)V"/>
+		<method name="setScientificNotation(Z)V"/>
+		<method name="setSecondaryGroupingSize(I)V"/>
+		<method name="setSignAlwaysShown(Z)V" since="31"/>
+		<method name="setSignificantDigitsUsed(Z)V"/>
+		<method name="toLocalizedPattern()Ljava/lang/String;"/>
+		<method name="toPattern()Ljava/lang/String;"/>
+		<field name="PAD_AFTER_PREFIX"/>
+		<field name="PAD_AFTER_SUFFIX"/>
+		<field name="PAD_BEFORE_PREFIX"/>
+		<field name="PAD_BEFORE_SUFFIX"/>
+	</class>
+	<class name="android/icu/text/DecimalFormatSymbols" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="forNumberingSystem(Landroid/icu/util/ULocale;Landroid/icu/text/NumberingSystem;)Landroid/icu/text/DecimalFormatSymbols;" since="29"/>
+		<method name="forNumberingSystem(Ljava/util/Locale;Landroid/icu/text/NumberingSystem;)Landroid/icu/text/DecimalFormatSymbols;" since="29"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getCurrency()Landroid/icu/util/Currency;"/>
+		<method name="getCurrencySymbol()Ljava/lang/String;"/>
+		<method name="getDecimalSeparator()C"/>
+		<method name="getDecimalSeparatorString()Ljava/lang/String;" since="28"/>
+		<method name="getDigit()C"/>
+		<method name="getDigitStrings()[Ljava/lang/String;" since="28"/>
+		<method name="getDigits()[C"/>
+		<method name="getExponentMultiplicationSign()Ljava/lang/String;"/>
+		<method name="getExponentSeparator()Ljava/lang/String;"/>
+		<method name="getGroupingSeparator()C"/>
+		<method name="getGroupingSeparatorString()Ljava/lang/String;" since="28"/>
+		<method name="getInfinity()Ljava/lang/String;"/>
+		<method name="getInstance()Landroid/icu/text/DecimalFormatSymbols;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/DecimalFormatSymbols;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/DecimalFormatSymbols;"/>
+		<method name="getInternationalCurrencySymbol()Ljava/lang/String;"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getMinusSign()C"/>
+		<method name="getMinusSignString()Ljava/lang/String;" since="28"/>
+		<method name="getMonetaryDecimalSeparator()C"/>
+		<method name="getMonetaryDecimalSeparatorString()Ljava/lang/String;" since="28"/>
+		<method name="getMonetaryGroupingSeparator()C"/>
+		<method name="getMonetaryGroupingSeparatorString()Ljava/lang/String;" since="28"/>
+		<method name="getNaN()Ljava/lang/String;"/>
+		<method name="getPadEscape()C"/>
+		<method name="getPatternForCurrencySpacing(IZ)Ljava/lang/String;"/>
+		<method name="getPatternSeparator()C"/>
+		<method name="getPerMill()C"/>
+		<method name="getPerMillString()Ljava/lang/String;" since="28"/>
+		<method name="getPercent()C"/>
+		<method name="getPercentString()Ljava/lang/String;" since="28"/>
+		<method name="getPlusSign()C"/>
+		<method name="getPlusSignString()Ljava/lang/String;" since="28"/>
+		<method name="getSignificantDigit()C"/>
+		<method name="getULocale()Landroid/icu/util/ULocale;"/>
+		<method name="getZeroDigit()C"/>
+		<method name="setCurrency(Landroid/icu/util/Currency;)V"/>
+		<method name="setCurrencySymbol(Ljava/lang/String;)V"/>
+		<method name="setDecimalSeparator(C)V"/>
+		<method name="setDecimalSeparatorString(Ljava/lang/String;)V" since="28"/>
+		<method name="setDigit(C)V"/>
+		<method name="setDigitStrings([Ljava/lang/String;)V" since="28"/>
+		<method name="setExponentMultiplicationSign(Ljava/lang/String;)V"/>
+		<method name="setExponentSeparator(Ljava/lang/String;)V"/>
+		<method name="setGroupingSeparator(C)V"/>
+		<method name="setGroupingSeparatorString(Ljava/lang/String;)V" since="28"/>
+		<method name="setInfinity(Ljava/lang/String;)V"/>
+		<method name="setInternationalCurrencySymbol(Ljava/lang/String;)V"/>
+		<method name="setMinusSign(C)V"/>
+		<method name="setMinusSignString(Ljava/lang/String;)V" since="28"/>
+		<method name="setMonetaryDecimalSeparator(C)V"/>
+		<method name="setMonetaryDecimalSeparatorString(Ljava/lang/String;)V" since="28"/>
+		<method name="setMonetaryGroupingSeparator(C)V"/>
+		<method name="setMonetaryGroupingSeparatorString(Ljava/lang/String;)V" since="28"/>
+		<method name="setNaN(Ljava/lang/String;)V"/>
+		<method name="setPadEscape(C)V"/>
+		<method name="setPatternForCurrencySpacing(IZLjava/lang/String;)V"/>
+		<method name="setPatternSeparator(C)V"/>
+		<method name="setPerMill(C)V"/>
+		<method name="setPerMillString(Ljava/lang/String;)V" since="28"/>
+		<method name="setPercent(C)V"/>
+		<method name="setPercentString(Ljava/lang/String;)V" since="28"/>
+		<method name="setPlusSign(C)V"/>
+		<method name="setPlusSignString(Ljava/lang/String;)V" since="28"/>
+		<method name="setSignificantDigit(C)V"/>
+		<method name="setZeroDigit(C)V"/>
+		<field name="CURRENCY_SPC_CURRENCY_MATCH"/>
+		<field name="CURRENCY_SPC_INSERT"/>
+		<field name="CURRENCY_SPC_SURROUNDING_MATCH"/>
+	</class>
+	<class name="android/icu/text/DisplayContext" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="type()Landroid/icu/text/DisplayContext$Type;"/>
+		<method name="value()I"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/DisplayContext;"/>
+		<method name="values()[Landroid/icu/text/DisplayContext;"/>
+		<field name="CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE"/>
+		<field name="CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE"/>
+		<field name="CAPITALIZATION_FOR_STANDALONE"/>
+		<field name="CAPITALIZATION_FOR_UI_LIST_OR_MENU"/>
+		<field name="CAPITALIZATION_NONE"/>
+		<field name="DIALECT_NAMES"/>
+		<field name="LENGTH_FULL"/>
+		<field name="LENGTH_SHORT"/>
+		<field name="NO_SUBSTITUTE" since="28"/>
+		<field name="STANDARD_NAMES"/>
+		<field name="SUBSTITUTE" since="28"/>
+	</class>
+	<class name="android/icu/text/DisplayContext$Type" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/DisplayContext$Type;"/>
+		<method name="values()[Landroid/icu/text/DisplayContext$Type;"/>
+		<field name="CAPITALIZATION"/>
+		<field name="DIALECT_HANDLING"/>
+		<field name="DISPLAY_LENGTH"/>
+		<field name="SUBSTITUTE_HANDLING" since="28"/>
+	</class>
+	<class name="android/icu/text/Edits" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addReplace(II)V"/>
+		<method name="addUnchanged(I)V"/>
+		<method name="getCoarseChangesIterator()Landroid/icu/text/Edits$Iterator;"/>
+		<method name="getCoarseIterator()Landroid/icu/text/Edits$Iterator;"/>
+		<method name="getFineChangesIterator()Landroid/icu/text/Edits$Iterator;"/>
+		<method name="getFineIterator()Landroid/icu/text/Edits$Iterator;"/>
+		<method name="hasChanges()Z"/>
+		<method name="lengthDelta()I"/>
+		<method name="mergeAndAppend(Landroid/icu/text/Edits;Landroid/icu/text/Edits;)Landroid/icu/text/Edits;"/>
+		<method name="numberOfChanges()I"/>
+		<method name="reset()V"/>
+	</class>
+	<class name="android/icu/text/Edits$Iterator" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="destinationIndex()I"/>
+		<method name="destinationIndexFromSourceIndex(I)I"/>
+		<method name="findDestinationIndex(I)Z"/>
+		<method name="findSourceIndex(I)Z"/>
+		<method name="hasChange()Z"/>
+		<method name="newLength()I"/>
+		<method name="next()Z"/>
+		<method name="oldLength()I"/>
+		<method name="replacementIndex()I"/>
+		<method name="sourceIndex()I"/>
+		<method name="sourceIndexFromDestinationIndex(I)I"/>
+	</class>
+	<class name="android/icu/text/FormattedValue" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/CharSequence"/>
+		<method name="appendTo(Ljava/lang/Appendable;)Ljava/lang/Appendable;"/>
+		<method name="nextPosition(Landroid/icu/text/ConstrainedFieldPosition;)Z"/>
+		<method name="toCharacterIterator()Ljava/text/AttributedCharacterIterator;"/>
+	</class>
+	<class name="android/icu/text/IDNA" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getUTS46Instance(I)Landroid/icu/text/IDNA;"/>
+		<method name="labelToASCII(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;"/>
+		<method name="labelToUnicode(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;"/>
+		<method name="nameToASCII(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;"/>
+		<method name="nameToUnicode(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;"/>
+		<field name="CHECK_BIDI"/>
+		<field name="CHECK_CONTEXTJ"/>
+		<field name="CHECK_CONTEXTO"/>
+		<field name="DEFAULT"/>
+		<field name="NONTRANSITIONAL_TO_ASCII"/>
+		<field name="NONTRANSITIONAL_TO_UNICODE"/>
+		<field name="USE_STD3_RULES"/>
+	</class>
+	<class name="android/icu/text/IDNA$Error" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/IDNA$Error;"/>
+		<method name="values()[Landroid/icu/text/IDNA$Error;"/>
+		<field name="BIDI"/>
+		<field name="CONTEXTJ"/>
+		<field name="CONTEXTO_DIGITS"/>
+		<field name="CONTEXTO_PUNCTUATION"/>
+		<field name="DISALLOWED"/>
+		<field name="DOMAIN_NAME_TOO_LONG"/>
+		<field name="EMPTY_LABEL"/>
+		<field name="HYPHEN_3_4"/>
+		<field name="INVALID_ACE_LABEL"/>
+		<field name="LABEL_HAS_DOT"/>
+		<field name="LABEL_TOO_LONG"/>
+		<field name="LEADING_COMBINING_MARK"/>
+		<field name="LEADING_HYPHEN"/>
+		<field name="PUNYCODE"/>
+		<field name="TRAILING_HYPHEN"/>
+	</class>
+	<class name="android/icu/text/IDNA$Info" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getErrors()Ljava/util/Set;"/>
+		<method name="hasErrors()Z"/>
+		<method name="isTransitionalDifferent()Z"/>
+	</class>
+	<class name="android/icu/text/ListFormatter" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="format(Ljava/util/Collection;)Ljava/lang/String;"/>
+		<method name="format([Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="getInstance()Landroid/icu/text/ListFormatter;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/ListFormatter;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/ListFormatter;"/>
+		<method name="getPatternForNumItems(I)Ljava/lang/String;"/>
+	</class>
+	<class name="android/icu/text/LocaleDisplayNames" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getContext(Landroid/icu/text/DisplayContext$Type;)Landroid/icu/text/DisplayContext;"/>
+		<method name="getDialectHandling()Landroid/icu/text/LocaleDisplayNames$DialectHandling;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/LocaleDisplayNames;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;Landroid/icu/text/LocaleDisplayNames$DialectHandling;)Landroid/icu/text/LocaleDisplayNames;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;[Landroid/icu/text/DisplayContext;)Landroid/icu/text/LocaleDisplayNames;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/LocaleDisplayNames;"/>
+		<method name="getInstance(Ljava/util/Locale;[Landroid/icu/text/DisplayContext;)Landroid/icu/text/LocaleDisplayNames;"/>
+		<method name="getLocale()Landroid/icu/util/ULocale;"/>
+		<method name="getUiList(Ljava/util/Set;ZLjava/util/Comparator;)Ljava/util/List;" since="26"/>
+		<method name="getUiListCompareWholeItems(Ljava/util/Set;Ljava/util/Comparator;)Ljava/util/List;" since="26"/>
+		<method name="keyDisplayName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="keyValueDisplayName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="languageDisplayName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="localeDisplayName(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="localeDisplayName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="localeDisplayName(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="regionDisplayName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="scriptDisplayName(I)Ljava/lang/String;"/>
+		<method name="scriptDisplayName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="variantDisplayName(Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="android/icu/text/LocaleDisplayNames$DialectHandling" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/LocaleDisplayNames$DialectHandling;"/>
+		<method name="values()[Landroid/icu/text/LocaleDisplayNames$DialectHandling;"/>
+		<field name="DIALECT_NAMES"/>
+		<field name="STANDARD_NAMES"/>
+	</class>
+	<class name="android/icu/text/LocaleDisplayNames$UiListItem" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getComparator(Ljava/util/Comparator;Z)Ljava/util/Comparator;"/>
+		<field name="minimized"/>
+		<field name="modified"/>
+		<field name="nameInDisplayLocale"/>
+		<field name="nameInSelf"/>
+	</class>
+	<class name="android/icu/text/MeasureFormat" since="24">
+		<extends name="android/icu/text/UFormat"/>
+		<method name="formatMeasurePerUnit(Landroid/icu/util/Measure;Landroid/icu/util/MeasureUnit;Ljava/lang/StringBuilder;Ljava/text/FieldPosition;)Ljava/lang/StringBuilder;" since="26"/>
+		<method name="formatMeasures(Ljava/lang/StringBuilder;Ljava/text/FieldPosition;[Landroid/icu/util/Measure;)Ljava/lang/StringBuilder;"/>
+		<method name="formatMeasures([Landroid/icu/util/Measure;)Ljava/lang/String;"/>
+		<method name="getCurrencyFormat()Landroid/icu/text/MeasureFormat;"/>
+		<method name="getCurrencyFormat(Landroid/icu/util/ULocale;)Landroid/icu/text/MeasureFormat;"/>
+		<method name="getCurrencyFormat(Ljava/util/Locale;)Landroid/icu/text/MeasureFormat;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;Landroid/icu/text/MeasureFormat$FormatWidth;)Landroid/icu/text/MeasureFormat;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;Landroid/icu/text/MeasureFormat$FormatWidth;Landroid/icu/text/NumberFormat;)Landroid/icu/text/MeasureFormat;"/>
+		<method name="getInstance(Ljava/util/Locale;Landroid/icu/text/MeasureFormat$FormatWidth;)Landroid/icu/text/MeasureFormat;"/>
+		<method name="getInstance(Ljava/util/Locale;Landroid/icu/text/MeasureFormat$FormatWidth;Landroid/icu/text/NumberFormat;)Landroid/icu/text/MeasureFormat;"/>
+		<method name="getLocale()Landroid/icu/util/ULocale;"/>
+		<method name="getNumberFormat()Landroid/icu/text/NumberFormat;"/>
+		<method name="getUnitDisplayName(Landroid/icu/util/MeasureUnit;)Ljava/lang/String;" since="28"/>
+		<method name="getWidth()Landroid/icu/text/MeasureFormat$FormatWidth;"/>
+		<method name="parseObject(Ljava/lang/String;Ljava/text/ParsePosition;)Landroid/icu/util/Measure;" removed="32"/>
+	</class>
+	<class name="android/icu/text/MeasureFormat$FormatWidth" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/MeasureFormat$FormatWidth;"/>
+		<method name="values()[Landroid/icu/text/MeasureFormat$FormatWidth;"/>
+		<field name="NARROW"/>
+		<field name="NUMERIC"/>
+		<field name="SHORT"/>
+		<field name="WIDE"/>
+	</class>
+	<class name="android/icu/text/MessageFormat" since="24">
+		<extends name="android/icu/text/UFormat"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/util/Locale;)V"/>
+		<method name="applyPattern(Ljava/lang/String;)V"/>
+		<method name="applyPattern(Ljava/lang/String;Landroid/icu/text/MessagePattern$ApostropheMode;)V"/>
+		<method name="autoQuoteApostrophe(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="format(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;"/>
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="format(Ljava/util/Map;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="format([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="getApostropheMode()Landroid/icu/text/MessagePattern$ApostropheMode;"/>
+		<method name="getArgumentNames()Ljava/util/Set;"/>
+		<method name="getFormatByArgumentName(Ljava/lang/String;)Ljava/text/Format;"/>
+		<method name="getFormats()[Ljava/text/Format;"/>
+		<method name="getFormatsByArgumentIndex()[Ljava/text/Format;"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getULocale()Landroid/icu/util/ULocale;"/>
+		<method name="parse(Ljava/lang/String;)[Ljava/lang/Object;"/>
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)[Ljava/lang/Object;"/>
+		<method name="parseToMap(Ljava/lang/String;)Ljava/util/Map;"/>
+		<method name="parseToMap(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Map;"/>
+		<method name="setFormat(ILjava/text/Format;)V"/>
+		<method name="setFormatByArgumentIndex(ILjava/text/Format;)V"/>
+		<method name="setFormatByArgumentName(Ljava/lang/String;Ljava/text/Format;)V"/>
+		<method name="setFormats([Ljava/text/Format;)V"/>
+		<method name="setFormatsByArgumentIndex([Ljava/text/Format;)V"/>
+		<method name="setFormatsByArgumentName(Ljava/util/Map;)V"/>
+		<method name="setLocale(Landroid/icu/util/ULocale;)V"/>
+		<method name="setLocale(Ljava/util/Locale;)V"/>
+		<method name="toPattern()Ljava/lang/String;"/>
+		<method name="usesNamedArguments()Z"/>
+	</class>
+	<class name="android/icu/text/MessageFormat$Field" since="24">
+		<extends name="java/text/Format$Field"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="ARGUMENT"/>
+	</class>
+	<class name="android/icu/text/MessagePattern" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/util/Freezable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/icu/text/MessagePattern$ApostropheMode;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="autoQuoteApostropheDeep()Ljava/lang/String;"/>
+		<method name="clear()V"/>
+		<method name="clearPatternAndSetApostropheMode(Landroid/icu/text/MessagePattern$ApostropheMode;)V"/>
+		<method name="cloneAsThawed()Landroid/icu/text/MessagePattern;"/>
+		<method name="countParts()I"/>
+		<method name="freeze()Landroid/icu/text/MessagePattern;"/>
+		<method name="getApostropheMode()Landroid/icu/text/MessagePattern$ApostropheMode;"/>
+		<method name="getLimitPartIndex(I)I"/>
+		<method name="getNumericValue(Landroid/icu/text/MessagePattern$Part;)D"/>
+		<method name="getPart(I)Landroid/icu/text/MessagePattern$Part;"/>
+		<method name="getPartType(I)Landroid/icu/text/MessagePattern$Part$Type;"/>
+		<method name="getPatternIndex(I)I"/>
+		<method name="getPatternString()Ljava/lang/String;"/>
+		<method name="getPluralOffset(I)D"/>
+		<method name="getSubstring(Landroid/icu/text/MessagePattern$Part;)Ljava/lang/String;"/>
+		<method name="hasNamedArguments()Z"/>
+		<method name="hasNumberedArguments()Z"/>
+		<method name="parse(Ljava/lang/String;)Landroid/icu/text/MessagePattern;"/>
+		<method name="parseChoiceStyle(Ljava/lang/String;)Landroid/icu/text/MessagePattern;"/>
+		<method name="parsePluralStyle(Ljava/lang/String;)Landroid/icu/text/MessagePattern;"/>
+		<method name="parseSelectStyle(Ljava/lang/String;)Landroid/icu/text/MessagePattern;"/>
+		<method name="partSubstringMatches(Landroid/icu/text/MessagePattern$Part;Ljava/lang/String;)Z"/>
+		<method name="validateArgumentName(Ljava/lang/String;)I"/>
+		<field name="ARG_NAME_NOT_NUMBER"/>
+		<field name="ARG_NAME_NOT_VALID"/>
+		<field name="NO_NUMERIC_VALUE"/>
+	</class>
+	<class name="android/icu/text/MessagePattern$ApostropheMode" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/MessagePattern$ApostropheMode;"/>
+		<method name="values()[Landroid/icu/text/MessagePattern$ApostropheMode;"/>
+		<field name="DOUBLE_OPTIONAL"/>
+		<field name="DOUBLE_REQUIRED"/>
+	</class>
+	<class name="android/icu/text/MessagePattern$ArgType" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="hasPluralStyle()Z"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/MessagePattern$ArgType;"/>
+		<method name="values()[Landroid/icu/text/MessagePattern$ArgType;"/>
+		<field name="CHOICE"/>
+		<field name="NONE"/>
+		<field name="PLURAL"/>
+		<field name="SELECT"/>
+		<field name="SELECTORDINAL"/>
+		<field name="SIMPLE"/>
+	</class>
+	<class name="android/icu/text/MessagePattern$Part" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getArgType()Landroid/icu/text/MessagePattern$ArgType;"/>
+		<method name="getIndex()I"/>
+		<method name="getLength()I"/>
+		<method name="getLimit()I"/>
+		<method name="getType()Landroid/icu/text/MessagePattern$Part$Type;"/>
+		<method name="getValue()I"/>
+	</class>
+	<class name="android/icu/text/MessagePattern$Part$Type" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="hasNumericValue()Z"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/MessagePattern$Part$Type;"/>
+		<method name="values()[Landroid/icu/text/MessagePattern$Part$Type;"/>
+		<field name="ARG_DOUBLE"/>
+		<field name="ARG_INT"/>
+		<field name="ARG_LIMIT"/>
+		<field name="ARG_NAME"/>
+		<field name="ARG_NUMBER"/>
+		<field name="ARG_SELECTOR"/>
+		<field name="ARG_START"/>
+		<field name="ARG_STYLE"/>
+		<field name="ARG_TYPE"/>
+		<field name="INSERT_CHAR"/>
+		<field name="MSG_LIMIT"/>
+		<field name="MSG_START"/>
+		<field name="REPLACE_NUMBER"/>
+		<field name="SKIP_SYNTAX"/>
+	</class>
+	<class name="android/icu/text/Normalizer" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="compare(III)I"/>
+		<method name="compare(ILjava/lang/String;I)I"/>
+		<method name="compare(Ljava/lang/String;Ljava/lang/String;I)I"/>
+		<method name="compare([CII[CIII)I"/>
+		<method name="compare([C[CI)I"/>
+		<field name="COMPARE_CODE_POINT_ORDER"/>
+		<field name="COMPARE_IGNORE_CASE"/>
+		<field name="FOLD_CASE_DEFAULT"/>
+		<field name="FOLD_CASE_EXCLUDE_SPECIAL_I"/>
+		<field name="INPUT_IS_FCD"/>
+		<field name="MAYBE"/>
+		<field name="NO"/>
+		<field name="YES"/>
+	</class>
+	<class name="android/icu/text/Normalizer$QuickCheckResult" since="24">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/icu/text/Normalizer2" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="append(Ljava/lang/StringBuilder;Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;"/>
+		<method name="composePair(II)I"/>
+		<method name="getCombiningClass(I)I"/>
+		<method name="getDecomposition(I)Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/io/InputStream;Ljava/lang/String;Landroid/icu/text/Normalizer2$Mode;)Landroid/icu/text/Normalizer2;" deprecated="31"/>
+		<method name="getNFCInstance()Landroid/icu/text/Normalizer2;"/>
+		<method name="getNFDInstance()Landroid/icu/text/Normalizer2;"/>
+		<method name="getNFKCCasefoldInstance()Landroid/icu/text/Normalizer2;"/>
+		<method name="getNFKCInstance()Landroid/icu/text/Normalizer2;"/>
+		<method name="getNFKDInstance()Landroid/icu/text/Normalizer2;"/>
+		<method name="getRawDecomposition(I)Ljava/lang/String;"/>
+		<method name="hasBoundaryAfter(I)Z"/>
+		<method name="hasBoundaryBefore(I)Z"/>
+		<method name="isInert(I)Z"/>
+		<method name="isNormalized(Ljava/lang/CharSequence;)Z"/>
+		<method name="normalize(Ljava/lang/CharSequence;)Ljava/lang/String;"/>
+		<method name="normalize(Ljava/lang/CharSequence;Ljava/lang/Appendable;)Ljava/lang/Appendable;"/>
+		<method name="normalize(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;"/>
+		<method name="normalizeSecondAndAppend(Ljava/lang/StringBuilder;Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;"/>
+		<method name="quickCheck(Ljava/lang/CharSequence;)Landroid/icu/text/Normalizer$QuickCheckResult;"/>
+		<method name="spanQuickCheckYes(Ljava/lang/CharSequence;)I"/>
+	</class>
+	<class name="android/icu/text/Normalizer2$Mode" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/Normalizer2$Mode;"/>
+		<method name="values()[Landroid/icu/text/Normalizer2$Mode;"/>
+		<field name="COMPOSE"/>
+		<field name="COMPOSE_CONTIGUOUS"/>
+		<field name="DECOMPOSE"/>
+		<field name="FCD"/>
+	</class>
+	<class name="android/icu/text/NumberFormat" since="24">
+		<extends name="android/icu/text/UFormat"/>
+		<method name="&lt;init>()V"/>
+		<method name="format(D)Ljava/lang/String;"/>
+		<method name="format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="format(J)Ljava/lang/String;"/>
+		<method name="format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="format(Landroid/icu/math/BigDecimal;)Ljava/lang/String;"/>
+		<method name="format(Landroid/icu/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="format(Landroid/icu/util/CurrencyAmount;)Ljava/lang/String;"/>
+		<method name="format(Landroid/icu/util/CurrencyAmount;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="format(Ljava/math/BigDecimal;)Ljava/lang/String;"/>
+		<method name="format(Ljava/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="format(Ljava/math/BigInteger;)Ljava/lang/String;"/>
+		<method name="format(Ljava/math/BigInteger;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getContext(Landroid/icu/text/DisplayContext$Type;)Landroid/icu/text/DisplayContext;"/>
+		<method name="getCurrency()Landroid/icu/util/Currency;"/>
+		<method name="getCurrencyInstance()Landroid/icu/text/NumberFormat;"/>
+		<method name="getCurrencyInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getCurrencyInstance(Ljava/util/Locale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getInstance()Landroid/icu/text/NumberFormat;"/>
+		<method name="getInstance(I)Landroid/icu/text/NumberFormat;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/NumberFormat;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getInstance(Ljava/util/Locale;I)Landroid/icu/text/NumberFormat;"/>
+		<method name="getIntegerInstance()Landroid/icu/text/NumberFormat;"/>
+		<method name="getIntegerInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getIntegerInstance(Ljava/util/Locale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getMaximumFractionDigits()I"/>
+		<method name="getMaximumIntegerDigits()I"/>
+		<method name="getMinimumFractionDigits()I"/>
+		<method name="getMinimumIntegerDigits()I"/>
+		<method name="getNumberInstance()Landroid/icu/text/NumberFormat;"/>
+		<method name="getNumberInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getNumberInstance(Ljava/util/Locale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getPattern(Landroid/icu/util/ULocale;I)Ljava/lang/String;"/>
+		<method name="getPercentInstance()Landroid/icu/text/NumberFormat;"/>
+		<method name="getPercentInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getPercentInstance(Ljava/util/Locale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getRoundingMode()I"/>
+		<method name="getScientificInstance()Landroid/icu/text/NumberFormat;"/>
+		<method name="getScientificInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="getScientificInstance(Ljava/util/Locale;)Landroid/icu/text/NumberFormat;"/>
+		<method name="isGroupingUsed()Z"/>
+		<method name="isParseIntegerOnly()Z"/>
+		<method name="isParseStrict()Z"/>
+		<method name="parse(Ljava/lang/String;)Ljava/lang/Number;"/>
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;"/>
+		<method name="parseCurrency(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Landroid/icu/util/CurrencyAmount;"/>
+		<method name="setContext(Landroid/icu/text/DisplayContext;)V"/>
+		<method name="setCurrency(Landroid/icu/util/Currency;)V"/>
+		<method name="setGroupingUsed(Z)V"/>
+		<method name="setMaximumFractionDigits(I)V"/>
+		<method name="setMaximumIntegerDigits(I)V"/>
+		<method name="setMinimumFractionDigits(I)V"/>
+		<method name="setMinimumIntegerDigits(I)V"/>
+		<method name="setParseIntegerOnly(Z)V"/>
+		<method name="setParseStrict(Z)V"/>
+		<method name="setRoundingMode(I)V"/>
+		<field name="ACCOUNTINGCURRENCYSTYLE"/>
+		<field name="CASHCURRENCYSTYLE"/>
+		<field name="CURRENCYSTYLE"/>
+		<field name="FRACTION_FIELD"/>
+		<field name="INTEGERSTYLE"/>
+		<field name="INTEGER_FIELD"/>
+		<field name="ISOCURRENCYSTYLE"/>
+		<field name="NUMBERSTYLE"/>
+		<field name="PERCENTSTYLE"/>
+		<field name="PLURALCURRENCYSTYLE"/>
+		<field name="SCIENTIFICSTYLE"/>
+		<field name="STANDARDCURRENCYSTYLE" since="26"/>
+	</class>
+	<class name="android/icu/text/NumberFormat$Field" since="24">
+		<extends name="java/text/Format$Field"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="COMPACT" since="31"/>
+		<field name="CURRENCY"/>
+		<field name="DECIMAL_SEPARATOR"/>
+		<field name="EXPONENT"/>
+		<field name="EXPONENT_SIGN"/>
+		<field name="EXPONENT_SYMBOL"/>
+		<field name="FRACTION"/>
+		<field name="GROUPING_SEPARATOR"/>
+		<field name="INTEGER"/>
+		<field name="MEASURE_UNIT" since="31"/>
+		<field name="PERCENT"/>
+		<field name="PERMILLE"/>
+		<field name="SIGN"/>
+	</class>
+	<class name="android/icu/text/NumberingSystem" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAvailableNames()[Ljava/lang/String;"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getInstance()Landroid/icu/text/NumberingSystem;"/>
+		<method name="getInstance(IZLjava/lang/String;)Landroid/icu/text/NumberingSystem;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/NumberingSystem;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/NumberingSystem;"/>
+		<method name="getInstanceByName(Ljava/lang/String;)Landroid/icu/text/NumberingSystem;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getRadix()I"/>
+		<method name="isAlgorithmic()Z"/>
+		<method name="isValidDigitString(Ljava/lang/String;)Z"/>
+		<field name="LATIN" since="29"/>
+	</class>
+	<class name="android/icu/text/PluralFormat" since="24">
+		<extends name="android/icu/text/UFormat"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/icu/text/PluralRules;)V"/>
+		<method name="&lt;init>(Landroid/icu/text/PluralRules;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules$PluralType;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules$PluralType;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;Landroid/icu/text/PluralRules$PluralType;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;Landroid/icu/text/PluralRules;)V"/>
+		<method name="applyPattern(Ljava/lang/String;)V"/>
+		<method name="equals(Landroid/icu/text/PluralFormat;)Z"/>
+		<method name="format(D)Ljava/lang/String;"/>
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;"/>
+		<method name="setNumberFormat(Landroid/icu/text/NumberFormat;)V"/>
+		<method name="toPattern()Ljava/lang/String;"/>
+	</class>
+	<class name="android/icu/text/PluralRules" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="createRules(Ljava/lang/String;)Landroid/icu/text/PluralRules;"/>
+		<method name="equals(Landroid/icu/text/PluralRules;)Z"/>
+		<method name="forLocale(Landroid/icu/util/ULocale;)Landroid/icu/text/PluralRules;"/>
+		<method name="forLocale(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules$PluralType;)Landroid/icu/text/PluralRules;"/>
+		<method name="forLocale(Ljava/util/Locale;)Landroid/icu/text/PluralRules;"/>
+		<method name="forLocale(Ljava/util/Locale;Landroid/icu/text/PluralRules$PluralType;)Landroid/icu/text/PluralRules;"/>
+		<method name="getAllKeywordValues(Ljava/lang/String;)Ljava/util/Collection;"/>
+		<method name="getKeywords()Ljava/util/Set;"/>
+		<method name="getSamples(Ljava/lang/String;)Ljava/util/Collection;"/>
+		<method name="getUniqueKeywordValue(Ljava/lang/String;)D"/>
+		<method name="parseDescription(Ljava/lang/String;)Landroid/icu/text/PluralRules;"/>
+		<method name="select(D)Ljava/lang/String;"/>
+		<method name="select(Landroid/icu/number/FormattedNumber;)Ljava/lang/String;" since="31"/>
+		<field name="DEFAULT"/>
+		<field name="KEYWORD_FEW"/>
+		<field name="KEYWORD_MANY"/>
+		<field name="KEYWORD_ONE"/>
+		<field name="KEYWORD_OTHER"/>
+		<field name="KEYWORD_TWO"/>
+		<field name="KEYWORD_ZERO"/>
+		<field name="NO_UNIQUE_VALUE"/>
+	</class>
+	<class name="android/icu/text/PluralRules$PluralType" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/PluralRules$PluralType;"/>
+		<method name="values()[Landroid/icu/text/PluralRules$PluralType;"/>
+		<field name="CARDINAL"/>
+		<field name="ORDINAL"/>
+	</class>
+	<class name="android/icu/text/RelativeDateTimeFormatter" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="combineDateAndTime(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="format(DLandroid/icu/text/RelativeDateTimeFormatter$Direction;Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;)Ljava/lang/String;"/>
+		<method name="format(DLandroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeUnit;)Ljava/lang/String;" since="28"/>
+		<method name="format(Landroid/icu/text/RelativeDateTimeFormatter$Direction;Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;)Ljava/lang/String;"/>
+		<method name="formatNumeric(DLandroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeUnit;)Ljava/lang/String;" since="28"/>
+		<method name="formatNumericToValue(DLandroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeUnit;)Landroid/icu/text/RelativeDateTimeFormatter$FormattedRelativeDateTime;" since="31"/>
+		<method name="formatToValue(DLandroid/icu/text/RelativeDateTimeFormatter$Direction;Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;)Landroid/icu/text/RelativeDateTimeFormatter$FormattedRelativeDateTime;" since="31"/>
+		<method name="formatToValue(DLandroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeUnit;)Landroid/icu/text/RelativeDateTimeFormatter$FormattedRelativeDateTime;" since="31"/>
+		<method name="formatToValue(Landroid/icu/text/RelativeDateTimeFormatter$Direction;Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;)Landroid/icu/text/RelativeDateTimeFormatter$FormattedRelativeDateTime;" since="31"/>
+		<method name="getCapitalizationContext()Landroid/icu/text/DisplayContext;"/>
+		<method name="getFormatStyle()Landroid/icu/text/RelativeDateTimeFormatter$Style;"/>
+		<method name="getInstance()Landroid/icu/text/RelativeDateTimeFormatter;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/RelativeDateTimeFormatter;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;Landroid/icu/text/NumberFormat;)Landroid/icu/text/RelativeDateTimeFormatter;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;Landroid/icu/text/NumberFormat;Landroid/icu/text/RelativeDateTimeFormatter$Style;Landroid/icu/text/DisplayContext;)Landroid/icu/text/RelativeDateTimeFormatter;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/RelativeDateTimeFormatter;"/>
+		<method name="getInstance(Ljava/util/Locale;Landroid/icu/text/NumberFormat;)Landroid/icu/text/RelativeDateTimeFormatter;"/>
+		<method name="getNumberFormat()Landroid/icu/text/NumberFormat;"/>
+	</class>
+	<class name="android/icu/text/RelativeDateTimeFormatter$AbsoluteUnit" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;"/>
+		<method name="values()[Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;"/>
+		<field name="DAY"/>
+		<field name="FRIDAY"/>
+		<field name="HOUR" since="31"/>
+		<field name="MINUTE" since="31"/>
+		<field name="MONDAY"/>
+		<field name="MONTH"/>
+		<field name="NOW"/>
+		<field name="QUARTER" since="28"/>
+		<field name="SATURDAY"/>
+		<field name="SUNDAY"/>
+		<field name="THURSDAY"/>
+		<field name="TUESDAY"/>
+		<field name="WEDNESDAY"/>
+		<field name="WEEK"/>
+		<field name="YEAR"/>
+	</class>
+	<class name="android/icu/text/RelativeDateTimeFormatter$Direction" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/RelativeDateTimeFormatter$Direction;"/>
+		<method name="values()[Landroid/icu/text/RelativeDateTimeFormatter$Direction;"/>
+		<field name="LAST"/>
+		<field name="LAST_2"/>
+		<field name="NEXT"/>
+		<field name="NEXT_2"/>
+		<field name="PLAIN"/>
+		<field name="THIS"/>
+	</class>
+	<class name="android/icu/text/RelativeDateTimeFormatter$FormattedRelativeDateTime" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/text/FormattedValue"/>
+	</class>
+	<class name="android/icu/text/RelativeDateTimeFormatter$RelativeDateTimeUnit" since="28">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeUnit;"/>
+		<method name="values()[Landroid/icu/text/RelativeDateTimeFormatter$RelativeDateTimeUnit;"/>
+		<field name="DAY"/>
+		<field name="FRIDAY"/>
+		<field name="HOUR"/>
+		<field name="MINUTE"/>
+		<field name="MONDAY"/>
+		<field name="MONTH"/>
+		<field name="QUARTER"/>
+		<field name="SATURDAY"/>
+		<field name="SECOND"/>
+		<field name="SUNDAY"/>
+		<field name="THURSDAY"/>
+		<field name="TUESDAY"/>
+		<field name="WEDNESDAY"/>
+		<field name="WEEK"/>
+		<field name="YEAR"/>
+	</class>
+	<class name="android/icu/text/RelativeDateTimeFormatter$RelativeUnit" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;"/>
+		<method name="values()[Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;"/>
+		<field name="DAYS"/>
+		<field name="HOURS"/>
+		<field name="MINUTES"/>
+		<field name="MONTHS"/>
+		<field name="QUARTERS" since="28" removed="29"/>
+		<field name="SECONDS"/>
+		<field name="WEEKS"/>
+		<field name="YEARS"/>
+	</class>
+	<class name="android/icu/text/RelativeDateTimeFormatter$Style" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/RelativeDateTimeFormatter$Style;"/>
+		<method name="values()[Landroid/icu/text/RelativeDateTimeFormatter$Style;"/>
+		<field name="LONG"/>
+		<field name="NARROW"/>
+		<field name="SHORT"/>
+	</class>
+	<class name="android/icu/text/Replaceable" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="char32At(I)I"/>
+		<method name="charAt(I)C"/>
+		<method name="copy(III)V"/>
+		<method name="getChars(II[CI)V"/>
+		<method name="hasMetaData()Z"/>
+		<method name="length()I"/>
+		<method name="replace(IILjava/lang/String;)V"/>
+		<method name="replace(II[CII)V"/>
+	</class>
+	<class name="android/icu/text/RuleBasedCollator" since="24">
+		<extends name="android/icu/text/Collator"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="cloneAsThawed()Landroid/icu/text/RuleBasedCollator;"/>
+		<method name="getCollationElementIterator(Landroid/icu/text/UCharacterIterator;)Landroid/icu/text/CollationElementIterator;"/>
+		<method name="getCollationElementIterator(Ljava/lang/String;)Landroid/icu/text/CollationElementIterator;"/>
+		<method name="getCollationElementIterator(Ljava/text/CharacterIterator;)Landroid/icu/text/CollationElementIterator;"/>
+		<method name="getContractionsAndExpansions(Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;Z)V"/>
+		<method name="getNumericCollation()Z"/>
+		<method name="getRules()Ljava/lang/String;"/>
+		<method name="getRules(Z)Ljava/lang/String;"/>
+		<method name="isAlternateHandlingShifted()Z"/>
+		<method name="isCaseLevel()Z"/>
+		<method name="isFrenchCollation()Z"/>
+		<method name="isLowerCaseFirst()Z"/>
+		<method name="isUpperCaseFirst()Z"/>
+		<method name="setAlternateHandlingDefault()V"/>
+		<method name="setAlternateHandlingShifted(Z)V"/>
+		<method name="setCaseFirstDefault()V"/>
+		<method name="setCaseLevel(Z)V"/>
+		<method name="setCaseLevelDefault()V"/>
+		<method name="setDecompositionDefault()V"/>
+		<method name="setFrenchCollation(Z)V"/>
+		<method name="setFrenchCollationDefault()V"/>
+		<method name="setLowerCaseFirst(Z)V"/>
+		<method name="setMaxVariable(I)Landroid/icu/text/RuleBasedCollator;"/>
+		<method name="setNumericCollation(Z)V"/>
+		<method name="setNumericCollationDefault()V"/>
+		<method name="setStrengthDefault()V"/>
+		<method name="setUpperCaseFirst(Z)V"/>
+	</class>
+	<class name="android/icu/text/ScientificNumberFormatter" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="format(Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="getMarkupInstance(Landroid/icu/text/DecimalFormat;Ljava/lang/String;Ljava/lang/String;)Landroid/icu/text/ScientificNumberFormatter;"/>
+		<method name="getMarkupInstance(Landroid/icu/util/ULocale;Ljava/lang/String;Ljava/lang/String;)Landroid/icu/text/ScientificNumberFormatter;"/>
+		<method name="getSuperscriptInstance(Landroid/icu/text/DecimalFormat;)Landroid/icu/text/ScientificNumberFormatter;"/>
+		<method name="getSuperscriptInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/ScientificNumberFormatter;"/>
+	</class>
+	<class name="android/icu/text/SearchIterator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/text/CharacterIterator;Landroid/icu/text/BreakIterator;)V"/>
+		<method name="first()I"/>
+		<method name="following(I)I"/>
+		<method name="getBreakIterator()Landroid/icu/text/BreakIterator;"/>
+		<method name="getElementComparisonType()Landroid/icu/text/SearchIterator$ElementComparisonType;"/>
+		<method name="getIndex()I"/>
+		<method name="getMatchLength()I"/>
+		<method name="getMatchStart()I"/>
+		<method name="getMatchedText()Ljava/lang/String;"/>
+		<method name="getTarget()Ljava/text/CharacterIterator;"/>
+		<method name="handleNext(I)I"/>
+		<method name="handlePrevious(I)I"/>
+		<method name="isOverlapping()Z"/>
+		<method name="last()I"/>
+		<method name="next()I"/>
+		<method name="preceding(I)I"/>
+		<method name="previous()I"/>
+		<method name="reset()V"/>
+		<method name="setBreakIterator(Landroid/icu/text/BreakIterator;)V"/>
+		<method name="setElementComparisonType(Landroid/icu/text/SearchIterator$ElementComparisonType;)V"/>
+		<method name="setIndex(I)V"/>
+		<method name="setMatchLength(I)V"/>
+		<method name="setOverlapping(Z)V"/>
+		<method name="setTarget(Ljava/text/CharacterIterator;)V"/>
+		<field name="DONE"/>
+		<field name="breakIterator"/>
+		<field name="matchLength"/>
+		<field name="targetText"/>
+	</class>
+	<class name="android/icu/text/SearchIterator$ElementComparisonType" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/SearchIterator$ElementComparisonType;"/>
+		<method name="values()[Landroid/icu/text/SearchIterator$ElementComparisonType;"/>
+		<field name="ANY_BASE_WEIGHT_IS_WILDCARD"/>
+		<field name="PATTERN_BASE_WEIGHT_IS_WILDCARD"/>
+		<field name="STANDARD_ELEMENT_COMPARISON"/>
+	</class>
+	<class name="android/icu/text/SelectFormat" since="24">
+		<extends name="java/text/Format"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="applyPattern(Ljava/lang/String;)V"/>
+		<method name="format(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toPattern()Ljava/lang/String;"/>
+	</class>
+	<class name="android/icu/text/SimpleDateFormat" since="24">
+		<extends name="android/icu/text/DateFormat"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/icu/text/DateFormatSymbols;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/util/Locale;)V"/>
+		<method name="applyLocalizedPattern(Ljava/lang/String;)V"/>
+		<method name="applyPattern(Ljava/lang/String;)V"/>
+		<method name="get2DigitYearStart()Ljava/util/Date;"/>
+		<method name="getDateFormatSymbols()Landroid/icu/text/DateFormatSymbols;"/>
+		<method name="getNumberFormat(C)Landroid/icu/text/NumberFormat;"/>
+		<method name="getSymbols()Landroid/icu/text/DateFormatSymbols;"/>
+		<method name="getTimeZoneFormat()Landroid/icu/text/TimeZoneFormat;"/>
+		<method name="matchQuarterString(Ljava/lang/String;II[Ljava/lang/String;Landroid/icu/util/Calendar;)I"/>
+		<method name="matchString(Ljava/lang/String;II[Ljava/lang/String;Landroid/icu/util/Calendar;)I"/>
+		<method name="patternCharToDateFormatField(C)Landroid/icu/text/DateFormat$Field;"/>
+		<method name="set2DigitYearStart(Ljava/util/Date;)V"/>
+		<method name="setDateFormatSymbols(Landroid/icu/text/DateFormatSymbols;)V"/>
+		<method name="setNumberFormat(Ljava/lang/String;Landroid/icu/text/NumberFormat;)V"/>
+		<method name="setTimeZoneFormat(Landroid/icu/text/TimeZoneFormat;)V"/>
+		<method name="subFormat(CIILjava/text/FieldPosition;Landroid/icu/text/DateFormatSymbols;Landroid/icu/util/Calendar;)Ljava/lang/String;"/>
+		<method name="subParse(Ljava/lang/String;ICIZZ[ZLandroid/icu/util/Calendar;)I"/>
+		<method name="toLocalizedPattern()Ljava/lang/String;"/>
+		<method name="toPattern()Ljava/lang/String;"/>
+		<method name="zeroPaddingNumber(JII)Ljava/lang/String;"/>
+	</class>
+	<class name="android/icu/text/StringPrepParseException" since="24">
+		<extends name="java/text/ParseException"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/String;II)V"/>
+		<method name="getError()I"/>
+		<field name="ACE_PREFIX_ERROR"/>
+		<field name="BUFFER_OVERFLOW_ERROR"/>
+		<field name="CHECK_BIDI_ERROR"/>
+		<field name="DOMAIN_NAME_TOO_LONG_ERROR"/>
+		<field name="ILLEGAL_CHAR_FOUND"/>
+		<field name="INVALID_CHAR_FOUND"/>
+		<field name="LABEL_TOO_LONG_ERROR"/>
+		<field name="PROHIBITED_ERROR"/>
+		<field name="STD3_ASCII_RULES_ERROR"/>
+		<field name="UNASSIGNED_ERROR"/>
+		<field name="VERIFICATION_ERROR"/>
+		<field name="ZERO_LENGTH_LABEL"/>
+	</class>
+	<class name="android/icu/text/StringSearch" since="24">
+		<extends name="android/icu/text/SearchIterator"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/text/CharacterIterator;Landroid/icu/text/RuleBasedCollator;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/text/CharacterIterator;Landroid/icu/text/RuleBasedCollator;Landroid/icu/text/BreakIterator;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/text/CharacterIterator;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/text/CharacterIterator;Ljava/util/Locale;)V"/>
+		<method name="getCollator()Landroid/icu/text/RuleBasedCollator;"/>
+		<method name="getPattern()Ljava/lang/String;"/>
+		<method name="isCanonical()Z"/>
+		<method name="setCanonical(Z)V"/>
+		<method name="setCollator(Landroid/icu/text/RuleBasedCollator;)V"/>
+		<method name="setPattern(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/icu/text/SymbolTable" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="lookup(Ljava/lang/String;)[C"/>
+		<method name="lookupMatcher(I)Landroid/icu/text/UnicodeMatcher;"/>
+		<method name="parseReference(Ljava/lang/String;Ljava/text/ParsePosition;I)Ljava/lang/String;"/>
+		<field name="SYMBOL_REF"/>
+	</class>
+	<class name="android/icu/text/TimeZoneFormat" since="24">
+		<extends name="android/icu/text/UFormat"/>
+		<implements name="android/icu/util/Freezable"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="cloneAsThawed()Landroid/icu/text/TimeZoneFormat;"/>
+		<method name="format(Landroid/icu/text/TimeZoneFormat$Style;Landroid/icu/util/TimeZone;J)Ljava/lang/String;"/>
+		<method name="format(Landroid/icu/text/TimeZoneFormat$Style;Landroid/icu/util/TimeZone;JLandroid/icu/util/Output;)Ljava/lang/String;"/>
+		<method name="formatOffsetISO8601Basic(IZZZ)Ljava/lang/String;"/>
+		<method name="formatOffsetISO8601Extended(IZZZ)Ljava/lang/String;"/>
+		<method name="formatOffsetLocalizedGMT(I)Ljava/lang/String;"/>
+		<method name="formatOffsetShortLocalizedGMT(I)Ljava/lang/String;"/>
+		<method name="freeze()Landroid/icu/text/TimeZoneFormat;"/>
+		<method name="getDefaultParseOptions()Ljava/util/EnumSet;"/>
+		<method name="getGMTOffsetDigits()Ljava/lang/String;"/>
+		<method name="getGMTOffsetPattern(Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;)Ljava/lang/String;"/>
+		<method name="getGMTPattern()Ljava/lang/String;"/>
+		<method name="getGMTZeroFormat()Ljava/lang/String;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneFormat;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/TimeZoneFormat;"/>
+		<method name="getTimeZoneNames()Landroid/icu/text/TimeZoneNames;"/>
+		<method name="parse(Landroid/icu/text/TimeZoneFormat$Style;Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/util/Output;)Landroid/icu/util/TimeZone;"/>
+		<method name="parse(Landroid/icu/text/TimeZoneFormat$Style;Ljava/lang/String;Ljava/text/ParsePosition;Ljava/util/EnumSet;Landroid/icu/util/Output;)Landroid/icu/util/TimeZone;"/>
+		<method name="parse(Ljava/lang/String;)Landroid/icu/util/TimeZone;"/>
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)Landroid/icu/util/TimeZone;"/>
+		<method name="parseOffsetISO8601(Ljava/lang/String;Ljava/text/ParsePosition;)I"/>
+		<method name="parseOffsetLocalizedGMT(Ljava/lang/String;Ljava/text/ParsePosition;)I"/>
+		<method name="parseOffsetShortLocalizedGMT(Ljava/lang/String;Ljava/text/ParsePosition;)I"/>
+		<method name="setDefaultParseOptions(Ljava/util/EnumSet;)Landroid/icu/text/TimeZoneFormat;"/>
+		<method name="setGMTOffsetDigits(Ljava/lang/String;)Landroid/icu/text/TimeZoneFormat;"/>
+		<method name="setGMTOffsetPattern(Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;Ljava/lang/String;)Landroid/icu/text/TimeZoneFormat;"/>
+		<method name="setGMTPattern(Ljava/lang/String;)Landroid/icu/text/TimeZoneFormat;"/>
+		<method name="setGMTZeroFormat(Ljava/lang/String;)Landroid/icu/text/TimeZoneFormat;"/>
+		<method name="setTimeZoneNames(Landroid/icu/text/TimeZoneNames;)Landroid/icu/text/TimeZoneFormat;"/>
+	</class>
+	<class name="android/icu/text/TimeZoneFormat$GMTOffsetPatternType" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;"/>
+		<method name="values()[Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;"/>
+		<field name="NEGATIVE_H"/>
+		<field name="NEGATIVE_HM"/>
+		<field name="NEGATIVE_HMS"/>
+		<field name="POSITIVE_H"/>
+		<field name="POSITIVE_HM"/>
+		<field name="POSITIVE_HMS"/>
+	</class>
+	<class name="android/icu/text/TimeZoneFormat$ParseOption" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/TimeZoneFormat$ParseOption;"/>
+		<method name="values()[Landroid/icu/text/TimeZoneFormat$ParseOption;"/>
+		<field name="ALL_STYLES"/>
+		<field name="TZ_DATABASE_ABBREVIATIONS"/>
+	</class>
+	<class name="android/icu/text/TimeZoneFormat$Style" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/TimeZoneFormat$Style;"/>
+		<method name="values()[Landroid/icu/text/TimeZoneFormat$Style;"/>
+		<field name="EXEMPLAR_LOCATION"/>
+		<field name="GENERIC_LOCATION"/>
+		<field name="GENERIC_LONG"/>
+		<field name="GENERIC_SHORT"/>
+		<field name="ISO_BASIC_FIXED"/>
+		<field name="ISO_BASIC_FULL"/>
+		<field name="ISO_BASIC_LOCAL_FIXED"/>
+		<field name="ISO_BASIC_LOCAL_FULL"/>
+		<field name="ISO_BASIC_LOCAL_SHORT"/>
+		<field name="ISO_BASIC_SHORT"/>
+		<field name="ISO_EXTENDED_FIXED"/>
+		<field name="ISO_EXTENDED_FULL"/>
+		<field name="ISO_EXTENDED_LOCAL_FIXED"/>
+		<field name="ISO_EXTENDED_LOCAL_FULL"/>
+		<field name="LOCALIZED_GMT"/>
+		<field name="LOCALIZED_GMT_SHORT"/>
+		<field name="SPECIFIC_LONG"/>
+		<field name="SPECIFIC_SHORT"/>
+		<field name="ZONE_ID"/>
+		<field name="ZONE_ID_SHORT"/>
+	</class>
+	<class name="android/icu/text/TimeZoneFormat$TimeType" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/TimeZoneFormat$TimeType;"/>
+		<method name="values()[Landroid/icu/text/TimeZoneFormat$TimeType;"/>
+		<field name="DAYLIGHT"/>
+		<field name="STANDARD"/>
+		<field name="UNKNOWN"/>
+	</class>
+	<class name="android/icu/text/TimeZoneNames" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="getAvailableMetaZoneIDs()Ljava/util/Set;"/>
+		<method name="getAvailableMetaZoneIDs(Ljava/lang/String;)Ljava/util/Set;"/>
+		<method name="getDisplayName(Ljava/lang/String;Landroid/icu/text/TimeZoneNames$NameType;J)Ljava/lang/String;"/>
+		<method name="getExemplarLocationName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneNames;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/text/TimeZoneNames;"/>
+		<method name="getMetaZoneDisplayName(Ljava/lang/String;Landroid/icu/text/TimeZoneNames$NameType;)Ljava/lang/String;"/>
+		<method name="getMetaZoneID(Ljava/lang/String;J)Ljava/lang/String;"/>
+		<method name="getReferenceZoneID(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getTZDBInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneNames;"/>
+		<method name="getTimeZoneDisplayName(Ljava/lang/String;Landroid/icu/text/TimeZoneNames$NameType;)Ljava/lang/String;"/>
+	</class>
+	<class name="android/icu/text/TimeZoneNames$NameType" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/TimeZoneNames$NameType;"/>
+		<method name="values()[Landroid/icu/text/TimeZoneNames$NameType;"/>
+		<field name="EXEMPLAR_LOCATION"/>
+		<field name="LONG_DAYLIGHT"/>
+		<field name="LONG_GENERIC"/>
+		<field name="LONG_STANDARD"/>
+		<field name="SHORT_DAYLIGHT"/>
+		<field name="SHORT_GENERIC"/>
+		<field name="SHORT_STANDARD"/>
+	</class>
+	<class name="android/icu/text/Transliterator" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="createFromRules(Ljava/lang/String;Ljava/lang/String;I)Landroid/icu/text/Transliterator;"/>
+		<method name="filteredTransliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;Z)V"/>
+		<method name="finishTransliteration(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;)V"/>
+		<method name="getAvailableIDs()Ljava/util/Enumeration;"/>
+		<method name="getAvailableSources()Ljava/util/Enumeration;"/>
+		<method name="getAvailableTargets(Ljava/lang/String;)Ljava/util/Enumeration;"/>
+		<method name="getAvailableVariants(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Enumeration;"/>
+		<method name="getDisplayName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getElements()[Landroid/icu/text/Transliterator;"/>
+		<method name="getFilter()Landroid/icu/text/UnicodeFilter;"/>
+		<method name="getID()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Landroid/icu/text/Transliterator;"/>
+		<method name="getInstance(Ljava/lang/String;I)Landroid/icu/text/Transliterator;"/>
+		<method name="getInverse()Landroid/icu/text/Transliterator;"/>
+		<method name="getMaximumContextLength()I"/>
+		<method name="getSourceSet()Landroid/icu/text/UnicodeSet;"/>
+		<method name="getTargetSet()Landroid/icu/text/UnicodeSet;"/>
+		<method name="setFilter(Landroid/icu/text/UnicodeFilter;)V"/>
+		<method name="toRules(Z)Ljava/lang/String;"/>
+		<method name="transliterate(Landroid/icu/text/Replaceable;)V"/>
+		<method name="transliterate(Landroid/icu/text/Replaceable;II)I"/>
+		<method name="transliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;)V"/>
+		<method name="transliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;I)V"/>
+		<method name="transliterate(Landroid/icu/text/Replaceable;Landroid/icu/text/Transliterator$Position;Ljava/lang/String;)V"/>
+		<method name="transliterate(Ljava/lang/String;)Ljava/lang/String;"/>
+		<field name="FORWARD"/>
+		<field name="REVERSE"/>
+	</class>
+	<class name="android/icu/text/Transliterator$Position" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIII)V"/>
+		<method name="&lt;init>(Landroid/icu/text/Transliterator$Position;)V"/>
+		<method name="set(Landroid/icu/text/Transliterator$Position;)V"/>
+		<method name="validate(I)V"/>
+		<field name="contextLimit"/>
+		<field name="contextStart"/>
+		<field name="limit"/>
+		<field name="start"/>
+	</class>
+	<class name="android/icu/text/UCharacterIterator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="current()I"/>
+		<method name="currentCodePoint()I"/>
+		<method name="getCharacterIterator()Ljava/text/CharacterIterator;"/>
+		<method name="getIndex()I"/>
+		<method name="getInstance(Landroid/icu/text/Replaceable;)Landroid/icu/text/UCharacterIterator;"/>
+		<method name="getInstance(Ljava/lang/String;)Landroid/icu/text/UCharacterIterator;"/>
+		<method name="getInstance(Ljava/lang/StringBuffer;)Landroid/icu/text/UCharacterIterator;"/>
+		<method name="getInstance(Ljava/text/CharacterIterator;)Landroid/icu/text/UCharacterIterator;"/>
+		<method name="getInstance([C)Landroid/icu/text/UCharacterIterator;"/>
+		<method name="getInstance([CII)Landroid/icu/text/UCharacterIterator;"/>
+		<method name="getLength()I"/>
+		<method name="getText()Ljava/lang/String;"/>
+		<method name="getText([C)I"/>
+		<method name="getText([CI)I"/>
+		<method name="moveCodePointIndex(I)I"/>
+		<method name="moveIndex(I)I"/>
+		<method name="next()I"/>
+		<method name="nextCodePoint()I"/>
+		<method name="previous()I"/>
+		<method name="previousCodePoint()I"/>
+		<method name="setIndex(I)V"/>
+		<method name="setToLimit()V"/>
+		<method name="setToStart()V"/>
+		<field name="DONE"/>
+	</class>
+	<class name="android/icu/text/UFormat" since="24">
+		<extends name="java/text/Format"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/icu/text/UnicodeFilter" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/text/UnicodeMatcher"/>
+		<method name="contains(I)Z"/>
+	</class>
+	<class name="android/icu/text/UnicodeMatcher" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="addMatchSetTo(Landroid/icu/text/UnicodeSet;)V"/>
+		<method name="matches(Landroid/icu/text/Replaceable;[IIZ)I"/>
+		<method name="matchesIndexValue(I)Z"/>
+		<method name="toPattern(Z)Ljava/lang/String;"/>
+		<field name="ETHER"/>
+		<field name="U_MATCH"/>
+		<field name="U_MISMATCH"/>
+		<field name="U_PARTIAL_MATCH"/>
+	</class>
+	<class name="android/icu/text/UnicodeSet" since="24">
+		<extends name="android/icu/text/UnicodeFilter"/>
+		<implements name="android/icu/util/Freezable"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/lang/Iterable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Landroid/icu/text/UnicodeSet;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/SymbolTable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/SymbolTable;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Z)V"/>
+		<method name="&lt;init>([I)V"/>
+		<method name="_generatePattern(Ljava/lang/StringBuffer;Z)Ljava/lang/StringBuffer;"/>
+		<method name="_generatePattern(Ljava/lang/StringBuffer;ZZ)Ljava/lang/StringBuffer;"/>
+		<method name="add(I)Landroid/icu/text/UnicodeSet;"/>
+		<method name="add(II)Landroid/icu/text/UnicodeSet;"/>
+		<method name="add(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="add(Ljava/lang/Iterable;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="addAll(II)Landroid/icu/text/UnicodeSet;"/>
+		<method name="addAll(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="addAll(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="addAll(Ljava/lang/Iterable;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="addAll([Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="addAllTo(Ljava/util/Collection;)Ljava/util/Collection;"/>
+		<method name="applyIntPropertyValue(II)Landroid/icu/text/UnicodeSet;"/>
+		<method name="applyPattern(Ljava/lang/String;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="applyPattern(Ljava/lang/String;I)Landroid/icu/text/UnicodeSet;"/>
+		<method name="applyPattern(Ljava/lang/String;Z)Landroid/icu/text/UnicodeSet;"/>
+		<method name="applyPropertyAlias(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="applyPropertyAlias(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/SymbolTable;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="charAt(I)I"/>
+		<method name="clear()Landroid/icu/text/UnicodeSet;"/>
+		<method name="cloneAsThawed()Landroid/icu/text/UnicodeSet;"/>
+		<method name="closeOver(I)Landroid/icu/text/UnicodeSet;"/>
+		<method name="compact()Landroid/icu/text/UnicodeSet;"/>
+		<method name="compareTo(Landroid/icu/text/UnicodeSet;)I"/>
+		<method name="compareTo(Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet$ComparisonStyle;)I"/>
+		<method name="compareTo(Ljava/lang/Iterable;)I"/>
+		<method name="complement()Landroid/icu/text/UnicodeSet;"/>
+		<method name="complement(I)Landroid/icu/text/UnicodeSet;"/>
+		<method name="complement(II)Landroid/icu/text/UnicodeSet;"/>
+		<method name="complement(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="complementAll(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="complementAll(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="contains(II)Z"/>
+		<method name="contains(Ljava/lang/CharSequence;)Z"/>
+		<method name="containsAll(Landroid/icu/text/UnicodeSet;)Z"/>
+		<method name="containsAll(Ljava/lang/Iterable;)Z"/>
+		<method name="containsAll(Ljava/lang/String;)Z"/>
+		<method name="containsNone(II)Z"/>
+		<method name="containsNone(Landroid/icu/text/UnicodeSet;)Z"/>
+		<method name="containsNone(Ljava/lang/CharSequence;)Z"/>
+		<method name="containsNone(Ljava/lang/Iterable;)Z"/>
+		<method name="containsSome(II)Z"/>
+		<method name="containsSome(Landroid/icu/text/UnicodeSet;)Z"/>
+		<method name="containsSome(Ljava/lang/CharSequence;)Z"/>
+		<method name="containsSome(Ljava/lang/Iterable;)Z"/>
+		<method name="freeze()Landroid/icu/text/UnicodeSet;"/>
+		<method name="from(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="fromAll(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="getRangeCount()I"/>
+		<method name="getRangeEnd(I)I"/>
+		<method name="getRangeStart(I)I"/>
+		<method name="indexOf(I)I"/>
+		<method name="isEmpty()Z"/>
+		<method name="ranges()Ljava/lang/Iterable;"/>
+		<method name="remove(I)Landroid/icu/text/UnicodeSet;"/>
+		<method name="remove(II)Landroid/icu/text/UnicodeSet;"/>
+		<method name="remove(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="removeAll(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="removeAll(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="removeAll(Ljava/lang/Iterable;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="removeAllStrings()Landroid/icu/text/UnicodeSet;"/>
+		<method name="retain(I)Landroid/icu/text/UnicodeSet;"/>
+		<method name="retain(II)Landroid/icu/text/UnicodeSet;"/>
+		<method name="retain(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="retainAll(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="retainAll(Ljava/lang/CharSequence;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="retainAll(Ljava/lang/Iterable;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="set(II)Landroid/icu/text/UnicodeSet;"/>
+		<method name="set(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;"/>
+		<method name="size()I"/>
+		<method name="span(Ljava/lang/CharSequence;ILandroid/icu/text/UnicodeSet$SpanCondition;)I"/>
+		<method name="span(Ljava/lang/CharSequence;Landroid/icu/text/UnicodeSet$SpanCondition;)I"/>
+		<method name="spanBack(Ljava/lang/CharSequence;ILandroid/icu/text/UnicodeSet$SpanCondition;)I"/>
+		<method name="spanBack(Ljava/lang/CharSequence;Landroid/icu/text/UnicodeSet$SpanCondition;)I"/>
+		<method name="strings()Ljava/util/Collection;"/>
+		<field name="ADD_CASE_MAPPINGS"/>
+		<field name="ALL_CODE_POINTS"/>
+		<field name="CASE"/>
+		<field name="CASE_INSENSITIVE"/>
+		<field name="EMPTY"/>
+		<field name="IGNORE_SPACE"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_VALUE"/>
+	</class>
+	<class name="android/icu/text/UnicodeSet$ComparisonStyle" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/UnicodeSet$ComparisonStyle;"/>
+		<method name="values()[Landroid/icu/text/UnicodeSet$ComparisonStyle;"/>
+		<field name="LEXICOGRAPHIC"/>
+		<field name="LONGER_FIRST"/>
+		<field name="SHORTER_FIRST"/>
+	</class>
+	<class name="android/icu/text/UnicodeSet$EntryRange" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="codepoint"/>
+		<field name="codepointEnd"/>
+	</class>
+	<class name="android/icu/text/UnicodeSet$SpanCondition" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/UnicodeSet$SpanCondition;"/>
+		<method name="values()[Landroid/icu/text/UnicodeSet$SpanCondition;"/>
+		<field name="CONDITION_COUNT"/>
+		<field name="CONTAINED"/>
+		<field name="NOT_CONTAINED"/>
+		<field name="SIMPLE"/>
+	</class>
+	<class name="android/icu/text/UnicodeSetIterator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/icu/text/UnicodeSet;)V"/>
+		<method name="getString()Ljava/lang/String;"/>
+		<method name="next()Z"/>
+		<method name="nextRange()Z"/>
+		<method name="reset()V"/>
+		<method name="reset(Landroid/icu/text/UnicodeSet;)V"/>
+		<field name="IS_STRING"/>
+		<field name="codepoint"/>
+		<field name="codepointEnd"/>
+		<field name="string"/>
+	</class>
+	<class name="android/icu/text/UnicodeSetSpanner" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/icu/text/UnicodeSet;)V"/>
+		<method name="countIn(Ljava/lang/CharSequence;)I"/>
+		<method name="countIn(Ljava/lang/CharSequence;Landroid/icu/text/UnicodeSetSpanner$CountMethod;)I"/>
+		<method name="countIn(Ljava/lang/CharSequence;Landroid/icu/text/UnicodeSetSpanner$CountMethod;Landroid/icu/text/UnicodeSet$SpanCondition;)I"/>
+		<method name="deleteFrom(Ljava/lang/CharSequence;)Ljava/lang/String;"/>
+		<method name="deleteFrom(Ljava/lang/CharSequence;Landroid/icu/text/UnicodeSet$SpanCondition;)Ljava/lang/String;"/>
+		<method name="getUnicodeSet()Landroid/icu/text/UnicodeSet;"/>
+		<method name="replaceFrom(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;"/>
+		<method name="replaceFrom(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/icu/text/UnicodeSetSpanner$CountMethod;)Ljava/lang/String;"/>
+		<method name="replaceFrom(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/icu/text/UnicodeSetSpanner$CountMethod;Landroid/icu/text/UnicodeSet$SpanCondition;)Ljava/lang/String;"/>
+		<method name="trim(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="trim(Ljava/lang/CharSequence;Landroid/icu/text/UnicodeSetSpanner$TrimOption;)Ljava/lang/CharSequence;"/>
+		<method name="trim(Ljava/lang/CharSequence;Landroid/icu/text/UnicodeSetSpanner$TrimOption;Landroid/icu/text/UnicodeSet$SpanCondition;)Ljava/lang/CharSequence;"/>
+	</class>
+	<class name="android/icu/text/UnicodeSetSpanner$CountMethod" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/UnicodeSetSpanner$CountMethod;"/>
+		<method name="values()[Landroid/icu/text/UnicodeSetSpanner$CountMethod;"/>
+		<field name="MIN_ELEMENTS"/>
+		<field name="WHOLE_SPAN"/>
+	</class>
+	<class name="android/icu/text/UnicodeSetSpanner$TrimOption" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/text/UnicodeSetSpanner$TrimOption;"/>
+		<method name="values()[Landroid/icu/text/UnicodeSetSpanner$TrimOption;"/>
+		<field name="BOTH"/>
+		<field name="LEADING"/>
+		<field name="TRAILING"/>
+	</class>
+	<class name="android/icu/util/BuddhistCalendar" since="24">
+		<extends name="android/icu/util/GregorianCalendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Date;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<field name="BE"/>
+	</class>
+	<class name="android/icu/util/Calendar" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="add(II)V"/>
+		<method name="after(Ljava/lang/Object;)Z"/>
+		<method name="before(Ljava/lang/Object;)Z"/>
+		<method name="clear()V"/>
+		<method name="clear(I)V"/>
+		<method name="compareTo(Landroid/icu/util/Calendar;)I"/>
+		<method name="complete()V"/>
+		<method name="computeFields()V"/>
+		<method name="computeGregorianFields(I)V"/>
+		<method name="computeGregorianMonthStart(II)I"/>
+		<method name="computeJulianDay()I"/>
+		<method name="computeMillisInDay()I" deprecated="26"/>
+		<method name="computeTime()V"/>
+		<method name="computeZoneOffset(JI)I" deprecated="26"/>
+		<method name="fieldDifference(Ljava/util/Date;I)I"/>
+		<method name="fieldName(I)Ljava/lang/String;"/>
+		<method name="floorDivide(II)I"/>
+		<method name="floorDivide(II[I)I"/>
+		<method name="floorDivide(JI[I)I"/>
+		<method name="floorDivide(JJ)J"/>
+		<method name="get(I)I"/>
+		<method name="getActualMaximum(I)I"/>
+		<method name="getActualMinimum(I)I"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getDateTimeFormat(IILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getDateTimeFormat(IILjava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="getDisplayName(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getFieldCount()I"/>
+		<method name="getFieldResolutionTable()[[[I"/>
+		<method name="getFirstDayOfWeek()I"/>
+		<method name="getGreatestMinimum(I)I"/>
+		<method name="getGregorianDayOfMonth()I"/>
+		<method name="getGregorianDayOfYear()I"/>
+		<method name="getGregorianMonth()I"/>
+		<method name="getGregorianYear()I"/>
+		<method name="getInstance()Landroid/icu/util/Calendar;"/>
+		<method name="getInstance(Landroid/icu/util/TimeZone;)Landroid/icu/util/Calendar;"/>
+		<method name="getInstance(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)Landroid/icu/util/Calendar;"/>
+		<method name="getInstance(Landroid/icu/util/TimeZone;Ljava/util/Locale;)Landroid/icu/util/Calendar;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/util/Calendar;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/util/Calendar;"/>
+		<method name="getKeywordValuesForLocale(Ljava/lang/String;Landroid/icu/util/ULocale;Z)[Ljava/lang/String;"/>
+		<method name="getLeastMaximum(I)I"/>
+		<method name="getLimit(II)I"/>
+		<method name="getMaximum(I)I"/>
+		<method name="getMinimalDaysInFirstWeek()I"/>
+		<method name="getMinimum(I)I"/>
+		<method name="getRepeatedWallTimeOption()I"/>
+		<method name="getSkippedWallTimeOption()I"/>
+		<method name="getStamp(I)I"/>
+		<method name="getTime()Ljava/util/Date;"/>
+		<method name="getTimeInMillis()J"/>
+		<method name="getTimeZone()Landroid/icu/util/TimeZone;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<method name="getWeekData()Landroid/icu/util/Calendar$WeekData;"/>
+		<method name="getWeekDataForRegion(Ljava/lang/String;)Landroid/icu/util/Calendar$WeekData;"/>
+		<method name="gregorianMonthLength(II)I"/>
+		<method name="gregorianPreviousMonthLength(II)I"/>
+		<method name="handleComputeFields(I)V"/>
+		<method name="handleComputeJulianDay(I)I"/>
+		<method name="handleComputeMonthStart(IIZ)I"/>
+		<method name="handleCreateFields()[I"/>
+		<method name="handleGetDateFormat(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+		<method name="handleGetDateFormat(Ljava/lang/String;Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="handleGetDateFormat(Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateFormat;"/>
+		<method name="handleGetExtendedYear()I"/>
+		<method name="handleGetLimit(II)I"/>
+		<method name="handleGetMonthLength(II)I"/>
+		<method name="handleGetYearLength(I)I"/>
+		<method name="internalGet(I)I"/>
+		<method name="internalGet(II)I"/>
+		<method name="internalGetTimeInMillis()J"/>
+		<method name="internalSet(II)V"/>
+		<method name="isEquivalentTo(Landroid/icu/util/Calendar;)Z"/>
+		<method name="isGregorianLeapYear(I)Z"/>
+		<method name="isLenient()Z"/>
+		<method name="isSet(I)Z"/>
+		<method name="isWeekend()Z"/>
+		<method name="isWeekend(Ljava/util/Date;)Z"/>
+		<method name="julianDayToDayOfWeek(I)I"/>
+		<method name="julianDayToMillis(I)J"/>
+		<method name="millisToJulianDay(J)I"/>
+		<method name="newerField(II)I"/>
+		<method name="newestStamp(III)I"/>
+		<method name="pinField(I)V"/>
+		<method name="prepareGetActual(IZ)V"/>
+		<method name="resolveFields([[[I)I"/>
+		<method name="roll(II)V"/>
+		<method name="roll(IZ)V"/>
+		<method name="set(II)V"/>
+		<method name="set(III)V"/>
+		<method name="set(IIIII)V"/>
+		<method name="set(IIIIII)V"/>
+		<method name="setFirstDayOfWeek(I)V"/>
+		<method name="setLenient(Z)V"/>
+		<method name="setMinimalDaysInFirstWeek(I)V"/>
+		<method name="setRepeatedWallTimeOption(I)V"/>
+		<method name="setSkippedWallTimeOption(I)V"/>
+		<method name="setTime(Ljava/util/Date;)V"/>
+		<method name="setTimeInMillis(J)V"/>
+		<method name="setTimeZone(Landroid/icu/util/TimeZone;)V"/>
+		<method name="setWeekData(Landroid/icu/util/Calendar$WeekData;)Landroid/icu/util/Calendar;"/>
+		<method name="validateField(I)V"/>
+		<method name="validateField(III)V"/>
+		<method name="validateFields()V"/>
+		<method name="weekNumber(II)I"/>
+		<method name="weekNumber(III)I"/>
+		<field name="AM"/>
+		<field name="AM_PM"/>
+		<field name="APRIL"/>
+		<field name="AUGUST"/>
+		<field name="BASE_FIELD_COUNT" deprecated="26"/>
+		<field name="DATE"/>
+		<field name="DAY_OF_MONTH"/>
+		<field name="DAY_OF_WEEK"/>
+		<field name="DAY_OF_WEEK_IN_MONTH"/>
+		<field name="DAY_OF_YEAR"/>
+		<field name="DECEMBER"/>
+		<field name="DOW_LOCAL"/>
+		<field name="DST_OFFSET"/>
+		<field name="EPOCH_JULIAN_DAY"/>
+		<field name="ERA"/>
+		<field name="EXTENDED_YEAR"/>
+		<field name="FEBRUARY"/>
+		<field name="FRIDAY"/>
+		<field name="GREATEST_MINIMUM"/>
+		<field name="HOUR"/>
+		<field name="HOUR_OF_DAY"/>
+		<field name="INTERNALLY_SET"/>
+		<field name="IS_LEAP_MONTH"/>
+		<field name="JANUARY"/>
+		<field name="JAN_1_1_JULIAN_DAY"/>
+		<field name="JULIAN_DAY"/>
+		<field name="JULY"/>
+		<field name="JUNE"/>
+		<field name="LEAST_MAXIMUM"/>
+		<field name="MARCH"/>
+		<field name="MAXIMUM"/>
+		<field name="MAX_DATE"/>
+		<field name="MAX_FIELD_COUNT" deprecated="26"/>
+		<field name="MAX_JULIAN"/>
+		<field name="MAX_MILLIS"/>
+		<field name="MAY"/>
+		<field name="MILLISECOND"/>
+		<field name="MILLISECONDS_IN_DAY"/>
+		<field name="MINIMUM"/>
+		<field name="MINIMUM_USER_STAMP"/>
+		<field name="MINUTE"/>
+		<field name="MIN_DATE"/>
+		<field name="MIN_JULIAN"/>
+		<field name="MIN_MILLIS"/>
+		<field name="MONDAY"/>
+		<field name="MONTH"/>
+		<field name="NOVEMBER"/>
+		<field name="OCTOBER"/>
+		<field name="ONE_DAY"/>
+		<field name="ONE_HOUR"/>
+		<field name="ONE_MINUTE"/>
+		<field name="ONE_SECOND"/>
+		<field name="ONE_WEEK"/>
+		<field name="PM"/>
+		<field name="RESOLVE_REMAP"/>
+		<field name="SATURDAY"/>
+		<field name="SECOND"/>
+		<field name="SEPTEMBER"/>
+		<field name="SUNDAY"/>
+		<field name="THURSDAY"/>
+		<field name="TUESDAY"/>
+		<field name="UNDECIMBER"/>
+		<field name="UNSET"/>
+		<field name="WALLTIME_FIRST"/>
+		<field name="WALLTIME_LAST"/>
+		<field name="WALLTIME_NEXT_VALID"/>
+		<field name="WEDNESDAY"/>
+		<field name="WEEK_OF_MONTH"/>
+		<field name="WEEK_OF_YEAR"/>
+		<field name="YEAR"/>
+		<field name="YEAR_WOY"/>
+		<field name="ZONE_OFFSET"/>
+	</class>
+	<class name="android/icu/util/Calendar$WeekData" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<field name="firstDayOfWeek"/>
+		<field name="minimalDaysInFirstWeek"/>
+		<field name="weekendCease"/>
+		<field name="weekendCeaseMillis"/>
+		<field name="weekendOnset"/>
+		<field name="weekendOnsetMillis"/>
+	</class>
+	<class name="android/icu/util/ChineseCalendar" since="24">
+		<extends name="android/icu/util/Calendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(IIII)V"/>
+		<method name="&lt;init>(IIIII)V"/>
+		<method name="&lt;init>(IIIIIII)V"/>
+		<method name="&lt;init>(IIIIIIII)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Date;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="handleGetDateFormat(Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;"/>
+	</class>
+	<class name="android/icu/util/CopticCalendar" since="24">
+		<extends name="android/icu/util/Calendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Date;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<field name="AMSHIR"/>
+		<field name="BABA"/>
+		<field name="BARAMHAT"/>
+		<field name="BARAMOUDA"/>
+		<field name="BASHANS"/>
+		<field name="EPEP"/>
+		<field name="HATOR"/>
+		<field name="KIAHK"/>
+		<field name="MESRA"/>
+		<field name="NASIE"/>
+		<field name="PAONA"/>
+		<field name="TOBA"/>
+		<field name="TOUT"/>
+	</class>
+	<class name="android/icu/util/Currency" since="24">
+		<extends name="android/icu/util/MeasureUnit"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="fromJavaCurrency(Ljava/util/Currency;)Landroid/icu/util/Currency;" since="29"/>
+		<method name="getAvailableCurrencies()Ljava/util/Set;"/>
+		<method name="getAvailableCurrencyCodes(Landroid/icu/util/ULocale;Ljava/util/Date;)[Ljava/lang/String;"/>
+		<method name="getAvailableCurrencyCodes(Ljava/util/Locale;Ljava/util/Date;)[Ljava/lang/String;"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getAvailableULocales()[Landroid/icu/util/ULocale;"/>
+		<method name="getCurrencyCode()Ljava/lang/String;"/>
+		<method name="getDefaultFractionDigits()I"/>
+		<method name="getDefaultFractionDigits(Landroid/icu/util/Currency$CurrencyUsage;)I"/>
+		<method name="getDisplayName()Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/util/Currency;"/>
+		<method name="getInstance(Ljava/lang/String;)Landroid/icu/util/Currency;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/icu/util/Currency;"/>
+		<method name="getKeywordValuesForLocale(Ljava/lang/String;Landroid/icu/util/ULocale;Z)[Ljava/lang/String;"/>
+		<method name="getName(Landroid/icu/util/ULocale;ILjava/lang/String;[Z)Ljava/lang/String;"/>
+		<method name="getName(Landroid/icu/util/ULocale;I[Z)Ljava/lang/String;"/>
+		<method name="getName(Ljava/util/Locale;ILjava/lang/String;[Z)Ljava/lang/String;"/>
+		<method name="getName(Ljava/util/Locale;I[Z)Ljava/lang/String;"/>
+		<method name="getNumericCode()I"/>
+		<method name="getRoundingIncrement()D"/>
+		<method name="getRoundingIncrement(Landroid/icu/util/Currency$CurrencyUsage;)D"/>
+		<method name="getSymbol()Ljava/lang/String;"/>
+		<method name="getSymbol(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getSymbol(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="isAvailable(Ljava/lang/String;Ljava/util/Date;Ljava/util/Date;)Z"/>
+		<method name="toJavaCurrency()Ljava/util/Currency;" since="29"/>
+		<field name="LONG_NAME"/>
+		<field name="NARROW_SYMBOL_NAME" since="30"/>
+		<field name="PLURAL_LONG_NAME"/>
+		<field name="SYMBOL_NAME"/>
+	</class>
+	<class name="android/icu/util/Currency$CurrencyUsage" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/util/Currency$CurrencyUsage;"/>
+		<method name="values()[Landroid/icu/util/Currency$CurrencyUsage;"/>
+		<field name="CASH"/>
+		<field name="STANDARD"/>
+	</class>
+	<class name="android/icu/util/CurrencyAmount" since="24">
+		<extends name="android/icu/util/Measure"/>
+		<method name="&lt;init>(DLandroid/icu/util/Currency;)V"/>
+		<method name="&lt;init>(DLjava/util/Currency;)V" since="29"/>
+		<method name="&lt;init>(Ljava/lang/Number;Landroid/icu/util/Currency;)V"/>
+		<method name="&lt;init>(Ljava/lang/Number;Ljava/util/Currency;)V" since="29"/>
+		<method name="getCurrency()Landroid/icu/util/Currency;"/>
+	</class>
+	<class name="android/icu/util/DateInterval" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(JJ)V"/>
+		<method name="getFromDate()J"/>
+		<method name="getToDate()J"/>
+	</class>
+	<class name="android/icu/util/EthiopicCalendar" since="26">
+		<extends name="android/icu/util/Calendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Date;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="isAmeteAlemEra()Z"/>
+		<method name="setAmeteAlemEra(Z)V"/>
+		<field name="GENBOT"/>
+		<field name="HAMLE"/>
+		<field name="HEDAR"/>
+		<field name="MEGABIT"/>
+		<field name="MESKEREM"/>
+		<field name="MIAZIA"/>
+		<field name="NEHASSE"/>
+		<field name="PAGUMEN"/>
+		<field name="SENE"/>
+		<field name="TAHSAS"/>
+		<field name="TEKEMT"/>
+		<field name="TER"/>
+		<field name="YEKATIT"/>
+	</class>
+	<class name="android/icu/util/Freezable" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="cloneAsThawed()Ljava/lang/Object;"/>
+		<method name="freeze()Ljava/lang/Object;"/>
+		<method name="isFrozen()Z"/>
+	</class>
+	<class name="android/icu/util/GregorianCalendar" since="24">
+		<extends name="android/icu/util/Calendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIIII)V"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="getGregorianChange()Ljava/util/Date;"/>
+		<method name="isLeapYear(I)Z"/>
+		<method name="setGregorianChange(Ljava/util/Date;)V"/>
+		<field name="AD"/>
+		<field name="BC"/>
+		<field name="invertGregorian"/>
+		<field name="isGregorian"/>
+	</class>
+	<class name="android/icu/util/HebrewCalendar" since="24">
+		<extends name="android/icu/util/Calendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Date;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<field name="ADAR"/>
+		<field name="ADAR_1"/>
+		<field name="AV"/>
+		<field name="ELUL"/>
+		<field name="HESHVAN"/>
+		<field name="IYAR"/>
+		<field name="KISLEV"/>
+		<field name="NISAN"/>
+		<field name="SHEVAT"/>
+		<field name="SIVAN"/>
+		<field name="TAMUZ"/>
+		<field name="TEVET"/>
+		<field name="TISHRI"/>
+	</class>
+	<class name="android/icu/util/ICUUncheckedIOException" since="24">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/icu/util/IllformedLocaleException" since="28">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="getErrorIndex()I"/>
+	</class>
+	<class name="android/icu/util/IndianCalendar" since="24">
+		<extends name="android/icu/util/Calendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Date;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<field name="AGRAHAYANA"/>
+		<field name="ASADHA"/>
+		<field name="ASVINA"/>
+		<field name="BHADRA"/>
+		<field name="CHAITRA"/>
+		<field name="IE"/>
+		<field name="JYAISTHA"/>
+		<field name="KARTIKA"/>
+		<field name="MAGHA"/>
+		<field name="PAUSA"/>
+		<field name="PHALGUNA"/>
+		<field name="SRAVANA"/>
+		<field name="VAISAKHA"/>
+	</class>
+	<class name="android/icu/util/IslamicCalendar" since="24">
+		<extends name="android/icu/util/Calendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Date;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="getCalculationType()Landroid/icu/util/IslamicCalendar$CalculationType;"/>
+		<method name="setCalculationType(Landroid/icu/util/IslamicCalendar$CalculationType;)V"/>
+		<field name="DHU_AL_HIJJAH"/>
+		<field name="DHU_AL_QIDAH"/>
+		<field name="JUMADA_1"/>
+		<field name="JUMADA_2"/>
+		<field name="MUHARRAM"/>
+		<field name="RABI_1"/>
+		<field name="RABI_2"/>
+		<field name="RAJAB"/>
+		<field name="RAMADAN"/>
+		<field name="SAFAR"/>
+		<field name="SHABAN"/>
+		<field name="SHAWWAL"/>
+	</class>
+	<class name="android/icu/util/IslamicCalendar$CalculationType" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/util/IslamicCalendar$CalculationType;"/>
+		<method name="values()[Landroid/icu/util/IslamicCalendar$CalculationType;"/>
+		<field name="ISLAMIC"/>
+		<field name="ISLAMIC_CIVIL"/>
+		<field name="ISLAMIC_TBLA"/>
+		<field name="ISLAMIC_UMALQURA"/>
+	</class>
+	<class name="android/icu/util/JapaneseCalendar" since="24">
+		<extends name="android/icu/util/GregorianCalendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIII)V"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Date;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<field name="CURRENT_ERA" deprecated="29" removed="30"/>
+		<field name="HEISEI"/>
+		<field name="MEIJI"/>
+		<field name="REIWA" since="30"/>
+		<field name="SHOWA"/>
+		<field name="TAISHO"/>
+	</class>
+	<class name="android/icu/util/LocaleData" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getCLDRVersion()Landroid/icu/util/VersionInfo;"/>
+		<method name="getDelimiter(I)Ljava/lang/String;"/>
+		<method name="getInstance()Landroid/icu/util/LocaleData;"/>
+		<method name="getInstance(Landroid/icu/util/ULocale;)Landroid/icu/util/LocaleData;"/>
+		<method name="getMeasurementSystem(Landroid/icu/util/ULocale;)Landroid/icu/util/LocaleData$MeasurementSystem;"/>
+		<method name="getNoSubstitute()Z"/>
+		<method name="getPaperSize(Landroid/icu/util/ULocale;)Landroid/icu/util/LocaleData$PaperSize;"/>
+		<method name="setNoSubstitute(Z)V"/>
+		<field name="ALT_QUOTATION_END"/>
+		<field name="ALT_QUOTATION_START"/>
+		<field name="QUOTATION_END"/>
+		<field name="QUOTATION_START"/>
+	</class>
+	<class name="android/icu/util/LocaleData$MeasurementSystem" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="SI"/>
+		<field name="UK"/>
+		<field name="US"/>
+	</class>
+	<class name="android/icu/util/LocaleData$PaperSize" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getHeight()I"/>
+		<method name="getWidth()I"/>
+	</class>
+	<class name="android/icu/util/Measure" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/Number;Landroid/icu/util/MeasureUnit;)V"/>
+		<method name="getNumber()Ljava/lang/Number;"/>
+		<method name="getUnit()Landroid/icu/util/MeasureUnit;"/>
+	</class>
+	<class name="android/icu/util/MeasureUnit" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="getAvailable()Ljava/util/Set;"/>
+		<method name="getAvailable(Ljava/lang/String;)Ljava/util/Set;"/>
+		<method name="getAvailableTypes()Ljava/util/Set;"/>
+		<method name="getSubtype()Ljava/lang/String;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<field name="ACRE"/>
+		<field name="ACRE_FOOT"/>
+		<field name="AMPERE"/>
+		<field name="ARC_MINUTE"/>
+		<field name="ARC_SECOND"/>
+		<field name="ASTRONOMICAL_UNIT"/>
+		<field name="ATMOSPHERE" since="30"/>
+		<field name="BIT"/>
+		<field name="BUSHEL"/>
+		<field name="BYTE"/>
+		<field name="CALORIE"/>
+		<field name="CARAT"/>
+		<field name="CELSIUS"/>
+		<field name="CENTILITER"/>
+		<field name="CENTIMETER"/>
+		<field name="CENTURY" since="26"/>
+		<field name="CUBIC_CENTIMETER"/>
+		<field name="CUBIC_FOOT"/>
+		<field name="CUBIC_INCH"/>
+		<field name="CUBIC_KILOMETER"/>
+		<field name="CUBIC_METER"/>
+		<field name="CUBIC_MILE"/>
+		<field name="CUBIC_YARD"/>
+		<field name="CUP"/>
+		<field name="CUP_METRIC" since="26"/>
+		<field name="DAY"/>
+		<field name="DECADE" since="31"/>
+		<field name="DECILITER"/>
+		<field name="DECIMETER"/>
+		<field name="DEGREE"/>
+		<field name="DOT_PER_CENTIMETER" since="31"/>
+		<field name="DOT_PER_INCH" since="31"/>
+		<field name="EM" since="31"/>
+		<field name="FAHRENHEIT"/>
+		<field name="FATHOM"/>
+		<field name="FLUID_OUNCE"/>
+		<field name="FOODCALORIE"/>
+		<field name="FOOT"/>
+		<field name="FURLONG"/>
+		<field name="GALLON"/>
+		<field name="GALLON_IMPERIAL" since="28"/>
+		<field name="GENERIC_TEMPERATURE" since="26"/>
+		<field name="GIGABIT"/>
+		<field name="GIGABYTE"/>
+		<field name="GIGAHERTZ"/>
+		<field name="GIGAWATT"/>
+		<field name="GRAM"/>
+		<field name="G_FORCE"/>
+		<field name="HECTARE"/>
+		<field name="HECTOLITER"/>
+		<field name="HECTOPASCAL"/>
+		<field name="HERTZ"/>
+		<field name="HORSEPOWER"/>
+		<field name="HOUR"/>
+		<field name="INCH"/>
+		<field name="INCH_HG"/>
+		<field name="JOULE"/>
+		<field name="KARAT"/>
+		<field name="KELVIN"/>
+		<field name="KILOBIT"/>
+		<field name="KILOBYTE"/>
+		<field name="KILOCALORIE"/>
+		<field name="KILOGRAM"/>
+		<field name="KILOHERTZ"/>
+		<field name="KILOJOULE"/>
+		<field name="KILOMETER"/>
+		<field name="KILOMETER_PER_HOUR"/>
+		<field name="KILOWATT"/>
+		<field name="KILOWATT_HOUR"/>
+		<field name="KNOT" since="26"/>
+		<field name="LIGHT_YEAR"/>
+		<field name="LITER"/>
+		<field name="LITER_PER_100KILOMETERS" since="26"/>
+		<field name="LITER_PER_KILOMETER"/>
+		<field name="LUX"/>
+		<field name="MEGABIT"/>
+		<field name="MEGABYTE"/>
+		<field name="MEGAHERTZ"/>
+		<field name="MEGALITER"/>
+		<field name="MEGAPIXEL" since="31"/>
+		<field name="MEGAWATT"/>
+		<field name="METER"/>
+		<field name="METER_PER_SECOND"/>
+		<field name="METER_PER_SECOND_SQUARED"/>
+		<field name="METRIC_TON"/>
+		<field name="MICROGRAM"/>
+		<field name="MICROMETER"/>
+		<field name="MICROSECOND"/>
+		<field name="MILE"/>
+		<field name="MILE_PER_GALLON"/>
+		<field name="MILE_PER_GALLON_IMPERIAL" since="28"/>
+		<field name="MILE_PER_HOUR"/>
+		<field name="MILE_SCANDINAVIAN" since="26"/>
+		<field name="MILLIAMPERE"/>
+		<field name="MILLIBAR"/>
+		<field name="MILLIGRAM"/>
+		<field name="MILLIGRAM_PER_DECILITER" since="28"/>
+		<field name="MILLILITER"/>
+		<field name="MILLIMETER"/>
+		<field name="MILLIMETER_OF_MERCURY"/>
+		<field name="MILLIMOLE_PER_LITER" since="28"/>
+		<field name="MILLISECOND"/>
+		<field name="MILLIWATT"/>
+		<field name="MINUTE"/>
+		<field name="MONTH"/>
+		<field name="NANOMETER"/>
+		<field name="NANOSECOND"/>
+		<field name="NAUTICAL_MILE"/>
+		<field name="OHM"/>
+		<field name="OUNCE"/>
+		<field name="OUNCE_TROY"/>
+		<field name="PARSEC"/>
+		<field name="PART_PER_MILLION" since="28"/>
+		<field name="PERCENT" since="30"/>
+		<field name="PERMILLE" since="30"/>
+		<field name="PETABYTE" since="30"/>
+		<field name="PICOMETER"/>
+		<field name="PINT"/>
+		<field name="PINT_METRIC" since="26"/>
+		<field name="PIXEL" since="31"/>
+		<field name="PIXEL_PER_CENTIMETER" since="31"/>
+		<field name="PIXEL_PER_INCH" since="31"/>
+		<field name="POINT" since="29"/>
+		<field name="POUND"/>
+		<field name="POUND_PER_SQUARE_INCH"/>
+		<field name="QUART"/>
+		<field name="RADIAN"/>
+		<field name="REVOLUTION_ANGLE" since="26"/>
+		<field name="SECOND"/>
+		<field name="SQUARE_CENTIMETER"/>
+		<field name="SQUARE_FOOT"/>
+		<field name="SQUARE_INCH"/>
+		<field name="SQUARE_KILOMETER"/>
+		<field name="SQUARE_METER"/>
+		<field name="SQUARE_MILE"/>
+		<field name="SQUARE_YARD"/>
+		<field name="STONE"/>
+		<field name="TABLESPOON"/>
+		<field name="TEASPOON"/>
+		<field name="TERABIT"/>
+		<field name="TERABYTE"/>
+		<field name="TON"/>
+		<field name="VOLT"/>
+		<field name="WATT"/>
+		<field name="WEEK"/>
+		<field name="YARD"/>
+		<field name="YEAR"/>
+	</class>
+	<class name="android/icu/util/Output" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<field name="value"/>
+	</class>
+	<class name="android/icu/util/RangeValueIterator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="next(Landroid/icu/util/RangeValueIterator$Element;)Z"/>
+		<method name="reset()V"/>
+	</class>
+	<class name="android/icu/util/RangeValueIterator$Element" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="limit"/>
+		<field name="start"/>
+		<field name="value"/>
+	</class>
+	<class name="android/icu/util/TaiwanCalendar" since="24">
+		<extends name="android/icu/util/GregorianCalendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;)V"/>
+		<method name="&lt;init>(Ljava/util/Date;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<field name="BEFORE_MINGUO"/>
+		<field name="MINGUO"/>
+	</class>
+	<class name="android/icu/util/TimeUnit" since="24">
+		<extends name="android/icu/util/MeasureUnit"/>
+		<method name="values()[Landroid/icu/util/TimeUnit;"/>
+	</class>
+	<class name="android/icu/util/TimeZone" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/icu/util/Freezable"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="cloneAsThawed()Landroid/icu/util/TimeZone;"/>
+		<method name="countEquivalentIDs(Ljava/lang/String;)I"/>
+		<method name="freeze()Landroid/icu/util/TimeZone;"/>
+		<method name="getAvailableIDs()[Ljava/lang/String;"/>
+		<method name="getAvailableIDs(I)[Ljava/lang/String;"/>
+		<method name="getAvailableIDs(Landroid/icu/util/TimeZone$SystemTimeZoneType;Ljava/lang/String;Ljava/lang/Integer;)Ljava/util/Set;"/>
+		<method name="getAvailableIDs(Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="getCanonicalID(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getCanonicalID(Ljava/lang/String;[Z)Ljava/lang/String;"/>
+		<method name="getDSTSavings()I"/>
+		<method name="getDefault()Landroid/icu/util/TimeZone;"/>
+		<method name="getDisplayName()Ljava/lang/String;"/>
+		<method name="getDisplayName(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(ZI)Ljava/lang/String;"/>
+		<method name="getDisplayName(ZILandroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(ZILjava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getEquivalentID(Ljava/lang/String;I)Ljava/lang/String;"/>
+		<method name="getFrozenTimeZone(Ljava/lang/String;)Landroid/icu/util/TimeZone;"/>
+		<method name="getID()Ljava/lang/String;"/>
+		<method name="getIDForWindowsID(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getOffset(IIIIII)I"/>
+		<method name="getOffset(J)I"/>
+		<method name="getOffset(JZ[I)V"/>
+		<method name="getRawOffset()I"/>
+		<method name="getRegion(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getTZDataVersion()Ljava/lang/String;"/>
+		<method name="getTimeZone(Ljava/lang/String;)Landroid/icu/util/TimeZone;"/>
+		<method name="getTimeZone(Ljava/lang/String;I)Landroid/icu/util/TimeZone;"/>
+		<method name="getWindowsID(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="hasSameRules(Landroid/icu/util/TimeZone;)Z"/>
+		<method name="inDaylightTime(Ljava/util/Date;)Z"/>
+		<method name="observesDaylightTime()Z"/>
+		<method name="setID(Ljava/lang/String;)V"/>
+		<method name="setRawOffset(I)V"/>
+		<method name="useDaylightTime()Z"/>
+		<field name="GENERIC_LOCATION"/>
+		<field name="GMT_ZONE"/>
+		<field name="LONG"/>
+		<field name="LONG_GENERIC"/>
+		<field name="LONG_GMT"/>
+		<field name="SHORT"/>
+		<field name="SHORT_COMMONLY_USED"/>
+		<field name="SHORT_GENERIC"/>
+		<field name="SHORT_GMT"/>
+		<field name="TIMEZONE_ICU" since="26"/>
+		<field name="TIMEZONE_JDK" since="26"/>
+		<field name="UNKNOWN_ZONE"/>
+		<field name="UNKNOWN_ZONE_ID"/>
+	</class>
+	<class name="android/icu/util/TimeZone$SystemTimeZoneType" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/util/TimeZone$SystemTimeZoneType;"/>
+		<method name="values()[Landroid/icu/util/TimeZone$SystemTimeZoneType;"/>
+		<field name="ANY" since="28"/>
+		<field name="CANONICAL" since="28"/>
+		<field name="CANONICAL_LOCATION" since="28"/>
+	</class>
+	<class name="android/icu/util/ULocale" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="acceptLanguage(Ljava/lang/String;[Landroid/icu/util/ULocale;[Z)Landroid/icu/util/ULocale;"/>
+		<method name="acceptLanguage(Ljava/lang/String;[Z)Landroid/icu/util/ULocale;"/>
+		<method name="acceptLanguage([Landroid/icu/util/ULocale;[Landroid/icu/util/ULocale;[Z)Landroid/icu/util/ULocale;"/>
+		<method name="acceptLanguage([Landroid/icu/util/ULocale;[Z)Landroid/icu/util/ULocale;"/>
+		<method name="addLikelySubtags(Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale;"/>
+		<method name="canonicalize(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="compareTo(Landroid/icu/util/ULocale;)I"/>
+		<method name="createCanonical(Ljava/lang/String;)Landroid/icu/util/ULocale;"/>
+		<method name="forLanguageTag(Ljava/lang/String;)Landroid/icu/util/ULocale;"/>
+		<method name="forLocale(Ljava/util/Locale;)Landroid/icu/util/ULocale;"/>
+		<method name="getAvailableLocales()[Landroid/icu/util/ULocale;"/>
+		<method name="getAvailableLocalesByType(Landroid/icu/util/ULocale$AvailableType;)Ljava/util/Collection;" since="31"/>
+		<method name="getBaseName()Ljava/lang/String;"/>
+		<method name="getBaseName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getCharacterOrientation()Ljava/lang/String;"/>
+		<method name="getCountry()Ljava/lang/String;"/>
+		<method name="getCountry(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDefault()Landroid/icu/util/ULocale;"/>
+		<method name="getDefault(Landroid/icu/util/ULocale$Category;)Landroid/icu/util/ULocale;"/>
+		<method name="getDisplayCountry()Ljava/lang/String;"/>
+		<method name="getDisplayCountry(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayCountry(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayCountry(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayKeyword(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayKeyword(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayKeyword(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayKeywordValue(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayKeywordValue(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayKeywordValue(Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayKeywordValue(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayLanguage()Ljava/lang/String;"/>
+		<method name="getDisplayLanguage(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayLanguage(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayLanguage(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayLanguageWithDialect()Ljava/lang/String;"/>
+		<method name="getDisplayLanguageWithDialect(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayLanguageWithDialect(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayLanguageWithDialect(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayName()Ljava/lang/String;"/>
+		<method name="getDisplayName(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayNameWithDialect()Ljava/lang/String;"/>
+		<method name="getDisplayNameWithDialect(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayNameWithDialect(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayNameWithDialect(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayScript()Ljava/lang/String;"/>
+		<method name="getDisplayScript(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayScript(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayScript(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDisplayVariant()Ljava/lang/String;"/>
+		<method name="getDisplayVariant(Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayVariant(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;"/>
+		<method name="getDisplayVariant(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getExtension(C)Ljava/lang/String;"/>
+		<method name="getExtensionKeys()Ljava/util/Set;"/>
+		<method name="getFallback()Landroid/icu/util/ULocale;"/>
+		<method name="getFallback(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getISO3Country()Ljava/lang/String;"/>
+		<method name="getISO3Country(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getISO3Language()Ljava/lang/String;"/>
+		<method name="getISO3Language(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getISOCountries()[Ljava/lang/String;"/>
+		<method name="getISOLanguages()[Ljava/lang/String;"/>
+		<method name="getKeywordValue(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getKeywordValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getKeywords()Ljava/util/Iterator;"/>
+		<method name="getKeywords(Ljava/lang/String;)Ljava/util/Iterator;"/>
+		<method name="getLanguage()Ljava/lang/String;"/>
+		<method name="getLanguage(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getLineOrientation()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getScript()Ljava/lang/String;"/>
+		<method name="getScript(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getUnicodeLocaleAttributes()Ljava/util/Set;"/>
+		<method name="getUnicodeLocaleKeys()Ljava/util/Set;"/>
+		<method name="getUnicodeLocaleType(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getVariant()Ljava/lang/String;"/>
+		<method name="getVariant(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="isRightToLeft()Z"/>
+		<method name="minimizeSubtags(Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale;"/>
+		<method name="setKeywordValue(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/ULocale;"/>
+		<method name="setKeywordValue(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toLanguageTag()Ljava/lang/String;"/>
+		<method name="toLegacyKey(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toLegacyType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toLocale()Ljava/util/Locale;"/>
+		<method name="toUnicodeLocaleKey(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toUnicodeLocaleType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<field name="CANADA"/>
+		<field name="CANADA_FRENCH"/>
+		<field name="CHINA"/>
+		<field name="CHINESE"/>
+		<field name="ENGLISH"/>
+		<field name="FRANCE"/>
+		<field name="FRENCH"/>
+		<field name="GERMAN"/>
+		<field name="GERMANY"/>
+		<field name="ITALIAN"/>
+		<field name="ITALY"/>
+		<field name="JAPAN"/>
+		<field name="JAPANESE"/>
+		<field name="KOREA"/>
+		<field name="KOREAN"/>
+		<field name="PRC"/>
+		<field name="PRIVATE_USE_EXTENSION"/>
+		<field name="ROOT"/>
+		<field name="SIMPLIFIED_CHINESE"/>
+		<field name="TAIWAN"/>
+		<field name="TRADITIONAL_CHINESE"/>
+		<field name="UK"/>
+		<field name="UNICODE_LOCALE_EXTENSION"/>
+		<field name="US"/>
+	</class>
+	<class name="android/icu/util/ULocale$AvailableType" since="31">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/util/ULocale$AvailableType;"/>
+		<method name="values()[Landroid/icu/util/ULocale$AvailableType;"/>
+		<field name="DEFAULT"/>
+		<field name="ONLY_LEGACY_ALIASES"/>
+		<field name="WITH_LEGACY_ALIASES"/>
+	</class>
+	<class name="android/icu/util/ULocale$Builder" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addUnicodeLocaleAttribute(Ljava/lang/String;)Landroid/icu/util/ULocale$Builder;"/>
+		<method name="build()Landroid/icu/util/ULocale;"/>
+		<method name="clear()Landroid/icu/util/ULocale$Builder;"/>
+		<method name="clearExtensions()Landroid/icu/util/ULocale$Builder;"/>
+		<method name="removeUnicodeLocaleAttribute(Ljava/lang/String;)Landroid/icu/util/ULocale$Builder;"/>
+		<method name="setExtension(CLjava/lang/String;)Landroid/icu/util/ULocale$Builder;"/>
+		<method name="setLanguage(Ljava/lang/String;)Landroid/icu/util/ULocale$Builder;"/>
+		<method name="setLanguageTag(Ljava/lang/String;)Landroid/icu/util/ULocale$Builder;"/>
+		<method name="setLocale(Landroid/icu/util/ULocale;)Landroid/icu/util/ULocale$Builder;"/>
+		<method name="setRegion(Ljava/lang/String;)Landroid/icu/util/ULocale$Builder;"/>
+		<method name="setScript(Ljava/lang/String;)Landroid/icu/util/ULocale$Builder;"/>
+		<method name="setUnicodeLocaleKeyword(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/ULocale$Builder;"/>
+		<method name="setVariant(Ljava/lang/String;)Landroid/icu/util/ULocale$Builder;"/>
+	</class>
+	<class name="android/icu/util/ULocale$Category" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/icu/util/ULocale$Category;"/>
+		<method name="values()[Landroid/icu/util/ULocale$Category;"/>
+		<field name="DISPLAY"/>
+		<field name="FORMAT"/>
+	</class>
+	<class name="android/icu/util/UniversalTimeScale" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="bigDecimalFrom(DI)Landroid/icu/math/BigDecimal;"/>
+		<method name="bigDecimalFrom(JI)Landroid/icu/math/BigDecimal;"/>
+		<method name="bigDecimalFrom(Landroid/icu/math/BigDecimal;I)Landroid/icu/math/BigDecimal;"/>
+		<method name="from(JI)J"/>
+		<method name="getTimeScaleValue(II)J"/>
+		<method name="toBigDecimal(JI)Landroid/icu/math/BigDecimal;"/>
+		<method name="toBigDecimal(Landroid/icu/math/BigDecimal;I)Landroid/icu/math/BigDecimal;"/>
+		<method name="toLong(JI)J"/>
+		<field name="DB2_TIME"/>
+		<field name="DOTNET_DATE_TIME"/>
+		<field name="EPOCH_OFFSET_PLUS_1_VALUE"/>
+		<field name="EPOCH_OFFSET_VALUE"/>
+		<field name="EXCEL_TIME"/>
+		<field name="FROM_MAX_VALUE"/>
+		<field name="FROM_MIN_VALUE"/>
+		<field name="ICU4C_TIME"/>
+		<field name="JAVA_TIME"/>
+		<field name="MAC_OLD_TIME"/>
+		<field name="MAC_TIME"/>
+		<field name="MAX_SCALE" deprecated="28"/>
+		<field name="TO_MAX_VALUE"/>
+		<field name="TO_MIN_VALUE"/>
+		<field name="UNITS_VALUE"/>
+		<field name="UNIX_MICROSECONDS_TIME"/>
+		<field name="UNIX_TIME"/>
+		<field name="WINDOWS_FILE_TIME"/>
+	</class>
+	<class name="android/icu/util/ValueIterator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="next(Landroid/icu/util/ValueIterator$Element;)Z"/>
+		<method name="reset()V"/>
+		<method name="setRange(II)V"/>
+	</class>
+	<class name="android/icu/util/ValueIterator$Element" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="integer"/>
+		<field name="value"/>
+	</class>
+	<class name="android/icu/util/VersionInfo" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="compareTo(Landroid/icu/util/VersionInfo;)I"/>
+		<method name="getInstance(I)Landroid/icu/util/VersionInfo;"/>
+		<method name="getInstance(II)Landroid/icu/util/VersionInfo;"/>
+		<method name="getInstance(III)Landroid/icu/util/VersionInfo;"/>
+		<method name="getInstance(IIII)Landroid/icu/util/VersionInfo;"/>
+		<method name="getInstance(Ljava/lang/String;)Landroid/icu/util/VersionInfo;"/>
+		<method name="getMajor()I"/>
+		<method name="getMicro()I"/>
+		<method name="getMilli()I"/>
+		<method name="getMinor()I"/>
+		<field name="ICU_VERSION"/>
+		<field name="UCOL_BUILDER_VERSION"/>
+		<field name="UCOL_RUNTIME_VERSION"/>
+		<field name="UNICODE_10_0" since="28"/>
+		<field name="UNICODE_11_0" since="29"/>
+		<field name="UNICODE_12_0" since="30"/>
+		<field name="UNICODE_12_1" since="30"/>
+		<field name="UNICODE_13_0" since="30"/>
+		<field name="UNICODE_1_0"/>
+		<field name="UNICODE_1_0_1"/>
+		<field name="UNICODE_1_1_0"/>
+		<field name="UNICODE_1_1_5"/>
+		<field name="UNICODE_2_0"/>
+		<field name="UNICODE_2_1_2"/>
+		<field name="UNICODE_2_1_5"/>
+		<field name="UNICODE_2_1_8"/>
+		<field name="UNICODE_2_1_9"/>
+		<field name="UNICODE_3_0"/>
+		<field name="UNICODE_3_0_1"/>
+		<field name="UNICODE_3_1_0"/>
+		<field name="UNICODE_3_1_1"/>
+		<field name="UNICODE_3_2"/>
+		<field name="UNICODE_4_0"/>
+		<field name="UNICODE_4_0_1"/>
+		<field name="UNICODE_4_1"/>
+		<field name="UNICODE_5_0"/>
+		<field name="UNICODE_5_1"/>
+		<field name="UNICODE_5_2"/>
+		<field name="UNICODE_6_0"/>
+		<field name="UNICODE_6_1"/>
+		<field name="UNICODE_6_2"/>
+		<field name="UNICODE_6_3"/>
+		<field name="UNICODE_7_0"/>
+		<field name="UNICODE_8_0"/>
+		<field name="UNICODE_9_0" since="26"/>
+	</class>
+	<class name="android/inputmethodservice/AbstractInputMethodService" since="3">
+		<extends name="android/app/Service"/>
+		<implements name="android/view/KeyEvent$Callback"/>
+		<method name="&lt;init>()V"/>
+		<method name="getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState;" since="5"/>
+		<method name="onCreateInputMethodInterface()Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl;"/>
+		<method name="onCreateInputMethodSessionInterface()Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;"/>
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="17"/>
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;)Z"/>
+	</class>
+	<class name="android/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/inputmethod/InputMethod"/>
+		<method name="&lt;init>(Landroid/inputmethodservice/AbstractInputMethodService;)V"/>
+	</class>
+	<class name="android/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/inputmethod/InputMethodSession"/>
+		<method name="&lt;init>(Landroid/inputmethodservice/AbstractInputMethodService;)V"/>
+		<method name="isEnabled()Z"/>
+		<method name="isRevoked()Z"/>
+		<method name="revokeSelf()V"/>
+		<method name="setEnabled(Z)V"/>
+	</class>
+	<class name="android/inputmethodservice/ExtractEditText" since="3">
+		<extends name="android/widget/EditText"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="finishInternalChanges()V"/>
+		<method name="hasVerticalScrollBar()Z"/>
+		<method name="startInternalChanges()V"/>
+	</class>
+	<class name="android/inputmethodservice/InputMethodService" since="3">
+		<extends name="android/inputmethodservice/AbstractInputMethodService"/>
+		<method name="&lt;init>()V"/>
+		<method name="enableHardwareAcceleration()Z" since="17" deprecated="21"/>
+		<method name="getBackDisposition()I" since="11"/>
+		<method name="getCandidatesHiddenVisibility()I"/>
+		<method name="getCurrentInputBinding()Landroid/view/inputmethod/InputBinding;"/>
+		<method name="getCurrentInputConnection()Landroid/view/inputmethod/InputConnection;"/>
+		<method name="getCurrentInputEditorInfo()Landroid/view/inputmethod/EditorInfo;"/>
+		<method name="getCurrentInputStarted()Z"/>
+		<method name="getInputMethodWindowRecommendedHeight()I" since="21" deprecated="29"/>
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;"/>
+		<method name="getMaxWidth()I"/>
+		<method name="getTextForImeAction(I)Ljava/lang/CharSequence;"/>
+		<method name="getWindow()Landroid/app/Dialog;"/>
+		<method name="hideStatusIcon()V"/>
+		<method name="hideWindow()V"/>
+		<method name="isExtractViewShown()Z"/>
+		<method name="isFullscreenMode()Z"/>
+		<method name="isInputViewShown()Z"/>
+		<method name="isShowInputRequested()Z"/>
+		<method name="onAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="onBindInput()V"/>
+		<method name="onComputeInsets(Landroid/inputmethodservice/InputMethodService$Insets;)V"/>
+		<method name="onConfigureWindow(Landroid/view/Window;ZZ)V"/>
+		<method name="onCreateCandidatesView()Landroid/view/View;"/>
+		<method name="onCreateExtractTextView()Landroid/view/View;"/>
+		<method name="onCreateInlineSuggestionsRequest(Landroid/os/Bundle;)Landroid/view/inputmethod/InlineSuggestionsRequest;" since="30"/>
+		<method name="onCreateInputView()Landroid/view/View;"/>
+		<method name="onCurrentInputMethodSubtypeChanged(Landroid/view/inputmethod/InputMethodSubtype;)V" since="11"/>
+		<method name="onDisplayCompletions([Landroid/view/inputmethod/CompletionInfo;)V"/>
+		<method name="onEvaluateFullscreenMode()Z"/>
+		<method name="onEvaluateInputViewShown()Z"/>
+		<method name="onExtractTextContextMenuItem(I)Z"/>
+		<method name="onExtractedCursorMovement(II)V"/>
+		<method name="onExtractedSelectionChanged(II)V"/>
+		<method name="onExtractedTextClicked()V"/>
+		<method name="onExtractingInputChanged(Landroid/view/inputmethod/EditorInfo;)V"/>
+		<method name="onFinishCandidatesView(Z)V"/>
+		<method name="onFinishInput()V"/>
+		<method name="onFinishInputView(Z)V"/>
+		<method name="onInitializeInterface()V"/>
+		<method name="onInlineSuggestionsResponse(Landroid/view/inputmethod/InlineSuggestionsResponse;)Z" since="30"/>
+		<method name="onShowInputRequested(IZ)Z"/>
+		<method name="onStartCandidatesView(Landroid/view/inputmethod/EditorInfo;Z)V"/>
+		<method name="onStartInput(Landroid/view/inputmethod/EditorInfo;Z)V"/>
+		<method name="onStartInputView(Landroid/view/inputmethod/EditorInfo;Z)V"/>
+		<method name="onUnbindInput()V"/>
+		<method name="onUpdateCursor(Landroid/graphics/Rect;)V" deprecated="21"/>
+		<method name="onUpdateCursorAnchorInfo(Landroid/view/inputmethod/CursorAnchorInfo;)V" since="21"/>
+		<method name="onUpdateExtractedText(ILandroid/view/inputmethod/ExtractedText;)V"/>
+		<method name="onUpdateExtractingViews(Landroid/view/inputmethod/EditorInfo;)V"/>
+		<method name="onUpdateExtractingVisibility(Landroid/view/inputmethod/EditorInfo;)V"/>
+		<method name="onUpdateSelection(IIIIII)V"/>
+		<method name="onViewClicked(Z)V" since="14" deprecated="29"/>
+		<method name="onWindowHidden()V"/>
+		<method name="onWindowShown()V"/>
+		<method name="requestHideSelf(I)V"/>
+		<method name="requestShowSelf(I)V" since="28"/>
+		<method name="sendDefaultEditorAction(Z)Z"/>
+		<method name="sendDownUpKeyEvents(I)V"/>
+		<method name="sendKeyChar(C)V"/>
+		<method name="setBackDisposition(I)V" since="11"/>
+		<method name="setCandidatesView(Landroid/view/View;)V"/>
+		<method name="setCandidatesViewShown(Z)V"/>
+		<method name="setExtractView(Landroid/view/View;)V"/>
+		<method name="setExtractViewShown(Z)V"/>
+		<method name="setInputView(Landroid/view/View;)V"/>
+		<method name="shouldOfferSwitchingToNextInputMethod()Z" since="28"/>
+		<method name="showStatusIcon(I)V"/>
+		<method name="showWindow(Z)V"/>
+		<method name="switchInputMethod(Ljava/lang/String;)V"/>
+		<method name="switchInputMethod(Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V" since="28"/>
+		<method name="switchToNextInputMethod(Z)Z" since="28"/>
+		<method name="switchToPreviousInputMethod()Z" since="28"/>
+		<method name="updateFullscreenMode()V"/>
+		<method name="updateInputViewShown()V"/>
+		<field name="BACK_DISPOSITION_ADJUST_NOTHING" since="28"/>
+		<field name="BACK_DISPOSITION_DEFAULT" since="11"/>
+		<field name="BACK_DISPOSITION_WILL_DISMISS" since="11" deprecated="28"/>
+		<field name="BACK_DISPOSITION_WILL_NOT_DISMISS" since="11" deprecated="28"/>
+	</class>
+	<class name="android/inputmethodservice/InputMethodService$InputMethodImpl" since="3">
+		<extends name="android/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl"/>
+		<method name="&lt;init>(Landroid/inputmethodservice/InputMethodService;)V"/>
+	</class>
+	<class name="android/inputmethodservice/InputMethodService$InputMethodSessionImpl" since="3">
+		<extends name="android/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl"/>
+		<method name="&lt;init>(Landroid/inputmethodservice/InputMethodService;)V"/>
+	</class>
+	<class name="android/inputmethodservice/InputMethodService$Insets" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="TOUCHABLE_INSETS_CONTENT"/>
+		<field name="TOUCHABLE_INSETS_FRAME"/>
+		<field name="TOUCHABLE_INSETS_REGION" since="11"/>
+		<field name="TOUCHABLE_INSETS_VISIBLE"/>
+		<field name="contentTopInsets"/>
+		<field name="touchableInsets"/>
+		<field name="touchableRegion" since="11"/>
+		<field name="visibleTopInsets"/>
+	</class>
+	<class name="android/inputmethodservice/Keyboard" since="3" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;II)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;IIII)V" since="11" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;ILjava/lang/CharSequence;II)V" deprecated="29"/>
+		<method name="createKeyFromXml(Landroid/content/res/Resources;Landroid/inputmethodservice/Keyboard$Row;IILandroid/content/res/XmlResourceParser;)Landroid/inputmethodservice/Keyboard$Key;" deprecated="29"/>
+		<method name="createRowFromXml(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Landroid/inputmethodservice/Keyboard$Row;" deprecated="29"/>
+		<method name="getHeight()I" deprecated="29"/>
+		<method name="getHorizontalGap()I" deprecated="29"/>
+		<method name="getKeyHeight()I" deprecated="29"/>
+		<method name="getKeyWidth()I" deprecated="29"/>
+		<method name="getKeys()Ljava/util/List;" deprecated="29"/>
+		<method name="getMinWidth()I" deprecated="29"/>
+		<method name="getModifierKeys()Ljava/util/List;" deprecated="29"/>
+		<method name="getNearestKeys(II)[I" deprecated="29"/>
+		<method name="getShiftKeyIndex()I" deprecated="29"/>
+		<method name="getVerticalGap()I" deprecated="29"/>
+		<method name="isShifted()Z" deprecated="29"/>
+		<method name="setHorizontalGap(I)V" deprecated="29"/>
+		<method name="setKeyHeight(I)V" deprecated="29"/>
+		<method name="setKeyWidth(I)V" deprecated="29"/>
+		<method name="setShifted(Z)Z" deprecated="29"/>
+		<method name="setVerticalGap(I)V" deprecated="29"/>
+		<field name="EDGE_BOTTOM" deprecated="29"/>
+		<field name="EDGE_LEFT" deprecated="29"/>
+		<field name="EDGE_RIGHT" deprecated="29"/>
+		<field name="EDGE_TOP" deprecated="29"/>
+		<field name="KEYCODE_ALT" deprecated="29"/>
+		<field name="KEYCODE_CANCEL" deprecated="29"/>
+		<field name="KEYCODE_DELETE" deprecated="29"/>
+		<field name="KEYCODE_DONE" deprecated="29"/>
+		<field name="KEYCODE_MODE_CHANGE" deprecated="29"/>
+		<field name="KEYCODE_SHIFT" deprecated="29"/>
+	</class>
+	<class name="android/inputmethodservice/Keyboard$Key" since="3" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/res/Resources;Landroid/inputmethodservice/Keyboard$Row;IILandroid/content/res/XmlResourceParser;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/inputmethodservice/Keyboard$Row;)V" deprecated="29"/>
+		<method name="getCurrentDrawableState()[I" deprecated="29"/>
+		<method name="isInside(II)Z" deprecated="29"/>
+		<method name="onPressed()V" deprecated="29"/>
+		<method name="onReleased(Z)V" deprecated="29"/>
+		<method name="squaredDistanceFrom(II)I" deprecated="29"/>
+		<field name="codes" deprecated="29"/>
+		<field name="edgeFlags" deprecated="29"/>
+		<field name="gap" deprecated="29"/>
+		<field name="height" deprecated="29"/>
+		<field name="icon" deprecated="29"/>
+		<field name="iconPreview" deprecated="29"/>
+		<field name="label" deprecated="29"/>
+		<field name="modifier" deprecated="29"/>
+		<field name="on" deprecated="29"/>
+		<field name="popupCharacters" deprecated="29"/>
+		<field name="popupResId" deprecated="29"/>
+		<field name="pressed" deprecated="29"/>
+		<field name="repeatable" deprecated="29"/>
+		<field name="sticky" deprecated="29"/>
+		<field name="text" deprecated="29"/>
+		<field name="width" deprecated="29"/>
+		<field name="x" deprecated="29"/>
+		<field name="y" deprecated="29"/>
+	</class>
+	<class name="android/inputmethodservice/Keyboard$Row" since="3" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/res/Resources;Landroid/inputmethodservice/Keyboard;Landroid/content/res/XmlResourceParser;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/inputmethodservice/Keyboard;)V" deprecated="29"/>
+		<field name="defaultHeight" deprecated="29"/>
+		<field name="defaultHorizontalGap" deprecated="29"/>
+		<field name="defaultWidth" deprecated="29"/>
+		<field name="mode" deprecated="29"/>
+		<field name="rowEdgeFlags" deprecated="29"/>
+		<field name="verticalGap" deprecated="29"/>
+	</class>
+	<class name="android/inputmethodservice/KeyboardView" since="3" deprecated="29">
+		<extends name="android/view/View"/>
+		<implements name="android/view/View$OnClickListener"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="closing()V" deprecated="29"/>
+		<method name="getKeyboard()Landroid/inputmethodservice/Keyboard;" deprecated="29"/>
+		<method name="getOnKeyboardActionListener()Landroid/inputmethodservice/KeyboardView$OnKeyboardActionListener;" deprecated="29"/>
+		<method name="handleBack()Z" deprecated="29"/>
+		<method name="invalidateAllKeys()V" since="4" deprecated="29"/>
+		<method name="invalidateKey(I)V" since="4" deprecated="29"/>
+		<method name="isPreviewEnabled()Z" deprecated="29"/>
+		<method name="isProximityCorrectionEnabled()Z" deprecated="29"/>
+		<method name="isShifted()Z" deprecated="29"/>
+		<method name="onLongPress(Landroid/inputmethodservice/Keyboard$Key;)Z" deprecated="29"/>
+		<method name="setKeyboard(Landroid/inputmethodservice/Keyboard;)V" deprecated="29"/>
+		<method name="setOnKeyboardActionListener(Landroid/inputmethodservice/KeyboardView$OnKeyboardActionListener;)V" deprecated="29"/>
+		<method name="setPopupOffset(II)V" deprecated="29"/>
+		<method name="setPopupParent(Landroid/view/View;)V" deprecated="29"/>
+		<method name="setPreviewEnabled(Z)V" deprecated="29"/>
+		<method name="setProximityCorrectionEnabled(Z)V" deprecated="29"/>
+		<method name="setShifted(Z)Z" deprecated="29"/>
+		<method name="setVerticalCorrection(I)V" deprecated="29"/>
+		<method name="swipeDown()V" deprecated="29"/>
+		<method name="swipeLeft()V" deprecated="29"/>
+		<method name="swipeRight()V" deprecated="29"/>
+		<method name="swipeUp()V" deprecated="29"/>
+	</class>
+	<class name="android/inputmethodservice/KeyboardView$OnKeyboardActionListener" since="3" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onKey(I[I)V" deprecated="29"/>
+		<method name="onPress(I)V" deprecated="29"/>
+		<method name="onRelease(I)V" deprecated="29"/>
+		<method name="onText(Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="swipeDown()V" deprecated="29"/>
+		<method name="swipeLeft()V" deprecated="29"/>
+		<method name="swipeRight()V" deprecated="29"/>
+		<method name="swipeUp()V" deprecated="29"/>
+	</class>
+	<class name="android/location/Address" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="clearLatitude()V"/>
+		<method name="clearLongitude()V"/>
+		<method name="getAddressLine(I)Ljava/lang/String;"/>
+		<method name="getAdminArea()Ljava/lang/String;"/>
+		<method name="getCountryCode()Ljava/lang/String;"/>
+		<method name="getCountryName()Ljava/lang/String;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getFeatureName()Ljava/lang/String;"/>
+		<method name="getLatitude()D"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getLocality()Ljava/lang/String;"/>
+		<method name="getLongitude()D"/>
+		<method name="getMaxAddressLineIndex()I"/>
+		<method name="getPhone()Ljava/lang/String;"/>
+		<method name="getPostalCode()Ljava/lang/String;"/>
+		<method name="getPremises()Ljava/lang/String;" since="4"/>
+		<method name="getSubAdminArea()Ljava/lang/String;"/>
+		<method name="getSubLocality()Ljava/lang/String;" since="4"/>
+		<method name="getSubThoroughfare()Ljava/lang/String;" since="4"/>
+		<method name="getThoroughfare()Ljava/lang/String;"/>
+		<method name="getUrl()Ljava/lang/String;"/>
+		<method name="hasLatitude()Z"/>
+		<method name="hasLongitude()Z"/>
+		<method name="setAddressLine(ILjava/lang/String;)V"/>
+		<method name="setAdminArea(Ljava/lang/String;)V"/>
+		<method name="setCountryCode(Ljava/lang/String;)V"/>
+		<method name="setCountryName(Ljava/lang/String;)V"/>
+		<method name="setExtras(Landroid/os/Bundle;)V"/>
+		<method name="setFeatureName(Ljava/lang/String;)V"/>
+		<method name="setLatitude(D)V"/>
+		<method name="setLocality(Ljava/lang/String;)V"/>
+		<method name="setLongitude(D)V"/>
+		<method name="setPhone(Ljava/lang/String;)V"/>
+		<method name="setPostalCode(Ljava/lang/String;)V"/>
+		<method name="setPremises(Ljava/lang/String;)V" since="4"/>
+		<method name="setSubAdminArea(Ljava/lang/String;)V"/>
+		<method name="setSubLocality(Ljava/lang/String;)V" since="4"/>
+		<method name="setSubThoroughfare(Ljava/lang/String;)V" since="4"/>
+		<method name="setThoroughfare(Ljava/lang/String;)V"/>
+		<method name="setUrl(Ljava/lang/String;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/location/Criteria" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/location/Criteria;)V"/>
+		<method name="getAccuracy()I"/>
+		<method name="getBearingAccuracy()I" since="9"/>
+		<method name="getHorizontalAccuracy()I" since="9"/>
+		<method name="getPowerRequirement()I"/>
+		<method name="getSpeedAccuracy()I" since="9"/>
+		<method name="getVerticalAccuracy()I" since="9"/>
+		<method name="isAltitudeRequired()Z"/>
+		<method name="isBearingRequired()Z"/>
+		<method name="isCostAllowed()Z"/>
+		<method name="isSpeedRequired()Z"/>
+		<method name="setAccuracy(I)V"/>
+		<method name="setAltitudeRequired(Z)V"/>
+		<method name="setBearingAccuracy(I)V" since="9"/>
+		<method name="setBearingRequired(Z)V"/>
+		<method name="setCostAllowed(Z)V"/>
+		<method name="setHorizontalAccuracy(I)V" since="9"/>
+		<method name="setPowerRequirement(I)V"/>
+		<method name="setSpeedAccuracy(I)V" since="9"/>
+		<method name="setSpeedRequired(Z)V"/>
+		<method name="setVerticalAccuracy(I)V" since="9"/>
+		<field name="ACCURACY_COARSE"/>
+		<field name="ACCURACY_FINE"/>
+		<field name="ACCURACY_HIGH" since="9"/>
+		<field name="ACCURACY_LOW" since="9"/>
+		<field name="ACCURACY_MEDIUM" since="9"/>
+		<field name="CREATOR"/>
+		<field name="NO_REQUIREMENT"/>
+		<field name="POWER_HIGH"/>
+		<field name="POWER_LOW"/>
+		<field name="POWER_MEDIUM"/>
+	</class>
+	<class name="android/location/Geocoder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/util/Locale;)V"/>
+		<method name="getFromLocation(DDI)Ljava/util/List;"/>
+		<method name="getFromLocationName(Ljava/lang/String;I)Ljava/util/List;"/>
+		<method name="getFromLocationName(Ljava/lang/String;IDDDD)Ljava/util/List;"/>
+		<method name="isPresent()Z" since="9"/>
+	</class>
+	<class name="android/location/GnssAntennaInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCarrierFrequencyMHz()D"/>
+		<method name="getPhaseCenterOffset()Landroid/location/GnssAntennaInfo$PhaseCenterOffset;"/>
+		<method name="getPhaseCenterVariationCorrections()Landroid/location/GnssAntennaInfo$SphericalCorrections;"/>
+		<method name="getSignalGainCorrections()Landroid/location/GnssAntennaInfo$SphericalCorrections;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/location/GnssAntennaInfo$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(DLandroid/location/GnssAntennaInfo$PhaseCenterOffset;)V" since="31"/>
+		<method name="&lt;init>(Landroid/location/GnssAntennaInfo;)V" since="31"/>
+		<method name="build()Landroid/location/GnssAntennaInfo;"/>
+		<method name="setCarrierFrequencyMHz(D)Landroid/location/GnssAntennaInfo$Builder;"/>
+		<method name="setPhaseCenterOffset(Landroid/location/GnssAntennaInfo$PhaseCenterOffset;)Landroid/location/GnssAntennaInfo$Builder;"/>
+		<method name="setPhaseCenterVariationCorrections(Landroid/location/GnssAntennaInfo$SphericalCorrections;)Landroid/location/GnssAntennaInfo$Builder;"/>
+		<method name="setSignalGainCorrections(Landroid/location/GnssAntennaInfo$SphericalCorrections;)Landroid/location/GnssAntennaInfo$Builder;"/>
+	</class>
+	<class name="android/location/GnssAntennaInfo$Listener" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onGnssAntennaInfoReceived(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/location/GnssAntennaInfo$PhaseCenterOffset" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(DDDDDD)V"/>
+		<method name="getXOffsetMm()D"/>
+		<method name="getXOffsetUncertaintyMm()D"/>
+		<method name="getYOffsetMm()D"/>
+		<method name="getYOffsetUncertaintyMm()D"/>
+		<method name="getZOffsetMm()D"/>
+		<method name="getZOffsetUncertaintyMm()D"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/location/GnssAntennaInfo$SphericalCorrections" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>([[D[[D)V"/>
+		<method name="getCorrectionUncertaintiesArray()[[D"/>
+		<method name="getCorrectionsArray()[[D"/>
+		<method name="getDeltaPhi()D"/>
+		<method name="getDeltaTheta()D"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/location/GnssCapabilities" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="31"/>
+		<method name="hasAntennaInfo()Z" since="31"/>
+		<method name="hasGnssAntennaInfo()Z" deprecated="31"/>
+		<method name="hasMeasurements()Z" since="31"/>
+		<method name="hasNavigationMessages()Z" since="31"/>
+		<field name="CREATOR" since="31"/>
+	</class>
+	<class name="android/location/GnssCapabilities$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/location/GnssCapabilities;)V"/>
+		<method name="build()Landroid/location/GnssCapabilities;"/>
+		<method name="setHasAntennaInfo(Z)Landroid/location/GnssCapabilities$Builder;"/>
+		<method name="setHasMeasurements(Z)Landroid/location/GnssCapabilities$Builder;"/>
+		<method name="setHasNavigationMessages(Z)Landroid/location/GnssCapabilities$Builder;"/>
+	</class>
+	<class name="android/location/GnssClock" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getBiasNanos()D"/>
+		<method name="getBiasUncertaintyNanos()D"/>
+		<method name="getDriftNanosPerSecond()D"/>
+		<method name="getDriftUncertaintyNanosPerSecond()D"/>
+		<method name="getElapsedRealtimeNanos()J" since="29"/>
+		<method name="getElapsedRealtimeUncertaintyNanos()D" since="29"/>
+		<method name="getFullBiasNanos()J"/>
+		<method name="getHardwareClockDiscontinuityCount()I"/>
+		<method name="getLeapSecond()I"/>
+		<method name="getReferenceCarrierFrequencyHzForIsb()D" since="30"/>
+		<method name="getReferenceCodeTypeForIsb()Ljava/lang/String;" since="30"/>
+		<method name="getReferenceConstellationTypeForIsb()I" since="30"/>
+		<method name="getTimeNanos()J"/>
+		<method name="getTimeUncertaintyNanos()D"/>
+		<method name="hasBiasNanos()Z"/>
+		<method name="hasBiasUncertaintyNanos()Z"/>
+		<method name="hasDriftNanosPerSecond()Z"/>
+		<method name="hasDriftUncertaintyNanosPerSecond()Z"/>
+		<method name="hasElapsedRealtimeNanos()Z" since="29"/>
+		<method name="hasElapsedRealtimeUncertaintyNanos()Z" since="29"/>
+		<method name="hasFullBiasNanos()Z"/>
+		<method name="hasLeapSecond()Z"/>
+		<method name="hasReferenceCarrierFrequencyHzForIsb()Z" since="30"/>
+		<method name="hasReferenceCodeTypeForIsb()Z" since="30"/>
+		<method name="hasReferenceConstellationTypeForIsb()Z" since="30"/>
+		<method name="hasTimeUncertaintyNanos()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/location/GnssMeasurement" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAccumulatedDeltaRangeMeters()D"/>
+		<method name="getAccumulatedDeltaRangeState()I"/>
+		<method name="getAccumulatedDeltaRangeUncertaintyMeters()D"/>
+		<method name="getAutomaticGainControlLevelDb()D" since="26"/>
+		<method name="getBasebandCn0DbHz()D" since="30"/>
+		<method name="getCarrierCycles()J" deprecated="28"/>
+		<method name="getCarrierFrequencyHz()F"/>
+		<method name="getCarrierPhase()D" deprecated="28"/>
+		<method name="getCarrierPhaseUncertainty()D" deprecated="28"/>
+		<method name="getCn0DbHz()D"/>
+		<method name="getCodeType()Ljava/lang/String;" since="29"/>
+		<method name="getConstellationType()I"/>
+		<method name="getFullInterSignalBiasNanos()D" since="30"/>
+		<method name="getFullInterSignalBiasUncertaintyNanos()D" since="30"/>
+		<method name="getMultipathIndicator()I"/>
+		<method name="getPseudorangeRateMetersPerSecond()D"/>
+		<method name="getPseudorangeRateUncertaintyMetersPerSecond()D"/>
+		<method name="getReceivedSvTimeNanos()J"/>
+		<method name="getReceivedSvTimeUncertaintyNanos()J"/>
+		<method name="getSatelliteInterSignalBiasNanos()D" since="30"/>
+		<method name="getSatelliteInterSignalBiasUncertaintyNanos()D" since="30"/>
+		<method name="getSnrInDb()D"/>
+		<method name="getState()I"/>
+		<method name="getSvid()I"/>
+		<method name="getTimeOffsetNanos()D"/>
+		<method name="hasAutomaticGainControlLevelDb()Z" since="26"/>
+		<method name="hasBasebandCn0DbHz()Z" since="30"/>
+		<method name="hasCarrierCycles()Z" deprecated="28"/>
+		<method name="hasCarrierFrequencyHz()Z"/>
+		<method name="hasCarrierPhase()Z" deprecated="28"/>
+		<method name="hasCarrierPhaseUncertainty()Z" deprecated="28"/>
+		<method name="hasCodeType()Z" since="29"/>
+		<method name="hasFullInterSignalBiasNanos()Z" since="30"/>
+		<method name="hasFullInterSignalBiasUncertaintyNanos()Z" since="30"/>
+		<method name="hasSatelliteInterSignalBiasNanos()Z" since="30"/>
+		<method name="hasSatelliteInterSignalBiasUncertaintyNanos()Z" since="30"/>
+		<method name="hasSnrInDb()Z"/>
+		<field name="ADR_STATE_CYCLE_SLIP"/>
+		<field name="ADR_STATE_HALF_CYCLE_REPORTED" since="28"/>
+		<field name="ADR_STATE_HALF_CYCLE_RESOLVED" since="28"/>
+		<field name="ADR_STATE_RESET"/>
+		<field name="ADR_STATE_UNKNOWN"/>
+		<field name="ADR_STATE_VALID"/>
+		<field name="CREATOR"/>
+		<field name="MULTIPATH_INDICATOR_DETECTED"/>
+		<field name="MULTIPATH_INDICATOR_NOT_DETECTED"/>
+		<field name="MULTIPATH_INDICATOR_UNKNOWN"/>
+		<field name="STATE_2ND_CODE_LOCK" since="29"/>
+		<field name="STATE_BDS_D2_BIT_SYNC"/>
+		<field name="STATE_BDS_D2_SUBFRAME_SYNC"/>
+		<field name="STATE_BIT_SYNC"/>
+		<field name="STATE_CODE_LOCK"/>
+		<field name="STATE_GAL_E1BC_CODE_LOCK"/>
+		<field name="STATE_GAL_E1B_PAGE_SYNC"/>
+		<field name="STATE_GAL_E1C_2ND_CODE_LOCK"/>
+		<field name="STATE_GLO_STRING_SYNC"/>
+		<field name="STATE_GLO_TOD_DECODED"/>
+		<field name="STATE_GLO_TOD_KNOWN" since="26"/>
+		<field name="STATE_MSEC_AMBIGUOUS"/>
+		<field name="STATE_SBAS_SYNC"/>
+		<field name="STATE_SUBFRAME_SYNC"/>
+		<field name="STATE_SYMBOL_SYNC"/>
+		<field name="STATE_TOW_DECODED"/>
+		<field name="STATE_TOW_KNOWN" since="26"/>
+		<field name="STATE_UNKNOWN"/>
+	</class>
+	<class name="android/location/GnssMeasurementRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="isFullTracking()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/location/GnssMeasurementRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/location/GnssMeasurementRequest;)V"/>
+		<method name="build()Landroid/location/GnssMeasurementRequest;"/>
+		<method name="setFullTracking(Z)Landroid/location/GnssMeasurementRequest$Builder;"/>
+	</class>
+	<class name="android/location/GnssMeasurementsEvent" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getClock()Landroid/location/GnssClock;"/>
+		<method name="getMeasurements()Ljava/util/Collection;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/location/GnssMeasurementsEvent$Callback" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onGnssMeasurementsReceived(Landroid/location/GnssMeasurementsEvent;)V"/>
+		<method name="onStatusChanged(I)V" deprecated="31"/>
+		<field name="STATUS_LOCATION_DISABLED" deprecated="31"/>
+		<field name="STATUS_NOT_ALLOWED" since="28" deprecated="31"/>
+		<field name="STATUS_NOT_SUPPORTED" deprecated="31"/>
+		<field name="STATUS_READY" deprecated="31"/>
+	</class>
+	<class name="android/location/GnssNavigationMessage" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getData()[B"/>
+		<method name="getMessageId()I"/>
+		<method name="getStatus()I"/>
+		<method name="getSubmessageId()I"/>
+		<method name="getSvid()I"/>
+		<method name="getType()I"/>
+		<field name="CREATOR"/>
+		<field name="STATUS_PARITY_PASSED"/>
+		<field name="STATUS_PARITY_REBUILT"/>
+		<field name="STATUS_UNKNOWN"/>
+		<field name="TYPE_BDS_CNAV1" since="30"/>
+		<field name="TYPE_BDS_CNAV2" since="30"/>
+		<field name="TYPE_BDS_D1"/>
+		<field name="TYPE_BDS_D2"/>
+		<field name="TYPE_GAL_F"/>
+		<field name="TYPE_GAL_I"/>
+		<field name="TYPE_GLO_L1CA"/>
+		<field name="TYPE_GPS_CNAV2"/>
+		<field name="TYPE_GPS_L1CA"/>
+		<field name="TYPE_GPS_L2CNAV"/>
+		<field name="TYPE_GPS_L5CNAV"/>
+		<field name="TYPE_IRN_L5CA" since="30"/>
+		<field name="TYPE_QZS_L1CA" since="30"/>
+		<field name="TYPE_SBS" since="30"/>
+		<field name="TYPE_UNKNOWN"/>
+	</class>
+	<class name="android/location/GnssNavigationMessage$Callback" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onGnssNavigationMessageReceived(Landroid/location/GnssNavigationMessage;)V"/>
+		<method name="onStatusChanged(I)V" deprecated="31"/>
+		<field name="STATUS_LOCATION_DISABLED" deprecated="31"/>
+		<field name="STATUS_NOT_SUPPORTED" deprecated="31"/>
+		<field name="STATUS_READY" deprecated="31"/>
+	</class>
+	<class name="android/location/GnssStatus" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="31"/>
+		<method name="getAzimuthDegrees(I)F"/>
+		<method name="getBasebandCn0DbHz(I)F" since="30"/>
+		<method name="getCarrierFrequencyHz(I)F" since="26"/>
+		<method name="getCn0DbHz(I)F"/>
+		<method name="getConstellationType(I)I"/>
+		<method name="getElevationDegrees(I)F"/>
+		<method name="getSatelliteCount()I"/>
+		<method name="getSvid(I)I"/>
+		<method name="hasAlmanacData(I)Z"/>
+		<method name="hasBasebandCn0DbHz(I)Z" since="30"/>
+		<method name="hasCarrierFrequencyHz(I)Z" since="26"/>
+		<method name="hasEphemerisData(I)Z"/>
+		<method name="usedInFix(I)Z"/>
+		<field name="CONSTELLATION_BEIDOU"/>
+		<field name="CONSTELLATION_GALILEO"/>
+		<field name="CONSTELLATION_GLONASS"/>
+		<field name="CONSTELLATION_GPS"/>
+		<field name="CONSTELLATION_IRNSS" since="29"/>
+		<field name="CONSTELLATION_QZSS"/>
+		<field name="CONSTELLATION_SBAS"/>
+		<field name="CONSTELLATION_UNKNOWN"/>
+		<field name="CREATOR" since="31"/>
+	</class>
+	<class name="android/location/GnssStatus$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addSatellite(IIFFFZZZZFZF)Landroid/location/GnssStatus$Builder;"/>
+		<method name="build()Landroid/location/GnssStatus;"/>
+		<method name="clearSatellites()Landroid/location/GnssStatus$Builder;"/>
+	</class>
+	<class name="android/location/GnssStatus$Callback" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onFirstFix(I)V"/>
+		<method name="onSatelliteStatusChanged(Landroid/location/GnssStatus;)V"/>
+		<method name="onStarted()V"/>
+		<method name="onStopped()V"/>
+	</class>
+	<class name="android/location/GpsSatellite" since="3" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<method name="getAzimuth()F" deprecated="29"/>
+		<method name="getElevation()F" deprecated="29"/>
+		<method name="getPrn()I" deprecated="29"/>
+		<method name="getSnr()F" deprecated="29"/>
+		<method name="hasAlmanac()Z" deprecated="29"/>
+		<method name="hasEphemeris()Z" deprecated="29"/>
+		<method name="usedInFix()Z" deprecated="29"/>
+	</class>
+	<class name="android/location/GpsStatus" since="3" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<method name="create(Landroid/location/GnssStatus;I)Landroid/location/GpsStatus;" since="30" deprecated="30"/>
+		<method name="getMaxSatellites()I" deprecated="29"/>
+		<method name="getSatellites()Ljava/lang/Iterable;" deprecated="29"/>
+		<method name="getTimeToFirstFix()I" deprecated="29"/>
+		<field name="GPS_EVENT_FIRST_FIX" deprecated="29"/>
+		<field name="GPS_EVENT_SATELLITE_STATUS" deprecated="29"/>
+		<field name="GPS_EVENT_STARTED" deprecated="29"/>
+		<field name="GPS_EVENT_STOPPED" deprecated="29"/>
+	</class>
+	<class name="android/location/GpsStatus$Listener" since="3" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<method name="onGpsStatusChanged(I)V" deprecated="29"/>
+	</class>
+	<class name="android/location/GpsStatus$NmeaListener" since="5" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<method name="onNmeaReceived(JLjava/lang/String;)V" deprecated="29"/>
+	</class>
+	<class name="android/location/Location" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/location/Location;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="bearingTo(Landroid/location/Location;)F"/>
+		<method name="convert(DI)Ljava/lang/String;"/>
+		<method name="convert(Ljava/lang/String;)D"/>
+		<method name="distanceBetween(DDDD[F)V"/>
+		<method name="distanceTo(Landroid/location/Location;)F"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V" since="3"/>
+		<method name="getAccuracy()F"/>
+		<method name="getAltitude()D"/>
+		<method name="getBearing()F"/>
+		<method name="getBearingAccuracyDegrees()F" since="26"/>
+		<method name="getElapsedRealtimeNanos()J" since="17"/>
+		<method name="getElapsedRealtimeUncertaintyNanos()D" since="29"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getLatitude()D"/>
+		<method name="getLongitude()D"/>
+		<method name="getProvider()Ljava/lang/String;"/>
+		<method name="getSpeed()F"/>
+		<method name="getSpeedAccuracyMetersPerSecond()F" since="26"/>
+		<method name="getTime()J"/>
+		<method name="getVerticalAccuracyMeters()F" since="26"/>
+		<method name="hasAccuracy()Z"/>
+		<method name="hasAltitude()Z"/>
+		<method name="hasBearing()Z"/>
+		<method name="hasBearingAccuracy()Z" since="26"/>
+		<method name="hasElapsedRealtimeUncertaintyNanos()Z" since="29"/>
+		<method name="hasSpeed()Z"/>
+		<method name="hasSpeedAccuracy()Z" since="26"/>
+		<method name="hasVerticalAccuracy()Z" since="26"/>
+		<method name="isFromMockProvider()Z" since="18" deprecated="31"/>
+		<method name="isMock()Z" since="31"/>
+		<method name="removeAccuracy()V" deprecated="26"/>
+		<method name="removeAltitude()V" deprecated="26"/>
+		<method name="removeBearing()V" deprecated="26"/>
+		<method name="removeSpeed()V" deprecated="26"/>
+		<method name="reset()V"/>
+		<method name="set(Landroid/location/Location;)V"/>
+		<method name="setAccuracy(F)V"/>
+		<method name="setAltitude(D)V"/>
+		<method name="setBearing(F)V"/>
+		<method name="setBearingAccuracyDegrees(F)V" since="26"/>
+		<method name="setElapsedRealtimeNanos(J)V" since="17"/>
+		<method name="setElapsedRealtimeUncertaintyNanos(D)V" since="29"/>
+		<method name="setExtras(Landroid/os/Bundle;)V"/>
+		<method name="setLatitude(D)V"/>
+		<method name="setLongitude(D)V"/>
+		<method name="setMock(Z)V" since="31"/>
+		<method name="setProvider(Ljava/lang/String;)V"/>
+		<method name="setSpeed(F)V"/>
+		<method name="setSpeedAccuracyMetersPerSecond(F)V" since="26"/>
+		<method name="setTime(J)V"/>
+		<method name="setVerticalAccuracyMeters(F)V" since="26"/>
+		<field name="CREATOR"/>
+		<field name="FORMAT_DEGREES"/>
+		<field name="FORMAT_MINUTES"/>
+		<field name="FORMAT_SECONDS"/>
+	</class>
+	<class name="android/location/LocationListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onFlushComplete(I)V" since="31"/>
+		<method name="onLocationChanged(Landroid/location/Location;)V"/>
+		<method name="onLocationChanged(Ljava/util/List;)V" since="31"/>
+		<method name="onProviderDisabled(Ljava/lang/String;)V"/>
+		<method name="onProviderEnabled(Ljava/lang/String;)V"/>
+		<method name="onStatusChanged(Ljava/lang/String;ILandroid/os/Bundle;)V" deprecated="29"/>
+	</class>
+	<class name="android/location/LocationManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addGpsStatusListener(Landroid/location/GpsStatus$Listener;)Z" since="3" deprecated="24"/>
+		<method name="addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z" since="5" deprecated="24"/>
+		<method name="addNmeaListener(Landroid/location/OnNmeaMessageListener;)Z" since="24" deprecated="30"/>
+		<method name="addNmeaListener(Landroid/location/OnNmeaMessageListener;Landroid/os/Handler;)Z" since="24"/>
+		<method name="addNmeaListener(Ljava/util/concurrent/Executor;Landroid/location/OnNmeaMessageListener;)Z" since="30"/>
+		<method name="addProximityAlert(DDFJLandroid/app/PendingIntent;)V"/>
+		<method name="addTestProvider(Ljava/lang/String;Landroid/location/provider/ProviderProperties;)V" since="31"/>
+		<method name="addTestProvider(Ljava/lang/String;Landroid/location/provider/ProviderProperties;Ljava/util/Set;)V" since="31"/>
+		<method name="addTestProvider(Ljava/lang/String;ZZZZZZZII)V" since="3"/>
+		<method name="clearTestProviderEnabled(Ljava/lang/String;)V" since="3" deprecated="29"/>
+		<method name="clearTestProviderLocation(Ljava/lang/String;)V" since="3" deprecated="29"/>
+		<method name="clearTestProviderStatus(Ljava/lang/String;)V" since="3" deprecated="29"/>
+		<method name="getAllProviders()Ljava/util/List;"/>
+		<method name="getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;"/>
+		<method name="getCurrentLocation(Ljava/lang/String;Landroid/location/LocationRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31"/>
+		<method name="getCurrentLocation(Ljava/lang/String;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="30"/>
+		<method name="getGnssAntennaInfos()Ljava/util/List;" since="31"/>
+		<method name="getGnssCapabilities()Landroid/location/GnssCapabilities;" since="30"/>
+		<method name="getGnssHardwareModelName()Ljava/lang/String;" since="28"/>
+		<method name="getGnssYearOfHardware()I" since="28"/>
+		<method name="getGpsStatus(Landroid/location/GpsStatus;)Landroid/location/GpsStatus;" since="3" deprecated="24"/>
+		<method name="getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;"/>
+		<method name="getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;" deprecated="31"/>
+		<method name="getProviderProperties(Ljava/lang/String;)Landroid/location/provider/ProviderProperties;" since="31"/>
+		<method name="getProviders(Landroid/location/Criteria;Z)Ljava/util/List;"/>
+		<method name="getProviders(Z)Ljava/util/List;"/>
+		<method name="hasProvider(Ljava/lang/String;)Z" since="31"/>
+		<method name="isLocationEnabled()Z" since="28"/>
+		<method name="isProviderEnabled(Ljava/lang/String;)Z"/>
+		<method name="registerAntennaInfoListener(Ljava/util/concurrent/Executor;Landroid/location/GnssAntennaInfo$Listener;)Z" since="30"/>
+		<method name="registerGnssMeasurementsCallback(Landroid/location/GnssMeasurementRequest;Ljava/util/concurrent/Executor;Landroid/location/GnssMeasurementsEvent$Callback;)Z" since="31"/>
+		<method name="registerGnssMeasurementsCallback(Landroid/location/GnssMeasurementsEvent$Callback;)Z" since="24" deprecated="30"/>
+		<method name="registerGnssMeasurementsCallback(Landroid/location/GnssMeasurementsEvent$Callback;Landroid/os/Handler;)Z" since="24"/>
+		<method name="registerGnssMeasurementsCallback(Ljava/util/concurrent/Executor;Landroid/location/GnssMeasurementsEvent$Callback;)Z" since="30"/>
+		<method name="registerGnssNavigationMessageCallback(Landroid/location/GnssNavigationMessage$Callback;)Z" since="24" deprecated="30"/>
+		<method name="registerGnssNavigationMessageCallback(Landroid/location/GnssNavigationMessage$Callback;Landroid/os/Handler;)Z" since="24"/>
+		<method name="registerGnssNavigationMessageCallback(Ljava/util/concurrent/Executor;Landroid/location/GnssNavigationMessage$Callback;)Z" since="30"/>
+		<method name="registerGnssStatusCallback(Landroid/location/GnssStatus$Callback;)Z" since="24" deprecated="30"/>
+		<method name="registerGnssStatusCallback(Landroid/location/GnssStatus$Callback;Landroid/os/Handler;)Z" since="24"/>
+		<method name="registerGnssStatusCallback(Ljava/util/concurrent/Executor;Landroid/location/GnssStatus$Callback;)Z" since="30"/>
+		<method name="removeGpsStatusListener(Landroid/location/GpsStatus$Listener;)V" since="3" deprecated="24"/>
+		<method name="removeNmeaListener(Landroid/location/GpsStatus$NmeaListener;)V" since="5" deprecated="24"/>
+		<method name="removeNmeaListener(Landroid/location/OnNmeaMessageListener;)V" since="24"/>
+		<method name="removeProximityAlert(Landroid/app/PendingIntent;)V"/>
+		<method name="removeTestProvider(Ljava/lang/String;)V" since="3"/>
+		<method name="removeUpdates(Landroid/app/PendingIntent;)V" since="3"/>
+		<method name="removeUpdates(Landroid/location/LocationListener;)V"/>
+		<method name="requestFlush(Ljava/lang/String;Landroid/app/PendingIntent;I)V" since="31"/>
+		<method name="requestFlush(Ljava/lang/String;Landroid/location/LocationListener;I)V" since="31"/>
+		<method name="requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V" since="9" deprecated="31"/>
+		<method name="requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V" since="9" deprecated="31"/>
+		<method name="requestLocationUpdates(JFLandroid/location/Criteria;Ljava/util/concurrent/Executor;Landroid/location/LocationListener;)V" since="30" deprecated="31"/>
+		<method name="requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V" since="3"/>
+		<method name="requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V"/>
+		<method name="requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V"/>
+		<method name="requestLocationUpdates(Ljava/lang/String;JFLjava/util/concurrent/Executor;Landroid/location/LocationListener;)V" since="30"/>
+		<method name="requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationRequest;Landroid/app/PendingIntent;)V" since="31"/>
+		<method name="requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationRequest;Ljava/util/concurrent/Executor;Landroid/location/LocationListener;)V" since="31"/>
+		<method name="requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V" since="9" deprecated="30"/>
+		<method name="requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V" since="9" deprecated="30"/>
+		<method name="requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V" since="9" deprecated="30"/>
+		<method name="requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V" since="9" deprecated="30"/>
+		<method name="sendExtraCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Z" since="3"/>
+		<method name="setTestProviderEnabled(Ljava/lang/String;Z)V" since="3"/>
+		<method name="setTestProviderLocation(Ljava/lang/String;Landroid/location/Location;)V" since="3"/>
+		<method name="setTestProviderStatus(Ljava/lang/String;ILandroid/os/Bundle;J)V" since="3" deprecated="29"/>
+		<method name="unregisterAntennaInfoListener(Landroid/location/GnssAntennaInfo$Listener;)V" since="30"/>
+		<method name="unregisterGnssMeasurementsCallback(Landroid/location/GnssMeasurementsEvent$Callback;)V" since="24"/>
+		<method name="unregisterGnssNavigationMessageCallback(Landroid/location/GnssNavigationMessage$Callback;)V" since="24"/>
+		<method name="unregisterGnssStatusCallback(Landroid/location/GnssStatus$Callback;)V" since="24"/>
+		<field name="ACTION_GNSS_CAPABILITIES_CHANGED" since="31"/>
+		<field name="EXTRA_GNSS_CAPABILITIES" since="31"/>
+		<field name="EXTRA_LOCATION_ENABLED" since="30"/>
+		<field name="EXTRA_PROVIDER_ENABLED" since="30"/>
+		<field name="EXTRA_PROVIDER_NAME" since="29"/>
+		<field name="FUSED_PROVIDER" since="31"/>
+		<field name="GPS_PROVIDER"/>
+		<field name="KEY_FLUSH_COMPLETE" since="31"/>
+		<field name="KEY_LOCATIONS" since="31"/>
+		<field name="KEY_LOCATION_CHANGED" since="3"/>
+		<field name="KEY_PROVIDER_ENABLED" since="3"/>
+		<field name="KEY_PROXIMITY_ENTERING"/>
+		<field name="KEY_STATUS_CHANGED" since="3" deprecated="29"/>
+		<field name="MODE_CHANGED_ACTION" since="19"/>
+		<field name="NETWORK_PROVIDER"/>
+		<field name="PASSIVE_PROVIDER" since="8"/>
+		<field name="PROVIDERS_CHANGED_ACTION" since="9"/>
+	</class>
+	<class name="android/location/LocationProvider" since="1" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="getAccuracy()I" deprecated="31"/>
+		<method name="getName()Ljava/lang/String;" deprecated="31"/>
+		<method name="getPowerRequirement()I" deprecated="31"/>
+		<method name="hasMonetaryCost()Z" deprecated="31"/>
+		<method name="meetsCriteria(Landroid/location/Criteria;)Z" deprecated="31"/>
+		<method name="requiresCell()Z" deprecated="31"/>
+		<method name="requiresNetwork()Z" deprecated="31"/>
+		<method name="requiresSatellite()Z" deprecated="31"/>
+		<method name="supportsAltitude()Z" deprecated="31"/>
+		<method name="supportsBearing()Z" deprecated="31"/>
+		<method name="supportsSpeed()Z" deprecated="31"/>
+		<field name="AVAILABLE" deprecated="29"/>
+		<field name="OUT_OF_SERVICE" deprecated="29"/>
+		<field name="TEMPORARILY_UNAVAILABLE" deprecated="29"/>
+	</class>
+	<class name="android/location/LocationRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDurationMillis()J"/>
+		<method name="getIntervalMillis()J"/>
+		<method name="getMaxUpdateDelayMillis()J"/>
+		<method name="getMaxUpdates()I"/>
+		<method name="getMinUpdateDistanceMeters()F"/>
+		<method name="getMinUpdateIntervalMillis()J"/>
+		<method name="getQuality()I"/>
+		<field name="CREATOR"/>
+		<field name="PASSIVE_INTERVAL"/>
+		<field name="QUALITY_BALANCED_POWER_ACCURACY"/>
+		<field name="QUALITY_HIGH_ACCURACY"/>
+		<field name="QUALITY_LOW_POWER"/>
+	</class>
+	<class name="android/location/LocationRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="&lt;init>(Landroid/location/LocationRequest;)V"/>
+		<method name="build()Landroid/location/LocationRequest;"/>
+		<method name="clearMinUpdateIntervalMillis()Landroid/location/LocationRequest$Builder;"/>
+		<method name="setDurationMillis(J)Landroid/location/LocationRequest$Builder;"/>
+		<method name="setIntervalMillis(J)Landroid/location/LocationRequest$Builder;"/>
+		<method name="setMaxUpdateDelayMillis(J)Landroid/location/LocationRequest$Builder;"/>
+		<method name="setMaxUpdates(I)Landroid/location/LocationRequest$Builder;"/>
+		<method name="setMinUpdateDistanceMeters(F)Landroid/location/LocationRequest$Builder;"/>
+		<method name="setMinUpdateIntervalMillis(J)Landroid/location/LocationRequest$Builder;"/>
+		<method name="setQuality(I)Landroid/location/LocationRequest$Builder;"/>
+	</class>
+	<class name="android/location/OnNmeaMessageListener" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onNmeaMessage(Ljava/lang/String;J)V"/>
+	</class>
+	<class name="android/location/SettingInjectorService" since="19">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="onGetEnabled()Z"/>
+		<method name="onGetSummary()Ljava/lang/String;" deprecated="21"/>
+		<method name="refreshSettings(Landroid/content/Context;)V" since="29"/>
+		<field name="ACTION_INJECTED_SETTING_CHANGED"/>
+		<field name="ACTION_SERVICE_INTENT"/>
+		<field name="ATTRIBUTES_NAME"/>
+		<field name="META_DATA_NAME"/>
+	</class>
+	<class name="android/location/provider/ProviderProperties" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAccuracy()I"/>
+		<method name="getPowerUsage()I"/>
+		<method name="hasAltitudeSupport()Z"/>
+		<method name="hasBearingSupport()Z"/>
+		<method name="hasCellRequirement()Z"/>
+		<method name="hasMonetaryCost()Z"/>
+		<method name="hasNetworkRequirement()Z"/>
+		<method name="hasSatelliteRequirement()Z"/>
+		<method name="hasSpeedSupport()Z"/>
+		<field name="ACCURACY_COARSE"/>
+		<field name="ACCURACY_FINE"/>
+		<field name="CREATOR"/>
+		<field name="POWER_USAGE_HIGH"/>
+		<field name="POWER_USAGE_LOW"/>
+		<field name="POWER_USAGE_MEDIUM"/>
+	</class>
+	<class name="android/location/provider/ProviderProperties$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/location/provider/ProviderProperties;)V"/>
+		<method name="build()Landroid/location/provider/ProviderProperties;"/>
+		<method name="setAccuracy(I)Landroid/location/provider/ProviderProperties$Builder;"/>
+		<method name="setHasAltitudeSupport(Z)Landroid/location/provider/ProviderProperties$Builder;"/>
+		<method name="setHasBearingSupport(Z)Landroid/location/provider/ProviderProperties$Builder;"/>
+		<method name="setHasCellRequirement(Z)Landroid/location/provider/ProviderProperties$Builder;"/>
+		<method name="setHasMonetaryCost(Z)Landroid/location/provider/ProviderProperties$Builder;"/>
+		<method name="setHasNetworkRequirement(Z)Landroid/location/provider/ProviderProperties$Builder;"/>
+		<method name="setHasSatelliteRequirement(Z)Landroid/location/provider/ProviderProperties$Builder;"/>
+		<method name="setHasSpeedSupport(Z)Landroid/location/provider/ProviderProperties$Builder;"/>
+		<method name="setPowerUsage(I)Landroid/location/provider/ProviderProperties$Builder;"/>
+	</class>
+	<class name="android/media/ApplicationMediaCapabilities" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/media/ApplicationMediaCapabilities;"/>
+		<method name="getSupportedHdrTypes()Ljava/util/List;"/>
+		<method name="getSupportedVideoMimeTypes()Ljava/util/List;"/>
+		<method name="getUnsupportedHdrTypes()Ljava/util/List;"/>
+		<method name="getUnsupportedVideoMimeTypes()Ljava/util/List;"/>
+		<method name="isFormatSpecified(Ljava/lang/String;)Z"/>
+		<method name="isHdrTypeSupported(Ljava/lang/String;)Z"/>
+		<method name="isVideoMimeTypeSupported(Ljava/lang/String;)Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/ApplicationMediaCapabilities$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addSupportedHdrType(Ljava/lang/String;)Landroid/media/ApplicationMediaCapabilities$Builder;"/>
+		<method name="addSupportedVideoMimeType(Ljava/lang/String;)Landroid/media/ApplicationMediaCapabilities$Builder;"/>
+		<method name="addUnsupportedHdrType(Ljava/lang/String;)Landroid/media/ApplicationMediaCapabilities$Builder;"/>
+		<method name="addUnsupportedVideoMimeType(Ljava/lang/String;)Landroid/media/ApplicationMediaCapabilities$Builder;"/>
+		<method name="build()Landroid/media/ApplicationMediaCapabilities;"/>
+	</class>
+	<class name="android/media/AsyncPlayer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="play(Landroid/content/Context;Landroid/net/Uri;ZI)V" deprecated="23"/>
+		<method name="play(Landroid/content/Context;Landroid/net/Uri;ZLandroid/media/AudioAttributes;)V" since="23"/>
+		<method name="stop()V"/>
+	</class>
+	<class name="android/media/AudioAttributes" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="areHapticChannelsMuted()Z" since="29"/>
+		<method name="getAllowedCapturePolicy()I" since="29"/>
+		<method name="getContentType()I"/>
+		<method name="getFlags()I"/>
+		<method name="getSpatializationBehavior()I" since="33"/>
+		<method name="getUsage()I"/>
+		<method name="getVolumeControlStream()I" since="26"/>
+		<method name="isContentSpatialized()Z" since="33"/>
+		<field name="ALLOW_CAPTURE_BY_ALL" since="29"/>
+		<field name="ALLOW_CAPTURE_BY_NONE" since="29"/>
+		<field name="ALLOW_CAPTURE_BY_SYSTEM" since="29"/>
+		<field name="CONTENT_TYPE_MOVIE"/>
+		<field name="CONTENT_TYPE_MUSIC"/>
+		<field name="CONTENT_TYPE_SONIFICATION"/>
+		<field name="CONTENT_TYPE_SPEECH"/>
+		<field name="CONTENT_TYPE_UNKNOWN"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_AUDIBILITY_ENFORCED"/>
+		<field name="FLAG_HW_AV_SYNC"/>
+		<field name="FLAG_LOW_LATENCY" since="24" deprecated="26"/>
+		<field name="SPATIALIZATION_BEHAVIOR_AUTO" since="33"/>
+		<field name="SPATIALIZATION_BEHAVIOR_NEVER" since="33"/>
+		<field name="USAGE_ALARM"/>
+		<field name="USAGE_ASSISTANCE_ACCESSIBILITY"/>
+		<field name="USAGE_ASSISTANCE_NAVIGATION_GUIDANCE"/>
+		<field name="USAGE_ASSISTANCE_SONIFICATION"/>
+		<field name="USAGE_ASSISTANT" since="26"/>
+		<field name="USAGE_GAME"/>
+		<field name="USAGE_MEDIA"/>
+		<field name="USAGE_NOTIFICATION"/>
+		<field name="USAGE_NOTIFICATION_COMMUNICATION_DELAYED"/>
+		<field name="USAGE_NOTIFICATION_COMMUNICATION_INSTANT"/>
+		<field name="USAGE_NOTIFICATION_COMMUNICATION_REQUEST"/>
+		<field name="USAGE_NOTIFICATION_EVENT"/>
+		<field name="USAGE_NOTIFICATION_RINGTONE"/>
+		<field name="USAGE_UNKNOWN"/>
+		<field name="USAGE_VOICE_COMMUNICATION"/>
+		<field name="USAGE_VOICE_COMMUNICATION_SIGNALLING"/>
+	</class>
+	<class name="android/media/AudioAttributes$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/media/AudioAttributes;)V"/>
+		<method name="build()Landroid/media/AudioAttributes;"/>
+		<method name="setAllowedCapturePolicy(I)Landroid/media/AudioAttributes$Builder;" since="29"/>
+		<method name="setContentType(I)Landroid/media/AudioAttributes$Builder;"/>
+		<method name="setFlags(I)Landroid/media/AudioAttributes$Builder;"/>
+		<method name="setHapticChannelsMuted(Z)Landroid/media/AudioAttributes$Builder;" since="29"/>
+		<method name="setIsContentSpatialized(Z)Landroid/media/AudioAttributes$Builder;" since="33"/>
+		<method name="setLegacyStreamType(I)Landroid/media/AudioAttributes$Builder;"/>
+		<method name="setSpatializationBehavior(I)Landroid/media/AudioAttributes$Builder;" since="33"/>
+		<method name="setUsage(I)Landroid/media/AudioAttributes$Builder;"/>
+	</class>
+	<class name="android/media/AudioDescriptor" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getDescriptor()[B"/>
+		<method name="getEncapsulationType()I"/>
+		<method name="getStandard()I"/>
+		<field name="STANDARD_EDID"/>
+		<field name="STANDARD_NONE"/>
+	</class>
+	<class name="android/media/AudioDeviceCallback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAudioDevicesAdded([Landroid/media/AudioDeviceInfo;)V"/>
+		<method name="onAudioDevicesRemoved([Landroid/media/AudioDeviceInfo;)V"/>
+	</class>
+	<class name="android/media/AudioDeviceInfo" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getAddress()Ljava/lang/String;" since="28"/>
+		<method name="getAudioDescriptors()Ljava/util/List;" since="31"/>
+		<method name="getAudioProfiles()Ljava/util/List;" since="31"/>
+		<method name="getChannelCounts()[I"/>
+		<method name="getChannelIndexMasks()[I"/>
+		<method name="getChannelMasks()[I"/>
+		<method name="getEncapsulationMetadataTypes()[I" since="30"/>
+		<method name="getEncapsulationModes()[I" since="30"/>
+		<method name="getEncodings()[I"/>
+		<method name="getId()I"/>
+		<method name="getProductName()Ljava/lang/CharSequence;"/>
+		<method name="getSampleRates()[I"/>
+		<method name="getType()I"/>
+		<method name="isSink()Z"/>
+		<method name="isSource()Z"/>
+		<field name="TYPE_AUX_LINE"/>
+		<field name="TYPE_BLE_HEADSET" since="31"/>
+		<field name="TYPE_BLE_SPEAKER" since="31"/>
+		<field name="TYPE_BLUETOOTH_A2DP"/>
+		<field name="TYPE_BLUETOOTH_SCO"/>
+		<field name="TYPE_BUILTIN_EARPIECE"/>
+		<field name="TYPE_BUILTIN_MIC"/>
+		<field name="TYPE_BUILTIN_SPEAKER"/>
+		<field name="TYPE_BUILTIN_SPEAKER_SAFE" since="30"/>
+		<field name="TYPE_BUS" since="24"/>
+		<field name="TYPE_DOCK"/>
+		<field name="TYPE_FM"/>
+		<field name="TYPE_FM_TUNER"/>
+		<field name="TYPE_HDMI"/>
+		<field name="TYPE_HDMI_ARC"/>
+		<field name="TYPE_HDMI_EARC" since="31"/>
+		<field name="TYPE_HEARING_AID" since="28"/>
+		<field name="TYPE_IP"/>
+		<field name="TYPE_LINE_ANALOG"/>
+		<field name="TYPE_LINE_DIGITAL"/>
+		<field name="TYPE_REMOTE_SUBMIX" since="31"/>
+		<field name="TYPE_TELEPHONY"/>
+		<field name="TYPE_TV_TUNER"/>
+		<field name="TYPE_UNKNOWN"/>
+		<field name="TYPE_USB_ACCESSORY"/>
+		<field name="TYPE_USB_DEVICE"/>
+		<field name="TYPE_USB_HEADSET" since="26"/>
+		<field name="TYPE_WIRED_HEADPHONES"/>
+		<field name="TYPE_WIRED_HEADSET"/>
+	</class>
+	<class name="android/media/AudioFocusRequest" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="acceptsDelayedFocusGain()Z"/>
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;"/>
+		<method name="getFocusGain()I"/>
+		<method name="willPauseWhenDucked()Z"/>
+	</class>
+	<class name="android/media/AudioFocusRequest$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/media/AudioFocusRequest;)V"/>
+		<method name="build()Landroid/media/AudioFocusRequest;"/>
+		<method name="setAcceptsDelayedFocusGain(Z)Landroid/media/AudioFocusRequest$Builder;"/>
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)Landroid/media/AudioFocusRequest$Builder;"/>
+		<method name="setFocusGain(I)Landroid/media/AudioFocusRequest$Builder;"/>
+		<method name="setForceDucking(Z)Landroid/media/AudioFocusRequest$Builder;" since="28"/>
+		<method name="setOnAudioFocusChangeListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;)Landroid/media/AudioFocusRequest$Builder;"/>
+		<method name="setOnAudioFocusChangeListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/os/Handler;)Landroid/media/AudioFocusRequest$Builder;"/>
+		<method name="setWillPauseWhenDucked(Z)Landroid/media/AudioFocusRequest$Builder;"/>
+	</class>
+	<class name="android/media/AudioFormat" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="24"/>
+		<method name="&lt;init>()V" removed="21"/>
+		<method name="getChannelCount()I" since="23"/>
+		<method name="getChannelIndexMask()I" since="23"/>
+		<method name="getChannelMask()I" since="21"/>
+		<method name="getEncoding()I" since="21"/>
+		<method name="getFrameSizeInBytes()I" since="29"/>
+		<method name="getSampleRate()I" since="21"/>
+		<field name="CHANNEL_CONFIGURATION_DEFAULT" deprecated="15"/>
+		<field name="CHANNEL_CONFIGURATION_INVALID" deprecated="15"/>
+		<field name="CHANNEL_CONFIGURATION_MONO" deprecated="15"/>
+		<field name="CHANNEL_CONFIGURATION_STEREO" deprecated="15"/>
+		<field name="CHANNEL_INVALID" since="5"/>
+		<field name="CHANNEL_IN_BACK" since="5"/>
+		<field name="CHANNEL_IN_BACK_PROCESSED" since="5"/>
+		<field name="CHANNEL_IN_DEFAULT" since="5"/>
+		<field name="CHANNEL_IN_FRONT" since="5"/>
+		<field name="CHANNEL_IN_FRONT_PROCESSED" since="5"/>
+		<field name="CHANNEL_IN_LEFT" since="5"/>
+		<field name="CHANNEL_IN_LEFT_PROCESSED" since="5"/>
+		<field name="CHANNEL_IN_MONO" since="5"/>
+		<field name="CHANNEL_IN_PRESSURE" since="5"/>
+		<field name="CHANNEL_IN_RIGHT" since="5"/>
+		<field name="CHANNEL_IN_RIGHT_PROCESSED" since="5"/>
+		<field name="CHANNEL_IN_STEREO" since="5"/>
+		<field name="CHANNEL_IN_VOICE_DNLINK" since="5"/>
+		<field name="CHANNEL_IN_VOICE_UPLINK" since="5"/>
+		<field name="CHANNEL_IN_X_AXIS" since="5"/>
+		<field name="CHANNEL_IN_Y_AXIS" since="5"/>
+		<field name="CHANNEL_IN_Z_AXIS" since="5"/>
+		<field name="CHANNEL_OUT_5POINT1" since="5"/>
+		<field name="CHANNEL_OUT_5POINT1POINT2" since="33"/>
+		<field name="CHANNEL_OUT_5POINT1POINT4" since="33"/>
+		<field name="CHANNEL_OUT_7POINT1" since="5" deprecated="23"/>
+		<field name="CHANNEL_OUT_7POINT1POINT2" since="33"/>
+		<field name="CHANNEL_OUT_7POINT1POINT4" since="33"/>
+		<field name="CHANNEL_OUT_7POINT1_SURROUND" since="23"/>
+		<field name="CHANNEL_OUT_9POINT1POINT4" since="33"/>
+		<field name="CHANNEL_OUT_9POINT1POINT6" since="33"/>
+		<field name="CHANNEL_OUT_BACK_CENTER" since="5"/>
+		<field name="CHANNEL_OUT_BACK_LEFT" since="5"/>
+		<field name="CHANNEL_OUT_BACK_RIGHT" since="5"/>
+		<field name="CHANNEL_OUT_BOTTOM_FRONT_CENTER" since="33"/>
+		<field name="CHANNEL_OUT_BOTTOM_FRONT_LEFT" since="33"/>
+		<field name="CHANNEL_OUT_BOTTOM_FRONT_RIGHT" since="33"/>
+		<field name="CHANNEL_OUT_DEFAULT" since="5"/>
+		<field name="CHANNEL_OUT_FRONT_CENTER" since="5"/>
+		<field name="CHANNEL_OUT_FRONT_LEFT" since="5"/>
+		<field name="CHANNEL_OUT_FRONT_LEFT_OF_CENTER" since="5"/>
+		<field name="CHANNEL_OUT_FRONT_RIGHT" since="5"/>
+		<field name="CHANNEL_OUT_FRONT_RIGHT_OF_CENTER" since="5"/>
+		<field name="CHANNEL_OUT_FRONT_WIDE_LEFT" since="33"/>
+		<field name="CHANNEL_OUT_FRONT_WIDE_RIGHT" since="33"/>
+		<field name="CHANNEL_OUT_LOW_FREQUENCY" since="5"/>
+		<field name="CHANNEL_OUT_LOW_FREQUENCY_2" since="33"/>
+		<field name="CHANNEL_OUT_MONO" since="5"/>
+		<field name="CHANNEL_OUT_QUAD" since="5"/>
+		<field name="CHANNEL_OUT_SIDE_LEFT" since="21"/>
+		<field name="CHANNEL_OUT_SIDE_RIGHT" since="21"/>
+		<field name="CHANNEL_OUT_STEREO" since="5"/>
+		<field name="CHANNEL_OUT_SURROUND" since="5"/>
+		<field name="CHANNEL_OUT_TOP_BACK_CENTER" since="33"/>
+		<field name="CHANNEL_OUT_TOP_BACK_LEFT" since="33"/>
+		<field name="CHANNEL_OUT_TOP_BACK_RIGHT" since="33"/>
+		<field name="CHANNEL_OUT_TOP_CENTER" since="33"/>
+		<field name="CHANNEL_OUT_TOP_FRONT_CENTER" since="33"/>
+		<field name="CHANNEL_OUT_TOP_FRONT_LEFT" since="33"/>
+		<field name="CHANNEL_OUT_TOP_FRONT_RIGHT" since="33"/>
+		<field name="CHANNEL_OUT_TOP_SIDE_LEFT" since="33"/>
+		<field name="CHANNEL_OUT_TOP_SIDE_RIGHT" since="33"/>
+		<field name="CREATOR" since="24"/>
+		<field name="ENCODING_AAC_ELD" since="28"/>
+		<field name="ENCODING_AAC_HE_V1" since="28"/>
+		<field name="ENCODING_AAC_HE_V2" since="28"/>
+		<field name="ENCODING_AAC_LC" since="28"/>
+		<field name="ENCODING_AAC_XHE" since="28"/>
+		<field name="ENCODING_AC3" since="21"/>
+		<field name="ENCODING_AC4" since="28"/>
+		<field name="ENCODING_DEFAULT"/>
+		<field name="ENCODING_DOLBY_MAT" since="29"/>
+		<field name="ENCODING_DOLBY_TRUEHD" since="25"/>
+		<field name="ENCODING_DRA" since="31"/>
+		<field name="ENCODING_DTS" since="23"/>
+		<field name="ENCODING_DTS_HD" since="23"/>
+		<field name="ENCODING_DTS_UHD" since="31"/>
+		<field name="ENCODING_E_AC3" since="21"/>
+		<field name="ENCODING_E_AC3_JOC" since="28"/>
+		<field name="ENCODING_IEC61937" since="24"/>
+		<field name="ENCODING_INVALID"/>
+		<field name="ENCODING_MP3" since="28"/>
+		<field name="ENCODING_MPEGH_BL_L3" since="31"/>
+		<field name="ENCODING_MPEGH_BL_L4" since="31"/>
+		<field name="ENCODING_MPEGH_LC_L3" since="31"/>
+		<field name="ENCODING_MPEGH_LC_L4" since="31"/>
+		<field name="ENCODING_OPUS" since="30"/>
+		<field name="ENCODING_PCM_16BIT"/>
+		<field name="ENCODING_PCM_24BIT_PACKED" since="31"/>
+		<field name="ENCODING_PCM_32BIT" since="31"/>
+		<field name="ENCODING_PCM_8BIT"/>
+		<field name="ENCODING_PCM_FLOAT" since="21"/>
+		<field name="SAMPLE_RATE_UNSPECIFIED" since="24"/>
+	</class>
+	<class name="android/media/AudioFormat$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/media/AudioFormat;)V"/>
+		<method name="build()Landroid/media/AudioFormat;"/>
+		<method name="setChannelIndexMask(I)Landroid/media/AudioFormat$Builder;" since="23"/>
+		<method name="setChannelMask(I)Landroid/media/AudioFormat$Builder;"/>
+		<method name="setEncoding(I)Landroid/media/AudioFormat$Builder;"/>
+		<method name="setSampleRate(I)Landroid/media/AudioFormat$Builder;"/>
+	</class>
+	<class name="android/media/AudioManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="abandonAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;)I" since="8" deprecated="26"/>
+		<method name="abandonAudioFocusRequest(Landroid/media/AudioFocusRequest;)I" since="26"/>
+		<method name="addOnCommunicationDeviceChangedListener(Ljava/util/concurrent/Executor;Landroid/media/AudioManager$OnCommunicationDeviceChangedListener;)V" since="31"/>
+		<method name="addOnModeChangedListener(Ljava/util/concurrent/Executor;Landroid/media/AudioManager$OnModeChangedListener;)V" since="31"/>
+		<method name="adjustStreamVolume(III)V"/>
+		<method name="adjustSuggestedStreamVolume(III)V"/>
+		<method name="adjustVolume(II)V"/>
+		<method name="clearCommunicationDevice()V" since="31"/>
+		<method name="dispatchMediaKeyEvent(Landroid/view/KeyEvent;)V" since="19"/>
+		<method name="generateAudioSessionId()I" since="21"/>
+		<method name="getActivePlaybackConfigurations()Ljava/util/List;" since="26"/>
+		<method name="getActiveRecordingConfigurations()Ljava/util/List;" since="24"/>
+		<method name="getAllowedCapturePolicy()I" since="29"/>
+		<method name="getAudioHwSyncForSession(I)I" since="31"/>
+		<method name="getAvailableCommunicationDevices()Ljava/util/List;" since="31"/>
+		<method name="getCommunicationDevice()Landroid/media/AudioDeviceInfo;" since="31"/>
+		<method name="getDevices(I)[Landroid/media/AudioDeviceInfo;" since="23"/>
+		<method name="getEncodedSurroundMode()I" since="31"/>
+		<method name="getMicrophones()Ljava/util/List;" since="28"/>
+		<method name="getMode()I"/>
+		<method name="getParameters(Ljava/lang/String;)Ljava/lang/String;" since="5"/>
+		<method name="getPlaybackOffloadSupport(Landroid/media/AudioFormat;Landroid/media/AudioAttributes;)I" since="31"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/String;" since="17"/>
+		<method name="getRingerMode()I"/>
+		<method name="getRouting(I)I" deprecated="15"/>
+		<method name="getSpatializer()Landroid/media/Spatializer;" since="33"/>
+		<method name="getStreamMaxVolume(I)I"/>
+		<method name="getStreamMinVolume(I)I" since="28"/>
+		<method name="getStreamVolume(I)I"/>
+		<method name="getStreamVolumeDb(III)F" since="28"/>
+		<method name="getVibrateSetting(I)I" deprecated="16"/>
+		<method name="isBluetoothA2dpOn()Z" since="3" deprecated="26"/>
+		<method name="isBluetoothScoAvailableOffCall()Z" since="8"/>
+		<method name="isBluetoothScoOn()Z"/>
+		<method name="isCallScreeningModeSupported()Z" since="30"/>
+		<method name="isHapticPlaybackSupported()Z" since="29"/>
+		<method name="isMicrophoneMute()Z"/>
+		<method name="isMusicActive()Z"/>
+		<method name="isOffloadedPlaybackSupported(Landroid/media/AudioFormat;Landroid/media/AudioAttributes;)Z" since="29"/>
+		<method name="isSpeakerphoneOn()Z"/>
+		<method name="isStreamMute(I)Z" since="23"/>
+		<method name="isSurroundFormatEnabled(I)Z" since="31"/>
+		<method name="isVolumeFixed()Z" since="21"/>
+		<method name="isWiredHeadsetOn()Z" since="5" deprecated="15"/>
+		<method name="loadSoundEffects()V"/>
+		<method name="playSoundEffect(I)V"/>
+		<method name="playSoundEffect(IF)V" since="3"/>
+		<method name="registerAudioDeviceCallback(Landroid/media/AudioDeviceCallback;Landroid/os/Handler;)V" since="23"/>
+		<method name="registerAudioPlaybackCallback(Landroid/media/AudioManager$AudioPlaybackCallback;Landroid/os/Handler;)V" since="26"/>
+		<method name="registerAudioRecordingCallback(Landroid/media/AudioManager$AudioRecordingCallback;Landroid/os/Handler;)V" since="24"/>
+		<method name="registerMediaButtonEventReceiver(Landroid/app/PendingIntent;)V" since="18" deprecated="21"/>
+		<method name="registerMediaButtonEventReceiver(Landroid/content/ComponentName;)V" since="8" deprecated="21"/>
+		<method name="registerRemoteControlClient(Landroid/media/RemoteControlClient;)V" since="14" deprecated="21"/>
+		<method name="registerRemoteController(Landroid/media/RemoteController;)Z" since="19" deprecated="21"/>
+		<method name="removeOnCommunicationDeviceChangedListener(Landroid/media/AudioManager$OnCommunicationDeviceChangedListener;)V" since="31"/>
+		<method name="removeOnModeChangedListener(Landroid/media/AudioManager$OnModeChangedListener;)V" since="31"/>
+		<method name="requestAudioFocus(Landroid/media/AudioFocusRequest;)I" since="26"/>
+		<method name="requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;II)I" since="8" deprecated="26"/>
+		<method name="setAllowedCapturePolicy(I)V" since="29"/>
+		<method name="setBluetoothA2dpOn(Z)V" since="3" deprecated="15"/>
+		<method name="setBluetoothScoOn(Z)V"/>
+		<method name="setCommunicationDevice(Landroid/media/AudioDeviceInfo;)Z" since="31"/>
+		<method name="setEncodedSurroundMode(I)Z" since="31"/>
+		<method name="setMicrophoneMute(Z)V"/>
+		<method name="setMode(I)V"/>
+		<method name="setParameters(Ljava/lang/String;)V" since="5"/>
+		<method name="setRingerMode(I)V"/>
+		<method name="setRouting(III)V" deprecated="15"/>
+		<method name="setSpeakerphoneOn(Z)V"/>
+		<method name="setStreamMute(IZ)V" deprecated="23"/>
+		<method name="setStreamSolo(IZ)V" deprecated="23"/>
+		<method name="setStreamVolume(III)V"/>
+		<method name="setSurroundFormatEnabled(IZ)Z" since="31"/>
+		<method name="setVibrateSetting(II)V" deprecated="16"/>
+		<method name="setWiredHeadsetOn(Z)V" since="5" deprecated="15"/>
+		<method name="shouldVibrate(I)Z" deprecated="16"/>
+		<method name="startBluetoothSco()V" since="8"/>
+		<method name="stopBluetoothSco()V" since="8"/>
+		<method name="unloadSoundEffects()V"/>
+		<method name="unregisterAudioDeviceCallback(Landroid/media/AudioDeviceCallback;)V" since="23"/>
+		<method name="unregisterAudioPlaybackCallback(Landroid/media/AudioManager$AudioPlaybackCallback;)V" since="26"/>
+		<method name="unregisterAudioRecordingCallback(Landroid/media/AudioManager$AudioRecordingCallback;)V" since="24"/>
+		<method name="unregisterMediaButtonEventReceiver(Landroid/app/PendingIntent;)V" since="18" deprecated="21"/>
+		<method name="unregisterMediaButtonEventReceiver(Landroid/content/ComponentName;)V" since="8" deprecated="21"/>
+		<method name="unregisterRemoteControlClient(Landroid/media/RemoteControlClient;)V" since="14" deprecated="21"/>
+		<method name="unregisterRemoteController(Landroid/media/RemoteController;)V" since="19" deprecated="21"/>
+		<field name="ACTION_AUDIO_BECOMING_NOISY" since="3"/>
+		<field name="ACTION_HDMI_AUDIO_PLUG" since="21"/>
+		<field name="ACTION_HEADSET_PLUG" since="21"/>
+		<field name="ACTION_MICROPHONE_MUTE_CHANGED" since="28"/>
+		<field name="ACTION_SCO_AUDIO_STATE_CHANGED" since="8" deprecated="15"/>
+		<field name="ACTION_SCO_AUDIO_STATE_UPDATED" since="14"/>
+		<field name="ACTION_SPEAKERPHONE_STATE_CHANGED" since="29"/>
+		<field name="ADJUST_LOWER"/>
+		<field name="ADJUST_MUTE" since="23"/>
+		<field name="ADJUST_RAISE"/>
+		<field name="ADJUST_SAME"/>
+		<field name="ADJUST_TOGGLE_MUTE" since="23"/>
+		<field name="ADJUST_UNMUTE" since="23"/>
+		<field name="AUDIOFOCUS_GAIN" since="8"/>
+		<field name="AUDIOFOCUS_GAIN_TRANSIENT" since="8"/>
+		<field name="AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE" since="19"/>
+		<field name="AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK" since="8"/>
+		<field name="AUDIOFOCUS_LOSS" since="8"/>
+		<field name="AUDIOFOCUS_LOSS_TRANSIENT" since="8"/>
+		<field name="AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK" since="8"/>
+		<field name="AUDIOFOCUS_NONE" since="26"/>
+		<field name="AUDIOFOCUS_REQUEST_DELAYED" since="26"/>
+		<field name="AUDIOFOCUS_REQUEST_FAILED" since="8"/>
+		<field name="AUDIOFOCUS_REQUEST_GRANTED" since="8"/>
+		<field name="AUDIO_SESSION_ID_GENERATE" since="21"/>
+		<field name="ENCODED_SURROUND_OUTPUT_ALWAYS" since="31"/>
+		<field name="ENCODED_SURROUND_OUTPUT_AUTO" since="31"/>
+		<field name="ENCODED_SURROUND_OUTPUT_MANUAL" since="31"/>
+		<field name="ENCODED_SURROUND_OUTPUT_NEVER" since="31"/>
+		<field name="ENCODED_SURROUND_OUTPUT_UNKNOWN" since="31"/>
+		<field name="ERROR" since="21"/>
+		<field name="ERROR_DEAD_OBJECT" since="21"/>
+		<field name="EXTRA_AUDIO_PLUG_STATE" since="21"/>
+		<field name="EXTRA_ENCODINGS" since="21"/>
+		<field name="EXTRA_MAX_CHANNEL_COUNT" since="21"/>
+		<field name="EXTRA_RINGER_MODE"/>
+		<field name="EXTRA_SCO_AUDIO_PREVIOUS_STATE" since="14"/>
+		<field name="EXTRA_SCO_AUDIO_STATE" since="8"/>
+		<field name="EXTRA_VIBRATE_SETTING" deprecated="16"/>
+		<field name="EXTRA_VIBRATE_TYPE" deprecated="16"/>
+		<field name="FLAG_ALLOW_RINGER_MODES"/>
+		<field name="FLAG_PLAY_SOUND"/>
+		<field name="FLAG_REMOVE_SOUND_AND_VIBRATE"/>
+		<field name="FLAG_SHOW_UI"/>
+		<field name="FLAG_VIBRATE"/>
+		<field name="FX_BACK" since="31"/>
+		<field name="FX_FOCUS_NAVIGATION_DOWN"/>
+		<field name="FX_FOCUS_NAVIGATION_LEFT"/>
+		<field name="FX_FOCUS_NAVIGATION_RIGHT"/>
+		<field name="FX_FOCUS_NAVIGATION_UP"/>
+		<field name="FX_KEYPRESS_DELETE" since="3"/>
+		<field name="FX_KEYPRESS_INVALID" since="19"/>
+		<field name="FX_KEYPRESS_RETURN" since="3"/>
+		<field name="FX_KEYPRESS_SPACEBAR" since="3"/>
+		<field name="FX_KEYPRESS_STANDARD" since="3"/>
+		<field name="FX_KEY_CLICK"/>
+		<field name="GET_DEVICES_ALL" since="23"/>
+		<field name="GET_DEVICES_INPUTS" since="23"/>
+		<field name="GET_DEVICES_OUTPUTS" since="23"/>
+		<field name="MODE_CALL_SCREENING" since="30"/>
+		<field name="MODE_CURRENT"/>
+		<field name="MODE_INVALID"/>
+		<field name="MODE_IN_CALL"/>
+		<field name="MODE_IN_COMMUNICATION" since="11"/>
+		<field name="MODE_NORMAL"/>
+		<field name="MODE_RINGTONE"/>
+		<field name="NUM_STREAMS" deprecated="15"/>
+		<field name="PLAYBACK_OFFLOAD_GAPLESS_SUPPORTED" since="31"/>
+		<field name="PLAYBACK_OFFLOAD_NOT_SUPPORTED" since="31"/>
+		<field name="PLAYBACK_OFFLOAD_SUPPORTED" since="31"/>
+		<field name="PROPERTY_OUTPUT_FRAMES_PER_BUFFER" since="17"/>
+		<field name="PROPERTY_OUTPUT_SAMPLE_RATE" since="17"/>
+		<field name="PROPERTY_SUPPORT_AUDIO_SOURCE_UNPROCESSED" since="24"/>
+		<field name="PROPERTY_SUPPORT_MIC_NEAR_ULTRASOUND" since="23"/>
+		<field name="PROPERTY_SUPPORT_SPEAKER_NEAR_ULTRASOUND" since="23"/>
+		<field name="RINGER_MODE_CHANGED_ACTION"/>
+		<field name="RINGER_MODE_NORMAL"/>
+		<field name="RINGER_MODE_SILENT"/>
+		<field name="RINGER_MODE_VIBRATE"/>
+		<field name="ROUTE_ALL" deprecated="15"/>
+		<field name="ROUTE_BLUETOOTH" deprecated="15"/>
+		<field name="ROUTE_BLUETOOTH_A2DP" since="3" deprecated="15"/>
+		<field name="ROUTE_BLUETOOTH_SCO" since="3" deprecated="15"/>
+		<field name="ROUTE_EARPIECE" deprecated="15"/>
+		<field name="ROUTE_HEADSET" deprecated="15"/>
+		<field name="ROUTE_SPEAKER" deprecated="15"/>
+		<field name="SCO_AUDIO_STATE_CONNECTED" since="8"/>
+		<field name="SCO_AUDIO_STATE_CONNECTING" since="14"/>
+		<field name="SCO_AUDIO_STATE_DISCONNECTED" since="8"/>
+		<field name="SCO_AUDIO_STATE_ERROR" since="8"/>
+		<field name="STREAM_ACCESSIBILITY" since="26"/>
+		<field name="STREAM_ALARM"/>
+		<field name="STREAM_DTMF" since="5"/>
+		<field name="STREAM_MUSIC"/>
+		<field name="STREAM_NOTIFICATION" since="3"/>
+		<field name="STREAM_RING"/>
+		<field name="STREAM_SYSTEM"/>
+		<field name="STREAM_VOICE_CALL"/>
+		<field name="USE_DEFAULT_STREAM_TYPE"/>
+		<field name="VIBRATE_SETTING_CHANGED_ACTION" deprecated="16"/>
+		<field name="VIBRATE_SETTING_OFF" deprecated="16"/>
+		<field name="VIBRATE_SETTING_ON" deprecated="16"/>
+		<field name="VIBRATE_SETTING_ONLY_SILENT" deprecated="16"/>
+		<field name="VIBRATE_TYPE_NOTIFICATION" deprecated="16"/>
+		<field name="VIBRATE_TYPE_RINGER" deprecated="16"/>
+	</class>
+	<class name="android/media/AudioManager$AudioPlaybackCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onPlaybackConfigChanged(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/media/AudioManager$AudioRecordingCallback" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onRecordingConfigChanged(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/media/AudioManager$OnAudioFocusChangeListener" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="onAudioFocusChange(I)V"/>
+	</class>
+	<class name="android/media/AudioManager$OnCommunicationDeviceChangedListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onCommunicationDeviceChanged(Landroid/media/AudioDeviceInfo;)V"/>
+	</class>
+	<class name="android/media/AudioManager$OnModeChangedListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onModeChanged(I)V"/>
+	</class>
+	<class name="android/media/AudioMetadata" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="createMap()Landroid/media/AudioMetadataMap;"/>
+	</class>
+	<class name="android/media/AudioMetadata$Format" since="30">
+		<extends name="java/lang/Object"/>
+		<field name="KEY_ATMOS_PRESENT"/>
+		<field name="KEY_AUDIO_ENCODING"/>
+		<field name="KEY_BIT_RATE"/>
+		<field name="KEY_BIT_WIDTH"/>
+		<field name="KEY_CHANNEL_MASK"/>
+		<field name="KEY_MIME"/>
+		<field name="KEY_PRESENTATION_CONTENT_CLASSIFIER" since="31"/>
+		<field name="KEY_PRESENTATION_ID" since="31"/>
+		<field name="KEY_PRESENTATION_LANGUAGE" since="31"/>
+		<field name="KEY_PROGRAM_ID" since="31"/>
+		<field name="KEY_SAMPLE_RATE"/>
+	</class>
+	<class name="android/media/AudioMetadata$Key" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getValueClass()Ljava/lang/Class;"/>
+	</class>
+	<class name="android/media/AudioMetadataMap" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/AudioMetadataReadMap"/>
+		<method name="remove(Landroid/media/AudioMetadata$Key;)Ljava/lang/Object;"/>
+		<method name="set(Landroid/media/AudioMetadata$Key;Ljava/lang/Object;)Ljava/lang/Object;"/>
+	</class>
+	<class name="android/media/AudioMetadataReadMap" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="containsKey(Landroid/media/AudioMetadata$Key;)Z"/>
+		<method name="dup()Landroid/media/AudioMetadataMap;"/>
+		<method name="get(Landroid/media/AudioMetadata$Key;)Ljava/lang/Object;"/>
+		<method name="size()I"/>
+	</class>
+	<class name="android/media/AudioPlaybackCaptureConfiguration" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getExcludeUids()[I"/>
+		<method name="getExcludeUsages()[I"/>
+		<method name="getMatchingUids()[I"/>
+		<method name="getMatchingUsages()[I"/>
+		<method name="getMediaProjection()Landroid/media/projection/MediaProjection;"/>
+	</class>
+	<class name="android/media/AudioPlaybackCaptureConfiguration$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/media/projection/MediaProjection;)V"/>
+		<method name="addMatchingUid(I)Landroid/media/AudioPlaybackCaptureConfiguration$Builder;"/>
+		<method name="addMatchingUsage(I)Landroid/media/AudioPlaybackCaptureConfiguration$Builder;"/>
+		<method name="build()Landroid/media/AudioPlaybackCaptureConfiguration;"/>
+		<method name="excludeUid(I)Landroid/media/AudioPlaybackCaptureConfiguration$Builder;"/>
+		<method name="excludeUsage(I)Landroid/media/AudioPlaybackCaptureConfiguration$Builder;"/>
+	</class>
+	<class name="android/media/AudioPlaybackConfiguration" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;"/>
+		<method name="getAudioDeviceInfo()Landroid/media/AudioDeviceInfo;" since="31"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/AudioPresentation" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getLabels()Ljava/util/Map;"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getMasteringIndication()I"/>
+		<method name="getPresentationId()I" since="29"/>
+		<method name="getProgramId()I" since="29"/>
+		<method name="hasAudioDescription()Z"/>
+		<method name="hasDialogueEnhancement()Z"/>
+		<method name="hasSpokenSubtitles()Z"/>
+		<field name="CONTENT_COMMENTARY" since="31"/>
+		<field name="CONTENT_DIALOG" since="31"/>
+		<field name="CONTENT_EMERGENCY" since="31"/>
+		<field name="CONTENT_HEARING_IMPAIRED" since="31"/>
+		<field name="CONTENT_MAIN" since="31"/>
+		<field name="CONTENT_MUSIC_AND_EFFECTS" since="31"/>
+		<field name="CONTENT_UNKNOWN" since="31"/>
+		<field name="CONTENT_VISUALLY_IMPAIRED" since="31"/>
+		<field name="CONTENT_VOICEOVER" since="31"/>
+		<field name="MASTERED_FOR_3D"/>
+		<field name="MASTERED_FOR_HEADPHONE"/>
+		<field name="MASTERED_FOR_STEREO"/>
+		<field name="MASTERED_FOR_SURROUND"/>
+		<field name="MASTERING_NOT_INDICATED"/>
+	</class>
+	<class name="android/media/AudioPresentation$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="build()Landroid/media/AudioPresentation;"/>
+		<method name="setHasAudioDescription(Z)Landroid/media/AudioPresentation$Builder;"/>
+		<method name="setHasDialogueEnhancement(Z)Landroid/media/AudioPresentation$Builder;"/>
+		<method name="setHasSpokenSubtitles(Z)Landroid/media/AudioPresentation$Builder;"/>
+		<method name="setLabels(Ljava/util/Map;)Landroid/media/AudioPresentation$Builder;"/>
+		<method name="setLocale(Landroid/icu/util/ULocale;)Landroid/media/AudioPresentation$Builder;"/>
+		<method name="setMasteringIndication(I)Landroid/media/AudioPresentation$Builder;"/>
+		<method name="setProgramId(I)Landroid/media/AudioPresentation$Builder;"/>
+	</class>
+	<class name="android/media/AudioProfile" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getChannelIndexMasks()[I"/>
+		<method name="getChannelMasks()[I"/>
+		<method name="getEncapsulationType()I"/>
+		<method name="getFormat()I"/>
+		<method name="getSampleRates()[I"/>
+		<field name="AUDIO_ENCAPSULATION_TYPE_IEC61937"/>
+		<field name="AUDIO_ENCAPSULATION_TYPE_NONE"/>
+	</class>
+	<class name="android/media/AudioRecord" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/AudioRecordingMonitor" since="29"/>
+		<implements name="android/media/AudioRouting" since="24"/>
+		<implements name="android/media/MicrophoneDirection" since="29"/>
+		<method name="&lt;init>(IIIII)V"/>
+		<method name="addOnRoutingChangedListener(Landroid/media/AudioRecord$OnRoutingChangedListener;Landroid/os/Handler;)V" since="23" deprecated="24"/>
+		<method name="getActiveMicrophones()Ljava/util/List;" since="28"/>
+		<method name="getAudioFormat()I"/>
+		<method name="getAudioSessionId()I" since="16"/>
+		<method name="getAudioSource()I"/>
+		<method name="getBufferSizeInFrames()I" since="23"/>
+		<method name="getChannelConfiguration()I"/>
+		<method name="getChannelCount()I"/>
+		<method name="getFormat()Landroid/media/AudioFormat;" since="23"/>
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;" since="31"/>
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="28"/>
+		<method name="getMinBufferSize(III)I"/>
+		<method name="getNotificationMarkerPosition()I"/>
+		<method name="getPositionNotificationPeriod()I"/>
+		<method name="getPreferredDevice()Landroid/media/AudioDeviceInfo;" since="23"/>
+		<method name="getRecordingState()I"/>
+		<method name="getRoutedDevice()Landroid/media/AudioDeviceInfo;" since="23"/>
+		<method name="getSampleRate()I"/>
+		<method name="getState()I"/>
+		<method name="getTimestamp(Landroid/media/AudioTimestamp;I)I" since="24"/>
+		<method name="isPrivacySensitive()Z" since="30"/>
+		<method name="read(Ljava/nio/ByteBuffer;I)I"/>
+		<method name="read(Ljava/nio/ByteBuffer;II)I" since="23"/>
+		<method name="read([BII)I"/>
+		<method name="read([BIII)I" since="23"/>
+		<method name="read([FIII)I" since="23"/>
+		<method name="read([SII)I"/>
+		<method name="read([SIII)I" since="23"/>
+		<method name="release()V"/>
+		<method name="removeOnRoutingChangedListener(Landroid/media/AudioRecord$OnRoutingChangedListener;)V" since="23" deprecated="24"/>
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V" since="31"/>
+		<method name="setNotificationMarkerPosition(I)I"/>
+		<method name="setPositionNotificationPeriod(I)I"/>
+		<method name="setPreferredDevice(Landroid/media/AudioDeviceInfo;)Z" since="23"/>
+		<method name="setRecordPositionUpdateListener(Landroid/media/AudioRecord$OnRecordPositionUpdateListener;)V"/>
+		<method name="setRecordPositionUpdateListener(Landroid/media/AudioRecord$OnRecordPositionUpdateListener;Landroid/os/Handler;)V"/>
+		<method name="startRecording()V"/>
+		<method name="startRecording(Landroid/media/MediaSyncEvent;)V" since="16"/>
+		<method name="stop()V"/>
+		<field name="ERROR"/>
+		<field name="ERROR_BAD_VALUE"/>
+		<field name="ERROR_DEAD_OBJECT" since="24"/>
+		<field name="ERROR_INVALID_OPERATION"/>
+		<field name="READ_BLOCKING" since="23"/>
+		<field name="READ_NON_BLOCKING" since="23"/>
+		<field name="RECORDSTATE_RECORDING"/>
+		<field name="RECORDSTATE_STOPPED"/>
+		<field name="STATE_INITIALIZED"/>
+		<field name="STATE_UNINITIALIZED"/>
+		<field name="SUCCESS"/>
+	</class>
+	<class name="android/media/AudioRecord$Builder" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/media/AudioRecord;"/>
+		<method name="setAudioFormat(Landroid/media/AudioFormat;)Landroid/media/AudioRecord$Builder;"/>
+		<method name="setAudioPlaybackCaptureConfig(Landroid/media/AudioPlaybackCaptureConfiguration;)Landroid/media/AudioRecord$Builder;" since="29"/>
+		<method name="setAudioSource(I)Landroid/media/AudioRecord$Builder;"/>
+		<method name="setBufferSizeInBytes(I)Landroid/media/AudioRecord$Builder;"/>
+		<method name="setContext(Landroid/content/Context;)Landroid/media/AudioRecord$Builder;" since="31"/>
+		<method name="setPrivacySensitive(Z)Landroid/media/AudioRecord$Builder;" since="30"/>
+	</class>
+	<class name="android/media/AudioRecord$MetricsConstants" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="CHANNELS"/>
+		<field name="ENCODING"/>
+		<field name="LATENCY" deprecated="29"/>
+		<field name="SAMPLERATE"/>
+		<field name="SOURCE"/>
+	</class>
+	<class name="android/media/AudioRecord$OnRecordPositionUpdateListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onMarkerReached(Landroid/media/AudioRecord;)V"/>
+		<method name="onPeriodicNotification(Landroid/media/AudioRecord;)V"/>
+	</class>
+	<class name="android/media/AudioRecord$OnRoutingChangedListener" since="23" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/AudioRouting$OnRoutingChangedListener" since="24"/>
+		<method name="onRoutingChanged(Landroid/media/AudioRecord;)V" deprecated="29"/>
+	</class>
+	<class name="android/media/AudioRecordingConfiguration" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAudioDevice()Landroid/media/AudioDeviceInfo;"/>
+		<method name="getAudioSource()I" since="29"/>
+		<method name="getClientAudioSessionId()I"/>
+		<method name="getClientAudioSource()I"/>
+		<method name="getClientEffects()Ljava/util/List;" since="29"/>
+		<method name="getClientFormat()Landroid/media/AudioFormat;"/>
+		<method name="getEffects()Ljava/util/List;" since="29"/>
+		<method name="getFormat()Landroid/media/AudioFormat;"/>
+		<method name="isClientSilenced()Z" since="29"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/AudioRecordingMonitor" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getActiveRecordingConfiguration()Landroid/media/AudioRecordingConfiguration;"/>
+		<method name="registerAudioRecordingCallback(Ljava/util/concurrent/Executor;Landroid/media/AudioManager$AudioRecordingCallback;)V"/>
+		<method name="unregisterAudioRecordingCallback(Landroid/media/AudioManager$AudioRecordingCallback;)V"/>
+	</class>
+	<class name="android/media/AudioRouting" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="addOnRoutingChangedListener(Landroid/media/AudioRouting$OnRoutingChangedListener;Landroid/os/Handler;)V"/>
+		<method name="getPreferredDevice()Landroid/media/AudioDeviceInfo;"/>
+		<method name="getRoutedDevice()Landroid/media/AudioDeviceInfo;"/>
+		<method name="removeOnRoutingChangedListener(Landroid/media/AudioRouting$OnRoutingChangedListener;)V"/>
+		<method name="setPreferredDevice(Landroid/media/AudioDeviceInfo;)Z"/>
+	</class>
+	<class name="android/media/AudioRouting$OnRoutingChangedListener" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onRoutingChanged(Landroid/media/AudioRouting;)V"/>
+	</class>
+	<class name="android/media/AudioTimestamp" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="TIMEBASE_BOOTTIME" since="24"/>
+		<field name="TIMEBASE_MONOTONIC" since="24"/>
+		<field name="framePosition"/>
+		<field name="nanoTime"/>
+	</class>
+	<class name="android/media/AudioTrack" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/AudioRouting" since="24"/>
+		<implements name="android/media/VolumeAutomation" since="26"/>
+		<method name="&lt;init>(IIIIII)V" deprecated="26"/>
+		<method name="&lt;init>(IIIIIII)V" since="9" deprecated="26"/>
+		<method name="&lt;init>(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;III)V" since="21"/>
+		<method name="addOnCodecFormatChangedListener(Ljava/util/concurrent/Executor;Landroid/media/AudioTrack$OnCodecFormatChangedListener;)V" since="30"/>
+		<method name="addOnRoutingChangedListener(Landroid/media/AudioTrack$OnRoutingChangedListener;Landroid/os/Handler;)V" since="23" deprecated="24"/>
+		<method name="attachAuxEffect(I)I" since="9"/>
+		<method name="flush()V"/>
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;" since="29"/>
+		<method name="getAudioDescriptionMixLeveldB()F" since="30"/>
+		<method name="getAudioFormat()I"/>
+		<method name="getAudioSessionId()I" since="9"/>
+		<method name="getBufferCapacityInFrames()I" since="24"/>
+		<method name="getBufferSizeInFrames()I" since="23"/>
+		<method name="getChannelConfiguration()I"/>
+		<method name="getChannelCount()I"/>
+		<method name="getDualMonoMode()I" since="30"/>
+		<method name="getFormat()Landroid/media/AudioFormat;" since="23"/>
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;" since="31"/>
+		<method name="getMaxVolume()F"/>
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="28"/>
+		<method name="getMinBufferSize(III)I"/>
+		<method name="getMinVolume()F"/>
+		<method name="getNativeFrameCount()I" deprecated="19"/>
+		<method name="getNativeOutputSampleRate(I)I"/>
+		<method name="getNotificationMarkerPosition()I"/>
+		<method name="getOffloadDelay()I" since="29"/>
+		<method name="getOffloadPadding()I" since="29"/>
+		<method name="getPerformanceMode()I" since="26"/>
+		<method name="getPlayState()I"/>
+		<method name="getPlaybackHeadPosition()I"/>
+		<method name="getPlaybackParams()Landroid/media/PlaybackParams;" since="23"/>
+		<method name="getPlaybackRate()I"/>
+		<method name="getPositionNotificationPeriod()I"/>
+		<method name="getPreferredDevice()Landroid/media/AudioDeviceInfo;" since="23"/>
+		<method name="getRoutedDevice()Landroid/media/AudioDeviceInfo;" since="23"/>
+		<method name="getSampleRate()I"/>
+		<method name="getStartThresholdInFrames()I" since="31"/>
+		<method name="getState()I"/>
+		<method name="getStreamType()I"/>
+		<method name="getTimestamp(Landroid/media/AudioTimestamp;)Z" since="19"/>
+		<method name="getUnderrunCount()I" since="24"/>
+		<method name="isDirectPlaybackSupported(Landroid/media/AudioFormat;Landroid/media/AudioAttributes;)Z" since="29"/>
+		<method name="isOffloadedPlayback()Z" since="29"/>
+		<method name="pause()V"/>
+		<method name="play()V"/>
+		<method name="registerStreamEventCallback(Ljava/util/concurrent/Executor;Landroid/media/AudioTrack$StreamEventCallback;)V" since="29"/>
+		<method name="release()V"/>
+		<method name="reloadStaticData()I"/>
+		<method name="removeOnCodecFormatChangedListener(Landroid/media/AudioTrack$OnCodecFormatChangedListener;)V" since="30"/>
+		<method name="removeOnRoutingChangedListener(Landroid/media/AudioTrack$OnRoutingChangedListener;)V" since="23" deprecated="24"/>
+		<method name="setAudioDescriptionMixLeveldB(F)Z" since="30"/>
+		<method name="setAuxEffectSendLevel(F)I" since="9"/>
+		<method name="setBufferSizeInFrames(I)I" since="24"/>
+		<method name="setDualMonoMode(I)Z" since="30"/>
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V" since="31"/>
+		<method name="setLoopPoints(III)I"/>
+		<method name="setNotificationMarkerPosition(I)I"/>
+		<method name="setOffloadDelayPadding(II)V" since="29"/>
+		<method name="setOffloadEndOfStream()V" since="29"/>
+		<method name="setPlaybackHeadPosition(I)I"/>
+		<method name="setPlaybackParams(Landroid/media/PlaybackParams;)V" since="23"/>
+		<method name="setPlaybackPositionUpdateListener(Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;)V"/>
+		<method name="setPlaybackPositionUpdateListener(Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;Landroid/os/Handler;)V"/>
+		<method name="setPlaybackRate(I)I"/>
+		<method name="setPositionNotificationPeriod(I)I"/>
+		<method name="setPreferredDevice(Landroid/media/AudioDeviceInfo;)Z" since="23"/>
+		<method name="setPresentation(Landroid/media/AudioPresentation;)I" since="28"/>
+		<method name="setStartThresholdInFrames(I)I" since="31"/>
+		<method name="setState(I)V" deprecated="19"/>
+		<method name="setStereoVolume(FF)I" deprecated="21"/>
+		<method name="setVolume(F)I" since="21"/>
+		<method name="stop()V"/>
+		<method name="unregisterStreamEventCallback(Landroid/media/AudioTrack$StreamEventCallback;)V" since="29"/>
+		<method name="write(Ljava/nio/ByteBuffer;II)I" since="21"/>
+		<method name="write(Ljava/nio/ByteBuffer;IIJ)I" since="23"/>
+		<method name="write([BII)I"/>
+		<method name="write([BIII)I" since="23"/>
+		<method name="write([FIII)I" since="21"/>
+		<method name="write([SII)I"/>
+		<method name="write([SIII)I" since="23"/>
+		<field name="DUAL_MONO_MODE_LL" since="30"/>
+		<field name="DUAL_MONO_MODE_LR" since="30"/>
+		<field name="DUAL_MONO_MODE_OFF" since="30"/>
+		<field name="DUAL_MONO_MODE_RR" since="30"/>
+		<field name="ENCAPSULATION_METADATA_TYPE_DVB_AD_DESCRIPTOR" since="30"/>
+		<field name="ENCAPSULATION_METADATA_TYPE_FRAMEWORK_TUNER" since="30"/>
+		<field name="ENCAPSULATION_MODE_ELEMENTARY_STREAM" since="30"/>
+		<field name="ENCAPSULATION_MODE_NONE" since="30"/>
+		<field name="ERROR"/>
+		<field name="ERROR_BAD_VALUE"/>
+		<field name="ERROR_DEAD_OBJECT" since="24"/>
+		<field name="ERROR_INVALID_OPERATION"/>
+		<field name="MODE_STATIC"/>
+		<field name="MODE_STREAM"/>
+		<field name="PERFORMANCE_MODE_LOW_LATENCY" since="26"/>
+		<field name="PERFORMANCE_MODE_NONE" since="26"/>
+		<field name="PERFORMANCE_MODE_POWER_SAVING" since="26"/>
+		<field name="PLAYSTATE_PAUSED"/>
+		<field name="PLAYSTATE_PLAYING"/>
+		<field name="PLAYSTATE_STOPPED"/>
+		<field name="STATE_INITIALIZED"/>
+		<field name="STATE_NO_STATIC_DATA"/>
+		<field name="STATE_UNINITIALIZED"/>
+		<field name="SUCCESS"/>
+		<field name="WRITE_BLOCKING" since="21"/>
+		<field name="WRITE_NON_BLOCKING" since="21"/>
+	</class>
+	<class name="android/media/AudioTrack$Builder" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/media/AudioTrack;"/>
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)Landroid/media/AudioTrack$Builder;"/>
+		<method name="setAudioFormat(Landroid/media/AudioFormat;)Landroid/media/AudioTrack$Builder;"/>
+		<method name="setBufferSizeInBytes(I)Landroid/media/AudioTrack$Builder;"/>
+		<method name="setEncapsulationMode(I)Landroid/media/AudioTrack$Builder;" since="30"/>
+		<method name="setOffloadedPlayback(Z)Landroid/media/AudioTrack$Builder;" since="29"/>
+		<method name="setPerformanceMode(I)Landroid/media/AudioTrack$Builder;" since="26"/>
+		<method name="setSessionId(I)Landroid/media/AudioTrack$Builder;"/>
+		<method name="setTransferMode(I)Landroid/media/AudioTrack$Builder;"/>
+	</class>
+	<class name="android/media/AudioTrack$MetricsConstants" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="CHANNELMASK" deprecated="29"/>
+		<field name="CONTENTTYPE"/>
+		<field name="SAMPLERATE" deprecated="29"/>
+		<field name="STREAMTYPE"/>
+		<field name="USAGE"/>
+	</class>
+	<class name="android/media/AudioTrack$OnCodecFormatChangedListener" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onCodecFormatChanged(Landroid/media/AudioTrack;Landroid/media/AudioMetadataReadMap;)V"/>
+	</class>
+	<class name="android/media/AudioTrack$OnPlaybackPositionUpdateListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onMarkerReached(Landroid/media/AudioTrack;)V"/>
+		<method name="onPeriodicNotification(Landroid/media/AudioTrack;)V"/>
+	</class>
+	<class name="android/media/AudioTrack$OnRoutingChangedListener" since="23" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/AudioRouting$OnRoutingChangedListener" since="24"/>
+		<method name="onRoutingChanged(Landroid/media/AudioTrack;)V" deprecated="29"/>
+	</class>
+	<class name="android/media/AudioTrack$StreamEventCallback" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onDataRequest(Landroid/media/AudioTrack;I)V"/>
+		<method name="onPresentationEnded(Landroid/media/AudioTrack;)V"/>
+		<method name="onTearDown(Landroid/media/AudioTrack;)V"/>
+	</class>
+	<class name="android/media/CamcorderProfile" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="get(I)Landroid/media/CamcorderProfile;" deprecated="31"/>
+		<method name="get(II)Landroid/media/CamcorderProfile;" since="9" deprecated="31"/>
+		<method name="getAll(Ljava/lang/String;I)Landroid/media/EncoderProfiles;" since="31"/>
+		<method name="hasProfile(I)Z" since="11"/>
+		<method name="hasProfile(II)Z" since="11"/>
+		<field name="QUALITY_1080P" since="11"/>
+		<field name="QUALITY_2160P" since="21"/>
+		<field name="QUALITY_2K" since="30"/>
+		<field name="QUALITY_480P" since="11"/>
+		<field name="QUALITY_4KDCI" since="30"/>
+		<field name="QUALITY_720P" since="11"/>
+		<field name="QUALITY_8KUHD" since="31"/>
+		<field name="QUALITY_CIF" since="11"/>
+		<field name="QUALITY_HIGH"/>
+		<field name="QUALITY_HIGH_SPEED_1080P" since="21"/>
+		<field name="QUALITY_HIGH_SPEED_2160P" since="21"/>
+		<field name="QUALITY_HIGH_SPEED_480P" since="21"/>
+		<field name="QUALITY_HIGH_SPEED_4KDCI" since="30"/>
+		<field name="QUALITY_HIGH_SPEED_720P" since="21"/>
+		<field name="QUALITY_HIGH_SPEED_CIF" since="30"/>
+		<field name="QUALITY_HIGH_SPEED_HIGH" since="21"/>
+		<field name="QUALITY_HIGH_SPEED_LOW" since="21"/>
+		<field name="QUALITY_HIGH_SPEED_VGA" since="30"/>
+		<field name="QUALITY_LOW"/>
+		<field name="QUALITY_QCIF" since="11"/>
+		<field name="QUALITY_QHD" since="30"/>
+		<field name="QUALITY_QVGA" since="15"/>
+		<field name="QUALITY_TIME_LAPSE_1080P" since="11"/>
+		<field name="QUALITY_TIME_LAPSE_2160P" since="21"/>
+		<field name="QUALITY_TIME_LAPSE_2K" since="30"/>
+		<field name="QUALITY_TIME_LAPSE_480P" since="11"/>
+		<field name="QUALITY_TIME_LAPSE_4KDCI" since="30"/>
+		<field name="QUALITY_TIME_LAPSE_720P" since="11"/>
+		<field name="QUALITY_TIME_LAPSE_8KUHD" since="31"/>
+		<field name="QUALITY_TIME_LAPSE_CIF" since="11"/>
+		<field name="QUALITY_TIME_LAPSE_HIGH" since="11"/>
+		<field name="QUALITY_TIME_LAPSE_LOW" since="11"/>
+		<field name="QUALITY_TIME_LAPSE_QCIF" since="11"/>
+		<field name="QUALITY_TIME_LAPSE_QHD" since="30"/>
+		<field name="QUALITY_TIME_LAPSE_QVGA" since="15"/>
+		<field name="QUALITY_TIME_LAPSE_VGA" since="30"/>
+		<field name="QUALITY_VGA" since="30"/>
+		<field name="audioBitRate"/>
+		<field name="audioChannels"/>
+		<field name="audioCodec"/>
+		<field name="audioSampleRate"/>
+		<field name="duration"/>
+		<field name="fileFormat"/>
+		<field name="quality"/>
+		<field name="videoBitRate"/>
+		<field name="videoCodec"/>
+		<field name="videoFrameHeight"/>
+		<field name="videoFrameRate"/>
+		<field name="videoFrameWidth"/>
+	</class>
+	<class name="android/media/CameraProfile" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getJpegEncodingQualityParameter(I)I"/>
+		<method name="getJpegEncodingQualityParameter(II)I" since="9"/>
+		<field name="QUALITY_HIGH"/>
+		<field name="QUALITY_LOW"/>
+		<field name="QUALITY_MEDIUM"/>
+	</class>
+	<class name="android/media/DeniedByServerException" since="18">
+		<extends name="android/media/MediaDrmException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/DrmInitData" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="get(Ljava/util/UUID;)Landroid/media/DrmInitData$SchemeInitData;" deprecated="30"/>
+		<method name="getSchemeInitDataAt(I)Landroid/media/DrmInitData$SchemeInitData;" since="30"/>
+		<method name="getSchemeInitDataCount()I" since="30"/>
+	</class>
+	<class name="android/media/DrmInitData$SchemeInitData" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/util/UUID;Ljava/lang/String;[B)V" since="31"/>
+		<field name="UUID_NIL" since="30"/>
+		<field name="data"/>
+		<field name="mimeType"/>
+		<field name="uuid" since="30"/>
+	</class>
+	<class name="android/media/EncoderProfiles" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getAudioProfiles()Ljava/util/List;"/>
+		<method name="getDefaultDurationSeconds()I"/>
+		<method name="getRecommendedFileFormat()I"/>
+		<method name="getVideoProfiles()Ljava/util/List;"/>
+	</class>
+	<class name="android/media/EncoderProfiles$AudioProfile" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getBitrate()I"/>
+		<method name="getChannels()I"/>
+		<method name="getCodec()I"/>
+		<method name="getMediaType()Ljava/lang/String;"/>
+		<method name="getProfile()I"/>
+		<method name="getSampleRate()I"/>
+	</class>
+	<class name="android/media/EncoderProfiles$VideoProfile" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getBitrate()I"/>
+		<method name="getCodec()I"/>
+		<method name="getFrameRate()I"/>
+		<method name="getHeight()I"/>
+		<method name="getMediaType()Ljava/lang/String;"/>
+		<method name="getProfile()I"/>
+		<method name="getWidth()I"/>
+	</class>
+	<class name="android/media/ExifInterface" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/io/File;)V" since="29"/>
+		<method name="&lt;init>(Ljava/io/FileDescriptor;)V" since="24"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V" since="24"/>
+		<method name="&lt;init>(Ljava/io/InputStream;I)V" since="30"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getAltitude(D)D" since="9"/>
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getAttributeBytes(Ljava/lang/String;)[B" since="29"/>
+		<method name="getAttributeDouble(Ljava/lang/String;D)D" since="8"/>
+		<method name="getAttributeInt(Ljava/lang/String;I)I"/>
+		<method name="getAttributeRange(Ljava/lang/String;)[J" since="29"/>
+		<method name="getDateTime()J" since="31"/>
+		<method name="getDateTimeDigitized()J" since="31"/>
+		<method name="getDateTimeOriginal()J" since="31"/>
+		<method name="getGpsDateTime()J" since="31"/>
+		<method name="getLatLong([F)Z"/>
+		<method name="getThumbnail()[B"/>
+		<method name="getThumbnailBitmap()Landroid/graphics/Bitmap;" since="26"/>
+		<method name="getThumbnailBytes()[B" since="26"/>
+		<method name="getThumbnailRange()[J" since="24"/>
+		<method name="hasAttribute(Ljava/lang/String;)Z" since="29"/>
+		<method name="hasThumbnail()Z"/>
+		<method name="isSupportedMimeType(Ljava/lang/String;)Z" since="30"/>
+		<method name="isThumbnailCompressed()Z" since="26"/>
+		<method name="saveAttributes()V"/>
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="ORIENTATION_FLIP_HORIZONTAL"/>
+		<field name="ORIENTATION_FLIP_VERTICAL"/>
+		<field name="ORIENTATION_NORMAL"/>
+		<field name="ORIENTATION_ROTATE_180"/>
+		<field name="ORIENTATION_ROTATE_270"/>
+		<field name="ORIENTATION_ROTATE_90"/>
+		<field name="ORIENTATION_TRANSPOSE"/>
+		<field name="ORIENTATION_TRANSVERSE"/>
+		<field name="ORIENTATION_UNDEFINED"/>
+		<field name="STREAM_TYPE_EXIF_DATA_ONLY" since="30"/>
+		<field name="STREAM_TYPE_FULL_IMAGE_DATA" since="30"/>
+		<field name="TAG_APERTURE" since="11" deprecated="24"/>
+		<field name="TAG_APERTURE_VALUE" since="24"/>
+		<field name="TAG_ARTIST" since="24"/>
+		<field name="TAG_BITS_PER_SAMPLE" since="24"/>
+		<field name="TAG_BRIGHTNESS_VALUE" since="24"/>
+		<field name="TAG_CFA_PATTERN" since="24"/>
+		<field name="TAG_COLOR_SPACE" since="24"/>
+		<field name="TAG_COMPONENTS_CONFIGURATION" since="24"/>
+		<field name="TAG_COMPRESSED_BITS_PER_PIXEL" since="24"/>
+		<field name="TAG_COMPRESSION" since="24"/>
+		<field name="TAG_CONTRAST" since="24"/>
+		<field name="TAG_COPYRIGHT" since="24"/>
+		<field name="TAG_CUSTOM_RENDERED" since="24"/>
+		<field name="TAG_DATETIME"/>
+		<field name="TAG_DATETIME_DIGITIZED" since="23"/>
+		<field name="TAG_DATETIME_ORIGINAL" since="24"/>
+		<field name="TAG_DEFAULT_CROP_SIZE" since="26"/>
+		<field name="TAG_DEVICE_SETTING_DESCRIPTION" since="24"/>
+		<field name="TAG_DIGITAL_ZOOM_RATIO" since="24"/>
+		<field name="TAG_DNG_VERSION" since="26"/>
+		<field name="TAG_EXIF_VERSION" since="24"/>
+		<field name="TAG_EXPOSURE_BIAS_VALUE" since="24"/>
+		<field name="TAG_EXPOSURE_INDEX" since="24"/>
+		<field name="TAG_EXPOSURE_MODE" since="24"/>
+		<field name="TAG_EXPOSURE_PROGRAM" since="24"/>
+		<field name="TAG_EXPOSURE_TIME" since="11"/>
+		<field name="TAG_FILE_SOURCE" since="24"/>
+		<field name="TAG_FLASH"/>
+		<field name="TAG_FLASHPIX_VERSION" since="24"/>
+		<field name="TAG_FLASH_ENERGY" since="24"/>
+		<field name="TAG_FOCAL_LENGTH" since="8"/>
+		<field name="TAG_FOCAL_LENGTH_IN_35MM_FILM" since="24"/>
+		<field name="TAG_FOCAL_PLANE_RESOLUTION_UNIT" since="24"/>
+		<field name="TAG_FOCAL_PLANE_X_RESOLUTION" since="24"/>
+		<field name="TAG_FOCAL_PLANE_Y_RESOLUTION" since="24"/>
+		<field name="TAG_F_NUMBER" since="24"/>
+		<field name="TAG_GAIN_CONTROL" since="24"/>
+		<field name="TAG_GPS_ALTITUDE" since="9"/>
+		<field name="TAG_GPS_ALTITUDE_REF" since="9"/>
+		<field name="TAG_GPS_AREA_INFORMATION" since="24"/>
+		<field name="TAG_GPS_DATESTAMP" since="8"/>
+		<field name="TAG_GPS_DEST_BEARING" since="24"/>
+		<field name="TAG_GPS_DEST_BEARING_REF" since="24"/>
+		<field name="TAG_GPS_DEST_DISTANCE" since="24"/>
+		<field name="TAG_GPS_DEST_DISTANCE_REF" since="24"/>
+		<field name="TAG_GPS_DEST_LATITUDE" since="24"/>
+		<field name="TAG_GPS_DEST_LATITUDE_REF" since="24"/>
+		<field name="TAG_GPS_DEST_LONGITUDE" since="24"/>
+		<field name="TAG_GPS_DEST_LONGITUDE_REF" since="24"/>
+		<field name="TAG_GPS_DIFFERENTIAL" since="24"/>
+		<field name="TAG_GPS_DOP" since="24"/>
+		<field name="TAG_GPS_IMG_DIRECTION" since="24"/>
+		<field name="TAG_GPS_IMG_DIRECTION_REF" since="24"/>
+		<field name="TAG_GPS_LATITUDE"/>
+		<field name="TAG_GPS_LATITUDE_REF"/>
+		<field name="TAG_GPS_LONGITUDE"/>
+		<field name="TAG_GPS_LONGITUDE_REF"/>
+		<field name="TAG_GPS_MAP_DATUM" since="24"/>
+		<field name="TAG_GPS_MEASURE_MODE" since="24"/>
+		<field name="TAG_GPS_PROCESSING_METHOD" since="8"/>
+		<field name="TAG_GPS_SATELLITES" since="24"/>
+		<field name="TAG_GPS_SPEED" since="24"/>
+		<field name="TAG_GPS_SPEED_REF" since="24"/>
+		<field name="TAG_GPS_STATUS" since="24"/>
+		<field name="TAG_GPS_TIMESTAMP" since="8"/>
+		<field name="TAG_GPS_TRACK" since="24"/>
+		<field name="TAG_GPS_TRACK_REF" since="24"/>
+		<field name="TAG_GPS_VERSION_ID" since="24"/>
+		<field name="TAG_IMAGE_DESCRIPTION" since="24"/>
+		<field name="TAG_IMAGE_LENGTH"/>
+		<field name="TAG_IMAGE_UNIQUE_ID" since="24"/>
+		<field name="TAG_IMAGE_WIDTH"/>
+		<field name="TAG_INTEROPERABILITY_INDEX" since="24"/>
+		<field name="TAG_ISO" since="11" deprecated="24"/>
+		<field name="TAG_ISO_SPEED_RATINGS" since="24"/>
+		<field name="TAG_JPEG_INTERCHANGE_FORMAT" since="24"/>
+		<field name="TAG_JPEG_INTERCHANGE_FORMAT_LENGTH" since="24"/>
+		<field name="TAG_LIGHT_SOURCE" since="24"/>
+		<field name="TAG_MAKE"/>
+		<field name="TAG_MAKER_NOTE" since="24"/>
+		<field name="TAG_MAX_APERTURE_VALUE" since="24"/>
+		<field name="TAG_METERING_MODE" since="24"/>
+		<field name="TAG_MODEL"/>
+		<field name="TAG_NEW_SUBFILE_TYPE" since="26"/>
+		<field name="TAG_OECF" since="24"/>
+		<field name="TAG_OFFSET_TIME" since="30"/>
+		<field name="TAG_OFFSET_TIME_DIGITIZED" since="30"/>
+		<field name="TAG_OFFSET_TIME_ORIGINAL" since="30"/>
+		<field name="TAG_ORF_ASPECT_FRAME" since="26"/>
+		<field name="TAG_ORF_PREVIEW_IMAGE_LENGTH" since="26"/>
+		<field name="TAG_ORF_PREVIEW_IMAGE_START" since="26"/>
+		<field name="TAG_ORF_THUMBNAIL_IMAGE" since="26"/>
+		<field name="TAG_ORIENTATION"/>
+		<field name="TAG_PHOTOMETRIC_INTERPRETATION" since="24"/>
+		<field name="TAG_PIXEL_X_DIMENSION" since="24"/>
+		<field name="TAG_PIXEL_Y_DIMENSION" since="24"/>
+		<field name="TAG_PLANAR_CONFIGURATION" since="24"/>
+		<field name="TAG_PRIMARY_CHROMATICITIES" since="24"/>
+		<field name="TAG_REFERENCE_BLACK_WHITE" since="24"/>
+		<field name="TAG_RELATED_SOUND_FILE" since="24"/>
+		<field name="TAG_RESOLUTION_UNIT" since="24"/>
+		<field name="TAG_ROWS_PER_STRIP" since="24"/>
+		<field name="TAG_RW2_ISO" since="26"/>
+		<field name="TAG_RW2_JPG_FROM_RAW" since="26"/>
+		<field name="TAG_RW2_SENSOR_BOTTOM_BORDER" since="26"/>
+		<field name="TAG_RW2_SENSOR_LEFT_BORDER" since="26"/>
+		<field name="TAG_RW2_SENSOR_RIGHT_BORDER" since="26"/>
+		<field name="TAG_RW2_SENSOR_TOP_BORDER" since="26"/>
+		<field name="TAG_SAMPLES_PER_PIXEL" since="24"/>
+		<field name="TAG_SATURATION" since="24"/>
+		<field name="TAG_SCENE_CAPTURE_TYPE" since="24"/>
+		<field name="TAG_SCENE_TYPE" since="24"/>
+		<field name="TAG_SENSING_METHOD" since="24"/>
+		<field name="TAG_SHARPNESS" since="24"/>
+		<field name="TAG_SHUTTER_SPEED_VALUE" since="24"/>
+		<field name="TAG_SOFTWARE" since="24"/>
+		<field name="TAG_SPATIAL_FREQUENCY_RESPONSE" since="24"/>
+		<field name="TAG_SPECTRAL_SENSITIVITY" since="24"/>
+		<field name="TAG_STRIP_BYTE_COUNTS" since="24"/>
+		<field name="TAG_STRIP_OFFSETS" since="24"/>
+		<field name="TAG_SUBFILE_TYPE" since="26"/>
+		<field name="TAG_SUBJECT_AREA" since="24"/>
+		<field name="TAG_SUBJECT_DISTANCE" since="24"/>
+		<field name="TAG_SUBJECT_DISTANCE_RANGE" since="24"/>
+		<field name="TAG_SUBJECT_LOCATION" since="24"/>
+		<field name="TAG_SUBSEC_TIME" since="23"/>
+		<field name="TAG_SUBSEC_TIME_DIG" since="23" deprecated="24"/>
+		<field name="TAG_SUBSEC_TIME_DIGITIZED" since="24"/>
+		<field name="TAG_SUBSEC_TIME_ORIG" since="23" deprecated="24"/>
+		<field name="TAG_SUBSEC_TIME_ORIGINAL" since="24"/>
+		<field name="TAG_THUMBNAIL_IMAGE_LENGTH" since="24"/>
+		<field name="TAG_THUMBNAIL_IMAGE_WIDTH" since="24"/>
+		<field name="TAG_THUMBNAIL_ORIENTATION" since="30"/>
+		<field name="TAG_TRANSFER_FUNCTION" since="24"/>
+		<field name="TAG_USER_COMMENT" since="24"/>
+		<field name="TAG_WHITE_BALANCE"/>
+		<field name="TAG_WHITE_POINT" since="24"/>
+		<field name="TAG_XMP" since="29"/>
+		<field name="TAG_X_RESOLUTION" since="24"/>
+		<field name="TAG_Y_CB_CR_COEFFICIENTS" since="24"/>
+		<field name="TAG_Y_CB_CR_POSITIONING" since="24"/>
+		<field name="TAG_Y_CB_CR_SUB_SAMPLING" since="24"/>
+		<field name="TAG_Y_RESOLUTION" since="24"/>
+		<field name="WHITEBALANCE_AUTO"/>
+		<field name="WHITEBALANCE_MANUAL"/>
+	</class>
+	<class name="android/media/FaceDetector" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="findFaces(Landroid/graphics/Bitmap;[Landroid/media/FaceDetector$Face;)I"/>
+	</class>
+	<class name="android/media/FaceDetector$Face" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="confidence()F"/>
+		<method name="eyesDistance()F"/>
+		<method name="getMidPoint(Landroid/graphics/PointF;)V"/>
+		<method name="pose(I)F"/>
+		<field name="CONFIDENCE_THRESHOLD"/>
+		<field name="EULER_X"/>
+		<field name="EULER_Y"/>
+		<field name="EULER_Z"/>
+	</class>
+	<class name="android/media/Image" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getCropRect()Landroid/graphics/Rect;" since="21"/>
+		<method name="getFormat()I"/>
+		<method name="getHardwareBuffer()Landroid/hardware/HardwareBuffer;" since="28"/>
+		<method name="getHeight()I"/>
+		<method name="getPlanes()[Landroid/media/Image$Plane;"/>
+		<method name="getTimestamp()J"/>
+		<method name="getWidth()I"/>
+		<method name="setCropRect(Landroid/graphics/Rect;)V" since="21"/>
+		<method name="setTimestamp(J)V" since="23"/>
+	</class>
+	<class name="android/media/Image$Plane" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="getBuffer()Ljava/nio/ByteBuffer;"/>
+		<method name="getPixelStride()I"/>
+		<method name="getRowStride()I"/>
+	</class>
+	<class name="android/media/ImageReader" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="acquireLatestImage()Landroid/media/Image;"/>
+		<method name="acquireNextImage()Landroid/media/Image;"/>
+		<method name="discardFreeBuffers()V" since="28"/>
+		<method name="getHeight()I"/>
+		<method name="getImageFormat()I"/>
+		<method name="getMaxImages()I"/>
+		<method name="getSurface()Landroid/view/Surface;"/>
+		<method name="getWidth()I"/>
+		<method name="newInstance(IIII)Landroid/media/ImageReader;"/>
+		<method name="newInstance(IIIIJ)Landroid/media/ImageReader;" since="29"/>
+		<method name="setOnImageAvailableListener(Landroid/media/ImageReader$OnImageAvailableListener;Landroid/os/Handler;)V"/>
+	</class>
+	<class name="android/media/ImageReader$OnImageAvailableListener" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="onImageAvailable(Landroid/media/ImageReader;)V"/>
+	</class>
+	<class name="android/media/ImageWriter" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="dequeueInputImage()Landroid/media/Image;"/>
+		<method name="getFormat()I"/>
+		<method name="getMaxImages()I"/>
+		<method name="newInstance(Landroid/view/Surface;I)Landroid/media/ImageWriter;"/>
+		<method name="newInstance(Landroid/view/Surface;II)Landroid/media/ImageWriter;" since="29"/>
+		<method name="queueInputImage(Landroid/media/Image;)V"/>
+		<method name="setOnImageReleasedListener(Landroid/media/ImageWriter$OnImageReleasedListener;Landroid/os/Handler;)V"/>
+	</class>
+	<class name="android/media/ImageWriter$OnImageReleasedListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onImageReleased(Landroid/media/ImageWriter;)V"/>
+	</class>
+	<class name="android/media/JetPlayer" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="clearQueue()Z"/>
+		<method name="closeJetFile()Z"/>
+		<method name="getJetPlayer()Landroid/media/JetPlayer;"/>
+		<method name="getMaxTracks()I"/>
+		<method name="loadJetFile(Landroid/content/res/AssetFileDescriptor;)Z"/>
+		<method name="loadJetFile(Ljava/lang/String;)Z"/>
+		<method name="pause()Z"/>
+		<method name="play()Z"/>
+		<method name="queueJetSegment(IIIIIB)Z"/>
+		<method name="queueJetSegmentMuteArray(IIII[ZB)Z"/>
+		<method name="release()V"/>
+		<method name="setEventListener(Landroid/media/JetPlayer$OnJetEventListener;)V"/>
+		<method name="setEventListener(Landroid/media/JetPlayer$OnJetEventListener;Landroid/os/Handler;)V"/>
+		<method name="setMuteArray([ZZ)Z"/>
+		<method name="setMuteFlag(IZZ)Z"/>
+		<method name="setMuteFlags(IZ)Z"/>
+		<method name="triggerClip(I)Z"/>
+	</class>
+	<class name="android/media/JetPlayer$OnJetEventListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onJetEvent(Landroid/media/JetPlayer;SBBBB)V"/>
+		<method name="onJetNumQueuedSegmentUpdate(Landroid/media/JetPlayer;I)V"/>
+		<method name="onJetPauseUpdate(Landroid/media/JetPlayer;I)V"/>
+		<method name="onJetUserIdUpdate(Landroid/media/JetPlayer;II)V"/>
+	</class>
+	<class name="android/media/MediaActionSound" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="load(I)V"/>
+		<method name="play(I)V"/>
+		<method name="release()V"/>
+		<field name="FOCUS_COMPLETE"/>
+		<field name="SHUTTER_CLICK"/>
+		<field name="START_VIDEO_RECORDING"/>
+		<field name="STOP_VIDEO_RECORDING"/>
+	</class>
+	<class name="android/media/MediaCas" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;ILjava/lang/String;I)V" since="30"/>
+		<method name="&lt;init>(Landroid/content/Context;ILjava/lang/String;ILandroid/os/Handler;Landroid/media/MediaCas$EventListener;)V" since="31"/>
+		<method name="enumeratePlugins()[Landroid/media/MediaCas$PluginDescriptor;"/>
+		<method name="isSystemIdSupported(I)Z"/>
+		<method name="openSession()Landroid/media/MediaCas$Session;"/>
+		<method name="openSession(II)Landroid/media/MediaCas$Session;" since="30"/>
+		<method name="processEmm([B)V"/>
+		<method name="processEmm([BII)V"/>
+		<method name="provision(Ljava/lang/String;)V"/>
+		<method name="refreshEntitlements(I[B)V"/>
+		<method name="sendEvent(II[B)V"/>
+		<method name="setEventListener(Landroid/media/MediaCas$EventListener;Landroid/os/Handler;)V"/>
+		<method name="setPrivateData([B)V"/>
+		<field name="PLUGIN_STATUS_PHYSICAL_MODULE_CHANGED" since="30"/>
+		<field name="PLUGIN_STATUS_SESSION_NUMBER_CHANGED" since="30"/>
+		<field name="SCRAMBLING_MODE_AES128" since="30"/>
+		<field name="SCRAMBLING_MODE_AES_ECB" since="30"/>
+		<field name="SCRAMBLING_MODE_AES_SCTE52" since="30"/>
+		<field name="SCRAMBLING_MODE_DVB_CISSA_V1" since="30"/>
+		<field name="SCRAMBLING_MODE_DVB_CSA1" since="30"/>
+		<field name="SCRAMBLING_MODE_DVB_CSA2" since="30"/>
+		<field name="SCRAMBLING_MODE_DVB_CSA3_ENHANCE" since="30"/>
+		<field name="SCRAMBLING_MODE_DVB_CSA3_MINIMAL" since="30"/>
+		<field name="SCRAMBLING_MODE_DVB_CSA3_STANDARD" since="30"/>
+		<field name="SCRAMBLING_MODE_DVB_IDSA" since="30"/>
+		<field name="SCRAMBLING_MODE_MULTI2" since="30"/>
+		<field name="SCRAMBLING_MODE_RESERVED" since="30"/>
+		<field name="SCRAMBLING_MODE_TDES_ECB" since="30"/>
+		<field name="SCRAMBLING_MODE_TDES_SCTE52" since="30"/>
+		<field name="SESSION_USAGE_LIVE" since="30"/>
+		<field name="SESSION_USAGE_PLAYBACK" since="30"/>
+		<field name="SESSION_USAGE_RECORD" since="30"/>
+		<field name="SESSION_USAGE_TIMESHIFT" since="30"/>
+	</class>
+	<class name="android/media/MediaCas$EventListener" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="onEvent(Landroid/media/MediaCas;II[B)V"/>
+		<method name="onPluginStatusUpdate(Landroid/media/MediaCas;II)V" since="30"/>
+		<method name="onResourceLost(Landroid/media/MediaCas;)V" since="30"/>
+		<method name="onSessionEvent(Landroid/media/MediaCas;Landroid/media/MediaCas$Session;II[B)V" since="29"/>
+	</class>
+	<class name="android/media/MediaCas$PluginDescriptor" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getSystemId()I"/>
+	</class>
+	<class name="android/media/MediaCas$Session" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getSessionId()[B" since="30"/>
+		<method name="processEcm([B)V"/>
+		<method name="processEcm([BII)V"/>
+		<method name="sendSessionEvent(II[B)V" since="29"/>
+		<method name="setPrivateData([B)V"/>
+	</class>
+	<class name="android/media/MediaCasException" since="26">
+		<extends name="java/lang/Exception"/>
+	</class>
+	<class name="android/media/MediaCasException$DeniedByServerException" since="26">
+		<extends name="android/media/MediaCasException"/>
+	</class>
+	<class name="android/media/MediaCasException$InsufficientResourceException" since="30">
+		<extends name="android/media/MediaCasException"/>
+	</class>
+	<class name="android/media/MediaCasException$NotProvisionedException" since="26">
+		<extends name="android/media/MediaCasException"/>
+	</class>
+	<class name="android/media/MediaCasException$ResourceBusyException" since="26">
+		<extends name="android/media/MediaCasException"/>
+	</class>
+	<class name="android/media/MediaCasException$UnsupportedCasException" since="26">
+		<extends name="android/media/MediaCasException"/>
+	</class>
+	<class name="android/media/MediaCasStateException" since="26">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="getDiagnosticInfo()Ljava/lang/String;"/>
+	</class>
+	<class name="android/media/MediaCodec" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="configure(Landroid/media/MediaFormat;Landroid/view/Surface;ILandroid/media/MediaDescrambler;)V" since="26"/>
+		<method name="configure(Landroid/media/MediaFormat;Landroid/view/Surface;Landroid/media/MediaCrypto;I)V"/>
+		<method name="createByCodecName(Ljava/lang/String;)Landroid/media/MediaCodec;"/>
+		<method name="createDecoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;"/>
+		<method name="createEncoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;"/>
+		<method name="createInputSurface()Landroid/view/Surface;" since="18"/>
+		<method name="createPersistentInputSurface()Landroid/view/Surface;" since="23"/>
+		<method name="dequeueInputBuffer(J)I"/>
+		<method name="dequeueOutputBuffer(Landroid/media/MediaCodec$BufferInfo;J)I"/>
+		<method name="flush()V"/>
+		<method name="getCanonicalName()Ljava/lang/String;" since="29"/>
+		<method name="getCodecInfo()Landroid/media/MediaCodecInfo;" since="18"/>
+		<method name="getInputBuffer(I)Ljava/nio/ByteBuffer;" since="21"/>
+		<method name="getInputBuffers()[Ljava/nio/ByteBuffer;" deprecated="21"/>
+		<method name="getInputFormat()Landroid/media/MediaFormat;" since="21"/>
+		<method name="getInputImage(I)Landroid/media/Image;" since="21"/>
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="26"/>
+		<method name="getName()Ljava/lang/String;" since="18"/>
+		<method name="getOutputBuffer(I)Ljava/nio/ByteBuffer;" since="21"/>
+		<method name="getOutputBuffers()[Ljava/nio/ByteBuffer;" deprecated="21"/>
+		<method name="getOutputFormat()Landroid/media/MediaFormat;"/>
+		<method name="getOutputFormat(I)Landroid/media/MediaFormat;" since="21"/>
+		<method name="getOutputFrame(I)Landroid/media/MediaCodec$OutputFrame;" since="30"/>
+		<method name="getOutputImage(I)Landroid/media/Image;" since="21"/>
+		<method name="getParameterDescriptor(Ljava/lang/String;)Landroid/media/MediaCodec$ParameterDescriptor;" since="31"/>
+		<method name="getQueueRequest(I)Landroid/media/MediaCodec$QueueRequest;" since="30"/>
+		<method name="getSupportedVendorParameters()Ljava/util/List;" since="31"/>
+		<method name="mapHardwareBuffer(Landroid/hardware/HardwareBuffer;)Landroid/media/Image;" since="30"/>
+		<method name="queueInputBuffer(IIIJI)V"/>
+		<method name="queueSecureInputBuffer(IILandroid/media/MediaCodec$CryptoInfo;JI)V"/>
+		<method name="release()V"/>
+		<method name="releaseOutputBuffer(IJ)V" since="21"/>
+		<method name="releaseOutputBuffer(IZ)V"/>
+		<method name="reset()V" since="21"/>
+		<method name="setAudioPresentation(Landroid/media/AudioPresentation;)V" since="29"/>
+		<method name="setCallback(Landroid/media/MediaCodec$Callback;)V" since="21"/>
+		<method name="setCallback(Landroid/media/MediaCodec$Callback;Landroid/os/Handler;)V" since="23"/>
+		<method name="setInputSurface(Landroid/view/Surface;)V" since="23"/>
+		<method name="setOnFirstTunnelFrameReadyListener(Landroid/os/Handler;Landroid/media/MediaCodec$OnFirstTunnelFrameReadyListener;)V" since="31"/>
+		<method name="setOnFrameRenderedListener(Landroid/media/MediaCodec$OnFrameRenderedListener;Landroid/os/Handler;)V" since="23"/>
+		<method name="setOutputSurface(Landroid/view/Surface;)V" since="23"/>
+		<method name="setParameters(Landroid/os/Bundle;)V" since="19"/>
+		<method name="setVideoScalingMode(I)V"/>
+		<method name="signalEndOfInputStream()V" since="18"/>
+		<method name="start()V"/>
+		<method name="stop()V"/>
+		<method name="subscribeToVendorParameters(Ljava/util/List;)V" since="31"/>
+		<method name="unsubscribeFromVendorParameters(Ljava/util/List;)V" since="31"/>
+		<field name="BUFFER_FLAG_CODEC_CONFIG"/>
+		<field name="BUFFER_FLAG_END_OF_STREAM"/>
+		<field name="BUFFER_FLAG_KEY_FRAME" since="21"/>
+		<field name="BUFFER_FLAG_PARTIAL_FRAME" since="26"/>
+		<field name="BUFFER_FLAG_SYNC_FRAME" deprecated="21"/>
+		<field name="CONFIGURE_FLAG_ENCODE"/>
+		<field name="CONFIGURE_FLAG_USE_BLOCK_MODEL" since="30"/>
+		<field name="CRYPTO_MODE_AES_CBC" since="24"/>
+		<field name="CRYPTO_MODE_AES_CTR"/>
+		<field name="CRYPTO_MODE_UNENCRYPTED"/>
+		<field name="INFO_OUTPUT_BUFFERS_CHANGED" deprecated="21"/>
+		<field name="INFO_OUTPUT_FORMAT_CHANGED"/>
+		<field name="INFO_TRY_AGAIN_LATER"/>
+		<field name="PARAMETER_KEY_HDR10_PLUS_INFO" since="29"/>
+		<field name="PARAMETER_KEY_LOW_LATENCY" since="30"/>
+		<field name="PARAMETER_KEY_OFFSET_TIME" since="29"/>
+		<field name="PARAMETER_KEY_REQUEST_SYNC_FRAME" since="19"/>
+		<field name="PARAMETER_KEY_SUSPEND" since="19"/>
+		<field name="PARAMETER_KEY_SUSPEND_TIME" since="29"/>
+		<field name="PARAMETER_KEY_TUNNEL_PEEK" since="31"/>
+		<field name="PARAMETER_KEY_VIDEO_BITRATE" since="19"/>
+		<field name="VIDEO_SCALING_MODE_SCALE_TO_FIT"/>
+		<field name="VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING"/>
+	</class>
+	<class name="android/media/MediaCodec$BufferInfo" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="set(IIJI)V"/>
+		<field name="flags"/>
+		<field name="offset"/>
+		<field name="presentationTimeUs"/>
+		<field name="size"/>
+	</class>
+	<class name="android/media/MediaCodec$Callback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onError(Landroid/media/MediaCodec;Landroid/media/MediaCodec$CodecException;)V"/>
+		<method name="onInputBufferAvailable(Landroid/media/MediaCodec;I)V"/>
+		<method name="onOutputBufferAvailable(Landroid/media/MediaCodec;ILandroid/media/MediaCodec$BufferInfo;)V"/>
+		<method name="onOutputFormatChanged(Landroid/media/MediaCodec;Landroid/media/MediaFormat;)V"/>
+	</class>
+	<class name="android/media/MediaCodec$CodecException" since="21">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="getDiagnosticInfo()Ljava/lang/String;"/>
+		<method name="getErrorCode()I" since="23"/>
+		<method name="isRecoverable()Z"/>
+		<method name="isTransient()Z"/>
+		<field name="ERROR_INSUFFICIENT_RESOURCE" since="23"/>
+		<field name="ERROR_RECLAIMED" since="23"/>
+	</class>
+	<class name="android/media/MediaCodec$CryptoException" since="16">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+		<method name="getErrorCode()I"/>
+		<field name="ERROR_FRAME_TOO_LARGE" since="29" deprecated="31"/>
+		<field name="ERROR_INSUFFICIENT_OUTPUT_PROTECTION" since="21" deprecated="31"/>
+		<field name="ERROR_INSUFFICIENT_SECURITY" since="29" deprecated="31"/>
+		<field name="ERROR_KEY_EXPIRED" since="19" deprecated="31"/>
+		<field name="ERROR_LOST_STATE" since="29" deprecated="31"/>
+		<field name="ERROR_NO_KEY" since="19" deprecated="31"/>
+		<field name="ERROR_RESOURCE_BUSY" since="19" deprecated="31"/>
+		<field name="ERROR_SESSION_NOT_OPENED" since="23" deprecated="31"/>
+		<field name="ERROR_UNSUPPORTED_OPERATION" since="24" deprecated="31"/>
+	</class>
+	<class name="android/media/MediaCodec$CryptoInfo" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getPattern()Landroid/media/MediaCodec$CryptoInfo$Pattern;" since="31"/>
+		<method name="set(I[I[I[B[BI)V"/>
+		<method name="setPattern(Landroid/media/MediaCodec$CryptoInfo$Pattern;)V" since="24"/>
+		<field name="iv"/>
+		<field name="key"/>
+		<field name="mode"/>
+		<field name="numBytesOfClearData"/>
+		<field name="numBytesOfEncryptedData"/>
+		<field name="numSubSamples"/>
+	</class>
+	<class name="android/media/MediaCodec$CryptoInfo$Pattern" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getEncryptBlocks()I"/>
+		<method name="getSkipBlocks()I"/>
+		<method name="set(II)V"/>
+	</class>
+	<class name="android/media/MediaCodec$IncompatibleWithBlockModelException" since="30">
+		<extends name="java/lang/RuntimeException"/>
+	</class>
+	<class name="android/media/MediaCodec$LinearBlock" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="isCodecCopyFreeCompatible([Ljava/lang/String;)Z"/>
+		<method name="isMappable()Z"/>
+		<method name="map()Ljava/nio/ByteBuffer;"/>
+		<method name="obtain(I[Ljava/lang/String;)Landroid/media/MediaCodec$LinearBlock;"/>
+		<method name="recycle()V"/>
+	</class>
+	<class name="android/media/MediaCodec$MetricsConstants" since="26">
+		<extends name="java/lang/Object"/>
+		<field name="CODEC"/>
+		<field name="ENCODER"/>
+		<field name="HEIGHT"/>
+		<field name="MIME_TYPE"/>
+		<field name="MODE"/>
+		<field name="MODE_AUDIO"/>
+		<field name="MODE_VIDEO"/>
+		<field name="ROTATION"/>
+		<field name="SECURE"/>
+		<field name="WIDTH"/>
+	</class>
+	<class name="android/media/MediaCodec$OnFirstTunnelFrameReadyListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onFirstTunnelFrameReady(Landroid/media/MediaCodec;)V"/>
+	</class>
+	<class name="android/media/MediaCodec$OnFrameRenderedListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onFrameRendered(Landroid/media/MediaCodec;JJ)V"/>
+	</class>
+	<class name="android/media/MediaCodec$OutputFrame" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getChangedKeys()Ljava/util/Set;"/>
+		<method name="getFlags()I"/>
+		<method name="getFormat()Landroid/media/MediaFormat;"/>
+		<method name="getHardwareBuffer()Landroid/hardware/HardwareBuffer;"/>
+		<method name="getLinearBlock()Landroid/media/MediaCodec$LinearBlock;"/>
+		<method name="getPresentationTimeUs()J"/>
+	</class>
+	<class name="android/media/MediaCodec$ParameterDescriptor" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getType()I"/>
+	</class>
+	<class name="android/media/MediaCodec$QueueRequest" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="queue()V"/>
+		<method name="setByteBufferParameter(Ljava/lang/String;Ljava/nio/ByteBuffer;)Landroid/media/MediaCodec$QueueRequest;"/>
+		<method name="setEncryptedLinearBlock(Landroid/media/MediaCodec$LinearBlock;IILandroid/media/MediaCodec$CryptoInfo;)Landroid/media/MediaCodec$QueueRequest;"/>
+		<method name="setFlags(I)Landroid/media/MediaCodec$QueueRequest;"/>
+		<method name="setFloatParameter(Ljava/lang/String;F)Landroid/media/MediaCodec$QueueRequest;"/>
+		<method name="setHardwareBuffer(Landroid/hardware/HardwareBuffer;)Landroid/media/MediaCodec$QueueRequest;"/>
+		<method name="setIntegerParameter(Ljava/lang/String;I)Landroid/media/MediaCodec$QueueRequest;"/>
+		<method name="setLinearBlock(Landroid/media/MediaCodec$LinearBlock;II)Landroid/media/MediaCodec$QueueRequest;"/>
+		<method name="setLongParameter(Ljava/lang/String;J)Landroid/media/MediaCodec$QueueRequest;"/>
+		<method name="setPresentationTimeUs(J)Landroid/media/MediaCodec$QueueRequest;"/>
+		<method name="setStringParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/media/MediaCodec$QueueRequest;"/>
+	</class>
+	<class name="android/media/MediaCodecInfo" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="getCanonicalName()Ljava/lang/String;" since="29"/>
+		<method name="getCapabilitiesForType(Ljava/lang/String;)Landroid/media/MediaCodecInfo$CodecCapabilities;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getSupportedTypes()[Ljava/lang/String;"/>
+		<method name="isAlias()Z" since="29"/>
+		<method name="isEncoder()Z"/>
+		<method name="isHardwareAccelerated()Z" since="29"/>
+		<method name="isSoftwareOnly()Z" since="29"/>
+		<method name="isVendor()Z" since="29"/>
+	</class>
+	<class name="android/media/MediaCodecInfo$AudioCapabilities" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getBitrateRange()Landroid/util/Range;"/>
+		<method name="getInputChannelCountRanges()[Landroid/util/Range;" since="31"/>
+		<method name="getMaxInputChannelCount()I"/>
+		<method name="getMinInputChannelCount()I" since="31"/>
+		<method name="getSupportedSampleRateRanges()[Landroid/util/Range;"/>
+		<method name="getSupportedSampleRates()[I"/>
+		<method name="isSampleRateSupported(I)Z"/>
+	</class>
+	<class name="android/media/MediaCodecInfo$CodecCapabilities" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="createFromProfileLevel(Ljava/lang/String;II)Landroid/media/MediaCodecInfo$CodecCapabilities;" since="21"/>
+		<method name="getAudioCapabilities()Landroid/media/MediaCodecInfo$AudioCapabilities;" since="21"/>
+		<method name="getDefaultFormat()Landroid/media/MediaFormat;" since="21"/>
+		<method name="getEncoderCapabilities()Landroid/media/MediaCodecInfo$EncoderCapabilities;" since="21"/>
+		<method name="getMaxSupportedInstances()I" since="23"/>
+		<method name="getMimeType()Ljava/lang/String;" since="21"/>
+		<method name="getVideoCapabilities()Landroid/media/MediaCodecInfo$VideoCapabilities;" since="21"/>
+		<method name="isFeatureRequired(Ljava/lang/String;)Z" since="21"/>
+		<method name="isFeatureSupported(Ljava/lang/String;)Z" since="19"/>
+		<method name="isFormatSupported(Landroid/media/MediaFormat;)Z" since="21"/>
+		<field name="COLOR_Format12bitRGB444" deprecated="23"/>
+		<field name="COLOR_Format16bitARGB1555" deprecated="23"/>
+		<field name="COLOR_Format16bitARGB4444" deprecated="23"/>
+		<field name="COLOR_Format16bitBGR565" deprecated="23"/>
+		<field name="COLOR_Format16bitRGB565"/>
+		<field name="COLOR_Format18BitBGR666" deprecated="23"/>
+		<field name="COLOR_Format18bitARGB1665" deprecated="23"/>
+		<field name="COLOR_Format18bitRGB666" deprecated="23"/>
+		<field name="COLOR_Format19bitARGB1666" deprecated="23"/>
+		<field name="COLOR_Format24BitABGR6666" deprecated="23"/>
+		<field name="COLOR_Format24BitARGB6666" deprecated="23"/>
+		<field name="COLOR_Format24bitARGB1887" deprecated="23"/>
+		<field name="COLOR_Format24bitBGR888"/>
+		<field name="COLOR_Format24bitRGB888" deprecated="23"/>
+		<field name="COLOR_Format25bitARGB1888" deprecated="23"/>
+		<field name="COLOR_Format32bitABGR8888" since="23"/>
+		<field name="COLOR_Format32bitARGB8888" deprecated="23"/>
+		<field name="COLOR_Format32bitBGRA8888" deprecated="23"/>
+		<field name="COLOR_Format8bitRGB332" deprecated="23"/>
+		<field name="COLOR_FormatCbYCrY" deprecated="23"/>
+		<field name="COLOR_FormatCrYCbY" deprecated="23"/>
+		<field name="COLOR_FormatL16"/>
+		<field name="COLOR_FormatL2" deprecated="23"/>
+		<field name="COLOR_FormatL24" deprecated="23"/>
+		<field name="COLOR_FormatL32" deprecated="23"/>
+		<field name="COLOR_FormatL4" deprecated="23"/>
+		<field name="COLOR_FormatL8"/>
+		<field name="COLOR_FormatMonochrome" deprecated="23"/>
+		<field name="COLOR_FormatRGBAFlexible" since="23"/>
+		<field name="COLOR_FormatRGBFlexible" since="23"/>
+		<field name="COLOR_FormatRawBayer10bit"/>
+		<field name="COLOR_FormatRawBayer8bit"/>
+		<field name="COLOR_FormatRawBayer8bitcompressed"/>
+		<field name="COLOR_FormatSurface" since="18"/>
+		<field name="COLOR_FormatYCbYCr" deprecated="23"/>
+		<field name="COLOR_FormatYCrYCb" deprecated="23"/>
+		<field name="COLOR_FormatYUV411PackedPlanar" deprecated="23"/>
+		<field name="COLOR_FormatYUV411Planar" deprecated="23"/>
+		<field name="COLOR_FormatYUV420Flexible" since="21"/>
+		<field name="COLOR_FormatYUV420PackedPlanar" deprecated="23"/>
+		<field name="COLOR_FormatYUV420PackedSemiPlanar" deprecated="23"/>
+		<field name="COLOR_FormatYUV420Planar" deprecated="23"/>
+		<field name="COLOR_FormatYUV420SemiPlanar" deprecated="23"/>
+		<field name="COLOR_FormatYUV422Flexible" since="23"/>
+		<field name="COLOR_FormatYUV422PackedPlanar" deprecated="23"/>
+		<field name="COLOR_FormatYUV422PackedSemiPlanar" deprecated="23"/>
+		<field name="COLOR_FormatYUV422Planar" deprecated="23"/>
+		<field name="COLOR_FormatYUV422SemiPlanar" deprecated="23"/>
+		<field name="COLOR_FormatYUV444Flexible" since="23"/>
+		<field name="COLOR_FormatYUV444Interleaved" deprecated="23"/>
+		<field name="COLOR_QCOM_FormatYUV420SemiPlanar" deprecated="23"/>
+		<field name="COLOR_TI_FormatYUV420PackedSemiPlanar" deprecated="23"/>
+		<field name="FEATURE_AdaptivePlayback" since="19"/>
+		<field name="FEATURE_DynamicTimestamp" since="29"/>
+		<field name="FEATURE_FrameParsing" since="29"/>
+		<field name="FEATURE_IntraRefresh" since="24"/>
+		<field name="FEATURE_LowLatency" since="30"/>
+		<field name="FEATURE_MultipleFrames" since="29"/>
+		<field name="FEATURE_PartialFrame" since="26"/>
+		<field name="FEATURE_QpBounds" since="31"/>
+		<field name="FEATURE_SecurePlayback" since="21"/>
+		<field name="FEATURE_TunneledPlayback" since="21"/>
+		<field name="colorFormats"/>
+		<field name="profileLevels"/>
+	</class>
+	<class name="android/media/MediaCodecInfo$CodecProfileLevel" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="AACObjectELD"/>
+		<field name="AACObjectERLC"/>
+		<field name="AACObjectERScalable" since="26"/>
+		<field name="AACObjectHE"/>
+		<field name="AACObjectHE_PS"/>
+		<field name="AACObjectLC"/>
+		<field name="AACObjectLD"/>
+		<field name="AACObjectLTP"/>
+		<field name="AACObjectMain"/>
+		<field name="AACObjectSSR"/>
+		<field name="AACObjectScalable"/>
+		<field name="AACObjectXHE" since="28"/>
+		<field name="AV1Level2" since="29"/>
+		<field name="AV1Level21" since="29"/>
+		<field name="AV1Level22" since="29"/>
+		<field name="AV1Level23" since="29"/>
+		<field name="AV1Level3" since="29"/>
+		<field name="AV1Level31" since="29"/>
+		<field name="AV1Level32" since="29"/>
+		<field name="AV1Level33" since="29"/>
+		<field name="AV1Level4" since="29"/>
+		<field name="AV1Level41" since="29"/>
+		<field name="AV1Level42" since="29"/>
+		<field name="AV1Level43" since="29"/>
+		<field name="AV1Level5" since="29"/>
+		<field name="AV1Level51" since="29"/>
+		<field name="AV1Level52" since="29"/>
+		<field name="AV1Level53" since="29"/>
+		<field name="AV1Level6" since="29"/>
+		<field name="AV1Level61" since="29"/>
+		<field name="AV1Level62" since="29"/>
+		<field name="AV1Level63" since="29"/>
+		<field name="AV1Level7" since="29"/>
+		<field name="AV1Level71" since="29"/>
+		<field name="AV1Level72" since="29"/>
+		<field name="AV1Level73" since="29"/>
+		<field name="AV1ProfileMain10" since="29"/>
+		<field name="AV1ProfileMain10HDR10" since="29"/>
+		<field name="AV1ProfileMain10HDR10Plus" since="29"/>
+		<field name="AV1ProfileMain8" since="29"/>
+		<field name="AVCLevel1"/>
+		<field name="AVCLevel11"/>
+		<field name="AVCLevel12"/>
+		<field name="AVCLevel13"/>
+		<field name="AVCLevel1b"/>
+		<field name="AVCLevel2"/>
+		<field name="AVCLevel21"/>
+		<field name="AVCLevel22"/>
+		<field name="AVCLevel3"/>
+		<field name="AVCLevel31"/>
+		<field name="AVCLevel32"/>
+		<field name="AVCLevel4"/>
+		<field name="AVCLevel41"/>
+		<field name="AVCLevel42"/>
+		<field name="AVCLevel5"/>
+		<field name="AVCLevel51"/>
+		<field name="AVCLevel52" since="21"/>
+		<field name="AVCLevel6" since="29"/>
+		<field name="AVCLevel61" since="29"/>
+		<field name="AVCLevel62" since="29"/>
+		<field name="AVCProfileBaseline"/>
+		<field name="AVCProfileConstrainedBaseline" since="27"/>
+		<field name="AVCProfileConstrainedHigh" since="27"/>
+		<field name="AVCProfileExtended"/>
+		<field name="AVCProfileHigh"/>
+		<field name="AVCProfileHigh10"/>
+		<field name="AVCProfileHigh422"/>
+		<field name="AVCProfileHigh444"/>
+		<field name="AVCProfileMain"/>
+		<field name="DolbyVisionLevelFhd24" since="24"/>
+		<field name="DolbyVisionLevelFhd30" since="24"/>
+		<field name="DolbyVisionLevelFhd60" since="24"/>
+		<field name="DolbyVisionLevelHd24" since="24"/>
+		<field name="DolbyVisionLevelHd30" since="24"/>
+		<field name="DolbyVisionLevelUhd24" since="24"/>
+		<field name="DolbyVisionLevelUhd30" since="24"/>
+		<field name="DolbyVisionLevelUhd48" since="24"/>
+		<field name="DolbyVisionLevelUhd60" since="24"/>
+		<field name="DolbyVisionProfileDvav110" since="30"/>
+		<field name="DolbyVisionProfileDvavPen" since="24"/>
+		<field name="DolbyVisionProfileDvavPer" since="24"/>
+		<field name="DolbyVisionProfileDvavSe" since="27"/>
+		<field name="DolbyVisionProfileDvheDen" since="24"/>
+		<field name="DolbyVisionProfileDvheDer" since="24"/>
+		<field name="DolbyVisionProfileDvheDtb" since="24"/>
+		<field name="DolbyVisionProfileDvheDth" since="24"/>
+		<field name="DolbyVisionProfileDvheDtr" since="24"/>
+		<field name="DolbyVisionProfileDvheSt" since="27"/>
+		<field name="DolbyVisionProfileDvheStn" since="24"/>
+		<field name="H263Level10"/>
+		<field name="H263Level20"/>
+		<field name="H263Level30"/>
+		<field name="H263Level40"/>
+		<field name="H263Level45"/>
+		<field name="H263Level50"/>
+		<field name="H263Level60"/>
+		<field name="H263Level70"/>
+		<field name="H263ProfileBackwardCompatible"/>
+		<field name="H263ProfileBaseline"/>
+		<field name="H263ProfileH320Coding"/>
+		<field name="H263ProfileHighCompression"/>
+		<field name="H263ProfileHighLatency"/>
+		<field name="H263ProfileISWV2"/>
+		<field name="H263ProfileISWV3"/>
+		<field name="H263ProfileInterlace"/>
+		<field name="H263ProfileInternet"/>
+		<field name="HEVCHighTierLevel1" since="21"/>
+		<field name="HEVCHighTierLevel2" since="21"/>
+		<field name="HEVCHighTierLevel21" since="21"/>
+		<field name="HEVCHighTierLevel3" since="21"/>
+		<field name="HEVCHighTierLevel31" since="21"/>
+		<field name="HEVCHighTierLevel4" since="21"/>
+		<field name="HEVCHighTierLevel41" since="21"/>
+		<field name="HEVCHighTierLevel5" since="21"/>
+		<field name="HEVCHighTierLevel51" since="21"/>
+		<field name="HEVCHighTierLevel52" since="21"/>
+		<field name="HEVCHighTierLevel6" since="21"/>
+		<field name="HEVCHighTierLevel61" since="21"/>
+		<field name="HEVCHighTierLevel62" since="21"/>
+		<field name="HEVCMainTierLevel1" since="21"/>
+		<field name="HEVCMainTierLevel2" since="21"/>
+		<field name="HEVCMainTierLevel21" since="21"/>
+		<field name="HEVCMainTierLevel3" since="21"/>
+		<field name="HEVCMainTierLevel31" since="21"/>
+		<field name="HEVCMainTierLevel4" since="21"/>
+		<field name="HEVCMainTierLevel41" since="21"/>
+		<field name="HEVCMainTierLevel5" since="21"/>
+		<field name="HEVCMainTierLevel51" since="21"/>
+		<field name="HEVCMainTierLevel52" since="21"/>
+		<field name="HEVCMainTierLevel6" since="21"/>
+		<field name="HEVCMainTierLevel61" since="21"/>
+		<field name="HEVCMainTierLevel62" since="21"/>
+		<field name="HEVCProfileMain" since="21"/>
+		<field name="HEVCProfileMain10" since="21"/>
+		<field name="HEVCProfileMain10HDR10" since="24"/>
+		<field name="HEVCProfileMain10HDR10Plus" since="29"/>
+		<field name="HEVCProfileMainStill" since="28"/>
+		<field name="MPEG2LevelH14" since="23"/>
+		<field name="MPEG2LevelHL" since="23"/>
+		<field name="MPEG2LevelHP" since="24"/>
+		<field name="MPEG2LevelLL" since="23"/>
+		<field name="MPEG2LevelML" since="23"/>
+		<field name="MPEG2Profile422" since="23"/>
+		<field name="MPEG2ProfileHigh" since="23"/>
+		<field name="MPEG2ProfileMain" since="23"/>
+		<field name="MPEG2ProfileSNR" since="23"/>
+		<field name="MPEG2ProfileSimple" since="23"/>
+		<field name="MPEG2ProfileSpatial" since="23"/>
+		<field name="MPEG4Level0"/>
+		<field name="MPEG4Level0b"/>
+		<field name="MPEG4Level1"/>
+		<field name="MPEG4Level2"/>
+		<field name="MPEG4Level3"/>
+		<field name="MPEG4Level3b" since="24"/>
+		<field name="MPEG4Level4"/>
+		<field name="MPEG4Level4a"/>
+		<field name="MPEG4Level5"/>
+		<field name="MPEG4Level6" since="24"/>
+		<field name="MPEG4ProfileAdvancedCoding"/>
+		<field name="MPEG4ProfileAdvancedCore"/>
+		<field name="MPEG4ProfileAdvancedRealTime"/>
+		<field name="MPEG4ProfileAdvancedScalable"/>
+		<field name="MPEG4ProfileAdvancedSimple"/>
+		<field name="MPEG4ProfileBasicAnimated"/>
+		<field name="MPEG4ProfileCore"/>
+		<field name="MPEG4ProfileCoreScalable"/>
+		<field name="MPEG4ProfileHybrid"/>
+		<field name="MPEG4ProfileMain"/>
+		<field name="MPEG4ProfileNbit"/>
+		<field name="MPEG4ProfileScalableTexture"/>
+		<field name="MPEG4ProfileSimple"/>
+		<field name="MPEG4ProfileSimpleFBA"/>
+		<field name="MPEG4ProfileSimpleFace"/>
+		<field name="MPEG4ProfileSimpleScalable"/>
+		<field name="VP8Level_Version0" since="18"/>
+		<field name="VP8Level_Version1" since="18"/>
+		<field name="VP8Level_Version2" since="18"/>
+		<field name="VP8Level_Version3" since="18"/>
+		<field name="VP8ProfileMain" since="18"/>
+		<field name="VP9Level1" since="24"/>
+		<field name="VP9Level11" since="24"/>
+		<field name="VP9Level2" since="24"/>
+		<field name="VP9Level21" since="24"/>
+		<field name="VP9Level3" since="24"/>
+		<field name="VP9Level31" since="24"/>
+		<field name="VP9Level4" since="24"/>
+		<field name="VP9Level41" since="24"/>
+		<field name="VP9Level5" since="24"/>
+		<field name="VP9Level51" since="24"/>
+		<field name="VP9Level52" since="24"/>
+		<field name="VP9Level6" since="24"/>
+		<field name="VP9Level61" since="24"/>
+		<field name="VP9Level62" since="24"/>
+		<field name="VP9Profile0" since="24"/>
+		<field name="VP9Profile1" since="24"/>
+		<field name="VP9Profile2" since="24"/>
+		<field name="VP9Profile2HDR" since="24"/>
+		<field name="VP9Profile2HDR10Plus" since="29"/>
+		<field name="VP9Profile3" since="24"/>
+		<field name="VP9Profile3HDR" since="24"/>
+		<field name="VP9Profile3HDR10Plus" since="29"/>
+		<field name="level"/>
+		<field name="profile"/>
+	</class>
+	<class name="android/media/MediaCodecInfo$EncoderCapabilities" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getComplexityRange()Landroid/util/Range;"/>
+		<method name="getQualityRange()Landroid/util/Range;" since="28"/>
+		<method name="isBitrateModeSupported(I)Z"/>
+		<field name="BITRATE_MODE_CBR"/>
+		<field name="BITRATE_MODE_CBR_FD" since="31"/>
+		<field name="BITRATE_MODE_CQ"/>
+		<field name="BITRATE_MODE_VBR"/>
+	</class>
+	<class name="android/media/MediaCodecInfo$VideoCapabilities" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="areSizeAndRateSupported(IID)Z"/>
+		<method name="getAchievableFrameRatesFor(II)Landroid/util/Range;" since="23"/>
+		<method name="getBitrateRange()Landroid/util/Range;"/>
+		<method name="getHeightAlignment()I"/>
+		<method name="getSupportedFrameRates()Landroid/util/Range;"/>
+		<method name="getSupportedFrameRatesFor(II)Landroid/util/Range;"/>
+		<method name="getSupportedHeights()Landroid/util/Range;"/>
+		<method name="getSupportedHeightsFor(I)Landroid/util/Range;"/>
+		<method name="getSupportedPerformancePoints()Ljava/util/List;" since="29"/>
+		<method name="getSupportedWidths()Landroid/util/Range;"/>
+		<method name="getSupportedWidthsFor(I)Landroid/util/Range;"/>
+		<method name="getWidthAlignment()I"/>
+		<method name="isSizeSupported(II)Z"/>
+	</class>
+	<class name="android/media/MediaCodecInfo$VideoCapabilities$PerformancePoint" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="covers(Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;)Z"/>
+		<method name="covers(Landroid/media/MediaFormat;)Z"/>
+		<field name="FHD_100"/>
+		<field name="FHD_120"/>
+		<field name="FHD_200"/>
+		<field name="FHD_24"/>
+		<field name="FHD_240"/>
+		<field name="FHD_25"/>
+		<field name="FHD_30"/>
+		<field name="FHD_50"/>
+		<field name="FHD_60"/>
+		<field name="HD_100"/>
+		<field name="HD_120"/>
+		<field name="HD_200"/>
+		<field name="HD_24"/>
+		<field name="HD_240"/>
+		<field name="HD_25"/>
+		<field name="HD_30"/>
+		<field name="HD_50"/>
+		<field name="HD_60"/>
+		<field name="SD_24"/>
+		<field name="SD_25"/>
+		<field name="SD_30"/>
+		<field name="SD_48"/>
+		<field name="SD_50"/>
+		<field name="SD_60"/>
+		<field name="UHD_100"/>
+		<field name="UHD_120"/>
+		<field name="UHD_200"/>
+		<field name="UHD_24"/>
+		<field name="UHD_240"/>
+		<field name="UHD_25"/>
+		<field name="UHD_30"/>
+		<field name="UHD_50"/>
+		<field name="UHD_60"/>
+	</class>
+	<class name="android/media/MediaCodecList" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V" since="21"/>
+		<method name="findDecoderForFormat(Landroid/media/MediaFormat;)Ljava/lang/String;" since="21"/>
+		<method name="findEncoderForFormat(Landroid/media/MediaFormat;)Ljava/lang/String;" since="21"/>
+		<method name="getCodecCount()I" deprecated="21"/>
+		<method name="getCodecInfoAt(I)Landroid/media/MediaCodecInfo;" deprecated="21"/>
+		<method name="getCodecInfos()[Landroid/media/MediaCodecInfo;" since="21"/>
+		<field name="ALL_CODECS" since="21"/>
+		<field name="REGULAR_CODECS" since="21"/>
+	</class>
+	<class name="android/media/MediaCommunicationManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getSession2Tokens()Ljava/util/List;"/>
+		<method name="getVersion()I"/>
+	</class>
+	<class name="android/media/MediaController2" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="cancelSessionCommand(Ljava/lang/Object;)V"/>
+		<method name="getConnectedToken()Landroid/media/Session2Token;"/>
+		<method name="isPlaybackActive()Z"/>
+		<method name="sendSessionCommand(Landroid/media/Session2Command;Landroid/os/Bundle;)Ljava/lang/Object;"/>
+	</class>
+	<class name="android/media/MediaController2$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/media/Session2Token;)V"/>
+		<method name="build()Landroid/media/MediaController2;"/>
+		<method name="setConnectionHints(Landroid/os/Bundle;)Landroid/media/MediaController2$Builder;"/>
+		<method name="setControllerCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaController2$ControllerCallback;)Landroid/media/MediaController2$Builder;"/>
+	</class>
+	<class name="android/media/MediaController2$ControllerCallback" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCommandResult(Landroid/media/MediaController2;Ljava/lang/Object;Landroid/media/Session2Command;Landroid/media/Session2Command$Result;)V"/>
+		<method name="onConnected(Landroid/media/MediaController2;Landroid/media/Session2CommandGroup;)V"/>
+		<method name="onDisconnected(Landroid/media/MediaController2;)V"/>
+		<method name="onPlaybackActiveChanged(Landroid/media/MediaController2;Z)V"/>
+		<method name="onSessionCommand(Landroid/media/MediaController2;Landroid/media/Session2Command;Landroid/os/Bundle;)Landroid/media/Session2Command$Result;"/>
+	</class>
+	<class name="android/media/MediaCrypto" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/util/UUID;[B)V"/>
+		<method name="isCryptoSchemeSupported(Ljava/util/UUID;)Z"/>
+		<method name="release()V"/>
+		<method name="requiresSecureDecoderComponent(Ljava/lang/String;)Z"/>
+		<method name="setMediaDrmSession([B)V" since="23"/>
+	</class>
+	<class name="android/media/MediaCryptoException" since="16">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/MediaDataSource" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getSize()J"/>
+		<method name="readAt(J[BII)I"/>
+	</class>
+	<class name="android/media/MediaDescrambler" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="descramble(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Landroid/media/MediaCodec$CryptoInfo;)I"/>
+		<method name="requiresSecureDecoderComponent(Ljava/lang/String;)Z"/>
+		<method name="setMediaCasSession(Landroid/media/MediaCas$Session;)V"/>
+		<field name="SCRAMBLE_CONTROL_EVEN_KEY" since="28"/>
+		<field name="SCRAMBLE_CONTROL_ODD_KEY" since="28"/>
+		<field name="SCRAMBLE_CONTROL_RESERVED" since="28"/>
+		<field name="SCRAMBLE_CONTROL_UNSCRAMBLED" since="28"/>
+		<field name="SCRAMBLE_FLAG_PES_HEADER" since="28"/>
+	</class>
+	<class name="android/media/MediaDescription" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDescription()Ljava/lang/CharSequence;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getIconBitmap()Landroid/graphics/Bitmap;"/>
+		<method name="getIconUri()Landroid/net/Uri;"/>
+		<method name="getMediaId()Ljava/lang/String;"/>
+		<method name="getMediaUri()Landroid/net/Uri;" since="23"/>
+		<method name="getSubtitle()Ljava/lang/CharSequence;"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<field name="BT_FOLDER_TYPE_ALBUMS" since="26"/>
+		<field name="BT_FOLDER_TYPE_ARTISTS" since="26"/>
+		<field name="BT_FOLDER_TYPE_GENRES" since="26"/>
+		<field name="BT_FOLDER_TYPE_MIXED" since="26"/>
+		<field name="BT_FOLDER_TYPE_PLAYLISTS" since="26"/>
+		<field name="BT_FOLDER_TYPE_TITLES" since="26"/>
+		<field name="BT_FOLDER_TYPE_YEARS" since="26"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_BT_FOLDER_TYPE" since="26"/>
+	</class>
+	<class name="android/media/MediaDescription$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/media/MediaDescription;"/>
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/media/MediaDescription$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/MediaDescription$Builder;"/>
+		<method name="setIconBitmap(Landroid/graphics/Bitmap;)Landroid/media/MediaDescription$Builder;"/>
+		<method name="setIconUri(Landroid/net/Uri;)Landroid/media/MediaDescription$Builder;"/>
+		<method name="setMediaId(Ljava/lang/String;)Landroid/media/MediaDescription$Builder;"/>
+		<method name="setMediaUri(Landroid/net/Uri;)Landroid/media/MediaDescription$Builder;" since="23"/>
+		<method name="setSubtitle(Ljava/lang/CharSequence;)Landroid/media/MediaDescription$Builder;"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/media/MediaDescription$Builder;"/>
+	</class>
+	<class name="android/media/MediaDrm" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="28"/>
+		<method name="&lt;init>(Ljava/util/UUID;)V"/>
+		<method name="clearOnEventListener()V" since="29"/>
+		<method name="clearOnExpirationUpdateListener()V" since="29"/>
+		<method name="clearOnKeyStatusChangeListener()V" since="29"/>
+		<method name="clearOnSessionLostStateListener()V" since="29"/>
+		<method name="closeSession([B)V"/>
+		<method name="getConnectedHdcpLevel()I" since="28"/>
+		<method name="getCryptoSession([BLjava/lang/String;Ljava/lang/String;)Landroid/media/MediaDrm$CryptoSession;"/>
+		<method name="getKeyRequest([B[BLjava/lang/String;ILjava/util/HashMap;)Landroid/media/MediaDrm$KeyRequest;"/>
+		<method name="getLogMessages()Ljava/util/List;" since="31"/>
+		<method name="getMaxHdcpLevel()I" since="28"/>
+		<method name="getMaxSecurityLevel()I" since="28"/>
+		<method name="getMaxSessionCount()I" since="28"/>
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="28"/>
+		<method name="getOfflineLicenseKeySetIds()Ljava/util/List;" since="29"/>
+		<method name="getOfflineLicenseState([B)I" since="29"/>
+		<method name="getOpenSessionCount()I" since="28"/>
+		<method name="getPlaybackComponent([B)Landroid/media/MediaDrm$PlaybackComponent;" since="31"/>
+		<method name="getPropertyByteArray(Ljava/lang/String;)[B"/>
+		<method name="getPropertyString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getProvisionRequest()Landroid/media/MediaDrm$ProvisionRequest;"/>
+		<method name="getSecureStop([B)[B" since="22"/>
+		<method name="getSecureStopIds()Ljava/util/List;" since="28"/>
+		<method name="getSecureStops()Ljava/util/List;"/>
+		<method name="getSecurityLevel([B)I" since="28"/>
+		<method name="getSupportedCryptoSchemes()Ljava/util/List;" since="30"/>
+		<method name="isCryptoSchemeSupported(Ljava/util/UUID;)Z"/>
+		<method name="isCryptoSchemeSupported(Ljava/util/UUID;Ljava/lang/String;)Z" since="19"/>
+		<method name="isCryptoSchemeSupported(Ljava/util/UUID;Ljava/lang/String;I)Z" since="29"/>
+		<method name="openSession()[B"/>
+		<method name="openSession(I)[B" since="28"/>
+		<method name="provideKeyResponse([B[B)[B"/>
+		<method name="provideProvisionResponse([B)V"/>
+		<method name="queryKeyStatus([B)Ljava/util/HashMap;"/>
+		<method name="release()V" deprecated="28"/>
+		<method name="releaseAllSecureStops()V" since="22" deprecated="28"/>
+		<method name="releaseSecureStops([B)V"/>
+		<method name="removeAllSecureStops()V" since="28"/>
+		<method name="removeKeys([B)V"/>
+		<method name="removeOfflineLicense([B)V" since="29"/>
+		<method name="removeSecureStop([B)V" since="28"/>
+		<method name="requiresSecureDecoder(Ljava/lang/String;)Z" since="31"/>
+		<method name="requiresSecureDecoder(Ljava/lang/String;I)Z" since="31"/>
+		<method name="restoreKeys([B[B)V"/>
+		<method name="setOnEventListener(Landroid/media/MediaDrm$OnEventListener;)V"/>
+		<method name="setOnEventListener(Landroid/media/MediaDrm$OnEventListener;Landroid/os/Handler;)V" since="29"/>
+		<method name="setOnEventListener(Ljava/util/concurrent/Executor;Landroid/media/MediaDrm$OnEventListener;)V" since="29"/>
+		<method name="setOnExpirationUpdateListener(Landroid/media/MediaDrm$OnExpirationUpdateListener;Landroid/os/Handler;)V" since="23"/>
+		<method name="setOnExpirationUpdateListener(Ljava/util/concurrent/Executor;Landroid/media/MediaDrm$OnExpirationUpdateListener;)V" since="29"/>
+		<method name="setOnKeyStatusChangeListener(Landroid/media/MediaDrm$OnKeyStatusChangeListener;Landroid/os/Handler;)V" since="23"/>
+		<method name="setOnKeyStatusChangeListener(Ljava/util/concurrent/Executor;Landroid/media/MediaDrm$OnKeyStatusChangeListener;)V" since="29"/>
+		<method name="setOnSessionLostStateListener(Landroid/media/MediaDrm$OnSessionLostStateListener;Landroid/os/Handler;)V" since="29"/>
+		<method name="setOnSessionLostStateListener(Ljava/util/concurrent/Executor;Landroid/media/MediaDrm$OnSessionLostStateListener;)V" since="29"/>
+		<method name="setPropertyByteArray(Ljava/lang/String;[B)V"/>
+		<method name="setPropertyString(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="EVENT_KEY_EXPIRED" deprecated="26"/>
+		<field name="EVENT_KEY_REQUIRED"/>
+		<field name="EVENT_PROVISION_REQUIRED" deprecated="23"/>
+		<field name="EVENT_SESSION_RECLAIMED" since="23"/>
+		<field name="EVENT_VENDOR_DEFINED"/>
+		<field name="HDCP_LEVEL_UNKNOWN" since="28"/>
+		<field name="HDCP_NONE" since="28"/>
+		<field name="HDCP_NO_DIGITAL_OUTPUT" since="28"/>
+		<field name="HDCP_V1" since="28"/>
+		<field name="HDCP_V2" since="28"/>
+		<field name="HDCP_V2_1" since="28"/>
+		<field name="HDCP_V2_2" since="28"/>
+		<field name="HDCP_V2_3" since="29"/>
+		<field name="KEY_TYPE_OFFLINE"/>
+		<field name="KEY_TYPE_RELEASE"/>
+		<field name="KEY_TYPE_STREAMING"/>
+		<field name="OFFLINE_LICENSE_STATE_RELEASED" since="29"/>
+		<field name="OFFLINE_LICENSE_STATE_UNKNOWN" since="29"/>
+		<field name="OFFLINE_LICENSE_STATE_USABLE" since="29"/>
+		<field name="PROPERTY_ALGORITHMS"/>
+		<field name="PROPERTY_DESCRIPTION"/>
+		<field name="PROPERTY_DEVICE_UNIQUE_ID"/>
+		<field name="PROPERTY_VENDOR"/>
+		<field name="PROPERTY_VERSION"/>
+		<field name="SECURITY_LEVEL_HW_SECURE_ALL" since="28"/>
+		<field name="SECURITY_LEVEL_HW_SECURE_CRYPTO" since="28"/>
+		<field name="SECURITY_LEVEL_HW_SECURE_DECODE" since="28"/>
+		<field name="SECURITY_LEVEL_SW_SECURE_CRYPTO" since="28"/>
+		<field name="SECURITY_LEVEL_SW_SECURE_DECODE" since="28"/>
+		<field name="SECURITY_LEVEL_UNKNOWN" since="28"/>
+	</class>
+	<class name="android/media/MediaDrm$CryptoSession" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="decrypt([B[B[B)[B"/>
+		<method name="encrypt([B[B[B)[B"/>
+		<method name="sign([B[B)[B"/>
+		<method name="verify([B[B[B)Z"/>
+	</class>
+	<class name="android/media/MediaDrm$ErrorCodes" since="31">
+		<extends name="java/lang/Object"/>
+		<field name="ERROR_CERTIFICATE_MALFORMED"/>
+		<field name="ERROR_CERTIFICATE_MISSING"/>
+		<field name="ERROR_CRYPTO_LIBRARY"/>
+		<field name="ERROR_FRAME_TOO_LARGE"/>
+		<field name="ERROR_GENERIC_OEM"/>
+		<field name="ERROR_GENERIC_PLUGIN"/>
+		<field name="ERROR_INIT_DATA"/>
+		<field name="ERROR_INSUFFICIENT_OUTPUT_PROTECTION"/>
+		<field name="ERROR_INSUFFICIENT_SECURITY"/>
+		<field name="ERROR_KEY_EXPIRED"/>
+		<field name="ERROR_KEY_NOT_LOADED"/>
+		<field name="ERROR_LICENSE_PARSE"/>
+		<field name="ERROR_LICENSE_POLICY"/>
+		<field name="ERROR_LICENSE_RELEASE"/>
+		<field name="ERROR_LICENSE_REQUEST_REJECTED"/>
+		<field name="ERROR_LICENSE_RESTORE"/>
+		<field name="ERROR_LICENSE_STATE"/>
+		<field name="ERROR_LOST_STATE"/>
+		<field name="ERROR_MEDIA_FRAMEWORK"/>
+		<field name="ERROR_NO_KEY"/>
+		<field name="ERROR_PROVISIONING_CERTIFICATE"/>
+		<field name="ERROR_PROVISIONING_CONFIG"/>
+		<field name="ERROR_PROVISIONING_PARSE"/>
+		<field name="ERROR_PROVISIONING_REQUEST_REJECTED"/>
+		<field name="ERROR_PROVISIONING_RETRY"/>
+		<field name="ERROR_RESOURCE_BUSY"/>
+		<field name="ERROR_RESOURCE_CONTENTION"/>
+		<field name="ERROR_SECURE_STOP_RELEASE"/>
+		<field name="ERROR_SESSION_NOT_OPENED"/>
+		<field name="ERROR_STORAGE_READ"/>
+		<field name="ERROR_STORAGE_WRITE"/>
+		<field name="ERROR_UNKNOWN"/>
+		<field name="ERROR_UNSUPPORTED_OPERATION"/>
+		<field name="ERROR_ZERO_SUBSAMPLES"/>
+	</class>
+	<class name="android/media/MediaDrm$HdcpLevel" since="28" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="android/media/MediaDrm$KeyRequest" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="getData()[B"/>
+		<method name="getDefaultUrl()Ljava/lang/String;"/>
+		<method name="getRequestType()I" since="23"/>
+		<field name="REQUEST_TYPE_INITIAL" since="23"/>
+		<field name="REQUEST_TYPE_NONE" since="28"/>
+		<field name="REQUEST_TYPE_RELEASE" since="23"/>
+		<field name="REQUEST_TYPE_RENEWAL" since="23"/>
+		<field name="REQUEST_TYPE_UPDATE" since="28"/>
+	</class>
+	<class name="android/media/MediaDrm$KeyStatus" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getKeyId()[B"/>
+		<method name="getStatusCode()I"/>
+		<field name="STATUS_EXPIRED"/>
+		<field name="STATUS_INTERNAL_ERROR"/>
+		<field name="STATUS_OUTPUT_NOT_ALLOWED"/>
+		<field name="STATUS_PENDING"/>
+		<field name="STATUS_USABLE"/>
+		<field name="STATUS_USABLE_IN_FUTURE" since="29"/>
+	</class>
+	<class name="android/media/MediaDrm$LogMessage" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getMessage()Ljava/lang/String;"/>
+		<method name="getPriority()I"/>
+		<method name="getTimestampMillis()J"/>
+	</class>
+	<class name="android/media/MediaDrm$MediaDrmStateException" since="21">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="getDiagnosticInfo()Ljava/lang/String;"/>
+		<method name="getErrorCode()I" since="31"/>
+		<method name="isTransient()Z" since="31"/>
+	</class>
+	<class name="android/media/MediaDrm$MetricsConstants" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="CLOSE_SESSION_ERROR_COUNT"/>
+		<field name="CLOSE_SESSION_ERROR_LIST"/>
+		<field name="CLOSE_SESSION_OK_COUNT"/>
+		<field name="EVENT_KEY_EXPIRED_COUNT"/>
+		<field name="EVENT_KEY_NEEDED_COUNT"/>
+		<field name="EVENT_PROVISION_REQUIRED_COUNT"/>
+		<field name="EVENT_SESSION_RECLAIMED_COUNT"/>
+		<field name="EVENT_VENDOR_DEFINED_COUNT"/>
+		<field name="GET_DEVICE_UNIQUE_ID_ERROR_COUNT"/>
+		<field name="GET_DEVICE_UNIQUE_ID_ERROR_LIST"/>
+		<field name="GET_DEVICE_UNIQUE_ID_OK_COUNT"/>
+		<field name="GET_KEY_REQUEST_ERROR_COUNT"/>
+		<field name="GET_KEY_REQUEST_ERROR_LIST"/>
+		<field name="GET_KEY_REQUEST_OK_COUNT"/>
+		<field name="GET_KEY_REQUEST_OK_TIME_MICROS"/>
+		<field name="GET_PROVISION_REQUEST_ERROR_COUNT"/>
+		<field name="GET_PROVISION_REQUEST_ERROR_LIST"/>
+		<field name="GET_PROVISION_REQUEST_OK_COUNT"/>
+		<field name="KEY_STATUS_EXPIRED_COUNT"/>
+		<field name="KEY_STATUS_INTERNAL_ERROR_COUNT"/>
+		<field name="KEY_STATUS_OUTPUT_NOT_ALLOWED_COUNT"/>
+		<field name="KEY_STATUS_PENDING_COUNT"/>
+		<field name="KEY_STATUS_USABLE_COUNT"/>
+		<field name="OPEN_SESSION_ERROR_COUNT"/>
+		<field name="OPEN_SESSION_ERROR_LIST"/>
+		<field name="OPEN_SESSION_OK_COUNT"/>
+		<field name="PROVIDE_KEY_RESPONSE_ERROR_COUNT"/>
+		<field name="PROVIDE_KEY_RESPONSE_ERROR_LIST"/>
+		<field name="PROVIDE_KEY_RESPONSE_OK_COUNT"/>
+		<field name="PROVIDE_KEY_RESPONSE_OK_TIME_MICROS"/>
+		<field name="PROVIDE_PROVISION_RESPONSE_ERROR_COUNT"/>
+		<field name="PROVIDE_PROVISION_RESPONSE_ERROR_LIST"/>
+		<field name="PROVIDE_PROVISION_RESPONSE_OK_COUNT"/>
+		<field name="SESSION_END_TIMES_MS"/>
+		<field name="SESSION_START_TIMES_MS"/>
+	</class>
+	<class name="android/media/MediaDrm$OnEventListener" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="onEvent(Landroid/media/MediaDrm;[BII[B)V"/>
+	</class>
+	<class name="android/media/MediaDrm$OnExpirationUpdateListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onExpirationUpdate(Landroid/media/MediaDrm;[BJ)V"/>
+	</class>
+	<class name="android/media/MediaDrm$OnKeyStatusChangeListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onKeyStatusChange(Landroid/media/MediaDrm;[BLjava/util/List;Z)V"/>
+	</class>
+	<class name="android/media/MediaDrm$OnSessionLostStateListener" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onSessionLostState(Landroid/media/MediaDrm;[B)V"/>
+	</class>
+	<class name="android/media/MediaDrm$PlaybackComponent" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;"/>
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V"/>
+	</class>
+	<class name="android/media/MediaDrm$ProvisionRequest" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="getData()[B"/>
+		<method name="getDefaultUrl()Ljava/lang/String;"/>
+	</class>
+	<class name="android/media/MediaDrm$SecurityLevel" since="28" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="android/media/MediaDrm$SessionException" since="29">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+		<method name="getErrorCode()I" deprecated="31"/>
+		<method name="isTransient()Z" since="31"/>
+		<field name="ERROR_RESOURCE_CONTENTION" deprecated="31"/>
+		<field name="ERROR_UNKNOWN" deprecated="31"/>
+	</class>
+	<class name="android/media/MediaDrmException" since="18">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/MediaDrmResetException" since="23">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/MediaExtractor" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="advance()Z"/>
+		<method name="getAudioPresentations(I)Ljava/util/List;" since="28"/>
+		<method name="getCachedDuration()J"/>
+		<method name="getCasInfo(I)Landroid/media/MediaExtractor$CasInfo;" since="26"/>
+		<method name="getDrmInitData()Landroid/media/DrmInitData;" since="24"/>
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;" since="31"/>
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="26"/>
+		<method name="getPsshInfo()Ljava/util/Map;" since="18"/>
+		<method name="getSampleCryptoInfo(Landroid/media/MediaCodec$CryptoInfo;)Z"/>
+		<method name="getSampleFlags()I"/>
+		<method name="getSampleSize()J" since="28"/>
+		<method name="getSampleTime()J"/>
+		<method name="getSampleTrackIndex()I"/>
+		<method name="getTrackCount()I"/>
+		<method name="getTrackFormat(I)Landroid/media/MediaFormat;"/>
+		<method name="hasCacheReachedEndOfStream()Z"/>
+		<method name="readSampleData(Ljava/nio/ByteBuffer;I)I"/>
+		<method name="release()V"/>
+		<method name="seekTo(JI)V"/>
+		<method name="selectTrack(I)V"/>
+		<method name="setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;)V"/>
+		<method name="setDataSource(Landroid/content/res/AssetFileDescriptor;)V" since="24"/>
+		<method name="setDataSource(Landroid/media/MediaDataSource;)V" since="23"/>
+		<method name="setDataSource(Ljava/io/FileDescriptor;)V"/>
+		<method name="setDataSource(Ljava/io/FileDescriptor;JJ)V"/>
+		<method name="setDataSource(Ljava/lang/String;)V"/>
+		<method name="setDataSource(Ljava/lang/String;Ljava/util/Map;)V"/>
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V" since="31"/>
+		<method name="setMediaCas(Landroid/media/MediaCas;)V" since="26"/>
+		<method name="unselectTrack(I)V"/>
+		<field name="SAMPLE_FLAG_ENCRYPTED"/>
+		<field name="SAMPLE_FLAG_PARTIAL_FRAME" since="26"/>
+		<field name="SAMPLE_FLAG_SYNC"/>
+		<field name="SEEK_TO_CLOSEST_SYNC"/>
+		<field name="SEEK_TO_NEXT_SYNC"/>
+		<field name="SEEK_TO_PREVIOUS_SYNC"/>
+	</class>
+	<class name="android/media/MediaExtractor$CasInfo" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getPrivateData()[B" since="29"/>
+		<method name="getSession()Landroid/media/MediaCas$Session;"/>
+		<method name="getSystemId()I"/>
+	</class>
+	<class name="android/media/MediaExtractor$MetricsConstants" since="26">
+		<extends name="java/lang/Object"/>
+		<field name="FORMAT"/>
+		<field name="MIME_TYPE"/>
+		<field name="TRACKS"/>
+	</class>
+	<class name="android/media/MediaFeature" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/media/MediaFeature$HdrType" since="31">
+		<extends name="java/lang/Object"/>
+		<field name="DOLBY_VISION"/>
+		<field name="HDR10"/>
+		<field name="HDR10_PLUS"/>
+		<field name="HLG"/>
+	</class>
+	<class name="android/media/MediaFormat" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/media/MediaFormat;)V" since="29"/>
+		<method name="containsFeature(Ljava/lang/String;)Z" since="29"/>
+		<method name="containsKey(Ljava/lang/String;)Z"/>
+		<method name="createAudioFormat(Ljava/lang/String;II)Landroid/media/MediaFormat;"/>
+		<method name="createSubtitleFormat(Ljava/lang/String;Ljava/lang/String;)Landroid/media/MediaFormat;" since="19"/>
+		<method name="createVideoFormat(Ljava/lang/String;II)Landroid/media/MediaFormat;"/>
+		<method name="getByteBuffer(Ljava/lang/String;)Ljava/nio/ByteBuffer;"/>
+		<method name="getByteBuffer(Ljava/lang/String;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;" since="29"/>
+		<method name="getFeatureEnabled(Ljava/lang/String;)Z" since="21"/>
+		<method name="getFeatures()Ljava/util/Set;" since="29"/>
+		<method name="getFloat(Ljava/lang/String;)F"/>
+		<method name="getFloat(Ljava/lang/String;F)F" since="29"/>
+		<method name="getInteger(Ljava/lang/String;)I"/>
+		<method name="getInteger(Ljava/lang/String;I)I" since="29"/>
+		<method name="getKeys()Ljava/util/Set;" since="29"/>
+		<method name="getLong(Ljava/lang/String;)J"/>
+		<method name="getLong(Ljava/lang/String;J)J" since="29"/>
+		<method name="getNumber(Ljava/lang/String;)Ljava/lang/Number;" since="29"/>
+		<method name="getNumber(Ljava/lang/String;Ljava/lang/Number;)Ljava/lang/Number;" since="29"/>
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="29"/>
+		<method name="getValueTypeForKey(Ljava/lang/String;)I" since="29"/>
+		<method name="removeFeature(Ljava/lang/String;)V" since="29"/>
+		<method name="removeKey(Ljava/lang/String;)V" since="29"/>
+		<method name="setByteBuffer(Ljava/lang/String;Ljava/nio/ByteBuffer;)V"/>
+		<method name="setFeatureEnabled(Ljava/lang/String;Z)V" since="21"/>
+		<method name="setFloat(Ljava/lang/String;F)V"/>
+		<method name="setInteger(Ljava/lang/String;I)V"/>
+		<method name="setLong(Ljava/lang/String;J)V"/>
+		<method name="setString(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="COLOR_RANGE_FULL" since="24"/>
+		<field name="COLOR_RANGE_LIMITED" since="24"/>
+		<field name="COLOR_STANDARD_BT2020" since="24"/>
+		<field name="COLOR_STANDARD_BT601_NTSC" since="24"/>
+		<field name="COLOR_STANDARD_BT601_PAL" since="24"/>
+		<field name="COLOR_STANDARD_BT709" since="24"/>
+		<field name="COLOR_TRANSFER_HLG" since="24"/>
+		<field name="COLOR_TRANSFER_LINEAR" since="24"/>
+		<field name="COLOR_TRANSFER_SDR_VIDEO" since="24"/>
+		<field name="COLOR_TRANSFER_ST2084" since="24"/>
+		<field name="KEY_AAC_DRC_ALBUM_MODE" since="30"/>
+		<field name="KEY_AAC_DRC_ATTENUATION_FACTOR" since="21"/>
+		<field name="KEY_AAC_DRC_BOOST_FACTOR" since="21"/>
+		<field name="KEY_AAC_DRC_EFFECT_TYPE" since="28"/>
+		<field name="KEY_AAC_DRC_HEAVY_COMPRESSION" since="21"/>
+		<field name="KEY_AAC_DRC_OUTPUT_LOUDNESS" since="30"/>
+		<field name="KEY_AAC_DRC_TARGET_REFERENCE_LEVEL" since="21"/>
+		<field name="KEY_AAC_ENCODED_TARGET_LEVEL" since="21"/>
+		<field name="KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT" since="21"/>
+		<field name="KEY_AAC_PROFILE"/>
+		<field name="KEY_AAC_SBR_MODE" since="21"/>
+		<field name="KEY_ALLOW_FRAME_DROP" since="31"/>
+		<field name="KEY_AUDIO_SESSION_ID" since="21"/>
+		<field name="KEY_BITRATE_MODE" since="21"/>
+		<field name="KEY_BIT_RATE"/>
+		<field name="KEY_CAPTION_SERVICE_NUMBER" since="30"/>
+		<field name="KEY_CAPTURE_RATE" since="21"/>
+		<field name="KEY_CHANNEL_COUNT"/>
+		<field name="KEY_CHANNEL_MASK"/>
+		<field name="KEY_CODECS_STRING" since="30"/>
+		<field name="KEY_COLOR_FORMAT"/>
+		<field name="KEY_COLOR_RANGE" since="24"/>
+		<field name="KEY_COLOR_STANDARD" since="24"/>
+		<field name="KEY_COLOR_TRANSFER" since="24"/>
+		<field name="KEY_COLOR_TRANSFER_REQUEST" since="31"/>
+		<field name="KEY_COMPLEXITY" since="21"/>
+		<field name="KEY_CREATE_INPUT_SURFACE_SUSPENDED" since="29"/>
+		<field name="KEY_DURATION"/>
+		<field name="KEY_ENCODER_DELAY" since="30"/>
+		<field name="KEY_ENCODER_PADDING" since="30"/>
+		<field name="KEY_FLAC_COMPRESSION_LEVEL"/>
+		<field name="KEY_FRAME_RATE"/>
+		<field name="KEY_GRID_COLUMNS" since="28"/>
+		<field name="KEY_GRID_ROWS" since="28"/>
+		<field name="KEY_HAPTIC_CHANNEL_COUNT" since="29"/>
+		<field name="KEY_HARDWARE_AV_SYNC_ID" since="30"/>
+		<field name="KEY_HDR10_PLUS_INFO" since="29"/>
+		<field name="KEY_HDR_STATIC_INFO" since="24"/>
+		<field name="KEY_HEIGHT"/>
+		<field name="KEY_INTRA_REFRESH_PERIOD" since="24"/>
+		<field name="KEY_IS_ADTS"/>
+		<field name="KEY_IS_AUTOSELECT" since="19"/>
+		<field name="KEY_IS_DEFAULT" since="19"/>
+		<field name="KEY_IS_FORCED_SUBTITLE" since="19"/>
+		<field name="KEY_I_FRAME_INTERVAL"/>
+		<field name="KEY_LANGUAGE" since="19"/>
+		<field name="KEY_LATENCY" since="26"/>
+		<field name="KEY_LEVEL" since="23"/>
+		<field name="KEY_LOW_LATENCY" since="30"/>
+		<field name="KEY_MAX_B_FRAMES" since="29"/>
+		<field name="KEY_MAX_FPS_TO_ENCODER" since="29"/>
+		<field name="KEY_MAX_HEIGHT" since="19"/>
+		<field name="KEY_MAX_INPUT_SIZE"/>
+		<field name="KEY_MAX_OUTPUT_CHANNEL_COUNT" since="33"/>
+		<field name="KEY_MAX_PTS_GAP_TO_ENCODER" since="29"/>
+		<field name="KEY_MAX_WIDTH" since="19"/>
+		<field name="KEY_MIME"/>
+		<field name="KEY_MPEGH_COMPATIBLE_SETS" since="31"/>
+		<field name="KEY_MPEGH_PROFILE_LEVEL_INDICATION" since="31"/>
+		<field name="KEY_MPEGH_REFERENCE_CHANNEL_LAYOUT" since="31"/>
+		<field name="KEY_OPERATING_RATE" since="23"/>
+		<field name="KEY_OUTPUT_REORDER_DEPTH" since="28"/>
+		<field name="KEY_PCM_ENCODING" since="24"/>
+		<field name="KEY_PIXEL_ASPECT_RATIO_HEIGHT" since="30"/>
+		<field name="KEY_PIXEL_ASPECT_RATIO_WIDTH" since="30"/>
+		<field name="KEY_PREPEND_HEADER_TO_SYNC_FRAMES" since="29"/>
+		<field name="KEY_PRIORITY" since="23"/>
+		<field name="KEY_PROFILE" since="21"/>
+		<field name="KEY_PUSH_BLANK_BUFFERS_ON_STOP" since="19"/>
+		<field name="KEY_QUALITY" since="28"/>
+		<field name="KEY_REPEAT_PREVIOUS_FRAME_AFTER" since="19"/>
+		<field name="KEY_ROTATION" since="23"/>
+		<field name="KEY_SAMPLE_RATE"/>
+		<field name="KEY_SLICE_HEIGHT" since="23"/>
+		<field name="KEY_SLOW_MOTION_MARKERS" since="31"/>
+		<field name="KEY_STRIDE" since="23"/>
+		<field name="KEY_TEMPORAL_LAYERING" since="21"/>
+		<field name="KEY_TILE_HEIGHT" since="28"/>
+		<field name="KEY_TILE_WIDTH" since="28"/>
+		<field name="KEY_TRACK_ID" since="24"/>
+		<field name="KEY_VIDEO_QP_B_MAX" since="31"/>
+		<field name="KEY_VIDEO_QP_B_MIN" since="31"/>
+		<field name="KEY_VIDEO_QP_I_MAX" since="31"/>
+		<field name="KEY_VIDEO_QP_I_MIN" since="31"/>
+		<field name="KEY_VIDEO_QP_MAX" since="31"/>
+		<field name="KEY_VIDEO_QP_MIN" since="31"/>
+		<field name="KEY_VIDEO_QP_P_MAX" since="31"/>
+		<field name="KEY_VIDEO_QP_P_MIN" since="31"/>
+		<field name="KEY_WIDTH"/>
+		<field name="MIMETYPE_AUDIO_AAC" since="21"/>
+		<field name="MIMETYPE_AUDIO_AC3" since="21"/>
+		<field name="MIMETYPE_AUDIO_AC4" since="29"/>
+		<field name="MIMETYPE_AUDIO_AMR_NB" since="21"/>
+		<field name="MIMETYPE_AUDIO_AMR_WB" since="21"/>
+		<field name="MIMETYPE_AUDIO_EAC3" since="23"/>
+		<field name="MIMETYPE_AUDIO_EAC3_JOC" since="29"/>
+		<field name="MIMETYPE_AUDIO_FLAC" since="21"/>
+		<field name="MIMETYPE_AUDIO_G711_ALAW" since="21"/>
+		<field name="MIMETYPE_AUDIO_G711_MLAW" since="21"/>
+		<field name="MIMETYPE_AUDIO_MPEG" since="21"/>
+		<field name="MIMETYPE_AUDIO_MPEGH_MHA1" since="31"/>
+		<field name="MIMETYPE_AUDIO_MPEGH_MHM1" since="31"/>
+		<field name="MIMETYPE_AUDIO_MSGSM" since="21"/>
+		<field name="MIMETYPE_AUDIO_OPUS" since="21"/>
+		<field name="MIMETYPE_AUDIO_QCELP" since="21"/>
+		<field name="MIMETYPE_AUDIO_RAW" since="21"/>
+		<field name="MIMETYPE_AUDIO_SCRAMBLED" since="26"/>
+		<field name="MIMETYPE_AUDIO_VORBIS" since="21"/>
+		<field name="MIMETYPE_IMAGE_ANDROID_HEIC" since="28"/>
+		<field name="MIMETYPE_TEXT_CEA_608" since="21"/>
+		<field name="MIMETYPE_TEXT_CEA_708" since="28"/>
+		<field name="MIMETYPE_TEXT_SUBRIP" since="28"/>
+		<field name="MIMETYPE_TEXT_VTT" since="21"/>
+		<field name="MIMETYPE_VIDEO_AV1" since="29"/>
+		<field name="MIMETYPE_VIDEO_AVC" since="21"/>
+		<field name="MIMETYPE_VIDEO_DOLBY_VISION" since="24"/>
+		<field name="MIMETYPE_VIDEO_H263" since="21"/>
+		<field name="MIMETYPE_VIDEO_HEVC" since="21"/>
+		<field name="MIMETYPE_VIDEO_MPEG2" since="21"/>
+		<field name="MIMETYPE_VIDEO_MPEG4" since="21"/>
+		<field name="MIMETYPE_VIDEO_RAW" since="21"/>
+		<field name="MIMETYPE_VIDEO_SCRAMBLED" since="26"/>
+		<field name="MIMETYPE_VIDEO_VP8" since="21"/>
+		<field name="MIMETYPE_VIDEO_VP9" since="21"/>
+		<field name="TYPE_BYTE_BUFFER" since="29"/>
+		<field name="TYPE_FLOAT" since="29"/>
+		<field name="TYPE_INTEGER" since="29"/>
+		<field name="TYPE_LONG" since="29"/>
+		<field name="TYPE_NULL" since="29"/>
+		<field name="TYPE_STRING" since="29"/>
+	</class>
+	<class name="android/media/MediaMetadata" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="containsKey(Ljava/lang/String;)Z"/>
+		<method name="getBitmap(Ljava/lang/String;)Landroid/graphics/Bitmap;"/>
+		<method name="getBitmapDimensionLimit()I" since="31"/>
+		<method name="getDescription()Landroid/media/MediaDescription;"/>
+		<method name="getLong(Ljava/lang/String;)J"/>
+		<method name="getRating(Ljava/lang/String;)Landroid/media/Rating;"/>
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getText(Ljava/lang/String;)Ljava/lang/CharSequence;"/>
+		<method name="keySet()Ljava/util/Set;"/>
+		<method name="size()I"/>
+		<field name="CREATOR"/>
+		<field name="METADATA_KEY_ALBUM"/>
+		<field name="METADATA_KEY_ALBUM_ART"/>
+		<field name="METADATA_KEY_ALBUM_ARTIST"/>
+		<field name="METADATA_KEY_ALBUM_ART_URI"/>
+		<field name="METADATA_KEY_ART"/>
+		<field name="METADATA_KEY_ARTIST"/>
+		<field name="METADATA_KEY_ART_URI"/>
+		<field name="METADATA_KEY_AUTHOR"/>
+		<field name="METADATA_KEY_BT_FOLDER_TYPE" since="26"/>
+		<field name="METADATA_KEY_COMPILATION"/>
+		<field name="METADATA_KEY_COMPOSER"/>
+		<field name="METADATA_KEY_DATE"/>
+		<field name="METADATA_KEY_DISC_NUMBER"/>
+		<field name="METADATA_KEY_DISPLAY_DESCRIPTION"/>
+		<field name="METADATA_KEY_DISPLAY_ICON"/>
+		<field name="METADATA_KEY_DISPLAY_ICON_URI"/>
+		<field name="METADATA_KEY_DISPLAY_SUBTITLE"/>
+		<field name="METADATA_KEY_DISPLAY_TITLE"/>
+		<field name="METADATA_KEY_DURATION"/>
+		<field name="METADATA_KEY_GENRE"/>
+		<field name="METADATA_KEY_MEDIA_ID"/>
+		<field name="METADATA_KEY_MEDIA_URI" since="26"/>
+		<field name="METADATA_KEY_NUM_TRACKS"/>
+		<field name="METADATA_KEY_RATING"/>
+		<field name="METADATA_KEY_TITLE"/>
+		<field name="METADATA_KEY_TRACK_NUMBER"/>
+		<field name="METADATA_KEY_USER_RATING"/>
+		<field name="METADATA_KEY_WRITER"/>
+		<field name="METADATA_KEY_YEAR"/>
+	</class>
+	<class name="android/media/MediaMetadata$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/media/MediaMetadata;)V"/>
+		<method name="build()Landroid/media/MediaMetadata;"/>
+		<method name="putBitmap(Ljava/lang/String;Landroid/graphics/Bitmap;)Landroid/media/MediaMetadata$Builder;"/>
+		<method name="putLong(Ljava/lang/String;J)Landroid/media/MediaMetadata$Builder;"/>
+		<method name="putRating(Ljava/lang/String;Landroid/media/Rating;)Landroid/media/MediaMetadata$Builder;"/>
+		<method name="putString(Ljava/lang/String;Ljava/lang/String;)Landroid/media/MediaMetadata$Builder;"/>
+		<method name="putText(Ljava/lang/String;Ljava/lang/CharSequence;)Landroid/media/MediaMetadata$Builder;"/>
+		<method name="setBitmapDimensionLimit(I)Landroid/media/MediaMetadata$Builder;" since="31"/>
+	</class>
+	<class name="android/media/MediaMetadataEditor" since="19" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="addEditableKey(I)V" deprecated="29"/>
+		<method name="apply()V" deprecated="29"/>
+		<method name="clear()V" deprecated="29"/>
+		<method name="getBitmap(ILandroid/graphics/Bitmap;)Landroid/graphics/Bitmap;" deprecated="29"/>
+		<method name="getEditableKeys()[I" deprecated="29"/>
+		<method name="getLong(IJ)J" deprecated="29"/>
+		<method name="getObject(ILjava/lang/Object;)Ljava/lang/Object;" deprecated="29"/>
+		<method name="getString(ILjava/lang/String;)Ljava/lang/String;" deprecated="29"/>
+		<method name="putBitmap(ILandroid/graphics/Bitmap;)Landroid/media/MediaMetadataEditor;" deprecated="29"/>
+		<method name="putLong(IJ)Landroid/media/MediaMetadataEditor;" deprecated="29"/>
+		<method name="putObject(ILjava/lang/Object;)Landroid/media/MediaMetadataEditor;" deprecated="29"/>
+		<method name="putString(ILjava/lang/String;)Landroid/media/MediaMetadataEditor;" deprecated="29"/>
+		<method name="removeEditableKeys()V" deprecated="29"/>
+		<field name="BITMAP_KEY_ARTWORK" deprecated="29"/>
+		<field name="RATING_KEY_BY_OTHERS" deprecated="29"/>
+		<field name="RATING_KEY_BY_USER" deprecated="29"/>
+	</class>
+	<class name="android/media/MediaMetadataRetriever" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="29"/>
+		<method name="&lt;init>()V"/>
+		<method name="extractMetadata(I)Ljava/lang/String;"/>
+		<method name="getEmbeddedPicture()[B"/>
+		<method name="getFrameAtIndex(I)Landroid/graphics/Bitmap;" since="28"/>
+		<method name="getFrameAtIndex(ILandroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;" since="28"/>
+		<method name="getFrameAtTime()Landroid/graphics/Bitmap;"/>
+		<method name="getFrameAtTime(J)Landroid/graphics/Bitmap;"/>
+		<method name="getFrameAtTime(JI)Landroid/graphics/Bitmap;"/>
+		<method name="getFrameAtTime(JILandroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;" since="30"/>
+		<method name="getFramesAtIndex(II)Ljava/util/List;" since="28"/>
+		<method name="getFramesAtIndex(IILandroid/media/MediaMetadataRetriever$BitmapParams;)Ljava/util/List;" since="28"/>
+		<method name="getImageAtIndex(I)Landroid/graphics/Bitmap;" since="28"/>
+		<method name="getImageAtIndex(ILandroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;" since="28"/>
+		<method name="getPrimaryImage()Landroid/graphics/Bitmap;" since="28"/>
+		<method name="getPrimaryImage(Landroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;" since="28"/>
+		<method name="getScaledFrameAtTime(JIII)Landroid/graphics/Bitmap;" since="27"/>
+		<method name="getScaledFrameAtTime(JIIILandroid/media/MediaMetadataRetriever$BitmapParams;)Landroid/graphics/Bitmap;" since="30"/>
+		<method name="release()V"/>
+		<method name="setDataSource(Landroid/content/Context;Landroid/net/Uri;)V"/>
+		<method name="setDataSource(Landroid/media/MediaDataSource;)V" since="23"/>
+		<method name="setDataSource(Ljava/io/FileDescriptor;)V"/>
+		<method name="setDataSource(Ljava/io/FileDescriptor;JJ)V"/>
+		<method name="setDataSource(Ljava/lang/String;)V"/>
+		<method name="setDataSource(Ljava/lang/String;Ljava/util/Map;)V" since="14"/>
+		<field name="METADATA_KEY_ALBUM"/>
+		<field name="METADATA_KEY_ALBUMARTIST"/>
+		<field name="METADATA_KEY_ARTIST"/>
+		<field name="METADATA_KEY_AUTHOR"/>
+		<field name="METADATA_KEY_BITRATE" since="14"/>
+		<field name="METADATA_KEY_BITS_PER_SAMPLE" since="31"/>
+		<field name="METADATA_KEY_CAPTURE_FRAMERATE" since="23"/>
+		<field name="METADATA_KEY_CD_TRACK_NUMBER"/>
+		<field name="METADATA_KEY_COLOR_RANGE" since="30"/>
+		<field name="METADATA_KEY_COLOR_STANDARD" since="30"/>
+		<field name="METADATA_KEY_COLOR_TRANSFER" since="30"/>
+		<field name="METADATA_KEY_COMPILATION"/>
+		<field name="METADATA_KEY_COMPOSER"/>
+		<field name="METADATA_KEY_DATE"/>
+		<field name="METADATA_KEY_DISC_NUMBER"/>
+		<field name="METADATA_KEY_DURATION"/>
+		<field name="METADATA_KEY_EXIF_LENGTH" since="29"/>
+		<field name="METADATA_KEY_EXIF_OFFSET" since="29"/>
+		<field name="METADATA_KEY_GENRE"/>
+		<field name="METADATA_KEY_HAS_AUDIO" since="14"/>
+		<field name="METADATA_KEY_HAS_IMAGE" since="28"/>
+		<field name="METADATA_KEY_HAS_VIDEO" since="14"/>
+		<field name="METADATA_KEY_IMAGE_COUNT" since="28"/>
+		<field name="METADATA_KEY_IMAGE_HEIGHT" since="28"/>
+		<field name="METADATA_KEY_IMAGE_PRIMARY" since="28"/>
+		<field name="METADATA_KEY_IMAGE_ROTATION" since="28"/>
+		<field name="METADATA_KEY_IMAGE_WIDTH" since="28"/>
+		<field name="METADATA_KEY_LOCATION" since="15"/>
+		<field name="METADATA_KEY_MIMETYPE"/>
+		<field name="METADATA_KEY_NUM_TRACKS"/>
+		<field name="METADATA_KEY_SAMPLERATE" since="31"/>
+		<field name="METADATA_KEY_TITLE"/>
+		<field name="METADATA_KEY_VIDEO_FRAME_COUNT" since="28"/>
+		<field name="METADATA_KEY_VIDEO_HEIGHT" since="14"/>
+		<field name="METADATA_KEY_VIDEO_ROTATION" since="17"/>
+		<field name="METADATA_KEY_VIDEO_WIDTH" since="14"/>
+		<field name="METADATA_KEY_WRITER"/>
+		<field name="METADATA_KEY_XMP_LENGTH" since="31"/>
+		<field name="METADATA_KEY_XMP_OFFSET" since="31"/>
+		<field name="METADATA_KEY_YEAR"/>
+		<field name="OPTION_CLOSEST"/>
+		<field name="OPTION_CLOSEST_SYNC"/>
+		<field name="OPTION_NEXT_SYNC"/>
+		<field name="OPTION_PREVIOUS_SYNC"/>
+	</class>
+	<class name="android/media/MediaMetadataRetriever$BitmapParams" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getActualConfig()Landroid/graphics/Bitmap$Config;"/>
+		<method name="getPreferredConfig()Landroid/graphics/Bitmap$Config;"/>
+		<method name="setPreferredConfig(Landroid/graphics/Bitmap$Config;)V"/>
+	</class>
+	<class name="android/media/MediaMuxer" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/io/FileDescriptor;I)V" since="26"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="addTrack(Landroid/media/MediaFormat;)I"/>
+		<method name="release()V"/>
+		<method name="setLocation(FF)V" since="19"/>
+		<method name="setOrientationHint(I)V"/>
+		<method name="start()V"/>
+		<method name="stop()V"/>
+		<method name="writeSampleData(ILjava/nio/ByteBuffer;Landroid/media/MediaCodec$BufferInfo;)V"/>
+	</class>
+	<class name="android/media/MediaMuxer$OutputFormat" since="18">
+		<extends name="java/lang/Object"/>
+		<field name="MUXER_OUTPUT_3GPP" since="26"/>
+		<field name="MUXER_OUTPUT_HEIF" since="28"/>
+		<field name="MUXER_OUTPUT_MPEG_4"/>
+		<field name="MUXER_OUTPUT_OGG" since="29"/>
+		<field name="MUXER_OUTPUT_WEBM" since="21"/>
+	</class>
+	<class name="android/media/MediaParser" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="advance(Landroid/media/MediaParser$SeekableInputReader;)Z"/>
+		<method name="create(Landroid/media/MediaParser$OutputConsumer;[Ljava/lang/String;)Landroid/media/MediaParser;"/>
+		<method name="createByName(Ljava/lang/String;Landroid/media/MediaParser$OutputConsumer;)Landroid/media/MediaParser;"/>
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;" since="31"/>
+		<method name="getParserName()Ljava/lang/String;"/>
+		<method name="getParserNames(Landroid/media/MediaFormat;)Ljava/util/List;"/>
+		<method name="release()V"/>
+		<method name="seek(Landroid/media/MediaParser$SeekPoint;)V"/>
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V" since="31"/>
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)Landroid/media/MediaParser;"/>
+		<method name="supportsParameter(Ljava/lang/String;)Z"/>
+		<field name="PARAMETER_ADTS_ENABLE_CBR_SEEKING"/>
+		<field name="PARAMETER_AMR_ENABLE_CBR_SEEKING"/>
+		<field name="PARAMETER_FLAC_DISABLE_ID3"/>
+		<field name="PARAMETER_MATROSKA_DISABLE_CUES_SEEKING"/>
+		<field name="PARAMETER_MP3_DISABLE_ID3"/>
+		<field name="PARAMETER_MP3_ENABLE_CBR_SEEKING"/>
+		<field name="PARAMETER_MP3_ENABLE_INDEX_SEEKING"/>
+		<field name="PARAMETER_MP4_IGNORE_EDIT_LISTS"/>
+		<field name="PARAMETER_MP4_IGNORE_TFDT_BOX"/>
+		<field name="PARAMETER_MP4_TREAT_VIDEO_FRAMES_AS_KEYFRAMES"/>
+		<field name="PARAMETER_TS_ALLOW_NON_IDR_AVC_KEYFRAMES"/>
+		<field name="PARAMETER_TS_DETECT_ACCESS_UNITS"/>
+		<field name="PARAMETER_TS_ENABLE_HDMV_DTS_AUDIO_STREAMS"/>
+		<field name="PARAMETER_TS_IGNORE_AAC_STREAM"/>
+		<field name="PARAMETER_TS_IGNORE_AVC_STREAM"/>
+		<field name="PARAMETER_TS_IGNORE_SPLICE_INFO_STREAM"/>
+		<field name="PARAMETER_TS_MODE"/>
+		<field name="PARSER_NAME_AC3"/>
+		<field name="PARSER_NAME_AC4"/>
+		<field name="PARSER_NAME_ADTS"/>
+		<field name="PARSER_NAME_AMR"/>
+		<field name="PARSER_NAME_FLAC"/>
+		<field name="PARSER_NAME_FLV"/>
+		<field name="PARSER_NAME_FMP4"/>
+		<field name="PARSER_NAME_MATROSKA"/>
+		<field name="PARSER_NAME_MP3"/>
+		<field name="PARSER_NAME_MP4"/>
+		<field name="PARSER_NAME_OGG"/>
+		<field name="PARSER_NAME_PS"/>
+		<field name="PARSER_NAME_TS"/>
+		<field name="PARSER_NAME_UNKNOWN"/>
+		<field name="PARSER_NAME_WAV"/>
+		<field name="SAMPLE_FLAG_DECODE_ONLY"/>
+		<field name="SAMPLE_FLAG_ENCRYPTED"/>
+		<field name="SAMPLE_FLAG_HAS_SUPPLEMENTAL_DATA"/>
+		<field name="SAMPLE_FLAG_KEY_FRAME"/>
+		<field name="SAMPLE_FLAG_LAST_SAMPLE"/>
+	</class>
+	<class name="android/media/MediaParser$InputReader" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getLength()J"/>
+		<method name="getPosition()J"/>
+		<method name="read([BII)I"/>
+	</class>
+	<class name="android/media/MediaParser$OutputConsumer" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onSampleCompleted(IJIIILandroid/media/MediaCodec$CryptoInfo;)V"/>
+		<method name="onSampleDataFound(ILandroid/media/MediaParser$InputReader;)V"/>
+		<method name="onSeekMapFound(Landroid/media/MediaParser$SeekMap;)V"/>
+		<method name="onTrackCountFound(I)V"/>
+		<method name="onTrackDataFound(ILandroid/media/MediaParser$TrackData;)V"/>
+	</class>
+	<class name="android/media/MediaParser$ParsingException" since="30">
+		<extends name="java/io/IOException"/>
+	</class>
+	<class name="android/media/MediaParser$SeekMap" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getDurationMicros()J"/>
+		<method name="getSeekPoints(J)Landroid/util/Pair;"/>
+		<method name="isSeekable()Z"/>
+		<field name="UNKNOWN_DURATION"/>
+	</class>
+	<class name="android/media/MediaParser$SeekPoint" since="30">
+		<extends name="java/lang/Object"/>
+		<field name="START"/>
+		<field name="position"/>
+		<field name="timeMicros"/>
+	</class>
+	<class name="android/media/MediaParser$SeekableInputReader" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/MediaParser$InputReader"/>
+		<method name="seekToPosition(J)V"/>
+	</class>
+	<class name="android/media/MediaParser$TrackData" since="30">
+		<extends name="java/lang/Object"/>
+		<field name="drmInitData"/>
+		<field name="mediaFormat"/>
+	</class>
+	<class name="android/media/MediaParser$UnrecognizedInputFormatException" since="30">
+		<extends name="java/io/IOException"/>
+	</class>
+	<class name="android/media/MediaPlayer" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/AudioRouting" since="28"/>
+		<implements name="android/media/VolumeAutomation" since="26"/>
+		<method name="&lt;init>()V"/>
+		<method name="addTimedTextSource(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;)V" since="16"/>
+		<method name="addTimedTextSource(Ljava/io/FileDescriptor;JJLjava/lang/String;)V" since="16"/>
+		<method name="addTimedTextSource(Ljava/io/FileDescriptor;Ljava/lang/String;)V" since="16"/>
+		<method name="addTimedTextSource(Ljava/lang/String;Ljava/lang/String;)V" since="16"/>
+		<method name="attachAuxEffect(I)V" since="9"/>
+		<method name="clearOnMediaTimeDiscontinuityListener()V" since="28"/>
+		<method name="clearOnSubtitleDataListener()V" since="28"/>
+		<method name="create(Landroid/content/Context;I)Landroid/media/MediaPlayer;"/>
+		<method name="create(Landroid/content/Context;ILandroid/media/AudioAttributes;I)Landroid/media/MediaPlayer;" since="21"/>
+		<method name="create(Landroid/content/Context;Landroid/net/Uri;)Landroid/media/MediaPlayer;"/>
+		<method name="create(Landroid/content/Context;Landroid/net/Uri;Landroid/view/SurfaceHolder;)Landroid/media/MediaPlayer;"/>
+		<method name="create(Landroid/content/Context;Landroid/net/Uri;Landroid/view/SurfaceHolder;Landroid/media/AudioAttributes;I)Landroid/media/MediaPlayer;" since="21"/>
+		<method name="deselectTrack(I)V" since="16"/>
+		<method name="getAudioSessionId()I" since="9"/>
+		<method name="getCurrentPosition()I"/>
+		<method name="getDrmInfo()Landroid/media/MediaPlayer$DrmInfo;" since="26"/>
+		<method name="getDrmPropertyString(Ljava/lang/String;)Ljava/lang/String;" since="26"/>
+		<method name="getDuration()I"/>
+		<method name="getKeyRequest([B[BLjava/lang/String;ILjava/util/Map;)Landroid/media/MediaDrm$KeyRequest;" since="26"/>
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="26"/>
+		<method name="getPlaybackParams()Landroid/media/PlaybackParams;" since="23"/>
+		<method name="getSelectedTrack(I)I" since="21"/>
+		<method name="getSyncParams()Landroid/media/SyncParams;" since="23"/>
+		<method name="getTimestamp()Landroid/media/MediaTimestamp;" since="23"/>
+		<method name="getTrackInfo()[Landroid/media/MediaPlayer$TrackInfo;" since="16"/>
+		<method name="getVideoHeight()I"/>
+		<method name="getVideoWidth()I"/>
+		<method name="isLooping()Z" since="3"/>
+		<method name="isPlaying()Z"/>
+		<method name="pause()V"/>
+		<method name="prepare()V"/>
+		<method name="prepareAsync()V"/>
+		<method name="prepareDrm(Ljava/util/UUID;)V" since="26"/>
+		<method name="provideKeyResponse([B[B)[B" since="26"/>
+		<method name="release()V"/>
+		<method name="releaseDrm()V" since="26"/>
+		<method name="reset()V"/>
+		<method name="restoreKeys([B)V" since="26"/>
+		<method name="seekTo(I)V"/>
+		<method name="seekTo(JI)V" since="26"/>
+		<method name="selectTrack(I)V" since="16"/>
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)V" since="21"/>
+		<method name="setAudioSessionId(I)V" since="9"/>
+		<method name="setAudioStreamType(I)V" deprecated="26"/>
+		<method name="setAuxEffectSendLevel(F)V" since="9"/>
+		<method name="setDataSource(Landroid/content/Context;Landroid/net/Uri;)V"/>
+		<method name="setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;)V" since="14"/>
+		<method name="setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;Ljava/util/List;)V" since="26"/>
+		<method name="setDataSource(Landroid/content/res/AssetFileDescriptor;)V" since="24"/>
+		<method name="setDataSource(Landroid/media/MediaDataSource;)V" since="23"/>
+		<method name="setDataSource(Ljava/io/FileDescriptor;)V"/>
+		<method name="setDataSource(Ljava/io/FileDescriptor;JJ)V"/>
+		<method name="setDataSource(Ljava/lang/String;)V"/>
+		<method name="setDisplay(Landroid/view/SurfaceHolder;)V"/>
+		<method name="setDrmPropertyString(Ljava/lang/String;Ljava/lang/String;)V" since="26"/>
+		<method name="setLooping(Z)V"/>
+		<method name="setNextMediaPlayer(Landroid/media/MediaPlayer;)V" since="16"/>
+		<method name="setOnBufferingUpdateListener(Landroid/media/MediaPlayer$OnBufferingUpdateListener;)V"/>
+		<method name="setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V"/>
+		<method name="setOnDrmConfigHelper(Landroid/media/MediaPlayer$OnDrmConfigHelper;)V" since="26"/>
+		<method name="setOnDrmInfoListener(Landroid/media/MediaPlayer$OnDrmInfoListener;)V" since="26"/>
+		<method name="setOnDrmInfoListener(Landroid/media/MediaPlayer$OnDrmInfoListener;Landroid/os/Handler;)V" since="26"/>
+		<method name="setOnDrmPreparedListener(Landroid/media/MediaPlayer$OnDrmPreparedListener;)V" since="26"/>
+		<method name="setOnDrmPreparedListener(Landroid/media/MediaPlayer$OnDrmPreparedListener;Landroid/os/Handler;)V" since="26"/>
+		<method name="setOnErrorListener(Landroid/media/MediaPlayer$OnErrorListener;)V"/>
+		<method name="setOnInfoListener(Landroid/media/MediaPlayer$OnInfoListener;)V" since="3"/>
+		<method name="setOnMediaTimeDiscontinuityListener(Landroid/media/MediaPlayer$OnMediaTimeDiscontinuityListener;)V" since="28"/>
+		<method name="setOnMediaTimeDiscontinuityListener(Landroid/media/MediaPlayer$OnMediaTimeDiscontinuityListener;Landroid/os/Handler;)V" since="28"/>
+		<method name="setOnPreparedListener(Landroid/media/MediaPlayer$OnPreparedListener;)V"/>
+		<method name="setOnSeekCompleteListener(Landroid/media/MediaPlayer$OnSeekCompleteListener;)V"/>
+		<method name="setOnSubtitleDataListener(Landroid/media/MediaPlayer$OnSubtitleDataListener;)V" since="28"/>
+		<method name="setOnSubtitleDataListener(Landroid/media/MediaPlayer$OnSubtitleDataListener;Landroid/os/Handler;)V" since="28"/>
+		<method name="setOnTimedMetaDataAvailableListener(Landroid/media/MediaPlayer$OnTimedMetaDataAvailableListener;)V" since="23"/>
+		<method name="setOnTimedTextListener(Landroid/media/MediaPlayer$OnTimedTextListener;)V" since="16"/>
+		<method name="setOnVideoSizeChangedListener(Landroid/media/MediaPlayer$OnVideoSizeChangedListener;)V" since="3"/>
+		<method name="setPlaybackParams(Landroid/media/PlaybackParams;)V" since="23"/>
+		<method name="setScreenOnWhilePlaying(Z)V"/>
+		<method name="setSurface(Landroid/view/Surface;)V" since="14"/>
+		<method name="setSyncParams(Landroid/media/SyncParams;)V" since="23"/>
+		<method name="setVideoScalingMode(I)V" since="16"/>
+		<method name="setVolume(FF)V"/>
+		<method name="setWakeMode(Landroid/content/Context;I)V"/>
+		<method name="start()V"/>
+		<method name="stop()V"/>
+		<field name="MEDIA_ERROR_IO" since="17"/>
+		<field name="MEDIA_ERROR_MALFORMED" since="17"/>
+		<field name="MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK" since="3"/>
+		<field name="MEDIA_ERROR_SERVER_DIED"/>
+		<field name="MEDIA_ERROR_TIMED_OUT" since="17"/>
+		<field name="MEDIA_ERROR_UNKNOWN"/>
+		<field name="MEDIA_ERROR_UNSUPPORTED" since="17"/>
+		<field name="MEDIA_INFO_AUDIO_NOT_PLAYING" since="26"/>
+		<field name="MEDIA_INFO_BAD_INTERLEAVING" since="3"/>
+		<field name="MEDIA_INFO_BUFFERING_END" since="9"/>
+		<field name="MEDIA_INFO_BUFFERING_START" since="9"/>
+		<field name="MEDIA_INFO_METADATA_UPDATE" since="5"/>
+		<field name="MEDIA_INFO_NOT_SEEKABLE" since="3"/>
+		<field name="MEDIA_INFO_STARTED_AS_NEXT" since="28"/>
+		<field name="MEDIA_INFO_SUBTITLE_TIMED_OUT" since="19"/>
+		<field name="MEDIA_INFO_UNKNOWN" since="3"/>
+		<field name="MEDIA_INFO_UNSUPPORTED_SUBTITLE" since="19"/>
+		<field name="MEDIA_INFO_VIDEO_NOT_PLAYING" since="26"/>
+		<field name="MEDIA_INFO_VIDEO_RENDERING_START" since="17"/>
+		<field name="MEDIA_INFO_VIDEO_TRACK_LAGGING" since="3"/>
+		<field name="MEDIA_MIMETYPE_TEXT_SUBRIP" since="16" deprecated="28"/>
+		<field name="PREPARE_DRM_STATUS_PREPARATION_ERROR" since="26"/>
+		<field name="PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR" since="26"/>
+		<field name="PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR" since="26"/>
+		<field name="PREPARE_DRM_STATUS_SUCCESS" since="26"/>
+		<field name="SEEK_CLOSEST" since="26"/>
+		<field name="SEEK_CLOSEST_SYNC" since="26"/>
+		<field name="SEEK_NEXT_SYNC" since="26"/>
+		<field name="SEEK_PREVIOUS_SYNC" since="26"/>
+		<field name="VIDEO_SCALING_MODE_SCALE_TO_FIT" since="16"/>
+		<field name="VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING" since="16"/>
+	</class>
+	<class name="android/media/MediaPlayer$DrmInfo" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getPssh()Ljava/util/Map;"/>
+		<method name="getSupportedSchemes()[Ljava/util/UUID;"/>
+	</class>
+	<class name="android/media/MediaPlayer$MetricsConstants" since="26">
+		<extends name="java/lang/Object"/>
+		<field name="CODEC_AUDIO"/>
+		<field name="CODEC_VIDEO"/>
+		<field name="DURATION"/>
+		<field name="ERRORS"/>
+		<field name="ERROR_CODE"/>
+		<field name="FRAMES"/>
+		<field name="FRAMES_DROPPED"/>
+		<field name="HEIGHT"/>
+		<field name="MIME_TYPE_AUDIO"/>
+		<field name="MIME_TYPE_VIDEO"/>
+		<field name="PLAYING"/>
+		<field name="WIDTH"/>
+	</class>
+	<class name="android/media/MediaPlayer$NoDrmSchemeException" since="26">
+		<extends name="android/media/MediaDrmException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnBufferingUpdateListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onBufferingUpdate(Landroid/media/MediaPlayer;I)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnCompletionListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onCompletion(Landroid/media/MediaPlayer;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnDrmConfigHelper" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="onDrmConfig(Landroid/media/MediaPlayer;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnDrmInfoListener" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="onDrmInfo(Landroid/media/MediaPlayer;Landroid/media/MediaPlayer$DrmInfo;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnDrmPreparedListener" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="onDrmPrepared(Landroid/media/MediaPlayer;I)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnErrorListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onError(Landroid/media/MediaPlayer;II)Z"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnInfoListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onInfo(Landroid/media/MediaPlayer;II)Z"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnMediaTimeDiscontinuityListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="onMediaTimeDiscontinuity(Landroid/media/MediaPlayer;Landroid/media/MediaTimestamp;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnPreparedListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onPrepared(Landroid/media/MediaPlayer;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnSeekCompleteListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onSeekComplete(Landroid/media/MediaPlayer;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnSubtitleDataListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="onSubtitleData(Landroid/media/MediaPlayer;Landroid/media/SubtitleData;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnTimedMetaDataAvailableListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onTimedMetaDataAvailable(Landroid/media/MediaPlayer;Landroid/media/TimedMetaData;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnTimedTextListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onTimedText(Landroid/media/MediaPlayer;Landroid/media/TimedText;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$OnVideoSizeChangedListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onVideoSizeChanged(Landroid/media/MediaPlayer;II)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$ProvisioningNetworkErrorException" since="26">
+		<extends name="android/media/MediaDrmException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$ProvisioningServerErrorException" since="26">
+		<extends name="android/media/MediaDrmException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/MediaPlayer$TrackInfo" since="16">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getFormat()Landroid/media/MediaFormat;" since="19"/>
+		<method name="getLanguage()Ljava/lang/String;"/>
+		<method name="getTrackType()I"/>
+		<field name="MEDIA_TRACK_TYPE_AUDIO"/>
+		<field name="MEDIA_TRACK_TYPE_METADATA" since="23"/>
+		<field name="MEDIA_TRACK_TYPE_SUBTITLE" since="21"/>
+		<field name="MEDIA_TRACK_TYPE_TIMEDTEXT"/>
+		<field name="MEDIA_TRACK_TYPE_UNKNOWN"/>
+		<field name="MEDIA_TRACK_TYPE_VIDEO"/>
+	</class>
+	<class name="android/media/MediaRecorder" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/AudioRecordingMonitor" since="29"/>
+		<implements name="android/media/AudioRouting" since="28"/>
+		<implements name="android/media/MicrophoneDirection" since="29"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" since="31"/>
+		<method name="getActiveMicrophones()Ljava/util/List;" since="28"/>
+		<method name="getAudioSourceMax()I" since="4"/>
+		<method name="getLogSessionId()Landroid/media/metrics/LogSessionId;" since="31"/>
+		<method name="getMaxAmplitude()I"/>
+		<method name="getMetrics()Landroid/os/PersistableBundle;" since="26"/>
+		<method name="getSurface()Landroid/view/Surface;" since="21"/>
+		<method name="isPrivacySensitive()Z" since="30"/>
+		<method name="pause()V" since="24"/>
+		<method name="prepare()V"/>
+		<method name="release()V"/>
+		<method name="reset()V"/>
+		<method name="resume()V" since="24"/>
+		<method name="setAudioChannels(I)V" since="8"/>
+		<method name="setAudioEncoder(I)V"/>
+		<method name="setAudioEncodingBitRate(I)V" since="8"/>
+		<method name="setAudioProfile(Landroid/media/EncoderProfiles$AudioProfile;)V" since="31"/>
+		<method name="setAudioSamplingRate(I)V" since="8"/>
+		<method name="setAudioSource(I)V"/>
+		<method name="setAuxiliaryOutputFile(Ljava/io/FileDescriptor;)V" since="11" deprecated="15" removed="16"/>
+		<method name="setAuxiliaryOutputFile(Ljava/lang/String;)V" since="11" deprecated="15" removed="16"/>
+		<method name="setCamera(Landroid/hardware/Camera;)V" since="3" deprecated="21"/>
+		<method name="setCaptureRate(D)V" since="11"/>
+		<method name="setInputSurface(Landroid/view/Surface;)V" since="23"/>
+		<method name="setLocation(FF)V" since="14"/>
+		<method name="setLogSessionId(Landroid/media/metrics/LogSessionId;)V" since="31"/>
+		<method name="setMaxDuration(I)V" since="3"/>
+		<method name="setMaxFileSize(J)V" since="3"/>
+		<method name="setNextOutputFile(Ljava/io/File;)V" since="26"/>
+		<method name="setNextOutputFile(Ljava/io/FileDescriptor;)V" since="26"/>
+		<method name="setOnErrorListener(Landroid/media/MediaRecorder$OnErrorListener;)V" since="3"/>
+		<method name="setOnInfoListener(Landroid/media/MediaRecorder$OnInfoListener;)V" since="3"/>
+		<method name="setOrientationHint(I)V" since="9"/>
+		<method name="setOutputFile(Ljava/io/File;)V" since="26"/>
+		<method name="setOutputFile(Ljava/io/FileDescriptor;)V" since="3"/>
+		<method name="setOutputFile(Ljava/lang/String;)V"/>
+		<method name="setOutputFormat(I)V"/>
+		<method name="setPreviewDisplay(Landroid/view/Surface;)V"/>
+		<method name="setPrivacySensitive(Z)V" since="30"/>
+		<method name="setProfile(Landroid/media/CamcorderProfile;)V" since="8"/>
+		<method name="setVideoEncoder(I)V" since="3"/>
+		<method name="setVideoEncodingBitRate(I)V" since="8"/>
+		<method name="setVideoEncodingProfileLevel(II)V" since="26"/>
+		<method name="setVideoFrameRate(I)V" since="3"/>
+		<method name="setVideoProfile(Landroid/media/EncoderProfiles$VideoProfile;)V" since="31"/>
+		<method name="setVideoSize(II)V" since="3"/>
+		<method name="setVideoSource(I)V" since="3"/>
+		<method name="start()V"/>
+		<method name="stop()V"/>
+		<field name="MEDIA_ERROR_SERVER_DIED" since="17"/>
+		<field name="MEDIA_RECORDER_ERROR_UNKNOWN" since="3"/>
+		<field name="MEDIA_RECORDER_INFO_MAX_DURATION_REACHED" since="3"/>
+		<field name="MEDIA_RECORDER_INFO_MAX_FILESIZE_APPROACHING" since="26"/>
+		<field name="MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED" since="3"/>
+		<field name="MEDIA_RECORDER_INFO_NEXT_OUTPUT_FILE_STARTED" since="26"/>
+		<field name="MEDIA_RECORDER_INFO_UNKNOWN" since="3"/>
+	</class>
+	<class name="android/media/MediaRecorder$AudioEncoder" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="AAC" since="10"/>
+		<field name="AAC_ELD" since="16"/>
+		<field name="AMR_NB"/>
+		<field name="AMR_WB" since="10"/>
+		<field name="DEFAULT"/>
+		<field name="HE_AAC" since="16"/>
+		<field name="OPUS" since="29"/>
+		<field name="VORBIS" since="21"/>
+	</class>
+	<class name="android/media/MediaRecorder$AudioSource" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="CAMCORDER" since="7"/>
+		<field name="DEFAULT"/>
+		<field name="MIC"/>
+		<field name="REMOTE_SUBMIX" since="19"/>
+		<field name="UNPROCESSED" since="24"/>
+		<field name="VOICE_CALL" since="4"/>
+		<field name="VOICE_COMMUNICATION" since="11"/>
+		<field name="VOICE_DOWNLINK" since="4"/>
+		<field name="VOICE_PERFORMANCE" since="29"/>
+		<field name="VOICE_RECOGNITION" since="7"/>
+		<field name="VOICE_UPLINK" since="4"/>
+	</class>
+	<class name="android/media/MediaRecorder$MetricsConstants" since="26">
+		<extends name="java/lang/Object"/>
+		<field name="AUDIO_BITRATE"/>
+		<field name="AUDIO_CHANNELS"/>
+		<field name="AUDIO_SAMPLERATE"/>
+		<field name="AUDIO_TIMESCALE"/>
+		<field name="CAPTURE_FPS"/>
+		<field name="CAPTURE_FPS_ENABLE"/>
+		<field name="FRAMERATE"/>
+		<field name="HEIGHT"/>
+		<field name="MOVIE_TIMESCALE"/>
+		<field name="ROTATION"/>
+		<field name="VIDEO_BITRATE"/>
+		<field name="VIDEO_IFRAME_INTERVAL"/>
+		<field name="VIDEO_LEVEL"/>
+		<field name="VIDEO_PROFILE"/>
+		<field name="VIDEO_TIMESCALE"/>
+		<field name="WIDTH"/>
+	</class>
+	<class name="android/media/MediaRecorder$OnErrorListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onError(Landroid/media/MediaRecorder;II)V"/>
+	</class>
+	<class name="android/media/MediaRecorder$OnInfoListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onInfo(Landroid/media/MediaRecorder;II)V"/>
+	</class>
+	<class name="android/media/MediaRecorder$OutputFormat" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="AAC_ADTS" since="16"/>
+		<field name="AMR_NB" since="10"/>
+		<field name="AMR_WB" since="10"/>
+		<field name="DEFAULT"/>
+		<field name="MPEG_2_TS" since="26"/>
+		<field name="MPEG_4"/>
+		<field name="OGG" since="29"/>
+		<field name="RAW_AMR" since="3" deprecated="16"/>
+		<field name="THREE_GPP"/>
+		<field name="WEBM" since="21"/>
+	</class>
+	<class name="android/media/MediaRecorder$VideoEncoder" since="3">
+		<extends name="java/lang/Object"/>
+		<field name="DEFAULT"/>
+		<field name="H263"/>
+		<field name="H264"/>
+		<field name="HEVC" since="24"/>
+		<field name="MPEG_4_SP"/>
+		<field name="VP8" since="21"/>
+	</class>
+	<class name="android/media/MediaRecorder$VideoSource" since="3">
+		<extends name="java/lang/Object"/>
+		<field name="CAMERA"/>
+		<field name="DEFAULT"/>
+		<field name="SURFACE" since="21"/>
+	</class>
+	<class name="android/media/MediaRoute2Info" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getClientPackageName()Ljava/lang/String;"/>
+		<method name="getConnectionState()I"/>
+		<method name="getDescription()Ljava/lang/CharSequence;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getFeatures()Ljava/util/List;"/>
+		<method name="getIconUri()Landroid/net/Uri;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/CharSequence;"/>
+		<method name="getVolume()I"/>
+		<method name="getVolumeHandling()I"/>
+		<method name="getVolumeMax()I"/>
+		<method name="isSystemRoute()Z"/>
+		<field name="CONNECTION_STATE_CONNECTED"/>
+		<field name="CONNECTION_STATE_CONNECTING"/>
+		<field name="CONNECTION_STATE_DISCONNECTED"/>
+		<field name="CREATOR"/>
+		<field name="FEATURE_LIVE_AUDIO"/>
+		<field name="FEATURE_LIVE_VIDEO"/>
+		<field name="FEATURE_REMOTE_AUDIO_PLAYBACK"/>
+		<field name="FEATURE_REMOTE_PLAYBACK"/>
+		<field name="FEATURE_REMOTE_VIDEO_PLAYBACK"/>
+		<field name="PLAYBACK_VOLUME_FIXED"/>
+		<field name="PLAYBACK_VOLUME_VARIABLE"/>
+	</class>
+	<class name="android/media/MediaRoute2Info$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/media/MediaRoute2Info;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/CharSequence;)V"/>
+		<method name="addFeature(Ljava/lang/String;)Landroid/media/MediaRoute2Info$Builder;"/>
+		<method name="addFeatures(Ljava/util/Collection;)Landroid/media/MediaRoute2Info$Builder;"/>
+		<method name="build()Landroid/media/MediaRoute2Info;"/>
+		<method name="clearFeatures()Landroid/media/MediaRoute2Info$Builder;"/>
+		<method name="setClientPackageName(Ljava/lang/String;)Landroid/media/MediaRoute2Info$Builder;"/>
+		<method name="setConnectionState(I)Landroid/media/MediaRoute2Info$Builder;"/>
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/media/MediaRoute2Info$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/MediaRoute2Info$Builder;"/>
+		<method name="setIconUri(Landroid/net/Uri;)Landroid/media/MediaRoute2Info$Builder;"/>
+		<method name="setVolume(I)Landroid/media/MediaRoute2Info$Builder;"/>
+		<method name="setVolumeHandling(I)Landroid/media/MediaRoute2Info$Builder;"/>
+		<method name="setVolumeMax(I)Landroid/media/MediaRoute2Info$Builder;"/>
+	</class>
+	<class name="android/media/MediaRoute2ProviderService" since="30">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAllSessionInfo()Ljava/util/List;"/>
+		<method name="getSessionInfo(Ljava/lang/String;)Landroid/media/RoutingSessionInfo;"/>
+		<method name="notifyRequestFailed(JI)V"/>
+		<method name="notifyRoutes(Ljava/util/Collection;)V"/>
+		<method name="notifySessionCreated(JLandroid/media/RoutingSessionInfo;)V"/>
+		<method name="notifySessionReleased(Ljava/lang/String;)V"/>
+		<method name="notifySessionUpdated(Landroid/media/RoutingSessionInfo;)V"/>
+		<method name="onCreateSession(JLjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="onDeselectRoute(JLjava/lang/String;Ljava/lang/String;)V"/>
+		<method name="onDiscoveryPreferenceChanged(Landroid/media/RouteDiscoveryPreference;)V"/>
+		<method name="onReleaseSession(JLjava/lang/String;)V"/>
+		<method name="onSelectRoute(JLjava/lang/String;Ljava/lang/String;)V"/>
+		<method name="onSetRouteVolume(JLjava/lang/String;I)V"/>
+		<method name="onSetSessionVolume(JLjava/lang/String;I)V"/>
+		<method name="onTransferToRoute(JLjava/lang/String;Ljava/lang/String;)V"/>
+		<field name="REASON_INVALID_COMMAND"/>
+		<field name="REASON_NETWORK_ERROR"/>
+		<field name="REASON_REJECTED"/>
+		<field name="REASON_ROUTE_NOT_AVAILABLE"/>
+		<field name="REASON_UNKNOWN_ERROR"/>
+		<field name="REQUEST_ID_NONE"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/media/MediaRouter" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="addCallback(ILandroid/media/MediaRouter$Callback;)V"/>
+		<method name="addCallback(ILandroid/media/MediaRouter$Callback;I)V" since="18"/>
+		<method name="addUserRoute(Landroid/media/MediaRouter$UserRouteInfo;)V"/>
+		<method name="clearUserRoutes()V"/>
+		<method name="createRouteCategory(IZ)Landroid/media/MediaRouter$RouteCategory;"/>
+		<method name="createRouteCategory(Ljava/lang/CharSequence;Z)Landroid/media/MediaRouter$RouteCategory;"/>
+		<method name="createUserRoute(Landroid/media/MediaRouter$RouteCategory;)Landroid/media/MediaRouter$UserRouteInfo;"/>
+		<method name="getCategoryAt(I)Landroid/media/MediaRouter$RouteCategory;"/>
+		<method name="getCategoryCount()I"/>
+		<method name="getDefaultRoute()Landroid/media/MediaRouter$RouteInfo;" since="18"/>
+		<method name="getRouteAt(I)Landroid/media/MediaRouter$RouteInfo;"/>
+		<method name="getRouteCount()I"/>
+		<method name="getSelectedRoute(I)Landroid/media/MediaRouter$RouteInfo;"/>
+		<method name="removeCallback(Landroid/media/MediaRouter$Callback;)V"/>
+		<method name="removeUserRoute(Landroid/media/MediaRouter$UserRouteInfo;)V"/>
+		<method name="selectRoute(ILandroid/media/MediaRouter$RouteInfo;)V"/>
+		<field name="CALLBACK_FLAG_PERFORM_ACTIVE_SCAN" since="18"/>
+		<field name="CALLBACK_FLAG_UNFILTERED_EVENTS" since="18"/>
+		<field name="ROUTE_TYPE_LIVE_AUDIO"/>
+		<field name="ROUTE_TYPE_LIVE_VIDEO" since="17"/>
+		<field name="ROUTE_TYPE_USER"/>
+	</class>
+	<class name="android/media/MediaRouter$Callback" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onRouteAdded(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V"/>
+		<method name="onRouteChanged(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V"/>
+		<method name="onRouteGrouped(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;I)V"/>
+		<method name="onRoutePresentationDisplayChanged(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V" since="17"/>
+		<method name="onRouteRemoved(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V"/>
+		<method name="onRouteSelected(Landroid/media/MediaRouter;ILandroid/media/MediaRouter$RouteInfo;)V"/>
+		<method name="onRouteUngrouped(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;)V"/>
+		<method name="onRouteUnselected(Landroid/media/MediaRouter;ILandroid/media/MediaRouter$RouteInfo;)V"/>
+		<method name="onRouteVolumeChanged(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V"/>
+	</class>
+	<class name="android/media/MediaRouter$RouteCategory" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="getName()Ljava/lang/CharSequence;"/>
+		<method name="getName(Landroid/content/Context;)Ljava/lang/CharSequence;"/>
+		<method name="getRoutes(Ljava/util/List;)Ljava/util/List;"/>
+		<method name="getSupportedTypes()I"/>
+		<method name="isGroupable()Z"/>
+	</class>
+	<class name="android/media/MediaRouter$RouteGroup" since="16">
+		<extends name="android/media/MediaRouter$RouteInfo"/>
+		<method name="addRoute(Landroid/media/MediaRouter$RouteInfo;)V"/>
+		<method name="addRoute(Landroid/media/MediaRouter$RouteInfo;I)V"/>
+		<method name="getRouteAt(I)Landroid/media/MediaRouter$RouteInfo;"/>
+		<method name="getRouteCount()I"/>
+		<method name="removeRoute(I)V"/>
+		<method name="removeRoute(Landroid/media/MediaRouter$RouteInfo;)V"/>
+		<method name="setIconDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setIconResource(I)V"/>
+	</class>
+	<class name="android/media/MediaRouter$RouteInfo" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="getCategory()Landroid/media/MediaRouter$RouteCategory;"/>
+		<method name="getDescription()Ljava/lang/CharSequence;" since="18"/>
+		<method name="getDeviceType()I" since="24"/>
+		<method name="getGroup()Landroid/media/MediaRouter$RouteGroup;"/>
+		<method name="getIconDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getName()Ljava/lang/CharSequence;"/>
+		<method name="getName(Landroid/content/Context;)Ljava/lang/CharSequence;"/>
+		<method name="getPlaybackStream()I"/>
+		<method name="getPlaybackType()I"/>
+		<method name="getPresentationDisplay()Landroid/view/Display;" since="17"/>
+		<method name="getStatus()Ljava/lang/CharSequence;"/>
+		<method name="getSupportedTypes()I"/>
+		<method name="getTag()Ljava/lang/Object;"/>
+		<method name="getVolume()I"/>
+		<method name="getVolumeHandling()I"/>
+		<method name="getVolumeMax()I"/>
+		<method name="isConnecting()Z" since="18"/>
+		<method name="isEnabled()Z" since="17"/>
+		<method name="requestSetVolume(I)V"/>
+		<method name="requestUpdateVolume(I)V"/>
+		<method name="setTag(Ljava/lang/Object;)V"/>
+		<field name="DEVICE_TYPE_BLUETOOTH" since="24"/>
+		<field name="DEVICE_TYPE_SPEAKER" since="24"/>
+		<field name="DEVICE_TYPE_TV" since="24"/>
+		<field name="DEVICE_TYPE_UNKNOWN" since="24"/>
+		<field name="PLAYBACK_TYPE_LOCAL"/>
+		<field name="PLAYBACK_TYPE_REMOTE"/>
+		<field name="PLAYBACK_VOLUME_FIXED"/>
+		<field name="PLAYBACK_VOLUME_VARIABLE"/>
+	</class>
+	<class name="android/media/MediaRouter$SimpleCallback" since="16">
+		<extends name="android/media/MediaRouter$Callback"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/media/MediaRouter$UserRouteInfo" since="16">
+		<extends name="android/media/MediaRouter$RouteInfo"/>
+		<method name="getRemoteControlClient()Landroid/media/RemoteControlClient;"/>
+		<method name="setDescription(Ljava/lang/CharSequence;)V" since="18"/>
+		<method name="setIconDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setIconResource(I)V"/>
+		<method name="setName(I)V"/>
+		<method name="setName(Ljava/lang/CharSequence;)V"/>
+		<method name="setPlaybackStream(I)V"/>
+		<method name="setPlaybackType(I)V"/>
+		<method name="setRemoteControlClient(Landroid/media/RemoteControlClient;)V"/>
+		<method name="setStatus(Ljava/lang/CharSequence;)V"/>
+		<method name="setVolume(I)V"/>
+		<method name="setVolumeCallback(Landroid/media/MediaRouter$VolumeCallback;)V"/>
+		<method name="setVolumeHandling(I)V"/>
+		<method name="setVolumeMax(I)V"/>
+	</class>
+	<class name="android/media/MediaRouter$VolumeCallback" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onVolumeSetRequest(Landroid/media/MediaRouter$RouteInfo;I)V"/>
+		<method name="onVolumeUpdateRequest(Landroid/media/MediaRouter$RouteInfo;I)V"/>
+	</class>
+	<class name="android/media/MediaRouter2" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getController(Ljava/lang/String;)Landroid/media/MediaRouter2$RoutingController;" since="31"/>
+		<method name="getControllers()Ljava/util/List;"/>
+		<method name="getInstance(Landroid/content/Context;)Landroid/media/MediaRouter2;"/>
+		<method name="getRoutes()Ljava/util/List;"/>
+		<method name="getSystemController()Landroid/media/MediaRouter2$RoutingController;"/>
+		<method name="registerControllerCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaRouter2$ControllerCallback;)V"/>
+		<method name="registerRouteCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaRouter2$RouteCallback;Landroid/media/RouteDiscoveryPreference;)V"/>
+		<method name="registerTransferCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaRouter2$TransferCallback;)V"/>
+		<method name="setOnGetControllerHintsListener(Landroid/media/MediaRouter2$OnGetControllerHintsListener;)V"/>
+		<method name="stop()V"/>
+		<method name="transferTo(Landroid/media/MediaRoute2Info;)V"/>
+		<method name="unregisterControllerCallback(Landroid/media/MediaRouter2$ControllerCallback;)V"/>
+		<method name="unregisterRouteCallback(Landroid/media/MediaRouter2$RouteCallback;)V"/>
+		<method name="unregisterTransferCallback(Landroid/media/MediaRouter2$TransferCallback;)V"/>
+	</class>
+	<class name="android/media/MediaRouter2$ControllerCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onControllerUpdated(Landroid/media/MediaRouter2$RoutingController;)V"/>
+	</class>
+	<class name="android/media/MediaRouter2$OnGetControllerHintsListener" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onGetControllerHints(Landroid/media/MediaRoute2Info;)Landroid/os/Bundle;"/>
+	</class>
+	<class name="android/media/MediaRouter2$RouteCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onRoutesAdded(Ljava/util/List;)V"/>
+		<method name="onRoutesChanged(Ljava/util/List;)V"/>
+		<method name="onRoutesRemoved(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/media/MediaRouter2$RoutingController" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="deselectRoute(Landroid/media/MediaRoute2Info;)V"/>
+		<method name="getControlHints()Landroid/os/Bundle;"/>
+		<method name="getDeselectableRoutes()Ljava/util/List;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getSelectableRoutes()Ljava/util/List;"/>
+		<method name="getSelectedRoutes()Ljava/util/List;"/>
+		<method name="getVolume()I"/>
+		<method name="getVolumeHandling()I"/>
+		<method name="getVolumeMax()I"/>
+		<method name="isReleased()Z"/>
+		<method name="release()V"/>
+		<method name="selectRoute(Landroid/media/MediaRoute2Info;)V"/>
+		<method name="setVolume(I)V"/>
+	</class>
+	<class name="android/media/MediaRouter2$TransferCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onStop(Landroid/media/MediaRouter2$RoutingController;)V"/>
+		<method name="onTransfer(Landroid/media/MediaRouter2$RoutingController;Landroid/media/MediaRouter2$RoutingController;)V"/>
+		<method name="onTransferFailure(Landroid/media/MediaRoute2Info;)V"/>
+	</class>
+	<class name="android/media/MediaScannerConnection" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/content/ServiceConnection"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/media/MediaScannerConnection$MediaScannerConnectionClient;)V"/>
+		<method name="connect()V"/>
+		<method name="disconnect()V"/>
+		<method name="isConnected()Z"/>
+		<method name="scanFile(Landroid/content/Context;[Ljava/lang/String;[Ljava/lang/String;Landroid/media/MediaScannerConnection$OnScanCompletedListener;)V" since="8"/>
+		<method name="scanFile(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/MediaScannerConnection$MediaScannerConnectionClient" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/MediaScannerConnection$OnScanCompletedListener" since="8"/>
+		<method name="onMediaScannerConnected()V"/>
+		<method name="onScanCompleted(Ljava/lang/String;Landroid/net/Uri;)V" removed="30"/>
+	</class>
+	<class name="android/media/MediaScannerConnection$OnScanCompletedListener" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="onScanCompleted(Ljava/lang/String;Landroid/net/Uri;)V"/>
+	</class>
+	<class name="android/media/MediaSession2" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="broadcastSessionCommand(Landroid/media/Session2Command;Landroid/os/Bundle;)V"/>
+		<method name="cancelSessionCommand(Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/Object;)V"/>
+		<method name="getConnectedControllers()Ljava/util/List;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getToken()Landroid/media/Session2Token;"/>
+		<method name="isPlaybackActive()Z"/>
+		<method name="sendSessionCommand(Landroid/media/MediaSession2$ControllerInfo;Landroid/media/Session2Command;Landroid/os/Bundle;)Ljava/lang/Object;"/>
+		<method name="setPlaybackActive(Z)V"/>
+	</class>
+	<class name="android/media/MediaSession2$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="build()Landroid/media/MediaSession2;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/MediaSession2$Builder;"/>
+		<method name="setId(Ljava/lang/String;)Landroid/media/MediaSession2$Builder;"/>
+		<method name="setSessionActivity(Landroid/app/PendingIntent;)Landroid/media/MediaSession2$Builder;"/>
+		<method name="setSessionCallback(Ljava/util/concurrent/Executor;Landroid/media/MediaSession2$SessionCallback;)Landroid/media/MediaSession2$Builder;"/>
+	</class>
+	<class name="android/media/MediaSession2$ControllerInfo" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getConnectionHints()Landroid/os/Bundle;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getRemoteUserInfo()Landroid/media/session/MediaSessionManager$RemoteUserInfo;"/>
+		<method name="getUid()I"/>
+	</class>
+	<class name="android/media/MediaSession2$SessionCallback" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCommandResult(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Ljava/lang/Object;Landroid/media/Session2Command;Landroid/media/Session2Command$Result;)V"/>
+		<method name="onConnect(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;)Landroid/media/Session2CommandGroup;"/>
+		<method name="onDisconnected(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;)V"/>
+		<method name="onPostConnect(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;)V"/>
+		<method name="onSessionCommand(Landroid/media/MediaSession2;Landroid/media/MediaSession2$ControllerInfo;Landroid/media/Session2Command;Landroid/os/Bundle;)Landroid/media/Session2Command$Result;"/>
+	</class>
+	<class name="android/media/MediaSession2Service" since="29">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="addSession(Landroid/media/MediaSession2;)V"/>
+		<method name="getSessions()Ljava/util/List;"/>
+		<method name="onGetSession(Landroid/media/MediaSession2$ControllerInfo;)Landroid/media/MediaSession2;"/>
+		<method name="onUpdateNotification(Landroid/media/MediaSession2;)Landroid/media/MediaSession2Service$MediaNotification;"/>
+		<method name="removeSession(Landroid/media/MediaSession2;)V"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/media/MediaSession2Service$MediaNotification" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILandroid/app/Notification;)V"/>
+		<method name="getNotification()Landroid/app/Notification;"/>
+		<method name="getNotificationId()I"/>
+	</class>
+	<class name="android/media/MediaSync" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="createInputSurface()Landroid/view/Surface;"/>
+		<method name="flush()V"/>
+		<method name="getPlaybackParams()Landroid/media/PlaybackParams;"/>
+		<method name="getSyncParams()Landroid/media/SyncParams;"/>
+		<method name="getTimestamp()Landroid/media/MediaTimestamp;"/>
+		<method name="queueAudio(Ljava/nio/ByteBuffer;IJ)V"/>
+		<method name="release()V"/>
+		<method name="setAudioTrack(Landroid/media/AudioTrack;)V"/>
+		<method name="setCallback(Landroid/media/MediaSync$Callback;Landroid/os/Handler;)V"/>
+		<method name="setOnErrorListener(Landroid/media/MediaSync$OnErrorListener;Landroid/os/Handler;)V"/>
+		<method name="setPlaybackParams(Landroid/media/PlaybackParams;)V"/>
+		<method name="setSurface(Landroid/view/Surface;)V"/>
+		<method name="setSyncParams(Landroid/media/SyncParams;)V"/>
+		<field name="MEDIASYNC_ERROR_AUDIOTRACK_FAIL"/>
+		<field name="MEDIASYNC_ERROR_SURFACE_FAIL"/>
+	</class>
+	<class name="android/media/MediaSync$Callback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAudioBufferConsumed(Landroid/media/MediaSync;Ljava/nio/ByteBuffer;I)V"/>
+	</class>
+	<class name="android/media/MediaSync$OnErrorListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onError(Landroid/media/MediaSync;II)V"/>
+	</class>
+	<class name="android/media/MediaSyncEvent" since="16">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="31"/>
+		<method name="createEvent(I)Landroid/media/MediaSyncEvent;"/>
+		<method name="getAudioSessionId()I"/>
+		<method name="getType()I"/>
+		<method name="setAudioSessionId(I)Landroid/media/MediaSyncEvent;"/>
+		<field name="CREATOR" since="31"/>
+		<field name="SYNC_EVENT_NONE"/>
+		<field name="SYNC_EVENT_PRESENTATION_COMPLETE"/>
+	</class>
+	<class name="android/media/MediaTimestamp" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(JJF)V" since="29"/>
+		<method name="getAnchorMediaTimeUs()J"/>
+		<method name="getAnchorSystemNanoTime()J" since="29"/>
+		<method name="getAnchorSytemNanoTime()J" deprecated="29"/>
+		<method name="getMediaClockRate()F"/>
+		<field name="TIMESTAMP_UNKNOWN" since="28"/>
+	</class>
+	<class name="android/media/MicrophoneDirection" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="setPreferredMicrophoneDirection(I)Z"/>
+		<method name="setPreferredMicrophoneFieldDimension(F)Z"/>
+		<field name="MIC_DIRECTION_AWAY_FROM_USER"/>
+		<field name="MIC_DIRECTION_EXTERNAL"/>
+		<field name="MIC_DIRECTION_TOWARDS_USER"/>
+		<field name="MIC_DIRECTION_UNSPECIFIED"/>
+	</class>
+	<class name="android/media/MicrophoneInfo" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getAddress()Ljava/lang/String;"/>
+		<method name="getChannelMapping()Ljava/util/List;"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getDirectionality()I"/>
+		<method name="getFrequencyResponse()Ljava/util/List;"/>
+		<method name="getGroup()I"/>
+		<method name="getId()I"/>
+		<method name="getIndexInTheGroup()I"/>
+		<method name="getLocation()I"/>
+		<method name="getMaxSpl()F"/>
+		<method name="getMinSpl()F"/>
+		<method name="getOrientation()Landroid/media/MicrophoneInfo$Coordinate3F;"/>
+		<method name="getPosition()Landroid/media/MicrophoneInfo$Coordinate3F;"/>
+		<method name="getSensitivity()F"/>
+		<method name="getType()I"/>
+		<field name="CHANNEL_MAPPING_DIRECT"/>
+		<field name="CHANNEL_MAPPING_PROCESSED"/>
+		<field name="DIRECTIONALITY_BI_DIRECTIONAL"/>
+		<field name="DIRECTIONALITY_CARDIOID"/>
+		<field name="DIRECTIONALITY_HYPER_CARDIOID"/>
+		<field name="DIRECTIONALITY_OMNI"/>
+		<field name="DIRECTIONALITY_SUPER_CARDIOID"/>
+		<field name="DIRECTIONALITY_UNKNOWN"/>
+		<field name="GROUP_UNKNOWN"/>
+		<field name="INDEX_IN_THE_GROUP_UNKNOWN"/>
+		<field name="LOCATION_MAINBODY"/>
+		<field name="LOCATION_MAINBODY_MOVABLE"/>
+		<field name="LOCATION_PERIPHERAL"/>
+		<field name="LOCATION_UNKNOWN"/>
+		<field name="ORIENTATION_UNKNOWN"/>
+		<field name="POSITION_UNKNOWN"/>
+		<field name="SENSITIVITY_UNKNOWN"/>
+		<field name="SPL_UNKNOWN"/>
+	</class>
+	<class name="android/media/MicrophoneInfo$Coordinate3F" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="x"/>
+		<field name="y"/>
+		<field name="z"/>
+	</class>
+	<class name="android/media/NotProvisionedException" since="18">
+		<extends name="android/media/MediaDrmException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/PlaybackParams" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="allowDefaults()Landroid/media/PlaybackParams;"/>
+		<method name="getAudioFallbackMode()I"/>
+		<method name="getPitch()F"/>
+		<method name="getSpeed()F"/>
+		<method name="setAudioFallbackMode(I)Landroid/media/PlaybackParams;"/>
+		<method name="setPitch(F)Landroid/media/PlaybackParams;"/>
+		<method name="setSpeed(F)Landroid/media/PlaybackParams;"/>
+		<field name="AUDIO_FALLBACK_MODE_DEFAULT"/>
+		<field name="AUDIO_FALLBACK_MODE_FAIL"/>
+		<field name="AUDIO_FALLBACK_MODE_MUTE"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/Rating" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getPercentRating()F"/>
+		<method name="getRatingStyle()I"/>
+		<method name="getStarRating()F"/>
+		<method name="hasHeart()Z"/>
+		<method name="isRated()Z"/>
+		<method name="isThumbUp()Z"/>
+		<method name="newHeartRating(Z)Landroid/media/Rating;"/>
+		<method name="newPercentageRating(F)Landroid/media/Rating;"/>
+		<method name="newStarRating(IF)Landroid/media/Rating;"/>
+		<method name="newThumbRating(Z)Landroid/media/Rating;"/>
+		<method name="newUnratedRating(I)Landroid/media/Rating;"/>
+		<field name="CREATOR"/>
+		<field name="RATING_3_STARS"/>
+		<field name="RATING_4_STARS"/>
+		<field name="RATING_5_STARS"/>
+		<field name="RATING_HEART"/>
+		<field name="RATING_NONE" since="21"/>
+		<field name="RATING_PERCENTAGE"/>
+		<field name="RATING_THUMB_UP_DOWN"/>
+	</class>
+	<class name="android/media/RemoteControlClient" since="14" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/app/PendingIntent;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/app/PendingIntent;Landroid/os/Looper;)V" deprecated="29"/>
+		<method name="editMetadata(Z)Landroid/media/RemoteControlClient$MetadataEditor;" deprecated="29"/>
+		<method name="getMediaSession()Landroid/media/session/MediaSession;" since="21" deprecated="29"/>
+		<method name="setMetadataUpdateListener(Landroid/media/RemoteControlClient$OnMetadataUpdateListener;)V" since="19" deprecated="29"/>
+		<method name="setOnGetPlaybackPositionListener(Landroid/media/RemoteControlClient$OnGetPlaybackPositionListener;)V" since="18" deprecated="29"/>
+		<method name="setPlaybackPositionUpdateListener(Landroid/media/RemoteControlClient$OnPlaybackPositionUpdateListener;)V" since="18" deprecated="29"/>
+		<method name="setPlaybackState(I)V" deprecated="29"/>
+		<method name="setPlaybackState(IJF)V" since="18" deprecated="29"/>
+		<method name="setTransportControlFlags(I)V" deprecated="29"/>
+		<field name="FLAG_KEY_MEDIA_FAST_FORWARD" deprecated="29"/>
+		<field name="FLAG_KEY_MEDIA_NEXT" deprecated="29"/>
+		<field name="FLAG_KEY_MEDIA_PAUSE" deprecated="29"/>
+		<field name="FLAG_KEY_MEDIA_PLAY" deprecated="29"/>
+		<field name="FLAG_KEY_MEDIA_PLAY_PAUSE" deprecated="29"/>
+		<field name="FLAG_KEY_MEDIA_POSITION_UPDATE" since="18" deprecated="29"/>
+		<field name="FLAG_KEY_MEDIA_PREVIOUS" deprecated="29"/>
+		<field name="FLAG_KEY_MEDIA_RATING" since="19" deprecated="29"/>
+		<field name="FLAG_KEY_MEDIA_REWIND" deprecated="29"/>
+		<field name="FLAG_KEY_MEDIA_STOP" deprecated="29"/>
+		<field name="PLAYSTATE_BUFFERING" deprecated="29"/>
+		<field name="PLAYSTATE_ERROR" deprecated="29"/>
+		<field name="PLAYSTATE_FAST_FORWARDING" deprecated="29"/>
+		<field name="PLAYSTATE_PAUSED" deprecated="29"/>
+		<field name="PLAYSTATE_PLAYING" deprecated="29"/>
+		<field name="PLAYSTATE_REWINDING" deprecated="29"/>
+		<field name="PLAYSTATE_SKIPPING_BACKWARDS" deprecated="29"/>
+		<field name="PLAYSTATE_SKIPPING_FORWARDS" deprecated="29"/>
+		<field name="PLAYSTATE_STOPPED" deprecated="29"/>
+	</class>
+	<class name="android/media/RemoteControlClient$MetadataEditor" since="14" deprecated="21">
+		<extends name="android/media/MediaMetadataEditor" since="19"/>
+		<extends name="java/lang/Object" removed="19"/>
+		<method name="apply()V" deprecated="29"/>
+		<method name="clear()V" deprecated="29"/>
+		<method name="putBitmap(ILandroid/graphics/Bitmap;)Landroid/media/RemoteControlClient$MetadataEditor;" deprecated="29"/>
+		<method name="putLong(IJ)Landroid/media/RemoteControlClient$MetadataEditor;" deprecated="29"/>
+		<method name="putObject(ILjava/lang/Object;)Landroid/media/RemoteControlClient$MetadataEditor;" since="21" deprecated="29"/>
+		<method name="putString(ILjava/lang/String;)Landroid/media/RemoteControlClient$MetadataEditor;" deprecated="29"/>
+		<field name="BITMAP_KEY_ARTWORK" deprecated="29"/>
+	</class>
+	<class name="android/media/RemoteControlClient$OnGetPlaybackPositionListener" since="18" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onGetPlaybackPosition()J" deprecated="29"/>
+	</class>
+	<class name="android/media/RemoteControlClient$OnMetadataUpdateListener" since="19" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onMetadataUpdate(ILjava/lang/Object;)V" deprecated="29"/>
+	</class>
+	<class name="android/media/RemoteControlClient$OnPlaybackPositionUpdateListener" since="18" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onPlaybackPositionUpdate(J)V" deprecated="29"/>
+	</class>
+	<class name="android/media/RemoteController" since="19" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/media/RemoteController$OnClientUpdateListener;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/media/RemoteController$OnClientUpdateListener;Landroid/os/Looper;)V" deprecated="29"/>
+		<method name="clearArtworkConfiguration()Z" deprecated="29"/>
+		<method name="editMetadata()Landroid/media/RemoteController$MetadataEditor;" deprecated="29"/>
+		<method name="getEstimatedMediaPosition()J" deprecated="29"/>
+		<method name="seekTo(J)Z" deprecated="29"/>
+		<method name="sendMediaKeyEvent(Landroid/view/KeyEvent;)Z" deprecated="29"/>
+		<method name="setArtworkConfiguration(II)Z" deprecated="29"/>
+		<method name="setSynchronizationMode(I)Z" deprecated="29"/>
+		<field name="POSITION_SYNCHRONIZATION_CHECK" deprecated="29"/>
+		<field name="POSITION_SYNCHRONIZATION_NONE" deprecated="29"/>
+	</class>
+	<class name="android/media/RemoteController$MetadataEditor" since="19" deprecated="29">
+		<extends name="android/media/MediaMetadataEditor"/>
+	</class>
+	<class name="android/media/RemoteController$OnClientUpdateListener" since="19" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onClientChange(Z)V" deprecated="29"/>
+		<method name="onClientMetadataUpdate(Landroid/media/RemoteController$MetadataEditor;)V" deprecated="29"/>
+		<method name="onClientPlaybackStateUpdate(I)V" deprecated="29"/>
+		<method name="onClientPlaybackStateUpdate(IJJF)V" deprecated="29"/>
+		<method name="onClientTransportControlUpdate(I)V" deprecated="29"/>
+	</class>
+	<class name="android/media/ResourceBusyException" since="19">
+		<extends name="android/media/MediaDrmException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/Ringtone" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;" since="21"/>
+		<method name="getStreamType()I" deprecated="21"/>
+		<method name="getTitle(Landroid/content/Context;)Ljava/lang/String;"/>
+		<method name="getVolume()F" since="28"/>
+		<method name="isHapticGeneratorEnabled()Z" since="31"/>
+		<method name="isLooping()Z" since="28"/>
+		<method name="isPlaying()Z"/>
+		<method name="play()V"/>
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)V" since="21"/>
+		<method name="setHapticGeneratorEnabled(Z)Z" since="31"/>
+		<method name="setLooping(Z)V" since="28"/>
+		<method name="setStreamType(I)V" deprecated="21"/>
+		<method name="setVolume(F)V" since="28"/>
+		<method name="stop()V"/>
+	</class>
+	<class name="android/media/RingtoneManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/app/Activity;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="getActualDefaultRingtoneUri(Landroid/content/Context;I)Landroid/net/Uri;"/>
+		<method name="getCursor()Landroid/database/Cursor;"/>
+		<method name="getDefaultType(Landroid/net/Uri;)I"/>
+		<method name="getDefaultUri(I)Landroid/net/Uri;"/>
+		<method name="getIncludeDrm()Z" deprecated="19"/>
+		<method name="getRingtone(I)Landroid/media/Ringtone;"/>
+		<method name="getRingtone(Landroid/content/Context;Landroid/net/Uri;)Landroid/media/Ringtone;"/>
+		<method name="getRingtonePosition(Landroid/net/Uri;)I"/>
+		<method name="getRingtoneUri(I)Landroid/net/Uri;"/>
+		<method name="getStopPreviousRingtone()Z"/>
+		<method name="getValidRingtoneUri(Landroid/content/Context;)Landroid/net/Uri;"/>
+		<method name="hasHapticChannels(I)Z" since="29"/>
+		<method name="hasHapticChannels(Landroid/net/Uri;)Z" since="29"/>
+		<method name="inferStreamType()I" since="3"/>
+		<method name="isDefault(Landroid/net/Uri;)Z"/>
+		<method name="openDefaultRingtoneUri(Landroid/content/Context;Landroid/net/Uri;)Landroid/content/res/AssetFileDescriptor;" since="29"/>
+		<method name="setActualDefaultRingtoneUri(Landroid/content/Context;ILandroid/net/Uri;)V"/>
+		<method name="setIncludeDrm(Z)V" deprecated="19"/>
+		<method name="setStopPreviousRingtone(Z)V"/>
+		<method name="setType(I)V"/>
+		<method name="stopPreviousRingtone()V"/>
+		<field name="ACTION_RINGTONE_PICKER"/>
+		<field name="EXTRA_RINGTONE_DEFAULT_URI"/>
+		<field name="EXTRA_RINGTONE_EXISTING_URI"/>
+		<field name="EXTRA_RINGTONE_INCLUDE_DRM" deprecated="19"/>
+		<field name="EXTRA_RINGTONE_PICKED_URI"/>
+		<field name="EXTRA_RINGTONE_SHOW_DEFAULT"/>
+		<field name="EXTRA_RINGTONE_SHOW_SILENT"/>
+		<field name="EXTRA_RINGTONE_TITLE"/>
+		<field name="EXTRA_RINGTONE_TYPE"/>
+		<field name="ID_COLUMN_INDEX"/>
+		<field name="TITLE_COLUMN_INDEX"/>
+		<field name="TYPE_ALARM"/>
+		<field name="TYPE_ALL"/>
+		<field name="TYPE_NOTIFICATION"/>
+		<field name="TYPE_RINGTONE"/>
+		<field name="URI_COLUMN_INDEX"/>
+	</class>
+	<class name="android/media/RouteDiscoveryPreference" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getPreferredFeatures()Ljava/util/List;"/>
+		<method name="shouldPerformActiveScan()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/RouteDiscoveryPreference$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/media/RouteDiscoveryPreference;)V"/>
+		<method name="&lt;init>(Ljava/util/List;Z)V"/>
+		<method name="build()Landroid/media/RouteDiscoveryPreference;"/>
+		<method name="setPreferredFeatures(Ljava/util/List;)Landroid/media/RouteDiscoveryPreference$Builder;"/>
+		<method name="setShouldPerformActiveScan(Z)Landroid/media/RouteDiscoveryPreference$Builder;"/>
+	</class>
+	<class name="android/media/RoutingSessionInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getClientPackageName()Ljava/lang/String;"/>
+		<method name="getControlHints()Landroid/os/Bundle;"/>
+		<method name="getDeselectableRoutes()Ljava/util/List;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/CharSequence;"/>
+		<method name="getSelectableRoutes()Ljava/util/List;"/>
+		<method name="getSelectedRoutes()Ljava/util/List;"/>
+		<method name="getTransferableRoutes()Ljava/util/List;"/>
+		<method name="getVolume()I"/>
+		<method name="getVolumeHandling()I"/>
+		<method name="getVolumeMax()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/RoutingSessionInfo$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/media/RoutingSessionInfo;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="addDeselectableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="addSelectableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="addSelectedRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="addTransferableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="build()Landroid/media/RoutingSessionInfo;"/>
+		<method name="clearDeselectableRoutes()Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="clearSelectableRoutes()Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="clearSelectedRoutes()Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="clearTransferableRoutes()Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="removeDeselectableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="removeSelectableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="removeSelectedRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="removeTransferableRoute(Ljava/lang/String;)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="setControlHints(Landroid/os/Bundle;)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="setName(Ljava/lang/CharSequence;)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="setVolume(I)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="setVolumeHandling(I)Landroid/media/RoutingSessionInfo$Builder;"/>
+		<method name="setVolumeMax(I)Landroid/media/RoutingSessionInfo$Builder;"/>
+	</class>
+	<class name="android/media/Session2Command" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="getCommandCode()I"/>
+		<method name="getCustomAction()Ljava/lang/String;"/>
+		<method name="getCustomExtras()Landroid/os/Bundle;"/>
+		<field name="COMMAND_CODE_CUSTOM"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/Session2Command$Result" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILandroid/os/Bundle;)V"/>
+		<method name="getResultCode()I"/>
+		<method name="getResultData()Landroid/os/Bundle;"/>
+		<field name="RESULT_ERROR_UNKNOWN_ERROR"/>
+		<field name="RESULT_INFO_SKIPPED"/>
+		<field name="RESULT_SUCCESS"/>
+	</class>
+	<class name="android/media/Session2CommandGroup" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCommands()Ljava/util/Set;"/>
+		<method name="hasCommand(I)Z"/>
+		<method name="hasCommand(Landroid/media/Session2Command;)Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/Session2CommandGroup$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/media/Session2CommandGroup;)V"/>
+		<method name="addCommand(Landroid/media/Session2Command;)Landroid/media/Session2CommandGroup$Builder;"/>
+		<method name="build()Landroid/media/Session2CommandGroup;"/>
+		<method name="removeCommand(Landroid/media/Session2Command;)Landroid/media/Session2CommandGroup$Builder;"/>
+	</class>
+	<class name="android/media/Session2Token" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/content/ComponentName;)V"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getServiceName()Ljava/lang/String;"/>
+		<method name="getType()I"/>
+		<method name="getUid()I"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_SESSION"/>
+		<field name="TYPE_SESSION_SERVICE"/>
+	</class>
+	<class name="android/media/SoundPool" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(III)V" deprecated="21"/>
+		<method name="autoPause()V" since="8"/>
+		<method name="autoResume()V" since="8"/>
+		<method name="load(Landroid/content/Context;II)I"/>
+		<method name="load(Landroid/content/res/AssetFileDescriptor;I)I" since="3"/>
+		<method name="load(Ljava/io/FileDescriptor;JJI)I" since="3"/>
+		<method name="load(Ljava/lang/String;I)I"/>
+		<method name="pause(I)V"/>
+		<method name="play(IFFIIF)I"/>
+		<method name="release()V"/>
+		<method name="resume(I)V"/>
+		<method name="setLoop(II)V"/>
+		<method name="setOnLoadCompleteListener(Landroid/media/SoundPool$OnLoadCompleteListener;)V" since="8"/>
+		<method name="setPriority(II)V"/>
+		<method name="setRate(IF)V"/>
+		<method name="setVolume(IFF)V"/>
+		<method name="stop(I)V"/>
+		<method name="unload(I)Z"/>
+	</class>
+	<class name="android/media/SoundPool$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/media/SoundPool;"/>
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)Landroid/media/SoundPool$Builder;"/>
+		<method name="setMaxStreams(I)Landroid/media/SoundPool$Builder;"/>
+	</class>
+	<class name="android/media/SoundPool$OnLoadCompleteListener" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="onLoadComplete(Landroid/media/SoundPool;II)V"/>
+	</class>
+	<class name="android/media/Spatializer" since="33">
+		<extends name="java/lang/Object"/>
+		<method name="addOnSpatializerStateChangedListener(Ljava/util/concurrent/Executor;Landroid/media/Spatializer$OnSpatializerStateChangedListener;)V"/>
+		<method name="canBeSpatialized(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;)Z"/>
+		<method name="getImmersiveAudioLevel()I"/>
+		<method name="isAvailable()Z"/>
+		<method name="isEnabled()Z"/>
+		<method name="removeOnSpatializerStateChangedListener(Landroid/media/Spatializer$OnSpatializerStateChangedListener;)V"/>
+		<field name="SPATIALIZER_IMMERSIVE_LEVEL_MULTICHANNEL"/>
+		<field name="SPATIALIZER_IMMERSIVE_LEVEL_NONE"/>
+		<field name="SPATIALIZER_IMMERSIVE_LEVEL_OTHER"/>
+	</class>
+	<class name="android/media/Spatializer$OnSpatializerStateChangedListener" since="33">
+		<method name="onSpatializerAvailableChanged(Landroid/media/Spatializer;Z)V"/>
+		<method name="onSpatializerEnabledChanged(Landroid/media/Spatializer;Z)V"/>
+	</class>
+	<class name="android/media/SubtitleData" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IJJ[B)V" since="29"/>
+		<method name="getData()[B"/>
+		<method name="getDurationUs()J"/>
+		<method name="getStartTimeUs()J"/>
+		<method name="getTrackIndex()I"/>
+	</class>
+	<class name="android/media/SyncParams" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="allowDefaults()Landroid/media/SyncParams;"/>
+		<method name="getAudioAdjustMode()I"/>
+		<method name="getFrameRate()F"/>
+		<method name="getSyncSource()I"/>
+		<method name="getTolerance()F"/>
+		<method name="setAudioAdjustMode(I)Landroid/media/SyncParams;"/>
+		<method name="setFrameRate(F)Landroid/media/SyncParams;"/>
+		<method name="setSyncSource(I)Landroid/media/SyncParams;"/>
+		<method name="setTolerance(F)Landroid/media/SyncParams;"/>
+		<field name="AUDIO_ADJUST_MODE_DEFAULT"/>
+		<field name="AUDIO_ADJUST_MODE_RESAMPLE"/>
+		<field name="AUDIO_ADJUST_MODE_STRETCH"/>
+		<field name="SYNC_SOURCE_AUDIO"/>
+		<field name="SYNC_SOURCE_DEFAULT"/>
+		<field name="SYNC_SOURCE_SYSTEM_CLOCK"/>
+		<field name="SYNC_SOURCE_VSYNC"/>
+	</class>
+	<class name="android/media/ThumbnailUtils" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="createAudioThumbnail(Ljava/io/File;Landroid/util/Size;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;" since="29"/>
+		<method name="createAudioThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;" since="29" deprecated="29"/>
+		<method name="createImageThumbnail(Ljava/io/File;Landroid/util/Size;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;" since="29"/>
+		<method name="createImageThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;" since="29" deprecated="29"/>
+		<method name="createVideoThumbnail(Ljava/io/File;Landroid/util/Size;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;" since="29"/>
+		<method name="createVideoThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;" deprecated="29"/>
+		<method name="extractThumbnail(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;"/>
+		<method name="extractThumbnail(Landroid/graphics/Bitmap;III)Landroid/graphics/Bitmap;"/>
+		<field name="OPTIONS_RECYCLE_INPUT"/>
+	</class>
+	<class name="android/media/TimedMetaData" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(J[B)V" since="29"/>
+		<method name="getMetaData()[B"/>
+		<method name="getTimestamp()J"/>
+	</class>
+	<class name="android/media/TimedText" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="getBounds()Landroid/graphics/Rect;"/>
+		<method name="getText()Ljava/lang/String;"/>
+	</class>
+	<class name="android/media/ToneGenerator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getAudioSessionId()I" since="16"/>
+		<method name="release()V"/>
+		<method name="startTone(I)Z"/>
+		<method name="startTone(II)Z" since="5"/>
+		<method name="stopTone()V"/>
+		<field name="MAX_VOLUME"/>
+		<field name="MIN_VOLUME"/>
+		<field name="TONE_CDMA_ABBR_ALERT" since="4"/>
+		<field name="TONE_CDMA_ABBR_INTERCEPT" since="4"/>
+		<field name="TONE_CDMA_ABBR_REORDER" since="4"/>
+		<field name="TONE_CDMA_ALERT_AUTOREDIAL_LITE" since="4"/>
+		<field name="TONE_CDMA_ALERT_CALL_GUARD" since="4"/>
+		<field name="TONE_CDMA_ALERT_INCALL_LITE" since="4"/>
+		<field name="TONE_CDMA_ALERT_NETWORK_LITE" since="4"/>
+		<field name="TONE_CDMA_ANSWER" since="4"/>
+		<field name="TONE_CDMA_CALLDROP_LITE" since="4"/>
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP" since="4"/>
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_NORMAL" since="4"/>
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_PAT3" since="4"/>
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_PAT5" since="4"/>
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_PAT6" since="4"/>
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_PAT7" since="4"/>
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_PING_RING" since="4"/>
+		<field name="TONE_CDMA_CALL_SIGNAL_ISDN_SP_PRI" since="4"/>
+		<field name="TONE_CDMA_CONFIRM" since="4"/>
+		<field name="TONE_CDMA_DIAL_TONE_LITE" since="4"/>
+		<field name="TONE_CDMA_EMERGENCY_RINGBACK" since="4"/>
+		<field name="TONE_CDMA_HIGH_L" since="4"/>
+		<field name="TONE_CDMA_HIGH_PBX_L" since="4"/>
+		<field name="TONE_CDMA_HIGH_PBX_SLS" since="4"/>
+		<field name="TONE_CDMA_HIGH_PBX_SS" since="4"/>
+		<field name="TONE_CDMA_HIGH_PBX_SSL" since="4"/>
+		<field name="TONE_CDMA_HIGH_PBX_S_X4" since="4"/>
+		<field name="TONE_CDMA_HIGH_SLS" since="4"/>
+		<field name="TONE_CDMA_HIGH_SS" since="4"/>
+		<field name="TONE_CDMA_HIGH_SSL" since="4"/>
+		<field name="TONE_CDMA_HIGH_SS_2" since="4"/>
+		<field name="TONE_CDMA_HIGH_S_X4" since="4"/>
+		<field name="TONE_CDMA_INTERCEPT" since="4"/>
+		<field name="TONE_CDMA_KEYPAD_VOLUME_KEY_LITE" since="4"/>
+		<field name="TONE_CDMA_LOW_L" since="4"/>
+		<field name="TONE_CDMA_LOW_PBX_L" since="4"/>
+		<field name="TONE_CDMA_LOW_PBX_SLS" since="4"/>
+		<field name="TONE_CDMA_LOW_PBX_SS" since="4"/>
+		<field name="TONE_CDMA_LOW_PBX_SSL" since="4"/>
+		<field name="TONE_CDMA_LOW_PBX_S_X4" since="4"/>
+		<field name="TONE_CDMA_LOW_SLS" since="4"/>
+		<field name="TONE_CDMA_LOW_SS" since="4"/>
+		<field name="TONE_CDMA_LOW_SSL" since="4"/>
+		<field name="TONE_CDMA_LOW_SS_2" since="4"/>
+		<field name="TONE_CDMA_LOW_S_X4" since="4"/>
+		<field name="TONE_CDMA_MED_L" since="4"/>
+		<field name="TONE_CDMA_MED_PBX_L" since="4"/>
+		<field name="TONE_CDMA_MED_PBX_SLS" since="4"/>
+		<field name="TONE_CDMA_MED_PBX_SS" since="4"/>
+		<field name="TONE_CDMA_MED_PBX_SSL" since="4"/>
+		<field name="TONE_CDMA_MED_PBX_S_X4" since="4"/>
+		<field name="TONE_CDMA_MED_SLS" since="4"/>
+		<field name="TONE_CDMA_MED_SS" since="4"/>
+		<field name="TONE_CDMA_MED_SSL" since="4"/>
+		<field name="TONE_CDMA_MED_SS_2" since="4"/>
+		<field name="TONE_CDMA_MED_S_X4" since="4"/>
+		<field name="TONE_CDMA_NETWORK_BUSY" since="4"/>
+		<field name="TONE_CDMA_NETWORK_BUSY_ONE_SHOT" since="4"/>
+		<field name="TONE_CDMA_NETWORK_CALLWAITING" since="4"/>
+		<field name="TONE_CDMA_NETWORK_USA_RINGBACK" since="4"/>
+		<field name="TONE_CDMA_ONE_MIN_BEEP" since="4"/>
+		<field name="TONE_CDMA_PIP" since="4"/>
+		<field name="TONE_CDMA_PRESSHOLDKEY_LITE" since="4"/>
+		<field name="TONE_CDMA_REORDER" since="4"/>
+		<field name="TONE_CDMA_SIGNAL_OFF" since="4"/>
+		<field name="TONE_CDMA_SOFT_ERROR_LITE" since="4"/>
+		<field name="TONE_DTMF_0"/>
+		<field name="TONE_DTMF_1"/>
+		<field name="TONE_DTMF_2"/>
+		<field name="TONE_DTMF_3"/>
+		<field name="TONE_DTMF_4"/>
+		<field name="TONE_DTMF_5"/>
+		<field name="TONE_DTMF_6"/>
+		<field name="TONE_DTMF_7"/>
+		<field name="TONE_DTMF_8"/>
+		<field name="TONE_DTMF_9"/>
+		<field name="TONE_DTMF_A"/>
+		<field name="TONE_DTMF_B"/>
+		<field name="TONE_DTMF_C"/>
+		<field name="TONE_DTMF_D"/>
+		<field name="TONE_DTMF_P"/>
+		<field name="TONE_DTMF_S"/>
+		<field name="TONE_PROP_ACK"/>
+		<field name="TONE_PROP_BEEP"/>
+		<field name="TONE_PROP_BEEP2"/>
+		<field name="TONE_PROP_NACK"/>
+		<field name="TONE_PROP_PROMPT"/>
+		<field name="TONE_SUP_BUSY"/>
+		<field name="TONE_SUP_CALL_WAITING"/>
+		<field name="TONE_SUP_CONFIRM" since="4"/>
+		<field name="TONE_SUP_CONGESTION"/>
+		<field name="TONE_SUP_CONGESTION_ABBREV" since="4"/>
+		<field name="TONE_SUP_DIAL"/>
+		<field name="TONE_SUP_ERROR"/>
+		<field name="TONE_SUP_INTERCEPT" since="4"/>
+		<field name="TONE_SUP_INTERCEPT_ABBREV" since="4"/>
+		<field name="TONE_SUP_PIP" since="4"/>
+		<field name="TONE_SUP_RADIO_ACK"/>
+		<field name="TONE_SUP_RADIO_NOTAVAIL"/>
+		<field name="TONE_SUP_RINGTONE"/>
+	</class>
+	<class name="android/media/UnsupportedSchemeException" since="18">
+		<extends name="android/media/MediaDrmException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/media/VolumeAutomation" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="createVolumeShaper(Landroid/media/VolumeShaper$Configuration;)Landroid/media/VolumeShaper;"/>
+	</class>
+	<class name="android/media/VolumeProvider" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIILjava/lang/String;)V" since="30"/>
+		<method name="getCurrentVolume()I"/>
+		<method name="getMaxVolume()I"/>
+		<method name="getVolumeControl()I"/>
+		<method name="getVolumeControlId()Ljava/lang/String;" since="30"/>
+		<method name="onAdjustVolume(I)V"/>
+		<method name="onSetVolumeTo(I)V"/>
+		<method name="setCurrentVolume(I)V"/>
+		<field name="VOLUME_CONTROL_ABSOLUTE"/>
+		<field name="VOLUME_CONTROL_FIXED"/>
+		<field name="VOLUME_CONTROL_RELATIVE"/>
+	</class>
+	<class name="android/media/VolumeShaper" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="apply(Landroid/media/VolumeShaper$Operation;)V"/>
+		<method name="getVolume()F"/>
+		<method name="replace(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;Z)V"/>
+	</class>
+	<class name="android/media/VolumeShaper$Configuration" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDuration()J"/>
+		<method name="getInterpolatorType()I"/>
+		<method name="getMaximumCurvePoints()I"/>
+		<method name="getTimes()[F"/>
+		<method name="getVolumes()[F"/>
+		<field name="CREATOR"/>
+		<field name="CUBIC_RAMP"/>
+		<field name="INTERPOLATOR_TYPE_CUBIC"/>
+		<field name="INTERPOLATOR_TYPE_CUBIC_MONOTONIC"/>
+		<field name="INTERPOLATOR_TYPE_LINEAR"/>
+		<field name="INTERPOLATOR_TYPE_STEP"/>
+		<field name="LINEAR_RAMP"/>
+		<field name="SCURVE_RAMP"/>
+		<field name="SINE_RAMP"/>
+	</class>
+	<class name="android/media/VolumeShaper$Configuration$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/media/VolumeShaper$Configuration;)V"/>
+		<method name="build()Landroid/media/VolumeShaper$Configuration;"/>
+		<method name="invertVolumes()Landroid/media/VolumeShaper$Configuration$Builder;"/>
+		<method name="reflectTimes()Landroid/media/VolumeShaper$Configuration$Builder;"/>
+		<method name="scaleToEndVolume(F)Landroid/media/VolumeShaper$Configuration$Builder;"/>
+		<method name="scaleToStartVolume(F)Landroid/media/VolumeShaper$Configuration$Builder;"/>
+		<method name="setCurve([F[F)Landroid/media/VolumeShaper$Configuration$Builder;"/>
+		<method name="setDuration(J)Landroid/media/VolumeShaper$Configuration$Builder;"/>
+		<method name="setInterpolatorType(I)Landroid/media/VolumeShaper$Configuration$Builder;"/>
+	</class>
+	<class name="android/media/VolumeShaper$Operation" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+		<field name="PLAY"/>
+		<field name="REVERSE"/>
+	</class>
+	<class name="android/media/audiofx/AcousticEchoCanceler" since="16">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<method name="create(I)Landroid/media/audiofx/AcousticEchoCanceler;"/>
+		<method name="isAvailable()Z"/>
+	</class>
+	<class name="android/media/audiofx/AudioEffect" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="getDescriptor()Landroid/media/audiofx/AudioEffect$Descriptor;"/>
+		<method name="getEnabled()Z"/>
+		<method name="getId()I"/>
+		<method name="hasControl()Z"/>
+		<method name="queryEffects()[Landroid/media/audiofx/AudioEffect$Descriptor;"/>
+		<method name="release()V"/>
+		<method name="setControlStatusListener(Landroid/media/audiofx/AudioEffect$OnControlStatusChangeListener;)V"/>
+		<method name="setEnableStatusListener(Landroid/media/audiofx/AudioEffect$OnEnableStatusChangeListener;)V"/>
+		<method name="setEnabled(Z)I"/>
+		<field name="ACTION_CLOSE_AUDIO_EFFECT_CONTROL_SESSION"/>
+		<field name="ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL"/>
+		<field name="ACTION_OPEN_AUDIO_EFFECT_CONTROL_SESSION"/>
+		<field name="ALREADY_EXISTS"/>
+		<field name="CONTENT_TYPE_GAME"/>
+		<field name="CONTENT_TYPE_MOVIE"/>
+		<field name="CONTENT_TYPE_MUSIC"/>
+		<field name="CONTENT_TYPE_VOICE"/>
+		<field name="EFFECT_AUXILIARY"/>
+		<field name="EFFECT_INSERT"/>
+		<field name="EFFECT_POST_PROCESSING" since="30"/>
+		<field name="EFFECT_PRE_PROCESSING" since="30"/>
+		<field name="EFFECT_TYPE_AEC" since="18"/>
+		<field name="EFFECT_TYPE_AGC" since="18"/>
+		<field name="EFFECT_TYPE_BASS_BOOST" since="18"/>
+		<field name="EFFECT_TYPE_DYNAMICS_PROCESSING" since="28"/>
+		<field name="EFFECT_TYPE_ENV_REVERB" since="18"/>
+		<field name="EFFECT_TYPE_EQUALIZER" since="18"/>
+		<field name="EFFECT_TYPE_HAPTIC_GENERATOR" since="31"/>
+		<field name="EFFECT_TYPE_LOUDNESS_ENHANCER" since="19"/>
+		<field name="EFFECT_TYPE_NS" since="18"/>
+		<field name="EFFECT_TYPE_PRESET_REVERB" since="18"/>
+		<field name="EFFECT_TYPE_VIRTUALIZER" since="18"/>
+		<field name="ERROR"/>
+		<field name="ERROR_BAD_VALUE"/>
+		<field name="ERROR_DEAD_OBJECT"/>
+		<field name="ERROR_INVALID_OPERATION"/>
+		<field name="ERROR_NO_INIT"/>
+		<field name="ERROR_NO_MEMORY"/>
+		<field name="EXTRA_AUDIO_SESSION"/>
+		<field name="EXTRA_CONTENT_TYPE"/>
+		<field name="EXTRA_PACKAGE_NAME"/>
+		<field name="SUCCESS"/>
+	</class>
+	<class name="android/media/audiofx/AudioEffect$Descriptor" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="connectMode"/>
+		<field name="implementor"/>
+		<field name="name"/>
+		<field name="type"/>
+		<field name="uuid"/>
+	</class>
+	<class name="android/media/audiofx/AudioEffect$OnControlStatusChangeListener" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="onControlStatusChange(Landroid/media/audiofx/AudioEffect;Z)V"/>
+	</class>
+	<class name="android/media/audiofx/AudioEffect$OnEnableStatusChangeListener" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="onEnableStatusChange(Landroid/media/audiofx/AudioEffect;Z)V"/>
+	</class>
+	<class name="android/media/audiofx/AutomaticGainControl" since="16">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<method name="create(I)Landroid/media/audiofx/AutomaticGainControl;"/>
+		<method name="isAvailable()Z"/>
+	</class>
+	<class name="android/media/audiofx/BassBoost" since="9">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getProperties()Landroid/media/audiofx/BassBoost$Settings;"/>
+		<method name="getRoundedStrength()S"/>
+		<method name="getStrengthSupported()Z"/>
+		<method name="setParameterListener(Landroid/media/audiofx/BassBoost$OnParameterChangeListener;)V"/>
+		<method name="setProperties(Landroid/media/audiofx/BassBoost$Settings;)V"/>
+		<method name="setStrength(S)V"/>
+		<field name="PARAM_STRENGTH"/>
+		<field name="PARAM_STRENGTH_SUPPORTED"/>
+	</class>
+	<class name="android/media/audiofx/BassBoost$OnParameterChangeListener" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="onParameterChange(Landroid/media/audiofx/BassBoost;IIS)V"/>
+	</class>
+	<class name="android/media/audiofx/BassBoost$Settings" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="strength"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing" since="28">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IILandroid/media/audiofx/DynamicsProcessing$Config;)V"/>
+		<method name="getChannelByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Channel;"/>
+		<method name="getChannelCount()I"/>
+		<method name="getConfig()Landroid/media/audiofx/DynamicsProcessing$Config;"/>
+		<method name="getInputGainByChannelIndex(I)F"/>
+		<method name="getLimiterByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Limiter;"/>
+		<method name="getMbcBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$MbcBand;"/>
+		<method name="getMbcByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Mbc;"/>
+		<method name="getPostEqBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$EqBand;"/>
+		<method name="getPostEqByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Eq;"/>
+		<method name="getPreEqBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$EqBand;"/>
+		<method name="getPreEqByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Eq;"/>
+		<method name="setAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Channel;)V"/>
+		<method name="setChannelTo(ILandroid/media/audiofx/DynamicsProcessing$Channel;)V"/>
+		<method name="setInputGainAllChannelsTo(F)V"/>
+		<method name="setInputGainbyChannel(IF)V"/>
+		<method name="setLimiterAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Limiter;)V"/>
+		<method name="setLimiterByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Limiter;)V"/>
+		<method name="setMbcAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Mbc;)V"/>
+		<method name="setMbcBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V"/>
+		<method name="setMbcBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V"/>
+		<method name="setMbcByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Mbc;)V"/>
+		<method name="setPostEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+		<method name="setPostEqBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+		<method name="setPostEqBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+		<method name="setPostEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+		<method name="setPreEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+		<method name="setPreEqBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+		<method name="setPreEqBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+		<method name="setPreEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+		<field name="VARIANT_FAVOR_FREQUENCY_RESOLUTION"/>
+		<field name="VARIANT_FAVOR_TIME_RESOLUTION"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$BandBase" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ZF)V"/>
+		<method name="getCutoffFrequency()F"/>
+		<method name="isEnabled()Z"/>
+		<method name="setCutoffFrequency(F)V"/>
+		<method name="setEnabled(Z)V"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$BandStage" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$Stage"/>
+		<method name="&lt;init>(ZZI)V"/>
+		<method name="getBandCount()I"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Channel" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(FZIZIZIZ)V"/>
+		<method name="&lt;init>(Landroid/media/audiofx/DynamicsProcessing$Channel;)V"/>
+		<method name="getInputGain()F"/>
+		<method name="getLimiter()Landroid/media/audiofx/DynamicsProcessing$Limiter;"/>
+		<method name="getMbc()Landroid/media/audiofx/DynamicsProcessing$Mbc;"/>
+		<method name="getMbcBand(I)Landroid/media/audiofx/DynamicsProcessing$MbcBand;"/>
+		<method name="getPostEq()Landroid/media/audiofx/DynamicsProcessing$Eq;"/>
+		<method name="getPostEqBand(I)Landroid/media/audiofx/DynamicsProcessing$EqBand;"/>
+		<method name="getPreEq()Landroid/media/audiofx/DynamicsProcessing$Eq;"/>
+		<method name="getPreEqBand(I)Landroid/media/audiofx/DynamicsProcessing$EqBand;"/>
+		<method name="setInputGain(F)V"/>
+		<method name="setLimiter(Landroid/media/audiofx/DynamicsProcessing$Limiter;)V"/>
+		<method name="setMbc(Landroid/media/audiofx/DynamicsProcessing$Mbc;)V"/>
+		<method name="setMbcBand(ILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V"/>
+		<method name="setPostEq(Landroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+		<method name="setPostEqBand(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+		<method name="setPreEq(Landroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+		<method name="setPreEqBand(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Config" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getChannelByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Channel;"/>
+		<method name="getInputGainByChannelIndex(I)F"/>
+		<method name="getLimiterByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Limiter;"/>
+		<method name="getMbcBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$MbcBand;"/>
+		<method name="getMbcBandCount()I"/>
+		<method name="getMbcByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Mbc;"/>
+		<method name="getPostEqBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$EqBand;"/>
+		<method name="getPostEqBandCount()I"/>
+		<method name="getPostEqByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Eq;"/>
+		<method name="getPreEqBandByChannelIndex(II)Landroid/media/audiofx/DynamicsProcessing$EqBand;"/>
+		<method name="getPreEqBandCount()I"/>
+		<method name="getPreEqByChannelIndex(I)Landroid/media/audiofx/DynamicsProcessing$Eq;"/>
+		<method name="getPreferredFrameDuration()F"/>
+		<method name="getVariant()I"/>
+		<method name="isLimiterInUse()Z"/>
+		<method name="isMbcInUse()Z"/>
+		<method name="isPostEqInUse()Z"/>
+		<method name="isPreEqInUse()Z"/>
+		<method name="setAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Channel;)V"/>
+		<method name="setChannelTo(ILandroid/media/audiofx/DynamicsProcessing$Channel;)V"/>
+		<method name="setInputGainAllChannelsTo(F)V"/>
+		<method name="setInputGainByChannelIndex(IF)V"/>
+		<method name="setLimiterAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Limiter;)V"/>
+		<method name="setLimiterByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Limiter;)V"/>
+		<method name="setMbcAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Mbc;)V"/>
+		<method name="setMbcBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V"/>
+		<method name="setMbcBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V"/>
+		<method name="setMbcByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Mbc;)V"/>
+		<method name="setPostEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+		<method name="setPostEqBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+		<method name="setPostEqBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+		<method name="setPostEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+		<method name="setPreEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+		<method name="setPreEqBandAllChannelsTo(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+		<method name="setPreEqBandByChannelIndex(IILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+		<method name="setPreEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Config$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IIZIZIZIZ)V"/>
+		<method name="build()Landroid/media/audiofx/DynamicsProcessing$Config;"/>
+		<method name="setAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Channel;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setChannelTo(ILandroid/media/audiofx/DynamicsProcessing$Channel;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setInputGainAllChannelsTo(F)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setInputGainByChannelIndex(IF)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setLimiterAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Limiter;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setLimiterByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Limiter;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setMbcAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Mbc;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setMbcByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Mbc;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setPostEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setPostEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setPreEqAllChannelsTo(Landroid/media/audiofx/DynamicsProcessing$Eq;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setPreEqByChannelIndex(ILandroid/media/audiofx/DynamicsProcessing$Eq;)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+		<method name="setPreferredFrameDuration(F)Landroid/media/audiofx/DynamicsProcessing$Config$Builder;"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Eq" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$BandStage"/>
+		<method name="&lt;init>(Landroid/media/audiofx/DynamicsProcessing$Eq;)V"/>
+		<method name="&lt;init>(ZZI)V"/>
+		<method name="getBand(I)Landroid/media/audiofx/DynamicsProcessing$EqBand;"/>
+		<method name="setBand(ILandroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$EqBand" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$BandBase"/>
+		<method name="&lt;init>(Landroid/media/audiofx/DynamicsProcessing$EqBand;)V"/>
+		<method name="&lt;init>(ZFF)V"/>
+		<method name="getGain()F"/>
+		<method name="setGain(F)V"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Limiter" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$Stage"/>
+		<method name="&lt;init>(Landroid/media/audiofx/DynamicsProcessing$Limiter;)V"/>
+		<method name="&lt;init>(ZZIFFFFF)V"/>
+		<method name="getAttackTime()F"/>
+		<method name="getLinkGroup()I"/>
+		<method name="getPostGain()F"/>
+		<method name="getRatio()F"/>
+		<method name="getReleaseTime()F"/>
+		<method name="getThreshold()F"/>
+		<method name="setAttackTime(F)V"/>
+		<method name="setLinkGroup(I)V"/>
+		<method name="setPostGain(F)V"/>
+		<method name="setRatio(F)V"/>
+		<method name="setReleaseTime(F)V"/>
+		<method name="setThreshold(F)V"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Mbc" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$BandStage"/>
+		<method name="&lt;init>(Landroid/media/audiofx/DynamicsProcessing$Mbc;)V"/>
+		<method name="&lt;init>(ZZI)V"/>
+		<method name="getBand(I)Landroid/media/audiofx/DynamicsProcessing$MbcBand;"/>
+		<method name="setBand(ILandroid/media/audiofx/DynamicsProcessing$MbcBand;)V"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$MbcBand" since="28">
+		<extends name="android/media/audiofx/DynamicsProcessing$BandBase"/>
+		<method name="&lt;init>(Landroid/media/audiofx/DynamicsProcessing$MbcBand;)V"/>
+		<method name="&lt;init>(ZFFFFFFFFFF)V"/>
+		<method name="getAttackTime()F"/>
+		<method name="getExpanderRatio()F"/>
+		<method name="getKneeWidth()F"/>
+		<method name="getNoiseGateThreshold()F"/>
+		<method name="getPostGain()F"/>
+		<method name="getPreGain()F"/>
+		<method name="getRatio()F"/>
+		<method name="getReleaseTime()F"/>
+		<method name="getThreshold()F"/>
+		<method name="setAttackTime(F)V"/>
+		<method name="setExpanderRatio(F)V"/>
+		<method name="setKneeWidth(F)V"/>
+		<method name="setNoiseGateThreshold(F)V"/>
+		<method name="setPostGain(F)V"/>
+		<method name="setPreGain(F)V"/>
+		<method name="setRatio(F)V"/>
+		<method name="setReleaseTime(F)V"/>
+		<method name="setThreshold(F)V"/>
+	</class>
+	<class name="android/media/audiofx/DynamicsProcessing$Stage" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ZZ)V"/>
+		<method name="isEnabled()Z"/>
+		<method name="isInUse()Z"/>
+		<method name="setEnabled(Z)V"/>
+	</class>
+	<class name="android/media/audiofx/EnvironmentalReverb" since="9">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getDecayHFRatio()S"/>
+		<method name="getDecayTime()I"/>
+		<method name="getDensity()S"/>
+		<method name="getDiffusion()S"/>
+		<method name="getProperties()Landroid/media/audiofx/EnvironmentalReverb$Settings;"/>
+		<method name="getReflectionsDelay()I"/>
+		<method name="getReflectionsLevel()S"/>
+		<method name="getReverbDelay()I"/>
+		<method name="getReverbLevel()S"/>
+		<method name="getRoomHFLevel()S"/>
+		<method name="getRoomLevel()S"/>
+		<method name="setDecayHFRatio(S)V"/>
+		<method name="setDecayTime(I)V"/>
+		<method name="setDensity(S)V"/>
+		<method name="setDiffusion(S)V"/>
+		<method name="setParameterListener(Landroid/media/audiofx/EnvironmentalReverb$OnParameterChangeListener;)V"/>
+		<method name="setProperties(Landroid/media/audiofx/EnvironmentalReverb$Settings;)V"/>
+		<method name="setReflectionsDelay(I)V"/>
+		<method name="setReflectionsLevel(S)V"/>
+		<method name="setReverbDelay(I)V"/>
+		<method name="setReverbLevel(S)V"/>
+		<method name="setRoomHFLevel(S)V"/>
+		<method name="setRoomLevel(S)V"/>
+		<field name="PARAM_DECAY_HF_RATIO"/>
+		<field name="PARAM_DECAY_TIME"/>
+		<field name="PARAM_DENSITY"/>
+		<field name="PARAM_DIFFUSION"/>
+		<field name="PARAM_REFLECTIONS_DELAY"/>
+		<field name="PARAM_REFLECTIONS_LEVEL"/>
+		<field name="PARAM_REVERB_DELAY"/>
+		<field name="PARAM_REVERB_LEVEL"/>
+		<field name="PARAM_ROOM_HF_LEVEL"/>
+		<field name="PARAM_ROOM_LEVEL"/>
+	</class>
+	<class name="android/media/audiofx/EnvironmentalReverb$OnParameterChangeListener" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="onParameterChange(Landroid/media/audiofx/EnvironmentalReverb;III)V"/>
+	</class>
+	<class name="android/media/audiofx/EnvironmentalReverb$Settings" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="decayHFRatio"/>
+		<field name="decayTime"/>
+		<field name="density"/>
+		<field name="diffusion"/>
+		<field name="reflectionsDelay"/>
+		<field name="reflectionsLevel"/>
+		<field name="reverbDelay"/>
+		<field name="reverbLevel"/>
+		<field name="roomHFLevel"/>
+		<field name="roomLevel"/>
+	</class>
+	<class name="android/media/audiofx/Equalizer" since="9">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getBand(I)S"/>
+		<method name="getBandFreqRange(S)[I"/>
+		<method name="getBandLevel(S)S"/>
+		<method name="getBandLevelRange()[S"/>
+		<method name="getCenterFreq(S)I"/>
+		<method name="getCurrentPreset()S"/>
+		<method name="getNumberOfBands()S"/>
+		<method name="getNumberOfPresets()S"/>
+		<method name="getPresetName(S)Ljava/lang/String;"/>
+		<method name="getProperties()Landroid/media/audiofx/Equalizer$Settings;"/>
+		<method name="setBandLevel(SS)V"/>
+		<method name="setParameterListener(Landroid/media/audiofx/Equalizer$OnParameterChangeListener;)V"/>
+		<method name="setProperties(Landroid/media/audiofx/Equalizer$Settings;)V"/>
+		<method name="usePreset(S)V"/>
+		<field name="PARAM_BAND_FREQ_RANGE"/>
+		<field name="PARAM_BAND_LEVEL"/>
+		<field name="PARAM_CENTER_FREQ"/>
+		<field name="PARAM_CURRENT_PRESET"/>
+		<field name="PARAM_GET_BAND"/>
+		<field name="PARAM_GET_NUM_OF_PRESETS"/>
+		<field name="PARAM_GET_PRESET_NAME"/>
+		<field name="PARAM_LEVEL_RANGE"/>
+		<field name="PARAM_NUM_BANDS"/>
+		<field name="PARAM_STRING_SIZE_MAX"/>
+	</class>
+	<class name="android/media/audiofx/Equalizer$OnParameterChangeListener" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="onParameterChange(Landroid/media/audiofx/Equalizer;IIII)V"/>
+	</class>
+	<class name="android/media/audiofx/Equalizer$Settings" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="bandLevels"/>
+		<field name="curPreset"/>
+		<field name="numBands"/>
+	</class>
+	<class name="android/media/audiofx/HapticGenerator" since="31">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="create(I)Landroid/media/audiofx/HapticGenerator;"/>
+		<method name="isAvailable()Z"/>
+	</class>
+	<class name="android/media/audiofx/LoudnessEnhancer" since="19">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getTargetGain()F"/>
+		<method name="setTargetGain(I)V"/>
+		<field name="PARAM_TARGET_GAIN_MB"/>
+	</class>
+	<class name="android/media/audiofx/NoiseSuppressor" since="16">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<method name="create(I)Landroid/media/audiofx/NoiseSuppressor;"/>
+		<method name="isAvailable()Z"/>
+	</class>
+	<class name="android/media/audiofx/PresetReverb" since="9">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getPreset()S"/>
+		<method name="getProperties()Landroid/media/audiofx/PresetReverb$Settings;"/>
+		<method name="setParameterListener(Landroid/media/audiofx/PresetReverb$OnParameterChangeListener;)V"/>
+		<method name="setPreset(S)V"/>
+		<method name="setProperties(Landroid/media/audiofx/PresetReverb$Settings;)V"/>
+		<field name="PARAM_PRESET"/>
+		<field name="PRESET_LARGEHALL"/>
+		<field name="PRESET_LARGEROOM"/>
+		<field name="PRESET_MEDIUMHALL"/>
+		<field name="PRESET_MEDIUMROOM"/>
+		<field name="PRESET_NONE"/>
+		<field name="PRESET_PLATE"/>
+		<field name="PRESET_SMALLROOM"/>
+	</class>
+	<class name="android/media/audiofx/PresetReverb$OnParameterChangeListener" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="onParameterChange(Landroid/media/audiofx/PresetReverb;IIS)V"/>
+	</class>
+	<class name="android/media/audiofx/PresetReverb$Settings" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="preset"/>
+	</class>
+	<class name="android/media/audiofx/Virtualizer" since="9">
+		<extends name="android/media/audiofx/AudioEffect"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="canVirtualize(II)Z" since="21"/>
+		<method name="forceVirtualizationMode(I)Z" since="21"/>
+		<method name="getProperties()Landroid/media/audiofx/Virtualizer$Settings;"/>
+		<method name="getRoundedStrength()S"/>
+		<method name="getSpeakerAngles(II[I)Z" since="21"/>
+		<method name="getStrengthSupported()Z"/>
+		<method name="getVirtualizationMode()I" since="21"/>
+		<method name="setParameterListener(Landroid/media/audiofx/Virtualizer$OnParameterChangeListener;)V"/>
+		<method name="setProperties(Landroid/media/audiofx/Virtualizer$Settings;)V"/>
+		<method name="setStrength(S)V"/>
+		<field name="PARAM_STRENGTH"/>
+		<field name="PARAM_STRENGTH_SUPPORTED"/>
+		<field name="VIRTUALIZATION_MODE_AUTO" since="21"/>
+		<field name="VIRTUALIZATION_MODE_BINAURAL" since="21"/>
+		<field name="VIRTUALIZATION_MODE_OFF" since="21"/>
+		<field name="VIRTUALIZATION_MODE_TRANSAURAL" since="21"/>
+	</class>
+	<class name="android/media/audiofx/Virtualizer$OnParameterChangeListener" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="onParameterChange(Landroid/media/audiofx/Virtualizer;IIS)V"/>
+	</class>
+	<class name="android/media/audiofx/Virtualizer$Settings" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="strength"/>
+	</class>
+	<class name="android/media/audiofx/Visualizer" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getCaptureSize()I"/>
+		<method name="getCaptureSizeRange()[I"/>
+		<method name="getEnabled()Z"/>
+		<method name="getFft([B)I"/>
+		<method name="getMaxCaptureRate()I"/>
+		<method name="getMeasurementMode()I" since="19"/>
+		<method name="getMeasurementPeakRms(Landroid/media/audiofx/Visualizer$MeasurementPeakRms;)I" since="19"/>
+		<method name="getSamplingRate()I"/>
+		<method name="getScalingMode()I" since="16"/>
+		<method name="getWaveForm([B)I"/>
+		<method name="release()V"/>
+		<method name="setCaptureSize(I)I"/>
+		<method name="setDataCaptureListener(Landroid/media/audiofx/Visualizer$OnDataCaptureListener;IZZ)I"/>
+		<method name="setEnabled(Z)I"/>
+		<method name="setMeasurementMode(I)I" since="19"/>
+		<method name="setScalingMode(I)I" since="16"/>
+		<field name="ALREADY_EXISTS"/>
+		<field name="ERROR"/>
+		<field name="ERROR_BAD_VALUE"/>
+		<field name="ERROR_DEAD_OBJECT"/>
+		<field name="ERROR_INVALID_OPERATION"/>
+		<field name="ERROR_NO_INIT"/>
+		<field name="ERROR_NO_MEMORY"/>
+		<field name="MEASUREMENT_MODE_NONE" since="19"/>
+		<field name="MEASUREMENT_MODE_PEAK_RMS" since="19"/>
+		<field name="SCALING_MODE_AS_PLAYED" since="16"/>
+		<field name="SCALING_MODE_NORMALIZED" since="16"/>
+		<field name="STATE_ENABLED"/>
+		<field name="STATE_INITIALIZED"/>
+		<field name="STATE_UNINITIALIZED"/>
+		<field name="SUCCESS"/>
+	</class>
+	<class name="android/media/audiofx/Visualizer$MeasurementPeakRms" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="mPeak"/>
+		<field name="mRms"/>
+	</class>
+	<class name="android/media/audiofx/Visualizer$OnDataCaptureListener" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="onFftDataCapture(Landroid/media/audiofx/Visualizer;[BI)V"/>
+		<method name="onWaveFormDataCapture(Landroid/media/audiofx/Visualizer;[BI)V"/>
+	</class>
+	<class name="android/media/browse/MediaBrowser" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/content/ComponentName;Landroid/media/browse/MediaBrowser$ConnectionCallback;Landroid/os/Bundle;)V"/>
+		<method name="connect()V"/>
+		<method name="disconnect()V"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getItem(Ljava/lang/String;Landroid/media/browse/MediaBrowser$ItemCallback;)V" since="23"/>
+		<method name="getRoot()Ljava/lang/String;"/>
+		<method name="getServiceComponent()Landroid/content/ComponentName;"/>
+		<method name="getSessionToken()Landroid/media/session/MediaSession$Token;"/>
+		<method name="isConnected()Z"/>
+		<method name="subscribe(Ljava/lang/String;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V"/>
+		<method name="subscribe(Ljava/lang/String;Landroid/os/Bundle;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V" since="24"/>
+		<method name="unsubscribe(Ljava/lang/String;)V"/>
+		<method name="unsubscribe(Ljava/lang/String;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V" since="24"/>
+		<field name="EXTRA_PAGE" since="24"/>
+		<field name="EXTRA_PAGE_SIZE" since="24"/>
+	</class>
+	<class name="android/media/browse/MediaBrowser$ConnectionCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onConnected()V"/>
+		<method name="onConnectionFailed()V"/>
+		<method name="onConnectionSuspended()V"/>
+	</class>
+	<class name="android/media/browse/MediaBrowser$ItemCallback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onError(Ljava/lang/String;)V"/>
+		<method name="onItemLoaded(Landroid/media/browse/MediaBrowser$MediaItem;)V"/>
+	</class>
+	<class name="android/media/browse/MediaBrowser$MediaItem" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/media/MediaDescription;I)V"/>
+		<method name="getDescription()Landroid/media/MediaDescription;"/>
+		<method name="getFlags()I"/>
+		<method name="getMediaId()Ljava/lang/String;"/>
+		<method name="isBrowsable()Z"/>
+		<method name="isPlayable()Z"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_BROWSABLE"/>
+		<field name="FLAG_PLAYABLE"/>
+	</class>
+	<class name="android/media/browse/MediaBrowser$SubscriptionCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onChildrenLoaded(Ljava/lang/String;Ljava/util/List;)V"/>
+		<method name="onChildrenLoaded(Ljava/lang/String;Ljava/util/List;Landroid/os/Bundle;)V" since="24"/>
+		<method name="onError(Ljava/lang/String;)V"/>
+		<method name="onError(Ljava/lang/String;Landroid/os/Bundle;)V" since="24"/>
+	</class>
+	<class name="android/media/effect/Effect" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="apply(IIII)V"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="release()V"/>
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="setUpdateListener(Landroid/media/effect/EffectUpdateListener;)V"/>
+	</class>
+	<class name="android/media/effect/EffectContext" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="createWithCurrentGlContext()Landroid/media/effect/EffectContext;"/>
+		<method name="getFactory()Landroid/media/effect/EffectFactory;"/>
+		<method name="release()V"/>
+	</class>
+	<class name="android/media/effect/EffectFactory" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="createEffect(Ljava/lang/String;)Landroid/media/effect/Effect;"/>
+		<method name="isEffectSupported(Ljava/lang/String;)Z"/>
+		<field name="EFFECT_AUTOFIX"/>
+		<field name="EFFECT_BACKDROPPER"/>
+		<field name="EFFECT_BITMAPOVERLAY"/>
+		<field name="EFFECT_BLACKWHITE"/>
+		<field name="EFFECT_BRIGHTNESS"/>
+		<field name="EFFECT_CONTRAST"/>
+		<field name="EFFECT_CROP"/>
+		<field name="EFFECT_CROSSPROCESS"/>
+		<field name="EFFECT_DOCUMENTARY"/>
+		<field name="EFFECT_DUOTONE"/>
+		<field name="EFFECT_FILLLIGHT"/>
+		<field name="EFFECT_FISHEYE"/>
+		<field name="EFFECT_FLIP"/>
+		<field name="EFFECT_GRAIN"/>
+		<field name="EFFECT_GRAYSCALE"/>
+		<field name="EFFECT_LOMOISH"/>
+		<field name="EFFECT_NEGATIVE"/>
+		<field name="EFFECT_POSTERIZE"/>
+		<field name="EFFECT_REDEYE"/>
+		<field name="EFFECT_ROTATE"/>
+		<field name="EFFECT_SATURATE"/>
+		<field name="EFFECT_SEPIA"/>
+		<field name="EFFECT_SHARPEN"/>
+		<field name="EFFECT_STRAIGHTEN"/>
+		<field name="EFFECT_TEMPERATURE"/>
+		<field name="EFFECT_TINT"/>
+		<field name="EFFECT_VIGNETTE"/>
+	</class>
+	<class name="android/media/effect/EffectUpdateListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onEffectUpdated(Landroid/media/effect/Effect;Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/media/metrics/Event" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getMetricsBundle()Landroid/os/Bundle;"/>
+		<method name="getTimeSinceCreatedMillis()J"/>
+	</class>
+	<class name="android/media/metrics/LogSessionId" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getStringId()Ljava/lang/String;"/>
+		<field name="LOG_SESSION_ID_NONE"/>
+	</class>
+	<class name="android/media/metrics/MediaMetricsManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="createPlaybackSession()Landroid/media/metrics/PlaybackSession;"/>
+		<method name="createRecordingSession()Landroid/media/metrics/RecordingSession;"/>
+		<field name="INVALID_TIMESTAMP"/>
+	</class>
+	<class name="android/media/metrics/NetworkEvent" since="31">
+		<extends name="android/media/metrics/Event"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getNetworkType()I"/>
+		<field name="CREATOR"/>
+		<field name="NETWORK_TYPE_2G"/>
+		<field name="NETWORK_TYPE_3G"/>
+		<field name="NETWORK_TYPE_4G"/>
+		<field name="NETWORK_TYPE_5G_NSA"/>
+		<field name="NETWORK_TYPE_5G_SA"/>
+		<field name="NETWORK_TYPE_ETHERNET"/>
+		<field name="NETWORK_TYPE_OFFLINE"/>
+		<field name="NETWORK_TYPE_OTHER"/>
+		<field name="NETWORK_TYPE_UNKNOWN"/>
+		<field name="NETWORK_TYPE_WIFI"/>
+	</class>
+	<class name="android/media/metrics/NetworkEvent$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/media/metrics/NetworkEvent;"/>
+		<method name="setMetricsBundle(Landroid/os/Bundle;)Landroid/media/metrics/NetworkEvent$Builder;"/>
+		<method name="setNetworkType(I)Landroid/media/metrics/NetworkEvent$Builder;"/>
+		<method name="setTimeSinceCreatedMillis(J)Landroid/media/metrics/NetworkEvent$Builder;"/>
+	</class>
+	<class name="android/media/metrics/PlaybackErrorEvent" since="31">
+		<extends name="android/media/metrics/Event"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getErrorCode()I"/>
+		<method name="getSubErrorCode()I"/>
+		<field name="CREATOR"/>
+		<field name="ERROR_AUDIO_TRACK_INIT_FAILED"/>
+		<field name="ERROR_AUDIO_TRACK_OTHER"/>
+		<field name="ERROR_AUDIO_TRACK_WRITE_FAILED"/>
+		<field name="ERROR_DECODER_INIT_FAILED"/>
+		<field name="ERROR_DECODING_FAILED"/>
+		<field name="ERROR_DECODING_FORMAT_EXCEEDS_CAPABILITIES"/>
+		<field name="ERROR_DECODING_FORMAT_UNSUPPORTED"/>
+		<field name="ERROR_DECODING_OTHER"/>
+		<field name="ERROR_DRM_CONTENT_ERROR"/>
+		<field name="ERROR_DRM_DEVICE_REVOKED"/>
+		<field name="ERROR_DRM_DISALLOWED_OPERATION"/>
+		<field name="ERROR_DRM_LICENSE_ACQUISITION_FAILED"/>
+		<field name="ERROR_DRM_OTHER"/>
+		<field name="ERROR_DRM_PROVISIONING_FAILED"/>
+		<field name="ERROR_DRM_SCHEME_UNSUPPORTED"/>
+		<field name="ERROR_DRM_SYSTEM_ERROR"/>
+		<field name="ERROR_IO_BAD_HTTP_STATUS"/>
+		<field name="ERROR_IO_CONNECTION_CLOSED"/>
+		<field name="ERROR_IO_CONNECTION_TIMEOUT"/>
+		<field name="ERROR_IO_DNS_FAILED"/>
+		<field name="ERROR_IO_FILE_NOT_FOUND"/>
+		<field name="ERROR_IO_NETWORK_CONNECTION_FAILED"/>
+		<field name="ERROR_IO_NETWORK_UNAVAILABLE"/>
+		<field name="ERROR_IO_NO_PERMISSION"/>
+		<field name="ERROR_IO_OTHER"/>
+		<field name="ERROR_OTHER"/>
+		<field name="ERROR_PARSING_CONTAINER_MALFORMED"/>
+		<field name="ERROR_PARSING_CONTAINER_UNSUPPORTED"/>
+		<field name="ERROR_PARSING_MANIFEST_MALFORMED"/>
+		<field name="ERROR_PARSING_MANIFEST_UNSUPPORTED"/>
+		<field name="ERROR_PARSING_OTHER"/>
+		<field name="ERROR_PLAYER_BEHIND_LIVE_WINDOW"/>
+		<field name="ERROR_PLAYER_OTHER"/>
+		<field name="ERROR_PLAYER_REMOTE"/>
+		<field name="ERROR_RUNTIME"/>
+		<field name="ERROR_UNKNOWN"/>
+	</class>
+	<class name="android/media/metrics/PlaybackErrorEvent$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/media/metrics/PlaybackErrorEvent;"/>
+		<method name="setErrorCode(I)Landroid/media/metrics/PlaybackErrorEvent$Builder;"/>
+		<method name="setException(Ljava/lang/Exception;)Landroid/media/metrics/PlaybackErrorEvent$Builder;"/>
+		<method name="setMetricsBundle(Landroid/os/Bundle;)Landroid/media/metrics/PlaybackErrorEvent$Builder;"/>
+		<method name="setSubErrorCode(I)Landroid/media/metrics/PlaybackErrorEvent$Builder;"/>
+		<method name="setTimeSinceCreatedMillis(J)Landroid/media/metrics/PlaybackErrorEvent$Builder;"/>
+	</class>
+	<class name="android/media/metrics/PlaybackMetrics" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAudioUnderrunCount()I"/>
+		<method name="getContentType()I"/>
+		<method name="getDrmSessionId()[B"/>
+		<method name="getDrmType()I"/>
+		<method name="getExperimentIds()[J"/>
+		<method name="getLocalBytesRead()J"/>
+		<method name="getMediaDurationMillis()J"/>
+		<method name="getMetricsBundle()Landroid/os/Bundle;"/>
+		<method name="getNetworkBytesRead()J"/>
+		<method name="getNetworkTransferDurationMillis()J"/>
+		<method name="getPlaybackType()I"/>
+		<method name="getPlayerName()Ljava/lang/String;"/>
+		<method name="getPlayerVersion()Ljava/lang/String;"/>
+		<method name="getStreamSource()I"/>
+		<method name="getStreamType()I"/>
+		<method name="getVideoFramesDropped()I"/>
+		<method name="getVideoFramesPlayed()I"/>
+		<field name="CONTENT_TYPE_AD"/>
+		<field name="CONTENT_TYPE_MAIN"/>
+		<field name="CONTENT_TYPE_OTHER"/>
+		<field name="CONTENT_TYPE_UNKNOWN"/>
+		<field name="CREATOR"/>
+		<field name="DRM_TYPE_CLEARKEY"/>
+		<field name="DRM_TYPE_NONE"/>
+		<field name="DRM_TYPE_OTHER"/>
+		<field name="DRM_TYPE_PLAY_READY"/>
+		<field name="DRM_TYPE_WIDEVINE_L1"/>
+		<field name="DRM_TYPE_WIDEVINE_L3"/>
+		<field name="DRM_TYPE_WV_L3_FALLBACK"/>
+		<field name="PLAYBACK_TYPE_LIVE"/>
+		<field name="PLAYBACK_TYPE_OTHER"/>
+		<field name="PLAYBACK_TYPE_UNKNOWN"/>
+		<field name="PLAYBACK_TYPE_VOD"/>
+		<field name="STREAM_SOURCE_DEVICE"/>
+		<field name="STREAM_SOURCE_MIXED"/>
+		<field name="STREAM_SOURCE_NETWORK"/>
+		<field name="STREAM_SOURCE_UNKNOWN"/>
+		<field name="STREAM_TYPE_DASH"/>
+		<field name="STREAM_TYPE_HLS"/>
+		<field name="STREAM_TYPE_OTHER"/>
+		<field name="STREAM_TYPE_PROGRESSIVE"/>
+		<field name="STREAM_TYPE_SS"/>
+		<field name="STREAM_TYPE_UNKNOWN"/>
+	</class>
+	<class name="android/media/metrics/PlaybackMetrics$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addExperimentId(J)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="build()Landroid/media/metrics/PlaybackMetrics;"/>
+		<method name="setAudioUnderrunCount(I)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setContentType(I)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setDrmSessionId([B)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setDrmType(I)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setLocalBytesRead(J)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setMediaDurationMillis(J)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setMetricsBundle(Landroid/os/Bundle;)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setNetworkBytesRead(J)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setNetworkTransferDurationMillis(J)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setPlaybackType(I)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setPlayerName(Ljava/lang/String;)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setPlayerVersion(Ljava/lang/String;)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setStreamSource(I)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setStreamType(I)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setVideoFramesDropped(I)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+		<method name="setVideoFramesPlayed(I)Landroid/media/metrics/PlaybackMetrics$Builder;"/>
+	</class>
+	<class name="android/media/metrics/PlaybackSession" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getSessionId()Landroid/media/metrics/LogSessionId;"/>
+		<method name="reportNetworkEvent(Landroid/media/metrics/NetworkEvent;)V"/>
+		<method name="reportPlaybackErrorEvent(Landroid/media/metrics/PlaybackErrorEvent;)V"/>
+		<method name="reportPlaybackMetrics(Landroid/media/metrics/PlaybackMetrics;)V"/>
+		<method name="reportPlaybackStateEvent(Landroid/media/metrics/PlaybackStateEvent;)V"/>
+		<method name="reportTrackChangeEvent(Landroid/media/metrics/TrackChangeEvent;)V"/>
+	</class>
+	<class name="android/media/metrics/PlaybackStateEvent" since="31">
+		<extends name="android/media/metrics/Event"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getState()I"/>
+		<field name="CREATOR"/>
+		<field name="STATE_ABANDONED"/>
+		<field name="STATE_BUFFERING"/>
+		<field name="STATE_ENDED"/>
+		<field name="STATE_FAILED"/>
+		<field name="STATE_INTERRUPTED_BY_AD"/>
+		<field name="STATE_JOINING_BACKGROUND"/>
+		<field name="STATE_JOINING_FOREGROUND"/>
+		<field name="STATE_NOT_STARTED"/>
+		<field name="STATE_PAUSED"/>
+		<field name="STATE_PAUSED_BUFFERING"/>
+		<field name="STATE_PLAYING"/>
+		<field name="STATE_SEEKING"/>
+		<field name="STATE_STOPPED"/>
+		<field name="STATE_SUPPRESSED"/>
+		<field name="STATE_SUPPRESSED_BUFFERING"/>
+	</class>
+	<class name="android/media/metrics/PlaybackStateEvent$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/media/metrics/PlaybackStateEvent;"/>
+		<method name="setMetricsBundle(Landroid/os/Bundle;)Landroid/media/metrics/PlaybackStateEvent$Builder;"/>
+		<method name="setState(I)Landroid/media/metrics/PlaybackStateEvent$Builder;"/>
+		<method name="setTimeSinceCreatedMillis(J)Landroid/media/metrics/PlaybackStateEvent$Builder;"/>
+	</class>
+	<class name="android/media/metrics/RecordingSession" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getSessionId()Landroid/media/metrics/LogSessionId;"/>
+	</class>
+	<class name="android/media/metrics/TrackChangeEvent" since="31">
+		<extends name="android/media/metrics/Event"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAudioSampleRate()I"/>
+		<method name="getBitrate()I"/>
+		<method name="getChannelCount()I"/>
+		<method name="getCodecName()Ljava/lang/String;"/>
+		<method name="getContainerMimeType()Ljava/lang/String;"/>
+		<method name="getHeight()I"/>
+		<method name="getLanguage()Ljava/lang/String;"/>
+		<method name="getLanguageRegion()Ljava/lang/String;"/>
+		<method name="getSampleMimeType()Ljava/lang/String;"/>
+		<method name="getTrackChangeReason()I"/>
+		<method name="getTrackState()I"/>
+		<method name="getTrackType()I"/>
+		<method name="getVideoFrameRate()F"/>
+		<method name="getWidth()I"/>
+		<field name="CREATOR"/>
+		<field name="TRACK_CHANGE_REASON_ADAPTIVE"/>
+		<field name="TRACK_CHANGE_REASON_INITIAL"/>
+		<field name="TRACK_CHANGE_REASON_MANUAL"/>
+		<field name="TRACK_CHANGE_REASON_OTHER"/>
+		<field name="TRACK_CHANGE_REASON_UNKNOWN"/>
+		<field name="TRACK_STATE_OFF"/>
+		<field name="TRACK_STATE_ON"/>
+		<field name="TRACK_TYPE_AUDIO"/>
+		<field name="TRACK_TYPE_TEXT"/>
+		<field name="TRACK_TYPE_VIDEO"/>
+	</class>
+	<class name="android/media/metrics/TrackChangeEvent$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="build()Landroid/media/metrics/TrackChangeEvent;"/>
+		<method name="setAudioSampleRate(I)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setBitrate(I)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setChannelCount(I)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setCodecName(Ljava/lang/String;)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setContainerMimeType(Ljava/lang/String;)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setHeight(I)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setLanguage(Ljava/lang/String;)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setLanguageRegion(Ljava/lang/String;)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setMetricsBundle(Landroid/os/Bundle;)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setSampleMimeType(Ljava/lang/String;)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setTimeSinceCreatedMillis(J)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setTrackChangeReason(I)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setTrackState(I)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setVideoFrameRate(F)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+		<method name="setWidth(I)Landroid/media/metrics/TrackChangeEvent$Builder;"/>
+	</class>
+	<class name="android/media/midi/MidiDevice" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="connectPorts(Landroid/media/midi/MidiInputPort;I)Landroid/media/midi/MidiDevice$MidiConnection;"/>
+		<method name="getInfo()Landroid/media/midi/MidiDeviceInfo;"/>
+		<method name="openInputPort(I)Landroid/media/midi/MidiInputPort;"/>
+		<method name="openOutputPort(I)Landroid/media/midi/MidiOutputPort;"/>
+	</class>
+	<class name="android/media/midi/MidiDevice$MidiConnection" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+	</class>
+	<class name="android/media/midi/MidiDeviceInfo" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getId()I"/>
+		<method name="getInputPortCount()I"/>
+		<method name="getOutputPortCount()I"/>
+		<method name="getPorts()[Landroid/media/midi/MidiDeviceInfo$PortInfo;"/>
+		<method name="getProperties()Landroid/os/Bundle;"/>
+		<method name="getType()I"/>
+		<method name="isPrivate()Z"/>
+		<field name="CREATOR"/>
+		<field name="PROPERTY_BLUETOOTH_DEVICE"/>
+		<field name="PROPERTY_MANUFACTURER"/>
+		<field name="PROPERTY_NAME"/>
+		<field name="PROPERTY_PRODUCT"/>
+		<field name="PROPERTY_SERIAL_NUMBER"/>
+		<field name="PROPERTY_USB_DEVICE"/>
+		<field name="PROPERTY_VERSION"/>
+		<field name="TYPE_BLUETOOTH"/>
+		<field name="TYPE_USB"/>
+		<field name="TYPE_VIRTUAL"/>
+	</class>
+	<class name="android/media/midi/MidiDeviceInfo$PortInfo" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPortNumber()I"/>
+		<method name="getType()I"/>
+		<field name="TYPE_INPUT"/>
+		<field name="TYPE_OUTPUT"/>
+	</class>
+	<class name="android/media/midi/MidiDeviceService" since="23">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="getDeviceInfo()Landroid/media/midi/MidiDeviceInfo;"/>
+		<method name="getOutputPortReceivers()[Landroid/media/midi/MidiReceiver;"/>
+		<method name="onClose()V"/>
+		<method name="onDeviceStatusChanged(Landroid/media/midi/MidiDeviceStatus;)V"/>
+		<method name="onGetInputPortReceivers()[Landroid/media/midi/MidiReceiver;"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/media/midi/MidiDeviceStatus" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDeviceInfo()Landroid/media/midi/MidiDeviceInfo;"/>
+		<method name="getOutputPortOpenCount(I)I"/>
+		<method name="isInputPortOpen(I)Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/midi/MidiInputPort" since="23">
+		<extends name="android/media/midi/MidiReceiver"/>
+		<implements name="java/io/Closeable"/>
+		<method name="getPortNumber()I"/>
+	</class>
+	<class name="android/media/midi/MidiManager" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getDevices()[Landroid/media/midi/MidiDeviceInfo;"/>
+		<method name="openBluetoothDevice(Landroid/bluetooth/BluetoothDevice;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/os/Handler;)V"/>
+		<method name="openDevice(Landroid/media/midi/MidiDeviceInfo;Landroid/media/midi/MidiManager$OnDeviceOpenedListener;Landroid/os/Handler;)V"/>
+		<method name="registerDeviceCallback(Landroid/media/midi/MidiManager$DeviceCallback;Landroid/os/Handler;)V"/>
+		<method name="unregisterDeviceCallback(Landroid/media/midi/MidiManager$DeviceCallback;)V"/>
+	</class>
+	<class name="android/media/midi/MidiManager$DeviceCallback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onDeviceAdded(Landroid/media/midi/MidiDeviceInfo;)V"/>
+		<method name="onDeviceRemoved(Landroid/media/midi/MidiDeviceInfo;)V"/>
+		<method name="onDeviceStatusChanged(Landroid/media/midi/MidiDeviceStatus;)V"/>
+	</class>
+	<class name="android/media/midi/MidiManager$OnDeviceOpenedListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onDeviceOpened(Landroid/media/midi/MidiDevice;)V"/>
+	</class>
+	<class name="android/media/midi/MidiOutputPort" since="23">
+		<extends name="android/media/midi/MidiSender"/>
+		<implements name="java/io/Closeable"/>
+		<method name="getPortNumber()I"/>
+	</class>
+	<class name="android/media/midi/MidiReceiver" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="flush()V"/>
+		<method name="getMaxMessageSize()I"/>
+		<method name="onFlush()V"/>
+		<method name="onSend([BIIJ)V"/>
+		<method name="send([BII)V"/>
+		<method name="send([BIIJ)V"/>
+	</class>
+	<class name="android/media/midi/MidiSender" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="connect(Landroid/media/midi/MidiReceiver;)V"/>
+		<method name="disconnect(Landroid/media/midi/MidiReceiver;)V"/>
+		<method name="onConnect(Landroid/media/midi/MidiReceiver;)V"/>
+		<method name="onDisconnect(Landroid/media/midi/MidiReceiver;)V"/>
+	</class>
+	<class name="android/media/projection/MediaProjection" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="createVirtualDisplay(Ljava/lang/String;IIIILandroid/view/Surface;Landroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;)Landroid/hardware/display/VirtualDisplay;"/>
+		<method name="registerCallback(Landroid/media/projection/MediaProjection$Callback;Landroid/os/Handler;)V"/>
+		<method name="stop()V"/>
+		<method name="unregisterCallback(Landroid/media/projection/MediaProjection$Callback;)V"/>
+	</class>
+	<class name="android/media/projection/MediaProjection$Callback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onStop()V"/>
+	</class>
+	<class name="android/media/projection/MediaProjectionManager" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="createScreenCaptureIntent()Landroid/content/Intent;"/>
+		<method name="getMediaProjection(ILandroid/content/Intent;)Landroid/media/projection/MediaProjection;"/>
+	</class>
+	<class name="android/media/session/MediaController" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/media/session/MediaSession$Token;)V"/>
+		<method name="adjustVolume(II)V"/>
+		<method name="dispatchMediaButtonEvent(Landroid/view/KeyEvent;)Z"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getFlags()J"/>
+		<method name="getMetadata()Landroid/media/MediaMetadata;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getPlaybackInfo()Landroid/media/session/MediaController$PlaybackInfo;"/>
+		<method name="getPlaybackState()Landroid/media/session/PlaybackState;"/>
+		<method name="getQueue()Ljava/util/List;"/>
+		<method name="getQueueTitle()Ljava/lang/CharSequence;"/>
+		<method name="getRatingType()I"/>
+		<method name="getSessionActivity()Landroid/app/PendingIntent;"/>
+		<method name="getSessionInfo()Landroid/os/Bundle;" since="29"/>
+		<method name="getSessionToken()Landroid/media/session/MediaSession$Token;"/>
+		<method name="getTag()Ljava/lang/String;" since="30"/>
+		<method name="getTransportControls()Landroid/media/session/MediaController$TransportControls;"/>
+		<method name="registerCallback(Landroid/media/session/MediaController$Callback;)V"/>
+		<method name="registerCallback(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V"/>
+		<method name="sendCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V"/>
+		<method name="setVolumeTo(II)V"/>
+		<method name="unregisterCallback(Landroid/media/session/MediaController$Callback;)V"/>
+	</class>
+	<class name="android/media/session/MediaController$Callback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAudioInfoChanged(Landroid/media/session/MediaController$PlaybackInfo;)V"/>
+		<method name="onExtrasChanged(Landroid/os/Bundle;)V"/>
+		<method name="onMetadataChanged(Landroid/media/MediaMetadata;)V"/>
+		<method name="onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V"/>
+		<method name="onQueueChanged(Ljava/util/List;)V"/>
+		<method name="onQueueTitleChanged(Ljava/lang/CharSequence;)V"/>
+		<method name="onSessionDestroyed()V"/>
+		<method name="onSessionEvent(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/media/session/MediaController$PlaybackInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="29"/>
+		<method name="getAudioAttributes()Landroid/media/AudioAttributes;"/>
+		<method name="getCurrentVolume()I"/>
+		<method name="getMaxVolume()I"/>
+		<method name="getPlaybackType()I"/>
+		<method name="getVolumeControl()I"/>
+		<method name="getVolumeControlId()Ljava/lang/String;" since="30"/>
+		<field name="CREATOR" since="29"/>
+		<field name="PLAYBACK_TYPE_LOCAL"/>
+		<field name="PLAYBACK_TYPE_REMOTE"/>
+	</class>
+	<class name="android/media/session/MediaController$TransportControls" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="fastForward()V"/>
+		<method name="pause()V"/>
+		<method name="play()V"/>
+		<method name="playFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="playFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="playFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V" since="23"/>
+		<method name="prepare()V" since="24"/>
+		<method name="prepareFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V" since="24"/>
+		<method name="prepareFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V" since="24"/>
+		<method name="prepareFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V" since="24"/>
+		<method name="rewind()V"/>
+		<method name="seekTo(J)V"/>
+		<method name="sendCustomAction(Landroid/media/session/PlaybackState$CustomAction;Landroid/os/Bundle;)V"/>
+		<method name="sendCustomAction(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="setPlaybackSpeed(F)V" since="29"/>
+		<method name="setRating(Landroid/media/Rating;)V"/>
+		<method name="skipToNext()V"/>
+		<method name="skipToPrevious()V"/>
+		<method name="skipToQueueItem(J)V"/>
+		<method name="stop()V"/>
+	</class>
+	<class name="android/media/session/MediaSession" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)V" since="29"/>
+		<method name="getController()Landroid/media/session/MediaController;"/>
+		<method name="getCurrentControllerInfo()Landroid/media/session/MediaSessionManager$RemoteUserInfo;" since="28"/>
+		<method name="getSessionToken()Landroid/media/session/MediaSession$Token;"/>
+		<method name="isActive()Z"/>
+		<method name="release()V"/>
+		<method name="sendSessionEvent(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="setActive(Z)V"/>
+		<method name="setCallback(Landroid/media/session/MediaSession$Callback;)V"/>
+		<method name="setCallback(Landroid/media/session/MediaSession$Callback;Landroid/os/Handler;)V"/>
+		<method name="setExtras(Landroid/os/Bundle;)V"/>
+		<method name="setFlags(I)V"/>
+		<method name="setMediaButtonBroadcastReceiver(Landroid/content/ComponentName;)V" since="31"/>
+		<method name="setMediaButtonReceiver(Landroid/app/PendingIntent;)V" deprecated="31"/>
+		<method name="setMetadata(Landroid/media/MediaMetadata;)V"/>
+		<method name="setPlaybackState(Landroid/media/session/PlaybackState;)V"/>
+		<method name="setPlaybackToLocal(Landroid/media/AudioAttributes;)V"/>
+		<method name="setPlaybackToRemote(Landroid/media/VolumeProvider;)V"/>
+		<method name="setQueue(Ljava/util/List;)V"/>
+		<method name="setQueueTitle(Ljava/lang/CharSequence;)V"/>
+		<method name="setRatingType(I)V" since="22"/>
+		<method name="setSessionActivity(Landroid/app/PendingIntent;)V"/>
+		<field name="FLAG_HANDLES_MEDIA_BUTTONS" deprecated="26"/>
+		<field name="FLAG_HANDLES_TRANSPORT_CONTROLS" deprecated="26"/>
+	</class>
+	<class name="android/media/session/MediaSession$Callback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCommand(Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V"/>
+		<method name="onCustomAction(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="onFastForward()V"/>
+		<method name="onMediaButtonEvent(Landroid/content/Intent;)Z"/>
+		<method name="onPause()V"/>
+		<method name="onPlay()V"/>
+		<method name="onPlayFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="onPlayFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="onPlayFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V" since="23"/>
+		<method name="onPrepare()V" since="24"/>
+		<method name="onPrepareFromMediaId(Ljava/lang/String;Landroid/os/Bundle;)V" since="24"/>
+		<method name="onPrepareFromSearch(Ljava/lang/String;Landroid/os/Bundle;)V" since="24"/>
+		<method name="onPrepareFromUri(Landroid/net/Uri;Landroid/os/Bundle;)V" since="24"/>
+		<method name="onRewind()V"/>
+		<method name="onSeekTo(J)V"/>
+		<method name="onSetPlaybackSpeed(F)V" since="29"/>
+		<method name="onSetRating(Landroid/media/Rating;)V"/>
+		<method name="onSkipToNext()V"/>
+		<method name="onSkipToPrevious()V"/>
+		<method name="onSkipToQueueItem(J)V"/>
+		<method name="onStop()V"/>
+	</class>
+	<class name="android/media/session/MediaSession$QueueItem" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/media/MediaDescription;J)V"/>
+		<method name="getDescription()Landroid/media/MediaDescription;"/>
+		<method name="getQueueId()J"/>
+		<field name="CREATOR"/>
+		<field name="UNKNOWN_ID"/>
+	</class>
+	<class name="android/media/session/MediaSession$Token" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/session/MediaSessionManager" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="addOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/content/ComponentName;)V"/>
+		<method name="addOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;Landroid/content/ComponentName;Landroid/os/Handler;)V"/>
+		<method name="addOnSession2TokensChangedListener(Landroid/media/session/MediaSessionManager$OnSession2TokensChangedListener;)V" since="29"/>
+		<method name="addOnSession2TokensChangedListener(Landroid/media/session/MediaSessionManager$OnSession2TokensChangedListener;Landroid/os/Handler;)V" since="29"/>
+		<method name="getActiveSessions(Landroid/content/ComponentName;)Ljava/util/List;"/>
+		<method name="getSession2Tokens()Ljava/util/List;" since="29"/>
+		<method name="isTrustedForMediaControl(Landroid/media/session/MediaSessionManager$RemoteUserInfo;)Z" since="28"/>
+		<method name="notifySession2Created(Landroid/media/Session2Token;)V" since="29" deprecated="31"/>
+		<method name="removeOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;)V"/>
+		<method name="removeOnSession2TokensChangedListener(Landroid/media/session/MediaSessionManager$OnSession2TokensChangedListener;)V" since="29"/>
+	</class>
+	<class name="android/media/session/MediaSessionManager$OnActiveSessionsChangedListener" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="onActiveSessionsChanged(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/media/session/MediaSessionManager$OnSession2TokensChangedListener" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onSession2TokensChanged(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/media/session/MediaSessionManager$RemoteUserInfo" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;II)V"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getPid()I"/>
+		<method name="getUid()I"/>
+	</class>
+	<class name="android/media/session/PlaybackState" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getActions()J"/>
+		<method name="getActiveQueueItemId()J"/>
+		<method name="getBufferedPosition()J"/>
+		<method name="getCustomActions()Ljava/util/List;"/>
+		<method name="getErrorMessage()Ljava/lang/CharSequence;"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="22"/>
+		<method name="getLastPositionUpdateTime()J"/>
+		<method name="getPlaybackSpeed()F"/>
+		<method name="getPosition()J"/>
+		<method name="getState()I"/>
+		<method name="isActive()Z" since="31"/>
+		<field name="ACTION_FAST_FORWARD"/>
+		<field name="ACTION_PAUSE"/>
+		<field name="ACTION_PLAY"/>
+		<field name="ACTION_PLAY_FROM_MEDIA_ID"/>
+		<field name="ACTION_PLAY_FROM_SEARCH"/>
+		<field name="ACTION_PLAY_FROM_URI" since="23"/>
+		<field name="ACTION_PLAY_PAUSE"/>
+		<field name="ACTION_PREPARE" since="24"/>
+		<field name="ACTION_PREPARE_FROM_MEDIA_ID" since="24"/>
+		<field name="ACTION_PREPARE_FROM_SEARCH" since="24"/>
+		<field name="ACTION_PREPARE_FROM_URI" since="24"/>
+		<field name="ACTION_REWIND"/>
+		<field name="ACTION_SEEK_TO"/>
+		<field name="ACTION_SET_PLAYBACK_SPEED" since="31"/>
+		<field name="ACTION_SET_RATING"/>
+		<field name="ACTION_SKIP_TO_NEXT"/>
+		<field name="ACTION_SKIP_TO_PREVIOUS"/>
+		<field name="ACTION_SKIP_TO_QUEUE_ITEM"/>
+		<field name="ACTION_STOP"/>
+		<field name="CREATOR"/>
+		<field name="PLAYBACK_POSITION_UNKNOWN"/>
+		<field name="STATE_BUFFERING"/>
+		<field name="STATE_CONNECTING"/>
+		<field name="STATE_ERROR"/>
+		<field name="STATE_FAST_FORWARDING"/>
+		<field name="STATE_NONE"/>
+		<field name="STATE_PAUSED"/>
+		<field name="STATE_PLAYING"/>
+		<field name="STATE_REWINDING"/>
+		<field name="STATE_SKIPPING_TO_NEXT"/>
+		<field name="STATE_SKIPPING_TO_PREVIOUS"/>
+		<field name="STATE_SKIPPING_TO_QUEUE_ITEM"/>
+		<field name="STATE_STOPPED"/>
+	</class>
+	<class name="android/media/session/PlaybackState$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/media/session/PlaybackState;)V"/>
+		<method name="addCustomAction(Landroid/media/session/PlaybackState$CustomAction;)Landroid/media/session/PlaybackState$Builder;"/>
+		<method name="addCustomAction(Ljava/lang/String;Ljava/lang/String;I)Landroid/media/session/PlaybackState$Builder;"/>
+		<method name="build()Landroid/media/session/PlaybackState;"/>
+		<method name="setActions(J)Landroid/media/session/PlaybackState$Builder;"/>
+		<method name="setActiveQueueItemId(J)Landroid/media/session/PlaybackState$Builder;"/>
+		<method name="setBufferedPosition(J)Landroid/media/session/PlaybackState$Builder;"/>
+		<method name="setErrorMessage(Ljava/lang/CharSequence;)Landroid/media/session/PlaybackState$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/session/PlaybackState$Builder;" since="22"/>
+		<method name="setState(IJF)Landroid/media/session/PlaybackState$Builder;"/>
+		<method name="setState(IJFJ)Landroid/media/session/PlaybackState$Builder;"/>
+	</class>
+	<class name="android/media/session/PlaybackState$CustomAction" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAction()Ljava/lang/String;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getIcon()I"/>
+		<method name="getName()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/media/session/PlaybackState$CustomAction$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V"/>
+		<method name="build()Landroid/media/session/PlaybackState$CustomAction;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/session/PlaybackState$CustomAction$Builder;"/>
+	</class>
+	<class name="android/media/tv/TvContentRating" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="contains(Landroid/media/tv/TvContentRating;)Z" since="24"/>
+		<method name="createRating(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/media/tv/TvContentRating;"/>
+		<method name="flattenToString()Ljava/lang/String;"/>
+		<method name="getDomain()Ljava/lang/String;"/>
+		<method name="getMainRating()Ljava/lang/String;"/>
+		<method name="getRatingSystem()Ljava/lang/String;"/>
+		<method name="getSubRatings()Ljava/util/List;"/>
+		<method name="unflattenFromString(Ljava/lang/String;)Landroid/media/tv/TvContentRating;"/>
+		<field name="UNRATED" since="23"/>
+	</class>
+	<class name="android/media/tv/TvContract" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="buildChannelLogoUri(J)Landroid/net/Uri;"/>
+		<method name="buildChannelLogoUri(Landroid/net/Uri;)Landroid/net/Uri;"/>
+		<method name="buildChannelUri(J)Landroid/net/Uri;"/>
+		<method name="buildChannelUriForPassthroughInput(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="buildChannelsUriForInput(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="buildInputId(Landroid/content/ComponentName;)Ljava/lang/String;"/>
+		<method name="buildPreviewProgramUri(J)Landroid/net/Uri;" since="26"/>
+		<method name="buildPreviewProgramsUriForChannel(J)Landroid/net/Uri;" since="26"/>
+		<method name="buildPreviewProgramsUriForChannel(Landroid/net/Uri;)Landroid/net/Uri;" since="26"/>
+		<method name="buildProgramUri(J)Landroid/net/Uri;"/>
+		<method name="buildProgramsUriForChannel(J)Landroid/net/Uri;"/>
+		<method name="buildProgramsUriForChannel(JJJ)Landroid/net/Uri;"/>
+		<method name="buildProgramsUriForChannel(Landroid/net/Uri;)Landroid/net/Uri;"/>
+		<method name="buildProgramsUriForChannel(Landroid/net/Uri;JJ)Landroid/net/Uri;"/>
+		<method name="buildRecordedProgramUri(J)Landroid/net/Uri;" since="24"/>
+		<method name="buildWatchNextProgramUri(J)Landroid/net/Uri;" since="26"/>
+		<method name="isChannelUri(Landroid/net/Uri;)Z" since="24"/>
+		<method name="isChannelUriForPassthroughInput(Landroid/net/Uri;)Z" since="24"/>
+		<method name="isChannelUriForTunerInput(Landroid/net/Uri;)Z" since="24"/>
+		<method name="isProgramUri(Landroid/net/Uri;)Z" since="24"/>
+		<method name="isRecordedProgramUri(Landroid/net/Uri;)Z" since="27"/>
+		<method name="requestChannelBrowsable(Landroid/content/Context;J)V" since="26"/>
+		<field name="ACTION_INITIALIZE_PROGRAMS" since="26"/>
+		<field name="ACTION_PREVIEW_PROGRAM_ADDED_TO_WATCH_NEXT" since="26"/>
+		<field name="ACTION_PREVIEW_PROGRAM_BROWSABLE_DISABLED" since="26"/>
+		<field name="ACTION_REQUEST_CHANNEL_BROWSABLE" since="26"/>
+		<field name="ACTION_WATCH_NEXT_PROGRAM_BROWSABLE_DISABLED" since="26"/>
+		<field name="AUTHORITY"/>
+		<field name="EXTRA_CHANNEL_ID" since="26"/>
+		<field name="EXTRA_PREVIEW_PROGRAM_ID" since="26"/>
+		<field name="EXTRA_WATCH_NEXT_PROGRAM_ID" since="26"/>
+	</class>
+	<class name="android/media/tv/TvContract$BaseTvColumns" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="COLUMN_PACKAGE_NAME"/>
+	</class>
+	<class name="android/media/tv/TvContract$Channels" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/tv/TvContract$BaseTvColumns"/>
+		<method name="getVideoResolution(Ljava/lang/String;)Ljava/lang/String;"/>
+		<field name="COLUMN_APP_LINK_COLOR" since="23"/>
+		<field name="COLUMN_APP_LINK_ICON_URI" since="23"/>
+		<field name="COLUMN_APP_LINK_INTENT_URI" since="23"/>
+		<field name="COLUMN_APP_LINK_POSTER_ART_URI" since="23"/>
+		<field name="COLUMN_APP_LINK_TEXT" since="23"/>
+		<field name="COLUMN_BROADCAST_GENRE" since="31"/>
+		<field name="COLUMN_BROWSABLE" since="26"/>
+		<field name="COLUMN_CHANNEL_LIST_ID" since="31"/>
+		<field name="COLUMN_DESCRIPTION"/>
+		<field name="COLUMN_DISPLAY_NAME"/>
+		<field name="COLUMN_DISPLAY_NUMBER"/>
+		<field name="COLUMN_GLOBAL_CONTENT_ID" since="30"/>
+		<field name="COLUMN_INPUT_ID"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_DATA"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG1" since="23"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG2" since="23"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG3" since="23"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG4" since="23"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_ID" since="26"/>
+		<field name="COLUMN_LOCKED" since="26"/>
+		<field name="COLUMN_NETWORK_AFFILIATION"/>
+		<field name="COLUMN_ORIGINAL_NETWORK_ID"/>
+		<field name="COLUMN_REMOTE_CONTROL_KEY_PRESET_NUMBER" since="31"/>
+		<field name="COLUMN_SCRAMBLED" since="31"/>
+		<field name="COLUMN_SEARCHABLE"/>
+		<field name="COLUMN_SERVICE_ID"/>
+		<field name="COLUMN_SERVICE_TYPE"/>
+		<field name="COLUMN_TRANSIENT" since="26"/>
+		<field name="COLUMN_TRANSPORT_STREAM_ID"/>
+		<field name="COLUMN_TYPE"/>
+		<field name="COLUMN_VERSION_NUMBER"/>
+		<field name="COLUMN_VIDEO_FORMAT"/>
+		<field name="COLUMN_VIDEO_RESOLUTION" since="31"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="SERVICE_TYPE_AUDIO"/>
+		<field name="SERVICE_TYPE_AUDIO_VIDEO"/>
+		<field name="SERVICE_TYPE_OTHER"/>
+		<field name="TYPE_1SEG"/>
+		<field name="TYPE_ATSC3_T" since="30"/>
+		<field name="TYPE_ATSC_C"/>
+		<field name="TYPE_ATSC_M_H"/>
+		<field name="TYPE_ATSC_T"/>
+		<field name="TYPE_CMMB"/>
+		<field name="TYPE_DTMB"/>
+		<field name="TYPE_DVB_C"/>
+		<field name="TYPE_DVB_C2"/>
+		<field name="TYPE_DVB_H"/>
+		<field name="TYPE_DVB_S"/>
+		<field name="TYPE_DVB_S2"/>
+		<field name="TYPE_DVB_SH"/>
+		<field name="TYPE_DVB_T"/>
+		<field name="TYPE_DVB_T2"/>
+		<field name="TYPE_ISDB_C"/>
+		<field name="TYPE_ISDB_S"/>
+		<field name="TYPE_ISDB_S3" since="29"/>
+		<field name="TYPE_ISDB_T"/>
+		<field name="TYPE_ISDB_TB"/>
+		<field name="TYPE_NTSC"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_PAL"/>
+		<field name="TYPE_PREVIEW" since="26"/>
+		<field name="TYPE_SECAM"/>
+		<field name="TYPE_S_DMB"/>
+		<field name="TYPE_T_DMB"/>
+		<field name="VIDEO_FORMAT_1080I"/>
+		<field name="VIDEO_FORMAT_1080P"/>
+		<field name="VIDEO_FORMAT_2160P"/>
+		<field name="VIDEO_FORMAT_240P"/>
+		<field name="VIDEO_FORMAT_360P"/>
+		<field name="VIDEO_FORMAT_4320P"/>
+		<field name="VIDEO_FORMAT_480I"/>
+		<field name="VIDEO_FORMAT_480P"/>
+		<field name="VIDEO_FORMAT_576I"/>
+		<field name="VIDEO_FORMAT_576P"/>
+		<field name="VIDEO_FORMAT_720P"/>
+		<field name="VIDEO_RESOLUTION_ED"/>
+		<field name="VIDEO_RESOLUTION_FHD"/>
+		<field name="VIDEO_RESOLUTION_HD"/>
+		<field name="VIDEO_RESOLUTION_SD"/>
+		<field name="VIDEO_RESOLUTION_UHD"/>
+	</class>
+	<class name="android/media/tv/TvContract$Channels$Logo" since="21">
+		<extends name="java/lang/Object"/>
+		<field name="CONTENT_DIRECTORY"/>
+	</class>
+	<class name="android/media/tv/TvContract$PreviewPrograms" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/tv/TvContract$BaseTvColumns"/>
+		<field name="ASPECT_RATIO_16_9"/>
+		<field name="ASPECT_RATIO_1_1"/>
+		<field name="ASPECT_RATIO_2_3"/>
+		<field name="ASPECT_RATIO_3_2"/>
+		<field name="ASPECT_RATIO_4_3"/>
+		<field name="AVAILABILITY_AVAILABLE"/>
+		<field name="AVAILABILITY_FREE_WITH_SUBSCRIPTION"/>
+		<field name="AVAILABILITY_PAID_CONTENT"/>
+		<field name="COLUMN_AUDIO_LANGUAGE"/>
+		<field name="COLUMN_AUTHOR"/>
+		<field name="COLUMN_AVAILABILITY"/>
+		<field name="COLUMN_BROWSABLE"/>
+		<field name="COLUMN_CANONICAL_GENRE"/>
+		<field name="COLUMN_CHANNEL_ID"/>
+		<field name="COLUMN_CONTENT_ID"/>
+		<field name="COLUMN_CONTENT_RATING"/>
+		<field name="COLUMN_DURATION_MILLIS"/>
+		<field name="COLUMN_EPISODE_DISPLAY_NUMBER"/>
+		<field name="COLUMN_EPISODE_TITLE"/>
+		<field name="COLUMN_INTENT_URI"/>
+		<field name="COLUMN_INTERACTION_COUNT"/>
+		<field name="COLUMN_INTERACTION_TYPE"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_DATA"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG1"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG2"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG3"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG4"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_ID"/>
+		<field name="COLUMN_ITEM_COUNT"/>
+		<field name="COLUMN_LAST_PLAYBACK_POSITION_MILLIS"/>
+		<field name="COLUMN_LIVE"/>
+		<field name="COLUMN_LOGO_URI"/>
+		<field name="COLUMN_LONG_DESCRIPTION"/>
+		<field name="COLUMN_OFFER_PRICE"/>
+		<field name="COLUMN_POSTER_ART_ASPECT_RATIO"/>
+		<field name="COLUMN_POSTER_ART_URI"/>
+		<field name="COLUMN_PREVIEW_VIDEO_URI"/>
+		<field name="COLUMN_RELEASE_DATE"/>
+		<field name="COLUMN_REVIEW_RATING"/>
+		<field name="COLUMN_REVIEW_RATING_STYLE"/>
+		<field name="COLUMN_SEARCHABLE"/>
+		<field name="COLUMN_SEASON_DISPLAY_NUMBER"/>
+		<field name="COLUMN_SEASON_TITLE"/>
+		<field name="COLUMN_SERIES_ID" since="29"/>
+		<field name="COLUMN_SHORT_DESCRIPTION"/>
+		<field name="COLUMN_SPLIT_ID" since="30"/>
+		<field name="COLUMN_STARTING_PRICE"/>
+		<field name="COLUMN_THUMBNAIL_ASPECT_RATIO"/>
+		<field name="COLUMN_THUMBNAIL_URI"/>
+		<field name="COLUMN_TITLE"/>
+		<field name="COLUMN_TRANSIENT"/>
+		<field name="COLUMN_TYPE"/>
+		<field name="COLUMN_VERSION_NUMBER"/>
+		<field name="COLUMN_VIDEO_HEIGHT"/>
+		<field name="COLUMN_VIDEO_WIDTH"/>
+		<field name="COLUMN_WEIGHT"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="INTERACTION_TYPE_FANS"/>
+		<field name="INTERACTION_TYPE_FOLLOWERS"/>
+		<field name="INTERACTION_TYPE_LIKES"/>
+		<field name="INTERACTION_TYPE_LISTENS"/>
+		<field name="INTERACTION_TYPE_THUMBS"/>
+		<field name="INTERACTION_TYPE_VIEWERS"/>
+		<field name="INTERACTION_TYPE_VIEWS"/>
+		<field name="REVIEW_RATING_STYLE_PERCENTAGE"/>
+		<field name="REVIEW_RATING_STYLE_STARS"/>
+		<field name="REVIEW_RATING_STYLE_THUMBS_UP_DOWN"/>
+		<field name="TYPE_ALBUM"/>
+		<field name="TYPE_ARTIST"/>
+		<field name="TYPE_CHANNEL"/>
+		<field name="TYPE_CLIP"/>
+		<field name="TYPE_EVENT"/>
+		<field name="TYPE_MOVIE"/>
+		<field name="TYPE_PLAYLIST"/>
+		<field name="TYPE_STATION"/>
+		<field name="TYPE_TRACK"/>
+		<field name="TYPE_TV_EPISODE"/>
+		<field name="TYPE_TV_SEASON"/>
+		<field name="TYPE_TV_SERIES"/>
+	</class>
+	<class name="android/media/tv/TvContract$Programs" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/tv/TvContract$BaseTvColumns"/>
+		<field name="COLUMN_AUDIO_LANGUAGE"/>
+		<field name="COLUMN_BROADCAST_GENRE"/>
+		<field name="COLUMN_CANONICAL_GENRE"/>
+		<field name="COLUMN_CHANNEL_ID"/>
+		<field name="COLUMN_CONTENT_RATING"/>
+		<field name="COLUMN_END_TIME_UTC_MILLIS"/>
+		<field name="COLUMN_EPISODE_DISPLAY_NUMBER" since="24"/>
+		<field name="COLUMN_EPISODE_NUMBER" deprecated="24"/>
+		<field name="COLUMN_EPISODE_TITLE"/>
+		<field name="COLUMN_EVENT_ID" since="30"/>
+		<field name="COLUMN_GLOBAL_CONTENT_ID" since="30"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_DATA"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG1" since="23"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG2" since="23"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG3" since="23"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG4" since="23"/>
+		<field name="COLUMN_LONG_DESCRIPTION"/>
+		<field name="COLUMN_POSTER_ART_URI"/>
+		<field name="COLUMN_RECORDING_PROHIBITED" since="24"/>
+		<field name="COLUMN_REVIEW_RATING" since="26"/>
+		<field name="COLUMN_REVIEW_RATING_STYLE" since="26"/>
+		<field name="COLUMN_SEARCHABLE" since="23"/>
+		<field name="COLUMN_SEASON_DISPLAY_NUMBER" since="24"/>
+		<field name="COLUMN_SEASON_NUMBER" deprecated="24"/>
+		<field name="COLUMN_SEASON_TITLE" since="24"/>
+		<field name="COLUMN_SERIES_ID" since="29"/>
+		<field name="COLUMN_SHORT_DESCRIPTION"/>
+		<field name="COLUMN_SPLIT_ID" since="30"/>
+		<field name="COLUMN_START_TIME_UTC_MILLIS"/>
+		<field name="COLUMN_THUMBNAIL_URI"/>
+		<field name="COLUMN_TITLE"/>
+		<field name="COLUMN_VERSION_NUMBER"/>
+		<field name="COLUMN_VIDEO_HEIGHT"/>
+		<field name="COLUMN_VIDEO_WIDTH"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="REVIEW_RATING_STYLE_PERCENTAGE" since="26"/>
+		<field name="REVIEW_RATING_STYLE_STARS" since="26"/>
+		<field name="REVIEW_RATING_STYLE_THUMBS_UP_DOWN" since="26"/>
+	</class>
+	<class name="android/media/tv/TvContract$Programs$Genres" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="decode(Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="encode([Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="isCanonical(Ljava/lang/String;)Z" since="24"/>
+		<field name="ANIMAL_WILDLIFE"/>
+		<field name="ARTS" since="22"/>
+		<field name="COMEDY"/>
+		<field name="DRAMA"/>
+		<field name="EDUCATION"/>
+		<field name="ENTERTAINMENT" since="22"/>
+		<field name="FAMILY_KIDS"/>
+		<field name="GAMING"/>
+		<field name="LIFE_STYLE" since="22"/>
+		<field name="MOVIES"/>
+		<field name="MUSIC" since="22"/>
+		<field name="NEWS"/>
+		<field name="PREMIER" since="22"/>
+		<field name="SHOPPING"/>
+		<field name="SPORTS"/>
+		<field name="TECH_SCIENCE" since="22"/>
+		<field name="TRAVEL"/>
+	</class>
+	<class name="android/media/tv/TvContract$RecordedPrograms" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/tv/TvContract$BaseTvColumns"/>
+		<field name="COLUMN_AUDIO_LANGUAGE"/>
+		<field name="COLUMN_BROADCAST_GENRE"/>
+		<field name="COLUMN_CANONICAL_GENRE"/>
+		<field name="COLUMN_CHANNEL_ID"/>
+		<field name="COLUMN_CONTENT_RATING"/>
+		<field name="COLUMN_END_TIME_UTC_MILLIS"/>
+		<field name="COLUMN_EPISODE_DISPLAY_NUMBER"/>
+		<field name="COLUMN_EPISODE_TITLE"/>
+		<field name="COLUMN_INPUT_ID"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_DATA"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG1"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG2"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG3"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG4"/>
+		<field name="COLUMN_LONG_DESCRIPTION"/>
+		<field name="COLUMN_POSTER_ART_URI"/>
+		<field name="COLUMN_RECORDING_DATA_BYTES"/>
+		<field name="COLUMN_RECORDING_DATA_URI"/>
+		<field name="COLUMN_RECORDING_DURATION_MILLIS"/>
+		<field name="COLUMN_RECORDING_EXPIRE_TIME_UTC_MILLIS"/>
+		<field name="COLUMN_REVIEW_RATING" since="26"/>
+		<field name="COLUMN_REVIEW_RATING_STYLE" since="26"/>
+		<field name="COLUMN_SEARCHABLE"/>
+		<field name="COLUMN_SEASON_DISPLAY_NUMBER"/>
+		<field name="COLUMN_SEASON_TITLE"/>
+		<field name="COLUMN_SERIES_ID" since="29"/>
+		<field name="COLUMN_SHORT_DESCRIPTION"/>
+		<field name="COLUMN_SPLIT_ID" since="30"/>
+		<field name="COLUMN_START_TIME_UTC_MILLIS"/>
+		<field name="COLUMN_THUMBNAIL_URI"/>
+		<field name="COLUMN_TITLE"/>
+		<field name="COLUMN_VERSION_NUMBER"/>
+		<field name="COLUMN_VIDEO_HEIGHT"/>
+		<field name="COLUMN_VIDEO_WIDTH"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="REVIEW_RATING_STYLE_PERCENTAGE" since="26"/>
+		<field name="REVIEW_RATING_STYLE_STARS" since="26"/>
+		<field name="REVIEW_RATING_STYLE_THUMBS_UP_DOWN" since="26"/>
+	</class>
+	<class name="android/media/tv/TvContract$WatchNextPrograms" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/media/tv/TvContract$BaseTvColumns"/>
+		<field name="ASPECT_RATIO_16_9"/>
+		<field name="ASPECT_RATIO_1_1"/>
+		<field name="ASPECT_RATIO_2_3"/>
+		<field name="ASPECT_RATIO_3_2"/>
+		<field name="ASPECT_RATIO_4_3"/>
+		<field name="AVAILABILITY_AVAILABLE"/>
+		<field name="AVAILABILITY_FREE_WITH_SUBSCRIPTION"/>
+		<field name="AVAILABILITY_PAID_CONTENT"/>
+		<field name="COLUMN_AUDIO_LANGUAGE"/>
+		<field name="COLUMN_AUTHOR"/>
+		<field name="COLUMN_AVAILABILITY"/>
+		<field name="COLUMN_BROWSABLE"/>
+		<field name="COLUMN_CANONICAL_GENRE"/>
+		<field name="COLUMN_CONTENT_ID"/>
+		<field name="COLUMN_CONTENT_RATING"/>
+		<field name="COLUMN_DURATION_MILLIS"/>
+		<field name="COLUMN_EPISODE_DISPLAY_NUMBER"/>
+		<field name="COLUMN_EPISODE_TITLE"/>
+		<field name="COLUMN_INTENT_URI"/>
+		<field name="COLUMN_INTERACTION_COUNT"/>
+		<field name="COLUMN_INTERACTION_TYPE"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_DATA"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG1"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG2"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG3"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_FLAG4"/>
+		<field name="COLUMN_INTERNAL_PROVIDER_ID"/>
+		<field name="COLUMN_ITEM_COUNT"/>
+		<field name="COLUMN_LAST_ENGAGEMENT_TIME_UTC_MILLIS"/>
+		<field name="COLUMN_LAST_PLAYBACK_POSITION_MILLIS"/>
+		<field name="COLUMN_LIVE"/>
+		<field name="COLUMN_LOGO_URI"/>
+		<field name="COLUMN_LONG_DESCRIPTION"/>
+		<field name="COLUMN_OFFER_PRICE"/>
+		<field name="COLUMN_POSTER_ART_ASPECT_RATIO"/>
+		<field name="COLUMN_POSTER_ART_URI"/>
+		<field name="COLUMN_PREVIEW_VIDEO_URI"/>
+		<field name="COLUMN_RELEASE_DATE"/>
+		<field name="COLUMN_REVIEW_RATING"/>
+		<field name="COLUMN_REVIEW_RATING_STYLE"/>
+		<field name="COLUMN_SEARCHABLE"/>
+		<field name="COLUMN_SEASON_DISPLAY_NUMBER"/>
+		<field name="COLUMN_SEASON_TITLE"/>
+		<field name="COLUMN_SERIES_ID" since="29"/>
+		<field name="COLUMN_SHORT_DESCRIPTION"/>
+		<field name="COLUMN_SPLIT_ID" since="30"/>
+		<field name="COLUMN_STARTING_PRICE"/>
+		<field name="COLUMN_THUMBNAIL_ASPECT_RATIO"/>
+		<field name="COLUMN_THUMBNAIL_URI"/>
+		<field name="COLUMN_TITLE"/>
+		<field name="COLUMN_TRANSIENT"/>
+		<field name="COLUMN_TYPE"/>
+		<field name="COLUMN_VERSION_NUMBER"/>
+		<field name="COLUMN_VIDEO_HEIGHT"/>
+		<field name="COLUMN_VIDEO_WIDTH"/>
+		<field name="COLUMN_WATCH_NEXT_TYPE"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="INTERACTION_TYPE_FANS"/>
+		<field name="INTERACTION_TYPE_FOLLOWERS"/>
+		<field name="INTERACTION_TYPE_LIKES"/>
+		<field name="INTERACTION_TYPE_LISTENS"/>
+		<field name="INTERACTION_TYPE_THUMBS"/>
+		<field name="INTERACTION_TYPE_VIEWERS"/>
+		<field name="INTERACTION_TYPE_VIEWS"/>
+		<field name="REVIEW_RATING_STYLE_PERCENTAGE"/>
+		<field name="REVIEW_RATING_STYLE_STARS"/>
+		<field name="REVIEW_RATING_STYLE_THUMBS_UP_DOWN"/>
+		<field name="TYPE_ALBUM"/>
+		<field name="TYPE_ARTIST"/>
+		<field name="TYPE_CHANNEL"/>
+		<field name="TYPE_CLIP"/>
+		<field name="TYPE_EVENT"/>
+		<field name="TYPE_MOVIE"/>
+		<field name="TYPE_PLAYLIST"/>
+		<field name="TYPE_STATION"/>
+		<field name="TYPE_TRACK"/>
+		<field name="TYPE_TV_EPISODE"/>
+		<field name="TYPE_TV_SEASON"/>
+		<field name="TYPE_TV_SERIES"/>
+		<field name="WATCH_NEXT_TYPE_CONTINUE"/>
+		<field name="WATCH_NEXT_TYPE_NEW"/>
+		<field name="WATCH_NEXT_TYPE_NEXT"/>
+		<field name="WATCH_NEXT_TYPE_WATCHLIST"/>
+	</class>
+	<class name="android/media/tv/TvInputInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="canPauseRecording()Z" since="31"/>
+		<method name="canRecord()Z" since="24"/>
+		<method name="createSettingsIntent()Landroid/content/Intent;" deprecated="26"/>
+		<method name="createSetupIntent()Landroid/content/Intent;"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="24"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getParentId()Ljava/lang/String;"/>
+		<method name="getServiceInfo()Landroid/content/pm/ServiceInfo;"/>
+		<method name="getTunerCount()I" since="24"/>
+		<method name="getType()I"/>
+		<method name="isHidden(Landroid/content/Context;)Z" since="24"/>
+		<method name="isPassthroughInput()Z"/>
+		<method name="loadCustomLabel(Landroid/content/Context;)Ljava/lang/CharSequence;" since="24"/>
+		<method name="loadIcon(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="loadLabel(Landroid/content/Context;)Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_INPUT_ID"/>
+		<field name="TYPE_COMPONENT"/>
+		<field name="TYPE_COMPOSITE"/>
+		<field name="TYPE_DISPLAY_PORT"/>
+		<field name="TYPE_DVI"/>
+		<field name="TYPE_HDMI"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_SCART"/>
+		<field name="TYPE_SVIDEO"/>
+		<field name="TYPE_TUNER"/>
+		<field name="TYPE_VGA"/>
+	</class>
+	<class name="android/media/tv/TvInputInfo$Builder" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/content/ComponentName;)V"/>
+		<method name="build()Landroid/media/tv/TvInputInfo;"/>
+		<method name="setCanPauseRecording(Z)Landroid/media/tv/TvInputInfo$Builder;" since="31"/>
+		<method name="setCanRecord(Z)Landroid/media/tv/TvInputInfo$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/media/tv/TvInputInfo$Builder;"/>
+		<method name="setTunerCount(I)Landroid/media/tv/TvInputInfo$Builder;"/>
+	</class>
+	<class name="android/media/tv/TvInputManager" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getBlockedRatings()Ljava/util/List;" since="28"/>
+		<method name="getInputState(Ljava/lang/String;)I"/>
+		<method name="getTvInputInfo(Ljava/lang/String;)Landroid/media/tv/TvInputInfo;"/>
+		<method name="getTvInputList()Ljava/util/List;"/>
+		<method name="isParentalControlsEnabled()Z"/>
+		<method name="isRatingBlocked(Landroid/media/tv/TvContentRating;)Z"/>
+		<method name="registerCallback(Landroid/media/tv/TvInputManager$TvInputCallback;Landroid/os/Handler;)V"/>
+		<method name="unregisterCallback(Landroid/media/tv/TvInputManager$TvInputCallback;)V"/>
+		<method name="updateTvInputInfo(Landroid/media/tv/TvInputInfo;)V" since="24"/>
+		<field name="ACTION_BLOCKED_RATINGS_CHANGED"/>
+		<field name="ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED"/>
+		<field name="ACTION_QUERY_CONTENT_RATING_SYSTEMS"/>
+		<field name="ACTION_SETUP_INPUTS" since="24"/>
+		<field name="ACTION_VIEW_RECORDING_SCHEDULES" since="26"/>
+		<field name="INPUT_STATE_CONNECTED"/>
+		<field name="INPUT_STATE_CONNECTED_STANDBY"/>
+		<field name="INPUT_STATE_DISCONNECTED"/>
+		<field name="META_DATA_CONTENT_RATING_SYSTEMS"/>
+		<field name="RECORDING_ERROR_INSUFFICIENT_SPACE" since="24"/>
+		<field name="RECORDING_ERROR_RESOURCE_BUSY" since="24"/>
+		<field name="RECORDING_ERROR_UNKNOWN" since="24"/>
+		<field name="TIME_SHIFT_INVALID_TIME" since="23"/>
+		<field name="TIME_SHIFT_STATUS_AVAILABLE" since="23"/>
+		<field name="TIME_SHIFT_STATUS_UNAVAILABLE" since="23"/>
+		<field name="TIME_SHIFT_STATUS_UNKNOWN" since="23"/>
+		<field name="TIME_SHIFT_STATUS_UNSUPPORTED" since="23"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_AUDIO_ONLY" since="23"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_BUFFERING"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_INSUFFICIENT_OUTPUT_PROTECTION" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_LICENSE_EXPIRED" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_PVR_RECORDING_NOT_ALLOWED" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_NOT_CONNECTED" since="30"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_TUNING"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_UNKNOWN"/>
+		<field name="VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL"/>
+	</class>
+	<class name="android/media/tv/TvInputManager$TvInputCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onInputAdded(Ljava/lang/String;)V"/>
+		<method name="onInputRemoved(Ljava/lang/String;)V"/>
+		<method name="onInputStateChanged(Ljava/lang/String;I)V"/>
+		<method name="onInputUpdated(Ljava/lang/String;)V" since="24"/>
+		<method name="onTvInputInfoUpdated(Landroid/media/tv/TvInputInfo;)V" since="24"/>
+	</class>
+	<class name="android/media/tv/TvInputService" since="21">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCreateRecordingSession(Ljava/lang/String;)Landroid/media/tv/TvInputService$RecordingSession;" since="24"/>
+		<method name="onCreateRecordingSession(Ljava/lang/String;Ljava/lang/String;)Landroid/media/tv/TvInputService$RecordingSession;" since="30"/>
+		<method name="onCreateSession(Ljava/lang/String;)Landroid/media/tv/TvInputService$Session;"/>
+		<method name="onCreateSession(Ljava/lang/String;Ljava/lang/String;)Landroid/media/tv/TvInputService$Session;" since="30"/>
+		<field name="PRIORITY_HINT_USE_CASE_TYPE_BACKGROUND" since="30"/>
+		<field name="PRIORITY_HINT_USE_CASE_TYPE_LIVE" since="30"/>
+		<field name="PRIORITY_HINT_USE_CASE_TYPE_PLAYBACK" since="30"/>
+		<field name="PRIORITY_HINT_USE_CASE_TYPE_RECORD" since="30"/>
+		<field name="PRIORITY_HINT_USE_CASE_TYPE_SCAN" since="30"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/media/tv/TvInputService$HardwareSession" since="21">
+		<extends name="android/media/tv/TvInputService$Session"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="getHardwareInputId()Ljava/lang/String;"/>
+		<method name="onHardwareVideoAvailable()V"/>
+		<method name="onHardwareVideoUnavailable(I)V"/>
+	</class>
+	<class name="android/media/tv/TvInputService$RecordingSession" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="notifyError(I)V"/>
+		<method name="notifyRecordingStopped(Landroid/net/Uri;)V"/>
+		<method name="notifyTuned(Landroid/net/Uri;)V"/>
+		<method name="onAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="onPauseRecording(Landroid/os/Bundle;)V" since="31"/>
+		<method name="onRelease()V"/>
+		<method name="onResumeRecording(Landroid/os/Bundle;)V" since="31"/>
+		<method name="onStartRecording(Landroid/net/Uri;)V"/>
+		<method name="onStartRecording(Landroid/net/Uri;Landroid/os/Bundle;)V" since="30"/>
+		<method name="onStopRecording()V"/>
+		<method name="onTune(Landroid/net/Uri;)V"/>
+		<method name="onTune(Landroid/net/Uri;Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/media/tv/TvInputService$Session" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/KeyEvent$Callback"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="layoutSurface(IIII)V" since="23"/>
+		<method name="notifyChannelRetuned(Landroid/net/Uri;)V"/>
+		<method name="notifyContentAllowed()V"/>
+		<method name="notifyContentBlocked(Landroid/media/tv/TvContentRating;)V"/>
+		<method name="notifyTimeShiftStatusChanged(I)V" since="23"/>
+		<method name="notifyTrackSelected(ILjava/lang/String;)V"/>
+		<method name="notifyTracksChanged(Ljava/util/List;)V"/>
+		<method name="notifyVideoAvailable()V"/>
+		<method name="notifyVideoUnavailable(I)V"/>
+		<method name="onAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V" since="24"/>
+		<method name="onCreateOverlayView()Landroid/view/View;"/>
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onOverlayViewSizeChanged(II)V" since="23"/>
+		<method name="onRelease()V"/>
+		<method name="onSelectTrack(ILjava/lang/String;)Z"/>
+		<method name="onSetCaptionEnabled(Z)V"/>
+		<method name="onSetStreamVolume(F)V"/>
+		<method name="onSetSurface(Landroid/view/Surface;)Z"/>
+		<method name="onSurfaceChanged(III)V"/>
+		<method name="onTimeShiftGetCurrentPosition()J" since="23"/>
+		<method name="onTimeShiftGetStartPosition()J" since="23"/>
+		<method name="onTimeShiftPause()V" since="23"/>
+		<method name="onTimeShiftPlay(Landroid/net/Uri;)V" since="24"/>
+		<method name="onTimeShiftResume()V" since="23"/>
+		<method name="onTimeShiftSeekTo(J)V" since="23"/>
+		<method name="onTimeShiftSetPlaybackParams(Landroid/media/PlaybackParams;)V" since="23"/>
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onTune(Landroid/net/Uri;)Z"/>
+		<method name="onTune(Landroid/net/Uri;Landroid/os/Bundle;)Z" since="24"/>
+		<method name="onUnblockContent(Landroid/media/tv/TvContentRating;)V"/>
+		<method name="setOverlayViewEnabled(Z)V"/>
+	</class>
+	<class name="android/media/tv/TvRecordingClient" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;Landroid/media/tv/TvRecordingClient$RecordingCallback;Landroid/os/Handler;)V"/>
+		<method name="pauseRecording()V" since="31"/>
+		<method name="pauseRecording(Landroid/os/Bundle;)V" since="31"/>
+		<method name="release()V"/>
+		<method name="resumeRecording()V" since="31"/>
+		<method name="resumeRecording(Landroid/os/Bundle;)V" since="31"/>
+		<method name="sendAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="startRecording(Landroid/net/Uri;)V"/>
+		<method name="startRecording(Landroid/net/Uri;Landroid/os/Bundle;)V" since="30"/>
+		<method name="stopRecording()V"/>
+		<method name="tune(Ljava/lang/String;Landroid/net/Uri;)V"/>
+		<method name="tune(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/media/tv/TvRecordingClient$RecordingCallback" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onConnectionFailed(Ljava/lang/String;)V"/>
+		<method name="onDisconnected(Ljava/lang/String;)V"/>
+		<method name="onError(I)V"/>
+		<method name="onRecordingStopped(Landroid/net/Uri;)V"/>
+		<method name="onTuned(Landroid/net/Uri;)V"/>
+	</class>
+	<class name="android/media/tv/TvTrackInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAudioChannelCount()I"/>
+		<method name="getAudioSampleRate()I"/>
+		<method name="getDescription()Ljava/lang/CharSequence;" since="23"/>
+		<method name="getEncoding()Ljava/lang/String;" since="30"/>
+		<method name="getExtra()Landroid/os/Bundle;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getLanguage()Ljava/lang/String;"/>
+		<method name="getType()I"/>
+		<method name="getVideoActiveFormatDescription()B" since="24"/>
+		<method name="getVideoFrameRate()F"/>
+		<method name="getVideoHeight()I"/>
+		<method name="getVideoPixelAspectRatio()F" since="23"/>
+		<method name="getVideoWidth()I"/>
+		<method name="isAudioDescription()Z" since="30"/>
+		<method name="isEncrypted()Z" since="30"/>
+		<method name="isHardOfHearing()Z" since="30"/>
+		<method name="isSpokenSubtitle()Z" since="30"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_AUDIO"/>
+		<field name="TYPE_SUBTITLE"/>
+		<field name="TYPE_VIDEO"/>
+	</class>
+	<class name="android/media/tv/TvTrackInfo$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+		<method name="build()Landroid/media/tv/TvTrackInfo;"/>
+		<method name="setAudioChannelCount(I)Landroid/media/tv/TvTrackInfo$Builder;"/>
+		<method name="setAudioDescription(Z)Landroid/media/tv/TvTrackInfo$Builder;" since="30"/>
+		<method name="setAudioSampleRate(I)Landroid/media/tv/TvTrackInfo$Builder;"/>
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/media/tv/TvTrackInfo$Builder;" since="23"/>
+		<method name="setEncoding(Ljava/lang/String;)Landroid/media/tv/TvTrackInfo$Builder;" since="30"/>
+		<method name="setEncrypted(Z)Landroid/media/tv/TvTrackInfo$Builder;" since="30"/>
+		<method name="setExtra(Landroid/os/Bundle;)Landroid/media/tv/TvTrackInfo$Builder;"/>
+		<method name="setHardOfHearing(Z)Landroid/media/tv/TvTrackInfo$Builder;" since="30"/>
+		<method name="setLanguage(Ljava/lang/String;)Landroid/media/tv/TvTrackInfo$Builder;"/>
+		<method name="setSpokenSubtitle(Z)Landroid/media/tv/TvTrackInfo$Builder;" since="30"/>
+		<method name="setVideoActiveFormatDescription(B)Landroid/media/tv/TvTrackInfo$Builder;" since="24"/>
+		<method name="setVideoFrameRate(F)Landroid/media/tv/TvTrackInfo$Builder;"/>
+		<method name="setVideoHeight(I)Landroid/media/tv/TvTrackInfo$Builder;"/>
+		<method name="setVideoPixelAspectRatio(F)Landroid/media/tv/TvTrackInfo$Builder;" since="23"/>
+		<method name="setVideoWidth(I)Landroid/media/tv/TvTrackInfo$Builder;"/>
+	</class>
+	<class name="android/media/tv/TvView" since="21">
+		<extends name="android/view/ViewGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="dispatchUnhandledInputEvent(Landroid/view/InputEvent;)Z"/>
+		<method name="getSelectedTrack(I)Ljava/lang/String;"/>
+		<method name="getTracks(I)Ljava/util/List;"/>
+		<method name="onUnhandledInputEvent(Landroid/view/InputEvent;)Z"/>
+		<method name="reset()V"/>
+		<method name="selectTrack(ILjava/lang/String;)V"/>
+		<method name="sendAppPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V" since="24"/>
+		<method name="setCallback(Landroid/media/tv/TvView$TvInputCallback;)V"/>
+		<method name="setCaptionEnabled(Z)V"/>
+		<method name="setOnUnhandledInputEventListener(Landroid/media/tv/TvView$OnUnhandledInputEventListener;)V"/>
+		<method name="setStreamVolume(F)V"/>
+		<method name="setTimeShiftPositionCallback(Landroid/media/tv/TvView$TimeShiftPositionCallback;)V" since="23"/>
+		<method name="setZOrderMediaOverlay(Z)V" since="24"/>
+		<method name="setZOrderOnTop(Z)V" since="24"/>
+		<method name="timeShiftPause()V" since="23"/>
+		<method name="timeShiftPlay(Ljava/lang/String;Landroid/net/Uri;)V" since="24"/>
+		<method name="timeShiftResume()V" since="23"/>
+		<method name="timeShiftSeekTo(J)V" since="23"/>
+		<method name="timeShiftSetPlaybackParams(Landroid/media/PlaybackParams;)V" since="23"/>
+		<method name="tune(Ljava/lang/String;Landroid/net/Uri;)V"/>
+		<method name="tune(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)V" since="24"/>
+	</class>
+	<class name="android/media/tv/TvView$OnUnhandledInputEventListener" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="onUnhandledInputEvent(Landroid/view/InputEvent;)Z"/>
+	</class>
+	<class name="android/media/tv/TvView$TimeShiftPositionCallback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onTimeShiftCurrentPositionChanged(Ljava/lang/String;J)V"/>
+		<method name="onTimeShiftStartPositionChanged(Ljava/lang/String;J)V"/>
+	</class>
+	<class name="android/media/tv/TvView$TvInputCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onChannelRetuned(Ljava/lang/String;Landroid/net/Uri;)V"/>
+		<method name="onConnectionFailed(Ljava/lang/String;)V"/>
+		<method name="onContentAllowed(Ljava/lang/String;)V"/>
+		<method name="onContentBlocked(Ljava/lang/String;Landroid/media/tv/TvContentRating;)V"/>
+		<method name="onDisconnected(Ljava/lang/String;)V"/>
+		<method name="onTimeShiftStatusChanged(Ljava/lang/String;I)V" since="23"/>
+		<method name="onTrackSelected(Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="onTracksChanged(Ljava/lang/String;Ljava/util/List;)V"/>
+		<method name="onVideoAvailable(Ljava/lang/String;)V"/>
+		<method name="onVideoSizeChanged(Ljava/lang/String;II)V"/>
+		<method name="onVideoUnavailable(Ljava/lang/String;I)V"/>
+	</class>
+	<class name="android/mtp/MtpConstants" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="isAbstractObject(I)Z"/>
+		<field name="ASSOCIATION_TYPE_GENERIC_FOLDER"/>
+		<field name="FORMAT_3GP_CONTAINER"/>
+		<field name="FORMAT_AAC"/>
+		<field name="FORMAT_ABSTRACT_AUDIO_ALBUM"/>
+		<field name="FORMAT_ABSTRACT_AUDIO_PLAYLIST"/>
+		<field name="FORMAT_ABSTRACT_AV_PLAYLIST"/>
+		<field name="FORMAT_ABSTRACT_DOCUMENT"/>
+		<field name="FORMAT_ABSTRACT_IMAGE_ALBUM"/>
+		<field name="FORMAT_ABSTRACT_MEDIACAST"/>
+		<field name="FORMAT_ABSTRACT_MULTIMEDIA_ALBUM"/>
+		<field name="FORMAT_ABSTRACT_VIDEO_ALBUM"/>
+		<field name="FORMAT_ABSTRACT_VIDEO_PLAYLIST"/>
+		<field name="FORMAT_AIFF"/>
+		<field name="FORMAT_ASF"/>
+		<field name="FORMAT_ASSOCIATION"/>
+		<field name="FORMAT_ASX_PLAYLIST"/>
+		<field name="FORMAT_AUDIBLE"/>
+		<field name="FORMAT_AVI"/>
+		<field name="FORMAT_BMP"/>
+		<field name="FORMAT_DEFINED" since="24"/>
+		<field name="FORMAT_DNG" since="24"/>
+		<field name="FORMAT_DPOF"/>
+		<field name="FORMAT_EXECUTABLE"/>
+		<field name="FORMAT_EXIF_JPEG"/>
+		<field name="FORMAT_FLAC"/>
+		<field name="FORMAT_GIF"/>
+		<field name="FORMAT_HTML"/>
+		<field name="FORMAT_JFIF"/>
+		<field name="FORMAT_JP2"/>
+		<field name="FORMAT_JPX"/>
+		<field name="FORMAT_M3U_PLAYLIST"/>
+		<field name="FORMAT_MP2"/>
+		<field name="FORMAT_MP3"/>
+		<field name="FORMAT_MP4_CONTAINER"/>
+		<field name="FORMAT_MPEG"/>
+		<field name="FORMAT_MPL_PLAYLIST"/>
+		<field name="FORMAT_MS_EXCEL_SPREADSHEET"/>
+		<field name="FORMAT_MS_POWERPOINT_PRESENTATION"/>
+		<field name="FORMAT_MS_WORD_DOCUMENT"/>
+		<field name="FORMAT_OGG"/>
+		<field name="FORMAT_PICT"/>
+		<field name="FORMAT_PLS_PLAYLIST"/>
+		<field name="FORMAT_PNG"/>
+		<field name="FORMAT_SCRIPT"/>
+		<field name="FORMAT_TEXT"/>
+		<field name="FORMAT_TIFF"/>
+		<field name="FORMAT_TIFF_EP"/>
+		<field name="FORMAT_UNDEFINED"/>
+		<field name="FORMAT_UNDEFINED_AUDIO"/>
+		<field name="FORMAT_UNDEFINED_COLLECTION"/>
+		<field name="FORMAT_UNDEFINED_DOCUMENT"/>
+		<field name="FORMAT_UNDEFINED_FIRMWARE"/>
+		<field name="FORMAT_UNDEFINED_VIDEO"/>
+		<field name="FORMAT_WAV"/>
+		<field name="FORMAT_WINDOWS_IMAGE_FORMAT"/>
+		<field name="FORMAT_WMA"/>
+		<field name="FORMAT_WMV"/>
+		<field name="FORMAT_WPL_PLAYLIST"/>
+		<field name="FORMAT_XML_DOCUMENT"/>
+		<field name="OPERATION_CLOSE_SESSION" since="24"/>
+		<field name="OPERATION_COPY_OBJECT" since="24"/>
+		<field name="OPERATION_DELETE_OBJECT" since="24"/>
+		<field name="OPERATION_FORMAT_STORE" since="24"/>
+		<field name="OPERATION_GET_DEVICE_INFO" since="24"/>
+		<field name="OPERATION_GET_DEVICE_PROP_DESC" since="24"/>
+		<field name="OPERATION_GET_DEVICE_PROP_VALUE" since="24"/>
+		<field name="OPERATION_GET_NUM_OBJECTS" since="24"/>
+		<field name="OPERATION_GET_OBJECT" since="24"/>
+		<field name="OPERATION_GET_OBJECT_HANDLES" since="24"/>
+		<field name="OPERATION_GET_OBJECT_INFO" since="24"/>
+		<field name="OPERATION_GET_OBJECT_PROPS_SUPPORTED" since="24"/>
+		<field name="OPERATION_GET_OBJECT_PROP_DESC" since="24"/>
+		<field name="OPERATION_GET_OBJECT_PROP_VALUE" since="24"/>
+		<field name="OPERATION_GET_OBJECT_REFERENCES" since="24"/>
+		<field name="OPERATION_GET_PARTIAL_OBJECT" since="24"/>
+		<field name="OPERATION_GET_PARTIAL_OBJECT_64" since="24"/>
+		<field name="OPERATION_GET_STORAGE_INFO" since="24"/>
+		<field name="OPERATION_GET_STORAGE_I_DS" since="24"/>
+		<field name="OPERATION_GET_THUMB" since="24"/>
+		<field name="OPERATION_INITIATE_CAPTURE" since="24"/>
+		<field name="OPERATION_INITIATE_OPEN_CAPTURE" since="24"/>
+		<field name="OPERATION_MOVE_OBJECT" since="24"/>
+		<field name="OPERATION_OPEN_SESSION" since="24"/>
+		<field name="OPERATION_POWER_DOWN" since="24"/>
+		<field name="OPERATION_RESET_DEVICE" since="24"/>
+		<field name="OPERATION_RESET_DEVICE_PROP_VALUE" since="24"/>
+		<field name="OPERATION_SELF_TEST" since="24"/>
+		<field name="OPERATION_SEND_OBJECT" since="24"/>
+		<field name="OPERATION_SEND_OBJECT_INFO" since="24"/>
+		<field name="OPERATION_SET_DEVICE_PROP_VALUE" since="24"/>
+		<field name="OPERATION_SET_OBJECT_PROP_VALUE" since="24"/>
+		<field name="OPERATION_SET_OBJECT_PROTECTION" since="24"/>
+		<field name="OPERATION_SET_OBJECT_REFERENCES" since="24"/>
+		<field name="OPERATION_SKIP" since="24"/>
+		<field name="OPERATION_TERMINATE_OPEN_CAPTURE" since="24"/>
+		<field name="PROTECTION_STATUS_NONE"/>
+		<field name="PROTECTION_STATUS_NON_TRANSFERABLE_DATA"/>
+		<field name="PROTECTION_STATUS_READ_ONLY"/>
+		<field name="PROTECTION_STATUS_READ_ONLY_DATA"/>
+	</class>
+	<class name="android/mtp/MtpDevice" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/hardware/usb/UsbDevice;)V"/>
+		<method name="close()V"/>
+		<method name="deleteObject(I)Z"/>
+		<method name="getDeviceId()I"/>
+		<method name="getDeviceInfo()Landroid/mtp/MtpDeviceInfo;"/>
+		<method name="getDeviceName()Ljava/lang/String;"/>
+		<method name="getObject(II)[B"/>
+		<method name="getObjectHandles(III)[I"/>
+		<method name="getObjectInfo(I)Landroid/mtp/MtpObjectInfo;"/>
+		<method name="getParent(I)J"/>
+		<method name="getPartialObject(IJJ[B)J" since="24"/>
+		<method name="getPartialObject64(IJJ[B)J" since="24"/>
+		<method name="getStorageId(I)J"/>
+		<method name="getStorageIds()[I"/>
+		<method name="getStorageInfo(I)Landroid/mtp/MtpStorageInfo;"/>
+		<method name="getThumbnail(I)[B"/>
+		<method name="importFile(ILandroid/os/ParcelFileDescriptor;)Z" since="24"/>
+		<method name="importFile(ILjava/lang/String;)Z"/>
+		<method name="open(Landroid/hardware/usb/UsbDeviceConnection;)Z"/>
+		<method name="readEvent(Landroid/os/CancellationSignal;)Landroid/mtp/MtpEvent;" since="24"/>
+		<method name="sendObject(IJLandroid/os/ParcelFileDescriptor;)Z" since="24"/>
+		<method name="sendObjectInfo(Landroid/mtp/MtpObjectInfo;)Landroid/mtp/MtpObjectInfo;" since="24"/>
+	</class>
+	<class name="android/mtp/MtpDeviceInfo" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="getEventsSupported()[I" since="24"/>
+		<method name="getManufacturer()Ljava/lang/String;"/>
+		<method name="getModel()Ljava/lang/String;"/>
+		<method name="getOperationsSupported()[I" since="24"/>
+		<method name="getSerialNumber()Ljava/lang/String;"/>
+		<method name="getVersion()Ljava/lang/String;"/>
+		<method name="isEventSupported(I)Z" since="24"/>
+		<method name="isOperationSupported(I)Z" since="24"/>
+	</class>
+	<class name="android/mtp/MtpEvent" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getDevicePropCode()I"/>
+		<method name="getEventCode()I"/>
+		<method name="getObjectFormatCode()I"/>
+		<method name="getObjectHandle()I"/>
+		<method name="getObjectPropCode()I"/>
+		<method name="getParameter1()I"/>
+		<method name="getParameter2()I"/>
+		<method name="getParameter3()I"/>
+		<method name="getStorageId()I"/>
+		<method name="getTransactionId()I"/>
+		<field name="EVENT_CANCEL_TRANSACTION"/>
+		<field name="EVENT_CAPTURE_COMPLETE"/>
+		<field name="EVENT_DEVICE_INFO_CHANGED"/>
+		<field name="EVENT_DEVICE_PROP_CHANGED"/>
+		<field name="EVENT_DEVICE_RESET"/>
+		<field name="EVENT_OBJECT_ADDED"/>
+		<field name="EVENT_OBJECT_INFO_CHANGED"/>
+		<field name="EVENT_OBJECT_PROP_CHANGED"/>
+		<field name="EVENT_OBJECT_PROP_DESC_CHANGED"/>
+		<field name="EVENT_OBJECT_REFERENCES_CHANGED"/>
+		<field name="EVENT_OBJECT_REMOVED"/>
+		<field name="EVENT_REQUEST_OBJECT_TRANSFER"/>
+		<field name="EVENT_STORAGE_INFO_CHANGED"/>
+		<field name="EVENT_STORE_ADDED"/>
+		<field name="EVENT_STORE_FULL"/>
+		<field name="EVENT_STORE_REMOVED"/>
+		<field name="EVENT_UNDEFINED"/>
+		<field name="EVENT_UNREPORTED_STATUS"/>
+	</class>
+	<class name="android/mtp/MtpObjectInfo" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="getAssociationDesc()I"/>
+		<method name="getAssociationType()I"/>
+		<method name="getCompressedSize()I"/>
+		<method name="getCompressedSizeLong()J" since="24"/>
+		<method name="getDateCreated()J"/>
+		<method name="getDateModified()J"/>
+		<method name="getFormat()I"/>
+		<method name="getImagePixDepth()I"/>
+		<method name="getImagePixDepthLong()J" since="24"/>
+		<method name="getImagePixHeight()I"/>
+		<method name="getImagePixHeightLong()J" since="24"/>
+		<method name="getImagePixWidth()I"/>
+		<method name="getImagePixWidthLong()J" since="24"/>
+		<method name="getKeywords()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getObjectHandle()I"/>
+		<method name="getParent()I"/>
+		<method name="getProtectionStatus()I"/>
+		<method name="getSequenceNumber()I"/>
+		<method name="getSequenceNumberLong()J" since="24"/>
+		<method name="getStorageId()I"/>
+		<method name="getThumbCompressedSize()I"/>
+		<method name="getThumbCompressedSizeLong()J" since="24"/>
+		<method name="getThumbFormat()I"/>
+		<method name="getThumbPixHeight()I"/>
+		<method name="getThumbPixHeightLong()J" since="24"/>
+		<method name="getThumbPixWidth()I"/>
+		<method name="getThumbPixWidthLong()J" since="24"/>
+	</class>
+	<class name="android/mtp/MtpObjectInfo$Builder" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/mtp/MtpObjectInfo;)V"/>
+		<method name="build()Landroid/mtp/MtpObjectInfo;"/>
+		<method name="setAssociationDesc(I)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setAssociationType(I)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setCompressedSize(J)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setDateCreated(J)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setDateModified(J)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setFormat(I)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setImagePixDepth(J)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setImagePixHeight(J)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setImagePixWidth(J)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setKeywords(Ljava/lang/String;)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setName(Ljava/lang/String;)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setObjectHandle(I)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setParent(I)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setProtectionStatus(I)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setSequenceNumber(J)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setStorageId(I)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setThumbCompressedSize(J)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setThumbFormat(I)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setThumbPixHeight(J)Landroid/mtp/MtpObjectInfo$Builder;"/>
+		<method name="setThumbPixWidth(J)Landroid/mtp/MtpObjectInfo$Builder;"/>
+	</class>
+	<class name="android/mtp/MtpStorageInfo" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getFreeSpace()J"/>
+		<method name="getMaxCapacity()J"/>
+		<method name="getStorageId()I"/>
+		<method name="getVolumeIdentifier()Ljava/lang/String;"/>
+	</class>
+	<class name="android/net/CaptivePortal" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="ignoreNetwork()V"/>
+		<method name="reportCaptivePortalDismissed()V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/ConnectivityDiagnosticsManager" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="registerConnectivityDiagnosticsCallback(Landroid/net/NetworkRequest;Ljava/util/concurrent/Executor;Landroid/net/ConnectivityDiagnosticsManager$ConnectivityDiagnosticsCallback;)V"/>
+		<method name="unregisterConnectivityDiagnosticsCallback(Landroid/net/ConnectivityDiagnosticsManager$ConnectivityDiagnosticsCallback;)V"/>
+	</class>
+	<class name="android/net/ConnectivityDiagnosticsManager$ConnectivityDiagnosticsCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onConnectivityReportAvailable(Landroid/net/ConnectivityDiagnosticsManager$ConnectivityReport;)V"/>
+		<method name="onDataStallSuspected(Landroid/net/ConnectivityDiagnosticsManager$DataStallReport;)V"/>
+		<method name="onNetworkConnectivityReported(Landroid/net/Network;Z)V"/>
+	</class>
+	<class name="android/net/ConnectivityDiagnosticsManager$ConnectivityReport" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/net/Network;JLandroid/net/LinkProperties;Landroid/net/NetworkCapabilities;Landroid/os/PersistableBundle;)V"/>
+		<method name="getAdditionalInfo()Landroid/os/PersistableBundle;"/>
+		<method name="getLinkProperties()Landroid/net/LinkProperties;"/>
+		<method name="getNetwork()Landroid/net/Network;"/>
+		<method name="getNetworkCapabilities()Landroid/net/NetworkCapabilities;"/>
+		<method name="getReportTimestamp()J"/>
+		<field name="CREATOR"/>
+		<field name="KEY_NETWORK_PROBES_ATTEMPTED_BITMASK"/>
+		<field name="KEY_NETWORK_PROBES_SUCCEEDED_BITMASK"/>
+		<field name="KEY_NETWORK_VALIDATION_RESULT"/>
+		<field name="NETWORK_PROBE_DNS"/>
+		<field name="NETWORK_PROBE_FALLBACK"/>
+		<field name="NETWORK_PROBE_HTTP"/>
+		<field name="NETWORK_PROBE_HTTPS"/>
+		<field name="NETWORK_PROBE_PRIVATE_DNS"/>
+		<field name="NETWORK_VALIDATION_RESULT_INVALID"/>
+		<field name="NETWORK_VALIDATION_RESULT_PARTIALLY_VALID"/>
+		<field name="NETWORK_VALIDATION_RESULT_SKIPPED"/>
+		<field name="NETWORK_VALIDATION_RESULT_VALID"/>
+	</class>
+	<class name="android/net/ConnectivityDiagnosticsManager$DataStallReport" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/net/Network;JILandroid/net/LinkProperties;Landroid/net/NetworkCapabilities;Landroid/os/PersistableBundle;)V"/>
+		<method name="getDetectionMethod()I"/>
+		<method name="getLinkProperties()Landroid/net/LinkProperties;"/>
+		<method name="getNetwork()Landroid/net/Network;"/>
+		<method name="getNetworkCapabilities()Landroid/net/NetworkCapabilities;"/>
+		<method name="getReportTimestamp()J"/>
+		<method name="getStallDetails()Landroid/os/PersistableBundle;"/>
+		<field name="CREATOR"/>
+		<field name="DETECTION_METHOD_DNS_EVENTS"/>
+		<field name="DETECTION_METHOD_TCP_METRICS"/>
+		<field name="KEY_DNS_CONSECUTIVE_TIMEOUTS"/>
+		<field name="KEY_TCP_METRICS_COLLECTION_PERIOD_MILLIS"/>
+		<field name="KEY_TCP_PACKET_FAIL_RATE"/>
+	</class>
+	<class name="android/net/ConnectivityManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addDefaultNetworkActiveListener(Landroid/net/ConnectivityManager$OnNetworkActiveListener;)V" since="21"/>
+		<method name="bindProcessToNetwork(Landroid/net/Network;)Z" since="23"/>
+		<method name="createSocketKeepalive(Landroid/net/Network;Landroid/net/IpSecManager$UdpEncapsulationSocket;Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/util/concurrent/Executor;Landroid/net/SocketKeepalive$Callback;)Landroid/net/SocketKeepalive;" since="29"/>
+		<method name="getActiveNetwork()Landroid/net/Network;" since="23"/>
+		<method name="getActiveNetworkInfo()Landroid/net/NetworkInfo;" deprecated="29"/>
+		<method name="getAllNetworkInfo()[Landroid/net/NetworkInfo;" deprecated="23"/>
+		<method name="getAllNetworks()[Landroid/net/Network;" since="21" deprecated="31"/>
+		<method name="getBackgroundDataSetting()Z" since="3" deprecated="15"/>
+		<method name="getBoundNetworkForProcess()Landroid/net/Network;" since="23"/>
+		<method name="getConnectionOwnerUid(ILjava/net/InetSocketAddress;Ljava/net/InetSocketAddress;)I" since="29"/>
+		<method name="getDefaultProxy()Landroid/net/ProxyInfo;" since="23"/>
+		<method name="getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;" since="21"/>
+		<method name="getMultipathPreference(Landroid/net/Network;)I" since="26"/>
+		<method name="getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;" since="21"/>
+		<method name="getNetworkInfo(I)Landroid/net/NetworkInfo;" deprecated="23"/>
+		<method name="getNetworkInfo(Landroid/net/Network;)Landroid/net/NetworkInfo;" since="21" deprecated="29"/>
+		<method name="getNetworkPreference()I" deprecated="21"/>
+		<method name="getNetworkWatchlistConfigHash()[B" since="28"/>
+		<method name="getProcessDefaultNetwork()Landroid/net/Network;" since="21" deprecated="23"/>
+		<method name="getRestrictBackgroundStatus()I" since="24"/>
+		<method name="isActiveNetworkMetered()Z" since="16"/>
+		<method name="isDefaultNetworkActive()Z" since="21"/>
+		<method name="isNetworkTypeValid(I)Z" deprecated="23"/>
+		<method name="registerBestMatchingNetworkCallback(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V" since="31"/>
+		<method name="registerDefaultNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V" since="24"/>
+		<method name="registerDefaultNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V" since="26"/>
+		<method name="registerNetworkCallback(Landroid/net/NetworkRequest;Landroid/app/PendingIntent;)V" since="23"/>
+		<method name="registerNetworkCallback(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V" since="21"/>
+		<method name="registerNetworkCallback(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V" since="26"/>
+		<method name="releaseNetworkRequest(Landroid/app/PendingIntent;)V" since="22"/>
+		<method name="removeDefaultNetworkActiveListener(Landroid/net/ConnectivityManager$OnNetworkActiveListener;)V" since="21"/>
+		<method name="reportBadNetwork(Landroid/net/Network;)V" since="21" deprecated="23"/>
+		<method name="reportNetworkConnectivity(Landroid/net/Network;Z)V" since="23"/>
+		<method name="requestBandwidthUpdate(Landroid/net/Network;)Z" since="23"/>
+		<method name="requestNetwork(Landroid/net/NetworkRequest;Landroid/app/PendingIntent;)V" since="22"/>
+		<method name="requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V" since="21"/>
+		<method name="requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;I)V" since="26"/>
+		<method name="requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V" since="26"/>
+		<method name="requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;I)V" since="26"/>
+		<method name="requestRouteToHost(II)Z" deprecated="21" removed="26"/>
+		<method name="setNetworkPreference(I)V" deprecated="21"/>
+		<method name="setProcessDefaultNetwork(Landroid/net/Network;)Z" since="21" deprecated="23"/>
+		<method name="startUsingNetworkFeature(ILjava/lang/String;)I" deprecated="21" removed="26"/>
+		<method name="stopUsingNetworkFeature(ILjava/lang/String;)I" deprecated="21" removed="26"/>
+		<method name="unregisterNetworkCallback(Landroid/app/PendingIntent;)V" since="23"/>
+		<method name="unregisterNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V" since="21"/>
+		<field name="ACTION_BACKGROUND_DATA_SETTING_CHANGED" since="3" deprecated="16"/>
+		<field name="ACTION_CAPTIVE_PORTAL_SIGN_IN" since="23"/>
+		<field name="ACTION_RESTRICT_BACKGROUND_CHANGED" since="24"/>
+		<field name="CONNECTIVITY_ACTION" deprecated="28"/>
+		<field name="DEFAULT_NETWORK_PREFERENCE" deprecated="18"/>
+		<field name="EXTRA_CAPTIVE_PORTAL" since="23"/>
+		<field name="EXTRA_CAPTIVE_PORTAL_URL" since="24"/>
+		<field name="EXTRA_EXTRA_INFO" deprecated="29"/>
+		<field name="EXTRA_IS_FAILOVER" deprecated="29"/>
+		<field name="EXTRA_NETWORK" since="22"/>
+		<field name="EXTRA_NETWORK_INFO" deprecated="15"/>
+		<field name="EXTRA_NETWORK_REQUEST" since="22"/>
+		<field name="EXTRA_NETWORK_TYPE" since="17" deprecated="29"/>
+		<field name="EXTRA_NO_CONNECTIVITY"/>
+		<field name="EXTRA_OTHER_NETWORK_INFO" deprecated="29"/>
+		<field name="EXTRA_REASON"/>
+		<field name="MULTIPATH_PREFERENCE_HANDOVER" since="26"/>
+		<field name="MULTIPATH_PREFERENCE_PERFORMANCE" since="26"/>
+		<field name="MULTIPATH_PREFERENCE_RELIABILITY" since="26"/>
+		<field name="RESTRICT_BACKGROUND_STATUS_DISABLED" since="24"/>
+		<field name="RESTRICT_BACKGROUND_STATUS_ENABLED" since="24"/>
+		<field name="RESTRICT_BACKGROUND_STATUS_WHITELISTED" since="24"/>
+		<field name="TYPE_BLUETOOTH" since="13" deprecated="28"/>
+		<field name="TYPE_DUMMY" since="14" deprecated="28"/>
+		<field name="TYPE_ETHERNET" since="13" deprecated="28"/>
+		<field name="TYPE_MOBILE" deprecated="28"/>
+		<field name="TYPE_MOBILE_DUN" since="8" deprecated="28"/>
+		<field name="TYPE_MOBILE_HIPRI" since="8" deprecated="23"/>
+		<field name="TYPE_MOBILE_MMS" since="8" deprecated="23"/>
+		<field name="TYPE_MOBILE_SUPL" since="8" deprecated="23"/>
+		<field name="TYPE_VPN" since="21" deprecated="28"/>
+		<field name="TYPE_WIFI" deprecated="28"/>
+		<field name="TYPE_WIMAX" since="8" deprecated="28"/>
+	</class>
+	<class name="android/net/ConnectivityManager$NetworkCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V" since="31"/>
+		<method name="onAvailable(Landroid/net/Network;)V"/>
+		<method name="onBlockedStatusChanged(Landroid/net/Network;Z)V" since="29"/>
+		<method name="onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V"/>
+		<method name="onLinkPropertiesChanged(Landroid/net/Network;Landroid/net/LinkProperties;)V"/>
+		<method name="onLosing(Landroid/net/Network;I)V"/>
+		<method name="onLost(Landroid/net/Network;)V"/>
+		<method name="onUnavailable()V" since="26"/>
+		<field name="FLAG_INCLUDE_LOCATION_INFO" since="31"/>
+	</class>
+	<class name="android/net/ConnectivityManager$OnNetworkActiveListener" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="onNetworkActive()V"/>
+	</class>
+	<class name="android/net/Credentials" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="getGid()I"/>
+		<method name="getPid()I"/>
+		<method name="getUid()I"/>
+	</class>
+	<class name="android/net/DhcpInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<field name="CREATOR" since="30"/>
+		<field name="dns1"/>
+		<field name="dns2"/>
+		<field name="gateway"/>
+		<field name="ipAddress"/>
+		<field name="leaseDuration"/>
+		<field name="netmask"/>
+		<field name="serverAddress"/>
+	</class>
+	<class name="android/net/DnsResolver" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getInstance()Landroid/net/DnsResolver;"/>
+		<method name="query(Landroid/net/Network;Ljava/lang/String;IILjava/util/concurrent/Executor;Landroid/os/CancellationSignal;Landroid/net/DnsResolver$Callback;)V"/>
+		<method name="query(Landroid/net/Network;Ljava/lang/String;ILjava/util/concurrent/Executor;Landroid/os/CancellationSignal;Landroid/net/DnsResolver$Callback;)V"/>
+		<method name="rawQuery(Landroid/net/Network;Ljava/lang/String;IIILjava/util/concurrent/Executor;Landroid/os/CancellationSignal;Landroid/net/DnsResolver$Callback;)V"/>
+		<method name="rawQuery(Landroid/net/Network;[BILjava/util/concurrent/Executor;Landroid/os/CancellationSignal;Landroid/net/DnsResolver$Callback;)V"/>
+		<field name="CLASS_IN"/>
+		<field name="ERROR_PARSE"/>
+		<field name="ERROR_SYSTEM"/>
+		<field name="FLAG_EMPTY"/>
+		<field name="FLAG_NO_CACHE_LOOKUP"/>
+		<field name="FLAG_NO_CACHE_STORE"/>
+		<field name="FLAG_NO_RETRY"/>
+		<field name="TYPE_A"/>
+		<field name="TYPE_AAAA"/>
+	</class>
+	<class name="android/net/DnsResolver$Callback" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onAnswer(Ljava/lang/Object;I)V"/>
+		<method name="onError(Landroid/net/DnsResolver$DnsException;)V"/>
+	</class>
+	<class name="android/net/DnsResolver$DnsException" since="29">
+		<extends name="java/lang/Exception"/>
+		<field name="code"/>
+	</class>
+	<class name="android/net/Ikev2VpnProfile" since="30">
+		<extends name="android/net/PlatformVpnProfile"/>
+		<method name="getAllowedAlgorithms()Ljava/util/List;"/>
+		<method name="getMaxMtu()I"/>
+		<method name="getPassword()Ljava/lang/String;"/>
+		<method name="getPresharedKey()[B"/>
+		<method name="getProxyInfo()Landroid/net/ProxyInfo;"/>
+		<method name="getRsaPrivateKey()Ljava/security/PrivateKey;"/>
+		<method name="getServerAddr()Ljava/lang/String;"/>
+		<method name="getServerRootCaCert()Ljava/security/cert/X509Certificate;"/>
+		<method name="getUserCert()Ljava/security/cert/X509Certificate;"/>
+		<method name="getUserIdentity()Ljava/lang/String;"/>
+		<method name="getUsername()Ljava/lang/String;"/>
+		<method name="isBypassable()Z"/>
+		<method name="isMetered()Z"/>
+	</class>
+	<class name="android/net/Ikev2VpnProfile$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="build()Landroid/net/Ikev2VpnProfile;"/>
+		<method name="setAllowedAlgorithms(Ljava/util/List;)Landroid/net/Ikev2VpnProfile$Builder;"/>
+		<method name="setAuthDigitalSignature(Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;)Landroid/net/Ikev2VpnProfile$Builder;"/>
+		<method name="setAuthPsk([B)Landroid/net/Ikev2VpnProfile$Builder;"/>
+		<method name="setAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;Ljava/security/cert/X509Certificate;)Landroid/net/Ikev2VpnProfile$Builder;"/>
+		<method name="setBypassable(Z)Landroid/net/Ikev2VpnProfile$Builder;"/>
+		<method name="setMaxMtu(I)Landroid/net/Ikev2VpnProfile$Builder;"/>
+		<method name="setMetered(Z)Landroid/net/Ikev2VpnProfile$Builder;"/>
+		<method name="setProxy(Landroid/net/ProxyInfo;)Landroid/net/Ikev2VpnProfile$Builder;"/>
+	</class>
+	<class name="android/net/InetAddresses" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="isNumericAddress(Ljava/lang/String;)Z"/>
+		<method name="parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;"/>
+	</class>
+	<class name="android/net/IpPrefix" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="contains(Ljava/net/InetAddress;)Z" since="23"/>
+		<method name="getAddress()Ljava/net/InetAddress;"/>
+		<method name="getPrefixLength()I"/>
+		<method name="getRawAddress()[B"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/IpSecAlgorithm" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;[B)V"/>
+		<method name="&lt;init>(Ljava/lang/String;[BI)V"/>
+		<method name="getKey()[B"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getSupportedAlgorithms()Ljava/util/Set;" since="31"/>
+		<method name="getTruncationLengthBits()I"/>
+		<field name="AUTH_AES_CMAC" since="31"/>
+		<field name="AUTH_AES_XCBC" since="31"/>
+		<field name="AUTH_CRYPT_AES_GCM"/>
+		<field name="AUTH_CRYPT_CHACHA20_POLY1305" since="31"/>
+		<field name="AUTH_HMAC_MD5"/>
+		<field name="AUTH_HMAC_SHA1"/>
+		<field name="AUTH_HMAC_SHA256"/>
+		<field name="AUTH_HMAC_SHA384"/>
+		<field name="AUTH_HMAC_SHA512"/>
+		<field name="CREATOR"/>
+		<field name="CRYPT_AES_CBC"/>
+		<field name="CRYPT_AES_CTR" since="31"/>
+	</class>
+	<class name="android/net/IpSecManager" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="allocateSecurityParameterIndex(Ljava/net/InetAddress;)Landroid/net/IpSecManager$SecurityParameterIndex;"/>
+		<method name="allocateSecurityParameterIndex(Ljava/net/InetAddress;I)Landroid/net/IpSecManager$SecurityParameterIndex;"/>
+		<method name="applyTransportModeTransform(Ljava/io/FileDescriptor;ILandroid/net/IpSecTransform;)V"/>
+		<method name="applyTransportModeTransform(Ljava/net/DatagramSocket;ILandroid/net/IpSecTransform;)V"/>
+		<method name="applyTransportModeTransform(Ljava/net/Socket;ILandroid/net/IpSecTransform;)V"/>
+		<method name="openUdpEncapsulationSocket()Landroid/net/IpSecManager$UdpEncapsulationSocket;"/>
+		<method name="openUdpEncapsulationSocket(I)Landroid/net/IpSecManager$UdpEncapsulationSocket;"/>
+		<method name="removeTransportModeTransforms(Ljava/io/FileDescriptor;)V"/>
+		<method name="removeTransportModeTransforms(Ljava/net/DatagramSocket;)V"/>
+		<method name="removeTransportModeTransforms(Ljava/net/Socket;)V"/>
+		<field name="DIRECTION_IN"/>
+		<field name="DIRECTION_OUT"/>
+	</class>
+	<class name="android/net/IpSecManager$ResourceUnavailableException" since="28">
+		<extends name="android/util/AndroidException"/>
+	</class>
+	<class name="android/net/IpSecManager$SecurityParameterIndex" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getSpi()I"/>
+	</class>
+	<class name="android/net/IpSecManager$SpiUnavailableException" since="28">
+		<extends name="android/util/AndroidException"/>
+		<method name="getSpi()I"/>
+	</class>
+	<class name="android/net/IpSecManager$UdpEncapsulationSocket" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;"/>
+		<method name="getPort()I"/>
+	</class>
+	<class name="android/net/IpSecTransform" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+	</class>
+	<class name="android/net/IpSecTransform$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="buildTransportModeTransform(Ljava/net/InetAddress;Landroid/net/IpSecManager$SecurityParameterIndex;)Landroid/net/IpSecTransform;"/>
+		<method name="setAuthenticatedEncryption(Landroid/net/IpSecAlgorithm;)Landroid/net/IpSecTransform$Builder;"/>
+		<method name="setAuthentication(Landroid/net/IpSecAlgorithm;)Landroid/net/IpSecTransform$Builder;"/>
+		<method name="setEncryption(Landroid/net/IpSecAlgorithm;)Landroid/net/IpSecTransform$Builder;"/>
+		<method name="setIpv4Encapsulation(Landroid/net/IpSecManager$UdpEncapsulationSocket;I)Landroid/net/IpSecTransform$Builder;"/>
+	</class>
+	<class name="android/net/LinkAddress" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAddress()Ljava/net/InetAddress;"/>
+		<method name="getFlags()I"/>
+		<method name="getPrefixLength()I"/>
+		<method name="getScope()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/LinkProperties" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" since="29"/>
+		<method name="addRoute(Landroid/net/RouteInfo;)Z" since="29"/>
+		<method name="clear()V" since="29"/>
+		<method name="getDhcpServerAddress()Ljava/net/Inet4Address;" since="30"/>
+		<method name="getDnsServers()Ljava/util/List;"/>
+		<method name="getDomains()Ljava/lang/String;"/>
+		<method name="getHttpProxy()Landroid/net/ProxyInfo;"/>
+		<method name="getInterfaceName()Ljava/lang/String;"/>
+		<method name="getLinkAddresses()Ljava/util/List;"/>
+		<method name="getMtu()I" since="29"/>
+		<method name="getNat64Prefix()Landroid/net/IpPrefix;" since="30"/>
+		<method name="getPrivateDnsServerName()Ljava/lang/String;" since="28"/>
+		<method name="getRoutes()Ljava/util/List;"/>
+		<method name="isPrivateDnsActive()Z" since="28"/>
+		<method name="isWakeOnLanSupported()Z" since="30"/>
+		<method name="setDhcpServerAddress(Ljava/net/Inet4Address;)V" since="30"/>
+		<method name="setDnsServers(Ljava/util/Collection;)V" since="29"/>
+		<method name="setDomains(Ljava/lang/String;)V" since="29"/>
+		<method name="setHttpProxy(Landroid/net/ProxyInfo;)V" since="29"/>
+		<method name="setInterfaceName(Ljava/lang/String;)V" since="29"/>
+		<method name="setLinkAddresses(Ljava/util/Collection;)V" since="29"/>
+		<method name="setMtu(I)V" since="29"/>
+		<method name="setNat64Prefix(Landroid/net/IpPrefix;)V" since="30"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/LocalServerSocket" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable" since="28"/>
+		<method name="&lt;init>(Ljava/io/FileDescriptor;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="accept()Landroid/net/LocalSocket;"/>
+		<method name="close()V"/>
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;"/>
+		<method name="getLocalSocketAddress()Landroid/net/LocalSocketAddress;"/>
+	</class>
+	<class name="android/net/LocalSocket" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable" since="17"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V" since="19"/>
+		<method name="bind(Landroid/net/LocalSocketAddress;)V"/>
+		<method name="close()V"/>
+		<method name="connect(Landroid/net/LocalSocketAddress;)V"/>
+		<method name="connect(Landroid/net/LocalSocketAddress;I)V"/>
+		<method name="getAncillaryFileDescriptors()[Ljava/io/FileDescriptor;"/>
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getLocalSocketAddress()Landroid/net/LocalSocketAddress;"/>
+		<method name="getOutputStream()Ljava/io/OutputStream;"/>
+		<method name="getPeerCredentials()Landroid/net/Credentials;"/>
+		<method name="getReceiveBufferSize()I"/>
+		<method name="getRemoteSocketAddress()Landroid/net/LocalSocketAddress;"/>
+		<method name="getSendBufferSize()I"/>
+		<method name="getSoTimeout()I"/>
+		<method name="isBound()Z"/>
+		<method name="isClosed()Z"/>
+		<method name="isConnected()Z"/>
+		<method name="isInputShutdown()Z"/>
+		<method name="isOutputShutdown()Z"/>
+		<method name="setFileDescriptorsForSend([Ljava/io/FileDescriptor;)V"/>
+		<method name="setReceiveBufferSize(I)V"/>
+		<method name="setSendBufferSize(I)V"/>
+		<method name="setSoTimeout(I)V"/>
+		<method name="shutdownInput()V"/>
+		<method name="shutdownOutput()V"/>
+		<field name="SOCKET_DGRAM" since="19"/>
+		<field name="SOCKET_SEQPACKET" since="19"/>
+		<field name="SOCKET_STREAM" since="19"/>
+	</class>
+	<class name="android/net/LocalSocketAddress" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/net/LocalSocketAddress$Namespace;)V"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getNamespace()Landroid/net/LocalSocketAddress$Namespace;"/>
+	</class>
+	<class name="android/net/LocalSocketAddress$Namespace" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/net/LocalSocketAddress$Namespace;"/>
+		<method name="values()[Landroid/net/LocalSocketAddress$Namespace;"/>
+		<field name="ABSTRACT"/>
+		<field name="FILESYSTEM"/>
+		<field name="RESERVED"/>
+	</class>
+	<class name="android/net/MacAddress" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="fromBytes([B)Landroid/net/MacAddress;"/>
+		<method name="fromString(Ljava/lang/String;)Landroid/net/MacAddress;"/>
+		<method name="getAddressType()I"/>
+		<method name="getLinkLocalIpv6FromEui48Mac()Ljava/net/Inet6Address;" since="30"/>
+		<method name="isLocallyAssigned()Z"/>
+		<method name="matches(Landroid/net/MacAddress;Landroid/net/MacAddress;)Z" since="30"/>
+		<method name="toByteArray()[B"/>
+		<method name="toOuiString()Ljava/lang/String;"/>
+		<field name="BROADCAST_ADDRESS"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_BROADCAST"/>
+		<field name="TYPE_MULTICAST"/>
+		<field name="TYPE_UNICAST"/>
+	</class>
+	<class name="android/net/MailTo" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getBody()Ljava/lang/String;"/>
+		<method name="getCc()Ljava/lang/String;"/>
+		<method name="getHeaders()Ljava/util/Map;"/>
+		<method name="getSubject()Ljava/lang/String;"/>
+		<method name="getTo()Ljava/lang/String;"/>
+		<method name="isMailTo(Ljava/lang/String;)Z"/>
+		<method name="parse(Ljava/lang/String;)Landroid/net/MailTo;"/>
+		<field name="MAILTO_SCHEME"/>
+	</class>
+	<class name="android/net/Network" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="bindSocket(Ljava/io/FileDescriptor;)V" since="23"/>
+		<method name="bindSocket(Ljava/net/DatagramSocket;)V" since="22"/>
+		<method name="bindSocket(Ljava/net/Socket;)V"/>
+		<method name="fromNetworkHandle(J)Landroid/net/Network;" since="28"/>
+		<method name="getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;"/>
+		<method name="getByName(Ljava/lang/String;)Ljava/net/InetAddress;"/>
+		<method name="getNetworkHandle()J" since="23"/>
+		<method name="getSocketFactory()Ljavax/net/SocketFactory;"/>
+		<method name="openConnection(Ljava/net/URL;)Ljava/net/URLConnection;"/>
+		<method name="openConnection(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/URLConnection;" since="23"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/NetworkCapabilities" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" since="30"/>
+		<method name="&lt;init>(Landroid/net/NetworkCapabilities;)V"/>
+		<method name="getCapabilities()[I" since="31"/>
+		<method name="getLinkDownstreamBandwidthKbps()I"/>
+		<method name="getLinkUpstreamBandwidthKbps()I"/>
+		<method name="getNetworkSpecifier()Landroid/net/NetworkSpecifier;" since="30"/>
+		<method name="getOwnerUid()I" since="30"/>
+		<method name="getSignalStrength()I" since="29"/>
+		<method name="getTransportInfo()Landroid/net/TransportInfo;" since="29"/>
+		<method name="hasCapability(I)Z"/>
+		<method name="hasTransport(I)Z"/>
+		<field name="CREATOR"/>
+		<field name="NET_CAPABILITY_CAPTIVE_PORTAL" since="23"/>
+		<field name="NET_CAPABILITY_CBS"/>
+		<field name="NET_CAPABILITY_DUN"/>
+		<field name="NET_CAPABILITY_EIMS"/>
+		<field name="NET_CAPABILITY_ENTERPRISE" since="31"/>
+		<field name="NET_CAPABILITY_FOREGROUND" since="28"/>
+		<field name="NET_CAPABILITY_FOTA"/>
+		<field name="NET_CAPABILITY_HEAD_UNIT" since="31"/>
+		<field name="NET_CAPABILITY_IA"/>
+		<field name="NET_CAPABILITY_IMS"/>
+		<field name="NET_CAPABILITY_INTERNET"/>
+		<field name="NET_CAPABILITY_MCX" since="29"/>
+		<field name="NET_CAPABILITY_MMS"/>
+		<field name="NET_CAPABILITY_NOT_CONGESTED" since="28"/>
+		<field name="NET_CAPABILITY_NOT_METERED"/>
+		<field name="NET_CAPABILITY_NOT_RESTRICTED"/>
+		<field name="NET_CAPABILITY_NOT_ROAMING" since="28"/>
+		<field name="NET_CAPABILITY_NOT_SUSPENDED" since="28"/>
+		<field name="NET_CAPABILITY_NOT_VPN"/>
+		<field name="NET_CAPABILITY_RCS"/>
+		<field name="NET_CAPABILITY_SUPL"/>
+		<field name="NET_CAPABILITY_TEMPORARILY_NOT_METERED" since="30"/>
+		<field name="NET_CAPABILITY_TRUSTED"/>
+		<field name="NET_CAPABILITY_VALIDATED" since="23"/>
+		<field name="NET_CAPABILITY_WIFI_P2P"/>
+		<field name="NET_CAPABILITY_XCAP"/>
+		<field name="SIGNAL_STRENGTH_UNSPECIFIED" since="29"/>
+		<field name="TRANSPORT_BLUETOOTH"/>
+		<field name="TRANSPORT_CELLULAR"/>
+		<field name="TRANSPORT_ETHERNET"/>
+		<field name="TRANSPORT_LOWPAN" since="27"/>
+		<field name="TRANSPORT_USB" since="31"/>
+		<field name="TRANSPORT_VPN"/>
+		<field name="TRANSPORT_WIFI"/>
+		<field name="TRANSPORT_WIFI_AWARE" since="26"/>
+	</class>
+	<class name="android/net/NetworkInfo" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I)V" removed="3"/>
+		<method name="&lt;init>(IILjava/lang/String;Ljava/lang/String;)V" since="30" deprecated="30"/>
+		<method name="getDetailedState()Landroid/net/NetworkInfo$DetailedState;" deprecated="29"/>
+		<method name="getExtraInfo()Ljava/lang/String;" deprecated="29"/>
+		<method name="getReason()Ljava/lang/String;" deprecated="28"/>
+		<method name="getState()Landroid/net/NetworkInfo$State;" deprecated="28"/>
+		<method name="getSubtype()I" since="3" deprecated="29"/>
+		<method name="getSubtypeName()Ljava/lang/String;" since="3" deprecated="29"/>
+		<method name="getType()I" deprecated="28"/>
+		<method name="getTypeName()Ljava/lang/String;" deprecated="28"/>
+		<method name="isAvailable()Z" deprecated="28"/>
+		<method name="isConnected()Z" deprecated="29"/>
+		<method name="isConnectedOrConnecting()Z" deprecated="28"/>
+		<method name="isFailover()Z" deprecated="28"/>
+		<method name="isRoaming()Z" since="3" deprecated="28"/>
+		<method name="setDetailedState(Landroid/net/NetworkInfo$DetailedState;Ljava/lang/String;Ljava/lang/String;)V" since="30" deprecated="30"/>
+		<field name="CREATOR" since="24" deprecated="29"/>
+	</class>
+	<class name="android/net/NetworkInfo$DetailedState" since="1" deprecated="29">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/net/NetworkInfo$DetailedState;"/>
+		<method name="values()[Landroid/net/NetworkInfo$DetailedState;"/>
+		<field name="AUTHENTICATING" deprecated="29"/>
+		<field name="BLOCKED" since="14" deprecated="29"/>
+		<field name="CAPTIVE_PORTAL_CHECK" since="17" deprecated="29"/>
+		<field name="CONNECTED" deprecated="29"/>
+		<field name="CONNECTING" deprecated="29"/>
+		<field name="DISCONNECTED" deprecated="29"/>
+		<field name="DISCONNECTING" deprecated="29"/>
+		<field name="FAILED" deprecated="29"/>
+		<field name="IDLE" deprecated="29"/>
+		<field name="OBTAINING_IPADDR" deprecated="29"/>
+		<field name="SCANNING" deprecated="29"/>
+		<field name="SUSPENDED" deprecated="29"/>
+		<field name="VERIFYING_POOR_LINK" since="16" deprecated="29"/>
+	</class>
+	<class name="android/net/NetworkInfo$State" since="1" deprecated="29">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/net/NetworkInfo$State;"/>
+		<method name="values()[Landroid/net/NetworkInfo$State;"/>
+		<field name="CONNECTED" deprecated="29"/>
+		<field name="CONNECTING" deprecated="29"/>
+		<field name="DISCONNECTED" deprecated="29"/>
+		<field name="DISCONNECTING" deprecated="29"/>
+		<field name="SUSPENDED" deprecated="29"/>
+		<field name="UNKNOWN" deprecated="29"/>
+	</class>
+	<class name="android/net/NetworkRequest" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="canBeSatisfiedBy(Landroid/net/NetworkCapabilities;)Z" since="30"/>
+		<method name="getCapabilities()[I" since="31"/>
+		<method name="getNetworkSpecifier()Landroid/net/NetworkSpecifier;" since="30"/>
+		<method name="getTransportTypes()[I" since="31"/>
+		<method name="hasCapability(I)Z" since="28"/>
+		<method name="hasTransport(I)Z" since="28"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/NetworkRequest$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/NetworkRequest;)V" since="31"/>
+		<method name="addCapability(I)Landroid/net/NetworkRequest$Builder;"/>
+		<method name="addTransportType(I)Landroid/net/NetworkRequest$Builder;"/>
+		<method name="build()Landroid/net/NetworkRequest;"/>
+		<method name="clearCapabilities()Landroid/net/NetworkRequest$Builder;" since="30"/>
+		<method name="removeCapability(I)Landroid/net/NetworkRequest$Builder;"/>
+		<method name="removeTransportType(I)Landroid/net/NetworkRequest$Builder;"/>
+		<method name="setIncludeOtherUidNetworks(Z)Landroid/net/NetworkRequest$Builder;" since="31"/>
+		<method name="setNetworkSpecifier(Landroid/net/NetworkSpecifier;)Landroid/net/NetworkRequest$Builder;" since="26"/>
+		<method name="setNetworkSpecifier(Ljava/lang/String;)Landroid/net/NetworkRequest$Builder;" deprecated="30"/>
+	</class>
+	<class name="android/net/NetworkSpecifier" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" since="29"/>
+	</class>
+	<class name="android/net/ParseException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" since="31"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="31"/>
+		<field name="response"/>
+	</class>
+	<class name="android/net/PlatformVpnProfile" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getType()I"/>
+		<method name="getTypeString()Ljava/lang/String;"/>
+		<field name="TYPE_IKEV2_IPSEC_PSK"/>
+		<field name="TYPE_IKEV2_IPSEC_RSA"/>
+		<field name="TYPE_IKEV2_IPSEC_USER_PASS"/>
+	</class>
+	<class name="android/net/Proxy" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getDefaultHost()Ljava/lang/String;" deprecated="15"/>
+		<method name="getDefaultPort()I" deprecated="15"/>
+		<method name="getHost(Landroid/content/Context;)Ljava/lang/String;" deprecated="15"/>
+		<method name="getPort(Landroid/content/Context;)I" deprecated="15"/>
+		<field name="EXTRA_PROXY_INFO" since="21" deprecated="23" removed="31"/>
+		<field name="PROXY_CHANGE_ACTION"/>
+	</class>
+	<class name="android/net/ProxyInfo" since="21" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/net/ProxyInfo;)V" since="30"/>
+		<method name="buildDirectProxy(Ljava/lang/String;I)Landroid/net/ProxyInfo;"/>
+		<method name="buildDirectProxy(Ljava/lang/String;ILjava/util/List;)Landroid/net/ProxyInfo;"/>
+		<method name="buildPacProxy(Landroid/net/Uri;)Landroid/net/ProxyInfo;"/>
+		<method name="buildPacProxy(Landroid/net/Uri;I)Landroid/net/ProxyInfo;" since="30"/>
+		<method name="getExclusionList()[Ljava/lang/String;"/>
+		<method name="getHost()Ljava/lang/String;"/>
+		<method name="getPacFileUrl()Landroid/net/Uri;"/>
+		<method name="getPort()I"/>
+		<method name="isValid()Z" since="30"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/PskKeyManager" since="21" removed="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="chooseClientKeyIdentity(Ljava/lang/String;Ljava/net/Socket;)Ljava/lang/String;"/>
+		<method name="chooseClientKeyIdentity(Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;"/>
+		<method name="chooseServerKeyIdentityHint(Ljava/net/Socket;)Ljava/lang/String;"/>
+		<method name="chooseServerKeyIdentityHint(Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;"/>
+		<method name="getKey(Ljava/lang/String;Ljava/lang/String;Ljava/net/Socket;)Ljavax/crypto/SecretKey;"/>
+		<method name="getKey(Ljava/lang/String;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)Ljavax/crypto/SecretKey;"/>
+		<field name="MAX_IDENTITY_HINT_LENGTH_BYTES"/>
+		<field name="MAX_IDENTITY_LENGTH_BYTES"/>
+		<field name="MAX_KEY_LENGTH_BYTES"/>
+	</class>
+	<class name="android/net/RouteInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDestination()Landroid/net/IpPrefix;"/>
+		<method name="getGateway()Ljava/net/InetAddress;"/>
+		<method name="getInterface()Ljava/lang/String;"/>
+		<method name="hasGateway()Z" since="29"/>
+		<method name="isDefaultRoute()Z"/>
+		<method name="matches(Ljava/net/InetAddress;)Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/SSLCertificateSocketFactory" since="1" deprecated="29">
+		<extends name="javax/net/ssl/SSLSocketFactory"/>
+		<method name="&lt;init>(I)V" deprecated="15"/>
+		<method name="getDefault(I)Ljavax/net/SocketFactory;" deprecated="29"/>
+		<method name="getDefault(ILandroid/net/SSLSessionCache;)Ljavax/net/ssl/SSLSocketFactory;" since="8" deprecated="29"/>
+		<method name="getHttpSocketFactory(ILandroid/net/SSLSessionCache;)Lorg/apache/http/conn/ssl/SSLSocketFactory;" since="8" deprecated="22" removed="23"/>
+		<method name="getInsecure(ILandroid/net/SSLSessionCache;)Ljavax/net/ssl/SSLSocketFactory;" since="8" deprecated="29"/>
+		<method name="getNpnSelectedProtocol(Ljava/net/Socket;)[B" since="16" deprecated="29"/>
+		<method name="setHostname(Ljava/net/Socket;Ljava/lang/String;)V" since="17" deprecated="29"/>
+		<method name="setKeyManagers([Ljavax/net/ssl/KeyManager;)V" since="14" deprecated="29"/>
+		<method name="setNpnProtocols([[B)V" since="16" deprecated="29"/>
+		<method name="setTrustManagers([Ljavax/net/ssl/TrustManager;)V" since="14" deprecated="29"/>
+		<method name="setUseSessionTickets(Ljava/net/Socket;Z)V" since="17" deprecated="29"/>
+	</class>
+	<class name="android/net/SSLSessionCache" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+	</class>
+	<class name="android/net/SocketKeepalive" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="start(I)V"/>
+		<method name="stop()V"/>
+		<field name="ERROR_HARDWARE_ERROR"/>
+		<field name="ERROR_INSUFFICIENT_RESOURCES"/>
+		<field name="ERROR_INVALID_INTERVAL"/>
+		<field name="ERROR_INVALID_IP_ADDRESS"/>
+		<field name="ERROR_INVALID_LENGTH"/>
+		<field name="ERROR_INVALID_NETWORK"/>
+		<field name="ERROR_INVALID_PORT"/>
+		<field name="ERROR_INVALID_SOCKET"/>
+		<field name="ERROR_SOCKET_NOT_IDLE"/>
+		<field name="ERROR_UNSUPPORTED"/>
+	</class>
+	<class name="android/net/SocketKeepalive$Callback" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onDataReceived()V"/>
+		<method name="onError(I)V"/>
+		<method name="onStarted()V"/>
+		<method name="onStopped()V"/>
+	</class>
+	<class name="android/net/TelephonyNetworkSpecifier" since="30">
+		<extends name="android/net/NetworkSpecifier"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getSubscriptionId()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/TelephonyNetworkSpecifier$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/net/TelephonyNetworkSpecifier;"/>
+		<method name="setSubscriptionId(I)Landroid/net/TelephonyNetworkSpecifier$Builder;"/>
+	</class>
+	<class name="android/net/TrafficStats" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="clearThreadStatsTag()V" since="14"/>
+		<method name="clearThreadStatsUid()V" since="28"/>
+		<method name="getAndSetThreadStatsTag(I)I" since="26"/>
+		<method name="getMobileRxBytes()J"/>
+		<method name="getMobileRxPackets()J"/>
+		<method name="getMobileTxBytes()J"/>
+		<method name="getMobileTxPackets()J"/>
+		<method name="getRxBytes(Ljava/lang/String;)J" since="31"/>
+		<method name="getRxPackets(Ljava/lang/String;)J" since="30"/>
+		<method name="getThreadStatsTag()I" since="14"/>
+		<method name="getThreadStatsUid()I" since="28"/>
+		<method name="getTotalRxBytes()J"/>
+		<method name="getTotalRxPackets()J"/>
+		<method name="getTotalTxBytes()J"/>
+		<method name="getTotalTxPackets()J"/>
+		<method name="getTxBytes(Ljava/lang/String;)J" since="31"/>
+		<method name="getTxPackets(Ljava/lang/String;)J" since="30"/>
+		<method name="getUidRxBytes(I)J"/>
+		<method name="getUidRxPackets(I)J" since="12"/>
+		<method name="getUidTcpRxBytes(I)J" since="12" deprecated="18"/>
+		<method name="getUidTcpRxSegments(I)J" since="12" deprecated="18"/>
+		<method name="getUidTcpTxBytes(I)J" since="12" deprecated="18"/>
+		<method name="getUidTcpTxSegments(I)J" since="12" deprecated="18"/>
+		<method name="getUidTxBytes(I)J"/>
+		<method name="getUidTxPackets(I)J" since="12"/>
+		<method name="getUidUdpRxBytes(I)J" since="12" deprecated="18"/>
+		<method name="getUidUdpRxPackets(I)J" since="12" deprecated="18"/>
+		<method name="getUidUdpTxBytes(I)J" since="12" deprecated="18"/>
+		<method name="getUidUdpTxPackets(I)J" since="12" deprecated="18"/>
+		<method name="incrementOperationCount(I)V" since="14"/>
+		<method name="incrementOperationCount(II)V" since="14"/>
+		<method name="setThreadStatsTag(I)V" since="14"/>
+		<method name="setThreadStatsUid(I)V" since="28"/>
+		<method name="tagDatagramSocket(Ljava/net/DatagramSocket;)V" since="24"/>
+		<method name="tagFileDescriptor(Ljava/io/FileDescriptor;)V" since="28"/>
+		<method name="tagSocket(Ljava/net/Socket;)V" since="14"/>
+		<method name="untagDatagramSocket(Ljava/net/DatagramSocket;)V" since="24"/>
+		<method name="untagFileDescriptor(Ljava/io/FileDescriptor;)V" since="28"/>
+		<method name="untagSocket(Ljava/net/Socket;)V" since="14"/>
+		<field name="UNSUPPORTED"/>
+	</class>
+	<class name="android/net/TransportInfo" since="29">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/net/Uri" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="buildUpon()Landroid/net/Uri$Builder;"/>
+		<method name="compareTo(Landroid/net/Uri;)I"/>
+		<method name="decode(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="encode(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="fromFile(Ljava/io/File;)Landroid/net/Uri;"/>
+		<method name="fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="getAuthority()Ljava/lang/String;"/>
+		<method name="getBooleanQueryParameter(Ljava/lang/String;Z)Z" since="11"/>
+		<method name="getEncodedAuthority()Ljava/lang/String;"/>
+		<method name="getEncodedFragment()Ljava/lang/String;"/>
+		<method name="getEncodedPath()Ljava/lang/String;"/>
+		<method name="getEncodedQuery()Ljava/lang/String;"/>
+		<method name="getEncodedSchemeSpecificPart()Ljava/lang/String;"/>
+		<method name="getEncodedUserInfo()Ljava/lang/String;"/>
+		<method name="getFragment()Ljava/lang/String;"/>
+		<method name="getHost()Ljava/lang/String;"/>
+		<method name="getLastPathSegment()Ljava/lang/String;"/>
+		<method name="getPath()Ljava/lang/String;"/>
+		<method name="getPathSegments()Ljava/util/List;"/>
+		<method name="getPort()I"/>
+		<method name="getQuery()Ljava/lang/String;"/>
+		<method name="getQueryParameter(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getQueryParameterNames()Ljava/util/Set;" since="11"/>
+		<method name="getQueryParameters(Ljava/lang/String;)Ljava/util/List;"/>
+		<method name="getScheme()Ljava/lang/String;"/>
+		<method name="getSchemeSpecificPart()Ljava/lang/String;"/>
+		<method name="getUserInfo()Ljava/lang/String;"/>
+		<method name="isAbsolute()Z"/>
+		<method name="isHierarchical()Z"/>
+		<method name="isOpaque()Z"/>
+		<method name="isRelative()Z"/>
+		<method name="normalizeScheme()Landroid/net/Uri;" since="16"/>
+		<method name="parse(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="withAppendedPath(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="writeToParcel(Landroid/os/Parcel;Landroid/net/Uri;)V"/>
+		<field name="CREATOR"/>
+		<field name="EMPTY"/>
+	</class>
+	<class name="android/net/Uri$Builder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="appendEncodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="appendPath(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="appendQueryParameter(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="authority(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="build()Landroid/net/Uri;"/>
+		<method name="clearQuery()Landroid/net/Uri$Builder;" since="11"/>
+		<method name="encodedAuthority(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="encodedFragment(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="encodedOpaquePart(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="encodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="encodedQuery(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="fragment(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="opaquePart(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="path(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="query(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+		<method name="scheme(Ljava/lang/String;)Landroid/net/Uri$Builder;"/>
+	</class>
+	<class name="android/net/UrlQuerySanitizer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="addSanitizedEntry(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="clear()V"/>
+		<method name="decodeHexDigit(C)I"/>
+		<method name="getAllButNulAndAngleBracketsLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getAllButNulLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getAllButWhitespaceLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getAllIllegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getAllowUnregisteredParamaters()Z"/>
+		<method name="getAmpAndSpaceLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getAmpLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getEffectiveValueSanitizer(Ljava/lang/String;)Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getParameterList()Ljava/util/List;"/>
+		<method name="getParameterSet()Ljava/util/Set;"/>
+		<method name="getPreferFirstRepeatedParameter()Z"/>
+		<method name="getSpaceLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getUnregisteredParameterValueSanitizer()Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getUrlAndSpaceLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getUrlLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="getValue(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getValueSanitizer(Ljava/lang/String;)Landroid/net/UrlQuerySanitizer$ValueSanitizer;"/>
+		<method name="hasParameter(Ljava/lang/String;)Z"/>
+		<method name="isHexDigit(C)Z"/>
+		<method name="parseEntry(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="parseQuery(Ljava/lang/String;)V"/>
+		<method name="parseUrl(Ljava/lang/String;)V"/>
+		<method name="registerParameter(Ljava/lang/String;Landroid/net/UrlQuerySanitizer$ValueSanitizer;)V"/>
+		<method name="registerParameters([Ljava/lang/String;Landroid/net/UrlQuerySanitizer$ValueSanitizer;)V"/>
+		<method name="setAllowUnregisteredParamaters(Z)V"/>
+		<method name="setPreferFirstRepeatedParameter(Z)V"/>
+		<method name="setUnregisteredParameterValueSanitizer(Landroid/net/UrlQuerySanitizer$ValueSanitizer;)V"/>
+		<method name="unescape(Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="android/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/net/UrlQuerySanitizer$ValueSanitizer"/>
+		<method name="&lt;init>(I)V"/>
+		<field name="ALL_BUT_NUL_AND_ANGLE_BRACKETS_LEGAL"/>
+		<field name="ALL_BUT_NUL_LEGAL"/>
+		<field name="ALL_BUT_WHITESPACE_LEGAL"/>
+		<field name="ALL_ILLEGAL"/>
+		<field name="ALL_OK"/>
+		<field name="ALL_WHITESPACE_OK"/>
+		<field name="AMP_AND_SPACE_LEGAL"/>
+		<field name="AMP_LEGAL"/>
+		<field name="AMP_OK"/>
+		<field name="DQUOTE_OK"/>
+		<field name="GT_OK"/>
+		<field name="LT_OK"/>
+		<field name="NON_7_BIT_ASCII_OK"/>
+		<field name="NUL_OK"/>
+		<field name="OTHER_WHITESPACE_OK"/>
+		<field name="PCT_OK"/>
+		<field name="SCRIPT_URL_OK"/>
+		<field name="SPACE_LEGAL"/>
+		<field name="SPACE_OK"/>
+		<field name="SQUOTE_OK"/>
+		<field name="URL_AND_SPACE_LEGAL"/>
+		<field name="URL_LEGAL"/>
+	</class>
+	<class name="android/net/UrlQuerySanitizer$ParameterValuePair" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/net/UrlQuerySanitizer;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="mParameter"/>
+		<field name="mValue"/>
+	</class>
+	<class name="android/net/UrlQuerySanitizer$ValueSanitizer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="sanitize(Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="android/net/VpnManager" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="deleteProvisionedVpnProfile()V"/>
+		<method name="provisionVpnProfile(Landroid/net/PlatformVpnProfile;)Landroid/content/Intent;"/>
+		<method name="startProvisionedVpnProfile()V"/>
+		<method name="stopProvisionedVpnProfile()V"/>
+	</class>
+	<class name="android/net/VpnService" since="14">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="isAlwaysOn()Z" since="29"/>
+		<method name="isLockdownEnabled()Z" since="29"/>
+		<method name="onRevoke()V"/>
+		<method name="prepare(Landroid/content/Context;)Landroid/content/Intent;"/>
+		<method name="protect(I)Z"/>
+		<method name="protect(Ljava/net/DatagramSocket;)Z"/>
+		<method name="protect(Ljava/net/Socket;)Z"/>
+		<method name="setUnderlyingNetworks([Landroid/net/Network;)Z" since="22"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA_SUPPORTS_ALWAYS_ON" since="27"/>
+	</class>
+	<class name="android/net/VpnService$Builder" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/net/VpnService;)V"/>
+		<method name="addAddress(Ljava/lang/String;I)Landroid/net/VpnService$Builder;"/>
+		<method name="addAddress(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder;"/>
+		<method name="addAllowedApplication(Ljava/lang/String;)Landroid/net/VpnService$Builder;" since="21"/>
+		<method name="addDisallowedApplication(Ljava/lang/String;)Landroid/net/VpnService$Builder;" since="21"/>
+		<method name="addDnsServer(Ljava/lang/String;)Landroid/net/VpnService$Builder;"/>
+		<method name="addDnsServer(Ljava/net/InetAddress;)Landroid/net/VpnService$Builder;"/>
+		<method name="addRoute(Ljava/lang/String;I)Landroid/net/VpnService$Builder;"/>
+		<method name="addRoute(Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder;"/>
+		<method name="addSearchDomain(Ljava/lang/String;)Landroid/net/VpnService$Builder;"/>
+		<method name="allowBypass()Landroid/net/VpnService$Builder;" since="21"/>
+		<method name="allowFamily(I)Landroid/net/VpnService$Builder;" since="21"/>
+		<method name="establish()Landroid/os/ParcelFileDescriptor;"/>
+		<method name="setBlocking(Z)Landroid/net/VpnService$Builder;" since="21"/>
+		<method name="setConfigureIntent(Landroid/app/PendingIntent;)Landroid/net/VpnService$Builder;"/>
+		<method name="setHttpProxy(Landroid/net/ProxyInfo;)Landroid/net/VpnService$Builder;" since="29"/>
+		<method name="setMetered(Z)Landroid/net/VpnService$Builder;" since="29"/>
+		<method name="setMtu(I)Landroid/net/VpnService$Builder;"/>
+		<method name="setSession(Ljava/lang/String;)Landroid/net/VpnService$Builder;"/>
+		<method name="setUnderlyingNetworks([Landroid/net/Network;)Landroid/net/VpnService$Builder;" since="22"/>
+	</class>
+	<class name="android/net/eap/EapSessionConfig" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getEapAkaConfig()Landroid/net/eap/EapSessionConfig$EapAkaConfig;"/>
+		<method name="getEapAkaPrimeConfig()Landroid/net/eap/EapSessionConfig$EapAkaPrimeConfig;"/>
+		<method name="getEapIdentity()[B"/>
+		<method name="getEapMsChapV2Config()Landroid/net/eap/EapSessionConfig$EapMsChapV2Config;"/>
+		<method name="getEapSimConfig()Landroid/net/eap/EapSessionConfig$EapSimConfig;"/>
+		<method name="getEapTtlsConfig()Landroid/net/eap/EapSessionConfig$EapTtlsConfig;"/>
+	</class>
+	<class name="android/net/eap/EapSessionConfig$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/net/eap/EapSessionConfig;"/>
+		<method name="setEapAkaConfig(II)Landroid/net/eap/EapSessionConfig$Builder;"/>
+		<method name="setEapAkaPrimeConfig(IILjava/lang/String;Z)Landroid/net/eap/EapSessionConfig$Builder;"/>
+		<method name="setEapIdentity([B)Landroid/net/eap/EapSessionConfig$Builder;"/>
+		<method name="setEapMsChapV2Config(Ljava/lang/String;Ljava/lang/String;)Landroid/net/eap/EapSessionConfig$Builder;"/>
+		<method name="setEapSimConfig(II)Landroid/net/eap/EapSessionConfig$Builder;"/>
+		<method name="setEapTtlsConfig(Ljava/security/cert/X509Certificate;Landroid/net/eap/EapSessionConfig;)Landroid/net/eap/EapSessionConfig$Builder;"/>
+	</class>
+	<class name="android/net/eap/EapSessionConfig$EapAkaConfig" since="31">
+		<extends name="android/net/eap/EapSessionConfig$EapMethodConfig"/>
+		<method name="getAppType()I"/>
+		<method name="getSubId()I"/>
+	</class>
+	<class name="android/net/eap/EapSessionConfig$EapAkaPrimeConfig" since="31">
+		<extends name="android/net/eap/EapSessionConfig$EapAkaConfig"/>
+		<method name="allowsMismatchedNetworkNames()Z"/>
+		<method name="getNetworkName()Ljava/lang/String;"/>
+	</class>
+	<class name="android/net/eap/EapSessionConfig$EapMethodConfig" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getMethodType()I"/>
+		<field name="EAP_TYPE_AKA"/>
+		<field name="EAP_TYPE_AKA_PRIME"/>
+		<field name="EAP_TYPE_MSCHAP_V2"/>
+		<field name="EAP_TYPE_SIM"/>
+		<field name="EAP_TYPE_TTLS"/>
+	</class>
+	<class name="android/net/eap/EapSessionConfig$EapMsChapV2Config" since="31">
+		<extends name="android/net/eap/EapSessionConfig$EapMethodConfig"/>
+		<method name="getPassword()Ljava/lang/String;"/>
+		<method name="getUsername()Ljava/lang/String;"/>
+	</class>
+	<class name="android/net/eap/EapSessionConfig$EapSimConfig" since="31">
+		<extends name="android/net/eap/EapSessionConfig$EapMethodConfig"/>
+		<method name="getAppType()I"/>
+		<method name="getSubId()I"/>
+	</class>
+	<class name="android/net/eap/EapSessionConfig$EapTtlsConfig" since="31">
+		<extends name="android/net/eap/EapSessionConfig$EapMethodConfig"/>
+		<method name="getInnerEapSessionConfig()Landroid/net/eap/EapSessionConfig;"/>
+		<method name="getServerCaCert()Ljava/security/cert/X509Certificate;"/>
+	</class>
+	<class name="android/net/http/AndroidHttpClient" since="8" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/HttpClient"/>
+		<method name="close()V"/>
+		<method name="disableCurlLogging()V"/>
+		<method name="enableCurlLogging(Ljava/lang/String;I)V"/>
+		<method name="getCompressedEntity([BLandroid/content/ContentResolver;)Lorg/apache/http/entity/AbstractHttpEntity;"/>
+		<method name="getMinGzipSize(Landroid/content/ContentResolver;)J"/>
+		<method name="getUngzippedContent(Lorg/apache/http/HttpEntity;)Ljava/io/InputStream;"/>
+		<method name="modifyRequestToAcceptGzipResponse(Lorg/apache/http/HttpRequest;)V"/>
+		<method name="newInstance(Ljava/lang/String;)Landroid/net/http/AndroidHttpClient;" deprecated="22"/>
+		<method name="newInstance(Ljava/lang/String;Landroid/content/Context;)Landroid/net/http/AndroidHttpClient;" deprecated="22"/>
+		<method name="parseDate(Ljava/lang/String;)J"/>
+		<field name="DEFAULT_SYNC_MIN_GZIP_BYTES"/>
+	</class>
+	<class name="android/net/http/HttpResponseCache" since="14">
+		<extends name="java/net/ResponseCache"/>
+		<implements name="java/io/Closeable"/>
+		<method name="delete()V"/>
+		<method name="flush()V"/>
+		<method name="getHitCount()I"/>
+		<method name="getInstalled()Landroid/net/http/HttpResponseCache;"/>
+		<method name="getNetworkCount()I"/>
+		<method name="getRequestCount()I"/>
+		<method name="install(Ljava/io/File;J)Landroid/net/http/HttpResponseCache;"/>
+		<method name="maxSize()J"/>
+		<method name="size()J"/>
+	</class>
+	<class name="android/net/http/SslCertificate" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="15"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/Date;Ljava/util/Date;)V" since="8" deprecated="15"/>
+		<method name="&lt;init>(Ljava/security/cert/X509Certificate;)V"/>
+		<method name="getIssuedBy()Landroid/net/http/SslCertificate$DName;"/>
+		<method name="getIssuedTo()Landroid/net/http/SslCertificate$DName;"/>
+		<method name="getValidNotAfter()Ljava/lang/String;" deprecated="15"/>
+		<method name="getValidNotAfterDate()Ljava/util/Date;" since="8"/>
+		<method name="getValidNotBefore()Ljava/lang/String;" deprecated="15"/>
+		<method name="getValidNotBeforeDate()Ljava/util/Date;" since="8"/>
+		<method name="getX509Certificate()Ljava/security/cert/X509Certificate;" since="29"/>
+		<method name="restoreState(Landroid/os/Bundle;)Landroid/net/http/SslCertificate;"/>
+		<method name="saveState(Landroid/net/http/SslCertificate;)Landroid/os/Bundle;"/>
+	</class>
+	<class name="android/net/http/SslCertificate$DName" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/net/http/SslCertificate;Ljava/lang/String;)V"/>
+		<method name="getCName()Ljava/lang/String;"/>
+		<method name="getDName()Ljava/lang/String;"/>
+		<method name="getOName()Ljava/lang/String;"/>
+		<method name="getUName()Ljava/lang/String;"/>
+	</class>
+	<class name="android/net/http/SslError" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILandroid/net/http/SslCertificate;)V" deprecated="15"/>
+		<method name="&lt;init>(ILandroid/net/http/SslCertificate;Ljava/lang/String;)V" since="14"/>
+		<method name="&lt;init>(ILjava/security/cert/X509Certificate;)V" deprecated="15"/>
+		<method name="&lt;init>(ILjava/security/cert/X509Certificate;Ljava/lang/String;)V" since="14"/>
+		<method name="addError(I)Z"/>
+		<method name="getCertificate()Landroid/net/http/SslCertificate;"/>
+		<method name="getPrimaryError()I"/>
+		<method name="getUrl()Ljava/lang/String;" since="14"/>
+		<method name="hasError(I)Z"/>
+		<field name="SSL_DATE_INVALID" since="14"/>
+		<field name="SSL_EXPIRED"/>
+		<field name="SSL_IDMISMATCH"/>
+		<field name="SSL_INVALID" since="14"/>
+		<field name="SSL_MAX_ERROR" deprecated="15"/>
+		<field name="SSL_NOTYETVALID"/>
+		<field name="SSL_UNTRUSTED"/>
+	</class>
+	<class name="android/net/http/X509TrustManagerExtensions" since="17">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljavax/net/ssl/X509TrustManager;)V"/>
+		<method name="checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;"/>
+		<method name="isSameTrustConfiguration(Ljava/lang/String;Ljava/lang/String;)Z" since="28"/>
+		<method name="isUserAddedCertificate(Ljava/security/cert/X509Certificate;)Z" since="21"/>
+	</class>
+	<class name="android/net/ipsec/ike/ChildSaProposal" since="31">
+		<extends name="android/net/ipsec/ike/SaProposal"/>
+		<method name="getSupportedEncryptionAlgorithms()Ljava/util/Set;"/>
+		<method name="getSupportedIntegrityAlgorithms()Ljava/util/Set;"/>
+	</class>
+	<class name="android/net/ipsec/ike/ChildSaProposal$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addDhGroup(I)Landroid/net/ipsec/ike/ChildSaProposal$Builder;"/>
+		<method name="addEncryptionAlgorithm(II)Landroid/net/ipsec/ike/ChildSaProposal$Builder;"/>
+		<method name="addIntegrityAlgorithm(I)Landroid/net/ipsec/ike/ChildSaProposal$Builder;"/>
+		<method name="build()Landroid/net/ipsec/ike/ChildSaProposal;"/>
+	</class>
+	<class name="android/net/ipsec/ike/ChildSessionCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onClosed()V"/>
+		<method name="onClosedWithException(Landroid/net/ipsec/ike/exceptions/IkeException;)V"/>
+		<method name="onIpSecTransformCreated(Landroid/net/IpSecTransform;I)V"/>
+		<method name="onIpSecTransformDeleted(Landroid/net/IpSecTransform;I)V"/>
+		<method name="onOpened(Landroid/net/ipsec/ike/ChildSessionConfiguration;)V"/>
+	</class>
+	<class name="android/net/ipsec/ike/ChildSessionConfiguration" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getInboundTrafficSelectors()Ljava/util/List;"/>
+		<method name="getOutboundTrafficSelectors()Ljava/util/List;"/>
+	</class>
+	<class name="android/net/ipsec/ike/ChildSessionConfiguration$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/util/List;Ljava/util/List;)V"/>
+		<method name="build()Landroid/net/ipsec/ike/ChildSessionConfiguration;"/>
+	</class>
+	<class name="android/net/ipsec/ike/ChildSessionParams" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getChildSaProposals()Ljava/util/List;"/>
+		<method name="getHardLifetimeSeconds()I"/>
+		<method name="getInboundTrafficSelectors()Ljava/util/List;"/>
+		<method name="getOutboundTrafficSelectors()Ljava/util/List;"/>
+		<method name="getSoftLifetimeSeconds()I"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeDerAsn1DnIdentification" since="31">
+		<extends name="android/net/ipsec/ike/IkeIdentification"/>
+		<method name="&lt;init>(Ljavax/security/auth/x500/X500Principal;)V"/>
+		<field name="derAsn1Dn"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeFqdnIdentification" since="31">
+		<extends name="android/net/ipsec/ike/IkeIdentification"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="fqdn"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeIdentification" since="31">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeIpv4AddrIdentification" since="31">
+		<extends name="android/net/ipsec/ike/IkeIdentification"/>
+		<method name="&lt;init>(Ljava/net/Inet4Address;)V"/>
+		<field name="ipv4Address"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeIpv6AddrIdentification" since="31">
+		<extends name="android/net/ipsec/ike/IkeIdentification"/>
+		<method name="&lt;init>(Ljava/net/Inet6Address;)V"/>
+		<field name="ipv6Address"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeKeyIdIdentification" since="31">
+		<extends name="android/net/ipsec/ike/IkeIdentification"/>
+		<method name="&lt;init>([B)V"/>
+		<field name="keyId"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeRfc822AddrIdentification" since="31">
+		<extends name="android/net/ipsec/ike/IkeIdentification"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="rfc822Name"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSaProposal" since="31">
+		<extends name="android/net/ipsec/ike/SaProposal"/>
+		<method name="getPseudorandomFunctions()Ljava/util/List;"/>
+		<method name="getSupportedEncryptionAlgorithms()Ljava/util/Set;"/>
+		<method name="getSupportedIntegrityAlgorithms()Ljava/util/Set;"/>
+		<method name="getSupportedPseudorandomFunctions()Ljava/util/Set;"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSaProposal$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addDhGroup(I)Landroid/net/ipsec/ike/IkeSaProposal$Builder;"/>
+		<method name="addEncryptionAlgorithm(II)Landroid/net/ipsec/ike/IkeSaProposal$Builder;"/>
+		<method name="addIntegrityAlgorithm(I)Landroid/net/ipsec/ike/IkeSaProposal$Builder;"/>
+		<method name="addPseudorandomFunction(I)Landroid/net/ipsec/ike/IkeSaProposal$Builder;"/>
+		<method name="build()Landroid/net/ipsec/ike/IkeSaProposal;"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSession" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/net/ipsec/ike/IkeSessionParams;Landroid/net/ipsec/ike/ChildSessionParams;Ljava/util/concurrent/Executor;Landroid/net/ipsec/ike/IkeSessionCallback;Landroid/net/ipsec/ike/ChildSessionCallback;)V"/>
+		<method name="closeChildSession(Landroid/net/ipsec/ike/ChildSessionCallback;)V"/>
+		<method name="kill()V"/>
+		<method name="openChildSession(Landroid/net/ipsec/ike/ChildSessionParams;Landroid/net/ipsec/ike/ChildSessionCallback;)V"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onClosed()V"/>
+		<method name="onClosedWithException(Landroid/net/ipsec/ike/exceptions/IkeException;)V"/>
+		<method name="onError(Landroid/net/ipsec/ike/exceptions/IkeException;)V"/>
+		<method name="onOpened(Landroid/net/ipsec/ike/IkeSessionConfiguration;)V"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionConfiguration" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getIkeSessionConnectionInfo()Landroid/net/ipsec/ike/IkeSessionConnectionInfo;"/>
+		<method name="getRemoteApplicationVersion()Ljava/lang/String;"/>
+		<method name="getRemoteVendorIds()Ljava/util/List;"/>
+		<method name="isIkeExtensionEnabled(I)Z"/>
+		<field name="EXTENSION_TYPE_FRAGMENTATION"/>
+		<field name="EXTENSION_TYPE_MOBIKE"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionConfiguration$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/net/ipsec/ike/IkeSessionConnectionInfo;)V"/>
+		<method name="addIkeExtension(I)Landroid/net/ipsec/ike/IkeSessionConfiguration$Builder;"/>
+		<method name="addRemoteVendorId([B)Landroid/net/ipsec/ike/IkeSessionConfiguration$Builder;"/>
+		<method name="build()Landroid/net/ipsec/ike/IkeSessionConfiguration;"/>
+		<method name="clearIkeExtensions()Landroid/net/ipsec/ike/IkeSessionConfiguration$Builder;"/>
+		<method name="clearRemoteApplicationVersion()Landroid/net/ipsec/ike/IkeSessionConfiguration$Builder;"/>
+		<method name="clearRemoteVendorIds()Landroid/net/ipsec/ike/IkeSessionConfiguration$Builder;"/>
+		<method name="setRemoteApplicationVersion(Ljava/lang/String;)Landroid/net/ipsec/ike/IkeSessionConfiguration$Builder;"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionConnectionInfo" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/net/InetAddress;Ljava/net/InetAddress;Landroid/net/Network;)V"/>
+		<method name="getLocalAddress()Ljava/net/InetAddress;"/>
+		<method name="getNetwork()Landroid/net/Network;"/>
+		<method name="getRemoteAddress()Ljava/net/InetAddress;"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionParams" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getDpdDelaySeconds()I"/>
+		<method name="getHardLifetimeSeconds()I"/>
+		<method name="getIkeSaProposals()Ljava/util/List;"/>
+		<method name="getLocalAuthConfig()Landroid/net/ipsec/ike/IkeSessionParams$IkeAuthConfig;"/>
+		<method name="getLocalIdentification()Landroid/net/ipsec/ike/IkeIdentification;"/>
+		<method name="getNattKeepAliveDelaySeconds()I"/>
+		<method name="getNetwork()Landroid/net/Network;"/>
+		<method name="getRemoteAuthConfig()Landroid/net/ipsec/ike/IkeSessionParams$IkeAuthConfig;"/>
+		<method name="getRemoteIdentification()Landroid/net/ipsec/ike/IkeIdentification;"/>
+		<method name="getRetransmissionTimeoutsMillis()[I"/>
+		<method name="getServerHostname()Ljava/lang/String;"/>
+		<method name="getSoftLifetimeSeconds()I"/>
+		<method name="hasIkeOption(I)Z"/>
+		<field name="IKE_OPTION_ACCEPT_ANY_REMOTE_ID"/>
+		<field name="IKE_OPTION_EAP_ONLY_AUTH"/>
+		<field name="IKE_OPTION_FORCE_PORT_4500"/>
+		<field name="IKE_OPTION_MOBIKE"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionParams$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/ipsec/ike/IkeSessionParams;)V"/>
+		<method name="addIkeOption(I)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="addIkeSaProposal(Landroid/net/ipsec/ike/IkeSaProposal;)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="build()Landroid/net/ipsec/ike/IkeSessionParams;"/>
+		<method name="removeIkeOption(I)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setAuthDigitalSignature(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;Ljava/security/PrivateKey;)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setAuthDigitalSignature(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;Ljava/util/List;Ljava/security/PrivateKey;)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setAuthEap(Ljava/security/cert/X509Certificate;Landroid/net/eap/EapSessionConfig;)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setAuthPsk([B)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setDpdDelaySeconds(I)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setLifetimeSeconds(II)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setLocalIdentification(Landroid/net/ipsec/ike/IkeIdentification;)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setNattKeepAliveDelaySeconds(I)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setNetwork(Landroid/net/Network;)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setRemoteIdentification(Landroid/net/ipsec/ike/IkeIdentification;)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setRetransmissionTimeoutsMillis([I)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+		<method name="setServerHostname(Ljava/lang/String;)Landroid/net/ipsec/ike/IkeSessionParams$Builder;"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionParams$IkeAuthConfig" since="31">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionParams$IkeAuthDigitalSignLocalConfig" since="31">
+		<extends name="android/net/ipsec/ike/IkeSessionParams$IkeAuthConfig"/>
+		<method name="getClientEndCertificate()Ljava/security/cert/X509Certificate;"/>
+		<method name="getIntermediateCertificates()Ljava/util/List;"/>
+		<method name="getPrivateKey()Ljava/security/PrivateKey;"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionParams$IkeAuthDigitalSignRemoteConfig" since="31">
+		<extends name="android/net/ipsec/ike/IkeSessionParams$IkeAuthConfig"/>
+		<method name="getRemoteCaCert()Ljava/security/cert/X509Certificate;"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionParams$IkeAuthEapConfig" since="31">
+		<extends name="android/net/ipsec/ike/IkeSessionParams$IkeAuthConfig"/>
+		<method name="getEapConfig()Landroid/net/eap/EapSessionConfig;"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeSessionParams$IkeAuthPskConfig" since="31">
+		<extends name="android/net/ipsec/ike/IkeSessionParams$IkeAuthConfig"/>
+		<method name="getPsk()[B"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeTrafficSelector" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IILjava/net/InetAddress;Ljava/net/InetAddress;)V"/>
+		<field name="endPort"/>
+		<field name="endingAddress"/>
+		<field name="startPort"/>
+		<field name="startingAddress"/>
+	</class>
+	<class name="android/net/ipsec/ike/IkeTunnelConnectionParams" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/net/ipsec/ike/IkeSessionParams;Landroid/net/ipsec/ike/TunnelModeChildSessionParams;)V"/>
+		<method name="getIkeSessionParams()Landroid/net/ipsec/ike/IkeSessionParams;"/>
+		<method name="getTunnelModeChildSessionParams()Landroid/net/ipsec/ike/TunnelModeChildSessionParams;"/>
+	</class>
+	<class name="android/net/ipsec/ike/SaProposal" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getDhGroups()Ljava/util/List;"/>
+		<method name="getEncryptionAlgorithms()Ljava/util/List;"/>
+		<method name="getIntegrityAlgorithms()Ljava/util/List;"/>
+		<method name="getSupportedDhGroups()Ljava/util/Set;"/>
+		<field name="DH_GROUP_1024_BIT_MODP"/>
+		<field name="DH_GROUP_1536_BIT_MODP"/>
+		<field name="DH_GROUP_2048_BIT_MODP"/>
+		<field name="DH_GROUP_3072_BIT_MODP"/>
+		<field name="DH_GROUP_4096_BIT_MODP"/>
+		<field name="DH_GROUP_CURVE_25519"/>
+		<field name="DH_GROUP_NONE"/>
+		<field name="ENCRYPTION_ALGORITHM_3DES"/>
+		<field name="ENCRYPTION_ALGORITHM_AES_CBC"/>
+		<field name="ENCRYPTION_ALGORITHM_AES_CTR"/>
+		<field name="ENCRYPTION_ALGORITHM_AES_GCM_12"/>
+		<field name="ENCRYPTION_ALGORITHM_AES_GCM_16"/>
+		<field name="ENCRYPTION_ALGORITHM_AES_GCM_8"/>
+		<field name="ENCRYPTION_ALGORITHM_CHACHA20_POLY1305"/>
+		<field name="INTEGRITY_ALGORITHM_AES_CMAC_96"/>
+		<field name="INTEGRITY_ALGORITHM_AES_XCBC_96"/>
+		<field name="INTEGRITY_ALGORITHM_HMAC_SHA1_96"/>
+		<field name="INTEGRITY_ALGORITHM_HMAC_SHA2_256_128"/>
+		<field name="INTEGRITY_ALGORITHM_HMAC_SHA2_384_192"/>
+		<field name="INTEGRITY_ALGORITHM_HMAC_SHA2_512_256"/>
+		<field name="INTEGRITY_ALGORITHM_NONE"/>
+		<field name="KEY_LEN_AES_128"/>
+		<field name="KEY_LEN_AES_192"/>
+		<field name="KEY_LEN_AES_256"/>
+		<field name="KEY_LEN_UNUSED"/>
+		<field name="PSEUDORANDOM_FUNCTION_AES128_CMAC"/>
+		<field name="PSEUDORANDOM_FUNCTION_AES128_XCBC"/>
+		<field name="PSEUDORANDOM_FUNCTION_HMAC_SHA1"/>
+		<field name="PSEUDORANDOM_FUNCTION_SHA2_256"/>
+		<field name="PSEUDORANDOM_FUNCTION_SHA2_384"/>
+		<field name="PSEUDORANDOM_FUNCTION_SHA2_512"/>
+	</class>
+	<class name="android/net/ipsec/ike/TransportModeChildSessionParams" since="31">
+		<extends name="android/net/ipsec/ike/ChildSessionParams"/>
+	</class>
+	<class name="android/net/ipsec/ike/TransportModeChildSessionParams$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/ipsec/ike/TransportModeChildSessionParams;)V"/>
+		<method name="addChildSaProposal(Landroid/net/ipsec/ike/ChildSaProposal;)Landroid/net/ipsec/ike/TransportModeChildSessionParams$Builder;"/>
+		<method name="addInboundTrafficSelectors(Landroid/net/ipsec/ike/IkeTrafficSelector;)Landroid/net/ipsec/ike/TransportModeChildSessionParams$Builder;"/>
+		<method name="addOutboundTrafficSelectors(Landroid/net/ipsec/ike/IkeTrafficSelector;)Landroid/net/ipsec/ike/TransportModeChildSessionParams$Builder;"/>
+		<method name="build()Landroid/net/ipsec/ike/TransportModeChildSessionParams;"/>
+		<method name="setLifetimeSeconds(II)Landroid/net/ipsec/ike/TransportModeChildSessionParams$Builder;"/>
+	</class>
+	<class name="android/net/ipsec/ike/TunnelModeChildSessionParams" since="31">
+		<extends name="android/net/ipsec/ike/ChildSessionParams"/>
+		<method name="getConfigurationRequests()Ljava/util/List;"/>
+	</class>
+	<class name="android/net/ipsec/ike/TunnelModeChildSessionParams$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/ipsec/ike/TunnelModeChildSessionParams;)V"/>
+		<method name="addChildSaProposal(Landroid/net/ipsec/ike/ChildSaProposal;)Landroid/net/ipsec/ike/TunnelModeChildSessionParams$Builder;"/>
+		<method name="addInboundTrafficSelectors(Landroid/net/ipsec/ike/IkeTrafficSelector;)Landroid/net/ipsec/ike/TunnelModeChildSessionParams$Builder;"/>
+		<method name="addInternalAddressRequest(I)Landroid/net/ipsec/ike/TunnelModeChildSessionParams$Builder;"/>
+		<method name="addInternalAddressRequest(Ljava/net/Inet4Address;)Landroid/net/ipsec/ike/TunnelModeChildSessionParams$Builder;"/>
+		<method name="addInternalAddressRequest(Ljava/net/Inet6Address;I)Landroid/net/ipsec/ike/TunnelModeChildSessionParams$Builder;"/>
+		<method name="addInternalDhcpServerRequest(I)Landroid/net/ipsec/ike/TunnelModeChildSessionParams$Builder;"/>
+		<method name="addInternalDnsServerRequest(I)Landroid/net/ipsec/ike/TunnelModeChildSessionParams$Builder;"/>
+		<method name="addOutboundTrafficSelectors(Landroid/net/ipsec/ike/IkeTrafficSelector;)Landroid/net/ipsec/ike/TunnelModeChildSessionParams$Builder;"/>
+		<method name="build()Landroid/net/ipsec/ike/TunnelModeChildSessionParams;"/>
+		<method name="setLifetimeSeconds(II)Landroid/net/ipsec/ike/TunnelModeChildSessionParams$Builder;"/>
+	</class>
+	<class name="android/net/ipsec/ike/TunnelModeChildSessionParams$ConfigRequestIpv4Address" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/net/ipsec/ike/TunnelModeChildSessionParams$TunnelModeChildConfigRequest"/>
+		<method name="getAddress()Ljava/net/Inet4Address;"/>
+	</class>
+	<class name="android/net/ipsec/ike/TunnelModeChildSessionParams$ConfigRequestIpv4DhcpServer" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/net/ipsec/ike/TunnelModeChildSessionParams$TunnelModeChildConfigRequest"/>
+	</class>
+	<class name="android/net/ipsec/ike/TunnelModeChildSessionParams$ConfigRequestIpv4DnsServer" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/net/ipsec/ike/TunnelModeChildSessionParams$TunnelModeChildConfigRequest"/>
+	</class>
+	<class name="android/net/ipsec/ike/TunnelModeChildSessionParams$ConfigRequestIpv4Netmask" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/net/ipsec/ike/TunnelModeChildSessionParams$TunnelModeChildConfigRequest"/>
+	</class>
+	<class name="android/net/ipsec/ike/TunnelModeChildSessionParams$ConfigRequestIpv6Address" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/net/ipsec/ike/TunnelModeChildSessionParams$TunnelModeChildConfigRequest"/>
+		<method name="getAddress()Ljava/net/Inet6Address;"/>
+		<method name="getPrefixLength()I"/>
+	</class>
+	<class name="android/net/ipsec/ike/TunnelModeChildSessionParams$ConfigRequestIpv6DnsServer" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/net/ipsec/ike/TunnelModeChildSessionParams$TunnelModeChildConfigRequest"/>
+	</class>
+	<class name="android/net/ipsec/ike/TunnelModeChildSessionParams$TunnelModeChildConfigRequest" since="31">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/net/ipsec/ike/exceptions/IkeException" since="31">
+		<extends name="java/lang/Exception"/>
+	</class>
+	<class name="android/net/ipsec/ike/exceptions/IkeInternalException" since="31">
+		<extends name="android/net/ipsec/ike/exceptions/IkeNonProtocolException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/net/ipsec/ike/exceptions/IkeNetworkLostException" since="31">
+		<extends name="android/net/ipsec/ike/exceptions/IkeNonProtocolException"/>
+		<method name="&lt;init>(Landroid/net/Network;)V"/>
+		<method name="getNetwork()Landroid/net/Network;"/>
+	</class>
+	<class name="android/net/ipsec/ike/exceptions/IkeNonProtocolException" since="31">
+		<extends name="android/net/ipsec/ike/exceptions/IkeException"/>
+	</class>
+	<class name="android/net/ipsec/ike/exceptions/IkeProtocolException" since="31">
+		<extends name="android/net/ipsec/ike/exceptions/IkeException"/>
+		<method name="getErrorType()I"/>
+		<field name="ERROR_TYPE_AUTHENTICATION_FAILED"/>
+		<field name="ERROR_TYPE_CHILD_SA_NOT_FOUND"/>
+		<field name="ERROR_TYPE_FAILED_CP_REQUIRED"/>
+		<field name="ERROR_TYPE_INTERNAL_ADDRESS_FAILURE"/>
+		<field name="ERROR_TYPE_INVALID_IKE_SPI"/>
+		<field name="ERROR_TYPE_INVALID_KE_PAYLOAD"/>
+		<field name="ERROR_TYPE_INVALID_MAJOR_VERSION"/>
+		<field name="ERROR_TYPE_INVALID_MESSAGE_ID"/>
+		<field name="ERROR_TYPE_INVALID_SELECTORS"/>
+		<field name="ERROR_TYPE_INVALID_SYNTAX"/>
+		<field name="ERROR_TYPE_NO_ADDITIONAL_SAS"/>
+		<field name="ERROR_TYPE_NO_PROPOSAL_CHOSEN"/>
+		<field name="ERROR_TYPE_SINGLE_PAIR_REQUIRED"/>
+		<field name="ERROR_TYPE_TEMPORARY_FAILURE"/>
+		<field name="ERROR_TYPE_TS_UNACCEPTABLE"/>
+		<field name="ERROR_TYPE_UNSUPPORTED_CRITICAL_PAYLOAD"/>
+	</class>
+	<class name="android/net/ipsec/ike/exceptions/InvalidKeException" since="31">
+		<extends name="android/net/ipsec/ike/exceptions/IkeProtocolException"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getDhGroup()I"/>
+	</class>
+	<class name="android/net/ipsec/ike/exceptions/InvalidMajorVersionException" since="31">
+		<extends name="android/net/ipsec/ike/exceptions/IkeProtocolException"/>
+		<method name="&lt;init>(B)V"/>
+		<method name="getMajorVersion()B"/>
+	</class>
+	<class name="android/net/ipsec/ike/exceptions/InvalidSelectorsException" since="31">
+		<extends name="android/net/ipsec/ike/exceptions/IkeProtocolException"/>
+		<method name="&lt;init>(I[B)V"/>
+		<method name="getIpSecPacketInfo()[B"/>
+		<method name="getIpSecSpi()I"/>
+	</class>
+	<class name="android/net/nsd/NsdManager" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="discoverServices(Ljava/lang/String;ILandroid/net/nsd/NsdManager$DiscoveryListener;)V"/>
+		<method name="registerService(Landroid/net/nsd/NsdServiceInfo;ILandroid/net/nsd/NsdManager$RegistrationListener;)V"/>
+		<method name="resolveService(Landroid/net/nsd/NsdServiceInfo;Landroid/net/nsd/NsdManager$ResolveListener;)V"/>
+		<method name="stopServiceDiscovery(Landroid/net/nsd/NsdManager$DiscoveryListener;)V"/>
+		<method name="unregisterService(Landroid/net/nsd/NsdManager$RegistrationListener;)V"/>
+		<field name="ACTION_NSD_STATE_CHANGED"/>
+		<field name="EXTRA_NSD_STATE"/>
+		<field name="FAILURE_ALREADY_ACTIVE"/>
+		<field name="FAILURE_INTERNAL_ERROR"/>
+		<field name="FAILURE_MAX_LIMIT"/>
+		<field name="NSD_STATE_DISABLED"/>
+		<field name="NSD_STATE_ENABLED"/>
+		<field name="PROTOCOL_DNS_SD"/>
+	</class>
+	<class name="android/net/nsd/NsdManager$DiscoveryListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onDiscoveryStarted(Ljava/lang/String;)V"/>
+		<method name="onDiscoveryStopped(Ljava/lang/String;)V"/>
+		<method name="onServiceFound(Landroid/net/nsd/NsdServiceInfo;)V"/>
+		<method name="onServiceLost(Landroid/net/nsd/NsdServiceInfo;)V"/>
+		<method name="onStartDiscoveryFailed(Ljava/lang/String;I)V"/>
+		<method name="onStopDiscoveryFailed(Ljava/lang/String;I)V"/>
+	</class>
+	<class name="android/net/nsd/NsdManager$RegistrationListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onRegistrationFailed(Landroid/net/nsd/NsdServiceInfo;I)V"/>
+		<method name="onServiceRegistered(Landroid/net/nsd/NsdServiceInfo;)V"/>
+		<method name="onServiceUnregistered(Landroid/net/nsd/NsdServiceInfo;)V"/>
+		<method name="onUnregistrationFailed(Landroid/net/nsd/NsdServiceInfo;I)V"/>
+	</class>
+	<class name="android/net/nsd/NsdManager$ResolveListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onResolveFailed(Landroid/net/nsd/NsdServiceInfo;I)V"/>
+		<method name="onServiceResolved(Landroid/net/nsd/NsdServiceInfo;)V"/>
+	</class>
+	<class name="android/net/nsd/NsdServiceInfo" since="16">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAttributes()Ljava/util/Map;" since="21"/>
+		<method name="getHost()Ljava/net/InetAddress;"/>
+		<method name="getPort()I"/>
+		<method name="getServiceName()Ljava/lang/String;"/>
+		<method name="getServiceType()Ljava/lang/String;"/>
+		<method name="removeAttribute(Ljava/lang/String;)V" since="21"/>
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/String;)V" since="21"/>
+		<method name="setHost(Ljava/net/InetAddress;)V"/>
+		<method name="setPort(I)V"/>
+		<method name="setServiceName(Ljava/lang/String;)V"/>
+		<method name="setServiceType(Ljava/lang/String;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/rtp/AudioCodec" since="12" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="getCodec(ILjava/lang/String;Ljava/lang/String;)Landroid/net/rtp/AudioCodec;" deprecated="31"/>
+		<method name="getCodecs()[Landroid/net/rtp/AudioCodec;" deprecated="31"/>
+		<field name="AMR" deprecated="31"/>
+		<field name="GSM" deprecated="31"/>
+		<field name="GSM_EFR" deprecated="31"/>
+		<field name="PCMA" deprecated="31"/>
+		<field name="PCMU" deprecated="31"/>
+		<field name="fmtp" deprecated="31"/>
+		<field name="rtpmap" deprecated="31"/>
+		<field name="type" deprecated="31"/>
+	</class>
+	<class name="android/net/rtp/AudioGroup" since="12" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" since="30" deprecated="31"/>
+		<method name="clear()V" deprecated="31"/>
+		<method name="getMode()I" deprecated="31"/>
+		<method name="getStreams()[Landroid/net/rtp/AudioStream;" deprecated="31"/>
+		<method name="sendDtmf(I)V" deprecated="31"/>
+		<method name="setMode(I)V" deprecated="31"/>
+		<field name="MODE_ECHO_SUPPRESSION" deprecated="31"/>
+		<field name="MODE_MUTED" deprecated="31"/>
+		<field name="MODE_NORMAL" deprecated="31"/>
+		<field name="MODE_ON_HOLD" deprecated="31"/>
+	</class>
+	<class name="android/net/rtp/AudioStream" since="12" deprecated="31">
+		<extends name="android/net/rtp/RtpStream"/>
+		<method name="&lt;init>(Ljava/net/InetAddress;)V" deprecated="31"/>
+		<method name="getCodec()Landroid/net/rtp/AudioCodec;" deprecated="31"/>
+		<method name="getDtmfType()I" deprecated="31"/>
+		<method name="getGroup()Landroid/net/rtp/AudioGroup;" deprecated="31"/>
+		<method name="join(Landroid/net/rtp/AudioGroup;)V" deprecated="31"/>
+		<method name="setCodec(Landroid/net/rtp/AudioCodec;)V" deprecated="31"/>
+		<method name="setDtmfType(I)V" deprecated="31"/>
+	</class>
+	<class name="android/net/rtp/RtpStream" since="12" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="associate(Ljava/net/InetAddress;I)V" deprecated="31"/>
+		<method name="getLocalAddress()Ljava/net/InetAddress;" deprecated="31"/>
+		<method name="getLocalPort()I" deprecated="31"/>
+		<method name="getMode()I" deprecated="31"/>
+		<method name="getRemoteAddress()Ljava/net/InetAddress;" deprecated="31"/>
+		<method name="getRemotePort()I" deprecated="31"/>
+		<method name="isBusy()Z" deprecated="31"/>
+		<method name="release()V" deprecated="31"/>
+		<method name="setMode(I)V" deprecated="31"/>
+		<field name="MODE_NORMAL" deprecated="31"/>
+		<field name="MODE_RECEIVE_ONLY" deprecated="31"/>
+		<field name="MODE_SEND_ONLY" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipAudioCall" since="9" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/net/sip/SipProfile;)V" deprecated="31"/>
+		<method name="answerCall(I)V" deprecated="31"/>
+		<method name="attachCall(Landroid/net/sip/SipSession;Ljava/lang/String;)V" deprecated="31"/>
+		<method name="close()V" deprecated="31"/>
+		<method name="continueCall(I)V" deprecated="31"/>
+		<method name="endCall()V" deprecated="31"/>
+		<method name="getLocalProfile()Landroid/net/sip/SipProfile;" deprecated="31"/>
+		<method name="getPeerProfile()Landroid/net/sip/SipProfile;" deprecated="31"/>
+		<method name="getState()I" deprecated="31"/>
+		<method name="holdCall(I)V" deprecated="31"/>
+		<method name="isInCall()Z" deprecated="31"/>
+		<method name="isMuted()Z" deprecated="31"/>
+		<method name="isOnHold()Z" deprecated="31"/>
+		<method name="makeCall(Landroid/net/sip/SipProfile;Landroid/net/sip/SipSession;I)V" deprecated="31"/>
+		<method name="sendDtmf(I)V" deprecated="31"/>
+		<method name="sendDtmf(ILandroid/os/Message;)V" deprecated="31"/>
+		<method name="setListener(Landroid/net/sip/SipAudioCall$Listener;)V" deprecated="31"/>
+		<method name="setListener(Landroid/net/sip/SipAudioCall$Listener;Z)V" deprecated="31"/>
+		<method name="setSpeakerMode(Z)V" deprecated="31"/>
+		<method name="startAudio()V" deprecated="31"/>
+		<method name="toggleMute()V" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipAudioCall$Listener" since="9" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="onCallBusy(Landroid/net/sip/SipAudioCall;)V" deprecated="31"/>
+		<method name="onCallEnded(Landroid/net/sip/SipAudioCall;)V" deprecated="31"/>
+		<method name="onCallEstablished(Landroid/net/sip/SipAudioCall;)V" deprecated="31"/>
+		<method name="onCallHeld(Landroid/net/sip/SipAudioCall;)V" deprecated="31"/>
+		<method name="onCalling(Landroid/net/sip/SipAudioCall;)V" deprecated="31"/>
+		<method name="onChanged(Landroid/net/sip/SipAudioCall;)V" deprecated="31"/>
+		<method name="onError(Landroid/net/sip/SipAudioCall;ILjava/lang/String;)V" deprecated="31"/>
+		<method name="onReadyToCall(Landroid/net/sip/SipAudioCall;)V" deprecated="31"/>
+		<method name="onRinging(Landroid/net/sip/SipAudioCall;Landroid/net/sip/SipProfile;)V" deprecated="31"/>
+		<method name="onRingingBack(Landroid/net/sip/SipAudioCall;)V" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipErrorCode" since="9" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="toString(I)Ljava/lang/String;" deprecated="31"/>
+		<field name="CLIENT_ERROR" deprecated="31"/>
+		<field name="CROSS_DOMAIN_AUTHENTICATION" deprecated="31"/>
+		<field name="DATA_CONNECTION_LOST" deprecated="31"/>
+		<field name="INVALID_CREDENTIALS" deprecated="31"/>
+		<field name="INVALID_REMOTE_URI" deprecated="31"/>
+		<field name="IN_PROGRESS" deprecated="31"/>
+		<field name="NO_ERROR" deprecated="31"/>
+		<field name="PEER_NOT_REACHABLE" deprecated="31"/>
+		<field name="SERVER_ERROR" deprecated="31"/>
+		<field name="SERVER_UNREACHABLE" deprecated="31"/>
+		<field name="SOCKET_ERROR" deprecated="31"/>
+		<field name="TIME_OUT" deprecated="31"/>
+		<field name="TRANSACTION_TERMINTED" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipException" since="9" deprecated="31">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="31"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipManager" since="9" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="close(Ljava/lang/String;)V" deprecated="31"/>
+		<method name="createSipSession(Landroid/net/sip/SipProfile;Landroid/net/sip/SipSession$Listener;)Landroid/net/sip/SipSession;" deprecated="31"/>
+		<method name="getCallId(Landroid/content/Intent;)Ljava/lang/String;" deprecated="31"/>
+		<method name="getOfferSessionDescription(Landroid/content/Intent;)Ljava/lang/String;" deprecated="31"/>
+		<method name="getSessionFor(Landroid/content/Intent;)Landroid/net/sip/SipSession;" deprecated="31"/>
+		<method name="isApiSupported(Landroid/content/Context;)Z" deprecated="31"/>
+		<method name="isIncomingCallIntent(Landroid/content/Intent;)Z" deprecated="31"/>
+		<method name="isOpened(Ljava/lang/String;)Z" deprecated="31"/>
+		<method name="isRegistered(Ljava/lang/String;)Z" deprecated="31"/>
+		<method name="isSipWifiOnly(Landroid/content/Context;)Z" deprecated="31"/>
+		<method name="isVoipSupported(Landroid/content/Context;)Z" deprecated="31"/>
+		<method name="makeAudioCall(Landroid/net/sip/SipProfile;Landroid/net/sip/SipProfile;Landroid/net/sip/SipAudioCall$Listener;I)Landroid/net/sip/SipAudioCall;" deprecated="31"/>
+		<method name="makeAudioCall(Ljava/lang/String;Ljava/lang/String;Landroid/net/sip/SipAudioCall$Listener;I)Landroid/net/sip/SipAudioCall;" deprecated="31"/>
+		<method name="newInstance(Landroid/content/Context;)Landroid/net/sip/SipManager;" deprecated="31"/>
+		<method name="open(Landroid/net/sip/SipProfile;)V" deprecated="31"/>
+		<method name="open(Landroid/net/sip/SipProfile;Landroid/app/PendingIntent;Landroid/net/sip/SipRegistrationListener;)V" deprecated="31"/>
+		<method name="register(Landroid/net/sip/SipProfile;ILandroid/net/sip/SipRegistrationListener;)V" deprecated="31"/>
+		<method name="setRegistrationListener(Ljava/lang/String;Landroid/net/sip/SipRegistrationListener;)V" deprecated="31"/>
+		<method name="takeAudioCall(Landroid/content/Intent;Landroid/net/sip/SipAudioCall$Listener;)Landroid/net/sip/SipAudioCall;" deprecated="31"/>
+		<method name="unregister(Landroid/net/sip/SipProfile;Landroid/net/sip/SipRegistrationListener;)V" deprecated="31"/>
+		<field name="EXTRA_CALL_ID" deprecated="31"/>
+		<field name="EXTRA_OFFER_SD" deprecated="31"/>
+		<field name="INCOMING_CALL_RESULT_CODE" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipProfile" since="9" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="getAuthUserName()Ljava/lang/String;" since="12" deprecated="31"/>
+		<method name="getAutoRegistration()Z" deprecated="31"/>
+		<method name="getDisplayName()Ljava/lang/String;" deprecated="31"/>
+		<method name="getPassword()Ljava/lang/String;" deprecated="31"/>
+		<method name="getPort()I" deprecated="31"/>
+		<method name="getProfileName()Ljava/lang/String;" deprecated="31"/>
+		<method name="getProtocol()Ljava/lang/String;" deprecated="31"/>
+		<method name="getProxyAddress()Ljava/lang/String;" deprecated="31"/>
+		<method name="getSendKeepAlive()Z" deprecated="31"/>
+		<method name="getSipDomain()Ljava/lang/String;" deprecated="31"/>
+		<method name="getUriString()Ljava/lang/String;" deprecated="31"/>
+		<method name="getUserName()Ljava/lang/String;" deprecated="31"/>
+		<method name="setCallingUid(I)V" since="30" deprecated="31"/>
+		<field name="CREATOR" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipProfile$Builder" since="9" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/net/sip/SipProfile;)V" deprecated="31"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="31"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V" deprecated="31"/>
+		<method name="build()Landroid/net/sip/SipProfile;" deprecated="31"/>
+		<method name="setAuthUserName(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" since="12" deprecated="31"/>
+		<method name="setAutoRegistration(Z)Landroid/net/sip/SipProfile$Builder;" deprecated="31"/>
+		<method name="setDisplayName(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" deprecated="31"/>
+		<method name="setOutboundProxy(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" deprecated="31"/>
+		<method name="setPassword(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" deprecated="31"/>
+		<method name="setPort(I)Landroid/net/sip/SipProfile$Builder;" deprecated="31"/>
+		<method name="setProfileName(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" deprecated="31"/>
+		<method name="setProtocol(Ljava/lang/String;)Landroid/net/sip/SipProfile$Builder;" deprecated="31"/>
+		<method name="setSendKeepAlive(Z)Landroid/net/sip/SipProfile$Builder;" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipRegistrationListener" since="9" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="onRegistering(Ljava/lang/String;)V" deprecated="31"/>
+		<method name="onRegistrationDone(Ljava/lang/String;J)V" deprecated="31"/>
+		<method name="onRegistrationFailed(Ljava/lang/String;ILjava/lang/String;)V" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipSession" since="9" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="answerCall(Ljava/lang/String;I)V" deprecated="31"/>
+		<method name="changeCall(Ljava/lang/String;I)V" deprecated="31"/>
+		<method name="endCall()V" deprecated="31"/>
+		<method name="getCallId()Ljava/lang/String;" deprecated="31"/>
+		<method name="getLocalIp()Ljava/lang/String;" deprecated="31"/>
+		<method name="getLocalProfile()Landroid/net/sip/SipProfile;" deprecated="31"/>
+		<method name="getPeerProfile()Landroid/net/sip/SipProfile;" deprecated="31"/>
+		<method name="getState()I" deprecated="31"/>
+		<method name="isInCall()Z" deprecated="31"/>
+		<method name="makeCall(Landroid/net/sip/SipProfile;Ljava/lang/String;I)V" deprecated="31"/>
+		<method name="register(I)V" deprecated="31"/>
+		<method name="setListener(Landroid/net/sip/SipSession$Listener;)V" deprecated="31"/>
+		<method name="unregister()V" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipSession$Listener" since="9" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="onCallBusy(Landroid/net/sip/SipSession;)V" deprecated="31"/>
+		<method name="onCallChangeFailed(Landroid/net/sip/SipSession;ILjava/lang/String;)V" deprecated="31"/>
+		<method name="onCallEnded(Landroid/net/sip/SipSession;)V" deprecated="31"/>
+		<method name="onCallEstablished(Landroid/net/sip/SipSession;Ljava/lang/String;)V" deprecated="31"/>
+		<method name="onCalling(Landroid/net/sip/SipSession;)V" deprecated="31"/>
+		<method name="onError(Landroid/net/sip/SipSession;ILjava/lang/String;)V" deprecated="31"/>
+		<method name="onRegistering(Landroid/net/sip/SipSession;)V" deprecated="31"/>
+		<method name="onRegistrationDone(Landroid/net/sip/SipSession;I)V" deprecated="31"/>
+		<method name="onRegistrationFailed(Landroid/net/sip/SipSession;ILjava/lang/String;)V" deprecated="31"/>
+		<method name="onRegistrationTimeout(Landroid/net/sip/SipSession;)V" deprecated="31"/>
+		<method name="onRinging(Landroid/net/sip/SipSession;Landroid/net/sip/SipProfile;Ljava/lang/String;)V" deprecated="31"/>
+		<method name="onRingingBack(Landroid/net/sip/SipSession;)V" deprecated="31"/>
+	</class>
+	<class name="android/net/sip/SipSession$State" since="9" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="toString(I)Ljava/lang/String;" deprecated="31"/>
+		<field name="DEREGISTERING" deprecated="31"/>
+		<field name="INCOMING_CALL" deprecated="31"/>
+		<field name="INCOMING_CALL_ANSWERING" deprecated="31"/>
+		<field name="IN_CALL" deprecated="31"/>
+		<field name="NOT_DEFINED" deprecated="31"/>
+		<field name="OUTGOING_CALL" deprecated="31"/>
+		<field name="OUTGOING_CALL_CANCELING" deprecated="31"/>
+		<field name="OUTGOING_CALL_RING_BACK" deprecated="31"/>
+		<field name="PINGING" deprecated="31"/>
+		<field name="READY_TO_CALL" deprecated="31"/>
+		<field name="REGISTERING" deprecated="31"/>
+	</class>
+	<class name="android/net/ssl/SSLEngines" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="exportKeyingMaterial(Ljavax/net/ssl/SSLEngine;Ljava/lang/String;[BI)[B" since="31"/>
+		<method name="isSupportedEngine(Ljavax/net/ssl/SSLEngine;)Z"/>
+		<method name="setUseSessionTickets(Ljavax/net/ssl/SSLEngine;Z)V"/>
+	</class>
+	<class name="android/net/ssl/SSLSockets" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="exportKeyingMaterial(Ljavax/net/ssl/SSLSocket;Ljava/lang/String;[BI)[B" since="31"/>
+		<method name="isSupportedSocket(Ljavax/net/ssl/SSLSocket;)Z"/>
+		<method name="setUseSessionTickets(Ljavax/net/ssl/SSLSocket;Z)V"/>
+	</class>
+	<class name="android/net/vcn/VcnConfig" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getGatewayConnectionConfigs()Ljava/util/Set;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/vcn/VcnConfig$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="addGatewayConnectionConfig(Landroid/net/vcn/VcnGatewayConnectionConfig;)Landroid/net/vcn/VcnConfig$Builder;"/>
+		<method name="build()Landroid/net/vcn/VcnConfig;"/>
+	</class>
+	<class name="android/net/vcn/VcnGatewayConnectionConfig" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getExposedCapabilities()[I"/>
+		<method name="getGatewayConnectionName()Ljava/lang/String;"/>
+		<method name="getMaxMtu()I"/>
+		<method name="getRetryIntervalsMillis()[J"/>
+	</class>
+	<class name="android/net/vcn/VcnGatewayConnectionConfig$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/net/ipsec/ike/IkeTunnelConnectionParams;)V"/>
+		<method name="addExposedCapability(I)Landroid/net/vcn/VcnGatewayConnectionConfig$Builder;"/>
+		<method name="build()Landroid/net/vcn/VcnGatewayConnectionConfig;"/>
+		<method name="removeExposedCapability(I)Landroid/net/vcn/VcnGatewayConnectionConfig$Builder;"/>
+		<method name="setMaxMtu(I)Landroid/net/vcn/VcnGatewayConnectionConfig$Builder;"/>
+		<method name="setRetryIntervalsMillis([J)Landroid/net/vcn/VcnGatewayConnectionConfig$Builder;"/>
+	</class>
+	<class name="android/net/vcn/VcnManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="clearVcnConfig(Landroid/os/ParcelUuid;)V"/>
+		<method name="getConfiguredSubscriptionGroups()Ljava/util/List;"/>
+		<method name="registerVcnStatusCallback(Landroid/os/ParcelUuid;Ljava/util/concurrent/Executor;Landroid/net/vcn/VcnManager$VcnStatusCallback;)V"/>
+		<method name="setVcnConfig(Landroid/os/ParcelUuid;Landroid/net/vcn/VcnConfig;)V"/>
+		<method name="unregisterVcnStatusCallback(Landroid/net/vcn/VcnManager$VcnStatusCallback;)V"/>
+		<field name="VCN_ERROR_CODE_CONFIG_ERROR"/>
+		<field name="VCN_ERROR_CODE_INTERNAL_ERROR"/>
+		<field name="VCN_ERROR_CODE_NETWORK_ERROR"/>
+		<field name="VCN_STATUS_CODE_ACTIVE"/>
+		<field name="VCN_STATUS_CODE_INACTIVE"/>
+		<field name="VCN_STATUS_CODE_NOT_CONFIGURED"/>
+		<field name="VCN_STATUS_CODE_SAFE_MODE"/>
+	</class>
+	<class name="android/net/vcn/VcnManager$VcnStatusCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onGatewayConnectionError(Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="onStatusChanged(I)V"/>
+	</class>
+	<class name="android/net/wifi/EasyConnectStatusCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_AUTHENTICATION"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_BUSY"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_CANNOT_FIND_NETWORK"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_CONFIGURATION"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_ENROLLEE_AUTHENTICATION"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_ENROLLEE_FAILED_TO_SCAN_NETWORK_CHANNEL" since="31"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_ENROLLEE_REJECTED_CONFIGURATION"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_GENERIC"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_INVALID_NETWORK"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_INVALID_URI"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_NOT_COMPATIBLE"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_NOT_SUPPORTED"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_TIMEOUT"/>
+		<field name="EASY_CONNECT_EVENT_FAILURE_URI_GENERATION" since="31"/>
+	</class>
+	<class name="android/net/wifi/ScanResult" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" since="30"/>
+		<method name="&lt;init>(Landroid/net/wifi/ScanResult;)V" since="30"/>
+		<method name="convertChannelToFrequencyMhzIfSupported(II)I" since="31"/>
+		<method name="convertFrequencyMhzToChannelIfSupported(I)I" since="31"/>
+		<method name="getInformationElements()Ljava/util/List;" since="30"/>
+		<method name="getWifiStandard()I" since="30"/>
+		<method name="is80211mcResponder()Z" since="23"/>
+		<method name="isPasspointNetwork()Z" since="23"/>
+		<field name="BSSID"/>
+		<field name="CHANNEL_WIDTH_160MHZ" since="23"/>
+		<field name="CHANNEL_WIDTH_20MHZ" since="23"/>
+		<field name="CHANNEL_WIDTH_40MHZ" since="23"/>
+		<field name="CHANNEL_WIDTH_80MHZ" since="23"/>
+		<field name="CHANNEL_WIDTH_80MHZ_PLUS_MHZ" since="23"/>
+		<field name="CREATOR" since="30"/>
+		<field name="SSID"/>
+		<field name="UNSPECIFIED" since="31"/>
+		<field name="WIFI_BAND_24_GHZ" since="31"/>
+		<field name="WIFI_BAND_5_GHZ" since="31"/>
+		<field name="WIFI_BAND_60_GHZ" since="31"/>
+		<field name="WIFI_BAND_6_GHZ" since="31"/>
+		<field name="WIFI_STANDARD_11AC" since="30"/>
+		<field name="WIFI_STANDARD_11AD" since="31"/>
+		<field name="WIFI_STANDARD_11AX" since="30"/>
+		<field name="WIFI_STANDARD_11N" since="30"/>
+		<field name="WIFI_STANDARD_LEGACY" since="30"/>
+		<field name="WIFI_STANDARD_UNKNOWN" since="30"/>
+		<field name="capabilities"/>
+		<field name="centerFreq0" since="23"/>
+		<field name="centerFreq1" since="23"/>
+		<field name="channelWidth" since="23"/>
+		<field name="frequency"/>
+		<field name="level"/>
+		<field name="operatorFriendlyName" since="23" deprecated="31"/>
+		<field name="timestamp" since="17"/>
+		<field name="venueName" since="23" deprecated="31"/>
+	</class>
+	<class name="android/net/wifi/ScanResult$InformationElement" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="31"/>
+		<method name="&lt;init>(Landroid/net/wifi/ScanResult$InformationElement;)V"/>
+		<method name="getBytes()Ljava/nio/ByteBuffer;"/>
+		<method name="getId()I"/>
+		<method name="getIdExt()I"/>
+		<field name="CREATOR" since="31"/>
+	</class>
+	<class name="android/net/wifi/SoftApConfiguration" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getBssid()Landroid/net/MacAddress;"/>
+		<method name="getPassphrase()Ljava/lang/String;"/>
+		<method name="getSecurityType()I"/>
+		<method name="getSsid()Ljava/lang/String;"/>
+		<method name="isHiddenSsid()Z"/>
+		<field name="CREATOR"/>
+		<field name="SECURITY_TYPE_OPEN"/>
+		<field name="SECURITY_TYPE_WPA2_PSK"/>
+		<field name="SECURITY_TYPE_WPA3_SAE"/>
+		<field name="SECURITY_TYPE_WPA3_SAE_TRANSITION"/>
+	</class>
+	<class name="android/net/wifi/SupplicantState" since="1">
+		<extends name="java/lang/Enum"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="isValidState(Landroid/net/wifi/SupplicantState;)Z"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/net/wifi/SupplicantState;"/>
+		<method name="values()[Landroid/net/wifi/SupplicantState;"/>
+		<field name="ASSOCIATED"/>
+		<field name="ASSOCIATING"/>
+		<field name="AUTHENTICATING" since="14"/>
+		<field name="COMPLETED"/>
+		<field name="DISCONNECTED"/>
+		<field name="DORMANT"/>
+		<field name="FOUR_WAY_HANDSHAKE"/>
+		<field name="GROUP_HANDSHAKE"/>
+		<field name="INACTIVE"/>
+		<field name="INTERFACE_DISABLED" since="14"/>
+		<field name="INVALID"/>
+		<field name="SCANNING"/>
+		<field name="UNINITIALIZED"/>
+	</class>
+	<class name="android/net/wifi/WifiConfiguration" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/net/wifi/WifiConfiguration;)V" since="30" deprecated="30"/>
+		<method name="getHttpProxy()Landroid/net/ProxyInfo;" since="26" deprecated="29"/>
+		<method name="getKey()Ljava/lang/String;" since="30" deprecated="30"/>
+		<method name="getRandomizedMacAddress()Landroid/net/MacAddress;" since="29" deprecated="29"/>
+		<method name="isPasspoint()Z" since="23" deprecated="29"/>
+		<method name="setHttpProxy(Landroid/net/ProxyInfo;)V" since="26" deprecated="29"/>
+		<method name="setSecurityParams(I)V" since="30" deprecated="30"/>
+		<field name="BSSID" deprecated="29"/>
+		<field name="FQDN" since="21" deprecated="29"/>
+		<field name="SECURITY_TYPE_EAP" since="30" deprecated="30"/>
+		<field name="SECURITY_TYPE_EAP_SUITE_B" since="30" deprecated="30"/>
+		<field name="SECURITY_TYPE_EAP_WPA3_ENTERPRISE" since="31" deprecated="31"/>
+		<field name="SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT" since="31" deprecated="31"/>
+		<field name="SECURITY_TYPE_OPEN" since="30" deprecated="30"/>
+		<field name="SECURITY_TYPE_OWE" since="30" deprecated="30"/>
+		<field name="SECURITY_TYPE_PSK" since="30" deprecated="30"/>
+		<field name="SECURITY_TYPE_SAE" since="30" deprecated="30"/>
+		<field name="SECURITY_TYPE_WAPI_CERT" since="30" deprecated="30"/>
+		<field name="SECURITY_TYPE_WAPI_PSK" since="30" deprecated="30"/>
+		<field name="SECURITY_TYPE_WEP" since="30" deprecated="30"/>
+		<field name="SSID" deprecated="29"/>
+		<field name="allowedAuthAlgorithms" deprecated="29"/>
+		<field name="allowedGroupCiphers" deprecated="29"/>
+		<field name="allowedGroupManagementCiphers" since="29" deprecated="29"/>
+		<field name="allowedKeyManagement" deprecated="29"/>
+		<field name="allowedPairwiseCiphers" deprecated="29"/>
+		<field name="allowedProtocols" deprecated="29"/>
+		<field name="allowedSuiteBCiphers" since="29" deprecated="29"/>
+		<field name="enterpriseConfig" since="18" deprecated="29"/>
+		<field name="hiddenSSID" deprecated="29"/>
+		<field name="isHomeProviderNetwork" since="26" deprecated="29"/>
+		<field name="networkId" deprecated="29"/>
+		<field name="preSharedKey" deprecated="29"/>
+		<field name="priority" deprecated="26"/>
+		<field name="providerFriendlyName" since="23" deprecated="29"/>
+		<field name="roamingConsortiumIds" since="23" deprecated="29"/>
+		<field name="status" deprecated="29"/>
+		<field name="wepKeys" deprecated="28"/>
+		<field name="wepTxKeyIndex" deprecated="28"/>
+	</class>
+	<class name="android/net/wifi/WifiConfiguration$AuthAlgorithm" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<field name="LEAP" deprecated="29"/>
+		<field name="OPEN" deprecated="29"/>
+		<field name="SAE" since="30" deprecated="30"/>
+		<field name="SHARED" deprecated="28"/>
+		<field name="strings" deprecated="29"/>
+		<field name="varName" deprecated="29"/>
+	</class>
+	<class name="android/net/wifi/WifiConfiguration$GroupCipher" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<field name="CCMP" deprecated="29"/>
+		<field name="GCMP_128" since="31" deprecated="31"/>
+		<field name="GCMP_256" since="29" deprecated="29"/>
+		<field name="SMS4" since="30" deprecated="30"/>
+		<field name="TKIP" deprecated="29"/>
+		<field name="WEP104" deprecated="28"/>
+		<field name="WEP40" deprecated="28"/>
+		<field name="strings" deprecated="29"/>
+		<field name="varName" deprecated="29"/>
+	</class>
+	<class name="android/net/wifi/WifiConfiguration$GroupMgmtCipher" since="29" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<field name="BIP_CMAC_256" deprecated="29"/>
+		<field name="BIP_GMAC_128" deprecated="29"/>
+		<field name="BIP_GMAC_256" deprecated="29"/>
+	</class>
+	<class name="android/net/wifi/WifiConfiguration$KeyMgmt" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<field name="IEEE8021X" deprecated="29"/>
+		<field name="NONE" deprecated="29"/>
+		<field name="OWE" since="29" deprecated="29"/>
+		<field name="SAE" since="29" deprecated="29"/>
+		<field name="SUITE_B_192" since="29" deprecated="29"/>
+		<field name="WPA_EAP" deprecated="29"/>
+		<field name="WPA_PSK" deprecated="29"/>
+		<field name="strings" deprecated="29"/>
+		<field name="varName" deprecated="29"/>
+	</class>
+	<class name="android/net/wifi/WifiConfiguration$PairwiseCipher" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<field name="CCMP" deprecated="29"/>
+		<field name="GCMP_128" since="31" deprecated="31"/>
+		<field name="GCMP_256" since="29" deprecated="29"/>
+		<field name="NONE" deprecated="29"/>
+		<field name="SMS4" since="30" deprecated="30"/>
+		<field name="TKIP" deprecated="28"/>
+		<field name="strings" deprecated="29"/>
+		<field name="varName" deprecated="29"/>
+	</class>
+	<class name="android/net/wifi/WifiConfiguration$Protocol" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<field name="RSN" deprecated="29"/>
+		<field name="WAPI" since="30" deprecated="30"/>
+		<field name="WPA" deprecated="28"/>
+		<field name="strings" deprecated="29"/>
+		<field name="varName" deprecated="29"/>
+	</class>
+	<class name="android/net/wifi/WifiConfiguration$Status" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<field name="CURRENT" deprecated="29"/>
+		<field name="DISABLED" deprecated="29"/>
+		<field name="ENABLED" deprecated="29"/>
+		<field name="strings" deprecated="29"/>
+	</class>
+	<class name="android/net/wifi/WifiEnterpriseConfig" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/WifiEnterpriseConfig;)V"/>
+		<method name="getAltSubjectMatch()Ljava/lang/String;" since="23"/>
+		<method name="getAnonymousIdentity()Ljava/lang/String;"/>
+		<method name="getCaCertificate()Ljava/security/cert/X509Certificate;"/>
+		<method name="getCaCertificates()[Ljava/security/cert/X509Certificate;" since="24"/>
+		<method name="getClientCertificate()Ljava/security/cert/X509Certificate;"/>
+		<method name="getClientCertificateChain()[Ljava/security/cert/X509Certificate;" since="26"/>
+		<method name="getClientKeyPairAlias()Ljava/lang/String;" since="31"/>
+		<method name="getClientPrivateKey()Ljava/security/PrivateKey;" since="30"/>
+		<method name="getDecoratedIdentityPrefix()Ljava/lang/String;" since="31"/>
+		<method name="getDomainSuffixMatch()Ljava/lang/String;" since="23"/>
+		<method name="getEapMethod()I"/>
+		<method name="getIdentity()Ljava/lang/String;"/>
+		<method name="getPassword()Ljava/lang/String;"/>
+		<method name="getPhase2Method()I"/>
+		<method name="getPlmn()Ljava/lang/String;" since="23"/>
+		<method name="getRealm()Ljava/lang/String;" since="23"/>
+		<method name="getSubjectMatch()Ljava/lang/String;" deprecated="23"/>
+		<method name="isAuthenticationSimBased()Z" since="30"/>
+		<method name="isEapMethodServerCertUsed()Z" since="31"/>
+		<method name="isServerCertValidationEnabled()Z" since="31"/>
+		<method name="setAltSubjectMatch(Ljava/lang/String;)V" since="23"/>
+		<method name="setAnonymousIdentity(Ljava/lang/String;)V"/>
+		<method name="setCaCertificate(Ljava/security/cert/X509Certificate;)V"/>
+		<method name="setCaCertificates([Ljava/security/cert/X509Certificate;)V" since="24"/>
+		<method name="setClientKeyEntry(Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;)V"/>
+		<method name="setClientKeyEntryWithCertificateChain(Ljava/security/PrivateKey;[Ljava/security/cert/X509Certificate;)V" since="26"/>
+		<method name="setClientKeyPairAlias(Ljava/lang/String;)V" since="31"/>
+		<method name="setDecoratedIdentityPrefix(Ljava/lang/String;)V" since="31"/>
+		<method name="setDomainSuffixMatch(Ljava/lang/String;)V" since="23"/>
+		<method name="setEapMethod(I)V"/>
+		<method name="setIdentity(Ljava/lang/String;)V"/>
+		<method name="setPassword(Ljava/lang/String;)V"/>
+		<method name="setPhase2Method(I)V"/>
+		<method name="setPlmn(Ljava/lang/String;)V" since="23"/>
+		<method name="setRealm(Ljava/lang/String;)V" since="23"/>
+		<method name="setSubjectMatch(Ljava/lang/String;)V" deprecated="23"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_WAPI_AS_CERTIFICATE_DATA" since="30"/>
+		<field name="EXTRA_WAPI_AS_CERTIFICATE_NAME" since="30"/>
+		<field name="EXTRA_WAPI_USER_CERTIFICATE_DATA" since="30"/>
+		<field name="EXTRA_WAPI_USER_CERTIFICATE_NAME" since="30"/>
+		<field name="WAPI_AS_CERTIFICATE" since="30"/>
+		<field name="WAPI_USER_CERTIFICATE" since="30"/>
+	</class>
+	<class name="android/net/wifi/WifiEnterpriseConfig$Eap" since="18">
+		<extends name="java/lang/Object"/>
+		<field name="AKA" since="21"/>
+		<field name="AKA_PRIME" since="23"/>
+		<field name="NONE"/>
+		<field name="PEAP"/>
+		<field name="PWD"/>
+		<field name="SIM" since="21"/>
+		<field name="TLS"/>
+		<field name="TTLS"/>
+		<field name="UNAUTH_TLS" since="24"/>
+		<field name="WAPI_CERT" since="30"/>
+	</class>
+	<class name="android/net/wifi/WifiEnterpriseConfig$Phase2" since="18">
+		<extends name="java/lang/Object"/>
+		<field name="AKA" since="26"/>
+		<field name="AKA_PRIME" since="26"/>
+		<field name="GTC"/>
+		<field name="MSCHAP"/>
+		<field name="MSCHAPV2"/>
+		<field name="NONE"/>
+		<field name="PAP"/>
+		<field name="SIM" since="26"/>
+	</class>
+	<class name="android/net/wifi/WifiInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/net/TransportInfo" since="31"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getApplicableRedactions()J" since="31"/>
+		<method name="getBSSID()Ljava/lang/String;"/>
+		<method name="getCurrentSecurityType()I" since="31"/>
+		<method name="getDetailedStateOf(Landroid/net/wifi/SupplicantState;)Landroid/net/NetworkInfo$DetailedState;"/>
+		<method name="getFrequency()I" since="21"/>
+		<method name="getHiddenSSID()Z"/>
+		<method name="getInformationElements()Ljava/util/List;" since="31"/>
+		<method name="getIpAddress()I" deprecated="31"/>
+		<method name="getLinkSpeed()I"/>
+		<method name="getMacAddress()Ljava/lang/String;"/>
+		<method name="getMaxSupportedRxLinkSpeedMbps()I" since="30"/>
+		<method name="getMaxSupportedTxLinkSpeedMbps()I" since="30"/>
+		<method name="getNetworkId()I"/>
+		<method name="getPasspointFqdn()Ljava/lang/String;" since="29"/>
+		<method name="getPasspointProviderFriendlyName()Ljava/lang/String;" since="29"/>
+		<method name="getRssi()I"/>
+		<method name="getRxLinkSpeedMbps()I" since="29"/>
+		<method name="getSSID()Ljava/lang/String;"/>
+		<method name="getSubscriptionId()I" since="31"/>
+		<method name="getSupplicantState()Landroid/net/wifi/SupplicantState;"/>
+		<method name="getTxLinkSpeedMbps()I" since="29"/>
+		<method name="getWifiStandard()I" since="30"/>
+		<method name="makeCopy(J)Landroid/net/TransportInfo;" since="31" removed="32"/>
+		<method name="makeCopy(J)Landroid/net/wifi/WifiInfo;" since="31"/>
+		<field name="FREQUENCY_UNITS" since="21"/>
+		<field name="LINK_SPEED_UNITS"/>
+		<field name="LINK_SPEED_UNKNOWN" since="29"/>
+		<field name="SECURITY_TYPE_EAP" since="31"/>
+		<field name="SECURITY_TYPE_EAP_WPA3_ENTERPRISE" since="31"/>
+		<field name="SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT" since="31"/>
+		<field name="SECURITY_TYPE_OPEN" since="31"/>
+		<field name="SECURITY_TYPE_OSEN" since="31"/>
+		<field name="SECURITY_TYPE_OWE" since="31"/>
+		<field name="SECURITY_TYPE_PASSPOINT_R1_R2" since="31"/>
+		<field name="SECURITY_TYPE_PASSPOINT_R3" since="31"/>
+		<field name="SECURITY_TYPE_PSK" since="31"/>
+		<field name="SECURITY_TYPE_SAE" since="31"/>
+		<field name="SECURITY_TYPE_UNKNOWN" since="31"/>
+		<field name="SECURITY_TYPE_WAPI_CERT" since="31"/>
+		<field name="SECURITY_TYPE_WAPI_PSK" since="31"/>
+		<field name="SECURITY_TYPE_WEP" since="31"/>
+	</class>
+	<class name="android/net/wifi/WifiInfo$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/net/wifi/WifiInfo;"/>
+		<method name="setBssid(Ljava/lang/String;)Landroid/net/wifi/WifiInfo$Builder;"/>
+		<method name="setCurrentSecurityType(I)Landroid/net/wifi/WifiInfo$Builder;" since="31"/>
+		<method name="setNetworkId(I)Landroid/net/wifi/WifiInfo$Builder;"/>
+		<method name="setRssi(I)Landroid/net/wifi/WifiInfo$Builder;"/>
+		<method name="setSsid([B)Landroid/net/wifi/WifiInfo$Builder;"/>
+	</class>
+	<class name="android/net/wifi/WifiManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addNetwork(Landroid/net/wifi/WifiConfiguration;)I" deprecated="29"/>
+		<method name="addNetworkPrivileged(Landroid/net/wifi/WifiConfiguration;)Landroid/net/wifi/WifiManager$AddNetworkResult;" since="31"/>
+		<method name="addNetworkSuggestions(Ljava/util/List;)I" since="29"/>
+		<method name="addOrUpdatePasspointConfiguration(Landroid/net/wifi/hotspot2/PasspointConfiguration;)V" since="26"/>
+		<method name="addSuggestionConnectionStatusListener(Ljava/util/concurrent/Executor;Landroid/net/wifi/WifiManager$SuggestionConnectionStatusListener;)V" since="30"/>
+		<method name="addSuggestionUserApprovalStatusListener(Ljava/util/concurrent/Executor;Landroid/net/wifi/WifiManager$SuggestionUserApprovalStatusListener;)V" since="31"/>
+		<method name="calculateSignalLevel(I)I" since="30"/>
+		<method name="calculateSignalLevel(II)I" deprecated="30"/>
+		<method name="cancelWps(Landroid/net/wifi/WifiManager$WpsCallback;)V" since="21" deprecated="28"/>
+		<method name="compareSignalLevel(II)I"/>
+		<method name="createMulticastLock(Ljava/lang/String;)Landroid/net/wifi/WifiManager$MulticastLock;" since="4"/>
+		<method name="createWifiLock(ILjava/lang/String;)Landroid/net/wifi/WifiManager$WifiLock;" since="3"/>
+		<method name="createWifiLock(Ljava/lang/String;)Landroid/net/wifi/WifiManager$WifiLock;" deprecated="29"/>
+		<method name="disableNetwork(I)Z" deprecated="29"/>
+		<method name="disconnect()Z" deprecated="29"/>
+		<method name="enableNetwork(IZ)Z" deprecated="29"/>
+		<method name="flushPasspointAnqpCache()V" since="31"/>
+		<method name="getCallerConfiguredNetworks()Ljava/util/List;" since="31"/>
+		<method name="getConfiguredNetworks()Ljava/util/List;" deprecated="29"/>
+		<method name="getConnectionInfo()Landroid/net/wifi/WifiInfo;" deprecated="31"/>
+		<method name="getDhcpInfo()Landroid/net/DhcpInfo;" deprecated="31"/>
+		<method name="getMaxNumberOfNetworkSuggestionsPerApp()I" since="29"/>
+		<method name="getMaxSignalLevel()I" since="30"/>
+		<method name="getNetworkSuggestions()Ljava/util/List;" since="30"/>
+		<method name="getPasspointConfigurations()Ljava/util/List;" since="26" deprecated="29"/>
+		<method name="getScanResults()Ljava/util/List;"/>
+		<method name="getWifiState()I"/>
+		<method name="is24GHzBandSupported()Z" since="31"/>
+		<method name="is5GHzBandSupported()Z" since="21"/>
+		<method name="is60GHzBandSupported()Z" since="31"/>
+		<method name="is6GHzBandSupported()Z" since="30"/>
+		<method name="isAutoWakeupEnabled()Z" since="30"/>
+		<method name="isBridgedApConcurrencySupported()Z" since="31"/>
+		<method name="isCarrierNetworkOffloadEnabled(IZ)Z" since="31"/>
+		<method name="isDecoratedIdentitySupported()Z" since="31"/>
+		<method name="isDeviceToApRttSupported()Z" since="21" deprecated="29"/>
+		<method name="isEasyConnectEnrolleeResponderModeSupported()Z" since="31"/>
+		<method name="isEasyConnectSupported()Z" since="29"/>
+		<method name="isEnhancedOpenSupported()Z" since="29"/>
+		<method name="isEnhancedPowerReportingSupported()Z" since="21"/>
+		<method name="isMakeBeforeBreakWifiSwitchingSupported()Z" since="31"/>
+		<method name="isP2pSupported()Z" since="21"/>
+		<method name="isPasspointTermsAndConditionsSupported()Z" since="31"/>
+		<method name="isPreferredNetworkOffloadSupported()Z" since="21"/>
+		<method name="isScanAlwaysAvailable()Z" since="18" deprecated="29"/>
+		<method name="isScanThrottleEnabled()Z" since="30"/>
+		<method name="isStaApConcurrencySupported()Z" since="30"/>
+		<method name="isStaBridgedApConcurrencySupported()Z" since="31"/>
+		<method name="isStaConcurrencyForLocalOnlyConnectionsSupported()Z" since="31"/>
+		<method name="isTdlsSupported()Z" since="21"/>
+		<method name="isWapiSupported()Z" since="30"/>
+		<method name="isWifiDisplayR2Supported()Z" since="31"/>
+		<method name="isWifiEnabled()Z"/>
+		<method name="isWifiStandardSupported(I)Z" since="30"/>
+		<method name="isWpa3SaeH2eSupported()Z" since="31"/>
+		<method name="isWpa3SaePublicKeySupported()Z" since="31"/>
+		<method name="isWpa3SaeSupported()Z" since="29"/>
+		<method name="isWpa3SuiteBSupported()Z" since="29"/>
+		<method name="pingSupplicant()Z" deprecated="26"/>
+		<method name="reassociate()Z" deprecated="29"/>
+		<method name="reconnect()Z" deprecated="29"/>
+		<method name="registerScanResultsCallback(Ljava/util/concurrent/Executor;Landroid/net/wifi/WifiManager$ScanResultsCallback;)V" since="30"/>
+		<method name="registerSubsystemRestartTrackingCallback(Ljava/util/concurrent/Executor;Landroid/net/wifi/WifiManager$SubsystemRestartTrackingCallback;)V" since="31"/>
+		<method name="removeNetwork(I)Z" deprecated="29"/>
+		<method name="removeNetworkSuggestions(Ljava/util/List;)I" since="29"/>
+		<method name="removeNonCallerConfiguredNetworks()Z" since="31"/>
+		<method name="removePasspointConfiguration(Ljava/lang/String;)V" since="26" deprecated="29"/>
+		<method name="removeSuggestionConnectionStatusListener(Landroid/net/wifi/WifiManager$SuggestionConnectionStatusListener;)V" since="30"/>
+		<method name="removeSuggestionUserApprovalStatusListener(Landroid/net/wifi/WifiManager$SuggestionUserApprovalStatusListener;)V" since="31"/>
+		<method name="saveConfiguration()Z" deprecated="26"/>
+		<method name="setTdlsEnabled(Ljava/net/InetAddress;Z)V" since="19"/>
+		<method name="setTdlsEnabledWithMacAddress(Ljava/lang/String;Z)V" since="19"/>
+		<method name="setWifiEnabled(Z)Z" deprecated="29"/>
+		<method name="startLocalOnlyHotspot(Landroid/net/wifi/WifiManager$LocalOnlyHotspotCallback;Landroid/os/Handler;)V" since="26"/>
+		<method name="startScan()Z" deprecated="28"/>
+		<method name="startWps(Landroid/net/wifi/WpsInfo;Landroid/net/wifi/WifiManager$WpsCallback;)V" since="21" deprecated="28"/>
+		<method name="unregisterScanResultsCallback(Landroid/net/wifi/WifiManager$ScanResultsCallback;)V" since="30"/>
+		<method name="unregisterSubsystemRestartTrackingCallback(Landroid/net/wifi/WifiManager$SubsystemRestartTrackingCallback;)V" since="31"/>
+		<method name="updateNetwork(Landroid/net/wifi/WifiConfiguration;)I" deprecated="29"/>
+		<field name="ACTION_PICK_WIFI_NETWORK"/>
+		<field name="ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE" since="18"/>
+		<field name="ACTION_WIFI_NETWORK_SUGGESTION_POST_CONNECTION" since="29"/>
+		<field name="ACTION_WIFI_SCAN_AVAILABILITY_CHANGED" since="30"/>
+		<field name="ERROR_AUTHENTICATING" deprecated="28"/>
+		<field name="EXTRA_BSSID" deprecated="28"/>
+		<field name="EXTRA_NETWORK_INFO"/>
+		<field name="EXTRA_NETWORK_SUGGESTION" since="29"/>
+		<field name="EXTRA_NEW_RSSI"/>
+		<field name="EXTRA_NEW_STATE" deprecated="28"/>
+		<field name="EXTRA_PREVIOUS_WIFI_STATE"/>
+		<field name="EXTRA_RESULTS_UPDATED" since="23"/>
+		<field name="EXTRA_SCAN_AVAILABLE" since="30"/>
+		<field name="EXTRA_SUPPLICANT_CONNECTED" deprecated="28"/>
+		<field name="EXTRA_SUPPLICANT_ERROR" deprecated="28"/>
+		<field name="EXTRA_WIFI_INFO" since="14" deprecated="28"/>
+		<field name="EXTRA_WIFI_STATE"/>
+		<field name="NETWORK_IDS_CHANGED_ACTION"/>
+		<field name="NETWORK_STATE_CHANGED_ACTION"/>
+		<field name="RSSI_CHANGED_ACTION"/>
+		<field name="SCAN_RESULTS_AVAILABLE_ACTION"/>
+		<field name="STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_DUPLICATE" since="29"/>
+		<field name="STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_EXCEEDS_MAX_PER_APP" since="29"/>
+		<field name="STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_INVALID" since="30"/>
+		<field name="STATUS_NETWORK_SUGGESTIONS_ERROR_ADD_NOT_ALLOWED" since="30"/>
+		<field name="STATUS_NETWORK_SUGGESTIONS_ERROR_APP_DISALLOWED" since="29"/>
+		<field name="STATUS_NETWORK_SUGGESTIONS_ERROR_INTERNAL" since="29"/>
+		<field name="STATUS_NETWORK_SUGGESTIONS_ERROR_REMOVE_INVALID" since="29"/>
+		<field name="STATUS_NETWORK_SUGGESTIONS_SUCCESS" since="29"/>
+		<field name="STATUS_SUGGESTION_APPROVAL_APPROVED_BY_CARRIER_PRIVILEGE" since="31"/>
+		<field name="STATUS_SUGGESTION_APPROVAL_APPROVED_BY_USER" since="31"/>
+		<field name="STATUS_SUGGESTION_APPROVAL_PENDING" since="31"/>
+		<field name="STATUS_SUGGESTION_APPROVAL_REJECTED_BY_USER" since="31"/>
+		<field name="STATUS_SUGGESTION_APPROVAL_UNKNOWN" since="31"/>
+		<field name="STATUS_SUGGESTION_CONNECTION_FAILURE_ASSOCIATION" since="30"/>
+		<field name="STATUS_SUGGESTION_CONNECTION_FAILURE_AUTHENTICATION" since="30"/>
+		<field name="STATUS_SUGGESTION_CONNECTION_FAILURE_IP_PROVISIONING" since="30"/>
+		<field name="STATUS_SUGGESTION_CONNECTION_FAILURE_UNKNOWN" since="30"/>
+		<field name="SUPPLICANT_CONNECTION_CHANGE_ACTION" deprecated="28"/>
+		<field name="SUPPLICANT_STATE_CHANGED_ACTION" deprecated="28"/>
+		<field name="UNKNOWN_SSID" since="30"/>
+		<field name="WIFI_MODE_FULL" since="3" deprecated="29"/>
+		<field name="WIFI_MODE_FULL_HIGH_PERF" since="12"/>
+		<field name="WIFI_MODE_FULL_LOW_LATENCY" since="29"/>
+		<field name="WIFI_MODE_SCAN_ONLY" since="3" deprecated="29"/>
+		<field name="WIFI_STATE_CHANGED_ACTION"/>
+		<field name="WIFI_STATE_DISABLED"/>
+		<field name="WIFI_STATE_DISABLING"/>
+		<field name="WIFI_STATE_ENABLED"/>
+		<field name="WIFI_STATE_ENABLING"/>
+		<field name="WIFI_STATE_UNKNOWN"/>
+		<field name="WPS_AUTH_FAILURE" since="21" deprecated="28"/>
+		<field name="WPS_OVERLAP_ERROR" since="21" deprecated="28"/>
+		<field name="WPS_TIMED_OUT" since="21" deprecated="28"/>
+		<field name="WPS_TKIP_ONLY_PROHIBITED" since="21" deprecated="28"/>
+		<field name="WPS_WEP_PROHIBITED" since="21" deprecated="28"/>
+	</class>
+	<class name="android/net/wifi/WifiManager$AddNetworkResult" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(II)V"/>
+		<field name="CREATOR"/>
+		<field name="STATUS_ADD_PASSPOINT_FAILURE"/>
+		<field name="STATUS_ADD_WIFI_CONFIG_FAILURE"/>
+		<field name="STATUS_FAILURE_UNKNOWN"/>
+		<field name="STATUS_FAILURE_UPDATE_NETWORK_KEYS"/>
+		<field name="STATUS_INVALID_CONFIGURATION"/>
+		<field name="STATUS_INVALID_CONFIGURATION_ENTERPRISE"/>
+		<field name="STATUS_NO_PERMISSION"/>
+		<field name="STATUS_NO_PERMISSION_MODIFY_CONFIG"/>
+		<field name="STATUS_NO_PERMISSION_MODIFY_MAC_RANDOMIZATION"/>
+		<field name="STATUS_NO_PERMISSION_MODIFY_PROXY_SETTING"/>
+		<field name="STATUS_SUCCESS"/>
+		<field name="networkId"/>
+		<field name="statusCode"/>
+	</class>
+	<class name="android/net/wifi/WifiManager$LocalOnlyHotspotCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onFailed(I)V"/>
+		<method name="onStarted(Landroid/net/wifi/WifiManager$LocalOnlyHotspotReservation;)V"/>
+		<method name="onStopped()V"/>
+		<field name="ERROR_GENERIC"/>
+		<field name="ERROR_INCOMPATIBLE_MODE"/>
+		<field name="ERROR_NO_CHANNEL"/>
+		<field name="ERROR_TETHERING_DISALLOWED"/>
+	</class>
+	<class name="android/net/wifi/WifiManager$LocalOnlyHotspotReservation" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getSoftApConfiguration()Landroid/net/wifi/SoftApConfiguration;" since="30"/>
+		<method name="getWifiConfiguration()Landroid/net/wifi/WifiConfiguration;" deprecated="30"/>
+	</class>
+	<class name="android/net/wifi/WifiManager$MulticastLock" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="acquire()V"/>
+		<method name="isHeld()Z"/>
+		<method name="release()V"/>
+		<method name="setReferenceCounted(Z)V"/>
+	</class>
+	<class name="android/net/wifi/WifiManager$ScanResultsCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onScanResultsAvailable()V"/>
+	</class>
+	<class name="android/net/wifi/WifiManager$SubsystemRestartTrackingCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onSubsystemRestarted()V"/>
+		<method name="onSubsystemRestarting()V"/>
+	</class>
+	<class name="android/net/wifi/WifiManager$SuggestionConnectionStatusListener" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onConnectionStatus(Landroid/net/wifi/WifiNetworkSuggestion;I)V"/>
+	</class>
+	<class name="android/net/wifi/WifiManager$SuggestionUserApprovalStatusListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onUserApprovalStatusChange(I)V"/>
+	</class>
+	<class name="android/net/wifi/WifiManager$WifiLock" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="acquire()V"/>
+		<method name="isHeld()Z"/>
+		<method name="release()V"/>
+		<method name="setReferenceCounted(Z)V"/>
+		<method name="setWorkSource(Landroid/os/WorkSource;)V" since="9"/>
+	</class>
+	<class name="android/net/wifi/WifiManager$WpsCallback" since="21" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="onFailed(I)V" deprecated="28"/>
+		<method name="onStarted(Ljava/lang/String;)V" deprecated="28"/>
+		<method name="onSucceeded()V" deprecated="28"/>
+	</class>
+	<class name="android/net/wifi/WifiNetworkSpecifier" since="29">
+		<extends name="android/net/NetworkSpecifier"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="canBeSatisfiedBy(Landroid/net/NetworkSpecifier;)Z" since="31" removed="32"/>
+		<method name="getBand()I" since="31"/>
+		<method name="redact()Landroid/net/NetworkSpecifier;" since="31" removed="32"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/WifiNetworkSpecifier$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/net/wifi/WifiNetworkSpecifier;"/>
+		<method name="setBand(I)Landroid/net/wifi/WifiNetworkSpecifier$Builder;" since="31"/>
+		<method name="setBssid(Landroid/net/MacAddress;)Landroid/net/wifi/WifiNetworkSpecifier$Builder;"/>
+		<method name="setBssidPattern(Landroid/net/MacAddress;Landroid/net/MacAddress;)Landroid/net/wifi/WifiNetworkSpecifier$Builder;"/>
+		<method name="setIsEnhancedOpen(Z)Landroid/net/wifi/WifiNetworkSpecifier$Builder;"/>
+		<method name="setIsHiddenSsid(Z)Landroid/net/wifi/WifiNetworkSpecifier$Builder;"/>
+		<method name="setSsid(Ljava/lang/String;)Landroid/net/wifi/WifiNetworkSpecifier$Builder;"/>
+		<method name="setSsidPattern(Landroid/os/PatternMatcher;)Landroid/net/wifi/WifiNetworkSpecifier$Builder;"/>
+		<method name="setWpa2EnterpriseConfig(Landroid/net/wifi/WifiEnterpriseConfig;)Landroid/net/wifi/WifiNetworkSpecifier$Builder;"/>
+		<method name="setWpa2Passphrase(Ljava/lang/String;)Landroid/net/wifi/WifiNetworkSpecifier$Builder;"/>
+		<method name="setWpa3Enterprise192BitModeConfig(Landroid/net/wifi/WifiEnterpriseConfig;)Landroid/net/wifi/WifiNetworkSpecifier$Builder;" since="31"/>
+		<method name="setWpa3EnterpriseConfig(Landroid/net/wifi/WifiEnterpriseConfig;)Landroid/net/wifi/WifiNetworkSpecifier$Builder;" deprecated="31"/>
+		<method name="setWpa3EnterpriseStandardModeConfig(Landroid/net/wifi/WifiEnterpriseConfig;)Landroid/net/wifi/WifiNetworkSpecifier$Builder;" since="31"/>
+		<method name="setWpa3Passphrase(Ljava/lang/String;)Landroid/net/wifi/WifiNetworkSpecifier$Builder;"/>
+	</class>
+	<class name="android/net/wifi/WifiNetworkSuggestion" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getBssid()Landroid/net/MacAddress;" since="30"/>
+		<method name="getEnterpriseConfig()Landroid/net/wifi/WifiEnterpriseConfig;" since="30"/>
+		<method name="getPassphrase()Ljava/lang/String;" since="30"/>
+		<method name="getPasspointConfig()Landroid/net/wifi/hotspot2/PasspointConfiguration;" since="30"/>
+		<method name="getPriority()I" since="30"/>
+		<method name="getPriorityGroup()I" since="31"/>
+		<method name="getSsid()Ljava/lang/String;" since="30"/>
+		<method name="getSubscriptionId()I" since="31"/>
+		<method name="isAppInteractionRequired()Z" since="30"/>
+		<method name="isCarrierMerged()Z" since="31"/>
+		<method name="isCredentialSharedWithUser()Z" since="30"/>
+		<method name="isEnhancedOpen()Z" since="30"/>
+		<method name="isHiddenSsid()Z" since="30"/>
+		<method name="isInitialAutojoinEnabled()Z" since="30"/>
+		<method name="isMetered()Z" since="30"/>
+		<method name="isUntrusted()Z" since="30"/>
+		<method name="isUserInteractionRequired()Z" since="30"/>
+		<field name="CREATOR"/>
+		<field name="RANDOMIZATION_NON_PERSISTENT" since="31"/>
+		<field name="RANDOMIZATION_PERSISTENT" since="31"/>
+	</class>
+	<class name="android/net/wifi/WifiNetworkSuggestion$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/net/wifi/WifiNetworkSuggestion;"/>
+		<method name="setBssid(Landroid/net/MacAddress;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+		<method name="setCarrierMerged(Z)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="31"/>
+		<method name="setCredentialSharedWithUser(Z)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="30"/>
+		<method name="setIsAppInteractionRequired(Z)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+		<method name="setIsEnhancedOpen(Z)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+		<method name="setIsHiddenSsid(Z)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+		<method name="setIsInitialAutojoinEnabled(Z)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="30"/>
+		<method name="setIsMetered(Z)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+		<method name="setIsUserInteractionRequired(Z)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+		<method name="setIsWpa3SaeH2eOnlyModeEnabled(Z)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="31"/>
+		<method name="setMacRandomizationSetting(I)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="31"/>
+		<method name="setPasspointConfig(Landroid/net/wifi/hotspot2/PasspointConfiguration;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="30"/>
+		<method name="setPriority(I)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+		<method name="setPriorityGroup(I)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="31"/>
+		<method name="setSsid(Ljava/lang/String;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+		<method name="setSubscriptionId(I)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="31"/>
+		<method name="setUntrusted(Z)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="30"/>
+		<method name="setWapiEnterpriseConfig(Landroid/net/wifi/WifiEnterpriseConfig;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="30"/>
+		<method name="setWapiPassphrase(Ljava/lang/String;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="30"/>
+		<method name="setWpa2EnterpriseConfig(Landroid/net/wifi/WifiEnterpriseConfig;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+		<method name="setWpa2Passphrase(Ljava/lang/String;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+		<method name="setWpa3Enterprise192BitModeConfig(Landroid/net/wifi/WifiEnterpriseConfig;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="31"/>
+		<method name="setWpa3EnterpriseConfig(Landroid/net/wifi/WifiEnterpriseConfig;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" deprecated="31"/>
+		<method name="setWpa3EnterpriseStandardModeConfig(Landroid/net/wifi/WifiEnterpriseConfig;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;" since="31"/>
+		<method name="setWpa3Passphrase(Ljava/lang/String;)Landroid/net/wifi/WifiNetworkSuggestion$Builder;"/>
+	</class>
+	<class name="android/net/wifi/WpsInfo" since="14" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" deprecated="28"/>
+		<method name="&lt;init>(Landroid/net/wifi/WpsInfo;)V" deprecated="28"/>
+		<field name="BSSID" since="21" deprecated="28"/>
+		<field name="CREATOR" deprecated="28"/>
+		<field name="DISPLAY" deprecated="28"/>
+		<field name="INVALID" deprecated="28"/>
+		<field name="KEYPAD" deprecated="28"/>
+		<field name="LABEL" deprecated="28"/>
+		<field name="PBC" deprecated="28"/>
+		<field name="pin" deprecated="28"/>
+		<field name="setup" deprecated="28"/>
+	</class>
+	<class name="android/net/wifi/aware/AttachCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAttachFailed()V"/>
+		<method name="onAttached(Landroid/net/wifi/aware/WifiAwareSession;)V"/>
+	</class>
+	<class name="android/net/wifi/aware/AwareResources" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="getAvailableDataPathsCount()I"/>
+		<method name="getAvailablePublishSessionsCount()I"/>
+		<method name="getAvailableSubscribeSessionsCount()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/aware/Characteristics" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getMaxMatchFilterLength()I"/>
+		<method name="getMaxServiceNameLength()I"/>
+		<method name="getMaxServiceSpecificInfoLength()I"/>
+		<method name="getSupportedCipherSuites()I" since="30"/>
+		<method name="isInstantCommunicationModeSupported()Z" since="31"/>
+		<field name="CREATOR"/>
+		<field name="WIFI_AWARE_CIPHER_SUITE_NCS_SK_128" since="30"/>
+		<field name="WIFI_AWARE_CIPHER_SUITE_NCS_SK_256" since="30"/>
+	</class>
+	<class name="android/net/wifi/aware/DiscoverySession" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="createNetworkSpecifierOpen(Landroid/net/wifi/aware/PeerHandle;)Landroid/net/NetworkSpecifier;" deprecated="29"/>
+		<method name="createNetworkSpecifierPassphrase(Landroid/net/wifi/aware/PeerHandle;Ljava/lang/String;)Landroid/net/NetworkSpecifier;" deprecated="29"/>
+		<method name="sendMessage(Landroid/net/wifi/aware/PeerHandle;I[B)V"/>
+	</class>
+	<class name="android/net/wifi/aware/DiscoverySessionCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onMessageReceived(Landroid/net/wifi/aware/PeerHandle;[B)V"/>
+		<method name="onMessageSendFailed(I)V"/>
+		<method name="onMessageSendSucceeded(I)V"/>
+		<method name="onPublishStarted(Landroid/net/wifi/aware/PublishDiscoverySession;)V"/>
+		<method name="onServiceDiscovered(Landroid/net/wifi/aware/PeerHandle;[BLjava/util/List;)V"/>
+		<method name="onServiceDiscoveredWithinRange(Landroid/net/wifi/aware/PeerHandle;[BLjava/util/List;I)V" since="28"/>
+		<method name="onServiceLost(Landroid/net/wifi/aware/PeerHandle;I)V" since="31"/>
+		<method name="onSessionConfigFailed()V"/>
+		<method name="onSessionConfigUpdated()V"/>
+		<method name="onSessionTerminated()V"/>
+		<method name="onSubscribeStarted(Landroid/net/wifi/aware/SubscribeDiscoverySession;)V"/>
+	</class>
+	<class name="android/net/wifi/aware/IdentityChangedListener" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onIdentityChanged([B)V"/>
+	</class>
+	<class name="android/net/wifi/aware/ParcelablePeerHandle" since="29">
+		<extends name="android/net/wifi/aware/PeerHandle"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/net/wifi/aware/PeerHandle;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/aware/PeerHandle" since="26">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/net/wifi/aware/PublishConfig" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+		<field name="PUBLISH_TYPE_SOLICITED"/>
+		<field name="PUBLISH_TYPE_UNSOLICITED"/>
+	</class>
+	<class name="android/net/wifi/aware/PublishConfig$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/net/wifi/aware/PublishConfig;"/>
+		<method name="setMatchFilter(Ljava/util/List;)Landroid/net/wifi/aware/PublishConfig$Builder;"/>
+		<method name="setPublishType(I)Landroid/net/wifi/aware/PublishConfig$Builder;"/>
+		<method name="setRangingEnabled(Z)Landroid/net/wifi/aware/PublishConfig$Builder;" since="28"/>
+		<method name="setServiceName(Ljava/lang/String;)Landroid/net/wifi/aware/PublishConfig$Builder;"/>
+		<method name="setServiceSpecificInfo([B)Landroid/net/wifi/aware/PublishConfig$Builder;"/>
+		<method name="setTerminateNotificationEnabled(Z)Landroid/net/wifi/aware/PublishConfig$Builder;"/>
+		<method name="setTtlSec(I)Landroid/net/wifi/aware/PublishConfig$Builder;"/>
+	</class>
+	<class name="android/net/wifi/aware/PublishDiscoverySession" since="26">
+		<extends name="android/net/wifi/aware/DiscoverySession"/>
+		<method name="updatePublish(Landroid/net/wifi/aware/PublishConfig;)V"/>
+	</class>
+	<class name="android/net/wifi/aware/SubscribeConfig" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+		<field name="SUBSCRIBE_TYPE_ACTIVE"/>
+		<field name="SUBSCRIBE_TYPE_PASSIVE"/>
+	</class>
+	<class name="android/net/wifi/aware/SubscribeConfig$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/net/wifi/aware/SubscribeConfig;"/>
+		<method name="setMatchFilter(Ljava/util/List;)Landroid/net/wifi/aware/SubscribeConfig$Builder;"/>
+		<method name="setMaxDistanceMm(I)Landroid/net/wifi/aware/SubscribeConfig$Builder;" since="28"/>
+		<method name="setMinDistanceMm(I)Landroid/net/wifi/aware/SubscribeConfig$Builder;" since="28"/>
+		<method name="setServiceName(Ljava/lang/String;)Landroid/net/wifi/aware/SubscribeConfig$Builder;"/>
+		<method name="setServiceSpecificInfo([B)Landroid/net/wifi/aware/SubscribeConfig$Builder;"/>
+		<method name="setSubscribeType(I)Landroid/net/wifi/aware/SubscribeConfig$Builder;"/>
+		<method name="setTerminateNotificationEnabled(Z)Landroid/net/wifi/aware/SubscribeConfig$Builder;"/>
+		<method name="setTtlSec(I)Landroid/net/wifi/aware/SubscribeConfig$Builder;"/>
+	</class>
+	<class name="android/net/wifi/aware/SubscribeDiscoverySession" since="26">
+		<extends name="android/net/wifi/aware/DiscoverySession"/>
+		<method name="updateSubscribe(Landroid/net/wifi/aware/SubscribeConfig;)V"/>
+	</class>
+	<class name="android/net/wifi/aware/WifiAwareManager" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="attach(Landroid/net/wifi/aware/AttachCallback;Landroid/net/wifi/aware/IdentityChangedListener;Landroid/os/Handler;)V"/>
+		<method name="attach(Landroid/net/wifi/aware/AttachCallback;Landroid/os/Handler;)V"/>
+		<method name="getAvailableAwareResources()Landroid/net/wifi/aware/AwareResources;" since="31"/>
+		<method name="getCharacteristics()Landroid/net/wifi/aware/Characteristics;"/>
+		<method name="isAvailable()Z"/>
+		<method name="isDeviceAttached()Z" since="31"/>
+		<method name="isInstantCommunicationModeEnabled()Z" since="31"/>
+		<field name="ACTION_WIFI_AWARE_STATE_CHANGED"/>
+		<field name="WIFI_AWARE_DATA_PATH_ROLE_INITIATOR"/>
+		<field name="WIFI_AWARE_DATA_PATH_ROLE_RESPONDER"/>
+		<field name="WIFI_AWARE_DISCOVERY_LOST_REASON_PEER_NOT_VISIBLE" since="31"/>
+		<field name="WIFI_AWARE_DISCOVERY_LOST_REASON_UNKNOWN" since="31"/>
+	</class>
+	<class name="android/net/wifi/aware/WifiAwareNetworkInfo" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/net/TransportInfo"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getPeerIpv6Addr()Ljava/net/Inet6Address;"/>
+		<method name="getPort()I"/>
+		<method name="getTransportProtocol()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/aware/WifiAwareNetworkSpecifier" since="29">
+		<extends name="android/net/NetworkSpecifier"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="canBeSatisfiedBy(Landroid/net/NetworkSpecifier;)Z" since="31" removed="32"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/aware/WifiAwareNetworkSpecifier$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/net/wifi/aware/DiscoverySession;Landroid/net/wifi/aware/PeerHandle;)V"/>
+		<method name="&lt;init>(Landroid/net/wifi/aware/PublishDiscoverySession;)V" since="31"/>
+		<method name="build()Landroid/net/wifi/aware/WifiAwareNetworkSpecifier;"/>
+		<method name="setPmk([B)Landroid/net/wifi/aware/WifiAwareNetworkSpecifier$Builder;" since="30"/>
+		<method name="setPort(I)Landroid/net/wifi/aware/WifiAwareNetworkSpecifier$Builder;"/>
+		<method name="setPskPassphrase(Ljava/lang/String;)Landroid/net/wifi/aware/WifiAwareNetworkSpecifier$Builder;"/>
+		<method name="setTransportProtocol(I)Landroid/net/wifi/aware/WifiAwareNetworkSpecifier$Builder;"/>
+	</class>
+	<class name="android/net/wifi/aware/WifiAwareSession" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="createNetworkSpecifierOpen(I[B)Landroid/net/NetworkSpecifier;" deprecated="31"/>
+		<method name="createNetworkSpecifierPassphrase(I[BLjava/lang/String;)Landroid/net/NetworkSpecifier;" deprecated="31"/>
+		<method name="publish(Landroid/net/wifi/aware/PublishConfig;Landroid/net/wifi/aware/DiscoverySessionCallback;Landroid/os/Handler;)V"/>
+		<method name="subscribe(Landroid/net/wifi/aware/SubscribeConfig;Landroid/net/wifi/aware/DiscoverySessionCallback;Landroid/os/Handler;)V"/>
+	</class>
+	<class name="android/net/wifi/hotspot2/ConfigParser" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="parsePasspointConfig(Ljava/lang/String;[B)Landroid/net/wifi/hotspot2/PasspointConfiguration;"/>
+	</class>
+	<class name="android/net/wifi/hotspot2/PasspointConfiguration" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/hotspot2/PasspointConfiguration;)V"/>
+		<method name="getCredential()Landroid/net/wifi/hotspot2/pps/Credential;"/>
+		<method name="getDecoratedIdentityPrefix()Ljava/lang/String;" since="31"/>
+		<method name="getHomeSp()Landroid/net/wifi/hotspot2/pps/HomeSp;"/>
+		<method name="getSubscriptionExpirationTimeMillis()J" since="30"/>
+		<method name="getUniqueId()Ljava/lang/String;" since="30"/>
+		<method name="isOsuProvisioned()Z" since="30"/>
+		<method name="setCredential(Landroid/net/wifi/hotspot2/pps/Credential;)V"/>
+		<method name="setDecoratedIdentityPrefix(Ljava/lang/String;)V" since="31"/>
+		<method name="setHomeSp(Landroid/net/wifi/hotspot2/pps/HomeSp;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/hotspot2/omadm/PpsMoParser" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="parseMoText(Ljava/lang/String;)Landroid/net/wifi/hotspot2/PasspointConfiguration;"/>
+	</class>
+	<class name="android/net/wifi/hotspot2/pps/Credential" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/hotspot2/pps/Credential;)V"/>
+		<method name="getCaCertificate()Ljava/security/cert/X509Certificate;"/>
+		<method name="getCertCredential()Landroid/net/wifi/hotspot2/pps/Credential$CertificateCredential;"/>
+		<method name="getClientCertificateChain()[Ljava/security/cert/X509Certificate;"/>
+		<method name="getClientPrivateKey()Ljava/security/PrivateKey;"/>
+		<method name="getRealm()Ljava/lang/String;"/>
+		<method name="getSimCredential()Landroid/net/wifi/hotspot2/pps/Credential$SimCredential;"/>
+		<method name="getUserCredential()Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;"/>
+		<method name="setCaCertificate(Ljava/security/cert/X509Certificate;)V"/>
+		<method name="setCertCredential(Landroid/net/wifi/hotspot2/pps/Credential$CertificateCredential;)V"/>
+		<method name="setClientCertificateChain([Ljava/security/cert/X509Certificate;)V"/>
+		<method name="setClientPrivateKey(Ljava/security/PrivateKey;)V"/>
+		<method name="setRealm(Ljava/lang/String;)V"/>
+		<method name="setSimCredential(Landroid/net/wifi/hotspot2/pps/Credential$SimCredential;)V"/>
+		<method name="setUserCredential(Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/hotspot2/pps/Credential$CertificateCredential" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/hotspot2/pps/Credential$CertificateCredential;)V"/>
+		<method name="getCertSha256Fingerprint()[B"/>
+		<method name="getCertType()Ljava/lang/String;"/>
+		<method name="setCertSha256Fingerprint([B)V"/>
+		<method name="setCertType(Ljava/lang/String;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/hotspot2/pps/Credential$SimCredential" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/hotspot2/pps/Credential$SimCredential;)V"/>
+		<method name="getEapType()I"/>
+		<method name="getImsi()Ljava/lang/String;"/>
+		<method name="setEapType(I)V"/>
+		<method name="setImsi(Ljava/lang/String;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/hotspot2/pps/Credential$UserCredential" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/hotspot2/pps/Credential$UserCredential;)V"/>
+		<method name="getEapType()I"/>
+		<method name="getNonEapInnerMethod()Ljava/lang/String;"/>
+		<method name="getPassword()Ljava/lang/String;"/>
+		<method name="getUsername()Ljava/lang/String;"/>
+		<method name="setEapType(I)V"/>
+		<method name="setNonEapInnerMethod(Ljava/lang/String;)V"/>
+		<method name="setPassword(Ljava/lang/String;)V"/>
+		<method name="setUsername(Ljava/lang/String;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/hotspot2/pps/HomeSp" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/hotspot2/pps/HomeSp;)V"/>
+		<method name="getFqdn()Ljava/lang/String;"/>
+		<method name="getFriendlyName()Ljava/lang/String;"/>
+		<method name="getMatchAllOis()[J" since="31"/>
+		<method name="getMatchAnyOis()[J" since="31"/>
+		<method name="getOtherHomePartnersList()Ljava/util/Collection;" since="31"/>
+		<method name="getRoamingConsortiumOis()[J"/>
+		<method name="setFqdn(Ljava/lang/String;)V"/>
+		<method name="setFriendlyName(Ljava/lang/String;)V"/>
+		<method name="setMatchAllOis([J)V" since="31"/>
+		<method name="setMatchAnyOis([J)V" since="31"/>
+		<method name="setOtherHomePartnersList(Ljava/util/Collection;)V" since="31"/>
+		<method name="setRoamingConsortiumOis([J)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pConfig" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/p2p/WifiP2pConfig;)V"/>
+		<method name="getGroupOwnerBand()I" since="30"/>
+		<method name="getNetworkId()I" since="30"/>
+		<method name="getNetworkName()Ljava/lang/String;" since="30"/>
+		<method name="getPassphrase()Ljava/lang/String;" since="30"/>
+		<field name="CREATOR"/>
+		<field name="GROUP_OWNER_BAND_2GHZ" since="29"/>
+		<field name="GROUP_OWNER_BAND_5GHZ" since="29"/>
+		<field name="GROUP_OWNER_BAND_AUTO" since="29"/>
+		<field name="GROUP_OWNER_INTENT_AUTO" since="30"/>
+		<field name="GROUP_OWNER_INTENT_MAX" since="30"/>
+		<field name="GROUP_OWNER_INTENT_MIN" since="30"/>
+		<field name="deviceAddress"/>
+		<field name="groupOwnerIntent"/>
+		<field name="wps"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pConfig$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/net/wifi/p2p/WifiP2pConfig;"/>
+		<method name="enablePersistentMode(Z)Landroid/net/wifi/p2p/WifiP2pConfig$Builder;"/>
+		<method name="setDeviceAddress(Landroid/net/MacAddress;)Landroid/net/wifi/p2p/WifiP2pConfig$Builder;"/>
+		<method name="setGroupOperatingBand(I)Landroid/net/wifi/p2p/WifiP2pConfig$Builder;"/>
+		<method name="setGroupOperatingFrequency(I)Landroid/net/wifi/p2p/WifiP2pConfig$Builder;"/>
+		<method name="setNetworkName(Ljava/lang/String;)Landroid/net/wifi/p2p/WifiP2pConfig$Builder;"/>
+		<method name="setPassphrase(Ljava/lang/String;)Landroid/net/wifi/p2p/WifiP2pConfig$Builder;"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pDevice" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/p2p/WifiP2pDevice;)V"/>
+		<method name="getWfdInfo()Landroid/net/wifi/p2p/WifiP2pWfdInfo;" since="30"/>
+		<method name="isGroupOwner()Z"/>
+		<method name="isServiceDiscoveryCapable()Z"/>
+		<method name="update(Landroid/net/wifi/p2p/WifiP2pDevice;)V" since="30"/>
+		<method name="wpsDisplaySupported()Z"/>
+		<method name="wpsKeypadSupported()Z"/>
+		<method name="wpsPbcSupported()Z"/>
+		<field name="AVAILABLE"/>
+		<field name="CONNECTED"/>
+		<field name="CREATOR"/>
+		<field name="FAILED"/>
+		<field name="INVITED"/>
+		<field name="UNAVAILABLE"/>
+		<field name="deviceAddress"/>
+		<field name="deviceName"/>
+		<field name="primaryDeviceType"/>
+		<field name="secondaryDeviceType"/>
+		<field name="status"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pDeviceList" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/p2p/WifiP2pDeviceList;)V"/>
+		<method name="get(Ljava/lang/String;)Landroid/net/wifi/p2p/WifiP2pDevice;" since="18"/>
+		<method name="getDeviceList()Ljava/util/Collection;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pGroup" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/p2p/WifiP2pGroup;)V"/>
+		<method name="getClientList()Ljava/util/Collection;"/>
+		<method name="getFrequency()I" since="29"/>
+		<method name="getInterface()Ljava/lang/String;"/>
+		<method name="getNetworkId()I" since="30"/>
+		<method name="getNetworkName()Ljava/lang/String;"/>
+		<method name="getOwner()Landroid/net/wifi/p2p/WifiP2pDevice;"/>
+		<method name="getPassphrase()Ljava/lang/String;"/>
+		<method name="isGroupOwner()Z"/>
+		<field name="CREATOR"/>
+		<field name="NETWORK_ID_PERSISTENT" since="30"/>
+		<field name="NETWORK_ID_TEMPORARY" since="30"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pInfo" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/p2p/WifiP2pInfo;)V"/>
+		<field name="CREATOR"/>
+		<field name="groupFormed"/>
+		<field name="groupOwnerAddress"/>
+		<field name="isGroupOwner"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="addLocalService(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V" since="16"/>
+		<method name="addServiceRequest(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V" since="16"/>
+		<method name="cancelConnect(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V"/>
+		<method name="clearLocalServices(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V" since="16"/>
+		<method name="clearServiceRequests(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V" since="16"/>
+		<method name="connect(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pConfig;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V"/>
+		<method name="createGroup(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pConfig;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V" since="29"/>
+		<method name="createGroup(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V"/>
+		<method name="discoverPeers(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V"/>
+		<method name="discoverServices(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V" since="16"/>
+		<method name="initialize(Landroid/content/Context;Landroid/os/Looper;Landroid/net/wifi/p2p/WifiP2pManager$ChannelListener;)Landroid/net/wifi/p2p/WifiP2pManager$Channel;"/>
+		<method name="removeGroup(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V"/>
+		<method name="removeLocalService(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V" since="16"/>
+		<method name="removeServiceRequest(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V" since="16"/>
+		<method name="requestConnectionInfo(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$ConnectionInfoListener;)V"/>
+		<method name="requestDeviceInfo(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$DeviceInfoListener;)V" since="29"/>
+		<method name="requestDiscoveryState(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$DiscoveryStateListener;)V" since="29"/>
+		<method name="requestGroupInfo(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$GroupInfoListener;)V"/>
+		<method name="requestNetworkInfo(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$NetworkInfoListener;)V" since="29"/>
+		<method name="requestP2pState(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$P2pStateListener;)V" since="29"/>
+		<method name="requestPeers(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$PeerListListener;)V"/>
+		<method name="setDnsSdResponseListeners(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$DnsSdServiceResponseListener;Landroid/net/wifi/p2p/WifiP2pManager$DnsSdTxtRecordListener;)V" since="16"/>
+		<method name="setServiceResponseListener(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$ServiceResponseListener;)V" since="16"/>
+		<method name="setUpnpServiceResponseListener(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$UpnpServiceResponseListener;)V" since="16"/>
+		<method name="stopPeerDiscovery(Landroid/net/wifi/p2p/WifiP2pManager$Channel;Landroid/net/wifi/p2p/WifiP2pManager$ActionListener;)V" since="16"/>
+		<field name="BUSY"/>
+		<field name="ERROR"/>
+		<field name="EXTRA_DISCOVERY_STATE" since="16"/>
+		<field name="EXTRA_NETWORK_INFO"/>
+		<field name="EXTRA_P2P_DEVICE_LIST" since="18"/>
+		<field name="EXTRA_WIFI_P2P_DEVICE"/>
+		<field name="EXTRA_WIFI_P2P_GROUP" since="18"/>
+		<field name="EXTRA_WIFI_P2P_INFO"/>
+		<field name="EXTRA_WIFI_STATE"/>
+		<field name="NO_SERVICE_REQUESTS" since="16"/>
+		<field name="P2P_UNSUPPORTED"/>
+		<field name="WIFI_P2P_CONNECTION_CHANGED_ACTION"/>
+		<field name="WIFI_P2P_DISCOVERY_CHANGED_ACTION" since="16"/>
+		<field name="WIFI_P2P_DISCOVERY_STARTED" since="16"/>
+		<field name="WIFI_P2P_DISCOVERY_STOPPED" since="16"/>
+		<field name="WIFI_P2P_PEERS_CHANGED_ACTION"/>
+		<field name="WIFI_P2P_STATE_CHANGED_ACTION"/>
+		<field name="WIFI_P2P_STATE_DISABLED"/>
+		<field name="WIFI_P2P_STATE_ENABLED"/>
+		<field name="WIFI_P2P_THIS_DEVICE_CHANGED_ACTION"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$ActionListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onFailure(I)V"/>
+		<method name="onSuccess()V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$Channel" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="27"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$ChannelListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onChannelDisconnected()V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$ConnectionInfoListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onConnectionInfoAvailable(Landroid/net/wifi/p2p/WifiP2pInfo;)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$DeviceInfoListener" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onDeviceInfoAvailable(Landroid/net/wifi/p2p/WifiP2pDevice;)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$DiscoveryStateListener" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onDiscoveryStateAvailable(I)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$DnsSdServiceResponseListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onDnsSdServiceAvailable(Ljava/lang/String;Ljava/lang/String;Landroid/net/wifi/p2p/WifiP2pDevice;)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$DnsSdTxtRecordListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onDnsSdTxtRecordAvailable(Ljava/lang/String;Ljava/util/Map;Landroid/net/wifi/p2p/WifiP2pDevice;)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$GroupInfoListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onGroupInfoAvailable(Landroid/net/wifi/p2p/WifiP2pGroup;)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$NetworkInfoListener" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onNetworkInfoAvailable(Landroid/net/NetworkInfo;)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$P2pStateListener" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onP2pStateAvailable(I)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$PeerListListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onPeersAvailable(Landroid/net/wifi/p2p/WifiP2pDeviceList;)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$ServiceResponseListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onServiceAvailable(I[BLandroid/net/wifi/p2p/WifiP2pDevice;)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pManager$UpnpServiceResponseListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onUpnpServiceAvailable(Ljava/util/List;Landroid/net/wifi/p2p/WifiP2pDevice;)V"/>
+	</class>
+	<class name="android/net/wifi/p2p/WifiP2pWfdInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/net/wifi/p2p/WifiP2pWfdInfo;)V"/>
+		<method name="getControlPort()I"/>
+		<method name="getDeviceInfo()I" since="31"/>
+		<method name="getDeviceType()I"/>
+		<method name="getMaxThroughput()I"/>
+		<method name="getR2DeviceInfo()I" since="31"/>
+		<method name="getR2DeviceType()I" since="31"/>
+		<method name="isContentProtectionSupported()Z"/>
+		<method name="isCoupledSinkSupportedAtSink()Z" since="31"/>
+		<method name="isCoupledSinkSupportedAtSource()Z" since="31"/>
+		<method name="isEnabled()Z"/>
+		<method name="isR2Supported()Z" since="31"/>
+		<method name="isSessionAvailable()Z"/>
+		<method name="setContentProtectionSupported(Z)V"/>
+		<method name="setControlPort(I)V"/>
+		<method name="setCoupledSinkSupportAtSink(Z)V" since="31"/>
+		<method name="setCoupledSinkSupportAtSource(Z)V" since="31"/>
+		<method name="setDeviceType(I)Z"/>
+		<method name="setEnabled(Z)V"/>
+		<method name="setMaxThroughput(I)V"/>
+		<method name="setR2DeviceType(I)Z" since="31"/>
+		<method name="setSessionAvailable(Z)V"/>
+		<field name="CREATOR"/>
+		<field name="DEVICE_INFO_AUDIO_ONLY_SUPPORT_AT_SOURCE" since="31"/>
+		<field name="DEVICE_INFO_AUDIO_UNSUPPORTED_AT_PRIMARY_SINK" since="31"/>
+		<field name="DEVICE_INFO_CONTENT_PROTECTION_SUPPORT" since="31"/>
+		<field name="DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SINK" since="31"/>
+		<field name="DEVICE_INFO_COUPLED_SINK_SUPPORT_AT_SOURCE" since="31"/>
+		<field name="DEVICE_INFO_DEVICE_TYPE_MASK" since="31"/>
+		<field name="DEVICE_INFO_PREFERRED_CONNECTIVITY_MASK" since="31"/>
+		<field name="DEVICE_INFO_SESSION_AVAILABLE_MASK" since="31"/>
+		<field name="DEVICE_INFO_TDLS_PERSISTENT_GROUP" since="31"/>
+		<field name="DEVICE_INFO_TDLS_PERSISTENT_GROUP_REINVOKE" since="31"/>
+		<field name="DEVICE_INFO_TIME_SYNCHRONIZATION_SUPPORT" since="31"/>
+		<field name="DEVICE_INFO_WFD_SERVICE_DISCOVERY_SUPPORT" since="31"/>
+		<field name="DEVICE_TYPE_PRIMARY_SINK"/>
+		<field name="DEVICE_TYPE_SECONDARY_SINK"/>
+		<field name="DEVICE_TYPE_SOURCE_OR_PRIMARY_SINK"/>
+		<field name="DEVICE_TYPE_WFD_SOURCE"/>
+		<field name="PREFERRED_CONNECTIVITY_P2P" since="31"/>
+		<field name="PREFERRED_CONNECTIVITY_TDLS" since="31"/>
+	</class>
+	<class name="android/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo" since="16">
+		<extends name="android/net/wifi/p2p/nsd/WifiP2pServiceInfo"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo;"/>
+	</class>
+	<class name="android/net/wifi/p2p/nsd/WifiP2pDnsSdServiceRequest" since="16">
+		<extends name="android/net/wifi/p2p/nsd/WifiP2pServiceRequest"/>
+		<method name="newInstance()Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceRequest;"/>
+		<method name="newInstance(Ljava/lang/String;)Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceRequest;"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/String;)Landroid/net/wifi/p2p/nsd/WifiP2pDnsSdServiceRequest;"/>
+	</class>
+	<class name="android/net/wifi/p2p/nsd/WifiP2pServiceInfo" since="16">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="SERVICE_TYPE_ALL"/>
+		<field name="SERVICE_TYPE_BONJOUR"/>
+		<field name="SERVICE_TYPE_UPNP"/>
+		<field name="SERVICE_TYPE_VENDOR_SPECIFIC"/>
+	</class>
+	<class name="android/net/wifi/p2p/nsd/WifiP2pServiceRequest" since="16">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="newInstance(I)Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;"/>
+		<method name="newInstance(ILjava/lang/String;)Landroid/net/wifi/p2p/nsd/WifiP2pServiceRequest;"/>
+	</class>
+	<class name="android/net/wifi/p2p/nsd/WifiP2pUpnpServiceInfo" since="16">
+		<extends name="android/net/wifi/p2p/nsd/WifiP2pServiceInfo"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceInfo;"/>
+	</class>
+	<class name="android/net/wifi/p2p/nsd/WifiP2pUpnpServiceRequest" since="16">
+		<extends name="android/net/wifi/p2p/nsd/WifiP2pServiceRequest"/>
+		<method name="newInstance()Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceRequest;"/>
+		<method name="newInstance(Ljava/lang/String;)Landroid/net/wifi/p2p/nsd/WifiP2pUpnpServiceRequest;"/>
+	</class>
+	<class name="android/net/wifi/rtt/CivicLocationKeys" since="29">
+		<extends name="java/lang/Object"/>
+		<field name="ADDITIONAL_CODE"/>
+		<field name="APT"/>
+		<field name="BOROUGH"/>
+		<field name="BRANCH_ROAD_NAME"/>
+		<field name="BUILDING"/>
+		<field name="CITY"/>
+		<field name="COUNTY"/>
+		<field name="DESK"/>
+		<field name="FLOOR"/>
+		<field name="GROUP_OF_STREETS"/>
+		<field name="HNO"/>
+		<field name="HNS"/>
+		<field name="LANGUAGE"/>
+		<field name="LMK"/>
+		<field name="LOC"/>
+		<field name="NAM"/>
+		<field name="NEIGHBORHOOD"/>
+		<field name="PCN"/>
+		<field name="POD"/>
+		<field name="POSTAL_CODE"/>
+		<field name="PO_BOX"/>
+		<field name="PRD"/>
+		<field name="PRIMARY_ROAD_NAME"/>
+		<field name="ROAD_SECTION"/>
+		<field name="ROOM"/>
+		<field name="SCRIPT"/>
+		<field name="STATE"/>
+		<field name="STREET_NAME_POST_MODIFIER"/>
+		<field name="STREET_NAME_PRE_MODIFIER"/>
+		<field name="STS"/>
+		<field name="SUBBRANCH_ROAD_NAME"/>
+		<field name="TYPE_OF_PLACE"/>
+	</class>
+	<class name="android/net/wifi/rtt/RangingRequest" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDefaultRttBurstSize()I" since="31"/>
+		<method name="getMaxPeers()I"/>
+		<method name="getMaxRttBurstSize()I" since="31"/>
+		<method name="getMinRttBurstSize()I" since="31"/>
+		<method name="getRttBurstSize()I" since="31"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/net/wifi/rtt/RangingRequest$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addAccessPoint(Landroid/net/wifi/ScanResult;)Landroid/net/wifi/rtt/RangingRequest$Builder;"/>
+		<method name="addAccessPoints(Ljava/util/List;)Landroid/net/wifi/rtt/RangingRequest$Builder;"/>
+		<method name="addNon80211mcCapableAccessPoint(Landroid/net/wifi/ScanResult;)Landroid/net/wifi/rtt/RangingRequest$Builder;" since="31"/>
+		<method name="addNon80211mcCapableAccessPoints(Ljava/util/List;)Landroid/net/wifi/rtt/RangingRequest$Builder;" since="31"/>
+		<method name="addWifiAwarePeer(Landroid/net/MacAddress;)Landroid/net/wifi/rtt/RangingRequest$Builder;"/>
+		<method name="addWifiAwarePeer(Landroid/net/wifi/aware/PeerHandle;)Landroid/net/wifi/rtt/RangingRequest$Builder;"/>
+		<method name="build()Landroid/net/wifi/rtt/RangingRequest;"/>
+		<method name="setRttBurstSize(I)Landroid/net/wifi/rtt/RangingRequest$Builder;" since="31"/>
+	</class>
+	<class name="android/net/wifi/rtt/RangingResult" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDistanceMm()I"/>
+		<method name="getDistanceStdDevMm()I"/>
+		<method name="getMacAddress()Landroid/net/MacAddress;"/>
+		<method name="getNumAttemptedMeasurements()I"/>
+		<method name="getNumSuccessfulMeasurements()I"/>
+		<method name="getPeerHandle()Landroid/net/wifi/aware/PeerHandle;"/>
+		<method name="getRangingTimestampMillis()J"/>
+		<method name="getRssi()I"/>
+		<method name="getStatus()I"/>
+		<method name="getUnverifiedResponderLocation()Landroid/net/wifi/rtt/ResponderLocation;" since="29"/>
+		<method name="is80211mcMeasurement()Z" since="31"/>
+		<field name="CREATOR"/>
+		<field name="STATUS_FAIL"/>
+		<field name="STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC"/>
+		<field name="STATUS_SUCCESS"/>
+	</class>
+	<class name="android/net/wifi/rtt/RangingResultCallback" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onRangingFailure(I)V"/>
+		<method name="onRangingResults(Ljava/util/List;)V"/>
+		<field name="STATUS_CODE_FAIL"/>
+		<field name="STATUS_CODE_FAIL_RTT_NOT_AVAILABLE"/>
+	</class>
+	<class name="android/net/wifi/rtt/ResponderLocation" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAltitude()D"/>
+		<method name="getAltitudeType()I"/>
+		<method name="getAltitudeUncertainty()D"/>
+		<method name="getColocatedBssids()Ljava/util/List;"/>
+		<method name="getDatum()I"/>
+		<method name="getExpectedToMove()I"/>
+		<method name="getFloorNumber()D"/>
+		<method name="getHeightAboveFloorMeters()D"/>
+		<method name="getHeightAboveFloorUncertaintyMeters()D"/>
+		<method name="getLatitude()D"/>
+		<method name="getLatitudeUncertainty()D"/>
+		<method name="getLciVersion()I"/>
+		<method name="getLongitude()D"/>
+		<method name="getLongitudeUncertainty()D"/>
+		<method name="getMapImageMimeType()Ljava/lang/String;"/>
+		<method name="getMapImageUri()Landroid/net/Uri;"/>
+		<method name="getRegisteredLocationAgreementIndication()Z"/>
+		<method name="isLciSubelementValid()Z"/>
+		<method name="isZaxisSubelementValid()Z"/>
+		<method name="toCivicLocationAddress()Landroid/location/Address;"/>
+		<method name="toCivicLocationSparseArray()Landroid/util/SparseArray;"/>
+		<method name="toLocation()Landroid/location/Location;"/>
+		<field name="ALTITUDE_FLOORS"/>
+		<field name="ALTITUDE_METERS"/>
+		<field name="ALTITUDE_UNDEFINED"/>
+		<field name="CREATOR"/>
+		<field name="DATUM_NAD83_MLLW"/>
+		<field name="DATUM_NAD83_NAV88"/>
+		<field name="DATUM_UNDEFINED"/>
+		<field name="DATUM_WGS84"/>
+		<field name="LCI_VERSION_1"/>
+		<field name="LOCATION_FIXED"/>
+		<field name="LOCATION_MOVEMENT_UNKNOWN"/>
+		<field name="LOCATION_RESERVED"/>
+		<field name="LOCATION_VARIABLE"/>
+	</class>
+	<class name="android/net/wifi/rtt/WifiRttManager" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="isAvailable()Z"/>
+		<method name="startRanging(Landroid/net/wifi/rtt/RangingRequest;Ljava/util/concurrent/Executor;Landroid/net/wifi/rtt/RangingResultCallback;)V"/>
+		<field name="ACTION_WIFI_RTT_STATE_CHANGED"/>
+	</class>
+	<class name="android/nfc/FormatException" since="9">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="16"/>
+	</class>
+	<class name="android/nfc/NdefMessage" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/nfc/NdefRecord;[Landroid/nfc/NdefRecord;)V" since="16"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="&lt;init>([Landroid/nfc/NdefRecord;)V"/>
+		<method name="getByteArrayLength()I" since="16"/>
+		<method name="getRecords()[Landroid/nfc/NdefRecord;"/>
+		<method name="toByteArray()[B"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/nfc/NdefRecord" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(S[B[B[B)V"/>
+		<method name="&lt;init>([B)V" deprecated="16"/>
+		<method name="createApplicationRecord(Ljava/lang/String;)Landroid/nfc/NdefRecord;" since="14"/>
+		<method name="createExternal(Ljava/lang/String;Ljava/lang/String;[B)Landroid/nfc/NdefRecord;" since="16"/>
+		<method name="createMime(Ljava/lang/String;[B)Landroid/nfc/NdefRecord;" since="16"/>
+		<method name="createTextRecord(Ljava/lang/String;Ljava/lang/String;)Landroid/nfc/NdefRecord;" since="21"/>
+		<method name="createUri(Landroid/net/Uri;)Landroid/nfc/NdefRecord;" since="14"/>
+		<method name="createUri(Ljava/lang/String;)Landroid/nfc/NdefRecord;" since="14"/>
+		<method name="getId()[B"/>
+		<method name="getPayload()[B"/>
+		<method name="getTnf()S"/>
+		<method name="getType()[B"/>
+		<method name="toByteArray()[B" deprecated="16"/>
+		<method name="toMimeType()Ljava/lang/String;" since="16"/>
+		<method name="toUri()Landroid/net/Uri;" since="16"/>
+		<field name="CREATOR"/>
+		<field name="RTD_ALTERNATIVE_CARRIER"/>
+		<field name="RTD_HANDOVER_CARRIER"/>
+		<field name="RTD_HANDOVER_REQUEST"/>
+		<field name="RTD_HANDOVER_SELECT"/>
+		<field name="RTD_SMART_POSTER"/>
+		<field name="RTD_TEXT"/>
+		<field name="RTD_URI"/>
+		<field name="TNF_ABSOLUTE_URI"/>
+		<field name="TNF_EMPTY"/>
+		<field name="TNF_EXTERNAL_TYPE"/>
+		<field name="TNF_MIME_MEDIA"/>
+		<field name="TNF_UNCHANGED"/>
+		<field name="TNF_UNKNOWN"/>
+		<field name="TNF_WELL_KNOWN"/>
+	</class>
+	<class name="android/nfc/NfcAdapter" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="disableForegroundDispatch(Landroid/app/Activity;)V" since="10"/>
+		<method name="disableForegroundNdefPush(Landroid/app/Activity;)V" since="10" deprecated="15"/>
+		<method name="disableReaderMode(Landroid/app/Activity;)V" since="19"/>
+		<method name="enableForegroundDispatch(Landroid/app/Activity;Landroid/app/PendingIntent;[Landroid/content/IntentFilter;[[Ljava/lang/String;)V" since="10"/>
+		<method name="enableForegroundNdefPush(Landroid/app/Activity;Landroid/nfc/NdefMessage;)V" since="10" deprecated="15"/>
+		<method name="enableReaderMode(Landroid/app/Activity;Landroid/nfc/NfcAdapter$ReaderCallback;ILandroid/os/Bundle;)V" since="19"/>
+		<method name="getDefaultAdapter()Landroid/nfc/NfcAdapter;" deprecated="15" removed="16"/>
+		<method name="getDefaultAdapter(Landroid/content/Context;)Landroid/nfc/NfcAdapter;" since="10"/>
+		<method name="ignore(Landroid/nfc/Tag;ILandroid/nfc/NfcAdapter$OnTagRemovedListener;Landroid/os/Handler;)Z" since="24"/>
+		<method name="invokeBeam(Landroid/app/Activity;)Z" since="21" deprecated="29"/>
+		<method name="isEnabled()Z"/>
+		<method name="isNdefPushEnabled()Z" since="16" deprecated="29"/>
+		<method name="isSecureNfcEnabled()Z" since="29"/>
+		<method name="isSecureNfcSupported()Z" since="29"/>
+		<method name="setBeamPushUris([Landroid/net/Uri;Landroid/app/Activity;)V" since="16" deprecated="29"/>
+		<method name="setBeamPushUrisCallback(Landroid/nfc/NfcAdapter$CreateBeamUrisCallback;Landroid/app/Activity;)V" since="16" deprecated="29"/>
+		<method name="setNdefPushMessage(Landroid/nfc/NdefMessage;Landroid/app/Activity;[Landroid/app/Activity;)V" since="14" deprecated="29"/>
+		<method name="setNdefPushMessageCallback(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;Landroid/app/Activity;[Landroid/app/Activity;)V" since="14" deprecated="29"/>
+		<method name="setOnNdefPushCompleteCallback(Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback;Landroid/app/Activity;[Landroid/app/Activity;)V" since="14" deprecated="29"/>
+		<field name="ACTION_ADAPTER_STATE_CHANGED" since="18"/>
+		<field name="ACTION_NDEF_DISCOVERED" since="10"/>
+		<field name="ACTION_PREFERRED_PAYMENT_CHANGED" since="30"/>
+		<field name="ACTION_TAG_DISCOVERED"/>
+		<field name="ACTION_TECH_DISCOVERED" since="10"/>
+		<field name="ACTION_TRANSACTION_DETECTED" since="28"/>
+		<field name="EXTRA_ADAPTER_STATE" since="18"/>
+		<field name="EXTRA_AID" since="28"/>
+		<field name="EXTRA_DATA" since="28"/>
+		<field name="EXTRA_ID"/>
+		<field name="EXTRA_NDEF_MESSAGES"/>
+		<field name="EXTRA_PREFERRED_PAYMENT_CHANGED_REASON" since="30"/>
+		<field name="EXTRA_READER_PRESENCE_CHECK_DELAY" since="19"/>
+		<field name="EXTRA_SECURE_ELEMENT_NAME" since="28"/>
+		<field name="EXTRA_TAG" since="10"/>
+		<field name="FLAG_READER_NFC_A" since="19"/>
+		<field name="FLAG_READER_NFC_B" since="19"/>
+		<field name="FLAG_READER_NFC_BARCODE" since="19"/>
+		<field name="FLAG_READER_NFC_F" since="19"/>
+		<field name="FLAG_READER_NFC_V" since="19"/>
+		<field name="FLAG_READER_NO_PLATFORM_SOUNDS" since="19"/>
+		<field name="FLAG_READER_SKIP_NDEF_CHECK" since="19"/>
+		<field name="PREFERRED_PAYMENT_CHANGED" since="30"/>
+		<field name="PREFERRED_PAYMENT_LOADED" since="30"/>
+		<field name="PREFERRED_PAYMENT_UPDATED" since="30"/>
+		<field name="STATE_OFF" since="18"/>
+		<field name="STATE_ON" since="18"/>
+		<field name="STATE_TURNING_OFF" since="18"/>
+		<field name="STATE_TURNING_ON" since="18"/>
+	</class>
+	<class name="android/nfc/NfcAdapter$CreateBeamUrisCallback" since="16" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="createBeamUris(Landroid/nfc/NfcEvent;)[Landroid/net/Uri;" deprecated="29"/>
+	</class>
+	<class name="android/nfc/NfcAdapter$CreateNdefMessageCallback" since="14" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="createNdefMessage(Landroid/nfc/NfcEvent;)Landroid/nfc/NdefMessage;" deprecated="29"/>
+	</class>
+	<class name="android/nfc/NfcAdapter$OnNdefPushCompleteCallback" since="14" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onNdefPushComplete(Landroid/nfc/NfcEvent;)V" deprecated="29"/>
+	</class>
+	<class name="android/nfc/NfcAdapter$OnTagRemovedListener" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onTagRemoved()V"/>
+	</class>
+	<class name="android/nfc/NfcAdapter$ReaderCallback" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="onTagDiscovered(Landroid/nfc/Tag;)V"/>
+	</class>
+	<class name="android/nfc/NfcEvent" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="nfcAdapter"/>
+		<field name="peerLlcpMajorVersion" since="23"/>
+		<field name="peerLlcpMinorVersion" since="23"/>
+	</class>
+	<class name="android/nfc/NfcManager" since="10">
+		<extends name="java/lang/Object"/>
+		<method name="getDefaultAdapter()Landroid/nfc/NfcAdapter;"/>
+	</class>
+	<class name="android/nfc/Tag" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getId()[B"/>
+		<method name="getTechList()[Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/nfc/TagLostException" since="10">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/nfc/cardemulation/CardEmulation" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="categoryAllowsForegroundPreference(Ljava/lang/String;)Z" since="21"/>
+		<method name="getAidsForPreferredPaymentService()Ljava/util/List;" since="30"/>
+		<method name="getAidsForService(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;" since="21"/>
+		<method name="getDescriptionForPreferredPaymentService()Ljava/lang/CharSequence;" since="30"/>
+		<method name="getInstance(Landroid/nfc/NfcAdapter;)Landroid/nfc/cardemulation/CardEmulation;"/>
+		<method name="getRouteDestinationForPreferredPaymentService()Ljava/lang/String;" since="30"/>
+		<method name="getSelectionModeForCategory(Ljava/lang/String;)I"/>
+		<method name="isDefaultServiceForAid(Landroid/content/ComponentName;Ljava/lang/String;)Z"/>
+		<method name="isDefaultServiceForCategory(Landroid/content/ComponentName;Ljava/lang/String;)Z"/>
+		<method name="registerAidsForService(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)Z" since="21"/>
+		<method name="removeAidsForService(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="21"/>
+		<method name="setOffHostForService(Landroid/content/ComponentName;Ljava/lang/String;)Z" since="29"/>
+		<method name="setPreferredService(Landroid/app/Activity;Landroid/content/ComponentName;)Z" since="21"/>
+		<method name="supportsAidPrefixRegistration()Z" since="21"/>
+		<method name="unsetOffHostForService(Landroid/content/ComponentName;)Z" since="29"/>
+		<method name="unsetPreferredService(Landroid/app/Activity;)Z" since="21"/>
+		<field name="ACTION_CHANGE_DEFAULT"/>
+		<field name="CATEGORY_OTHER"/>
+		<field name="CATEGORY_PAYMENT"/>
+		<field name="EXTRA_CATEGORY"/>
+		<field name="EXTRA_SERVICE_COMPONENT"/>
+		<field name="SELECTION_MODE_ALWAYS_ASK"/>
+		<field name="SELECTION_MODE_ASK_IF_CONFLICT"/>
+		<field name="SELECTION_MODE_PREFER_DEFAULT"/>
+	</class>
+	<class name="android/nfc/cardemulation/HostApduService" since="19">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="notifyUnhandled()V"/>
+		<method name="onDeactivated(I)V"/>
+		<method name="processCommandApdu([BLandroid/os/Bundle;)[B"/>
+		<method name="sendResponseApdu([B)V"/>
+		<field name="DEACTIVATION_DESELECTED"/>
+		<field name="DEACTIVATION_LINK_LOSS"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/nfc/cardemulation/HostNfcFService" since="24">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onDeactivated(I)V"/>
+		<method name="processNfcFPacket([BLandroid/os/Bundle;)[B"/>
+		<method name="sendResponsePacket([B)V"/>
+		<field name="DEACTIVATION_LINK_LOSS"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/nfc/cardemulation/NfcFCardEmulation" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="disableService(Landroid/app/Activity;)Z"/>
+		<method name="enableService(Landroid/app/Activity;Landroid/content/ComponentName;)Z"/>
+		<method name="getInstance(Landroid/nfc/NfcAdapter;)Landroid/nfc/cardemulation/NfcFCardEmulation;"/>
+		<method name="getNfcid2ForService(Landroid/content/ComponentName;)Ljava/lang/String;"/>
+		<method name="getSystemCodeForService(Landroid/content/ComponentName;)Ljava/lang/String;"/>
+		<method name="registerSystemCodeForService(Landroid/content/ComponentName;Ljava/lang/String;)Z"/>
+		<method name="setNfcid2ForService(Landroid/content/ComponentName;Ljava/lang/String;)Z"/>
+		<method name="unregisterSystemCodeForService(Landroid/content/ComponentName;)Z"/>
+	</class>
+	<class name="android/nfc/cardemulation/OffHostApduService" since="19">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/nfc/tech/IsoDep" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="android/nfc/tech/TagTechnology"/>
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/IsoDep;"/>
+		<method name="getHiLayerResponse()[B"/>
+		<method name="getHistoricalBytes()[B"/>
+		<method name="getMaxTransceiveLength()I" since="14"/>
+		<method name="getTimeout()I" since="14"/>
+		<method name="isExtendedLengthApduSupported()Z" since="16"/>
+		<method name="setTimeout(I)V"/>
+		<method name="transceive([B)[B"/>
+	</class>
+	<class name="android/nfc/tech/MifareClassic" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="android/nfc/tech/TagTechnology"/>
+		<method name="authenticateSectorWithKeyA(I[B)Z"/>
+		<method name="authenticateSectorWithKeyB(I[B)Z"/>
+		<method name="blockToSector(I)I"/>
+		<method name="decrement(II)V"/>
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/MifareClassic;"/>
+		<method name="getBlockCount()I"/>
+		<method name="getBlockCountInSector(I)I"/>
+		<method name="getMaxTransceiveLength()I" since="14"/>
+		<method name="getSectorCount()I"/>
+		<method name="getSize()I"/>
+		<method name="getTimeout()I" since="14"/>
+		<method name="getType()I"/>
+		<method name="increment(II)V"/>
+		<method name="readBlock(I)[B"/>
+		<method name="restore(I)V"/>
+		<method name="sectorToBlock(I)I"/>
+		<method name="setTimeout(I)V" since="14"/>
+		<method name="transceive([B)[B"/>
+		<method name="transfer(I)V"/>
+		<method name="writeBlock(I[B)V"/>
+		<field name="BLOCK_SIZE"/>
+		<field name="KEY_DEFAULT"/>
+		<field name="KEY_MIFARE_APPLICATION_DIRECTORY"/>
+		<field name="KEY_NFC_FORUM"/>
+		<field name="SIZE_1K"/>
+		<field name="SIZE_2K"/>
+		<field name="SIZE_4K"/>
+		<field name="SIZE_MINI"/>
+		<field name="TYPE_CLASSIC"/>
+		<field name="TYPE_PLUS"/>
+		<field name="TYPE_PRO"/>
+		<field name="TYPE_UNKNOWN"/>
+	</class>
+	<class name="android/nfc/tech/MifareUltralight" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="android/nfc/tech/TagTechnology"/>
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/MifareUltralight;"/>
+		<method name="getMaxTransceiveLength()I" since="14"/>
+		<method name="getTimeout()I" since="14"/>
+		<method name="getType()I"/>
+		<method name="readPages(I)[B"/>
+		<method name="setTimeout(I)V" since="14"/>
+		<method name="transceive([B)[B"/>
+		<method name="writePage(I[B)V"/>
+		<field name="PAGE_SIZE"/>
+		<field name="TYPE_ULTRALIGHT"/>
+		<field name="TYPE_ULTRALIGHT_C"/>
+		<field name="TYPE_UNKNOWN"/>
+	</class>
+	<class name="android/nfc/tech/Ndef" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="android/nfc/tech/TagTechnology"/>
+		<method name="canMakeReadOnly()Z"/>
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/Ndef;"/>
+		<method name="getCachedNdefMessage()Landroid/nfc/NdefMessage;"/>
+		<method name="getMaxSize()I"/>
+		<method name="getNdefMessage()Landroid/nfc/NdefMessage;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<method name="isWritable()Z"/>
+		<method name="makeReadOnly()Z"/>
+		<method name="writeNdefMessage(Landroid/nfc/NdefMessage;)V"/>
+		<field name="MIFARE_CLASSIC"/>
+		<field name="NFC_FORUM_TYPE_1"/>
+		<field name="NFC_FORUM_TYPE_2"/>
+		<field name="NFC_FORUM_TYPE_3"/>
+		<field name="NFC_FORUM_TYPE_4"/>
+	</class>
+	<class name="android/nfc/tech/NdefFormatable" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="android/nfc/tech/TagTechnology"/>
+		<method name="format(Landroid/nfc/NdefMessage;)V"/>
+		<method name="formatReadOnly(Landroid/nfc/NdefMessage;)V"/>
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NdefFormatable;"/>
+	</class>
+	<class name="android/nfc/tech/NfcA" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="android/nfc/tech/TagTechnology"/>
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NfcA;"/>
+		<method name="getAtqa()[B"/>
+		<method name="getMaxTransceiveLength()I" since="14"/>
+		<method name="getSak()S"/>
+		<method name="getTimeout()I" since="14"/>
+		<method name="setTimeout(I)V" since="14"/>
+		<method name="transceive([B)[B"/>
+	</class>
+	<class name="android/nfc/tech/NfcB" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="android/nfc/tech/TagTechnology"/>
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NfcB;"/>
+		<method name="getApplicationData()[B"/>
+		<method name="getMaxTransceiveLength()I" since="14"/>
+		<method name="getProtocolInfo()[B"/>
+		<method name="transceive([B)[B"/>
+	</class>
+	<class name="android/nfc/tech/NfcBarcode" since="17">
+		<extends name="java/lang/Object"/>
+		<implements name="android/nfc/tech/TagTechnology"/>
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NfcBarcode;"/>
+		<method name="getBarcode()[B"/>
+		<method name="getType()I"/>
+		<field name="TYPE_KOVIO"/>
+		<field name="TYPE_UNKNOWN"/>
+	</class>
+	<class name="android/nfc/tech/NfcF" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="android/nfc/tech/TagTechnology"/>
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NfcF;"/>
+		<method name="getManufacturer()[B"/>
+		<method name="getMaxTransceiveLength()I" since="14"/>
+		<method name="getSystemCode()[B"/>
+		<method name="getTimeout()I" since="14"/>
+		<method name="setTimeout(I)V" since="14"/>
+		<method name="transceive([B)[B"/>
+	</class>
+	<class name="android/nfc/tech/NfcV" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="android/nfc/tech/TagTechnology"/>
+		<method name="get(Landroid/nfc/Tag;)Landroid/nfc/tech/NfcV;"/>
+		<method name="getDsfId()B"/>
+		<method name="getMaxTransceiveLength()I" since="14"/>
+		<method name="getResponseFlags()B"/>
+		<method name="transceive([B)[B"/>
+	</class>
+	<class name="android/nfc/tech/TagTechnology" since="10">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="connect()V"/>
+		<method name="getTag()Landroid/nfc/Tag;"/>
+		<method name="isConnected()Z"/>
+	</class>
+	<class name="android/opengl/EGL14" since="17">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="eglBindAPI(I)Z"/>
+		<method name="eglBindTexImage(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;I)Z"/>
+		<method name="eglChooseConfig(Landroid/opengl/EGLDisplay;[II[Landroid/opengl/EGLConfig;II[II)Z"/>
+		<method name="eglCopyBuffers(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;I)Z"/>
+		<method name="eglCreateContext(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Landroid/opengl/EGLContext;[II)Landroid/opengl/EGLContext;"/>
+		<method name="eglCreatePbufferFromClientBuffer(Landroid/opengl/EGLDisplay;IILandroid/opengl/EGLConfig;[II)Landroid/opengl/EGLSurface;"/>
+		<method name="eglCreatePbufferSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;[II)Landroid/opengl/EGLSurface;"/>
+		<method name="eglCreatePixmapSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;I[II)Landroid/opengl/EGLSurface;" deprecated="26"/>
+		<method name="eglCreateWindowSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/lang/Object;[II)Landroid/opengl/EGLSurface;"/>
+		<method name="eglDestroyContext(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLContext;)Z"/>
+		<method name="eglDestroySurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;)Z"/>
+		<method name="eglGetConfigAttrib(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;I[II)Z"/>
+		<method name="eglGetConfigs(Landroid/opengl/EGLDisplay;[Landroid/opengl/EGLConfig;II[II)Z"/>
+		<method name="eglGetCurrentContext()Landroid/opengl/EGLContext;"/>
+		<method name="eglGetCurrentDisplay()Landroid/opengl/EGLDisplay;"/>
+		<method name="eglGetCurrentSurface(I)Landroid/opengl/EGLSurface;"/>
+		<method name="eglGetDisplay(I)Landroid/opengl/EGLDisplay;"/>
+		<method name="eglGetError()I"/>
+		<method name="eglInitialize(Landroid/opengl/EGLDisplay;[II[II)Z"/>
+		<method name="eglMakeCurrent(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;Landroid/opengl/EGLSurface;Landroid/opengl/EGLContext;)Z"/>
+		<method name="eglQueryAPI()I"/>
+		<method name="eglQueryContext(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLContext;I[II)Z"/>
+		<method name="eglQueryString(Landroid/opengl/EGLDisplay;I)Ljava/lang/String;"/>
+		<method name="eglQuerySurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;I[II)Z"/>
+		<method name="eglReleaseTexImage(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;I)Z"/>
+		<method name="eglReleaseThread()Z"/>
+		<method name="eglSurfaceAttrib(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;II)Z"/>
+		<method name="eglSwapBuffers(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;)Z"/>
+		<method name="eglSwapInterval(Landroid/opengl/EGLDisplay;I)Z"/>
+		<method name="eglTerminate(Landroid/opengl/EGLDisplay;)Z"/>
+		<method name="eglWaitClient()Z"/>
+		<method name="eglWaitGL()Z"/>
+		<method name="eglWaitNative(I)Z"/>
+		<field name="EGL_ALPHA_MASK_SIZE"/>
+		<field name="EGL_ALPHA_SIZE"/>
+		<field name="EGL_BACK_BUFFER"/>
+		<field name="EGL_BAD_ACCESS"/>
+		<field name="EGL_BAD_ALLOC"/>
+		<field name="EGL_BAD_ATTRIBUTE"/>
+		<field name="EGL_BAD_CONFIG"/>
+		<field name="EGL_BAD_CONTEXT"/>
+		<field name="EGL_BAD_CURRENT_SURFACE"/>
+		<field name="EGL_BAD_DISPLAY"/>
+		<field name="EGL_BAD_MATCH"/>
+		<field name="EGL_BAD_NATIVE_PIXMAP"/>
+		<field name="EGL_BAD_NATIVE_WINDOW"/>
+		<field name="EGL_BAD_PARAMETER"/>
+		<field name="EGL_BAD_SURFACE"/>
+		<field name="EGL_BIND_TO_TEXTURE_RGB"/>
+		<field name="EGL_BIND_TO_TEXTURE_RGBA"/>
+		<field name="EGL_BLUE_SIZE"/>
+		<field name="EGL_BUFFER_DESTROYED"/>
+		<field name="EGL_BUFFER_PRESERVED"/>
+		<field name="EGL_BUFFER_SIZE"/>
+		<field name="EGL_CLIENT_APIS"/>
+		<field name="EGL_COLOR_BUFFER_TYPE"/>
+		<field name="EGL_CONFIG_CAVEAT"/>
+		<field name="EGL_CONFIG_ID"/>
+		<field name="EGL_CONFORMANT"/>
+		<field name="EGL_CONTEXT_CLIENT_TYPE"/>
+		<field name="EGL_CONTEXT_CLIENT_VERSION"/>
+		<field name="EGL_CONTEXT_LOST"/>
+		<field name="EGL_CORE_NATIVE_ENGINE"/>
+		<field name="EGL_DEFAULT_DISPLAY"/>
+		<field name="EGL_DEPTH_SIZE"/>
+		<field name="EGL_DISPLAY_SCALING"/>
+		<field name="EGL_DRAW"/>
+		<field name="EGL_EXTENSIONS"/>
+		<field name="EGL_FALSE"/>
+		<field name="EGL_GREEN_SIZE"/>
+		<field name="EGL_HEIGHT"/>
+		<field name="EGL_HORIZONTAL_RESOLUTION"/>
+		<field name="EGL_LARGEST_PBUFFER"/>
+		<field name="EGL_LEVEL"/>
+		<field name="EGL_LUMINANCE_BUFFER"/>
+		<field name="EGL_LUMINANCE_SIZE"/>
+		<field name="EGL_MATCH_NATIVE_PIXMAP"/>
+		<field name="EGL_MAX_PBUFFER_HEIGHT"/>
+		<field name="EGL_MAX_PBUFFER_PIXELS"/>
+		<field name="EGL_MAX_PBUFFER_WIDTH"/>
+		<field name="EGL_MAX_SWAP_INTERVAL"/>
+		<field name="EGL_MIN_SWAP_INTERVAL"/>
+		<field name="EGL_MIPMAP_LEVEL"/>
+		<field name="EGL_MIPMAP_TEXTURE"/>
+		<field name="EGL_MULTISAMPLE_RESOLVE"/>
+		<field name="EGL_MULTISAMPLE_RESOLVE_BOX"/>
+		<field name="EGL_MULTISAMPLE_RESOLVE_BOX_BIT"/>
+		<field name="EGL_MULTISAMPLE_RESOLVE_DEFAULT"/>
+		<field name="EGL_NATIVE_RENDERABLE"/>
+		<field name="EGL_NATIVE_VISUAL_ID"/>
+		<field name="EGL_NATIVE_VISUAL_TYPE"/>
+		<field name="EGL_NONE"/>
+		<field name="EGL_NON_CONFORMANT_CONFIG"/>
+		<field name="EGL_NOT_INITIALIZED"/>
+		<field name="EGL_NO_CONTEXT"/>
+		<field name="EGL_NO_DISPLAY"/>
+		<field name="EGL_NO_SURFACE"/>
+		<field name="EGL_NO_TEXTURE"/>
+		<field name="EGL_OPENGL_API"/>
+		<field name="EGL_OPENGL_BIT"/>
+		<field name="EGL_OPENGL_ES2_BIT"/>
+		<field name="EGL_OPENGL_ES_API"/>
+		<field name="EGL_OPENGL_ES_BIT"/>
+		<field name="EGL_OPENVG_API"/>
+		<field name="EGL_OPENVG_BIT"/>
+		<field name="EGL_OPENVG_IMAGE"/>
+		<field name="EGL_PBUFFER_BIT"/>
+		<field name="EGL_PIXEL_ASPECT_RATIO"/>
+		<field name="EGL_PIXMAP_BIT"/>
+		<field name="EGL_READ"/>
+		<field name="EGL_RED_SIZE"/>
+		<field name="EGL_RENDERABLE_TYPE"/>
+		<field name="EGL_RENDER_BUFFER"/>
+		<field name="EGL_RGB_BUFFER"/>
+		<field name="EGL_SAMPLES"/>
+		<field name="EGL_SAMPLE_BUFFERS"/>
+		<field name="EGL_SINGLE_BUFFER"/>
+		<field name="EGL_SLOW_CONFIG"/>
+		<field name="EGL_STENCIL_SIZE"/>
+		<field name="EGL_SUCCESS"/>
+		<field name="EGL_SURFACE_TYPE"/>
+		<field name="EGL_SWAP_BEHAVIOR"/>
+		<field name="EGL_SWAP_BEHAVIOR_PRESERVED_BIT"/>
+		<field name="EGL_TEXTURE_2D"/>
+		<field name="EGL_TEXTURE_FORMAT"/>
+		<field name="EGL_TEXTURE_RGB"/>
+		<field name="EGL_TEXTURE_RGBA"/>
+		<field name="EGL_TEXTURE_TARGET"/>
+		<field name="EGL_TRANSPARENT_BLUE_VALUE"/>
+		<field name="EGL_TRANSPARENT_GREEN_VALUE"/>
+		<field name="EGL_TRANSPARENT_RED_VALUE"/>
+		<field name="EGL_TRANSPARENT_RGB"/>
+		<field name="EGL_TRANSPARENT_TYPE"/>
+		<field name="EGL_TRUE"/>
+		<field name="EGL_VENDOR"/>
+		<field name="EGL_VERSION"/>
+		<field name="EGL_VERTICAL_RESOLUTION"/>
+		<field name="EGL_VG_ALPHA_FORMAT"/>
+		<field name="EGL_VG_ALPHA_FORMAT_NONPRE"/>
+		<field name="EGL_VG_ALPHA_FORMAT_PRE"/>
+		<field name="EGL_VG_ALPHA_FORMAT_PRE_BIT"/>
+		<field name="EGL_VG_COLORSPACE"/>
+		<field name="EGL_VG_COLORSPACE_LINEAR"/>
+		<field name="EGL_VG_COLORSPACE_LINEAR_BIT"/>
+		<field name="EGL_VG_COLORSPACE_sRGB"/>
+		<field name="EGL_WIDTH"/>
+		<field name="EGL_WINDOW_BIT"/>
+	</class>
+	<class name="android/opengl/EGL15" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="eglClientWaitSync(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSync;IJ)I"/>
+		<method name="eglCreateImage(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLContext;IJ[JI)Landroid/opengl/EGLImage;"/>
+		<method name="eglCreatePlatformPixmapSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/nio/Buffer;[JI)Landroid/opengl/EGLSurface;"/>
+		<method name="eglCreatePlatformWindowSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/nio/Buffer;[JI)Landroid/opengl/EGLSurface;"/>
+		<method name="eglCreateSync(Landroid/opengl/EGLDisplay;I[JI)Landroid/opengl/EGLSync;"/>
+		<method name="eglDestroyImage(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLImage;)Z"/>
+		<method name="eglDestroySync(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSync;)Z"/>
+		<method name="eglGetPlatformDisplay(IJ[JI)Landroid/opengl/EGLDisplay;"/>
+		<method name="eglGetSyncAttrib(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSync;I[JI)Z"/>
+		<method name="eglWaitSync(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSync;I)Z"/>
+		<field name="EGL_CL_EVENT_HANDLE"/>
+		<field name="EGL_CONDITION_SATISFIED"/>
+		<field name="EGL_CONTEXT_MAJOR_VERSION"/>
+		<field name="EGL_CONTEXT_MINOR_VERSION"/>
+		<field name="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT"/>
+		<field name="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT"/>
+		<field name="EGL_CONTEXT_OPENGL_DEBUG"/>
+		<field name="EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE"/>
+		<field name="EGL_CONTEXT_OPENGL_PROFILE_MASK"/>
+		<field name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY"/>
+		<field name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS"/>
+		<field name="EGL_FOREVER"/>
+		<field name="EGL_GL_COLORSPACE"/>
+		<field name="EGL_GL_COLORSPACE_LINEAR"/>
+		<field name="EGL_GL_COLORSPACE_SRGB"/>
+		<field name="EGL_GL_RENDERBUFFER"/>
+		<field name="EGL_GL_TEXTURE_2D"/>
+		<field name="EGL_GL_TEXTURE_3D"/>
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
+		<field name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
+		<field name="EGL_GL_TEXTURE_LEVEL"/>
+		<field name="EGL_GL_TEXTURE_ZOFFSET"/>
+		<field name="EGL_IMAGE_PRESERVED"/>
+		<field name="EGL_LOSE_CONTEXT_ON_RESET"/>
+		<field name="EGL_NO_CONTEXT"/>
+		<field name="EGL_NO_DISPLAY"/>
+		<field name="EGL_NO_IMAGE"/>
+		<field name="EGL_NO_RESET_NOTIFICATION"/>
+		<field name="EGL_NO_SURFACE"/>
+		<field name="EGL_NO_SYNC"/>
+		<field name="EGL_OPENGL_ES3_BIT"/>
+		<field name="EGL_PLATFORM_ANDROID_KHR"/>
+		<field name="EGL_SIGNALED"/>
+		<field name="EGL_SYNC_CL_EVENT"/>
+		<field name="EGL_SYNC_CL_EVENT_COMPLETE"/>
+		<field name="EGL_SYNC_CONDITION"/>
+		<field name="EGL_SYNC_FENCE"/>
+		<field name="EGL_SYNC_FLUSH_COMMANDS_BIT"/>
+		<field name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE"/>
+		<field name="EGL_SYNC_STATUS"/>
+		<field name="EGL_SYNC_TYPE"/>
+		<field name="EGL_TIMEOUT_EXPIRED"/>
+		<field name="EGL_UNSIGNALED"/>
+	</class>
+	<class name="android/opengl/EGLConfig" since="17">
+		<extends name="android/opengl/EGLObjectHandle"/>
+	</class>
+	<class name="android/opengl/EGLContext" since="17">
+		<extends name="android/opengl/EGLObjectHandle"/>
+	</class>
+	<class name="android/opengl/EGLDisplay" since="17">
+		<extends name="android/opengl/EGLObjectHandle"/>
+	</class>
+	<class name="android/opengl/EGLExt" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="eglPresentationTimeANDROID(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLSurface;J)Z"/>
+		<field name="EGL_CONTEXT_FLAGS_KHR"/>
+		<field name="EGL_CONTEXT_MAJOR_VERSION_KHR"/>
+		<field name="EGL_CONTEXT_MINOR_VERSION_KHR"/>
+		<field name="EGL_OPENGL_ES3_BIT_KHR"/>
+		<field name="EGL_RECORDABLE_ANDROID" since="26"/>
+	</class>
+	<class name="android/opengl/EGLImage" since="29">
+		<extends name="android/opengl/EGLObjectHandle"/>
+	</class>
+	<class name="android/opengl/EGLObjectHandle" since="17">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V" deprecated="21"/>
+		<method name="&lt;init>(J)V" since="21"/>
+		<method name="getHandle()I" deprecated="21"/>
+		<method name="getNativeHandle()J" since="21"/>
+	</class>
+	<class name="android/opengl/EGLSurface" since="17">
+		<extends name="android/opengl/EGLObjectHandle"/>
+	</class>
+	<class name="android/opengl/EGLSync" since="29">
+		<extends name="android/opengl/EGLObjectHandle"/>
+	</class>
+	<class name="android/opengl/ETC1" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="decodeBlock(Ljava/nio/Buffer;Ljava/nio/Buffer;)V"/>
+		<method name="decodeImage(Ljava/nio/Buffer;Ljava/nio/Buffer;IIII)V"/>
+		<method name="encodeBlock(Ljava/nio/Buffer;ILjava/nio/Buffer;)V"/>
+		<method name="encodeImage(Ljava/nio/Buffer;IIIILjava/nio/Buffer;)V"/>
+		<method name="formatHeader(Ljava/nio/Buffer;II)V"/>
+		<method name="getEncodedDataSize(II)I"/>
+		<method name="getHeight(Ljava/nio/Buffer;)I"/>
+		<method name="getWidth(Ljava/nio/Buffer;)I"/>
+		<method name="isValid(Ljava/nio/Buffer;)Z"/>
+		<field name="DECODED_BLOCK_SIZE"/>
+		<field name="ENCODED_BLOCK_SIZE"/>
+		<field name="ETC1_RGB8_OES"/>
+		<field name="ETC_PKM_HEADER_SIZE"/>
+	</class>
+	<class name="android/opengl/ETC1Util" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="compressTexture(Ljava/nio/Buffer;IIII)Landroid/opengl/ETC1Util$ETC1Texture;"/>
+		<method name="createTexture(Ljava/io/InputStream;)Landroid/opengl/ETC1Util$ETC1Texture;"/>
+		<method name="isETC1Supported()Z"/>
+		<method name="loadTexture(IIIIILandroid/opengl/ETC1Util$ETC1Texture;)V"/>
+		<method name="loadTexture(IIIIILjava/io/InputStream;)V"/>
+		<method name="writeTexture(Landroid/opengl/ETC1Util$ETC1Texture;Ljava/io/OutputStream;)V"/>
+	</class>
+	<class name="android/opengl/ETC1Util$ETC1Texture" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IILjava/nio/ByteBuffer;)V"/>
+		<method name="getData()Ljava/nio/ByteBuffer;"/>
+		<method name="getHeight()I"/>
+		<method name="getWidth()I"/>
+	</class>
+	<class name="android/opengl/GLDebugHelper" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="wrap(Ljavax/microedition/khronos/egl/EGL;ILjava/io/Writer;)Ljavax/microedition/khronos/egl/EGL;"/>
+		<method name="wrap(Ljavax/microedition/khronos/opengles/GL;ILjava/io/Writer;)Ljavax/microedition/khronos/opengles/GL;"/>
+		<field name="CONFIG_CHECK_GL_ERROR"/>
+		<field name="CONFIG_CHECK_THREAD"/>
+		<field name="CONFIG_LOG_ARGUMENT_NAMES"/>
+		<field name="ERROR_WRONG_THREAD"/>
+	</class>
+	<class name="android/opengl/GLES10" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="glActiveTexture(I)V"/>
+		<method name="glAlphaFunc(IF)V"/>
+		<method name="glAlphaFuncx(II)V"/>
+		<method name="glBindTexture(II)V"/>
+		<method name="glBlendFunc(II)V"/>
+		<method name="glClear(I)V"/>
+		<method name="glClearColor(FFFF)V"/>
+		<method name="glClearColorx(IIII)V"/>
+		<method name="glClearDepthf(F)V"/>
+		<method name="glClearDepthx(I)V"/>
+		<method name="glClearStencil(I)V"/>
+		<method name="glClientActiveTexture(I)V"/>
+		<method name="glColor4f(FFFF)V"/>
+		<method name="glColor4x(IIII)V"/>
+		<method name="glColorMask(ZZZZ)V"/>
+		<method name="glColorPointer(IIILjava/nio/Buffer;)V"/>
+		<method name="glCompressedTexImage2D(IIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glCompressedTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glCopyTexImage2D(IIIIIIII)V"/>
+		<method name="glCopyTexSubImage2D(IIIIIIII)V"/>
+		<method name="glCullFace(I)V"/>
+		<method name="glDeleteTextures(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteTextures(I[II)V"/>
+		<method name="glDepthFunc(I)V"/>
+		<method name="glDepthMask(Z)V"/>
+		<method name="glDepthRangef(FF)V"/>
+		<method name="glDepthRangex(II)V"/>
+		<method name="glDisable(I)V"/>
+		<method name="glDisableClientState(I)V"/>
+		<method name="glDrawArrays(III)V"/>
+		<method name="glDrawElements(IIILjava/nio/Buffer;)V"/>
+		<method name="glEnable(I)V"/>
+		<method name="glEnableClientState(I)V"/>
+		<method name="glFinish()V"/>
+		<method name="glFlush()V"/>
+		<method name="glFogf(IF)V"/>
+		<method name="glFogfv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glFogfv(I[FI)V"/>
+		<method name="glFogx(II)V"/>
+		<method name="glFogxv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glFogxv(I[II)V"/>
+		<method name="glFrontFace(I)V"/>
+		<method name="glFrustumf(FFFFFF)V"/>
+		<method name="glFrustumx(IIIIII)V"/>
+		<method name="glGenTextures(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenTextures(I[II)V"/>
+		<method name="glGetError()I"/>
+		<method name="glGetIntegerv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetIntegerv(I[II)V"/>
+		<method name="glGetString(I)Ljava/lang/String;"/>
+		<method name="glHint(II)V"/>
+		<method name="glLightModelf(IF)V"/>
+		<method name="glLightModelfv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glLightModelfv(I[FI)V"/>
+		<method name="glLightModelx(II)V"/>
+		<method name="glLightModelxv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glLightModelxv(I[II)V"/>
+		<method name="glLightf(IIF)V"/>
+		<method name="glLightfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glLightfv(II[FI)V"/>
+		<method name="glLightx(III)V"/>
+		<method name="glLightxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glLightxv(II[II)V"/>
+		<method name="glLineWidth(F)V"/>
+		<method name="glLineWidthx(I)V"/>
+		<method name="glLoadIdentity()V"/>
+		<method name="glLoadMatrixf(Ljava/nio/FloatBuffer;)V"/>
+		<method name="glLoadMatrixf([FI)V"/>
+		<method name="glLoadMatrixx(Ljava/nio/IntBuffer;)V"/>
+		<method name="glLoadMatrixx([II)V"/>
+		<method name="glLogicOp(I)V"/>
+		<method name="glMaterialf(IIF)V"/>
+		<method name="glMaterialfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glMaterialfv(II[FI)V"/>
+		<method name="glMaterialx(III)V"/>
+		<method name="glMaterialxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glMaterialxv(II[II)V"/>
+		<method name="glMatrixMode(I)V"/>
+		<method name="glMultMatrixf(Ljava/nio/FloatBuffer;)V"/>
+		<method name="glMultMatrixf([FI)V"/>
+		<method name="glMultMatrixx(Ljava/nio/IntBuffer;)V"/>
+		<method name="glMultMatrixx([II)V"/>
+		<method name="glMultiTexCoord4f(IFFFF)V"/>
+		<method name="glMultiTexCoord4x(IIIII)V"/>
+		<method name="glNormal3f(FFF)V"/>
+		<method name="glNormal3x(III)V"/>
+		<method name="glNormalPointer(IILjava/nio/Buffer;)V"/>
+		<method name="glOrthof(FFFFFF)V"/>
+		<method name="glOrthox(IIIIII)V"/>
+		<method name="glPixelStorei(II)V"/>
+		<method name="glPointSize(F)V"/>
+		<method name="glPointSizex(I)V"/>
+		<method name="glPolygonOffset(FF)V"/>
+		<method name="glPolygonOffsetx(II)V"/>
+		<method name="glPopMatrix()V"/>
+		<method name="glPushMatrix()V"/>
+		<method name="glReadPixels(IIIIIILjava/nio/Buffer;)V"/>
+		<method name="glRotatef(FFFF)V"/>
+		<method name="glRotatex(IIII)V"/>
+		<method name="glSampleCoverage(FZ)V"/>
+		<method name="glSampleCoveragex(IZ)V"/>
+		<method name="glScalef(FFF)V"/>
+		<method name="glScalex(III)V"/>
+		<method name="glScissor(IIII)V"/>
+		<method name="glShadeModel(I)V"/>
+		<method name="glStencilFunc(III)V"/>
+		<method name="glStencilMask(I)V"/>
+		<method name="glStencilOp(III)V"/>
+		<method name="glTexCoordPointer(IIILjava/nio/Buffer;)V"/>
+		<method name="glTexEnvf(IIF)V"/>
+		<method name="glTexEnvfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glTexEnvfv(II[FI)V"/>
+		<method name="glTexEnvx(III)V"/>
+		<method name="glTexEnvxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexEnvxv(II[II)V"/>
+		<method name="glTexImage2D(IIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glTexParameterf(IIF)V"/>
+		<method name="glTexParameterx(III)V"/>
+		<method name="glTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glTranslatef(FFF)V"/>
+		<method name="glTranslatex(III)V"/>
+		<method name="glVertexPointer(IIILjava/nio/Buffer;)V"/>
+		<method name="glViewport(IIII)V"/>
+		<field name="GL_ADD"/>
+		<field name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+		<field name="GL_ALIASED_POINT_SIZE_RANGE"/>
+		<field name="GL_ALPHA"/>
+		<field name="GL_ALPHA_BITS"/>
+		<field name="GL_ALPHA_TEST"/>
+		<field name="GL_ALWAYS"/>
+		<field name="GL_AMBIENT"/>
+		<field name="GL_AMBIENT_AND_DIFFUSE"/>
+		<field name="GL_AND"/>
+		<field name="GL_AND_INVERTED"/>
+		<field name="GL_AND_REVERSE"/>
+		<field name="GL_BACK"/>
+		<field name="GL_BLEND"/>
+		<field name="GL_BLUE_BITS"/>
+		<field name="GL_BYTE"/>
+		<field name="GL_CCW"/>
+		<field name="GL_CLAMP_TO_EDGE"/>
+		<field name="GL_CLEAR"/>
+		<field name="GL_COLOR_ARRAY"/>
+		<field name="GL_COLOR_BUFFER_BIT"/>
+		<field name="GL_COLOR_LOGIC_OP"/>
+		<field name="GL_COLOR_MATERIAL"/>
+		<field name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+		<field name="GL_CONSTANT_ATTENUATION"/>
+		<field name="GL_COPY"/>
+		<field name="GL_COPY_INVERTED"/>
+		<field name="GL_CULL_FACE"/>
+		<field name="GL_CW"/>
+		<field name="GL_DECAL"/>
+		<field name="GL_DECR"/>
+		<field name="GL_DEPTH_BITS"/>
+		<field name="GL_DEPTH_BUFFER_BIT"/>
+		<field name="GL_DEPTH_TEST"/>
+		<field name="GL_DIFFUSE"/>
+		<field name="GL_DITHER"/>
+		<field name="GL_DONT_CARE"/>
+		<field name="GL_DST_ALPHA"/>
+		<field name="GL_DST_COLOR"/>
+		<field name="GL_EMISSION"/>
+		<field name="GL_EQUAL"/>
+		<field name="GL_EQUIV"/>
+		<field name="GL_EXP"/>
+		<field name="GL_EXP2"/>
+		<field name="GL_EXTENSIONS"/>
+		<field name="GL_FALSE"/>
+		<field name="GL_FASTEST"/>
+		<field name="GL_FIXED"/>
+		<field name="GL_FLAT"/>
+		<field name="GL_FLOAT"/>
+		<field name="GL_FOG"/>
+		<field name="GL_FOG_COLOR"/>
+		<field name="GL_FOG_DENSITY"/>
+		<field name="GL_FOG_END"/>
+		<field name="GL_FOG_HINT"/>
+		<field name="GL_FOG_MODE"/>
+		<field name="GL_FOG_START"/>
+		<field name="GL_FRONT"/>
+		<field name="GL_FRONT_AND_BACK"/>
+		<field name="GL_GEQUAL"/>
+		<field name="GL_GREATER"/>
+		<field name="GL_GREEN_BITS"/>
+		<field name="GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES"/>
+		<field name="GL_IMPLEMENTATION_COLOR_READ_TYPE_OES"/>
+		<field name="GL_INCR"/>
+		<field name="GL_INVALID_ENUM"/>
+		<field name="GL_INVALID_OPERATION"/>
+		<field name="GL_INVALID_VALUE"/>
+		<field name="GL_INVERT"/>
+		<field name="GL_KEEP"/>
+		<field name="GL_LEQUAL"/>
+		<field name="GL_LESS"/>
+		<field name="GL_LIGHT0"/>
+		<field name="GL_LIGHT1"/>
+		<field name="GL_LIGHT2"/>
+		<field name="GL_LIGHT3"/>
+		<field name="GL_LIGHT4"/>
+		<field name="GL_LIGHT5"/>
+		<field name="GL_LIGHT6"/>
+		<field name="GL_LIGHT7"/>
+		<field name="GL_LIGHTING"/>
+		<field name="GL_LIGHT_MODEL_AMBIENT"/>
+		<field name="GL_LIGHT_MODEL_TWO_SIDE"/>
+		<field name="GL_LINEAR"/>
+		<field name="GL_LINEAR_ATTENUATION"/>
+		<field name="GL_LINEAR_MIPMAP_LINEAR"/>
+		<field name="GL_LINEAR_MIPMAP_NEAREST"/>
+		<field name="GL_LINES"/>
+		<field name="GL_LINE_LOOP"/>
+		<field name="GL_LINE_SMOOTH"/>
+		<field name="GL_LINE_SMOOTH_HINT"/>
+		<field name="GL_LINE_STRIP"/>
+		<field name="GL_LUMINANCE"/>
+		<field name="GL_LUMINANCE_ALPHA"/>
+		<field name="GL_MAX_ELEMENTS_INDICES"/>
+		<field name="GL_MAX_ELEMENTS_VERTICES"/>
+		<field name="GL_MAX_LIGHTS"/>
+		<field name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
+		<field name="GL_MAX_PROJECTION_STACK_DEPTH"/>
+		<field name="GL_MAX_TEXTURE_SIZE"/>
+		<field name="GL_MAX_TEXTURE_STACK_DEPTH"/>
+		<field name="GL_MAX_TEXTURE_UNITS"/>
+		<field name="GL_MAX_VIEWPORT_DIMS"/>
+		<field name="GL_MODELVIEW"/>
+		<field name="GL_MODULATE"/>
+		<field name="GL_MULTISAMPLE"/>
+		<field name="GL_NAND"/>
+		<field name="GL_NEAREST"/>
+		<field name="GL_NEAREST_MIPMAP_LINEAR"/>
+		<field name="GL_NEAREST_MIPMAP_NEAREST"/>
+		<field name="GL_NEVER"/>
+		<field name="GL_NICEST"/>
+		<field name="GL_NOOP"/>
+		<field name="GL_NOR"/>
+		<field name="GL_NORMALIZE"/>
+		<field name="GL_NORMAL_ARRAY"/>
+		<field name="GL_NOTEQUAL"/>
+		<field name="GL_NO_ERROR"/>
+		<field name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+		<field name="GL_ONE"/>
+		<field name="GL_ONE_MINUS_DST_ALPHA"/>
+		<field name="GL_ONE_MINUS_DST_COLOR"/>
+		<field name="GL_ONE_MINUS_SRC_ALPHA"/>
+		<field name="GL_ONE_MINUS_SRC_COLOR"/>
+		<field name="GL_OR"/>
+		<field name="GL_OR_INVERTED"/>
+		<field name="GL_OR_REVERSE"/>
+		<field name="GL_OUT_OF_MEMORY"/>
+		<field name="GL_PACK_ALIGNMENT"/>
+		<field name="GL_PALETTE4_R5_G6_B5_OES"/>
+		<field name="GL_PALETTE4_RGB5_A1_OES"/>
+		<field name="GL_PALETTE4_RGB8_OES"/>
+		<field name="GL_PALETTE4_RGBA4_OES"/>
+		<field name="GL_PALETTE4_RGBA8_OES"/>
+		<field name="GL_PALETTE8_R5_G6_B5_OES"/>
+		<field name="GL_PALETTE8_RGB5_A1_OES"/>
+		<field name="GL_PALETTE8_RGB8_OES"/>
+		<field name="GL_PALETTE8_RGBA4_OES"/>
+		<field name="GL_PALETTE8_RGBA8_OES"/>
+		<field name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+		<field name="GL_POINTS"/>
+		<field name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+		<field name="GL_POINT_SIZE"/>
+		<field name="GL_POINT_SMOOTH"/>
+		<field name="GL_POINT_SMOOTH_HINT"/>
+		<field name="GL_POLYGON_OFFSET_FILL"/>
+		<field name="GL_POLYGON_SMOOTH_HINT"/>
+		<field name="GL_POSITION"/>
+		<field name="GL_PROJECTION"/>
+		<field name="GL_QUADRATIC_ATTENUATION"/>
+		<field name="GL_RED_BITS"/>
+		<field name="GL_RENDERER"/>
+		<field name="GL_REPEAT"/>
+		<field name="GL_REPLACE"/>
+		<field name="GL_RESCALE_NORMAL"/>
+		<field name="GL_RGB"/>
+		<field name="GL_RGBA"/>
+		<field name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+		<field name="GL_SAMPLE_ALPHA_TO_ONE"/>
+		<field name="GL_SAMPLE_COVERAGE"/>
+		<field name="GL_SCISSOR_TEST"/>
+		<field name="GL_SET"/>
+		<field name="GL_SHININESS"/>
+		<field name="GL_SHORT"/>
+		<field name="GL_SMOOTH"/>
+		<field name="GL_SMOOTH_LINE_WIDTH_RANGE"/>
+		<field name="GL_SMOOTH_POINT_SIZE_RANGE"/>
+		<field name="GL_SPECULAR"/>
+		<field name="GL_SPOT_CUTOFF"/>
+		<field name="GL_SPOT_DIRECTION"/>
+		<field name="GL_SPOT_EXPONENT"/>
+		<field name="GL_SRC_ALPHA"/>
+		<field name="GL_SRC_ALPHA_SATURATE"/>
+		<field name="GL_SRC_COLOR"/>
+		<field name="GL_STACK_OVERFLOW"/>
+		<field name="GL_STACK_UNDERFLOW"/>
+		<field name="GL_STENCIL_BITS"/>
+		<field name="GL_STENCIL_BUFFER_BIT"/>
+		<field name="GL_STENCIL_TEST"/>
+		<field name="GL_SUBPIXEL_BITS"/>
+		<field name="GL_TEXTURE"/>
+		<field name="GL_TEXTURE0"/>
+		<field name="GL_TEXTURE1"/>
+		<field name="GL_TEXTURE10"/>
+		<field name="GL_TEXTURE11"/>
+		<field name="GL_TEXTURE12"/>
+		<field name="GL_TEXTURE13"/>
+		<field name="GL_TEXTURE14"/>
+		<field name="GL_TEXTURE15"/>
+		<field name="GL_TEXTURE16"/>
+		<field name="GL_TEXTURE17"/>
+		<field name="GL_TEXTURE18"/>
+		<field name="GL_TEXTURE19"/>
+		<field name="GL_TEXTURE2"/>
+		<field name="GL_TEXTURE20"/>
+		<field name="GL_TEXTURE21"/>
+		<field name="GL_TEXTURE22"/>
+		<field name="GL_TEXTURE23"/>
+		<field name="GL_TEXTURE24"/>
+		<field name="GL_TEXTURE25"/>
+		<field name="GL_TEXTURE26"/>
+		<field name="GL_TEXTURE27"/>
+		<field name="GL_TEXTURE28"/>
+		<field name="GL_TEXTURE29"/>
+		<field name="GL_TEXTURE3"/>
+		<field name="GL_TEXTURE30"/>
+		<field name="GL_TEXTURE31"/>
+		<field name="GL_TEXTURE4"/>
+		<field name="GL_TEXTURE5"/>
+		<field name="GL_TEXTURE6"/>
+		<field name="GL_TEXTURE7"/>
+		<field name="GL_TEXTURE8"/>
+		<field name="GL_TEXTURE9"/>
+		<field name="GL_TEXTURE_2D"/>
+		<field name="GL_TEXTURE_COORD_ARRAY"/>
+		<field name="GL_TEXTURE_ENV"/>
+		<field name="GL_TEXTURE_ENV_COLOR"/>
+		<field name="GL_TEXTURE_ENV_MODE"/>
+		<field name="GL_TEXTURE_MAG_FILTER"/>
+		<field name="GL_TEXTURE_MIN_FILTER"/>
+		<field name="GL_TEXTURE_WRAP_S"/>
+		<field name="GL_TEXTURE_WRAP_T"/>
+		<field name="GL_TRIANGLES"/>
+		<field name="GL_TRIANGLE_FAN"/>
+		<field name="GL_TRIANGLE_STRIP"/>
+		<field name="GL_TRUE"/>
+		<field name="GL_UNPACK_ALIGNMENT"/>
+		<field name="GL_UNSIGNED_BYTE"/>
+		<field name="GL_UNSIGNED_SHORT"/>
+		<field name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+		<field name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+		<field name="GL_UNSIGNED_SHORT_5_6_5"/>
+		<field name="GL_VENDOR"/>
+		<field name="GL_VERSION"/>
+		<field name="GL_VERTEX_ARRAY"/>
+		<field name="GL_XOR"/>
+		<field name="GL_ZERO"/>
+	</class>
+	<class name="android/opengl/GLES10Ext" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="glQueryMatrixxOES(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)I"/>
+		<method name="glQueryMatrixxOES([II[II)I"/>
+	</class>
+	<class name="android/opengl/GLES11" since="4">
+		<extends name="android/opengl/GLES10"/>
+		<method name="&lt;init>()V"/>
+		<method name="glBindBuffer(II)V"/>
+		<method name="glBufferData(IILjava/nio/Buffer;I)V"/>
+		<method name="glBufferSubData(IIILjava/nio/Buffer;)V"/>
+		<method name="glClipPlanef(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glClipPlanef(I[FI)V"/>
+		<method name="glClipPlanex(ILjava/nio/IntBuffer;)V"/>
+		<method name="glClipPlanex(I[II)V"/>
+		<method name="glColor4ub(BBBB)V"/>
+		<method name="glColorPointer(IIII)V"/>
+		<method name="glDeleteBuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteBuffers(I[II)V"/>
+		<method name="glDrawElements(IIII)V"/>
+		<method name="glGenBuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenBuffers(I[II)V"/>
+		<method name="glGetBooleanv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetBooleanv(I[ZI)V"/>
+		<method name="glGetBufferParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetBufferParameteriv(II[II)V"/>
+		<method name="glGetClipPlanef(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetClipPlanef(I[FI)V"/>
+		<method name="glGetClipPlanex(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetClipPlanex(I[II)V"/>
+		<method name="glGetFixedv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetFixedv(I[II)V"/>
+		<method name="glGetFloatv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetFloatv(I[FI)V"/>
+		<method name="glGetLightfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetLightfv(II[FI)V"/>
+		<method name="glGetLightxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetLightxv(II[II)V"/>
+		<method name="glGetMaterialfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetMaterialfv(II[FI)V"/>
+		<method name="glGetMaterialxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetMaterialxv(II[II)V"/>
+		<method name="glGetTexEnvfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetTexEnvfv(II[FI)V"/>
+		<method name="glGetTexEnviv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexEnviv(II[II)V"/>
+		<method name="glGetTexEnvxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexEnvxv(II[II)V"/>
+		<method name="glGetTexParameterfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetTexParameterfv(II[FI)V"/>
+		<method name="glGetTexParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexParameteriv(II[II)V"/>
+		<method name="glGetTexParameterxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexParameterxv(II[II)V"/>
+		<method name="glIsBuffer(I)Z"/>
+		<method name="glIsEnabled(I)Z"/>
+		<method name="glIsTexture(I)Z"/>
+		<method name="glNormalPointer(III)V"/>
+		<method name="glPointParameterf(IF)V"/>
+		<method name="glPointParameterfv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glPointParameterfv(I[FI)V"/>
+		<method name="glPointParameterx(II)V"/>
+		<method name="glPointParameterxv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glPointParameterxv(I[II)V"/>
+		<method name="glPointSizePointerOES(IILjava/nio/Buffer;)V"/>
+		<method name="glTexCoordPointer(IIII)V"/>
+		<method name="glTexEnvi(III)V"/>
+		<method name="glTexEnviv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexEnviv(II[II)V"/>
+		<method name="glTexParameterfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glTexParameterfv(II[FI)V"/>
+		<method name="glTexParameteri(III)V"/>
+		<method name="glTexParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexParameteriv(II[II)V"/>
+		<method name="glTexParameterxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexParameterxv(II[II)V"/>
+		<method name="glVertexPointer(IIII)V"/>
+		<field name="GL_ACTIVE_TEXTURE"/>
+		<field name="GL_ADD_SIGNED"/>
+		<field name="GL_ALPHA_SCALE"/>
+		<field name="GL_ALPHA_TEST_FUNC"/>
+		<field name="GL_ALPHA_TEST_REF"/>
+		<field name="GL_ARRAY_BUFFER"/>
+		<field name="GL_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_BLEND_DST"/>
+		<field name="GL_BLEND_SRC"/>
+		<field name="GL_BUFFER_ACCESS"/>
+		<field name="GL_BUFFER_SIZE"/>
+		<field name="GL_BUFFER_USAGE"/>
+		<field name="GL_CLIENT_ACTIVE_TEXTURE"/>
+		<field name="GL_CLIP_PLANE0"/>
+		<field name="GL_CLIP_PLANE1"/>
+		<field name="GL_CLIP_PLANE2"/>
+		<field name="GL_CLIP_PLANE3"/>
+		<field name="GL_CLIP_PLANE4"/>
+		<field name="GL_CLIP_PLANE5"/>
+		<field name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_COLOR_ARRAY_POINTER"/>
+		<field name="GL_COLOR_ARRAY_SIZE"/>
+		<field name="GL_COLOR_ARRAY_STRIDE"/>
+		<field name="GL_COLOR_ARRAY_TYPE"/>
+		<field name="GL_COLOR_CLEAR_VALUE"/>
+		<field name="GL_COLOR_WRITEMASK"/>
+		<field name="GL_COMBINE"/>
+		<field name="GL_COMBINE_ALPHA"/>
+		<field name="GL_COMBINE_RGB"/>
+		<field name="GL_CONSTANT"/>
+		<field name="GL_COORD_REPLACE_OES"/>
+		<field name="GL_CULL_FACE_MODE"/>
+		<field name="GL_CURRENT_COLOR"/>
+		<field name="GL_CURRENT_NORMAL"/>
+		<field name="GL_CURRENT_TEXTURE_COORDS"/>
+		<field name="GL_DEPTH_CLEAR_VALUE"/>
+		<field name="GL_DEPTH_FUNC"/>
+		<field name="GL_DEPTH_RANGE"/>
+		<field name="GL_DEPTH_WRITEMASK"/>
+		<field name="GL_DOT3_RGB"/>
+		<field name="GL_DOT3_RGBA"/>
+		<field name="GL_DYNAMIC_DRAW"/>
+		<field name="GL_ELEMENT_ARRAY_BUFFER"/>
+		<field name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_FRONT_FACE"/>
+		<field name="GL_GENERATE_MIPMAP"/>
+		<field name="GL_GENERATE_MIPMAP_HINT"/>
+		<field name="GL_INTERPOLATE"/>
+		<field name="GL_LINE_WIDTH"/>
+		<field name="GL_LOGIC_OP_MODE"/>
+		<field name="GL_MATRIX_MODE"/>
+		<field name="GL_MAX_CLIP_PLANES"/>
+		<field name="GL_MODELVIEW_MATRIX"/>
+		<field name="GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+		<field name="GL_MODELVIEW_STACK_DEPTH"/>
+		<field name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_NORMAL_ARRAY_POINTER"/>
+		<field name="GL_NORMAL_ARRAY_STRIDE"/>
+		<field name="GL_NORMAL_ARRAY_TYPE"/>
+		<field name="GL_OPERAND0_ALPHA"/>
+		<field name="GL_OPERAND0_RGB"/>
+		<field name="GL_OPERAND1_ALPHA"/>
+		<field name="GL_OPERAND1_RGB"/>
+		<field name="GL_OPERAND2_ALPHA"/>
+		<field name="GL_OPERAND2_RGB"/>
+		<field name="GL_POINT_DISTANCE_ATTENUATION"/>
+		<field name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+		<field name="GL_POINT_SIZE"/>
+		<field name="GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES"/>
+		<field name="GL_POINT_SIZE_ARRAY_OES"/>
+		<field name="GL_POINT_SIZE_ARRAY_POINTER_OES"/>
+		<field name="GL_POINT_SIZE_ARRAY_STRIDE_OES"/>
+		<field name="GL_POINT_SIZE_ARRAY_TYPE_OES"/>
+		<field name="GL_POINT_SIZE_MAX"/>
+		<field name="GL_POINT_SIZE_MIN"/>
+		<field name="GL_POINT_SPRITE_OES"/>
+		<field name="GL_POLYGON_OFFSET_FACTOR"/>
+		<field name="GL_POLYGON_OFFSET_UNITS"/>
+		<field name="GL_PREVIOUS"/>
+		<field name="GL_PRIMARY_COLOR"/>
+		<field name="GL_PROJECTION_MATRIX"/>
+		<field name="GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+		<field name="GL_PROJECTION_STACK_DEPTH"/>
+		<field name="GL_RGB_SCALE"/>
+		<field name="GL_SAMPLES"/>
+		<field name="GL_SAMPLE_BUFFERS"/>
+		<field name="GL_SAMPLE_COVERAGE_INVERT"/>
+		<field name="GL_SAMPLE_COVERAGE_VALUE"/>
+		<field name="GL_SCISSOR_BOX"/>
+		<field name="GL_SHADE_MODEL"/>
+		<field name="GL_SRC0_ALPHA"/>
+		<field name="GL_SRC0_RGB"/>
+		<field name="GL_SRC1_ALPHA"/>
+		<field name="GL_SRC1_RGB"/>
+		<field name="GL_SRC2_ALPHA"/>
+		<field name="GL_SRC2_RGB"/>
+		<field name="GL_STATIC_DRAW"/>
+		<field name="GL_STENCIL_CLEAR_VALUE"/>
+		<field name="GL_STENCIL_FAIL"/>
+		<field name="GL_STENCIL_FUNC"/>
+		<field name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+		<field name="GL_STENCIL_PASS_DEPTH_PASS"/>
+		<field name="GL_STENCIL_REF"/>
+		<field name="GL_STENCIL_VALUE_MASK"/>
+		<field name="GL_STENCIL_WRITEMASK"/>
+		<field name="GL_SUBTRACT"/>
+		<field name="GL_TEXTURE_BINDING_2D"/>
+		<field name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
+		<field name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
+		<field name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
+		<field name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
+		<field name="GL_TEXTURE_MATRIX"/>
+		<field name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+		<field name="GL_TEXTURE_STACK_DEPTH"/>
+		<field name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_VERTEX_ARRAY_POINTER"/>
+		<field name="GL_VERTEX_ARRAY_SIZE"/>
+		<field name="GL_VERTEX_ARRAY_STRIDE"/>
+		<field name="GL_VERTEX_ARRAY_TYPE"/>
+		<field name="GL_VIEWPORT"/>
+		<field name="GL_WRITE_ONLY"/>
+	</class>
+	<class name="android/opengl/GLES11Ext" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="glAlphaFuncxOES(II)V"/>
+		<method name="glBindFramebufferOES(II)V"/>
+		<method name="glBindRenderbufferOES(II)V"/>
+		<method name="glBlendEquationOES(I)V"/>
+		<method name="glBlendEquationSeparateOES(II)V"/>
+		<method name="glBlendFuncSeparateOES(IIII)V"/>
+		<method name="glCheckFramebufferStatusOES(I)I"/>
+		<method name="glClearColorxOES(IIII)V"/>
+		<method name="glClearDepthfOES(F)V"/>
+		<method name="glClearDepthxOES(I)V"/>
+		<method name="glClipPlanefOES(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glClipPlanefOES(I[FI)V"/>
+		<method name="glClipPlanexOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glClipPlanexOES(I[II)V"/>
+		<method name="glColor4xOES(IIII)V"/>
+		<method name="glCurrentPaletteMatrixOES(I)V"/>
+		<method name="glDeleteFramebuffersOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteFramebuffersOES(I[II)V"/>
+		<method name="glDeleteRenderbuffersOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteRenderbuffersOES(I[II)V"/>
+		<method name="glDepthRangefOES(FF)V"/>
+		<method name="glDepthRangexOES(II)V"/>
+		<method name="glDrawTexfOES(FFFFF)V"/>
+		<method name="glDrawTexfvOES(Ljava/nio/FloatBuffer;)V"/>
+		<method name="glDrawTexfvOES([FI)V"/>
+		<method name="glDrawTexiOES(IIIII)V"/>
+		<method name="glDrawTexivOES(Ljava/nio/IntBuffer;)V"/>
+		<method name="glDrawTexivOES([II)V"/>
+		<method name="glDrawTexsOES(SSSSS)V"/>
+		<method name="glDrawTexsvOES(Ljava/nio/ShortBuffer;)V"/>
+		<method name="glDrawTexsvOES([SI)V"/>
+		<method name="glDrawTexxOES(IIIII)V"/>
+		<method name="glDrawTexxvOES(Ljava/nio/IntBuffer;)V"/>
+		<method name="glDrawTexxvOES([II)V"/>
+		<method name="glEGLImageTargetRenderbufferStorageOES(ILjava/nio/Buffer;)V"/>
+		<method name="glEGLImageTargetTexture2DOES(ILjava/nio/Buffer;)V"/>
+		<method name="glFogxOES(II)V"/>
+		<method name="glFogxvOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glFogxvOES(I[II)V"/>
+		<method name="glFramebufferRenderbufferOES(IIII)V"/>
+		<method name="glFramebufferTexture2DOES(IIIII)V"/>
+		<method name="glFrustumfOES(FFFFFF)V"/>
+		<method name="glFrustumxOES(IIIIII)V"/>
+		<method name="glGenFramebuffersOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenFramebuffersOES(I[II)V"/>
+		<method name="glGenRenderbuffersOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenRenderbuffersOES(I[II)V"/>
+		<method name="glGenerateMipmapOES(I)V"/>
+		<method name="glGetClipPlanefOES(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetClipPlanefOES(I[FI)V"/>
+		<method name="glGetClipPlanexOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetClipPlanexOES(I[II)V"/>
+		<method name="glGetFixedvOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetFixedvOES(I[II)V"/>
+		<method name="glGetFramebufferAttachmentParameterivOES(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glGetFramebufferAttachmentParameterivOES(III[II)V"/>
+		<method name="glGetLightxvOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetLightxvOES(II[II)V"/>
+		<method name="glGetMaterialxvOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetMaterialxvOES(II[II)V"/>
+		<method name="glGetRenderbufferParameterivOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetRenderbufferParameterivOES(II[II)V"/>
+		<method name="glGetTexEnvxvOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexEnvxvOES(II[II)V"/>
+		<method name="glGetTexGenfvOES(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetTexGenfvOES(II[FI)V"/>
+		<method name="glGetTexGenivOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexGenivOES(II[II)V"/>
+		<method name="glGetTexGenxvOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexGenxvOES(II[II)V"/>
+		<method name="glGetTexParameterxvOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexParameterxvOES(II[II)V"/>
+		<method name="glIsFramebufferOES(I)Z"/>
+		<method name="glIsRenderbufferOES(I)Z"/>
+		<method name="glLightModelxOES(II)V"/>
+		<method name="glLightModelxvOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glLightModelxvOES(I[II)V"/>
+		<method name="glLightxOES(III)V"/>
+		<method name="glLightxvOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glLightxvOES(II[II)V"/>
+		<method name="glLineWidthxOES(I)V"/>
+		<method name="glLoadMatrixxOES(Ljava/nio/IntBuffer;)V"/>
+		<method name="glLoadMatrixxOES([II)V"/>
+		<method name="glLoadPaletteFromModelViewMatrixOES()V"/>
+		<method name="glMaterialxOES(III)V"/>
+		<method name="glMaterialxvOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glMaterialxvOES(II[II)V"/>
+		<method name="glMatrixIndexPointerOES(IIILjava/nio/Buffer;)V"/>
+		<method name="glMultMatrixxOES(Ljava/nio/IntBuffer;)V"/>
+		<method name="glMultMatrixxOES([II)V"/>
+		<method name="glMultiTexCoord4xOES(IIIII)V"/>
+		<method name="glNormal3xOES(III)V"/>
+		<method name="glOrthofOES(FFFFFF)V"/>
+		<method name="glOrthoxOES(IIIIII)V"/>
+		<method name="glPointParameterxOES(II)V"/>
+		<method name="glPointParameterxvOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glPointParameterxvOES(I[II)V"/>
+		<method name="glPointSizexOES(I)V"/>
+		<method name="glPolygonOffsetxOES(II)V"/>
+		<method name="glRenderbufferStorageOES(IIII)V"/>
+		<method name="glRotatexOES(IIII)V"/>
+		<method name="glSampleCoveragexOES(IZ)V"/>
+		<method name="glScalexOES(III)V"/>
+		<method name="glTexEnvxOES(III)V"/>
+		<method name="glTexEnvxvOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexEnvxvOES(II[II)V"/>
+		<method name="glTexGenfOES(IIF)V"/>
+		<method name="glTexGenfvOES(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glTexGenfvOES(II[FI)V"/>
+		<method name="glTexGeniOES(III)V"/>
+		<method name="glTexGenivOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexGenivOES(II[II)V"/>
+		<method name="glTexGenxOES(III)V"/>
+		<method name="glTexGenxvOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexGenxvOES(II[II)V"/>
+		<method name="glTexParameterxOES(III)V"/>
+		<method name="glTexParameterxvOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexParameterxvOES(II[II)V"/>
+		<method name="glTranslatexOES(III)V"/>
+		<method name="glWeightPointerOES(IIILjava/nio/Buffer;)V"/>
+		<field name="GL_3DC_XY_AMD"/>
+		<field name="GL_3DC_X_AMD"/>
+		<field name="GL_ATC_RGBA_EXPLICIT_ALPHA_AMD"/>
+		<field name="GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD"/>
+		<field name="GL_ATC_RGB_AMD"/>
+		<field name="GL_BGRA"/>
+		<field name="GL_BLEND_DST_ALPHA_OES"/>
+		<field name="GL_BLEND_DST_RGB_OES"/>
+		<field name="GL_BLEND_EQUATION_ALPHA_OES"/>
+		<field name="GL_BLEND_EQUATION_OES"/>
+		<field name="GL_BLEND_EQUATION_RGB_OES"/>
+		<field name="GL_BLEND_SRC_ALPHA_OES"/>
+		<field name="GL_BLEND_SRC_RGB_OES"/>
+		<field name="GL_BUFFER_ACCESS_OES"/>
+		<field name="GL_BUFFER_MAPPED_OES"/>
+		<field name="GL_BUFFER_MAP_POINTER_OES"/>
+		<field name="GL_COLOR_ATTACHMENT0_OES"/>
+		<field name="GL_CURRENT_PALETTE_MATRIX_OES"/>
+		<field name="GL_DECR_WRAP_OES"/>
+		<field name="GL_DEPTH24_STENCIL8_OES"/>
+		<field name="GL_DEPTH_ATTACHMENT_OES"/>
+		<field name="GL_DEPTH_COMPONENT16_OES"/>
+		<field name="GL_DEPTH_COMPONENT24_OES"/>
+		<field name="GL_DEPTH_COMPONENT32_OES"/>
+		<field name="GL_DEPTH_STENCIL_OES"/>
+		<field name="GL_ETC1_RGB8_OES"/>
+		<field name="GL_FIXED_OES"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES"/>
+		<field name="GL_FRAMEBUFFER_BINDING_OES"/>
+		<field name="GL_FRAMEBUFFER_COMPLETE_OES"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES"/>
+		<field name="GL_FRAMEBUFFER_OES"/>
+		<field name="GL_FRAMEBUFFER_UNSUPPORTED_OES"/>
+		<field name="GL_FUNC_ADD_OES"/>
+		<field name="GL_FUNC_REVERSE_SUBTRACT_OES"/>
+		<field name="GL_FUNC_SUBTRACT_OES"/>
+		<field name="GL_INCR_WRAP_OES"/>
+		<field name="GL_INVALID_FRAMEBUFFER_OPERATION_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_POINTER_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_SIZE_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_STRIDE_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_TYPE_OES"/>
+		<field name="GL_MATRIX_PALETTE_OES"/>
+		<field name="GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES"/>
+		<field name="GL_MAX_PALETTE_MATRICES_OES"/>
+		<field name="GL_MAX_RENDERBUFFER_SIZE_OES"/>
+		<field name="GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT"/>
+		<field name="GL_MAX_VERTEX_UNITS_OES"/>
+		<field name="GL_MIRRORED_REPEAT_OES"/>
+		<field name="GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+		<field name="GL_NONE_OES"/>
+		<field name="GL_NORMAL_MAP_OES"/>
+		<field name="GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+		<field name="GL_REFLECTION_MAP_OES"/>
+		<field name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_BINDING_OES"/>
+		<field name="GL_RENDERBUFFER_BLUE_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_GREEN_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_HEIGHT_OES"/>
+		<field name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
+		<field name="GL_RENDERBUFFER_OES"/>
+		<field name="GL_RENDERBUFFER_RED_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_WIDTH_OES"/>
+		<field name="GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES" since="15"/>
+		<field name="GL_RGB565_OES"/>
+		<field name="GL_RGB5_A1_OES"/>
+		<field name="GL_RGB8_OES"/>
+		<field name="GL_RGBA4_OES"/>
+		<field name="GL_RGBA8_OES"/>
+		<field name="GL_SAMPLER_EXTERNAL_OES" since="15"/>
+		<field name="GL_STENCIL_ATTACHMENT_OES"/>
+		<field name="GL_STENCIL_INDEX1_OES"/>
+		<field name="GL_STENCIL_INDEX4_OES"/>
+		<field name="GL_STENCIL_INDEX8_OES"/>
+		<field name="GL_TEXTURE_BINDING_CUBE_MAP_OES"/>
+		<field name="GL_TEXTURE_BINDING_EXTERNAL_OES" since="15"/>
+		<field name="GL_TEXTURE_CROP_RECT_OES"/>
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES"/>
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES"/>
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES"/>
+		<field name="GL_TEXTURE_CUBE_MAP_OES"/>
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES"/>
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES"/>
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES"/>
+		<field name="GL_TEXTURE_EXTERNAL_OES" since="15"/>
+		<field name="GL_TEXTURE_GEN_MODE_OES"/>
+		<field name="GL_TEXTURE_GEN_STR_OES"/>
+		<field name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+		<field name="GL_TEXTURE_MAX_ANISOTROPY_EXT"/>
+		<field name="GL_UNSIGNED_INT_24_8_OES"/>
+		<field name="GL_WEIGHT_ARRAY_BUFFER_BINDING_OES"/>
+		<field name="GL_WEIGHT_ARRAY_OES"/>
+		<field name="GL_WEIGHT_ARRAY_POINTER_OES"/>
+		<field name="GL_WEIGHT_ARRAY_SIZE_OES"/>
+		<field name="GL_WEIGHT_ARRAY_STRIDE_OES"/>
+		<field name="GL_WEIGHT_ARRAY_TYPE_OES"/>
+		<field name="GL_WRITE_ONLY_OES"/>
+	</class>
+	<class name="android/opengl/GLES20" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="glActiveTexture(I)V"/>
+		<method name="glAttachShader(II)V"/>
+		<method name="glBindAttribLocation(IILjava/lang/String;)V"/>
+		<method name="glBindBuffer(II)V"/>
+		<method name="glBindFramebuffer(II)V"/>
+		<method name="glBindRenderbuffer(II)V"/>
+		<method name="glBindTexture(II)V"/>
+		<method name="glBlendColor(FFFF)V"/>
+		<method name="glBlendEquation(I)V"/>
+		<method name="glBlendEquationSeparate(II)V"/>
+		<method name="glBlendFunc(II)V"/>
+		<method name="glBlendFuncSeparate(IIII)V"/>
+		<method name="glBufferData(IILjava/nio/Buffer;I)V"/>
+		<method name="glBufferSubData(IIILjava/nio/Buffer;)V"/>
+		<method name="glCheckFramebufferStatus(I)I"/>
+		<method name="glClear(I)V"/>
+		<method name="glClearColor(FFFF)V"/>
+		<method name="glClearDepthf(F)V"/>
+		<method name="glClearStencil(I)V"/>
+		<method name="glColorMask(ZZZZ)V"/>
+		<method name="glCompileShader(I)V"/>
+		<method name="glCompressedTexImage2D(IIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glCompressedTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glCopyTexImage2D(IIIIIIII)V"/>
+		<method name="glCopyTexSubImage2D(IIIIIIII)V"/>
+		<method name="glCreateProgram()I"/>
+		<method name="glCreateShader(I)I"/>
+		<method name="glCullFace(I)V"/>
+		<method name="glDeleteBuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteBuffers(I[II)V"/>
+		<method name="glDeleteFramebuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteFramebuffers(I[II)V"/>
+		<method name="glDeleteProgram(I)V"/>
+		<method name="glDeleteRenderbuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteRenderbuffers(I[II)V"/>
+		<method name="glDeleteShader(I)V"/>
+		<method name="glDeleteTextures(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteTextures(I[II)V"/>
+		<method name="glDepthFunc(I)V"/>
+		<method name="glDepthMask(Z)V"/>
+		<method name="glDepthRangef(FF)V"/>
+		<method name="glDetachShader(II)V"/>
+		<method name="glDisable(I)V"/>
+		<method name="glDisableVertexAttribArray(I)V"/>
+		<method name="glDrawArrays(III)V"/>
+		<method name="glDrawElements(IIII)V" since="9"/>
+		<method name="glDrawElements(IIILjava/nio/Buffer;)V"/>
+		<method name="glEnable(I)V"/>
+		<method name="glEnableVertexAttribArray(I)V"/>
+		<method name="glFinish()V"/>
+		<method name="glFlush()V"/>
+		<method name="glFramebufferRenderbuffer(IIII)V"/>
+		<method name="glFramebufferTexture2D(IIIII)V"/>
+		<method name="glFrontFace(I)V"/>
+		<method name="glGenBuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenBuffers(I[II)V"/>
+		<method name="glGenFramebuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenFramebuffers(I[II)V"/>
+		<method name="glGenRenderbuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenRenderbuffers(I[II)V"/>
+		<method name="glGenTextures(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenTextures(I[II)V"/>
+		<method name="glGenerateMipmap(I)V"/>
+		<method name="glGetActiveAttrib(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V" removed="21"/>
+		<method name="glGetActiveAttrib(III[II[II[II[BI)V"/>
+		<method name="glGetActiveAttrib(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)Ljava/lang/String;" since="17"/>
+		<method name="glGetActiveAttrib(II[II[II)Ljava/lang/String;" since="17"/>
+		<method name="glGetActiveUniform(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V" removed="21"/>
+		<method name="glGetActiveUniform(III[II[II[II[BI)V"/>
+		<method name="glGetActiveUniform(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)Ljava/lang/String;" since="17"/>
+		<method name="glGetActiveUniform(II[II[II)Ljava/lang/String;" since="17"/>
+		<method name="glGetAttachedShaders(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V"/>
+		<method name="glGetAttachedShaders(II[II[II)V"/>
+		<method name="glGetAttribLocation(ILjava/lang/String;)I"/>
+		<method name="glGetBooleanv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetBooleanv(I[ZI)V"/>
+		<method name="glGetBufferParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetBufferParameteriv(II[II)V"/>
+		<method name="glGetError()I"/>
+		<method name="glGetFloatv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetFloatv(I[FI)V"/>
+		<method name="glGetFramebufferAttachmentParameteriv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glGetFramebufferAttachmentParameteriv(III[II)V"/>
+		<method name="glGetIntegerv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetIntegerv(I[II)V"/>
+		<method name="glGetProgramInfoLog(I)Ljava/lang/String;"/>
+		<method name="glGetProgramiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetProgramiv(II[II)V"/>
+		<method name="glGetRenderbufferParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetRenderbufferParameteriv(II[II)V"/>
+		<method name="glGetShaderInfoLog(I)Ljava/lang/String;"/>
+		<method name="glGetShaderPrecisionFormat(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V"/>
+		<method name="glGetShaderPrecisionFormat(II[II[II)V"/>
+		<method name="glGetShaderSource(I)Ljava/lang/String;" since="17"/>
+		<method name="glGetShaderSource(IILjava/nio/IntBuffer;B)V" removed="21"/>
+		<method name="glGetShaderSource(II[II[BI)V"/>
+		<method name="glGetShaderiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetShaderiv(II[II)V"/>
+		<method name="glGetString(I)Ljava/lang/String;"/>
+		<method name="glGetTexParameterfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetTexParameterfv(II[FI)V"/>
+		<method name="glGetTexParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexParameteriv(II[II)V"/>
+		<method name="glGetUniformLocation(ILjava/lang/String;)I"/>
+		<method name="glGetUniformfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetUniformfv(II[FI)V"/>
+		<method name="glGetUniformiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetUniformiv(II[II)V"/>
+		<method name="glGetVertexAttribfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetVertexAttribfv(II[FI)V"/>
+		<method name="glGetVertexAttribiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetVertexAttribiv(II[II)V"/>
+		<method name="glHint(II)V"/>
+		<method name="glIsBuffer(I)Z"/>
+		<method name="glIsEnabled(I)Z"/>
+		<method name="glIsFramebuffer(I)Z"/>
+		<method name="glIsProgram(I)Z"/>
+		<method name="glIsRenderbuffer(I)Z"/>
+		<method name="glIsShader(I)Z"/>
+		<method name="glIsTexture(I)Z"/>
+		<method name="glLineWidth(F)V"/>
+		<method name="glLinkProgram(I)V"/>
+		<method name="glPixelStorei(II)V"/>
+		<method name="glPolygonOffset(FF)V"/>
+		<method name="glReadPixels(IIIIIILjava/nio/Buffer;)V"/>
+		<method name="glReleaseShaderCompiler()V"/>
+		<method name="glRenderbufferStorage(IIII)V"/>
+		<method name="glSampleCoverage(FZ)V"/>
+		<method name="glScissor(IIII)V"/>
+		<method name="glShaderBinary(ILjava/nio/IntBuffer;ILjava/nio/Buffer;I)V"/>
+		<method name="glShaderBinary(I[IIILjava/nio/Buffer;I)V"/>
+		<method name="glShaderSource(ILjava/lang/String;)V"/>
+		<method name="glStencilFunc(III)V"/>
+		<method name="glStencilFuncSeparate(IIII)V"/>
+		<method name="glStencilMask(I)V"/>
+		<method name="glStencilMaskSeparate(II)V"/>
+		<method name="glStencilOp(III)V"/>
+		<method name="glStencilOpSeparate(IIII)V"/>
+		<method name="glTexImage2D(IIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glTexParameterf(IIF)V"/>
+		<method name="glTexParameterfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glTexParameterfv(II[FI)V"/>
+		<method name="glTexParameteri(III)V"/>
+		<method name="glTexParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexParameteriv(II[II)V"/>
+		<method name="glTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glUniform1f(IF)V"/>
+		<method name="glUniform1fv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glUniform1fv(II[FI)V"/>
+		<method name="glUniform1i(II)V"/>
+		<method name="glUniform1iv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glUniform1iv(II[II)V"/>
+		<method name="glUniform2f(IFF)V"/>
+		<method name="glUniform2fv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glUniform2fv(II[FI)V"/>
+		<method name="glUniform2i(III)V"/>
+		<method name="glUniform2iv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glUniform2iv(II[II)V"/>
+		<method name="glUniform3f(IFFF)V"/>
+		<method name="glUniform3fv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glUniform3fv(II[FI)V"/>
+		<method name="glUniform3i(IIII)V"/>
+		<method name="glUniform3iv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glUniform3iv(II[II)V"/>
+		<method name="glUniform4f(IFFFF)V"/>
+		<method name="glUniform4fv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glUniform4fv(II[FI)V"/>
+		<method name="glUniform4i(IIIII)V"/>
+		<method name="glUniform4iv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glUniform4iv(II[II)V"/>
+		<method name="glUniformMatrix2fv(IIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glUniformMatrix2fv(IIZ[FI)V"/>
+		<method name="glUniformMatrix3fv(IIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glUniformMatrix3fv(IIZ[FI)V"/>
+		<method name="glUniformMatrix4fv(IIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glUniformMatrix4fv(IIZ[FI)V"/>
+		<method name="glUseProgram(I)V"/>
+		<method name="glValidateProgram(I)V"/>
+		<method name="glVertexAttrib1f(IF)V"/>
+		<method name="glVertexAttrib1fv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glVertexAttrib1fv(I[FI)V"/>
+		<method name="glVertexAttrib2f(IFF)V"/>
+		<method name="glVertexAttrib2fv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glVertexAttrib2fv(I[FI)V"/>
+		<method name="glVertexAttrib3f(IFFF)V"/>
+		<method name="glVertexAttrib3fv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glVertexAttrib3fv(I[FI)V"/>
+		<method name="glVertexAttrib4f(IFFFF)V"/>
+		<method name="glVertexAttrib4fv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glVertexAttrib4fv(I[FI)V"/>
+		<method name="glVertexAttribPointer(IIIZII)V" since="9"/>
+		<method name="glVertexAttribPointer(IIIZILjava/nio/Buffer;)V"/>
+		<method name="glViewport(IIII)V"/>
+		<field name="GL_ACTIVE_ATTRIBUTES"/>
+		<field name="GL_ACTIVE_ATTRIBUTE_MAX_LENGTH"/>
+		<field name="GL_ACTIVE_TEXTURE"/>
+		<field name="GL_ACTIVE_UNIFORMS"/>
+		<field name="GL_ACTIVE_UNIFORM_MAX_LENGTH"/>
+		<field name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+		<field name="GL_ALIASED_POINT_SIZE_RANGE"/>
+		<field name="GL_ALPHA"/>
+		<field name="GL_ALPHA_BITS"/>
+		<field name="GL_ALWAYS"/>
+		<field name="GL_ARRAY_BUFFER"/>
+		<field name="GL_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_ATTACHED_SHADERS"/>
+		<field name="GL_BACK"/>
+		<field name="GL_BLEND"/>
+		<field name="GL_BLEND_COLOR"/>
+		<field name="GL_BLEND_DST_ALPHA"/>
+		<field name="GL_BLEND_DST_RGB"/>
+		<field name="GL_BLEND_EQUATION"/>
+		<field name="GL_BLEND_EQUATION_ALPHA"/>
+		<field name="GL_BLEND_EQUATION_RGB"/>
+		<field name="GL_BLEND_SRC_ALPHA"/>
+		<field name="GL_BLEND_SRC_RGB"/>
+		<field name="GL_BLUE_BITS"/>
+		<field name="GL_BOOL"/>
+		<field name="GL_BOOL_VEC2"/>
+		<field name="GL_BOOL_VEC3"/>
+		<field name="GL_BOOL_VEC4"/>
+		<field name="GL_BUFFER_SIZE"/>
+		<field name="GL_BUFFER_USAGE"/>
+		<field name="GL_BYTE"/>
+		<field name="GL_CCW"/>
+		<field name="GL_CLAMP_TO_EDGE"/>
+		<field name="GL_COLOR_ATTACHMENT0"/>
+		<field name="GL_COLOR_BUFFER_BIT"/>
+		<field name="GL_COLOR_CLEAR_VALUE"/>
+		<field name="GL_COLOR_WRITEMASK"/>
+		<field name="GL_COMPILE_STATUS"/>
+		<field name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+		<field name="GL_CONSTANT_ALPHA"/>
+		<field name="GL_CONSTANT_COLOR"/>
+		<field name="GL_CULL_FACE"/>
+		<field name="GL_CULL_FACE_MODE"/>
+		<field name="GL_CURRENT_PROGRAM"/>
+		<field name="GL_CURRENT_VERTEX_ATTRIB"/>
+		<field name="GL_CW"/>
+		<field name="GL_DECR"/>
+		<field name="GL_DECR_WRAP"/>
+		<field name="GL_DELETE_STATUS"/>
+		<field name="GL_DEPTH_ATTACHMENT"/>
+		<field name="GL_DEPTH_BITS"/>
+		<field name="GL_DEPTH_BUFFER_BIT"/>
+		<field name="GL_DEPTH_CLEAR_VALUE"/>
+		<field name="GL_DEPTH_COMPONENT"/>
+		<field name="GL_DEPTH_COMPONENT16"/>
+		<field name="GL_DEPTH_FUNC"/>
+		<field name="GL_DEPTH_RANGE"/>
+		<field name="GL_DEPTH_TEST"/>
+		<field name="GL_DEPTH_WRITEMASK"/>
+		<field name="GL_DITHER"/>
+		<field name="GL_DONT_CARE"/>
+		<field name="GL_DST_ALPHA"/>
+		<field name="GL_DST_COLOR"/>
+		<field name="GL_DYNAMIC_DRAW"/>
+		<field name="GL_ELEMENT_ARRAY_BUFFER"/>
+		<field name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_EQUAL"/>
+		<field name="GL_EXTENSIONS"/>
+		<field name="GL_FALSE"/>
+		<field name="GL_FASTEST"/>
+		<field name="GL_FIXED"/>
+		<field name="GL_FLOAT"/>
+		<field name="GL_FLOAT_MAT2"/>
+		<field name="GL_FLOAT_MAT3"/>
+		<field name="GL_FLOAT_MAT4"/>
+		<field name="GL_FLOAT_VEC2"/>
+		<field name="GL_FLOAT_VEC3"/>
+		<field name="GL_FLOAT_VEC4"/>
+		<field name="GL_FRAGMENT_SHADER"/>
+		<field name="GL_FRAMEBUFFER"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL"/>
+		<field name="GL_FRAMEBUFFER_BINDING"/>
+		<field name="GL_FRAMEBUFFER_COMPLETE"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"/>
+		<field name="GL_FRAMEBUFFER_UNSUPPORTED"/>
+		<field name="GL_FRONT"/>
+		<field name="GL_FRONT_AND_BACK"/>
+		<field name="GL_FRONT_FACE"/>
+		<field name="GL_FUNC_ADD"/>
+		<field name="GL_FUNC_REVERSE_SUBTRACT"/>
+		<field name="GL_FUNC_SUBTRACT"/>
+		<field name="GL_GENERATE_MIPMAP_HINT"/>
+		<field name="GL_GEQUAL"/>
+		<field name="GL_GREATER"/>
+		<field name="GL_GREEN_BITS"/>
+		<field name="GL_HIGH_FLOAT"/>
+		<field name="GL_HIGH_INT"/>
+		<field name="GL_IMPLEMENTATION_COLOR_READ_FORMAT"/>
+		<field name="GL_IMPLEMENTATION_COLOR_READ_TYPE"/>
+		<field name="GL_INCR"/>
+		<field name="GL_INCR_WRAP"/>
+		<field name="GL_INFO_LOG_LENGTH"/>
+		<field name="GL_INT"/>
+		<field name="GL_INT_VEC2"/>
+		<field name="GL_INT_VEC3"/>
+		<field name="GL_INT_VEC4"/>
+		<field name="GL_INVALID_ENUM"/>
+		<field name="GL_INVALID_FRAMEBUFFER_OPERATION"/>
+		<field name="GL_INVALID_OPERATION"/>
+		<field name="GL_INVALID_VALUE"/>
+		<field name="GL_INVERT"/>
+		<field name="GL_KEEP"/>
+		<field name="GL_LEQUAL"/>
+		<field name="GL_LESS"/>
+		<field name="GL_LINEAR"/>
+		<field name="GL_LINEAR_MIPMAP_LINEAR"/>
+		<field name="GL_LINEAR_MIPMAP_NEAREST"/>
+		<field name="GL_LINES"/>
+		<field name="GL_LINE_LOOP"/>
+		<field name="GL_LINE_STRIP"/>
+		<field name="GL_LINE_WIDTH"/>
+		<field name="GL_LINK_STATUS"/>
+		<field name="GL_LOW_FLOAT"/>
+		<field name="GL_LOW_INT"/>
+		<field name="GL_LUMINANCE"/>
+		<field name="GL_LUMINANCE_ALPHA"/>
+		<field name="GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"/>
+		<field name="GL_MAX_CUBE_MAP_TEXTURE_SIZE"/>
+		<field name="GL_MAX_FRAGMENT_UNIFORM_VECTORS"/>
+		<field name="GL_MAX_RENDERBUFFER_SIZE"/>
+		<field name="GL_MAX_TEXTURE_IMAGE_UNITS"/>
+		<field name="GL_MAX_TEXTURE_SIZE"/>
+		<field name="GL_MAX_VARYING_VECTORS"/>
+		<field name="GL_MAX_VERTEX_ATTRIBS"/>
+		<field name="GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS"/>
+		<field name="GL_MAX_VERTEX_UNIFORM_VECTORS"/>
+		<field name="GL_MAX_VIEWPORT_DIMS"/>
+		<field name="GL_MEDIUM_FLOAT"/>
+		<field name="GL_MEDIUM_INT"/>
+		<field name="GL_MIRRORED_REPEAT"/>
+		<field name="GL_NEAREST"/>
+		<field name="GL_NEAREST_MIPMAP_LINEAR"/>
+		<field name="GL_NEAREST_MIPMAP_NEAREST"/>
+		<field name="GL_NEVER"/>
+		<field name="GL_NICEST"/>
+		<field name="GL_NONE"/>
+		<field name="GL_NOTEQUAL"/>
+		<field name="GL_NO_ERROR"/>
+		<field name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+		<field name="GL_NUM_SHADER_BINARY_FORMATS"/>
+		<field name="GL_ONE"/>
+		<field name="GL_ONE_MINUS_CONSTANT_ALPHA"/>
+		<field name="GL_ONE_MINUS_CONSTANT_COLOR"/>
+		<field name="GL_ONE_MINUS_DST_ALPHA"/>
+		<field name="GL_ONE_MINUS_DST_COLOR"/>
+		<field name="GL_ONE_MINUS_SRC_ALPHA"/>
+		<field name="GL_ONE_MINUS_SRC_COLOR"/>
+		<field name="GL_OUT_OF_MEMORY"/>
+		<field name="GL_PACK_ALIGNMENT"/>
+		<field name="GL_POINTS"/>
+		<field name="GL_POLYGON_OFFSET_FACTOR"/>
+		<field name="GL_POLYGON_OFFSET_FILL"/>
+		<field name="GL_POLYGON_OFFSET_UNITS"/>
+		<field name="GL_RED_BITS"/>
+		<field name="GL_RENDERBUFFER"/>
+		<field name="GL_RENDERBUFFER_ALPHA_SIZE"/>
+		<field name="GL_RENDERBUFFER_BINDING"/>
+		<field name="GL_RENDERBUFFER_BLUE_SIZE"/>
+		<field name="GL_RENDERBUFFER_DEPTH_SIZE"/>
+		<field name="GL_RENDERBUFFER_GREEN_SIZE"/>
+		<field name="GL_RENDERBUFFER_HEIGHT"/>
+		<field name="GL_RENDERBUFFER_INTERNAL_FORMAT"/>
+		<field name="GL_RENDERBUFFER_RED_SIZE"/>
+		<field name="GL_RENDERBUFFER_STENCIL_SIZE"/>
+		<field name="GL_RENDERBUFFER_WIDTH"/>
+		<field name="GL_RENDERER"/>
+		<field name="GL_REPEAT"/>
+		<field name="GL_REPLACE"/>
+		<field name="GL_RGB"/>
+		<field name="GL_RGB565"/>
+		<field name="GL_RGB5_A1"/>
+		<field name="GL_RGBA"/>
+		<field name="GL_RGBA4"/>
+		<field name="GL_SAMPLER_2D"/>
+		<field name="GL_SAMPLER_CUBE"/>
+		<field name="GL_SAMPLES"/>
+		<field name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+		<field name="GL_SAMPLE_BUFFERS"/>
+		<field name="GL_SAMPLE_COVERAGE"/>
+		<field name="GL_SAMPLE_COVERAGE_INVERT"/>
+		<field name="GL_SAMPLE_COVERAGE_VALUE"/>
+		<field name="GL_SCISSOR_BOX"/>
+		<field name="GL_SCISSOR_TEST"/>
+		<field name="GL_SHADER_BINARY_FORMATS"/>
+		<field name="GL_SHADER_COMPILER"/>
+		<field name="GL_SHADER_SOURCE_LENGTH"/>
+		<field name="GL_SHADER_TYPE"/>
+		<field name="GL_SHADING_LANGUAGE_VERSION"/>
+		<field name="GL_SHORT"/>
+		<field name="GL_SRC_ALPHA"/>
+		<field name="GL_SRC_ALPHA_SATURATE"/>
+		<field name="GL_SRC_COLOR"/>
+		<field name="GL_STATIC_DRAW"/>
+		<field name="GL_STENCIL_ATTACHMENT"/>
+		<field name="GL_STENCIL_BACK_FAIL"/>
+		<field name="GL_STENCIL_BACK_FUNC"/>
+		<field name="GL_STENCIL_BACK_PASS_DEPTH_FAIL"/>
+		<field name="GL_STENCIL_BACK_PASS_DEPTH_PASS"/>
+		<field name="GL_STENCIL_BACK_REF"/>
+		<field name="GL_STENCIL_BACK_VALUE_MASK"/>
+		<field name="GL_STENCIL_BACK_WRITEMASK"/>
+		<field name="GL_STENCIL_BITS"/>
+		<field name="GL_STENCIL_BUFFER_BIT"/>
+		<field name="GL_STENCIL_CLEAR_VALUE"/>
+		<field name="GL_STENCIL_FAIL"/>
+		<field name="GL_STENCIL_FUNC"/>
+		<field name="GL_STENCIL_INDEX" deprecated="18"/>
+		<field name="GL_STENCIL_INDEX8"/>
+		<field name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+		<field name="GL_STENCIL_PASS_DEPTH_PASS"/>
+		<field name="GL_STENCIL_REF"/>
+		<field name="GL_STENCIL_TEST"/>
+		<field name="GL_STENCIL_VALUE_MASK"/>
+		<field name="GL_STENCIL_WRITEMASK"/>
+		<field name="GL_STREAM_DRAW"/>
+		<field name="GL_SUBPIXEL_BITS"/>
+		<field name="GL_TEXTURE"/>
+		<field name="GL_TEXTURE0"/>
+		<field name="GL_TEXTURE1"/>
+		<field name="GL_TEXTURE10"/>
+		<field name="GL_TEXTURE11"/>
+		<field name="GL_TEXTURE12"/>
+		<field name="GL_TEXTURE13"/>
+		<field name="GL_TEXTURE14"/>
+		<field name="GL_TEXTURE15"/>
+		<field name="GL_TEXTURE16"/>
+		<field name="GL_TEXTURE17"/>
+		<field name="GL_TEXTURE18"/>
+		<field name="GL_TEXTURE19"/>
+		<field name="GL_TEXTURE2"/>
+		<field name="GL_TEXTURE20"/>
+		<field name="GL_TEXTURE21"/>
+		<field name="GL_TEXTURE22"/>
+		<field name="GL_TEXTURE23"/>
+		<field name="GL_TEXTURE24"/>
+		<field name="GL_TEXTURE25"/>
+		<field name="GL_TEXTURE26"/>
+		<field name="GL_TEXTURE27"/>
+		<field name="GL_TEXTURE28"/>
+		<field name="GL_TEXTURE29"/>
+		<field name="GL_TEXTURE3"/>
+		<field name="GL_TEXTURE30"/>
+		<field name="GL_TEXTURE31"/>
+		<field name="GL_TEXTURE4"/>
+		<field name="GL_TEXTURE5"/>
+		<field name="GL_TEXTURE6"/>
+		<field name="GL_TEXTURE7"/>
+		<field name="GL_TEXTURE8"/>
+		<field name="GL_TEXTURE9"/>
+		<field name="GL_TEXTURE_2D"/>
+		<field name="GL_TEXTURE_BINDING_2D"/>
+		<field name="GL_TEXTURE_BINDING_CUBE_MAP"/>
+		<field name="GL_TEXTURE_CUBE_MAP"/>
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
+		<field name="GL_TEXTURE_MAG_FILTER"/>
+		<field name="GL_TEXTURE_MIN_FILTER"/>
+		<field name="GL_TEXTURE_WRAP_S"/>
+		<field name="GL_TEXTURE_WRAP_T"/>
+		<field name="GL_TRIANGLES"/>
+		<field name="GL_TRIANGLE_FAN"/>
+		<field name="GL_TRIANGLE_STRIP"/>
+		<field name="GL_TRUE"/>
+		<field name="GL_UNPACK_ALIGNMENT"/>
+		<field name="GL_UNSIGNED_BYTE"/>
+		<field name="GL_UNSIGNED_INT"/>
+		<field name="GL_UNSIGNED_SHORT"/>
+		<field name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+		<field name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+		<field name="GL_UNSIGNED_SHORT_5_6_5"/>
+		<field name="GL_VALIDATE_STATUS"/>
+		<field name="GL_VENDOR"/>
+		<field name="GL_VERSION"/>
+		<field name="GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_VERTEX_ATTRIB_ARRAY_ENABLED"/>
+		<field name="GL_VERTEX_ATTRIB_ARRAY_NORMALIZED"/>
+		<field name="GL_VERTEX_ATTRIB_ARRAY_POINTER"/>
+		<field name="GL_VERTEX_ATTRIB_ARRAY_SIZE"/>
+		<field name="GL_VERTEX_ATTRIB_ARRAY_STRIDE"/>
+		<field name="GL_VERTEX_ATTRIB_ARRAY_TYPE"/>
+		<field name="GL_VERTEX_SHADER"/>
+		<field name="GL_VIEWPORT"/>
+		<field name="GL_ZERO"/>
+	</class>
+	<class name="android/opengl/GLES30" since="18">
+		<extends name="android/opengl/GLES20"/>
+		<method name="&lt;init>()V"/>
+		<method name="glBeginQuery(II)V"/>
+		<method name="glBeginTransformFeedback(I)V"/>
+		<method name="glBindBufferBase(III)V"/>
+		<method name="glBindBufferRange(IIIII)V"/>
+		<method name="glBindSampler(II)V"/>
+		<method name="glBindTransformFeedback(II)V"/>
+		<method name="glBindVertexArray(I)V"/>
+		<method name="glBlitFramebuffer(IIIIIIIIII)V"/>
+		<method name="glClearBufferfi(IIFI)V"/>
+		<method name="glClearBufferfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glClearBufferfv(II[FI)V"/>
+		<method name="glClearBufferiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glClearBufferiv(II[II)V"/>
+		<method name="glClearBufferuiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glClearBufferuiv(II[II)V"/>
+		<method name="glClientWaitSync(JIJ)I"/>
+		<method name="glCompressedTexImage3D(IIIIIIIII)V"/>
+		<method name="glCompressedTexImage3D(IIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glCompressedTexSubImage3D(IIIIIIIIIII)V"/>
+		<method name="glCompressedTexSubImage3D(IIIIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glCopyBufferSubData(IIIII)V"/>
+		<method name="glCopyTexSubImage3D(IIIIIIIII)V"/>
+		<method name="glDeleteQueries(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteQueries(I[II)V"/>
+		<method name="glDeleteSamplers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteSamplers(I[II)V"/>
+		<method name="glDeleteSync(J)V"/>
+		<method name="glDeleteTransformFeedbacks(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteTransformFeedbacks(I[II)V"/>
+		<method name="glDeleteVertexArrays(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteVertexArrays(I[II)V"/>
+		<method name="glDrawArraysInstanced(IIII)V"/>
+		<method name="glDrawBuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDrawBuffers(I[II)V"/>
+		<method name="glDrawElementsInstanced(IIIII)V"/>
+		<method name="glDrawElementsInstanced(IIILjava/nio/Buffer;I)V"/>
+		<method name="glDrawRangeElements(IIIIII)V"/>
+		<method name="glDrawRangeElements(IIIIILjava/nio/Buffer;)V"/>
+		<method name="glEndQuery(I)V"/>
+		<method name="glEndTransformFeedback()V"/>
+		<method name="glFenceSync(II)J"/>
+		<method name="glFlushMappedBufferRange(III)V"/>
+		<method name="glFramebufferTextureLayer(IIIII)V"/>
+		<method name="glGenQueries(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenQueries(I[II)V"/>
+		<method name="glGenSamplers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenSamplers(I[II)V"/>
+		<method name="glGenTransformFeedbacks(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenTransformFeedbacks(I[II)V"/>
+		<method name="glGenVertexArrays(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenVertexArrays(I[II)V"/>
+		<method name="glGetActiveUniformBlockName(II)Ljava/lang/String;"/>
+		<method name="glGetActiveUniformBlockName(III[II[BI)V"/>
+		<method name="glGetActiveUniformBlockName(IILjava/nio/Buffer;Ljava/nio/Buffer;)V"/>
+		<method name="glGetActiveUniformBlockiv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glGetActiveUniformBlockiv(III[II)V"/>
+		<method name="glGetActiveUniformsiv(IILjava/nio/IntBuffer;ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetActiveUniformsiv(II[III[II)V"/>
+		<method name="glGetBufferParameteri64v(IILjava/nio/LongBuffer;)V"/>
+		<method name="glGetBufferParameteri64v(II[JI)V"/>
+		<method name="glGetBufferPointerv(II)Ljava/nio/Buffer;"/>
+		<method name="glGetFragDataLocation(ILjava/lang/String;)I"/>
+		<method name="glGetInteger64i_v(IILjava/nio/LongBuffer;)V"/>
+		<method name="glGetInteger64i_v(II[JI)V"/>
+		<method name="glGetInteger64v(ILjava/nio/LongBuffer;)V"/>
+		<method name="glGetInteger64v(I[JI)V"/>
+		<method name="glGetIntegeri_v(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetIntegeri_v(II[II)V"/>
+		<method name="glGetInternalformativ(IIIILjava/nio/IntBuffer;)V"/>
+		<method name="glGetInternalformativ(IIII[II)V"/>
+		<method name="glGetProgramBinary(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/Buffer;)V"/>
+		<method name="glGetProgramBinary(II[II[IILjava/nio/Buffer;)V"/>
+		<method name="glGetQueryObjectuiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetQueryObjectuiv(II[II)V"/>
+		<method name="glGetQueryiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetQueryiv(II[II)V"/>
+		<method name="glGetSamplerParameterfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetSamplerParameterfv(II[FI)V"/>
+		<method name="glGetSamplerParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetSamplerParameteriv(II[II)V"/>
+		<method name="glGetStringi(II)Ljava/lang/String;"/>
+		<method name="glGetSynciv(JIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V"/>
+		<method name="glGetSynciv(JII[II[II)V"/>
+		<method name="glGetTransformFeedbackVarying(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;B)V" deprecated="24"/>
+		<method name="glGetTransformFeedbackVarying(IIILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)V" since="24"/>
+		<method name="glGetTransformFeedbackVarying(III[II[II[II[BI)V"/>
+		<method name="glGetTransformFeedbackVarying(IILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)Ljava/lang/String;"/>
+		<method name="glGetTransformFeedbackVarying(II[II[II)Ljava/lang/String;"/>
+		<method name="glGetUniformBlockIndex(ILjava/lang/String;)I"/>
+		<method name="glGetUniformIndices(I[Ljava/lang/String;Ljava/nio/IntBuffer;)V"/>
+		<method name="glGetUniformIndices(I[Ljava/lang/String;[II)V"/>
+		<method name="glGetUniformuiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetUniformuiv(II[II)V"/>
+		<method name="glGetVertexAttribIiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetVertexAttribIiv(II[II)V"/>
+		<method name="glGetVertexAttribIuiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetVertexAttribIuiv(II[II)V"/>
+		<method name="glInvalidateFramebuffer(IILjava/nio/IntBuffer;)V"/>
+		<method name="glInvalidateFramebuffer(II[II)V"/>
+		<method name="glInvalidateSubFramebuffer(IILjava/nio/IntBuffer;IIII)V"/>
+		<method name="glInvalidateSubFramebuffer(II[IIIIII)V"/>
+		<method name="glIsQuery(I)Z"/>
+		<method name="glIsSampler(I)Z"/>
+		<method name="glIsSync(J)Z"/>
+		<method name="glIsTransformFeedback(I)Z"/>
+		<method name="glIsVertexArray(I)Z"/>
+		<method name="glMapBufferRange(IIII)Ljava/nio/Buffer;"/>
+		<method name="glPauseTransformFeedback()V"/>
+		<method name="glProgramBinary(IILjava/nio/Buffer;I)V"/>
+		<method name="glProgramParameteri(III)V"/>
+		<method name="glReadBuffer(I)V"/>
+		<method name="glReadPixels(IIIIIII)V" since="24"/>
+		<method name="glRenderbufferStorageMultisample(IIIII)V"/>
+		<method name="glResumeTransformFeedback()V"/>
+		<method name="glSamplerParameterf(IIF)V"/>
+		<method name="glSamplerParameterfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glSamplerParameterfv(II[FI)V"/>
+		<method name="glSamplerParameteri(III)V"/>
+		<method name="glSamplerParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glSamplerParameteriv(II[II)V"/>
+		<method name="glTexImage3D(IIIIIIIIII)V"/>
+		<method name="glTexImage3D(IIIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glTexStorage2D(IIIII)V"/>
+		<method name="glTexStorage3D(IIIIII)V"/>
+		<method name="glTexSubImage3D(IIIIIIIIIII)V"/>
+		<method name="glTexSubImage3D(IIIIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glTransformFeedbackVaryings(I[Ljava/lang/String;I)V"/>
+		<method name="glUniform1ui(II)V"/>
+		<method name="glUniform1uiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glUniform1uiv(II[II)V"/>
+		<method name="glUniform2ui(III)V"/>
+		<method name="glUniform2uiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glUniform2uiv(II[II)V"/>
+		<method name="glUniform3ui(IIII)V"/>
+		<method name="glUniform3uiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glUniform3uiv(II[II)V"/>
+		<method name="glUniform4ui(IIIII)V"/>
+		<method name="glUniform4uiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glUniform4uiv(II[II)V"/>
+		<method name="glUniformBlockBinding(III)V"/>
+		<method name="glUniformMatrix2x3fv(IIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glUniformMatrix2x3fv(IIZ[FI)V"/>
+		<method name="glUniformMatrix2x4fv(IIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glUniformMatrix2x4fv(IIZ[FI)V"/>
+		<method name="glUniformMatrix3x2fv(IIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glUniformMatrix3x2fv(IIZ[FI)V"/>
+		<method name="glUniformMatrix3x4fv(IIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glUniformMatrix3x4fv(IIZ[FI)V"/>
+		<method name="glUniformMatrix4x2fv(IIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glUniformMatrix4x2fv(IIZ[FI)V"/>
+		<method name="glUniformMatrix4x3fv(IIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glUniformMatrix4x3fv(IIZ[FI)V"/>
+		<method name="glUnmapBuffer(I)Z"/>
+		<method name="glVertexAttribDivisor(II)V"/>
+		<method name="glVertexAttribI4i(IIIII)V"/>
+		<method name="glVertexAttribI4iv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glVertexAttribI4iv(I[II)V"/>
+		<method name="glVertexAttribI4ui(IIIII)V"/>
+		<method name="glVertexAttribI4uiv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glVertexAttribI4uiv(I[II)V"/>
+		<method name="glVertexAttribIPointer(IIIII)V"/>
+		<method name="glVertexAttribIPointer(IIIILjava/nio/Buffer;)V"/>
+		<method name="glWaitSync(JIJ)V"/>
+		<field name="GL_ACTIVE_UNIFORM_BLOCKS"/>
+		<field name="GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH"/>
+		<field name="GL_ALREADY_SIGNALED"/>
+		<field name="GL_ANY_SAMPLES_PASSED"/>
+		<field name="GL_ANY_SAMPLES_PASSED_CONSERVATIVE"/>
+		<field name="GL_BLUE"/>
+		<field name="GL_BUFFER_ACCESS_FLAGS"/>
+		<field name="GL_BUFFER_MAPPED"/>
+		<field name="GL_BUFFER_MAP_LENGTH"/>
+		<field name="GL_BUFFER_MAP_OFFSET"/>
+		<field name="GL_BUFFER_MAP_POINTER"/>
+		<field name="GL_COLOR"/>
+		<field name="GL_COLOR_ATTACHMENT1"/>
+		<field name="GL_COLOR_ATTACHMENT10"/>
+		<field name="GL_COLOR_ATTACHMENT11"/>
+		<field name="GL_COLOR_ATTACHMENT12"/>
+		<field name="GL_COLOR_ATTACHMENT13"/>
+		<field name="GL_COLOR_ATTACHMENT14"/>
+		<field name="GL_COLOR_ATTACHMENT15"/>
+		<field name="GL_COLOR_ATTACHMENT2"/>
+		<field name="GL_COLOR_ATTACHMENT3"/>
+		<field name="GL_COLOR_ATTACHMENT4"/>
+		<field name="GL_COLOR_ATTACHMENT5"/>
+		<field name="GL_COLOR_ATTACHMENT6"/>
+		<field name="GL_COLOR_ATTACHMENT7"/>
+		<field name="GL_COLOR_ATTACHMENT8"/>
+		<field name="GL_COLOR_ATTACHMENT9"/>
+		<field name="GL_COMPARE_REF_TO_TEXTURE"/>
+		<field name="GL_COMPRESSED_R11_EAC"/>
+		<field name="GL_COMPRESSED_RG11_EAC"/>
+		<field name="GL_COMPRESSED_RGB8_ETC2"/>
+		<field name="GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+		<field name="GL_COMPRESSED_RGBA8_ETC2_EAC"/>
+		<field name="GL_COMPRESSED_SIGNED_R11_EAC"/>
+		<field name="GL_COMPRESSED_SIGNED_RG11_EAC"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC"/>
+		<field name="GL_COMPRESSED_SRGB8_ETC2"/>
+		<field name="GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2"/>
+		<field name="GL_CONDITION_SATISFIED"/>
+		<field name="GL_COPY_READ_BUFFER"/>
+		<field name="GL_COPY_READ_BUFFER_BINDING"/>
+		<field name="GL_COPY_WRITE_BUFFER"/>
+		<field name="GL_COPY_WRITE_BUFFER_BINDING"/>
+		<field name="GL_CURRENT_QUERY"/>
+		<field name="GL_DEPTH"/>
+		<field name="GL_DEPTH24_STENCIL8"/>
+		<field name="GL_DEPTH32F_STENCIL8"/>
+		<field name="GL_DEPTH_COMPONENT24"/>
+		<field name="GL_DEPTH_COMPONENT32F"/>
+		<field name="GL_DEPTH_STENCIL"/>
+		<field name="GL_DEPTH_STENCIL_ATTACHMENT"/>
+		<field name="GL_DRAW_BUFFER0"/>
+		<field name="GL_DRAW_BUFFER1"/>
+		<field name="GL_DRAW_BUFFER10"/>
+		<field name="GL_DRAW_BUFFER11"/>
+		<field name="GL_DRAW_BUFFER12"/>
+		<field name="GL_DRAW_BUFFER13"/>
+		<field name="GL_DRAW_BUFFER14"/>
+		<field name="GL_DRAW_BUFFER15"/>
+		<field name="GL_DRAW_BUFFER2"/>
+		<field name="GL_DRAW_BUFFER3"/>
+		<field name="GL_DRAW_BUFFER4"/>
+		<field name="GL_DRAW_BUFFER5"/>
+		<field name="GL_DRAW_BUFFER6"/>
+		<field name="GL_DRAW_BUFFER7"/>
+		<field name="GL_DRAW_BUFFER8"/>
+		<field name="GL_DRAW_BUFFER9"/>
+		<field name="GL_DRAW_FRAMEBUFFER"/>
+		<field name="GL_DRAW_FRAMEBUFFER_BINDING"/>
+		<field name="GL_DYNAMIC_COPY"/>
+		<field name="GL_DYNAMIC_READ"/>
+		<field name="GL_FLOAT_32_UNSIGNED_INT_24_8_REV"/>
+		<field name="GL_FLOAT_MAT2x3"/>
+		<field name="GL_FLOAT_MAT2x4"/>
+		<field name="GL_FLOAT_MAT3x2"/>
+		<field name="GL_FLOAT_MAT3x4"/>
+		<field name="GL_FLOAT_MAT4x2"/>
+		<field name="GL_FLOAT_MAT4x3"/>
+		<field name="GL_FRAGMENT_SHADER_DERIVATIVE_HINT"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER"/>
+		<field name="GL_FRAMEBUFFER_DEFAULT"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE"/>
+		<field name="GL_FRAMEBUFFER_UNDEFINED"/>
+		<field name="GL_GREEN"/>
+		<field name="GL_HALF_FLOAT"/>
+		<field name="GL_INTERLEAVED_ATTRIBS"/>
+		<field name="GL_INT_2_10_10_10_REV"/>
+		<field name="GL_INT_SAMPLER_2D"/>
+		<field name="GL_INT_SAMPLER_2D_ARRAY"/>
+		<field name="GL_INT_SAMPLER_3D"/>
+		<field name="GL_INT_SAMPLER_CUBE"/>
+		<field name="GL_INVALID_INDEX"/>
+		<field name="GL_MAJOR_VERSION"/>
+		<field name="GL_MAP_FLUSH_EXPLICIT_BIT"/>
+		<field name="GL_MAP_INVALIDATE_BUFFER_BIT"/>
+		<field name="GL_MAP_INVALIDATE_RANGE_BIT"/>
+		<field name="GL_MAP_READ_BIT"/>
+		<field name="GL_MAP_UNSYNCHRONIZED_BIT"/>
+		<field name="GL_MAP_WRITE_BIT"/>
+		<field name="GL_MAX"/>
+		<field name="GL_MAX_3D_TEXTURE_SIZE"/>
+		<field name="GL_MAX_ARRAY_TEXTURE_LAYERS"/>
+		<field name="GL_MAX_COLOR_ATTACHMENTS"/>
+		<field name="GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_COMBINED_UNIFORM_BLOCKS"/>
+		<field name="GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_DRAW_BUFFERS"/>
+		<field name="GL_MAX_ELEMENTS_INDICES"/>
+		<field name="GL_MAX_ELEMENTS_VERTICES"/>
+		<field name="GL_MAX_ELEMENT_INDEX"/>
+		<field name="GL_MAX_FRAGMENT_INPUT_COMPONENTS"/>
+		<field name="GL_MAX_FRAGMENT_UNIFORM_BLOCKS"/>
+		<field name="GL_MAX_FRAGMENT_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_PROGRAM_TEXEL_OFFSET"/>
+		<field name="GL_MAX_SAMPLES"/>
+		<field name="GL_MAX_SERVER_WAIT_TIMEOUT"/>
+		<field name="GL_MAX_TEXTURE_LOD_BIAS"/>
+		<field name="GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS"/>
+		<field name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS"/>
+		<field name="GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS"/>
+		<field name="GL_MAX_UNIFORM_BLOCK_SIZE"/>
+		<field name="GL_MAX_UNIFORM_BUFFER_BINDINGS"/>
+		<field name="GL_MAX_VARYING_COMPONENTS"/>
+		<field name="GL_MAX_VERTEX_OUTPUT_COMPONENTS"/>
+		<field name="GL_MAX_VERTEX_UNIFORM_BLOCKS"/>
+		<field name="GL_MAX_VERTEX_UNIFORM_COMPONENTS"/>
+		<field name="GL_MIN"/>
+		<field name="GL_MINOR_VERSION"/>
+		<field name="GL_MIN_PROGRAM_TEXEL_OFFSET"/>
+		<field name="GL_NUM_EXTENSIONS"/>
+		<field name="GL_NUM_PROGRAM_BINARY_FORMATS"/>
+		<field name="GL_NUM_SAMPLE_COUNTS"/>
+		<field name="GL_OBJECT_TYPE"/>
+		<field name="GL_PACK_ROW_LENGTH"/>
+		<field name="GL_PACK_SKIP_PIXELS"/>
+		<field name="GL_PACK_SKIP_ROWS"/>
+		<field name="GL_PIXEL_PACK_BUFFER"/>
+		<field name="GL_PIXEL_PACK_BUFFER_BINDING"/>
+		<field name="GL_PIXEL_UNPACK_BUFFER"/>
+		<field name="GL_PIXEL_UNPACK_BUFFER_BINDING"/>
+		<field name="GL_PRIMITIVE_RESTART_FIXED_INDEX"/>
+		<field name="GL_PROGRAM_BINARY_FORMATS"/>
+		<field name="GL_PROGRAM_BINARY_LENGTH"/>
+		<field name="GL_PROGRAM_BINARY_RETRIEVABLE_HINT"/>
+		<field name="GL_QUERY_RESULT"/>
+		<field name="GL_QUERY_RESULT_AVAILABLE"/>
+		<field name="GL_R11F_G11F_B10F"/>
+		<field name="GL_R16F"/>
+		<field name="GL_R16I"/>
+		<field name="GL_R16UI"/>
+		<field name="GL_R32F"/>
+		<field name="GL_R32I"/>
+		<field name="GL_R32UI"/>
+		<field name="GL_R8"/>
+		<field name="GL_R8I"/>
+		<field name="GL_R8UI"/>
+		<field name="GL_R8_SNORM"/>
+		<field name="GL_RASTERIZER_DISCARD"/>
+		<field name="GL_READ_BUFFER"/>
+		<field name="GL_READ_FRAMEBUFFER"/>
+		<field name="GL_READ_FRAMEBUFFER_BINDING"/>
+		<field name="GL_RED"/>
+		<field name="GL_RED_INTEGER"/>
+		<field name="GL_RENDERBUFFER_SAMPLES"/>
+		<field name="GL_RG"/>
+		<field name="GL_RG16F"/>
+		<field name="GL_RG16I"/>
+		<field name="GL_RG16UI"/>
+		<field name="GL_RG32F"/>
+		<field name="GL_RG32I"/>
+		<field name="GL_RG32UI"/>
+		<field name="GL_RG8"/>
+		<field name="GL_RG8I"/>
+		<field name="GL_RG8UI"/>
+		<field name="GL_RG8_SNORM"/>
+		<field name="GL_RGB10_A2"/>
+		<field name="GL_RGB10_A2UI"/>
+		<field name="GL_RGB16F"/>
+		<field name="GL_RGB16I"/>
+		<field name="GL_RGB16UI"/>
+		<field name="GL_RGB32F"/>
+		<field name="GL_RGB32I"/>
+		<field name="GL_RGB32UI"/>
+		<field name="GL_RGB8"/>
+		<field name="GL_RGB8I"/>
+		<field name="GL_RGB8UI"/>
+		<field name="GL_RGB8_SNORM"/>
+		<field name="GL_RGB9_E5"/>
+		<field name="GL_RGBA16F"/>
+		<field name="GL_RGBA16I"/>
+		<field name="GL_RGBA16UI"/>
+		<field name="GL_RGBA32F"/>
+		<field name="GL_RGBA32I"/>
+		<field name="GL_RGBA32UI"/>
+		<field name="GL_RGBA8"/>
+		<field name="GL_RGBA8I"/>
+		<field name="GL_RGBA8UI"/>
+		<field name="GL_RGBA8_SNORM"/>
+		<field name="GL_RGBA_INTEGER"/>
+		<field name="GL_RGB_INTEGER"/>
+		<field name="GL_RG_INTEGER"/>
+		<field name="GL_SAMPLER_2D_ARRAY"/>
+		<field name="GL_SAMPLER_2D_ARRAY_SHADOW"/>
+		<field name="GL_SAMPLER_2D_SHADOW"/>
+		<field name="GL_SAMPLER_3D"/>
+		<field name="GL_SAMPLER_BINDING"/>
+		<field name="GL_SAMPLER_CUBE_SHADOW"/>
+		<field name="GL_SEPARATE_ATTRIBS"/>
+		<field name="GL_SIGNALED"/>
+		<field name="GL_SIGNED_NORMALIZED"/>
+		<field name="GL_SRGB"/>
+		<field name="GL_SRGB8"/>
+		<field name="GL_SRGB8_ALPHA8"/>
+		<field name="GL_STATIC_COPY"/>
+		<field name="GL_STATIC_READ"/>
+		<field name="GL_STENCIL"/>
+		<field name="GL_STREAM_COPY"/>
+		<field name="GL_STREAM_READ"/>
+		<field name="GL_SYNC_CONDITION"/>
+		<field name="GL_SYNC_FENCE"/>
+		<field name="GL_SYNC_FLAGS"/>
+		<field name="GL_SYNC_FLUSH_COMMANDS_BIT"/>
+		<field name="GL_SYNC_GPU_COMMANDS_COMPLETE"/>
+		<field name="GL_SYNC_STATUS"/>
+		<field name="GL_TEXTURE_2D_ARRAY"/>
+		<field name="GL_TEXTURE_3D"/>
+		<field name="GL_TEXTURE_BASE_LEVEL"/>
+		<field name="GL_TEXTURE_BINDING_2D_ARRAY"/>
+		<field name="GL_TEXTURE_BINDING_3D"/>
+		<field name="GL_TEXTURE_COMPARE_FUNC"/>
+		<field name="GL_TEXTURE_COMPARE_MODE"/>
+		<field name="GL_TEXTURE_IMMUTABLE_FORMAT"/>
+		<field name="GL_TEXTURE_IMMUTABLE_LEVELS"/>
+		<field name="GL_TEXTURE_MAX_LEVEL"/>
+		<field name="GL_TEXTURE_MAX_LOD"/>
+		<field name="GL_TEXTURE_MIN_LOD"/>
+		<field name="GL_TEXTURE_SWIZZLE_A"/>
+		<field name="GL_TEXTURE_SWIZZLE_B"/>
+		<field name="GL_TEXTURE_SWIZZLE_G"/>
+		<field name="GL_TEXTURE_SWIZZLE_R"/>
+		<field name="GL_TEXTURE_WRAP_R"/>
+		<field name="GL_TIMEOUT_EXPIRED"/>
+		<field name="GL_TIMEOUT_IGNORED"/>
+		<field name="GL_TRANSFORM_FEEDBACK"/>
+		<field name="GL_TRANSFORM_FEEDBACK_ACTIVE"/>
+		<field name="GL_TRANSFORM_FEEDBACK_BINDING"/>
+		<field name="GL_TRANSFORM_FEEDBACK_BUFFER"/>
+		<field name="GL_TRANSFORM_FEEDBACK_BUFFER_BINDING"/>
+		<field name="GL_TRANSFORM_FEEDBACK_BUFFER_MODE"/>
+		<field name="GL_TRANSFORM_FEEDBACK_BUFFER_SIZE"/>
+		<field name="GL_TRANSFORM_FEEDBACK_BUFFER_START"/>
+		<field name="GL_TRANSFORM_FEEDBACK_PAUSED"/>
+		<field name="GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN"/>
+		<field name="GL_TRANSFORM_FEEDBACK_VARYINGS"/>
+		<field name="GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH"/>
+		<field name="GL_UNIFORM_ARRAY_STRIDE"/>
+		<field name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS"/>
+		<field name="GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES"/>
+		<field name="GL_UNIFORM_BLOCK_BINDING"/>
+		<field name="GL_UNIFORM_BLOCK_DATA_SIZE"/>
+		<field name="GL_UNIFORM_BLOCK_INDEX"/>
+		<field name="GL_UNIFORM_BLOCK_NAME_LENGTH"/>
+		<field name="GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER"/>
+		<field name="GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER"/>
+		<field name="GL_UNIFORM_BUFFER"/>
+		<field name="GL_UNIFORM_BUFFER_BINDING"/>
+		<field name="GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT"/>
+		<field name="GL_UNIFORM_BUFFER_SIZE"/>
+		<field name="GL_UNIFORM_BUFFER_START"/>
+		<field name="GL_UNIFORM_IS_ROW_MAJOR"/>
+		<field name="GL_UNIFORM_MATRIX_STRIDE"/>
+		<field name="GL_UNIFORM_NAME_LENGTH"/>
+		<field name="GL_UNIFORM_OFFSET"/>
+		<field name="GL_UNIFORM_SIZE"/>
+		<field name="GL_UNIFORM_TYPE"/>
+		<field name="GL_UNPACK_IMAGE_HEIGHT"/>
+		<field name="GL_UNPACK_ROW_LENGTH"/>
+		<field name="GL_UNPACK_SKIP_IMAGES"/>
+		<field name="GL_UNPACK_SKIP_PIXELS"/>
+		<field name="GL_UNPACK_SKIP_ROWS"/>
+		<field name="GL_UNSIGNALED"/>
+		<field name="GL_UNSIGNED_INT_10F_11F_11F_REV"/>
+		<field name="GL_UNSIGNED_INT_24_8"/>
+		<field name="GL_UNSIGNED_INT_2_10_10_10_REV"/>
+		<field name="GL_UNSIGNED_INT_5_9_9_9_REV"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_2D"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_2D_ARRAY"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_3D"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_CUBE"/>
+		<field name="GL_UNSIGNED_INT_VEC2"/>
+		<field name="GL_UNSIGNED_INT_VEC3"/>
+		<field name="GL_UNSIGNED_INT_VEC4"/>
+		<field name="GL_UNSIGNED_NORMALIZED"/>
+		<field name="GL_VERTEX_ARRAY_BINDING"/>
+		<field name="GL_VERTEX_ATTRIB_ARRAY_DIVISOR"/>
+		<field name="GL_VERTEX_ATTRIB_ARRAY_INTEGER"/>
+		<field name="GL_WAIT_FAILED"/>
+	</class>
+	<class name="android/opengl/GLES31" since="21">
+		<extends name="android/opengl/GLES30"/>
+		<method name="glActiveShaderProgram(II)V"/>
+		<method name="glBindImageTexture(IIIZIII)V"/>
+		<method name="glBindProgramPipeline(I)V"/>
+		<method name="glBindVertexBuffer(IIJI)V"/>
+		<method name="glCreateShaderProgramv(I[Ljava/lang/String;)I"/>
+		<method name="glDeleteProgramPipelines(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteProgramPipelines(I[II)V"/>
+		<method name="glDispatchCompute(III)V"/>
+		<method name="glDispatchComputeIndirect(J)V"/>
+		<method name="glDrawArraysIndirect(IJ)V"/>
+		<method name="glDrawElementsIndirect(IIJ)V"/>
+		<method name="glFramebufferParameteri(III)V"/>
+		<method name="glGenProgramPipelines(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenProgramPipelines(I[II)V"/>
+		<method name="glGetBooleani_v(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetBooleani_v(II[ZI)V"/>
+		<method name="glGetFramebufferParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetFramebufferParameteriv(II[II)V"/>
+		<method name="glGetMultisamplefv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetMultisamplefv(II[FI)V"/>
+		<method name="glGetProgramInterfaceiv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glGetProgramInterfaceiv(III[II)V"/>
+		<method name="glGetProgramPipelineInfoLog(I)Ljava/lang/String;"/>
+		<method name="glGetProgramPipelineiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetProgramPipelineiv(II[II)V"/>
+		<method name="glGetProgramResourceIndex(IILjava/lang/String;)I"/>
+		<method name="glGetProgramResourceLocation(IILjava/lang/String;)I"/>
+		<method name="glGetProgramResourceName(III)Ljava/lang/String;"/>
+		<method name="glGetProgramResourceiv(IIIILjava/nio/IntBuffer;ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;)V"/>
+		<method name="glGetProgramResourceiv(IIII[III[II[II)V"/>
+		<method name="glGetTexLevelParameterfv(IIILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetTexLevelParameterfv(III[FI)V"/>
+		<method name="glGetTexLevelParameteriv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexLevelParameteriv(III[II)V"/>
+		<method name="glIsProgramPipeline(I)Z"/>
+		<method name="glMemoryBarrier(I)V"/>
+		<method name="glMemoryBarrierByRegion(I)V"/>
+		<method name="glProgramUniform1f(IIF)V"/>
+		<method name="glProgramUniform1fv(IIILjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniform1fv(III[FI)V"/>
+		<method name="glProgramUniform1i(III)V"/>
+		<method name="glProgramUniform1iv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glProgramUniform1iv(III[II)V"/>
+		<method name="glProgramUniform1ui(III)V"/>
+		<method name="glProgramUniform1uiv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glProgramUniform1uiv(III[II)V"/>
+		<method name="glProgramUniform2f(IIFF)V"/>
+		<method name="glProgramUniform2fv(IIILjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniform2fv(III[FI)V"/>
+		<method name="glProgramUniform2i(IIII)V"/>
+		<method name="glProgramUniform2iv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glProgramUniform2iv(III[II)V"/>
+		<method name="glProgramUniform2ui(IIII)V"/>
+		<method name="glProgramUniform2uiv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glProgramUniform2uiv(III[II)V"/>
+		<method name="glProgramUniform3f(IIFFF)V"/>
+		<method name="glProgramUniform3fv(IIILjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniform3fv(III[FI)V"/>
+		<method name="glProgramUniform3i(IIIII)V"/>
+		<method name="glProgramUniform3iv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glProgramUniform3iv(III[II)V"/>
+		<method name="glProgramUniform3ui(IIIII)V"/>
+		<method name="glProgramUniform3uiv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glProgramUniform3uiv(III[II)V"/>
+		<method name="glProgramUniform4f(IIFFFF)V"/>
+		<method name="glProgramUniform4fv(IIILjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniform4fv(III[FI)V"/>
+		<method name="glProgramUniform4i(IIIIII)V"/>
+		<method name="glProgramUniform4iv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glProgramUniform4iv(III[II)V"/>
+		<method name="glProgramUniform4ui(IIIIII)V"/>
+		<method name="glProgramUniform4uiv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glProgramUniform4uiv(III[II)V"/>
+		<method name="glProgramUniformMatrix2fv(IIIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniformMatrix2fv(IIIZ[FI)V"/>
+		<method name="glProgramUniformMatrix2x3fv(IIIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniformMatrix2x3fv(IIIZ[FI)V"/>
+		<method name="glProgramUniformMatrix2x4fv(IIIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniformMatrix2x4fv(IIIZ[FI)V"/>
+		<method name="glProgramUniformMatrix3fv(IIIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniformMatrix3fv(IIIZ[FI)V"/>
+		<method name="glProgramUniformMatrix3x2fv(IIIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniformMatrix3x2fv(IIIZ[FI)V"/>
+		<method name="glProgramUniformMatrix3x4fv(IIIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniformMatrix3x4fv(IIIZ[FI)V"/>
+		<method name="glProgramUniformMatrix4fv(IIIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniformMatrix4fv(IIIZ[FI)V"/>
+		<method name="glProgramUniformMatrix4x2fv(IIIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniformMatrix4x2fv(IIIZ[FI)V"/>
+		<method name="glProgramUniformMatrix4x3fv(IIIZLjava/nio/FloatBuffer;)V"/>
+		<method name="glProgramUniformMatrix4x3fv(IIIZ[FI)V"/>
+		<method name="glSampleMaski(II)V"/>
+		<method name="glTexStorage2DMultisample(IIIIIZ)V"/>
+		<method name="glUseProgramStages(III)V"/>
+		<method name="glValidateProgramPipeline(I)V"/>
+		<method name="glVertexAttribBinding(II)V"/>
+		<method name="glVertexAttribFormat(IIIZI)V"/>
+		<method name="glVertexAttribIFormat(IIII)V"/>
+		<method name="glVertexBindingDivisor(II)V"/>
+		<field name="GL_ACTIVE_ATOMIC_COUNTER_BUFFERS"/>
+		<field name="GL_ACTIVE_PROGRAM"/>
+		<field name="GL_ACTIVE_RESOURCES"/>
+		<field name="GL_ACTIVE_VARIABLES"/>
+		<field name="GL_ALL_BARRIER_BITS" since="24"/>
+		<field name="GL_ALL_SHADER_BITS"/>
+		<field name="GL_ARRAY_SIZE"/>
+		<field name="GL_ARRAY_STRIDE"/>
+		<field name="GL_ATOMIC_COUNTER_BARRIER_BIT"/>
+		<field name="GL_ATOMIC_COUNTER_BUFFER"/>
+		<field name="GL_ATOMIC_COUNTER_BUFFER_BINDING"/>
+		<field name="GL_ATOMIC_COUNTER_BUFFER_INDEX"/>
+		<field name="GL_ATOMIC_COUNTER_BUFFER_SIZE"/>
+		<field name="GL_ATOMIC_COUNTER_BUFFER_START"/>
+		<field name="GL_BLOCK_INDEX"/>
+		<field name="GL_BUFFER_BINDING"/>
+		<field name="GL_BUFFER_DATA_SIZE"/>
+		<field name="GL_BUFFER_UPDATE_BARRIER_BIT"/>
+		<field name="GL_BUFFER_VARIABLE"/>
+		<field name="GL_COMMAND_BARRIER_BIT"/>
+		<field name="GL_COMPUTE_SHADER"/>
+		<field name="GL_COMPUTE_SHADER_BIT"/>
+		<field name="GL_COMPUTE_WORK_GROUP_SIZE"/>
+		<field name="GL_DEPTH_STENCIL_TEXTURE_MODE"/>
+		<field name="GL_DISPATCH_INDIRECT_BUFFER"/>
+		<field name="GL_DISPATCH_INDIRECT_BUFFER_BINDING"/>
+		<field name="GL_DRAW_INDIRECT_BUFFER"/>
+		<field name="GL_DRAW_INDIRECT_BUFFER_BINDING"/>
+		<field name="GL_ELEMENT_ARRAY_BARRIER_BIT" since="24"/>
+		<field name="GL_FRAGMENT_SHADER_BIT"/>
+		<field name="GL_FRAMEBUFFER_BARRIER_BIT"/>
+		<field name="GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS"/>
+		<field name="GL_FRAMEBUFFER_DEFAULT_HEIGHT"/>
+		<field name="GL_FRAMEBUFFER_DEFAULT_SAMPLES"/>
+		<field name="GL_FRAMEBUFFER_DEFAULT_WIDTH"/>
+		<field name="GL_IMAGE_2D"/>
+		<field name="GL_IMAGE_2D_ARRAY"/>
+		<field name="GL_IMAGE_3D"/>
+		<field name="GL_IMAGE_BINDING_ACCESS"/>
+		<field name="GL_IMAGE_BINDING_FORMAT"/>
+		<field name="GL_IMAGE_BINDING_LAYER"/>
+		<field name="GL_IMAGE_BINDING_LAYERED"/>
+		<field name="GL_IMAGE_BINDING_LEVEL"/>
+		<field name="GL_IMAGE_BINDING_NAME"/>
+		<field name="GL_IMAGE_CUBE"/>
+		<field name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS"/>
+		<field name="GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE"/>
+		<field name="GL_IMAGE_FORMAT_COMPATIBILITY_TYPE"/>
+		<field name="GL_INT_IMAGE_2D"/>
+		<field name="GL_INT_IMAGE_2D_ARRAY"/>
+		<field name="GL_INT_IMAGE_3D"/>
+		<field name="GL_INT_IMAGE_CUBE"/>
+		<field name="GL_INT_SAMPLER_2D_MULTISAMPLE"/>
+		<field name="GL_IS_ROW_MAJOR"/>
+		<field name="GL_LOCATION"/>
+		<field name="GL_MATRIX_STRIDE"/>
+		<field name="GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS"/>
+		<field name="GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE"/>
+		<field name="GL_MAX_COLOR_TEXTURE_SAMPLES"/>
+		<field name="GL_MAX_COMBINED_ATOMIC_COUNTERS"/>
+		<field name="GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS"/>
+		<field name="GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_COMBINED_IMAGE_UNIFORMS"/>
+		<field name="GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES"/>
+		<field name="GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS"/>
+		<field name="GL_MAX_COMPUTE_ATOMIC_COUNTERS"/>
+		<field name="GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS"/>
+		<field name="GL_MAX_COMPUTE_IMAGE_UNIFORMS"/>
+		<field name="GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS"/>
+		<field name="GL_MAX_COMPUTE_SHARED_MEMORY_SIZE"/>
+		<field name="GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS"/>
+		<field name="GL_MAX_COMPUTE_UNIFORM_BLOCKS"/>
+		<field name="GL_MAX_COMPUTE_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_COMPUTE_WORK_GROUP_COUNT"/>
+		<field name="GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS"/>
+		<field name="GL_MAX_COMPUTE_WORK_GROUP_SIZE"/>
+		<field name="GL_MAX_DEPTH_TEXTURE_SAMPLES"/>
+		<field name="GL_MAX_FRAGMENT_ATOMIC_COUNTERS"/>
+		<field name="GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS"/>
+		<field name="GL_MAX_FRAGMENT_IMAGE_UNIFORMS"/>
+		<field name="GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS"/>
+		<field name="GL_MAX_FRAMEBUFFER_HEIGHT"/>
+		<field name="GL_MAX_FRAMEBUFFER_SAMPLES"/>
+		<field name="GL_MAX_FRAMEBUFFER_WIDTH"/>
+		<field name="GL_MAX_IMAGE_UNITS"/>
+		<field name="GL_MAX_INTEGER_SAMPLES"/>
+		<field name="GL_MAX_NAME_LENGTH"/>
+		<field name="GL_MAX_NUM_ACTIVE_VARIABLES"/>
+		<field name="GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+		<field name="GL_MAX_SAMPLE_MASK_WORDS"/>
+		<field name="GL_MAX_SHADER_STORAGE_BLOCK_SIZE"/>
+		<field name="GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS"/>
+		<field name="GL_MAX_UNIFORM_LOCATIONS"/>
+		<field name="GL_MAX_VERTEX_ATOMIC_COUNTERS"/>
+		<field name="GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS"/>
+		<field name="GL_MAX_VERTEX_ATTRIB_BINDINGS"/>
+		<field name="GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+		<field name="GL_MAX_VERTEX_ATTRIB_STRIDE"/>
+		<field name="GL_MAX_VERTEX_IMAGE_UNIFORMS"/>
+		<field name="GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS"/>
+		<field name="GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET"/>
+		<field name="GL_NAME_LENGTH"/>
+		<field name="GL_NUM_ACTIVE_VARIABLES"/>
+		<field name="GL_OFFSET"/>
+		<field name="GL_PIXEL_BUFFER_BARRIER_BIT"/>
+		<field name="GL_PROGRAM_INPUT"/>
+		<field name="GL_PROGRAM_OUTPUT"/>
+		<field name="GL_PROGRAM_PIPELINE_BINDING"/>
+		<field name="GL_PROGRAM_SEPARABLE"/>
+		<field name="GL_READ_ONLY"/>
+		<field name="GL_READ_WRITE"/>
+		<field name="GL_REFERENCED_BY_COMPUTE_SHADER"/>
+		<field name="GL_REFERENCED_BY_FRAGMENT_SHADER"/>
+		<field name="GL_REFERENCED_BY_VERTEX_SHADER"/>
+		<field name="GL_SAMPLER_2D_MULTISAMPLE"/>
+		<field name="GL_SAMPLE_MASK"/>
+		<field name="GL_SAMPLE_MASK_VALUE"/>
+		<field name="GL_SAMPLE_POSITION"/>
+		<field name="GL_SHADER_IMAGE_ACCESS_BARRIER_BIT" since="24"/>
+		<field name="GL_SHADER_STORAGE_BARRIER_BIT"/>
+		<field name="GL_SHADER_STORAGE_BLOCK"/>
+		<field name="GL_SHADER_STORAGE_BUFFER"/>
+		<field name="GL_SHADER_STORAGE_BUFFER_BINDING"/>
+		<field name="GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT"/>
+		<field name="GL_SHADER_STORAGE_BUFFER_SIZE"/>
+		<field name="GL_SHADER_STORAGE_BUFFER_START"/>
+		<field name="GL_STENCIL_INDEX"/>
+		<field name="GL_TEXTURE_2D_MULTISAMPLE"/>
+		<field name="GL_TEXTURE_ALPHA_SIZE"/>
+		<field name="GL_TEXTURE_ALPHA_TYPE"/>
+		<field name="GL_TEXTURE_BINDING_2D_MULTISAMPLE"/>
+		<field name="GL_TEXTURE_BLUE_SIZE"/>
+		<field name="GL_TEXTURE_BLUE_TYPE"/>
+		<field name="GL_TEXTURE_COMPRESSED"/>
+		<field name="GL_TEXTURE_DEPTH"/>
+		<field name="GL_TEXTURE_DEPTH_SIZE"/>
+		<field name="GL_TEXTURE_DEPTH_TYPE"/>
+		<field name="GL_TEXTURE_FETCH_BARRIER_BIT"/>
+		<field name="GL_TEXTURE_FIXED_SAMPLE_LOCATIONS"/>
+		<field name="GL_TEXTURE_GREEN_SIZE"/>
+		<field name="GL_TEXTURE_GREEN_TYPE"/>
+		<field name="GL_TEXTURE_HEIGHT"/>
+		<field name="GL_TEXTURE_INTERNAL_FORMAT"/>
+		<field name="GL_TEXTURE_RED_SIZE"/>
+		<field name="GL_TEXTURE_RED_TYPE"/>
+		<field name="GL_TEXTURE_SAMPLES"/>
+		<field name="GL_TEXTURE_SHARED_SIZE"/>
+		<field name="GL_TEXTURE_STENCIL_SIZE"/>
+		<field name="GL_TEXTURE_UPDATE_BARRIER_BIT"/>
+		<field name="GL_TEXTURE_WIDTH"/>
+		<field name="GL_TOP_LEVEL_ARRAY_SIZE"/>
+		<field name="GL_TOP_LEVEL_ARRAY_STRIDE"/>
+		<field name="GL_TRANSFORM_FEEDBACK_BARRIER_BIT"/>
+		<field name="GL_TRANSFORM_FEEDBACK_VARYING"/>
+		<field name="GL_TYPE"/>
+		<field name="GL_UNIFORM"/>
+		<field name="GL_UNIFORM_BARRIER_BIT"/>
+		<field name="GL_UNIFORM_BLOCK"/>
+		<field name="GL_UNSIGNED_INT_ATOMIC_COUNTER"/>
+		<field name="GL_UNSIGNED_INT_IMAGE_2D"/>
+		<field name="GL_UNSIGNED_INT_IMAGE_2D_ARRAY"/>
+		<field name="GL_UNSIGNED_INT_IMAGE_3D"/>
+		<field name="GL_UNSIGNED_INT_IMAGE_CUBE"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE"/>
+		<field name="GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT" since="24"/>
+		<field name="GL_VERTEX_ATTRIB_BINDING"/>
+		<field name="GL_VERTEX_ATTRIB_RELATIVE_OFFSET"/>
+		<field name="GL_VERTEX_BINDING_BUFFER"/>
+		<field name="GL_VERTEX_BINDING_DIVISOR"/>
+		<field name="GL_VERTEX_BINDING_OFFSET"/>
+		<field name="GL_VERTEX_BINDING_STRIDE"/>
+		<field name="GL_VERTEX_SHADER_BIT"/>
+		<field name="GL_WRITE_ONLY"/>
+	</class>
+	<class name="android/opengl/GLES31Ext" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="glBlendBarrierKHR()V"/>
+		<method name="glBlendEquationSeparateiEXT(III)V"/>
+		<method name="glBlendEquationiEXT(II)V"/>
+		<method name="glBlendFuncSeparateiEXT(IIIII)V"/>
+		<method name="glBlendFunciEXT(III)V"/>
+		<method name="glColorMaskiEXT(IZZZZ)V"/>
+		<method name="glCopyImageSubDataEXT(IIIIIIIIIIIIIII)V"/>
+		<method name="glDebugMessageCallbackKHR(Landroid/opengl/GLES31Ext$DebugProcKHR;)V"/>
+		<method name="glDebugMessageControlKHR(IIIILjava/nio/IntBuffer;Z)V"/>
+		<method name="glDebugMessageControlKHR(IIII[IIZ)V"/>
+		<method name="glDebugMessageInsertKHR(IIIILjava/lang/String;)V"/>
+		<method name="glDisableiEXT(II)V"/>
+		<method name="glEnableiEXT(II)V"/>
+		<method name="glFramebufferTextureEXT(IIII)V"/>
+		<method name="glGetDebugMessageCallbackKHR()Landroid/opengl/GLES31Ext$DebugProcKHR;"/>
+		<method name="glGetDebugMessageLogKHR(II[II[II[II[II[II[BI)I"/>
+		<method name="glGetDebugMessageLogKHR(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)[Ljava/lang/String;"/>
+		<method name="glGetDebugMessageLogKHR(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)I"/>
+		<method name="glGetDebugMessageLogKHR(I[II[II[II[II)[Ljava/lang/String;"/>
+		<method name="glGetObjectLabelKHR(II)Ljava/lang/String;"/>
+		<method name="glGetObjectPtrLabelKHR(J)Ljava/lang/String;"/>
+		<method name="glGetSamplerParameterIivEXT(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetSamplerParameterIivEXT(II[II)V"/>
+		<method name="glGetSamplerParameterIuivEXT(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetSamplerParameterIuivEXT(II[II)V"/>
+		<method name="glGetTexParameterIivEXT(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexParameterIivEXT(II[II)V"/>
+		<method name="glGetTexParameterIuivEXT(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexParameterIuivEXT(II[II)V"/>
+		<method name="glIsEnablediEXT(II)Z"/>
+		<method name="glMinSampleShadingOES(F)V"/>
+		<method name="glObjectLabelKHR(IIILjava/lang/String;)V"/>
+		<method name="glObjectPtrLabelKHR(JLjava/lang/String;)V"/>
+		<method name="glPatchParameteriEXT(II)V"/>
+		<method name="glPopDebugGroupKHR()V"/>
+		<method name="glPrimitiveBoundingBoxEXT(FFFFFFFF)V"/>
+		<method name="glPushDebugGroupKHR(IIILjava/lang/String;)V"/>
+		<method name="glSamplerParameterIivEXT(IILjava/nio/IntBuffer;)V"/>
+		<method name="glSamplerParameterIivEXT(II[II)V"/>
+		<method name="glSamplerParameterIuivEXT(IILjava/nio/IntBuffer;)V"/>
+		<method name="glSamplerParameterIuivEXT(II[II)V"/>
+		<method name="glTexBufferEXT(III)V"/>
+		<method name="glTexBufferRangeEXT(IIIII)V"/>
+		<method name="glTexParameterIivEXT(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexParameterIivEXT(II[II)V"/>
+		<method name="glTexParameterIuivEXT(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexParameterIuivEXT(II[II)V"/>
+		<method name="glTexStorage3DMultisampleOES(IIIIIIZ)V"/>
+		<field name="GL_BLEND_ADVANCED_COHERENT_KHR"/>
+		<field name="GL_BUFFER_KHR"/>
+		<field name="GL_CLAMP_TO_BORDER_EXT"/>
+		<field name="GL_COLORBURN_KHR"/>
+		<field name="GL_COLORDODGE_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x10_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x5_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x6_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x8_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_12x10_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_12x12_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_4x4_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_5x4_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_5x5_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_6x5_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_6x6_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x5_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x6_KHR"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x8_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR"/>
+		<field name="GL_CONTEXT_FLAG_DEBUG_BIT_KHR"/>
+		<field name="GL_DARKEN_KHR"/>
+		<field name="GL_DEBUG_CALLBACK_FUNCTION_KHR"/>
+		<field name="GL_DEBUG_CALLBACK_USER_PARAM_KHR"/>
+		<field name="GL_DEBUG_GROUP_STACK_DEPTH_KHR"/>
+		<field name="GL_DEBUG_LOGGED_MESSAGES_KHR"/>
+		<field name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR"/>
+		<field name="GL_DEBUG_OUTPUT_KHR"/>
+		<field name="GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR"/>
+		<field name="GL_DEBUG_SEVERITY_HIGH_KHR"/>
+		<field name="GL_DEBUG_SEVERITY_LOW_KHR"/>
+		<field name="GL_DEBUG_SEVERITY_MEDIUM_KHR"/>
+		<field name="GL_DEBUG_SEVERITY_NOTIFICATION_KHR"/>
+		<field name="GL_DEBUG_SOURCE_API_KHR"/>
+		<field name="GL_DEBUG_SOURCE_APPLICATION_KHR"/>
+		<field name="GL_DEBUG_SOURCE_OTHER_KHR"/>
+		<field name="GL_DEBUG_SOURCE_SHADER_COMPILER_KHR"/>
+		<field name="GL_DEBUG_SOURCE_THIRD_PARTY_KHR"/>
+		<field name="GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR"/>
+		<field name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR"/>
+		<field name="GL_DEBUG_TYPE_ERROR_KHR"/>
+		<field name="GL_DEBUG_TYPE_MARKER_KHR"/>
+		<field name="GL_DEBUG_TYPE_OTHER_KHR"/>
+		<field name="GL_DEBUG_TYPE_PERFORMANCE_KHR"/>
+		<field name="GL_DEBUG_TYPE_POP_GROUP_KHR"/>
+		<field name="GL_DEBUG_TYPE_PORTABILITY_KHR"/>
+		<field name="GL_DEBUG_TYPE_PUSH_GROUP_KHR"/>
+		<field name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR"/>
+		<field name="GL_DECODE_EXT"/>
+		<field name="GL_DIFFERENCE_KHR"/>
+		<field name="GL_EXCLUSION_KHR"/>
+		<field name="GL_FIRST_VERTEX_CONVENTION_EXT"/>
+		<field name="GL_FRACTIONAL_EVEN_EXT"/>
+		<field name="GL_FRACTIONAL_ODD_EXT"/>
+		<field name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT"/>
+		<field name="GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT"/>
+		<field name="GL_GEOMETRY_LINKED_INPUT_TYPE_EXT"/>
+		<field name="GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT"/>
+		<field name="GL_GEOMETRY_LINKED_VERTICES_OUT_EXT"/>
+		<field name="GL_GEOMETRY_SHADER_BIT_EXT"/>
+		<field name="GL_GEOMETRY_SHADER_EXT"/>
+		<field name="GL_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+		<field name="GL_HARDLIGHT_KHR"/>
+		<field name="GL_HSL_COLOR_KHR"/>
+		<field name="GL_HSL_HUE_KHR"/>
+		<field name="GL_HSL_LUMINOSITY_KHR"/>
+		<field name="GL_HSL_SATURATION_KHR"/>
+		<field name="GL_IMAGE_BUFFER_EXT"/>
+		<field name="GL_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+		<field name="GL_INT_IMAGE_BUFFER_EXT"/>
+		<field name="GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+		<field name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+		<field name="GL_INT_SAMPLER_BUFFER_EXT"/>
+		<field name="GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+		<field name="GL_ISOLINES_EXT"/>
+		<field name="GL_IS_PER_PATCH_EXT"/>
+		<field name="GL_LAST_VERTEX_CONVENTION_EXT"/>
+		<field name="GL_LAYER_PROVOKING_VERTEX_EXT"/>
+		<field name="GL_LIGHTEN_KHR"/>
+		<field name="GL_LINES_ADJACENCY_EXT"/>
+		<field name="GL_LINE_STRIP_ADJACENCY_EXT"/>
+		<field name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+		<field name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+		<field name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+		<field name="GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR"/>
+		<field name="GL_MAX_DEBUG_LOGGED_MESSAGES_KHR"/>
+		<field name="GL_MAX_DEBUG_MESSAGE_LENGTH_KHR"/>
+		<field name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+		<field name="GL_MAX_FRAMEBUFFER_LAYERS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT"/>
+		<field name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT"/>
+		<field name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT"/>
+		<field name="GL_MAX_LABEL_LENGTH_KHR"/>
+		<field name="GL_MAX_PATCH_VERTICES_EXT"/>
+		<field name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT"/>
+		<field name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT"/>
+		<field name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT"/>
+		<field name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT"/>
+		<field name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT"/>
+		<field name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT"/>
+		<field name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT"/>
+		<field name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT"/>
+		<field name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT"/>
+		<field name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT"/>
+		<field name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT"/>
+		<field name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT"/>
+		<field name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT"/>
+		<field name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT"/>
+		<field name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT"/>
+		<field name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT"/>
+		<field name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT"/>
+		<field name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT"/>
+		<field name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT"/>
+		<field name="GL_MAX_TESS_GEN_LEVEL_EXT"/>
+		<field name="GL_MAX_TESS_PATCH_COMPONENTS_EXT"/>
+		<field name="GL_MAX_TEXTURE_BUFFER_SIZE_EXT"/>
+		<field name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES"/>
+		<field name="GL_MIN_SAMPLE_SHADING_VALUE_OES"/>
+		<field name="GL_MULTIPLY_KHR"/>
+		<field name="GL_OVERLAY_KHR"/>
+		<field name="GL_PATCHES_EXT"/>
+		<field name="GL_PATCH_VERTICES_EXT"/>
+		<field name="GL_PRIMITIVES_GENERATED_EXT"/>
+		<field name="GL_PRIMITIVE_BOUNDING_BOX_EXT"/>
+		<field name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
+		<field name="GL_PROGRAM_KHR"/>
+		<field name="GL_QUADS_EXT"/>
+		<field name="GL_QUERY_KHR"/>
+		<field name="GL_REFERENCED_BY_GEOMETRY_SHADER_EXT"/>
+		<field name="GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT"/>
+		<field name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT"/>
+		<field name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+		<field name="GL_SAMPLER_BUFFER_EXT"/>
+		<field name="GL_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+		<field name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT"/>
+		<field name="GL_SAMPLER_KHR"/>
+		<field name="GL_SAMPLE_SHADING_OES"/>
+		<field name="GL_SCREEN_KHR"/>
+		<field name="GL_SHADER_KHR"/>
+		<field name="GL_SKIP_DECODE_EXT"/>
+		<field name="GL_SOFTLIGHT_KHR"/>
+		<field name="GL_STACK_OVERFLOW_KHR"/>
+		<field name="GL_STACK_UNDERFLOW_KHR"/>
+		<field name="GL_STENCIL_INDEX8_OES"/>
+		<field name="GL_STENCIL_INDEX_OES"/>
+		<field name="GL_TESS_CONTROL_OUTPUT_VERTICES_EXT"/>
+		<field name="GL_TESS_CONTROL_SHADER_BIT_EXT"/>
+		<field name="GL_TESS_CONTROL_SHADER_EXT"/>
+		<field name="GL_TESS_EVALUATION_SHADER_BIT_EXT"/>
+		<field name="GL_TESS_EVALUATION_SHADER_EXT"/>
+		<field name="GL_TESS_GEN_MODE_EXT"/>
+		<field name="GL_TESS_GEN_POINT_MODE_EXT"/>
+		<field name="GL_TESS_GEN_SPACING_EXT"/>
+		<field name="GL_TESS_GEN_VERTEX_ORDER_EXT"/>
+		<field name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES"/>
+		<field name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES"/>
+		<field name="GL_TEXTURE_BINDING_BUFFER_EXT"/>
+		<field name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT"/>
+		<field name="GL_TEXTURE_BORDER_COLOR_EXT"/>
+		<field name="GL_TEXTURE_BUFFER_BINDING_EXT"/>
+		<field name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT"/>
+		<field name="GL_TEXTURE_BUFFER_EXT"/>
+		<field name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT"/>
+		<field name="GL_TEXTURE_BUFFER_OFFSET_EXT"/>
+		<field name="GL_TEXTURE_BUFFER_SIZE_EXT"/>
+		<field name="GL_TEXTURE_CUBE_MAP_ARRAY_EXT"/>
+		<field name="GL_TEXTURE_SRGB_DECODE_EXT"/>
+		<field name="GL_TRIANGLES_ADJACENCY_EXT"/>
+		<field name="GL_TRIANGLE_STRIP_ADJACENCY_EXT"/>
+		<field name="GL_UNDEFINED_VERTEX_EXT"/>
+		<field name="GL_UNSIGNED_INT_IMAGE_BUFFER_EXT"/>
+		<field name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT"/>
+		<field name="GL_VERTEX_ARRAY_KHR"/>
+	</class>
+	<class name="android/opengl/GLES31Ext$DebugProcKHR" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="onMessage(IIIILjava/lang/String;)V"/>
+	</class>
+	<class name="android/opengl/GLES32" since="24">
+		<extends name="android/opengl/GLES31"/>
+		<method name="glBlendBarrier()V"/>
+		<method name="glBlendEquationSeparatei(III)V"/>
+		<method name="glBlendEquationi(II)V"/>
+		<method name="glBlendFuncSeparatei(IIIII)V"/>
+		<method name="glBlendFunci(III)V"/>
+		<method name="glColorMaski(IZZZZ)V"/>
+		<method name="glCopyImageSubData(IIIIIIIIIIIIIII)V"/>
+		<method name="glDebugMessageCallback(Landroid/opengl/GLES32$DebugProc;)V"/>
+		<method name="glDebugMessageControl(IIIILjava/nio/IntBuffer;Z)V"/>
+		<method name="glDebugMessageControl(IIII[IIZ)V"/>
+		<method name="glDebugMessageInsert(IIIIILjava/lang/String;)V"/>
+		<method name="glDisablei(II)V"/>
+		<method name="glDrawElementsBaseVertex(IIILjava/nio/Buffer;I)V"/>
+		<method name="glDrawElementsInstancedBaseVertex(IIIIII)V"/>
+		<method name="glDrawElementsInstancedBaseVertex(IIILjava/nio/Buffer;II)V"/>
+		<method name="glDrawRangeElementsBaseVertex(IIIIILjava/nio/Buffer;I)V"/>
+		<method name="glEnablei(II)V"/>
+		<method name="glFramebufferTexture(IIII)V"/>
+		<method name="glGetDebugMessageLog(II[II[II[II[II[II[BI)I"/>
+		<method name="glGetDebugMessageLog(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)[Ljava/lang/String;"/>
+		<method name="glGetDebugMessageLog(ILjava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;Ljava/nio/ByteBuffer;)I"/>
+		<method name="glGetDebugMessageLog(I[II[II[II[II)[Ljava/lang/String;"/>
+		<method name="glGetGraphicsResetStatus()I"/>
+		<method name="glGetObjectLabel(II)Ljava/lang/String;"/>
+		<method name="glGetObjectPtrLabel(J)Ljava/lang/String;"/>
+		<method name="glGetPointerv(I)J"/>
+		<method name="glGetSamplerParameterIiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetSamplerParameterIiv(II[II)V"/>
+		<method name="glGetSamplerParameterIuiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetSamplerParameterIuiv(II[II)V"/>
+		<method name="glGetTexParameterIiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexParameterIiv(II[II)V"/>
+		<method name="glGetTexParameterIuiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexParameterIuiv(II[II)V"/>
+		<method name="glGetnUniformfv(IIILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetnUniformfv(III[FI)V"/>
+		<method name="glGetnUniformiv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glGetnUniformiv(III[II)V"/>
+		<method name="glGetnUniformuiv(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glGetnUniformuiv(III[II)V"/>
+		<method name="glIsEnabledi(II)Z"/>
+		<method name="glMinSampleShading(F)V"/>
+		<method name="glObjectLabel(IIILjava/lang/String;)V"/>
+		<method name="glObjectPtrLabel(JLjava/lang/String;)V"/>
+		<method name="glPatchParameteri(II)V"/>
+		<method name="glPopDebugGroup()V"/>
+		<method name="glPrimitiveBoundingBox(FFFFFFFF)V"/>
+		<method name="glPushDebugGroup(IIILjava/lang/String;)V"/>
+		<method name="glReadnPixels(IIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glSamplerParameterIiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glSamplerParameterIiv(II[II)V"/>
+		<method name="glSamplerParameterIuiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glSamplerParameterIuiv(II[II)V"/>
+		<method name="glTexBuffer(III)V"/>
+		<method name="glTexBufferRange(IIIII)V"/>
+		<method name="glTexParameterIiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexParameterIiv(II[II)V"/>
+		<method name="glTexParameterIuiv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexParameterIuiv(II[II)V"/>
+		<method name="glTexStorage3DMultisample(IIIIIIZ)V"/>
+		<field name="GL_BUFFER"/>
+		<field name="GL_CLAMP_TO_BORDER"/>
+		<field name="GL_COLORBURN"/>
+		<field name="GL_COLORDODGE"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x10"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x5"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x6"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_10x8"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_12x10"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_12x12"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_4x4"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_5x4"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_5x5"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_6x5"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_6x6"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x5"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x6"/>
+		<field name="GL_COMPRESSED_RGBA_ASTC_8x8"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6"/>
+		<field name="GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8"/>
+		<field name="GL_CONTEXT_FLAGS"/>
+		<field name="GL_CONTEXT_FLAG_DEBUG_BIT"/>
+		<field name="GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT"/>
+		<field name="GL_CONTEXT_LOST"/>
+		<field name="GL_DARKEN"/>
+		<field name="GL_DEBUG_CALLBACK_FUNCTION"/>
+		<field name="GL_DEBUG_CALLBACK_USER_PARAM"/>
+		<field name="GL_DEBUG_GROUP_STACK_DEPTH"/>
+		<field name="GL_DEBUG_LOGGED_MESSAGES"/>
+		<field name="GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH"/>
+		<field name="GL_DEBUG_OUTPUT"/>
+		<field name="GL_DEBUG_OUTPUT_SYNCHRONOUS"/>
+		<field name="GL_DEBUG_SEVERITY_HIGH"/>
+		<field name="GL_DEBUG_SEVERITY_LOW"/>
+		<field name="GL_DEBUG_SEVERITY_MEDIUM"/>
+		<field name="GL_DEBUG_SEVERITY_NOTIFICATION"/>
+		<field name="GL_DEBUG_SOURCE_API"/>
+		<field name="GL_DEBUG_SOURCE_APPLICATION"/>
+		<field name="GL_DEBUG_SOURCE_OTHER"/>
+		<field name="GL_DEBUG_SOURCE_SHADER_COMPILER"/>
+		<field name="GL_DEBUG_SOURCE_THIRD_PARTY"/>
+		<field name="GL_DEBUG_SOURCE_WINDOW_SYSTEM"/>
+		<field name="GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR"/>
+		<field name="GL_DEBUG_TYPE_ERROR"/>
+		<field name="GL_DEBUG_TYPE_MARKER"/>
+		<field name="GL_DEBUG_TYPE_OTHER"/>
+		<field name="GL_DEBUG_TYPE_PERFORMANCE"/>
+		<field name="GL_DEBUG_TYPE_POP_GROUP"/>
+		<field name="GL_DEBUG_TYPE_PORTABILITY"/>
+		<field name="GL_DEBUG_TYPE_PUSH_GROUP"/>
+		<field name="GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR"/>
+		<field name="GL_DIFFERENCE"/>
+		<field name="GL_EXCLUSION"/>
+		<field name="GL_FIRST_VERTEX_CONVENTION"/>
+		<field name="GL_FRACTIONAL_EVEN"/>
+		<field name="GL_FRACTIONAL_ODD"/>
+		<field name="GL_FRAGMENT_INTERPOLATION_OFFSET_BITS"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_LAYERED"/>
+		<field name="GL_FRAMEBUFFER_DEFAULT_LAYERS"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS"/>
+		<field name="GL_GEOMETRY_INPUT_TYPE"/>
+		<field name="GL_GEOMETRY_OUTPUT_TYPE"/>
+		<field name="GL_GEOMETRY_SHADER"/>
+		<field name="GL_GEOMETRY_SHADER_BIT"/>
+		<field name="GL_GEOMETRY_SHADER_INVOCATIONS"/>
+		<field name="GL_GEOMETRY_VERTICES_OUT"/>
+		<field name="GL_GUILTY_CONTEXT_RESET"/>
+		<field name="GL_HARDLIGHT"/>
+		<field name="GL_HSL_COLOR"/>
+		<field name="GL_HSL_HUE"/>
+		<field name="GL_HSL_LUMINOSITY"/>
+		<field name="GL_HSL_SATURATION"/>
+		<field name="GL_IMAGE_BUFFER"/>
+		<field name="GL_IMAGE_CUBE_MAP_ARRAY"/>
+		<field name="GL_INNOCENT_CONTEXT_RESET"/>
+		<field name="GL_INT_IMAGE_BUFFER"/>
+		<field name="GL_INT_IMAGE_CUBE_MAP_ARRAY"/>
+		<field name="GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+		<field name="GL_INT_SAMPLER_BUFFER"/>
+		<field name="GL_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+		<field name="GL_ISOLINES"/>
+		<field name="GL_IS_PER_PATCH"/>
+		<field name="GL_LAST_VERTEX_CONVENTION"/>
+		<field name="GL_LAYER_PROVOKING_VERTEX"/>
+		<field name="GL_LIGHTEN"/>
+		<field name="GL_LINES_ADJACENCY"/>
+		<field name="GL_LINE_STRIP_ADJACENCY"/>
+		<field name="GL_LOSE_CONTEXT_ON_RESET"/>
+		<field name="GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_DEBUG_GROUP_STACK_DEPTH"/>
+		<field name="GL_MAX_DEBUG_LOGGED_MESSAGES"/>
+		<field name="GL_MAX_DEBUG_MESSAGE_LENGTH"/>
+		<field name="GL_MAX_FRAGMENT_INTERPOLATION_OFFSET"/>
+		<field name="GL_MAX_FRAMEBUFFER_LAYERS"/>
+		<field name="GL_MAX_GEOMETRY_ATOMIC_COUNTERS"/>
+		<field name="GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS"/>
+		<field name="GL_MAX_GEOMETRY_IMAGE_UNIFORMS"/>
+		<field name="GL_MAX_GEOMETRY_INPUT_COMPONENTS"/>
+		<field name="GL_MAX_GEOMETRY_OUTPUT_COMPONENTS"/>
+		<field name="GL_MAX_GEOMETRY_OUTPUT_VERTICES"/>
+		<field name="GL_MAX_GEOMETRY_SHADER_INVOCATIONS"/>
+		<field name="GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS"/>
+		<field name="GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS"/>
+		<field name="GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS"/>
+		<field name="GL_MAX_GEOMETRY_UNIFORM_BLOCKS"/>
+		<field name="GL_MAX_GEOMETRY_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_LABEL_LENGTH"/>
+		<field name="GL_MAX_PATCH_VERTICES"/>
+		<field name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS"/>
+		<field name="GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS"/>
+		<field name="GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS"/>
+		<field name="GL_MAX_TESS_CONTROL_INPUT_COMPONENTS"/>
+		<field name="GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS"/>
+		<field name="GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS"/>
+		<field name="GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS"/>
+		<field name="GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS"/>
+		<field name="GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS"/>
+		<field name="GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS"/>
+		<field name="GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS"/>
+		<field name="GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS"/>
+		<field name="GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS"/>
+		<field name="GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS"/>
+		<field name="GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS"/>
+		<field name="GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS"/>
+		<field name="GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS"/>
+		<field name="GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS"/>
+		<field name="GL_MAX_TESS_GEN_LEVEL"/>
+		<field name="GL_MAX_TESS_PATCH_COMPONENTS"/>
+		<field name="GL_MAX_TEXTURE_BUFFER_SIZE"/>
+		<field name="GL_MIN_FRAGMENT_INTERPOLATION_OFFSET"/>
+		<field name="GL_MIN_SAMPLE_SHADING_VALUE"/>
+		<field name="GL_MULTIPLY"/>
+		<field name="GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY"/>
+		<field name="GL_MULTISAMPLE_LINE_WIDTH_RANGE"/>
+		<field name="GL_NO_RESET_NOTIFICATION"/>
+		<field name="GL_OVERLAY"/>
+		<field name="GL_PATCHES"/>
+		<field name="GL_PATCH_VERTICES"/>
+		<field name="GL_PRIMITIVES_GENERATED"/>
+		<field name="GL_PRIMITIVE_BOUNDING_BOX"/>
+		<field name="GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED"/>
+		<field name="GL_PROGRAM"/>
+		<field name="GL_PROGRAM_PIPELINE"/>
+		<field name="GL_QUADS"/>
+		<field name="GL_QUERY"/>
+		<field name="GL_REFERENCED_BY_GEOMETRY_SHADER"/>
+		<field name="GL_REFERENCED_BY_TESS_CONTROL_SHADER"/>
+		<field name="GL_REFERENCED_BY_TESS_EVALUATION_SHADER"/>
+		<field name="GL_RESET_NOTIFICATION_STRATEGY"/>
+		<field name="GL_SAMPLER"/>
+		<field name="GL_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+		<field name="GL_SAMPLER_BUFFER"/>
+		<field name="GL_SAMPLER_CUBE_MAP_ARRAY"/>
+		<field name="GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW"/>
+		<field name="GL_SAMPLE_SHADING"/>
+		<field name="GL_SCREEN"/>
+		<field name="GL_SHADER"/>
+		<field name="GL_SOFTLIGHT"/>
+		<field name="GL_STACK_OVERFLOW"/>
+		<field name="GL_STACK_UNDERFLOW"/>
+		<field name="GL_TESS_CONTROL_OUTPUT_VERTICES"/>
+		<field name="GL_TESS_CONTROL_SHADER"/>
+		<field name="GL_TESS_CONTROL_SHADER_BIT"/>
+		<field name="GL_TESS_EVALUATION_SHADER"/>
+		<field name="GL_TESS_EVALUATION_SHADER_BIT"/>
+		<field name="GL_TESS_GEN_MODE"/>
+		<field name="GL_TESS_GEN_POINT_MODE"/>
+		<field name="GL_TESS_GEN_SPACING"/>
+		<field name="GL_TESS_GEN_VERTEX_ORDER"/>
+		<field name="GL_TEXTURE_2D_MULTISAMPLE_ARRAY"/>
+		<field name="GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY"/>
+		<field name="GL_TEXTURE_BINDING_BUFFER"/>
+		<field name="GL_TEXTURE_BINDING_CUBE_MAP_ARRAY"/>
+		<field name="GL_TEXTURE_BORDER_COLOR"/>
+		<field name="GL_TEXTURE_BUFFER"/>
+		<field name="GL_TEXTURE_BUFFER_BINDING"/>
+		<field name="GL_TEXTURE_BUFFER_DATA_STORE_BINDING"/>
+		<field name="GL_TEXTURE_BUFFER_OFFSET"/>
+		<field name="GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT"/>
+		<field name="GL_TEXTURE_BUFFER_SIZE"/>
+		<field name="GL_TEXTURE_CUBE_MAP_ARRAY"/>
+		<field name="GL_TRIANGLES_ADJACENCY"/>
+		<field name="GL_TRIANGLE_STRIP_ADJACENCY"/>
+		<field name="GL_UNDEFINED_VERTEX"/>
+		<field name="GL_UNKNOWN_CONTEXT_RESET"/>
+		<field name="GL_UNSIGNED_INT_IMAGE_BUFFER"/>
+		<field name="GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_BUFFER"/>
+		<field name="GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY"/>
+		<field name="GL_VERTEX_ARRAY"/>
+	</class>
+	<class name="android/opengl/GLES32$DebugProc" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onMessage(IIIILjava/lang/String;)V"/>
+	</class>
+	<class name="android/opengl/GLException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+	</class>
+	<class name="android/opengl/GLSurfaceView" since="3">
+		<extends name="android/view/SurfaceView"/>
+		<implements name="android/view/SurfaceHolder$Callback" removed="24"/>
+		<implements name="android/view/SurfaceHolder$Callback2" since="24"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="getDebugFlags()I"/>
+		<method name="getPreserveEGLContextOnPause()Z" since="11"/>
+		<method name="getRenderMode()I"/>
+		<method name="onPause()V"/>
+		<method name="onResume()V"/>
+		<method name="queueEvent(Ljava/lang/Runnable;)V"/>
+		<method name="requestRender()V"/>
+		<method name="setDebugFlags(I)V"/>
+		<method name="setEGLConfigChooser(IIIIII)V"/>
+		<method name="setEGLConfigChooser(Landroid/opengl/GLSurfaceView$EGLConfigChooser;)V"/>
+		<method name="setEGLConfigChooser(Z)V"/>
+		<method name="setEGLContextClientVersion(I)V" since="8"/>
+		<method name="setEGLContextFactory(Landroid/opengl/GLSurfaceView$EGLContextFactory;)V" since="5"/>
+		<method name="setEGLWindowSurfaceFactory(Landroid/opengl/GLSurfaceView$EGLWindowSurfaceFactory;)V" since="5"/>
+		<method name="setGLWrapper(Landroid/opengl/GLSurfaceView$GLWrapper;)V"/>
+		<method name="setPreserveEGLContextOnPause(Z)V" since="11"/>
+		<method name="setRenderMode(I)V"/>
+		<method name="setRenderer(Landroid/opengl/GLSurfaceView$Renderer;)V"/>
+		<field name="DEBUG_CHECK_GL_ERROR"/>
+		<field name="DEBUG_LOG_GL_CALLS"/>
+		<field name="RENDERMODE_CONTINUOUSLY"/>
+		<field name="RENDERMODE_WHEN_DIRTY"/>
+	</class>
+	<class name="android/opengl/GLSurfaceView$EGLConfigChooser" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="chooseConfig(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;)Ljavax/microedition/khronos/egl/EGLConfig;"/>
+	</class>
+	<class name="android/opengl/GLSurfaceView$EGLContextFactory" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="createContext(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;)Ljavax/microedition/khronos/egl/EGLContext;"/>
+		<method name="destroyContext(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;)V"/>
+	</class>
+	<class name="android/opengl/GLSurfaceView$EGLWindowSurfaceFactory" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="createWindowSurface(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLSurface;"/>
+		<method name="destroySurface(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)V"/>
+	</class>
+	<class name="android/opengl/GLSurfaceView$GLWrapper" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="wrap(Ljavax/microedition/khronos/opengles/GL;)Ljavax/microedition/khronos/opengles/GL;"/>
+	</class>
+	<class name="android/opengl/GLSurfaceView$Renderer" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onDrawFrame(Ljavax/microedition/khronos/opengles/GL10;)V"/>
+		<method name="onSurfaceChanged(Ljavax/microedition/khronos/opengles/GL10;II)V"/>
+		<method name="onSurfaceCreated(Ljavax/microedition/khronos/opengles/GL10;Ljavax/microedition/khronos/egl/EGLConfig;)V"/>
+	</class>
+	<class name="android/opengl/GLU" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="gluErrorString(I)Ljava/lang/String;"/>
+		<method name="gluLookAt(Ljavax/microedition/khronos/opengles/GL10;FFFFFFFFF)V"/>
+		<method name="gluOrtho2D(Ljavax/microedition/khronos/opengles/GL10;FFFF)V"/>
+		<method name="gluPerspective(Ljavax/microedition/khronos/opengles/GL10;FFFF)V"/>
+		<method name="gluProject(FFF[FI[FI[II[FI)I"/>
+		<method name="gluUnProject(FFF[FI[FI[II[FI)I"/>
+	</class>
+	<class name="android/opengl/GLUtils" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getEGLErrorString(I)Ljava/lang/String;" since="14"/>
+		<method name="getInternalFormat(Landroid/graphics/Bitmap;)I"/>
+		<method name="getType(Landroid/graphics/Bitmap;)I"/>
+		<method name="texImage2D(IIILandroid/graphics/Bitmap;I)V"/>
+		<method name="texImage2D(IIILandroid/graphics/Bitmap;II)V"/>
+		<method name="texImage2D(IILandroid/graphics/Bitmap;I)V"/>
+		<method name="texSubImage2D(IIIILandroid/graphics/Bitmap;)V"/>
+		<method name="texSubImage2D(IIIILandroid/graphics/Bitmap;II)V"/>
+	</class>
+	<class name="android/opengl/Matrix" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="19"/>
+		<method name="frustumM([FIFFFFFF)V"/>
+		<method name="invertM([FI[FI)Z"/>
+		<method name="length(FFF)F"/>
+		<method name="multiplyMM([FI[FI[FI)V"/>
+		<method name="multiplyMV([FI[FI[FI)V"/>
+		<method name="orthoM([FIFFFFFF)V"/>
+		<method name="perspectiveM([FIFFFF)V" since="14"/>
+		<method name="rotateM([FIFFFF)V"/>
+		<method name="rotateM([FI[FIFFFF)V"/>
+		<method name="scaleM([FIFFF)V"/>
+		<method name="scaleM([FI[FIFFF)V"/>
+		<method name="setIdentityM([FI)V"/>
+		<method name="setLookAtM([FIFFFFFFFFF)V" since="8"/>
+		<method name="setRotateEulerM([FIFFF)V"/>
+		<method name="setRotateM([FIFFFF)V"/>
+		<method name="translateM([FIFFF)V"/>
+		<method name="translateM([FI[FIFFF)V"/>
+		<method name="transposeM([FI[FI)V"/>
+	</class>
+	<class name="android/opengl/Visibility" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="computeBoundingSphere([FII[FI)V"/>
+		<method name="frustumCullSpheres([FI[FII[III)I"/>
+		<method name="visibilityTest([FI[FI[CII)I"/>
+	</class>
+	<class name="android/os/AsyncTask" since="3" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="cancel(Z)Z" deprecated="30"/>
+		<method name="doInBackground([Ljava/lang/Object;)Ljava/lang/Object;" deprecated="30"/>
+		<method name="execute(Ljava/lang/Runnable;)V" since="11" deprecated="30"/>
+		<method name="execute([Ljava/lang/Object;)Landroid/os/AsyncTask;" deprecated="30"/>
+		<method name="executeOnExecutor(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;" since="11" deprecated="30"/>
+		<method name="get()Ljava/lang/Object;" deprecated="30"/>
+		<method name="get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;" deprecated="30"/>
+		<method name="getStatus()Landroid/os/AsyncTask$Status;" deprecated="30"/>
+		<method name="isCancelled()Z" deprecated="30"/>
+		<method name="onCancelled()V" deprecated="30"/>
+		<method name="onCancelled(Ljava/lang/Object;)V" since="11" deprecated="30"/>
+		<method name="onPostExecute(Ljava/lang/Object;)V" deprecated="30"/>
+		<method name="onPreExecute()V" deprecated="30"/>
+		<method name="onProgressUpdate([Ljava/lang/Object;)V" deprecated="30"/>
+		<method name="publishProgress([Ljava/lang/Object;)V" deprecated="30"/>
+		<field name="SERIAL_EXECUTOR" since="11" deprecated="30"/>
+		<field name="THREAD_POOL_EXECUTOR" since="11" deprecated="30"/>
+	</class>
+	<class name="android/os/AsyncTask$Status" since="3" deprecated="30">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/os/AsyncTask$Status;"/>
+		<method name="values()[Landroid/os/AsyncTask$Status;"/>
+		<field name="FINISHED" deprecated="30"/>
+		<field name="PENDING" deprecated="30"/>
+		<field name="RUNNING" deprecated="30"/>
+	</class>
+	<class name="android/os/BadParcelableException" since="1">
+		<extends name="android/util/AndroidRuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/os/BaseBundle" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="clear()V"/>
+		<method name="containsKey(Ljava/lang/String;)Z"/>
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getBoolean(Ljava/lang/String;)Z" since="22"/>
+		<method name="getBoolean(Ljava/lang/String;Z)Z" since="22"/>
+		<method name="getBooleanArray(Ljava/lang/String;)[Z" since="22"/>
+		<method name="getDouble(Ljava/lang/String;)D"/>
+		<method name="getDouble(Ljava/lang/String;D)D"/>
+		<method name="getDoubleArray(Ljava/lang/String;)[D"/>
+		<method name="getInt(Ljava/lang/String;)I"/>
+		<method name="getInt(Ljava/lang/String;I)I"/>
+		<method name="getIntArray(Ljava/lang/String;)[I"/>
+		<method name="getLong(Ljava/lang/String;)J"/>
+		<method name="getLong(Ljava/lang/String;J)J"/>
+		<method name="getLongArray(Ljava/lang/String;)[J"/>
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getStringArray(Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="isEmpty()Z"/>
+		<method name="keySet()Ljava/util/Set;"/>
+		<method name="putAll(Landroid/os/PersistableBundle;)V"/>
+		<method name="putBoolean(Ljava/lang/String;Z)V" since="22"/>
+		<method name="putBooleanArray(Ljava/lang/String;[Z)V" since="22"/>
+		<method name="putDouble(Ljava/lang/String;D)V"/>
+		<method name="putDoubleArray(Ljava/lang/String;[D)V"/>
+		<method name="putInt(Ljava/lang/String;I)V"/>
+		<method name="putIntArray(Ljava/lang/String;[I)V"/>
+		<method name="putLong(Ljava/lang/String;J)V"/>
+		<method name="putLongArray(Ljava/lang/String;[J)V"/>
+		<method name="putString(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="putStringArray(Ljava/lang/String;[Ljava/lang/String;)V"/>
+		<method name="remove(Ljava/lang/String;)V"/>
+		<method name="size()I"/>
+	</class>
+	<class name="android/os/BatteryManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="23"/>
+		<method name="computeChargeTimeRemaining()J" since="28"/>
+		<method name="getIntProperty(I)I" since="21"/>
+		<method name="getLongProperty(I)J" since="21"/>
+		<method name="isCharging()Z" since="23"/>
+		<field name="ACTION_CHARGING" since="23"/>
+		<field name="ACTION_DISCHARGING" since="23"/>
+		<field name="BATTERY_HEALTH_COLD" since="11"/>
+		<field name="BATTERY_HEALTH_DEAD"/>
+		<field name="BATTERY_HEALTH_GOOD"/>
+		<field name="BATTERY_HEALTH_OVERHEAT"/>
+		<field name="BATTERY_HEALTH_OVER_VOLTAGE"/>
+		<field name="BATTERY_HEALTH_UNKNOWN"/>
+		<field name="BATTERY_HEALTH_UNSPECIFIED_FAILURE"/>
+		<field name="BATTERY_PLUGGED_AC"/>
+		<field name="BATTERY_PLUGGED_USB"/>
+		<field name="BATTERY_PLUGGED_WIRELESS" since="17"/>
+		<field name="BATTERY_PROPERTY_CAPACITY" since="21"/>
+		<field name="BATTERY_PROPERTY_CHARGE_COUNTER" since="21"/>
+		<field name="BATTERY_PROPERTY_CURRENT_AVERAGE" since="21"/>
+		<field name="BATTERY_PROPERTY_CURRENT_NOW" since="21"/>
+		<field name="BATTERY_PROPERTY_ENERGY_COUNTER" since="21"/>
+		<field name="BATTERY_PROPERTY_STATUS" since="26"/>
+		<field name="BATTERY_STATUS_CHARGING"/>
+		<field name="BATTERY_STATUS_DISCHARGING"/>
+		<field name="BATTERY_STATUS_FULL"/>
+		<field name="BATTERY_STATUS_NOT_CHARGING"/>
+		<field name="BATTERY_STATUS_UNKNOWN"/>
+		<field name="EXTRA_BATTERY_LOW" since="28"/>
+		<field name="EXTRA_HEALTH" since="5"/>
+		<field name="EXTRA_ICON_SMALL" since="5"/>
+		<field name="EXTRA_LEVEL" since="5"/>
+		<field name="EXTRA_PLUGGED" since="5"/>
+		<field name="EXTRA_PRESENT" since="5"/>
+		<field name="EXTRA_SCALE" since="5"/>
+		<field name="EXTRA_STATUS" since="5"/>
+		<field name="EXTRA_TECHNOLOGY" since="5"/>
+		<field name="EXTRA_TEMPERATURE" since="5"/>
+		<field name="EXTRA_VOLTAGE" since="5"/>
+	</class>
+	<class name="android/os/Binder" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/IBinder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" since="29"/>
+		<method name="attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V"/>
+		<method name="clearCallingIdentity()J"/>
+		<method name="clearCallingWorkSource()J" since="29"/>
+		<method name="dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V"/>
+		<method name="flushPendingCommands()V"/>
+		<method name="getCallingPid()I"/>
+		<method name="getCallingUid()I"/>
+		<method name="getCallingUidOrThrow()I" since="29"/>
+		<method name="getCallingUserHandle()Landroid/os/UserHandle;" since="17"/>
+		<method name="getCallingWorkSourceUid()I" since="29"/>
+		<method name="joinThreadPool()V"/>
+		<method name="onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z"/>
+		<method name="restoreCallingIdentity(J)V"/>
+		<method name="restoreCallingWorkSource(J)V" since="29"/>
+		<method name="setCallingWorkSourceUid(I)J" since="29"/>
+	</class>
+	<class name="android/os/BugreportManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="cancelBugreport()V"/>
+		<method name="startConnectivityBugreport(Landroid/os/ParcelFileDescriptor;Ljava/util/concurrent/Executor;Landroid/os/BugreportManager$BugreportCallback;)V"/>
+	</class>
+	<class name="android/os/BugreportManager$BugreportCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onEarlyReportFinished()V"/>
+		<method name="onError(I)V"/>
+		<method name="onFinished()V"/>
+		<method name="onProgress(F)V"/>
+		<field name="BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS"/>
+		<field name="BUGREPORT_ERROR_INVALID_INPUT"/>
+		<field name="BUGREPORT_ERROR_RUNTIME"/>
+		<field name="BUGREPORT_ERROR_USER_CONSENT_TIMED_OUT"/>
+		<field name="BUGREPORT_ERROR_USER_DENIED_CONSENT"/>
+	</class>
+	<class name="android/os/Build" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getFingerprintedPartitions()Ljava/util/List;" since="29"/>
+		<method name="getRadioVersion()Ljava/lang/String;" since="14"/>
+		<method name="getSerial()Ljava/lang/String;" since="26"/>
+		<field name="BOARD"/>
+		<field name="BOOTLOADER" since="8"/>
+		<field name="BRAND"/>
+		<field name="CPU_ABI" since="4" deprecated="21"/>
+		<field name="CPU_ABI2" since="8" deprecated="21"/>
+		<field name="DEVICE"/>
+		<field name="DISPLAY" since="3"/>
+		<field name="FINGERPRINT"/>
+		<field name="HARDWARE" since="8"/>
+		<field name="HOST"/>
+		<field name="ID"/>
+		<field name="MANUFACTURER" since="4"/>
+		<field name="MODEL"/>
+		<field name="ODM_SKU" since="31"/>
+		<field name="PRODUCT"/>
+		<field name="RADIO" since="8" deprecated="15"/>
+		<field name="SERIAL" since="9" deprecated="26"/>
+		<field name="SKU" since="31"/>
+		<field name="SOC_MANUFACTURER" since="31"/>
+		<field name="SOC_MODEL" since="31"/>
+		<field name="SUPPORTED_32_BIT_ABIS" since="21"/>
+		<field name="SUPPORTED_64_BIT_ABIS" since="21"/>
+		<field name="SUPPORTED_ABIS" since="21"/>
+		<field name="TAGS"/>
+		<field name="TIME"/>
+		<field name="TYPE"/>
+		<field name="UNKNOWN" since="8"/>
+		<field name="USER"/>
+	</class>
+	<class name="android/os/Build$Partition" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getBuildTimeMillis()J"/>
+		<method name="getFingerprint()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<field name="PARTITION_NAME_SYSTEM"/>
+	</class>
+	<class name="android/os/Build$VERSION" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="BASE_OS" since="23"/>
+		<field name="CODENAME" since="4"/>
+		<field name="INCREMENTAL"/>
+		<field name="MEDIA_PERFORMANCE_CLASS" since="31"/>
+		<field name="PREVIEW_SDK_INT" since="23"/>
+		<field name="RELEASE"/>
+		<field name="RELEASE_OR_CODENAME" since="30"/>
+		<field name="SDK" deprecated="15"/>
+		<field name="SDK_INT" since="4"/>
+		<field name="SECURITY_PATCH" since="23"/>
+	</class>
+	<class name="android/os/Build$VERSION_CODES" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="BASE"/>
+		<field name="BASE_1_1"/>
+		<field name="CUPCAKE"/>
+		<field name="CUR_DEVELOPMENT"/>
+		<field name="DONUT"/>
+		<field name="ECLAIR" since="5"/>
+		<field name="ECLAIR_0_1" since="6"/>
+		<field name="ECLAIR_MR1" since="7"/>
+		<field name="FROYO" since="8"/>
+		<field name="GINGERBREAD" since="9"/>
+		<field name="GINGERBREAD_MR1" since="10"/>
+		<field name="HONEYCOMB" since="11"/>
+		<field name="HONEYCOMB_MR1" since="12"/>
+		<field name="HONEYCOMB_MR2" since="13"/>
+		<field name="ICE_CREAM_SANDWICH" since="14"/>
+		<field name="ICE_CREAM_SANDWICH_MR1" since="15"/>
+		<field name="JELLY_BEAN" since="16"/>
+		<field name="JELLY_BEAN_MR1" since="17"/>
+		<field name="JELLY_BEAN_MR2" since="18"/>
+		<field name="KITKAT" since="19"/>
+		<field name="KITKAT_WATCH" since="20"/>
+		<field name="LOLLIPOP" since="21"/>
+		<field name="LOLLIPOP_MR1" since="22"/>
+		<field name="M" since="23"/>
+		<field name="N" since="24"/>
+		<field name="N_MR1" since="25"/>
+		<field name="O" since="26"/>
+		<field name="O_MR1" since="27"/>
+		<field name="P" since="28"/>
+		<field name="Q" since="29"/>
+		<field name="R" since="30"/>
+		<field name="S" since="31"/>
+		<field name="S_V2" since="33"/>
+	</class>
+	<class name="android/os/Bundle" since="1">
+		<extends name="android/os/BaseBundle" since="21"/>
+		<extends name="java/lang/Object" removed="21"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/os/Bundle;)V"/>
+		<method name="&lt;init>(Landroid/os/PersistableBundle;)V" since="21"/>
+		<method name="&lt;init>(Ljava/lang/ClassLoader;)V"/>
+		<method name="clear()V"/>
+		<method name="containsKey(Ljava/lang/String;)Z" removed="21"/>
+		<method name="deepCopy()Landroid/os/Bundle;" since="26"/>
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;" removed="21"/>
+		<method name="getBinder(Ljava/lang/String;)Landroid/os/IBinder;" since="18"/>
+		<method name="getBoolean(Ljava/lang/String;)Z" removed="22"/>
+		<method name="getBoolean(Ljava/lang/String;Z)Z" removed="22"/>
+		<method name="getBooleanArray(Ljava/lang/String;)[Z" removed="22"/>
+		<method name="getBundle(Ljava/lang/String;)Landroid/os/Bundle;"/>
+		<method name="getByte(Ljava/lang/String;)B"/>
+		<method name="getByte(Ljava/lang/String;B)Ljava/lang/Byte;"/>
+		<method name="getByteArray(Ljava/lang/String;)[B"/>
+		<method name="getChar(Ljava/lang/String;)C"/>
+		<method name="getChar(Ljava/lang/String;C)C"/>
+		<method name="getCharArray(Ljava/lang/String;)[C"/>
+		<method name="getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;"/>
+		<method name="getCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" since="12"/>
+		<method name="getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence;" since="8"/>
+		<method name="getCharSequenceArrayList(Ljava/lang/String;)Ljava/util/ArrayList;" since="8"/>
+		<method name="getClassLoader()Ljava/lang/ClassLoader;" since="11"/>
+		<method name="getDouble(Ljava/lang/String;)D" removed="21"/>
+		<method name="getDouble(Ljava/lang/String;D)D" removed="21"/>
+		<method name="getDoubleArray(Ljava/lang/String;)[D" removed="21"/>
+		<method name="getFloat(Ljava/lang/String;)F"/>
+		<method name="getFloat(Ljava/lang/String;F)F"/>
+		<method name="getFloatArray(Ljava/lang/String;)[F"/>
+		<method name="getInt(Ljava/lang/String;)I" removed="21"/>
+		<method name="getInt(Ljava/lang/String;I)I" removed="21"/>
+		<method name="getIntArray(Ljava/lang/String;)[I" removed="21"/>
+		<method name="getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList;"/>
+		<method name="getLong(Ljava/lang/String;)J" removed="21"/>
+		<method name="getLong(Ljava/lang/String;J)J" removed="21"/>
+		<method name="getLongArray(Ljava/lang/String;)[J" removed="21"/>
+		<method name="getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;"/>
+		<method name="getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable;"/>
+		<method name="getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList;"/>
+		<method name="getSerializable(Ljava/lang/String;)Ljava/io/Serializable;"/>
+		<method name="getShort(Ljava/lang/String;)S"/>
+		<method name="getShort(Ljava/lang/String;S)S"/>
+		<method name="getShortArray(Ljava/lang/String;)[S"/>
+		<method name="getSize(Ljava/lang/String;)Landroid/util/Size;" since="21"/>
+		<method name="getSizeF(Ljava/lang/String;)Landroid/util/SizeF;" since="21"/>
+		<method name="getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray;"/>
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;" removed="21"/>
+		<method name="getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="12" removed="21"/>
+		<method name="getStringArray(Ljava/lang/String;)[Ljava/lang/String;" removed="21"/>
+		<method name="getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;"/>
+		<method name="hasFileDescriptors()Z"/>
+		<method name="isEmpty()Z" removed="21"/>
+		<method name="keySet()Ljava/util/Set;" removed="21"/>
+		<method name="putAll(Landroid/os/Bundle;)V"/>
+		<method name="putBinder(Ljava/lang/String;Landroid/os/IBinder;)V" since="18"/>
+		<method name="putBoolean(Ljava/lang/String;Z)V" removed="22"/>
+		<method name="putBooleanArray(Ljava/lang/String;[Z)V" removed="22"/>
+		<method name="putBundle(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="putByte(Ljava/lang/String;B)V"/>
+		<method name="putByteArray(Ljava/lang/String;[B)V"/>
+		<method name="putChar(Ljava/lang/String;C)V"/>
+		<method name="putCharArray(Ljava/lang/String;[C)V"/>
+		<method name="putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V"/>
+		<method name="putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V" since="8"/>
+		<method name="putCharSequenceArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V" since="8"/>
+		<method name="putDouble(Ljava/lang/String;D)V" removed="21"/>
+		<method name="putDoubleArray(Ljava/lang/String;[D)V" removed="21"/>
+		<method name="putFloat(Ljava/lang/String;F)V"/>
+		<method name="putFloatArray(Ljava/lang/String;[F)V"/>
+		<method name="putInt(Ljava/lang/String;I)V" removed="21"/>
+		<method name="putIntArray(Ljava/lang/String;[I)V" removed="21"/>
+		<method name="putIntegerArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V"/>
+		<method name="putLong(Ljava/lang/String;J)V" removed="21"/>
+		<method name="putLongArray(Ljava/lang/String;[J)V" removed="21"/>
+		<method name="putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V"/>
+		<method name="putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V"/>
+		<method name="putParcelableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V"/>
+		<method name="putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V"/>
+		<method name="putShort(Ljava/lang/String;S)V"/>
+		<method name="putShortArray(Ljava/lang/String;[S)V"/>
+		<method name="putSize(Ljava/lang/String;Landroid/util/Size;)V" since="21"/>
+		<method name="putSizeF(Ljava/lang/String;Landroid/util/SizeF;)V" since="21"/>
+		<method name="putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V"/>
+		<method name="putString(Ljava/lang/String;Ljava/lang/String;)V" removed="21"/>
+		<method name="putStringArray(Ljava/lang/String;[Ljava/lang/String;)V" removed="21"/>
+		<method name="putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<method name="remove(Ljava/lang/String;)V"/>
+		<method name="setClassLoader(Ljava/lang/ClassLoader;)V"/>
+		<method name="size()I" removed="21"/>
+		<field name="CREATOR"/>
+		<field name="EMPTY"/>
+	</class>
+	<class name="android/os/CancellationSignal" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="cancel()V"/>
+		<method name="isCanceled()Z"/>
+		<method name="setOnCancelListener(Landroid/os/CancellationSignal$OnCancelListener;)V"/>
+		<method name="throwIfCanceled()V"/>
+	</class>
+	<class name="android/os/CancellationSignal$OnCancelListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onCancel()V"/>
+	</class>
+	<class name="android/os/CombinedVibration" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="createParallel(Landroid/os/VibrationEffect;)Landroid/os/CombinedVibration;"/>
+		<method name="startParallel()Landroid/os/CombinedVibration$ParallelCombination;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/CombinedVibration$ParallelCombination" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="addVibrator(ILandroid/os/VibrationEffect;)Landroid/os/CombinedVibration$ParallelCombination;"/>
+		<method name="combine()Landroid/os/CombinedVibration;"/>
+	</class>
+	<class name="android/os/ConditionVariable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Z)V"/>
+		<method name="block()V"/>
+		<method name="block(J)Z"/>
+		<method name="close()V"/>
+		<method name="open()V"/>
+	</class>
+	<class name="android/os/CountDownTimer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(JJ)V"/>
+		<method name="cancel()V"/>
+		<method name="onFinish()V"/>
+		<method name="onTick(J)V"/>
+		<method name="start()Landroid/os/CountDownTimer;"/>
+	</class>
+	<class name="android/os/CpuUsageInfo" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getActive()J"/>
+		<method name="getTotal()J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/DeadObjectException" since="1">
+		<extends name="android/os/RemoteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" since="23"/>
+	</class>
+	<class name="android/os/DeadSystemException" since="24">
+		<extends name="android/os/DeadObjectException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/os/Debug" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="attachJvmtiAgent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V" since="28"/>
+		<method name="changeDebugPort(I)V" deprecated="15"/>
+		<method name="dumpHprofData(Ljava/lang/String;)V" since="3"/>
+		<method name="dumpService(Ljava/lang/String;Ljava/io/FileDescriptor;[Ljava/lang/String;)Z" since="8"/>
+		<method name="enableEmulatorTraceOutput()V"/>
+		<method name="getBinderDeathObjectCount()I"/>
+		<method name="getBinderLocalObjectCount()I"/>
+		<method name="getBinderProxyObjectCount()I"/>
+		<method name="getBinderReceivedTransactions()I"/>
+		<method name="getBinderSentTransactions()I"/>
+		<method name="getGlobalAllocCount()I" deprecated="23"/>
+		<method name="getGlobalAllocSize()I" deprecated="23"/>
+		<method name="getGlobalClassInitCount()I" since="8" deprecated="23"/>
+		<method name="getGlobalClassInitTime()I" since="8" deprecated="23"/>
+		<method name="getGlobalExternalAllocCount()I" deprecated="15"/>
+		<method name="getGlobalExternalAllocSize()I" deprecated="15"/>
+		<method name="getGlobalExternalFreedCount()I" deprecated="15"/>
+		<method name="getGlobalExternalFreedSize()I" deprecated="15"/>
+		<method name="getGlobalFreedCount()I" deprecated="23"/>
+		<method name="getGlobalFreedSize()I" deprecated="23"/>
+		<method name="getGlobalGcInvocationCount()I" deprecated="23"/>
+		<method name="getLoadedClassCount()I"/>
+		<method name="getMemoryInfo(Landroid/os/Debug$MemoryInfo;)V"/>
+		<method name="getNativeHeapAllocatedSize()J"/>
+		<method name="getNativeHeapFreeSize()J"/>
+		<method name="getNativeHeapSize()J"/>
+		<method name="getPss()J" since="14"/>
+		<method name="getRuntimeStat(Ljava/lang/String;)Ljava/lang/String;" since="23"/>
+		<method name="getRuntimeStats()Ljava/util/Map;" since="23"/>
+		<method name="getThreadAllocCount()I" deprecated="23"/>
+		<method name="getThreadAllocSize()I" deprecated="23"/>
+		<method name="getThreadExternalAllocCount()I" deprecated="15"/>
+		<method name="getThreadExternalAllocSize()I" deprecated="15"/>
+		<method name="getThreadGcInvocationCount()I" deprecated="23"/>
+		<method name="isDebuggerConnected()Z"/>
+		<method name="printLoadedClasses(I)V"/>
+		<method name="resetAllCounts()V" deprecated="23"/>
+		<method name="resetGlobalAllocCount()V" deprecated="23"/>
+		<method name="resetGlobalAllocSize()V" deprecated="23"/>
+		<method name="resetGlobalClassInitCount()V" since="8" deprecated="23"/>
+		<method name="resetGlobalClassInitTime()V" since="8" deprecated="23"/>
+		<method name="resetGlobalExternalAllocCount()V" deprecated="15"/>
+		<method name="resetGlobalExternalAllocSize()V" deprecated="15"/>
+		<method name="resetGlobalExternalFreedCount()V" deprecated="15"/>
+		<method name="resetGlobalExternalFreedSize()V" deprecated="15"/>
+		<method name="resetGlobalFreedCount()V" deprecated="23"/>
+		<method name="resetGlobalFreedSize()V" deprecated="23"/>
+		<method name="resetGlobalGcInvocationCount()V" deprecated="23"/>
+		<method name="resetThreadAllocCount()V" deprecated="23"/>
+		<method name="resetThreadAllocSize()V" deprecated="23"/>
+		<method name="resetThreadExternalAllocCount()V" deprecated="15"/>
+		<method name="resetThreadExternalAllocSize()V" deprecated="15"/>
+		<method name="resetThreadGcInvocationCount()V" deprecated="23"/>
+		<method name="setAllocationLimit(I)I" deprecated="15"/>
+		<method name="setGlobalAllocationLimit(I)I" deprecated="15"/>
+		<method name="startAllocCounting()V" deprecated="18"/>
+		<method name="startMethodTracing()V"/>
+		<method name="startMethodTracing(Ljava/lang/String;)V"/>
+		<method name="startMethodTracing(Ljava/lang/String;I)V"/>
+		<method name="startMethodTracing(Ljava/lang/String;II)V"/>
+		<method name="startMethodTracingSampling(Ljava/lang/String;II)V" since="21"/>
+		<method name="startNativeTracing()V"/>
+		<method name="stopAllocCounting()V" deprecated="18"/>
+		<method name="stopMethodTracing()V"/>
+		<method name="stopNativeTracing()V"/>
+		<method name="threadCpuTimeNanos()J"/>
+		<method name="waitForDebugger()V"/>
+		<method name="waitingForDebugger()Z"/>
+		<field name="SHOW_CLASSLOADER"/>
+		<field name="SHOW_FULL_DETAIL"/>
+		<field name="SHOW_INITIALIZED"/>
+		<field name="TRACE_COUNT_ALLOCS" deprecated="23"/>
+	</class>
+	<class name="android/os/Debug$InstructionCount" since="1" deprecated="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="collect()Z" deprecated="29"/>
+		<method name="globalMethodInvocations()I" deprecated="29"/>
+		<method name="globalTotal()I" deprecated="29"/>
+		<method name="resetAndStart()Z" deprecated="29"/>
+	</class>
+	<class name="android/os/Debug$MemoryInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="5"/>
+		<method name="&lt;init>()V"/>
+		<method name="getMemoryStat(Ljava/lang/String;)Ljava/lang/String;" since="23"/>
+		<method name="getMemoryStats()Ljava/util/Map;" since="23"/>
+		<method name="getOtherLabel(I)Ljava/lang/String;" since="14" removed="19"/>
+		<method name="getOtherPrivateDirty(I)I" since="14" removed="19"/>
+		<method name="getOtherPss(I)I" since="14" removed="19"/>
+		<method name="getOtherSharedDirty(I)I" since="14" removed="19"/>
+		<method name="getTotalPrivateClean()I" since="19"/>
+		<method name="getTotalPrivateDirty()I" since="5"/>
+		<method name="getTotalPss()I" since="5"/>
+		<method name="getTotalSharedClean()I" since="19"/>
+		<method name="getTotalSharedDirty()I" since="5"/>
+		<method name="getTotalSwappablePss()I" since="19"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V" since="5"/>
+		<field name="CREATOR" since="5"/>
+		<field name="dalvikPrivateDirty"/>
+		<field name="dalvikPss"/>
+		<field name="dalvikSharedDirty"/>
+		<field name="nativePrivateDirty"/>
+		<field name="nativePss"/>
+		<field name="nativeSharedDirty"/>
+		<field name="otherPrivateDirty"/>
+		<field name="otherPss"/>
+		<field name="otherSharedDirty"/>
+	</class>
+	<class name="android/os/DropBoxManager" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addData(Ljava/lang/String;[BI)V"/>
+		<method name="addFile(Ljava/lang/String;Ljava/io/File;I)V"/>
+		<method name="addText(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;"/>
+		<method name="isTagEnabled(Ljava/lang/String;)Z"/>
+		<field name="ACTION_DROPBOX_ENTRY_ADDED" since="11"/>
+		<field name="EXTRA_DROPPED_COUNT" since="29"/>
+		<field name="EXTRA_TAG" since="11"/>
+		<field name="EXTRA_TIME" since="11"/>
+		<field name="IS_EMPTY"/>
+		<field name="IS_GZIPPED"/>
+		<field name="IS_TEXT"/>
+	</class>
+	<class name="android/os/DropBoxManager$Entry" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/io/Closeable" since="9"/>
+		<method name="&lt;init>(Ljava/lang/String;J)V"/>
+		<method name="&lt;init>(Ljava/lang/String;JLandroid/os/ParcelFileDescriptor;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;JLjava/io/File;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;JLjava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;J[BI)V"/>
+		<method name="close()V"/>
+		<method name="getFlags()I"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getTag()Ljava/lang/String;"/>
+		<method name="getText(I)Ljava/lang/String;"/>
+		<method name="getTimeMillis()J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/Environment" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getDataDirectory()Ljava/io/File;"/>
+		<method name="getDownloadCacheDirectory()Ljava/io/File;"/>
+		<method name="getExternalStorageDirectory()Ljava/io/File;" deprecated="29"/>
+		<method name="getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;" since="8" deprecated="29"/>
+		<method name="getExternalStorageState()Ljava/lang/String;"/>
+		<method name="getExternalStorageState(Ljava/io/File;)Ljava/lang/String;" since="21"/>
+		<method name="getRootDirectory()Ljava/io/File;"/>
+		<method name="getStorageDirectory()Ljava/io/File;" since="30"/>
+		<method name="getStorageState(Ljava/io/File;)Ljava/lang/String;" since="19" deprecated="21"/>
+		<method name="isExternalStorageEmulated()Z" since="11"/>
+		<method name="isExternalStorageEmulated(Ljava/io/File;)Z" since="21"/>
+		<method name="isExternalStorageLegacy()Z" since="29"/>
+		<method name="isExternalStorageLegacy(Ljava/io/File;)Z" since="29"/>
+		<method name="isExternalStorageManager()Z" since="30"/>
+		<method name="isExternalStorageManager(Ljava/io/File;)Z" since="30"/>
+		<method name="isExternalStorageRemovable()Z" since="9"/>
+		<method name="isExternalStorageRemovable(Ljava/io/File;)Z" since="21"/>
+		<field name="DIRECTORY_ALARMS" since="8"/>
+		<field name="DIRECTORY_AUDIOBOOKS" since="29"/>
+		<field name="DIRECTORY_DCIM" since="8"/>
+		<field name="DIRECTORY_DOCUMENTS" since="19"/>
+		<field name="DIRECTORY_DOWNLOADS" since="8"/>
+		<field name="DIRECTORY_MOVIES" since="8"/>
+		<field name="DIRECTORY_MUSIC" since="8"/>
+		<field name="DIRECTORY_NOTIFICATIONS" since="8"/>
+		<field name="DIRECTORY_PICTURES" since="8"/>
+		<field name="DIRECTORY_PODCASTS" since="8"/>
+		<field name="DIRECTORY_RECORDINGS" since="31"/>
+		<field name="DIRECTORY_RINGTONES" since="8"/>
+		<field name="DIRECTORY_SCREENSHOTS" since="29"/>
+		<field name="MEDIA_BAD_REMOVAL"/>
+		<field name="MEDIA_CHECKING" since="3"/>
+		<field name="MEDIA_EJECTING" since="23"/>
+		<field name="MEDIA_MOUNTED"/>
+		<field name="MEDIA_MOUNTED_READ_ONLY"/>
+		<field name="MEDIA_NOFS" since="3"/>
+		<field name="MEDIA_REMOVED"/>
+		<field name="MEDIA_SHARED"/>
+		<field name="MEDIA_UNKNOWN" since="19"/>
+		<field name="MEDIA_UNMOUNTABLE"/>
+		<field name="MEDIA_UNMOUNTED"/>
+	</class>
+	<class name="android/os/FileObserver" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/io/File;)V" since="29"/>
+		<method name="&lt;init>(Ljava/io/File;I)V" since="29"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/util/List;)V" since="29"/>
+		<method name="&lt;init>(Ljava/util/List;I)V" since="29"/>
+		<method name="onEvent(ILjava/lang/String;)V"/>
+		<method name="startWatching()V"/>
+		<method name="stopWatching()V"/>
+		<field name="ACCESS"/>
+		<field name="ALL_EVENTS"/>
+		<field name="ATTRIB"/>
+		<field name="CLOSE_NOWRITE"/>
+		<field name="CLOSE_WRITE"/>
+		<field name="CREATE"/>
+		<field name="DELETE"/>
+		<field name="DELETE_SELF"/>
+		<field name="MODIFY"/>
+		<field name="MOVED_FROM"/>
+		<field name="MOVED_TO"/>
+		<field name="MOVE_SELF"/>
+		<field name="OPEN"/>
+	</class>
+	<class name="android/os/FileUriExposedException" since="24">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/os/FileUtils" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="closeQuietly(Ljava/io/FileDescriptor;)V" deprecated="30"/>
+		<method name="closeQuietly(Ljava/lang/AutoCloseable;)V" deprecated="30"/>
+		<method name="copy(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)J"/>
+		<method name="copy(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/os/FileUtils$ProgressListener;)J"/>
+		<method name="copy(Ljava/io/InputStream;Ljava/io/OutputStream;)J"/>
+		<method name="copy(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/os/FileUtils$ProgressListener;)J"/>
+	</class>
+	<class name="android/os/FileUtils$ProgressListener" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onProgress(J)V"/>
+	</class>
+	<class name="android/os/Handler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="&lt;init>(Landroid/os/Handler$Callback;)V" since="3" deprecated="30"/>
+		<method name="&lt;init>(Landroid/os/Looper;)V"/>
+		<method name="&lt;init>(Landroid/os/Looper;Landroid/os/Handler$Callback;)V" since="3"/>
+		<method name="createAsync(Landroid/os/Looper;)Landroid/os/Handler;" since="28"/>
+		<method name="createAsync(Landroid/os/Looper;Landroid/os/Handler$Callback;)Landroid/os/Handler;" since="28"/>
+		<method name="dispatchMessage(Landroid/os/Message;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getLooper()Landroid/os/Looper;"/>
+		<method name="getMessageName(Landroid/os/Message;)Ljava/lang/String;" since="14"/>
+		<method name="handleMessage(Landroid/os/Message;)V"/>
+		<method name="hasCallbacks(Ljava/lang/Runnable;)Z" since="29"/>
+		<method name="hasMessages(I)Z"/>
+		<method name="hasMessages(ILjava/lang/Object;)Z"/>
+		<method name="obtainMessage()Landroid/os/Message;"/>
+		<method name="obtainMessage(I)Landroid/os/Message;"/>
+		<method name="obtainMessage(III)Landroid/os/Message;"/>
+		<method name="obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;"/>
+		<method name="obtainMessage(ILjava/lang/Object;)Landroid/os/Message;"/>
+		<method name="post(Ljava/lang/Runnable;)Z"/>
+		<method name="postAtFrontOfQueue(Ljava/lang/Runnable;)Z"/>
+		<method name="postAtTime(Ljava/lang/Runnable;J)Z"/>
+		<method name="postAtTime(Ljava/lang/Runnable;Ljava/lang/Object;J)Z"/>
+		<method name="postDelayed(Ljava/lang/Runnable;J)Z"/>
+		<method name="postDelayed(Ljava/lang/Runnable;Ljava/lang/Object;J)Z" since="28"/>
+		<method name="removeCallbacks(Ljava/lang/Runnable;)V"/>
+		<method name="removeCallbacks(Ljava/lang/Runnable;Ljava/lang/Object;)V"/>
+		<method name="removeCallbacksAndMessages(Ljava/lang/Object;)V"/>
+		<method name="removeMessages(I)V"/>
+		<method name="removeMessages(ILjava/lang/Object;)V"/>
+		<method name="sendEmptyMessage(I)Z"/>
+		<method name="sendEmptyMessageAtTime(IJ)Z"/>
+		<method name="sendEmptyMessageDelayed(IJ)Z"/>
+		<method name="sendMessage(Landroid/os/Message;)Z"/>
+		<method name="sendMessageAtFrontOfQueue(Landroid/os/Message;)Z"/>
+		<method name="sendMessageAtTime(Landroid/os/Message;J)Z"/>
+		<method name="sendMessageDelayed(Landroid/os/Message;J)Z"/>
+	</class>
+	<class name="android/os/Handler$Callback" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="handleMessage(Landroid/os/Message;)Z"/>
+	</class>
+	<class name="android/os/HandlerThread" since="1">
+		<extends name="java/lang/Thread"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="getLooper()Landroid/os/Looper;"/>
+		<method name="getThreadId()I"/>
+		<method name="onLooperPrepared()V"/>
+		<method name="quit()Z" since="5"/>
+		<method name="quitSafely()Z" since="18"/>
+	</class>
+	<class name="android/os/HardwarePropertiesManager" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getCpuUsages()[Landroid/os/CpuUsageInfo;"/>
+		<method name="getDeviceTemperatures(II)[F"/>
+		<method name="getFanSpeeds()[F"/>
+		<field name="DEVICE_TEMPERATURE_BATTERY"/>
+		<field name="DEVICE_TEMPERATURE_CPU"/>
+		<field name="DEVICE_TEMPERATURE_GPU"/>
+		<field name="DEVICE_TEMPERATURE_SKIN"/>
+		<field name="TEMPERATURE_CURRENT"/>
+		<field name="TEMPERATURE_SHUTDOWN"/>
+		<field name="TEMPERATURE_THROTTLING"/>
+		<field name="TEMPERATURE_THROTTLING_BELOW_VR_MIN"/>
+		<field name="UNDEFINED_TEMPERATURE"/>
+	</class>
+	<class name="android/os/IBinder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="dump(Ljava/io/FileDescriptor;[Ljava/lang/String;)V" since="3"/>
+		<method name="dumpAsync(Ljava/io/FileDescriptor;[Ljava/lang/String;)V" since="13"/>
+		<method name="getInterfaceDescriptor()Ljava/lang/String;"/>
+		<method name="getSuggestedMaxIpcSizeBytes()I" since="30"/>
+		<method name="isBinderAlive()Z"/>
+		<method name="linkToDeath(Landroid/os/IBinder$DeathRecipient;I)V"/>
+		<method name="pingBinder()Z"/>
+		<method name="queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;"/>
+		<method name="transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z"/>
+		<method name="unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)Z"/>
+		<field name="DUMP_TRANSACTION"/>
+		<field name="FIRST_CALL_TRANSACTION"/>
+		<field name="FLAG_ONEWAY"/>
+		<field name="INTERFACE_TRANSACTION"/>
+		<field name="LAST_CALL_TRANSACTION"/>
+		<field name="LIKE_TRANSACTION" since="15"/>
+		<field name="PING_TRANSACTION"/>
+		<field name="TWEET_TRANSACTION" since="13"/>
+	</class>
+	<class name="android/os/IBinder$DeathRecipient" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="binderDied()V"/>
+	</class>
+	<class name="android/os/IInterface" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="asBinder()Landroid/os/IBinder;"/>
+	</class>
+	<class name="android/os/LimitExceededException" since="30">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/os/LocaleList" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>([Ljava/util/Locale;)V"/>
+		<method name="forLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList;"/>
+		<method name="get(I)Ljava/util/Locale;"/>
+		<method name="getAdjustedDefault()Landroid/os/LocaleList;"/>
+		<method name="getDefault()Landroid/os/LocaleList;"/>
+		<method name="getEmptyLocaleList()Landroid/os/LocaleList;"/>
+		<method name="getFirstMatch([Ljava/lang/String;)Ljava/util/Locale;"/>
+		<method name="indexOf(Ljava/util/Locale;)I"/>
+		<method name="isEmpty()Z"/>
+		<method name="isPseudoLocale(Landroid/icu/util/ULocale;)Z" since="29"/>
+		<method name="setDefault(Landroid/os/LocaleList;)V"/>
+		<method name="size()I"/>
+		<method name="toLanguageTags()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/Looper" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getMainLooper()Landroid/os/Looper;"/>
+		<method name="getQueue()Landroid/os/MessageQueue;" since="23"/>
+		<method name="getThread()Ljava/lang/Thread;" since="3"/>
+		<method name="isCurrentThread()Z" since="23"/>
+		<method name="loop()V"/>
+		<method name="myLooper()Landroid/os/Looper;"/>
+		<method name="myQueue()Landroid/os/MessageQueue;"/>
+		<method name="prepare()V"/>
+		<method name="prepareMainLooper()V" deprecated="30"/>
+		<method name="quit()V"/>
+		<method name="quitSafely()V" since="18"/>
+		<method name="setMessageLogging(Landroid/util/Printer;)V"/>
+	</class>
+	<class name="android/os/MemoryFile" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="allowPurging(Z)Z" deprecated="27"/>
+		<method name="close()V"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getOutputStream()Ljava/io/OutputStream;"/>
+		<method name="isPurgingAllowed()Z" deprecated="27"/>
+		<method name="length()I"/>
+		<method name="readBytes([BIII)I"/>
+		<method name="writeBytes([BIII)V"/>
+	</class>
+	<class name="android/os/Message" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="copyFrom(Landroid/os/Message;)V"/>
+		<method name="getCallback()Ljava/lang/Runnable;"/>
+		<method name="getData()Landroid/os/Bundle;"/>
+		<method name="getTarget()Landroid/os/Handler;"/>
+		<method name="getWhen()J"/>
+		<method name="isAsynchronous()Z" since="22"/>
+		<method name="obtain()Landroid/os/Message;"/>
+		<method name="obtain(Landroid/os/Handler;)Landroid/os/Message;"/>
+		<method name="obtain(Landroid/os/Handler;I)Landroid/os/Message;"/>
+		<method name="obtain(Landroid/os/Handler;III)Landroid/os/Message;"/>
+		<method name="obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;"/>
+		<method name="obtain(Landroid/os/Handler;ILjava/lang/Object;)Landroid/os/Message;"/>
+		<method name="obtain(Landroid/os/Handler;Ljava/lang/Runnable;)Landroid/os/Message;"/>
+		<method name="obtain(Landroid/os/Message;)Landroid/os/Message;"/>
+		<method name="peekData()Landroid/os/Bundle;"/>
+		<method name="recycle()V"/>
+		<method name="sendToTarget()V"/>
+		<method name="setAsynchronous(Z)V" since="22"/>
+		<method name="setData(Landroid/os/Bundle;)V"/>
+		<method name="setTarget(Landroid/os/Handler;)V"/>
+		<field name="CREATOR"/>
+		<field name="arg1"/>
+		<field name="arg2"/>
+		<field name="obj"/>
+		<field name="replyTo"/>
+		<field name="sendingUid" since="21"/>
+		<field name="what"/>
+	</class>
+	<class name="android/os/MessageQueue" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addIdleHandler(Landroid/os/MessageQueue$IdleHandler;)V"/>
+		<method name="addOnFileDescriptorEventListener(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V" since="23"/>
+		<method name="isIdle()Z" since="23"/>
+		<method name="removeIdleHandler(Landroid/os/MessageQueue$IdleHandler;)V"/>
+		<method name="removeOnFileDescriptorEventListener(Ljava/io/FileDescriptor;)V" since="23"/>
+	</class>
+	<class name="android/os/MessageQueue$IdleHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="queueIdle()Z"/>
+	</class>
+	<class name="android/os/MessageQueue$OnFileDescriptorEventListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onFileDescriptorEvents(Ljava/io/FileDescriptor;I)I"/>
+		<field name="EVENT_ERROR"/>
+		<field name="EVENT_INPUT"/>
+		<field name="EVENT_OUTPUT"/>
+	</class>
+	<class name="android/os/Messenger" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Handler;)V"/>
+		<method name="&lt;init>(Landroid/os/IBinder;)V"/>
+		<method name="getBinder()Landroid/os/IBinder;"/>
+		<method name="readMessengerOrNullFromParcel(Landroid/os/Parcel;)Landroid/os/Messenger;"/>
+		<method name="send(Landroid/os/Message;)V"/>
+		<method name="writeMessengerOrNullToParcel(Landroid/os/Messenger;Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/NetworkOnMainThreadException" since="11">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/os/OperationCanceledException" since="16">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/os/OutcomeReceiver" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onError(Ljava/lang/Throwable;)V"/>
+		<method name="onResult(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/os/Parcel" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="appendFrom(Landroid/os/Parcel;II)V"/>
+		<method name="createBinderArray()[Landroid/os/IBinder;"/>
+		<method name="createBinderArrayList()Ljava/util/ArrayList;"/>
+		<method name="createBooleanArray()[Z"/>
+		<method name="createByteArray()[B"/>
+		<method name="createCharArray()[C"/>
+		<method name="createDoubleArray()[D"/>
+		<method name="createFloatArray()[F"/>
+		<method name="createIntArray()[I"/>
+		<method name="createLongArray()[J"/>
+		<method name="createStringArray()[Ljava/lang/String;"/>
+		<method name="createStringArrayList()Ljava/util/ArrayList;"/>
+		<method name="createTypedArray(Landroid/os/Parcelable$Creator;)[Ljava/lang/Object;"/>
+		<method name="createTypedArrayList(Landroid/os/Parcelable$Creator;)Ljava/util/ArrayList;"/>
+		<method name="createTypedArrayMap(Landroid/os/Parcelable$Creator;)Landroid/util/ArrayMap;" since="29"/>
+		<method name="createTypedSparseArray(Landroid/os/Parcelable$Creator;)Landroid/util/SparseArray;" since="29"/>
+		<method name="dataAvail()I"/>
+		<method name="dataCapacity()I"/>
+		<method name="dataPosition()I"/>
+		<method name="dataSize()I"/>
+		<method name="enforceInterface(Ljava/lang/String;)V"/>
+		<method name="hasFileDescriptors()Z"/>
+		<method name="marshall()[B"/>
+		<method name="obtain()Landroid/os/Parcel;"/>
+		<method name="obtain(I)Landroid/os/Parcel;" removed="21"/>
+		<method name="readArray(Ljava/lang/ClassLoader;)[Ljava/lang/Object;"/>
+		<method name="readArrayList(Ljava/lang/ClassLoader;)Ljava/util/ArrayList;"/>
+		<method name="readBinderArray([Landroid/os/IBinder;)V"/>
+		<method name="readBinderList(Ljava/util/List;)V"/>
+		<method name="readBoolean()Z" since="29"/>
+		<method name="readBooleanArray([Z)V"/>
+		<method name="readBundle()Landroid/os/Bundle;"/>
+		<method name="readBundle(Ljava/lang/ClassLoader;)Landroid/os/Bundle;"/>
+		<method name="readByte()B"/>
+		<method name="readByteArray([B)V"/>
+		<method name="readCharArray([C)V"/>
+		<method name="readDouble()D"/>
+		<method name="readDoubleArray([D)V"/>
+		<method name="readException()V"/>
+		<method name="readException(ILjava/lang/String;)V"/>
+		<method name="readFileDescriptor()Landroid/os/ParcelFileDescriptor;"/>
+		<method name="readFloat()F"/>
+		<method name="readFloatArray([F)V"/>
+		<method name="readHashMap(Ljava/lang/ClassLoader;)Ljava/util/HashMap;"/>
+		<method name="readInt()I"/>
+		<method name="readIntArray([I)V"/>
+		<method name="readList(Ljava/util/List;Ljava/lang/ClassLoader;)V"/>
+		<method name="readLong()J"/>
+		<method name="readLongArray([J)V"/>
+		<method name="readMap(Ljava/util/Map;Ljava/lang/ClassLoader;)V"/>
+		<method name="readParcelable(Ljava/lang/ClassLoader;)Landroid/os/Parcelable;"/>
+		<method name="readParcelableArray(Ljava/lang/ClassLoader;)[Landroid/os/Parcelable;"/>
+		<method name="readParcelableCreator(Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator;" since="30"/>
+		<method name="readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List;" since="29"/>
+		<method name="readPersistableBundle()Landroid/os/PersistableBundle;" since="21"/>
+		<method name="readPersistableBundle(Ljava/lang/ClassLoader;)Landroid/os/PersistableBundle;" since="21"/>
+		<method name="readSerializable()Ljava/io/Serializable;"/>
+		<method name="readSize()Landroid/util/Size;" since="21"/>
+		<method name="readSizeF()Landroid/util/SizeF;" since="21"/>
+		<method name="readSparseArray(Ljava/lang/ClassLoader;)Landroid/util/SparseArray;"/>
+		<method name="readSparseBooleanArray()Landroid/util/SparseBooleanArray;"/>
+		<method name="readString()Ljava/lang/String;"/>
+		<method name="readStringArray([Ljava/lang/String;)V"/>
+		<method name="readStringList(Ljava/util/List;)V"/>
+		<method name="readStrongBinder()Landroid/os/IBinder;"/>
+		<method name="readTypedArray([Ljava/lang/Object;Landroid/os/Parcelable$Creator;)V"/>
+		<method name="readTypedList(Ljava/util/List;Landroid/os/Parcelable$Creator;)V"/>
+		<method name="readTypedObject(Landroid/os/Parcelable$Creator;)Ljava/lang/Object;" since="23"/>
+		<method name="readValue(Ljava/lang/ClassLoader;)Ljava/lang/Object;"/>
+		<method name="recycle()V"/>
+		<method name="setDataCapacity(I)V"/>
+		<method name="setDataPosition(I)V"/>
+		<method name="setDataSize(I)V"/>
+		<method name="unmarshall([BII)V"/>
+		<method name="writeArray([Ljava/lang/Object;)V"/>
+		<method name="writeBinderArray([Landroid/os/IBinder;)V"/>
+		<method name="writeBinderList(Ljava/util/List;)V"/>
+		<method name="writeBoolean(Z)V" since="29"/>
+		<method name="writeBooleanArray([Z)V"/>
+		<method name="writeBundle(Landroid/os/Bundle;)V"/>
+		<method name="writeByte(B)V"/>
+		<method name="writeByteArray([B)V"/>
+		<method name="writeByteArray([BII)V"/>
+		<method name="writeCharArray([C)V"/>
+		<method name="writeDouble(D)V"/>
+		<method name="writeDoubleArray([D)V"/>
+		<method name="writeException(Ljava/lang/Exception;)V"/>
+		<method name="writeFileDescriptor(Ljava/io/FileDescriptor;)V"/>
+		<method name="writeFloat(F)V"/>
+		<method name="writeFloatArray([F)V"/>
+		<method name="writeInt(I)V"/>
+		<method name="writeIntArray([I)V"/>
+		<method name="writeInterfaceToken(Ljava/lang/String;)V"/>
+		<method name="writeList(Ljava/util/List;)V"/>
+		<method name="writeLong(J)V"/>
+		<method name="writeLongArray([J)V"/>
+		<method name="writeMap(Ljava/util/Map;)V"/>
+		<method name="writeNoException()V"/>
+		<method name="writeParcelable(Landroid/os/Parcelable;I)V"/>
+		<method name="writeParcelableArray([Landroid/os/Parcelable;I)V"/>
+		<method name="writeParcelableCreator(Landroid/os/Parcelable;)V" since="30"/>
+		<method name="writeParcelableList(Ljava/util/List;I)V" since="29"/>
+		<method name="writePersistableBundle(Landroid/os/PersistableBundle;)V" since="21"/>
+		<method name="writeSerializable(Ljava/io/Serializable;)V"/>
+		<method name="writeSize(Landroid/util/Size;)V" since="21"/>
+		<method name="writeSizeF(Landroid/util/SizeF;)V" since="21"/>
+		<method name="writeSparseArray(Landroid/util/SparseArray;)V"/>
+		<method name="writeSparseBooleanArray(Landroid/util/SparseBooleanArray;)V"/>
+		<method name="writeString(Ljava/lang/String;)V"/>
+		<method name="writeStringArray([Ljava/lang/String;)V"/>
+		<method name="writeStringList(Ljava/util/List;)V"/>
+		<method name="writeStrongBinder(Landroid/os/IBinder;)V"/>
+		<method name="writeStrongInterface(Landroid/os/IInterface;)V"/>
+		<method name="writeTypedArray([Landroid/os/Parcelable;I)V"/>
+		<method name="writeTypedArrayMap(Landroid/util/ArrayMap;I)V" since="29"/>
+		<method name="writeTypedList(Ljava/util/List;)V"/>
+		<method name="writeTypedObject(Landroid/os/Parcelable;I)V" since="23"/>
+		<method name="writeTypedSparseArray(Landroid/util/SparseArray;I)V" since="29"/>
+		<method name="writeValue(Ljava/lang/Object;)V"/>
+		<field name="STRING_CREATOR"/>
+	</class>
+	<class name="android/os/ParcelFileDescriptor" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/io/Closeable" since="16"/>
+		<method name="&lt;init>(Landroid/os/ParcelFileDescriptor;)V"/>
+		<method name="adoptFd(I)Landroid/os/ParcelFileDescriptor;" since="13"/>
+		<method name="canDetectErrors()Z" since="19"/>
+		<method name="checkError()V" since="19"/>
+		<method name="close()V"/>
+		<method name="closeWithError(Ljava/lang/String;)V" since="19"/>
+		<method name="createPipe()[Landroid/os/ParcelFileDescriptor;" since="9"/>
+		<method name="createReliablePipe()[Landroid/os/ParcelFileDescriptor;" since="19"/>
+		<method name="createReliableSocketPair()[Landroid/os/ParcelFileDescriptor;" since="19"/>
+		<method name="createSocketPair()[Landroid/os/ParcelFileDescriptor;" since="19"/>
+		<method name="detachFd()I" since="12"/>
+		<method name="dup()Landroid/os/ParcelFileDescriptor;" since="14"/>
+		<method name="dup(Ljava/io/FileDescriptor;)Landroid/os/ParcelFileDescriptor;" since="13"/>
+		<method name="fromDatagramSocket(Ljava/net/DatagramSocket;)Landroid/os/ParcelFileDescriptor;" since="14"/>
+		<method name="fromFd(I)Landroid/os/ParcelFileDescriptor;" since="13"/>
+		<method name="fromSocket(Ljava/net/Socket;)Landroid/os/ParcelFileDescriptor;"/>
+		<method name="getFd()I" since="12"/>
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;"/>
+		<method name="getStatSize()J" since="3"/>
+		<method name="open(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;"/>
+		<method name="open(Ljava/io/File;ILandroid/os/Handler;Landroid/os/ParcelFileDescriptor$OnCloseListener;)Landroid/os/ParcelFileDescriptor;" since="19"/>
+		<method name="parseMode(Ljava/lang/String;)I" since="19"/>
+		<method name="wrap(Landroid/os/ParcelFileDescriptor;Landroid/os/Handler;Landroid/os/ParcelFileDescriptor$OnCloseListener;)Landroid/os/ParcelFileDescriptor;" since="30"/>
+		<field name="CREATOR"/>
+		<field name="MODE_APPEND" since="3"/>
+		<field name="MODE_CREATE"/>
+		<field name="MODE_READ_ONLY"/>
+		<field name="MODE_READ_WRITE"/>
+		<field name="MODE_TRUNCATE"/>
+		<field name="MODE_WORLD_READABLE" deprecated="19"/>
+		<field name="MODE_WORLD_WRITEABLE" deprecated="19"/>
+		<field name="MODE_WRITE_ONLY"/>
+	</class>
+	<class name="android/os/ParcelFileDescriptor$AutoCloseInputStream" since="1">
+		<extends name="java/io/FileInputStream"/>
+		<method name="&lt;init>(Landroid/os/ParcelFileDescriptor;)V"/>
+	</class>
+	<class name="android/os/ParcelFileDescriptor$AutoCloseOutputStream" since="1">
+		<extends name="java/io/FileOutputStream"/>
+		<method name="&lt;init>(Landroid/os/ParcelFileDescriptor;)V"/>
+	</class>
+	<class name="android/os/ParcelFileDescriptor$FileDescriptorDetachedException" since="19">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/os/ParcelFileDescriptor$OnCloseListener" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="onClose(Ljava/io/IOException;)V"/>
+	</class>
+	<class name="android/os/ParcelFormatException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/os/ParcelUuid" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/util/UUID;)V"/>
+		<method name="fromString(Ljava/lang/String;)Landroid/os/ParcelUuid;"/>
+		<method name="getUuid()Ljava/util/UUID;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/Parcelable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="describeContents()I"/>
+		<method name="writeToParcel(Landroid/os/Parcel;I)V"/>
+		<field name="CONTENTS_FILE_DESCRIPTOR"/>
+		<field name="PARCELABLE_WRITE_RETURN_VALUE"/>
+	</class>
+	<class name="android/os/Parcelable$ClassLoaderCreator" since="13">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable$Creator"/>
+		<method name="createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object;"/>
+	</class>
+	<class name="android/os/Parcelable$Creator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;"/>
+		<method name="newArray(I)[Ljava/lang/Object;"/>
+	</class>
+	<class name="android/os/PatternMatcher" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="getPath()Ljava/lang/String;"/>
+		<method name="getType()I"/>
+		<method name="match(Ljava/lang/String;)Z"/>
+		<field name="CREATOR"/>
+		<field name="PATTERN_ADVANCED_GLOB" since="26"/>
+		<field name="PATTERN_LITERAL"/>
+		<field name="PATTERN_PREFIX"/>
+		<field name="PATTERN_SIMPLE_GLOB"/>
+		<field name="PATTERN_SUFFIX" since="31"/>
+	</class>
+	<class name="android/os/PerformanceHintManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="createHintSession([IJ)Landroid/os/PerformanceHintManager$Session;"/>
+		<method name="getPreferredUpdateRateNanos()J"/>
+	</class>
+	<class name="android/os/PerformanceHintManager$Session" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="reportActualWorkDuration(J)V"/>
+		<method name="updateTargetWorkDuration(J)V"/>
+	</class>
+	<class name="android/os/PersistableBundle" since="21">
+		<extends name="android/os/BaseBundle"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/os/PersistableBundle;)V"/>
+		<method name="deepCopy()Landroid/os/PersistableBundle;" since="26"/>
+		<method name="getPersistableBundle(Ljava/lang/String;)Landroid/os/PersistableBundle;"/>
+		<method name="putPersistableBundle(Ljava/lang/String;Landroid/os/PersistableBundle;)V"/>
+		<method name="readFromStream(Ljava/io/InputStream;)Landroid/os/PersistableBundle;" since="30"/>
+		<method name="writeToStream(Ljava/io/OutputStream;)V" since="30"/>
+		<field name="CREATOR"/>
+		<field name="EMPTY"/>
+	</class>
+	<class name="android/os/PowerManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addThermalStatusListener(Landroid/os/PowerManager$OnThermalStatusChangedListener;)V" since="29"/>
+		<method name="addThermalStatusListener(Ljava/util/concurrent/Executor;Landroid/os/PowerManager$OnThermalStatusChangedListener;)V" since="29"/>
+		<method name="getBatteryDischargePrediction()Ljava/time/Duration;" since="31"/>
+		<method name="getCurrentThermalStatus()I" since="29"/>
+		<method name="getLocationPowerSaveMode()I" since="28"/>
+		<method name="getThermalHeadroom(I)F" since="30"/>
+		<method name="goToSleep(J)V" removed="21"/>
+		<method name="isBatteryDischargePredictionPersonalized()Z" since="31"/>
+		<method name="isDeviceIdleMode()Z" since="23"/>
+		<method name="isIgnoringBatteryOptimizations(Ljava/lang/String;)Z" since="23"/>
+		<method name="isInteractive()Z" since="20"/>
+		<method name="isPowerSaveMode()Z" since="21"/>
+		<method name="isRebootingUserspaceSupported()Z" since="30"/>
+		<method name="isScreenOn()Z" since="7" deprecated="20"/>
+		<method name="isSustainedPerformanceModeSupported()Z" since="24"/>
+		<method name="isWakeLockLevelSupported(I)Z" since="21"/>
+		<method name="newWakeLock(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;"/>
+		<method name="reboot(Ljava/lang/String;)V" since="8"/>
+		<method name="removeThermalStatusListener(Landroid/os/PowerManager$OnThermalStatusChangedListener;)V" since="29"/>
+		<method name="userActivity(JZ)V" removed="21"/>
+		<method name="wakeUp(J)V" since="17" removed="21"/>
+		<field name="ACQUIRE_CAUSES_WAKEUP"/>
+		<field name="ACTION_DEVICE_IDLE_MODE_CHANGED" since="23"/>
+		<field name="ACTION_POWER_SAVE_MODE_CHANGED" since="21"/>
+		<field name="FULL_WAKE_LOCK" deprecated="17"/>
+		<field name="LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF" since="28"/>
+		<field name="LOCATION_MODE_FOREGROUND_ONLY" since="28"/>
+		<field name="LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF" since="28"/>
+		<field name="LOCATION_MODE_NO_CHANGE" since="28"/>
+		<field name="LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF" since="29"/>
+		<field name="ON_AFTER_RELEASE"/>
+		<field name="PARTIAL_WAKE_LOCK"/>
+		<field name="PROXIMITY_SCREEN_OFF_WAKE_LOCK" since="21"/>
+		<field name="RELEASE_FLAG_WAIT_FOR_NO_PROXIMITY" since="21"/>
+		<field name="SCREEN_BRIGHT_WAKE_LOCK" deprecated="15"/>
+		<field name="SCREEN_DIM_WAKE_LOCK" deprecated="17"/>
+		<field name="THERMAL_STATUS_CRITICAL" since="29"/>
+		<field name="THERMAL_STATUS_EMERGENCY" since="29"/>
+		<field name="THERMAL_STATUS_LIGHT" since="29"/>
+		<field name="THERMAL_STATUS_MODERATE" since="29"/>
+		<field name="THERMAL_STATUS_NONE" since="29"/>
+		<field name="THERMAL_STATUS_SEVERE" since="29"/>
+		<field name="THERMAL_STATUS_SHUTDOWN" since="29"/>
+	</class>
+	<class name="android/os/PowerManager$OnThermalStatusChangedListener" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onThermalStatusChanged(I)V"/>
+	</class>
+	<class name="android/os/PowerManager$WakeLock" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="acquire()V"/>
+		<method name="acquire(J)V"/>
+		<method name="isHeld()Z"/>
+		<method name="release()V"/>
+		<method name="release(I)V" since="21"/>
+		<method name="setReferenceCounted(Z)V"/>
+		<method name="setWorkSource(Landroid/os/WorkSource;)V" since="9"/>
+	</class>
+	<class name="android/os/Process" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getElapsedCpuTime()J"/>
+		<method name="getExclusiveCores()[I" since="24"/>
+		<method name="getGidForName(Ljava/lang/String;)I"/>
+		<method name="getStartElapsedRealtime()J" since="24"/>
+		<method name="getStartUptimeMillis()J" since="24"/>
+		<method name="getThreadPriority(I)I"/>
+		<method name="getUidForName(Ljava/lang/String;)I"/>
+		<method name="is64Bit()Z" since="23"/>
+		<method name="isApplicationUid(I)Z" since="24"/>
+		<method name="isIsolated()Z" since="28"/>
+		<method name="killProcess(I)V"/>
+		<method name="myPid()I"/>
+		<method name="myTid()I"/>
+		<method name="myUid()I" since="2"/>
+		<method name="myUserHandle()Landroid/os/UserHandle;" since="17"/>
+		<method name="sendSignal(II)V"/>
+		<method name="setThreadPriority(I)V"/>
+		<method name="setThreadPriority(II)V"/>
+		<method name="supportsProcesses()Z" deprecated="15"/>
+		<field name="BLUETOOTH_GID" removed="18"/>
+		<field name="BLUETOOTH_UID" since="29"/>
+		<field name="FIRST_APPLICATION_UID"/>
+		<field name="INVALID_UID" since="29"/>
+		<field name="LAST_APPLICATION_UID"/>
+		<field name="PHONE_UID"/>
+		<field name="ROOT_UID" since="29"/>
+		<field name="SHELL_UID" since="29"/>
+		<field name="SIGNAL_KILL"/>
+		<field name="SIGNAL_QUIT"/>
+		<field name="SIGNAL_USR1"/>
+		<field name="SYSTEM_UID"/>
+		<field name="THREAD_PRIORITY_AUDIO"/>
+		<field name="THREAD_PRIORITY_BACKGROUND"/>
+		<field name="THREAD_PRIORITY_DEFAULT"/>
+		<field name="THREAD_PRIORITY_DISPLAY"/>
+		<field name="THREAD_PRIORITY_FOREGROUND"/>
+		<field name="THREAD_PRIORITY_LESS_FAVORABLE"/>
+		<field name="THREAD_PRIORITY_LOWEST"/>
+		<field name="THREAD_PRIORITY_MORE_FAVORABLE"/>
+		<field name="THREAD_PRIORITY_URGENT_AUDIO"/>
+		<field name="THREAD_PRIORITY_URGENT_DISPLAY"/>
+		<field name="THREAD_PRIORITY_VIDEO" since="28"/>
+		<field name="WIFI_UID" since="30"/>
+	</class>
+	<class name="android/os/ProxyFileDescriptorCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onFsync()V"/>
+		<method name="onGetSize()J"/>
+		<method name="onRead(JI[B)I"/>
+		<method name="onRelease()V"/>
+		<method name="onWrite(JI[B)I"/>
+	</class>
+	<class name="android/os/RecoverySystem" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="23"/>
+		<method name="installPackage(Landroid/content/Context;Ljava/io/File;)V"/>
+		<method name="rebootWipeCache(Landroid/content/Context;)V" since="14"/>
+		<method name="rebootWipeUserData(Landroid/content/Context;)V"/>
+		<method name="verifyPackage(Ljava/io/File;Landroid/os/RecoverySystem$ProgressListener;Ljava/io/File;)V"/>
+	</class>
+	<class name="android/os/RecoverySystem$ProgressListener" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="onProgress(I)V"/>
+	</class>
+	<class name="android/os/RemoteCallbackList" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="beginBroadcast()I"/>
+		<method name="finishBroadcast()V"/>
+		<method name="getBroadcastCookie(I)Ljava/lang/Object;" since="4"/>
+		<method name="getBroadcastItem(I)Landroid/os/IInterface;"/>
+		<method name="getRegisteredCallbackCookie(I)Ljava/lang/Object;" since="26"/>
+		<method name="getRegisteredCallbackCount()I" since="17"/>
+		<method name="getRegisteredCallbackItem(I)Landroid/os/IInterface;" since="26"/>
+		<method name="kill()V"/>
+		<method name="onCallbackDied(Landroid/os/IInterface;)V"/>
+		<method name="onCallbackDied(Landroid/os/IInterface;Ljava/lang/Object;)V" since="4"/>
+		<method name="register(Landroid/os/IInterface;)Z"/>
+		<method name="register(Landroid/os/IInterface;Ljava/lang/Object;)Z" since="4"/>
+		<method name="unregister(Landroid/os/IInterface;)Z"/>
+	</class>
+	<class name="android/os/RemoteException" since="1">
+		<extends name="android/util/AndroidException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" since="15"/>
+		<method name="rethrowAsRuntimeException()Ljava/lang/RuntimeException;" since="30"/>
+		<method name="rethrowFromSystemServer()Ljava/lang/RuntimeException;" since="30"/>
+	</class>
+	<class name="android/os/ResultReceiver" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Handler;)V"/>
+		<method name="onReceiveResult(ILandroid/os/Bundle;)V"/>
+		<method name="send(ILandroid/os/Bundle;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/SharedMemory" since="27">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/io/Closeable"/>
+		<method name="create(Ljava/lang/String;I)Landroid/os/SharedMemory;"/>
+		<method name="getSize()I"/>
+		<method name="map(III)Ljava/nio/ByteBuffer;"/>
+		<method name="mapReadOnly()Ljava/nio/ByteBuffer;"/>
+		<method name="mapReadWrite()Ljava/nio/ByteBuffer;"/>
+		<method name="setProtect(I)Z"/>
+		<method name="unmap(Ljava/nio/ByteBuffer;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/StatFs" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getAvailableBlocks()I" deprecated="18"/>
+		<method name="getAvailableBlocksLong()J" since="18"/>
+		<method name="getAvailableBytes()J" since="18"/>
+		<method name="getBlockCount()I" deprecated="18"/>
+		<method name="getBlockCountLong()J" since="18"/>
+		<method name="getBlockSize()I" deprecated="18"/>
+		<method name="getBlockSizeLong()J" since="18"/>
+		<method name="getFreeBlocks()I" deprecated="18"/>
+		<method name="getFreeBlocksLong()J" since="18"/>
+		<method name="getFreeBytes()J" since="18"/>
+		<method name="getTotalBytes()J" since="18"/>
+		<method name="restat(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/os/StrictMode" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="allowThreadDiskReads()Landroid/os/StrictMode$ThreadPolicy;"/>
+		<method name="allowThreadDiskWrites()Landroid/os/StrictMode$ThreadPolicy;"/>
+		<method name="enableDefaults()V"/>
+		<method name="getThreadPolicy()Landroid/os/StrictMode$ThreadPolicy;"/>
+		<method name="getVmPolicy()Landroid/os/StrictMode$VmPolicy;"/>
+		<method name="noteSlowCall(Ljava/lang/String;)V" since="11"/>
+		<method name="setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V"/>
+		<method name="setVmPolicy(Landroid/os/StrictMode$VmPolicy;)V"/>
+	</class>
+	<class name="android/os/StrictMode$OnThreadViolationListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="onThreadViolation(Landroid/os/strictmode/Violation;)V"/>
+	</class>
+	<class name="android/os/StrictMode$OnVmViolationListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="onVmViolation(Landroid/os/strictmode/Violation;)V"/>
+	</class>
+	<class name="android/os/StrictMode$ThreadPolicy" since="9">
+		<extends name="java/lang/Object"/>
+		<field name="LAX"/>
+	</class>
+	<class name="android/os/StrictMode$ThreadPolicy$Builder" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/StrictMode$ThreadPolicy;)V"/>
+		<method name="build()Landroid/os/StrictMode$ThreadPolicy;"/>
+		<method name="detectAll()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="detectCustomSlowCalls()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="11"/>
+		<method name="detectDiskReads()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="detectDiskWrites()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="detectNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="detectResourceMismatches()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="23"/>
+		<method name="detectUnbufferedIo()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="26"/>
+		<method name="penaltyDeath()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="penaltyDeathOnNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="11"/>
+		<method name="penaltyDialog()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="penaltyDropBox()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="penaltyFlashScreen()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="11"/>
+		<method name="penaltyListener(Ljava/util/concurrent/Executor;Landroid/os/StrictMode$OnThreadViolationListener;)Landroid/os/StrictMode$ThreadPolicy$Builder;" since="28"/>
+		<method name="penaltyLog()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="permitAll()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="permitCustomSlowCalls()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="11"/>
+		<method name="permitDiskReads()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="permitDiskWrites()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="permitNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;"/>
+		<method name="permitResourceMismatches()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="23"/>
+		<method name="permitUnbufferedIo()Landroid/os/StrictMode$ThreadPolicy$Builder;" since="26"/>
+	</class>
+	<class name="android/os/StrictMode$VmPolicy" since="9">
+		<extends name="java/lang/Object"/>
+		<field name="LAX"/>
+	</class>
+	<class name="android/os/StrictMode$VmPolicy$Builder" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/StrictMode$VmPolicy;)V" since="11"/>
+		<method name="build()Landroid/os/StrictMode$VmPolicy;"/>
+		<method name="detectActivityLeaks()Landroid/os/StrictMode$VmPolicy$Builder;" since="11"/>
+		<method name="detectAll()Landroid/os/StrictMode$VmPolicy$Builder;"/>
+		<method name="detectCleartextNetwork()Landroid/os/StrictMode$VmPolicy$Builder;" since="23"/>
+		<method name="detectContentUriWithoutPermission()Landroid/os/StrictMode$VmPolicy$Builder;" since="26"/>
+		<method name="detectCredentialProtectedWhileLocked()Landroid/os/StrictMode$VmPolicy$Builder;" since="29"/>
+		<method name="detectFileUriExposure()Landroid/os/StrictMode$VmPolicy$Builder;" since="18"/>
+		<method name="detectImplicitDirectBoot()Landroid/os/StrictMode$VmPolicy$Builder;" since="29"/>
+		<method name="detectIncorrectContextUse()Landroid/os/StrictMode$VmPolicy$Builder;" since="31"/>
+		<method name="detectLeakedClosableObjects()Landroid/os/StrictMode$VmPolicy$Builder;" since="11"/>
+		<method name="detectLeakedRegistrationObjects()Landroid/os/StrictMode$VmPolicy$Builder;" since="16"/>
+		<method name="detectLeakedSqlLiteObjects()Landroid/os/StrictMode$VmPolicy$Builder;"/>
+		<method name="detectNonSdkApiUsage()Landroid/os/StrictMode$VmPolicy$Builder;" since="28"/>
+		<method name="detectUnsafeIntentLaunch()Landroid/os/StrictMode$VmPolicy$Builder;" since="31"/>
+		<method name="detectUntaggedSockets()Landroid/os/StrictMode$VmPolicy$Builder;" since="26"/>
+		<method name="penaltyDeath()Landroid/os/StrictMode$VmPolicy$Builder;"/>
+		<method name="penaltyDeathOnCleartextNetwork()Landroid/os/StrictMode$VmPolicy$Builder;" since="23"/>
+		<method name="penaltyDeathOnFileUriExposure()Landroid/os/StrictMode$VmPolicy$Builder;" since="24"/>
+		<method name="penaltyDropBox()Landroid/os/StrictMode$VmPolicy$Builder;"/>
+		<method name="penaltyListener(Ljava/util/concurrent/Executor;Landroid/os/StrictMode$OnVmViolationListener;)Landroid/os/StrictMode$VmPolicy$Builder;" since="28"/>
+		<method name="penaltyLog()Landroid/os/StrictMode$VmPolicy$Builder;"/>
+		<method name="permitNonSdkApiUsage()Landroid/os/StrictMode$VmPolicy$Builder;" since="28"/>
+		<method name="permitUnsafeIntentLaunch()Landroid/os/StrictMode$VmPolicy$Builder;" since="31"/>
+		<method name="setClassInstanceLimit(Ljava/lang/Class;I)Landroid/os/StrictMode$VmPolicy$Builder;" since="11"/>
+	</class>
+	<class name="android/os/SystemClock" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="currentGnssTimeClock()Ljava/time/Clock;" since="29"/>
+		<method name="currentThreadTimeMillis()J"/>
+		<method name="elapsedRealtime()J"/>
+		<method name="elapsedRealtimeNanos()J" since="17"/>
+		<method name="setCurrentTimeMillis(J)Z"/>
+		<method name="sleep(J)V"/>
+		<method name="uptimeMillis()J"/>
+	</class>
+	<class name="android/os/TestLooperManager" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="execute(Landroid/os/Message;)V"/>
+		<method name="getMessageQueue()Landroid/os/MessageQueue;"/>
+		<method name="hasMessages(Landroid/os/Handler;Ljava/lang/Object;I)Z"/>
+		<method name="hasMessages(Landroid/os/Handler;Ljava/lang/Object;Ljava/lang/Runnable;)Z"/>
+		<method name="next()Landroid/os/Message;"/>
+		<method name="recycle(Landroid/os/Message;)V"/>
+		<method name="release()V"/>
+	</class>
+	<class name="android/os/TokenWatcher" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/os/Handler;Ljava/lang/String;)V"/>
+		<method name="acquire(Landroid/os/IBinder;Ljava/lang/String;)V"/>
+		<method name="acquired()V"/>
+		<method name="cleanup(Landroid/os/IBinder;Z)V"/>
+		<method name="dump()V"/>
+		<method name="dump(Ljava/io/PrintWriter;)V" since="16"/>
+		<method name="isAcquired()Z"/>
+		<method name="release(Landroid/os/IBinder;)V"/>
+		<method name="released()V"/>
+	</class>
+	<class name="android/os/Trace" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="beginAsyncSection(Ljava/lang/String;I)V" since="29"/>
+		<method name="beginSection(Ljava/lang/String;)V"/>
+		<method name="endAsyncSection(Ljava/lang/String;I)V" since="29"/>
+		<method name="endSection()V"/>
+		<method name="isEnabled()Z" since="29"/>
+		<method name="setCounter(Ljava/lang/String;J)V" since="29"/>
+	</class>
+	<class name="android/os/TransactionTooLargeException" since="15">
+		<extends name="android/os/RemoteException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" since="23"/>
+	</class>
+	<class name="android/os/UserHandle" since="17">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="getUserHandleForUid(I)Landroid/os/UserHandle;" since="24"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)Landroid/os/UserHandle;"/>
+		<method name="writeToParcel(Landroid/os/UserHandle;Landroid/os/Parcel;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/UserManager" since="17">
+		<extends name="java/lang/Object"/>
+		<method name="createUserCreationIntent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)Landroid/content/Intent;" since="24"/>
+		<method name="getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;" since="18"/>
+		<method name="getSerialNumberForUser(Landroid/os/UserHandle;)J"/>
+		<method name="getUserCount()I"/>
+		<method name="getUserCreationTime(Landroid/os/UserHandle;)J" since="23"/>
+		<method name="getUserForSerialNumber(J)Landroid/os/UserHandle;"/>
+		<method name="getUserName()Ljava/lang/String;"/>
+		<method name="getUserProfiles()Ljava/util/List;" since="21"/>
+		<method name="getUserRestrictions()Landroid/os/Bundle;" since="18"/>
+		<method name="getUserRestrictions(Landroid/os/UserHandle;)Landroid/os/Bundle;" since="18"/>
+		<method name="hasUserRestriction(Ljava/lang/String;)Z" since="21"/>
+		<method name="isDemoUser()Z" since="25"/>
+		<method name="isHeadlessSystemUserMode()Z" since="31"/>
+		<method name="isManagedProfile()Z" since="30"/>
+		<method name="isQuietModeEnabled(Landroid/os/UserHandle;)Z" since="24"/>
+		<method name="isSystemUser()Z" since="23"/>
+		<method name="isUserAGoat()Z"/>
+		<method name="isUserForeground()Z" since="31"/>
+		<method name="isUserRunning(Landroid/os/UserHandle;)Z"/>
+		<method name="isUserRunningOrStopping(Landroid/os/UserHandle;)Z"/>
+		<method name="isUserUnlocked()Z" since="24"/>
+		<method name="isUserUnlocked(Landroid/os/UserHandle;)Z" since="24"/>
+		<method name="requestQuietModeEnabled(ZLandroid/os/UserHandle;)Z" since="28"/>
+		<method name="requestQuietModeEnabled(ZLandroid/os/UserHandle;I)Z" since="30"/>
+		<method name="setRestrictionsChallenge(Ljava/lang/String;)Z" since="19" deprecated="23"/>
+		<method name="setUserRestriction(Ljava/lang/String;Z)V" since="18" deprecated="21"/>
+		<method name="setUserRestrictions(Landroid/os/Bundle;)V" since="18" deprecated="21"/>
+		<method name="setUserRestrictions(Landroid/os/Bundle;Landroid/os/UserHandle;)V" since="18" deprecated="21"/>
+		<method name="supportsMultipleUsers()Z" since="24"/>
+		<field name="ALLOW_PARENT_PROFILE_APP_LINKING" since="23"/>
+		<field name="DISALLOW_ADD_MANAGED_PROFILE" since="26" deprecated="30"/>
+		<field name="DISALLOW_ADD_USER" since="21"/>
+		<field name="DISALLOW_ADJUST_VOLUME" since="21"/>
+		<field name="DISALLOW_AIRPLANE_MODE" since="28"/>
+		<field name="DISALLOW_AMBIENT_DISPLAY" since="28"/>
+		<field name="DISALLOW_APPS_CONTROL" since="21"/>
+		<field name="DISALLOW_AUTOFILL" since="26"/>
+		<field name="DISALLOW_BLUETOOTH" since="26"/>
+		<field name="DISALLOW_BLUETOOTH_SHARING" since="26"/>
+		<field name="DISALLOW_CAMERA_TOGGLE" since="31"/>
+		<field name="DISALLOW_CONFIG_BLUETOOTH" since="18"/>
+		<field name="DISALLOW_CONFIG_BRIGHTNESS" since="28"/>
+		<field name="DISALLOW_CONFIG_CELL_BROADCASTS" since="21"/>
+		<field name="DISALLOW_CONFIG_CREDENTIALS" since="18"/>
+		<field name="DISALLOW_CONFIG_DATE_TIME" since="28"/>
+		<field name="DISALLOW_CONFIG_LOCALE" since="28"/>
+		<field name="DISALLOW_CONFIG_LOCATION" since="28"/>
+		<field name="DISALLOW_CONFIG_MOBILE_NETWORKS" since="21"/>
+		<field name="DISALLOW_CONFIG_PRIVATE_DNS" since="29"/>
+		<field name="DISALLOW_CONFIG_SCREEN_TIMEOUT" since="28"/>
+		<field name="DISALLOW_CONFIG_TETHERING" since="21"/>
+		<field name="DISALLOW_CONFIG_VPN" since="21"/>
+		<field name="DISALLOW_CONFIG_WIFI" since="18"/>
+		<field name="DISALLOW_CONTENT_CAPTURE" since="29"/>
+		<field name="DISALLOW_CONTENT_SUGGESTIONS" since="29"/>
+		<field name="DISALLOW_CREATE_WINDOWS" since="21"/>
+		<field name="DISALLOW_CROSS_PROFILE_COPY_PASTE" since="21"/>
+		<field name="DISALLOW_DATA_ROAMING" since="24"/>
+		<field name="DISALLOW_DEBUGGING_FEATURES" since="21"/>
+		<field name="DISALLOW_FACTORY_RESET" since="21"/>
+		<field name="DISALLOW_FUN" since="23"/>
+		<field name="DISALLOW_INSTALL_APPS" since="18"/>
+		<field name="DISALLOW_INSTALL_UNKNOWN_SOURCES" since="18"/>
+		<field name="DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY" since="29"/>
+		<field name="DISALLOW_MICROPHONE_TOGGLE" since="31"/>
+		<field name="DISALLOW_MODIFY_ACCOUNTS" since="18"/>
+		<field name="DISALLOW_MOUNT_PHYSICAL_MEDIA" since="21"/>
+		<field name="DISALLOW_NETWORK_RESET" since="23"/>
+		<field name="DISALLOW_OUTGOING_BEAM" since="22"/>
+		<field name="DISALLOW_OUTGOING_CALLS" since="21"/>
+		<field name="DISALLOW_PRINTING" since="28"/>
+		<field name="DISALLOW_REMOVE_MANAGED_PROFILE" since="26" deprecated="30"/>
+		<field name="DISALLOW_REMOVE_USER" since="18"/>
+		<field name="DISALLOW_SAFE_BOOT" since="23"/>
+		<field name="DISALLOW_SET_USER_ICON" since="24"/>
+		<field name="DISALLOW_SET_WALLPAPER" since="24"/>
+		<field name="DISALLOW_SHARE_INTO_MANAGED_PROFILE" since="28"/>
+		<field name="DISALLOW_SHARE_LOCATION" since="18"/>
+		<field name="DISALLOW_SMS" since="21"/>
+		<field name="DISALLOW_SYSTEM_ERROR_DIALOGS" since="28"/>
+		<field name="DISALLOW_UNIFIED_PASSWORD" since="28"/>
+		<field name="DISALLOW_UNINSTALL_APPS" since="18"/>
+		<field name="DISALLOW_UNMUTE_MICROPHONE" since="21"/>
+		<field name="DISALLOW_USB_FILE_TRANSFER" since="18"/>
+		<field name="DISALLOW_USER_SWITCH" since="28"/>
+		<field name="ENSURE_VERIFY_APPS" since="21"/>
+		<field name="KEY_RESTRICTIONS_PENDING" since="22"/>
+		<field name="QUIET_MODE_DISABLE_ONLY_IF_CREDENTIAL_NOT_REQUIRED" since="30"/>
+		<field name="USER_CREATION_FAILED_NOT_PERMITTED" since="24"/>
+		<field name="USER_CREATION_FAILED_NO_MORE_USERS" since="24"/>
+		<field name="USER_OPERATION_ERROR_CURRENT_USER" since="28"/>
+		<field name="USER_OPERATION_ERROR_LOW_STORAGE" since="28"/>
+		<field name="USER_OPERATION_ERROR_MANAGED_PROFILE" since="28"/>
+		<field name="USER_OPERATION_ERROR_MAX_RUNNING_USERS" since="28"/>
+		<field name="USER_OPERATION_ERROR_MAX_USERS" since="28"/>
+		<field name="USER_OPERATION_ERROR_UNKNOWN" since="28"/>
+		<field name="USER_OPERATION_SUCCESS" since="28"/>
+	</class>
+	<class name="android/os/UserManager$UserOperationException" since="28">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="getUserOperationResult()I"/>
+	</class>
+	<class name="android/os/VibrationAttributes" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getFlags()I"/>
+		<method name="getUsage()I"/>
+		<method name="getUsageClass()I"/>
+		<method name="isFlagSet(I)Z"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_BYPASS_INTERRUPTION_POLICY"/>
+		<field name="USAGE_ALARM"/>
+		<field name="USAGE_CLASS_ALARM"/>
+		<field name="USAGE_CLASS_FEEDBACK"/>
+		<field name="USAGE_CLASS_MASK"/>
+		<field name="USAGE_CLASS_UNKNOWN"/>
+		<field name="USAGE_COMMUNICATION_REQUEST"/>
+		<field name="USAGE_HARDWARE_FEEDBACK"/>
+		<field name="USAGE_NOTIFICATION"/>
+		<field name="USAGE_PHYSICAL_EMULATION"/>
+		<field name="USAGE_RINGTONE"/>
+		<field name="USAGE_TOUCH"/>
+		<field name="USAGE_UNKNOWN"/>
+	</class>
+	<class name="android/os/VibrationAttributes$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/VibrationAttributes;)V"/>
+		<method name="build()Landroid/os/VibrationAttributes;"/>
+		<method name="setFlags(II)Landroid/os/VibrationAttributes$Builder;"/>
+		<method name="setUsage(I)Landroid/os/VibrationAttributes$Builder;"/>
+	</class>
+	<class name="android/os/VibrationEffect" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="createOneShot(JI)Landroid/os/VibrationEffect;"/>
+		<method name="createPredefined(I)Landroid/os/VibrationEffect;" since="29"/>
+		<method name="createWaveform([JI)Landroid/os/VibrationEffect;"/>
+		<method name="createWaveform([J[II)Landroid/os/VibrationEffect;"/>
+		<method name="startComposition()Landroid/os/VibrationEffect$Composition;" since="30"/>
+		<field name="CREATOR"/>
+		<field name="DEFAULT_AMPLITUDE"/>
+		<field name="EFFECT_CLICK" since="29"/>
+		<field name="EFFECT_DOUBLE_CLICK" since="29"/>
+		<field name="EFFECT_HEAVY_CLICK" since="29"/>
+		<field name="EFFECT_TICK" since="29"/>
+	</class>
+	<class name="android/os/VibrationEffect$Composition" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="addPrimitive(I)Landroid/os/VibrationEffect$Composition;"/>
+		<method name="addPrimitive(IF)Landroid/os/VibrationEffect$Composition;"/>
+		<method name="addPrimitive(IFI)Landroid/os/VibrationEffect$Composition;"/>
+		<method name="compose()Landroid/os/VibrationEffect;"/>
+		<field name="PRIMITIVE_CLICK"/>
+		<field name="PRIMITIVE_LOW_TICK" since="31"/>
+		<field name="PRIMITIVE_QUICK_FALL"/>
+		<field name="PRIMITIVE_QUICK_RISE"/>
+		<field name="PRIMITIVE_SLOW_RISE"/>
+		<field name="PRIMITIVE_SPIN" since="31"/>
+		<field name="PRIMITIVE_THUD" since="31"/>
+		<field name="PRIMITIVE_TICK"/>
+	</class>
+	<class name="android/os/Vibrator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="areAllEffectsSupported([I)I" since="30"/>
+		<method name="areAllPrimitivesSupported([I)Z" since="30"/>
+		<method name="areEffectsSupported([I)[I" since="30"/>
+		<method name="arePrimitivesSupported([I)[Z" since="30"/>
+		<method name="cancel()V"/>
+		<method name="getId()I" since="31"/>
+		<method name="getPrimitiveDurations([I)[I" since="31"/>
+		<method name="hasAmplitudeControl()Z" since="26"/>
+		<method name="hasVibrator()Z" since="11"/>
+		<method name="vibrate(J)V" deprecated="26"/>
+		<method name="vibrate(JLandroid/media/AudioAttributes;)V" since="21" deprecated="26"/>
+		<method name="vibrate(Landroid/os/VibrationEffect;)V" since="26"/>
+		<method name="vibrate(Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;)V" since="26"/>
+		<method name="vibrate([JI)V" deprecated="26"/>
+		<method name="vibrate([JILandroid/media/AudioAttributes;)V" since="21" deprecated="26"/>
+		<field name="VIBRATION_EFFECT_SUPPORT_NO" since="30"/>
+		<field name="VIBRATION_EFFECT_SUPPORT_UNKNOWN" since="30"/>
+		<field name="VIBRATION_EFFECT_SUPPORT_YES" since="30"/>
+	</class>
+	<class name="android/os/VibratorManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V"/>
+		<method name="getDefaultVibrator()Landroid/os/Vibrator;"/>
+		<method name="getVibrator(I)Landroid/os/Vibrator;"/>
+		<method name="getVibratorIds()[I"/>
+		<method name="vibrate(Landroid/os/CombinedVibration;)V"/>
+		<method name="vibrate(Landroid/os/CombinedVibration;Landroid/os/VibrationAttributes;)V"/>
+	</class>
+	<class name="android/os/WorkSource" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/WorkSource;)V"/>
+		<method name="add(Landroid/os/WorkSource;)Z"/>
+		<method name="clear()V"/>
+		<method name="diff(Landroid/os/WorkSource;)Z"/>
+		<method name="remove(Landroid/os/WorkSource;)Z"/>
+		<method name="set(Landroid/os/WorkSource;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/health/HealthStats" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getDataType()Ljava/lang/String;"/>
+		<method name="getMeasurement(I)J"/>
+		<method name="getMeasurementKeyAt(I)I"/>
+		<method name="getMeasurementKeyCount()I"/>
+		<method name="getMeasurements(I)Ljava/util/Map;"/>
+		<method name="getMeasurementsKeyAt(I)I"/>
+		<method name="getMeasurementsKeyCount()I"/>
+		<method name="getStats(I)Ljava/util/Map;"/>
+		<method name="getStatsKeyAt(I)I"/>
+		<method name="getStatsKeyCount()I"/>
+		<method name="getTimer(I)Landroid/os/health/TimerStat;"/>
+		<method name="getTimerCount(I)I"/>
+		<method name="getTimerKeyAt(I)I"/>
+		<method name="getTimerKeyCount()I"/>
+		<method name="getTimerTime(I)J"/>
+		<method name="getTimers(I)Ljava/util/Map;"/>
+		<method name="getTimersKeyAt(I)I"/>
+		<method name="getTimersKeyCount()I"/>
+		<method name="hasMeasurement(I)Z"/>
+		<method name="hasMeasurements(I)Z"/>
+		<method name="hasStats(I)Z"/>
+		<method name="hasTimer(I)Z"/>
+		<method name="hasTimers(I)Z"/>
+	</class>
+	<class name="android/os/health/PackageHealthStats" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="MEASUREMENTS_WAKEUP_ALARMS_COUNT"/>
+		<field name="STATS_SERVICES"/>
+	</class>
+	<class name="android/os/health/PidHealthStats" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="MEASUREMENT_WAKE_NESTING_COUNT"/>
+		<field name="MEASUREMENT_WAKE_START_MS"/>
+		<field name="MEASUREMENT_WAKE_SUM_MS"/>
+	</class>
+	<class name="android/os/health/ProcessHealthStats" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="MEASUREMENT_ANR_COUNT"/>
+		<field name="MEASUREMENT_CRASHES_COUNT"/>
+		<field name="MEASUREMENT_FOREGROUND_MS"/>
+		<field name="MEASUREMENT_STARTS_COUNT"/>
+		<field name="MEASUREMENT_SYSTEM_TIME_MS"/>
+		<field name="MEASUREMENT_USER_TIME_MS"/>
+	</class>
+	<class name="android/os/health/ServiceHealthStats" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="MEASUREMENT_LAUNCH_COUNT"/>
+		<field name="MEASUREMENT_START_SERVICE_COUNT"/>
+	</class>
+	<class name="android/os/health/SystemHealthManager" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="takeMyUidSnapshot()Landroid/os/health/HealthStats;"/>
+		<method name="takeUidSnapshot(I)Landroid/os/health/HealthStats;"/>
+		<method name="takeUidSnapshots([I)[Landroid/os/health/HealthStats;"/>
+	</class>
+	<class name="android/os/health/TimerStat" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(IJ)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="getCount()I"/>
+		<method name="getTime()J"/>
+		<method name="setCount(I)V"/>
+		<method name="setTime(J)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/os/health/UidHealthStats" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="MEASUREMENT_BLUETOOTH_IDLE_MS"/>
+		<field name="MEASUREMENT_BLUETOOTH_POWER_MAMS"/>
+		<field name="MEASUREMENT_BLUETOOTH_RX_BYTES"/>
+		<field name="MEASUREMENT_BLUETOOTH_RX_MS"/>
+		<field name="MEASUREMENT_BLUETOOTH_RX_PACKETS"/>
+		<field name="MEASUREMENT_BLUETOOTH_TX_BYTES"/>
+		<field name="MEASUREMENT_BLUETOOTH_TX_MS"/>
+		<field name="MEASUREMENT_BLUETOOTH_TX_PACKETS"/>
+		<field name="MEASUREMENT_BUTTON_USER_ACTIVITY_COUNT"/>
+		<field name="MEASUREMENT_CPU_POWER_MAMS" deprecated="26"/>
+		<field name="MEASUREMENT_MOBILE_IDLE_MS"/>
+		<field name="MEASUREMENT_MOBILE_POWER_MAMS"/>
+		<field name="MEASUREMENT_MOBILE_RX_BYTES"/>
+		<field name="MEASUREMENT_MOBILE_RX_MS"/>
+		<field name="MEASUREMENT_MOBILE_RX_PACKETS"/>
+		<field name="MEASUREMENT_MOBILE_TX_BYTES"/>
+		<field name="MEASUREMENT_MOBILE_TX_MS"/>
+		<field name="MEASUREMENT_MOBILE_TX_PACKETS"/>
+		<field name="MEASUREMENT_OTHER_USER_ACTIVITY_COUNT"/>
+		<field name="MEASUREMENT_REALTIME_BATTERY_MS"/>
+		<field name="MEASUREMENT_REALTIME_SCREEN_OFF_BATTERY_MS"/>
+		<field name="MEASUREMENT_SYSTEM_CPU_TIME_MS"/>
+		<field name="MEASUREMENT_TOUCH_USER_ACTIVITY_COUNT"/>
+		<field name="MEASUREMENT_UPTIME_BATTERY_MS"/>
+		<field name="MEASUREMENT_UPTIME_SCREEN_OFF_BATTERY_MS"/>
+		<field name="MEASUREMENT_USER_CPU_TIME_MS"/>
+		<field name="MEASUREMENT_WIFI_FULL_LOCK_MS"/>
+		<field name="MEASUREMENT_WIFI_IDLE_MS"/>
+		<field name="MEASUREMENT_WIFI_MULTICAST_MS"/>
+		<field name="MEASUREMENT_WIFI_POWER_MAMS"/>
+		<field name="MEASUREMENT_WIFI_RUNNING_MS"/>
+		<field name="MEASUREMENT_WIFI_RX_BYTES"/>
+		<field name="MEASUREMENT_WIFI_RX_MS"/>
+		<field name="MEASUREMENT_WIFI_RX_PACKETS"/>
+		<field name="MEASUREMENT_WIFI_TX_BYTES"/>
+		<field name="MEASUREMENT_WIFI_TX_MS"/>
+		<field name="MEASUREMENT_WIFI_TX_PACKETS"/>
+		<field name="STATS_PACKAGES"/>
+		<field name="STATS_PIDS"/>
+		<field name="STATS_PROCESSES"/>
+		<field name="TIMERS_JOBS"/>
+		<field name="TIMERS_SENSORS"/>
+		<field name="TIMERS_SYNCS"/>
+		<field name="TIMERS_WAKELOCKS_DRAW"/>
+		<field name="TIMERS_WAKELOCKS_FULL"/>
+		<field name="TIMERS_WAKELOCKS_PARTIAL"/>
+		<field name="TIMERS_WAKELOCKS_WINDOW"/>
+		<field name="TIMER_AUDIO"/>
+		<field name="TIMER_BLUETOOTH_SCAN"/>
+		<field name="TIMER_CAMERA"/>
+		<field name="TIMER_FLASHLIGHT"/>
+		<field name="TIMER_FOREGROUND_ACTIVITY"/>
+		<field name="TIMER_GPS_SENSOR"/>
+		<field name="TIMER_MOBILE_RADIO_ACTIVE"/>
+		<field name="TIMER_PROCESS_STATE_BACKGROUND_MS"/>
+		<field name="TIMER_PROCESS_STATE_CACHED_MS"/>
+		<field name="TIMER_PROCESS_STATE_FOREGROUND_MS"/>
+		<field name="TIMER_PROCESS_STATE_FOREGROUND_SERVICE_MS"/>
+		<field name="TIMER_PROCESS_STATE_TOP_MS"/>
+		<field name="TIMER_PROCESS_STATE_TOP_SLEEPING_MS"/>
+		<field name="TIMER_VIBRATOR"/>
+		<field name="TIMER_VIDEO"/>
+		<field name="TIMER_WIFI_SCAN"/>
+	</class>
+	<class name="android/os/storage/OnObbStateChangeListener" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onObbStateChange(Ljava/lang/String;I)V"/>
+		<field name="ERROR_ALREADY_MOUNTED"/>
+		<field name="ERROR_COULD_NOT_MOUNT"/>
+		<field name="ERROR_COULD_NOT_UNMOUNT"/>
+		<field name="ERROR_INTERNAL"/>
+		<field name="ERROR_NOT_MOUNTED"/>
+		<field name="ERROR_PERMISSION_DENIED"/>
+		<field name="MOUNTED"/>
+		<field name="UNMOUNTED"/>
+	</class>
+	<class name="android/os/storage/StorageManager" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="allocateBytes(Ljava/io/FileDescriptor;J)V" since="26"/>
+		<method name="allocateBytes(Ljava/util/UUID;J)V" since="26"/>
+		<method name="getAllocatableBytes(Ljava/util/UUID;)J" since="26"/>
+		<method name="getCacheQuotaBytes(Ljava/util/UUID;)J" since="26"/>
+		<method name="getCacheSizeBytes(Ljava/util/UUID;)J" since="26"/>
+		<method name="getManageSpaceActivityIntent(Ljava/lang/String;I)Landroid/app/PendingIntent;" since="31"/>
+		<method name="getMountedObbPath(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getPrimaryStorageVolume()Landroid/os/storage/StorageVolume;" since="24"/>
+		<method name="getRecentStorageVolumes()Ljava/util/List;" since="30"/>
+		<method name="getStorageVolume(Landroid/net/Uri;)Landroid/os/storage/StorageVolume;" since="29"/>
+		<method name="getStorageVolume(Ljava/io/File;)Landroid/os/storage/StorageVolume;" since="24"/>
+		<method name="getStorageVolumes()Ljava/util/List;" since="24"/>
+		<method name="getUuidForPath(Ljava/io/File;)Ljava/util/UUID;" since="26"/>
+		<method name="isAllocationSupported(Ljava/io/FileDescriptor;)Z" since="27"/>
+		<method name="isCacheBehaviorGroup(Ljava/io/File;)Z" since="26"/>
+		<method name="isCacheBehaviorTombstone(Ljava/io/File;)Z" since="26"/>
+		<method name="isCheckpointSupported()Z" since="30"/>
+		<method name="isEncrypted(Ljava/io/File;)Z" since="24"/>
+		<method name="isObbMounted(Ljava/lang/String;)Z"/>
+		<method name="mountObb(Ljava/lang/String;Ljava/lang/String;Landroid/os/storage/OnObbStateChangeListener;)Z"/>
+		<method name="openProxyFileDescriptor(ILandroid/os/ProxyFileDescriptorCallback;Landroid/os/Handler;)Landroid/os/ParcelFileDescriptor;" since="26"/>
+		<method name="registerStorageVolumeCallback(Ljava/util/concurrent/Executor;Landroid/os/storage/StorageManager$StorageVolumeCallback;)V" since="30"/>
+		<method name="setCacheBehaviorGroup(Ljava/io/File;Z)V" since="26"/>
+		<method name="setCacheBehaviorTombstone(Ljava/io/File;Z)V" since="26"/>
+		<method name="unmountObb(Ljava/lang/String;ZLandroid/os/storage/OnObbStateChangeListener;)Z"/>
+		<method name="unregisterStorageVolumeCallback(Landroid/os/storage/StorageManager$StorageVolumeCallback;)V" since="30"/>
+		<field name="ACTION_CLEAR_APP_CACHE" since="30"/>
+		<field name="ACTION_MANAGE_STORAGE" since="25"/>
+		<field name="EXTRA_REQUESTED_BYTES" since="26"/>
+		<field name="EXTRA_UUID" since="26"/>
+		<field name="UUID_DEFAULT" since="26"/>
+	</class>
+	<class name="android/os/storage/StorageManager$StorageVolumeCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onStateChanged(Landroid/os/storage/StorageVolume;)V"/>
+	</class>
+	<class name="android/os/storage/StorageVolume" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="createAccessIntent(Ljava/lang/String;)Landroid/content/Intent;" deprecated="29"/>
+		<method name="createOpenDocumentTreeIntent()Landroid/content/Intent;" since="29"/>
+		<method name="getDescription(Landroid/content/Context;)Ljava/lang/String;"/>
+		<method name="getDirectory()Ljava/io/File;" since="30"/>
+		<method name="getMediaStoreVolumeName()Ljava/lang/String;" since="30"/>
+		<method name="getState()Ljava/lang/String;"/>
+		<method name="getStorageUuid()Ljava/util/UUID;" since="31"/>
+		<method name="getUuid()Ljava/lang/String;"/>
+		<method name="isEmulated()Z"/>
+		<method name="isPrimary()Z"/>
+		<method name="isRemovable()Z"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_STORAGE_VOLUME"/>
+	</class>
+	<class name="android/os/strictmode/CleartextNetworkViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/ContentUriWithoutPermissionViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/CredentialProtectedWhileLockedViolation" since="29">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/CustomViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/DiskReadViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/DiskWriteViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/FileUriExposedViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/ImplicitDirectBootViolation" since="29">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/IncorrectContextUseViolation" since="31">
+		<extends name="android/os/strictmode/Violation"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/os/strictmode/InstanceCountViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+		<method name="getNumberOfInstances()J"/>
+	</class>
+	<class name="android/os/strictmode/IntentReceiverLeakedViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/LeakedClosableViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/NetworkViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/NonSdkApiUsedViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/ResourceMismatchViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/ServiceConnectionLeakedViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/SqliteObjectLeakedViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/UnbufferedIoViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/UnsafeIntentLaunchViolation" since="31">
+		<extends name="android/os/strictmode/Violation"/>
+		<method name="&lt;init>(Landroid/content/Intent;)V"/>
+		<method name="getIntent()Landroid/content/Intent;"/>
+	</class>
+	<class name="android/os/strictmode/UntaggedSocketViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/os/strictmode/Violation" since="28">
+		<extends name="java/lang/Throwable"/>
+	</class>
+	<class name="android/os/strictmode/WebViewMethodCalledOnWrongThreadViolation" since="28">
+		<extends name="android/os/strictmode/Violation"/>
+	</class>
+	<class name="android/preference/CheckBoxPreference" since="1" deprecated="29">
+		<extends name="android/preference/Preference" removed="14"/>
+		<extends name="android/preference/TwoStatePreference" since="14"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="getDisableDependentsState()Z" removed="14"/>
+		<method name="getSummaryOff()Ljava/lang/CharSequence;" removed="14"/>
+		<method name="getSummaryOn()Ljava/lang/CharSequence;" removed="14"/>
+		<method name="isChecked()Z" removed="14"/>
+		<method name="setChecked(Z)V" removed="14"/>
+		<method name="setDisableDependentsState(Z)V" removed="14"/>
+		<method name="setSummaryOff(I)V" removed="14"/>
+		<method name="setSummaryOff(Ljava/lang/CharSequence;)V" removed="14"/>
+		<method name="setSummaryOn(I)V" removed="14"/>
+		<method name="setSummaryOn(Ljava/lang/CharSequence;)V" removed="14"/>
+	</class>
+	<class name="android/preference/DialogPreference" since="1" deprecated="29">
+		<extends name="android/preference/Preference"/>
+		<implements name="android/content/DialogInterface$OnClickListener"/>
+		<implements name="android/content/DialogInterface$OnDismissListener"/>
+		<implements name="android/preference/PreferenceManager$OnActivityDestroyListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" since="21" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="getDialog()Landroid/app/Dialog;" since="3" deprecated="29"/>
+		<method name="getDialogIcon()Landroid/graphics/drawable/Drawable;" deprecated="29"/>
+		<method name="getDialogLayoutResource()I" deprecated="29"/>
+		<method name="getDialogMessage()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getDialogTitle()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getNegativeButtonText()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getPositiveButtonText()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="onBindDialogView(Landroid/view/View;)V" deprecated="29"/>
+		<method name="onCreateDialogView()Landroid/view/View;" deprecated="29"/>
+		<method name="onDialogClosed(Z)V" deprecated="29"/>
+		<method name="onPrepareDialogBuilder(Landroid/app/AlertDialog$Builder;)V" deprecated="29"/>
+		<method name="setDialogIcon(I)V" deprecated="29"/>
+		<method name="setDialogIcon(Landroid/graphics/drawable/Drawable;)V" deprecated="29"/>
+		<method name="setDialogLayoutResource(I)V" deprecated="29"/>
+		<method name="setDialogMessage(I)V" deprecated="29"/>
+		<method name="setDialogMessage(Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setDialogTitle(I)V" deprecated="29"/>
+		<method name="setDialogTitle(Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setNegativeButtonText(I)V" deprecated="29"/>
+		<method name="setNegativeButtonText(Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setPositiveButtonText(I)V" deprecated="29"/>
+		<method name="setPositiveButtonText(Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="showDialog(Landroid/os/Bundle;)V" deprecated="29"/>
+	</class>
+	<class name="android/preference/EditTextPreference" since="1" deprecated="29">
+		<extends name="android/preference/DialogPreference"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="getEditText()Landroid/widget/EditText;" deprecated="29"/>
+		<method name="getText()Ljava/lang/String;" deprecated="29"/>
+		<method name="onAddEditTextToDialogView(Landroid/view/View;Landroid/widget/EditText;)V" deprecated="29"/>
+		<method name="setText(Ljava/lang/String;)V" deprecated="29"/>
+	</class>
+	<class name="android/preference/ListPreference" since="1" deprecated="29">
+		<extends name="android/preference/DialogPreference"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="21" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="findIndexOfValue(Ljava/lang/String;)I" deprecated="29"/>
+		<method name="getEntries()[Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getEntry()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getEntryValues()[Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getValue()Ljava/lang/String;" deprecated="29"/>
+		<method name="setEntries(I)V" deprecated="29"/>
+		<method name="setEntries([Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setEntryValues(I)V" deprecated="29"/>
+		<method name="setEntryValues([Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setValue(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setValueIndex(I)V" deprecated="29"/>
+	</class>
+	<class name="android/preference/MultiSelectListPreference" since="11" deprecated="29">
+		<extends name="android/preference/DialogPreference"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="21" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="findIndexOfValue(Ljava/lang/String;)I" deprecated="29"/>
+		<method name="getEntries()[Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getEntryValues()[Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getValues()Ljava/util/Set;" deprecated="29"/>
+		<method name="setEntries(I)V" deprecated="29"/>
+		<method name="setEntries([Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setEntryValues(I)V" deprecated="29"/>
+		<method name="setEntryValues([Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setValues(Ljava/util/Set;)V" deprecated="29"/>
+	</class>
+	<class name="android/preference/Preference" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="callChangeListener(Ljava/lang/Object;)Z" deprecated="29"/>
+		<method name="compareTo(Landroid/preference/Preference;)I" deprecated="29"/>
+		<method name="findPreferenceInHierarchy(Ljava/lang/String;)Landroid/preference/Preference;" deprecated="29"/>
+		<method name="getContext()Landroid/content/Context;" deprecated="29"/>
+		<method name="getDependency()Ljava/lang/String;" deprecated="29"/>
+		<method name="getEditor()Landroid/content/SharedPreferences$Editor;" deprecated="29"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="11" deprecated="29"/>
+		<method name="getFragment()Ljava/lang/String;" since="11" deprecated="29"/>
+		<method name="getIcon()Landroid/graphics/drawable/Drawable;" since="11" deprecated="29"/>
+		<method name="getIntent()Landroid/content/Intent;" deprecated="29"/>
+		<method name="getKey()Ljava/lang/String;" deprecated="29"/>
+		<method name="getLayoutResource()I" deprecated="29"/>
+		<method name="getOnPreferenceChangeListener()Landroid/preference/Preference$OnPreferenceChangeListener;" deprecated="29"/>
+		<method name="getOnPreferenceClickListener()Landroid/preference/Preference$OnPreferenceClickListener;" deprecated="29"/>
+		<method name="getOrder()I" deprecated="29"/>
+		<method name="getParent()Landroid/preference/PreferenceGroup;" since="26" deprecated="29"/>
+		<method name="getPersistedBoolean(Z)Z" deprecated="29"/>
+		<method name="getPersistedFloat(F)F" deprecated="29"/>
+		<method name="getPersistedInt(I)I" deprecated="29"/>
+		<method name="getPersistedLong(J)J" deprecated="29"/>
+		<method name="getPersistedString(Ljava/lang/String;)Ljava/lang/String;" deprecated="29"/>
+		<method name="getPersistedStringSet(Ljava/util/Set;)Ljava/util/Set;" since="24" deprecated="29"/>
+		<method name="getPreferenceDataStore()Landroid/preference/PreferenceDataStore;" since="26" deprecated="29"/>
+		<method name="getPreferenceManager()Landroid/preference/PreferenceManager;" deprecated="29"/>
+		<method name="getSharedPreferences()Landroid/content/SharedPreferences;" deprecated="29"/>
+		<method name="getShouldDisableView()Z" deprecated="29"/>
+		<method name="getSummary()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getTitle()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getTitleRes()I" since="14" deprecated="29"/>
+		<method name="getView(Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;" deprecated="29"/>
+		<method name="getWidgetLayoutResource()I" deprecated="29"/>
+		<method name="hasKey()Z" deprecated="29"/>
+		<method name="isEnabled()Z" deprecated="29"/>
+		<method name="isIconSpaceReserved()Z" since="26" deprecated="29"/>
+		<method name="isPersistent()Z" deprecated="29"/>
+		<method name="isRecycleEnabled()Z" since="26" deprecated="29"/>
+		<method name="isSelectable()Z" deprecated="29"/>
+		<method name="isSingleLineTitle()Z" since="26" deprecated="29"/>
+		<method name="notifyChanged()V" deprecated="29"/>
+		<method name="notifyDependencyChange(Z)V" deprecated="29"/>
+		<method name="notifyHierarchyChanged()V" deprecated="29"/>
+		<method name="onAttachedToActivity()V" deprecated="29"/>
+		<method name="onAttachedToHierarchy(Landroid/preference/PreferenceManager;)V" deprecated="29"/>
+		<method name="onBindView(Landroid/view/View;)V" deprecated="29"/>
+		<method name="onClick()V" deprecated="29"/>
+		<method name="onCreateView(Landroid/view/ViewGroup;)Landroid/view/View;" deprecated="29"/>
+		<method name="onDependencyChanged(Landroid/preference/Preference;Z)V" deprecated="29"/>
+		<method name="onGetDefaultValue(Landroid/content/res/TypedArray;I)Ljava/lang/Object;" deprecated="29"/>
+		<method name="onParentChanged(Landroid/preference/Preference;Z)V" since="19" deprecated="29"/>
+		<method name="onPrepareForRemoval()V" deprecated="29"/>
+		<method name="onRestoreInstanceState(Landroid/os/Parcelable;)V" deprecated="29"/>
+		<method name="onSaveInstanceState()Landroid/os/Parcelable;" deprecated="29"/>
+		<method name="onSetInitialValue(ZLjava/lang/Object;)V" deprecated="29"/>
+		<method name="peekExtras()Landroid/os/Bundle;" since="11" deprecated="29"/>
+		<method name="persistBoolean(Z)Z" deprecated="29"/>
+		<method name="persistFloat(F)Z" deprecated="29"/>
+		<method name="persistInt(I)Z" deprecated="29"/>
+		<method name="persistLong(J)Z" deprecated="29"/>
+		<method name="persistString(Ljava/lang/String;)Z" deprecated="29"/>
+		<method name="persistStringSet(Ljava/util/Set;)Z" since="24" deprecated="29"/>
+		<method name="restoreHierarchyState(Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="saveHierarchyState(Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="setDefaultValue(Ljava/lang/Object;)V" deprecated="29"/>
+		<method name="setDependency(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setEnabled(Z)V" deprecated="29"/>
+		<method name="setFragment(Ljava/lang/String;)V" since="11" deprecated="29"/>
+		<method name="setIcon(I)V" since="11" deprecated="29"/>
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)V" since="11" deprecated="29"/>
+		<method name="setIconSpaceReserved(Z)V" since="26" deprecated="29"/>
+		<method name="setIntent(Landroid/content/Intent;)V" deprecated="29"/>
+		<method name="setKey(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setLayoutResource(I)V" deprecated="29"/>
+		<method name="setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V" deprecated="29"/>
+		<method name="setOnPreferenceClickListener(Landroid/preference/Preference$OnPreferenceClickListener;)V" deprecated="29"/>
+		<method name="setOrder(I)V" deprecated="29"/>
+		<method name="setPersistent(Z)V" deprecated="29"/>
+		<method name="setPreferenceDataStore(Landroid/preference/PreferenceDataStore;)V" since="26" deprecated="29"/>
+		<method name="setRecycleEnabled(Z)V" since="26" deprecated="29"/>
+		<method name="setSelectable(Z)V" deprecated="29"/>
+		<method name="setShouldDisableView(Z)V" deprecated="29"/>
+		<method name="setSingleLineTitle(Z)V" since="26" deprecated="29"/>
+		<method name="setSummary(I)V" deprecated="29"/>
+		<method name="setSummary(Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setTitle(I)V" deprecated="29"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setWidgetLayoutResource(I)V" deprecated="29"/>
+		<method name="shouldCommit()Z" deprecated="29"/>
+		<method name="shouldDisableDependents()Z" deprecated="29"/>
+		<method name="shouldPersist()Z" deprecated="29"/>
+		<field name="DEFAULT_ORDER" deprecated="29"/>
+	</class>
+	<class name="android/preference/Preference$BaseSavedState" since="1" deprecated="29">
+		<extends name="android/view/AbsSavedState"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/os/Parcelable;)V" deprecated="29"/>
+		<field name="CREATOR" deprecated="29"/>
+	</class>
+	<class name="android/preference/Preference$OnPreferenceChangeListener" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onPreferenceChange(Landroid/preference/Preference;Ljava/lang/Object;)Z" deprecated="29"/>
+	</class>
+	<class name="android/preference/Preference$OnPreferenceClickListener" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onPreferenceClick(Landroid/preference/Preference;)Z" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceActivity" since="1" deprecated="29">
+		<extends name="android/app/ListActivity"/>
+		<implements name="android/preference/PreferenceFragment$OnPreferenceStartFragmentCallback" since="11"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="addPreferencesFromIntent(Landroid/content/Intent;)V" deprecated="15"/>
+		<method name="addPreferencesFromResource(I)V" deprecated="15"/>
+		<method name="findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;" deprecated="15"/>
+		<method name="finishPreferencePanel(Landroid/app/Fragment;ILandroid/content/Intent;)V" since="11" deprecated="29"/>
+		<method name="getPreferenceManager()Landroid/preference/PreferenceManager;" deprecated="15"/>
+		<method name="getPreferenceScreen()Landroid/preference/PreferenceScreen;" deprecated="15"/>
+		<method name="hasHeaders()Z" since="11" deprecated="29"/>
+		<method name="invalidateHeaders()V" since="11" deprecated="29"/>
+		<method name="isMultiPane()Z" since="11" deprecated="29"/>
+		<method name="isValidFragment(Ljava/lang/String;)Z" since="19" deprecated="29"/>
+		<method name="loadHeadersFromResource(ILjava/util/List;)V" since="11" deprecated="29"/>
+		<method name="onBuildHeaders(Ljava/util/List;)V" since="11" deprecated="29"/>
+		<method name="onBuildStartFragmentIntent(Ljava/lang/String;Landroid/os/Bundle;II)Landroid/content/Intent;" since="14" deprecated="29"/>
+		<method name="onGetInitialHeader()Landroid/preference/PreferenceActivity$Header;" since="11" deprecated="29"/>
+		<method name="onGetNewHeader()Landroid/preference/PreferenceActivity$Header;" since="11" deprecated="29"/>
+		<method name="onHeaderClick(Landroid/preference/PreferenceActivity$Header;I)V" since="11" deprecated="29"/>
+		<method name="onIsHidingHeaders()Z" since="11" deprecated="29"/>
+		<method name="onIsMultiPane()Z" since="11" deprecated="29"/>
+		<method name="onPreferenceTreeClick(Landroid/preference/PreferenceScreen;Landroid/preference/Preference;)Z" deprecated="15"/>
+		<method name="setListFooter(Landroid/view/View;)V" since="11" deprecated="29"/>
+		<method name="setParentTitle(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/view/View$OnClickListener;)V" since="11" deprecated="29"/>
+		<method name="setPreferenceScreen(Landroid/preference/PreferenceScreen;)V" deprecated="15"/>
+		<method name="showBreadCrumbs(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V" since="11" deprecated="29"/>
+		<method name="startPreferenceFragment(Landroid/app/Fragment;Z)V" since="11" deprecated="29"/>
+		<method name="startPreferencePanel(Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/CharSequence;Landroid/app/Fragment;I)V" since="11" deprecated="29"/>
+		<method name="startWithFragment(Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Fragment;I)V" since="11" deprecated="29"/>
+		<method name="startWithFragment(Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Fragment;III)V" since="14" deprecated="29"/>
+		<method name="switchToHeader(Landroid/preference/PreferenceActivity$Header;)V" since="11" deprecated="29"/>
+		<method name="switchToHeader(Ljava/lang/String;Landroid/os/Bundle;)V" since="11" deprecated="29"/>
+		<field name="EXTRA_NO_HEADERS" since="11" deprecated="29"/>
+		<field name="EXTRA_SHOW_FRAGMENT" since="11" deprecated="29"/>
+		<field name="EXTRA_SHOW_FRAGMENT_ARGUMENTS" since="11" deprecated="29"/>
+		<field name="EXTRA_SHOW_FRAGMENT_SHORT_TITLE" since="14" deprecated="29"/>
+		<field name="EXTRA_SHOW_FRAGMENT_TITLE" since="14" deprecated="29"/>
+		<field name="HEADER_ID_UNDEFINED" since="11" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceActivity$Header" since="11" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="getBreadCrumbShortTitle(Landroid/content/res/Resources;)Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getBreadCrumbTitle(Landroid/content/res/Resources;)Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getSummary(Landroid/content/res/Resources;)Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getTitle(Landroid/content/res/Resources;)Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V" deprecated="29"/>
+		<field name="CREATOR" deprecated="29"/>
+		<field name="breadCrumbShortTitle" deprecated="29"/>
+		<field name="breadCrumbShortTitleRes" deprecated="29"/>
+		<field name="breadCrumbTitle" deprecated="29"/>
+		<field name="breadCrumbTitleRes" deprecated="29"/>
+		<field name="extras" deprecated="29"/>
+		<field name="fragment" deprecated="29"/>
+		<field name="fragmentArguments" deprecated="29"/>
+		<field name="iconRes" deprecated="29"/>
+		<field name="id" deprecated="29"/>
+		<field name="intent" deprecated="29"/>
+		<field name="summary" deprecated="29"/>
+		<field name="summaryRes" deprecated="29"/>
+		<field name="title" deprecated="29"/>
+		<field name="titleRes" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceCategory" since="1" deprecated="29">
+		<extends name="android/preference/PreferenceGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceDataStore" since="26" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="getBoolean(Ljava/lang/String;Z)Z" deprecated="29"/>
+		<method name="getFloat(Ljava/lang/String;F)F" deprecated="29"/>
+		<method name="getInt(Ljava/lang/String;I)I" deprecated="29"/>
+		<method name="getLong(Ljava/lang/String;J)J" deprecated="29"/>
+		<method name="getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="29"/>
+		<method name="getStringSet(Ljava/lang/String;Ljava/util/Set;)Ljava/util/Set;" deprecated="29"/>
+		<method name="putBoolean(Ljava/lang/String;Z)V" deprecated="29"/>
+		<method name="putFloat(Ljava/lang/String;F)V" deprecated="29"/>
+		<method name="putInt(Ljava/lang/String;I)V" deprecated="29"/>
+		<method name="putLong(Ljava/lang/String;J)V" deprecated="29"/>
+		<method name="putString(Ljava/lang/String;Ljava/lang/String;)V" deprecated="29"/>
+		<method name="putStringSet(Ljava/lang/String;Ljava/util/Set;)V" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceFragment" since="11" deprecated="28">
+		<extends name="android/app/Fragment"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="addPreferencesFromIntent(Landroid/content/Intent;)V" deprecated="29"/>
+		<method name="addPreferencesFromResource(I)V" deprecated="29"/>
+		<method name="findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;" deprecated="29"/>
+		<method name="getPreferenceManager()Landroid/preference/PreferenceManager;" deprecated="29"/>
+		<method name="getPreferenceScreen()Landroid/preference/PreferenceScreen;" deprecated="29"/>
+		<method name="onPreferenceTreeClick(Landroid/preference/PreferenceScreen;Landroid/preference/Preference;)Z" deprecated="29"/>
+		<method name="setPreferenceScreen(Landroid/preference/PreferenceScreen;)V" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceFragment$OnPreferenceStartFragmentCallback" since="11" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="onPreferenceStartFragment(Landroid/preference/PreferenceFragment;Landroid/preference/Preference;)Z" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceGroup" since="1" deprecated="29">
+		<extends name="android/preference/Preference"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="addItemFromInflater(Landroid/preference/Preference;)V" deprecated="29"/>
+		<method name="addPreference(Landroid/preference/Preference;)Z" deprecated="29"/>
+		<method name="dispatchRestoreInstanceState(Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="dispatchSaveInstanceState(Landroid/os/Bundle;)V" deprecated="29"/>
+		<method name="findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;" deprecated="29"/>
+		<method name="getPreference(I)Landroid/preference/Preference;" deprecated="29"/>
+		<method name="getPreferenceCount()I" deprecated="29"/>
+		<method name="isOnSameScreenAsChildren()Z" deprecated="29"/>
+		<method name="isOrderingAsAdded()Z" deprecated="29"/>
+		<method name="onPrepareAddPreference(Landroid/preference/Preference;)Z" deprecated="29"/>
+		<method name="removeAll()V" deprecated="29"/>
+		<method name="removePreference(Landroid/preference/Preference;)Z" deprecated="29"/>
+		<method name="setOrderingAsAdded(Z)V" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceManager" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="createPreferenceScreen(Landroid/content/Context;)Landroid/preference/PreferenceScreen;" deprecated="29"/>
+		<method name="findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;" deprecated="29"/>
+		<method name="getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences;" deprecated="29"/>
+		<method name="getDefaultSharedPreferencesName(Landroid/content/Context;)Ljava/lang/String;" since="24" deprecated="29"/>
+		<method name="getPreferenceDataStore()Landroid/preference/PreferenceDataStore;" since="26" deprecated="29"/>
+		<method name="getSharedPreferences()Landroid/content/SharedPreferences;" deprecated="29"/>
+		<method name="getSharedPreferencesMode()I" deprecated="29"/>
+		<method name="getSharedPreferencesName()Ljava/lang/String;" deprecated="29"/>
+		<method name="isStorageDefault()Z" since="24" deprecated="29"/>
+		<method name="isStorageDeviceProtected()Z" since="24" deprecated="29"/>
+		<method name="setDefaultValues(Landroid/content/Context;IZ)V" deprecated="29"/>
+		<method name="setDefaultValues(Landroid/content/Context;Ljava/lang/String;IIZ)V" deprecated="29"/>
+		<method name="setPreferenceDataStore(Landroid/preference/PreferenceDataStore;)V" since="26" deprecated="29"/>
+		<method name="setSharedPreferencesMode(I)V" deprecated="29"/>
+		<method name="setSharedPreferencesName(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setStorageDefault()V" since="24" deprecated="29"/>
+		<method name="setStorageDeviceProtected()V" since="24" deprecated="29"/>
+		<field name="KEY_HAS_SET_DEFAULT_VALUES" deprecated="29"/>
+		<field name="METADATA_KEY_PREFERENCES" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceManager$OnActivityDestroyListener" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onActivityDestroy()V" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceManager$OnActivityResultListener" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onActivityResult(IILandroid/content/Intent;)Z" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceManager$OnActivityStopListener" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onActivityStop()V" deprecated="29"/>
+	</class>
+	<class name="android/preference/PreferenceScreen" since="1" deprecated="29">
+		<extends name="android/preference/PreferenceGroup"/>
+		<implements name="android/content/DialogInterface$OnDismissListener"/>
+		<implements name="android/widget/AdapterView$OnItemClickListener"/>
+		<method name="bind(Landroid/widget/ListView;)V" deprecated="29"/>
+		<method name="getDialog()Landroid/app/Dialog;" deprecated="29"/>
+		<method name="getRootAdapter()Landroid/widget/ListAdapter;" deprecated="29"/>
+		<method name="onCreateRootAdapter()Landroid/widget/ListAdapter;" deprecated="29"/>
+	</class>
+	<class name="android/preference/RingtonePreference" since="1" deprecated="29">
+		<extends name="android/preference/Preference"/>
+		<implements name="android/preference/PreferenceManager$OnActivityResultListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="getRingtoneType()I" deprecated="29"/>
+		<method name="getShowDefault()Z" deprecated="29"/>
+		<method name="getShowSilent()Z" deprecated="29"/>
+		<method name="onPrepareRingtonePickerIntent(Landroid/content/Intent;)V" deprecated="29"/>
+		<method name="onRestoreRingtone()Landroid/net/Uri;" deprecated="29"/>
+		<method name="onSaveRingtone(Landroid/net/Uri;)V" deprecated="29"/>
+		<method name="setRingtoneType(I)V" deprecated="29"/>
+		<method name="setShowDefault(Z)V" deprecated="29"/>
+		<method name="setShowSilent(Z)V" deprecated="29"/>
+	</class>
+	<class name="android/preference/SwitchPreference" since="14" deprecated="29">
+		<extends name="android/preference/TwoStatePreference"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="getSwitchTextOff()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getSwitchTextOn()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="setSwitchTextOff(I)V" deprecated="29"/>
+		<method name="setSwitchTextOff(Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setSwitchTextOn(I)V" deprecated="29"/>
+		<method name="setSwitchTextOn(Ljava/lang/CharSequence;)V" deprecated="29"/>
+	</class>
+	<class name="android/preference/TwoStatePreference" since="14" deprecated="29">
+		<extends name="android/preference/Preference"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="getDisableDependentsState()Z" deprecated="29"/>
+		<method name="getSummaryOff()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getSummaryOn()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="isChecked()Z" deprecated="29"/>
+		<method name="setChecked(Z)V" deprecated="29"/>
+		<method name="setDisableDependentsState(Z)V" deprecated="29"/>
+		<method name="setSummaryOff(I)V" deprecated="29"/>
+		<method name="setSummaryOff(Ljava/lang/CharSequence;)V" deprecated="29"/>
+		<method name="setSummaryOn(I)V" deprecated="29"/>
+		<method name="setSummaryOn(Ljava/lang/CharSequence;)V" deprecated="29"/>
+	</class>
+	<class name="android/print/PageRange" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getEnd()I"/>
+		<method name="getStart()I"/>
+		<field name="ALL_PAGES"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/print/PrintAttributes" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getColorMode()I"/>
+		<method name="getDuplexMode()I" since="23"/>
+		<method name="getMediaSize()Landroid/print/PrintAttributes$MediaSize;"/>
+		<method name="getMinMargins()Landroid/print/PrintAttributes$Margins;"/>
+		<method name="getResolution()Landroid/print/PrintAttributes$Resolution;"/>
+		<field name="COLOR_MODE_COLOR"/>
+		<field name="COLOR_MODE_MONOCHROME"/>
+		<field name="CREATOR"/>
+		<field name="DUPLEX_MODE_LONG_EDGE" since="23"/>
+		<field name="DUPLEX_MODE_NONE" since="23"/>
+		<field name="DUPLEX_MODE_SHORT_EDGE" since="23"/>
+	</class>
+	<class name="android/print/PrintAttributes$Builder" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/print/PrintAttributes;"/>
+		<method name="setColorMode(I)Landroid/print/PrintAttributes$Builder;"/>
+		<method name="setDuplexMode(I)Landroid/print/PrintAttributes$Builder;" since="23"/>
+		<method name="setMediaSize(Landroid/print/PrintAttributes$MediaSize;)Landroid/print/PrintAttributes$Builder;"/>
+		<method name="setMinMargins(Landroid/print/PrintAttributes$Margins;)Landroid/print/PrintAttributes$Builder;"/>
+		<method name="setResolution(Landroid/print/PrintAttributes$Resolution;)Landroid/print/PrintAttributes$Builder;"/>
+	</class>
+	<class name="android/print/PrintAttributes$Margins" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IIII)V"/>
+		<method name="getBottomMils()I"/>
+		<method name="getLeftMils()I"/>
+		<method name="getRightMils()I"/>
+		<method name="getTopMils()I"/>
+		<field name="NO_MARGINS"/>
+	</class>
+	<class name="android/print/PrintAttributes$MediaSize" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;II)V"/>
+		<method name="asLandscape()Landroid/print/PrintAttributes$MediaSize;"/>
+		<method name="asPortrait()Landroid/print/PrintAttributes$MediaSize;"/>
+		<method name="getHeightMils()I"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getLabel(Landroid/content/pm/PackageManager;)Ljava/lang/String;"/>
+		<method name="getWidthMils()I"/>
+		<method name="isPortrait()Z"/>
+		<field name="ANSI_C" since="31"/>
+		<field name="ANSI_D" since="31"/>
+		<field name="ANSI_E" since="31"/>
+		<field name="ANSI_F" since="31"/>
+		<field name="ISO_A0"/>
+		<field name="ISO_A1"/>
+		<field name="ISO_A10"/>
+		<field name="ISO_A2"/>
+		<field name="ISO_A3"/>
+		<field name="ISO_A4"/>
+		<field name="ISO_A5"/>
+		<field name="ISO_A6"/>
+		<field name="ISO_A7"/>
+		<field name="ISO_A8"/>
+		<field name="ISO_A9"/>
+		<field name="ISO_B0"/>
+		<field name="ISO_B1"/>
+		<field name="ISO_B10"/>
+		<field name="ISO_B2"/>
+		<field name="ISO_B3"/>
+		<field name="ISO_B4"/>
+		<field name="ISO_B5"/>
+		<field name="ISO_B6"/>
+		<field name="ISO_B7"/>
+		<field name="ISO_B8"/>
+		<field name="ISO_B9"/>
+		<field name="ISO_C0"/>
+		<field name="ISO_C1"/>
+		<field name="ISO_C10"/>
+		<field name="ISO_C2"/>
+		<field name="ISO_C3"/>
+		<field name="ISO_C4"/>
+		<field name="ISO_C5"/>
+		<field name="ISO_C6"/>
+		<field name="ISO_C7"/>
+		<field name="ISO_C8"/>
+		<field name="ISO_C9"/>
+		<field name="JIS_B0"/>
+		<field name="JIS_B1"/>
+		<field name="JIS_B10"/>
+		<field name="JIS_B2"/>
+		<field name="JIS_B3"/>
+		<field name="JIS_B4"/>
+		<field name="JIS_B5"/>
+		<field name="JIS_B6"/>
+		<field name="JIS_B7"/>
+		<field name="JIS_B8"/>
+		<field name="JIS_B9"/>
+		<field name="JIS_EXEC"/>
+		<field name="JPN_CHOU2"/>
+		<field name="JPN_CHOU3"/>
+		<field name="JPN_CHOU4"/>
+		<field name="JPN_HAGAKI"/>
+		<field name="JPN_KAHU"/>
+		<field name="JPN_KAKU2"/>
+		<field name="JPN_OE_PHOTO_L" since="31"/>
+		<field name="JPN_OUFUKU"/>
+		<field name="JPN_YOU4"/>
+		<field name="NA_ARCH_A" since="31"/>
+		<field name="NA_ARCH_B" since="31"/>
+		<field name="NA_ARCH_C" since="31"/>
+		<field name="NA_ARCH_D" since="31"/>
+		<field name="NA_ARCH_E" since="31"/>
+		<field name="NA_ARCH_E1" since="31"/>
+		<field name="NA_FOOLSCAP"/>
+		<field name="NA_GOVT_LETTER"/>
+		<field name="NA_INDEX_3X5"/>
+		<field name="NA_INDEX_4X6"/>
+		<field name="NA_INDEX_5X8"/>
+		<field name="NA_JUNIOR_LEGAL"/>
+		<field name="NA_LEDGER"/>
+		<field name="NA_LEGAL"/>
+		<field name="NA_LETTER"/>
+		<field name="NA_MONARCH"/>
+		<field name="NA_QUARTO"/>
+		<field name="NA_SUPER_B" since="31"/>
+		<field name="NA_TABLOID"/>
+		<field name="OM_DAI_PA_KAI"/>
+		<field name="OM_JUURO_KU_KAI"/>
+		<field name="OM_PA_KAI"/>
+		<field name="PRC_1"/>
+		<field name="PRC_10"/>
+		<field name="PRC_16K"/>
+		<field name="PRC_2"/>
+		<field name="PRC_3"/>
+		<field name="PRC_4"/>
+		<field name="PRC_5"/>
+		<field name="PRC_6"/>
+		<field name="PRC_7"/>
+		<field name="PRC_8"/>
+		<field name="PRC_9"/>
+		<field name="ROC_16K"/>
+		<field name="ROC_8K"/>
+		<field name="UNKNOWN_LANDSCAPE"/>
+		<field name="UNKNOWN_PORTRAIT"/>
+	</class>
+	<class name="android/print/PrintAttributes$Resolution" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;II)V"/>
+		<method name="getHorizontalDpi()I"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getLabel()Ljava/lang/String;"/>
+		<method name="getVerticalDpi()I"/>
+	</class>
+	<class name="android/print/PrintDocumentAdapter" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onFinish()V"/>
+		<method name="onLayout(Landroid/print/PrintAttributes;Landroid/print/PrintAttributes;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$LayoutResultCallback;Landroid/os/Bundle;)V"/>
+		<method name="onStart()V"/>
+		<method name="onWrite([Landroid/print/PageRange;Landroid/os/ParcelFileDescriptor;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$WriteResultCallback;)V"/>
+		<field name="EXTRA_PRINT_PREVIEW"/>
+	</class>
+	<class name="android/print/PrintDocumentAdapter$LayoutResultCallback" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="onLayoutCancelled()V"/>
+		<method name="onLayoutFailed(Ljava/lang/CharSequence;)V"/>
+		<method name="onLayoutFinished(Landroid/print/PrintDocumentInfo;Z)V"/>
+	</class>
+	<class name="android/print/PrintDocumentAdapter$WriteResultCallback" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="onWriteCancelled()V"/>
+		<method name="onWriteFailed(Ljava/lang/CharSequence;)V"/>
+		<method name="onWriteFinished([Landroid/print/PageRange;)V"/>
+	</class>
+	<class name="android/print/PrintDocumentInfo" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getContentType()I"/>
+		<method name="getDataSize()J"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPageCount()I"/>
+		<field name="CONTENT_TYPE_DOCUMENT"/>
+		<field name="CONTENT_TYPE_PHOTO"/>
+		<field name="CONTENT_TYPE_UNKNOWN"/>
+		<field name="CREATOR"/>
+		<field name="PAGE_COUNT_UNKNOWN"/>
+	</class>
+	<class name="android/print/PrintDocumentInfo$Builder" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/print/PrintDocumentInfo;"/>
+		<method name="setContentType(I)Landroid/print/PrintDocumentInfo$Builder;"/>
+		<method name="setPageCount(I)Landroid/print/PrintDocumentInfo$Builder;"/>
+	</class>
+	<class name="android/print/PrintJob" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V"/>
+		<method name="getId()Landroid/print/PrintJobId;"/>
+		<method name="getInfo()Landroid/print/PrintJobInfo;"/>
+		<method name="isBlocked()Z"/>
+		<method name="isCancelled()Z"/>
+		<method name="isCompleted()Z"/>
+		<method name="isFailed()Z"/>
+		<method name="isQueued()Z"/>
+		<method name="isStarted()Z"/>
+		<method name="restart()V"/>
+	</class>
+	<class name="android/print/PrintJobId" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/print/PrintJobInfo" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAdvancedIntOption(Ljava/lang/String;)I" since="26"/>
+		<method name="getAdvancedStringOption(Ljava/lang/String;)Ljava/lang/String;" since="26"/>
+		<method name="getAttributes()Landroid/print/PrintAttributes;"/>
+		<method name="getCopies()I"/>
+		<method name="getCreationTime()J"/>
+		<method name="getId()Landroid/print/PrintJobId;"/>
+		<method name="getLabel()Ljava/lang/String;"/>
+		<method name="getPages()[Landroid/print/PageRange;"/>
+		<method name="getPrinterId()Landroid/print/PrinterId;"/>
+		<method name="getState()I"/>
+		<method name="hasAdvancedOption(Ljava/lang/String;)Z" since="26"/>
+		<field name="CREATOR"/>
+		<field name="STATE_BLOCKED"/>
+		<field name="STATE_CANCELED"/>
+		<field name="STATE_COMPLETED"/>
+		<field name="STATE_CREATED"/>
+		<field name="STATE_FAILED"/>
+		<field name="STATE_QUEUED"/>
+		<field name="STATE_STARTED"/>
+	</class>
+	<class name="android/print/PrintJobInfo$Builder" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/print/PrintJobInfo;)V"/>
+		<method name="build()Landroid/print/PrintJobInfo;"/>
+		<method name="putAdvancedOption(Ljava/lang/String;I)V"/>
+		<method name="putAdvancedOption(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setAttributes(Landroid/print/PrintAttributes;)V"/>
+		<method name="setCopies(I)V"/>
+		<method name="setPages([Landroid/print/PageRange;)V"/>
+	</class>
+	<class name="android/print/PrintManager" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="getPrintJobs()Ljava/util/List;"/>
+		<method name="print(Ljava/lang/String;Landroid/print/PrintDocumentAdapter;Landroid/print/PrintAttributes;)Landroid/print/PrintJob;"/>
+	</class>
+	<class name="android/print/PrinterCapabilitiesInfo" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getColorModes()I"/>
+		<method name="getDefaults()Landroid/print/PrintAttributes;"/>
+		<method name="getDuplexModes()I" since="23"/>
+		<method name="getMediaSizes()Ljava/util/List;"/>
+		<method name="getMinMargins()Landroid/print/PrintAttributes$Margins;"/>
+		<method name="getResolutions()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/print/PrinterCapabilitiesInfo$Builder" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/print/PrinterId;)V"/>
+		<method name="addMediaSize(Landroid/print/PrintAttributes$MediaSize;Z)Landroid/print/PrinterCapabilitiesInfo$Builder;"/>
+		<method name="addResolution(Landroid/print/PrintAttributes$Resolution;Z)Landroid/print/PrinterCapabilitiesInfo$Builder;"/>
+		<method name="build()Landroid/print/PrinterCapabilitiesInfo;"/>
+		<method name="setColorModes(II)Landroid/print/PrinterCapabilitiesInfo$Builder;"/>
+		<method name="setDuplexModes(II)Landroid/print/PrinterCapabilitiesInfo$Builder;" since="23"/>
+		<method name="setMinMargins(Landroid/print/PrintAttributes$Margins;)Landroid/print/PrinterCapabilitiesInfo$Builder;"/>
+	</class>
+	<class name="android/print/PrinterId" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getLocalId()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/print/PrinterInfo" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCapabilities()Landroid/print/PrinterCapabilitiesInfo;"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getId()Landroid/print/PrinterId;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getStatus()I"/>
+		<field name="CREATOR"/>
+		<field name="STATUS_BUSY"/>
+		<field name="STATUS_IDLE"/>
+		<field name="STATUS_UNAVAILABLE"/>
+	</class>
+	<class name="android/print/PrinterInfo$Builder" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/print/PrinterId;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Landroid/print/PrinterInfo;)V"/>
+		<method name="build()Landroid/print/PrinterInfo;"/>
+		<method name="setCapabilities(Landroid/print/PrinterCapabilitiesInfo;)Landroid/print/PrinterInfo$Builder;"/>
+		<method name="setDescription(Ljava/lang/String;)Landroid/print/PrinterInfo$Builder;"/>
+		<method name="setHasCustomPrinterIcon(Z)Landroid/print/PrinterInfo$Builder;" since="24"/>
+		<method name="setIconResourceId(I)Landroid/print/PrinterInfo$Builder;" since="24"/>
+		<method name="setInfoIntent(Landroid/app/PendingIntent;)Landroid/print/PrinterInfo$Builder;" since="24"/>
+		<method name="setName(Ljava/lang/String;)Landroid/print/PrinterInfo$Builder;"/>
+		<method name="setStatus(I)Landroid/print/PrinterInfo$Builder;"/>
+	</class>
+	<class name="android/print/pdf/PrintedPdfDocument" since="19">
+		<extends name="android/graphics/pdf/PdfDocument"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/print/PrintAttributes;)V"/>
+		<method name="getPageContentRect()Landroid/graphics/Rect;"/>
+		<method name="getPageHeight()I"/>
+		<method name="getPageWidth()I"/>
+		<method name="startPage(I)Landroid/graphics/pdf/PdfDocument$Page;"/>
+	</class>
+	<class name="android/printservice/CustomPrinterIconCallback" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onCustomPrinterIconLoaded(Landroid/graphics/drawable/Icon;)Z"/>
+	</class>
+	<class name="android/printservice/PrintDocument" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="getData()Landroid/os/ParcelFileDescriptor;"/>
+		<method name="getInfo()Landroid/print/PrintDocumentInfo;"/>
+	</class>
+	<class name="android/printservice/PrintJob" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="block(Ljava/lang/String;)Z"/>
+		<method name="cancel()Z"/>
+		<method name="complete()Z"/>
+		<method name="fail(Ljava/lang/String;)Z"/>
+		<method name="getAdvancedIntOption(Ljava/lang/String;)I"/>
+		<method name="getAdvancedStringOption(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getDocument()Landroid/printservice/PrintDocument;"/>
+		<method name="getId()Landroid/print/PrintJobId;"/>
+		<method name="getInfo()Landroid/print/PrintJobInfo;"/>
+		<method name="getTag()Ljava/lang/String;"/>
+		<method name="hasAdvancedOption(Ljava/lang/String;)Z"/>
+		<method name="isBlocked()Z"/>
+		<method name="isCancelled()Z"/>
+		<method name="isCompleted()Z"/>
+		<method name="isFailed()Z"/>
+		<method name="isQueued()Z"/>
+		<method name="isStarted()Z"/>
+		<method name="setProgress(F)V" since="24"/>
+		<method name="setStatus(I)V" since="24"/>
+		<method name="setStatus(Ljava/lang/CharSequence;)V" since="24"/>
+		<method name="setTag(Ljava/lang/String;)Z"/>
+		<method name="start()Z"/>
+	</class>
+	<class name="android/printservice/PrintService" since="19">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="generatePrinterId(Ljava/lang/String;)Landroid/print/PrinterId;"/>
+		<method name="getActivePrintJobs()Ljava/util/List;"/>
+		<method name="onConnected()V"/>
+		<method name="onCreatePrinterDiscoverySession()Landroid/printservice/PrinterDiscoverySession;"/>
+		<method name="onDisconnected()V"/>
+		<method name="onPrintJobQueued(Landroid/printservice/PrintJob;)V"/>
+		<method name="onRequestCancelPrintJob(Landroid/printservice/PrintJob;)V"/>
+		<field name="EXTRA_CAN_SELECT_PRINTER" since="26"/>
+		<field name="EXTRA_PRINTER_INFO" since="21"/>
+		<field name="EXTRA_PRINT_DOCUMENT_INFO" since="23"/>
+		<field name="EXTRA_PRINT_JOB_INFO"/>
+		<field name="EXTRA_SELECT_PRINTER" since="26"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/printservice/PrinterDiscoverySession" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addPrinters(Ljava/util/List;)V"/>
+		<method name="getPrinters()Ljava/util/List;"/>
+		<method name="getTrackedPrinters()Ljava/util/List;"/>
+		<method name="isDestroyed()Z"/>
+		<method name="isPrinterDiscoveryStarted()Z"/>
+		<method name="onDestroy()V"/>
+		<method name="onRequestCustomPrinterIcon(Landroid/print/PrinterId;Landroid/os/CancellationSignal;Landroid/printservice/CustomPrinterIconCallback;)V" since="24"/>
+		<method name="onStartPrinterDiscovery(Ljava/util/List;)V"/>
+		<method name="onStartPrinterStateTracking(Landroid/print/PrinterId;)V"/>
+		<method name="onStopPrinterDiscovery()V"/>
+		<method name="onStopPrinterStateTracking(Landroid/print/PrinterId;)V"/>
+		<method name="onValidatePrinters(Ljava/util/List;)V"/>
+		<method name="removePrinters(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/provider/AlarmClock" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="ACTION_DISMISS_ALARM" since="23"/>
+		<field name="ACTION_DISMISS_TIMER" since="28"/>
+		<field name="ACTION_SET_ALARM"/>
+		<field name="ACTION_SET_TIMER" since="19"/>
+		<field name="ACTION_SHOW_ALARMS" since="19"/>
+		<field name="ACTION_SHOW_TIMERS" since="26"/>
+		<field name="ACTION_SNOOZE_ALARM" since="23"/>
+		<field name="ALARM_SEARCH_MODE_ALL" since="23"/>
+		<field name="ALARM_SEARCH_MODE_LABEL" since="23"/>
+		<field name="ALARM_SEARCH_MODE_NEXT" since="23"/>
+		<field name="ALARM_SEARCH_MODE_TIME" since="23"/>
+		<field name="EXTRA_ALARM_SEARCH_MODE" since="23"/>
+		<field name="EXTRA_ALARM_SNOOZE_DURATION" since="23"/>
+		<field name="EXTRA_DAYS" since="19"/>
+		<field name="EXTRA_HOUR"/>
+		<field name="EXTRA_IS_PM" since="23"/>
+		<field name="EXTRA_LENGTH" since="19"/>
+		<field name="EXTRA_MESSAGE"/>
+		<field name="EXTRA_MINUTES"/>
+		<field name="EXTRA_RINGTONE" since="19"/>
+		<field name="EXTRA_SKIP_UI" since="11"/>
+		<field name="EXTRA_VIBRATE" since="19"/>
+		<field name="VALUE_RINGTONE_SILENT" since="19"/>
+	</class>
+	<class name="android/provider/BaseColumns" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="_COUNT"/>
+		<field name="_ID"/>
+	</class>
+	<class name="android/provider/BlockedNumberContract" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="canCurrentUserBlockNumbers(Landroid/content/Context;)Z"/>
+		<method name="isBlocked(Landroid/content/Context;Ljava/lang/String;)Z"/>
+		<method name="unblock(Landroid/content/Context;Ljava/lang/String;)I"/>
+		<field name="AUTHORITY"/>
+		<field name="AUTHORITY_URI"/>
+	</class>
+	<class name="android/provider/BlockedNumberContract$BlockedNumbers" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="COLUMN_E164_NUMBER"/>
+		<field name="COLUMN_ID"/>
+		<field name="COLUMN_ORIGINAL_NUMBER"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/Browser" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addSearchUrl(Landroid/content/ContentResolver;Ljava/lang/String;)V" removed="23"/>
+		<method name="canClearHistory(Landroid/content/ContentResolver;)Z" removed="23"/>
+		<method name="clearHistory(Landroid/content/ContentResolver;)V" removed="23"/>
+		<method name="clearSearches(Landroid/content/ContentResolver;)V" removed="23"/>
+		<method name="deleteFromHistory(Landroid/content/ContentResolver;Ljava/lang/String;)V" removed="23"/>
+		<method name="deleteHistoryTimeFrame(Landroid/content/ContentResolver;JJ)V" removed="23"/>
+		<method name="getAllBookmarks(Landroid/content/ContentResolver;)Landroid/database/Cursor;" removed="23"/>
+		<method name="getAllVisitedUrls(Landroid/content/ContentResolver;)Landroid/database/Cursor;" removed="23"/>
+		<method name="requestAllIcons(Landroid/content/ContentResolver;Ljava/lang/String;Landroid/webkit/WebIconDatabase$IconListener;)V" removed="23"/>
+		<method name="saveBookmark(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V" removed="23"/>
+		<method name="sendString(Landroid/content/Context;Ljava/lang/String;)V"/>
+		<method name="truncateHistory(Landroid/content/ContentResolver;)V" removed="23"/>
+		<method name="updateVisitedHistory(Landroid/content/ContentResolver;Ljava/lang/String;Z)V" removed="23"/>
+		<field name="BOOKMARKS_URI" removed="23"/>
+		<field name="EXTRA_APPLICATION_ID" since="3"/>
+		<field name="EXTRA_CREATE_NEW_TAB" since="12"/>
+		<field name="EXTRA_HEADERS" since="8"/>
+		<field name="HISTORY_PROJECTION" removed="23"/>
+		<field name="HISTORY_PROJECTION_BOOKMARK_INDEX" removed="23"/>
+		<field name="HISTORY_PROJECTION_DATE_INDEX" removed="23"/>
+		<field name="HISTORY_PROJECTION_FAVICON_INDEX" removed="23"/>
+		<field name="HISTORY_PROJECTION_ID_INDEX" removed="23"/>
+		<field name="HISTORY_PROJECTION_TITLE_INDEX" removed="23"/>
+		<field name="HISTORY_PROJECTION_URL_INDEX" removed="23"/>
+		<field name="HISTORY_PROJECTION_VISITS_INDEX" removed="23"/>
+		<field name="INITIAL_ZOOM_LEVEL"/>
+		<field name="SEARCHES_PROJECTION" removed="23"/>
+		<field name="SEARCHES_PROJECTION_DATE_INDEX" removed="23"/>
+		<field name="SEARCHES_PROJECTION_SEARCH_INDEX" removed="23"/>
+		<field name="SEARCHES_URI" removed="23"/>
+		<field name="TRUNCATE_HISTORY_PROJECTION" removed="23"/>
+		<field name="TRUNCATE_HISTORY_PROJECTION_ID_INDEX" removed="23"/>
+		<field name="TRUNCATE_N_OLDEST" removed="23"/>
+	</class>
+	<class name="android/provider/Browser$BookmarkColumns" since="1" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="&lt;init>()V"/>
+		<field name="BOOKMARK"/>
+		<field name="CREATED"/>
+		<field name="DATE"/>
+		<field name="FAVICON"/>
+		<field name="TITLE"/>
+		<field name="URL"/>
+		<field name="VISITS"/>
+	</class>
+	<class name="android/provider/Browser$SearchColumns" since="1" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="&lt;init>()V"/>
+		<field name="DATE"/>
+		<field name="SEARCH"/>
+		<field name="URL" deprecated="15"/>
+	</class>
+	<class name="android/provider/CalendarContract" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="startViewCalendarEventInManagedProfile(Landroid/content/Context;JJJZI)Z" since="29"/>
+		<field name="ACCOUNT_TYPE_LOCAL"/>
+		<field name="ACTION_EVENT_REMINDER"/>
+		<field name="ACTION_HANDLE_CUSTOM_EVENT" since="16"/>
+		<field name="ACTION_VIEW_MANAGED_PROFILE_CALENDAR_EVENT" since="29"/>
+		<field name="AUTHORITY"/>
+		<field name="CALLER_IS_SYNCADAPTER"/>
+		<field name="CONTENT_URI"/>
+		<field name="EXTRA_CUSTOM_APP_URI" since="16"/>
+		<field name="EXTRA_EVENT_ALL_DAY"/>
+		<field name="EXTRA_EVENT_BEGIN_TIME"/>
+		<field name="EXTRA_EVENT_END_TIME"/>
+		<field name="EXTRA_EVENT_ID" since="29"/>
+	</class>
+	<class name="android/provider/CalendarContract$Attendees" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/CalendarContract$AttendeesColumns"/>
+		<implements name="android/provider/CalendarContract$EventsColumns"/>
+		<method name="query(Landroid/content/ContentResolver;J[Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/CalendarContract$AttendeesColumns" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="ATTENDEE_EMAIL"/>
+		<field name="ATTENDEE_IDENTITY" since="16"/>
+		<field name="ATTENDEE_ID_NAMESPACE" since="16"/>
+		<field name="ATTENDEE_NAME"/>
+		<field name="ATTENDEE_RELATIONSHIP"/>
+		<field name="ATTENDEE_STATUS"/>
+		<field name="ATTENDEE_STATUS_ACCEPTED"/>
+		<field name="ATTENDEE_STATUS_DECLINED"/>
+		<field name="ATTENDEE_STATUS_INVITED"/>
+		<field name="ATTENDEE_STATUS_NONE"/>
+		<field name="ATTENDEE_STATUS_TENTATIVE"/>
+		<field name="ATTENDEE_TYPE"/>
+		<field name="EVENT_ID"/>
+		<field name="RELATIONSHIP_ATTENDEE"/>
+		<field name="RELATIONSHIP_NONE"/>
+		<field name="RELATIONSHIP_ORGANIZER"/>
+		<field name="RELATIONSHIP_PERFORMER"/>
+		<field name="RELATIONSHIP_SPEAKER"/>
+		<field name="TYPE_NONE"/>
+		<field name="TYPE_OPTIONAL"/>
+		<field name="TYPE_REQUIRED"/>
+		<field name="TYPE_RESOURCE" since="15"/>
+	</class>
+	<class name="android/provider/CalendarContract$CalendarAlerts" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/CalendarContract$CalendarAlertsColumns"/>
+		<implements name="android/provider/CalendarContract$CalendarColumns"/>
+		<implements name="android/provider/CalendarContract$EventsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="CONTENT_URI_BY_INSTANCE"/>
+	</class>
+	<class name="android/provider/CalendarContract$CalendarAlertsColumns" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="ALARM_TIME"/>
+		<field name="BEGIN"/>
+		<field name="CREATION_TIME"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="END"/>
+		<field name="EVENT_ID"/>
+		<field name="MINUTES"/>
+		<field name="NOTIFY_TIME"/>
+		<field name="RECEIVED_TIME"/>
+		<field name="STATE"/>
+		<field name="STATE_DISMISSED"/>
+		<field name="STATE_FIRED"/>
+		<field name="STATE_SCHEDULED"/>
+	</class>
+	<class name="android/provider/CalendarContract$CalendarCache" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/CalendarContract$CalendarCacheColumns"/>
+		<field name="KEY_TIMEZONE_INSTANCES"/>
+		<field name="KEY_TIMEZONE_INSTANCES_PREVIOUS"/>
+		<field name="KEY_TIMEZONE_TYPE"/>
+		<field name="TIMEZONE_TYPE_AUTO"/>
+		<field name="TIMEZONE_TYPE_HOME"/>
+		<field name="URI"/>
+	</class>
+	<class name="android/provider/CalendarContract$CalendarCacheColumns" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="KEY"/>
+		<field name="VALUE"/>
+	</class>
+	<class name="android/provider/CalendarContract$CalendarColumns" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="ALLOWED_ATTENDEE_TYPES" since="15"/>
+		<field name="ALLOWED_AVAILABILITY" since="15"/>
+		<field name="ALLOWED_REMINDERS"/>
+		<field name="CALENDAR_ACCESS_LEVEL"/>
+		<field name="CALENDAR_COLOR"/>
+		<field name="CALENDAR_COLOR_KEY" since="15"/>
+		<field name="CALENDAR_DISPLAY_NAME"/>
+		<field name="CALENDAR_TIME_ZONE"/>
+		<field name="CAL_ACCESS_CONTRIBUTOR"/>
+		<field name="CAL_ACCESS_EDITOR"/>
+		<field name="CAL_ACCESS_FREEBUSY"/>
+		<field name="CAL_ACCESS_NONE"/>
+		<field name="CAL_ACCESS_OVERRIDE"/>
+		<field name="CAL_ACCESS_OWNER"/>
+		<field name="CAL_ACCESS_READ"/>
+		<field name="CAL_ACCESS_RESPOND"/>
+		<field name="CAL_ACCESS_ROOT"/>
+		<field name="CAN_MODIFY_TIME_ZONE"/>
+		<field name="CAN_ORGANIZER_RESPOND"/>
+		<field name="IS_PRIMARY" since="17"/>
+		<field name="MAX_REMINDERS"/>
+		<field name="OWNER_ACCOUNT"/>
+		<field name="SYNC_EVENTS"/>
+		<field name="VISIBLE"/>
+	</class>
+	<class name="android/provider/CalendarContract$CalendarEntity" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/CalendarContract$CalendarColumns"/>
+		<implements name="android/provider/CalendarContract$SyncColumns"/>
+		<method name="newEntityIterator(Landroid/database/Cursor;)Landroid/content/EntityIterator;"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/CalendarContract$CalendarSyncColumns" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="CAL_SYNC1"/>
+		<field name="CAL_SYNC10"/>
+		<field name="CAL_SYNC2"/>
+		<field name="CAL_SYNC3"/>
+		<field name="CAL_SYNC4"/>
+		<field name="CAL_SYNC5"/>
+		<field name="CAL_SYNC6"/>
+		<field name="CAL_SYNC7"/>
+		<field name="CAL_SYNC8"/>
+		<field name="CAL_SYNC9"/>
+	</class>
+	<class name="android/provider/CalendarContract$Calendars" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/CalendarContract$CalendarColumns"/>
+		<implements name="android/provider/CalendarContract$SyncColumns"/>
+		<field name="CALENDAR_LOCATION"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="ENTERPRISE_CONTENT_URI" since="29"/>
+		<field name="NAME"/>
+	</class>
+	<class name="android/provider/CalendarContract$Colors" since="15">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/CalendarContract$ColorsColumns"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/CalendarContract$ColorsColumns" since="15">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/SyncStateContract$Columns"/>
+		<field name="COLOR"/>
+		<field name="COLOR_KEY"/>
+		<field name="COLOR_TYPE"/>
+		<field name="TYPE_CALENDAR"/>
+		<field name="TYPE_EVENT"/>
+	</class>
+	<class name="android/provider/CalendarContract$EventDays" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/CalendarContract$EventDaysColumns"/>
+		<method name="query(Landroid/content/ContentResolver;II[Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/CalendarContract$EventDaysColumns" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="ENDDAY"/>
+		<field name="STARTDAY"/>
+	</class>
+	<class name="android/provider/CalendarContract$Events" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/CalendarContract$CalendarColumns"/>
+		<implements name="android/provider/CalendarContract$EventsColumns"/>
+		<implements name="android/provider/CalendarContract$SyncColumns"/>
+		<field name="CONTENT_EXCEPTION_URI"/>
+		<field name="CONTENT_URI"/>
+		<field name="ENTERPRISE_CONTENT_URI" since="29"/>
+	</class>
+	<class name="android/provider/CalendarContract$EventsColumns" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="ACCESS_CONFIDENTIAL"/>
+		<field name="ACCESS_DEFAULT"/>
+		<field name="ACCESS_LEVEL"/>
+		<field name="ACCESS_PRIVATE"/>
+		<field name="ACCESS_PUBLIC"/>
+		<field name="ALL_DAY"/>
+		<field name="AVAILABILITY"/>
+		<field name="AVAILABILITY_BUSY"/>
+		<field name="AVAILABILITY_FREE"/>
+		<field name="AVAILABILITY_TENTATIVE" since="15"/>
+		<field name="CALENDAR_ID"/>
+		<field name="CAN_INVITE_OTHERS"/>
+		<field name="CUSTOM_APP_PACKAGE" since="16"/>
+		<field name="CUSTOM_APP_URI" since="16"/>
+		<field name="DESCRIPTION"/>
+		<field name="DISPLAY_COLOR" since="16"/>
+		<field name="DTEND"/>
+		<field name="DTSTART"/>
+		<field name="DURATION"/>
+		<field name="EVENT_COLOR"/>
+		<field name="EVENT_COLOR_KEY" since="15"/>
+		<field name="EVENT_END_TIMEZONE"/>
+		<field name="EVENT_LOCATION"/>
+		<field name="EVENT_TIMEZONE"/>
+		<field name="EXDATE"/>
+		<field name="EXRULE"/>
+		<field name="GUESTS_CAN_INVITE_OTHERS"/>
+		<field name="GUESTS_CAN_MODIFY"/>
+		<field name="GUESTS_CAN_SEE_GUESTS"/>
+		<field name="HAS_ALARM"/>
+		<field name="HAS_ATTENDEE_DATA"/>
+		<field name="HAS_EXTENDED_PROPERTIES"/>
+		<field name="IS_ORGANIZER" since="17"/>
+		<field name="LAST_DATE"/>
+		<field name="LAST_SYNCED"/>
+		<field name="ORGANIZER"/>
+		<field name="ORIGINAL_ALL_DAY"/>
+		<field name="ORIGINAL_ID"/>
+		<field name="ORIGINAL_INSTANCE_TIME"/>
+		<field name="ORIGINAL_SYNC_ID"/>
+		<field name="RDATE"/>
+		<field name="RRULE"/>
+		<field name="SELF_ATTENDEE_STATUS"/>
+		<field name="STATUS"/>
+		<field name="STATUS_CANCELED"/>
+		<field name="STATUS_CONFIRMED"/>
+		<field name="STATUS_TENTATIVE"/>
+		<field name="SYNC_DATA1"/>
+		<field name="SYNC_DATA10"/>
+		<field name="SYNC_DATA2"/>
+		<field name="SYNC_DATA3"/>
+		<field name="SYNC_DATA4"/>
+		<field name="SYNC_DATA5"/>
+		<field name="SYNC_DATA6"/>
+		<field name="SYNC_DATA7"/>
+		<field name="SYNC_DATA8"/>
+		<field name="SYNC_DATA9"/>
+		<field name="TITLE"/>
+		<field name="UID_2445" since="17"/>
+	</class>
+	<class name="android/provider/CalendarContract$EventsEntity" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/CalendarContract$EventsColumns"/>
+		<implements name="android/provider/CalendarContract$SyncColumns"/>
+		<method name="newEntityIterator(Landroid/database/Cursor;Landroid/content/ContentProviderClient;)Landroid/content/EntityIterator;"/>
+		<method name="newEntityIterator(Landroid/database/Cursor;Landroid/content/ContentResolver;)Landroid/content/EntityIterator;"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/CalendarContract$ExtendedProperties" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/CalendarContract$EventsColumns"/>
+		<implements name="android/provider/CalendarContract$ExtendedPropertiesColumns"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/CalendarContract$ExtendedPropertiesColumns" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="EVENT_ID"/>
+		<field name="NAME"/>
+		<field name="VALUE"/>
+	</class>
+	<class name="android/provider/CalendarContract$Instances" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/CalendarContract$CalendarColumns"/>
+		<implements name="android/provider/CalendarContract$EventsColumns"/>
+		<method name="query(Landroid/content/ContentResolver;[Ljava/lang/String;JJ)Landroid/database/Cursor;"/>
+		<method name="query(Landroid/content/ContentResolver;[Ljava/lang/String;JJLjava/lang/String;)Landroid/database/Cursor;"/>
+		<field name="BEGIN"/>
+		<field name="CONTENT_BY_DAY_URI"/>
+		<field name="CONTENT_SEARCH_BY_DAY_URI"/>
+		<field name="CONTENT_SEARCH_URI"/>
+		<field name="CONTENT_URI"/>
+		<field name="END"/>
+		<field name="END_DAY"/>
+		<field name="END_MINUTE"/>
+		<field name="ENTERPRISE_CONTENT_BY_DAY_URI" since="29"/>
+		<field name="ENTERPRISE_CONTENT_SEARCH_BY_DAY_URI" since="29"/>
+		<field name="ENTERPRISE_CONTENT_SEARCH_URI" since="29"/>
+		<field name="ENTERPRISE_CONTENT_URI" since="29"/>
+		<field name="EVENT_ID"/>
+		<field name="START_DAY"/>
+		<field name="START_MINUTE"/>
+	</class>
+	<class name="android/provider/CalendarContract$Reminders" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/CalendarContract$EventsColumns"/>
+		<implements name="android/provider/CalendarContract$RemindersColumns"/>
+		<method name="query(Landroid/content/ContentResolver;J[Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/CalendarContract$RemindersColumns" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="EVENT_ID"/>
+		<field name="METHOD"/>
+		<field name="METHOD_ALARM" since="16"/>
+		<field name="METHOD_ALERT"/>
+		<field name="METHOD_DEFAULT"/>
+		<field name="METHOD_EMAIL"/>
+		<field name="METHOD_SMS"/>
+		<field name="MINUTES"/>
+		<field name="MINUTES_DEFAULT"/>
+	</class>
+	<class name="android/provider/CalendarContract$SyncColumns" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/CalendarContract$CalendarSyncColumns"/>
+		<field name="ACCOUNT_NAME"/>
+		<field name="ACCOUNT_TYPE"/>
+		<field name="CAN_PARTIALLY_UPDATE"/>
+		<field name="DELETED"/>
+		<field name="DIRTY"/>
+		<field name="MUTATORS" since="18"/>
+		<field name="_SYNC_ID"/>
+	</class>
+	<class name="android/provider/CalendarContract$SyncState" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/SyncStateContract$Columns"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/CallLog" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="AUTHORITY"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/CallLog$Calls" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="getLastOutgoingCall(Landroid/content/Context;)Ljava/lang/String;" since="8"/>
+		<field name="ANSWERED_EXTERNALLY_TYPE" since="25"/>
+		<field name="AUTO_MISSED_EMERGENCY_CALL" since="31"/>
+		<field name="AUTO_MISSED_MAXIMUM_DIALING" since="31"/>
+		<field name="AUTO_MISSED_MAXIMUM_RINGING" since="31"/>
+		<field name="BLOCKED_TYPE" since="24"/>
+		<field name="BLOCK_REASON" since="29"/>
+		<field name="BLOCK_REASON_BLOCKED_NUMBER" since="29"/>
+		<field name="BLOCK_REASON_CALL_SCREENING_SERVICE" since="29"/>
+		<field name="BLOCK_REASON_DIRECT_TO_VOICEMAIL" since="29"/>
+		<field name="BLOCK_REASON_NOT_BLOCKED" since="29"/>
+		<field name="BLOCK_REASON_NOT_IN_CONTACTS" since="29"/>
+		<field name="BLOCK_REASON_PAY_PHONE" since="29"/>
+		<field name="BLOCK_REASON_RESTRICTED_NUMBER" since="29"/>
+		<field name="BLOCK_REASON_UNKNOWN_NUMBER" since="29"/>
+		<field name="CACHED_FORMATTED_NUMBER" since="21"/>
+		<field name="CACHED_LOOKUP_URI" since="21"/>
+		<field name="CACHED_MATCHED_NUMBER" since="21"/>
+		<field name="CACHED_NAME"/>
+		<field name="CACHED_NORMALIZED_NUMBER" since="21"/>
+		<field name="CACHED_NUMBER_LABEL"/>
+		<field name="CACHED_NUMBER_TYPE"/>
+		<field name="CACHED_PHOTO_ID" since="21"/>
+		<field name="CACHED_PHOTO_URI" since="23"/>
+		<field name="CALL_SCREENING_APP_NAME" since="29"/>
+		<field name="CALL_SCREENING_COMPONENT_NAME" since="29"/>
+		<field name="COMPOSER_PHOTO_URI" since="31"/>
+		<field name="CONTENT_FILTER_URI"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="CONTENT_URI_WITH_VOICEMAIL" since="21"/>
+		<field name="COUNTRY_ISO" since="21"/>
+		<field name="DATA_USAGE" since="21"/>
+		<field name="DATE"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="DURATION"/>
+		<field name="EXTRA_CALL_TYPE_FILTER" since="21"/>
+		<field name="FEATURES" since="21"/>
+		<field name="FEATURES_ASSISTED_DIALING_USED" since="30"/>
+		<field name="FEATURES_HD_CALL" since="26"/>
+		<field name="FEATURES_PULLED_EXTERNALLY" since="25"/>
+		<field name="FEATURES_RTT" since="28"/>
+		<field name="FEATURES_VIDEO" since="21"/>
+		<field name="FEATURES_VOLTE" since="30"/>
+		<field name="FEATURES_WIFI" since="26"/>
+		<field name="GEOCODED_LOCATION" since="21"/>
+		<field name="INCOMING_TYPE"/>
+		<field name="IS_READ" since="14"/>
+		<field name="LAST_MODIFIED" since="24"/>
+		<field name="LIMIT_PARAM_KEY" since="17"/>
+		<field name="LOCATION" since="31"/>
+		<field name="MISSED_REASON" since="31"/>
+		<field name="MISSED_REASON_NOT_MISSED" since="31"/>
+		<field name="MISSED_TYPE"/>
+		<field name="NEW"/>
+		<field name="NUMBER"/>
+		<field name="NUMBER_PRESENTATION" since="19"/>
+		<field name="OFFSET_PARAM_KEY" since="17"/>
+		<field name="OUTGOING_TYPE"/>
+		<field name="PHONE_ACCOUNT_COMPONENT_NAME" since="21"/>
+		<field name="PHONE_ACCOUNT_ID" since="21"/>
+		<field name="POST_DIAL_DIGITS" since="24"/>
+		<field name="PRESENTATION_ALLOWED" since="19"/>
+		<field name="PRESENTATION_PAYPHONE" since="19"/>
+		<field name="PRESENTATION_RESTRICTED" since="19"/>
+		<field name="PRESENTATION_UNKNOWN" since="19"/>
+		<field name="PRIORITY" since="31"/>
+		<field name="PRIORITY_NORMAL" since="31"/>
+		<field name="PRIORITY_URGENT" since="31"/>
+		<field name="REJECTED_TYPE" since="24"/>
+		<field name="SUBJECT" since="31"/>
+		<field name="TRANSCRIPTION" since="21"/>
+		<field name="TYPE"/>
+		<field name="USER_MISSED_CALL_FILTERS_TIMEOUT" since="31"/>
+		<field name="USER_MISSED_CALL_SCREENING_SERVICE_SILENCED" since="31"/>
+		<field name="USER_MISSED_DND_MODE" since="31"/>
+		<field name="USER_MISSED_LOW_RING_VOLUME" since="31"/>
+		<field name="USER_MISSED_NO_ANSWER" since="31"/>
+		<field name="USER_MISSED_NO_VIBRATE" since="31"/>
+		<field name="USER_MISSED_SHORT_RING" since="31"/>
+		<field name="VIA_NUMBER" since="24"/>
+		<field name="VOICEMAIL_TYPE" since="21"/>
+		<field name="VOICEMAIL_URI" since="21"/>
+	</class>
+	<class name="android/provider/CallLog$Locations" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="AUTHORITY"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="LATITUDE"/>
+		<field name="LONGITUDE"/>
+	</class>
+	<class name="android/provider/Contacts" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<field name="AUTHORITY" deprecated="15"/>
+		<field name="CONTENT_URI" deprecated="15"/>
+		<field name="KIND_EMAIL" deprecated="15"/>
+		<field name="KIND_IM" deprecated="15"/>
+		<field name="KIND_ORGANIZATION" deprecated="15"/>
+		<field name="KIND_PHONE" deprecated="15"/>
+		<field name="KIND_POSTAL" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$ContactMethods" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$ContactMethodsColumns"/>
+		<implements name="android/provider/Contacts$PeopleColumns"/>
+		<method name="addPostalLocation(Landroid/content/Context;JDD)V" deprecated="15"/>
+		<method name="decodeImProtocol(Ljava/lang/String;)Ljava/lang/Object;" deprecated="15"/>
+		<method name="encodeCustomImProtocol(Ljava/lang/String;)Ljava/lang/String;" deprecated="15"/>
+		<method name="encodePredefinedImProtocol(I)Ljava/lang/String;" deprecated="15"/>
+		<method name="getDisplayLabel(Landroid/content/Context;IILjava/lang/CharSequence;)Ljava/lang/CharSequence;" deprecated="15"/>
+		<field name="CONTENT_EMAIL_ITEM_TYPE" deprecated="15"/>
+		<field name="CONTENT_EMAIL_TYPE" deprecated="15"/>
+		<field name="CONTENT_EMAIL_URI" deprecated="15"/>
+		<field name="CONTENT_IM_ITEM_TYPE" deprecated="15"/>
+		<field name="CONTENT_POSTAL_ITEM_TYPE" deprecated="15"/>
+		<field name="CONTENT_POSTAL_TYPE" deprecated="15"/>
+		<field name="CONTENT_TYPE" deprecated="15"/>
+		<field name="CONTENT_URI" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+		<field name="PERSON_ID" deprecated="15"/>
+		<field name="POSTAL_LOCATION_LATITUDE" deprecated="15"/>
+		<field name="POSTAL_LOCATION_LONGITUDE" deprecated="15"/>
+		<field name="PROTOCOL_AIM" deprecated="15"/>
+		<field name="PROTOCOL_GOOGLE_TALK" deprecated="15"/>
+		<field name="PROTOCOL_ICQ" deprecated="15"/>
+		<field name="PROTOCOL_JABBER" deprecated="15"/>
+		<field name="PROTOCOL_MSN" deprecated="15"/>
+		<field name="PROTOCOL_QQ" deprecated="15"/>
+		<field name="PROTOCOL_SKYPE" deprecated="15"/>
+		<field name="PROTOCOL_YAHOO" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$ContactMethodsColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<field name="AUX_DATA" deprecated="15"/>
+		<field name="DATA" deprecated="15"/>
+		<field name="ISPRIMARY" deprecated="15"/>
+		<field name="KIND" deprecated="15"/>
+		<field name="LABEL" deprecated="15"/>
+		<field name="TYPE" deprecated="15"/>
+		<field name="TYPE_CUSTOM" deprecated="15"/>
+		<field name="TYPE_HOME" deprecated="15"/>
+		<field name="TYPE_OTHER" deprecated="15"/>
+		<field name="TYPE_WORK" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$Extensions" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$ExtensionsColumns"/>
+		<field name="CONTENT_ITEM_TYPE" deprecated="15"/>
+		<field name="CONTENT_TYPE" deprecated="15"/>
+		<field name="CONTENT_URI" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+		<field name="PERSON_ID" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$ExtensionsColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<field name="NAME" deprecated="15"/>
+		<field name="VALUE" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$GroupMembership" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$GroupsColumns"/>
+		<field name="CONTENT_DIRECTORY" deprecated="15"/>
+		<field name="CONTENT_ITEM_TYPE" deprecated="15"/>
+		<field name="CONTENT_TYPE" deprecated="15"/>
+		<field name="CONTENT_URI" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+		<field name="GROUP_ID" deprecated="15"/>
+		<field name="GROUP_SYNC_ACCOUNT" deprecated="15"/>
+		<field name="GROUP_SYNC_ACCOUNT_TYPE" since="5" deprecated="15"/>
+		<field name="GROUP_SYNC_ID" deprecated="15"/>
+		<field name="PERSON_ID" deprecated="15"/>
+		<field name="RAW_CONTENT_URI" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$Groups" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$GroupsColumns"/>
+		<field name="CONTENT_ITEM_TYPE" deprecated="15"/>
+		<field name="CONTENT_TYPE" deprecated="15"/>
+		<field name="CONTENT_URI" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+		<field name="DELETED_CONTENT_URI" deprecated="15"/>
+		<field name="GROUP_ANDROID_STARRED" deprecated="15"/>
+		<field name="GROUP_MY_CONTACTS" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$GroupsColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<field name="NAME" deprecated="15"/>
+		<field name="NOTES" deprecated="15"/>
+		<field name="SHOULD_SYNC" deprecated="15"/>
+		<field name="SYSTEM_ID" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$Intents" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="15"/>
+		<field name="ATTACH_IMAGE" deprecated="15"/>
+		<field name="EXTRA_CREATE_DESCRIPTION" since="3" deprecated="15"/>
+		<field name="EXTRA_FORCE_CREATE" since="3" deprecated="15"/>
+		<field name="SEARCH_SUGGESTION_CLICKED" deprecated="15"/>
+		<field name="SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED" deprecated="15"/>
+		<field name="SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED" deprecated="15"/>
+		<field name="SHOW_OR_CREATE_CONTACT" since="3" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$Intents$Insert" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="15"/>
+		<field name="ACTION" deprecated="15"/>
+		<field name="COMPANY" deprecated="15"/>
+		<field name="EMAIL" deprecated="15"/>
+		<field name="EMAIL_ISPRIMARY" deprecated="15"/>
+		<field name="EMAIL_TYPE" deprecated="15"/>
+		<field name="FULL_MODE" deprecated="15"/>
+		<field name="IM_HANDLE" deprecated="15"/>
+		<field name="IM_ISPRIMARY" deprecated="15"/>
+		<field name="IM_PROTOCOL" deprecated="15"/>
+		<field name="JOB_TITLE" deprecated="15"/>
+		<field name="NAME" deprecated="15"/>
+		<field name="NOTES" deprecated="15"/>
+		<field name="PHONE" deprecated="15"/>
+		<field name="PHONETIC_NAME" since="3" deprecated="15"/>
+		<field name="PHONE_ISPRIMARY" deprecated="15"/>
+		<field name="PHONE_TYPE" deprecated="15"/>
+		<field name="POSTAL" deprecated="15"/>
+		<field name="POSTAL_ISPRIMARY" deprecated="15"/>
+		<field name="POSTAL_TYPE" deprecated="15"/>
+		<field name="SECONDARY_EMAIL" since="3" deprecated="15"/>
+		<field name="SECONDARY_EMAIL_TYPE" since="3" deprecated="15"/>
+		<field name="SECONDARY_PHONE" since="3" deprecated="15"/>
+		<field name="SECONDARY_PHONE_TYPE" since="3" deprecated="15"/>
+		<field name="TERTIARY_EMAIL" since="3" deprecated="15"/>
+		<field name="TERTIARY_EMAIL_TYPE" since="3" deprecated="15"/>
+		<field name="TERTIARY_PHONE" since="3" deprecated="15"/>
+		<field name="TERTIARY_PHONE_TYPE" since="3" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$Intents$UI" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="15"/>
+		<field name="FILTER_CONTACTS_ACTION" deprecated="15"/>
+		<field name="FILTER_TEXT_EXTRA_KEY" deprecated="15"/>
+		<field name="GROUP_NAME_EXTRA_KEY" deprecated="15"/>
+		<field name="LIST_ALL_CONTACTS_ACTION" deprecated="15"/>
+		<field name="LIST_CONTACTS_WITH_PHONES_ACTION" deprecated="15"/>
+		<field name="LIST_DEFAULT" deprecated="15"/>
+		<field name="LIST_FREQUENT_ACTION" deprecated="15"/>
+		<field name="LIST_GROUP_ACTION" deprecated="15"/>
+		<field name="LIST_STARRED_ACTION" deprecated="15"/>
+		<field name="LIST_STREQUENT_ACTION" deprecated="15"/>
+		<field name="TITLE_EXTRA_KEY" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$OrganizationColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<field name="COMPANY" deprecated="15"/>
+		<field name="ISPRIMARY" deprecated="15"/>
+		<field name="LABEL" deprecated="15"/>
+		<field name="PERSON_ID" deprecated="15"/>
+		<field name="TITLE" deprecated="15"/>
+		<field name="TYPE" deprecated="15"/>
+		<field name="TYPE_CUSTOM" deprecated="15"/>
+		<field name="TYPE_OTHER" deprecated="15"/>
+		<field name="TYPE_WORK" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$Organizations" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$OrganizationColumns"/>
+		<method name="getDisplayLabel(Landroid/content/Context;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" deprecated="15"/>
+		<field name="CONTENT_DIRECTORY" deprecated="15"/>
+		<field name="CONTENT_URI" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$People" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$PeopleColumns"/>
+		<implements name="android/provider/Contacts$PhonesColumns"/>
+		<implements name="android/provider/Contacts$PresenceColumns"/>
+		<method name="addToGroup(Landroid/content/ContentResolver;JJ)Landroid/net/Uri;" deprecated="15"/>
+		<method name="addToGroup(Landroid/content/ContentResolver;JLjava/lang/String;)Landroid/net/Uri;" deprecated="15"/>
+		<method name="addToMyContactsGroup(Landroid/content/ContentResolver;J)Landroid/net/Uri;" deprecated="15"/>
+		<method name="createPersonInMyContactsGroup(Landroid/content/ContentResolver;Landroid/content/ContentValues;)Landroid/net/Uri;" deprecated="15"/>
+		<method name="loadContactPhoto(Landroid/content/Context;Landroid/net/Uri;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" deprecated="15"/>
+		<method name="markAsContacted(Landroid/content/ContentResolver;J)V" deprecated="15"/>
+		<method name="openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;)Ljava/io/InputStream;" deprecated="15"/>
+		<method name="queryGroups(Landroid/content/ContentResolver;J)Landroid/database/Cursor;" deprecated="15"/>
+		<method name="setPhotoData(Landroid/content/ContentResolver;Landroid/net/Uri;[B)V" deprecated="15"/>
+		<field name="CONTENT_FILTER_URI" deprecated="15"/>
+		<field name="CONTENT_ITEM_TYPE" deprecated="15"/>
+		<field name="CONTENT_TYPE" deprecated="15"/>
+		<field name="CONTENT_URI" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+		<field name="DELETED_CONTENT_URI" deprecated="15"/>
+		<field name="PRIMARY_EMAIL_ID" deprecated="15"/>
+		<field name="PRIMARY_ORGANIZATION_ID" deprecated="15"/>
+		<field name="PRIMARY_PHONE_ID" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$People$ContactMethods" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$ContactMethodsColumns"/>
+		<implements name="android/provider/Contacts$PeopleColumns"/>
+		<field name="CONTENT_DIRECTORY" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$People$Extensions" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$ExtensionsColumns"/>
+		<field name="CONTENT_DIRECTORY" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+		<field name="PERSON_ID" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$People$Phones" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$PeopleColumns"/>
+		<implements name="android/provider/Contacts$PhonesColumns"/>
+		<field name="CONTENT_DIRECTORY" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$PeopleColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<field name="CUSTOM_RINGTONE" deprecated="15"/>
+		<field name="DISPLAY_NAME" deprecated="15"/>
+		<field name="LAST_TIME_CONTACTED" deprecated="15"/>
+		<field name="NAME" deprecated="15"/>
+		<field name="NOTES" deprecated="15"/>
+		<field name="PHONETIC_NAME" since="3" deprecated="15"/>
+		<field name="PHOTO_VERSION" deprecated="15"/>
+		<field name="SEND_TO_VOICEMAIL" deprecated="15"/>
+		<field name="STARRED" deprecated="15"/>
+		<field name="TIMES_CONTACTED" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$Phones" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$PeopleColumns"/>
+		<implements name="android/provider/Contacts$PhonesColumns"/>
+		<method name="getDisplayLabel(Landroid/content/Context;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" deprecated="15"/>
+		<method name="getDisplayLabel(Landroid/content/Context;ILjava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" deprecated="15"/>
+		<field name="CONTENT_FILTER_URL" deprecated="15"/>
+		<field name="CONTENT_ITEM_TYPE" deprecated="15"/>
+		<field name="CONTENT_TYPE" deprecated="15"/>
+		<field name="CONTENT_URI" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+		<field name="PERSON_ID" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$PhonesColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<field name="ISPRIMARY" deprecated="15"/>
+		<field name="LABEL" deprecated="15"/>
+		<field name="NUMBER" deprecated="15"/>
+		<field name="NUMBER_KEY" deprecated="15"/>
+		<field name="TYPE" deprecated="15"/>
+		<field name="TYPE_CUSTOM" deprecated="15"/>
+		<field name="TYPE_FAX_HOME" deprecated="15"/>
+		<field name="TYPE_FAX_WORK" deprecated="15"/>
+		<field name="TYPE_HOME" deprecated="15"/>
+		<field name="TYPE_MOBILE" deprecated="15"/>
+		<field name="TYPE_OTHER" deprecated="15"/>
+		<field name="TYPE_PAGER" deprecated="15"/>
+		<field name="TYPE_WORK" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$Photos" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$PhotosColumns"/>
+		<field name="CONTENT_DIRECTORY" deprecated="15"/>
+		<field name="CONTENT_URI" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$PhotosColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<field name="DATA" deprecated="15"/>
+		<field name="DOWNLOAD_REQUIRED" deprecated="15"/>
+		<field name="EXISTS_ON_SERVER" deprecated="15"/>
+		<field name="LOCAL_VERSION" deprecated="15"/>
+		<field name="PERSON_ID" deprecated="15"/>
+		<field name="SYNC_ERROR" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$PresenceColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<field name="AVAILABLE" since="8" deprecated="29"/>
+		<field name="AWAY" since="8" deprecated="29"/>
+		<field name="DO_NOT_DISTURB" since="8" deprecated="29"/>
+		<field name="IDLE" since="8" deprecated="29"/>
+		<field name="IM_ACCOUNT" deprecated="15"/>
+		<field name="IM_HANDLE" deprecated="15"/>
+		<field name="IM_PROTOCOL" deprecated="15"/>
+		<field name="INVISIBLE" since="8" deprecated="29"/>
+		<field name="OFFLINE" since="8" deprecated="29"/>
+		<field name="PRESENCE_CUSTOM_STATUS" since="8" deprecated="29"/>
+		<field name="PRESENCE_STATUS" since="8" deprecated="29"/>
+		<field name="PRIORITY" since="8" deprecated="29"/>
+	</class>
+	<class name="android/provider/Contacts$Settings" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Contacts$SettingsColumns"/>
+		<method name="getSetting(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="15"/>
+		<method name="setSetting(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="15"/>
+		<field name="CONTENT_DIRECTORY" deprecated="15"/>
+		<field name="CONTENT_URI" deprecated="15"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="15"/>
+		<field name="SYNC_EVERYTHING" deprecated="15"/>
+	</class>
+	<class name="android/provider/Contacts$SettingsColumns" since="1" deprecated="5">
+		<extends name="java/lang/Object"/>
+		<field name="KEY" deprecated="15"/>
+		<field name="VALUE" deprecated="15"/>
+		<field name="_SYNC_ACCOUNT" deprecated="15"/>
+		<field name="_SYNC_ACCOUNT_TYPE" since="5" deprecated="15"/>
+	</class>
+	<class name="android/provider/ContactsContract" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="isProfileId(J)Z" since="14"/>
+		<field name="AUTHORITY"/>
+		<field name="AUTHORITY_URI"/>
+		<field name="CALLER_IS_SYNCADAPTER"/>
+		<field name="DEFERRED_SNIPPETING" since="21"/>
+		<field name="DEFERRED_SNIPPETING_QUERY" since="21"/>
+		<field name="DIRECTORY_PARAM_KEY" since="11"/>
+		<field name="LIMIT_PARAM_KEY" since="11"/>
+		<field name="PRIMARY_ACCOUNT_NAME" since="14"/>
+		<field name="PRIMARY_ACCOUNT_TYPE" since="14"/>
+		<field name="REMOVE_DUPLICATE_ENTRIES" since="21"/>
+		<field name="STREQUENT_PHONE_ONLY" since="21"/>
+	</class>
+	<class name="android/provider/ContactsContract$AggregationExceptions" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="RAW_CONTACT_ID1"/>
+		<field name="RAW_CONTACT_ID2"/>
+		<field name="TYPE"/>
+		<field name="TYPE_AUTOMATIC"/>
+		<field name="TYPE_KEEP_SEPARATE"/>
+		<field name="TYPE_KEEP_TOGETHER"/>
+	</class>
+	<class name="android/provider/ContactsContract$BaseSyncColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="SYNC1"/>
+		<field name="SYNC2"/>
+		<field name="SYNC3"/>
+		<field name="SYNC4"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds" since="5">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$BaseTypes" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="TYPE_CUSTOM"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Callable" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="&lt;init>()V"/>
+		<field name="CONTENT_FILTER_URI"/>
+		<field name="CONTENT_URI"/>
+		<field name="ENTERPRISE_CONTENT_FILTER_URI" since="24"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$CommonColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$BaseTypes"/>
+		<field name="DATA"/>
+		<field name="LABEL"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Contactables" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="&lt;init>()V"/>
+		<field name="CONTENT_FILTER_URI"/>
+		<field name="CONTENT_URI"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="VISIBLE_CONTACTS_ONLY"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Email" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="getTypeLabelResource(I)I"/>
+		<field name="ADDRESS" since="11"/>
+		<field name="CONTENT_FILTER_URI"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_LOOKUP_URI"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="DISPLAY_NAME"/>
+		<field name="ENTERPRISE_CONTENT_FILTER_URI" since="24"/>
+		<field name="ENTERPRISE_CONTENT_LOOKUP_URI" since="23"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="TYPE_HOME"/>
+		<field name="TYPE_MOBILE"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_WORK"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Event" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" since="21"/>
+		<method name="getTypeResource(Ljava/lang/Integer;)I"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="START_DATE"/>
+		<field name="TYPE_ANNIVERSARY"/>
+		<field name="TYPE_BIRTHDAY"/>
+		<field name="TYPE_OTHER"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$GroupMembership" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="GROUP_ROW_ID"/>
+		<field name="GROUP_SOURCE_ID"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Identity" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="IDENTITY"/>
+		<field name="NAMESPACE"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Im" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="getProtocolLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="getProtocolLabelResource(I)I"/>
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="getTypeLabelResource(I)I"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CUSTOM_PROTOCOL"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="PROTOCOL"/>
+		<field name="PROTOCOL_AIM" deprecated="31"/>
+		<field name="PROTOCOL_CUSTOM"/>
+		<field name="PROTOCOL_GOOGLE_TALK" deprecated="31"/>
+		<field name="PROTOCOL_ICQ" deprecated="31"/>
+		<field name="PROTOCOL_JABBER" deprecated="31"/>
+		<field name="PROTOCOL_MSN" deprecated="31"/>
+		<field name="PROTOCOL_NETMEETING" deprecated="31"/>
+		<field name="PROTOCOL_QQ" deprecated="31"/>
+		<field name="PROTOCOL_SKYPE" deprecated="31"/>
+		<field name="PROTOCOL_YAHOO" deprecated="31"/>
+		<field name="TYPE_HOME"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_WORK"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Nickname" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="NAME"/>
+		<field name="TYPE_DEFAULT"/>
+		<field name="TYPE_INITIALS"/>
+		<field name="TYPE_MAIDEN_NAME" since="9"/>
+		<field name="TYPE_MAINDEN_NAME" deprecated="15"/>
+		<field name="TYPE_OTHER_NAME"/>
+		<field name="TYPE_SHORT_NAME"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Note" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="NOTE"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Organization" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="getTypeLabelResource(I)I"/>
+		<field name="COMPANY"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="DEPARTMENT"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="JOB_DESCRIPTION"/>
+		<field name="OFFICE_LOCATION"/>
+		<field name="PHONETIC_NAME"/>
+		<field name="PHONETIC_NAME_STYLE" since="24"/>
+		<field name="SYMBOL"/>
+		<field name="TITLE"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_WORK"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Phone" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="getTypeLabelResource(I)I"/>
+		<field name="CONTENT_FILTER_URI"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="ENTERPRISE_CONTENT_FILTER_URI" since="24"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="NORMALIZED_NUMBER" since="16"/>
+		<field name="NUMBER"/>
+		<field name="SEARCH_DISPLAY_NAME_KEY" since="16"/>
+		<field name="SEARCH_PHONE_NUMBER_KEY" since="16"/>
+		<field name="TYPE_ASSISTANT"/>
+		<field name="TYPE_CALLBACK"/>
+		<field name="TYPE_CAR"/>
+		<field name="TYPE_COMPANY_MAIN"/>
+		<field name="TYPE_FAX_HOME"/>
+		<field name="TYPE_FAX_WORK"/>
+		<field name="TYPE_HOME"/>
+		<field name="TYPE_ISDN"/>
+		<field name="TYPE_MAIN"/>
+		<field name="TYPE_MMS"/>
+		<field name="TYPE_MOBILE"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_OTHER_FAX"/>
+		<field name="TYPE_PAGER"/>
+		<field name="TYPE_RADIO"/>
+		<field name="TYPE_TELEX"/>
+		<field name="TYPE_TTY_TDD"/>
+		<field name="TYPE_WORK"/>
+		<field name="TYPE_WORK_MOBILE"/>
+		<field name="TYPE_WORK_PAGER"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Photo" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="PHOTO"/>
+		<field name="PHOTO_FILE_ID" since="14"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Relation" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;" since="11"/>
+		<method name="getTypeLabelResource(I)I" since="11"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="NAME"/>
+		<field name="TYPE_ASSISTANT"/>
+		<field name="TYPE_BROTHER"/>
+		<field name="TYPE_CHILD"/>
+		<field name="TYPE_DOMESTIC_PARTNER"/>
+		<field name="TYPE_FATHER"/>
+		<field name="TYPE_FRIEND"/>
+		<field name="TYPE_MANAGER"/>
+		<field name="TYPE_MOTHER"/>
+		<field name="TYPE_PARENT"/>
+		<field name="TYPE_PARTNER"/>
+		<field name="TYPE_REFERRED_BY"/>
+		<field name="TYPE_RELATIVE"/>
+		<field name="TYPE_SISTER"/>
+		<field name="TYPE_SPOUSE"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$SipAddress" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="getTypeLabelResource(I)I"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="SIP_ADDRESS"/>
+		<field name="TYPE_HOME"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_WORK"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$StructuredName" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="DISPLAY_NAME"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="FAMILY_NAME"/>
+		<field name="FULL_NAME_STYLE" since="21"/>
+		<field name="GIVEN_NAME"/>
+		<field name="MIDDLE_NAME"/>
+		<field name="PHONETIC_FAMILY_NAME"/>
+		<field name="PHONETIC_GIVEN_NAME"/>
+		<field name="PHONETIC_MIDDLE_NAME"/>
+		<field name="PHONETIC_NAME_STYLE" since="24"/>
+		<field name="PREFIX"/>
+		<field name="SUFFIX"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$StructuredPostal" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="getTypeLabel(Landroid/content/res/Resources;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="getTypeLabelResource(I)I"/>
+		<field name="CITY"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="COUNTRY"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="FORMATTED_ADDRESS"/>
+		<field name="NEIGHBORHOOD"/>
+		<field name="POBOX"/>
+		<field name="POSTCODE"/>
+		<field name="REGION"/>
+		<field name="STREET"/>
+		<field name="TYPE_HOME"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_WORK"/>
+	</class>
+	<class name="android/provider/ContactsContract$CommonDataKinds$Website" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$CommonDataKinds$CommonColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="TYPE_BLOG"/>
+		<field name="TYPE_FTP"/>
+		<field name="TYPE_HOME"/>
+		<field name="TYPE_HOMEPAGE"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_PROFILE"/>
+		<field name="TYPE_WORK"/>
+		<field name="URL"/>
+	</class>
+	<class name="android/provider/ContactsContract$ContactNameColumns" since="11">
+		<extends name="java/lang/Object"/>
+		<field name="DISPLAY_NAME_ALTERNATIVE"/>
+		<field name="DISPLAY_NAME_PRIMARY"/>
+		<field name="DISPLAY_NAME_SOURCE"/>
+		<field name="PHONETIC_NAME"/>
+		<field name="PHONETIC_NAME_STYLE"/>
+		<field name="SORT_KEY_ALTERNATIVE"/>
+		<field name="SORT_KEY_PRIMARY"/>
+	</class>
+	<class name="android/provider/ContactsContract$ContactOptionsColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="CUSTOM_RINGTONE"/>
+		<field name="LAST_TIME_CONTACTED" deprecated="29"/>
+		<field name="PINNED" since="21"/>
+		<field name="SEND_TO_VOICEMAIL"/>
+		<field name="STARRED"/>
+		<field name="TIMES_CONTACTED" deprecated="29"/>
+	</class>
+	<class name="android/provider/ContactsContract$ContactStatusColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="CONTACT_CHAT_CAPABILITY" since="11"/>
+		<field name="CONTACT_PRESENCE"/>
+		<field name="CONTACT_STATUS"/>
+		<field name="CONTACT_STATUS_ICON"/>
+		<field name="CONTACT_STATUS_LABEL"/>
+		<field name="CONTACT_STATUS_RES_PACKAGE"/>
+		<field name="CONTACT_STATUS_TIMESTAMP"/>
+	</class>
+	<class name="android/provider/ContactsContract$Contacts" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$ContactNameColumns" since="11"/>
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns"/>
+		<implements name="android/provider/ContactsContract$ContactStatusColumns"/>
+		<implements name="android/provider/ContactsContract$ContactsColumns"/>
+		<method name="getLookupUri(JLjava/lang/String;)Landroid/net/Uri;"/>
+		<method name="getLookupUri(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;"/>
+		<method name="isEnterpriseContactId(J)Z" since="21"/>
+		<method name="lookupContact(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;"/>
+		<method name="markAsContacted(Landroid/content/ContentResolver;J)V" deprecated="16"/>
+		<method name="openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;)Ljava/io/InputStream;"/>
+		<method name="openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;Z)Ljava/io/InputStream;" since="14"/>
+		<field name="CONTENT_FILTER_URI"/>
+		<field name="CONTENT_FREQUENT_URI" since="21" deprecated="29"/>
+		<field name="CONTENT_GROUP_URI"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_LOOKUP_URI"/>
+		<field name="CONTENT_MULTI_VCARD_URI" since="21"/>
+		<field name="CONTENT_STREQUENT_FILTER_URI"/>
+		<field name="CONTENT_STREQUENT_URI"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="CONTENT_VCARD_TYPE"/>
+		<field name="CONTENT_VCARD_URI"/>
+		<field name="ENTERPRISE_CONTENT_FILTER_URI" since="24"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="QUERY_PARAMETER_VCARD_NO_PHOTO" since="23"/>
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$AggregationSuggestions" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns" since="11"/>
+		<implements name="android/provider/ContactsContract$ContactStatusColumns" since="11"/>
+		<implements name="android/provider/ContactsContract$ContactsColumns"/>
+		<field name="CONTENT_DIRECTORY"/>
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$AggregationSuggestions$Builder" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addNameParameter(Ljava/lang/String;)Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder;"/>
+		<method name="build()Landroid/net/Uri;"/>
+		<method name="setContactId(J)Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder;"/>
+		<method name="setLimit(I)Landroid/provider/ContactsContract$Contacts$AggregationSuggestions$Builder;"/>
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$Data" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumns"/>
+		<field name="CONTENT_DIRECTORY"/>
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$Entity" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$BaseSyncColumns"/>
+		<implements name="android/provider/ContactsContract$ContactNameColumns"/>
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns"/>
+		<implements name="android/provider/ContactsContract$ContactStatusColumns"/>
+		<implements name="android/provider/ContactsContract$ContactsColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumns"/>
+		<implements name="android/provider/ContactsContract$DataUsageStatColumns" since="21"/>
+		<implements name="android/provider/ContactsContract$RawContactsColumns"/>
+		<implements name="android/provider/ContactsContract$StatusColumns"/>
+		<implements name="android/provider/ContactsContract$SyncColumns"/>
+		<field name="CONTENT_DIRECTORY"/>
+		<field name="DATA_ID"/>
+		<field name="RAW_CONTACT_ID"/>
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$Photo" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumns" removed="11"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins" since="11"/>
+		<field name="CONTENT_DIRECTORY"/>
+		<field name="DISPLAY_PHOTO" since="14"/>
+		<field name="PHOTO" since="11"/>
+		<field name="PHOTO_FILE_ID" since="14"/>
+	</class>
+	<class name="android/provider/ContactsContract$Contacts$StreamItems" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$StreamItemsColumns"/>
+		<field name="CONTENT_DIRECTORY" deprecated="21"/>
+	</class>
+	<class name="android/provider/ContactsContract$ContactsColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="CONTACT_LAST_UPDATED_TIMESTAMP" since="18"/>
+		<field name="DISPLAY_NAME"/>
+		<field name="HAS_PHONE_NUMBER"/>
+		<field name="IN_DEFAULT_DIRECTORY" since="21"/>
+		<field name="IN_VISIBLE_GROUP"/>
+		<field name="IS_USER_PROFILE" since="14"/>
+		<field name="LOOKUP_KEY"/>
+		<field name="NAME_RAW_CONTACT_ID" since="21"/>
+		<field name="PHOTO_FILE_ID" since="14"/>
+		<field name="PHOTO_ID"/>
+		<field name="PHOTO_THUMBNAIL_URI" since="11"/>
+		<field name="PHOTO_URI" since="11"/>
+	</class>
+	<class name="android/provider/ContactsContract$Data" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$DataColumnsWithJoins"/>
+		<method name="getContactLookupUri(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_COUNTS" since="21"/>
+		<field name="EXTRA_ADDRESS_BOOK_INDEX_TITLES" since="21"/>
+		<field name="VISIBLE_CONTACTS_ONLY" since="18"/>
+	</class>
+	<class name="android/provider/ContactsContract$DataColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="CARRIER_PRESENCE" since="23" deprecated="31"/>
+		<field name="CARRIER_PRESENCE_VT_CAPABLE" since="23" deprecated="31"/>
+		<field name="DATA1"/>
+		<field name="DATA10"/>
+		<field name="DATA11"/>
+		<field name="DATA12"/>
+		<field name="DATA13"/>
+		<field name="DATA14"/>
+		<field name="DATA15"/>
+		<field name="DATA2"/>
+		<field name="DATA3"/>
+		<field name="DATA4"/>
+		<field name="DATA5"/>
+		<field name="DATA6"/>
+		<field name="DATA7"/>
+		<field name="DATA8"/>
+		<field name="DATA9"/>
+		<field name="DATA_VERSION"/>
+		<field name="IS_PRIMARY"/>
+		<field name="IS_READ_ONLY" since="11"/>
+		<field name="IS_SUPER_PRIMARY"/>
+		<field name="MIMETYPE"/>
+		<field name="PREFERRED_PHONE_ACCOUNT_COMPONENT_NAME" since="28"/>
+		<field name="PREFERRED_PHONE_ACCOUNT_ID" since="28"/>
+		<field name="RAW_CONTACT_ID"/>
+		<field name="RES_PACKAGE" since="21"/>
+		<field name="SYNC1"/>
+		<field name="SYNC2"/>
+		<field name="SYNC3"/>
+		<field name="SYNC4"/>
+	</class>
+	<class name="android/provider/ContactsContract$DataColumnsWithJoins" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$ContactNameColumns" since="11"/>
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns"/>
+		<implements name="android/provider/ContactsContract$ContactStatusColumns"/>
+		<implements name="android/provider/ContactsContract$ContactsColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumns"/>
+		<implements name="android/provider/ContactsContract$DataUsageStatColumns" since="18"/>
+		<implements name="android/provider/ContactsContract$RawContactsColumns"/>
+		<implements name="android/provider/ContactsContract$StatusColumns"/>
+	</class>
+	<class name="android/provider/ContactsContract$DataUsageFeedback" since="14" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<field name="DELETE_USAGE_URI" since="16" deprecated="29"/>
+		<field name="FEEDBACK_URI" deprecated="29"/>
+		<field name="USAGE_TYPE" deprecated="29"/>
+		<field name="USAGE_TYPE_CALL" deprecated="29"/>
+		<field name="USAGE_TYPE_LONG_TEXT" deprecated="29"/>
+		<field name="USAGE_TYPE_SHORT_TEXT" deprecated="29"/>
+	</class>
+	<class name="android/provider/ContactsContract$DataUsageStatColumns" since="18">
+		<extends name="java/lang/Object"/>
+		<field name="LAST_TIME_USED" deprecated="29"/>
+		<field name="TIMES_USED" deprecated="29"/>
+	</class>
+	<class name="android/provider/ContactsContract$DeletedContacts" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$DeletedContactsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DAYS_KEPT_MILLISECONDS"/>
+	</class>
+	<class name="android/provider/ContactsContract$DeletedContactsColumns" since="18">
+		<extends name="java/lang/Object"/>
+		<field name="CONTACT_DELETED_TIMESTAMP"/>
+		<field name="CONTACT_ID"/>
+	</class>
+	<class name="android/provider/ContactsContract$Directory" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="isEnterpriseDirectoryId(J)Z" since="24"/>
+		<method name="isRemoteDirectoryId(J)Z" since="24"/>
+		<method name="notifyDirectoryChange(Landroid/content/ContentResolver;)V"/>
+		<field name="ACCOUNT_NAME"/>
+		<field name="ACCOUNT_TYPE"/>
+		<field name="CALLER_PACKAGE_PARAM_KEY" since="26"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT"/>
+		<field name="DIRECTORY_AUTHORITY"/>
+		<field name="DISPLAY_NAME"/>
+		<field name="ENTERPRISE_CONTENT_URI" since="24"/>
+		<field name="ENTERPRISE_DEFAULT" since="24"/>
+		<field name="ENTERPRISE_LOCAL_INVISIBLE" since="24"/>
+		<field name="EXPORT_SUPPORT"/>
+		<field name="EXPORT_SUPPORT_ANY_ACCOUNT"/>
+		<field name="EXPORT_SUPPORT_NONE"/>
+		<field name="EXPORT_SUPPORT_SAME_ACCOUNT_ONLY"/>
+		<field name="LOCAL_INVISIBLE"/>
+		<field name="PACKAGE_NAME"/>
+		<field name="PHOTO_SUPPORT"/>
+		<field name="PHOTO_SUPPORT_FULL"/>
+		<field name="PHOTO_SUPPORT_FULL_SIZE_ONLY"/>
+		<field name="PHOTO_SUPPORT_NONE"/>
+		<field name="PHOTO_SUPPORT_THUMBNAIL_ONLY"/>
+		<field name="SHORTCUT_SUPPORT"/>
+		<field name="SHORTCUT_SUPPORT_DATA_ITEMS_ONLY"/>
+		<field name="SHORTCUT_SUPPORT_FULL"/>
+		<field name="SHORTCUT_SUPPORT_NONE"/>
+		<field name="TYPE_RESOURCE_ID"/>
+	</class>
+	<class name="android/provider/ContactsContract$DisplayNameSources" since="11">
+		<extends name="java/lang/Object"/>
+		<field name="EMAIL"/>
+		<field name="NICKNAME"/>
+		<field name="ORGANIZATION"/>
+		<field name="PHONE"/>
+		<field name="STRUCTURED_NAME"/>
+		<field name="STRUCTURED_PHONETIC_NAME" since="23"/>
+		<field name="UNDEFINED"/>
+	</class>
+	<class name="android/provider/ContactsContract$DisplayPhoto" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="CONTENT_MAX_DIMENSIONS_URI"/>
+		<field name="CONTENT_URI"/>
+		<field name="DISPLAY_MAX_DIM"/>
+		<field name="THUMBNAIL_MAX_DIM"/>
+	</class>
+	<class name="android/provider/ContactsContract$FullNameStyle" since="11">
+		<extends name="java/lang/Object"/>
+		<field name="CHINESE"/>
+		<field name="CJK"/>
+		<field name="JAPANESE"/>
+		<field name="KOREAN"/>
+		<field name="UNDEFINED"/>
+		<field name="WESTERN"/>
+	</class>
+	<class name="android/provider/ContactsContract$Groups" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$GroupsColumns"/>
+		<implements name="android/provider/ContactsContract$SyncColumns"/>
+		<method name="newEntityIterator(Landroid/database/Cursor;)Landroid/content/EntityIterator;" since="8"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_SUMMARY_URI"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/ContactsContract$GroupsColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="AUTO_ADD" since="11"/>
+		<field name="DATA_SET" since="14"/>
+		<field name="DELETED"/>
+		<field name="FAVORITES" since="11"/>
+		<field name="GROUP_IS_READ_ONLY" since="11"/>
+		<field name="GROUP_VISIBLE"/>
+		<field name="NOTES"/>
+		<field name="RES_PACKAGE" since="21"/>
+		<field name="SHOULD_SYNC"/>
+		<field name="SUMMARY_COUNT"/>
+		<field name="SUMMARY_WITH_PHONES"/>
+		<field name="SYSTEM_ID"/>
+		<field name="TITLE"/>
+		<field name="TITLE_RES" since="21"/>
+	</class>
+	<class name="android/provider/ContactsContract$Intents" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="ACTION_VOICE_SEND_MESSAGE_TO_CONTACTS" since="24"/>
+		<field name="ATTACH_IMAGE"/>
+		<field name="CONTACTS_DATABASE_CREATED" since="18"/>
+		<field name="EXTRA_CREATE_DESCRIPTION"/>
+		<field name="EXTRA_FORCE_CREATE"/>
+		<field name="EXTRA_RECIPIENT_CONTACT_CHAT_ID" since="24"/>
+		<field name="EXTRA_RECIPIENT_CONTACT_NAME" since="24"/>
+		<field name="EXTRA_RECIPIENT_CONTACT_URI" since="24"/>
+		<field name="INVITE_CONTACT" since="14"/>
+		<field name="METADATA_ACCOUNT_TYPE" since="24"/>
+		<field name="METADATA_MIMETYPE" since="24"/>
+		<field name="SEARCH_SUGGESTION_CLICKED"/>
+		<field name="SEARCH_SUGGESTION_CREATE_CONTACT_CLICKED"/>
+		<field name="SEARCH_SUGGESTION_DIAL_NUMBER_CLICKED"/>
+		<field name="SHOW_OR_CREATE_CONTACT"/>
+	</class>
+	<class name="android/provider/ContactsContract$Intents$Insert" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="ACTION"/>
+		<field name="COMPANY"/>
+		<field name="DATA" since="11"/>
+		<field name="EMAIL"/>
+		<field name="EMAIL_ISPRIMARY"/>
+		<field name="EMAIL_TYPE"/>
+		<field name="EXTRA_ACCOUNT" since="23"/>
+		<field name="EXTRA_DATA_SET" since="23"/>
+		<field name="FULL_MODE"/>
+		<field name="IM_HANDLE"/>
+		<field name="IM_ISPRIMARY"/>
+		<field name="IM_PROTOCOL"/>
+		<field name="JOB_TITLE"/>
+		<field name="NAME"/>
+		<field name="NOTES"/>
+		<field name="PHONE"/>
+		<field name="PHONETIC_NAME"/>
+		<field name="PHONE_ISPRIMARY"/>
+		<field name="PHONE_TYPE"/>
+		<field name="POSTAL"/>
+		<field name="POSTAL_ISPRIMARY"/>
+		<field name="POSTAL_TYPE"/>
+		<field name="SECONDARY_EMAIL"/>
+		<field name="SECONDARY_EMAIL_TYPE"/>
+		<field name="SECONDARY_PHONE"/>
+		<field name="SECONDARY_PHONE_TYPE"/>
+		<field name="TERTIARY_EMAIL"/>
+		<field name="TERTIARY_EMAIL_TYPE"/>
+		<field name="TERTIARY_PHONE"/>
+		<field name="TERTIARY_PHONE_TYPE"/>
+	</class>
+	<class name="android/provider/ContactsContract$PhoneLookup" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$ContactNameColumns" since="26"/>
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns"/>
+		<implements name="android/provider/ContactsContract$ContactsColumns"/>
+		<implements name="android/provider/ContactsContract$PhoneLookupColumns"/>
+		<field name="CONTENT_FILTER_URI"/>
+		<field name="ENTERPRISE_CONTENT_FILTER_URI" since="21"/>
+		<field name="QUERY_PARAMETER_SIP_ADDRESS" since="21"/>
+	</class>
+	<class name="android/provider/ContactsContract$PhoneLookupColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="CONTACT_ID" since="24"/>
+		<field name="DATA_ID" since="24"/>
+		<field name="LABEL"/>
+		<field name="NORMALIZED_NUMBER" since="16"/>
+		<field name="NUMBER"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="android/provider/ContactsContract$PhoneticNameStyle" since="11">
+		<extends name="java/lang/Object"/>
+		<field name="JAPANESE"/>
+		<field name="KOREAN"/>
+		<field name="PINYIN"/>
+		<field name="UNDEFINED"/>
+	</class>
+	<class name="android/provider/ContactsContract$PinnedPositions" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="pin(Landroid/content/ContentResolver;JI)V"/>
+		<method name="undemote(Landroid/content/ContentResolver;J)V"/>
+		<field name="DEMOTED"/>
+		<field name="UNPINNED"/>
+	</class>
+	<class name="android/provider/ContactsContract$Presence" since="5" deprecated="5">
+		<extends name="android/provider/ContactsContract$StatusUpdates"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+	</class>
+	<class name="android/provider/ContactsContract$PresenceColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="CUSTOM_PROTOCOL"/>
+		<field name="DATA_ID"/>
+		<field name="IM_ACCOUNT"/>
+		<field name="IM_HANDLE"/>
+		<field name="PROTOCOL"/>
+	</class>
+	<class name="android/provider/ContactsContract$Profile" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$ContactNameColumns"/>
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns"/>
+		<implements name="android/provider/ContactsContract$ContactStatusColumns"/>
+		<implements name="android/provider/ContactsContract$ContactsColumns"/>
+		<field name="CONTENT_RAW_CONTACTS_URI"/>
+		<field name="CONTENT_URI"/>
+		<field name="CONTENT_VCARD_URI"/>
+		<field name="MIN_ID"/>
+	</class>
+	<class name="android/provider/ContactsContract$ProfileSyncState" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/SyncStateContract$Columns"/>
+		<method name="get(Landroid/content/ContentProviderClient;Landroid/accounts/Account;)[B"/>
+		<method name="getWithUri(Landroid/content/ContentProviderClient;Landroid/accounts/Account;)Landroid/util/Pair;"/>
+		<method name="newSetOperation(Landroid/accounts/Account;[B)Landroid/content/ContentProviderOperation;"/>
+		<method name="set(Landroid/content/ContentProviderClient;Landroid/accounts/Account;[B)V"/>
+		<field name="CONTENT_DIRECTORY"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/ContactsContract$ProviderStatus" since="23">
+		<extends name="java/lang/Object"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="DATABASE_CREATION_TIMESTAMP" since="26"/>
+		<field name="STATUS"/>
+		<field name="STATUS_BUSY"/>
+		<field name="STATUS_EMPTY"/>
+		<field name="STATUS_NORMAL"/>
+	</class>
+	<class name="android/provider/ContactsContract$QuickContact" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="showQuickContact(Landroid/content/Context;Landroid/graphics/Rect;Landroid/net/Uri;I[Ljava/lang/String;)V"/>
+		<method name="showQuickContact(Landroid/content/Context;Landroid/graphics/Rect;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;)V" since="23"/>
+		<method name="showQuickContact(Landroid/content/Context;Landroid/view/View;Landroid/net/Uri;I[Ljava/lang/String;)V"/>
+		<method name="showQuickContact(Landroid/content/Context;Landroid/view/View;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;)V" since="23"/>
+		<field name="ACTION_QUICK_CONTACT" since="21"/>
+		<field name="EXTRA_EXCLUDE_MIMES" since="21"/>
+		<field name="EXTRA_MODE" since="23"/>
+		<field name="EXTRA_PRIORITIZED_MIMETYPE" since="23"/>
+		<field name="MODE_LARGE"/>
+		<field name="MODE_MEDIUM"/>
+		<field name="MODE_SMALL"/>
+	</class>
+	<class name="android/provider/ContactsContract$RawContacts" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$ContactNameColumns" since="11"/>
+		<implements name="android/provider/ContactsContract$ContactOptionsColumns"/>
+		<implements name="android/provider/ContactsContract$RawContactsColumns"/>
+		<implements name="android/provider/ContactsContract$SyncColumns"/>
+		<method name="getContactLookupUri(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;"/>
+		<method name="getLocalAccountName(Landroid/content/Context;)Ljava/lang/String;" since="30"/>
+		<method name="getLocalAccountType(Landroid/content/Context;)Ljava/lang/String;" since="30"/>
+		<method name="newEntityIterator(Landroid/database/Cursor;)Landroid/content/EntityIterator;" since="8"/>
+		<field name="AGGREGATION_MODE_DEFAULT"/>
+		<field name="AGGREGATION_MODE_DISABLED"/>
+		<field name="AGGREGATION_MODE_IMMEDIATE" deprecated="15"/>
+		<field name="AGGREGATION_MODE_SUSPENDED"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/ContactsContract$RawContacts$Data" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumns"/>
+		<field name="CONTENT_DIRECTORY"/>
+	</class>
+	<class name="android/provider/ContactsContract$RawContacts$DisplayPhoto" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="CONTENT_DIRECTORY"/>
+	</class>
+	<class name="android/provider/ContactsContract$RawContacts$Entity" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumns"/>
+		<field name="CONTENT_DIRECTORY"/>
+		<field name="DATA_ID"/>
+	</class>
+	<class name="android/provider/ContactsContract$RawContacts$StreamItems" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$StreamItemsColumns"/>
+		<field name="CONTENT_DIRECTORY" deprecated="21"/>
+	</class>
+	<class name="android/provider/ContactsContract$RawContactsColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="ACCOUNT_TYPE_AND_DATA_SET" since="21"/>
+		<field name="AGGREGATION_MODE"/>
+		<field name="BACKUP_ID" since="24"/>
+		<field name="CONTACT_ID"/>
+		<field name="DATA_SET" since="14"/>
+		<field name="DELETED"/>
+		<field name="METADATA_DIRTY" since="24" deprecated="30"/>
+		<field name="RAW_CONTACT_IS_READ_ONLY" since="11"/>
+		<field name="RAW_CONTACT_IS_USER_PROFILE" since="14"/>
+	</class>
+	<class name="android/provider/ContactsContract$RawContactsEntity" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$DataColumns"/>
+		<implements name="android/provider/ContactsContract$RawContactsColumns"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="DATA_ID"/>
+		<field name="PROFILE_CONTENT_URI" since="14"/>
+	</class>
+	<class name="android/provider/ContactsContract$SearchSnippets" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="DEFERRED_SNIPPETING_KEY"/>
+		<field name="SNIPPET"/>
+	</class>
+	<class name="android/provider/ContactsContract$Settings" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$SettingsColumns"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/ContactsContract$SettingsColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="ACCOUNT_NAME"/>
+		<field name="ACCOUNT_TYPE"/>
+		<field name="ANY_UNSYNCED"/>
+		<field name="DATA_SET" since="14"/>
+		<field name="SHOULD_SYNC"/>
+		<field name="UNGROUPED_COUNT"/>
+		<field name="UNGROUPED_VISIBLE"/>
+		<field name="UNGROUPED_WITH_PHONES"/>
+	</class>
+	<class name="android/provider/ContactsContract$SimAccount" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAccountName()Ljava/lang/String;"/>
+		<method name="getAccountType()Ljava/lang/String;"/>
+		<method name="getEfType()I"/>
+		<method name="getSimSlotIndex()I"/>
+		<field name="ADN_EF_TYPE"/>
+		<field name="CREATOR"/>
+		<field name="FDN_EF_TYPE"/>
+		<field name="SDN_EF_TYPE"/>
+		<field name="UNKNOWN_EF_TYPE"/>
+	</class>
+	<class name="android/provider/ContactsContract$SimContacts" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getSimAccounts(Landroid/content/ContentResolver;)Ljava/util/List;"/>
+		<field name="ACTION_SIM_ACCOUNTS_CHANGED"/>
+	</class>
+	<class name="android/provider/ContactsContract$StatusColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<field name="AVAILABLE" since="8"/>
+		<field name="AWAY" since="8"/>
+		<field name="CAPABILITY_HAS_CAMERA" since="11"/>
+		<field name="CAPABILITY_HAS_VIDEO" since="11"/>
+		<field name="CAPABILITY_HAS_VOICE" since="11"/>
+		<field name="CHAT_CAPABILITY" since="11"/>
+		<field name="DO_NOT_DISTURB" since="8"/>
+		<field name="IDLE" since="8"/>
+		<field name="INVISIBLE" since="8"/>
+		<field name="OFFLINE" since="8"/>
+		<field name="PRESENCE"/>
+		<field name="PRESENCE_CUSTOM_STATUS" since="8" deprecated="15"/>
+		<field name="PRESENCE_STATUS" since="8" deprecated="15"/>
+		<field name="STATUS"/>
+		<field name="STATUS_ICON"/>
+		<field name="STATUS_LABEL"/>
+		<field name="STATUS_RES_PACKAGE"/>
+		<field name="STATUS_TIMESTAMP"/>
+	</class>
+	<class name="android/provider/ContactsContract$StatusUpdates" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$PresenceColumns"/>
+		<implements name="android/provider/ContactsContract$StatusColumns"/>
+		<method name="getPresenceIconResourceId(I)I"/>
+		<method name="getPresencePrecedence(I)I"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="PROFILE_CONTENT_URI" since="14"/>
+	</class>
+	<class name="android/provider/ContactsContract$StreamItemPhotos" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$StreamItemPhotosColumns"/>
+		<field name="PHOTO" deprecated="21"/>
+	</class>
+	<class name="android/provider/ContactsContract$StreamItemPhotosColumns" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="PHOTO_FILE_ID" deprecated="21"/>
+		<field name="PHOTO_URI" deprecated="21"/>
+		<field name="SORT_INDEX" deprecated="21"/>
+		<field name="STREAM_ITEM_ID" deprecated="21"/>
+		<field name="SYNC1" deprecated="21"/>
+		<field name="SYNC2" deprecated="21"/>
+		<field name="SYNC3" deprecated="21"/>
+		<field name="SYNC4" deprecated="21"/>
+	</class>
+	<class name="android/provider/ContactsContract$StreamItems" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$StreamItemsColumns"/>
+		<field name="CONTENT_ITEM_TYPE" deprecated="21"/>
+		<field name="CONTENT_LIMIT_URI" deprecated="21"/>
+		<field name="CONTENT_PHOTO_URI" deprecated="21"/>
+		<field name="CONTENT_TYPE" deprecated="21"/>
+		<field name="CONTENT_URI" deprecated="21"/>
+		<field name="MAX_ITEMS" deprecated="21"/>
+	</class>
+	<class name="android/provider/ContactsContract$StreamItems$StreamItemPhotos" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/ContactsContract$StreamItemPhotosColumns"/>
+		<field name="CONTENT_DIRECTORY" deprecated="21"/>
+		<field name="CONTENT_ITEM_TYPE" deprecated="21"/>
+		<field name="CONTENT_TYPE" deprecated="21"/>
+	</class>
+	<class name="android/provider/ContactsContract$StreamItemsColumns" since="15" deprecated="21" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="ACCOUNT_NAME" deprecated="21"/>
+		<field name="ACCOUNT_TYPE" deprecated="21"/>
+		<field name="COMMENTS" deprecated="21"/>
+		<field name="CONTACT_ID" deprecated="21"/>
+		<field name="CONTACT_LOOKUP_KEY" deprecated="21"/>
+		<field name="DATA_SET" deprecated="21"/>
+		<field name="RAW_CONTACT_ID" deprecated="21"/>
+		<field name="RAW_CONTACT_SOURCE_ID" deprecated="21"/>
+		<field name="RES_ICON" deprecated="21"/>
+		<field name="RES_LABEL" deprecated="21"/>
+		<field name="RES_PACKAGE" deprecated="21"/>
+		<field name="SYNC1" deprecated="21"/>
+		<field name="SYNC2" deprecated="21"/>
+		<field name="SYNC3" deprecated="21"/>
+		<field name="SYNC4" deprecated="21"/>
+		<field name="TEXT" deprecated="21"/>
+		<field name="TIMESTAMP" deprecated="21"/>
+	</class>
+	<class name="android/provider/ContactsContract$SyncColumns" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/ContactsContract$BaseSyncColumns"/>
+		<field name="ACCOUNT_NAME"/>
+		<field name="ACCOUNT_TYPE"/>
+		<field name="DIRTY"/>
+		<field name="SOURCE_ID"/>
+		<field name="VERSION"/>
+	</class>
+	<class name="android/provider/ContactsContract$SyncState" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/SyncStateContract$Columns"/>
+		<method name="get(Landroid/content/ContentProviderClient;Landroid/accounts/Account;)[B"/>
+		<method name="getWithUri(Landroid/content/ContentProviderClient;Landroid/accounts/Account;)Landroid/util/Pair;"/>
+		<method name="newSetOperation(Landroid/accounts/Account;[B)Landroid/content/ContentProviderOperation;"/>
+		<method name="set(Landroid/content/ContentProviderClient;Landroid/accounts/Account;[B)V"/>
+		<field name="CONTENT_DIRECTORY"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/DocumentsContract" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="buildChildDocumentsUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="buildChildDocumentsUriUsingTree(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;" since="21"/>
+		<method name="buildDocumentUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="buildDocumentUriUsingTree(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;" since="21"/>
+		<method name="buildRecentDocumentsUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="buildRootUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="buildRootsUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="buildSearchDocumentsUri(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="buildTreeDocumentUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;" since="21"/>
+		<method name="copyDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/net/Uri;)Landroid/net/Uri;" since="24"/>
+		<method name="createDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;" since="21"/>
+		<method name="createWebLinkIntent(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/os/Bundle;)Landroid/content/IntentSender;" since="26"/>
+		<method name="deleteDocument(Landroid/content/ContentResolver;Landroid/net/Uri;)Z"/>
+		<method name="ejectRoot(Landroid/content/ContentResolver;Landroid/net/Uri;)V" since="26"/>
+		<method name="findDocumentPath(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/provider/DocumentsContract$Path;" since="26"/>
+		<method name="getDocumentId(Landroid/net/Uri;)Ljava/lang/String;"/>
+		<method name="getDocumentMetadata(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/os/Bundle;" since="29"/>
+		<method name="getDocumentThumbnail(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/graphics/Point;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;"/>
+		<method name="getRootId(Landroid/net/Uri;)Ljava/lang/String;"/>
+		<method name="getSearchDocumentsQuery(Landroid/net/Uri;)Ljava/lang/String;"/>
+		<method name="getTreeDocumentId(Landroid/net/Uri;)Ljava/lang/String;" since="21"/>
+		<method name="isChildDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/net/Uri;)Z" since="29"/>
+		<method name="isDocumentUri(Landroid/content/Context;Landroid/net/Uri;)Z"/>
+		<method name="isRootUri(Landroid/content/Context;Landroid/net/Uri;)Z" since="29"/>
+		<method name="isRootsUri(Landroid/content/Context;Landroid/net/Uri;)Z" since="29"/>
+		<method name="isTreeUri(Landroid/net/Uri;)Z" since="24"/>
+		<method name="moveDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/net/Uri;Landroid/net/Uri;)Landroid/net/Uri;" since="24"/>
+		<method name="removeDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Landroid/net/Uri;)Z" since="24"/>
+		<method name="renameDocument(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;" since="21"/>
+		<field name="ACTION_DOCUMENT_SETTINGS" since="26"/>
+		<field name="EXTRA_ERROR"/>
+		<field name="EXTRA_EXCLUDE_SELF" since="23"/>
+		<field name="EXTRA_INFO"/>
+		<field name="EXTRA_INITIAL_URI" since="26"/>
+		<field name="EXTRA_LOADING"/>
+		<field name="EXTRA_ORIENTATION" since="24"/>
+		<field name="EXTRA_PROMPT" since="23"/>
+		<field name="METADATA_EXIF" since="29"/>
+		<field name="METADATA_TREE_COUNT" since="29"/>
+		<field name="METADATA_TREE_SIZE" since="29"/>
+		<field name="METADATA_TYPES" since="29"/>
+		<field name="PROVIDER_INTERFACE"/>
+		<field name="QUERY_ARG_DISPLAY_NAME" since="29"/>
+		<field name="QUERY_ARG_EXCLUDE_MEDIA" since="29"/>
+		<field name="QUERY_ARG_FILE_SIZE_OVER" since="29"/>
+		<field name="QUERY_ARG_LAST_MODIFIED_AFTER" since="29"/>
+		<field name="QUERY_ARG_MIME_TYPES" since="29"/>
+	</class>
+	<class name="android/provider/DocumentsContract$Document" since="19">
+		<extends name="java/lang/Object"/>
+		<field name="COLUMN_DISPLAY_NAME"/>
+		<field name="COLUMN_DOCUMENT_ID"/>
+		<field name="COLUMN_FLAGS"/>
+		<field name="COLUMN_ICON"/>
+		<field name="COLUMN_LAST_MODIFIED"/>
+		<field name="COLUMN_MIME_TYPE"/>
+		<field name="COLUMN_SIZE"/>
+		<field name="COLUMN_SUMMARY"/>
+		<field name="FLAG_DIR_BLOCKS_OPEN_DOCUMENT_TREE" since="30"/>
+		<field name="FLAG_DIR_PREFERS_GRID"/>
+		<field name="FLAG_DIR_PREFERS_LAST_MODIFIED"/>
+		<field name="FLAG_DIR_SUPPORTS_CREATE"/>
+		<field name="FLAG_PARTIAL" since="29"/>
+		<field name="FLAG_SUPPORTS_COPY" since="24"/>
+		<field name="FLAG_SUPPORTS_DELETE"/>
+		<field name="FLAG_SUPPORTS_METADATA" since="29"/>
+		<field name="FLAG_SUPPORTS_MOVE" since="24"/>
+		<field name="FLAG_SUPPORTS_REMOVE" since="24"/>
+		<field name="FLAG_SUPPORTS_RENAME" since="21"/>
+		<field name="FLAG_SUPPORTS_SETTINGS" since="26"/>
+		<field name="FLAG_SUPPORTS_THUMBNAIL"/>
+		<field name="FLAG_SUPPORTS_WRITE"/>
+		<field name="FLAG_VIRTUAL_DOCUMENT" since="24"/>
+		<field name="FLAG_WEB_LINKABLE" since="26"/>
+		<field name="MIME_TYPE_DIR"/>
+	</class>
+	<class name="android/provider/DocumentsContract$Path" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/util/List;)V"/>
+		<method name="getPath()Ljava/util/List;"/>
+		<method name="getRootId()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/provider/DocumentsContract$Root" since="19">
+		<extends name="java/lang/Object"/>
+		<field name="COLUMN_AVAILABLE_BYTES"/>
+		<field name="COLUMN_CAPACITY_BYTES" since="24"/>
+		<field name="COLUMN_DOCUMENT_ID"/>
+		<field name="COLUMN_FLAGS"/>
+		<field name="COLUMN_ICON"/>
+		<field name="COLUMN_MIME_TYPES"/>
+		<field name="COLUMN_QUERY_ARGS" since="29"/>
+		<field name="COLUMN_ROOT_ID"/>
+		<field name="COLUMN_SUMMARY"/>
+		<field name="COLUMN_TITLE"/>
+		<field name="FLAG_EMPTY" since="29"/>
+		<field name="FLAG_LOCAL_ONLY"/>
+		<field name="FLAG_SUPPORTS_CREATE"/>
+		<field name="FLAG_SUPPORTS_EJECT" since="26"/>
+		<field name="FLAG_SUPPORTS_IS_CHILD" since="21"/>
+		<field name="FLAG_SUPPORTS_RECENTS"/>
+		<field name="FLAG_SUPPORTS_SEARCH"/>
+		<field name="MIME_TYPE_ITEM" since="26"/>
+	</class>
+	<class name="android/provider/DocumentsProvider" since="19">
+		<extends name="android/content/ContentProvider"/>
+		<method name="&lt;init>()V"/>
+		<method name="copyDocument(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="24"/>
+		<method name="createDocument(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="createWebLinkIntent(Ljava/lang/String;Landroid/os/Bundle;)Landroid/content/IntentSender;" since="26"/>
+		<method name="deleteDocument(Ljava/lang/String;)V"/>
+		<method name="ejectRoot(Ljava/lang/String;)V" since="26"/>
+		<method name="findDocumentPath(Ljava/lang/String;Ljava/lang/String;)Landroid/provider/DocumentsContract$Path;" since="26"/>
+		<method name="getDocumentMetadata(Ljava/lang/String;)Landroid/os/Bundle;" since="29"/>
+		<method name="getDocumentStreamTypes(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;" since="24"/>
+		<method name="getDocumentType(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="isChildDocument(Ljava/lang/String;Ljava/lang/String;)Z" since="21"/>
+		<method name="moveDocument(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="24"/>
+		<method name="openDocument(Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;"/>
+		<method name="openDocumentThumbnail(Ljava/lang/String;Landroid/graphics/Point;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;"/>
+		<method name="openTypedDocument(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;" since="24"/>
+		<method name="queryChildDocuments(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/database/Cursor;" since="26"/>
+		<method name="queryChildDocuments(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="queryDocument(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="queryRecentDocuments(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="queryRecentDocuments(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;" since="29"/>
+		<method name="queryRoots([Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="querySearchDocuments(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;"/>
+		<method name="querySearchDocuments(Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/database/Cursor;" since="29"/>
+		<method name="removeDocument(Ljava/lang/String;Ljava/lang/String;)V" since="24"/>
+		<method name="renameDocument(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="21"/>
+		<method name="revokeDocumentPermission(Ljava/lang/String;)V" since="21"/>
+	</class>
+	<class name="android/provider/FontRequest" since="26" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="31"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V" deprecated="31"/>
+		<method name="getCertificates()Ljava/util/List;" deprecated="31"/>
+		<method name="getProviderAuthority()Ljava/lang/String;" deprecated="31"/>
+		<method name="getProviderPackage()Ljava/lang/String;" deprecated="31"/>
+		<method name="getQuery()Ljava/lang/String;" deprecated="31"/>
+	</class>
+	<class name="android/provider/FontsContract" since="26" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="buildTypeface(Landroid/content/Context;Landroid/os/CancellationSignal;[Landroid/provider/FontsContract$FontInfo;)Landroid/graphics/Typeface;" deprecated="31"/>
+		<method name="fetchFonts(Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/provider/FontRequest;)Landroid/provider/FontsContract$FontFamilyResult;" deprecated="31"/>
+		<method name="requestFonts(Landroid/content/Context;Landroid/provider/FontRequest;Landroid/os/Handler;Landroid/os/CancellationSignal;Landroid/provider/FontsContract$FontRequestCallback;)V" deprecated="31"/>
+	</class>
+	<class name="android/provider/FontsContract$Columns" since="26" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="FILE_ID" deprecated="31"/>
+		<field name="ITALIC" deprecated="31"/>
+		<field name="RESULT_CODE" deprecated="31"/>
+		<field name="RESULT_CODE_FONT_NOT_FOUND" deprecated="31"/>
+		<field name="RESULT_CODE_FONT_UNAVAILABLE" deprecated="31"/>
+		<field name="RESULT_CODE_MALFORMED_QUERY" deprecated="31"/>
+		<field name="RESULT_CODE_OK" deprecated="31"/>
+		<field name="TTC_INDEX" deprecated="31"/>
+		<field name="VARIATION_SETTINGS" deprecated="31"/>
+		<field name="WEIGHT" deprecated="31"/>
+	</class>
+	<class name="android/provider/FontsContract$FontFamilyResult" since="26" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="getFonts()[Landroid/provider/FontsContract$FontInfo;" deprecated="31"/>
+		<method name="getStatusCode()I" deprecated="31"/>
+		<field name="STATUS_OK" deprecated="31"/>
+		<field name="STATUS_REJECTED" deprecated="31"/>
+		<field name="STATUS_UNEXPECTED_DATA_PROVIDED" deprecated="31"/>
+		<field name="STATUS_WRONG_CERTIFICATES" deprecated="31"/>
+	</class>
+	<class name="android/provider/FontsContract$FontInfo" since="26" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="getAxes()[Landroid/graphics/fonts/FontVariationAxis;" deprecated="31"/>
+		<method name="getResultCode()I" deprecated="31"/>
+		<method name="getTtcIndex()I" deprecated="31"/>
+		<method name="getUri()Landroid/net/Uri;" deprecated="31"/>
+		<method name="getWeight()I" deprecated="31"/>
+		<method name="isItalic()Z" deprecated="31"/>
+	</class>
+	<class name="android/provider/FontsContract$FontRequestCallback" since="26" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="onTypefaceRequestFailed(I)V" deprecated="31"/>
+		<method name="onTypefaceRetrieved(Landroid/graphics/Typeface;)V" deprecated="31"/>
+		<field name="FAIL_REASON_FONT_LOAD_ERROR" deprecated="31"/>
+		<field name="FAIL_REASON_FONT_NOT_FOUND" deprecated="31"/>
+		<field name="FAIL_REASON_FONT_UNAVAILABLE" deprecated="31"/>
+		<field name="FAIL_REASON_MALFORMED_QUERY" deprecated="31"/>
+		<field name="FAIL_REASON_PROVIDER_NOT_FOUND" deprecated="31"/>
+		<field name="FAIL_REASON_WRONG_CERTIFICATES" deprecated="31"/>
+	</class>
+	<class name="android/provider/LiveFolders" since="3" deprecated="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="ACTION_CREATE_LIVE_FOLDER" deprecated="29"/>
+		<field name="DESCRIPTION" deprecated="29"/>
+		<field name="DISPLAY_MODE_GRID" deprecated="29"/>
+		<field name="DISPLAY_MODE_LIST" deprecated="29"/>
+		<field name="EXTRA_LIVE_FOLDER_BASE_INTENT" deprecated="29"/>
+		<field name="EXTRA_LIVE_FOLDER_DISPLAY_MODE" deprecated="29"/>
+		<field name="EXTRA_LIVE_FOLDER_ICON" deprecated="29"/>
+		<field name="EXTRA_LIVE_FOLDER_NAME" deprecated="29"/>
+		<field name="ICON_BITMAP" deprecated="29"/>
+		<field name="ICON_PACKAGE" deprecated="29"/>
+		<field name="ICON_RESOURCE" deprecated="29"/>
+		<field name="INTENT" deprecated="29"/>
+		<field name="NAME" deprecated="29"/>
+	</class>
+	<class name="android/provider/MediaStore" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="canManageMedia(Landroid/content/Context;)Z" since="31"/>
+		<method name="createDeleteRequest(Landroid/content/ContentResolver;Ljava/util/Collection;)Landroid/app/PendingIntent;" since="30"/>
+		<method name="createFavoriteRequest(Landroid/content/ContentResolver;Ljava/util/Collection;Z)Landroid/app/PendingIntent;" since="30"/>
+		<method name="createTrashRequest(Landroid/content/ContentResolver;Ljava/util/Collection;Z)Landroid/app/PendingIntent;" since="30"/>
+		<method name="createWriteRequest(Landroid/content/ContentResolver;Ljava/util/Collection;)Landroid/app/PendingIntent;" since="30"/>
+		<method name="getDocumentUri(Landroid/content/Context;Landroid/net/Uri;)Landroid/net/Uri;" since="26"/>
+		<method name="getExternalVolumeNames(Landroid/content/Context;)Ljava/util/Set;" since="29"/>
+		<method name="getGeneration(Landroid/content/Context;Ljava/lang/String;)J" since="30"/>
+		<method name="getMediaScannerUri()Landroid/net/Uri;"/>
+		<method name="getMediaUri(Landroid/content/Context;Landroid/net/Uri;)Landroid/net/Uri;" since="29"/>
+		<method name="getOriginalMediaFormatFileDescriptor(Landroid/content/Context;Landroid/os/ParcelFileDescriptor;)Landroid/os/ParcelFileDescriptor;" since="31"/>
+		<method name="getRecentExternalVolumeNames(Landroid/content/Context;)Ljava/util/Set;" since="30"/>
+		<method name="getRedactedUri(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;" since="31"/>
+		<method name="getRedactedUri(Landroid/content/ContentResolver;Ljava/util/List;)Ljava/util/List;" since="31"/>
+		<method name="getRequireOriginal(Landroid/net/Uri;)Z" since="30"/>
+		<method name="getVersion(Landroid/content/Context;)Ljava/lang/String;" since="12"/>
+		<method name="getVersion(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;" since="29"/>
+		<method name="getVolumeName(Landroid/net/Uri;)Ljava/lang/String;" since="29"/>
+		<method name="isCurrentSystemGallery(Landroid/content/ContentResolver;ILjava/lang/String;)Z" since="31"/>
+		<method name="setIncludePending(Landroid/net/Uri;)Landroid/net/Uri;" since="29" deprecated="30"/>
+		<method name="setRequireOriginal(Landroid/net/Uri;)Landroid/net/Uri;" since="29"/>
+		<field name="ACTION_IMAGE_CAPTURE" since="3"/>
+		<field name="ACTION_IMAGE_CAPTURE_SECURE" since="17"/>
+		<field name="ACTION_REVIEW" since="29"/>
+		<field name="ACTION_REVIEW_SECURE" since="29"/>
+		<field name="ACTION_VIDEO_CAPTURE" since="3"/>
+		<field name="AUTHORITY"/>
+		<field name="AUTHORITY_URI" since="29"/>
+		<field name="EXTRA_ACCEPT_ORIGINAL_MEDIA_FORMAT" since="31"/>
+		<field name="EXTRA_BRIGHTNESS" since="29"/>
+		<field name="EXTRA_DURATION_LIMIT" since="8"/>
+		<field name="EXTRA_FINISH_ON_COMPLETION" since="3"/>
+		<field name="EXTRA_FULL_SCREEN" since="8"/>
+		<field name="EXTRA_MEDIA_ALBUM" since="3"/>
+		<field name="EXTRA_MEDIA_ARTIST" since="3"/>
+		<field name="EXTRA_MEDIA_CAPABILITIES" since="31"/>
+		<field name="EXTRA_MEDIA_CAPABILITIES_UID" since="31"/>
+		<field name="EXTRA_MEDIA_FOCUS" since="3"/>
+		<field name="EXTRA_MEDIA_GENRE" since="21"/>
+		<field name="EXTRA_MEDIA_PLAYLIST" since="21" deprecated="31"/>
+		<field name="EXTRA_MEDIA_RADIO_CHANNEL" since="21"/>
+		<field name="EXTRA_MEDIA_TITLE" since="3"/>
+		<field name="EXTRA_OUTPUT" since="3"/>
+		<field name="EXTRA_SCREEN_ORIENTATION" since="3"/>
+		<field name="EXTRA_SHOW_ACTION_ICONS" since="8"/>
+		<field name="EXTRA_SIZE_LIMIT" since="8"/>
+		<field name="EXTRA_VIDEO_QUALITY" since="3"/>
+		<field name="INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH" since="9"/>
+		<field name="INTENT_ACTION_MEDIA_SEARCH" since="3"/>
+		<field name="INTENT_ACTION_MUSIC_PLAYER" since="8" deprecated="15"/>
+		<field name="INTENT_ACTION_STILL_IMAGE_CAMERA" since="3"/>
+		<field name="INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE" since="17"/>
+		<field name="INTENT_ACTION_TEXT_OPEN_FROM_SEARCH" since="17"/>
+		<field name="INTENT_ACTION_VIDEO_CAMERA" since="3"/>
+		<field name="INTENT_ACTION_VIDEO_PLAY_FROM_SEARCH" since="17"/>
+		<field name="MATCH_DEFAULT" since="30"/>
+		<field name="MATCH_EXCLUDE" since="30"/>
+		<field name="MATCH_INCLUDE" since="30"/>
+		<field name="MATCH_ONLY" since="30"/>
+		<field name="MEDIA_IGNORE_FILENAME" since="9"/>
+		<field name="MEDIA_SCANNER_VOLUME"/>
+		<field name="META_DATA_REVIEW_GALLERY_PREWARM_SERVICE" since="30"/>
+		<field name="META_DATA_STILL_IMAGE_CAMERA_PREWARM_SERVICE" since="23"/>
+		<field name="QUERY_ARG_INCLUDE_RECENTLY_UNMOUNTED_VOLUMES" since="31"/>
+		<field name="QUERY_ARG_MATCH_FAVORITE" since="30"/>
+		<field name="QUERY_ARG_MATCH_PENDING" since="30"/>
+		<field name="QUERY_ARG_MATCH_TRASHED" since="30"/>
+		<field name="QUERY_ARG_RELATED_URI" since="30"/>
+		<field name="UNKNOWN_STRING" since="8"/>
+		<field name="VOLUME_EXTERNAL" since="29"/>
+		<field name="VOLUME_EXTERNAL_PRIMARY" since="29"/>
+		<field name="VOLUME_INTERNAL" since="29"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="keyFor(Ljava/lang/String;)Ljava/lang/String;" deprecated="30"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$AlbumColumns" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="ALBUM"/>
+		<field name="ALBUM_ART" deprecated="29"/>
+		<field name="ALBUM_ID"/>
+		<field name="ALBUM_KEY" deprecated="30"/>
+		<field name="ARTIST"/>
+		<field name="ARTIST_ID" since="29"/>
+		<field name="ARTIST_KEY" since="30" deprecated="30"/>
+		<field name="FIRST_YEAR"/>
+		<field name="LAST_YEAR"/>
+		<field name="NUMBER_OF_SONGS"/>
+		<field name="NUMBER_OF_SONGS_FOR_ARTIST" since="3"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$Albums" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/MediaStore$Audio$AlbumColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="ENTRY_CONTENT_TYPE"/>
+		<field name="EXTERNAL_CONTENT_URI"/>
+		<field name="INTERNAL_CONTENT_URI"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$ArtistColumns" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="ARTIST"/>
+		<field name="ARTIST_KEY" deprecated="30"/>
+		<field name="NUMBER_OF_ALBUMS"/>
+		<field name="NUMBER_OF_TRACKS"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$Artists" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/MediaStore$Audio$ArtistColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="ENTRY_CONTENT_TYPE"/>
+		<field name="EXTERNAL_CONTENT_URI"/>
+		<field name="INTERNAL_CONTENT_URI"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$Artists$Albums" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns" since="31"/>
+		<implements name="android/provider/MediaStore$Audio$AlbumColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContentUri(Ljava/lang/String;J)Landroid/net/Uri;"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$AudioColumns" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$MediaColumns"/>
+		<field name="ALBUM" removed="30"/>
+		<field name="ALBUM_ART" removed="14"/>
+		<field name="ALBUM_ID"/>
+		<field name="ALBUM_KEY" deprecated="30"/>
+		<field name="ARTIST" removed="30"/>
+		<field name="ARTIST_ID"/>
+		<field name="ARTIST_KEY" deprecated="30"/>
+		<field name="BOOKMARK" since="8"/>
+		<field name="COMPOSER" removed="30"/>
+		<field name="DURATION" removed="29"/>
+		<field name="GENRE" since="30"/>
+		<field name="GENRE_ID" since="30"/>
+		<field name="GENRE_KEY" since="30" deprecated="30"/>
+		<field name="IS_ALARM"/>
+		<field name="IS_AUDIOBOOK" since="29"/>
+		<field name="IS_MUSIC"/>
+		<field name="IS_NOTIFICATION"/>
+		<field name="IS_PODCAST" since="8"/>
+		<field name="IS_RECORDING" since="31"/>
+		<field name="IS_RINGTONE"/>
+		<field name="TITLE_KEY" deprecated="30"/>
+		<field name="TITLE_RESOURCE_URI" since="30"/>
+		<field name="TRACK"/>
+		<field name="YEAR"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$Genres" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/MediaStore$Audio$GenresColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="getContentUriForAudioId(Ljava/lang/String;I)Landroid/net/Uri;" since="11"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="ENTRY_CONTENT_TYPE"/>
+		<field name="EXTERNAL_CONTENT_URI"/>
+		<field name="INTERNAL_CONTENT_URI"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$Genres$Members" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$Audio$AudioColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContentUri(Ljava/lang/String;J)Landroid/net/Uri;"/>
+		<field name="AUDIO_ID"/>
+		<field name="CONTENT_DIRECTORY"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="GENRE_ID"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$GenresColumns" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="NAME"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$Media" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$Audio$AudioColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="getContentUri(Ljava/lang/String;J)Landroid/net/Uri;" since="30"/>
+		<method name="getContentUriForPath(Ljava/lang/String;)Landroid/net/Uri;" deprecated="29"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="ENTRY_CONTENT_TYPE" since="21"/>
+		<field name="EXTERNAL_CONTENT_URI"/>
+		<field name="EXTRA_MAX_BYTES" since="3"/>
+		<field name="INTERNAL_CONTENT_URI"/>
+		<field name="RECORD_SOUND_ACTION"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$Playlists" since="1" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/MediaStore$Audio$PlaylistsColumns"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;" deprecated="31"/>
+		<field name="CONTENT_TYPE" deprecated="31"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="31"/>
+		<field name="ENTRY_CONTENT_TYPE" deprecated="31"/>
+		<field name="EXTERNAL_CONTENT_URI" deprecated="31"/>
+		<field name="INTERNAL_CONTENT_URI" deprecated="31"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$Playlists$Members" since="1" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$Audio$AudioColumns"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="getContentUri(Ljava/lang/String;J)Landroid/net/Uri;" deprecated="31"/>
+		<method name="moveItem(Landroid/content/ContentResolver;JII)Z" since="8" deprecated="31"/>
+		<field name="AUDIO_ID" deprecated="31"/>
+		<field name="CONTENT_DIRECTORY" deprecated="31"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="31"/>
+		<field name="PLAYLIST_ID" deprecated="31"/>
+		<field name="PLAY_ORDER" deprecated="31"/>
+		<field name="_ID" deprecated="31"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$PlaylistsColumns" since="1" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$MediaColumns" since="30"/>
+		<field name="DATA" deprecated="29"/>
+		<field name="DATE_ADDED" deprecated="31"/>
+		<field name="DATE_MODIFIED" deprecated="31"/>
+		<field name="NAME" deprecated="31"/>
+	</class>
+	<class name="android/provider/MediaStore$Audio$Radio" since="21">
+		<extends name="java/lang/Object"/>
+		<field name="ENTRY_CONTENT_TYPE"/>
+	</class>
+	<class name="android/provider/MediaStore$DownloadColumns" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$MediaColumns"/>
+		<field name="DOWNLOAD_URI"/>
+		<field name="REFERER_URI"/>
+	</class>
+	<class name="android/provider/MediaStore$Downloads" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$DownloadColumns"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="getContentUri(Ljava/lang/String;J)Landroid/net/Uri;" since="30"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="EXTERNAL_CONTENT_URI"/>
+		<field name="INTERNAL_CONTENT_URI"/>
+	</class>
+	<class name="android/provider/MediaStore$Files" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="getContentUri(Ljava/lang/String;J)Landroid/net/Uri;"/>
+	</class>
+	<class name="android/provider/MediaStore$Files$FileColumns" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$MediaColumns"/>
+		<field name="MEDIA_TYPE"/>
+		<field name="MEDIA_TYPE_AUDIO"/>
+		<field name="MEDIA_TYPE_DOCUMENT" since="30"/>
+		<field name="MEDIA_TYPE_IMAGE"/>
+		<field name="MEDIA_TYPE_NONE"/>
+		<field name="MEDIA_TYPE_PLAYLIST" deprecated="31"/>
+		<field name="MEDIA_TYPE_SUBTITLE" since="30"/>
+		<field name="MEDIA_TYPE_VIDEO"/>
+		<field name="MIME_TYPE"/>
+		<field name="PARENT"/>
+		<field name="TITLE" removed="30"/>
+	</class>
+	<class name="android/provider/MediaStore$Images" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/provider/MediaStore$Images$ImageColumns" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$MediaColumns"/>
+		<field name="BUCKET_DISPLAY_NAME" removed="29"/>
+		<field name="BUCKET_ID" removed="29"/>
+		<field name="DATE_TAKEN" removed="29"/>
+		<field name="DESCRIPTION"/>
+		<field name="EXPOSURE_TIME" since="30"/>
+		<field name="F_NUMBER" since="30"/>
+		<field name="ISO" since="30"/>
+		<field name="IS_PRIVATE"/>
+		<field name="LATITUDE" deprecated="29"/>
+		<field name="LONGITUDE" deprecated="29"/>
+		<field name="MINI_THUMB_MAGIC" deprecated="29"/>
+		<field name="ORIENTATION" removed="29"/>
+		<field name="PICASA_ID" deprecated="29"/>
+		<field name="SCENE_CAPTURE_TYPE" since="30"/>
+	</class>
+	<class name="android/provider/MediaStore$Images$Media" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$Images$ImageColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="getBitmap(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/graphics/Bitmap;" deprecated="29"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="getContentUri(Ljava/lang/String;J)Landroid/net/Uri;" since="30"/>
+		<method name="insertImage(Landroid/content/ContentResolver;Landroid/graphics/Bitmap;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="29"/>
+		<method name="insertImage(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="29"/>
+		<method name="query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;)Landroid/database/Cursor;" deprecated="29"/>
+		<method name="query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" deprecated="29"/>
+		<method name="query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;" deprecated="29"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="EXTERNAL_CONTENT_URI"/>
+		<field name="INTERNAL_CONTENT_URI"/>
+	</class>
+	<class name="android/provider/MediaStore$Images$Thumbnails" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="cancelThumbnailRequest(Landroid/content/ContentResolver;J)V" since="5" deprecated="29"/>
+		<method name="cancelThumbnailRequest(Landroid/content/ContentResolver;JJ)V" since="8" deprecated="29"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;" deprecated="29"/>
+		<method name="getKindSize(I)Landroid/util/Size;" since="30" deprecated="30"/>
+		<method name="getThumbnail(Landroid/content/ContentResolver;JILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" since="5" deprecated="29"/>
+		<method name="getThumbnail(Landroid/content/ContentResolver;JJILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" since="8" deprecated="29"/>
+		<method name="query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;)Landroid/database/Cursor;" deprecated="29"/>
+		<method name="queryMiniThumbnail(Landroid/content/ContentResolver;JI[Ljava/lang/String;)Landroid/database/Cursor;" deprecated="29"/>
+		<method name="queryMiniThumbnails(Landroid/content/ContentResolver;Landroid/net/Uri;I[Ljava/lang/String;)Landroid/database/Cursor;" deprecated="29"/>
+		<field name="DATA" deprecated="29"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="29"/>
+		<field name="EXTERNAL_CONTENT_URI" deprecated="29"/>
+		<field name="FULL_SCREEN_KIND" deprecated="29"/>
+		<field name="HEIGHT" deprecated="29"/>
+		<field name="IMAGE_ID" deprecated="29"/>
+		<field name="INTERNAL_CONTENT_URI" deprecated="29"/>
+		<field name="KIND" deprecated="29"/>
+		<field name="MICRO_KIND" deprecated="29"/>
+		<field name="MINI_KIND" deprecated="29"/>
+		<field name="THUMB_DATA" since="5" deprecated="29"/>
+		<field name="WIDTH" deprecated="29"/>
+	</class>
+	<class name="android/provider/MediaStore$MediaColumns" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="ALBUM" since="30"/>
+		<field name="ALBUM_ARTIST" since="30"/>
+		<field name="ARTIST" since="30"/>
+		<field name="AUTHOR" since="30"/>
+		<field name="BITRATE" since="30"/>
+		<field name="BUCKET_DISPLAY_NAME" since="29"/>
+		<field name="BUCKET_ID" since="29"/>
+		<field name="CAPTURE_FRAMERATE" since="30"/>
+		<field name="CD_TRACK_NUMBER" since="30"/>
+		<field name="COMPILATION" since="30"/>
+		<field name="COMPOSER" since="30"/>
+		<field name="DATA" deprecated="29"/>
+		<field name="DATE_ADDED"/>
+		<field name="DATE_EXPIRES" since="29"/>
+		<field name="DATE_MODIFIED"/>
+		<field name="DATE_TAKEN" since="29"/>
+		<field name="DISC_NUMBER" since="30"/>
+		<field name="DISPLAY_NAME"/>
+		<field name="DOCUMENT_ID" since="29"/>
+		<field name="DURATION" since="29"/>
+		<field name="GENERATION_ADDED" since="30"/>
+		<field name="GENERATION_MODIFIED" since="30"/>
+		<field name="GENRE" since="30"/>
+		<field name="HEIGHT" since="16"/>
+		<field name="INSTANCE_ID" since="29"/>
+		<field name="IS_DOWNLOAD" since="30"/>
+		<field name="IS_DRM" since="30"/>
+		<field name="IS_FAVORITE" since="30"/>
+		<field name="IS_PENDING" since="29"/>
+		<field name="IS_TRASHED" since="30"/>
+		<field name="MIME_TYPE"/>
+		<field name="NUM_TRACKS" since="30"/>
+		<field name="ORIENTATION" since="29"/>
+		<field name="ORIGINAL_DOCUMENT_ID" since="29"/>
+		<field name="OWNER_PACKAGE_NAME" since="29"/>
+		<field name="RELATIVE_PATH" since="29"/>
+		<field name="RESOLUTION" since="30"/>
+		<field name="SIZE"/>
+		<field name="TITLE"/>
+		<field name="VOLUME_NAME" since="29"/>
+		<field name="WIDTH" since="16"/>
+		<field name="WRITER" since="30"/>
+		<field name="XMP" since="30"/>
+		<field name="YEAR" since="30"/>
+	</class>
+	<class name="android/provider/MediaStore$Video" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;)Landroid/database/Cursor;" deprecated="29"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+	</class>
+	<class name="android/provider/MediaStore$Video$Media" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$Video$VideoColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="getContentUri(Ljava/lang/String;J)Landroid/net/Uri;" since="30"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="EXTERNAL_CONTENT_URI"/>
+		<field name="INTERNAL_CONTENT_URI"/>
+	</class>
+	<class name="android/provider/MediaStore$Video$Thumbnails" since="5" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="cancelThumbnailRequest(Landroid/content/ContentResolver;J)V" deprecated="29"/>
+		<method name="cancelThumbnailRequest(Landroid/content/ContentResolver;JJ)V" since="8" deprecated="29"/>
+		<method name="getContentUri(Ljava/lang/String;)Landroid/net/Uri;" deprecated="29"/>
+		<method name="getKindSize(I)Landroid/util/Size;" since="30" deprecated="30"/>
+		<method name="getThumbnail(Landroid/content/ContentResolver;JILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" deprecated="29"/>
+		<method name="getThumbnail(Landroid/content/ContentResolver;JJILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;" since="8" deprecated="29"/>
+		<field name="DATA" deprecated="29"/>
+		<field name="DEFAULT_SORT_ORDER" deprecated="29"/>
+		<field name="EXTERNAL_CONTENT_URI" deprecated="29"/>
+		<field name="FULL_SCREEN_KIND" deprecated="29"/>
+		<field name="HEIGHT" deprecated="29"/>
+		<field name="INTERNAL_CONTENT_URI" deprecated="29"/>
+		<field name="KIND" deprecated="29"/>
+		<field name="MICRO_KIND" deprecated="29"/>
+		<field name="MINI_KIND" deprecated="29"/>
+		<field name="VIDEO_ID" deprecated="29"/>
+		<field name="WIDTH" deprecated="29"/>
+	</class>
+	<class name="android/provider/MediaStore$Video$VideoColumns" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/MediaStore$MediaColumns"/>
+		<field name="ALBUM" removed="30"/>
+		<field name="ARTIST" removed="30"/>
+		<field name="BOOKMARK" since="3"/>
+		<field name="BUCKET_DISPLAY_NAME" since="3" removed="29"/>
+		<field name="BUCKET_ID" since="3" removed="29"/>
+		<field name="CATEGORY"/>
+		<field name="COLOR_RANGE" since="30"/>
+		<field name="COLOR_STANDARD" since="30"/>
+		<field name="COLOR_TRANSFER" since="30"/>
+		<field name="DATE_TAKEN" removed="29"/>
+		<field name="DESCRIPTION"/>
+		<field name="DURATION" removed="29"/>
+		<field name="IS_PRIVATE"/>
+		<field name="LANGUAGE"/>
+		<field name="LATITUDE" deprecated="29"/>
+		<field name="LONGITUDE" deprecated="29"/>
+		<field name="MINI_THUMB_MAGIC" deprecated="29"/>
+		<field name="RESOLUTION" removed="30"/>
+		<field name="TAGS"/>
+	</class>
+	<class name="android/provider/OpenableColumns" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="DISPLAY_NAME"/>
+		<field name="SIZE"/>
+	</class>
+	<class name="android/provider/SearchRecentSuggestions" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;I)V"/>
+		<method name="clearHistory()V"/>
+		<method name="saveRecentQuery(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="truncateHistory(Landroid/content/ContentResolver;I)V"/>
+		<field name="QUERIES_PROJECTION_1LINE"/>
+		<field name="QUERIES_PROJECTION_2LINE"/>
+		<field name="QUERIES_PROJECTION_DATE_INDEX"/>
+		<field name="QUERIES_PROJECTION_DISPLAY1_INDEX"/>
+		<field name="QUERIES_PROJECTION_DISPLAY2_INDEX"/>
+		<field name="QUERIES_PROJECTION_QUERY_INDEX"/>
+	</class>
+	<class name="android/provider/Settings" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="canDrawOverlays(Landroid/content/Context;)Z" since="23"/>
+		<field name="ACTION_ACCESSIBILITY_SETTINGS" since="5"/>
+		<field name="ACTION_ADD_ACCOUNT" since="8"/>
+		<field name="ACTION_AIRPLANE_MODE_SETTINGS" since="3"/>
+		<field name="ACTION_APN_SETTINGS"/>
+		<field name="ACTION_APPLICATION_DETAILS_SETTINGS" since="9"/>
+		<field name="ACTION_APPLICATION_DEVELOPMENT_SETTINGS" since="3"/>
+		<field name="ACTION_APPLICATION_SETTINGS"/>
+		<field name="ACTION_APP_NOTIFICATION_BUBBLE_SETTINGS" since="29"/>
+		<field name="ACTION_APP_NOTIFICATION_SETTINGS" since="26"/>
+		<field name="ACTION_APP_OPEN_BY_DEFAULT_SETTINGS" since="31"/>
+		<field name="ACTION_APP_SEARCH_SETTINGS" since="29"/>
+		<field name="ACTION_APP_USAGE_SETTINGS" since="29"/>
+		<field name="ACTION_AUTO_ROTATE_SETTINGS" since="31"/>
+		<field name="ACTION_BATTERY_SAVER_SETTINGS" since="22"/>
+		<field name="ACTION_BIOMETRIC_ENROLL" since="30"/>
+		<field name="ACTION_BLUETOOTH_SETTINGS"/>
+		<field name="ACTION_CAPTIONING_SETTINGS" since="19"/>
+		<field name="ACTION_CAST_SETTINGS" since="21"/>
+		<field name="ACTION_CHANNEL_NOTIFICATION_SETTINGS" since="26"/>
+		<field name="ACTION_CONDITION_PROVIDER_SETTINGS" since="30"/>
+		<field name="ACTION_DATA_ROAMING_SETTINGS" since="3"/>
+		<field name="ACTION_DATA_USAGE_SETTINGS" since="28"/>
+		<field name="ACTION_DATE_SETTINGS"/>
+		<field name="ACTION_DEVICE_INFO_SETTINGS" since="8"/>
+		<field name="ACTION_DISPLAY_SETTINGS"/>
+		<field name="ACTION_DREAM_SETTINGS" since="18"/>
+		<field name="ACTION_FINGERPRINT_ENROLL" since="28" deprecated="30"/>
+		<field name="ACTION_HARD_KEYBOARD_SETTINGS" since="24"/>
+		<field name="ACTION_HOME_SETTINGS" since="21"/>
+		<field name="ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS" since="24"/>
+		<field name="ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS" since="23"/>
+		<field name="ACTION_INPUT_METHOD_SETTINGS" since="3"/>
+		<field name="ACTION_INPUT_METHOD_SUBTYPE_SETTINGS" since="11"/>
+		<field name="ACTION_INTERNAL_STORAGE_SETTINGS" since="3"/>
+		<field name="ACTION_LOCALE_SETTINGS"/>
+		<field name="ACTION_LOCATION_SOURCE_SETTINGS"/>
+		<field name="ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS" since="9"/>
+		<field name="ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION" since="30"/>
+		<field name="ACTION_MANAGE_ALL_SIM_PROFILES_SETTINGS" since="31"/>
+		<field name="ACTION_MANAGE_APPLICATIONS_SETTINGS" since="3"/>
+		<field name="ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION" since="30"/>
+		<field name="ACTION_MANAGE_DEFAULT_APPS_SETTINGS" since="24"/>
+		<field name="ACTION_MANAGE_OVERLAY_PERMISSION" since="23"/>
+		<field name="ACTION_MANAGE_UNKNOWN_APP_SOURCES" since="26"/>
+		<field name="ACTION_MANAGE_WRITE_SETTINGS" since="23"/>
+		<field name="ACTION_MEMORY_CARD_SETTINGS" since="3"/>
+		<field name="ACTION_NETWORK_OPERATOR_SETTINGS" since="3"/>
+		<field name="ACTION_NFCSHARING_SETTINGS" since="14"/>
+		<field name="ACTION_NFC_PAYMENT_SETTINGS" since="19"/>
+		<field name="ACTION_NFC_SETTINGS" since="16"/>
+		<field name="ACTION_NIGHT_DISPLAY_SETTINGS" since="26"/>
+		<field name="ACTION_NOTIFICATION_ASSISTANT_SETTINGS" since="29"/>
+		<field name="ACTION_NOTIFICATION_LISTENER_DETAIL_SETTINGS" since="30"/>
+		<field name="ACTION_NOTIFICATION_LISTENER_SETTINGS" since="22"/>
+		<field name="ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS" since="23"/>
+		<field name="ACTION_PRINT_SETTINGS" since="19"/>
+		<field name="ACTION_PRIVACY_SETTINGS" since="5"/>
+		<field name="ACTION_PROCESS_WIFI_EASY_CONNECT_URI" since="29"/>
+		<field name="ACTION_QUICK_ACCESS_WALLET_SETTINGS" since="30"/>
+		<field name="ACTION_QUICK_LAUNCH_SETTINGS" since="3"/>
+		<field name="ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" since="23"/>
+		<field name="ACTION_REQUEST_MANAGE_MEDIA" since="31"/>
+		<field name="ACTION_REQUEST_SCHEDULE_EXACT_ALARM" since="31"/>
+		<field name="ACTION_REQUEST_SET_AUTOFILL_SERVICE" since="26"/>
+		<field name="ACTION_SEARCH_SETTINGS" since="8"/>
+		<field name="ACTION_SECURITY_SETTINGS"/>
+		<field name="ACTION_SETTINGS"/>
+		<field name="ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY" since="33"/>
+		<field name="ACTION_SHOW_REGULATORY_INFO" since="21"/>
+		<field name="ACTION_SHOW_WORK_POLICY_INFO" since="30"/>
+		<field name="ACTION_SOUND_SETTINGS"/>
+		<field name="ACTION_STORAGE_VOLUME_ACCESS_SETTINGS" since="28" deprecated="29"/>
+		<field name="ACTION_SYNC_SETTINGS" since="3"/>
+		<field name="ACTION_USAGE_ACCESS_SETTINGS" since="21"/>
+		<field name="ACTION_USER_DICTIONARY_SETTINGS" since="3"/>
+		<field name="ACTION_VOICE_CONTROL_AIRPLANE_MODE" since="23"/>
+		<field name="ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE" since="23"/>
+		<field name="ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE" since="23"/>
+		<field name="ACTION_VOICE_INPUT_SETTINGS" since="21"/>
+		<field name="ACTION_VPN_SETTINGS" since="24"/>
+		<field name="ACTION_VR_LISTENER_SETTINGS" since="24"/>
+		<field name="ACTION_WEBVIEW_SETTINGS" since="24"/>
+		<field name="ACTION_WIFI_ADD_NETWORKS" since="30"/>
+		<field name="ACTION_WIFI_IP_SETTINGS" since="3"/>
+		<field name="ACTION_WIFI_SETTINGS"/>
+		<field name="ACTION_WIRELESS_SETTINGS"/>
+		<field name="ACTION_ZEN_MODE_PRIORITY_SETTINGS" since="26"/>
+		<field name="ADD_WIFI_RESULT_ADD_OR_UPDATE_FAILED" since="30"/>
+		<field name="ADD_WIFI_RESULT_ALREADY_EXISTS" since="30"/>
+		<field name="ADD_WIFI_RESULT_SUCCESS" since="30"/>
+		<field name="AUTHORITY"/>
+		<field name="EXTRA_ACCOUNT_TYPES" since="18"/>
+		<field name="EXTRA_AIRPLANE_MODE_ENABLED" since="23"/>
+		<field name="EXTRA_APP_PACKAGE" since="26"/>
+		<field name="EXTRA_AUTHORITIES" since="8"/>
+		<field name="EXTRA_BATTERY_SAVER_MODE_ENABLED" since="23"/>
+		<field name="EXTRA_BIOMETRIC_AUTHENTICATORS_ALLOWED" since="30"/>
+		<field name="EXTRA_CHANNEL_FILTER_LIST" since="31"/>
+		<field name="EXTRA_CHANNEL_ID" since="26"/>
+		<field name="EXTRA_CONVERSATION_ID" since="30"/>
+		<field name="EXTRA_DO_NOT_DISTURB_MODE_ENABLED" since="23"/>
+		<field name="EXTRA_DO_NOT_DISTURB_MODE_MINUTES" since="23"/>
+		<field name="EXTRA_EASY_CONNECT_ATTEMPTED_SSID" since="30"/>
+		<field name="EXTRA_EASY_CONNECT_BAND_LIST" since="30"/>
+		<field name="EXTRA_EASY_CONNECT_CHANNEL_LIST" since="30"/>
+		<field name="EXTRA_EASY_CONNECT_ERROR_CODE" since="30"/>
+		<field name="EXTRA_INPUT_METHOD_ID" since="11"/>
+		<field name="EXTRA_NOTIFICATION_LISTENER_COMPONENT_NAME" since="30"/>
+		<field name="EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY" since="33"/>
+		<field name="EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI" since="33"/>
+		<field name="EXTRA_SUB_ID" since="28"/>
+		<field name="EXTRA_WIFI_NETWORK_LIST" since="30"/>
+		<field name="EXTRA_WIFI_NETWORK_RESULT_LIST" since="30"/>
+		<field name="INTENT_CATEGORY_USAGE_ACCESS_CONFIG" since="23"/>
+		<field name="METADATA_USAGE_ACCESS_REASON" since="23"/>
+	</class>
+	<class name="android/provider/Settings$Global" since="17">
+		<extends name="android/provider/Settings$NameValueTable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;)F"/>
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F"/>
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I"/>
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I"/>
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;)J"/>
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J"/>
+		<method name="getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getUriFor(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="putFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)Z"/>
+		<method name="putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z"/>
+		<method name="putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z"/>
+		<method name="putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<field name="ADB_ENABLED"/>
+		<field name="AIRPLANE_MODE_ON"/>
+		<field name="AIRPLANE_MODE_RADIOS"/>
+		<field name="ALWAYS_FINISH_ACTIVITIES"/>
+		<field name="ANIMATOR_DURATION_SCALE"/>
+		<field name="APPLY_RAMPING_RINGER" since="29"/>
+		<field name="AUTO_TIME"/>
+		<field name="AUTO_TIME_ZONE"/>
+		<field name="BLUETOOTH_ON"/>
+		<field name="BOOT_COUNT" since="24"/>
+		<field name="CONTACT_METADATA_SYNC_ENABLED" since="24"/>
+		<field name="CONTENT_URI"/>
+		<field name="DATA_ROAMING"/>
+		<field name="DEBUG_APP"/>
+		<field name="DEVELOPMENT_SETTINGS_ENABLED"/>
+		<field name="DEVICE_NAME" since="25"/>
+		<field name="DEVICE_PROVISIONED"/>
+		<field name="HTTP_PROXY"/>
+		<field name="INSTALL_NON_MARKET_APPS" deprecated="21"/>
+		<field name="MODE_RINGER"/>
+		<field name="NETWORK_PREFERENCE"/>
+		<field name="RADIO_BLUETOOTH"/>
+		<field name="RADIO_CELL"/>
+		<field name="RADIO_NFC"/>
+		<field name="RADIO_WIFI"/>
+		<field name="SHOW_PROCESSES" deprecated="25"/>
+		<field name="STAY_ON_WHILE_PLUGGED_IN"/>
+		<field name="SYS_PROP_SETTING_VERSION" removed="24"/>
+		<field name="TRANSITION_ANIMATION_SCALE"/>
+		<field name="USB_MASS_STORAGE_ENABLED"/>
+		<field name="USE_GOOGLE_MAIL"/>
+		<field name="WAIT_FOR_DEBUGGER"/>
+		<field name="WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN" since="23"/>
+		<field name="WIFI_MAX_DHCP_RETRY_COUNT"/>
+		<field name="WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS"/>
+		<field name="WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON" deprecated="26"/>
+		<field name="WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY" deprecated="30"/>
+		<field name="WIFI_NUM_OPEN_NETWORKS_KEPT" deprecated="30"/>
+		<field name="WIFI_ON"/>
+		<field name="WIFI_SLEEP_POLICY" deprecated="30"/>
+		<field name="WIFI_SLEEP_POLICY_DEFAULT" deprecated="30"/>
+		<field name="WIFI_SLEEP_POLICY_NEVER" deprecated="30"/>
+		<field name="WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED" deprecated="30"/>
+		<field name="WIFI_WATCHDOG_ON"/>
+		<field name="WINDOW_ANIMATION_SCALE"/>
+	</class>
+	<class name="android/provider/Settings$NameValueTable" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="getUriFor(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="putString(Landroid/content/ContentResolver;Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<field name="NAME"/>
+		<field name="VALUE"/>
+	</class>
+	<class name="android/provider/Settings$Panel" since="29">
+		<extends name="java/lang/Object"/>
+		<field name="ACTION_INTERNET_CONNECTIVITY"/>
+		<field name="ACTION_NFC"/>
+		<field name="ACTION_VOLUME"/>
+		<field name="ACTION_WIFI"/>
+	</class>
+	<class name="android/provider/Settings$Secure" since="3">
+		<extends name="android/provider/Settings$NameValueTable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;)F"/>
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F"/>
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I"/>
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I"/>
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;)J"/>
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J"/>
+		<method name="getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getUriFor(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z" since="8" deprecated="19"/>
+		<method name="putFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)Z"/>
+		<method name="putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z"/>
+		<method name="putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z"/>
+		<method name="putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="setLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;Z)V" since="8" deprecated="19"/>
+		<field name="ACCESSIBILITY_DISPLAY_INVERSION_ENABLED" since="21"/>
+		<field name="ACCESSIBILITY_ENABLED" since="4"/>
+		<field name="ACCESSIBILITY_SPEAK_PASSWORD" since="15" deprecated="26"/>
+		<field name="ADB_ENABLED" deprecated="17"/>
+		<field name="ALLOWED_GEOLOCATION_ORIGINS" since="8"/>
+		<field name="ALLOW_MOCK_LOCATION" deprecated="23"/>
+		<field name="ANDROID_ID"/>
+		<field name="BACKGROUND_DATA" deprecated="15"/>
+		<field name="BLUETOOTH_ON" deprecated="17"/>
+		<field name="CONTENT_URI"/>
+		<field name="DATA_ROAMING" deprecated="17"/>
+		<field name="DEFAULT_INPUT_METHOD"/>
+		<field name="DEVELOPMENT_SETTINGS_ENABLED" since="16" deprecated="17"/>
+		<field name="DEVICE_PROVISIONED" deprecated="17"/>
+		<field name="ENABLED_ACCESSIBILITY_SERVICES" since="4"/>
+		<field name="ENABLED_INPUT_METHODS"/>
+		<field name="HTTP_PROXY" deprecated="17"/>
+		<field name="INPUT_METHOD_SELECTOR_VISIBILITY" since="11"/>
+		<field name="INSTALL_NON_MARKET_APPS" deprecated="17"/>
+		<field name="LOCATION_MODE" since="19" deprecated="28"/>
+		<field name="LOCATION_MODE_BATTERY_SAVING" since="19" deprecated="28"/>
+		<field name="LOCATION_MODE_HIGH_ACCURACY" since="19" deprecated="28"/>
+		<field name="LOCATION_MODE_OFF" since="19" deprecated="28"/>
+		<field name="LOCATION_MODE_SENSORS_ONLY" since="19" deprecated="28"/>
+		<field name="LOCATION_PROVIDERS_ALLOWED" deprecated="19"/>
+		<field name="LOCK_PATTERN_ENABLED" since="8" deprecated="23"/>
+		<field name="LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" since="8" deprecated="17"/>
+		<field name="LOCK_PATTERN_VISIBLE" since="8" deprecated="23"/>
+		<field name="LOGGING_ID" deprecated="15"/>
+		<field name="NETWORK_PREFERENCE" deprecated="17"/>
+		<field name="PARENTAL_CONTROL_ENABLED"/>
+		<field name="PARENTAL_CONTROL_LAST_UPDATE"/>
+		<field name="PARENTAL_CONTROL_REDIRECT_URL"/>
+		<field name="RTT_CALLING_MODE" since="28"/>
+		<field name="SECURE_FRP_MODE" since="30"/>
+		<field name="SELECTED_INPUT_METHOD_SUBTYPE" since="11"/>
+		<field name="SETTINGS_CLASSNAME"/>
+		<field name="SKIP_FIRST_USE_HINTS" since="21"/>
+		<field name="SYS_PROP_SETTING_VERSION" removed="24"/>
+		<field name="TOUCH_EXPLORATION_ENABLED" since="14"/>
+		<field name="TTS_DEFAULT_COUNTRY" since="4" deprecated="15"/>
+		<field name="TTS_DEFAULT_LANG" since="4" deprecated="15"/>
+		<field name="TTS_DEFAULT_PITCH" since="4"/>
+		<field name="TTS_DEFAULT_RATE" since="4"/>
+		<field name="TTS_DEFAULT_SYNTH" since="4"/>
+		<field name="TTS_DEFAULT_VARIANT" since="4" deprecated="15"/>
+		<field name="TTS_ENABLED_PLUGINS" since="8"/>
+		<field name="TTS_USE_DEFAULTS" since="4" deprecated="15"/>
+		<field name="USB_MASS_STORAGE_ENABLED" deprecated="17"/>
+		<field name="USE_GOOGLE_MAIL" deprecated="17"/>
+		<field name="WIFI_MAX_DHCP_RETRY_COUNT" deprecated="17"/>
+		<field name="WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS" deprecated="17"/>
+		<field name="WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON" deprecated="17"/>
+		<field name="WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY" deprecated="17"/>
+		<field name="WIFI_NUM_OPEN_NETWORKS_KEPT" deprecated="17"/>
+		<field name="WIFI_ON" deprecated="17"/>
+		<field name="WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_AP_COUNT" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_MAX_AP_CHECKS" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_ON" deprecated="17"/>
+		<field name="WIFI_WATCHDOG_PING_COUNT" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_PING_DELAY_MS" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_PING_TIMEOUT_MS" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_WATCH_LIST" deprecated="15"/>
+	</class>
+	<class name="android/provider/Settings$SettingNotFoundException" since="1">
+		<extends name="android/util/AndroidException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/provider/Settings$System" since="1">
+		<extends name="android/provider/Settings$NameValueTable"/>
+		<method name="&lt;init>()V"/>
+		<method name="canWrite(Landroid/content/Context;)Z" since="23"/>
+		<method name="getConfiguration(Landroid/content/ContentResolver;Landroid/content/res/Configuration;)V"/>
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;)F"/>
+		<method name="getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F"/>
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I"/>
+		<method name="getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I"/>
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;)J" since="3"/>
+		<method name="getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J" since="3"/>
+		<method name="getShowGTalkServiceStatus(Landroid/content/ContentResolver;)Z" deprecated="17"/>
+		<method name="getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getUriFor(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<method name="putConfiguration(Landroid/content/ContentResolver;Landroid/content/res/Configuration;)Z"/>
+		<method name="putFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)Z"/>
+		<method name="putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z"/>
+		<method name="putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z" since="3"/>
+		<method name="putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="setShowGTalkServiceStatus(Landroid/content/ContentResolver;Z)V" deprecated="17"/>
+		<field name="ACCELEROMETER_ROTATION" since="3"/>
+		<field name="ADB_ENABLED" deprecated="15"/>
+		<field name="AIRPLANE_MODE_ON" deprecated="17"/>
+		<field name="AIRPLANE_MODE_RADIOS" deprecated="17"/>
+		<field name="ALARM_ALERT" since="5"/>
+		<field name="ALWAYS_FINISH_ACTIVITIES" deprecated="17"/>
+		<field name="ANDROID_ID" deprecated="15"/>
+		<field name="ANIMATOR_DURATION_SCALE" since="16" deprecated="17"/>
+		<field name="APPEND_FOR_LAST_AUDIBLE" removed="23"/>
+		<field name="AUTO_TIME" deprecated="17"/>
+		<field name="AUTO_TIME_ZONE" since="11" deprecated="17"/>
+		<field name="BLUETOOTH_DISCOVERABILITY"/>
+		<field name="BLUETOOTH_DISCOVERABILITY_TIMEOUT"/>
+		<field name="BLUETOOTH_ON" deprecated="15"/>
+		<field name="CONTENT_URI"/>
+		<field name="DATA_ROAMING" deprecated="15"/>
+		<field name="DATE_FORMAT" deprecated="31"/>
+		<field name="DEBUG_APP" deprecated="17"/>
+		<field name="DEFAULT_ALARM_ALERT_URI" since="5"/>
+		<field name="DEFAULT_NOTIFICATION_URI"/>
+		<field name="DEFAULT_RINGTONE_URI"/>
+		<field name="DEVICE_PROVISIONED" deprecated="15"/>
+		<field name="DIM_SCREEN" deprecated="17"/>
+		<field name="DTMF_TONE_TYPE_WHEN_DIALING" since="23"/>
+		<field name="DTMF_TONE_WHEN_DIALING"/>
+		<field name="END_BUTTON_BEHAVIOR"/>
+		<field name="FONT_SCALE"/>
+		<field name="HAPTIC_FEEDBACK_ENABLED" since="3"/>
+		<field name="HTTP_PROXY" deprecated="15"/>
+		<field name="INSTALL_NON_MARKET_APPS" deprecated="15"/>
+		<field name="LOCATION_PROVIDERS_ALLOWED" deprecated="15"/>
+		<field name="LOCK_PATTERN_ENABLED" deprecated="15"/>
+		<field name="LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED" since="3" deprecated="15"/>
+		<field name="LOCK_PATTERN_VISIBLE" deprecated="15"/>
+		<field name="LOGGING_ID" deprecated="15"/>
+		<field name="MODE_RINGER" deprecated="17"/>
+		<field name="MODE_RINGER_STREAMS_AFFECTED"/>
+		<field name="MUTE_STREAMS_AFFECTED"/>
+		<field name="NETWORK_PREFERENCE" deprecated="15"/>
+		<field name="NEXT_ALARM_FORMATTED" deprecated="21"/>
+		<field name="NOTIFICATION_SOUND"/>
+		<field name="PARENTAL_CONTROL_ENABLED" deprecated="15"/>
+		<field name="PARENTAL_CONTROL_LAST_UPDATE" deprecated="15"/>
+		<field name="PARENTAL_CONTROL_REDIRECT_URL" deprecated="15"/>
+		<field name="RADIO_BLUETOOTH" deprecated="17"/>
+		<field name="RADIO_CELL" deprecated="17"/>
+		<field name="RADIO_NFC" since="14" deprecated="17"/>
+		<field name="RADIO_WIFI" deprecated="17"/>
+		<field name="RINGTONE"/>
+		<field name="SCREEN_BRIGHTNESS"/>
+		<field name="SCREEN_BRIGHTNESS_MODE" since="8"/>
+		<field name="SCREEN_BRIGHTNESS_MODE_AUTOMATIC" since="8"/>
+		<field name="SCREEN_BRIGHTNESS_MODE_MANUAL" since="8"/>
+		<field name="SCREEN_OFF_TIMEOUT"/>
+		<field name="SETTINGS_CLASSNAME" deprecated="15"/>
+		<field name="SETUP_WIZARD_HAS_RUN"/>
+		<field name="SHOW_GTALK_SERVICE_STATUS"/>
+		<field name="SHOW_PROCESSES" deprecated="17"/>
+		<field name="SHOW_WEB_SUGGESTIONS" since="4" deprecated="15"/>
+		<field name="SOUND_EFFECTS_ENABLED"/>
+		<field name="STAY_ON_WHILE_PLUGGED_IN" deprecated="17"/>
+		<field name="SYS_PROP_SETTING_VERSION" removed="24"/>
+		<field name="TEXT_AUTO_CAPS"/>
+		<field name="TEXT_AUTO_PUNCTUATE"/>
+		<field name="TEXT_AUTO_REPLACE"/>
+		<field name="TEXT_SHOW_PASSWORD"/>
+		<field name="TIME_12_24"/>
+		<field name="TRANSITION_ANIMATION_SCALE" deprecated="17"/>
+		<field name="USB_MASS_STORAGE_ENABLED" deprecated="15"/>
+		<field name="USER_ROTATION" since="11"/>
+		<field name="USE_GOOGLE_MAIL" deprecated="15"/>
+		<field name="VIBRATE_ON"/>
+		<field name="VIBRATE_WHEN_RINGING" since="23"/>
+		<field name="VOLUME_ALARM" removed="23"/>
+		<field name="VOLUME_BLUETOOTH_SCO" since="8" removed="23"/>
+		<field name="VOLUME_MUSIC" removed="23"/>
+		<field name="VOLUME_NOTIFICATION" since="3" removed="23"/>
+		<field name="VOLUME_RING" removed="23"/>
+		<field name="VOLUME_SETTINGS" removed="23"/>
+		<field name="VOLUME_SYSTEM" removed="23"/>
+		<field name="VOLUME_VOICE" removed="23"/>
+		<field name="WAIT_FOR_DEBUGGER" deprecated="17"/>
+		<field name="WALLPAPER_ACTIVITY" deprecated="17"/>
+		<field name="WIFI_MAX_DHCP_RETRY_COUNT" since="3" deprecated="15"/>
+		<field name="WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS" since="3" deprecated="15"/>
+		<field name="WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON" deprecated="15"/>
+		<field name="WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY" deprecated="15"/>
+		<field name="WIFI_NUM_OPEN_NETWORKS_KEPT" deprecated="15"/>
+		<field name="WIFI_ON" deprecated="15"/>
+		<field name="WIFI_SLEEP_POLICY" since="3" deprecated="17"/>
+		<field name="WIFI_SLEEP_POLICY_DEFAULT" since="3" deprecated="17"/>
+		<field name="WIFI_SLEEP_POLICY_NEVER" since="3" deprecated="17"/>
+		<field name="WIFI_SLEEP_POLICY_NEVER_WHILE_PLUGGED" since="3" deprecated="17"/>
+		<field name="WIFI_STATIC_DNS1" deprecated="17"/>
+		<field name="WIFI_STATIC_DNS2" deprecated="17"/>
+		<field name="WIFI_STATIC_GATEWAY" deprecated="17"/>
+		<field name="WIFI_STATIC_IP" deprecated="17"/>
+		<field name="WIFI_STATIC_NETMASK" deprecated="17"/>
+		<field name="WIFI_USE_STATIC_IP" deprecated="17"/>
+		<field name="WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_AP_COUNT" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_MAX_AP_CHECKS" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_ON" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_PING_COUNT" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_PING_DELAY_MS" deprecated="15"/>
+		<field name="WIFI_WATCHDOG_PING_TIMEOUT_MS" deprecated="15"/>
+		<field name="WINDOW_ANIMATION_SCALE" deprecated="17"/>
+	</class>
+	<class name="android/provider/SettingsSlicesContract" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="AUTHORITY"/>
+		<field name="BASE_URI"/>
+		<field name="KEY_AIRPLANE_MODE"/>
+		<field name="KEY_BATTERY_SAVER"/>
+		<field name="KEY_BLUETOOTH"/>
+		<field name="KEY_LOCATION"/>
+		<field name="KEY_WIFI"/>
+		<field name="PATH_SETTING_ACTION"/>
+		<field name="PATH_SETTING_INTENT"/>
+	</class>
+	<class name="android/provider/SimPhonebookContract" since="31">
+		<extends name="java/lang/Object"/>
+		<field name="AUTHORITY"/>
+		<field name="AUTHORITY_URI"/>
+	</class>
+	<class name="android/provider/SimPhonebookContract$ElementaryFiles" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getItemUri(II)Landroid/net/Uri;"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="EF_ADN"/>
+		<field name="EF_FDN"/>
+		<field name="EF_SDN"/>
+		<field name="EF_TYPE"/>
+		<field name="EF_UNKNOWN"/>
+		<field name="MAX_RECORDS"/>
+		<field name="NAME_MAX_LENGTH"/>
+		<field name="PHONE_NUMBER_MAX_LENGTH"/>
+		<field name="RECORD_COUNT"/>
+		<field name="SLOT_INDEX"/>
+		<field name="SUBSCRIPTION_ID"/>
+	</class>
+	<class name="android/provider/SimPhonebookContract$SimRecords" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getContentUri(II)Landroid/net/Uri;"/>
+		<method name="getEncodedNameLength(Landroid/content/ContentResolver;Ljava/lang/String;)I"/>
+		<method name="getItemUri(III)Landroid/net/Uri;"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="ELEMENTARY_FILE_TYPE"/>
+		<field name="ERROR_NAME_UNSUPPORTED"/>
+		<field name="NAME"/>
+		<field name="PHONE_NUMBER"/>
+		<field name="RECORD_NUMBER"/>
+		<field name="SUBSCRIPTION_ID"/>
+	</class>
+	<class name="android/provider/SyncStateContract" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/provider/SyncStateContract$Columns" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="ACCOUNT_NAME"/>
+		<field name="ACCOUNT_TYPE"/>
+		<field name="DATA"/>
+	</class>
+	<class name="android/provider/SyncStateContract$Constants" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/SyncStateContract$Columns"/>
+		<method name="&lt;init>()V"/>
+		<field name="CONTENT_DIRECTORY"/>
+	</class>
+	<class name="android/provider/SyncStateContract$Helpers" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="get(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/accounts/Account;)[B"/>
+		<method name="getWithUri(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/accounts/Account;)Landroid/util/Pair;"/>
+		<method name="insert(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/accounts/Account;[B)Landroid/net/Uri;"/>
+		<method name="newSetOperation(Landroid/net/Uri;Landroid/accounts/Account;[B)Landroid/content/ContentProviderOperation;"/>
+		<method name="newUpdateOperation(Landroid/net/Uri;[B)Landroid/content/ContentProviderOperation;"/>
+		<method name="set(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/accounts/Account;[B)V"/>
+		<method name="update(Landroid/content/ContentProviderClient;Landroid/net/Uri;[B)V"/>
+	</class>
+	<class name="android/provider/Telephony" since="19">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/provider/Telephony$BaseMmsColumns" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="CONTENT_CLASS"/>
+		<field name="CONTENT_LOCATION"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CREATOR" since="21"/>
+		<field name="DATE"/>
+		<field name="DATE_SENT"/>
+		<field name="DELIVERY_REPORT"/>
+		<field name="DELIVERY_TIME"/>
+		<field name="EXPIRY"/>
+		<field name="LOCKED"/>
+		<field name="MESSAGE_BOX"/>
+		<field name="MESSAGE_BOX_ALL"/>
+		<field name="MESSAGE_BOX_DRAFTS"/>
+		<field name="MESSAGE_BOX_FAILED" since="21"/>
+		<field name="MESSAGE_BOX_INBOX"/>
+		<field name="MESSAGE_BOX_OUTBOX"/>
+		<field name="MESSAGE_BOX_SENT"/>
+		<field name="MESSAGE_CLASS"/>
+		<field name="MESSAGE_ID"/>
+		<field name="MESSAGE_SIZE"/>
+		<field name="MESSAGE_TYPE"/>
+		<field name="MMS_VERSION"/>
+		<field name="PRIORITY"/>
+		<field name="READ"/>
+		<field name="READ_REPORT"/>
+		<field name="READ_STATUS"/>
+		<field name="REPORT_ALLOWED"/>
+		<field name="RESPONSE_STATUS"/>
+		<field name="RESPONSE_TEXT"/>
+		<field name="RETRIEVE_STATUS"/>
+		<field name="RETRIEVE_TEXT"/>
+		<field name="RETRIEVE_TEXT_CHARSET"/>
+		<field name="SEEN"/>
+		<field name="STATUS"/>
+		<field name="SUBJECT"/>
+		<field name="SUBJECT_CHARSET"/>
+		<field name="SUBSCRIPTION_ID" since="22"/>
+		<field name="TEXT_ONLY"/>
+		<field name="THREAD_ID"/>
+		<field name="TRANSACTION_ID"/>
+	</class>
+	<class name="android/provider/Telephony$CanonicalAddressesColumns" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="ADDRESS"/>
+	</class>
+	<class name="android/provider/Telephony$CarrierId" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="getSpecificCarrierIdUriForSubscriptionId(I)Landroid/net/Uri;" since="29"/>
+		<method name="getUriForSubscriptionId(I)Landroid/net/Uri;"/>
+		<field name="CARRIER_ID"/>
+		<field name="CARRIER_NAME"/>
+		<field name="CONTENT_URI"/>
+		<field name="SPECIFIC_CARRIER_ID" since="29"/>
+		<field name="SPECIFIC_CARRIER_ID_NAME" since="29"/>
+	</class>
+	<class name="android/provider/Telephony$Carriers" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="APN"/>
+		<field name="AUTH_TYPE"/>
+		<field name="BEARER" deprecated="28"/>
+		<field name="CARRIER_ENABLED"/>
+		<field name="CARRIER_ID" since="29"/>
+		<field name="CONTENT_URI"/>
+		<field name="CURRENT"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="MCC" deprecated="29"/>
+		<field name="MMSC"/>
+		<field name="MMSPORT"/>
+		<field name="MMSPROXY"/>
+		<field name="MNC" deprecated="29"/>
+		<field name="MVNO_MATCH_DATA" deprecated="29"/>
+		<field name="MVNO_TYPE" deprecated="29"/>
+		<field name="NAME"/>
+		<field name="NETWORK_TYPE_BITMASK" since="28"/>
+		<field name="NUMERIC" deprecated="29"/>
+		<field name="PASSWORD"/>
+		<field name="PORT"/>
+		<field name="PROTOCOL"/>
+		<field name="PROXY"/>
+		<field name="ROAMING_PROTOCOL"/>
+		<field name="SERVER"/>
+		<field name="SIM_APN_URI" since="29"/>
+		<field name="SUBSCRIPTION_ID" since="22"/>
+		<field name="TYPE"/>
+		<field name="USER"/>
+	</class>
+	<class name="android/provider/Telephony$Mms" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/Telephony$BaseMmsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="REPORT_REQUEST_URI"/>
+		<field name="REPORT_STATUS_URI"/>
+	</class>
+	<class name="android/provider/Telephony$Mms$Addr" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="getAddrUriForMessage(Ljava/lang/String;)Landroid/net/Uri;" since="30"/>
+		<field name="ADDRESS"/>
+		<field name="CHARSET"/>
+		<field name="CONTACT_ID"/>
+		<field name="MSG_ID"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="android/provider/Telephony$Mms$Draft" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/Telephony$BaseMmsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+	</class>
+	<class name="android/provider/Telephony$Mms$Inbox" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/Telephony$BaseMmsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+	</class>
+	<class name="android/provider/Telephony$Mms$Intents" since="19">
+		<extends name="java/lang/Object"/>
+		<field name="CONTENT_CHANGED_ACTION"/>
+		<field name="DELETED_CONTENTS"/>
+	</class>
+	<class name="android/provider/Telephony$Mms$Outbox" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/Telephony$BaseMmsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+	</class>
+	<class name="android/provider/Telephony$Mms$Part" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="getPartUriForMessage(Ljava/lang/String;)Landroid/net/Uri;" since="30"/>
+		<field name="CHARSET"/>
+		<field name="CONTENT_DISPOSITION"/>
+		<field name="CONTENT_ID"/>
+		<field name="CONTENT_LOCATION"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI" since="29"/>
+		<field name="CT_START"/>
+		<field name="CT_TYPE"/>
+		<field name="FILENAME"/>
+		<field name="MSG_ID"/>
+		<field name="NAME"/>
+		<field name="SEQ"/>
+		<field name="TEXT"/>
+		<field name="_DATA"/>
+	</class>
+	<class name="android/provider/Telephony$Mms$Rate" since="19">
+		<extends name="java/lang/Object"/>
+		<field name="CONTENT_URI"/>
+		<field name="SENT_TIME"/>
+	</class>
+	<class name="android/provider/Telephony$Mms$Sent" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/Telephony$BaseMmsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+	</class>
+	<class name="android/provider/Telephony$MmsSms" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="CONTENT_CONVERSATIONS_URI"/>
+		<field name="CONTENT_DRAFT_URI"/>
+		<field name="CONTENT_FILTER_BYPHONE_URI"/>
+		<field name="CONTENT_LOCKED_URI"/>
+		<field name="CONTENT_UNDELIVERED_URI"/>
+		<field name="CONTENT_URI"/>
+		<field name="ERR_TYPE_GENERIC"/>
+		<field name="ERR_TYPE_GENERIC_PERMANENT"/>
+		<field name="ERR_TYPE_MMS_PROTO_PERMANENT"/>
+		<field name="ERR_TYPE_MMS_PROTO_TRANSIENT"/>
+		<field name="ERR_TYPE_SMS_PROTO_PERMANENT"/>
+		<field name="ERR_TYPE_SMS_PROTO_TRANSIENT"/>
+		<field name="ERR_TYPE_TRANSPORT_FAILURE"/>
+		<field name="MMS_PROTO"/>
+		<field name="NO_ERROR"/>
+		<field name="SEARCH_URI"/>
+		<field name="SMS_PROTO"/>
+		<field name="TYPE_DISCRIMINATOR_COLUMN"/>
+	</class>
+	<class name="android/provider/Telephony$MmsSms$PendingMessages" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DUE_TIME"/>
+		<field name="ERROR_CODE"/>
+		<field name="ERROR_TYPE"/>
+		<field name="LAST_TRY"/>
+		<field name="MSG_ID"/>
+		<field name="MSG_TYPE"/>
+		<field name="PROTO_TYPE"/>
+		<field name="RETRY_INDEX"/>
+		<field name="SUBSCRIPTION_ID" since="22"/>
+	</class>
+	<class name="android/provider/Telephony$ServiceStateTable" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getUriForSubscriptionId(I)Landroid/net/Uri;"/>
+		<method name="getUriForSubscriptionIdAndField(ILjava/lang/String;)Landroid/net/Uri;"/>
+		<field name="AUTHORITY"/>
+		<field name="CONTENT_URI"/>
+		<field name="DATA_NETWORK_TYPE" since="31"/>
+		<field name="DATA_REG_STATE" since="31"/>
+		<field name="DUPLEX_MODE" since="31"/>
+		<field name="IS_MANUAL_NETWORK_SELECTION"/>
+		<field name="VOICE_OPERATOR_NUMERIC"/>
+		<field name="VOICE_REG_STATE"/>
+	</class>
+	<class name="android/provider/Telephony$Sms" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Telephony$TextBasedSmsColumns"/>
+		<method name="getDefaultSmsPackage(Landroid/content/Context;)Ljava/lang/String;"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+	</class>
+	<class name="android/provider/Telephony$Sms$Conversations" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Telephony$TextBasedSmsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="MESSAGE_COUNT"/>
+		<field name="SNIPPET"/>
+	</class>
+	<class name="android/provider/Telephony$Sms$Draft" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Telephony$TextBasedSmsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+	</class>
+	<class name="android/provider/Telephony$Sms$Inbox" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Telephony$TextBasedSmsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+	</class>
+	<class name="android/provider/Telephony$Sms$Intents" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="getMessagesFromIntent(Landroid/content/Intent;)[Landroid/telephony/SmsMessage;"/>
+		<field name="ACTION_CHANGE_DEFAULT"/>
+		<field name="ACTION_DEFAULT_SMS_PACKAGE_CHANGED" since="24"/>
+		<field name="ACTION_EXTERNAL_PROVIDER_CHANGE" since="24"/>
+		<field name="DATA_SMS_RECEIVED_ACTION"/>
+		<field name="EXTRA_IS_DEFAULT_SMS_APP" since="24"/>
+		<field name="EXTRA_PACKAGE_NAME"/>
+		<field name="RESULT_SMS_DATABASE_ERROR" since="30"/>
+		<field name="RESULT_SMS_DISPATCH_FAILURE" since="30"/>
+		<field name="RESULT_SMS_DUPLICATED"/>
+		<field name="RESULT_SMS_GENERIC_ERROR"/>
+		<field name="RESULT_SMS_HANDLED"/>
+		<field name="RESULT_SMS_INVALID_URI" since="30"/>
+		<field name="RESULT_SMS_NULL_MESSAGE" since="30"/>
+		<field name="RESULT_SMS_NULL_PDU" since="30"/>
+		<field name="RESULT_SMS_OUT_OF_MEMORY"/>
+		<field name="RESULT_SMS_RECEIVED_WHILE_ENCRYPTED" since="30"/>
+		<field name="RESULT_SMS_UNSUPPORTED"/>
+		<field name="SECRET_CODE_ACTION" since="28" deprecated="29"/>
+		<field name="SIM_FULL_ACTION"/>
+		<field name="SMS_CB_RECEIVED_ACTION"/>
+		<field name="SMS_DELIVER_ACTION"/>
+		<field name="SMS_EMERGENCY_CB_RECEIVED_ACTION" removed="24"/>
+		<field name="SMS_RECEIVED_ACTION"/>
+		<field name="SMS_REJECTED_ACTION"/>
+		<field name="SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED_ACTION"/>
+		<field name="WAP_PUSH_DELIVER_ACTION"/>
+		<field name="WAP_PUSH_RECEIVED_ACTION"/>
+	</class>
+	<class name="android/provider/Telephony$Sms$Outbox" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Telephony$TextBasedSmsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+	</class>
+	<class name="android/provider/Telephony$Sms$Sent" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/Telephony$TextBasedSmsColumns"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+	</class>
+	<class name="android/provider/Telephony$TextBasedSmsColumns" since="19">
+		<extends name="java/lang/Object"/>
+		<field name="ADDRESS"/>
+		<field name="BODY"/>
+		<field name="CREATOR" since="21"/>
+		<field name="DATE"/>
+		<field name="DATE_SENT"/>
+		<field name="ERROR_CODE"/>
+		<field name="LOCKED"/>
+		<field name="MESSAGE_TYPE_ALL"/>
+		<field name="MESSAGE_TYPE_DRAFT"/>
+		<field name="MESSAGE_TYPE_FAILED"/>
+		<field name="MESSAGE_TYPE_INBOX"/>
+		<field name="MESSAGE_TYPE_OUTBOX"/>
+		<field name="MESSAGE_TYPE_QUEUED"/>
+		<field name="MESSAGE_TYPE_SENT"/>
+		<field name="PERSON"/>
+		<field name="PROTOCOL"/>
+		<field name="READ"/>
+		<field name="REPLY_PATH_PRESENT"/>
+		<field name="SEEN"/>
+		<field name="SERVICE_CENTER"/>
+		<field name="STATUS"/>
+		<field name="STATUS_COMPLETE"/>
+		<field name="STATUS_FAILED"/>
+		<field name="STATUS_NONE"/>
+		<field name="STATUS_PENDING"/>
+		<field name="SUBJECT"/>
+		<field name="SUBSCRIPTION_ID" since="22"/>
+		<field name="THREAD_ID"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="android/provider/Telephony$Threads" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/Telephony$ThreadsColumns"/>
+		<method name="getOrCreateThreadId(Landroid/content/Context;Ljava/lang/String;)J" since="23"/>
+		<method name="getOrCreateThreadId(Landroid/content/Context;Ljava/util/Set;)J" since="23"/>
+		<field name="BROADCAST_THREAD"/>
+		<field name="COMMON_THREAD"/>
+		<field name="CONTENT_URI"/>
+		<field name="OBSOLETE_THREADS_URI"/>
+	</class>
+	<class name="android/provider/Telephony$ThreadsColumns" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<field name="ARCHIVED" since="21"/>
+		<field name="DATE"/>
+		<field name="ERROR"/>
+		<field name="HAS_ATTACHMENT"/>
+		<field name="MESSAGE_COUNT"/>
+		<field name="READ"/>
+		<field name="RECIPIENT_IDS"/>
+		<field name="SNIPPET"/>
+		<field name="SNIPPET_CHARSET"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="android/provider/UserDictionary" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="AUTHORITY"/>
+		<field name="CONTENT_URI"/>
+	</class>
+	<class name="android/provider/UserDictionary$Words" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="&lt;init>()V"/>
+		<method name="addWord(Landroid/content/Context;Ljava/lang/String;II)V" deprecated="16"/>
+		<method name="addWord(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;Ljava/util/Locale;)V" since="16"/>
+		<field name="APP_ID"/>
+		<field name="CONTENT_ITEM_TYPE"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CONTENT_URI"/>
+		<field name="DEFAULT_SORT_ORDER"/>
+		<field name="FREQUENCY"/>
+		<field name="LOCALE"/>
+		<field name="LOCALE_TYPE_ALL" deprecated="16"/>
+		<field name="LOCALE_TYPE_CURRENT" deprecated="16"/>
+		<field name="SHORTCUT" since="16"/>
+		<field name="WORD"/>
+		<field name="_ID"/>
+	</class>
+	<class name="android/provider/VoicemailContract" since="14">
+		<extends name="java/lang/Object"/>
+		<field name="ACTION_FETCH_VOICEMAIL"/>
+		<field name="ACTION_NEW_VOICEMAIL"/>
+		<field name="ACTION_SYNC_VOICEMAIL" since="24"/>
+		<field name="AUTHORITY"/>
+		<field name="EXTRA_PHONE_ACCOUNT_HANDLE" since="25"/>
+		<field name="EXTRA_SELF_CHANGE"/>
+		<field name="PARAM_KEY_SOURCE_PACKAGE"/>
+	</class>
+	<class name="android/provider/VoicemailContract$Status" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<method name="buildSourceUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<field name="CONFIGURATION_STATE"/>
+		<field name="CONFIGURATION_STATE_CAN_BE_CONFIGURED"/>
+		<field name="CONFIGURATION_STATE_CONFIGURING" since="25"/>
+		<field name="CONFIGURATION_STATE_DISABLED" since="25"/>
+		<field name="CONFIGURATION_STATE_FAILED" since="25"/>
+		<field name="CONFIGURATION_STATE_NOT_CONFIGURED"/>
+		<field name="CONFIGURATION_STATE_OK"/>
+		<field name="CONTENT_URI"/>
+		<field name="DATA_CHANNEL_STATE"/>
+		<field name="DATA_CHANNEL_STATE_BAD_CONFIGURATION" since="24"/>
+		<field name="DATA_CHANNEL_STATE_COMMUNICATION_ERROR" since="24"/>
+		<field name="DATA_CHANNEL_STATE_NO_CONNECTION"/>
+		<field name="DATA_CHANNEL_STATE_NO_CONNECTION_CELLULAR_REQUIRED" since="24"/>
+		<field name="DATA_CHANNEL_STATE_OK"/>
+		<field name="DATA_CHANNEL_STATE_SERVER_CONNECTION_ERROR" since="24"/>
+		<field name="DATA_CHANNEL_STATE_SERVER_ERROR" since="24"/>
+		<field name="DIR_TYPE"/>
+		<field name="ITEM_TYPE"/>
+		<field name="NOTIFICATION_CHANNEL_STATE"/>
+		<field name="NOTIFICATION_CHANNEL_STATE_MESSAGE_WAITING"/>
+		<field name="NOTIFICATION_CHANNEL_STATE_NO_CONNECTION"/>
+		<field name="NOTIFICATION_CHANNEL_STATE_OK"/>
+		<field name="PHONE_ACCOUNT_COMPONENT_NAME" since="23"/>
+		<field name="PHONE_ACCOUNT_ID" since="23"/>
+		<field name="QUOTA_OCCUPIED" since="24"/>
+		<field name="QUOTA_TOTAL" since="24"/>
+		<field name="QUOTA_UNAVAILABLE" since="24"/>
+		<field name="SETTINGS_URI"/>
+		<field name="SOURCE_PACKAGE"/>
+		<field name="SOURCE_TYPE" since="25"/>
+		<field name="VOICEMAIL_ACCESS_URI"/>
+	</class>
+	<class name="android/provider/VoicemailContract$Voicemails" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/provider/BaseColumns"/>
+		<implements name="android/provider/OpenableColumns"/>
+		<method name="buildSourceUri(Ljava/lang/String;)Landroid/net/Uri;"/>
+		<field name="ARCHIVED" since="26"/>
+		<field name="BACKED_UP" since="26"/>
+		<field name="CONTENT_URI"/>
+		<field name="DATE"/>
+		<field name="DELETED" since="23"/>
+		<field name="DIRTY" since="23"/>
+		<field name="DIRTY_RETAIN" since="28"/>
+		<field name="DIR_TYPE"/>
+		<field name="DURATION"/>
+		<field name="HAS_CONTENT"/>
+		<field name="IS_OMTP_VOICEMAIL" since="26"/>
+		<field name="IS_READ"/>
+		<field name="ITEM_TYPE"/>
+		<field name="LAST_MODIFIED" since="24"/>
+		<field name="MIME_TYPE"/>
+		<field name="NEW" since="28"/>
+		<field name="NUMBER"/>
+		<field name="PHONE_ACCOUNT_COMPONENT_NAME" since="23"/>
+		<field name="PHONE_ACCOUNT_ID" since="23"/>
+		<field name="RESTORED" since="26"/>
+		<field name="SOURCE_DATA"/>
+		<field name="SOURCE_PACKAGE"/>
+		<field name="TRANSCRIPTION" since="21"/>
+	</class>
+	<class name="android/renderscript/Allocation" since="11" deprecated="31">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="copy1DRangeFrom(IILandroid/renderscript/Allocation;I)V" since="14" deprecated="31"/>
+		<method name="copy1DRangeFrom(IILjava/lang/Object;)V" since="21" deprecated="31"/>
+		<method name="copy1DRangeFrom(II[B)V" deprecated="31"/>
+		<method name="copy1DRangeFrom(II[F)V" deprecated="31"/>
+		<method name="copy1DRangeFrom(II[I)V" deprecated="31"/>
+		<method name="copy1DRangeFrom(II[S)V" deprecated="31"/>
+		<method name="copy1DRangeFromUnchecked(IILjava/lang/Object;)V" since="21" deprecated="31"/>
+		<method name="copy1DRangeFromUnchecked(II[B)V" deprecated="31"/>
+		<method name="copy1DRangeFromUnchecked(II[F)V" deprecated="31"/>
+		<method name="copy1DRangeFromUnchecked(II[I)V" deprecated="31"/>
+		<method name="copy1DRangeFromUnchecked(II[S)V" deprecated="31"/>
+		<method name="copy1DRangeTo(IILjava/lang/Object;)V" since="23" deprecated="31"/>
+		<method name="copy1DRangeTo(II[B)V" since="23" deprecated="31"/>
+		<method name="copy1DRangeTo(II[F)V" since="23" deprecated="31"/>
+		<method name="copy1DRangeTo(II[I)V" since="23" deprecated="31"/>
+		<method name="copy1DRangeTo(II[S)V" since="23" deprecated="31"/>
+		<method name="copy1DRangeToUnchecked(IILjava/lang/Object;)V" since="23" deprecated="31"/>
+		<method name="copy1DRangeToUnchecked(II[B)V" since="23" deprecated="31"/>
+		<method name="copy1DRangeToUnchecked(II[F)V" since="23" deprecated="31"/>
+		<method name="copy1DRangeToUnchecked(II[I)V" since="23" deprecated="31"/>
+		<method name="copy1DRangeToUnchecked(II[S)V" since="23" deprecated="31"/>
+		<method name="copy2DRangeFrom(IIIILandroid/renderscript/Allocation;II)V" since="14" deprecated="31"/>
+		<method name="copy2DRangeFrom(IIIILjava/lang/Object;)V" since="21" deprecated="31"/>
+		<method name="copy2DRangeFrom(IIII[B)V" deprecated="31"/>
+		<method name="copy2DRangeFrom(IIII[F)V" deprecated="31"/>
+		<method name="copy2DRangeFrom(IIII[I)V" deprecated="31"/>
+		<method name="copy2DRangeFrom(IIII[S)V" deprecated="31"/>
+		<method name="copy2DRangeFrom(IILandroid/graphics/Bitmap;)V" deprecated="31"/>
+		<method name="copy2DRangeTo(IIIILjava/lang/Object;)V" since="23" deprecated="31"/>
+		<method name="copy2DRangeTo(IIII[B)V" since="23" deprecated="31"/>
+		<method name="copy2DRangeTo(IIII[F)V" since="23" deprecated="31"/>
+		<method name="copy2DRangeTo(IIII[I)V" since="23" deprecated="31"/>
+		<method name="copy2DRangeTo(IIII[S)V" since="23" deprecated="31"/>
+		<method name="copy3DRangeFrom(IIIIIILandroid/renderscript/Allocation;III)V" since="23" deprecated="31"/>
+		<method name="copy3DRangeFrom(IIIIIILjava/lang/Object;)V" since="23" deprecated="31"/>
+		<method name="copy3DRangeTo(IIIIIILjava/lang/Object;)V" since="23" deprecated="31"/>
+		<method name="copyFrom(Landroid/graphics/Bitmap;)V" deprecated="31"/>
+		<method name="copyFrom(Landroid/renderscript/Allocation;)V" since="18" deprecated="31"/>
+		<method name="copyFrom(Ljava/lang/Object;)V" since="21" deprecated="31"/>
+		<method name="copyFrom([B)V" deprecated="31"/>
+		<method name="copyFrom([F)V" deprecated="31"/>
+		<method name="copyFrom([I)V" deprecated="31"/>
+		<method name="copyFrom([Landroid/renderscript/BaseObj;)V" deprecated="31"/>
+		<method name="copyFrom([S)V" deprecated="31"/>
+		<method name="copyFromUnchecked(Ljava/lang/Object;)V" since="21" deprecated="31"/>
+		<method name="copyFromUnchecked([B)V" deprecated="31"/>
+		<method name="copyFromUnchecked([F)V" deprecated="31"/>
+		<method name="copyFromUnchecked([I)V" deprecated="31"/>
+		<method name="copyFromUnchecked([S)V" deprecated="31"/>
+		<method name="copyTo(Landroid/graphics/Bitmap;)V" deprecated="31"/>
+		<method name="copyTo(Ljava/lang/Object;)V" since="21" deprecated="31"/>
+		<method name="copyTo([B)V" deprecated="31"/>
+		<method name="copyTo([F)V" deprecated="31"/>
+		<method name="copyTo([I)V" deprecated="31"/>
+		<method name="copyTo([S)V" deprecated="31"/>
+		<method name="createAllocations(Landroid/renderscript/RenderScript;Landroid/renderscript/Type;II)[Landroid/renderscript/Allocation;" since="24" deprecated="31"/>
+		<method name="createCubemapFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createCubemapFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;Landroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createCubemapFromCubeFaces(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createCubemapFromCubeFaces(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;Landroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createFromBitmap(Landroid/renderscript/RenderScript;Landroid/graphics/Bitmap;Landroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createFromBitmapResource(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;I)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createFromBitmapResource(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;ILandroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createFromString(Landroid/renderscript/RenderScript;Ljava/lang/String;I)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createSized(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;I)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createSized(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;II)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createTyped(Landroid/renderscript/RenderScript;Landroid/renderscript/Type;)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createTyped(Landroid/renderscript/RenderScript;Landroid/renderscript/Type;I)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="createTyped(Landroid/renderscript/RenderScript;Landroid/renderscript/Type;Landroid/renderscript/Allocation$MipmapControl;I)Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="generateMipmaps()V" deprecated="31"/>
+		<method name="getByteBuffer()Ljava/nio/ByteBuffer;" since="24" deprecated="31"/>
+		<method name="getBytesSize()I" since="16" deprecated="31"/>
+		<method name="getElement()Landroid/renderscript/Element;" since="16" deprecated="31"/>
+		<method name="getStride()J" since="24" deprecated="31"/>
+		<method name="getSurface()Landroid/view/Surface;" since="16" deprecated="31"/>
+		<method name="getTimeStamp()J" since="24" deprecated="31"/>
+		<method name="getType()Landroid/renderscript/Type;" deprecated="31"/>
+		<method name="getUsage()I" since="16" deprecated="31"/>
+		<method name="ioReceive()V" since="16" deprecated="31"/>
+		<method name="ioSend()V" since="16" deprecated="31"/>
+		<method name="resize(I)V" deprecated="18"/>
+		<method name="setAutoPadding(Z)V" since="23" deprecated="31"/>
+		<method name="setFromFieldPacker(IIIILandroid/renderscript/FieldPacker;)V" since="23" deprecated="31"/>
+		<method name="setFromFieldPacker(IILandroid/renderscript/FieldPacker;)V" deprecated="31"/>
+		<method name="setFromFieldPacker(ILandroid/renderscript/FieldPacker;)V" deprecated="31"/>
+		<method name="setOnBufferAvailableListener(Landroid/renderscript/Allocation$OnBufferAvailableListener;)V" since="19" deprecated="31"/>
+		<method name="setSurface(Landroid/view/Surface;)V" since="16" deprecated="31"/>
+		<method name="syncAll(I)V" deprecated="31"/>
+		<field name="USAGE_GRAPHICS_CONSTANTS" deprecated="31"/>
+		<field name="USAGE_GRAPHICS_RENDER_TARGET" since="14" deprecated="31"/>
+		<field name="USAGE_GRAPHICS_TEXTURE" deprecated="31"/>
+		<field name="USAGE_GRAPHICS_VERTEX" deprecated="31"/>
+		<field name="USAGE_IO_INPUT" since="16" deprecated="31"/>
+		<field name="USAGE_IO_OUTPUT" since="16" deprecated="31"/>
+		<field name="USAGE_SCRIPT" deprecated="31"/>
+		<field name="USAGE_SHARED" since="18" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Allocation$MipmapControl" since="11" deprecated="31">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Allocation$MipmapControl;"/>
+		<method name="values()[Landroid/renderscript/Allocation$MipmapControl;"/>
+		<field name="MIPMAP_FULL" deprecated="31"/>
+		<field name="MIPMAP_NONE" deprecated="31"/>
+		<field name="MIPMAP_ON_SYNC_TO_TEXTURE" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Allocation$OnBufferAvailableListener" since="19" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="onBufferAvailable(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/AllocationAdapter" since="11" deprecated="31">
+		<extends name="android/renderscript/Allocation"/>
+		<method name="create1D(Landroid/renderscript/RenderScript;Landroid/renderscript/Allocation;)Landroid/renderscript/AllocationAdapter;" since="14" deprecated="31"/>
+		<method name="create2D(Landroid/renderscript/RenderScript;Landroid/renderscript/Allocation;)Landroid/renderscript/AllocationAdapter;" deprecated="31"/>
+		<method name="createTyped(Landroid/renderscript/RenderScript;Landroid/renderscript/Allocation;Landroid/renderscript/Type;)Landroid/renderscript/AllocationAdapter;" since="23" deprecated="31"/>
+		<method name="readData([F)V" removed="14"/>
+		<method name="readData([I)V" removed="14"/>
+		<method name="setFace(Landroid/renderscript/Type$CubemapFace;)V" deprecated="31"/>
+		<method name="setLOD(I)V" deprecated="31"/>
+		<method name="setX(I)V" since="23" deprecated="31"/>
+		<method name="setY(I)V" deprecated="31"/>
+		<method name="setZ(I)V" deprecated="31"/>
+		<method name="subData(ILandroid/renderscript/FieldPacker;)V" removed="14"/>
+		<method name="subData1D(II[B)V" removed="14"/>
+		<method name="subData1D(II[F)V" removed="14"/>
+		<method name="subData1D(II[I)V" removed="14"/>
+		<method name="subData1D(II[S)V" removed="14"/>
+		<method name="subData2D(IIII[F)V" removed="14"/>
+		<method name="subData2D(IIII[I)V" removed="14"/>
+		<method name="subElementData(IILandroid/renderscript/FieldPacker;)V" removed="14"/>
+	</class>
+	<class name="android/renderscript/BaseObj" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="destroy()V" deprecated="31"/>
+		<method name="getName()Ljava/lang/String;" since="14" deprecated="31"/>
+		<method name="setName(Ljava/lang/String;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Byte2" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(BB)V" since="14" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Byte3" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(BBB)V" since="14" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Byte4" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(BBBB)V" since="14" deprecated="31"/>
+		<field name="w" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Double2" since="14" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(DD)V" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Double3" since="14" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(DDD)V" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Double4" since="14" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(DDDD)V" deprecated="31"/>
+		<field name="w" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Element" since="11" deprecated="31">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="ALLOCATION(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="A_8(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="BOOLEAN(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="ELEMENT(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="F16(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="23" deprecated="31"/>
+		<method name="F16_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="23" deprecated="31"/>
+		<method name="F16_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="23" deprecated="31"/>
+		<method name="F16_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="23" deprecated="31"/>
+		<method name="F32(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="F32_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="F32_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="F32_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="F64(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="F64_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="F64_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="F64_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="FONT(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="16" deprecated="31"/>
+		<method name="I16(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="I16_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I16_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I16_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I32(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="I32_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I32_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I32_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I64(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="I64_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I64_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I64_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I8(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="I8_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I8_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="I8_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="MATRIX4X4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="16"/>
+		<method name="MATRIX_2X2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="MATRIX_3X3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="MATRIX_4X4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="MESH(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="PROGRAM_FRAGMENT(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="PROGRAM_RASTER(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="PROGRAM_STORE(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="PROGRAM_VERTEX(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="RGBA_4444(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="RGBA_5551(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="RGBA_8888(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="RGB_565(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="RGB_888(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="SAMPLER(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="SCRIPT(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="TYPE(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="U16(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="U16_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U16_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U16_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U32(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="U32_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U32_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U32_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U64(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="U64_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U64_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U64_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U8(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="U8_2(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U8_3(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="14" deprecated="31"/>
+		<method name="U8_4(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="YUV(Landroid/renderscript/RenderScript;)Landroid/renderscript/Element;" since="19" deprecated="31"/>
+		<method name="createPixel(Landroid/renderscript/RenderScript;Landroid/renderscript/Element$DataType;Landroid/renderscript/Element$DataKind;)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="createVector(Landroid/renderscript/RenderScript;Landroid/renderscript/Element$DataType;I)Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="getBytesSize()I" since="16" deprecated="31"/>
+		<method name="getDataKind()Landroid/renderscript/Element$DataKind;" since="16" deprecated="31"/>
+		<method name="getDataType()Landroid/renderscript/Element$DataType;" since="16" deprecated="31"/>
+		<method name="getSubElement(I)Landroid/renderscript/Element;" since="16" deprecated="31"/>
+		<method name="getSubElementArraySize(I)I" since="16" deprecated="31"/>
+		<method name="getSubElementCount()I" since="16" deprecated="31"/>
+		<method name="getSubElementName(I)Ljava/lang/String;" since="16" deprecated="31"/>
+		<method name="getSubElementOffsetBytes(I)I" since="16" deprecated="31"/>
+		<method name="getVectorSize()I" since="16" deprecated="31"/>
+		<method name="isCompatible(Landroid/renderscript/Element;)Z" since="14" deprecated="31"/>
+		<method name="isComplex()Z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Element$Builder" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="31"/>
+		<method name="add(Landroid/renderscript/Element;Ljava/lang/String;)Landroid/renderscript/Element$Builder;" deprecated="31"/>
+		<method name="add(Landroid/renderscript/Element;Ljava/lang/String;I)Landroid/renderscript/Element$Builder;" deprecated="31"/>
+		<method name="create()Landroid/renderscript/Element;" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Element$DataKind" since="11" deprecated="31">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Element$DataKind;"/>
+		<method name="values()[Landroid/renderscript/Element$DataKind;"/>
+		<field name="PIXEL_A" deprecated="31"/>
+		<field name="PIXEL_DEPTH" since="14" deprecated="31"/>
+		<field name="PIXEL_L" deprecated="31"/>
+		<field name="PIXEL_LA" deprecated="31"/>
+		<field name="PIXEL_RGB" deprecated="31"/>
+		<field name="PIXEL_RGBA" deprecated="31"/>
+		<field name="PIXEL_YUV" since="18" deprecated="31"/>
+		<field name="USER" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Element$DataType" since="11" deprecated="31">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Element$DataType;"/>
+		<method name="values()[Landroid/renderscript/Element$DataType;"/>
+		<field name="BOOLEAN" deprecated="31"/>
+		<field name="FLOAT_16" since="23" deprecated="31"/>
+		<field name="FLOAT_32" deprecated="31"/>
+		<field name="FLOAT_64" deprecated="31"/>
+		<field name="MATRIX_2X2" deprecated="31"/>
+		<field name="MATRIX_3X3" deprecated="31"/>
+		<field name="MATRIX_4X4" deprecated="31"/>
+		<field name="NONE" since="16" deprecated="31"/>
+		<field name="RS_ALLOCATION" deprecated="31"/>
+		<field name="RS_ELEMENT" deprecated="31"/>
+		<field name="RS_FONT" since="16" deprecated="31"/>
+		<field name="RS_MESH" deprecated="31"/>
+		<field name="RS_PROGRAM_FRAGMENT" deprecated="31"/>
+		<field name="RS_PROGRAM_RASTER" deprecated="31"/>
+		<field name="RS_PROGRAM_STORE" deprecated="31"/>
+		<field name="RS_PROGRAM_VERTEX" deprecated="31"/>
+		<field name="RS_SAMPLER" deprecated="31"/>
+		<field name="RS_SCRIPT" deprecated="31"/>
+		<field name="RS_TYPE" deprecated="31"/>
+		<field name="SIGNED_16" deprecated="31"/>
+		<field name="SIGNED_32" deprecated="31"/>
+		<field name="SIGNED_64" deprecated="31"/>
+		<field name="SIGNED_8" deprecated="31"/>
+		<field name="UNSIGNED_16" deprecated="31"/>
+		<field name="UNSIGNED_32" deprecated="31"/>
+		<field name="UNSIGNED_4_4_4_4" deprecated="31"/>
+		<field name="UNSIGNED_5_5_5_1" deprecated="31"/>
+		<field name="UNSIGNED_5_6_5" deprecated="31"/>
+		<field name="UNSIGNED_64" deprecated="31"/>
+		<field name="UNSIGNED_8" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/FieldPacker" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V" deprecated="31"/>
+		<method name="&lt;init>([B)V" since="18" deprecated="31"/>
+		<method name="addBoolean(Z)V" deprecated="31"/>
+		<method name="addF32(F)V" deprecated="31"/>
+		<method name="addF32(Landroid/renderscript/Float2;)V" deprecated="31"/>
+		<method name="addF32(Landroid/renderscript/Float3;)V" deprecated="31"/>
+		<method name="addF32(Landroid/renderscript/Float4;)V" deprecated="31"/>
+		<method name="addF64(D)V" deprecated="31"/>
+		<method name="addF64(Landroid/renderscript/Double2;)V" since="14" deprecated="31"/>
+		<method name="addF64(Landroid/renderscript/Double3;)V" since="14" deprecated="31"/>
+		<method name="addF64(Landroid/renderscript/Double4;)V" since="14" deprecated="31"/>
+		<method name="addI16(Landroid/renderscript/Short2;)V" deprecated="31"/>
+		<method name="addI16(Landroid/renderscript/Short3;)V" deprecated="31"/>
+		<method name="addI16(Landroid/renderscript/Short4;)V" deprecated="31"/>
+		<method name="addI16(S)V" deprecated="31"/>
+		<method name="addI32(I)V" deprecated="31"/>
+		<method name="addI32(Landroid/renderscript/Int2;)V" deprecated="31"/>
+		<method name="addI32(Landroid/renderscript/Int3;)V" deprecated="31"/>
+		<method name="addI32(Landroid/renderscript/Int4;)V" deprecated="31"/>
+		<method name="addI64(J)V" deprecated="31"/>
+		<method name="addI64(Landroid/renderscript/Long2;)V" since="14" deprecated="31"/>
+		<method name="addI64(Landroid/renderscript/Long3;)V" since="14" deprecated="31"/>
+		<method name="addI64(Landroid/renderscript/Long4;)V" since="14" deprecated="31"/>
+		<method name="addI8(B)V" deprecated="31"/>
+		<method name="addI8(Landroid/renderscript/Byte2;)V" deprecated="31"/>
+		<method name="addI8(Landroid/renderscript/Byte3;)V" deprecated="31"/>
+		<method name="addI8(Landroid/renderscript/Byte4;)V" deprecated="31"/>
+		<method name="addMatrix(Landroid/renderscript/Matrix2f;)V" deprecated="31"/>
+		<method name="addMatrix(Landroid/renderscript/Matrix3f;)V" deprecated="31"/>
+		<method name="addMatrix(Landroid/renderscript/Matrix4f;)V" deprecated="31"/>
+		<method name="addObj(Landroid/renderscript/BaseObj;)V" deprecated="31"/>
+		<method name="addU16(I)V" deprecated="31"/>
+		<method name="addU16(Landroid/renderscript/Int2;)V" deprecated="31"/>
+		<method name="addU16(Landroid/renderscript/Int3;)V" deprecated="31"/>
+		<method name="addU16(Landroid/renderscript/Int4;)V" deprecated="31"/>
+		<method name="addU32(J)V" deprecated="31"/>
+		<method name="addU32(Landroid/renderscript/Long2;)V" deprecated="31"/>
+		<method name="addU32(Landroid/renderscript/Long3;)V" deprecated="31"/>
+		<method name="addU32(Landroid/renderscript/Long4;)V" deprecated="31"/>
+		<method name="addU64(J)V" deprecated="31"/>
+		<method name="addU64(Landroid/renderscript/Long2;)V" since="14" deprecated="31"/>
+		<method name="addU64(Landroid/renderscript/Long3;)V" since="14" deprecated="31"/>
+		<method name="addU64(Landroid/renderscript/Long4;)V" since="14" deprecated="31"/>
+		<method name="addU8(Landroid/renderscript/Short2;)V" deprecated="31"/>
+		<method name="addU8(Landroid/renderscript/Short3;)V" deprecated="31"/>
+		<method name="addU8(Landroid/renderscript/Short4;)V" deprecated="31"/>
+		<method name="addU8(S)V" deprecated="31"/>
+		<method name="align(I)V" deprecated="31"/>
+		<method name="getData()[B" deprecated="31"/>
+		<method name="reset()V" deprecated="31"/>
+		<method name="reset(I)V" deprecated="31"/>
+		<method name="skip(I)V" deprecated="31"/>
+		<method name="subBoolean()Z" since="18" deprecated="31"/>
+		<method name="subByte2()Landroid/renderscript/Byte2;" since="18" deprecated="31"/>
+		<method name="subByte3()Landroid/renderscript/Byte3;" since="18" deprecated="31"/>
+		<method name="subByte4()Landroid/renderscript/Byte4;" since="18" deprecated="31"/>
+		<method name="subDouble2()Landroid/renderscript/Double2;" since="18" deprecated="31"/>
+		<method name="subDouble3()Landroid/renderscript/Double3;" since="18" deprecated="31"/>
+		<method name="subDouble4()Landroid/renderscript/Double4;" since="18" deprecated="31"/>
+		<method name="subF32()F" since="18" deprecated="31"/>
+		<method name="subF64()D" since="18" deprecated="31"/>
+		<method name="subFloat2()Landroid/renderscript/Float2;" since="18" deprecated="31"/>
+		<method name="subFloat3()Landroid/renderscript/Float3;" since="18" deprecated="31"/>
+		<method name="subFloat4()Landroid/renderscript/Float4;" since="18" deprecated="31"/>
+		<method name="subI16()S" since="18" deprecated="31"/>
+		<method name="subI32()I" since="18" deprecated="31"/>
+		<method name="subI64()J" since="18" deprecated="31"/>
+		<method name="subI8()B" since="18" deprecated="31"/>
+		<method name="subInt2()Landroid/renderscript/Int2;" since="18" deprecated="31"/>
+		<method name="subInt3()Landroid/renderscript/Int3;" since="18" deprecated="31"/>
+		<method name="subInt4()Landroid/renderscript/Int4;" since="18" deprecated="31"/>
+		<method name="subLong2()Landroid/renderscript/Long2;" since="18" deprecated="31"/>
+		<method name="subLong3()Landroid/renderscript/Long3;" since="18" deprecated="31"/>
+		<method name="subLong4()Landroid/renderscript/Long4;" since="18" deprecated="31"/>
+		<method name="subMatrix2f()Landroid/renderscript/Matrix2f;" since="18" deprecated="31"/>
+		<method name="subMatrix3f()Landroid/renderscript/Matrix3f;" since="18" deprecated="31"/>
+		<method name="subMatrix4f()Landroid/renderscript/Matrix4f;" since="18" deprecated="31"/>
+		<method name="subShort2()Landroid/renderscript/Short2;" since="18" deprecated="31"/>
+		<method name="subShort3()Landroid/renderscript/Short3;" since="18" deprecated="31"/>
+		<method name="subShort4()Landroid/renderscript/Short4;" since="18" deprecated="31"/>
+		<method name="subalign(I)V" since="18" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/FileA3D" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="createFromAsset(Landroid/renderscript/RenderScript;Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/renderscript/FileA3D;" deprecated="16"/>
+		<method name="createFromFile(Landroid/renderscript/RenderScript;Ljava/io/File;)Landroid/renderscript/FileA3D;" deprecated="16"/>
+		<method name="createFromFile(Landroid/renderscript/RenderScript;Ljava/lang/String;)Landroid/renderscript/FileA3D;" deprecated="16"/>
+		<method name="createFromResource(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;I)Landroid/renderscript/FileA3D;" deprecated="16"/>
+		<method name="getIndexEntry(I)Landroid/renderscript/FileA3D$IndexEntry;" deprecated="16"/>
+		<method name="getIndexEntryCount()I" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/FileA3D$EntryType" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/FileA3D$EntryType;"/>
+		<method name="values()[Landroid/renderscript/FileA3D$EntryType;"/>
+		<field name="MESH"/>
+		<field name="UNKNOWN"/>
+	</class>
+	<class name="android/renderscript/FileA3D$IndexEntry" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="getEntryType()Landroid/renderscript/FileA3D$EntryType;" deprecated="16"/>
+		<method name="getMesh()Landroid/renderscript/Mesh;" deprecated="16"/>
+		<method name="getName()Ljava/lang/String;" deprecated="16"/>
+		<method name="getObject()Landroid/renderscript/BaseObj;" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/Float2" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(FF)V" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Float3" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(FFF)V" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Float4" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(FFFF)V" deprecated="31"/>
+		<field name="w" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Font" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/lang/String;Landroid/renderscript/Font$Style;F)Landroid/renderscript/Font;" deprecated="16"/>
+		<method name="createFromAsset(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/lang/String;F)Landroid/renderscript/Font;" deprecated="16"/>
+		<method name="createFromFile(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/io/File;F)Landroid/renderscript/Font;" deprecated="16"/>
+		<method name="createFromFile(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;Ljava/lang/String;F)Landroid/renderscript/Font;" deprecated="16"/>
+		<method name="createFromResource(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;IF)Landroid/renderscript/Font;" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/Font$Style" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Font$Style;"/>
+		<method name="values()[Landroid/renderscript/Font$Style;"/>
+		<field name="BOLD"/>
+		<field name="BOLD_ITALIC"/>
+		<field name="ITALIC"/>
+		<field name="NORMAL"/>
+	</class>
+	<class name="android/renderscript/Int2" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(II)V" since="14" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Int3" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(III)V" since="14" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Int4" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(IIII)V" since="14" deprecated="31"/>
+		<field name="w" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Long2" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(JJ)V" since="14" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Long3" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(JJJ)V" since="14" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Long4" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(JJJJ)V" since="14" deprecated="31"/>
+		<field name="w" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Matrix2f" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>([F)V" deprecated="31"/>
+		<method name="get(II)F" deprecated="31"/>
+		<method name="getArray()[F" deprecated="31"/>
+		<method name="load(Landroid/renderscript/Matrix2f;)V" deprecated="31"/>
+		<method name="loadIdentity()V" deprecated="31"/>
+		<method name="loadMultiply(Landroid/renderscript/Matrix2f;Landroid/renderscript/Matrix2f;)V" deprecated="31"/>
+		<method name="loadRotate(F)V" deprecated="31"/>
+		<method name="loadScale(FF)V" deprecated="31"/>
+		<method name="multiply(Landroid/renderscript/Matrix2f;)V" deprecated="31"/>
+		<method name="rotate(F)V" deprecated="31"/>
+		<method name="scale(FF)V" deprecated="31"/>
+		<method name="set(IIF)V" deprecated="31"/>
+		<method name="transpose()V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Matrix3f" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>([F)V" deprecated="31"/>
+		<method name="get(II)F" deprecated="31"/>
+		<method name="getArray()[F" deprecated="31"/>
+		<method name="load(Landroid/renderscript/Matrix3f;)V" deprecated="31"/>
+		<method name="loadIdentity()V" deprecated="31"/>
+		<method name="loadMultiply(Landroid/renderscript/Matrix3f;Landroid/renderscript/Matrix3f;)V" deprecated="31"/>
+		<method name="loadRotate(F)V" deprecated="31"/>
+		<method name="loadRotate(FFFF)V" deprecated="31"/>
+		<method name="loadScale(FF)V" deprecated="31"/>
+		<method name="loadScale(FFF)V" deprecated="31"/>
+		<method name="loadTranslate(FF)V" deprecated="31"/>
+		<method name="multiply(Landroid/renderscript/Matrix3f;)V" deprecated="31"/>
+		<method name="rotate(F)V" deprecated="31"/>
+		<method name="rotate(FFFF)V" deprecated="31"/>
+		<method name="scale(FF)V" deprecated="31"/>
+		<method name="scale(FFF)V" deprecated="31"/>
+		<method name="set(IIF)V" deprecated="31"/>
+		<method name="translate(FF)V" deprecated="31"/>
+		<method name="transpose()V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Matrix4f" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>([F)V" deprecated="31"/>
+		<method name="get(II)F" deprecated="31"/>
+		<method name="getArray()[F" deprecated="31"/>
+		<method name="inverse()Z" deprecated="31"/>
+		<method name="inverseTranspose()Z" deprecated="31"/>
+		<method name="load(Landroid/renderscript/Matrix4f;)V" deprecated="31"/>
+		<method name="loadFrustum(FFFFFF)V" deprecated="31"/>
+		<method name="loadIdentity()V" deprecated="31"/>
+		<method name="loadMultiply(Landroid/renderscript/Matrix4f;Landroid/renderscript/Matrix4f;)V" deprecated="31"/>
+		<method name="loadOrtho(FFFFFF)V" deprecated="31"/>
+		<method name="loadOrthoWindow(II)V" deprecated="31"/>
+		<method name="loadPerspective(FFFF)V" deprecated="31"/>
+		<method name="loadProjectionNormalized(II)V" deprecated="31"/>
+		<method name="loadRotate(FFFF)V" deprecated="31"/>
+		<method name="loadScale(FFF)V" deprecated="31"/>
+		<method name="loadTranslate(FFF)V" deprecated="31"/>
+		<method name="multiply(Landroid/renderscript/Matrix4f;)V" deprecated="31"/>
+		<method name="rotate(FFFF)V" deprecated="31"/>
+		<method name="scale(FFF)V" deprecated="31"/>
+		<method name="set(IIF)V" deprecated="31"/>
+		<method name="translate(FFF)V" deprecated="31"/>
+		<method name="transpose()V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Mesh" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="getIndexSetAllocation(I)Landroid/renderscript/Allocation;" deprecated="16"/>
+		<method name="getPrimitive(I)Landroid/renderscript/Mesh$Primitive;" deprecated="16"/>
+		<method name="getPrimitiveCount()I" deprecated="16"/>
+		<method name="getVertexAllocation(I)Landroid/renderscript/Allocation;" deprecated="16"/>
+		<method name="getVertexAllocationCount()I" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/Mesh$AllocationBuilder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="16"/>
+		<method name="addIndexSetAllocation(Landroid/renderscript/Allocation;Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$AllocationBuilder;" deprecated="16"/>
+		<method name="addIndexSetType(Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$AllocationBuilder;" deprecated="16"/>
+		<method name="addVertexAllocation(Landroid/renderscript/Allocation;)Landroid/renderscript/Mesh$AllocationBuilder;" deprecated="16"/>
+		<method name="create()Landroid/renderscript/Mesh;" deprecated="16"/>
+		<method name="getCurrentIndexSetIndex()I" deprecated="16"/>
+		<method name="getCurrentVertexTypeIndex()I" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/Mesh$Builder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;I)V" deprecated="16"/>
+		<method name="addIndexSetType(Landroid/renderscript/Element;ILandroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$Builder;" deprecated="16"/>
+		<method name="addIndexSetType(Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$Builder;" deprecated="16"/>
+		<method name="addIndexSetType(Landroid/renderscript/Type;Landroid/renderscript/Mesh$Primitive;)Landroid/renderscript/Mesh$Builder;" deprecated="16"/>
+		<method name="addVertexType(Landroid/renderscript/Element;I)Landroid/renderscript/Mesh$Builder;" deprecated="16"/>
+		<method name="addVertexType(Landroid/renderscript/Type;)Landroid/renderscript/Mesh$Builder;" deprecated="16"/>
+		<method name="create()Landroid/renderscript/Mesh;" deprecated="16"/>
+		<method name="getCurrentIndexSetIndex()I" deprecated="16"/>
+		<method name="getCurrentVertexTypeIndex()I" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/Mesh$Primitive" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Mesh$Primitive;"/>
+		<method name="values()[Landroid/renderscript/Mesh$Primitive;"/>
+		<field name="LINE"/>
+		<field name="LINE_STRIP"/>
+		<field name="POINT"/>
+		<field name="TRIANGLE"/>
+		<field name="TRIANGLE_FAN"/>
+		<field name="TRIANGLE_STRIP"/>
+	</class>
+	<class name="android/renderscript/Mesh$TriangleMeshBuilder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;II)V" deprecated="16"/>
+		<method name="addTriangle(III)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16"/>
+		<method name="addVertex(FF)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16"/>
+		<method name="addVertex(FFF)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16"/>
+		<method name="create(Z)Landroid/renderscript/Mesh;" deprecated="16"/>
+		<method name="setColor(FFFF)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16"/>
+		<method name="setNormal(FFF)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16"/>
+		<method name="setTexture(FF)Landroid/renderscript/Mesh$TriangleMeshBuilder;" deprecated="16"/>
+		<field name="COLOR" deprecated="16"/>
+		<field name="NORMAL" deprecated="16"/>
+		<field name="TEXTURE_0" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/Program" since="11" removed="18">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="bindConstants(Landroid/renderscript/Allocation;I)V"/>
+		<method name="bindSampler(Landroid/renderscript/Sampler;I)V"/>
+		<method name="bindTexture(Landroid/renderscript/Allocation;I)V"/>
+		<method name="getConstant(I)Landroid/renderscript/Type;" since="16"/>
+		<method name="getConstantCount()I" since="16"/>
+		<method name="getTextureCount()I" since="16"/>
+		<method name="getTextureName(I)Ljava/lang/String;" since="16"/>
+		<method name="getTextureType(I)Landroid/renderscript/Program$TextureType;" since="16"/>
+	</class>
+	<class name="android/renderscript/Program$BaseProgramBuilder" since="11" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V"/>
+		<method name="addConstant(Landroid/renderscript/Type;)Landroid/renderscript/Program$BaseProgramBuilder;"/>
+		<method name="addTexture(Landroid/renderscript/Program$TextureType;)Landroid/renderscript/Program$BaseProgramBuilder;"/>
+		<method name="addTexture(Landroid/renderscript/Program$TextureType;Ljava/lang/String;)Landroid/renderscript/Program$BaseProgramBuilder;" since="16"/>
+		<method name="getCurrentConstantIndex()I"/>
+		<method name="getCurrentTextureIndex()I"/>
+		<method name="initProgram(Landroid/renderscript/Program;)V"/>
+		<method name="setShader(Landroid/content/res/Resources;I)Landroid/renderscript/Program$BaseProgramBuilder;"/>
+		<method name="setShader(Ljava/lang/String;)Landroid/renderscript/Program$BaseProgramBuilder;"/>
+	</class>
+	<class name="android/renderscript/Program$TextureType" since="11" removed="18">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Program$TextureType;"/>
+		<method name="values()[Landroid/renderscript/Program$TextureType;"/>
+		<field name="TEXTURE_2D"/>
+		<field name="TEXTURE_CUBE"/>
+	</class>
+	<class name="android/renderscript/ProgramFragment" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/Program"/>
+	</class>
+	<class name="android/renderscript/ProgramFragment$Builder" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/Program$BaseProgramBuilder"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="16"/>
+		<method name="create()Landroid/renderscript/ProgramFragment;" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/ProgramFragmentFixedFunction" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/ProgramFragment"/>
+	</class>
+	<class name="android/renderscript/ProgramFragmentFixedFunction$Builder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="16"/>
+		<method name="create()Landroid/renderscript/ProgramFragmentFixedFunction;" deprecated="16"/>
+		<method name="setPointSpriteTexCoordinateReplacement(Z)Landroid/renderscript/ProgramFragmentFixedFunction$Builder;" deprecated="16"/>
+		<method name="setTexture(Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;I)Landroid/renderscript/ProgramFragmentFixedFunction$Builder;" deprecated="16"/>
+		<method name="setVaryingColor(Z)Landroid/renderscript/ProgramFragmentFixedFunction$Builder;" deprecated="16"/>
+		<field name="MAX_TEXTURE" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;"/>
+		<method name="values()[Landroid/renderscript/ProgramFragmentFixedFunction$Builder$EnvMode;"/>
+		<field name="DECAL"/>
+		<field name="MODULATE"/>
+		<field name="REPLACE"/>
+	</class>
+	<class name="android/renderscript/ProgramFragmentFixedFunction$Builder$Format" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;"/>
+		<method name="values()[Landroid/renderscript/ProgramFragmentFixedFunction$Builder$Format;"/>
+		<field name="ALPHA"/>
+		<field name="LUMINANCE_ALPHA"/>
+		<field name="RGB"/>
+		<field name="RGBA"/>
+	</class>
+	<class name="android/renderscript/ProgramRaster" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="CULL_BACK(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramRaster;" deprecated="16"/>
+		<method name="CULL_FRONT(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramRaster;" deprecated="16"/>
+		<method name="CULL_NONE(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramRaster;" deprecated="16"/>
+		<method name="getCullMode()Landroid/renderscript/ProgramRaster$CullMode;" since="16" deprecated="16"/>
+		<method name="isPointSpriteEnabled()Z" since="16" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/ProgramRaster$Builder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="16"/>
+		<method name="create()Landroid/renderscript/ProgramRaster;" deprecated="16"/>
+		<method name="setCullMode(Landroid/renderscript/ProgramRaster$CullMode;)Landroid/renderscript/ProgramRaster$Builder;" deprecated="16"/>
+		<method name="setPointSpriteEnabled(Z)Landroid/renderscript/ProgramRaster$Builder;" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/ProgramRaster$CullMode" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramRaster$CullMode;"/>
+		<method name="values()[Landroid/renderscript/ProgramRaster$CullMode;"/>
+		<field name="BACK"/>
+		<field name="FRONT"/>
+		<field name="NONE"/>
+	</class>
+	<class name="android/renderscript/ProgramStore" since="11" removed="18">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="BLEND_ALPHA_DEPTH_NONE(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;"/>
+		<method name="BLEND_ALPHA_DEPTH_TEST(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;"/>
+		<method name="BLEND_NONE_DEPTH_NONE(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;"/>
+		<method name="BLEND_NONE_DEPTH_TEST(Landroid/renderscript/RenderScript;)Landroid/renderscript/ProgramStore;"/>
+		<method name="getBlendDstFunc()Landroid/renderscript/ProgramStore$BlendDstFunc;" since="16"/>
+		<method name="getBlendSrcFunc()Landroid/renderscript/ProgramStore$BlendSrcFunc;" since="16"/>
+		<method name="getDepthFunc()Landroid/renderscript/ProgramStore$DepthFunc;" since="16"/>
+		<method name="isColorMaskAlphaEnabled()Z" since="16"/>
+		<method name="isColorMaskBlueEnabled()Z" since="16"/>
+		<method name="isColorMaskGreenEnabled()Z" since="16"/>
+		<method name="isColorMaskRedEnabled()Z" since="16"/>
+		<method name="isDepthMaskEnabled()Z" since="16"/>
+		<method name="isDitherEnabled()Z" since="16"/>
+	</class>
+	<class name="android/renderscript/ProgramStore$BlendDstFunc" since="11" removed="18">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramStore$BlendDstFunc;"/>
+		<method name="values()[Landroid/renderscript/ProgramStore$BlendDstFunc;"/>
+		<field name="DST_ALPHA"/>
+		<field name="ONE"/>
+		<field name="ONE_MINUS_DST_ALPHA"/>
+		<field name="ONE_MINUS_SRC_ALPHA"/>
+		<field name="ONE_MINUS_SRC_COLOR"/>
+		<field name="SRC_ALPHA"/>
+		<field name="SRC_COLOR"/>
+		<field name="ZERO"/>
+	</class>
+	<class name="android/renderscript/ProgramStore$BlendSrcFunc" since="11" removed="18">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramStore$BlendSrcFunc;"/>
+		<method name="values()[Landroid/renderscript/ProgramStore$BlendSrcFunc;"/>
+		<field name="DST_ALPHA"/>
+		<field name="DST_COLOR"/>
+		<field name="ONE"/>
+		<field name="ONE_MINUS_DST_ALPHA"/>
+		<field name="ONE_MINUS_DST_COLOR"/>
+		<field name="ONE_MINUS_SRC_ALPHA"/>
+		<field name="SRC_ALPHA"/>
+		<field name="SRC_ALPHA_SATURATE"/>
+		<field name="ZERO"/>
+	</class>
+	<class name="android/renderscript/ProgramStore$Builder" since="11" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V"/>
+		<method name="create()Landroid/renderscript/ProgramStore;"/>
+		<method name="setBlendFunc(Landroid/renderscript/ProgramStore$BlendSrcFunc;Landroid/renderscript/ProgramStore$BlendDstFunc;)Landroid/renderscript/ProgramStore$Builder;"/>
+		<method name="setColorMaskEnabled(ZZZZ)Landroid/renderscript/ProgramStore$Builder;"/>
+		<method name="setDepthFunc(Landroid/renderscript/ProgramStore$DepthFunc;)Landroid/renderscript/ProgramStore$Builder;"/>
+		<method name="setDepthMaskEnabled(Z)Landroid/renderscript/ProgramStore$Builder;"/>
+		<method name="setDitherEnabled(Z)Landroid/renderscript/ProgramStore$Builder;"/>
+	</class>
+	<class name="android/renderscript/ProgramStore$DepthFunc" since="11" removed="18">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/ProgramStore$DepthFunc;"/>
+		<method name="values()[Landroid/renderscript/ProgramStore$DepthFunc;"/>
+		<field name="ALWAYS"/>
+		<field name="EQUAL"/>
+		<field name="GREATER"/>
+		<field name="GREATER_OR_EQUAL"/>
+		<field name="LESS"/>
+		<field name="LESS_OR_EQUAL"/>
+		<field name="NOT_EQUAL"/>
+	</class>
+	<class name="android/renderscript/ProgramVertex" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/Program"/>
+		<method name="getInput(I)Landroid/renderscript/Element;" since="16" deprecated="16"/>
+		<method name="getInputCount()I" since="16" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/ProgramVertex$Builder" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/Program$BaseProgramBuilder"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="16"/>
+		<method name="addInput(Landroid/renderscript/Element;)Landroid/renderscript/ProgramVertex$Builder;" deprecated="16"/>
+		<method name="create()Landroid/renderscript/ProgramVertex;" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/ProgramVertexFixedFunction" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/ProgramVertex"/>
+		<method name="bindConstants(Landroid/renderscript/ProgramVertexFixedFunction$Constants;)V" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/ProgramVertexFixedFunction$Builder" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="16"/>
+		<method name="create()Landroid/renderscript/ProgramVertexFixedFunction;" deprecated="16"/>
+		<method name="setTextureMatrixEnable(Z)Landroid/renderscript/ProgramVertexFixedFunction$Builder;" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/ProgramVertexFixedFunction$Constants" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="16"/>
+		<method name="destroy()V" deprecated="16"/>
+		<method name="setModelview(Landroid/renderscript/Matrix4f;)V" deprecated="16"/>
+		<method name="setProjection(Landroid/renderscript/Matrix4f;)V" deprecated="16"/>
+		<method name="setTexture(Landroid/renderscript/Matrix4f;)V" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/RSDriverException" since="11" deprecated="31">
+		<extends name="android/renderscript/RSRuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/RSIllegalArgumentException" since="11" deprecated="31">
+		<extends name="android/renderscript/RSRuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/RSInvalidStateException" since="11" deprecated="31">
+		<extends name="android/renderscript/RSRuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/RSRuntimeException" since="11" deprecated="31">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/RSSurfaceView" since="11" deprecated="16" removed="18">
+		<extends name="android/view/SurfaceView"/>
+		<implements name="android/view/SurfaceHolder$Callback"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="16"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="16"/>
+		<method name="createRenderScriptGL(Landroid/renderscript/RenderScriptGL$SurfaceConfig;)Landroid/renderscript/RenderScriptGL;" deprecated="16"/>
+		<method name="destroyRenderScriptGL()V" deprecated="16"/>
+		<method name="getRenderScriptGL()Landroid/renderscript/RenderScriptGL;" deprecated="16"/>
+		<method name="pause()V" deprecated="16"/>
+		<method name="resume()V" deprecated="16"/>
+		<method name="setRenderScriptGL(Landroid/renderscript/RenderScriptGL;)V" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/RSTextureView" since="14" deprecated="16" removed="18">
+		<extends name="android/view/TextureView"/>
+		<implements name="android/view/TextureView$SurfaceTextureListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="16"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="16"/>
+		<method name="createRenderScriptGL(Landroid/renderscript/RenderScriptGL$SurfaceConfig;)Landroid/renderscript/RenderScriptGL;" deprecated="16"/>
+		<method name="destroyRenderScriptGL()V" deprecated="16"/>
+		<method name="getRenderScriptGL()Landroid/renderscript/RenderScriptGL;" deprecated="16"/>
+		<method name="pause()V" deprecated="16"/>
+		<method name="resume()V" deprecated="16"/>
+		<method name="setRenderScriptGL(Landroid/renderscript/RenderScriptGL;)V" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/RenderScript" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="contextDump()V" deprecated="31"/>
+		<method name="create(Landroid/content/Context;)Landroid/renderscript/RenderScript;" deprecated="31"/>
+		<method name="create(Landroid/content/Context;Landroid/renderscript/RenderScript$ContextType;)Landroid/renderscript/RenderScript;" since="18" deprecated="31"/>
+		<method name="create(Landroid/content/Context;Landroid/renderscript/RenderScript$ContextType;I)Landroid/renderscript/RenderScript;" since="21" deprecated="31"/>
+		<method name="createMultiContext(Landroid/content/Context;Landroid/renderscript/RenderScript$ContextType;II)Landroid/renderscript/RenderScript;" since="23" deprecated="31"/>
+		<method name="destroy()V" deprecated="31"/>
+		<method name="finish()V" deprecated="31"/>
+		<method name="getApplicationContext()Landroid/content/Context;" deprecated="31"/>
+		<method name="getErrorHandler()Landroid/renderscript/RenderScript$RSErrorHandler;" deprecated="31"/>
+		<method name="getMessageHandler()Landroid/renderscript/RenderScript$RSMessageHandler;" deprecated="31"/>
+		<method name="getMinorVersion()J" since="23" deprecated="31"/>
+		<method name="releaseAllContexts()V" since="23" deprecated="31"/>
+		<method name="sendMessage(I[I)V" since="18" deprecated="31"/>
+		<method name="setErrorHandler(Landroid/renderscript/RenderScript$RSErrorHandler;)V" deprecated="31"/>
+		<method name="setMessageHandler(Landroid/renderscript/RenderScript$RSMessageHandler;)V" deprecated="31"/>
+		<method name="setPriority(Landroid/renderscript/RenderScript$Priority;)V" deprecated="31"/>
+		<field name="CREATE_FLAG_LOW_LATENCY" since="21" deprecated="31"/>
+		<field name="CREATE_FLAG_LOW_POWER" since="21" deprecated="31"/>
+		<field name="CREATE_FLAG_NONE" since="21" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/RenderScript$ContextType" since="18" deprecated="31">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/RenderScript$ContextType;"/>
+		<method name="values()[Landroid/renderscript/RenderScript$ContextType;"/>
+		<field name="DEBUG" deprecated="31"/>
+		<field name="NORMAL" deprecated="31"/>
+		<field name="PROFILE" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/RenderScript$Priority" since="11" deprecated="31">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/RenderScript$Priority;"/>
+		<method name="values()[Landroid/renderscript/RenderScript$Priority;"/>
+		<field name="LOW" deprecated="31"/>
+		<field name="NORMAL" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/RenderScript$RSErrorHandler" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Runnable"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<field name="mErrorMessage" deprecated="31"/>
+		<field name="mErrorNum" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/RenderScript$RSMessageHandler" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Runnable"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<field name="mData" deprecated="31"/>
+		<field name="mID" deprecated="31"/>
+		<field name="mLength" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/RenderScriptGL" since="11" deprecated="16" removed="18">
+		<extends name="android/renderscript/RenderScript"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/renderscript/RenderScriptGL$SurfaceConfig;)V" deprecated="16"/>
+		<method name="bindProgramFragment(Landroid/renderscript/ProgramFragment;)V" deprecated="16"/>
+		<method name="bindProgramRaster(Landroid/renderscript/ProgramRaster;)V" deprecated="16"/>
+		<method name="bindProgramStore(Landroid/renderscript/ProgramStore;)V" deprecated="16"/>
+		<method name="bindProgramVertex(Landroid/renderscript/ProgramVertex;)V" deprecated="16"/>
+		<method name="bindRootScript(Landroid/renderscript/Script;)V" deprecated="16"/>
+		<method name="getHeight()I" deprecated="16"/>
+		<method name="getWidth()I" deprecated="16"/>
+		<method name="pause()V" deprecated="16"/>
+		<method name="resume()V" deprecated="16"/>
+		<method name="setSurface(Landroid/view/SurfaceHolder;II)V" deprecated="16"/>
+		<method name="setSurfaceTexture(Landroid/graphics/SurfaceTexture;II)V" since="14" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/RenderScriptGL$SurfaceConfig" since="11" deprecated="16" removed="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="16"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScriptGL$SurfaceConfig;)V" deprecated="16"/>
+		<method name="setAlpha(II)V" deprecated="16"/>
+		<method name="setColor(II)V" deprecated="16"/>
+		<method name="setDepth(II)V" deprecated="16"/>
+		<method name="setSamples(IIF)V" deprecated="16"/>
+	</class>
+	<class name="android/renderscript/Sampler" since="11" deprecated="31">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="CLAMP_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31"/>
+		<method name="CLAMP_LINEAR_MIP_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31"/>
+		<method name="CLAMP_NEAREST(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31"/>
+		<method name="MIRRORED_REPEAT_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" since="18" deprecated="31"/>
+		<method name="MIRRORED_REPEAT_LINEAR_MIP_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" since="18" deprecated="31"/>
+		<method name="MIRRORED_REPEAT_NEAREST(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" since="18" deprecated="31"/>
+		<method name="WRAP_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31"/>
+		<method name="WRAP_LINEAR_MIP_LINEAR(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31"/>
+		<method name="WRAP_NEAREST(Landroid/renderscript/RenderScript;)Landroid/renderscript/Sampler;" deprecated="31"/>
+		<method name="getAnisotropy()F" since="16" deprecated="31"/>
+		<method name="getMagnification()Landroid/renderscript/Sampler$Value;" since="16" deprecated="31"/>
+		<method name="getMinification()Landroid/renderscript/Sampler$Value;" since="16" deprecated="31"/>
+		<method name="getWrapS()Landroid/renderscript/Sampler$Value;" since="16" deprecated="31"/>
+		<method name="getWrapT()Landroid/renderscript/Sampler$Value;" since="16" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Sampler$Builder" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="31"/>
+		<method name="create()Landroid/renderscript/Sampler;" deprecated="31"/>
+		<method name="setAnisotropy(F)V" deprecated="31"/>
+		<method name="setMagnification(Landroid/renderscript/Sampler$Value;)V" deprecated="31"/>
+		<method name="setMinification(Landroid/renderscript/Sampler$Value;)V" deprecated="31"/>
+		<method name="setWrapS(Landroid/renderscript/Sampler$Value;)V" deprecated="31"/>
+		<method name="setWrapT(Landroid/renderscript/Sampler$Value;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Sampler$Value" since="11" deprecated="31">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Sampler$Value;"/>
+		<method name="values()[Landroid/renderscript/Sampler$Value;"/>
+		<field name="CLAMP" deprecated="31"/>
+		<field name="LINEAR" deprecated="31"/>
+		<field name="LINEAR_MIP_LINEAR" deprecated="31"/>
+		<field name="LINEAR_MIP_NEAREST" deprecated="31"/>
+		<field name="MIRRORED_REPEAT" since="18" deprecated="31"/>
+		<field name="NEAREST" deprecated="31"/>
+		<field name="WRAP" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Script" since="11" deprecated="31">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="bindAllocation(Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="createFieldID(ILandroid/renderscript/Element;)Landroid/renderscript/Script$FieldID;" since="17" deprecated="31"/>
+		<method name="createInvokeID(I)Landroid/renderscript/Script$InvokeID;" since="23" deprecated="31"/>
+		<method name="createKernelID(IILandroid/renderscript/Element;Landroid/renderscript/Element;)Landroid/renderscript/Script$KernelID;" since="17" deprecated="31"/>
+		<method name="forEach(ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/FieldPacker;)V" since="14" deprecated="31"/>
+		<method name="forEach(ILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/FieldPacker;Landroid/renderscript/Script$LaunchOptions;)V" since="18" deprecated="31"/>
+		<method name="forEach(I[Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/FieldPacker;)V" since="23" deprecated="31"/>
+		<method name="forEach(I[Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/FieldPacker;Landroid/renderscript/Script$LaunchOptions;)V" since="23" deprecated="31"/>
+		<method name="getVarB(I)Z" since="18" deprecated="31"/>
+		<method name="getVarD(I)D" since="18" deprecated="31"/>
+		<method name="getVarF(I)F" since="18" deprecated="31"/>
+		<method name="getVarI(I)I" since="18" deprecated="31"/>
+		<method name="getVarJ(I)J" since="18" deprecated="31"/>
+		<method name="getVarV(ILandroid/renderscript/FieldPacker;)V" since="18" deprecated="31"/>
+		<method name="invoke(I)V" deprecated="31"/>
+		<method name="invoke(ILandroid/renderscript/FieldPacker;)V" deprecated="31"/>
+		<method name="reduce(I[Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="24" deprecated="31"/>
+		<method name="setTimeZone(Ljava/lang/String;)V" deprecated="31"/>
+		<method name="setVar(ID)V" deprecated="31"/>
+		<method name="setVar(IF)V" deprecated="31"/>
+		<method name="setVar(II)V" deprecated="31"/>
+		<method name="setVar(IJ)V" deprecated="31"/>
+		<method name="setVar(ILandroid/renderscript/BaseObj;)V" deprecated="31"/>
+		<method name="setVar(ILandroid/renderscript/FieldPacker;)V" deprecated="31"/>
+		<method name="setVar(ILandroid/renderscript/FieldPacker;Landroid/renderscript/Element;[I)V" since="16" deprecated="31"/>
+		<method name="setVar(IZ)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Script$Builder" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/renderscript/Script$FieldBase" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="getAllocation()Landroid/renderscript/Allocation;" deprecated="31"/>
+		<method name="getElement()Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="getType()Landroid/renderscript/Type;" deprecated="31"/>
+		<method name="init(Landroid/renderscript/RenderScript;I)V" deprecated="31"/>
+		<method name="init(Landroid/renderscript/RenderScript;II)V" deprecated="31"/>
+		<method name="updateAllocation()V" deprecated="31"/>
+		<field name="mAllocation" deprecated="31"/>
+		<field name="mElement" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Script$FieldID" since="17" deprecated="31">
+		<extends name="android/renderscript/BaseObj"/>
+	</class>
+	<class name="android/renderscript/Script$InvokeID" since="23" deprecated="31">
+		<extends name="android/renderscript/BaseObj"/>
+	</class>
+	<class name="android/renderscript/Script$KernelID" since="17" deprecated="31">
+		<extends name="android/renderscript/BaseObj"/>
+	</class>
+	<class name="android/renderscript/Script$LaunchOptions" since="18" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="getXEnd()I" deprecated="31"/>
+		<method name="getXStart()I" deprecated="31"/>
+		<method name="getYEnd()I" deprecated="31"/>
+		<method name="getYStart()I" deprecated="31"/>
+		<method name="getZEnd()I" deprecated="31"/>
+		<method name="getZStart()I" deprecated="31"/>
+		<method name="setX(II)Landroid/renderscript/Script$LaunchOptions;" deprecated="31"/>
+		<method name="setY(II)Landroid/renderscript/Script$LaunchOptions;" deprecated="31"/>
+		<method name="setZ(II)Landroid/renderscript/Script$LaunchOptions;" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptC" since="11" deprecated="31">
+		<extends name="android/renderscript/Script"/>
+		<method name="&lt;init>(ILandroid/renderscript/RenderScript;)V" deprecated="31"/>
+		<method name="&lt;init>(JLandroid/renderscript/RenderScript;)V" since="21" deprecated="31"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;Landroid/content/res/Resources;I)V" deprecated="31"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;Ljava/lang/String;[B[B)V" since="21" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptGroup" since="17" deprecated="31">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="execute()V" deprecated="23"/>
+		<method name="execute([Ljava/lang/Object;)[Ljava/lang/Object;" since="23" deprecated="31"/>
+		<method name="setInput(Landroid/renderscript/Script$KernelID;Landroid/renderscript/Allocation;)V" deprecated="23"/>
+		<method name="setOutput(Landroid/renderscript/Script$KernelID;Landroid/renderscript/Allocation;)V" deprecated="23"/>
+	</class>
+	<class name="android/renderscript/ScriptGroup$Binding" since="23" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/Script$FieldID;Ljava/lang/Object;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptGroup$Builder" since="17" deprecated="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="29"/>
+		<method name="addConnection(Landroid/renderscript/Type;Landroid/renderscript/Script$KernelID;Landroid/renderscript/Script$FieldID;)Landroid/renderscript/ScriptGroup$Builder;" deprecated="29"/>
+		<method name="addConnection(Landroid/renderscript/Type;Landroid/renderscript/Script$KernelID;Landroid/renderscript/Script$KernelID;)Landroid/renderscript/ScriptGroup$Builder;" deprecated="29"/>
+		<method name="addKernel(Landroid/renderscript/Script$KernelID;)Landroid/renderscript/ScriptGroup$Builder;" deprecated="29"/>
+		<method name="create()Landroid/renderscript/ScriptGroup;" deprecated="29"/>
+	</class>
+	<class name="android/renderscript/ScriptGroup$Builder2" since="23" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;)V" deprecated="31"/>
+		<method name="addInput()Landroid/renderscript/ScriptGroup$Input;" deprecated="31"/>
+		<method name="addInvoke(Landroid/renderscript/Script$InvokeID;[Ljava/lang/Object;)Landroid/renderscript/ScriptGroup$Closure;" deprecated="31"/>
+		<method name="addKernel(Landroid/renderscript/Script$KernelID;Landroid/renderscript/Type;[Ljava/lang/Object;)Landroid/renderscript/ScriptGroup$Closure;" deprecated="31"/>
+		<method name="create(Ljava/lang/String;[Landroid/renderscript/ScriptGroup$Future;)Landroid/renderscript/ScriptGroup;" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptGroup$Closure" since="23" deprecated="31">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="getGlobal(Landroid/renderscript/Script$FieldID;)Landroid/renderscript/ScriptGroup$Future;" deprecated="31"/>
+		<method name="getReturn()Landroid/renderscript/ScriptGroup$Future;" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptGroup$Future" since="23" deprecated="31">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/renderscript/ScriptGroup$Input" since="23" deprecated="31">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsic" since="17" deprecated="31">
+		<extends name="android/renderscript/Script"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsic3DLUT" since="18" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsic3DLUT;" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="setLUT(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicBLAS" since="23" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="BNNM(Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;II)V" deprecated="31"/>
+		<method name="CGBMV(IIILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="CGEMM(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Float2;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CGEMV(ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="CGERC(Landroid/renderscript/Float2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CGERU(Landroid/renderscript/Float2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CHBMV(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="CHEMM(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Float2;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CHEMV(ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="CHER(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CHER2(ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CHER2K(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CHERK(IIFLandroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CHPMV(ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="CHPR(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CHPR2(ILandroid/renderscript/Float2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CSYMM(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Float2;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CSYR2K(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Float2;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CSYRK(IILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Float2;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CTBMV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="CTBSV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="CTPMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="CTPSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="CTRMM(IIIILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CTRMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="CTRSM(IIIILandroid/renderscript/Float2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="CTRSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DGBMV(IIIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IDLandroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DGEMM(IIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DGEMV(IDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IDLandroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DGER(DLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DSBMV(IIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IDLandroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DSPMV(IDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IDLandroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DSPR(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DSPR2(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DSYMM(IIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DSYMV(IDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IDLandroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DSYR(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DSYR2(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DSYR2K(IIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DSYRK(IIDLandroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DTBMV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DTBSV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DTPMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DTPSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DTRMM(IIIIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DTRMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="DTRSM(IIIIDLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="DTRSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="SGBMV(IIIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IFLandroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="SGEMM(IIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="SGEMV(IFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IFLandroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="SGER(FLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="SSBMV(IIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IFLandroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="SSPMV(IFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IFLandroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="SSPR(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="SSPR2(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="SSYMM(IIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="SSYMV(IFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;IFLandroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="SSYR(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="SSYR2(IFLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="SSYR2K(IIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="SSYRK(IIFLandroid/renderscript/Allocation;FLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="STBMV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="STBSV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="STPMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="STPSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="STRMM(IIIIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="STRMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="STRSM(IIIIFLandroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="STRSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZGBMV(IIILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZGEMM(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Double2;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZGEMV(ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZGERC(Landroid/renderscript/Double2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZGERU(Landroid/renderscript/Double2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZHBMV(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZHEMM(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Double2;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZHEMV(ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZHER(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZHER2(ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZHER2K(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZHERK(IIDLandroid/renderscript/Allocation;DLandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZHPMV(ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZHPR(IDLandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZHPR2(ILandroid/renderscript/Double2;Landroid/renderscript/Allocation;ILandroid/renderscript/Allocation;ILandroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZSYMM(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Double2;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZSYR2K(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Double2;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZSYRK(IILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Double2;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZTBMV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZTBSV(IIIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZTPMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZTPSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZTRMM(IIIILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZTRMV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="ZTRSM(IIIILandroid/renderscript/Double2;Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="ZTRSV(IIILandroid/renderscript/Allocation;Landroid/renderscript/Allocation;I)V" deprecated="31"/>
+		<method name="create(Landroid/renderscript/RenderScript;)Landroid/renderscript/ScriptIntrinsicBLAS;" deprecated="31"/>
+		<field name="CONJ_TRANSPOSE" deprecated="31"/>
+		<field name="LEFT" deprecated="31"/>
+		<field name="LOWER" deprecated="31"/>
+		<field name="NON_UNIT" deprecated="31"/>
+		<field name="NO_TRANSPOSE" deprecated="31"/>
+		<field name="RIGHT" deprecated="31"/>
+		<field name="TRANSPOSE" deprecated="31"/>
+		<field name="UNIT" deprecated="31"/>
+		<field name="UPPER" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicBlend" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicBlend;" deprecated="31"/>
+		<method name="forEachAdd(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachAdd(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachClear(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachClear(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachDst(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachDst(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachDstAtop(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachDstAtop(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachDstIn(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachDstIn(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachDstOut(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachDstOut(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachDstOver(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachDstOver(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachMultiply(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachMultiply(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachSrc(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachSrc(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachSrcAtop(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachSrcAtop(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachSrcIn(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachSrcIn(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachSrcOut(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachSrcOut(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachSrcOver(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachSrcOver(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachSubtract(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachSubtract(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEachXor(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEachXor(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="getKernelIDAdd()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDClear()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDDst()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDDstAtop()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDDstIn()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDDstOut()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDDstOver()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDMultiply()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDSrc()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDSrcAtop()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDSrcIn()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDSrcOut()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDSrcOver()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDSubtract()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="getKernelIDXor()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicBlur" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicBlur;" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31"/>
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="setInput(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="setRadius(F)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicColorMatrix" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="create(Landroid/renderscript/RenderScript;)Landroid/renderscript/ScriptIntrinsicColorMatrix;" since="19" deprecated="31"/>
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicColorMatrix;" deprecated="19"/>
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="setAdd(FFFF)V" since="19" deprecated="31"/>
+		<method name="setAdd(Landroid/renderscript/Float4;)V" since="19" deprecated="31"/>
+		<method name="setColorMatrix(Landroid/renderscript/Matrix3f;)V" deprecated="31"/>
+		<method name="setColorMatrix(Landroid/renderscript/Matrix4f;)V" deprecated="31"/>
+		<method name="setGreyscale()V" deprecated="31"/>
+		<method name="setRGBtoYUV()V" deprecated="31"/>
+		<method name="setYUVtoRGB()V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicConvolve3x3" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicConvolve3x3;" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31"/>
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="setCoefficients([F)V" deprecated="31"/>
+		<method name="setInput(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicConvolve5x5" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicConvolve5x5;" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31"/>
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="setCoefficients([F)V" deprecated="31"/>
+		<method name="setInput(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicHistogram" since="19" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicHistogram;" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="forEach_Dot(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEach_Dot(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31"/>
+		<method name="getKernelID_Separate()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="setDotCoefficients(FFFF)V" deprecated="31"/>
+		<method name="setOutput(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicLUT" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicLUT;" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" since="21" deprecated="31"/>
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="setAlpha(II)V" deprecated="31"/>
+		<method name="setBlue(II)V" deprecated="31"/>
+		<method name="setGreen(II)V" deprecated="31"/>
+		<method name="setRed(II)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicResize" since="20" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="create(Landroid/renderscript/RenderScript;)Landroid/renderscript/ScriptIntrinsicResize;" deprecated="31"/>
+		<method name="forEach_bicubic(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="forEach_bicubic(Landroid/renderscript/Allocation;Landroid/renderscript/Script$LaunchOptions;)V" deprecated="31"/>
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31"/>
+		<method name="getKernelID_bicubic()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="setInput(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/ScriptIntrinsicYuvToRGB" since="17" deprecated="31">
+		<extends name="android/renderscript/ScriptIntrinsic"/>
+		<method name="create(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)Landroid/renderscript/ScriptIntrinsicYuvToRGB;" deprecated="31"/>
+		<method name="forEach(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+		<method name="getFieldID_Input()Landroid/renderscript/Script$FieldID;" deprecated="31"/>
+		<method name="getKernelID()Landroid/renderscript/Script$KernelID;" deprecated="31"/>
+		<method name="setInput(Landroid/renderscript/Allocation;)V" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Short2" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(SS)V" since="14" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Short3" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(SSS)V" since="14" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Short4" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(SSSS)V" since="14" deprecated="31"/>
+		<field name="w" deprecated="31"/>
+		<field name="x" deprecated="31"/>
+		<field name="y" deprecated="31"/>
+		<field name="z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Type" since="11" deprecated="31">
+		<extends name="android/renderscript/BaseObj"/>
+		<method name="createX(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;I)Landroid/renderscript/Type;" since="21" deprecated="31"/>
+		<method name="createXY(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;II)Landroid/renderscript/Type;" since="21" deprecated="31"/>
+		<method name="createXYZ(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;III)Landroid/renderscript/Type;" since="21" deprecated="31"/>
+		<method name="getCount()I" deprecated="31"/>
+		<method name="getElement()Landroid/renderscript/Element;" deprecated="31"/>
+		<method name="getX()I" deprecated="31"/>
+		<method name="getY()I" deprecated="31"/>
+		<method name="getYuv()I" since="18" deprecated="31"/>
+		<method name="getZ()I" deprecated="31"/>
+		<method name="hasFaces()Z" deprecated="31"/>
+		<method name="hasMipmaps()Z" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Type$Builder" since="11" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/renderscript/RenderScript;Landroid/renderscript/Element;)V" deprecated="31"/>
+		<method name="create()Landroid/renderscript/Type;" deprecated="31"/>
+		<method name="setFaces(Z)Landroid/renderscript/Type$Builder;" deprecated="31"/>
+		<method name="setMipmaps(Z)Landroid/renderscript/Type$Builder;" deprecated="31"/>
+		<method name="setX(I)Landroid/renderscript/Type$Builder;" deprecated="31"/>
+		<method name="setY(I)Landroid/renderscript/Type$Builder;" deprecated="31"/>
+		<method name="setYuvFormat(I)Landroid/renderscript/Type$Builder;" since="18" deprecated="31"/>
+		<method name="setZ(I)Landroid/renderscript/Type$Builder;" since="18" deprecated="31"/>
+	</class>
+	<class name="android/renderscript/Type$CubemapFace" since="11" deprecated="31">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/renderscript/Type$CubemapFace;"/>
+		<method name="values()[Landroid/renderscript/Type$CubemapFace;"/>
+		<field name="NEGATIVE_X" deprecated="31"/>
+		<field name="NEGATIVE_Y" deprecated="31"/>
+		<field name="NEGATIVE_Z" deprecated="31"/>
+		<field name="POSITIVE_X" since="14" deprecated="31"/>
+		<field name="POSITIVE_Y" since="14" deprecated="31"/>
+		<field name="POSITIVE_Z" since="14" deprecated="31"/>
+		<field name="POSITVE_X" deprecated="29"/>
+		<field name="POSITVE_Y" deprecated="29"/>
+		<field name="POSITVE_Z" deprecated="29"/>
+	</class>
+	<class name="android/sax/Element" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getChild(Ljava/lang/String;)Landroid/sax/Element;"/>
+		<method name="getChild(Ljava/lang/String;Ljava/lang/String;)Landroid/sax/Element;"/>
+		<method name="requireChild(Ljava/lang/String;)Landroid/sax/Element;"/>
+		<method name="requireChild(Ljava/lang/String;Ljava/lang/String;)Landroid/sax/Element;"/>
+		<method name="setElementListener(Landroid/sax/ElementListener;)V"/>
+		<method name="setEndElementListener(Landroid/sax/EndElementListener;)V"/>
+		<method name="setEndTextElementListener(Landroid/sax/EndTextElementListener;)V"/>
+		<method name="setStartElementListener(Landroid/sax/StartElementListener;)V"/>
+		<method name="setTextElementListener(Landroid/sax/TextElementListener;)V"/>
+	</class>
+	<class name="android/sax/ElementListener" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/sax/EndElementListener"/>
+		<implements name="android/sax/StartElementListener"/>
+	</class>
+	<class name="android/sax/EndElementListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="end()V"/>
+	</class>
+	<class name="android/sax/EndTextElementListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="end(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/sax/RootElement" since="1">
+		<extends name="android/sax/Element"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getContentHandler()Lorg/xml/sax/ContentHandler;"/>
+	</class>
+	<class name="android/sax/StartElementListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="start(Lorg/xml/sax/Attributes;)V"/>
+	</class>
+	<class name="android/sax/TextElementListener" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/sax/EndTextElementListener"/>
+		<implements name="android/sax/StartElementListener"/>
+	</class>
+	<class name="android/se/omapi/Channel" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/Channel"/>
+		<method name="getSelectResponse()[B"/>
+		<method name="getSession()Landroid/se/omapi/Session;"/>
+		<method name="isBasicChannel()Z"/>
+		<method name="selectNext()Z"/>
+		<method name="transmit([B)[B"/>
+	</class>
+	<class name="android/se/omapi/Reader" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="closeSessions()V"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getSEService()Landroid/se/omapi/SEService;"/>
+		<method name="isSecureElementPresent()Z"/>
+		<method name="openSession()Landroid/se/omapi/Session;"/>
+	</class>
+	<class name="android/se/omapi/SEService" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/util/concurrent/Executor;Landroid/se/omapi/SEService$OnConnectedListener;)V"/>
+		<method name="getReaders()[Landroid/se/omapi/Reader;"/>
+		<method name="getUiccReader(I)Landroid/se/omapi/Reader;" since="30"/>
+		<method name="getVersion()Ljava/lang/String;"/>
+		<method name="isConnected()Z"/>
+		<method name="shutdown()V"/>
+		<field name="ACTION_SECURE_ELEMENT_STATE_CHANGED" since="31"/>
+		<field name="EXTRA_READER_NAME" since="31"/>
+		<field name="EXTRA_READER_STATE" since="31"/>
+	</class>
+	<class name="android/se/omapi/SEService$OnConnectedListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="onConnected()V"/>
+	</class>
+	<class name="android/se/omapi/Session" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="close()V"/>
+		<method name="closeChannels()V"/>
+		<method name="getATR()[B"/>
+		<method name="getReader()Landroid/se/omapi/Reader;"/>
+		<method name="isClosed()Z"/>
+		<method name="openBasicChannel([B)Landroid/se/omapi/Channel;"/>
+		<method name="openBasicChannel([BB)Landroid/se/omapi/Channel;"/>
+		<method name="openLogicalChannel([B)Landroid/se/omapi/Channel;"/>
+		<method name="openLogicalChannel([BB)Landroid/se/omapi/Channel;"/>
+	</class>
+	<class name="android/security/AppUriAuthenticationPolicy" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAppAndUriMappings()Ljava/util/Map;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/security/AppUriAuthenticationPolicy$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addAppAndUriMapping(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;)Landroid/security/AppUriAuthenticationPolicy$Builder;"/>
+		<method name="build()Landroid/security/AppUriAuthenticationPolicy;"/>
+	</class>
+	<class name="android/security/AttestedKeyPair" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/KeyPair;Ljava/util/List;)V" since="30"/>
+		<method name="getAttestationRecord()Ljava/util/List;"/>
+		<method name="getKeyPair()Ljava/security/KeyPair;"/>
+	</class>
+	<class name="android/security/ConfirmationAlreadyPresentingException" since="28">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/security/ConfirmationCallback" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCanceled()V"/>
+		<method name="onConfirmed([B)V"/>
+		<method name="onDismissed()V"/>
+		<method name="onError(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/ConfirmationNotAvailableException" since="28">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/security/ConfirmationPrompt" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="cancelPrompt()V"/>
+		<method name="isSupported(Landroid/content/Context;)Z"/>
+		<method name="presentPrompt(Ljava/util/concurrent/Executor;Landroid/security/ConfirmationCallback;)V"/>
+	</class>
+	<class name="android/security/ConfirmationPrompt$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="build()Landroid/security/ConfirmationPrompt;"/>
+		<method name="setExtraData([B)Landroid/security/ConfirmationPrompt$Builder;"/>
+		<method name="setPromptText(Ljava/lang/CharSequence;)Landroid/security/ConfirmationPrompt$Builder;"/>
+	</class>
+	<class name="android/security/FileIntegrityManager" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="isApkVeritySupported()Z"/>
+		<method name="isAppSourceCertificateTrusted(Ljava/security/cert/X509Certificate;)Z"/>
+	</class>
+	<class name="android/security/KeyChain" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="choosePrivateKeyAlias(Landroid/app/Activity;Landroid/security/KeyChainAliasCallback;[Ljava/lang/String;[Ljava/security/Principal;Landroid/net/Uri;Ljava/lang/String;)V" since="23"/>
+		<method name="choosePrivateKeyAlias(Landroid/app/Activity;Landroid/security/KeyChainAliasCallback;[Ljava/lang/String;[Ljava/security/Principal;Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="createInstallIntent()Landroid/content/Intent;"/>
+		<method name="createManageCredentialsIntent(Landroid/security/AppUriAuthenticationPolicy;)Landroid/content/Intent;" since="31"/>
+		<method name="getCertificateChain(Landroid/content/Context;Ljava/lang/String;)[Ljava/security/cert/X509Certificate;"/>
+		<method name="getCredentialManagementAppPolicy(Landroid/content/Context;)Landroid/security/AppUriAuthenticationPolicy;" since="31"/>
+		<method name="getPrivateKey(Landroid/content/Context;Ljava/lang/String;)Ljava/security/PrivateKey;"/>
+		<method name="isBoundKeyAlgorithm(Ljava/lang/String;)Z" since="18" deprecated="23"/>
+		<method name="isCredentialManagementApp(Landroid/content/Context;)Z" since="31"/>
+		<method name="isKeyAlgorithmSupported(Ljava/lang/String;)Z" since="18"/>
+		<method name="removeCredentialManagementApp(Landroid/content/Context;)Z" since="31"/>
+		<field name="ACTION_KEYCHAIN_CHANGED" since="26"/>
+		<field name="ACTION_KEY_ACCESS_CHANGED" since="26"/>
+		<field name="ACTION_STORAGE_CHANGED" since="16" deprecated="26"/>
+		<field name="ACTION_TRUST_STORE_CHANGED" since="26"/>
+		<field name="EXTRA_CERTIFICATE"/>
+		<field name="EXTRA_KEY_ACCESSIBLE" since="26"/>
+		<field name="EXTRA_KEY_ALIAS" since="26"/>
+		<field name="EXTRA_NAME"/>
+		<field name="EXTRA_PKCS12"/>
+		<field name="KEY_ALIAS_SELECTION_DENIED" since="30"/>
+	</class>
+	<class name="android/security/KeyChainAliasCallback" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="alias(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/security/KeyChainException" since="14">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/KeyPairGeneratorSpec" since="18" deprecated="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="getAlgorithmParameterSpec()Ljava/security/spec/AlgorithmParameterSpec;" since="19" deprecated="29"/>
+		<method name="getContext()Landroid/content/Context;" deprecated="29"/>
+		<method name="getEndDate()Ljava/util/Date;" deprecated="29"/>
+		<method name="getKeySize()I" since="19" deprecated="29"/>
+		<method name="getKeyType()Ljava/lang/String;" since="19" deprecated="29"/>
+		<method name="getKeystoreAlias()Ljava/lang/String;" deprecated="29"/>
+		<method name="getSerialNumber()Ljava/math/BigInteger;" deprecated="29"/>
+		<method name="getStartDate()Ljava/util/Date;" deprecated="29"/>
+		<method name="getSubjectDN()Ljavax/security/auth/x500/X500Principal;" deprecated="29"/>
+		<method name="isEncryptionRequired()Z" deprecated="29"/>
+	</class>
+	<class name="android/security/KeyPairGeneratorSpec$Builder" since="18" deprecated="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="build()Landroid/security/KeyPairGeneratorSpec;" deprecated="29"/>
+		<method name="setAlgorithmParameterSpec(Ljava/security/spec/AlgorithmParameterSpec;)Landroid/security/KeyPairGeneratorSpec$Builder;" since="19" deprecated="29"/>
+		<method name="setAlias(Ljava/lang/String;)Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29"/>
+		<method name="setEncryptionRequired()Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29"/>
+		<method name="setEndDate(Ljava/util/Date;)Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29"/>
+		<method name="setKeySize(I)Landroid/security/KeyPairGeneratorSpec$Builder;" since="19" deprecated="29"/>
+		<method name="setKeyType(Ljava/lang/String;)Landroid/security/KeyPairGeneratorSpec$Builder;" since="19" deprecated="29"/>
+		<method name="setSerialNumber(Ljava/math/BigInteger;)Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29"/>
+		<method name="setStartDate(Ljava/util/Date;)Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29"/>
+		<method name="setSubject(Ljavax/security/auth/x500/X500Principal;)Landroid/security/KeyPairGeneratorSpec$Builder;" deprecated="29"/>
+	</class>
+	<class name="android/security/KeyStoreParameter" since="18" deprecated="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/KeyStore$ProtectionParameter"/>
+		<method name="isEncryptionRequired()Z" deprecated="29"/>
+	</class>
+	<class name="android/security/KeyStoreParameter$Builder" since="18" deprecated="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="build()Landroid/security/KeyStoreParameter;" deprecated="29"/>
+		<method name="setEncryptionRequired(Z)Landroid/security/KeyStoreParameter$Builder;" deprecated="29"/>
+	</class>
+	<class name="android/security/NetworkSecurityPolicy" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getInstance()Landroid/security/NetworkSecurityPolicy;"/>
+		<method name="isCleartextTrafficPermitted()Z"/>
+		<method name="isCleartextTrafficPermitted(Ljava/lang/String;)Z" since="24"/>
+	</class>
+	<class name="android/security/identity/AccessControlProfile" since="30">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/security/identity/AccessControlProfile$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/security/identity/AccessControlProfileId;)V"/>
+		<method name="build()Landroid/security/identity/AccessControlProfile;"/>
+		<method name="setReaderCertificate(Ljava/security/cert/X509Certificate;)Landroid/security/identity/AccessControlProfile$Builder;"/>
+		<method name="setUserAuthenticationRequired(Z)Landroid/security/identity/AccessControlProfile$Builder;"/>
+		<method name="setUserAuthenticationTimeout(J)Landroid/security/identity/AccessControlProfile$Builder;"/>
+	</class>
+	<class name="android/security/identity/AccessControlProfileId" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getId()I"/>
+	</class>
+	<class name="android/security/identity/AlreadyPersonalizedException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/CipherSuiteNotSupportedException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/DocTypeNotSupportedException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/EphemeralPublicKeyNotFoundException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/IdentityCredential" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="createEphemeralKeyPair()Ljava/security/KeyPair;"/>
+		<method name="decryptMessageFromReader([B)[B"/>
+		<method name="delete([B)[B" since="31"/>
+		<method name="encryptMessageToReader([B)[B"/>
+		<method name="getAuthKeysNeedingCertification()Ljava/util/Collection;"/>
+		<method name="getAuthenticationDataUsageCount()[I"/>
+		<method name="getCredentialKeyCertificateChain()Ljava/util/Collection;"/>
+		<method name="getEntries([BLjava/util/Map;[B[B)Landroid/security/identity/ResultData;"/>
+		<method name="proveOwnership([B)[B" since="31"/>
+		<method name="setAllowUsingExhaustedKeys(Z)V"/>
+		<method name="setAllowUsingExpiredKeys(Z)V" since="31"/>
+		<method name="setAvailableAuthenticationKeys(II)V"/>
+		<method name="setReaderEphemeralPublicKey(Ljava/security/PublicKey;)V"/>
+		<method name="storeStaticAuthenticationData(Ljava/security/cert/X509Certificate;Ljava/time/Instant;[B)V" since="31"/>
+		<method name="storeStaticAuthenticationData(Ljava/security/cert/X509Certificate;[B)V" deprecated="31"/>
+		<method name="update(Landroid/security/identity/PersonalizationData;)[B" since="31"/>
+	</class>
+	<class name="android/security/identity/IdentityCredentialException" since="30">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/IdentityCredentialStore" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="createCredential(Ljava/lang/String;Ljava/lang/String;)Landroid/security/identity/WritableIdentityCredential;"/>
+		<method name="deleteCredentialByName(Ljava/lang/String;)[B" deprecated="31"/>
+		<method name="getCredentialByName(Ljava/lang/String;I)Landroid/security/identity/IdentityCredential;"/>
+		<method name="getDirectAccessInstance(Landroid/content/Context;)Landroid/security/identity/IdentityCredentialStore;"/>
+		<method name="getInstance(Landroid/content/Context;)Landroid/security/identity/IdentityCredentialStore;"/>
+		<method name="getSupportedDocTypes()[Ljava/lang/String;"/>
+		<field name="CIPHERSUITE_ECDHE_HKDF_ECDSA_WITH_AES_256_GCM_SHA256"/>
+	</class>
+	<class name="android/security/identity/InvalidReaderSignatureException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/InvalidRequestMessageException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/MessageDecryptionException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/NoAuthenticationKeyAvailableException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/PersonalizationData" since="30">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/security/identity/PersonalizationData$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addAccessControlProfile(Landroid/security/identity/AccessControlProfile;)Landroid/security/identity/PersonalizationData$Builder;"/>
+		<method name="build()Landroid/security/identity/PersonalizationData;"/>
+		<method name="putEntry(Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;[B)Landroid/security/identity/PersonalizationData$Builder;"/>
+	</class>
+	<class name="android/security/identity/ResultData" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getAuthenticatedData()[B"/>
+		<method name="getEntry(Ljava/lang/String;Ljava/lang/String;)[B"/>
+		<method name="getEntryNames(Ljava/lang/String;)Ljava/util/Collection;"/>
+		<method name="getMessageAuthenticationCode()[B"/>
+		<method name="getNamespaces()Ljava/util/Collection;"/>
+		<method name="getRetrievedEntryNames(Ljava/lang/String;)Ljava/util/Collection;"/>
+		<method name="getStaticAuthenticationData()[B"/>
+		<method name="getStatus(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<field name="STATUS_NOT_IN_REQUEST_MESSAGE"/>
+		<field name="STATUS_NOT_REQUESTED"/>
+		<field name="STATUS_NO_ACCESS_CONTROL_PROFILES"/>
+		<field name="STATUS_NO_SUCH_ENTRY"/>
+		<field name="STATUS_OK"/>
+		<field name="STATUS_READER_AUTHENTICATION_FAILED"/>
+		<field name="STATUS_USER_AUTHENTICATION_FAILED"/>
+	</class>
+	<class name="android/security/identity/SessionTranscriptMismatchException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/UnknownAuthenticationKeyException" since="30">
+		<extends name="android/security/identity/IdentityCredentialException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/identity/WritableIdentityCredential" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getCredentialKeyCertificateChain([B)Ljava/util/Collection;"/>
+		<method name="personalize(Landroid/security/identity/PersonalizationData;)[B"/>
+	</class>
+	<class name="android/security/keystore/BackendBusyException" since="31">
+		<extends name="java/security/ProviderException"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="&lt;init>(JLjava/lang/String;)V"/>
+		<method name="&lt;init>(JLjava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="getBackOffHintMillis()J"/>
+	</class>
+	<class name="android/security/keystore/KeyExpiredException" since="23">
+		<extends name="java/security/InvalidKeyException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/keystore/KeyGenParameterSpec" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="getAlgorithmParameterSpec()Ljava/security/spec/AlgorithmParameterSpec;"/>
+		<method name="getAttestKeyAlias()Ljava/lang/String;" since="31"/>
+		<method name="getAttestationChallenge()[B" since="24"/>
+		<method name="getBlockModes()[Ljava/lang/String;"/>
+		<method name="getCertificateNotAfter()Ljava/util/Date;"/>
+		<method name="getCertificateNotBefore()Ljava/util/Date;"/>
+		<method name="getCertificateSerialNumber()Ljava/math/BigInteger;"/>
+		<method name="getCertificateSubject()Ljavax/security/auth/x500/X500Principal;"/>
+		<method name="getDigests()[Ljava/lang/String;"/>
+		<method name="getEncryptionPaddings()[Ljava/lang/String;"/>
+		<method name="getKeySize()I"/>
+		<method name="getKeyValidityForConsumptionEnd()Ljava/util/Date;"/>
+		<method name="getKeyValidityForOriginationEnd()Ljava/util/Date;"/>
+		<method name="getKeyValidityStart()Ljava/util/Date;"/>
+		<method name="getKeystoreAlias()Ljava/lang/String;"/>
+		<method name="getMaxUsageCount()I" since="31"/>
+		<method name="getPurposes()I"/>
+		<method name="getSignaturePaddings()[Ljava/lang/String;"/>
+		<method name="getUserAuthenticationType()I" since="30"/>
+		<method name="getUserAuthenticationValidityDurationSeconds()I"/>
+		<method name="isDevicePropertiesAttestationIncluded()Z" since="31"/>
+		<method name="isDigestsSpecified()Z"/>
+		<method name="isInvalidatedByBiometricEnrollment()Z" since="24"/>
+		<method name="isRandomizedEncryptionRequired()Z"/>
+		<method name="isStrongBoxBacked()Z" since="28"/>
+		<method name="isUnlockedDeviceRequired()Z" since="28"/>
+		<method name="isUserAuthenticationRequired()Z"/>
+		<method name="isUserAuthenticationValidWhileOnBody()Z" since="24"/>
+		<method name="isUserConfirmationRequired()Z" since="28"/>
+		<method name="isUserPresenceRequired()Z" since="28"/>
+	</class>
+	<class name="android/security/keystore/KeyGenParameterSpec$Builder" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="build()Landroid/security/keystore/KeyGenParameterSpec;"/>
+		<method name="setAlgorithmParameterSpec(Ljava/security/spec/AlgorithmParameterSpec;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setAttestKeyAlias(Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="31"/>
+		<method name="setAttestationChallenge([B)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="24"/>
+		<method name="setBlockModes([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setCertificateNotAfter(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setCertificateNotBefore(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setCertificateSerialNumber(Ljava/math/BigInteger;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setCertificateSubject(Ljavax/security/auth/x500/X500Principal;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setDevicePropertiesAttestationIncluded(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="31"/>
+		<method name="setDigests([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setEncryptionPaddings([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setInvalidatedByBiometricEnrollment(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="24"/>
+		<method name="setIsStrongBoxBacked(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="28"/>
+		<method name="setKeySize(I)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setKeyValidityEnd(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setKeyValidityForConsumptionEnd(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setKeyValidityForOriginationEnd(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setKeyValidityStart(Ljava/util/Date;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setMaxUsageCount(I)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="31"/>
+		<method name="setRandomizedEncryptionRequired(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setSignaturePaddings([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setUnlockedDeviceRequired(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="28"/>
+		<method name="setUserAuthenticationParameters(II)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="30"/>
+		<method name="setUserAuthenticationRequired(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;"/>
+		<method name="setUserAuthenticationValidWhileOnBody(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="24"/>
+		<method name="setUserAuthenticationValidityDurationSeconds(I)Landroid/security/keystore/KeyGenParameterSpec$Builder;" deprecated="30"/>
+		<method name="setUserConfirmationRequired(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="28"/>
+		<method name="setUserPresenceRequired(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;" since="28"/>
+	</class>
+	<class name="android/security/keystore/KeyInfo" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="getBlockModes()[Ljava/lang/String;"/>
+		<method name="getDigests()[Ljava/lang/String;"/>
+		<method name="getEncryptionPaddings()[Ljava/lang/String;"/>
+		<method name="getKeySize()I"/>
+		<method name="getKeyValidityForConsumptionEnd()Ljava/util/Date;"/>
+		<method name="getKeyValidityForOriginationEnd()Ljava/util/Date;"/>
+		<method name="getKeyValidityStart()Ljava/util/Date;"/>
+		<method name="getKeystoreAlias()Ljava/lang/String;"/>
+		<method name="getOrigin()I"/>
+		<method name="getPurposes()I"/>
+		<method name="getRemainingUsageCount()I" since="31"/>
+		<method name="getSecurityLevel()I" since="31"/>
+		<method name="getSignaturePaddings()[Ljava/lang/String;"/>
+		<method name="getUserAuthenticationType()I" since="30"/>
+		<method name="getUserAuthenticationValidityDurationSeconds()I"/>
+		<method name="isInsideSecureHardware()Z" deprecated="31"/>
+		<method name="isInvalidatedByBiometricEnrollment()Z" since="24"/>
+		<method name="isTrustedUserPresenceRequired()Z" since="28"/>
+		<method name="isUserAuthenticationRequired()Z"/>
+		<method name="isUserAuthenticationRequirementEnforcedBySecureHardware()Z"/>
+		<method name="isUserAuthenticationValidWhileOnBody()Z" since="24"/>
+		<method name="isUserConfirmationRequired()Z" since="28"/>
+	</class>
+	<class name="android/security/keystore/KeyNotYetValidException" since="23">
+		<extends name="java/security/InvalidKeyException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/keystore/KeyPermanentlyInvalidatedException" since="23">
+		<extends name="java/security/InvalidKeyException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/keystore/KeyProperties" since="23">
+		<extends name="java/lang/Object"/>
+		<field name="AUTH_BIOMETRIC_STRONG" since="30"/>
+		<field name="AUTH_DEVICE_CREDENTIAL" since="30"/>
+		<field name="BLOCK_MODE_CBC"/>
+		<field name="BLOCK_MODE_CTR"/>
+		<field name="BLOCK_MODE_ECB"/>
+		<field name="BLOCK_MODE_GCM"/>
+		<field name="DIGEST_MD5"/>
+		<field name="DIGEST_NONE"/>
+		<field name="DIGEST_SHA1"/>
+		<field name="DIGEST_SHA224"/>
+		<field name="DIGEST_SHA256"/>
+		<field name="DIGEST_SHA384"/>
+		<field name="DIGEST_SHA512"/>
+		<field name="ENCRYPTION_PADDING_NONE"/>
+		<field name="ENCRYPTION_PADDING_PKCS7"/>
+		<field name="ENCRYPTION_PADDING_RSA_OAEP"/>
+		<field name="ENCRYPTION_PADDING_RSA_PKCS1"/>
+		<field name="KEY_ALGORITHM_3DES" since="28" deprecated="28"/>
+		<field name="KEY_ALGORITHM_AES"/>
+		<field name="KEY_ALGORITHM_EC"/>
+		<field name="KEY_ALGORITHM_HMAC_SHA1"/>
+		<field name="KEY_ALGORITHM_HMAC_SHA224"/>
+		<field name="KEY_ALGORITHM_HMAC_SHA256"/>
+		<field name="KEY_ALGORITHM_HMAC_SHA384"/>
+		<field name="KEY_ALGORITHM_HMAC_SHA512"/>
+		<field name="KEY_ALGORITHM_RSA"/>
+		<field name="ORIGIN_GENERATED"/>
+		<field name="ORIGIN_IMPORTED"/>
+		<field name="ORIGIN_SECURELY_IMPORTED" since="28"/>
+		<field name="ORIGIN_UNKNOWN"/>
+		<field name="PURPOSE_AGREE_KEY" since="31"/>
+		<field name="PURPOSE_ATTEST_KEY" since="31"/>
+		<field name="PURPOSE_DECRYPT"/>
+		<field name="PURPOSE_ENCRYPT"/>
+		<field name="PURPOSE_SIGN"/>
+		<field name="PURPOSE_VERIFY"/>
+		<field name="PURPOSE_WRAP_KEY" since="28"/>
+		<field name="SECURITY_LEVEL_SOFTWARE" since="31"/>
+		<field name="SECURITY_LEVEL_STRONGBOX" since="31"/>
+		<field name="SECURITY_LEVEL_TRUSTED_ENVIRONMENT" since="31"/>
+		<field name="SECURITY_LEVEL_UNKNOWN" since="31"/>
+		<field name="SECURITY_LEVEL_UNKNOWN_SECURE" since="31"/>
+		<field name="SIGNATURE_PADDING_RSA_PKCS1"/>
+		<field name="SIGNATURE_PADDING_RSA_PSS"/>
+		<field name="UNRESTRICTED_USAGE_COUNT" since="31"/>
+	</class>
+	<class name="android/security/keystore/KeyProtection" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/KeyStore$ProtectionParameter"/>
+		<method name="getBlockModes()[Ljava/lang/String;"/>
+		<method name="getDigests()[Ljava/lang/String;"/>
+		<method name="getEncryptionPaddings()[Ljava/lang/String;"/>
+		<method name="getKeyValidityForConsumptionEnd()Ljava/util/Date;"/>
+		<method name="getKeyValidityForOriginationEnd()Ljava/util/Date;"/>
+		<method name="getKeyValidityStart()Ljava/util/Date;"/>
+		<method name="getMaxUsageCount()I" since="31"/>
+		<method name="getPurposes()I"/>
+		<method name="getSignaturePaddings()[Ljava/lang/String;"/>
+		<method name="getUserAuthenticationType()I" since="30"/>
+		<method name="getUserAuthenticationValidityDurationSeconds()I"/>
+		<method name="isDigestsSpecified()Z"/>
+		<method name="isInvalidatedByBiometricEnrollment()Z" since="24"/>
+		<method name="isRandomizedEncryptionRequired()Z"/>
+		<method name="isUnlockedDeviceRequired()Z" since="28"/>
+		<method name="isUserAuthenticationRequired()Z"/>
+		<method name="isUserAuthenticationValidWhileOnBody()Z" since="24"/>
+		<method name="isUserConfirmationRequired()Z" since="28"/>
+		<method name="isUserPresenceRequired()Z" since="28"/>
+	</class>
+	<class name="android/security/keystore/KeyProtection$Builder" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="build()Landroid/security/keystore/KeyProtection;"/>
+		<method name="setBlockModes([Ljava/lang/String;)Landroid/security/keystore/KeyProtection$Builder;"/>
+		<method name="setDigests([Ljava/lang/String;)Landroid/security/keystore/KeyProtection$Builder;"/>
+		<method name="setEncryptionPaddings([Ljava/lang/String;)Landroid/security/keystore/KeyProtection$Builder;"/>
+		<method name="setInvalidatedByBiometricEnrollment(Z)Landroid/security/keystore/KeyProtection$Builder;" since="24"/>
+		<method name="setIsStrongBoxBacked(Z)Landroid/security/keystore/KeyProtection$Builder;" since="31"/>
+		<method name="setKeyValidityEnd(Ljava/util/Date;)Landroid/security/keystore/KeyProtection$Builder;"/>
+		<method name="setKeyValidityForConsumptionEnd(Ljava/util/Date;)Landroid/security/keystore/KeyProtection$Builder;"/>
+		<method name="setKeyValidityForOriginationEnd(Ljava/util/Date;)Landroid/security/keystore/KeyProtection$Builder;"/>
+		<method name="setKeyValidityStart(Ljava/util/Date;)Landroid/security/keystore/KeyProtection$Builder;"/>
+		<method name="setMaxUsageCount(I)Landroid/security/keystore/KeyProtection$Builder;" since="31"/>
+		<method name="setRandomizedEncryptionRequired(Z)Landroid/security/keystore/KeyProtection$Builder;"/>
+		<method name="setSignaturePaddings([Ljava/lang/String;)Landroid/security/keystore/KeyProtection$Builder;"/>
+		<method name="setUnlockedDeviceRequired(Z)Landroid/security/keystore/KeyProtection$Builder;" since="28"/>
+		<method name="setUserAuthenticationParameters(II)Landroid/security/keystore/KeyProtection$Builder;" since="30"/>
+		<method name="setUserAuthenticationRequired(Z)Landroid/security/keystore/KeyProtection$Builder;"/>
+		<method name="setUserAuthenticationValidWhileOnBody(Z)Landroid/security/keystore/KeyProtection$Builder;" since="24"/>
+		<method name="setUserAuthenticationValidityDurationSeconds(I)Landroid/security/keystore/KeyProtection$Builder;" deprecated="30"/>
+		<method name="setUserConfirmationRequired(Z)Landroid/security/keystore/KeyProtection$Builder;" since="28"/>
+		<method name="setUserPresenceRequired(Z)Landroid/security/keystore/KeyProtection$Builder;" since="28"/>
+	</class>
+	<class name="android/security/keystore/SecureKeyImportUnavailableException" since="28">
+		<extends name="java/security/ProviderException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/keystore/StrongBoxUnavailableException" since="28">
+		<extends name="java/security/ProviderException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/keystore/UserNotAuthenticatedException" since="23">
+		<extends name="java/security/InvalidKeyException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/keystore/UserPresenceUnavailableException" since="28">
+		<extends name="java/security/InvalidKeyException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/security/keystore/WrappedKeyEntry" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/KeyStore$Entry"/>
+		<method name="&lt;init>([BLjava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="getAlgorithmParameterSpec()Ljava/security/spec/AlgorithmParameterSpec;"/>
+		<method name="getTransformation()Ljava/lang/String;"/>
+		<method name="getWrappedKeyBytes()[B"/>
+		<method name="getWrappingKeyAlias()Ljava/lang/String;"/>
+	</class>
+	<class name="android/service/autofill/AutofillService" since="26">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="getFillEventHistory()Landroid/service/autofill/FillEventHistory;"/>
+		<method name="onConnected()V"/>
+		<method name="onDisconnected()V"/>
+		<method name="onFillRequest(Landroid/service/autofill/FillRequest;Landroid/os/CancellationSignal;Landroid/service/autofill/FillCallback;)V"/>
+		<method name="onSaveRequest(Landroid/service/autofill/SaveRequest;Landroid/service/autofill/SaveCallback;)V"/>
+		<method name="onSavedDatasetsInfoRequest(Landroid/service/autofill/SavedDatasetsInfoCallback;)V" since="31"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/service/autofill/BatchUpdates" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/BatchUpdates$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/service/autofill/BatchUpdates;"/>
+		<method name="transformChild(ILandroid/service/autofill/Transformation;)Landroid/service/autofill/BatchUpdates$Builder;"/>
+		<method name="updateTemplate(Landroid/widget/RemoteViews;)Landroid/service/autofill/BatchUpdates$Builder;"/>
+	</class>
+	<class name="android/service/autofill/CharSequenceTransformation" since="27">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="android/service/autofill/Transformation"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/CharSequenceTransformation$Builder" since="27">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/autofill/AutofillId;Ljava/util/regex/Pattern;Ljava/lang/String;)V"/>
+		<method name="addField(Landroid/view/autofill/AutofillId;Ljava/util/regex/Pattern;Ljava/lang/String;)Landroid/service/autofill/CharSequenceTransformation$Builder;"/>
+		<method name="build()Landroid/service/autofill/CharSequenceTransformation;"/>
+	</class>
+	<class name="android/service/autofill/CustomDescription" since="27">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/CustomDescription$Builder" since="27">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/widget/RemoteViews;)V"/>
+		<method name="addChild(ILandroid/service/autofill/Transformation;)Landroid/service/autofill/CustomDescription$Builder;"/>
+		<method name="addOnClickAction(ILandroid/service/autofill/OnClickAction;)Landroid/service/autofill/CustomDescription$Builder;" since="29"/>
+		<method name="batchUpdate(Landroid/service/autofill/Validator;Landroid/service/autofill/BatchUpdates;)Landroid/service/autofill/CustomDescription$Builder;" since="28"/>
+		<method name="build()Landroid/service/autofill/CustomDescription;"/>
+	</class>
+	<class name="android/service/autofill/Dataset" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/Dataset$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/widget/RemoteViews;)V"/>
+		<method name="build()Landroid/service/autofill/Dataset;"/>
+		<method name="setAuthentication(Landroid/content/IntentSender;)Landroid/service/autofill/Dataset$Builder;"/>
+		<method name="setId(Ljava/lang/String;)Landroid/service/autofill/Dataset$Builder;"/>
+		<method name="setInlinePresentation(Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="30"/>
+		<method name="setInlinePresentation(Landroid/service/autofill/InlinePresentation;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="31"/>
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;)Landroid/service/autofill/Dataset$Builder;"/>
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Landroid/widget/RemoteViews;)Landroid/service/autofill/Dataset$Builder;"/>
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="30"/>
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="31"/>
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Ljava/util/regex/Pattern;)Landroid/service/autofill/Dataset$Builder;" since="28"/>
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Ljava/util/regex/Pattern;Landroid/widget/RemoteViews;)Landroid/service/autofill/Dataset$Builder;" since="28"/>
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Ljava/util/regex/Pattern;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="30"/>
+		<method name="setValue(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Ljava/util/regex/Pattern;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/Dataset$Builder;" since="31"/>
+	</class>
+	<class name="android/service/autofill/DateTransformation" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="android/service/autofill/Transformation"/>
+		<method name="&lt;init>(Landroid/view/autofill/AutofillId;Landroid/icu/text/DateFormat;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/DateValueSanitizer" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="android/service/autofill/Sanitizer"/>
+		<method name="&lt;init>(Landroid/icu/text/DateFormat;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/FieldClassification" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getMatches()Ljava/util/List;"/>
+	</class>
+	<class name="android/service/autofill/FieldClassification$Match" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getCategoryId()Ljava/lang/String;"/>
+		<method name="getScore()F"/>
+	</class>
+	<class name="android/service/autofill/FillCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="onFailure(Ljava/lang/CharSequence;)V"/>
+		<method name="onSuccess(Landroid/service/autofill/FillResponse;)V"/>
+	</class>
+	<class name="android/service/autofill/FillContext" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getFocusedId()Landroid/view/autofill/AutofillId;" since="29"/>
+		<method name="getRequestId()I"/>
+		<method name="getStructure()Landroid/app/assist/AssistStructure;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/FillEventHistory" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getClientState()Landroid/os/Bundle;" deprecated="28"/>
+		<method name="getEvents()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/FillEventHistory$Event" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getChangedFields()Ljava/util/Map;" since="28"/>
+		<method name="getClientState()Landroid/os/Bundle;" since="28"/>
+		<method name="getDatasetId()Ljava/lang/String;"/>
+		<method name="getFieldsClassification()Ljava/util/Map;" since="28"/>
+		<method name="getIgnoredDatasetIds()Ljava/util/Set;" since="28"/>
+		<method name="getManuallyEnteredField()Ljava/util/Map;" since="28"/>
+		<method name="getNoSaveUiReason()I" since="31"/>
+		<method name="getSelectedDatasetIds()Ljava/util/Set;" since="28"/>
+		<method name="getType()I"/>
+		<field name="NO_SAVE_UI_REASON_DATASET_MATCH" since="31"/>
+		<field name="NO_SAVE_UI_REASON_FIELD_VALIDATION_FAILED" since="31"/>
+		<field name="NO_SAVE_UI_REASON_HAS_EMPTY_REQUIRED" since="31"/>
+		<field name="NO_SAVE_UI_REASON_NONE" since="31"/>
+		<field name="NO_SAVE_UI_REASON_NO_SAVE_INFO" since="31"/>
+		<field name="NO_SAVE_UI_REASON_NO_VALUE_CHANGED" since="31"/>
+		<field name="NO_SAVE_UI_REASON_WITH_DELAY_SAVE_FLAG" since="31"/>
+		<field name="TYPE_AUTHENTICATION_SELECTED"/>
+		<field name="TYPE_CONTEXT_COMMITTED" since="28"/>
+		<field name="TYPE_DATASETS_SHOWN" since="30"/>
+		<field name="TYPE_DATASET_AUTHENTICATION_SELECTED"/>
+		<field name="TYPE_DATASET_SELECTED"/>
+		<field name="TYPE_SAVE_SHOWN"/>
+	</class>
+	<class name="android/service/autofill/FillRequest" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getClientState()Landroid/os/Bundle;"/>
+		<method name="getFillContexts()Ljava/util/List;"/>
+		<method name="getFlags()I"/>
+		<method name="getId()I"/>
+		<method name="getInlineSuggestionsRequest()Landroid/view/inputmethod/InlineSuggestionsRequest;" since="30"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_COMPATIBILITY_MODE_REQUEST" since="29"/>
+		<field name="FLAG_MANUAL_REQUEST"/>
+	</class>
+	<class name="android/service/autofill/FillResponse" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_DISABLE_ACTIVITY_ONLY" since="28"/>
+		<field name="FLAG_TRACK_CONTEXT_COMMITED" since="28"/>
+	</class>
+	<class name="android/service/autofill/FillResponse$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addDataset(Landroid/service/autofill/Dataset;)Landroid/service/autofill/FillResponse$Builder;"/>
+		<method name="build()Landroid/service/autofill/FillResponse;"/>
+		<method name="disableAutofill(J)Landroid/service/autofill/FillResponse$Builder;" since="28"/>
+		<method name="setAuthentication([Landroid/view/autofill/AutofillId;Landroid/content/IntentSender;Landroid/widget/RemoteViews;)Landroid/service/autofill/FillResponse$Builder;"/>
+		<method name="setAuthentication([Landroid/view/autofill/AutofillId;Landroid/content/IntentSender;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/FillResponse$Builder;" since="30"/>
+		<method name="setAuthentication([Landroid/view/autofill/AutofillId;Landroid/content/IntentSender;Landroid/widget/RemoteViews;Landroid/service/autofill/InlinePresentation;Landroid/service/autofill/InlinePresentation;)Landroid/service/autofill/FillResponse$Builder;" since="31"/>
+		<method name="setClientState(Landroid/os/Bundle;)Landroid/service/autofill/FillResponse$Builder;"/>
+		<method name="setFieldClassificationIds([Landroid/view/autofill/AutofillId;)Landroid/service/autofill/FillResponse$Builder;" since="28"/>
+		<method name="setFlags(I)Landroid/service/autofill/FillResponse$Builder;" since="28"/>
+		<method name="setFooter(Landroid/widget/RemoteViews;)Landroid/service/autofill/FillResponse$Builder;" since="28"/>
+		<method name="setHeader(Landroid/widget/RemoteViews;)Landroid/service/autofill/FillResponse$Builder;" since="28"/>
+		<method name="setIgnoredIds([Landroid/view/autofill/AutofillId;)Landroid/service/autofill/FillResponse$Builder;"/>
+		<method name="setPresentationCancelIds([I)Landroid/service/autofill/FillResponse$Builder;" since="30"/>
+		<method name="setSaveInfo(Landroid/service/autofill/SaveInfo;)Landroid/service/autofill/FillResponse$Builder;"/>
+		<method name="setUserData(Landroid/service/autofill/UserData;)Landroid/service/autofill/FillResponse$Builder;" since="29"/>
+	</class>
+	<class name="android/service/autofill/ImageTransformation" since="27">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="android/service/autofill/Transformation"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/ImageTransformation$Builder" since="27">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/autofill/AutofillId;Ljava/util/regex/Pattern;I)V" deprecated="28"/>
+		<method name="&lt;init>(Landroid/view/autofill/AutofillId;Ljava/util/regex/Pattern;ILjava/lang/CharSequence;)V" since="28"/>
+		<method name="addOption(Ljava/util/regex/Pattern;I)Landroid/service/autofill/ImageTransformation$Builder;" deprecated="28"/>
+		<method name="addOption(Ljava/util/regex/Pattern;ILjava/lang/CharSequence;)Landroid/service/autofill/ImageTransformation$Builder;" since="28"/>
+		<method name="build()Landroid/service/autofill/ImageTransformation;"/>
+	</class>
+	<class name="android/service/autofill/InlinePresentation" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/app/slice/Slice;Landroid/widget/inline/InlinePresentationSpec;Z)V"/>
+		<method name="createTooltipPresentation(Landroid/app/slice/Slice;Landroid/widget/inline/InlinePresentationSpec;)Landroid/service/autofill/InlinePresentation;" since="31"/>
+		<method name="getInlinePresentationSpec()Landroid/widget/inline/InlinePresentationSpec;"/>
+		<method name="getSlice()Landroid/app/slice/Slice;"/>
+		<method name="isPinned()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/LuhnChecksumValidator" since="27">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="android/service/autofill/Validator"/>
+		<method name="&lt;init>([Landroid/view/autofill/AutofillId;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/OnClickAction" since="29">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/service/autofill/RegexValidator" since="27">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="android/service/autofill/Validator"/>
+		<method name="&lt;init>(Landroid/view/autofill/AutofillId;Ljava/util/regex/Pattern;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/Sanitizer" since="28">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/service/autofill/SaveCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="onFailure(Ljava/lang/CharSequence;)V"/>
+		<method name="onSuccess()V"/>
+		<method name="onSuccess(Landroid/content/IntentSender;)V" since="28"/>
+	</class>
+	<class name="android/service/autofill/SaveInfo" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_DELAY_SAVE" since="29"/>
+		<field name="FLAG_DONT_SAVE_ON_FINISH" since="28"/>
+		<field name="FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE"/>
+		<field name="NEGATIVE_BUTTON_STYLE_CANCEL"/>
+		<field name="NEGATIVE_BUTTON_STYLE_NEVER" since="30"/>
+		<field name="NEGATIVE_BUTTON_STYLE_REJECT"/>
+		<field name="POSITIVE_BUTTON_STYLE_CONTINUE" since="30"/>
+		<field name="POSITIVE_BUTTON_STYLE_SAVE" since="30"/>
+		<field name="SAVE_DATA_TYPE_ADDRESS"/>
+		<field name="SAVE_DATA_TYPE_CREDIT_CARD"/>
+		<field name="SAVE_DATA_TYPE_DEBIT_CARD" since="30"/>
+		<field name="SAVE_DATA_TYPE_EMAIL_ADDRESS"/>
+		<field name="SAVE_DATA_TYPE_GENERIC"/>
+		<field name="SAVE_DATA_TYPE_GENERIC_CARD" since="30"/>
+		<field name="SAVE_DATA_TYPE_PASSWORD"/>
+		<field name="SAVE_DATA_TYPE_PAYMENT_CARD" since="30"/>
+		<field name="SAVE_DATA_TYPE_USERNAME"/>
+	</class>
+	<class name="android/service/autofill/SaveInfo$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V" since="27"/>
+		<method name="&lt;init>(I[Landroid/view/autofill/AutofillId;)V"/>
+		<method name="addSanitizer(Landroid/service/autofill/Sanitizer;[Landroid/view/autofill/AutofillId;)Landroid/service/autofill/SaveInfo$Builder;" since="28"/>
+		<method name="build()Landroid/service/autofill/SaveInfo;"/>
+		<method name="setCustomDescription(Landroid/service/autofill/CustomDescription;)Landroid/service/autofill/SaveInfo$Builder;" since="27"/>
+		<method name="setDescription(Ljava/lang/CharSequence;)Landroid/service/autofill/SaveInfo$Builder;"/>
+		<method name="setFlags(I)Landroid/service/autofill/SaveInfo$Builder;"/>
+		<method name="setNegativeAction(ILandroid/content/IntentSender;)Landroid/service/autofill/SaveInfo$Builder;"/>
+		<method name="setOptionalIds([Landroid/view/autofill/AutofillId;)Landroid/service/autofill/SaveInfo$Builder;"/>
+		<method name="setPositiveAction(I)Landroid/service/autofill/SaveInfo$Builder;" since="30"/>
+		<method name="setTriggerId(Landroid/view/autofill/AutofillId;)Landroid/service/autofill/SaveInfo$Builder;" since="28"/>
+		<method name="setValidator(Landroid/service/autofill/Validator;)Landroid/service/autofill/SaveInfo$Builder;" since="27"/>
+	</class>
+	<class name="android/service/autofill/SaveRequest" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getClientState()Landroid/os/Bundle;"/>
+		<method name="getDatasetIds()Ljava/util/List;" since="28"/>
+		<method name="getFillContexts()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/SavedDatasetsInfo" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="getCount()I"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_PASSWORDS"/>
+	</class>
+	<class name="android/service/autofill/SavedDatasetsInfoCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onError(I)V"/>
+		<method name="onSuccess(Ljava/util/Set;)V"/>
+		<field name="ERROR_NEEDS_USER_ACTION"/>
+		<field name="ERROR_OTHER"/>
+		<field name="ERROR_UNSUPPORTED"/>
+	</class>
+	<class name="android/service/autofill/TextValueSanitizer" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="android/service/autofill/Sanitizer"/>
+		<method name="&lt;init>(Ljava/util/regex/Pattern;Ljava/lang/String;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/Transformation" since="27">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/service/autofill/UserData" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getFieldClassificationAlgorithm()Ljava/lang/String;"/>
+		<method name="getFieldClassificationAlgorithmForCategory(Ljava/lang/String;)Ljava/lang/String;" since="29"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getMaxCategoryCount()I"/>
+		<method name="getMaxFieldClassificationIdsSize()I"/>
+		<method name="getMaxUserDataSize()I"/>
+		<method name="getMaxValueLength()I"/>
+		<method name="getMinValueLength()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/UserData$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="add(Ljava/lang/String;Ljava/lang/String;)Landroid/service/autofill/UserData$Builder;"/>
+		<method name="build()Landroid/service/autofill/UserData;"/>
+		<method name="setFieldClassificationAlgorithm(Ljava/lang/String;Landroid/os/Bundle;)Landroid/service/autofill/UserData$Builder;"/>
+		<method name="setFieldClassificationAlgorithmForCategory(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/service/autofill/UserData$Builder;" since="29"/>
+	</class>
+	<class name="android/service/autofill/Validator" since="27">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/service/autofill/Validators" since="27">
+		<extends name="java/lang/Object"/>
+		<method name="and([Landroid/service/autofill/Validator;)Landroid/service/autofill/Validator;"/>
+		<method name="not(Landroid/service/autofill/Validator;)Landroid/service/autofill/Validator;" since="28"/>
+		<method name="or([Landroid/service/autofill/Validator;)Landroid/service/autofill/Validator;"/>
+	</class>
+	<class name="android/service/autofill/VisibilitySetterAction" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="android/service/autofill/OnClickAction"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/autofill/VisibilitySetterAction$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="build()Landroid/service/autofill/VisibilitySetterAction;"/>
+		<method name="setVisibility(II)Landroid/service/autofill/VisibilitySetterAction$Builder;"/>
+	</class>
+	<class name="android/service/carrier/CarrierIdentifier" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V" since="29"/>
+		<method name="&lt;init>([BLjava/lang/String;Ljava/lang/String;)V" since="28"/>
+		<method name="getCarrierId()I" since="29"/>
+		<method name="getGid1()Ljava/lang/String;"/>
+		<method name="getGid2()Ljava/lang/String;"/>
+		<method name="getImsi()Ljava/lang/String;"/>
+		<method name="getMcc()Ljava/lang/String;"/>
+		<method name="getMnc()Ljava/lang/String;"/>
+		<method name="getSpecificCarrierId()I" since="29"/>
+		<method name="getSpn()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/carrier/CarrierMessagingClientService" since="29">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/service/carrier/CarrierMessagingService" since="22">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onDownloadMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/CarrierMessagingService$ResultCallback;)V"/>
+		<method name="onFilterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" deprecated="24"/>
+		<method name="onReceiveTextSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" since="24"/>
+		<method name="onSendDataSms([BILjava/lang/String;IILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" since="23"/>
+		<method name="onSendDataSms([BILjava/lang/String;ILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" deprecated="23"/>
+		<method name="onSendMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/CarrierMessagingService$ResultCallback;)V"/>
+		<method name="onSendMultipartTextSms(Ljava/util/List;ILjava/lang/String;ILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" since="23"/>
+		<method name="onSendMultipartTextSms(Ljava/util/List;ILjava/lang/String;Landroid/service/carrier/CarrierMessagingService$ResultCallback;)V" deprecated="23"/>
+		<method name="onSendTextSms(Ljava/lang/String;ILjava/lang/String;ILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V" since="23"/>
+		<method name="onSendTextSms(Ljava/lang/String;ILjava/lang/String;Landroid/service/carrier/CarrierMessagingService$ResultCallback;)V" deprecated="23"/>
+		<field name="DOWNLOAD_STATUS_ERROR"/>
+		<field name="DOWNLOAD_STATUS_OK"/>
+		<field name="DOWNLOAD_STATUS_RETRY_ON_CARRIER_NETWORK"/>
+		<field name="RECEIVE_OPTIONS_DEFAULT" since="24"/>
+		<field name="RECEIVE_OPTIONS_DROP" since="24"/>
+		<field name="RECEIVE_OPTIONS_SKIP_NOTIFY_WHEN_CREDENTIAL_PROTECTED_STORAGE_UNAVAILABLE" since="24"/>
+		<field name="SEND_FLAG_REQUEST_DELIVERY_STATUS" since="23"/>
+		<field name="SEND_STATUS_ERROR"/>
+		<field name="SEND_STATUS_OK"/>
+		<field name="SEND_STATUS_RETRY_ON_CARRIER_NETWORK"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/service/carrier/CarrierMessagingService$ResultCallback" since="22">
+		<extends name="java/lang/Object"/>
+		<method name="onReceiveResult(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/service/carrier/CarrierMessagingService$SendMmsResult" since="22">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I[B)V"/>
+		<method name="getSendConfPdu()[B"/>
+		<method name="getSendStatus()I"/>
+	</class>
+	<class name="android/service/carrier/CarrierMessagingService$SendMultipartSmsResult" since="22">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I[I)V"/>
+		<method name="getMessageRefs()[I"/>
+		<method name="getSendStatus()I"/>
+	</class>
+	<class name="android/service/carrier/CarrierMessagingService$SendSmsResult" since="22">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getMessageRef()I"/>
+		<method name="getSendStatus()I"/>
+	</class>
+	<class name="android/service/carrier/CarrierService" since="23">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="notifyCarrierNetworkChange(Z)V"/>
+		<method name="onLoadConfig(Landroid/service/carrier/CarrierIdentifier;)Landroid/os/PersistableBundle;"/>
+		<field name="CARRIER_SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/service/carrier/MessagePdu" since="22">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/util/List;)V"/>
+		<method name="getPdus()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/chooser/ChooserTarget" since="23" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Landroid/graphics/drawable/Icon;FLandroid/content/ComponentName;Landroid/os/Bundle;)V" deprecated="30"/>
+		<method name="getComponentName()Landroid/content/ComponentName;" deprecated="30"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;" deprecated="30"/>
+		<method name="getIntentExtras()Landroid/os/Bundle;" deprecated="30"/>
+		<method name="getScore()F" deprecated="30"/>
+		<method name="getTitle()Ljava/lang/CharSequence;" deprecated="30"/>
+		<field name="CREATOR" deprecated="30"/>
+	</class>
+	<class name="android/service/chooser/ChooserTargetService" since="23" deprecated="30">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="onGetChooserTargets(Landroid/content/ComponentName;Landroid/content/IntentFilter;)Ljava/util/List;" deprecated="30"/>
+		<field name="BIND_PERMISSION" deprecated="30"/>
+		<field name="META_DATA_NAME" deprecated="30"/>
+		<field name="SERVICE_INTERFACE" deprecated="30"/>
+	</class>
+	<class name="android/service/controls/Control" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAppIntent()Landroid/app/PendingIntent;"/>
+		<method name="getControlId()Ljava/lang/String;"/>
+		<method name="getControlTemplate()Landroid/service/controls/templates/ControlTemplate;"/>
+		<method name="getCustomColor()Landroid/content/res/ColorStateList;"/>
+		<method name="getCustomIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getDeviceType()I"/>
+		<method name="getStatus()I"/>
+		<method name="getStatusText()Ljava/lang/CharSequence;"/>
+		<method name="getStructure()Ljava/lang/CharSequence;"/>
+		<method name="getSubtitle()Ljava/lang/CharSequence;"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<method name="getZone()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+		<field name="STATUS_DISABLED"/>
+		<field name="STATUS_ERROR"/>
+		<field name="STATUS_NOT_FOUND"/>
+		<field name="STATUS_OK"/>
+		<field name="STATUS_UNKNOWN"/>
+	</class>
+	<class name="android/service/controls/Control$StatefulBuilder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/service/controls/Control;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/app/PendingIntent;)V"/>
+		<method name="build()Landroid/service/controls/Control;"/>
+		<method name="setAppIntent(Landroid/app/PendingIntent;)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setControlId(Ljava/lang/String;)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setControlTemplate(Landroid/service/controls/templates/ControlTemplate;)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setCustomColor(Landroid/content/res/ColorStateList;)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setCustomIcon(Landroid/graphics/drawable/Icon;)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setDeviceType(I)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setStatus(I)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setStatusText(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setStructure(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setSubtitle(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatefulBuilder;"/>
+		<method name="setZone(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatefulBuilder;"/>
+	</class>
+	<class name="android/service/controls/Control$StatelessBuilder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/service/controls/Control;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/app/PendingIntent;)V"/>
+		<method name="build()Landroid/service/controls/Control;"/>
+		<method name="setAppIntent(Landroid/app/PendingIntent;)Landroid/service/controls/Control$StatelessBuilder;"/>
+		<method name="setControlId(Ljava/lang/String;)Landroid/service/controls/Control$StatelessBuilder;"/>
+		<method name="setCustomColor(Landroid/content/res/ColorStateList;)Landroid/service/controls/Control$StatelessBuilder;"/>
+		<method name="setCustomIcon(Landroid/graphics/drawable/Icon;)Landroid/service/controls/Control$StatelessBuilder;"/>
+		<method name="setDeviceType(I)Landroid/service/controls/Control$StatelessBuilder;"/>
+		<method name="setStructure(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatelessBuilder;"/>
+		<method name="setSubtitle(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatelessBuilder;"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatelessBuilder;"/>
+		<method name="setZone(Ljava/lang/CharSequence;)Landroid/service/controls/Control$StatelessBuilder;"/>
+	</class>
+	<class name="android/service/controls/ControlsProviderService" since="30">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="createPublisherFor(Ljava/util/List;)Ljava/util/concurrent/Flow$Publisher;"/>
+		<method name="createPublisherForAllAvailable()Ljava/util/concurrent/Flow$Publisher;"/>
+		<method name="createPublisherForSuggested()Ljava/util/concurrent/Flow$Publisher;"/>
+		<method name="performControlAction(Ljava/lang/String;Landroid/service/controls/actions/ControlAction;Ljava/util/function/Consumer;)V"/>
+		<method name="requestAddControl(Landroid/content/Context;Landroid/content/ComponentName;Landroid/service/controls/Control;)V"/>
+		<field name="SERVICE_CONTROLS"/>
+		<field name="TAG"/>
+	</class>
+	<class name="android/service/controls/DeviceTypes" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="validDeviceType(I)Z"/>
+		<field name="TYPE_AC_HEATER"/>
+		<field name="TYPE_AC_UNIT"/>
+		<field name="TYPE_AIR_FRESHENER"/>
+		<field name="TYPE_AIR_PURIFIER"/>
+		<field name="TYPE_AWNING"/>
+		<field name="TYPE_BLINDS"/>
+		<field name="TYPE_CAMERA"/>
+		<field name="TYPE_CLOSET"/>
+		<field name="TYPE_COFFEE_MAKER"/>
+		<field name="TYPE_CURTAIN"/>
+		<field name="TYPE_DEHUMIDIFIER"/>
+		<field name="TYPE_DISHWASHER"/>
+		<field name="TYPE_DISPLAY"/>
+		<field name="TYPE_DOOR"/>
+		<field name="TYPE_DOORBELL"/>
+		<field name="TYPE_DRAWER"/>
+		<field name="TYPE_DRYER"/>
+		<field name="TYPE_FAN"/>
+		<field name="TYPE_GARAGE"/>
+		<field name="TYPE_GATE"/>
+		<field name="TYPE_GENERIC_ARM_DISARM"/>
+		<field name="TYPE_GENERIC_LOCK_UNLOCK"/>
+		<field name="TYPE_GENERIC_ON_OFF"/>
+		<field name="TYPE_GENERIC_OPEN_CLOSE"/>
+		<field name="TYPE_GENERIC_START_STOP"/>
+		<field name="TYPE_GENERIC_TEMP_SETTING"/>
+		<field name="TYPE_GENERIC_VIEWSTREAM"/>
+		<field name="TYPE_HEATER"/>
+		<field name="TYPE_HOOD"/>
+		<field name="TYPE_HUMIDIFIER"/>
+		<field name="TYPE_KETTLE"/>
+		<field name="TYPE_LIGHT"/>
+		<field name="TYPE_LOCK"/>
+		<field name="TYPE_MICROWAVE"/>
+		<field name="TYPE_MOP"/>
+		<field name="TYPE_MOWER"/>
+		<field name="TYPE_MULTICOOKER"/>
+		<field name="TYPE_OUTLET"/>
+		<field name="TYPE_PERGOLA"/>
+		<field name="TYPE_RADIATOR"/>
+		<field name="TYPE_REFRIGERATOR"/>
+		<field name="TYPE_REMOTE_CONTROL"/>
+		<field name="TYPE_ROUTINE"/>
+		<field name="TYPE_SECURITY_SYSTEM"/>
+		<field name="TYPE_SET_TOP"/>
+		<field name="TYPE_SHOWER"/>
+		<field name="TYPE_SHUTTER"/>
+		<field name="TYPE_SPRINKLER"/>
+		<field name="TYPE_STANDMIXER"/>
+		<field name="TYPE_STYLER"/>
+		<field name="TYPE_SWITCH"/>
+		<field name="TYPE_THERMOSTAT"/>
+		<field name="TYPE_TV"/>
+		<field name="TYPE_UNKNOWN"/>
+		<field name="TYPE_VACUUM"/>
+		<field name="TYPE_VALVE"/>
+		<field name="TYPE_WASHER"/>
+		<field name="TYPE_WATER_HEATER"/>
+		<field name="TYPE_WINDOW"/>
+	</class>
+	<class name="android/service/controls/actions/BooleanAction" since="30">
+		<extends name="android/service/controls/actions/ControlAction"/>
+		<method name="&lt;init>(Ljava/lang/String;Z)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ZLjava/lang/String;)V"/>
+		<method name="getNewState()Z"/>
+	</class>
+	<class name="android/service/controls/actions/CommandAction" since="30">
+		<extends name="android/service/controls/actions/ControlAction"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/service/controls/actions/ControlAction" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getActionType()I"/>
+		<method name="getChallengeValue()Ljava/lang/String;"/>
+		<method name="getErrorAction()Landroid/service/controls/actions/ControlAction;"/>
+		<method name="getTemplateId()Ljava/lang/String;"/>
+		<method name="isValidResponse(I)Z"/>
+		<field name="RESPONSE_CHALLENGE_ACK"/>
+		<field name="RESPONSE_CHALLENGE_PASSPHRASE"/>
+		<field name="RESPONSE_CHALLENGE_PIN"/>
+		<field name="RESPONSE_FAIL"/>
+		<field name="RESPONSE_OK"/>
+		<field name="RESPONSE_UNKNOWN"/>
+		<field name="TYPE_BOOLEAN"/>
+		<field name="TYPE_COMMAND"/>
+		<field name="TYPE_ERROR"/>
+		<field name="TYPE_FLOAT"/>
+		<field name="TYPE_MODE"/>
+	</class>
+	<class name="android/service/controls/actions/FloatAction" since="30">
+		<extends name="android/service/controls/actions/ControlAction"/>
+		<method name="&lt;init>(Ljava/lang/String;F)V"/>
+		<method name="&lt;init>(Ljava/lang/String;FLjava/lang/String;)V"/>
+		<method name="getNewValue()F"/>
+	</class>
+	<class name="android/service/controls/actions/ModeAction" since="30">
+		<extends name="android/service/controls/actions/ControlAction"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="getNewMode()I"/>
+	</class>
+	<class name="android/service/controls/templates/ControlButton" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(ZLjava/lang/CharSequence;)V"/>
+		<method name="getActionDescription()Ljava/lang/CharSequence;"/>
+		<method name="isChecked()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/controls/templates/ControlTemplate" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getErrorTemplate()Landroid/service/controls/templates/ControlTemplate;"/>
+		<method name="getNoTemplateObject()Landroid/service/controls/templates/ControlTemplate;"/>
+		<method name="getTemplateId()Ljava/lang/String;"/>
+		<method name="getTemplateType()I"/>
+		<field name="TYPE_ERROR"/>
+		<field name="TYPE_NO_TEMPLATE"/>
+		<field name="TYPE_RANGE"/>
+		<field name="TYPE_STATELESS"/>
+		<field name="TYPE_TEMPERATURE"/>
+		<field name="TYPE_THUMBNAIL" since="31"/>
+		<field name="TYPE_TOGGLE"/>
+		<field name="TYPE_TOGGLE_RANGE"/>
+	</class>
+	<class name="android/service/controls/templates/RangeTemplate" since="30">
+		<extends name="android/service/controls/templates/ControlTemplate"/>
+		<method name="&lt;init>(Ljava/lang/String;FFFFLjava/lang/CharSequence;)V"/>
+		<method name="getCurrentValue()F"/>
+		<method name="getFormatString()Ljava/lang/CharSequence;"/>
+		<method name="getMaxValue()F"/>
+		<method name="getMinValue()F"/>
+		<method name="getStepValue()F"/>
+	</class>
+	<class name="android/service/controls/templates/StatelessTemplate" since="30">
+		<extends name="android/service/controls/templates/ControlTemplate"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/service/controls/templates/TemperatureControlTemplate" since="30">
+		<extends name="android/service/controls/templates/ControlTemplate"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/service/controls/templates/ControlTemplate;III)V"/>
+		<method name="getCurrentActiveMode()I"/>
+		<method name="getCurrentMode()I"/>
+		<method name="getModes()I"/>
+		<method name="getTemplate()Landroid/service/controls/templates/ControlTemplate;"/>
+		<field name="FLAG_MODE_COOL"/>
+		<field name="FLAG_MODE_ECO"/>
+		<field name="FLAG_MODE_HEAT"/>
+		<field name="FLAG_MODE_HEAT_COOL"/>
+		<field name="FLAG_MODE_OFF"/>
+		<field name="MODE_COOL"/>
+		<field name="MODE_ECO"/>
+		<field name="MODE_HEAT"/>
+		<field name="MODE_HEAT_COOL"/>
+		<field name="MODE_OFF"/>
+		<field name="MODE_UNKNOWN"/>
+	</class>
+	<class name="android/service/controls/templates/ThumbnailTemplate" since="31">
+		<extends name="android/service/controls/templates/ControlTemplate"/>
+		<method name="&lt;init>(Ljava/lang/String;ZLandroid/graphics/drawable/Icon;Ljava/lang/CharSequence;)V"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;"/>
+		<method name="getThumbnail()Landroid/graphics/drawable/Icon;"/>
+		<method name="isActive()Z"/>
+	</class>
+	<class name="android/service/controls/templates/ToggleRangeTemplate" since="30">
+		<extends name="android/service/controls/templates/ControlTemplate"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/service/controls/templates/ControlButton;Landroid/service/controls/templates/RangeTemplate;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ZLjava/lang/CharSequence;Landroid/service/controls/templates/RangeTemplate;)V"/>
+		<method name="getActionDescription()Ljava/lang/CharSequence;"/>
+		<method name="getRange()Landroid/service/controls/templates/RangeTemplate;"/>
+		<method name="isChecked()Z"/>
+	</class>
+	<class name="android/service/controls/templates/ToggleTemplate" since="30">
+		<extends name="android/service/controls/templates/ControlTemplate"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/service/controls/templates/ControlButton;)V"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;"/>
+		<method name="isChecked()Z"/>
+	</class>
+	<class name="android/service/dreams/DreamService" since="17">
+		<extends name="android/app/Service"/>
+		<implements name="android/view/Window$Callback"/>
+		<method name="&lt;init>()V"/>
+		<method name="addContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="findViewById(I)Landroid/view/View;"/>
+		<method name="finish()V"/>
+		<method name="getWindow()Landroid/view/Window;"/>
+		<method name="getWindowManager()Landroid/view/WindowManager;"/>
+		<method name="isFullscreen()Z"/>
+		<method name="isInteractive()Z"/>
+		<method name="isScreenBright()Z"/>
+		<method name="onDreamingStarted()V"/>
+		<method name="onDreamingStopped()V"/>
+		<method name="onWakeUp()V" since="21"/>
+		<method name="requireViewById(I)Landroid/view/View;" since="28"/>
+		<method name="setContentView(I)V"/>
+		<method name="setContentView(Landroid/view/View;)V"/>
+		<method name="setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="setFullscreen(Z)V"/>
+		<method name="setInteractive(Z)V"/>
+		<method name="setScreenBright(Z)V"/>
+		<method name="wakeUp()V" since="21"/>
+		<field name="DREAM_META_DATA"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/service/media/CameraPrewarmService" since="23">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCooldown(Z)V"/>
+		<method name="onPrewarm()V"/>
+	</class>
+	<class name="android/service/media/MediaBrowserService" since="21">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="getBrowserRootHints()Landroid/os/Bundle;" since="24"/>
+		<method name="getCurrentBrowserInfo()Landroid/media/session/MediaSessionManager$RemoteUserInfo;" since="28"/>
+		<method name="getSessionToken()Landroid/media/session/MediaSession$Token;"/>
+		<method name="notifyChildrenChanged(Ljava/lang/String;)V"/>
+		<method name="notifyChildrenChanged(Ljava/lang/String;Landroid/os/Bundle;)V" since="24"/>
+		<method name="onGetRoot(Ljava/lang/String;ILandroid/os/Bundle;)Landroid/service/media/MediaBrowserService$BrowserRoot;"/>
+		<method name="onLoadChildren(Ljava/lang/String;Landroid/service/media/MediaBrowserService$Result;)V"/>
+		<method name="onLoadChildren(Ljava/lang/String;Landroid/service/media/MediaBrowserService$Result;Landroid/os/Bundle;)V" since="24"/>
+		<method name="onLoadItem(Ljava/lang/String;Landroid/service/media/MediaBrowserService$Result;)V" since="23"/>
+		<method name="setSessionToken(Landroid/media/session/MediaSession$Token;)V"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/service/media/MediaBrowserService$BrowserRoot" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getRootId()Ljava/lang/String;"/>
+		<field name="EXTRA_OFFLINE" since="24"/>
+		<field name="EXTRA_RECENT" since="24"/>
+		<field name="EXTRA_SUGGESTED" since="24"/>
+	</class>
+	<class name="android/service/media/MediaBrowserService$Result" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="detach()V"/>
+		<method name="sendResult(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/service/notification/Condition" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/net/Uri;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="copy()Landroid/service/notification/Condition;"/>
+		<method name="isValidId(Landroid/net/Uri;Ljava/lang/String;)Z"/>
+		<method name="newId(Landroid/content/Context;)Landroid/net/Uri$Builder;"/>
+		<method name="relevanceToString(I)Ljava/lang/String;"/>
+		<method name="stateToString(I)Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_RELEVANT_ALWAYS"/>
+		<field name="FLAG_RELEVANT_NOW"/>
+		<field name="SCHEME"/>
+		<field name="STATE_ERROR"/>
+		<field name="STATE_FALSE"/>
+		<field name="STATE_TRUE"/>
+		<field name="STATE_UNKNOWN"/>
+		<field name="flags"/>
+		<field name="icon"/>
+		<field name="id"/>
+		<field name="line1"/>
+		<field name="line2"/>
+		<field name="state"/>
+		<field name="summary"/>
+	</class>
+	<class name="android/service/notification/ConditionProviderService" since="24" deprecated="29">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="notifyCondition(Landroid/service/notification/Condition;)V" deprecated="29"/>
+		<method name="notifyConditions([Landroid/service/notification/Condition;)V" deprecated="29"/>
+		<method name="onConnected()V" deprecated="29"/>
+		<method name="onRequestConditions(I)V" deprecated="29"/>
+		<method name="onSubscribe(Landroid/net/Uri;)V" deprecated="29"/>
+		<method name="onUnsubscribe(Landroid/net/Uri;)V" deprecated="29"/>
+		<method name="requestRebind(Landroid/content/ComponentName;)V" since="26" deprecated="29"/>
+		<method name="requestUnbind()V" since="26" deprecated="29"/>
+		<field name="EXTRA_RULE_ID" deprecated="29"/>
+		<field name="META_DATA_CONFIGURATION_ACTIVITY" deprecated="29"/>
+		<field name="META_DATA_RULE_INSTANCE_LIMIT" deprecated="29"/>
+		<field name="META_DATA_RULE_TYPE" deprecated="29"/>
+		<field name="SERVICE_INTERFACE" deprecated="29"/>
+	</class>
+	<class name="android/service/notification/NotificationListenerService" since="18">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="cancelAllNotifications()V"/>
+		<method name="cancelNotification(Ljava/lang/String;)V" since="21"/>
+		<method name="cancelNotification(Ljava/lang/String;Ljava/lang/String;I)V" deprecated="21"/>
+		<method name="cancelNotifications([Ljava/lang/String;)V" since="21"/>
+		<method name="clearRequestedListenerHints()V" since="29"/>
+		<method name="getActiveNotifications()[Landroid/service/notification/StatusBarNotification;"/>
+		<method name="getActiveNotifications([Ljava/lang/String;)[Landroid/service/notification/StatusBarNotification;" since="21"/>
+		<method name="getCurrentInterruptionFilter()I" since="21"/>
+		<method name="getCurrentListenerHints()I" since="21"/>
+		<method name="getCurrentRanking()Landroid/service/notification/NotificationListenerService$RankingMap;" since="21"/>
+		<method name="getNotificationChannelGroups(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;" since="26"/>
+		<method name="getNotificationChannels(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;" since="26"/>
+		<method name="getSnoozedNotifications()[Landroid/service/notification/StatusBarNotification;" since="26"/>
+		<method name="migrateNotificationFilter(ILjava/util/List;)V" since="31"/>
+		<method name="onInterruptionFilterChanged(I)V" since="21"/>
+		<method name="onListenerConnected()V" since="21"/>
+		<method name="onListenerDisconnected()V" since="24"/>
+		<method name="onListenerHintsChanged(I)V" since="21"/>
+		<method name="onNotificationChannelGroupModified(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V" since="26"/>
+		<method name="onNotificationChannelModified(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V" since="26"/>
+		<method name="onNotificationPosted(Landroid/service/notification/StatusBarNotification;)V"/>
+		<method name="onNotificationPosted(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V" since="21"/>
+		<method name="onNotificationRankingUpdate(Landroid/service/notification/NotificationListenerService$RankingMap;)V" since="21"/>
+		<method name="onNotificationRemoved(Landroid/service/notification/StatusBarNotification;)V"/>
+		<method name="onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;)V" since="21"/>
+		<method name="onNotificationRemoved(Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationListenerService$RankingMap;I)V" since="26"/>
+		<method name="onSilentStatusBarIconsVisibilityChanged(Z)V" since="29"/>
+		<method name="requestInterruptionFilter(I)V" since="21"/>
+		<method name="requestListenerHints(I)V" since="21"/>
+		<method name="requestRebind(Landroid/content/ComponentName;)V" since="24"/>
+		<method name="requestUnbind()V" since="24"/>
+		<method name="setNotificationsShown([Ljava/lang/String;)V" since="23"/>
+		<method name="snoozeNotification(Ljava/lang/String;J)V" since="26"/>
+		<method name="updateNotificationChannel(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;)V" since="26"/>
+		<field name="FLAG_FILTER_TYPE_ALERTING" since="31"/>
+		<field name="FLAG_FILTER_TYPE_CONVERSATIONS" since="31"/>
+		<field name="FLAG_FILTER_TYPE_ONGOING" since="31"/>
+		<field name="FLAG_FILTER_TYPE_SILENT" since="31"/>
+		<field name="HINT_HOST_DISABLE_CALL_EFFECTS" since="24"/>
+		<field name="HINT_HOST_DISABLE_EFFECTS" since="21"/>
+		<field name="HINT_HOST_DISABLE_NOTIFICATION_EFFECTS" since="24"/>
+		<field name="INTERRUPTION_FILTER_ALARMS" since="23"/>
+		<field name="INTERRUPTION_FILTER_ALL" since="21"/>
+		<field name="INTERRUPTION_FILTER_NONE" since="21"/>
+		<field name="INTERRUPTION_FILTER_PRIORITY" since="21"/>
+		<field name="INTERRUPTION_FILTER_UNKNOWN" since="23"/>
+		<field name="META_DATA_DEFAULT_FILTER_TYPES" since="31"/>
+		<field name="META_DATA_DISABLED_FILTER_TYPES" since="31"/>
+		<field name="NOTIFICATION_CHANNEL_OR_GROUP_ADDED" since="26"/>
+		<field name="NOTIFICATION_CHANNEL_OR_GROUP_DELETED" since="26"/>
+		<field name="NOTIFICATION_CHANNEL_OR_GROUP_UPDATED" since="26"/>
+		<field name="REASON_APP_CANCEL" since="26"/>
+		<field name="REASON_APP_CANCEL_ALL" since="26"/>
+		<field name="REASON_CANCEL" since="26"/>
+		<field name="REASON_CANCEL_ALL" since="26"/>
+		<field name="REASON_CHANNEL_BANNED" since="26"/>
+		<field name="REASON_CHANNEL_REMOVED" since="31"/>
+		<field name="REASON_CLEAR_DATA" since="31"/>
+		<field name="REASON_CLICK" since="26"/>
+		<field name="REASON_ERROR" since="26"/>
+		<field name="REASON_GROUP_OPTIMIZATION" since="26"/>
+		<field name="REASON_GROUP_SUMMARY_CANCELED" since="26"/>
+		<field name="REASON_LISTENER_CANCEL" since="26"/>
+		<field name="REASON_LISTENER_CANCEL_ALL" since="26"/>
+		<field name="REASON_PACKAGE_BANNED" since="26"/>
+		<field name="REASON_PACKAGE_CHANGED" since="26"/>
+		<field name="REASON_PACKAGE_SUSPENDED" since="26"/>
+		<field name="REASON_PROFILE_TURNED_OFF" since="26"/>
+		<field name="REASON_SNOOZED" since="26"/>
+		<field name="REASON_TIMEOUT" since="26"/>
+		<field name="REASON_UNAUTOBUNDLED" since="26"/>
+		<field name="REASON_USER_STOPPED" since="26"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SUPPRESSED_EFFECT_SCREEN_OFF" since="24" deprecated="28"/>
+		<field name="SUPPRESSED_EFFECT_SCREEN_ON" since="24" deprecated="28"/>
+	</class>
+	<class name="android/service/notification/NotificationListenerService$Ranking" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="canBubble()Z" since="29"/>
+		<method name="canShowBadge()Z" since="26"/>
+		<method name="getChannel()Landroid/app/NotificationChannel;" since="26"/>
+		<method name="getConversationShortcutInfo()Landroid/content/pm/ShortcutInfo;" since="31"/>
+		<method name="getImportance()I" since="24"/>
+		<method name="getImportanceExplanation()Ljava/lang/CharSequence;" since="24"/>
+		<method name="getKey()Ljava/lang/String;"/>
+		<method name="getLastAudiblyAlertedMillis()J" since="29"/>
+		<method name="getLockscreenVisibilityOverride()I" since="31"/>
+		<method name="getOverrideGroupKey()Ljava/lang/String;" since="24"/>
+		<method name="getRank()I"/>
+		<method name="getSmartActions()Ljava/util/List;" since="29"/>
+		<method name="getSmartReplies()Ljava/util/List;" since="29"/>
+		<method name="getSuppressedVisualEffects()I" since="24"/>
+		<method name="getUserSentiment()I" since="28"/>
+		<method name="isAmbient()Z"/>
+		<method name="isConversation()Z" since="31"/>
+		<method name="isSuspended()Z" since="28"/>
+		<method name="matchesInterruptionFilter()Z"/>
+		<field name="USER_SENTIMENT_NEGATIVE" since="28"/>
+		<field name="USER_SENTIMENT_NEUTRAL" since="28"/>
+		<field name="USER_SENTIMENT_POSITIVE" since="28"/>
+		<field name="VISIBILITY_NO_OVERRIDE" since="31"/>
+	</class>
+	<class name="android/service/notification/NotificationListenerService$RankingMap" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getOrderedKeys()[Ljava/lang/String;"/>
+		<method name="getRanking(Ljava/lang/String;Landroid/service/notification/NotificationListenerService$Ranking;)Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/notification/StatusBarNotification" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IIILandroid/app/Notification;Landroid/os/UserHandle;J)V" deprecated="26"/>
+		<method name="clone()Landroid/service/notification/StatusBarNotification;"/>
+		<method name="getGroupKey()Ljava/lang/String;" since="21"/>
+		<method name="getId()I"/>
+		<method name="getKey()Ljava/lang/String;" since="20"/>
+		<method name="getNotification()Landroid/app/Notification;"/>
+		<method name="getOpPkg()Ljava/lang/String;" since="29"/>
+		<method name="getOverrideGroupKey()Ljava/lang/String;" since="24"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getPostTime()J"/>
+		<method name="getTag()Ljava/lang/String;"/>
+		<method name="getUid()I" since="29"/>
+		<method name="getUser()Landroid/os/UserHandle;" since="21"/>
+		<method name="getUserId()I" deprecated="21"/>
+		<method name="isAppGroup()Z" since="30"/>
+		<method name="isClearable()Z"/>
+		<method name="isGroup()Z" since="24"/>
+		<method name="isOngoing()Z"/>
+		<method name="setOverrideGroupKey(Ljava/lang/String;)V" since="24"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/notification/ZenPolicy" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getPriorityCallSenders()I"/>
+		<method name="getPriorityCategoryAlarms()I"/>
+		<method name="getPriorityCategoryCalls()I"/>
+		<method name="getPriorityCategoryConversations()I" since="30"/>
+		<method name="getPriorityCategoryEvents()I"/>
+		<method name="getPriorityCategoryMedia()I"/>
+		<method name="getPriorityCategoryMessages()I"/>
+		<method name="getPriorityCategoryReminders()I"/>
+		<method name="getPriorityCategoryRepeatCallers()I"/>
+		<method name="getPriorityCategorySystem()I"/>
+		<method name="getPriorityConversationSenders()I" since="30"/>
+		<method name="getPriorityMessageSenders()I"/>
+		<method name="getVisualEffectAmbient()I"/>
+		<method name="getVisualEffectBadge()I"/>
+		<method name="getVisualEffectFullScreenIntent()I"/>
+		<method name="getVisualEffectLights()I"/>
+		<method name="getVisualEffectNotificationList()I"/>
+		<method name="getVisualEffectPeek()I"/>
+		<method name="getVisualEffectStatusBar()I"/>
+		<field name="CONVERSATION_SENDERS_ANYONE" since="30"/>
+		<field name="CONVERSATION_SENDERS_IMPORTANT" since="30"/>
+		<field name="CONVERSATION_SENDERS_NONE" since="30"/>
+		<field name="CONVERSATION_SENDERS_UNSET" since="30"/>
+		<field name="CREATOR"/>
+		<field name="PEOPLE_TYPE_ANYONE"/>
+		<field name="PEOPLE_TYPE_CONTACTS"/>
+		<field name="PEOPLE_TYPE_NONE"/>
+		<field name="PEOPLE_TYPE_STARRED"/>
+		<field name="PEOPLE_TYPE_UNSET"/>
+		<field name="STATE_ALLOW"/>
+		<field name="STATE_DISALLOW"/>
+		<field name="STATE_UNSET"/>
+	</class>
+	<class name="android/service/notification/ZenPolicy$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="allowAlarms(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="allowAllSounds()Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="allowCalls(I)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="allowConversations(I)Landroid/service/notification/ZenPolicy$Builder;" since="30"/>
+		<method name="allowEvents(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="allowMedia(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="allowMessages(I)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="allowReminders(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="allowRepeatCallers(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="allowSystem(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="build()Landroid/service/notification/ZenPolicy;"/>
+		<method name="disallowAllSounds()Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="hideAllVisualEffects()Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="showAllVisualEffects()Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="showBadges(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="showFullScreenIntent(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="showInAmbientDisplay(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="showInNotificationList(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="showLights(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="showPeeking(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+		<method name="showStatusBarIcons(Z)Landroid/service/notification/ZenPolicy$Builder;"/>
+	</class>
+	<class name="android/service/quickaccesswallet/GetWalletCardsCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onFailure(Landroid/service/quickaccesswallet/GetWalletCardsError;)V"/>
+		<method name="onSuccess(Landroid/service/quickaccesswallet/GetWalletCardsResponse;)V"/>
+	</class>
+	<class name="android/service/quickaccesswallet/GetWalletCardsError" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;)V"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getMessage()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/quickaccesswallet/GetWalletCardsRequest" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(IIII)V"/>
+		<method name="getCardHeightPx()I"/>
+		<method name="getCardWidthPx()I"/>
+		<method name="getIconSizePx()I"/>
+		<method name="getMaxCards()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/quickaccesswallet/GetWalletCardsResponse" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/util/List;I)V"/>
+		<method name="getSelectedIndex()I"/>
+		<method name="getWalletCards()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/quickaccesswallet/QuickAccessWalletService" since="30">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onWalletCardSelected(Landroid/service/quickaccesswallet/SelectWalletCardRequest;)V"/>
+		<method name="onWalletCardsRequested(Landroid/service/quickaccesswallet/GetWalletCardsRequest;Landroid/service/quickaccesswallet/GetWalletCardsCallback;)V"/>
+		<method name="onWalletDismissed()V"/>
+		<method name="sendWalletServiceEvent(Landroid/service/quickaccesswallet/WalletServiceEvent;)V"/>
+		<field name="ACTION_VIEW_WALLET"/>
+		<field name="ACTION_VIEW_WALLET_SETTINGS"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/service/quickaccesswallet/SelectWalletCardRequest" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getCardId()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/quickaccesswallet/WalletCard" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCardIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getCardId()Ljava/lang/String;"/>
+		<method name="getCardImage()Landroid/graphics/drawable/Icon;"/>
+		<method name="getCardLabel()Ljava/lang/CharSequence;"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;"/>
+		<method name="getPendingIntent()Landroid/app/PendingIntent;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/quickaccesswallet/WalletCard$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V"/>
+		<method name="build()Landroid/service/quickaccesswallet/WalletCard;"/>
+		<method name="setCardIcon(Landroid/graphics/drawable/Icon;)Landroid/service/quickaccesswallet/WalletCard$Builder;"/>
+		<method name="setCardLabel(Ljava/lang/CharSequence;)Landroid/service/quickaccesswallet/WalletCard$Builder;"/>
+	</class>
+	<class name="android/service/quickaccesswallet/WalletServiceEvent" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getEventType()I"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_NFC_PAYMENT_STARTED"/>
+	</class>
+	<class name="android/service/quicksettings/Tile" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<method name="getState()I"/>
+		<method name="getStateDescription()Ljava/lang/CharSequence;" since="30"/>
+		<method name="getSubtitle()Ljava/lang/CharSequence;" since="29"/>
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V"/>
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)V"/>
+		<method name="setLabel(Ljava/lang/CharSequence;)V"/>
+		<method name="setState(I)V"/>
+		<method name="setStateDescription(Ljava/lang/CharSequence;)V" since="30"/>
+		<method name="setSubtitle(Ljava/lang/CharSequence;)V" since="29"/>
+		<method name="updateTile()V"/>
+		<field name="CREATOR"/>
+		<field name="STATE_ACTIVE"/>
+		<field name="STATE_INACTIVE"/>
+		<field name="STATE_UNAVAILABLE"/>
+	</class>
+	<class name="android/service/quicksettings/TileService" since="24">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="getQsTile()Landroid/service/quicksettings/Tile;"/>
+		<method name="isLocked()Z"/>
+		<method name="isSecure()Z"/>
+		<method name="onClick()V"/>
+		<method name="onStartListening()V"/>
+		<method name="onStopListening()V"/>
+		<method name="onTileAdded()V"/>
+		<method name="onTileRemoved()V"/>
+		<method name="requestListeningState(Landroid/content/Context;Landroid/content/ComponentName;)V"/>
+		<method name="showDialog(Landroid/app/Dialog;)V"/>
+		<method name="startActivityAndCollapse(Landroid/content/Intent;)V"/>
+		<method name="unlockAndRun(Ljava/lang/Runnable;)V"/>
+		<field name="ACTION_QS_TILE"/>
+		<field name="ACTION_QS_TILE_PREFERENCES"/>
+		<field name="META_DATA_ACTIVE_TILE"/>
+		<field name="META_DATA_TOGGLEABLE_TILE" since="30"/>
+	</class>
+	<class name="android/service/restrictions/RestrictionsReceiver" since="21">
+		<extends name="android/content/BroadcastReceiver"/>
+		<method name="&lt;init>()V"/>
+		<method name="onRequestPermission(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)V"/>
+	</class>
+	<class name="android/service/textservice/SpellCheckerService" since="14">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="createSession()Landroid/service/textservice/SpellCheckerService$Session;"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/service/textservice/SpellCheckerService$Session" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getBundle()Landroid/os/Bundle;"/>
+		<method name="getLocale()Ljava/lang/String;"/>
+		<method name="getSupportedAttributes()I" since="31"/>
+		<method name="onCancel()V"/>
+		<method name="onClose()V" since="15"/>
+		<method name="onCreate()V"/>
+		<method name="onGetSentenceSuggestionsMultiple([Landroid/view/textservice/TextInfo;I)[Landroid/view/textservice/SentenceSuggestionsInfo;" since="16"/>
+		<method name="onGetSuggestions(Landroid/view/textservice/TextInfo;I)Landroid/view/textservice/SuggestionsInfo;"/>
+		<method name="onGetSuggestionsMultiple([Landroid/view/textservice/TextInfo;IZ)[Landroid/view/textservice/SuggestionsInfo;"/>
+	</class>
+	<class name="android/service/voice/AlwaysOnHotwordDetector" since="21" removed="31">
+		<extends name="java/lang/Object"/>
+		<method name="createEnrollIntent()Landroid/content/Intent;"/>
+		<method name="createReEnrollIntent()Landroid/content/Intent;"/>
+		<method name="createUnEnrollIntent()Landroid/content/Intent;"/>
+		<method name="getParameter(I)I" since="30"/>
+		<method name="getSupportedAudioCapabilities()I" since="30"/>
+		<method name="getSupportedRecognitionModes()I"/>
+		<method name="queryParameter(I)Landroid/service/voice/AlwaysOnHotwordDetector$ModelParamRange;" since="30"/>
+		<method name="setParameter(II)I" since="30"/>
+		<method name="startRecognition(I)Z"/>
+		<method name="stopRecognition()Z"/>
+		<field name="AUDIO_CAPABILITY_ECHO_CANCELLATION" since="30"/>
+		<field name="AUDIO_CAPABILITY_NOISE_SUPPRESSION" since="30"/>
+		<field name="MODEL_PARAM_THRESHOLD_FACTOR" since="30"/>
+		<field name="RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS"/>
+		<field name="RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO"/>
+		<field name="RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION" since="30"/>
+		<field name="RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION" since="30"/>
+		<field name="RECOGNITION_MODE_USER_IDENTIFICATION"/>
+		<field name="RECOGNITION_MODE_VOICE_TRIGGER"/>
+		<field name="STATE_HARDWARE_UNAVAILABLE"/>
+		<field name="STATE_KEYPHRASE_ENROLLED"/>
+		<field name="STATE_KEYPHRASE_UNENROLLED"/>
+		<field name="STATE_KEYPHRASE_UNSUPPORTED" deprecated="30"/>
+	</class>
+	<class name="android/service/voice/AlwaysOnHotwordDetector$Callback" since="21" removed="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAvailabilityChanged(I)V"/>
+		<method name="onDetected(Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;)V"/>
+		<method name="onError()V"/>
+		<method name="onRecognitionPaused()V"/>
+		<method name="onRecognitionResumed()V"/>
+	</class>
+	<class name="android/service/voice/AlwaysOnHotwordDetector$EventPayload" since="21" removed="31">
+		<extends name="java/lang/Object"/>
+		<method name="getCaptureAudioFormat()Landroid/media/AudioFormat;"/>
+		<method name="getTriggerAudio()[B"/>
+	</class>
+	<class name="android/service/voice/AlwaysOnHotwordDetector$ModelParamRange" since="30" removed="31">
+		<extends name="java/lang/Object"/>
+		<method name="getEnd()I"/>
+		<method name="getStart()I"/>
+	</class>
+	<class name="android/service/voice/VisibleActivityInfo" since="33">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getActivityId()Landroid/service/voice/VoiceInteractionSession$ActivityId;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionService" since="21">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="createAlwaysOnHotwordDetector(Ljava/lang/String;Ljava/util/Locale;Landroid/service/voice/AlwaysOnHotwordDetector$Callback;)Landroid/service/voice/AlwaysOnHotwordDetector;" removed="31"/>
+		<method name="getDisabledShowContext()I" since="23"/>
+		<method name="isActiveService(Landroid/content/Context;Landroid/content/ComponentName;)Z"/>
+		<method name="onGetSupportedVoiceActions(Ljava/util/Set;)Ljava/util/Set;" since="29"/>
+		<method name="onLaunchVoiceAssistFromKeyguard()V" since="23"/>
+		<method name="onReady()V"/>
+		<method name="onShutdown()V"/>
+		<method name="setDisabledShowContext(I)V" since="23"/>
+		<method name="setUiHints(Landroid/os/Bundle;)V" since="29"/>
+		<method name="showSession(Landroid/os/Bundle;I)V" since="23"/>
+		<method name="startSession(Landroid/os/Bundle;)V" removed="23"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/content/ComponentCallbacks2" since="23"/>
+		<implements name="android/view/KeyEvent$Callback"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/os/Handler;)V"/>
+		<method name="closeSystemDialogs()V" since="23"/>
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" since="23"/>
+		<method name="finish()V"/>
+		<method name="getContext()Landroid/content/Context;" since="23"/>
+		<method name="getDisabledShowContext()I" since="23"/>
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;" since="23"/>
+		<method name="getUserDisabledShowContext()I" since="23"/>
+		<method name="getWindow()Landroid/app/Dialog;" since="23"/>
+		<method name="hide()V" since="23"/>
+		<method name="onAssistStructureFailure(Ljava/lang/Throwable;)V" since="23"/>
+		<method name="onBackPressed()V" since="23"/>
+		<method name="onCancelRequest(Landroid/service/voice/VoiceInteractionSession$Request;)V" since="23"/>
+		<method name="onCloseSystemDialogs()V"/>
+		<method name="onComputeInsets(Landroid/service/voice/VoiceInteractionSession$Insets;)V" since="23"/>
+		<method name="onCreate()V" since="23"/>
+		<method name="onCreate(Landroid/os/Bundle;)V" removed="23"/>
+		<method name="onCreateContentView()Landroid/view/View;" since="23"/>
+		<method name="onDestroy()V"/>
+		<method name="onDirectActionsInvalidated(Landroid/service/voice/VoiceInteractionSession$ActivityId;)V" since="29"/>
+		<method name="onGetSupportedCommands([Ljava/lang/String;)[Z" since="23"/>
+		<method name="onHandleAssist(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;)V" since="23" deprecated="29"/>
+		<method name="onHandleAssist(Landroid/service/voice/VoiceInteractionSession$AssistState;)V" since="29"/>
+		<method name="onHandleAssistSecondary(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;II)V" since="24" deprecated="29"/>
+		<method name="onHandleScreenshot(Landroid/graphics/Bitmap;)V" since="23"/>
+		<method name="onHide()V" since="23"/>
+		<method name="onLockscreenShown()V" since="23"/>
+		<method name="onPrepareShow(Landroid/os/Bundle;I)V" since="26"/>
+		<method name="onRequestAbortVoice(Landroid/service/voice/VoiceInteractionSession$AbortVoiceRequest;)V" since="23"/>
+		<method name="onRequestCommand(Landroid/service/voice/VoiceInteractionSession$CommandRequest;)V" since="23"/>
+		<method name="onRequestCompleteVoice(Landroid/service/voice/VoiceInteractionSession$CompleteVoiceRequest;)V" since="23"/>
+		<method name="onRequestConfirmation(Landroid/service/voice/VoiceInteractionSession$ConfirmationRequest;)V" since="23"/>
+		<method name="onRequestPickOption(Landroid/service/voice/VoiceInteractionSession$PickOptionRequest;)V" since="23"/>
+		<method name="onShow(Landroid/os/Bundle;I)V" since="23"/>
+		<method name="onTaskFinished(Landroid/content/Intent;I)V" since="23"/>
+		<method name="onTaskStarted(Landroid/content/Intent;I)V" since="23"/>
+		<method name="performDirectAction(Landroid/app/DirectAction;Landroid/os/Bundle;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="29"/>
+		<method name="registerVisibleActivityCallback(Ljava/util/concurrent/Executor;Landroid/service/voice/VoiceInteractionSession$VisibleActivityCallback;)V" since="33"/>
+		<method name="requestDirectActions(Landroid/service/voice/VoiceInteractionSession$ActivityId;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="29"/>
+		<method name="setContentView(Landroid/view/View;)V"/>
+		<method name="setDisabledShowContext(I)V" since="23"/>
+		<method name="setKeepAwake(Z)V" since="23"/>
+		<method name="setTheme(I)V" since="23"/>
+		<method name="setUiEnabled(Z)V" since="26"/>
+		<method name="show(Landroid/os/Bundle;I)V" since="23"/>
+		<method name="startAssistantActivity(Landroid/content/Intent;)V" since="26"/>
+		<method name="startVoiceActivity(Landroid/content/Intent;)V" since="23"/>
+		<method name="unregisterVisibleActivityCallback(Landroid/service/voice/VoiceInteractionSession$VisibleActivityCallback;)V" since="33"/>
+		<field name="SHOW_SOURCE_ACTIVITY" since="24"/>
+		<field name="SHOW_SOURCE_APPLICATION" since="23"/>
+		<field name="SHOW_SOURCE_ASSIST_GESTURE" since="23"/>
+		<field name="SHOW_SOURCE_AUTOMOTIVE_SYSTEM_UI" since="29"/>
+		<field name="SHOW_SOURCE_NOTIFICATION" since="29"/>
+		<field name="SHOW_SOURCE_PUSH_TO_TALK" since="29"/>
+		<field name="SHOW_WITH_ASSIST" since="23"/>
+		<field name="SHOW_WITH_SCREENSHOT" since="23"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$AbortVoiceRequest" since="23">
+		<extends name="android/service/voice/VoiceInteractionSession$Request"/>
+		<method name="getMessage()Ljava/lang/CharSequence;" deprecated="23"/>
+		<method name="getVoicePrompt()Landroid/app/VoiceInteractor$Prompt;"/>
+		<method name="sendAbortResult(Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$ActivityId" since="29">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$AssistState" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getActivityId()Landroid/service/voice/VoiceInteractionSession$ActivityId;"/>
+		<method name="getAssistContent()Landroid/app/assist/AssistContent;"/>
+		<method name="getAssistData()Landroid/os/Bundle;"/>
+		<method name="getAssistStructure()Landroid/app/assist/AssistStructure;"/>
+		<method name="getCount()I"/>
+		<method name="getIndex()I"/>
+		<method name="isFocused()Z"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$CommandRequest" since="23">
+		<extends name="android/service/voice/VoiceInteractionSession$Request"/>
+		<method name="getCommand()Ljava/lang/String;"/>
+		<method name="sendIntermediateResult(Landroid/os/Bundle;)V"/>
+		<method name="sendResult(Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$CompleteVoiceRequest" since="23">
+		<extends name="android/service/voice/VoiceInteractionSession$Request"/>
+		<method name="getMessage()Ljava/lang/CharSequence;" deprecated="23"/>
+		<method name="getVoicePrompt()Landroid/app/VoiceInteractor$Prompt;"/>
+		<method name="sendCompleteResult(Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$ConfirmationRequest" since="23">
+		<extends name="android/service/voice/VoiceInteractionSession$Request"/>
+		<method name="getPrompt()Ljava/lang/CharSequence;" deprecated="23"/>
+		<method name="getVoicePrompt()Landroid/app/VoiceInteractor$Prompt;"/>
+		<method name="sendConfirmationResult(ZLandroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$Insets" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="TOUCHABLE_INSETS_CONTENT"/>
+		<field name="TOUCHABLE_INSETS_FRAME"/>
+		<field name="TOUCHABLE_INSETS_REGION"/>
+		<field name="contentInsets"/>
+		<field name="touchableInsets"/>
+		<field name="touchableRegion"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$PickOptionRequest" since="23">
+		<extends name="android/service/voice/VoiceInteractionSession$Request"/>
+		<method name="getOptions()[Landroid/app/VoiceInteractor$PickOptionRequest$Option;"/>
+		<method name="getPrompt()Ljava/lang/CharSequence;" deprecated="23"/>
+		<method name="getVoicePrompt()Landroid/app/VoiceInteractor$Prompt;"/>
+		<method name="sendIntermediatePickOptionResult([Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V"/>
+		<method name="sendPickOptionResult([Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)V"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$Request" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V"/>
+		<method name="getCallingPackage()Ljava/lang/String;"/>
+		<method name="getCallingUid()I"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="isActive()Z"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSession$VisibleActivityCallback" since="33">
+		<method name="onInvisible(Landroid/service/voice/VoiceInteractionSession$ActivityId;)V"/>
+		<method name="onVisible(Landroid/service/voice/VisibleActivityInfo;)V"/>
+	</class>
+	<class name="android/service/voice/VoiceInteractionSessionService" since="21">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onNewSession(Landroid/os/Bundle;)Landroid/service/voice/VoiceInteractionSession;"/>
+	</class>
+	<class name="android/service/vr/VrListenerService" since="24">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="isVrModePackageEnabled(Landroid/content/Context;Landroid/content/ComponentName;)Z"/>
+		<method name="onCurrentVrActivityChanged(Landroid/content/ComponentName;)V"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/service/wallpaper/WallpaperService" since="7">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCreateEngine()Landroid/service/wallpaper/WallpaperService$Engine;"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/service/wallpaper/WallpaperService$Engine" since="7">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/service/wallpaper/WallpaperService;)V"/>
+		<method name="dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V" since="14"/>
+		<method name="getDesiredMinimumHeight()I"/>
+		<method name="getDesiredMinimumWidth()I"/>
+		<method name="getDisplayContext()Landroid/content/Context;" since="29"/>
+		<method name="getSurfaceHolder()Landroid/view/SurfaceHolder;"/>
+		<method name="isPreview()Z"/>
+		<method name="isVisible()Z"/>
+		<method name="notifyColorsChanged()V" since="27"/>
+		<method name="onApplyWindowInsets(Landroid/view/WindowInsets;)V" since="21"/>
+		<method name="onCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;"/>
+		<method name="onComputeColors()Landroid/app/WallpaperColors;" since="27"/>
+		<method name="onCreate(Landroid/view/SurfaceHolder;)V"/>
+		<method name="onDesiredSizeChanged(II)V"/>
+		<method name="onDestroy()V"/>
+		<method name="onOffsetsChanged(FFFFII)V"/>
+		<method name="onSurfaceChanged(Landroid/view/SurfaceHolder;III)V"/>
+		<method name="onSurfaceCreated(Landroid/view/SurfaceHolder;)V"/>
+		<method name="onSurfaceDestroyed(Landroid/view/SurfaceHolder;)V"/>
+		<method name="onSurfaceRedrawNeeded(Landroid/view/SurfaceHolder;)V" since="9"/>
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)V"/>
+		<method name="onVisibilityChanged(Z)V"/>
+		<method name="onZoomChanged(F)V" since="30"/>
+		<method name="setOffsetNotificationsEnabled(Z)V" since="15"/>
+		<method name="setTouchEventsEnabled(Z)V"/>
+	</class>
+	<class name="android/speech/RecognitionListener" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="onBeginningOfSpeech()V"/>
+		<method name="onBufferReceived([B)V"/>
+		<method name="onEndOfSpeech()V"/>
+		<method name="onError(I)V"/>
+		<method name="onEvent(ILandroid/os/Bundle;)V"/>
+		<method name="onPartialResults(Landroid/os/Bundle;)V"/>
+		<method name="onReadyForSpeech(Landroid/os/Bundle;)V"/>
+		<method name="onResults(Landroid/os/Bundle;)V"/>
+		<method name="onRmsChanged(F)V"/>
+	</class>
+	<class name="android/speech/RecognitionService" since="8">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCancel(Landroid/speech/RecognitionService$Callback;)V"/>
+		<method name="onStartListening(Landroid/content/Intent;Landroid/speech/RecognitionService$Callback;)V"/>
+		<method name="onStopListening(Landroid/speech/RecognitionService$Callback;)V"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/speech/RecognitionService$Callback" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="beginningOfSpeech()V"/>
+		<method name="bufferReceived([B)V"/>
+		<method name="endOfSpeech()V"/>
+		<method name="error(I)V"/>
+		<method name="getCallingAttributionSource()Landroid/content/AttributionSource;" since="31"/>
+		<method name="getCallingUid()I" since="23"/>
+		<method name="partialResults(Landroid/os/Bundle;)V"/>
+		<method name="readyForSpeech(Landroid/os/Bundle;)V"/>
+		<method name="results(Landroid/os/Bundle;)V"/>
+		<method name="rmsChanged(F)V"/>
+	</class>
+	<class name="android/speech/RecognizerIntent" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="getVoiceDetailsIntent(Landroid/content/Context;)Landroid/content/Intent;" since="8"/>
+		<field name="ACTION_GET_LANGUAGE_DETAILS" since="8"/>
+		<field name="ACTION_RECOGNIZE_SPEECH"/>
+		<field name="ACTION_VOICE_SEARCH_HANDS_FREE" since="16"/>
+		<field name="ACTION_WEB_SEARCH"/>
+		<field name="DETAILS_META_DATA" since="8"/>
+		<field name="EXTRA_AUDIO_INJECT_SOURCE" since="31"/>
+		<field name="EXTRA_CALLING_PACKAGE" since="8"/>
+		<field name="EXTRA_CONFIDENCE_SCORES" since="14"/>
+		<field name="EXTRA_LANGUAGE"/>
+		<field name="EXTRA_LANGUAGE_MODEL"/>
+		<field name="EXTRA_LANGUAGE_PREFERENCE" since="8"/>
+		<field name="EXTRA_MAX_RESULTS"/>
+		<field name="EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE" since="8"/>
+		<field name="EXTRA_ORIGIN" since="14"/>
+		<field name="EXTRA_PARTIAL_RESULTS" since="8"/>
+		<field name="EXTRA_PREFER_OFFLINE" since="23"/>
+		<field name="EXTRA_PROMPT"/>
+		<field name="EXTRA_RESULTS"/>
+		<field name="EXTRA_RESULTS_PENDINGINTENT"/>
+		<field name="EXTRA_RESULTS_PENDINGINTENT_BUNDLE"/>
+		<field name="EXTRA_SECURE" since="16"/>
+		<field name="EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS" since="8"/>
+		<field name="EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS" since="8"/>
+		<field name="EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS" since="8"/>
+		<field name="EXTRA_SUPPORTED_LANGUAGES" since="8"/>
+		<field name="EXTRA_WEB_SEARCH_ONLY" since="11"/>
+		<field name="LANGUAGE_MODEL_FREE_FORM"/>
+		<field name="LANGUAGE_MODEL_WEB_SEARCH"/>
+		<field name="RESULT_AUDIO_ERROR"/>
+		<field name="RESULT_CLIENT_ERROR"/>
+		<field name="RESULT_NETWORK_ERROR"/>
+		<field name="RESULT_NO_MATCH"/>
+		<field name="RESULT_SERVER_ERROR"/>
+	</class>
+	<class name="android/speech/RecognizerResultsIntent" since="10">
+		<extends name="java/lang/Object"/>
+		<field name="ACTION_VOICE_SEARCH_RESULTS"/>
+		<field name="EXTRA_VOICE_SEARCH_RESULT_HTML"/>
+		<field name="EXTRA_VOICE_SEARCH_RESULT_HTML_BASE_URLS"/>
+		<field name="EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS"/>
+		<field name="EXTRA_VOICE_SEARCH_RESULT_STRINGS"/>
+		<field name="EXTRA_VOICE_SEARCH_RESULT_URLS"/>
+		<field name="URI_SCHEME_INLINE"/>
+	</class>
+	<class name="android/speech/SpeechRecognizer" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V"/>
+		<method name="createOnDeviceSpeechRecognizer(Landroid/content/Context;)Landroid/speech/SpeechRecognizer;" since="31"/>
+		<method name="createSpeechRecognizer(Landroid/content/Context;)Landroid/speech/SpeechRecognizer;"/>
+		<method name="createSpeechRecognizer(Landroid/content/Context;Landroid/content/ComponentName;)Landroid/speech/SpeechRecognizer;"/>
+		<method name="destroy()V"/>
+		<method name="isOnDeviceRecognitionAvailable(Landroid/content/Context;)Z" since="31"/>
+		<method name="isRecognitionAvailable(Landroid/content/Context;)Z"/>
+		<method name="setRecognitionListener(Landroid/speech/RecognitionListener;)V"/>
+		<method name="startListening(Landroid/content/Intent;)V"/>
+		<method name="stopListening()V"/>
+		<field name="CONFIDENCE_SCORES" since="14"/>
+		<field name="ERROR_AUDIO"/>
+		<field name="ERROR_CLIENT"/>
+		<field name="ERROR_INSUFFICIENT_PERMISSIONS"/>
+		<field name="ERROR_LANGUAGE_NOT_SUPPORTED" since="31"/>
+		<field name="ERROR_LANGUAGE_UNAVAILABLE" since="31"/>
+		<field name="ERROR_NETWORK"/>
+		<field name="ERROR_NETWORK_TIMEOUT"/>
+		<field name="ERROR_NO_MATCH"/>
+		<field name="ERROR_RECOGNIZER_BUSY"/>
+		<field name="ERROR_SERVER"/>
+		<field name="ERROR_SERVER_DISCONNECTED" since="31"/>
+		<field name="ERROR_SPEECH_TIMEOUT"/>
+		<field name="ERROR_TOO_MANY_REQUESTS" since="31"/>
+		<field name="RESULTS_RECOGNITION"/>
+	</class>
+	<class name="android/speech/tts/SynthesisCallback" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="audioAvailable([BII)I"/>
+		<method name="done()I"/>
+		<method name="error()V"/>
+		<method name="error(I)V" since="21"/>
+		<method name="getMaxBufferSize()I"/>
+		<method name="hasFinished()Z" since="21"/>
+		<method name="hasStarted()Z" since="21"/>
+		<method name="rangeStart(III)V" since="26"/>
+		<method name="start(III)I"/>
+	</class>
+	<class name="android/speech/tts/SynthesisRequest" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Landroid/os/Bundle;)V" since="21"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="getCallerUid()I" since="19"/>
+		<method name="getCharSequenceText()Ljava/lang/CharSequence;" since="21"/>
+		<method name="getCountry()Ljava/lang/String;"/>
+		<method name="getLanguage()Ljava/lang/String;"/>
+		<method name="getParams()Landroid/os/Bundle;"/>
+		<method name="getPitch()I"/>
+		<method name="getSpeechRate()I"/>
+		<method name="getText()Ljava/lang/String;" deprecated="21"/>
+		<method name="getVariant()Ljava/lang/String;"/>
+		<method name="getVoiceName()Ljava/lang/String;" since="21"/>
+	</class>
+	<class name="android/speech/tts/TextToSpeech" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;Ljava/lang/String;)V" since="14"/>
+		<method name="addEarcon(Ljava/lang/String;Landroid/net/Uri;)I" since="31"/>
+		<method name="addEarcon(Ljava/lang/String;Ljava/io/File;)I" since="21"/>
+		<method name="addEarcon(Ljava/lang/String;Ljava/lang/String;)I" deprecated="21"/>
+		<method name="addEarcon(Ljava/lang/String;Ljava/lang/String;I)I"/>
+		<method name="addSpeech(Ljava/lang/CharSequence;Landroid/net/Uri;)I" since="31"/>
+		<method name="addSpeech(Ljava/lang/CharSequence;Ljava/io/File;)I" since="21"/>
+		<method name="addSpeech(Ljava/lang/CharSequence;Ljava/lang/String;I)I" since="21"/>
+		<method name="addSpeech(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="addSpeech(Ljava/lang/String;Ljava/lang/String;I)I"/>
+		<method name="areDefaultsEnforced()Z" since="8" deprecated="21"/>
+		<method name="getAvailableLanguages()Ljava/util/Set;" since="21"/>
+		<method name="getDefaultEngine()Ljava/lang/String;" since="8"/>
+		<method name="getDefaultLanguage()Ljava/util/Locale;" since="18" deprecated="21"/>
+		<method name="getDefaultVoice()Landroid/speech/tts/Voice;" since="21"/>
+		<method name="getEngines()Ljava/util/List;" since="14"/>
+		<method name="getFeatures(Ljava/util/Locale;)Ljava/util/Set;" since="15" deprecated="21"/>
+		<method name="getLanguage()Ljava/util/Locale;" deprecated="21"/>
+		<method name="getMaxSpeechInputLength()I" since="18"/>
+		<method name="getVoice()Landroid/speech/tts/Voice;" since="21"/>
+		<method name="getVoices()Ljava/util/Set;" since="21"/>
+		<method name="isLanguageAvailable(Ljava/util/Locale;)I"/>
+		<method name="isSpeaking()Z"/>
+		<method name="playEarcon(Ljava/lang/String;ILandroid/os/Bundle;Ljava/lang/String;)I" since="21"/>
+		<method name="playEarcon(Ljava/lang/String;ILjava/util/HashMap;)I" deprecated="21"/>
+		<method name="playSilence(JILjava/util/HashMap;)I" deprecated="21"/>
+		<method name="playSilentUtterance(JILjava/lang/String;)I" since="21"/>
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)I" since="21"/>
+		<method name="setEngineByPackageName(Ljava/lang/String;)I" since="8" deprecated="15"/>
+		<method name="setLanguage(Ljava/util/Locale;)I"/>
+		<method name="setOnUtteranceCompletedListener(Landroid/speech/tts/TextToSpeech$OnUtteranceCompletedListener;)I" deprecated="15"/>
+		<method name="setOnUtteranceProgressListener(Landroid/speech/tts/UtteranceProgressListener;)I" since="15"/>
+		<method name="setPitch(F)I"/>
+		<method name="setSpeechRate(F)I"/>
+		<method name="setVoice(Landroid/speech/tts/Voice;)I" since="21"/>
+		<method name="shutdown()V"/>
+		<method name="speak(Ljava/lang/CharSequence;ILandroid/os/Bundle;Ljava/lang/String;)I" since="21"/>
+		<method name="speak(Ljava/lang/String;ILjava/util/HashMap;)I" deprecated="21"/>
+		<method name="stop()I"/>
+		<method name="synthesizeToFile(Ljava/lang/CharSequence;Landroid/os/Bundle;Landroid/os/ParcelFileDescriptor;Ljava/lang/String;)I" since="30"/>
+		<method name="synthesizeToFile(Ljava/lang/CharSequence;Landroid/os/Bundle;Ljava/io/File;Ljava/lang/String;)I" since="21"/>
+		<method name="synthesizeToFile(Ljava/lang/String;Ljava/util/HashMap;Ljava/lang/String;)I" deprecated="21"/>
+		<field name="ACTION_TTS_QUEUE_PROCESSING_COMPLETED"/>
+		<field name="ERROR"/>
+		<field name="ERROR_INVALID_REQUEST" since="21"/>
+		<field name="ERROR_NETWORK" since="21"/>
+		<field name="ERROR_NETWORK_TIMEOUT" since="21"/>
+		<field name="ERROR_NOT_INSTALLED_YET" since="21"/>
+		<field name="ERROR_OUTPUT" since="21"/>
+		<field name="ERROR_SERVICE" since="21"/>
+		<field name="ERROR_SYNTHESIS" since="21"/>
+		<field name="LANG_AVAILABLE"/>
+		<field name="LANG_COUNTRY_AVAILABLE"/>
+		<field name="LANG_COUNTRY_VAR_AVAILABLE"/>
+		<field name="LANG_MISSING_DATA"/>
+		<field name="LANG_NOT_SUPPORTED"/>
+		<field name="QUEUE_ADD"/>
+		<field name="QUEUE_FLUSH"/>
+		<field name="STOPPED" since="21"/>
+		<field name="SUCCESS"/>
+	</class>
+	<class name="android/speech/tts/TextToSpeech$Engine" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/speech/tts/TextToSpeech;)V"/>
+		<field name="ACTION_CHECK_TTS_DATA"/>
+		<field name="ACTION_GET_SAMPLE_TEXT" since="18"/>
+		<field name="ACTION_INSTALL_TTS_DATA"/>
+		<field name="ACTION_TTS_DATA_INSTALLED"/>
+		<field name="CHECK_VOICE_DATA_BAD_DATA" deprecated="18"/>
+		<field name="CHECK_VOICE_DATA_FAIL"/>
+		<field name="CHECK_VOICE_DATA_MISSING_DATA" deprecated="18"/>
+		<field name="CHECK_VOICE_DATA_MISSING_VOLUME" deprecated="18"/>
+		<field name="CHECK_VOICE_DATA_PASS"/>
+		<field name="DEFAULT_STREAM"/>
+		<field name="EXTRA_AVAILABLE_VOICES" since="8"/>
+		<field name="EXTRA_CHECK_VOICE_DATA_FOR" since="8" deprecated="18"/>
+		<field name="EXTRA_SAMPLE_TEXT" since="18"/>
+		<field name="EXTRA_TTS_DATA_INSTALLED" deprecated="18"/>
+		<field name="EXTRA_UNAVAILABLE_VOICES" since="8"/>
+		<field name="EXTRA_VOICE_DATA_FILES" deprecated="18"/>
+		<field name="EXTRA_VOICE_DATA_FILES_INFO" deprecated="18"/>
+		<field name="EXTRA_VOICE_DATA_ROOT_DIRECTORY" deprecated="18"/>
+		<field name="INTENT_ACTION_TTS_SERVICE" since="14"/>
+		<field name="KEY_FEATURE_EMBEDDED_SYNTHESIS" since="15" deprecated="21"/>
+		<field name="KEY_FEATURE_NETWORK_RETRIES_COUNT" since="21"/>
+		<field name="KEY_FEATURE_NETWORK_SYNTHESIS" since="15" deprecated="21"/>
+		<field name="KEY_FEATURE_NETWORK_TIMEOUT_MS" since="21"/>
+		<field name="KEY_FEATURE_NOT_INSTALLED" since="21"/>
+		<field name="KEY_PARAM_PAN" since="11"/>
+		<field name="KEY_PARAM_SESSION_ID" since="21"/>
+		<field name="KEY_PARAM_STREAM"/>
+		<field name="KEY_PARAM_UTTERANCE_ID"/>
+		<field name="KEY_PARAM_VOLUME" since="11"/>
+		<field name="SERVICE_META_DATA" since="14"/>
+	</class>
+	<class name="android/speech/tts/TextToSpeech$EngineInfo" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="icon"/>
+		<field name="label"/>
+		<field name="name"/>
+	</class>
+	<class name="android/speech/tts/TextToSpeech$OnInitListener" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="onInit(I)V"/>
+	</class>
+	<class name="android/speech/tts/TextToSpeech$OnUtteranceCompletedListener" since="4" deprecated="18">
+		<extends name="java/lang/Object"/>
+		<method name="onUtteranceCompleted(Ljava/lang/String;)V" deprecated="29"/>
+	</class>
+	<class name="android/speech/tts/TextToSpeechService" since="14">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onGetDefaultVoiceNameFor(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="21"/>
+		<method name="onGetFeaturesForLanguage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Set;" since="15"/>
+		<method name="onGetLanguage()[Ljava/lang/String;"/>
+		<method name="onGetVoices()Ljava/util/List;" since="21"/>
+		<method name="onIsLanguageAvailable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="onIsValidVoiceName(Ljava/lang/String;)I" since="21"/>
+		<method name="onLoadLanguage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="onLoadVoice(Ljava/lang/String;)I" since="21"/>
+		<method name="onStop()V"/>
+		<method name="onSynthesizeText(Landroid/speech/tts/SynthesisRequest;Landroid/speech/tts/SynthesisCallback;)V"/>
+	</class>
+	<class name="android/speech/tts/UtteranceProgressListener" since="15">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAudioAvailable(Ljava/lang/String;[B)V" since="24"/>
+		<method name="onBeginSynthesis(Ljava/lang/String;III)V" since="24"/>
+		<method name="onDone(Ljava/lang/String;)V"/>
+		<method name="onError(Ljava/lang/String;)V" deprecated="21"/>
+		<method name="onError(Ljava/lang/String;I)V" since="21"/>
+		<method name="onRangeStart(Ljava/lang/String;III)V" since="26"/>
+		<method name="onStart(Ljava/lang/String;)V"/>
+		<method name="onStop(Ljava/lang/String;Z)V" since="23"/>
+	</class>
+	<class name="android/speech/tts/Voice" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/util/Locale;IIZLjava/util/Set;)V"/>
+		<method name="getFeatures()Ljava/util/Set;"/>
+		<method name="getLatency()I"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getQuality()I"/>
+		<method name="isNetworkConnectionRequired()Z"/>
+		<field name="CREATOR"/>
+		<field name="LATENCY_HIGH"/>
+		<field name="LATENCY_LOW"/>
+		<field name="LATENCY_NORMAL"/>
+		<field name="LATENCY_VERY_HIGH"/>
+		<field name="LATENCY_VERY_LOW"/>
+		<field name="QUALITY_HIGH"/>
+		<field name="QUALITY_LOW"/>
+		<field name="QUALITY_NORMAL"/>
+		<field name="QUALITY_VERY_HIGH"/>
+		<field name="QUALITY_VERY_LOW"/>
+	</class>
+	<class name="android/system/ErrnoException" since="21">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="rethrowAsIOException()Ljava/io/IOException;" since="30"/>
+		<method name="rethrowAsSocketException()Ljava/net/SocketException;" since="30"/>
+		<field name="errno"/>
+	</class>
+	<class name="android/system/Int64Ref" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(J)V"/>
+		<field name="value"/>
+	</class>
+	<class name="android/system/Os" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="accept(Ljava/io/FileDescriptor;Ljava/net/InetSocketAddress;)Ljava/io/FileDescriptor;"/>
+		<method name="access(Ljava/lang/String;I)Z"/>
+		<method name="bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V"/>
+		<method name="bind(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V" since="29"/>
+		<method name="chmod(Ljava/lang/String;I)V"/>
+		<method name="chown(Ljava/lang/String;II)V"/>
+		<method name="close(Ljava/io/FileDescriptor;)V"/>
+		<method name="connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V"/>
+		<method name="connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V" since="29"/>
+		<method name="dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;"/>
+		<method name="dup2(Ljava/io/FileDescriptor;I)Ljava/io/FileDescriptor;"/>
+		<method name="environ()[Ljava/lang/String;"/>
+		<method name="execv(Ljava/lang/String;[Ljava/lang/String;)V"/>
+		<method name="execve(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V"/>
+		<method name="fchmod(Ljava/io/FileDescriptor;I)V"/>
+		<method name="fchown(Ljava/io/FileDescriptor;II)V"/>
+		<method name="fcntlInt(Ljava/io/FileDescriptor;II)I" since="30"/>
+		<method name="fdatasync(Ljava/io/FileDescriptor;)V"/>
+		<method name="fstat(Ljava/io/FileDescriptor;)Landroid/system/StructStat;"/>
+		<method name="fstatvfs(Ljava/io/FileDescriptor;)Landroid/system/StructStatVfs;"/>
+		<method name="fsync(Ljava/io/FileDescriptor;)V"/>
+		<method name="ftruncate(Ljava/io/FileDescriptor;J)V"/>
+		<method name="gai_strerror(I)Ljava/lang/String;"/>
+		<method name="getegid()I"/>
+		<method name="getenv(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="geteuid()I"/>
+		<method name="getgid()I"/>
+		<method name="getpeername(Ljava/io/FileDescriptor;)Ljava/net/SocketAddress;"/>
+		<method name="getpid()I"/>
+		<method name="getppid()I"/>
+		<method name="getsockname(Ljava/io/FileDescriptor;)Ljava/net/SocketAddress;"/>
+		<method name="getsockoptTimeval(Ljava/io/FileDescriptor;II)Landroid/system/StructTimeval;" since="29"/>
+		<method name="gettid()I"/>
+		<method name="getuid()I"/>
+		<method name="getxattr(Ljava/lang/String;Ljava/lang/String;)[B" since="26"/>
+		<method name="if_indextoname(I)Ljava/lang/String;"/>
+		<method name="if_nametoindex(Ljava/lang/String;)I" since="26"/>
+		<method name="inet_pton(ILjava/lang/String;)Ljava/net/InetAddress;"/>
+		<method name="isatty(Ljava/io/FileDescriptor;)Z"/>
+		<method name="kill(II)V"/>
+		<method name="lchown(Ljava/lang/String;II)V"/>
+		<method name="link(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="listen(Ljava/io/FileDescriptor;I)V"/>
+		<method name="listxattr(Ljava/lang/String;)[Ljava/lang/String;" since="26"/>
+		<method name="lseek(Ljava/io/FileDescriptor;JI)J"/>
+		<method name="lstat(Ljava/lang/String;)Landroid/system/StructStat;"/>
+		<method name="memfd_create(Ljava/lang/String;I)Ljava/io/FileDescriptor;" since="30"/>
+		<method name="mincore(JJ[B)V"/>
+		<method name="mkdir(Ljava/lang/String;I)V"/>
+		<method name="mkfifo(Ljava/lang/String;I)V"/>
+		<method name="mlock(JJ)V"/>
+		<method name="mmap(JJIILjava/io/FileDescriptor;J)J"/>
+		<method name="msync(JJI)V"/>
+		<method name="munlock(JJ)V"/>
+		<method name="munmap(JJ)V"/>
+		<method name="open(Ljava/lang/String;II)Ljava/io/FileDescriptor;"/>
+		<method name="pipe()[Ljava/io/FileDescriptor;"/>
+		<method name="poll([Landroid/system/StructPollfd;I)I"/>
+		<method name="posix_fallocate(Ljava/io/FileDescriptor;JJ)V"/>
+		<method name="prctl(IJJJJ)I"/>
+		<method name="pread(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;J)I"/>
+		<method name="pread(Ljava/io/FileDescriptor;[BIIJ)I"/>
+		<method name="pwrite(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;J)I"/>
+		<method name="pwrite(Ljava/io/FileDescriptor;[BIIJ)I"/>
+		<method name="read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I"/>
+		<method name="read(Ljava/io/FileDescriptor;[BII)I"/>
+		<method name="readlink(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="readv(Ljava/io/FileDescriptor;[Ljava/lang/Object;[I[I)I"/>
+		<method name="recvfrom(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;ILjava/net/InetSocketAddress;)I"/>
+		<method name="recvfrom(Ljava/io/FileDescriptor;[BIIILjava/net/InetSocketAddress;)I"/>
+		<method name="recvmsg(Ljava/io/FileDescriptor;Landroid/system/StructMsghdr;I)I" since="31"/>
+		<method name="remove(Ljava/lang/String;)V"/>
+		<method name="removexattr(Ljava/lang/String;Ljava/lang/String;)V" since="26"/>
+		<method name="rename(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="sendfile(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/system/Int64Ref;J)J" since="28"/>
+		<method name="sendfile(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/util/MutableLong;J)J" removed="28"/>
+		<method name="sendmsg(Ljava/io/FileDescriptor;Landroid/system/StructMsghdr;I)I" since="31"/>
+		<method name="sendto(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;ILjava/net/InetAddress;I)I"/>
+		<method name="sendto(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;I)I"/>
+		<method name="sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I" since="29"/>
+		<method name="setegid(I)V" deprecated="29"/>
+		<method name="setenv(Ljava/lang/String;Ljava/lang/String;Z)V"/>
+		<method name="seteuid(I)V" deprecated="29"/>
+		<method name="setgid(I)V" deprecated="29"/>
+		<method name="setsid()I"/>
+		<method name="setsockoptInt(Ljava/io/FileDescriptor;III)V" since="26"/>
+		<method name="setsockoptTimeval(Ljava/io/FileDescriptor;IILandroid/system/StructTimeval;)V" since="29"/>
+		<method name="setuid(I)V" deprecated="29"/>
+		<method name="setxattr(Ljava/lang/String;Ljava/lang/String;[BI)V" since="26"/>
+		<method name="shutdown(Ljava/io/FileDescriptor;I)V"/>
+		<method name="socket(III)Ljava/io/FileDescriptor;"/>
+		<method name="socketpair(IIILjava/io/FileDescriptor;Ljava/io/FileDescriptor;)V"/>
+		<method name="stat(Ljava/lang/String;)Landroid/system/StructStat;"/>
+		<method name="statvfs(Ljava/lang/String;)Landroid/system/StructStatVfs;"/>
+		<method name="strerror(I)Ljava/lang/String;"/>
+		<method name="strsignal(I)Ljava/lang/String;"/>
+		<method name="symlink(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="sysconf(I)J"/>
+		<method name="tcdrain(Ljava/io/FileDescriptor;)V"/>
+		<method name="tcsendbreak(Ljava/io/FileDescriptor;I)V"/>
+		<method name="umask(I)I"/>
+		<method name="uname()Landroid/system/StructUtsname;"/>
+		<method name="unsetenv(Ljava/lang/String;)V"/>
+		<method name="waitpid(ILandroid/util/MutableInt;I)I" removed="28"/>
+		<method name="write(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I"/>
+		<method name="write(Ljava/io/FileDescriptor;[BII)I"/>
+		<method name="writev(Ljava/io/FileDescriptor;[Ljava/lang/Object;[I[I)I"/>
+	</class>
+	<class name="android/system/OsConstants" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="S_ISBLK(I)Z"/>
+		<method name="S_ISCHR(I)Z"/>
+		<method name="S_ISDIR(I)Z"/>
+		<method name="S_ISFIFO(I)Z"/>
+		<method name="S_ISLNK(I)Z"/>
+		<method name="S_ISREG(I)Z"/>
+		<method name="S_ISSOCK(I)Z"/>
+		<method name="WCOREDUMP(I)Z"/>
+		<method name="WEXITSTATUS(I)I"/>
+		<method name="WIFEXITED(I)Z"/>
+		<method name="WIFSIGNALED(I)Z"/>
+		<method name="WIFSTOPPED(I)Z"/>
+		<method name="WSTOPSIG(I)I"/>
+		<method name="WTERMSIG(I)I"/>
+		<method name="errnoName(I)Ljava/lang/String;"/>
+		<method name="gaiName(I)Ljava/lang/String;"/>
+		<field name="AF_INET"/>
+		<field name="AF_INET6"/>
+		<field name="AF_NETLINK" since="29"/>
+		<field name="AF_PACKET" since="29"/>
+		<field name="AF_UNIX"/>
+		<field name="AF_UNSPEC"/>
+		<field name="AF_VSOCK" since="31"/>
+		<field name="AI_ADDRCONFIG"/>
+		<field name="AI_ALL"/>
+		<field name="AI_CANONNAME"/>
+		<field name="AI_NUMERICHOST"/>
+		<field name="AI_NUMERICSERV"/>
+		<field name="AI_PASSIVE"/>
+		<field name="AI_V4MAPPED"/>
+		<field name="ARPHRD_ETHER" since="29"/>
+		<field name="CAP_AUDIT_CONTROL"/>
+		<field name="CAP_AUDIT_WRITE"/>
+		<field name="CAP_BLOCK_SUSPEND"/>
+		<field name="CAP_CHOWN"/>
+		<field name="CAP_DAC_OVERRIDE"/>
+		<field name="CAP_DAC_READ_SEARCH"/>
+		<field name="CAP_FOWNER"/>
+		<field name="CAP_FSETID"/>
+		<field name="CAP_IPC_LOCK"/>
+		<field name="CAP_IPC_OWNER"/>
+		<field name="CAP_KILL"/>
+		<field name="CAP_LAST_CAP"/>
+		<field name="CAP_LEASE"/>
+		<field name="CAP_LINUX_IMMUTABLE"/>
+		<field name="CAP_MAC_ADMIN"/>
+		<field name="CAP_MAC_OVERRIDE"/>
+		<field name="CAP_MKNOD"/>
+		<field name="CAP_NET_ADMIN"/>
+		<field name="CAP_NET_BIND_SERVICE"/>
+		<field name="CAP_NET_BROADCAST"/>
+		<field name="CAP_NET_RAW"/>
+		<field name="CAP_SETFCAP"/>
+		<field name="CAP_SETGID"/>
+		<field name="CAP_SETPCAP"/>
+		<field name="CAP_SETUID"/>
+		<field name="CAP_SYSLOG"/>
+		<field name="CAP_SYS_ADMIN"/>
+		<field name="CAP_SYS_BOOT"/>
+		<field name="CAP_SYS_CHROOT"/>
+		<field name="CAP_SYS_MODULE"/>
+		<field name="CAP_SYS_NICE"/>
+		<field name="CAP_SYS_PACCT"/>
+		<field name="CAP_SYS_PTRACE"/>
+		<field name="CAP_SYS_RAWIO"/>
+		<field name="CAP_SYS_RESOURCE"/>
+		<field name="CAP_SYS_TIME"/>
+		<field name="CAP_SYS_TTY_CONFIG"/>
+		<field name="CAP_WAKE_ALARM"/>
+		<field name="E2BIG"/>
+		<field name="EACCES"/>
+		<field name="EADDRINUSE"/>
+		<field name="EADDRNOTAVAIL"/>
+		<field name="EAFNOSUPPORT"/>
+		<field name="EAGAIN"/>
+		<field name="EAI_AGAIN"/>
+		<field name="EAI_BADFLAGS"/>
+		<field name="EAI_FAIL"/>
+		<field name="EAI_FAMILY"/>
+		<field name="EAI_MEMORY"/>
+		<field name="EAI_NODATA"/>
+		<field name="EAI_NONAME"/>
+		<field name="EAI_OVERFLOW"/>
+		<field name="EAI_SERVICE"/>
+		<field name="EAI_SOCKTYPE"/>
+		<field name="EAI_SYSTEM"/>
+		<field name="EALREADY"/>
+		<field name="EBADF"/>
+		<field name="EBADMSG"/>
+		<field name="EBUSY"/>
+		<field name="ECANCELED"/>
+		<field name="ECHILD"/>
+		<field name="ECONNABORTED"/>
+		<field name="ECONNREFUSED"/>
+		<field name="ECONNRESET"/>
+		<field name="EDEADLK"/>
+		<field name="EDESTADDRREQ"/>
+		<field name="EDOM"/>
+		<field name="EDQUOT"/>
+		<field name="EEXIST"/>
+		<field name="EFAULT"/>
+		<field name="EFBIG"/>
+		<field name="EHOSTUNREACH"/>
+		<field name="EIDRM"/>
+		<field name="EILSEQ"/>
+		<field name="EINPROGRESS"/>
+		<field name="EINTR"/>
+		<field name="EINVAL"/>
+		<field name="EIO"/>
+		<field name="EISCONN"/>
+		<field name="EISDIR"/>
+		<field name="ELOOP"/>
+		<field name="EMFILE"/>
+		<field name="EMLINK"/>
+		<field name="EMSGSIZE"/>
+		<field name="EMULTIHOP"/>
+		<field name="ENAMETOOLONG"/>
+		<field name="ENETDOWN"/>
+		<field name="ENETRESET"/>
+		<field name="ENETUNREACH"/>
+		<field name="ENFILE"/>
+		<field name="ENOBUFS"/>
+		<field name="ENODATA"/>
+		<field name="ENODEV"/>
+		<field name="ENOENT"/>
+		<field name="ENOEXEC"/>
+		<field name="ENOLCK"/>
+		<field name="ENOLINK"/>
+		<field name="ENOMEM"/>
+		<field name="ENOMSG"/>
+		<field name="ENONET" since="31"/>
+		<field name="ENOPROTOOPT"/>
+		<field name="ENOSPC"/>
+		<field name="ENOSR"/>
+		<field name="ENOSTR"/>
+		<field name="ENOSYS"/>
+		<field name="ENOTCONN"/>
+		<field name="ENOTDIR"/>
+		<field name="ENOTEMPTY"/>
+		<field name="ENOTSOCK"/>
+		<field name="ENOTSUP"/>
+		<field name="ENOTTY"/>
+		<field name="ENXIO"/>
+		<field name="EOPNOTSUPP"/>
+		<field name="EOVERFLOW"/>
+		<field name="EPERM"/>
+		<field name="EPIPE"/>
+		<field name="EPROTO"/>
+		<field name="EPROTONOSUPPORT"/>
+		<field name="EPROTOTYPE"/>
+		<field name="ERANGE"/>
+		<field name="EROFS"/>
+		<field name="ESPIPE"/>
+		<field name="ESRCH"/>
+		<field name="ESTALE"/>
+		<field name="ETH_P_ALL" since="29"/>
+		<field name="ETH_P_ARP" since="29"/>
+		<field name="ETH_P_IP" since="29"/>
+		<field name="ETH_P_IPV6" since="29"/>
+		<field name="ETIME"/>
+		<field name="ETIMEDOUT"/>
+		<field name="ETXTBSY"/>
+		<field name="EXDEV"/>
+		<field name="EXIT_FAILURE"/>
+		<field name="EXIT_SUCCESS"/>
+		<field name="FD_CLOEXEC"/>
+		<field name="FIONREAD"/>
+		<field name="F_DUPFD"/>
+		<field name="F_DUPFD_CLOEXEC" since="27"/>
+		<field name="F_GETFD"/>
+		<field name="F_GETFL"/>
+		<field name="F_GETLK"/>
+		<field name="F_GETLK64"/>
+		<field name="F_GETOWN"/>
+		<field name="F_OK"/>
+		<field name="F_RDLCK"/>
+		<field name="F_SETFD"/>
+		<field name="F_SETFL"/>
+		<field name="F_SETLK"/>
+		<field name="F_SETLK64"/>
+		<field name="F_SETLKW"/>
+		<field name="F_SETLKW64"/>
+		<field name="F_SETOWN"/>
+		<field name="F_UNLCK"/>
+		<field name="F_WRLCK"/>
+		<field name="ICMP6_ECHO_REPLY" since="29"/>
+		<field name="ICMP6_ECHO_REQUEST" since="29"/>
+		<field name="ICMP_ECHO" since="29"/>
+		<field name="ICMP_ECHOREPLY" since="29"/>
+		<field name="IFA_F_DADFAILED"/>
+		<field name="IFA_F_DEPRECATED"/>
+		<field name="IFA_F_HOMEADDRESS"/>
+		<field name="IFA_F_NODAD"/>
+		<field name="IFA_F_OPTIMISTIC"/>
+		<field name="IFA_F_PERMANENT"/>
+		<field name="IFA_F_SECONDARY"/>
+		<field name="IFA_F_TEMPORARY"/>
+		<field name="IFA_F_TENTATIVE"/>
+		<field name="IFF_ALLMULTI"/>
+		<field name="IFF_AUTOMEDIA"/>
+		<field name="IFF_BROADCAST"/>
+		<field name="IFF_DEBUG"/>
+		<field name="IFF_DYNAMIC"/>
+		<field name="IFF_LOOPBACK"/>
+		<field name="IFF_MASTER"/>
+		<field name="IFF_MULTICAST"/>
+		<field name="IFF_NOARP"/>
+		<field name="IFF_NOTRAILERS"/>
+		<field name="IFF_POINTOPOINT"/>
+		<field name="IFF_PORTSEL"/>
+		<field name="IFF_PROMISC"/>
+		<field name="IFF_RUNNING"/>
+		<field name="IFF_SLAVE"/>
+		<field name="IFF_UP"/>
+		<field name="IPPROTO_ICMP"/>
+		<field name="IPPROTO_ICMPV6"/>
+		<field name="IPPROTO_IP"/>
+		<field name="IPPROTO_IPV6"/>
+		<field name="IPPROTO_RAW"/>
+		<field name="IPPROTO_TCP"/>
+		<field name="IPPROTO_UDP"/>
+		<field name="IPV6_CHECKSUM"/>
+		<field name="IPV6_MULTICAST_HOPS"/>
+		<field name="IPV6_MULTICAST_IF"/>
+		<field name="IPV6_MULTICAST_LOOP"/>
+		<field name="IPV6_RECVDSTOPTS"/>
+		<field name="IPV6_RECVHOPLIMIT"/>
+		<field name="IPV6_RECVHOPOPTS"/>
+		<field name="IPV6_RECVPKTINFO"/>
+		<field name="IPV6_RECVRTHDR"/>
+		<field name="IPV6_RECVTCLASS"/>
+		<field name="IPV6_TCLASS"/>
+		<field name="IPV6_UNICAST_HOPS"/>
+		<field name="IPV6_V6ONLY"/>
+		<field name="IP_MULTICAST_IF"/>
+		<field name="IP_MULTICAST_LOOP"/>
+		<field name="IP_MULTICAST_TTL"/>
+		<field name="IP_TOS"/>
+		<field name="IP_TTL"/>
+		<field name="MAP_ANONYMOUS" since="30"/>
+		<field name="MAP_FIXED"/>
+		<field name="MAP_PRIVATE"/>
+		<field name="MAP_SHARED"/>
+		<field name="MCAST_BLOCK_SOURCE"/>
+		<field name="MCAST_JOIN_GROUP"/>
+		<field name="MCAST_JOIN_SOURCE_GROUP"/>
+		<field name="MCAST_LEAVE_GROUP"/>
+		<field name="MCAST_LEAVE_SOURCE_GROUP"/>
+		<field name="MCAST_UNBLOCK_SOURCE"/>
+		<field name="MCL_CURRENT"/>
+		<field name="MCL_FUTURE"/>
+		<field name="MFD_CLOEXEC" since="30"/>
+		<field name="MSG_CTRUNC"/>
+		<field name="MSG_DONTROUTE"/>
+		<field name="MSG_EOR"/>
+		<field name="MSG_OOB"/>
+		<field name="MSG_PEEK"/>
+		<field name="MSG_TRUNC"/>
+		<field name="MSG_WAITALL"/>
+		<field name="MS_ASYNC"/>
+		<field name="MS_INVALIDATE"/>
+		<field name="MS_SYNC"/>
+		<field name="NETLINK_INET_DIAG" since="29"/>
+		<field name="NETLINK_NETFILTER" since="30"/>
+		<field name="NETLINK_ROUTE" since="29"/>
+		<field name="NI_DGRAM"/>
+		<field name="NI_NAMEREQD"/>
+		<field name="NI_NOFQDN"/>
+		<field name="NI_NUMERICHOST"/>
+		<field name="NI_NUMERICSERV"/>
+		<field name="O_ACCMODE"/>
+		<field name="O_APPEND"/>
+		<field name="O_CLOEXEC" since="27"/>
+		<field name="O_CREAT"/>
+		<field name="O_DSYNC" since="27"/>
+		<field name="O_EXCL"/>
+		<field name="O_NOCTTY"/>
+		<field name="O_NOFOLLOW"/>
+		<field name="O_NONBLOCK"/>
+		<field name="O_RDONLY"/>
+		<field name="O_RDWR"/>
+		<field name="O_SYNC"/>
+		<field name="O_TRUNC"/>
+		<field name="O_WRONLY"/>
+		<field name="POLLERR"/>
+		<field name="POLLHUP"/>
+		<field name="POLLIN"/>
+		<field name="POLLNVAL"/>
+		<field name="POLLOUT"/>
+		<field name="POLLPRI"/>
+		<field name="POLLRDBAND"/>
+		<field name="POLLRDNORM"/>
+		<field name="POLLWRBAND"/>
+		<field name="POLLWRNORM"/>
+		<field name="PROT_EXEC"/>
+		<field name="PROT_NONE"/>
+		<field name="PROT_READ"/>
+		<field name="PROT_WRITE"/>
+		<field name="PR_GET_DUMPABLE"/>
+		<field name="PR_SET_DUMPABLE"/>
+		<field name="PR_SET_NO_NEW_PRIVS"/>
+		<field name="RTMGRP_NEIGH" since="29"/>
+		<field name="RT_SCOPE_HOST"/>
+		<field name="RT_SCOPE_LINK"/>
+		<field name="RT_SCOPE_NOWHERE"/>
+		<field name="RT_SCOPE_SITE"/>
+		<field name="RT_SCOPE_UNIVERSE"/>
+		<field name="R_OK"/>
+		<field name="SEEK_CUR"/>
+		<field name="SEEK_END"/>
+		<field name="SEEK_SET"/>
+		<field name="SHUT_RD"/>
+		<field name="SHUT_RDWR"/>
+		<field name="SHUT_WR"/>
+		<field name="SIGABRT"/>
+		<field name="SIGALRM"/>
+		<field name="SIGBUS"/>
+		<field name="SIGCHLD"/>
+		<field name="SIGCONT"/>
+		<field name="SIGFPE"/>
+		<field name="SIGHUP"/>
+		<field name="SIGILL"/>
+		<field name="SIGINT"/>
+		<field name="SIGIO"/>
+		<field name="SIGKILL"/>
+		<field name="SIGPIPE"/>
+		<field name="SIGPROF"/>
+		<field name="SIGPWR"/>
+		<field name="SIGQUIT"/>
+		<field name="SIGRTMAX"/>
+		<field name="SIGRTMIN"/>
+		<field name="SIGSEGV"/>
+		<field name="SIGSTKFLT"/>
+		<field name="SIGSTOP"/>
+		<field name="SIGSYS"/>
+		<field name="SIGTERM"/>
+		<field name="SIGTRAP"/>
+		<field name="SIGTSTP"/>
+		<field name="SIGTTIN"/>
+		<field name="SIGTTOU"/>
+		<field name="SIGURG"/>
+		<field name="SIGUSR1"/>
+		<field name="SIGUSR2"/>
+		<field name="SIGVTALRM"/>
+		<field name="SIGWINCH"/>
+		<field name="SIGXCPU"/>
+		<field name="SIGXFSZ"/>
+		<field name="SIOCGIFADDR"/>
+		<field name="SIOCGIFBRDADDR"/>
+		<field name="SIOCGIFDSTADDR"/>
+		<field name="SIOCGIFNETMASK"/>
+		<field name="SOCK_CLOEXEC" since="29"/>
+		<field name="SOCK_DGRAM"/>
+		<field name="SOCK_NONBLOCK" since="29"/>
+		<field name="SOCK_RAW"/>
+		<field name="SOCK_SEQPACKET"/>
+		<field name="SOCK_STREAM"/>
+		<field name="SOL_SOCKET"/>
+		<field name="SOL_UDP" since="31"/>
+		<field name="SO_BINDTODEVICE"/>
+		<field name="SO_BROADCAST"/>
+		<field name="SO_DEBUG"/>
+		<field name="SO_DONTROUTE"/>
+		<field name="SO_ERROR"/>
+		<field name="SO_KEEPALIVE"/>
+		<field name="SO_LINGER"/>
+		<field name="SO_OOBINLINE"/>
+		<field name="SO_PASSCRED"/>
+		<field name="SO_PEERCRED"/>
+		<field name="SO_RCVBUF"/>
+		<field name="SO_RCVLOWAT"/>
+		<field name="SO_RCVTIMEO"/>
+		<field name="SO_REUSEADDR"/>
+		<field name="SO_SNDBUF"/>
+		<field name="SO_SNDLOWAT"/>
+		<field name="SO_SNDTIMEO"/>
+		<field name="SO_TYPE"/>
+		<field name="STDERR_FILENO"/>
+		<field name="STDIN_FILENO"/>
+		<field name="STDOUT_FILENO"/>
+		<field name="ST_MANDLOCK" since="23"/>
+		<field name="ST_NOATIME" since="23"/>
+		<field name="ST_NODEV" since="23"/>
+		<field name="ST_NODIRATIME" since="23"/>
+		<field name="ST_NOEXEC" since="23"/>
+		<field name="ST_NOSUID" since="23"/>
+		<field name="ST_RDONLY" since="23"/>
+		<field name="ST_RELATIME" since="23"/>
+		<field name="ST_SYNCHRONOUS" since="23"/>
+		<field name="S_IFBLK"/>
+		<field name="S_IFCHR"/>
+		<field name="S_IFDIR"/>
+		<field name="S_IFIFO"/>
+		<field name="S_IFLNK"/>
+		<field name="S_IFMT"/>
+		<field name="S_IFREG"/>
+		<field name="S_IFSOCK"/>
+		<field name="S_IRGRP"/>
+		<field name="S_IROTH"/>
+		<field name="S_IRUSR"/>
+		<field name="S_IRWXG"/>
+		<field name="S_IRWXO"/>
+		<field name="S_IRWXU"/>
+		<field name="S_ISGID"/>
+		<field name="S_ISUID"/>
+		<field name="S_ISVTX"/>
+		<field name="S_IWGRP"/>
+		<field name="S_IWOTH"/>
+		<field name="S_IWUSR"/>
+		<field name="S_IXGRP"/>
+		<field name="S_IXOTH"/>
+		<field name="S_IXUSR"/>
+		<field name="TCP_NODELAY"/>
+		<field name="TCP_USER_TIMEOUT" since="26"/>
+		<field name="UDP_GRO" since="31"/>
+		<field name="UDP_SEGMENT" since="31"/>
+		<field name="VMADDR_CID_ANY" since="31"/>
+		<field name="VMADDR_CID_HOST" since="31"/>
+		<field name="VMADDR_CID_LOCAL" since="31"/>
+		<field name="VMADDR_PORT_ANY" since="31"/>
+		<field name="WCONTINUED"/>
+		<field name="WEXITED"/>
+		<field name="WNOHANG"/>
+		<field name="WNOWAIT"/>
+		<field name="WSTOPPED"/>
+		<field name="WUNTRACED"/>
+		<field name="W_OK"/>
+		<field name="X_OK"/>
+		<field name="_SC_2_CHAR_TERM"/>
+		<field name="_SC_2_C_BIND"/>
+		<field name="_SC_2_C_DEV"/>
+		<field name="_SC_2_C_VERSION"/>
+		<field name="_SC_2_FORT_DEV"/>
+		<field name="_SC_2_FORT_RUN"/>
+		<field name="_SC_2_LOCALEDEF"/>
+		<field name="_SC_2_SW_DEV"/>
+		<field name="_SC_2_UPE"/>
+		<field name="_SC_2_VERSION"/>
+		<field name="_SC_AIO_LISTIO_MAX"/>
+		<field name="_SC_AIO_MAX"/>
+		<field name="_SC_AIO_PRIO_DELTA_MAX"/>
+		<field name="_SC_ARG_MAX"/>
+		<field name="_SC_ASYNCHRONOUS_IO"/>
+		<field name="_SC_ATEXIT_MAX"/>
+		<field name="_SC_AVPHYS_PAGES"/>
+		<field name="_SC_BC_BASE_MAX"/>
+		<field name="_SC_BC_DIM_MAX"/>
+		<field name="_SC_BC_SCALE_MAX"/>
+		<field name="_SC_BC_STRING_MAX"/>
+		<field name="_SC_CHILD_MAX"/>
+		<field name="_SC_CLK_TCK"/>
+		<field name="_SC_COLL_WEIGHTS_MAX"/>
+		<field name="_SC_DELAYTIMER_MAX"/>
+		<field name="_SC_EXPR_NEST_MAX"/>
+		<field name="_SC_FSYNC"/>
+		<field name="_SC_GETGR_R_SIZE_MAX"/>
+		<field name="_SC_GETPW_R_SIZE_MAX"/>
+		<field name="_SC_IOV_MAX"/>
+		<field name="_SC_JOB_CONTROL"/>
+		<field name="_SC_LINE_MAX"/>
+		<field name="_SC_LOGIN_NAME_MAX"/>
+		<field name="_SC_MAPPED_FILES"/>
+		<field name="_SC_MEMLOCK"/>
+		<field name="_SC_MEMLOCK_RANGE"/>
+		<field name="_SC_MEMORY_PROTECTION"/>
+		<field name="_SC_MESSAGE_PASSING"/>
+		<field name="_SC_MQ_OPEN_MAX"/>
+		<field name="_SC_MQ_PRIO_MAX"/>
+		<field name="_SC_NGROUPS_MAX"/>
+		<field name="_SC_NPROCESSORS_CONF"/>
+		<field name="_SC_NPROCESSORS_ONLN"/>
+		<field name="_SC_OPEN_MAX"/>
+		<field name="_SC_PAGESIZE"/>
+		<field name="_SC_PAGE_SIZE"/>
+		<field name="_SC_PASS_MAX"/>
+		<field name="_SC_PHYS_PAGES"/>
+		<field name="_SC_PRIORITIZED_IO"/>
+		<field name="_SC_PRIORITY_SCHEDULING"/>
+		<field name="_SC_REALTIME_SIGNALS"/>
+		<field name="_SC_RE_DUP_MAX"/>
+		<field name="_SC_RTSIG_MAX"/>
+		<field name="_SC_SAVED_IDS"/>
+		<field name="_SC_SEMAPHORES"/>
+		<field name="_SC_SEM_NSEMS_MAX"/>
+		<field name="_SC_SEM_VALUE_MAX"/>
+		<field name="_SC_SHARED_MEMORY_OBJECTS"/>
+		<field name="_SC_SIGQUEUE_MAX"/>
+		<field name="_SC_STREAM_MAX"/>
+		<field name="_SC_SYNCHRONIZED_IO"/>
+		<field name="_SC_THREADS"/>
+		<field name="_SC_THREAD_ATTR_STACKADDR"/>
+		<field name="_SC_THREAD_ATTR_STACKSIZE"/>
+		<field name="_SC_THREAD_DESTRUCTOR_ITERATIONS"/>
+		<field name="_SC_THREAD_KEYS_MAX"/>
+		<field name="_SC_THREAD_PRIORITY_SCHEDULING"/>
+		<field name="_SC_THREAD_PRIO_INHERIT"/>
+		<field name="_SC_THREAD_PRIO_PROTECT"/>
+		<field name="_SC_THREAD_SAFE_FUNCTIONS"/>
+		<field name="_SC_THREAD_STACK_MIN"/>
+		<field name="_SC_THREAD_THREADS_MAX"/>
+		<field name="_SC_TIMERS"/>
+		<field name="_SC_TIMER_MAX"/>
+		<field name="_SC_TTY_NAME_MAX"/>
+		<field name="_SC_TZNAME_MAX"/>
+		<field name="_SC_VERSION"/>
+		<field name="_SC_XBS5_ILP32_OFF32"/>
+		<field name="_SC_XBS5_ILP32_OFFBIG"/>
+		<field name="_SC_XBS5_LP64_OFF64"/>
+		<field name="_SC_XBS5_LPBIG_OFFBIG"/>
+		<field name="_SC_XOPEN_CRYPT"/>
+		<field name="_SC_XOPEN_ENH_I18N"/>
+		<field name="_SC_XOPEN_LEGACY"/>
+		<field name="_SC_XOPEN_REALTIME"/>
+		<field name="_SC_XOPEN_REALTIME_THREADS"/>
+		<field name="_SC_XOPEN_SHM"/>
+		<field name="_SC_XOPEN_UNIX"/>
+		<field name="_SC_XOPEN_VERSION"/>
+		<field name="_SC_XOPEN_XCU_VERSION"/>
+	</class>
+	<class name="android/system/StructCmsghdr" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IIS)V"/>
+		<method name="&lt;init>(II[B)V"/>
+		<field name="cmsg_data"/>
+		<field name="cmsg_level"/>
+		<field name="cmsg_type"/>
+	</class>
+	<class name="android/system/StructMsghdr" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/net/SocketAddress;[Ljava/nio/ByteBuffer;[Landroid/system/StructCmsghdr;I)V"/>
+		<field name="msg_control"/>
+		<field name="msg_flags"/>
+		<field name="msg_iov"/>
+		<field name="msg_name"/>
+	</class>
+	<class name="android/system/StructPollfd" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="events"/>
+		<field name="fd"/>
+		<field name="revents"/>
+		<field name="userData"/>
+	</class>
+	<class name="android/system/StructStat" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(JJIJIIJJJJJJJ)V"/>
+		<method name="&lt;init>(JJIJIIJJLandroid/system/StructTimespec;Landroid/system/StructTimespec;Landroid/system/StructTimespec;JJ)V" since="27"/>
+		<field name="st_atim" since="27"/>
+		<field name="st_atime"/>
+		<field name="st_blksize"/>
+		<field name="st_blocks"/>
+		<field name="st_ctim" since="27"/>
+		<field name="st_ctime"/>
+		<field name="st_dev"/>
+		<field name="st_gid"/>
+		<field name="st_ino"/>
+		<field name="st_mode"/>
+		<field name="st_mtim" since="27"/>
+		<field name="st_mtime"/>
+		<field name="st_nlink"/>
+		<field name="st_rdev"/>
+		<field name="st_size"/>
+		<field name="st_uid"/>
+	</class>
+	<class name="android/system/StructStatVfs" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(JJJJJJJJJJJ)V"/>
+		<field name="f_bavail"/>
+		<field name="f_bfree"/>
+		<field name="f_blocks"/>
+		<field name="f_bsize"/>
+		<field name="f_favail"/>
+		<field name="f_ffree"/>
+		<field name="f_files"/>
+		<field name="f_flag"/>
+		<field name="f_frsize"/>
+		<field name="f_fsid"/>
+		<field name="f_namemax"/>
+	</class>
+	<class name="android/system/StructTimespec" since="27">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(JJ)V"/>
+		<method name="compareTo(Landroid/system/StructTimespec;)I"/>
+		<field name="tv_nsec"/>
+		<field name="tv_sec"/>
+	</class>
+	<class name="android/system/StructTimeval" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="fromMillis(J)Landroid/system/StructTimeval;"/>
+		<method name="toMillis()J"/>
+		<field name="tv_sec"/>
+		<field name="tv_usec"/>
+	</class>
+	<class name="android/system/StructUtsname" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="machine"/>
+		<field name="nodename"/>
+		<field name="release"/>
+		<field name="sysname"/>
+		<field name="version"/>
+	</class>
+	<class name="android/telecom/Call" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="addConferenceParticipants(Ljava/util/List;)V" since="31"/>
+		<method name="answer(I)V"/>
+		<method name="conference(Landroid/telecom/Call;)V"/>
+		<method name="deflect(Landroid/net/Uri;)V" since="28"/>
+		<method name="disconnect()V"/>
+		<method name="getCannedTextResponses()Ljava/util/List;"/>
+		<method name="getChildren()Ljava/util/List;"/>
+		<method name="getConferenceableCalls()Ljava/util/List;"/>
+		<method name="getDetails()Landroid/telecom/Call$Details;"/>
+		<method name="getGenericConferenceActiveChildCall()Landroid/telecom/Call;" since="30"/>
+		<method name="getParent()Landroid/telecom/Call;"/>
+		<method name="getRemainingPostDialSequence()Ljava/lang/String;"/>
+		<method name="getRttCall()Landroid/telecom/Call$RttCall;" since="26"/>
+		<method name="getState()I" deprecated="31"/>
+		<method name="getVideoCall()Landroid/telecom/InCallService$VideoCall;"/>
+		<method name="handoverTo(Landroid/telecom/PhoneAccountHandle;ILandroid/os/Bundle;)V" since="28"/>
+		<method name="hold()V"/>
+		<method name="isRttActive()Z" since="26"/>
+		<method name="mergeConference()V"/>
+		<method name="phoneAccountSelected(Landroid/telecom/PhoneAccountHandle;Z)V"/>
+		<method name="playDtmfTone(C)V"/>
+		<method name="postDialContinue(Z)V"/>
+		<method name="pullExternalCall()V" since="25"/>
+		<method name="putExtras(Landroid/os/Bundle;)V" since="25"/>
+		<method name="registerCallback(Landroid/telecom/Call$Callback;)V"/>
+		<method name="registerCallback(Landroid/telecom/Call$Callback;Landroid/os/Handler;)V"/>
+		<method name="reject(I)V" since="30"/>
+		<method name="reject(ZLjava/lang/String;)V"/>
+		<method name="removeExtras(Ljava/util/List;)V" since="25"/>
+		<method name="removeExtras([Ljava/lang/String;)V" since="25"/>
+		<method name="respondToRttRequest(IZ)V" since="26"/>
+		<method name="sendCallEvent(Ljava/lang/String;Landroid/os/Bundle;)V" since="25"/>
+		<method name="sendRttRequest()V" since="26"/>
+		<method name="splitFromConference()V"/>
+		<method name="stopDtmfTone()V"/>
+		<method name="stopRtt()V" since="26"/>
+		<method name="swapConference()V"/>
+		<method name="unhold()V"/>
+		<method name="unregisterCallback(Landroid/telecom/Call$Callback;)V"/>
+		<field name="AVAILABLE_PHONE_ACCOUNTS" deprecated="29"/>
+		<field name="EVENT_CLEAR_DIAGNOSTIC_MESSAGE" since="31"/>
+		<field name="EVENT_DISPLAY_DIAGNOSTIC_MESSAGE" since="31"/>
+		<field name="EXTRA_DIAGNOSTIC_MESSAGE" since="31"/>
+		<field name="EXTRA_DIAGNOSTIC_MESSAGE_ID" since="31"/>
+		<field name="EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS" since="26"/>
+		<field name="EXTRA_SILENT_RINGING_REQUESTED" since="29"/>
+		<field name="EXTRA_SUGGESTED_PHONE_ACCOUNTS" since="29"/>
+		<field name="REJECT_REASON_DECLINED" since="30"/>
+		<field name="REJECT_REASON_UNWANTED" since="30"/>
+		<field name="STATE_ACTIVE"/>
+		<field name="STATE_AUDIO_PROCESSING" since="30"/>
+		<field name="STATE_CONNECTING"/>
+		<field name="STATE_DIALING"/>
+		<field name="STATE_DISCONNECTED"/>
+		<field name="STATE_DISCONNECTING"/>
+		<field name="STATE_HOLDING"/>
+		<field name="STATE_NEW"/>
+		<field name="STATE_PULLING_CALL" since="25"/>
+		<field name="STATE_RINGING"/>
+		<field name="STATE_SELECT_PHONE_ACCOUNT"/>
+		<field name="STATE_SIMULATED_RINGING" since="30"/>
+	</class>
+	<class name="android/telecom/Call$Callback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCallDestroyed(Landroid/telecom/Call;)V"/>
+		<method name="onCannedTextResponsesLoaded(Landroid/telecom/Call;Ljava/util/List;)V"/>
+		<method name="onChildrenChanged(Landroid/telecom/Call;Ljava/util/List;)V"/>
+		<method name="onConferenceableCallsChanged(Landroid/telecom/Call;Ljava/util/List;)V"/>
+		<method name="onConnectionEvent(Landroid/telecom/Call;Ljava/lang/String;Landroid/os/Bundle;)V" since="25"/>
+		<method name="onDetailsChanged(Landroid/telecom/Call;Landroid/telecom/Call$Details;)V"/>
+		<method name="onHandoverComplete(Landroid/telecom/Call;)V" since="28"/>
+		<method name="onHandoverFailed(Landroid/telecom/Call;I)V" since="28"/>
+		<method name="onParentChanged(Landroid/telecom/Call;Landroid/telecom/Call;)V"/>
+		<method name="onPostDialWait(Landroid/telecom/Call;Ljava/lang/String;)V"/>
+		<method name="onRttInitiationFailure(Landroid/telecom/Call;I)V" since="26"/>
+		<method name="onRttModeChanged(Landroid/telecom/Call;I)V" since="26"/>
+		<method name="onRttRequest(Landroid/telecom/Call;I)V" since="26"/>
+		<method name="onRttStatusChanged(Landroid/telecom/Call;ZLandroid/telecom/Call$RttCall;)V" since="26"/>
+		<method name="onStateChanged(Landroid/telecom/Call;I)V"/>
+		<method name="onVideoCallChanged(Landroid/telecom/Call;Landroid/telecom/InCallService$VideoCall;)V"/>
+		<field name="HANDOVER_FAILURE_DEST_APP_REJECTED" since="28"/>
+		<field name="HANDOVER_FAILURE_NOT_SUPPORTED" since="28"/>
+		<field name="HANDOVER_FAILURE_ONGOING_EMERGENCY_CALL" since="28"/>
+		<field name="HANDOVER_FAILURE_UNKNOWN" since="28"/>
+		<field name="HANDOVER_FAILURE_USER_REJECTED" since="28"/>
+	</class>
+	<class name="android/telecom/Call$Details" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="can(I)Z"/>
+		<method name="can(II)Z"/>
+		<method name="capabilitiesToString(I)Ljava/lang/String;"/>
+		<method name="getAccountHandle()Landroid/telecom/PhoneAccountHandle;"/>
+		<method name="getCallCapabilities()I"/>
+		<method name="getCallDirection()I" since="29"/>
+		<method name="getCallProperties()I"/>
+		<method name="getCallerDisplayName()Ljava/lang/String;"/>
+		<method name="getCallerDisplayNamePresentation()I"/>
+		<method name="getCallerNumberVerificationStatus()I" since="30"/>
+		<method name="getConnectTimeMillis()J"/>
+		<method name="getContactDisplayName()Ljava/lang/String;" since="30"/>
+		<method name="getCreationTimeMillis()J" since="26"/>
+		<method name="getDisconnectCause()Landroid/telecom/DisconnectCause;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getGatewayInfo()Landroid/telecom/GatewayInfo;"/>
+		<method name="getHandle()Landroid/net/Uri;"/>
+		<method name="getHandlePresentation()I"/>
+		<method name="getIntentExtras()Landroid/os/Bundle;"/>
+		<method name="getState()I" since="31"/>
+		<method name="getStatusHints()Landroid/telecom/StatusHints;"/>
+		<method name="getVideoState()I"/>
+		<method name="hasProperty(I)Z"/>
+		<method name="hasProperty(II)Z"/>
+		<method name="propertiesToString(I)Ljava/lang/String;"/>
+		<field name="CAPABILITY_ADD_PARTICIPANT" since="31"/>
+		<field name="CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" since="24"/>
+		<field name="CAPABILITY_CAN_PAUSE_VIDEO"/>
+		<field name="CAPABILITY_CAN_PULL_CALL" since="25"/>
+		<field name="CAPABILITY_DISCONNECT_FROM_CONFERENCE"/>
+		<field name="CAPABILITY_HOLD"/>
+		<field name="CAPABILITY_MANAGE_CONFERENCE"/>
+		<field name="CAPABILITY_MERGE_CONFERENCE"/>
+		<field name="CAPABILITY_MUTE"/>
+		<field name="CAPABILITY_RESPOND_VIA_TEXT"/>
+		<field name="CAPABILITY_SEPARATE_FROM_CONFERENCE"/>
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL"/>
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_RX"/>
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_TX"/>
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL"/>
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_RX"/>
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_TX"/>
+		<field name="CAPABILITY_SUPPORT_DEFLECT" since="28"/>
+		<field name="CAPABILITY_SUPPORT_HOLD"/>
+		<field name="CAPABILITY_SWAP_CONFERENCE"/>
+		<field name="DIRECTION_INCOMING" since="29"/>
+		<field name="DIRECTION_OUTGOING" since="29"/>
+		<field name="DIRECTION_UNKNOWN" since="29"/>
+		<field name="PROPERTY_ASSISTED_DIALING" since="30"/>
+		<field name="PROPERTY_CONFERENCE"/>
+		<field name="PROPERTY_CROSS_SIM" since="31"/>
+		<field name="PROPERTY_EMERGENCY_CALLBACK_MODE"/>
+		<field name="PROPERTY_ENTERPRISE_CALL" since="24"/>
+		<field name="PROPERTY_GENERIC_CONFERENCE"/>
+		<field name="PROPERTY_HAS_CDMA_VOICE_PRIVACY" since="25"/>
+		<field name="PROPERTY_HIGH_DEF_AUDIO"/>
+		<field name="PROPERTY_IS_ADHOC_CONFERENCE" since="31"/>
+		<field name="PROPERTY_IS_EXTERNAL_CALL" since="25"/>
+		<field name="PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL" since="29"/>
+		<field name="PROPERTY_RTT" since="28"/>
+		<field name="PROPERTY_SELF_MANAGED" since="26"/>
+		<field name="PROPERTY_VOIP_AUDIO_MODE" since="29"/>
+		<field name="PROPERTY_WIFI"/>
+	</class>
+	<class name="android/telecom/Call$RttCall" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getRttAudioMode()I"/>
+		<method name="read()Ljava/lang/String;"/>
+		<method name="readImmediately()Ljava/lang/String;" since="27"/>
+		<method name="setRttMode(I)V"/>
+		<method name="write(Ljava/lang/String;)V"/>
+		<field name="RTT_MODE_FULL"/>
+		<field name="RTT_MODE_HCO"/>
+		<field name="RTT_MODE_VCO"/>
+	</class>
+	<class name="android/telecom/CallAudioState" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(ZII)V"/>
+		<method name="audioRouteToString(I)Ljava/lang/String;"/>
+		<method name="getActiveBluetoothDevice()Landroid/bluetooth/BluetoothDevice;" since="28"/>
+		<method name="getRoute()I"/>
+		<method name="getSupportedBluetoothDevices()Ljava/util/Collection;" since="28"/>
+		<method name="getSupportedRouteMask()I"/>
+		<method name="isMuted()Z"/>
+		<field name="CREATOR"/>
+		<field name="ROUTE_BLUETOOTH"/>
+		<field name="ROUTE_EARPIECE"/>
+		<field name="ROUTE_SPEAKER"/>
+		<field name="ROUTE_WIRED_HEADSET"/>
+		<field name="ROUTE_WIRED_OR_EARPIECE"/>
+	</class>
+	<class name="android/telecom/CallRedirectionService" since="29">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="cancelCall()V"/>
+		<method name="onPlaceCall(Landroid/net/Uri;Landroid/telecom/PhoneAccountHandle;Z)V"/>
+		<method name="placeCallUnmodified()V"/>
+		<method name="redirectCall(Landroid/net/Uri;Landroid/telecom/PhoneAccountHandle;Z)V"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/telecom/CallScreeningService" since="24">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onScreenCall(Landroid/telecom/Call$Details;)V"/>
+		<method name="respondToCall(Landroid/telecom/Call$Details;Landroid/telecom/CallScreeningService$CallResponse;)V"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/telecom/CallScreeningService$CallResponse" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getCallComposerAttachmentsToShow()I" since="31"/>
+		<method name="getDisallowCall()Z"/>
+		<method name="getRejectCall()Z"/>
+		<method name="getSilenceCall()Z" since="29"/>
+		<method name="getSkipCallLog()Z"/>
+		<method name="getSkipNotification()Z"/>
+		<field name="CALL_COMPOSER_ATTACHMENT_LOCATION" since="31"/>
+		<field name="CALL_COMPOSER_ATTACHMENT_PICTURE" since="31"/>
+		<field name="CALL_COMPOSER_ATTACHMENT_PRIORITY" since="31"/>
+		<field name="CALL_COMPOSER_ATTACHMENT_SUBJECT" since="31"/>
+	</class>
+	<class name="android/telecom/CallScreeningService$CallResponse$Builder" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/telecom/CallScreeningService$CallResponse;"/>
+		<method name="setCallComposerAttachmentsToShow(I)Landroid/telecom/CallScreeningService$CallResponse$Builder;" since="31"/>
+		<method name="setDisallowCall(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;"/>
+		<method name="setRejectCall(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;"/>
+		<method name="setSilenceCall(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;" since="29"/>
+		<method name="setSkipCallLog(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;"/>
+		<method name="setSkipNotification(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;"/>
+	</class>
+	<class name="android/telecom/Conference" since="23">
+		<extends name="android/telecom/Conferenceable"/>
+		<method name="&lt;init>(Landroid/telecom/PhoneAccountHandle;)V"/>
+		<method name="addConnection(Landroid/telecom/Connection;)Z"/>
+		<method name="createFailedConference(Landroid/telecom/DisconnectCause;Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/Conference;" since="31"/>
+		<method name="destroy()V"/>
+		<method name="getCallAudioState()Landroid/telecom/CallAudioState;"/>
+		<method name="getConferenceableConnections()Ljava/util/List;"/>
+		<method name="getConnectionCapabilities()I"/>
+		<method name="getConnectionProperties()I" since="25"/>
+		<method name="getConnectionStartElapsedRealtimeMillis()J" since="30"/>
+		<method name="getConnectionTime()J"/>
+		<method name="getConnections()Ljava/util/List;"/>
+		<method name="getDisconnectCause()Landroid/telecom/DisconnectCause;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getPhoneAccountHandle()Landroid/telecom/PhoneAccountHandle;"/>
+		<method name="getState()I"/>
+		<method name="getStatusHints()Landroid/telecom/StatusHints;"/>
+		<method name="getVideoProvider()Landroid/telecom/Connection$VideoProvider;"/>
+		<method name="getVideoState()I"/>
+		<method name="isRingbackRequested()Z" since="31"/>
+		<method name="onAddConferenceParticipants(Ljava/util/List;)V" since="31"/>
+		<method name="onAnswer(I)V" since="31"/>
+		<method name="onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V"/>
+		<method name="onConnectionAdded(Landroid/telecom/Connection;)V"/>
+		<method name="onDisconnect()V"/>
+		<method name="onExtrasChanged(Landroid/os/Bundle;)V" since="25"/>
+		<method name="onHold()V"/>
+		<method name="onMerge()V"/>
+		<method name="onMerge(Landroid/telecom/Connection;)V"/>
+		<method name="onPlayDtmfTone(C)V"/>
+		<method name="onReject()V" since="31"/>
+		<method name="onSeparate(Landroid/telecom/Connection;)V"/>
+		<method name="onStopDtmfTone()V"/>
+		<method name="onSwap()V"/>
+		<method name="onUnhold()V"/>
+		<method name="putExtras(Landroid/os/Bundle;)V" since="25"/>
+		<method name="removeConnection(Landroid/telecom/Connection;)V"/>
+		<method name="removeExtras(Ljava/util/List;)V" since="25"/>
+		<method name="removeExtras([Ljava/lang/String;)V" since="25"/>
+		<method name="sendConferenceEvent(Ljava/lang/String;Landroid/os/Bundle;)V" since="30"/>
+		<method name="setActive()V"/>
+		<method name="setConferenceableConnections(Ljava/util/List;)V"/>
+		<method name="setConnectionCapabilities(I)V"/>
+		<method name="setConnectionProperties(I)V" since="25"/>
+		<method name="setConnectionStartElapsedRealTime(J)V" since="28" deprecated="30"/>
+		<method name="setConnectionStartElapsedRealtimeMillis(J)V" since="30"/>
+		<method name="setConnectionTime(J)V"/>
+		<method name="setDialing()V"/>
+		<method name="setDisconnected(Landroid/telecom/DisconnectCause;)V"/>
+		<method name="setExtras(Landroid/os/Bundle;)V"/>
+		<method name="setOnHold()V"/>
+		<method name="setRingbackRequested(Z)V" since="31"/>
+		<method name="setRinging()V" since="31"/>
+		<method name="setStatusHints(Landroid/telecom/StatusHints;)V"/>
+		<method name="setVideoProvider(Landroid/telecom/Connection;Landroid/telecom/Connection$VideoProvider;)V"/>
+		<method name="setVideoState(Landroid/telecom/Connection;I)V"/>
+		<field name="CONNECT_TIME_NOT_SPECIFIED"/>
+	</class>
+	<class name="android/telecom/Conferenceable" since="23">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/telecom/Connection" since="23">
+		<extends name="android/telecom/Conferenceable"/>
+		<method name="&lt;init>()V"/>
+		<method name="capabilitiesToString(I)Ljava/lang/String;"/>
+		<method name="createCanceledConnection()Landroid/telecom/Connection;"/>
+		<method name="createFailedConnection(Landroid/telecom/DisconnectCause;)Landroid/telecom/Connection;"/>
+		<method name="destroy()V"/>
+		<method name="getAddress()Landroid/net/Uri;"/>
+		<method name="getAddressPresentation()I"/>
+		<method name="getAudioModeIsVoip()Z"/>
+		<method name="getCallAudioState()Landroid/telecom/CallAudioState;"/>
+		<method name="getCallerDisplayName()Ljava/lang/String;"/>
+		<method name="getCallerDisplayNamePresentation()I"/>
+		<method name="getCallerNumberVerificationStatus()I" since="30"/>
+		<method name="getConference()Landroid/telecom/Conference;"/>
+		<method name="getConferenceables()Ljava/util/List;"/>
+		<method name="getConnectionCapabilities()I"/>
+		<method name="getConnectionProperties()I" since="25"/>
+		<method name="getDisconnectCause()Landroid/telecom/DisconnectCause;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getState()I"/>
+		<method name="getStatusHints()Landroid/telecom/StatusHints;"/>
+		<method name="getVideoProvider()Landroid/telecom/Connection$VideoProvider;"/>
+		<method name="getVideoState()I" since="30"/>
+		<method name="handleRttUpgradeResponse(Landroid/telecom/Connection$RttTextStream;)V" since="28"/>
+		<method name="isRingbackRequested()Z"/>
+		<method name="notifyConferenceMergeFailed()V" since="30"/>
+		<method name="onAbort()V"/>
+		<method name="onAddConferenceParticipants(Ljava/util/List;)V" since="31"/>
+		<method name="onAnswer()V"/>
+		<method name="onAnswer(I)V"/>
+		<method name="onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V"/>
+		<method name="onCallEvent(Ljava/lang/String;Landroid/os/Bundle;)V" since="25"/>
+		<method name="onDeflect(Landroid/net/Uri;)V" since="28"/>
+		<method name="onDisconnect()V"/>
+		<method name="onExtrasChanged(Landroid/os/Bundle;)V" since="25"/>
+		<method name="onHandoverComplete()V" since="28"/>
+		<method name="onHold()V"/>
+		<method name="onPlayDtmfTone(C)V"/>
+		<method name="onPostDialContinue(Z)V"/>
+		<method name="onPullExternalCall()V" since="25"/>
+		<method name="onReject()V"/>
+		<method name="onReject(I)V" since="30"/>
+		<method name="onReject(Ljava/lang/String;)V" since="24"/>
+		<method name="onSeparate()V"/>
+		<method name="onShowIncomingCallUi()V" since="26"/>
+		<method name="onSilence()V" since="29"/>
+		<method name="onStartRtt(Landroid/telecom/Connection$RttTextStream;)V" since="28"/>
+		<method name="onStateChanged(I)V"/>
+		<method name="onStopDtmfTone()V"/>
+		<method name="onStopRtt()V" since="28"/>
+		<method name="onTrackedByNonUiService(Z)V" since="31"/>
+		<method name="onUnhold()V"/>
+		<method name="onUsingAlternativeUi(Z)V" since="31"/>
+		<method name="propertiesToString(I)Ljava/lang/String;" since="25"/>
+		<method name="putExtras(Landroid/os/Bundle;)V" since="25"/>
+		<method name="removeExtras(Ljava/util/List;)V" since="25"/>
+		<method name="removeExtras([Ljava/lang/String;)V" since="25"/>
+		<method name="requestBluetoothAudio(Landroid/bluetooth/BluetoothDevice;)V" since="28"/>
+		<method name="sendConnectionEvent(Ljava/lang/String;Landroid/os/Bundle;)V" since="25"/>
+		<method name="sendRemoteRttRequest()V" since="28"/>
+		<method name="sendRttInitiationFailure(I)V" since="28"/>
+		<method name="sendRttInitiationSuccess()V" since="28"/>
+		<method name="sendRttSessionRemotelyTerminated()V" since="28"/>
+		<method name="setActive()V"/>
+		<method name="setAddress(Landroid/net/Uri;I)V"/>
+		<method name="setAudioModeIsVoip(Z)V"/>
+		<method name="setAudioRoute(I)V" since="26"/>
+		<method name="setCallerDisplayName(Ljava/lang/String;I)V"/>
+		<method name="setCallerNumberVerificationStatus(I)V" since="30"/>
+		<method name="setConferenceableConnections(Ljava/util/List;)V"/>
+		<method name="setConferenceables(Ljava/util/List;)V"/>
+		<method name="setConnectionCapabilities(I)V"/>
+		<method name="setConnectionProperties(I)V" since="25"/>
+		<method name="setDialing()V"/>
+		<method name="setDisconnected(Landroid/telecom/DisconnectCause;)V"/>
+		<method name="setExtras(Landroid/os/Bundle;)V"/>
+		<method name="setInitialized()V"/>
+		<method name="setInitializing()V"/>
+		<method name="setNextPostDialChar(C)V"/>
+		<method name="setOnHold()V"/>
+		<method name="setPostDialWait(Ljava/lang/String;)V"/>
+		<method name="setPulling()V" since="25"/>
+		<method name="setRingbackRequested(Z)V"/>
+		<method name="setRinging()V"/>
+		<method name="setStatusHints(Landroid/telecom/StatusHints;)V"/>
+		<method name="setVideoProvider(Landroid/telecom/Connection$VideoProvider;)V"/>
+		<method name="setVideoState(I)V"/>
+		<method name="stateToString(I)Ljava/lang/String;"/>
+		<field name="AUDIO_CODEC_AMR" since="30"/>
+		<field name="AUDIO_CODEC_AMR_WB" since="30"/>
+		<field name="AUDIO_CODEC_EVRC" since="30"/>
+		<field name="AUDIO_CODEC_EVRC_B" since="30"/>
+		<field name="AUDIO_CODEC_EVRC_NW" since="30"/>
+		<field name="AUDIO_CODEC_EVRC_WB" since="30"/>
+		<field name="AUDIO_CODEC_EVS_FB" since="30"/>
+		<field name="AUDIO_CODEC_EVS_NB" since="30"/>
+		<field name="AUDIO_CODEC_EVS_SWB" since="30"/>
+		<field name="AUDIO_CODEC_EVS_WB" since="30"/>
+		<field name="AUDIO_CODEC_G711A" since="30"/>
+		<field name="AUDIO_CODEC_G711AB" since="30"/>
+		<field name="AUDIO_CODEC_G711U" since="30"/>
+		<field name="AUDIO_CODEC_G722" since="30"/>
+		<field name="AUDIO_CODEC_G723" since="30"/>
+		<field name="AUDIO_CODEC_G729" since="30"/>
+		<field name="AUDIO_CODEC_GSM_EFR" since="30"/>
+		<field name="AUDIO_CODEC_GSM_FR" since="30"/>
+		<field name="AUDIO_CODEC_GSM_HR" since="30"/>
+		<field name="AUDIO_CODEC_NONE" since="30"/>
+		<field name="AUDIO_CODEC_QCELP13K" since="30"/>
+		<field name="CAPABILITY_ADD_PARTICIPANT" since="31"/>
+		<field name="CAPABILITY_CANNOT_DOWNGRADE_VIDEO_TO_AUDIO" since="24"/>
+		<field name="CAPABILITY_CAN_PAUSE_VIDEO"/>
+		<field name="CAPABILITY_CAN_PULL_CALL" since="25"/>
+		<field name="CAPABILITY_CAN_SEND_RESPONSE_VIA_CONNECTION" since="24"/>
+		<field name="CAPABILITY_CAN_UPGRADE_TO_VIDEO" deprecated="29"/>
+		<field name="CAPABILITY_DISCONNECT_FROM_CONFERENCE"/>
+		<field name="CAPABILITY_HOLD"/>
+		<field name="CAPABILITY_MANAGE_CONFERENCE"/>
+		<field name="CAPABILITY_MERGE_CONFERENCE"/>
+		<field name="CAPABILITY_MUTE"/>
+		<field name="CAPABILITY_RESPOND_VIA_TEXT"/>
+		<field name="CAPABILITY_SEPARATE_FROM_CONFERENCE"/>
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_BIDIRECTIONAL"/>
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_RX"/>
+		<field name="CAPABILITY_SUPPORTS_VT_LOCAL_TX"/>
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_BIDIRECTIONAL"/>
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_RX"/>
+		<field name="CAPABILITY_SUPPORTS_VT_REMOTE_TX"/>
+		<field name="CAPABILITY_SUPPORT_DEFLECT" since="28"/>
+		<field name="CAPABILITY_SUPPORT_HOLD"/>
+		<field name="CAPABILITY_SWAP_CONFERENCE"/>
+		<field name="EVENT_CALL_HOLD_FAILED" since="30"/>
+		<field name="EVENT_CALL_MERGE_FAILED" since="25"/>
+		<field name="EVENT_CALL_PULL_FAILED" since="25"/>
+		<field name="EVENT_CALL_REMOTELY_HELD" since="30"/>
+		<field name="EVENT_CALL_REMOTELY_UNHELD" since="30"/>
+		<field name="EVENT_CALL_SWITCH_FAILED" since="30"/>
+		<field name="EVENT_MERGE_COMPLETE" since="30"/>
+		<field name="EVENT_MERGE_START" since="30"/>
+		<field name="EVENT_ON_HOLD_TONE_END" since="30"/>
+		<field name="EVENT_ON_HOLD_TONE_START" since="30"/>
+		<field name="EVENT_RTT_AUDIO_INDICATION_CHANGED" since="29"/>
+		<field name="EXTRA_ANSWERING_DROPS_FG_CALL" since="25"/>
+		<field name="EXTRA_ANSWERING_DROPS_FG_CALL_APP_NAME" since="26"/>
+		<field name="EXTRA_AUDIO_CODEC" since="30"/>
+		<field name="EXTRA_AUDIO_CODEC_BANDWIDTH_KHZ" since="31"/>
+		<field name="EXTRA_AUDIO_CODEC_BITRATE_KBPS" since="31"/>
+		<field name="EXTRA_CALL_SUBJECT"/>
+		<field name="EXTRA_CHILD_ADDRESS"/>
+		<field name="EXTRA_IS_RTT_AUDIO_PRESENT" since="29"/>
+		<field name="EXTRA_LAST_FORWARDED_NUMBER"/>
+		<field name="EXTRA_SIP_INVITE" since="29"/>
+		<field name="PROPERTY_ASSISTED_DIALING" since="30"/>
+		<field name="PROPERTY_CROSS_SIM" since="31"/>
+		<field name="PROPERTY_HAS_CDMA_VOICE_PRIVACY" since="25"/>
+		<field name="PROPERTY_HIGH_DEF_AUDIO" since="30"/>
+		<field name="PROPERTY_IS_ADHOC_CONFERENCE" since="31"/>
+		<field name="PROPERTY_IS_EXTERNAL_CALL" since="25"/>
+		<field name="PROPERTY_IS_RTT" since="28"/>
+		<field name="PROPERTY_NETWORK_IDENTIFIED_EMERGENCY_CALL" since="30"/>
+		<field name="PROPERTY_SELF_MANAGED" since="26"/>
+		<field name="PROPERTY_WIFI" since="30"/>
+		<field name="STATE_ACTIVE"/>
+		<field name="STATE_DIALING"/>
+		<field name="STATE_DISCONNECTED"/>
+		<field name="STATE_HOLDING"/>
+		<field name="STATE_INITIALIZING"/>
+		<field name="STATE_NEW"/>
+		<field name="STATE_PULLING_CALL" since="25"/>
+		<field name="STATE_RINGING"/>
+		<field name="VERIFICATION_STATUS_FAILED" since="30"/>
+		<field name="VERIFICATION_STATUS_NOT_VERIFIED" since="30"/>
+		<field name="VERIFICATION_STATUS_PASSED" since="30"/>
+	</class>
+	<class name="android/telecom/Connection$RttModifyStatus" since="26">
+		<extends name="java/lang/Object"/>
+		<field name="SESSION_MODIFY_REQUEST_FAIL"/>
+		<field name="SESSION_MODIFY_REQUEST_INVALID"/>
+		<field name="SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE"/>
+		<field name="SESSION_MODIFY_REQUEST_SUCCESS"/>
+		<field name="SESSION_MODIFY_REQUEST_TIMED_OUT"/>
+	</class>
+	<class name="android/telecom/Connection$RttTextStream" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="read()Ljava/lang/String;"/>
+		<method name="readImmediately()Ljava/lang/String;"/>
+		<method name="write(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/telecom/Connection$VideoProvider" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="changeCameraCapabilities(Landroid/telecom/VideoProfile$CameraCapabilities;)V"/>
+		<method name="changePeerDimensions(II)V"/>
+		<method name="changeVideoQuality(I)V"/>
+		<method name="handleCallSessionEvent(I)V"/>
+		<method name="onRequestCameraCapabilities()V"/>
+		<method name="onRequestConnectionDataUsage()V"/>
+		<method name="onSendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V"/>
+		<method name="onSendSessionModifyResponse(Landroid/telecom/VideoProfile;)V"/>
+		<method name="onSetCamera(Ljava/lang/String;)V"/>
+		<method name="onSetDeviceOrientation(I)V"/>
+		<method name="onSetDisplaySurface(Landroid/view/Surface;)V"/>
+		<method name="onSetPauseImage(Landroid/net/Uri;)V"/>
+		<method name="onSetPreviewSurface(Landroid/view/Surface;)V"/>
+		<method name="onSetZoom(F)V"/>
+		<method name="receiveSessionModifyRequest(Landroid/telecom/VideoProfile;)V"/>
+		<method name="receiveSessionModifyResponse(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V"/>
+		<method name="setCallDataUsage(J)V"/>
+		<field name="SESSION_EVENT_CAMERA_FAILURE"/>
+		<field name="SESSION_EVENT_CAMERA_PERMISSION_ERROR" since="26"/>
+		<field name="SESSION_EVENT_CAMERA_READY"/>
+		<field name="SESSION_EVENT_RX_PAUSE"/>
+		<field name="SESSION_EVENT_RX_RESUME"/>
+		<field name="SESSION_EVENT_TX_START"/>
+		<field name="SESSION_EVENT_TX_STOP"/>
+		<field name="SESSION_MODIFY_REQUEST_FAIL"/>
+		<field name="SESSION_MODIFY_REQUEST_INVALID"/>
+		<field name="SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE"/>
+		<field name="SESSION_MODIFY_REQUEST_SUCCESS"/>
+		<field name="SESSION_MODIFY_REQUEST_TIMED_OUT"/>
+	</class>
+	<class name="android/telecom/ConnectionRequest" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;Landroid/os/Bundle;)V"/>
+		<method name="&lt;init>(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;Landroid/os/Bundle;I)V"/>
+		<method name="getAccountHandle()Landroid/telecom/PhoneAccountHandle;"/>
+		<method name="getAddress()Landroid/net/Uri;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getParticipants()Ljava/util/List;" since="30"/>
+		<method name="getRttTextStream()Landroid/telecom/Connection$RttTextStream;" since="28"/>
+		<method name="getVideoState()I"/>
+		<method name="isAdhocConferenceCall()Z" since="30"/>
+		<method name="isRequestingRtt()Z" since="28"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telecom/ConnectionService" since="23">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="addConference(Landroid/telecom/Conference;)V"/>
+		<method name="addExistingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/Connection;)V"/>
+		<method name="conferenceRemoteConnections(Landroid/telecom/RemoteConnection;Landroid/telecom/RemoteConnection;)V"/>
+		<method name="connectionServiceFocusReleased()V" since="28"/>
+		<method name="createRemoteIncomingConference(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/RemoteConference;" since="31"/>
+		<method name="createRemoteIncomingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/RemoteConnection;"/>
+		<method name="createRemoteOutgoingConference(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/RemoteConference;" since="31"/>
+		<method name="createRemoteOutgoingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/RemoteConnection;"/>
+		<method name="getAllConferences()Ljava/util/Collection;" since="24"/>
+		<method name="getAllConnections()Ljava/util/Collection;"/>
+		<method name="onConference(Landroid/telecom/Connection;Landroid/telecom/Connection;)V"/>
+		<method name="onConnectionServiceFocusGained()V" since="28"/>
+		<method name="onConnectionServiceFocusLost()V" since="28"/>
+		<method name="onCreateIncomingConference(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Conference;" since="31"/>
+		<method name="onCreateIncomingConferenceFailed(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)V" since="31"/>
+		<method name="onCreateIncomingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Connection;"/>
+		<method name="onCreateIncomingConnectionFailed(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)V" since="26"/>
+		<method name="onCreateIncomingHandoverConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Connection;" since="28"/>
+		<method name="onCreateOutgoingConference(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Conference;" since="31"/>
+		<method name="onCreateOutgoingConferenceFailed(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)V" since="31"/>
+		<method name="onCreateOutgoingConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Connection;"/>
+		<method name="onCreateOutgoingConnectionFailed(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)V" since="26"/>
+		<method name="onCreateOutgoingHandoverConnection(Landroid/telecom/PhoneAccountHandle;Landroid/telecom/ConnectionRequest;)Landroid/telecom/Connection;" since="28"/>
+		<method name="onHandoverFailed(Landroid/telecom/ConnectionRequest;I)V" since="28"/>
+		<method name="onRemoteConferenceAdded(Landroid/telecom/RemoteConference;)V"/>
+		<method name="onRemoteExistingConnectionAdded(Landroid/telecom/RemoteConnection;)V"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/telecom/DisconnectCause" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+		<method name="getCode()I"/>
+		<method name="getDescription()Ljava/lang/CharSequence;"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<method name="getReason()Ljava/lang/String;"/>
+		<method name="getTone()I"/>
+		<field name="ANSWERED_ELSEWHERE" since="25"/>
+		<field name="BUSY"/>
+		<field name="CALL_PULLED" since="25"/>
+		<field name="CANCELED"/>
+		<field name="CONNECTION_MANAGER_NOT_SUPPORTED"/>
+		<field name="CREATOR"/>
+		<field name="ERROR"/>
+		<field name="LOCAL"/>
+		<field name="MISSED"/>
+		<field name="OTHER"/>
+		<field name="REASON_EMERGENCY_CALL_PLACED" since="30"/>
+		<field name="REASON_EMULATING_SINGLE_CALL" since="31"/>
+		<field name="REASON_IMS_ACCESS_BLOCKED" since="31"/>
+		<field name="REASON_WIFI_ON_BUT_WFC_OFF" since="31"/>
+		<field name="REJECTED"/>
+		<field name="REMOTE"/>
+		<field name="RESTRICTED"/>
+		<field name="UNKNOWN"/>
+	</class>
+	<class name="android/telecom/GatewayInfo" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/net/Uri;Landroid/net/Uri;)V"/>
+		<method name="getGatewayAddress()Landroid/net/Uri;"/>
+		<method name="getGatewayProviderPackageName()Ljava/lang/String;"/>
+		<method name="getOriginalAddress()Landroid/net/Uri;"/>
+		<method name="isEmpty()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telecom/InCallService" since="23">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="canAddCall()Z"/>
+		<method name="getCallAudioState()Landroid/telecom/CallAudioState;"/>
+		<method name="getCalls()Ljava/util/List;"/>
+		<method name="onBringToForeground(Z)V"/>
+		<method name="onCallAdded(Landroid/telecom/Call;)V"/>
+		<method name="onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V"/>
+		<method name="onCallRemoved(Landroid/telecom/Call;)V"/>
+		<method name="onCanAddCallChanged(Z)V"/>
+		<method name="onConnectionEvent(Landroid/telecom/Call;Ljava/lang/String;Landroid/os/Bundle;)V" since="25"/>
+		<method name="onSilenceRinger()V" since="24"/>
+		<method name="requestBluetoothAudio(Landroid/bluetooth/BluetoothDevice;)V" since="28"/>
+		<method name="setAudioRoute(I)V"/>
+		<method name="setMuted(Z)V"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/telecom/InCallService$VideoCall" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="registerCallback(Landroid/telecom/InCallService$VideoCall$Callback;)V"/>
+		<method name="registerCallback(Landroid/telecom/InCallService$VideoCall$Callback;Landroid/os/Handler;)V"/>
+		<method name="requestCallDataUsage()V"/>
+		<method name="requestCameraCapabilities()V"/>
+		<method name="sendSessionModifyRequest(Landroid/telecom/VideoProfile;)V"/>
+		<method name="sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V"/>
+		<method name="setCamera(Ljava/lang/String;)V"/>
+		<method name="setDeviceOrientation(I)V"/>
+		<method name="setDisplaySurface(Landroid/view/Surface;)V"/>
+		<method name="setPauseImage(Landroid/net/Uri;)V"/>
+		<method name="setPreviewSurface(Landroid/view/Surface;)V"/>
+		<method name="setZoom(F)V"/>
+		<method name="unregisterCallback(Landroid/telecom/InCallService$VideoCall$Callback;)V"/>
+	</class>
+	<class name="android/telecom/InCallService$VideoCall$Callback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCallDataUsageChanged(J)V"/>
+		<method name="onCallSessionEvent(I)V"/>
+		<method name="onCameraCapabilitiesChanged(Landroid/telecom/VideoProfile$CameraCapabilities;)V"/>
+		<method name="onPeerDimensionsChanged(II)V"/>
+		<method name="onSessionModifyRequestReceived(Landroid/telecom/VideoProfile;)V"/>
+		<method name="onSessionModifyResponseReceived(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V"/>
+		<method name="onVideoQualityChanged(I)V"/>
+	</class>
+	<class name="android/telecom/PhoneAccount" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="builder(Landroid/telecom/PhoneAccountHandle;Ljava/lang/CharSequence;)Landroid/telecom/PhoneAccount$Builder;"/>
+		<method name="getAccountHandle()Landroid/telecom/PhoneAccountHandle;"/>
+		<method name="getAddress()Landroid/net/Uri;"/>
+		<method name="getCapabilities()I"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="24"/>
+		<method name="getHighlightColor()I"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<method name="getShortDescription()Ljava/lang/CharSequence;"/>
+		<method name="getSubscriptionAddress()Landroid/net/Uri;"/>
+		<method name="getSupportedUriSchemes()Ljava/util/List;"/>
+		<method name="hasCapabilities(I)Z"/>
+		<method name="isEnabled()Z"/>
+		<method name="supportsUriScheme(Ljava/lang/String;)Z"/>
+		<method name="toBuilder()Landroid/telecom/PhoneAccount$Builder;"/>
+		<field name="CAPABILITY_ADHOC_CONFERENCE_CALLING" since="30"/>
+		<field name="CAPABILITY_CALL_COMPOSER" since="31"/>
+		<field name="CAPABILITY_CALL_PROVIDER"/>
+		<field name="CAPABILITY_CALL_SUBJECT"/>
+		<field name="CAPABILITY_CONNECTION_MANAGER"/>
+		<field name="CAPABILITY_PLACE_EMERGENCY_CALLS"/>
+		<field name="CAPABILITY_RTT" since="26"/>
+		<field name="CAPABILITY_SELF_MANAGED" since="26"/>
+		<field name="CAPABILITY_SIM_SUBSCRIPTION"/>
+		<field name="CAPABILITY_SUPPORTS_VIDEO_CALLING" since="26"/>
+		<field name="CAPABILITY_VIDEO_CALLING"/>
+		<field name="CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE" since="24"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_ADD_SELF_MANAGED_CALLS_TO_INCALLSERVICE" since="31"/>
+		<field name="EXTRA_ALWAYS_USE_VOIP_AUDIO_MODE" since="31"/>
+		<field name="EXTRA_CALL_SUBJECT_CHARACTER_ENCODING" since="24"/>
+		<field name="EXTRA_CALL_SUBJECT_MAX_LENGTH" since="24"/>
+		<field name="EXTRA_LOG_SELF_MANAGED_CALLS" since="28"/>
+		<field name="EXTRA_SUPPORTS_HANDOVER_FROM" since="28"/>
+		<field name="EXTRA_SUPPORTS_HANDOVER_TO" since="28"/>
+		<field name="NO_HIGHLIGHT_COLOR"/>
+		<field name="NO_RESOURCE_ID"/>
+		<field name="SCHEME_SIP"/>
+		<field name="SCHEME_TEL"/>
+		<field name="SCHEME_VOICEMAIL"/>
+	</class>
+	<class name="android/telecom/PhoneAccount$Builder" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/telecom/PhoneAccount;)V"/>
+		<method name="&lt;init>(Landroid/telecom/PhoneAccountHandle;Ljava/lang/CharSequence;)V"/>
+		<method name="addSupportedUriScheme(Ljava/lang/String;)Landroid/telecom/PhoneAccount$Builder;"/>
+		<method name="build()Landroid/telecom/PhoneAccount;"/>
+		<method name="setAddress(Landroid/net/Uri;)Landroid/telecom/PhoneAccount$Builder;"/>
+		<method name="setCapabilities(I)Landroid/telecom/PhoneAccount$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/telecom/PhoneAccount$Builder;" since="24"/>
+		<method name="setHighlightColor(I)Landroid/telecom/PhoneAccount$Builder;"/>
+		<method name="setIcon(Landroid/graphics/drawable/Icon;)Landroid/telecom/PhoneAccount$Builder;"/>
+		<method name="setShortDescription(Ljava/lang/CharSequence;)Landroid/telecom/PhoneAccount$Builder;"/>
+		<method name="setSubscriptionAddress(Landroid/net/Uri;)Landroid/telecom/PhoneAccount$Builder;"/>
+		<method name="setSupportedUriSchemes(Ljava/util/List;)Landroid/telecom/PhoneAccount$Builder;"/>
+	</class>
+	<class name="android/telecom/PhoneAccountHandle" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/ComponentName;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/UserHandle;)V"/>
+		<method name="getComponentName()Landroid/content/ComponentName;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getUserHandle()Landroid/os/UserHandle;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telecom/PhoneAccountSuggestion" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/telecom/PhoneAccountHandle;IZ)V"/>
+		<method name="getPhoneAccountHandle()Landroid/telecom/PhoneAccountHandle;"/>
+		<method name="getReason()I"/>
+		<method name="shouldAutoSelect()Z"/>
+		<field name="CREATOR"/>
+		<field name="REASON_FREQUENT"/>
+		<field name="REASON_INTRA_CARRIER"/>
+		<field name="REASON_NONE"/>
+		<field name="REASON_OTHER"/>
+		<field name="REASON_USER_SET"/>
+	</class>
+	<class name="android/telecom/RemoteConference" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="disconnect()V"/>
+		<method name="getConferenceableConnections()Ljava/util/List;"/>
+		<method name="getConnectionCapabilities()I"/>
+		<method name="getConnectionProperties()I" since="24"/>
+		<method name="getConnections()Ljava/util/List;"/>
+		<method name="getDisconnectCause()Landroid/telecom/DisconnectCause;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getState()I"/>
+		<method name="hold()V"/>
+		<method name="merge()V"/>
+		<method name="playDtmfTone(C)V"/>
+		<method name="registerCallback(Landroid/telecom/RemoteConference$Callback;)V"/>
+		<method name="registerCallback(Landroid/telecom/RemoteConference$Callback;Landroid/os/Handler;)V"/>
+		<method name="separate(Landroid/telecom/RemoteConnection;)V"/>
+		<method name="setCallAudioState(Landroid/telecom/CallAudioState;)V"/>
+		<method name="stopDtmfTone()V"/>
+		<method name="swap()V"/>
+		<method name="unhold()V"/>
+		<method name="unregisterCallback(Landroid/telecom/RemoteConference$Callback;)V"/>
+	</class>
+	<class name="android/telecom/RemoteConference$Callback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onConferenceableConnectionsChanged(Landroid/telecom/RemoteConference;Ljava/util/List;)V"/>
+		<method name="onConnectionAdded(Landroid/telecom/RemoteConference;Landroid/telecom/RemoteConnection;)V"/>
+		<method name="onConnectionCapabilitiesChanged(Landroid/telecom/RemoteConference;I)V"/>
+		<method name="onConnectionPropertiesChanged(Landroid/telecom/RemoteConference;I)V" since="25"/>
+		<method name="onConnectionRemoved(Landroid/telecom/RemoteConference;Landroid/telecom/RemoteConnection;)V"/>
+		<method name="onDestroyed(Landroid/telecom/RemoteConference;)V"/>
+		<method name="onDisconnected(Landroid/telecom/RemoteConference;Landroid/telecom/DisconnectCause;)V"/>
+		<method name="onExtrasChanged(Landroid/telecom/RemoteConference;Landroid/os/Bundle;)V"/>
+		<method name="onStateChanged(Landroid/telecom/RemoteConference;II)V"/>
+	</class>
+	<class name="android/telecom/RemoteConnection" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="abort()V"/>
+		<method name="addConferenceParticipants(Ljava/util/List;)V" since="31"/>
+		<method name="answer()V"/>
+		<method name="disconnect()V"/>
+		<method name="getAddress()Landroid/net/Uri;"/>
+		<method name="getAddressPresentation()I"/>
+		<method name="getCallerDisplayName()Ljava/lang/CharSequence;"/>
+		<method name="getCallerDisplayNamePresentation()I"/>
+		<method name="getConference()Landroid/telecom/RemoteConference;"/>
+		<method name="getConferenceableConnections()Ljava/util/List;"/>
+		<method name="getConnectionCapabilities()I"/>
+		<method name="getConnectionProperties()I" since="25"/>
+		<method name="getDisconnectCause()Landroid/telecom/DisconnectCause;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getState()I"/>
+		<method name="getStatusHints()Landroid/telecom/StatusHints;"/>
+		<method name="getVideoProvider()Landroid/telecom/RemoteConnection$VideoProvider;"/>
+		<method name="getVideoState()I"/>
+		<method name="hold()V"/>
+		<method name="isRingbackRequested()Z"/>
+		<method name="isVoipAudioMode()Z"/>
+		<method name="playDtmfTone(C)V"/>
+		<method name="postDialContinue(Z)V"/>
+		<method name="pullExternalCall()V" since="25"/>
+		<method name="registerCallback(Landroid/telecom/RemoteConnection$Callback;)V"/>
+		<method name="registerCallback(Landroid/telecom/RemoteConnection$Callback;Landroid/os/Handler;)V"/>
+		<method name="reject()V"/>
+		<method name="setCallAudioState(Landroid/telecom/CallAudioState;)V"/>
+		<method name="stopDtmfTone()V"/>
+		<method name="unhold()V"/>
+		<method name="unregisterCallback(Landroid/telecom/RemoteConnection$Callback;)V"/>
+	</class>
+	<class name="android/telecom/RemoteConnection$Callback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAddressChanged(Landroid/telecom/RemoteConnection;Landroid/net/Uri;I)V"/>
+		<method name="onCallerDisplayNameChanged(Landroid/telecom/RemoteConnection;Ljava/lang/String;I)V"/>
+		<method name="onConferenceChanged(Landroid/telecom/RemoteConnection;Landroid/telecom/RemoteConference;)V"/>
+		<method name="onConferenceableConnectionsChanged(Landroid/telecom/RemoteConnection;Ljava/util/List;)V"/>
+		<method name="onConnectionCapabilitiesChanged(Landroid/telecom/RemoteConnection;I)V"/>
+		<method name="onConnectionEvent(Landroid/telecom/RemoteConnection;Ljava/lang/String;Landroid/os/Bundle;)V" since="25"/>
+		<method name="onConnectionPropertiesChanged(Landroid/telecom/RemoteConnection;I)V" since="25"/>
+		<method name="onDestroyed(Landroid/telecom/RemoteConnection;)V"/>
+		<method name="onDisconnected(Landroid/telecom/RemoteConnection;Landroid/telecom/DisconnectCause;)V"/>
+		<method name="onExtrasChanged(Landroid/telecom/RemoteConnection;Landroid/os/Bundle;)V"/>
+		<method name="onPostDialChar(Landroid/telecom/RemoteConnection;C)V"/>
+		<method name="onPostDialWait(Landroid/telecom/RemoteConnection;Ljava/lang/String;)V"/>
+		<method name="onRingbackRequested(Landroid/telecom/RemoteConnection;Z)V"/>
+		<method name="onStateChanged(Landroid/telecom/RemoteConnection;I)V"/>
+		<method name="onStatusHintsChanged(Landroid/telecom/RemoteConnection;Landroid/telecom/StatusHints;)V"/>
+		<method name="onVideoProviderChanged(Landroid/telecom/RemoteConnection;Landroid/telecom/RemoteConnection$VideoProvider;)V"/>
+		<method name="onVideoStateChanged(Landroid/telecom/RemoteConnection;I)V"/>
+		<method name="onVoipAudioChanged(Landroid/telecom/RemoteConnection;Z)V"/>
+	</class>
+	<class name="android/telecom/RemoteConnection$VideoProvider" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="registerCallback(Landroid/telecom/RemoteConnection$VideoProvider$Callback;)V"/>
+		<method name="requestCallDataUsage()V"/>
+		<method name="requestCameraCapabilities()V"/>
+		<method name="sendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V"/>
+		<method name="sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V"/>
+		<method name="setCamera(Ljava/lang/String;)V"/>
+		<method name="setDeviceOrientation(I)V"/>
+		<method name="setDisplaySurface(Landroid/view/Surface;)V"/>
+		<method name="setPauseImage(Landroid/net/Uri;)V"/>
+		<method name="setPreviewSurface(Landroid/view/Surface;)V"/>
+		<method name="setZoom(F)V"/>
+		<method name="unregisterCallback(Landroid/telecom/RemoteConnection$VideoProvider$Callback;)V"/>
+	</class>
+	<class name="android/telecom/RemoteConnection$VideoProvider$Callback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCallDataUsageChanged(Landroid/telecom/RemoteConnection$VideoProvider;J)V"/>
+		<method name="onCallSessionEvent(Landroid/telecom/RemoteConnection$VideoProvider;I)V"/>
+		<method name="onCameraCapabilitiesChanged(Landroid/telecom/RemoteConnection$VideoProvider;Landroid/telecom/VideoProfile$CameraCapabilities;)V"/>
+		<method name="onPeerDimensionsChanged(Landroid/telecom/RemoteConnection$VideoProvider;II)V"/>
+		<method name="onSessionModifyRequestReceived(Landroid/telecom/RemoteConnection$VideoProvider;Landroid/telecom/VideoProfile;)V"/>
+		<method name="onSessionModifyResponseReceived(Landroid/telecom/RemoteConnection$VideoProvider;ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V"/>
+		<method name="onVideoQualityChanged(Landroid/telecom/RemoteConnection$VideoProvider;I)V"/>
+	</class>
+	<class name="android/telecom/StatusHints" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Landroid/graphics/drawable/Icon;Landroid/os/Bundle;)V"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getIcon()Landroid/graphics/drawable/Icon;"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telecom/TelecomManager" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="acceptHandover(Landroid/net/Uri;ILandroid/telecom/PhoneAccountHandle;)V" since="28"/>
+		<method name="acceptRingingCall()V" since="26" deprecated="29"/>
+		<method name="acceptRingingCall(I)V" since="26" deprecated="29"/>
+		<method name="addNewIncomingCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V" since="23"/>
+		<method name="addNewIncomingConference(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V" since="31"/>
+		<method name="cancelMissedCallsNotification()V"/>
+		<method name="createManageBlockedNumbersIntent()Landroid/content/Intent;" since="24"/>
+		<method name="endCall()Z" since="28" deprecated="29"/>
+		<method name="getAdnUriForPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/net/Uri;" since="23"/>
+		<method name="getCallCapablePhoneAccounts()Ljava/util/List;" since="23"/>
+		<method name="getDefaultDialerPackage()Ljava/lang/String;" since="23"/>
+		<method name="getDefaultOutgoingPhoneAccount(Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;" since="23"/>
+		<method name="getLine1Number(Landroid/telecom/PhoneAccountHandle;)Ljava/lang/String;" since="23"/>
+		<method name="getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;" since="23"/>
+		<method name="getSelfManagedPhoneAccounts()Ljava/util/List;" since="26"/>
+		<method name="getSimCallManager()Landroid/telecom/PhoneAccountHandle;" since="23"/>
+		<method name="getSimCallManagerForSubscription(I)Landroid/telecom/PhoneAccountHandle;" since="30"/>
+		<method name="getSystemDialerPackage()Ljava/lang/String;" since="29"/>
+		<method name="getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;" since="29"/>
+		<method name="getVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;)Ljava/lang/String;" since="23"/>
+		<method name="handleMmi(Ljava/lang/String;)Z"/>
+		<method name="handleMmi(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;)Z" since="23"/>
+		<method name="hasManageOngoingCallsPermission()Z" since="31"/>
+		<method name="isInCall()Z"/>
+		<method name="isInManagedCall()Z" since="26"/>
+		<method name="isIncomingCallPermitted(Landroid/telecom/PhoneAccountHandle;)Z" since="26"/>
+		<method name="isOutgoingCallPermitted(Landroid/telecom/PhoneAccountHandle;)Z" since="26"/>
+		<method name="isTtySupported()Z" since="28"/>
+		<method name="isVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Z" since="23"/>
+		<method name="placeCall(Landroid/net/Uri;Landroid/os/Bundle;)V" since="23"/>
+		<method name="registerPhoneAccount(Landroid/telecom/PhoneAccount;)V" since="23"/>
+		<method name="showInCallScreen(Z)V"/>
+		<method name="silenceRinger()V" since="23"/>
+		<method name="startConference(Ljava/util/List;Landroid/os/Bundle;)V" since="31"/>
+		<method name="unregisterPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V" since="23"/>
+		<field name="ACTION_CHANGE_DEFAULT_DIALER" since="23"/>
+		<field name="ACTION_CHANGE_PHONE_ACCOUNTS" since="23"/>
+		<field name="ACTION_CONFIGURE_PHONE_ACCOUNT" since="23"/>
+		<field name="ACTION_DEFAULT_CALL_SCREENING_APP_CHANGED" since="29"/>
+		<field name="ACTION_DEFAULT_DIALER_CHANGED" since="23"/>
+		<field name="ACTION_INCOMING_CALL" since="23" deprecated="26"/>
+		<field name="ACTION_PHONE_ACCOUNT_REGISTERED" since="26"/>
+		<field name="ACTION_PHONE_ACCOUNT_UNREGISTERED" since="26"/>
+		<field name="ACTION_POST_CALL" since="30"/>
+		<field name="ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS" since="23"/>
+		<field name="ACTION_SHOW_CALL_SETTINGS"/>
+		<field name="ACTION_SHOW_MISSED_CALLS_NOTIFICATION" since="24"/>
+		<field name="ACTION_SHOW_RESPOND_VIA_SMS_SETTINGS" since="23"/>
+		<field name="DTMF_CHARACTER_PAUSE"/>
+		<field name="DTMF_CHARACTER_WAIT"/>
+		<field name="DURATION_LONG" since="30"/>
+		<field name="DURATION_MEDIUM" since="30"/>
+		<field name="DURATION_SHORT" since="30"/>
+		<field name="DURATION_VERY_SHORT" since="30"/>
+		<field name="EXTRA_CALL_BACK_NUMBER" since="23"/>
+		<field name="EXTRA_CALL_DISCONNECT_CAUSE"/>
+		<field name="EXTRA_CALL_DISCONNECT_MESSAGE"/>
+		<field name="EXTRA_CALL_DURATION" since="30"/>
+		<field name="EXTRA_CALL_NETWORK_TYPE" since="29"/>
+		<field name="EXTRA_CALL_SUBJECT" since="23"/>
+		<field name="EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME" since="23"/>
+		<field name="EXTRA_DEFAULT_CALL_SCREENING_APP_COMPONENT_NAME" since="29"/>
+		<field name="EXTRA_DISCONNECT_CAUSE" since="30"/>
+		<field name="EXTRA_HANDLE" since="30"/>
+		<field name="EXTRA_HAS_PICTURE" since="31"/>
+		<field name="EXTRA_INCOMING_CALL_ADDRESS" since="23"/>
+		<field name="EXTRA_INCOMING_CALL_EXTRAS" since="23"/>
+		<field name="EXTRA_INCOMING_VIDEO_STATE" since="26"/>
+		<field name="EXTRA_IS_DEFAULT_CALL_SCREENING_APP" since="29"/>
+		<field name="EXTRA_LOCATION" since="31"/>
+		<field name="EXTRA_NOTIFICATION_COUNT" since="24"/>
+		<field name="EXTRA_NOTIFICATION_PHONE_NUMBER" since="24"/>
+		<field name="EXTRA_OUTGOING_CALL_EXTRAS" since="23"/>
+		<field name="EXTRA_OUTGOING_PICTURE" since="31"/>
+		<field name="EXTRA_PHONE_ACCOUNT_HANDLE" since="23"/>
+		<field name="EXTRA_PICTURE_URI" since="31"/>
+		<field name="EXTRA_PRIORITY" since="31"/>
+		<field name="EXTRA_START_CALL_WITH_RTT" since="26"/>
+		<field name="EXTRA_START_CALL_WITH_SPEAKERPHONE"/>
+		<field name="EXTRA_START_CALL_WITH_VIDEO_STATE" since="23"/>
+		<field name="EXTRA_USE_ASSISTED_DIALING" since="30"/>
+		<field name="GATEWAY_ORIGINAL_ADDRESS"/>
+		<field name="GATEWAY_PROVIDER_PACKAGE"/>
+		<field name="METADATA_INCLUDE_EXTERNAL_CALLS" since="25"/>
+		<field name="METADATA_INCLUDE_SELF_MANAGED_CALLS" since="26"/>
+		<field name="METADATA_IN_CALL_SERVICE_CAR_MODE_UI" since="29"/>
+		<field name="METADATA_IN_CALL_SERVICE_RINGING" since="24"/>
+		<field name="METADATA_IN_CALL_SERVICE_UI" since="23"/>
+		<field name="PRESENTATION_ALLOWED"/>
+		<field name="PRESENTATION_PAYPHONE"/>
+		<field name="PRESENTATION_RESTRICTED"/>
+		<field name="PRESENTATION_UNKNOWN"/>
+		<field name="PRIORITY_NORMAL" since="31"/>
+		<field name="PRIORITY_URGENT" since="31"/>
+	</class>
+	<class name="android/telecom/VideoProfile" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getQuality()I"/>
+		<method name="getVideoState()I"/>
+		<method name="isAudioOnly(I)Z"/>
+		<method name="isBidirectional(I)Z"/>
+		<method name="isPaused(I)Z"/>
+		<method name="isReceptionEnabled(I)Z"/>
+		<method name="isTransmissionEnabled(I)Z"/>
+		<method name="isVideo(I)Z"/>
+		<method name="videoStateToString(I)Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+		<field name="QUALITY_DEFAULT"/>
+		<field name="QUALITY_HIGH"/>
+		<field name="QUALITY_LOW"/>
+		<field name="QUALITY_MEDIUM"/>
+		<field name="STATE_AUDIO_ONLY"/>
+		<field name="STATE_BIDIRECTIONAL"/>
+		<field name="STATE_PAUSED"/>
+		<field name="STATE_RX_ENABLED"/>
+		<field name="STATE_TX_ENABLED"/>
+	</class>
+	<class name="android/telecom/VideoProfile$CameraCapabilities" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(IIZF)V" since="29"/>
+		<method name="getHeight()I"/>
+		<method name="getMaxZoom()F" since="29"/>
+		<method name="getWidth()I"/>
+		<method name="isZoomSupported()Z" since="29"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/AccessNetworkConstants" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="TRANSPORT_TYPE_WLAN" since="30"/>
+		<field name="TRANSPORT_TYPE_WWAN" since="30"/>
+	</class>
+	<class name="android/telephony/AccessNetworkConstants$AccessNetworkType" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="CDMA2000"/>
+		<field name="EUTRAN"/>
+		<field name="GERAN"/>
+		<field name="IWLAN"/>
+		<field name="NGRAN" since="30"/>
+		<field name="UNKNOWN"/>
+		<field name="UTRAN"/>
+	</class>
+	<class name="android/telephony/AccessNetworkConstants$EutranBand" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="BAND_1"/>
+		<field name="BAND_10"/>
+		<field name="BAND_11"/>
+		<field name="BAND_12"/>
+		<field name="BAND_13"/>
+		<field name="BAND_14"/>
+		<field name="BAND_17"/>
+		<field name="BAND_18"/>
+		<field name="BAND_19"/>
+		<field name="BAND_2"/>
+		<field name="BAND_20"/>
+		<field name="BAND_21"/>
+		<field name="BAND_22"/>
+		<field name="BAND_23"/>
+		<field name="BAND_24"/>
+		<field name="BAND_25"/>
+		<field name="BAND_26"/>
+		<field name="BAND_27"/>
+		<field name="BAND_28"/>
+		<field name="BAND_3"/>
+		<field name="BAND_30"/>
+		<field name="BAND_31"/>
+		<field name="BAND_33"/>
+		<field name="BAND_34"/>
+		<field name="BAND_35"/>
+		<field name="BAND_36"/>
+		<field name="BAND_37"/>
+		<field name="BAND_38"/>
+		<field name="BAND_39"/>
+		<field name="BAND_4"/>
+		<field name="BAND_40"/>
+		<field name="BAND_41"/>
+		<field name="BAND_42"/>
+		<field name="BAND_43"/>
+		<field name="BAND_44"/>
+		<field name="BAND_45"/>
+		<field name="BAND_46"/>
+		<field name="BAND_47"/>
+		<field name="BAND_48"/>
+		<field name="BAND_49" since="30"/>
+		<field name="BAND_5"/>
+		<field name="BAND_50" since="30"/>
+		<field name="BAND_51" since="30"/>
+		<field name="BAND_52" since="30"/>
+		<field name="BAND_53" since="30"/>
+		<field name="BAND_6"/>
+		<field name="BAND_65"/>
+		<field name="BAND_66"/>
+		<field name="BAND_68"/>
+		<field name="BAND_7"/>
+		<field name="BAND_70"/>
+		<field name="BAND_71" since="30"/>
+		<field name="BAND_72" since="30"/>
+		<field name="BAND_73" since="30"/>
+		<field name="BAND_74" since="30"/>
+		<field name="BAND_8"/>
+		<field name="BAND_85" since="30"/>
+		<field name="BAND_87" since="30"/>
+		<field name="BAND_88" since="30"/>
+		<field name="BAND_9"/>
+	</class>
+	<class name="android/telephony/AccessNetworkConstants$GeranBand" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="BAND_450"/>
+		<field name="BAND_480"/>
+		<field name="BAND_710"/>
+		<field name="BAND_750"/>
+		<field name="BAND_850"/>
+		<field name="BAND_DCS1800"/>
+		<field name="BAND_E900"/>
+		<field name="BAND_ER900"/>
+		<field name="BAND_P900"/>
+		<field name="BAND_PCS1900"/>
+		<field name="BAND_R900"/>
+		<field name="BAND_T380"/>
+		<field name="BAND_T410"/>
+		<field name="BAND_T810"/>
+	</class>
+	<class name="android/telephony/AccessNetworkConstants$NgranBands" since="30">
+		<extends name="java/lang/Object"/>
+		<field name="BAND_1"/>
+		<field name="BAND_12"/>
+		<field name="BAND_14"/>
+		<field name="BAND_18"/>
+		<field name="BAND_2"/>
+		<field name="BAND_20"/>
+		<field name="BAND_25"/>
+		<field name="BAND_257"/>
+		<field name="BAND_258"/>
+		<field name="BAND_26" since="31"/>
+		<field name="BAND_260"/>
+		<field name="BAND_261"/>
+		<field name="BAND_28"/>
+		<field name="BAND_29"/>
+		<field name="BAND_3"/>
+		<field name="BAND_30"/>
+		<field name="BAND_34"/>
+		<field name="BAND_38"/>
+		<field name="BAND_39"/>
+		<field name="BAND_40"/>
+		<field name="BAND_41"/>
+		<field name="BAND_46" since="31"/>
+		<field name="BAND_48"/>
+		<field name="BAND_5"/>
+		<field name="BAND_50"/>
+		<field name="BAND_51"/>
+		<field name="BAND_53" since="31"/>
+		<field name="BAND_65"/>
+		<field name="BAND_66"/>
+		<field name="BAND_7"/>
+		<field name="BAND_70"/>
+		<field name="BAND_71"/>
+		<field name="BAND_74"/>
+		<field name="BAND_75"/>
+		<field name="BAND_76"/>
+		<field name="BAND_77"/>
+		<field name="BAND_78"/>
+		<field name="BAND_79"/>
+		<field name="BAND_8"/>
+		<field name="BAND_80"/>
+		<field name="BAND_81"/>
+		<field name="BAND_82"/>
+		<field name="BAND_83"/>
+		<field name="BAND_84"/>
+		<field name="BAND_86"/>
+		<field name="BAND_89"/>
+		<field name="BAND_90"/>
+		<field name="BAND_91"/>
+		<field name="BAND_92"/>
+		<field name="BAND_93"/>
+		<field name="BAND_94"/>
+		<field name="BAND_95"/>
+		<field name="BAND_96" since="31"/>
+	</class>
+	<class name="android/telephony/AccessNetworkConstants$UtranBand" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="BAND_1"/>
+		<field name="BAND_10"/>
+		<field name="BAND_11"/>
+		<field name="BAND_12"/>
+		<field name="BAND_13"/>
+		<field name="BAND_14"/>
+		<field name="BAND_19"/>
+		<field name="BAND_2"/>
+		<field name="BAND_20"/>
+		<field name="BAND_21"/>
+		<field name="BAND_22"/>
+		<field name="BAND_25"/>
+		<field name="BAND_26"/>
+		<field name="BAND_3"/>
+		<field name="BAND_4"/>
+		<field name="BAND_5"/>
+		<field name="BAND_6"/>
+		<field name="BAND_7"/>
+		<field name="BAND_8"/>
+		<field name="BAND_9"/>
+		<field name="BAND_A" since="30"/>
+		<field name="BAND_B" since="30"/>
+		<field name="BAND_C" since="30"/>
+		<field name="BAND_D" since="30"/>
+		<field name="BAND_E" since="30"/>
+		<field name="BAND_F" since="30"/>
+	</class>
+	<class name="android/telephony/AvailableNetworkInfo" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(IILjava/util/List;Ljava/util/List;)V"/>
+		<method name="getBands()Ljava/util/List;"/>
+		<method name="getMccMncs()Ljava/util/List;"/>
+		<method name="getPriority()I"/>
+		<method name="getSubId()I"/>
+		<field name="CREATOR"/>
+		<field name="PRIORITY_HIGH"/>
+		<field name="PRIORITY_LOW"/>
+		<field name="PRIORITY_MED"/>
+	</class>
+	<class name="android/telephony/BarringInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getBarringServiceInfo(I)Landroid/telephony/BarringInfo$BarringServiceInfo;"/>
+		<field name="BARRING_SERVICE_TYPE_CS_FALLBACK"/>
+		<field name="BARRING_SERVICE_TYPE_CS_SERVICE"/>
+		<field name="BARRING_SERVICE_TYPE_CS_VOICE"/>
+		<field name="BARRING_SERVICE_TYPE_EMERGENCY"/>
+		<field name="BARRING_SERVICE_TYPE_MMTEL_VIDEO"/>
+		<field name="BARRING_SERVICE_TYPE_MMTEL_VOICE"/>
+		<field name="BARRING_SERVICE_TYPE_MO_DATA"/>
+		<field name="BARRING_SERVICE_TYPE_MO_SIGNALLING"/>
+		<field name="BARRING_SERVICE_TYPE_PS_SERVICE"/>
+		<field name="BARRING_SERVICE_TYPE_SMS"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/BarringInfo$BarringServiceInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getBarringType()I"/>
+		<method name="getConditionalBarringFactor()I"/>
+		<method name="getConditionalBarringTimeSeconds()I"/>
+		<method name="isBarred()Z"/>
+		<method name="isConditionallyBarred()Z"/>
+		<field name="BARRING_TYPE_CONDITIONAL"/>
+		<field name="BARRING_TYPE_NONE"/>
+		<field name="BARRING_TYPE_UNCONDITIONAL"/>
+		<field name="BARRING_TYPE_UNKNOWN"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CarrierConfigManager" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getConfig()Landroid/os/PersistableBundle;"/>
+		<method name="getConfigByComponentForSubId(Ljava/lang/String;I)Landroid/os/PersistableBundle;" since="30"/>
+		<method name="getConfigForSubId(I)Landroid/os/PersistableBundle;"/>
+		<method name="isConfigForIdentifiedCarrier(Landroid/os/PersistableBundle;)Z" since="28"/>
+		<method name="notifyConfigChangedForSubId(I)V"/>
+		<field name="ACTION_CARRIER_CONFIG_CHANGED"/>
+		<field name="CARRIER_NR_AVAILABILITY_NSA" since="31"/>
+		<field name="CARRIER_NR_AVAILABILITY_SA" since="31"/>
+		<field name="CROSS_SIM_SPN_FORMAT_CARRIER_NAME_ONLY" since="31"/>
+		<field name="CROSS_SIM_SPN_FORMAT_CARRIER_NAME_WITH_BRANDING" since="31"/>
+		<field name="DATA_CYCLE_THRESHOLD_DISABLED" since="26"/>
+		<field name="DATA_CYCLE_USE_PLATFORM_DEFAULT" since="30"/>
+		<field name="ENABLE_EAP_METHOD_PREFIX_BOOL" since="30"/>
+		<field name="EXTRA_REBROADCAST_ON_UNLOCK" since="31"/>
+		<field name="EXTRA_SLOT_INDEX" since="28"/>
+		<field name="EXTRA_SUBSCRIPTION_INDEX" since="28"/>
+		<field name="IMSI_KEY_AVAILABILITY_INT" since="30"/>
+		<field name="KEY_5G_NR_SSRSRP_THRESHOLDS_INT_ARRAY" since="30"/>
+		<field name="KEY_5G_NR_SSRSRQ_THRESHOLDS_INT_ARRAY" since="30"/>
+		<field name="KEY_5G_NR_SSSINR_THRESHOLDS_INT_ARRAY" since="30"/>
+		<field name="KEY_ADDITIONAL_CALL_SETTING_BOOL"/>
+		<field name="KEY_ALLOW_ADDING_APNS_BOOL" since="24"/>
+		<field name="KEY_ALLOW_ADD_CALL_DURING_VIDEO_CALL_BOOL" since="25"/>
+		<field name="KEY_ALLOW_EMERGENCY_NUMBERS_IN_CALL_LOG_BOOL"/>
+		<field name="KEY_ALLOW_EMERGENCY_VIDEO_CALLS_BOOL" since="24"/>
+		<field name="KEY_ALLOW_HOLD_CALL_DURING_EMERGENCY_BOOL" since="30"/>
+		<field name="KEY_ALLOW_HOLD_VIDEO_CALL_BOOL" since="30"/>
+		<field name="KEY_ALLOW_LOCAL_DTMF_TONES_BOOL"/>
+		<field name="KEY_ALLOW_MERGE_WIFI_CALLS_WHEN_VOWIFI_OFF_BOOL" since="25"/>
+		<field name="KEY_ALLOW_NON_EMERGENCY_CALLS_IN_ECM_BOOL" since="24"/>
+		<field name="KEY_ALLOW_VIDEO_CALLING_FALLBACK_BOOL" since="30"/>
+		<field name="KEY_ALWAYS_SHOW_DATA_RAT_ICON_BOOL" since="30"/>
+		<field name="KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL" since="24" deprecated="30"/>
+		<field name="KEY_ALWAYS_SHOW_PRIMARY_SIGNAL_BAR_IN_OPPORTUNISTIC_NETWORK_BOOLEAN" since="30"/>
+		<field name="KEY_APN_EXPAND_BOOL"/>
+		<field name="KEY_APN_SETTINGS_DEFAULT_APN_TYPES_STRING_ARRAY" since="30"/>
+		<field name="KEY_AUTO_RETRY_ENABLED_BOOL"/>
+		<field name="KEY_CALL_BARRING_DEFAULT_SERVICE_CLASS_INT" since="31"/>
+		<field name="KEY_CALL_BARRING_SUPPORTS_DEACTIVATE_ALL_BOOL" since="29"/>
+		<field name="KEY_CALL_BARRING_SUPPORTS_PASSWORD_CHANGE_BOOL" since="29"/>
+		<field name="KEY_CALL_BARRING_VISIBILITY_BOOL" since="29"/>
+		<field name="KEY_CALL_COMPOSER_PICTURE_SERVER_URL_STRING" since="31"/>
+		<field name="KEY_CALL_FORWARDING_BLOCKS_WHILE_ROAMING_STRING_ARRAY" since="26"/>
+		<field name="KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING" since="30"/>
+		<field name="KEY_CARRIER_ALLOW_DEFLECT_IMS_CALL_BOOL" since="30"/>
+		<field name="KEY_CARRIER_ALLOW_TURNOFF_IMS_BOOL"/>
+		<field name="KEY_CARRIER_APP_REQUIRED_DURING_SIM_SETUP_BOOL" since="30"/>
+		<field name="KEY_CARRIER_CALL_SCREENING_APP_STRING" since="29"/>
+		<field name="KEY_CARRIER_CERTIFICATE_STRING_ARRAY" since="30"/>
+		<field name="KEY_CARRIER_CONFIG_APPLIED_BOOL" since="30"/>
+		<field name="KEY_CARRIER_CONFIG_VERSION_STRING" since="29"/>
+		<field name="KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL" since="31"/>
+		<field name="KEY_CARRIER_DATA_CALL_PERMANENT_FAILURE_STRINGS" since="26"/>
+		<field name="KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY" since="30"/>
+		<field name="KEY_CARRIER_DEFAULT_ACTIONS_ON_DEFAULT_NETWORK_AVAILABLE" since="30"/>
+		<field name="KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY" since="30"/>
+		<field name="KEY_CARRIER_DEFAULT_ACTIONS_ON_RESET" since="30"/>
+		<field name="KEY_CARRIER_DEFAULT_REDIRECTION_URL_STRING_ARRAY" since="30"/>
+		<field name="KEY_CARRIER_DEFAULT_WFC_IMS_ENABLED_BOOL" since="30"/>
+		<field name="KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT" since="29"/>
+		<field name="KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT" since="29"/>
+		<field name="KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL" since="24" deprecated="30"/>
+		<field name="KEY_CARRIER_IMS_GBA_REQUIRED_BOOL" since="24"/>
+		<field name="KEY_CARRIER_INSTANT_LETTERING_AVAILABLE_BOOL" since="24"/>
+		<field name="KEY_CARRIER_INSTANT_LETTERING_ENCODING_STRING" since="24"/>
+		<field name="KEY_CARRIER_INSTANT_LETTERING_ESCAPED_CHARS_STRING" since="24"/>
+		<field name="KEY_CARRIER_INSTANT_LETTERING_INVALID_CHARS_STRING" since="24"/>
+		<field name="KEY_CARRIER_INSTANT_LETTERING_LENGTH_LIMIT_INT" since="24"/>
+		<field name="KEY_CARRIER_NAME_OVERRIDE_BOOL" since="28"/>
+		<field name="KEY_CARRIER_NAME_STRING" since="28"/>
+		<field name="KEY_CARRIER_NR_AVAILABILITIES_INT_ARRAY" since="31"/>
+		<field name="KEY_CARRIER_PROVISIONS_WIFI_MERGED_NETWORKS_BOOL" since="31"/>
+		<field name="KEY_CARRIER_RCS_PROVISIONING_REQUIRED_BOOL" since="30"/>
+		<field name="KEY_CARRIER_SETTINGS_ACTIVITY_COMPONENT_NAME_STRING" since="30"/>
+		<field name="KEY_CARRIER_SETTINGS_ENABLE_BOOL"/>
+		<field name="KEY_CARRIER_SUPPORTS_SS_OVER_UT_BOOL" since="29"/>
+		<field name="KEY_CARRIER_USE_IMS_FIRST_FOR_EMERGENCY_BOOL" since="24"/>
+		<field name="KEY_CARRIER_USSD_METHOD_INT" since="31"/>
+		<field name="KEY_CARRIER_UT_PROVISIONING_REQUIRED_BOOL" since="29"/>
+		<field name="KEY_CARRIER_VOLTE_AVAILABLE_BOOL"/>
+		<field name="KEY_CARRIER_VOLTE_OVERRIDE_WFC_PROVISIONING_BOOL" since="30"/>
+		<field name="KEY_CARRIER_VOLTE_PROVISIONED_BOOL" since="26"/>
+		<field name="KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL"/>
+		<field name="KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL"/>
+		<field name="KEY_CARRIER_VT_AVAILABLE_BOOL"/>
+		<field name="KEY_CARRIER_VVM_PACKAGE_NAME_STRING" deprecated="26"/>
+		<field name="KEY_CARRIER_VVM_PACKAGE_NAME_STRING_ARRAY" since="26"/>
+		<field name="KEY_CARRIER_WFC_IMS_AVAILABLE_BOOL"/>
+		<field name="KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL" since="24"/>
+		<field name="KEY_CDMA_3WAYCALL_FLASH_DELAY_INT" since="26"/>
+		<field name="KEY_CDMA_DTMF_TONE_DELAY_INT" since="24"/>
+		<field name="KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY"/>
+		<field name="KEY_CDMA_ROAMING_MODE_INT" since="28"/>
+		<field name="KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY"/>
+		<field name="KEY_CHECK_PRICING_WITH_CARRIER_FOR_DATA_ROAMING_BOOL" since="30"/>
+		<field name="KEY_CI_ACTION_ON_SYS_UPDATE_BOOL" since="24"/>
+		<field name="KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING" since="24"/>
+		<field name="KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING" since="24"/>
+		<field name="KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING" since="24"/>
+		<field name="KEY_CONFIG_IMS_MMTEL_PACKAGE_OVERRIDE_STRING" since="30"/>
+		<field name="KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING" since="26" deprecated="30"/>
+		<field name="KEY_CONFIG_IMS_RCS_PACKAGE_OVERRIDE_STRING" since="30"/>
+		<field name="KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING" since="28"/>
+		<field name="KEY_CONFIG_TELEPHONY_USE_OWN_NUMBER_FOR_VOICEMAIL_BOOL" since="28"/>
+		<field name="KEY_CONFIG_WIFI_DISABLE_IN_ECBM" since="30"/>
+		<field name="KEY_CROSS_SIM_SPN_FORMAT_INT" since="31"/>
+		<field name="KEY_CSP_ENABLED_BOOL"/>
+		<field name="KEY_DATA_LIMIT_NOTIFICATION_BOOL" since="30"/>
+		<field name="KEY_DATA_LIMIT_THRESHOLD_BYTES_LONG" since="26"/>
+		<field name="KEY_DATA_RAPID_NOTIFICATION_BOOL" since="30"/>
+		<field name="KEY_DATA_SWITCH_VALIDATION_TIMEOUT_LONG" since="30"/>
+		<field name="KEY_DATA_WARNING_NOTIFICATION_BOOL" since="30"/>
+		<field name="KEY_DATA_WARNING_THRESHOLD_BYTES_LONG" since="26"/>
+		<field name="KEY_DEFAULT_SIM_CALL_MANAGER_STRING"/>
+		<field name="KEY_DEFAULT_VM_NUMBER_ROAMING_AND_IMS_UNREGISTERED_STRING" since="30"/>
+		<field name="KEY_DEFAULT_VM_NUMBER_STRING" since="26"/>
+		<field name="KEY_DIAL_STRING_REPLACE_STRING_ARRAY" since="26"/>
+		<field name="KEY_DISABLE_CDMA_ACTIVATION_CODE_BOOL"/>
+		<field name="KEY_DISABLE_CHARGE_INDICATION_BOOL" since="30"/>
+		<field name="KEY_DISABLE_SUPPLEMENTARY_SERVICES_IN_AIRPLANE_MODE_BOOL" since="30"/>
+		<field name="KEY_DISCONNECT_CAUSE_PLAY_BUSYTONE_INT_ARRAY" since="30"/>
+		<field name="KEY_DISPLAY_CALL_STRENGTH_INDICATOR_BOOL" since="31"/>
+		<field name="KEY_DISPLAY_HD_AUDIO_PROPERTY_BOOL" since="27"/>
+		<field name="KEY_DROP_VIDEO_CALL_WHEN_ANSWERING_AUDIO_CALL_BOOL" since="25"/>
+		<field name="KEY_DTMF_TYPE_ENABLED_BOOL"/>
+		<field name="KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT" since="24"/>
+		<field name="KEY_EDITABLE_ENHANCED_4G_LTE_BOOL" since="24"/>
+		<field name="KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL" since="26"/>
+		<field name="KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL" since="28"/>
+		<field name="KEY_EDITABLE_WFC_MODE_BOOL" since="30"/>
+		<field name="KEY_EDITABLE_WFC_ROAMING_MODE_BOOL" since="30"/>
+		<field name="KEY_EMERGENCY_NOTIFICATION_DELAY_INT" since="30"/>
+		<field name="KEY_EMERGENCY_NUMBER_PREFIX_STRING_ARRAY" since="29"/>
+		<field name="KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL"/>
+		<field name="KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL" since="29"/>
+		<field name="KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT" since="30"/>
+		<field name="KEY_FORCE_HOME_NETWORK_BOOL"/>
+		<field name="KEY_GSM_DTMF_TONE_DELAY_INT" since="24"/>
+		<field name="KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY"/>
+		<field name="KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY"/>
+		<field name="KEY_HAS_IN_CALL_NOISE_SUPPRESSION_BOOL"/>
+		<field name="KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL"/>
+		<field name="KEY_HIDE_ENABLE_2G" since="31"/>
+		<field name="KEY_HIDE_ENHANCED_4G_LTE_BOOL" since="26"/>
+		<field name="KEY_HIDE_IMS_APN_BOOL" since="24"/>
+		<field name="KEY_HIDE_LTE_PLUS_DATA_ICON_BOOL" since="30"/>
+		<field name="KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL" since="24"/>
+		<field name="KEY_HIDE_PRESET_APN_DETAILS_BOOL" since="29"/>
+		<field name="KEY_HIDE_SIM_LOCK_SETTINGS_BOOL"/>
+		<field name="KEY_HIDE_TTY_HCO_VCO_WITH_RTT_BOOL" since="31"/>
+		<field name="KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS" since="30"/>
+		<field name="KEY_IGNORE_RTT_MODE_SETTING_BOOL" since="30"/>
+		<field name="KEY_IGNORE_SIM_NETWORK_LOCKED_EVENTS_BOOL"/>
+		<field name="KEY_IMS_CONFERENCE_SIZE_LIMIT_INT" since="26"/>
+		<field name="KEY_IMS_DTMF_TONE_DELAY_INT" since="24"/>
+		<field name="KEY_IS_IMS_CONFERENCE_SIZE_ENFORCED_BOOL" since="26"/>
+		<field name="KEY_LTE_ENABLED_BOOL" since="30"/>
+		<field name="KEY_LTE_RSRQ_THRESHOLDS_INT_ARRAY" since="30"/>
+		<field name="KEY_LTE_RSSNR_THRESHOLDS_INT_ARRAY" since="30"/>
+		<field name="KEY_MDN_IS_ADDITIONAL_VOICEMAIL_NUMBER_BOOL" since="26"/>
+		<field name="KEY_MMS_ALIAS_ENABLED_BOOL"/>
+		<field name="KEY_MMS_ALIAS_MAX_CHARS_INT"/>
+		<field name="KEY_MMS_ALIAS_MIN_CHARS_INT"/>
+		<field name="KEY_MMS_ALLOW_ATTACH_AUDIO_BOOL"/>
+		<field name="KEY_MMS_APPEND_TRANSACTION_ID_BOOL"/>
+		<field name="KEY_MMS_CLOSE_CONNECTION_BOOL" since="30"/>
+		<field name="KEY_MMS_EMAIL_GATEWAY_NUMBER_STRING"/>
+		<field name="KEY_MMS_GROUP_MMS_ENABLED_BOOL"/>
+		<field name="KEY_MMS_HTTP_PARAMS_STRING"/>
+		<field name="KEY_MMS_HTTP_SOCKET_TIMEOUT_INT"/>
+		<field name="KEY_MMS_MAX_IMAGE_HEIGHT_INT"/>
+		<field name="KEY_MMS_MAX_IMAGE_WIDTH_INT"/>
+		<field name="KEY_MMS_MAX_MESSAGE_SIZE_INT"/>
+		<field name="KEY_MMS_MESSAGE_TEXT_MAX_SIZE_INT"/>
+		<field name="KEY_MMS_MMS_DELIVERY_REPORT_ENABLED_BOOL"/>
+		<field name="KEY_MMS_MMS_ENABLED_BOOL"/>
+		<field name="KEY_MMS_MMS_READ_REPORT_ENABLED_BOOL"/>
+		<field name="KEY_MMS_MULTIPART_SMS_ENABLED_BOOL"/>
+		<field name="KEY_MMS_NAI_SUFFIX_STRING"/>
+		<field name="KEY_MMS_NOTIFY_WAP_MMSC_ENABLED_BOOL"/>
+		<field name="KEY_MMS_RECIPIENT_LIMIT_INT"/>
+		<field name="KEY_MMS_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES_BOOL"/>
+		<field name="KEY_MMS_SHOW_CELL_BROADCAST_APP_LINKS_BOOL"/>
+		<field name="KEY_MMS_SMS_DELIVERY_REPORT_ENABLED_BOOL"/>
+		<field name="KEY_MMS_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD_INT"/>
+		<field name="KEY_MMS_SMS_TO_MMS_TEXT_THRESHOLD_INT"/>
+		<field name="KEY_MMS_SUBJECT_MAX_LENGTH_INT"/>
+		<field name="KEY_MMS_SUPPORT_HTTP_CHARSET_HEADER_BOOL"/>
+		<field name="KEY_MMS_SUPPORT_MMS_CONTENT_DISPOSITION_BOOL"/>
+		<field name="KEY_MMS_UA_PROF_TAG_NAME_STRING"/>
+		<field name="KEY_MMS_UA_PROF_URL_STRING"/>
+		<field name="KEY_MMS_USER_AGENT_STRING"/>
+		<field name="KEY_MONTHLY_DATA_CYCLE_DAY_INT" since="26"/>
+		<field name="KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL" since="30"/>
+		<field name="KEY_ONLY_SINGLE_DC_ALLOWED_INT_ARRAY" since="26"/>
+		<field name="KEY_OPERATOR_SELECTION_EXPAND_BOOL"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_BACKOFF_TIME_LONG" since="30"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_EXIT_HYSTERESIS_TIME_LONG" since="30"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_DATA_SWITCH_HYSTERESIS_TIME_LONG" since="29"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_ENTRY_OR_EXIT_HYSTERESIS_TIME_LONG" since="29"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_BANDWIDTH_INT" since="29"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_RSRP_INT" since="29"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_ENTRY_THRESHOLD_RSSNR_INT" since="29"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSRP_INT" since="29"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_EXIT_THRESHOLD_RSSNR_INT" since="29"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_MAX_BACKOFF_TIME_LONG" since="30"/>
+		<field name="KEY_OPPORTUNISTIC_NETWORK_PING_PONG_TIME_LONG" since="30"/>
+		<field name="KEY_PING_TEST_BEFORE_DATA_SWITCH_BOOL" since="30"/>
+		<field name="KEY_PREFER_2G_BOOL"/>
+		<field name="KEY_PREVENT_CLIR_ACTIVATION_AND_DEACTIVATION_CODE_BOOL" since="30"/>
+		<field name="KEY_RADIO_RESTART_FAILURE_CAUSES_INT_ARRAY" since="29"/>
+		<field name="KEY_RCS_CONFIG_SERVER_URL_STRING" since="26"/>
+		<field name="KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY" since="30"/>
+		<field name="KEY_READ_ONLY_APN_TYPES_STRING_ARRAY" since="30"/>
+		<field name="KEY_REQUIRE_ENTITLEMENT_CHECKS_BOOL" since="24"/>
+		<field name="KEY_RESTART_RADIO_ON_PDP_FAIL_REGULAR_DEACTIVATION_BOOL" since="26" deprecated="29"/>
+		<field name="KEY_RTT_AUTO_UPGRADE_BOOL" since="31"/>
+		<field name="KEY_RTT_DOWNGRADE_SUPPORTED_BOOL" since="31"/>
+		<field name="KEY_RTT_SUPPORTED_BOOL" since="28"/>
+		<field name="KEY_RTT_SUPPORTED_FOR_VT_BOOL" since="31"/>
+		<field name="KEY_RTT_SUPPORTED_WHILE_ROAMING_BOOL" since="31"/>
+		<field name="KEY_RTT_UPGRADE_SUPPORTED_BOOL" since="31"/>
+		<field name="KEY_RTT_UPGRADE_SUPPORTED_FOR_DOWNGRADED_VT_CALL_BOOL" since="31"/>
+		<field name="KEY_SHOW_4G_FOR_3G_DATA_ICON_BOOL" since="30"/>
+		<field name="KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL" since="30"/>
+		<field name="KEY_SHOW_APN_SETTING_CDMA_BOOL"/>
+		<field name="KEY_SHOW_BLOCKING_PAY_PHONE_OPTION_BOOL" since="30"/>
+		<field name="KEY_SHOW_CALL_BLOCKING_DISABLED_NOTIFICATION_ALWAYS_BOOL" since="29"/>
+		<field name="KEY_SHOW_CDMA_CHOICES_BOOL"/>
+		<field name="KEY_SHOW_FORWARDED_NUMBER_BOOL" since="30"/>
+		<field name="KEY_SHOW_ICCID_IN_SIM_STATUS_BOOL" since="24"/>
+		<field name="KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL" since="30"/>
+		<field name="KEY_SHOW_ONSCREEN_DIAL_BUTTON_BOOL"/>
+		<field name="KEY_SHOW_SIGNAL_STRENGTH_IN_SIM_STATUS_BOOL" since="28"/>
+		<field name="KEY_SHOW_VIDEO_CALL_CHARGES_ALERT_DIALOG_BOOL" since="30"/>
+		<field name="KEY_SHOW_WFC_LOCATION_PRIVACY_POLICY_BOOL" since="30"/>
+		<field name="KEY_SIMPLIFIED_NETWORK_SETTINGS_BOOL" since="26"/>
+		<field name="KEY_SIM_NETWORK_UNLOCK_ALLOW_DISMISS_BOOL"/>
+		<field name="KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL" since="26"/>
+		<field name="KEY_SUPPORTS_CALL_COMPOSER_BOOL" since="31"/>
+		<field name="KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_DTMF_BOOL" since="31"/>
+		<field name="KEY_SUPPORTS_DEVICE_TO_DEVICE_COMMUNICATION_USING_RTP_BOOL" since="31"/>
+		<field name="KEY_SUPPORTS_SDP_NEGOTIATION_OF_D2D_RTP_HEADER_EXTENSIONS_BOOL" since="31"/>
+		<field name="KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL" since="26"/>
+		<field name="KEY_SUPPORT_ADD_CONFERENCE_PARTICIPANTS_BOOL" since="31"/>
+		<field name="KEY_SUPPORT_ADHOC_CONFERENCE_CALLS_BOOL" since="31"/>
+		<field name="KEY_SUPPORT_CLIR_NETWORK_DEFAULT_BOOL" since="29"/>
+		<field name="KEY_SUPPORT_CONFERENCE_CALL_BOOL" since="24"/>
+		<field name="KEY_SUPPORT_EMERGENCY_SMS_OVER_IMS_BOOL" since="29"/>
+		<field name="KEY_SUPPORT_ENHANCED_CALL_BLOCKING_BOOL" since="30"/>
+		<field name="KEY_SUPPORT_IMS_CONFERENCE_EVENT_PACKAGE_BOOL" since="30"/>
+		<field name="KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL"/>
+		<field name="KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL"/>
+		<field name="KEY_SUPPORT_TDSCDMA_BOOL" since="30"/>
+		<field name="KEY_SUPPORT_TDSCDMA_ROAMING_NETWORKS_STRING_ARRAY" since="30"/>
+		<field name="KEY_SWITCH_DATA_TO_PRIMARY_IF_PRIMARY_IS_OOS_BOOL" since="30"/>
+		<field name="KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL" since="25"/>
+		<field name="KEY_TTY_SUPPORTED_BOOL" since="29"/>
+		<field name="KEY_UNLOGGABLE_NUMBERS_STRING_ARRAY" since="30"/>
+		<field name="KEY_USE_ACS_FOR_RCS_BOOL" since="31"/>
+		<field name="KEY_USE_HFA_FOR_PROVISIONING_BOOL"/>
+		<field name="KEY_USE_IP_FOR_CALLING_INDICATOR_BOOL" since="31"/>
+		<field name="KEY_USE_OTASP_FOR_PROVISIONING_BOOL"/>
+		<field name="KEY_USE_RCS_PRESENCE_BOOL" since="24" deprecated="31"/>
+		<field name="KEY_USE_RCS_SIP_OPTIONS_BOOL" since="30"/>
+		<field name="KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL" since="30"/>
+		<field name="KEY_VOICEMAIL_NOTIFICATION_PERSISTENT_BOOL"/>
+		<field name="KEY_VOICE_PRIVACY_DISABLE_UI_BOOL"/>
+		<field name="KEY_VOLTE_REPLACEMENT_RAT_INT"/>
+		<field name="KEY_VT_UPGRADE_SUPPORTED_FOR_DOWNGRADED_RTT_CALL_BOOL" since="31"/>
+		<field name="KEY_VVM_CELLULAR_DATA_REQUIRED_BOOL" since="24"/>
+		<field name="KEY_VVM_CLIENT_PREFIX_STRING" since="26"/>
+		<field name="KEY_VVM_DESTINATION_NUMBER_STRING"/>
+		<field name="KEY_VVM_DISABLED_CAPABILITIES_STRING_ARRAY" since="26"/>
+		<field name="KEY_VVM_LEGACY_MODE_ENABLED_BOOL" since="26"/>
+		<field name="KEY_VVM_PORT_NUMBER_INT"/>
+		<field name="KEY_VVM_PREFETCH_BOOL" since="24"/>
+		<field name="KEY_VVM_SSL_ENABLED_BOOL" since="26"/>
+		<field name="KEY_VVM_TYPE_STRING"/>
+		<field name="KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING" since="30"/>
+		<field name="KEY_WORLD_MODE_ENABLED_BOOL" since="30"/>
+		<field name="KEY_WORLD_PHONE_BOOL"/>
+		<field name="SERVICE_CLASS_NONE" since="31"/>
+		<field name="SERVICE_CLASS_VOICE" since="31"/>
+		<field name="USSD_OVER_CS_ONLY" since="31"/>
+		<field name="USSD_OVER_CS_PREFERRED" since="31"/>
+		<field name="USSD_OVER_IMS_ONLY" since="31"/>
+		<field name="USSD_OVER_IMS_PREFERRED" since="31"/>
+	</class>
+	<class name="android/telephony/CarrierConfigManager$Apn" since="30">
+		<extends name="java/lang/Object"/>
+		<field name="KEY_PREFIX" deprecated="31"/>
+		<field name="KEY_SETTINGS_DEFAULT_PROTOCOL_STRING"/>
+		<field name="KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING"/>
+		<field name="PROTOCOL_IPV4"/>
+		<field name="PROTOCOL_IPV4V6"/>
+		<field name="PROTOCOL_IPV6"/>
+	</class>
+	<class name="android/telephony/CarrierConfigManager$Gps" since="30">
+		<extends name="java/lang/Object"/>
+		<field name="KEY_PERSIST_LPP_MODE_BOOL"/>
+		<field name="KEY_PREFIX"/>
+	</class>
+	<class name="android/telephony/CarrierConfigManager$Ims" since="30">
+		<extends name="java/lang/Object"/>
+		<field name="KEY_ENABLE_PRESENCE_CAPABILITY_EXCHANGE_BOOL" since="31"/>
+		<field name="KEY_ENABLE_PRESENCE_GROUP_SUBSCRIBE_BOOL" since="31"/>
+		<field name="KEY_ENABLE_PRESENCE_PUBLISH_BOOL" since="31"/>
+		<field name="KEY_IMS_SINGLE_REGISTRATION_REQUIRED_BOOL" since="31"/>
+		<field name="KEY_NON_RCS_CAPABILITIES_CACHE_EXPIRATION_SEC_INT" since="31"/>
+		<field name="KEY_PREFIX"/>
+		<field name="KEY_RCS_BULK_CAPABILITY_EXCHANGE_BOOL" since="31"/>
+		<field name="KEY_RCS_FEATURE_TAG_ALLOWED_STRING_ARRAY" since="31"/>
+		<field name="KEY_WIFI_OFF_DEFERRING_TIME_MILLIS_INT"/>
+	</class>
+	<class name="android/telephony/CarrierConfigManager$ImsServiceEntitlement" since="31">
+		<extends name="java/lang/Object"/>
+		<field name="KEY_ENTITLEMENT_SERVER_URL_STRING"/>
+		<field name="KEY_FCM_SENDER_ID_STRING"/>
+		<field name="KEY_IMS_PROVISIONING_BOOL"/>
+		<field name="KEY_PREFIX"/>
+		<field name="KEY_SHOW_VOWIFI_WEBVIEW_BOOL"/>
+	</class>
+	<class name="android/telephony/CarrierConfigManager$Iwlan" since="31">
+		<extends name="java/lang/Object"/>
+		<field name="AUTHENTICATION_METHOD_CERT"/>
+		<field name="AUTHENTICATION_METHOD_EAP_ONLY"/>
+		<field name="EPDG_ADDRESS_CELLULAR_LOC"/>
+		<field name="EPDG_ADDRESS_PCO"/>
+		<field name="EPDG_ADDRESS_PLMN"/>
+		<field name="EPDG_ADDRESS_STATIC"/>
+		<field name="ID_TYPE_FQDN"/>
+		<field name="ID_TYPE_KEY_ID"/>
+		<field name="ID_TYPE_RFC822_ADDR"/>
+		<field name="KEY_ADD_KE_TO_CHILD_SESSION_REKEY_BOOL"/>
+		<field name="KEY_CHILD_SA_REKEY_HARD_TIMER_SEC_INT"/>
+		<field name="KEY_CHILD_SA_REKEY_SOFT_TIMER_SEC_INT"/>
+		<field name="KEY_CHILD_SESSION_AES_CBC_KEY_SIZE_INT_ARRAY"/>
+		<field name="KEY_CHILD_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY"/>
+		<field name="KEY_DIFFIE_HELLMAN_GROUPS_INT_ARRAY"/>
+		<field name="KEY_DPD_TIMER_SEC_INT"/>
+		<field name="KEY_EPDG_ADDRESS_PRIORITY_INT_ARRAY"/>
+		<field name="KEY_EPDG_AUTHENTICATION_METHOD_INT"/>
+		<field name="KEY_EPDG_PCO_ID_IPV4_INT"/>
+		<field name="KEY_EPDG_PCO_ID_IPV6_INT"/>
+		<field name="KEY_EPDG_STATIC_ADDRESS_ROAMING_STRING"/>
+		<field name="KEY_EPDG_STATIC_ADDRESS_STRING"/>
+		<field name="KEY_IKE_LOCAL_ID_TYPE_INT"/>
+		<field name="KEY_IKE_REKEY_HARD_TIMER_SEC_INT"/>
+		<field name="KEY_IKE_REKEY_SOFT_TIMER_SEC_INT"/>
+		<field name="KEY_IKE_REMOTE_ID_TYPE_INT"/>
+		<field name="KEY_IKE_SESSION_AES_CBC_KEY_SIZE_INT_ARRAY"/>
+		<field name="KEY_IKE_SESSION_AES_CTR_KEY_SIZE_INT_ARRAY"/>
+		<field name="KEY_MAX_RETRIES_INT"/>
+		<field name="KEY_MCC_MNCS_STRING_ARRAY"/>
+		<field name="KEY_NATT_KEEP_ALIVE_TIMER_SEC_INT"/>
+		<field name="KEY_PREFIX"/>
+		<field name="KEY_RETRANSMIT_TIMER_MSEC_INT_ARRAY"/>
+		<field name="KEY_SUPPORTED_CHILD_SESSION_ENCRYPTION_ALGORITHMS_INT_ARRAY"/>
+		<field name="KEY_SUPPORTED_IKE_SESSION_ENCRYPTION_ALGORITHMS_INT_ARRAY"/>
+		<field name="KEY_SUPPORTED_INTEGRITY_ALGORITHMS_INT_ARRAY"/>
+		<field name="KEY_SUPPORTED_PRF_ALGORITHMS_INT_ARRAY"/>
+	</class>
+	<class name="android/telephony/CellIdentity" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getOperatorAlphaLong()Ljava/lang/CharSequence;"/>
+		<method name="getOperatorAlphaShort()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellIdentityCdma" since="17">
+		<extends name="android/telephony/CellIdentity" since="28"/>
+		<extends name="java/lang/Object" removed="28"/>
+		<implements name="android/os/Parcelable" removed="28"/>
+		<method name="getBasestationId()I"/>
+		<method name="getLatitude()I"/>
+		<method name="getLongitude()I"/>
+		<method name="getNetworkId()I"/>
+		<method name="getSystemId()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellIdentityGsm" since="17">
+		<extends name="android/telephony/CellIdentity" since="28"/>
+		<extends name="java/lang/Object" removed="28"/>
+		<implements name="android/os/Parcelable" removed="28"/>
+		<method name="getAdditionalPlmns()Ljava/util/Set;" since="30"/>
+		<method name="getArfcn()I" since="24"/>
+		<method name="getBsic()I" since="24"/>
+		<method name="getCid()I"/>
+		<method name="getLac()I"/>
+		<method name="getMcc()I" deprecated="28"/>
+		<method name="getMccString()Ljava/lang/String;" since="28"/>
+		<method name="getMnc()I" deprecated="28"/>
+		<method name="getMncString()Ljava/lang/String;" since="28"/>
+		<method name="getMobileNetworkOperator()Ljava/lang/String;" since="28"/>
+		<method name="getPsc()I" deprecated="18"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellIdentityLte" since="17">
+		<extends name="android/telephony/CellIdentity" since="28"/>
+		<extends name="java/lang/Object" removed="28"/>
+		<implements name="android/os/Parcelable" removed="28"/>
+		<method name="getAdditionalPlmns()Ljava/util/Set;" since="30"/>
+		<method name="getBands()[I" since="30"/>
+		<method name="getBandwidth()I" since="28"/>
+		<method name="getCi()I"/>
+		<method name="getClosedSubscriberGroupInfo()Landroid/telephony/ClosedSubscriberGroupInfo;" since="30"/>
+		<method name="getEarfcn()I" since="24"/>
+		<method name="getMcc()I" deprecated="28"/>
+		<method name="getMccString()Ljava/lang/String;" since="28"/>
+		<method name="getMnc()I" deprecated="28"/>
+		<method name="getMncString()Ljava/lang/String;" since="28"/>
+		<method name="getMobileNetworkOperator()Ljava/lang/String;" since="28"/>
+		<method name="getPci()I"/>
+		<method name="getTac()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellIdentityNr" since="29">
+		<extends name="android/telephony/CellIdentity"/>
+		<method name="getAdditionalPlmns()Ljava/util/Set;" since="30"/>
+		<method name="getBands()[I" since="30"/>
+		<method name="getMccString()Ljava/lang/String;"/>
+		<method name="getMncString()Ljava/lang/String;"/>
+		<method name="getNci()J"/>
+		<method name="getNrarfcn()I"/>
+		<method name="getPci()I"/>
+		<method name="getTac()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellIdentityTdscdma" since="28">
+		<extends name="android/telephony/CellIdentity"/>
+		<method name="getAdditionalPlmns()Ljava/util/Set;" since="30"/>
+		<method name="getCid()I"/>
+		<method name="getClosedSubscriberGroupInfo()Landroid/telephony/ClosedSubscriberGroupInfo;" since="30"/>
+		<method name="getCpid()I"/>
+		<method name="getLac()I"/>
+		<method name="getMccString()Ljava/lang/String;"/>
+		<method name="getMncString()Ljava/lang/String;"/>
+		<method name="getMobileNetworkOperator()Ljava/lang/String;" since="29"/>
+		<method name="getUarfcn()I" since="29"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellIdentityWcdma" since="18">
+		<extends name="android/telephony/CellIdentity" since="28"/>
+		<extends name="java/lang/Object" removed="28"/>
+		<implements name="android/os/Parcelable" removed="28"/>
+		<method name="getAdditionalPlmns()Ljava/util/Set;" since="30"/>
+		<method name="getCid()I"/>
+		<method name="getClosedSubscriberGroupInfo()Landroid/telephony/ClosedSubscriberGroupInfo;" since="30"/>
+		<method name="getLac()I"/>
+		<method name="getMcc()I" deprecated="28"/>
+		<method name="getMccString()Ljava/lang/String;" since="28"/>
+		<method name="getMnc()I" deprecated="28"/>
+		<method name="getMncString()Ljava/lang/String;" since="28"/>
+		<method name="getMobileNetworkOperator()Ljava/lang/String;" since="28"/>
+		<method name="getPsc()I"/>
+		<method name="getUarfcn()I" since="24"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellInfo" since="17">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCellConnectionStatus()I" since="28"/>
+		<method name="getCellIdentity()Landroid/telephony/CellIdentity;" since="30"/>
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrength;" since="30"/>
+		<method name="getTimeStamp()J" deprecated="30"/>
+		<method name="getTimestampMillis()J" since="30"/>
+		<method name="isRegistered()Z"/>
+		<field name="CONNECTION_NONE" since="28"/>
+		<field name="CONNECTION_PRIMARY_SERVING" since="28"/>
+		<field name="CONNECTION_SECONDARY_SERVING" since="28"/>
+		<field name="CONNECTION_UNKNOWN" since="28"/>
+		<field name="CREATOR"/>
+		<field name="UNAVAILABLE" since="29"/>
+		<field name="UNAVAILABLE_LONG" since="29"/>
+	</class>
+	<class name="android/telephony/CellInfoCdma" since="17">
+		<extends name="android/telephony/CellInfo"/>
+		<method name="getCellIdentity()Landroid/telephony/CellIdentityCdma;"/>
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrengthCdma;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellInfoGsm" since="17">
+		<extends name="android/telephony/CellInfo"/>
+		<method name="getCellIdentity()Landroid/telephony/CellIdentityGsm;"/>
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrengthGsm;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellInfoLte" since="17">
+		<extends name="android/telephony/CellInfo"/>
+		<method name="getCellIdentity()Landroid/telephony/CellIdentityLte;"/>
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellInfoNr" since="29">
+		<extends name="android/telephony/CellInfo"/>
+		<method name="getCellIdentity()Landroid/telephony/CellIdentity;"/>
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrength;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellInfoTdscdma" since="29">
+		<extends name="android/telephony/CellInfo"/>
+		<method name="getCellIdentity()Landroid/telephony/CellIdentityTdscdma;"/>
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrengthTdscdma;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellInfoWcdma" since="18">
+		<extends name="android/telephony/CellInfo"/>
+		<method name="getCellIdentity()Landroid/telephony/CellIdentityWcdma;"/>
+		<method name="getCellSignalStrength()Landroid/telephony/CellSignalStrengthWcdma;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellLocation" since="1" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="getEmpty()Landroid/telephony/CellLocation;" deprecated="31"/>
+		<method name="requestLocationUpdate()V" deprecated="31"/>
+	</class>
+	<class name="android/telephony/CellSignalStrength" since="17">
+		<extends name="java/lang/Object"/>
+		<method name="getAsuLevel()I"/>
+		<method name="getDbm()I"/>
+		<method name="getLevel()I"/>
+		<field name="SIGNAL_STRENGTH_GOOD" since="23"/>
+		<field name="SIGNAL_STRENGTH_GREAT" since="23"/>
+		<field name="SIGNAL_STRENGTH_MODERATE" since="23"/>
+		<field name="SIGNAL_STRENGTH_NONE_OR_UNKNOWN" since="23"/>
+		<field name="SIGNAL_STRENGTH_POOR" since="23"/>
+	</class>
+	<class name="android/telephony/CellSignalStrengthCdma" since="17">
+		<extends name="android/telephony/CellSignalStrength"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCdmaDbm()I"/>
+		<method name="getCdmaEcio()I"/>
+		<method name="getCdmaLevel()I"/>
+		<method name="getEvdoDbm()I"/>
+		<method name="getEvdoEcio()I"/>
+		<method name="getEvdoLevel()I"/>
+		<method name="getEvdoSnr()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellSignalStrengthGsm" since="17">
+		<extends name="android/telephony/CellSignalStrength"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getBitErrorRate()I" since="29"/>
+		<method name="getRssi()I" since="30"/>
+		<method name="getTimingAdvance()I" since="26"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellSignalStrengthLte" since="17">
+		<extends name="android/telephony/CellSignalStrength"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCqi()I" since="26"/>
+		<method name="getCqiTableIndex()I" since="31"/>
+		<method name="getRsrp()I" since="26"/>
+		<method name="getRsrq()I" since="26"/>
+		<method name="getRssi()I" since="29"/>
+		<method name="getRssnr()I" since="26"/>
+		<method name="getTimingAdvance()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellSignalStrengthNr" since="29">
+		<extends name="android/telephony/CellSignalStrength"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCsiCqiReport()Ljava/util/List;" since="31"/>
+		<method name="getCsiCqiTableIndex()I" since="31"/>
+		<method name="getCsiRsrp()I"/>
+		<method name="getCsiRsrq()I"/>
+		<method name="getCsiSinr()I"/>
+		<method name="getSsRsrp()I"/>
+		<method name="getSsRsrq()I"/>
+		<method name="getSsSinr()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellSignalStrengthTdscdma" since="29">
+		<extends name="android/telephony/CellSignalStrength"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getRscp()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/CellSignalStrengthWcdma" since="18">
+		<extends name="android/telephony/CellSignalStrength"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getEcNo()I" since="30"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/ClosedSubscriberGroupInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCsgIdentity()I"/>
+		<method name="getCsgIndicator()Z"/>
+		<method name="getHomeNodebName()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/DataFailCause" since="30">
+		<extends name="java/lang/Object"/>
+		<field name="ACCESS_ATTEMPT_ALREADY_IN_PROGRESS"/>
+		<field name="ACCESS_BLOCK"/>
+		<field name="ACCESS_BLOCK_ALL"/>
+		<field name="ACCESS_CLASS_DSAC_REJECTION"/>
+		<field name="ACCESS_CONTROL_LIST_CHECK_FAILURE"/>
+		<field name="ACTIVATION_REJECTED_BCM_VIOLATION"/>
+		<field name="ACTIVATION_REJECT_GGSN"/>
+		<field name="ACTIVATION_REJECT_UNSPECIFIED"/>
+		<field name="ACTIVE_PDP_CONTEXT_MAX_NUMBER_REACHED"/>
+		<field name="ALL_MATCHING_RULES_FAILED" since="31"/>
+		<field name="APN_DISABLED"/>
+		<field name="APN_DISALLOWED_ON_ROAMING"/>
+		<field name="APN_MISMATCH"/>
+		<field name="APN_PARAMETERS_CHANGED"/>
+		<field name="APN_PENDING_HANDOVER"/>
+		<field name="APN_TYPE_CONFLICT"/>
+		<field name="AUTH_FAILURE_ON_EMERGENCY_CALL"/>
+		<field name="BEARER_HANDLING_NOT_SUPPORTED"/>
+		<field name="CALL_DISALLOWED_IN_ROAMING"/>
+		<field name="CALL_PREEMPT_BY_EMERGENCY_APN"/>
+		<field name="CANNOT_ENCODE_OTA_MESSAGE"/>
+		<field name="CDMA_ALERT_STOP"/>
+		<field name="CDMA_INCOMING_CALL"/>
+		<field name="CDMA_INTERCEPT"/>
+		<field name="CDMA_LOCK"/>
+		<field name="CDMA_RELEASE_DUE_TO_SO_REJECTION"/>
+		<field name="CDMA_REORDER"/>
+		<field name="CDMA_RETRY_ORDER"/>
+		<field name="CHANNEL_ACQUISITION_FAILURE"/>
+		<field name="CLOSE_IN_PROGRESS"/>
+		<field name="COLLISION_WITH_NETWORK_INITIATED_REQUEST"/>
+		<field name="COMPANION_IFACE_IN_USE"/>
+		<field name="CONCURRENT_SERVICES_INCOMPATIBLE"/>
+		<field name="CONCURRENT_SERVICES_NOT_ALLOWED"/>
+		<field name="CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION"/>
+		<field name="CONDITIONAL_IE_ERROR"/>
+		<field name="CONGESTION"/>
+		<field name="CONNECTION_RELEASED"/>
+		<field name="CS_DOMAIN_NOT_AVAILABLE"/>
+		<field name="CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED"/>
+		<field name="DATA_PLAN_EXPIRED"/>
+		<field name="DATA_ROAMING_SETTINGS_DISABLED"/>
+		<field name="DATA_SETTINGS_DISABLED"/>
+		<field name="DBM_OR_SMS_IN_PROGRESS"/>
+		<field name="DDS_SWITCHED"/>
+		<field name="DDS_SWITCH_IN_PROGRESS"/>
+		<field name="DRB_RELEASED_BY_RRC"/>
+		<field name="DS_EXPLICIT_DEACTIVATION"/>
+		<field name="DUAL_SWITCH"/>
+		<field name="DUN_CALL_DISALLOWED"/>
+		<field name="DUPLICATE_BEARER_ID"/>
+		<field name="EHRPD_TO_HRPD_FALLBACK"/>
+		<field name="EMBMS_NOT_ENABLED"/>
+		<field name="EMBMS_REGULAR_DEACTIVATION"/>
+		<field name="EMERGENCY_IFACE_ONLY"/>
+		<field name="EMERGENCY_MODE"/>
+		<field name="EMM_ACCESS_BARRED"/>
+		<field name="EMM_ACCESS_BARRED_INFINITE_RETRY"/>
+		<field name="EMM_ATTACH_FAILED"/>
+		<field name="EMM_ATTACH_STARTED"/>
+		<field name="EMM_DETACHED"/>
+		<field name="EMM_T3417_EXPIRED"/>
+		<field name="EMM_T3417_EXT_EXPIRED"/>
+		<field name="EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED"/>
+		<field name="EPS_SERVICES_NOT_ALLOWED_IN_PLMN"/>
+		<field name="ERROR_UNSPECIFIED"/>
+		<field name="ESM_BAD_OTA_MESSAGE"/>
+		<field name="ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK"/>
+		<field name="ESM_COLLISION_SCENARIOS"/>
+		<field name="ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT"/>
+		<field name="ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL"/>
+		<field name="ESM_FAILURE"/>
+		<field name="ESM_INFO_NOT_RECEIVED"/>
+		<field name="ESM_LOCAL_CAUSE_NONE"/>
+		<field name="ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER"/>
+		<field name="ESM_PROCEDURE_TIME_OUT"/>
+		<field name="ESM_UNKNOWN_EPS_BEARER_CONTEXT"/>
+		<field name="EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE"/>
+		<field name="EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY"/>
+		<field name="EVDO_HDR_CHANGED"/>
+		<field name="EVDO_HDR_CONNECTION_SETUP_TIMEOUT"/>
+		<field name="EVDO_HDR_EXITED"/>
+		<field name="EVDO_HDR_NO_SESSION"/>
+		<field name="EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL"/>
+		<field name="FADE"/>
+		<field name="FAILED_TO_ACQUIRE_COLOCATED_HDR"/>
+		<field name="FEATURE_NOT_SUPP"/>
+		<field name="FILTER_SEMANTIC_ERROR"/>
+		<field name="FILTER_SYTAX_ERROR"/>
+		<field name="FORBIDDEN_APN_NAME"/>
+		<field name="GPRS_REGISTRATION_FAIL"/>
+		<field name="GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED"/>
+		<field name="GPRS_SERVICES_NOT_ALLOWED"/>
+		<field name="GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN"/>
+		<field name="HANDOFF_PREFERENCE_CHANGED"/>
+		<field name="HDR_ACCESS_FAILURE"/>
+		<field name="HDR_FADE"/>
+		<field name="HDR_NO_LOCK_GRANTED"/>
+		<field name="IFACE_AND_POL_FAMILY_MISMATCH"/>
+		<field name="IFACE_MISMATCH"/>
+		<field name="ILLEGAL_ME"/>
+		<field name="ILLEGAL_MS"/>
+		<field name="IMEI_NOT_ACCEPTED"/>
+		<field name="IMPLICITLY_DETACHED"/>
+		<field name="IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER"/>
+		<field name="INCOMING_CALL_REJECTED"/>
+		<field name="INSUFFICIENT_RESOURCES"/>
+		<field name="INTERFACE_IN_USE"/>
+		<field name="INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN"/>
+		<field name="INTERNAL_EPC_NONEPC_TRANSITION"/>
+		<field name="INVALID_CONNECTION_ID"/>
+		<field name="INVALID_DNS_ADDR"/>
+		<field name="INVALID_EMM_STATE"/>
+		<field name="INVALID_MANDATORY_INFO"/>
+		<field name="INVALID_MODE"/>
+		<field name="INVALID_PCSCF_ADDR"/>
+		<field name="INVALID_PCSCF_OR_DNS_ADDRESS"/>
+		<field name="INVALID_PRIMARY_NSAPI"/>
+		<field name="INVALID_SIM_STATE"/>
+		<field name="INVALID_TRANSACTION_ID"/>
+		<field name="IPV6_ADDRESS_TRANSFER_FAILED"/>
+		<field name="IPV6_PREFIX_UNAVAILABLE"/>
+		<field name="IP_ADDRESS_MISMATCH"/>
+		<field name="IP_VERSION_MISMATCH"/>
+		<field name="IRAT_HANDOVER_FAILED"/>
+		<field name="IS707B_MAX_ACCESS_PROBES"/>
+		<field name="IWLAN_AUTHORIZATION_REJECTED" since="31"/>
+		<field name="IWLAN_DNS_RESOLUTION_NAME_FAILURE" since="31"/>
+		<field name="IWLAN_DNS_RESOLUTION_TIMEOUT" since="31"/>
+		<field name="IWLAN_IKEV2_AUTH_FAILURE" since="31"/>
+		<field name="IWLAN_IKEV2_CERT_INVALID" since="31"/>
+		<field name="IWLAN_IKEV2_CONFIG_FAILURE" since="31"/>
+		<field name="IWLAN_IKEV2_MSG_TIMEOUT" since="31"/>
+		<field name="IWLAN_ILLEGAL_ME" since="31"/>
+		<field name="IWLAN_IMEI_NOT_ACCEPTED" since="31"/>
+		<field name="IWLAN_MAX_CONNECTION_REACHED" since="31"/>
+		<field name="IWLAN_NETWORK_FAILURE" since="31"/>
+		<field name="IWLAN_NON_3GPP_ACCESS_TO_EPC_NOT_ALLOWED" since="31"/>
+		<field name="IWLAN_NO_APN_SUBSCRIPTION" since="31"/>
+		<field name="IWLAN_PDN_CONNECTION_REJECTION" since="31"/>
+		<field name="IWLAN_PLMN_NOT_ALLOWED" since="31"/>
+		<field name="IWLAN_RAT_TYPE_NOT_ALLOWED" since="31"/>
+		<field name="IWLAN_SEMANTIC_ERRORS_IN_PACKET_FILTERS" since="31"/>
+		<field name="IWLAN_SEMANTIC_ERROR_IN_THE_TFT_OPERATION" since="31"/>
+		<field name="IWLAN_SYNTACTICAL_ERRORS_IN_PACKET_FILTERS" since="31"/>
+		<field name="IWLAN_SYNTACTICAL_ERROR_IN_THE_TFT_OPERATION" since="31"/>
+		<field name="IWLAN_UNAUTHENTICATED_EMERGENCY_NOT_SUPPORTED" since="31"/>
+		<field name="IWLAN_USER_UNKNOWN" since="31"/>
+		<field name="LIMITED_TO_IPV4"/>
+		<field name="LIMITED_TO_IPV6"/>
+		<field name="LLC_SNDCP"/>
+		<field name="LOCAL_END"/>
+		<field name="LOCATION_AREA_NOT_ALLOWED"/>
+		<field name="LOST_CONNECTION"/>
+		<field name="LOWER_LAYER_REGISTRATION_FAILURE"/>
+		<field name="LOW_POWER_MODE_OR_POWERING_DOWN"/>
+		<field name="LTE_NAS_SERVICE_REQUEST_FAILED"/>
+		<field name="LTE_THROTTLING_NOT_REQUIRED"/>
+		<field name="MAC_FAILURE"/>
+		<field name="MATCH_ALL_RULE_NOT_ALLOWED" since="31"/>
+		<field name="MAXIMIUM_NSAPIS_EXCEEDED"/>
+		<field name="MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED"/>
+		<field name="MAX_ACCESS_PROBE"/>
+		<field name="MAX_IPV4_CONNECTIONS"/>
+		<field name="MAX_IPV6_CONNECTIONS"/>
+		<field name="MAX_PPP_INACTIVITY_TIMER_EXPIRED"/>
+		<field name="MESSAGE_INCORRECT_SEMANTIC"/>
+		<field name="MESSAGE_TYPE_UNSUPPORTED"/>
+		<field name="MIP_CONFIG_FAILURE"/>
+		<field name="MIP_FA_ADMIN_PROHIBITED"/>
+		<field name="MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED"/>
+		<field name="MIP_FA_ENCAPSULATION_UNAVAILABLE"/>
+		<field name="MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE"/>
+		<field name="MIP_FA_INSUFFICIENT_RESOURCES"/>
+		<field name="MIP_FA_MALFORMED_REPLY"/>
+		<field name="MIP_FA_MALFORMED_REQUEST"/>
+		<field name="MIP_FA_MISSING_CHALLENGE"/>
+		<field name="MIP_FA_MISSING_HOME_ADDRESS"/>
+		<field name="MIP_FA_MISSING_HOME_AGENT"/>
+		<field name="MIP_FA_MISSING_NAI"/>
+		<field name="MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE"/>
+		<field name="MIP_FA_REASON_UNSPECIFIED"/>
+		<field name="MIP_FA_REQUESTED_LIFETIME_TOO_LONG"/>
+		<field name="MIP_FA_REVERSE_TUNNEL_IS_MANDATORY"/>
+		<field name="MIP_FA_REVERSE_TUNNEL_UNAVAILABLE"/>
+		<field name="MIP_FA_STALE_CHALLENGE"/>
+		<field name="MIP_FA_UNKNOWN_CHALLENGE"/>
+		<field name="MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE"/>
+		<field name="MIP_HA_ADMIN_PROHIBITED"/>
+		<field name="MIP_HA_ENCAPSULATION_UNAVAILABLE"/>
+		<field name="MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE"/>
+		<field name="MIP_HA_INSUFFICIENT_RESOURCES"/>
+		<field name="MIP_HA_MALFORMED_REQUEST"/>
+		<field name="MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE"/>
+		<field name="MIP_HA_REASON_UNSPECIFIED"/>
+		<field name="MIP_HA_REGISTRATION_ID_MISMATCH"/>
+		<field name="MIP_HA_REVERSE_TUNNEL_IS_MANDATORY"/>
+		<field name="MIP_HA_REVERSE_TUNNEL_UNAVAILABLE"/>
+		<field name="MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS"/>
+		<field name="MISSING_UNKNOWN_APN"/>
+		<field name="MODEM_APP_PREEMPTED"/>
+		<field name="MODEM_RESTART"/>
+		<field name="MSC_TEMPORARILY_NOT_REACHABLE"/>
+		<field name="MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE"/>
+		<field name="MSG_TYPE_NONCOMPATIBLE_STATE"/>
+		<field name="MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK"/>
+		<field name="MULTIPLE_PDP_CALL_NOT_ALLOWED"/>
+		<field name="MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED"/>
+		<field name="NAS_LAYER_FAILURE"/>
+		<field name="NAS_REQUEST_REJECTED_BY_NETWORK"/>
+		<field name="NAS_SIGNALLING"/>
+		<field name="NETWORK_FAILURE"/>
+		<field name="NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH"/>
+		<field name="NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH"/>
+		<field name="NETWORK_INITIATED_TERMINATION"/>
+		<field name="NONE"/>
+		<field name="NON_IP_NOT_SUPPORTED"/>
+		<field name="NORMAL_RELEASE"/>
+		<field name="NO_CDMA_SERVICE"/>
+		<field name="NO_COLLOCATED_HDR"/>
+		<field name="NO_EPS_BEARER_CONTEXT_ACTIVATED"/>
+		<field name="NO_GPRS_CONTEXT"/>
+		<field name="NO_HYBRID_HDR_SERVICE"/>
+		<field name="NO_PDP_CONTEXT_ACTIVATED"/>
+		<field name="NO_RESPONSE_FROM_BASE_STATION"/>
+		<field name="NO_SERVICE"/>
+		<field name="NO_SERVICE_ON_GATEWAY"/>
+		<field name="NSAPI_IN_USE"/>
+		<field name="NULL_APN_DISALLOWED"/>
+		<field name="OEM_DCFAILCAUSE_1"/>
+		<field name="OEM_DCFAILCAUSE_10"/>
+		<field name="OEM_DCFAILCAUSE_11"/>
+		<field name="OEM_DCFAILCAUSE_12"/>
+		<field name="OEM_DCFAILCAUSE_13"/>
+		<field name="OEM_DCFAILCAUSE_14"/>
+		<field name="OEM_DCFAILCAUSE_15"/>
+		<field name="OEM_DCFAILCAUSE_2"/>
+		<field name="OEM_DCFAILCAUSE_3"/>
+		<field name="OEM_DCFAILCAUSE_4"/>
+		<field name="OEM_DCFAILCAUSE_5"/>
+		<field name="OEM_DCFAILCAUSE_6"/>
+		<field name="OEM_DCFAILCAUSE_7"/>
+		<field name="OEM_DCFAILCAUSE_8"/>
+		<field name="OEM_DCFAILCAUSE_9"/>
+		<field name="ONLY_IPV4V6_ALLOWED"/>
+		<field name="ONLY_IPV4_ALLOWED"/>
+		<field name="ONLY_IPV6_ALLOWED"/>
+		<field name="ONLY_NON_IP_ALLOWED"/>
+		<field name="ONLY_SINGLE_BEARER_ALLOWED"/>
+		<field name="OPERATOR_BARRED"/>
+		<field name="OTASP_COMMIT_IN_PROGRESS"/>
+		<field name="PDN_CONN_DOES_NOT_EXIST"/>
+		<field name="PDN_INACTIVITY_TIMER_EXPIRED"/>
+		<field name="PDN_IPV4_CALL_DISALLOWED"/>
+		<field name="PDN_IPV4_CALL_THROTTLED"/>
+		<field name="PDN_IPV6_CALL_DISALLOWED"/>
+		<field name="PDN_IPV6_CALL_THROTTLED"/>
+		<field name="PDN_NON_IP_CALL_DISALLOWED"/>
+		<field name="PDN_NON_IP_CALL_THROTTLED"/>
+		<field name="PDP_ACTIVATE_MAX_RETRY_FAILED"/>
+		<field name="PDP_DUPLICATE"/>
+		<field name="PDP_ESTABLISH_TIMEOUT_EXPIRED"/>
+		<field name="PDP_INACTIVE_TIMEOUT_EXPIRED"/>
+		<field name="PDP_LOWERLAYER_ERROR"/>
+		<field name="PDP_MODIFY_COLLISION"/>
+		<field name="PDP_MODIFY_TIMEOUT_EXPIRED"/>
+		<field name="PDP_PPP_NOT_SUPPORTED"/>
+		<field name="PDP_WITHOUT_ACTIVE_TFT"/>
+		<field name="PHONE_IN_USE"/>
+		<field name="PHYSICAL_LINK_CLOSE_IN_PROGRESS"/>
+		<field name="PLMN_NOT_ALLOWED"/>
+		<field name="PPP_AUTH_FAILURE"/>
+		<field name="PPP_CHAP_FAILURE"/>
+		<field name="PPP_CLOSE_IN_PROGRESS"/>
+		<field name="PPP_OPTION_MISMATCH"/>
+		<field name="PPP_PAP_FAILURE"/>
+		<field name="PPP_TIMEOUT"/>
+		<field name="PREF_RADIO_TECH_CHANGED"/>
+		<field name="PROFILE_BEARER_INCOMPATIBLE"/>
+		<field name="PROTOCOL_ERRORS"/>
+		<field name="QOS_NOT_ACCEPTED"/>
+		<field name="RADIO_ACCESS_BEARER_FAILURE"/>
+		<field name="RADIO_ACCESS_BEARER_SETUP_FAILURE"/>
+		<field name="RADIO_NOT_AVAILABLE"/>
+		<field name="RADIO_POWER_OFF"/>
+		<field name="REDIRECTION_OR_HANDOFF_IN_PROGRESS"/>
+		<field name="REGISTRATION_FAIL"/>
+		<field name="REGULAR_DEACTIVATION"/>
+		<field name="REJECTED_BY_BASE_STATION"/>
+		<field name="RRC_CONNECTION_ABORTED_AFTER_HANDOVER"/>
+		<field name="RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE"/>
+		<field name="RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE"/>
+		<field name="RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE"/>
+		<field name="RRC_CONNECTION_ABORT_REQUEST"/>
+		<field name="RRC_CONNECTION_ACCESS_BARRED"/>
+		<field name="RRC_CONNECTION_ACCESS_STRATUM_FAILURE"/>
+		<field name="RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS"/>
+		<field name="RRC_CONNECTION_CELL_NOT_CAMPED"/>
+		<field name="RRC_CONNECTION_CELL_RESELECTION"/>
+		<field name="RRC_CONNECTION_CONFIG_FAILURE"/>
+		<field name="RRC_CONNECTION_INVALID_REQUEST"/>
+		<field name="RRC_CONNECTION_LINK_FAILURE"/>
+		<field name="RRC_CONNECTION_NORMAL_RELEASE"/>
+		<field name="RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER"/>
+		<field name="RRC_CONNECTION_RADIO_LINK_FAILURE"/>
+		<field name="RRC_CONNECTION_REESTABLISHMENT_FAILURE"/>
+		<field name="RRC_CONNECTION_REJECT_BY_NETWORK"/>
+		<field name="RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE"/>
+		<field name="RRC_CONNECTION_RF_UNAVAILABLE"/>
+		<field name="RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR"/>
+		<field name="RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE"/>
+		<field name="RRC_CONNECTION_TIMER_EXPIRED"/>
+		<field name="RRC_CONNECTION_TRACKING_AREA_ID_CHANGED"/>
+		<field name="RRC_UPLINK_CONNECTION_RELEASE"/>
+		<field name="RRC_UPLINK_DATA_TRANSMISSION_FAILURE"/>
+		<field name="RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER"/>
+		<field name="RRC_UPLINK_ERROR_REQUEST_FROM_NAS"/>
+		<field name="RRC_UPLINK_RADIO_LINK_FAILURE"/>
+		<field name="RUIM_NOT_PRESENT"/>
+		<field name="SECURITY_MODE_REJECTED"/>
+		<field name="SERVICE_NOT_ALLOWED_ON_PLMN"/>
+		<field name="SERVICE_OPTION_NOT_SUBSCRIBED"/>
+		<field name="SERVICE_OPTION_NOT_SUPPORTED"/>
+		<field name="SERVICE_OPTION_OUT_OF_ORDER"/>
+		<field name="SIGNAL_LOST"/>
+		<field name="SIM_CARD_CHANGED"/>
+		<field name="SLICE_REJECTED" since="31"/>
+		<field name="SYNCHRONIZATION_FAILURE"/>
+		<field name="TEST_LOOPBACK_REGULAR_DEACTIVATION"/>
+		<field name="TETHERED_CALL_ACTIVE"/>
+		<field name="TFT_SEMANTIC_ERROR"/>
+		<field name="TFT_SYTAX_ERROR"/>
+		<field name="THERMAL_EMERGENCY"/>
+		<field name="THERMAL_MITIGATION"/>
+		<field name="TRAT_SWAP_FAILED"/>
+		<field name="UE_INITIATED_DETACH_OR_DISCONNECT"/>
+		<field name="UE_IS_ENTERING_POWERSAVE_MODE"/>
+		<field name="UE_RAT_CHANGE"/>
+		<field name="UE_SECURITY_CAPABILITIES_MISMATCH"/>
+		<field name="UMTS_HANDOVER_TO_IWLAN"/>
+		<field name="UMTS_REACTIVATION_REQ"/>
+		<field name="UNACCEPTABLE_NETWORK_PARAMETER"/>
+		<field name="UNACCEPTABLE_NON_EPS_AUTHENTICATION"/>
+		<field name="UNKNOWN"/>
+		<field name="UNKNOWN_INFO_ELEMENT"/>
+		<field name="UNKNOWN_PDP_ADDRESS_TYPE"/>
+		<field name="UNKNOWN_PDP_CONTEXT"/>
+		<field name="UNPREFERRED_RAT"/>
+		<field name="UNSUPPORTED_1X_PREV"/>
+		<field name="UNSUPPORTED_APN_IN_CURRENT_PLMN"/>
+		<field name="UNSUPPORTED_QCI_VALUE"/>
+		<field name="USER_AUTHENTICATION"/>
+		<field name="VSNCP_ADMINISTRATIVELY_PROHIBITED"/>
+		<field name="VSNCP_APN_UNAUTHORIZED"/>
+		<field name="VSNCP_GEN_ERROR"/>
+		<field name="VSNCP_INSUFFICIENT_PARAMETERS"/>
+		<field name="VSNCP_NO_PDN_GATEWAY_ADDRESS"/>
+		<field name="VSNCP_PDN_EXISTS_FOR_THIS_APN"/>
+		<field name="VSNCP_PDN_GATEWAY_REJECT"/>
+		<field name="VSNCP_PDN_GATEWAY_UNREACHABLE"/>
+		<field name="VSNCP_PDN_ID_IN_USE"/>
+		<field name="VSNCP_PDN_LIMIT_EXCEEDED"/>
+		<field name="VSNCP_RECONNECT_NOT_ALLOWED"/>
+		<field name="VSNCP_RESOURCE_UNAVAILABLE"/>
+		<field name="VSNCP_SUBSCRIBER_LIMITATION"/>
+		<field name="VSNCP_TIMEOUT"/>
+	</class>
+	<class name="android/telephony/DisconnectCause" since="31">
+		<extends name="java/lang/Object"/>
+		<field name="ALREADY_DIALING"/>
+		<field name="ANSWERED_ELSEWHERE"/>
+		<field name="BUSY"/>
+		<field name="CALLING_DISABLED"/>
+		<field name="CALL_BARRED"/>
+		<field name="CALL_PULLED"/>
+		<field name="CANT_CALL_WHILE_RINGING"/>
+		<field name="CDMA_ACCESS_BLOCKED"/>
+		<field name="CDMA_ACCESS_FAILURE"/>
+		<field name="CDMA_ALREADY_ACTIVATED"/>
+		<field name="CDMA_DROP"/>
+		<field name="CDMA_INTERCEPT"/>
+		<field name="CDMA_LOCKED_UNTIL_POWER_CYCLE"/>
+		<field name="CDMA_NOT_EMERGENCY"/>
+		<field name="CDMA_PREEMPTED"/>
+		<field name="CDMA_REORDER"/>
+		<field name="CDMA_RETRY_ORDER"/>
+		<field name="CDMA_SO_REJECT"/>
+		<field name="CONGESTION"/>
+		<field name="CS_RESTRICTED"/>
+		<field name="CS_RESTRICTED_EMERGENCY"/>
+		<field name="CS_RESTRICTED_NORMAL"/>
+		<field name="DATA_DISABLED"/>
+		<field name="DATA_LIMIT_REACHED"/>
+		<field name="DIALED_CALL_FORWARDING_WHILE_ROAMING"/>
+		<field name="DIALED_MMI"/>
+		<field name="DIAL_LOW_BATTERY"/>
+		<field name="DIAL_MODIFIED_TO_DIAL"/>
+		<field name="DIAL_MODIFIED_TO_DIAL_VIDEO"/>
+		<field name="DIAL_MODIFIED_TO_SS"/>
+		<field name="DIAL_MODIFIED_TO_USSD"/>
+		<field name="DIAL_VIDEO_MODIFIED_TO_DIAL"/>
+		<field name="DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO"/>
+		<field name="DIAL_VIDEO_MODIFIED_TO_SS"/>
+		<field name="DIAL_VIDEO_MODIFIED_TO_USSD"/>
+		<field name="EMERGENCY_CALL_OVER_WFC_NOT_AVAILABLE"/>
+		<field name="EMERGENCY_PERM_FAILURE"/>
+		<field name="EMERGENCY_TEMP_FAILURE"/>
+		<field name="ERROR_UNSPECIFIED"/>
+		<field name="FDN_BLOCKED"/>
+		<field name="ICC_ERROR"/>
+		<field name="IMEI_NOT_ACCEPTED"/>
+		<field name="IMS_ACCESS_BLOCKED"/>
+		<field name="IMS_MERGED_SUCCESSFULLY"/>
+		<field name="IMS_SIP_ALTERNATE_EMERGENCY_CALL"/>
+		<field name="INCOMING_AUTO_REJECTED"/>
+		<field name="INCOMING_MISSED"/>
+		<field name="INCOMING_REJECTED"/>
+		<field name="INVALID_CREDENTIALS"/>
+		<field name="INVALID_NUMBER"/>
+		<field name="LIMIT_EXCEEDED"/>
+		<field name="LOCAL"/>
+		<field name="LOST_SIGNAL"/>
+		<field name="LOW_BATTERY"/>
+		<field name="MAXIMUM_NUMBER_OF_CALLS_REACHED"/>
+		<field name="MEDIA_TIMEOUT"/>
+		<field name="MMI"/>
+		<field name="NORMAL"/>
+		<field name="NORMAL_UNSPECIFIED"/>
+		<field name="NOT_DISCONNECTED"/>
+		<field name="NOT_VALID"/>
+		<field name="NO_PHONE_NUMBER_SUPPLIED"/>
+		<field name="NUMBER_UNREACHABLE"/>
+		<field name="OTASP_PROVISIONING_IN_PROCESS"/>
+		<field name="OUTGOING_CANCELED"/>
+		<field name="OUTGOING_EMERGENCY_CALL_PLACED"/>
+		<field name="OUTGOING_FAILURE"/>
+		<field name="OUT_OF_NETWORK"/>
+		<field name="OUT_OF_SERVICE"/>
+		<field name="POWER_OFF"/>
+		<field name="SERVER_ERROR"/>
+		<field name="SERVER_UNREACHABLE"/>
+		<field name="TIMED_OUT"/>
+		<field name="TOO_MANY_ONGOING_CALLS"/>
+		<field name="UNOBTAINABLE_NUMBER"/>
+		<field name="VIDEO_CALL_NOT_ALLOWED_WHILE_TTY_ENABLED"/>
+		<field name="VOICEMAIL_NUMBER_MISSING"/>
+		<field name="WFC_SERVICE_NOT_AVAILABLE_IN_THIS_LOCATION"/>
+		<field name="WIFI_LOST"/>
+	</class>
+	<class name="android/telephony/IccOpenLogicalChannelResponse" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getChannel()I"/>
+		<method name="getSelectResponse()[B"/>
+		<method name="getStatus()I"/>
+		<field name="CREATOR"/>
+		<field name="INVALID_CHANNEL"/>
+		<field name="STATUS_MISSING_RESOURCE"/>
+		<field name="STATUS_NO_ERROR"/>
+		<field name="STATUS_NO_SUCH_ELEMENT"/>
+		<field name="STATUS_UNKNOWN_ERROR"/>
+	</class>
+	<class name="android/telephony/MbmsDownloadSession" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="addProgressListener(Landroid/telephony/mbms/DownloadRequest;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/DownloadProgressListener;)V"/>
+		<method name="addServiceAnnouncement([B)V" since="31"/>
+		<method name="addStatusListener(Landroid/telephony/mbms/DownloadRequest;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/DownloadStatusListener;)V"/>
+		<method name="cancelDownload(Landroid/telephony/mbms/DownloadRequest;)V"/>
+		<method name="create(Landroid/content/Context;Ljava/util/concurrent/Executor;ILandroid/telephony/mbms/MbmsDownloadSessionCallback;)Landroid/telephony/MbmsDownloadSession;"/>
+		<method name="create(Landroid/content/Context;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/MbmsDownloadSessionCallback;)Landroid/telephony/MbmsDownloadSession;"/>
+		<method name="download(Landroid/telephony/mbms/DownloadRequest;)V"/>
+		<method name="getMaximumServiceAnnouncementSize()I" since="31"/>
+		<method name="getTempFileRootDirectory()Ljava/io/File;"/>
+		<method name="listPendingDownloads()Ljava/util/List;"/>
+		<method name="removeProgressListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/DownloadProgressListener;)V"/>
+		<method name="removeStatusListener(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/DownloadStatusListener;)V"/>
+		<method name="requestDownloadState(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;)V"/>
+		<method name="requestUpdateFileServices(Ljava/util/List;)V"/>
+		<method name="resetDownloadKnowledge(Landroid/telephony/mbms/DownloadRequest;)V"/>
+		<method name="setTempFileRootDirectory(Ljava/io/File;)V"/>
+		<field name="DEFAULT_TOP_LEVEL_TEMP_DIRECTORY"/>
+		<field name="EXTRA_MBMS_COMPLETED_FILE_URI"/>
+		<field name="EXTRA_MBMS_DOWNLOAD_REQUEST"/>
+		<field name="EXTRA_MBMS_DOWNLOAD_RESULT"/>
+		<field name="EXTRA_MBMS_FILE_INFO"/>
+		<field name="RESULT_CANCELLED"/>
+		<field name="RESULT_DOWNLOAD_FAILURE"/>
+		<field name="RESULT_EXPIRED"/>
+		<field name="RESULT_FILE_ROOT_UNREACHABLE"/>
+		<field name="RESULT_IO_ERROR"/>
+		<field name="RESULT_OUT_OF_STORAGE"/>
+		<field name="RESULT_SERVICE_ID_NOT_DEFINED"/>
+		<field name="RESULT_SUCCESSFUL"/>
+		<field name="STATUS_ACTIVELY_DOWNLOADING"/>
+		<field name="STATUS_PENDING_DOWNLOAD"/>
+		<field name="STATUS_PENDING_DOWNLOAD_WINDOW"/>
+		<field name="STATUS_PENDING_REPAIR"/>
+		<field name="STATUS_UNKNOWN"/>
+	</class>
+	<class name="android/telephony/MbmsGroupCallSession" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="create(Landroid/content/Context;ILjava/util/concurrent/Executor;Landroid/telephony/mbms/MbmsGroupCallSessionCallback;)Landroid/telephony/MbmsGroupCallSession;"/>
+		<method name="create(Landroid/content/Context;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/MbmsGroupCallSessionCallback;)Landroid/telephony/MbmsGroupCallSession;"/>
+		<method name="startGroupCall(JLjava/util/List;Ljava/util/List;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/GroupCallCallback;)Landroid/telephony/mbms/GroupCall;"/>
+	</class>
+	<class name="android/telephony/MbmsStreamingSession" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="create(Landroid/content/Context;Ljava/util/concurrent/Executor;ILandroid/telephony/mbms/MbmsStreamingSessionCallback;)Landroid/telephony/MbmsStreamingSession;"/>
+		<method name="create(Landroid/content/Context;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/MbmsStreamingSessionCallback;)Landroid/telephony/MbmsStreamingSession;"/>
+		<method name="requestUpdateStreamingServices(Ljava/util/List;)V"/>
+		<method name="startStreaming(Landroid/telephony/mbms/StreamingServiceInfo;Ljava/util/concurrent/Executor;Landroid/telephony/mbms/StreamingServiceCallback;)Landroid/telephony/mbms/StreamingService;"/>
+	</class>
+	<class name="android/telephony/NeighboringCellInfo" since="3" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" deprecated="15"/>
+		<method name="&lt;init>(II)V" deprecated="15"/>
+		<method name="&lt;init>(ILjava/lang/String;I)V" since="7" deprecated="29"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" deprecated="29"/>
+		<method name="getCid()I" deprecated="29"/>
+		<method name="getLac()I" since="5" deprecated="29"/>
+		<method name="getNetworkType()I" since="5" deprecated="29"/>
+		<method name="getPsc()I" since="5" deprecated="29"/>
+		<method name="getRssi()I" deprecated="29"/>
+		<method name="setCid(I)V" deprecated="15"/>
+		<method name="setRssi(I)V" deprecated="15"/>
+		<field name="CREATOR" deprecated="29"/>
+		<field name="UNKNOWN_CID" deprecated="29"/>
+		<field name="UNKNOWN_RSSI" deprecated="29"/>
+	</class>
+	<class name="android/telephony/NetworkRegistrationInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAccessNetworkTechnology()I"/>
+		<method name="getAvailableServices()Ljava/util/List;"/>
+		<method name="getCellIdentity()Landroid/telephony/CellIdentity;"/>
+		<method name="getDomain()I"/>
+		<method name="getRegisteredPlmn()Ljava/lang/String;"/>
+		<method name="getTransportType()I"/>
+		<method name="isRegistered()Z"/>
+		<method name="isRoaming()Z"/>
+		<method name="isSearching()Z"/>
+		<field name="CREATOR"/>
+		<field name="DOMAIN_CS"/>
+		<field name="DOMAIN_CS_PS"/>
+		<field name="DOMAIN_PS"/>
+		<field name="DOMAIN_UNKNOWN"/>
+		<field name="NR_STATE_CONNECTED"/>
+		<field name="NR_STATE_NONE"/>
+		<field name="NR_STATE_NOT_RESTRICTED"/>
+		<field name="NR_STATE_RESTRICTED"/>
+		<field name="SERVICE_TYPE_DATA"/>
+		<field name="SERVICE_TYPE_EMERGENCY"/>
+		<field name="SERVICE_TYPE_SMS"/>
+		<field name="SERVICE_TYPE_UNKNOWN"/>
+		<field name="SERVICE_TYPE_VIDEO"/>
+		<field name="SERVICE_TYPE_VOICE"/>
+	</class>
+	<class name="android/telephony/NetworkScan" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="stopScan()V"/>
+		<field name="ERROR_INTERRUPTED"/>
+		<field name="ERROR_INVALID_SCAN"/>
+		<field name="ERROR_INVALID_SCANID"/>
+		<field name="ERROR_MODEM_ERROR"/>
+		<field name="ERROR_MODEM_UNAVAILABLE"/>
+		<field name="ERROR_RADIO_INTERFACE_ERROR"/>
+		<field name="ERROR_UNSUPPORTED"/>
+		<field name="SUCCESS"/>
+	</class>
+	<class name="android/telephony/NetworkScanRequest" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I[Landroid/telephony/RadioAccessSpecifier;IIZILjava/util/ArrayList;)V"/>
+		<method name="getIncrementalResults()Z"/>
+		<method name="getIncrementalResultsPeriodicity()I"/>
+		<method name="getMaxSearchTime()I"/>
+		<method name="getPlmns()Ljava/util/ArrayList;"/>
+		<method name="getScanType()I"/>
+		<method name="getSearchPeriodicity()I"/>
+		<method name="getSpecifiers()[Landroid/telephony/RadioAccessSpecifier;"/>
+		<field name="CREATOR"/>
+		<field name="SCAN_TYPE_ONE_SHOT"/>
+		<field name="SCAN_TYPE_PERIODIC"/>
+	</class>
+	<class name="android/telephony/PhoneNumberFormattingTextWatcher" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/TextWatcher"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" since="21"/>
+	</class>
+	<class name="android/telephony/PhoneNumberUtils" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addTtsSpan(Landroid/text/Spannable;II)V" since="23"/>
+		<method name="areSamePhoneNumber(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z" since="31"/>
+		<method name="calledPartyBCDFragmentToString([BII)Ljava/lang/String;" deprecated="28"/>
+		<method name="calledPartyBCDFragmentToString([BIII)Ljava/lang/String;" since="28"/>
+		<method name="calledPartyBCDToString([BII)Ljava/lang/String;" deprecated="28"/>
+		<method name="calledPartyBCDToString([BIII)Ljava/lang/String;" since="28"/>
+		<method name="compare(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z" since="5" deprecated="31"/>
+		<method name="compare(Ljava/lang/String;Ljava/lang/String;)Z" deprecated="31"/>
+		<method name="convertKeypadLettersToDigits(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="createTtsSpan(Ljava/lang/String;)Landroid/text/style/TtsSpan;" since="23"/>
+		<method name="createTtsSpannable(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" since="23"/>
+		<method name="extractNetworkPortion(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="extractPostDialPortion(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="formatJapaneseNumber(Landroid/text/Editable;)V" since="3" deprecated="21"/>
+		<method name="formatNanpNumber(Landroid/text/Editable;)V" deprecated="21"/>
+		<method name="formatNumber(Landroid/text/Editable;I)V" deprecated="21"/>
+		<method name="formatNumber(Ljava/lang/String;)Ljava/lang/String;" deprecated="21"/>
+		<method name="formatNumber(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="21"/>
+		<method name="formatNumber(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="21"/>
+		<method name="formatNumberToE164(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="21"/>
+		<method name="formatNumberToRFC3966(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" since="23"/>
+		<method name="getFormatTypeForLocale(Ljava/util/Locale;)I" deprecated="21"/>
+		<method name="getNumberFromIntent(Landroid/content/Intent;Landroid/content/Context;)Ljava/lang/String;"/>
+		<method name="getStrippedReversed(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="is12Key(C)Z"/>
+		<method name="isDialable(C)Z"/>
+		<method name="isEmergencyNumber(Ljava/lang/String;)Z" deprecated="29"/>
+		<method name="isGlobalPhoneNumber(Ljava/lang/String;)Z"/>
+		<method name="isISODigit(C)Z"/>
+		<method name="isLocalEmergencyNumber(Landroid/content/Context;Ljava/lang/String;)Z" since="21" deprecated="29"/>
+		<method name="isNonSeparator(C)Z"/>
+		<method name="isReallyDialable(C)Z"/>
+		<method name="isStartsPostDial(C)Z"/>
+		<method name="isVoiceMailNumber(Ljava/lang/String;)Z" since="21"/>
+		<method name="isWellFormedSmsAddress(Ljava/lang/String;)Z"/>
+		<method name="networkPortionToCalledPartyBCD(Ljava/lang/String;)[B"/>
+		<method name="networkPortionToCalledPartyBCDWithLength(Ljava/lang/String;)[B"/>
+		<method name="normalizeNumber(Ljava/lang/String;)Ljava/lang/String;" since="21"/>
+		<method name="numberToCalledPartyBCD(Ljava/lang/String;)[B" deprecated="28"/>
+		<method name="numberToCalledPartyBCD(Ljava/lang/String;I)[B" since="28"/>
+		<method name="replaceUnicodeDigits(Ljava/lang/String;)Ljava/lang/String;" since="21"/>
+		<method name="stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String;"/>
+		<method name="stripSeparators(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toCallerIDMinMatch(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toaFromString(Ljava/lang/String;)I"/>
+		<field name="BCD_EXTENDED_TYPE_CALLED_PARTY" since="28"/>
+		<field name="BCD_EXTENDED_TYPE_EF_ADN" since="28"/>
+		<field name="FORMAT_JAPAN" since="3"/>
+		<field name="FORMAT_NANP"/>
+		<field name="FORMAT_UNKNOWN"/>
+		<field name="PAUSE"/>
+		<field name="TOA_International"/>
+		<field name="TOA_Unknown"/>
+		<field name="WAIT"/>
+		<field name="WILD"/>
+	</class>
+	<class name="android/telephony/PhoneStateListener" since="1" deprecated="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(Ljava/util/concurrent/Executor;)V" since="29" deprecated="31"/>
+		<method name="onActiveDataSubscriptionIdChanged(I)V" since="29" deprecated="31"/>
+		<method name="onBarringInfoChanged(Landroid/telephony/BarringInfo;)V" since="30" deprecated="31"/>
+		<method name="onCallDisconnectCauseChanged(II)V" since="30" deprecated="31"/>
+		<method name="onCallForwardingIndicatorChanged(Z)V" deprecated="31"/>
+		<method name="onCallStateChanged(ILjava/lang/String;)V" deprecated="31"/>
+		<method name="onCellInfoChanged(Ljava/util/List;)V" since="17" deprecated="31"/>
+		<method name="onCellLocationChanged(Landroid/telephony/CellLocation;)V" deprecated="31"/>
+		<method name="onDataActivity(I)V" deprecated="31"/>
+		<method name="onDataConnectionStateChanged(I)V" deprecated="31"/>
+		<method name="onDataConnectionStateChanged(II)V" since="7" deprecated="31"/>
+		<method name="onDisplayInfoChanged(Landroid/telephony/TelephonyDisplayInfo;)V" since="30" deprecated="31"/>
+		<method name="onEmergencyNumberListChanged(Ljava/util/Map;)V" since="31" deprecated="31"/>
+		<method name="onImsCallDisconnectCauseChanged(Landroid/telephony/ims/ImsReasonInfo;)V" since="30" deprecated="31"/>
+		<method name="onMessageWaitingIndicatorChanged(Z)V" deprecated="31"/>
+		<method name="onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V" since="30" deprecated="31"/>
+		<method name="onRegistrationFailed(Landroid/telephony/CellIdentity;Ljava/lang/String;III)V" since="30" deprecated="31"/>
+		<method name="onServiceStateChanged(Landroid/telephony/ServiceState;)V" deprecated="31"/>
+		<method name="onSignalStrengthChanged(I)V" deprecated="15"/>
+		<method name="onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V" since="7" deprecated="31"/>
+		<method name="onUserMobileDataStateChanged(Z)V" since="28" deprecated="31"/>
+		<field name="LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE" since="29" deprecated="31"/>
+		<field name="LISTEN_BARRING_INFO" since="30" deprecated="31"/>
+		<field name="LISTEN_CALL_DISCONNECT_CAUSES" since="30" deprecated="31"/>
+		<field name="LISTEN_CALL_FORWARDING_INDICATOR" deprecated="31"/>
+		<field name="LISTEN_CALL_STATE" deprecated="31"/>
+		<field name="LISTEN_CELL_INFO" since="17" deprecated="31"/>
+		<field name="LISTEN_CELL_LOCATION" deprecated="31"/>
+		<field name="LISTEN_DATA_ACTIVITY" deprecated="31"/>
+		<field name="LISTEN_DATA_CONNECTION_STATE" deprecated="31"/>
+		<field name="LISTEN_DISPLAY_INFO_CHANGED" since="30" deprecated="31"/>
+		<field name="LISTEN_EMERGENCY_NUMBER_LIST" since="29" deprecated="31"/>
+		<field name="LISTEN_IMS_CALL_DISCONNECT_CAUSES" since="30" deprecated="31"/>
+		<field name="LISTEN_MESSAGE_WAITING_INDICATOR" deprecated="31"/>
+		<field name="LISTEN_NONE" deprecated="31"/>
+		<field name="LISTEN_PRECISE_DATA_CONNECTION_STATE" since="30" deprecated="31"/>
+		<field name="LISTEN_REGISTRATION_FAILURE" since="30" deprecated="31"/>
+		<field name="LISTEN_SERVICE_STATE" deprecated="31"/>
+		<field name="LISTEN_SIGNAL_STRENGTH" deprecated="15"/>
+		<field name="LISTEN_SIGNAL_STRENGTHS" since="7" deprecated="31"/>
+		<field name="LISTEN_USER_MOBILE_DATA_STATE" since="28" deprecated="31"/>
+	</class>
+	<class name="android/telephony/PhysicalChannelConfig" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getBand()I"/>
+		<method name="getCellBandwidthDownlinkKhz()I"/>
+		<method name="getCellBandwidthUplinkKhz()I"/>
+		<method name="getConnectionStatus()I"/>
+		<method name="getDownlinkChannelNumber()I"/>
+		<method name="getDownlinkFrequencyKhz()I"/>
+		<method name="getNetworkType()I"/>
+		<method name="getPhysicalCellId()I"/>
+		<method name="getUplinkChannelNumber()I"/>
+		<method name="getUplinkFrequencyKhz()I"/>
+		<field name="BAND_UNKNOWN"/>
+		<field name="CELL_BANDWIDTH_UNKNOWN"/>
+		<field name="CHANNEL_NUMBER_UNKNOWN"/>
+		<field name="CONNECTION_PRIMARY_SERVING"/>
+		<field name="CONNECTION_SECONDARY_SERVING"/>
+		<field name="CONNECTION_UNKNOWN"/>
+		<field name="CREATOR"/>
+		<field name="FREQUENCY_UNKNOWN"/>
+		<field name="PHYSICAL_CELL_ID_MAXIMUM_VALUE"/>
+		<field name="PHYSICAL_CELL_ID_UNKNOWN"/>
+	</class>
+	<class name="android/telephony/PreciseDataConnectionState" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getApnSetting()Landroid/telephony/data/ApnSetting;"/>
+		<method name="getId()I" since="31"/>
+		<method name="getLastCauseCode()I"/>
+		<method name="getLinkProperties()Landroid/net/LinkProperties;"/>
+		<method name="getNetworkType()I"/>
+		<method name="getState()I"/>
+		<method name="getTransportType()I" since="31"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/RadioAccessSpecifier" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I[I[I)V"/>
+		<method name="getBands()[I"/>
+		<method name="getChannels()[I"/>
+		<method name="getRadioAccessNetwork()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/ServiceState" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/telephony/ServiceState;)V"/>
+		<method name="copyFrom(Landroid/telephony/ServiceState;)V"/>
+		<method name="getCdmaNetworkId()I" since="28"/>
+		<method name="getCdmaSystemId()I" since="28"/>
+		<method name="getCellBandwidths()[I" since="28"/>
+		<method name="getChannelNumber()I" since="28"/>
+		<method name="getDuplexMode()I" since="28"/>
+		<method name="getIsManualSelection()Z"/>
+		<method name="getNetworkRegistrationInfoList()Ljava/util/List;" since="30"/>
+		<method name="getOperatorAlphaLong()Ljava/lang/String;"/>
+		<method name="getOperatorAlphaShort()Ljava/lang/String;"/>
+		<method name="getOperatorNumeric()Ljava/lang/String;"/>
+		<method name="getRoaming()Z"/>
+		<method name="getState()I"/>
+		<method name="isSearching()Z" since="30"/>
+		<method name="setIsManualSelection(Z)V"/>
+		<method name="setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setRoaming(Z)V"/>
+		<method name="setState(I)V"/>
+		<method name="setStateOff()V"/>
+		<method name="setStateOutOfService()V"/>
+		<field name="CREATOR"/>
+		<field name="DUPLEX_MODE_FDD" since="28"/>
+		<field name="DUPLEX_MODE_TDD" since="28"/>
+		<field name="DUPLEX_MODE_UNKNOWN" since="28"/>
+		<field name="STATE_EMERGENCY_ONLY"/>
+		<field name="STATE_IN_SERVICE"/>
+		<field name="STATE_OUT_OF_SERVICE"/>
+		<field name="STATE_POWER_OFF"/>
+		<field name="UNKNOWN_ID" since="28"/>
+	</class>
+	<class name="android/telephony/SignalStrength" since="7">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/telephony/SignalStrength;)V" since="31"/>
+		<method name="getCdmaDbm()I" deprecated="29"/>
+		<method name="getCdmaEcio()I" deprecated="29"/>
+		<method name="getCellSignalStrengths()Ljava/util/List;" since="29"/>
+		<method name="getCellSignalStrengths(Ljava/lang/Class;)Ljava/util/List;" since="29"/>
+		<method name="getEvdoDbm()I" deprecated="29"/>
+		<method name="getEvdoEcio()I" deprecated="29"/>
+		<method name="getEvdoSnr()I" deprecated="29"/>
+		<method name="getGsmBitErrorRate()I" deprecated="29"/>
+		<method name="getGsmSignalStrength()I" deprecated="29"/>
+		<method name="getLevel()I" since="23"/>
+		<method name="getTimestampMillis()J" since="30"/>
+		<method name="isGsm()Z" deprecated="29"/>
+		<field name="CREATOR" since="30"/>
+		<field name="INVALID" since="29"/>
+	</class>
+	<class name="android/telephony/SignalStrengthUpdateRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getSignalThresholdInfos()Ljava/util/Collection;"/>
+		<method name="isReportingRequestedWhileIdle()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/SignalStrengthUpdateRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/telephony/SignalStrengthUpdateRequest;"/>
+		<method name="setReportingRequestedWhileIdle(Z)Landroid/telephony/SignalStrengthUpdateRequest$Builder;"/>
+		<method name="setSignalThresholdInfos(Ljava/util/Collection;)Landroid/telephony/SignalStrengthUpdateRequest$Builder;"/>
+	</class>
+	<class name="android/telephony/SignalThresholdInfo" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getMaximumNumberOfThresholdsAllowed()I"/>
+		<method name="getMinimumNumberOfThresholdsAllowed()I"/>
+		<method name="getRadioAccessNetworkType()I"/>
+		<method name="getSignalMeasurementType()I"/>
+		<method name="getThresholds()[I"/>
+		<field name="CREATOR"/>
+		<field name="SIGNAL_MEASUREMENT_TYPE_RSCP"/>
+		<field name="SIGNAL_MEASUREMENT_TYPE_RSRP"/>
+		<field name="SIGNAL_MEASUREMENT_TYPE_RSRQ"/>
+		<field name="SIGNAL_MEASUREMENT_TYPE_RSSI"/>
+		<field name="SIGNAL_MEASUREMENT_TYPE_RSSNR"/>
+		<field name="SIGNAL_MEASUREMENT_TYPE_SSRSRP"/>
+		<field name="SIGNAL_MEASUREMENT_TYPE_SSRSRQ"/>
+		<field name="SIGNAL_MEASUREMENT_TYPE_SSSINR"/>
+		<field name="SIGNAL_MEASUREMENT_TYPE_UNKNOWN"/>
+	</class>
+	<class name="android/telephony/SignalThresholdInfo$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/telephony/SignalThresholdInfo;"/>
+		<method name="setRadioAccessNetworkType(I)Landroid/telephony/SignalThresholdInfo$Builder;"/>
+		<method name="setSignalMeasurementType(I)Landroid/telephony/SignalThresholdInfo$Builder;"/>
+		<method name="setThresholds([I)Landroid/telephony/SignalThresholdInfo$Builder;"/>
+	</class>
+	<class name="android/telephony/SmsManager" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="createAppSpecificSmsToken(Landroid/app/PendingIntent;)Ljava/lang/String;" since="26"/>
+		<method name="createAppSpecificSmsTokenWithPackageInfo(Ljava/lang/String;Landroid/app/PendingIntent;)Ljava/lang/String;" since="29"/>
+		<method name="createForSubscriptionId(I)Landroid/telephony/SmsManager;" since="31"/>
+		<method name="divideMessage(Ljava/lang/String;)Ljava/util/ArrayList;"/>
+		<method name="downloadMultimediaMessage(Landroid/content/Context;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V" since="21"/>
+		<method name="downloadMultimediaMessage(Landroid/content/Context;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;J)V" since="31"/>
+		<method name="getCarrierConfigValues()Landroid/os/Bundle;" since="21"/>
+		<method name="getDefault()Landroid/telephony/SmsManager;" deprecated="31"/>
+		<method name="getDefaultSmsSubscriptionId()I" since="22"/>
+		<method name="getSmsCapacityOnIcc()I" since="31"/>
+		<method name="getSmsManagerForSubscriptionId(I)Landroid/telephony/SmsManager;" since="22" deprecated="31"/>
+		<method name="getSmsMessagesForFinancialApp(Landroid/os/Bundle;Ljava/util/concurrent/Executor;Landroid/telephony/SmsManager$FinancialSmsCallback;)V" since="29"/>
+		<method name="getSmscAddress()Ljava/lang/String;" since="30"/>
+		<method name="getSubscriptionId()I" since="22"/>
+		<method name="injectSmsPdu([BLjava/lang/String;Landroid/app/PendingIntent;)V" since="22"/>
+		<method name="sendDataMessage(Ljava/lang/String;Ljava/lang/String;S[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V"/>
+		<method name="sendMultimediaMessage(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/PendingIntent;)V" since="21"/>
+		<method name="sendMultimediaMessage(Landroid/content/Context;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/PendingIntent;J)V" since="31"/>
+		<method name="sendMultipartTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V"/>
+		<method name="sendMultipartTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;J)V" since="30"/>
+		<method name="sendMultipartTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V" since="30"/>
+		<method name="sendTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V"/>
+		<method name="sendTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;J)V" since="30"/>
+		<method name="sendTextMessageWithoutPersisting(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V" since="28"/>
+		<method name="setSmscAddress(Ljava/lang/String;)Z" since="30"/>
+		<field name="EXTRA_MMS_DATA" since="21"/>
+		<field name="EXTRA_MMS_HTTP_STATUS" since="22"/>
+		<field name="MMS_CONFIG_ALIAS_ENABLED" since="21"/>
+		<field name="MMS_CONFIG_ALIAS_MAX_CHARS" since="21"/>
+		<field name="MMS_CONFIG_ALIAS_MIN_CHARS" since="21"/>
+		<field name="MMS_CONFIG_ALLOW_ATTACH_AUDIO" since="21"/>
+		<field name="MMS_CONFIG_APPEND_TRANSACTION_ID" since="21"/>
+		<field name="MMS_CONFIG_EMAIL_GATEWAY_NUMBER" since="21"/>
+		<field name="MMS_CONFIG_GROUP_MMS_ENABLED" since="21"/>
+		<field name="MMS_CONFIG_HTTP_PARAMS" since="21"/>
+		<field name="MMS_CONFIG_HTTP_SOCKET_TIMEOUT" since="21"/>
+		<field name="MMS_CONFIG_MAX_IMAGE_HEIGHT" since="21"/>
+		<field name="MMS_CONFIG_MAX_IMAGE_WIDTH" since="21"/>
+		<field name="MMS_CONFIG_MAX_MESSAGE_SIZE" since="21"/>
+		<field name="MMS_CONFIG_MESSAGE_TEXT_MAX_SIZE" since="21"/>
+		<field name="MMS_CONFIG_MMS_DELIVERY_REPORT_ENABLED" since="21"/>
+		<field name="MMS_CONFIG_MMS_ENABLED" since="21"/>
+		<field name="MMS_CONFIG_MMS_READ_REPORT_ENABLED" since="21"/>
+		<field name="MMS_CONFIG_MULTIPART_SMS_ENABLED" since="21"/>
+		<field name="MMS_CONFIG_NAI_SUFFIX" since="21"/>
+		<field name="MMS_CONFIG_NOTIFY_WAP_MMSC_ENABLED" since="21"/>
+		<field name="MMS_CONFIG_RECIPIENT_LIMIT" since="21"/>
+		<field name="MMS_CONFIG_SEND_MULTIPART_SMS_AS_SEPARATE_MESSAGES" since="21"/>
+		<field name="MMS_CONFIG_SHOW_CELL_BROADCAST_APP_LINKS" since="22"/>
+		<field name="MMS_CONFIG_SMS_DELIVERY_REPORT_ENABLED" since="21"/>
+		<field name="MMS_CONFIG_SMS_TO_MMS_TEXT_LENGTH_THRESHOLD" since="21"/>
+		<field name="MMS_CONFIG_SMS_TO_MMS_TEXT_THRESHOLD" since="21"/>
+		<field name="MMS_CONFIG_SUBJECT_MAX_LENGTH" since="21"/>
+		<field name="MMS_CONFIG_SUPPORT_HTTP_CHARSET_HEADER" since="23"/>
+		<field name="MMS_CONFIG_SUPPORT_MMS_CONTENT_DISPOSITION" since="21"/>
+		<field name="MMS_CONFIG_UA_PROF_TAG_NAME" since="21"/>
+		<field name="MMS_CONFIG_UA_PROF_URL" since="21"/>
+		<field name="MMS_CONFIG_USER_AGENT" since="21"/>
+		<field name="MMS_ERROR_CONFIGURATION_ERROR" since="21"/>
+		<field name="MMS_ERROR_HTTP_FAILURE" since="21"/>
+		<field name="MMS_ERROR_INVALID_APN" since="21"/>
+		<field name="MMS_ERROR_IO_ERROR" since="21"/>
+		<field name="MMS_ERROR_NO_DATA_NETWORK" since="22"/>
+		<field name="MMS_ERROR_RETRY" since="21"/>
+		<field name="MMS_ERROR_UNABLE_CONNECT_MMS" since="21"/>
+		<field name="MMS_ERROR_UNSPECIFIED" since="21"/>
+		<field name="RESULT_BLUETOOTH_DISCONNECTED" since="30"/>
+		<field name="RESULT_CANCELLED" since="30"/>
+		<field name="RESULT_ENCODING_ERROR" since="30"/>
+		<field name="RESULT_ERROR_FDN_CHECK_FAILURE" since="30"/>
+		<field name="RESULT_ERROR_GENERIC_FAILURE"/>
+		<field name="RESULT_ERROR_LIMIT_EXCEEDED" since="27"/>
+		<field name="RESULT_ERROR_NONE" since="30"/>
+		<field name="RESULT_ERROR_NO_SERVICE"/>
+		<field name="RESULT_ERROR_NULL_PDU"/>
+		<field name="RESULT_ERROR_RADIO_OFF"/>
+		<field name="RESULT_ERROR_SHORT_CODE_NEVER_ALLOWED" since="27"/>
+		<field name="RESULT_ERROR_SHORT_CODE_NOT_ALLOWED" since="27"/>
+		<field name="RESULT_INTERNAL_ERROR" since="30"/>
+		<field name="RESULT_INVALID_ARGUMENTS" since="30"/>
+		<field name="RESULT_INVALID_BLUETOOTH_ADDRESS" since="30"/>
+		<field name="RESULT_INVALID_SMSC_ADDRESS" since="30"/>
+		<field name="RESULT_INVALID_SMS_FORMAT" since="30"/>
+		<field name="RESULT_INVALID_STATE" since="30"/>
+		<field name="RESULT_MODEM_ERROR" since="30"/>
+		<field name="RESULT_NETWORK_ERROR" since="30"/>
+		<field name="RESULT_NETWORK_REJECT" since="30"/>
+		<field name="RESULT_NO_BLUETOOTH_SERVICE" since="30"/>
+		<field name="RESULT_NO_DEFAULT_SMS_APP" since="30"/>
+		<field name="RESULT_NO_MEMORY" since="30"/>
+		<field name="RESULT_NO_RESOURCES" since="30"/>
+		<field name="RESULT_OPERATION_NOT_ALLOWED" since="30"/>
+		<field name="RESULT_RADIO_NOT_AVAILABLE" since="30"/>
+		<field name="RESULT_RECEIVE_DISPATCH_FAILURE" since="30"/>
+		<field name="RESULT_RECEIVE_INJECTED_NULL_PDU" since="30"/>
+		<field name="RESULT_RECEIVE_NULL_MESSAGE_FROM_RIL" since="30"/>
+		<field name="RESULT_RECEIVE_RUNTIME_EXCEPTION" since="30"/>
+		<field name="RESULT_RECEIVE_SQL_EXCEPTION" since="30"/>
+		<field name="RESULT_RECEIVE_URI_EXCEPTION" since="30"/>
+		<field name="RESULT_RECEIVE_WHILE_ENCRYPTED" since="30"/>
+		<field name="RESULT_REMOTE_EXCEPTION" since="30"/>
+		<field name="RESULT_REQUEST_NOT_SUPPORTED" since="30"/>
+		<field name="RESULT_RIL_ACCESS_BARRED" since="31"/>
+		<field name="RESULT_RIL_BLOCKED_DUE_TO_CALL" since="31"/>
+		<field name="RESULT_RIL_CANCELLED" since="30"/>
+		<field name="RESULT_RIL_ENCODING_ERR" since="30"/>
+		<field name="RESULT_RIL_INTERNAL_ERR" since="30"/>
+		<field name="RESULT_RIL_INVALID_ARGUMENTS" since="30"/>
+		<field name="RESULT_RIL_INVALID_MODEM_STATE" since="30"/>
+		<field name="RESULT_RIL_INVALID_SMSC_ADDRESS" since="30"/>
+		<field name="RESULT_RIL_INVALID_SMS_FORMAT" since="30"/>
+		<field name="RESULT_RIL_INVALID_STATE" since="30"/>
+		<field name="RESULT_RIL_MODEM_ERR" since="30"/>
+		<field name="RESULT_RIL_NETWORK_ERR" since="30"/>
+		<field name="RESULT_RIL_NETWORK_NOT_READY" since="30"/>
+		<field name="RESULT_RIL_NETWORK_REJECT" since="30"/>
+		<field name="RESULT_RIL_NO_MEMORY" since="30"/>
+		<field name="RESULT_RIL_NO_RESOURCES" since="30"/>
+		<field name="RESULT_RIL_OPERATION_NOT_ALLOWED" since="30"/>
+		<field name="RESULT_RIL_RADIO_NOT_AVAILABLE" since="30"/>
+		<field name="RESULT_RIL_REQUEST_NOT_SUPPORTED" since="30"/>
+		<field name="RESULT_RIL_REQUEST_RATE_LIMITED" since="30"/>
+		<field name="RESULT_RIL_SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED" since="31"/>
+		<field name="RESULT_RIL_SIM_ABSENT" since="30"/>
+		<field name="RESULT_RIL_SMS_SEND_FAIL_RETRY" since="30"/>
+		<field name="RESULT_RIL_SYSTEM_ERR" since="30"/>
+		<field name="RESULT_SMS_BLOCKED_DURING_EMERGENCY" since="30"/>
+		<field name="RESULT_SMS_SEND_RETRY_FAILED" since="30"/>
+		<field name="RESULT_SYSTEM_ERROR" since="30"/>
+		<field name="RESULT_UNEXPECTED_EVENT_STOP_SENDING" since="30"/>
+		<field name="STATUS_ON_ICC_FREE"/>
+		<field name="STATUS_ON_ICC_READ"/>
+		<field name="STATUS_ON_ICC_SENT"/>
+		<field name="STATUS_ON_ICC_UNREAD"/>
+		<field name="STATUS_ON_ICC_UNSENT"/>
+	</class>
+	<class name="android/telephony/SmsManager$FinancialSmsCallback" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onFinancialSmsMessages(Landroid/database/CursorWindow;)V"/>
+	</class>
+	<class name="android/telephony/SmsMessage" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="calculateLength(Ljava/lang/CharSequence;Z)[I"/>
+		<method name="calculateLength(Ljava/lang/String;Z)[I"/>
+		<method name="createFromPdu([B)Landroid/telephony/SmsMessage;" deprecated="23"/>
+		<method name="createFromPdu([BLjava/lang/String;)Landroid/telephony/SmsMessage;" since="23"/>
+		<method name="getDisplayMessageBody()Ljava/lang/String;"/>
+		<method name="getDisplayOriginatingAddress()Ljava/lang/String;"/>
+		<method name="getEmailBody()Ljava/lang/String;"/>
+		<method name="getEmailFrom()Ljava/lang/String;"/>
+		<method name="getIndexOnIcc()I"/>
+		<method name="getIndexOnSim()I" deprecated="15"/>
+		<method name="getMessageBody()Ljava/lang/String;"/>
+		<method name="getMessageClass()Landroid/telephony/SmsMessage$MessageClass;"/>
+		<method name="getOriginatingAddress()Ljava/lang/String;"/>
+		<method name="getPdu()[B"/>
+		<method name="getProtocolIdentifier()I"/>
+		<method name="getPseudoSubject()Ljava/lang/String;"/>
+		<method name="getServiceCenterAddress()Ljava/lang/String;"/>
+		<method name="getStatus()I"/>
+		<method name="getStatusOnIcc()I"/>
+		<method name="getStatusOnSim()I" deprecated="15"/>
+		<method name="getSubmitPdu(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Landroid/telephony/SmsMessage$SubmitPdu;"/>
+		<method name="getSubmitPdu(Ljava/lang/String;Ljava/lang/String;S[BZ)Landroid/telephony/SmsMessage$SubmitPdu;"/>
+		<method name="getTPLayerLengthForPDU(Ljava/lang/String;)I"/>
+		<method name="getTimestampMillis()J"/>
+		<method name="getUserData()[B"/>
+		<method name="isCphsMwiMessage()Z"/>
+		<method name="isEmail()Z"/>
+		<method name="isMWIClearMessage()Z"/>
+		<method name="isMWISetMessage()Z"/>
+		<method name="isMwiDontStore()Z"/>
+		<method name="isReplace()Z"/>
+		<method name="isReplyPathPresent()Z"/>
+		<method name="isStatusReportMessage()Z"/>
+		<field name="ENCODING_16BIT"/>
+		<field name="ENCODING_7BIT"/>
+		<field name="ENCODING_8BIT"/>
+		<field name="ENCODING_UNKNOWN"/>
+		<field name="FORMAT_3GPP" since="28"/>
+		<field name="FORMAT_3GPP2" since="28"/>
+		<field name="MAX_USER_DATA_BYTES"/>
+		<field name="MAX_USER_DATA_BYTES_WITH_HEADER"/>
+		<field name="MAX_USER_DATA_SEPTETS"/>
+		<field name="MAX_USER_DATA_SEPTETS_WITH_HEADER"/>
+	</class>
+	<class name="android/telephony/SmsMessage$MessageClass" since="4">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/telephony/SmsMessage$MessageClass;"/>
+		<method name="values()[Landroid/telephony/SmsMessage$MessageClass;"/>
+		<field name="CLASS_0"/>
+		<field name="CLASS_1"/>
+		<field name="CLASS_2"/>
+		<field name="CLASS_3"/>
+		<field name="UNKNOWN"/>
+	</class>
+	<class name="android/telephony/SmsMessage$SubmitPdu" since="4">
+		<extends name="java/lang/Object"/>
+		<field name="encodedMessage"/>
+		<field name="encodedScAddress"/>
+	</class>
+	<class name="android/telephony/SubscriptionInfo" since="22">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="createIconBitmap(Landroid/content/Context;)Landroid/graphics/Bitmap;"/>
+		<method name="getCardId()I" since="29"/>
+		<method name="getCarrierId()I" since="29"/>
+		<method name="getCarrierName()Ljava/lang/CharSequence;"/>
+		<method name="getCountryIso()Ljava/lang/String;"/>
+		<method name="getDataRoaming()I"/>
+		<method name="getDisplayName()Ljava/lang/CharSequence;"/>
+		<method name="getGroupUuid()Landroid/os/ParcelUuid;" since="29"/>
+		<method name="getIccId()Ljava/lang/String;"/>
+		<method name="getIconTint()I"/>
+		<method name="getMcc()I" deprecated="29"/>
+		<method name="getMccString()Ljava/lang/String;" since="29"/>
+		<method name="getMnc()I" deprecated="29"/>
+		<method name="getMncString()Ljava/lang/String;" since="29"/>
+		<method name="getNumber()Ljava/lang/String;"/>
+		<method name="getSimSlotIndex()I"/>
+		<method name="getSubscriptionId()I"/>
+		<method name="getSubscriptionType()I" since="29"/>
+		<method name="isEmbedded()Z" since="28"/>
+		<method name="isOpportunistic()Z" since="29"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/SubscriptionManager" since="22">
+		<extends name="java/lang/Object"/>
+		<method name="addOnOpportunisticSubscriptionsChangedListener(Ljava/util/concurrent/Executor;Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;)V" since="29"/>
+		<method name="addOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V" deprecated="31"/>
+		<method name="addOnSubscriptionsChangedListener(Ljava/util/concurrent/Executor;Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V" since="30"/>
+		<method name="addSubscriptionsIntoGroup(Ljava/util/List;Landroid/os/ParcelUuid;)V" since="29"/>
+		<method name="canManageSubscription(Landroid/telephony/SubscriptionInfo;)Z" since="28"/>
+		<method name="createSubscriptionGroup(Ljava/util/List;)Landroid/os/ParcelUuid;" since="29"/>
+		<method name="from(Landroid/content/Context;)Landroid/telephony/SubscriptionManager;" deprecated="28"/>
+		<method name="getAccessibleSubscriptionInfoList()Ljava/util/List;" since="28"/>
+		<method name="getActiveDataSubscriptionId()I" since="30"/>
+		<method name="getActiveSubscriptionInfo(I)Landroid/telephony/SubscriptionInfo;"/>
+		<method name="getActiveSubscriptionInfoCount()I"/>
+		<method name="getActiveSubscriptionInfoCountMax()I"/>
+		<method name="getActiveSubscriptionInfoForSimSlotIndex(I)Landroid/telephony/SubscriptionInfo;"/>
+		<method name="getActiveSubscriptionInfoList()Ljava/util/List;"/>
+		<method name="getCompleteActiveSubscriptionInfoList()Ljava/util/List;" since="30"/>
+		<method name="getDefaultDataSubscriptionId()I" since="24"/>
+		<method name="getDefaultSmsSubscriptionId()I" since="24"/>
+		<method name="getDefaultSubscriptionId()I" since="24"/>
+		<method name="getDefaultVoiceSubscriptionId()I" since="24"/>
+		<method name="getDeviceToDeviceStatusSharingContacts(I)Ljava/util/List;" since="31"/>
+		<method name="getDeviceToDeviceStatusSharingPreference(I)I" since="31"/>
+		<method name="getOpportunisticSubscriptions()Ljava/util/List;" since="29"/>
+		<method name="getSlotIndex(I)I" since="29"/>
+		<method name="getSubscriptionIds(I)[I" since="29"/>
+		<method name="getSubscriptionPlans(I)Ljava/util/List;" since="28"/>
+		<method name="getSubscriptionsInGroup(Landroid/os/ParcelUuid;)Ljava/util/List;" since="29"/>
+		<method name="isActiveSubscriptionId(I)Z" since="29"/>
+		<method name="isNetworkRoaming(I)Z"/>
+		<method name="isUsableSubscriptionId(I)Z" since="29"/>
+		<method name="isValidSubscriptionId(I)Z" since="29"/>
+		<method name="removeOnOpportunisticSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;)V" since="29"/>
+		<method name="removeOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V"/>
+		<method name="removeSubscriptionsFromGroup(Ljava/util/List;Landroid/os/ParcelUuid;)V" since="29"/>
+		<method name="setDeviceToDeviceStatusSharingContacts(ILjava/util/List;)V" since="31"/>
+		<method name="setDeviceToDeviceStatusSharingPreference(II)V" since="31"/>
+		<method name="setOpportunistic(ZI)Z" since="29"/>
+		<method name="setSubscriptionOverrideCongested(IZJ)V" since="28"/>
+		<method name="setSubscriptionOverrideCongested(IZ[IJ)V" since="31"/>
+		<method name="setSubscriptionOverrideUnmetered(IZJ)V" since="28"/>
+		<method name="setSubscriptionOverrideUnmetered(IZ[IJ)V" since="31"/>
+		<method name="setSubscriptionPlans(ILjava/util/List;)V" since="28"/>
+		<method name="switchToSubscription(ILandroid/app/PendingIntent;)V" since="29"/>
+		<field name="ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED" since="26"/>
+		<field name="ACTION_DEFAULT_SUBSCRIPTION_CHANGED" since="26"/>
+		<field name="ACTION_MANAGE_SUBSCRIPTION_PLANS" since="28"/>
+		<field name="ACTION_REFRESH_SUBSCRIPTION_PLANS" since="28"/>
+		<field name="D2D_SHARING_ALL" since="31"/>
+		<field name="D2D_SHARING_ALL_CONTACTS" since="31"/>
+		<field name="D2D_SHARING_DISABLED" since="31"/>
+		<field name="D2D_SHARING_SELECTED_CONTACTS" since="31"/>
+		<field name="D2D_STATUS_SHARING" since="31"/>
+		<field name="D2D_STATUS_SHARING_SELECTED_CONTACTS" since="31"/>
+		<field name="DATA_ROAMING_DISABLE"/>
+		<field name="DATA_ROAMING_ENABLE"/>
+		<field name="DEFAULT_SUBSCRIPTION_ID" since="29"/>
+		<field name="EXTRA_SLOT_INDEX" since="30"/>
+		<field name="EXTRA_SUBSCRIPTION_INDEX" since="26"/>
+		<field name="INVALID_SIM_SLOT_INDEX" since="29"/>
+		<field name="INVALID_SUBSCRIPTION_ID" since="24"/>
+		<field name="SUBSCRIPTION_TYPE_LOCAL_SIM" since="29"/>
+		<field name="SUBSCRIPTION_TYPE_REMOTE_SIM" since="29"/>
+	</class>
+	<class name="android/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onOpportunisticSubscriptionsChanged()V"/>
+	</class>
+	<class name="android/telephony/SubscriptionManager$OnSubscriptionsChangedListener" since="22">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onSubscriptionsChanged()V"/>
+	</class>
+	<class name="android/telephony/SubscriptionPlan" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="cycleIterator()Ljava/util/Iterator;"/>
+		<method name="getDataLimitBehavior()I"/>
+		<method name="getDataLimitBytes()J"/>
+		<method name="getDataUsageBytes()J"/>
+		<method name="getDataUsageTime()J"/>
+		<method name="getNetworkTypes()[I" since="30"/>
+		<method name="getSummary()Ljava/lang/CharSequence;"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<field name="BYTES_UNKNOWN"/>
+		<field name="BYTES_UNLIMITED"/>
+		<field name="CREATOR"/>
+		<field name="LIMIT_BEHAVIOR_BILLED"/>
+		<field name="LIMIT_BEHAVIOR_DISABLED"/>
+		<field name="LIMIT_BEHAVIOR_THROTTLED"/>
+		<field name="LIMIT_BEHAVIOR_UNKNOWN"/>
+		<field name="TIME_UNKNOWN"/>
+	</class>
+	<class name="android/telephony/SubscriptionPlan$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="build()Landroid/telephony/SubscriptionPlan;"/>
+		<method name="createNonrecurring(Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;)Landroid/telephony/SubscriptionPlan$Builder;"/>
+		<method name="createRecurring(Ljava/time/ZonedDateTime;Ljava/time/Period;)Landroid/telephony/SubscriptionPlan$Builder;"/>
+		<method name="resetNetworkTypes()Landroid/telephony/SubscriptionPlan$Builder;" since="30"/>
+		<method name="setDataLimit(JI)Landroid/telephony/SubscriptionPlan$Builder;"/>
+		<method name="setDataUsage(JJ)Landroid/telephony/SubscriptionPlan$Builder;"/>
+		<method name="setNetworkTypes([I)Landroid/telephony/SubscriptionPlan$Builder;" since="30"/>
+		<method name="setSummary(Ljava/lang/CharSequence;)Landroid/telephony/SubscriptionPlan$Builder;"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/telephony/SubscriptionPlan$Builder;"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$ActiveDataSubscriptionIdListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onActiveDataSubscriptionIdChanged(I)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$BarringInfoListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onBarringInfoChanged(Landroid/telephony/BarringInfo;)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$CallDisconnectCauseListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onCallDisconnectCauseChanged(II)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$CallForwardingIndicatorListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onCallForwardingIndicatorChanged(Z)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$CallStateListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onCallStateChanged(I)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$CarrierNetworkListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onCarrierNetworkChange(Z)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$CellInfoListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onCellInfoChanged(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$CellLocationListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onCellLocationChanged(Landroid/telephony/CellLocation;)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$DataActivationStateListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onDataActivationStateChanged(I)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$DataActivityListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onDataActivity(I)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$DataConnectionStateListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onDataConnectionStateChanged(II)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$DisplayInfoListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onDisplayInfoChanged(Landroid/telephony/TelephonyDisplayInfo;)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$EmergencyNumberListListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onEmergencyNumberListChanged(Ljava/util/Map;)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$ImsCallDisconnectCauseListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onImsCallDisconnectCauseChanged(Landroid/telephony/ims/ImsReasonInfo;)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$MessageWaitingIndicatorListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onMessageWaitingIndicatorChanged(Z)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$PhysicalChannelConfigListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onPhysicalChannelConfigChanged(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$PreciseDataConnectionStateListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$RegistrationFailedListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onRegistrationFailed(Landroid/telephony/CellIdentity;Ljava/lang/String;III)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$ServiceStateListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onServiceStateChanged(Landroid/telephony/ServiceState;)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$SignalStrengthsListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V"/>
+	</class>
+	<class name="android/telephony/TelephonyCallback$UserMobileDataStateListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onUserMobileDataStateChanged(Z)V"/>
+	</class>
+	<class name="android/telephony/TelephonyDisplayInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getNetworkType()I"/>
+		<method name="getOverrideNetworkType()I"/>
+		<field name="CREATOR"/>
+		<field name="OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO"/>
+		<field name="OVERRIDE_NETWORK_TYPE_LTE_CA"/>
+		<field name="OVERRIDE_NETWORK_TYPE_NONE"/>
+		<field name="OVERRIDE_NETWORK_TYPE_NR_ADVANCED" since="31"/>
+		<field name="OVERRIDE_NETWORK_TYPE_NR_NSA"/>
+		<field name="OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE" deprecated="31"/>
+	</class>
+	<class name="android/telephony/TelephonyManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="canChangeDtmfToneLength()Z" since="23"/>
+		<method name="clearSignalStrengthUpdateRequest(Landroid/telephony/SignalStrengthUpdateRequest;)V" since="31"/>
+		<method name="createForPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;)Landroid/telephony/TelephonyManager;" since="26"/>
+		<method name="createForSubscriptionId(I)Landroid/telephony/TelephonyManager;" since="24"/>
+		<method name="doesSwitchMultiSimConfigTriggerReboot()Z" since="29"/>
+		<method name="getActiveModemCount()I" since="30"/>
+		<method name="getAllCellInfo()Ljava/util/List;" since="17"/>
+		<method name="getCallComposerStatus()I" since="31"/>
+		<method name="getCallState()I" deprecated="31"/>
+		<method name="getCallStateForSubscription()I" since="31"/>
+		<method name="getCardIdForDefaultEuicc()I" since="29"/>
+		<method name="getCarrierConfig()Landroid/os/PersistableBundle;" since="26"/>
+		<method name="getCarrierIdFromSimMccMnc()I" since="29"/>
+		<method name="getCellLocation()Landroid/telephony/CellLocation;" deprecated="26"/>
+		<method name="getDataActivity()I"/>
+		<method name="getDataNetworkType()I" since="24"/>
+		<method name="getDataState()I"/>
+		<method name="getDeviceId()Ljava/lang/String;" deprecated="26"/>
+		<method name="getDeviceId(I)Ljava/lang/String;" since="23" deprecated="26"/>
+		<method name="getDeviceSoftwareVersion()Ljava/lang/String;"/>
+		<method name="getEmergencyNumberList()Ljava/util/Map;" since="29"/>
+		<method name="getEmergencyNumberList(I)Ljava/util/Map;" since="29"/>
+		<method name="getEquivalentHomePlmns()Ljava/util/List;" since="31"/>
+		<method name="getForbiddenPlmns()[Ljava/lang/String;" since="26"/>
+		<method name="getGroupIdLevel1()Ljava/lang/String;" since="18"/>
+		<method name="getIccAuthentication(IILjava/lang/String;)Ljava/lang/String;" since="24"/>
+		<method name="getImei()Ljava/lang/String;" since="26"/>
+		<method name="getImei(I)Ljava/lang/String;" since="26"/>
+		<method name="getLine1Number()Ljava/lang/String;"/>
+		<method name="getManualNetworkSelectionPlmn()Ljava/lang/String;" since="30"/>
+		<method name="getManufacturerCode()Ljava/lang/String;" since="29"/>
+		<method name="getManufacturerCode(I)Ljava/lang/String;" since="29"/>
+		<method name="getMaximumCallComposerPictureSize()J" since="31"/>
+		<method name="getMeid()Ljava/lang/String;" since="26"/>
+		<method name="getMeid(I)Ljava/lang/String;" since="26"/>
+		<method name="getMmsUAProfUrl()Ljava/lang/String;" since="19"/>
+		<method name="getMmsUserAgent()Ljava/lang/String;" since="19"/>
+		<method name="getNai()Ljava/lang/String;" since="28"/>
+		<method name="getNeighboringCellInfo()Ljava/util/List;" since="3" deprecated="23" removed="29"/>
+		<method name="getNetworkCountryIso()Ljava/lang/String;"/>
+		<method name="getNetworkCountryIso(I)Ljava/lang/String;" since="30"/>
+		<method name="getNetworkOperator()Ljava/lang/String;"/>
+		<method name="getNetworkOperatorName()Ljava/lang/String;"/>
+		<method name="getNetworkSelectionMode()I" since="30"/>
+		<method name="getNetworkSlicingConfiguration(Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V" since="31"/>
+		<method name="getNetworkSpecifier()Ljava/lang/String;" since="26"/>
+		<method name="getNetworkType()I" deprecated="30"/>
+		<method name="getPhoneAccountHandle()Landroid/telecom/PhoneAccountHandle;" since="31"/>
+		<method name="getPhoneCount()I" since="23" deprecated="30"/>
+		<method name="getPhoneType()I"/>
+		<method name="getPreferredOpportunisticDataSubscription()I" since="29"/>
+		<method name="getServiceState()Landroid/telephony/ServiceState;" since="26"/>
+		<method name="getSignalStrength()Landroid/telephony/SignalStrength;" since="28"/>
+		<method name="getSimCarrierId()I" since="28"/>
+		<method name="getSimCarrierIdName()Ljava/lang/CharSequence;" since="28"/>
+		<method name="getSimCountryIso()Ljava/lang/String;"/>
+		<method name="getSimOperator()Ljava/lang/String;"/>
+		<method name="getSimOperatorName()Ljava/lang/String;"/>
+		<method name="getSimSerialNumber()Ljava/lang/String;"/>
+		<method name="getSimSpecificCarrierId()I" since="29"/>
+		<method name="getSimSpecificCarrierIdName()Ljava/lang/CharSequence;" since="29"/>
+		<method name="getSimState()I"/>
+		<method name="getSimState(I)I" since="26"/>
+		<method name="getSubscriberId()Ljava/lang/String;"/>
+		<method name="getSubscriptionId()I" since="30"/>
+		<method name="getSubscriptionId(Landroid/telecom/PhoneAccountHandle;)I" since="30"/>
+		<method name="getSupportedModemCount()I" since="30"/>
+		<method name="getTypeAllocationCode()Ljava/lang/String;" since="29"/>
+		<method name="getTypeAllocationCode(I)Ljava/lang/String;" since="29"/>
+		<method name="getUiccCardsInfo()Ljava/util/List;" since="29"/>
+		<method name="getVisualVoicemailPackageName()Ljava/lang/String;" since="26"/>
+		<method name="getVoiceMailAlphaTag()Ljava/lang/String;"/>
+		<method name="getVoiceMailNumber()Ljava/lang/String;"/>
+		<method name="getVoiceNetworkType()I" since="24"/>
+		<method name="getVoicemailRingtoneUri(Landroid/telecom/PhoneAccountHandle;)Landroid/net/Uri;" since="24"/>
+		<method name="hasCarrierPrivileges()Z" since="22"/>
+		<method name="hasIccCard()Z" since="5"/>
+		<method name="iccCloseLogicalChannel(I)Z" since="21" deprecated="30"/>
+		<method name="iccExchangeSimIO(IIIIILjava/lang/String;)[B" since="21" deprecated="30"/>
+		<method name="iccOpenLogicalChannel(Ljava/lang/String;)Landroid/telephony/IccOpenLogicalChannelResponse;" since="21" deprecated="26"/>
+		<method name="iccOpenLogicalChannel(Ljava/lang/String;I)Landroid/telephony/IccOpenLogicalChannelResponse;" since="26" deprecated="30"/>
+		<method name="iccTransmitApduBasicChannel(IIIIILjava/lang/String;)Ljava/lang/String;" since="21" deprecated="30"/>
+		<method name="iccTransmitApduLogicalChannel(IIIIIILjava/lang/String;)Ljava/lang/String;" since="21" deprecated="30"/>
+		<method name="isConcurrentVoiceAndDataSupported()Z" since="26"/>
+		<method name="isDataCapable()Z" since="31"/>
+		<method name="isDataConnectionAllowed()Z" since="31"/>
+		<method name="isDataEnabled()Z" since="26"/>
+		<method name="isDataEnabledForReason(I)Z" since="31"/>
+		<method name="isDataRoamingEnabled()Z" since="29"/>
+		<method name="isEmergencyNumber(Ljava/lang/String;)Z" since="29"/>
+		<method name="isHearingAidCompatibilitySupported()Z" since="23"/>
+		<method name="isManualNetworkSelectionAllowed()Z" since="30"/>
+		<method name="isModemEnabledForSlot(I)Z" since="30"/>
+		<method name="isMultiSimSupported()I" since="29"/>
+		<method name="isNetworkRoaming()Z"/>
+		<method name="isRadioInterfaceCapabilitySupported(Ljava/lang/String;)Z" since="31"/>
+		<method name="isRttSupported()Z" since="29"/>
+		<method name="isSmsCapable()Z" since="21"/>
+		<method name="isTtyModeSupported()Z" since="23" deprecated="28"/>
+		<method name="isVoiceCapable()Z" since="22"/>
+		<method name="isVoicemailVibrationEnabled(Landroid/telecom/PhoneAccountHandle;)Z" since="24"/>
+		<method name="isWorldPhone()Z" since="23"/>
+		<method name="listen(Landroid/telephony/PhoneStateListener;I)V" deprecated="31"/>
+		<method name="registerTelephonyCallback(Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyCallback;)V" since="31"/>
+		<method name="requestCellInfoUpdate(Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyManager$CellInfoCallback;)V" since="29"/>
+		<method name="requestNetworkScan(Landroid/telephony/NetworkScanRequest;Ljava/util/concurrent/Executor;Landroid/telephony/TelephonyScanManager$NetworkScanCallback;)Landroid/telephony/NetworkScan;" since="28"/>
+		<method name="sendDialerSpecialCode(Ljava/lang/String;)V" since="26"/>
+		<method name="sendEnvelopeWithStatus(Ljava/lang/String;)Ljava/lang/String;" since="21" deprecated="30"/>
+		<method name="sendUssdRequest(Ljava/lang/String;Landroid/telephony/TelephonyManager$UssdResponseCallback;Landroid/os/Handler;)V" since="26"/>
+		<method name="sendVisualVoicemailSms(Ljava/lang/String;ILjava/lang/String;Landroid/app/PendingIntent;)V" since="26"/>
+		<method name="setCallComposerStatus(I)V" since="31"/>
+		<method name="setDataEnabled(Z)V" since="26" deprecated="31"/>
+		<method name="setDataEnabledForReason(IZ)V" since="31"/>
+		<method name="setForbiddenPlmns(Ljava/util/List;)I" since="30"/>
+		<method name="setLine1NumberForDisplay(Ljava/lang/String;Ljava/lang/String;)Z" since="22"/>
+		<method name="setNetworkSelectionModeAutomatic()V" since="28"/>
+		<method name="setNetworkSelectionModeManual(Ljava/lang/String;Z)Z" since="28"/>
+		<method name="setNetworkSelectionModeManual(Ljava/lang/String;ZI)Z" since="30"/>
+		<method name="setOperatorBrandOverride(Ljava/lang/String;)Z" since="22"/>
+		<method name="setPreferredNetworkTypeToGlobal()Z" since="22"/>
+		<method name="setPreferredOpportunisticDataSubscription(IZLjava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="29"/>
+		<method name="setSignalStrengthUpdateRequest(Landroid/telephony/SignalStrengthUpdateRequest;)V" since="31"/>
+		<method name="setVisualVoicemailSmsFilterSettings(Landroid/telephony/VisualVoicemailSmsFilterSettings;)V" since="26"/>
+		<method name="setVoiceMailNumber(Ljava/lang/String;Ljava/lang/String;)Z" since="22"/>
+		<method name="setVoicemailRingtoneUri(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;)V" since="26" deprecated="28"/>
+		<method name="setVoicemailVibrationEnabled(Landroid/telecom/PhoneAccountHandle;Z)V" since="26" deprecated="28"/>
+		<method name="switchMultiSimConfig(I)V" since="29"/>
+		<method name="unregisterTelephonyCallback(Landroid/telephony/TelephonyCallback;)V" since="31"/>
+		<method name="updateAvailableNetworks(Ljava/util/List;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="29"/>
+		<method name="uploadCallComposerPicture(Ljava/io/InputStream;Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V" since="31"/>
+		<method name="uploadCallComposerPicture(Ljava/nio/file/Path;Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/os/OutcomeReceiver;)V" since="31"/>
+		<field name="ACTION_CARRIER_MESSAGING_CLIENT_SERVICE" since="29"/>
+		<field name="ACTION_CARRIER_SIGNAL_DEFAULT_NETWORK_AVAILABLE" since="31"/>
+		<field name="ACTION_CARRIER_SIGNAL_PCO_VALUE" since="31"/>
+		<field name="ACTION_CARRIER_SIGNAL_REDIRECTED" since="31"/>
+		<field name="ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED" since="31"/>
+		<field name="ACTION_CARRIER_SIGNAL_RESET" since="31"/>
+		<field name="ACTION_CONFIGURE_VOICEMAIL" since="23"/>
+		<field name="ACTION_MULTI_SIM_CONFIG_CHANGED" since="30"/>
+		<field name="ACTION_NETWORK_COUNTRY_CHANGED" since="29"/>
+		<field name="ACTION_PHONE_STATE_CHANGED" since="3"/>
+		<field name="ACTION_RESPOND_VIA_MESSAGE" since="18"/>
+		<field name="ACTION_SECRET_CODE" since="29"/>
+		<field name="ACTION_SHOW_VOICEMAIL_NOTIFICATION" since="26"/>
+		<field name="ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED" since="28"/>
+		<field name="ACTION_SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED" since="29"/>
+		<field name="APPTYPE_CSIM" since="24"/>
+		<field name="APPTYPE_ISIM" since="24"/>
+		<field name="APPTYPE_RUIM" since="24"/>
+		<field name="APPTYPE_SIM" since="24"/>
+		<field name="APPTYPE_UNKNOWN" since="31"/>
+		<field name="APPTYPE_USIM" since="24"/>
+		<field name="AUTHTYPE_EAP_AKA" since="24"/>
+		<field name="AUTHTYPE_EAP_SIM" since="24"/>
+		<field name="CALL_COMPOSER_STATUS_OFF" since="31"/>
+		<field name="CALL_COMPOSER_STATUS_ON" since="31"/>
+		<field name="CALL_STATE_IDLE"/>
+		<field name="CALL_STATE_OFFHOOK"/>
+		<field name="CALL_STATE_RINGING"/>
+		<field name="CAPABILITY_SLICING_CONFIG_SUPPORTED" since="31"/>
+		<field name="CDMA_ROAMING_MODE_AFFILIATED" since="28"/>
+		<field name="CDMA_ROAMING_MODE_ANY" since="28"/>
+		<field name="CDMA_ROAMING_MODE_HOME" since="28"/>
+		<field name="CDMA_ROAMING_MODE_RADIO_DEFAULT" since="28"/>
+		<field name="DATA_ACTIVITY_DORMANT" since="4"/>
+		<field name="DATA_ACTIVITY_IN"/>
+		<field name="DATA_ACTIVITY_INOUT"/>
+		<field name="DATA_ACTIVITY_NONE"/>
+		<field name="DATA_ACTIVITY_OUT"/>
+		<field name="DATA_CONNECTED"/>
+		<field name="DATA_CONNECTING"/>
+		<field name="DATA_DISCONNECTED"/>
+		<field name="DATA_DISCONNECTING" since="30"/>
+		<field name="DATA_ENABLED_REASON_CARRIER" since="31"/>
+		<field name="DATA_ENABLED_REASON_POLICY" since="31"/>
+		<field name="DATA_ENABLED_REASON_THERMAL" since="31"/>
+		<field name="DATA_ENABLED_REASON_USER" since="31"/>
+		<field name="DATA_SUSPENDED"/>
+		<field name="DATA_UNKNOWN" since="29"/>
+		<field name="ERI_FLASH" since="31"/>
+		<field name="ERI_OFF" since="31"/>
+		<field name="ERI_ON" since="31"/>
+		<field name="EXTRA_ACTIVE_SIM_SUPPORTED_COUNT" since="30"/>
+		<field name="EXTRA_APN_PROTOCOL" since="31"/>
+		<field name="EXTRA_APN_TYPE" since="31"/>
+		<field name="EXTRA_CALL_VOICEMAIL_INTENT" since="26"/>
+		<field name="EXTRA_CARRIER_ID" since="28"/>
+		<field name="EXTRA_CARRIER_NAME" since="28"/>
+		<field name="EXTRA_DATA_FAIL_CAUSE" since="31"/>
+		<field name="EXTRA_DEFAULT_NETWORK_AVAILABLE" since="31"/>
+		<field name="EXTRA_HIDE_PUBLIC_SETTINGS" since="26"/>
+		<field name="EXTRA_INCOMING_NUMBER" since="3" deprecated="29"/>
+		<field name="EXTRA_IS_REFRESH" since="27"/>
+		<field name="EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT" since="26"/>
+		<field name="EXTRA_NETWORK_COUNTRY" since="29"/>
+		<field name="EXTRA_NOTIFICATION_COUNT" since="26"/>
+		<field name="EXTRA_PCO_ID" since="31"/>
+		<field name="EXTRA_PCO_VALUE" since="31"/>
+		<field name="EXTRA_PHONE_ACCOUNT_HANDLE" since="26"/>
+		<field name="EXTRA_REDIRECTION_URL" since="31"/>
+		<field name="EXTRA_SPECIFIC_CARRIER_ID" since="29"/>
+		<field name="EXTRA_SPECIFIC_CARRIER_NAME" since="29"/>
+		<field name="EXTRA_STATE" since="3"/>
+		<field name="EXTRA_STATE_IDLE" since="3"/>
+		<field name="EXTRA_STATE_OFFHOOK" since="3"/>
+		<field name="EXTRA_STATE_RINGING" since="3"/>
+		<field name="EXTRA_SUBSCRIPTION_ID" since="28"/>
+		<field name="EXTRA_VOICEMAIL_NUMBER" since="26"/>
+		<field name="METADATA_HIDE_VOICEMAIL_SETTINGS_MENU" since="26"/>
+		<field name="MULTISIM_ALLOWED" since="29"/>
+		<field name="MULTISIM_NOT_SUPPORTED_BY_CARRIER" since="29"/>
+		<field name="MULTISIM_NOT_SUPPORTED_BY_HARDWARE" since="29"/>
+		<field name="NETWORK_SELECTION_MODE_AUTO" since="30"/>
+		<field name="NETWORK_SELECTION_MODE_MANUAL" since="30"/>
+		<field name="NETWORK_SELECTION_MODE_UNKNOWN" since="30"/>
+		<field name="NETWORK_TYPE_1xRTT" since="4"/>
+		<field name="NETWORK_TYPE_CDMA" since="4"/>
+		<field name="NETWORK_TYPE_EDGE"/>
+		<field name="NETWORK_TYPE_EHRPD" since="11"/>
+		<field name="NETWORK_TYPE_EVDO_0" since="4"/>
+		<field name="NETWORK_TYPE_EVDO_A" since="4"/>
+		<field name="NETWORK_TYPE_EVDO_B" since="9"/>
+		<field name="NETWORK_TYPE_GPRS"/>
+		<field name="NETWORK_TYPE_GSM" since="25"/>
+		<field name="NETWORK_TYPE_HSDPA" since="5"/>
+		<field name="NETWORK_TYPE_HSPA" since="5"/>
+		<field name="NETWORK_TYPE_HSPAP" since="13"/>
+		<field name="NETWORK_TYPE_HSUPA" since="5"/>
+		<field name="NETWORK_TYPE_IDEN" since="8"/>
+		<field name="NETWORK_TYPE_IWLAN" since="25"/>
+		<field name="NETWORK_TYPE_LTE" since="11"/>
+		<field name="NETWORK_TYPE_NR" since="29"/>
+		<field name="NETWORK_TYPE_TD_SCDMA" since="25"/>
+		<field name="NETWORK_TYPE_UMTS"/>
+		<field name="NETWORK_TYPE_UNKNOWN"/>
+		<field name="PHONE_TYPE_CDMA" since="4"/>
+		<field name="PHONE_TYPE_GSM"/>
+		<field name="PHONE_TYPE_NONE"/>
+		<field name="PHONE_TYPE_SIP" since="11"/>
+		<field name="SET_OPPORTUNISTIC_SUB_INACTIVE_SUBSCRIPTION" since="29"/>
+		<field name="SET_OPPORTUNISTIC_SUB_NO_OPPORTUNISTIC_SUB_AVAILABLE" since="30"/>
+		<field name="SET_OPPORTUNISTIC_SUB_REMOTE_SERVICE_EXCEPTION" since="30"/>
+		<field name="SET_OPPORTUNISTIC_SUB_SUCCESS" since="29"/>
+		<field name="SET_OPPORTUNISTIC_SUB_VALIDATION_FAILED" since="29"/>
+		<field name="SIM_STATE_ABSENT"/>
+		<field name="SIM_STATE_CARD_IO_ERROR" since="26"/>
+		<field name="SIM_STATE_CARD_RESTRICTED" since="26"/>
+		<field name="SIM_STATE_NETWORK_LOCKED"/>
+		<field name="SIM_STATE_NOT_READY" since="26"/>
+		<field name="SIM_STATE_PERM_DISABLED" since="26"/>
+		<field name="SIM_STATE_PIN_REQUIRED"/>
+		<field name="SIM_STATE_PUK_REQUIRED"/>
+		<field name="SIM_STATE_READY"/>
+		<field name="SIM_STATE_UNKNOWN"/>
+		<field name="UNINITIALIZED_CARD_ID" since="29"/>
+		<field name="UNKNOWN_CARRIER_ID" since="28"/>
+		<field name="UNSUPPORTED_CARD_ID" since="29"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_ABORTED" since="29"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_DISABLE_MODEM_FAIL" since="30"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_ENABLE_MODEM_FAIL" since="30"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS" since="29"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_MULTIPLE_NETWORKS_NOT_SUPPORTED" since="30"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_NO_CARRIER_PRIVILEGE" since="29"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_NO_OPPORTUNISTIC_SUB_AVAILABLE" since="30"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_REMOTE_SERVICE_EXCEPTION" since="30"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_SERVICE_IS_DISABLED" since="30"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_SUCCESS" since="29"/>
+		<field name="UPDATE_AVAILABLE_NETWORKS_UNKNOWN_FAILURE" since="29"/>
+		<field name="USSD_ERROR_SERVICE_UNAVAIL" since="26"/>
+		<field name="USSD_RETURN_FAILURE" since="26"/>
+		<field name="VVM_TYPE_CVVM" since="23"/>
+		<field name="VVM_TYPE_OMTP" since="23"/>
+	</class>
+	<class name="android/telephony/TelephonyManager$CallComposerException" since="31">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(ILjava/io/IOException;)V"/>
+		<method name="getErrorCode()I"/>
+		<method name="getIOException()Ljava/io/IOException;"/>
+		<field name="ERROR_AUTHENTICATION_FAILED"/>
+		<field name="ERROR_FILE_TOO_LARGE"/>
+		<field name="ERROR_INPUT_CLOSED"/>
+		<field name="ERROR_IO_EXCEPTION"/>
+		<field name="ERROR_NETWORK_UNAVAILABLE"/>
+		<field name="ERROR_REMOTE_END_CLOSED"/>
+		<field name="ERROR_UNKNOWN"/>
+	</class>
+	<class name="android/telephony/TelephonyManager$CellInfoCallback" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCellInfo(Ljava/util/List;)V"/>
+		<method name="onError(ILjava/lang/Throwable;)V"/>
+		<field name="ERROR_MODEM_ERROR"/>
+		<field name="ERROR_TIMEOUT"/>
+	</class>
+	<class name="android/telephony/TelephonyManager$ModemErrorException" since="31">
+		<extends name="android/telephony/TelephonyManager$NetworkSlicingException"/>
+	</class>
+	<class name="android/telephony/TelephonyManager$NetworkSlicingException" since="31">
+		<extends name="java/lang/Exception"/>
+	</class>
+	<class name="android/telephony/TelephonyManager$TimeoutException" since="31">
+		<extends name="android/telephony/TelephonyManager$NetworkSlicingException"/>
+	</class>
+	<class name="android/telephony/TelephonyManager$UssdResponseCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onReceiveUssdResponse(Landroid/telephony/TelephonyManager;Ljava/lang/String;Ljava/lang/CharSequence;)V"/>
+		<method name="onReceiveUssdResponseFailed(Landroid/telephony/TelephonyManager;Ljava/lang/String;I)V"/>
+	</class>
+	<class name="android/telephony/TelephonyScanManager" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/telephony/TelephonyScanManager$NetworkScanCallback" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onComplete()V"/>
+		<method name="onError(I)V"/>
+		<method name="onResults(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/telephony/UiccCardInfo" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCardId()I"/>
+		<method name="getEid()Ljava/lang/String;"/>
+		<method name="getIccId()Ljava/lang/String;"/>
+		<method name="getSlotIndex()I"/>
+		<method name="isEuicc()Z"/>
+		<method name="isRemovable()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/VisualVoicemailService" since="26">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCellServiceConnected(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;Landroid/telecom/PhoneAccountHandle;)V"/>
+		<method name="onSimRemoved(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;Landroid/telecom/PhoneAccountHandle;)V"/>
+		<method name="onSmsReceived(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;Landroid/telephony/VisualVoicemailSms;)V"/>
+		<method name="onStopped(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;)V"/>
+		<field name="SERVICE_INTERFACE"/>
+	</class>
+	<class name="android/telephony/VisualVoicemailService$VisualVoicemailTask" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="finish()V"/>
+	</class>
+	<class name="android/telephony/VisualVoicemailSms" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getFields()Landroid/os/Bundle;"/>
+		<method name="getMessageBody()Ljava/lang/String;"/>
+		<method name="getPhoneAccountHandle()Landroid/telecom/PhoneAccountHandle;"/>
+		<method name="getPrefix()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/VisualVoicemailSmsFilterSettings" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+		<field name="DESTINATION_PORT_ANY"/>
+		<field name="DESTINATION_PORT_DATA_SMS"/>
+		<field name="clientPrefix"/>
+		<field name="destinationPort"/>
+		<field name="originatingNumbers"/>
+	</class>
+	<class name="android/telephony/VisualVoicemailSmsFilterSettings$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/telephony/VisualVoicemailSmsFilterSettings;"/>
+		<method name="setClientPrefix(Ljava/lang/String;)Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;"/>
+		<method name="setDestinationPort(I)Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;"/>
+		<method name="setOriginatingNumbers(Ljava/util/List;)Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;"/>
+	</class>
+	<class name="android/telephony/cdma/CdmaCellLocation" since="5" deprecated="31">
+		<extends name="android/telephony/CellLocation"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(Landroid/os/Bundle;)V" deprecated="31"/>
+		<method name="convertQuartSecToDecDegrees(I)D" since="17" deprecated="31"/>
+		<method name="fillInNotifierBundle(Landroid/os/Bundle;)V" deprecated="31"/>
+		<method name="getBaseStationId()I" deprecated="31"/>
+		<method name="getBaseStationLatitude()I" deprecated="31"/>
+		<method name="getBaseStationLongitude()I" deprecated="31"/>
+		<method name="getNetworkId()I" deprecated="31"/>
+		<method name="getSystemId()I" deprecated="31"/>
+		<method name="setCellLocationData(III)V" deprecated="31"/>
+		<method name="setCellLocationData(IIIII)V" deprecated="31"/>
+		<method name="setStateInvalid()V" deprecated="31"/>
+	</class>
+	<class name="android/telephony/data/ApnSetting" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getApnName()Ljava/lang/String;"/>
+		<method name="getApnTypeBitmask()I"/>
+		<method name="getAuthType()I"/>
+		<method name="getCarrierId()I" since="29"/>
+		<method name="getEntryName()Ljava/lang/String;"/>
+		<method name="getId()I"/>
+		<method name="getMmsProxyAddress()Ljava/net/InetAddress;" deprecated="29"/>
+		<method name="getMmsProxyAddressAsString()Ljava/lang/String;" since="29"/>
+		<method name="getMmsProxyPort()I"/>
+		<method name="getMmsc()Landroid/net/Uri;"/>
+		<method name="getMvnoType()I"/>
+		<method name="getNetworkTypeBitmask()I"/>
+		<method name="getOperatorNumeric()Ljava/lang/String;"/>
+		<method name="getPassword()Ljava/lang/String;"/>
+		<method name="getProtocol()I"/>
+		<method name="getProxyAddress()Ljava/net/InetAddress;" deprecated="29"/>
+		<method name="getProxyAddressAsString()Ljava/lang/String;" since="29"/>
+		<method name="getProxyPort()I"/>
+		<method name="getRoamingProtocol()I"/>
+		<method name="getUser()Ljava/lang/String;"/>
+		<method name="isEnabled()Z"/>
+		<field name="AUTH_TYPE_CHAP"/>
+		<field name="AUTH_TYPE_NONE"/>
+		<field name="AUTH_TYPE_PAP"/>
+		<field name="AUTH_TYPE_PAP_OR_CHAP"/>
+		<field name="CREATOR"/>
+		<field name="MVNO_TYPE_GID"/>
+		<field name="MVNO_TYPE_ICCID"/>
+		<field name="MVNO_TYPE_IMSI"/>
+		<field name="MVNO_TYPE_SPN"/>
+		<field name="PROTOCOL_IP"/>
+		<field name="PROTOCOL_IPV4V6"/>
+		<field name="PROTOCOL_IPV6"/>
+		<field name="PROTOCOL_NON_IP" since="29"/>
+		<field name="PROTOCOL_PPP"/>
+		<field name="PROTOCOL_UNSTRUCTURED" since="29"/>
+		<field name="TYPE_BIP" since="31"/>
+		<field name="TYPE_CBS"/>
+		<field name="TYPE_DEFAULT"/>
+		<field name="TYPE_DUN"/>
+		<field name="TYPE_EMERGENCY"/>
+		<field name="TYPE_FOTA"/>
+		<field name="TYPE_HIPRI"/>
+		<field name="TYPE_IA"/>
+		<field name="TYPE_IMS"/>
+		<field name="TYPE_MCX" since="29"/>
+		<field name="TYPE_MMS"/>
+		<field name="TYPE_SUPL"/>
+		<field name="TYPE_VSIM" since="31"/>
+		<field name="TYPE_XCAP" since="30"/>
+	</class>
+	<class name="android/telephony/data/ApnSetting$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/telephony/data/ApnSetting;"/>
+		<method name="setApnName(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setApnTypeBitmask(I)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setAuthType(I)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setCarrierEnabled(Z)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setCarrierId(I)Landroid/telephony/data/ApnSetting$Builder;" since="29"/>
+		<method name="setEntryName(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setMmsProxyAddress(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;" since="29"/>
+		<method name="setMmsProxyAddress(Ljava/net/InetAddress;)Landroid/telephony/data/ApnSetting$Builder;" deprecated="29"/>
+		<method name="setMmsProxyPort(I)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setMmsc(Landroid/net/Uri;)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setMvnoType(I)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setNetworkTypeBitmask(I)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setOperatorNumeric(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setPassword(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setProtocol(I)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setProxyAddress(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;" since="29"/>
+		<method name="setProxyAddress(Ljava/net/InetAddress;)Landroid/telephony/data/ApnSetting$Builder;" deprecated="29"/>
+		<method name="setProxyPort(I)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setRoamingProtocol(I)Landroid/telephony/data/ApnSetting$Builder;"/>
+		<method name="setUser(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;"/>
+	</class>
+	<class name="android/telephony/data/NetworkSliceInfo" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getMappedHplmnSliceDifferentiator()I"/>
+		<method name="getMappedHplmnSliceServiceType()I"/>
+		<method name="getSliceDifferentiator()I"/>
+		<method name="getSliceServiceType()I"/>
+		<method name="getStatus()I"/>
+		<field name="CREATOR"/>
+		<field name="SLICE_DIFFERENTIATOR_NO_SLICE"/>
+		<field name="SLICE_SERVICE_TYPE_EMBB"/>
+		<field name="SLICE_SERVICE_TYPE_MIOT"/>
+		<field name="SLICE_SERVICE_TYPE_NONE"/>
+		<field name="SLICE_SERVICE_TYPE_URLLC"/>
+		<field name="SLICE_STATUS_ALLOWED"/>
+		<field name="SLICE_STATUS_CONFIGURED"/>
+		<field name="SLICE_STATUS_DEFAULT_CONFIGURED"/>
+		<field name="SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_PLMN"/>
+		<field name="SLICE_STATUS_REJECTED_NOT_AVAILABLE_IN_REGISTERED_AREA"/>
+		<field name="SLICE_STATUS_UNKNOWN"/>
+	</class>
+	<class name="android/telephony/data/NetworkSliceInfo$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/telephony/data/NetworkSliceInfo;"/>
+		<method name="setMappedHplmnSliceDifferentiator(I)Landroid/telephony/data/NetworkSliceInfo$Builder;"/>
+		<method name="setMappedHplmnSliceServiceType(I)Landroid/telephony/data/NetworkSliceInfo$Builder;"/>
+		<method name="setSliceDifferentiator(I)Landroid/telephony/data/NetworkSliceInfo$Builder;"/>
+		<method name="setSliceServiceType(I)Landroid/telephony/data/NetworkSliceInfo$Builder;"/>
+		<method name="setStatus(I)Landroid/telephony/data/NetworkSliceInfo$Builder;"/>
+	</class>
+	<class name="android/telephony/data/NetworkSlicingConfig" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getSliceInfo()Ljava/util/List;"/>
+		<method name="getUrspRules()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/data/RouteSelectionDescriptor" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDataNetworkName()Ljava/util/List;"/>
+		<method name="getPrecedence()I"/>
+		<method name="getSessionType()I"/>
+		<method name="getSliceInfo()Ljava/util/List;"/>
+		<method name="getSscMode()I"/>
+		<field name="CREATOR"/>
+		<field name="ROUTE_SSC_MODE_1"/>
+		<field name="ROUTE_SSC_MODE_2"/>
+		<field name="ROUTE_SSC_MODE_3"/>
+		<field name="SESSION_TYPE_IPV4"/>
+		<field name="SESSION_TYPE_IPV4V6"/>
+		<field name="SESSION_TYPE_IPV6"/>
+	</class>
+	<class name="android/telephony/data/TrafficDescriptor" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDataNetworkName()Ljava/lang/String;"/>
+		<method name="getOsAppId()[B"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/data/TrafficDescriptor$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/telephony/data/TrafficDescriptor;"/>
+		<method name="setDataNetworkName(Ljava/lang/String;)Landroid/telephony/data/TrafficDescriptor$Builder;"/>
+		<method name="setOsAppId([B)Landroid/telephony/data/TrafficDescriptor$Builder;"/>
+	</class>
+	<class name="android/telephony/data/UrspRule" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getPrecedence()I"/>
+		<method name="getRouteSelectionDescriptor()Ljava/util/List;"/>
+		<method name="getTrafficDescriptors()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/emergency/EmergencyNumber" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="compareTo(Landroid/telephony/emergency/EmergencyNumber;)I"/>
+		<method name="getCountryIso()Ljava/lang/String;"/>
+		<method name="getEmergencyCallRouting()I"/>
+		<method name="getEmergencyNumberSources()Ljava/util/List;"/>
+		<method name="getEmergencyServiceCategories()Ljava/util/List;"/>
+		<method name="getEmergencyUrns()Ljava/util/List;"/>
+		<method name="getMnc()Ljava/lang/String;"/>
+		<method name="getNumber()Ljava/lang/String;"/>
+		<method name="isFromSources(I)Z"/>
+		<method name="isInEmergencyServiceCategories(I)Z"/>
+		<field name="CREATOR"/>
+		<field name="EMERGENCY_CALL_ROUTING_EMERGENCY"/>
+		<field name="EMERGENCY_CALL_ROUTING_NORMAL"/>
+		<field name="EMERGENCY_CALL_ROUTING_UNKNOWN"/>
+		<field name="EMERGENCY_NUMBER_SOURCE_DATABASE"/>
+		<field name="EMERGENCY_NUMBER_SOURCE_DEFAULT"/>
+		<field name="EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG"/>
+		<field name="EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING"/>
+		<field name="EMERGENCY_NUMBER_SOURCE_SIM"/>
+		<field name="EMERGENCY_SERVICE_CATEGORY_AIEC"/>
+		<field name="EMERGENCY_SERVICE_CATEGORY_AMBULANCE"/>
+		<field name="EMERGENCY_SERVICE_CATEGORY_FIRE_BRIGADE"/>
+		<field name="EMERGENCY_SERVICE_CATEGORY_MARINE_GUARD"/>
+		<field name="EMERGENCY_SERVICE_CATEGORY_MIEC"/>
+		<field name="EMERGENCY_SERVICE_CATEGORY_MOUNTAIN_RESCUE"/>
+		<field name="EMERGENCY_SERVICE_CATEGORY_POLICE"/>
+		<field name="EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED"/>
+	</class>
+	<class name="android/telephony/euicc/DownloadableSubscription" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="forActivationCode(Ljava/lang/String;)Landroid/telephony/euicc/DownloadableSubscription;"/>
+		<method name="getConfirmationCode()Ljava/lang/String;"/>
+		<method name="getEncodedActivationCode()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/euicc/DownloadableSubscription$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/telephony/euicc/DownloadableSubscription;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/telephony/euicc/DownloadableSubscription;"/>
+		<method name="setConfirmationCode(Ljava/lang/String;)Landroid/telephony/euicc/DownloadableSubscription$Builder;"/>
+		<method name="setEncodedActivationCode(Ljava/lang/String;)Landroid/telephony/euicc/DownloadableSubscription$Builder;"/>
+	</class>
+	<class name="android/telephony/euicc/EuiccInfo" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getOsVersion()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/euicc/EuiccManager" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="createForCardId(I)Landroid/telephony/euicc/EuiccManager;" since="29"/>
+		<method name="deleteSubscription(ILandroid/app/PendingIntent;)V"/>
+		<method name="downloadSubscription(Landroid/telephony/euicc/DownloadableSubscription;ZLandroid/app/PendingIntent;)V"/>
+		<method name="getEid()Ljava/lang/String;"/>
+		<method name="getEuiccInfo()Landroid/telephony/euicc/EuiccInfo;"/>
+		<method name="isEnabled()Z"/>
+		<method name="startResolutionActivity(Landroid/app/Activity;ILandroid/content/Intent;Landroid/app/PendingIntent;)V"/>
+		<method name="switchToSubscription(ILandroid/app/PendingIntent;)V"/>
+		<method name="updateSubscriptionNickname(ILjava/lang/String;Landroid/app/PendingIntent;)V" since="29"/>
+		<field name="ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS"/>
+		<field name="ACTION_NOTIFY_CARRIER_SETUP_INCOMPLETE"/>
+		<field name="ACTION_START_EUICC_ACTIVATION" since="30"/>
+		<field name="EMBEDDED_SUBSCRIPTION_RESULT_ERROR"/>
+		<field name="EMBEDDED_SUBSCRIPTION_RESULT_OK"/>
+		<field name="EMBEDDED_SUBSCRIPTION_RESULT_RESOLVABLE_ERROR"/>
+		<field name="ERROR_ADDRESS_MISSING" since="30"/>
+		<field name="ERROR_CARRIER_LOCKED" since="30"/>
+		<field name="ERROR_CERTIFICATE_ERROR" since="30"/>
+		<field name="ERROR_CONNECTION_ERROR" since="30"/>
+		<field name="ERROR_DISALLOWED_BY_PPR" since="30"/>
+		<field name="ERROR_EUICC_INSUFFICIENT_MEMORY" since="30"/>
+		<field name="ERROR_EUICC_MISSING" since="30"/>
+		<field name="ERROR_INCOMPATIBLE_CARRIER" since="30"/>
+		<field name="ERROR_INSTALL_PROFILE" since="30"/>
+		<field name="ERROR_INVALID_ACTIVATION_CODE" since="30"/>
+		<field name="ERROR_INVALID_CONFIRMATION_CODE" since="30"/>
+		<field name="ERROR_INVALID_RESPONSE" since="30"/>
+		<field name="ERROR_NO_PROFILES_AVAILABLE" since="30"/>
+		<field name="ERROR_OPERATION_BUSY" since="30"/>
+		<field name="ERROR_SIM_MISSING" since="30"/>
+		<field name="ERROR_TIME_OUT" since="30"/>
+		<field name="ERROR_UNSUPPORTED_VERSION" since="30"/>
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE"/>
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION"/>
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_ERROR_CODE" since="30"/>
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE" since="30"/>
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE" since="30"/>
+		<field name="EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE" since="30"/>
+		<field name="EXTRA_USE_QR_SCANNER" since="30"/>
+		<field name="META_DATA_CARRIER_ICON"/>
+		<field name="OPERATION_APDU" since="30"/>
+		<field name="OPERATION_DOWNLOAD" since="30"/>
+		<field name="OPERATION_EUICC_CARD" since="30"/>
+		<field name="OPERATION_EUICC_GSMA" since="30"/>
+		<field name="OPERATION_HTTP" since="30"/>
+		<field name="OPERATION_METADATA" since="30"/>
+		<field name="OPERATION_SIM_SLOT" since="30"/>
+		<field name="OPERATION_SMDX" since="30"/>
+		<field name="OPERATION_SMDX_SUBJECT_REASON_CODE" since="30"/>
+		<field name="OPERATION_SWITCH" since="30"/>
+		<field name="OPERATION_SYSTEM" since="30"/>
+	</class>
+	<class name="android/telephony/gsm/GsmCellLocation" since="1" deprecated="31">
+		<extends name="android/telephony/CellLocation"/>
+		<method name="&lt;init>()V" deprecated="31"/>
+		<method name="&lt;init>(Landroid/os/Bundle;)V" deprecated="31"/>
+		<method name="fillInNotifierBundle(Landroid/os/Bundle;)V" deprecated="31"/>
+		<method name="getCid()I" deprecated="31"/>
+		<method name="getLac()I" deprecated="31"/>
+		<method name="getPsc()I" since="9" deprecated="31"/>
+		<method name="setLacAndCid(II)V" deprecated="31"/>
+		<method name="setStateInvalid()V" deprecated="31"/>
+	</class>
+	<class name="android/telephony/gsm/SmsManager" since="1" deprecated="4">
+		<extends name="java/lang/Object"/>
+		<method name="divideMessage(Ljava/lang/String;)Ljava/util/ArrayList;" deprecated="15"/>
+		<method name="getDefault()Landroid/telephony/gsm/SmsManager;" deprecated="15"/>
+		<method name="sendDataMessage(Ljava/lang/String;Ljava/lang/String;S[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V" deprecated="15"/>
+		<method name="sendMultipartTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V" deprecated="15"/>
+		<method name="sendTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V" deprecated="15"/>
+		<field name="RESULT_ERROR_GENERIC_FAILURE" deprecated="15"/>
+		<field name="RESULT_ERROR_NO_SERVICE" deprecated="15"/>
+		<field name="RESULT_ERROR_NULL_PDU" deprecated="15"/>
+		<field name="RESULT_ERROR_RADIO_OFF" deprecated="15"/>
+		<field name="STATUS_ON_SIM_FREE" deprecated="15"/>
+		<field name="STATUS_ON_SIM_READ" deprecated="15"/>
+		<field name="STATUS_ON_SIM_SENT" deprecated="15"/>
+		<field name="STATUS_ON_SIM_UNREAD" deprecated="15"/>
+		<field name="STATUS_ON_SIM_UNSENT" deprecated="15"/>
+	</class>
+	<class name="android/telephony/gsm/SmsMessage" since="1" deprecated="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="15"/>
+		<method name="calculateLength(Ljava/lang/CharSequence;Z)[I" since="3" deprecated="15"/>
+		<method name="calculateLength(Ljava/lang/String;Z)[I" deprecated="15"/>
+		<method name="createFromPdu([B)Landroid/telephony/gsm/SmsMessage;" deprecated="15"/>
+		<method name="getDisplayMessageBody()Ljava/lang/String;" deprecated="15"/>
+		<method name="getDisplayOriginatingAddress()Ljava/lang/String;" deprecated="15"/>
+		<method name="getEmailBody()Ljava/lang/String;" deprecated="15"/>
+		<method name="getEmailFrom()Ljava/lang/String;" deprecated="15"/>
+		<method name="getIndexOnSim()I" deprecated="15"/>
+		<method name="getMessageBody()Ljava/lang/String;" deprecated="15"/>
+		<method name="getMessageClass()Landroid/telephony/gsm/SmsMessage$MessageClass;" deprecated="15"/>
+		<method name="getOriginatingAddress()Ljava/lang/String;" deprecated="15"/>
+		<method name="getPdu()[B" deprecated="15"/>
+		<method name="getProtocolIdentifier()I" deprecated="15"/>
+		<method name="getPseudoSubject()Ljava/lang/String;" deprecated="15"/>
+		<method name="getServiceCenterAddress()Ljava/lang/String;" deprecated="15"/>
+		<method name="getStatus()I" deprecated="15"/>
+		<method name="getStatusOnSim()I" deprecated="15"/>
+		<method name="getSubmitPdu(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Landroid/telephony/gsm/SmsMessage$SubmitPdu;" deprecated="15"/>
+		<method name="getSubmitPdu(Ljava/lang/String;Ljava/lang/String;S[BZ)Landroid/telephony/gsm/SmsMessage$SubmitPdu;" deprecated="15"/>
+		<method name="getTPLayerLengthForPDU(Ljava/lang/String;)I" deprecated="15"/>
+		<method name="getTimestampMillis()J" deprecated="15"/>
+		<method name="getUserData()[B" deprecated="15"/>
+		<method name="isCphsMwiMessage()Z" deprecated="15"/>
+		<method name="isEmail()Z" deprecated="15"/>
+		<method name="isMWIClearMessage()Z" deprecated="15"/>
+		<method name="isMWISetMessage()Z" deprecated="15"/>
+		<method name="isMwiDontStore()Z" deprecated="15"/>
+		<method name="isReplace()Z" deprecated="15"/>
+		<method name="isReplyPathPresent()Z" deprecated="15"/>
+		<method name="isStatusReportMessage()Z" deprecated="15"/>
+		<field name="ENCODING_16BIT" deprecated="15"/>
+		<field name="ENCODING_7BIT" deprecated="15"/>
+		<field name="ENCODING_8BIT" deprecated="15"/>
+		<field name="ENCODING_UNKNOWN" deprecated="15"/>
+		<field name="MAX_USER_DATA_BYTES" deprecated="15"/>
+		<field name="MAX_USER_DATA_SEPTETS" deprecated="15"/>
+		<field name="MAX_USER_DATA_SEPTETS_WITH_HEADER" deprecated="15"/>
+	</class>
+	<class name="android/telephony/gsm/SmsMessage$MessageClass" since="1" deprecated="4">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/telephony/gsm/SmsMessage$MessageClass;"/>
+		<method name="values()[Landroid/telephony/gsm/SmsMessage$MessageClass;"/>
+		<field name="CLASS_0" deprecated="29"/>
+		<field name="CLASS_1" deprecated="29"/>
+		<field name="CLASS_2" deprecated="29"/>
+		<field name="CLASS_3" deprecated="29"/>
+		<field name="UNKNOWN" deprecated="29"/>
+	</class>
+	<class name="android/telephony/gsm/SmsMessage$SubmitPdu" since="1" deprecated="4">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="15"/>
+		<field name="encodedMessage" deprecated="15"/>
+		<field name="encodedScAddress" deprecated="15"/>
+	</class>
+	<class name="android/telephony/ims/ImsException" since="30">
+		<extends name="java/lang/Exception"/>
+		<method name="getCode()I"/>
+		<field name="CODE_ERROR_INVALID_SUBSCRIPTION"/>
+		<field name="CODE_ERROR_SERVICE_UNAVAILABLE"/>
+		<field name="CODE_ERROR_UNSPECIFIED"/>
+		<field name="CODE_ERROR_UNSUPPORTED_OPERATION"/>
+	</class>
+	<class name="android/telephony/ims/ImsManager" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getImsMmTelManager(I)Landroid/telephony/ims/ImsMmTelManager;"/>
+		<method name="getImsRcsManager(I)Landroid/telephony/ims/ImsRcsManager;"/>
+		<field name="ACTION_WFC_IMS_REGISTRATION_ERROR"/>
+		<field name="EXTRA_WFC_REGISTRATION_FAILURE_MESSAGE"/>
+		<field name="EXTRA_WFC_REGISTRATION_FAILURE_TITLE"/>
+	</class>
+	<class name="android/telephony/ims/ImsMmTelManager" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/telephony/ims/RegistrationManager"/>
+		<method name="getVoWiFiModeSetting()I"/>
+		<method name="isAdvancedCallingSettingEnabled()Z"/>
+		<method name="isCrossSimCallingEnabled()Z" since="31"/>
+		<method name="isTtyOverVolteEnabled()Z"/>
+		<method name="isVoWiFiRoamingSettingEnabled()Z"/>
+		<method name="isVoWiFiSettingEnabled()Z"/>
+		<method name="isVtSettingEnabled()Z"/>
+		<method name="registerMmTelCapabilityCallback(Ljava/util/concurrent/Executor;Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;)V"/>
+		<method name="unregisterMmTelCapabilityCallback(Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;)V"/>
+		<field name="WIFI_MODE_CELLULAR_PREFERRED"/>
+		<field name="WIFI_MODE_WIFI_ONLY"/>
+		<field name="WIFI_MODE_WIFI_PREFERRED"/>
+	</class>
+	<class name="android/telephony/ims/ImsMmTelManager$CapabilityCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V"/>
+	</class>
+	<class name="android/telephony/ims/ImsRcsManager" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getRegistrationState(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31"/>
+		<method name="getRegistrationTransportType(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31"/>
+		<method name="getUceAdapter()Landroid/telephony/ims/RcsUceAdapter;"/>
+		<method name="registerImsRegistrationCallback(Ljava/util/concurrent/Executor;Landroid/telephony/ims/RegistrationManager$RegistrationCallback;)V" since="31"/>
+		<method name="unregisterImsRegistrationCallback(Landroid/telephony/ims/RegistrationManager$RegistrationCallback;)V" since="31"/>
+		<field name="ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN"/>
+	</class>
+	<class name="android/telephony/ims/ImsReasonInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(IILjava/lang/String;)V"/>
+		<method name="getCode()I"/>
+		<method name="getExtraCode()I"/>
+		<method name="getExtraMessage()Ljava/lang/String;"/>
+		<field name="CODE_ACCESS_CLASS_BLOCKED"/>
+		<field name="CODE_ANSWERED_ELSEWHERE"/>
+		<field name="CODE_BLACKLISTED_CALL_ID"/>
+		<field name="CODE_CALL_BARRED"/>
+		<field name="CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE"/>
+		<field name="CODE_CALL_END_CAUSE_CALL_PULL"/>
+		<field name="CODE_CALL_PULL_OUT_OF_SYNC"/>
+		<field name="CODE_DATA_DISABLED"/>
+		<field name="CODE_DATA_LIMIT_REACHED"/>
+		<field name="CODE_DIAL_MODIFIED_TO_DIAL"/>
+		<field name="CODE_DIAL_MODIFIED_TO_DIAL_VIDEO"/>
+		<field name="CODE_DIAL_MODIFIED_TO_SS"/>
+		<field name="CODE_DIAL_MODIFIED_TO_USSD"/>
+		<field name="CODE_DIAL_VIDEO_MODIFIED_TO_DIAL"/>
+		<field name="CODE_DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO"/>
+		<field name="CODE_DIAL_VIDEO_MODIFIED_TO_SS"/>
+		<field name="CODE_DIAL_VIDEO_MODIFIED_TO_USSD"/>
+		<field name="CODE_ECBM_NOT_SUPPORTED"/>
+		<field name="CODE_EMERGENCY_PERM_FAILURE"/>
+		<field name="CODE_EMERGENCY_TEMP_FAILURE"/>
+		<field name="CODE_EPDG_TUNNEL_ESTABLISH_FAILURE"/>
+		<field name="CODE_EPDG_TUNNEL_LOST_CONNECTION"/>
+		<field name="CODE_EPDG_TUNNEL_REKEY_FAILURE"/>
+		<field name="CODE_FDN_BLOCKED"/>
+		<field name="CODE_IKEV2_AUTH_FAILURE"/>
+		<field name="CODE_IMEI_NOT_ACCEPTED"/>
+		<field name="CODE_IWLAN_DPD_FAILURE"/>
+		<field name="CODE_LOCAL_CALL_BUSY"/>
+		<field name="CODE_LOCAL_CALL_CS_RETRY_REQUIRED"/>
+		<field name="CODE_LOCAL_CALL_DECLINE"/>
+		<field name="CODE_LOCAL_CALL_EXCEEDED"/>
+		<field name="CODE_LOCAL_CALL_RESOURCE_RESERVATION_FAILED"/>
+		<field name="CODE_LOCAL_CALL_TERMINATED"/>
+		<field name="CODE_LOCAL_CALL_VCC_ON_PROGRESSING"/>
+		<field name="CODE_LOCAL_CALL_VOLTE_RETRY_REQUIRED"/>
+		<field name="CODE_LOCAL_ENDED_BY_CONFERENCE_MERGE"/>
+		<field name="CODE_LOCAL_HO_NOT_FEASIBLE"/>
+		<field name="CODE_LOCAL_ILLEGAL_ARGUMENT"/>
+		<field name="CODE_LOCAL_ILLEGAL_STATE"/>
+		<field name="CODE_LOCAL_IMS_SERVICE_DOWN"/>
+		<field name="CODE_LOCAL_INTERNAL_ERROR"/>
+		<field name="CODE_LOCAL_LOW_BATTERY"/>
+		<field name="CODE_LOCAL_NETWORK_IP_CHANGED"/>
+		<field name="CODE_LOCAL_NETWORK_NO_LTE_COVERAGE"/>
+		<field name="CODE_LOCAL_NETWORK_NO_SERVICE"/>
+		<field name="CODE_LOCAL_NETWORK_ROAMING"/>
+		<field name="CODE_LOCAL_NOT_REGISTERED"/>
+		<field name="CODE_LOCAL_NO_PENDING_CALL"/>
+		<field name="CODE_LOCAL_POWER_OFF"/>
+		<field name="CODE_LOCAL_SERVICE_UNAVAILABLE"/>
+		<field name="CODE_LOW_BATTERY"/>
+		<field name="CODE_MAXIMUM_NUMBER_OF_CALLS_REACHED"/>
+		<field name="CODE_MEDIA_INIT_FAILED"/>
+		<field name="CODE_MEDIA_NOT_ACCEPTABLE"/>
+		<field name="CODE_MEDIA_NO_DATA"/>
+		<field name="CODE_MEDIA_UNSPECIFIED"/>
+		<field name="CODE_MULTIENDPOINT_NOT_SUPPORTED"/>
+		<field name="CODE_NETWORK_CONGESTION" since="31"/>
+		<field name="CODE_NETWORK_DETACH"/>
+		<field name="CODE_NETWORK_REJECT"/>
+		<field name="CODE_NETWORK_RESP_TIMEOUT"/>
+		<field name="CODE_NO_CSFB_IN_CS_ROAM"/>
+		<field name="CODE_NO_VALID_SIM"/>
+		<field name="CODE_OEM_CAUSE_1"/>
+		<field name="CODE_OEM_CAUSE_10"/>
+		<field name="CODE_OEM_CAUSE_11"/>
+		<field name="CODE_OEM_CAUSE_12"/>
+		<field name="CODE_OEM_CAUSE_13"/>
+		<field name="CODE_OEM_CAUSE_14"/>
+		<field name="CODE_OEM_CAUSE_15"/>
+		<field name="CODE_OEM_CAUSE_2"/>
+		<field name="CODE_OEM_CAUSE_3"/>
+		<field name="CODE_OEM_CAUSE_4"/>
+		<field name="CODE_OEM_CAUSE_5"/>
+		<field name="CODE_OEM_CAUSE_6"/>
+		<field name="CODE_OEM_CAUSE_7"/>
+		<field name="CODE_OEM_CAUSE_8"/>
+		<field name="CODE_OEM_CAUSE_9"/>
+		<field name="CODE_RADIO_ACCESS_FAILURE"/>
+		<field name="CODE_RADIO_INTERNAL_ERROR"/>
+		<field name="CODE_RADIO_LINK_FAILURE"/>
+		<field name="CODE_RADIO_LINK_LOST"/>
+		<field name="CODE_RADIO_OFF"/>
+		<field name="CODE_RADIO_RELEASE_ABNORMAL"/>
+		<field name="CODE_RADIO_RELEASE_NORMAL"/>
+		<field name="CODE_RADIO_SETUP_FAILURE"/>
+		<field name="CODE_RADIO_UPLINK_FAILURE"/>
+		<field name="CODE_REGISTRATION_ERROR"/>
+		<field name="CODE_REJECTED_ELSEWHERE"/>
+		<field name="CODE_REJECT_1X_COLLISION"/>
+		<field name="CODE_REJECT_CALL_ON_OTHER_SUB"/>
+		<field name="CODE_REJECT_CALL_TYPE_NOT_ALLOWED"/>
+		<field name="CODE_REJECT_CONFERENCE_TTY_NOT_ALLOWED"/>
+		<field name="CODE_REJECT_INTERNAL_ERROR"/>
+		<field name="CODE_REJECT_MAX_CALL_LIMIT_REACHED"/>
+		<field name="CODE_REJECT_ONGOING_CALL_SETUP"/>
+		<field name="CODE_REJECT_ONGOING_CALL_TRANSFER"/>
+		<field name="CODE_REJECT_ONGOING_CALL_UPGRADE"/>
+		<field name="CODE_REJECT_ONGOING_CALL_WAITING_DISABLED"/>
+		<field name="CODE_REJECT_ONGOING_CONFERENCE_CALL"/>
+		<field name="CODE_REJECT_ONGOING_CS_CALL"/>
+		<field name="CODE_REJECT_ONGOING_E911_CALL"/>
+		<field name="CODE_REJECT_ONGOING_ENCRYPTED_CALL"/>
+		<field name="CODE_REJECT_ONGOING_HANDOVER"/>
+		<field name="CODE_REJECT_QOS_FAILURE"/>
+		<field name="CODE_REJECT_SERVICE_NOT_REGISTERED"/>
+		<field name="CODE_REJECT_UNKNOWN"/>
+		<field name="CODE_REJECT_UNSUPPORTED_SDP_HEADERS"/>
+		<field name="CODE_REJECT_UNSUPPORTED_SIP_HEADERS"/>
+		<field name="CODE_REJECT_VT_AVPF_NOT_ALLOWED"/>
+		<field name="CODE_REJECT_VT_TTY_NOT_ALLOWED"/>
+		<field name="CODE_REMOTE_CALL_DECLINE"/>
+		<field name="CODE_SESSION_MODIFICATION_FAILED"/>
+		<field name="CODE_SIP_ALTERNATE_EMERGENCY_CALL"/>
+		<field name="CODE_SIP_AMBIGUOUS"/>
+		<field name="CODE_SIP_BAD_ADDRESS"/>
+		<field name="CODE_SIP_BAD_REQUEST"/>
+		<field name="CODE_SIP_BUSY"/>
+		<field name="CODE_SIP_CALL_OR_TRANS_DOES_NOT_EXIST"/>
+		<field name="CODE_SIP_CLIENT_ERROR"/>
+		<field name="CODE_SIP_EXTENSION_REQUIRED"/>
+		<field name="CODE_SIP_FORBIDDEN"/>
+		<field name="CODE_SIP_GLOBAL_ERROR"/>
+		<field name="CODE_SIP_INTERVAL_TOO_BRIEF"/>
+		<field name="CODE_SIP_LOOP_DETECTED"/>
+		<field name="CODE_SIP_METHOD_NOT_ALLOWED"/>
+		<field name="CODE_SIP_NOT_ACCEPTABLE"/>
+		<field name="CODE_SIP_NOT_FOUND"/>
+		<field name="CODE_SIP_NOT_REACHABLE"/>
+		<field name="CODE_SIP_NOT_SUPPORTED"/>
+		<field name="CODE_SIP_PROXY_AUTHENTICATION_REQUIRED"/>
+		<field name="CODE_SIP_REDIRECTED"/>
+		<field name="CODE_SIP_REQUEST_CANCELLED"/>
+		<field name="CODE_SIP_REQUEST_ENTITY_TOO_LARGE"/>
+		<field name="CODE_SIP_REQUEST_PENDING"/>
+		<field name="CODE_SIP_REQUEST_TIMEOUT"/>
+		<field name="CODE_SIP_REQUEST_URI_TOO_LARGE"/>
+		<field name="CODE_SIP_SERVER_ERROR"/>
+		<field name="CODE_SIP_SERVER_INTERNAL_ERROR"/>
+		<field name="CODE_SIP_SERVER_TIMEOUT"/>
+		<field name="CODE_SIP_SERVICE_UNAVAILABLE"/>
+		<field name="CODE_SIP_TEMPRARILY_UNAVAILABLE"/>
+		<field name="CODE_SIP_TOO_MANY_HOPS"/>
+		<field name="CODE_SIP_TRANSACTION_DOES_NOT_EXIST"/>
+		<field name="CODE_SIP_UNDECIPHERABLE"/>
+		<field name="CODE_SIP_USER_MARKED_UNWANTED"/>
+		<field name="CODE_SIP_USER_REJECTED"/>
+		<field name="CODE_SUPP_SVC_CANCELLED"/>
+		<field name="CODE_SUPP_SVC_FAILED"/>
+		<field name="CODE_SUPP_SVC_REINVITE_COLLISION"/>
+		<field name="CODE_TIMEOUT_1XX_WAITING"/>
+		<field name="CODE_TIMEOUT_NO_ANSWER"/>
+		<field name="CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE"/>
+		<field name="CODE_UNSPECIFIED"/>
+		<field name="CODE_USER_CANCELLED_SESSION_MODIFICATION"/>
+		<field name="CODE_USER_DECLINE"/>
+		<field name="CODE_USER_IGNORE"/>
+		<field name="CODE_USER_NOANSWER"/>
+		<field name="CODE_USER_REJECTED_SESSION_MODIFICATION"/>
+		<field name="CODE_USER_TERMINATED"/>
+		<field name="CODE_USER_TERMINATED_BY_REMOTE"/>
+		<field name="CODE_UT_CB_PASSWORD_MISMATCH"/>
+		<field name="CODE_UT_NETWORK_ERROR"/>
+		<field name="CODE_UT_NOT_SUPPORTED"/>
+		<field name="CODE_UT_OPERATION_NOT_ALLOWED"/>
+		<field name="CODE_UT_SERVICE_UNAVAILABLE"/>
+		<field name="CODE_UT_SS_MODIFIED_TO_DIAL"/>
+		<field name="CODE_UT_SS_MODIFIED_TO_DIAL_VIDEO"/>
+		<field name="CODE_UT_SS_MODIFIED_TO_SS"/>
+		<field name="CODE_UT_SS_MODIFIED_TO_USSD"/>
+		<field name="CODE_WIFI_LOST"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_CODE_CALL_RETRY_BY_SETTINGS"/>
+		<field name="EXTRA_CODE_CALL_RETRY_EMERGENCY" since="31"/>
+		<field name="EXTRA_CODE_CALL_RETRY_NORMAL"/>
+		<field name="EXTRA_CODE_CALL_RETRY_SILENT_REDIAL"/>
+	</class>
+	<class name="android/telephony/ims/ImsRegistrationAttributes" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAttributeFlags()I"/>
+		<method name="getFeatureTags()Ljava/util/Set;"/>
+		<method name="getTransportType()I"/>
+		<field name="ATTR_EPDG_OVER_CELL_INTERNET"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/ims/RcsUceAdapter" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="isUceSettingEnabled()Z"/>
+	</class>
+	<class name="android/telephony/ims/RegistrationManager" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getRegistrationState(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="getRegistrationTransportType(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="registerImsRegistrationCallback(Ljava/util/concurrent/Executor;Landroid/telephony/ims/RegistrationManager$RegistrationCallback;)V"/>
+		<method name="unregisterImsRegistrationCallback(Landroid/telephony/ims/RegistrationManager$RegistrationCallback;)V"/>
+		<field name="REGISTRATION_STATE_NOT_REGISTERED"/>
+		<field name="REGISTRATION_STATE_REGISTERED"/>
+		<field name="REGISTRATION_STATE_REGISTERING"/>
+	</class>
+	<class name="android/telephony/ims/RegistrationManager$RegistrationCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onRegistered(I)V" deprecated="31"/>
+		<method name="onRegistered(Landroid/telephony/ims/ImsRegistrationAttributes;)V" since="31"/>
+		<method name="onRegistering(I)V" deprecated="31"/>
+		<method name="onRegistering(Landroid/telephony/ims/ImsRegistrationAttributes;)V" since="31"/>
+		<method name="onTechnologyChangeFailed(ILandroid/telephony/ims/ImsReasonInfo;)V"/>
+		<method name="onUnregistered(Landroid/telephony/ims/ImsReasonInfo;)V"/>
+	</class>
+	<class name="android/telephony/ims/feature/MmTelFeature" since="30">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/telephony/ims/feature/MmTelFeature$MmTelCapabilities" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="isCapable(I)Z" since="31"/>
+		<field name="CAPABILITY_TYPE_CALL_COMPOSER" since="31"/>
+		<field name="CAPABILITY_TYPE_SMS"/>
+		<field name="CAPABILITY_TYPE_UT"/>
+		<field name="CAPABILITY_TYPE_VIDEO"/>
+		<field name="CAPABILITY_TYPE_VOICE"/>
+	</class>
+	<class name="android/telephony/mbms/DownloadProgressListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onProgressUpdated(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;IIII)V"/>
+	</class>
+	<class name="android/telephony/mbms/DownloadRequest" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDestinationUri()Landroid/net/Uri;"/>
+		<method name="getFileServiceId()Ljava/lang/String;"/>
+		<method name="getMaxAppIntentSize()I"/>
+		<method name="getMaxDestinationUriSize()I"/>
+		<method name="getSourceUri()Landroid/net/Uri;"/>
+		<method name="getSubscriptionId()I"/>
+		<method name="toByteArray()[B"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/mbms/DownloadRequest$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/net/Uri;Landroid/net/Uri;)V"/>
+		<method name="build()Landroid/telephony/mbms/DownloadRequest;"/>
+		<method name="fromDownloadRequest(Landroid/telephony/mbms/DownloadRequest;)Landroid/telephony/mbms/DownloadRequest$Builder;"/>
+		<method name="fromSerializedRequest([B)Landroid/telephony/mbms/DownloadRequest$Builder;"/>
+		<method name="setAppIntent(Landroid/content/Intent;)Landroid/telephony/mbms/DownloadRequest$Builder;"/>
+		<method name="setServiceInfo(Landroid/telephony/mbms/FileServiceInfo;)Landroid/telephony/mbms/DownloadRequest$Builder;"/>
+		<method name="setSubscriptionId(I)Landroid/telephony/mbms/DownloadRequest$Builder;"/>
+	</class>
+	<class name="android/telephony/mbms/DownloadStatusListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onStatusUpdated(Landroid/telephony/mbms/DownloadRequest;Landroid/telephony/mbms/FileInfo;I)V"/>
+	</class>
+	<class name="android/telephony/mbms/FileInfo" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getMimeType()Ljava/lang/String;"/>
+		<method name="getUri()Landroid/net/Uri;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/mbms/FileServiceInfo" since="28">
+		<extends name="android/telephony/mbms/ServiceInfo"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getFiles()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/telephony/mbms/GroupCall" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getTmgi()J"/>
+		<method name="updateGroupCall(Ljava/util/List;Ljava/util/List;)V"/>
+		<field name="REASON_BY_USER_REQUEST"/>
+		<field name="REASON_FREQUENCY_CONFLICT"/>
+		<field name="REASON_LEFT_MBMS_BROADCAST_AREA"/>
+		<field name="REASON_NONE"/>
+		<field name="REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE"/>
+		<field name="REASON_OUT_OF_MEMORY"/>
+		<field name="STATE_STALLED"/>
+		<field name="STATE_STARTED"/>
+		<field name="STATE_STOPPED"/>
+	</class>
+	<class name="android/telephony/mbms/GroupCallCallback" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onBroadcastSignalStrengthUpdated(I)V"/>
+		<method name="onError(ILjava/lang/String;)V"/>
+		<method name="onGroupCallStateChanged(II)V"/>
+		<field name="SIGNAL_STRENGTH_UNAVAILABLE"/>
+	</class>
+	<class name="android/telephony/mbms/MbmsDownloadReceiver" since="28">
+		<extends name="android/content/BroadcastReceiver"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/telephony/mbms/MbmsDownloadSessionCallback" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onError(ILjava/lang/String;)V"/>
+		<method name="onFileServicesUpdated(Ljava/util/List;)V"/>
+		<method name="onMiddlewareReady()V"/>
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="ERROR_MIDDLEWARE_LOST"/>
+		<field name="ERROR_MIDDLEWARE_NOT_BOUND"/>
+		<field name="ERROR_NO_UNIQUE_MIDDLEWARE"/>
+		<field name="SUCCESS"/>
+		<field name="UNKNOWN"/>
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors$DownloadErrors" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="ERROR_CANNOT_CHANGE_TEMP_FILE_ROOT"/>
+		<field name="ERROR_MALFORMED_SERVICE_ANNOUNCEMENT" since="31"/>
+		<field name="ERROR_UNKNOWN_DOWNLOAD_REQUEST"/>
+		<field name="ERROR_UNKNOWN_FILE_INFO"/>
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors$GeneralErrors" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="ERROR_CARRIER_CHANGE_NOT_ALLOWED"/>
+		<field name="ERROR_IN_E911"/>
+		<field name="ERROR_MIDDLEWARE_NOT_YET_READY"/>
+		<field name="ERROR_MIDDLEWARE_TEMPORARILY_UNAVAILABLE"/>
+		<field name="ERROR_NOT_CONNECTED_TO_HOME_CARRIER_LTE"/>
+		<field name="ERROR_OUT_OF_MEMORY"/>
+		<field name="ERROR_UNABLE_TO_READ_SIM"/>
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors$GroupCallErrors" since="29">
+		<extends name="java/lang/Object"/>
+		<field name="ERROR_DUPLICATE_START_GROUP_CALL"/>
+		<field name="ERROR_UNABLE_TO_START_SERVICE"/>
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors$InitializationErrors" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="ERROR_APP_PERMISSIONS_NOT_GRANTED"/>
+		<field name="ERROR_DUPLICATE_INITIALIZE"/>
+		<field name="ERROR_UNABLE_TO_INITIALIZE"/>
+	</class>
+	<class name="android/telephony/mbms/MbmsErrors$StreamingErrors" since="28">
+		<extends name="java/lang/Object"/>
+		<field name="ERROR_CONCURRENT_SERVICE_LIMIT_REACHED"/>
+		<field name="ERROR_DUPLICATE_START_STREAM"/>
+		<field name="ERROR_UNABLE_TO_START_SERVICE"/>
+	</class>
+	<class name="android/telephony/mbms/MbmsGroupCallSessionCallback" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="onAvailableSaisUpdated(Ljava/util/List;Ljava/util/List;)V"/>
+		<method name="onError(ILjava/lang/String;)V"/>
+		<method name="onMiddlewareReady()V"/>
+		<method name="onServiceInterfaceAvailable(Ljava/lang/String;I)V"/>
+	</class>
+	<class name="android/telephony/mbms/MbmsStreamingSessionCallback" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onError(ILjava/lang/String;)V"/>
+		<method name="onMiddlewareReady()V"/>
+		<method name="onStreamingServicesUpdated(Ljava/util/List;)V"/>
+	</class>
+	<class name="android/telephony/mbms/ServiceInfo" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getLocales()Ljava/util/List;"/>
+		<method name="getNameForLocale(Ljava/util/Locale;)Ljava/lang/CharSequence;"/>
+		<method name="getNamedContentLocales()Ljava/util/Set;"/>
+		<method name="getServiceClassName()Ljava/lang/String;"/>
+		<method name="getServiceId()Ljava/lang/String;"/>
+		<method name="getSessionEndTime()Ljava/util/Date;"/>
+		<method name="getSessionStartTime()Ljava/util/Date;"/>
+	</class>
+	<class name="android/telephony/mbms/StreamingService" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="getInfo()Landroid/telephony/mbms/StreamingServiceInfo;"/>
+		<method name="getPlaybackUri()Landroid/net/Uri;"/>
+		<field name="BROADCAST_METHOD"/>
+		<field name="REASON_BY_USER_REQUEST"/>
+		<field name="REASON_END_OF_SESSION"/>
+		<field name="REASON_FREQUENCY_CONFLICT"/>
+		<field name="REASON_LEFT_MBMS_BROADCAST_AREA"/>
+		<field name="REASON_NONE"/>
+		<field name="REASON_NOT_CONNECTED_TO_HOMECARRIER_LTE"/>
+		<field name="REASON_OUT_OF_MEMORY"/>
+		<field name="STATE_STALLED"/>
+		<field name="STATE_STARTED"/>
+		<field name="STATE_STOPPED"/>
+		<field name="UNICAST_METHOD"/>
+	</class>
+	<class name="android/telephony/mbms/StreamingServiceCallback" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onBroadcastSignalStrengthUpdated(I)V"/>
+		<method name="onError(ILjava/lang/String;)V"/>
+		<method name="onMediaDescriptionUpdated()V"/>
+		<method name="onStreamMethodUpdated(I)V"/>
+		<method name="onStreamStateUpdated(II)V"/>
+		<field name="SIGNAL_STRENGTH_UNAVAILABLE"/>
+	</class>
+	<class name="android/telephony/mbms/StreamingServiceInfo" since="28">
+		<extends name="android/telephony/mbms/ServiceInfo"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/test/ActivityInstrumentationTestCase" since="1" deprecated="3">
+		<extends name="android/test/ActivityTestCase"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Class;Z)V" deprecated="33"/>
+		<method name="testActivityTestCaseSetUpProperly()V" deprecated="33"/>
+	</class>
+	<class name="android/test/ActivityInstrumentationTestCase2" since="3" deprecated="24">
+		<extends name="android/test/ActivityTestCase"/>
+		<method name="&lt;init>(Ljava/lang/Class;)V" since="8" deprecated="33"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Class;)V" deprecated="15"/>
+		<method name="setActivityInitialTouchMode(Z)V" deprecated="33"/>
+		<method name="setActivityIntent(Landroid/content/Intent;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/ActivityTestCase" since="1" deprecated="24">
+		<extends name="android/test/InstrumentationTestCase"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="getActivity()Landroid/app/Activity;" deprecated="33"/>
+		<method name="scrubClass(Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="setActivity(Landroid/app/Activity;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/ActivityUnitTestCase" since="1" deprecated="24">
+		<extends name="android/test/ActivityTestCase"/>
+		<method name="&lt;init>(Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="getFinishedActivityRequest()I" deprecated="33"/>
+		<method name="getRequestedOrientation()I" deprecated="33"/>
+		<method name="getStartedActivityIntent()Landroid/content/Intent;" deprecated="33"/>
+		<method name="getStartedActivityRequest()I" deprecated="33"/>
+		<method name="isFinishCalled()Z" deprecated="33"/>
+		<method name="setActivityContext(Landroid/content/Context;)V" deprecated="33"/>
+		<method name="setApplication(Landroid/app/Application;)V" deprecated="33"/>
+		<method name="startActivity(Landroid/content/Intent;Landroid/os/Bundle;Ljava/lang/Object;)Landroid/app/Activity;" deprecated="33"/>
+	</class>
+	<class name="android/test/AndroidTestCase" since="1" deprecated="24">
+		<extends name="junit/framework/TestCase"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="assertActivityRequiresPermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" since="4" deprecated="33"/>
+		<method name="assertReadingContentUriRequiresPermission(Landroid/net/Uri;Ljava/lang/String;)V" since="4" deprecated="33"/>
+		<method name="assertWritingContentUriRequiresPermission(Landroid/net/Uri;Ljava/lang/String;)V" since="4" deprecated="33"/>
+		<method name="getContext()Landroid/content/Context;" deprecated="33"/>
+		<method name="getTestContext()Landroid/content/Context;" since="33" deprecated="33"/>
+		<method name="scrubClass(Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="setContext(Landroid/content/Context;)V" deprecated="33"/>
+		<method name="setTestContext(Landroid/content/Context;)V" since="33" deprecated="33"/>
+		<method name="testAndroidTestCaseSetupProperly()V" deprecated="33"/>
+		<field name="mContext" deprecated="33"/>
+	</class>
+	<class name="android/test/AndroidTestRunner" since="1" deprecated="24">
+		<extends name="junit/runner/BaseTestRunner"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="addTestListener(Ljunit/framework/TestListener;)V" deprecated="33"/>
+		<method name="clearTestListeners()V" deprecated="33"/>
+		<method name="createTestResult()Ljunit/framework/TestResult;" deprecated="33"/>
+		<method name="getTestCases()Ljava/util/List;" deprecated="33"/>
+		<method name="getTestClassName()Ljava/lang/String;" deprecated="33"/>
+		<method name="getTestResult()Ljunit/framework/TestResult;" deprecated="33"/>
+		<method name="runTest()V" deprecated="33"/>
+		<method name="runTest(Ljunit/framework/TestResult;)V" deprecated="33"/>
+		<method name="setContext(Landroid/content/Context;)V" deprecated="33"/>
+		<method name="setInstrumentaiton(Landroid/app/Instrumentation;)V" deprecated="15"/>
+		<method name="setInstrumentation(Landroid/app/Instrumentation;)V" since="5" deprecated="33"/>
+		<method name="setTest(Ljunit/framework/Test;)V" deprecated="33"/>
+		<method name="setTestClassName(Ljava/lang/String;Ljava/lang/String;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/ApplicationTestCase" since="1" deprecated="24">
+		<extends name="android/test/AndroidTestCase"/>
+		<method name="&lt;init>(Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="createApplication()V" deprecated="33"/>
+		<method name="getApplication()Landroid/app/Application;" deprecated="33"/>
+		<method name="getSystemContext()Landroid/content/Context;" deprecated="33"/>
+		<method name="terminateApplication()V" deprecated="33"/>
+		<method name="testApplicationTestCaseSetUpProperly()V" deprecated="33"/>
+	</class>
+	<class name="android/test/AssertionFailedError" since="1" deprecated="16">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/ComparisonFailure" since="1" deprecated="16">
+		<extends name="android/test/AssertionFailedError"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/FlakyTest" since="1" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="tolerance()I" deprecated="33"/>
+	</class>
+	<class name="android/test/InstrumentationTestCase" since="1" deprecated="24">
+		<extends name="junit/framework/TestCase"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="getInstrumentation()Landroid/app/Instrumentation;" deprecated="33"/>
+		<method name="injectInsrumentation(Landroid/app/Instrumentation;)V" deprecated="15"/>
+		<method name="injectInstrumentation(Landroid/app/Instrumentation;)V" since="5" deprecated="33"/>
+		<method name="launchActivity(Ljava/lang/String;Ljava/lang/Class;Landroid/os/Bundle;)Landroid/app/Activity;" deprecated="33"/>
+		<method name="launchActivityWithIntent(Ljava/lang/String;Ljava/lang/Class;Landroid/content/Intent;)Landroid/app/Activity;" since="3" deprecated="33"/>
+		<method name="runTestOnUiThread(Ljava/lang/Runnable;)V" since="3" deprecated="33"/>
+		<method name="sendKeys(Ljava/lang/String;)V" deprecated="33"/>
+		<method name="sendKeys([I)V" deprecated="33"/>
+		<method name="sendRepeatedKeys([I)V" deprecated="33"/>
+	</class>
+	<class name="android/test/InstrumentationTestRunner" since="1" deprecated="24">
+		<extends name="android/app/Instrumentation"/>
+		<implements name="android/test/TestSuiteProvider"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="addTestListener(Ljunit/framework/TestListener;)V" since="33" deprecated="33"/>
+		<method name="getAllTests()Ljunit/framework/TestSuite;" deprecated="33"/>
+		<method name="getAndroidTestRunner()Landroid/test/AndroidTestRunner;" deprecated="33"/>
+		<method name="getArguments()Landroid/os/Bundle;" since="18" deprecated="33"/>
+		<method name="getLoader()Ljava/lang/ClassLoader;" deprecated="33"/>
+		<field name="REPORT_KEY_NAME_CLASS" deprecated="33"/>
+		<field name="REPORT_KEY_NAME_TEST" deprecated="33"/>
+		<field name="REPORT_KEY_NUM_CURRENT" deprecated="33"/>
+		<field name="REPORT_KEY_NUM_TOTAL" deprecated="33"/>
+		<field name="REPORT_KEY_STACK" deprecated="33"/>
+		<field name="REPORT_VALUE_ID" deprecated="33"/>
+		<field name="REPORT_VALUE_RESULT_ERROR" deprecated="33"/>
+		<field name="REPORT_VALUE_RESULT_FAILURE" deprecated="33"/>
+		<field name="REPORT_VALUE_RESULT_OK" deprecated="33"/>
+		<field name="REPORT_VALUE_RESULT_START" deprecated="33"/>
+	</class>
+	<class name="android/test/InstrumentationTestSuite" since="1" deprecated="24">
+		<extends name="junit/framework/TestSuite"/>
+		<method name="&lt;init>(Landroid/app/Instrumentation;)V" deprecated="33"/>
+		<method name="&lt;init>(Ljava/lang/Class;Landroid/app/Instrumentation;)V" deprecated="33"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/app/Instrumentation;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/IsolatedContext" since="1" deprecated="24">
+		<extends name="android/content/ContextWrapper"/>
+		<method name="&lt;init>(Landroid/content/ContentResolver;Landroid/content/Context;)V" deprecated="33"/>
+		<method name="getAndClearBroadcastIntents()Ljava/util/List;" deprecated="33"/>
+	</class>
+	<class name="android/test/LaunchPerformanceBase" since="33" deprecated="33">
+		<extends name="android/app/Instrumentation"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="LaunchApp()V" deprecated="33"/>
+		<field name="mIntent" deprecated="33"/>
+		<field name="mResults" deprecated="33"/>
+	</class>
+	<class name="android/test/LoaderTestCase" since="11">
+		<extends name="android/test/AndroidTestCase"/>
+		<method name="&lt;init>()V"/>
+		<method name="getLoaderResultSynchronously(Landroid/content/Loader;)Ljava/lang/Object;"/>
+	</class>
+	<class name="android/test/MoreAsserts" since="1" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<method name="assertAssignableFrom(Ljava/lang/Class;Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="assertAssignableFrom(Ljava/lang/Class;Ljava/lang/Object;)V" deprecated="33"/>
+		<method name="assertContainsRegex(Ljava/lang/String;Ljava/lang/String;)Ljava/util/regex/MatchResult;" deprecated="33"/>
+		<method name="assertContainsRegex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/regex/MatchResult;" deprecated="33"/>
+		<method name="assertContentsInAnyOrder(Ljava/lang/Iterable;[Ljava/lang/Object;)V" deprecated="33"/>
+		<method name="assertContentsInAnyOrder(Ljava/lang/String;Ljava/lang/Iterable;[Ljava/lang/Object;)V" deprecated="33"/>
+		<method name="assertContentsInOrder(Ljava/lang/Iterable;[Ljava/lang/Object;)V" deprecated="33"/>
+		<method name="assertContentsInOrder(Ljava/lang/String;Ljava/lang/Iterable;[Ljava/lang/Object;)V" deprecated="33"/>
+		<method name="assertEmpty(Ljava/lang/Iterable;)V" deprecated="33"/>
+		<method name="assertEmpty(Ljava/lang/String;Ljava/lang/Iterable;)V" deprecated="33"/>
+		<method name="assertEmpty(Ljava/lang/String;Ljava/util/Map;)V" deprecated="33"/>
+		<method name="assertEmpty(Ljava/util/Map;)V" deprecated="33"/>
+		<method name="assertEquals(Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;)V" deprecated="33"/>
+		<method name="assertEquals(Ljava/lang/String;[B[B)V" deprecated="33"/>
+		<method name="assertEquals(Ljava/lang/String;[D[D)V" deprecated="33"/>
+		<method name="assertEquals(Ljava/lang/String;[I[I)V" deprecated="33"/>
+		<method name="assertEquals(Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Object;)V" deprecated="33"/>
+		<method name="assertEquals(Ljava/util/Set;Ljava/util/Set;)V" deprecated="33"/>
+		<method name="assertEquals([B[B)V" deprecated="33"/>
+		<method name="assertEquals([D[D)V" deprecated="33"/>
+		<method name="assertEquals([I[I)V" deprecated="33"/>
+		<method name="assertEquals([Ljava/lang/Object;[Ljava/lang/Object;)V" deprecated="33"/>
+		<method name="assertMatchesRegex(Ljava/lang/String;Ljava/lang/String;)Ljava/util/regex/MatchResult;" deprecated="33"/>
+		<method name="assertMatchesRegex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/regex/MatchResult;" deprecated="33"/>
+		<method name="assertNotContainsRegex(Ljava/lang/String;Ljava/lang/String;)V" deprecated="33"/>
+		<method name="assertNotContainsRegex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="33"/>
+		<method name="assertNotEmpty(Ljava/lang/Iterable;)V" deprecated="33"/>
+		<method name="assertNotEmpty(Ljava/lang/String;Ljava/lang/Iterable;)V" deprecated="33"/>
+		<method name="assertNotEmpty(Ljava/lang/String;Ljava/util/Map;)V" deprecated="33"/>
+		<method name="assertNotEmpty(Ljava/util/Map;)V" deprecated="33"/>
+		<method name="assertNotEqual(Ljava/lang/Object;Ljava/lang/Object;)V" deprecated="33"/>
+		<method name="assertNotEqual(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" deprecated="33"/>
+		<method name="assertNotMatchesRegex(Ljava/lang/String;Ljava/lang/String;)V" deprecated="33"/>
+		<method name="assertNotMatchesRegex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="33"/>
+		<method name="checkEqualsAndHashCodeMethods(Ljava/lang/Object;Ljava/lang/Object;Z)V" deprecated="33"/>
+		<method name="checkEqualsAndHashCodeMethods(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Z)V" deprecated="33"/>
+	</class>
+	<class name="android/test/PerformanceTestCase" since="1" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<method name="isPerformanceOnly()Z" deprecated="33"/>
+		<method name="startPerformance(Landroid/test/PerformanceTestCase$Intermediates;)I" deprecated="33"/>
+	</class>
+	<class name="android/test/PerformanceTestCase$Intermediates" since="1" deprecated="33">
+		<extends name="java/lang/Object"/>
+		<method name="addIntermediate(Ljava/lang/String;)V" deprecated="33"/>
+		<method name="addIntermediate(Ljava/lang/String;J)V" deprecated="33"/>
+		<method name="finishTiming(Z)V" deprecated="33"/>
+		<method name="setInternalIterations(I)V" deprecated="33"/>
+		<method name="startTiming(Z)V" deprecated="33"/>
+	</class>
+	<class name="android/test/ProviderTestCase" since="1" deprecated="5">
+		<extends name="android/test/InstrumentationTestCase"/>
+		<method name="&lt;init>(Ljava/lang/Class;Ljava/lang/String;)V" deprecated="33"/>
+		<method name="getMockContentResolver()Landroid/test/mock/MockContentResolver;" deprecated="33"/>
+		<method name="getMockContext()Landroid/test/IsolatedContext;" deprecated="33"/>
+		<method name="getProvider()Landroid/content/ContentProvider;" deprecated="33"/>
+		<method name="newResolverWithContentProviderFromSql(Landroid/content/Context;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentResolver;" deprecated="33"/>
+	</class>
+	<class name="android/test/ProviderTestCase2" since="3">
+		<extends name="android/test/AndroidTestCase"/>
+		<method name="&lt;init>(Ljava/lang/Class;Ljava/lang/String;)V"/>
+		<method name="getMockContentResolver()Landroid/test/mock/MockContentResolver;"/>
+		<method name="getMockContext()Landroid/test/IsolatedContext;"/>
+		<method name="getProvider()Landroid/content/ContentProvider;"/>
+		<method name="newResolverWithContentProviderFromSql(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/content/ContentResolver;"/>
+	</class>
+	<class name="android/test/RenamingDelegatingContext" since="1" deprecated="24">
+		<extends name="android/content/ContextWrapper"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/content/Context;Ljava/lang/String;)V" deprecated="33"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;)V" deprecated="33"/>
+		<method name="getDatabasePrefix()Ljava/lang/String;" deprecated="33"/>
+		<method name="makeExistingFilesAndDbsAccessible()V" deprecated="33"/>
+		<method name="providerWithRenamedContext(Ljava/lang/Class;Landroid/content/Context;Ljava/lang/String;)Landroid/content/ContentProvider;" deprecated="33"/>
+		<method name="providerWithRenamedContext(Ljava/lang/Class;Landroid/content/Context;Ljava/lang/String;Z)Landroid/content/ContentProvider;" deprecated="33"/>
+	</class>
+	<class name="android/test/RepetitiveTest" since="33" deprecated="33">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="numIterations()I" deprecated="33"/>
+	</class>
+	<class name="android/test/ServiceTestCase" since="1" deprecated="24">
+		<extends name="android/test/AndroidTestCase"/>
+		<method name="&lt;init>(Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="bindService(Landroid/content/Intent;)Landroid/os/IBinder;" deprecated="33"/>
+		<method name="getApplication()Landroid/app/Application;" deprecated="33"/>
+		<method name="getService()Landroid/app/Service;" deprecated="33"/>
+		<method name="getSystemContext()Landroid/content/Context;" deprecated="33"/>
+		<method name="setApplication(Landroid/app/Application;)V" deprecated="33"/>
+		<method name="setupService()V" deprecated="33"/>
+		<method name="shutdownService()V" deprecated="33"/>
+		<method name="startService(Landroid/content/Intent;)V" deprecated="33"/>
+		<method name="testServiceTestCaseSetUpProperly()V" deprecated="33"/>
+	</class>
+	<class name="android/test/SingleLaunchActivityTestCase" since="1" deprecated="24">
+		<extends name="android/test/InstrumentationTestCase"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="getActivity()Landroid/app/Activity;" deprecated="33"/>
+		<method name="testActivityTestCaseSetUpProperly()V" deprecated="33"/>
+	</class>
+	<class name="android/test/SyncBaseInstrumentation" since="1" deprecated="24">
+		<extends name="android/test/InstrumentationTestCase"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="cancelSyncsandDisableAutoSync()V" deprecated="33"/>
+		<method name="syncProvider(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/TestSuiteProvider" since="1" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<method name="getTestSuite()Ljunit/framework/TestSuite;" deprecated="33"/>
+	</class>
+	<class name="android/test/TouchUtils" since="1" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="clickView(Landroid/test/InstrumentationTestCase;Landroid/view/View;)V" deprecated="33"/>
+		<method name="drag(Landroid/test/ActivityInstrumentationTestCase;FFFFI)V" deprecated="15"/>
+		<method name="drag(Landroid/test/InstrumentationTestCase;FFFFI)V" since="3" deprecated="33"/>
+		<method name="dragQuarterScreenDown(Landroid/test/ActivityInstrumentationTestCase;)V" deprecated="15"/>
+		<method name="dragQuarterScreenDown(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;)V" since="3" deprecated="33"/>
+		<method name="dragQuarterScreenUp(Landroid/test/ActivityInstrumentationTestCase;)V" deprecated="15"/>
+		<method name="dragQuarterScreenUp(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;)V" since="3" deprecated="33"/>
+		<method name="dragViewBy(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;III)I" deprecated="15"/>
+		<method name="dragViewBy(Landroid/test/InstrumentationTestCase;Landroid/view/View;III)I" since="3" deprecated="15"/>
+		<method name="dragViewTo(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;III)I" deprecated="15"/>
+		<method name="dragViewTo(Landroid/test/InstrumentationTestCase;Landroid/view/View;III)I" since="3" deprecated="33"/>
+		<method name="dragViewToBottom(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;)V" deprecated="15"/>
+		<method name="dragViewToBottom(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;I)V" deprecated="15"/>
+		<method name="dragViewToBottom(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;Landroid/view/View;)V" since="3" deprecated="33"/>
+		<method name="dragViewToBottom(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;Landroid/view/View;I)V" since="3" deprecated="33"/>
+		<method name="dragViewToTop(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;)V" deprecated="15"/>
+		<method name="dragViewToTop(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;I)V" deprecated="15"/>
+		<method name="dragViewToTop(Landroid/test/InstrumentationTestCase;Landroid/view/View;)V" since="3" deprecated="33"/>
+		<method name="dragViewToTop(Landroid/test/InstrumentationTestCase;Landroid/view/View;I)V" since="3" deprecated="33"/>
+		<method name="dragViewToX(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;II)I" deprecated="15"/>
+		<method name="dragViewToX(Landroid/test/InstrumentationTestCase;Landroid/view/View;II)I" since="3" deprecated="33"/>
+		<method name="dragViewToY(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;II)I" deprecated="15"/>
+		<method name="dragViewToY(Landroid/test/InstrumentationTestCase;Landroid/view/View;II)I" since="3" deprecated="33"/>
+		<method name="longClickView(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/View;)V" deprecated="15"/>
+		<method name="longClickView(Landroid/test/InstrumentationTestCase;Landroid/view/View;)V" since="3" deprecated="33"/>
+		<method name="scrollToBottom(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/ViewGroup;)V" deprecated="15"/>
+		<method name="scrollToBottom(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;Landroid/view/ViewGroup;)V" since="3" deprecated="33"/>
+		<method name="scrollToTop(Landroid/test/ActivityInstrumentationTestCase;Landroid/view/ViewGroup;)V" deprecated="15"/>
+		<method name="scrollToTop(Landroid/test/InstrumentationTestCase;Landroid/app/Activity;Landroid/view/ViewGroup;)V" since="3" deprecated="33"/>
+		<method name="tapView(Landroid/test/InstrumentationTestCase;Landroid/view/View;)V" deprecated="33"/>
+		<method name="touchAndCancelView(Landroid/test/InstrumentationTestCase;Landroid/view/View;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/UiThreadTest" since="1" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="android/test/ViewAsserts" since="1" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<method name="assertBaselineAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertBottomAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertBottomAligned(Landroid/view/View;Landroid/view/View;I)V" deprecated="33"/>
+		<method name="assertGroupContains(Landroid/view/ViewGroup;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertGroupIntegrity(Landroid/view/ViewGroup;)V" deprecated="33"/>
+		<method name="assertGroupNotContains(Landroid/view/ViewGroup;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertHasScreenCoordinates(Landroid/view/View;Landroid/view/View;II)V" deprecated="33"/>
+		<method name="assertHorizontalCenterAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertLeftAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertLeftAligned(Landroid/view/View;Landroid/view/View;I)V" deprecated="33"/>
+		<method name="assertOffScreenAbove(Landroid/view/View;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertOffScreenBelow(Landroid/view/View;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertOnScreen(Landroid/view/View;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertRightAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertRightAligned(Landroid/view/View;Landroid/view/View;I)V" deprecated="33"/>
+		<method name="assertTopAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33"/>
+		<method name="assertTopAligned(Landroid/view/View;Landroid/view/View;I)V" deprecated="33"/>
+		<method name="assertVerticalCenterAligned(Landroid/view/View;Landroid/view/View;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/mock/MockAccountManager" since="33" deprecated="33">
+		<extends name="java/lang/Object"/>
+		<method name="newMockAccountManager(Landroid/content/Context;)Landroid/accounts/AccountManager;" deprecated="33"/>
+	</class>
+	<class name="android/test/mock/MockApplication" since="1" deprecated="24">
+		<extends name="android/app/Application"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+	</class>
+	<class name="android/test/mock/MockContentProvider" since="8">
+		<extends name="android/content/ContentProvider"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;[Landroid/content/pm/PathPermission;)V"/>
+		<method name="attachInfoForTesting(Landroid/content/ContentProvider;Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V" since="33" deprecated="33"/>
+	</class>
+	<class name="android/test/mock/MockContentResolver" since="1">
+		<extends name="android/content/ContentResolver"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" since="18"/>
+		<method name="addProvider(Ljava/lang/String;Landroid/content/ContentProvider;)V"/>
+	</class>
+	<class name="android/test/mock/MockContext" since="1">
+		<extends name="android/content/Context"/>
+		<method name="&lt;init>()V"/>
+		<method name="getPackageCodePath()Ljava/lang/String;"/>
+		<method name="getPackageResourcePath()Ljava/lang/String;"/>
+	</class>
+	<class name="android/test/mock/MockCursor" since="8" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/database/Cursor"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="abortUpdates()V" removed="11"/>
+		<method name="commitUpdates()Z" removed="11"/>
+		<method name="commitUpdates(Ljava/util/Map;)Z" removed="11"/>
+		<method name="deleteRow()Z" removed="11"/>
+		<method name="hasUpdates()Z" removed="11"/>
+		<method name="supportsUpdates()Z" removed="11"/>
+		<method name="updateBlob(I[B)Z" removed="11"/>
+		<method name="updateDouble(ID)Z" removed="11"/>
+		<method name="updateFloat(IF)Z" removed="11"/>
+		<method name="updateInt(II)Z" removed="11"/>
+		<method name="updateLong(IJ)Z" removed="11"/>
+		<method name="updateShort(IS)Z" removed="11"/>
+		<method name="updateString(ILjava/lang/String;)Z" removed="11"/>
+		<method name="updateToNull(I)Z" removed="11"/>
+	</class>
+	<class name="android/test/mock/MockDialogInterface" since="1" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/content/DialogInterface"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+	</class>
+	<class name="android/test/mock/MockPackageManager" since="1" deprecated="24">
+		<extends name="android/content/pm/PackageManager"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+		<method name="getAllIntentFilters(Ljava/lang/String;)Ljava/util/List;" since="23" deprecated="33"/>
+		<method name="getDefaultBrowserPackageName(I)Ljava/lang/String;" since="23" removed="24"/>
+		<method name="resolveServiceAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;" since="33" deprecated="33"/>
+		<method name="setDefaultBrowserPackageName(Ljava/lang/String;I)Z" since="23" removed="24"/>
+		<method name="setPackageObbPath(Ljava/lang/String;Ljava/lang/String;)V" since="9" removed="10"/>
+	</class>
+	<class name="android/test/mock/MockResources" since="1" deprecated="24">
+		<extends name="android/content/res/Resources"/>
+		<method name="&lt;init>()V" deprecated="33"/>
+	</class>
+	<class name="android/test/mock/MockService" since="33" deprecated="33">
+		<extends name="java/lang/Object"/>
+		<method name="attachForTesting(Landroid/app/Service;Landroid/content/Context;Ljava/lang/String;Landroid/app/Application;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/suitebuilder/TestMethod" since="1" deprecated="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Class;)V" since="3" deprecated="33"/>
+		<method name="&lt;init>(Ljava/lang/reflect/Method;Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="&lt;init>(Ljunit/framework/TestCase;)V" since="3" deprecated="33"/>
+		<method name="createTest()Ljunit/framework/TestCase;" deprecated="33"/>
+		<method name="getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;" deprecated="33"/>
+		<method name="getEnclosingClass()Ljava/lang/Class;" deprecated="33"/>
+		<method name="getEnclosingClassname()Ljava/lang/String;" deprecated="33"/>
+		<method name="getName()Ljava/lang/String;" deprecated="33"/>
+	</class>
+	<class name="android/test/suitebuilder/TestSuiteBuilder" since="1" deprecated="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/ClassLoader;)V" deprecated="33"/>
+		<method name="addRequirements(Ljava/util/List;)Landroid/test/suitebuilder/TestSuiteBuilder;" removed="28"/>
+		<method name="addRequirements([Lcom/android/internal/util/Predicate;)Landroid/test/suitebuilder/TestSuiteBuilder;" removed="28"/>
+		<method name="build()Ljunit/framework/TestSuite;" deprecated="33"/>
+		<method name="excludePackages([Ljava/lang/String;)Landroid/test/suitebuilder/TestSuiteBuilder;" deprecated="33"/>
+		<method name="getSuiteName()Ljava/lang/String;" deprecated="33"/>
+		<method name="includeAllPackagesUnderHere()Landroid/test/suitebuilder/TestSuiteBuilder;" deprecated="33"/>
+		<method name="includePackages([Ljava/lang/String;)Landroid/test/suitebuilder/TestSuiteBuilder;" deprecated="33"/>
+		<method name="named(Ljava/lang/String;)Landroid/test/suitebuilder/TestSuiteBuilder;" deprecated="33"/>
+	</class>
+	<class name="android/test/suitebuilder/TestSuiteBuilder$FailedToCreateTests" since="1" deprecated="26">
+		<extends name="junit/framework/TestCase"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V" deprecated="33"/>
+		<method name="testSuiteConstructionFailed()V" deprecated="33"/>
+	</class>
+	<class name="android/test/suitebuilder/UnitTestSuiteBuilder" since="33" deprecated="33">
+		<extends name="android/test/suitebuilder/TestSuiteBuilder"/>
+		<method name="&lt;init>(Ljava/lang/Class;)V" deprecated="33"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/ClassLoader;)V" deprecated="33"/>
+	</class>
+	<class name="android/test/suitebuilder/annotation/LargeTest" since="2" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="android/test/suitebuilder/annotation/MediumTest" since="2" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="android/test/suitebuilder/annotation/SmallTest" since="2" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="android/test/suitebuilder/annotation/Smoke" since="1" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="android/test/suitebuilder/annotation/Suppress" since="1" deprecated="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="android/text/AlteredCharSequence" since="1" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/GetChars"/>
+		<implements name="java/lang/CharSequence"/>
+		<method name="make(Ljava/lang/CharSequence;[CII)Landroid/text/AlteredCharSequence;" deprecated="30"/>
+	</class>
+	<class name="android/text/AndroidCharacter" since="1" deprecated="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="getDirectionalities([C[BI)V" deprecated="29"/>
+		<method name="getEastAsianWidth(C)I" since="8" deprecated="29"/>
+		<method name="getEastAsianWidths([CII[B)V" since="8" deprecated="29"/>
+		<method name="getMirror(C)C" deprecated="29"/>
+		<method name="mirror([CII)Z" deprecated="29"/>
+		<field name="EAST_ASIAN_WIDTH_AMBIGUOUS" since="8" deprecated="29"/>
+		<field name="EAST_ASIAN_WIDTH_FULL_WIDTH" since="8" deprecated="29"/>
+		<field name="EAST_ASIAN_WIDTH_HALF_WIDTH" since="8" deprecated="29"/>
+		<field name="EAST_ASIAN_WIDTH_NARROW" since="8" deprecated="29"/>
+		<field name="EAST_ASIAN_WIDTH_NEUTRAL" since="8" deprecated="29"/>
+		<field name="EAST_ASIAN_WIDTH_WIDE" since="8" deprecated="29"/>
+	</class>
+	<class name="android/text/Annotation" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getKey()Ljava/lang/String;"/>
+		<method name="getValue()Ljava/lang/String;"/>
+	</class>
+	<class name="android/text/AutoText" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="get(Ljava/lang/CharSequence;IILandroid/view/View;)Ljava/lang/String;"/>
+		<method name="getSize(Landroid/view/View;)I" since="3"/>
+	</class>
+	<class name="android/text/BidiFormatter" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="getInstance()Landroid/text/BidiFormatter;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/text/BidiFormatter;"/>
+		<method name="getInstance(Z)Landroid/text/BidiFormatter;"/>
+		<method name="getStereoReset()Z"/>
+		<method name="isRtl(Ljava/lang/CharSequence;)Z" since="26"/>
+		<method name="isRtl(Ljava/lang/String;)Z"/>
+		<method name="isRtlContext()Z"/>
+		<method name="unicodeWrap(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;" since="26"/>
+		<method name="unicodeWrap(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;)Ljava/lang/CharSequence;" since="26"/>
+		<method name="unicodeWrap(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;Z)Ljava/lang/CharSequence;" since="26"/>
+		<method name="unicodeWrap(Ljava/lang/CharSequence;Z)Ljava/lang/CharSequence;" since="26"/>
+		<method name="unicodeWrap(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="unicodeWrap(Ljava/lang/String;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;"/>
+		<method name="unicodeWrap(Ljava/lang/String;Landroid/text/TextDirectionHeuristic;Z)Ljava/lang/String;"/>
+		<method name="unicodeWrap(Ljava/lang/String;Z)Ljava/lang/String;"/>
+	</class>
+	<class name="android/text/BidiFormatter$Builder" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Z)V"/>
+		<method name="build()Landroid/text/BidiFormatter;"/>
+		<method name="setTextDirectionHeuristic(Landroid/text/TextDirectionHeuristic;)Landroid/text/BidiFormatter$Builder;"/>
+		<method name="stereoReset(Z)Landroid/text/BidiFormatter$Builder;"/>
+	</class>
+	<class name="android/text/BoringLayout" since="1">
+		<extends name="android/text/Layout"/>
+		<implements name="android/text/TextUtils$EllipsizeCallback"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)V"/>
+		<method name="isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;)Landroid/text/BoringLayout$Metrics;"/>
+		<method name="isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;"/>
+		<method name="make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;"/>
+		<method name="make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;"/>
+		<method name="replaceOrMake(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;"/>
+		<method name="replaceOrMake(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;"/>
+	</class>
+	<class name="android/text/BoringLayout$Metrics" since="1">
+		<extends name="android/graphics/Paint$FontMetricsInt"/>
+		<method name="&lt;init>()V"/>
+		<field name="width"/>
+	</class>
+	<class name="android/text/ClipboardManager" since="1" deprecated="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" since="11" deprecated="29"/>
+		<method name="getText()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="hasText()Z" deprecated="29"/>
+		<method name="setText(Ljava/lang/CharSequence;)V" deprecated="29"/>
+	</class>
+	<class name="android/text/DynamicLayout" since="1">
+		<extends name="android/text/Layout"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V" deprecated="28"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V" deprecated="28"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZLandroid/text/TextUtils$TruncateAt;I)V" deprecated="28"/>
+	</class>
+	<class name="android/text/DynamicLayout$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="build()Landroid/text/DynamicLayout;"/>
+		<method name="obtain(Ljava/lang/CharSequence;Landroid/text/TextPaint;I)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setAlignment(Landroid/text/Layout$Alignment;)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setBreakStrategy(I)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setDisplayText(Ljava/lang/CharSequence;)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setEllipsize(Landroid/text/TextUtils$TruncateAt;)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setEllipsizedWidth(I)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setHyphenationFrequency(I)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setIncludePad(Z)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setJustificationMode(I)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setLineSpacing(FF)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setTextDirection(Landroid/text/TextDirectionHeuristic;)Landroid/text/DynamicLayout$Builder;"/>
+		<method name="setUseLineSpacingFromFallbacks(Z)Landroid/text/DynamicLayout$Builder;"/>
+	</class>
+	<class name="android/text/Editable" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/GetChars"/>
+		<implements name="android/text/Spannable"/>
+		<implements name="java/lang/Appendable"/>
+		<implements name="java/lang/CharSequence"/>
+		<method name="append(C)Landroid/text/Editable;"/>
+		<method name="append(Ljava/lang/CharSequence;)Landroid/text/Editable;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Landroid/text/Editable;"/>
+		<method name="clear()V"/>
+		<method name="clearSpans()V"/>
+		<method name="delete(II)Landroid/text/Editable;"/>
+		<method name="getFilters()[Landroid/text/InputFilter;"/>
+		<method name="insert(ILjava/lang/CharSequence;)Landroid/text/Editable;"/>
+		<method name="insert(ILjava/lang/CharSequence;II)Landroid/text/Editable;"/>
+		<method name="replace(IILjava/lang/CharSequence;)Landroid/text/Editable;"/>
+		<method name="replace(IILjava/lang/CharSequence;II)Landroid/text/Editable;"/>
+		<method name="setFilters([Landroid/text/InputFilter;)V"/>
+	</class>
+	<class name="android/text/Editable$Factory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getInstance()Landroid/text/Editable$Factory;"/>
+		<method name="newEditable(Ljava/lang/CharSequence;)Landroid/text/Editable;"/>
+	</class>
+	<class name="android/text/GetChars" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/CharSequence"/>
+		<method name="getChars(II[CI)V"/>
+	</class>
+	<class name="android/text/Html" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="escapeHtml(Ljava/lang/CharSequence;)Ljava/lang/String;" since="16"/>
+		<method name="fromHtml(Ljava/lang/String;)Landroid/text/Spanned;" deprecated="24"/>
+		<method name="fromHtml(Ljava/lang/String;I)Landroid/text/Spanned;" since="24"/>
+		<method name="fromHtml(Ljava/lang/String;ILandroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned;" since="24"/>
+		<method name="fromHtml(Ljava/lang/String;Landroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned;" deprecated="24"/>
+		<method name="toHtml(Landroid/text/Spanned;)Ljava/lang/String;" deprecated="24"/>
+		<method name="toHtml(Landroid/text/Spanned;I)Ljava/lang/String;" since="24"/>
+		<field name="FROM_HTML_MODE_COMPACT" since="24"/>
+		<field name="FROM_HTML_MODE_LEGACY" since="24"/>
+		<field name="FROM_HTML_OPTION_USE_CSS_COLORS" since="24"/>
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE" since="24"/>
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_DIV" since="24"/>
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_HEADING" since="24"/>
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_LIST" since="24"/>
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM" since="24"/>
+		<field name="FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH" since="24"/>
+		<field name="TO_HTML_PARAGRAPH_LINES_CONSECUTIVE" since="24"/>
+		<field name="TO_HTML_PARAGRAPH_LINES_INDIVIDUAL" since="24"/>
+	</class>
+	<class name="android/text/Html$ImageGetter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getDrawable(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;"/>
+	</class>
+	<class name="android/text/Html$TagHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="handleTag(ZLjava/lang/String;Landroid/text/Editable;Lorg/xml/sax/XMLReader;)V"/>
+	</class>
+	<class name="android/text/InputFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;"/>
+	</class>
+	<class name="android/text/InputFilter$AllCaps" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/InputFilter"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V" since="27"/>
+	</class>
+	<class name="android/text/InputFilter$LengthFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/InputFilter"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getMax()I" since="21"/>
+	</class>
+	<class name="android/text/InputType" since="3">
+		<extends name="java/lang/Object"/>
+		<field name="TYPE_CLASS_DATETIME"/>
+		<field name="TYPE_CLASS_NUMBER"/>
+		<field name="TYPE_CLASS_PHONE"/>
+		<field name="TYPE_CLASS_TEXT"/>
+		<field name="TYPE_DATETIME_VARIATION_DATE"/>
+		<field name="TYPE_DATETIME_VARIATION_NORMAL"/>
+		<field name="TYPE_DATETIME_VARIATION_TIME"/>
+		<field name="TYPE_MASK_CLASS"/>
+		<field name="TYPE_MASK_FLAGS"/>
+		<field name="TYPE_MASK_VARIATION"/>
+		<field name="TYPE_NULL"/>
+		<field name="TYPE_NUMBER_FLAG_DECIMAL"/>
+		<field name="TYPE_NUMBER_FLAG_SIGNED"/>
+		<field name="TYPE_NUMBER_VARIATION_NORMAL" since="11"/>
+		<field name="TYPE_NUMBER_VARIATION_PASSWORD" since="11"/>
+		<field name="TYPE_TEXT_FLAG_AUTO_COMPLETE"/>
+		<field name="TYPE_TEXT_FLAG_AUTO_CORRECT"/>
+		<field name="TYPE_TEXT_FLAG_CAP_CHARACTERS"/>
+		<field name="TYPE_TEXT_FLAG_CAP_SENTENCES"/>
+		<field name="TYPE_TEXT_FLAG_CAP_WORDS"/>
+		<field name="TYPE_TEXT_FLAG_IME_MULTI_LINE"/>
+		<field name="TYPE_TEXT_FLAG_MULTI_LINE"/>
+		<field name="TYPE_TEXT_FLAG_NO_SUGGESTIONS" since="5"/>
+		<field name="TYPE_TEXT_VARIATION_EMAIL_ADDRESS"/>
+		<field name="TYPE_TEXT_VARIATION_EMAIL_SUBJECT"/>
+		<field name="TYPE_TEXT_VARIATION_FILTER"/>
+		<field name="TYPE_TEXT_VARIATION_LONG_MESSAGE"/>
+		<field name="TYPE_TEXT_VARIATION_NORMAL"/>
+		<field name="TYPE_TEXT_VARIATION_PASSWORD"/>
+		<field name="TYPE_TEXT_VARIATION_PERSON_NAME"/>
+		<field name="TYPE_TEXT_VARIATION_PHONETIC"/>
+		<field name="TYPE_TEXT_VARIATION_POSTAL_ADDRESS"/>
+		<field name="TYPE_TEXT_VARIATION_SHORT_MESSAGE"/>
+		<field name="TYPE_TEXT_VARIATION_URI"/>
+		<field name="TYPE_TEXT_VARIATION_VISIBLE_PASSWORD"/>
+		<field name="TYPE_TEXT_VARIATION_WEB_EDIT_TEXT"/>
+		<field name="TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS" since="11"/>
+		<field name="TYPE_TEXT_VARIATION_WEB_PASSWORD" since="11"/>
+	</class>
+	<class name="android/text/Layout" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V"/>
+		<method name="draw(Landroid/graphics/Canvas;)V"/>
+		<method name="draw(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V"/>
+		<method name="getAlignment()Landroid/text/Layout$Alignment;"/>
+		<method name="getBottomPadding()I"/>
+		<method name="getCursorPath(ILandroid/graphics/Path;Ljava/lang/CharSequence;)V"/>
+		<method name="getDesiredWidth(Ljava/lang/CharSequence;IILandroid/text/TextPaint;)F"/>
+		<method name="getDesiredWidth(Ljava/lang/CharSequence;Landroid/text/TextPaint;)F"/>
+		<method name="getEllipsisCount(I)I"/>
+		<method name="getEllipsisStart(I)I"/>
+		<method name="getEllipsizedWidth()I"/>
+		<method name="getHeight()I"/>
+		<method name="getLineAscent(I)I"/>
+		<method name="getLineBaseline(I)I"/>
+		<method name="getLineBottom(I)I"/>
+		<method name="getLineBounds(ILandroid/graphics/Rect;)I"/>
+		<method name="getLineContainsTab(I)Z"/>
+		<method name="getLineCount()I"/>
+		<method name="getLineDescent(I)I"/>
+		<method name="getLineDirections(I)Landroid/text/Layout$Directions;"/>
+		<method name="getLineEnd(I)I"/>
+		<method name="getLineForOffset(I)I"/>
+		<method name="getLineForVertical(I)I"/>
+		<method name="getLineLeft(I)F"/>
+		<method name="getLineMax(I)F"/>
+		<method name="getLineRight(I)F"/>
+		<method name="getLineStart(I)I"/>
+		<method name="getLineTop(I)I"/>
+		<method name="getLineVisibleEnd(I)I"/>
+		<method name="getLineWidth(I)F"/>
+		<method name="getOffsetForHorizontal(IF)I"/>
+		<method name="getOffsetToLeftOf(I)I"/>
+		<method name="getOffsetToRightOf(I)I"/>
+		<method name="getPaint()Landroid/text/TextPaint;"/>
+		<method name="getParagraphAlignment(I)Landroid/text/Layout$Alignment;"/>
+		<method name="getParagraphDirection(I)I"/>
+		<method name="getParagraphLeft(I)I"/>
+		<method name="getParagraphRight(I)I"/>
+		<method name="getPrimaryHorizontal(I)F"/>
+		<method name="getSecondaryHorizontal(I)F"/>
+		<method name="getSelectionPath(IILandroid/graphics/Path;)V"/>
+		<method name="getSpacingAdd()F"/>
+		<method name="getSpacingMultiplier()F"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<method name="getTopPadding()I"/>
+		<method name="getWidth()I"/>
+		<method name="increaseWidthTo(I)V"/>
+		<method name="isRtlCharAt(I)Z" since="14"/>
+		<method name="isSpanned()Z"/>
+		<field name="BREAK_STRATEGY_BALANCED" since="23"/>
+		<field name="BREAK_STRATEGY_HIGH_QUALITY" since="23"/>
+		<field name="BREAK_STRATEGY_SIMPLE" since="23"/>
+		<field name="DEFAULT_LINESPACING_ADDITION" since="28"/>
+		<field name="DEFAULT_LINESPACING_MULTIPLIER" since="28"/>
+		<field name="DIR_LEFT_TO_RIGHT"/>
+		<field name="DIR_RIGHT_TO_LEFT"/>
+		<field name="HYPHENATION_FREQUENCY_FULL" since="23"/>
+		<field name="HYPHENATION_FREQUENCY_NONE" since="23"/>
+		<field name="HYPHENATION_FREQUENCY_NORMAL" since="23"/>
+		<field name="JUSTIFICATION_MODE_INTER_WORD" since="26"/>
+		<field name="JUSTIFICATION_MODE_NONE" since="26"/>
+	</class>
+	<class name="android/text/Layout$Alignment" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/text/Layout$Alignment;"/>
+		<method name="values()[Landroid/text/Layout$Alignment;"/>
+		<field name="ALIGN_CENTER"/>
+		<field name="ALIGN_LEFT" since="28" removed="29"/>
+		<field name="ALIGN_NORMAL"/>
+		<field name="ALIGN_OPPOSITE"/>
+		<field name="ALIGN_RIGHT" since="28" removed="29"/>
+	</class>
+	<class name="android/text/Layout$Directions" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/text/LoginFilter" since="1" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/InputFilter"/>
+		<method name="isAllowed(C)Z" deprecated="30"/>
+		<method name="onInvalidCharacter(C)V" deprecated="30"/>
+		<method name="onStart()V" deprecated="30"/>
+		<method name="onStop()V" deprecated="30"/>
+	</class>
+	<class name="android/text/LoginFilter$PasswordFilterGMail" since="1" deprecated="30">
+		<extends name="android/text/LoginFilter"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="&lt;init>(Z)V" deprecated="30"/>
+	</class>
+	<class name="android/text/LoginFilter$UsernameFilterGMail" since="1" deprecated="30">
+		<extends name="android/text/LoginFilter"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="&lt;init>(Z)V" deprecated="30"/>
+	</class>
+	<class name="android/text/LoginFilter$UsernameFilterGeneric" since="1" deprecated="30">
+		<extends name="android/text/LoginFilter"/>
+		<method name="&lt;init>()V" deprecated="30"/>
+		<method name="&lt;init>(Z)V" deprecated="30"/>
+	</class>
+	<class name="android/text/NoCopySpan" since="3">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/text/NoCopySpan$Concrete" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/NoCopySpan"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/text/ParcelableSpan" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getSpanTypeId()I"/>
+	</class>
+	<class name="android/text/PrecomputedText" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/Spannable"/>
+		<method name="create(Ljava/lang/CharSequence;Landroid/text/PrecomputedText$Params;)Landroid/text/PrecomputedText;"/>
+		<method name="getBounds(IILandroid/graphics/Rect;)V"/>
+		<method name="getParagraphCount()I"/>
+		<method name="getParagraphEnd(I)I"/>
+		<method name="getParagraphStart(I)I"/>
+		<method name="getParams()Landroid/text/PrecomputedText$Params;"/>
+		<method name="getWidth(II)F"/>
+	</class>
+	<class name="android/text/PrecomputedText$Params" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getBreakStrategy()I"/>
+		<method name="getHyphenationFrequency()I"/>
+		<method name="getTextDirection()Landroid/text/TextDirectionHeuristic;"/>
+		<method name="getTextPaint()Landroid/text/TextPaint;"/>
+	</class>
+	<class name="android/text/PrecomputedText$Params$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/text/PrecomputedText$Params;)V" since="29"/>
+		<method name="&lt;init>(Landroid/text/TextPaint;)V"/>
+		<method name="build()Landroid/text/PrecomputedText$Params;"/>
+		<method name="setBreakStrategy(I)Landroid/text/PrecomputedText$Params$Builder;"/>
+		<method name="setHyphenationFrequency(I)Landroid/text/PrecomputedText$Params$Builder;"/>
+		<method name="setTextDirection(Landroid/text/TextDirectionHeuristic;)Landroid/text/PrecomputedText$Params$Builder;"/>
+	</class>
+	<class name="android/text/Selection" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="extendDown(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="extendLeft(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="extendRight(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="extendSelection(Landroid/text/Spannable;I)V"/>
+		<method name="extendToLeftEdge(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="extendToRightEdge(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="extendUp(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="getSelectionEnd(Ljava/lang/CharSequence;)I"/>
+		<method name="getSelectionStart(Ljava/lang/CharSequence;)I"/>
+		<method name="moveDown(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="moveLeft(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="moveRight(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="moveToLeftEdge(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="moveToRightEdge(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="moveUp(Landroid/text/Spannable;Landroid/text/Layout;)Z"/>
+		<method name="removeSelection(Landroid/text/Spannable;)V"/>
+		<method name="selectAll(Landroid/text/Spannable;)V"/>
+		<method name="setSelection(Landroid/text/Spannable;I)V"/>
+		<method name="setSelection(Landroid/text/Spannable;II)V"/>
+		<field name="SELECTION_END"/>
+		<field name="SELECTION_START"/>
+	</class>
+	<class name="android/text/SpanWatcher" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/NoCopySpan" since="3"/>
+		<method name="onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V"/>
+		<method name="onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V"/>
+		<method name="onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V"/>
+	</class>
+	<class name="android/text/Spannable" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/Spanned"/>
+		<method name="removeSpan(Ljava/lang/Object;)V"/>
+		<method name="setSpan(Ljava/lang/Object;III)V"/>
+	</class>
+	<class name="android/text/Spannable$Factory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getInstance()Landroid/text/Spannable$Factory;"/>
+		<method name="newSpannable(Ljava/lang/CharSequence;)Landroid/text/Spannable;"/>
+	</class>
+	<class name="android/text/SpannableString" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/GetChars"/>
+		<implements name="android/text/Spannable"/>
+		<implements name="java/lang/CharSequence"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannableString;"/>
+	</class>
+	<class name="android/text/SpannableStringBuilder" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/Editable"/>
+		<implements name="android/text/GetChars"/>
+		<implements name="android/text/Spannable"/>
+		<implements name="java/lang/Appendable"/>
+		<implements name="java/lang/CharSequence"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;II)V"/>
+		<method name="append(C)Landroid/text/SpannableStringBuilder;"/>
+		<method name="append(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;"/>
+		<method name="append(Ljava/lang/CharSequence;Ljava/lang/Object;I)Landroid/text/SpannableStringBuilder;" since="21"/>
+		<method name="delete(II)Landroid/text/SpannableStringBuilder;"/>
+		<method name="getTextRunCursor(IIIIILandroid/graphics/Paint;)I" since="11" deprecated="15"/>
+		<method name="getTextWatcherDepth()I" since="23"/>
+		<method name="insert(ILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;"/>
+		<method name="insert(ILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;"/>
+		<method name="replace(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;"/>
+		<method name="replace(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;"/>
+		<method name="valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;"/>
+	</class>
+	<class name="android/text/Spanned" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/CharSequence"/>
+		<method name="getSpanEnd(Ljava/lang/Object;)I"/>
+		<method name="getSpanFlags(Ljava/lang/Object;)I"/>
+		<method name="getSpanStart(Ljava/lang/Object;)I"/>
+		<method name="getSpans(IILjava/lang/Class;)[Ljava/lang/Object;"/>
+		<method name="nextSpanTransition(IILjava/lang/Class;)I"/>
+		<field name="SPAN_COMPOSING" since="3"/>
+		<field name="SPAN_EXCLUSIVE_EXCLUSIVE"/>
+		<field name="SPAN_EXCLUSIVE_INCLUSIVE"/>
+		<field name="SPAN_INCLUSIVE_EXCLUSIVE"/>
+		<field name="SPAN_INCLUSIVE_INCLUSIVE"/>
+		<field name="SPAN_INTERMEDIATE" since="3"/>
+		<field name="SPAN_MARK_MARK"/>
+		<field name="SPAN_MARK_POINT"/>
+		<field name="SPAN_PARAGRAPH"/>
+		<field name="SPAN_POINT_MARK"/>
+		<field name="SPAN_POINT_MARK_MASK" since="3"/>
+		<field name="SPAN_POINT_POINT"/>
+		<field name="SPAN_PRIORITY"/>
+		<field name="SPAN_PRIORITY_SHIFT"/>
+		<field name="SPAN_USER"/>
+		<field name="SPAN_USER_SHIFT"/>
+	</class>
+	<class name="android/text/SpannedString" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/GetChars"/>
+		<implements name="android/text/Spanned"/>
+		<implements name="java/lang/CharSequence"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannedString;"/>
+	</class>
+	<class name="android/text/StaticLayout" since="1">
+		<extends name="android/text/Layout"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V" deprecated="28"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZLandroid/text/TextUtils$TruncateAt;I)V" deprecated="28"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V" deprecated="28"/>
+	</class>
+	<class name="android/text/StaticLayout$Builder" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="build()Landroid/text/StaticLayout;"/>
+		<method name="obtain(Ljava/lang/CharSequence;IILandroid/text/TextPaint;I)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setAlignment(Landroid/text/Layout$Alignment;)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setBreakStrategy(I)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setEllipsize(Landroid/text/TextUtils$TruncateAt;)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setEllipsizedWidth(I)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setHyphenationFrequency(I)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setIncludePad(Z)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setIndents([I[I)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setJustificationMode(I)Landroid/text/StaticLayout$Builder;" since="26"/>
+		<method name="setLineSpacing(FF)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setMaxLines(I)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setText(Ljava/lang/CharSequence;)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setTextDirection(Landroid/text/TextDirectionHeuristic;)Landroid/text/StaticLayout$Builder;"/>
+		<method name="setUseLineSpacingFromFallbacks(Z)Landroid/text/StaticLayout$Builder;" since="28"/>
+	</class>
+	<class name="android/text/TextDirectionHeuristic" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="isRtl(Ljava/lang/CharSequence;II)Z"/>
+		<method name="isRtl([CII)Z"/>
+	</class>
+	<class name="android/text/TextDirectionHeuristics" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="ANYRTL_LTR"/>
+		<field name="FIRSTSTRONG_LTR"/>
+		<field name="FIRSTSTRONG_RTL"/>
+		<field name="LOCALE"/>
+		<field name="LTR"/>
+		<field name="RTL"/>
+	</class>
+	<class name="android/text/TextPaint" since="1">
+		<extends name="android/graphics/Paint"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/graphics/Paint;)V"/>
+		<method name="set(Landroid/text/TextPaint;)V"/>
+		<field name="baselineShift"/>
+		<field name="bgColor"/>
+		<field name="density" since="5"/>
+		<field name="drawableState"/>
+		<field name="linkColor"/>
+		<field name="underlineColor" since="29"/>
+		<field name="underlineThickness" since="29"/>
+	</class>
+	<class name="android/text/TextShaper" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="shapeText(Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/TextPaint;Landroid/text/TextShaper$GlyphsConsumer;)V"/>
+	</class>
+	<class name="android/text/TextShaper$GlyphsConsumer" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="accept(IILandroid/graphics/text/PositionedGlyphs;Landroid/text/TextPaint;)V"/>
+	</class>
+	<class name="android/text/TextUtils" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="commaEllipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLjava/lang/String;Ljava/lang/String;)Ljava/lang/CharSequence;" deprecated="26"/>
+		<method name="concat([Ljava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="copySpansFrom(Landroid/text/Spanned;IILjava/lang/Class;Landroid/text/Spannable;I)V"/>
+		<method name="dumpSpans(Ljava/lang/CharSequence;Landroid/util/Printer;Ljava/lang/String;)V" since="3"/>
+		<method name="ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;)Ljava/lang/CharSequence;"/>
+		<method name="ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;)Ljava/lang/CharSequence;"/>
+		<method name="equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z"/>
+		<method name="expandTemplate(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="getCapsMode(Ljava/lang/CharSequence;II)I" since="3"/>
+		<method name="getChars(Ljava/lang/CharSequence;II[CI)V"/>
+		<method name="getLayoutDirectionFromLocale(Ljava/util/Locale;)I" since="17"/>
+		<method name="getOffsetAfter(Ljava/lang/CharSequence;I)I"/>
+		<method name="getOffsetBefore(Ljava/lang/CharSequence;I)I"/>
+		<method name="getReverse(Ljava/lang/CharSequence;II)Ljava/lang/CharSequence;" deprecated="24"/>
+		<method name="getTrimmedLength(Ljava/lang/CharSequence;)I"/>
+		<method name="htmlEncode(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="indexOf(Ljava/lang/CharSequence;C)I"/>
+		<method name="indexOf(Ljava/lang/CharSequence;CI)I"/>
+		<method name="indexOf(Ljava/lang/CharSequence;CII)I"/>
+		<method name="indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I"/>
+		<method name="indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)I"/>
+		<method name="indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I"/>
+		<method name="isDigitsOnly(Ljava/lang/CharSequence;)Z"/>
+		<method name="isEmpty(Ljava/lang/CharSequence;)Z"/>
+		<method name="isGraphic(C)Z" deprecated="24"/>
+		<method name="isGraphic(Ljava/lang/CharSequence;)Z"/>
+		<method name="join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;"/>
+		<method name="join(Ljava/lang/CharSequence;[Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="lastIndexOf(Ljava/lang/CharSequence;C)I"/>
+		<method name="lastIndexOf(Ljava/lang/CharSequence;CI)I"/>
+		<method name="lastIndexOf(Ljava/lang/CharSequence;CII)I"/>
+		<method name="listEllipsize(Landroid/content/Context;Ljava/util/List;Ljava/lang/String;Landroid/text/TextPaint;FI)Ljava/lang/CharSequence;" since="26"/>
+		<method name="makeSafeForPresentation(Ljava/lang/String;IFI)Ljava/lang/CharSequence;" since="29"/>
+		<method name="regionMatches(Ljava/lang/CharSequence;ILjava/lang/CharSequence;II)Z"/>
+		<method name="replace(Ljava/lang/CharSequence;[Ljava/lang/String;[Ljava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="split(Ljava/lang/String;Ljava/util/regex/Pattern;)[Ljava/lang/String;"/>
+		<method name="stringOrSpannedString(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="substring(Ljava/lang/CharSequence;II)Ljava/lang/String;"/>
+		<method name="writeToParcel(Ljava/lang/CharSequence;Landroid/os/Parcel;I)V"/>
+		<field name="CAP_MODE_CHARACTERS" since="3"/>
+		<field name="CAP_MODE_SENTENCES" since="3"/>
+		<field name="CAP_MODE_WORDS" since="3"/>
+		<field name="CHAR_SEQUENCE_CREATOR"/>
+		<field name="SAFE_STRING_FLAG_FIRST_LINE" since="29"/>
+		<field name="SAFE_STRING_FLAG_SINGLE_LINE" since="29"/>
+		<field name="SAFE_STRING_FLAG_TRIM" since="29"/>
+	</class>
+	<class name="android/text/TextUtils$EllipsizeCallback" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="ellipsized(II)V"/>
+	</class>
+	<class name="android/text/TextUtils$SimpleStringSplitter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/TextUtils$StringSplitter"/>
+		<implements name="java/util/Iterator"/>
+		<method name="&lt;init>(C)V"/>
+		<method name="next()Ljava/lang/String;"/>
+	</class>
+	<class name="android/text/TextUtils$StringSplitter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Iterable"/>
+		<method name="setString(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/text/TextUtils$TruncateAt" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/text/TextUtils$TruncateAt;"/>
+		<method name="values()[Landroid/text/TextUtils$TruncateAt;"/>
+		<field name="END"/>
+		<field name="END_SMALL" since="28" removed="29"/>
+		<field name="MARQUEE" since="2"/>
+		<field name="MIDDLE"/>
+		<field name="START"/>
+	</class>
+	<class name="android/text/TextWatcher" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/NoCopySpan" since="3"/>
+		<method name="afterTextChanged(Landroid/text/Editable;)V"/>
+		<method name="beforeTextChanged(Ljava/lang/CharSequence;III)V"/>
+		<method name="onTextChanged(Ljava/lang/CharSequence;III)V"/>
+	</class>
+	<class name="android/text/format/DateFormat" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="format(Ljava/lang/CharSequence;J)Ljava/lang/CharSequence;"/>
+		<method name="format(Ljava/lang/CharSequence;Ljava/util/Calendar;)Ljava/lang/CharSequence;"/>
+		<method name="format(Ljava/lang/CharSequence;Ljava/util/Date;)Ljava/lang/CharSequence;"/>
+		<method name="getBestDateTimePattern(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;" since="18"/>
+		<method name="getDateFormat(Landroid/content/Context;)Ljava/text/DateFormat;"/>
+		<method name="getDateFormatOrder(Landroid/content/Context;)[C"/>
+		<method name="getLongDateFormat(Landroid/content/Context;)Ljava/text/DateFormat;"/>
+		<method name="getMediumDateFormat(Landroid/content/Context;)Ljava/text/DateFormat;"/>
+		<method name="getTimeFormat(Landroid/content/Context;)Ljava/text/DateFormat;"/>
+		<method name="is24HourFormat(Landroid/content/Context;)Z"/>
+		<field name="AM_PM" deprecated="18" removed="22"/>
+		<field name="CAPITAL_AM_PM" deprecated="18" removed="22"/>
+		<field name="DATE" deprecated="18" removed="22"/>
+		<field name="DAY" deprecated="18" removed="22"/>
+		<field name="HOUR" deprecated="18" removed="22"/>
+		<field name="HOUR_OF_DAY" deprecated="18" removed="22"/>
+		<field name="MINUTE" deprecated="18" removed="22"/>
+		<field name="MONTH" deprecated="18" removed="22"/>
+		<field name="QUOTE" deprecated="18" removed="22"/>
+		<field name="SECONDS" deprecated="18" removed="22"/>
+		<field name="STANDALONE_MONTH" since="17" deprecated="18" removed="22"/>
+		<field name="TIME_ZONE" deprecated="18" removed="22"/>
+		<field name="YEAR" deprecated="18" removed="22"/>
+	</class>
+	<class name="android/text/format/DateUtils" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="formatDateRange(Landroid/content/Context;JJI)Ljava/lang/String;"/>
+		<method name="formatDateRange(Landroid/content/Context;Ljava/util/Formatter;JJI)Ljava/util/Formatter;" since="5"/>
+		<method name="formatDateRange(Landroid/content/Context;Ljava/util/Formatter;JJILjava/lang/String;)Ljava/util/Formatter;" since="9"/>
+		<method name="formatDateTime(Landroid/content/Context;JI)Ljava/lang/String;"/>
+		<method name="formatElapsedTime(J)Ljava/lang/String;"/>
+		<method name="formatElapsedTime(Ljava/lang/StringBuilder;J)Ljava/lang/String;"/>
+		<method name="formatSameDayTime(JJII)Ljava/lang/CharSequence;"/>
+		<method name="getAMPMString(I)Ljava/lang/String;" deprecated="17"/>
+		<method name="getDayOfWeekString(II)Ljava/lang/String;" deprecated="17"/>
+		<method name="getMonthString(II)Ljava/lang/String;" deprecated="17"/>
+		<method name="getRelativeDateTimeString(Landroid/content/Context;JJJI)Ljava/lang/CharSequence;"/>
+		<method name="getRelativeTimeSpanString(J)Ljava/lang/CharSequence;"/>
+		<method name="getRelativeTimeSpanString(JJJ)Ljava/lang/CharSequence;"/>
+		<method name="getRelativeTimeSpanString(JJJI)Ljava/lang/CharSequence;"/>
+		<method name="getRelativeTimeSpanString(Landroid/content/Context;J)Ljava/lang/CharSequence;"/>
+		<method name="getRelativeTimeSpanString(Landroid/content/Context;JZ)Ljava/lang/CharSequence;"/>
+		<method name="isToday(J)Z"/>
+		<field name="ABBREV_MONTH_FORMAT" deprecated="17"/>
+		<field name="ABBREV_WEEKDAY_FORMAT"/>
+		<field name="DAY_IN_MILLIS"/>
+		<field name="FORMAT_12HOUR" deprecated="17"/>
+		<field name="FORMAT_24HOUR" deprecated="17"/>
+		<field name="FORMAT_ABBREV_ALL"/>
+		<field name="FORMAT_ABBREV_MONTH"/>
+		<field name="FORMAT_ABBREV_RELATIVE"/>
+		<field name="FORMAT_ABBREV_TIME"/>
+		<field name="FORMAT_ABBREV_WEEKDAY"/>
+		<field name="FORMAT_CAP_AMPM" deprecated="17"/>
+		<field name="FORMAT_CAP_MIDNIGHT" deprecated="17"/>
+		<field name="FORMAT_CAP_NOON" deprecated="17"/>
+		<field name="FORMAT_CAP_NOON_MIDNIGHT" deprecated="17"/>
+		<field name="FORMAT_NO_MIDNIGHT"/>
+		<field name="FORMAT_NO_MONTH_DAY"/>
+		<field name="FORMAT_NO_NOON"/>
+		<field name="FORMAT_NO_NOON_MIDNIGHT" deprecated="17"/>
+		<field name="FORMAT_NO_YEAR"/>
+		<field name="FORMAT_NUMERIC_DATE"/>
+		<field name="FORMAT_SHOW_DATE"/>
+		<field name="FORMAT_SHOW_TIME"/>
+		<field name="FORMAT_SHOW_WEEKDAY"/>
+		<field name="FORMAT_SHOW_YEAR"/>
+		<field name="FORMAT_UTC" deprecated="15"/>
+		<field name="HOUR_IN_MILLIS"/>
+		<field name="HOUR_MINUTE_24" deprecated="17"/>
+		<field name="LENGTH_LONG" deprecated="17"/>
+		<field name="LENGTH_MEDIUM" deprecated="17"/>
+		<field name="LENGTH_SHORT" deprecated="17"/>
+		<field name="LENGTH_SHORTER" deprecated="17"/>
+		<field name="LENGTH_SHORTEST" deprecated="17"/>
+		<field name="MINUTE_IN_MILLIS"/>
+		<field name="MONTH_DAY_FORMAT"/>
+		<field name="MONTH_FORMAT"/>
+		<field name="NUMERIC_MONTH_FORMAT"/>
+		<field name="SECOND_IN_MILLIS"/>
+		<field name="WEEKDAY_FORMAT"/>
+		<field name="WEEK_IN_MILLIS"/>
+		<field name="YEAR_FORMAT"/>
+		<field name="YEAR_FORMAT_TWO_DIGITS"/>
+		<field name="YEAR_IN_MILLIS" deprecated="30"/>
+		<field name="sameMonthTable" deprecated="17"/>
+		<field name="sameYearTable" deprecated="17"/>
+	</class>
+	<class name="android/text/format/Formatter" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="formatFileSize(Landroid/content/Context;J)Ljava/lang/String;"/>
+		<method name="formatIpAddress(I)Ljava/lang/String;" deprecated="15"/>
+		<method name="formatShortFileSize(Landroid/content/Context;J)Ljava/lang/String;" since="5"/>
+	</class>
+	<class name="android/text/format/Time" since="3" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/text/format/Time;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="after(Landroid/text/format/Time;)Z" deprecated="29"/>
+		<method name="before(Landroid/text/format/Time;)Z" deprecated="29"/>
+		<method name="clear(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="compare(Landroid/text/format/Time;Landroid/text/format/Time;)I" deprecated="29"/>
+		<method name="format(Ljava/lang/String;)Ljava/lang/String;" deprecated="29"/>
+		<method name="format2445()Ljava/lang/String;" deprecated="29"/>
+		<method name="format3339(Z)Ljava/lang/String;" deprecated="29"/>
+		<method name="getActualMaximum(I)I" deprecated="29"/>
+		<method name="getCurrentTimezone()Ljava/lang/String;" deprecated="29"/>
+		<method name="getJulianDay(JJ)I" deprecated="29"/>
+		<method name="getJulianMondayFromWeeksSinceEpoch(I)I" since="11" deprecated="29"/>
+		<method name="getWeekNumber()I" deprecated="29"/>
+		<method name="getWeeksSinceEpochFromJulianDay(II)I" since="11" deprecated="29"/>
+		<method name="isEpoch(Landroid/text/format/Time;)Z" deprecated="29"/>
+		<method name="normalize(Z)J" deprecated="29"/>
+		<method name="parse(Ljava/lang/String;)Z" deprecated="29"/>
+		<method name="parse3339(Ljava/lang/String;)Z" deprecated="29"/>
+		<method name="set(III)V" deprecated="29"/>
+		<method name="set(IIIIII)V" deprecated="29"/>
+		<method name="set(J)V" deprecated="29"/>
+		<method name="set(Landroid/text/format/Time;)V" deprecated="29"/>
+		<method name="setJulianDay(I)J" deprecated="29"/>
+		<method name="setToNow()V" deprecated="29"/>
+		<method name="switchTimezone(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="toMillis(Z)J" deprecated="29"/>
+		<field name="EPOCH_JULIAN_DAY" deprecated="29"/>
+		<field name="FRIDAY" deprecated="29"/>
+		<field name="HOUR" deprecated="29"/>
+		<field name="MINUTE" deprecated="29"/>
+		<field name="MONDAY" deprecated="29"/>
+		<field name="MONDAY_BEFORE_JULIAN_EPOCH" since="11" deprecated="29"/>
+		<field name="MONTH" deprecated="29"/>
+		<field name="MONTH_DAY" deprecated="29"/>
+		<field name="SATURDAY" deprecated="29"/>
+		<field name="SECOND" deprecated="29"/>
+		<field name="SUNDAY" deprecated="29"/>
+		<field name="THURSDAY" deprecated="29"/>
+		<field name="TIMEZONE_UTC" deprecated="29"/>
+		<field name="TUESDAY" deprecated="29"/>
+		<field name="WEDNESDAY" deprecated="29"/>
+		<field name="WEEK_DAY" deprecated="29"/>
+		<field name="WEEK_NUM" deprecated="29"/>
+		<field name="YEAR" deprecated="29"/>
+		<field name="YEAR_DAY" deprecated="29"/>
+		<field name="allDay" deprecated="29"/>
+		<field name="gmtoff" deprecated="29"/>
+		<field name="hour" deprecated="29"/>
+		<field name="isDst" deprecated="29"/>
+		<field name="minute" deprecated="29"/>
+		<field name="month" deprecated="29"/>
+		<field name="monthDay" deprecated="29"/>
+		<field name="second" deprecated="29"/>
+		<field name="timezone" deprecated="29"/>
+		<field name="weekDay" deprecated="29"/>
+		<field name="year" deprecated="29"/>
+		<field name="yearDay" deprecated="29"/>
+	</class>
+	<class name="android/text/method/ArrowKeyMovementMethod" since="1">
+		<extends name="android/text/method/BaseMovementMethod" since="11"/>
+		<extends name="java/lang/Object" removed="11"/>
+		<implements name="android/text/method/MovementMethod"/>
+		<method name="&lt;init>()V"/>
+		<method name="getInstance()Landroid/text/method/MovementMethod;"/>
+	</class>
+	<class name="android/text/method/BaseKeyListener" since="1">
+		<extends name="android/text/method/MetaKeyKeyListener"/>
+		<implements name="android/text/method/KeyListener"/>
+		<method name="&lt;init>()V"/>
+		<method name="backspace(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z"/>
+		<method name="forwardDelete(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z" since="11"/>
+	</class>
+	<class name="android/text/method/BaseMovementMethod" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/method/MovementMethod"/>
+		<method name="&lt;init>()V"/>
+		<method name="bottom(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="down(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="end(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="getMovementMetaState(Landroid/text/Spannable;Landroid/view/KeyEvent;)I"/>
+		<method name="handleMovementKey(Landroid/widget/TextView;Landroid/text/Spannable;IILandroid/view/KeyEvent;)Z"/>
+		<method name="home(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="left(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="lineEnd(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="lineStart(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="pageDown(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="pageUp(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="right(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="top(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="up(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+	</class>
+	<class name="android/text/method/CharacterPickerDialog" since="1">
+		<extends name="android/app/Dialog"/>
+		<implements name="android/view/View$OnClickListener"/>
+		<implements name="android/widget/AdapterView$OnItemClickListener"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/View;Landroid/text/Editable;Ljava/lang/String;Z)V"/>
+	</class>
+	<class name="android/text/method/DateKeyListener" since="1">
+		<extends name="android/text/method/NumberKeyListener"/>
+		<method name="&lt;init>()V" deprecated="26"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V" since="26"/>
+		<method name="getInstance()Landroid/text/method/DateKeyListener;" deprecated="26"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/text/method/DateKeyListener;" since="26"/>
+		<field name="CHARACTERS" deprecated="26"/>
+	</class>
+	<class name="android/text/method/DateTimeKeyListener" since="1">
+		<extends name="android/text/method/NumberKeyListener"/>
+		<method name="&lt;init>()V" deprecated="26"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V" since="26"/>
+		<method name="getInstance()Landroid/text/method/DateTimeKeyListener;" deprecated="26"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/text/method/DateTimeKeyListener;" since="26"/>
+		<field name="CHARACTERS" deprecated="26"/>
+	</class>
+	<class name="android/text/method/DialerKeyListener" since="1">
+		<extends name="android/text/method/NumberKeyListener"/>
+		<method name="&lt;init>()V"/>
+		<method name="getInstance()Landroid/text/method/DialerKeyListener;"/>
+		<field name="CHARACTERS"/>
+	</class>
+	<class name="android/text/method/DigitsKeyListener" since="1">
+		<extends name="android/text/method/NumberKeyListener"/>
+		<method name="&lt;init>()V" deprecated="26"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V" since="26"/>
+		<method name="&lt;init>(Ljava/util/Locale;ZZ)V" since="26"/>
+		<method name="&lt;init>(ZZ)V" deprecated="26"/>
+		<method name="getInstance()Landroid/text/method/DigitsKeyListener;" deprecated="26"/>
+		<method name="getInstance(Ljava/lang/String;)Landroid/text/method/DigitsKeyListener;"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/text/method/DigitsKeyListener;" since="26"/>
+		<method name="getInstance(Ljava/util/Locale;ZZ)Landroid/text/method/DigitsKeyListener;" since="26"/>
+		<method name="getInstance(ZZ)Landroid/text/method/DigitsKeyListener;" deprecated="26"/>
+	</class>
+	<class name="android/text/method/HideReturnsTransformationMethod" since="1">
+		<extends name="android/text/method/ReplacementTransformationMethod"/>
+		<method name="&lt;init>()V"/>
+		<method name="getInstance()Landroid/text/method/HideReturnsTransformationMethod;"/>
+	</class>
+	<class name="android/text/method/KeyListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="clearMetaKeyState(Landroid/view/View;Landroid/text/Editable;I)V" since="3"/>
+		<method name="getInputType()I" since="3"/>
+		<method name="onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z"/>
+		<method name="onKeyOther(Landroid/view/View;Landroid/text/Editable;Landroid/view/KeyEvent;)Z" since="3"/>
+		<method name="onKeyUp(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z"/>
+	</class>
+	<class name="android/text/method/LinkMovementMethod" since="1">
+		<extends name="android/text/method/ScrollingMovementMethod"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/text/method/MetaKeyKeyListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="adjustMetaAfterKeypress(J)J" since="3"/>
+		<method name="adjustMetaAfterKeypress(Landroid/text/Spannable;)V"/>
+		<method name="clearMetaKeyState(JI)J" since="3"/>
+		<method name="clearMetaKeyState(Landroid/text/Editable;I)V" since="3"/>
+		<method name="clearMetaKeyState(Landroid/view/View;Landroid/text/Editable;I)V" since="3"/>
+		<method name="getMetaState(J)I" since="3"/>
+		<method name="getMetaState(JI)I" since="3"/>
+		<method name="getMetaState(Ljava/lang/CharSequence;)I"/>
+		<method name="getMetaState(Ljava/lang/CharSequence;I)I"/>
+		<method name="getMetaState(Ljava/lang/CharSequence;ILandroid/view/KeyEvent;)I" since="19"/>
+		<method name="getMetaState(Ljava/lang/CharSequence;Landroid/view/KeyEvent;)I" since="19"/>
+		<method name="handleKeyDown(JILandroid/view/KeyEvent;)J" since="3"/>
+		<method name="handleKeyUp(JILandroid/view/KeyEvent;)J" since="3"/>
+		<method name="isMetaTracker(Ljava/lang/CharSequence;Ljava/lang/Object;)Z"/>
+		<method name="isSelectingMetaTracker(Ljava/lang/CharSequence;Ljava/lang/Object;)Z" since="3"/>
+		<method name="onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z"/>
+		<method name="onKeyUp(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z"/>
+		<method name="resetLockedMeta(J)J" since="3"/>
+		<method name="resetLockedMeta(Landroid/text/Spannable;)V"/>
+		<method name="resetMetaState(Landroid/text/Spannable;)V"/>
+		<field name="META_ALT_LOCKED"/>
+		<field name="META_ALT_ON"/>
+		<field name="META_CAP_LOCKED"/>
+		<field name="META_SHIFT_ON"/>
+		<field name="META_SYM_LOCKED"/>
+		<field name="META_SYM_ON"/>
+	</class>
+	<class name="android/text/method/MovementMethod" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="canSelectArbitrarily()Z"/>
+		<method name="initialize(Landroid/widget/TextView;Landroid/text/Spannable;)V"/>
+		<method name="onGenericMotionEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z" since="12"/>
+		<method name="onKeyDown(Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z"/>
+		<method name="onKeyOther(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/KeyEvent;)Z" since="3"/>
+		<method name="onKeyUp(Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z"/>
+		<method name="onTakeFocus(Landroid/widget/TextView;Landroid/text/Spannable;I)V"/>
+		<method name="onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z"/>
+		<method name="onTrackballEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z"/>
+	</class>
+	<class name="android/text/method/MultiTapKeyListener" since="1">
+		<extends name="android/text/method/BaseKeyListener"/>
+		<implements name="android/text/SpanWatcher"/>
+		<method name="&lt;init>(Landroid/text/method/TextKeyListener$Capitalize;Z)V"/>
+		<method name="getInstance(ZLandroid/text/method/TextKeyListener$Capitalize;)Landroid/text/method/MultiTapKeyListener;"/>
+	</class>
+	<class name="android/text/method/NumberKeyListener" since="1">
+		<extends name="android/text/method/BaseKeyListener"/>
+		<implements name="android/text/InputFilter"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAcceptedChars()[C"/>
+		<method name="lookup(Landroid/view/KeyEvent;Landroid/text/Spannable;)I"/>
+		<method name="ok([CC)Z"/>
+	</class>
+	<class name="android/text/method/PasswordTransformationMethod" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/TextWatcher"/>
+		<implements name="android/text/method/TransformationMethod"/>
+		<method name="&lt;init>()V"/>
+		<method name="getInstance()Landroid/text/method/PasswordTransformationMethod;"/>
+	</class>
+	<class name="android/text/method/QwertyKeyListener" since="1">
+		<extends name="android/text/method/BaseKeyListener"/>
+		<method name="&lt;init>(Landroid/text/method/TextKeyListener$Capitalize;Z)V"/>
+		<method name="getInstance(ZLandroid/text/method/TextKeyListener$Capitalize;)Landroid/text/method/QwertyKeyListener;"/>
+		<method name="getInstanceForFullKeyboard()Landroid/text/method/QwertyKeyListener;" since="11"/>
+		<method name="markAsReplaced(Landroid/text/Spannable;IILjava/lang/String;)V"/>
+	</class>
+	<class name="android/text/method/ReplacementTransformationMethod" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/method/TransformationMethod"/>
+		<method name="&lt;init>()V"/>
+		<method name="getOriginal()[C"/>
+		<method name="getReplacement()[C"/>
+	</class>
+	<class name="android/text/method/ScrollingMovementMethod" since="1">
+		<extends name="android/text/method/BaseMovementMethod" since="11"/>
+		<extends name="java/lang/Object" removed="11"/>
+		<implements name="android/text/method/MovementMethod"/>
+		<method name="&lt;init>()V"/>
+		<method name="down(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="getInstance()Landroid/text/method/MovementMethod;"/>
+		<method name="left(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="right(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+		<method name="up(Landroid/widget/TextView;Landroid/text/Spannable;)Z"/>
+	</class>
+	<class name="android/text/method/SingleLineTransformationMethod" since="1">
+		<extends name="android/text/method/ReplacementTransformationMethod"/>
+		<method name="&lt;init>()V"/>
+		<method name="getInstance()Landroid/text/method/SingleLineTransformationMethod;"/>
+	</class>
+	<class name="android/text/method/TextKeyListener" since="1">
+		<extends name="android/text/method/BaseKeyListener"/>
+		<implements name="android/text/SpanWatcher"/>
+		<method name="&lt;init>(Landroid/text/method/TextKeyListener$Capitalize;Z)V"/>
+		<method name="clear(Landroid/text/Editable;)V"/>
+		<method name="getInstance()Landroid/text/method/TextKeyListener;"/>
+		<method name="getInstance(ZLandroid/text/method/TextKeyListener$Capitalize;)Landroid/text/method/TextKeyListener;"/>
+		<method name="release()V"/>
+		<method name="shouldCap(Landroid/text/method/TextKeyListener$Capitalize;Ljava/lang/CharSequence;I)Z"/>
+	</class>
+	<class name="android/text/method/TextKeyListener$Capitalize" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/text/method/TextKeyListener$Capitalize;"/>
+		<method name="values()[Landroid/text/method/TextKeyListener$Capitalize;"/>
+		<field name="CHARACTERS"/>
+		<field name="NONE"/>
+		<field name="SENTENCES"/>
+		<field name="WORDS"/>
+	</class>
+	<class name="android/text/method/TimeKeyListener" since="1">
+		<extends name="android/text/method/NumberKeyListener"/>
+		<method name="&lt;init>()V" deprecated="26"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V" since="26"/>
+		<method name="getInstance()Landroid/text/method/TimeKeyListener;" deprecated="26"/>
+		<method name="getInstance(Ljava/util/Locale;)Landroid/text/method/TimeKeyListener;" since="26"/>
+		<field name="CHARACTERS" deprecated="26"/>
+	</class>
+	<class name="android/text/method/Touch" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getInitialScrollX(Landroid/widget/TextView;Landroid/text/Spannable;)I" since="3"/>
+		<method name="getInitialScrollY(Landroid/widget/TextView;Landroid/text/Spannable;)I" since="3"/>
+		<method name="onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z"/>
+		<method name="scrollTo(Landroid/widget/TextView;Landroid/text/Layout;II)V"/>
+	</class>
+	<class name="android/text/method/TransformationMethod" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;"/>
+		<method name="onFocusChanged(Landroid/view/View;Ljava/lang/CharSequence;ZILandroid/graphics/Rect;)V"/>
+	</class>
+	<class name="android/text/style/AbsoluteSizeSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IZ)V" since="5"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="getDip()Z" since="5"/>
+		<method name="getSize()I"/>
+	</class>
+	<class name="android/text/style/AlignmentSpan" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/ParagraphStyle"/>
+		<method name="getAlignment()Landroid/text/Layout$Alignment;"/>
+	</class>
+	<class name="android/text/style/AlignmentSpan$Standard" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<implements name="android/text/style/AlignmentSpan"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="&lt;init>(Landroid/text/Layout$Alignment;)V"/>
+	</class>
+	<class name="android/text/style/BackgroundColorSpan" since="1">
+		<extends name="android/text/style/CharacterStyle"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<implements name="android/text/style/UpdateAppearance" since="3"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="getBackgroundColor()I"/>
+	</class>
+	<class name="android/text/style/BulletSpan" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<implements name="android/text/style/LeadingMarginSpan"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(III)V" since="28"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="getBulletRadius()I" since="28"/>
+		<method name="getColor()I" since="28"/>
+		<method name="getGapWidth()I" since="28"/>
+		<field name="STANDARD_GAP_WIDTH"/>
+	</class>
+	<class name="android/text/style/CharacterStyle" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getUnderlying()Landroid/text/style/CharacterStyle;"/>
+		<method name="updateDrawState(Landroid/text/TextPaint;)V"/>
+		<method name="wrap(Landroid/text/style/CharacterStyle;)Landroid/text/style/CharacterStyle;"/>
+	</class>
+	<class name="android/text/style/ClickableSpan" since="1">
+		<extends name="android/text/style/CharacterStyle"/>
+		<implements name="android/text/style/UpdateAppearance" since="3"/>
+		<method name="&lt;init>()V"/>
+		<method name="onClick(Landroid/view/View;)V"/>
+	</class>
+	<class name="android/text/style/DrawableMarginSpan" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/LeadingMarginSpan"/>
+		<implements name="android/text/style/LineHeightSpan"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;I)V"/>
+	</class>
+	<class name="android/text/style/DynamicDrawableSpan" since="1">
+		<extends name="android/text/style/ReplacementSpan"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V" since="3"/>
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getVerticalAlignment()I" since="3"/>
+		<field name="ALIGN_BASELINE" since="3"/>
+		<field name="ALIGN_BOTTOM" since="3"/>
+		<field name="ALIGN_CENTER" since="29"/>
+		<field name="mVerticalAlignment" since="3"/>
+	</class>
+	<class name="android/text/style/EasyEditSpan" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/ParcelableSpan"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/app/PendingIntent;)V" since="18"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="18"/>
+		<field name="EXTRA_TEXT_CHANGED_TYPE" since="18"/>
+		<field name="TEXT_DELETED" since="18"/>
+		<field name="TEXT_MODIFIED" since="18"/>
+	</class>
+	<class name="android/text/style/ForegroundColorSpan" since="1">
+		<extends name="android/text/style/CharacterStyle"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<implements name="android/text/style/UpdateAppearance" since="3"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="getForegroundColor()I"/>
+	</class>
+	<class name="android/text/style/IconMarginSpan" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/LeadingMarginSpan"/>
+		<implements name="android/text/style/LineHeightSpan"/>
+		<method name="&lt;init>(Landroid/graphics/Bitmap;)V"/>
+		<method name="&lt;init>(Landroid/graphics/Bitmap;I)V"/>
+	</class>
+	<class name="android/text/style/ImageSpan" since="1">
+		<extends name="android/text/style/DynamicDrawableSpan"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;II)V" since="3"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/graphics/Bitmap;)V" since="4"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/graphics/Bitmap;I)V" since="4"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/net/Uri;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/net/Uri;I)V" since="3"/>
+		<method name="&lt;init>(Landroid/graphics/Bitmap;)V" deprecated="15"/>
+		<method name="&lt;init>(Landroid/graphics/Bitmap;I)V" since="3" deprecated="15"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;I)V" since="3"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;Ljava/lang/String;I)V" since="3"/>
+		<method name="getSource()Ljava/lang/String;"/>
+	</class>
+	<class name="android/text/style/LeadingMarginSpan" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/ParagraphStyle"/>
+		<method name="drawLeadingMargin(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIIIILjava/lang/CharSequence;IIZLandroid/text/Layout;)V"/>
+		<method name="getLeadingMargin(Z)I"/>
+	</class>
+	<class name="android/text/style/LeadingMarginSpan$LeadingMarginSpan2" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/LeadingMarginSpan"/>
+		<implements name="android/text/style/WrapTogetherSpan"/>
+		<method name="getLeadingMarginLineCount()I"/>
+	</class>
+	<class name="android/text/style/LeadingMarginSpan$Standard" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<implements name="android/text/style/LeadingMarginSpan"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+	</class>
+	<class name="android/text/style/LineBackgroundSpan" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/ParagraphStyle"/>
+		<method name="drawBackground(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIIIILjava/lang/CharSequence;III)V"/>
+	</class>
+	<class name="android/text/style/LineBackgroundSpan$Standard" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/ParcelableSpan"/>
+		<implements name="android/text/style/LineBackgroundSpan"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="getColor()I"/>
+	</class>
+	<class name="android/text/style/LineHeightSpan" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/ParagraphStyle"/>
+		<implements name="android/text/style/WrapTogetherSpan"/>
+		<method name="chooseHeight(Ljava/lang/CharSequence;IIIILandroid/graphics/Paint$FontMetricsInt;)V"/>
+	</class>
+	<class name="android/text/style/LineHeightSpan$Standard" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/ParcelableSpan"/>
+		<implements name="android/text/style/LineHeightSpan"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="getHeight()I"/>
+	</class>
+	<class name="android/text/style/LineHeightSpan$WithDensity" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/LineHeightSpan"/>
+		<method name="chooseHeight(Ljava/lang/CharSequence;IIIILandroid/graphics/Paint$FontMetricsInt;Landroid/text/TextPaint;)V"/>
+	</class>
+	<class name="android/text/style/LocaleSpan" since="17">
+		<extends name="android/text/style/MetricAffectingSpan"/>
+		<implements name="android/text/ParcelableSpan"/>
+		<method name="&lt;init>(Landroid/os/LocaleList;)V" since="24"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getLocales()Landroid/os/LocaleList;" since="24"/>
+	</class>
+	<class name="android/text/style/MaskFilterSpan" since="1">
+		<extends name="android/text/style/CharacterStyle"/>
+		<implements name="android/text/style/UpdateAppearance" since="3"/>
+		<method name="&lt;init>(Landroid/graphics/MaskFilter;)V"/>
+		<method name="getMaskFilter()Landroid/graphics/MaskFilter;"/>
+	</class>
+	<class name="android/text/style/MetricAffectingSpan" since="1">
+		<extends name="android/text/style/CharacterStyle"/>
+		<implements name="android/text/style/UpdateLayout"/>
+		<method name="&lt;init>()V"/>
+		<method name="getUnderlying()Landroid/text/style/MetricAffectingSpan;"/>
+		<method name="updateMeasureState(Landroid/text/TextPaint;)V"/>
+	</class>
+	<class name="android/text/style/ParagraphStyle" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/text/style/QuoteSpan" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<implements name="android/text/style/LeadingMarginSpan"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(III)V" since="28"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="getColor()I"/>
+		<method name="getGapWidth()I" since="28"/>
+		<method name="getStripeWidth()I" since="28"/>
+		<field name="STANDARD_COLOR" since="28"/>
+		<field name="STANDARD_GAP_WIDTH_PX" since="28"/>
+		<field name="STANDARD_STRIPE_WIDTH_PX" since="28"/>
+	</class>
+	<class name="android/text/style/RasterizerSpan" since="1" removed="26">
+		<extends name="android/text/style/CharacterStyle"/>
+		<implements name="android/text/style/UpdateAppearance" since="3"/>
+		<method name="&lt;init>(Landroid/graphics/Rasterizer;)V"/>
+		<method name="getRasterizer()Landroid/graphics/Rasterizer;"/>
+	</class>
+	<class name="android/text/style/RelativeSizeSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="getSizeChange()F"/>
+	</class>
+	<class name="android/text/style/ReplacementSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan"/>
+		<method name="&lt;init>()V"/>
+		<method name="draw(Landroid/graphics/Canvas;Ljava/lang/CharSequence;IIFIIILandroid/graphics/Paint;)V"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;" since="30"/>
+		<method name="getSize(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I"/>
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V" since="30"/>
+	</class>
+	<class name="android/text/style/ScaleXSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="getScaleX()F"/>
+	</class>
+	<class name="android/text/style/StrikethroughSpan" since="1">
+		<extends name="android/text/style/CharacterStyle"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<implements name="android/text/style/UpdateAppearance" since="3"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+	</class>
+	<class name="android/text/style/StyleSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="getStyle()I"/>
+	</class>
+	<class name="android/text/style/SubscriptSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+	</class>
+	<class name="android/text/style/SuggestionSpan" since="14">
+		<extends name="android/text/style/CharacterStyle"/>
+		<implements name="android/text/ParcelableSpan"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/util/Locale;[Ljava/lang/String;ILjava/lang/Class;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;[Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;[Ljava/lang/String;I)V"/>
+		<method name="getFlags()I"/>
+		<method name="getLocale()Ljava/lang/String;" deprecated="24"/>
+		<method name="getLocaleObject()Ljava/util/Locale;" since="24"/>
+		<method name="getSuggestions()[Ljava/lang/String;"/>
+		<method name="getUnderlineColor()I" since="29"/>
+		<method name="setFlags(I)V"/>
+		<field name="ACTION_SUGGESTION_PICKED" deprecated="29"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_AUTO_CORRECTION" since="15"/>
+		<field name="FLAG_EASY_CORRECT"/>
+		<field name="FLAG_GRAMMAR_ERROR" since="31"/>
+		<field name="FLAG_MISSPELLED"/>
+		<field name="SUGGESTIONS_MAX_SIZE"/>
+		<field name="SUGGESTION_SPAN_PICKED_AFTER" deprecated="29"/>
+		<field name="SUGGESTION_SPAN_PICKED_BEFORE" deprecated="29"/>
+		<field name="SUGGESTION_SPAN_PICKED_HASHCODE" deprecated="29"/>
+	</class>
+	<class name="android/text/style/SuperscriptSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+	</class>
+	<class name="android/text/style/TabStopSpan" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/ParagraphStyle"/>
+		<method name="getTabStop()I"/>
+	</class>
+	<class name="android/text/style/TabStopSpan$Standard" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/TabStopSpan"/>
+		<method name="&lt;init>(I)V"/>
+	</class>
+	<class name="android/text/style/TextAppearanceSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;II)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="&lt;init>(Ljava/lang/String;IILandroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;)V"/>
+		<method name="getFamily()Ljava/lang/String;"/>
+		<method name="getFontFeatureSettings()Ljava/lang/String;" since="29"/>
+		<method name="getFontVariationSettings()Ljava/lang/String;" since="29"/>
+		<method name="getLinkTextColor()Landroid/content/res/ColorStateList;"/>
+		<method name="getShadowColor()I" since="29"/>
+		<method name="getShadowDx()F" since="29"/>
+		<method name="getShadowDy()F" since="29"/>
+		<method name="getShadowRadius()F" since="29"/>
+		<method name="getTextColor()Landroid/content/res/ColorStateList;"/>
+		<method name="getTextFontWeight()I" since="29"/>
+		<method name="getTextLocales()Landroid/os/LocaleList;" since="29"/>
+		<method name="getTextSize()I"/>
+		<method name="getTextStyle()I"/>
+		<method name="getTypeface()Landroid/graphics/Typeface;" since="29"/>
+		<method name="isElegantTextHeight()Z" since="29"/>
+	</class>
+	<class name="android/text/style/TtsSpan" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/ParcelableSpan"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Landroid/os/PersistableBundle;)V"/>
+		<method name="getArgs()Landroid/os/PersistableBundle;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<field name="ANIMACY_ANIMATE"/>
+		<field name="ANIMACY_INANIMATE"/>
+		<field name="ARG_ANIMACY"/>
+		<field name="ARG_CASE"/>
+		<field name="ARG_COUNTRY_CODE"/>
+		<field name="ARG_CURRENCY"/>
+		<field name="ARG_DAY"/>
+		<field name="ARG_DENOMINATOR"/>
+		<field name="ARG_DIGITS"/>
+		<field name="ARG_DOMAIN"/>
+		<field name="ARG_EXTENSION"/>
+		<field name="ARG_FRACTIONAL_PART"/>
+		<field name="ARG_FRAGMENT_ID"/>
+		<field name="ARG_GENDER"/>
+		<field name="ARG_HOURS"/>
+		<field name="ARG_INTEGER_PART"/>
+		<field name="ARG_MINUTES"/>
+		<field name="ARG_MONTH"/>
+		<field name="ARG_MULTIPLICITY"/>
+		<field name="ARG_NUMBER"/>
+		<field name="ARG_NUMBER_PARTS"/>
+		<field name="ARG_NUMERATOR"/>
+		<field name="ARG_PASSWORD"/>
+		<field name="ARG_PATH"/>
+		<field name="ARG_PORT"/>
+		<field name="ARG_PROTOCOL"/>
+		<field name="ARG_QUANTITY"/>
+		<field name="ARG_QUERY_STRING"/>
+		<field name="ARG_TEXT"/>
+		<field name="ARG_UNIT"/>
+		<field name="ARG_USERNAME"/>
+		<field name="ARG_VERBATIM"/>
+		<field name="ARG_WEEKDAY"/>
+		<field name="ARG_YEAR"/>
+		<field name="CASE_ABLATIVE"/>
+		<field name="CASE_ACCUSATIVE"/>
+		<field name="CASE_DATIVE"/>
+		<field name="CASE_GENITIVE"/>
+		<field name="CASE_INSTRUMENTAL"/>
+		<field name="CASE_LOCATIVE"/>
+		<field name="CASE_NOMINATIVE"/>
+		<field name="CASE_VOCATIVE"/>
+		<field name="GENDER_FEMALE"/>
+		<field name="GENDER_MALE"/>
+		<field name="GENDER_NEUTRAL"/>
+		<field name="MONTH_APRIL"/>
+		<field name="MONTH_AUGUST"/>
+		<field name="MONTH_DECEMBER"/>
+		<field name="MONTH_FEBRUARY"/>
+		<field name="MONTH_JANUARY"/>
+		<field name="MONTH_JULY"/>
+		<field name="MONTH_JUNE"/>
+		<field name="MONTH_MARCH"/>
+		<field name="MONTH_MAY"/>
+		<field name="MONTH_NOVEMBER"/>
+		<field name="MONTH_OCTOBER"/>
+		<field name="MONTH_SEPTEMBER"/>
+		<field name="MULTIPLICITY_DUAL"/>
+		<field name="MULTIPLICITY_PLURAL"/>
+		<field name="MULTIPLICITY_SINGLE"/>
+		<field name="TYPE_CARDINAL"/>
+		<field name="TYPE_DATE"/>
+		<field name="TYPE_DECIMAL"/>
+		<field name="TYPE_DIGITS"/>
+		<field name="TYPE_ELECTRONIC"/>
+		<field name="TYPE_FRACTION"/>
+		<field name="TYPE_MEASURE"/>
+		<field name="TYPE_MONEY"/>
+		<field name="TYPE_ORDINAL"/>
+		<field name="TYPE_TELEPHONE"/>
+		<field name="TYPE_TEXT"/>
+		<field name="TYPE_TIME"/>
+		<field name="TYPE_VERBATIM"/>
+		<field name="WEEKDAY_FRIDAY"/>
+		<field name="WEEKDAY_MONDAY"/>
+		<field name="WEEKDAY_SATURDAY"/>
+		<field name="WEEKDAY_SUNDAY"/>
+		<field name="WEEKDAY_THURSDAY"/>
+		<field name="WEEKDAY_TUESDAY"/>
+		<field name="WEEKDAY_WEDNESDAY"/>
+	</class>
+	<class name="android/text/style/TtsSpan$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/text/style/TtsSpan;"/>
+		<method name="setIntArgument(Ljava/lang/String;I)Landroid/text/style/TtsSpan$Builder;"/>
+		<method name="setLongArgument(Ljava/lang/String;J)Landroid/text/style/TtsSpan$Builder;"/>
+		<method name="setStringArgument(Ljava/lang/String;Ljava/lang/String;)Landroid/text/style/TtsSpan$Builder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$CardinalBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="setNumber(J)Landroid/text/style/TtsSpan$CardinalBuilder;"/>
+		<method name="setNumber(Ljava/lang/String;)Landroid/text/style/TtsSpan$CardinalBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$DateBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;)V"/>
+		<method name="setDay(I)Landroid/text/style/TtsSpan$DateBuilder;"/>
+		<method name="setMonth(I)Landroid/text/style/TtsSpan$DateBuilder;"/>
+		<method name="setWeekday(I)Landroid/text/style/TtsSpan$DateBuilder;"/>
+		<method name="setYear(I)Landroid/text/style/TtsSpan$DateBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$DecimalBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(DII)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setArgumentsFromDouble(DII)Landroid/text/style/TtsSpan$DecimalBuilder;"/>
+		<method name="setFractionalPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$DecimalBuilder;"/>
+		<method name="setIntegerPart(J)Landroid/text/style/TtsSpan$DecimalBuilder;"/>
+		<method name="setIntegerPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$DecimalBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$DigitsBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="setDigits(Ljava/lang/String;)Landroid/text/style/TtsSpan$DigitsBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$ElectronicBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="setDomain(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;"/>
+		<method name="setEmailArguments(Ljava/lang/String;Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;"/>
+		<method name="setFragmentId(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;"/>
+		<method name="setPassword(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;"/>
+		<method name="setPath(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;"/>
+		<method name="setPort(I)Landroid/text/style/TtsSpan$ElectronicBuilder;"/>
+		<method name="setProtocol(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;"/>
+		<method name="setQueryString(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;"/>
+		<method name="setUsername(Ljava/lang/String;)Landroid/text/style/TtsSpan$ElectronicBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$FractionBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(JJJ)V"/>
+		<method name="setDenominator(J)Landroid/text/style/TtsSpan$FractionBuilder;"/>
+		<method name="setDenominator(Ljava/lang/String;)Landroid/text/style/TtsSpan$FractionBuilder;"/>
+		<method name="setIntegerPart(J)Landroid/text/style/TtsSpan$FractionBuilder;"/>
+		<method name="setIntegerPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$FractionBuilder;"/>
+		<method name="setNumerator(J)Landroid/text/style/TtsSpan$FractionBuilder;"/>
+		<method name="setNumerator(Ljava/lang/String;)Landroid/text/style/TtsSpan$FractionBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$MeasureBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="setDenominator(J)Landroid/text/style/TtsSpan$MeasureBuilder;"/>
+		<method name="setDenominator(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;"/>
+		<method name="setFractionalPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;"/>
+		<method name="setIntegerPart(J)Landroid/text/style/TtsSpan$MeasureBuilder;"/>
+		<method name="setIntegerPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;"/>
+		<method name="setNumber(J)Landroid/text/style/TtsSpan$MeasureBuilder;"/>
+		<method name="setNumber(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;"/>
+		<method name="setNumerator(J)Landroid/text/style/TtsSpan$MeasureBuilder;"/>
+		<method name="setNumerator(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;"/>
+		<method name="setUnit(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$MoneyBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="setCurrency(Ljava/lang/String;)Landroid/text/style/TtsSpan$MoneyBuilder;"/>
+		<method name="setFractionalPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$MoneyBuilder;"/>
+		<method name="setIntegerPart(J)Landroid/text/style/TtsSpan$MoneyBuilder;"/>
+		<method name="setIntegerPart(Ljava/lang/String;)Landroid/text/style/TtsSpan$MoneyBuilder;"/>
+		<method name="setQuantity(Ljava/lang/String;)Landroid/text/style/TtsSpan$MoneyBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$OrdinalBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="setNumber(J)Landroid/text/style/TtsSpan$OrdinalBuilder;"/>
+		<method name="setNumber(Ljava/lang/String;)Landroid/text/style/TtsSpan$OrdinalBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$SemioticClassBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$Builder"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="setAnimacy(Ljava/lang/String;)Landroid/text/style/TtsSpan$SemioticClassBuilder;"/>
+		<method name="setCase(Ljava/lang/String;)Landroid/text/style/TtsSpan$SemioticClassBuilder;"/>
+		<method name="setGender(Ljava/lang/String;)Landroid/text/style/TtsSpan$SemioticClassBuilder;"/>
+		<method name="setMultiplicity(Ljava/lang/String;)Landroid/text/style/TtsSpan$SemioticClassBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$TelephoneBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="setCountryCode(Ljava/lang/String;)Landroid/text/style/TtsSpan$TelephoneBuilder;"/>
+		<method name="setExtension(Ljava/lang/String;)Landroid/text/style/TtsSpan$TelephoneBuilder;"/>
+		<method name="setNumberParts(Ljava/lang/String;)Landroid/text/style/TtsSpan$TelephoneBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$TextBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="setText(Ljava/lang/String;)Landroid/text/style/TtsSpan$TextBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$TimeBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="setHours(I)Landroid/text/style/TtsSpan$TimeBuilder;"/>
+		<method name="setMinutes(I)Landroid/text/style/TtsSpan$TimeBuilder;"/>
+	</class>
+	<class name="android/text/style/TtsSpan$VerbatimBuilder" since="21">
+		<extends name="android/text/style/TtsSpan$SemioticClassBuilder"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="setVerbatim(Ljava/lang/String;)Landroid/text/style/TtsSpan$VerbatimBuilder;"/>
+	</class>
+	<class name="android/text/style/TypefaceSpan" since="1">
+		<extends name="android/text/style/MetricAffectingSpan"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<method name="&lt;init>(Landroid/graphics/Typeface;)V" since="28"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getFamily()Ljava/lang/String;"/>
+		<method name="getTypeface()Landroid/graphics/Typeface;" since="28"/>
+	</class>
+	<class name="android/text/style/URLSpan" since="1">
+		<extends name="android/text/style/ClickableSpan"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getURL()Ljava/lang/String;"/>
+	</class>
+	<class name="android/text/style/UnderlineSpan" since="1">
+		<extends name="android/text/style/CharacterStyle"/>
+		<implements name="android/text/ParcelableSpan" since="3"/>
+		<implements name="android/text/style/UpdateAppearance" since="3"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V" since="3"/>
+	</class>
+	<class name="android/text/style/UpdateAppearance" since="3">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/text/style/UpdateLayout" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/UpdateAppearance" since="3"/>
+	</class>
+	<class name="android/text/style/WrapTogetherSpan" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/text/style/ParagraphStyle"/>
+	</class>
+	<class name="android/text/util/Linkify" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addLinks(Landroid/text/Spannable;I)Z"/>
+		<method name="addLinks(Landroid/text/Spannable;ILjava/util/function/Function;)Z" since="29"/>
+		<method name="addLinks(Landroid/text/Spannable;Ljava/util/regex/Pattern;Ljava/lang/String;)Z"/>
+		<method name="addLinks(Landroid/text/Spannable;Ljava/util/regex/Pattern;Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)Z"/>
+		<method name="addLinks(Landroid/text/Spannable;Ljava/util/regex/Pattern;Ljava/lang/String;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)Z" since="24"/>
+		<method name="addLinks(Landroid/text/Spannable;Ljava/util/regex/Pattern;Ljava/lang/String;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;Ljava/util/function/Function;)Z" since="29"/>
+		<method name="addLinks(Landroid/widget/TextView;I)Z"/>
+		<method name="addLinks(Landroid/widget/TextView;Ljava/util/regex/Pattern;Ljava/lang/String;)V"/>
+		<method name="addLinks(Landroid/widget/TextView;Ljava/util/regex/Pattern;Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)V"/>
+		<method name="addLinks(Landroid/widget/TextView;Ljava/util/regex/Pattern;Ljava/lang/String;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)V" since="24"/>
+		<field name="ALL"/>
+		<field name="EMAIL_ADDRESSES"/>
+		<field name="MAP_ADDRESSES" deprecated="28"/>
+		<field name="PHONE_NUMBERS"/>
+		<field name="WEB_URLS"/>
+		<field name="sPhoneNumberMatchFilter"/>
+		<field name="sPhoneNumberTransformFilter"/>
+		<field name="sUrlMatchFilter"/>
+	</class>
+	<class name="android/text/util/Linkify$MatchFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="acceptMatch(Ljava/lang/CharSequence;II)Z"/>
+	</class>
+	<class name="android/text/util/Linkify$TransformFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="transformUrl(Ljava/util/regex/Matcher;Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="android/text/util/Rfc822Token" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getAddress()Ljava/lang/String;"/>
+		<method name="getComment()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="quoteComment(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="quoteName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="quoteNameIfNecessary(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="setAddress(Ljava/lang/String;)V"/>
+		<method name="setComment(Ljava/lang/String;)V"/>
+		<method name="setName(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/text/util/Rfc822Tokenizer" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/widget/MultiAutoCompleteTextView$Tokenizer"/>
+		<method name="&lt;init>()V"/>
+		<method name="tokenize(Ljava/lang/CharSequence;)[Landroid/text/util/Rfc822Token;"/>
+		<method name="tokenize(Ljava/lang/CharSequence;Ljava/util/Collection;)V" since="8"/>
+	</class>
+	<class name="android/transition/ArcMotion" since="21">
+		<extends name="android/transition/PathMotion"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="getMaximumAngle()F"/>
+		<method name="getMinimumHorizontalAngle()F"/>
+		<method name="getMinimumVerticalAngle()F"/>
+		<method name="setMaximumAngle(F)V"/>
+		<method name="setMinimumHorizontalAngle(F)V"/>
+		<method name="setMinimumVerticalAngle(F)V"/>
+	</class>
+	<class name="android/transition/AutoTransition" since="19">
+		<extends name="android/transition/TransitionSet"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21"/>
+	</class>
+	<class name="android/transition/ChangeBounds" since="19">
+		<extends name="android/transition/Transition"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21"/>
+		<method name="getResizeClip()Z" since="22"/>
+		<method name="setReparent(Z)V" deprecated="21"/>
+		<method name="setResizeClip(Z)V"/>
+	</class>
+	<class name="android/transition/ChangeClipBounds" since="21">
+		<extends name="android/transition/Transition"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/transition/ChangeImageTransform" since="21">
+		<extends name="android/transition/Transition"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/transition/ChangeScroll" since="23">
+		<extends name="android/transition/Transition"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/transition/ChangeTransform" since="21">
+		<extends name="android/transition/Transition"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="getReparent()Z"/>
+		<method name="getReparentWithOverlay()Z"/>
+		<method name="setReparent(Z)V"/>
+		<method name="setReparentWithOverlay(Z)V"/>
+	</class>
+	<class name="android/transition/CircularPropagation" since="21">
+		<extends name="android/transition/VisibilityPropagation"/>
+		<method name="&lt;init>()V"/>
+		<method name="setPropagationSpeed(F)V"/>
+	</class>
+	<class name="android/transition/Explode" since="21">
+		<extends name="android/transition/Visibility"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/transition/Fade" since="19">
+		<extends name="android/transition/Visibility"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21"/>
+		<field name="IN"/>
+		<field name="OUT"/>
+	</class>
+	<class name="android/transition/PathMotion" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="getPath(FFFF)Landroid/graphics/Path;"/>
+	</class>
+	<class name="android/transition/PatternPathMotion" since="21">
+		<extends name="android/transition/PathMotion"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/graphics/Path;)V"/>
+		<method name="getPatternPath()Landroid/graphics/Path;"/>
+		<method name="setPatternPath(Landroid/graphics/Path;)V"/>
+	</class>
+	<class name="android/transition/Scene" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup;Landroid/view/View;)V" since="21"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup;Landroid/view/ViewGroup;)V" deprecated="21"/>
+		<method name="enter()V"/>
+		<method name="exit()V"/>
+		<method name="getCurrentScene(Landroid/view/ViewGroup;)Landroid/transition/Scene;" since="29"/>
+		<method name="getSceneForLayout(Landroid/view/ViewGroup;ILandroid/content/Context;)Landroid/transition/Scene;"/>
+		<method name="getSceneRoot()Landroid/view/ViewGroup;"/>
+		<method name="setEnterAction(Ljava/lang/Runnable;)V"/>
+		<method name="setExitAction(Ljava/lang/Runnable;)V"/>
+	</class>
+	<class name="android/transition/SidePropagation" since="21">
+		<extends name="android/transition/VisibilityPropagation"/>
+		<method name="&lt;init>()V"/>
+		<method name="setPropagationSpeed(F)V"/>
+		<method name="setSide(I)V"/>
+	</class>
+	<class name="android/transition/Slide" since="21">
+		<extends name="android/transition/Visibility"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="getSlideEdge()I"/>
+		<method name="setSlideEdge(I)V"/>
+	</class>
+	<class name="android/transition/Transition" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21"/>
+		<method name="addListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition;"/>
+		<method name="addTarget(I)Landroid/transition/Transition;"/>
+		<method name="addTarget(Landroid/view/View;)Landroid/transition/Transition;"/>
+		<method name="addTarget(Ljava/lang/Class;)Landroid/transition/Transition;" since="21"/>
+		<method name="addTarget(Ljava/lang/String;)Landroid/transition/Transition;" since="21"/>
+		<method name="canRemoveViews()Z" since="21"/>
+		<method name="captureEndValues(Landroid/transition/TransitionValues;)V"/>
+		<method name="captureStartValues(Landroid/transition/TransitionValues;)V"/>
+		<method name="clone()Landroid/transition/Transition;"/>
+		<method name="createAnimator(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;"/>
+		<method name="excludeChildren(IZ)Landroid/transition/Transition;"/>
+		<method name="excludeChildren(Landroid/view/View;Z)Landroid/transition/Transition;"/>
+		<method name="excludeChildren(Ljava/lang/Class;Z)Landroid/transition/Transition;"/>
+		<method name="excludeTarget(IZ)Landroid/transition/Transition;"/>
+		<method name="excludeTarget(Landroid/view/View;Z)Landroid/transition/Transition;"/>
+		<method name="excludeTarget(Ljava/lang/Class;Z)Landroid/transition/Transition;"/>
+		<method name="excludeTarget(Ljava/lang/String;Z)Landroid/transition/Transition;" since="21"/>
+		<method name="getDuration()J"/>
+		<method name="getEpicenter()Landroid/graphics/Rect;" since="21"/>
+		<method name="getEpicenterCallback()Landroid/transition/Transition$EpicenterCallback;" since="21"/>
+		<method name="getInterpolator()Landroid/animation/TimeInterpolator;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPathMotion()Landroid/transition/PathMotion;" since="21"/>
+		<method name="getPropagation()Landroid/transition/TransitionPropagation;" since="21"/>
+		<method name="getStartDelay()J"/>
+		<method name="getTargetIds()Ljava/util/List;"/>
+		<method name="getTargetNames()Ljava/util/List;" since="21"/>
+		<method name="getTargetTypes()Ljava/util/List;" since="21"/>
+		<method name="getTargets()Ljava/util/List;"/>
+		<method name="getTransitionProperties()[Ljava/lang/String;"/>
+		<method name="getTransitionValues(Landroid/view/View;Z)Landroid/transition/TransitionValues;"/>
+		<method name="isTransitionRequired(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Z" since="23"/>
+		<method name="removeListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition;"/>
+		<method name="removeTarget(I)Landroid/transition/Transition;"/>
+		<method name="removeTarget(Landroid/view/View;)Landroid/transition/Transition;"/>
+		<method name="removeTarget(Ljava/lang/Class;)Landroid/transition/Transition;" since="21"/>
+		<method name="removeTarget(Ljava/lang/String;)Landroid/transition/Transition;" since="21"/>
+		<method name="setDuration(J)Landroid/transition/Transition;"/>
+		<method name="setEpicenterCallback(Landroid/transition/Transition$EpicenterCallback;)V" since="21"/>
+		<method name="setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/Transition;"/>
+		<method name="setMatchOrder([I)V" since="21"/>
+		<method name="setPathMotion(Landroid/transition/PathMotion;)V" since="21"/>
+		<method name="setPropagation(Landroid/transition/TransitionPropagation;)V" since="21"/>
+		<method name="setStartDelay(J)Landroid/transition/Transition;"/>
+		<field name="MATCH_ID" since="21"/>
+		<field name="MATCH_INSTANCE" since="21"/>
+		<field name="MATCH_ITEM_ID" since="21"/>
+		<field name="MATCH_NAME" since="21"/>
+	</class>
+	<class name="android/transition/Transition$EpicenterCallback" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onGetEpicenter(Landroid/transition/Transition;)Landroid/graphics/Rect;"/>
+	</class>
+	<class name="android/transition/Transition$TransitionListener" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="onTransitionCancel(Landroid/transition/Transition;)V"/>
+		<method name="onTransitionEnd(Landroid/transition/Transition;)V"/>
+		<method name="onTransitionPause(Landroid/transition/Transition;)V"/>
+		<method name="onTransitionResume(Landroid/transition/Transition;)V"/>
+		<method name="onTransitionStart(Landroid/transition/Transition;)V"/>
+	</class>
+	<class name="android/transition/TransitionInflater" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="from(Landroid/content/Context;)Landroid/transition/TransitionInflater;"/>
+		<method name="inflateTransition(I)Landroid/transition/Transition;"/>
+		<method name="inflateTransitionManager(ILandroid/view/ViewGroup;)Landroid/transition/TransitionManager;"/>
+	</class>
+	<class name="android/transition/TransitionListenerAdapter" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/transition/Transition$TransitionListener"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/transition/TransitionManager" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="beginDelayedTransition(Landroid/view/ViewGroup;)V"/>
+		<method name="beginDelayedTransition(Landroid/view/ViewGroup;Landroid/transition/Transition;)V"/>
+		<method name="endTransitions(Landroid/view/ViewGroup;)V" since="23"/>
+		<method name="go(Landroid/transition/Scene;)V"/>
+		<method name="go(Landroid/transition/Scene;Landroid/transition/Transition;)V"/>
+		<method name="setTransition(Landroid/transition/Scene;Landroid/transition/Scene;Landroid/transition/Transition;)V"/>
+		<method name="setTransition(Landroid/transition/Scene;Landroid/transition/Transition;)V"/>
+		<method name="transitionTo(Landroid/transition/Scene;)V"/>
+	</class>
+	<class name="android/transition/TransitionPropagation" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="captureValues(Landroid/transition/TransitionValues;)V"/>
+		<method name="getPropagationProperties()[Ljava/lang/String;"/>
+		<method name="getStartDelay(Landroid/view/ViewGroup;Landroid/transition/Transition;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)J"/>
+	</class>
+	<class name="android/transition/TransitionSet" since="19">
+		<extends name="android/transition/Transition"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21"/>
+		<method name="addListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/TransitionSet;"/>
+		<method name="addTarget(I)Landroid/transition/TransitionSet;"/>
+		<method name="addTarget(Landroid/view/View;)Landroid/transition/TransitionSet;"/>
+		<method name="addTarget(Ljava/lang/Class;)Landroid/transition/TransitionSet;" since="21"/>
+		<method name="addTarget(Ljava/lang/String;)Landroid/transition/TransitionSet;" since="21"/>
+		<method name="addTransition(Landroid/transition/Transition;)Landroid/transition/TransitionSet;"/>
+		<method name="clone()Landroid/transition/TransitionSet;"/>
+		<method name="getOrdering()I"/>
+		<method name="getTransitionAt(I)Landroid/transition/Transition;" since="21"/>
+		<method name="getTransitionCount()I" since="21"/>
+		<method name="removeListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/TransitionSet;"/>
+		<method name="removeTarget(I)Landroid/transition/TransitionSet;"/>
+		<method name="removeTarget(Landroid/view/View;)Landroid/transition/TransitionSet;"/>
+		<method name="removeTarget(Ljava/lang/Class;)Landroid/transition/TransitionSet;" since="21"/>
+		<method name="removeTarget(Ljava/lang/String;)Landroid/transition/TransitionSet;" since="21"/>
+		<method name="removeTransition(Landroid/transition/Transition;)Landroid/transition/TransitionSet;"/>
+		<method name="setDuration(J)Landroid/transition/TransitionSet;"/>
+		<method name="setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/TransitionSet;"/>
+		<method name="setOrdering(I)Landroid/transition/TransitionSet;"/>
+		<method name="setStartDelay(J)Landroid/transition/TransitionSet;"/>
+		<field name="ORDERING_SEQUENTIAL"/>
+		<field name="ORDERING_TOGETHER"/>
+	</class>
+	<class name="android/transition/TransitionValues" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/view/View;)V" since="29"/>
+		<field name="values"/>
+		<field name="view"/>
+	</class>
+	<class name="android/transition/Visibility" since="19">
+		<extends name="android/transition/Transition"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="21"/>
+		<method name="getMode()I" since="21"/>
+		<method name="isVisible(Landroid/transition/TransitionValues;)Z"/>
+		<method name="onAppear(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;ILandroid/transition/TransitionValues;I)Landroid/animation/Animator;"/>
+		<method name="onAppear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;" since="21"/>
+		<method name="onDisappear(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;ILandroid/transition/TransitionValues;I)Landroid/animation/Animator;"/>
+		<method name="onDisappear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;" since="21"/>
+		<method name="setMode(I)V" since="21"/>
+		<field name="MODE_IN" since="21"/>
+		<field name="MODE_OUT" since="21"/>
+	</class>
+	<class name="android/transition/VisibilityPropagation" since="21">
+		<extends name="android/transition/TransitionPropagation"/>
+		<method name="&lt;init>()V"/>
+		<method name="getViewVisibility(Landroid/transition/TransitionValues;)I"/>
+		<method name="getViewX(Landroid/transition/TransitionValues;)I"/>
+		<method name="getViewY(Landroid/transition/TransitionValues;)I"/>
+	</class>
+	<class name="android/util/AndroidException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="11"/>
+	</class>
+	<class name="android/util/AndroidRuntimeException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="11"/>
+	</class>
+	<class name="android/util/ArrayMap" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Map"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/util/ArrayMap;)V"/>
+		<method name="containsAll(Ljava/util/Collection;)Z"/>
+		<method name="ensureCapacity(I)V"/>
+		<method name="indexOfKey(Ljava/lang/Object;)I" since="21"/>
+		<method name="indexOfValue(Ljava/lang/Object;)I" since="29"/>
+		<method name="keyAt(I)Ljava/lang/Object;"/>
+		<method name="putAll(Landroid/util/ArrayMap;)V"/>
+		<method name="removeAll(Ljava/util/Collection;)Z"/>
+		<method name="removeAt(I)Ljava/lang/Object;"/>
+		<method name="retainAll(Ljava/util/Collection;)Z"/>
+		<method name="setValueAt(ILjava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="valueAt(I)Ljava/lang/Object;"/>
+	</class>
+	<class name="android/util/ArraySet" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Collection"/>
+		<implements name="java/util/Set"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Landroid/util/ArraySet;)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V" since="29"/>
+		<method name="&lt;init>([Ljava/lang/Object;)V" since="30"/>
+		<method name="addAll(Landroid/util/ArraySet;)V"/>
+		<method name="ensureCapacity(I)V"/>
+		<method name="indexOf(Ljava/lang/Object;)I"/>
+		<method name="removeAll(Landroid/util/ArraySet;)Z"/>
+		<method name="removeAt(I)Ljava/lang/Object;"/>
+		<method name="valueAt(I)Ljava/lang/Object;"/>
+	</class>
+	<class name="android/util/AtomicFile" since="17">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="delete()V"/>
+		<method name="failWrite(Ljava/io/FileOutputStream;)V"/>
+		<method name="finishWrite(Ljava/io/FileOutputStream;)V"/>
+		<method name="getBaseFile()Ljava/io/File;"/>
+		<method name="getLastModifiedTime()J" since="31"/>
+		<method name="openRead()Ljava/io/FileInputStream;"/>
+		<method name="readFully()[B"/>
+		<method name="startWrite()Ljava/io/FileOutputStream;"/>
+	</class>
+	<class name="android/util/AttributeSet" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getAttributeBooleanValue(IZ)Z"/>
+		<method name="getAttributeBooleanValue(Ljava/lang/String;Ljava/lang/String;Z)Z"/>
+		<method name="getAttributeCount()I"/>
+		<method name="getAttributeFloatValue(IF)F"/>
+		<method name="getAttributeFloatValue(Ljava/lang/String;Ljava/lang/String;F)F"/>
+		<method name="getAttributeIntValue(II)I"/>
+		<method name="getAttributeIntValue(Ljava/lang/String;Ljava/lang/String;I)I"/>
+		<method name="getAttributeListValue(I[Ljava/lang/String;I)I"/>
+		<method name="getAttributeListValue(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;I)I"/>
+		<method name="getAttributeName(I)Ljava/lang/String;"/>
+		<method name="getAttributeNameResource(I)I"/>
+		<method name="getAttributeNamespace(I)Ljava/lang/String;" since="28"/>
+		<method name="getAttributeResourceValue(II)I"/>
+		<method name="getAttributeResourceValue(Ljava/lang/String;Ljava/lang/String;I)I"/>
+		<method name="getAttributeUnsignedIntValue(II)I"/>
+		<method name="getAttributeUnsignedIntValue(Ljava/lang/String;Ljava/lang/String;I)I"/>
+		<method name="getAttributeValue(I)Ljava/lang/String;"/>
+		<method name="getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getClassAttribute()Ljava/lang/String;"/>
+		<method name="getIdAttribute()Ljava/lang/String;"/>
+		<method name="getIdAttributeResourceValue(I)I"/>
+		<method name="getPositionDescription()Ljava/lang/String;"/>
+		<method name="getStyleAttribute()I"/>
+	</class>
+	<class name="android/util/Base64" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="decode(Ljava/lang/String;I)[B"/>
+		<method name="decode([BI)[B"/>
+		<method name="decode([BIII)[B"/>
+		<method name="encode([BI)[B"/>
+		<method name="encode([BIII)[B"/>
+		<method name="encodeToString([BI)Ljava/lang/String;"/>
+		<method name="encodeToString([BIII)Ljava/lang/String;"/>
+		<field name="CRLF"/>
+		<field name="DEFAULT"/>
+		<field name="NO_CLOSE"/>
+		<field name="NO_PADDING"/>
+		<field name="NO_WRAP"/>
+		<field name="URL_SAFE"/>
+	</class>
+	<class name="android/util/Base64DataException" since="11">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/util/Base64InputStream" since="8">
+		<extends name="java/io/FilterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;I)V"/>
+	</class>
+	<class name="android/util/Base64OutputStream" since="8">
+		<extends name="java/io/FilterOutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;I)V"/>
+	</class>
+	<class name="android/util/CloseGuard" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="close()V"/>
+		<method name="open(Ljava/lang/String;)V"/>
+		<method name="warnIfOpen()V"/>
+	</class>
+	<class name="android/util/Config" since="1" deprecated="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="12"/>
+		<field name="DEBUG" deprecated="15"/>
+		<field name="LOGD" deprecated="15"/>
+		<field name="LOGV" deprecated="15"/>
+		<field name="PROFILE" deprecated="15"/>
+		<field name="RELEASE" deprecated="15"/>
+	</class>
+	<class name="android/util/DebugUtils" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="12"/>
+		<method name="isObjectSelected(Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="android/util/DisplayMetrics" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="equals(Landroid/util/DisplayMetrics;)Z" since="17"/>
+		<method name="setTo(Landroid/util/DisplayMetrics;)V"/>
+		<method name="setToDefaults()V"/>
+		<field name="DENSITY_140" since="29"/>
+		<field name="DENSITY_180" since="29"/>
+		<field name="DENSITY_200" since="29"/>
+		<field name="DENSITY_220" since="29"/>
+		<field name="DENSITY_260" since="25"/>
+		<field name="DENSITY_280" since="22"/>
+		<field name="DENSITY_300" since="25"/>
+		<field name="DENSITY_340" since="25"/>
+		<field name="DENSITY_360" since="23"/>
+		<field name="DENSITY_400" since="19"/>
+		<field name="DENSITY_420" since="23"/>
+		<field name="DENSITY_440" since="28"/>
+		<field name="DENSITY_450" since="29"/>
+		<field name="DENSITY_560" since="21"/>
+		<field name="DENSITY_600" since="29"/>
+		<field name="DENSITY_DEFAULT" since="4"/>
+		<field name="DENSITY_DEVICE_STABLE" since="24"/>
+		<field name="DENSITY_HIGH" since="4"/>
+		<field name="DENSITY_LOW" since="4"/>
+		<field name="DENSITY_MEDIUM" since="4"/>
+		<field name="DENSITY_TV" since="13"/>
+		<field name="DENSITY_XHIGH" since="9"/>
+		<field name="DENSITY_XXHIGH" since="16"/>
+		<field name="DENSITY_XXXHIGH" since="18"/>
+		<field name="density"/>
+		<field name="densityDpi" since="4"/>
+		<field name="heightPixels"/>
+		<field name="scaledDensity"/>
+		<field name="widthPixels"/>
+		<field name="xdpi"/>
+		<field name="ydpi"/>
+	</class>
+	<class name="android/util/EventLog" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="12"/>
+		<method name="getTagCode(Ljava/lang/String;)I"/>
+		<method name="getTagName(I)Ljava/lang/String;"/>
+		<method name="readEvents([ILjava/util/Collection;)V"/>
+		<method name="writeEvent(IF)I" since="23"/>
+		<method name="writeEvent(II)I"/>
+		<method name="writeEvent(IJ)I"/>
+		<method name="writeEvent(ILjava/lang/String;)I"/>
+		<method name="writeEvent(I[Ljava/lang/Object;)I"/>
+	</class>
+	<class name="android/util/EventLog$Event" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getData()Ljava/lang/Object;"/>
+		<method name="getProcessId()I"/>
+		<method name="getTag()I"/>
+		<method name="getThreadId()I"/>
+		<method name="getTimeNanos()J"/>
+	</class>
+	<class name="android/util/EventLogTags" since="1" deprecated="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/io/BufferedReader;)V" deprecated="29"/>
+		<method name="get(I)Landroid/util/EventLogTags$Description;" deprecated="29"/>
+		<method name="get(Ljava/lang/String;)Landroid/util/EventLogTags$Description;" deprecated="29"/>
+	</class>
+	<class name="android/util/EventLogTags$Description" since="1" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<field name="mName" deprecated="29"/>
+		<field name="mTag" deprecated="29"/>
+	</class>
+	<class name="android/util/FloatMath" since="1" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<method name="ceil(F)F" removed="23"/>
+		<method name="cos(F)F" removed="23"/>
+		<method name="exp(F)F" since="17" removed="23"/>
+		<method name="floor(F)F" removed="23"/>
+		<method name="hypot(FF)F" since="17" removed="23"/>
+		<method name="pow(FF)F" since="17" removed="23"/>
+		<method name="sin(F)F" removed="23"/>
+		<method name="sqrt(F)F" removed="23"/>
+	</class>
+	<class name="android/util/FloatProperty" since="24">
+		<extends name="android/util/Property"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="set(Ljava/lang/Object;Ljava/lang/Float;)V"/>
+		<method name="setValue(Ljava/lang/Object;F)V"/>
+	</class>
+	<class name="android/util/Half" since="26">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(D)V"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(S)V"/>
+		<method name="abs(S)S"/>
+		<method name="ceil(S)S"/>
+		<method name="compare(SS)I"/>
+		<method name="compareTo(Landroid/util/Half;)I"/>
+		<method name="copySign(SS)S"/>
+		<method name="equals(SS)Z"/>
+		<method name="floor(S)S"/>
+		<method name="getExponent(S)I"/>
+		<method name="getSign(S)I"/>
+		<method name="getSignificand(S)I"/>
+		<method name="greater(SS)Z"/>
+		<method name="greaterEquals(SS)Z"/>
+		<method name="halfToIntBits(S)I"/>
+		<method name="halfToRawIntBits(S)I"/>
+		<method name="halfToShortBits(S)S"/>
+		<method name="halfValue()S"/>
+		<method name="hashCode(S)I"/>
+		<method name="intBitsToHalf(I)S"/>
+		<method name="isInfinite(S)Z"/>
+		<method name="isNaN()Z"/>
+		<method name="isNaN(S)Z"/>
+		<method name="isNormalized(S)Z"/>
+		<method name="less(SS)Z"/>
+		<method name="lessEquals(SS)Z"/>
+		<method name="max(SS)S"/>
+		<method name="min(SS)S"/>
+		<method name="parseHalf(Ljava/lang/String;)S"/>
+		<method name="round(S)S"/>
+		<method name="toFloat(S)F"/>
+		<method name="toHalf(F)S"/>
+		<method name="toHexString(S)Ljava/lang/String;"/>
+		<method name="toString(S)Ljava/lang/String;"/>
+		<method name="trunc(S)S"/>
+		<method name="valueOf(F)Landroid/util/Half;"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/util/Half;"/>
+		<method name="valueOf(S)Landroid/util/Half;"/>
+		<field name="EPSILON"/>
+		<field name="LOWEST_VALUE"/>
+		<field name="MAX_EXPONENT"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_EXPONENT"/>
+		<field name="MIN_NORMAL"/>
+		<field name="MIN_VALUE"/>
+		<field name="NEGATIVE_INFINITY"/>
+		<field name="NEGATIVE_ZERO"/>
+		<field name="NaN"/>
+		<field name="POSITIVE_INFINITY"/>
+		<field name="POSITIVE_ZERO"/>
+		<field name="SIZE"/>
+	</class>
+	<class name="android/util/IntProperty" since="24">
+		<extends name="android/util/Property"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="set(Ljava/lang/Object;Ljava/lang/Integer;)V"/>
+		<method name="setValue(Ljava/lang/Object;I)V"/>
+	</class>
+	<class name="android/util/JsonReader" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="&lt;init>(Ljava/io/Reader;)V"/>
+		<method name="beginArray()V"/>
+		<method name="beginObject()V"/>
+		<method name="endArray()V"/>
+		<method name="endObject()V"/>
+		<method name="hasNext()Z"/>
+		<method name="isLenient()Z"/>
+		<method name="nextBoolean()Z"/>
+		<method name="nextDouble()D"/>
+		<method name="nextInt()I"/>
+		<method name="nextLong()J"/>
+		<method name="nextName()Ljava/lang/String;"/>
+		<method name="nextNull()V"/>
+		<method name="nextString()Ljava/lang/String;"/>
+		<method name="peek()Landroid/util/JsonToken;"/>
+		<method name="setLenient(Z)V"/>
+		<method name="skipValue()V"/>
+	</class>
+	<class name="android/util/JsonToken" since="11">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/util/JsonToken;"/>
+		<method name="values()[Landroid/util/JsonToken;"/>
+		<field name="BEGIN_ARRAY"/>
+		<field name="BEGIN_OBJECT"/>
+		<field name="BOOLEAN"/>
+		<field name="END_ARRAY"/>
+		<field name="END_DOCUMENT"/>
+		<field name="END_OBJECT"/>
+		<field name="NAME"/>
+		<field name="NULL"/>
+		<field name="NUMBER"/>
+		<field name="STRING"/>
+	</class>
+	<class name="android/util/JsonWriter" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="&lt;init>(Ljava/io/Writer;)V"/>
+		<method name="beginArray()Landroid/util/JsonWriter;"/>
+		<method name="beginObject()Landroid/util/JsonWriter;"/>
+		<method name="endArray()Landroid/util/JsonWriter;"/>
+		<method name="endObject()Landroid/util/JsonWriter;"/>
+		<method name="flush()V"/>
+		<method name="isLenient()Z"/>
+		<method name="name(Ljava/lang/String;)Landroid/util/JsonWriter;"/>
+		<method name="nullValue()Landroid/util/JsonWriter;"/>
+		<method name="setIndent(Ljava/lang/String;)V"/>
+		<method name="setLenient(Z)V"/>
+		<method name="value(D)Landroid/util/JsonWriter;"/>
+		<method name="value(J)Landroid/util/JsonWriter;"/>
+		<method name="value(Ljava/lang/Number;)Landroid/util/JsonWriter;"/>
+		<method name="value(Ljava/lang/String;)Landroid/util/JsonWriter;"/>
+		<method name="value(Z)Landroid/util/JsonWriter;"/>
+	</class>
+	<class name="android/util/LayoutDirection" since="19">
+		<extends name="java/lang/Object"/>
+		<field name="INHERIT"/>
+		<field name="LOCALE"/>
+		<field name="LTR"/>
+		<field name="RTL"/>
+	</class>
+	<class name="android/util/Log" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="d(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I"/>
+		<method name="e(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I"/>
+		<method name="getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;"/>
+		<method name="i(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I"/>
+		<method name="isLoggable(Ljava/lang/String;I)Z"/>
+		<method name="println(ILjava/lang/String;Ljava/lang/String;)I"/>
+		<method name="v(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="v(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I"/>
+		<method name="w(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I"/>
+		<method name="w(Ljava/lang/String;Ljava/lang/Throwable;)I"/>
+		<method name="wtf(Ljava/lang/String;Ljava/lang/String;)I" since="8"/>
+		<method name="wtf(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I" since="8"/>
+		<method name="wtf(Ljava/lang/String;Ljava/lang/Throwable;)I" since="8"/>
+		<field name="ASSERT"/>
+		<field name="DEBUG"/>
+		<field name="ERROR"/>
+		<field name="INFO"/>
+		<field name="VERBOSE"/>
+		<field name="WARN"/>
+	</class>
+	<class name="android/util/LogPrinter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/util/Printer"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+	</class>
+	<class name="android/util/LongSparseArray" since="16">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="append(JLjava/lang/Object;)V"/>
+		<method name="clear()V"/>
+		<method name="clone()Landroid/util/LongSparseArray;"/>
+		<method name="delete(J)V"/>
+		<method name="get(J)Ljava/lang/Object;"/>
+		<method name="get(JLjava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="indexOfKey(J)I"/>
+		<method name="indexOfValue(Ljava/lang/Object;)I"/>
+		<method name="keyAt(I)J"/>
+		<method name="put(JLjava/lang/Object;)V"/>
+		<method name="remove(J)V"/>
+		<method name="removeAt(I)V"/>
+		<method name="setValueAt(ILjava/lang/Object;)V"/>
+		<method name="size()I"/>
+		<method name="valueAt(I)Ljava/lang/Object;"/>
+	</class>
+	<class name="android/util/LruCache" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="create(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="createCount()I"/>
+		<method name="entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="evictAll()V"/>
+		<method name="evictionCount()I"/>
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="hitCount()I"/>
+		<method name="maxSize()I"/>
+		<method name="missCount()I"/>
+		<method name="put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="putCount()I"/>
+		<method name="remove(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="resize(I)V" since="21"/>
+		<method name="size()I"/>
+		<method name="sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I"/>
+		<method name="snapshot()Ljava/util/Map;"/>
+		<method name="trimToSize(I)V" since="17"/>
+	</class>
+	<class name="android/util/MalformedJsonException" since="11">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/util/MonthDisplayHelper" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="getColumnOf(I)I"/>
+		<method name="getDayAt(II)I"/>
+		<method name="getDigitsForRow(I)[I"/>
+		<method name="getFirstDayOfMonth()I"/>
+		<method name="getMonth()I"/>
+		<method name="getNumberOfDaysInMonth()I"/>
+		<method name="getOffset()I"/>
+		<method name="getRowOf(I)I"/>
+		<method name="getWeekStartDay()I"/>
+		<method name="getYear()I"/>
+		<method name="isWithinCurrentMonth(II)Z"/>
+		<method name="nextMonth()V"/>
+		<method name="previousMonth()V"/>
+	</class>
+	<class name="android/util/MutableBoolean" since="21" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Z)V" deprecated="29"/>
+		<field name="value" deprecated="29"/>
+	</class>
+	<class name="android/util/MutableByte" since="21" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(B)V" deprecated="29"/>
+		<field name="value" deprecated="29"/>
+	</class>
+	<class name="android/util/MutableChar" since="21" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(C)V" deprecated="29"/>
+		<field name="value" deprecated="29"/>
+	</class>
+	<class name="android/util/MutableDouble" since="21" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(D)V" deprecated="29"/>
+		<field name="value" deprecated="29"/>
+	</class>
+	<class name="android/util/MutableFloat" since="21" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(F)V" deprecated="29"/>
+		<field name="value" deprecated="29"/>
+	</class>
+	<class name="android/util/MutableInt" since="21" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V" deprecated="29"/>
+		<field name="value" deprecated="29"/>
+	</class>
+	<class name="android/util/MutableLong" since="21" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(J)V" deprecated="29"/>
+		<field name="value" deprecated="29"/>
+	</class>
+	<class name="android/util/MutableShort" since="21" deprecated="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(S)V" deprecated="29"/>
+		<field name="value" deprecated="29"/>
+	</class>
+	<class name="android/util/NoSuchPropertyException" since="14">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/util/Pair" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;"/>
+		<field name="first"/>
+		<field name="second"/>
+	</class>
+	<class name="android/util/Patterns" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="concatGroups(Ljava/util/regex/Matcher;)Ljava/lang/String;"/>
+		<method name="digitsAndPlusOnly(Ljava/util/regex/Matcher;)Ljava/lang/String;"/>
+		<field name="DOMAIN_NAME"/>
+		<field name="EMAIL_ADDRESS"/>
+		<field name="GOOD_IRI_CHAR" deprecated="24"/>
+		<field name="IP_ADDRESS" deprecated="31"/>
+		<field name="PHONE"/>
+		<field name="TOP_LEVEL_DOMAIN" deprecated="21"/>
+		<field name="TOP_LEVEL_DOMAIN_STR" deprecated="21"/>
+		<field name="TOP_LEVEL_DOMAIN_STR_FOR_WEB_URL" deprecated="21"/>
+		<field name="WEB_URL"/>
+	</class>
+	<class name="android/util/PrintStreamPrinter" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/util/Printer"/>
+		<method name="&lt;init>(Ljava/io/PrintStream;)V"/>
+	</class>
+	<class name="android/util/PrintWriterPrinter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/util/Printer"/>
+		<method name="&lt;init>(Ljava/io/PrintWriter;)V"/>
+	</class>
+	<class name="android/util/Printer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="println(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/util/Property" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/Class;Ljava/lang/String;)V"/>
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getType()Ljava/lang/Class;"/>
+		<method name="isReadOnly()Z"/>
+		<method name="of(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Landroid/util/Property;"/>
+		<method name="set(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/util/Range" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/Comparable;Ljava/lang/Comparable;)V"/>
+		<method name="clamp(Ljava/lang/Comparable;)Ljava/lang/Comparable;"/>
+		<method name="contains(Landroid/util/Range;)Z"/>
+		<method name="contains(Ljava/lang/Comparable;)Z"/>
+		<method name="create(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;"/>
+		<method name="extend(Landroid/util/Range;)Landroid/util/Range;"/>
+		<method name="extend(Ljava/lang/Comparable;)Landroid/util/Range;"/>
+		<method name="extend(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;"/>
+		<method name="getLower()Ljava/lang/Comparable;"/>
+		<method name="getUpper()Ljava/lang/Comparable;"/>
+		<method name="intersect(Landroid/util/Range;)Landroid/util/Range;"/>
+		<method name="intersect(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;"/>
+	</class>
+	<class name="android/util/Rational" since="21">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="compareTo(Landroid/util/Rational;)I"/>
+		<method name="getDenominator()I"/>
+		<method name="getNumerator()I"/>
+		<method name="isFinite()Z"/>
+		<method name="isInfinite()Z"/>
+		<method name="isNaN()Z"/>
+		<method name="isZero()Z"/>
+		<method name="parseRational(Ljava/lang/String;)Landroid/util/Rational;"/>
+		<field name="NEGATIVE_INFINITY"/>
+		<field name="NaN"/>
+		<field name="POSITIVE_INFINITY"/>
+		<field name="ZERO"/>
+	</class>
+	<class name="android/util/Size" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getHeight()I"/>
+		<method name="getWidth()I"/>
+		<method name="parseSize(Ljava/lang/String;)Landroid/util/Size;"/>
+	</class>
+	<class name="android/util/SizeF" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="31"/>
+		<method name="&lt;init>(FF)V"/>
+		<method name="getHeight()F"/>
+		<method name="getWidth()F"/>
+		<method name="parseSizeF(Ljava/lang/String;)Landroid/util/SizeF;"/>
+		<field name="CREATOR" since="31"/>
+	</class>
+	<class name="android/util/SparseArray" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable" since="14"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="append(ILjava/lang/Object;)V"/>
+		<method name="clear()V"/>
+		<method name="clone()Landroid/util/SparseArray;" since="14"/>
+		<method name="contains(I)Z" since="30"/>
+		<method name="contentEquals(Landroid/util/SparseArray;)Z" since="31"/>
+		<method name="contentHashCode()I" since="31"/>
+		<method name="delete(I)V"/>
+		<method name="get(I)Ljava/lang/Object;"/>
+		<method name="get(ILjava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="indexOfKey(I)I"/>
+		<method name="indexOfValue(Ljava/lang/Object;)I"/>
+		<method name="keyAt(I)I"/>
+		<method name="put(ILjava/lang/Object;)V"/>
+		<method name="remove(I)V"/>
+		<method name="removeAt(I)V" since="11"/>
+		<method name="removeAtRange(II)V" since="19"/>
+		<method name="set(ILjava/lang/Object;)V" since="31"/>
+		<method name="setValueAt(ILjava/lang/Object;)V"/>
+		<method name="size()I"/>
+		<method name="valueAt(I)Ljava/lang/Object;"/>
+	</class>
+	<class name="android/util/SparseBooleanArray" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable" since="14"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="append(IZ)V"/>
+		<method name="clear()V"/>
+		<method name="clone()Landroid/util/SparseBooleanArray;" since="14"/>
+		<method name="delete(I)V"/>
+		<method name="get(I)Z"/>
+		<method name="get(IZ)Z"/>
+		<method name="indexOfKey(I)I"/>
+		<method name="indexOfValue(Z)I"/>
+		<method name="keyAt(I)I"/>
+		<method name="put(IZ)V"/>
+		<method name="removeAt(I)V" since="28"/>
+		<method name="setValueAt(IZ)V" since="29"/>
+		<method name="size()I"/>
+		<method name="valueAt(I)Z"/>
+	</class>
+	<class name="android/util/SparseIntArray" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable" since="14"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="append(II)V"/>
+		<method name="clear()V"/>
+		<method name="clone()Landroid/util/SparseIntArray;" since="14"/>
+		<method name="delete(I)V"/>
+		<method name="get(I)I"/>
+		<method name="get(II)I"/>
+		<method name="indexOfKey(I)I"/>
+		<method name="indexOfValue(I)I"/>
+		<method name="keyAt(I)I"/>
+		<method name="put(II)V"/>
+		<method name="removeAt(I)V" since="3"/>
+		<method name="setValueAt(II)V" since="29"/>
+		<method name="size()I"/>
+		<method name="valueAt(I)I"/>
+	</class>
+	<class name="android/util/SparseLongArray" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="append(IJ)V"/>
+		<method name="clear()V"/>
+		<method name="clone()Landroid/util/SparseLongArray;"/>
+		<method name="delete(I)V"/>
+		<method name="get(I)J"/>
+		<method name="get(IJ)J"/>
+		<method name="indexOfKey(I)I"/>
+		<method name="indexOfValue(J)I"/>
+		<method name="keyAt(I)I"/>
+		<method name="put(IJ)V"/>
+		<method name="removeAt(I)V"/>
+		<method name="size()I"/>
+		<method name="valueAt(I)J"/>
+	</class>
+	<class name="android/util/StateSet" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="12"/>
+		<method name="dump([I)Ljava/lang/String;"/>
+		<method name="isWildCard([I)Z"/>
+		<method name="stateSetMatches([II)Z"/>
+		<method name="stateSetMatches([I[I)Z"/>
+		<method name="trimStateSet([II)[I"/>
+		<field name="NOTHING" since="11"/>
+		<field name="WILD_CARD"/>
+	</class>
+	<class name="android/util/StatsLog" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="logBinaryPushStateChanged(Ljava/lang/String;JII[J)Z" since="29"/>
+		<method name="logEvent(I)Z"/>
+		<method name="logStart(I)Z"/>
+		<method name="logStop(I)Z"/>
+	</class>
+	<class name="android/util/StringBuilderPrinter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/util/Printer"/>
+		<method name="&lt;init>(Ljava/lang/StringBuilder;)V"/>
+	</class>
+	<class name="android/util/TimeFormatException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+	</class>
+	<class name="android/util/TimeUtils" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="12"/>
+		<method name="getTimeZone(IZJLjava/lang/String;)Ljava/util/TimeZone;"/>
+		<method name="getTimeZoneDatabaseVersion()Ljava/lang/String;" since="3"/>
+		<method name="getTimeZoneIdsForCountryCode(Ljava/lang/String;)Ljava/util/List;" since="29"/>
+		<method name="isTimeBetween(Ljava/time/LocalTime;Ljava/time/LocalTime;Ljava/time/LocalTime;)Z" since="30"/>
+	</class>
+	<class name="android/util/TimingLogger" since="1" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V" deprecated="30"/>
+		<method name="addSplit(Ljava/lang/String;)V" deprecated="30"/>
+		<method name="dumpToLog()V" deprecated="30"/>
+		<method name="reset()V" deprecated="30"/>
+		<method name="reset(Ljava/lang/String;Ljava/lang/String;)V" deprecated="30"/>
+	</class>
+	<class name="android/util/TypedValue" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="applyDimension(IFLandroid/util/DisplayMetrics;)F"/>
+		<method name="coerceToString()Ljava/lang/CharSequence;"/>
+		<method name="coerceToString(II)Ljava/lang/String;"/>
+		<method name="complexToDimension(ILandroid/util/DisplayMetrics;)F"/>
+		<method name="complexToDimensionNoisy(ILandroid/util/DisplayMetrics;)F" removed="20"/>
+		<method name="complexToDimensionPixelOffset(ILandroid/util/DisplayMetrics;)I"/>
+		<method name="complexToDimensionPixelSize(ILandroid/util/DisplayMetrics;)I"/>
+		<method name="complexToFloat(I)F"/>
+		<method name="complexToFraction(IFF)F"/>
+		<method name="getComplexUnit()I" since="22"/>
+		<method name="getDimension(Landroid/util/DisplayMetrics;)F"/>
+		<method name="getFloat()F"/>
+		<method name="getFraction(FF)F"/>
+		<method name="isColorType()Z" since="29"/>
+		<method name="setTo(Landroid/util/TypedValue;)V"/>
+		<field name="COMPLEX_MANTISSA_MASK"/>
+		<field name="COMPLEX_MANTISSA_SHIFT"/>
+		<field name="COMPLEX_RADIX_0p23"/>
+		<field name="COMPLEX_RADIX_16p7"/>
+		<field name="COMPLEX_RADIX_23p0"/>
+		<field name="COMPLEX_RADIX_8p15"/>
+		<field name="COMPLEX_RADIX_MASK"/>
+		<field name="COMPLEX_RADIX_SHIFT"/>
+		<field name="COMPLEX_UNIT_DIP"/>
+		<field name="COMPLEX_UNIT_FRACTION"/>
+		<field name="COMPLEX_UNIT_FRACTION_PARENT"/>
+		<field name="COMPLEX_UNIT_IN"/>
+		<field name="COMPLEX_UNIT_MASK"/>
+		<field name="COMPLEX_UNIT_MM"/>
+		<field name="COMPLEX_UNIT_PT"/>
+		<field name="COMPLEX_UNIT_PX"/>
+		<field name="COMPLEX_UNIT_SHIFT"/>
+		<field name="COMPLEX_UNIT_SP"/>
+		<field name="DATA_NULL_EMPTY" since="22"/>
+		<field name="DATA_NULL_UNDEFINED" since="22"/>
+		<field name="DENSITY_DEFAULT" since="4"/>
+		<field name="DENSITY_NONE" since="4"/>
+		<field name="TYPE_ATTRIBUTE"/>
+		<field name="TYPE_DIMENSION"/>
+		<field name="TYPE_FIRST_COLOR_INT"/>
+		<field name="TYPE_FIRST_INT"/>
+		<field name="TYPE_FLOAT"/>
+		<field name="TYPE_FRACTION"/>
+		<field name="TYPE_INT_BOOLEAN"/>
+		<field name="TYPE_INT_COLOR_ARGB4"/>
+		<field name="TYPE_INT_COLOR_ARGB8"/>
+		<field name="TYPE_INT_COLOR_RGB4"/>
+		<field name="TYPE_INT_COLOR_RGB8"/>
+		<field name="TYPE_INT_DEC"/>
+		<field name="TYPE_INT_HEX"/>
+		<field name="TYPE_LAST_COLOR_INT"/>
+		<field name="TYPE_LAST_INT"/>
+		<field name="TYPE_NULL"/>
+		<field name="TYPE_REFERENCE"/>
+		<field name="TYPE_STRING"/>
+		<field name="assetCookie"/>
+		<field name="changingConfigurations"/>
+		<field name="data"/>
+		<field name="density" since="4"/>
+		<field name="resourceId"/>
+		<field name="sourceResourceId" since="29"/>
+		<field name="string"/>
+		<field name="type"/>
+	</class>
+	<class name="android/util/Xml" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="12"/>
+		<method name="asAttributeSet(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/AttributeSet;"/>
+		<method name="findEncodingByName(Ljava/lang/String;)Landroid/util/Xml$Encoding;"/>
+		<method name="newPullParser()Lorg/xmlpull/v1/XmlPullParser;"/>
+		<method name="newSerializer()Lorg/xmlpull/v1/XmlSerializer;"/>
+		<method name="parse(Ljava/io/InputStream;Landroid/util/Xml$Encoding;Lorg/xml/sax/ContentHandler;)V"/>
+		<method name="parse(Ljava/io/Reader;Lorg/xml/sax/ContentHandler;)V"/>
+		<method name="parse(Ljava/lang/String;Lorg/xml/sax/ContentHandler;)V"/>
+		<field name="FEATURE_RELAXED"/>
+	</class>
+	<class name="android/util/Xml$Encoding" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/util/Xml$Encoding;"/>
+		<method name="values()[Landroid/util/Xml$Encoding;"/>
+		<field name="ISO_8859_1"/>
+		<field name="US_ASCII"/>
+		<field name="UTF_16"/>
+		<field name="UTF_8"/>
+	</class>
+	<class name="android/util/proto/ProtoOutputStream" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="checkFieldId(JJ)I"/>
+		<method name="dump(Ljava/lang/String;)V"/>
+		<method name="end(J)V"/>
+		<method name="flush()V"/>
+		<method name="getBytes()[B"/>
+		<method name="getFieldCountString(J)Ljava/lang/String;"/>
+		<method name="getFieldIdString(J)Ljava/lang/String;"/>
+		<method name="getFieldTypeString(J)Ljava/lang/String;"/>
+		<method name="getRawSize()I"/>
+		<method name="getWireTypeString(I)Ljava/lang/String;"/>
+		<method name="makeFieldId(IJ)J"/>
+		<method name="makeToken(IZIII)J"/>
+		<method name="start(J)J"/>
+		<method name="token2String(J)Ljava/lang/String;"/>
+		<method name="write(JD)V"/>
+		<method name="write(JF)V"/>
+		<method name="write(JI)V"/>
+		<method name="write(JJ)V"/>
+		<method name="write(JLjava/lang/String;)V"/>
+		<method name="write(JZ)V"/>
+		<method name="write(J[B)V"/>
+		<method name="writeTag(II)V"/>
+		<field name="FIELD_COUNT_MASK"/>
+		<field name="FIELD_COUNT_PACKED"/>
+		<field name="FIELD_COUNT_REPEATED"/>
+		<field name="FIELD_COUNT_SHIFT"/>
+		<field name="FIELD_COUNT_SINGLE"/>
+		<field name="FIELD_COUNT_UNKNOWN"/>
+		<field name="FIELD_ID_SHIFT"/>
+		<field name="FIELD_TYPE_BOOL"/>
+		<field name="FIELD_TYPE_BYTES"/>
+		<field name="FIELD_TYPE_DOUBLE"/>
+		<field name="FIELD_TYPE_ENUM"/>
+		<field name="FIELD_TYPE_FIXED32"/>
+		<field name="FIELD_TYPE_FIXED64"/>
+		<field name="FIELD_TYPE_FLOAT"/>
+		<field name="FIELD_TYPE_INT32"/>
+		<field name="FIELD_TYPE_INT64"/>
+		<field name="FIELD_TYPE_MASK"/>
+		<field name="FIELD_TYPE_MESSAGE"/>
+		<field name="FIELD_TYPE_SFIXED32"/>
+		<field name="FIELD_TYPE_SFIXED64"/>
+		<field name="FIELD_TYPE_SHIFT"/>
+		<field name="FIELD_TYPE_SINT32"/>
+		<field name="FIELD_TYPE_SINT64"/>
+		<field name="FIELD_TYPE_STRING"/>
+		<field name="FIELD_TYPE_UINT32"/>
+		<field name="FIELD_TYPE_UINT64"/>
+		<field name="WIRE_TYPE_END_GROUP"/>
+		<field name="WIRE_TYPE_FIXED32"/>
+		<field name="WIRE_TYPE_FIXED64"/>
+		<field name="WIRE_TYPE_LENGTH_DELIMITED"/>
+		<field name="WIRE_TYPE_MASK"/>
+		<field name="WIRE_TYPE_START_GROUP"/>
+		<field name="WIRE_TYPE_VARINT"/>
+	</class>
+	<class name="android/view/AbsSavedState" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V" since="24"/>
+		<method name="&lt;init>(Landroid/os/Parcelable;)V"/>
+		<method name="getSuperState()Landroid/os/Parcelable;"/>
+		<field name="CREATOR"/>
+		<field name="EMPTY_STATE"/>
+	</class>
+	<class name="android/view/ActionMode" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="finish()V"/>
+		<method name="getCustomView()Landroid/view/View;"/>
+		<method name="getMenu()Landroid/view/Menu;"/>
+		<method name="getMenuInflater()Landroid/view/MenuInflater;"/>
+		<method name="getSubtitle()Ljava/lang/CharSequence;"/>
+		<method name="getTag()Ljava/lang/Object;" since="14"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<method name="getTitleOptionalHint()Z" since="16"/>
+		<method name="getType()I" since="23"/>
+		<method name="hide(J)V" since="23"/>
+		<method name="invalidate()V"/>
+		<method name="invalidateContentRect()V" since="23"/>
+		<method name="isTitleOptional()Z" since="16"/>
+		<method name="onWindowFocusChanged(Z)V" since="23"/>
+		<method name="setCustomView(Landroid/view/View;)V"/>
+		<method name="setSubtitle(I)V"/>
+		<method name="setSubtitle(Ljava/lang/CharSequence;)V"/>
+		<method name="setTag(Ljava/lang/Object;)V" since="14"/>
+		<method name="setTitle(I)V"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)V"/>
+		<method name="setTitleOptionalHint(Z)V" since="16"/>
+		<method name="setType(I)V" since="23"/>
+		<field name="DEFAULT_HIDE_DURATION" since="23"/>
+		<field name="TYPE_FLOATING" since="23"/>
+		<field name="TYPE_PRIMARY" since="23"/>
+	</class>
+	<class name="android/view/ActionMode$Callback" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onActionItemClicked(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z"/>
+		<method name="onCreateActionMode(Landroid/view/ActionMode;Landroid/view/Menu;)Z"/>
+		<method name="onDestroyActionMode(Landroid/view/ActionMode;)V"/>
+		<method name="onPrepareActionMode(Landroid/view/ActionMode;Landroid/view/Menu;)Z"/>
+	</class>
+	<class name="android/view/ActionMode$Callback2" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/ActionMode$Callback"/>
+		<method name="&lt;init>()V"/>
+		<method name="onGetContentRect(Landroid/view/ActionMode;Landroid/view/View;Landroid/graphics/Rect;)V"/>
+	</class>
+	<class name="android/view/ActionProvider" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="hasSubMenu()Z"/>
+		<method name="isVisible()Z" since="16"/>
+		<method name="onCreateActionView()Landroid/view/View;" deprecated="16"/>
+		<method name="onCreateActionView(Landroid/view/MenuItem;)Landroid/view/View;" since="16"/>
+		<method name="onPerformDefaultAction()Z"/>
+		<method name="onPrepareSubMenu(Landroid/view/SubMenu;)V"/>
+		<method name="overridesItemVisibility()Z" since="16"/>
+		<method name="refreshVisibility()V" since="16"/>
+		<method name="setVisibilityListener(Landroid/view/ActionProvider$VisibilityListener;)V" since="16"/>
+	</class>
+	<class name="android/view/ActionProvider$VisibilityListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onActionProviderVisibilityChanged(Z)V"/>
+	</class>
+	<class name="android/view/AttachedSurfaceControl" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="addOnBufferTransformHintChangedListener(Landroid/view/AttachedSurfaceControl$OnBufferTransformHintChangedListener;)V" since="33"/>
+		<method name="applyTransactionOnDraw(Landroid/view/SurfaceControl$Transaction;)Z"/>
+		<method name="buildReparentTransaction(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;"/>
+		<method name="getBufferTransformHint()I" since="33"/>
+		<method name="removeOnBufferTransformHintChangedListener(Landroid/view/AttachedSurfaceControl$OnBufferTransformHintChangedListener;)V" since="33"/>
+	</class>
+	<class name="android/view/AttachedSurfaceControl$OnBufferTransformHintChangedListener" since="33">
+		<method name="onBufferTransformHintChanged(I)V"/>
+	</class>
+	<class name="android/view/Choreographer" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="getInstance()Landroid/view/Choreographer;"/>
+		<method name="postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V"/>
+		<method name="postFrameCallbackDelayed(Landroid/view/Choreographer$FrameCallback;J)V"/>
+		<method name="removeFrameCallback(Landroid/view/Choreographer$FrameCallback;)V"/>
+	</class>
+	<class name="android/view/Choreographer$FrameCallback" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="doFrame(J)V"/>
+	</class>
+	<class name="android/view/CollapsibleActionView" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onActionViewCollapsed()V"/>
+		<method name="onActionViewExpanded()V"/>
+	</class>
+	<class name="android/view/ContentInfo" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getClip()Landroid/content/ClipData;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getFlags()I"/>
+		<method name="getLinkUri()Landroid/net/Uri;"/>
+		<method name="getSource()I"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_CONVERT_TO_PLAIN_TEXT"/>
+		<field name="SOURCE_APP"/>
+		<field name="SOURCE_AUTOFILL"/>
+		<field name="SOURCE_CLIPBOARD"/>
+		<field name="SOURCE_DRAG_AND_DROP"/>
+		<field name="SOURCE_INPUT_METHOD"/>
+		<field name="SOURCE_PROCESS_TEXT"/>
+	</class>
+	<class name="android/view/ContentInfo$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/ClipData;I)V"/>
+		<method name="&lt;init>(Landroid/view/ContentInfo;)V"/>
+		<method name="build()Landroid/view/ContentInfo;"/>
+		<method name="setClip(Landroid/content/ClipData;)Landroid/view/ContentInfo$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/ContentInfo$Builder;"/>
+		<method name="setFlags(I)Landroid/view/ContentInfo$Builder;"/>
+		<method name="setLinkUri(Landroid/net/Uri;)Landroid/view/ContentInfo$Builder;"/>
+		<method name="setSource(I)Landroid/view/ContentInfo$Builder;"/>
+	</class>
+	<class name="android/view/ContextMenu" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/Menu"/>
+		<method name="clearHeader()V"/>
+		<method name="setHeaderIcon(I)Landroid/view/ContextMenu;"/>
+		<method name="setHeaderIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/ContextMenu;"/>
+		<method name="setHeaderTitle(I)Landroid/view/ContextMenu;"/>
+		<method name="setHeaderTitle(Ljava/lang/CharSequence;)Landroid/view/ContextMenu;"/>
+		<method name="setHeaderView(Landroid/view/View;)Landroid/view/ContextMenu;"/>
+	</class>
+	<class name="android/view/ContextMenu$ContextMenuInfo" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/view/ContextThemeWrapper" since="1">
+		<extends name="android/content/ContextWrapper"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/content/res/Resources$Theme;)V" since="23"/>
+		<method name="applyOverrideConfiguration(Landroid/content/res/Configuration;)V" since="17"/>
+		<method name="onApplyThemeResource(Landroid/content/res/Resources$Theme;IZ)V"/>
+		<method name="setTheme(Landroid/content/res/Resources$Theme;)V" since="29"/>
+	</class>
+	<class name="android/view/Display" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getAppVsyncOffsetNanos()J" since="21"/>
+		<method name="getCurrentSizeRange(Landroid/graphics/Point;Landroid/graphics/Point;)V" since="16"/>
+		<method name="getCutout()Landroid/view/DisplayCutout;" since="29"/>
+		<method name="getDeviceProductInfo()Landroid/hardware/display/DeviceProductInfo;" since="31"/>
+		<method name="getDisplayId()I"/>
+		<method name="getFlags()I" since="17"/>
+		<method name="getHdrCapabilities()Landroid/view/Display$HdrCapabilities;" since="24"/>
+		<method name="getHeight()I" deprecated="15"/>
+		<method name="getMetrics(Landroid/util/DisplayMetrics;)V" deprecated="30"/>
+		<method name="getMode()Landroid/view/Display$Mode;" since="23"/>
+		<method name="getName()Ljava/lang/String;" since="17"/>
+		<method name="getOrientation()I" deprecated="15"/>
+		<method name="getPixelFormat()I" deprecated="17"/>
+		<method name="getPreferredWideGamutColorSpace()Landroid/graphics/ColorSpace;" since="29"/>
+		<method name="getPresentationDeadlineNanos()J" since="21"/>
+		<method name="getRealMetrics(Landroid/util/DisplayMetrics;)V" since="17" deprecated="31"/>
+		<method name="getRealSize(Landroid/graphics/Point;)V" since="17" deprecated="31"/>
+		<method name="getRectSize(Landroid/graphics/Rect;)V" since="13" deprecated="30"/>
+		<method name="getRefreshRate()F"/>
+		<method name="getRotation()I" since="8"/>
+		<method name="getRoundedCorner(I)Landroid/view/RoundedCorner;" since="31"/>
+		<method name="getSize(Landroid/graphics/Point;)V" since="13" deprecated="30"/>
+		<method name="getState()I" since="20"/>
+		<method name="getSupportedModes()[Landroid/view/Display$Mode;" since="23"/>
+		<method name="getSupportedRefreshRates()[F" since="21" deprecated="23"/>
+		<method name="getWidth()I" deprecated="15"/>
+		<method name="isHdr()Z" since="26"/>
+		<method name="isMinimalPostProcessingSupported()Z" since="30"/>
+		<method name="isValid()Z" since="17"/>
+		<method name="isWideColorGamut()Z" since="26"/>
+		<field name="DEFAULT_DISPLAY"/>
+		<field name="FLAG_PRESENTATION" since="19"/>
+		<field name="FLAG_PRIVATE" since="19"/>
+		<field name="FLAG_ROUND" since="23"/>
+		<field name="FLAG_SECURE" since="17"/>
+		<field name="FLAG_SUPPORTS_PROTECTED_BUFFERS" since="17"/>
+		<field name="INVALID_DISPLAY" since="23"/>
+		<field name="STATE_DOZE" since="21"/>
+		<field name="STATE_DOZE_SUSPEND" since="21"/>
+		<field name="STATE_DOZING" since="20" removed="21"/>
+		<field name="STATE_OFF" since="20"/>
+		<field name="STATE_ON" since="20"/>
+		<field name="STATE_ON_SUSPEND" since="28"/>
+		<field name="STATE_UNKNOWN" since="20"/>
+		<field name="STATE_VR" since="26"/>
+	</class>
+	<class name="android/view/Display$HdrCapabilities" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDesiredMaxAverageLuminance()F"/>
+		<method name="getDesiredMaxLuminance()F"/>
+		<method name="getDesiredMinLuminance()F"/>
+		<method name="getSupportedHdrTypes()[I"/>
+		<field name="CREATOR"/>
+		<field name="HDR_TYPE_DOLBY_VISION"/>
+		<field name="HDR_TYPE_HDR10"/>
+		<field name="HDR_TYPE_HDR10_PLUS" since="29"/>
+		<field name="HDR_TYPE_HLG"/>
+		<field name="INVALID_LUMINANCE"/>
+	</class>
+	<class name="android/view/Display$Mode" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAlternativeRefreshRates()[F" since="31"/>
+		<method name="getModeId()I"/>
+		<method name="getPhysicalHeight()I"/>
+		<method name="getPhysicalWidth()I"/>
+		<method name="getRefreshRate()F"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/DisplayCutout" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/Insets;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V" since="29"/>
+		<method name="&lt;init>(Landroid/graphics/Insets;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Insets;)V" since="30"/>
+		<method name="&lt;init>(Landroid/graphics/Rect;Ljava/util/List;)V" deprecated="29"/>
+		<method name="getBoundingRectBottom()Landroid/graphics/Rect;" since="29"/>
+		<method name="getBoundingRectLeft()Landroid/graphics/Rect;" since="29"/>
+		<method name="getBoundingRectRight()Landroid/graphics/Rect;" since="29"/>
+		<method name="getBoundingRectTop()Landroid/graphics/Rect;" since="29"/>
+		<method name="getBoundingRects()Ljava/util/List;"/>
+		<method name="getCutoutPath()Landroid/graphics/Path;" since="31"/>
+		<method name="getSafeInsetBottom()I"/>
+		<method name="getSafeInsetLeft()I"/>
+		<method name="getSafeInsetRight()I"/>
+		<method name="getSafeInsetTop()I"/>
+		<method name="getWaterfallInsets()Landroid/graphics/Insets;" since="30"/>
+	</class>
+	<class name="android/view/DragAndDropPermissions" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="release()V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/DragEvent" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAction()I"/>
+		<method name="getClipData()Landroid/content/ClipData;"/>
+		<method name="getClipDescription()Landroid/content/ClipDescription;"/>
+		<method name="getLocalState()Ljava/lang/Object;"/>
+		<method name="getResult()Z"/>
+		<method name="getX()F"/>
+		<method name="getY()F"/>
+		<field name="ACTION_DRAG_ENDED"/>
+		<field name="ACTION_DRAG_ENTERED"/>
+		<field name="ACTION_DRAG_EXITED"/>
+		<field name="ACTION_DRAG_LOCATION"/>
+		<field name="ACTION_DRAG_STARTED"/>
+		<field name="ACTION_DROP"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/FocusFinder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="findNearestTouchable(Landroid/view/ViewGroup;III[I)Landroid/view/View;"/>
+		<method name="findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;"/>
+		<method name="findNextFocusFromRect(Landroid/view/ViewGroup;Landroid/graphics/Rect;I)Landroid/view/View;"/>
+		<method name="findNextKeyboardNavigationCluster(Landroid/view/View;Landroid/view/View;I)Landroid/view/View;" since="26"/>
+		<method name="getInstance()Landroid/view/FocusFinder;"/>
+	</class>
+	<class name="android/view/FrameMetrics" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/FrameMetrics;)V"/>
+		<method name="getMetric(I)J"/>
+		<field name="ANIMATION_DURATION"/>
+		<field name="COMMAND_ISSUE_DURATION"/>
+		<field name="DEADLINE" since="31"/>
+		<field name="DRAW_DURATION"/>
+		<field name="FIRST_DRAW_FRAME"/>
+		<field name="GPU_DURATION" since="31"/>
+		<field name="INPUT_HANDLING_DURATION"/>
+		<field name="INTENDED_VSYNC_TIMESTAMP" since="26"/>
+		<field name="LAYOUT_MEASURE_DURATION"/>
+		<field name="SWAP_BUFFERS_DURATION"/>
+		<field name="SYNC_DURATION"/>
+		<field name="TOTAL_DURATION"/>
+		<field name="UNKNOWN_DELAY_DURATION"/>
+		<field name="VSYNC_TIMESTAMP" since="26"/>
+	</class>
+	<class name="android/view/FrameStats" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getEndTimeNano()J"/>
+		<method name="getFrameCount()I"/>
+		<method name="getFramePresentedTimeNano(I)J"/>
+		<method name="getRefreshPeriodNano()J"/>
+		<method name="getStartTimeNano()J"/>
+		<field name="UNDEFINED_TIME_NANO"/>
+	</class>
+	<class name="android/view/GestureDetector" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V" since="3"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;Landroid/os/Handler;)V" since="3"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;Landroid/os/Handler;Z)V" since="8"/>
+		<method name="&lt;init>(Landroid/view/GestureDetector$OnGestureListener;)V" deprecated="15"/>
+		<method name="&lt;init>(Landroid/view/GestureDetector$OnGestureListener;Landroid/os/Handler;)V" deprecated="15"/>
+		<method name="isLongpressEnabled()Z"/>
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="23"/>
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="setContextClickListener(Landroid/view/GestureDetector$OnContextClickListener;)V" since="23"/>
+		<method name="setIsLongpressEnabled(Z)V"/>
+		<method name="setOnDoubleTapListener(Landroid/view/GestureDetector$OnDoubleTapListener;)V" since="3"/>
+	</class>
+	<class name="android/view/GestureDetector$OnContextClickListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onContextClick(Landroid/view/MotionEvent;)Z"/>
+	</class>
+	<class name="android/view/GestureDetector$OnDoubleTapListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onDoubleTap(Landroid/view/MotionEvent;)Z"/>
+		<method name="onDoubleTapEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onSingleTapConfirmed(Landroid/view/MotionEvent;)Z"/>
+	</class>
+	<class name="android/view/GestureDetector$OnGestureListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onDown(Landroid/view/MotionEvent;)Z"/>
+		<method name="onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z"/>
+		<method name="onLongPress(Landroid/view/MotionEvent;)V"/>
+		<method name="onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z"/>
+		<method name="onShowPress(Landroid/view/MotionEvent;)V"/>
+		<method name="onSingleTapUp(Landroid/view/MotionEvent;)Z"/>
+	</class>
+	<class name="android/view/GestureDetector$SimpleOnGestureListener" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/GestureDetector$OnContextClickListener" since="23"/>
+		<implements name="android/view/GestureDetector$OnDoubleTapListener" since="3"/>
+		<implements name="android/view/GestureDetector$OnGestureListener"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/view/Gravity" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="apply(IIILandroid/graphics/Rect;IILandroid/graphics/Rect;)V"/>
+		<method name="apply(IIILandroid/graphics/Rect;IILandroid/graphics/Rect;I)V" since="17"/>
+		<method name="apply(IIILandroid/graphics/Rect;Landroid/graphics/Rect;)V"/>
+		<method name="apply(IIILandroid/graphics/Rect;Landroid/graphics/Rect;I)V" since="17"/>
+		<method name="applyDisplay(ILandroid/graphics/Rect;Landroid/graphics/Rect;)V" since="3"/>
+		<method name="applyDisplay(ILandroid/graphics/Rect;Landroid/graphics/Rect;I)V" since="17"/>
+		<method name="getAbsoluteGravity(II)I" since="14"/>
+		<method name="isHorizontal(I)Z"/>
+		<method name="isVertical(I)Z"/>
+		<field name="AXIS_CLIP" since="3"/>
+		<field name="AXIS_PULL_AFTER"/>
+		<field name="AXIS_PULL_BEFORE"/>
+		<field name="AXIS_SPECIFIED"/>
+		<field name="AXIS_X_SHIFT"/>
+		<field name="AXIS_Y_SHIFT"/>
+		<field name="BOTTOM"/>
+		<field name="CENTER"/>
+		<field name="CENTER_HORIZONTAL"/>
+		<field name="CENTER_VERTICAL"/>
+		<field name="CLIP_HORIZONTAL" since="3"/>
+		<field name="CLIP_VERTICAL" since="3"/>
+		<field name="DISPLAY_CLIP_HORIZONTAL" since="3"/>
+		<field name="DISPLAY_CLIP_VERTICAL" since="3"/>
+		<field name="END" since="14"/>
+		<field name="FILL"/>
+		<field name="FILL_HORIZONTAL"/>
+		<field name="FILL_VERTICAL"/>
+		<field name="HORIZONTAL_GRAVITY_MASK"/>
+		<field name="LEFT"/>
+		<field name="NO_GRAVITY"/>
+		<field name="RELATIVE_HORIZONTAL_GRAVITY_MASK" since="14"/>
+		<field name="RELATIVE_LAYOUT_DIRECTION" since="14"/>
+		<field name="RIGHT"/>
+		<field name="START" since="14"/>
+		<field name="TOP"/>
+		<field name="VERTICAL_GRAVITY_MASK"/>
+	</class>
+	<class name="android/view/HapticFeedbackConstants" since="3">
+		<extends name="java/lang/Object"/>
+		<field name="CLOCK_TICK" since="21"/>
+		<field name="CONFIRM" since="30"/>
+		<field name="CONTEXT_CLICK" since="23"/>
+		<field name="FLAG_IGNORE_GLOBAL_SETTING"/>
+		<field name="FLAG_IGNORE_VIEW_SETTING"/>
+		<field name="GESTURE_END" since="30"/>
+		<field name="GESTURE_START" since="30"/>
+		<field name="KEYBOARD_PRESS" since="27"/>
+		<field name="KEYBOARD_RELEASE" since="27"/>
+		<field name="KEYBOARD_TAP" since="8"/>
+		<field name="LONG_PRESS"/>
+		<field name="REJECT" since="30"/>
+		<field name="TEXT_HANDLE_MOVE" since="27"/>
+		<field name="VIRTUAL_KEY" since="5"/>
+		<field name="VIRTUAL_KEY_RELEASE" since="27"/>
+	</class>
+	<class name="android/view/InflateException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="android/view/InputDevice" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getBatteryState()Landroid/hardware/BatteryState;" since="31"/>
+		<method name="getControllerNumber()I" since="19"/>
+		<method name="getDescriptor()Ljava/lang/String;" since="16"/>
+		<method name="getDevice(I)Landroid/view/InputDevice;"/>
+		<method name="getDeviceIds()[I"/>
+		<method name="getId()I"/>
+		<method name="getKeyCharacterMap()Landroid/view/KeyCharacterMap;"/>
+		<method name="getKeyboardType()I"/>
+		<method name="getLightsManager()Landroid/hardware/lights/LightsManager;" since="31"/>
+		<method name="getMotionRange(I)Landroid/view/InputDevice$MotionRange;"/>
+		<method name="getMotionRange(II)Landroid/view/InputDevice$MotionRange;" since="12"/>
+		<method name="getMotionRanges()Ljava/util/List;" since="12"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getProductId()I" since="19"/>
+		<method name="getSensorManager()Landroid/hardware/SensorManager;" since="31"/>
+		<method name="getSources()I"/>
+		<method name="getVendorId()I" since="19"/>
+		<method name="getVibrator()Landroid/os/Vibrator;" since="16" deprecated="31"/>
+		<method name="getVibratorManager()Landroid/os/VibratorManager;" since="31"/>
+		<method name="hasKeys([I)[Z" since="19"/>
+		<method name="hasMicrophone()Z" since="23"/>
+		<method name="isEnabled()Z" since="27"/>
+		<method name="isExternal()Z" since="29"/>
+		<method name="isVirtual()Z" since="16"/>
+		<method name="supportsSource(I)Z" since="21"/>
+		<field name="CREATOR"/>
+		<field name="KEYBOARD_TYPE_ALPHABETIC"/>
+		<field name="KEYBOARD_TYPE_NONE"/>
+		<field name="KEYBOARD_TYPE_NON_ALPHABETIC"/>
+		<field name="MOTION_RANGE_ORIENTATION" deprecated="15"/>
+		<field name="MOTION_RANGE_PRESSURE" deprecated="15"/>
+		<field name="MOTION_RANGE_SIZE" deprecated="15"/>
+		<field name="MOTION_RANGE_TOOL_MAJOR" deprecated="15"/>
+		<field name="MOTION_RANGE_TOOL_MINOR" deprecated="15"/>
+		<field name="MOTION_RANGE_TOUCH_MAJOR" deprecated="15"/>
+		<field name="MOTION_RANGE_TOUCH_MINOR" deprecated="15"/>
+		<field name="MOTION_RANGE_X" deprecated="15"/>
+		<field name="MOTION_RANGE_Y" deprecated="15"/>
+		<field name="SOURCE_ANY"/>
+		<field name="SOURCE_BLUETOOTH_STYLUS" since="23"/>
+		<field name="SOURCE_CLASS_BUTTON"/>
+		<field name="SOURCE_CLASS_JOYSTICK" since="12"/>
+		<field name="SOURCE_CLASS_MASK"/>
+		<field name="SOURCE_CLASS_NONE" since="18"/>
+		<field name="SOURCE_CLASS_POINTER"/>
+		<field name="SOURCE_CLASS_POSITION"/>
+		<field name="SOURCE_CLASS_TRACKBALL"/>
+		<field name="SOURCE_DPAD"/>
+		<field name="SOURCE_GAMEPAD" since="12"/>
+		<field name="SOURCE_HDMI" since="21"/>
+		<field name="SOURCE_JOYSTICK" since="12"/>
+		<field name="SOURCE_KEYBOARD"/>
+		<field name="SOURCE_MOUSE"/>
+		<field name="SOURCE_MOUSE_RELATIVE" since="26"/>
+		<field name="SOURCE_ROTARY_ENCODER" since="26"/>
+		<field name="SOURCE_SENSOR" since="31"/>
+		<field name="SOURCE_STYLUS" since="14"/>
+		<field name="SOURCE_TOUCHPAD"/>
+		<field name="SOURCE_TOUCHSCREEN"/>
+		<field name="SOURCE_TOUCH_NAVIGATION" since="18"/>
+		<field name="SOURCE_TRACKBALL"/>
+		<field name="SOURCE_UNKNOWN"/>
+	</class>
+	<class name="android/view/InputDevice$MotionRange" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="getAxis()I" since="12"/>
+		<method name="getFlat()F"/>
+		<method name="getFuzz()F"/>
+		<method name="getMax()F"/>
+		<method name="getMin()F"/>
+		<method name="getRange()F"/>
+		<method name="getResolution()F" since="18"/>
+		<method name="getSource()I" since="12"/>
+		<method name="isFromSource(I)Z" since="18"/>
+	</class>
+	<class name="android/view/InputEvent" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDevice()Landroid/view/InputDevice;"/>
+		<method name="getDeviceId()I"/>
+		<method name="getEventTime()J" since="16"/>
+		<method name="getSource()I"/>
+		<method name="isFromSource(I)Z" since="18"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/InputQueue" since="9">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/view/InputQueue$Callback" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="onInputQueueCreated(Landroid/view/InputQueue;)V"/>
+		<method name="onInputQueueDestroyed(Landroid/view/InputQueue;)V"/>
+	</class>
+	<class name="android/view/KeyCharacterMap" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="16"/>
+		<method name="deviceHasKey(I)Z" since="3"/>
+		<method name="deviceHasKeys([I)[Z" since="3"/>
+		<method name="get(II)I"/>
+		<method name="getDeadChar(II)I"/>
+		<method name="getDisplayLabel(I)C"/>
+		<method name="getEvents([C)[Landroid/view/KeyEvent;"/>
+		<method name="getKeyData(ILandroid/view/KeyCharacterMap$KeyData;)Z" deprecated="15"/>
+		<method name="getKeyboardType()I"/>
+		<method name="getMatch(I[C)C"/>
+		<method name="getMatch(I[CI)C"/>
+		<method name="getModifierBehavior()I" since="11"/>
+		<method name="getNumber(I)C"/>
+		<method name="isPrintingKey(I)Z"/>
+		<method name="load(I)Landroid/view/KeyCharacterMap;"/>
+		<field name="ALPHA"/>
+		<field name="BUILT_IN_KEYBOARD" deprecated="15"/>
+		<field name="COMBINING_ACCENT"/>
+		<field name="COMBINING_ACCENT_MASK"/>
+		<field name="CREATOR" since="16"/>
+		<field name="FULL" since="11"/>
+		<field name="HEX_INPUT"/>
+		<field name="MODIFIER_BEHAVIOR_CHORDED" since="11"/>
+		<field name="MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED" since="11"/>
+		<field name="NUMERIC"/>
+		<field name="PICKER_DIALOG_INPUT"/>
+		<field name="PREDICTIVE"/>
+		<field name="SPECIAL_FUNCTION" since="11"/>
+		<field name="VIRTUAL_KEYBOARD" since="11"/>
+	</class>
+	<class name="android/view/KeyCharacterMap$KeyData" since="1" deprecated="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<field name="META_LENGTH" deprecated="29"/>
+		<field name="displayLabel" deprecated="29"/>
+		<field name="meta" deprecated="29"/>
+		<field name="number" deprecated="29"/>
+	</class>
+	<class name="android/view/KeyCharacterMap$UnavailableException" since="11">
+		<extends name="android/util/AndroidRuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/view/KeyEvent" since="1">
+		<extends name="android/view/InputEvent" since="9"/>
+		<extends name="java/lang/Object" removed="9"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(JJIII)V"/>
+		<method name="&lt;init>(JJIIII)V"/>
+		<method name="&lt;init>(JJIIIIII)V"/>
+		<method name="&lt;init>(JJIIIIIII)V"/>
+		<method name="&lt;init>(JJIIIIIIII)V" since="9"/>
+		<method name="&lt;init>(JLjava/lang/String;II)V" since="3"/>
+		<method name="&lt;init>(Landroid/view/KeyEvent;)V" since="3"/>
+		<method name="&lt;init>(Landroid/view/KeyEvent;JI)V" deprecated="15"/>
+		<method name="changeAction(Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;" since="3"/>
+		<method name="changeFlags(Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;" since="3"/>
+		<method name="changeTimeRepeat(Landroid/view/KeyEvent;JI)Landroid/view/KeyEvent;" since="3"/>
+		<method name="changeTimeRepeat(Landroid/view/KeyEvent;JII)Landroid/view/KeyEvent;" since="5"/>
+		<method name="dispatch(Landroid/view/KeyEvent$Callback;)Z" deprecated="15"/>
+		<method name="dispatch(Landroid/view/KeyEvent$Callback;Landroid/view/KeyEvent$DispatcherState;Ljava/lang/Object;)Z" since="5"/>
+		<method name="getAction()I"/>
+		<method name="getCharacters()Ljava/lang/String;" since="3" deprecated="29"/>
+		<method name="getDeadChar(II)I"/>
+		<method name="getDeviceId()I"/>
+		<method name="getDisplayLabel()C"/>
+		<method name="getDownTime()J"/>
+		<method name="getEventTime()J"/>
+		<method name="getFlags()I"/>
+		<method name="getKeyCharacterMap()Landroid/view/KeyCharacterMap;" since="11"/>
+		<method name="getKeyCode()I"/>
+		<method name="getKeyData(Landroid/view/KeyCharacterMap$KeyData;)Z" deprecated="15"/>
+		<method name="getMatch([C)C"/>
+		<method name="getMatch([CI)C"/>
+		<method name="getMaxKeyCode()I" since="3"/>
+		<method name="getMetaState()I"/>
+		<method name="getModifierMetaStateMask()I" since="11"/>
+		<method name="getModifiers()I" since="13"/>
+		<method name="getNumber()C"/>
+		<method name="getRepeatCount()I"/>
+		<method name="getScanCode()I"/>
+		<method name="getUnicodeChar()I"/>
+		<method name="getUnicodeChar(I)I"/>
+		<method name="hasModifiers(I)Z" since="11"/>
+		<method name="hasNoModifiers()Z" since="11"/>
+		<method name="isAltPressed()Z"/>
+		<method name="isCanceled()Z" since="5"/>
+		<method name="isCapsLockOn()Z" since="11"/>
+		<method name="isCtrlPressed()Z" since="11"/>
+		<method name="isFunctionPressed()Z" since="11"/>
+		<method name="isGamepadButton(I)Z" since="12"/>
+		<method name="isLongPress()Z" since="5"/>
+		<method name="isMediaSessionKey(I)Z" since="31"/>
+		<method name="isMetaPressed()Z" since="11"/>
+		<method name="isModifierKey(I)Z"/>
+		<method name="isNumLockOn()Z" since="11"/>
+		<method name="isPrintingKey()Z"/>
+		<method name="isScrollLockOn()Z" since="11"/>
+		<method name="isShiftPressed()Z"/>
+		<method name="isSymPressed()Z"/>
+		<method name="isSystem()Z"/>
+		<method name="isTracking()Z" since="5"/>
+		<method name="keyCodeFromString(Ljava/lang/String;)I" since="12"/>
+		<method name="keyCodeToString(I)Ljava/lang/String;" since="12"/>
+		<method name="metaStateHasModifiers(II)Z" since="11"/>
+		<method name="metaStateHasNoModifiers(I)Z" since="11"/>
+		<method name="normalizeMetaState(I)I" since="11"/>
+		<method name="setSource(I)V" since="12"/>
+		<method name="startTracking()V" since="5"/>
+		<field name="ACTION_DOWN"/>
+		<field name="ACTION_MULTIPLE" deprecated="29"/>
+		<field name="ACTION_UP"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_CANCELED" since="5"/>
+		<field name="FLAG_CANCELED_LONG_PRESS" since="5"/>
+		<field name="FLAG_EDITOR_ACTION" since="3"/>
+		<field name="FLAG_FALLBACK" since="11"/>
+		<field name="FLAG_FROM_SYSTEM" since="3"/>
+		<field name="FLAG_KEEP_TOUCH_MODE" since="3"/>
+		<field name="FLAG_LONG_PRESS" since="5"/>
+		<field name="FLAG_SOFT_KEYBOARD" since="3"/>
+		<field name="FLAG_TRACKING" since="5"/>
+		<field name="FLAG_VIRTUAL_HARD_KEY" since="5"/>
+		<field name="FLAG_WOKE_HERE" deprecated="20"/>
+		<field name="KEYCODE_0"/>
+		<field name="KEYCODE_1"/>
+		<field name="KEYCODE_11" since="21"/>
+		<field name="KEYCODE_12" since="21"/>
+		<field name="KEYCODE_2"/>
+		<field name="KEYCODE_3"/>
+		<field name="KEYCODE_3D_MODE" since="14"/>
+		<field name="KEYCODE_4"/>
+		<field name="KEYCODE_5"/>
+		<field name="KEYCODE_6"/>
+		<field name="KEYCODE_7"/>
+		<field name="KEYCODE_8"/>
+		<field name="KEYCODE_9"/>
+		<field name="KEYCODE_A"/>
+		<field name="KEYCODE_ALL_APPS" since="28"/>
+		<field name="KEYCODE_ALT_LEFT"/>
+		<field name="KEYCODE_ALT_RIGHT"/>
+		<field name="KEYCODE_APOSTROPHE"/>
+		<field name="KEYCODE_APP_SWITCH" since="11"/>
+		<field name="KEYCODE_ASSIST" since="16"/>
+		<field name="KEYCODE_AT"/>
+		<field name="KEYCODE_AVR_INPUT" since="11"/>
+		<field name="KEYCODE_AVR_POWER" since="11"/>
+		<field name="KEYCODE_B"/>
+		<field name="KEYCODE_BACK"/>
+		<field name="KEYCODE_BACKSLASH"/>
+		<field name="KEYCODE_BOOKMARK" since="11"/>
+		<field name="KEYCODE_BREAK" since="11"/>
+		<field name="KEYCODE_BRIGHTNESS_DOWN" since="18"/>
+		<field name="KEYCODE_BRIGHTNESS_UP" since="18"/>
+		<field name="KEYCODE_BUTTON_1" since="12"/>
+		<field name="KEYCODE_BUTTON_10" since="12"/>
+		<field name="KEYCODE_BUTTON_11" since="12"/>
+		<field name="KEYCODE_BUTTON_12" since="12"/>
+		<field name="KEYCODE_BUTTON_13" since="12"/>
+		<field name="KEYCODE_BUTTON_14" since="12"/>
+		<field name="KEYCODE_BUTTON_15" since="12"/>
+		<field name="KEYCODE_BUTTON_16" since="12"/>
+		<field name="KEYCODE_BUTTON_2" since="12"/>
+		<field name="KEYCODE_BUTTON_3" since="12"/>
+		<field name="KEYCODE_BUTTON_4" since="12"/>
+		<field name="KEYCODE_BUTTON_5" since="12"/>
+		<field name="KEYCODE_BUTTON_6" since="12"/>
+		<field name="KEYCODE_BUTTON_7" since="12"/>
+		<field name="KEYCODE_BUTTON_8" since="12"/>
+		<field name="KEYCODE_BUTTON_9" since="12"/>
+		<field name="KEYCODE_BUTTON_A" since="9"/>
+		<field name="KEYCODE_BUTTON_B" since="9"/>
+		<field name="KEYCODE_BUTTON_C" since="9"/>
+		<field name="KEYCODE_BUTTON_L1" since="9"/>
+		<field name="KEYCODE_BUTTON_L2" since="9"/>
+		<field name="KEYCODE_BUTTON_MODE" since="9"/>
+		<field name="KEYCODE_BUTTON_R1" since="9"/>
+		<field name="KEYCODE_BUTTON_R2" since="9"/>
+		<field name="KEYCODE_BUTTON_SELECT" since="9"/>
+		<field name="KEYCODE_BUTTON_START" since="9"/>
+		<field name="KEYCODE_BUTTON_THUMBL" since="9"/>
+		<field name="KEYCODE_BUTTON_THUMBR" since="9"/>
+		<field name="KEYCODE_BUTTON_X" since="9"/>
+		<field name="KEYCODE_BUTTON_Y" since="9"/>
+		<field name="KEYCODE_BUTTON_Z" since="9"/>
+		<field name="KEYCODE_C"/>
+		<field name="KEYCODE_CALCULATOR" since="15"/>
+		<field name="KEYCODE_CALENDAR" since="15"/>
+		<field name="KEYCODE_CALL"/>
+		<field name="KEYCODE_CAMERA"/>
+		<field name="KEYCODE_CAPS_LOCK" since="11"/>
+		<field name="KEYCODE_CAPTIONS" since="11"/>
+		<field name="KEYCODE_CHANNEL_DOWN" since="11"/>
+		<field name="KEYCODE_CHANNEL_UP" since="11"/>
+		<field name="KEYCODE_CLEAR"/>
+		<field name="KEYCODE_COMMA"/>
+		<field name="KEYCODE_CONTACTS" since="15"/>
+		<field name="KEYCODE_COPY" since="24"/>
+		<field name="KEYCODE_CTRL_LEFT" since="11"/>
+		<field name="KEYCODE_CTRL_RIGHT" since="11"/>
+		<field name="KEYCODE_CUT" since="24"/>
+		<field name="KEYCODE_D"/>
+		<field name="KEYCODE_DEL"/>
+		<field name="KEYCODE_DPAD_CENTER"/>
+		<field name="KEYCODE_DPAD_DOWN"/>
+		<field name="KEYCODE_DPAD_DOWN_LEFT" since="24"/>
+		<field name="KEYCODE_DPAD_DOWN_RIGHT" since="24"/>
+		<field name="KEYCODE_DPAD_LEFT"/>
+		<field name="KEYCODE_DPAD_RIGHT"/>
+		<field name="KEYCODE_DPAD_UP"/>
+		<field name="KEYCODE_DPAD_UP_LEFT" since="24"/>
+		<field name="KEYCODE_DPAD_UP_RIGHT" since="24"/>
+		<field name="KEYCODE_DVR" since="11"/>
+		<field name="KEYCODE_E"/>
+		<field name="KEYCODE_EISU" since="16"/>
+		<field name="KEYCODE_ENDCALL"/>
+		<field name="KEYCODE_ENTER"/>
+		<field name="KEYCODE_ENVELOPE"/>
+		<field name="KEYCODE_EQUALS"/>
+		<field name="KEYCODE_ESCAPE" since="11"/>
+		<field name="KEYCODE_EXPLORER"/>
+		<field name="KEYCODE_F"/>
+		<field name="KEYCODE_F1" since="11"/>
+		<field name="KEYCODE_F10" since="11"/>
+		<field name="KEYCODE_F11" since="11"/>
+		<field name="KEYCODE_F12" since="11"/>
+		<field name="KEYCODE_F2" since="11"/>
+		<field name="KEYCODE_F3" since="11"/>
+		<field name="KEYCODE_F4" since="11"/>
+		<field name="KEYCODE_F5" since="11"/>
+		<field name="KEYCODE_F6" since="11"/>
+		<field name="KEYCODE_F7" since="11"/>
+		<field name="KEYCODE_F8" since="11"/>
+		<field name="KEYCODE_F9" since="11"/>
+		<field name="KEYCODE_FOCUS"/>
+		<field name="KEYCODE_FORWARD" since="11"/>
+		<field name="KEYCODE_FORWARD_DEL" since="11"/>
+		<field name="KEYCODE_FUNCTION" since="11"/>
+		<field name="KEYCODE_G"/>
+		<field name="KEYCODE_GRAVE"/>
+		<field name="KEYCODE_GUIDE" since="11"/>
+		<field name="KEYCODE_H"/>
+		<field name="KEYCODE_HEADSETHOOK"/>
+		<field name="KEYCODE_HELP" since="21"/>
+		<field name="KEYCODE_HENKAN" since="16"/>
+		<field name="KEYCODE_HOME"/>
+		<field name="KEYCODE_I"/>
+		<field name="KEYCODE_INFO" since="11"/>
+		<field name="KEYCODE_INSERT" since="11"/>
+		<field name="KEYCODE_J"/>
+		<field name="KEYCODE_K"/>
+		<field name="KEYCODE_KANA" since="16"/>
+		<field name="KEYCODE_KATAKANA_HIRAGANA" since="16"/>
+		<field name="KEYCODE_L"/>
+		<field name="KEYCODE_LANGUAGE_SWITCH" since="14"/>
+		<field name="KEYCODE_LAST_CHANNEL" since="21"/>
+		<field name="KEYCODE_LEFT_BRACKET"/>
+		<field name="KEYCODE_M"/>
+		<field name="KEYCODE_MANNER_MODE" since="14"/>
+		<field name="KEYCODE_MEDIA_AUDIO_TRACK" since="19"/>
+		<field name="KEYCODE_MEDIA_CLOSE" since="11"/>
+		<field name="KEYCODE_MEDIA_EJECT" since="11"/>
+		<field name="KEYCODE_MEDIA_FAST_FORWARD" since="3"/>
+		<field name="KEYCODE_MEDIA_NEXT" since="3"/>
+		<field name="KEYCODE_MEDIA_PAUSE" since="11"/>
+		<field name="KEYCODE_MEDIA_PLAY" since="11"/>
+		<field name="KEYCODE_MEDIA_PLAY_PAUSE" since="3"/>
+		<field name="KEYCODE_MEDIA_PREVIOUS" since="3"/>
+		<field name="KEYCODE_MEDIA_RECORD" since="11"/>
+		<field name="KEYCODE_MEDIA_REWIND" since="3"/>
+		<field name="KEYCODE_MEDIA_SKIP_BACKWARD" since="23"/>
+		<field name="KEYCODE_MEDIA_SKIP_FORWARD" since="23"/>
+		<field name="KEYCODE_MEDIA_STEP_BACKWARD" since="23"/>
+		<field name="KEYCODE_MEDIA_STEP_FORWARD" since="23"/>
+		<field name="KEYCODE_MEDIA_STOP" since="3"/>
+		<field name="KEYCODE_MEDIA_TOP_MENU" since="21"/>
+		<field name="KEYCODE_MENU"/>
+		<field name="KEYCODE_META_LEFT" since="11"/>
+		<field name="KEYCODE_META_RIGHT" since="11"/>
+		<field name="KEYCODE_MINUS"/>
+		<field name="KEYCODE_MOVE_END" since="11"/>
+		<field name="KEYCODE_MOVE_HOME" since="11"/>
+		<field name="KEYCODE_MUHENKAN" since="16"/>
+		<field name="KEYCODE_MUSIC" since="15"/>
+		<field name="KEYCODE_MUTE" since="3"/>
+		<field name="KEYCODE_N"/>
+		<field name="KEYCODE_NAVIGATE_IN" since="23"/>
+		<field name="KEYCODE_NAVIGATE_NEXT" since="23"/>
+		<field name="KEYCODE_NAVIGATE_OUT" since="23"/>
+		<field name="KEYCODE_NAVIGATE_PREVIOUS" since="23"/>
+		<field name="KEYCODE_NOTIFICATION"/>
+		<field name="KEYCODE_NUM"/>
+		<field name="KEYCODE_NUMPAD_0" since="11"/>
+		<field name="KEYCODE_NUMPAD_1" since="11"/>
+		<field name="KEYCODE_NUMPAD_2" since="11"/>
+		<field name="KEYCODE_NUMPAD_3" since="11"/>
+		<field name="KEYCODE_NUMPAD_4" since="11"/>
+		<field name="KEYCODE_NUMPAD_5" since="11"/>
+		<field name="KEYCODE_NUMPAD_6" since="11"/>
+		<field name="KEYCODE_NUMPAD_7" since="11"/>
+		<field name="KEYCODE_NUMPAD_8" since="11"/>
+		<field name="KEYCODE_NUMPAD_9" since="11"/>
+		<field name="KEYCODE_NUMPAD_ADD" since="11"/>
+		<field name="KEYCODE_NUMPAD_COMMA" since="11"/>
+		<field name="KEYCODE_NUMPAD_DIVIDE" since="11"/>
+		<field name="KEYCODE_NUMPAD_DOT" since="11"/>
+		<field name="KEYCODE_NUMPAD_ENTER" since="11"/>
+		<field name="KEYCODE_NUMPAD_EQUALS" since="11"/>
+		<field name="KEYCODE_NUMPAD_LEFT_PAREN" since="11"/>
+		<field name="KEYCODE_NUMPAD_MULTIPLY" since="11"/>
+		<field name="KEYCODE_NUMPAD_RIGHT_PAREN" since="11"/>
+		<field name="KEYCODE_NUMPAD_SUBTRACT" since="11"/>
+		<field name="KEYCODE_NUM_LOCK" since="11"/>
+		<field name="KEYCODE_O"/>
+		<field name="KEYCODE_P"/>
+		<field name="KEYCODE_PAGE_DOWN" since="9"/>
+		<field name="KEYCODE_PAGE_UP" since="9"/>
+		<field name="KEYCODE_PAIRING" since="21"/>
+		<field name="KEYCODE_PASTE" since="24"/>
+		<field name="KEYCODE_PERIOD"/>
+		<field name="KEYCODE_PICTSYMBOLS" since="9"/>
+		<field name="KEYCODE_PLUS"/>
+		<field name="KEYCODE_POUND"/>
+		<field name="KEYCODE_POWER"/>
+		<field name="KEYCODE_PROFILE_SWITCH" since="29"/>
+		<field name="KEYCODE_PROG_BLUE" since="11"/>
+		<field name="KEYCODE_PROG_GREEN" since="11"/>
+		<field name="KEYCODE_PROG_RED" since="11"/>
+		<field name="KEYCODE_PROG_YELLOW" since="11"/>
+		<field name="KEYCODE_Q"/>
+		<field name="KEYCODE_R"/>
+		<field name="KEYCODE_REFRESH" since="28"/>
+		<field name="KEYCODE_RIGHT_BRACKET"/>
+		<field name="KEYCODE_RO" since="16"/>
+		<field name="KEYCODE_S"/>
+		<field name="KEYCODE_SCROLL_LOCK" since="11"/>
+		<field name="KEYCODE_SEARCH"/>
+		<field name="KEYCODE_SEMICOLON"/>
+		<field name="KEYCODE_SETTINGS" since="11"/>
+		<field name="KEYCODE_SHIFT_LEFT"/>
+		<field name="KEYCODE_SHIFT_RIGHT"/>
+		<field name="KEYCODE_SLASH"/>
+		<field name="KEYCODE_SLEEP" since="20"/>
+		<field name="KEYCODE_SOFT_LEFT"/>
+		<field name="KEYCODE_SOFT_RIGHT"/>
+		<field name="KEYCODE_SOFT_SLEEP" since="24"/>
+		<field name="KEYCODE_SPACE"/>
+		<field name="KEYCODE_STAR"/>
+		<field name="KEYCODE_STB_INPUT" since="11"/>
+		<field name="KEYCODE_STB_POWER" since="11"/>
+		<field name="KEYCODE_STEM_1" since="24"/>
+		<field name="KEYCODE_STEM_2" since="24"/>
+		<field name="KEYCODE_STEM_3" since="24"/>
+		<field name="KEYCODE_STEM_PRIMARY" since="24"/>
+		<field name="KEYCODE_SWITCH_CHARSET" since="9"/>
+		<field name="KEYCODE_SYM"/>
+		<field name="KEYCODE_SYSRQ" since="11"/>
+		<field name="KEYCODE_SYSTEM_NAVIGATION_DOWN" since="25"/>
+		<field name="KEYCODE_SYSTEM_NAVIGATION_LEFT" since="25"/>
+		<field name="KEYCODE_SYSTEM_NAVIGATION_RIGHT" since="25"/>
+		<field name="KEYCODE_SYSTEM_NAVIGATION_UP" since="25"/>
+		<field name="KEYCODE_T"/>
+		<field name="KEYCODE_TAB"/>
+		<field name="KEYCODE_THUMBS_DOWN" since="29"/>
+		<field name="KEYCODE_THUMBS_UP" since="29"/>
+		<field name="KEYCODE_TV" since="11"/>
+		<field name="KEYCODE_TV_ANTENNA_CABLE" since="21"/>
+		<field name="KEYCODE_TV_AUDIO_DESCRIPTION" since="21"/>
+		<field name="KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN" since="21"/>
+		<field name="KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP" since="21"/>
+		<field name="KEYCODE_TV_CONTENTS_MENU" since="21"/>
+		<field name="KEYCODE_TV_DATA_SERVICE" since="21"/>
+		<field name="KEYCODE_TV_INPUT" since="11"/>
+		<field name="KEYCODE_TV_INPUT_COMPONENT_1" since="21"/>
+		<field name="KEYCODE_TV_INPUT_COMPONENT_2" since="21"/>
+		<field name="KEYCODE_TV_INPUT_COMPOSITE_1" since="21"/>
+		<field name="KEYCODE_TV_INPUT_COMPOSITE_2" since="21"/>
+		<field name="KEYCODE_TV_INPUT_HDMI_1" since="21"/>
+		<field name="KEYCODE_TV_INPUT_HDMI_2" since="21"/>
+		<field name="KEYCODE_TV_INPUT_HDMI_3" since="21"/>
+		<field name="KEYCODE_TV_INPUT_HDMI_4" since="21"/>
+		<field name="KEYCODE_TV_INPUT_VGA_1" since="21"/>
+		<field name="KEYCODE_TV_MEDIA_CONTEXT_MENU" since="21"/>
+		<field name="KEYCODE_TV_NETWORK" since="21"/>
+		<field name="KEYCODE_TV_NUMBER_ENTRY" since="21"/>
+		<field name="KEYCODE_TV_POWER" since="11"/>
+		<field name="KEYCODE_TV_RADIO_SERVICE" since="21"/>
+		<field name="KEYCODE_TV_SATELLITE" since="21"/>
+		<field name="KEYCODE_TV_SATELLITE_BS" since="21"/>
+		<field name="KEYCODE_TV_SATELLITE_CS" since="21"/>
+		<field name="KEYCODE_TV_SATELLITE_SERVICE" since="21"/>
+		<field name="KEYCODE_TV_TELETEXT" since="21"/>
+		<field name="KEYCODE_TV_TERRESTRIAL_ANALOG" since="21"/>
+		<field name="KEYCODE_TV_TERRESTRIAL_DIGITAL" since="21"/>
+		<field name="KEYCODE_TV_TIMER_PROGRAMMING" since="21"/>
+		<field name="KEYCODE_TV_ZOOM_MODE" since="21"/>
+		<field name="KEYCODE_U"/>
+		<field name="KEYCODE_UNKNOWN"/>
+		<field name="KEYCODE_V"/>
+		<field name="KEYCODE_VOICE_ASSIST" since="21"/>
+		<field name="KEYCODE_VOLUME_DOWN"/>
+		<field name="KEYCODE_VOLUME_MUTE" since="11"/>
+		<field name="KEYCODE_VOLUME_UP"/>
+		<field name="KEYCODE_W"/>
+		<field name="KEYCODE_WAKEUP" since="20"/>
+		<field name="KEYCODE_WINDOW" since="11"/>
+		<field name="KEYCODE_X"/>
+		<field name="KEYCODE_Y"/>
+		<field name="KEYCODE_YEN" since="16"/>
+		<field name="KEYCODE_Z"/>
+		<field name="KEYCODE_ZENKAKU_HANKAKU" since="16"/>
+		<field name="KEYCODE_ZOOM_IN" since="11"/>
+		<field name="KEYCODE_ZOOM_OUT" since="11"/>
+		<field name="MAX_KEYCODE" deprecated="15"/>
+		<field name="META_ALT_LEFT_ON"/>
+		<field name="META_ALT_MASK" since="11"/>
+		<field name="META_ALT_ON"/>
+		<field name="META_ALT_RIGHT_ON"/>
+		<field name="META_CAPS_LOCK_ON" since="11"/>
+		<field name="META_CTRL_LEFT_ON" since="11"/>
+		<field name="META_CTRL_MASK" since="11"/>
+		<field name="META_CTRL_ON" since="11"/>
+		<field name="META_CTRL_RIGHT_ON" since="11"/>
+		<field name="META_FUNCTION_ON" since="11"/>
+		<field name="META_META_LEFT_ON" since="11"/>
+		<field name="META_META_MASK" since="11"/>
+		<field name="META_META_ON" since="11"/>
+		<field name="META_META_RIGHT_ON" since="11"/>
+		<field name="META_NUM_LOCK_ON" since="11"/>
+		<field name="META_SCROLL_LOCK_ON" since="11"/>
+		<field name="META_SHIFT_LEFT_ON"/>
+		<field name="META_SHIFT_MASK" since="11"/>
+		<field name="META_SHIFT_ON"/>
+		<field name="META_SHIFT_RIGHT_ON"/>
+		<field name="META_SYM_ON"/>
+	</class>
+	<class name="android/view/KeyEvent$Callback" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onKeyDown(ILandroid/view/KeyEvent;)Z"/>
+		<method name="onKeyLongPress(ILandroid/view/KeyEvent;)Z" since="5"/>
+		<method name="onKeyMultiple(IILandroid/view/KeyEvent;)Z"/>
+		<method name="onKeyUp(ILandroid/view/KeyEvent;)Z"/>
+	</class>
+	<class name="android/view/KeyEvent$DispatcherState" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="handleUpEvent(Landroid/view/KeyEvent;)V"/>
+		<method name="isTracking(Landroid/view/KeyEvent;)Z"/>
+		<method name="performedLongPress(Landroid/view/KeyEvent;)V"/>
+		<method name="reset()V"/>
+		<method name="reset(Ljava/lang/Object;)V"/>
+		<method name="startTracking(Landroid/view/KeyEvent;Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/view/KeyboardShortcutGroup" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Ljava/util/List;)V"/>
+		<method name="addItem(Landroid/view/KeyboardShortcutInfo;)V"/>
+		<method name="getItems()Ljava/util/List;"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/KeyboardShortcutInfo" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;CI)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;II)V"/>
+		<method name="getBaseCharacter()C"/>
+		<method name="getKeycode()I"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<method name="getModifiers()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/LayoutInflater" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/view/LayoutInflater;Landroid/content/Context;)V"/>
+		<method name="cloneInContext(Landroid/content/Context;)Landroid/view/LayoutInflater;"/>
+		<method name="createView(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;" since="29"/>
+		<method name="createView(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;"/>
+		<method name="from(Landroid/content/Context;)Landroid/view/LayoutInflater;"/>
+		<method name="getContext()Landroid/content/Context;"/>
+		<method name="getFactory()Landroid/view/LayoutInflater$Factory;"/>
+		<method name="getFactory2()Landroid/view/LayoutInflater$Factory2;" since="11"/>
+		<method name="getFilter()Landroid/view/LayoutInflater$Filter;"/>
+		<method name="inflate(ILandroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;"/>
+		<method name="inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View;"/>
+		<method name="onCreateView(Landroid/content/Context;Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;" since="29"/>
+		<method name="onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;" since="11"/>
+		<method name="onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;"/>
+		<method name="setFactory(Landroid/view/LayoutInflater$Factory;)V"/>
+		<method name="setFactory2(Landroid/view/LayoutInflater$Factory2;)V" since="11"/>
+		<method name="setFilter(Landroid/view/LayoutInflater$Filter;)V"/>
+	</class>
+	<class name="android/view/LayoutInflater$Factory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;"/>
+	</class>
+	<class name="android/view/LayoutInflater$Factory2" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/LayoutInflater$Factory"/>
+		<method name="onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;"/>
+	</class>
+	<class name="android/view/LayoutInflater$Filter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onLoadClass(Ljava/lang/Class;)Z"/>
+	</class>
+	<class name="android/view/Menu" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="add(I)Landroid/view/MenuItem;"/>
+		<method name="add(IIII)Landroid/view/MenuItem;"/>
+		<method name="add(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;"/>
+		<method name="add(Ljava/lang/CharSequence;)Landroid/view/MenuItem;"/>
+		<method name="addIntentOptions(IIILandroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I[Landroid/view/MenuItem;)I"/>
+		<method name="addSubMenu(I)Landroid/view/SubMenu;"/>
+		<method name="addSubMenu(IIII)Landroid/view/SubMenu;"/>
+		<method name="addSubMenu(IIILjava/lang/CharSequence;)Landroid/view/SubMenu;"/>
+		<method name="addSubMenu(Ljava/lang/CharSequence;)Landroid/view/SubMenu;"/>
+		<method name="clear()V"/>
+		<method name="close()V" since="3"/>
+		<method name="findItem(I)Landroid/view/MenuItem;"/>
+		<method name="getItem(I)Landroid/view/MenuItem;" since="3"/>
+		<method name="hasVisibleItems()Z"/>
+		<method name="isShortcutKey(ILandroid/view/KeyEvent;)Z"/>
+		<method name="performIdentifierAction(II)Z"/>
+		<method name="performShortcut(ILandroid/view/KeyEvent;I)Z"/>
+		<method name="removeGroup(I)V"/>
+		<method name="removeItem(I)V"/>
+		<method name="setGroupCheckable(IZZ)V"/>
+		<method name="setGroupDividerEnabled(Z)V" since="28"/>
+		<method name="setGroupEnabled(IZ)V"/>
+		<method name="setGroupVisible(IZ)V"/>
+		<method name="setQwertyMode(Z)V"/>
+		<method name="size()I"/>
+		<field name="CATEGORY_ALTERNATIVE"/>
+		<field name="CATEGORY_CONTAINER"/>
+		<field name="CATEGORY_SECONDARY"/>
+		<field name="CATEGORY_SYSTEM"/>
+		<field name="FIRST"/>
+		<field name="FLAG_ALWAYS_PERFORM_CLOSE"/>
+		<field name="FLAG_APPEND_TO_GROUP"/>
+		<field name="FLAG_PERFORM_NO_CLOSE"/>
+		<field name="NONE"/>
+		<field name="SUPPORTED_MODIFIERS_MASK" since="26"/>
+	</class>
+	<class name="android/view/MenuInflater" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="inflate(ILandroid/view/Menu;)V"/>
+	</class>
+	<class name="android/view/MenuItem" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="collapseActionView()Z" since="14"/>
+		<method name="expandActionView()Z" since="14"/>
+		<method name="getActionProvider()Landroid/view/ActionProvider;" since="14"/>
+		<method name="getActionView()Landroid/view/View;" since="11"/>
+		<method name="getAlphabeticModifiers()I" since="26"/>
+		<method name="getAlphabeticShortcut()C"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;" since="26"/>
+		<method name="getGroupId()I"/>
+		<method name="getIcon()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getIconTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getIconTintList()Landroid/content/res/ColorStateList;" since="26"/>
+		<method name="getIconTintMode()Landroid/graphics/PorterDuff$Mode;" since="26"/>
+		<method name="getIntent()Landroid/content/Intent;"/>
+		<method name="getItemId()I"/>
+		<method name="getMenuInfo()Landroid/view/ContextMenu$ContextMenuInfo;"/>
+		<method name="getNumericModifiers()I" since="26"/>
+		<method name="getNumericShortcut()C"/>
+		<method name="getOrder()I"/>
+		<method name="getSubMenu()Landroid/view/SubMenu;"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<method name="getTitleCondensed()Ljava/lang/CharSequence;"/>
+		<method name="getTooltipText()Ljava/lang/CharSequence;" since="26"/>
+		<method name="hasSubMenu()Z"/>
+		<method name="isActionViewExpanded()Z" since="14"/>
+		<method name="isCheckable()Z"/>
+		<method name="isChecked()Z"/>
+		<method name="isEnabled()Z"/>
+		<method name="isVisible()Z"/>
+		<method name="setActionProvider(Landroid/view/ActionProvider;)Landroid/view/MenuItem;" since="14"/>
+		<method name="setActionView(I)Landroid/view/MenuItem;" since="11"/>
+		<method name="setActionView(Landroid/view/View;)Landroid/view/MenuItem;" since="11"/>
+		<method name="setAlphabeticShortcut(C)Landroid/view/MenuItem;"/>
+		<method name="setAlphabeticShortcut(CI)Landroid/view/MenuItem;" since="26"/>
+		<method name="setCheckable(Z)Landroid/view/MenuItem;"/>
+		<method name="setChecked(Z)Landroid/view/MenuItem;"/>
+		<method name="setContentDescription(Ljava/lang/CharSequence;)Landroid/view/MenuItem;" since="26"/>
+		<method name="setEnabled(Z)Landroid/view/MenuItem;"/>
+		<method name="setIcon(I)Landroid/view/MenuItem;"/>
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/MenuItem;"/>
+		<method name="setIconTintBlendMode(Landroid/graphics/BlendMode;)Landroid/view/MenuItem;" since="29"/>
+		<method name="setIconTintList(Landroid/content/res/ColorStateList;)Landroid/view/MenuItem;" since="26"/>
+		<method name="setIconTintMode(Landroid/graphics/PorterDuff$Mode;)Landroid/view/MenuItem;" since="26"/>
+		<method name="setIntent(Landroid/content/Intent;)Landroid/view/MenuItem;"/>
+		<method name="setNumericShortcut(C)Landroid/view/MenuItem;"/>
+		<method name="setNumericShortcut(CI)Landroid/view/MenuItem;" since="26"/>
+		<method name="setOnActionExpandListener(Landroid/view/MenuItem$OnActionExpandListener;)Landroid/view/MenuItem;" since="14"/>
+		<method name="setOnMenuItemClickListener(Landroid/view/MenuItem$OnMenuItemClickListener;)Landroid/view/MenuItem;"/>
+		<method name="setShortcut(CC)Landroid/view/MenuItem;"/>
+		<method name="setShortcut(CCII)Landroid/view/MenuItem;" since="26"/>
+		<method name="setShowAsAction(I)V" since="11"/>
+		<method name="setShowAsActionFlags(I)Landroid/view/MenuItem;" since="14"/>
+		<method name="setTitle(I)Landroid/view/MenuItem;"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)Landroid/view/MenuItem;"/>
+		<method name="setTitleCondensed(Ljava/lang/CharSequence;)Landroid/view/MenuItem;"/>
+		<method name="setTooltipText(Ljava/lang/CharSequence;)Landroid/view/MenuItem;" since="26"/>
+		<method name="setVisible(Z)Landroid/view/MenuItem;"/>
+		<field name="SHOW_AS_ACTION_ALWAYS" since="11"/>
+		<field name="SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW" since="14"/>
+		<field name="SHOW_AS_ACTION_IF_ROOM" since="11"/>
+		<field name="SHOW_AS_ACTION_NEVER" since="11"/>
+		<field name="SHOW_AS_ACTION_WITH_TEXT" since="11"/>
+	</class>
+	<class name="android/view/MenuItem$OnActionExpandListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onMenuItemActionCollapse(Landroid/view/MenuItem;)Z"/>
+		<method name="onMenuItemActionExpand(Landroid/view/MenuItem;)Z"/>
+	</class>
+	<class name="android/view/MenuItem$OnMenuItemClickListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onMenuItemClick(Landroid/view/MenuItem;)Z"/>
+	</class>
+	<class name="android/view/MotionEvent" since="1">
+		<extends name="android/view/InputEvent" since="9"/>
+		<extends name="java/lang/Object" removed="9"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="actionToString(I)Ljava/lang/String;" since="19"/>
+		<method name="addBatch(JFFFFI)V"/>
+		<method name="addBatch(J[Landroid/view/MotionEvent$PointerCoords;I)V" since="9"/>
+		<method name="axisFromString(Ljava/lang/String;)I" since="12"/>
+		<method name="axisToString(I)Ljava/lang/String;" since="12"/>
+		<method name="findPointerIndex(I)I" since="5"/>
+		<method name="getAction()I"/>
+		<method name="getActionButton()I" since="23"/>
+		<method name="getActionIndex()I" since="8"/>
+		<method name="getActionMasked()I" since="8"/>
+		<method name="getAxisValue(I)F" since="12"/>
+		<method name="getAxisValue(II)F" since="12"/>
+		<method name="getButtonState()I" since="14"/>
+		<method name="getClassification()I" since="29"/>
+		<method name="getDeviceId()I"/>
+		<method name="getDownTime()J"/>
+		<method name="getEdgeFlags()I"/>
+		<method name="getEventTime()J"/>
+		<method name="getFlags()I" since="9"/>
+		<method name="getHistoricalAxisValue(II)F" since="12"/>
+		<method name="getHistoricalAxisValue(III)F" since="12"/>
+		<method name="getHistoricalEventTime(I)J"/>
+		<method name="getHistoricalOrientation(I)F" since="9"/>
+		<method name="getHistoricalOrientation(II)F" since="9"/>
+		<method name="getHistoricalPointerCoords(IILandroid/view/MotionEvent$PointerCoords;)V" since="9"/>
+		<method name="getHistoricalPressure(I)F"/>
+		<method name="getHistoricalPressure(II)F" since="5"/>
+		<method name="getHistoricalSize(I)F"/>
+		<method name="getHistoricalSize(II)F" since="5"/>
+		<method name="getHistoricalToolMajor(I)F" since="9"/>
+		<method name="getHistoricalToolMajor(II)F" since="9"/>
+		<method name="getHistoricalToolMinor(I)F" since="9"/>
+		<method name="getHistoricalToolMinor(II)F" since="9"/>
+		<method name="getHistoricalTouchMajor(I)F" since="9"/>
+		<method name="getHistoricalTouchMajor(II)F" since="9"/>
+		<method name="getHistoricalTouchMinor(I)F" since="9"/>
+		<method name="getHistoricalTouchMinor(II)F" since="9"/>
+		<method name="getHistoricalX(I)F"/>
+		<method name="getHistoricalX(II)F" since="5"/>
+		<method name="getHistoricalY(I)F"/>
+		<method name="getHistoricalY(II)F" since="5"/>
+		<method name="getHistorySize()I"/>
+		<method name="getMetaState()I"/>
+		<method name="getOrientation()F" since="9"/>
+		<method name="getOrientation(I)F" since="9"/>
+		<method name="getPointerCoords(ILandroid/view/MotionEvent$PointerCoords;)V" since="9"/>
+		<method name="getPointerCount()I" since="5"/>
+		<method name="getPointerId(I)I" since="5"/>
+		<method name="getPointerProperties(ILandroid/view/MotionEvent$PointerProperties;)V" since="14"/>
+		<method name="getPressure()F"/>
+		<method name="getPressure(I)F" since="5"/>
+		<method name="getRawX()F"/>
+		<method name="getRawX(I)F" since="29"/>
+		<method name="getRawY()F"/>
+		<method name="getRawY(I)F" since="29"/>
+		<method name="getSize()F"/>
+		<method name="getSize(I)F" since="5"/>
+		<method name="getToolMajor()F" since="9"/>
+		<method name="getToolMajor(I)F" since="9"/>
+		<method name="getToolMinor()F" since="9"/>
+		<method name="getToolMinor(I)F" since="9"/>
+		<method name="getToolType(I)I" since="14"/>
+		<method name="getTouchMajor()F" since="9"/>
+		<method name="getTouchMajor(I)F" since="9"/>
+		<method name="getTouchMinor()F" since="9"/>
+		<method name="getTouchMinor(I)F" since="9"/>
+		<method name="getX()F"/>
+		<method name="getX(I)F" since="5"/>
+		<method name="getXPrecision()F"/>
+		<method name="getY()F"/>
+		<method name="getY(I)F" since="5"/>
+		<method name="getYPrecision()F"/>
+		<method name="isButtonPressed(I)Z" since="21"/>
+		<method name="obtain(JJIFFFFIFFII)Landroid/view/MotionEvent;"/>
+		<method name="obtain(JJIFFI)Landroid/view/MotionEvent;"/>
+		<method name="obtain(JJIIFFFFIFFII)Landroid/view/MotionEvent;" since="5" deprecated="15"/>
+		<method name="obtain(JJII[I[Landroid/view/MotionEvent$PointerCoords;IFFIIII)Landroid/view/MotionEvent;" since="9" deprecated="15"/>
+		<method name="obtain(JJII[Landroid/view/MotionEvent$PointerProperties;[Landroid/view/MotionEvent$PointerCoords;IIFFIIII)Landroid/view/MotionEvent;" since="14"/>
+		<method name="obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;"/>
+		<method name="obtainNoHistory(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;" since="5"/>
+		<method name="offsetLocation(FF)V"/>
+		<method name="recycle()V"/>
+		<method name="setAction(I)V"/>
+		<method name="setEdgeFlags(I)V"/>
+		<method name="setLocation(FF)V"/>
+		<method name="setSource(I)V" since="12"/>
+		<method name="transform(Landroid/graphics/Matrix;)V" since="11"/>
+		<field name="ACTION_BUTTON_PRESS" since="23"/>
+		<field name="ACTION_BUTTON_RELEASE" since="23"/>
+		<field name="ACTION_CANCEL"/>
+		<field name="ACTION_DOWN"/>
+		<field name="ACTION_HOVER_ENTER" since="14"/>
+		<field name="ACTION_HOVER_EXIT" since="14"/>
+		<field name="ACTION_HOVER_MOVE" since="12"/>
+		<field name="ACTION_MASK" since="5"/>
+		<field name="ACTION_MOVE"/>
+		<field name="ACTION_OUTSIDE" since="3"/>
+		<field name="ACTION_POINTER_1_DOWN" since="5" deprecated="15"/>
+		<field name="ACTION_POINTER_1_UP" since="5" deprecated="15"/>
+		<field name="ACTION_POINTER_2_DOWN" since="5" deprecated="15"/>
+		<field name="ACTION_POINTER_2_UP" since="5" deprecated="15"/>
+		<field name="ACTION_POINTER_3_DOWN" since="5" deprecated="15"/>
+		<field name="ACTION_POINTER_3_UP" since="5" deprecated="15"/>
+		<field name="ACTION_POINTER_DOWN" since="5"/>
+		<field name="ACTION_POINTER_ID_MASK" since="5" deprecated="15"/>
+		<field name="ACTION_POINTER_ID_SHIFT" since="5" deprecated="15"/>
+		<field name="ACTION_POINTER_INDEX_MASK" since="8"/>
+		<field name="ACTION_POINTER_INDEX_SHIFT" since="8"/>
+		<field name="ACTION_POINTER_UP" since="5"/>
+		<field name="ACTION_SCROLL" since="12"/>
+		<field name="ACTION_UP"/>
+		<field name="AXIS_BRAKE" since="12"/>
+		<field name="AXIS_DISTANCE" since="14"/>
+		<field name="AXIS_GAS" since="12"/>
+		<field name="AXIS_GENERIC_1" since="12"/>
+		<field name="AXIS_GENERIC_10" since="12"/>
+		<field name="AXIS_GENERIC_11" since="12"/>
+		<field name="AXIS_GENERIC_12" since="12"/>
+		<field name="AXIS_GENERIC_13" since="12"/>
+		<field name="AXIS_GENERIC_14" since="12"/>
+		<field name="AXIS_GENERIC_15" since="12"/>
+		<field name="AXIS_GENERIC_16" since="12"/>
+		<field name="AXIS_GENERIC_2" since="12"/>
+		<field name="AXIS_GENERIC_3" since="12"/>
+		<field name="AXIS_GENERIC_4" since="12"/>
+		<field name="AXIS_GENERIC_5" since="12"/>
+		<field name="AXIS_GENERIC_6" since="12"/>
+		<field name="AXIS_GENERIC_7" since="12"/>
+		<field name="AXIS_GENERIC_8" since="12"/>
+		<field name="AXIS_GENERIC_9" since="12"/>
+		<field name="AXIS_HAT_X" since="12"/>
+		<field name="AXIS_HAT_Y" since="12"/>
+		<field name="AXIS_HSCROLL" since="12"/>
+		<field name="AXIS_LTRIGGER" since="12"/>
+		<field name="AXIS_ORIENTATION" since="12"/>
+		<field name="AXIS_PRESSURE" since="12"/>
+		<field name="AXIS_RELATIVE_X" since="24"/>
+		<field name="AXIS_RELATIVE_Y" since="24"/>
+		<field name="AXIS_RTRIGGER" since="12"/>
+		<field name="AXIS_RUDDER" since="12"/>
+		<field name="AXIS_RX" since="12"/>
+		<field name="AXIS_RY" since="12"/>
+		<field name="AXIS_RZ" since="12"/>
+		<field name="AXIS_SCROLL" since="26"/>
+		<field name="AXIS_SIZE" since="12"/>
+		<field name="AXIS_THROTTLE" since="12"/>
+		<field name="AXIS_TILT" since="14"/>
+		<field name="AXIS_TOOL_MAJOR" since="12"/>
+		<field name="AXIS_TOOL_MINOR" since="12"/>
+		<field name="AXIS_TOUCH_MAJOR" since="12"/>
+		<field name="AXIS_TOUCH_MINOR" since="12"/>
+		<field name="AXIS_VSCROLL" since="12"/>
+		<field name="AXIS_WHEEL" since="12"/>
+		<field name="AXIS_X" since="12"/>
+		<field name="AXIS_Y" since="12"/>
+		<field name="AXIS_Z" since="12"/>
+		<field name="BUTTON_BACK" since="14"/>
+		<field name="BUTTON_FORWARD" since="14"/>
+		<field name="BUTTON_PRIMARY" since="14"/>
+		<field name="BUTTON_SECONDARY" since="14"/>
+		<field name="BUTTON_STYLUS_PRIMARY" since="23"/>
+		<field name="BUTTON_STYLUS_SECONDARY" since="23"/>
+		<field name="BUTTON_TERTIARY" since="14"/>
+		<field name="CLASSIFICATION_AMBIGUOUS_GESTURE" since="29"/>
+		<field name="CLASSIFICATION_DEEP_PRESS" since="29"/>
+		<field name="CLASSIFICATION_NONE" since="29"/>
+		<field name="CREATOR"/>
+		<field name="EDGE_BOTTOM"/>
+		<field name="EDGE_LEFT"/>
+		<field name="EDGE_RIGHT"/>
+		<field name="EDGE_TOP"/>
+		<field name="FLAG_WINDOW_IS_OBSCURED" since="9"/>
+		<field name="FLAG_WINDOW_IS_PARTIALLY_OBSCURED" since="29"/>
+		<field name="INVALID_POINTER_ID" since="14"/>
+		<field name="TOOL_TYPE_ERASER" since="14"/>
+		<field name="TOOL_TYPE_FINGER" since="14"/>
+		<field name="TOOL_TYPE_MOUSE" since="14"/>
+		<field name="TOOL_TYPE_STYLUS" since="14"/>
+		<field name="TOOL_TYPE_UNKNOWN" since="14"/>
+	</class>
+	<class name="android/view/MotionEvent$PointerCoords" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/view/MotionEvent$PointerCoords;)V" since="12"/>
+		<method name="clear()V" since="12"/>
+		<method name="copyFrom(Landroid/view/MotionEvent$PointerCoords;)V" since="12"/>
+		<method name="getAxisValue(I)F" since="12"/>
+		<method name="setAxisValue(IF)V" since="12"/>
+		<field name="orientation"/>
+		<field name="pressure"/>
+		<field name="size"/>
+		<field name="toolMajor"/>
+		<field name="toolMinor"/>
+		<field name="touchMajor"/>
+		<field name="touchMinor"/>
+		<field name="x"/>
+		<field name="y"/>
+	</class>
+	<class name="android/view/MotionEvent$PointerProperties" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/view/MotionEvent$PointerProperties;)V"/>
+		<method name="clear()V"/>
+		<method name="copyFrom(Landroid/view/MotionEvent$PointerProperties;)V"/>
+		<field name="id"/>
+		<field name="toolType"/>
+	</class>
+	<class name="android/view/OnReceiveContentListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onReceiveContent(Landroid/view/View;Landroid/view/ContentInfo;)Landroid/view/ContentInfo;"/>
+	</class>
+	<class name="android/view/OrientationEventListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V"/>
+		<method name="canDetectOrientation()Z"/>
+		<method name="disable()V"/>
+		<method name="enable()V"/>
+		<method name="onOrientationChanged(I)V"/>
+		<field name="ORIENTATION_UNKNOWN"/>
+	</class>
+	<class name="android/view/OrientationListener" since="1" deprecated="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/hardware/SensorListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V" since="3" deprecated="29"/>
+		<method name="disable()V" deprecated="29"/>
+		<method name="enable()V" deprecated="29"/>
+		<method name="onOrientationChanged(I)V" deprecated="29"/>
+		<field name="ORIENTATION_UNKNOWN" deprecated="29"/>
+	</class>
+	<class name="android/view/PixelCopy" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="request(Landroid/view/Surface;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V"/>
+		<method name="request(Landroid/view/Surface;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V" since="26"/>
+		<method name="request(Landroid/view/SurfaceView;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V"/>
+		<method name="request(Landroid/view/SurfaceView;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V" since="26"/>
+		<method name="request(Landroid/view/Window;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V" since="26"/>
+		<method name="request(Landroid/view/Window;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V" since="26"/>
+		<field name="ERROR_DESTINATION_INVALID"/>
+		<field name="ERROR_SOURCE_INVALID"/>
+		<field name="ERROR_SOURCE_NO_DATA"/>
+		<field name="ERROR_TIMEOUT"/>
+		<field name="ERROR_UNKNOWN"/>
+		<field name="SUCCESS"/>
+	</class>
+	<class name="android/view/PixelCopy$OnPixelCopyFinishedListener" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onPixelCopyFinished(I)V"/>
+	</class>
+	<class name="android/view/PointerIcon" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="create(Landroid/graphics/Bitmap;FF)Landroid/view/PointerIcon;"/>
+		<method name="getSystemIcon(Landroid/content/Context;I)Landroid/view/PointerIcon;"/>
+		<method name="load(Landroid/content/res/Resources;I)Landroid/view/PointerIcon;"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_ALIAS"/>
+		<field name="TYPE_ALL_SCROLL"/>
+		<field name="TYPE_ARROW"/>
+		<field name="TYPE_CELL"/>
+		<field name="TYPE_CONTEXT_MENU"/>
+		<field name="TYPE_COPY"/>
+		<field name="TYPE_CROSSHAIR"/>
+		<field name="TYPE_DEFAULT"/>
+		<field name="TYPE_GRAB"/>
+		<field name="TYPE_GRABBING"/>
+		<field name="TYPE_HAND"/>
+		<field name="TYPE_HELP"/>
+		<field name="TYPE_HORIZONTAL_DOUBLE_ARROW"/>
+		<field name="TYPE_NO_DROP"/>
+		<field name="TYPE_NULL"/>
+		<field name="TYPE_TEXT"/>
+		<field name="TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW"/>
+		<field name="TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW"/>
+		<field name="TYPE_VERTICAL_DOUBLE_ARROW"/>
+		<field name="TYPE_VERTICAL_TEXT"/>
+		<field name="TYPE_WAIT"/>
+		<field name="TYPE_ZOOM_IN"/>
+		<field name="TYPE_ZOOM_OUT"/>
+	</class>
+	<class name="android/view/RoundedCorner" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(IIII)V"/>
+		<method name="getCenter()Landroid/graphics/Point;"/>
+		<method name="getPosition()I"/>
+		<method name="getRadius()I"/>
+		<field name="CREATOR"/>
+		<field name="POSITION_BOTTOM_LEFT"/>
+		<field name="POSITION_BOTTOM_RIGHT"/>
+		<field name="POSITION_TOP_LEFT"/>
+		<field name="POSITION_TOP_RIGHT"/>
+	</class>
+	<class name="android/view/ScaleGestureDetector" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;Landroid/os/Handler;)V" since="19"/>
+		<method name="getCurrentSpan()F"/>
+		<method name="getCurrentSpanX()F" since="11"/>
+		<method name="getCurrentSpanY()F" since="11"/>
+		<method name="getEventTime()J"/>
+		<method name="getFocusX()F"/>
+		<method name="getFocusY()F"/>
+		<method name="getPreviousSpan()F"/>
+		<method name="getPreviousSpanX()F" since="11"/>
+		<method name="getPreviousSpanY()F" since="11"/>
+		<method name="getScaleFactor()F"/>
+		<method name="getTimeDelta()J"/>
+		<method name="isInProgress()Z"/>
+		<method name="isQuickScaleEnabled()Z" since="19"/>
+		<method name="isStylusScaleEnabled()Z" since="23"/>
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="setQuickScaleEnabled(Z)V" since="19"/>
+		<method name="setStylusScaleEnabled(Z)V" since="23"/>
+	</class>
+	<class name="android/view/ScaleGestureDetector$OnScaleGestureListener" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="onScale(Landroid/view/ScaleGestureDetector;)Z"/>
+		<method name="onScaleBegin(Landroid/view/ScaleGestureDetector;)Z"/>
+		<method name="onScaleEnd(Landroid/view/ScaleGestureDetector;)V"/>
+	</class>
+	<class name="android/view/ScaleGestureDetector$SimpleOnScaleGestureListener" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/ScaleGestureDetector$OnScaleGestureListener"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/view/ScrollCaptureCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onScrollCaptureEnd(Ljava/lang/Runnable;)V"/>
+		<method name="onScrollCaptureImageRequest(Landroid/view/ScrollCaptureSession;Landroid/os/CancellationSignal;Landroid/graphics/Rect;Ljava/util/function/Consumer;)V"/>
+		<method name="onScrollCaptureSearch(Landroid/os/CancellationSignal;Ljava/util/function/Consumer;)V"/>
+		<method name="onScrollCaptureStart(Landroid/view/ScrollCaptureSession;Landroid/os/CancellationSignal;Ljava/lang/Runnable;)V"/>
+	</class>
+	<class name="android/view/ScrollCaptureSession" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/Surface;Landroid/graphics/Rect;Landroid/graphics/Point;)V"/>
+		<method name="getPositionInWindow()Landroid/graphics/Point;"/>
+		<method name="getScrollBounds()Landroid/graphics/Rect;"/>
+		<method name="getSurface()Landroid/view/Surface;"/>
+	</class>
+	<class name="android/view/ScrollCaptureTarget" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Landroid/view/ScrollCaptureCallback;)V"/>
+		<method name="getCallback()Landroid/view/ScrollCaptureCallback;"/>
+		<method name="getContainingView()Landroid/view/View;"/>
+		<method name="getHint()I"/>
+		<method name="getLocalVisibleRect()Landroid/graphics/Rect;"/>
+		<method name="getPositionInWindow()Landroid/graphics/Point;"/>
+		<method name="getScrollBounds()Landroid/graphics/Rect;"/>
+		<method name="setScrollBounds(Landroid/graphics/Rect;)V"/>
+		<method name="updatePositionInWindow()V"/>
+	</class>
+	<class name="android/view/SearchEvent" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/InputDevice;)V"/>
+		<method name="getInputDevice()Landroid/view/InputDevice;"/>
+	</class>
+	<class name="android/view/SoundEffectConstants" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getConstantForFocusDirection(IZ)I" since="31"/>
+		<method name="getContantForFocusDirection(I)I"/>
+		<field name="CLICK"/>
+		<field name="NAVIGATION_DOWN"/>
+		<field name="NAVIGATION_LEFT"/>
+		<field name="NAVIGATION_REPEAT_DOWN" since="31"/>
+		<field name="NAVIGATION_REPEAT_LEFT" since="31"/>
+		<field name="NAVIGATION_REPEAT_RIGHT" since="31"/>
+		<field name="NAVIGATION_REPEAT_UP" since="31"/>
+		<field name="NAVIGATION_RIGHT"/>
+		<field name="NAVIGATION_UP"/>
+	</class>
+	<class name="android/view/SubMenu" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/Menu"/>
+		<method name="clearHeader()V"/>
+		<method name="getItem()Landroid/view/MenuItem;"/>
+		<method name="setHeaderIcon(I)Landroid/view/SubMenu;"/>
+		<method name="setHeaderIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/SubMenu;"/>
+		<method name="setHeaderTitle(I)Landroid/view/SubMenu;"/>
+		<method name="setHeaderTitle(Ljava/lang/CharSequence;)Landroid/view/SubMenu;"/>
+		<method name="setHeaderView(Landroid/view/View;)Landroid/view/SubMenu;"/>
+		<method name="setIcon(I)Landroid/view/SubMenu;"/>
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/SubMenu;"/>
+	</class>
+	<class name="android/view/Surface" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/graphics/SurfaceTexture;)V" since="14"/>
+		<method name="&lt;init>(Landroid/view/SurfaceControl;)V" since="29"/>
+		<method name="freeze()V" removed="14"/>
+		<method name="hide()V" removed="14"/>
+		<method name="isValid()Z"/>
+		<method name="lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;"/>
+		<method name="lockHardwareCanvas()Landroid/graphics/Canvas;" since="23"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<method name="release()V" since="14"/>
+		<method name="setAlpha(F)V" removed="14"/>
+		<method name="setFlags(II)V" removed="14"/>
+		<method name="setFrameRate(FI)V" since="30"/>
+		<method name="setFrameRate(FII)V" since="31"/>
+		<method name="setFreezeTint(I)V" removed="14"/>
+		<method name="setLayer(I)V" removed="14"/>
+		<method name="setMatrix(FFFF)V" removed="14"/>
+		<method name="setOrientation(II)V" removed="14"/>
+		<method name="setPosition(II)V" removed="14"/>
+		<method name="setSize(II)V" removed="14"/>
+		<method name="setTransparentRegionHint(Landroid/graphics/Region;)V" removed="14"/>
+		<method name="show()V" removed="14"/>
+		<method name="unfreeze()V" removed="14"/>
+		<method name="unlockCanvas(Landroid/graphics/Canvas;)V" deprecated="17"/>
+		<method name="unlockCanvasAndPost(Landroid/graphics/Canvas;)V"/>
+		<field name="CHANGE_FRAME_RATE_ALWAYS" since="31"/>
+		<field name="CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS" since="31"/>
+		<field name="CREATOR"/>
+		<field name="FRAME_RATE_COMPATIBILITY_DEFAULT" since="30"/>
+		<field name="FRAME_RATE_COMPATIBILITY_FIXED_SOURCE" since="30"/>
+		<field name="FX_SURFACE_BLUR" removed="14"/>
+		<field name="FX_SURFACE_DIM" removed="14"/>
+		<field name="FX_SURFACE_MASK" removed="14"/>
+		<field name="FX_SURFACE_NORMAL" removed="14"/>
+		<field name="GPU" removed="14"/>
+		<field name="HARDWARE" removed="14"/>
+		<field name="HIDDEN" removed="14"/>
+		<field name="NON_PREMULTIPLIED" removed="14"/>
+		<field name="PUSH_BUFFERS" removed="14"/>
+		<field name="ROTATION_0"/>
+		<field name="ROTATION_180"/>
+		<field name="ROTATION_270"/>
+		<field name="ROTATION_90"/>
+		<field name="SECURE" removed="14"/>
+		<field name="SURACE_FROZEN" removed="14"/>
+		<field name="SURFACE_BLUR_FREEZE" removed="14"/>
+		<field name="SURFACE_DITHER" removed="14"/>
+		<field name="SURFACE_FROZEN" since="4" removed="14"/>
+		<field name="SURFACE_HIDDEN" removed="14"/>
+	</class>
+	<class name="android/view/Surface$OutOfResourcesException" since="1">
+		<extends name="java/lang/Exception" removed="19"/>
+		<extends name="java/lang/RuntimeException" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/view/SurfaceControl" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="isValid()Z"/>
+		<method name="readFromParcel(Landroid/os/Parcel;)V"/>
+		<method name="release()V"/>
+		<field name="BUFFER_TRANSFORM_IDENTITY" since="33"/>
+		<field name="BUFFER_TRANSFORM_MIRROR_HORIZONTAL" since="33"/>
+		<field name="BUFFER_TRANSFORM_MIRROR_VERTICAL" since="33"/>
+		<field name="BUFFER_TRANSFORM_ROTATE_180" since="33"/>
+		<field name="BUFFER_TRANSFORM_ROTATE_270" since="33"/>
+		<field name="BUFFER_TRANSFORM_ROTATE_90" since="33"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/SurfaceControl$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/view/SurfaceControl;"/>
+		<method name="setBufferSize(II)Landroid/view/SurfaceControl$Builder;"/>
+		<method name="setFormat(I)Landroid/view/SurfaceControl$Builder;"/>
+		<method name="setName(Ljava/lang/String;)Landroid/view/SurfaceControl$Builder;"/>
+		<method name="setOpaque(Z)Landroid/view/SurfaceControl$Builder;"/>
+		<method name="setParent(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Builder;"/>
+	</class>
+	<class name="android/view/SurfaceControl$Transaction" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="30"/>
+		<implements name="java/io/Closeable"/>
+		<method name="&lt;init>()V"/>
+		<method name="apply()V"/>
+		<method name="merge(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl$Transaction;"/>
+		<method name="reparent(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;"/>
+		<method name="setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;"/>
+		<method name="setBufferSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;"/>
+		<method name="setFrameRate(Landroid/view/SurfaceControl;FI)Landroid/view/SurfaceControl$Transaction;" since="30"/>
+		<method name="setFrameRate(Landroid/view/SurfaceControl;FII)Landroid/view/SurfaceControl$Transaction;" since="31"/>
+		<method name="setGeometry(Landroid/view/SurfaceControl;Landroid/graphics/Rect;Landroid/graphics/Rect;I)Landroid/view/SurfaceControl$Transaction;"/>
+		<method name="setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;"/>
+		<method name="setVisibility(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;"/>
+		<field name="CREATOR" since="30"/>
+	</class>
+	<class name="android/view/SurfaceControlViewHost" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/Display;Landroid/os/IBinder;)V"/>
+		<method name="getSurfacePackage()Landroid/view/SurfaceControlViewHost$SurfacePackage;"/>
+		<method name="getView()Landroid/view/View;"/>
+		<method name="relayout(II)V"/>
+		<method name="release()V"/>
+		<method name="setView(Landroid/view/View;II)V"/>
+	</class>
+	<class name="android/view/SurfaceControlViewHost$SurfacePackage" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/view/SurfaceControlViewHost$SurfacePackage;)V" since="31"/>
+		<method name="release()V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/SurfaceHolder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addCallback(Landroid/view/SurfaceHolder$Callback;)V"/>
+		<method name="getSurface()Landroid/view/Surface;"/>
+		<method name="getSurfaceFrame()Landroid/graphics/Rect;"/>
+		<method name="isCreating()Z"/>
+		<method name="lockCanvas()Landroid/graphics/Canvas;"/>
+		<method name="lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;"/>
+		<method name="lockHardwareCanvas()Landroid/graphics/Canvas;" since="26"/>
+		<method name="removeCallback(Landroid/view/SurfaceHolder$Callback;)V"/>
+		<method name="setFixedSize(II)V"/>
+		<method name="setFormat(I)V"/>
+		<method name="setKeepScreenOn(Z)V"/>
+		<method name="setSizeFromLayout()V"/>
+		<method name="setType(I)V" deprecated="15"/>
+		<method name="unlockCanvasAndPost(Landroid/graphics/Canvas;)V"/>
+		<field name="SURFACE_TYPE_GPU" deprecated="15"/>
+		<field name="SURFACE_TYPE_HARDWARE" deprecated="15"/>
+		<field name="SURFACE_TYPE_NORMAL" deprecated="15"/>
+		<field name="SURFACE_TYPE_PUSH_BUFFERS" deprecated="15"/>
+	</class>
+	<class name="android/view/SurfaceHolder$BadSurfaceTypeException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/view/SurfaceHolder$Callback" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="surfaceChanged(Landroid/view/SurfaceHolder;III)V"/>
+		<method name="surfaceCreated(Landroid/view/SurfaceHolder;)V"/>
+		<method name="surfaceDestroyed(Landroid/view/SurfaceHolder;)V"/>
+	</class>
+	<class name="android/view/SurfaceHolder$Callback2" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/SurfaceHolder$Callback"/>
+		<method name="surfaceRedrawNeeded(Landroid/view/SurfaceHolder;)V"/>
+		<method name="surfaceRedrawNeededAsync(Landroid/view/SurfaceHolder;Ljava/lang/Runnable;)V" since="26"/>
+	</class>
+	<class name="android/view/SurfaceView" since="1">
+		<extends name="android/view/View"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="gatherTransparentRegion(Landroid/graphics/Region;)Z"/>
+		<method name="getHolder()Landroid/view/SurfaceHolder;"/>
+		<method name="getHostToken()Landroid/os/IBinder;" since="30"/>
+		<method name="getSurfaceControl()Landroid/view/SurfaceControl;" since="29"/>
+		<method name="setChildSurfacePackage(Landroid/view/SurfaceControlViewHost$SurfacePackage;)V" since="30"/>
+		<method name="setSecure(Z)V" since="17"/>
+		<method name="setZOrderMediaOverlay(Z)V" since="5"/>
+		<method name="setZOrderOnTop(Z)V" since="5"/>
+	</class>
+	<class name="android/view/TextureView" since="14">
+		<extends name="android/view/View"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getBitmap()Landroid/graphics/Bitmap;"/>
+		<method name="getBitmap(II)Landroid/graphics/Bitmap;"/>
+		<method name="getBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;"/>
+		<method name="getSurfaceTexture()Landroid/graphics/SurfaceTexture;"/>
+		<method name="getSurfaceTextureListener()Landroid/view/TextureView$SurfaceTextureListener;"/>
+		<method name="getTransform(Landroid/graphics/Matrix;)Landroid/graphics/Matrix;"/>
+		<method name="isAvailable()Z"/>
+		<method name="lockCanvas()Landroid/graphics/Canvas;"/>
+		<method name="lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;"/>
+		<method name="setOpaque(Z)V"/>
+		<method name="setSurfaceTexture(Landroid/graphics/SurfaceTexture;)V" since="16"/>
+		<method name="setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V"/>
+		<method name="setTransform(Landroid/graphics/Matrix;)V"/>
+		<method name="unlockCanvasAndPost(Landroid/graphics/Canvas;)V"/>
+	</class>
+	<class name="android/view/TextureView$SurfaceTextureListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onSurfaceTextureAvailable(Landroid/graphics/SurfaceTexture;II)V"/>
+		<method name="onSurfaceTextureDestroyed(Landroid/graphics/SurfaceTexture;)Z"/>
+		<method name="onSurfaceTextureSizeChanged(Landroid/graphics/SurfaceTexture;II)V"/>
+		<method name="onSurfaceTextureUpdated(Landroid/graphics/SurfaceTexture;)V"/>
+	</class>
+	<class name="android/view/TouchDelegate" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/Rect;Landroid/view/View;)V"/>
+		<method name="getTouchDelegateInfo()Landroid/view/accessibility/AccessibilityNodeInfo$TouchDelegateInfo;" since="29"/>
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onTouchExplorationHoverEvent(Landroid/view/MotionEvent;)Z" since="29"/>
+		<field name="ABOVE"/>
+		<field name="BELOW"/>
+		<field name="TO_LEFT"/>
+		<field name="TO_RIGHT"/>
+	</class>
+	<class name="android/view/VelocityTracker" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addMovement(Landroid/view/MotionEvent;)V"/>
+		<method name="clear()V"/>
+		<method name="computeCurrentVelocity(I)V"/>
+		<method name="computeCurrentVelocity(IF)V" since="4"/>
+		<method name="getXVelocity()F"/>
+		<method name="getXVelocity(I)F" since="8"/>
+		<method name="getYVelocity()F"/>
+		<method name="getYVelocity(I)F" since="8"/>
+		<method name="obtain()Landroid/view/VelocityTracker;"/>
+		<method name="recycle()V"/>
+	</class>
+	<class name="android/view/VerifiedInputEvent" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getDeviceId()I"/>
+		<method name="getDisplayId()I"/>
+		<method name="getEventTimeNanos()J"/>
+		<method name="getSource()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/VerifiedKeyEvent" since="30">
+		<extends name="android/view/VerifiedInputEvent"/>
+		<method name="getAction()I"/>
+		<method name="getDownTimeNanos()J"/>
+		<method name="getFlag(I)Ljava/lang/Boolean;"/>
+		<method name="getKeyCode()I"/>
+		<method name="getMetaState()I"/>
+		<method name="getRepeatCount()I"/>
+		<method name="getScanCode()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/VerifiedMotionEvent" since="30">
+		<extends name="android/view/VerifiedInputEvent"/>
+		<method name="getActionMasked()I"/>
+		<method name="getButtonState()I"/>
+		<method name="getDownTimeNanos()J"/>
+		<method name="getFlag(I)Ljava/lang/Boolean;"/>
+		<method name="getMetaState()I"/>
+		<method name="getRawX()F"/>
+		<method name="getRawY()F"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/View" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/graphics/drawable/Drawable$Callback"/>
+		<implements name="android/view/KeyEvent$Callback"/>
+		<implements name="android/view/accessibility/AccessibilityEventSource" since="4"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="addChildrenForAccessibility(Ljava/util/ArrayList;)V" since="16"/>
+		<method name="addExtraDataToAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;Ljava/lang/String;Landroid/os/Bundle;)V" since="26"/>
+		<method name="addFocusables(Ljava/util/ArrayList;I)V"/>
+		<method name="addFocusables(Ljava/util/ArrayList;II)V" since="4"/>
+		<method name="addKeyboardNavigationClusters(Ljava/util/Collection;I)V" since="26"/>
+		<method name="addOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V" since="12"/>
+		<method name="addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V" since="11"/>
+		<method name="addOnUnhandledKeyEventListener(Landroid/view/View$OnUnhandledKeyEventListener;)V" since="28"/>
+		<method name="addTouchables(Ljava/util/ArrayList;)V"/>
+		<method name="animate()Landroid/view/ViewPropertyAnimator;" since="12"/>
+		<method name="announceForAccessibility(Ljava/lang/CharSequence;)V" since="16"/>
+		<method name="autofill(Landroid/util/SparseArray;)V" since="26"/>
+		<method name="autofill(Landroid/view/autofill/AutofillValue;)V" since="26"/>
+		<method name="awakenScrollBars()Z" since="5"/>
+		<method name="awakenScrollBars(I)Z" since="5"/>
+		<method name="awakenScrollBars(IZ)Z" since="5"/>
+		<method name="bringToFront()V"/>
+		<method name="buildDrawingCache()V" deprecated="28"/>
+		<method name="buildDrawingCache(Z)V" since="4" deprecated="28"/>
+		<method name="buildLayer()V" since="12"/>
+		<method name="callOnClick()Z" since="15"/>
+		<method name="canResolveLayoutDirection()Z" since="19"/>
+		<method name="canResolveTextAlignment()Z" since="19"/>
+		<method name="canResolveTextDirection()Z" since="19"/>
+		<method name="canScrollHorizontally(I)Z" since="14"/>
+		<method name="canScrollVertically(I)Z" since="14"/>
+		<method name="cancelDragAndDrop()V" since="24"/>
+		<method name="cancelLongPress()V"/>
+		<method name="cancelPendingInputEvents()V" since="19"/>
+		<method name="checkInputConnectionProxy(Landroid/view/View;)Z" since="3"/>
+		<method name="clearAnimation()V"/>
+		<method name="clearFocus()V"/>
+		<method name="clearViewTranslationCallback()V" since="31"/>
+		<method name="combineMeasuredStates(II)I" since="11"/>
+		<method name="computeHorizontalScrollExtent()I"/>
+		<method name="computeHorizontalScrollOffset()I"/>
+		<method name="computeHorizontalScrollRange()I"/>
+		<method name="computeScroll()V"/>
+		<method name="computeSystemWindowInsets(Landroid/view/WindowInsets;Landroid/graphics/Rect;)Landroid/view/WindowInsets;" since="21"/>
+		<method name="computeVerticalScrollExtent()I"/>
+		<method name="computeVerticalScrollOffset()I"/>
+		<method name="computeVerticalScrollRange()I"/>
+		<method name="createAccessibilityNodeInfo()Landroid/view/accessibility/AccessibilityNodeInfo;" since="14"/>
+		<method name="createContextMenu(Landroid/view/ContextMenu;)V"/>
+		<method name="destroyDrawingCache()V" deprecated="28"/>
+		<method name="dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;" since="20"/>
+		<method name="dispatchCapturedPointerEvent(Landroid/view/MotionEvent;)Z" since="26"/>
+		<method name="dispatchConfigurationChanged(Landroid/content/res/Configuration;)V" since="8"/>
+		<method name="dispatchCreateViewTranslationRequest(Ljava/util/Map;[ILandroid/view/translation/TranslationCapability;Ljava/util/List;)V" since="31"/>
+		<method name="dispatchDisplayHint(I)V" since="8"/>
+		<method name="dispatchDragEvent(Landroid/view/DragEvent;)Z" since="11"/>
+		<method name="dispatchDraw(Landroid/graphics/Canvas;)V"/>
+		<method name="dispatchDrawableHotspotChanged(FF)V" since="22"/>
+		<method name="dispatchFinishTemporaryDetach()V" since="24"/>
+		<method name="dispatchGenericFocusedEvent(Landroid/view/MotionEvent;)Z" since="14"/>
+		<method name="dispatchGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12"/>
+		<method name="dispatchGenericPointerEvent(Landroid/view/MotionEvent;)Z" since="14"/>
+		<method name="dispatchHoverEvent(Landroid/view/MotionEvent;)Z" since="14"/>
+		<method name="dispatchKeyEvent(Landroid/view/KeyEvent;)Z"/>
+		<method name="dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z" since="3"/>
+		<method name="dispatchKeyShortcutEvent(Landroid/view/KeyEvent;)Z"/>
+		<method name="dispatchNestedFling(FFZ)Z" since="21"/>
+		<method name="dispatchNestedPreFling(FF)Z" since="21"/>
+		<method name="dispatchNestedPrePerformAccessibilityAction(ILandroid/os/Bundle;)Z" since="22"/>
+		<method name="dispatchNestedPreScroll(II[I[I)Z" since="21"/>
+		<method name="dispatchNestedScroll(IIII[I)Z" since="21"/>
+		<method name="dispatchPointerCaptureChanged(Z)V" since="26"/>
+		<method name="dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z" since="4"/>
+		<method name="dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V" since="26"/>
+		<method name="dispatchProvideStructure(Landroid/view/ViewStructure;)V" since="23"/>
+		<method name="dispatchRestoreInstanceState(Landroid/util/SparseArray;)V"/>
+		<method name="dispatchSaveInstanceState(Landroid/util/SparseArray;)V"/>
+		<method name="dispatchScrollCaptureSearch(Landroid/graphics/Rect;Landroid/graphics/Point;Ljava/util/function/Consumer;)V" since="31"/>
+		<method name="dispatchSetActivated(Z)V" since="11"/>
+		<method name="dispatchSetPressed(Z)V"/>
+		<method name="dispatchSetSelected(Z)V"/>
+		<method name="dispatchStartTemporaryDetach()V" since="24"/>
+		<method name="dispatchSystemUiVisibilityChanged(I)V" since="11" deprecated="30"/>
+		<method name="dispatchTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="dispatchTrackballEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="dispatchUnhandledMove(Landroid/view/View;I)Z"/>
+		<method name="dispatchVisibilityChanged(Landroid/view/View;I)V" since="8"/>
+		<method name="dispatchWindowFocusChanged(Z)V"/>
+		<method name="dispatchWindowInsetsAnimationEnd(Landroid/view/WindowInsetsAnimation;)V" since="30"/>
+		<method name="dispatchWindowInsetsAnimationPrepare(Landroid/view/WindowInsetsAnimation;)V" since="30"/>
+		<method name="dispatchWindowInsetsAnimationProgress(Landroid/view/WindowInsets;Ljava/util/List;)Landroid/view/WindowInsets;" since="30"/>
+		<method name="dispatchWindowInsetsAnimationStart(Landroid/view/WindowInsetsAnimation;Landroid/view/WindowInsetsAnimation$Bounds;)Landroid/view/WindowInsetsAnimation$Bounds;" since="30"/>
+		<method name="dispatchWindowSystemUiVisiblityChanged(I)V" since="16" deprecated="30"/>
+		<method name="dispatchWindowVisibilityChanged(I)V"/>
+		<method name="draw(Landroid/graphics/Canvas;)V"/>
+		<method name="drawableHotspotChanged(FF)V" since="21"/>
+		<method name="drawableStateChanged()V"/>
+		<method name="findFocus()Landroid/view/View;"/>
+		<method name="findViewById(I)Landroid/view/View;"/>
+		<method name="findViewWithTag(Ljava/lang/Object;)Landroid/view/View;"/>
+		<method name="findViewsWithText(Ljava/util/ArrayList;Ljava/lang/CharSequence;I)V" since="14"/>
+		<method name="fitSystemWindows(Landroid/graphics/Rect;)Z" deprecated="20"/>
+		<method name="fitsSystemWindows()Z" since="14" removed="16"/>
+		<method name="focusSearch(I)Landroid/view/View;"/>
+		<method name="forceHasOverlappingRendering(Z)V" since="24"/>
+		<method name="forceLayout()V"/>
+		<method name="gatherTransparentRegion(Landroid/graphics/Region;)Z" since="31"/>
+		<method name="generateDisplayHash(Ljava/lang/String;Landroid/graphics/Rect;Ljava/util/concurrent/Executor;Landroid/view/displayhash/DisplayHashResultCallback;)V" since="31"/>
+		<method name="generateViewId()I" since="17"/>
+		<method name="getAccessibilityClassName()Ljava/lang/CharSequence;" since="23"/>
+		<method name="getAccessibilityDelegate()Landroid/view/View$AccessibilityDelegate;" since="29"/>
+		<method name="getAccessibilityLiveRegion()I" since="19"/>
+		<method name="getAccessibilityNodeProvider()Landroid/view/accessibility/AccessibilityNodeProvider;" since="16"/>
+		<method name="getAccessibilityPaneTitle()Ljava/lang/CharSequence;" since="28"/>
+		<method name="getAccessibilityTraversalAfter()I" since="22"/>
+		<method name="getAccessibilityTraversalBefore()I" since="22"/>
+		<method name="getAlpha()F" since="11"/>
+		<method name="getAnimation()Landroid/view/animation/Animation;"/>
+		<method name="getAnimationMatrix()Landroid/graphics/Matrix;" since="29"/>
+		<method name="getApplicationWindowToken()Landroid/os/IBinder;"/>
+		<method name="getAttributeResolutionStack(I)[I" since="29"/>
+		<method name="getAttributeSourceResourceMap()Ljava/util/Map;" since="29"/>
+		<method name="getAutofillHints()[Ljava/lang/String;" since="26"/>
+		<method name="getAutofillId()Landroid/view/autofill/AutofillId;" since="26"/>
+		<method name="getAutofillType()I" since="26"/>
+		<method name="getAutofillValue()Landroid/view/autofill/AutofillValue;" since="26"/>
+		<method name="getBackground()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getBackgroundTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getBackgroundTintList()Landroid/content/res/ColorStateList;" since="21"/>
+		<method name="getBackgroundTintMode()Landroid/graphics/PorterDuff$Mode;" since="21"/>
+		<method name="getBaseline()I"/>
+		<method name="getBottom()I"/>
+		<method name="getBottomFadingEdgeStrength()F"/>
+		<method name="getBottomPaddingOffset()I" since="2"/>
+		<method name="getCameraDistance()F" since="16"/>
+		<method name="getClipBounds()Landroid/graphics/Rect;" since="18"/>
+		<method name="getClipBounds(Landroid/graphics/Rect;)Z" since="23"/>
+		<method name="getClipToOutline()Z" since="21"/>
+		<method name="getContentCaptureSession()Landroid/view/contentcapture/ContentCaptureSession;" since="29"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;" since="4"/>
+		<method name="getContext()Landroid/content/Context;"/>
+		<method name="getContextMenuInfo()Landroid/view/ContextMenu$ContextMenuInfo;"/>
+		<method name="getDefaultFocusHighlightEnabled()Z" since="26"/>
+		<method name="getDefaultSize(II)I"/>
+		<method name="getDisplay()Landroid/view/Display;" since="17"/>
+		<method name="getDrawableState()[I"/>
+		<method name="getDrawingCache()Landroid/graphics/Bitmap;" deprecated="28"/>
+		<method name="getDrawingCache(Z)Landroid/graphics/Bitmap;" since="4" deprecated="28"/>
+		<method name="getDrawingCacheBackgroundColor()I" deprecated="28"/>
+		<method name="getDrawingCacheQuality()I" deprecated="28"/>
+		<method name="getDrawingRect(Landroid/graphics/Rect;)V"/>
+		<method name="getDrawingTime()J"/>
+		<method name="getElevation()F" since="21"/>
+		<method name="getExplicitStyle()I" since="29"/>
+		<method name="getFilterTouchesWhenObscured()Z" since="9"/>
+		<method name="getFitsSystemWindows()Z" since="16"/>
+		<method name="getFocusable()I" since="26"/>
+		<method name="getFocusables(I)Ljava/util/ArrayList;"/>
+		<method name="getFocusedRect(Landroid/graphics/Rect;)V"/>
+		<method name="getForeground()Landroid/graphics/drawable/Drawable;" since="23"/>
+		<method name="getForegroundGravity()I" since="23"/>
+		<method name="getForegroundTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getForegroundTintList()Landroid/content/res/ColorStateList;" since="23"/>
+		<method name="getForegroundTintMode()Landroid/graphics/PorterDuff$Mode;" since="23"/>
+		<method name="getGlobalVisibleRect(Landroid/graphics/Rect;)Z"/>
+		<method name="getGlobalVisibleRect(Landroid/graphics/Rect;Landroid/graphics/Point;)Z"/>
+		<method name="getHandler()Landroid/os/Handler;"/>
+		<method name="getHasOverlappingRendering()Z" since="24"/>
+		<method name="getHeight()I"/>
+		<method name="getHitRect(Landroid/graphics/Rect;)V"/>
+		<method name="getHorizontalFadingEdgeLength()I"/>
+		<method name="getHorizontalScrollbarHeight()I"/>
+		<method name="getHorizontalScrollbarThumbDrawable()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getHorizontalScrollbarTrackDrawable()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getId()I"/>
+		<method name="getImportantForAccessibility()I" since="16"/>
+		<method name="getImportantForAutofill()I" since="26"/>
+		<method name="getImportantForContentCapture()I" since="30"/>
+		<method name="getKeepScreenOn()Z"/>
+		<method name="getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState;" since="5"/>
+		<method name="getLabelFor()I" since="17"/>
+		<method name="getLayerType()I" since="11"/>
+		<method name="getLayoutDirection()I" since="17"/>
+		<method name="getLayoutParams()Landroid/view/ViewGroup$LayoutParams;"/>
+		<method name="getLeft()I"/>
+		<method name="getLeftFadingEdgeStrength()F"/>
+		<method name="getLeftPaddingOffset()I" since="2"/>
+		<method name="getLocalVisibleRect(Landroid/graphics/Rect;)Z"/>
+		<method name="getLocationInSurface([I)V" since="29"/>
+		<method name="getLocationInWindow([I)V"/>
+		<method name="getLocationOnScreen([I)V"/>
+		<method name="getMatrix()Landroid/graphics/Matrix;" since="11"/>
+		<method name="getMeasuredHeight()I"/>
+		<method name="getMeasuredHeightAndState()I" since="11"/>
+		<method name="getMeasuredState()I" since="11"/>
+		<method name="getMeasuredWidth()I"/>
+		<method name="getMeasuredWidthAndState()I" since="11"/>
+		<method name="getMinimumHeight()I" since="16"/>
+		<method name="getMinimumWidth()I" since="16"/>
+		<method name="getNextClusterForwardId()I" since="26"/>
+		<method name="getNextFocusDownId()I"/>
+		<method name="getNextFocusForwardId()I" since="11"/>
+		<method name="getNextFocusLeftId()I"/>
+		<method name="getNextFocusRightId()I"/>
+		<method name="getNextFocusUpId()I"/>
+		<method name="getOnFocusChangeListener()Landroid/view/View$OnFocusChangeListener;"/>
+		<method name="getOutlineAmbientShadowColor()I" since="28"/>
+		<method name="getOutlineProvider()Landroid/view/ViewOutlineProvider;" since="21"/>
+		<method name="getOutlineSpotShadowColor()I" since="28"/>
+		<method name="getOverScrollMode()I" since="9"/>
+		<method name="getOverlay()Landroid/view/ViewOverlay;" since="18"/>
+		<method name="getPaddingBottom()I"/>
+		<method name="getPaddingEnd()I" since="17"/>
+		<method name="getPaddingLeft()I"/>
+		<method name="getPaddingRight()I"/>
+		<method name="getPaddingStart()I" since="17"/>
+		<method name="getPaddingTop()I"/>
+		<method name="getParent()Landroid/view/ViewParent;"/>
+		<method name="getParentForAccessibility()Landroid/view/ViewParent;" since="16"/>
+		<method name="getPivotX()F" since="11"/>
+		<method name="getPivotY()F" since="11"/>
+		<method name="getPointerIcon()Landroid/view/PointerIcon;" since="24"/>
+		<method name="getReceiveContentMimeTypes()[Ljava/lang/String;" since="31"/>
+		<method name="getResources()Landroid/content/res/Resources;"/>
+		<method name="getRevealOnFocusHint()Z" since="25"/>
+		<method name="getRight()I"/>
+		<method name="getRightFadingEdgeStrength()F"/>
+		<method name="getRightPaddingOffset()I" since="2"/>
+		<method name="getRootSurfaceControl()Landroid/view/AttachedSurfaceControl;" since="31"/>
+		<method name="getRootView()Landroid/view/View;"/>
+		<method name="getRootWindowInsets()Landroid/view/WindowInsets;" since="23"/>
+		<method name="getRotation()F" since="11"/>
+		<method name="getRotationX()F" since="11"/>
+		<method name="getRotationY()F" since="11"/>
+		<method name="getScaleX()F" since="11"/>
+		<method name="getScaleY()F" since="11"/>
+		<method name="getScrollBarDefaultDelayBeforeFade()I" since="16"/>
+		<method name="getScrollBarFadeDuration()I" since="16"/>
+		<method name="getScrollBarSize()I" since="16"/>
+		<method name="getScrollBarStyle()I"/>
+		<method name="getScrollCaptureHint()I" since="31"/>
+		<method name="getScrollIndicators()I" since="23"/>
+		<method name="getScrollX()I"/>
+		<method name="getScrollY()I"/>
+		<method name="getSolidColor()I"/>
+		<method name="getSourceLayoutResId()I" since="29"/>
+		<method name="getStateDescription()Ljava/lang/CharSequence;" since="30"/>
+		<method name="getStateListAnimator()Landroid/animation/StateListAnimator;" since="21"/>
+		<method name="getSuggestedMinimumHeight()I"/>
+		<method name="getSuggestedMinimumWidth()I"/>
+		<method name="getSystemGestureExclusionRects()Ljava/util/List;" since="29"/>
+		<method name="getSystemUiVisibility()I" since="11" deprecated="30"/>
+		<method name="getTag()Ljava/lang/Object;"/>
+		<method name="getTag(I)Ljava/lang/Object;" since="4"/>
+		<method name="getTextAlignment()I" since="17"/>
+		<method name="getTextDirection()I" since="17"/>
+		<method name="getTooltipText()Ljava/lang/CharSequence;" since="26"/>
+		<method name="getTop()I"/>
+		<method name="getTopFadingEdgeStrength()F"/>
+		<method name="getTopPaddingOffset()I" since="2"/>
+		<method name="getTouchDelegate()Landroid/view/TouchDelegate;"/>
+		<method name="getTouchables()Ljava/util/ArrayList;"/>
+		<method name="getTransitionAlpha()F" since="29"/>
+		<method name="getTransitionName()Ljava/lang/String;" since="21"/>
+		<method name="getTranslationX()F" since="11"/>
+		<method name="getTranslationY()F" since="11"/>
+		<method name="getTranslationZ()F" since="21"/>
+		<method name="getUniqueDrawingId()J" since="29"/>
+		<method name="getVerticalFadingEdgeLength()I"/>
+		<method name="getVerticalScrollbarPosition()I" since="11"/>
+		<method name="getVerticalScrollbarThumbDrawable()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getVerticalScrollbarTrackDrawable()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getVerticalScrollbarWidth()I"/>
+		<method name="getViewTranslationResponse()Landroid/view/translation/ViewTranslationResponse;" since="31"/>
+		<method name="getViewTreeObserver()Landroid/view/ViewTreeObserver;"/>
+		<method name="getVisibility()I"/>
+		<method name="getWidth()I"/>
+		<method name="getWindowAttachCount()I"/>
+		<method name="getWindowId()Landroid/view/WindowId;" since="18"/>
+		<method name="getWindowInsetsController()Landroid/view/WindowInsetsController;" since="30"/>
+		<method name="getWindowSystemUiVisibility()I" since="16" deprecated="30"/>
+		<method name="getWindowToken()Landroid/os/IBinder;"/>
+		<method name="getWindowVisibility()I"/>
+		<method name="getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V" since="3"/>
+		<method name="getX()F" since="11"/>
+		<method name="getY()F" since="11"/>
+		<method name="getZ()F" since="21"/>
+		<method name="hasExplicitFocusable()Z" since="26"/>
+		<method name="hasFocus()Z"/>
+		<method name="hasFocusable()Z"/>
+		<method name="hasNestedScrollingParent()Z" since="21"/>
+		<method name="hasOnClickListeners()Z" since="15"/>
+		<method name="hasOnLongClickListeners()Z" since="30"/>
+		<method name="hasOverlappingRendering()Z" since="16"/>
+		<method name="hasPointerCapture()Z" since="26"/>
+		<method name="hasTransientState()Z" since="16"/>
+		<method name="hasWindowFocus()Z"/>
+		<method name="inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="initializeFadingEdge(Landroid/content/res/TypedArray;)V" removed="21"/>
+		<method name="initializeScrollbars(Landroid/content/res/TypedArray;)V" removed="21"/>
+		<method name="invalidate()V"/>
+		<method name="invalidate(IIII)V" deprecated="28"/>
+		<method name="invalidate(Landroid/graphics/Rect;)V" deprecated="28"/>
+		<method name="invalidateOutline()V" since="21"/>
+		<method name="isAccessibilityFocused()Z" since="21"/>
+		<method name="isAccessibilityHeading()Z" since="28"/>
+		<method name="isActivated()Z" since="11"/>
+		<method name="isAttachedToWindow()Z" since="19"/>
+		<method name="isClickable()Z"/>
+		<method name="isContextClickable()Z" since="23"/>
+		<method name="isDirty()Z" since="11"/>
+		<method name="isDrawingCacheEnabled()Z" deprecated="28"/>
+		<method name="isDuplicateParentStateEnabled()Z"/>
+		<method name="isEnabled()Z"/>
+		<method name="isFocusable()Z"/>
+		<method name="isFocusableInTouchMode()Z"/>
+		<method name="isFocused()Z"/>
+		<method name="isFocusedByDefault()Z" since="26"/>
+		<method name="isForceDarkAllowed()Z" since="29"/>
+		<method name="isHapticFeedbackEnabled()Z" since="3"/>
+		<method name="isHardwareAccelerated()Z" since="11"/>
+		<method name="isHorizontalFadingEdgeEnabled()Z"/>
+		<method name="isHorizontalScrollBarEnabled()Z"/>
+		<method name="isHovered()Z" since="14"/>
+		<method name="isImportantForAccessibility()Z" since="21"/>
+		<method name="isImportantForAutofill()Z" since="26"/>
+		<method name="isImportantForContentCapture()Z" since="30"/>
+		<method name="isInEditMode()Z" since="3"/>
+		<method name="isInLayout()Z" since="18"/>
+		<method name="isInTouchMode()Z"/>
+		<method name="isKeyboardNavigationCluster()Z" since="26"/>
+		<method name="isLaidOut()Z" since="19"/>
+		<method name="isLayoutDirectionResolved()Z" since="19"/>
+		<method name="isLayoutRequested()Z"/>
+		<method name="isLongClickable()Z"/>
+		<method name="isNestedScrollingEnabled()Z" since="21"/>
+		<method name="isOpaque()Z" since="7"/>
+		<method name="isPaddingOffsetRequired()Z" since="2"/>
+		<method name="isPaddingRelative()Z" since="17"/>
+		<method name="isPivotSet()Z" since="28"/>
+		<method name="isPressed()Z"/>
+		<method name="isSaveEnabled()Z"/>
+		<method name="isSaveFromParentEnabled()Z" since="11"/>
+		<method name="isScreenReaderFocusable()Z" since="28"/>
+		<method name="isScrollContainer()Z" since="16"/>
+		<method name="isScrollbarFadingEnabled()Z" since="5"/>
+		<method name="isSelected()Z"/>
+		<method name="isShowingLayoutBounds()Z" since="30"/>
+		<method name="isShown()Z"/>
+		<method name="isSoundEffectsEnabled()Z"/>
+		<method name="isTemporarilyDetached()Z" since="24"/>
+		<method name="isTextAlignmentResolved()Z" since="19"/>
+		<method name="isTextDirectionResolved()Z" since="19"/>
+		<method name="isVerticalFadingEdgeEnabled()Z"/>
+		<method name="isVerticalScrollBarEnabled()Z"/>
+		<method name="isVisibleToUserForAutofill(I)Z" since="28"/>
+		<method name="jumpDrawablesToCurrentState()V" since="11"/>
+		<method name="keyboardNavigationClusterSearch(Landroid/view/View;I)Landroid/view/View;" since="26"/>
+		<method name="layout(IIII)V"/>
+		<method name="measure(II)V"/>
+		<method name="mergeDrawableStates([I[I)[I"/>
+		<method name="offsetLeftAndRight(I)V"/>
+		<method name="offsetTopAndBottom(I)V"/>
+		<method name="onAnimationEnd()V"/>
+		<method name="onAnimationStart()V"/>
+		<method name="onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;" since="20"/>
+		<method name="onAttachedToWindow()V"/>
+		<method name="onCancelPendingInputEvents()V" since="19"/>
+		<method name="onCapturedPointerEvent(Landroid/view/MotionEvent;)Z" since="26"/>
+		<method name="onCheckIsTextEditor()Z" since="3"/>
+		<method name="onConfigurationChanged(Landroid/content/res/Configuration;)V" since="8"/>
+		<method name="onCreateContextMenu(Landroid/view/ContextMenu;)V"/>
+		<method name="onCreateDrawableState(I)[I"/>
+		<method name="onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;" since="3"/>
+		<method name="onCreateViewTranslationRequest([ILjava/util/function/Consumer;)V" since="31"/>
+		<method name="onCreateVirtualViewTranslationRequests([J[ILjava/util/function/Consumer;)V" since="31"/>
+		<method name="onDetachedFromWindow()V"/>
+		<method name="onDisplayHint(I)V" since="8"/>
+		<method name="onDragEvent(Landroid/view/DragEvent;)Z" since="11"/>
+		<method name="onDraw(Landroid/graphics/Canvas;)V"/>
+		<method name="onDrawForeground(Landroid/graphics/Canvas;)V" since="23"/>
+		<method name="onDrawScrollBars(Landroid/graphics/Canvas;)V" since="7"/>
+		<method name="onFilterTouchEventForSecurity(Landroid/view/MotionEvent;)Z" since="9"/>
+		<method name="onFinishInflate()V"/>
+		<method name="onFinishTemporaryDetach()V" since="3"/>
+		<method name="onFocusChanged(ZILandroid/graphics/Rect;)V"/>
+		<method name="onGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12"/>
+		<method name="onHoverChanged(Z)V" since="14"/>
+		<method name="onHoverEvent(Landroid/view/MotionEvent;)Z" since="14"/>
+		<method name="onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V" since="14"/>
+		<method name="onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V" since="14"/>
+		<method name="onKeyPreIme(ILandroid/view/KeyEvent;)Z" since="3"/>
+		<method name="onKeyShortcut(ILandroid/view/KeyEvent;)Z"/>
+		<method name="onLayout(ZIIII)V"/>
+		<method name="onMeasure(II)V"/>
+		<method name="onOverScrolled(IIZZ)V" since="9"/>
+		<method name="onPointerCaptureChange(Z)V" since="26"/>
+		<method name="onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V" since="14"/>
+		<method name="onProvideAutofillStructure(Landroid/view/ViewStructure;I)V" since="26"/>
+		<method name="onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V" since="26"/>
+		<method name="onProvideContentCaptureStructure(Landroid/view/ViewStructure;I)V" since="30"/>
+		<method name="onProvideStructure(Landroid/view/ViewStructure;)V" since="23"/>
+		<method name="onProvideVirtualStructure(Landroid/view/ViewStructure;)V" since="23"/>
+		<method name="onReceiveContent(Landroid/view/ContentInfo;)Landroid/view/ContentInfo;" since="31"/>
+		<method name="onResolvePointerIcon(Landroid/view/MotionEvent;I)Landroid/view/PointerIcon;" since="24"/>
+		<method name="onRestoreInstanceState(Landroid/os/Parcelable;)V"/>
+		<method name="onRtlPropertiesChanged(I)V" since="17"/>
+		<method name="onSaveInstanceState()Landroid/os/Parcelable;"/>
+		<method name="onScreenStateChanged(I)V" since="16"/>
+		<method name="onScrollCaptureSearch(Landroid/graphics/Rect;Landroid/graphics/Point;Ljava/util/function/Consumer;)V" since="31"/>
+		<method name="onScrollChanged(IIII)V"/>
+		<method name="onSetAlpha(I)Z"/>
+		<method name="onSizeChanged(IIII)V"/>
+		<method name="onStartTemporaryDetach()V" since="3"/>
+		<method name="onTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onViewTranslationResponse(Landroid/view/translation/ViewTranslationResponse;)V" since="31"/>
+		<method name="onVirtualViewTranslationResponses(Landroid/util/LongSparseArray;)V" since="31"/>
+		<method name="onVisibilityAggregated(Z)V" since="24"/>
+		<method name="onVisibilityChanged(Landroid/view/View;I)V" since="8"/>
+		<method name="onWindowFocusChanged(Z)V"/>
+		<method name="onWindowSystemUiVisibilityChanged(I)V" since="16" deprecated="30"/>
+		<method name="onWindowVisibilityChanged(I)V"/>
+		<method name="overScrollBy(IIIIIIIIZ)Z" since="9"/>
+		<method name="performAccessibilityAction(ILandroid/os/Bundle;)Z" since="16"/>
+		<method name="performClick()Z"/>
+		<method name="performContextClick()Z" since="23"/>
+		<method name="performContextClick(FF)Z" since="24"/>
+		<method name="performHapticFeedback(I)Z" since="3"/>
+		<method name="performHapticFeedback(II)Z" since="3"/>
+		<method name="performLongClick()Z"/>
+		<method name="performLongClick(FF)Z" since="24"/>
+		<method name="performReceiveContent(Landroid/view/ContentInfo;)Landroid/view/ContentInfo;" since="31"/>
+		<method name="playSoundEffect(I)V"/>
+		<method name="post(Ljava/lang/Runnable;)Z"/>
+		<method name="postDelayed(Ljava/lang/Runnable;J)Z"/>
+		<method name="postInvalidate()V"/>
+		<method name="postInvalidate(IIII)V"/>
+		<method name="postInvalidateDelayed(J)V"/>
+		<method name="postInvalidateDelayed(JIIII)V"/>
+		<method name="postInvalidateOnAnimation()V" since="16"/>
+		<method name="postInvalidateOnAnimation(IIII)V" since="16"/>
+		<method name="postOnAnimation(Ljava/lang/Runnable;)V" since="16"/>
+		<method name="postOnAnimationDelayed(Ljava/lang/Runnable;J)V" since="16"/>
+		<method name="refreshDrawableState()V"/>
+		<method name="releasePointerCapture()V" since="26"/>
+		<method name="removeCallbacks(Ljava/lang/Runnable;)Z"/>
+		<method name="removeOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V" since="12"/>
+		<method name="removeOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V" since="11"/>
+		<method name="removeOnUnhandledKeyEventListener(Landroid/view/View$OnUnhandledKeyEventListener;)V" since="28"/>
+		<method name="requestApplyInsets()V" since="20"/>
+		<method name="requestFitSystemWindows()V" since="16" deprecated="20"/>
+		<method name="requestFocus()Z"/>
+		<method name="requestFocus(I)Z"/>
+		<method name="requestFocus(ILandroid/graphics/Rect;)Z"/>
+		<method name="requestFocusFromTouch()Z"/>
+		<method name="requestLayout()V"/>
+		<method name="requestPointerCapture()V" since="26"/>
+		<method name="requestRectangleOnScreen(Landroid/graphics/Rect;)Z"/>
+		<method name="requestRectangleOnScreen(Landroid/graphics/Rect;Z)Z"/>
+		<method name="requestUnbufferedDispatch(I)V" since="30"/>
+		<method name="requestUnbufferedDispatch(Landroid/view/MotionEvent;)V" since="21"/>
+		<method name="requireViewById(I)Landroid/view/View;" since="28"/>
+		<method name="resetPivot()V" since="28"/>
+		<method name="resolveSize(II)I"/>
+		<method name="resolveSizeAndState(III)I" since="11"/>
+		<method name="restoreDefaultFocus()Z" since="26"/>
+		<method name="restoreHierarchyState(Landroid/util/SparseArray;)V"/>
+		<method name="saveAttributeDataForStyleable(Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V" since="29"/>
+		<method name="saveHierarchyState(Landroid/util/SparseArray;)V"/>
+		<method name="scrollBy(II)V"/>
+		<method name="scrollTo(II)V"/>
+		<method name="setAccessibilityDelegate(Landroid/view/View$AccessibilityDelegate;)V" since="14"/>
+		<method name="setAccessibilityHeading(Z)V" since="28"/>
+		<method name="setAccessibilityLiveRegion(I)V" since="19"/>
+		<method name="setAccessibilityPaneTitle(Ljava/lang/CharSequence;)V" since="28"/>
+		<method name="setAccessibilityTraversalAfter(I)V" since="22"/>
+		<method name="setAccessibilityTraversalBefore(I)V" since="22"/>
+		<method name="setActivated(Z)V" since="11"/>
+		<method name="setAllowClickWhenDisabled(Z)V" since="31"/>
+		<method name="setAlpha(F)V" since="11"/>
+		<method name="setAnimation(Landroid/view/animation/Animation;)V"/>
+		<method name="setAnimationMatrix(Landroid/graphics/Matrix;)V" since="29"/>
+		<method name="setAutofillHints([Ljava/lang/String;)V" since="26"/>
+		<method name="setAutofillId(Landroid/view/autofill/AutofillId;)V" since="28"/>
+		<method name="setBackground(Landroid/graphics/drawable/Drawable;)V" since="16"/>
+		<method name="setBackgroundColor(I)V"/>
+		<method name="setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" deprecated="16"/>
+		<method name="setBackgroundResource(I)V"/>
+		<method name="setBackgroundTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setBackgroundTintList(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setBackgroundTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21"/>
+		<method name="setBottom(I)V" since="11"/>
+		<method name="setCameraDistance(F)V" since="12"/>
+		<method name="setClickable(Z)V"/>
+		<method name="setClipBounds(Landroid/graphics/Rect;)V" since="18"/>
+		<method name="setClipToOutline(Z)V" since="21"/>
+		<method name="setContentCaptureSession(Landroid/view/contentcapture/ContentCaptureSession;)V" since="29"/>
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V" since="4"/>
+		<method name="setContextClickable(Z)V" since="23"/>
+		<method name="setDefaultFocusHighlightEnabled(Z)V" since="26"/>
+		<method name="setDrawingCacheBackgroundColor(I)V" deprecated="28"/>
+		<method name="setDrawingCacheEnabled(Z)V" deprecated="28"/>
+		<method name="setDrawingCacheQuality(I)V" deprecated="28"/>
+		<method name="setDuplicateParentStateEnabled(Z)V"/>
+		<method name="setElevation(F)V" since="21"/>
+		<method name="setEnabled(Z)V"/>
+		<method name="setFadingEdgeLength(I)V"/>
+		<method name="setFilterTouchesWhenObscured(Z)V" since="9"/>
+		<method name="setFitsSystemWindows(Z)V" since="14"/>
+		<method name="setFocusable(I)V" since="26"/>
+		<method name="setFocusable(Z)V"/>
+		<method name="setFocusableInTouchMode(Z)V"/>
+		<method name="setFocusedByDefault(Z)V" since="26"/>
+		<method name="setForceDarkAllowed(Z)V" since="29"/>
+		<method name="setForeground(Landroid/graphics/drawable/Drawable;)V" since="23"/>
+		<method name="setForegroundGravity(I)V" since="23"/>
+		<method name="setForegroundTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setForegroundTintList(Landroid/content/res/ColorStateList;)V" since="23"/>
+		<method name="setForegroundTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="23"/>
+		<method name="setHapticFeedbackEnabled(Z)V" since="3"/>
+		<method name="setHasTransientState(Z)V" since="16"/>
+		<method name="setHorizontalFadingEdgeEnabled(Z)V"/>
+		<method name="setHorizontalScrollBarEnabled(Z)V"/>
+		<method name="setHorizontalScrollbarThumbDrawable(Landroid/graphics/drawable/Drawable;)V" since="29"/>
+		<method name="setHorizontalScrollbarTrackDrawable(Landroid/graphics/drawable/Drawable;)V" since="29"/>
+		<method name="setHovered(Z)V" since="14"/>
+		<method name="setId(I)V"/>
+		<method name="setImportantForAccessibility(I)V" since="16"/>
+		<method name="setImportantForAutofill(I)V" since="26"/>
+		<method name="setImportantForContentCapture(I)V" since="30"/>
+		<method name="setKeepScreenOn(Z)V"/>
+		<method name="setKeyboardNavigationCluster(Z)V" since="26"/>
+		<method name="setLabelFor(I)V" since="17"/>
+		<method name="setLayerPaint(Landroid/graphics/Paint;)V" since="17"/>
+		<method name="setLayerType(ILandroid/graphics/Paint;)V" since="11"/>
+		<method name="setLayoutDirection(I)V" since="17"/>
+		<method name="setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="setLeft(I)V" since="11"/>
+		<method name="setLeftTopRightBottom(IIII)V" since="29"/>
+		<method name="setLongClickable(Z)V"/>
+		<method name="setMeasuredDimension(II)V"/>
+		<method name="setMinimumHeight(I)V"/>
+		<method name="setMinimumWidth(I)V"/>
+		<method name="setNestedScrollingEnabled(Z)V" since="21"/>
+		<method name="setNextClusterForwardId(I)V" since="26"/>
+		<method name="setNextFocusDownId(I)V"/>
+		<method name="setNextFocusForwardId(I)V" since="11"/>
+		<method name="setNextFocusLeftId(I)V"/>
+		<method name="setNextFocusRightId(I)V"/>
+		<method name="setNextFocusUpId(I)V"/>
+		<method name="setOnApplyWindowInsetsListener(Landroid/view/View$OnApplyWindowInsetsListener;)V" since="20"/>
+		<method name="setOnCapturedPointerListener(Landroid/view/View$OnCapturedPointerListener;)V" since="26"/>
+		<method name="setOnClickListener(Landroid/view/View$OnClickListener;)V"/>
+		<method name="setOnContextClickListener(Landroid/view/View$OnContextClickListener;)V" since="23"/>
+		<method name="setOnCreateContextMenuListener(Landroid/view/View$OnCreateContextMenuListener;)V"/>
+		<method name="setOnDragListener(Landroid/view/View$OnDragListener;)V" since="11"/>
+		<method name="setOnFocusChangeListener(Landroid/view/View$OnFocusChangeListener;)V"/>
+		<method name="setOnGenericMotionListener(Landroid/view/View$OnGenericMotionListener;)V" since="12"/>
+		<method name="setOnHoverListener(Landroid/view/View$OnHoverListener;)V" since="14"/>
+		<method name="setOnKeyListener(Landroid/view/View$OnKeyListener;)V"/>
+		<method name="setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V"/>
+		<method name="setOnReceiveContentListener([Ljava/lang/String;Landroid/view/OnReceiveContentListener;)V" since="31"/>
+		<method name="setOnScrollChangeListener(Landroid/view/View$OnScrollChangeListener;)V" since="23"/>
+		<method name="setOnSystemUiVisibilityChangeListener(Landroid/view/View$OnSystemUiVisibilityChangeListener;)V" since="11" deprecated="30"/>
+		<method name="setOnTouchListener(Landroid/view/View$OnTouchListener;)V"/>
+		<method name="setOutlineAmbientShadowColor(I)V" since="28"/>
+		<method name="setOutlineProvider(Landroid/view/ViewOutlineProvider;)V" since="21"/>
+		<method name="setOutlineSpotShadowColor(I)V" since="28"/>
+		<method name="setOverScrollMode(I)V" since="9"/>
+		<method name="setPadding(IIII)V"/>
+		<method name="setPaddingRelative(IIII)V" since="17"/>
+		<method name="setPivotX(F)V" since="11"/>
+		<method name="setPivotY(F)V" since="11"/>
+		<method name="setPointerIcon(Landroid/view/PointerIcon;)V" since="24"/>
+		<method name="setPressed(Z)V"/>
+		<method name="setRenderEffect(Landroid/graphics/RenderEffect;)V" since="31"/>
+		<method name="setRevealOnFocusHint(Z)V" since="25"/>
+		<method name="setRight(I)V" since="11"/>
+		<method name="setRotation(F)V" since="11"/>
+		<method name="setRotationX(F)V" since="11"/>
+		<method name="setRotationY(F)V" since="11"/>
+		<method name="setSaveEnabled(Z)V"/>
+		<method name="setSaveFromParentEnabled(Z)V" since="11"/>
+		<method name="setScaleX(F)V" since="11"/>
+		<method name="setScaleY(F)V" since="11"/>
+		<method name="setScreenReaderFocusable(Z)V" since="28"/>
+		<method name="setScrollBarDefaultDelayBeforeFade(I)V" since="16"/>
+		<method name="setScrollBarFadeDuration(I)V" since="16"/>
+		<method name="setScrollBarSize(I)V" since="16"/>
+		<method name="setScrollBarStyle(I)V"/>
+		<method name="setScrollCaptureCallback(Landroid/view/ScrollCaptureCallback;)V" since="31"/>
+		<method name="setScrollCaptureHint(I)V" since="31"/>
+		<method name="setScrollContainer(Z)V" since="3"/>
+		<method name="setScrollIndicators(I)V" since="23"/>
+		<method name="setScrollIndicators(II)V" since="23"/>
+		<method name="setScrollX(I)V" since="14"/>
+		<method name="setScrollY(I)V" since="14"/>
+		<method name="setScrollbarFadingEnabled(Z)V" since="5"/>
+		<method name="setSelected(Z)V"/>
+		<method name="setSoundEffectsEnabled(Z)V"/>
+		<method name="setStateDescription(Ljava/lang/CharSequence;)V" since="30"/>
+		<method name="setStateListAnimator(Landroid/animation/StateListAnimator;)V" since="21"/>
+		<method name="setSystemGestureExclusionRects(Ljava/util/List;)V" since="29"/>
+		<method name="setSystemUiVisibility(I)V" since="11" deprecated="30"/>
+		<method name="setTag(ILjava/lang/Object;)V" since="4"/>
+		<method name="setTag(Ljava/lang/Object;)V"/>
+		<method name="setTextAlignment(I)V" since="17"/>
+		<method name="setTextDirection(I)V" since="17"/>
+		<method name="setTooltipText(Ljava/lang/CharSequence;)V" since="26"/>
+		<method name="setTop(I)V" since="11"/>
+		<method name="setTouchDelegate(Landroid/view/TouchDelegate;)V"/>
+		<method name="setTransitionAlpha(F)V" since="29"/>
+		<method name="setTransitionName(Ljava/lang/String;)V" since="21"/>
+		<method name="setTransitionVisibility(I)V" since="29"/>
+		<method name="setTranslationX(F)V" since="11"/>
+		<method name="setTranslationY(F)V" since="11"/>
+		<method name="setTranslationZ(F)V" since="21"/>
+		<method name="setVerticalFadingEdgeEnabled(Z)V"/>
+		<method name="setVerticalScrollBarEnabled(Z)V"/>
+		<method name="setVerticalScrollbarPosition(I)V" since="11"/>
+		<method name="setVerticalScrollbarThumbDrawable(Landroid/graphics/drawable/Drawable;)V" since="29"/>
+		<method name="setVerticalScrollbarTrackDrawable(Landroid/graphics/drawable/Drawable;)V" since="29"/>
+		<method name="setViewTranslationCallback(Landroid/view/translation/ViewTranslationCallback;)V" since="31"/>
+		<method name="setVisibility(I)V"/>
+		<method name="setWillNotCacheDrawing(Z)V" deprecated="28"/>
+		<method name="setWillNotDraw(Z)V"/>
+		<method name="setWindowInsetsAnimationCallback(Landroid/view/WindowInsetsAnimation$Callback;)V" since="30"/>
+		<method name="setX(F)V" since="11"/>
+		<method name="setY(F)V" since="11"/>
+		<method name="setZ(F)V" since="21"/>
+		<method name="showContextMenu()Z"/>
+		<method name="showContextMenu(FF)Z" since="24"/>
+		<method name="startActionMode(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;" since="11"/>
+		<method name="startActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;" since="23"/>
+		<method name="startAnimation(Landroid/view/animation/Animation;)V"/>
+		<method name="startDrag(Landroid/content/ClipData;Landroid/view/View$DragShadowBuilder;Ljava/lang/Object;I)Z" since="11" deprecated="24"/>
+		<method name="startDragAndDrop(Landroid/content/ClipData;Landroid/view/View$DragShadowBuilder;Ljava/lang/Object;I)Z" since="24"/>
+		<method name="startNestedScroll(I)Z" since="21"/>
+		<method name="stopNestedScroll()V" since="21"/>
+		<method name="transformMatrixToGlobal(Landroid/graphics/Matrix;)V" since="29"/>
+		<method name="transformMatrixToLocal(Landroid/graphics/Matrix;)V" since="29"/>
+		<method name="unscheduleDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="updateDragShadow(Landroid/view/View$DragShadowBuilder;)V" since="24"/>
+		<method name="verifyDrawable(Landroid/graphics/drawable/Drawable;)Z"/>
+		<method name="willNotCacheDrawing()Z" deprecated="28"/>
+		<method name="willNotDraw()Z"/>
+		<field name="ACCESSIBILITY_LIVE_REGION_ASSERTIVE" since="19"/>
+		<field name="ACCESSIBILITY_LIVE_REGION_NONE" since="19"/>
+		<field name="ACCESSIBILITY_LIVE_REGION_POLITE" since="19"/>
+		<field name="ALPHA" since="14"/>
+		<field name="AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS" since="26"/>
+		<field name="AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE" since="26"/>
+		<field name="AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY" since="26"/>
+		<field name="AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH" since="26"/>
+		<field name="AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR" since="26"/>
+		<field name="AUTOFILL_HINT_CREDIT_CARD_NUMBER" since="26"/>
+		<field name="AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE" since="26"/>
+		<field name="AUTOFILL_HINT_EMAIL_ADDRESS" since="26"/>
+		<field name="AUTOFILL_HINT_NAME" since="26"/>
+		<field name="AUTOFILL_HINT_PASSWORD" since="26"/>
+		<field name="AUTOFILL_HINT_PHONE" since="26"/>
+		<field name="AUTOFILL_HINT_POSTAL_ADDRESS" since="26"/>
+		<field name="AUTOFILL_HINT_POSTAL_CODE" since="26"/>
+		<field name="AUTOFILL_HINT_USERNAME" since="26"/>
+		<field name="AUTOFILL_TYPE_DATE" since="26"/>
+		<field name="AUTOFILL_TYPE_LIST" since="26"/>
+		<field name="AUTOFILL_TYPE_NONE" since="26"/>
+		<field name="AUTOFILL_TYPE_TEXT" since="26"/>
+		<field name="AUTOFILL_TYPE_TOGGLE" since="26"/>
+		<field name="DRAG_FLAG_ACCESSIBILITY_ACTION" since="33"/>
+		<field name="DRAG_FLAG_GLOBAL" since="24"/>
+		<field name="DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION" since="24"/>
+		<field name="DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION" since="24"/>
+		<field name="DRAG_FLAG_GLOBAL_URI_READ" since="24"/>
+		<field name="DRAG_FLAG_GLOBAL_URI_WRITE" since="24"/>
+		<field name="DRAG_FLAG_OPAQUE" since="24"/>
+		<field name="DRAWING_CACHE_QUALITY_AUTO" deprecated="28"/>
+		<field name="DRAWING_CACHE_QUALITY_HIGH" deprecated="28"/>
+		<field name="DRAWING_CACHE_QUALITY_LOW" deprecated="28"/>
+		<field name="EMPTY_STATE_SET"/>
+		<field name="ENABLED_FOCUSED_SELECTED_STATE_SET"/>
+		<field name="ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="ENABLED_FOCUSED_STATE_SET"/>
+		<field name="ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="ENABLED_SELECTED_STATE_SET"/>
+		<field name="ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="ENABLED_STATE_SET"/>
+		<field name="ENABLED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="FIND_VIEWS_WITH_CONTENT_DESCRIPTION" since="14"/>
+		<field name="FIND_VIEWS_WITH_TEXT" since="14"/>
+		<field name="FOCUSABLE" since="26"/>
+		<field name="FOCUSABLES_ALL" since="4"/>
+		<field name="FOCUSABLES_TOUCH_MODE" since="4"/>
+		<field name="FOCUSABLE_AUTO" since="26"/>
+		<field name="FOCUSED_SELECTED_STATE_SET"/>
+		<field name="FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="FOCUSED_STATE_SET"/>
+		<field name="FOCUSED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="FOCUS_BACKWARD"/>
+		<field name="FOCUS_DOWN"/>
+		<field name="FOCUS_FORWARD"/>
+		<field name="FOCUS_LEFT"/>
+		<field name="FOCUS_RIGHT"/>
+		<field name="FOCUS_UP"/>
+		<field name="GONE"/>
+		<field name="HAPTIC_FEEDBACK_ENABLED" since="3"/>
+		<field name="IMPORTANT_FOR_ACCESSIBILITY_AUTO" since="16"/>
+		<field name="IMPORTANT_FOR_ACCESSIBILITY_NO" since="16"/>
+		<field name="IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS" since="19"/>
+		<field name="IMPORTANT_FOR_ACCESSIBILITY_YES" since="16"/>
+		<field name="IMPORTANT_FOR_AUTOFILL_AUTO" since="26"/>
+		<field name="IMPORTANT_FOR_AUTOFILL_NO" since="26"/>
+		<field name="IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS" since="26"/>
+		<field name="IMPORTANT_FOR_AUTOFILL_YES" since="26"/>
+		<field name="IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS" since="26"/>
+		<field name="IMPORTANT_FOR_CONTENT_CAPTURE_AUTO" since="30"/>
+		<field name="IMPORTANT_FOR_CONTENT_CAPTURE_NO" since="30"/>
+		<field name="IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS" since="30"/>
+		<field name="IMPORTANT_FOR_CONTENT_CAPTURE_YES" since="30"/>
+		<field name="IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS" since="30"/>
+		<field name="INVISIBLE"/>
+		<field name="KEEP_SCREEN_ON"/>
+		<field name="LAYER_TYPE_HARDWARE" since="11"/>
+		<field name="LAYER_TYPE_NONE" since="11"/>
+		<field name="LAYER_TYPE_SOFTWARE" since="11"/>
+		<field name="LAYOUT_DIRECTION_INHERIT" since="17"/>
+		<field name="LAYOUT_DIRECTION_LOCALE" since="17"/>
+		<field name="LAYOUT_DIRECTION_LTR" since="17"/>
+		<field name="LAYOUT_DIRECTION_RTL" since="17"/>
+		<field name="MEASURED_HEIGHT_STATE_SHIFT" since="11"/>
+		<field name="MEASURED_SIZE_MASK" since="11"/>
+		<field name="MEASURED_STATE_MASK" since="11"/>
+		<field name="MEASURED_STATE_TOO_SMALL" since="11"/>
+		<field name="NOT_FOCUSABLE" since="26"/>
+		<field name="NO_ID"/>
+		<field name="OVER_SCROLL_ALWAYS" since="9"/>
+		<field name="OVER_SCROLL_IF_CONTENT_SCROLLS" since="9"/>
+		<field name="OVER_SCROLL_NEVER" since="9"/>
+		<field name="PRESSED_ENABLED_FOCUSED_SELECTED_STATE_SET"/>
+		<field name="PRESSED_ENABLED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="PRESSED_ENABLED_FOCUSED_STATE_SET"/>
+		<field name="PRESSED_ENABLED_FOCUSED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="PRESSED_ENABLED_SELECTED_STATE_SET"/>
+		<field name="PRESSED_ENABLED_SELECTED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="PRESSED_ENABLED_STATE_SET"/>
+		<field name="PRESSED_ENABLED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="PRESSED_FOCUSED_SELECTED_STATE_SET"/>
+		<field name="PRESSED_FOCUSED_SELECTED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="PRESSED_FOCUSED_STATE_SET"/>
+		<field name="PRESSED_FOCUSED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="PRESSED_SELECTED_STATE_SET"/>
+		<field name="PRESSED_SELECTED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="PRESSED_STATE_SET" since="19"/>
+		<field name="PRESSED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="ROTATION" since="14"/>
+		<field name="ROTATION_X" since="14"/>
+		<field name="ROTATION_Y" since="14"/>
+		<field name="SCALE_X" since="14"/>
+		<field name="SCALE_Y" since="14"/>
+		<field name="SCREEN_STATE_OFF" since="16"/>
+		<field name="SCREEN_STATE_ON" since="16"/>
+		<field name="SCROLLBARS_INSIDE_INSET"/>
+		<field name="SCROLLBARS_INSIDE_OVERLAY"/>
+		<field name="SCROLLBARS_OUTSIDE_INSET"/>
+		<field name="SCROLLBARS_OUTSIDE_OVERLAY"/>
+		<field name="SCROLLBAR_POSITION_DEFAULT" since="11"/>
+		<field name="SCROLLBAR_POSITION_LEFT" since="11"/>
+		<field name="SCROLLBAR_POSITION_RIGHT" since="11"/>
+		<field name="SCROLL_AXIS_HORIZONTAL" since="21"/>
+		<field name="SCROLL_AXIS_NONE" since="21"/>
+		<field name="SCROLL_AXIS_VERTICAL" since="21"/>
+		<field name="SCROLL_CAPTURE_HINT_AUTO" since="31"/>
+		<field name="SCROLL_CAPTURE_HINT_EXCLUDE" since="31"/>
+		<field name="SCROLL_CAPTURE_HINT_EXCLUDE_DESCENDANTS" since="31"/>
+		<field name="SCROLL_CAPTURE_HINT_INCLUDE" since="31"/>
+		<field name="SCROLL_INDICATOR_BOTTOM" since="23"/>
+		<field name="SCROLL_INDICATOR_END" since="23"/>
+		<field name="SCROLL_INDICATOR_LEFT" since="23"/>
+		<field name="SCROLL_INDICATOR_RIGHT" since="23"/>
+		<field name="SCROLL_INDICATOR_START" since="23"/>
+		<field name="SCROLL_INDICATOR_TOP" since="23"/>
+		<field name="SELECTED_STATE_SET"/>
+		<field name="SELECTED_WINDOW_FOCUSED_STATE_SET"/>
+		<field name="SOUND_EFFECTS_ENABLED"/>
+		<field name="STATUS_BAR_HIDDEN" since="11" deprecated="15"/>
+		<field name="STATUS_BAR_VISIBLE" since="11" deprecated="15"/>
+		<field name="SYSTEM_UI_FLAG_FULLSCREEN" since="16" deprecated="30"/>
+		<field name="SYSTEM_UI_FLAG_HIDE_NAVIGATION" since="14" deprecated="30"/>
+		<field name="SYSTEM_UI_FLAG_IMMERSIVE" since="19" deprecated="30"/>
+		<field name="SYSTEM_UI_FLAG_IMMERSIVE_STICKY" since="19" deprecated="30"/>
+		<field name="SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN" since="16" deprecated="30"/>
+		<field name="SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION" since="16" deprecated="30"/>
+		<field name="SYSTEM_UI_FLAG_LAYOUT_STABLE" since="16" deprecated="30"/>
+		<field name="SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR" since="26" deprecated="30"/>
+		<field name="SYSTEM_UI_FLAG_LIGHT_STATUS_BAR" since="23" deprecated="30"/>
+		<field name="SYSTEM_UI_FLAG_LOW_PROFILE" since="14" deprecated="30"/>
+		<field name="SYSTEM_UI_FLAG_VISIBLE" since="14" deprecated="30"/>
+		<field name="SYSTEM_UI_LAYOUT_FLAGS" since="16" deprecated="30"/>
+		<field name="TEXT_ALIGNMENT_CENTER" since="17"/>
+		<field name="TEXT_ALIGNMENT_GRAVITY" since="17"/>
+		<field name="TEXT_ALIGNMENT_INHERIT" since="16"/>
+		<field name="TEXT_ALIGNMENT_RESOLVED_DEFAULT" since="16" removed="17"/>
+		<field name="TEXT_ALIGNMENT_TEXT_END" since="17"/>
+		<field name="TEXT_ALIGNMENT_TEXT_START" since="17"/>
+		<field name="TEXT_ALIGNMENT_VIEW_END" since="17"/>
+		<field name="TEXT_ALIGNMENT_VIEW_START" since="17"/>
+		<field name="TEXT_DIRECTION_ANY_RTL" since="17"/>
+		<field name="TEXT_DIRECTION_FIRST_STRONG" since="17"/>
+		<field name="TEXT_DIRECTION_FIRST_STRONG_LTR" since="23"/>
+		<field name="TEXT_DIRECTION_FIRST_STRONG_RTL" since="23"/>
+		<field name="TEXT_DIRECTION_INHERIT" since="17"/>
+		<field name="TEXT_DIRECTION_LOCALE" since="17"/>
+		<field name="TEXT_DIRECTION_LTR" since="17"/>
+		<field name="TEXT_DIRECTION_RTL" since="17"/>
+		<field name="TRANSLATION_X" since="14"/>
+		<field name="TRANSLATION_Y" since="14"/>
+		<field name="TRANSLATION_Z" since="21"/>
+		<field name="VIEW_LOG_TAG"/>
+		<field name="VISIBLE"/>
+		<field name="WINDOW_FOCUSED_STATE_SET"/>
+		<field name="X" since="14"/>
+		<field name="Y" since="14"/>
+		<field name="Z" since="21"/>
+	</class>
+	<class name="android/view/View$AccessibilityDelegate" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addExtraDataToAccessibilityNodeInfo(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;Ljava/lang/String;Landroid/os/Bundle;)V" since="26"/>
+		<method name="dispatchPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z"/>
+		<method name="getAccessibilityNodeProvider(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeProvider;" since="16"/>
+		<method name="onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V"/>
+		<method name="onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V"/>
+		<method name="onPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V"/>
+		<method name="onRequestSendAccessibilityEvent(Landroid/view/ViewGroup;Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z"/>
+		<method name="performAccessibilityAction(Landroid/view/View;ILandroid/os/Bundle;)Z" since="16"/>
+		<method name="sendAccessibilityEvent(Landroid/view/View;I)V"/>
+		<method name="sendAccessibilityEventUnchecked(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V"/>
+	</class>
+	<class name="android/view/View$BaseSavedState" since="1">
+		<extends name="android/view/AbsSavedState"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V" since="24"/>
+		<method name="&lt;init>(Landroid/os/Parcelable;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/View$DragShadowBuilder" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/view/View;)V"/>
+		<method name="getView()Landroid/view/View;"/>
+		<method name="onDrawShadow(Landroid/graphics/Canvas;)V"/>
+		<method name="onProvideShadowMetrics(Landroid/graphics/Point;Landroid/graphics/Point;)V"/>
+	</class>
+	<class name="android/view/View$MeasureSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getMode(I)I"/>
+		<method name="getSize(I)I"/>
+		<method name="makeMeasureSpec(II)I"/>
+		<method name="toString(I)Ljava/lang/String;"/>
+		<field name="AT_MOST"/>
+		<field name="EXACTLY"/>
+		<field name="UNSPECIFIED"/>
+	</class>
+	<class name="android/view/View$OnApplyWindowInsetsListener" since="20">
+		<extends name="java/lang/Object"/>
+		<method name="onApplyWindowInsets(Landroid/view/View;Landroid/view/WindowInsets;)Landroid/view/WindowInsets;"/>
+	</class>
+	<class name="android/view/View$OnAttachStateChangeListener" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="onViewAttachedToWindow(Landroid/view/View;)V"/>
+		<method name="onViewDetachedFromWindow(Landroid/view/View;)V"/>
+	</class>
+	<class name="android/view/View$OnCapturedPointerListener" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="onCapturedPointer(Landroid/view/View;Landroid/view/MotionEvent;)Z"/>
+	</class>
+	<class name="android/view/View$OnClickListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onClick(Landroid/view/View;)V"/>
+	</class>
+	<class name="android/view/View$OnContextClickListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onContextClick(Landroid/view/View;)Z"/>
+	</class>
+	<class name="android/view/View$OnCreateContextMenuListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onCreateContextMenu(Landroid/view/ContextMenu;Landroid/view/View;Landroid/view/ContextMenu$ContextMenuInfo;)V"/>
+	</class>
+	<class name="android/view/View$OnDragListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onDrag(Landroid/view/View;Landroid/view/DragEvent;)Z"/>
+	</class>
+	<class name="android/view/View$OnFocusChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onFocusChange(Landroid/view/View;Z)V"/>
+	</class>
+	<class name="android/view/View$OnGenericMotionListener" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="onGenericMotion(Landroid/view/View;Landroid/view/MotionEvent;)Z"/>
+	</class>
+	<class name="android/view/View$OnHoverListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onHover(Landroid/view/View;Landroid/view/MotionEvent;)Z"/>
+	</class>
+	<class name="android/view/View$OnKeyListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z"/>
+	</class>
+	<class name="android/view/View$OnLayoutChangeListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onLayoutChange(Landroid/view/View;IIIIIIII)V"/>
+	</class>
+	<class name="android/view/View$OnLongClickListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onLongClick(Landroid/view/View;)Z"/>
+	</class>
+	<class name="android/view/View$OnScrollChangeListener" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="onScrollChange(Landroid/view/View;IIII)V"/>
+	</class>
+	<class name="android/view/View$OnSystemUiVisibilityChangeListener" since="11" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="onSystemUiVisibilityChange(I)V" deprecated="30"/>
+	</class>
+	<class name="android/view/View$OnTouchListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z"/>
+	</class>
+	<class name="android/view/View$OnUnhandledKeyEventListener" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="onUnhandledKeyEvent(Landroid/view/View;Landroid/view/KeyEvent;)Z"/>
+	</class>
+	<class name="android/view/ViewAnimationUtils" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="createCircularReveal(Landroid/view/View;IIFF)Landroid/animation/Animator;"/>
+	</class>
+	<class name="android/view/ViewConfiguration" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="15"/>
+		<method name="get(Landroid/content/Context;)Landroid/view/ViewConfiguration;" since="3"/>
+		<method name="getAmbiguousGestureMultiplier()F" since="29" deprecated="30"/>
+		<method name="getDefaultActionModeHideDuration()J" since="23"/>
+		<method name="getDoubleTapTimeout()I" since="3"/>
+		<method name="getEdgeSlop()I" deprecated="15"/>
+		<method name="getFadingEdgeLength()I" deprecated="15"/>
+		<method name="getGlobalActionKeyTimeout()J" deprecated="20"/>
+		<method name="getJumpTapTimeout()I"/>
+		<method name="getKeyRepeatDelay()I" since="12"/>
+		<method name="getKeyRepeatTimeout()I" since="12"/>
+		<method name="getLongPressTimeout()I"/>
+		<method name="getMaximumDrawingCacheSize()I" deprecated="15"/>
+		<method name="getMaximumFlingVelocity()I" since="4" deprecated="15"/>
+		<method name="getMinimumFlingVelocity()I" deprecated="15"/>
+		<method name="getMultiPressTimeout()I" since="31"/>
+		<method name="getPressedStateDuration()I"/>
+		<method name="getScaledAmbiguousGestureMultiplier()F" since="30"/>
+		<method name="getScaledDoubleTapSlop()I" since="3"/>
+		<method name="getScaledEdgeSlop()I" since="3"/>
+		<method name="getScaledFadingEdgeLength()I" since="3"/>
+		<method name="getScaledHorizontalScrollFactor()F" since="26"/>
+		<method name="getScaledHoverSlop()I" since="28"/>
+		<method name="getScaledMaximumDrawingCacheSize()I" since="3"/>
+		<method name="getScaledMaximumFlingVelocity()I" since="4"/>
+		<method name="getScaledMinimumFlingVelocity()I" since="3"/>
+		<method name="getScaledMinimumScalingSpan()I" since="29"/>
+		<method name="getScaledOverflingDistance()I" since="9"/>
+		<method name="getScaledOverscrollDistance()I" since="9"/>
+		<method name="getScaledPagingTouchSlop()I" since="8"/>
+		<method name="getScaledScrollBarSize()I" since="3"/>
+		<method name="getScaledTouchSlop()I" since="3"/>
+		<method name="getScaledVerticalScrollFactor()F" since="26"/>
+		<method name="getScaledWindowTouchSlop()I" since="3"/>
+		<method name="getScrollBarFadeDuration()I" since="5"/>
+		<method name="getScrollBarSize()I" deprecated="15"/>
+		<method name="getScrollDefaultDelay()I" since="5"/>
+		<method name="getScrollFriction()F"/>
+		<method name="getTapTimeout()I"/>
+		<method name="getTouchSlop()I" deprecated="15"/>
+		<method name="getWindowTouchSlop()I" deprecated="15"/>
+		<method name="getZoomControlsTimeout()J"/>
+		<method name="hasPermanentMenuKey()Z" since="14"/>
+		<method name="shouldShowMenuShortcutsWhenKeyboardPresent()Z" since="28"/>
+	</class>
+	<class name="android/view/ViewDebug" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="dumpCapturedView(Ljava/lang/String;Ljava/lang/Object;)V" since="3"/>
+		<method name="startHierarchyTracing(Ljava/lang/String;Landroid/view/View;)V" deprecated="16"/>
+		<method name="startRecyclerTracing(Ljava/lang/String;Landroid/view/View;)V" deprecated="16"/>
+		<method name="stopHierarchyTracing()V" deprecated="16"/>
+		<method name="stopRecyclerTracing()V" deprecated="16"/>
+		<method name="trace(Landroid/view/View;Landroid/view/ViewDebug$HierarchyTraceType;)V" deprecated="16"/>
+		<method name="trace(Landroid/view/View;Landroid/view/ViewDebug$RecyclerTraceType;[I)V" deprecated="16"/>
+		<field name="TRACE_HIERARCHY" deprecated="16"/>
+		<field name="TRACE_RECYCLER" deprecated="16"/>
+	</class>
+	<class name="android/view/ViewDebug$CapturedViewProperty" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="retrieveReturn()Z"/>
+	</class>
+	<class name="android/view/ViewDebug$ExportedProperty" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="category()Ljava/lang/String;" since="9"/>
+		<method name="deepExport()Z"/>
+		<method name="flagMapping()[Landroid/view/ViewDebug$FlagToString;" since="4"/>
+		<method name="formatToHexString()Z" since="21"/>
+		<method name="hasAdjacentMapping()Z" since="21"/>
+		<method name="indexMapping()[Landroid/view/ViewDebug$IntToString;" since="3"/>
+		<method name="mapping()[Landroid/view/ViewDebug$IntToString;"/>
+		<method name="prefix()Ljava/lang/String;"/>
+		<method name="resolveId()Z"/>
+	</class>
+	<class name="android/view/ViewDebug$FlagToString" since="4">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="equals()I"/>
+		<method name="mask()I"/>
+		<method name="name()Ljava/lang/String;"/>
+		<method name="outputIf()Z"/>
+	</class>
+	<class name="android/view/ViewDebug$HierarchyTraceType" since="1" deprecated="16">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/view/ViewDebug$HierarchyTraceType;"/>
+		<method name="values()[Landroid/view/ViewDebug$HierarchyTraceType;"/>
+		<field name="BUILD_CACHE" deprecated="29"/>
+		<field name="DRAW" deprecated="29"/>
+		<field name="INVALIDATE" deprecated="29"/>
+		<field name="INVALIDATE_CHILD" deprecated="29"/>
+		<field name="INVALIDATE_CHILD_IN_PARENT" deprecated="29"/>
+		<field name="ON_LAYOUT" deprecated="29"/>
+		<field name="ON_MEASURE" deprecated="29"/>
+		<field name="REQUEST_LAYOUT" deprecated="29"/>
+	</class>
+	<class name="android/view/ViewDebug$IntToString" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="from()I"/>
+		<method name="to()Ljava/lang/String;"/>
+	</class>
+	<class name="android/view/ViewDebug$RecyclerTraceType" since="1" deprecated="16">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/view/ViewDebug$RecyclerTraceType;"/>
+		<method name="values()[Landroid/view/ViewDebug$RecyclerTraceType;"/>
+		<field name="BIND_VIEW" deprecated="29"/>
+		<field name="MOVE_FROM_ACTIVE_TO_SCRAP_HEAP" deprecated="29"/>
+		<field name="MOVE_TO_ACTIVE_HEAP" removed="8"/>
+		<field name="MOVE_TO_SCRAP_HEAP" deprecated="29"/>
+		<field name="NEW_VIEW" deprecated="29"/>
+		<field name="RECYCLE_FROM_ACTIVE_HEAP" deprecated="29"/>
+		<field name="RECYCLE_FROM_SCRAP_HEAP" deprecated="29"/>
+	</class>
+	<class name="android/view/ViewGroup" since="1">
+		<extends name="android/view/View"/>
+		<implements name="android/view/ViewManager"/>
+		<implements name="android/view/ViewParent"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="addStatesFromChildren()Z"/>
+		<method name="addView(Landroid/view/View;)V"/>
+		<method name="addView(Landroid/view/View;I)V"/>
+		<method name="addView(Landroid/view/View;II)V"/>
+		<method name="addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)Z"/>
+		<method name="addViewInLayout(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;Z)Z"/>
+		<method name="attachLayoutAnimationParameters(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;II)V"/>
+		<method name="attachViewToParent(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="canAnimate()Z"/>
+		<method name="checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z"/>
+		<method name="cleanupLayoutState(Landroid/view/View;)V"/>
+		<method name="clearDisappearingChildren()V"/>
+		<method name="debug(I)V"/>
+		<method name="detachAllViewsFromParent()V"/>
+		<method name="detachViewFromParent(I)V"/>
+		<method name="detachViewFromParent(Landroid/view/View;)V"/>
+		<method name="detachViewsFromParent(II)V"/>
+		<method name="dispatchFreezeSelfOnly(Landroid/util/SparseArray;)V"/>
+		<method name="dispatchThawSelfOnly(Landroid/util/SparseArray;)V"/>
+		<method name="drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z"/>
+		<method name="endViewTransition(Landroid/view/View;)V" since="11"/>
+		<method name="gatherTransparentRegion(Landroid/graphics/Region;)Z"/>
+		<method name="generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;"/>
+		<method name="getChildAt(I)Landroid/view/View;"/>
+		<method name="getChildCount()I"/>
+		<method name="getChildDrawingOrder(I)I" since="29"/>
+		<method name="getChildDrawingOrder(II)I"/>
+		<method name="getChildMeasureSpec(III)I"/>
+		<method name="getChildStaticTransformation(Landroid/view/View;Landroid/view/animation/Transformation;)Z"/>
+		<method name="getClipChildren()Z" since="18"/>
+		<method name="getClipToPadding()Z" since="21"/>
+		<method name="getDescendantFocusability()I"/>
+		<method name="getFocusedChild()Landroid/view/View;"/>
+		<method name="getLayoutAnimation()Landroid/view/animation/LayoutAnimationController;"/>
+		<method name="getLayoutAnimationListener()Landroid/view/animation/Animation$AnimationListener;"/>
+		<method name="getLayoutMode()I" since="18"/>
+		<method name="getLayoutTransition()Landroid/animation/LayoutTransition;" since="11"/>
+		<method name="getNestedScrollAxes()I" since="21"/>
+		<method name="getOverlay()Landroid/view/ViewGroupOverlay;" since="18"/>
+		<method name="getPersistentDrawingCache()I" deprecated="28"/>
+		<method name="getTouchscreenBlocksFocus()Z" since="21"/>
+		<method name="indexOfChild(Landroid/view/View;)I"/>
+		<method name="isAlwaysDrawnWithCacheEnabled()Z" deprecated="23"/>
+		<method name="isAnimationCacheEnabled()Z" deprecated="23"/>
+		<method name="isChildrenDrawingOrderEnabled()Z" since="7"/>
+		<method name="isChildrenDrawnWithCacheEnabled()Z" deprecated="23"/>
+		<method name="isLayoutSuppressed()Z" since="29"/>
+		<method name="isMotionEventSplittingEnabled()Z" since="11"/>
+		<method name="isTransitionGroup()Z" since="21"/>
+		<method name="measureChild(Landroid/view/View;II)V"/>
+		<method name="measureChildWithMargins(Landroid/view/View;IIII)V"/>
+		<method name="measureChildren(II)V"/>
+		<method name="offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V"/>
+		<method name="offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V"/>
+		<method name="onInterceptHoverEvent(Landroid/view/MotionEvent;)Z" since="14"/>
+		<method name="onInterceptTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z"/>
+		<method name="onRequestSendAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z" since="14"/>
+		<method name="onViewAdded(Landroid/view/View;)V" since="23"/>
+		<method name="onViewRemoved(Landroid/view/View;)V" since="23"/>
+		<method name="removeAllViews()V"/>
+		<method name="removeAllViewsInLayout()V"/>
+		<method name="removeDetachedView(Landroid/view/View;Z)V"/>
+		<method name="removeViewAt(I)V"/>
+		<method name="removeViewInLayout(Landroid/view/View;)V"/>
+		<method name="removeViews(II)V"/>
+		<method name="removeViewsInLayout(II)V"/>
+		<method name="requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z"/>
+		<method name="resetResolvedLayoutDirection()V" since="14" removed="16"/>
+		<method name="resetResolvedTextDirection()V" since="14" removed="16"/>
+		<method name="scheduleLayoutAnimation()V"/>
+		<method name="setAddStatesFromChildren(Z)V"/>
+		<method name="setAlwaysDrawnWithCacheEnabled(Z)V" deprecated="23"/>
+		<method name="setAnimationCacheEnabled(Z)V" deprecated="23"/>
+		<method name="setChildrenDrawingCacheEnabled(Z)V" deprecated="28"/>
+		<method name="setChildrenDrawingOrderEnabled(Z)V" since="7"/>
+		<method name="setChildrenDrawnWithCacheEnabled(Z)V" deprecated="23"/>
+		<method name="setClipChildren(Z)V"/>
+		<method name="setClipToPadding(Z)V"/>
+		<method name="setDescendantFocusability(I)V"/>
+		<method name="setLayoutAnimation(Landroid/view/animation/LayoutAnimationController;)V"/>
+		<method name="setLayoutAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V"/>
+		<method name="setLayoutMode(I)V" since="18"/>
+		<method name="setLayoutTransition(Landroid/animation/LayoutTransition;)V" since="11"/>
+		<method name="setMotionEventSplittingEnabled(Z)V" since="11"/>
+		<method name="setOnHierarchyChangeListener(Landroid/view/ViewGroup$OnHierarchyChangeListener;)V"/>
+		<method name="setPersistentDrawingCache(I)V" deprecated="28"/>
+		<method name="setStaticTransformationsEnabled(Z)V" since="3"/>
+		<method name="setTouchscreenBlocksFocus(Z)V" since="21"/>
+		<method name="setTransitionGroup(Z)V" since="21"/>
+		<method name="shouldDelayChildPressedState()Z" since="14"/>
+		<method name="startLayoutAnimation()V"/>
+		<method name="startViewTransition(Landroid/view/View;)V" since="11"/>
+		<method name="suppressLayout(Z)V" since="29"/>
+		<field name="CLIP_TO_PADDING_MASK"/>
+		<field name="FLAG_USE_CHILD_DRAWING_ORDER" removed="7"/>
+		<field name="FOCUS_AFTER_DESCENDANTS"/>
+		<field name="FOCUS_BEFORE_DESCENDANTS"/>
+		<field name="FOCUS_BLOCK_DESCENDANTS"/>
+		<field name="LAYOUT_MODE_CLIP_BOUNDS" since="18"/>
+		<field name="LAYOUT_MODE_OPTICAL_BOUNDS" since="18"/>
+		<field name="PERSISTENT_ALL_CACHES" deprecated="28"/>
+		<field name="PERSISTENT_ANIMATION_CACHE" deprecated="28"/>
+		<field name="PERSISTENT_NO_CACHE" deprecated="28"/>
+		<field name="PERSISTENT_SCROLLING_CACHE" deprecated="28"/>
+	</class>
+	<class name="android/view/ViewGroup$LayoutParams" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="resolveLayoutDirection(I)V" since="17"/>
+		<method name="setBaseAttributes(Landroid/content/res/TypedArray;II)V"/>
+		<field name="FILL_PARENT" deprecated="15"/>
+		<field name="MATCH_PARENT" since="8"/>
+		<field name="WRAP_CONTENT"/>
+		<field name="height"/>
+		<field name="layoutAnimationParameters"/>
+		<field name="width"/>
+	</class>
+	<class name="android/view/ViewGroup$MarginLayoutParams" since="1">
+		<extends name="android/view/ViewGroup$LayoutParams"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$MarginLayoutParams;)V"/>
+		<method name="getLayoutDirection()I" since="17"/>
+		<method name="getMarginEnd()I" since="17"/>
+		<method name="getMarginStart()I" since="17"/>
+		<method name="isMarginRelative()Z" since="17"/>
+		<method name="setLayoutDirection(I)V" since="17"/>
+		<method name="setMarginEnd(I)V" since="17"/>
+		<method name="setMarginStart(I)V" since="17"/>
+		<method name="setMargins(IIII)V"/>
+		<field name="bottomMargin"/>
+		<field name="leftMargin"/>
+		<field name="rightMargin"/>
+		<field name="topMargin"/>
+	</class>
+	<class name="android/view/ViewGroup$OnHierarchyChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onChildViewAdded(Landroid/view/View;Landroid/view/View;)V"/>
+		<method name="onChildViewRemoved(Landroid/view/View;Landroid/view/View;)V"/>
+	</class>
+	<class name="android/view/ViewGroupOverlay" since="18">
+		<extends name="android/view/ViewOverlay"/>
+		<method name="add(Landroid/view/View;)V"/>
+		<method name="remove(Landroid/view/View;)V"/>
+	</class>
+	<class name="android/view/ViewManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="removeView(Landroid/view/View;)V"/>
+		<method name="updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"/>
+	</class>
+	<class name="android/view/ViewOutlineProvider" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getOutline(Landroid/view/View;Landroid/graphics/Outline;)V"/>
+		<field name="BACKGROUND"/>
+		<field name="BOUNDS"/>
+		<field name="PADDED_BOUNDS"/>
+	</class>
+	<class name="android/view/ViewOverlay" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="add(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="clear()V"/>
+		<method name="remove(Landroid/graphics/drawable/Drawable;)V"/>
+	</class>
+	<class name="android/view/ViewParent" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="bringChildToFront(Landroid/view/View;)V"/>
+		<method name="canResolveLayoutDirection()Z" since="19"/>
+		<method name="canResolveTextAlignment()Z" since="19"/>
+		<method name="canResolveTextDirection()Z" since="19"/>
+		<method name="childDrawableStateChanged(Landroid/view/View;)V"/>
+		<method name="childHasTransientStateChanged(Landroid/view/View;Z)V" since="19"/>
+		<method name="clearChildFocus(Landroid/view/View;)V"/>
+		<method name="createContextMenu(Landroid/view/ContextMenu;)V"/>
+		<method name="focusSearch(Landroid/view/View;I)Landroid/view/View;"/>
+		<method name="focusableViewAvailable(Landroid/view/View;)V"/>
+		<method name="getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z"/>
+		<method name="getLayoutDirection()I" since="19"/>
+		<method name="getParent()Landroid/view/ViewParent;"/>
+		<method name="getParentForAccessibility()Landroid/view/ViewParent;" since="16"/>
+		<method name="getTextAlignment()I" since="19"/>
+		<method name="getTextDirection()I" since="19"/>
+		<method name="invalidateChild(Landroid/view/View;Landroid/graphics/Rect;)V" deprecated="26"/>
+		<method name="invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent;" deprecated="26"/>
+		<method name="isLayoutDirectionResolved()Z" since="19"/>
+		<method name="isLayoutRequested()Z"/>
+		<method name="isTextAlignmentResolved()Z" since="19"/>
+		<method name="isTextDirectionResolved()Z" since="19"/>
+		<method name="keyboardNavigationClusterSearch(Landroid/view/View;I)Landroid/view/View;" since="26"/>
+		<method name="notifySubtreeAccessibilityStateChanged(Landroid/view/View;Landroid/view/View;I)V" since="19"/>
+		<method name="onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V" since="26"/>
+		<method name="onNestedFling(Landroid/view/View;FFZ)Z" since="21"/>
+		<method name="onNestedPreFling(Landroid/view/View;FF)Z" since="21"/>
+		<method name="onNestedPrePerformAccessibilityAction(Landroid/view/View;ILandroid/os/Bundle;)Z" since="22"/>
+		<method name="onNestedPreScroll(Landroid/view/View;II[I)V" since="21"/>
+		<method name="onNestedScroll(Landroid/view/View;IIII)V" since="21"/>
+		<method name="onNestedScrollAccepted(Landroid/view/View;Landroid/view/View;I)V" since="21"/>
+		<method name="onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z" since="21"/>
+		<method name="onStopNestedScroll(Landroid/view/View;)V" since="21"/>
+		<method name="recomputeViewAttributes(Landroid/view/View;)V"/>
+		<method name="requestChildFocus(Landroid/view/View;Landroid/view/View;)V"/>
+		<method name="requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z" since="3"/>
+		<method name="requestDisallowInterceptTouchEvent(Z)V"/>
+		<method name="requestFitSystemWindows()V" since="16"/>
+		<method name="requestLayout()V"/>
+		<method name="requestSendAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z" since="14"/>
+		<method name="requestTransparentRegion(Landroid/view/View;)V"/>
+		<method name="showContextMenuForChild(Landroid/view/View;)Z"/>
+		<method name="showContextMenuForChild(Landroid/view/View;FF)Z" since="24"/>
+		<method name="startActionModeForChild(Landroid/view/View;Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;" since="11"/>
+		<method name="startActionModeForChild(Landroid/view/View;Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;" since="23"/>
+	</class>
+	<class name="android/view/ViewPropertyAnimator" since="12">
+		<extends name="java/lang/Object"/>
+		<method name="alpha(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="alphaBy(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="cancel()V" since="14"/>
+		<method name="getDuration()J" since="14"/>
+		<method name="getInterpolator()Landroid/animation/TimeInterpolator;" since="18"/>
+		<method name="getStartDelay()J" since="14"/>
+		<method name="rotation(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="rotationBy(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="rotationX(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="rotationXBy(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="rotationY(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="rotationYBy(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="scaleX(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="scaleXBy(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="scaleY(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="scaleYBy(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="setDuration(J)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="setListener(Landroid/animation/Animator$AnimatorListener;)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="setStartDelay(J)Landroid/view/ViewPropertyAnimator;" since="14"/>
+		<method name="setUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)Landroid/view/ViewPropertyAnimator;" since="19"/>
+		<method name="start()V" since="14"/>
+		<method name="translationX(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="translationXBy(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="translationY(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="translationYBy(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="translationZ(F)Landroid/view/ViewPropertyAnimator;" since="21"/>
+		<method name="translationZBy(F)Landroid/view/ViewPropertyAnimator;" since="21"/>
+		<method name="withEndAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;" since="16"/>
+		<method name="withLayer()Landroid/view/ViewPropertyAnimator;" since="16"/>
+		<method name="withStartAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;" since="16"/>
+		<method name="x(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="xBy(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="y(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="yBy(F)Landroid/view/ViewPropertyAnimator;"/>
+		<method name="z(F)Landroid/view/ViewPropertyAnimator;" since="21"/>
+		<method name="zBy(F)Landroid/view/ViewPropertyAnimator;" since="21"/>
+	</class>
+	<class name="android/view/ViewStructure" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addChildCount(I)I"/>
+		<method name="asyncCommit()V"/>
+		<method name="asyncNewChild(I)Landroid/view/ViewStructure;"/>
+		<method name="getAutofillId()Landroid/view/autofill/AutofillId;" since="26"/>
+		<method name="getChildCount()I"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getHint()Ljava/lang/CharSequence;"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<method name="getTextSelectionEnd()I"/>
+		<method name="getTextSelectionStart()I"/>
+		<method name="hasExtras()Z"/>
+		<method name="newChild(I)Landroid/view/ViewStructure;"/>
+		<method name="newHtmlInfoBuilder(Ljava/lang/String;)Landroid/view/ViewStructure$HtmlInfo$Builder;" since="26"/>
+		<method name="setAccessibilityFocused(Z)V"/>
+		<method name="setActivated(Z)V"/>
+		<method name="setAlpha(F)V"/>
+		<method name="setAutofillHints([Ljava/lang/String;)V" since="26"/>
+		<method name="setAutofillId(Landroid/view/autofill/AutofillId;)V" since="26"/>
+		<method name="setAutofillId(Landroid/view/autofill/AutofillId;I)V" since="26"/>
+		<method name="setAutofillOptions([Ljava/lang/CharSequence;)V" since="26"/>
+		<method name="setAutofillType(I)V" since="26"/>
+		<method name="setAutofillValue(Landroid/view/autofill/AutofillValue;)V" since="26"/>
+		<method name="setCheckable(Z)V"/>
+		<method name="setChecked(Z)V"/>
+		<method name="setChildCount(I)V"/>
+		<method name="setClassName(Ljava/lang/String;)V"/>
+		<method name="setClickable(Z)V"/>
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V"/>
+		<method name="setContextClickable(Z)V"/>
+		<method name="setDataIsSensitive(Z)V" since="26"/>
+		<method name="setDimens(IIIIII)V"/>
+		<method name="setElevation(F)V"/>
+		<method name="setEnabled(Z)V"/>
+		<method name="setFocusable(Z)V"/>
+		<method name="setFocused(Z)V"/>
+		<method name="setHint(Ljava/lang/CharSequence;)V"/>
+		<method name="setHintIdEntry(Ljava/lang/String;)V" since="30"/>
+		<method name="setHtmlInfo(Landroid/view/ViewStructure$HtmlInfo;)V" since="26"/>
+		<method name="setId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setImportantForAutofill(I)V" since="28"/>
+		<method name="setInputType(I)V" since="26"/>
+		<method name="setLocaleList(Landroid/os/LocaleList;)V" since="26"/>
+		<method name="setLongClickable(Z)V"/>
+		<method name="setMaxTextEms(I)V" since="28"/>
+		<method name="setMaxTextLength(I)V" since="28"/>
+		<method name="setMinTextEms(I)V" since="28"/>
+		<method name="setOpaque(Z)V" since="26"/>
+		<method name="setReceiveContentMimeTypes([Ljava/lang/String;)V" since="31"/>
+		<method name="setSelected(Z)V"/>
+		<method name="setText(Ljava/lang/CharSequence;)V"/>
+		<method name="setText(Ljava/lang/CharSequence;II)V"/>
+		<method name="setTextIdEntry(Ljava/lang/String;)V" since="28"/>
+		<method name="setTextLines([I[I)V"/>
+		<method name="setTextStyle(FIII)V"/>
+		<method name="setTransformation(Landroid/graphics/Matrix;)V"/>
+		<method name="setVisibility(I)V"/>
+		<method name="setWebDomain(Ljava/lang/String;)V" since="26"/>
+	</class>
+	<class name="android/view/ViewStructure$HtmlInfo" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAttributes()Ljava/util/List;"/>
+		<method name="getTag()Ljava/lang/String;"/>
+	</class>
+	<class name="android/view/ViewStructure$HtmlInfo$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addAttribute(Ljava/lang/String;Ljava/lang/String;)Landroid/view/ViewStructure$HtmlInfo$Builder;"/>
+		<method name="build()Landroid/view/ViewStructure$HtmlInfo;"/>
+	</class>
+	<class name="android/view/ViewStub" since="1">
+		<extends name="android/view/View"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getInflatedId()I"/>
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;" since="16"/>
+		<method name="getLayoutResource()I"/>
+		<method name="inflate()Landroid/view/View;"/>
+		<method name="setInflatedId(I)V"/>
+		<method name="setLayoutInflater(Landroid/view/LayoutInflater;)V" since="16"/>
+		<method name="setLayoutResource(I)V"/>
+		<method name="setOnInflateListener(Landroid/view/ViewStub$OnInflateListener;)V"/>
+	</class>
+	<class name="android/view/ViewStub$OnInflateListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onInflate(Landroid/view/ViewStub;Landroid/view/View;)V"/>
+	</class>
+	<class name="android/view/ViewTreeObserver" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V" since="16"/>
+		<method name="addOnGlobalFocusChangeListener(Landroid/view/ViewTreeObserver$OnGlobalFocusChangeListener;)V"/>
+		<method name="addOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V"/>
+		<method name="addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V"/>
+		<method name="addOnScrollChangedListener(Landroid/view/ViewTreeObserver$OnScrollChangedListener;)V" since="3"/>
+		<method name="addOnSystemGestureExclusionRectsChangedListener(Ljava/util/function/Consumer;)V" since="29"/>
+		<method name="addOnTouchModeChangeListener(Landroid/view/ViewTreeObserver$OnTouchModeChangeListener;)V"/>
+		<method name="addOnWindowAttachListener(Landroid/view/ViewTreeObserver$OnWindowAttachListener;)V" since="18"/>
+		<method name="addOnWindowFocusChangeListener(Landroid/view/ViewTreeObserver$OnWindowFocusChangeListener;)V" since="18"/>
+		<method name="dispatchOnDraw()V" since="16"/>
+		<method name="dispatchOnGlobalLayout()V"/>
+		<method name="dispatchOnPreDraw()Z"/>
+		<method name="isAlive()Z"/>
+		<method name="registerFrameCommitCallback(Ljava/lang/Runnable;)V" since="29"/>
+		<method name="removeGlobalOnLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V" deprecated="16"/>
+		<method name="removeOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V" since="16"/>
+		<method name="removeOnGlobalFocusChangeListener(Landroid/view/ViewTreeObserver$OnGlobalFocusChangeListener;)V"/>
+		<method name="removeOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V" since="16"/>
+		<method name="removeOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V"/>
+		<method name="removeOnScrollChangedListener(Landroid/view/ViewTreeObserver$OnScrollChangedListener;)V" since="3"/>
+		<method name="removeOnSystemGestureExclusionRectsChangedListener(Ljava/util/function/Consumer;)V" since="29"/>
+		<method name="removeOnTouchModeChangeListener(Landroid/view/ViewTreeObserver$OnTouchModeChangeListener;)V"/>
+		<method name="removeOnWindowAttachListener(Landroid/view/ViewTreeObserver$OnWindowAttachListener;)V" since="18"/>
+		<method name="removeOnWindowFocusChangeListener(Landroid/view/ViewTreeObserver$OnWindowFocusChangeListener;)V" since="18"/>
+		<method name="unregisterFrameCommitCallback(Ljava/lang/Runnable;)Z" since="29"/>
+	</class>
+	<class name="android/view/ViewTreeObserver$OnDrawListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onDraw()V"/>
+	</class>
+	<class name="android/view/ViewTreeObserver$OnGlobalFocusChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onGlobalFocusChanged(Landroid/view/View;Landroid/view/View;)V"/>
+	</class>
+	<class name="android/view/ViewTreeObserver$OnGlobalLayoutListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onGlobalLayout()V"/>
+	</class>
+	<class name="android/view/ViewTreeObserver$OnPreDrawListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onPreDraw()Z"/>
+	</class>
+	<class name="android/view/ViewTreeObserver$OnScrollChangedListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onScrollChanged()V"/>
+	</class>
+	<class name="android/view/ViewTreeObserver$OnTouchModeChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onTouchModeChanged(Z)V"/>
+	</class>
+	<class name="android/view/ViewTreeObserver$OnWindowAttachListener" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="onWindowAttached()V"/>
+		<method name="onWindowDetached()V"/>
+	</class>
+	<class name="android/view/ViewTreeObserver$OnWindowFocusChangeListener" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="onWindowFocusChanged(Z)V"/>
+	</class>
+	<class name="android/view/Window" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="addContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="addFlags(I)V"/>
+		<method name="addOnFrameMetricsAvailableListener(Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V" since="24"/>
+		<method name="clearFlags(I)V"/>
+		<method name="closeAllPanels()V"/>
+		<method name="closePanel(I)V"/>
+		<method name="findViewById(I)Landroid/view/View;"/>
+		<method name="getAllowEnterTransitionOverlap()Z" since="21"/>
+		<method name="getAllowReturnTransitionOverlap()Z" since="21"/>
+		<method name="getAttributes()Landroid/view/WindowManager$LayoutParams;"/>
+		<method name="getCallback()Landroid/view/Window$Callback;"/>
+		<method name="getColorMode()I" since="26"/>
+		<method name="getContainer()Landroid/view/Window;"/>
+		<method name="getContentScene()Landroid/transition/Scene;" since="21"/>
+		<method name="getContext()Landroid/content/Context;"/>
+		<method name="getCurrentFocus()Landroid/view/View;"/>
+		<method name="getDecorView()Landroid/view/View;"/>
+		<method name="getDefaultFeatures(Landroid/content/Context;)I" since="22"/>
+		<method name="getEnterTransition()Landroid/transition/Transition;" since="21"/>
+		<method name="getExitTransition()Landroid/transition/Transition;" since="21"/>
+		<method name="getFeatures()I"/>
+		<method name="getForcedWindowFlags()I"/>
+		<method name="getInsetsController()Landroid/view/WindowInsetsController;" since="30"/>
+		<method name="getLayoutInflater()Landroid/view/LayoutInflater;"/>
+		<method name="getLocalFeatures()I"/>
+		<method name="getMediaController()Landroid/media/session/MediaController;" since="21"/>
+		<method name="getNavigationBarColor()I" since="21"/>
+		<method name="getNavigationBarDividerColor()I" since="28"/>
+		<method name="getReenterTransition()Landroid/transition/Transition;" since="21"/>
+		<method name="getReturnTransition()Landroid/transition/Transition;" since="21"/>
+		<method name="getRootSurfaceControl()Landroid/view/AttachedSurfaceControl;" since="31"/>
+		<method name="getSharedElementEnterTransition()Landroid/transition/Transition;" since="21"/>
+		<method name="getSharedElementExitTransition()Landroid/transition/Transition;" since="21"/>
+		<method name="getSharedElementReenterTransition()Landroid/transition/Transition;" since="21"/>
+		<method name="getSharedElementReturnTransition()Landroid/transition/Transition;" since="21"/>
+		<method name="getSharedElementsUseOverlay()Z" since="21"/>
+		<method name="getStatusBarColor()I" since="21"/>
+		<method name="getSystemGestureExclusionRects()Ljava/util/List;" since="29"/>
+		<method name="getTransitionBackgroundFadeDuration()J" since="21"/>
+		<method name="getTransitionManager()Landroid/transition/TransitionManager;" since="21"/>
+		<method name="getVolumeControlStream()I"/>
+		<method name="getWindowManager()Landroid/view/WindowManager;"/>
+		<method name="getWindowStyle()Landroid/content/res/TypedArray;"/>
+		<method name="hasChildren()Z"/>
+		<method name="hasFeature(I)Z" since="11"/>
+		<method name="hasSoftInputMode()Z" since="3"/>
+		<method name="injectInputEvent(Landroid/view/InputEvent;)V" since="19"/>
+		<method name="invalidatePanelMenu(I)V" since="11"/>
+		<method name="isActive()Z"/>
+		<method name="isFloating()Z"/>
+		<method name="isNavigationBarContrastEnforced()Z" since="29"/>
+		<method name="isShortcutKey(ILandroid/view/KeyEvent;)Z"/>
+		<method name="isStatusBarContrastEnforced()Z" since="29"/>
+		<method name="isWideColorGamut()Z" since="27"/>
+		<method name="makeActive()V"/>
+		<method name="onActive()V"/>
+		<method name="onConfigurationChanged(Landroid/content/res/Configuration;)V"/>
+		<method name="openPanel(ILandroid/view/KeyEvent;)V"/>
+		<method name="peekDecorView()Landroid/view/View;"/>
+		<method name="performContextMenuIdentifierAction(II)Z"/>
+		<method name="performPanelIdentifierAction(III)Z"/>
+		<method name="performPanelShortcut(IILandroid/view/KeyEvent;I)Z"/>
+		<method name="registerScrollCaptureCallback(Landroid/view/ScrollCaptureCallback;)V" since="31"/>
+		<method name="removeOnFrameMetricsAvailableListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V" since="24"/>
+		<method name="requestFeature(I)Z"/>
+		<method name="requireViewById(I)Landroid/view/View;" since="28"/>
+		<method name="restoreHierarchyState(Landroid/os/Bundle;)V"/>
+		<method name="saveHierarchyState()Landroid/os/Bundle;"/>
+		<method name="setAllowEnterTransitionOverlap(Z)V" since="21"/>
+		<method name="setAllowReturnTransitionOverlap(Z)V" since="21"/>
+		<method name="setAttributes(Landroid/view/WindowManager$LayoutParams;)V"/>
+		<method name="setBackgroundBlurRadius(I)V" since="31"/>
+		<method name="setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setBackgroundDrawableResource(I)V"/>
+		<method name="setCallback(Landroid/view/Window$Callback;)V"/>
+		<method name="setChildDrawable(ILandroid/graphics/drawable/Drawable;)V"/>
+		<method name="setChildInt(II)V"/>
+		<method name="setClipToOutline(Z)V" since="22"/>
+		<method name="setColorMode(I)V" since="26"/>
+		<method name="setContainer(Landroid/view/Window;)V"/>
+		<method name="setContentView(I)V"/>
+		<method name="setContentView(Landroid/view/View;)V"/>
+		<method name="setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="setDecorCaptionShade(I)V" since="24"/>
+		<method name="setDecorFitsSystemWindows(Z)V" since="30"/>
+		<method name="setDefaultWindowFormat(I)V"/>
+		<method name="setDimAmount(F)V" since="14"/>
+		<method name="setElevation(F)V" since="22"/>
+		<method name="setEnterTransition(Landroid/transition/Transition;)V" since="21"/>
+		<method name="setExitTransition(Landroid/transition/Transition;)V" since="21"/>
+		<method name="setFeatureDrawable(ILandroid/graphics/drawable/Drawable;)V"/>
+		<method name="setFeatureDrawableAlpha(II)V"/>
+		<method name="setFeatureDrawableResource(II)V"/>
+		<method name="setFeatureDrawableUri(ILandroid/net/Uri;)V"/>
+		<method name="setFeatureInt(II)V"/>
+		<method name="setFlags(II)V"/>
+		<method name="setFormat(I)V"/>
+		<method name="setGravity(I)V"/>
+		<method name="setHideOverlayWindows(Z)V" since="31"/>
+		<method name="setIcon(I)V" since="19"/>
+		<method name="setLayout(II)V"/>
+		<method name="setLocalFocus(ZZ)V" since="19"/>
+		<method name="setLogo(I)V" since="19"/>
+		<method name="setMediaController(Landroid/media/session/MediaController;)V" since="21"/>
+		<method name="setNavigationBarColor(I)V" since="21"/>
+		<method name="setNavigationBarContrastEnforced(Z)V" since="29"/>
+		<method name="setNavigationBarDividerColor(I)V" since="28"/>
+		<method name="setPreferMinimalPostProcessing(Z)V" since="30"/>
+		<method name="setReenterTransition(Landroid/transition/Transition;)V" since="21"/>
+		<method name="setResizingCaptionDrawable(Landroid/graphics/drawable/Drawable;)V" since="24"/>
+		<method name="setRestrictedCaptionAreaListener(Landroid/view/Window$OnRestrictedCaptionAreaChangedListener;)V" since="24"/>
+		<method name="setReturnTransition(Landroid/transition/Transition;)V" since="21"/>
+		<method name="setSharedElementEnterTransition(Landroid/transition/Transition;)V" since="21"/>
+		<method name="setSharedElementExitTransition(Landroid/transition/Transition;)V" since="21"/>
+		<method name="setSharedElementReenterTransition(Landroid/transition/Transition;)V" since="21"/>
+		<method name="setSharedElementReturnTransition(Landroid/transition/Transition;)V" since="21"/>
+		<method name="setSharedElementsUseOverlay(Z)V" since="21"/>
+		<method name="setSoftInputMode(I)V" since="3"/>
+		<method name="setStatusBarColor(I)V" since="21"/>
+		<method name="setStatusBarContrastEnforced(Z)V" since="29"/>
+		<method name="setSustainedPerformanceMode(Z)V" since="24"/>
+		<method name="setSystemGestureExclusionRects(Ljava/util/List;)V" since="29"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)V"/>
+		<method name="setTitleColor(I)V" deprecated="21"/>
+		<method name="setTransitionBackgroundFadeDuration(J)V" since="21"/>
+		<method name="setTransitionManager(Landroid/transition/TransitionManager;)V" since="21"/>
+		<method name="setType(I)V"/>
+		<method name="setUiOptions(I)V" since="14"/>
+		<method name="setUiOptions(II)V" since="14"/>
+		<method name="setVolumeControlStream(I)V"/>
+		<method name="setWindowAnimations(I)V" since="3"/>
+		<method name="setWindowManager(Landroid/view/WindowManager;Landroid/os/IBinder;Ljava/lang/String;)V"/>
+		<method name="setWindowManager(Landroid/view/WindowManager;Landroid/os/IBinder;Ljava/lang/String;Z)V" since="11"/>
+		<method name="superDispatchGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12"/>
+		<method name="superDispatchKeyEvent(Landroid/view/KeyEvent;)Z"/>
+		<method name="superDispatchKeyShortcutEvent(Landroid/view/KeyEvent;)Z" since="11"/>
+		<method name="superDispatchTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="superDispatchTrackballEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="takeInputQueue(Landroid/view/InputQueue$Callback;)V" since="9"/>
+		<method name="takeKeyEvents(Z)V"/>
+		<method name="takeSurface(Landroid/view/SurfaceHolder$Callback2;)V" since="9"/>
+		<method name="togglePanel(ILandroid/view/KeyEvent;)V"/>
+		<method name="unregisterScrollCaptureCallback(Landroid/view/ScrollCaptureCallback;)V" since="31"/>
+		<field name="DECOR_CAPTION_SHADE_AUTO" since="24"/>
+		<field name="DECOR_CAPTION_SHADE_DARK" since="24"/>
+		<field name="DECOR_CAPTION_SHADE_LIGHT" since="24"/>
+		<field name="DEFAULT_FEATURES" deprecated="22"/>
+		<field name="FEATURE_ACTION_BAR" since="11"/>
+		<field name="FEATURE_ACTION_BAR_OVERLAY" since="11"/>
+		<field name="FEATURE_ACTION_MODE_OVERLAY" since="11"/>
+		<field name="FEATURE_ACTIVITY_TRANSITIONS" since="21"/>
+		<field name="FEATURE_CONTENT_TRANSITIONS" since="21"/>
+		<field name="FEATURE_CONTEXT_MENU"/>
+		<field name="FEATURE_CUSTOM_TITLE"/>
+		<field name="FEATURE_INDETERMINATE_PROGRESS" deprecated="24"/>
+		<field name="FEATURE_LEFT_ICON"/>
+		<field name="FEATURE_NO_TITLE"/>
+		<field name="FEATURE_OPTIONS_PANEL"/>
+		<field name="FEATURE_PROGRESS" deprecated="24"/>
+		<field name="FEATURE_RIGHT_ICON"/>
+		<field name="FEATURE_SWIPE_TO_DISMISS" since="20" deprecated="30"/>
+		<field name="ID_ANDROID_CONTENT"/>
+		<field name="NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME" since="21"/>
+		<field name="PROGRESS_END" deprecated="24"/>
+		<field name="PROGRESS_INDETERMINATE_OFF" deprecated="24"/>
+		<field name="PROGRESS_INDETERMINATE_ON" deprecated="24"/>
+		<field name="PROGRESS_SECONDARY_END" deprecated="24"/>
+		<field name="PROGRESS_SECONDARY_START" deprecated="24"/>
+		<field name="PROGRESS_START" deprecated="24"/>
+		<field name="PROGRESS_VISIBILITY_OFF" deprecated="24"/>
+		<field name="PROGRESS_VISIBILITY_ON" deprecated="24"/>
+		<field name="STATUS_BAR_BACKGROUND_TRANSITION_NAME" since="21"/>
+	</class>
+	<class name="android/view/Window$Callback" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="dispatchGenericMotionEvent(Landroid/view/MotionEvent;)Z" since="12"/>
+		<method name="dispatchKeyEvent(Landroid/view/KeyEvent;)Z"/>
+		<method name="dispatchKeyShortcutEvent(Landroid/view/KeyEvent;)Z" since="11"/>
+		<method name="dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z" since="4"/>
+		<method name="dispatchTouchEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="dispatchTrackballEvent(Landroid/view/MotionEvent;)Z"/>
+		<method name="onActionModeFinished(Landroid/view/ActionMode;)V" since="11"/>
+		<method name="onActionModeStarted(Landroid/view/ActionMode;)V" since="11"/>
+		<method name="onAttachedToWindow()V" since="5"/>
+		<method name="onContentChanged()V"/>
+		<method name="onCreatePanelMenu(ILandroid/view/Menu;)Z"/>
+		<method name="onCreatePanelView(I)Landroid/view/View;"/>
+		<method name="onDetachedFromWindow()V" since="5"/>
+		<method name="onMenuItemSelected(ILandroid/view/MenuItem;)Z"/>
+		<method name="onMenuOpened(ILandroid/view/Menu;)Z"/>
+		<method name="onPanelClosed(ILandroid/view/Menu;)V"/>
+		<method name="onPointerCaptureChanged(Z)V" since="26"/>
+		<method name="onPreparePanel(ILandroid/view/View;Landroid/view/Menu;)Z"/>
+		<method name="onProvideKeyboardShortcuts(Ljava/util/List;Landroid/view/Menu;I)V" since="24"/>
+		<method name="onSearchRequested()Z"/>
+		<method name="onSearchRequested(Landroid/view/SearchEvent;)Z" since="23"/>
+		<method name="onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V"/>
+		<method name="onWindowFocusChanged(Z)V"/>
+		<method name="onWindowStartingActionMode(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;" since="11"/>
+		<method name="onWindowStartingActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;" since="23"/>
+	</class>
+	<class name="android/view/Window$OnFrameMetricsAvailableListener" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onFrameMetricsAvailable(Landroid/view/Window;Landroid/view/FrameMetrics;I)V"/>
+	</class>
+	<class name="android/view/Window$OnRestrictedCaptionAreaChangedListener" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="onRestrictedCaptionAreaChanged(Landroid/graphics/Rect;)V"/>
+	</class>
+	<class name="android/view/WindowAnimationFrameStats" since="21">
+		<extends name="android/view/FrameStats"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/WindowContentFrameStats" since="21">
+		<extends name="android/view/FrameStats"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getFramePostedTimeNano(I)J"/>
+		<method name="getFrameReadyTimeNano(I)J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/WindowId" since="18">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="isFocused()Z"/>
+		<method name="registerFocusObserver(Landroid/view/WindowId$FocusObserver;)V"/>
+		<method name="unregisterFocusObserver(Landroid/view/WindowId$FocusObserver;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/WindowId$FocusObserver" since="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onFocusGained(Landroid/view/WindowId;)V"/>
+		<method name="onFocusLost(Landroid/view/WindowId;)V"/>
+	</class>
+	<class name="android/view/WindowInsets" since="20">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/WindowInsets;)V"/>
+		<method name="consumeDisplayCutout()Landroid/view/WindowInsets;" since="28" deprecated="30"/>
+		<method name="consumeStableInsets()Landroid/view/WindowInsets;" since="21" deprecated="30"/>
+		<method name="consumeSystemWindowInsets()Landroid/view/WindowInsets;" deprecated="30"/>
+		<method name="getDisplayCutout()Landroid/view/DisplayCutout;" since="28"/>
+		<method name="getInsets(I)Landroid/graphics/Insets;" since="30"/>
+		<method name="getInsetsIgnoringVisibility(I)Landroid/graphics/Insets;" since="30"/>
+		<method name="getMandatorySystemGestureInsets()Landroid/graphics/Insets;" since="29" deprecated="30"/>
+		<method name="getPrivacyIndicatorBounds()Landroid/graphics/Rect;" since="31"/>
+		<method name="getRoundedCorner(I)Landroid/view/RoundedCorner;" since="31"/>
+		<method name="getStableInsetBottom()I" since="21" deprecated="30"/>
+		<method name="getStableInsetLeft()I" since="21" deprecated="30"/>
+		<method name="getStableInsetRight()I" since="21" deprecated="30"/>
+		<method name="getStableInsetTop()I" since="21" deprecated="30"/>
+		<method name="getStableInsets()Landroid/graphics/Insets;" since="29" deprecated="30"/>
+		<method name="getSystemGestureInsets()Landroid/graphics/Insets;" since="29" deprecated="30"/>
+		<method name="getSystemWindowInsetBottom()I" deprecated="30"/>
+		<method name="getSystemWindowInsetLeft()I" deprecated="30"/>
+		<method name="getSystemWindowInsetRight()I" deprecated="30"/>
+		<method name="getSystemWindowInsetTop()I" deprecated="30"/>
+		<method name="getSystemWindowInsets()Landroid/graphics/Insets;" since="29" deprecated="30"/>
+		<method name="getTappableElementInsets()Landroid/graphics/Insets;" since="29" deprecated="30"/>
+		<method name="hasInsets()Z"/>
+		<method name="hasStableInsets()Z" since="21" deprecated="30"/>
+		<method name="hasSystemWindowInsets()Z" deprecated="30"/>
+		<method name="inset(IIII)Landroid/view/WindowInsets;" since="29"/>
+		<method name="inset(Landroid/graphics/Insets;)Landroid/view/WindowInsets;" since="30"/>
+		<method name="isConsumed()Z" since="21"/>
+		<method name="isRound()Z"/>
+		<method name="isVisible(I)Z" since="30"/>
+		<method name="replaceSystemWindowInsets(IIII)Landroid/view/WindowInsets;" deprecated="29"/>
+		<method name="replaceSystemWindowInsets(Landroid/graphics/Rect;)Landroid/view/WindowInsets;" since="21" deprecated="29"/>
+		<field name="CONSUMED" since="30"/>
+	</class>
+	<class name="android/view/WindowInsets$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/view/WindowInsets;)V"/>
+		<method name="build()Landroid/view/WindowInsets;"/>
+		<method name="setDisplayCutout(Landroid/view/DisplayCutout;)Landroid/view/WindowInsets$Builder;"/>
+		<method name="setInsets(ILandroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" since="30"/>
+		<method name="setInsetsIgnoringVisibility(ILandroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" since="30"/>
+		<method name="setMandatorySystemGestureInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" deprecated="30"/>
+		<method name="setPrivacyIndicatorBounds(Landroid/graphics/Rect;)Landroid/view/WindowInsets$Builder;" since="31"/>
+		<method name="setRoundedCorner(ILandroid/view/RoundedCorner;)Landroid/view/WindowInsets$Builder;" since="31"/>
+		<method name="setStableInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" deprecated="30"/>
+		<method name="setSystemGestureInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" deprecated="30"/>
+		<method name="setSystemWindowInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" deprecated="30"/>
+		<method name="setTappableElementInsets(Landroid/graphics/Insets;)Landroid/view/WindowInsets$Builder;" deprecated="30"/>
+		<method name="setVisible(IZ)Landroid/view/WindowInsets$Builder;" since="30"/>
+	</class>
+	<class name="android/view/WindowInsets$Side" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="all()I"/>
+		<field name="BOTTOM"/>
+		<field name="LEFT"/>
+		<field name="RIGHT"/>
+		<field name="TOP"/>
+	</class>
+	<class name="android/view/WindowInsets$Type" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="captionBar()I"/>
+		<method name="displayCutout()I"/>
+		<method name="ime()I"/>
+		<method name="mandatorySystemGestures()I"/>
+		<method name="navigationBars()I"/>
+		<method name="statusBars()I"/>
+		<method name="systemBars()I"/>
+		<method name="systemGestures()I"/>
+		<method name="tappableElement()I"/>
+	</class>
+	<class name="android/view/WindowInsetsAnimation" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(ILandroid/view/animation/Interpolator;J)V"/>
+		<method name="getAlpha()F"/>
+		<method name="getDurationMillis()J"/>
+		<method name="getFraction()F"/>
+		<method name="getInterpolatedFraction()F"/>
+		<method name="getInterpolator()Landroid/view/animation/Interpolator;"/>
+		<method name="getTypeMask()I"/>
+		<method name="setAlpha(F)V"/>
+		<method name="setFraction(F)V"/>
+	</class>
+	<class name="android/view/WindowInsetsAnimation$Bounds" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/Insets;Landroid/graphics/Insets;)V"/>
+		<method name="getLowerBound()Landroid/graphics/Insets;"/>
+		<method name="getUpperBound()Landroid/graphics/Insets;"/>
+		<method name="inset(Landroid/graphics/Insets;)Landroid/view/WindowInsetsAnimation$Bounds;"/>
+	</class>
+	<class name="android/view/WindowInsetsAnimation$Callback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getDispatchMode()I"/>
+		<method name="onEnd(Landroid/view/WindowInsetsAnimation;)V"/>
+		<method name="onPrepare(Landroid/view/WindowInsetsAnimation;)V"/>
+		<method name="onProgress(Landroid/view/WindowInsets;Ljava/util/List;)Landroid/view/WindowInsets;"/>
+		<method name="onStart(Landroid/view/WindowInsetsAnimation;Landroid/view/WindowInsetsAnimation$Bounds;)Landroid/view/WindowInsetsAnimation$Bounds;"/>
+		<field name="DISPATCH_MODE_CONTINUE_ON_SUBTREE"/>
+		<field name="DISPATCH_MODE_STOP"/>
+	</class>
+	<class name="android/view/WindowInsetsAnimationControlListener" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onCancelled(Landroid/view/WindowInsetsAnimationController;)V"/>
+		<method name="onFinished(Landroid/view/WindowInsetsAnimationController;)V"/>
+		<method name="onReady(Landroid/view/WindowInsetsAnimationController;I)V"/>
+	</class>
+	<class name="android/view/WindowInsetsAnimationController" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="finish(Z)V"/>
+		<method name="getCurrentAlpha()F"/>
+		<method name="getCurrentFraction()F"/>
+		<method name="getCurrentInsets()Landroid/graphics/Insets;"/>
+		<method name="getHiddenStateInsets()Landroid/graphics/Insets;"/>
+		<method name="getShownStateInsets()Landroid/graphics/Insets;"/>
+		<method name="getTypes()I"/>
+		<method name="isCancelled()Z"/>
+		<method name="isFinished()Z"/>
+		<method name="isReady()Z"/>
+		<method name="setInsetsAndAlpha(Landroid/graphics/Insets;FF)V"/>
+	</class>
+	<class name="android/view/WindowInsetsController" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="addOnControllableInsetsChangedListener(Landroid/view/WindowInsetsController$OnControllableInsetsChangedListener;)V"/>
+		<method name="controlWindowInsetsAnimation(IJLandroid/view/animation/Interpolator;Landroid/os/CancellationSignal;Landroid/view/WindowInsetsAnimationControlListener;)V"/>
+		<method name="getSystemBarsAppearance()I"/>
+		<method name="getSystemBarsBehavior()I"/>
+		<method name="hide(I)V"/>
+		<method name="removeOnControllableInsetsChangedListener(Landroid/view/WindowInsetsController$OnControllableInsetsChangedListener;)V"/>
+		<method name="setSystemBarsAppearance(II)V"/>
+		<method name="setSystemBarsBehavior(I)V"/>
+		<method name="show(I)V"/>
+		<field name="APPEARANCE_LIGHT_NAVIGATION_BARS"/>
+		<field name="APPEARANCE_LIGHT_STATUS_BARS"/>
+		<field name="BEHAVIOR_DEFAULT" since="31"/>
+		<field name="BEHAVIOR_SHOW_BARS_BY_SWIPE" deprecated="31"/>
+		<field name="BEHAVIOR_SHOW_BARS_BY_TOUCH" deprecated="31"/>
+		<field name="BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE"/>
+	</class>
+	<class name="android/view/WindowInsetsController$OnControllableInsetsChangedListener" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onControllableInsetsChanged(Landroid/view/WindowInsetsController;I)V"/>
+	</class>
+	<class name="android/view/WindowManager" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/ViewManager"/>
+		<method name="addCrossWindowBlurEnabledListener(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V" since="31"/>
+		<method name="addCrossWindowBlurEnabledListener(Ljava/util/function/Consumer;)V" since="31"/>
+		<method name="getCurrentWindowMetrics()Landroid/view/WindowMetrics;" since="30"/>
+		<method name="getDefaultDisplay()Landroid/view/Display;" deprecated="30"/>
+		<method name="getMaximumWindowMetrics()Landroid/view/WindowMetrics;" since="30"/>
+		<method name="isCrossWindowBlurEnabled()Z" since="31"/>
+		<method name="removeCrossWindowBlurEnabledListener(Ljava/util/function/Consumer;)V" since="31"/>
+		<method name="removeViewImmediate(Landroid/view/View;)V"/>
+	</class>
+	<class name="android/view/WindowManager$BadTokenException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/view/WindowManager$InvalidDisplayException" since="17">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/view/WindowManager$LayoutParams" since="1">
+		<extends name="android/view/ViewGroup$LayoutParams"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIIII)V"/>
+		<method name="&lt;init>(IIIIIII)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="copyFrom(Landroid/view/WindowManager$LayoutParams;)I"/>
+		<method name="debug(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getBlurBehindRadius()I" since="31"/>
+		<method name="getColorMode()I" since="26"/>
+		<method name="getFitInsetsSides()I" since="30"/>
+		<method name="getFitInsetsTypes()I" since="30"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<method name="isFitInsetsIgnoringVisibility()Z" since="30"/>
+		<method name="mayUseInputMethod(I)Z" since="3"/>
+		<method name="setBlurBehindRadius(I)V" since="31"/>
+		<method name="setColorMode(I)V" since="26"/>
+		<method name="setFitInsetsIgnoringVisibility(Z)V" since="30"/>
+		<method name="setFitInsetsSides(I)V" since="30"/>
+		<method name="setFitInsetsTypes(I)V" since="30"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)V"/>
+		<field name="ALPHA_CHANGED"/>
+		<field name="ANIMATION_CHANGED"/>
+		<field name="BRIGHTNESS_OVERRIDE_FULL" since="8"/>
+		<field name="BRIGHTNESS_OVERRIDE_NONE" since="8"/>
+		<field name="BRIGHTNESS_OVERRIDE_OFF" since="8"/>
+		<field name="CREATOR"/>
+		<field name="DIM_AMOUNT_CHANGED"/>
+		<field name="FIRST_APPLICATION_WINDOW"/>
+		<field name="FIRST_SUB_WINDOW"/>
+		<field name="FIRST_SYSTEM_WINDOW"/>
+		<field name="FLAGS_CHANGED"/>
+		<field name="FLAG_ALLOW_LOCK_WHILE_SCREEN_ON" since="8"/>
+		<field name="FLAG_ALT_FOCUSABLE_IM" since="3"/>
+		<field name="FLAG_BLUR_BEHIND" deprecated="15"/>
+		<field name="FLAG_DIM_BEHIND"/>
+		<field name="FLAG_DISMISS_KEYGUARD" since="5" deprecated="26"/>
+		<field name="FLAG_DITHER" deprecated="17"/>
+		<field name="FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS" since="21"/>
+		<field name="FLAG_FORCE_NOT_FULLSCREEN" deprecated="30"/>
+		<field name="FLAG_FULLSCREEN" deprecated="30"/>
+		<field name="FLAG_HARDWARE_ACCELERATED" since="11"/>
+		<field name="FLAG_IGNORE_CHEEK_PRESSES"/>
+		<field name="FLAG_KEEP_SCREEN_ON"/>
+		<field name="FLAG_LAYOUT_ATTACHED_IN_DECOR" since="22" deprecated="30"/>
+		<field name="FLAG_LAYOUT_INSET_DECOR" deprecated="30"/>
+		<field name="FLAG_LAYOUT_IN_OVERSCAN" since="18" deprecated="30"/>
+		<field name="FLAG_LAYOUT_IN_SCREEN"/>
+		<field name="FLAG_LAYOUT_NO_LIMITS"/>
+		<field name="FLAG_LOCAL_FOCUS_MODE" since="19"/>
+		<field name="FLAG_NOT_FOCUSABLE"/>
+		<field name="FLAG_NOT_TOUCHABLE"/>
+		<field name="FLAG_NOT_TOUCH_MODAL"/>
+		<field name="FLAG_SCALED"/>
+		<field name="FLAG_SECURE"/>
+		<field name="FLAG_SHOW_WALLPAPER" since="5"/>
+		<field name="FLAG_SHOW_WHEN_LOCKED" since="5" deprecated="27"/>
+		<field name="FLAG_SPLIT_TOUCH" since="11"/>
+		<field name="FLAG_TOUCHABLE_WHEN_WAKING" deprecated="20"/>
+		<field name="FLAG_TRANSLUCENT_NAVIGATION" since="19" deprecated="30"/>
+		<field name="FLAG_TRANSLUCENT_STATUS" since="19" deprecated="30"/>
+		<field name="FLAG_TURN_SCREEN_ON" since="5" deprecated="27"/>
+		<field name="FLAG_WATCH_OUTSIDE_TOUCH" since="3"/>
+		<field name="FORMAT_CHANGED"/>
+		<field name="LAST_APPLICATION_WINDOW"/>
+		<field name="LAST_SUB_WINDOW"/>
+		<field name="LAST_SYSTEM_WINDOW"/>
+		<field name="LAYOUT_CHANGED"/>
+		<field name="LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS" since="30"/>
+		<field name="LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT" since="28"/>
+		<field name="LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER" since="28"/>
+		<field name="LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES" since="28"/>
+		<field name="MEMORY_TYPE_CHANGED"/>
+		<field name="MEMORY_TYPE_GPU" deprecated="15"/>
+		<field name="MEMORY_TYPE_HARDWARE" deprecated="15"/>
+		<field name="MEMORY_TYPE_NORMAL" deprecated="15"/>
+		<field name="MEMORY_TYPE_PUSH_BUFFERS" deprecated="15"/>
+		<field name="ROTATION_ANIMATION_CHANGED" since="18"/>
+		<field name="ROTATION_ANIMATION_CROSSFADE" since="18"/>
+		<field name="ROTATION_ANIMATION_JUMPCUT" since="18"/>
+		<field name="ROTATION_ANIMATION_ROTATE" since="18"/>
+		<field name="ROTATION_ANIMATION_SEAMLESS" since="26"/>
+		<field name="SCREEN_BRIGHTNESS_CHANGED" since="3"/>
+		<field name="SCREEN_ORIENTATION_CHANGED" since="3"/>
+		<field name="SOFT_INPUT_ADJUST_NOTHING" since="11"/>
+		<field name="SOFT_INPUT_ADJUST_PAN" since="3"/>
+		<field name="SOFT_INPUT_ADJUST_RESIZE" since="3" deprecated="30"/>
+		<field name="SOFT_INPUT_ADJUST_UNSPECIFIED" since="3"/>
+		<field name="SOFT_INPUT_IS_FORWARD_NAVIGATION" since="3"/>
+		<field name="SOFT_INPUT_MASK_ADJUST" since="3"/>
+		<field name="SOFT_INPUT_MASK_STATE" since="3"/>
+		<field name="SOFT_INPUT_MODE_CHANGED" since="3"/>
+		<field name="SOFT_INPUT_STATE_ALWAYS_HIDDEN" since="3"/>
+		<field name="SOFT_INPUT_STATE_ALWAYS_VISIBLE" since="3"/>
+		<field name="SOFT_INPUT_STATE_HIDDEN" since="3"/>
+		<field name="SOFT_INPUT_STATE_UNCHANGED" since="3"/>
+		<field name="SOFT_INPUT_STATE_UNSPECIFIED" since="3"/>
+		<field name="SOFT_INPUT_STATE_VISIBLE" since="3"/>
+		<field name="TITLE_CHANGED"/>
+		<field name="TYPE_ACCESSIBILITY_OVERLAY" since="22"/>
+		<field name="TYPE_APPLICATION"/>
+		<field name="TYPE_APPLICATION_ATTACHED_DIALOG" since="3"/>
+		<field name="TYPE_APPLICATION_MEDIA"/>
+		<field name="TYPE_APPLICATION_OVERLAY" since="26"/>
+		<field name="TYPE_APPLICATION_PANEL"/>
+		<field name="TYPE_APPLICATION_STARTING"/>
+		<field name="TYPE_APPLICATION_SUB_PANEL"/>
+		<field name="TYPE_BASE_APPLICATION"/>
+		<field name="TYPE_CHANGED"/>
+		<field name="TYPE_DRAWN_APPLICATION" since="25"/>
+		<field name="TYPE_INPUT_METHOD" since="3"/>
+		<field name="TYPE_INPUT_METHOD_DIALOG" since="3"/>
+		<field name="TYPE_KEYGUARD" removed="21"/>
+		<field name="TYPE_KEYGUARD_DIALOG"/>
+		<field name="TYPE_PHONE" deprecated="26"/>
+		<field name="TYPE_PRIORITY_PHONE" deprecated="26"/>
+		<field name="TYPE_PRIVATE_PRESENTATION" since="19"/>
+		<field name="TYPE_SEARCH_BAR"/>
+		<field name="TYPE_STATUS_BAR"/>
+		<field name="TYPE_STATUS_BAR_PANEL" deprecated="30" removed="31"/>
+		<field name="TYPE_SYSTEM_ALERT" deprecated="26"/>
+		<field name="TYPE_SYSTEM_DIALOG"/>
+		<field name="TYPE_SYSTEM_ERROR" deprecated="26"/>
+		<field name="TYPE_SYSTEM_OVERLAY" deprecated="26"/>
+		<field name="TYPE_TOAST" deprecated="26"/>
+		<field name="TYPE_WALLPAPER" since="5"/>
+		<field name="alpha"/>
+		<field name="buttonBrightness" since="8"/>
+		<field name="dimAmount"/>
+		<field name="flags"/>
+		<field name="format"/>
+		<field name="gravity"/>
+		<field name="horizontalMargin"/>
+		<field name="horizontalWeight"/>
+		<field name="layoutInDisplayCutoutMode" since="28"/>
+		<field name="memoryType" deprecated="15"/>
+		<field name="packageName"/>
+		<field name="preferMinimalPostProcessing" since="30"/>
+		<field name="preferredDisplayModeId" since="23"/>
+		<field name="preferredRefreshRate" since="21" deprecated="23"/>
+		<field name="rotationAnimation" since="18"/>
+		<field name="screenBrightness" since="3"/>
+		<field name="screenOrientation" since="3"/>
+		<field name="softInputMode" since="3"/>
+		<field name="systemUiVisibility" since="11" deprecated="30"/>
+		<field name="token"/>
+		<field name="type"/>
+		<field name="verticalMargin"/>
+		<field name="verticalWeight"/>
+		<field name="windowAnimations"/>
+		<field name="x"/>
+		<field name="y"/>
+	</class>
+	<class name="android/view/WindowMetrics" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/graphics/Rect;Landroid/view/WindowInsets;)V"/>
+		<method name="getBounds()Landroid/graphics/Rect;"/>
+		<method name="getWindowInsets()Landroid/view/WindowInsets;"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityEvent" since="4">
+		<extends name="android/view/accessibility/AccessibilityRecord" since="14"/>
+		<extends name="java/lang/Object" removed="14"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" since="30"/>
+		<method name="&lt;init>(I)V" since="30"/>
+		<method name="&lt;init>(Landroid/view/accessibility/AccessibilityEvent;)V" since="30"/>
+		<method name="appendRecord(Landroid/view/accessibility/AccessibilityRecord;)V" since="14"/>
+		<method name="eventTypeToString(I)Ljava/lang/String;" since="14"/>
+		<method name="getAction()I" since="16"/>
+		<method name="getAddedCount()I" removed="14"/>
+		<method name="getBeforeText()Ljava/lang/CharSequence;" removed="14"/>
+		<method name="getClassName()Ljava/lang/CharSequence;" removed="14"/>
+		<method name="getContentChangeTypes()I" since="19"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;" removed="14"/>
+		<method name="getCurrentItemIndex()I" removed="14"/>
+		<method name="getEventTime()J"/>
+		<method name="getEventType()I"/>
+		<method name="getFromIndex()I" removed="14"/>
+		<method name="getItemCount()I" removed="14"/>
+		<method name="getMovementGranularity()I" since="16"/>
+		<method name="getPackageName()Ljava/lang/CharSequence;"/>
+		<method name="getParcelableData()Landroid/os/Parcelable;" removed="14"/>
+		<method name="getRecord(I)Landroid/view/accessibility/AccessibilityRecord;" since="14"/>
+		<method name="getRecordCount()I" since="14"/>
+		<method name="getRemovedCount()I" removed="14"/>
+		<method name="getText()Ljava/util/List;" removed="14"/>
+		<method name="getWindowChanges()I" since="28"/>
+		<method name="initFromParcel(Landroid/os/Parcel;)V"/>
+		<method name="isChecked()Z" removed="14"/>
+		<method name="isEnabled()Z" removed="14"/>
+		<method name="isFullScreen()Z" removed="14"/>
+		<method name="isPassword()Z" removed="14"/>
+		<method name="obtain()Landroid/view/accessibility/AccessibilityEvent;"/>
+		<method name="obtain(I)Landroid/view/accessibility/AccessibilityEvent;"/>
+		<method name="obtain(Landroid/view/accessibility/AccessibilityEvent;)Landroid/view/accessibility/AccessibilityEvent;" since="14"/>
+		<method name="recycle()V"/>
+		<method name="setAction(I)V" since="16"/>
+		<method name="setAddedCount(I)V" removed="14"/>
+		<method name="setBeforeText(Ljava/lang/CharSequence;)V" removed="14"/>
+		<method name="setChecked(Z)V" removed="14"/>
+		<method name="setClassName(Ljava/lang/CharSequence;)V" removed="14"/>
+		<method name="setContentChangeTypes(I)V" since="19"/>
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V" removed="14"/>
+		<method name="setCurrentItemIndex(I)V" removed="14"/>
+		<method name="setEnabled(Z)V" removed="14"/>
+		<method name="setEventTime(J)V"/>
+		<method name="setEventType(I)V"/>
+		<method name="setFromIndex(I)V" removed="14"/>
+		<method name="setFullScreen(Z)V" removed="14"/>
+		<method name="setItemCount(I)V" removed="14"/>
+		<method name="setMovementGranularity(I)V" since="16"/>
+		<method name="setPackageName(Ljava/lang/CharSequence;)V"/>
+		<method name="setParcelableData(Landroid/os/Parcelable;)V" removed="14"/>
+		<method name="setPassword(Z)V" removed="14"/>
+		<method name="setRemovedCount(I)V" removed="14"/>
+		<field name="CONTENT_CHANGE_TYPE_CONTENT_DESCRIPTION" since="19"/>
+		<field name="CONTENT_CHANGE_TYPE_DRAG_CANCELLED" since="33"/>
+		<field name="CONTENT_CHANGE_TYPE_DRAG_DROPPED" since="33"/>
+		<field name="CONTENT_CHANGE_TYPE_DRAG_STARTED" since="33"/>
+		<field name="CONTENT_CHANGE_TYPE_PANE_APPEARED" since="28"/>
+		<field name="CONTENT_CHANGE_TYPE_PANE_DISAPPEARED" since="28"/>
+		<field name="CONTENT_CHANGE_TYPE_PANE_TITLE" since="28"/>
+		<field name="CONTENT_CHANGE_TYPE_STATE_DESCRIPTION" since="30"/>
+		<field name="CONTENT_CHANGE_TYPE_SUBTREE" since="19"/>
+		<field name="CONTENT_CHANGE_TYPE_TEXT" since="19"/>
+		<field name="CONTENT_CHANGE_TYPE_UNDEFINED" since="19"/>
+		<field name="CREATOR"/>
+		<field name="INVALID_POSITION"/>
+		<field name="MAX_TEXT_LENGTH" deprecated="15"/>
+		<field name="TYPES_ALL_MASK"/>
+		<field name="TYPE_ANNOUNCEMENT" since="16"/>
+		<field name="TYPE_ASSIST_READING_CONTEXT" since="23"/>
+		<field name="TYPE_GESTURE_DETECTION_END" since="17"/>
+		<field name="TYPE_GESTURE_DETECTION_START" since="17"/>
+		<field name="TYPE_NOTIFICATION_STATE_CHANGED"/>
+		<field name="TYPE_TOUCH_EXPLORATION_GESTURE_END" since="14"/>
+		<field name="TYPE_TOUCH_EXPLORATION_GESTURE_START" since="14"/>
+		<field name="TYPE_TOUCH_INTERACTION_END" since="17"/>
+		<field name="TYPE_TOUCH_INTERACTION_START" since="17"/>
+		<field name="TYPE_VIEW_ACCESSIBILITY_FOCUSED" since="16"/>
+		<field name="TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED" since="16"/>
+		<field name="TYPE_VIEW_CLICKED"/>
+		<field name="TYPE_VIEW_CONTEXT_CLICKED" since="23"/>
+		<field name="TYPE_VIEW_FOCUSED"/>
+		<field name="TYPE_VIEW_HOVER_ENTER" since="14"/>
+		<field name="TYPE_VIEW_HOVER_EXIT" since="14"/>
+		<field name="TYPE_VIEW_LONG_CLICKED"/>
+		<field name="TYPE_VIEW_SCROLLED" since="14"/>
+		<field name="TYPE_VIEW_SELECTED"/>
+		<field name="TYPE_VIEW_TEXT_CHANGED"/>
+		<field name="TYPE_VIEW_TEXT_SELECTION_CHANGED" since="14"/>
+		<field name="TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY" since="16"/>
+		<field name="TYPE_WINDOWS_CHANGED" since="21"/>
+		<field name="TYPE_WINDOW_CONTENT_CHANGED" since="14"/>
+		<field name="TYPE_WINDOW_STATE_CHANGED"/>
+		<field name="WINDOWS_CHANGE_ACCESSIBILITY_FOCUSED" since="28"/>
+		<field name="WINDOWS_CHANGE_ACTIVE" since="28"/>
+		<field name="WINDOWS_CHANGE_ADDED" since="28"/>
+		<field name="WINDOWS_CHANGE_BOUNDS" since="28"/>
+		<field name="WINDOWS_CHANGE_CHILDREN" since="28"/>
+		<field name="WINDOWS_CHANGE_FOCUSED" since="28"/>
+		<field name="WINDOWS_CHANGE_LAYER" since="28"/>
+		<field name="WINDOWS_CHANGE_PARENT" since="28"/>
+		<field name="WINDOWS_CHANGE_PIP" since="28"/>
+		<field name="WINDOWS_CHANGE_REMOVED" since="28"/>
+		<field name="WINDOWS_CHANGE_TITLE" since="28"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityEventSource" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="sendAccessibilityEvent(I)V"/>
+		<method name="sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityManager" since="4">
+		<extends name="java/lang/Object"/>
+		<method name="addAccessibilityRequestPreparer(Landroid/view/accessibility/AccessibilityRequestPreparer;)V" since="27"/>
+		<method name="addAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z" since="14"/>
+		<method name="addAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;Landroid/os/Handler;)V" since="26"/>
+		<method name="addTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;)Z" since="19"/>
+		<method name="addTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;Landroid/os/Handler;)V" since="26"/>
+		<method name="getAccessibilityFocusColor()I" since="31"/>
+		<method name="getAccessibilityFocusStrokeWidth()I" since="31"/>
+		<method name="getAccessibilityServiceList()Ljava/util/List;" deprecated="15"/>
+		<method name="getEnabledAccessibilityServiceList(I)Ljava/util/List;" since="14"/>
+		<method name="getInstalledAccessibilityServiceList()Ljava/util/List;" since="14"/>
+		<method name="getRecommendedTimeoutMillis(II)I" since="29"/>
+		<method name="interrupt()V"/>
+		<method name="isAccessibilityButtonSupported()Z" since="27"/>
+		<method name="isEnabled()Z"/>
+		<method name="isTouchExplorationEnabled()Z" since="14"/>
+		<method name="removeAccessibilityRequestPreparer(Landroid/view/accessibility/AccessibilityRequestPreparer;)V" since="27"/>
+		<method name="removeAccessibilityStateChangeListener(Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;)Z" since="14"/>
+		<method name="removeTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;)Z" since="19"/>
+		<method name="sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V"/>
+		<field name="FLAG_CONTENT_CONTROLS" since="29"/>
+		<field name="FLAG_CONTENT_ICONS" since="29"/>
+		<field name="FLAG_CONTENT_TEXT" since="29"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onAccessibilityStateChanged(Z)V"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="onTouchExplorationStateChanged(Z)V"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" since="30"/>
+		<method name="&lt;init>(Landroid/view/View;)V" since="30"/>
+		<method name="&lt;init>(Landroid/view/View;I)V" since="30"/>
+		<method name="&lt;init>(Landroid/view/accessibility/AccessibilityNodeInfo;)V" since="30"/>
+		<method name="addAction(I)V" deprecated="21"/>
+		<method name="addAction(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V" since="21"/>
+		<method name="addChild(Landroid/view/View;)V"/>
+		<method name="addChild(Landroid/view/View;I)V" since="16"/>
+		<method name="canOpenPopup()Z" since="19"/>
+		<method name="findAccessibilityNodeInfosByText(Ljava/lang/String;)Ljava/util/List;"/>
+		<method name="findAccessibilityNodeInfosByViewId(Ljava/lang/String;)Ljava/util/List;" since="18"/>
+		<method name="findFocus(I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="16"/>
+		<method name="focusSearch(I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="16"/>
+		<method name="getActionList()Ljava/util/List;" since="21"/>
+		<method name="getActions()I" deprecated="21"/>
+		<method name="getAvailableExtraData()Ljava/util/List;" since="26"/>
+		<method name="getBoundsInParent(Landroid/graphics/Rect;)V" deprecated="29"/>
+		<method name="getBoundsInScreen(Landroid/graphics/Rect;)V"/>
+		<method name="getChild(I)Landroid/view/accessibility/AccessibilityNodeInfo;"/>
+		<method name="getChildCount()I"/>
+		<method name="getClassName()Ljava/lang/CharSequence;"/>
+		<method name="getCollectionInfo()Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;" since="19"/>
+		<method name="getCollectionItemInfo()Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;" since="19"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;"/>
+		<method name="getDrawingOrder()I" since="24"/>
+		<method name="getError()Ljava/lang/CharSequence;" since="21"/>
+		<method name="getExtraRenderingInfo()Landroid/view/accessibility/AccessibilityNodeInfo$ExtraRenderingInfo;" since="30"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="19"/>
+		<method name="getHintText()Ljava/lang/CharSequence;" since="26"/>
+		<method name="getInputType()I" since="19"/>
+		<method name="getLabelFor()Landroid/view/accessibility/AccessibilityNodeInfo;" since="17"/>
+		<method name="getLabeledBy()Landroid/view/accessibility/AccessibilityNodeInfo;" since="17"/>
+		<method name="getLiveRegion()I" since="19"/>
+		<method name="getMaxTextLength()I" since="21"/>
+		<method name="getMovementGranularities()I" since="16"/>
+		<method name="getPackageName()Ljava/lang/CharSequence;"/>
+		<method name="getPaneTitle()Ljava/lang/CharSequence;" since="28"/>
+		<method name="getParent()Landroid/view/accessibility/AccessibilityNodeInfo;"/>
+		<method name="getRangeInfo()Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;" since="19"/>
+		<method name="getStateDescription()Ljava/lang/CharSequence;" since="30"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<method name="getTextSelectionEnd()I" since="18"/>
+		<method name="getTextSelectionStart()I" since="18"/>
+		<method name="getTooltipText()Ljava/lang/CharSequence;" since="28"/>
+		<method name="getTouchDelegateInfo()Landroid/view/accessibility/AccessibilityNodeInfo$TouchDelegateInfo;" since="29"/>
+		<method name="getTraversalAfter()Landroid/view/accessibility/AccessibilityNodeInfo;" since="22"/>
+		<method name="getTraversalBefore()Landroid/view/accessibility/AccessibilityNodeInfo;" since="22"/>
+		<method name="getViewIdResourceName()Ljava/lang/String;" since="18"/>
+		<method name="getWindow()Landroid/view/accessibility/AccessibilityWindowInfo;" since="21"/>
+		<method name="getWindowId()I"/>
+		<method name="isAccessibilityFocused()Z" since="16"/>
+		<method name="isCheckable()Z"/>
+		<method name="isChecked()Z"/>
+		<method name="isClickable()Z"/>
+		<method name="isContentInvalid()Z" since="19"/>
+		<method name="isContextClickable()Z" since="23"/>
+		<method name="isDismissable()Z" since="19"/>
+		<method name="isEditable()Z" since="18"/>
+		<method name="isEnabled()Z"/>
+		<method name="isFocusable()Z"/>
+		<method name="isFocused()Z"/>
+		<method name="isHeading()Z" since="28"/>
+		<method name="isImportantForAccessibility()Z" since="24"/>
+		<method name="isLongClickable()Z"/>
+		<method name="isMultiLine()Z" since="19"/>
+		<method name="isPassword()Z"/>
+		<method name="isScreenReaderFocusable()Z" since="28"/>
+		<method name="isScrollable()Z"/>
+		<method name="isSelected()Z"/>
+		<method name="isShowingHintText()Z" since="26"/>
+		<method name="isTextEntryKey()Z" since="29"/>
+		<method name="isVisibleToUser()Z" since="16"/>
+		<method name="obtain()Landroid/view/accessibility/AccessibilityNodeInfo;"/>
+		<method name="obtain(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeInfo;"/>
+		<method name="obtain(Landroid/view/View;I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="16"/>
+		<method name="obtain(Landroid/view/accessibility/AccessibilityNodeInfo;)Landroid/view/accessibility/AccessibilityNodeInfo;"/>
+		<method name="performAction(I)Z"/>
+		<method name="performAction(ILandroid/os/Bundle;)Z" since="16"/>
+		<method name="recycle()V"/>
+		<method name="refresh()Z" since="18"/>
+		<method name="refreshWithExtraData(Ljava/lang/String;Landroid/os/Bundle;)Z" since="26"/>
+		<method name="removeAction(I)V" since="21" deprecated="21"/>
+		<method name="removeAction(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)Z" since="21"/>
+		<method name="removeChild(Landroid/view/View;)Z" since="21"/>
+		<method name="removeChild(Landroid/view/View;I)Z" since="21"/>
+		<method name="setAccessibilityFocused(Z)V" since="16"/>
+		<method name="setAvailableExtraData(Ljava/util/List;)V" since="26"/>
+		<method name="setBoundsInParent(Landroid/graphics/Rect;)V" deprecated="29"/>
+		<method name="setBoundsInScreen(Landroid/graphics/Rect;)V"/>
+		<method name="setCanOpenPopup(Z)V" since="19"/>
+		<method name="setCheckable(Z)V"/>
+		<method name="setChecked(Z)V"/>
+		<method name="setClassName(Ljava/lang/CharSequence;)V"/>
+		<method name="setClickable(Z)V"/>
+		<method name="setCollectionInfo(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;)V" since="19"/>
+		<method name="setCollectionItemInfo(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;)V" since="19"/>
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V"/>
+		<method name="setContentInvalid(Z)V" since="19"/>
+		<method name="setContextClickable(Z)V" since="23"/>
+		<method name="setDismissable(Z)V" since="19"/>
+		<method name="setDrawingOrder(I)V" since="24"/>
+		<method name="setEditable(Z)V" since="18"/>
+		<method name="setEnabled(Z)V"/>
+		<method name="setError(Ljava/lang/CharSequence;)V" since="21"/>
+		<method name="setFocusable(Z)V"/>
+		<method name="setFocused(Z)V"/>
+		<method name="setHeading(Z)V" since="28"/>
+		<method name="setHintText(Ljava/lang/CharSequence;)V" since="26"/>
+		<method name="setImportantForAccessibility(Z)V" since="24"/>
+		<method name="setInputType(I)V" since="19"/>
+		<method name="setLabelFor(Landroid/view/View;)V" since="17"/>
+		<method name="setLabelFor(Landroid/view/View;I)V" since="17"/>
+		<method name="setLabeledBy(Landroid/view/View;)V" since="17"/>
+		<method name="setLabeledBy(Landroid/view/View;I)V" since="17"/>
+		<method name="setLiveRegion(I)V" since="19"/>
+		<method name="setLongClickable(Z)V"/>
+		<method name="setMaxTextLength(I)V" since="21"/>
+		<method name="setMovementGranularities(I)V" since="16"/>
+		<method name="setMultiLine(Z)V" since="19"/>
+		<method name="setPackageName(Ljava/lang/CharSequence;)V"/>
+		<method name="setPaneTitle(Ljava/lang/CharSequence;)V" since="28"/>
+		<method name="setParent(Landroid/view/View;)V"/>
+		<method name="setParent(Landroid/view/View;I)V" since="16"/>
+		<method name="setPassword(Z)V"/>
+		<method name="setRangeInfo(Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;)V" since="19"/>
+		<method name="setScreenReaderFocusable(Z)V" since="28"/>
+		<method name="setScrollable(Z)V"/>
+		<method name="setSelected(Z)V"/>
+		<method name="setShowingHintText(Z)V" since="26"/>
+		<method name="setSource(Landroid/view/View;)V"/>
+		<method name="setSource(Landroid/view/View;I)V" since="16"/>
+		<method name="setStateDescription(Ljava/lang/CharSequence;)V" since="30"/>
+		<method name="setText(Ljava/lang/CharSequence;)V"/>
+		<method name="setTextEntryKey(Z)V" since="29"/>
+		<method name="setTextSelection(II)V" since="18"/>
+		<method name="setTooltipText(Ljava/lang/CharSequence;)V" since="28"/>
+		<method name="setTouchDelegateInfo(Landroid/view/accessibility/AccessibilityNodeInfo$TouchDelegateInfo;)V" since="29"/>
+		<method name="setTraversalAfter(Landroid/view/View;)V" since="22"/>
+		<method name="setTraversalAfter(Landroid/view/View;I)V" since="22"/>
+		<method name="setTraversalBefore(Landroid/view/View;)V" since="22"/>
+		<method name="setTraversalBefore(Landroid/view/View;I)V" since="22"/>
+		<method name="setViewIdResourceName(Ljava/lang/String;)V" since="18"/>
+		<method name="setVisibleToUser(Z)V" since="16"/>
+		<field name="ACTION_ACCESSIBILITY_FOCUS" since="16"/>
+		<field name="ACTION_ARGUMENT_COLUMN_INT" since="23"/>
+		<field name="ACTION_ARGUMENT_EXTEND_SELECTION_BOOLEAN" since="18"/>
+		<field name="ACTION_ARGUMENT_HTML_ELEMENT_STRING" since="16"/>
+		<field name="ACTION_ARGUMENT_MOVEMENT_GRANULARITY_INT" since="16"/>
+		<field name="ACTION_ARGUMENT_MOVE_WINDOW_X" since="26"/>
+		<field name="ACTION_ARGUMENT_MOVE_WINDOW_Y" since="26"/>
+		<field name="ACTION_ARGUMENT_PRESS_AND_HOLD_DURATION_MILLIS_INT" since="30"/>
+		<field name="ACTION_ARGUMENT_PROGRESS_VALUE" since="24"/>
+		<field name="ACTION_ARGUMENT_ROW_INT" since="23"/>
+		<field name="ACTION_ARGUMENT_SELECTION_END_INT" since="18"/>
+		<field name="ACTION_ARGUMENT_SELECTION_START_INT" since="18"/>
+		<field name="ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE" since="21"/>
+		<field name="ACTION_CLEAR_ACCESSIBILITY_FOCUS" since="16"/>
+		<field name="ACTION_CLEAR_FOCUS"/>
+		<field name="ACTION_CLEAR_SELECTION"/>
+		<field name="ACTION_CLICK" since="16"/>
+		<field name="ACTION_COLLAPSE" since="19"/>
+		<field name="ACTION_COPY" since="18"/>
+		<field name="ACTION_CUT" since="18"/>
+		<field name="ACTION_DISMISS" since="19"/>
+		<field name="ACTION_EXPAND" since="19"/>
+		<field name="ACTION_FOCUS"/>
+		<field name="ACTION_LONG_CLICK" since="16"/>
+		<field name="ACTION_NEXT_AT_MOVEMENT_GRANULARITY" since="16"/>
+		<field name="ACTION_NEXT_HTML_ELEMENT" since="16"/>
+		<field name="ACTION_PASTE" since="18"/>
+		<field name="ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY" since="16"/>
+		<field name="ACTION_PREVIOUS_HTML_ELEMENT" since="16"/>
+		<field name="ACTION_SCROLL_BACKWARD" since="16"/>
+		<field name="ACTION_SCROLL_FORWARD" since="16"/>
+		<field name="ACTION_SELECT"/>
+		<field name="ACTION_SET_SELECTION" since="18"/>
+		<field name="ACTION_SET_TEXT" since="21"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_DATA_RENDERING_INFO_KEY" since="30"/>
+		<field name="EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH" since="26"/>
+		<field name="EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_MAX_LENGTH" since="31"/>
+		<field name="EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX" since="26"/>
+		<field name="EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY" since="26"/>
+		<field name="FOCUS_ACCESSIBILITY" since="16"/>
+		<field name="FOCUS_INPUT" since="16"/>
+		<field name="MOVEMENT_GRANULARITY_CHARACTER" since="16"/>
+		<field name="MOVEMENT_GRANULARITY_LINE" since="16"/>
+		<field name="MOVEMENT_GRANULARITY_PAGE" since="16"/>
+		<field name="MOVEMENT_GRANULARITY_PARAGRAPH" since="16"/>
+		<field name="MOVEMENT_GRANULARITY_WORD" since="16"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$AccessibilityAction" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="30"/>
+		<method name="&lt;init>(ILjava/lang/CharSequence;)V"/>
+		<method name="getId()I"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<field name="ACTION_ACCESSIBILITY_FOCUS"/>
+		<field name="ACTION_CLEAR_ACCESSIBILITY_FOCUS"/>
+		<field name="ACTION_CLEAR_FOCUS"/>
+		<field name="ACTION_CLEAR_SELECTION"/>
+		<field name="ACTION_CLICK"/>
+		<field name="ACTION_COLLAPSE"/>
+		<field name="ACTION_CONTEXT_CLICK" since="23"/>
+		<field name="ACTION_COPY"/>
+		<field name="ACTION_CUT"/>
+		<field name="ACTION_DISMISS"/>
+		<field name="ACTION_DRAG_CANCEL" since="33"/>
+		<field name="ACTION_DRAG_DROP" since="33"/>
+		<field name="ACTION_DRAG_START" since="33"/>
+		<field name="ACTION_EXPAND"/>
+		<field name="ACTION_FOCUS"/>
+		<field name="ACTION_HIDE_TOOLTIP" since="28"/>
+		<field name="ACTION_IME_ENTER" since="30"/>
+		<field name="ACTION_LONG_CLICK"/>
+		<field name="ACTION_MOVE_WINDOW" since="26"/>
+		<field name="ACTION_NEXT_AT_MOVEMENT_GRANULARITY"/>
+		<field name="ACTION_NEXT_HTML_ELEMENT"/>
+		<field name="ACTION_PAGE_DOWN" since="29"/>
+		<field name="ACTION_PAGE_LEFT" since="29"/>
+		<field name="ACTION_PAGE_RIGHT" since="29"/>
+		<field name="ACTION_PAGE_UP" since="29"/>
+		<field name="ACTION_PASTE"/>
+		<field name="ACTION_PRESS_AND_HOLD" since="30"/>
+		<field name="ACTION_PREVIOUS_AT_MOVEMENT_GRANULARITY"/>
+		<field name="ACTION_PREVIOUS_HTML_ELEMENT"/>
+		<field name="ACTION_SCROLL_BACKWARD"/>
+		<field name="ACTION_SCROLL_DOWN" since="23"/>
+		<field name="ACTION_SCROLL_FORWARD"/>
+		<field name="ACTION_SCROLL_LEFT" since="23"/>
+		<field name="ACTION_SCROLL_RIGHT" since="23"/>
+		<field name="ACTION_SCROLL_TO_POSITION" since="23"/>
+		<field name="ACTION_SCROLL_UP" since="23"/>
+		<field name="ACTION_SELECT"/>
+		<field name="ACTION_SET_PROGRESS" since="24"/>
+		<field name="ACTION_SET_SELECTION"/>
+		<field name="ACTION_SET_TEXT"/>
+		<field name="ACTION_SHOW_ON_SCREEN" since="23"/>
+		<field name="ACTION_SHOW_TOOLTIP" since="28"/>
+		<field name="CREATOR" since="30"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$CollectionInfo" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IIZ)V" since="30"/>
+		<method name="&lt;init>(IIZI)V" since="30"/>
+		<method name="getColumnCount()I"/>
+		<method name="getRowCount()I"/>
+		<method name="getSelectionMode()I" since="21"/>
+		<method name="isHierarchical()Z"/>
+		<method name="obtain(IIZ)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;"/>
+		<method name="obtain(IIZI)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;" since="21"/>
+		<field name="SELECTION_MODE_MULTIPLE" since="21"/>
+		<field name="SELECTION_MODE_NONE" since="21"/>
+		<field name="SELECTION_MODE_SINGLE" since="21"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IIIIZ)V" since="30"/>
+		<method name="&lt;init>(IIIIZZ)V" since="30"/>
+		<method name="getColumnIndex()I"/>
+		<method name="getColumnSpan()I"/>
+		<method name="getRowIndex()I"/>
+		<method name="getRowSpan()I"/>
+		<method name="isHeading()Z" deprecated="28"/>
+		<method name="isSelected()Z" since="21"/>
+		<method name="obtain(IIIIZ)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;"/>
+		<method name="obtain(IIIIZZ)Landroid/view/accessibility/AccessibilityNodeInfo$CollectionItemInfo;" since="21"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$ExtraRenderingInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="getLayoutSize()Landroid/util/Size;"/>
+		<method name="getTextSizeInPx()F"/>
+		<method name="getTextSizeUnit()I"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$RangeInfo" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(IFFF)V" since="30"/>
+		<method name="getCurrent()F"/>
+		<method name="getMax()F"/>
+		<method name="getMin()F"/>
+		<method name="getType()I"/>
+		<method name="obtain(IFFF)Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;"/>
+		<field name="RANGE_TYPE_FLOAT"/>
+		<field name="RANGE_TYPE_INT"/>
+		<field name="RANGE_TYPE_PERCENT"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeInfo$TouchDelegateInfo" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+		<method name="getRegionAt(I)Landroid/graphics/Region;"/>
+		<method name="getRegionCount()I"/>
+		<method name="getTargetForRegion(Landroid/graphics/Region;)Landroid/view/accessibility/AccessibilityNodeInfo;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityNodeProvider" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addExtraDataToAccessibilityNodeInfo(ILandroid/view/accessibility/AccessibilityNodeInfo;Ljava/lang/String;Landroid/os/Bundle;)V" since="26"/>
+		<method name="createAccessibilityNodeInfo(I)Landroid/view/accessibility/AccessibilityNodeInfo;"/>
+		<method name="findAccessibilityNodeInfosByText(Ljava/lang/String;I)Ljava/util/List;"/>
+		<method name="findFocus(I)Landroid/view/accessibility/AccessibilityNodeInfo;" since="19"/>
+		<method name="performAction(IILandroid/os/Bundle;)Z"/>
+		<field name="HOST_VIEW_ID" since="21"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityRecord" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" since="30"/>
+		<method name="&lt;init>(Landroid/view/accessibility/AccessibilityRecord;)V" since="30"/>
+		<method name="getAddedCount()I"/>
+		<method name="getBeforeText()Ljava/lang/CharSequence;"/>
+		<method name="getClassName()Ljava/lang/CharSequence;"/>
+		<method name="getContentDescription()Ljava/lang/CharSequence;"/>
+		<method name="getCurrentItemIndex()I"/>
+		<method name="getFromIndex()I"/>
+		<method name="getItemCount()I"/>
+		<method name="getMaxScrollX()I" since="15"/>
+		<method name="getMaxScrollY()I" since="15"/>
+		<method name="getParcelableData()Landroid/os/Parcelable;"/>
+		<method name="getRemovedCount()I"/>
+		<method name="getScrollDeltaX()I" since="28"/>
+		<method name="getScrollDeltaY()I" since="28"/>
+		<method name="getScrollX()I"/>
+		<method name="getScrollY()I"/>
+		<method name="getSource()Landroid/view/accessibility/AccessibilityNodeInfo;"/>
+		<method name="getText()Ljava/util/List;"/>
+		<method name="getToIndex()I"/>
+		<method name="getWindowId()I"/>
+		<method name="isChecked()Z"/>
+		<method name="isEnabled()Z"/>
+		<method name="isFullScreen()Z"/>
+		<method name="isPassword()Z"/>
+		<method name="isScrollable()Z"/>
+		<method name="obtain()Landroid/view/accessibility/AccessibilityRecord;"/>
+		<method name="obtain(Landroid/view/accessibility/AccessibilityRecord;)Landroid/view/accessibility/AccessibilityRecord;"/>
+		<method name="recycle()V"/>
+		<method name="setAddedCount(I)V"/>
+		<method name="setBeforeText(Ljava/lang/CharSequence;)V"/>
+		<method name="setChecked(Z)V"/>
+		<method name="setClassName(Ljava/lang/CharSequence;)V"/>
+		<method name="setContentDescription(Ljava/lang/CharSequence;)V"/>
+		<method name="setCurrentItemIndex(I)V"/>
+		<method name="setEnabled(Z)V"/>
+		<method name="setFromIndex(I)V"/>
+		<method name="setFullScreen(Z)V"/>
+		<method name="setItemCount(I)V"/>
+		<method name="setMaxScrollX(I)V" since="15"/>
+		<method name="setMaxScrollY(I)V" since="15"/>
+		<method name="setParcelableData(Landroid/os/Parcelable;)V"/>
+		<method name="setPassword(Z)V"/>
+		<method name="setRemovedCount(I)V"/>
+		<method name="setScrollDeltaX(I)V" since="28"/>
+		<method name="setScrollDeltaY(I)V" since="28"/>
+		<method name="setScrollX(I)V"/>
+		<method name="setScrollY(I)V"/>
+		<method name="setScrollable(Z)V"/>
+		<method name="setSource(Landroid/view/View;)V"/>
+		<method name="setSource(Landroid/view/View;I)V" since="16"/>
+		<method name="setToIndex(I)V"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityRequestPreparer" since="27">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/View;I)V"/>
+		<method name="getView()Landroid/view/View;"/>
+		<method name="onPrepareExtraData(ILjava/lang/String;Landroid/os/Bundle;Landroid/os/Message;)V"/>
+		<field name="REQUEST_TYPE_EXTRA_DATA"/>
+	</class>
+	<class name="android/view/accessibility/AccessibilityWindowInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V" since="30"/>
+		<method name="&lt;init>(Landroid/view/accessibility/AccessibilityWindowInfo;)V" since="30"/>
+		<method name="getAnchor()Landroid/view/accessibility/AccessibilityNodeInfo;" since="24"/>
+		<method name="getBoundsInScreen(Landroid/graphics/Rect;)V"/>
+		<method name="getChild(I)Landroid/view/accessibility/AccessibilityWindowInfo;"/>
+		<method name="getChildCount()I"/>
+		<method name="getDisplayId()I" since="30"/>
+		<method name="getId()I"/>
+		<method name="getLayer()I"/>
+		<method name="getParent()Landroid/view/accessibility/AccessibilityWindowInfo;"/>
+		<method name="getRegionInScreen(Landroid/graphics/Region;)V" since="30"/>
+		<method name="getRoot()Landroid/view/accessibility/AccessibilityNodeInfo;"/>
+		<method name="getTitle()Ljava/lang/CharSequence;" since="24"/>
+		<method name="getType()I"/>
+		<method name="isAccessibilityFocused()Z"/>
+		<method name="isActive()Z"/>
+		<method name="isFocused()Z"/>
+		<method name="isInPictureInPictureMode()Z" since="26"/>
+		<method name="obtain()Landroid/view/accessibility/AccessibilityWindowInfo;"/>
+		<method name="obtain(Landroid/view/accessibility/AccessibilityWindowInfo;)Landroid/view/accessibility/AccessibilityWindowInfo;"/>
+		<method name="recycle()V"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_ACCESSIBILITY_OVERLAY" since="22"/>
+		<field name="TYPE_APPLICATION"/>
+		<field name="TYPE_INPUT_METHOD"/>
+		<field name="TYPE_SPLIT_SCREEN_DIVIDER" since="24"/>
+		<field name="TYPE_SYSTEM"/>
+	</class>
+	<class name="android/view/accessibility/CaptioningManager" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="addCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V"/>
+		<method name="getFontScale()F"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getUserStyle()Landroid/view/accessibility/CaptioningManager$CaptionStyle;"/>
+		<method name="isEnabled()Z"/>
+		<method name="removeCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V"/>
+	</class>
+	<class name="android/view/accessibility/CaptioningManager$CaptionStyle" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="getTypeface()Landroid/graphics/Typeface;"/>
+		<method name="hasBackgroundColor()Z" since="21"/>
+		<method name="hasEdgeColor()Z" since="21"/>
+		<method name="hasEdgeType()Z" since="21"/>
+		<method name="hasForegroundColor()Z" since="21"/>
+		<method name="hasWindowColor()Z" since="21"/>
+		<field name="EDGE_TYPE_DEPRESSED" since="21"/>
+		<field name="EDGE_TYPE_DROP_SHADOW"/>
+		<field name="EDGE_TYPE_NONE"/>
+		<field name="EDGE_TYPE_OUTLINE"/>
+		<field name="EDGE_TYPE_RAISED" since="21"/>
+		<field name="EDGE_TYPE_UNSPECIFIED" since="21"/>
+		<field name="backgroundColor"/>
+		<field name="edgeColor"/>
+		<field name="edgeType"/>
+		<field name="foregroundColor"/>
+		<field name="windowColor" since="21"/>
+	</class>
+	<class name="android/view/accessibility/CaptioningManager$CaptioningChangeListener" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onEnabledChanged(Z)V"/>
+		<method name="onFontScaleChanged(F)V"/>
+		<method name="onLocaleChanged(Ljava/util/Locale;)V"/>
+		<method name="onUserStyleChanged(Landroid/view/accessibility/CaptioningManager$CaptionStyle;)V"/>
+	</class>
+	<class name="android/view/animation/AccelerateDecelerateInterpolator" since="1">
+		<extends name="android/view/animation/BaseInterpolator" since="22"/>
+		<extends name="java/lang/Object" removed="22"/>
+		<implements name="android/view/animation/Interpolator" removed="22"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/AccelerateInterpolator" since="1">
+		<extends name="android/view/animation/BaseInterpolator" since="22"/>
+		<extends name="java/lang/Object" removed="22"/>
+		<implements name="android/view/animation/Interpolator" removed="22"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/AlphaAnimation" since="1">
+		<extends name="android/view/animation/Animation"/>
+		<method name="&lt;init>(FF)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/Animation" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable" since="3"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="applyTransformation(FLandroid/view/animation/Transformation;)V"/>
+		<method name="cancel()V" since="8"/>
+		<method name="clone()Landroid/view/animation/Animation;" since="3"/>
+		<method name="computeDurationHint()J" since="3"/>
+		<method name="ensureInterpolator()V"/>
+		<method name="getBackgroundColor()I" since="12" deprecated="30"/>
+		<method name="getDetachWallpaper()Z" since="5" deprecated="29"/>
+		<method name="getDuration()J"/>
+		<method name="getFillAfter()Z"/>
+		<method name="getFillBefore()Z"/>
+		<method name="getInterpolator()Landroid/view/animation/Interpolator;"/>
+		<method name="getRepeatCount()I"/>
+		<method name="getRepeatMode()I"/>
+		<method name="getScaleFactor()F" since="11"/>
+		<method name="getStartOffset()J"/>
+		<method name="getStartTime()J"/>
+		<method name="getTransformation(JLandroid/view/animation/Transformation;)Z"/>
+		<method name="getTransformation(JLandroid/view/animation/Transformation;F)Z" since="11"/>
+		<method name="getZAdjustment()I"/>
+		<method name="hasEnded()Z"/>
+		<method name="hasStarted()Z"/>
+		<method name="initialize(IIII)V"/>
+		<method name="isFillEnabled()Z" since="3"/>
+		<method name="isInitialized()Z"/>
+		<method name="reset()V"/>
+		<method name="resolveSize(IFII)F"/>
+		<method name="restrictDuration(J)V"/>
+		<method name="scaleCurrentDuration(F)V"/>
+		<method name="setAnimationListener(Landroid/view/animation/Animation$AnimationListener;)V"/>
+		<method name="setBackgroundColor(I)V" since="12" deprecated="30"/>
+		<method name="setDetachWallpaper(Z)V" since="5" deprecated="29"/>
+		<method name="setDuration(J)V"/>
+		<method name="setFillAfter(Z)V"/>
+		<method name="setFillBefore(Z)V"/>
+		<method name="setFillEnabled(Z)V" since="3"/>
+		<method name="setInterpolator(Landroid/content/Context;I)V"/>
+		<method name="setInterpolator(Landroid/view/animation/Interpolator;)V"/>
+		<method name="setRepeatCount(I)V"/>
+		<method name="setRepeatMode(I)V"/>
+		<method name="setStartOffset(J)V"/>
+		<method name="setStartTime(J)V"/>
+		<method name="setZAdjustment(I)V"/>
+		<method name="start()V"/>
+		<method name="startNow()V"/>
+		<method name="willChangeBounds()Z"/>
+		<method name="willChangeTransformationMatrix()Z"/>
+		<field name="ABSOLUTE"/>
+		<field name="INFINITE"/>
+		<field name="RELATIVE_TO_PARENT"/>
+		<field name="RELATIVE_TO_SELF"/>
+		<field name="RESTART"/>
+		<field name="REVERSE"/>
+		<field name="START_ON_FIRST_FRAME"/>
+		<field name="ZORDER_BOTTOM"/>
+		<field name="ZORDER_NORMAL"/>
+		<field name="ZORDER_TOP"/>
+	</class>
+	<class name="android/view/animation/Animation$AnimationListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onAnimationEnd(Landroid/view/animation/Animation;)V"/>
+		<method name="onAnimationRepeat(Landroid/view/animation/Animation;)V"/>
+		<method name="onAnimationStart(Landroid/view/animation/Animation;)V"/>
+	</class>
+	<class name="android/view/animation/Animation$Description" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="type"/>
+		<field name="value"/>
+	</class>
+	<class name="android/view/animation/AnimationSet" since="1">
+		<extends name="android/view/animation/Animation"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Z)V"/>
+		<method name="addAnimation(Landroid/view/animation/Animation;)V"/>
+		<method name="clone()Landroid/view/animation/AnimationSet;" since="3"/>
+		<method name="getAnimations()Ljava/util/List;"/>
+	</class>
+	<class name="android/view/animation/AnimationUtils" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="currentAnimationTimeMillis()J"/>
+		<method name="loadAnimation(Landroid/content/Context;I)Landroid/view/animation/Animation;"/>
+		<method name="loadInterpolator(Landroid/content/Context;I)Landroid/view/animation/Interpolator;"/>
+		<method name="loadLayoutAnimation(Landroid/content/Context;I)Landroid/view/animation/LayoutAnimationController;"/>
+		<method name="makeInAnimation(Landroid/content/Context;Z)Landroid/view/animation/Animation;"/>
+		<method name="makeInChildBottomAnimation(Landroid/content/Context;)Landroid/view/animation/Animation;"/>
+		<method name="makeOutAnimation(Landroid/content/Context;Z)Landroid/view/animation/Animation;"/>
+	</class>
+	<class name="android/view/animation/AnticipateInterpolator" since="4">
+		<extends name="android/view/animation/BaseInterpolator" since="22"/>
+		<extends name="java/lang/Object" removed="22"/>
+		<implements name="android/view/animation/Interpolator" removed="22"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/AnticipateOvershootInterpolator" since="4">
+		<extends name="android/view/animation/BaseInterpolator" since="22"/>
+		<extends name="java/lang/Object" removed="22"/>
+		<implements name="android/view/animation/Interpolator" removed="22"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(FF)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/BaseInterpolator" since="22">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/animation/Interpolator"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/view/animation/BounceInterpolator" since="4">
+		<extends name="android/view/animation/BaseInterpolator" since="22"/>
+		<extends name="java/lang/Object" removed="22"/>
+		<implements name="android/view/animation/Interpolator" removed="22"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/CycleInterpolator" since="1">
+		<extends name="android/view/animation/BaseInterpolator" since="22"/>
+		<extends name="java/lang/Object" removed="22"/>
+		<implements name="android/view/animation/Interpolator" removed="22"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/DecelerateInterpolator" since="1">
+		<extends name="android/view/animation/BaseInterpolator" since="22"/>
+		<extends name="java/lang/Object" removed="22"/>
+		<implements name="android/view/animation/Interpolator" removed="22"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/GridLayoutAnimationController" since="1">
+		<extends name="android/view/animation/LayoutAnimationController"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/animation/Animation;)V"/>
+		<method name="&lt;init>(Landroid/view/animation/Animation;FF)V"/>
+		<method name="getColumnDelay()F"/>
+		<method name="getDirection()I"/>
+		<method name="getDirectionPriority()I"/>
+		<method name="getRowDelay()F"/>
+		<method name="setColumnDelay(F)V"/>
+		<method name="setDirection(I)V"/>
+		<method name="setDirectionPriority(I)V"/>
+		<method name="setRowDelay(F)V"/>
+		<field name="DIRECTION_BOTTOM_TO_TOP"/>
+		<field name="DIRECTION_HORIZONTAL_MASK"/>
+		<field name="DIRECTION_LEFT_TO_RIGHT"/>
+		<field name="DIRECTION_RIGHT_TO_LEFT"/>
+		<field name="DIRECTION_TOP_TO_BOTTOM"/>
+		<field name="DIRECTION_VERTICAL_MASK"/>
+		<field name="PRIORITY_COLUMN"/>
+		<field name="PRIORITY_NONE"/>
+		<field name="PRIORITY_ROW"/>
+	</class>
+	<class name="android/view/animation/GridLayoutAnimationController$AnimationParameters" since="1">
+		<extends name="android/view/animation/LayoutAnimationController$AnimationParameters"/>
+		<method name="&lt;init>()V"/>
+		<field name="column"/>
+		<field name="columnsCount"/>
+		<field name="row"/>
+		<field name="rowsCount"/>
+	</class>
+	<class name="android/view/animation/Interpolator" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/animation/TimeInterpolator" since="11"/>
+		<method name="getInterpolation(F)F" removed="11"/>
+	</class>
+	<class name="android/view/animation/LayoutAnimationController" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/animation/Animation;)V"/>
+		<method name="&lt;init>(Landroid/view/animation/Animation;F)V"/>
+		<method name="getAnimation()Landroid/view/animation/Animation;"/>
+		<method name="getAnimationForView(Landroid/view/View;)Landroid/view/animation/Animation;"/>
+		<method name="getDelay()F"/>
+		<method name="getDelayForView(Landroid/view/View;)J"/>
+		<method name="getInterpolator()Landroid/view/animation/Interpolator;"/>
+		<method name="getOrder()I"/>
+		<method name="getTransformedIndex(Landroid/view/animation/LayoutAnimationController$AnimationParameters;)I"/>
+		<method name="isDone()Z"/>
+		<method name="setAnimation(Landroid/content/Context;I)V"/>
+		<method name="setAnimation(Landroid/view/animation/Animation;)V"/>
+		<method name="setDelay(F)V"/>
+		<method name="setInterpolator(Landroid/content/Context;I)V"/>
+		<method name="setInterpolator(Landroid/view/animation/Interpolator;)V"/>
+		<method name="setOrder(I)V"/>
+		<method name="start()V"/>
+		<method name="willOverlap()Z"/>
+		<field name="ORDER_NORMAL"/>
+		<field name="ORDER_RANDOM"/>
+		<field name="ORDER_REVERSE"/>
+		<field name="mAnimation"/>
+		<field name="mInterpolator"/>
+		<field name="mRandomizer"/>
+	</class>
+	<class name="android/view/animation/LayoutAnimationController$AnimationParameters" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="count"/>
+		<field name="index"/>
+	</class>
+	<class name="android/view/animation/LinearInterpolator" since="1">
+		<extends name="android/view/animation/BaseInterpolator" since="22"/>
+		<extends name="java/lang/Object" removed="22"/>
+		<implements name="android/view/animation/Interpolator" removed="22"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/OvershootInterpolator" since="4">
+		<extends name="android/view/animation/BaseInterpolator" since="22"/>
+		<extends name="java/lang/Object" removed="22"/>
+		<implements name="android/view/animation/Interpolator" removed="22"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/PathInterpolator" since="21">
+		<extends name="android/view/animation/BaseInterpolator" since="22"/>
+		<extends name="java/lang/Object" removed="22"/>
+		<implements name="android/view/animation/Interpolator" removed="22"/>
+		<method name="&lt;init>(FF)V"/>
+		<method name="&lt;init>(FFFF)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/graphics/Path;)V"/>
+	</class>
+	<class name="android/view/animation/RotateAnimation" since="1">
+		<extends name="android/view/animation/Animation"/>
+		<method name="&lt;init>(FF)V"/>
+		<method name="&lt;init>(FFFF)V"/>
+		<method name="&lt;init>(FFIFIF)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/ScaleAnimation" since="1">
+		<extends name="android/view/animation/Animation"/>
+		<method name="&lt;init>(FFFF)V"/>
+		<method name="&lt;init>(FFFFFF)V"/>
+		<method name="&lt;init>(FFFFIFIF)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/animation/Transformation" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="clear()V"/>
+		<method name="compose(Landroid/view/animation/Transformation;)V"/>
+		<method name="getAlpha()F"/>
+		<method name="getMatrix()Landroid/graphics/Matrix;"/>
+		<method name="getTransformationType()I"/>
+		<method name="set(Landroid/view/animation/Transformation;)V"/>
+		<method name="setAlpha(F)V"/>
+		<method name="setTransformationType(I)V"/>
+		<method name="toShortString()Ljava/lang/String;" since="3"/>
+		<field name="TYPE_ALPHA"/>
+		<field name="TYPE_BOTH"/>
+		<field name="TYPE_IDENTITY"/>
+		<field name="TYPE_MATRIX"/>
+		<field name="mAlpha"/>
+		<field name="mMatrix"/>
+		<field name="mTransformationType"/>
+	</class>
+	<class name="android/view/animation/TranslateAnimation" since="1">
+		<extends name="android/view/animation/Animation"/>
+		<method name="&lt;init>(FFFF)V"/>
+		<method name="&lt;init>(IFIFIFIF)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+	</class>
+	<class name="android/view/autofill/AutofillId" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/autofill/AutofillManager" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V"/>
+		<method name="commit()V"/>
+		<method name="disableAutofillServices()V"/>
+		<method name="getAutofillServiceComponentName()Landroid/content/ComponentName;" since="28"/>
+		<method name="getAvailableFieldClassificationAlgorithms()Ljava/util/List;" since="28"/>
+		<method name="getDefaultFieldClassificationAlgorithm()Ljava/lang/String;" since="28"/>
+		<method name="getNextAutofillId()Landroid/view/autofill/AutofillId;" since="28"/>
+		<method name="getUserData()Landroid/service/autofill/UserData;" since="28"/>
+		<method name="getUserDataId()Ljava/lang/String;" since="28"/>
+		<method name="hasEnabledAutofillServices()Z"/>
+		<method name="isAutofillSupported()Z"/>
+		<method name="isEnabled()Z"/>
+		<method name="isFieldClassificationEnabled()Z" since="28"/>
+		<method name="notifyValueChanged(Landroid/view/View;)V"/>
+		<method name="notifyValueChanged(Landroid/view/View;ILandroid/view/autofill/AutofillValue;)V"/>
+		<method name="notifyViewClicked(Landroid/view/View;)V" since="28"/>
+		<method name="notifyViewClicked(Landroid/view/View;I)V" since="28"/>
+		<method name="notifyViewEntered(Landroid/view/View;)V"/>
+		<method name="notifyViewEntered(Landroid/view/View;ILandroid/graphics/Rect;)V"/>
+		<method name="notifyViewExited(Landroid/view/View;)V"/>
+		<method name="notifyViewExited(Landroid/view/View;I)V"/>
+		<method name="notifyViewVisibilityChanged(Landroid/view/View;IZ)V" since="27"/>
+		<method name="notifyViewVisibilityChanged(Landroid/view/View;Z)V" since="27"/>
+		<method name="registerCallback(Landroid/view/autofill/AutofillManager$AutofillCallback;)V"/>
+		<method name="requestAutofill(Landroid/view/View;)V"/>
+		<method name="requestAutofill(Landroid/view/View;ILandroid/graphics/Rect;)V"/>
+		<method name="setUserData(Landroid/service/autofill/UserData;)V" since="28"/>
+		<method name="unregisterCallback(Landroid/view/autofill/AutofillManager$AutofillCallback;)V"/>
+		<field name="EXTRA_ASSIST_STRUCTURE"/>
+		<field name="EXTRA_AUTHENTICATION_RESULT"/>
+		<field name="EXTRA_AUTHENTICATION_RESULT_EPHEMERAL_DATASET" since="31"/>
+		<field name="EXTRA_CLIENT_STATE"/>
+		<field name="EXTRA_INLINE_SUGGESTIONS_REQUEST" since="31"/>
+	</class>
+	<class name="android/view/autofill/AutofillManager$AutofillCallback" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onAutofillEvent(Landroid/view/View;I)V"/>
+		<method name="onAutofillEvent(Landroid/view/View;II)V"/>
+		<field name="EVENT_INPUT_HIDDEN"/>
+		<field name="EVENT_INPUT_SHOWN"/>
+		<field name="EVENT_INPUT_UNAVAILABLE"/>
+	</class>
+	<class name="android/view/autofill/AutofillValue" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="forDate(J)Landroid/view/autofill/AutofillValue;"/>
+		<method name="forList(I)Landroid/view/autofill/AutofillValue;"/>
+		<method name="forText(Ljava/lang/CharSequence;)Landroid/view/autofill/AutofillValue;"/>
+		<method name="forToggle(Z)Landroid/view/autofill/AutofillValue;"/>
+		<method name="getDateValue()J"/>
+		<method name="getListValue()I"/>
+		<method name="getTextValue()Ljava/lang/CharSequence;"/>
+		<method name="getToggleValue()Z"/>
+		<method name="isDate()Z"/>
+		<method name="isList()Z"/>
+		<method name="isText()Z"/>
+		<method name="isToggle()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureCondition" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/LocusId;I)V"/>
+		<method name="getFlags()I"/>
+		<method name="getLocusId()Landroid/content/LocusId;"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_IS_REGEX"/>
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureContext" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="forLocusId(Ljava/lang/String;)Landroid/view/contentcapture/ContentCaptureContext;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getLocusId()Landroid/content/LocusId;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureContext$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/LocusId;)V"/>
+		<method name="build()Landroid/view/contentcapture/ContentCaptureContext;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/contentcapture/ContentCaptureContext$Builder;"/>
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureManager" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getContentCaptureConditions()Ljava/util/Set;"/>
+		<method name="getServiceComponentName()Landroid/content/ComponentName;"/>
+		<method name="isContentCaptureEnabled()Z"/>
+		<method name="removeData(Landroid/view/contentcapture/DataRemovalRequest;)V"/>
+		<method name="setContentCaptureEnabled(Z)V"/>
+		<method name="shareData(Landroid/view/contentcapture/DataShareRequest;Ljava/util/concurrent/Executor;Landroid/view/contentcapture/DataShareWriteAdapter;)V" since="30"/>
+		<field name="DATA_SHARE_ERROR_CONCURRENT_REQUEST" since="30"/>
+		<field name="DATA_SHARE_ERROR_TIMEOUT_INTERRUPTED" since="30"/>
+		<field name="DATA_SHARE_ERROR_UNKNOWN" since="30"/>
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureSession" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="createContentCaptureSession(Landroid/view/contentcapture/ContentCaptureContext;)Landroid/view/contentcapture/ContentCaptureSession;"/>
+		<method name="destroy()V"/>
+		<method name="getContentCaptureContext()Landroid/view/contentcapture/ContentCaptureContext;"/>
+		<method name="getContentCaptureSessionId()Landroid/view/contentcapture/ContentCaptureSessionId;"/>
+		<method name="newAutofillId(Landroid/view/autofill/AutofillId;J)Landroid/view/autofill/AutofillId;"/>
+		<method name="newViewStructure(Landroid/view/View;)Landroid/view/ViewStructure;"/>
+		<method name="newVirtualViewStructure(Landroid/view/autofill/AutofillId;J)Landroid/view/ViewStructure;"/>
+		<method name="notifySessionPaused()V" since="30"/>
+		<method name="notifySessionResumed()V" since="30"/>
+		<method name="notifyViewAppeared(Landroid/view/ViewStructure;)V"/>
+		<method name="notifyViewDisappeared(Landroid/view/autofill/AutofillId;)V"/>
+		<method name="notifyViewInsetsChanged(Landroid/graphics/Insets;)V" since="30"/>
+		<method name="notifyViewTextChanged(Landroid/view/autofill/AutofillId;Ljava/lang/CharSequence;)V"/>
+		<method name="notifyViewsDisappeared(Landroid/view/autofill/AutofillId;[J)V"/>
+		<method name="setContentCaptureContext(Landroid/view/contentcapture/ContentCaptureContext;)V"/>
+	</class>
+	<class name="android/view/contentcapture/ContentCaptureSessionId" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/contentcapture/DataRemovalRequest" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getLocusIdRequests()Ljava/util/List;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="isForEverything()Z"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_IS_PREFIX"/>
+	</class>
+	<class name="android/view/contentcapture/DataRemovalRequest$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addLocusId(Landroid/content/LocusId;I)Landroid/view/contentcapture/DataRemovalRequest$Builder;"/>
+		<method name="build()Landroid/view/contentcapture/DataRemovalRequest;"/>
+		<method name="forEverything()Landroid/view/contentcapture/DataRemovalRequest$Builder;"/>
+	</class>
+	<class name="android/view/contentcapture/DataRemovalRequest$LocusIdRequest" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getFlags()I"/>
+		<method name="getLocusId()Landroid/content/LocusId;"/>
+	</class>
+	<class name="android/view/contentcapture/DataShareRequest" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/LocusId;Ljava/lang/String;)V"/>
+		<method name="getLocusId()Landroid/content/LocusId;"/>
+		<method name="getMimeType()Ljava/lang/String;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/contentcapture/DataShareWriteAdapter" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onError(I)V"/>
+		<method name="onRejected()V"/>
+		<method name="onWrite(Landroid/os/ParcelFileDescriptor;)V"/>
+	</class>
+	<class name="android/view/displayhash/DisplayHash" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/displayhash/DisplayHashManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getSupportedHashAlgorithms()Ljava/util/Set;"/>
+		<method name="verifyDisplayHash(Landroid/view/displayhash/DisplayHash;)Landroid/view/displayhash/VerifiedDisplayHash;"/>
+	</class>
+	<class name="android/view/displayhash/DisplayHashResultCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onDisplayHashError(I)V"/>
+		<method name="onDisplayHashResult(Landroid/view/displayhash/DisplayHash;)V"/>
+		<field name="DISPLAY_HASH_ERROR_INVALID_BOUNDS"/>
+		<field name="DISPLAY_HASH_ERROR_INVALID_HASH_ALGORITHM"/>
+		<field name="DISPLAY_HASH_ERROR_MISSING_WINDOW"/>
+		<field name="DISPLAY_HASH_ERROR_NOT_VISIBLE_ON_SCREEN"/>
+		<field name="DISPLAY_HASH_ERROR_TOO_MANY_REQUESTS"/>
+		<field name="DISPLAY_HASH_ERROR_UNKNOWN"/>
+	</class>
+	<class name="android/view/displayhash/VerifiedDisplayHash" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(JLandroid/graphics/Rect;Ljava/lang/String;[B)V"/>
+		<method name="getBoundsInWindow()Landroid/graphics/Rect;"/>
+		<method name="getHashAlgorithm()Ljava/lang/String;"/>
+		<method name="getImageHash()[B"/>
+		<method name="getTimeMillis()J"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/inputmethod/BaseInputConnection" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/inputmethod/InputConnection"/>
+		<method name="&lt;init>(Landroid/view/View;Z)V"/>
+		<method name="getComposingSpanEnd(Landroid/text/Spannable;)I"/>
+		<method name="getComposingSpanStart(Landroid/text/Spannable;)I"/>
+		<method name="getEditable()Landroid/text/Editable;"/>
+		<method name="removeComposingSpans(Landroid/text/Spannable;)V"/>
+		<method name="setComposingSpans(Landroid/text/Spannable;)V"/>
+	</class>
+	<class name="android/view/inputmethod/CompletionInfo" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(JILjava/lang/CharSequence;)V"/>
+		<method name="&lt;init>(JILjava/lang/CharSequence;Ljava/lang/CharSequence;)V"/>
+		<method name="getId()J"/>
+		<method name="getLabel()Ljava/lang/CharSequence;"/>
+		<method name="getPosition()I"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/inputmethod/CorrectionInfo" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(ILjava/lang/CharSequence;Ljava/lang/CharSequence;)V"/>
+		<method name="getNewText()Ljava/lang/CharSequence;"/>
+		<method name="getOffset()I"/>
+		<method name="getOldText()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/inputmethod/CursorAnchorInfo" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="getCharacterBounds(I)Landroid/graphics/RectF;"/>
+		<method name="getCharacterBoundsFlags(I)I"/>
+		<method name="getComposingText()Ljava/lang/CharSequence;"/>
+		<method name="getComposingTextStart()I"/>
+		<method name="getInsertionMarkerBaseline()F"/>
+		<method name="getInsertionMarkerBottom()F"/>
+		<method name="getInsertionMarkerFlags()I"/>
+		<method name="getInsertionMarkerHorizontal()F"/>
+		<method name="getInsertionMarkerTop()F"/>
+		<method name="getMatrix()Landroid/graphics/Matrix;"/>
+		<method name="getSelectionEnd()I"/>
+		<method name="getSelectionStart()I"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_HAS_INVISIBLE_REGION"/>
+		<field name="FLAG_HAS_VISIBLE_REGION"/>
+		<field name="FLAG_IS_RTL"/>
+	</class>
+	<class name="android/view/inputmethod/CursorAnchorInfo$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addCharacterBounds(IFFFFI)Landroid/view/inputmethod/CursorAnchorInfo$Builder;"/>
+		<method name="build()Landroid/view/inputmethod/CursorAnchorInfo;"/>
+		<method name="reset()V"/>
+		<method name="setComposingText(ILjava/lang/CharSequence;)Landroid/view/inputmethod/CursorAnchorInfo$Builder;"/>
+		<method name="setInsertionMarkerLocation(FFFFI)Landroid/view/inputmethod/CursorAnchorInfo$Builder;"/>
+		<method name="setMatrix(Landroid/graphics/Matrix;)Landroid/view/inputmethod/CursorAnchorInfo$Builder;"/>
+		<method name="setSelectionRange(II)Landroid/view/inputmethod/CursorAnchorInfo$Builder;"/>
+	</class>
+	<class name="android/view/inputmethod/EditorInfo" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="android/text/InputType"/>
+		<method name="&lt;init>()V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getInitialSelectedText(I)Ljava/lang/CharSequence;" since="30"/>
+		<method name="getInitialSurroundingText(III)Landroid/view/inputmethod/SurroundingText;" since="31"/>
+		<method name="getInitialTextAfterCursor(II)Ljava/lang/CharSequence;" since="30"/>
+		<method name="getInitialTextBeforeCursor(II)Ljava/lang/CharSequence;" since="30"/>
+		<method name="makeCompatible(I)V" since="11"/>
+		<method name="setInitialSurroundingSubText(Ljava/lang/CharSequence;I)V" since="30"/>
+		<method name="setInitialSurroundingText(Ljava/lang/CharSequence;)V" since="30"/>
+		<field name="CREATOR"/>
+		<field name="IME_ACTION_DONE"/>
+		<field name="IME_ACTION_GO"/>
+		<field name="IME_ACTION_NEXT"/>
+		<field name="IME_ACTION_NONE"/>
+		<field name="IME_ACTION_PREVIOUS" since="11"/>
+		<field name="IME_ACTION_SEARCH"/>
+		<field name="IME_ACTION_SEND"/>
+		<field name="IME_ACTION_UNSPECIFIED"/>
+		<field name="IME_FLAG_FORCE_ASCII" since="16"/>
+		<field name="IME_FLAG_NAVIGATE_NEXT" since="11"/>
+		<field name="IME_FLAG_NAVIGATE_PREVIOUS" since="11"/>
+		<field name="IME_FLAG_NO_ACCESSORY_ACTION"/>
+		<field name="IME_FLAG_NO_ENTER_ACTION"/>
+		<field name="IME_FLAG_NO_EXTRACT_UI"/>
+		<field name="IME_FLAG_NO_FULLSCREEN" since="11"/>
+		<field name="IME_FLAG_NO_PERSONALIZED_LEARNING" since="26"/>
+		<field name="IME_MASK_ACTION"/>
+		<field name="IME_NULL"/>
+		<field name="actionId"/>
+		<field name="actionLabel"/>
+		<field name="contentMimeTypes" since="25"/>
+		<field name="extras"/>
+		<field name="fieldId"/>
+		<field name="fieldName"/>
+		<field name="hintLocales" since="24"/>
+		<field name="hintText"/>
+		<field name="imeOptions"/>
+		<field name="initialCapsMode"/>
+		<field name="initialSelEnd"/>
+		<field name="initialSelStart"/>
+		<field name="inputType"/>
+		<field name="label"/>
+		<field name="packageName"/>
+		<field name="privateImeOptions"/>
+	</class>
+	<class name="android/view/inputmethod/ExtractedText" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_SELECTING"/>
+		<field name="FLAG_SINGLE_LINE"/>
+		<field name="flags"/>
+		<field name="hint" since="28"/>
+		<field name="partialEndOffset"/>
+		<field name="partialStartOffset"/>
+		<field name="selectionEnd"/>
+		<field name="selectionStart"/>
+		<field name="startOffset"/>
+		<field name="text"/>
+	</class>
+	<class name="android/view/inputmethod/ExtractedTextRequest" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>()V"/>
+		<field name="CREATOR"/>
+		<field name="flags"/>
+		<field name="hintMaxChars"/>
+		<field name="hintMaxLines"/>
+		<field name="token"/>
+	</class>
+	<class name="android/view/inputmethod/InlineSuggestion" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getInfo()Landroid/view/inputmethod/InlineSuggestionInfo;"/>
+		<method name="inflate(Landroid/content/Context;Landroid/util/Size;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/inputmethod/InlineSuggestionInfo" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAutofillHints()[Ljava/lang/String;"/>
+		<method name="getInlinePresentationSpec()Landroid/widget/inline/InlinePresentationSpec;"/>
+		<method name="getSource()Ljava/lang/String;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<method name="isPinned()Z"/>
+		<field name="CREATOR"/>
+		<field name="SOURCE_AUTOFILL"/>
+		<field name="SOURCE_PLATFORM"/>
+		<field name="TYPE_ACTION"/>
+		<field name="TYPE_SUGGESTION"/>
+	</class>
+	<class name="android/view/inputmethod/InlineSuggestionsRequest" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getHostPackageName()Ljava/lang/String;"/>
+		<method name="getInlinePresentationSpecs()Ljava/util/List;"/>
+		<method name="getInlineTooltipPresentationSpec()Landroid/widget/inline/InlinePresentationSpec;" since="31"/>
+		<method name="getMaxSuggestionCount()I"/>
+		<method name="getSupportedLocales()Landroid/os/LocaleList;"/>
+		<field name="CREATOR"/>
+		<field name="SUGGESTION_COUNT_UNLIMITED"/>
+	</class>
+	<class name="android/view/inputmethod/InlineSuggestionsRequest$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/util/List;)V"/>
+		<method name="addInlinePresentationSpecs(Landroid/widget/inline/InlinePresentationSpec;)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;"/>
+		<method name="build()Landroid/view/inputmethod/InlineSuggestionsRequest;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;"/>
+		<method name="setInlinePresentationSpecs(Ljava/util/List;)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;"/>
+		<method name="setInlineTooltipPresentationSpec(Landroid/widget/inline/InlinePresentationSpec;)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;" since="31"/>
+		<method name="setMaxSuggestionCount(I)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;"/>
+		<method name="setSupportedLocales(Landroid/os/LocaleList;)Landroid/view/inputmethod/InlineSuggestionsRequest$Builder;"/>
+	</class>
+	<class name="android/view/inputmethod/InlineSuggestionsResponse" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getInlineSuggestions()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/inputmethod/InputBinding" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/view/inputmethod/InputConnection;Landroid/os/IBinder;II)V"/>
+		<method name="&lt;init>(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/InputBinding;)V"/>
+		<method name="getConnection()Landroid/view/inputmethod/InputConnection;"/>
+		<method name="getConnectionToken()Landroid/os/IBinder;"/>
+		<method name="getPid()I"/>
+		<method name="getUid()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/inputmethod/InputConnection" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="beginBatchEdit()Z"/>
+		<method name="clearMetaKeyStates(I)Z"/>
+		<method name="closeConnection()V" since="24"/>
+		<method name="commitCompletion(Landroid/view/inputmethod/CompletionInfo;)Z"/>
+		<method name="commitContent(Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;)Z" since="25"/>
+		<method name="commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)Z" since="11"/>
+		<method name="commitText(Ljava/lang/CharSequence;I)Z"/>
+		<method name="deleteSurroundingText(II)Z"/>
+		<method name="deleteSurroundingTextInCodePoints(II)Z" since="24"/>
+		<method name="endBatchEdit()Z"/>
+		<method name="finishComposingText()Z"/>
+		<method name="getCursorCapsMode(I)I"/>
+		<method name="getExtractedText(Landroid/view/inputmethod/ExtractedTextRequest;I)Landroid/view/inputmethod/ExtractedText;"/>
+		<method name="getHandler()Landroid/os/Handler;" since="24"/>
+		<method name="getSelectedText(I)Ljava/lang/CharSequence;" since="9"/>
+		<method name="getSurroundingText(III)Landroid/view/inputmethod/SurroundingText;" since="31"/>
+		<method name="getTextAfterCursor(II)Ljava/lang/CharSequence;"/>
+		<method name="getTextBeforeCursor(II)Ljava/lang/CharSequence;"/>
+		<method name="performContextMenuAction(I)Z"/>
+		<method name="performEditorAction(I)Z"/>
+		<method name="performPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)Z"/>
+		<method name="performSpellCheck()Z" since="31"/>
+		<method name="reportFullscreenMode(Z)Z"/>
+		<method name="requestCursorUpdates(I)Z" since="21"/>
+		<method name="sendKeyEvent(Landroid/view/KeyEvent;)Z"/>
+		<method name="setComposingRegion(II)Z" since="9"/>
+		<method name="setComposingText(Ljava/lang/CharSequence;I)Z"/>
+		<method name="setImeConsumesInput(Z)Z" since="31"/>
+		<method name="setSelection(II)Z"/>
+		<field name="CURSOR_UPDATE_IMMEDIATE" since="21"/>
+		<field name="CURSOR_UPDATE_MONITOR" since="21"/>
+		<field name="GET_EXTRACTED_TEXT_MONITOR"/>
+		<field name="GET_TEXT_WITH_STYLES"/>
+		<field name="INPUT_CONTENT_GRANT_READ_URI_PERMISSION" since="25"/>
+	</class>
+	<class name="android/view/inputmethod/InputConnectionWrapper" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/inputmethod/InputConnection"/>
+		<method name="&lt;init>(Landroid/view/inputmethod/InputConnection;Z)V"/>
+		<method name="setTarget(Landroid/view/inputmethod/InputConnection;)V"/>
+	</class>
+	<class name="android/view/inputmethod/InputContentInfo" since="25">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/net/Uri;Landroid/content/ClipDescription;)V"/>
+		<method name="&lt;init>(Landroid/net/Uri;Landroid/content/ClipDescription;Landroid/net/Uri;)V"/>
+		<method name="getContentUri()Landroid/net/Uri;"/>
+		<method name="getDescription()Landroid/content/ClipDescription;"/>
+		<method name="getLinkUri()Landroid/net/Uri;"/>
+		<method name="releasePermission()V"/>
+		<method name="requestPermission()V"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/inputmethod/InputMethod" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="attachToken(Landroid/os/IBinder;)V"/>
+		<method name="bindInput(Landroid/view/inputmethod/InputBinding;)V"/>
+		<method name="changeInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)V" since="11"/>
+		<method name="createSession(Landroid/view/inputmethod/InputMethod$SessionCallback;)V"/>
+		<method name="hideSoftInput(ILandroid/os/ResultReceiver;)V"/>
+		<method name="restartInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V"/>
+		<method name="revokeSession(Landroid/view/inputmethod/InputMethodSession;)V"/>
+		<method name="setSessionEnabled(Landroid/view/inputmethod/InputMethodSession;Z)V"/>
+		<method name="showSoftInput(ILandroid/os/ResultReceiver;)V"/>
+		<method name="startInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V"/>
+		<method name="unbindInput()V"/>
+		<field name="SERVICE_INTERFACE"/>
+		<field name="SERVICE_META_DATA"/>
+		<field name="SHOW_EXPLICIT"/>
+		<field name="SHOW_FORCED"/>
+	</class>
+	<class name="android/view/inputmethod/InputMethod$SessionCallback" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="sessionCreated(Landroid/view/inputmethod/InputMethodSession;)V"/>
+	</class>
+	<class name="android/view/inputmethod/InputMethodInfo" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)V"/>
+		<method name="dump(Landroid/util/Printer;Ljava/lang/String;)V"/>
+		<method name="getComponent()Landroid/content/ComponentName;"/>
+		<method name="getConfigChanges()I" since="31"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getIsDefaultResourceId()I"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getServiceInfo()Landroid/content/pm/ServiceInfo;"/>
+		<method name="getServiceName()Ljava/lang/String;"/>
+		<method name="getSettingsActivity()Ljava/lang/String;"/>
+		<method name="getSubtypeAt(I)Landroid/view/inputmethod/InputMethodSubtype;" since="11"/>
+		<method name="getSubtypeCount()I" since="11"/>
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<method name="shouldShowInInputMethodPicker()Z" since="31"/>
+		<method name="suppressesSpellChecker()Z" since="31"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/inputmethod/InputMethodManager" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="dispatchKeyEventFromInputMethod(Landroid/view/View;Landroid/view/KeyEvent;)V" since="24"/>
+		<method name="displayCompletions(Landroid/view/View;[Landroid/view/inputmethod/CompletionInfo;)V"/>
+		<method name="getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;" since="11"/>
+		<method name="getEnabledInputMethodList()Ljava/util/List;"/>
+		<method name="getEnabledInputMethodSubtypeList(Landroid/view/inputmethod/InputMethodInfo;Z)Ljava/util/List;" since="11"/>
+		<method name="getInputMethodList()Ljava/util/List;"/>
+		<method name="getLastInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;" since="14"/>
+		<method name="getShortcutInputMethodsAndSubtypes()Ljava/util/Map;" since="11"/>
+		<method name="hideSoftInputFromInputMethod(Landroid/os/IBinder;I)V" deprecated="28"/>
+		<method name="hideSoftInputFromWindow(Landroid/os/IBinder;I)Z"/>
+		<method name="hideSoftInputFromWindow(Landroid/os/IBinder;ILandroid/os/ResultReceiver;)Z"/>
+		<method name="hideStatusIcon(Landroid/os/IBinder;)V" deprecated="28"/>
+		<method name="isAcceptingText()Z"/>
+		<method name="isActive()Z"/>
+		<method name="isActive(Landroid/view/View;)Z"/>
+		<method name="isFullscreenMode()Z"/>
+		<method name="isInputMethodSuppressingSpellChecker()Z" since="31"/>
+		<method name="isWatchingCursor(Landroid/view/View;)Z" deprecated="21"/>
+		<method name="restartInput(Landroid/view/View;)V"/>
+		<method name="sendAppPrivateCommand(Landroid/view/View;Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="setAdditionalInputMethodSubtypes(Ljava/lang/String;[Landroid/view/inputmethod/InputMethodSubtype;)V" since="14" deprecated="29"/>
+		<method name="setCurrentInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)Z" since="11" deprecated="29"/>
+		<method name="setInputMethod(Landroid/os/IBinder;Ljava/lang/String;)V" deprecated="28"/>
+		<method name="setInputMethodAndSubtype(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V" since="11" deprecated="28"/>
+		<method name="shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z" since="19" deprecated="28"/>
+		<method name="showInputMethodAndSubtypeEnabler(Ljava/lang/String;)V" since="11"/>
+		<method name="showInputMethodPicker()V"/>
+		<method name="showSoftInput(Landroid/view/View;I)Z"/>
+		<method name="showSoftInput(Landroid/view/View;ILandroid/os/ResultReceiver;)Z"/>
+		<method name="showSoftInputFromInputMethod(Landroid/os/IBinder;I)V" deprecated="28"/>
+		<method name="showStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V" deprecated="28"/>
+		<method name="switchToLastInputMethod(Landroid/os/IBinder;)Z" since="11" deprecated="28"/>
+		<method name="switchToNextInputMethod(Landroid/os/IBinder;Z)Z" since="16" deprecated="28"/>
+		<method name="toggleSoftInput(II)V" deprecated="31"/>
+		<method name="toggleSoftInputFromWindow(Landroid/os/IBinder;II)V" deprecated="31"/>
+		<method name="updateCursor(Landroid/view/View;IIII)V" deprecated="21"/>
+		<method name="updateCursorAnchorInfo(Landroid/view/View;Landroid/view/inputmethod/CursorAnchorInfo;)V" since="21"/>
+		<method name="updateExtractedText(Landroid/view/View;ILandroid/view/inputmethod/ExtractedText;)V"/>
+		<method name="updateSelection(Landroid/view/View;IIII)V"/>
+		<method name="viewClicked(Landroid/view/View;)V" since="14" deprecated="29"/>
+		<field name="HIDE_IMPLICIT_ONLY"/>
+		<field name="HIDE_NOT_ALWAYS"/>
+		<field name="RESULT_HIDDEN"/>
+		<field name="RESULT_SHOWN"/>
+		<field name="RESULT_UNCHANGED_HIDDEN"/>
+		<field name="RESULT_UNCHANGED_SHOWN"/>
+		<field name="SHOW_FORCED"/>
+		<field name="SHOW_IMPLICIT"/>
+	</class>
+	<class name="android/view/inputmethod/InputMethodSession" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V"/>
+		<method name="dispatchGenericMotionEvent(ILandroid/view/MotionEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V" since="17"/>
+		<method name="dispatchKeyEvent(ILandroid/view/KeyEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V"/>
+		<method name="dispatchTrackballEvent(ILandroid/view/MotionEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V"/>
+		<method name="displayCompletions([Landroid/view/inputmethod/CompletionInfo;)V"/>
+		<method name="finishInput()V"/>
+		<method name="toggleSoftInput(II)V" deprecated="31"/>
+		<method name="updateCursor(Landroid/graphics/Rect;)V"/>
+		<method name="updateCursorAnchorInfo(Landroid/view/inputmethod/CursorAnchorInfo;)V" since="21"/>
+		<method name="updateExtractedText(ILandroid/view/inputmethod/ExtractedText;)V"/>
+		<method name="updateSelection(IIIIII)V"/>
+		<method name="viewClicked(Z)V" since="14"/>
+	</class>
+	<class name="android/view/inputmethod/InputMethodSession$EventCallback" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="finishedEvent(IZ)V"/>
+	</class>
+	<class name="android/view/inputmethod/InputMethodSubtype" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)V" since="14" deprecated="19"/>
+		<method name="&lt;init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZI)V" since="17" deprecated="19"/>
+		<method name="containsExtraValueKey(Ljava/lang/String;)Z" since="12"/>
+		<method name="getDisplayName(Landroid/content/Context;Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;" since="14"/>
+		<method name="getExtraValue()Ljava/lang/String;"/>
+		<method name="getExtraValueOf(Ljava/lang/String;)Ljava/lang/String;" since="12"/>
+		<method name="getIconResId()I"/>
+		<method name="getLanguageTag()Ljava/lang/String;" since="24"/>
+		<method name="getLocale()Ljava/lang/String;" deprecated="24"/>
+		<method name="getMode()Ljava/lang/String;"/>
+		<method name="getNameResId()I"/>
+		<method name="isAsciiCapable()Z" since="19"/>
+		<method name="isAuxiliary()Z" since="14"/>
+		<method name="overridesImplicitlyEnabledSubtype()Z" since="14"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/view/inputmethod/InputMethodSubtype;"/>
+		<method name="setIsAsciiCapable(Z)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;"/>
+		<method name="setIsAuxiliary(Z)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;"/>
+		<method name="setLanguageTag(Ljava/lang/String;)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;" since="24"/>
+		<method name="setOverridesImplicitlyEnabledSubtype(Z)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;"/>
+		<method name="setSubtypeExtraValue(Ljava/lang/String;)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;"/>
+		<method name="setSubtypeIconResId(I)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;"/>
+		<method name="setSubtypeId(I)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;"/>
+		<method name="setSubtypeLocale(Ljava/lang/String;)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;"/>
+		<method name="setSubtypeMode(Ljava/lang/String;)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;"/>
+		<method name="setSubtypeNameResId(I)Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;"/>
+	</class>
+	<class name="android/view/inputmethod/SurroundingText" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;III)V"/>
+		<method name="getOffset()I"/>
+		<method name="getSelectionEnd()I"/>
+		<method name="getSelectionStart()I"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/inspector/InspectionCompanion" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="mapProperties(Landroid/view/inspector/PropertyMapper;)V"/>
+		<method name="readProperties(Ljava/lang/Object;Landroid/view/inspector/PropertyReader;)V"/>
+	</class>
+	<class name="android/view/inspector/InspectionCompanion$UninitializedPropertyMapException" since="29">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/view/inspector/InspectionCompanionProvider" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="provide(Ljava/lang/Class;)Landroid/view/inspector/InspectionCompanion;"/>
+	</class>
+	<class name="android/view/inspector/IntFlagMapping" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="add(IILjava/lang/String;)V"/>
+		<method name="get(I)Ljava/util/Set;"/>
+	</class>
+	<class name="android/view/inspector/PropertyMapper" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="mapBoolean(Ljava/lang/String;I)I"/>
+		<method name="mapByte(Ljava/lang/String;I)I"/>
+		<method name="mapChar(Ljava/lang/String;I)I"/>
+		<method name="mapColor(Ljava/lang/String;I)I"/>
+		<method name="mapDouble(Ljava/lang/String;I)I"/>
+		<method name="mapFloat(Ljava/lang/String;I)I"/>
+		<method name="mapGravity(Ljava/lang/String;I)I"/>
+		<method name="mapInt(Ljava/lang/String;I)I"/>
+		<method name="mapIntEnum(Ljava/lang/String;ILjava/util/function/IntFunction;)I"/>
+		<method name="mapIntFlag(Ljava/lang/String;ILjava/util/function/IntFunction;)I"/>
+		<method name="mapLong(Ljava/lang/String;I)I"/>
+		<method name="mapObject(Ljava/lang/String;I)I"/>
+		<method name="mapResourceId(Ljava/lang/String;I)I"/>
+		<method name="mapShort(Ljava/lang/String;I)I"/>
+	</class>
+	<class name="android/view/inspector/PropertyMapper$PropertyConflictException" since="29">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/view/inspector/PropertyReader" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="readBoolean(IZ)V"/>
+		<method name="readByte(IB)V"/>
+		<method name="readChar(IC)V"/>
+		<method name="readColor(II)V"/>
+		<method name="readColor(IJ)V"/>
+		<method name="readColor(ILandroid/graphics/Color;)V"/>
+		<method name="readDouble(ID)V"/>
+		<method name="readFloat(IF)V"/>
+		<method name="readGravity(II)V"/>
+		<method name="readInt(II)V"/>
+		<method name="readIntEnum(II)V"/>
+		<method name="readIntFlag(II)V"/>
+		<method name="readLong(IJ)V"/>
+		<method name="readObject(ILjava/lang/Object;)V"/>
+		<method name="readResourceId(II)V"/>
+		<method name="readShort(IS)V"/>
+	</class>
+	<class name="android/view/inspector/PropertyReader$PropertyTypeMismatchException" since="29">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(ILjava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/view/inspector/StaticInspectionCompanionProvider" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/inspector/InspectionCompanionProvider"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/view/inspector/WindowInspector" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="getGlobalWindowViews()Ljava/util/List;"/>
+	</class>
+	<class name="android/view/textclassifier/ConversationAction" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAction()Landroid/app/RemoteAction;"/>
+		<method name="getConfidenceScore()F"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getTextReply()Ljava/lang/CharSequence;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_CALL_PHONE"/>
+		<field name="TYPE_CREATE_REMINDER"/>
+		<field name="TYPE_OPEN_URL"/>
+		<field name="TYPE_SEND_EMAIL"/>
+		<field name="TYPE_SEND_SMS"/>
+		<field name="TYPE_SHARE_LOCATION"/>
+		<field name="TYPE_TEXT_REPLY"/>
+		<field name="TYPE_TRACK_FLIGHT"/>
+		<field name="TYPE_VIEW_CALENDAR"/>
+		<field name="TYPE_VIEW_MAP"/>
+	</class>
+	<class name="android/view/textclassifier/ConversationAction$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="build()Landroid/view/textclassifier/ConversationAction;"/>
+		<method name="setAction(Landroid/app/RemoteAction;)Landroid/view/textclassifier/ConversationAction$Builder;"/>
+		<method name="setConfidenceScore(F)Landroid/view/textclassifier/ConversationAction$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/ConversationAction$Builder;"/>
+		<method name="setTextReply(Ljava/lang/CharSequence;)Landroid/view/textclassifier/ConversationAction$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/ConversationActions" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Ljava/util/List;Ljava/lang/String;)V"/>
+		<method name="getConversationActions()Ljava/util/List;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/ConversationActions$Message" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAuthor()Landroid/app/Person;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getReferenceTime()Ljava/time/ZonedDateTime;"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+		<field name="PERSON_USER_OTHERS"/>
+		<field name="PERSON_USER_SELF"/>
+	</class>
+	<class name="android/view/textclassifier/ConversationActions$Message$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/app/Person;)V"/>
+		<method name="build()Landroid/view/textclassifier/ConversationActions$Message;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/ConversationActions$Message$Builder;"/>
+		<method name="setReferenceTime(Ljava/time/ZonedDateTime;)Landroid/view/textclassifier/ConversationActions$Message$Builder;"/>
+		<method name="setText(Ljava/lang/CharSequence;)Landroid/view/textclassifier/ConversationActions$Message$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/ConversationActions$Request" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCallingPackageName()Ljava/lang/String;"/>
+		<method name="getConversation()Ljava/util/List;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getHints()Ljava/util/List;"/>
+		<method name="getMaxSuggestions()I"/>
+		<method name="getTypeConfig()Landroid/view/textclassifier/TextClassifier$EntityConfig;"/>
+		<field name="CREATOR"/>
+		<field name="HINT_FOR_IN_APP"/>
+		<field name="HINT_FOR_NOTIFICATION"/>
+	</class>
+	<class name="android/view/textclassifier/ConversationActions$Request$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/util/List;)V"/>
+		<method name="build()Landroid/view/textclassifier/ConversationActions$Request;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/ConversationActions$Request$Builder;"/>
+		<method name="setHints(Ljava/util/List;)Landroid/view/textclassifier/ConversationActions$Request$Builder;"/>
+		<method name="setMaxSuggestions(I)Landroid/view/textclassifier/ConversationActions$Request$Builder;"/>
+		<method name="setTypeConfig(Landroid/view/textclassifier/TextClassifier$EntityConfig;)Landroid/view/textclassifier/ConversationActions$Request$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/SelectionEvent" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="createSelectionActionEvent(III)Landroid/view/textclassifier/SelectionEvent;"/>
+		<method name="createSelectionActionEvent(IIILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/SelectionEvent;"/>
+		<method name="createSelectionModifiedEvent(II)Landroid/view/textclassifier/SelectionEvent;"/>
+		<method name="createSelectionModifiedEvent(IILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/SelectionEvent;"/>
+		<method name="createSelectionModifiedEvent(IILandroid/view/textclassifier/TextSelection;)Landroid/view/textclassifier/SelectionEvent;"/>
+		<method name="createSelectionStartedEvent(II)Landroid/view/textclassifier/SelectionEvent;"/>
+		<method name="getDurationSincePreviousEvent()J"/>
+		<method name="getDurationSinceSessionStart()J"/>
+		<method name="getEnd()I"/>
+		<method name="getEntityType()Ljava/lang/String;"/>
+		<method name="getEventIndex()I"/>
+		<method name="getEventTime()J"/>
+		<method name="getEventType()I"/>
+		<method name="getInvocationMethod()I"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getResultId()Ljava/lang/String;"/>
+		<method name="getSessionId()Landroid/view/textclassifier/TextClassificationSessionId;"/>
+		<method name="getSmartEnd()I"/>
+		<method name="getSmartStart()I"/>
+		<method name="getStart()I"/>
+		<method name="getWidgetType()Ljava/lang/String;"/>
+		<method name="getWidgetVersion()Ljava/lang/String;"/>
+		<method name="isTerminal(I)Z"/>
+		<field name="ACTION_ABANDON"/>
+		<field name="ACTION_COPY"/>
+		<field name="ACTION_CUT"/>
+		<field name="ACTION_DRAG"/>
+		<field name="ACTION_OTHER"/>
+		<field name="ACTION_OVERTYPE"/>
+		<field name="ACTION_PASTE"/>
+		<field name="ACTION_RESET"/>
+		<field name="ACTION_SELECT_ALL"/>
+		<field name="ACTION_SHARE"/>
+		<field name="ACTION_SMART_SHARE"/>
+		<field name="CREATOR"/>
+		<field name="EVENT_AUTO_SELECTION"/>
+		<field name="EVENT_SELECTION_MODIFIED"/>
+		<field name="EVENT_SELECTION_STARTED"/>
+		<field name="EVENT_SMART_SELECTION_MULTI"/>
+		<field name="EVENT_SMART_SELECTION_SINGLE"/>
+		<field name="INVOCATION_LINK"/>
+		<field name="INVOCATION_MANUAL"/>
+		<field name="INVOCATION_UNKNOWN"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassification" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="28"/>
+		<method name="getActions()Ljava/util/List;" since="28"/>
+		<method name="getConfidenceScore(Ljava/lang/String;)F"/>
+		<method name="getEntity(I)Ljava/lang/String;"/>
+		<method name="getEntityCount()I"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="29"/>
+		<method name="getIcon()Landroid/graphics/drawable/Drawable;" deprecated="28"/>
+		<method name="getId()Ljava/lang/String;" since="28"/>
+		<method name="getIntent()Landroid/content/Intent;" deprecated="28"/>
+		<method name="getLabel()Ljava/lang/CharSequence;" deprecated="28"/>
+		<method name="getOnClickListener()Landroid/view/View$OnClickListener;" deprecated="28"/>
+		<method name="getText()Ljava/lang/String;"/>
+		<field name="CREATOR" since="28"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassification$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addAction(Landroid/app/RemoteAction;)Landroid/view/textclassifier/TextClassification$Builder;" since="28"/>
+		<method name="build()Landroid/view/textclassifier/TextClassification;"/>
+		<method name="setEntityType(Ljava/lang/String;F)Landroid/view/textclassifier/TextClassification$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextClassification$Builder;" since="29"/>
+		<method name="setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/textclassifier/TextClassification$Builder;" deprecated="28"/>
+		<method name="setId(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder;" since="28"/>
+		<method name="setIntent(Landroid/content/Intent;)Landroid/view/textclassifier/TextClassification$Builder;" deprecated="28"/>
+		<method name="setLabel(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder;" deprecated="28"/>
+		<method name="setOnClickListener(Landroid/view/View$OnClickListener;)Landroid/view/textclassifier/TextClassification$Builder;" deprecated="28"/>
+		<method name="setText(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassification$Request" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCallingPackageName()Ljava/lang/String;" since="29"/>
+		<method name="getDefaultLocales()Landroid/os/LocaleList;"/>
+		<method name="getEndIndex()I"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="29"/>
+		<method name="getReferenceTime()Ljava/time/ZonedDateTime;"/>
+		<method name="getStartIndex()I"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassification$Request$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;II)V"/>
+		<method name="build()Landroid/view/textclassifier/TextClassification$Request;"/>
+		<method name="setDefaultLocales(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextClassification$Request$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextClassification$Request$Builder;" since="29"/>
+		<method name="setReferenceTime(Ljava/time/ZonedDateTime;)Landroid/view/textclassifier/TextClassification$Request$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassificationContext" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getWidgetType()Ljava/lang/String;"/>
+		<method name="getWidgetVersion()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassificationContext$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="build()Landroid/view/textclassifier/TextClassificationContext;"/>
+		<method name="setWidgetVersion(Ljava/lang/String;)Landroid/view/textclassifier/TextClassificationContext$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassificationManager" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="createTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifier;" since="28"/>
+		<method name="getTextClassifier()Landroid/view/textclassifier/TextClassifier;"/>
+		<method name="setTextClassificationSessionFactory(Landroid/view/textclassifier/TextClassificationSessionFactory;)V" since="28"/>
+		<method name="setTextClassifier(Landroid/view/textclassifier/TextClassifier;)V"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassificationSessionFactory" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="createTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifier;"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassificationSessionId" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getValue()Ljava/lang/String;" since="30"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifier" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="classifyText(Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification;" since="28"/>
+		<method name="classifyText(Ljava/lang/CharSequence;IILandroid/os/LocaleList;)Landroid/view/textclassifier/TextClassification;"/>
+		<method name="destroy()V" since="28"/>
+		<method name="detectLanguage(Landroid/view/textclassifier/TextLanguage$Request;)Landroid/view/textclassifier/TextLanguage;" since="29"/>
+		<method name="generateLinks(Landroid/view/textclassifier/TextLinks$Request;)Landroid/view/textclassifier/TextLinks;" since="28"/>
+		<method name="getMaxGenerateLinksTextLength()I" since="28"/>
+		<method name="isDestroyed()Z" since="28"/>
+		<method name="onSelectionEvent(Landroid/view/textclassifier/SelectionEvent;)V" since="28"/>
+		<method name="onTextClassifierEvent(Landroid/view/textclassifier/TextClassifierEvent;)V" since="29"/>
+		<method name="suggestConversationActions(Landroid/view/textclassifier/ConversationActions$Request;)Landroid/view/textclassifier/ConversationActions;" since="29"/>
+		<method name="suggestSelection(Landroid/view/textclassifier/TextSelection$Request;)Landroid/view/textclassifier/TextSelection;" since="28"/>
+		<method name="suggestSelection(Ljava/lang/CharSequence;IILandroid/os/LocaleList;)Landroid/view/textclassifier/TextSelection;"/>
+		<field name="EXTRA_FROM_TEXT_CLASSIFIER" since="29"/>
+		<field name="HINT_TEXT_IS_EDITABLE" since="28"/>
+		<field name="HINT_TEXT_IS_NOT_EDITABLE" since="28"/>
+		<field name="NO_OP"/>
+		<field name="TYPE_ADDRESS"/>
+		<field name="TYPE_DATE" since="28"/>
+		<field name="TYPE_DATE_TIME" since="28"/>
+		<field name="TYPE_EMAIL"/>
+		<field name="TYPE_FLIGHT_NUMBER" since="28"/>
+		<field name="TYPE_OTHER"/>
+		<field name="TYPE_PHONE"/>
+		<field name="TYPE_UNKNOWN" since="28"/>
+		<field name="TYPE_URL"/>
+		<field name="WIDGET_TYPE_CLIPBOARD" since="31"/>
+		<field name="WIDGET_TYPE_CUSTOM_EDITTEXT" since="28"/>
+		<field name="WIDGET_TYPE_CUSTOM_TEXTVIEW" since="28"/>
+		<field name="WIDGET_TYPE_CUSTOM_UNSELECTABLE_TEXTVIEW" since="28"/>
+		<field name="WIDGET_TYPE_EDITTEXT" since="28"/>
+		<field name="WIDGET_TYPE_EDIT_WEBVIEW" since="28"/>
+		<field name="WIDGET_TYPE_NOTIFICATION" since="29"/>
+		<field name="WIDGET_TYPE_TEXTVIEW" since="28"/>
+		<field name="WIDGET_TYPE_UNKNOWN" since="28"/>
+		<field name="WIDGET_TYPE_UNSELECTABLE_TEXTVIEW" since="28"/>
+		<field name="WIDGET_TYPE_WEBVIEW" since="28"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifier$EntityConfig" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="create(Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig;" deprecated="29"/>
+		<method name="createWithExplicitEntityList(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig;" deprecated="29"/>
+		<method name="createWithHints(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig;" deprecated="29"/>
+		<method name="getHints()Ljava/util/Collection;"/>
+		<method name="resolveEntityListModifications(Ljava/util/Collection;)Ljava/util/Collection;"/>
+		<method name="shouldIncludeTypesFromTextClassifier()Z" since="29"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifier$EntityConfig$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/view/textclassifier/TextClassifier$EntityConfig;"/>
+		<method name="includeTypesFromTextClassifier(Z)Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;"/>
+		<method name="setExcludedTypes(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;"/>
+		<method name="setHints(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;"/>
+		<method name="setIncludedTypes(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getActionIndices()[I"/>
+		<method name="getEntityTypes()[Ljava/lang/String;"/>
+		<method name="getEventCategory()I"/>
+		<method name="getEventContext()Landroid/view/textclassifier/TextClassificationContext;"/>
+		<method name="getEventIndex()I"/>
+		<method name="getEventType()I"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getLocale()Landroid/icu/util/ULocale;"/>
+		<method name="getModelName()Ljava/lang/String;"/>
+		<method name="getResultId()Ljava/lang/String;"/>
+		<method name="getScores()[F"/>
+		<field name="CATEGORY_CONVERSATION_ACTIONS"/>
+		<field name="CATEGORY_LANGUAGE_DETECTION"/>
+		<field name="CATEGORY_LINKIFY"/>
+		<field name="CATEGORY_SELECTION"/>
+		<field name="CREATOR"/>
+		<field name="TYPE_ACTIONS_GENERATED"/>
+		<field name="TYPE_ACTIONS_SHOWN"/>
+		<field name="TYPE_AUTO_SELECTION"/>
+		<field name="TYPE_COPY_ACTION"/>
+		<field name="TYPE_CUT_ACTION"/>
+		<field name="TYPE_LINKS_GENERATED" since="30"/>
+		<field name="TYPE_LINK_CLICKED"/>
+		<field name="TYPE_MANUAL_REPLY"/>
+		<field name="TYPE_OTHER_ACTION"/>
+		<field name="TYPE_OVERTYPE"/>
+		<field name="TYPE_PASTE_ACTION"/>
+		<field name="TYPE_SELECTION_DESTROYED"/>
+		<field name="TYPE_SELECTION_DRAG"/>
+		<field name="TYPE_SELECTION_MODIFIED"/>
+		<field name="TYPE_SELECTION_RESET"/>
+		<field name="TYPE_SELECTION_STARTED"/>
+		<field name="TYPE_SELECT_ALL"/>
+		<field name="TYPE_SHARE_ACTION"/>
+		<field name="TYPE_SMART_ACTION"/>
+		<field name="TYPE_SMART_SELECTION_MULTI"/>
+		<field name="TYPE_SMART_SELECTION_SINGLE"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="setActionIndices([I)Landroid/view/textclassifier/TextClassifierEvent$Builder;"/>
+		<method name="setEntityTypes([Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierEvent$Builder;"/>
+		<method name="setEventContext(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifierEvent$Builder;"/>
+		<method name="setEventIndex(I)Landroid/view/textclassifier/TextClassifierEvent$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextClassifierEvent$Builder;"/>
+		<method name="setLocale(Landroid/icu/util/ULocale;)Landroid/view/textclassifier/TextClassifierEvent$Builder;"/>
+		<method name="setModelName(Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierEvent$Builder;"/>
+		<method name="setResultId(Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierEvent$Builder;"/>
+		<method name="setScores([F)Landroid/view/textclassifier/TextClassifierEvent$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$ConversationActionsEvent" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$ConversationActionsEvent$Builder" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent$Builder"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="build()Landroid/view/textclassifier/TextClassifierEvent$ConversationActionsEvent;"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$LanguageDetectionEvent" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$LanguageDetectionEvent$Builder" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent$Builder"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="build()Landroid/view/textclassifier/TextClassifierEvent$LanguageDetectionEvent;"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$TextLinkifyEvent" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$TextLinkifyEvent$Builder" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent$Builder"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="build()Landroid/view/textclassifier/TextClassifierEvent$TextLinkifyEvent;"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$TextSelectionEvent" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent"/>
+		<method name="getRelativeSuggestedWordEndIndex()I"/>
+		<method name="getRelativeSuggestedWordStartIndex()I"/>
+		<method name="getRelativeWordEndIndex()I"/>
+		<method name="getRelativeWordStartIndex()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextClassifierEvent$TextSelectionEvent$Builder" since="29">
+		<extends name="android/view/textclassifier/TextClassifierEvent$Builder"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="build()Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent;"/>
+		<method name="setRelativeSuggestedWordEndIndex(I)Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent$Builder;"/>
+		<method name="setRelativeSuggestedWordStartIndex(I)Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent$Builder;"/>
+		<method name="setRelativeWordEndIndex(I)Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent$Builder;"/>
+		<method name="setRelativeWordStartIndex(I)Landroid/view/textclassifier/TextClassifierEvent$TextSelectionEvent$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/TextLanguage" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getConfidenceScore(Landroid/icu/util/ULocale;)F"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getLocale(I)Landroid/icu/util/ULocale;"/>
+		<method name="getLocaleHypothesisCount()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextLanguage$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/view/textclassifier/TextLanguage;"/>
+		<method name="putLocale(Landroid/icu/util/ULocale;F)Landroid/view/textclassifier/TextLanguage$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextLanguage$Builder;"/>
+		<method name="setId(Ljava/lang/String;)Landroid/view/textclassifier/TextLanguage$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/TextLanguage$Request" since="29">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCallingPackageName()Ljava/lang/String;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextLanguage$Request$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="build()Landroid/view/textclassifier/TextLanguage$Request;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextLanguage$Request$Builder;"/>
+	</class>
+	<class name="android/view/textclassifier/TextLinks" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="apply(Landroid/text/Spannable;ILjava/util/function/Function;)I"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="29"/>
+		<method name="getLinks()Ljava/util/Collection;"/>
+		<method name="getText()Ljava/lang/CharSequence;" since="30"/>
+		<field name="APPLY_STRATEGY_IGNORE"/>
+		<field name="APPLY_STRATEGY_REPLACE"/>
+		<field name="CREATOR"/>
+		<field name="STATUS_DIFFERENT_TEXT"/>
+		<field name="STATUS_LINKS_APPLIED"/>
+		<field name="STATUS_NO_LINKS_APPLIED"/>
+		<field name="STATUS_NO_LINKS_FOUND"/>
+		<field name="STATUS_UNSUPPORTED_CHARACTER" since="29"/>
+	</class>
+	<class name="android/view/textclassifier/TextLinks$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="addLink(IILjava/util/Map;)Landroid/view/textclassifier/TextLinks$Builder;"/>
+		<method name="addLink(IILjava/util/Map;Landroid/os/Bundle;)Landroid/view/textclassifier/TextLinks$Builder;" since="29"/>
+		<method name="build()Landroid/view/textclassifier/TextLinks;"/>
+		<method name="clearTextLinks()Landroid/view/textclassifier/TextLinks$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextLinks$Builder;" since="29"/>
+	</class>
+	<class name="android/view/textclassifier/TextLinks$Request" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCallingPackageName()Ljava/lang/String;" since="29"/>
+		<method name="getDefaultLocales()Landroid/os/LocaleList;"/>
+		<method name="getEntityConfig()Landroid/view/textclassifier/TextClassifier$EntityConfig;"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="29"/>
+		<method name="getReferenceTime()Ljava/time/ZonedDateTime;" since="30"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextLinks$Request$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="build()Landroid/view/textclassifier/TextLinks$Request;"/>
+		<method name="setDefaultLocales(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextLinks$Request$Builder;"/>
+		<method name="setEntityConfig(Landroid/view/textclassifier/TextClassifier$EntityConfig;)Landroid/view/textclassifier/TextLinks$Request$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextLinks$Request$Builder;" since="29"/>
+		<method name="setReferenceTime(Ljava/time/ZonedDateTime;)Landroid/view/textclassifier/TextLinks$Request$Builder;" since="30"/>
+	</class>
+	<class name="android/view/textclassifier/TextLinks$TextLink" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getConfidenceScore(Ljava/lang/String;)F"/>
+		<method name="getEnd()I"/>
+		<method name="getEntity(I)Ljava/lang/String;"/>
+		<method name="getEntityCount()I"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="29"/>
+		<method name="getStart()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextLinks$TextLinkSpan" since="28">
+		<extends name="android/text/style/ClickableSpan"/>
+		<method name="&lt;init>(Landroid/view/textclassifier/TextLinks$TextLink;)V"/>
+		<method name="getTextLink()Landroid/view/textclassifier/TextLinks$TextLink;"/>
+	</class>
+	<class name="android/view/textclassifier/TextSelection" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable" since="28"/>
+		<method name="getConfidenceScore(Ljava/lang/String;)F"/>
+		<method name="getEntity(I)Ljava/lang/String;"/>
+		<method name="getEntityCount()I"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="29"/>
+		<method name="getId()Ljava/lang/String;" since="28"/>
+		<method name="getSelectionEndIndex()I"/>
+		<method name="getSelectionStartIndex()I"/>
+		<method name="getTextClassification()Landroid/view/textclassifier/TextClassification;" since="31"/>
+		<field name="CREATOR" since="28"/>
+	</class>
+	<class name="android/view/textclassifier/TextSelection$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="build()Landroid/view/textclassifier/TextSelection;"/>
+		<method name="setEntityType(Ljava/lang/String;F)Landroid/view/textclassifier/TextSelection$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextSelection$Builder;" since="29"/>
+		<method name="setId(Ljava/lang/String;)Landroid/view/textclassifier/TextSelection$Builder;" since="28"/>
+		<method name="setTextClassification(Landroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/TextSelection$Builder;" since="31"/>
+	</class>
+	<class name="android/view/textclassifier/TextSelection$Request" since="28">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getCallingPackageName()Ljava/lang/String;" since="29"/>
+		<method name="getDefaultLocales()Landroid/os/LocaleList;"/>
+		<method name="getEndIndex()I"/>
+		<method name="getExtras()Landroid/os/Bundle;" since="29"/>
+		<method name="getStartIndex()I"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<method name="shouldIncludeTextClassification()Z" since="31"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textclassifier/TextSelection$Request$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;II)V"/>
+		<method name="build()Landroid/view/textclassifier/TextSelection$Request;"/>
+		<method name="setDefaultLocales(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextSelection$Request$Builder;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textclassifier/TextSelection$Request$Builder;" since="29"/>
+		<method name="setIncludeTextClassification(Z)Landroid/view/textclassifier/TextSelection$Request$Builder;" since="31"/>
+	</class>
+	<class name="android/view/textservice/SentenceSuggestionsInfo" since="16">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>([Landroid/view/textservice/SuggestionsInfo;[I[I)V"/>
+		<method name="getLengthAt(I)I"/>
+		<method name="getOffsetAt(I)I"/>
+		<method name="getSuggestionsCount()I"/>
+		<method name="getSuggestionsInfoAt(I)Landroid/view/textservice/SuggestionsInfo;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textservice/SpellCheckerInfo" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getComponent()Landroid/content/ComponentName;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getPackageName()Ljava/lang/String;"/>
+		<method name="getServiceInfo()Landroid/content/pm/ServiceInfo;"/>
+		<method name="getSettingsActivity()Ljava/lang/String;"/>
+		<method name="getSubtypeAt(I)Landroid/view/textservice/SpellCheckerSubtype;"/>
+		<method name="getSubtypeCount()I"/>
+		<method name="loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textservice/SpellCheckerSession" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V" since="15"/>
+		<method name="close()V"/>
+		<method name="getSentenceSuggestions([Landroid/view/textservice/TextInfo;I)V" since="16"/>
+		<method name="getSpellChecker()Landroid/view/textservice/SpellCheckerInfo;"/>
+		<method name="getSuggestions(Landroid/view/textservice/TextInfo;I)V" deprecated="16"/>
+		<method name="getSuggestions([Landroid/view/textservice/TextInfo;IZ)V" deprecated="16"/>
+		<method name="isSessionDisconnected()Z"/>
+		<field name="SERVICE_META_DATA"/>
+	</class>
+	<class name="android/view/textservice/SpellCheckerSession$SpellCheckerSessionListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onGetSentenceSuggestions([Landroid/view/textservice/SentenceSuggestionsInfo;)V" since="16"/>
+		<method name="onGetSuggestions([Landroid/view/textservice/SuggestionsInfo;)V"/>
+	</class>
+	<class name="android/view/textservice/SpellCheckerSession$SpellCheckerSessionParams" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getSupportedAttributes()I"/>
+		<method name="shouldReferToSpellCheckerLanguageSettings()Z"/>
+	</class>
+	<class name="android/view/textservice/SpellCheckerSession$SpellCheckerSessionParams$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams$Builder;"/>
+		<method name="setLocale(Ljava/util/Locale;)Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams$Builder;"/>
+		<method name="setShouldReferToSpellCheckerLanguageSettings(Z)Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams$Builder;"/>
+		<method name="setSupportedAttributes(I)Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams$Builder;"/>
+	</class>
+	<class name="android/view/textservice/SpellCheckerSubtype" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(ILjava/lang/String;Ljava/lang/String;)V" deprecated="24"/>
+		<method name="containsExtraValueKey(Ljava/lang/String;)Z" since="16"/>
+		<method name="getDisplayName(Landroid/content/Context;Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;"/>
+		<method name="getExtraValue()Ljava/lang/String;"/>
+		<method name="getExtraValueOf(Ljava/lang/String;)Ljava/lang/String;" since="16"/>
+		<method name="getLanguageTag()Ljava/lang/String;" since="24"/>
+		<method name="getLocale()Ljava/lang/String;" deprecated="24"/>
+		<method name="getNameResId()I"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textservice/SuggestionsInfo" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(I[Ljava/lang/String;)V"/>
+		<method name="&lt;init>(I[Ljava/lang/String;II)V"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="getCookie()I"/>
+		<method name="getSequence()I"/>
+		<method name="getSuggestionAt(I)Ljava/lang/String;"/>
+		<method name="getSuggestionsAttributes()I"/>
+		<method name="getSuggestionsCount()I"/>
+		<method name="setCookieAndSequence(II)V"/>
+		<field name="CREATOR"/>
+		<field name="RESULT_ATTR_DONT_SHOW_UI_FOR_SUGGESTIONS" since="31"/>
+		<field name="RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS" since="15"/>
+		<field name="RESULT_ATTR_IN_THE_DICTIONARY"/>
+		<field name="RESULT_ATTR_LOOKS_LIKE_GRAMMAR_ERROR" since="31"/>
+		<field name="RESULT_ATTR_LOOKS_LIKE_TYPO"/>
+	</class>
+	<class name="android/view/textservice/TextInfo" since="14">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;IIII)V" since="21"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;II)V"/>
+		<method name="getCharSequence()Ljava/lang/CharSequence;" since="21"/>
+		<method name="getCookie()I"/>
+		<method name="getSequence()I"/>
+		<method name="getText()Ljava/lang/String;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/textservice/TextServicesManager" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="getCurrentSpellCheckerInfo()Landroid/view/textservice/SpellCheckerInfo;" since="31"/>
+		<method name="getEnabledSpellCheckerInfos()Ljava/util/List;" since="31"/>
+		<method name="isSpellCheckerEnabled()Z" since="31"/>
+		<method name="newSpellCheckerSession(Landroid/os/Bundle;Ljava/util/Locale;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;Z)Landroid/view/textservice/SpellCheckerSession;"/>
+		<method name="newSpellCheckerSession(Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionParams;Ljava/util/concurrent/Executor;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;)Landroid/view/textservice/SpellCheckerSession;" since="31"/>
+	</class>
+	<class name="android/view/translation/TranslationCapability" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getSourceSpec()Landroid/view/translation/TranslationSpec;"/>
+		<method name="getState()I"/>
+		<method name="getSupportedTranslationFlags()I"/>
+		<method name="getTargetSpec()Landroid/view/translation/TranslationSpec;"/>
+		<method name="isUiTranslationEnabled()Z"/>
+		<field name="CREATOR"/>
+		<field name="STATE_AVAILABLE_TO_DOWNLOAD"/>
+		<field name="STATE_DOWNLOADING"/>
+		<field name="STATE_NOT_AVAILABLE"/>
+		<field name="STATE_ON_DEVICE"/>
+	</class>
+	<class name="android/view/translation/TranslationContext" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getSourceSpec()Landroid/view/translation/TranslationSpec;"/>
+		<method name="getTargetSpec()Landroid/view/translation/TranslationSpec;"/>
+		<method name="getTranslationFlags()I"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_DEFINITIONS"/>
+		<field name="FLAG_LOW_LATENCY"/>
+		<field name="FLAG_TRANSLITERATION"/>
+	</class>
+	<class name="android/view/translation/TranslationContext$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/translation/TranslationSpec;Landroid/view/translation/TranslationSpec;)V"/>
+		<method name="build()Landroid/view/translation/TranslationContext;"/>
+		<method name="setTranslationFlags(I)Landroid/view/translation/TranslationContext$Builder;"/>
+	</class>
+	<class name="android/view/translation/TranslationManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="addOnDeviceTranslationCapabilityUpdateListener(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="createOnDeviceTranslator(Landroid/view/translation/TranslationContext;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+		<method name="getOnDeviceTranslationCapabilities(II)Ljava/util/Set;"/>
+		<method name="getOnDeviceTranslationSettingsActivityIntent()Landroid/app/PendingIntent;"/>
+		<method name="removeOnDeviceTranslationCapabilityUpdateListener(Ljava/util/function/Consumer;)V"/>
+	</class>
+	<class name="android/view/translation/TranslationRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getFlags()I"/>
+		<method name="getTranslationRequestValues()Ljava/util/List;"/>
+		<method name="getViewTranslationRequests()Ljava/util/List;"/>
+		<field name="CREATOR"/>
+		<field name="FLAG_DICTIONARY_RESULT"/>
+		<field name="FLAG_PARTIAL_RESPONSES"/>
+		<field name="FLAG_TRANSLATION_RESULT"/>
+		<field name="FLAG_TRANSLITERATION_RESULT"/>
+	</class>
+	<class name="android/view/translation/TranslationRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Landroid/view/translation/TranslationRequest;"/>
+		<method name="setFlags(I)Landroid/view/translation/TranslationRequest$Builder;"/>
+		<method name="setTranslationRequestValues(Ljava/util/List;)Landroid/view/translation/TranslationRequest$Builder;"/>
+		<method name="setViewTranslationRequests(Ljava/util/List;)Landroid/view/translation/TranslationRequest$Builder;"/>
+	</class>
+	<class name="android/view/translation/TranslationRequestValue" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="forText(Ljava/lang/CharSequence;)Landroid/view/translation/TranslationRequestValue;"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/translation/TranslationResponse" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getTranslationResponseValues()Landroid/util/SparseArray;"/>
+		<method name="getTranslationStatus()I"/>
+		<method name="getViewTranslationResponses()Landroid/util/SparseArray;"/>
+		<method name="isFinalResponse()Z"/>
+		<field name="CREATOR"/>
+		<field name="TRANSLATION_STATUS_CONTEXT_UNSUPPORTED"/>
+		<field name="TRANSLATION_STATUS_SUCCESS"/>
+		<field name="TRANSLATION_STATUS_UNKNOWN_ERROR"/>
+	</class>
+	<class name="android/view/translation/TranslationResponse$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="build()Landroid/view/translation/TranslationResponse;"/>
+		<method name="setFinalResponse(Z)Landroid/view/translation/TranslationResponse$Builder;"/>
+		<method name="setTranslationResponseValue(ILandroid/view/translation/TranslationResponseValue;)Landroid/view/translation/TranslationResponse$Builder;"/>
+		<method name="setTranslationResponseValues(Landroid/util/SparseArray;)Landroid/view/translation/TranslationResponse$Builder;"/>
+		<method name="setViewTranslationResponse(ILandroid/view/translation/ViewTranslationResponse;)Landroid/view/translation/TranslationResponse$Builder;"/>
+		<method name="setViewTranslationResponses(Landroid/util/SparseArray;)Landroid/view/translation/TranslationResponse$Builder;"/>
+	</class>
+	<class name="android/view/translation/TranslationResponseValue" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="forError()Landroid/view/translation/TranslationResponseValue;"/>
+		<method name="getExtras()Landroid/os/Bundle;"/>
+		<method name="getStatusCode()I"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<method name="getTransliteration()Ljava/lang/CharSequence;"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_DEFINITIONS"/>
+		<field name="STATUS_ERROR"/>
+		<field name="STATUS_SUCCESS"/>
+	</class>
+	<class name="android/view/translation/TranslationResponseValue$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="build()Landroid/view/translation/TranslationResponseValue;"/>
+		<method name="setExtras(Landroid/os/Bundle;)Landroid/view/translation/TranslationResponseValue$Builder;"/>
+		<method name="setText(Ljava/lang/CharSequence;)Landroid/view/translation/TranslationResponseValue$Builder;"/>
+		<method name="setTransliteration(Ljava/lang/CharSequence;)Landroid/view/translation/TranslationResponseValue$Builder;"/>
+	</class>
+	<class name="android/view/translation/TranslationSpec" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="&lt;init>(Landroid/icu/util/ULocale;I)V"/>
+		<method name="getDataFormat()I"/>
+		<method name="getLocale()Landroid/icu/util/ULocale;"/>
+		<field name="CREATOR"/>
+		<field name="DATA_FORMAT_TEXT"/>
+	</class>
+	<class name="android/view/translation/Translator" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="destroy()V"/>
+		<method name="isDestroyed()Z"/>
+		<method name="translate(Landroid/view/translation/TranslationRequest;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V"/>
+	</class>
+	<class name="android/view/translation/UiTranslationManager" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="registerUiTranslationStateCallback(Ljava/util/concurrent/Executor;Landroid/view/translation/UiTranslationStateCallback;)V"/>
+		<method name="unregisterUiTranslationStateCallback(Landroid/view/translation/UiTranslationStateCallback;)V"/>
+	</class>
+	<class name="android/view/translation/UiTranslationStateCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onFinished()V"/>
+		<method name="onPaused()V"/>
+		<method name="onResumed(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V"/>
+		<method name="onStarted(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V"/>
+	</class>
+	<class name="android/view/translation/ViewTranslationCallback" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onClearTranslation(Landroid/view/View;)Z"/>
+		<method name="onHideTranslation(Landroid/view/View;)Z"/>
+		<method name="onShowTranslation(Landroid/view/View;)Z"/>
+	</class>
+	<class name="android/view/translation/ViewTranslationRequest" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAutofillId()Landroid/view/autofill/AutofillId;"/>
+		<method name="getKeys()Ljava/util/Set;"/>
+		<method name="getValue(Ljava/lang/String;)Landroid/view/translation/TranslationRequestValue;"/>
+		<field name="CREATOR"/>
+		<field name="ID_TEXT"/>
+	</class>
+	<class name="android/view/translation/ViewTranslationRequest$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/autofill/AutofillId;)V"/>
+		<method name="&lt;init>(Landroid/view/autofill/AutofillId;J)V"/>
+		<method name="build()Landroid/view/translation/ViewTranslationRequest;"/>
+		<method name="setValue(Ljava/lang/String;Landroid/view/translation/TranslationRequestValue;)Landroid/view/translation/ViewTranslationRequest$Builder;"/>
+	</class>
+	<class name="android/view/translation/ViewTranslationResponse" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getAutofillId()Landroid/view/autofill/AutofillId;"/>
+		<method name="getKeys()Ljava/util/Set;"/>
+		<method name="getValue(Ljava/lang/String;)Landroid/view/translation/TranslationResponseValue;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/view/translation/ViewTranslationResponse$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/autofill/AutofillId;)V"/>
+		<method name="build()Landroid/view/translation/ViewTranslationResponse;"/>
+		<method name="setValue(Ljava/lang/String;Landroid/view/translation/TranslationResponseValue;)Landroid/view/translation/ViewTranslationResponse$Builder;"/>
+	</class>
+	<class name="android/webkit/CacheManager" since="1" deprecated="11" removed="17">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="cacheDisabled()Z" deprecated="15"/>
+		<method name="endCacheTransaction()Z" deprecated="15"/>
+		<method name="getCacheFile(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult;" deprecated="15"/>
+		<method name="getCacheFileBaseDir()Ljava/io/File;" deprecated="15"/>
+		<method name="saveCacheFile(Ljava/lang/String;Landroid/webkit/CacheManager$CacheResult;)V" deprecated="15"/>
+		<method name="startCacheTransaction()Z" deprecated="15"/>
+	</class>
+	<class name="android/webkit/CacheManager$CacheResult" since="1" deprecated="11" removed="17">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContentDisposition()Ljava/lang/String;" since="7"/>
+		<method name="getContentLength()J"/>
+		<method name="getETag()Ljava/lang/String;"/>
+		<method name="getEncoding()Ljava/lang/String;"/>
+		<method name="getExpires()J"/>
+		<method name="getExpiresString()Ljava/lang/String;" since="7"/>
+		<method name="getHttpStatusCode()I"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getLastModified()Ljava/lang/String;"/>
+		<method name="getLocalPath()Ljava/lang/String;"/>
+		<method name="getLocation()Ljava/lang/String;"/>
+		<method name="getMimeType()Ljava/lang/String;"/>
+		<method name="getOutputStream()Ljava/io/OutputStream;"/>
+		<method name="setEncoding(Ljava/lang/String;)V"/>
+		<method name="setInputStream(Ljava/io/InputStream;)V"/>
+	</class>
+	<class name="android/webkit/ClientCertRequest" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="cancel()V"/>
+		<method name="getHost()Ljava/lang/String;"/>
+		<method name="getKeyTypes()[Ljava/lang/String;"/>
+		<method name="getPort()I"/>
+		<method name="getPrincipals()[Ljava/security/Principal;"/>
+		<method name="ignore()V"/>
+		<method name="proceed(Ljava/security/PrivateKey;[Ljava/security/cert/X509Certificate;)V"/>
+	</class>
+	<class name="android/webkit/ConsoleMessage" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILandroid/webkit/ConsoleMessage$MessageLevel;)V"/>
+		<method name="lineNumber()I"/>
+		<method name="message()Ljava/lang/String;"/>
+		<method name="messageLevel()Landroid/webkit/ConsoleMessage$MessageLevel;"/>
+		<method name="sourceId()Ljava/lang/String;"/>
+	</class>
+	<class name="android/webkit/ConsoleMessage$MessageLevel" since="8">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/ConsoleMessage$MessageLevel;"/>
+		<method name="values()[Landroid/webkit/ConsoleMessage$MessageLevel;"/>
+		<field name="DEBUG"/>
+		<field name="ERROR"/>
+		<field name="LOG"/>
+		<field name="TIP"/>
+		<field name="WARNING"/>
+	</class>
+	<class name="android/webkit/CookieManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" since="22" deprecated="29"/>
+		<method name="acceptCookie()Z"/>
+		<method name="acceptThirdPartyCookies(Landroid/webkit/WebView;)Z" since="21"/>
+		<method name="allowFileSchemeCookies()Z" since="12"/>
+		<method name="flush()V" since="21"/>
+		<method name="getCookie(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getInstance()Landroid/webkit/CookieManager;"/>
+		<method name="hasCookies()Z"/>
+		<method name="removeAllCookie()V" deprecated="21"/>
+		<method name="removeAllCookies(Landroid/webkit/ValueCallback;)V" since="21"/>
+		<method name="removeExpiredCookie()V" deprecated="21"/>
+		<method name="removeSessionCookie()V" deprecated="21"/>
+		<method name="removeSessionCookies(Landroid/webkit/ValueCallback;)V" since="21"/>
+		<method name="setAcceptCookie(Z)V"/>
+		<method name="setAcceptFileSchemeCookies(Z)V" since="12" deprecated="30"/>
+		<method name="setAcceptThirdPartyCookies(Landroid/webkit/WebView;Z)V" since="21"/>
+		<method name="setCookie(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setCookie(Ljava/lang/String;Ljava/lang/String;Landroid/webkit/ValueCallback;)V" since="21"/>
+	</class>
+	<class name="android/webkit/CookieSyncManager" since="1" deprecated="21">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Runnable"/>
+		<method name="createInstance(Landroid/content/Context;)Landroid/webkit/CookieSyncManager;" deprecated="29"/>
+		<method name="getInstance()Landroid/webkit/CookieSyncManager;" deprecated="29"/>
+		<method name="onSyncInit()V" since="28" removed="29"/>
+		<method name="resetSync()V" since="9" deprecated="21"/>
+		<method name="startSync()V" since="9" deprecated="21"/>
+		<method name="stopSync()V" since="9" deprecated="21"/>
+		<method name="sync()V" since="9" deprecated="21"/>
+		<method name="syncFromRamToFlash()V" deprecated="21"/>
+		<field name="LOGTAG" since="21" removed="28"/>
+		<field name="mDataBase" since="21" removed="28"/>
+		<field name="mHandler" since="21" removed="28"/>
+	</class>
+	<class name="android/webkit/DateSorter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="getBoundary(I)J"/>
+		<method name="getIndex(J)I"/>
+		<method name="getLabel(I)Ljava/lang/String;"/>
+		<field name="DAY_COUNT"/>
+	</class>
+	<class name="android/webkit/DownloadListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onDownloadStart(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V"/>
+	</class>
+	<class name="android/webkit/GeolocationPermissions" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="16"/>
+		<method name="allow(Ljava/lang/String;)V" since="7"/>
+		<method name="clear(Ljava/lang/String;)V" since="7"/>
+		<method name="clearAll()V" since="7"/>
+		<method name="getAllowed(Ljava/lang/String;Landroid/webkit/ValueCallback;)V" since="7"/>
+		<method name="getInstance()Landroid/webkit/GeolocationPermissions;" since="7"/>
+		<method name="getOrigins(Landroid/webkit/ValueCallback;)V" since="7"/>
+	</class>
+	<class name="android/webkit/GeolocationPermissions$Callback" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="invoke(Ljava/lang/String;ZZ)V"/>
+	</class>
+	<class name="android/webkit/HttpAuthHandler" since="1">
+		<extends name="android/os/Handler"/>
+		<method name="cancel()V"/>
+		<method name="proceed(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="useHttpAuthUsernamePassword()Z"/>
+	</class>
+	<class name="android/webkit/JavascriptInterface" since="17">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="android/webkit/JsPromptResult" since="1">
+		<extends name="android/webkit/JsResult"/>
+		<method name="confirm(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/webkit/JsResult" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V"/>
+		<method name="confirm()V"/>
+		<method name="wakeUp()V" removed="16"/>
+		<field name="mProxy" removed="8"/>
+		<field name="mResult" removed="16"/>
+	</class>
+	<class name="android/webkit/MimeTypeMap" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getExtensionFromMimeType(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getFileExtensionFromUrl(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getMimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getSingleton()Landroid/webkit/MimeTypeMap;"/>
+		<method name="hasExtension(Ljava/lang/String;)Z"/>
+		<method name="hasMimeType(Ljava/lang/String;)Z"/>
+	</class>
+	<class name="android/webkit/PermissionRequest" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="deny()V"/>
+		<method name="getOrigin()Landroid/net/Uri;"/>
+		<method name="getResources()[Ljava/lang/String;"/>
+		<method name="grant([Ljava/lang/String;)V"/>
+		<field name="RESOURCE_AUDIO_CAPTURE"/>
+		<field name="RESOURCE_MIDI_SYSEX" since="23"/>
+		<field name="RESOURCE_PROTECTED_MEDIA_ID"/>
+		<field name="RESOURCE_VIDEO_CAPTURE"/>
+	</class>
+	<class name="android/webkit/Plugin" since="1" deprecated="5" removed="12">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="dispatchClickEvent(Landroid/content/Context;)V"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getFileName()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPath()Ljava/lang/String;"/>
+		<method name="setClickHandler(Landroid/webkit/Plugin$PreferencesClickHandler;)V"/>
+		<method name="setDescription(Ljava/lang/String;)V"/>
+		<method name="setFileName(Ljava/lang/String;)V"/>
+		<method name="setName(Ljava/lang/String;)V"/>
+		<method name="setPath(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/webkit/Plugin$PreferencesClickHandler" since="1" removed="12">
+		<extends name="java/lang/Object"/>
+		<method name="handleClickEvent(Landroid/content/Context;)V"/>
+	</class>
+	<class name="android/webkit/PluginData" since="3" deprecated="5" removed="12">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/io/InputStream;JLjava/util/Map;I)V"/>
+		<method name="getContentLength()J"/>
+		<method name="getHeaders()Ljava/util/Map;"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getStatusCode()I"/>
+	</class>
+	<class name="android/webkit/PluginList" since="1" deprecated="5" removed="12">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addPlugin(Landroid/webkit/Plugin;)V"/>
+		<method name="clear()V"/>
+		<method name="getList()Ljava/util/List;"/>
+		<method name="pluginClicked(Landroid/content/Context;I)V"/>
+		<method name="removePlugin(Landroid/webkit/Plugin;)V"/>
+	</class>
+	<class name="android/webkit/PluginStub" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="getEmbeddedView(ILandroid/content/Context;)Landroid/view/View;"/>
+		<method name="getFullScreenView(ILandroid/content/Context;)Landroid/view/View;"/>
+	</class>
+	<class name="android/webkit/RenderProcessGoneDetail" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="didCrash()Z"/>
+		<method name="rendererPriorityAtExit()I"/>
+	</class>
+	<class name="android/webkit/SafeBrowsingResponse" since="27">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="backToSafety(Z)V"/>
+		<method name="proceed(Z)V"/>
+		<method name="showInterstitial(Z)V"/>
+	</class>
+	<class name="android/webkit/ServiceWorkerClient" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="shouldInterceptRequest(Landroid/webkit/WebResourceRequest;)Landroid/webkit/WebResourceResponse;"/>
+	</class>
+	<class name="android/webkit/ServiceWorkerController" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="getInstance()Landroid/webkit/ServiceWorkerController;"/>
+		<method name="getServiceWorkerWebSettings()Landroid/webkit/ServiceWorkerWebSettings;"/>
+		<method name="setServiceWorkerClient(Landroid/webkit/ServiceWorkerClient;)V"/>
+	</class>
+	<class name="android/webkit/ServiceWorkerWebSettings" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAllowContentAccess()Z"/>
+		<method name="getAllowFileAccess()Z"/>
+		<method name="getBlockNetworkLoads()Z"/>
+		<method name="getCacheMode()I"/>
+		<method name="setAllowContentAccess(Z)V"/>
+		<method name="setAllowFileAccess(Z)V"/>
+		<method name="setBlockNetworkLoads(Z)V"/>
+		<method name="setCacheMode(I)V"/>
+	</class>
+	<class name="android/webkit/SslErrorHandler" since="1">
+		<extends name="android/os/Handler"/>
+		<method name="cancel()V"/>
+		<method name="proceed()V"/>
+	</class>
+	<class name="android/webkit/TracingConfig" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="getCustomIncludedCategories()Ljava/util/List;"/>
+		<method name="getPredefinedCategories()I"/>
+		<method name="getTracingMode()I"/>
+		<field name="CATEGORIES_ALL"/>
+		<field name="CATEGORIES_ANDROID_WEBVIEW"/>
+		<field name="CATEGORIES_FRAME_VIEWER"/>
+		<field name="CATEGORIES_INPUT_LATENCY"/>
+		<field name="CATEGORIES_JAVASCRIPT_AND_RENDERING"/>
+		<field name="CATEGORIES_NONE"/>
+		<field name="CATEGORIES_RENDERING"/>
+		<field name="CATEGORIES_WEB_DEVELOPER"/>
+		<field name="RECORD_CONTINUOUSLY"/>
+		<field name="RECORD_UNTIL_FULL"/>
+	</class>
+	<class name="android/webkit/TracingConfig$Builder" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addCategories(Ljava/util/Collection;)Landroid/webkit/TracingConfig$Builder;"/>
+		<method name="addCategories([I)Landroid/webkit/TracingConfig$Builder;"/>
+		<method name="addCategories([Ljava/lang/String;)Landroid/webkit/TracingConfig$Builder;"/>
+		<method name="build()Landroid/webkit/TracingConfig;"/>
+		<method name="setTracingMode(I)Landroid/webkit/TracingConfig$Builder;"/>
+	</class>
+	<class name="android/webkit/TracingController" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="getInstance()Landroid/webkit/TracingController;"/>
+		<method name="isTracing()Z"/>
+		<method name="start(Landroid/webkit/TracingConfig;)V"/>
+		<method name="stop(Ljava/io/OutputStream;Ljava/util/concurrent/Executor;)Z"/>
+	</class>
+	<class name="android/webkit/URLUtil" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="composeSearchUrl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="decode([B)[B"/>
+		<method name="guessFileName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="guessUrl(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="isAboutUrl(Ljava/lang/String;)Z"/>
+		<method name="isAssetUrl(Ljava/lang/String;)Z"/>
+		<method name="isContentUrl(Ljava/lang/String;)Z"/>
+		<method name="isCookielessProxyUrl(Ljava/lang/String;)Z" deprecated="15"/>
+		<method name="isDataUrl(Ljava/lang/String;)Z"/>
+		<method name="isFileUrl(Ljava/lang/String;)Z"/>
+		<method name="isHttpUrl(Ljava/lang/String;)Z"/>
+		<method name="isHttpsUrl(Ljava/lang/String;)Z"/>
+		<method name="isJavaScriptUrl(Ljava/lang/String;)Z"/>
+		<method name="isNetworkUrl(Ljava/lang/String;)Z"/>
+		<method name="isValidUrl(Ljava/lang/String;)Z"/>
+		<method name="stripAnchor(Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="android/webkit/UrlInterceptHandler" since="1" deprecated="5" removed="12">
+		<extends name="java/lang/Object"/>
+		<method name="getPluginData(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/PluginData;" since="3"/>
+		<method name="service(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult;"/>
+	</class>
+	<class name="android/webkit/UrlInterceptRegistry" since="1" deprecated="5" removed="12">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getPluginData(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/PluginData;" since="3"/>
+		<method name="getSurrogate(Ljava/lang/String;Ljava/util/Map;)Landroid/webkit/CacheManager$CacheResult;"/>
+		<method name="registerHandler(Landroid/webkit/UrlInterceptHandler;)Z"/>
+		<method name="setUrlInterceptDisabled(Z)V"/>
+		<method name="unregisterHandler(Landroid/webkit/UrlInterceptHandler;)Z"/>
+		<method name="urlInterceptDisabled()Z"/>
+	</class>
+	<class name="android/webkit/ValueCallback" since="7">
+		<extends name="java/lang/Object"/>
+		<method name="onReceiveValue(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="android/webkit/WebBackForwardList" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V" since="22"/>
+		<method name="clone()Landroid/webkit/WebBackForwardList;"/>
+		<method name="getCurrentIndex()I"/>
+		<method name="getCurrentItem()Landroid/webkit/WebHistoryItem;"/>
+		<method name="getItemAtIndex(I)Landroid/webkit/WebHistoryItem;"/>
+		<method name="getSize()I"/>
+	</class>
+	<class name="android/webkit/WebChromeClient" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getDefaultVideoPoster()Landroid/graphics/Bitmap;" since="7"/>
+		<method name="getVideoLoadingProgressView()Landroid/view/View;" since="7"/>
+		<method name="getVisitedHistory(Landroid/webkit/ValueCallback;)V" since="7"/>
+		<method name="onCloseWindow(Landroid/webkit/WebView;)V"/>
+		<method name="onConsoleMessage(Landroid/webkit/ConsoleMessage;)Z" since="8"/>
+		<method name="onConsoleMessage(Ljava/lang/String;ILjava/lang/String;)V" since="7" deprecated="15"/>
+		<method name="onCreateWindow(Landroid/webkit/WebView;ZZLandroid/os/Message;)Z"/>
+		<method name="onExceededDatabaseQuota(Ljava/lang/String;Ljava/lang/String;JJJLandroid/webkit/WebStorage$QuotaUpdater;)V" since="5" deprecated="19"/>
+		<method name="onGeolocationPermissionsHidePrompt()V" since="5"/>
+		<method name="onGeolocationPermissionsShowPrompt(Ljava/lang/String;Landroid/webkit/GeolocationPermissions$Callback;)V" since="5"/>
+		<method name="onHideCustomView()V" since="7"/>
+		<method name="onJsAlert(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Landroid/webkit/JsResult;)Z"/>
+		<method name="onJsBeforeUnload(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Landroid/webkit/JsResult;)Z"/>
+		<method name="onJsConfirm(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Landroid/webkit/JsResult;)Z"/>
+		<method name="onJsPrompt(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/webkit/JsPromptResult;)Z"/>
+		<method name="onJsTimeout()Z" since="7" deprecated="17"/>
+		<method name="onPermissionRequest(Landroid/webkit/PermissionRequest;)V" since="21"/>
+		<method name="onPermissionRequestCanceled(Landroid/webkit/PermissionRequest;)V" since="21"/>
+		<method name="onProgressChanged(Landroid/webkit/WebView;I)V"/>
+		<method name="onReachedMaxAppCacheSize(JJLandroid/webkit/WebStorage$QuotaUpdater;)V" since="7" deprecated="19"/>
+		<method name="onReceivedIcon(Landroid/webkit/WebView;Landroid/graphics/Bitmap;)V"/>
+		<method name="onReceivedTitle(Landroid/webkit/WebView;Ljava/lang/String;)V"/>
+		<method name="onReceivedTouchIconUrl(Landroid/webkit/WebView;Ljava/lang/String;Z)V" since="7"/>
+		<method name="onRequestFocus(Landroid/webkit/WebView;)V"/>
+		<method name="onShowCustomView(Landroid/view/View;ILandroid/webkit/WebChromeClient$CustomViewCallback;)V" since="14" deprecated="18"/>
+		<method name="onShowCustomView(Landroid/view/View;Landroid/webkit/WebChromeClient$CustomViewCallback;)V" since="7"/>
+		<method name="onShowFileChooser(Landroid/webkit/WebView;Landroid/webkit/ValueCallback;Landroid/webkit/WebChromeClient$FileChooserParams;)Z" since="21"/>
+	</class>
+	<class name="android/webkit/WebChromeClient$CustomViewCallback" since="7">
+		<extends name="java/lang/Object"/>
+		<method name="onCustomViewHidden()V"/>
+	</class>
+	<class name="android/webkit/WebChromeClient$FileChooserParams" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="createIntent()Landroid/content/Intent;"/>
+		<method name="getAcceptTypes()[Ljava/lang/String;"/>
+		<method name="getFilenameHint()Ljava/lang/String;"/>
+		<method name="getMode()I"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<method name="isCaptureEnabled()Z"/>
+		<method name="parseResult(ILandroid/content/Intent;)[Landroid/net/Uri;"/>
+		<field name="MODE_OPEN"/>
+		<field name="MODE_OPEN_MULTIPLE"/>
+		<field name="MODE_SAVE"/>
+	</class>
+	<class name="android/webkit/WebHistoryItem" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V" since="22"/>
+		<method name="clone()Landroid/webkit/WebHistoryItem;"/>
+		<method name="getFavicon()Landroid/graphics/Bitmap;"/>
+		<method name="getId()I" deprecated="15" removed="17"/>
+		<method name="getOriginalUrl()Ljava/lang/String;" since="3"/>
+		<method name="getTitle()Ljava/lang/String;"/>
+		<method name="getUrl()Ljava/lang/String;"/>
+	</class>
+	<class name="android/webkit/WebIconDatabase" since="1" deprecated="18">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" since="22" deprecated="29"/>
+		<method name="close()V" deprecated="29"/>
+		<method name="getInstance()Landroid/webkit/WebIconDatabase;" deprecated="29"/>
+		<method name="open(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="releaseIconForPageUrl(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="removeAllIcons()V" deprecated="29"/>
+		<method name="requestIconForPageUrl(Ljava/lang/String;Landroid/webkit/WebIconDatabase$IconListener;)V" deprecated="29"/>
+		<method name="retainIconForPageUrl(Ljava/lang/String;)V" deprecated="29"/>
+	</class>
+	<class name="android/webkit/WebIconDatabase$IconListener" since="1" deprecated="18">
+		<extends name="java/lang/Object"/>
+		<method name="onReceivedIcon(Ljava/lang/String;Landroid/graphics/Bitmap;)V" deprecated="29"/>
+	</class>
+	<class name="android/webkit/WebMessage" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;[Landroid/webkit/WebMessagePort;)V"/>
+		<method name="getData()Ljava/lang/String;"/>
+		<method name="getPorts()[Landroid/webkit/WebMessagePort;"/>
+	</class>
+	<class name="android/webkit/WebMessagePort" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="close()V"/>
+		<method name="postMessage(Landroid/webkit/WebMessage;)V"/>
+		<method name="setWebMessageCallback(Landroid/webkit/WebMessagePort$WebMessageCallback;)V"/>
+		<method name="setWebMessageCallback(Landroid/webkit/WebMessagePort$WebMessageCallback;Landroid/os/Handler;)V"/>
+	</class>
+	<class name="android/webkit/WebMessagePort$WebMessageCallback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onMessage(Landroid/webkit/WebMessagePort;Landroid/webkit/WebMessage;)V"/>
+	</class>
+	<class name="android/webkit/WebResourceError" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="getDescription()Ljava/lang/CharSequence;"/>
+		<method name="getErrorCode()I"/>
+	</class>
+	<class name="android/webkit/WebResourceRequest" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="getMethod()Ljava/lang/String;"/>
+		<method name="getRequestHeaders()Ljava/util/Map;"/>
+		<method name="getUrl()Landroid/net/Uri;"/>
+		<method name="hasGesture()Z"/>
+		<method name="isForMainFrame()Z"/>
+		<method name="isRedirect()Z" since="24"/>
+	</class>
+	<class name="android/webkit/WebResourceResponse" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/util/Map;Ljava/io/InputStream;)V" since="21"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;)V"/>
+		<method name="getData()Ljava/io/InputStream;"/>
+		<method name="getEncoding()Ljava/lang/String;"/>
+		<method name="getMimeType()Ljava/lang/String;"/>
+		<method name="getReasonPhrase()Ljava/lang/String;" since="21"/>
+		<method name="getResponseHeaders()Ljava/util/Map;" since="21"/>
+		<method name="getStatusCode()I" since="21"/>
+		<method name="setData(Ljava/io/InputStream;)V"/>
+		<method name="setEncoding(Ljava/lang/String;)V"/>
+		<method name="setMimeType(Ljava/lang/String;)V"/>
+		<method name="setResponseHeaders(Ljava/util/Map;)V" since="21"/>
+		<method name="setStatusCodeAndReasonPhrase(ILjava/lang/String;)V" since="21"/>
+	</class>
+	<class name="android/webkit/WebSettings" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" since="22"/>
+		<method name="enableSmoothTransition()Z" since="11" deprecated="17"/>
+		<method name="getAllowContentAccess()Z" since="11"/>
+		<method name="getAllowFileAccess()Z" since="3"/>
+		<method name="getAllowFileAccessFromFileURLs()Z" since="16"/>
+		<method name="getAllowUniversalAccessFromFileURLs()Z" since="16"/>
+		<method name="getBlockNetworkImage()Z"/>
+		<method name="getBlockNetworkLoads()Z" since="8"/>
+		<method name="getBuiltInZoomControls()Z" since="3"/>
+		<method name="getCacheMode()I"/>
+		<method name="getCursiveFontFamily()Ljava/lang/String;"/>
+		<method name="getDatabaseEnabled()Z" since="5"/>
+		<method name="getDatabasePath()Ljava/lang/String;" since="5" deprecated="19"/>
+		<method name="getDefaultFixedFontSize()I"/>
+		<method name="getDefaultFontSize()I"/>
+		<method name="getDefaultTextEncodingName()Ljava/lang/String;"/>
+		<method name="getDefaultUserAgent(Landroid/content/Context;)Ljava/lang/String;" since="17"/>
+		<method name="getDefaultZoom()Landroid/webkit/WebSettings$ZoomDensity;" since="7" deprecated="19"/>
+		<method name="getDisabledActionModeMenuItems()I" since="24"/>
+		<method name="getDisplayZoomControls()Z" since="11"/>
+		<method name="getDomStorageEnabled()Z" since="7"/>
+		<method name="getFantasyFontFamily()Ljava/lang/String;"/>
+		<method name="getFixedFontFamily()Ljava/lang/String;"/>
+		<method name="getForceDark()I" since="29"/>
+		<method name="getJavaScriptCanOpenWindowsAutomatically()Z"/>
+		<method name="getJavaScriptEnabled()Z"/>
+		<method name="getLayoutAlgorithm()Landroid/webkit/WebSettings$LayoutAlgorithm;"/>
+		<method name="getLightTouchEnabled()Z" deprecated="18"/>
+		<method name="getLoadWithOverviewMode()Z" since="7"/>
+		<method name="getLoadsImagesAutomatically()Z"/>
+		<method name="getMediaPlaybackRequiresUserGesture()Z" since="17"/>
+		<method name="getMinimumFontSize()I"/>
+		<method name="getMinimumLogicalFontSize()I"/>
+		<method name="getMixedContentMode()I" since="21"/>
+		<method name="getNavDump()Z" deprecated="15" removed="17"/>
+		<method name="getOffscreenPreRaster()Z" since="23"/>
+		<method name="getPluginState()Landroid/webkit/WebSettings$PluginState;" since="8" deprecated="18"/>
+		<method name="getPluginsEnabled()Z" deprecated="15" removed="18"/>
+		<method name="getPluginsPath()Ljava/lang/String;" deprecated="15" removed="18"/>
+		<method name="getSafeBrowsingEnabled()Z" since="26"/>
+		<method name="getSansSerifFontFamily()Ljava/lang/String;"/>
+		<method name="getSaveFormData()Z" deprecated="26"/>
+		<method name="getSavePassword()Z" deprecated="18"/>
+		<method name="getSerifFontFamily()Ljava/lang/String;"/>
+		<method name="getStandardFontFamily()Ljava/lang/String;"/>
+		<method name="getTextSize()Landroid/webkit/WebSettings$TextSize;" deprecated="15"/>
+		<method name="getTextZoom()I" since="14"/>
+		<method name="getUseDoubleTree()Z" deprecated="15" removed="17"/>
+		<method name="getUseWebViewBackgroundForOverscrollBackground()Z" since="9" deprecated="15" removed="17"/>
+		<method name="getUseWideViewPort()Z"/>
+		<method name="getUserAgent()I" deprecated="15" removed="17"/>
+		<method name="getUserAgentString()Ljava/lang/String;" since="3"/>
+		<method name="setAllowContentAccess(Z)V" since="11"/>
+		<method name="setAllowFileAccess(Z)V" since="3"/>
+		<method name="setAllowFileAccessFromFileURLs(Z)V" since="16" deprecated="30"/>
+		<method name="setAllowUniversalAccessFromFileURLs(Z)V" since="16" deprecated="30"/>
+		<method name="setAppCacheEnabled(Z)V" since="7" deprecated="30"/>
+		<method name="setAppCacheMaxSize(J)V" since="7" deprecated="18"/>
+		<method name="setAppCachePath(Ljava/lang/String;)V" since="7" deprecated="30"/>
+		<method name="setBlockNetworkImage(Z)V"/>
+		<method name="setBlockNetworkLoads(Z)V" since="8"/>
+		<method name="setBuiltInZoomControls(Z)V" since="3"/>
+		<method name="setCacheMode(I)V"/>
+		<method name="setCursiveFontFamily(Ljava/lang/String;)V"/>
+		<method name="setDatabaseEnabled(Z)V" since="5"/>
+		<method name="setDatabasePath(Ljava/lang/String;)V" since="5" deprecated="19"/>
+		<method name="setDefaultFixedFontSize(I)V"/>
+		<method name="setDefaultFontSize(I)V"/>
+		<method name="setDefaultTextEncodingName(Ljava/lang/String;)V"/>
+		<method name="setDefaultZoom(Landroid/webkit/WebSettings$ZoomDensity;)V" since="7" deprecated="19"/>
+		<method name="setDisabledActionModeMenuItems(I)V" since="24"/>
+		<method name="setDisplayZoomControls(Z)V" since="11"/>
+		<method name="setDomStorageEnabled(Z)V" since="7"/>
+		<method name="setEnableSmoothTransition(Z)V" since="11" deprecated="17"/>
+		<method name="setFantasyFontFamily(Ljava/lang/String;)V"/>
+		<method name="setFixedFontFamily(Ljava/lang/String;)V"/>
+		<method name="setForceDark(I)V" since="29"/>
+		<method name="setGeolocationDatabasePath(Ljava/lang/String;)V" since="5" deprecated="24"/>
+		<method name="setGeolocationEnabled(Z)V" since="5"/>
+		<method name="setJavaScriptCanOpenWindowsAutomatically(Z)V"/>
+		<method name="setJavaScriptEnabled(Z)V"/>
+		<method name="setLayoutAlgorithm(Landroid/webkit/WebSettings$LayoutAlgorithm;)V"/>
+		<method name="setLightTouchEnabled(Z)V" deprecated="18"/>
+		<method name="setLoadWithOverviewMode(Z)V" since="7"/>
+		<method name="setLoadsImagesAutomatically(Z)V"/>
+		<method name="setMediaPlaybackRequiresUserGesture(Z)V" since="17"/>
+		<method name="setMinimumFontSize(I)V"/>
+		<method name="setMinimumLogicalFontSize(I)V"/>
+		<method name="setMixedContentMode(I)V" since="21"/>
+		<method name="setNavDump(Z)V" deprecated="15" removed="17"/>
+		<method name="setNeedInitialFocus(Z)V"/>
+		<method name="setOffscreenPreRaster(Z)V" since="23"/>
+		<method name="setPluginState(Landroid/webkit/WebSettings$PluginState;)V" since="8" deprecated="18"/>
+		<method name="setPluginsEnabled(Z)V" deprecated="15" removed="18"/>
+		<method name="setPluginsPath(Ljava/lang/String;)V" deprecated="15" removed="18"/>
+		<method name="setRenderPriority(Landroid/webkit/WebSettings$RenderPriority;)V" deprecated="18"/>
+		<method name="setSafeBrowsingEnabled(Z)V" since="26"/>
+		<method name="setSansSerifFontFamily(Ljava/lang/String;)V"/>
+		<method name="setSaveFormData(Z)V" deprecated="26"/>
+		<method name="setSavePassword(Z)V" deprecated="18"/>
+		<method name="setSerifFontFamily(Ljava/lang/String;)V"/>
+		<method name="setStandardFontFamily(Ljava/lang/String;)V"/>
+		<method name="setSupportMultipleWindows(Z)V"/>
+		<method name="setSupportZoom(Z)V"/>
+		<method name="setTextSize(Landroid/webkit/WebSettings$TextSize;)V" deprecated="15"/>
+		<method name="setTextZoom(I)V" since="14"/>
+		<method name="setUseDoubleTree(Z)V" deprecated="15" removed="17"/>
+		<method name="setUseWebViewBackgroundForOverscrollBackground(Z)V" since="9" deprecated="15" removed="17"/>
+		<method name="setUseWideViewPort(Z)V"/>
+		<method name="setUserAgent(I)V" deprecated="15" removed="17"/>
+		<method name="setUserAgentString(Ljava/lang/String;)V" since="3"/>
+		<method name="supportMultipleWindows()Z"/>
+		<method name="supportZoom()Z"/>
+		<field name="FORCE_DARK_AUTO" since="29"/>
+		<field name="FORCE_DARK_OFF" since="29"/>
+		<field name="FORCE_DARK_ON" since="29"/>
+		<field name="LOAD_CACHE_ELSE_NETWORK"/>
+		<field name="LOAD_CACHE_ONLY"/>
+		<field name="LOAD_DEFAULT"/>
+		<field name="LOAD_NORMAL" deprecated="17"/>
+		<field name="LOAD_NO_CACHE"/>
+		<field name="MENU_ITEM_NONE" since="24"/>
+		<field name="MENU_ITEM_PROCESS_TEXT" since="24"/>
+		<field name="MENU_ITEM_SHARE" since="24"/>
+		<field name="MENU_ITEM_WEB_SEARCH" since="24"/>
+		<field name="MIXED_CONTENT_ALWAYS_ALLOW" since="21"/>
+		<field name="MIXED_CONTENT_COMPATIBILITY_MODE" since="21"/>
+		<field name="MIXED_CONTENT_NEVER_ALLOW" since="21"/>
+	</class>
+	<class name="android/webkit/WebSettings$LayoutAlgorithm" since="1" deprecated="12">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/WebSettings$LayoutAlgorithm;"/>
+		<method name="values()[Landroid/webkit/WebSettings$LayoutAlgorithm;"/>
+		<field name="NARROW_COLUMNS" deprecated="29"/>
+		<field name="NORMAL"/>
+		<field name="SINGLE_COLUMN" deprecated="29"/>
+		<field name="TEXT_AUTOSIZING" since="19"/>
+	</class>
+	<class name="android/webkit/WebSettings$PluginState" since="8">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/WebSettings$PluginState;"/>
+		<method name="values()[Landroid/webkit/WebSettings$PluginState;"/>
+		<field name="OFF"/>
+		<field name="ON"/>
+		<field name="ON_DEMAND"/>
+	</class>
+	<class name="android/webkit/WebSettings$RenderPriority" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/WebSettings$RenderPriority;"/>
+		<method name="values()[Landroid/webkit/WebSettings$RenderPriority;"/>
+		<field name="HIGH"/>
+		<field name="LOW"/>
+		<field name="NORMAL"/>
+	</class>
+	<class name="android/webkit/WebSettings$TextSize" since="1" deprecated="15">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/WebSettings$TextSize;"/>
+		<method name="values()[Landroid/webkit/WebSettings$TextSize;"/>
+		<field name="LARGER" deprecated="29"/>
+		<field name="LARGEST" deprecated="29"/>
+		<field name="NORMAL" deprecated="29"/>
+		<field name="SMALLER" deprecated="29"/>
+		<field name="SMALLEST" deprecated="29"/>
+	</class>
+	<class name="android/webkit/WebSettings$ZoomDensity" since="7">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/webkit/WebSettings$ZoomDensity;"/>
+		<method name="values()[Landroid/webkit/WebSettings$ZoomDensity;"/>
+		<field name="CLOSE"/>
+		<field name="FAR"/>
+		<field name="MEDIUM"/>
+	</class>
+	<class name="android/webkit/WebStorage" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="16"/>
+		<method name="deleteAllData()V" since="7"/>
+		<method name="deleteOrigin(Ljava/lang/String;)V" since="7"/>
+		<method name="getInstance()Landroid/webkit/WebStorage;" since="7"/>
+		<method name="getOrigins(Landroid/webkit/ValueCallback;)V" since="7"/>
+		<method name="getQuotaForOrigin(Ljava/lang/String;Landroid/webkit/ValueCallback;)V" since="7"/>
+		<method name="getUsageForOrigin(Ljava/lang/String;Landroid/webkit/ValueCallback;)V" since="7"/>
+		<method name="setQuotaForOrigin(Ljava/lang/String;J)V" since="7" deprecated="18"/>
+	</class>
+	<class name="android/webkit/WebStorage$Origin" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="getOrigin()Ljava/lang/String;"/>
+		<method name="getQuota()J"/>
+		<method name="getUsage()J"/>
+	</class>
+	<class name="android/webkit/WebStorage$QuotaUpdater" since="5" deprecated="19">
+		<extends name="java/lang/Object"/>
+		<method name="updateQuota(J)V" deprecated="29"/>
+	</class>
+	<class name="android/webkit/WebView" since="1">
+		<extends name="android/widget/AbsoluteLayout"/>
+		<implements name="android/view/ViewGroup$OnHierarchyChangeListener"/>
+		<implements name="android/view/ViewTreeObserver$OnGlobalFocusChangeListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;IZ)V" since="11" deprecated="17"/>
+		<method name="addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V"/>
+		<method name="canGoBack()Z"/>
+		<method name="canGoBackOrForward(I)Z"/>
+		<method name="canGoForward()Z"/>
+		<method name="canZoomIn()Z" since="11" deprecated="17"/>
+		<method name="canZoomOut()Z" since="11" deprecated="17"/>
+		<method name="capturePicture()Landroid/graphics/Picture;" deprecated="19"/>
+		<method name="clearCache(Z)V"/>
+		<method name="clearClientCertPreferences(Ljava/lang/Runnable;)V" since="21"/>
+		<method name="clearFormData()V"/>
+		<method name="clearHistory()V"/>
+		<method name="clearMatches()V" since="3"/>
+		<method name="clearSslPreferences()V"/>
+		<method name="clearView()V" deprecated="18"/>
+		<method name="copyBackForwardList()Landroid/webkit/WebBackForwardList;"/>
+		<method name="createPrintDocumentAdapter()Landroid/print/PrintDocumentAdapter;" since="19" deprecated="21"/>
+		<method name="createPrintDocumentAdapter(Ljava/lang/String;)Landroid/print/PrintDocumentAdapter;" since="21"/>
+		<method name="createWebMessageChannel()[Landroid/webkit/WebMessagePort;" since="23"/>
+		<method name="debugDump()V" deprecated="15" removed="17"/>
+		<method name="destroy()V"/>
+		<method name="disablePlatformNotifications()V" deprecated="15" removed="17"/>
+		<method name="disableWebView()V" since="28"/>
+		<method name="documentHasImages(Landroid/os/Message;)V"/>
+		<method name="emulateShiftHeld()V" since="8" deprecated="15" removed="17"/>
+		<method name="enablePlatformNotifications()V" deprecated="15" removed="17"/>
+		<method name="enableSlowWholeDocumentDraw()V" since="21"/>
+		<method name="evaluateJavascript(Ljava/lang/String;Landroid/webkit/ValueCallback;)V" since="19"/>
+		<method name="findAddress(Ljava/lang/String;)Ljava/lang/String;" deprecated="28"/>
+		<method name="findAll(Ljava/lang/String;)I" since="3" deprecated="16"/>
+		<method name="findAllAsync(Ljava/lang/String;)V" since="16"/>
+		<method name="findNext(Z)V" since="3"/>
+		<method name="flingScroll(II)V"/>
+		<method name="freeMemory()V" since="7" deprecated="19"/>
+		<method name="getCertificate()Landroid/net/http/SslCertificate;"/>
+		<method name="getContentHeight()I"/>
+		<method name="getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;" since="26"/>
+		<method name="getFavicon()Landroid/graphics/Bitmap;"/>
+		<method name="getHitTestResult()Landroid/webkit/WebView$HitTestResult;"/>
+		<method name="getHttpAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;" deprecated="26"/>
+		<method name="getOriginalUrl()Ljava/lang/String;" since="3"/>
+		<method name="getPluginList()Landroid/webkit/PluginList;" removed="12"/>
+		<method name="getProgress()I"/>
+		<method name="getRendererPriorityWaivedWhenNotVisible()Z" since="26"/>
+		<method name="getRendererRequestedPriority()I" since="26"/>
+		<method name="getSafeBrowsingPrivacyPolicyUrl()Landroid/net/Uri;" since="27"/>
+		<method name="getScale()F" deprecated="17"/>
+		<method name="getSettings()Landroid/webkit/WebSettings;"/>
+		<method name="getTextClassifier()Landroid/view/textclassifier/TextClassifier;" since="27"/>
+		<method name="getTitle()Ljava/lang/String;"/>
+		<method name="getUrl()Ljava/lang/String;"/>
+		<method name="getVisibleTitleHeight()I" since="11" deprecated="15" removed="17"/>
+		<method name="getWebChromeClient()Landroid/webkit/WebChromeClient;" since="26"/>
+		<method name="getWebViewClassLoader()Ljava/lang/ClassLoader;" since="28"/>
+		<method name="getWebViewClient()Landroid/webkit/WebViewClient;" since="26"/>
+		<method name="getWebViewLooper()Landroid/os/Looper;" since="28"/>
+		<method name="getWebViewRenderProcess()Landroid/webkit/WebViewRenderProcess;" since="29"/>
+		<method name="getWebViewRenderProcessClient()Landroid/webkit/WebViewRenderProcessClient;" since="29"/>
+		<method name="getZoomControls()Landroid/view/View;" deprecated="15" removed="16"/>
+		<method name="goBack()V"/>
+		<method name="goBackOrForward(I)V"/>
+		<method name="goForward()V"/>
+		<method name="invokeZoomPicker()V"/>
+		<method name="isPrivateBrowsingEnabled()Z" since="11"/>
+		<method name="loadData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="loadDataWithBaseURL(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="loadUrl(Ljava/lang/String;)V"/>
+		<method name="loadUrl(Ljava/lang/String;Ljava/util/Map;)V" since="8"/>
+		<method name="onPause()V" since="11"/>
+		<method name="onResume()V" since="11"/>
+		<method name="overlayHorizontalScrollbar()Z" deprecated="23"/>
+		<method name="overlayVerticalScrollbar()Z" deprecated="23"/>
+		<method name="pageDown(Z)Z"/>
+		<method name="pageUp(Z)Z"/>
+		<method name="pauseTimers()V"/>
+		<method name="postUrl(Ljava/lang/String;[B)V" since="5"/>
+		<method name="postVisualStateCallback(JLandroid/webkit/WebView$VisualStateCallback;)V" since="23"/>
+		<method name="postWebMessage(Landroid/webkit/WebMessage;Landroid/net/Uri;)V" since="23"/>
+		<method name="refreshPlugins(Z)V" removed="12"/>
+		<method name="reload()V"/>
+		<method name="removeJavascriptInterface(Ljava/lang/String;)V" since="11"/>
+		<method name="requestFocusNodeHref(Landroid/os/Message;)V"/>
+		<method name="requestImageRef(Landroid/os/Message;)V"/>
+		<method name="restorePicture(Landroid/os/Bundle;Ljava/io/File;)Z" since="3" deprecated="15" removed="17"/>
+		<method name="restoreState(Landroid/os/Bundle;)Landroid/webkit/WebBackForwardList;"/>
+		<method name="resumeTimers()V"/>
+		<method name="savePassword(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="18"/>
+		<method name="savePicture(Landroid/os/Bundle;Ljava/io/File;)Z" since="3" deprecated="15" removed="17"/>
+		<method name="saveState(Landroid/os/Bundle;)Landroid/webkit/WebBackForwardList;"/>
+		<method name="saveWebArchive(Ljava/lang/String;)V" since="11"/>
+		<method name="saveWebArchive(Ljava/lang/String;ZLandroid/webkit/ValueCallback;)V" since="11"/>
+		<method name="setCertificate(Landroid/net/http/SslCertificate;)V" deprecated="17"/>
+		<method name="setDataDirectorySuffix(Ljava/lang/String;)V" since="28"/>
+		<method name="setDownloadListener(Landroid/webkit/DownloadListener;)V"/>
+		<method name="setFindListener(Landroid/webkit/WebView$FindListener;)V" since="16"/>
+		<method name="setHorizontalScrollbarOverlay(Z)V" deprecated="23"/>
+		<method name="setHttpAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="26"/>
+		<method name="setInitialScale(I)V"/>
+		<method name="setMapTrackballToArrowKeys(Z)V" deprecated="17"/>
+		<method name="setNetworkAvailable(Z)V" since="3"/>
+		<method name="setPictureListener(Landroid/webkit/WebView$PictureListener;)V" deprecated="15"/>
+		<method name="setRendererPriorityPolicy(IZ)V" since="26"/>
+		<method name="setSafeBrowsingWhitelist(Ljava/util/List;Landroid/webkit/ValueCallback;)V" since="27"/>
+		<method name="setTextClassifier(Landroid/view/textclassifier/TextClassifier;)V" since="27"/>
+		<method name="setVerticalScrollbarOverlay(Z)V" deprecated="23"/>
+		<method name="setWebChromeClient(Landroid/webkit/WebChromeClient;)V"/>
+		<method name="setWebContentsDebuggingEnabled(Z)V" since="19"/>
+		<method name="setWebViewClient(Landroid/webkit/WebViewClient;)V"/>
+		<method name="setWebViewRenderProcessClient(Landroid/webkit/WebViewRenderProcessClient;)V" since="29"/>
+		<method name="setWebViewRenderProcessClient(Ljava/util/concurrent/Executor;Landroid/webkit/WebViewRenderProcessClient;)V" since="29"/>
+		<method name="showFindDialog(Ljava/lang/String;Z)Z" since="11" deprecated="18"/>
+		<method name="startSafeBrowsing(Landroid/content/Context;Landroid/webkit/ValueCallback;)V" since="27"/>
+		<method name="stopLoading()V"/>
+		<method name="zoomBy(F)V" since="21"/>
+		<method name="zoomIn()Z"/>
+		<method name="zoomOut()Z"/>
+		<field name="RENDERER_PRIORITY_BOUND" since="26"/>
+		<field name="RENDERER_PRIORITY_IMPORTANT" since="26"/>
+		<field name="RENDERER_PRIORITY_WAIVED" since="26"/>
+		<field name="SCHEME_GEO"/>
+		<field name="SCHEME_MAILTO"/>
+		<field name="SCHEME_TEL"/>
+	</class>
+	<class name="android/webkit/WebView$FindListener" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="onFindResultReceived(IIZ)V"/>
+	</class>
+	<class name="android/webkit/WebView$HitTestResult" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getExtra()Ljava/lang/String;"/>
+		<method name="getType()I"/>
+		<field name="ANCHOR_TYPE" deprecated="15"/>
+		<field name="EDIT_TEXT_TYPE"/>
+		<field name="EMAIL_TYPE"/>
+		<field name="GEO_TYPE"/>
+		<field name="IMAGE_ANCHOR_TYPE" deprecated="15"/>
+		<field name="IMAGE_TYPE"/>
+		<field name="PHONE_TYPE"/>
+		<field name="SRC_ANCHOR_TYPE"/>
+		<field name="SRC_IMAGE_ANCHOR_TYPE"/>
+		<field name="UNKNOWN_TYPE"/>
+	</class>
+	<class name="android/webkit/WebView$PictureListener" since="1" deprecated="12">
+		<extends name="java/lang/Object"/>
+		<method name="onNewPicture(Landroid/webkit/WebView;Landroid/graphics/Picture;)V" deprecated="15"/>
+	</class>
+	<class name="android/webkit/WebView$VisualStateCallback" since="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onComplete(J)V"/>
+	</class>
+	<class name="android/webkit/WebView$WebViewTransport" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/webkit/WebView;)V"/>
+		<method name="getWebView()Landroid/webkit/WebView;"/>
+		<method name="setWebView(Landroid/webkit/WebView;)V"/>
+	</class>
+	<class name="android/webkit/WebViewClient" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="doUpdateVisitedHistory(Landroid/webkit/WebView;Ljava/lang/String;Z)V"/>
+		<method name="onFormResubmission(Landroid/webkit/WebView;Landroid/os/Message;Landroid/os/Message;)V"/>
+		<method name="onLoadResource(Landroid/webkit/WebView;Ljava/lang/String;)V"/>
+		<method name="onPageCommitVisible(Landroid/webkit/WebView;Ljava/lang/String;)V" since="23"/>
+		<method name="onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V"/>
+		<method name="onPageStarted(Landroid/webkit/WebView;Ljava/lang/String;Landroid/graphics/Bitmap;)V"/>
+		<method name="onReceivedClientCertRequest(Landroid/webkit/WebView;Landroid/webkit/ClientCertRequest;)V" since="21"/>
+		<method name="onReceivedError(Landroid/webkit/WebView;ILjava/lang/String;Ljava/lang/String;)V" deprecated="23"/>
+		<method name="onReceivedError(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;Landroid/webkit/WebResourceError;)V" since="23"/>
+		<method name="onReceivedHttpAuthRequest(Landroid/webkit/WebView;Landroid/webkit/HttpAuthHandler;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="onReceivedHttpError(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;Landroid/webkit/WebResourceResponse;)V" since="23"/>
+		<method name="onReceivedLoginRequest(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" since="12"/>
+		<method name="onReceivedSslError(Landroid/webkit/WebView;Landroid/webkit/SslErrorHandler;Landroid/net/http/SslError;)V" since="8"/>
+		<method name="onRenderProcessGone(Landroid/webkit/WebView;Landroid/webkit/RenderProcessGoneDetail;)Z" since="26"/>
+		<method name="onSafeBrowsingHit(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;ILandroid/webkit/SafeBrowsingResponse;)V" since="27"/>
+		<method name="onScaleChanged(Landroid/webkit/WebView;FF)V"/>
+		<method name="onTooManyRedirects(Landroid/webkit/WebView;Landroid/os/Message;Landroid/os/Message;)V" deprecated="15"/>
+		<method name="onUnhandledInputEvent(Landroid/webkit/WebView;Landroid/view/InputEvent;)V" since="21" removed="24"/>
+		<method name="onUnhandledKeyEvent(Landroid/webkit/WebView;Landroid/view/KeyEvent;)V" deprecated="21"/>
+		<method name="shouldInterceptRequest(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;)Landroid/webkit/WebResourceResponse;" since="21"/>
+		<method name="shouldInterceptRequest(Landroid/webkit/WebView;Ljava/lang/String;)Landroid/webkit/WebResourceResponse;" since="11" deprecated="21"/>
+		<method name="shouldOverrideKeyEvent(Landroid/webkit/WebView;Landroid/view/KeyEvent;)Z"/>
+		<method name="shouldOverrideUrlLoading(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;)Z" since="24"/>
+		<method name="shouldOverrideUrlLoading(Landroid/webkit/WebView;Ljava/lang/String;)Z" deprecated="24"/>
+		<field name="ERROR_AUTHENTICATION" since="5"/>
+		<field name="ERROR_BAD_URL" since="5"/>
+		<field name="ERROR_CONNECT" since="5"/>
+		<field name="ERROR_FAILED_SSL_HANDSHAKE" since="5"/>
+		<field name="ERROR_FILE" since="5"/>
+		<field name="ERROR_FILE_NOT_FOUND" since="5"/>
+		<field name="ERROR_HOST_LOOKUP" since="5"/>
+		<field name="ERROR_IO" since="5"/>
+		<field name="ERROR_PROXY_AUTHENTICATION" since="5"/>
+		<field name="ERROR_REDIRECT_LOOP" since="5"/>
+		<field name="ERROR_TIMEOUT" since="5"/>
+		<field name="ERROR_TOO_MANY_REQUESTS" since="5"/>
+		<field name="ERROR_UNKNOWN" since="5"/>
+		<field name="ERROR_UNSAFE_RESOURCE" since="26"/>
+		<field name="ERROR_UNSUPPORTED_AUTH_SCHEME" since="5"/>
+		<field name="ERROR_UNSUPPORTED_SCHEME" since="5"/>
+		<field name="SAFE_BROWSING_THREAT_BILLING" since="29"/>
+		<field name="SAFE_BROWSING_THREAT_MALWARE" since="27"/>
+		<field name="SAFE_BROWSING_THREAT_PHISHING" since="27"/>
+		<field name="SAFE_BROWSING_THREAT_UNKNOWN" since="27"/>
+		<field name="SAFE_BROWSING_THREAT_UNWANTED_SOFTWARE" since="27"/>
+	</class>
+	<class name="android/webkit/WebViewDatabase" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" since="22" deprecated="29"/>
+		<method name="clearFormData()V" deprecated="26"/>
+		<method name="clearHttpAuthUsernamePassword()V"/>
+		<method name="clearUsernamePassword()V" deprecated="18"/>
+		<method name="getHttpAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;" since="26"/>
+		<method name="getInstance(Landroid/content/Context;)Landroid/webkit/WebViewDatabase;"/>
+		<method name="hasFormData()Z" deprecated="26"/>
+		<method name="hasHttpAuthUsernamePassword()Z"/>
+		<method name="hasUsernamePassword()Z" deprecated="18"/>
+		<method name="setHttpAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" since="26"/>
+		<field name="LOGTAG" removed="17"/>
+	</class>
+	<class name="android/webkit/WebViewFragment" since="11" deprecated="28">
+		<extends name="android/app/Fragment"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="getWebView()Landroid/webkit/WebView;" deprecated="29"/>
+	</class>
+	<class name="android/webkit/WebViewRenderProcess" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="terminate()Z"/>
+	</class>
+	<class name="android/webkit/WebViewRenderProcessClient" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onRenderProcessResponsive(Landroid/webkit/WebView;Landroid/webkit/WebViewRenderProcess;)V"/>
+		<method name="onRenderProcessUnresponsive(Landroid/webkit/WebView;Landroid/webkit/WebViewRenderProcess;)V"/>
+	</class>
+	<class name="android/widget/AbsListView" since="1">
+		<extends name="android/widget/AdapterView"/>
+		<implements name="android/text/TextWatcher"/>
+		<implements name="android/view/ViewTreeObserver$OnGlobalLayoutListener"/>
+		<implements name="android/view/ViewTreeObserver$OnTouchModeChangeListener"/>
+		<implements name="android/widget/Filter$FilterListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="canScrollList(I)Z" since="19"/>
+		<method name="clearChoices()V" since="11"/>
+		<method name="clearTextFilter()V"/>
+		<method name="deferNotifyDataSetChanged()V" since="14"/>
+		<method name="fling(I)V" since="21"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/AbsListView$LayoutParams;"/>
+		<method name="getBottomEdgeEffectColor()I" since="29"/>
+		<method name="getCacheColorHint()I"/>
+		<method name="getCheckedItemCount()I" since="11"/>
+		<method name="getCheckedItemIds()[J" since="11"/>
+		<method name="getCheckedItemPosition()I" since="11"/>
+		<method name="getCheckedItemPositions()Landroid/util/SparseBooleanArray;" since="11"/>
+		<method name="getChoiceMode()I" since="11"/>
+		<method name="getListPaddingBottom()I"/>
+		<method name="getListPaddingLeft()I"/>
+		<method name="getListPaddingRight()I"/>
+		<method name="getListPaddingTop()I"/>
+		<method name="getSelector()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getTextFilter()Ljava/lang/CharSequence;" since="3"/>
+		<method name="getTopEdgeEffectColor()I" since="29"/>
+		<method name="getTranscriptMode()I"/>
+		<method name="handleDataChanged()V"/>
+		<method name="hasTextFilter()Z"/>
+		<method name="invalidateViews()V"/>
+		<method name="isDrawSelectorOnTop()Z" since="29"/>
+		<method name="isFastScrollAlwaysVisible()Z" since="11"/>
+		<method name="isFastScrollEnabled()Z" since="3"/>
+		<method name="isInFilterMode()Z"/>
+		<method name="isItemChecked(I)Z" since="11"/>
+		<method name="isScrollingCacheEnabled()Z"/>
+		<method name="isSmoothScrollbarEnabled()Z" since="3"/>
+		<method name="isStackFromBottom()Z"/>
+		<method name="isTextFilterEnabled()Z"/>
+		<method name="layoutChildren()V"/>
+		<method name="onInitializeAccessibilityNodeInfoForItem(Landroid/view/View;ILandroid/view/accessibility/AccessibilityNodeInfo;)V" since="19"/>
+		<method name="onRemoteAdapterConnected()Z" since="11"/>
+		<method name="onRemoteAdapterDisconnected()V" since="11"/>
+		<method name="pointToPosition(II)I"/>
+		<method name="pointToRowId(II)J"/>
+		<method name="reclaimViews(Ljava/util/List;)V"/>
+		<method name="scrollListBy(I)V" since="19"/>
+		<method name="setAdapter(Landroid/widget/ListAdapter;)V" since="11"/>
+		<method name="setBottomEdgeEffectColor(I)V" since="29"/>
+		<method name="setCacheColorHint(I)V"/>
+		<method name="setChoiceMode(I)V" since="11"/>
+		<method name="setDrawSelectorOnTop(Z)V"/>
+		<method name="setEdgeEffectColor(I)V" since="29"/>
+		<method name="setFastScrollAlwaysVisible(Z)V" since="11"/>
+		<method name="setFastScrollEnabled(Z)V" since="3"/>
+		<method name="setFastScrollStyle(I)V" since="21"/>
+		<method name="setFilterText(Ljava/lang/String;)V"/>
+		<method name="setFriction(F)V" since="11"/>
+		<method name="setItemChecked(IZ)V" since="11"/>
+		<method name="setMultiChoiceModeListener(Landroid/widget/AbsListView$MultiChoiceModeListener;)V" since="11"/>
+		<method name="setOnScrollListener(Landroid/widget/AbsListView$OnScrollListener;)V"/>
+		<method name="setRecyclerListener(Landroid/widget/AbsListView$RecyclerListener;)V"/>
+		<method name="setRemoteViewsAdapter(Landroid/content/Intent;)V" since="11"/>
+		<method name="setScrollIndicators(Landroid/view/View;Landroid/view/View;)V"/>
+		<method name="setScrollingCacheEnabled(Z)V"/>
+		<method name="setSelectionFromTop(II)V" since="21"/>
+		<method name="setSelector(I)V"/>
+		<method name="setSelector(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setSmoothScrollbarEnabled(Z)V" since="3"/>
+		<method name="setStackFromBottom(Z)V"/>
+		<method name="setTextFilterEnabled(Z)V"/>
+		<method name="setTopEdgeEffectColor(I)V" since="29"/>
+		<method name="setTranscriptMode(I)V"/>
+		<method name="setVelocityScale(F)V" since="11"/>
+		<method name="smoothScrollBy(II)V" since="8"/>
+		<method name="smoothScrollToPosition(I)V" since="8"/>
+		<method name="smoothScrollToPosition(II)V" since="8"/>
+		<method name="smoothScrollToPositionFromTop(II)V" since="11"/>
+		<method name="smoothScrollToPositionFromTop(III)V" since="11"/>
+		<field name="CHOICE_MODE_MULTIPLE" since="11"/>
+		<field name="CHOICE_MODE_MULTIPLE_MODAL" since="11"/>
+		<field name="CHOICE_MODE_NONE" since="11"/>
+		<field name="CHOICE_MODE_SINGLE" since="11"/>
+		<field name="TRANSCRIPT_MODE_ALWAYS_SCROLL"/>
+		<field name="TRANSCRIPT_MODE_DISABLED"/>
+		<field name="TRANSCRIPT_MODE_NORMAL"/>
+	</class>
+	<class name="android/widget/AbsListView$LayoutParams" since="1">
+		<extends name="android/view/ViewGroup$LayoutParams"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+	</class>
+	<class name="android/widget/AbsListView$MultiChoiceModeListener" since="11">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/ActionMode$Callback"/>
+		<method name="onItemCheckedStateChanged(Landroid/view/ActionMode;IJZ)V"/>
+	</class>
+	<class name="android/widget/AbsListView$OnScrollListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onScroll(Landroid/widget/AbsListView;III)V"/>
+		<method name="onScrollStateChanged(Landroid/widget/AbsListView;I)V"/>
+		<field name="SCROLL_STATE_FLING"/>
+		<field name="SCROLL_STATE_IDLE"/>
+		<field name="SCROLL_STATE_TOUCH_SCROLL"/>
+	</class>
+	<class name="android/widget/AbsListView$RecyclerListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onMovedToScrapHeap(Landroid/view/View;)V"/>
+	</class>
+	<class name="android/widget/AbsListView$SelectionBoundsAdjuster" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="adjustListItemSelectionBounds(Landroid/graphics/Rect;)V"/>
+	</class>
+	<class name="android/widget/AbsSeekBar" since="1">
+		<extends name="android/widget/ProgressBar"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getKeyProgressIncrement()I" since="3"/>
+		<method name="getSplitTrack()Z" since="21"/>
+		<method name="getThumb()Landroid/graphics/drawable/Drawable;" since="16"/>
+		<method name="getThumbOffset()I"/>
+		<method name="getThumbTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getThumbTintList()Landroid/content/res/ColorStateList;" since="21"/>
+		<method name="getThumbTintMode()Landroid/graphics/PorterDuff$Mode;" since="21"/>
+		<method name="getTickMark()Landroid/graphics/drawable/Drawable;" since="24"/>
+		<method name="getTickMarkTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getTickMarkTintList()Landroid/content/res/ColorStateList;" since="24"/>
+		<method name="getTickMarkTintMode()Landroid/graphics/PorterDuff$Mode;" since="24"/>
+		<method name="setKeyProgressIncrement(I)V" since="3"/>
+		<method name="setSplitTrack(Z)V" since="21"/>
+		<method name="setThumb(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setThumbOffset(I)V"/>
+		<method name="setThumbTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setThumbTintList(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setThumbTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21"/>
+		<method name="setTickMark(Landroid/graphics/drawable/Drawable;)V" since="24"/>
+		<method name="setTickMarkTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setTickMarkTintList(Landroid/content/res/ColorStateList;)V" since="24"/>
+		<method name="setTickMarkTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="24"/>
+	</class>
+	<class name="android/widget/AbsSpinner" since="1">
+		<extends name="android/widget/AdapterView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getAdapter()Landroid/widget/SpinnerAdapter;"/>
+		<method name="pointToPosition(II)I"/>
+		<method name="setAdapter(Landroid/widget/SpinnerAdapter;)V"/>
+		<method name="setSelection(IZ)V"/>
+	</class>
+	<class name="android/widget/AbsoluteLayout" since="1" deprecated="3">
+		<extends name="android/view/ViewGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+	</class>
+	<class name="android/widget/AbsoluteLayout$LayoutParams" since="1" deprecated="29">
+		<extends name="android/view/ViewGroup$LayoutParams"/>
+		<method name="&lt;init>(IIII)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V" deprecated="29"/>
+		<method name="debug(Ljava/lang/String;)Ljava/lang/String;" deprecated="29"/>
+		<field name="x" deprecated="29"/>
+		<field name="y" deprecated="29"/>
+	</class>
+	<class name="android/widget/ActionMenuView" since="21">
+		<extends name="android/widget/LinearLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="dismissPopupMenus()V"/>
+		<method name="generateDefaultLayoutParams()Landroid/widget/ActionMenuView$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/ActionMenuView$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/ActionMenuView$LayoutParams;"/>
+		<method name="getMenu()Landroid/view/Menu;"/>
+		<method name="getOverflowIcon()Landroid/graphics/drawable/Drawable;" since="23"/>
+		<method name="getPopupTheme()I"/>
+		<method name="hideOverflowMenu()Z"/>
+		<method name="isOverflowMenuShowing()Z"/>
+		<method name="setOnMenuItemClickListener(Landroid/widget/ActionMenuView$OnMenuItemClickListener;)V"/>
+		<method name="setOverflowIcon(Landroid/graphics/drawable/Drawable;)V" since="23"/>
+		<method name="setPopupTheme(I)V"/>
+		<method name="showOverflowMenu()Z"/>
+	</class>
+	<class name="android/widget/ActionMenuView$LayoutParams" since="21">
+		<extends name="android/widget/LinearLayout$LayoutParams"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/widget/ActionMenuView$LayoutParams;)V"/>
+	</class>
+	<class name="android/widget/ActionMenuView$OnMenuItemClickListener" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="onMenuItemClick(Landroid/view/MenuItem;)Z"/>
+	</class>
+	<class name="android/widget/Adapter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getAutofillOptions()[Ljava/lang/CharSequence;" since="26"/>
+		<method name="getCount()I"/>
+		<method name="getItem(I)Ljava/lang/Object;"/>
+		<method name="getItemId(I)J"/>
+		<method name="getItemViewType(I)I"/>
+		<method name="getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="getViewTypeCount()I"/>
+		<method name="hasStableIds()Z"/>
+		<method name="isEmpty()Z"/>
+		<method name="registerDataSetObserver(Landroid/database/DataSetObserver;)V"/>
+		<method name="unregisterDataSetObserver(Landroid/database/DataSetObserver;)V"/>
+		<field name="IGNORE_ITEM_VIEW_TYPE"/>
+		<field name="NO_SELECTION"/>
+	</class>
+	<class name="android/widget/AdapterView" since="1">
+		<extends name="android/view/ViewGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getAdapter()Landroid/widget/Adapter;"/>
+		<method name="getCount()I"/>
+		<method name="getEmptyView()Landroid/view/View;"/>
+		<method name="getFirstVisiblePosition()I"/>
+		<method name="getItemAtPosition(I)Ljava/lang/Object;"/>
+		<method name="getItemIdAtPosition(I)J"/>
+		<method name="getLastVisiblePosition()I"/>
+		<method name="getOnItemClickListener()Landroid/widget/AdapterView$OnItemClickListener;"/>
+		<method name="getOnItemLongClickListener()Landroid/widget/AdapterView$OnItemLongClickListener;"/>
+		<method name="getOnItemSelectedListener()Landroid/widget/AdapterView$OnItemSelectedListener;"/>
+		<method name="getPositionForView(Landroid/view/View;)I"/>
+		<method name="getSelectedItem()Ljava/lang/Object;"/>
+		<method name="getSelectedItemId()J"/>
+		<method name="getSelectedItemPosition()I"/>
+		<method name="getSelectedView()Landroid/view/View;"/>
+		<method name="performItemClick(Landroid/view/View;IJ)Z"/>
+		<method name="setAdapter(Landroid/widget/Adapter;)V"/>
+		<method name="setEmptyView(Landroid/view/View;)V"/>
+		<method name="setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V"/>
+		<method name="setOnItemLongClickListener(Landroid/widget/AdapterView$OnItemLongClickListener;)V"/>
+		<method name="setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V"/>
+		<method name="setSelection(I)V"/>
+		<field name="INVALID_POSITION"/>
+		<field name="INVALID_ROW_ID"/>
+		<field name="ITEM_VIEW_TYPE_HEADER_OR_FOOTER"/>
+		<field name="ITEM_VIEW_TYPE_IGNORE"/>
+	</class>
+	<class name="android/widget/AdapterView$AdapterContextMenuInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/ContextMenu$ContextMenuInfo"/>
+		<method name="&lt;init>(Landroid/view/View;IJ)V"/>
+		<field name="id"/>
+		<field name="position"/>
+		<field name="targetView"/>
+	</class>
+	<class name="android/widget/AdapterView$OnItemClickListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V"/>
+	</class>
+	<class name="android/widget/AdapterView$OnItemLongClickListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onItemLongClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)Z"/>
+	</class>
+	<class name="android/widget/AdapterView$OnItemSelectedListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onItemSelected(Landroid/widget/AdapterView;Landroid/view/View;IJ)V"/>
+		<method name="onNothingSelected(Landroid/widget/AdapterView;)V"/>
+	</class>
+	<class name="android/widget/AdapterViewAnimator" since="11">
+		<extends name="android/widget/AdapterView"/>
+		<implements name="android/widget/Advanceable" since="16"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="14"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="advance()V"/>
+		<method name="deferNotifyDataSetChanged()V" since="14"/>
+		<method name="fyiWillBeAdvancedByHostKThx()V"/>
+		<method name="getCurrentView()Landroid/view/View;"/>
+		<method name="getDisplayedChild()I"/>
+		<method name="getInAnimation()Landroid/animation/ObjectAnimator;"/>
+		<method name="getOutAnimation()Landroid/animation/ObjectAnimator;"/>
+		<method name="onRemoteAdapterConnected()Z"/>
+		<method name="onRemoteAdapterDisconnected()V"/>
+		<method name="setAnimateFirstView(Z)V"/>
+		<method name="setDisplayedChild(I)V"/>
+		<method name="setInAnimation(Landroid/animation/ObjectAnimator;)V"/>
+		<method name="setInAnimation(Landroid/content/Context;I)V"/>
+		<method name="setOutAnimation(Landroid/animation/ObjectAnimator;)V"/>
+		<method name="setOutAnimation(Landroid/content/Context;I)V"/>
+		<method name="setRemoteViewsAdapter(Landroid/content/Intent;)V"/>
+		<method name="showNext()V"/>
+		<method name="showPrevious()V"/>
+	</class>
+	<class name="android/widget/AdapterViewFlipper" since="11">
+		<extends name="android/widget/AdapterViewAnimator"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="21"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getFlipInterval()I" since="16"/>
+		<method name="isAutoStart()Z"/>
+		<method name="isFlipping()Z"/>
+		<method name="setAutoStart(Z)V"/>
+		<method name="setFlipInterval(I)V"/>
+		<method name="startFlipping()V"/>
+		<method name="stopFlipping()V"/>
+	</class>
+	<class name="android/widget/Advanceable" since="16">
+		<extends name="java/lang/Object"/>
+		<method name="advance()V"/>
+		<method name="fyiWillBeAdvancedByHostKThx()V"/>
+	</class>
+	<class name="android/widget/AlphabetIndexer" since="3">
+		<extends name="android/database/DataSetObserver"/>
+		<implements name="android/widget/SectionIndexer"/>
+		<method name="&lt;init>(Landroid/database/Cursor;ILjava/lang/CharSequence;)V"/>
+		<method name="compare(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="setCursor(Landroid/database/Cursor;)V"/>
+		<field name="mAlphabet"/>
+		<field name="mColumnIndex"/>
+		<field name="mDataCursor"/>
+	</class>
+	<class name="android/widget/AnalogClock" since="1" deprecated="23">
+		<extends name="android/view/View"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="getDialTintBlendMode()Landroid/graphics/BlendMode;" since="31" deprecated="31"/>
+		<method name="getDialTintList()Landroid/content/res/ColorStateList;" since="31" deprecated="31"/>
+		<method name="getHourHandTintBlendMode()Landroid/graphics/BlendMode;" since="31" deprecated="31"/>
+		<method name="getHourHandTintList()Landroid/content/res/ColorStateList;" since="31" deprecated="31"/>
+		<method name="getMinuteHandTintBlendMode()Landroid/graphics/BlendMode;" since="31" deprecated="31"/>
+		<method name="getMinuteHandTintList()Landroid/content/res/ColorStateList;" since="31" deprecated="31"/>
+		<method name="getSecondHandTintBlendMode()Landroid/graphics/BlendMode;" since="31" deprecated="31"/>
+		<method name="getSecondHandTintList()Landroid/content/res/ColorStateList;" since="31" deprecated="31"/>
+		<method name="getTimeZone()Ljava/lang/String;" since="31" deprecated="31"/>
+		<method name="setDial(Landroid/graphics/drawable/Icon;)V" since="31" deprecated="31"/>
+		<method name="setDialTintBlendMode(Landroid/graphics/BlendMode;)V" since="31" deprecated="31"/>
+		<method name="setDialTintList(Landroid/content/res/ColorStateList;)V" since="31" deprecated="31"/>
+		<method name="setHourHand(Landroid/graphics/drawable/Icon;)V" since="31" deprecated="31"/>
+		<method name="setHourHandTintBlendMode(Landroid/graphics/BlendMode;)V" since="31" deprecated="31"/>
+		<method name="setHourHandTintList(Landroid/content/res/ColorStateList;)V" since="31" deprecated="31"/>
+		<method name="setMinuteHand(Landroid/graphics/drawable/Icon;)V" since="31" deprecated="31"/>
+		<method name="setMinuteHandTintBlendMode(Landroid/graphics/BlendMode;)V" since="31" deprecated="31"/>
+		<method name="setMinuteHandTintList(Landroid/content/res/ColorStateList;)V" since="31" deprecated="31"/>
+		<method name="setSecondHand(Landroid/graphics/drawable/Icon;)V" since="31" deprecated="31"/>
+		<method name="setSecondHandTintBlendMode(Landroid/graphics/BlendMode;)V" since="31" deprecated="31"/>
+		<method name="setSecondHandTintList(Landroid/content/res/ColorStateList;)V" since="31" deprecated="31"/>
+		<method name="setTimeZone(Ljava/lang/String;)V" since="31" deprecated="31"/>
+	</class>
+	<class name="android/widget/ArrayAdapter" since="1">
+		<extends name="android/widget/BaseAdapter"/>
+		<implements name="android/widget/Filterable"/>
+		<implements name="android/widget/ThemedSpinnerAdapter" since="23"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;II)V"/>
+		<method name="&lt;init>(Landroid/content/Context;IILjava/util/List;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;II[Ljava/lang/Object;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;ILjava/util/List;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;I[Ljava/lang/Object;)V"/>
+		<method name="add(Ljava/lang/Object;)V"/>
+		<method name="addAll(Ljava/util/Collection;)V" since="11"/>
+		<method name="addAll([Ljava/lang/Object;)V" since="11"/>
+		<method name="clear()V"/>
+		<method name="createFromResource(Landroid/content/Context;II)Landroid/widget/ArrayAdapter;"/>
+		<method name="getContext()Landroid/content/Context;"/>
+		<method name="getPosition(Ljava/lang/Object;)I"/>
+		<method name="insert(Ljava/lang/Object;I)V"/>
+		<method name="remove(Ljava/lang/Object;)V"/>
+		<method name="setDropDownViewResource(I)V"/>
+		<method name="setNotifyOnChange(Z)V"/>
+		<method name="sort(Ljava/util/Comparator;)V" since="3"/>
+	</class>
+	<class name="android/widget/AutoCompleteTextView" since="1">
+		<extends name="android/widget/EditText"/>
+		<implements name="android/widget/Filter$FilterListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;IILandroid/content/res/Resources$Theme;)V" since="24"/>
+		<method name="clearListSelection()V" since="3"/>
+		<method name="convertSelectionToString(Ljava/lang/Object;)Ljava/lang/CharSequence;"/>
+		<method name="dismissDropDown()V"/>
+		<method name="enoughToFilter()Z"/>
+		<method name="getAdapter()Landroid/widget/ListAdapter;"/>
+		<method name="getCompletionHint()Ljava/lang/CharSequence;" since="16"/>
+		<method name="getDropDownAnchor()I" since="3"/>
+		<method name="getDropDownBackground()Landroid/graphics/drawable/Drawable;" since="5"/>
+		<method name="getDropDownHeight()I" since="4"/>
+		<method name="getDropDownHorizontalOffset()I" since="5"/>
+		<method name="getDropDownVerticalOffset()I" since="5"/>
+		<method name="getDropDownWidth()I" since="3"/>
+		<method name="getFilter()Landroid/widget/Filter;"/>
+		<method name="getInputMethodMode()I" since="29"/>
+		<method name="getItemClickListener()Landroid/widget/AdapterView$OnItemClickListener;" deprecated="15"/>
+		<method name="getItemSelectedListener()Landroid/widget/AdapterView$OnItemSelectedListener;" deprecated="15"/>
+		<method name="getListSelection()I" since="3"/>
+		<method name="getOnItemClickListener()Landroid/widget/AdapterView$OnItemClickListener;" since="3"/>
+		<method name="getOnItemSelectedListener()Landroid/widget/AdapterView$OnItemSelectedListener;" since="3"/>
+		<method name="getThreshold()I"/>
+		<method name="getValidator()Landroid/widget/AutoCompleteTextView$Validator;"/>
+		<method name="isPerformingCompletion()Z" since="3"/>
+		<method name="isPopupShowing()Z"/>
+		<method name="performCompletion()V"/>
+		<method name="performFiltering(Ljava/lang/CharSequence;I)V"/>
+		<method name="performValidation()V"/>
+		<method name="refreshAutoCompleteResults()V" since="29"/>
+		<method name="replaceText(Ljava/lang/CharSequence;)V"/>
+		<method name="setAdapter(Landroid/widget/ListAdapter;)V"/>
+		<method name="setCompletionHint(Ljava/lang/CharSequence;)V"/>
+		<method name="setDropDownAnchor(I)V" since="3"/>
+		<method name="setDropDownBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" since="5"/>
+		<method name="setDropDownBackgroundResource(I)V" since="5"/>
+		<method name="setDropDownHeight(I)V" since="4"/>
+		<method name="setDropDownHorizontalOffset(I)V" since="5"/>
+		<method name="setDropDownVerticalOffset(I)V" since="5"/>
+		<method name="setDropDownWidth(I)V" since="3"/>
+		<method name="setInputMethodMode(I)V" since="29"/>
+		<method name="setListSelection(I)V" since="3"/>
+		<method name="setOnDismissListener(Landroid/widget/AutoCompleteTextView$OnDismissListener;)V" since="17"/>
+		<method name="setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V"/>
+		<method name="setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V"/>
+		<method name="setText(Ljava/lang/CharSequence;Z)V" since="17"/>
+		<method name="setThreshold(I)V"/>
+		<method name="setValidator(Landroid/widget/AutoCompleteTextView$Validator;)V"/>
+		<method name="showDropDown()V"/>
+	</class>
+	<class name="android/widget/AutoCompleteTextView$OnDismissListener" since="17">
+		<extends name="java/lang/Object"/>
+		<method name="onDismiss()V"/>
+	</class>
+	<class name="android/widget/AutoCompleteTextView$Validator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="fixText(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+		<method name="isValid(Ljava/lang/CharSequence;)Z"/>
+	</class>
+	<class name="android/widget/BaseAdapter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/widget/ListAdapter"/>
+		<implements name="android/widget/SpinnerAdapter"/>
+		<method name="&lt;init>()V"/>
+		<method name="notifyDataSetChanged()V"/>
+		<method name="notifyDataSetInvalidated()V"/>
+		<method name="setAutofillOptions([Ljava/lang/CharSequence;)V" since="27"/>
+	</class>
+	<class name="android/widget/BaseExpandableListAdapter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/widget/ExpandableListAdapter"/>
+		<implements name="android/widget/HeterogeneousExpandableList" since="8"/>
+		<method name="&lt;init>()V"/>
+		<method name="notifyDataSetChanged()V"/>
+		<method name="notifyDataSetInvalidated()V"/>
+	</class>
+	<class name="android/widget/Button" since="1">
+		<extends name="android/widget/TextView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+	</class>
+	<class name="android/widget/CalendarView" since="11">
+		<extends name="android/widget/FrameLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getDate()J"/>
+		<method name="getDateTextAppearance()I" since="16"/>
+		<method name="getFirstDayOfWeek()I"/>
+		<method name="getFocusedMonthDateColor()I" since="16" deprecated="23"/>
+		<method name="getMaxDate()J"/>
+		<method name="getMinDate()J"/>
+		<method name="getSelectedDateVerticalBar()Landroid/graphics/drawable/Drawable;" since="16" deprecated="23"/>
+		<method name="getSelectedWeekBackgroundColor()I" since="16" deprecated="23"/>
+		<method name="getShowWeekNumber()Z" deprecated="24"/>
+		<method name="getShownWeekCount()I" since="16" deprecated="23"/>
+		<method name="getUnfocusedMonthDateColor()I" since="16" deprecated="23"/>
+		<method name="getWeekDayTextAppearance()I" since="16"/>
+		<method name="getWeekNumberColor()I" since="16" deprecated="23"/>
+		<method name="getWeekSeparatorLineColor()I" since="16" deprecated="23"/>
+		<method name="setDate(J)V"/>
+		<method name="setDate(JZZ)V"/>
+		<method name="setDateTextAppearance(I)V" since="16"/>
+		<method name="setFirstDayOfWeek(I)V"/>
+		<method name="setFocusedMonthDateColor(I)V" since="16" deprecated="23"/>
+		<method name="setMaxDate(J)V"/>
+		<method name="setMinDate(J)V"/>
+		<method name="setOnDateChangeListener(Landroid/widget/CalendarView$OnDateChangeListener;)V"/>
+		<method name="setSelectedDateVerticalBar(I)V" since="16" deprecated="23"/>
+		<method name="setSelectedDateVerticalBar(Landroid/graphics/drawable/Drawable;)V" since="16" deprecated="23"/>
+		<method name="setSelectedWeekBackgroundColor(I)V" since="16" deprecated="23"/>
+		<method name="setShowWeekNumber(Z)V" deprecated="24"/>
+		<method name="setShownWeekCount(I)V" since="16" deprecated="23"/>
+		<method name="setUnfocusedMonthDateColor(I)V" since="16" deprecated="23"/>
+		<method name="setWeekDayTextAppearance(I)V" since="16"/>
+		<method name="setWeekNumberColor(I)V" since="16" deprecated="23"/>
+		<method name="setWeekSeparatorLineColor(I)V" since="16" deprecated="23"/>
+	</class>
+	<class name="android/widget/CalendarView$OnDateChangeListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onSelectedDayChange(Landroid/widget/CalendarView;III)V"/>
+	</class>
+	<class name="android/widget/CheckBox" since="1">
+		<extends name="android/widget/CompoundButton"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+	</class>
+	<class name="android/widget/Checkable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="isChecked()Z"/>
+		<method name="setChecked(Z)V"/>
+		<method name="toggle()V"/>
+	</class>
+	<class name="android/widget/CheckedTextView" since="1">
+		<extends name="android/widget/TextView"/>
+		<implements name="android/widget/Checkable"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getCheckMarkDrawable()Landroid/graphics/drawable/Drawable;" since="16"/>
+		<method name="getCheckMarkTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getCheckMarkTintList()Landroid/content/res/ColorStateList;" since="21"/>
+		<method name="getCheckMarkTintMode()Landroid/graphics/PorterDuff$Mode;" since="21"/>
+		<method name="onPaddingChanged(I)V" since="16" removed="17"/>
+		<method name="setCheckMarkDrawable(I)V"/>
+		<method name="setCheckMarkDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setCheckMarkTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setCheckMarkTintList(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setCheckMarkTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21"/>
+	</class>
+	<class name="android/widget/Chronometer" since="1">
+		<extends name="android/widget/TextView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getBase()J"/>
+		<method name="getFormat()Ljava/lang/String;"/>
+		<method name="getOnChronometerTickListener()Landroid/widget/Chronometer$OnChronometerTickListener;" since="3"/>
+		<method name="isCountDown()Z" since="24"/>
+		<method name="isTheFinalCountDown()Z" since="26"/>
+		<method name="setBase(J)V"/>
+		<method name="setCountDown(Z)V" since="24"/>
+		<method name="setFormat(Ljava/lang/String;)V"/>
+		<method name="setOnChronometerTickListener(Landroid/widget/Chronometer$OnChronometerTickListener;)V" since="3"/>
+		<method name="start()V"/>
+		<method name="stop()V"/>
+	</class>
+	<class name="android/widget/Chronometer$OnChronometerTickListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onChronometerTick(Landroid/widget/Chronometer;)V"/>
+	</class>
+	<class name="android/widget/CompoundButton" since="1">
+		<extends name="android/widget/Button"/>
+		<implements name="android/widget/Checkable"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getButtonDrawable()Landroid/graphics/drawable/Drawable;" since="23"/>
+		<method name="getButtonTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getButtonTintList()Landroid/content/res/ColorStateList;" since="21"/>
+		<method name="getButtonTintMode()Landroid/graphics/PorterDuff$Mode;" since="21"/>
+		<method name="setButtonDrawable(I)V"/>
+		<method name="setButtonDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setButtonIcon(Landroid/graphics/drawable/Icon;)V" since="31"/>
+		<method name="setButtonTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setButtonTintList(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setButtonTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21"/>
+		<method name="setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V"/>
+	</class>
+	<class name="android/widget/CompoundButton$OnCheckedChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onCheckedChanged(Landroid/widget/CompoundButton;Z)V"/>
+	</class>
+	<class name="android/widget/CursorAdapter" since="1">
+		<extends name="android/widget/BaseAdapter"/>
+		<implements name="android/widget/Filterable"/>
+		<implements name="android/widget/ThemedSpinnerAdapter" since="23"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/database/Cursor;)V" deprecated="15"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/database/Cursor;I)V" since="11"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/database/Cursor;Z)V"/>
+		<method name="bindView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;)V"/>
+		<method name="changeCursor(Landroid/database/Cursor;)V"/>
+		<method name="convertToString(Landroid/database/Cursor;)Ljava/lang/CharSequence;"/>
+		<method name="getCursor()Landroid/database/Cursor;"/>
+		<method name="getFilterQueryProvider()Landroid/widget/FilterQueryProvider;"/>
+		<method name="init(Landroid/content/Context;Landroid/database/Cursor;Z)V" deprecated="15"/>
+		<method name="newDropDownView(Landroid/content/Context;Landroid/database/Cursor;Landroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="newView(Landroid/content/Context;Landroid/database/Cursor;Landroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="onContentChanged()V" since="3"/>
+		<method name="runQueryOnBackgroundThread(Ljava/lang/CharSequence;)Landroid/database/Cursor;"/>
+		<method name="setFilterQueryProvider(Landroid/widget/FilterQueryProvider;)V"/>
+		<method name="swapCursor(Landroid/database/Cursor;)Landroid/database/Cursor;" since="11"/>
+		<field name="FLAG_AUTO_REQUERY" since="11" deprecated="15"/>
+		<field name="FLAG_REGISTER_CONTENT_OBSERVER" since="11"/>
+	</class>
+	<class name="android/widget/CursorTreeAdapter" since="1">
+		<extends name="android/widget/BaseExpandableListAdapter"/>
+		<implements name="android/widget/Filterable"/>
+		<method name="&lt;init>(Landroid/database/Cursor;Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/database/Cursor;Landroid/content/Context;Z)V"/>
+		<method name="bindChildView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;Z)V"/>
+		<method name="bindGroupView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;Z)V"/>
+		<method name="changeCursor(Landroid/database/Cursor;)V"/>
+		<method name="convertToString(Landroid/database/Cursor;)Ljava/lang/String;"/>
+		<method name="getChild(II)Landroid/database/Cursor;"/>
+		<method name="getChildrenCursor(Landroid/database/Cursor;)Landroid/database/Cursor;"/>
+		<method name="getCursor()Landroid/database/Cursor;"/>
+		<method name="getFilterQueryProvider()Landroid/widget/FilterQueryProvider;"/>
+		<method name="getGroup(I)Landroid/database/Cursor;"/>
+		<method name="newChildView(Landroid/content/Context;Landroid/database/Cursor;ZLandroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="newGroupView(Landroid/content/Context;Landroid/database/Cursor;ZLandroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="notifyDataSetChanged(Z)V"/>
+		<method name="runQueryOnBackgroundThread(Ljava/lang/CharSequence;)Landroid/database/Cursor;"/>
+		<method name="setChildrenCursor(ILandroid/database/Cursor;)V"/>
+		<method name="setFilterQueryProvider(Landroid/widget/FilterQueryProvider;)V"/>
+		<method name="setGroupCursor(Landroid/database/Cursor;)V"/>
+	</class>
+	<class name="android/widget/DatePicker" since="1">
+		<extends name="android/widget/FrameLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getCalendarView()Landroid/widget/CalendarView;" since="12" deprecated="24"/>
+		<method name="getCalendarViewShown()Z" since="11" deprecated="24"/>
+		<method name="getDayOfMonth()I"/>
+		<method name="getFirstDayOfWeek()I" since="21"/>
+		<method name="getMaxDate()J" since="11"/>
+		<method name="getMinDate()J" since="11"/>
+		<method name="getMonth()I"/>
+		<method name="getSpinnersShown()Z" since="11" deprecated="24"/>
+		<method name="getYear()I"/>
+		<method name="init(IIILandroid/widget/DatePicker$OnDateChangedListener;)V"/>
+		<method name="setCalendarViewShown(Z)V" since="11" deprecated="24"/>
+		<method name="setFirstDayOfWeek(I)V" since="21"/>
+		<method name="setMaxDate(J)V" since="11"/>
+		<method name="setMinDate(J)V" since="11"/>
+		<method name="setOnDateChangedListener(Landroid/widget/DatePicker$OnDateChangedListener;)V" since="26"/>
+		<method name="setSpinnersShown(Z)V" since="11" deprecated="24"/>
+		<method name="updateDate(III)V"/>
+	</class>
+	<class name="android/widget/DatePicker$OnDateChangedListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onDateChanged(Landroid/widget/DatePicker;III)V"/>
+	</class>
+	<class name="android/widget/DialerFilter" since="1" deprecated="26">
+		<extends name="android/widget/RelativeLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="append(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="clearText()V" deprecated="29"/>
+		<method name="getDigits()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getFilterText()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getLetters()Ljava/lang/CharSequence;" deprecated="29"/>
+		<method name="getMode()I" deprecated="29"/>
+		<method name="isQwertyKeyboard()Z" deprecated="29"/>
+		<method name="onModeChange(II)V" deprecated="29"/>
+		<method name="removeFilterWatcher(Landroid/text/TextWatcher;)V" deprecated="29"/>
+		<method name="setDigitsWatcher(Landroid/text/TextWatcher;)V" deprecated="29"/>
+		<method name="setFilterWatcher(Landroid/text/TextWatcher;)V" deprecated="29"/>
+		<method name="setLettersWatcher(Landroid/text/TextWatcher;)V" deprecated="29"/>
+		<method name="setMode(I)V" deprecated="29"/>
+		<field name="DIGITS_AND_LETTERS" deprecated="29"/>
+		<field name="DIGITS_AND_LETTERS_NO_DIGITS" deprecated="29"/>
+		<field name="DIGITS_AND_LETTERS_NO_LETTERS" deprecated="29"/>
+		<field name="DIGITS_ONLY" deprecated="29"/>
+		<field name="LETTERS_ONLY" deprecated="29"/>
+	</class>
+	<class name="android/widget/DigitalClock" since="1" deprecated="17">
+		<extends name="android/widget/TextView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+	</class>
+	<class name="android/widget/EdgeEffect" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" since="31"/>
+		<method name="draw(Landroid/graphics/Canvas;)Z"/>
+		<method name="finish()V"/>
+		<method name="getBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getColor()I" since="21"/>
+		<method name="getDistance()F" since="31"/>
+		<method name="getMaxHeight()I" since="21"/>
+		<method name="isFinished()Z"/>
+		<method name="onAbsorb(I)V"/>
+		<method name="onPull(F)V"/>
+		<method name="onPull(FF)V" since="21"/>
+		<method name="onPullDistance(FF)F" since="31"/>
+		<method name="onRelease()V"/>
+		<method name="setBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setColor(I)V" since="21"/>
+		<method name="setSize(II)V"/>
+		<field name="DEFAULT_BLEND_MODE" since="29"/>
+	</class>
+	<class name="android/widget/EditText" since="1">
+		<extends name="android/widget/TextView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="extendSelection(I)V"/>
+		<method name="getText()Landroid/text/Editable;"/>
+		<method name="selectAll()V"/>
+		<method name="setSelection(I)V"/>
+		<method name="setSelection(II)V"/>
+	</class>
+	<class name="android/widget/ExpandableListAdapter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="areAllItemsEnabled()Z"/>
+		<method name="getChild(II)Ljava/lang/Object;"/>
+		<method name="getChildId(II)J"/>
+		<method name="getChildView(IIZLandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="getChildrenCount(I)I"/>
+		<method name="getCombinedChildId(JJ)J"/>
+		<method name="getCombinedGroupId(J)J"/>
+		<method name="getGroup(I)Ljava/lang/Object;"/>
+		<method name="getGroupCount()I"/>
+		<method name="getGroupId(I)J"/>
+		<method name="getGroupView(IZLandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="hasStableIds()Z"/>
+		<method name="isChildSelectable(II)Z"/>
+		<method name="isEmpty()Z"/>
+		<method name="onGroupCollapsed(I)V"/>
+		<method name="onGroupExpanded(I)V"/>
+		<method name="registerDataSetObserver(Landroid/database/DataSetObserver;)V"/>
+		<method name="unregisterDataSetObserver(Landroid/database/DataSetObserver;)V"/>
+	</class>
+	<class name="android/widget/ExpandableListView" since="1">
+		<extends name="android/widget/ListView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="collapseGroup(I)Z"/>
+		<method name="expandGroup(I)Z"/>
+		<method name="expandGroup(IZ)Z" since="14"/>
+		<method name="getExpandableListAdapter()Landroid/widget/ExpandableListAdapter;"/>
+		<method name="getExpandableListPosition(I)J"/>
+		<method name="getFlatListPosition(J)I"/>
+		<method name="getPackedPositionChild(J)I"/>
+		<method name="getPackedPositionForChild(II)J"/>
+		<method name="getPackedPositionForGroup(I)J"/>
+		<method name="getPackedPositionGroup(J)I"/>
+		<method name="getPackedPositionType(J)I"/>
+		<method name="getSelectedId()J"/>
+		<method name="getSelectedPosition()J"/>
+		<method name="isGroupExpanded(I)Z"/>
+		<method name="setAdapter(Landroid/widget/ExpandableListAdapter;)V"/>
+		<method name="setChildDivider(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setChildIndicator(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setChildIndicatorBounds(II)V"/>
+		<method name="setChildIndicatorBoundsRelative(II)V" since="18"/>
+		<method name="setGroupIndicator(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setIndicatorBounds(II)V"/>
+		<method name="setIndicatorBoundsRelative(II)V" since="18"/>
+		<method name="setOnChildClickListener(Landroid/widget/ExpandableListView$OnChildClickListener;)V"/>
+		<method name="setOnGroupClickListener(Landroid/widget/ExpandableListView$OnGroupClickListener;)V"/>
+		<method name="setOnGroupCollapseListener(Landroid/widget/ExpandableListView$OnGroupCollapseListener;)V"/>
+		<method name="setOnGroupExpandListener(Landroid/widget/ExpandableListView$OnGroupExpandListener;)V"/>
+		<method name="setSelectedChild(IIZ)Z"/>
+		<method name="setSelectedGroup(I)V"/>
+		<field name="CHILD_INDICATOR_INHERIT"/>
+		<field name="PACKED_POSITION_TYPE_CHILD"/>
+		<field name="PACKED_POSITION_TYPE_GROUP"/>
+		<field name="PACKED_POSITION_TYPE_NULL"/>
+		<field name="PACKED_POSITION_VALUE_NULL"/>
+	</class>
+	<class name="android/widget/ExpandableListView$ExpandableListContextMenuInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/ContextMenu$ContextMenuInfo"/>
+		<method name="&lt;init>(Landroid/view/View;JJ)V"/>
+		<field name="id"/>
+		<field name="packedPosition"/>
+		<field name="targetView"/>
+	</class>
+	<class name="android/widget/ExpandableListView$OnChildClickListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onChildClick(Landroid/widget/ExpandableListView;Landroid/view/View;IIJ)Z"/>
+	</class>
+	<class name="android/widget/ExpandableListView$OnGroupClickListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onGroupClick(Landroid/widget/ExpandableListView;Landroid/view/View;IJ)Z"/>
+	</class>
+	<class name="android/widget/ExpandableListView$OnGroupCollapseListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onGroupCollapse(I)V"/>
+	</class>
+	<class name="android/widget/ExpandableListView$OnGroupExpandListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onGroupExpand(I)V"/>
+	</class>
+	<class name="android/widget/Filter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="convertResultToString(Ljava/lang/Object;)Ljava/lang/CharSequence;"/>
+		<method name="filter(Ljava/lang/CharSequence;)V"/>
+		<method name="filter(Ljava/lang/CharSequence;Landroid/widget/Filter$FilterListener;)V"/>
+		<method name="performFiltering(Ljava/lang/CharSequence;)Landroid/widget/Filter$FilterResults;"/>
+		<method name="publishResults(Ljava/lang/CharSequence;Landroid/widget/Filter$FilterResults;)V"/>
+	</class>
+	<class name="android/widget/Filter$FilterListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onFilterComplete(I)V"/>
+	</class>
+	<class name="android/widget/Filter$FilterResults" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<field name="count"/>
+		<field name="values"/>
+	</class>
+	<class name="android/widget/FilterQueryProvider" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="runQuery(Ljava/lang/CharSequence;)Landroid/database/Cursor;"/>
+	</class>
+	<class name="android/widget/Filterable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getFilter()Landroid/widget/Filter;"/>
+	</class>
+	<class name="android/widget/FrameLayout" since="1">
+		<extends name="android/view/ViewGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="generateDefaultLayoutParams()Landroid/widget/FrameLayout$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/FrameLayout$LayoutParams;"/>
+		<method name="getConsiderGoneChildrenWhenMeasuring()Z" deprecated="15"/>
+		<method name="getForeground()Landroid/graphics/drawable/Drawable;" removed="23"/>
+		<method name="getForegroundGravity()I" since="16" removed="23"/>
+		<method name="getForegroundTintList()Landroid/content/res/ColorStateList;" since="21" removed="23"/>
+		<method name="getForegroundTintMode()Landroid/graphics/PorterDuff$Mode;" since="21" removed="23"/>
+		<method name="getMeasureAllChildren()Z" since="14"/>
+		<method name="setForeground(Landroid/graphics/drawable/Drawable;)V" removed="23"/>
+		<method name="setForegroundGravity(I)V"/>
+		<method name="setForegroundTintList(Landroid/content/res/ColorStateList;)V" since="21" removed="23"/>
+		<method name="setForegroundTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21" removed="23"/>
+		<method name="setMeasureAllChildren(Z)V"/>
+	</class>
+	<class name="android/widget/FrameLayout$LayoutParams" since="1">
+		<extends name="android/view/ViewGroup$MarginLayoutParams"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$MarginLayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/widget/FrameLayout$LayoutParams;)V" since="19"/>
+		<field name="UNSPECIFIED_GRAVITY" since="24"/>
+		<field name="gravity"/>
+	</class>
+	<class name="android/widget/Gallery" since="1" deprecated="16">
+		<extends name="android/widget/AbsSpinner"/>
+		<implements name="android/view/GestureDetector$OnGestureListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="setAnimationDuration(I)V" deprecated="29"/>
+		<method name="setCallbackDuringFling(Z)V" deprecated="29"/>
+		<method name="setGravity(I)V" deprecated="29"/>
+		<method name="setSpacing(I)V" deprecated="29"/>
+		<method name="setUnselectedAlpha(F)V" deprecated="29"/>
+	</class>
+	<class name="android/widget/Gallery$LayoutParams" since="1" deprecated="29">
+		<extends name="android/view/ViewGroup$LayoutParams"/>
+		<method name="&lt;init>(II)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V" deprecated="29"/>
+	</class>
+	<class name="android/widget/GridLayout" since="14">
+		<extends name="android/view/ViewGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="generateDefaultLayoutParams()Landroid/widget/GridLayout$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/GridLayout$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/GridLayout$LayoutParams;"/>
+		<method name="getAlignmentMode()I"/>
+		<method name="getColumnCount()I"/>
+		<method name="getOrientation()I"/>
+		<method name="getRowCount()I"/>
+		<method name="getUseDefaultMargins()Z"/>
+		<method name="isColumnOrderPreserved()Z"/>
+		<method name="isRowOrderPreserved()Z"/>
+		<method name="setAlignmentMode(I)V"/>
+		<method name="setColumnCount(I)V"/>
+		<method name="setColumnOrderPreserved(Z)V"/>
+		<method name="setOrientation(I)V"/>
+		<method name="setRowCount(I)V"/>
+		<method name="setRowOrderPreserved(Z)V"/>
+		<method name="setUseDefaultMargins(Z)V"/>
+		<method name="spec(I)Landroid/widget/GridLayout$Spec;"/>
+		<method name="spec(IF)Landroid/widget/GridLayout$Spec;" since="21"/>
+		<method name="spec(II)Landroid/widget/GridLayout$Spec;"/>
+		<method name="spec(IIF)Landroid/widget/GridLayout$Spec;" since="21"/>
+		<method name="spec(IILandroid/widget/GridLayout$Alignment;)Landroid/widget/GridLayout$Spec;"/>
+		<method name="spec(IILandroid/widget/GridLayout$Alignment;F)Landroid/widget/GridLayout$Spec;" since="21"/>
+		<method name="spec(ILandroid/widget/GridLayout$Alignment;)Landroid/widget/GridLayout$Spec;"/>
+		<method name="spec(ILandroid/widget/GridLayout$Alignment;F)Landroid/widget/GridLayout$Spec;" since="21"/>
+		<field name="ALIGN_BOUNDS"/>
+		<field name="ALIGN_MARGINS"/>
+		<field name="BASELINE"/>
+		<field name="BOTTOM"/>
+		<field name="CENTER"/>
+		<field name="END" since="16"/>
+		<field name="FILL"/>
+		<field name="HORIZONTAL"/>
+		<field name="LEFT"/>
+		<field name="RIGHT"/>
+		<field name="START" since="16"/>
+		<field name="TOP"/>
+		<field name="UNDEFINED"/>
+		<field name="VERTICAL"/>
+	</class>
+	<class name="android/widget/GridLayout$Alignment" since="14">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/widget/GridLayout$LayoutParams" since="14">
+		<extends name="android/view/ViewGroup$MarginLayoutParams"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$MarginLayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/widget/GridLayout$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/widget/GridLayout$Spec;Landroid/widget/GridLayout$Spec;)V"/>
+		<method name="setGravity(I)V"/>
+		<field name="columnSpec"/>
+		<field name="rowSpec"/>
+	</class>
+	<class name="android/widget/GridLayout$Spec" since="14">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="android/widget/GridView" since="1">
+		<extends name="android/widget/AbsListView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getAdapter()Landroid/widget/ListAdapter;"/>
+		<method name="getColumnWidth()I" since="16"/>
+		<method name="getGravity()I" since="16"/>
+		<method name="getHorizontalSpacing()I" since="16"/>
+		<method name="getNumColumns()I" since="11"/>
+		<method name="getRequestedColumnWidth()I" since="16"/>
+		<method name="getRequestedHorizontalSpacing()I" since="16"/>
+		<method name="getStretchMode()I"/>
+		<method name="getVerticalSpacing()I" since="16"/>
+		<method name="setAdapter(Landroid/widget/ListAdapter;)V"/>
+		<method name="setColumnWidth(I)V"/>
+		<method name="setGravity(I)V"/>
+		<method name="setHorizontalSpacing(I)V"/>
+		<method name="setNumColumns(I)V"/>
+		<method name="setStretchMode(I)V"/>
+		<method name="setVerticalSpacing(I)V"/>
+		<method name="smoothScrollByOffset(I)V" since="11"/>
+		<field name="AUTO_FIT"/>
+		<field name="NO_STRETCH"/>
+		<field name="STRETCH_COLUMN_WIDTH"/>
+		<field name="STRETCH_SPACING"/>
+		<field name="STRETCH_SPACING_UNIFORM" since="3"/>
+	</class>
+	<class name="android/widget/HeaderViewListAdapter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/widget/Filterable"/>
+		<implements name="android/widget/WrapperListAdapter"/>
+		<method name="&lt;init>(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)V"/>
+		<method name="getFootersCount()I"/>
+		<method name="getHeadersCount()I"/>
+		<method name="removeFooter(Landroid/view/View;)Z"/>
+		<method name="removeHeader(Landroid/view/View;)Z"/>
+	</class>
+	<class name="android/widget/HeterogeneousExpandableList" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getChildType(II)I"/>
+		<method name="getChildTypeCount()I"/>
+		<method name="getGroupType(I)I"/>
+		<method name="getGroupTypeCount()I"/>
+	</class>
+	<class name="android/widget/HorizontalScrollView" since="3">
+		<extends name="android/widget/FrameLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="arrowScroll(I)Z"/>
+		<method name="computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I"/>
+		<method name="executeKeyEvent(Landroid/view/KeyEvent;)Z"/>
+		<method name="fling(I)V"/>
+		<method name="fullScroll(I)Z"/>
+		<method name="getLeftEdgeEffectColor()I" since="29"/>
+		<method name="getMaxScrollAmount()I"/>
+		<method name="getRightEdgeEffectColor()I" since="29"/>
+		<method name="isFillViewport()Z"/>
+		<method name="isSmoothScrollingEnabled()Z"/>
+		<method name="pageScroll(I)Z"/>
+		<method name="setEdgeEffectColor(I)V" since="29"/>
+		<method name="setFillViewport(Z)V"/>
+		<method name="setLeftEdgeEffectColor(I)V" since="29"/>
+		<method name="setRightEdgeEffectColor(I)V" since="29"/>
+		<method name="setSmoothScrollingEnabled(Z)V"/>
+		<method name="smoothScrollBy(II)V"/>
+		<method name="smoothScrollTo(II)V"/>
+	</class>
+	<class name="android/widget/ImageButton" since="1">
+		<extends name="android/widget/ImageView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+	</class>
+	<class name="android/widget/ImageSwitcher" since="1">
+		<extends name="android/widget/ViewSwitcher"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="setImageDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setImageResource(I)V"/>
+		<method name="setImageURI(Landroid/net/Uri;)V"/>
+	</class>
+	<class name="android/widget/ImageView" since="1">
+		<extends name="android/view/View"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="animateTransform(Landroid/graphics/Matrix;)V" since="29"/>
+		<method name="clearColorFilter()V"/>
+		<method name="getAdjustViewBounds()Z" since="16"/>
+		<method name="getBaselineAlignBottom()Z" since="11"/>
+		<method name="getColorFilter()Landroid/graphics/ColorFilter;" since="16"/>
+		<method name="getCropToPadding()Z" since="16"/>
+		<method name="getDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getImageAlpha()I" since="16"/>
+		<method name="getImageMatrix()Landroid/graphics/Matrix;"/>
+		<method name="getImageTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getImageTintList()Landroid/content/res/ColorStateList;" since="21"/>
+		<method name="getImageTintMode()Landroid/graphics/PorterDuff$Mode;" since="21"/>
+		<method name="getMaxHeight()I" since="16"/>
+		<method name="getMaxWidth()I" since="16"/>
+		<method name="getScaleType()Landroid/widget/ImageView$ScaleType;"/>
+		<method name="setAdjustViewBounds(Z)V"/>
+		<method name="setAlpha(I)V" deprecated="16"/>
+		<method name="setBaseline(I)V" since="11"/>
+		<method name="setBaselineAlignBottom(Z)V" since="11"/>
+		<method name="setColorFilter(I)V" since="8"/>
+		<method name="setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V"/>
+		<method name="setColorFilter(Landroid/graphics/ColorFilter;)V"/>
+		<method name="setCropToPadding(Z)V" since="16"/>
+		<method name="setFrame(IIII)Z"/>
+		<method name="setImageAlpha(I)V" since="16"/>
+		<method name="setImageBitmap(Landroid/graphics/Bitmap;)V"/>
+		<method name="setImageDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setImageIcon(Landroid/graphics/drawable/Icon;)V" since="23"/>
+		<method name="setImageLevel(I)V"/>
+		<method name="setImageMatrix(Landroid/graphics/Matrix;)V"/>
+		<method name="setImageResource(I)V"/>
+		<method name="setImageState([IZ)V"/>
+		<method name="setImageTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setImageTintList(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setImageTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21"/>
+		<method name="setImageURI(Landroid/net/Uri;)V"/>
+		<method name="setMaxHeight(I)V"/>
+		<method name="setMaxWidth(I)V"/>
+		<method name="setScaleType(Landroid/widget/ImageView$ScaleType;)V"/>
+	</class>
+	<class name="android/widget/ImageView$ScaleType" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/widget/ImageView$ScaleType;"/>
+		<method name="values()[Landroid/widget/ImageView$ScaleType;"/>
+		<field name="CENTER"/>
+		<field name="CENTER_CROP"/>
+		<field name="CENTER_INSIDE"/>
+		<field name="FIT_CENTER"/>
+		<field name="FIT_END"/>
+		<field name="FIT_START"/>
+		<field name="FIT_XY"/>
+		<field name="MATRIX"/>
+	</class>
+	<class name="android/widget/LinearLayout" since="1">
+		<extends name="android/view/ViewGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="11"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="generateDefaultLayoutParams()Landroid/widget/LinearLayout$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/LinearLayout$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/LinearLayout$LayoutParams;"/>
+		<method name="getBaselineAlignedChildIndex()I"/>
+		<method name="getDividerDrawable()Landroid/graphics/drawable/Drawable;" since="16"/>
+		<method name="getDividerPadding()I" since="14"/>
+		<method name="getGravity()I" since="24"/>
+		<method name="getOrientation()I"/>
+		<method name="getShowDividers()I" since="11"/>
+		<method name="getWeightSum()F"/>
+		<method name="isBaselineAligned()Z"/>
+		<method name="isMeasureWithLargestChildEnabled()Z" since="11"/>
+		<method name="setBaselineAligned(Z)V"/>
+		<method name="setBaselineAlignedChildIndex(I)V"/>
+		<method name="setDividerDrawable(Landroid/graphics/drawable/Drawable;)V" since="11"/>
+		<method name="setDividerPadding(I)V" since="14"/>
+		<method name="setGravity(I)V"/>
+		<method name="setHorizontalGravity(I)V"/>
+		<method name="setMeasureWithLargestChildEnabled(Z)V" since="11"/>
+		<method name="setOrientation(I)V"/>
+		<method name="setShowDividers(I)V" since="11"/>
+		<method name="setVerticalGravity(I)V"/>
+		<method name="setWeightSum(F)V"/>
+		<field name="HORIZONTAL"/>
+		<field name="SHOW_DIVIDER_BEGINNING" since="11"/>
+		<field name="SHOW_DIVIDER_END" since="11"/>
+		<field name="SHOW_DIVIDER_MIDDLE" since="11"/>
+		<field name="SHOW_DIVIDER_NONE" since="11"/>
+		<field name="VERTICAL"/>
+	</class>
+	<class name="android/widget/LinearLayout$LayoutParams" since="1">
+		<extends name="android/view/ViewGroup$MarginLayoutParams"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(IIF)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$MarginLayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/widget/LinearLayout$LayoutParams;)V" since="19"/>
+		<method name="debug(Ljava/lang/String;)Ljava/lang/String;"/>
+		<field name="gravity"/>
+		<field name="weight"/>
+	</class>
+	<class name="android/widget/ListAdapter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/widget/Adapter"/>
+		<method name="areAllItemsEnabled()Z"/>
+		<method name="isEnabled(I)Z"/>
+	</class>
+	<class name="android/widget/ListPopupWindow" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V"/>
+		<method name="clearListSelection()V"/>
+		<method name="createDragToOpenListener(Landroid/view/View;)Landroid/view/View$OnTouchListener;" since="19"/>
+		<method name="dismiss()V"/>
+		<method name="getAnchorView()Landroid/view/View;"/>
+		<method name="getAnimationStyle()I"/>
+		<method name="getBackground()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getEpicenterBounds()Landroid/graphics/Rect;" since="29"/>
+		<method name="getHeight()I"/>
+		<method name="getHorizontalOffset()I"/>
+		<method name="getInputMethodMode()I"/>
+		<method name="getListView()Landroid/widget/ListView;"/>
+		<method name="getPromptPosition()I"/>
+		<method name="getSelectedItem()Ljava/lang/Object;"/>
+		<method name="getSelectedItemId()J"/>
+		<method name="getSelectedItemPosition()I"/>
+		<method name="getSelectedView()Landroid/view/View;"/>
+		<method name="getSoftInputMode()I"/>
+		<method name="getVerticalOffset()I"/>
+		<method name="getWidth()I"/>
+		<method name="isInputMethodNotNeeded()Z"/>
+		<method name="isModal()Z"/>
+		<method name="isShowing()Z"/>
+		<method name="onKeyDown(ILandroid/view/KeyEvent;)Z"/>
+		<method name="onKeyPreIme(ILandroid/view/KeyEvent;)Z"/>
+		<method name="onKeyUp(ILandroid/view/KeyEvent;)Z"/>
+		<method name="performItemClick(I)Z"/>
+		<method name="postShow()V"/>
+		<method name="setAdapter(Landroid/widget/ListAdapter;)V"/>
+		<method name="setAnchorView(Landroid/view/View;)V"/>
+		<method name="setAnimationStyle(I)V"/>
+		<method name="setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setContentWidth(I)V"/>
+		<method name="setDropDownGravity(I)V" since="19"/>
+		<method name="setEpicenterBounds(Landroid/graphics/Rect;)V" since="29"/>
+		<method name="setHeight(I)V"/>
+		<method name="setHorizontalOffset(I)V"/>
+		<method name="setInputMethodMode(I)V"/>
+		<method name="setListSelector(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setModal(Z)V"/>
+		<method name="setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V"/>
+		<method name="setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V"/>
+		<method name="setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V"/>
+		<method name="setPromptPosition(I)V"/>
+		<method name="setPromptView(Landroid/view/View;)V"/>
+		<method name="setSelection(I)V"/>
+		<method name="setSoftInputMode(I)V"/>
+		<method name="setVerticalOffset(I)V"/>
+		<method name="setWidth(I)V"/>
+		<method name="setWindowLayoutType(I)V" since="23"/>
+		<method name="show()V"/>
+		<field name="INPUT_METHOD_FROM_FOCUSABLE"/>
+		<field name="INPUT_METHOD_NEEDED"/>
+		<field name="INPUT_METHOD_NOT_NEEDED"/>
+		<field name="MATCH_PARENT"/>
+		<field name="POSITION_PROMPT_ABOVE"/>
+		<field name="POSITION_PROMPT_BELOW"/>
+		<field name="WRAP_CONTENT"/>
+	</class>
+	<class name="android/widget/ListView" since="1">
+		<extends name="android/widget/AbsListView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="addFooterView(Landroid/view/View;)V"/>
+		<method name="addFooterView(Landroid/view/View;Ljava/lang/Object;Z)V"/>
+		<method name="addHeaderView(Landroid/view/View;)V"/>
+		<method name="addHeaderView(Landroid/view/View;Ljava/lang/Object;Z)V"/>
+		<method name="areFooterDividersEnabled()Z" since="19"/>
+		<method name="areHeaderDividersEnabled()Z" since="19"/>
+		<method name="clearChoices()V" removed="11"/>
+		<method name="findViewTraversal(I)Landroid/view/View;" removed="26"/>
+		<method name="findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;" removed="26"/>
+		<method name="getAdapter()Landroid/widget/ListAdapter;"/>
+		<method name="getCheckItemIds()[J" since="4" deprecated="15"/>
+		<method name="getCheckedItemIds()[J" since="8" removed="11"/>
+		<method name="getCheckedItemPosition()I" removed="11"/>
+		<method name="getCheckedItemPositions()Landroid/util/SparseBooleanArray;" removed="11"/>
+		<method name="getChoiceMode()I" removed="11"/>
+		<method name="getDivider()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getDividerHeight()I"/>
+		<method name="getFooterViewsCount()I"/>
+		<method name="getHeaderViewsCount()I"/>
+		<method name="getItemsCanFocus()Z"/>
+		<method name="getMaxScrollAmount()I"/>
+		<method name="getOverscrollFooter()Landroid/graphics/drawable/Drawable;" since="9"/>
+		<method name="getOverscrollHeader()Landroid/graphics/drawable/Drawable;" since="9"/>
+		<method name="isItemChecked(I)Z" removed="11"/>
+		<method name="removeFooterView(Landroid/view/View;)Z"/>
+		<method name="removeHeaderView(Landroid/view/View;)Z"/>
+		<method name="setAdapter(Landroid/widget/ListAdapter;)V"/>
+		<method name="setChoiceMode(I)V" removed="11"/>
+		<method name="setDivider(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setDividerHeight(I)V"/>
+		<method name="setFooterDividersEnabled(Z)V" since="3"/>
+		<method name="setHeaderDividersEnabled(Z)V" since="3"/>
+		<method name="setItemChecked(IZ)V" removed="11"/>
+		<method name="setItemsCanFocus(Z)V"/>
+		<method name="setOverscrollFooter(Landroid/graphics/drawable/Drawable;)V" since="9"/>
+		<method name="setOverscrollHeader(Landroid/graphics/drawable/Drawable;)V" since="9"/>
+		<method name="setSelectionAfterHeaderView()V"/>
+		<method name="setSelectionFromTop(II)V" removed="21"/>
+		<method name="smoothScrollByOffset(I)V" since="11"/>
+		<field name="CHOICE_MODE_MULTIPLE" removed="11"/>
+		<field name="CHOICE_MODE_NONE" removed="11"/>
+		<field name="CHOICE_MODE_SINGLE" removed="11"/>
+	</class>
+	<class name="android/widget/ListView$FixedViewInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/widget/ListView;)V"/>
+		<field name="data"/>
+		<field name="isSelectable"/>
+		<field name="view"/>
+	</class>
+	<class name="android/widget/Magnifier" since="28">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/View;)V" deprecated="29"/>
+		<method name="dismiss()V"/>
+		<method name="getCornerRadius()F" since="29"/>
+		<method name="getDefaultHorizontalSourceToMagnifierOffset()I" since="29"/>
+		<method name="getDefaultVerticalSourceToMagnifierOffset()I" since="29"/>
+		<method name="getElevation()F" since="29"/>
+		<method name="getHeight()I"/>
+		<method name="getOverlay()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getPosition()Landroid/graphics/Point;" since="29"/>
+		<method name="getSourceHeight()I" since="29"/>
+		<method name="getSourcePosition()Landroid/graphics/Point;" since="29"/>
+		<method name="getSourceWidth()I" since="29"/>
+		<method name="getWidth()I"/>
+		<method name="getZoom()F"/>
+		<method name="isClippingEnabled()Z" since="29"/>
+		<method name="setZoom(F)V" since="29"/>
+		<method name="show(FF)V"/>
+		<method name="show(FFFF)V" since="29"/>
+		<method name="update()V"/>
+		<field name="SOURCE_BOUND_MAX_IN_SURFACE" since="29"/>
+		<field name="SOURCE_BOUND_MAX_VISIBLE" since="29"/>
+	</class>
+	<class name="android/widget/Magnifier$Builder" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/view/View;)V"/>
+		<method name="build()Landroid/widget/Magnifier;"/>
+		<method name="setClippingEnabled(Z)Landroid/widget/Magnifier$Builder;"/>
+		<method name="setCornerRadius(F)Landroid/widget/Magnifier$Builder;"/>
+		<method name="setDefaultSourceToMagnifierOffset(II)Landroid/widget/Magnifier$Builder;"/>
+		<method name="setElevation(F)Landroid/widget/Magnifier$Builder;"/>
+		<method name="setInitialZoom(F)Landroid/widget/Magnifier$Builder;"/>
+		<method name="setOverlay(Landroid/graphics/drawable/Drawable;)Landroid/widget/Magnifier$Builder;"/>
+		<method name="setSize(II)Landroid/widget/Magnifier$Builder;"/>
+		<method name="setSourceBounds(IIII)Landroid/widget/Magnifier$Builder;"/>
+	</class>
+	<class name="android/widget/MediaController" since="1">
+		<extends name="android/widget/FrameLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Z)V"/>
+		<method name="hide()V"/>
+		<method name="isShowing()Z"/>
+		<method name="setAnchorView(Landroid/view/View;)V"/>
+		<method name="setMediaPlayer(Landroid/widget/MediaController$MediaPlayerControl;)V"/>
+		<method name="setPrevNextListeners(Landroid/view/View$OnClickListener;Landroid/view/View$OnClickListener;)V"/>
+		<method name="show()V"/>
+		<method name="show(I)V"/>
+	</class>
+	<class name="android/widget/MediaController$MediaPlayerControl" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="canPause()Z" since="5"/>
+		<method name="canSeekBackward()Z" since="5"/>
+		<method name="canSeekForward()Z" since="5"/>
+		<method name="getAudioSessionId()I" since="18"/>
+		<method name="getBufferPercentage()I"/>
+		<method name="getCurrentPosition()I"/>
+		<method name="getDuration()I"/>
+		<method name="isPlaying()Z"/>
+		<method name="pause()V"/>
+		<method name="seekTo(I)V"/>
+		<method name="start()V"/>
+	</class>
+	<class name="android/widget/MultiAutoCompleteTextView" since="1">
+		<extends name="android/widget/AutoCompleteTextView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="performFiltering(Ljava/lang/CharSequence;III)V"/>
+		<method name="setTokenizer(Landroid/widget/MultiAutoCompleteTextView$Tokenizer;)V"/>
+	</class>
+	<class name="android/widget/MultiAutoCompleteTextView$CommaTokenizer" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/widget/MultiAutoCompleteTextView$Tokenizer"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="android/widget/MultiAutoCompleteTextView$Tokenizer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="findTokenEnd(Ljava/lang/CharSequence;I)I"/>
+		<method name="findTokenStart(Ljava/lang/CharSequence;I)I"/>
+		<method name="terminateToken(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;"/>
+	</class>
+	<class name="android/widget/NumberPicker" since="11">
+		<extends name="android/widget/LinearLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getDisplayedValues()[Ljava/lang/String;"/>
+		<method name="getMaxValue()I"/>
+		<method name="getMinValue()I"/>
+		<method name="getSelectionDividerHeight()I" since="29"/>
+		<method name="getTextColor()I" since="29"/>
+		<method name="getTextSize()F" since="29"/>
+		<method name="getValue()I"/>
+		<method name="getWrapSelectorWheel()Z"/>
+		<method name="setDisplayedValues([Ljava/lang/String;)V"/>
+		<method name="setFormatter(Landroid/widget/NumberPicker$Formatter;)V"/>
+		<method name="setMaxValue(I)V"/>
+		<method name="setMinValue(I)V"/>
+		<method name="setOnLongPressUpdateInterval(J)V"/>
+		<method name="setOnScrollListener(Landroid/widget/NumberPicker$OnScrollListener;)V"/>
+		<method name="setOnValueChangedListener(Landroid/widget/NumberPicker$OnValueChangeListener;)V"/>
+		<method name="setSelectionDividerHeight(I)V" since="29"/>
+		<method name="setTextColor(I)V" since="29"/>
+		<method name="setTextSize(F)V" since="29"/>
+		<method name="setValue(I)V"/>
+		<method name="setWrapSelectorWheel(Z)V"/>
+	</class>
+	<class name="android/widget/NumberPicker$Formatter" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="format(I)Ljava/lang/String;"/>
+	</class>
+	<class name="android/widget/NumberPicker$OnScrollListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onScrollStateChange(Landroid/widget/NumberPicker;I)V"/>
+		<field name="SCROLL_STATE_FLING"/>
+		<field name="SCROLL_STATE_IDLE"/>
+		<field name="SCROLL_STATE_TOUCH_SCROLL"/>
+	</class>
+	<class name="android/widget/NumberPicker$OnValueChangeListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onValueChange(Landroid/widget/NumberPicker;II)V"/>
+	</class>
+	<class name="android/widget/OverScroller" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/animation/Interpolator;FF)V" deprecated="26"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/animation/Interpolator;FFZ)V" since="11" deprecated="26"/>
+		<method name="abortAnimation()V"/>
+		<method name="computeScrollOffset()Z"/>
+		<method name="fling(IIIIIIII)V"/>
+		<method name="fling(IIIIIIIIII)V"/>
+		<method name="forceFinished(Z)V"/>
+		<method name="getCurrVelocity()F" since="14"/>
+		<method name="getCurrX()I"/>
+		<method name="getCurrY()I"/>
+		<method name="getFinalX()I"/>
+		<method name="getFinalY()I"/>
+		<method name="getStartX()I"/>
+		<method name="getStartY()I"/>
+		<method name="isFinished()Z"/>
+		<method name="isOverScrolled()Z"/>
+		<method name="notifyHorizontalEdgeReached(III)V"/>
+		<method name="notifyVerticalEdgeReached(III)V"/>
+		<method name="setFriction(F)V" since="11"/>
+		<method name="springBack(IIIIII)Z"/>
+		<method name="startScroll(IIII)V"/>
+		<method name="startScroll(IIIII)V"/>
+	</class>
+	<class name="android/widget/PopupMenu" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/View;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/View;I)V" since="19"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/View;III)V" since="22"/>
+		<method name="dismiss()V"/>
+		<method name="getDragToOpenListener()Landroid/view/View$OnTouchListener;" since="19"/>
+		<method name="getGravity()I" since="23"/>
+		<method name="getMenu()Landroid/view/Menu;"/>
+		<method name="getMenuInflater()Landroid/view/MenuInflater;"/>
+		<method name="inflate(I)V" since="14"/>
+		<method name="setForceShowIcon(Z)V" since="29"/>
+		<method name="setGravity(I)V" since="23"/>
+		<method name="setOnDismissListener(Landroid/widget/PopupMenu$OnDismissListener;)V" since="14"/>
+		<method name="setOnMenuItemClickListener(Landroid/widget/PopupMenu$OnMenuItemClickListener;)V"/>
+		<method name="show()V"/>
+	</class>
+	<class name="android/widget/PopupMenu$OnDismissListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onDismiss(Landroid/widget/PopupMenu;)V"/>
+	</class>
+	<class name="android/widget/PopupMenu$OnMenuItemClickListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onMenuItemClick(Landroid/view/MenuItem;)Z"/>
+	</class>
+	<class name="android/widget/PopupWindow" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="11"/>
+		<method name="&lt;init>(Landroid/view/View;)V"/>
+		<method name="&lt;init>(Landroid/view/View;II)V"/>
+		<method name="&lt;init>(Landroid/view/View;IIZ)V"/>
+		<method name="dismiss()V"/>
+		<method name="getAnimationStyle()I"/>
+		<method name="getBackground()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getContentView()Landroid/view/View;"/>
+		<method name="getElevation()F" since="21"/>
+		<method name="getEnterTransition()Landroid/transition/Transition;" since="24"/>
+		<method name="getEpicenterBounds()Landroid/graphics/Rect;" since="29"/>
+		<method name="getExitTransition()Landroid/transition/Transition;" since="24"/>
+		<method name="getHeight()I"/>
+		<method name="getInputMethodMode()I" since="3"/>
+		<method name="getMaxAvailableHeight(Landroid/view/View;)I"/>
+		<method name="getMaxAvailableHeight(Landroid/view/View;I)I" since="3"/>
+		<method name="getMaxAvailableHeight(Landroid/view/View;IZ)I" since="24"/>
+		<method name="getOverlapAnchor()Z" since="23"/>
+		<method name="getSoftInputMode()I" since="4"/>
+		<method name="getWidth()I"/>
+		<method name="getWindowLayoutType()I" since="23"/>
+		<method name="isAboveAnchor()Z" since="3"/>
+		<method name="isAttachedInDecor()Z" since="22"/>
+		<method name="isClippedToScreen()Z" since="29"/>
+		<method name="isClippingEnabled()Z" since="3"/>
+		<method name="isFocusable()Z"/>
+		<method name="isLaidOutInScreen()Z" since="29"/>
+		<method name="isOutsideTouchable()Z" since="3"/>
+		<method name="isShowing()Z"/>
+		<method name="isSplitTouchEnabled()Z" since="11"/>
+		<method name="isTouchModal()Z" since="29"/>
+		<method name="isTouchable()Z" since="3"/>
+		<method name="setAnimationStyle(I)V"/>
+		<method name="setAttachedInDecor(Z)V" since="22"/>
+		<method name="setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setClippingEnabled(Z)V" since="3"/>
+		<method name="setContentView(Landroid/view/View;)V"/>
+		<method name="setElevation(F)V" since="21"/>
+		<method name="setEnterTransition(Landroid/transition/Transition;)V" since="23"/>
+		<method name="setEpicenterBounds(Landroid/graphics/Rect;)V" since="29"/>
+		<method name="setExitTransition(Landroid/transition/Transition;)V" since="23"/>
+		<method name="setFocusable(Z)V"/>
+		<method name="setHeight(I)V"/>
+		<method name="setIgnoreCheekPress()V"/>
+		<method name="setInputMethodMode(I)V" since="3"/>
+		<method name="setIsClippedToScreen(Z)V" since="29"/>
+		<method name="setIsLaidOutInScreen(Z)V" since="29"/>
+		<method name="setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V"/>
+		<method name="setOutsideTouchable(Z)V" since="3"/>
+		<method name="setOverlapAnchor(Z)V" since="23"/>
+		<method name="setSoftInputMode(I)V" since="4"/>
+		<method name="setSplitTouchEnabled(Z)V" since="11"/>
+		<method name="setTouchInterceptor(Landroid/view/View$OnTouchListener;)V" since="3"/>
+		<method name="setTouchModal(Z)V" since="29"/>
+		<method name="setTouchable(Z)V" since="3"/>
+		<method name="setWidth(I)V"/>
+		<method name="setWindowLayoutMode(II)V" since="3" deprecated="23"/>
+		<method name="setWindowLayoutType(I)V" since="23"/>
+		<method name="showAsDropDown(Landroid/view/View;)V"/>
+		<method name="showAsDropDown(Landroid/view/View;II)V"/>
+		<method name="showAsDropDown(Landroid/view/View;III)V" since="19"/>
+		<method name="showAtLocation(Landroid/view/View;III)V"/>
+		<method name="update()V" since="3"/>
+		<method name="update(II)V" since="4"/>
+		<method name="update(IIII)V"/>
+		<method name="update(IIIIZ)V" since="3"/>
+		<method name="update(Landroid/view/View;II)V"/>
+		<method name="update(Landroid/view/View;IIII)V"/>
+		<field name="INPUT_METHOD_FROM_FOCUSABLE" since="3"/>
+		<field name="INPUT_METHOD_NEEDED" since="3"/>
+		<field name="INPUT_METHOD_NOT_NEEDED" since="3"/>
+	</class>
+	<class name="android/widget/PopupWindow$OnDismissListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onDismiss()V"/>
+	</class>
+	<class name="android/widget/ProgressBar" since="1">
+		<extends name="android/view/View"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getCurrentDrawable()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getIndeterminateDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getIndeterminateTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getIndeterminateTintList()Landroid/content/res/ColorStateList;" since="21"/>
+		<method name="getIndeterminateTintMode()Landroid/graphics/PorterDuff$Mode;" since="21"/>
+		<method name="getInterpolator()Landroid/view/animation/Interpolator;"/>
+		<method name="getMax()I"/>
+		<method name="getMaxHeight()I" since="29"/>
+		<method name="getMaxWidth()I" since="29"/>
+		<method name="getMin()I" since="26"/>
+		<method name="getMinHeight()I" since="29"/>
+		<method name="getMinWidth()I" since="29"/>
+		<method name="getProgress()I"/>
+		<method name="getProgressBackgroundTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getProgressBackgroundTintList()Landroid/content/res/ColorStateList;" since="21"/>
+		<method name="getProgressBackgroundTintMode()Landroid/graphics/PorterDuff$Mode;" since="21"/>
+		<method name="getProgressDrawable()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getProgressTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getProgressTintList()Landroid/content/res/ColorStateList;" since="21"/>
+		<method name="getProgressTintMode()Landroid/graphics/PorterDuff$Mode;" since="21"/>
+		<method name="getSecondaryProgress()I"/>
+		<method name="getSecondaryProgressTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getSecondaryProgressTintList()Landroid/content/res/ColorStateList;" since="21"/>
+		<method name="getSecondaryProgressTintMode()Landroid/graphics/PorterDuff$Mode;" since="21"/>
+		<method name="incrementProgressBy(I)V"/>
+		<method name="incrementSecondaryProgressBy(I)V"/>
+		<method name="isAnimating()Z" since="26"/>
+		<method name="isIndeterminate()Z"/>
+		<method name="setIndeterminate(Z)V"/>
+		<method name="setIndeterminateDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setIndeterminateDrawableTiled(Landroid/graphics/drawable/Drawable;)V" since="21"/>
+		<method name="setIndeterminateTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setIndeterminateTintList(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setIndeterminateTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21"/>
+		<method name="setInterpolator(Landroid/content/Context;I)V"/>
+		<method name="setInterpolator(Landroid/view/animation/Interpolator;)V"/>
+		<method name="setMax(I)V"/>
+		<method name="setMaxHeight(I)V" since="29"/>
+		<method name="setMaxWidth(I)V" since="29"/>
+		<method name="setMin(I)V" since="26"/>
+		<method name="setMinHeight(I)V" since="29"/>
+		<method name="setMinWidth(I)V" since="29"/>
+		<method name="setProgress(I)V"/>
+		<method name="setProgress(IZ)V" since="24"/>
+		<method name="setProgressBackgroundTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setProgressBackgroundTintList(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setProgressBackgroundTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21"/>
+		<method name="setProgressDrawable(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setProgressDrawableTiled(Landroid/graphics/drawable/Drawable;)V" since="21"/>
+		<method name="setProgressTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setProgressTintList(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setProgressTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21"/>
+		<method name="setSecondaryProgress(I)V"/>
+		<method name="setSecondaryProgressTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setSecondaryProgressTintList(Landroid/content/res/ColorStateList;)V" since="21"/>
+		<method name="setSecondaryProgressTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="21"/>
+	</class>
+	<class name="android/widget/QuickContactBadge" since="5">
+		<extends name="android/widget/ImageView"/>
+		<implements name="android/view/View$OnClickListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="assignContactFromEmail(Ljava/lang/String;Z)V"/>
+		<method name="assignContactFromEmail(Ljava/lang/String;ZLandroid/os/Bundle;)V" since="18"/>
+		<method name="assignContactFromPhone(Ljava/lang/String;Z)V"/>
+		<method name="assignContactFromPhone(Ljava/lang/String;ZLandroid/os/Bundle;)V" since="18"/>
+		<method name="assignContactUri(Landroid/net/Uri;)V"/>
+		<method name="setExcludeMimes([Ljava/lang/String;)V"/>
+		<method name="setImageToDefault()V" since="11"/>
+		<method name="setMode(I)V"/>
+		<method name="setOverlay(Landroid/graphics/drawable/Drawable;)V" since="21"/>
+		<method name="setPrioritizedMimeType(Ljava/lang/String;)V" since="23"/>
+		<field name="mExcludeMimes"/>
+	</class>
+	<class name="android/widget/RadioButton" since="1">
+		<extends name="android/widget/CompoundButton"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+	</class>
+	<class name="android/widget/RadioGroup" since="1">
+		<extends name="android/widget/LinearLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="check(I)V"/>
+		<method name="clearCheck()V"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/RadioGroup$LayoutParams;"/>
+		<method name="getCheckedRadioButtonId()I"/>
+		<method name="setOnCheckedChangeListener(Landroid/widget/RadioGroup$OnCheckedChangeListener;)V"/>
+	</class>
+	<class name="android/widget/RadioGroup$LayoutParams" since="1">
+		<extends name="android/widget/LinearLayout$LayoutParams"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(IIF)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$MarginLayoutParams;)V"/>
+	</class>
+	<class name="android/widget/RadioGroup$OnCheckedChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onCheckedChanged(Landroid/widget/RadioGroup;I)V"/>
+	</class>
+	<class name="android/widget/RatingBar" since="1">
+		<extends name="android/widget/AbsSeekBar"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getNumStars()I"/>
+		<method name="getOnRatingBarChangeListener()Landroid/widget/RatingBar$OnRatingBarChangeListener;"/>
+		<method name="getRating()F"/>
+		<method name="getStepSize()F"/>
+		<method name="isIndicator()Z"/>
+		<method name="setIsIndicator(Z)V"/>
+		<method name="setNumStars(I)V"/>
+		<method name="setOnRatingBarChangeListener(Landroid/widget/RatingBar$OnRatingBarChangeListener;)V"/>
+		<method name="setRating(F)V"/>
+		<method name="setStepSize(F)V"/>
+	</class>
+	<class name="android/widget/RatingBar$OnRatingBarChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onRatingChanged(Landroid/widget/RatingBar;FZ)V"/>
+	</class>
+	<class name="android/widget/RelativeLayout" since="1">
+		<extends name="android/view/ViewGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/RelativeLayout$LayoutParams;"/>
+		<method name="getGravity()I" since="16"/>
+		<method name="getIgnoreGravity()I" since="29"/>
+		<method name="setGravity(I)V"/>
+		<method name="setHorizontalGravity(I)V"/>
+		<method name="setIgnoreGravity(I)V"/>
+		<method name="setVerticalGravity(I)V"/>
+		<field name="ABOVE"/>
+		<field name="ALIGN_BASELINE"/>
+		<field name="ALIGN_BOTTOM"/>
+		<field name="ALIGN_END" since="17"/>
+		<field name="ALIGN_LEFT"/>
+		<field name="ALIGN_PARENT_BOTTOM"/>
+		<field name="ALIGN_PARENT_END" since="17"/>
+		<field name="ALIGN_PARENT_LEFT"/>
+		<field name="ALIGN_PARENT_RIGHT"/>
+		<field name="ALIGN_PARENT_START" since="17"/>
+		<field name="ALIGN_PARENT_TOP"/>
+		<field name="ALIGN_RIGHT"/>
+		<field name="ALIGN_START" since="17"/>
+		<field name="ALIGN_TOP"/>
+		<field name="BELOW"/>
+		<field name="CENTER_HORIZONTAL"/>
+		<field name="CENTER_IN_PARENT"/>
+		<field name="CENTER_VERTICAL"/>
+		<field name="END_OF" since="17"/>
+		<field name="LEFT_OF"/>
+		<field name="RIGHT_OF"/>
+		<field name="START_OF" since="17"/>
+		<field name="TRUE"/>
+	</class>
+	<class name="android/widget/RelativeLayout$LayoutParams" since="1">
+		<extends name="android/view/ViewGroup$MarginLayoutParams"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$MarginLayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/widget/RelativeLayout$LayoutParams;)V" since="19"/>
+		<method name="addRule(I)V"/>
+		<method name="addRule(II)V"/>
+		<method name="debug(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getRule(I)I" since="23"/>
+		<method name="getRules()[I"/>
+		<method name="removeRule(I)V" since="17"/>
+		<field name="alignWithParent"/>
+	</class>
+	<class name="android/widget/RemoteViews" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<implements name="android/view/LayoutInflater$Filter"/>
+		<method name="&lt;init>(Landroid/os/Parcel;)V"/>
+		<method name="&lt;init>(Landroid/widget/RemoteViews;)V" since="28"/>
+		<method name="&lt;init>(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;)V" since="16"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;II)V" since="31"/>
+		<method name="&lt;init>(Ljava/util/Map;)V" since="31"/>
+		<method name="addStableView(ILandroid/widget/RemoteViews;I)V" since="31"/>
+		<method name="addView(ILandroid/widget/RemoteViews;)V" since="7"/>
+		<method name="apply(Landroid/content/Context;Landroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="clone()Landroid/widget/RemoteViews;" since="9" deprecated="28"/>
+		<method name="getLayoutId()I"/>
+		<method name="getPackage()Ljava/lang/String;"/>
+		<method name="getViewId()I" since="31"/>
+		<method name="reapply(Landroid/content/Context;Landroid/view/View;)V"/>
+		<method name="removeAllViews(I)V" since="7"/>
+		<method name="setAccessibilityTraversalAfter(II)V" since="22"/>
+		<method name="setAccessibilityTraversalBefore(II)V" since="22"/>
+		<method name="setBitmap(ILjava/lang/String;Landroid/graphics/Bitmap;)V" since="3"/>
+		<method name="setBlendMode(ILjava/lang/String;Landroid/graphics/BlendMode;)V" since="31"/>
+		<method name="setBoolean(ILjava/lang/String;Z)V" since="3"/>
+		<method name="setBundle(ILjava/lang/String;Landroid/os/Bundle;)V" since="8"/>
+		<method name="setByte(ILjava/lang/String;B)V" since="3"/>
+		<method name="setChar(ILjava/lang/String;C)V" since="3"/>
+		<method name="setCharSequence(ILjava/lang/String;I)V" since="31"/>
+		<method name="setCharSequence(ILjava/lang/String;Ljava/lang/CharSequence;)V" since="3"/>
+		<method name="setCharSequenceAttr(ILjava/lang/String;I)V" since="31"/>
+		<method name="setChronometer(IJLjava/lang/String;Z)V"/>
+		<method name="setChronometerCountDown(IZ)V" since="24"/>
+		<method name="setColor(ILjava/lang/String;I)V" since="31"/>
+		<method name="setColorAttr(ILjava/lang/String;I)V" since="31"/>
+		<method name="setColorInt(ILjava/lang/String;II)V" since="31"/>
+		<method name="setColorStateList(ILjava/lang/String;I)V" since="31"/>
+		<method name="setColorStateList(ILjava/lang/String;Landroid/content/res/ColorStateList;)V" since="31"/>
+		<method name="setColorStateList(ILjava/lang/String;Landroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;)V" since="31"/>
+		<method name="setColorStateListAttr(ILjava/lang/String;I)V" since="31"/>
+		<method name="setCompoundButtonChecked(IZ)V" since="31"/>
+		<method name="setContentDescription(ILjava/lang/CharSequence;)V" since="15"/>
+		<method name="setDisplayedChild(II)V" since="12"/>
+		<method name="setDouble(ILjava/lang/String;D)V" since="3"/>
+		<method name="setEmptyView(II)V" since="11"/>
+		<method name="setFloat(ILjava/lang/String;F)V" since="3"/>
+		<method name="setFloatDimen(ILjava/lang/String;FI)V" since="31"/>
+		<method name="setFloatDimen(ILjava/lang/String;I)V" since="31"/>
+		<method name="setFloatDimenAttr(ILjava/lang/String;I)V" since="31"/>
+		<method name="setIcon(ILjava/lang/String;Landroid/graphics/drawable/Icon;)V" since="23"/>
+		<method name="setIcon(ILjava/lang/String;Landroid/graphics/drawable/Icon;Landroid/graphics/drawable/Icon;)V" since="31"/>
+		<method name="setImageViewBitmap(ILandroid/graphics/Bitmap;)V" since="3"/>
+		<method name="setImageViewIcon(ILandroid/graphics/drawable/Icon;)V" since="23"/>
+		<method name="setImageViewResource(II)V"/>
+		<method name="setImageViewUri(ILandroid/net/Uri;)V"/>
+		<method name="setInt(ILjava/lang/String;I)V" since="3"/>
+		<method name="setIntDimen(ILjava/lang/String;FI)V" since="31"/>
+		<method name="setIntDimen(ILjava/lang/String;I)V" since="31"/>
+		<method name="setIntDimenAttr(ILjava/lang/String;I)V" since="31"/>
+		<method name="setIntent(ILjava/lang/String;Landroid/content/Intent;)V" since="11"/>
+		<method name="setLabelFor(II)V" since="17"/>
+		<method name="setLightBackgroundLayoutId(I)V" since="29"/>
+		<method name="setLong(ILjava/lang/String;J)V" since="3"/>
+		<method name="setOnCheckedChangeResponse(ILandroid/widget/RemoteViews$RemoteResponse;)V" since="31"/>
+		<method name="setOnClickFillInIntent(ILandroid/content/Intent;)V" since="11"/>
+		<method name="setOnClickPendingIntent(ILandroid/app/PendingIntent;)V" since="3"/>
+		<method name="setOnClickResponse(ILandroid/widget/RemoteViews$RemoteResponse;)V" since="29"/>
+		<method name="setPendingIntentTemplate(ILandroid/app/PendingIntent;)V" since="11"/>
+		<method name="setProgressBar(IIIZ)V"/>
+		<method name="setRadioGroupChecked(II)V" since="31"/>
+		<method name="setRelativeScrollPosition(II)V" since="11"/>
+		<method name="setRemoteAdapter(IILandroid/content/Intent;)V" since="11" deprecated="15"/>
+		<method name="setRemoteAdapter(ILandroid/content/Intent;)V" since="14"/>
+		<method name="setRemoteAdapter(ILandroid/widget/RemoteViews$RemoteCollectionItems;)V" since="31"/>
+		<method name="setScrollPosition(II)V" since="11"/>
+		<method name="setShort(ILjava/lang/String;S)V" since="3"/>
+		<method name="setString(ILjava/lang/String;Ljava/lang/String;)V" since="3"/>
+		<method name="setTextColor(II)V" since="3"/>
+		<method name="setTextViewCompoundDrawables(IIIII)V" since="16"/>
+		<method name="setTextViewCompoundDrawablesRelative(IIIII)V" since="16"/>
+		<method name="setTextViewText(ILjava/lang/CharSequence;)V"/>
+		<method name="setTextViewTextSize(IIF)V" since="16"/>
+		<method name="setUri(ILjava/lang/String;Landroid/net/Uri;)V" since="3"/>
+		<method name="setViewLayoutHeight(IFI)V" since="31"/>
+		<method name="setViewLayoutHeightAttr(II)V" since="31"/>
+		<method name="setViewLayoutHeightDimen(II)V" since="31"/>
+		<method name="setViewLayoutMargin(IIFI)V" since="31"/>
+		<method name="setViewLayoutMarginAttr(III)V" since="31"/>
+		<method name="setViewLayoutMarginDimen(III)V" since="31"/>
+		<method name="setViewLayoutWidth(IFI)V" since="31"/>
+		<method name="setViewLayoutWidthAttr(II)V" since="31"/>
+		<method name="setViewLayoutWidthDimen(II)V" since="31"/>
+		<method name="setViewOutlinePreferredRadius(IFI)V" since="31"/>
+		<method name="setViewOutlinePreferredRadiusAttr(II)V" since="31"/>
+		<method name="setViewOutlinePreferredRadiusDimen(II)V" since="31"/>
+		<method name="setViewPadding(IIIII)V" since="16"/>
+		<method name="setViewVisibility(II)V"/>
+		<method name="showNext(I)V" since="11"/>
+		<method name="showPrevious(I)V" since="11"/>
+		<field name="CREATOR"/>
+		<field name="EXTRA_CHECKED" since="31"/>
+		<field name="EXTRA_SHARED_ELEMENT_BOUNDS" since="29"/>
+		<field name="MARGIN_BOTTOM" since="31"/>
+		<field name="MARGIN_END" since="31"/>
+		<field name="MARGIN_LEFT" since="31"/>
+		<field name="MARGIN_RIGHT" since="31"/>
+		<field name="MARGIN_START" since="31"/>
+		<field name="MARGIN_TOP" since="31"/>
+	</class>
+	<class name="android/widget/RemoteViews$ActionException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V" since="3"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/widget/RemoteViews$RemoteCollectionItems" since="31">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getItemCount()I"/>
+		<method name="getItemId(I)J"/>
+		<method name="getItemView(I)Landroid/widget/RemoteViews;"/>
+		<method name="getViewTypeCount()I"/>
+		<method name="hasStableIds()Z"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/widget/RemoteViews$RemoteCollectionItems$Builder" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addItem(JLandroid/widget/RemoteViews;)Landroid/widget/RemoteViews$RemoteCollectionItems$Builder;"/>
+		<method name="build()Landroid/widget/RemoteViews$RemoteCollectionItems;"/>
+		<method name="setHasStableIds(Z)Landroid/widget/RemoteViews$RemoteCollectionItems$Builder;"/>
+		<method name="setViewTypeCount(I)Landroid/widget/RemoteViews$RemoteCollectionItems$Builder;"/>
+	</class>
+	<class name="android/widget/RemoteViews$RemoteResponse" since="29">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addSharedElement(ILjava/lang/String;)Landroid/widget/RemoteViews$RemoteResponse;"/>
+		<method name="fromFillInIntent(Landroid/content/Intent;)Landroid/widget/RemoteViews$RemoteResponse;"/>
+		<method name="fromPendingIntent(Landroid/app/PendingIntent;)Landroid/widget/RemoteViews$RemoteResponse;"/>
+	</class>
+	<class name="android/widget/RemoteViews$RemoteView" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="android/widget/RemoteViews$RemoteViewOutlineProvider" since="31">
+		<extends name="android/view/ViewOutlineProvider"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="getRadius()F"/>
+	</class>
+	<class name="android/widget/RemoteViewsService" since="11">
+		<extends name="android/app/Service"/>
+		<method name="&lt;init>()V"/>
+		<method name="onGetViewFactory(Landroid/content/Intent;)Landroid/widget/RemoteViewsService$RemoteViewsFactory;"/>
+	</class>
+	<class name="android/widget/RemoteViewsService$RemoteViewsFactory" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="getCount()I"/>
+		<method name="getItemId(I)J"/>
+		<method name="getLoadingView()Landroid/widget/RemoteViews;"/>
+		<method name="getViewAt(I)Landroid/widget/RemoteViews;"/>
+		<method name="getViewTypeCount()I"/>
+		<method name="hasStableIds()Z"/>
+		<method name="onCreate()V"/>
+		<method name="onDataSetChanged()V"/>
+		<method name="onDestroy()V"/>
+	</class>
+	<class name="android/widget/ResourceCursorAdapter" since="1">
+		<extends name="android/widget/CursorAdapter"/>
+		<method name="&lt;init>(Landroid/content/Context;ILandroid/database/Cursor;)V" deprecated="15"/>
+		<method name="&lt;init>(Landroid/content/Context;ILandroid/database/Cursor;I)V" since="11"/>
+		<method name="&lt;init>(Landroid/content/Context;ILandroid/database/Cursor;Z)V" since="3"/>
+		<method name="setDropDownViewResource(I)V"/>
+		<method name="setViewResource(I)V" since="3"/>
+	</class>
+	<class name="android/widget/ResourceCursorTreeAdapter" since="1">
+		<extends name="android/widget/CursorTreeAdapter"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/database/Cursor;II)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/database/Cursor;III)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/database/Cursor;IIII)V"/>
+	</class>
+	<class name="android/widget/ScrollView" since="1">
+		<extends name="android/widget/FrameLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="arrowScroll(I)Z"/>
+		<method name="computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I"/>
+		<method name="executeKeyEvent(Landroid/view/KeyEvent;)Z"/>
+		<method name="fling(I)V"/>
+		<method name="fullScroll(I)Z"/>
+		<method name="getBottomEdgeEffectColor()I" since="29"/>
+		<method name="getMaxScrollAmount()I"/>
+		<method name="getTopEdgeEffectColor()I" since="29"/>
+		<method name="isFillViewport()Z"/>
+		<method name="isSmoothScrollingEnabled()Z"/>
+		<method name="pageScroll(I)Z"/>
+		<method name="scrollToDescendant(Landroid/view/View;)V" since="29"/>
+		<method name="setBottomEdgeEffectColor(I)V" since="29"/>
+		<method name="setEdgeEffectColor(I)V" since="29"/>
+		<method name="setFillViewport(Z)V"/>
+		<method name="setSmoothScrollingEnabled(Z)V"/>
+		<method name="setTopEdgeEffectColor(I)V" since="29"/>
+		<method name="smoothScrollBy(II)V"/>
+		<method name="smoothScrollTo(II)V"/>
+	</class>
+	<class name="android/widget/Scroller" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V" since="11"/>
+		<method name="abortAnimation()V"/>
+		<method name="computeScrollOffset()Z"/>
+		<method name="extendDuration(I)V"/>
+		<method name="fling(IIIIIIII)V"/>
+		<method name="forceFinished(Z)V"/>
+		<method name="getCurrVelocity()F" since="14"/>
+		<method name="getCurrX()I"/>
+		<method name="getCurrY()I"/>
+		<method name="getDuration()I"/>
+		<method name="getFinalX()I"/>
+		<method name="getFinalY()I"/>
+		<method name="getStartX()I" since="3"/>
+		<method name="getStartY()I" since="3"/>
+		<method name="isFinished()Z"/>
+		<method name="setFinalX(I)V"/>
+		<method name="setFinalY(I)V"/>
+		<method name="setFriction(F)V" since="11"/>
+		<method name="startScroll(IIII)V"/>
+		<method name="startScroll(IIIII)V"/>
+		<method name="timePassed()I"/>
+	</class>
+	<class name="android/widget/SearchView" since="11">
+		<extends name="android/widget/LinearLayout"/>
+		<implements name="android/view/CollapsibleActionView" since="14"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="21"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getImeOptions()I" since="16"/>
+		<method name="getInputType()I" since="16"/>
+		<method name="getMaxWidth()I" since="16"/>
+		<method name="getQuery()Ljava/lang/CharSequence;"/>
+		<method name="getQueryHint()Ljava/lang/CharSequence;" since="16"/>
+		<method name="getSuggestionsAdapter()Landroid/widget/CursorAdapter;"/>
+		<method name="isIconfiedByDefault()Z" deprecated="29"/>
+		<method name="isIconified()Z"/>
+		<method name="isIconifiedByDefault()Z" since="29"/>
+		<method name="isQueryRefinementEnabled()Z"/>
+		<method name="isSubmitButtonEnabled()Z"/>
+		<method name="setIconified(Z)V"/>
+		<method name="setIconifiedByDefault(Z)V"/>
+		<method name="setImeOptions(I)V" since="14"/>
+		<method name="setInputType(I)V" since="14"/>
+		<method name="setMaxWidth(I)V"/>
+		<method name="setOnCloseListener(Landroid/widget/SearchView$OnCloseListener;)V"/>
+		<method name="setOnQueryTextFocusChangeListener(Landroid/view/View$OnFocusChangeListener;)V"/>
+		<method name="setOnQueryTextListener(Landroid/widget/SearchView$OnQueryTextListener;)V"/>
+		<method name="setOnSearchClickListener(Landroid/view/View$OnClickListener;)V"/>
+		<method name="setOnSuggestionListener(Landroid/widget/SearchView$OnSuggestionListener;)V"/>
+		<method name="setQuery(Ljava/lang/CharSequence;Z)V"/>
+		<method name="setQueryHint(Ljava/lang/CharSequence;)V"/>
+		<method name="setQueryRefinementEnabled(Z)V"/>
+		<method name="setSearchableInfo(Landroid/app/SearchableInfo;)V"/>
+		<method name="setSubmitButtonEnabled(Z)V"/>
+		<method name="setSuggestionsAdapter(Landroid/widget/CursorAdapter;)V"/>
+	</class>
+	<class name="android/widget/SearchView$OnCloseListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onClose()Z"/>
+	</class>
+	<class name="android/widget/SearchView$OnQueryTextListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onQueryTextChange(Ljava/lang/String;)Z"/>
+		<method name="onQueryTextSubmit(Ljava/lang/String;)Z"/>
+	</class>
+	<class name="android/widget/SearchView$OnSuggestionListener" since="11">
+		<extends name="java/lang/Object"/>
+		<method name="onSuggestionClick(I)Z"/>
+		<method name="onSuggestionSelect(I)Z"/>
+	</class>
+	<class name="android/widget/SectionIndexer" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="getPositionForSection(I)I"/>
+		<method name="getSectionForPosition(I)I"/>
+		<method name="getSections()[Ljava/lang/Object;"/>
+	</class>
+	<class name="android/widget/SeekBar" since="1">
+		<extends name="android/widget/AbsSeekBar"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V"/>
+	</class>
+	<class name="android/widget/SeekBar$OnSeekBarChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onProgressChanged(Landroid/widget/SeekBar;IZ)V"/>
+		<method name="onStartTrackingTouch(Landroid/widget/SeekBar;)V"/>
+		<method name="onStopTrackingTouch(Landroid/widget/SeekBar;)V"/>
+	</class>
+	<class name="android/widget/ShareActionProvider" since="14">
+		<extends name="android/view/ActionProvider"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="setOnShareTargetSelectedListener(Landroid/widget/ShareActionProvider$OnShareTargetSelectedListener;)V"/>
+		<method name="setShareHistoryFileName(Ljava/lang/String;)V"/>
+		<method name="setShareIntent(Landroid/content/Intent;)V"/>
+		<field name="DEFAULT_SHARE_HISTORY_FILE_NAME"/>
+	</class>
+	<class name="android/widget/ShareActionProvider$OnShareTargetSelectedListener" since="14">
+		<extends name="java/lang/Object"/>
+		<method name="onShareTargetSelected(Landroid/widget/ShareActionProvider;Landroid/content/Intent;)Z"/>
+	</class>
+	<class name="android/widget/SimpleAdapter" since="1">
+		<extends name="android/widget/BaseAdapter"/>
+		<implements name="android/widget/Filterable"/>
+		<implements name="android/widget/ThemedSpinnerAdapter" since="23"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/util/List;I[Ljava/lang/String;[I)V"/>
+		<method name="getViewBinder()Landroid/widget/SimpleAdapter$ViewBinder;"/>
+		<method name="setDropDownViewResource(I)V"/>
+		<method name="setViewBinder(Landroid/widget/SimpleAdapter$ViewBinder;)V"/>
+		<method name="setViewImage(Landroid/widget/ImageView;I)V"/>
+		<method name="setViewImage(Landroid/widget/ImageView;Ljava/lang/String;)V"/>
+		<method name="setViewText(Landroid/widget/TextView;Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/widget/SimpleAdapter$ViewBinder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="setViewValue(Landroid/view/View;Ljava/lang/Object;Ljava/lang/String;)Z"/>
+	</class>
+	<class name="android/widget/SimpleCursorAdapter" since="1">
+		<extends name="android/widget/ResourceCursorAdapter"/>
+		<method name="&lt;init>(Landroid/content/Context;ILandroid/database/Cursor;[Ljava/lang/String;[I)V" deprecated="15"/>
+		<method name="&lt;init>(Landroid/content/Context;ILandroid/database/Cursor;[Ljava/lang/String;[II)V" since="11"/>
+		<method name="changeCursorAndColumns(Landroid/database/Cursor;[Ljava/lang/String;[I)V" since="3"/>
+		<method name="getCursorToStringConverter()Landroid/widget/SimpleCursorAdapter$CursorToStringConverter;"/>
+		<method name="getStringConversionColumn()I"/>
+		<method name="getViewBinder()Landroid/widget/SimpleCursorAdapter$ViewBinder;"/>
+		<method name="setCursorToStringConverter(Landroid/widget/SimpleCursorAdapter$CursorToStringConverter;)V"/>
+		<method name="setStringConversionColumn(I)V"/>
+		<method name="setViewBinder(Landroid/widget/SimpleCursorAdapter$ViewBinder;)V"/>
+		<method name="setViewImage(Landroid/widget/ImageView;Ljava/lang/String;)V"/>
+		<method name="setViewText(Landroid/widget/TextView;Ljava/lang/String;)V"/>
+	</class>
+	<class name="android/widget/SimpleCursorAdapter$CursorToStringConverter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="convertToString(Landroid/database/Cursor;)Ljava/lang/CharSequence;"/>
+	</class>
+	<class name="android/widget/SimpleCursorAdapter$ViewBinder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="setViewValue(Landroid/view/View;Landroid/database/Cursor;I)Z"/>
+	</class>
+	<class name="android/widget/SimpleCursorTreeAdapter" since="1">
+		<extends name="android/widget/ResourceCursorTreeAdapter"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/database/Cursor;II[Ljava/lang/String;[III[Ljava/lang/String;[I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/database/Cursor;II[Ljava/lang/String;[II[Ljava/lang/String;[I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/database/Cursor;I[Ljava/lang/String;[II[Ljava/lang/String;[I)V"/>
+		<method name="getViewBinder()Landroid/widget/SimpleCursorTreeAdapter$ViewBinder;" since="5"/>
+		<method name="setViewBinder(Landroid/widget/SimpleCursorTreeAdapter$ViewBinder;)V" since="5"/>
+		<method name="setViewImage(Landroid/widget/ImageView;Ljava/lang/String;)V"/>
+		<method name="setViewText(Landroid/widget/TextView;Ljava/lang/String;)V" since="5"/>
+	</class>
+	<class name="android/widget/SimpleCursorTreeAdapter$ViewBinder" since="5">
+		<extends name="java/lang/Object"/>
+		<method name="setViewValue(Landroid/view/View;Landroid/database/Cursor;I)Z"/>
+	</class>
+	<class name="android/widget/SimpleExpandableListAdapter" since="1">
+		<extends name="android/widget/BaseExpandableListAdapter"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/util/List;II[Ljava/lang/String;[ILjava/util/List;II[Ljava/lang/String;[I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/util/List;II[Ljava/lang/String;[ILjava/util/List;I[Ljava/lang/String;[I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/util/List;I[Ljava/lang/String;[ILjava/util/List;I[Ljava/lang/String;[I)V"/>
+		<method name="newChildView(ZLandroid/view/ViewGroup;)Landroid/view/View;"/>
+		<method name="newGroupView(ZLandroid/view/ViewGroup;)Landroid/view/View;"/>
+	</class>
+	<class name="android/widget/SlidingDrawer" since="3" deprecated="17">
+		<extends name="android/view/ViewGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="animateClose()V" deprecated="29"/>
+		<method name="animateOpen()V" deprecated="29"/>
+		<method name="animateToggle()V" deprecated="29"/>
+		<method name="close()V" deprecated="29"/>
+		<method name="getContent()Landroid/view/View;" deprecated="29"/>
+		<method name="getHandle()Landroid/view/View;" deprecated="29"/>
+		<method name="isMoving()Z" deprecated="29"/>
+		<method name="isOpened()Z" deprecated="29"/>
+		<method name="lock()V" deprecated="29"/>
+		<method name="open()V" deprecated="29"/>
+		<method name="setOnDrawerCloseListener(Landroid/widget/SlidingDrawer$OnDrawerCloseListener;)V" deprecated="29"/>
+		<method name="setOnDrawerOpenListener(Landroid/widget/SlidingDrawer$OnDrawerOpenListener;)V" deprecated="29"/>
+		<method name="setOnDrawerScrollListener(Landroid/widget/SlidingDrawer$OnDrawerScrollListener;)V" deprecated="29"/>
+		<method name="toggle()V" deprecated="29"/>
+		<method name="unlock()V" deprecated="29"/>
+		<field name="ORIENTATION_HORIZONTAL" deprecated="29"/>
+		<field name="ORIENTATION_VERTICAL" deprecated="29"/>
+	</class>
+	<class name="android/widget/SlidingDrawer$OnDrawerCloseListener" since="3" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onDrawerClosed()V" deprecated="29"/>
+	</class>
+	<class name="android/widget/SlidingDrawer$OnDrawerOpenListener" since="3" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onDrawerOpened()V" deprecated="29"/>
+	</class>
+	<class name="android/widget/SlidingDrawer$OnDrawerScrollListener" since="3" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onScrollEnded()V" deprecated="29"/>
+		<method name="onScrollStarted()V" deprecated="29"/>
+	</class>
+	<class name="android/widget/Space" since="14">
+		<extends name="android/view/View"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+	</class>
+	<class name="android/widget/Spinner" since="1">
+		<extends name="android/widget/AbsSpinner"/>
+		<implements name="android/content/DialogInterface$OnClickListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;I)V" since="11"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="11"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;III)V" since="21"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;IIILandroid/content/res/Resources$Theme;)V" since="23"/>
+		<method name="getDropDownHorizontalOffset()I" since="16"/>
+		<method name="getDropDownVerticalOffset()I" since="16"/>
+		<method name="getDropDownWidth()I" since="16"/>
+		<method name="getGravity()I" since="16"/>
+		<method name="getPopupBackground()Landroid/graphics/drawable/Drawable;" since="16"/>
+		<method name="getPopupContext()Landroid/content/Context;" since="23"/>
+		<method name="getPrompt()Ljava/lang/CharSequence;"/>
+		<method name="setDropDownHorizontalOffset(I)V" since="16"/>
+		<method name="setDropDownVerticalOffset(I)V" since="16"/>
+		<method name="setDropDownWidth(I)V" since="16"/>
+		<method name="setGravity(I)V" since="11"/>
+		<method name="setPopupBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V" since="16"/>
+		<method name="setPopupBackgroundResource(I)V" since="16"/>
+		<method name="setPrompt(Ljava/lang/CharSequence;)V"/>
+		<method name="setPromptId(I)V"/>
+		<field name="MODE_DIALOG" since="11"/>
+		<field name="MODE_DROPDOWN" since="11"/>
+	</class>
+	<class name="android/widget/SpinnerAdapter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/widget/Adapter"/>
+		<method name="getDropDownView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;"/>
+	</class>
+	<class name="android/widget/StackView" since="11">
+		<extends name="android/widget/AdapterViewAnimator"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="14"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+	</class>
+	<class name="android/widget/Switch" since="14">
+		<extends name="android/widget/CompoundButton"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getShowText()Z" since="21"/>
+		<method name="getSplitTrack()Z" since="21"/>
+		<method name="getSwitchMinWidth()I" since="16"/>
+		<method name="getSwitchPadding()I" since="16"/>
+		<method name="getTextOff()Ljava/lang/CharSequence;"/>
+		<method name="getTextOn()Ljava/lang/CharSequence;"/>
+		<method name="getThumbDrawable()Landroid/graphics/drawable/Drawable;" since="16"/>
+		<method name="getThumbTextPadding()I" since="16"/>
+		<method name="getThumbTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getThumbTintList()Landroid/content/res/ColorStateList;" since="23"/>
+		<method name="getThumbTintMode()Landroid/graphics/PorterDuff$Mode;" since="23"/>
+		<method name="getTrackDrawable()Landroid/graphics/drawable/Drawable;" since="16"/>
+		<method name="getTrackTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getTrackTintList()Landroid/content/res/ColorStateList;" since="23"/>
+		<method name="getTrackTintMode()Landroid/graphics/PorterDuff$Mode;" since="23"/>
+		<method name="setShowText(Z)V" since="21"/>
+		<method name="setSplitTrack(Z)V" since="21"/>
+		<method name="setSwitchMinWidth(I)V" since="16"/>
+		<method name="setSwitchPadding(I)V" since="16"/>
+		<method name="setSwitchTextAppearance(Landroid/content/Context;I)V"/>
+		<method name="setSwitchTypeface(Landroid/graphics/Typeface;)V"/>
+		<method name="setSwitchTypeface(Landroid/graphics/Typeface;I)V"/>
+		<method name="setTextOff(Ljava/lang/CharSequence;)V"/>
+		<method name="setTextOn(Ljava/lang/CharSequence;)V"/>
+		<method name="setThumbDrawable(Landroid/graphics/drawable/Drawable;)V" since="16"/>
+		<method name="setThumbIcon(Landroid/graphics/drawable/Icon;)V" since="31"/>
+		<method name="setThumbResource(I)V" since="16"/>
+		<method name="setThumbTextPadding(I)V" since="16"/>
+		<method name="setThumbTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setThumbTintList(Landroid/content/res/ColorStateList;)V" since="23"/>
+		<method name="setThumbTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="23"/>
+		<method name="setTrackDrawable(Landroid/graphics/drawable/Drawable;)V" since="16"/>
+		<method name="setTrackIcon(Landroid/graphics/drawable/Icon;)V" since="31"/>
+		<method name="setTrackResource(I)V" since="16"/>
+		<method name="setTrackTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setTrackTintList(Landroid/content/res/ColorStateList;)V" since="23"/>
+		<method name="setTrackTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="23"/>
+	</class>
+	<class name="android/widget/TabHost" since="1" deprecated="30">
+		<extends name="android/widget/FrameLayout"/>
+		<implements name="android/view/ViewTreeObserver$OnTouchModeChangeListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="30"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="30"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" since="21" deprecated="30"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="30"/>
+		<method name="addTab(Landroid/widget/TabHost$TabSpec;)V" deprecated="30"/>
+		<method name="clearAllTabs()V" deprecated="30"/>
+		<method name="getCurrentTab()I" deprecated="30"/>
+		<method name="getCurrentTabTag()Ljava/lang/String;" deprecated="30"/>
+		<method name="getCurrentTabView()Landroid/view/View;" deprecated="30"/>
+		<method name="getCurrentView()Landroid/view/View;" deprecated="30"/>
+		<method name="getTabContentView()Landroid/widget/FrameLayout;" deprecated="30"/>
+		<method name="getTabWidget()Landroid/widget/TabWidget;" deprecated="30"/>
+		<method name="newTabSpec(Ljava/lang/String;)Landroid/widget/TabHost$TabSpec;" deprecated="30"/>
+		<method name="setCurrentTab(I)V" deprecated="30"/>
+		<method name="setCurrentTabByTag(Ljava/lang/String;)V" deprecated="30"/>
+		<method name="setOnTabChangedListener(Landroid/widget/TabHost$OnTabChangeListener;)V" deprecated="30"/>
+		<method name="setup()V" deprecated="30"/>
+		<method name="setup(Landroid/app/LocalActivityManager;)V" deprecated="30"/>
+	</class>
+	<class name="android/widget/TabHost$OnTabChangeListener" since="1" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="onTabChanged(Ljava/lang/String;)V" deprecated="30"/>
+	</class>
+	<class name="android/widget/TabHost$TabContentFactory" since="1" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="createTabContent(Ljava/lang/String;)Landroid/view/View;" deprecated="30"/>
+	</class>
+	<class name="android/widget/TabHost$TabSpec" since="1" deprecated="30">
+		<extends name="java/lang/Object"/>
+		<method name="getTag()Ljava/lang/String;" since="4" deprecated="30"/>
+		<method name="setContent(I)Landroid/widget/TabHost$TabSpec;" deprecated="30"/>
+		<method name="setContent(Landroid/content/Intent;)Landroid/widget/TabHost$TabSpec;" deprecated="30"/>
+		<method name="setContent(Landroid/widget/TabHost$TabContentFactory;)Landroid/widget/TabHost$TabSpec;" deprecated="30"/>
+		<method name="setIndicator(Landroid/view/View;)Landroid/widget/TabHost$TabSpec;" since="4" deprecated="30"/>
+		<method name="setIndicator(Ljava/lang/CharSequence;)Landroid/widget/TabHost$TabSpec;" deprecated="30"/>
+		<method name="setIndicator(Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;)Landroid/widget/TabHost$TabSpec;" deprecated="30"/>
+	</class>
+	<class name="android/widget/TabWidget" since="1" deprecated="30">
+		<extends name="android/widget/LinearLayout"/>
+		<implements name="android/view/View$OnFocusChangeListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="30"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="30"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="30"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="30"/>
+		<method name="focusCurrentTab(I)V" deprecated="30"/>
+		<method name="getChildTabViewAt(I)Landroid/view/View;" since="4" deprecated="30"/>
+		<method name="getLeftStripDrawable()Landroid/graphics/drawable/Drawable;" since="24" deprecated="30"/>
+		<method name="getRightStripDrawable()Landroid/graphics/drawable/Drawable;" since="24" deprecated="30"/>
+		<method name="getTabCount()I" since="4" deprecated="30"/>
+		<method name="isStripEnabled()Z" since="8" deprecated="30"/>
+		<method name="setCurrentTab(I)V" deprecated="30"/>
+		<method name="setDividerDrawable(I)V" since="4" deprecated="30"/>
+		<method name="setDividerDrawable(Landroid/graphics/drawable/Drawable;)V" since="4" deprecated="30"/>
+		<method name="setLeftStripDrawable(I)V" since="8" deprecated="30"/>
+		<method name="setLeftStripDrawable(Landroid/graphics/drawable/Drawable;)V" since="8" deprecated="30"/>
+		<method name="setRightStripDrawable(I)V" since="8" deprecated="30"/>
+		<method name="setRightStripDrawable(Landroid/graphics/drawable/Drawable;)V" since="8" deprecated="30"/>
+		<method name="setStripEnabled(Z)V" since="8" deprecated="30"/>
+	</class>
+	<class name="android/widget/TableLayout" since="1">
+		<extends name="android/widget/LinearLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/TableLayout$LayoutParams;"/>
+		<method name="isColumnCollapsed(I)Z"/>
+		<method name="isColumnShrinkable(I)Z"/>
+		<method name="isColumnStretchable(I)Z"/>
+		<method name="isShrinkAllColumns()Z"/>
+		<method name="isStretchAllColumns()Z"/>
+		<method name="setColumnCollapsed(IZ)V"/>
+		<method name="setColumnShrinkable(IZ)V"/>
+		<method name="setColumnStretchable(IZ)V"/>
+		<method name="setShrinkAllColumns(Z)V"/>
+		<method name="setStretchAllColumns(Z)V"/>
+	</class>
+	<class name="android/widget/TableLayout$LayoutParams" since="1">
+		<extends name="android/widget/LinearLayout$LayoutParams"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(IIF)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$MarginLayoutParams;)V"/>
+	</class>
+	<class name="android/widget/TableRow" since="1">
+		<extends name="android/widget/LinearLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/TableRow$LayoutParams;"/>
+		<method name="getVirtualChildAt(I)Landroid/view/View;"/>
+		<method name="getVirtualChildCount()I"/>
+	</class>
+	<class name="android/widget/TableRow$LayoutParams" since="1">
+		<extends name="android/widget/LinearLayout$LayoutParams"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(IIF)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$MarginLayoutParams;)V"/>
+		<field name="column"/>
+		<field name="span"/>
+	</class>
+	<class name="android/widget/TextClock" since="17">
+		<extends name="android/widget/TextView"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getFormat12Hour()Ljava/lang/CharSequence;"/>
+		<method name="getFormat24Hour()Ljava/lang/CharSequence;"/>
+		<method name="getTimeZone()Ljava/lang/String;"/>
+		<method name="is24HourModeEnabled()Z"/>
+		<method name="refreshTime()V" since="30"/>
+		<method name="setFormat12Hour(Ljava/lang/CharSequence;)V"/>
+		<method name="setFormat24Hour(Ljava/lang/CharSequence;)V"/>
+		<method name="setTimeZone(Ljava/lang/String;)V"/>
+		<field name="DEFAULT_FORMAT_12_HOUR" deprecated="18"/>
+		<field name="DEFAULT_FORMAT_24_HOUR" deprecated="18"/>
+	</class>
+	<class name="android/widget/TextSwitcher" since="1">
+		<extends name="android/widget/ViewSwitcher"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="setCurrentText(Ljava/lang/CharSequence;)V"/>
+		<method name="setText(Ljava/lang/CharSequence;)V"/>
+	</class>
+	<class name="android/widget/TextView" since="1">
+		<extends name="android/view/View"/>
+		<implements name="android/view/ViewTreeObserver$OnPreDrawListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="addTextChangedListener(Landroid/text/TextWatcher;)V"/>
+		<method name="append(Ljava/lang/CharSequence;)V"/>
+		<method name="append(Ljava/lang/CharSequence;II)V"/>
+		<method name="beginBatchEdit()V" since="3"/>
+		<method name="bringPointIntoView(I)Z" since="3"/>
+		<method name="clearComposingText()V" since="3"/>
+		<method name="debug(I)V"/>
+		<method name="didTouchFocusSelect()Z" since="3"/>
+		<method name="endBatchEdit()V" since="3"/>
+		<method name="extractText(Landroid/view/inputmethod/ExtractedTextRequest;Landroid/view/inputmethod/ExtractedText;)Z" since="3"/>
+		<method name="getAutoLinkMask()I"/>
+		<method name="getAutoSizeMaxTextSize()I" since="26"/>
+		<method name="getAutoSizeMinTextSize()I" since="26"/>
+		<method name="getAutoSizeStepGranularity()I" since="26"/>
+		<method name="getAutoSizeTextAvailableSizes()[I" since="26"/>
+		<method name="getAutoSizeTextType()I" since="26"/>
+		<method name="getBreakStrategy()I" since="23"/>
+		<method name="getCompoundDrawablePadding()I"/>
+		<method name="getCompoundDrawableTintBlendMode()Landroid/graphics/BlendMode;" since="29"/>
+		<method name="getCompoundDrawableTintList()Landroid/content/res/ColorStateList;" since="23"/>
+		<method name="getCompoundDrawableTintMode()Landroid/graphics/PorterDuff$Mode;" since="23"/>
+		<method name="getCompoundDrawables()[Landroid/graphics/drawable/Drawable;"/>
+		<method name="getCompoundDrawablesRelative()[Landroid/graphics/drawable/Drawable;" since="17"/>
+		<method name="getCompoundPaddingBottom()I"/>
+		<method name="getCompoundPaddingEnd()I" since="17"/>
+		<method name="getCompoundPaddingLeft()I"/>
+		<method name="getCompoundPaddingRight()I"/>
+		<method name="getCompoundPaddingStart()I" since="17"/>
+		<method name="getCompoundPaddingTop()I"/>
+		<method name="getCurrentHintTextColor()I"/>
+		<method name="getCurrentTextColor()I"/>
+		<method name="getCustomInsertionActionModeCallback()Landroid/view/ActionMode$Callback;" since="23"/>
+		<method name="getCustomSelectionActionModeCallback()Landroid/view/ActionMode$Callback;" since="11"/>
+		<method name="getDefaultEditable()Z"/>
+		<method name="getDefaultMovementMethod()Landroid/text/method/MovementMethod;"/>
+		<method name="getEditableText()Landroid/text/Editable;" since="3"/>
+		<method name="getEllipsize()Landroid/text/TextUtils$TruncateAt;"/>
+		<method name="getError()Ljava/lang/CharSequence;"/>
+		<method name="getExtendedPaddingBottom()I"/>
+		<method name="getExtendedPaddingTop()I"/>
+		<method name="getFilters()[Landroid/text/InputFilter;"/>
+		<method name="getFirstBaselineToTopHeight()I" since="28"/>
+		<method name="getFontFeatureSettings()Ljava/lang/String;" since="21"/>
+		<method name="getFontVariationSettings()Ljava/lang/String;" since="26"/>
+		<method name="getFreezesText()Z"/>
+		<method name="getGravity()I"/>
+		<method name="getHighlightColor()I" since="16"/>
+		<method name="getHint()Ljava/lang/CharSequence;"/>
+		<method name="getHintTextColors()Landroid/content/res/ColorStateList;"/>
+		<method name="getHyphenationFrequency()I" since="23"/>
+		<method name="getImeActionId()I" since="3"/>
+		<method name="getImeActionLabel()Ljava/lang/CharSequence;" since="3"/>
+		<method name="getImeHintLocales()Landroid/os/LocaleList;" since="24"/>
+		<method name="getImeOptions()I" since="3"/>
+		<method name="getIncludeFontPadding()Z" since="16"/>
+		<method name="getInputExtras(Z)Landroid/os/Bundle;" since="3"/>
+		<method name="getInputType()I" since="3"/>
+		<method name="getJustificationMode()I" since="26"/>
+		<method name="getKeyListener()Landroid/text/method/KeyListener;"/>
+		<method name="getLastBaselineToBottomHeight()I" since="28"/>
+		<method name="getLayout()Landroid/text/Layout;"/>
+		<method name="getLetterSpacing()F" since="21"/>
+		<method name="getLineBounds(ILandroid/graphics/Rect;)I"/>
+		<method name="getLineCount()I"/>
+		<method name="getLineHeight()I"/>
+		<method name="getLineSpacingExtra()F" since="16"/>
+		<method name="getLineSpacingMultiplier()F" since="16"/>
+		<method name="getLinkTextColors()Landroid/content/res/ColorStateList;"/>
+		<method name="getLinksClickable()Z"/>
+		<method name="getMarqueeRepeatLimit()I" since="16"/>
+		<method name="getMaxEms()I" since="16"/>
+		<method name="getMaxHeight()I" since="16"/>
+		<method name="getMaxLines()I" since="16"/>
+		<method name="getMaxWidth()I" since="16"/>
+		<method name="getMinEms()I" since="16"/>
+		<method name="getMinHeight()I" since="16"/>
+		<method name="getMinLines()I" since="16"/>
+		<method name="getMinWidth()I" since="16"/>
+		<method name="getMovementMethod()Landroid/text/method/MovementMethod;"/>
+		<method name="getOffsetForPosition(FF)I" since="14"/>
+		<method name="getPaint()Landroid/text/TextPaint;"/>
+		<method name="getPaintFlags()I"/>
+		<method name="getPrivateImeOptions()Ljava/lang/String;" since="3"/>
+		<method name="getSelectionEnd()I"/>
+		<method name="getSelectionStart()I"/>
+		<method name="getShadowColor()I" since="16"/>
+		<method name="getShadowDx()F" since="16"/>
+		<method name="getShadowDy()F" since="16"/>
+		<method name="getShadowRadius()F" since="16"/>
+		<method name="getShowSoftInputOnFocus()Z" since="21"/>
+		<method name="getText()Ljava/lang/CharSequence;"/>
+		<method name="getTextClassifier()Landroid/view/textclassifier/TextClassifier;" since="26"/>
+		<method name="getTextColor(Landroid/content/Context;Landroid/content/res/TypedArray;I)I" removed="21"/>
+		<method name="getTextColors()Landroid/content/res/ColorStateList;"/>
+		<method name="getTextColors(Landroid/content/Context;Landroid/content/res/TypedArray;)Landroid/content/res/ColorStateList;" removed="21"/>
+		<method name="getTextCursorDrawable()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic;" since="29"/>
+		<method name="getTextLocale()Ljava/util/Locale;" since="17"/>
+		<method name="getTextLocales()Landroid/os/LocaleList;" since="24"/>
+		<method name="getTextMetricsParams()Landroid/text/PrecomputedText$Params;" since="28"/>
+		<method name="getTextScaleX()F"/>
+		<method name="getTextSelectHandle()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getTextSelectHandleLeft()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getTextSelectHandleRight()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getTextSize()F"/>
+		<method name="getTextSizeUnit()I" since="30"/>
+		<method name="getTotalPaddingBottom()I"/>
+		<method name="getTotalPaddingEnd()I" since="17"/>
+		<method name="getTotalPaddingLeft()I"/>
+		<method name="getTotalPaddingRight()I"/>
+		<method name="getTotalPaddingStart()I" since="17"/>
+		<method name="getTotalPaddingTop()I"/>
+		<method name="getTransformationMethod()Landroid/text/method/TransformationMethod;"/>
+		<method name="getTypeface()Landroid/graphics/Typeface;"/>
+		<method name="getUrls()[Landroid/text/style/URLSpan;"/>
+		<method name="hasSelection()Z"/>
+		<method name="isAllCaps()Z" since="28"/>
+		<method name="isCursorVisible()Z" since="16"/>
+		<method name="isElegantTextHeight()Z" since="28"/>
+		<method name="isFallbackLineSpacing()Z" since="28"/>
+		<method name="isHorizontallyScrollable()Z" since="29"/>
+		<method name="isInputMethodTarget()Z" since="3"/>
+		<method name="isSingleLine()Z" since="29"/>
+		<method name="isSuggestionsEnabled()Z" since="14"/>
+		<method name="isTextSelectable()Z" since="11"/>
+		<method name="length()I"/>
+		<method name="moveCursorToVisibleOffset()Z" since="3"/>
+		<method name="onBeginBatchEdit()V" since="3"/>
+		<method name="onCommitCompletion(Landroid/view/inputmethod/CompletionInfo;)V" since="3"/>
+		<method name="onCommitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V" since="11"/>
+		<method name="onEditorAction(I)V" since="3"/>
+		<method name="onEndBatchEdit()V" since="3"/>
+		<method name="onPrivateIMECommand(Ljava/lang/String;Landroid/os/Bundle;)Z" since="3"/>
+		<method name="onSelectionChanged(II)V" since="3"/>
+		<method name="onTextChanged(Ljava/lang/CharSequence;III)V"/>
+		<method name="onTextContextMenuItem(I)Z" since="3"/>
+		<method name="removeTextChangedListener(Landroid/text/TextWatcher;)V"/>
+		<method name="resetResolvedDrawables()V" since="14" removed="17"/>
+		<method name="resetResolvedLayoutDirection()V" since="14" removed="16"/>
+		<method name="resolveDrawables()V" since="14" removed="17"/>
+		<method name="resolveTextDirection()V" since="14" removed="16"/>
+		<method name="setAllCaps(Z)V" since="14"/>
+		<method name="setAutoLinkMask(I)V"/>
+		<method name="setAutoSizeTextTypeUniformWithConfiguration(IIII)V" since="26"/>
+		<method name="setAutoSizeTextTypeUniformWithPresetSizes([II)V" since="26"/>
+		<method name="setAutoSizeTextTypeWithDefaults(I)V" since="26"/>
+		<method name="setBreakStrategy(I)V" since="23"/>
+		<method name="setCompoundDrawablePadding(I)V"/>
+		<method name="setCompoundDrawableTintBlendMode(Landroid/graphics/BlendMode;)V" since="29"/>
+		<method name="setCompoundDrawableTintList(Landroid/content/res/ColorStateList;)V" since="23"/>
+		<method name="setCompoundDrawableTintMode(Landroid/graphics/PorterDuff$Mode;)V" since="23"/>
+		<method name="setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setCompoundDrawablesRelative(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V" since="17"/>
+		<method name="setCompoundDrawablesRelativeWithIntrinsicBounds(IIII)V" since="17"/>
+		<method name="setCompoundDrawablesRelativeWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V" since="17"/>
+		<method name="setCompoundDrawablesWithIntrinsicBounds(IIII)V" since="3"/>
+		<method name="setCompoundDrawablesWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setCursorVisible(Z)V"/>
+		<method name="setCustomInsertionActionModeCallback(Landroid/view/ActionMode$Callback;)V" since="23"/>
+		<method name="setCustomSelectionActionModeCallback(Landroid/view/ActionMode$Callback;)V" since="11"/>
+		<method name="setEditableFactory(Landroid/text/Editable$Factory;)V"/>
+		<method name="setElegantTextHeight(Z)V" since="21"/>
+		<method name="setEllipsize(Landroid/text/TextUtils$TruncateAt;)V"/>
+		<method name="setEms(I)V"/>
+		<method name="setError(Ljava/lang/CharSequence;)V"/>
+		<method name="setError(Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setExtractedText(Landroid/view/inputmethod/ExtractedText;)V" since="3"/>
+		<method name="setFallbackLineSpacing(Z)V" since="28"/>
+		<method name="setFilters([Landroid/text/InputFilter;)V"/>
+		<method name="setFirstBaselineToTopHeight(I)V" since="28"/>
+		<method name="setFontFeatureSettings(Ljava/lang/String;)V" since="21"/>
+		<method name="setFontVariationSettings(Ljava/lang/String;)Z" since="26"/>
+		<method name="setFrame(IIII)Z"/>
+		<method name="setFreezesText(Z)V"/>
+		<method name="setGravity(I)V"/>
+		<method name="setHeight(I)V"/>
+		<method name="setHighlightColor(I)V"/>
+		<method name="setHint(I)V"/>
+		<method name="setHint(Ljava/lang/CharSequence;)V"/>
+		<method name="setHintTextColor(I)V"/>
+		<method name="setHintTextColor(Landroid/content/res/ColorStateList;)V"/>
+		<method name="setHorizontallyScrolling(Z)V"/>
+		<method name="setHyphenationFrequency(I)V" since="23"/>
+		<method name="setImeActionLabel(Ljava/lang/CharSequence;I)V" since="3"/>
+		<method name="setImeHintLocales(Landroid/os/LocaleList;)V" since="24"/>
+		<method name="setImeOptions(I)V" since="3"/>
+		<method name="setIncludeFontPadding(Z)V"/>
+		<method name="setInputExtras(I)V" since="3"/>
+		<method name="setInputType(I)V" since="3"/>
+		<method name="setJustificationMode(I)V" since="26"/>
+		<method name="setKeyListener(Landroid/text/method/KeyListener;)V"/>
+		<method name="setLastBaselineToBottomHeight(I)V" since="28"/>
+		<method name="setLetterSpacing(F)V" since="21"/>
+		<method name="setLineHeight(I)V" since="28"/>
+		<method name="setLineSpacing(FF)V"/>
+		<method name="setLines(I)V"/>
+		<method name="setLinkTextColor(I)V"/>
+		<method name="setLinkTextColor(Landroid/content/res/ColorStateList;)V"/>
+		<method name="setLinksClickable(Z)V"/>
+		<method name="setMarqueeRepeatLimit(I)V" since="2"/>
+		<method name="setMaxEms(I)V"/>
+		<method name="setMaxHeight(I)V"/>
+		<method name="setMaxLines(I)V"/>
+		<method name="setMaxWidth(I)V"/>
+		<method name="setMinEms(I)V"/>
+		<method name="setMinHeight(I)V"/>
+		<method name="setMinLines(I)V"/>
+		<method name="setMinWidth(I)V"/>
+		<method name="setMovementMethod(Landroid/text/method/MovementMethod;)V"/>
+		<method name="setOnEditorActionListener(Landroid/widget/TextView$OnEditorActionListener;)V" since="3"/>
+		<method name="setPaddingRelative(IIII)V" since="16"/>
+		<method name="setPaintFlags(I)V"/>
+		<method name="setPrivateImeOptions(Ljava/lang/String;)V" since="3"/>
+		<method name="setRawInputType(I)V" since="3"/>
+		<method name="setScroller(Landroid/widget/Scroller;)V"/>
+		<method name="setSelectAllOnFocus(Z)V"/>
+		<method name="setShadowLayer(FFFI)V"/>
+		<method name="setShowSoftInputOnFocus(Z)V" since="21"/>
+		<method name="setSingleLine()V"/>
+		<method name="setSingleLine(Z)V"/>
+		<method name="setSpannableFactory(Landroid/text/Spannable$Factory;)V"/>
+		<method name="setText(I)V"/>
+		<method name="setText(ILandroid/widget/TextView$BufferType;)V"/>
+		<method name="setText(Ljava/lang/CharSequence;)V"/>
+		<method name="setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;)V"/>
+		<method name="setText([CII)V"/>
+		<method name="setTextAppearance(I)V" since="23"/>
+		<method name="setTextAppearance(Landroid/content/Context;I)V" deprecated="23"/>
+		<method name="setTextClassifier(Landroid/view/textclassifier/TextClassifier;)V" since="26"/>
+		<method name="setTextColor(I)V"/>
+		<method name="setTextColor(Landroid/content/res/ColorStateList;)V"/>
+		<method name="setTextCursorDrawable(I)V" since="29"/>
+		<method name="setTextCursorDrawable(Landroid/graphics/drawable/Drawable;)V" since="29"/>
+		<method name="setTextIsSelectable(Z)V" since="11"/>
+		<method name="setTextKeepState(Ljava/lang/CharSequence;)V"/>
+		<method name="setTextKeepState(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;)V"/>
+		<method name="setTextLocale(Ljava/util/Locale;)V" since="17"/>
+		<method name="setTextLocales(Landroid/os/LocaleList;)V" since="24"/>
+		<method name="setTextMetricsParams(Landroid/text/PrecomputedText$Params;)V" since="28"/>
+		<method name="setTextScaleX(F)V"/>
+		<method name="setTextSelectHandle(I)V" since="29"/>
+		<method name="setTextSelectHandle(Landroid/graphics/drawable/Drawable;)V" since="29"/>
+		<method name="setTextSelectHandleLeft(I)V" since="29"/>
+		<method name="setTextSelectHandleLeft(Landroid/graphics/drawable/Drawable;)V" since="29"/>
+		<method name="setTextSelectHandleRight(I)V" since="29"/>
+		<method name="setTextSelectHandleRight(Landroid/graphics/drawable/Drawable;)V" since="29"/>
+		<method name="setTextSize(F)V"/>
+		<method name="setTextSize(IF)V"/>
+		<method name="setTransformationMethod(Landroid/text/method/TransformationMethod;)V"/>
+		<method name="setTypeface(Landroid/graphics/Typeface;)V"/>
+		<method name="setTypeface(Landroid/graphics/Typeface;I)V"/>
+		<method name="setWidth(I)V"/>
+		<field name="AUTO_SIZE_TEXT_TYPE_NONE" since="26"/>
+		<field name="AUTO_SIZE_TEXT_TYPE_UNIFORM" since="26"/>
+	</class>
+	<class name="android/widget/TextView$BufferType" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Landroid/widget/TextView$BufferType;"/>
+		<method name="values()[Landroid/widget/TextView$BufferType;"/>
+		<field name="EDITABLE"/>
+		<field name="NORMAL"/>
+		<field name="SPANNABLE"/>
+	</class>
+	<class name="android/widget/TextView$OnEditorActionListener" since="3">
+		<extends name="java/lang/Object"/>
+		<method name="onEditorAction(Landroid/widget/TextView;ILandroid/view/KeyEvent;)Z"/>
+	</class>
+	<class name="android/widget/TextView$SavedState" since="1">
+		<extends name="android/view/View$BaseSavedState"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/widget/ThemedSpinnerAdapter" since="23">
+		<extends name="java/lang/Object"/>
+		<implements name="android/widget/SpinnerAdapter"/>
+		<method name="getDropDownViewTheme()Landroid/content/res/Resources$Theme;"/>
+		<method name="setDropDownViewTheme(Landroid/content/res/Resources$Theme;)V"/>
+	</class>
+	<class name="android/widget/TimePicker" since="1">
+		<extends name="android/widget/FrameLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getCurrentHour()Ljava/lang/Integer;" deprecated="23"/>
+		<method name="getCurrentMinute()Ljava/lang/Integer;" deprecated="23"/>
+		<method name="getHour()I" since="23"/>
+		<method name="getMinute()I" since="23"/>
+		<method name="is24HourView()Z"/>
+		<method name="setCurrentHour(Ljava/lang/Integer;)V" deprecated="23"/>
+		<method name="setCurrentMinute(Ljava/lang/Integer;)V" deprecated="23"/>
+		<method name="setHour(I)V" since="23"/>
+		<method name="setIs24HourView(Ljava/lang/Boolean;)V"/>
+		<method name="setMinute(I)V" since="23"/>
+		<method name="setOnTimeChangedListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V"/>
+		<method name="validateInput()Z" since="26"/>
+	</class>
+	<class name="android/widget/TimePicker$OnTimeChangedListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="onTimeChanged(Landroid/widget/TimePicker;II)V"/>
+	</class>
+	<class name="android/widget/Toast" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="addCallback(Landroid/widget/Toast$Callback;)V" since="30"/>
+		<method name="cancel()V"/>
+		<method name="getDuration()I"/>
+		<method name="getGravity()I"/>
+		<method name="getHorizontalMargin()F"/>
+		<method name="getVerticalMargin()F"/>
+		<method name="getView()Landroid/view/View;" deprecated="30"/>
+		<method name="getXOffset()I"/>
+		<method name="getYOffset()I"/>
+		<method name="makeText(Landroid/content/Context;II)Landroid/widget/Toast;"/>
+		<method name="makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;"/>
+		<method name="removeCallback(Landroid/widget/Toast$Callback;)V" since="30"/>
+		<method name="setDuration(I)V"/>
+		<method name="setGravity(III)V"/>
+		<method name="setMargin(FF)V"/>
+		<method name="setText(I)V"/>
+		<method name="setText(Ljava/lang/CharSequence;)V"/>
+		<method name="setView(Landroid/view/View;)V" deprecated="30"/>
+		<method name="show()V"/>
+		<field name="LENGTH_LONG"/>
+		<field name="LENGTH_SHORT"/>
+	</class>
+	<class name="android/widget/Toast$Callback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="onToastHidden()V"/>
+		<method name="onToastShown()V"/>
+	</class>
+	<class name="android/widget/ToggleButton" since="1">
+		<extends name="android/widget/CompoundButton"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="getDisabledAlpha()F" since="29"/>
+		<method name="getTextOff()Ljava/lang/CharSequence;"/>
+		<method name="getTextOn()Ljava/lang/CharSequence;"/>
+		<method name="setTextOff(Ljava/lang/CharSequence;)V"/>
+		<method name="setTextOn(Ljava/lang/CharSequence;)V"/>
+	</class>
+	<class name="android/widget/Toolbar" since="21">
+		<extends name="android/view/ViewGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V"/>
+		<method name="collapseActionView()V"/>
+		<method name="dismissPopupMenus()V"/>
+		<method name="generateDefaultLayoutParams()Landroid/widget/Toolbar$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/Toolbar$LayoutParams;"/>
+		<method name="generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/Toolbar$LayoutParams;"/>
+		<method name="getCollapseContentDescription()Ljava/lang/CharSequence;" since="29"/>
+		<method name="getCollapseIcon()Landroid/graphics/drawable/Drawable;" since="29"/>
+		<method name="getContentInsetEnd()I"/>
+		<method name="getContentInsetEndWithActions()I" since="24"/>
+		<method name="getContentInsetLeft()I"/>
+		<method name="getContentInsetRight()I"/>
+		<method name="getContentInsetStart()I"/>
+		<method name="getContentInsetStartWithNavigation()I" since="24"/>
+		<method name="getCurrentContentInsetEnd()I" since="24"/>
+		<method name="getCurrentContentInsetLeft()I" since="24"/>
+		<method name="getCurrentContentInsetRight()I" since="24"/>
+		<method name="getCurrentContentInsetStart()I" since="24"/>
+		<method name="getLogo()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getLogoDescription()Ljava/lang/CharSequence;"/>
+		<method name="getMenu()Landroid/view/Menu;"/>
+		<method name="getNavigationContentDescription()Ljava/lang/CharSequence;"/>
+		<method name="getNavigationIcon()Landroid/graphics/drawable/Drawable;"/>
+		<method name="getOverflowIcon()Landroid/graphics/drawable/Drawable;" since="23"/>
+		<method name="getPopupTheme()I"/>
+		<method name="getSubtitle()Ljava/lang/CharSequence;"/>
+		<method name="getTitle()Ljava/lang/CharSequence;"/>
+		<method name="getTitleMarginBottom()I" since="24"/>
+		<method name="getTitleMarginEnd()I" since="24"/>
+		<method name="getTitleMarginStart()I" since="24"/>
+		<method name="getTitleMarginTop()I" since="24"/>
+		<method name="hasExpandedActionView()Z"/>
+		<method name="hideOverflowMenu()Z"/>
+		<method name="inflateMenu(I)V"/>
+		<method name="isOverflowMenuShowing()Z"/>
+		<method name="setCollapseContentDescription(I)V" since="29"/>
+		<method name="setCollapseContentDescription(Ljava/lang/CharSequence;)V" since="29"/>
+		<method name="setCollapseIcon(I)V" since="29"/>
+		<method name="setCollapseIcon(Landroid/graphics/drawable/Drawable;)V" since="29"/>
+		<method name="setContentInsetEndWithActions(I)V" since="24"/>
+		<method name="setContentInsetStartWithNavigation(I)V" since="24"/>
+		<method name="setContentInsetsAbsolute(II)V"/>
+		<method name="setContentInsetsRelative(II)V"/>
+		<method name="setLogo(I)V"/>
+		<method name="setLogo(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setLogoDescription(I)V"/>
+		<method name="setLogoDescription(Ljava/lang/CharSequence;)V"/>
+		<method name="setNavigationContentDescription(I)V"/>
+		<method name="setNavigationContentDescription(Ljava/lang/CharSequence;)V"/>
+		<method name="setNavigationIcon(I)V"/>
+		<method name="setNavigationIcon(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setNavigationOnClickListener(Landroid/view/View$OnClickListener;)V"/>
+		<method name="setOnMenuItemClickListener(Landroid/widget/Toolbar$OnMenuItemClickListener;)V"/>
+		<method name="setOverflowIcon(Landroid/graphics/drawable/Drawable;)V" since="23"/>
+		<method name="setPopupTheme(I)V"/>
+		<method name="setSubtitle(I)V"/>
+		<method name="setSubtitle(Ljava/lang/CharSequence;)V"/>
+		<method name="setSubtitleTextAppearance(Landroid/content/Context;I)V"/>
+		<method name="setSubtitleTextColor(I)V"/>
+		<method name="setTitle(I)V"/>
+		<method name="setTitle(Ljava/lang/CharSequence;)V"/>
+		<method name="setTitleMargin(IIII)V" since="24"/>
+		<method name="setTitleMarginBottom(I)V" since="24"/>
+		<method name="setTitleMarginEnd(I)V" since="24"/>
+		<method name="setTitleMarginStart(I)V" since="24"/>
+		<method name="setTitleMarginTop(I)V" since="24"/>
+		<method name="setTitleTextAppearance(Landroid/content/Context;I)V"/>
+		<method name="setTitleTextColor(I)V"/>
+		<method name="showOverflowMenu()Z"/>
+	</class>
+	<class name="android/widget/Toolbar$LayoutParams" since="21">
+		<extends name="android/app/ActionBar$LayoutParams"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(Landroid/app/ActionBar$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$MarginLayoutParams;)V"/>
+		<method name="&lt;init>(Landroid/widget/Toolbar$LayoutParams;)V"/>
+	</class>
+	<class name="android/widget/Toolbar$OnMenuItemClickListener" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="onMenuItemClick(Landroid/view/MenuItem;)Z"/>
+	</class>
+	<class name="android/widget/TwoLineListItem" since="1" deprecated="17">
+		<extends name="android/widget/RelativeLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="getText1()Landroid/widget/TextView;" deprecated="29"/>
+		<method name="getText2()Landroid/widget/TextView;" deprecated="29"/>
+	</class>
+	<class name="android/widget/VideoView" since="1">
+		<extends name="android/view/SurfaceView"/>
+		<implements name="android/widget/MediaController$MediaPlayerControl"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21"/>
+		<method name="addSubtitleSource(Ljava/io/InputStream;Landroid/media/MediaFormat;)V" since="19"/>
+		<method name="resolveAdjustedSize(II)I"/>
+		<method name="resume()V" since="8"/>
+		<method name="setAudioAttributes(Landroid/media/AudioAttributes;)V" since="26"/>
+		<method name="setAudioFocusRequest(I)V" since="26"/>
+		<method name="setMediaController(Landroid/widget/MediaController;)V"/>
+		<method name="setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V"/>
+		<method name="setOnErrorListener(Landroid/media/MediaPlayer$OnErrorListener;)V"/>
+		<method name="setOnInfoListener(Landroid/media/MediaPlayer$OnInfoListener;)V" since="17"/>
+		<method name="setOnPreparedListener(Landroid/media/MediaPlayer$OnPreparedListener;)V"/>
+		<method name="setVideoPath(Ljava/lang/String;)V"/>
+		<method name="setVideoURI(Landroid/net/Uri;)V"/>
+		<method name="setVideoURI(Landroid/net/Uri;Ljava/util/Map;)V" since="21"/>
+		<method name="stopPlayback()V"/>
+		<method name="suspend()V" since="8"/>
+	</class>
+	<class name="android/widget/ViewAnimator" since="1">
+		<extends name="android/widget/FrameLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="getAnimateFirstView()Z" since="17"/>
+		<method name="getCurrentView()Landroid/view/View;"/>
+		<method name="getDisplayedChild()I"/>
+		<method name="getInAnimation()Landroid/view/animation/Animation;"/>
+		<method name="getOutAnimation()Landroid/view/animation/Animation;"/>
+		<method name="setAnimateFirstView(Z)V"/>
+		<method name="setDisplayedChild(I)V"/>
+		<method name="setInAnimation(Landroid/content/Context;I)V"/>
+		<method name="setInAnimation(Landroid/view/animation/Animation;)V"/>
+		<method name="setOutAnimation(Landroid/content/Context;I)V"/>
+		<method name="setOutAnimation(Landroid/view/animation/Animation;)V"/>
+		<method name="showNext()V"/>
+		<method name="showPrevious()V"/>
+	</class>
+	<class name="android/widget/ViewFlipper" since="1">
+		<extends name="android/widget/ViewAnimator"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="getFlipInterval()I" since="29"/>
+		<method name="isAutoStart()Z" since="7"/>
+		<method name="isFlipping()Z"/>
+		<method name="setAutoStart(Z)V" since="7"/>
+		<method name="setFlipInterval(I)V"/>
+		<method name="startFlipping()V"/>
+		<method name="stopFlipping()V"/>
+	</class>
+	<class name="android/widget/ViewSwitcher" since="1">
+		<extends name="android/widget/ViewAnimator"/>
+		<method name="&lt;init>(Landroid/content/Context;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="getNextView()Landroid/view/View;"/>
+		<method name="reset()V"/>
+		<method name="setFactory(Landroid/widget/ViewSwitcher$ViewFactory;)V"/>
+	</class>
+	<class name="android/widget/ViewSwitcher$ViewFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="makeView()Landroid/view/View;"/>
+	</class>
+	<class name="android/widget/WrapperListAdapter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="android/widget/ListAdapter"/>
+		<method name="getWrappedAdapter()Landroid/widget/ListAdapter;"/>
+	</class>
+	<class name="android/widget/ZoomButton" since="1" deprecated="26">
+		<extends name="android/widget/ImageButton"/>
+		<implements name="android/view/View$OnLongClickListener"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V" since="21" deprecated="29"/>
+		<method name="setZoomSpeed(J)V" deprecated="29"/>
+	</class>
+	<class name="android/widget/ZoomButtonsController" since="4" deprecated="26">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/View$OnTouchListener"/>
+		<method name="&lt;init>(Landroid/view/View;)V" deprecated="29"/>
+		<method name="getContainer()Landroid/view/ViewGroup;" deprecated="29"/>
+		<method name="getZoomControls()Landroid/view/View;" deprecated="29"/>
+		<method name="isAutoDismissed()Z" deprecated="29"/>
+		<method name="isVisible()Z" deprecated="29"/>
+		<method name="setAutoDismissed(Z)V" deprecated="29"/>
+		<method name="setFocusable(Z)V" deprecated="29"/>
+		<method name="setOnZoomListener(Landroid/widget/ZoomButtonsController$OnZoomListener;)V" deprecated="29"/>
+		<method name="setVisible(Z)V" deprecated="29"/>
+		<method name="setZoomInEnabled(Z)V" deprecated="29"/>
+		<method name="setZoomOutEnabled(Z)V" deprecated="29"/>
+		<method name="setZoomSpeed(J)V" deprecated="29"/>
+	</class>
+	<class name="android/widget/ZoomButtonsController$OnZoomListener" since="4" deprecated="29">
+		<extends name="java/lang/Object"/>
+		<method name="onVisibilityChanged(Z)V" deprecated="29"/>
+		<method name="onZoom(Z)V" deprecated="29"/>
+	</class>
+	<class name="android/widget/ZoomControls" since="1" deprecated="29">
+		<extends name="android/widget/LinearLayout"/>
+		<method name="&lt;init>(Landroid/content/Context;)V" deprecated="29"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V" deprecated="29"/>
+		<method name="hide()V" deprecated="29"/>
+		<method name="setIsZoomInEnabled(Z)V" deprecated="29"/>
+		<method name="setIsZoomOutEnabled(Z)V" deprecated="29"/>
+		<method name="setOnZoomInClickListener(Landroid/view/View$OnClickListener;)V" deprecated="29"/>
+		<method name="setOnZoomOutClickListener(Landroid/view/View$OnClickListener;)V" deprecated="29"/>
+		<method name="setZoomSpeed(J)V" deprecated="29"/>
+		<method name="show()V" deprecated="29"/>
+	</class>
+	<class name="android/widget/inline/InlineContentView" since="30">
+		<extends name="android/view/ViewGroup"/>
+		<method name="getSurfaceControl()Landroid/view/SurfaceControl;"/>
+		<method name="isZOrderedOnTop()Z"/>
+		<method name="setSurfaceControlCallback(Landroid/widget/inline/InlineContentView$SurfaceControlCallback;)V"/>
+		<method name="setZOrderedOnTop(Z)Z"/>
+	</class>
+	<class name="android/widget/inline/InlineContentView$SurfaceControlCallback" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onCreated(Landroid/view/SurfaceControl;)V"/>
+		<method name="onDestroyed(Landroid/view/SurfaceControl;)V"/>
+	</class>
+	<class name="android/widget/inline/InlinePresentationSpec" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="android/os/Parcelable"/>
+		<method name="getMaxSize()Landroid/util/Size;"/>
+		<method name="getMinSize()Landroid/util/Size;"/>
+		<method name="getStyle()Landroid/os/Bundle;"/>
+		<field name="CREATOR"/>
+	</class>
+	<class name="android/widget/inline/InlinePresentationSpec$Builder" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Landroid/util/Size;Landroid/util/Size;)V"/>
+		<method name="build()Landroid/widget/inline/InlinePresentationSpec;"/>
+		<method name="setStyle(Landroid/os/Bundle;)Landroid/widget/inline/InlinePresentationSpec$Builder;"/>
+	</class>
+	<class name="android/window/SplashScreen" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="clearOnExitAnimationListener()V"/>
+		<method name="setOnExitAnimationListener(Landroid/window/SplashScreen$OnExitAnimationListener;)V"/>
+		<method name="setSplashScreenTheme(I)V"/>
+	</class>
+	<class name="android/window/SplashScreen$OnExitAnimationListener" since="31">
+		<extends name="java/lang/Object"/>
+		<method name="onSplashScreenExit(Landroid/window/SplashScreenView;)V"/>
+	</class>
+	<class name="android/window/SplashScreenView" since="31">
+		<extends name="android/widget/FrameLayout"/>
+		<method name="getIconAnimationDuration()Ljava/time/Duration;"/>
+		<method name="getIconAnimationStart()Ljava/time/Instant;"/>
+		<method name="getIconView()Landroid/view/View;"/>
+		<method name="remove()V"/>
+	</class>
+	<class name="com/android/internal/util/Predicate" since="1" deprecated="26" removed="28">
+		<extends name="java/lang/Object"/>
+		<method name="apply(Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="com/google/android/maps/GeoPoint" since="1" removed="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getLatitudeE6()I"/>
+		<method name="getLongitudeE6()I"/>
+	</class>
+	<class name="com/google/android/maps/ItemizedOverlay" since="1" removed="3">
+		<extends name="com/google/android/maps/Overlay"/>
+		<method name="&lt;init>(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="boundCenter(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="boundCenterBottom(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;"/>
+		<method name="createItem(I)Lcom/google/android/maps/OverlayItem;"/>
+		<method name="getCenter()Lcom/google/android/maps/GeoPoint;"/>
+		<method name="getFocus()Lcom/google/android/maps/OverlayItem;"/>
+		<method name="getIndexToDraw(I)I"/>
+		<method name="getItem(I)Lcom/google/android/maps/OverlayItem;"/>
+		<method name="getLastFocusedIndex()I"/>
+		<method name="getLatSpanE6()I"/>
+		<method name="getLonSpanE6()I"/>
+		<method name="hitTest(Lcom/google/android/maps/OverlayItem;Landroid/graphics/drawable/Drawable;II)Z"/>
+		<method name="nextFocus(Z)Lcom/google/android/maps/OverlayItem;"/>
+		<method name="onTap(I)Z"/>
+		<method name="populate()V"/>
+		<method name="setDrawFocusedItem(Z)V"/>
+		<method name="setFocus(Lcom/google/android/maps/OverlayItem;)V"/>
+		<method name="setLastFocusedIndex(I)V"/>
+		<method name="setOnFocusChangeListener(Lcom/google/android/maps/ItemizedOverlay$OnFocusChangeListener;)V"/>
+		<method name="size()I"/>
+	</class>
+	<class name="com/google/android/maps/ItemizedOverlay$OnFocusChangeListener" since="1" removed="3">
+		<extends name="java/lang/Object"/>
+		<method name="onFocusChanged(Lcom/google/android/maps/ItemizedOverlay;Lcom/google/android/maps/OverlayItem;)V"/>
+	</class>
+	<class name="com/google/android/maps/MapActivity" since="1" removed="3">
+		<extends name="android/app/Activity"/>
+		<method name="&lt;init>()V"/>
+		<method name="isLocationDisplayed()Z"/>
+		<method name="isRouteDisplayed()Z"/>
+	</class>
+	<class name="com/google/android/maps/MapController" since="1" removed="3">
+		<extends name="java/lang/Object"/>
+		<implements name="android/view/View$OnKeyListener"/>
+		<method name="animateTo(Lcom/google/android/maps/GeoPoint;)V"/>
+		<method name="animateTo(Lcom/google/android/maps/GeoPoint;Landroid/os/Message;)V"/>
+		<method name="animateTo(Lcom/google/android/maps/GeoPoint;Ljava/lang/Runnable;)V"/>
+		<method name="scrollBy(II)V"/>
+		<method name="setCenter(Lcom/google/android/maps/GeoPoint;)V"/>
+		<method name="setZoom(I)I"/>
+		<method name="stopAnimation(Z)V"/>
+		<method name="stopPanning()V"/>
+		<method name="zoomIn()Z"/>
+		<method name="zoomInFixing(II)Z"/>
+		<method name="zoomOut()Z"/>
+		<method name="zoomOutFixing(II)Z"/>
+		<method name="zoomToSpan(II)V"/>
+	</class>
+	<class name="com/google/android/maps/MapView" since="1" removed="3">
+		<extends name="android/view/ViewGroup"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Ljava/lang/String;)V"/>
+		<method name="canCoverCenter()Z"/>
+		<method name="displayZoomControls(Z)V"/>
+		<method name="generateDefaultLayoutParams()Lcom/google/android/maps/MapView$LayoutParams;"/>
+		<method name="getController()Lcom/google/android/maps/MapController;"/>
+		<method name="getLatitudeSpan()I"/>
+		<method name="getLongitudeSpan()I"/>
+		<method name="getMapCenter()Lcom/google/android/maps/GeoPoint;"/>
+		<method name="getMaxZoomLevel()I"/>
+		<method name="getOverlays()Ljava/util/List;"/>
+		<method name="getProjection()Lcom/google/android/maps/Projection;"/>
+		<method name="getZoomControls()Landroid/view/View;"/>
+		<method name="getZoomLevel()I"/>
+		<method name="isSatellite()Z"/>
+		<method name="isStreetView()Z"/>
+		<method name="isTraffic()Z"/>
+		<method name="onRestoreInstanceState(Landroid/os/Bundle;)V"/>
+		<method name="onSaveInstanceState(Landroid/os/Bundle;)V"/>
+		<method name="preLoad()V"/>
+		<method name="setReticleDrawMode(Lcom/google/android/maps/MapView$ReticleDrawMode;)V"/>
+		<method name="setSatellite(Z)V"/>
+		<method name="setStreetView(Z)V"/>
+		<method name="setTraffic(Z)V"/>
+	</class>
+	<class name="com/google/android/maps/MapView$LayoutParams" since="1" removed="3">
+		<extends name="android/view/ViewGroup$LayoutParams"/>
+		<method name="&lt;init>(IIIII)V"/>
+		<method name="&lt;init>(IILcom/google/android/maps/GeoPoint;I)V"/>
+		<method name="&lt;init>(IILcom/google/android/maps/GeoPoint;III)V"/>
+		<method name="&lt;init>(Landroid/content/Context;Landroid/util/AttributeSet;)V"/>
+		<method name="&lt;init>(Landroid/view/ViewGroup$LayoutParams;)V"/>
+		<method name="debug(Ljava/lang/String;)Ljava/lang/String;"/>
+		<field name="BOTTOM"/>
+		<field name="BOTTOM_CENTER"/>
+		<field name="CENTER"/>
+		<field name="CENTER_HORIZONTAL"/>
+		<field name="CENTER_VERTICAL"/>
+		<field name="LEFT"/>
+		<field name="MODE_MAP"/>
+		<field name="MODE_VIEW"/>
+		<field name="RIGHT"/>
+		<field name="TOP"/>
+		<field name="TOP_LEFT"/>
+		<field name="alignment"/>
+		<field name="mode"/>
+		<field name="point"/>
+		<field name="x"/>
+		<field name="y"/>
+	</class>
+	<class name="com/google/android/maps/MapView$ReticleDrawMode" since="1" removed="3">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Lcom/google/android/maps/MapView$ReticleDrawMode;"/>
+		<method name="values()[Lcom/google/android/maps/MapView$ReticleDrawMode;"/>
+		<field name="DRAW_RETICLE_NEVER"/>
+		<field name="DRAW_RETICLE_OVER"/>
+		<field name="DRAW_RETICLE_UNDER"/>
+	</class>
+	<class name="com/google/android/maps/MyLocationOverlay" since="1" removed="3">
+		<extends name="com/google/android/maps/Overlay"/>
+		<implements name="android/hardware/SensorListener"/>
+		<implements name="android/location/LocationListener"/>
+		<method name="&lt;init>(Landroid/content/Context;Lcom/google/android/maps/MapView;)V"/>
+		<method name="disableCompass()V"/>
+		<method name="disableMyLocation()V"/>
+		<method name="dispatchTap()Z"/>
+		<method name="drawCompass(Landroid/graphics/Canvas;F)V"/>
+		<method name="drawMyLocation(Landroid/graphics/Canvas;Lcom/google/android/maps/MapView;Landroid/location/Location;Lcom/google/android/maps/GeoPoint;J)V"/>
+		<method name="enableCompass()Z"/>
+		<method name="enableMyLocation()Z"/>
+		<method name="getLastFix()Landroid/location/Location;"/>
+		<method name="getMyLocation()Lcom/google/android/maps/GeoPoint;"/>
+		<method name="getOrientation()F"/>
+		<method name="isCompassEnabled()Z"/>
+		<method name="isMyLocationEnabled()Z"/>
+		<method name="runOnFirstFix(Ljava/lang/Runnable;)Z"/>
+	</class>
+	<class name="com/google/android/maps/Overlay" since="1" removed="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="draw(Landroid/graphics/Canvas;Lcom/google/android/maps/MapView;Z)V"/>
+		<method name="draw(Landroid/graphics/Canvas;Lcom/google/android/maps/MapView;ZJ)Z"/>
+		<method name="drawAt(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIZ)V"/>
+		<method name="onKeyDown(ILandroid/view/KeyEvent;Lcom/google/android/maps/MapView;)Z"/>
+		<method name="onKeyUp(ILandroid/view/KeyEvent;Lcom/google/android/maps/MapView;)Z"/>
+		<method name="onTap(Lcom/google/android/maps/GeoPoint;Lcom/google/android/maps/MapView;)Z"/>
+		<method name="onTouchEvent(Landroid/view/MotionEvent;Lcom/google/android/maps/MapView;)Z"/>
+		<method name="onTrackballEvent(Landroid/view/MotionEvent;Lcom/google/android/maps/MapView;)Z"/>
+		<field name="SHADOW_X_SKEW"/>
+		<field name="SHADOW_Y_SCALE"/>
+	</class>
+	<class name="com/google/android/maps/OverlayItem" since="1" removed="3">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Lcom/google/android/maps/GeoPoint;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getMarker(I)Landroid/graphics/drawable/Drawable;"/>
+		<method name="getPoint()Lcom/google/android/maps/GeoPoint;"/>
+		<method name="getSnippet()Ljava/lang/String;"/>
+		<method name="getTitle()Ljava/lang/String;"/>
+		<method name="routableAddress()Ljava/lang/String;"/>
+		<method name="setMarker(Landroid/graphics/drawable/Drawable;)V"/>
+		<method name="setState(Landroid/graphics/drawable/Drawable;I)V"/>
+		<field name="ITEM_STATE_FOCUSED_MASK"/>
+		<field name="ITEM_STATE_PRESSED_MASK"/>
+		<field name="ITEM_STATE_SELECTED_MASK"/>
+		<field name="mMarker"/>
+		<field name="mPoint"/>
+		<field name="mSnippet"/>
+		<field name="mTitle"/>
+	</class>
+	<class name="com/google/android/maps/Projection" since="1" removed="3">
+		<extends name="java/lang/Object"/>
+		<method name="fromPixels(II)Lcom/google/android/maps/GeoPoint;"/>
+		<method name="metersToEquatorPixels(F)F"/>
+		<method name="toPixels(Lcom/google/android/maps/GeoPoint;Landroid/graphics/Point;)Landroid/graphics/Point;"/>
+	</class>
+	<class name="com/google/android/maps/TrackballGestureDetector" since="1" removed="3">
+		<extends name="java/lang/Object"/>
+		<method name="analyze(Landroid/view/MotionEvent;)V"/>
+		<method name="getCurrentDownX()F"/>
+		<method name="getCurrentDownY()F"/>
+		<method name="getFirstDownX()F"/>
+		<method name="getFirstDownY()F"/>
+		<method name="isDoubleTap()Z"/>
+		<method name="isScroll()Z"/>
+		<method name="isTap()Z"/>
+		<method name="registerLongPressCallback(Ljava/lang/Runnable;)V"/>
+		<method name="scrollX()F"/>
+		<method name="scrollY()F"/>
+	</class>
+	<class name="dalvik/annotation/TestTarget" since="1" deprecated="14">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="conceptName()Ljava/lang/String;" since="3" deprecated="29"/>
+		<method name="methodArgs()[Ljava/lang/Class;" deprecated="29"/>
+		<method name="methodName()Ljava/lang/String;" deprecated="29"/>
+	</class>
+	<class name="dalvik/annotation/TestTargetClass" since="1" deprecated="14">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="value()Ljava/lang/Class;" deprecated="29"/>
+	</class>
+	<class name="dalvik/bytecode/OpcodeInfo" since="11">
+		<extends name="java/lang/Object"/>
+		<field name="MAXIMUM_PACKED_VALUE"/>
+		<field name="MAXIMUM_VALUE"/>
+	</class>
+	<class name="dalvik/bytecode/Opcodes" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="OP_ADD_DOUBLE"/>
+		<field name="OP_ADD_DOUBLE_2ADDR"/>
+		<field name="OP_ADD_FLOAT"/>
+		<field name="OP_ADD_FLOAT_2ADDR"/>
+		<field name="OP_ADD_INT"/>
+		<field name="OP_ADD_INT_2ADDR"/>
+		<field name="OP_ADD_INT_LIT16"/>
+		<field name="OP_ADD_INT_LIT8"/>
+		<field name="OP_ADD_LONG"/>
+		<field name="OP_ADD_LONG_2ADDR"/>
+		<field name="OP_AGET"/>
+		<field name="OP_AGET_BOOLEAN"/>
+		<field name="OP_AGET_BYTE"/>
+		<field name="OP_AGET_CHAR"/>
+		<field name="OP_AGET_OBJECT"/>
+		<field name="OP_AGET_SHORT"/>
+		<field name="OP_AGET_WIDE"/>
+		<field name="OP_AND_INT"/>
+		<field name="OP_AND_INT_2ADDR"/>
+		<field name="OP_AND_INT_LIT16"/>
+		<field name="OP_AND_INT_LIT8"/>
+		<field name="OP_AND_LONG"/>
+		<field name="OP_AND_LONG_2ADDR"/>
+		<field name="OP_APUT"/>
+		<field name="OP_APUT_BOOLEAN"/>
+		<field name="OP_APUT_BYTE"/>
+		<field name="OP_APUT_CHAR"/>
+		<field name="OP_APUT_OBJECT"/>
+		<field name="OP_APUT_SHORT"/>
+		<field name="OP_APUT_WIDE"/>
+		<field name="OP_ARRAY_LENGTH"/>
+		<field name="OP_BREAKPOINT" since="8" deprecated="15"/>
+		<field name="OP_CHECK_CAST"/>
+		<field name="OP_CHECK_CAST_JUMBO" since="11"/>
+		<field name="OP_CMPG_DOUBLE"/>
+		<field name="OP_CMPG_FLOAT"/>
+		<field name="OP_CMPL_DOUBLE"/>
+		<field name="OP_CMPL_FLOAT"/>
+		<field name="OP_CMP_LONG"/>
+		<field name="OP_CONST"/>
+		<field name="OP_CONST_16"/>
+		<field name="OP_CONST_4"/>
+		<field name="OP_CONST_CLASS"/>
+		<field name="OP_CONST_CLASS_JUMBO" since="11"/>
+		<field name="OP_CONST_HIGH16"/>
+		<field name="OP_CONST_METHOD_HANDLE" since="28"/>
+		<field name="OP_CONST_METHOD_TYPE" since="28"/>
+		<field name="OP_CONST_STRING"/>
+		<field name="OP_CONST_STRING_JUMBO"/>
+		<field name="OP_CONST_WIDE"/>
+		<field name="OP_CONST_WIDE_16"/>
+		<field name="OP_CONST_WIDE_32"/>
+		<field name="OP_CONST_WIDE_HIGH16"/>
+		<field name="OP_DIV_DOUBLE"/>
+		<field name="OP_DIV_DOUBLE_2ADDR"/>
+		<field name="OP_DIV_FLOAT"/>
+		<field name="OP_DIV_FLOAT_2ADDR"/>
+		<field name="OP_DIV_INT"/>
+		<field name="OP_DIV_INT_2ADDR"/>
+		<field name="OP_DIV_INT_LIT16"/>
+		<field name="OP_DIV_INT_LIT8"/>
+		<field name="OP_DIV_LONG"/>
+		<field name="OP_DIV_LONG_2ADDR"/>
+		<field name="OP_DOUBLE_TO_FLOAT"/>
+		<field name="OP_DOUBLE_TO_INT"/>
+		<field name="OP_DOUBLE_TO_LONG"/>
+		<field name="OP_EXECUTE_INLINE" deprecated="15"/>
+		<field name="OP_EXECUTE_INLINE_RANGE" since="8" deprecated="15"/>
+		<field name="OP_FILLED_NEW_ARRAY"/>
+		<field name="OP_FILLED_NEW_ARRAY_JUMBO" since="11"/>
+		<field name="OP_FILLED_NEW_ARRAY_RANGE"/>
+		<field name="OP_FILL_ARRAY_DATA"/>
+		<field name="OP_FLOAT_TO_DOUBLE"/>
+		<field name="OP_FLOAT_TO_INT"/>
+		<field name="OP_FLOAT_TO_LONG"/>
+		<field name="OP_GOTO"/>
+		<field name="OP_GOTO_16"/>
+		<field name="OP_GOTO_32"/>
+		<field name="OP_IF_EQ"/>
+		<field name="OP_IF_EQZ"/>
+		<field name="OP_IF_GE"/>
+		<field name="OP_IF_GEZ"/>
+		<field name="OP_IF_GT"/>
+		<field name="OP_IF_GTZ"/>
+		<field name="OP_IF_LE"/>
+		<field name="OP_IF_LEZ"/>
+		<field name="OP_IF_LT"/>
+		<field name="OP_IF_LTZ"/>
+		<field name="OP_IF_NE"/>
+		<field name="OP_IF_NEZ"/>
+		<field name="OP_IGET"/>
+		<field name="OP_IGET_BOOLEAN"/>
+		<field name="OP_IGET_BOOLEAN_JUMBO" since="11"/>
+		<field name="OP_IGET_BYTE"/>
+		<field name="OP_IGET_BYTE_JUMBO" since="11"/>
+		<field name="OP_IGET_CHAR"/>
+		<field name="OP_IGET_CHAR_JUMBO" since="11"/>
+		<field name="OP_IGET_JUMBO" since="11"/>
+		<field name="OP_IGET_OBJECT"/>
+		<field name="OP_IGET_OBJECT_JUMBO" since="11"/>
+		<field name="OP_IGET_OBJECT_QUICK" deprecated="15"/>
+		<field name="OP_IGET_QUICK" deprecated="15"/>
+		<field name="OP_IGET_SHORT"/>
+		<field name="OP_IGET_SHORT_JUMBO" since="11"/>
+		<field name="OP_IGET_WIDE"/>
+		<field name="OP_IGET_WIDE_JUMBO" since="11"/>
+		<field name="OP_IGET_WIDE_QUICK" deprecated="15"/>
+		<field name="OP_IGET_WIDE_VOLATILE" since="9" deprecated="15"/>
+		<field name="OP_INSTANCE_OF"/>
+		<field name="OP_INSTANCE_OF_JUMBO" since="11"/>
+		<field name="OP_INT_TO_BYTE"/>
+		<field name="OP_INT_TO_CHAR"/>
+		<field name="OP_INT_TO_DOUBLE"/>
+		<field name="OP_INT_TO_FLOAT"/>
+		<field name="OP_INT_TO_LONG"/>
+		<field name="OP_INT_TO_SHORT"/>
+		<field name="OP_INVOKE_CUSTOM" since="26"/>
+		<field name="OP_INVOKE_CUSTOM_RANGE" since="26"/>
+		<field name="OP_INVOKE_DIRECT"/>
+		<field name="OP_INVOKE_DIRECT_EMPTY" deprecated="15"/>
+		<field name="OP_INVOKE_DIRECT_JUMBO" since="11"/>
+		<field name="OP_INVOKE_DIRECT_RANGE"/>
+		<field name="OP_INVOKE_INTERFACE"/>
+		<field name="OP_INVOKE_INTERFACE_JUMBO" since="11"/>
+		<field name="OP_INVOKE_INTERFACE_RANGE"/>
+		<field name="OP_INVOKE_POLYMORPHIC" since="26"/>
+		<field name="OP_INVOKE_POLYMORPHIC_RANGE" since="26"/>
+		<field name="OP_INVOKE_STATIC"/>
+		<field name="OP_INVOKE_STATIC_JUMBO" since="11"/>
+		<field name="OP_INVOKE_STATIC_RANGE"/>
+		<field name="OP_INVOKE_SUPER"/>
+		<field name="OP_INVOKE_SUPER_JUMBO" since="11"/>
+		<field name="OP_INVOKE_SUPER_QUICK" deprecated="15"/>
+		<field name="OP_INVOKE_SUPER_QUICK_RANGE" deprecated="15"/>
+		<field name="OP_INVOKE_SUPER_RANGE"/>
+		<field name="OP_INVOKE_VIRTUAL"/>
+		<field name="OP_INVOKE_VIRTUAL_JUMBO" since="11"/>
+		<field name="OP_INVOKE_VIRTUAL_QUICK" deprecated="15"/>
+		<field name="OP_INVOKE_VIRTUAL_QUICK_RANGE" deprecated="15"/>
+		<field name="OP_INVOKE_VIRTUAL_RANGE"/>
+		<field name="OP_IPUT"/>
+		<field name="OP_IPUT_BOOLEAN"/>
+		<field name="OP_IPUT_BOOLEAN_JUMBO" since="11"/>
+		<field name="OP_IPUT_BYTE"/>
+		<field name="OP_IPUT_BYTE_JUMBO" since="11"/>
+		<field name="OP_IPUT_CHAR"/>
+		<field name="OP_IPUT_CHAR_JUMBO" since="11"/>
+		<field name="OP_IPUT_JUMBO" since="11"/>
+		<field name="OP_IPUT_OBJECT"/>
+		<field name="OP_IPUT_OBJECT_JUMBO" since="11"/>
+		<field name="OP_IPUT_OBJECT_QUICK" deprecated="15"/>
+		<field name="OP_IPUT_QUICK" deprecated="15"/>
+		<field name="OP_IPUT_SHORT"/>
+		<field name="OP_IPUT_SHORT_JUMBO" since="11"/>
+		<field name="OP_IPUT_WIDE"/>
+		<field name="OP_IPUT_WIDE_JUMBO" since="11"/>
+		<field name="OP_IPUT_WIDE_QUICK" deprecated="15"/>
+		<field name="OP_IPUT_WIDE_VOLATILE" since="9" deprecated="15"/>
+		<field name="OP_LONG_TO_DOUBLE"/>
+		<field name="OP_LONG_TO_FLOAT"/>
+		<field name="OP_LONG_TO_INT"/>
+		<field name="OP_MONITOR_ENTER"/>
+		<field name="OP_MONITOR_EXIT"/>
+		<field name="OP_MOVE"/>
+		<field name="OP_MOVE_16"/>
+		<field name="OP_MOVE_EXCEPTION"/>
+		<field name="OP_MOVE_FROM16"/>
+		<field name="OP_MOVE_OBJECT"/>
+		<field name="OP_MOVE_OBJECT_16"/>
+		<field name="OP_MOVE_OBJECT_FROM16"/>
+		<field name="OP_MOVE_RESULT"/>
+		<field name="OP_MOVE_RESULT_OBJECT"/>
+		<field name="OP_MOVE_RESULT_WIDE"/>
+		<field name="OP_MOVE_WIDE"/>
+		<field name="OP_MOVE_WIDE_16"/>
+		<field name="OP_MOVE_WIDE_FROM16"/>
+		<field name="OP_MUL_DOUBLE"/>
+		<field name="OP_MUL_DOUBLE_2ADDR"/>
+		<field name="OP_MUL_FLOAT"/>
+		<field name="OP_MUL_FLOAT_2ADDR"/>
+		<field name="OP_MUL_INT"/>
+		<field name="OP_MUL_INT_2ADDR"/>
+		<field name="OP_MUL_INT_LIT16"/>
+		<field name="OP_MUL_INT_LIT8"/>
+		<field name="OP_MUL_LONG"/>
+		<field name="OP_MUL_LONG_2ADDR"/>
+		<field name="OP_NEG_DOUBLE"/>
+		<field name="OP_NEG_FLOAT"/>
+		<field name="OP_NEG_INT"/>
+		<field name="OP_NEG_LONG"/>
+		<field name="OP_NEW_ARRAY"/>
+		<field name="OP_NEW_ARRAY_JUMBO" since="11"/>
+		<field name="OP_NEW_INSTANCE"/>
+		<field name="OP_NEW_INSTANCE_JUMBO" since="11"/>
+		<field name="OP_NOP"/>
+		<field name="OP_NOT_INT"/>
+		<field name="OP_NOT_LONG"/>
+		<field name="OP_OR_INT"/>
+		<field name="OP_OR_INT_2ADDR"/>
+		<field name="OP_OR_INT_LIT16"/>
+		<field name="OP_OR_INT_LIT8"/>
+		<field name="OP_OR_LONG"/>
+		<field name="OP_OR_LONG_2ADDR"/>
+		<field name="OP_PACKED_SWITCH"/>
+		<field name="OP_REM_DOUBLE"/>
+		<field name="OP_REM_DOUBLE_2ADDR"/>
+		<field name="OP_REM_FLOAT"/>
+		<field name="OP_REM_FLOAT_2ADDR"/>
+		<field name="OP_REM_INT"/>
+		<field name="OP_REM_INT_2ADDR"/>
+		<field name="OP_REM_INT_LIT16"/>
+		<field name="OP_REM_INT_LIT8"/>
+		<field name="OP_REM_LONG"/>
+		<field name="OP_REM_LONG_2ADDR"/>
+		<field name="OP_RETURN"/>
+		<field name="OP_RETURN_OBJECT"/>
+		<field name="OP_RETURN_VOID"/>
+		<field name="OP_RETURN_WIDE"/>
+		<field name="OP_RSUB_INT"/>
+		<field name="OP_RSUB_INT_LIT8"/>
+		<field name="OP_SGET"/>
+		<field name="OP_SGET_BOOLEAN"/>
+		<field name="OP_SGET_BOOLEAN_JUMBO" since="11"/>
+		<field name="OP_SGET_BYTE"/>
+		<field name="OP_SGET_BYTE_JUMBO" since="11"/>
+		<field name="OP_SGET_CHAR"/>
+		<field name="OP_SGET_CHAR_JUMBO" since="11"/>
+		<field name="OP_SGET_JUMBO" since="11"/>
+		<field name="OP_SGET_OBJECT"/>
+		<field name="OP_SGET_OBJECT_JUMBO" since="11"/>
+		<field name="OP_SGET_SHORT"/>
+		<field name="OP_SGET_SHORT_JUMBO" since="11"/>
+		<field name="OP_SGET_WIDE"/>
+		<field name="OP_SGET_WIDE_JUMBO" since="11"/>
+		<field name="OP_SGET_WIDE_VOLATILE" since="9" deprecated="15"/>
+		<field name="OP_SHL_INT"/>
+		<field name="OP_SHL_INT_2ADDR"/>
+		<field name="OP_SHL_INT_LIT8"/>
+		<field name="OP_SHL_LONG"/>
+		<field name="OP_SHL_LONG_2ADDR"/>
+		<field name="OP_SHR_INT"/>
+		<field name="OP_SHR_INT_2ADDR"/>
+		<field name="OP_SHR_INT_LIT8"/>
+		<field name="OP_SHR_LONG"/>
+		<field name="OP_SHR_LONG_2ADDR"/>
+		<field name="OP_SPARSE_SWITCH"/>
+		<field name="OP_SPUT"/>
+		<field name="OP_SPUT_BOOLEAN"/>
+		<field name="OP_SPUT_BOOLEAN_JUMBO" since="11"/>
+		<field name="OP_SPUT_BYTE"/>
+		<field name="OP_SPUT_BYTE_JUMBO" since="11"/>
+		<field name="OP_SPUT_CHAR"/>
+		<field name="OP_SPUT_CHAR_JUMBO" since="11"/>
+		<field name="OP_SPUT_JUMBO" since="11"/>
+		<field name="OP_SPUT_OBJECT"/>
+		<field name="OP_SPUT_OBJECT_JUMBO" since="11"/>
+		<field name="OP_SPUT_SHORT"/>
+		<field name="OP_SPUT_SHORT_JUMBO" since="11"/>
+		<field name="OP_SPUT_WIDE"/>
+		<field name="OP_SPUT_WIDE_JUMBO" since="11"/>
+		<field name="OP_SPUT_WIDE_VOLATILE" since="9" deprecated="15"/>
+		<field name="OP_SUB_DOUBLE"/>
+		<field name="OP_SUB_DOUBLE_2ADDR"/>
+		<field name="OP_SUB_FLOAT"/>
+		<field name="OP_SUB_FLOAT_2ADDR"/>
+		<field name="OP_SUB_INT"/>
+		<field name="OP_SUB_INT_2ADDR"/>
+		<field name="OP_SUB_LONG"/>
+		<field name="OP_SUB_LONG_2ADDR"/>
+		<field name="OP_THROW"/>
+		<field name="OP_THROW_VERIFICATION_ERROR" since="8" deprecated="15"/>
+		<field name="OP_UNUSED_3e" removed="8"/>
+		<field name="OP_UNUSED_3f" removed="8"/>
+		<field name="OP_UNUSED_40" removed="8"/>
+		<field name="OP_UNUSED_41" removed="8"/>
+		<field name="OP_UNUSED_42" removed="8"/>
+		<field name="OP_UNUSED_43" removed="8"/>
+		<field name="OP_UNUSED_73" removed="8"/>
+		<field name="OP_UNUSED_79" removed="8"/>
+		<field name="OP_UNUSED_7A" removed="8"/>
+		<field name="OP_UNUSED_E3" removed="8"/>
+		<field name="OP_UNUSED_E4" removed="8"/>
+		<field name="OP_UNUSED_E5" removed="8"/>
+		<field name="OP_UNUSED_E6" removed="8"/>
+		<field name="OP_UNUSED_E7" removed="8"/>
+		<field name="OP_UNUSED_E8" removed="8"/>
+		<field name="OP_UNUSED_E9" removed="8"/>
+		<field name="OP_UNUSED_EA" removed="8"/>
+		<field name="OP_UNUSED_EB" removed="8"/>
+		<field name="OP_UNUSED_EC" removed="8"/>
+		<field name="OP_UNUSED_ED" removed="8"/>
+		<field name="OP_UNUSED_EF" removed="8"/>
+		<field name="OP_UNUSED_F1" removed="8"/>
+		<field name="OP_UNUSED_FC" removed="8"/>
+		<field name="OP_UNUSED_FD" removed="8"/>
+		<field name="OP_UNUSED_FE" removed="8"/>
+		<field name="OP_UNUSED_FF" removed="8"/>
+		<field name="OP_USHR_INT"/>
+		<field name="OP_USHR_INT_2ADDR"/>
+		<field name="OP_USHR_INT_LIT8"/>
+		<field name="OP_USHR_LONG"/>
+		<field name="OP_USHR_LONG_2ADDR"/>
+		<field name="OP_XOR_INT"/>
+		<field name="OP_XOR_INT_2ADDR"/>
+		<field name="OP_XOR_INT_LIT16"/>
+		<field name="OP_XOR_INT_LIT8"/>
+		<field name="OP_XOR_LONG"/>
+		<field name="OP_XOR_LONG_2ADDR"/>
+	</class>
+	<class name="dalvik/system/AllocationLimitError" since="1" removed="9">
+		<extends name="java/lang/VirtualMachineError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="dalvik/system/BaseDexClassLoader" since="14">
+		<extends name="java/lang/ClassLoader"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;Ljava/lang/ClassLoader;)V"/>
+	</class>
+	<class name="dalvik/system/DelegateLastClassLoader" since="27">
+		<extends name="dalvik/system/PathClassLoader"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/ClassLoader;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Z)V" since="29"/>
+	</class>
+	<class name="dalvik/system/DexClassLoader" since="3">
+		<extends name="dalvik/system/BaseDexClassLoader" since="14"/>
+		<extends name="java/lang/ClassLoader" removed="14"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V"/>
+	</class>
+	<class name="dalvik/system/DexFile" since="1" deprecated="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/io/File;)V" deprecated="26"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="26"/>
+		<method name="close()V" deprecated="29"/>
+		<method name="entries()Ljava/util/Enumeration;" deprecated="29"/>
+		<method name="getName()Ljava/lang/String;" deprecated="29"/>
+		<method name="isDexOptNeeded(Ljava/lang/String;)Z" deprecated="29"/>
+		<method name="loadClass(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;" deprecated="29"/>
+		<method name="loadDex(Ljava/lang/String;Ljava/lang/String;I)Ldalvik/system/DexFile;" since="3" deprecated="26"/>
+	</class>
+	<class name="dalvik/system/InMemoryDexClassLoader" since="26">
+		<extends name="dalvik/system/BaseDexClassLoader"/>
+		<method name="&lt;init>(Ljava/nio/ByteBuffer;Ljava/lang/ClassLoader;)V"/>
+		<method name="&lt;init>([Ljava/nio/ByteBuffer;Ljava/lang/ClassLoader;)V" since="27"/>
+		<method name="&lt;init>([Ljava/nio/ByteBuffer;Ljava/lang/String;Ljava/lang/ClassLoader;)V" since="29"/>
+	</class>
+	<class name="dalvik/system/PathClassLoader" since="1">
+		<extends name="dalvik/system/BaseDexClassLoader" since="14"/>
+		<extends name="java/lang/ClassLoader" removed="14"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/ClassLoader;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V"/>
+	</class>
+	<class name="dalvik/system/PotentialDeadlockError" since="1" removed="9">
+		<extends name="java/lang/VirtualMachineError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="dalvik/system/StaleDexCacheError" since="1" removed="9">
+		<extends name="java/lang/VirtualMachineError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="dalvik/system/TemporaryDirectory" since="1" removed="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="setUpDirectory(Ljava/io/File;)V"/>
+		<method name="setUpDirectory(Ljava/lang/String;)V"/>
+	</class>
+	<class name="dalvik/system/TouchDex" since="1" removed="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="main([Ljava/lang/String;)V"/>
+		<method name="start(Ljava/lang/String;)I"/>
+	</class>
+	<class name="dalvik/system/VMDebug" since="1" removed="9">
+		<extends name="java/lang/Object"/>
+		<method name="dumpHprofData(Ljava/lang/String;)V" since="3"/>
+		<method name="getAllocCount(I)I"/>
+		<method name="getInstructionCount([I)V"/>
+		<method name="getLoadedClassCount()I"/>
+		<method name="isDebuggerConnected()Z"/>
+		<method name="isDebuggingEnabled()Z" since="3"/>
+		<method name="lastDebuggerActivity()J"/>
+		<method name="printLoadedClasses(I)V"/>
+		<method name="resetAllocCount(I)V"/>
+		<method name="resetInstructionCount()V"/>
+		<method name="setAllocationLimit(I)I"/>
+		<method name="setGlobalAllocationLimit(I)I"/>
+		<method name="startAllocCounting()V"/>
+		<method name="startEmulatorTracing()V"/>
+		<method name="startInstructionCounting()V"/>
+		<method name="startMethodTracing()V"/>
+		<method name="startMethodTracing(Ljava/lang/String;II)V"/>
+		<method name="stopAllocCounting()V"/>
+		<method name="stopEmulatorTracing()V"/>
+		<method name="stopInstructionCounting()V"/>
+		<method name="stopMethodTracing()V"/>
+		<method name="threadCpuTimeNanos()J"/>
+		<field name="DEFAULT_METHOD_TRACE_FILE_NAME"/>
+		<field name="KIND_ALL_COUNTS"/>
+		<field name="KIND_GLOBAL_ALLOCATED_BYTES"/>
+		<field name="KIND_GLOBAL_ALLOCATED_OBJECTS"/>
+		<field name="KIND_GLOBAL_CLASS_INIT_COUNT" since="8"/>
+		<field name="KIND_GLOBAL_CLASS_INIT_TIME" since="8"/>
+		<field name="KIND_GLOBAL_EXT_ALLOCATED_BYTES"/>
+		<field name="KIND_GLOBAL_EXT_ALLOCATED_OBJECTS"/>
+		<field name="KIND_GLOBAL_EXT_FREED_BYTES"/>
+		<field name="KIND_GLOBAL_EXT_FREED_OBJECTS"/>
+		<field name="KIND_GLOBAL_FREED_BYTES"/>
+		<field name="KIND_GLOBAL_FREED_OBJECTS"/>
+		<field name="KIND_GLOBAL_GC_INVOCATIONS"/>
+		<field name="KIND_THREAD_ALLOCATED_BYTES"/>
+		<field name="KIND_THREAD_ALLOCATED_OBJECTS"/>
+		<field name="KIND_THREAD_CLASS_INIT_COUNT" since="8"/>
+		<field name="KIND_THREAD_CLASS_INIT_TIME" since="8"/>
+		<field name="KIND_THREAD_EXT_ALLOCATED_BYTES"/>
+		<field name="KIND_THREAD_EXT_ALLOCATED_OBJECTS"/>
+		<field name="KIND_THREAD_EXT_FREED_BYTES"/>
+		<field name="KIND_THREAD_EXT_FREED_OBJECTS"/>
+		<field name="KIND_THREAD_FREED_BYTES"/>
+		<field name="KIND_THREAD_FREED_OBJECTS"/>
+		<field name="KIND_THREAD_GC_INVOCATIONS"/>
+		<field name="TRACE_COUNT_ALLOCS"/>
+	</class>
+	<class name="dalvik/system/VMRuntime" since="1" removed="9">
+		<extends name="java/lang/Object"/>
+		<method name="gcSoftReferences()V"/>
+		<method name="getExternalBytesAllocated()J"/>
+		<method name="getMinimumHeapSize()J"/>
+		<method name="getRuntime()Ldalvik/system/VMRuntime;"/>
+		<method name="getTargetHeapUtilization()F"/>
+		<method name="runFinalizationSync()V"/>
+		<method name="setMinimumHeapSize(J)J"/>
+		<method name="setTargetHeapUtilization(F)F"/>
+	</class>
+	<class name="dalvik/system/VMStack" since="1" removed="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getCallingClassLoader()Ljava/lang/ClassLoader;"/>
+		<method name="getCallingClassLoader2()Ljava/lang/ClassLoader;"/>
+		<method name="getClasses(IZ)[Ljava/lang/Class;"/>
+		<method name="getThreadStackTrace(Ljava/lang/Thread;)[Ljava/lang/StackTraceElement;"/>
+	</class>
+	<class name="dalvik/system/Zygote" since="1" removed="9">
+		<extends name="java/lang/Object"/>
+		<method name="fork()I"/>
+		<method name="forkAndSpecialize(II[II[[I)I" since="3"/>
+		<method name="forkAndSpecialize(II[IZ[[I)I"/>
+		<method name="forkSystemServer(II[II[[I)I" since="3"/>
+		<method name="forkSystemServer(II[IZ[[I)I"/>
+		<field name="DEBUG_ENABLE_ASSERT" since="3"/>
+		<field name="DEBUG_ENABLE_CHECKJNI" since="3"/>
+		<field name="DEBUG_ENABLE_DEBUGGER" since="3"/>
+		<field name="DEBUG_ENABLE_SAFEMODE" since="8"/>
+	</class>
+	<class name="java/awt/font/NumericShaper" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="getContextualShaper(I)Ljava/awt/font/NumericShaper;"/>
+		<method name="getContextualShaper(II)Ljava/awt/font/NumericShaper;"/>
+		<method name="getContextualShaper(Ljava/util/Set;)Ljava/awt/font/NumericShaper;" since="24"/>
+		<method name="getContextualShaper(Ljava/util/Set;Ljava/awt/font/NumericShaper$Range;)Ljava/awt/font/NumericShaper;" since="24"/>
+		<method name="getRangeSet()Ljava/util/Set;" since="24"/>
+		<method name="getRanges()I"/>
+		<method name="getShaper(I)Ljava/awt/font/NumericShaper;"/>
+		<method name="getShaper(Ljava/awt/font/NumericShaper$Range;)Ljava/awt/font/NumericShaper;" since="24"/>
+		<method name="isContextual()Z"/>
+		<method name="shape([CII)V"/>
+		<method name="shape([CIII)V"/>
+		<method name="shape([CIILjava/awt/font/NumericShaper$Range;)V" since="24"/>
+		<field name="ALL_RANGES"/>
+		<field name="ARABIC"/>
+		<field name="BENGALI"/>
+		<field name="DEVANAGARI"/>
+		<field name="EASTERN_ARABIC"/>
+		<field name="ETHIOPIC"/>
+		<field name="EUROPEAN"/>
+		<field name="GUJARATI"/>
+		<field name="GURMUKHI"/>
+		<field name="KANNADA"/>
+		<field name="KHMER"/>
+		<field name="LAO"/>
+		<field name="MALAYALAM"/>
+		<field name="MONGOLIAN"/>
+		<field name="MYANMAR"/>
+		<field name="ORIYA"/>
+		<field name="TAMIL"/>
+		<field name="TELUGU"/>
+		<field name="THAI"/>
+		<field name="TIBETAN"/>
+	</class>
+	<class name="java/awt/font/NumericShaper$Range" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/awt/font/NumericShaper$Range;"/>
+		<method name="values()[Ljava/awt/font/NumericShaper$Range;"/>
+		<field name="ARABIC"/>
+		<field name="BALINESE"/>
+		<field name="BENGALI"/>
+		<field name="CHAM"/>
+		<field name="DEVANAGARI"/>
+		<field name="EASTERN_ARABIC"/>
+		<field name="ETHIOPIC"/>
+		<field name="EUROPEAN"/>
+		<field name="GUJARATI"/>
+		<field name="GURMUKHI"/>
+		<field name="JAVANESE"/>
+		<field name="KANNADA"/>
+		<field name="KAYAH_LI"/>
+		<field name="KHMER"/>
+		<field name="LAO"/>
+		<field name="LEPCHA"/>
+		<field name="LIMBU"/>
+		<field name="MALAYALAM"/>
+		<field name="MEETEI_MAYEK"/>
+		<field name="MONGOLIAN"/>
+		<field name="MYANMAR"/>
+		<field name="MYANMAR_SHAN"/>
+		<field name="NEW_TAI_LUE"/>
+		<field name="NKO"/>
+		<field name="OL_CHIKI"/>
+		<field name="ORIYA"/>
+		<field name="SAURASHTRA"/>
+		<field name="SUNDANESE"/>
+		<field name="TAI_THAM_HORA"/>
+		<field name="TAI_THAM_THAM"/>
+		<field name="TAMIL"/>
+		<field name="TELUGU"/>
+		<field name="THAI"/>
+		<field name="TIBETAN"/>
+		<field name="VAI"/>
+	</class>
+	<class name="java/awt/font/TextAttribute" since="1">
+		<extends name="java/text/AttributedCharacterIterator$Attribute"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="BACKGROUND"/>
+		<field name="BIDI_EMBEDDING"/>
+		<field name="CHAR_REPLACEMENT"/>
+		<field name="FAMILY"/>
+		<field name="FONT"/>
+		<field name="FOREGROUND"/>
+		<field name="INPUT_METHOD_HIGHLIGHT"/>
+		<field name="INPUT_METHOD_UNDERLINE"/>
+		<field name="JUSTIFICATION"/>
+		<field name="JUSTIFICATION_FULL"/>
+		<field name="JUSTIFICATION_NONE"/>
+		<field name="KERNING" since="9"/>
+		<field name="KERNING_ON" since="9"/>
+		<field name="LIGATURES" since="9"/>
+		<field name="LIGATURES_ON" since="9"/>
+		<field name="NUMERIC_SHAPING"/>
+		<field name="POSTURE"/>
+		<field name="POSTURE_OBLIQUE"/>
+		<field name="POSTURE_REGULAR"/>
+		<field name="RUN_DIRECTION"/>
+		<field name="RUN_DIRECTION_LTR"/>
+		<field name="RUN_DIRECTION_RTL"/>
+		<field name="SIZE"/>
+		<field name="STRIKETHROUGH"/>
+		<field name="STRIKETHROUGH_ON"/>
+		<field name="SUPERSCRIPT"/>
+		<field name="SUPERSCRIPT_SUB"/>
+		<field name="SUPERSCRIPT_SUPER"/>
+		<field name="SWAP_COLORS"/>
+		<field name="SWAP_COLORS_ON"/>
+		<field name="TRACKING" since="9"/>
+		<field name="TRACKING_LOOSE" since="9"/>
+		<field name="TRACKING_TIGHT" since="9"/>
+		<field name="TRANSFORM"/>
+		<field name="UNDERLINE"/>
+		<field name="UNDERLINE_LOW_DASHED"/>
+		<field name="UNDERLINE_LOW_DOTTED"/>
+		<field name="UNDERLINE_LOW_GRAY"/>
+		<field name="UNDERLINE_LOW_ONE_PIXEL"/>
+		<field name="UNDERLINE_LOW_TWO_PIXEL"/>
+		<field name="UNDERLINE_ON"/>
+		<field name="WEIGHT"/>
+		<field name="WEIGHT_BOLD"/>
+		<field name="WEIGHT_DEMIBOLD"/>
+		<field name="WEIGHT_DEMILIGHT"/>
+		<field name="WEIGHT_EXTRABOLD"/>
+		<field name="WEIGHT_EXTRA_LIGHT"/>
+		<field name="WEIGHT_HEAVY"/>
+		<field name="WEIGHT_LIGHT"/>
+		<field name="WEIGHT_MEDIUM"/>
+		<field name="WEIGHT_REGULAR"/>
+		<field name="WEIGHT_SEMIBOLD"/>
+		<field name="WEIGHT_ULTRABOLD"/>
+		<field name="WIDTH"/>
+		<field name="WIDTH_CONDENSED"/>
+		<field name="WIDTH_EXTENDED"/>
+		<field name="WIDTH_REGULAR"/>
+		<field name="WIDTH_SEMI_CONDENSED"/>
+		<field name="WIDTH_SEMI_EXTENDED"/>
+	</class>
+	<class name="java/beans/IndexedPropertyChangeEvent" since="3">
+		<extends name="java/beans/PropertyChangeEvent"/>
+		<method name="&lt;init>(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;I)V"/>
+		<method name="getIndex()I"/>
+	</class>
+	<class name="java/beans/PropertyChangeEvent" since="3">
+		<extends name="java/util/EventObject"/>
+		<method name="&lt;init>(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="getNewValue()Ljava/lang/Object;"/>
+		<method name="getOldValue()Ljava/lang/Object;"/>
+		<method name="getPropagationId()Ljava/lang/Object;"/>
+		<method name="getPropertyName()Ljava/lang/String;"/>
+		<method name="setPropagationId(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="java/beans/PropertyChangeListener" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/EventListener"/>
+		<method name="propertyChange(Ljava/beans/PropertyChangeEvent;)V"/>
+	</class>
+	<class name="java/beans/PropertyChangeListenerProxy" since="3">
+		<extends name="java/util/EventListenerProxy"/>
+		<implements name="java/beans/PropertyChangeListener"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V"/>
+		<method name="getPropertyName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/beans/PropertyChangeSupport" since="3">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<method name="addPropertyChangeListener(Ljava/beans/PropertyChangeListener;)V"/>
+		<method name="addPropertyChangeListener(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V"/>
+		<method name="fireIndexedPropertyChange(Ljava/lang/String;III)V"/>
+		<method name="fireIndexedPropertyChange(Ljava/lang/String;ILjava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="fireIndexedPropertyChange(Ljava/lang/String;IZZ)V"/>
+		<method name="firePropertyChange(Ljava/beans/PropertyChangeEvent;)V"/>
+		<method name="firePropertyChange(Ljava/lang/String;II)V"/>
+		<method name="firePropertyChange(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="firePropertyChange(Ljava/lang/String;ZZ)V"/>
+		<method name="getPropertyChangeListeners()[Ljava/beans/PropertyChangeListener;"/>
+		<method name="getPropertyChangeListeners(Ljava/lang/String;)[Ljava/beans/PropertyChangeListener;"/>
+		<method name="hasListeners(Ljava/lang/String;)Z"/>
+		<method name="removePropertyChangeListener(Ljava/beans/PropertyChangeListener;)V"/>
+		<method name="removePropertyChangeListener(Ljava/lang/String;Ljava/beans/PropertyChangeListener;)V"/>
+	</class>
+	<class name="java/io/BufferedInputStream" since="1">
+		<extends name="java/io/FilterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;I)V"/>
+		<field name="buf"/>
+		<field name="count"/>
+		<field name="marklimit"/>
+		<field name="markpos"/>
+		<field name="pos"/>
+	</class>
+	<class name="java/io/BufferedOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;I)V"/>
+		<field name="buf"/>
+		<field name="count"/>
+	</class>
+	<class name="java/io/BufferedReader" since="1">
+		<extends name="java/io/Reader"/>
+		<method name="&lt;init>(Ljava/io/Reader;)V"/>
+		<method name="&lt;init>(Ljava/io/Reader;I)V"/>
+		<method name="lines()Ljava/util/stream/Stream;" since="24"/>
+		<method name="readLine()Ljava/lang/String;"/>
+	</class>
+	<class name="java/io/BufferedWriter" since="1">
+		<extends name="java/io/Writer"/>
+		<method name="&lt;init>(Ljava/io/Writer;)V"/>
+		<method name="&lt;init>(Ljava/io/Writer;I)V"/>
+		<method name="newLine()V"/>
+	</class>
+	<class name="java/io/ByteArrayInputStream" since="1">
+		<extends name="java/io/InputStream"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="&lt;init>([BII)V"/>
+		<field name="buf"/>
+		<field name="count"/>
+		<field name="mark"/>
+		<field name="pos"/>
+	</class>
+	<class name="java/io/ByteArrayOutputStream" since="1">
+		<extends name="java/io/OutputStream"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="reset()V"/>
+		<method name="size()I"/>
+		<method name="toByteArray()[B"/>
+		<method name="toString(I)Ljava/lang/String;" deprecated="15"/>
+		<method name="toString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="writeTo(Ljava/io/OutputStream;)V"/>
+		<field name="buf"/>
+		<field name="count"/>
+	</class>
+	<class name="java/io/CharArrayReader" since="1">
+		<extends name="java/io/Reader"/>
+		<method name="&lt;init>([C)V"/>
+		<method name="&lt;init>([CII)V"/>
+		<field name="buf"/>
+		<field name="count"/>
+		<field name="markedPos"/>
+		<field name="pos"/>
+	</class>
+	<class name="java/io/CharArrayWriter" since="1">
+		<extends name="java/io/Writer"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="append(C)Ljava/io/CharArrayWriter;"/>
+		<method name="append(Ljava/lang/CharSequence;)Ljava/io/CharArrayWriter;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/io/CharArrayWriter;"/>
+		<method name="reset()V"/>
+		<method name="size()I"/>
+		<method name="toCharArray()[C"/>
+		<method name="writeTo(Ljava/io/Writer;)V"/>
+		<field name="buf"/>
+		<field name="count"/>
+	</class>
+	<class name="java/io/CharConversionException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/Closeable" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="19"/>
+		<method name="close()V"/>
+	</class>
+	<class name="java/io/Console" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Flushable"/>
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/Console;"/>
+		<method name="printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/Console;"/>
+		<method name="readLine()Ljava/lang/String;"/>
+		<method name="readLine(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="readPassword()[C"/>
+		<method name="readPassword(Ljava/lang/String;[Ljava/lang/Object;)[C"/>
+		<method name="reader()Ljava/io/Reader;"/>
+		<method name="writer()Ljava/io/PrintWriter;"/>
+	</class>
+	<class name="java/io/DataInput" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="readBoolean()Z"/>
+		<method name="readByte()B"/>
+		<method name="readChar()C"/>
+		<method name="readDouble()D"/>
+		<method name="readFloat()F"/>
+		<method name="readFully([B)V"/>
+		<method name="readFully([BII)V"/>
+		<method name="readInt()I"/>
+		<method name="readLine()Ljava/lang/String;"/>
+		<method name="readLong()J"/>
+		<method name="readShort()S"/>
+		<method name="readUTF()Ljava/lang/String;"/>
+		<method name="readUnsignedByte()I"/>
+		<method name="readUnsignedShort()I"/>
+		<method name="skipBytes(I)I"/>
+	</class>
+	<class name="java/io/DataInputStream" since="1">
+		<extends name="java/io/FilterInputStream"/>
+		<implements name="java/io/DataInput"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="readUTF(Ljava/io/DataInput;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/io/DataOutput" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="write(I)V"/>
+		<method name="write([B)V"/>
+		<method name="write([BII)V"/>
+		<method name="writeBoolean(Z)V"/>
+		<method name="writeByte(I)V"/>
+		<method name="writeBytes(Ljava/lang/String;)V"/>
+		<method name="writeChar(I)V"/>
+		<method name="writeChars(Ljava/lang/String;)V"/>
+		<method name="writeDouble(D)V"/>
+		<method name="writeFloat(F)V"/>
+		<method name="writeInt(I)V"/>
+		<method name="writeLong(J)V"/>
+		<method name="writeShort(I)V"/>
+		<method name="writeUTF(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/DataOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream"/>
+		<implements name="java/io/DataOutput"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="size()I"/>
+		<field name="written"/>
+	</class>
+	<class name="java/io/EOFException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/Externalizable" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="readExternal(Ljava/io/ObjectInput;)V"/>
+		<method name="writeExternal(Ljava/io/ObjectOutput;)V"/>
+	</class>
+	<class name="java/io/File" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Ljava/io/File;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/net/URI;)V"/>
+		<method name="canExecute()Z" since="9"/>
+		<method name="canRead()Z"/>
+		<method name="canWrite()Z"/>
+		<method name="compareTo(Ljava/io/File;)I"/>
+		<method name="createNewFile()Z"/>
+		<method name="createTempFile(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;"/>
+		<method name="createTempFile(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;"/>
+		<method name="delete()Z"/>
+		<method name="deleteOnExit()V"/>
+		<method name="exists()Z"/>
+		<method name="getAbsoluteFile()Ljava/io/File;"/>
+		<method name="getAbsolutePath()Ljava/lang/String;"/>
+		<method name="getCanonicalFile()Ljava/io/File;"/>
+		<method name="getCanonicalPath()Ljava/lang/String;"/>
+		<method name="getFreeSpace()J" since="9"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getParent()Ljava/lang/String;"/>
+		<method name="getParentFile()Ljava/io/File;"/>
+		<method name="getPath()Ljava/lang/String;"/>
+		<method name="getTotalSpace()J" since="9"/>
+		<method name="getUsableSpace()J" since="9"/>
+		<method name="isAbsolute()Z"/>
+		<method name="isDirectory()Z"/>
+		<method name="isFile()Z"/>
+		<method name="isHidden()Z"/>
+		<method name="lastModified()J"/>
+		<method name="length()J"/>
+		<method name="list()[Ljava/lang/String;"/>
+		<method name="list(Ljava/io/FilenameFilter;)[Ljava/lang/String;"/>
+		<method name="listFiles()[Ljava/io/File;"/>
+		<method name="listFiles(Ljava/io/FileFilter;)[Ljava/io/File;"/>
+		<method name="listFiles(Ljava/io/FilenameFilter;)[Ljava/io/File;"/>
+		<method name="listRoots()[Ljava/io/File;"/>
+		<method name="mkdir()Z"/>
+		<method name="mkdirs()Z"/>
+		<method name="renameTo(Ljava/io/File;)Z"/>
+		<method name="setExecutable(Z)Z" since="9"/>
+		<method name="setExecutable(ZZ)Z" since="9"/>
+		<method name="setLastModified(J)Z"/>
+		<method name="setReadOnly()Z"/>
+		<method name="setReadable(Z)Z" since="9"/>
+		<method name="setReadable(ZZ)Z" since="9"/>
+		<method name="setWritable(Z)Z" since="9"/>
+		<method name="setWritable(ZZ)Z" since="9"/>
+		<method name="toPath()Ljava/nio/file/Path;" since="26"/>
+		<method name="toURI()Ljava/net/URI;"/>
+		<method name="toURL()Ljava/net/URL;" deprecated="15"/>
+		<field name="pathSeparator"/>
+		<field name="pathSeparatorChar"/>
+		<field name="separator"/>
+		<field name="separatorChar"/>
+	</class>
+	<class name="java/io/FileDescriptor" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="sync()V"/>
+		<method name="valid()Z"/>
+		<field name="err"/>
+		<field name="in"/>
+		<field name="out"/>
+	</class>
+	<class name="java/io/FileFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="accept(Ljava/io/File;)Z"/>
+	</class>
+	<class name="java/io/FileInputStream" since="1">
+		<extends name="java/io/InputStream"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/FileDescriptor;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getChannel()Ljava/nio/channels/FileChannel;"/>
+		<method name="getFD()Ljava/io/FileDescriptor;"/>
+	</class>
+	<class name="java/io/FileNotFoundException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/FileOutputStream" since="1">
+		<extends name="java/io/OutputStream"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/File;Z)V"/>
+		<method name="&lt;init>(Ljava/io/FileDescriptor;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Z)V"/>
+		<method name="getChannel()Ljava/nio/channels/FileChannel;"/>
+		<method name="getFD()Ljava/io/FileDescriptor;"/>
+	</class>
+	<class name="java/io/FilePermission" since="1">
+		<extends name="java/security/Permission"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/FileReader" since="1">
+		<extends name="java/io/InputStreamReader"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/FileDescriptor;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/FileWriter" since="1">
+		<extends name="java/io/OutputStreamWriter"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/File;Z)V"/>
+		<method name="&lt;init>(Ljava/io/FileDescriptor;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Z)V"/>
+	</class>
+	<class name="java/io/FilenameFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="accept(Ljava/io/File;Ljava/lang/String;)Z"/>
+	</class>
+	<class name="java/io/FilterInputStream" since="1">
+		<extends name="java/io/InputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<field name="in"/>
+	</class>
+	<class name="java/io/FilterOutputStream" since="1">
+		<extends name="java/io/OutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<field name="out"/>
+	</class>
+	<class name="java/io/FilterReader" since="1">
+		<extends name="java/io/Reader"/>
+		<method name="&lt;init>(Ljava/io/Reader;)V"/>
+		<field name="in"/>
+	</class>
+	<class name="java/io/FilterWriter" since="1">
+		<extends name="java/io/Writer"/>
+		<method name="&lt;init>(Ljava/io/Writer;)V"/>
+		<field name="out"/>
+	</class>
+	<class name="java/io/Flushable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="flush()V"/>
+	</class>
+	<class name="java/io/IOError" since="9">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/io/IOException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V" since="9"/>
+	</class>
+	<class name="java/io/InputStream" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="&lt;init>()V"/>
+		<method name="available()I"/>
+		<method name="mark(I)V"/>
+		<method name="markSupported()Z"/>
+		<method name="read()I"/>
+		<method name="read([B)I"/>
+		<method name="read([BII)I"/>
+		<method name="reset()V"/>
+		<method name="skip(J)J"/>
+	</class>
+	<class name="java/io/InputStreamReader" since="1">
+		<extends name="java/io/Reader"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/nio/charset/CharsetDecoder;)V"/>
+		<method name="getEncoding()Ljava/lang/String;"/>
+	</class>
+	<class name="java/io/InterruptedIOException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="bytesTransferred"/>
+	</class>
+	<class name="java/io/InvalidClassException" since="1">
+		<extends name="java/io/ObjectStreamException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="classname"/>
+	</class>
+	<class name="java/io/InvalidObjectException" since="1">
+		<extends name="java/io/ObjectStreamException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/LineNumberInputStream" since="1" deprecated="1">
+		<extends name="java/io/FilterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V" deprecated="29"/>
+		<method name="getLineNumber()I" deprecated="29"/>
+		<method name="setLineNumber(I)V" deprecated="29"/>
+	</class>
+	<class name="java/io/LineNumberReader" since="1">
+		<extends name="java/io/BufferedReader"/>
+		<method name="&lt;init>(Ljava/io/Reader;)V"/>
+		<method name="&lt;init>(Ljava/io/Reader;I)V"/>
+		<method name="getLineNumber()I"/>
+		<method name="setLineNumber(I)V"/>
+	</class>
+	<class name="java/io/NotActiveException" since="1">
+		<extends name="java/io/ObjectStreamException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/NotSerializableException" since="1">
+		<extends name="java/io/ObjectStreamException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/ObjectInput" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/DataInput"/>
+		<implements name="java/lang/AutoCloseable" since="19"/>
+		<method name="available()I"/>
+		<method name="close()V"/>
+		<method name="read()I"/>
+		<method name="read([B)I"/>
+		<method name="read([BII)I"/>
+		<method name="readObject()Ljava/lang/Object;"/>
+		<method name="skip(J)J"/>
+	</class>
+	<class name="java/io/ObjectInputStream" since="1">
+		<extends name="java/io/InputStream"/>
+		<implements name="java/io/ObjectInput"/>
+		<implements name="java/io/ObjectStreamConstants"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="defaultReadObject()V"/>
+		<method name="enableResolveObject(Z)Z"/>
+		<method name="readClassDescriptor()Ljava/io/ObjectStreamClass;"/>
+		<method name="readFields()Ljava/io/ObjectInputStream$GetField;"/>
+		<method name="readObjectOverride()Ljava/lang/Object;"/>
+		<method name="readStreamHeader()V"/>
+		<method name="readUnshared()Ljava/lang/Object;"/>
+		<method name="registerValidation(Ljava/io/ObjectInputValidation;I)V"/>
+		<method name="resolveClass(Ljava/io/ObjectStreamClass;)Ljava/lang/Class;"/>
+		<method name="resolveObject(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="resolveProxyClass([Ljava/lang/String;)Ljava/lang/Class;"/>
+	</class>
+	<class name="java/io/ObjectInputStream$GetField" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="defaulted(Ljava/lang/String;)Z"/>
+		<method name="get(Ljava/lang/String;B)B"/>
+		<method name="get(Ljava/lang/String;C)C"/>
+		<method name="get(Ljava/lang/String;D)D"/>
+		<method name="get(Ljava/lang/String;F)F"/>
+		<method name="get(Ljava/lang/String;I)I"/>
+		<method name="get(Ljava/lang/String;J)J"/>
+		<method name="get(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="get(Ljava/lang/String;S)S"/>
+		<method name="get(Ljava/lang/String;Z)Z"/>
+		<method name="getObjectStreamClass()Ljava/io/ObjectStreamClass;"/>
+	</class>
+	<class name="java/io/ObjectInputValidation" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="validateObject()V"/>
+	</class>
+	<class name="java/io/ObjectOutput" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/DataOutput"/>
+		<implements name="java/lang/AutoCloseable" since="19"/>
+		<method name="close()V"/>
+		<method name="flush()V"/>
+		<method name="writeObject(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="java/io/ObjectOutputStream" since="1">
+		<extends name="java/io/OutputStream"/>
+		<implements name="java/io/ObjectOutput"/>
+		<implements name="java/io/ObjectStreamConstants"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="annotateClass(Ljava/lang/Class;)V"/>
+		<method name="annotateProxyClass(Ljava/lang/Class;)V"/>
+		<method name="defaultWriteObject()V"/>
+		<method name="drain()V"/>
+		<method name="enableReplaceObject(Z)Z"/>
+		<method name="putFields()Ljava/io/ObjectOutputStream$PutField;"/>
+		<method name="replaceObject(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="reset()V"/>
+		<method name="useProtocolVersion(I)V"/>
+		<method name="writeClassDescriptor(Ljava/io/ObjectStreamClass;)V"/>
+		<method name="writeFields()V"/>
+		<method name="writeObjectOverride(Ljava/lang/Object;)V"/>
+		<method name="writeStreamHeader()V"/>
+		<method name="writeUnshared(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="java/io/ObjectOutputStream$PutField" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="put(Ljava/lang/String;B)V"/>
+		<method name="put(Ljava/lang/String;C)V"/>
+		<method name="put(Ljava/lang/String;D)V"/>
+		<method name="put(Ljava/lang/String;F)V"/>
+		<method name="put(Ljava/lang/String;I)V"/>
+		<method name="put(Ljava/lang/String;J)V"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="put(Ljava/lang/String;S)V"/>
+		<method name="put(Ljava/lang/String;Z)V"/>
+		<method name="write(Ljava/io/ObjectOutput;)V" deprecated="15"/>
+	</class>
+	<class name="java/io/ObjectStreamClass" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="forClass()Ljava/lang/Class;"/>
+		<method name="getField(Ljava/lang/String;)Ljava/io/ObjectStreamField;"/>
+		<method name="getFields()[Ljava/io/ObjectStreamField;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getSerialVersionUID()J"/>
+		<method name="lookup(Ljava/lang/Class;)Ljava/io/ObjectStreamClass;"/>
+		<method name="lookupAny(Ljava/lang/Class;)Ljava/io/ObjectStreamClass;" since="9"/>
+		<field name="NO_FIELDS"/>
+	</class>
+	<class name="java/io/ObjectStreamConstants" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="PROTOCOL_VERSION_1"/>
+		<field name="PROTOCOL_VERSION_2"/>
+		<field name="SC_BLOCK_DATA"/>
+		<field name="SC_ENUM"/>
+		<field name="SC_EXTERNALIZABLE"/>
+		<field name="SC_SERIALIZABLE"/>
+		<field name="SC_WRITE_METHOD"/>
+		<field name="STREAM_MAGIC"/>
+		<field name="STREAM_VERSION"/>
+		<field name="SUBCLASS_IMPLEMENTATION_PERMISSION"/>
+		<field name="SUBSTITUTION_PERMISSION"/>
+		<field name="TC_ARRAY"/>
+		<field name="TC_BASE"/>
+		<field name="TC_BLOCKDATA"/>
+		<field name="TC_BLOCKDATALONG"/>
+		<field name="TC_CLASS"/>
+		<field name="TC_CLASSDESC"/>
+		<field name="TC_ENDBLOCKDATA"/>
+		<field name="TC_ENUM"/>
+		<field name="TC_EXCEPTION"/>
+		<field name="TC_LONGSTRING"/>
+		<field name="TC_MAX"/>
+		<field name="TC_NULL"/>
+		<field name="TC_OBJECT"/>
+		<field name="TC_PROXYCLASSDESC"/>
+		<field name="TC_REFERENCE"/>
+		<field name="TC_RESET"/>
+		<field name="TC_STRING"/>
+		<field name="baseWireHandle"/>
+	</class>
+	<class name="java/io/ObjectStreamException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/ObjectStreamField" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Class;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Class;Z)V"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getOffset()I"/>
+		<method name="getType()Ljava/lang/Class;"/>
+		<method name="getTypeCode()C"/>
+		<method name="getTypeString()Ljava/lang/String;"/>
+		<method name="isPrimitive()Z"/>
+		<method name="isUnshared()Z"/>
+		<method name="setOffset(I)V"/>
+	</class>
+	<class name="java/io/OptionalDataException" since="1">
+		<extends name="java/io/ObjectStreamException"/>
+		<field name="eof"/>
+		<field name="length"/>
+	</class>
+	<class name="java/io/OutputStream" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<implements name="java/io/Flushable"/>
+		<method name="&lt;init>()V"/>
+		<method name="write(I)V"/>
+		<method name="write([B)V"/>
+		<method name="write([BII)V"/>
+	</class>
+	<class name="java/io/OutputStreamWriter" since="1">
+		<extends name="java/io/Writer"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/nio/charset/CharsetEncoder;)V"/>
+		<method name="getEncoding()Ljava/lang/String;"/>
+	</class>
+	<class name="java/io/PipedInputStream" since="1">
+		<extends name="java/io/InputStream"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V" since="9"/>
+		<method name="&lt;init>(Ljava/io/PipedOutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/PipedOutputStream;I)V" since="9"/>
+		<method name="connect(Ljava/io/PipedOutputStream;)V"/>
+		<method name="receive(I)V"/>
+		<field name="PIPE_SIZE"/>
+		<field name="buffer"/>
+		<field name="in"/>
+		<field name="out"/>
+	</class>
+	<class name="java/io/PipedOutputStream" since="1">
+		<extends name="java/io/OutputStream"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/io/PipedInputStream;)V"/>
+		<method name="connect(Ljava/io/PipedInputStream;)V"/>
+	</class>
+	<class name="java/io/PipedReader" since="1">
+		<extends name="java/io/Reader"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V" since="9"/>
+		<method name="&lt;init>(Ljava/io/PipedWriter;)V"/>
+		<method name="&lt;init>(Ljava/io/PipedWriter;I)V" since="9"/>
+		<method name="connect(Ljava/io/PipedWriter;)V"/>
+	</class>
+	<class name="java/io/PipedWriter" since="1">
+		<extends name="java/io/Writer"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/io/PipedReader;)V"/>
+		<method name="connect(Ljava/io/PipedReader;)V"/>
+	</class>
+	<class name="java/io/PrintStream" since="1">
+		<extends name="java/io/FilterOutputStream"/>
+		<implements name="java/lang/Appendable"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/File;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Z)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;ZLjava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="append(C)Ljava/io/PrintStream;"/>
+		<method name="append(Ljava/lang/CharSequence;)Ljava/io/PrintStream;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/io/PrintStream;"/>
+		<method name="checkError()Z"/>
+		<method name="clearError()V" since="9"/>
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;"/>
+		<method name="format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;"/>
+		<method name="print(C)V"/>
+		<method name="print(D)V"/>
+		<method name="print(F)V"/>
+		<method name="print(I)V"/>
+		<method name="print(J)V"/>
+		<method name="print(Ljava/lang/Object;)V"/>
+		<method name="print(Ljava/lang/String;)V"/>
+		<method name="print(Z)V"/>
+		<method name="print([C)V"/>
+		<method name="printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;"/>
+		<method name="printf(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;"/>
+		<method name="println()V"/>
+		<method name="println(C)V"/>
+		<method name="println(D)V"/>
+		<method name="println(F)V"/>
+		<method name="println(I)V"/>
+		<method name="println(J)V"/>
+		<method name="println(Ljava/lang/Object;)V"/>
+		<method name="println(Ljava/lang/String;)V"/>
+		<method name="println(Z)V"/>
+		<method name="println([C)V"/>
+		<method name="setError()V"/>
+	</class>
+	<class name="java/io/PrintWriter" since="1">
+		<extends name="java/io/Writer"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/File;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Z)V"/>
+		<method name="&lt;init>(Ljava/io/Writer;)V"/>
+		<method name="&lt;init>(Ljava/io/Writer;Z)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="append(C)Ljava/io/PrintWriter;"/>
+		<method name="append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/io/PrintWriter;"/>
+		<method name="checkError()Z"/>
+		<method name="clearError()V" since="9"/>
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;"/>
+		<method name="format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;"/>
+		<method name="print(C)V"/>
+		<method name="print(D)V"/>
+		<method name="print(F)V"/>
+		<method name="print(I)V"/>
+		<method name="print(J)V"/>
+		<method name="print(Ljava/lang/Object;)V"/>
+		<method name="print(Ljava/lang/String;)V"/>
+		<method name="print(Z)V"/>
+		<method name="print([C)V"/>
+		<method name="printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;"/>
+		<method name="printf(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;"/>
+		<method name="println()V"/>
+		<method name="println(C)V"/>
+		<method name="println(D)V"/>
+		<method name="println(F)V"/>
+		<method name="println(I)V"/>
+		<method name="println(J)V"/>
+		<method name="println(Ljava/lang/Object;)V"/>
+		<method name="println(Ljava/lang/String;)V"/>
+		<method name="println(Z)V"/>
+		<method name="println([C)V"/>
+		<method name="setError()V"/>
+		<field name="out"/>
+	</class>
+	<class name="java/io/PushbackInputStream" since="1">
+		<extends name="java/io/FilterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;I)V"/>
+		<method name="unread(I)V"/>
+		<method name="unread([B)V"/>
+		<method name="unread([BII)V"/>
+		<field name="buf"/>
+		<field name="pos"/>
+	</class>
+	<class name="java/io/PushbackReader" since="1">
+		<extends name="java/io/FilterReader"/>
+		<method name="&lt;init>(Ljava/io/Reader;)V"/>
+		<method name="&lt;init>(Ljava/io/Reader;I)V"/>
+		<method name="unread(I)V"/>
+		<method name="unread([C)V"/>
+		<method name="unread([CII)V"/>
+	</class>
+	<class name="java/io/RandomAccessFile" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<implements name="java/io/DataInput"/>
+		<implements name="java/io/DataOutput"/>
+		<method name="&lt;init>(Ljava/io/File;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getChannel()Ljava/nio/channels/FileChannel;"/>
+		<method name="getFD()Ljava/io/FileDescriptor;"/>
+		<method name="getFilePointer()J"/>
+		<method name="length()J"/>
+		<method name="read()I"/>
+		<method name="read([B)I"/>
+		<method name="read([BII)I"/>
+		<method name="seek(J)V"/>
+		<method name="setLength(J)V"/>
+	</class>
+	<class name="java/io/Reader" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<implements name="java/lang/Readable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<method name="mark(I)V"/>
+		<method name="markSupported()Z"/>
+		<method name="read()I"/>
+		<method name="read([C)I"/>
+		<method name="read([CII)I"/>
+		<method name="ready()Z"/>
+		<method name="reset()V"/>
+		<method name="skip(J)J"/>
+		<field name="lock"/>
+	</class>
+	<class name="java/io/SequenceInputStream" since="1">
+		<extends name="java/io/InputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/util/Enumeration;)V"/>
+	</class>
+	<class name="java/io/Serializable" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/io/SerializablePermission" since="1">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/StreamCorruptedException" since="1">
+		<extends name="java/io/ObjectStreamException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/StreamTokenizer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V" deprecated="15"/>
+		<method name="&lt;init>(Ljava/io/Reader;)V"/>
+		<method name="commentChar(I)V"/>
+		<method name="eolIsSignificant(Z)V"/>
+		<method name="lineno()I"/>
+		<method name="lowerCaseMode(Z)V"/>
+		<method name="nextToken()I"/>
+		<method name="ordinaryChar(I)V"/>
+		<method name="ordinaryChars(II)V"/>
+		<method name="parseNumbers()V"/>
+		<method name="pushBack()V"/>
+		<method name="quoteChar(I)V"/>
+		<method name="resetSyntax()V"/>
+		<method name="slashSlashComments(Z)V"/>
+		<method name="slashStarComments(Z)V"/>
+		<method name="whitespaceChars(II)V"/>
+		<method name="wordChars(II)V"/>
+		<field name="TT_EOF"/>
+		<field name="TT_EOL"/>
+		<field name="TT_NUMBER"/>
+		<field name="TT_WORD"/>
+		<field name="nval"/>
+		<field name="sval"/>
+		<field name="ttype"/>
+	</class>
+	<class name="java/io/StringBufferInputStream" since="1" deprecated="1">
+		<extends name="java/io/InputStream"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="29"/>
+		<field name="buffer" deprecated="29"/>
+		<field name="count" deprecated="29"/>
+		<field name="pos" deprecated="29"/>
+	</class>
+	<class name="java/io/StringReader" since="1">
+		<extends name="java/io/Reader"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/StringWriter" since="1">
+		<extends name="java/io/Writer"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="append(C)Ljava/io/StringWriter;"/>
+		<method name="append(Ljava/lang/CharSequence;)Ljava/io/StringWriter;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/io/StringWriter;"/>
+		<method name="getBuffer()Ljava/lang/StringBuffer;"/>
+	</class>
+	<class name="java/io/SyncFailedException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/UTFDataFormatException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/UncheckedIOException" since="24">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/io/IOException;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/io/IOException;)V"/>
+		<method name="getCause()Ljava/io/IOException;"/>
+	</class>
+	<class name="java/io/UnsupportedEncodingException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/io/WriteAbortedException" since="1">
+		<extends name="java/io/ObjectStreamException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Exception;)V"/>
+		<field name="detail"/>
+	</class>
+	<class name="java/io/Writer" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<implements name="java/io/Flushable"/>
+		<implements name="java/lang/Appendable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<method name="append(C)Ljava/io/Writer;"/>
+		<method name="append(Ljava/lang/CharSequence;)Ljava/io/Writer;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/io/Writer;"/>
+		<method name="write(I)V"/>
+		<method name="write(Ljava/lang/String;)V"/>
+		<method name="write(Ljava/lang/String;II)V"/>
+		<method name="write([C)V"/>
+		<method name="write([CII)V"/>
+		<field name="lock"/>
+	</class>
+	<class name="java/lang/AbstractMethodError" since="1">
+		<extends name="java/lang/IncompatibleClassChangeError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/Appendable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="append(C)Ljava/lang/Appendable;"/>
+		<method name="append(Ljava/lang/CharSequence;)Ljava/lang/Appendable;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/lang/Appendable;"/>
+	</class>
+	<class name="java/lang/ArithmeticException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/ArrayIndexOutOfBoundsException" since="1">
+		<extends name="java/lang/IndexOutOfBoundsException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/ArrayStoreException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/AssertionError" since="1">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(C)V"/>
+		<method name="&lt;init>(D)V"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="19"/>
+		<method name="&lt;init>(Z)V"/>
+	</class>
+	<class name="java/lang/AutoCloseable" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="close()V"/>
+	</class>
+	<class name="java/lang/Boolean" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Z)V"/>
+		<method name="booleanValue()Z"/>
+		<method name="compare(ZZ)I" since="19"/>
+		<method name="compareTo(Ljava/lang/Boolean;)I"/>
+		<method name="getBoolean(Ljava/lang/String;)Z"/>
+		<method name="hashCode(Z)I" since="24"/>
+		<method name="logicalAnd(ZZ)Z" since="24"/>
+		<method name="logicalOr(ZZ)Z" since="24"/>
+		<method name="logicalXor(ZZ)Z" since="24"/>
+		<method name="parseBoolean(Ljava/lang/String;)Z"/>
+		<method name="toString(Z)Ljava/lang/String;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Boolean;"/>
+		<method name="valueOf(Z)Ljava/lang/Boolean;"/>
+		<field name="FALSE"/>
+		<field name="TRUE"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="java/lang/BootstrapMethodError" since="26">
+		<extends name="java/lang/LinkageError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/Byte" since="1">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(B)V" deprecated="31"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="31"/>
+		<method name="compare(BB)I" since="19"/>
+		<method name="compareTo(Ljava/lang/Byte;)I"/>
+		<method name="compareUnsigned(BB)I" since="31"/>
+		<method name="decode(Ljava/lang/String;)Ljava/lang/Byte;"/>
+		<method name="hashCode(B)I" since="24"/>
+		<method name="parseByte(Ljava/lang/String;)B"/>
+		<method name="parseByte(Ljava/lang/String;I)B"/>
+		<method name="toString(B)Ljava/lang/String;"/>
+		<method name="toUnsignedInt(B)I" since="26"/>
+		<method name="toUnsignedLong(B)J" since="26"/>
+		<method name="valueOf(B)Ljava/lang/Byte;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Byte;"/>
+		<method name="valueOf(Ljava/lang/String;I)Ljava/lang/Byte;"/>
+		<field name="BYTES" since="24"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_VALUE"/>
+		<field name="SIZE"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="java/lang/CharSequence" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="charAt(I)C"/>
+		<method name="chars()Ljava/util/stream/IntStream;" since="24"/>
+		<method name="codePoints()Ljava/util/stream/IntStream;" since="24"/>
+		<method name="length()I"/>
+		<method name="subSequence(II)Ljava/lang/CharSequence;"/>
+	</class>
+	<class name="java/lang/Character" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(C)V"/>
+		<method name="charCount(I)I"/>
+		<method name="charValue()C"/>
+		<method name="codePointAt(Ljava/lang/CharSequence;I)I"/>
+		<method name="codePointAt([CI)I"/>
+		<method name="codePointAt([CII)I"/>
+		<method name="codePointBefore(Ljava/lang/CharSequence;I)I"/>
+		<method name="codePointBefore([CI)I"/>
+		<method name="codePointBefore([CII)I"/>
+		<method name="codePointCount(Ljava/lang/CharSequence;II)I"/>
+		<method name="codePointCount([CII)I"/>
+		<method name="compare(CC)I" since="19"/>
+		<method name="compareTo(Ljava/lang/Character;)I"/>
+		<method name="digit(CI)I"/>
+		<method name="digit(II)I"/>
+		<method name="forDigit(II)C"/>
+		<method name="getDirectionality(C)B"/>
+		<method name="getDirectionality(I)B"/>
+		<method name="getName(I)Ljava/lang/String;" since="19"/>
+		<method name="getNumericValue(C)I"/>
+		<method name="getNumericValue(I)I"/>
+		<method name="getType(C)I"/>
+		<method name="getType(I)I"/>
+		<method name="hashCode(C)I" since="24"/>
+		<method name="highSurrogate(I)C" since="19"/>
+		<method name="isAlphabetic(I)Z" since="19"/>
+		<method name="isBmpCodePoint(I)Z" since="19"/>
+		<method name="isDefined(C)Z"/>
+		<method name="isDefined(I)Z"/>
+		<method name="isDigit(C)Z"/>
+		<method name="isDigit(I)Z"/>
+		<method name="isHighSurrogate(C)Z"/>
+		<method name="isISOControl(C)Z"/>
+		<method name="isISOControl(I)Z"/>
+		<method name="isIdentifierIgnorable(C)Z"/>
+		<method name="isIdentifierIgnorable(I)Z"/>
+		<method name="isIdeographic(I)Z" since="19"/>
+		<method name="isJavaIdentifierPart(C)Z"/>
+		<method name="isJavaIdentifierPart(I)Z"/>
+		<method name="isJavaIdentifierStart(C)Z"/>
+		<method name="isJavaIdentifierStart(I)Z"/>
+		<method name="isJavaLetter(C)Z" deprecated="15"/>
+		<method name="isJavaLetterOrDigit(C)Z" deprecated="15"/>
+		<method name="isLetter(C)Z"/>
+		<method name="isLetter(I)Z"/>
+		<method name="isLetterOrDigit(C)Z"/>
+		<method name="isLetterOrDigit(I)Z"/>
+		<method name="isLowSurrogate(C)Z"/>
+		<method name="isLowerCase(C)Z"/>
+		<method name="isLowerCase(I)Z"/>
+		<method name="isMirrored(C)Z"/>
+		<method name="isMirrored(I)Z"/>
+		<method name="isSpace(C)Z" deprecated="15"/>
+		<method name="isSpaceChar(C)Z"/>
+		<method name="isSpaceChar(I)Z"/>
+		<method name="isSupplementaryCodePoint(I)Z"/>
+		<method name="isSurrogate(C)Z" since="19"/>
+		<method name="isSurrogatePair(CC)Z"/>
+		<method name="isTitleCase(C)Z"/>
+		<method name="isTitleCase(I)Z"/>
+		<method name="isUnicodeIdentifierPart(C)Z"/>
+		<method name="isUnicodeIdentifierPart(I)Z"/>
+		<method name="isUnicodeIdentifierStart(C)Z"/>
+		<method name="isUnicodeIdentifierStart(I)Z"/>
+		<method name="isUpperCase(C)Z"/>
+		<method name="isUpperCase(I)Z"/>
+		<method name="isValidCodePoint(I)Z"/>
+		<method name="isWhitespace(C)Z"/>
+		<method name="isWhitespace(I)Z"/>
+		<method name="lowSurrogate(I)C" since="19"/>
+		<method name="offsetByCodePoints(Ljava/lang/CharSequence;II)I"/>
+		<method name="offsetByCodePoints([CIIII)I"/>
+		<method name="reverseBytes(C)C"/>
+		<method name="toChars(I)[C"/>
+		<method name="toChars(I[CI)I"/>
+		<method name="toCodePoint(CC)I"/>
+		<method name="toLowerCase(C)C"/>
+		<method name="toLowerCase(I)I"/>
+		<method name="toString(C)Ljava/lang/String;"/>
+		<method name="toTitleCase(C)C"/>
+		<method name="toTitleCase(I)I"/>
+		<method name="toUpperCase(C)C"/>
+		<method name="toUpperCase(I)I"/>
+		<method name="valueOf(C)Ljava/lang/Character;"/>
+		<field name="BYTES" since="24"/>
+		<field name="COMBINING_SPACING_MARK"/>
+		<field name="CONNECTOR_PUNCTUATION"/>
+		<field name="CONTROL"/>
+		<field name="CURRENCY_SYMBOL"/>
+		<field name="DASH_PUNCTUATION"/>
+		<field name="DECIMAL_DIGIT_NUMBER"/>
+		<field name="DIRECTIONALITY_ARABIC_NUMBER"/>
+		<field name="DIRECTIONALITY_BOUNDARY_NEUTRAL"/>
+		<field name="DIRECTIONALITY_COMMON_NUMBER_SEPARATOR"/>
+		<field name="DIRECTIONALITY_EUROPEAN_NUMBER"/>
+		<field name="DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR"/>
+		<field name="DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR"/>
+		<field name="DIRECTIONALITY_LEFT_TO_RIGHT"/>
+		<field name="DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING"/>
+		<field name="DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE"/>
+		<field name="DIRECTIONALITY_NONSPACING_MARK"/>
+		<field name="DIRECTIONALITY_OTHER_NEUTRALS"/>
+		<field name="DIRECTIONALITY_PARAGRAPH_SEPARATOR"/>
+		<field name="DIRECTIONALITY_POP_DIRECTIONAL_FORMAT"/>
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT"/>
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC"/>
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING"/>
+		<field name="DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE"/>
+		<field name="DIRECTIONALITY_SEGMENT_SEPARATOR"/>
+		<field name="DIRECTIONALITY_UNDEFINED"/>
+		<field name="DIRECTIONALITY_WHITESPACE"/>
+		<field name="ENCLOSING_MARK"/>
+		<field name="END_PUNCTUATION"/>
+		<field name="FINAL_QUOTE_PUNCTUATION"/>
+		<field name="FORMAT"/>
+		<field name="INITIAL_QUOTE_PUNCTUATION"/>
+		<field name="LETTER_NUMBER"/>
+		<field name="LINE_SEPARATOR"/>
+		<field name="LOWERCASE_LETTER"/>
+		<field name="MATH_SYMBOL"/>
+		<field name="MAX_CODE_POINT"/>
+		<field name="MAX_HIGH_SURROGATE"/>
+		<field name="MAX_LOW_SURROGATE"/>
+		<field name="MAX_RADIX"/>
+		<field name="MAX_SURROGATE"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_CODE_POINT"/>
+		<field name="MIN_HIGH_SURROGATE"/>
+		<field name="MIN_LOW_SURROGATE"/>
+		<field name="MIN_RADIX"/>
+		<field name="MIN_SUPPLEMENTARY_CODE_POINT"/>
+		<field name="MIN_SURROGATE"/>
+		<field name="MIN_VALUE"/>
+		<field name="MODIFIER_LETTER"/>
+		<field name="MODIFIER_SYMBOL"/>
+		<field name="NON_SPACING_MARK"/>
+		<field name="OTHER_LETTER"/>
+		<field name="OTHER_NUMBER"/>
+		<field name="OTHER_PUNCTUATION"/>
+		<field name="OTHER_SYMBOL"/>
+		<field name="PARAGRAPH_SEPARATOR"/>
+		<field name="PRIVATE_USE"/>
+		<field name="SIZE"/>
+		<field name="SPACE_SEPARATOR"/>
+		<field name="START_PUNCTUATION"/>
+		<field name="SURROGATE"/>
+		<field name="TITLECASE_LETTER"/>
+		<field name="TYPE"/>
+		<field name="UNASSIGNED"/>
+		<field name="UPPERCASE_LETTER"/>
+	</class>
+	<class name="java/lang/Character$Subset" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/Character$UnicodeBlock" since="1">
+		<extends name="java/lang/Character$Subset"/>
+		<method name="forName(Ljava/lang/String;)Ljava/lang/Character$UnicodeBlock;"/>
+		<method name="of(C)Ljava/lang/Character$UnicodeBlock;"/>
+		<method name="of(I)Ljava/lang/Character$UnicodeBlock;"/>
+		<field name="AEGEAN_NUMBERS"/>
+		<field name="ALCHEMICAL_SYMBOLS" since="19"/>
+		<field name="ALPHABETIC_PRESENTATION_FORMS"/>
+		<field name="ANCIENT_GREEK_MUSICAL_NOTATION" since="19"/>
+		<field name="ANCIENT_GREEK_NUMBERS" since="19"/>
+		<field name="ANCIENT_SYMBOLS" since="19"/>
+		<field name="ARABIC"/>
+		<field name="ARABIC_EXTENDED_A" since="26"/>
+		<field name="ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS" since="26"/>
+		<field name="ARABIC_PRESENTATION_FORMS_A"/>
+		<field name="ARABIC_PRESENTATION_FORMS_B"/>
+		<field name="ARABIC_SUPPLEMENT" since="19"/>
+		<field name="ARMENIAN"/>
+		<field name="ARROWS"/>
+		<field name="AVESTAN" since="19"/>
+		<field name="BALINESE" since="19"/>
+		<field name="BAMUM" since="19"/>
+		<field name="BAMUM_SUPPLEMENT" since="19"/>
+		<field name="BASIC_LATIN"/>
+		<field name="BATAK" since="19"/>
+		<field name="BENGALI"/>
+		<field name="BLOCK_ELEMENTS"/>
+		<field name="BOPOMOFO"/>
+		<field name="BOPOMOFO_EXTENDED"/>
+		<field name="BOX_DRAWING"/>
+		<field name="BRAHMI" since="19"/>
+		<field name="BRAILLE_PATTERNS"/>
+		<field name="BUGINESE" since="19"/>
+		<field name="BUHID"/>
+		<field name="BYZANTINE_MUSICAL_SYMBOLS"/>
+		<field name="CARIAN" since="19"/>
+		<field name="CHAKMA" since="26"/>
+		<field name="CHAM" since="19"/>
+		<field name="CHEROKEE"/>
+		<field name="CJK_COMPATIBILITY"/>
+		<field name="CJK_COMPATIBILITY_FORMS"/>
+		<field name="CJK_COMPATIBILITY_IDEOGRAPHS"/>
+		<field name="CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT"/>
+		<field name="CJK_RADICALS_SUPPLEMENT"/>
+		<field name="CJK_STROKES" since="19"/>
+		<field name="CJK_SYMBOLS_AND_PUNCTUATION"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C" since="19"/>
+		<field name="CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D" since="19"/>
+		<field name="COMBINING_DIACRITICAL_MARKS"/>
+		<field name="COMBINING_DIACRITICAL_MARKS_SUPPLEMENT" since="19"/>
+		<field name="COMBINING_HALF_MARKS"/>
+		<field name="COMBINING_MARKS_FOR_SYMBOLS"/>
+		<field name="COMMON_INDIC_NUMBER_FORMS" since="19"/>
+		<field name="CONTROL_PICTURES"/>
+		<field name="COPTIC" since="19"/>
+		<field name="COUNTING_ROD_NUMERALS" since="19"/>
+		<field name="CUNEIFORM" since="19"/>
+		<field name="CUNEIFORM_NUMBERS_AND_PUNCTUATION" since="19"/>
+		<field name="CURRENCY_SYMBOLS"/>
+		<field name="CYPRIOT_SYLLABARY"/>
+		<field name="CYRILLIC"/>
+		<field name="CYRILLIC_EXTENDED_A" since="19"/>
+		<field name="CYRILLIC_EXTENDED_B" since="19"/>
+		<field name="CYRILLIC_SUPPLEMENTARY"/>
+		<field name="DESERET"/>
+		<field name="DEVANAGARI"/>
+		<field name="DEVANAGARI_EXTENDED" since="19"/>
+		<field name="DINGBATS"/>
+		<field name="DOMINO_TILES" since="19"/>
+		<field name="EGYPTIAN_HIEROGLYPHS" since="19"/>
+		<field name="EMOTICONS" since="19"/>
+		<field name="ENCLOSED_ALPHANUMERICS"/>
+		<field name="ENCLOSED_ALPHANUMERIC_SUPPLEMENT" since="19"/>
+		<field name="ENCLOSED_CJK_LETTERS_AND_MONTHS"/>
+		<field name="ENCLOSED_IDEOGRAPHIC_SUPPLEMENT" since="19"/>
+		<field name="ETHIOPIC"/>
+		<field name="ETHIOPIC_EXTENDED" since="19"/>
+		<field name="ETHIOPIC_EXTENDED_A" since="19"/>
+		<field name="ETHIOPIC_SUPPLEMENT" since="19"/>
+		<field name="GENERAL_PUNCTUATION"/>
+		<field name="GEOMETRIC_SHAPES"/>
+		<field name="GEORGIAN"/>
+		<field name="GEORGIAN_SUPPLEMENT" since="19"/>
+		<field name="GLAGOLITIC" since="19"/>
+		<field name="GOTHIC"/>
+		<field name="GREEK"/>
+		<field name="GREEK_EXTENDED"/>
+		<field name="GUJARATI"/>
+		<field name="GURMUKHI"/>
+		<field name="HALFWIDTH_AND_FULLWIDTH_FORMS"/>
+		<field name="HANGUL_COMPATIBILITY_JAMO"/>
+		<field name="HANGUL_JAMO"/>
+		<field name="HANGUL_JAMO_EXTENDED_A" since="19"/>
+		<field name="HANGUL_JAMO_EXTENDED_B" since="19"/>
+		<field name="HANGUL_SYLLABLES"/>
+		<field name="HANUNOO"/>
+		<field name="HEBREW"/>
+		<field name="HIGH_PRIVATE_USE_SURROGATES"/>
+		<field name="HIGH_SURROGATES"/>
+		<field name="HIRAGANA"/>
+		<field name="IDEOGRAPHIC_DESCRIPTION_CHARACTERS"/>
+		<field name="IMPERIAL_ARAMAIC" since="19"/>
+		<field name="INSCRIPTIONAL_PAHLAVI" since="19"/>
+		<field name="INSCRIPTIONAL_PARTHIAN" since="19"/>
+		<field name="IPA_EXTENSIONS"/>
+		<field name="JAVANESE" since="19"/>
+		<field name="KAITHI" since="19"/>
+		<field name="KANA_SUPPLEMENT" since="19"/>
+		<field name="KANBUN"/>
+		<field name="KANGXI_RADICALS"/>
+		<field name="KANNADA"/>
+		<field name="KATAKANA"/>
+		<field name="KATAKANA_PHONETIC_EXTENSIONS"/>
+		<field name="KAYAH_LI" since="19"/>
+		<field name="KHAROSHTHI" since="19"/>
+		<field name="KHMER"/>
+		<field name="KHMER_SYMBOLS"/>
+		<field name="LAO"/>
+		<field name="LATIN_1_SUPPLEMENT"/>
+		<field name="LATIN_EXTENDED_A"/>
+		<field name="LATIN_EXTENDED_ADDITIONAL"/>
+		<field name="LATIN_EXTENDED_B"/>
+		<field name="LATIN_EXTENDED_C" since="19"/>
+		<field name="LATIN_EXTENDED_D" since="19"/>
+		<field name="LEPCHA" since="19"/>
+		<field name="LETTERLIKE_SYMBOLS"/>
+		<field name="LIMBU"/>
+		<field name="LINEAR_B_IDEOGRAMS"/>
+		<field name="LINEAR_B_SYLLABARY"/>
+		<field name="LISU" since="19"/>
+		<field name="LOW_SURROGATES"/>
+		<field name="LYCIAN" since="19"/>
+		<field name="LYDIAN" since="19"/>
+		<field name="MAHJONG_TILES" since="19"/>
+		<field name="MALAYALAM"/>
+		<field name="MANDAIC" since="19"/>
+		<field name="MATHEMATICAL_ALPHANUMERIC_SYMBOLS"/>
+		<field name="MATHEMATICAL_OPERATORS"/>
+		<field name="MEETEI_MAYEK" since="19"/>
+		<field name="MEETEI_MAYEK_EXTENSIONS" since="26"/>
+		<field name="MEROITIC_CURSIVE" since="26"/>
+		<field name="MEROITIC_HIEROGLYPHS" since="26"/>
+		<field name="MIAO" since="26"/>
+		<field name="MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A"/>
+		<field name="MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B"/>
+		<field name="MISCELLANEOUS_SYMBOLS"/>
+		<field name="MISCELLANEOUS_SYMBOLS_AND_ARROWS"/>
+		<field name="MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS" since="19"/>
+		<field name="MISCELLANEOUS_TECHNICAL"/>
+		<field name="MODIFIER_TONE_LETTERS" since="19"/>
+		<field name="MONGOLIAN"/>
+		<field name="MUSICAL_SYMBOLS"/>
+		<field name="MYANMAR"/>
+		<field name="MYANMAR_EXTENDED_A" since="19"/>
+		<field name="NEW_TAI_LUE" since="19"/>
+		<field name="NKO" since="19"/>
+		<field name="NUMBER_FORMS"/>
+		<field name="OGHAM"/>
+		<field name="OLD_ITALIC"/>
+		<field name="OLD_PERSIAN" since="19"/>
+		<field name="OLD_SOUTH_ARABIAN" since="19"/>
+		<field name="OLD_TURKIC" since="19"/>
+		<field name="OL_CHIKI" since="19"/>
+		<field name="OPTICAL_CHARACTER_RECOGNITION"/>
+		<field name="ORIYA"/>
+		<field name="OSMANYA"/>
+		<field name="PHAGS_PA" since="19"/>
+		<field name="PHAISTOS_DISC" since="19"/>
+		<field name="PHOENICIAN" since="19"/>
+		<field name="PHONETIC_EXTENSIONS"/>
+		<field name="PHONETIC_EXTENSIONS_SUPPLEMENT" since="19"/>
+		<field name="PLAYING_CARDS" since="19"/>
+		<field name="PRIVATE_USE_AREA"/>
+		<field name="REJANG" since="19"/>
+		<field name="RUMI_NUMERAL_SYMBOLS" since="19"/>
+		<field name="RUNIC"/>
+		<field name="SAMARITAN" since="19"/>
+		<field name="SAURASHTRA" since="19"/>
+		<field name="SHARADA" since="26"/>
+		<field name="SHAVIAN"/>
+		<field name="SINHALA"/>
+		<field name="SMALL_FORM_VARIANTS"/>
+		<field name="SORA_SOMPENG" since="26"/>
+		<field name="SPACING_MODIFIER_LETTERS"/>
+		<field name="SPECIALS"/>
+		<field name="SUNDANESE" since="19"/>
+		<field name="SUNDANESE_SUPPLEMENT" since="26"/>
+		<field name="SUPERSCRIPTS_AND_SUBSCRIPTS"/>
+		<field name="SUPPLEMENTAL_ARROWS_A"/>
+		<field name="SUPPLEMENTAL_ARROWS_B"/>
+		<field name="SUPPLEMENTAL_MATHEMATICAL_OPERATORS"/>
+		<field name="SUPPLEMENTAL_PUNCTUATION" since="19"/>
+		<field name="SUPPLEMENTARY_PRIVATE_USE_AREA_A"/>
+		<field name="SUPPLEMENTARY_PRIVATE_USE_AREA_B"/>
+		<field name="SURROGATES_AREA" deprecated="15"/>
+		<field name="SYLOTI_NAGRI" since="19"/>
+		<field name="SYRIAC"/>
+		<field name="TAGALOG"/>
+		<field name="TAGBANWA"/>
+		<field name="TAGS"/>
+		<field name="TAI_LE"/>
+		<field name="TAI_THAM" since="19"/>
+		<field name="TAI_VIET" since="19"/>
+		<field name="TAI_XUAN_JING_SYMBOLS"/>
+		<field name="TAKRI" since="26"/>
+		<field name="TAMIL"/>
+		<field name="TELUGU"/>
+		<field name="THAANA"/>
+		<field name="THAI"/>
+		<field name="TIBETAN"/>
+		<field name="TIFINAGH" since="19"/>
+		<field name="TRANSPORT_AND_MAP_SYMBOLS" since="19"/>
+		<field name="UGARITIC"/>
+		<field name="UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS"/>
+		<field name="UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED" since="19"/>
+		<field name="VAI" since="19"/>
+		<field name="VARIATION_SELECTORS"/>
+		<field name="VARIATION_SELECTORS_SUPPLEMENT"/>
+		<field name="VEDIC_EXTENSIONS" since="19"/>
+		<field name="VERTICAL_FORMS" since="19"/>
+		<field name="YIJING_HEXAGRAM_SYMBOLS"/>
+		<field name="YI_RADICALS"/>
+		<field name="YI_SYLLABLES"/>
+	</class>
+	<class name="java/lang/Character$UnicodeScript" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="forName(Ljava/lang/String;)Ljava/lang/Character$UnicodeScript;"/>
+		<method name="of(I)Ljava/lang/Character$UnicodeScript;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Character$UnicodeScript;"/>
+		<method name="values()[Ljava/lang/Character$UnicodeScript;"/>
+		<field name="ARABIC"/>
+		<field name="ARMENIAN"/>
+		<field name="AVESTAN"/>
+		<field name="BALINESE"/>
+		<field name="BAMUM"/>
+		<field name="BATAK"/>
+		<field name="BENGALI"/>
+		<field name="BOPOMOFO"/>
+		<field name="BRAHMI"/>
+		<field name="BRAILLE"/>
+		<field name="BUGINESE"/>
+		<field name="BUHID"/>
+		<field name="CANADIAN_ABORIGINAL"/>
+		<field name="CARIAN"/>
+		<field name="CHAKMA" since="26"/>
+		<field name="CHAM"/>
+		<field name="CHEROKEE"/>
+		<field name="COMMON"/>
+		<field name="COPTIC"/>
+		<field name="CUNEIFORM"/>
+		<field name="CYPRIOT"/>
+		<field name="CYRILLIC"/>
+		<field name="DESERET"/>
+		<field name="DEVANAGARI"/>
+		<field name="EGYPTIAN_HIEROGLYPHS"/>
+		<field name="ETHIOPIC"/>
+		<field name="GEORGIAN"/>
+		<field name="GLAGOLITIC"/>
+		<field name="GOTHIC"/>
+		<field name="GREEK"/>
+		<field name="GUJARATI"/>
+		<field name="GURMUKHI"/>
+		<field name="HAN"/>
+		<field name="HANGUL"/>
+		<field name="HANUNOO"/>
+		<field name="HEBREW"/>
+		<field name="HIRAGANA"/>
+		<field name="IMPERIAL_ARAMAIC"/>
+		<field name="INHERITED"/>
+		<field name="INSCRIPTIONAL_PAHLAVI"/>
+		<field name="INSCRIPTIONAL_PARTHIAN"/>
+		<field name="JAVANESE"/>
+		<field name="KAITHI"/>
+		<field name="KANNADA"/>
+		<field name="KATAKANA"/>
+		<field name="KAYAH_LI"/>
+		<field name="KHAROSHTHI"/>
+		<field name="KHMER"/>
+		<field name="LAO"/>
+		<field name="LATIN"/>
+		<field name="LEPCHA"/>
+		<field name="LIMBU"/>
+		<field name="LINEAR_B"/>
+		<field name="LISU"/>
+		<field name="LYCIAN"/>
+		<field name="LYDIAN"/>
+		<field name="MALAYALAM"/>
+		<field name="MANDAIC"/>
+		<field name="MEETEI_MAYEK"/>
+		<field name="MEROITIC_CURSIVE" since="26"/>
+		<field name="MEROITIC_HIEROGLYPHS" since="26"/>
+		<field name="MIAO" since="26"/>
+		<field name="MONGOLIAN"/>
+		<field name="MYANMAR"/>
+		<field name="NEW_TAI_LUE"/>
+		<field name="NKO"/>
+		<field name="OGHAM"/>
+		<field name="OLD_ITALIC"/>
+		<field name="OLD_PERSIAN"/>
+		<field name="OLD_SOUTH_ARABIAN"/>
+		<field name="OLD_TURKIC"/>
+		<field name="OL_CHIKI"/>
+		<field name="ORIYA"/>
+		<field name="OSMANYA"/>
+		<field name="PHAGS_PA"/>
+		<field name="PHOENICIAN"/>
+		<field name="REJANG"/>
+		<field name="RUNIC"/>
+		<field name="SAMARITAN"/>
+		<field name="SAURASHTRA"/>
+		<field name="SHARADA" since="26"/>
+		<field name="SHAVIAN"/>
+		<field name="SINHALA"/>
+		<field name="SORA_SOMPENG" since="26"/>
+		<field name="SUNDANESE"/>
+		<field name="SYLOTI_NAGRI"/>
+		<field name="SYRIAC"/>
+		<field name="TAGALOG"/>
+		<field name="TAGBANWA"/>
+		<field name="TAI_LE"/>
+		<field name="TAI_THAM"/>
+		<field name="TAI_VIET"/>
+		<field name="TAKRI" since="26"/>
+		<field name="TAMIL"/>
+		<field name="TELUGU"/>
+		<field name="THAANA"/>
+		<field name="THAI"/>
+		<field name="TIBETAN"/>
+		<field name="TIFINAGH"/>
+		<field name="UGARITIC"/>
+		<field name="UNKNOWN"/>
+		<field name="VAI"/>
+		<field name="YI"/>
+	</class>
+	<class name="java/lang/Class" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/reflect/AnnotatedElement"/>
+		<implements name="java/lang/reflect/GenericDeclaration"/>
+		<implements name="java/lang/reflect/Type"/>
+		<method name="asSubclass(Ljava/lang/Class;)Ljava/lang/Class;"/>
+		<method name="cast(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="desiredAssertionStatus()Z"/>
+		<method name="forName(Ljava/lang/String;)Ljava/lang/Class;"/>
+		<method name="forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;"/>
+		<method name="getCanonicalName()Ljava/lang/String;"/>
+		<method name="getClassLoader()Ljava/lang/ClassLoader;"/>
+		<method name="getClasses()[Ljava/lang/Class;"/>
+		<method name="getComponentType()Ljava/lang/Class;"/>
+		<method name="getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;"/>
+		<method name="getConstructors()[Ljava/lang/reflect/Constructor;"/>
+		<method name="getDeclaredClasses()[Ljava/lang/Class;"/>
+		<method name="getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;"/>
+		<method name="getDeclaredConstructors()[Ljava/lang/reflect/Constructor;"/>
+		<method name="getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;"/>
+		<method name="getDeclaredFields()[Ljava/lang/reflect/Field;"/>
+		<method name="getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;"/>
+		<method name="getDeclaredMethods()[Ljava/lang/reflect/Method;"/>
+		<method name="getDeclaringClass()Ljava/lang/Class;"/>
+		<method name="getEnclosingClass()Ljava/lang/Class;"/>
+		<method name="getEnclosingConstructor()Ljava/lang/reflect/Constructor;"/>
+		<method name="getEnclosingMethod()Ljava/lang/reflect/Method;"/>
+		<method name="getEnumConstants()[Ljava/lang/Object;"/>
+		<method name="getField(Ljava/lang/String;)Ljava/lang/reflect/Field;"/>
+		<method name="getFields()[Ljava/lang/reflect/Field;"/>
+		<method name="getGenericInterfaces()[Ljava/lang/reflect/Type;"/>
+		<method name="getGenericSuperclass()Ljava/lang/reflect/Type;"/>
+		<method name="getInterfaces()[Ljava/lang/Class;"/>
+		<method name="getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;"/>
+		<method name="getMethods()[Ljava/lang/reflect/Method;"/>
+		<method name="getModifiers()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPackage()Ljava/lang/Package;"/>
+		<method name="getPackageName()Ljava/lang/String;" since="31"/>
+		<method name="getProtectionDomain()Ljava/security/ProtectionDomain;"/>
+		<method name="getResource(Ljava/lang/String;)Ljava/net/URL;"/>
+		<method name="getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;"/>
+		<method name="getSigners()[Ljava/lang/Object;"/>
+		<method name="getSimpleName()Ljava/lang/String;"/>
+		<method name="getSuperclass()Ljava/lang/Class;"/>
+		<method name="getTypeName()Ljava/lang/String;" since="26"/>
+		<method name="isAnnotation()Z"/>
+		<method name="isAnonymousClass()Z"/>
+		<method name="isArray()Z"/>
+		<method name="isAssignableFrom(Ljava/lang/Class;)Z"/>
+		<method name="isEnum()Z"/>
+		<method name="isInstance(Ljava/lang/Object;)Z"/>
+		<method name="isInterface()Z"/>
+		<method name="isLocalClass()Z"/>
+		<method name="isMemberClass()Z"/>
+		<method name="isPrimitive()Z"/>
+		<method name="isSynthetic()Z"/>
+		<method name="newInstance()Ljava/lang/Object;"/>
+		<method name="toGenericString()Ljava/lang/String;" since="26"/>
+	</class>
+	<class name="java/lang/ClassCastException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/ClassCircularityError" since="1">
+		<extends name="java/lang/LinkageError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/ClassFormatError" since="1">
+		<extends name="java/lang/LinkageError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/ClassLoader" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/ClassLoader;)V"/>
+		<method name="clearAssertionStatus()V"/>
+		<method name="defineClass(Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/ProtectionDomain;)Ljava/lang/Class;"/>
+		<method name="defineClass(Ljava/lang/String;[BII)Ljava/lang/Class;"/>
+		<method name="defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;"/>
+		<method name="defineClass([BII)Ljava/lang/Class;" deprecated="15"/>
+		<method name="definePackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)Ljava/lang/Package;"/>
+		<method name="findClass(Ljava/lang/String;)Ljava/lang/Class;"/>
+		<method name="findLibrary(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="findLoadedClass(Ljava/lang/String;)Ljava/lang/Class;"/>
+		<method name="findResource(Ljava/lang/String;)Ljava/net/URL;"/>
+		<method name="findResources(Ljava/lang/String;)Ljava/util/Enumeration;"/>
+		<method name="findSystemClass(Ljava/lang/String;)Ljava/lang/Class;"/>
+		<method name="getPackage(Ljava/lang/String;)Ljava/lang/Package;"/>
+		<method name="getPackages()[Ljava/lang/Package;"/>
+		<method name="getParent()Ljava/lang/ClassLoader;"/>
+		<method name="getResource(Ljava/lang/String;)Ljava/net/URL;"/>
+		<method name="getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;"/>
+		<method name="getResources(Ljava/lang/String;)Ljava/util/Enumeration;"/>
+		<method name="getSystemClassLoader()Ljava/lang/ClassLoader;"/>
+		<method name="getSystemResource(Ljava/lang/String;)Ljava/net/URL;"/>
+		<method name="getSystemResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;"/>
+		<method name="getSystemResources(Ljava/lang/String;)Ljava/util/Enumeration;"/>
+		<method name="loadClass(Ljava/lang/String;)Ljava/lang/Class;"/>
+		<method name="loadClass(Ljava/lang/String;Z)Ljava/lang/Class;"/>
+		<method name="registerAsParallelCapable()Z" since="24"/>
+		<method name="resolveClass(Ljava/lang/Class;)V"/>
+		<method name="setClassAssertionStatus(Ljava/lang/String;Z)V"/>
+		<method name="setDefaultAssertionStatus(Z)V"/>
+		<method name="setPackageAssertionStatus(Ljava/lang/String;Z)V"/>
+		<method name="setSigners(Ljava/lang/Class;[Ljava/lang/Object;)V"/>
+	</class>
+	<class name="java/lang/ClassNotFoundException" since="1">
+		<extends name="java/lang/Exception" removed="19"/>
+		<extends name="java/lang/ReflectiveOperationException" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="getException()Ljava/lang/Throwable;"/>
+	</class>
+	<class name="java/lang/CloneNotSupportedException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/Cloneable" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/lang/Comparable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="compareTo(Ljava/lang/Object;)I"/>
+	</class>
+	<class name="java/lang/Compiler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="command(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="compileClass(Ljava/lang/Class;)Z"/>
+		<method name="compileClasses(Ljava/lang/String;)Z"/>
+		<method name="disable()V"/>
+		<method name="enable()V"/>
+	</class>
+	<class name="java/lang/Deprecated" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="forRemoval()Z" since="31"/>
+		<method name="since()Ljava/lang/String;" since="31"/>
+	</class>
+	<class name="java/lang/Double" since="1">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(D)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="compare(DD)I"/>
+		<method name="compareTo(Ljava/lang/Double;)I"/>
+		<method name="doubleToLongBits(D)J"/>
+		<method name="doubleToRawLongBits(D)J"/>
+		<method name="hashCode(D)I" since="24"/>
+		<method name="isFinite(D)Z" since="24"/>
+		<method name="isInfinite()Z"/>
+		<method name="isInfinite(D)Z"/>
+		<method name="isNaN()Z"/>
+		<method name="isNaN(D)Z"/>
+		<method name="longBitsToDouble(J)D"/>
+		<method name="max(DD)D" since="24"/>
+		<method name="min(DD)D" since="24"/>
+		<method name="parseDouble(Ljava/lang/String;)D"/>
+		<method name="sum(DD)D" since="24"/>
+		<method name="toHexString(D)Ljava/lang/String;"/>
+		<method name="toString(D)Ljava/lang/String;"/>
+		<method name="valueOf(D)Ljava/lang/Double;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Double;"/>
+		<field name="BYTES" since="24"/>
+		<field name="MAX_EXPONENT" since="9"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_EXPONENT" since="9"/>
+		<field name="MIN_NORMAL" since="9"/>
+		<field name="MIN_VALUE"/>
+		<field name="NEGATIVE_INFINITY"/>
+		<field name="NaN"/>
+		<field name="POSITIVE_INFINITY"/>
+		<field name="SIZE"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="java/lang/Enum" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="compareTo(Ljava/lang/Enum;)I"/>
+		<method name="getDeclaringClass()Ljava/lang/Class;"/>
+		<method name="name()Ljava/lang/String;"/>
+		<method name="ordinal()I"/>
+		<method name="valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;"/>
+	</class>
+	<class name="java/lang/EnumConstantNotPresentException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/Class;Ljava/lang/String;)V"/>
+		<method name="constantName()Ljava/lang/String;"/>
+		<method name="enumType()Ljava/lang/Class;"/>
+	</class>
+	<class name="java/lang/Error" since="1">
+		<extends name="java/lang/Throwable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V" since="24"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/Exception" since="1">
+		<extends name="java/lang/Throwable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V" since="24"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/ExceptionInInitializerError" since="1">
+		<extends name="java/lang/LinkageError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+		<method name="getException()Ljava/lang/Throwable;"/>
+	</class>
+	<class name="java/lang/Float" since="1">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(D)V"/>
+		<method name="&lt;init>(F)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="compare(FF)I"/>
+		<method name="compareTo(Ljava/lang/Float;)I"/>
+		<method name="floatToIntBits(F)I"/>
+		<method name="floatToRawIntBits(F)I"/>
+		<method name="hashCode(F)I" since="24"/>
+		<method name="intBitsToFloat(I)F"/>
+		<method name="isFinite(F)Z" since="24"/>
+		<method name="isInfinite()Z"/>
+		<method name="isInfinite(F)Z"/>
+		<method name="isNaN()Z"/>
+		<method name="isNaN(F)Z"/>
+		<method name="max(FF)F" since="24"/>
+		<method name="min(FF)F" since="24"/>
+		<method name="parseFloat(Ljava/lang/String;)F"/>
+		<method name="sum(FF)F" since="24"/>
+		<method name="toHexString(F)Ljava/lang/String;"/>
+		<method name="toString(F)Ljava/lang/String;"/>
+		<method name="valueOf(F)Ljava/lang/Float;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Float;"/>
+		<field name="BYTES" since="24"/>
+		<field name="MAX_EXPONENT" since="9"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_EXPONENT" since="9"/>
+		<field name="MIN_NORMAL" since="9"/>
+		<field name="MIN_VALUE"/>
+		<field name="NEGATIVE_INFINITY"/>
+		<field name="NaN"/>
+		<field name="POSITIVE_INFINITY"/>
+		<field name="SIZE"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="java/lang/FunctionalInterface" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="java/lang/IllegalAccessError" since="1">
+		<extends name="java/lang/IncompatibleClassChangeError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/IllegalAccessException" since="1">
+		<extends name="java/lang/Exception" removed="19"/>
+		<extends name="java/lang/ReflectiveOperationException" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/IllegalArgumentException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/IllegalMonitorStateException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/IllegalStateException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/IllegalThreadStateException" since="1">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/IncompatibleClassChangeError" since="1">
+		<extends name="java/lang/LinkageError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/IndexOutOfBoundsException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/InheritableThreadLocal" since="1">
+		<extends name="java/lang/ThreadLocal"/>
+		<method name="&lt;init>()V"/>
+		<method name="childValue(Ljava/lang/Object;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/lang/InstantiationError" since="1">
+		<extends name="java/lang/IncompatibleClassChangeError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/InstantiationException" since="1">
+		<extends name="java/lang/Exception" removed="19"/>
+		<extends name="java/lang/ReflectiveOperationException" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/Integer" since="1">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="bitCount(I)I"/>
+		<method name="compare(II)I" since="19"/>
+		<method name="compareTo(Ljava/lang/Integer;)I"/>
+		<method name="compareUnsigned(II)I" since="26"/>
+		<method name="decode(Ljava/lang/String;)Ljava/lang/Integer;"/>
+		<method name="divideUnsigned(II)I" since="26"/>
+		<method name="getInteger(Ljava/lang/String;)Ljava/lang/Integer;"/>
+		<method name="getInteger(Ljava/lang/String;I)Ljava/lang/Integer;"/>
+		<method name="getInteger(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;"/>
+		<method name="hashCode(I)I" since="24"/>
+		<method name="highestOneBit(I)I"/>
+		<method name="lowestOneBit(I)I"/>
+		<method name="max(II)I" since="24"/>
+		<method name="min(II)I" since="24"/>
+		<method name="numberOfLeadingZeros(I)I"/>
+		<method name="numberOfTrailingZeros(I)I"/>
+		<method name="parseInt(Ljava/lang/String;)I"/>
+		<method name="parseInt(Ljava/lang/String;I)I"/>
+		<method name="parseUnsignedInt(Ljava/lang/String;)I" since="26"/>
+		<method name="parseUnsignedInt(Ljava/lang/String;I)I" since="26"/>
+		<method name="remainderUnsigned(II)I" since="26"/>
+		<method name="reverse(I)I"/>
+		<method name="reverseBytes(I)I"/>
+		<method name="rotateLeft(II)I"/>
+		<method name="rotateRight(II)I"/>
+		<method name="signum(I)I"/>
+		<method name="sum(II)I" since="24"/>
+		<method name="toBinaryString(I)Ljava/lang/String;"/>
+		<method name="toHexString(I)Ljava/lang/String;"/>
+		<method name="toOctalString(I)Ljava/lang/String;"/>
+		<method name="toString(I)Ljava/lang/String;"/>
+		<method name="toString(II)Ljava/lang/String;"/>
+		<method name="toUnsignedLong(I)J" since="26"/>
+		<method name="toUnsignedString(I)Ljava/lang/String;" since="26"/>
+		<method name="toUnsignedString(II)Ljava/lang/String;" since="26"/>
+		<method name="valueOf(I)Ljava/lang/Integer;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Integer;"/>
+		<method name="valueOf(Ljava/lang/String;I)Ljava/lang/Integer;"/>
+		<field name="BYTES" since="24"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_VALUE"/>
+		<field name="SIZE"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="java/lang/InternalError" since="1">
+		<extends name="java/lang/VirtualMachineError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="24"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V" since="24"/>
+	</class>
+	<class name="java/lang/InterruptedException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/Iterable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="forEach(Ljava/util/function/Consumer;)V" since="24"/>
+		<method name="iterator()Ljava/util/Iterator;"/>
+		<method name="spliterator()Ljava/util/Spliterator;" since="24"/>
+	</class>
+	<class name="java/lang/LinkageError" since="1">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="19"/>
+	</class>
+	<class name="java/lang/Long" since="1">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="bitCount(J)I"/>
+		<method name="compare(JJ)I" since="19"/>
+		<method name="compareTo(Ljava/lang/Long;)I"/>
+		<method name="compareUnsigned(JJ)I" since="26"/>
+		<method name="decode(Ljava/lang/String;)Ljava/lang/Long;"/>
+		<method name="divideUnsigned(JJ)J" since="26"/>
+		<method name="getLong(Ljava/lang/String;)Ljava/lang/Long;"/>
+		<method name="getLong(Ljava/lang/String;J)Ljava/lang/Long;"/>
+		<method name="getLong(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;"/>
+		<method name="hashCode(J)I" since="24"/>
+		<method name="highestOneBit(J)J"/>
+		<method name="lowestOneBit(J)J"/>
+		<method name="max(JJ)J" since="24"/>
+		<method name="min(JJ)J" since="24"/>
+		<method name="numberOfLeadingZeros(J)I"/>
+		<method name="numberOfTrailingZeros(J)I"/>
+		<method name="parseLong(Ljava/lang/String;)J"/>
+		<method name="parseLong(Ljava/lang/String;I)J"/>
+		<method name="parseUnsignedLong(Ljava/lang/String;)J" since="26"/>
+		<method name="parseUnsignedLong(Ljava/lang/String;I)J" since="26"/>
+		<method name="remainderUnsigned(JJ)J" since="26"/>
+		<method name="reverse(J)J"/>
+		<method name="reverseBytes(J)J"/>
+		<method name="rotateLeft(JI)J"/>
+		<method name="rotateRight(JI)J"/>
+		<method name="signum(J)I"/>
+		<method name="sum(JJ)J" since="24"/>
+		<method name="toBinaryString(J)Ljava/lang/String;"/>
+		<method name="toHexString(J)Ljava/lang/String;"/>
+		<method name="toOctalString(J)Ljava/lang/String;"/>
+		<method name="toString(J)Ljava/lang/String;"/>
+		<method name="toString(JI)Ljava/lang/String;"/>
+		<method name="toUnsignedString(J)Ljava/lang/String;" since="26"/>
+		<method name="toUnsignedString(JI)Ljava/lang/String;" since="26"/>
+		<method name="valueOf(J)Ljava/lang/Long;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Long;"/>
+		<method name="valueOf(Ljava/lang/String;I)Ljava/lang/Long;"/>
+		<field name="BYTES" since="24"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_VALUE"/>
+		<field name="SIZE"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="java/lang/Math" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="IEEEremainder(DD)D"/>
+		<method name="abs(D)D"/>
+		<method name="abs(F)F"/>
+		<method name="abs(I)I"/>
+		<method name="abs(J)J"/>
+		<method name="acos(D)D"/>
+		<method name="addExact(II)I" since="24"/>
+		<method name="addExact(JJ)J" since="24"/>
+		<method name="asin(D)D"/>
+		<method name="atan(D)D"/>
+		<method name="atan2(DD)D"/>
+		<method name="cbrt(D)D"/>
+		<method name="ceil(D)D"/>
+		<method name="copySign(DD)D" since="9"/>
+		<method name="copySign(FF)F" since="9"/>
+		<method name="cos(D)D"/>
+		<method name="cosh(D)D"/>
+		<method name="decrementExact(I)I" since="24"/>
+		<method name="decrementExact(J)J" since="24"/>
+		<method name="exp(D)D"/>
+		<method name="expm1(D)D"/>
+		<method name="floor(D)D"/>
+		<method name="floorDiv(II)I" since="24"/>
+		<method name="floorDiv(JI)J" since="31"/>
+		<method name="floorDiv(JJ)J" since="24"/>
+		<method name="floorMod(II)I" since="24"/>
+		<method name="floorMod(JI)I" since="31"/>
+		<method name="floorMod(JJ)J" since="24"/>
+		<method name="getExponent(D)I" since="9"/>
+		<method name="getExponent(F)I" since="9"/>
+		<method name="hypot(DD)D"/>
+		<method name="incrementExact(I)I" since="24"/>
+		<method name="incrementExact(J)J" since="24"/>
+		<method name="log(D)D"/>
+		<method name="log10(D)D"/>
+		<method name="log1p(D)D"/>
+		<method name="max(DD)D"/>
+		<method name="max(FF)F"/>
+		<method name="max(II)I"/>
+		<method name="max(JJ)J"/>
+		<method name="min(DD)D"/>
+		<method name="min(FF)F"/>
+		<method name="min(II)I"/>
+		<method name="min(JJ)J"/>
+		<method name="multiplyExact(II)I" since="24"/>
+		<method name="multiplyExact(JI)J" since="31"/>
+		<method name="multiplyExact(JJ)J" since="24"/>
+		<method name="multiplyFull(II)J" since="31"/>
+		<method name="multiplyHigh(JJ)J" since="31"/>
+		<method name="negateExact(I)I" since="24"/>
+		<method name="negateExact(J)J" since="24"/>
+		<method name="nextAfter(DD)D" since="9"/>
+		<method name="nextAfter(FD)F" since="9"/>
+		<method name="nextDown(D)D" since="24"/>
+		<method name="nextDown(F)F" since="24"/>
+		<method name="nextUp(D)D" since="9"/>
+		<method name="nextUp(F)F" since="9"/>
+		<method name="pow(DD)D"/>
+		<method name="random()D"/>
+		<method name="rint(D)D"/>
+		<method name="round(D)J"/>
+		<method name="round(F)I"/>
+		<method name="scalb(DI)D" since="9"/>
+		<method name="scalb(FI)F" since="9"/>
+		<method name="signum(D)D"/>
+		<method name="signum(F)F"/>
+		<method name="sin(D)D"/>
+		<method name="sinh(D)D"/>
+		<method name="sqrt(D)D"/>
+		<method name="subtractExact(II)I" since="24"/>
+		<method name="subtractExact(JJ)J" since="24"/>
+		<method name="tan(D)D"/>
+		<method name="tanh(D)D"/>
+		<method name="toDegrees(D)D"/>
+		<method name="toIntExact(J)I" since="24"/>
+		<method name="toRadians(D)D"/>
+		<method name="ulp(D)D"/>
+		<method name="ulp(F)F"/>
+		<field name="E"/>
+		<field name="PI"/>
+	</class>
+	<class name="java/lang/NegativeArraySizeException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/NoClassDefFoundError" since="1">
+		<extends name="java/lang/LinkageError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/NoSuchFieldError" since="1">
+		<extends name="java/lang/IncompatibleClassChangeError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/NoSuchFieldException" since="1">
+		<extends name="java/lang/Exception" removed="19"/>
+		<extends name="java/lang/ReflectiveOperationException" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/NoSuchMethodError" since="1">
+		<extends name="java/lang/IncompatibleClassChangeError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/NoSuchMethodException" since="1">
+		<extends name="java/lang/Exception" removed="19"/>
+		<extends name="java/lang/ReflectiveOperationException" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/NullPointerException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/Number" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="byteValue()B"/>
+		<method name="doubleValue()D"/>
+		<method name="floatValue()F"/>
+		<method name="intValue()I"/>
+		<method name="longValue()J"/>
+		<method name="shortValue()S"/>
+	</class>
+	<class name="java/lang/NumberFormatException" since="1">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/Object" since="1">
+		<method name="&lt;init>()V"/>
+		<method name="clone()Ljava/lang/Object;"/>
+		<method name="equals(Ljava/lang/Object;)Z"/>
+		<method name="finalize()V"/>
+		<method name="getClass()Ljava/lang/Class;"/>
+		<method name="hashCode()I"/>
+		<method name="notify()V"/>
+		<method name="notifyAll()V"/>
+		<method name="toString()Ljava/lang/String;"/>
+		<method name="wait()V"/>
+		<method name="wait(J)V"/>
+		<method name="wait(JI)V"/>
+	</class>
+	<class name="java/lang/OutOfMemoryError" since="1">
+		<extends name="java/lang/VirtualMachineError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/Override" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="java/lang/Package" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/reflect/AnnotatedElement"/>
+		<method name="getImplementationTitle()Ljava/lang/String;"/>
+		<method name="getImplementationVendor()Ljava/lang/String;"/>
+		<method name="getImplementationVersion()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPackage(Ljava/lang/String;)Ljava/lang/Package;"/>
+		<method name="getPackages()[Ljava/lang/Package;"/>
+		<method name="getSpecificationTitle()Ljava/lang/String;"/>
+		<method name="getSpecificationVendor()Ljava/lang/String;"/>
+		<method name="getSpecificationVersion()Ljava/lang/String;"/>
+		<method name="isCompatibleWith(Ljava/lang/String;)Z"/>
+		<method name="isSealed()Z"/>
+		<method name="isSealed(Ljava/net/URL;)Z"/>
+	</class>
+	<class name="java/lang/Process" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="destroy()V"/>
+		<method name="destroyForcibly()Ljava/lang/Process;" since="26"/>
+		<method name="exitValue()I"/>
+		<method name="getErrorStream()Ljava/io/InputStream;"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getOutputStream()Ljava/io/OutputStream;"/>
+		<method name="isAlive()Z" since="26"/>
+		<method name="waitFor()I"/>
+		<method name="waitFor(JLjava/util/concurrent/TimeUnit;)Z" since="26"/>
+	</class>
+	<class name="java/lang/ProcessBuilder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/util/List;)V"/>
+		<method name="&lt;init>([Ljava/lang/String;)V"/>
+		<method name="command()Ljava/util/List;"/>
+		<method name="command(Ljava/util/List;)Ljava/lang/ProcessBuilder;"/>
+		<method name="command([Ljava/lang/String;)Ljava/lang/ProcessBuilder;"/>
+		<method name="directory()Ljava/io/File;"/>
+		<method name="directory(Ljava/io/File;)Ljava/lang/ProcessBuilder;"/>
+		<method name="environment()Ljava/util/Map;"/>
+		<method name="inheritIO()Ljava/lang/ProcessBuilder;" since="26"/>
+		<method name="redirectError()Ljava/lang/ProcessBuilder$Redirect;" since="26"/>
+		<method name="redirectError(Ljava/io/File;)Ljava/lang/ProcessBuilder;" since="26"/>
+		<method name="redirectError(Ljava/lang/ProcessBuilder$Redirect;)Ljava/lang/ProcessBuilder;" since="26"/>
+		<method name="redirectErrorStream()Z"/>
+		<method name="redirectErrorStream(Z)Ljava/lang/ProcessBuilder;"/>
+		<method name="redirectInput()Ljava/lang/ProcessBuilder$Redirect;" since="26"/>
+		<method name="redirectInput(Ljava/io/File;)Ljava/lang/ProcessBuilder;" since="26"/>
+		<method name="redirectInput(Ljava/lang/ProcessBuilder$Redirect;)Ljava/lang/ProcessBuilder;" since="26"/>
+		<method name="redirectOutput()Ljava/lang/ProcessBuilder$Redirect;" since="26"/>
+		<method name="redirectOutput(Ljava/io/File;)Ljava/lang/ProcessBuilder;" since="26"/>
+		<method name="redirectOutput(Ljava/lang/ProcessBuilder$Redirect;)Ljava/lang/ProcessBuilder;" since="26"/>
+		<method name="start()Ljava/lang/Process;"/>
+	</class>
+	<class name="java/lang/ProcessBuilder$Redirect" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="appendTo(Ljava/io/File;)Ljava/lang/ProcessBuilder$Redirect;"/>
+		<method name="file()Ljava/io/File;"/>
+		<method name="from(Ljava/io/File;)Ljava/lang/ProcessBuilder$Redirect;"/>
+		<method name="to(Ljava/io/File;)Ljava/lang/ProcessBuilder$Redirect;"/>
+		<method name="type()Ljava/lang/ProcessBuilder$Redirect$Type;"/>
+		<field name="INHERIT"/>
+		<field name="PIPE"/>
+	</class>
+	<class name="java/lang/ProcessBuilder$Redirect$Type" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/ProcessBuilder$Redirect$Type;"/>
+		<method name="values()[Ljava/lang/ProcessBuilder$Redirect$Type;"/>
+		<field name="APPEND"/>
+		<field name="INHERIT"/>
+		<field name="PIPE"/>
+		<field name="READ"/>
+		<field name="WRITE"/>
+	</class>
+	<class name="java/lang/Readable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="read(Ljava/nio/CharBuffer;)I"/>
+	</class>
+	<class name="java/lang/ReflectiveOperationException" since="19">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/Runnable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="run()V"/>
+	</class>
+	<class name="java/lang/Runtime" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addShutdownHook(Ljava/lang/Thread;)V"/>
+		<method name="availableProcessors()I"/>
+		<method name="exec(Ljava/lang/String;)Ljava/lang/Process;"/>
+		<method name="exec(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process;"/>
+		<method name="exec(Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;"/>
+		<method name="exec([Ljava/lang/String;)Ljava/lang/Process;"/>
+		<method name="exec([Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Process;"/>
+		<method name="exec([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;"/>
+		<method name="exit(I)V"/>
+		<method name="freeMemory()J"/>
+		<method name="gc()V"/>
+		<method name="getLocalizedInputStream(Ljava/io/InputStream;)Ljava/io/InputStream;" deprecated="15"/>
+		<method name="getLocalizedOutputStream(Ljava/io/OutputStream;)Ljava/io/OutputStream;" deprecated="15"/>
+		<method name="getRuntime()Ljava/lang/Runtime;"/>
+		<method name="halt(I)V"/>
+		<method name="load(Ljava/lang/String;)V"/>
+		<method name="loadLibrary(Ljava/lang/String;)V"/>
+		<method name="maxMemory()J"/>
+		<method name="removeShutdownHook(Ljava/lang/Thread;)Z"/>
+		<method name="runFinalization()V"/>
+		<method name="runFinalizersOnExit(Z)V" deprecated="15"/>
+		<method name="totalMemory()J"/>
+		<method name="traceInstructions(Z)V"/>
+		<method name="traceMethodCalls(Z)V"/>
+	</class>
+	<class name="java/lang/RuntimeException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V" since="24"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/RuntimePermission" since="1">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/SafeVarargs" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="java/lang/SecurityException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/SecurityManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="checkAccept(Ljava/lang/String;I)V"/>
+		<method name="checkAccess(Ljava/lang/Thread;)V"/>
+		<method name="checkAccess(Ljava/lang/ThreadGroup;)V"/>
+		<method name="checkAwtEventQueueAccess()V"/>
+		<method name="checkConnect(Ljava/lang/String;I)V"/>
+		<method name="checkConnect(Ljava/lang/String;ILjava/lang/Object;)V"/>
+		<method name="checkCreateClassLoader()V"/>
+		<method name="checkDelete(Ljava/lang/String;)V"/>
+		<method name="checkExec(Ljava/lang/String;)V"/>
+		<method name="checkExit(I)V"/>
+		<method name="checkLink(Ljava/lang/String;)V"/>
+		<method name="checkListen(I)V"/>
+		<method name="checkMemberAccess(Ljava/lang/Class;I)V"/>
+		<method name="checkMulticast(Ljava/net/InetAddress;)V"/>
+		<method name="checkMulticast(Ljava/net/InetAddress;B)V" deprecated="15"/>
+		<method name="checkPackageAccess(Ljava/lang/String;)V"/>
+		<method name="checkPackageDefinition(Ljava/lang/String;)V"/>
+		<method name="checkPermission(Ljava/security/Permission;)V"/>
+		<method name="checkPermission(Ljava/security/Permission;Ljava/lang/Object;)V"/>
+		<method name="checkPrintJobAccess()V"/>
+		<method name="checkPropertiesAccess()V"/>
+		<method name="checkPropertyAccess(Ljava/lang/String;)V"/>
+		<method name="checkRead(Ljava/io/FileDescriptor;)V"/>
+		<method name="checkRead(Ljava/lang/String;)V"/>
+		<method name="checkRead(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="checkSecurityAccess(Ljava/lang/String;)V"/>
+		<method name="checkSetFactory()V"/>
+		<method name="checkSystemClipboardAccess()V"/>
+		<method name="checkTopLevelWindow(Ljava/lang/Object;)Z"/>
+		<method name="checkWrite(Ljava/io/FileDescriptor;)V"/>
+		<method name="checkWrite(Ljava/lang/String;)V"/>
+		<method name="classDepth(Ljava/lang/String;)I" deprecated="15"/>
+		<method name="classLoaderDepth()I" deprecated="15"/>
+		<method name="currentClassLoader()Ljava/lang/ClassLoader;" deprecated="15"/>
+		<method name="currentLoadedClass()Ljava/lang/Class;" deprecated="15"/>
+		<method name="getClassContext()[Ljava/lang/Class;"/>
+		<method name="getInCheck()Z" deprecated="15"/>
+		<method name="getSecurityContext()Ljava/lang/Object;"/>
+		<method name="getThreadGroup()Ljava/lang/ThreadGroup;"/>
+		<method name="inClass(Ljava/lang/String;)Z" deprecated="15"/>
+		<method name="inClassLoader()Z" deprecated="15"/>
+		<field name="inCheck" deprecated="15"/>
+	</class>
+	<class name="java/lang/Short" since="1">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="31"/>
+		<method name="&lt;init>(S)V" deprecated="31"/>
+		<method name="compare(SS)I" since="19"/>
+		<method name="compareTo(Ljava/lang/Short;)I"/>
+		<method name="compareUnsigned(SS)I" since="31"/>
+		<method name="decode(Ljava/lang/String;)Ljava/lang/Short;"/>
+		<method name="hashCode(S)I" since="24"/>
+		<method name="parseShort(Ljava/lang/String;)S"/>
+		<method name="parseShort(Ljava/lang/String;I)S"/>
+		<method name="reverseBytes(S)S"/>
+		<method name="toString(S)Ljava/lang/String;"/>
+		<method name="toUnsignedInt(S)I" since="26"/>
+		<method name="toUnsignedLong(S)J" since="26"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Short;"/>
+		<method name="valueOf(Ljava/lang/String;I)Ljava/lang/Short;"/>
+		<method name="valueOf(S)Ljava/lang/Short;"/>
+		<field name="BYTES" since="24"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_VALUE"/>
+		<field name="SIZE"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="java/lang/StackOverflowError" since="1">
+		<extends name="java/lang/VirtualMachineError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/StackTraceElement" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="getClassName()Ljava/lang/String;"/>
+		<method name="getFileName()Ljava/lang/String;"/>
+		<method name="getLineNumber()I"/>
+		<method name="getMethodName()Ljava/lang/String;"/>
+		<method name="isNativeMethod()Z"/>
+	</class>
+	<class name="java/lang/StrictMath" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="IEEEremainder(DD)D"/>
+		<method name="abs(D)D"/>
+		<method name="abs(F)F"/>
+		<method name="abs(I)I"/>
+		<method name="abs(J)J"/>
+		<method name="acos(D)D"/>
+		<method name="addExact(II)I" since="24"/>
+		<method name="addExact(JJ)J" since="24"/>
+		<method name="asin(D)D"/>
+		<method name="atan(D)D"/>
+		<method name="atan2(DD)D"/>
+		<method name="cbrt(D)D"/>
+		<method name="ceil(D)D"/>
+		<method name="copySign(DD)D" since="9"/>
+		<method name="copySign(FF)F" since="9"/>
+		<method name="cos(D)D"/>
+		<method name="cosh(D)D"/>
+		<method name="exp(D)D"/>
+		<method name="expm1(D)D"/>
+		<method name="floor(D)D"/>
+		<method name="floorDiv(II)I" since="24"/>
+		<method name="floorDiv(JI)J" since="31"/>
+		<method name="floorDiv(JJ)J" since="24"/>
+		<method name="floorMod(II)I" since="24"/>
+		<method name="floorMod(JI)I" since="31"/>
+		<method name="floorMod(JJ)J" since="24"/>
+		<method name="getExponent(D)I" since="9"/>
+		<method name="getExponent(F)I" since="9"/>
+		<method name="hypot(DD)D"/>
+		<method name="log(D)D"/>
+		<method name="log10(D)D"/>
+		<method name="log1p(D)D"/>
+		<method name="max(DD)D"/>
+		<method name="max(FF)F"/>
+		<method name="max(II)I"/>
+		<method name="max(JJ)J"/>
+		<method name="min(DD)D"/>
+		<method name="min(FF)F"/>
+		<method name="min(II)I"/>
+		<method name="min(JJ)J"/>
+		<method name="multiplyExact(II)I" since="24"/>
+		<method name="multiplyExact(JI)J" since="31"/>
+		<method name="multiplyExact(JJ)J" since="24"/>
+		<method name="multiplyFull(II)J" since="31"/>
+		<method name="multiplyHigh(JJ)J" since="31"/>
+		<method name="nextAfter(DD)D" since="9"/>
+		<method name="nextAfter(FD)F" since="9"/>
+		<method name="nextDown(D)D" since="24"/>
+		<method name="nextDown(F)F" since="24"/>
+		<method name="nextUp(D)D" since="9"/>
+		<method name="nextUp(F)F" since="9"/>
+		<method name="pow(DD)D"/>
+		<method name="random()D"/>
+		<method name="rint(D)D"/>
+		<method name="round(D)J"/>
+		<method name="round(F)I"/>
+		<method name="scalb(DI)D" since="9"/>
+		<method name="scalb(FI)F" since="9"/>
+		<method name="signum(D)D"/>
+		<method name="signum(F)F"/>
+		<method name="sin(D)D"/>
+		<method name="sinh(D)D"/>
+		<method name="sqrt(D)D"/>
+		<method name="subtractExact(II)I" since="24"/>
+		<method name="subtractExact(JJ)J" since="24"/>
+		<method name="tan(D)D"/>
+		<method name="tanh(D)D"/>
+		<method name="toDegrees(D)D"/>
+		<method name="toIntExact(J)I" since="24"/>
+		<method name="toRadians(D)D"/>
+		<method name="ulp(D)D"/>
+		<method name="ulp(F)F"/>
+		<field name="E"/>
+		<field name="PI"/>
+	</class>
+	<class name="java/lang/String" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/CharSequence"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/StringBuffer;)V"/>
+		<method name="&lt;init>(Ljava/lang/StringBuilder;)V"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="&lt;init>([BI)V" deprecated="15"/>
+		<method name="&lt;init>([BII)V"/>
+		<method name="&lt;init>([BIII)V" deprecated="15"/>
+		<method name="&lt;init>([BIILjava/lang/String;)V"/>
+		<method name="&lt;init>([BIILjava/nio/charset/Charset;)V" since="9"/>
+		<method name="&lt;init>([BLjava/lang/String;)V"/>
+		<method name="&lt;init>([BLjava/nio/charset/Charset;)V" since="9"/>
+		<method name="&lt;init>([C)V"/>
+		<method name="&lt;init>([CII)V"/>
+		<method name="&lt;init>([III)V"/>
+		<method name="codePointAt(I)I"/>
+		<method name="codePointBefore(I)I"/>
+		<method name="codePointCount(II)I"/>
+		<method name="compareTo(Ljava/lang/String;)I"/>
+		<method name="compareToIgnoreCase(Ljava/lang/String;)I"/>
+		<method name="concat(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="contains(Ljava/lang/CharSequence;)Z"/>
+		<method name="contentEquals(Ljava/lang/CharSequence;)Z"/>
+		<method name="contentEquals(Ljava/lang/StringBuffer;)Z"/>
+		<method name="copyValueOf([C)Ljava/lang/String;"/>
+		<method name="copyValueOf([CII)Ljava/lang/String;"/>
+		<method name="endsWith(Ljava/lang/String;)Z"/>
+		<method name="equalsIgnoreCase(Ljava/lang/String;)Z"/>
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="getBytes()[B"/>
+		<method name="getBytes(II[BI)V" deprecated="15"/>
+		<method name="getBytes(Ljava/lang/String;)[B"/>
+		<method name="getBytes(Ljava/nio/charset/Charset;)[B" since="9"/>
+		<method name="getChars(II[CI)V"/>
+		<method name="indexOf(I)I"/>
+		<method name="indexOf(II)I"/>
+		<method name="indexOf(Ljava/lang/String;)I"/>
+		<method name="indexOf(Ljava/lang/String;I)I"/>
+		<method name="intern()Ljava/lang/String;"/>
+		<method name="isEmpty()Z" since="9"/>
+		<method name="join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;" since="26"/>
+		<method name="join(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;" since="26"/>
+		<method name="lastIndexOf(I)I"/>
+		<method name="lastIndexOf(II)I"/>
+		<method name="lastIndexOf(Ljava/lang/String;)I"/>
+		<method name="lastIndexOf(Ljava/lang/String;I)I"/>
+		<method name="matches(Ljava/lang/String;)Z"/>
+		<method name="offsetByCodePoints(II)I"/>
+		<method name="regionMatches(ILjava/lang/String;II)Z"/>
+		<method name="regionMatches(ZILjava/lang/String;II)Z"/>
+		<method name="replace(CC)Ljava/lang/String;"/>
+		<method name="replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;"/>
+		<method name="replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="split(Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="split(Ljava/lang/String;I)[Ljava/lang/String;"/>
+		<method name="startsWith(Ljava/lang/String;)Z"/>
+		<method name="startsWith(Ljava/lang/String;I)Z"/>
+		<method name="substring(I)Ljava/lang/String;"/>
+		<method name="substring(II)Ljava/lang/String;"/>
+		<method name="toCharArray()[C"/>
+		<method name="toLowerCase()Ljava/lang/String;"/>
+		<method name="toLowerCase(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="toUpperCase()Ljava/lang/String;"/>
+		<method name="toUpperCase(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="trim()Ljava/lang/String;"/>
+		<method name="valueOf(C)Ljava/lang/String;"/>
+		<method name="valueOf(D)Ljava/lang/String;"/>
+		<method name="valueOf(F)Ljava/lang/String;"/>
+		<method name="valueOf(I)Ljava/lang/String;"/>
+		<method name="valueOf(J)Ljava/lang/String;"/>
+		<method name="valueOf(Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="valueOf(Z)Ljava/lang/String;"/>
+		<method name="valueOf([C)Ljava/lang/String;"/>
+		<method name="valueOf([CII)Ljava/lang/String;"/>
+		<field name="CASE_INSENSITIVE_ORDER"/>
+	</class>
+	<class name="java/lang/StringBuffer" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Appendable"/>
+		<implements name="java/lang/CharSequence"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="append(C)Ljava/lang/StringBuffer;"/>
+		<method name="append(D)Ljava/lang/StringBuffer;"/>
+		<method name="append(F)Ljava/lang/StringBuffer;"/>
+		<method name="append(I)Ljava/lang/StringBuffer;"/>
+		<method name="append(J)Ljava/lang/StringBuffer;"/>
+		<method name="append(Ljava/lang/CharSequence;)Ljava/lang/StringBuffer;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuffer;"/>
+		<method name="append(Ljava/lang/Object;)Ljava/lang/StringBuffer;"/>
+		<method name="append(Ljava/lang/String;)Ljava/lang/StringBuffer;"/>
+		<method name="append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;"/>
+		<method name="append(Z)Ljava/lang/StringBuffer;"/>
+		<method name="append([C)Ljava/lang/StringBuffer;"/>
+		<method name="append([CII)Ljava/lang/StringBuffer;"/>
+		<method name="appendCodePoint(I)Ljava/lang/StringBuffer;"/>
+		<method name="delete(II)Ljava/lang/StringBuffer;"/>
+		<method name="deleteCharAt(I)Ljava/lang/StringBuffer;"/>
+		<method name="insert(IC)Ljava/lang/StringBuffer;"/>
+		<method name="insert(ID)Ljava/lang/StringBuffer;"/>
+		<method name="insert(IF)Ljava/lang/StringBuffer;"/>
+		<method name="insert(II)Ljava/lang/StringBuffer;"/>
+		<method name="insert(IJ)Ljava/lang/StringBuffer;"/>
+		<method name="insert(ILjava/lang/CharSequence;)Ljava/lang/StringBuffer;"/>
+		<method name="insert(ILjava/lang/CharSequence;II)Ljava/lang/StringBuffer;"/>
+		<method name="insert(ILjava/lang/Object;)Ljava/lang/StringBuffer;"/>
+		<method name="insert(ILjava/lang/String;)Ljava/lang/StringBuffer;"/>
+		<method name="insert(IZ)Ljava/lang/StringBuffer;"/>
+		<method name="insert(I[C)Ljava/lang/StringBuffer;"/>
+		<method name="insert(I[CII)Ljava/lang/StringBuffer;"/>
+		<method name="replace(IILjava/lang/String;)Ljava/lang/StringBuffer;"/>
+		<method name="reverse()Ljava/lang/StringBuffer;"/>
+	</class>
+	<class name="java/lang/StringBuilder" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Appendable"/>
+		<implements name="java/lang/CharSequence"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="append(C)Ljava/lang/StringBuilder;"/>
+		<method name="append(D)Ljava/lang/StringBuilder;"/>
+		<method name="append(F)Ljava/lang/StringBuilder;"/>
+		<method name="append(I)Ljava/lang/StringBuilder;"/>
+		<method name="append(J)Ljava/lang/StringBuilder;"/>
+		<method name="append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;"/>
+		<method name="append(Ljava/lang/Object;)Ljava/lang/StringBuilder;"/>
+		<method name="append(Ljava/lang/String;)Ljava/lang/StringBuilder;"/>
+		<method name="append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuilder;"/>
+		<method name="append(Z)Ljava/lang/StringBuilder;"/>
+		<method name="append([C)Ljava/lang/StringBuilder;"/>
+		<method name="append([CII)Ljava/lang/StringBuilder;"/>
+		<method name="appendCodePoint(I)Ljava/lang/StringBuilder;"/>
+		<method name="delete(II)Ljava/lang/StringBuilder;"/>
+		<method name="deleteCharAt(I)Ljava/lang/StringBuilder;"/>
+		<method name="insert(IC)Ljava/lang/StringBuilder;"/>
+		<method name="insert(ID)Ljava/lang/StringBuilder;"/>
+		<method name="insert(IF)Ljava/lang/StringBuilder;"/>
+		<method name="insert(II)Ljava/lang/StringBuilder;"/>
+		<method name="insert(IJ)Ljava/lang/StringBuilder;"/>
+		<method name="insert(ILjava/lang/CharSequence;)Ljava/lang/StringBuilder;"/>
+		<method name="insert(ILjava/lang/CharSequence;II)Ljava/lang/StringBuilder;"/>
+		<method name="insert(ILjava/lang/Object;)Ljava/lang/StringBuilder;"/>
+		<method name="insert(ILjava/lang/String;)Ljava/lang/StringBuilder;"/>
+		<method name="insert(IZ)Ljava/lang/StringBuilder;"/>
+		<method name="insert(I[C)Ljava/lang/StringBuilder;"/>
+		<method name="insert(I[CII)Ljava/lang/StringBuilder;"/>
+		<method name="replace(IILjava/lang/String;)Ljava/lang/StringBuilder;"/>
+		<method name="reverse()Ljava/lang/StringBuilder;"/>
+	</class>
+	<class name="java/lang/StringIndexOutOfBoundsException" since="1">
+		<extends name="java/lang/IndexOutOfBoundsException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/SuppressWarnings" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="value()[Ljava/lang/String;"/>
+	</class>
+	<class name="java/lang/System" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V"/>
+		<method name="clearProperty(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="console()Ljava/io/Console;" since="9"/>
+		<method name="currentTimeMillis()J"/>
+		<method name="exit(I)V"/>
+		<method name="gc()V"/>
+		<method name="getProperties()Ljava/util/Properties;"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getSecurityManager()Ljava/lang/SecurityManager;"/>
+		<method name="getenv()Ljava/util/Map;"/>
+		<method name="getenv(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="identityHashCode(Ljava/lang/Object;)I"/>
+		<method name="inheritedChannel()Ljava/nio/channels/Channel;"/>
+		<method name="lineSeparator()Ljava/lang/String;" since="19"/>
+		<method name="load(Ljava/lang/String;)V"/>
+		<method name="loadLibrary(Ljava/lang/String;)V"/>
+		<method name="mapLibraryName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="nanoTime()J"/>
+		<method name="runFinalization()V"/>
+		<method name="runFinalizersOnExit(Z)V" deprecated="15"/>
+		<method name="setErr(Ljava/io/PrintStream;)V"/>
+		<method name="setIn(Ljava/io/InputStream;)V"/>
+		<method name="setOut(Ljava/io/PrintStream;)V"/>
+		<method name="setProperties(Ljava/util/Properties;)V"/>
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="setSecurityManager(Ljava/lang/SecurityManager;)V"/>
+		<field name="err"/>
+		<field name="in"/>
+		<field name="out"/>
+	</class>
+	<class name="java/lang/Thread" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Runnable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Runnable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Runnable;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V"/>
+		<method name="&lt;init>(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V"/>
+		<method name="&lt;init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V"/>
+		<method name="activeCount()I"/>
+		<method name="checkAccess()V"/>
+		<method name="countStackFrames()I" deprecated="15"/>
+		<method name="currentThread()Ljava/lang/Thread;"/>
+		<method name="destroy()V" deprecated="15"/>
+		<method name="dumpStack()V"/>
+		<method name="enumerate([Ljava/lang/Thread;)I"/>
+		<method name="getAllStackTraces()Ljava/util/Map;"/>
+		<method name="getContextClassLoader()Ljava/lang/ClassLoader;"/>
+		<method name="getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;"/>
+		<method name="getId()J"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPriority()I"/>
+		<method name="getStackTrace()[Ljava/lang/StackTraceElement;"/>
+		<method name="getState()Ljava/lang/Thread$State;"/>
+		<method name="getThreadGroup()Ljava/lang/ThreadGroup;"/>
+		<method name="getUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;"/>
+		<method name="holdsLock(Ljava/lang/Object;)Z"/>
+		<method name="interrupt()V"/>
+		<method name="interrupted()Z"/>
+		<method name="isAlive()Z"/>
+		<method name="isDaemon()Z"/>
+		<method name="isInterrupted()Z"/>
+		<method name="join()V"/>
+		<method name="join(J)V"/>
+		<method name="join(JI)V"/>
+		<method name="resume()V" deprecated="15"/>
+		<method name="setContextClassLoader(Ljava/lang/ClassLoader;)V"/>
+		<method name="setDaemon(Z)V"/>
+		<method name="setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V"/>
+		<method name="setName(Ljava/lang/String;)V"/>
+		<method name="setPriority(I)V"/>
+		<method name="setUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V"/>
+		<method name="sleep(J)V"/>
+		<method name="sleep(JI)V"/>
+		<method name="start()V"/>
+		<method name="stop()V" deprecated="15"/>
+		<method name="stop(Ljava/lang/Throwable;)V" deprecated="15"/>
+		<method name="suspend()V" deprecated="15"/>
+		<method name="yield()V"/>
+		<field name="MAX_PRIORITY"/>
+		<field name="MIN_PRIORITY"/>
+		<field name="NORM_PRIORITY"/>
+	</class>
+	<class name="java/lang/Thread$State" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/Thread$State;"/>
+		<method name="values()[Ljava/lang/Thread$State;"/>
+		<field name="BLOCKED"/>
+		<field name="NEW"/>
+		<field name="RUNNABLE"/>
+		<field name="TERMINATED"/>
+		<field name="TIMED_WAITING"/>
+		<field name="WAITING"/>
+	</class>
+	<class name="java/lang/Thread$UncaughtExceptionHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/ThreadDeath" since="1">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/lang/ThreadGroup" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Thread$UncaughtExceptionHandler"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V"/>
+		<method name="activeCount()I"/>
+		<method name="activeGroupCount()I"/>
+		<method name="allowThreadSuspension(Z)Z" deprecated="15"/>
+		<method name="checkAccess()V"/>
+		<method name="destroy()V"/>
+		<method name="enumerate([Ljava/lang/Thread;)I"/>
+		<method name="enumerate([Ljava/lang/Thread;Z)I"/>
+		<method name="enumerate([Ljava/lang/ThreadGroup;)I"/>
+		<method name="enumerate([Ljava/lang/ThreadGroup;Z)I"/>
+		<method name="getMaxPriority()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getParent()Ljava/lang/ThreadGroup;"/>
+		<method name="interrupt()V"/>
+		<method name="isDaemon()Z"/>
+		<method name="isDestroyed()Z"/>
+		<method name="list()V"/>
+		<method name="parentOf(Ljava/lang/ThreadGroup;)Z"/>
+		<method name="resume()V" deprecated="15"/>
+		<method name="setDaemon(Z)V"/>
+		<method name="setMaxPriority(I)V"/>
+		<method name="stop()V" deprecated="15"/>
+		<method name="suspend()V" deprecated="15"/>
+	</class>
+	<class name="java/lang/ThreadLocal" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="get()Ljava/lang/Object;"/>
+		<method name="initialValue()Ljava/lang/Object;"/>
+		<method name="remove()V"/>
+		<method name="set(Ljava/lang/Object;)V"/>
+		<method name="withInitial(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;" since="26"/>
+	</class>
+	<class name="java/lang/Throwable" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V" since="19"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+		<method name="addSuppressed(Ljava/lang/Throwable;)V" since="19"/>
+		<method name="fillInStackTrace()Ljava/lang/Throwable;"/>
+		<method name="getCause()Ljava/lang/Throwable;"/>
+		<method name="getLocalizedMessage()Ljava/lang/String;"/>
+		<method name="getMessage()Ljava/lang/String;"/>
+		<method name="getStackTrace()[Ljava/lang/StackTraceElement;"/>
+		<method name="getSuppressed()[Ljava/lang/Throwable;" since="19"/>
+		<method name="initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;"/>
+		<method name="printStackTrace()V"/>
+		<method name="printStackTrace(Ljava/io/PrintStream;)V"/>
+		<method name="printStackTrace(Ljava/io/PrintWriter;)V"/>
+		<method name="setStackTrace([Ljava/lang/StackTraceElement;)V"/>
+	</class>
+	<class name="java/lang/TypeNotPresentException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="typeName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/lang/UnknownError" since="1">
+		<extends name="java/lang/VirtualMachineError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/UnsatisfiedLinkError" since="1">
+		<extends name="java/lang/LinkageError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/UnsupportedClassVersionError" since="1">
+		<extends name="java/lang/ClassFormatError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/UnsupportedOperationException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/VerifyError" since="1">
+		<extends name="java/lang/LinkageError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/VirtualMachineError" since="1">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="24"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V" since="24"/>
+	</class>
+	<class name="java/lang/Void" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="TYPE"/>
+	</class>
+	<class name="java/lang/annotation/Annotation" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="annotationType()Ljava/lang/Class;"/>
+	</class>
+	<class name="java/lang/annotation/AnnotationFormatError" since="1">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/annotation/AnnotationTypeMismatchException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/reflect/Method;Ljava/lang/String;)V"/>
+		<method name="element()Ljava/lang/reflect/Method;"/>
+		<method name="foundType()Ljava/lang/String;"/>
+	</class>
+	<class name="java/lang/annotation/Documented" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="java/lang/annotation/ElementType" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/annotation/ElementType;"/>
+		<method name="values()[Ljava/lang/annotation/ElementType;"/>
+		<field name="ANNOTATION_TYPE"/>
+		<field name="CONSTRUCTOR"/>
+		<field name="FIELD"/>
+		<field name="LOCAL_VARIABLE"/>
+		<field name="METHOD"/>
+		<field name="MODULE" since="31"/>
+		<field name="PACKAGE"/>
+		<field name="PARAMETER"/>
+		<field name="TYPE"/>
+		<field name="TYPE_PARAMETER" since="26"/>
+		<field name="TYPE_USE" since="26"/>
+	</class>
+	<class name="java/lang/annotation/IncompleteAnnotationException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/Class;Ljava/lang/String;)V"/>
+		<method name="annotationType()Ljava/lang/Class;"/>
+		<method name="elementName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/lang/annotation/Inherited" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="java/lang/annotation/Native" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+	</class>
+	<class name="java/lang/annotation/Repeatable" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="value()Ljava/lang/Class;"/>
+	</class>
+	<class name="java/lang/annotation/Retention" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="value()Ljava/lang/annotation/RetentionPolicy;"/>
+	</class>
+	<class name="java/lang/annotation/RetentionPolicy" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/lang/annotation/RetentionPolicy;"/>
+		<method name="values()[Ljava/lang/annotation/RetentionPolicy;"/>
+		<field name="CLASS"/>
+		<field name="RUNTIME"/>
+		<field name="SOURCE"/>
+	</class>
+	<class name="java/lang/annotation/Target" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/annotation/Annotation"/>
+		<method name="value()[Ljava/lang/annotation/ElementType;"/>
+	</class>
+	<class name="java/lang/invoke/CallSite" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="dynamicInvoker()Ljava/lang/invoke/MethodHandle;"/>
+		<method name="getTarget()Ljava/lang/invoke/MethodHandle;"/>
+		<method name="setTarget(Ljava/lang/invoke/MethodHandle;)V"/>
+		<method name="type()Ljava/lang/invoke/MethodType;"/>
+	</class>
+	<class name="java/lang/invoke/ConstantCallSite" since="26">
+		<extends name="java/lang/invoke/CallSite"/>
+		<method name="&lt;init>(Ljava/lang/invoke/MethodHandle;)V"/>
+		<method name="&lt;init>(Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;)V"/>
+	</class>
+	<class name="java/lang/invoke/LambdaConversionException" since="26">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/lang/invoke/MethodHandle" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="asCollector(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="asFixedArity()Ljava/lang/invoke/MethodHandle;"/>
+		<method name="asSpreader(Ljava/lang/Class;I)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="asType(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="asVarargsCollector(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="bindTo(Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="invoke([Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="invokeExact([Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="invokeWithArguments(Ljava/util/List;)Ljava/lang/Object;"/>
+		<method name="invokeWithArguments([Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="isVarargsCollector()Z"/>
+		<method name="type()Ljava/lang/invoke/MethodType;"/>
+	</class>
+	<class name="java/lang/invoke/MethodHandleInfo" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getDeclaringClass()Ljava/lang/Class;"/>
+		<method name="getMethodType()Ljava/lang/invoke/MethodType;"/>
+		<method name="getModifiers()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getReferenceKind()I"/>
+		<method name="isVarArgs()Z"/>
+		<method name="refKindIsField(I)Z" deprecated="29"/>
+		<method name="refKindIsValid(I)Z" deprecated="29"/>
+		<method name="refKindName(I)Ljava/lang/String;" deprecated="29"/>
+		<method name="referenceKindToString(I)Ljava/lang/String;"/>
+		<method name="reflectAs(Ljava/lang/Class;Ljava/lang/invoke/MethodHandles$Lookup;)Ljava/lang/reflect/Member;"/>
+		<method name="toString(ILjava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/String;"/>
+		<field name="REF_getField"/>
+		<field name="REF_getStatic"/>
+		<field name="REF_invokeInterface"/>
+		<field name="REF_invokeSpecial"/>
+		<field name="REF_invokeStatic"/>
+		<field name="REF_invokeVirtual"/>
+		<field name="REF_newInvokeSpecial"/>
+		<field name="REF_putField"/>
+		<field name="REF_putStatic"/>
+	</class>
+	<class name="java/lang/invoke/MethodHandles" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="arrayElementGetter(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="arrayElementSetter(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="catchException(Ljava/lang/invoke/MethodHandle;Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="collectArguments(Ljava/lang/invoke/MethodHandle;ILjava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="constant(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="dropArguments(Ljava/lang/invoke/MethodHandle;ILjava/util/List;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="dropArguments(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="exactInvoker(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="explicitCastArguments(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="filterArguments(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="filterReturnValue(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="foldArguments(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="guardWithTest(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="identity(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="insertArguments(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="invoker(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="lookup()Ljava/lang/invoke/MethodHandles$Lookup;"/>
+		<method name="permuteArguments(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;[I)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="publicLookup()Ljava/lang/invoke/MethodHandles$Lookup;"/>
+		<method name="reflectAs(Ljava/lang/Class;Ljava/lang/invoke/MethodHandle;)Ljava/lang/reflect/Member;"/>
+		<method name="spreadInvoker(Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="throwException(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+	</class>
+	<class name="java/lang/invoke/MethodHandles$Lookup" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="bind(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="findConstructor(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="findGetter(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="findSetter(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="findSpecial(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="findStatic(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="findStaticGetter(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="findStaticSetter(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="findVirtual(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="in(Ljava/lang/Class;)Ljava/lang/invoke/MethodHandles$Lookup;"/>
+		<method name="lookupClass()Ljava/lang/Class;"/>
+		<method name="lookupModes()I"/>
+		<method name="revealDirect(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandleInfo;"/>
+		<method name="unreflect(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="unreflectConstructor(Ljava/lang/reflect/Constructor;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="unreflectGetter(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="unreflectSetter(Ljava/lang/reflect/Field;)Ljava/lang/invoke/MethodHandle;"/>
+		<method name="unreflectSpecial(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;"/>
+		<field name="PACKAGE"/>
+		<field name="PRIVATE"/>
+		<field name="PROTECTED"/>
+		<field name="PUBLIC"/>
+	</class>
+	<class name="java/lang/invoke/MethodType" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="appendParameterTypes(Ljava/util/List;)Ljava/lang/invoke/MethodType;"/>
+		<method name="appendParameterTypes([Ljava/lang/Class;)Ljava/lang/invoke/MethodType;"/>
+		<method name="changeParameterType(ILjava/lang/Class;)Ljava/lang/invoke/MethodType;"/>
+		<method name="changeReturnType(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;"/>
+		<method name="dropParameterTypes(II)Ljava/lang/invoke/MethodType;"/>
+		<method name="erase()Ljava/lang/invoke/MethodType;"/>
+		<method name="fromMethodDescriptorString(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/invoke/MethodType;"/>
+		<method name="generic()Ljava/lang/invoke/MethodType;"/>
+		<method name="genericMethodType(I)Ljava/lang/invoke/MethodType;"/>
+		<method name="genericMethodType(IZ)Ljava/lang/invoke/MethodType;"/>
+		<method name="hasPrimitives()Z"/>
+		<method name="hasWrappers()Z"/>
+		<method name="insertParameterTypes(ILjava/util/List;)Ljava/lang/invoke/MethodType;"/>
+		<method name="insertParameterTypes(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;"/>
+		<method name="methodType(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;"/>
+		<method name="methodType(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;"/>
+		<method name="methodType(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;"/>
+		<method name="methodType(Ljava/lang/Class;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodType;"/>
+		<method name="methodType(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/invoke/MethodType;"/>
+		<method name="methodType(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;"/>
+		<method name="parameterArray()[Ljava/lang/Class;"/>
+		<method name="parameterCount()I"/>
+		<method name="parameterList()Ljava/util/List;"/>
+		<method name="parameterType(I)Ljava/lang/Class;"/>
+		<method name="returnType()Ljava/lang/Class;"/>
+		<method name="toMethodDescriptorString()Ljava/lang/String;"/>
+		<method name="unwrap()Ljava/lang/invoke/MethodType;"/>
+		<method name="wrap()Ljava/lang/invoke/MethodType;"/>
+	</class>
+	<class name="java/lang/invoke/MutableCallSite" since="26">
+		<extends name="java/lang/invoke/CallSite"/>
+		<method name="&lt;init>(Ljava/lang/invoke/MethodHandle;)V"/>
+		<method name="&lt;init>(Ljava/lang/invoke/MethodType;)V"/>
+	</class>
+	<class name="java/lang/invoke/VolatileCallSite" since="26">
+		<extends name="java/lang/invoke/CallSite"/>
+		<method name="&lt;init>(Ljava/lang/invoke/MethodHandle;)V"/>
+		<method name="&lt;init>(Ljava/lang/invoke/MethodType;)V"/>
+	</class>
+	<class name="java/lang/invoke/WrongMethodTypeException" since="26">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/ref/PhantomReference" since="1">
+		<extends name="java/lang/ref/Reference"/>
+		<method name="&lt;init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V"/>
+	</class>
+	<class name="java/lang/ref/Reference" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="clear()V"/>
+		<method name="enqueue()Z"/>
+		<method name="get()Ljava/lang/Object;"/>
+		<method name="isEnqueued()Z" deprecated="31"/>
+		<method name="reachabilityFence(Ljava/lang/Object;)V" since="28"/>
+	</class>
+	<class name="java/lang/ref/ReferenceQueue" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="poll()Ljava/lang/ref/Reference;"/>
+		<method name="remove()Ljava/lang/ref/Reference;"/>
+		<method name="remove(J)Ljava/lang/ref/Reference;"/>
+	</class>
+	<class name="java/lang/ref/SoftReference" since="1">
+		<extends name="java/lang/ref/Reference"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<method name="&lt;init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V"/>
+	</class>
+	<class name="java/lang/ref/WeakReference" since="1">
+		<extends name="java/lang/ref/Reference"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<method name="&lt;init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V"/>
+	</class>
+	<class name="java/lang/reflect/AccessibleObject" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/reflect/AnnotatedElement"/>
+		<method name="&lt;init>()V"/>
+		<method name="isAccessible()Z"/>
+		<method name="setAccessible(Z)V"/>
+		<method name="setAccessible([Ljava/lang/reflect/AccessibleObject;Z)V"/>
+	</class>
+	<class name="java/lang/reflect/AnnotatedElement" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;"/>
+		<method name="getAnnotations()[Ljava/lang/annotation/Annotation;"/>
+		<method name="getAnnotationsByType(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;" since="24"/>
+		<method name="getDeclaredAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;" since="24"/>
+		<method name="getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;"/>
+		<method name="getDeclaredAnnotationsByType(Ljava/lang/Class;)[Ljava/lang/annotation/Annotation;" since="24"/>
+		<method name="isAnnotationPresent(Ljava/lang/Class;)Z"/>
+	</class>
+	<class name="java/lang/reflect/Array" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="get(Ljava/lang/Object;I)Ljava/lang/Object;"/>
+		<method name="getBoolean(Ljava/lang/Object;I)Z"/>
+		<method name="getByte(Ljava/lang/Object;I)B"/>
+		<method name="getChar(Ljava/lang/Object;I)C"/>
+		<method name="getDouble(Ljava/lang/Object;I)D"/>
+		<method name="getFloat(Ljava/lang/Object;I)F"/>
+		<method name="getInt(Ljava/lang/Object;I)I"/>
+		<method name="getLength(Ljava/lang/Object;)I"/>
+		<method name="getLong(Ljava/lang/Object;I)J"/>
+		<method name="getShort(Ljava/lang/Object;I)S"/>
+		<method name="newInstance(Ljava/lang/Class;I)Ljava/lang/Object;"/>
+		<method name="newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;"/>
+		<method name="set(Ljava/lang/Object;ILjava/lang/Object;)V"/>
+		<method name="setBoolean(Ljava/lang/Object;IZ)V"/>
+		<method name="setByte(Ljava/lang/Object;IB)V"/>
+		<method name="setChar(Ljava/lang/Object;IC)V"/>
+		<method name="setDouble(Ljava/lang/Object;ID)V"/>
+		<method name="setFloat(Ljava/lang/Object;IF)V"/>
+		<method name="setInt(Ljava/lang/Object;II)V"/>
+		<method name="setLong(Ljava/lang/Object;IJ)V"/>
+		<method name="setShort(Ljava/lang/Object;IS)V"/>
+	</class>
+	<class name="java/lang/reflect/Constructor" since="1">
+		<extends name="java/lang/reflect/AccessibleObject" removed="26"/>
+		<extends name="java/lang/reflect/Executable" since="26"/>
+		<implements name="java/lang/reflect/GenericDeclaration" removed="26"/>
+		<implements name="java/lang/reflect/Member" removed="26"/>
+		<method name="getExceptionTypes()[Ljava/lang/Class;"/>
+		<method name="getGenericExceptionTypes()[Ljava/lang/reflect/Type;"/>
+		<method name="getGenericParameterTypes()[Ljava/lang/reflect/Type;"/>
+		<method name="getParameterAnnotations()[[Ljava/lang/annotation/Annotation;"/>
+		<method name="getParameterTypes()[Ljava/lang/Class;"/>
+		<method name="isVarArgs()Z"/>
+		<method name="newInstance([Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="toGenericString()Ljava/lang/String;"/>
+	</class>
+	<class name="java/lang/reflect/Executable" since="26">
+		<extends name="java/lang/reflect/AccessibleObject"/>
+		<implements name="java/lang/reflect/GenericDeclaration"/>
+		<implements name="java/lang/reflect/Member"/>
+		<method name="getExceptionTypes()[Ljava/lang/Class;"/>
+		<method name="getGenericExceptionTypes()[Ljava/lang/reflect/Type;"/>
+		<method name="getGenericParameterTypes()[Ljava/lang/reflect/Type;"/>
+		<method name="getParameterAnnotations()[[Ljava/lang/annotation/Annotation;"/>
+		<method name="getParameterCount()I"/>
+		<method name="getParameterTypes()[Ljava/lang/Class;"/>
+		<method name="getParameters()[Ljava/lang/reflect/Parameter;"/>
+		<method name="isVarArgs()Z"/>
+		<method name="toGenericString()Ljava/lang/String;"/>
+	</class>
+	<class name="java/lang/reflect/Field" since="1">
+		<extends name="java/lang/reflect/AccessibleObject"/>
+		<implements name="java/lang/reflect/Member"/>
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="getBoolean(Ljava/lang/Object;)Z"/>
+		<method name="getByte(Ljava/lang/Object;)B"/>
+		<method name="getChar(Ljava/lang/Object;)C"/>
+		<method name="getDouble(Ljava/lang/Object;)D"/>
+		<method name="getFloat(Ljava/lang/Object;)F"/>
+		<method name="getGenericType()Ljava/lang/reflect/Type;"/>
+		<method name="getInt(Ljava/lang/Object;)I"/>
+		<method name="getLong(Ljava/lang/Object;)J"/>
+		<method name="getShort(Ljava/lang/Object;)S"/>
+		<method name="getType()Ljava/lang/Class;"/>
+		<method name="isEnumConstant()Z"/>
+		<method name="set(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="setBoolean(Ljava/lang/Object;Z)V"/>
+		<method name="setByte(Ljava/lang/Object;B)V"/>
+		<method name="setChar(Ljava/lang/Object;C)V"/>
+		<method name="setDouble(Ljava/lang/Object;D)V"/>
+		<method name="setFloat(Ljava/lang/Object;F)V"/>
+		<method name="setInt(Ljava/lang/Object;I)V"/>
+		<method name="setLong(Ljava/lang/Object;J)V"/>
+		<method name="setShort(Ljava/lang/Object;S)V"/>
+		<method name="toGenericString()Ljava/lang/String;"/>
+	</class>
+	<class name="java/lang/reflect/GenericArrayType" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/reflect/Type"/>
+		<method name="getGenericComponentType()Ljava/lang/reflect/Type;"/>
+	</class>
+	<class name="java/lang/reflect/GenericDeclaration" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/reflect/AnnotatedElement" since="26"/>
+		<method name="getTypeParameters()[Ljava/lang/reflect/TypeVariable;"/>
+	</class>
+	<class name="java/lang/reflect/GenericSignatureFormatError" since="1">
+		<extends name="java/lang/ClassFormatError"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" since="26"/>
+	</class>
+	<class name="java/lang/reflect/InvocationHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/lang/reflect/InvocationTargetException" since="1">
+		<extends name="java/lang/Exception" removed="19"/>
+		<extends name="java/lang/ReflectiveOperationException" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;Ljava/lang/String;)V"/>
+		<method name="getTargetException()Ljava/lang/Throwable;"/>
+	</class>
+	<class name="java/lang/reflect/MalformedParameterizedTypeException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/lang/reflect/MalformedParametersException" since="28">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/reflect/Member" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getDeclaringClass()Ljava/lang/Class;"/>
+		<method name="getModifiers()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="isSynthetic()Z"/>
+		<field name="DECLARED"/>
+		<field name="PUBLIC"/>
+	</class>
+	<class name="java/lang/reflect/Method" since="1">
+		<extends name="java/lang/reflect/AccessibleObject" removed="26"/>
+		<extends name="java/lang/reflect/Executable" since="26"/>
+		<implements name="java/lang/reflect/GenericDeclaration" removed="26"/>
+		<implements name="java/lang/reflect/Member" removed="26"/>
+		<method name="getDefaultValue()Ljava/lang/Object;"/>
+		<method name="getExceptionTypes()[Ljava/lang/Class;"/>
+		<method name="getGenericExceptionTypes()[Ljava/lang/reflect/Type;"/>
+		<method name="getGenericParameterTypes()[Ljava/lang/reflect/Type;"/>
+		<method name="getGenericReturnType()Ljava/lang/reflect/Type;"/>
+		<method name="getParameterAnnotations()[[Ljava/lang/annotation/Annotation;"/>
+		<method name="getParameterTypes()[Ljava/lang/Class;"/>
+		<method name="getReturnType()Ljava/lang/Class;"/>
+		<method name="invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="isBridge()Z"/>
+		<method name="isDefault()Z" since="24"/>
+		<method name="isVarArgs()Z"/>
+		<method name="toGenericString()Ljava/lang/String;"/>
+	</class>
+	<class name="java/lang/reflect/Modifier" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="classModifiers()I" since="19"/>
+		<method name="constructorModifiers()I" since="19"/>
+		<method name="fieldModifiers()I" since="19"/>
+		<method name="interfaceModifiers()I" since="19"/>
+		<method name="isAbstract(I)Z"/>
+		<method name="isFinal(I)Z"/>
+		<method name="isInterface(I)Z"/>
+		<method name="isNative(I)Z"/>
+		<method name="isPrivate(I)Z"/>
+		<method name="isProtected(I)Z"/>
+		<method name="isPublic(I)Z"/>
+		<method name="isStatic(I)Z"/>
+		<method name="isStrict(I)Z"/>
+		<method name="isSynchronized(I)Z"/>
+		<method name="isTransient(I)Z"/>
+		<method name="isVolatile(I)Z"/>
+		<method name="methodModifiers()I" since="19"/>
+		<method name="parameterModifiers()I" since="26"/>
+		<method name="toString(I)Ljava/lang/String;"/>
+		<field name="ABSTRACT"/>
+		<field name="FINAL"/>
+		<field name="INTERFACE"/>
+		<field name="NATIVE"/>
+		<field name="PRIVATE"/>
+		<field name="PROTECTED"/>
+		<field name="PUBLIC"/>
+		<field name="STATIC"/>
+		<field name="STRICT"/>
+		<field name="SYNCHRONIZED"/>
+		<field name="TRANSIENT"/>
+		<field name="VOLATILE"/>
+	</class>
+	<class name="java/lang/reflect/Parameter" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/reflect/AnnotatedElement"/>
+		<method name="getDeclaringExecutable()Ljava/lang/reflect/Executable;"/>
+		<method name="getModifiers()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getParameterizedType()Ljava/lang/reflect/Type;"/>
+		<method name="getType()Ljava/lang/Class;"/>
+		<method name="isImplicit()Z"/>
+		<method name="isNamePresent()Z"/>
+		<method name="isSynthetic()Z"/>
+		<method name="isVarArgs()Z"/>
+	</class>
+	<class name="java/lang/reflect/ParameterizedType" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/reflect/Type"/>
+		<method name="getActualTypeArguments()[Ljava/lang/reflect/Type;"/>
+		<method name="getOwnerType()Ljava/lang/reflect/Type;"/>
+		<method name="getRawType()Ljava/lang/reflect/Type;"/>
+	</class>
+	<class name="java/lang/reflect/Proxy" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/reflect/InvocationHandler;)V"/>
+		<method name="getInvocationHandler(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;"/>
+		<method name="getProxyClass(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;"/>
+		<method name="isProxyClass(Ljava/lang/Class;)Z"/>
+		<method name="newProxyInstance(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;"/>
+		<field name="h"/>
+	</class>
+	<class name="java/lang/reflect/ReflectPermission" since="1">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/lang/reflect/Type" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getTypeName()Ljava/lang/String;" since="28"/>
+	</class>
+	<class name="java/lang/reflect/TypeVariable" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/reflect/Type"/>
+		<method name="getBounds()[Ljava/lang/reflect/Type;"/>
+		<method name="getGenericDeclaration()Ljava/lang/reflect/GenericDeclaration;"/>
+		<method name="getName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/lang/reflect/UndeclaredThrowableException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;Ljava/lang/String;)V"/>
+		<method name="getUndeclaredThrowable()Ljava/lang/Throwable;"/>
+	</class>
+	<class name="java/lang/reflect/WildcardType" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/reflect/Type"/>
+		<method name="getLowerBounds()[Ljava/lang/reflect/Type;"/>
+		<method name="getUpperBounds()[Ljava/lang/reflect/Type;"/>
+	</class>
+	<class name="java/math/BigDecimal" since="1">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(D)V"/>
+		<method name="&lt;init>(DLjava/math/MathContext;)V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/math/MathContext;)V"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="&lt;init>(JLjava/math/MathContext;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/math/MathContext;)V"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;)V"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;I)V"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;ILjava/math/MathContext;)V"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/MathContext;)V"/>
+		<method name="&lt;init>([C)V"/>
+		<method name="&lt;init>([CII)V"/>
+		<method name="&lt;init>([CIILjava/math/MathContext;)V"/>
+		<method name="&lt;init>([CLjava/math/MathContext;)V"/>
+		<method name="abs()Ljava/math/BigDecimal;"/>
+		<method name="abs(Ljava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="add(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;"/>
+		<method name="add(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="byteValueExact()B"/>
+		<method name="compareTo(Ljava/math/BigDecimal;)I"/>
+		<method name="divide(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;"/>
+		<method name="divide(Ljava/math/BigDecimal;I)Ljava/math/BigDecimal;"/>
+		<method name="divide(Ljava/math/BigDecimal;II)Ljava/math/BigDecimal;"/>
+		<method name="divide(Ljava/math/BigDecimal;ILjava/math/RoundingMode;)Ljava/math/BigDecimal;"/>
+		<method name="divide(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="divide(Ljava/math/BigDecimal;Ljava/math/RoundingMode;)Ljava/math/BigDecimal;"/>
+		<method name="divideAndRemainder(Ljava/math/BigDecimal;)[Ljava/math/BigDecimal;"/>
+		<method name="divideAndRemainder(Ljava/math/BigDecimal;Ljava/math/MathContext;)[Ljava/math/BigDecimal;"/>
+		<method name="divideToIntegralValue(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;"/>
+		<method name="divideToIntegralValue(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="intValueExact()I"/>
+		<method name="longValueExact()J"/>
+		<method name="max(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;"/>
+		<method name="min(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;"/>
+		<method name="movePointLeft(I)Ljava/math/BigDecimal;"/>
+		<method name="movePointRight(I)Ljava/math/BigDecimal;"/>
+		<method name="multiply(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;"/>
+		<method name="multiply(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="negate()Ljava/math/BigDecimal;"/>
+		<method name="negate(Ljava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="plus()Ljava/math/BigDecimal;"/>
+		<method name="plus(Ljava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="pow(I)Ljava/math/BigDecimal;"/>
+		<method name="pow(ILjava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="precision()I"/>
+		<method name="remainder(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;"/>
+		<method name="remainder(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="round(Ljava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="scale()I"/>
+		<method name="scaleByPowerOfTen(I)Ljava/math/BigDecimal;"/>
+		<method name="setScale(I)Ljava/math/BigDecimal;"/>
+		<method name="setScale(II)Ljava/math/BigDecimal;"/>
+		<method name="setScale(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;"/>
+		<method name="shortValueExact()S"/>
+		<method name="signum()I"/>
+		<method name="stripTrailingZeros()Ljava/math/BigDecimal;"/>
+		<method name="subtract(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;"/>
+		<method name="subtract(Ljava/math/BigDecimal;Ljava/math/MathContext;)Ljava/math/BigDecimal;"/>
+		<method name="toBigInteger()Ljava/math/BigInteger;"/>
+		<method name="toBigIntegerExact()Ljava/math/BigInteger;"/>
+		<method name="toEngineeringString()Ljava/lang/String;"/>
+		<method name="toPlainString()Ljava/lang/String;"/>
+		<method name="ulp()Ljava/math/BigDecimal;"/>
+		<method name="unscaledValue()Ljava/math/BigInteger;"/>
+		<method name="valueOf(D)Ljava/math/BigDecimal;"/>
+		<method name="valueOf(J)Ljava/math/BigDecimal;"/>
+		<method name="valueOf(JI)Ljava/math/BigDecimal;"/>
+		<field name="ONE"/>
+		<field name="ROUND_CEILING"/>
+		<field name="ROUND_DOWN"/>
+		<field name="ROUND_FLOOR"/>
+		<field name="ROUND_HALF_DOWN"/>
+		<field name="ROUND_HALF_EVEN"/>
+		<field name="ROUND_HALF_UP"/>
+		<field name="ROUND_UNNECESSARY"/>
+		<field name="ROUND_UP"/>
+		<field name="TEN"/>
+		<field name="ZERO"/>
+	</class>
+	<class name="java/math/BigInteger" since="1">
+		<extends name="java/lang/Number"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(IILjava/util/Random;)V"/>
+		<method name="&lt;init>(ILjava/util/Random;)V"/>
+		<method name="&lt;init>(I[B)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="abs()Ljava/math/BigInteger;"/>
+		<method name="add(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="and(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="andNot(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="bitCount()I"/>
+		<method name="bitLength()I"/>
+		<method name="byteValueExact()B" since="31"/>
+		<method name="clearBit(I)Ljava/math/BigInteger;"/>
+		<method name="compareTo(Ljava/math/BigInteger;)I"/>
+		<method name="divide(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="divideAndRemainder(Ljava/math/BigInteger;)[Ljava/math/BigInteger;"/>
+		<method name="flipBit(I)Ljava/math/BigInteger;"/>
+		<method name="gcd(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="getLowestSetBit()I"/>
+		<method name="intValueExact()I" since="31"/>
+		<method name="isProbablePrime(I)Z"/>
+		<method name="longValueExact()J" since="31"/>
+		<method name="max(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="min(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="mod(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="modInverse(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="modPow(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="negate()Ljava/math/BigInteger;"/>
+		<method name="nextProbablePrime()Ljava/math/BigInteger;"/>
+		<method name="not()Ljava/math/BigInteger;"/>
+		<method name="or(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="pow(I)Ljava/math/BigInteger;"/>
+		<method name="probablePrime(ILjava/util/Random;)Ljava/math/BigInteger;"/>
+		<method name="remainder(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="setBit(I)Ljava/math/BigInteger;"/>
+		<method name="shiftLeft(I)Ljava/math/BigInteger;"/>
+		<method name="shiftRight(I)Ljava/math/BigInteger;"/>
+		<method name="shortValueExact()S" since="31"/>
+		<method name="signum()I"/>
+		<method name="subtract(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<method name="testBit(I)Z"/>
+		<method name="toByteArray()[B"/>
+		<method name="toString(I)Ljava/lang/String;"/>
+		<method name="valueOf(J)Ljava/math/BigInteger;"/>
+		<method name="xor(Ljava/math/BigInteger;)Ljava/math/BigInteger;"/>
+		<field name="ONE"/>
+		<field name="TEN"/>
+		<field name="ZERO"/>
+	</class>
+	<class name="java/math/MathContext" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/math/RoundingMode;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getPrecision()I"/>
+		<method name="getRoundingMode()Ljava/math/RoundingMode;"/>
+		<field name="DECIMAL128"/>
+		<field name="DECIMAL32"/>
+		<field name="DECIMAL64"/>
+		<field name="UNLIMITED"/>
+	</class>
+	<class name="java/math/RoundingMode" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(I)Ljava/math/RoundingMode;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/math/RoundingMode;"/>
+		<method name="values()[Ljava/math/RoundingMode;"/>
+		<field name="CEILING"/>
+		<field name="DOWN"/>
+		<field name="FLOOR"/>
+		<field name="HALF_DOWN"/>
+		<field name="HALF_EVEN"/>
+		<field name="HALF_UP"/>
+		<field name="UNNECESSARY"/>
+		<field name="UP"/>
+	</class>
+	<class name="java/net/Authenticator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getPasswordAuthentication()Ljava/net/PasswordAuthentication;"/>
+		<method name="getRequestingHost()Ljava/lang/String;"/>
+		<method name="getRequestingPort()I"/>
+		<method name="getRequestingPrompt()Ljava/lang/String;"/>
+		<method name="getRequestingProtocol()Ljava/lang/String;"/>
+		<method name="getRequestingScheme()Ljava/lang/String;"/>
+		<method name="getRequestingSite()Ljava/net/InetAddress;"/>
+		<method name="getRequestingURL()Ljava/net/URL;"/>
+		<method name="getRequestorType()Ljava/net/Authenticator$RequestorType;"/>
+		<method name="requestPasswordAuthentication(Ljava/lang/String;Ljava/net/InetAddress;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/net/PasswordAuthentication;"/>
+		<method name="requestPasswordAuthentication(Ljava/lang/String;Ljava/net/InetAddress;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/net/Authenticator$RequestorType;)Ljava/net/PasswordAuthentication;"/>
+		<method name="requestPasswordAuthentication(Ljava/net/InetAddress;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/net/PasswordAuthentication;"/>
+		<method name="setDefault(Ljava/net/Authenticator;)V"/>
+	</class>
+	<class name="java/net/Authenticator$RequestorType" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/net/Authenticator$RequestorType;"/>
+		<method name="values()[Ljava/net/Authenticator$RequestorType;"/>
+		<field name="PROXY"/>
+		<field name="SERVER"/>
+	</class>
+	<class name="java/net/BindException" since="1">
+		<extends name="java/net/SocketException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/CacheRequest" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="abort()V"/>
+		<method name="getBody()Ljava/io/OutputStream;"/>
+	</class>
+	<class name="java/net/CacheResponse" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getBody()Ljava/io/InputStream;"/>
+		<method name="getHeaders()Ljava/util/Map;"/>
+	</class>
+	<class name="java/net/ConnectException" since="1">
+		<extends name="java/net/SocketException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/ContentHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContent(Ljava/net/URLConnection;)Ljava/lang/Object;"/>
+		<method name="getContent(Ljava/net/URLConnection;[Ljava/lang/Class;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/net/ContentHandlerFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="createContentHandler(Ljava/lang/String;)Ljava/net/ContentHandler;"/>
+	</class>
+	<class name="java/net/CookieHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="get(Ljava/net/URI;Ljava/util/Map;)Ljava/util/Map;"/>
+		<method name="getDefault()Ljava/net/CookieHandler;"/>
+		<method name="put(Ljava/net/URI;Ljava/util/Map;)V"/>
+		<method name="setDefault(Ljava/net/CookieHandler;)V"/>
+	</class>
+	<class name="java/net/CookieManager" since="9">
+		<extends name="java/net/CookieHandler"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/net/CookieStore;Ljava/net/CookiePolicy;)V"/>
+		<method name="getCookieStore()Ljava/net/CookieStore;"/>
+		<method name="setCookiePolicy(Ljava/net/CookiePolicy;)V"/>
+	</class>
+	<class name="java/net/CookiePolicy" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="shouldAccept(Ljava/net/URI;Ljava/net/HttpCookie;)Z"/>
+		<field name="ACCEPT_ALL"/>
+		<field name="ACCEPT_NONE"/>
+		<field name="ACCEPT_ORIGINAL_SERVER"/>
+	</class>
+	<class name="java/net/CookieStore" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="add(Ljava/net/URI;Ljava/net/HttpCookie;)V"/>
+		<method name="get(Ljava/net/URI;)Ljava/util/List;"/>
+		<method name="getCookies()Ljava/util/List;"/>
+		<method name="getURIs()Ljava/util/List;"/>
+		<method name="remove(Ljava/net/URI;Ljava/net/HttpCookie;)Z"/>
+		<method name="removeAll()Z"/>
+	</class>
+	<class name="java/net/DatagramPacket" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>([BI)V"/>
+		<method name="&lt;init>([BII)V"/>
+		<method name="&lt;init>([BIILjava/net/InetAddress;I)V"/>
+		<method name="&lt;init>([BIILjava/net/SocketAddress;)V"/>
+		<method name="&lt;init>([BILjava/net/InetAddress;I)V"/>
+		<method name="&lt;init>([BILjava/net/SocketAddress;)V"/>
+		<method name="getAddress()Ljava/net/InetAddress;"/>
+		<method name="getData()[B"/>
+		<method name="getLength()I"/>
+		<method name="getOffset()I"/>
+		<method name="getPort()I"/>
+		<method name="getSocketAddress()Ljava/net/SocketAddress;"/>
+		<method name="setAddress(Ljava/net/InetAddress;)V"/>
+		<method name="setData([B)V"/>
+		<method name="setData([BII)V"/>
+		<method name="setLength(I)V"/>
+		<method name="setPort(I)V"/>
+		<method name="setSocketAddress(Ljava/net/SocketAddress;)V"/>
+	</class>
+	<class name="java/net/DatagramSocket" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/net/InetAddress;)V"/>
+		<method name="&lt;init>(Ljava/net/DatagramSocketImpl;)V"/>
+		<method name="&lt;init>(Ljava/net/SocketAddress;)V"/>
+		<method name="bind(Ljava/net/SocketAddress;)V"/>
+		<method name="close()V"/>
+		<method name="connect(Ljava/net/InetAddress;I)V"/>
+		<method name="connect(Ljava/net/SocketAddress;)V"/>
+		<method name="disconnect()V"/>
+		<method name="getBroadcast()Z"/>
+		<method name="getChannel()Ljava/nio/channels/DatagramChannel;"/>
+		<method name="getInetAddress()Ljava/net/InetAddress;"/>
+		<method name="getLocalAddress()Ljava/net/InetAddress;"/>
+		<method name="getLocalPort()I"/>
+		<method name="getLocalSocketAddress()Ljava/net/SocketAddress;"/>
+		<method name="getPort()I"/>
+		<method name="getReceiveBufferSize()I"/>
+		<method name="getRemoteSocketAddress()Ljava/net/SocketAddress;"/>
+		<method name="getReuseAddress()Z"/>
+		<method name="getSendBufferSize()I"/>
+		<method name="getSoTimeout()I"/>
+		<method name="getTrafficClass()I"/>
+		<method name="isBound()Z"/>
+		<method name="isClosed()Z"/>
+		<method name="isConnected()Z"/>
+		<method name="receive(Ljava/net/DatagramPacket;)V"/>
+		<method name="send(Ljava/net/DatagramPacket;)V"/>
+		<method name="setBroadcast(Z)V"/>
+		<method name="setDatagramSocketImplFactory(Ljava/net/DatagramSocketImplFactory;)V"/>
+		<method name="setReceiveBufferSize(I)V"/>
+		<method name="setReuseAddress(Z)V"/>
+		<method name="setSendBufferSize(I)V"/>
+		<method name="setSoTimeout(I)V"/>
+		<method name="setTrafficClass(I)V"/>
+	</class>
+	<class name="java/net/DatagramSocketImpl" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/net/SocketOptions"/>
+		<method name="&lt;init>()V"/>
+		<method name="bind(ILjava/net/InetAddress;)V"/>
+		<method name="close()V"/>
+		<method name="connect(Ljava/net/InetAddress;I)V"/>
+		<method name="create()V"/>
+		<method name="disconnect()V"/>
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;"/>
+		<method name="getLocalPort()I"/>
+		<method name="getTTL()B" deprecated="15"/>
+		<method name="getTimeToLive()I"/>
+		<method name="join(Ljava/net/InetAddress;)V"/>
+		<method name="joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V"/>
+		<method name="leave(Ljava/net/InetAddress;)V"/>
+		<method name="leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V"/>
+		<method name="peek(Ljava/net/InetAddress;)I"/>
+		<method name="peekData(Ljava/net/DatagramPacket;)I"/>
+		<method name="receive(Ljava/net/DatagramPacket;)V"/>
+		<method name="send(Ljava/net/DatagramPacket;)V"/>
+		<method name="setTTL(B)V" deprecated="15"/>
+		<method name="setTimeToLive(I)V"/>
+		<field name="fd"/>
+		<field name="localPort"/>
+	</class>
+	<class name="java/net/DatagramSocketImplFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="createDatagramSocketImpl()Ljava/net/DatagramSocketImpl;"/>
+	</class>
+	<class name="java/net/FileNameMap" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getContentTypeFor(Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/net/HttpCookie" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="domainMatches(Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="getComment()Ljava/lang/String;"/>
+		<method name="getCommentURL()Ljava/lang/String;"/>
+		<method name="getDiscard()Z"/>
+		<method name="getDomain()Ljava/lang/String;"/>
+		<method name="getMaxAge()J"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPath()Ljava/lang/String;"/>
+		<method name="getPortlist()Ljava/lang/String;"/>
+		<method name="getSecure()Z"/>
+		<method name="getValue()Ljava/lang/String;"/>
+		<method name="getVersion()I"/>
+		<method name="hasExpired()Z"/>
+		<method name="isHttpOnly()Z" since="24"/>
+		<method name="parse(Ljava/lang/String;)Ljava/util/List;"/>
+		<method name="setComment(Ljava/lang/String;)V"/>
+		<method name="setCommentURL(Ljava/lang/String;)V"/>
+		<method name="setDiscard(Z)V"/>
+		<method name="setDomain(Ljava/lang/String;)V"/>
+		<method name="setHttpOnly(Z)V" since="24"/>
+		<method name="setMaxAge(J)V"/>
+		<method name="setPath(Ljava/lang/String;)V"/>
+		<method name="setPortlist(Ljava/lang/String;)V"/>
+		<method name="setSecure(Z)V"/>
+		<method name="setValue(Ljava/lang/String;)V"/>
+		<method name="setVersion(I)V"/>
+	</class>
+	<class name="java/net/HttpRetryException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="getLocation()Ljava/lang/String;"/>
+		<method name="getReason()Ljava/lang/String;"/>
+		<method name="responseCode()I"/>
+	</class>
+	<class name="java/net/HttpURLConnection" since="1">
+		<extends name="java/net/URLConnection"/>
+		<method name="&lt;init>(Ljava/net/URL;)V"/>
+		<method name="disconnect()V"/>
+		<method name="getErrorStream()Ljava/io/InputStream;"/>
+		<method name="getFollowRedirects()Z"/>
+		<method name="getInstanceFollowRedirects()Z"/>
+		<method name="getRequestMethod()Ljava/lang/String;"/>
+		<method name="getResponseCode()I"/>
+		<method name="getResponseMessage()Ljava/lang/String;"/>
+		<method name="setChunkedStreamingMode(I)V"/>
+		<method name="setFixedLengthStreamingMode(I)V"/>
+		<method name="setFixedLengthStreamingMode(J)V" since="19"/>
+		<method name="setFollowRedirects(Z)V"/>
+		<method name="setInstanceFollowRedirects(Z)V"/>
+		<method name="setRequestMethod(Ljava/lang/String;)V"/>
+		<method name="usingProxy()Z"/>
+		<field name="HTTP_ACCEPTED"/>
+		<field name="HTTP_BAD_GATEWAY"/>
+		<field name="HTTP_BAD_METHOD"/>
+		<field name="HTTP_BAD_REQUEST"/>
+		<field name="HTTP_CLIENT_TIMEOUT"/>
+		<field name="HTTP_CONFLICT"/>
+		<field name="HTTP_CREATED"/>
+		<field name="HTTP_ENTITY_TOO_LARGE"/>
+		<field name="HTTP_FORBIDDEN"/>
+		<field name="HTTP_GATEWAY_TIMEOUT"/>
+		<field name="HTTP_GONE"/>
+		<field name="HTTP_INTERNAL_ERROR"/>
+		<field name="HTTP_LENGTH_REQUIRED"/>
+		<field name="HTTP_MOVED_PERM"/>
+		<field name="HTTP_MOVED_TEMP"/>
+		<field name="HTTP_MULT_CHOICE"/>
+		<field name="HTTP_NOT_ACCEPTABLE"/>
+		<field name="HTTP_NOT_AUTHORITATIVE"/>
+		<field name="HTTP_NOT_FOUND"/>
+		<field name="HTTP_NOT_IMPLEMENTED"/>
+		<field name="HTTP_NOT_MODIFIED"/>
+		<field name="HTTP_NO_CONTENT"/>
+		<field name="HTTP_OK"/>
+		<field name="HTTP_PARTIAL"/>
+		<field name="HTTP_PAYMENT_REQUIRED"/>
+		<field name="HTTP_PRECON_FAILED"/>
+		<field name="HTTP_PROXY_AUTH"/>
+		<field name="HTTP_REQ_TOO_LONG"/>
+		<field name="HTTP_RESET"/>
+		<field name="HTTP_SEE_OTHER"/>
+		<field name="HTTP_SERVER_ERROR" deprecated="15"/>
+		<field name="HTTP_UNAUTHORIZED"/>
+		<field name="HTTP_UNAVAILABLE"/>
+		<field name="HTTP_UNSUPPORTED_TYPE"/>
+		<field name="HTTP_USE_PROXY"/>
+		<field name="HTTP_VERSION"/>
+		<field name="chunkLength"/>
+		<field name="fixedContentLength"/>
+		<field name="fixedContentLengthLong" since="19"/>
+		<field name="instanceFollowRedirects"/>
+		<field name="method"/>
+		<field name="responseCode"/>
+		<field name="responseMessage"/>
+	</class>
+	<class name="java/net/IDN" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="toASCII(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toASCII(Ljava/lang/String;I)Ljava/lang/String;"/>
+		<method name="toUnicode(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="toUnicode(Ljava/lang/String;I)Ljava/lang/String;"/>
+		<field name="ALLOW_UNASSIGNED"/>
+		<field name="USE_STD3_ASCII_RULES"/>
+	</class>
+	<class name="java/net/Inet4Address" since="1">
+		<extends name="java/net/InetAddress"/>
+	</class>
+	<class name="java/net/Inet6Address" since="1">
+		<extends name="java/net/InetAddress"/>
+		<method name="getByAddress(Ljava/lang/String;[BI)Ljava/net/Inet6Address;"/>
+		<method name="getByAddress(Ljava/lang/String;[BLjava/net/NetworkInterface;)Ljava/net/Inet6Address;"/>
+		<method name="getScopeId()I"/>
+		<method name="getScopedInterface()Ljava/net/NetworkInterface;"/>
+		<method name="isIPv4CompatibleAddress()Z"/>
+	</class>
+	<class name="java/net/InetAddress" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="getAddress()[B"/>
+		<method name="getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;"/>
+		<method name="getByAddress(Ljava/lang/String;[B)Ljava/net/InetAddress;"/>
+		<method name="getByAddress([B)Ljava/net/InetAddress;"/>
+		<method name="getByName(Ljava/lang/String;)Ljava/net/InetAddress;"/>
+		<method name="getCanonicalHostName()Ljava/lang/String;"/>
+		<method name="getHostAddress()Ljava/lang/String;"/>
+		<method name="getHostName()Ljava/lang/String;"/>
+		<method name="getLocalHost()Ljava/net/InetAddress;"/>
+		<method name="getLoopbackAddress()Ljava/net/InetAddress;" since="19"/>
+		<method name="isAnyLocalAddress()Z"/>
+		<method name="isLinkLocalAddress()Z"/>
+		<method name="isLoopbackAddress()Z"/>
+		<method name="isMCGlobal()Z"/>
+		<method name="isMCLinkLocal()Z"/>
+		<method name="isMCNodeLocal()Z"/>
+		<method name="isMCOrgLocal()Z"/>
+		<method name="isMCSiteLocal()Z"/>
+		<method name="isMulticastAddress()Z"/>
+		<method name="isReachable(I)Z"/>
+		<method name="isReachable(Ljava/net/NetworkInterface;II)Z"/>
+		<method name="isSiteLocalAddress()Z"/>
+	</class>
+	<class name="java/net/InetSocketAddress" since="1">
+		<extends name="java/net/SocketAddress"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/net/InetAddress;I)V"/>
+		<method name="createUnresolved(Ljava/lang/String;I)Ljava/net/InetSocketAddress;"/>
+		<method name="getAddress()Ljava/net/InetAddress;"/>
+		<method name="getHostName()Ljava/lang/String;"/>
+		<method name="getHostString()Ljava/lang/String;" since="19"/>
+		<method name="getPort()I"/>
+		<method name="isUnresolved()Z"/>
+	</class>
+	<class name="java/net/InterfaceAddress" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="getAddress()Ljava/net/InetAddress;"/>
+		<method name="getBroadcast()Ljava/net/InetAddress;"/>
+		<method name="getNetworkPrefixLength()S"/>
+	</class>
+	<class name="java/net/JarURLConnection" since="1">
+		<extends name="java/net/URLConnection"/>
+		<method name="&lt;init>(Ljava/net/URL;)V"/>
+		<method name="getAttributes()Ljava/util/jar/Attributes;"/>
+		<method name="getCertificates()[Ljava/security/cert/Certificate;"/>
+		<method name="getEntryName()Ljava/lang/String;"/>
+		<method name="getJarEntry()Ljava/util/jar/JarEntry;"/>
+		<method name="getJarFile()Ljava/util/jar/JarFile;"/>
+		<method name="getJarFileURL()Ljava/net/URL;"/>
+		<method name="getMainAttributes()Ljava/util/jar/Attributes;"/>
+		<method name="getManifest()Ljava/util/jar/Manifest;"/>
+		<field name="jarFileURLConnection"/>
+	</class>
+	<class name="java/net/MalformedURLException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/MulticastSocket" since="1">
+		<extends name="java/net/DatagramSocket"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/net/SocketAddress;)V"/>
+		<method name="getInterface()Ljava/net/InetAddress;"/>
+		<method name="getLoopbackMode()Z"/>
+		<method name="getNetworkInterface()Ljava/net/NetworkInterface;"/>
+		<method name="getTTL()B" deprecated="15"/>
+		<method name="getTimeToLive()I"/>
+		<method name="joinGroup(Ljava/net/InetAddress;)V"/>
+		<method name="joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V"/>
+		<method name="leaveGroup(Ljava/net/InetAddress;)V"/>
+		<method name="leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V"/>
+		<method name="send(Ljava/net/DatagramPacket;B)V" deprecated="15"/>
+		<method name="setInterface(Ljava/net/InetAddress;)V"/>
+		<method name="setLoopbackMode(Z)V"/>
+		<method name="setNetworkInterface(Ljava/net/NetworkInterface;)V"/>
+		<method name="setTTL(B)V" deprecated="15"/>
+		<method name="setTimeToLive(I)V"/>
+	</class>
+	<class name="java/net/NetPermission" since="1">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/NetworkInterface" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getByIndex(I)Ljava/net/NetworkInterface;" since="19"/>
+		<method name="getByInetAddress(Ljava/net/InetAddress;)Ljava/net/NetworkInterface;"/>
+		<method name="getByName(Ljava/lang/String;)Ljava/net/NetworkInterface;"/>
+		<method name="getDisplayName()Ljava/lang/String;"/>
+		<method name="getHardwareAddress()[B" since="9"/>
+		<method name="getIndex()I" since="19"/>
+		<method name="getInetAddresses()Ljava/util/Enumeration;"/>
+		<method name="getInterfaceAddresses()Ljava/util/List;" since="9"/>
+		<method name="getMTU()I" since="9"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getNetworkInterfaces()Ljava/util/Enumeration;"/>
+		<method name="getParent()Ljava/net/NetworkInterface;" since="9"/>
+		<method name="getSubInterfaces()Ljava/util/Enumeration;" since="9"/>
+		<method name="isLoopback()Z" since="9"/>
+		<method name="isPointToPoint()Z" since="9"/>
+		<method name="isUp()Z" since="9"/>
+		<method name="isVirtual()Z" since="9"/>
+		<method name="supportsMulticast()Z" since="9"/>
+	</class>
+	<class name="java/net/NoRouteToHostException" since="1">
+		<extends name="java/net/SocketException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/PasswordAuthentication" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;[C)V"/>
+		<method name="getPassword()[C"/>
+		<method name="getUserName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/net/PortUnreachableException" since="1">
+		<extends name="java/net/SocketException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/ProtocolException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/ProtocolFamily" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="name()Ljava/lang/String;"/>
+	</class>
+	<class name="java/net/Proxy" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V"/>
+		<method name="address()Ljava/net/SocketAddress;"/>
+		<method name="type()Ljava/net/Proxy$Type;"/>
+		<field name="NO_PROXY"/>
+	</class>
+	<class name="java/net/Proxy$Type" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/net/Proxy$Type;"/>
+		<method name="values()[Ljava/net/Proxy$Type;"/>
+		<field name="DIRECT"/>
+		<field name="HTTP"/>
+		<field name="SOCKS"/>
+	</class>
+	<class name="java/net/ProxySelector" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="connectFailed(Ljava/net/URI;Ljava/net/SocketAddress;Ljava/io/IOException;)V"/>
+		<method name="getDefault()Ljava/net/ProxySelector;"/>
+		<method name="select(Ljava/net/URI;)Ljava/util/List;"/>
+		<method name="setDefault(Ljava/net/ProxySelector;)V"/>
+	</class>
+	<class name="java/net/ResponseCache" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="get(Ljava/net/URI;Ljava/lang/String;Ljava/util/Map;)Ljava/net/CacheResponse;"/>
+		<method name="getDefault()Ljava/net/ResponseCache;"/>
+		<method name="put(Ljava/net/URI;Ljava/net/URLConnection;)Ljava/net/CacheRequest;"/>
+		<method name="setDefault(Ljava/net/ResponseCache;)V"/>
+	</class>
+	<class name="java/net/SecureCacheResponse" since="1">
+		<extends name="java/net/CacheResponse"/>
+		<method name="&lt;init>()V"/>
+		<method name="getCipherSuite()Ljava/lang/String;"/>
+		<method name="getLocalCertificateChain()Ljava/util/List;"/>
+		<method name="getLocalPrincipal()Ljava/security/Principal;"/>
+		<method name="getPeerPrincipal()Ljava/security/Principal;"/>
+		<method name="getServerCertificateChain()Ljava/util/List;"/>
+	</class>
+	<class name="java/net/ServerSocket" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(IILjava/net/InetAddress;)V"/>
+		<method name="&lt;init>(Ljava/net/SocketImpl;)V" removed="2"/>
+		<method name="accept()Ljava/net/Socket;"/>
+		<method name="bind(Ljava/net/SocketAddress;)V"/>
+		<method name="bind(Ljava/net/SocketAddress;I)V"/>
+		<method name="close()V"/>
+		<method name="getChannel()Ljava/nio/channels/ServerSocketChannel;"/>
+		<method name="getInetAddress()Ljava/net/InetAddress;"/>
+		<method name="getLocalPort()I"/>
+		<method name="getLocalSocketAddress()Ljava/net/SocketAddress;"/>
+		<method name="getReceiveBufferSize()I"/>
+		<method name="getReuseAddress()Z"/>
+		<method name="getSoTimeout()I"/>
+		<method name="implAccept(Ljava/net/Socket;)V"/>
+		<method name="isBound()Z"/>
+		<method name="isClosed()Z"/>
+		<method name="setPerformancePreferences(III)V"/>
+		<method name="setReceiveBufferSize(I)V"/>
+		<method name="setReuseAddress(Z)V"/>
+		<method name="setSoTimeout(I)V"/>
+		<method name="setSocketFactory(Ljava/net/SocketImplFactory;)V"/>
+	</class>
+	<class name="java/net/Socket" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/net/InetAddress;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;IZ)V" deprecated="15"/>
+		<method name="&lt;init>(Ljava/net/InetAddress;I)V"/>
+		<method name="&lt;init>(Ljava/net/InetAddress;ILjava/net/InetAddress;I)V"/>
+		<method name="&lt;init>(Ljava/net/InetAddress;IZ)V" deprecated="15"/>
+		<method name="&lt;init>(Ljava/net/Proxy;)V"/>
+		<method name="&lt;init>(Ljava/net/SocketImpl;)V"/>
+		<method name="bind(Ljava/net/SocketAddress;)V"/>
+		<method name="close()V"/>
+		<method name="connect(Ljava/net/SocketAddress;)V"/>
+		<method name="connect(Ljava/net/SocketAddress;I)V"/>
+		<method name="getChannel()Ljava/nio/channels/SocketChannel;"/>
+		<method name="getInetAddress()Ljava/net/InetAddress;"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getKeepAlive()Z"/>
+		<method name="getLocalAddress()Ljava/net/InetAddress;"/>
+		<method name="getLocalPort()I"/>
+		<method name="getLocalSocketAddress()Ljava/net/SocketAddress;"/>
+		<method name="getOOBInline()Z"/>
+		<method name="getOutputStream()Ljava/io/OutputStream;"/>
+		<method name="getPort()I"/>
+		<method name="getReceiveBufferSize()I"/>
+		<method name="getRemoteSocketAddress()Ljava/net/SocketAddress;"/>
+		<method name="getReuseAddress()Z"/>
+		<method name="getSendBufferSize()I"/>
+		<method name="getSoLinger()I"/>
+		<method name="getSoTimeout()I"/>
+		<method name="getTcpNoDelay()Z"/>
+		<method name="getTrafficClass()I"/>
+		<method name="isBound()Z"/>
+		<method name="isClosed()Z"/>
+		<method name="isConnected()Z"/>
+		<method name="isInputShutdown()Z"/>
+		<method name="isOutputShutdown()Z"/>
+		<method name="sendUrgentData(I)V"/>
+		<method name="setKeepAlive(Z)V"/>
+		<method name="setOOBInline(Z)V"/>
+		<method name="setPerformancePreferences(III)V"/>
+		<method name="setReceiveBufferSize(I)V"/>
+		<method name="setReuseAddress(Z)V"/>
+		<method name="setSendBufferSize(I)V"/>
+		<method name="setSoLinger(ZI)V"/>
+		<method name="setSoTimeout(I)V"/>
+		<method name="setSocketImplFactory(Ljava/net/SocketImplFactory;)V"/>
+		<method name="setTcpNoDelay(Z)V"/>
+		<method name="setTrafficClass(I)V"/>
+		<method name="shutdownInput()V"/>
+		<method name="shutdownOutput()V"/>
+	</class>
+	<class name="java/net/SocketAddress" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/net/SocketException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/SocketImpl" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/net/SocketOptions"/>
+		<method name="&lt;init>()V"/>
+		<method name="accept(Ljava/net/SocketImpl;)V"/>
+		<method name="available()I"/>
+		<method name="bind(Ljava/net/InetAddress;I)V"/>
+		<method name="close()V"/>
+		<method name="connect(Ljava/lang/String;I)V"/>
+		<method name="connect(Ljava/net/InetAddress;I)V"/>
+		<method name="connect(Ljava/net/SocketAddress;I)V"/>
+		<method name="create(Z)V"/>
+		<method name="getFileDescriptor()Ljava/io/FileDescriptor;"/>
+		<method name="getInetAddress()Ljava/net/InetAddress;"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getLocalPort()I"/>
+		<method name="getOutputStream()Ljava/io/OutputStream;"/>
+		<method name="getPort()I"/>
+		<method name="listen(I)V"/>
+		<method name="sendUrgentData(I)V"/>
+		<method name="setPerformancePreferences(III)V"/>
+		<method name="shutdownInput()V"/>
+		<method name="shutdownOutput()V"/>
+		<method name="supportsUrgentData()Z"/>
+		<field name="address"/>
+		<field name="fd"/>
+		<field name="localport"/>
+		<field name="port"/>
+	</class>
+	<class name="java/net/SocketImplFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="createSocketImpl()Ljava/net/SocketImpl;"/>
+	</class>
+	<class name="java/net/SocketOption" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="name()Ljava/lang/String;"/>
+		<method name="type()Ljava/lang/Class;"/>
+	</class>
+	<class name="java/net/SocketOptions" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getOption(I)Ljava/lang/Object;"/>
+		<method name="setOption(ILjava/lang/Object;)V"/>
+		<field name="IP_MULTICAST_IF"/>
+		<field name="IP_MULTICAST_IF2"/>
+		<field name="IP_MULTICAST_LOOP"/>
+		<field name="IP_TOS"/>
+		<field name="SO_BINDADDR"/>
+		<field name="SO_BROADCAST"/>
+		<field name="SO_KEEPALIVE"/>
+		<field name="SO_LINGER"/>
+		<field name="SO_OOBINLINE"/>
+		<field name="SO_RCVBUF"/>
+		<field name="SO_REUSEADDR"/>
+		<field name="SO_SNDBUF"/>
+		<field name="SO_TIMEOUT"/>
+		<field name="TCP_NODELAY"/>
+	</class>
+	<class name="java/net/SocketPermission" since="1">
+		<extends name="java/security/Permission"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/SocketTimeoutException" since="1">
+		<extends name="java/io/InterruptedIOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/StandardProtocolFamily" since="24">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/net/ProtocolFamily"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/net/StandardProtocolFamily;"/>
+		<method name="values()[Ljava/net/StandardProtocolFamily;"/>
+		<field name="INET"/>
+		<field name="INET6"/>
+	</class>
+	<class name="java/net/StandardSocketOptions" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="IP_MULTICAST_IF"/>
+		<field name="IP_MULTICAST_LOOP"/>
+		<field name="IP_MULTICAST_TTL"/>
+		<field name="IP_TOS"/>
+		<field name="SO_BROADCAST"/>
+		<field name="SO_KEEPALIVE"/>
+		<field name="SO_LINGER"/>
+		<field name="SO_RCVBUF"/>
+		<field name="SO_REUSEADDR"/>
+		<field name="SO_SNDBUF"/>
+		<field name="TCP_NODELAY"/>
+	</class>
+	<class name="java/net/URI" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="compareTo(Ljava/net/URI;)I"/>
+		<method name="create(Ljava/lang/String;)Ljava/net/URI;"/>
+		<method name="getAuthority()Ljava/lang/String;"/>
+		<method name="getFragment()Ljava/lang/String;"/>
+		<method name="getHost()Ljava/lang/String;"/>
+		<method name="getPath()Ljava/lang/String;"/>
+		<method name="getPort()I"/>
+		<method name="getQuery()Ljava/lang/String;"/>
+		<method name="getRawAuthority()Ljava/lang/String;"/>
+		<method name="getRawFragment()Ljava/lang/String;"/>
+		<method name="getRawPath()Ljava/lang/String;"/>
+		<method name="getRawQuery()Ljava/lang/String;"/>
+		<method name="getRawSchemeSpecificPart()Ljava/lang/String;"/>
+		<method name="getRawUserInfo()Ljava/lang/String;"/>
+		<method name="getScheme()Ljava/lang/String;"/>
+		<method name="getSchemeSpecificPart()Ljava/lang/String;"/>
+		<method name="getUserInfo()Ljava/lang/String;"/>
+		<method name="isAbsolute()Z"/>
+		<method name="isOpaque()Z"/>
+		<method name="normalize()Ljava/net/URI;"/>
+		<method name="parseServerAuthority()Ljava/net/URI;"/>
+		<method name="relativize(Ljava/net/URI;)Ljava/net/URI;"/>
+		<method name="resolve(Ljava/lang/String;)Ljava/net/URI;"/>
+		<method name="resolve(Ljava/net/URI;)Ljava/net/URI;"/>
+		<method name="toASCIIString()Ljava/lang/String;"/>
+		<method name="toURL()Ljava/net/URL;"/>
+	</class>
+	<class name="java/net/URISyntaxException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="getIndex()I"/>
+		<method name="getInput()Ljava/lang/String;"/>
+		<method name="getReason()Ljava/lang/String;"/>
+	</class>
+	<class name="java/net/URL" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/net/URLStreamHandler;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/net/URL;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/net/URL;Ljava/lang/String;Ljava/net/URLStreamHandler;)V"/>
+		<method name="getAuthority()Ljava/lang/String;"/>
+		<method name="getContent()Ljava/lang/Object;"/>
+		<method name="getContent([Ljava/lang/Class;)Ljava/lang/Object;"/>
+		<method name="getDefaultPort()I"/>
+		<method name="getFile()Ljava/lang/String;"/>
+		<method name="getHost()Ljava/lang/String;"/>
+		<method name="getPath()Ljava/lang/String;"/>
+		<method name="getPort()I"/>
+		<method name="getProtocol()Ljava/lang/String;"/>
+		<method name="getQuery()Ljava/lang/String;"/>
+		<method name="getRef()Ljava/lang/String;"/>
+		<method name="getUserInfo()Ljava/lang/String;"/>
+		<method name="openConnection()Ljava/net/URLConnection;"/>
+		<method name="openConnection(Ljava/net/Proxy;)Ljava/net/URLConnection;"/>
+		<method name="openStream()Ljava/io/InputStream;"/>
+		<method name="sameFile(Ljava/net/URL;)Z"/>
+		<method name="set(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" removed="26"/>
+		<method name="set(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" removed="26"/>
+		<method name="setURLStreamHandlerFactory(Ljava/net/URLStreamHandlerFactory;)V"/>
+		<method name="toExternalForm()Ljava/lang/String;"/>
+		<method name="toURI()Ljava/net/URI;"/>
+	</class>
+	<class name="java/net/URLClassLoader" since="1">
+		<extends name="java/security/SecureClassLoader"/>
+		<implements name="java/io/Closeable" since="24"/>
+		<method name="&lt;init>([Ljava/net/URL;)V"/>
+		<method name="&lt;init>([Ljava/net/URL;Ljava/lang/ClassLoader;)V"/>
+		<method name="&lt;init>([Ljava/net/URL;Ljava/lang/ClassLoader;Ljava/net/URLStreamHandlerFactory;)V"/>
+		<method name="addURL(Ljava/net/URL;)V"/>
+		<method name="definePackage(Ljava/lang/String;Ljava/util/jar/Manifest;Ljava/net/URL;)Ljava/lang/Package;"/>
+		<method name="getURLs()[Ljava/net/URL;"/>
+		<method name="newInstance([Ljava/net/URL;)Ljava/net/URLClassLoader;"/>
+		<method name="newInstance([Ljava/net/URL;Ljava/lang/ClassLoader;)Ljava/net/URLClassLoader;"/>
+	</class>
+	<class name="java/net/URLConnection" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/net/URL;)V"/>
+		<method name="addRequestProperty(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="connect()V"/>
+		<method name="getAllowUserInteraction()Z"/>
+		<method name="getConnectTimeout()I"/>
+		<method name="getContent()Ljava/lang/Object;"/>
+		<method name="getContent([Ljava/lang/Class;)Ljava/lang/Object;"/>
+		<method name="getContentEncoding()Ljava/lang/String;"/>
+		<method name="getContentLength()I"/>
+		<method name="getContentLengthLong()J" since="24"/>
+		<method name="getContentType()Ljava/lang/String;"/>
+		<method name="getDate()J"/>
+		<method name="getDefaultAllowUserInteraction()Z"/>
+		<method name="getDefaultRequestProperty(Ljava/lang/String;)Ljava/lang/String;" deprecated="15"/>
+		<method name="getDefaultUseCaches()Z"/>
+		<method name="getDoInput()Z"/>
+		<method name="getDoOutput()Z"/>
+		<method name="getExpiration()J"/>
+		<method name="getFileNameMap()Ljava/net/FileNameMap;"/>
+		<method name="getHeaderField(I)Ljava/lang/String;"/>
+		<method name="getHeaderField(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getHeaderFieldDate(Ljava/lang/String;J)J"/>
+		<method name="getHeaderFieldInt(Ljava/lang/String;I)I"/>
+		<method name="getHeaderFieldKey(I)Ljava/lang/String;"/>
+		<method name="getHeaderFieldLong(Ljava/lang/String;J)J" since="24"/>
+		<method name="getHeaderFields()Ljava/util/Map;"/>
+		<method name="getIfModifiedSince()J"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getLastModified()J"/>
+		<method name="getOutputStream()Ljava/io/OutputStream;"/>
+		<method name="getPermission()Ljava/security/Permission;"/>
+		<method name="getReadTimeout()I"/>
+		<method name="getRequestProperties()Ljava/util/Map;"/>
+		<method name="getRequestProperty(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getURL()Ljava/net/URL;"/>
+		<method name="getUseCaches()Z"/>
+		<method name="guessContentTypeFromName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="guessContentTypeFromStream(Ljava/io/InputStream;)Ljava/lang/String;"/>
+		<method name="setAllowUserInteraction(Z)V"/>
+		<method name="setConnectTimeout(I)V"/>
+		<method name="setContentHandlerFactory(Ljava/net/ContentHandlerFactory;)V"/>
+		<method name="setDefaultAllowUserInteraction(Z)V"/>
+		<method name="setDefaultRequestProperty(Ljava/lang/String;Ljava/lang/String;)V" deprecated="15"/>
+		<method name="setDefaultUseCaches(Z)V"/>
+		<method name="setDoInput(Z)V"/>
+		<method name="setDoOutput(Z)V"/>
+		<method name="setFileNameMap(Ljava/net/FileNameMap;)V"/>
+		<method name="setIfModifiedSince(J)V"/>
+		<method name="setReadTimeout(I)V"/>
+		<method name="setRequestProperty(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setUseCaches(Z)V"/>
+		<field name="allowUserInteraction"/>
+		<field name="connected"/>
+		<field name="doInput"/>
+		<field name="doOutput"/>
+		<field name="ifModifiedSince"/>
+		<field name="url"/>
+		<field name="useCaches"/>
+	</class>
+	<class name="java/net/URLDecoder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="decode(Ljava/lang/String;)Ljava/lang/String;" deprecated="15"/>
+		<method name="decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/net/URLEncoder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="encode(Ljava/lang/String;)Ljava/lang/String;" deprecated="15"/>
+		<method name="encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/net/URLStreamHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="equals(Ljava/net/URL;Ljava/net/URL;)Z"/>
+		<method name="getDefaultPort()I"/>
+		<method name="getHostAddress(Ljava/net/URL;)Ljava/net/InetAddress;"/>
+		<method name="hashCode(Ljava/net/URL;)I"/>
+		<method name="hostsEqual(Ljava/net/URL;Ljava/net/URL;)Z"/>
+		<method name="openConnection(Ljava/net/URL;)Ljava/net/URLConnection;"/>
+		<method name="openConnection(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/URLConnection;"/>
+		<method name="parseURL(Ljava/net/URL;Ljava/lang/String;II)V"/>
+		<method name="sameFile(Ljava/net/URL;Ljava/net/URL;)Z"/>
+		<method name="setURL(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V" deprecated="15"/>
+		<method name="setURL(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="toExternalForm(Ljava/net/URL;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/net/URLStreamHandlerFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="createURLStreamHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;"/>
+	</class>
+	<class name="java/net/UnknownHostException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/net/UnknownServiceException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/Buffer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="array()Ljava/lang/Object;" since="9"/>
+		<method name="arrayOffset()I" since="9"/>
+		<method name="capacity()I"/>
+		<method name="clear()Ljava/nio/Buffer;"/>
+		<method name="flip()Ljava/nio/Buffer;"/>
+		<method name="hasArray()Z" since="9"/>
+		<method name="hasRemaining()Z"/>
+		<method name="isDirect()Z" since="9"/>
+		<method name="isReadOnly()Z"/>
+		<method name="limit()I"/>
+		<method name="limit(I)Ljava/nio/Buffer;"/>
+		<method name="mark()Ljava/nio/Buffer;"/>
+		<method name="position()I"/>
+		<method name="position(I)Ljava/nio/Buffer;"/>
+		<method name="remaining()I"/>
+		<method name="reset()Ljava/nio/Buffer;"/>
+		<method name="rewind()Ljava/nio/Buffer;"/>
+	</class>
+	<class name="java/nio/BufferOverflowException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/BufferUnderflowException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/ByteBuffer" since="1">
+		<extends name="java/nio/Buffer"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="allocate(I)Ljava/nio/ByteBuffer;"/>
+		<method name="allocateDirect(I)Ljava/nio/ByteBuffer;"/>
+		<method name="array()[B"/>
+		<method name="arrayOffset()I"/>
+		<method name="asCharBuffer()Ljava/nio/CharBuffer;"/>
+		<method name="asDoubleBuffer()Ljava/nio/DoubleBuffer;"/>
+		<method name="asFloatBuffer()Ljava/nio/FloatBuffer;"/>
+		<method name="asIntBuffer()Ljava/nio/IntBuffer;"/>
+		<method name="asLongBuffer()Ljava/nio/LongBuffer;"/>
+		<method name="asReadOnlyBuffer()Ljava/nio/ByteBuffer;"/>
+		<method name="asShortBuffer()Ljava/nio/ShortBuffer;"/>
+		<method name="compact()Ljava/nio/ByteBuffer;"/>
+		<method name="compareTo(Ljava/nio/ByteBuffer;)I"/>
+		<method name="duplicate()Ljava/nio/ByteBuffer;"/>
+		<method name="get()B"/>
+		<method name="get(I)B"/>
+		<method name="get([B)Ljava/nio/ByteBuffer;"/>
+		<method name="get([BII)Ljava/nio/ByteBuffer;"/>
+		<method name="getChar()C"/>
+		<method name="getChar(I)C"/>
+		<method name="getDouble()D"/>
+		<method name="getDouble(I)D"/>
+		<method name="getFloat()F"/>
+		<method name="getFloat(I)F"/>
+		<method name="getInt()I"/>
+		<method name="getInt(I)I"/>
+		<method name="getLong()J"/>
+		<method name="getLong(I)J"/>
+		<method name="getShort()S"/>
+		<method name="getShort(I)S"/>
+		<method name="hasArray()Z"/>
+		<method name="isDirect()Z"/>
+		<method name="order()Ljava/nio/ByteOrder;"/>
+		<method name="order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;"/>
+		<method name="put(B)Ljava/nio/ByteBuffer;"/>
+		<method name="put(IB)Ljava/nio/ByteBuffer;"/>
+		<method name="put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;"/>
+		<method name="put([B)Ljava/nio/ByteBuffer;"/>
+		<method name="put([BII)Ljava/nio/ByteBuffer;"/>
+		<method name="putChar(C)Ljava/nio/ByteBuffer;"/>
+		<method name="putChar(IC)Ljava/nio/ByteBuffer;"/>
+		<method name="putDouble(D)Ljava/nio/ByteBuffer;"/>
+		<method name="putDouble(ID)Ljava/nio/ByteBuffer;"/>
+		<method name="putFloat(F)Ljava/nio/ByteBuffer;"/>
+		<method name="putFloat(IF)Ljava/nio/ByteBuffer;"/>
+		<method name="putInt(I)Ljava/nio/ByteBuffer;"/>
+		<method name="putInt(II)Ljava/nio/ByteBuffer;"/>
+		<method name="putLong(IJ)Ljava/nio/ByteBuffer;"/>
+		<method name="putLong(J)Ljava/nio/ByteBuffer;"/>
+		<method name="putShort(IS)Ljava/nio/ByteBuffer;"/>
+		<method name="putShort(S)Ljava/nio/ByteBuffer;"/>
+		<method name="slice()Ljava/nio/ByteBuffer;"/>
+		<method name="wrap([B)Ljava/nio/ByteBuffer;"/>
+		<method name="wrap([BII)Ljava/nio/ByteBuffer;"/>
+	</class>
+	<class name="java/nio/ByteOrder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="nativeOrder()Ljava/nio/ByteOrder;"/>
+		<field name="BIG_ENDIAN"/>
+		<field name="LITTLE_ENDIAN"/>
+	</class>
+	<class name="java/nio/CharBuffer" since="1">
+		<extends name="java/nio/Buffer"/>
+		<implements name="java/lang/Appendable"/>
+		<implements name="java/lang/CharSequence"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/lang/Readable"/>
+		<method name="allocate(I)Ljava/nio/CharBuffer;"/>
+		<method name="append(C)Ljava/nio/CharBuffer;"/>
+		<method name="append(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;"/>
+		<method name="append(Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer;"/>
+		<method name="array()[C"/>
+		<method name="arrayOffset()I"/>
+		<method name="asReadOnlyBuffer()Ljava/nio/CharBuffer;"/>
+		<method name="compact()Ljava/nio/CharBuffer;"/>
+		<method name="compareTo(Ljava/nio/CharBuffer;)I"/>
+		<method name="duplicate()Ljava/nio/CharBuffer;"/>
+		<method name="get()C"/>
+		<method name="get(I)C"/>
+		<method name="get([C)Ljava/nio/CharBuffer;"/>
+		<method name="get([CII)Ljava/nio/CharBuffer;"/>
+		<method name="hasArray()Z"/>
+		<method name="isDirect()Z"/>
+		<method name="order()Ljava/nio/ByteOrder;"/>
+		<method name="put(C)Ljava/nio/CharBuffer;"/>
+		<method name="put(IC)Ljava/nio/CharBuffer;"/>
+		<method name="put(Ljava/lang/String;)Ljava/nio/CharBuffer;"/>
+		<method name="put(Ljava/lang/String;II)Ljava/nio/CharBuffer;"/>
+		<method name="put(Ljava/nio/CharBuffer;)Ljava/nio/CharBuffer;"/>
+		<method name="put([C)Ljava/nio/CharBuffer;"/>
+		<method name="put([CII)Ljava/nio/CharBuffer;"/>
+		<method name="slice()Ljava/nio/CharBuffer;"/>
+		<method name="subSequence(II)Ljava/nio/CharBuffer;" since="19"/>
+		<method name="wrap(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;"/>
+		<method name="wrap(Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer;"/>
+		<method name="wrap([C)Ljava/nio/CharBuffer;"/>
+		<method name="wrap([CII)Ljava/nio/CharBuffer;"/>
+	</class>
+	<class name="java/nio/DoubleBuffer" since="1">
+		<extends name="java/nio/Buffer"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="allocate(I)Ljava/nio/DoubleBuffer;"/>
+		<method name="array()[D"/>
+		<method name="arrayOffset()I"/>
+		<method name="asReadOnlyBuffer()Ljava/nio/DoubleBuffer;"/>
+		<method name="compact()Ljava/nio/DoubleBuffer;"/>
+		<method name="compareTo(Ljava/nio/DoubleBuffer;)I"/>
+		<method name="duplicate()Ljava/nio/DoubleBuffer;"/>
+		<method name="get()D"/>
+		<method name="get(I)D"/>
+		<method name="get([D)Ljava/nio/DoubleBuffer;"/>
+		<method name="get([DII)Ljava/nio/DoubleBuffer;"/>
+		<method name="hasArray()Z"/>
+		<method name="isDirect()Z"/>
+		<method name="order()Ljava/nio/ByteOrder;"/>
+		<method name="put(D)Ljava/nio/DoubleBuffer;"/>
+		<method name="put(ID)Ljava/nio/DoubleBuffer;"/>
+		<method name="put(Ljava/nio/DoubleBuffer;)Ljava/nio/DoubleBuffer;"/>
+		<method name="put([D)Ljava/nio/DoubleBuffer;"/>
+		<method name="put([DII)Ljava/nio/DoubleBuffer;"/>
+		<method name="slice()Ljava/nio/DoubleBuffer;"/>
+		<method name="wrap([D)Ljava/nio/DoubleBuffer;"/>
+		<method name="wrap([DII)Ljava/nio/DoubleBuffer;"/>
+	</class>
+	<class name="java/nio/FloatBuffer" since="1">
+		<extends name="java/nio/Buffer"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="allocate(I)Ljava/nio/FloatBuffer;"/>
+		<method name="array()[F"/>
+		<method name="arrayOffset()I"/>
+		<method name="asReadOnlyBuffer()Ljava/nio/FloatBuffer;"/>
+		<method name="compact()Ljava/nio/FloatBuffer;"/>
+		<method name="compareTo(Ljava/nio/FloatBuffer;)I"/>
+		<method name="duplicate()Ljava/nio/FloatBuffer;"/>
+		<method name="get()F"/>
+		<method name="get(I)F"/>
+		<method name="get([F)Ljava/nio/FloatBuffer;"/>
+		<method name="get([FII)Ljava/nio/FloatBuffer;"/>
+		<method name="hasArray()Z"/>
+		<method name="isDirect()Z"/>
+		<method name="order()Ljava/nio/ByteOrder;"/>
+		<method name="put(F)Ljava/nio/FloatBuffer;"/>
+		<method name="put(IF)Ljava/nio/FloatBuffer;"/>
+		<method name="put(Ljava/nio/FloatBuffer;)Ljava/nio/FloatBuffer;"/>
+		<method name="put([F)Ljava/nio/FloatBuffer;"/>
+		<method name="put([FII)Ljava/nio/FloatBuffer;"/>
+		<method name="slice()Ljava/nio/FloatBuffer;"/>
+		<method name="wrap([F)Ljava/nio/FloatBuffer;"/>
+		<method name="wrap([FII)Ljava/nio/FloatBuffer;"/>
+	</class>
+	<class name="java/nio/IntBuffer" since="1">
+		<extends name="java/nio/Buffer"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="allocate(I)Ljava/nio/IntBuffer;"/>
+		<method name="array()[I"/>
+		<method name="arrayOffset()I"/>
+		<method name="asReadOnlyBuffer()Ljava/nio/IntBuffer;"/>
+		<method name="compact()Ljava/nio/IntBuffer;"/>
+		<method name="compareTo(Ljava/nio/IntBuffer;)I"/>
+		<method name="duplicate()Ljava/nio/IntBuffer;"/>
+		<method name="get()I"/>
+		<method name="get(I)I"/>
+		<method name="get([I)Ljava/nio/IntBuffer;"/>
+		<method name="get([III)Ljava/nio/IntBuffer;"/>
+		<method name="hasArray()Z"/>
+		<method name="isDirect()Z"/>
+		<method name="order()Ljava/nio/ByteOrder;"/>
+		<method name="put(I)Ljava/nio/IntBuffer;"/>
+		<method name="put(II)Ljava/nio/IntBuffer;"/>
+		<method name="put(Ljava/nio/IntBuffer;)Ljava/nio/IntBuffer;"/>
+		<method name="put([I)Ljava/nio/IntBuffer;"/>
+		<method name="put([III)Ljava/nio/IntBuffer;"/>
+		<method name="slice()Ljava/nio/IntBuffer;"/>
+		<method name="wrap([I)Ljava/nio/IntBuffer;"/>
+		<method name="wrap([III)Ljava/nio/IntBuffer;"/>
+	</class>
+	<class name="java/nio/InvalidMarkException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/LongBuffer" since="1">
+		<extends name="java/nio/Buffer"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="allocate(I)Ljava/nio/LongBuffer;"/>
+		<method name="array()[J"/>
+		<method name="arrayOffset()I"/>
+		<method name="asReadOnlyBuffer()Ljava/nio/LongBuffer;"/>
+		<method name="compact()Ljava/nio/LongBuffer;"/>
+		<method name="compareTo(Ljava/nio/LongBuffer;)I"/>
+		<method name="duplicate()Ljava/nio/LongBuffer;"/>
+		<method name="get()J"/>
+		<method name="get(I)J"/>
+		<method name="get([J)Ljava/nio/LongBuffer;"/>
+		<method name="get([JII)Ljava/nio/LongBuffer;"/>
+		<method name="hasArray()Z"/>
+		<method name="isDirect()Z"/>
+		<method name="order()Ljava/nio/ByteOrder;"/>
+		<method name="put(IJ)Ljava/nio/LongBuffer;"/>
+		<method name="put(J)Ljava/nio/LongBuffer;"/>
+		<method name="put(Ljava/nio/LongBuffer;)Ljava/nio/LongBuffer;"/>
+		<method name="put([J)Ljava/nio/LongBuffer;"/>
+		<method name="put([JII)Ljava/nio/LongBuffer;"/>
+		<method name="slice()Ljava/nio/LongBuffer;"/>
+		<method name="wrap([J)Ljava/nio/LongBuffer;"/>
+		<method name="wrap([JII)Ljava/nio/LongBuffer;"/>
+	</class>
+	<class name="java/nio/MappedByteBuffer" since="1">
+		<extends name="java/nio/ByteBuffer"/>
+		<method name="force()Ljava/nio/MappedByteBuffer;"/>
+		<method name="isLoaded()Z"/>
+		<method name="load()Ljava/nio/MappedByteBuffer;"/>
+	</class>
+	<class name="java/nio/ReadOnlyBufferException" since="1">
+		<extends name="java/lang/UnsupportedOperationException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/ShortBuffer" since="1">
+		<extends name="java/nio/Buffer"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="allocate(I)Ljava/nio/ShortBuffer;"/>
+		<method name="array()[S"/>
+		<method name="arrayOffset()I"/>
+		<method name="asReadOnlyBuffer()Ljava/nio/ShortBuffer;"/>
+		<method name="compact()Ljava/nio/ShortBuffer;"/>
+		<method name="compareTo(Ljava/nio/ShortBuffer;)I"/>
+		<method name="duplicate()Ljava/nio/ShortBuffer;"/>
+		<method name="get()S"/>
+		<method name="get(I)S"/>
+		<method name="get([S)Ljava/nio/ShortBuffer;"/>
+		<method name="get([SII)Ljava/nio/ShortBuffer;"/>
+		<method name="hasArray()Z"/>
+		<method name="isDirect()Z"/>
+		<method name="order()Ljava/nio/ByteOrder;"/>
+		<method name="put(IS)Ljava/nio/ShortBuffer;"/>
+		<method name="put(Ljava/nio/ShortBuffer;)Ljava/nio/ShortBuffer;"/>
+		<method name="put(S)Ljava/nio/ShortBuffer;"/>
+		<method name="put([S)Ljava/nio/ShortBuffer;"/>
+		<method name="put([SII)Ljava/nio/ShortBuffer;"/>
+		<method name="slice()Ljava/nio/ShortBuffer;"/>
+		<method name="wrap([S)Ljava/nio/ShortBuffer;"/>
+		<method name="wrap([SII)Ljava/nio/ShortBuffer;"/>
+	</class>
+	<class name="java/nio/channels/AcceptPendingException" since="26">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/AlreadyBoundException" since="24">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/AlreadyConnectedException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/AsynchronousByteChannel" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/AsynchronousChannel"/>
+		<method name="read(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;"/>
+		<method name="read(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+		<method name="write(Ljava/nio/ByteBuffer;)Ljava/util/concurrent/Future;"/>
+		<method name="write(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+	</class>
+	<class name="java/nio/channels/AsynchronousChannel" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/Channel"/>
+	</class>
+	<class name="java/nio/channels/AsynchronousChannelGroup" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/nio/channels/spi/AsynchronousChannelProvider;)V"/>
+		<method name="awaitTermination(JLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="isShutdown()Z"/>
+		<method name="isTerminated()Z"/>
+		<method name="provider()Ljava/nio/channels/spi/AsynchronousChannelProvider;"/>
+		<method name="shutdown()V"/>
+		<method name="shutdownNow()V"/>
+		<method name="withCachedThreadPool(Ljava/util/concurrent/ExecutorService;I)Ljava/nio/channels/AsynchronousChannelGroup;"/>
+		<method name="withFixedThreadPool(ILjava/util/concurrent/ThreadFactory;)Ljava/nio/channels/AsynchronousChannelGroup;"/>
+		<method name="withThreadPool(Ljava/util/concurrent/ExecutorService;)Ljava/nio/channels/AsynchronousChannelGroup;"/>
+	</class>
+	<class name="java/nio/channels/AsynchronousCloseException" since="1">
+		<extends name="java/nio/channels/ClosedChannelException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/AsynchronousFileChannel" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/AsynchronousChannel"/>
+		<method name="&lt;init>()V"/>
+		<method name="force(Z)V"/>
+		<method name="lock()Ljava/util/concurrent/Future;"/>
+		<method name="lock(JJZ)Ljava/util/concurrent/Future;"/>
+		<method name="lock(JJZLjava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+		<method name="lock(Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+		<method name="open(Ljava/nio/file/Path;Ljava/util/Set;Ljava/util/concurrent/ExecutorService;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/AsynchronousFileChannel;"/>
+		<method name="open(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/AsynchronousFileChannel;"/>
+		<method name="read(Ljava/nio/ByteBuffer;J)Ljava/util/concurrent/Future;"/>
+		<method name="read(Ljava/nio/ByteBuffer;JLjava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+		<method name="size()J"/>
+		<method name="truncate(J)Ljava/nio/channels/AsynchronousFileChannel;"/>
+		<method name="tryLock()Ljava/nio/channels/FileLock;"/>
+		<method name="tryLock(JJZ)Ljava/nio/channels/FileLock;"/>
+		<method name="write(Ljava/nio/ByteBuffer;J)Ljava/util/concurrent/Future;"/>
+		<method name="write(Ljava/nio/ByteBuffer;JLjava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+	</class>
+	<class name="java/nio/channels/AsynchronousServerSocketChannel" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/AsynchronousChannel"/>
+		<implements name="java/nio/channels/NetworkChannel"/>
+		<method name="&lt;init>(Ljava/nio/channels/spi/AsynchronousChannelProvider;)V"/>
+		<method name="accept()Ljava/util/concurrent/Future;"/>
+		<method name="accept(Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/AsynchronousServerSocketChannel;"/>
+		<method name="bind(Ljava/net/SocketAddress;I)Ljava/nio/channels/AsynchronousServerSocketChannel;"/>
+		<method name="open()Ljava/nio/channels/AsynchronousServerSocketChannel;"/>
+		<method name="open(Ljava/nio/channels/AsynchronousChannelGroup;)Ljava/nio/channels/AsynchronousServerSocketChannel;"/>
+		<method name="provider()Ljava/nio/channels/spi/AsynchronousChannelProvider;"/>
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/AsynchronousServerSocketChannel;"/>
+	</class>
+	<class name="java/nio/channels/AsynchronousSocketChannel" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/AsynchronousByteChannel"/>
+		<implements name="java/nio/channels/NetworkChannel"/>
+		<method name="&lt;init>(Ljava/nio/channels/spi/AsynchronousChannelProvider;)V"/>
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/AsynchronousSocketChannel;"/>
+		<method name="connect(Ljava/net/SocketAddress;)Ljava/util/concurrent/Future;"/>
+		<method name="connect(Ljava/net/SocketAddress;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+		<method name="getRemoteAddress()Ljava/net/SocketAddress;"/>
+		<method name="open()Ljava/nio/channels/AsynchronousSocketChannel;"/>
+		<method name="open(Ljava/nio/channels/AsynchronousChannelGroup;)Ljava/nio/channels/AsynchronousSocketChannel;"/>
+		<method name="provider()Ljava/nio/channels/spi/AsynchronousChannelProvider;"/>
+		<method name="read(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+		<method name="read([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/AsynchronousSocketChannel;"/>
+		<method name="shutdownInput()Ljava/nio/channels/AsynchronousSocketChannel;"/>
+		<method name="shutdownOutput()Ljava/nio/channels/AsynchronousSocketChannel;"/>
+		<method name="write(Ljava/nio/ByteBuffer;JLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+		<method name="write([Ljava/nio/ByteBuffer;IIJLjava/util/concurrent/TimeUnit;Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)V"/>
+	</class>
+	<class name="java/nio/channels/ByteChannel" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/ReadableByteChannel"/>
+		<implements name="java/nio/channels/WritableByteChannel"/>
+	</class>
+	<class name="java/nio/channels/CancelledKeyException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/Channel" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="isOpen()Z"/>
+	</class>
+	<class name="java/nio/channels/Channels" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="newChannel(Ljava/io/InputStream;)Ljava/nio/channels/ReadableByteChannel;"/>
+		<method name="newChannel(Ljava/io/OutputStream;)Ljava/nio/channels/WritableByteChannel;"/>
+		<method name="newInputStream(Ljava/nio/channels/AsynchronousByteChannel;)Ljava/io/InputStream;" since="26"/>
+		<method name="newInputStream(Ljava/nio/channels/ReadableByteChannel;)Ljava/io/InputStream;"/>
+		<method name="newOutputStream(Ljava/nio/channels/AsynchronousByteChannel;)Ljava/io/OutputStream;" since="26"/>
+		<method name="newOutputStream(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;"/>
+		<method name="newReader(Ljava/nio/channels/ReadableByteChannel;Ljava/lang/String;)Ljava/io/Reader;"/>
+		<method name="newReader(Ljava/nio/channels/ReadableByteChannel;Ljava/nio/charset/CharsetDecoder;I)Ljava/io/Reader;"/>
+		<method name="newWriter(Ljava/nio/channels/WritableByteChannel;Ljava/lang/String;)Ljava/io/Writer;"/>
+		<method name="newWriter(Ljava/nio/channels/WritableByteChannel;Ljava/nio/charset/CharsetEncoder;I)Ljava/io/Writer;"/>
+	</class>
+	<class name="java/nio/channels/ClosedByInterruptException" since="1">
+		<extends name="java/nio/channels/AsynchronousCloseException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/ClosedChannelException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/ClosedSelectorException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/CompletionHandler" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="completed(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="failed(Ljava/lang/Throwable;Ljava/lang/Object;)V"/>
+	</class>
+	<class name="java/nio/channels/ConnectionPendingException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/DatagramChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractSelectableChannel"/>
+		<implements name="java/nio/channels/ByteChannel"/>
+		<implements name="java/nio/channels/GatheringByteChannel"/>
+		<implements name="java/nio/channels/MulticastChannel" since="26"/>
+		<implements name="java/nio/channels/NetworkChannel" since="24" removed="26"/>
+		<implements name="java/nio/channels/ScatteringByteChannel"/>
+		<method name="&lt;init>(Ljava/nio/channels/spi/SelectorProvider;)V"/>
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;" since="24"/>
+		<method name="connect(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;"/>
+		<method name="disconnect()Ljava/nio/channels/DatagramChannel;"/>
+		<method name="getRemoteAddress()Ljava/net/SocketAddress;" since="24"/>
+		<method name="isConnected()Z"/>
+		<method name="open()Ljava/nio/channels/DatagramChannel;"/>
+		<method name="open(Ljava/net/ProtocolFamily;)Ljava/nio/channels/DatagramChannel;" since="24"/>
+		<method name="receive(Ljava/nio/ByteBuffer;)Ljava/net/SocketAddress;"/>
+		<method name="send(Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I"/>
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/DatagramChannel;" since="24"/>
+		<method name="socket()Ljava/net/DatagramSocket;"/>
+	</class>
+	<class name="java/nio/channels/FileChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractInterruptibleChannel"/>
+		<implements name="java/nio/channels/ByteChannel" removed="24"/>
+		<implements name="java/nio/channels/GatheringByteChannel"/>
+		<implements name="java/nio/channels/ScatteringByteChannel"/>
+		<implements name="java/nio/channels/SeekableByteChannel" since="24"/>
+		<method name="&lt;init>()V"/>
+		<method name="force(Z)V"/>
+		<method name="lock()Ljava/nio/channels/FileLock;"/>
+		<method name="lock(JJZ)Ljava/nio/channels/FileLock;"/>
+		<method name="map(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;"/>
+		<method name="open(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/FileChannel;" since="26"/>
+		<method name="open(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;" since="26"/>
+		<method name="position()J"/>
+		<method name="position(J)Ljava/nio/channels/FileChannel;"/>
+		<method name="read(Ljava/nio/ByteBuffer;J)I"/>
+		<method name="size()J"/>
+		<method name="transferFrom(Ljava/nio/channels/ReadableByteChannel;JJ)J"/>
+		<method name="transferTo(JJLjava/nio/channels/WritableByteChannel;)J"/>
+		<method name="truncate(J)Ljava/nio/channels/FileChannel;"/>
+		<method name="tryLock()Ljava/nio/channels/FileLock;"/>
+		<method name="tryLock(JJZ)Ljava/nio/channels/FileLock;"/>
+		<method name="write(Ljava/nio/ByteBuffer;J)I"/>
+	</class>
+	<class name="java/nio/channels/FileChannel$MapMode" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="PRIVATE"/>
+		<field name="READ_ONLY"/>
+		<field name="READ_WRITE"/>
+	</class>
+	<class name="java/nio/channels/FileLock" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="19"/>
+		<method name="&lt;init>(Ljava/nio/channels/AsynchronousFileChannel;JJZ)V" since="26"/>
+		<method name="&lt;init>(Ljava/nio/channels/FileChannel;JJZ)V"/>
+		<method name="acquiredBy()Ljava/nio/channels/Channel;" since="24"/>
+		<method name="channel()Ljava/nio/channels/FileChannel;"/>
+		<method name="isShared()Z"/>
+		<method name="isValid()Z"/>
+		<method name="overlaps(JJ)Z"/>
+		<method name="position()J"/>
+		<method name="release()V"/>
+		<method name="size()J"/>
+	</class>
+	<class name="java/nio/channels/FileLockInterruptionException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/GatheringByteChannel" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/WritableByteChannel"/>
+		<method name="write([Ljava/nio/ByteBuffer;)J"/>
+		<method name="write([Ljava/nio/ByteBuffer;II)J"/>
+	</class>
+	<class name="java/nio/channels/IllegalBlockingModeException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/IllegalChannelGroupException" since="26">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/IllegalSelectorException" since="1">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/InterruptedByTimeoutException" since="26">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/InterruptibleChannel" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/Channel"/>
+	</class>
+	<class name="java/nio/channels/MembershipKey" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="block(Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;"/>
+		<method name="channel()Ljava/nio/channels/MulticastChannel;"/>
+		<method name="drop()V"/>
+		<method name="group()Ljava/net/InetAddress;"/>
+		<method name="isValid()Z"/>
+		<method name="networkInterface()Ljava/net/NetworkInterface;"/>
+		<method name="sourceAddress()Ljava/net/InetAddress;"/>
+		<method name="unblock(Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;"/>
+	</class>
+	<class name="java/nio/channels/MulticastChannel" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/NetworkChannel"/>
+		<method name="join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)Ljava/nio/channels/MembershipKey;"/>
+		<method name="join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;"/>
+	</class>
+	<class name="java/nio/channels/NetworkChannel" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/Channel"/>
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/NetworkChannel;"/>
+		<method name="getLocalAddress()Ljava/net/SocketAddress;"/>
+		<method name="getOption(Ljava/net/SocketOption;)Ljava/lang/Object;"/>
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/NetworkChannel;"/>
+		<method name="supportedOptions()Ljava/util/Set;"/>
+	</class>
+	<class name="java/nio/channels/NoConnectionPendingException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/NonReadableChannelException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/NonWritableChannelException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/NotYetBoundException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/NotYetConnectedException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/OverlappingFileLockException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/Pipe" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="open()Ljava/nio/channels/Pipe;"/>
+		<method name="sink()Ljava/nio/channels/Pipe$SinkChannel;"/>
+		<method name="source()Ljava/nio/channels/Pipe$SourceChannel;"/>
+	</class>
+	<class name="java/nio/channels/Pipe$SinkChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractSelectableChannel"/>
+		<implements name="java/nio/channels/GatheringByteChannel"/>
+		<implements name="java/nio/channels/WritableByteChannel"/>
+		<method name="&lt;init>(Ljava/nio/channels/spi/SelectorProvider;)V"/>
+	</class>
+	<class name="java/nio/channels/Pipe$SourceChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractSelectableChannel"/>
+		<implements name="java/nio/channels/ReadableByteChannel"/>
+		<implements name="java/nio/channels/ScatteringByteChannel"/>
+		<method name="&lt;init>(Ljava/nio/channels/spi/SelectorProvider;)V"/>
+	</class>
+	<class name="java/nio/channels/ReadPendingException" since="26">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/ReadableByteChannel" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/Channel"/>
+		<method name="read(Ljava/nio/ByteBuffer;)I"/>
+	</class>
+	<class name="java/nio/channels/ScatteringByteChannel" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/ReadableByteChannel"/>
+		<method name="read([Ljava/nio/ByteBuffer;)J"/>
+		<method name="read([Ljava/nio/ByteBuffer;II)J"/>
+	</class>
+	<class name="java/nio/channels/SeekableByteChannel" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/ByteChannel"/>
+		<method name="position()J"/>
+		<method name="position(J)Ljava/nio/channels/SeekableByteChannel;"/>
+		<method name="size()J"/>
+		<method name="truncate(J)Ljava/nio/channels/SeekableByteChannel;"/>
+	</class>
+	<class name="java/nio/channels/SelectableChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractInterruptibleChannel"/>
+		<method name="&lt;init>()V"/>
+		<method name="blockingLock()Ljava/lang/Object;"/>
+		<method name="configureBlocking(Z)Ljava/nio/channels/SelectableChannel;"/>
+		<method name="isBlocking()Z"/>
+		<method name="isRegistered()Z"/>
+		<method name="keyFor(Ljava/nio/channels/Selector;)Ljava/nio/channels/SelectionKey;"/>
+		<method name="provider()Ljava/nio/channels/spi/SelectorProvider;"/>
+		<method name="register(Ljava/nio/channels/Selector;I)Ljava/nio/channels/SelectionKey;"/>
+		<method name="register(Ljava/nio/channels/Selector;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;"/>
+		<method name="validOps()I"/>
+	</class>
+	<class name="java/nio/channels/SelectionKey" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="attach(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="attachment()Ljava/lang/Object;"/>
+		<method name="cancel()V"/>
+		<method name="channel()Ljava/nio/channels/SelectableChannel;"/>
+		<method name="interestOps()I"/>
+		<method name="interestOps(I)Ljava/nio/channels/SelectionKey;"/>
+		<method name="isAcceptable()Z"/>
+		<method name="isConnectable()Z"/>
+		<method name="isReadable()Z"/>
+		<method name="isValid()Z"/>
+		<method name="isWritable()Z"/>
+		<method name="readyOps()I"/>
+		<method name="selector()Ljava/nio/channels/Selector;"/>
+		<field name="OP_ACCEPT"/>
+		<field name="OP_CONNECT"/>
+		<field name="OP_READ"/>
+		<field name="OP_WRITE"/>
+	</class>
+	<class name="java/nio/channels/Selector" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable" since="19"/>
+		<method name="&lt;init>()V"/>
+		<method name="close()V"/>
+		<method name="isOpen()Z"/>
+		<method name="keys()Ljava/util/Set;"/>
+		<method name="open()Ljava/nio/channels/Selector;"/>
+		<method name="provider()Ljava/nio/channels/spi/SelectorProvider;"/>
+		<method name="select()I"/>
+		<method name="select(J)I"/>
+		<method name="selectNow()I"/>
+		<method name="selectedKeys()Ljava/util/Set;"/>
+		<method name="wakeup()Ljava/nio/channels/Selector;"/>
+	</class>
+	<class name="java/nio/channels/ServerSocketChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractSelectableChannel"/>
+		<implements name="java/nio/channels/NetworkChannel" since="24"/>
+		<method name="&lt;init>(Ljava/nio/channels/spi/SelectorProvider;)V"/>
+		<method name="accept()Ljava/nio/channels/SocketChannel;"/>
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/ServerSocketChannel;" since="24"/>
+		<method name="bind(Ljava/net/SocketAddress;I)Ljava/nio/channels/ServerSocketChannel;" since="24"/>
+		<method name="open()Ljava/nio/channels/ServerSocketChannel;"/>
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/ServerSocketChannel;" since="24"/>
+		<method name="socket()Ljava/net/ServerSocket;"/>
+	</class>
+	<class name="java/nio/channels/ShutdownChannelGroupException" since="26">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/SocketChannel" since="1">
+		<extends name="java/nio/channels/spi/AbstractSelectableChannel"/>
+		<implements name="java/nio/channels/ByteChannel"/>
+		<implements name="java/nio/channels/GatheringByteChannel"/>
+		<implements name="java/nio/channels/NetworkChannel" since="24"/>
+		<implements name="java/nio/channels/ScatteringByteChannel"/>
+		<method name="&lt;init>(Ljava/nio/channels/spi/SelectorProvider;)V"/>
+		<method name="bind(Ljava/net/SocketAddress;)Ljava/nio/channels/SocketChannel;" since="24"/>
+		<method name="connect(Ljava/net/SocketAddress;)Z"/>
+		<method name="finishConnect()Z"/>
+		<method name="getRemoteAddress()Ljava/net/SocketAddress;" since="24"/>
+		<method name="isConnected()Z"/>
+		<method name="isConnectionPending()Z"/>
+		<method name="open()Ljava/nio/channels/SocketChannel;"/>
+		<method name="open(Ljava/net/SocketAddress;)Ljava/nio/channels/SocketChannel;"/>
+		<method name="setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/SocketChannel;" since="24"/>
+		<method name="shutdownInput()Ljava/nio/channels/SocketChannel;" since="24"/>
+		<method name="shutdownOutput()Ljava/nio/channels/SocketChannel;" since="24"/>
+		<method name="socket()Ljava/net/Socket;"/>
+	</class>
+	<class name="java/nio/channels/UnresolvedAddressException" since="1">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/UnsupportedAddressTypeException" since="1">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/WritableByteChannel" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/Channel"/>
+		<method name="write(Ljava/nio/ByteBuffer;)I"/>
+	</class>
+	<class name="java/nio/channels/WritePendingException" since="26">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/spi/AbstractInterruptibleChannel" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/channels/Channel"/>
+		<implements name="java/nio/channels/InterruptibleChannel"/>
+		<method name="&lt;init>()V"/>
+		<method name="begin()V"/>
+		<method name="end(Z)V"/>
+		<method name="implCloseChannel()V"/>
+	</class>
+	<class name="java/nio/channels/spi/AbstractSelectableChannel" since="1">
+		<extends name="java/nio/channels/SelectableChannel"/>
+		<method name="&lt;init>(Ljava/nio/channels/spi/SelectorProvider;)V"/>
+		<method name="implCloseSelectableChannel()V"/>
+		<method name="implConfigureBlocking(Z)V"/>
+	</class>
+	<class name="java/nio/channels/spi/AbstractSelectionKey" since="1">
+		<extends name="java/nio/channels/SelectionKey"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/channels/spi/AbstractSelector" since="1">
+		<extends name="java/nio/channels/Selector"/>
+		<method name="&lt;init>(Ljava/nio/channels/spi/SelectorProvider;)V"/>
+		<method name="begin()V"/>
+		<method name="cancelledKeys()Ljava/util/Set;"/>
+		<method name="deregister(Ljava/nio/channels/spi/AbstractSelectionKey;)V"/>
+		<method name="end()V"/>
+		<method name="implCloseSelector()V"/>
+		<method name="register(Ljava/nio/channels/spi/AbstractSelectableChannel;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;"/>
+	</class>
+	<class name="java/nio/channels/spi/AsynchronousChannelProvider" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="openAsynchronousChannelGroup(ILjava/util/concurrent/ThreadFactory;)Ljava/nio/channels/AsynchronousChannelGroup;"/>
+		<method name="openAsynchronousChannelGroup(Ljava/util/concurrent/ExecutorService;I)Ljava/nio/channels/AsynchronousChannelGroup;"/>
+		<method name="openAsynchronousServerSocketChannel(Ljava/nio/channels/AsynchronousChannelGroup;)Ljava/nio/channels/AsynchronousServerSocketChannel;"/>
+		<method name="openAsynchronousSocketChannel(Ljava/nio/channels/AsynchronousChannelGroup;)Ljava/nio/channels/AsynchronousSocketChannel;"/>
+		<method name="provider()Ljava/nio/channels/spi/AsynchronousChannelProvider;"/>
+	</class>
+	<class name="java/nio/channels/spi/SelectorProvider" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="inheritedChannel()Ljava/nio/channels/Channel;"/>
+		<method name="openDatagramChannel()Ljava/nio/channels/DatagramChannel;"/>
+		<method name="openDatagramChannel(Ljava/net/ProtocolFamily;)Ljava/nio/channels/DatagramChannel;" since="24"/>
+		<method name="openPipe()Ljava/nio/channels/Pipe;"/>
+		<method name="openSelector()Ljava/nio/channels/spi/AbstractSelector;"/>
+		<method name="openServerSocketChannel()Ljava/nio/channels/ServerSocketChannel;"/>
+		<method name="openSocketChannel()Ljava/nio/channels/SocketChannel;"/>
+		<method name="provider()Ljava/nio/channels/spi/SelectorProvider;"/>
+	</class>
+	<class name="java/nio/charset/CharacterCodingException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/charset/Charset" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Ljava/lang/String;[Ljava/lang/String;)V"/>
+		<method name="aliases()Ljava/util/Set;"/>
+		<method name="availableCharsets()Ljava/util/SortedMap;"/>
+		<method name="canEncode()Z"/>
+		<method name="compareTo(Ljava/nio/charset/Charset;)I"/>
+		<method name="contains(Ljava/nio/charset/Charset;)Z"/>
+		<method name="decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;"/>
+		<method name="defaultCharset()Ljava/nio/charset/Charset;"/>
+		<method name="displayName()Ljava/lang/String;"/>
+		<method name="displayName(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="encode(Ljava/lang/String;)Ljava/nio/ByteBuffer;"/>
+		<method name="encode(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;"/>
+		<method name="forName(Ljava/lang/String;)Ljava/nio/charset/Charset;"/>
+		<method name="isRegistered()Z"/>
+		<method name="isSupported(Ljava/lang/String;)Z"/>
+		<method name="name()Ljava/lang/String;"/>
+		<method name="newDecoder()Ljava/nio/charset/CharsetDecoder;"/>
+		<method name="newEncoder()Ljava/nio/charset/CharsetEncoder;"/>
+	</class>
+	<class name="java/nio/charset/CharsetDecoder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/nio/charset/Charset;FF)V"/>
+		<method name="averageCharsPerByte()F"/>
+		<method name="charset()Ljava/nio/charset/Charset;"/>
+		<method name="decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;"/>
+		<method name="decode(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;"/>
+		<method name="decodeLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;"/>
+		<method name="detectedCharset()Ljava/nio/charset/Charset;"/>
+		<method name="flush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;"/>
+		<method name="implFlush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;"/>
+		<method name="implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V"/>
+		<method name="implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V"/>
+		<method name="implReplaceWith(Ljava/lang/String;)V"/>
+		<method name="implReset()V"/>
+		<method name="isAutoDetecting()Z"/>
+		<method name="isCharsetDetected()Z"/>
+		<method name="malformedInputAction()Ljava/nio/charset/CodingErrorAction;"/>
+		<method name="maxCharsPerByte()F"/>
+		<method name="onMalformedInput(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;"/>
+		<method name="onUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;"/>
+		<method name="replaceWith(Ljava/lang/String;)Ljava/nio/charset/CharsetDecoder;"/>
+		<method name="replacement()Ljava/lang/String;"/>
+		<method name="reset()Ljava/nio/charset/CharsetDecoder;"/>
+		<method name="unmappableCharacterAction()Ljava/nio/charset/CodingErrorAction;"/>
+	</class>
+	<class name="java/nio/charset/CharsetEncoder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/nio/charset/Charset;FF)V"/>
+		<method name="&lt;init>(Ljava/nio/charset/Charset;FF[B)V"/>
+		<method name="averageBytesPerChar()F"/>
+		<method name="canEncode(C)Z"/>
+		<method name="canEncode(Ljava/lang/CharSequence;)Z"/>
+		<method name="charset()Ljava/nio/charset/Charset;"/>
+		<method name="encode(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;"/>
+		<method name="encode(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;"/>
+		<method name="encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;"/>
+		<method name="flush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;"/>
+		<method name="implFlush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;"/>
+		<method name="implOnMalformedInput(Ljava/nio/charset/CodingErrorAction;)V"/>
+		<method name="implOnUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)V"/>
+		<method name="implReplaceWith([B)V"/>
+		<method name="implReset()V"/>
+		<method name="isLegalReplacement([B)Z"/>
+		<method name="malformedInputAction()Ljava/nio/charset/CodingErrorAction;"/>
+		<method name="maxBytesPerChar()F"/>
+		<method name="onMalformedInput(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;"/>
+		<method name="onUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;"/>
+		<method name="replaceWith([B)Ljava/nio/charset/CharsetEncoder;"/>
+		<method name="replacement()[B"/>
+		<method name="reset()Ljava/nio/charset/CharsetEncoder;"/>
+		<method name="unmappableCharacterAction()Ljava/nio/charset/CodingErrorAction;"/>
+	</class>
+	<class name="java/nio/charset/CoderMalfunctionError" since="1">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V"/>
+	</class>
+	<class name="java/nio/charset/CoderResult" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="isError()Z"/>
+		<method name="isMalformed()Z"/>
+		<method name="isOverflow()Z"/>
+		<method name="isUnderflow()Z"/>
+		<method name="isUnmappable()Z"/>
+		<method name="length()I"/>
+		<method name="malformedForLength(I)Ljava/nio/charset/CoderResult;"/>
+		<method name="throwException()V"/>
+		<method name="unmappableForLength(I)Ljava/nio/charset/CoderResult;"/>
+		<field name="OVERFLOW"/>
+		<field name="UNDERFLOW"/>
+	</class>
+	<class name="java/nio/charset/CodingErrorAction" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="IGNORE"/>
+		<field name="REPLACE"/>
+		<field name="REPORT"/>
+	</class>
+	<class name="java/nio/charset/IllegalCharsetNameException" since="1">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getCharsetName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/nio/charset/MalformedInputException" since="1">
+		<extends name="java/nio/charset/CharacterCodingException"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getInputLength()I"/>
+	</class>
+	<class name="java/nio/charset/StandardCharsets" since="19">
+		<extends name="java/lang/Object"/>
+		<field name="ISO_8859_1"/>
+		<field name="US_ASCII"/>
+		<field name="UTF_16"/>
+		<field name="UTF_16BE"/>
+		<field name="UTF_16LE"/>
+		<field name="UTF_8"/>
+	</class>
+	<class name="java/nio/charset/UnmappableCharacterException" since="1">
+		<extends name="java/nio/charset/CharacterCodingException"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getInputLength()I"/>
+	</class>
+	<class name="java/nio/charset/UnsupportedCharsetException" since="1">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getCharsetName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/nio/charset/spi/CharsetProvider" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="charsetForName(Ljava/lang/String;)Ljava/nio/charset/Charset;"/>
+		<method name="charsets()Ljava/util/Iterator;"/>
+	</class>
+	<class name="java/nio/file/AccessDeniedException" since="26">
+		<extends name="java/nio/file/FileSystemException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/AccessMode" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/AccessMode;"/>
+		<method name="values()[Ljava/nio/file/AccessMode;"/>
+		<field name="EXECUTE"/>
+		<field name="READ"/>
+		<field name="WRITE"/>
+	</class>
+	<class name="java/nio/file/AtomicMoveNotSupportedException" since="26">
+		<extends name="java/nio/file/FileSystemException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/ClosedDirectoryStreamException" since="26">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/file/ClosedFileSystemException" since="26">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/file/ClosedWatchServiceException" since="26">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/file/CopyOption" since="26">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/nio/file/DirectoryIteratorException" since="26">
+		<extends name="java/util/ConcurrentModificationException"/>
+		<method name="&lt;init>(Ljava/io/IOException;)V"/>
+		<method name="getCause()Ljava/io/IOException;"/>
+	</class>
+	<class name="java/nio/file/DirectoryNotEmptyException" since="26">
+		<extends name="java/nio/file/FileSystemException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/DirectoryStream" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<implements name="java/lang/Iterable"/>
+	</class>
+	<class name="java/nio/file/DirectoryStream$Filter" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="accept(Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="java/nio/file/FileAlreadyExistsException" since="26">
+		<extends name="java/nio/file/FileSystemException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/FileStore" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getFileStoreAttributeView(Ljava/lang/Class;)Ljava/nio/file/attribute/FileStoreAttributeView;"/>
+		<method name="getTotalSpace()J"/>
+		<method name="getUnallocatedSpace()J"/>
+		<method name="getUsableSpace()J"/>
+		<method name="isReadOnly()Z"/>
+		<method name="name()Ljava/lang/String;"/>
+		<method name="supportsFileAttributeView(Ljava/lang/Class;)Z"/>
+		<method name="supportsFileAttributeView(Ljava/lang/String;)Z"/>
+		<method name="type()Ljava/lang/String;"/>
+	</class>
+	<class name="java/nio/file/FileSystem" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getFileStores()Ljava/lang/Iterable;"/>
+		<method name="getPath(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;"/>
+		<method name="getPathMatcher(Ljava/lang/String;)Ljava/nio/file/PathMatcher;"/>
+		<method name="getRootDirectories()Ljava/lang/Iterable;"/>
+		<method name="getSeparator()Ljava/lang/String;"/>
+		<method name="getUserPrincipalLookupService()Ljava/nio/file/attribute/UserPrincipalLookupService;"/>
+		<method name="isOpen()Z"/>
+		<method name="isReadOnly()Z"/>
+		<method name="newWatchService()Ljava/nio/file/WatchService;"/>
+		<method name="provider()Ljava/nio/file/spi/FileSystemProvider;"/>
+		<method name="supportedFileAttributeViews()Ljava/util/Set;"/>
+	</class>
+	<class name="java/nio/file/FileSystemAlreadyExistsException" since="26">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/FileSystemException" since="26">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getFile()Ljava/lang/String;"/>
+		<method name="getOtherFile()Ljava/lang/String;"/>
+		<method name="getReason()Ljava/lang/String;"/>
+	</class>
+	<class name="java/nio/file/FileSystemLoopException" since="26">
+		<extends name="java/nio/file/FileSystemException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/FileSystemNotFoundException" since="26">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/FileSystems" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getDefault()Ljava/nio/file/FileSystem;"/>
+		<method name="getFileSystem(Ljava/net/URI;)Ljava/nio/file/FileSystem;"/>
+		<method name="newFileSystem(Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;"/>
+		<method name="newFileSystem(Ljava/net/URI;Ljava/util/Map;Ljava/lang/ClassLoader;)Ljava/nio/file/FileSystem;"/>
+		<method name="newFileSystem(Ljava/nio/file/Path;Ljava/lang/ClassLoader;)Ljava/nio/file/FileSystem;"/>
+	</class>
+	<class name="java/nio/file/FileVisitOption" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/FileVisitOption;"/>
+		<method name="values()[Ljava/nio/file/FileVisitOption;"/>
+		<field name="FOLLOW_LINKS"/>
+	</class>
+	<class name="java/nio/file/FileVisitResult" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/FileVisitResult;"/>
+		<method name="values()[Ljava/nio/file/FileVisitResult;"/>
+		<field name="CONTINUE"/>
+		<field name="SKIP_SIBLINGS"/>
+		<field name="SKIP_SUBTREE"/>
+		<field name="TERMINATE"/>
+	</class>
+	<class name="java/nio/file/FileVisitor" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="postVisitDirectory(Ljava/lang/Object;Ljava/io/IOException;)Ljava/nio/file/FileVisitResult;"/>
+		<method name="preVisitDirectory(Ljava/lang/Object;Ljava/nio/file/attribute/BasicFileAttributes;)Ljava/nio/file/FileVisitResult;"/>
+		<method name="visitFile(Ljava/lang/Object;Ljava/nio/file/attribute/BasicFileAttributes;)Ljava/nio/file/FileVisitResult;"/>
+		<method name="visitFileFailed(Ljava/lang/Object;Ljava/io/IOException;)Ljava/nio/file/FileVisitResult;"/>
+	</class>
+	<class name="java/nio/file/Files" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="copy(Ljava/io/InputStream;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)J"/>
+		<method name="copy(Ljava/nio/file/Path;Ljava/io/OutputStream;)J"/>
+		<method name="copy(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;"/>
+		<method name="createDirectories(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;"/>
+		<method name="createDirectory(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;"/>
+		<method name="createFile(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;"/>
+		<method name="createLink(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;"/>
+		<method name="createSymbolicLink(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;"/>
+		<method name="createTempDirectory(Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;"/>
+		<method name="createTempDirectory(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;"/>
+		<method name="createTempFile(Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;"/>
+		<method name="createTempFile(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;"/>
+		<method name="delete(Ljava/nio/file/Path;)V"/>
+		<method name="deleteIfExists(Ljava/nio/file/Path;)Z"/>
+		<method name="exists(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z"/>
+		<method name="find(Ljava/nio/file/Path;ILjava/util/function/BiPredicate;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;"/>
+		<method name="getAttribute(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/lang/Object;"/>
+		<method name="getFileAttributeView(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;"/>
+		<method name="getFileStore(Ljava/nio/file/Path;)Ljava/nio/file/FileStore;"/>
+		<method name="getLastModifiedTime(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileTime;"/>
+		<method name="getOwner(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/UserPrincipal;"/>
+		<method name="getPosixFilePermissions(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/util/Set;"/>
+		<method name="isDirectory(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z"/>
+		<method name="isExecutable(Ljava/nio/file/Path;)Z"/>
+		<method name="isHidden(Ljava/nio/file/Path;)Z"/>
+		<method name="isReadable(Ljava/nio/file/Path;)Z"/>
+		<method name="isRegularFile(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z"/>
+		<method name="isSameFile(Ljava/nio/file/Path;Ljava/nio/file/Path;)Z"/>
+		<method name="isSymbolicLink(Ljava/nio/file/Path;)Z"/>
+		<method name="isWritable(Ljava/nio/file/Path;)Z"/>
+		<method name="lines(Ljava/nio/file/Path;)Ljava/util/stream/Stream;"/>
+		<method name="lines(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/util/stream/Stream;"/>
+		<method name="list(Ljava/nio/file/Path;)Ljava/util/stream/Stream;"/>
+		<method name="move(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)Ljava/nio/file/Path;"/>
+		<method name="newBufferedReader(Ljava/nio/file/Path;)Ljava/io/BufferedReader;"/>
+		<method name="newBufferedReader(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader;"/>
+		<method name="newBufferedWriter(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;"/>
+		<method name="newBufferedWriter(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;"/>
+		<method name="newByteChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;"/>
+		<method name="newByteChannel(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/SeekableByteChannel;"/>
+		<method name="newDirectoryStream(Ljava/nio/file/Path;)Ljava/nio/file/DirectoryStream;"/>
+		<method name="newDirectoryStream(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/DirectoryStream;"/>
+		<method name="newDirectoryStream(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;"/>
+		<method name="newInputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;"/>
+		<method name="newOutputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;"/>
+		<method name="notExists(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z"/>
+		<method name="probeContentType(Ljava/nio/file/Path;)Ljava/lang/String;"/>
+		<method name="readAllBytes(Ljava/nio/file/Path;)[B"/>
+		<method name="readAllLines(Ljava/nio/file/Path;)Ljava/util/List;"/>
+		<method name="readAllLines(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/util/List;"/>
+		<method name="readAttributes(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;"/>
+		<method name="readAttributes(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/util/Map;"/>
+		<method name="readSymbolicLink(Ljava/nio/file/Path;)Ljava/nio/file/Path;"/>
+		<method name="setAttribute(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;"/>
+		<method name="setLastModifiedTime(Ljava/nio/file/Path;Ljava/nio/file/attribute/FileTime;)Ljava/nio/file/Path;"/>
+		<method name="setOwner(Ljava/nio/file/Path;Ljava/nio/file/attribute/UserPrincipal;)Ljava/nio/file/Path;"/>
+		<method name="setPosixFilePermissions(Ljava/nio/file/Path;Ljava/util/Set;)Ljava/nio/file/Path;"/>
+		<method name="size(Ljava/nio/file/Path;)J"/>
+		<method name="walk(Ljava/nio/file/Path;I[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;"/>
+		<method name="walk(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;"/>
+		<method name="walkFileTree(Ljava/nio/file/Path;Ljava/nio/file/FileVisitor;)Ljava/nio/file/Path;"/>
+		<method name="walkFileTree(Ljava/nio/file/Path;Ljava/util/Set;ILjava/nio/file/FileVisitor;)Ljava/nio/file/Path;"/>
+		<method name="write(Ljava/nio/file/Path;Ljava/lang/Iterable;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;"/>
+		<method name="write(Ljava/nio/file/Path;Ljava/lang/Iterable;[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;"/>
+		<method name="write(Ljava/nio/file/Path;[B[Ljava/nio/file/OpenOption;)Ljava/nio/file/Path;"/>
+	</class>
+	<class name="java/nio/file/InvalidPathException" since="26">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="getIndex()I"/>
+		<method name="getInput()Ljava/lang/String;"/>
+		<method name="getReason()Ljava/lang/String;"/>
+	</class>
+	<class name="java/nio/file/LinkOption" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/nio/file/CopyOption"/>
+		<implements name="java/nio/file/OpenOption"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/LinkOption;"/>
+		<method name="values()[Ljava/nio/file/LinkOption;"/>
+		<field name="NOFOLLOW_LINKS"/>
+	</class>
+	<class name="java/nio/file/LinkPermission" since="26">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/NoSuchFileException" since="26">
+		<extends name="java/nio/file/FileSystemException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/NotDirectoryException" since="26">
+		<extends name="java/nio/file/FileSystemException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/NotLinkException" since="26">
+		<extends name="java/nio/file/FileSystemException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/OpenOption" since="26">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/nio/file/Path" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/lang/Iterable"/>
+		<implements name="java/nio/file/Watchable"/>
+		<method name="compareTo(Ljava/nio/file/Path;)I"/>
+		<method name="endsWith(Ljava/lang/String;)Z"/>
+		<method name="endsWith(Ljava/nio/file/Path;)Z"/>
+		<method name="getFileName()Ljava/nio/file/Path;"/>
+		<method name="getFileSystem()Ljava/nio/file/FileSystem;"/>
+		<method name="getName(I)Ljava/nio/file/Path;"/>
+		<method name="getNameCount()I"/>
+		<method name="getParent()Ljava/nio/file/Path;"/>
+		<method name="getRoot()Ljava/nio/file/Path;"/>
+		<method name="isAbsolute()Z"/>
+		<method name="normalize()Ljava/nio/file/Path;"/>
+		<method name="relativize(Ljava/nio/file/Path;)Ljava/nio/file/Path;"/>
+		<method name="resolve(Ljava/lang/String;)Ljava/nio/file/Path;"/>
+		<method name="resolve(Ljava/nio/file/Path;)Ljava/nio/file/Path;"/>
+		<method name="resolveSibling(Ljava/lang/String;)Ljava/nio/file/Path;"/>
+		<method name="resolveSibling(Ljava/nio/file/Path;)Ljava/nio/file/Path;"/>
+		<method name="startsWith(Ljava/lang/String;)Z"/>
+		<method name="startsWith(Ljava/nio/file/Path;)Z"/>
+		<method name="subpath(II)Ljava/nio/file/Path;"/>
+		<method name="toAbsolutePath()Ljava/nio/file/Path;"/>
+		<method name="toFile()Ljava/io/File;"/>
+		<method name="toRealPath([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;"/>
+		<method name="toUri()Ljava/net/URI;"/>
+	</class>
+	<class name="java/nio/file/PathMatcher" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="matches(Ljava/nio/file/Path;)Z"/>
+	</class>
+	<class name="java/nio/file/Paths" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="get(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;"/>
+		<method name="get(Ljava/net/URI;)Ljava/nio/file/Path;"/>
+	</class>
+	<class name="java/nio/file/ProviderMismatchException" since="26">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/ProviderNotFoundException" since="26">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/nio/file/ReadOnlyFileSystemException" since="26">
+		<extends name="java/lang/UnsupportedOperationException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/file/SecureDirectoryStream" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/DirectoryStream"/>
+		<method name="deleteDirectory(Ljava/lang/Object;)V"/>
+		<method name="deleteFile(Ljava/lang/Object;)V"/>
+		<method name="getFileAttributeView(Ljava/lang/Class;)Ljava/nio/file/attribute/FileAttributeView;"/>
+		<method name="getFileAttributeView(Ljava/lang/Object;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;"/>
+		<method name="move(Ljava/lang/Object;Ljava/nio/file/SecureDirectoryStream;Ljava/lang/Object;)V"/>
+		<method name="newByteChannel(Ljava/lang/Object;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;"/>
+		<method name="newDirectoryStream(Ljava/lang/Object;[Ljava/nio/file/LinkOption;)Ljava/nio/file/SecureDirectoryStream;"/>
+	</class>
+	<class name="java/nio/file/SimpleFileVisitor" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/FileVisitor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/nio/file/StandardCopyOption" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/nio/file/CopyOption"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/StandardCopyOption;"/>
+		<method name="values()[Ljava/nio/file/StandardCopyOption;"/>
+		<field name="ATOMIC_MOVE"/>
+		<field name="COPY_ATTRIBUTES"/>
+		<field name="REPLACE_EXISTING"/>
+	</class>
+	<class name="java/nio/file/StandardOpenOption" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/nio/file/OpenOption"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/StandardOpenOption;"/>
+		<method name="values()[Ljava/nio/file/StandardOpenOption;"/>
+		<field name="APPEND"/>
+		<field name="CREATE"/>
+		<field name="CREATE_NEW"/>
+		<field name="DELETE_ON_CLOSE"/>
+		<field name="DSYNC"/>
+		<field name="READ"/>
+		<field name="SPARSE"/>
+		<field name="SYNC"/>
+		<field name="TRUNCATE_EXISTING"/>
+		<field name="WRITE"/>
+	</class>
+	<class name="java/nio/file/StandardWatchEventKinds" since="26">
+		<extends name="java/lang/Object"/>
+		<field name="ENTRY_CREATE"/>
+		<field name="ENTRY_DELETE"/>
+		<field name="ENTRY_MODIFY"/>
+		<field name="OVERFLOW"/>
+	</class>
+	<class name="java/nio/file/WatchEvent" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="context()Ljava/lang/Object;"/>
+		<method name="count()I"/>
+		<method name="kind()Ljava/nio/file/WatchEvent$Kind;"/>
+	</class>
+	<class name="java/nio/file/WatchEvent$Kind" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="name()Ljava/lang/String;"/>
+		<method name="type()Ljava/lang/Class;"/>
+	</class>
+	<class name="java/nio/file/WatchEvent$Modifier" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="name()Ljava/lang/String;"/>
+	</class>
+	<class name="java/nio/file/WatchKey" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V"/>
+		<method name="isValid()Z"/>
+		<method name="pollEvents()Ljava/util/List;"/>
+		<method name="reset()Z"/>
+		<method name="watchable()Ljava/nio/file/Watchable;"/>
+	</class>
+	<class name="java/nio/file/WatchService" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<method name="poll()Ljava/nio/file/WatchKey;"/>
+		<method name="poll(JLjava/util/concurrent/TimeUnit;)Ljava/nio/file/WatchKey;"/>
+		<method name="take()Ljava/nio/file/WatchKey;"/>
+	</class>
+	<class name="java/nio/file/Watchable" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="register(Ljava/nio/file/WatchService;[Ljava/nio/file/WatchEvent$Kind;)Ljava/nio/file/WatchKey;"/>
+		<method name="register(Ljava/nio/file/WatchService;[Ljava/nio/file/WatchEvent$Kind;[Ljava/nio/file/WatchEvent$Modifier;)Ljava/nio/file/WatchKey;"/>
+	</class>
+	<class name="java/nio/file/attribute/AclEntry" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="flags()Ljava/util/Set;"/>
+		<method name="newBuilder()Ljava/nio/file/attribute/AclEntry$Builder;"/>
+		<method name="newBuilder(Ljava/nio/file/attribute/AclEntry;)Ljava/nio/file/attribute/AclEntry$Builder;"/>
+		<method name="permissions()Ljava/util/Set;"/>
+		<method name="principal()Ljava/nio/file/attribute/UserPrincipal;"/>
+		<method name="type()Ljava/nio/file/attribute/AclEntryType;"/>
+	</class>
+	<class name="java/nio/file/attribute/AclEntry$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="build()Ljava/nio/file/attribute/AclEntry;"/>
+		<method name="setFlags(Ljava/util/Set;)Ljava/nio/file/attribute/AclEntry$Builder;"/>
+		<method name="setFlags([Ljava/nio/file/attribute/AclEntryFlag;)Ljava/nio/file/attribute/AclEntry$Builder;"/>
+		<method name="setPermissions(Ljava/util/Set;)Ljava/nio/file/attribute/AclEntry$Builder;"/>
+		<method name="setPermissions([Ljava/nio/file/attribute/AclEntryPermission;)Ljava/nio/file/attribute/AclEntry$Builder;"/>
+		<method name="setPrincipal(Ljava/nio/file/attribute/UserPrincipal;)Ljava/nio/file/attribute/AclEntry$Builder;"/>
+		<method name="setType(Ljava/nio/file/attribute/AclEntryType;)Ljava/nio/file/attribute/AclEntry$Builder;"/>
+	</class>
+	<class name="java/nio/file/attribute/AclEntryFlag" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/attribute/AclEntryFlag;"/>
+		<method name="values()[Ljava/nio/file/attribute/AclEntryFlag;"/>
+		<field name="DIRECTORY_INHERIT"/>
+		<field name="FILE_INHERIT"/>
+		<field name="INHERIT_ONLY"/>
+		<field name="NO_PROPAGATE_INHERIT"/>
+	</class>
+	<class name="java/nio/file/attribute/AclEntryPermission" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/attribute/AclEntryPermission;"/>
+		<method name="values()[Ljava/nio/file/attribute/AclEntryPermission;"/>
+		<field name="ADD_FILE"/>
+		<field name="ADD_SUBDIRECTORY"/>
+		<field name="APPEND_DATA"/>
+		<field name="DELETE"/>
+		<field name="DELETE_CHILD"/>
+		<field name="EXECUTE"/>
+		<field name="LIST_DIRECTORY"/>
+		<field name="READ_ACL"/>
+		<field name="READ_ATTRIBUTES"/>
+		<field name="READ_DATA"/>
+		<field name="READ_NAMED_ATTRS"/>
+		<field name="SYNCHRONIZE"/>
+		<field name="WRITE_ACL"/>
+		<field name="WRITE_ATTRIBUTES"/>
+		<field name="WRITE_DATA"/>
+		<field name="WRITE_NAMED_ATTRS"/>
+		<field name="WRITE_OWNER"/>
+	</class>
+	<class name="java/nio/file/attribute/AclEntryType" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/attribute/AclEntryType;"/>
+		<method name="values()[Ljava/nio/file/attribute/AclEntryType;"/>
+		<field name="ALARM"/>
+		<field name="ALLOW"/>
+		<field name="AUDIT"/>
+		<field name="DENY"/>
+	</class>
+	<class name="java/nio/file/attribute/AclFileAttributeView" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/FileOwnerAttributeView"/>
+		<method name="getAcl()Ljava/util/List;"/>
+		<method name="setAcl(Ljava/util/List;)V"/>
+	</class>
+	<class name="java/nio/file/attribute/AttributeView" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="name()Ljava/lang/String;"/>
+	</class>
+	<class name="java/nio/file/attribute/BasicFileAttributeView" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/FileAttributeView"/>
+		<method name="readAttributes()Ljava/nio/file/attribute/BasicFileAttributes;"/>
+		<method name="setTimes(Ljava/nio/file/attribute/FileTime;Ljava/nio/file/attribute/FileTime;Ljava/nio/file/attribute/FileTime;)V"/>
+	</class>
+	<class name="java/nio/file/attribute/BasicFileAttributes" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="creationTime()Ljava/nio/file/attribute/FileTime;"/>
+		<method name="fileKey()Ljava/lang/Object;"/>
+		<method name="isDirectory()Z"/>
+		<method name="isOther()Z"/>
+		<method name="isRegularFile()Z"/>
+		<method name="isSymbolicLink()Z"/>
+		<method name="lastAccessTime()Ljava/nio/file/attribute/FileTime;"/>
+		<method name="lastModifiedTime()Ljava/nio/file/attribute/FileTime;"/>
+		<method name="size()J"/>
+	</class>
+	<class name="java/nio/file/attribute/DosFileAttributeView" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/BasicFileAttributeView"/>
+		<method name="readAttributes()Ljava/nio/file/attribute/DosFileAttributes;"/>
+		<method name="setArchive(Z)V"/>
+		<method name="setHidden(Z)V"/>
+		<method name="setReadOnly(Z)V"/>
+		<method name="setSystem(Z)V"/>
+	</class>
+	<class name="java/nio/file/attribute/DosFileAttributes" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/BasicFileAttributes"/>
+		<method name="isArchive()Z"/>
+		<method name="isHidden()Z"/>
+		<method name="isReadOnly()Z"/>
+		<method name="isSystem()Z"/>
+	</class>
+	<class name="java/nio/file/attribute/FileAttribute" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="name()Ljava/lang/String;"/>
+		<method name="value()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/nio/file/attribute/FileAttributeView" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/AttributeView"/>
+	</class>
+	<class name="java/nio/file/attribute/FileOwnerAttributeView" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/FileAttributeView"/>
+		<method name="getOwner()Ljava/nio/file/attribute/UserPrincipal;"/>
+		<method name="setOwner(Ljava/nio/file/attribute/UserPrincipal;)V"/>
+	</class>
+	<class name="java/nio/file/attribute/FileStoreAttributeView" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/AttributeView"/>
+	</class>
+	<class name="java/nio/file/attribute/FileTime" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="compareTo(Ljava/nio/file/attribute/FileTime;)I"/>
+		<method name="from(JLjava/util/concurrent/TimeUnit;)Ljava/nio/file/attribute/FileTime;"/>
+		<method name="from(Ljava/time/Instant;)Ljava/nio/file/attribute/FileTime;"/>
+		<method name="fromMillis(J)Ljava/nio/file/attribute/FileTime;"/>
+		<method name="to(Ljava/util/concurrent/TimeUnit;)J"/>
+		<method name="toInstant()Ljava/time/Instant;"/>
+		<method name="toMillis()J"/>
+	</class>
+	<class name="java/nio/file/attribute/GroupPrincipal" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/UserPrincipal"/>
+	</class>
+	<class name="java/nio/file/attribute/PosixFileAttributeView" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/BasicFileAttributeView"/>
+		<implements name="java/nio/file/attribute/FileOwnerAttributeView"/>
+		<method name="readAttributes()Ljava/nio/file/attribute/PosixFileAttributes;"/>
+		<method name="setGroup(Ljava/nio/file/attribute/GroupPrincipal;)V"/>
+		<method name="setPermissions(Ljava/util/Set;)V"/>
+	</class>
+	<class name="java/nio/file/attribute/PosixFileAttributes" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/BasicFileAttributes"/>
+		<method name="group()Ljava/nio/file/attribute/GroupPrincipal;"/>
+		<method name="owner()Ljava/nio/file/attribute/UserPrincipal;"/>
+		<method name="permissions()Ljava/util/Set;"/>
+	</class>
+	<class name="java/nio/file/attribute/PosixFilePermission" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/nio/file/attribute/PosixFilePermission;"/>
+		<method name="values()[Ljava/nio/file/attribute/PosixFilePermission;"/>
+		<field name="GROUP_EXECUTE"/>
+		<field name="GROUP_READ"/>
+		<field name="GROUP_WRITE"/>
+		<field name="OTHERS_EXECUTE"/>
+		<field name="OTHERS_READ"/>
+		<field name="OTHERS_WRITE"/>
+		<field name="OWNER_EXECUTE"/>
+		<field name="OWNER_READ"/>
+		<field name="OWNER_WRITE"/>
+	</class>
+	<class name="java/nio/file/attribute/PosixFilePermissions" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="asFileAttribute(Ljava/util/Set;)Ljava/nio/file/attribute/FileAttribute;"/>
+		<method name="fromString(Ljava/lang/String;)Ljava/util/Set;"/>
+		<method name="toString(Ljava/util/Set;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/nio/file/attribute/UserDefinedFileAttributeView" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/nio/file/attribute/FileAttributeView"/>
+		<method name="delete(Ljava/lang/String;)V"/>
+		<method name="list()Ljava/util/List;"/>
+		<method name="read(Ljava/lang/String;Ljava/nio/ByteBuffer;)I"/>
+		<method name="size(Ljava/lang/String;)I"/>
+		<method name="write(Ljava/lang/String;Ljava/nio/ByteBuffer;)I"/>
+	</class>
+	<class name="java/nio/file/attribute/UserPrincipal" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/Principal"/>
+	</class>
+	<class name="java/nio/file/attribute/UserPrincipalLookupService" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="lookupPrincipalByGroupName(Ljava/lang/String;)Ljava/nio/file/attribute/GroupPrincipal;"/>
+		<method name="lookupPrincipalByName(Ljava/lang/String;)Ljava/nio/file/attribute/UserPrincipal;"/>
+	</class>
+	<class name="java/nio/file/attribute/UserPrincipalNotFoundException" since="26">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/nio/file/spi/FileSystemProvider" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="checkAccess(Ljava/nio/file/Path;[Ljava/nio/file/AccessMode;)V"/>
+		<method name="copy(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V"/>
+		<method name="createDirectory(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V"/>
+		<method name="createLink(Ljava/nio/file/Path;Ljava/nio/file/Path;)V"/>
+		<method name="createSymbolicLink(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V"/>
+		<method name="delete(Ljava/nio/file/Path;)V"/>
+		<method name="deleteIfExists(Ljava/nio/file/Path;)Z"/>
+		<method name="getFileAttributeView(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;"/>
+		<method name="getFileStore(Ljava/nio/file/Path;)Ljava/nio/file/FileStore;"/>
+		<method name="getFileSystem(Ljava/net/URI;)Ljava/nio/file/FileSystem;"/>
+		<method name="getPath(Ljava/net/URI;)Ljava/nio/file/Path;"/>
+		<method name="getScheme()Ljava/lang/String;"/>
+		<method name="installedProviders()Ljava/util/List;"/>
+		<method name="isHidden(Ljava/nio/file/Path;)Z"/>
+		<method name="isSameFile(Ljava/nio/file/Path;Ljava/nio/file/Path;)Z"/>
+		<method name="move(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V"/>
+		<method name="newAsynchronousFileChannel(Ljava/nio/file/Path;Ljava/util/Set;Ljava/util/concurrent/ExecutorService;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/AsynchronousFileChannel;"/>
+		<method name="newByteChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;"/>
+		<method name="newDirectoryStream(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;"/>
+		<method name="newFileChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/FileChannel;"/>
+		<method name="newFileSystem(Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;"/>
+		<method name="newFileSystem(Ljava/nio/file/Path;Ljava/util/Map;)Ljava/nio/file/FileSystem;"/>
+		<method name="newInputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;"/>
+		<method name="newOutputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;"/>
+		<method name="readAttributes(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;"/>
+		<method name="readAttributes(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/util/Map;"/>
+		<method name="readSymbolicLink(Ljava/nio/file/Path;)Ljava/nio/file/Path;"/>
+		<method name="setAttribute(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V"/>
+	</class>
+	<class name="java/nio/file/spi/FileTypeDetector" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="probeContentType(Ljava/nio/file/Path;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/security/AccessControlContext" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/AccessControlContext;Ljava/security/DomainCombiner;)V"/>
+		<method name="&lt;init>([Ljava/security/ProtectionDomain;)V"/>
+		<method name="checkPermission(Ljava/security/Permission;)V"/>
+		<method name="getDomainCombiner()Ljava/security/DomainCombiner;"/>
+	</class>
+	<class name="java/security/AccessControlException" since="1">
+		<extends name="java/lang/SecurityException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/security/Permission;)V"/>
+		<method name="getPermission()Ljava/security/Permission;"/>
+	</class>
+	<class name="java/security/AccessController" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="checkPermission(Ljava/security/Permission;)V"/>
+		<method name="doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;"/>
+		<method name="doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;"/>
+		<method name="doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;"/>
+		<method name="doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;"/>
+		<method name="doPrivilegedWithCombiner(Ljava/security/PrivilegedAction;)Ljava/lang/Object;" since="9"/>
+		<method name="doPrivilegedWithCombiner(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;" since="9"/>
+		<method name="getContext()Ljava/security/AccessControlContext;"/>
+	</class>
+	<class name="java/security/AlgorithmConstraints" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="permits(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z"/>
+		<method name="permits(Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z"/>
+		<method name="permits(Ljava/util/Set;Ljava/security/Key;)Z"/>
+	</class>
+	<class name="java/security/AlgorithmParameterGenerator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/AlgorithmParameterGeneratorSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="generateParameters()Ljava/security/AlgorithmParameters;"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/AlgorithmParameterGenerator;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/AlgorithmParameterGenerator;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/AlgorithmParameterGenerator;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="init(I)V"/>
+		<method name="init(ILjava/security/SecureRandom;)V"/>
+		<method name="init(Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="init(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V"/>
+	</class>
+	<class name="java/security/AlgorithmParameterGeneratorSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGenerateParameters()Ljava/security/AlgorithmParameters;"/>
+		<method name="engineInit(ILjava/security/SecureRandom;)V"/>
+		<method name="engineInit(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V"/>
+	</class>
+	<class name="java/security/AlgorithmParameters" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/AlgorithmParametersSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getEncoded()[B"/>
+		<method name="getEncoded(Ljava/lang/String;)[B"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/AlgorithmParameters;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/AlgorithmParameters;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/AlgorithmParameters;"/>
+		<method name="getParameterSpec(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="init(Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="init([B)V"/>
+		<method name="init([BLjava/lang/String;)V"/>
+	</class>
+	<class name="java/security/AlgorithmParametersSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGetEncoded()[B"/>
+		<method name="engineGetEncoded(Ljava/lang/String;)[B"/>
+		<method name="engineGetParameterSpec(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;"/>
+		<method name="engineInit(Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="engineInit([B)V"/>
+		<method name="engineInit([BLjava/lang/String;)V"/>
+		<method name="engineToString()Ljava/lang/String;"/>
+	</class>
+	<class name="java/security/AllPermission" since="1">
+		<extends name="java/security/Permission"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/AuthProvider" since="1">
+		<extends name="java/security/Provider"/>
+		<method name="&lt;init>(Ljava/lang/String;DLjava/lang/String;)V"/>
+		<method name="login(Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V"/>
+		<method name="logout()V"/>
+		<method name="setCallbackHandler(Ljavax/security/auth/callback/CallbackHandler;)V"/>
+	</class>
+	<class name="java/security/BasicPermission" since="1">
+		<extends name="java/security/Permission"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/Certificate" since="1" deprecated="3">
+		<extends name="java/lang/Object"/>
+		<method name="decode(Ljava/io/InputStream;)V" deprecated="29"/>
+		<method name="encode(Ljava/io/OutputStream;)V" deprecated="29"/>
+		<method name="getFormat()Ljava/lang/String;" deprecated="29"/>
+		<method name="getGuarantor()Ljava/security/Principal;" deprecated="29"/>
+		<method name="getPrincipal()Ljava/security/Principal;" deprecated="29"/>
+		<method name="getPublicKey()Ljava/security/PublicKey;" deprecated="29"/>
+		<method name="toString(Z)Ljava/lang/String;" deprecated="29"/>
+	</class>
+	<class name="java/security/CodeSigner" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/security/cert/CertPath;Ljava/security/Timestamp;)V"/>
+		<method name="getSignerCertPath()Ljava/security/cert/CertPath;"/>
+		<method name="getTimestamp()Ljava/security/Timestamp;"/>
+	</class>
+	<class name="java/security/CodeSource" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/net/URL;[Ljava/security/CodeSigner;)V"/>
+		<method name="&lt;init>(Ljava/net/URL;[Ljava/security/cert/Certificate;)V"/>
+		<method name="getCertificates()[Ljava/security/cert/Certificate;"/>
+		<method name="getCodeSigners()[Ljava/security/CodeSigner;"/>
+		<method name="getLocation()Ljava/net/URL;"/>
+		<method name="implies(Ljava/security/CodeSource;)Z"/>
+	</class>
+	<class name="java/security/CryptoPrimitive" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/CryptoPrimitive;"/>
+		<method name="values()[Ljava/security/CryptoPrimitive;"/>
+		<field name="BLOCK_CIPHER"/>
+		<field name="KEY_AGREEMENT"/>
+		<field name="KEY_ENCAPSULATION"/>
+		<field name="KEY_WRAP"/>
+		<field name="MAC"/>
+		<field name="MESSAGE_DIGEST"/>
+		<field name="PUBLIC_KEY_ENCRYPTION"/>
+		<field name="SECURE_RANDOM"/>
+		<field name="SIGNATURE"/>
+		<field name="STREAM_CIPHER"/>
+	</class>
+	<class name="java/security/DigestException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/DigestInputStream" since="1">
+		<extends name="java/io/FilterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/security/MessageDigest;)V"/>
+		<method name="getMessageDigest()Ljava/security/MessageDigest;"/>
+		<method name="on(Z)V"/>
+		<method name="setMessageDigest(Ljava/security/MessageDigest;)V"/>
+		<field name="digest"/>
+	</class>
+	<class name="java/security/DigestOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/security/MessageDigest;)V"/>
+		<method name="getMessageDigest()Ljava/security/MessageDigest;"/>
+		<method name="on(Z)V"/>
+		<method name="setMessageDigest(Ljava/security/MessageDigest;)V"/>
+		<field name="digest"/>
+	</class>
+	<class name="java/security/DomainCombiner" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="combine([Ljava/security/ProtectionDomain;[Ljava/security/ProtectionDomain;)[Ljava/security/ProtectionDomain;"/>
+	</class>
+	<class name="java/security/DomainLoadStoreParameter" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/KeyStore$LoadStoreParameter"/>
+		<method name="&lt;init>(Ljava/net/URI;Ljava/util/Map;)V"/>
+		<method name="getConfiguration()Ljava/net/URI;"/>
+		<method name="getProtectionParams()Ljava/util/Map;"/>
+	</class>
+	<class name="java/security/GeneralSecurityException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/Guard" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="checkGuard(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="java/security/GuardedObject" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/Object;Ljava/security/Guard;)V"/>
+		<method name="getObject()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/security/Identity" since="1" deprecated="3">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/security/Principal"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/security/IdentityScope;)V" deprecated="29"/>
+		<method name="addCertificate(Ljava/security/Certificate;)V" deprecated="29"/>
+		<method name="certificates()[Ljava/security/Certificate;" deprecated="29"/>
+		<method name="getInfo()Ljava/lang/String;" deprecated="29"/>
+		<method name="getPublicKey()Ljava/security/PublicKey;" deprecated="29"/>
+		<method name="getScope()Ljava/security/IdentityScope;" deprecated="29"/>
+		<method name="identityEquals(Ljava/security/Identity;)Z" deprecated="29"/>
+		<method name="removeCertificate(Ljava/security/Certificate;)V" deprecated="29"/>
+		<method name="setInfo(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setPublicKey(Ljava/security/PublicKey;)V" deprecated="29"/>
+		<method name="toString(Z)Ljava/lang/String;" deprecated="29"/>
+	</class>
+	<class name="java/security/IdentityScope" since="1" deprecated="3">
+		<extends name="java/security/Identity"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/security/IdentityScope;)V" deprecated="29"/>
+		<method name="addIdentity(Ljava/security/Identity;)V" deprecated="29"/>
+		<method name="getIdentity(Ljava/lang/String;)Ljava/security/Identity;" deprecated="29"/>
+		<method name="getIdentity(Ljava/security/Principal;)Ljava/security/Identity;" deprecated="29"/>
+		<method name="getIdentity(Ljava/security/PublicKey;)Ljava/security/Identity;" deprecated="29"/>
+		<method name="getSystemScope()Ljava/security/IdentityScope;" deprecated="29"/>
+		<method name="identities()Ljava/util/Enumeration;" deprecated="29"/>
+		<method name="removeIdentity(Ljava/security/Identity;)V" deprecated="29"/>
+		<method name="setSystemScope(Ljava/security/IdentityScope;)V" deprecated="29"/>
+		<method name="size()I" deprecated="29"/>
+	</class>
+	<class name="java/security/InvalidAlgorithmParameterException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/InvalidKeyException" since="1">
+		<extends name="java/security/KeyException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/InvalidParameterException" since="1">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/Key" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getEncoded()[B"/>
+		<method name="getFormat()Ljava/lang/String;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/KeyException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/KeyFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/KeyFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="generatePrivate(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;"/>
+		<method name="generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyFactory;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyFactory;"/>
+		<method name="getKeySpec(Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="translateKey(Ljava/security/Key;)Ljava/security/Key;"/>
+	</class>
+	<class name="java/security/KeyFactorySpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGeneratePrivate(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;"/>
+		<method name="engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;"/>
+		<method name="engineGetKeySpec(Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;"/>
+		<method name="engineTranslateKey(Ljava/security/Key;)Ljava/security/Key;"/>
+	</class>
+	<class name="java/security/KeyManagementException" since="1">
+		<extends name="java/security/KeyException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/KeyPair" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/security/PublicKey;Ljava/security/PrivateKey;)V"/>
+		<method name="getPrivate()Ljava/security/PrivateKey;"/>
+		<method name="getPublic()Ljava/security/PublicKey;"/>
+	</class>
+	<class name="java/security/KeyPairGenerator" since="1">
+		<extends name="java/security/KeyPairGeneratorSpi"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="genKeyPair()Ljava/security/KeyPair;"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/KeyPairGenerator;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyPairGenerator;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyPairGenerator;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="initialize(I)V"/>
+		<method name="initialize(Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+	</class>
+	<class name="java/security/KeyPairGeneratorSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="generateKeyPair()Ljava/security/KeyPair;"/>
+		<method name="initialize(ILjava/security/SecureRandom;)V"/>
+		<method name="initialize(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V"/>
+	</class>
+	<class name="java/security/KeyRep" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/security/KeyRep$Type;Ljava/lang/String;Ljava/lang/String;[B)V"/>
+		<method name="readResolve()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/security/KeyRep$Type" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/KeyRep$Type;"/>
+		<method name="values()[Ljava/security/KeyRep$Type;"/>
+		<field name="PRIVATE"/>
+		<field name="PUBLIC"/>
+		<field name="SECRET"/>
+	</class>
+	<class name="java/security/KeyStore" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/KeyStoreSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="aliases()Ljava/util/Enumeration;"/>
+		<method name="containsAlias(Ljava/lang/String;)Z"/>
+		<method name="deleteEntry(Ljava/lang/String;)V"/>
+		<method name="entryInstanceOf(Ljava/lang/String;Ljava/lang/Class;)Z"/>
+		<method name="getCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;"/>
+		<method name="getCertificateAlias(Ljava/security/cert/Certificate;)Ljava/lang/String;"/>
+		<method name="getCertificateChain(Ljava/lang/String;)[Ljava/security/cert/Certificate;"/>
+		<method name="getCreationDate(Ljava/lang/String;)Ljava/util/Date;"/>
+		<method name="getDefaultType()Ljava/lang/String;"/>
+		<method name="getEntry(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/KeyStore;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyStore;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyStore;"/>
+		<method name="getKey(Ljava/lang/String;[C)Ljava/security/Key;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<method name="isCertificateEntry(Ljava/lang/String;)Z"/>
+		<method name="isKeyEntry(Ljava/lang/String;)Z"/>
+		<method name="load(Ljava/io/InputStream;[C)V"/>
+		<method name="load(Ljava/security/KeyStore$LoadStoreParameter;)V"/>
+		<method name="setCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V"/>
+		<method name="setEntry(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V"/>
+		<method name="setKeyEntry(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V"/>
+		<method name="setKeyEntry(Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V"/>
+		<method name="size()I"/>
+		<method name="store(Ljava/io/OutputStream;[C)V"/>
+		<method name="store(Ljava/security/KeyStore$LoadStoreParameter;)V"/>
+	</class>
+	<class name="java/security/KeyStore$Builder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getKeyStore()Ljava/security/KeyStore;"/>
+		<method name="getProtectionParameter(Ljava/lang/String;)Ljava/security/KeyStore$ProtectionParameter;"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/security/Provider;Ljava/io/File;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Builder;"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/security/Provider;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Builder;"/>
+		<method name="newInstance(Ljava/security/KeyStore;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Builder;"/>
+	</class>
+	<class name="java/security/KeyStore$CallbackHandlerProtection" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/KeyStore$ProtectionParameter"/>
+		<method name="&lt;init>(Ljavax/security/auth/callback/CallbackHandler;)V"/>
+		<method name="getCallbackHandler()Ljavax/security/auth/callback/CallbackHandler;"/>
+	</class>
+	<class name="java/security/KeyStore$Entry" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getAttributes()Ljava/util/Set;" since="26"/>
+	</class>
+	<class name="java/security/KeyStore$Entry$Attribute" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getValue()Ljava/lang/String;"/>
+	</class>
+	<class name="java/security/KeyStore$LoadStoreParameter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getProtectionParameter()Ljava/security/KeyStore$ProtectionParameter;"/>
+	</class>
+	<class name="java/security/KeyStore$PasswordProtection" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/KeyStore$ProtectionParameter"/>
+		<implements name="javax/security/auth/Destroyable"/>
+		<method name="&lt;init>([C)V"/>
+		<method name="&lt;init>([CLjava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;)V" since="26"/>
+		<method name="getPassword()[C"/>
+		<method name="getProtectionAlgorithm()Ljava/lang/String;" since="26"/>
+		<method name="getProtectionParameters()Ljava/security/spec/AlgorithmParameterSpec;" since="26"/>
+	</class>
+	<class name="java/security/KeyStore$PrivateKeyEntry" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/KeyStore$Entry"/>
+		<method name="&lt;init>(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;)V"/>
+		<method name="&lt;init>(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/util/Set;)V" since="26"/>
+		<method name="getCertificate()Ljava/security/cert/Certificate;"/>
+		<method name="getCertificateChain()[Ljava/security/cert/Certificate;"/>
+		<method name="getPrivateKey()Ljava/security/PrivateKey;"/>
+	</class>
+	<class name="java/security/KeyStore$ProtectionParameter" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/security/KeyStore$SecretKeyEntry" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/KeyStore$Entry"/>
+		<method name="&lt;init>(Ljavax/crypto/SecretKey;)V"/>
+		<method name="&lt;init>(Ljavax/crypto/SecretKey;Ljava/util/Set;)V" since="26"/>
+		<method name="getSecretKey()Ljavax/crypto/SecretKey;"/>
+	</class>
+	<class name="java/security/KeyStore$TrustedCertificateEntry" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/KeyStore$Entry"/>
+		<method name="&lt;init>(Ljava/security/cert/Certificate;)V"/>
+		<method name="&lt;init>(Ljava/security/cert/Certificate;Ljava/util/Set;)V" since="26"/>
+		<method name="getTrustedCertificate()Ljava/security/cert/Certificate;"/>
+	</class>
+	<class name="java/security/KeyStoreException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/KeyStoreSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineAliases()Ljava/util/Enumeration;"/>
+		<method name="engineContainsAlias(Ljava/lang/String;)Z"/>
+		<method name="engineDeleteEntry(Ljava/lang/String;)V"/>
+		<method name="engineEntryInstanceOf(Ljava/lang/String;Ljava/lang/Class;)Z"/>
+		<method name="engineGetCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;"/>
+		<method name="engineGetCertificateAlias(Ljava/security/cert/Certificate;)Ljava/lang/String;"/>
+		<method name="engineGetCertificateChain(Ljava/lang/String;)[Ljava/security/cert/Certificate;"/>
+		<method name="engineGetCreationDate(Ljava/lang/String;)Ljava/util/Date;"/>
+		<method name="engineGetEntry(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;"/>
+		<method name="engineGetKey(Ljava/lang/String;[C)Ljava/security/Key;"/>
+		<method name="engineIsCertificateEntry(Ljava/lang/String;)Z"/>
+		<method name="engineIsKeyEntry(Ljava/lang/String;)Z"/>
+		<method name="engineLoad(Ljava/io/InputStream;[C)V"/>
+		<method name="engineLoad(Ljava/security/KeyStore$LoadStoreParameter;)V"/>
+		<method name="engineSetCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V"/>
+		<method name="engineSetEntry(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V"/>
+		<method name="engineSetKeyEntry(Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V"/>
+		<method name="engineSetKeyEntry(Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V"/>
+		<method name="engineSize()I"/>
+		<method name="engineStore(Ljava/io/OutputStream;[C)V"/>
+		<method name="engineStore(Ljava/security/KeyStore$LoadStoreParameter;)V"/>
+	</class>
+	<class name="java/security/MessageDigest" since="1">
+		<extends name="java/security/MessageDigestSpi"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="digest()[B"/>
+		<method name="digest([B)[B"/>
+		<method name="digest([BII)I"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getDigestLength()I"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/MessageDigest;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/MessageDigest;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="isEqual([B[B)Z"/>
+		<method name="reset()V"/>
+		<method name="update(B)V"/>
+		<method name="update(Ljava/nio/ByteBuffer;)V"/>
+		<method name="update([B)V"/>
+		<method name="update([BII)V"/>
+	</class>
+	<class name="java/security/MessageDigestSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineDigest()[B"/>
+		<method name="engineDigest([BII)I"/>
+		<method name="engineGetDigestLength()I"/>
+		<method name="engineReset()V"/>
+		<method name="engineUpdate(B)V"/>
+		<method name="engineUpdate(Ljava/nio/ByteBuffer;)V"/>
+		<method name="engineUpdate([BII)V"/>
+	</class>
+	<class name="java/security/NoSuchAlgorithmException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/NoSuchProviderException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/PKCS12Attribute" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/KeyStore$Entry$Attribute"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="getEncoded()[B"/>
+	</class>
+	<class name="java/security/Permission" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/security/Guard"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getActions()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="implies(Ljava/security/Permission;)Z"/>
+		<method name="newPermissionCollection()Ljava/security/PermissionCollection;"/>
+	</class>
+	<class name="java/security/PermissionCollection" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="add(Ljava/security/Permission;)V"/>
+		<method name="elements()Ljava/util/Enumeration;"/>
+		<method name="implies(Ljava/security/Permission;)Z"/>
+		<method name="isReadOnly()Z"/>
+		<method name="setReadOnly()V"/>
+	</class>
+	<class name="java/security/Permissions" since="1">
+		<extends name="java/security/PermissionCollection"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/security/Policy" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Policy$Parameters;)Ljava/security/Policy;" since="9"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Policy$Parameters;Ljava/lang/String;)Ljava/security/Policy;" since="9"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Policy$Parameters;Ljava/security/Provider;)Ljava/security/Policy;" since="9"/>
+		<method name="getParameters()Ljava/security/Policy$Parameters;" since="9"/>
+		<method name="getPermissions(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;"/>
+		<method name="getPermissions(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;"/>
+		<method name="getPolicy()Ljava/security/Policy;"/>
+		<method name="getProvider()Ljava/security/Provider;" since="9"/>
+		<method name="getType()Ljava/lang/String;" since="9"/>
+		<method name="implies(Ljava/security/ProtectionDomain;Ljava/security/Permission;)Z"/>
+		<method name="refresh()V"/>
+		<method name="setPolicy(Ljava/security/Policy;)V"/>
+		<field name="UNSUPPORTED_EMPTY_COLLECTION" since="9"/>
+	</class>
+	<class name="java/security/Policy$Parameters" since="9">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/security/PolicySpi" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGetPermissions(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;"/>
+		<method name="engineGetPermissions(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;"/>
+		<method name="engineImplies(Ljava/security/ProtectionDomain;Ljava/security/Permission;)Z"/>
+		<method name="engineRefresh()V"/>
+	</class>
+	<class name="java/security/Principal" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="implies(Ljavax/security/auth/Subject;)Z" since="26"/>
+	</class>
+	<class name="java/security/PrivateKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/Key"/>
+		<implements name="javax/security/auth/Destroyable" since="26"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/PrivilegedAction" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="run()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/security/PrivilegedActionException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V"/>
+		<method name="getException()Ljava/lang/Exception;"/>
+	</class>
+	<class name="java/security/PrivilegedExceptionAction" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="run()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/security/ProtectionDomain" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V"/>
+		<method name="&lt;init>(Ljava/security/CodeSource;Ljava/security/PermissionCollection;Ljava/lang/ClassLoader;[Ljava/security/Principal;)V"/>
+		<method name="getClassLoader()Ljava/lang/ClassLoader;"/>
+		<method name="getCodeSource()Ljava/security/CodeSource;"/>
+		<method name="getPermissions()Ljava/security/PermissionCollection;"/>
+		<method name="getPrincipals()[Ljava/security/Principal;"/>
+		<method name="implies(Ljava/security/Permission;)Z"/>
+	</class>
+	<class name="java/security/Provider" since="1">
+		<extends name="java/util/Properties"/>
+		<method name="&lt;init>(Ljava/lang/String;DLjava/lang/String;)V"/>
+		<method name="getInfo()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getService(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Provider$Service;"/>
+		<method name="getServices()Ljava/util/Set;"/>
+		<method name="getVersion()D"/>
+		<method name="putService(Ljava/security/Provider$Service;)V"/>
+		<method name="removeService(Ljava/security/Provider$Service;)V"/>
+	</class>
+	<class name="java/security/Provider$Service" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/Provider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)V"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getClassName()Ljava/lang/String;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<method name="newInstance(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="supportsParameter(Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="java/security/ProviderException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/PublicKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/Key"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/SecureClassLoader" since="1">
+		<extends name="java/lang/ClassLoader"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/ClassLoader;)V"/>
+		<method name="defineClass(Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/CodeSource;)Ljava/lang/Class;"/>
+		<method name="defineClass(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;"/>
+		<method name="getPermissions(Ljava/security/CodeSource;)Ljava/security/PermissionCollection;"/>
+	</class>
+	<class name="java/security/SecureRandom" since="1">
+		<extends name="java/util/Random"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/security/SecureRandomSpi;Ljava/security/Provider;)V"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="generateSeed(I)[B"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/SecureRandom;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/SecureRandom;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/SecureRandom;"/>
+		<method name="getInstanceStrong()Ljava/security/SecureRandom;" since="26"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="getSeed(I)[B"/>
+		<method name="setSeed([B)V"/>
+	</class>
+	<class name="java/security/SecureRandomSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGenerateSeed(I)[B"/>
+		<method name="engineNextBytes([B)V"/>
+		<method name="engineSetSeed([B)V"/>
+	</class>
+	<class name="java/security/Security" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addProvider(Ljava/security/Provider;)I"/>
+		<method name="getAlgorithmProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" deprecated="15"/>
+		<method name="getAlgorithms(Ljava/lang/String;)Ljava/util/Set;"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getProvider(Ljava/lang/String;)Ljava/security/Provider;"/>
+		<method name="getProviders()[Ljava/security/Provider;"/>
+		<method name="getProviders(Ljava/lang/String;)[Ljava/security/Provider;"/>
+		<method name="getProviders(Ljava/util/Map;)[Ljava/security/Provider;"/>
+		<method name="insertProviderAt(Ljava/security/Provider;I)I"/>
+		<method name="removeProvider(Ljava/lang/String;)V"/>
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/SecurityPermission" since="1">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/Signature" since="1">
+		<extends name="java/security/SignatureSpi"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/Signature;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/Signature;"/>
+		<method name="getParameter(Ljava/lang/String;)Ljava/lang/Object;" deprecated="15"/>
+		<method name="getParameters()Ljava/security/AlgorithmParameters;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="initSign(Ljava/security/PrivateKey;)V"/>
+		<method name="initSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V"/>
+		<method name="initVerify(Ljava/security/PublicKey;)V"/>
+		<method name="initVerify(Ljava/security/cert/Certificate;)V"/>
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)V" deprecated="15"/>
+		<method name="setParameter(Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="sign()[B"/>
+		<method name="sign([BII)I"/>
+		<method name="update(B)V"/>
+		<method name="update(Ljava/nio/ByteBuffer;)V"/>
+		<method name="update([B)V"/>
+		<method name="update([BII)V"/>
+		<method name="verify([B)Z"/>
+		<method name="verify([BII)Z"/>
+		<field name="SIGN"/>
+		<field name="UNINITIALIZED"/>
+		<field name="VERIFY"/>
+		<field name="state"/>
+	</class>
+	<class name="java/security/SignatureException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/SignatureSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGetParameter(Ljava/lang/String;)Ljava/lang/Object;" deprecated="15"/>
+		<method name="engineGetParameters()Ljava/security/AlgorithmParameters;"/>
+		<method name="engineInitSign(Ljava/security/PrivateKey;)V"/>
+		<method name="engineInitSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V"/>
+		<method name="engineInitVerify(Ljava/security/PublicKey;)V"/>
+		<method name="engineSetParameter(Ljava/lang/String;Ljava/lang/Object;)V" deprecated="15"/>
+		<method name="engineSetParameter(Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="engineSign()[B"/>
+		<method name="engineSign([BII)I"/>
+		<method name="engineUpdate(B)V"/>
+		<method name="engineUpdate(Ljava/nio/ByteBuffer;)V"/>
+		<method name="engineUpdate([BII)V"/>
+		<method name="engineVerify([B)Z"/>
+		<method name="engineVerify([BII)Z"/>
+		<field name="appRandom"/>
+	</class>
+	<class name="java/security/SignedObject" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/io/Serializable;Ljava/security/PrivateKey;Ljava/security/Signature;)V"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getObject()Ljava/lang/Object;"/>
+		<method name="getSignature()[B"/>
+		<method name="verify(Ljava/security/PublicKey;Ljava/security/Signature;)Z"/>
+	</class>
+	<class name="java/security/Signer" since="1" deprecated="3">
+		<extends name="java/security/Identity"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/security/IdentityScope;)V" deprecated="29"/>
+		<method name="getPrivateKey()Ljava/security/PrivateKey;" deprecated="29"/>
+		<method name="setKeyPair(Ljava/security/KeyPair;)V" deprecated="29"/>
+	</class>
+	<class name="java/security/Timestamp" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/util/Date;Ljava/security/cert/CertPath;)V"/>
+		<method name="getSignerCertPath()Ljava/security/cert/CertPath;"/>
+		<method name="getTimestamp()Ljava/util/Date;"/>
+	</class>
+	<class name="java/security/UnrecoverableEntryException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/UnrecoverableKeyException" since="1">
+		<extends name="java/security/GeneralSecurityException" removed="9"/>
+		<extends name="java/security/UnrecoverableEntryException" since="9"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/UnresolvedPermission" since="1">
+		<extends name="java/security/Permission"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V"/>
+		<method name="getUnresolvedActions()Ljava/lang/String;"/>
+		<method name="getUnresolvedCerts()[Ljava/security/cert/Certificate;"/>
+		<method name="getUnresolvedName()Ljava/lang/String;"/>
+		<method name="getUnresolvedType()Ljava/lang/String;"/>
+	</class>
+	<class name="java/security/acl/Acl" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/acl/Owner"/>
+		<method name="addEntry(Ljava/security/Principal;Ljava/security/acl/AclEntry;)Z"/>
+		<method name="checkPermission(Ljava/security/Principal;Ljava/security/acl/Permission;)Z"/>
+		<method name="entries()Ljava/util/Enumeration;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPermissions(Ljava/security/Principal;)Ljava/util/Enumeration;"/>
+		<method name="removeEntry(Ljava/security/Principal;Ljava/security/acl/AclEntry;)Z"/>
+		<method name="setName(Ljava/security/Principal;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/acl/AclEntry" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="addPermission(Ljava/security/acl/Permission;)Z"/>
+		<method name="checkPermission(Ljava/security/acl/Permission;)Z"/>
+		<method name="getPrincipal()Ljava/security/Principal;"/>
+		<method name="isNegative()Z"/>
+		<method name="permissions()Ljava/util/Enumeration;"/>
+		<method name="removePermission(Ljava/security/acl/Permission;)Z"/>
+		<method name="setNegativePermissions()V"/>
+		<method name="setPrincipal(Ljava/security/Principal;)Z"/>
+	</class>
+	<class name="java/security/acl/AclNotFoundException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/security/acl/Group" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/Principal"/>
+		<method name="addMember(Ljava/security/Principal;)Z"/>
+		<method name="isMember(Ljava/security/Principal;)Z"/>
+		<method name="members()Ljava/util/Enumeration;"/>
+		<method name="removeMember(Ljava/security/Principal;)Z"/>
+	</class>
+	<class name="java/security/acl/LastOwnerException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/security/acl/NotOwnerException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/security/acl/Owner" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addOwner(Ljava/security/Principal;Ljava/security/Principal;)Z"/>
+		<method name="deleteOwner(Ljava/security/Principal;Ljava/security/Principal;)Z"/>
+		<method name="isOwner(Ljava/security/Principal;)Z"/>
+	</class>
+	<class name="java/security/acl/Permission" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/security/cert/CRL" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<method name="isRevoked(Ljava/security/cert/Certificate;)Z"/>
+	</class>
+	<class name="java/security/cert/CRLException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/cert/CRLReason" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/cert/CRLReason;"/>
+		<method name="values()[Ljava/security/cert/CRLReason;"/>
+		<field name="AA_COMPROMISE"/>
+		<field name="AFFILIATION_CHANGED"/>
+		<field name="CA_COMPROMISE"/>
+		<field name="CERTIFICATE_HOLD"/>
+		<field name="CESSATION_OF_OPERATION"/>
+		<field name="KEY_COMPROMISE"/>
+		<field name="PRIVILEGE_WITHDRAWN"/>
+		<field name="REMOVE_FROM_CRL"/>
+		<field name="SUPERSEDED"/>
+		<field name="UNSPECIFIED"/>
+		<field name="UNUSED"/>
+	</class>
+	<class name="java/security/cert/CRLSelector" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="match(Ljava/security/cert/CRL;)Z"/>
+	</class>
+	<class name="java/security/cert/CertPath" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getCertificates()Ljava/util/List;"/>
+		<method name="getEncoded()[B"/>
+		<method name="getEncoded(Ljava/lang/String;)[B"/>
+		<method name="getEncodings()Ljava/util/Iterator;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<method name="writeReplace()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/security/cert/CertPath$CertPathRep" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/String;[B)V"/>
+		<method name="readResolve()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/security/cert/CertPathBuilder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/cert/CertPathBuilderSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="build(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getDefaultType()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/cert/CertPathBuilder;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="getRevocationChecker()Ljava/security/cert/CertPathChecker;" since="24"/>
+	</class>
+	<class name="java/security/cert/CertPathBuilderException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/cert/CertPathBuilderResult" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="getCertPath()Ljava/security/cert/CertPath;"/>
+	</class>
+	<class name="java/security/cert/CertPathBuilderSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineBuild(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;"/>
+		<method name="engineGetRevocationChecker()Ljava/security/cert/CertPathChecker;" since="24"/>
+	</class>
+	<class name="java/security/cert/CertPathChecker" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="check(Ljava/security/cert/Certificate;)V"/>
+		<method name="init(Z)V"/>
+		<method name="isForwardCheckingSupported()Z"/>
+	</class>
+	<class name="java/security/cert/CertPathParameters" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+	</class>
+	<class name="java/security/cert/CertPathValidator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/cert/CertPathValidatorSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getDefaultType()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathValidator;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertPathValidator;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/cert/CertPathValidator;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="getRevocationChecker()Ljava/security/cert/CertPathChecker;" since="24"/>
+		<method name="validate(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;"/>
+	</class>
+	<class name="java/security/cert/CertPathValidatorException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;Ljava/security/cert/CertPath;ILjava/security/cert/CertPathValidatorException$Reason;)V" since="24"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+		<method name="getCertPath()Ljava/security/cert/CertPath;"/>
+		<method name="getIndex()I"/>
+		<method name="getReason()Ljava/security/cert/CertPathValidatorException$Reason;" since="24"/>
+	</class>
+	<class name="java/security/cert/CertPathValidatorException$BasicReason" since="24">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/security/cert/CertPathValidatorException$Reason"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/cert/CertPathValidatorException$BasicReason;"/>
+		<method name="values()[Ljava/security/cert/CertPathValidatorException$BasicReason;"/>
+		<field name="ALGORITHM_CONSTRAINED"/>
+		<field name="EXPIRED"/>
+		<field name="INVALID_SIGNATURE"/>
+		<field name="NOT_YET_VALID"/>
+		<field name="REVOKED"/>
+		<field name="UNDETERMINED_REVOCATION_STATUS"/>
+		<field name="UNSPECIFIED"/>
+	</class>
+	<class name="java/security/cert/CertPathValidatorException$Reason" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+	</class>
+	<class name="java/security/cert/CertPathValidatorResult" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+	</class>
+	<class name="java/security/cert/CertPathValidatorSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGetRevocationChecker()Ljava/security/cert/CertPathChecker;" since="24"/>
+		<method name="engineValidate(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;"/>
+	</class>
+	<class name="java/security/cert/CertSelector" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="match(Ljava/security/cert/Certificate;)Z"/>
+	</class>
+	<class name="java/security/cert/CertStore" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/cert/CertStoreSpi;Ljava/security/Provider;Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)V"/>
+		<method name="getCRLs(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;"/>
+		<method name="getCertStoreParameters()Ljava/security/cert/CertStoreParameters;"/>
+		<method name="getCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;"/>
+		<method name="getDefaultType()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;Ljava/lang/String;)Ljava/security/cert/CertStore;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;Ljava/security/Provider;)Ljava/security/cert/CertStore;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="getType()Ljava/lang/String;"/>
+	</class>
+	<class name="java/security/cert/CertStoreException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/cert/CertStoreParameters" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+	</class>
+	<class name="java/security/cert/CertStoreSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/cert/CertStoreParameters;)V"/>
+		<method name="engineGetCRLs(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;"/>
+		<method name="engineGetCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;"/>
+	</class>
+	<class name="java/security/cert/Certificate" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getEncoded()[B"/>
+		<method name="getPublicKey()Ljava/security/PublicKey;"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<method name="verify(Ljava/security/PublicKey;)V"/>
+		<method name="verify(Ljava/security/PublicKey;Ljava/lang/String;)V"/>
+		<method name="verify(Ljava/security/PublicKey;Ljava/security/Provider;)V" since="26"/>
+		<method name="writeReplace()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/security/cert/Certificate$CertificateRep" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/String;[B)V"/>
+		<method name="readResolve()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/security/cert/CertificateEncodingException" since="1">
+		<extends name="java/security/cert/CertificateException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/cert/CertificateException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/cert/CertificateExpiredException" since="1">
+		<extends name="java/security/cert/CertificateException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/cert/CertificateFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/cert/CertificateFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="generateCRL(Ljava/io/InputStream;)Ljava/security/cert/CRL;"/>
+		<method name="generateCRLs(Ljava/io/InputStream;)Ljava/util/Collection;"/>
+		<method name="generateCertPath(Ljava/io/InputStream;)Ljava/security/cert/CertPath;"/>
+		<method name="generateCertPath(Ljava/io/InputStream;Ljava/lang/String;)Ljava/security/cert/CertPath;"/>
+		<method name="generateCertPath(Ljava/util/List;)Ljava/security/cert/CertPath;"/>
+		<method name="generateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;"/>
+		<method name="generateCertificates(Ljava/io/InputStream;)Ljava/util/Collection;"/>
+		<method name="getCertPathEncodings()Ljava/util/Iterator;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/cert/CertificateFactory;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/cert/CertificateFactory;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="getType()Ljava/lang/String;"/>
+	</class>
+	<class name="java/security/cert/CertificateFactorySpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGenerateCRL(Ljava/io/InputStream;)Ljava/security/cert/CRL;"/>
+		<method name="engineGenerateCRLs(Ljava/io/InputStream;)Ljava/util/Collection;"/>
+		<method name="engineGenerateCertPath(Ljava/io/InputStream;)Ljava/security/cert/CertPath;"/>
+		<method name="engineGenerateCertPath(Ljava/io/InputStream;Ljava/lang/String;)Ljava/security/cert/CertPath;"/>
+		<method name="engineGenerateCertPath(Ljava/util/List;)Ljava/security/cert/CertPath;"/>
+		<method name="engineGenerateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;"/>
+		<method name="engineGenerateCertificates(Ljava/io/InputStream;)Ljava/util/Collection;"/>
+		<method name="engineGetCertPathEncodings()Ljava/util/Iterator;"/>
+	</class>
+	<class name="java/security/cert/CertificateNotYetValidException" since="1">
+		<extends name="java/security/cert/CertificateException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/cert/CertificateParsingException" since="1">
+		<extends name="java/security/cert/CertificateException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/cert/CertificateRevokedException" since="24">
+		<extends name="java/security/cert/CertificateException"/>
+		<method name="&lt;init>(Ljava/util/Date;Ljava/security/cert/CRLReason;Ljavax/security/auth/x500/X500Principal;Ljava/util/Map;)V"/>
+		<method name="getAuthorityName()Ljavax/security/auth/x500/X500Principal;"/>
+		<method name="getExtensions()Ljava/util/Map;"/>
+		<method name="getInvalidityDate()Ljava/util/Date;"/>
+		<method name="getRevocationDate()Ljava/util/Date;"/>
+		<method name="getRevocationReason()Ljava/security/cert/CRLReason;"/>
+	</class>
+	<class name="java/security/cert/CollectionCertStoreParameters" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/cert/CertStoreParameters"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="getCollection()Ljava/util/Collection;"/>
+	</class>
+	<class name="java/security/cert/Extension" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="encode(Ljava/io/OutputStream;)V"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getValue()[B"/>
+		<method name="isCritical()Z"/>
+	</class>
+	<class name="java/security/cert/LDAPCertStoreParameters" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/cert/CertStoreParameters"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="getPort()I"/>
+		<method name="getServerName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/security/cert/PKIXBuilderParameters" since="1">
+		<extends name="java/security/cert/PKIXParameters"/>
+		<method name="&lt;init>(Ljava/security/KeyStore;Ljava/security/cert/CertSelector;)V"/>
+		<method name="&lt;init>(Ljava/util/Set;Ljava/security/cert/CertSelector;)V"/>
+		<method name="getMaxPathLength()I"/>
+		<method name="setMaxPathLength(I)V"/>
+	</class>
+	<class name="java/security/cert/PKIXCertPathBuilderResult" since="1">
+		<extends name="java/security/cert/PKIXCertPathValidatorResult"/>
+		<implements name="java/security/cert/CertPathBuilderResult"/>
+		<method name="&lt;init>(Ljava/security/cert/CertPath;Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V"/>
+	</class>
+	<class name="java/security/cert/PKIXCertPathChecker" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/security/cert/CertPathChecker" since="24"/>
+		<method name="&lt;init>()V"/>
+		<method name="check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V"/>
+		<method name="getSupportedExtensions()Ljava/util/Set;"/>
+		<method name="init(Z)V"/>
+		<method name="isForwardCheckingSupported()Z"/>
+	</class>
+	<class name="java/security/cert/PKIXCertPathValidatorResult" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/cert/CertPathValidatorResult"/>
+		<method name="&lt;init>(Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V"/>
+		<method name="getPolicyTree()Ljava/security/cert/PolicyNode;"/>
+		<method name="getPublicKey()Ljava/security/PublicKey;"/>
+		<method name="getTrustAnchor()Ljava/security/cert/TrustAnchor;"/>
+	</class>
+	<class name="java/security/cert/PKIXParameters" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/cert/CertPathParameters"/>
+		<method name="&lt;init>(Ljava/security/KeyStore;)V"/>
+		<method name="&lt;init>(Ljava/util/Set;)V"/>
+		<method name="addCertPathChecker(Ljava/security/cert/PKIXCertPathChecker;)V"/>
+		<method name="addCertStore(Ljava/security/cert/CertStore;)V"/>
+		<method name="getCertPathCheckers()Ljava/util/List;"/>
+		<method name="getCertStores()Ljava/util/List;"/>
+		<method name="getDate()Ljava/util/Date;"/>
+		<method name="getInitialPolicies()Ljava/util/Set;"/>
+		<method name="getPolicyQualifiersRejected()Z"/>
+		<method name="getSigProvider()Ljava/lang/String;"/>
+		<method name="getTargetCertConstraints()Ljava/security/cert/CertSelector;"/>
+		<method name="getTrustAnchors()Ljava/util/Set;"/>
+		<method name="isAnyPolicyInhibited()Z"/>
+		<method name="isExplicitPolicyRequired()Z"/>
+		<method name="isPolicyMappingInhibited()Z"/>
+		<method name="isRevocationEnabled()Z"/>
+		<method name="setAnyPolicyInhibited(Z)V"/>
+		<method name="setCertPathCheckers(Ljava/util/List;)V"/>
+		<method name="setCertStores(Ljava/util/List;)V"/>
+		<method name="setDate(Ljava/util/Date;)V"/>
+		<method name="setExplicitPolicyRequired(Z)V"/>
+		<method name="setInitialPolicies(Ljava/util/Set;)V"/>
+		<method name="setPolicyMappingInhibited(Z)V"/>
+		<method name="setPolicyQualifiersRejected(Z)V"/>
+		<method name="setRevocationEnabled(Z)V"/>
+		<method name="setSigProvider(Ljava/lang/String;)V"/>
+		<method name="setTargetCertConstraints(Ljava/security/cert/CertSelector;)V"/>
+		<method name="setTrustAnchors(Ljava/util/Set;)V"/>
+	</class>
+	<class name="java/security/cert/PKIXReason" since="24">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/security/cert/CertPathValidatorException$Reason"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/cert/PKIXReason;"/>
+		<method name="values()[Ljava/security/cert/PKIXReason;"/>
+		<field name="INVALID_KEY_USAGE"/>
+		<field name="INVALID_NAME"/>
+		<field name="INVALID_POLICY"/>
+		<field name="NAME_CHAINING"/>
+		<field name="NOT_CA_CERT"/>
+		<field name="NO_TRUST_ANCHOR"/>
+		<field name="PATH_TOO_LONG"/>
+		<field name="UNRECOGNIZED_CRIT_EXT"/>
+	</class>
+	<class name="java/security/cert/PKIXRevocationChecker" since="24">
+		<extends name="java/security/cert/PKIXCertPathChecker"/>
+		<method name="&lt;init>()V"/>
+		<method name="clone()Ljava/security/cert/PKIXRevocationChecker;"/>
+		<method name="getOcspExtensions()Ljava/util/List;"/>
+		<method name="getOcspResponder()Ljava/net/URI;"/>
+		<method name="getOcspResponderCert()Ljava/security/cert/X509Certificate;"/>
+		<method name="getOcspResponses()Ljava/util/Map;"/>
+		<method name="getOptions()Ljava/util/Set;"/>
+		<method name="getSoftFailExceptions()Ljava/util/List;"/>
+		<method name="setOcspExtensions(Ljava/util/List;)V"/>
+		<method name="setOcspResponder(Ljava/net/URI;)V"/>
+		<method name="setOcspResponderCert(Ljava/security/cert/X509Certificate;)V"/>
+		<method name="setOcspResponses(Ljava/util/Map;)V"/>
+		<method name="setOptions(Ljava/util/Set;)V"/>
+	</class>
+	<class name="java/security/cert/PKIXRevocationChecker$Option" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/security/cert/PKIXRevocationChecker$Option;"/>
+		<method name="values()[Ljava/security/cert/PKIXRevocationChecker$Option;"/>
+		<field name="NO_FALLBACK"/>
+		<field name="ONLY_END_ENTITY"/>
+		<field name="PREFER_CRLS"/>
+		<field name="SOFT_FAIL"/>
+	</class>
+	<class name="java/security/cert/PolicyNode" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getChildren()Ljava/util/Iterator;"/>
+		<method name="getDepth()I"/>
+		<method name="getExpectedPolicies()Ljava/util/Set;"/>
+		<method name="getParent()Ljava/security/cert/PolicyNode;"/>
+		<method name="getPolicyQualifiers()Ljava/util/Set;"/>
+		<method name="getValidPolicy()Ljava/lang/String;"/>
+		<method name="isCritical()Z"/>
+	</class>
+	<class name="java/security/cert/PolicyQualifierInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="getEncoded()[B"/>
+		<method name="getPolicyQualifier()[B"/>
+		<method name="getPolicyQualifierId()Ljava/lang/String;"/>
+	</class>
+	<class name="java/security/cert/TrustAnchor" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/security/PublicKey;[B)V"/>
+		<method name="&lt;init>(Ljava/security/cert/X509Certificate;[B)V"/>
+		<method name="&lt;init>(Ljavax/security/auth/x500/X500Principal;Ljava/security/PublicKey;[B)V"/>
+		<method name="getCA()Ljavax/security/auth/x500/X500Principal;"/>
+		<method name="getCAName()Ljava/lang/String;"/>
+		<method name="getCAPublicKey()Ljava/security/PublicKey;"/>
+		<method name="getNameConstraints()[B"/>
+		<method name="getTrustedCert()Ljava/security/cert/X509Certificate;"/>
+	</class>
+	<class name="java/security/cert/X509CRL" since="1">
+		<extends name="java/security/cert/CRL"/>
+		<implements name="java/security/cert/X509Extension"/>
+		<method name="&lt;init>()V"/>
+		<method name="getEncoded()[B"/>
+		<method name="getIssuerDN()Ljava/security/Principal;"/>
+		<method name="getIssuerX500Principal()Ljavax/security/auth/x500/X500Principal;"/>
+		<method name="getNextUpdate()Ljava/util/Date;"/>
+		<method name="getRevokedCertificate(Ljava/math/BigInteger;)Ljava/security/cert/X509CRLEntry;"/>
+		<method name="getRevokedCertificate(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509CRLEntry;"/>
+		<method name="getRevokedCertificates()Ljava/util/Set;"/>
+		<method name="getSigAlgName()Ljava/lang/String;"/>
+		<method name="getSigAlgOID()Ljava/lang/String;"/>
+		<method name="getSigAlgParams()[B"/>
+		<method name="getSignature()[B"/>
+		<method name="getTBSCertList()[B"/>
+		<method name="getThisUpdate()Ljava/util/Date;"/>
+		<method name="getVersion()I"/>
+		<method name="verify(Ljava/security/PublicKey;)V"/>
+		<method name="verify(Ljava/security/PublicKey;Ljava/lang/String;)V"/>
+		<method name="verify(Ljava/security/PublicKey;Ljava/security/Provider;)V" since="26"/>
+	</class>
+	<class name="java/security/cert/X509CRLEntry" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/cert/X509Extension"/>
+		<method name="&lt;init>()V"/>
+		<method name="getCertificateIssuer()Ljavax/security/auth/x500/X500Principal;"/>
+		<method name="getEncoded()[B"/>
+		<method name="getRevocationDate()Ljava/util/Date;"/>
+		<method name="getRevocationReason()Ljava/security/cert/CRLReason;" since="24"/>
+		<method name="getSerialNumber()Ljava/math/BigInteger;"/>
+		<method name="hasExtensions()Z"/>
+	</class>
+	<class name="java/security/cert/X509CRLSelector" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/cert/CRLSelector"/>
+		<method name="&lt;init>()V"/>
+		<method name="addIssuer(Ljavax/security/auth/x500/X500Principal;)V"/>
+		<method name="addIssuerName(Ljava/lang/String;)V"/>
+		<method name="addIssuerName([B)V"/>
+		<method name="getCertificateChecking()Ljava/security/cert/X509Certificate;"/>
+		<method name="getDateAndTime()Ljava/util/Date;"/>
+		<method name="getIssuerNames()Ljava/util/Collection;"/>
+		<method name="getIssuers()Ljava/util/Collection;"/>
+		<method name="getMaxCRL()Ljava/math/BigInteger;"/>
+		<method name="getMinCRL()Ljava/math/BigInteger;"/>
+		<method name="setCertificateChecking(Ljava/security/cert/X509Certificate;)V"/>
+		<method name="setDateAndTime(Ljava/util/Date;)V"/>
+		<method name="setIssuerNames(Ljava/util/Collection;)V"/>
+		<method name="setIssuers(Ljava/util/Collection;)V"/>
+		<method name="setMaxCRLNumber(Ljava/math/BigInteger;)V"/>
+		<method name="setMinCRLNumber(Ljava/math/BigInteger;)V"/>
+	</class>
+	<class name="java/security/cert/X509CertSelector" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/cert/CertSelector"/>
+		<method name="&lt;init>()V"/>
+		<method name="addPathToName(ILjava/lang/String;)V"/>
+		<method name="addPathToName(I[B)V"/>
+		<method name="addSubjectAlternativeName(ILjava/lang/String;)V"/>
+		<method name="addSubjectAlternativeName(I[B)V"/>
+		<method name="getAuthorityKeyIdentifier()[B"/>
+		<method name="getBasicConstraints()I"/>
+		<method name="getCertificate()Ljava/security/cert/X509Certificate;"/>
+		<method name="getCertificateValid()Ljava/util/Date;"/>
+		<method name="getExtendedKeyUsage()Ljava/util/Set;"/>
+		<method name="getIssuer()Ljavax/security/auth/x500/X500Principal;"/>
+		<method name="getIssuerAsBytes()[B"/>
+		<method name="getIssuerAsString()Ljava/lang/String;"/>
+		<method name="getKeyUsage()[Z"/>
+		<method name="getMatchAllSubjectAltNames()Z"/>
+		<method name="getNameConstraints()[B"/>
+		<method name="getPathToNames()Ljava/util/Collection;"/>
+		<method name="getPolicy()Ljava/util/Set;"/>
+		<method name="getPrivateKeyValid()Ljava/util/Date;"/>
+		<method name="getSerialNumber()Ljava/math/BigInteger;"/>
+		<method name="getSubject()Ljavax/security/auth/x500/X500Principal;"/>
+		<method name="getSubjectAlternativeNames()Ljava/util/Collection;"/>
+		<method name="getSubjectAsBytes()[B"/>
+		<method name="getSubjectAsString()Ljava/lang/String;"/>
+		<method name="getSubjectKeyIdentifier()[B"/>
+		<method name="getSubjectPublicKey()Ljava/security/PublicKey;"/>
+		<method name="getSubjectPublicKeyAlgID()Ljava/lang/String;"/>
+		<method name="setAuthorityKeyIdentifier([B)V"/>
+		<method name="setBasicConstraints(I)V"/>
+		<method name="setCertificate(Ljava/security/cert/X509Certificate;)V"/>
+		<method name="setCertificateValid(Ljava/util/Date;)V"/>
+		<method name="setExtendedKeyUsage(Ljava/util/Set;)V"/>
+		<method name="setIssuer(Ljava/lang/String;)V"/>
+		<method name="setIssuer(Ljavax/security/auth/x500/X500Principal;)V"/>
+		<method name="setIssuer([B)V"/>
+		<method name="setKeyUsage([Z)V"/>
+		<method name="setMatchAllSubjectAltNames(Z)V"/>
+		<method name="setNameConstraints([B)V"/>
+		<method name="setPathToNames(Ljava/util/Collection;)V"/>
+		<method name="setPolicy(Ljava/util/Set;)V"/>
+		<method name="setPrivateKeyValid(Ljava/util/Date;)V"/>
+		<method name="setSerialNumber(Ljava/math/BigInteger;)V"/>
+		<method name="setSubject(Ljava/lang/String;)V"/>
+		<method name="setSubject(Ljavax/security/auth/x500/X500Principal;)V"/>
+		<method name="setSubject([B)V"/>
+		<method name="setSubjectAlternativeNames(Ljava/util/Collection;)V"/>
+		<method name="setSubjectKeyIdentifier([B)V"/>
+		<method name="setSubjectPublicKey(Ljava/security/PublicKey;)V"/>
+		<method name="setSubjectPublicKey([B)V"/>
+		<method name="setSubjectPublicKeyAlgID(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/cert/X509Certificate" since="1">
+		<extends name="java/security/cert/Certificate"/>
+		<implements name="java/security/cert/X509Extension"/>
+		<method name="&lt;init>()V"/>
+		<method name="checkValidity()V"/>
+		<method name="checkValidity(Ljava/util/Date;)V"/>
+		<method name="getBasicConstraints()I"/>
+		<method name="getExtendedKeyUsage()Ljava/util/List;"/>
+		<method name="getIssuerAlternativeNames()Ljava/util/Collection;"/>
+		<method name="getIssuerDN()Ljava/security/Principal;"/>
+		<method name="getIssuerUniqueID()[Z"/>
+		<method name="getIssuerX500Principal()Ljavax/security/auth/x500/X500Principal;"/>
+		<method name="getKeyUsage()[Z"/>
+		<method name="getNotAfter()Ljava/util/Date;"/>
+		<method name="getNotBefore()Ljava/util/Date;"/>
+		<method name="getSerialNumber()Ljava/math/BigInteger;"/>
+		<method name="getSigAlgName()Ljava/lang/String;"/>
+		<method name="getSigAlgOID()Ljava/lang/String;"/>
+		<method name="getSigAlgParams()[B"/>
+		<method name="getSignature()[B"/>
+		<method name="getSubjectAlternativeNames()Ljava/util/Collection;"/>
+		<method name="getSubjectDN()Ljava/security/Principal;"/>
+		<method name="getSubjectUniqueID()[Z"/>
+		<method name="getSubjectX500Principal()Ljavax/security/auth/x500/X500Principal;"/>
+		<method name="getTBSCertificate()[B"/>
+		<method name="getVersion()I"/>
+		<method name="verify(Ljava/security/PublicKey;Ljava/security/Provider;)V" since="24"/>
+	</class>
+	<class name="java/security/cert/X509Extension" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getCriticalExtensionOIDs()Ljava/util/Set;"/>
+		<method name="getExtensionValue(Ljava/lang/String;)[B"/>
+		<method name="getNonCriticalExtensionOIDs()Ljava/util/Set;"/>
+		<method name="hasUnsupportedCriticalExtension()Z"/>
+	</class>
+	<class name="java/security/interfaces/DSAKey" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getParams()Ljava/security/interfaces/DSAParams;"/>
+	</class>
+	<class name="java/security/interfaces/DSAKeyPairGenerator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="initialize(IZLjava/security/SecureRandom;)V"/>
+		<method name="initialize(Ljava/security/interfaces/DSAParams;Ljava/security/SecureRandom;)V"/>
+	</class>
+	<class name="java/security/interfaces/DSAParams" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getG()Ljava/math/BigInteger;"/>
+		<method name="getP()Ljava/math/BigInteger;"/>
+		<method name="getQ()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/interfaces/DSAPrivateKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/PrivateKey"/>
+		<implements name="java/security/interfaces/DSAKey"/>
+		<method name="getX()Ljava/math/BigInteger;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/interfaces/DSAPublicKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/PublicKey"/>
+		<implements name="java/security/interfaces/DSAKey"/>
+		<method name="getY()Ljava/math/BigInteger;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/interfaces/ECKey" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getParams()Ljava/security/spec/ECParameterSpec;"/>
+	</class>
+	<class name="java/security/interfaces/ECPrivateKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/PrivateKey"/>
+		<implements name="java/security/interfaces/ECKey"/>
+		<method name="getS()Ljava/math/BigInteger;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/interfaces/ECPublicKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/PublicKey"/>
+		<implements name="java/security/interfaces/ECKey"/>
+		<method name="getW()Ljava/security/spec/ECPoint;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/interfaces/RSAKey" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getModulus()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/interfaces/RSAMultiPrimePrivateCrtKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/interfaces/RSAPrivateKey"/>
+		<method name="getCrtCoefficient()Ljava/math/BigInteger;"/>
+		<method name="getOtherPrimeInfo()[Ljava/security/spec/RSAOtherPrimeInfo;"/>
+		<method name="getPrimeExponentP()Ljava/math/BigInteger;"/>
+		<method name="getPrimeExponentQ()Ljava/math/BigInteger;"/>
+		<method name="getPrimeP()Ljava/math/BigInteger;"/>
+		<method name="getPrimeQ()Ljava/math/BigInteger;"/>
+		<method name="getPublicExponent()Ljava/math/BigInteger;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/interfaces/RSAPrivateCrtKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/interfaces/RSAPrivateKey"/>
+		<method name="getCrtCoefficient()Ljava/math/BigInteger;"/>
+		<method name="getPrimeExponentP()Ljava/math/BigInteger;"/>
+		<method name="getPrimeExponentQ()Ljava/math/BigInteger;"/>
+		<method name="getPrimeP()Ljava/math/BigInteger;"/>
+		<method name="getPrimeQ()Ljava/math/BigInteger;"/>
+		<method name="getPublicExponent()Ljava/math/BigInteger;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/interfaces/RSAPrivateKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/PrivateKey"/>
+		<implements name="java/security/interfaces/RSAKey"/>
+		<method name="getPrivateExponent()Ljava/math/BigInteger;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/interfaces/RSAPublicKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/PublicKey"/>
+		<implements name="java/security/interfaces/RSAKey"/>
+		<method name="getPublicExponent()Ljava/math/BigInteger;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="java/security/spec/AlgorithmParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/security/spec/DSAParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/interfaces/DSAParams"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+	</class>
+	<class name="java/security/spec/DSAPrivateKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="getG()Ljava/math/BigInteger;"/>
+		<method name="getP()Ljava/math/BigInteger;"/>
+		<method name="getQ()Ljava/math/BigInteger;"/>
+		<method name="getX()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/DSAPublicKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="getG()Ljava/math/BigInteger;"/>
+		<method name="getP()Ljava/math/BigInteger;"/>
+		<method name="getQ()Ljava/math/BigInteger;"/>
+		<method name="getY()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/ECField" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getFieldSize()I"/>
+	</class>
+	<class name="java/security/spec/ECFieldF2m" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/ECField"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/math/BigInteger;)V"/>
+		<method name="&lt;init>(I[I)V"/>
+		<method name="getM()I"/>
+		<method name="getMidTermsOfReductionPolynomial()[I"/>
+		<method name="getReductionPolynomial()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/ECFieldFp" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/ECField"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;)V"/>
+		<method name="getP()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/ECGenParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/security/spec/ECParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(Ljava/security/spec/EllipticCurve;Ljava/security/spec/ECPoint;Ljava/math/BigInteger;I)V"/>
+		<method name="getCofactor()I"/>
+		<method name="getCurve()Ljava/security/spec/EllipticCurve;"/>
+		<method name="getGenerator()Ljava/security/spec/ECPoint;"/>
+		<method name="getOrder()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/ECPoint" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="getAffineX()Ljava/math/BigInteger;"/>
+		<method name="getAffineY()Ljava/math/BigInteger;"/>
+		<field name="POINT_INFINITY"/>
+	</class>
+	<class name="java/security/spec/ECPrivateKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/security/spec/ECParameterSpec;)V"/>
+		<method name="getParams()Ljava/security/spec/ECParameterSpec;"/>
+		<method name="getS()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/ECPublicKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>(Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)V"/>
+		<method name="getParams()Ljava/security/spec/ECParameterSpec;"/>
+		<method name="getW()Ljava/security/spec/ECPoint;"/>
+	</class>
+	<class name="java/security/spec/EllipticCurve" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="&lt;init>(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)V"/>
+		<method name="getA()Ljava/math/BigInteger;"/>
+		<method name="getB()Ljava/math/BigInteger;"/>
+		<method name="getField()Ljava/security/spec/ECField;"/>
+		<method name="getSeed()[B"/>
+	</class>
+	<class name="java/security/spec/EncodedKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="getEncoded()[B"/>
+		<method name="getFormat()Ljava/lang/String;"/>
+	</class>
+	<class name="java/security/spec/InvalidKeySpecException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/security/spec/InvalidParameterSpecException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/security/spec/KeySpec" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/security/spec/MGF1ParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getDigestAlgorithm()Ljava/lang/String;"/>
+		<field name="SHA1"/>
+		<field name="SHA224" since="26"/>
+		<field name="SHA256"/>
+		<field name="SHA384"/>
+		<field name="SHA512"/>
+	</class>
+	<class name="java/security/spec/PKCS8EncodedKeySpec" since="1">
+		<extends name="java/security/spec/EncodedKeySpec"/>
+		<method name="&lt;init>([B)V"/>
+	</class>
+	<class name="java/security/spec/PSSParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;II)V"/>
+		<method name="getDigestAlgorithm()Ljava/lang/String;"/>
+		<method name="getMGFAlgorithm()Ljava/lang/String;"/>
+		<method name="getMGFParameters()Ljava/security/spec/AlgorithmParameterSpec;"/>
+		<method name="getSaltLength()I"/>
+		<method name="getTrailerField()I"/>
+		<field name="DEFAULT"/>
+	</class>
+	<class name="java/security/spec/RSAKeyGenParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(ILjava/math/BigInteger;)V"/>
+		<method name="getKeysize()I"/>
+		<method name="getPublicExponent()Ljava/math/BigInteger;"/>
+		<field name="F0"/>
+		<field name="F4"/>
+	</class>
+	<class name="java/security/spec/RSAMultiPrimePrivateCrtKeySpec" since="1">
+		<extends name="java/security/spec/RSAPrivateKeySpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;[Ljava/security/spec/RSAOtherPrimeInfo;)V"/>
+		<method name="getCrtCoefficient()Ljava/math/BigInteger;"/>
+		<method name="getOtherPrimeInfo()[Ljava/security/spec/RSAOtherPrimeInfo;"/>
+		<method name="getPrimeExponentP()Ljava/math/BigInteger;"/>
+		<method name="getPrimeExponentQ()Ljava/math/BigInteger;"/>
+		<method name="getPrimeP()Ljava/math/BigInteger;"/>
+		<method name="getPrimeQ()Ljava/math/BigInteger;"/>
+		<method name="getPublicExponent()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/RSAOtherPrimeInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="getCrtCoefficient()Ljava/math/BigInteger;"/>
+		<method name="getExponent()Ljava/math/BigInteger;"/>
+		<method name="getPrime()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/RSAPrivateCrtKeySpec" since="1">
+		<extends name="java/security/spec/RSAPrivateKeySpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="getCrtCoefficient()Ljava/math/BigInteger;"/>
+		<method name="getPrimeExponentP()Ljava/math/BigInteger;"/>
+		<method name="getPrimeExponentQ()Ljava/math/BigInteger;"/>
+		<method name="getPrimeP()Ljava/math/BigInteger;"/>
+		<method name="getPrimeQ()Ljava/math/BigInteger;"/>
+		<method name="getPublicExponent()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/RSAPrivateKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="getModulus()Ljava/math/BigInteger;"/>
+		<method name="getPrivateExponent()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/RSAPublicKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="getModulus()Ljava/math/BigInteger;"/>
+		<method name="getPublicExponent()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="java/security/spec/X509EncodedKeySpec" since="1">
+		<extends name="java/security/spec/EncodedKeySpec"/>
+		<method name="&lt;init>([B)V"/>
+	</class>
+	<class name="java/sql/Array" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="free()V" since="9"/>
+		<method name="getArray()Ljava/lang/Object;"/>
+		<method name="getArray(JI)Ljava/lang/Object;"/>
+		<method name="getArray(JILjava/util/Map;)Ljava/lang/Object;"/>
+		<method name="getArray(Ljava/util/Map;)Ljava/lang/Object;"/>
+		<method name="getBaseType()I"/>
+		<method name="getBaseTypeName()Ljava/lang/String;"/>
+		<method name="getResultSet()Ljava/sql/ResultSet;"/>
+		<method name="getResultSet(JI)Ljava/sql/ResultSet;"/>
+		<method name="getResultSet(JILjava/util/Map;)Ljava/sql/ResultSet;"/>
+		<method name="getResultSet(Ljava/util/Map;)Ljava/sql/ResultSet;"/>
+	</class>
+	<class name="java/sql/BatchUpdateException" since="1">
+		<extends name="java/sql/SQLException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I[I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I[ILjava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;[I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;[ILjava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>(Ljava/lang/String;[I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;[ILjava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>([I)V"/>
+		<method name="&lt;init>([ILjava/lang/Throwable;)V" since="9"/>
+		<method name="getUpdateCounts()[I"/>
+	</class>
+	<class name="java/sql/Blob" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="free()V" since="9"/>
+		<method name="getBinaryStream()Ljava/io/InputStream;"/>
+		<method name="getBinaryStream(JJ)Ljava/io/InputStream;" since="9"/>
+		<method name="getBytes(JI)[B"/>
+		<method name="length()J"/>
+		<method name="position(Ljava/sql/Blob;J)J"/>
+		<method name="position([BJ)J"/>
+		<method name="setBinaryStream(J)Ljava/io/OutputStream;"/>
+		<method name="setBytes(J[B)I"/>
+		<method name="setBytes(J[BII)I"/>
+		<method name="truncate(J)V"/>
+	</class>
+	<class name="java/sql/CallableStatement" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/sql/PreparedStatement"/>
+		<method name="getArray(I)Ljava/sql/Array;"/>
+		<method name="getArray(Ljava/lang/String;)Ljava/sql/Array;"/>
+		<method name="getBigDecimal(I)Ljava/math/BigDecimal;"/>
+		<method name="getBigDecimal(II)Ljava/math/BigDecimal;" deprecated="15"/>
+		<method name="getBigDecimal(Ljava/lang/String;)Ljava/math/BigDecimal;"/>
+		<method name="getBlob(I)Ljava/sql/Blob;"/>
+		<method name="getBlob(Ljava/lang/String;)Ljava/sql/Blob;"/>
+		<method name="getBoolean(I)Z"/>
+		<method name="getBoolean(Ljava/lang/String;)Z"/>
+		<method name="getByte(I)B"/>
+		<method name="getByte(Ljava/lang/String;)B"/>
+		<method name="getBytes(I)[B"/>
+		<method name="getBytes(Ljava/lang/String;)[B"/>
+		<method name="getCharacterStream(I)Ljava/io/Reader;" since="9"/>
+		<method name="getCharacterStream(Ljava/lang/String;)Ljava/io/Reader;" since="9"/>
+		<method name="getClob(I)Ljava/sql/Clob;"/>
+		<method name="getClob(Ljava/lang/String;)Ljava/sql/Clob;"/>
+		<method name="getDate(I)Ljava/sql/Date;"/>
+		<method name="getDate(ILjava/util/Calendar;)Ljava/sql/Date;"/>
+		<method name="getDate(Ljava/lang/String;)Ljava/sql/Date;"/>
+		<method name="getDate(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Date;"/>
+		<method name="getDouble(I)D"/>
+		<method name="getDouble(Ljava/lang/String;)D"/>
+		<method name="getFloat(I)F"/>
+		<method name="getFloat(Ljava/lang/String;)F"/>
+		<method name="getInt(I)I"/>
+		<method name="getInt(Ljava/lang/String;)I"/>
+		<method name="getLong(I)J"/>
+		<method name="getLong(Ljava/lang/String;)J"/>
+		<method name="getNCharacterStream(I)Ljava/io/Reader;" since="9"/>
+		<method name="getNCharacterStream(Ljava/lang/String;)Ljava/io/Reader;" since="9"/>
+		<method name="getNClob(I)Ljava/sql/NClob;" since="9"/>
+		<method name="getNClob(Ljava/lang/String;)Ljava/sql/NClob;" since="9"/>
+		<method name="getNString(I)Ljava/lang/String;" since="9"/>
+		<method name="getNString(Ljava/lang/String;)Ljava/lang/String;" since="9"/>
+		<method name="getObject(I)Ljava/lang/Object;"/>
+		<method name="getObject(ILjava/util/Map;)Ljava/lang/Object;"/>
+		<method name="getObject(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getObject(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;"/>
+		<method name="getRef(I)Ljava/sql/Ref;"/>
+		<method name="getRef(Ljava/lang/String;)Ljava/sql/Ref;"/>
+		<method name="getRowId(I)Ljava/sql/RowId;" since="9"/>
+		<method name="getRowId(Ljava/lang/String;)Ljava/sql/RowId;" since="9"/>
+		<method name="getSQLXML(I)Ljava/sql/SQLXML;" since="9"/>
+		<method name="getSQLXML(Ljava/lang/String;)Ljava/sql/SQLXML;" since="9"/>
+		<method name="getShort(I)S"/>
+		<method name="getShort(Ljava/lang/String;)S"/>
+		<method name="getString(I)Ljava/lang/String;"/>
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getTime(I)Ljava/sql/Time;"/>
+		<method name="getTime(ILjava/util/Calendar;)Ljava/sql/Time;"/>
+		<method name="getTime(Ljava/lang/String;)Ljava/sql/Time;"/>
+		<method name="getTime(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Time;"/>
+		<method name="getTimestamp(I)Ljava/sql/Timestamp;"/>
+		<method name="getTimestamp(ILjava/util/Calendar;)Ljava/sql/Timestamp;"/>
+		<method name="getTimestamp(Ljava/lang/String;)Ljava/sql/Timestamp;"/>
+		<method name="getTimestamp(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Timestamp;"/>
+		<method name="getURL(I)Ljava/net/URL;"/>
+		<method name="getURL(Ljava/lang/String;)Ljava/net/URL;"/>
+		<method name="registerOutParameter(II)V"/>
+		<method name="registerOutParameter(III)V"/>
+		<method name="registerOutParameter(IILjava/lang/String;)V"/>
+		<method name="registerOutParameter(Ljava/lang/String;I)V"/>
+		<method name="registerOutParameter(Ljava/lang/String;II)V"/>
+		<method name="registerOutParameter(Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="setAsciiStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9"/>
+		<method name="setAsciiStream(Ljava/lang/String;Ljava/io/InputStream;I)V"/>
+		<method name="setAsciiStream(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9"/>
+		<method name="setBigDecimal(Ljava/lang/String;Ljava/math/BigDecimal;)V"/>
+		<method name="setBinaryStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9"/>
+		<method name="setBinaryStream(Ljava/lang/String;Ljava/io/InputStream;I)V"/>
+		<method name="setBinaryStream(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9"/>
+		<method name="setBlob(Ljava/lang/String;Ljava/io/InputStream;)V" since="9"/>
+		<method name="setBlob(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9"/>
+		<method name="setBlob(Ljava/lang/String;Ljava/sql/Blob;)V" since="9"/>
+		<method name="setBoolean(Ljava/lang/String;Z)V"/>
+		<method name="setByte(Ljava/lang/String;B)V"/>
+		<method name="setBytes(Ljava/lang/String;[B)V"/>
+		<method name="setCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="setCharacterStream(Ljava/lang/String;Ljava/io/Reader;I)V"/>
+		<method name="setCharacterStream(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="setClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="setClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="setClob(Ljava/lang/String;Ljava/sql/Clob;)V" since="9"/>
+		<method name="setDate(Ljava/lang/String;Ljava/sql/Date;)V"/>
+		<method name="setDate(Ljava/lang/String;Ljava/sql/Date;Ljava/util/Calendar;)V"/>
+		<method name="setDouble(Ljava/lang/String;D)V"/>
+		<method name="setFloat(Ljava/lang/String;F)V"/>
+		<method name="setInt(Ljava/lang/String;I)V"/>
+		<method name="setLong(Ljava/lang/String;J)V"/>
+		<method name="setNCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="setNCharacterStream(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="setNClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="setNClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="setNClob(Ljava/lang/String;Ljava/sql/NClob;)V" since="9"/>
+		<method name="setNString(Ljava/lang/String;Ljava/lang/String;)V" since="9"/>
+		<method name="setNull(Ljava/lang/String;I)V"/>
+		<method name="setNull(Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;I)V"/>
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;II)V"/>
+		<method name="setRowId(Ljava/lang/String;Ljava/sql/RowId;)V" since="9"/>
+		<method name="setSQLXML(Ljava/lang/String;Ljava/sql/SQLXML;)V" since="9"/>
+		<method name="setShort(Ljava/lang/String;S)V"/>
+		<method name="setString(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setTime(Ljava/lang/String;Ljava/sql/Time;)V"/>
+		<method name="setTime(Ljava/lang/String;Ljava/sql/Time;Ljava/util/Calendar;)V"/>
+		<method name="setTimestamp(Ljava/lang/String;Ljava/sql/Timestamp;)V"/>
+		<method name="setTimestamp(Ljava/lang/String;Ljava/sql/Timestamp;Ljava/util/Calendar;)V"/>
+		<method name="setURL(Ljava/lang/String;Ljava/net/URL;)V"/>
+		<method name="wasNull()Z"/>
+	</class>
+	<class name="java/sql/ClientInfoStatus" since="9">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/sql/ClientInfoStatus;"/>
+		<method name="values()[Ljava/sql/ClientInfoStatus;"/>
+		<field name="REASON_UNKNOWN"/>
+		<field name="REASON_UNKNOWN_PROPERTY"/>
+		<field name="REASON_VALUE_INVALID"/>
+		<field name="REASON_VALUE_TRUNCATED"/>
+	</class>
+	<class name="java/sql/Clob" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="free()V" since="9"/>
+		<method name="getAsciiStream()Ljava/io/InputStream;"/>
+		<method name="getCharacterStream()Ljava/io/Reader;"/>
+		<method name="getCharacterStream(JJ)Ljava/io/Reader;" since="9"/>
+		<method name="getSubString(JI)Ljava/lang/String;"/>
+		<method name="length()J"/>
+		<method name="position(Ljava/lang/String;J)J"/>
+		<method name="position(Ljava/sql/Clob;J)J"/>
+		<method name="setAsciiStream(J)Ljava/io/OutputStream;"/>
+		<method name="setCharacterStream(J)Ljava/io/Writer;"/>
+		<method name="setString(JLjava/lang/String;)I"/>
+		<method name="setString(JLjava/lang/String;II)I"/>
+		<method name="truncate(J)V"/>
+	</class>
+	<class name="java/sql/Connection" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="19"/>
+		<implements name="java/sql/Wrapper" since="9"/>
+		<method name="clearWarnings()V"/>
+		<method name="close()V"/>
+		<method name="commit()V"/>
+		<method name="createArrayOf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Array;" since="9"/>
+		<method name="createBlob()Ljava/sql/Blob;" since="9"/>
+		<method name="createClob()Ljava/sql/Clob;" since="9"/>
+		<method name="createNClob()Ljava/sql/NClob;" since="9"/>
+		<method name="createSQLXML()Ljava/sql/SQLXML;" since="9"/>
+		<method name="createStatement()Ljava/sql/Statement;"/>
+		<method name="createStatement(II)Ljava/sql/Statement;"/>
+		<method name="createStatement(III)Ljava/sql/Statement;"/>
+		<method name="createStruct(Ljava/lang/String;[Ljava/lang/Object;)Ljava/sql/Struct;" since="9"/>
+		<method name="getAutoCommit()Z"/>
+		<method name="getCatalog()Ljava/lang/String;"/>
+		<method name="getClientInfo()Ljava/util/Properties;" since="9"/>
+		<method name="getClientInfo(Ljava/lang/String;)Ljava/lang/String;" since="9"/>
+		<method name="getHoldability()I"/>
+		<method name="getMetaData()Ljava/sql/DatabaseMetaData;"/>
+		<method name="getTransactionIsolation()I"/>
+		<method name="getTypeMap()Ljava/util/Map;"/>
+		<method name="getWarnings()Ljava/sql/SQLWarning;"/>
+		<method name="isClosed()Z"/>
+		<method name="isReadOnly()Z"/>
+		<method name="isValid(I)Z" since="9"/>
+		<method name="nativeSQL(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="prepareCall(Ljava/lang/String;)Ljava/sql/CallableStatement;"/>
+		<method name="prepareCall(Ljava/lang/String;II)Ljava/sql/CallableStatement;"/>
+		<method name="prepareCall(Ljava/lang/String;III)Ljava/sql/CallableStatement;"/>
+		<method name="prepareStatement(Ljava/lang/String;)Ljava/sql/PreparedStatement;"/>
+		<method name="prepareStatement(Ljava/lang/String;I)Ljava/sql/PreparedStatement;"/>
+		<method name="prepareStatement(Ljava/lang/String;II)Ljava/sql/PreparedStatement;"/>
+		<method name="prepareStatement(Ljava/lang/String;III)Ljava/sql/PreparedStatement;"/>
+		<method name="prepareStatement(Ljava/lang/String;[I)Ljava/sql/PreparedStatement;"/>
+		<method name="prepareStatement(Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/PreparedStatement;"/>
+		<method name="releaseSavepoint(Ljava/sql/Savepoint;)V"/>
+		<method name="rollback()V"/>
+		<method name="rollback(Ljava/sql/Savepoint;)V"/>
+		<method name="setAutoCommit(Z)V"/>
+		<method name="setCatalog(Ljava/lang/String;)V"/>
+		<method name="setClientInfo(Ljava/lang/String;Ljava/lang/String;)V" since="9"/>
+		<method name="setClientInfo(Ljava/util/Properties;)V" since="9"/>
+		<method name="setHoldability(I)V"/>
+		<method name="setReadOnly(Z)V"/>
+		<method name="setSavepoint()Ljava/sql/Savepoint;"/>
+		<method name="setSavepoint(Ljava/lang/String;)Ljava/sql/Savepoint;"/>
+		<method name="setTransactionIsolation(I)V"/>
+		<method name="setTypeMap(Ljava/util/Map;)V"/>
+		<field name="TRANSACTION_NONE"/>
+		<field name="TRANSACTION_READ_COMMITTED"/>
+		<field name="TRANSACTION_READ_UNCOMMITTED"/>
+		<field name="TRANSACTION_REPEATABLE_READ"/>
+		<field name="TRANSACTION_SERIALIZABLE"/>
+	</class>
+	<class name="java/sql/DataTruncation" since="1">
+		<extends name="java/sql/SQLWarning"/>
+		<method name="&lt;init>(IZZII)V"/>
+		<method name="&lt;init>(IZZIILjava/lang/Throwable;)V" since="9"/>
+		<method name="getDataSize()I"/>
+		<method name="getIndex()I"/>
+		<method name="getParameter()Z"/>
+		<method name="getRead()Z"/>
+		<method name="getTransferSize()I"/>
+	</class>
+	<class name="java/sql/DatabaseMetaData" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/sql/Wrapper" since="9"/>
+		<method name="allProceduresAreCallable()Z"/>
+		<method name="allTablesAreSelectable()Z"/>
+		<method name="autoCommitFailureClosesAllResultSets()Z" since="9"/>
+		<method name="dataDefinitionCausesTransactionCommit()Z"/>
+		<method name="dataDefinitionIgnoredInTransactions()Z"/>
+		<method name="deletesAreDetected(I)Z"/>
+		<method name="doesMaxRowSizeIncludeBlobs()Z"/>
+		<method name="getAttributes(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getBestRowIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IZ)Ljava/sql/ResultSet;"/>
+		<method name="getCatalogSeparator()Ljava/lang/String;"/>
+		<method name="getCatalogTerm()Ljava/lang/String;"/>
+		<method name="getCatalogs()Ljava/sql/ResultSet;"/>
+		<method name="getClientInfoProperties()Ljava/sql/ResultSet;" since="9"/>
+		<method name="getColumnPrivileges(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getColumns(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getConnection()Ljava/sql/Connection;"/>
+		<method name="getCrossReference(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getDatabaseMajorVersion()I"/>
+		<method name="getDatabaseMinorVersion()I"/>
+		<method name="getDatabaseProductName()Ljava/lang/String;"/>
+		<method name="getDatabaseProductVersion()Ljava/lang/String;"/>
+		<method name="getDefaultTransactionIsolation()I"/>
+		<method name="getDriverMajorVersion()I"/>
+		<method name="getDriverMinorVersion()I"/>
+		<method name="getDriverName()Ljava/lang/String;"/>
+		<method name="getDriverVersion()Ljava/lang/String;"/>
+		<method name="getExportedKeys(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getExtraNameCharacters()Ljava/lang/String;"/>
+		<method name="getFunctionColumns(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" since="9"/>
+		<method name="getFunctions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" since="9"/>
+		<method name="getIdentifierQuoteString()Ljava/lang/String;"/>
+		<method name="getImportedKeys(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getIndexInfo(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)Ljava/sql/ResultSet;"/>
+		<method name="getJDBCMajorVersion()I"/>
+		<method name="getJDBCMinorVersion()I"/>
+		<method name="getMaxBinaryLiteralLength()I"/>
+		<method name="getMaxCatalogNameLength()I"/>
+		<method name="getMaxCharLiteralLength()I"/>
+		<method name="getMaxColumnNameLength()I"/>
+		<method name="getMaxColumnsInGroupBy()I"/>
+		<method name="getMaxColumnsInIndex()I"/>
+		<method name="getMaxColumnsInOrderBy()I"/>
+		<method name="getMaxColumnsInSelect()I"/>
+		<method name="getMaxColumnsInTable()I"/>
+		<method name="getMaxConnections()I"/>
+		<method name="getMaxCursorNameLength()I"/>
+		<method name="getMaxIndexLength()I"/>
+		<method name="getMaxProcedureNameLength()I"/>
+		<method name="getMaxRowSize()I"/>
+		<method name="getMaxSchemaNameLength()I"/>
+		<method name="getMaxStatementLength()I"/>
+		<method name="getMaxStatements()I"/>
+		<method name="getMaxTableNameLength()I"/>
+		<method name="getMaxTablesInSelect()I"/>
+		<method name="getMaxUserNameLength()I"/>
+		<method name="getNumericFunctions()Ljava/lang/String;"/>
+		<method name="getPrimaryKeys(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getProcedureColumns(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getProcedureTerm()Ljava/lang/String;"/>
+		<method name="getProcedures(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getResultSetHoldability()I"/>
+		<method name="getRowIdLifetime()Ljava/sql/RowIdLifetime;" since="9"/>
+		<method name="getSQLKeywords()Ljava/lang/String;"/>
+		<method name="getSQLStateType()I"/>
+		<method name="getSchemaTerm()Ljava/lang/String;"/>
+		<method name="getSchemas()Ljava/sql/ResultSet;"/>
+		<method name="getSchemas(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;" since="9"/>
+		<method name="getSearchStringEscape()Ljava/lang/String;"/>
+		<method name="getStringFunctions()Ljava/lang/String;"/>
+		<method name="getSuperTables(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getSuperTypes(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getSystemFunctions()Ljava/lang/String;"/>
+		<method name="getTablePrivileges(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getTableTypes()Ljava/sql/ResultSet;"/>
+		<method name="getTables(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="getTimeDateFunctions()Ljava/lang/String;"/>
+		<method name="getTypeInfo()Ljava/sql/ResultSet;"/>
+		<method name="getUDTs(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[I)Ljava/sql/ResultSet;"/>
+		<method name="getURL()Ljava/lang/String;"/>
+		<method name="getUserName()Ljava/lang/String;"/>
+		<method name="getVersionColumns(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="insertsAreDetected(I)Z"/>
+		<method name="isCatalogAtStart()Z"/>
+		<method name="isReadOnly()Z"/>
+		<method name="locatorsUpdateCopy()Z"/>
+		<method name="nullPlusNonNullIsNull()Z"/>
+		<method name="nullsAreSortedAtEnd()Z"/>
+		<method name="nullsAreSortedAtStart()Z"/>
+		<method name="nullsAreSortedHigh()Z"/>
+		<method name="nullsAreSortedLow()Z"/>
+		<method name="othersDeletesAreVisible(I)Z"/>
+		<method name="othersInsertsAreVisible(I)Z"/>
+		<method name="othersUpdatesAreVisible(I)Z"/>
+		<method name="ownDeletesAreVisible(I)Z"/>
+		<method name="ownInsertsAreVisible(I)Z"/>
+		<method name="ownUpdatesAreVisible(I)Z"/>
+		<method name="storesLowerCaseIdentifiers()Z"/>
+		<method name="storesLowerCaseQuotedIdentifiers()Z"/>
+		<method name="storesMixedCaseIdentifiers()Z"/>
+		<method name="storesMixedCaseQuotedIdentifiers()Z"/>
+		<method name="storesUpperCaseIdentifiers()Z"/>
+		<method name="storesUpperCaseQuotedIdentifiers()Z"/>
+		<method name="supportsANSI92EntryLevelSQL()Z"/>
+		<method name="supportsANSI92FullSQL()Z"/>
+		<method name="supportsANSI92IntermediateSQL()Z"/>
+		<method name="supportsAlterTableWithAddColumn()Z"/>
+		<method name="supportsAlterTableWithDropColumn()Z"/>
+		<method name="supportsBatchUpdates()Z"/>
+		<method name="supportsCatalogsInDataManipulation()Z"/>
+		<method name="supportsCatalogsInIndexDefinitions()Z"/>
+		<method name="supportsCatalogsInPrivilegeDefinitions()Z"/>
+		<method name="supportsCatalogsInProcedureCalls()Z"/>
+		<method name="supportsCatalogsInTableDefinitions()Z"/>
+		<method name="supportsColumnAliasing()Z"/>
+		<method name="supportsConvert()Z"/>
+		<method name="supportsConvert(II)Z"/>
+		<method name="supportsCoreSQLGrammar()Z"/>
+		<method name="supportsCorrelatedSubqueries()Z"/>
+		<method name="supportsDataDefinitionAndDataManipulationTransactions()Z"/>
+		<method name="supportsDataManipulationTransactionsOnly()Z"/>
+		<method name="supportsDifferentTableCorrelationNames()Z"/>
+		<method name="supportsExpressionsInOrderBy()Z"/>
+		<method name="supportsExtendedSQLGrammar()Z"/>
+		<method name="supportsFullOuterJoins()Z"/>
+		<method name="supportsGetGeneratedKeys()Z"/>
+		<method name="supportsGroupBy()Z"/>
+		<method name="supportsGroupByBeyondSelect()Z"/>
+		<method name="supportsGroupByUnrelated()Z"/>
+		<method name="supportsIntegrityEnhancementFacility()Z"/>
+		<method name="supportsLikeEscapeClause()Z"/>
+		<method name="supportsLimitedOuterJoins()Z"/>
+		<method name="supportsMinimumSQLGrammar()Z"/>
+		<method name="supportsMixedCaseIdentifiers()Z"/>
+		<method name="supportsMixedCaseQuotedIdentifiers()Z"/>
+		<method name="supportsMultipleOpenResults()Z"/>
+		<method name="supportsMultipleResultSets()Z"/>
+		<method name="supportsMultipleTransactions()Z"/>
+		<method name="supportsNamedParameters()Z"/>
+		<method name="supportsNonNullableColumns()Z"/>
+		<method name="supportsOpenCursorsAcrossCommit()Z"/>
+		<method name="supportsOpenCursorsAcrossRollback()Z"/>
+		<method name="supportsOpenStatementsAcrossCommit()Z"/>
+		<method name="supportsOpenStatementsAcrossRollback()Z"/>
+		<method name="supportsOrderByUnrelated()Z"/>
+		<method name="supportsOuterJoins()Z"/>
+		<method name="supportsPositionedDelete()Z"/>
+		<method name="supportsPositionedUpdate()Z"/>
+		<method name="supportsResultSetConcurrency(II)Z"/>
+		<method name="supportsResultSetHoldability(I)Z"/>
+		<method name="supportsResultSetType(I)Z"/>
+		<method name="supportsSavepoints()Z"/>
+		<method name="supportsSchemasInDataManipulation()Z"/>
+		<method name="supportsSchemasInIndexDefinitions()Z"/>
+		<method name="supportsSchemasInPrivilegeDefinitions()Z"/>
+		<method name="supportsSchemasInProcedureCalls()Z"/>
+		<method name="supportsSchemasInTableDefinitions()Z"/>
+		<method name="supportsSelectForUpdate()Z"/>
+		<method name="supportsStatementPooling()Z"/>
+		<method name="supportsStoredFunctionsUsingCallSyntax()Z" since="9"/>
+		<method name="supportsStoredProcedures()Z"/>
+		<method name="supportsSubqueriesInComparisons()Z"/>
+		<method name="supportsSubqueriesInExists()Z"/>
+		<method name="supportsSubqueriesInIns()Z"/>
+		<method name="supportsSubqueriesInQuantifieds()Z"/>
+		<method name="supportsTableCorrelationNames()Z"/>
+		<method name="supportsTransactionIsolationLevel(I)Z"/>
+		<method name="supportsTransactions()Z"/>
+		<method name="supportsUnion()Z"/>
+		<method name="supportsUnionAll()Z"/>
+		<method name="updatesAreDetected(I)Z"/>
+		<method name="usesLocalFilePerTable()Z"/>
+		<method name="usesLocalFiles()Z"/>
+		<field name="attributeNoNulls"/>
+		<field name="attributeNullable"/>
+		<field name="attributeNullableUnknown"/>
+		<field name="bestRowNotPseudo"/>
+		<field name="bestRowPseudo"/>
+		<field name="bestRowSession"/>
+		<field name="bestRowTemporary"/>
+		<field name="bestRowTransaction"/>
+		<field name="bestRowUnknown"/>
+		<field name="columnNoNulls"/>
+		<field name="columnNullable"/>
+		<field name="columnNullableUnknown"/>
+		<field name="functionColumnIn" since="9"/>
+		<field name="functionColumnInOut" since="9"/>
+		<field name="functionColumnOut" since="9"/>
+		<field name="functionColumnResult" since="9"/>
+		<field name="functionColumnUnknown" since="9"/>
+		<field name="functionNoNulls" since="9"/>
+		<field name="functionNoTable" since="9"/>
+		<field name="functionNullable" since="9"/>
+		<field name="functionNullableUnknown" since="9"/>
+		<field name="functionResultUnknown" since="9"/>
+		<field name="functionReturn" since="9"/>
+		<field name="functionReturnsTable" since="9"/>
+		<field name="importedKeyCascade"/>
+		<field name="importedKeyInitiallyDeferred"/>
+		<field name="importedKeyInitiallyImmediate"/>
+		<field name="importedKeyNoAction"/>
+		<field name="importedKeyNotDeferrable"/>
+		<field name="importedKeyRestrict"/>
+		<field name="importedKeySetDefault"/>
+		<field name="importedKeySetNull"/>
+		<field name="procedureColumnIn"/>
+		<field name="procedureColumnInOut"/>
+		<field name="procedureColumnOut"/>
+		<field name="procedureColumnResult"/>
+		<field name="procedureColumnReturn"/>
+		<field name="procedureColumnUnknown"/>
+		<field name="procedureNoNulls"/>
+		<field name="procedureNoResult"/>
+		<field name="procedureNullable"/>
+		<field name="procedureNullableUnknown"/>
+		<field name="procedureResultUnknown"/>
+		<field name="procedureReturnsResult"/>
+		<field name="sqlStateSQL" since="9"/>
+		<field name="sqlStateSQL99"/>
+		<field name="sqlStateXOpen"/>
+		<field name="tableIndexClustered"/>
+		<field name="tableIndexHashed"/>
+		<field name="tableIndexOther"/>
+		<field name="tableIndexStatistic"/>
+		<field name="typeNoNulls"/>
+		<field name="typeNullable"/>
+		<field name="typeNullableUnknown"/>
+		<field name="typePredBasic"/>
+		<field name="typePredChar"/>
+		<field name="typePredNone"/>
+		<field name="typeSearchable"/>
+		<field name="versionColumnNotPseudo"/>
+		<field name="versionColumnPseudo"/>
+		<field name="versionColumnUnknown"/>
+	</class>
+	<class name="java/sql/Date" since="1">
+		<extends name="java/util/Date"/>
+		<method name="&lt;init>(III)V" deprecated="15"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/sql/Date;"/>
+	</class>
+	<class name="java/sql/Driver" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="acceptsURL(Ljava/lang/String;)Z"/>
+		<method name="connect(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;"/>
+		<method name="getMajorVersion()I"/>
+		<method name="getMinorVersion()I"/>
+		<method name="getPropertyInfo(Ljava/lang/String;Ljava/util/Properties;)[Ljava/sql/DriverPropertyInfo;"/>
+		<method name="jdbcCompliant()Z"/>
+	</class>
+	<class name="java/sql/DriverManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="deregisterDriver(Ljava/sql/Driver;)V"/>
+		<method name="getConnection(Ljava/lang/String;)Ljava/sql/Connection;"/>
+		<method name="getConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;"/>
+		<method name="getConnection(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;"/>
+		<method name="getDriver(Ljava/lang/String;)Ljava/sql/Driver;"/>
+		<method name="getDrivers()Ljava/util/Enumeration;"/>
+		<method name="getLogStream()Ljava/io/PrintStream;" deprecated="15"/>
+		<method name="getLogWriter()Ljava/io/PrintWriter;"/>
+		<method name="getLoginTimeout()I"/>
+		<method name="println(Ljava/lang/String;)V"/>
+		<method name="registerDriver(Ljava/sql/Driver;)V"/>
+		<method name="setLogStream(Ljava/io/PrintStream;)V" deprecated="15"/>
+		<method name="setLogWriter(Ljava/io/PrintWriter;)V"/>
+		<method name="setLoginTimeout(I)V"/>
+	</class>
+	<class name="java/sql/DriverPropertyInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="choices"/>
+		<field name="description"/>
+		<field name="name"/>
+		<field name="required"/>
+		<field name="value"/>
+	</class>
+	<class name="java/sql/NClob" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/sql/Clob"/>
+	</class>
+	<class name="java/sql/ParameterMetaData" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/sql/Wrapper" since="9"/>
+		<method name="getParameterClassName(I)Ljava/lang/String;"/>
+		<method name="getParameterCount()I"/>
+		<method name="getParameterMode(I)I"/>
+		<method name="getParameterType(I)I"/>
+		<method name="getParameterTypeName(I)Ljava/lang/String;"/>
+		<method name="getPrecision(I)I"/>
+		<method name="getScale(I)I"/>
+		<method name="isNullable(I)I"/>
+		<method name="isSigned(I)Z"/>
+		<field name="parameterModeIn"/>
+		<field name="parameterModeInOut"/>
+		<field name="parameterModeOut"/>
+		<field name="parameterModeUnknown"/>
+		<field name="parameterNoNulls"/>
+		<field name="parameterNullable"/>
+		<field name="parameterNullableUnknown"/>
+	</class>
+	<class name="java/sql/PreparedStatement" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/sql/Statement"/>
+		<method name="addBatch()V"/>
+		<method name="clearParameters()V"/>
+		<method name="execute()Z"/>
+		<method name="executeQuery()Ljava/sql/ResultSet;"/>
+		<method name="executeUpdate()I"/>
+		<method name="getMetaData()Ljava/sql/ResultSetMetaData;"/>
+		<method name="getParameterMetaData()Ljava/sql/ParameterMetaData;"/>
+		<method name="setArray(ILjava/sql/Array;)V"/>
+		<method name="setAsciiStream(ILjava/io/InputStream;)V" since="9"/>
+		<method name="setAsciiStream(ILjava/io/InputStream;I)V"/>
+		<method name="setAsciiStream(ILjava/io/InputStream;J)V" since="9"/>
+		<method name="setBigDecimal(ILjava/math/BigDecimal;)V"/>
+		<method name="setBinaryStream(ILjava/io/InputStream;)V" since="9"/>
+		<method name="setBinaryStream(ILjava/io/InputStream;I)V"/>
+		<method name="setBinaryStream(ILjava/io/InputStream;J)V" since="9"/>
+		<method name="setBlob(ILjava/io/InputStream;)V" since="9"/>
+		<method name="setBlob(ILjava/io/InputStream;J)V" since="9"/>
+		<method name="setBlob(ILjava/sql/Blob;)V"/>
+		<method name="setBoolean(IZ)V"/>
+		<method name="setByte(IB)V"/>
+		<method name="setBytes(I[B)V"/>
+		<method name="setCharacterStream(ILjava/io/Reader;)V" since="9"/>
+		<method name="setCharacterStream(ILjava/io/Reader;I)V"/>
+		<method name="setCharacterStream(ILjava/io/Reader;J)V" since="9"/>
+		<method name="setClob(ILjava/io/Reader;)V" since="9"/>
+		<method name="setClob(ILjava/io/Reader;J)V" since="9"/>
+		<method name="setClob(ILjava/sql/Clob;)V"/>
+		<method name="setDate(ILjava/sql/Date;)V"/>
+		<method name="setDate(ILjava/sql/Date;Ljava/util/Calendar;)V"/>
+		<method name="setDouble(ID)V"/>
+		<method name="setFloat(IF)V"/>
+		<method name="setInt(II)V"/>
+		<method name="setLong(IJ)V"/>
+		<method name="setNCharacterStream(ILjava/io/Reader;)V" since="9"/>
+		<method name="setNCharacterStream(ILjava/io/Reader;J)V" since="9"/>
+		<method name="setNClob(ILjava/io/Reader;)V" since="9"/>
+		<method name="setNClob(ILjava/io/Reader;J)V" since="9"/>
+		<method name="setNClob(ILjava/sql/NClob;)V" since="9"/>
+		<method name="setNString(ILjava/lang/String;)V" since="9"/>
+		<method name="setNull(II)V"/>
+		<method name="setNull(IILjava/lang/String;)V"/>
+		<method name="setObject(ILjava/lang/Object;)V"/>
+		<method name="setObject(ILjava/lang/Object;I)V"/>
+		<method name="setObject(ILjava/lang/Object;II)V"/>
+		<method name="setRef(ILjava/sql/Ref;)V"/>
+		<method name="setRowId(ILjava/sql/RowId;)V" since="9"/>
+		<method name="setSQLXML(ILjava/sql/SQLXML;)V" since="9"/>
+		<method name="setShort(IS)V"/>
+		<method name="setString(ILjava/lang/String;)V"/>
+		<method name="setTime(ILjava/sql/Time;)V"/>
+		<method name="setTime(ILjava/sql/Time;Ljava/util/Calendar;)V"/>
+		<method name="setTimestamp(ILjava/sql/Timestamp;)V"/>
+		<method name="setTimestamp(ILjava/sql/Timestamp;Ljava/util/Calendar;)V"/>
+		<method name="setURL(ILjava/net/URL;)V"/>
+		<method name="setUnicodeStream(ILjava/io/InputStream;I)V" deprecated="15"/>
+	</class>
+	<class name="java/sql/Ref" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getBaseTypeName()Ljava/lang/String;"/>
+		<method name="getObject()Ljava/lang/Object;"/>
+		<method name="getObject(Ljava/util/Map;)Ljava/lang/Object;"/>
+		<method name="setObject(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="java/sql/ResultSet" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="19"/>
+		<implements name="java/sql/Wrapper" since="9"/>
+		<method name="absolute(I)Z"/>
+		<method name="afterLast()V"/>
+		<method name="beforeFirst()V"/>
+		<method name="cancelRowUpdates()V"/>
+		<method name="clearWarnings()V"/>
+		<method name="close()V"/>
+		<method name="deleteRow()V"/>
+		<method name="findColumn(Ljava/lang/String;)I"/>
+		<method name="first()Z"/>
+		<method name="getArray(I)Ljava/sql/Array;"/>
+		<method name="getArray(Ljava/lang/String;)Ljava/sql/Array;"/>
+		<method name="getAsciiStream(I)Ljava/io/InputStream;"/>
+		<method name="getAsciiStream(Ljava/lang/String;)Ljava/io/InputStream;"/>
+		<method name="getBigDecimal(I)Ljava/math/BigDecimal;"/>
+		<method name="getBigDecimal(II)Ljava/math/BigDecimal;" deprecated="15"/>
+		<method name="getBigDecimal(Ljava/lang/String;)Ljava/math/BigDecimal;"/>
+		<method name="getBigDecimal(Ljava/lang/String;I)Ljava/math/BigDecimal;" deprecated="15"/>
+		<method name="getBinaryStream(I)Ljava/io/InputStream;"/>
+		<method name="getBinaryStream(Ljava/lang/String;)Ljava/io/InputStream;"/>
+		<method name="getBlob(I)Ljava/sql/Blob;"/>
+		<method name="getBlob(Ljava/lang/String;)Ljava/sql/Blob;"/>
+		<method name="getBoolean(I)Z"/>
+		<method name="getBoolean(Ljava/lang/String;)Z"/>
+		<method name="getByte(I)B"/>
+		<method name="getByte(Ljava/lang/String;)B"/>
+		<method name="getBytes(I)[B"/>
+		<method name="getBytes(Ljava/lang/String;)[B"/>
+		<method name="getCharacterStream(I)Ljava/io/Reader;"/>
+		<method name="getCharacterStream(Ljava/lang/String;)Ljava/io/Reader;"/>
+		<method name="getClob(I)Ljava/sql/Clob;"/>
+		<method name="getClob(Ljava/lang/String;)Ljava/sql/Clob;"/>
+		<method name="getConcurrency()I"/>
+		<method name="getCursorName()Ljava/lang/String;"/>
+		<method name="getDate(I)Ljava/sql/Date;"/>
+		<method name="getDate(ILjava/util/Calendar;)Ljava/sql/Date;"/>
+		<method name="getDate(Ljava/lang/String;)Ljava/sql/Date;"/>
+		<method name="getDate(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Date;"/>
+		<method name="getDouble(I)D"/>
+		<method name="getDouble(Ljava/lang/String;)D"/>
+		<method name="getFetchDirection()I"/>
+		<method name="getFetchSize()I"/>
+		<method name="getFloat(I)F"/>
+		<method name="getFloat(Ljava/lang/String;)F"/>
+		<method name="getHoldability()I" since="9"/>
+		<method name="getInt(I)I"/>
+		<method name="getInt(Ljava/lang/String;)I"/>
+		<method name="getLong(I)J"/>
+		<method name="getLong(Ljava/lang/String;)J"/>
+		<method name="getMetaData()Ljava/sql/ResultSetMetaData;"/>
+		<method name="getNCharacterStream(I)Ljava/io/Reader;" since="9"/>
+		<method name="getNCharacterStream(Ljava/lang/String;)Ljava/io/Reader;" since="9"/>
+		<method name="getNClob(I)Ljava/sql/NClob;" since="9"/>
+		<method name="getNClob(Ljava/lang/String;)Ljava/sql/NClob;" since="9"/>
+		<method name="getNString(I)Ljava/lang/String;" since="9"/>
+		<method name="getNString(Ljava/lang/String;)Ljava/lang/String;" since="9"/>
+		<method name="getObject(I)Ljava/lang/Object;"/>
+		<method name="getObject(ILjava/util/Map;)Ljava/lang/Object;"/>
+		<method name="getObject(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getObject(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;"/>
+		<method name="getRef(I)Ljava/sql/Ref;"/>
+		<method name="getRef(Ljava/lang/String;)Ljava/sql/Ref;"/>
+		<method name="getRow()I"/>
+		<method name="getRowId(I)Ljava/sql/RowId;" since="9"/>
+		<method name="getRowId(Ljava/lang/String;)Ljava/sql/RowId;" since="9"/>
+		<method name="getSQLXML(I)Ljava/sql/SQLXML;" since="9"/>
+		<method name="getSQLXML(Ljava/lang/String;)Ljava/sql/SQLXML;" since="9"/>
+		<method name="getShort(I)S"/>
+		<method name="getShort(Ljava/lang/String;)S"/>
+		<method name="getStatement()Ljava/sql/Statement;"/>
+		<method name="getString(I)Ljava/lang/String;"/>
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getTime(I)Ljava/sql/Time;"/>
+		<method name="getTime(ILjava/util/Calendar;)Ljava/sql/Time;"/>
+		<method name="getTime(Ljava/lang/String;)Ljava/sql/Time;"/>
+		<method name="getTime(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Time;"/>
+		<method name="getTimestamp(I)Ljava/sql/Timestamp;"/>
+		<method name="getTimestamp(ILjava/util/Calendar;)Ljava/sql/Timestamp;"/>
+		<method name="getTimestamp(Ljava/lang/String;)Ljava/sql/Timestamp;"/>
+		<method name="getTimestamp(Ljava/lang/String;Ljava/util/Calendar;)Ljava/sql/Timestamp;"/>
+		<method name="getType()I"/>
+		<method name="getURL(I)Ljava/net/URL;"/>
+		<method name="getURL(Ljava/lang/String;)Ljava/net/URL;"/>
+		<method name="getUnicodeStream(I)Ljava/io/InputStream;" deprecated="15"/>
+		<method name="getUnicodeStream(Ljava/lang/String;)Ljava/io/InputStream;" deprecated="15"/>
+		<method name="getWarnings()Ljava/sql/SQLWarning;"/>
+		<method name="insertRow()V"/>
+		<method name="isAfterLast()Z"/>
+		<method name="isBeforeFirst()Z"/>
+		<method name="isClosed()Z" since="9"/>
+		<method name="isFirst()Z"/>
+		<method name="isLast()Z"/>
+		<method name="last()Z"/>
+		<method name="moveToCurrentRow()V"/>
+		<method name="moveToInsertRow()V"/>
+		<method name="next()Z"/>
+		<method name="previous()Z"/>
+		<method name="refreshRow()V"/>
+		<method name="relative(I)Z"/>
+		<method name="rowDeleted()Z"/>
+		<method name="rowInserted()Z"/>
+		<method name="rowUpdated()Z"/>
+		<method name="setFetchDirection(I)V"/>
+		<method name="setFetchSize(I)V"/>
+		<method name="updateArray(ILjava/sql/Array;)V"/>
+		<method name="updateArray(Ljava/lang/String;Ljava/sql/Array;)V"/>
+		<method name="updateAsciiStream(ILjava/io/InputStream;)V" since="9"/>
+		<method name="updateAsciiStream(ILjava/io/InputStream;I)V"/>
+		<method name="updateAsciiStream(ILjava/io/InputStream;J)V" since="9"/>
+		<method name="updateAsciiStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9"/>
+		<method name="updateAsciiStream(Ljava/lang/String;Ljava/io/InputStream;I)V"/>
+		<method name="updateAsciiStream(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9"/>
+		<method name="updateBigDecimal(ILjava/math/BigDecimal;)V"/>
+		<method name="updateBigDecimal(Ljava/lang/String;Ljava/math/BigDecimal;)V"/>
+		<method name="updateBinaryStream(ILjava/io/InputStream;)V" since="9"/>
+		<method name="updateBinaryStream(ILjava/io/InputStream;I)V"/>
+		<method name="updateBinaryStream(ILjava/io/InputStream;J)V" since="9"/>
+		<method name="updateBinaryStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9"/>
+		<method name="updateBinaryStream(Ljava/lang/String;Ljava/io/InputStream;I)V"/>
+		<method name="updateBinaryStream(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9"/>
+		<method name="updateBlob(ILjava/io/InputStream;)V" since="9"/>
+		<method name="updateBlob(ILjava/io/InputStream;J)V" since="9"/>
+		<method name="updateBlob(ILjava/sql/Blob;)V"/>
+		<method name="updateBlob(Ljava/lang/String;Ljava/io/InputStream;)V" since="9"/>
+		<method name="updateBlob(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9"/>
+		<method name="updateBlob(Ljava/lang/String;Ljava/sql/Blob;)V"/>
+		<method name="updateBoolean(IZ)V"/>
+		<method name="updateBoolean(Ljava/lang/String;Z)V"/>
+		<method name="updateByte(IB)V"/>
+		<method name="updateByte(Ljava/lang/String;B)V"/>
+		<method name="updateBytes(I[B)V"/>
+		<method name="updateBytes(Ljava/lang/String;[B)V"/>
+		<method name="updateCharacterStream(ILjava/io/Reader;)V" since="9"/>
+		<method name="updateCharacterStream(ILjava/io/Reader;I)V"/>
+		<method name="updateCharacterStream(ILjava/io/Reader;J)V" since="9"/>
+		<method name="updateCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="updateCharacterStream(Ljava/lang/String;Ljava/io/Reader;I)V"/>
+		<method name="updateCharacterStream(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="updateClob(ILjava/io/Reader;)V" since="9"/>
+		<method name="updateClob(ILjava/io/Reader;J)V" since="9"/>
+		<method name="updateClob(ILjava/sql/Clob;)V"/>
+		<method name="updateClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="updateClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="updateClob(Ljava/lang/String;Ljava/sql/Clob;)V"/>
+		<method name="updateDate(ILjava/sql/Date;)V"/>
+		<method name="updateDate(Ljava/lang/String;Ljava/sql/Date;)V"/>
+		<method name="updateDouble(ID)V"/>
+		<method name="updateDouble(Ljava/lang/String;D)V"/>
+		<method name="updateFloat(IF)V"/>
+		<method name="updateFloat(Ljava/lang/String;F)V"/>
+		<method name="updateInt(II)V"/>
+		<method name="updateInt(Ljava/lang/String;I)V"/>
+		<method name="updateLong(IJ)V"/>
+		<method name="updateLong(Ljava/lang/String;J)V"/>
+		<method name="updateNCharacterStream(ILjava/io/Reader;)V" since="9"/>
+		<method name="updateNCharacterStream(ILjava/io/Reader;J)V" since="9"/>
+		<method name="updateNCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="updateNCharacterStream(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="updateNClob(ILjava/io/Reader;)V" since="9"/>
+		<method name="updateNClob(ILjava/io/Reader;J)V" since="9"/>
+		<method name="updateNClob(ILjava/sql/NClob;)V" since="9"/>
+		<method name="updateNClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="updateNClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="updateNClob(Ljava/lang/String;Ljava/sql/NClob;)V" since="9"/>
+		<method name="updateNString(ILjava/lang/String;)V" since="9"/>
+		<method name="updateNString(Ljava/lang/String;Ljava/lang/String;)V" since="9"/>
+		<method name="updateNull(I)V"/>
+		<method name="updateNull(Ljava/lang/String;)V"/>
+		<method name="updateObject(ILjava/lang/Object;)V"/>
+		<method name="updateObject(ILjava/lang/Object;I)V"/>
+		<method name="updateObject(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="updateObject(Ljava/lang/String;Ljava/lang/Object;I)V"/>
+		<method name="updateRef(ILjava/sql/Ref;)V"/>
+		<method name="updateRef(Ljava/lang/String;Ljava/sql/Ref;)V"/>
+		<method name="updateRow()V"/>
+		<method name="updateRowId(ILjava/sql/RowId;)V" since="9"/>
+		<method name="updateRowId(Ljava/lang/String;Ljava/sql/RowId;)V" since="9"/>
+		<method name="updateSQLXML(ILjava/sql/SQLXML;)V" since="9"/>
+		<method name="updateSQLXML(Ljava/lang/String;Ljava/sql/SQLXML;)V" since="9"/>
+		<method name="updateShort(IS)V"/>
+		<method name="updateShort(Ljava/lang/String;S)V"/>
+		<method name="updateString(ILjava/lang/String;)V"/>
+		<method name="updateString(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="updateTime(ILjava/sql/Time;)V"/>
+		<method name="updateTime(Ljava/lang/String;Ljava/sql/Time;)V"/>
+		<method name="updateTimestamp(ILjava/sql/Timestamp;)V"/>
+		<method name="updateTimestamp(Ljava/lang/String;Ljava/sql/Timestamp;)V"/>
+		<method name="wasNull()Z"/>
+		<field name="CLOSE_CURSORS_AT_COMMIT"/>
+		<field name="CONCUR_READ_ONLY"/>
+		<field name="CONCUR_UPDATABLE"/>
+		<field name="FETCH_FORWARD"/>
+		<field name="FETCH_REVERSE"/>
+		<field name="FETCH_UNKNOWN"/>
+		<field name="HOLD_CURSORS_OVER_COMMIT"/>
+		<field name="TYPE_FORWARD_ONLY"/>
+		<field name="TYPE_SCROLL_INSENSITIVE"/>
+		<field name="TYPE_SCROLL_SENSITIVE"/>
+	</class>
+	<class name="java/sql/ResultSetMetaData" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/sql/Wrapper" since="9"/>
+		<method name="getCatalogName(I)Ljava/lang/String;"/>
+		<method name="getColumnClassName(I)Ljava/lang/String;"/>
+		<method name="getColumnCount()I"/>
+		<method name="getColumnDisplaySize(I)I"/>
+		<method name="getColumnLabel(I)Ljava/lang/String;"/>
+		<method name="getColumnName(I)Ljava/lang/String;"/>
+		<method name="getColumnType(I)I"/>
+		<method name="getColumnTypeName(I)Ljava/lang/String;"/>
+		<method name="getPrecision(I)I"/>
+		<method name="getScale(I)I"/>
+		<method name="getSchemaName(I)Ljava/lang/String;"/>
+		<method name="getTableName(I)Ljava/lang/String;"/>
+		<method name="isAutoIncrement(I)Z"/>
+		<method name="isCaseSensitive(I)Z"/>
+		<method name="isCurrency(I)Z"/>
+		<method name="isDefinitelyWritable(I)Z"/>
+		<method name="isNullable(I)I"/>
+		<method name="isReadOnly(I)Z"/>
+		<method name="isSearchable(I)Z"/>
+		<method name="isSigned(I)Z"/>
+		<method name="isWritable(I)Z"/>
+		<field name="columnNoNulls"/>
+		<field name="columnNullable"/>
+		<field name="columnNullableUnknown"/>
+	</class>
+	<class name="java/sql/RowId" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="getBytes()[B"/>
+	</class>
+	<class name="java/sql/RowIdLifetime" since="9">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/sql/RowIdLifetime;"/>
+		<method name="values()[Ljava/sql/RowIdLifetime;"/>
+		<field name="ROWID_UNSUPPORTED"/>
+		<field name="ROWID_VALID_FOREVER"/>
+		<field name="ROWID_VALID_OTHER"/>
+		<field name="ROWID_VALID_SESSION"/>
+		<field name="ROWID_VALID_TRANSACTION"/>
+	</class>
+	<class name="java/sql/SQLClientInfoException" since="9">
+		<extends name="java/sql/SQLException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/util/Map;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/util/Map;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/util/Map;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/util/Map;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+		<method name="&lt;init>(Ljava/util/Map;Ljava/lang/Throwable;)V"/>
+		<method name="getFailedProperties()Ljava/util/Map;"/>
+	</class>
+	<class name="java/sql/SQLData" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getSQLTypeName()Ljava/lang/String;"/>
+		<method name="readSQL(Ljava/sql/SQLInput;Ljava/lang/String;)V"/>
+		<method name="writeSQL(Ljava/sql/SQLOutput;)V"/>
+	</class>
+	<class name="java/sql/SQLDataException" since="9">
+		<extends name="java/sql/SQLNonTransientException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLException" since="1">
+		<extends name="java/lang/Exception"/>
+		<implements name="java/lang/Iterable" since="9"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V" since="9"/>
+		<method name="getErrorCode()I"/>
+		<method name="getNextException()Ljava/sql/SQLException;"/>
+		<method name="getSQLState()Ljava/lang/String;"/>
+		<method name="setNextException(Ljava/sql/SQLException;)V"/>
+	</class>
+	<class name="java/sql/SQLFeatureNotSupportedException" since="9">
+		<extends name="java/sql/SQLNonTransientException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLInput" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="readArray()Ljava/sql/Array;"/>
+		<method name="readAsciiStream()Ljava/io/InputStream;"/>
+		<method name="readBigDecimal()Ljava/math/BigDecimal;"/>
+		<method name="readBinaryStream()Ljava/io/InputStream;"/>
+		<method name="readBlob()Ljava/sql/Blob;"/>
+		<method name="readBoolean()Z"/>
+		<method name="readByte()B"/>
+		<method name="readBytes()[B"/>
+		<method name="readCharacterStream()Ljava/io/Reader;"/>
+		<method name="readClob()Ljava/sql/Clob;"/>
+		<method name="readDate()Ljava/sql/Date;"/>
+		<method name="readDouble()D"/>
+		<method name="readFloat()F"/>
+		<method name="readInt()I"/>
+		<method name="readLong()J"/>
+		<method name="readNClob()Ljava/sql/NClob;" since="9"/>
+		<method name="readNString()Ljava/lang/String;" since="9"/>
+		<method name="readObject()Ljava/lang/Object;"/>
+		<method name="readRef()Ljava/sql/Ref;"/>
+		<method name="readRowId()Ljava/sql/RowId;" since="9"/>
+		<method name="readSQLXML()Ljava/sql/SQLXML;" since="9"/>
+		<method name="readShort()S"/>
+		<method name="readString()Ljava/lang/String;"/>
+		<method name="readTime()Ljava/sql/Time;"/>
+		<method name="readTimestamp()Ljava/sql/Timestamp;"/>
+		<method name="readURL()Ljava/net/URL;"/>
+		<method name="wasNull()Z"/>
+	</class>
+	<class name="java/sql/SQLIntegrityConstraintViolationException" since="9">
+		<extends name="java/sql/SQLNonTransientException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLInvalidAuthorizationSpecException" since="9">
+		<extends name="java/sql/SQLNonTransientException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLNonTransientConnectionException" since="9">
+		<extends name="java/sql/SQLNonTransientException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLNonTransientException" since="9">
+		<extends name="java/sql/SQLException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLOutput" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="writeArray(Ljava/sql/Array;)V"/>
+		<method name="writeAsciiStream(Ljava/io/InputStream;)V"/>
+		<method name="writeBigDecimal(Ljava/math/BigDecimal;)V"/>
+		<method name="writeBinaryStream(Ljava/io/InputStream;)V"/>
+		<method name="writeBlob(Ljava/sql/Blob;)V"/>
+		<method name="writeBoolean(Z)V"/>
+		<method name="writeByte(B)V"/>
+		<method name="writeBytes([B)V"/>
+		<method name="writeCharacterStream(Ljava/io/Reader;)V"/>
+		<method name="writeClob(Ljava/sql/Clob;)V"/>
+		<method name="writeDate(Ljava/sql/Date;)V"/>
+		<method name="writeDouble(D)V"/>
+		<method name="writeFloat(F)V"/>
+		<method name="writeInt(I)V"/>
+		<method name="writeLong(J)V"/>
+		<method name="writeNClob(Ljava/sql/NClob;)V" since="9"/>
+		<method name="writeNString(Ljava/lang/String;)V" since="9"/>
+		<method name="writeObject(Ljava/sql/SQLData;)V"/>
+		<method name="writeRef(Ljava/sql/Ref;)V"/>
+		<method name="writeRowId(Ljava/sql/RowId;)V" since="9"/>
+		<method name="writeSQLXML(Ljava/sql/SQLXML;)V" since="9"/>
+		<method name="writeShort(S)V"/>
+		<method name="writeString(Ljava/lang/String;)V"/>
+		<method name="writeStruct(Ljava/sql/Struct;)V"/>
+		<method name="writeTime(Ljava/sql/Time;)V"/>
+		<method name="writeTimestamp(Ljava/sql/Timestamp;)V"/>
+		<method name="writeURL(Ljava/net/URL;)V"/>
+	</class>
+	<class name="java/sql/SQLPermission" since="1">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/sql/SQLRecoverableException" since="9">
+		<extends name="java/sql/SQLException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLSyntaxErrorException" since="9">
+		<extends name="java/sql/SQLNonTransientException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLTimeoutException" since="9">
+		<extends name="java/sql/SQLTransientException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLTransactionRollbackException" since="9">
+		<extends name="java/sql/SQLTransientException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLTransientConnectionException" since="9">
+		<extends name="java/sql/SQLTransientException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLTransientException" since="9">
+		<extends name="java/sql/SQLException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/sql/SQLWarning" since="1">
+		<extends name="java/sql/SQLException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="9"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V" since="9"/>
+		<method name="getNextWarning()Ljava/sql/SQLWarning;"/>
+		<method name="setNextWarning(Ljava/sql/SQLWarning;)V"/>
+	</class>
+	<class name="java/sql/SQLXML" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="free()V"/>
+		<method name="getBinaryStream()Ljava/io/InputStream;"/>
+		<method name="getCharacterStream()Ljava/io/Reader;"/>
+		<method name="getSource(Ljava/lang/Class;)Ljavax/xml/transform/Source;"/>
+		<method name="getString()Ljava/lang/String;"/>
+		<method name="setBinaryStream()Ljava/io/OutputStream;"/>
+		<method name="setCharacterStream()Ljava/io/Writer;"/>
+		<method name="setResult(Ljava/lang/Class;)Ljavax/xml/transform/Result;"/>
+		<method name="setString(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/sql/Savepoint" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getSavepointId()I"/>
+		<method name="getSavepointName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/sql/Statement" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable" since="19"/>
+		<implements name="java/sql/Wrapper" since="9"/>
+		<method name="addBatch(Ljava/lang/String;)V"/>
+		<method name="cancel()V"/>
+		<method name="clearBatch()V"/>
+		<method name="clearWarnings()V"/>
+		<method name="close()V"/>
+		<method name="execute(Ljava/lang/String;)Z"/>
+		<method name="execute(Ljava/lang/String;I)Z"/>
+		<method name="execute(Ljava/lang/String;[I)Z"/>
+		<method name="execute(Ljava/lang/String;[Ljava/lang/String;)Z"/>
+		<method name="executeBatch()[I"/>
+		<method name="executeQuery(Ljava/lang/String;)Ljava/sql/ResultSet;"/>
+		<method name="executeUpdate(Ljava/lang/String;)I"/>
+		<method name="executeUpdate(Ljava/lang/String;I)I"/>
+		<method name="executeUpdate(Ljava/lang/String;[I)I"/>
+		<method name="executeUpdate(Ljava/lang/String;[Ljava/lang/String;)I"/>
+		<method name="getConnection()Ljava/sql/Connection;"/>
+		<method name="getFetchDirection()I"/>
+		<method name="getFetchSize()I"/>
+		<method name="getGeneratedKeys()Ljava/sql/ResultSet;"/>
+		<method name="getMaxFieldSize()I"/>
+		<method name="getMaxRows()I"/>
+		<method name="getMoreResults()Z"/>
+		<method name="getMoreResults(I)Z"/>
+		<method name="getQueryTimeout()I"/>
+		<method name="getResultSet()Ljava/sql/ResultSet;"/>
+		<method name="getResultSetConcurrency()I"/>
+		<method name="getResultSetHoldability()I"/>
+		<method name="getResultSetType()I"/>
+		<method name="getUpdateCount()I"/>
+		<method name="getWarnings()Ljava/sql/SQLWarning;"/>
+		<method name="isClosed()Z" since="9"/>
+		<method name="isPoolable()Z" since="9"/>
+		<method name="setCursorName(Ljava/lang/String;)V"/>
+		<method name="setEscapeProcessing(Z)V"/>
+		<method name="setFetchDirection(I)V"/>
+		<method name="setFetchSize(I)V"/>
+		<method name="setMaxFieldSize(I)V"/>
+		<method name="setMaxRows(I)V"/>
+		<method name="setPoolable(Z)V" since="9"/>
+		<method name="setQueryTimeout(I)V"/>
+		<field name="CLOSE_ALL_RESULTS"/>
+		<field name="CLOSE_CURRENT_RESULT"/>
+		<field name="EXECUTE_FAILED"/>
+		<field name="KEEP_CURRENT_RESULT"/>
+		<field name="NO_GENERATED_KEYS"/>
+		<field name="RETURN_GENERATED_KEYS"/>
+		<field name="SUCCESS_NO_INFO"/>
+	</class>
+	<class name="java/sql/Struct" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getAttributes()[Ljava/lang/Object;"/>
+		<method name="getAttributes(Ljava/util/Map;)[Ljava/lang/Object;"/>
+		<method name="getSQLTypeName()Ljava/lang/String;"/>
+	</class>
+	<class name="java/sql/Time" since="1">
+		<extends name="java/util/Date"/>
+		<method name="&lt;init>(III)V" deprecated="15"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/sql/Time;"/>
+	</class>
+	<class name="java/sql/Timestamp" since="1">
+		<extends name="java/util/Date"/>
+		<method name="&lt;init>(IIIIIII)V" deprecated="15"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="after(Ljava/sql/Timestamp;)Z"/>
+		<method name="before(Ljava/sql/Timestamp;)Z"/>
+		<method name="compareTo(Ljava/sql/Timestamp;)I"/>
+		<method name="equals(Ljava/sql/Timestamp;)Z"/>
+		<method name="getNanos()I"/>
+		<method name="setNanos(I)V"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/sql/Timestamp;"/>
+	</class>
+	<class name="java/sql/Types" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="ARRAY"/>
+		<field name="BIGINT"/>
+		<field name="BINARY"/>
+		<field name="BIT"/>
+		<field name="BLOB"/>
+		<field name="BOOLEAN"/>
+		<field name="CHAR"/>
+		<field name="CLOB"/>
+		<field name="DATALINK"/>
+		<field name="DATE"/>
+		<field name="DECIMAL"/>
+		<field name="DISTINCT"/>
+		<field name="DOUBLE"/>
+		<field name="FLOAT"/>
+		<field name="INTEGER"/>
+		<field name="JAVA_OBJECT"/>
+		<field name="LONGNVARCHAR" since="9"/>
+		<field name="LONGVARBINARY"/>
+		<field name="LONGVARCHAR"/>
+		<field name="NCHAR" since="9"/>
+		<field name="NCLOB" since="9"/>
+		<field name="NULL"/>
+		<field name="NUMERIC"/>
+		<field name="NVARCHAR" since="9"/>
+		<field name="OTHER"/>
+		<field name="REAL"/>
+		<field name="REF"/>
+		<field name="ROWID" since="9"/>
+		<field name="SMALLINT"/>
+		<field name="SQLXML" since="9"/>
+		<field name="STRUCT"/>
+		<field name="TIME"/>
+		<field name="TIMESTAMP"/>
+		<field name="TINYINT"/>
+		<field name="VARBINARY"/>
+		<field name="VARCHAR"/>
+	</class>
+	<class name="java/sql/Wrapper" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="isWrapperFor(Ljava/lang/Class;)Z"/>
+		<method name="unwrap(Ljava/lang/Class;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/text/Annotation" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<method name="getValue()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/text/AttributedCharacterIterator" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/text/CharacterIterator"/>
+		<method name="getAllAttributeKeys()Ljava/util/Set;"/>
+		<method name="getAttribute(Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/lang/Object;"/>
+		<method name="getAttributes()Ljava/util/Map;"/>
+		<method name="getRunLimit()I"/>
+		<method name="getRunLimit(Ljava/text/AttributedCharacterIterator$Attribute;)I"/>
+		<method name="getRunLimit(Ljava/util/Set;)I"/>
+		<method name="getRunStart()I"/>
+		<method name="getRunStart(Ljava/text/AttributedCharacterIterator$Attribute;)I"/>
+		<method name="getRunStart(Ljava/util/Set;)I"/>
+	</class>
+	<class name="java/text/AttributedCharacterIterator$Attribute" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="readResolve()Ljava/lang/Object;"/>
+		<field name="INPUT_METHOD_SEGMENT"/>
+		<field name="LANGUAGE"/>
+		<field name="READING"/>
+	</class>
+	<class name="java/text/AttributedString" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/util/Map;)V"/>
+		<method name="&lt;init>(Ljava/text/AttributedCharacterIterator;)V"/>
+		<method name="&lt;init>(Ljava/text/AttributedCharacterIterator;II)V"/>
+		<method name="&lt;init>(Ljava/text/AttributedCharacterIterator;II[Ljava/text/AttributedCharacterIterator$Attribute;)V"/>
+		<method name="addAttribute(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;)V"/>
+		<method name="addAttribute(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;II)V"/>
+		<method name="addAttributes(Ljava/util/Map;II)V"/>
+		<method name="getIterator()Ljava/text/AttributedCharacterIterator;"/>
+		<method name="getIterator([Ljava/text/AttributedCharacterIterator$Attribute;)Ljava/text/AttributedCharacterIterator;"/>
+		<method name="getIterator([Ljava/text/AttributedCharacterIterator$Attribute;II)Ljava/text/AttributedCharacterIterator;"/>
+	</class>
+	<class name="java/text/Bidi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/text/AttributedCharacterIterator;)V"/>
+		<method name="&lt;init>([CI[BIII)V"/>
+		<method name="baseIsLeftToRight()Z"/>
+		<method name="createLineBidi(II)Ljava/text/Bidi;"/>
+		<method name="getBaseLevel()I"/>
+		<method name="getLength()I"/>
+		<method name="getLevelAt(I)I"/>
+		<method name="getRunCount()I"/>
+		<method name="getRunLevel(I)I"/>
+		<method name="getRunLimit(I)I"/>
+		<method name="getRunStart(I)I"/>
+		<method name="isLeftToRight()Z"/>
+		<method name="isMixed()Z"/>
+		<method name="isRightToLeft()Z"/>
+		<method name="reorderVisually([BI[Ljava/lang/Object;II)V"/>
+		<method name="requiresBidi([CII)Z"/>
+		<field name="DIRECTION_DEFAULT_LEFT_TO_RIGHT"/>
+		<field name="DIRECTION_DEFAULT_RIGHT_TO_LEFT"/>
+		<field name="DIRECTION_LEFT_TO_RIGHT"/>
+		<field name="DIRECTION_RIGHT_TO_LEFT"/>
+	</class>
+	<class name="java/text/BreakIterator" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="current()I"/>
+		<method name="first()I"/>
+		<method name="following(I)I"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getCharacterInstance()Ljava/text/BreakIterator;"/>
+		<method name="getCharacterInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;"/>
+		<method name="getInt([BI)I" removed="9"/>
+		<method name="getLineInstance()Ljava/text/BreakIterator;"/>
+		<method name="getLineInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;"/>
+		<method name="getLong([BI)J" removed="9"/>
+		<method name="getSentenceInstance()Ljava/text/BreakIterator;"/>
+		<method name="getSentenceInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;"/>
+		<method name="getShort([BI)S" removed="9"/>
+		<method name="getText()Ljava/text/CharacterIterator;"/>
+		<method name="getWordInstance()Ljava/text/BreakIterator;"/>
+		<method name="getWordInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;"/>
+		<method name="isBoundary(I)Z"/>
+		<method name="last()I"/>
+		<method name="next()I"/>
+		<method name="next(I)I"/>
+		<method name="preceding(I)I"/>
+		<method name="previous()I"/>
+		<method name="setText(Ljava/lang/String;)V"/>
+		<method name="setText(Ljava/text/CharacterIterator;)V"/>
+		<field name="DONE"/>
+	</class>
+	<class name="java/text/CharacterIterator" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="current()C"/>
+		<method name="first()C"/>
+		<method name="getBeginIndex()I"/>
+		<method name="getEndIndex()I"/>
+		<method name="getIndex()I"/>
+		<method name="last()C"/>
+		<method name="next()C"/>
+		<method name="previous()C"/>
+		<method name="setIndex(I)C"/>
+		<field name="DONE"/>
+	</class>
+	<class name="java/text/ChoiceFormat" since="1">
+		<extends name="java/text/NumberFormat"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>([D[Ljava/lang/String;)V"/>
+		<method name="applyPattern(Ljava/lang/String;)V"/>
+		<method name="getFormats()[Ljava/lang/Object;"/>
+		<method name="getLimits()[D"/>
+		<method name="nextDouble(D)D"/>
+		<method name="nextDouble(DZ)D"/>
+		<method name="previousDouble(D)D"/>
+		<method name="setChoices([D[Ljava/lang/String;)V"/>
+		<method name="toPattern()Ljava/lang/String;"/>
+	</class>
+	<class name="java/text/CollationElementIterator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getMaxExpansion(I)I"/>
+		<method name="getOffset()I"/>
+		<method name="next()I"/>
+		<method name="previous()I"/>
+		<method name="primaryOrder(I)I"/>
+		<method name="reset()V"/>
+		<method name="secondaryOrder(I)S"/>
+		<method name="setOffset(I)V"/>
+		<method name="setText(Ljava/lang/String;)V"/>
+		<method name="setText(Ljava/text/CharacterIterator;)V"/>
+		<method name="tertiaryOrder(I)S"/>
+		<field name="NULLORDER"/>
+	</class>
+	<class name="java/text/CollationKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" since="9"/>
+		<method name="compareTo(Ljava/text/CollationKey;)I"/>
+		<method name="getSourceString()Ljava/lang/String;"/>
+		<method name="toByteArray()[B"/>
+	</class>
+	<class name="java/text/Collator" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/Comparator"/>
+		<method name="&lt;init>()V"/>
+		<method name="compare(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="equals(Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getCollationKey(Ljava/lang/String;)Ljava/text/CollationKey;"/>
+		<method name="getDecomposition()I"/>
+		<method name="getInstance()Ljava/text/Collator;"/>
+		<method name="getInstance(Ljava/util/Locale;)Ljava/text/Collator;"/>
+		<method name="getStrength()I"/>
+		<method name="setDecomposition(I)V"/>
+		<method name="setStrength(I)V"/>
+		<field name="CANONICAL_DECOMPOSITION"/>
+		<field name="FULL_DECOMPOSITION"/>
+		<field name="IDENTICAL"/>
+		<field name="NO_DECOMPOSITION"/>
+		<field name="PRIMARY"/>
+		<field name="SECONDARY"/>
+		<field name="TERTIARY"/>
+	</class>
+	<class name="java/text/DateFormat" since="1">
+		<extends name="java/text/Format"/>
+		<method name="&lt;init>()V"/>
+		<method name="format(Ljava/util/Date;)Ljava/lang/String;"/>
+		<method name="format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getCalendar()Ljava/util/Calendar;"/>
+		<method name="getDateInstance()Ljava/text/DateFormat;"/>
+		<method name="getDateInstance(I)Ljava/text/DateFormat;"/>
+		<method name="getDateInstance(ILjava/util/Locale;)Ljava/text/DateFormat;"/>
+		<method name="getDateTimeInstance()Ljava/text/DateFormat;"/>
+		<method name="getDateTimeInstance(II)Ljava/text/DateFormat;"/>
+		<method name="getDateTimeInstance(IILjava/util/Locale;)Ljava/text/DateFormat;"/>
+		<method name="getInstance()Ljava/text/DateFormat;"/>
+		<method name="getNumberFormat()Ljava/text/NumberFormat;"/>
+		<method name="getTimeInstance()Ljava/text/DateFormat;"/>
+		<method name="getTimeInstance(I)Ljava/text/DateFormat;"/>
+		<method name="getTimeInstance(ILjava/util/Locale;)Ljava/text/DateFormat;"/>
+		<method name="getTimeZone()Ljava/util/TimeZone;"/>
+		<method name="isLenient()Z"/>
+		<method name="parse(Ljava/lang/String;)Ljava/util/Date;"/>
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;"/>
+		<method name="setCalendar(Ljava/util/Calendar;)V"/>
+		<method name="setLenient(Z)V"/>
+		<method name="setNumberFormat(Ljava/text/NumberFormat;)V"/>
+		<method name="setTimeZone(Ljava/util/TimeZone;)V"/>
+		<field name="AM_PM_FIELD"/>
+		<field name="DATE_FIELD"/>
+		<field name="DAY_OF_WEEK_FIELD"/>
+		<field name="DAY_OF_WEEK_IN_MONTH_FIELD"/>
+		<field name="DAY_OF_YEAR_FIELD"/>
+		<field name="DEFAULT"/>
+		<field name="ERA_FIELD"/>
+		<field name="FULL"/>
+		<field name="HOUR0_FIELD"/>
+		<field name="HOUR1_FIELD"/>
+		<field name="HOUR_OF_DAY0_FIELD"/>
+		<field name="HOUR_OF_DAY1_FIELD"/>
+		<field name="LONG"/>
+		<field name="MEDIUM"/>
+		<field name="MILLISECOND_FIELD"/>
+		<field name="MINUTE_FIELD"/>
+		<field name="MONTH_FIELD"/>
+		<field name="SECOND_FIELD"/>
+		<field name="SHORT"/>
+		<field name="TIMEZONE_FIELD"/>
+		<field name="WEEK_OF_MONTH_FIELD"/>
+		<field name="WEEK_OF_YEAR_FIELD"/>
+		<field name="YEAR_FIELD"/>
+		<field name="calendar"/>
+		<field name="numberFormat"/>
+	</class>
+	<class name="java/text/DateFormat$Field" since="1">
+		<extends name="java/text/Format$Field"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="getCalendarField()I"/>
+		<method name="ofCalendarField(I)Ljava/text/DateFormat$Field;"/>
+		<field name="AM_PM"/>
+		<field name="DAY_OF_MONTH"/>
+		<field name="DAY_OF_WEEK"/>
+		<field name="DAY_OF_WEEK_IN_MONTH"/>
+		<field name="DAY_OF_YEAR"/>
+		<field name="ERA"/>
+		<field name="HOUR0"/>
+		<field name="HOUR1"/>
+		<field name="HOUR_OF_DAY0"/>
+		<field name="HOUR_OF_DAY1"/>
+		<field name="MILLISECOND"/>
+		<field name="MINUTE"/>
+		<field name="MONTH"/>
+		<field name="SECOND"/>
+		<field name="TIME_ZONE"/>
+		<field name="WEEK_OF_MONTH"/>
+		<field name="WEEK_OF_YEAR"/>
+		<field name="YEAR"/>
+	</class>
+	<class name="java/text/DateFormatSymbols" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="getAmPmStrings()[Ljava/lang/String;"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;" since="9"/>
+		<method name="getEras()[Ljava/lang/String;"/>
+		<method name="getInstance()Ljava/text/DateFormatSymbols;" since="9"/>
+		<method name="getInstance(Ljava/util/Locale;)Ljava/text/DateFormatSymbols;" since="9"/>
+		<method name="getLocalPatternChars()Ljava/lang/String;"/>
+		<method name="getMonths()[Ljava/lang/String;"/>
+		<method name="getShortMonths()[Ljava/lang/String;"/>
+		<method name="getShortWeekdays()[Ljava/lang/String;"/>
+		<method name="getWeekdays()[Ljava/lang/String;"/>
+		<method name="getZoneStrings()[[Ljava/lang/String;"/>
+		<method name="setAmPmStrings([Ljava/lang/String;)V"/>
+		<method name="setEras([Ljava/lang/String;)V"/>
+		<method name="setLocalPatternChars(Ljava/lang/String;)V"/>
+		<method name="setMonths([Ljava/lang/String;)V"/>
+		<method name="setShortMonths([Ljava/lang/String;)V"/>
+		<method name="setShortWeekdays([Ljava/lang/String;)V"/>
+		<method name="setWeekdays([Ljava/lang/String;)V"/>
+		<method name="setZoneStrings([[Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/text/DecimalFormat" since="1">
+		<extends name="java/text/NumberFormat"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/text/DecimalFormatSymbols;)V"/>
+		<method name="applyLocalizedPattern(Ljava/lang/String;)V"/>
+		<method name="applyPattern(Ljava/lang/String;)V"/>
+		<method name="getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;"/>
+		<method name="getGroupingSize()I"/>
+		<method name="getMultiplier()I"/>
+		<method name="getNegativePrefix()Ljava/lang/String;"/>
+		<method name="getNegativeSuffix()Ljava/lang/String;"/>
+		<method name="getPositivePrefix()Ljava/lang/String;"/>
+		<method name="getPositiveSuffix()Ljava/lang/String;"/>
+		<method name="isDecimalSeparatorAlwaysShown()Z"/>
+		<method name="isParseBigDecimal()Z"/>
+		<method name="setDecimalFormatSymbols(Ljava/text/DecimalFormatSymbols;)V"/>
+		<method name="setDecimalSeparatorAlwaysShown(Z)V"/>
+		<method name="setGroupingSize(I)V"/>
+		<method name="setMultiplier(I)V"/>
+		<method name="setNegativePrefix(Ljava/lang/String;)V"/>
+		<method name="setNegativeSuffix(Ljava/lang/String;)V"/>
+		<method name="setParseBigDecimal(Z)V"/>
+		<method name="setPositivePrefix(Ljava/lang/String;)V"/>
+		<method name="setPositiveSuffix(Ljava/lang/String;)V"/>
+		<method name="toLocalizedPattern()Ljava/lang/String;"/>
+		<method name="toPattern()Ljava/lang/String;"/>
+	</class>
+	<class name="java/text/DecimalFormatSymbols" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;" since="9"/>
+		<method name="getCurrency()Ljava/util/Currency;"/>
+		<method name="getCurrencySymbol()Ljava/lang/String;"/>
+		<method name="getDecimalSeparator()C"/>
+		<method name="getDigit()C"/>
+		<method name="getExponentSeparator()Ljava/lang/String;" since="9"/>
+		<method name="getGroupingSeparator()C"/>
+		<method name="getInfinity()Ljava/lang/String;"/>
+		<method name="getInstance()Ljava/text/DecimalFormatSymbols;" since="9"/>
+		<method name="getInstance(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;" since="9"/>
+		<method name="getInternationalCurrencySymbol()Ljava/lang/String;"/>
+		<method name="getMinusSign()C"/>
+		<method name="getMonetaryDecimalSeparator()C"/>
+		<method name="getNaN()Ljava/lang/String;"/>
+		<method name="getPatternSeparator()C"/>
+		<method name="getPerMill()C"/>
+		<method name="getPercent()C"/>
+		<method name="getZeroDigit()C"/>
+		<method name="setCurrency(Ljava/util/Currency;)V"/>
+		<method name="setCurrencySymbol(Ljava/lang/String;)V"/>
+		<method name="setDecimalSeparator(C)V"/>
+		<method name="setDigit(C)V"/>
+		<method name="setExponentSeparator(Ljava/lang/String;)V" since="9"/>
+		<method name="setGroupingSeparator(C)V"/>
+		<method name="setInfinity(Ljava/lang/String;)V"/>
+		<method name="setInternationalCurrencySymbol(Ljava/lang/String;)V"/>
+		<method name="setMinusSign(C)V"/>
+		<method name="setMonetaryDecimalSeparator(C)V"/>
+		<method name="setNaN(Ljava/lang/String;)V"/>
+		<method name="setPatternSeparator(C)V"/>
+		<method name="setPerMill(C)V"/>
+		<method name="setPercent(C)V"/>
+		<method name="setZeroDigit(C)V"/>
+	</class>
+	<class name="java/text/FieldPosition" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/text/Format$Field;)V"/>
+		<method name="&lt;init>(Ljava/text/Format$Field;I)V"/>
+		<method name="getBeginIndex()I"/>
+		<method name="getEndIndex()I"/>
+		<method name="getField()I"/>
+		<method name="getFieldAttribute()Ljava/text/Format$Field;"/>
+		<method name="setBeginIndex(I)V"/>
+		<method name="setEndIndex(I)V"/>
+	</class>
+	<class name="java/text/Format" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="format(Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="formatToCharacterIterator(Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;"/>
+		<method name="parseObject(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="parseObject(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/text/Format$Field" since="1">
+		<extends name="java/text/AttributedCharacterIterator$Attribute"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/text/MessageFormat" since="1">
+		<extends name="java/text/Format"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/util/Locale;)V"/>
+		<method name="applyPattern(Ljava/lang/String;)V"/>
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="format([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="getFormats()[Ljava/text/Format;"/>
+		<method name="getFormatsByArgumentIndex()[Ljava/text/Format;"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="parse(Ljava/lang/String;)[Ljava/lang/Object;"/>
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)[Ljava/lang/Object;"/>
+		<method name="setFormat(ILjava/text/Format;)V"/>
+		<method name="setFormatByArgumentIndex(ILjava/text/Format;)V"/>
+		<method name="setFormats([Ljava/text/Format;)V"/>
+		<method name="setFormatsByArgumentIndex([Ljava/text/Format;)V"/>
+		<method name="setLocale(Ljava/util/Locale;)V"/>
+		<method name="toPattern()Ljava/lang/String;"/>
+	</class>
+	<class name="java/text/MessageFormat$Field" since="1">
+		<extends name="java/text/Format$Field"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="ARGUMENT"/>
+	</class>
+	<class name="java/text/Normalizer" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="isNormalized(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Z"/>
+		<method name="normalize(Ljava/lang/CharSequence;Ljava/text/Normalizer$Form;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/text/Normalizer$Form" since="9">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/text/Normalizer$Form;"/>
+		<method name="values()[Ljava/text/Normalizer$Form;"/>
+		<field name="NFC"/>
+		<field name="NFD"/>
+		<field name="NFKC"/>
+		<field name="NFKD"/>
+	</class>
+	<class name="java/text/NumberFormat" since="1">
+		<extends name="java/text/Format"/>
+		<method name="&lt;init>()V"/>
+		<method name="format(D)Ljava/lang/String;"/>
+		<method name="format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="format(J)Ljava/lang/String;"/>
+		<method name="format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getCurrency()Ljava/util/Currency;"/>
+		<method name="getCurrencyInstance()Ljava/text/NumberFormat;"/>
+		<method name="getCurrencyInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;"/>
+		<method name="getInstance()Ljava/text/NumberFormat;"/>
+		<method name="getInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;"/>
+		<method name="getIntegerInstance()Ljava/text/NumberFormat;"/>
+		<method name="getIntegerInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;"/>
+		<method name="getMaximumFractionDigits()I"/>
+		<method name="getMaximumIntegerDigits()I"/>
+		<method name="getMinimumFractionDigits()I"/>
+		<method name="getMinimumIntegerDigits()I"/>
+		<method name="getNumberInstance()Ljava/text/NumberFormat;"/>
+		<method name="getNumberInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;"/>
+		<method name="getPercentInstance()Ljava/text/NumberFormat;"/>
+		<method name="getPercentInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;"/>
+		<method name="getRoundingMode()Ljava/math/RoundingMode;" since="9"/>
+		<method name="isGroupingUsed()Z"/>
+		<method name="isParseIntegerOnly()Z"/>
+		<method name="parse(Ljava/lang/String;)Ljava/lang/Number;"/>
+		<method name="parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;"/>
+		<method name="setCurrency(Ljava/util/Currency;)V"/>
+		<method name="setGroupingUsed(Z)V"/>
+		<method name="setMaximumFractionDigits(I)V"/>
+		<method name="setMaximumIntegerDigits(I)V"/>
+		<method name="setMinimumFractionDigits(I)V"/>
+		<method name="setMinimumIntegerDigits(I)V"/>
+		<method name="setParseIntegerOnly(Z)V"/>
+		<method name="setRoundingMode(Ljava/math/RoundingMode;)V" since="9"/>
+		<field name="FRACTION_FIELD"/>
+		<field name="INTEGER_FIELD"/>
+	</class>
+	<class name="java/text/NumberFormat$Field" since="1">
+		<extends name="java/text/Format$Field"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="CURRENCY"/>
+		<field name="DECIMAL_SEPARATOR"/>
+		<field name="EXPONENT"/>
+		<field name="EXPONENT_SIGN"/>
+		<field name="EXPONENT_SYMBOL"/>
+		<field name="FRACTION"/>
+		<field name="GROUPING_SEPARATOR"/>
+		<field name="INTEGER"/>
+		<field name="PERCENT"/>
+		<field name="PERMILLE"/>
+		<field name="SIGN"/>
+	</class>
+	<class name="java/text/ParseException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="getErrorOffset()I"/>
+	</class>
+	<class name="java/text/ParsePosition" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getErrorIndex()I"/>
+		<method name="getIndex()I"/>
+		<method name="setErrorIndex(I)V"/>
+		<method name="setIndex(I)V"/>
+	</class>
+	<class name="java/text/RuleBasedCollator" since="1">
+		<extends name="java/text/Collator"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getCollationElementIterator(Ljava/lang/String;)Ljava/text/CollationElementIterator;"/>
+		<method name="getCollationElementIterator(Ljava/text/CharacterIterator;)Ljava/text/CollationElementIterator;"/>
+		<method name="getRules()Ljava/lang/String;"/>
+	</class>
+	<class name="java/text/SimpleDateFormat" since="1">
+		<extends name="java/text/DateFormat"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/text/DateFormatSymbols;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/util/Locale;)V"/>
+		<method name="applyLocalizedPattern(Ljava/lang/String;)V"/>
+		<method name="applyPattern(Ljava/lang/String;)V"/>
+		<method name="get2DigitYearStart()Ljava/util/Date;"/>
+		<method name="getDateFormatSymbols()Ljava/text/DateFormatSymbols;"/>
+		<method name="set2DigitYearStart(Ljava/util/Date;)V"/>
+		<method name="setDateFormatSymbols(Ljava/text/DateFormatSymbols;)V"/>
+		<method name="toLocalizedPattern()Ljava/lang/String;"/>
+		<method name="toPattern()Ljava/lang/String;"/>
+	</class>
+	<class name="java/text/StringCharacterIterator" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/text/CharacterIterator"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;III)V"/>
+		<method name="setText(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/time/Clock" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="fixed(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/Clock;"/>
+		<method name="getZone()Ljava/time/ZoneId;"/>
+		<method name="instant()Ljava/time/Instant;"/>
+		<method name="millis()J"/>
+		<method name="offset(Ljava/time/Clock;Ljava/time/Duration;)Ljava/time/Clock;"/>
+		<method name="system(Ljava/time/ZoneId;)Ljava/time/Clock;"/>
+		<method name="systemDefaultZone()Ljava/time/Clock;"/>
+		<method name="systemUTC()Ljava/time/Clock;"/>
+		<method name="tick(Ljava/time/Clock;Ljava/time/Duration;)Ljava/time/Clock;"/>
+		<method name="tickMinutes(Ljava/time/ZoneId;)Ljava/time/Clock;"/>
+		<method name="tickSeconds(Ljava/time/ZoneId;)Ljava/time/Clock;"/>
+		<method name="withZone(Ljava/time/ZoneId;)Ljava/time/Clock;"/>
+	</class>
+	<class name="java/time/DateTimeException" since="26">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/time/DayOfWeek" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/time/temporal/TemporalAccessor"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/DayOfWeek;"/>
+		<method name="getDisplayName(Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getValue()I"/>
+		<method name="minus(J)Ljava/time/DayOfWeek;"/>
+		<method name="of(I)Ljava/time/DayOfWeek;"/>
+		<method name="plus(J)Ljava/time/DayOfWeek;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/DayOfWeek;"/>
+		<method name="values()[Ljava/time/DayOfWeek;"/>
+		<field name="FRIDAY"/>
+		<field name="MONDAY"/>
+		<field name="SATURDAY"/>
+		<field name="SUNDAY"/>
+		<field name="THURSDAY"/>
+		<field name="TUESDAY"/>
+		<field name="WEDNESDAY"/>
+	</class>
+	<class name="java/time/Duration" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/TemporalAmount"/>
+		<method name="abs()Ljava/time/Duration;"/>
+		<method name="between(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration;"/>
+		<method name="compareTo(Ljava/time/Duration;)I"/>
+		<method name="dividedBy(J)Ljava/time/Duration;"/>
+		<method name="dividedBy(Ljava/time/Duration;)J" since="31"/>
+		<method name="from(Ljava/time/temporal/TemporalAmount;)Ljava/time/Duration;"/>
+		<method name="getNano()I"/>
+		<method name="getSeconds()J"/>
+		<method name="isNegative()Z"/>
+		<method name="isZero()Z"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;"/>
+		<method name="minus(Ljava/time/Duration;)Ljava/time/Duration;"/>
+		<method name="minusDays(J)Ljava/time/Duration;"/>
+		<method name="minusHours(J)Ljava/time/Duration;"/>
+		<method name="minusMillis(J)Ljava/time/Duration;"/>
+		<method name="minusMinutes(J)Ljava/time/Duration;"/>
+		<method name="minusNanos(J)Ljava/time/Duration;"/>
+		<method name="minusSeconds(J)Ljava/time/Duration;"/>
+		<method name="multipliedBy(J)Ljava/time/Duration;"/>
+		<method name="negated()Ljava/time/Duration;"/>
+		<method name="of(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;"/>
+		<method name="ofDays(J)Ljava/time/Duration;"/>
+		<method name="ofHours(J)Ljava/time/Duration;"/>
+		<method name="ofMillis(J)Ljava/time/Duration;"/>
+		<method name="ofMinutes(J)Ljava/time/Duration;"/>
+		<method name="ofNanos(J)Ljava/time/Duration;"/>
+		<method name="ofSeconds(J)Ljava/time/Duration;"/>
+		<method name="ofSeconds(JJ)Ljava/time/Duration;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/Duration;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Duration;"/>
+		<method name="plus(Ljava/time/Duration;)Ljava/time/Duration;"/>
+		<method name="plusDays(J)Ljava/time/Duration;"/>
+		<method name="plusHours(J)Ljava/time/Duration;"/>
+		<method name="plusMillis(J)Ljava/time/Duration;"/>
+		<method name="plusMinutes(J)Ljava/time/Duration;"/>
+		<method name="plusNanos(J)Ljava/time/Duration;"/>
+		<method name="plusSeconds(J)Ljava/time/Duration;"/>
+		<method name="toDays()J"/>
+		<method name="toDaysPart()J" since="31"/>
+		<method name="toHours()J"/>
+		<method name="toHoursPart()I" since="31"/>
+		<method name="toMillis()J"/>
+		<method name="toMillisPart()I" since="31"/>
+		<method name="toMinutes()J"/>
+		<method name="toMinutesPart()I" since="31"/>
+		<method name="toNanos()J"/>
+		<method name="toNanosPart()I" since="31"/>
+		<method name="toSeconds()J" since="31"/>
+		<method name="toSecondsPart()I" since="31"/>
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/Duration;" since="31"/>
+		<method name="withNanos(I)Ljava/time/Duration;"/>
+		<method name="withSeconds(J)Ljava/time/Duration;"/>
+		<field name="ZERO"/>
+	</class>
+	<class name="java/time/Instant" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atOffset(Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;"/>
+		<method name="atZone(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="compareTo(Ljava/time/Instant;)I"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Instant;"/>
+		<method name="getEpochSecond()J"/>
+		<method name="getNano()I"/>
+		<method name="isAfter(Ljava/time/Instant;)Z"/>
+		<method name="isBefore(Ljava/time/Instant;)Z"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;"/>
+		<method name="minusMillis(J)Ljava/time/Instant;"/>
+		<method name="minusNanos(J)Ljava/time/Instant;"/>
+		<method name="minusSeconds(J)Ljava/time/Instant;"/>
+		<method name="now()Ljava/time/Instant;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/Instant;"/>
+		<method name="ofEpochMilli(J)Ljava/time/Instant;"/>
+		<method name="ofEpochSecond(J)Ljava/time/Instant;"/>
+		<method name="ofEpochSecond(JJ)Ljava/time/Instant;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/Instant;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;"/>
+		<method name="plusMillis(J)Ljava/time/Instant;"/>
+		<method name="plusNanos(J)Ljava/time/Instant;"/>
+		<method name="plusSeconds(J)Ljava/time/Instant;"/>
+		<method name="toEpochMilli()J"/>
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/Instant;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/Instant;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/Instant;"/>
+		<field name="EPOCH"/>
+		<field name="MAX"/>
+		<field name="MIN"/>
+	</class>
+	<class name="java/time/LocalDate" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/time/chrono/ChronoLocalDate"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atStartOfDay()Ljava/time/LocalDateTime;"/>
+		<method name="atStartOfDay(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="atTime(II)Ljava/time/LocalDateTime;"/>
+		<method name="atTime(III)Ljava/time/LocalDateTime;"/>
+		<method name="atTime(IIII)Ljava/time/LocalDateTime;"/>
+		<method name="atTime(Ljava/time/LocalTime;)Ljava/time/LocalDateTime;"/>
+		<method name="atTime(Ljava/time/OffsetTime;)Ljava/time/OffsetDateTime;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;"/>
+		<method name="getChronology()Ljava/time/chrono/IsoChronology;"/>
+		<method name="getDayOfMonth()I"/>
+		<method name="getDayOfWeek()Ljava/time/DayOfWeek;"/>
+		<method name="getDayOfYear()I"/>
+		<method name="getMonth()Ljava/time/Month;"/>
+		<method name="getMonthValue()I"/>
+		<method name="getYear()I"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDate;"/>
+		<method name="minusDays(J)Ljava/time/LocalDate;"/>
+		<method name="minusMonths(J)Ljava/time/LocalDate;"/>
+		<method name="minusWeeks(J)Ljava/time/LocalDate;"/>
+		<method name="minusYears(J)Ljava/time/LocalDate;"/>
+		<method name="now()Ljava/time/LocalDate;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/LocalDate;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/LocalDate;"/>
+		<method name="of(III)Ljava/time/LocalDate;"/>
+		<method name="of(ILjava/time/Month;I)Ljava/time/LocalDate;"/>
+		<method name="ofEpochDay(J)Ljava/time/LocalDate;"/>
+		<method name="ofYearDay(II)Ljava/time/LocalDate;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/LocalDate;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDate;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDate;"/>
+		<method name="plusDays(J)Ljava/time/LocalDate;"/>
+		<method name="plusMonths(J)Ljava/time/LocalDate;"/>
+		<method name="plusWeeks(J)Ljava/time/LocalDate;"/>
+		<method name="plusYears(J)Ljava/time/LocalDate;"/>
+		<method name="until(Ljava/time/chrono/ChronoLocalDate;)Ljava/time/Period;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalDate;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/LocalDate;"/>
+		<method name="withDayOfMonth(I)Ljava/time/LocalDate;"/>
+		<method name="withDayOfYear(I)Ljava/time/LocalDate;"/>
+		<method name="withMonth(I)Ljava/time/LocalDate;"/>
+		<method name="withYear(I)Ljava/time/LocalDate;"/>
+		<field name="MAX"/>
+		<field name="MIN"/>
+	</class>
+	<class name="java/time/LocalDateTime" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/time/chrono/ChronoLocalDateTime"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atOffset(Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;"/>
+		<method name="atZone(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDateTime;"/>
+		<method name="getDayOfMonth()I"/>
+		<method name="getDayOfWeek()Ljava/time/DayOfWeek;"/>
+		<method name="getDayOfYear()I"/>
+		<method name="getHour()I"/>
+		<method name="getMinute()I"/>
+		<method name="getMonth()Ljava/time/Month;"/>
+		<method name="getMonthValue()I"/>
+		<method name="getNano()I"/>
+		<method name="getSecond()I"/>
+		<method name="getYear()I"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDateTime;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDateTime;"/>
+		<method name="minusDays(J)Ljava/time/LocalDateTime;"/>
+		<method name="minusHours(J)Ljava/time/LocalDateTime;"/>
+		<method name="minusMinutes(J)Ljava/time/LocalDateTime;"/>
+		<method name="minusMonths(J)Ljava/time/LocalDateTime;"/>
+		<method name="minusNanos(J)Ljava/time/LocalDateTime;"/>
+		<method name="minusSeconds(J)Ljava/time/LocalDateTime;"/>
+		<method name="minusWeeks(J)Ljava/time/LocalDateTime;"/>
+		<method name="minusYears(J)Ljava/time/LocalDateTime;"/>
+		<method name="now()Ljava/time/LocalDateTime;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/LocalDateTime;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/LocalDateTime;"/>
+		<method name="of(IIIII)Ljava/time/LocalDateTime;"/>
+		<method name="of(IIIIII)Ljava/time/LocalDateTime;"/>
+		<method name="of(IIIIIII)Ljava/time/LocalDateTime;"/>
+		<method name="of(ILjava/time/Month;III)Ljava/time/LocalDateTime;"/>
+		<method name="of(ILjava/time/Month;IIII)Ljava/time/LocalDateTime;"/>
+		<method name="of(ILjava/time/Month;IIIII)Ljava/time/LocalDateTime;"/>
+		<method name="of(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;"/>
+		<method name="ofEpochSecond(JILjava/time/ZoneOffset;)Ljava/time/LocalDateTime;"/>
+		<method name="ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/LocalDateTime;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/LocalDateTime;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalDateTime;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDateTime;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDateTime;"/>
+		<method name="plusDays(J)Ljava/time/LocalDateTime;"/>
+		<method name="plusHours(J)Ljava/time/LocalDateTime;"/>
+		<method name="plusMinutes(J)Ljava/time/LocalDateTime;"/>
+		<method name="plusMonths(J)Ljava/time/LocalDateTime;"/>
+		<method name="plusNanos(J)Ljava/time/LocalDateTime;"/>
+		<method name="plusSeconds(J)Ljava/time/LocalDateTime;"/>
+		<method name="plusWeeks(J)Ljava/time/LocalDateTime;"/>
+		<method name="plusYears(J)Ljava/time/LocalDateTime;"/>
+		<method name="toLocalDate()Ljava/time/LocalDate;"/>
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/LocalDateTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalDateTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/LocalDateTime;"/>
+		<method name="withDayOfMonth(I)Ljava/time/LocalDateTime;"/>
+		<method name="withDayOfYear(I)Ljava/time/LocalDateTime;"/>
+		<method name="withHour(I)Ljava/time/LocalDateTime;"/>
+		<method name="withMinute(I)Ljava/time/LocalDateTime;"/>
+		<method name="withMonth(I)Ljava/time/LocalDateTime;"/>
+		<method name="withNano(I)Ljava/time/LocalDateTime;"/>
+		<method name="withSecond(I)Ljava/time/LocalDateTime;"/>
+		<method name="withYear(I)Ljava/time/LocalDateTime;"/>
+		<field name="MAX"/>
+		<field name="MIN"/>
+	</class>
+	<class name="java/time/LocalTime" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atDate(Ljava/time/LocalDate;)Ljava/time/LocalDateTime;"/>
+		<method name="atOffset(Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;"/>
+		<method name="compareTo(Ljava/time/LocalTime;)I"/>
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalTime;"/>
+		<method name="getHour()I"/>
+		<method name="getMinute()I"/>
+		<method name="getNano()I"/>
+		<method name="getSecond()I"/>
+		<method name="isAfter(Ljava/time/LocalTime;)Z"/>
+		<method name="isBefore(Ljava/time/LocalTime;)Z"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalTime;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalTime;"/>
+		<method name="minusHours(J)Ljava/time/LocalTime;"/>
+		<method name="minusMinutes(J)Ljava/time/LocalTime;"/>
+		<method name="minusNanos(J)Ljava/time/LocalTime;"/>
+		<method name="minusSeconds(J)Ljava/time/LocalTime;"/>
+		<method name="now()Ljava/time/LocalTime;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/LocalTime;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/LocalTime;"/>
+		<method name="of(II)Ljava/time/LocalTime;"/>
+		<method name="of(III)Ljava/time/LocalTime;"/>
+		<method name="of(IIII)Ljava/time/LocalTime;"/>
+		<method name="ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/LocalTime;" since="31"/>
+		<method name="ofNanoOfDay(J)Ljava/time/LocalTime;"/>
+		<method name="ofSecondOfDay(J)Ljava/time/LocalTime;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/LocalTime;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/LocalTime;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalTime;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalTime;"/>
+		<method name="plusHours(J)Ljava/time/LocalTime;"/>
+		<method name="plusMinutes(J)Ljava/time/LocalTime;"/>
+		<method name="plusNanos(J)Ljava/time/LocalTime;"/>
+		<method name="plusSeconds(J)Ljava/time/LocalTime;"/>
+		<method name="toEpochSecond(Ljava/time/LocalDate;Ljava/time/ZoneOffset;)J" since="31"/>
+		<method name="toNanoOfDay()J"/>
+		<method name="toSecondOfDay()I"/>
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/LocalTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/LocalTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/LocalTime;"/>
+		<method name="withHour(I)Ljava/time/LocalTime;"/>
+		<method name="withMinute(I)Ljava/time/LocalTime;"/>
+		<method name="withNano(I)Ljava/time/LocalTime;"/>
+		<method name="withSecond(I)Ljava/time/LocalTime;"/>
+		<field name="MAX"/>
+		<field name="MIDNIGHT"/>
+		<field name="MIN"/>
+		<field name="NOON"/>
+	</class>
+	<class name="java/time/Month" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/time/temporal/TemporalAccessor"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="firstDayOfYear(Z)I"/>
+		<method name="firstMonthOfQuarter()Ljava/time/Month;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Month;"/>
+		<method name="getDisplayName(Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getValue()I"/>
+		<method name="length(Z)I"/>
+		<method name="maxLength()I"/>
+		<method name="minLength()I"/>
+		<method name="minus(J)Ljava/time/Month;"/>
+		<method name="of(I)Ljava/time/Month;"/>
+		<method name="plus(J)Ljava/time/Month;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/Month;"/>
+		<method name="values()[Ljava/time/Month;"/>
+		<field name="APRIL"/>
+		<field name="AUGUST"/>
+		<field name="DECEMBER"/>
+		<field name="FEBRUARY"/>
+		<field name="JANUARY"/>
+		<field name="JULY"/>
+		<field name="JUNE"/>
+		<field name="MARCH"/>
+		<field name="MAY"/>
+		<field name="NOVEMBER"/>
+		<field name="OCTOBER"/>
+		<field name="SEPTEMBER"/>
+	</class>
+	<class name="java/time/MonthDay" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/TemporalAccessor"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atYear(I)Ljava/time/LocalDate;"/>
+		<method name="compareTo(Ljava/time/MonthDay;)I"/>
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/MonthDay;"/>
+		<method name="getDayOfMonth()I"/>
+		<method name="getMonth()Ljava/time/Month;"/>
+		<method name="getMonthValue()I"/>
+		<method name="isAfter(Ljava/time/MonthDay;)Z"/>
+		<method name="isBefore(Ljava/time/MonthDay;)Z"/>
+		<method name="isValidYear(I)Z"/>
+		<method name="now()Ljava/time/MonthDay;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/MonthDay;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/MonthDay;"/>
+		<method name="of(II)Ljava/time/MonthDay;"/>
+		<method name="of(Ljava/time/Month;I)Ljava/time/MonthDay;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/MonthDay;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/MonthDay;"/>
+		<method name="with(Ljava/time/Month;)Ljava/time/MonthDay;"/>
+		<method name="withDayOfMonth(I)Ljava/time/MonthDay;"/>
+		<method name="withMonth(I)Ljava/time/MonthDay;"/>
+	</class>
+	<class name="java/time/OffsetDateTime" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atZoneSameInstant(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="atZoneSimilarLocal(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="compareTo(Ljava/time/OffsetDateTime;)I"/>
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/OffsetDateTime;"/>
+		<method name="getDayOfMonth()I"/>
+		<method name="getDayOfWeek()Ljava/time/DayOfWeek;"/>
+		<method name="getDayOfYear()I"/>
+		<method name="getHour()I"/>
+		<method name="getMinute()I"/>
+		<method name="getMonth()Ljava/time/Month;"/>
+		<method name="getMonthValue()I"/>
+		<method name="getNano()I"/>
+		<method name="getOffset()Ljava/time/ZoneOffset;"/>
+		<method name="getSecond()I"/>
+		<method name="getYear()I"/>
+		<method name="isAfter(Ljava/time/OffsetDateTime;)Z"/>
+		<method name="isBefore(Ljava/time/OffsetDateTime;)Z"/>
+		<method name="isEqual(Ljava/time/OffsetDateTime;)Z"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/OffsetDateTime;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/OffsetDateTime;"/>
+		<method name="minusDays(J)Ljava/time/OffsetDateTime;"/>
+		<method name="minusHours(J)Ljava/time/OffsetDateTime;"/>
+		<method name="minusMinutes(J)Ljava/time/OffsetDateTime;"/>
+		<method name="minusMonths(J)Ljava/time/OffsetDateTime;"/>
+		<method name="minusNanos(J)Ljava/time/OffsetDateTime;"/>
+		<method name="minusSeconds(J)Ljava/time/OffsetDateTime;"/>
+		<method name="minusWeeks(J)Ljava/time/OffsetDateTime;"/>
+		<method name="minusYears(J)Ljava/time/OffsetDateTime;"/>
+		<method name="now()Ljava/time/OffsetDateTime;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/OffsetDateTime;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/OffsetDateTime;"/>
+		<method name="of(IIIIIIILjava/time/ZoneOffset;)Ljava/time/OffsetDateTime;"/>
+		<method name="of(Ljava/time/LocalDate;Ljava/time/LocalTime;Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;"/>
+		<method name="of(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;"/>
+		<method name="ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/OffsetDateTime;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/OffsetDateTime;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetDateTime;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/OffsetDateTime;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/OffsetDateTime;"/>
+		<method name="plusDays(J)Ljava/time/OffsetDateTime;"/>
+		<method name="plusHours(J)Ljava/time/OffsetDateTime;"/>
+		<method name="plusMinutes(J)Ljava/time/OffsetDateTime;"/>
+		<method name="plusMonths(J)Ljava/time/OffsetDateTime;"/>
+		<method name="plusNanos(J)Ljava/time/OffsetDateTime;"/>
+		<method name="plusSeconds(J)Ljava/time/OffsetDateTime;"/>
+		<method name="plusWeeks(J)Ljava/time/OffsetDateTime;"/>
+		<method name="plusYears(J)Ljava/time/OffsetDateTime;"/>
+		<method name="timeLineOrder()Ljava/util/Comparator;"/>
+		<method name="toEpochSecond()J"/>
+		<method name="toInstant()Ljava/time/Instant;"/>
+		<method name="toLocalDate()Ljava/time/LocalDate;"/>
+		<method name="toLocalDateTime()Ljava/time/LocalDateTime;"/>
+		<method name="toLocalTime()Ljava/time/LocalTime;"/>
+		<method name="toOffsetTime()Ljava/time/OffsetTime;"/>
+		<method name="toZonedDateTime()Ljava/time/ZonedDateTime;"/>
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/OffsetDateTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/OffsetDateTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/OffsetDateTime;"/>
+		<method name="withDayOfMonth(I)Ljava/time/OffsetDateTime;"/>
+		<method name="withDayOfYear(I)Ljava/time/OffsetDateTime;"/>
+		<method name="withHour(I)Ljava/time/OffsetDateTime;"/>
+		<method name="withMinute(I)Ljava/time/OffsetDateTime;"/>
+		<method name="withMonth(I)Ljava/time/OffsetDateTime;"/>
+		<method name="withNano(I)Ljava/time/OffsetDateTime;"/>
+		<method name="withOffsetSameInstant(Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;"/>
+		<method name="withOffsetSameLocal(Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;"/>
+		<method name="withSecond(I)Ljava/time/OffsetDateTime;"/>
+		<method name="withYear(I)Ljava/time/OffsetDateTime;"/>
+		<field name="MAX"/>
+		<field name="MIN"/>
+	</class>
+	<class name="java/time/OffsetTime" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atDate(Ljava/time/LocalDate;)Ljava/time/OffsetDateTime;"/>
+		<method name="compareTo(Ljava/time/OffsetTime;)I"/>
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/OffsetTime;"/>
+		<method name="getHour()I"/>
+		<method name="getMinute()I"/>
+		<method name="getNano()I"/>
+		<method name="getOffset()Ljava/time/ZoneOffset;"/>
+		<method name="getSecond()I"/>
+		<method name="isAfter(Ljava/time/OffsetTime;)Z"/>
+		<method name="isBefore(Ljava/time/OffsetTime;)Z"/>
+		<method name="isEqual(Ljava/time/OffsetTime;)Z"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/OffsetTime;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/OffsetTime;"/>
+		<method name="minusHours(J)Ljava/time/OffsetTime;"/>
+		<method name="minusMinutes(J)Ljava/time/OffsetTime;"/>
+		<method name="minusNanos(J)Ljava/time/OffsetTime;"/>
+		<method name="minusSeconds(J)Ljava/time/OffsetTime;"/>
+		<method name="now()Ljava/time/OffsetTime;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/OffsetTime;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/OffsetTime;"/>
+		<method name="of(IIIILjava/time/ZoneOffset;)Ljava/time/OffsetTime;"/>
+		<method name="of(Ljava/time/LocalTime;Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;"/>
+		<method name="ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/OffsetTime;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/OffsetTime;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/OffsetTime;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/OffsetTime;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/OffsetTime;"/>
+		<method name="plusHours(J)Ljava/time/OffsetTime;"/>
+		<method name="plusMinutes(J)Ljava/time/OffsetTime;"/>
+		<method name="plusNanos(J)Ljava/time/OffsetTime;"/>
+		<method name="plusSeconds(J)Ljava/time/OffsetTime;"/>
+		<method name="toLocalTime()Ljava/time/LocalTime;"/>
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/OffsetTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/OffsetTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/OffsetTime;"/>
+		<method name="withHour(I)Ljava/time/OffsetTime;"/>
+		<method name="withMinute(I)Ljava/time/OffsetTime;"/>
+		<method name="withNano(I)Ljava/time/OffsetTime;"/>
+		<method name="withOffsetSameInstant(Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;"/>
+		<method name="withOffsetSameLocal(Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;"/>
+		<method name="withSecond(I)Ljava/time/OffsetTime;"/>
+		<field name="MAX"/>
+		<field name="MIN"/>
+	</class>
+	<class name="java/time/Period" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/time/chrono/ChronoPeriod"/>
+		<method name="between(Ljava/time/LocalDate;Ljava/time/LocalDate;)Ljava/time/Period;"/>
+		<method name="from(Ljava/time/temporal/TemporalAmount;)Ljava/time/Period;"/>
+		<method name="getChronology()Ljava/time/chrono/IsoChronology;"/>
+		<method name="getDays()I"/>
+		<method name="getMonths()I"/>
+		<method name="getYears()I"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Period;"/>
+		<method name="minusDays(J)Ljava/time/Period;"/>
+		<method name="minusMonths(J)Ljava/time/Period;"/>
+		<method name="minusYears(J)Ljava/time/Period;"/>
+		<method name="multipliedBy(I)Ljava/time/Period;"/>
+		<method name="negated()Ljava/time/Period;"/>
+		<method name="normalized()Ljava/time/Period;"/>
+		<method name="of(III)Ljava/time/Period;"/>
+		<method name="ofDays(I)Ljava/time/Period;"/>
+		<method name="ofMonths(I)Ljava/time/Period;"/>
+		<method name="ofWeeks(I)Ljava/time/Period;"/>
+		<method name="ofYears(I)Ljava/time/Period;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/Period;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Period;"/>
+		<method name="plusDays(J)Ljava/time/Period;"/>
+		<method name="plusMonths(J)Ljava/time/Period;"/>
+		<method name="plusYears(J)Ljava/time/Period;"/>
+		<method name="toTotalMonths()J"/>
+		<method name="withDays(I)Ljava/time/Period;"/>
+		<method name="withMonths(I)Ljava/time/Period;"/>
+		<method name="withYears(I)Ljava/time/Period;"/>
+		<field name="ZERO"/>
+	</class>
+	<class name="java/time/Year" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atDay(I)Ljava/time/LocalDate;"/>
+		<method name="atMonth(I)Ljava/time/YearMonth;"/>
+		<method name="atMonth(Ljava/time/Month;)Ljava/time/YearMonth;"/>
+		<method name="atMonthDay(Ljava/time/MonthDay;)Ljava/time/LocalDate;"/>
+		<method name="compareTo(Ljava/time/Year;)I"/>
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Year;"/>
+		<method name="getValue()I"/>
+		<method name="isAfter(Ljava/time/Year;)Z"/>
+		<method name="isBefore(Ljava/time/Year;)Z"/>
+		<method name="isLeap()Z"/>
+		<method name="isLeap(J)Z"/>
+		<method name="isValidMonthDay(Ljava/time/MonthDay;)Z"/>
+		<method name="length()I"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Year;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Year;"/>
+		<method name="minusYears(J)Ljava/time/Year;"/>
+		<method name="now()Ljava/time/Year;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/Year;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/Year;"/>
+		<method name="of(I)Ljava/time/Year;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/Year;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/Year;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Year;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Year;"/>
+		<method name="plusYears(J)Ljava/time/Year;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/Year;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/Year;"/>
+		<field name="MAX_VALUE"/>
+		<field name="MIN_VALUE"/>
+	</class>
+	<class name="java/time/YearMonth" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atDay(I)Ljava/time/LocalDate;"/>
+		<method name="atEndOfMonth()Ljava/time/LocalDate;"/>
+		<method name="compareTo(Ljava/time/YearMonth;)I"/>
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/YearMonth;"/>
+		<method name="getMonth()Ljava/time/Month;"/>
+		<method name="getMonthValue()I"/>
+		<method name="getYear()I"/>
+		<method name="isAfter(Ljava/time/YearMonth;)Z"/>
+		<method name="isBefore(Ljava/time/YearMonth;)Z"/>
+		<method name="isLeapYear()Z"/>
+		<method name="isValidDay(I)Z"/>
+		<method name="lengthOfMonth()I"/>
+		<method name="lengthOfYear()I"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/YearMonth;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/YearMonth;"/>
+		<method name="minusMonths(J)Ljava/time/YearMonth;"/>
+		<method name="minusYears(J)Ljava/time/YearMonth;"/>
+		<method name="now()Ljava/time/YearMonth;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/YearMonth;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/YearMonth;"/>
+		<method name="of(II)Ljava/time/YearMonth;"/>
+		<method name="of(ILjava/time/Month;)Ljava/time/YearMonth;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/YearMonth;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/YearMonth;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/YearMonth;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/YearMonth;"/>
+		<method name="plusMonths(J)Ljava/time/YearMonth;"/>
+		<method name="plusYears(J)Ljava/time/YearMonth;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/YearMonth;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/YearMonth;"/>
+		<method name="withMonth(I)Ljava/time/YearMonth;"/>
+		<method name="withYear(I)Ljava/time/YearMonth;"/>
+	</class>
+	<class name="java/time/ZoneId" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZoneId;"/>
+		<method name="getAvailableZoneIds()Ljava/util/Set;"/>
+		<method name="getDisplayName(Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="getRules()Ljava/time/zone/ZoneRules;"/>
+		<method name="normalized()Ljava/time/ZoneId;"/>
+		<method name="of(Ljava/lang/String;)Ljava/time/ZoneId;"/>
+		<method name="of(Ljava/lang/String;Ljava/util/Map;)Ljava/time/ZoneId;"/>
+		<method name="ofOffset(Ljava/lang/String;Ljava/time/ZoneOffset;)Ljava/time/ZoneId;"/>
+		<method name="systemDefault()Ljava/time/ZoneId;"/>
+		<field name="SHORT_IDS"/>
+	</class>
+	<class name="java/time/ZoneOffset" since="26">
+		<extends name="java/time/ZoneId"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/TemporalAccessor"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="compareTo(Ljava/time/ZoneOffset;)I"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZoneOffset;"/>
+		<method name="getTotalSeconds()I"/>
+		<method name="of(Ljava/lang/String;)Ljava/time/ZoneOffset;"/>
+		<method name="ofHours(I)Ljava/time/ZoneOffset;"/>
+		<method name="ofHoursMinutes(II)Ljava/time/ZoneOffset;"/>
+		<method name="ofHoursMinutesSeconds(III)Ljava/time/ZoneOffset;"/>
+		<method name="ofTotalSeconds(I)Ljava/time/ZoneOffset;"/>
+		<field name="MAX"/>
+		<field name="MIN"/>
+		<field name="UTC"/>
+	</class>
+	<class name="java/time/ZonedDateTime" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/time/chrono/ChronoZonedDateTime"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZonedDateTime;"/>
+		<method name="getDayOfMonth()I"/>
+		<method name="getDayOfWeek()Ljava/time/DayOfWeek;"/>
+		<method name="getDayOfYear()I"/>
+		<method name="getHour()I"/>
+		<method name="getMinute()I"/>
+		<method name="getMonth()Ljava/time/Month;"/>
+		<method name="getMonthValue()I"/>
+		<method name="getNano()I"/>
+		<method name="getSecond()I"/>
+		<method name="getYear()I"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/ZonedDateTime;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/ZonedDateTime;"/>
+		<method name="minusDays(J)Ljava/time/ZonedDateTime;"/>
+		<method name="minusHours(J)Ljava/time/ZonedDateTime;"/>
+		<method name="minusMinutes(J)Ljava/time/ZonedDateTime;"/>
+		<method name="minusMonths(J)Ljava/time/ZonedDateTime;"/>
+		<method name="minusNanos(J)Ljava/time/ZonedDateTime;"/>
+		<method name="minusSeconds(J)Ljava/time/ZonedDateTime;"/>
+		<method name="minusWeeks(J)Ljava/time/ZonedDateTime;"/>
+		<method name="minusYears(J)Ljava/time/ZonedDateTime;"/>
+		<method name="now()Ljava/time/ZonedDateTime;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/ZonedDateTime;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="of(IIIIIIILjava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="of(Ljava/time/LocalDate;Ljava/time/LocalTime;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="of(Ljava/time/LocalDateTime;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="ofInstant(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="ofLocal(Ljava/time/LocalDateTime;Ljava/time/ZoneId;Ljava/time/ZoneOffset;)Ljava/time/ZonedDateTime;"/>
+		<method name="ofStrict(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/ZonedDateTime;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/ZonedDateTime;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/ZonedDateTime;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/ZonedDateTime;"/>
+		<method name="plusDays(J)Ljava/time/ZonedDateTime;"/>
+		<method name="plusHours(J)Ljava/time/ZonedDateTime;"/>
+		<method name="plusMinutes(J)Ljava/time/ZonedDateTime;"/>
+		<method name="plusMonths(J)Ljava/time/ZonedDateTime;"/>
+		<method name="plusNanos(J)Ljava/time/ZonedDateTime;"/>
+		<method name="plusSeconds(J)Ljava/time/ZonedDateTime;"/>
+		<method name="plusWeeks(J)Ljava/time/ZonedDateTime;"/>
+		<method name="plusYears(J)Ljava/time/ZonedDateTime;"/>
+		<method name="toLocalDate()Ljava/time/LocalDate;"/>
+		<method name="toLocalDateTime()Ljava/time/LocalDateTime;"/>
+		<method name="toOffsetDateTime()Ljava/time/OffsetDateTime;"/>
+		<method name="truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/ZonedDateTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/ZonedDateTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/ZonedDateTime;"/>
+		<method name="withDayOfMonth(I)Ljava/time/ZonedDateTime;"/>
+		<method name="withDayOfYear(I)Ljava/time/ZonedDateTime;"/>
+		<method name="withEarlierOffsetAtOverlap()Ljava/time/ZonedDateTime;"/>
+		<method name="withFixedOffsetZone()Ljava/time/ZonedDateTime;"/>
+		<method name="withHour(I)Ljava/time/ZonedDateTime;"/>
+		<method name="withLaterOffsetAtOverlap()Ljava/time/ZonedDateTime;"/>
+		<method name="withMinute(I)Ljava/time/ZonedDateTime;"/>
+		<method name="withMonth(I)Ljava/time/ZonedDateTime;"/>
+		<method name="withNano(I)Ljava/time/ZonedDateTime;"/>
+		<method name="withSecond(I)Ljava/time/ZonedDateTime;"/>
+		<method name="withYear(I)Ljava/time/ZonedDateTime;"/>
+		<method name="withZoneSameInstant(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="withZoneSameLocal(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+	</class>
+	<class name="java/time/chrono/AbstractChronology" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/time/chrono/Chronology"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/time/chrono/ChronoLocalDate" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atTime(Ljava/time/LocalTime;)Ljava/time/chrono/ChronoLocalDateTime;"/>
+		<method name="compareTo(Ljava/time/chrono/ChronoLocalDate;)I"/>
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="getChronology()Ljava/time/chrono/Chronology;"/>
+		<method name="getEra()Ljava/time/chrono/Era;"/>
+		<method name="isAfter(Ljava/time/chrono/ChronoLocalDate;)Z"/>
+		<method name="isBefore(Ljava/time/chrono/ChronoLocalDate;)Z"/>
+		<method name="isEqual(Ljava/time/chrono/ChronoLocalDate;)Z"/>
+		<method name="isLeapYear()Z"/>
+		<method name="lengthOfMonth()I"/>
+		<method name="lengthOfYear()I"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="timeLineOrder()Ljava/util/Comparator;"/>
+		<method name="toEpochDay()J"/>
+		<method name="until(Ljava/time/chrono/ChronoLocalDate;)Ljava/time/chrono/ChronoPeriod;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/ChronoLocalDate;"/>
+	</class>
+	<class name="java/time/chrono/ChronoLocalDateTime" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="atZone(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="compareTo(Ljava/time/chrono/ChronoLocalDateTime;)I"/>
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoLocalDateTime;"/>
+		<method name="getChronology()Ljava/time/chrono/Chronology;"/>
+		<method name="isAfter(Ljava/time/chrono/ChronoLocalDateTime;)Z"/>
+		<method name="isBefore(Ljava/time/chrono/ChronoLocalDateTime;)Z"/>
+		<method name="isEqual(Ljava/time/chrono/ChronoLocalDateTime;)Z"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoLocalDateTime;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoLocalDateTime;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoLocalDateTime;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoLocalDateTime;"/>
+		<method name="timeLineOrder()Ljava/util/Comparator;"/>
+		<method name="toEpochSecond(Ljava/time/ZoneOffset;)J"/>
+		<method name="toInstant(Ljava/time/ZoneOffset;)Ljava/time/Instant;"/>
+		<method name="toLocalDate()Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="toLocalTime()Ljava/time/LocalTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/ChronoLocalDateTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/ChronoLocalDateTime;"/>
+	</class>
+	<class name="java/time/chrono/ChronoPeriod" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/time/temporal/TemporalAmount"/>
+		<method name="between(Ljava/time/chrono/ChronoLocalDate;Ljava/time/chrono/ChronoLocalDate;)Ljava/time/chrono/ChronoPeriod;"/>
+		<method name="getChronology()Ljava/time/chrono/Chronology;"/>
+		<method name="isNegative()Z"/>
+		<method name="isZero()Z"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoPeriod;"/>
+		<method name="multipliedBy(I)Ljava/time/chrono/ChronoPeriod;"/>
+		<method name="negated()Ljava/time/chrono/ChronoPeriod;"/>
+		<method name="normalized()Ljava/time/chrono/ChronoPeriod;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoPeriod;"/>
+	</class>
+	<class name="java/time/chrono/ChronoZonedDateTime" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<implements name="java/time/temporal/Temporal"/>
+		<method name="compareTo(Ljava/time/chrono/ChronoZonedDateTime;)I"/>
+		<method name="format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="getChronology()Ljava/time/chrono/Chronology;"/>
+		<method name="getOffset()Ljava/time/ZoneOffset;"/>
+		<method name="getZone()Ljava/time/ZoneId;"/>
+		<method name="isAfter(Ljava/time/chrono/ChronoZonedDateTime;)Z"/>
+		<method name="isBefore(Ljava/time/chrono/ChronoZonedDateTime;)Z"/>
+		<method name="isEqual(Ljava/time/chrono/ChronoZonedDateTime;)Z"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="timeLineOrder()Ljava/util/Comparator;"/>
+		<method name="toEpochSecond()J"/>
+		<method name="toInstant()Ljava/time/Instant;"/>
+		<method name="toLocalDate()Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="toLocalDateTime()Ljava/time/chrono/ChronoLocalDateTime;"/>
+		<method name="toLocalTime()Ljava/time/LocalTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="withEarlierOffsetAtOverlap()Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="withLaterOffsetAtOverlap()Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="withZoneSameInstant(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="withZoneSameLocal(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+	</class>
+	<class name="java/time/chrono/Chronology" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="compareTo(Ljava/time/chrono/Chronology;)I"/>
+		<method name="date(III)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="dateEpochDay(J)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="dateNow()Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="dateYearDay(II)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="eraOf(I)Ljava/time/chrono/Era;"/>
+		<method name="eras()Ljava/util/List;"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/Chronology;"/>
+		<method name="getAvailableChronologies()Ljava/util/Set;"/>
+		<method name="getCalendarType()Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getId()Ljava/lang/String;"/>
+		<method name="isLeapYear(J)Z"/>
+		<method name="localDateTime(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoLocalDateTime;"/>
+		<method name="of(Ljava/lang/String;)Ljava/time/chrono/Chronology;"/>
+		<method name="ofLocale(Ljava/util/Locale;)Ljava/time/chrono/Chronology;"/>
+		<method name="period(III)Ljava/time/chrono/ChronoPeriod;"/>
+		<method name="prolepticYear(Ljava/time/chrono/Era;I)I"/>
+		<method name="range(Ljava/time/temporal/ChronoField;)Ljava/time/temporal/ValueRange;"/>
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;"/>
+		<method name="zonedDateTime(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+		<method name="zonedDateTime(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoZonedDateTime;"/>
+	</class>
+	<class name="java/time/chrono/Era" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/time/temporal/TemporalAccessor"/>
+		<implements name="java/time/temporal/TemporalAdjuster"/>
+		<method name="getDisplayName(Ljava/time/format/TextStyle;Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getValue()I"/>
+	</class>
+	<class name="java/time/chrono/HijrahChronology" since="26">
+		<extends name="java/time/chrono/AbstractChronology"/>
+		<implements name="java/io/Serializable"/>
+		<method name="date(III)Ljava/time/chrono/HijrahDate;"/>
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/chrono/HijrahDate;"/>
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="dateEpochDay(J)Ljava/time/chrono/HijrahDate;"/>
+		<method name="dateNow()Ljava/time/chrono/HijrahDate;"/>
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="dateYearDay(II)Ljava/time/chrono/HijrahDate;"/>
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/chrono/HijrahDate;"/>
+		<method name="eraOf(I)Ljava/time/chrono/HijrahEra;"/>
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/HijrahDate;"/>
+		<field name="INSTANCE"/>
+	</class>
+	<class name="java/time/chrono/HijrahDate" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="getChronology()Ljava/time/chrono/HijrahChronology;"/>
+		<method name="getEra()Ljava/time/chrono/HijrahEra;"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="now()Ljava/time/chrono/HijrahDate;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="of(III)Ljava/time/chrono/HijrahDate;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/HijrahDate;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/HijrahDate;"/>
+		<method name="withVariant(Ljava/time/chrono/HijrahChronology;)Ljava/time/chrono/HijrahDate;"/>
+	</class>
+	<class name="java/time/chrono/HijrahEra" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/time/chrono/Era"/>
+		<method name="of(I)Ljava/time/chrono/HijrahEra;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/chrono/HijrahEra;"/>
+		<method name="values()[Ljava/time/chrono/HijrahEra;"/>
+		<field name="AH"/>
+	</class>
+	<class name="java/time/chrono/IsoChronology" since="26">
+		<extends name="java/time/chrono/AbstractChronology"/>
+		<implements name="java/io/Serializable"/>
+		<method name="date(III)Ljava/time/LocalDate;"/>
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/LocalDate;"/>
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDate;"/>
+		<method name="dateEpochDay(J)Ljava/time/LocalDate;"/>
+		<method name="dateNow()Ljava/time/LocalDate;"/>
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/LocalDate;"/>
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/LocalDate;"/>
+		<method name="dateYearDay(II)Ljava/time/LocalDate;"/>
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/LocalDate;"/>
+		<method name="eraOf(I)Ljava/time/chrono/IsoEra;"/>
+		<method name="localDateTime(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalDateTime;"/>
+		<method name="period(III)Ljava/time/Period;"/>
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/LocalDate;"/>
+		<method name="zonedDateTime(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;"/>
+		<method name="zonedDateTime(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZonedDateTime;"/>
+		<field name="INSTANCE"/>
+	</class>
+	<class name="java/time/chrono/IsoEra" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/time/chrono/Era"/>
+		<method name="of(I)Ljava/time/chrono/IsoEra;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/chrono/IsoEra;"/>
+		<method name="values()[Ljava/time/chrono/IsoEra;"/>
+		<field name="BCE"/>
+		<field name="CE"/>
+	</class>
+	<class name="java/time/chrono/JapaneseChronology" since="26">
+		<extends name="java/time/chrono/AbstractChronology"/>
+		<implements name="java/io/Serializable"/>
+		<method name="date(III)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="dateEpochDay(J)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="dateNow()Ljava/time/chrono/JapaneseDate;"/>
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="dateYearDay(II)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="eraOf(I)Ljava/time/chrono/JapaneseEra;"/>
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/JapaneseDate;"/>
+		<field name="INSTANCE"/>
+	</class>
+	<class name="java/time/chrono/JapaneseDate" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="getChronology()Ljava/time/chrono/JapaneseChronology;"/>
+		<method name="getEra()Ljava/time/chrono/JapaneseEra;"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="now()Ljava/time/chrono/JapaneseDate;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="of(III)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="of(Ljava/time/chrono/JapaneseEra;III)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/JapaneseDate;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/JapaneseDate;"/>
+	</class>
+	<class name="java/time/chrono/JapaneseEra" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/time/chrono/Era"/>
+		<method name="of(I)Ljava/time/chrono/JapaneseEra;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/chrono/JapaneseEra;"/>
+		<method name="values()[Ljava/time/chrono/JapaneseEra;"/>
+		<field name="HEISEI"/>
+		<field name="MEIJI"/>
+		<field name="REIWA" since="30"/>
+		<field name="SHOWA"/>
+		<field name="TAISHO"/>
+	</class>
+	<class name="java/time/chrono/MinguoChronology" since="26">
+		<extends name="java/time/chrono/AbstractChronology"/>
+		<implements name="java/io/Serializable"/>
+		<method name="date(III)Ljava/time/chrono/MinguoDate;"/>
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/chrono/MinguoDate;"/>
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="dateEpochDay(J)Ljava/time/chrono/MinguoDate;"/>
+		<method name="dateNow()Ljava/time/chrono/MinguoDate;"/>
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="dateYearDay(II)Ljava/time/chrono/MinguoDate;"/>
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/chrono/MinguoDate;"/>
+		<method name="eraOf(I)Ljava/time/chrono/MinguoEra;"/>
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/MinguoDate;"/>
+		<field name="INSTANCE"/>
+	</class>
+	<class name="java/time/chrono/MinguoDate" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="getChronology()Ljava/time/chrono/MinguoChronology;"/>
+		<method name="getEra()Ljava/time/chrono/MinguoEra;"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="now()Ljava/time/chrono/MinguoDate;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="of(III)Ljava/time/chrono/MinguoDate;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/MinguoDate;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/MinguoDate;"/>
+	</class>
+	<class name="java/time/chrono/MinguoEra" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/time/chrono/Era"/>
+		<method name="of(I)Ljava/time/chrono/MinguoEra;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/chrono/MinguoEra;"/>
+		<method name="values()[Ljava/time/chrono/MinguoEra;"/>
+		<field name="BEFORE_ROC"/>
+		<field name="ROC"/>
+	</class>
+	<class name="java/time/chrono/ThaiBuddhistChronology" since="26">
+		<extends name="java/time/chrono/AbstractChronology"/>
+		<implements name="java/io/Serializable"/>
+		<method name="date(III)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="date(Ljava/time/chrono/Era;III)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="dateEpochDay(J)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="dateNow()Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="dateNow(Ljava/time/Clock;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="dateNow(Ljava/time/ZoneId;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="dateYearDay(II)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="dateYearDay(Ljava/time/chrono/Era;II)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="eraOf(I)Ljava/time/chrono/ThaiBuddhistEra;"/>
+		<method name="resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<field name="INSTANCE"/>
+	</class>
+	<class name="java/time/chrono/ThaiBuddhistDate" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="getChronology()Ljava/time/chrono/ThaiBuddhistChronology;"/>
+		<method name="getEra()Ljava/time/chrono/ThaiBuddhistEra;"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="now()Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="now(Ljava/time/Clock;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="now(Ljava/time/ZoneId;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="of(III)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/chrono/ThaiBuddhistDate;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/ThaiBuddhistDate;"/>
+	</class>
+	<class name="java/time/chrono/ThaiBuddhistEra" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/time/chrono/Era"/>
+		<method name="of(I)Ljava/time/chrono/ThaiBuddhistEra;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/chrono/ThaiBuddhistEra;"/>
+		<method name="values()[Ljava/time/chrono/ThaiBuddhistEra;"/>
+		<field name="BE"/>
+		<field name="BEFORE_BE"/>
+	</class>
+	<class name="java/time/format/DateTimeFormatter" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="format(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;"/>
+		<method name="formatTo(Ljava/time/temporal/TemporalAccessor;Ljava/lang/Appendable;)V"/>
+		<method name="getChronology()Ljava/time/chrono/Chronology;"/>
+		<method name="getDecimalStyle()Ljava/time/format/DecimalStyle;"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getResolverFields()Ljava/util/Set;"/>
+		<method name="getResolverStyle()Ljava/time/format/ResolverStyle;"/>
+		<method name="getZone()Ljava/time/ZoneId;"/>
+		<method name="ofLocalizedDate(Ljava/time/format/FormatStyle;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="ofLocalizedDateTime(Ljava/time/format/FormatStyle;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="ofLocalizedDateTime(Ljava/time/format/FormatStyle;Ljava/time/format/FormatStyle;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="ofLocalizedTime(Ljava/time/format/FormatStyle;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="ofPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="ofPattern(Ljava/lang/String;Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="parse(Ljava/lang/CharSequence;)Ljava/time/temporal/TemporalAccessor;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/time/temporal/TemporalAccessor;"/>
+		<method name="parse(Ljava/lang/CharSequence;Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;"/>
+		<method name="parseBest(Ljava/lang/CharSequence;[Ljava/time/temporal/TemporalQuery;)Ljava/time/temporal/TemporalAccessor;"/>
+		<method name="parseUnresolved(Ljava/lang/CharSequence;Ljava/text/ParsePosition;)Ljava/time/temporal/TemporalAccessor;"/>
+		<method name="parsedExcessDays()Ljava/time/temporal/TemporalQuery;"/>
+		<method name="parsedLeapSecond()Ljava/time/temporal/TemporalQuery;"/>
+		<method name="toFormat()Ljava/text/Format;"/>
+		<method name="toFormat(Ljava/time/temporal/TemporalQuery;)Ljava/text/Format;"/>
+		<method name="withChronology(Ljava/time/chrono/Chronology;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="withDecimalStyle(Ljava/time/format/DecimalStyle;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="withLocale(Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="withResolverFields(Ljava/util/Set;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="withResolverFields([Ljava/time/temporal/TemporalField;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="withResolverStyle(Ljava/time/format/ResolverStyle;)Ljava/time/format/DateTimeFormatter;"/>
+		<method name="withZone(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;"/>
+		<field name="BASIC_ISO_DATE"/>
+		<field name="ISO_DATE"/>
+		<field name="ISO_DATE_TIME"/>
+		<field name="ISO_INSTANT"/>
+		<field name="ISO_LOCAL_DATE"/>
+		<field name="ISO_LOCAL_DATE_TIME"/>
+		<field name="ISO_LOCAL_TIME"/>
+		<field name="ISO_OFFSET_DATE"/>
+		<field name="ISO_OFFSET_DATE_TIME"/>
+		<field name="ISO_OFFSET_TIME"/>
+		<field name="ISO_ORDINAL_DATE"/>
+		<field name="ISO_TIME"/>
+		<field name="ISO_WEEK_DATE"/>
+		<field name="ISO_ZONED_DATE_TIME"/>
+		<field name="RFC_1123_DATE_TIME"/>
+	</class>
+	<class name="java/time/format/DateTimeFormatterBuilder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="append(Ljava/time/format/DateTimeFormatter;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendChronologyId()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendChronologyText(Ljava/time/format/TextStyle;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendFraction(Ljava/time/temporal/TemporalField;IIZ)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendInstant()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendInstant(I)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendLiteral(C)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendLiteral(Ljava/lang/String;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendLocalized(Ljava/time/format/FormatStyle;Ljava/time/format/FormatStyle;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendLocalizedOffset(Ljava/time/format/TextStyle;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendOffset(Ljava/lang/String;Ljava/lang/String;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendOffsetId()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendOptional(Ljava/time/format/DateTimeFormatter;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendPattern(Ljava/lang/String;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendText(Ljava/time/temporal/TemporalField;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendText(Ljava/time/temporal/TemporalField;Ljava/time/format/TextStyle;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendText(Ljava/time/temporal/TemporalField;Ljava/util/Map;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendValue(Ljava/time/temporal/TemporalField;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendValue(Ljava/time/temporal/TemporalField;I)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendValue(Ljava/time/temporal/TemporalField;IILjava/time/format/SignStyle;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendValueReduced(Ljava/time/temporal/TemporalField;III)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendValueReduced(Ljava/time/temporal/TemporalField;IILjava/time/chrono/ChronoLocalDate;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendZoneId()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendZoneOrOffsetId()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendZoneRegionId()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendZoneText(Ljava/time/format/TextStyle;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="appendZoneText(Ljava/time/format/TextStyle;Ljava/util/Set;)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="getLocalizedDateTimePattern(Ljava/time/format/FormatStyle;Ljava/time/format/FormatStyle;Ljava/time/chrono/Chronology;Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="optionalEnd()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="optionalStart()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="padNext(I)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="padNext(IC)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="parseCaseInsensitive()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="parseCaseSensitive()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="parseDefaulting(Ljava/time/temporal/TemporalField;J)Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="parseLenient()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="parseStrict()Ljava/time/format/DateTimeFormatterBuilder;"/>
+		<method name="toFormatter()Ljava/time/format/DateTimeFormatter;"/>
+		<method name="toFormatter(Ljava/util/Locale;)Ljava/time/format/DateTimeFormatter;"/>
+	</class>
+	<class name="java/time/format/DateTimeParseException" since="26">
+		<extends name="java/time/DateTimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/CharSequence;ILjava/lang/Throwable;)V"/>
+		<method name="getErrorIndex()I"/>
+		<method name="getParsedString()Ljava/lang/String;"/>
+	</class>
+	<class name="java/time/format/DecimalStyle" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getAvailableLocales()Ljava/util/Set;"/>
+		<method name="getDecimalSeparator()C"/>
+		<method name="getNegativeSign()C"/>
+		<method name="getPositiveSign()C"/>
+		<method name="getZeroDigit()C"/>
+		<method name="of(Ljava/util/Locale;)Ljava/time/format/DecimalStyle;"/>
+		<method name="ofDefaultLocale()Ljava/time/format/DecimalStyle;"/>
+		<method name="withDecimalSeparator(C)Ljava/time/format/DecimalStyle;"/>
+		<method name="withNegativeSign(C)Ljava/time/format/DecimalStyle;"/>
+		<method name="withPositiveSign(C)Ljava/time/format/DecimalStyle;"/>
+		<method name="withZeroDigit(C)Ljava/time/format/DecimalStyle;"/>
+		<field name="STANDARD"/>
+	</class>
+	<class name="java/time/format/FormatStyle" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/format/FormatStyle;"/>
+		<method name="values()[Ljava/time/format/FormatStyle;"/>
+		<field name="FULL"/>
+		<field name="LONG"/>
+		<field name="MEDIUM"/>
+		<field name="SHORT"/>
+	</class>
+	<class name="java/time/format/ResolverStyle" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/format/ResolverStyle;"/>
+		<method name="values()[Ljava/time/format/ResolverStyle;"/>
+		<field name="LENIENT"/>
+		<field name="SMART"/>
+		<field name="STRICT"/>
+	</class>
+	<class name="java/time/format/SignStyle" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/format/SignStyle;"/>
+		<method name="values()[Ljava/time/format/SignStyle;"/>
+		<field name="ALWAYS"/>
+		<field name="EXCEEDS_PAD"/>
+		<field name="NEVER"/>
+		<field name="NORMAL"/>
+		<field name="NOT_NEGATIVE"/>
+	</class>
+	<class name="java/time/format/TextStyle" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="asNormal()Ljava/time/format/TextStyle;"/>
+		<method name="asStandalone()Ljava/time/format/TextStyle;"/>
+		<method name="isStandalone()Z"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/format/TextStyle;"/>
+		<method name="values()[Ljava/time/format/TextStyle;"/>
+		<field name="FULL"/>
+		<field name="FULL_STANDALONE"/>
+		<field name="NARROW"/>
+		<field name="NARROW_STANDALONE"/>
+		<field name="SHORT"/>
+		<field name="SHORT_STANDALONE"/>
+	</class>
+	<class name="java/time/temporal/ChronoField" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/time/temporal/TemporalField"/>
+		<method name="checkValidIntValue(J)I"/>
+		<method name="checkValidValue(J)J"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/temporal/ChronoField;"/>
+		<method name="values()[Ljava/time/temporal/ChronoField;"/>
+		<field name="ALIGNED_DAY_OF_WEEK_IN_MONTH"/>
+		<field name="ALIGNED_DAY_OF_WEEK_IN_YEAR"/>
+		<field name="ALIGNED_WEEK_OF_MONTH"/>
+		<field name="ALIGNED_WEEK_OF_YEAR"/>
+		<field name="AMPM_OF_DAY"/>
+		<field name="CLOCK_HOUR_OF_AMPM"/>
+		<field name="CLOCK_HOUR_OF_DAY"/>
+		<field name="DAY_OF_MONTH"/>
+		<field name="DAY_OF_WEEK"/>
+		<field name="DAY_OF_YEAR"/>
+		<field name="EPOCH_DAY"/>
+		<field name="ERA"/>
+		<field name="HOUR_OF_AMPM"/>
+		<field name="HOUR_OF_DAY"/>
+		<field name="INSTANT_SECONDS"/>
+		<field name="MICRO_OF_DAY"/>
+		<field name="MICRO_OF_SECOND"/>
+		<field name="MILLI_OF_DAY"/>
+		<field name="MILLI_OF_SECOND"/>
+		<field name="MINUTE_OF_DAY"/>
+		<field name="MINUTE_OF_HOUR"/>
+		<field name="MONTH_OF_YEAR"/>
+		<field name="NANO_OF_DAY"/>
+		<field name="NANO_OF_SECOND"/>
+		<field name="OFFSET_SECONDS"/>
+		<field name="PROLEPTIC_MONTH"/>
+		<field name="SECOND_OF_DAY"/>
+		<field name="SECOND_OF_MINUTE"/>
+		<field name="YEAR"/>
+		<field name="YEAR_OF_ERA"/>
+	</class>
+	<class name="java/time/temporal/ChronoUnit" since="26">
+		<extends name="java/lang/Enum"/>
+		<implements name="java/time/temporal/TemporalUnit"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/temporal/ChronoUnit;"/>
+		<method name="values()[Ljava/time/temporal/ChronoUnit;"/>
+		<field name="CENTURIES"/>
+		<field name="DAYS"/>
+		<field name="DECADES"/>
+		<field name="ERAS"/>
+		<field name="FOREVER"/>
+		<field name="HALF_DAYS"/>
+		<field name="HOURS"/>
+		<field name="MICROS"/>
+		<field name="MILLENNIA"/>
+		<field name="MILLIS"/>
+		<field name="MINUTES"/>
+		<field name="MONTHS"/>
+		<field name="NANOS"/>
+		<field name="SECONDS"/>
+		<field name="WEEKS"/>
+		<field name="YEARS"/>
+	</class>
+	<class name="java/time/temporal/IsoFields" since="26">
+		<extends name="java/lang/Object"/>
+		<field name="DAY_OF_QUARTER"/>
+		<field name="QUARTER_OF_YEAR"/>
+		<field name="QUARTER_YEARS"/>
+		<field name="WEEK_BASED_YEAR"/>
+		<field name="WEEK_BASED_YEARS"/>
+		<field name="WEEK_OF_WEEK_BASED_YEAR"/>
+	</class>
+	<class name="java/time/temporal/JulianFields" since="26">
+		<extends name="java/lang/Object"/>
+		<field name="JULIAN_DAY"/>
+		<field name="MODIFIED_JULIAN_DAY"/>
+		<field name="RATA_DIE"/>
+	</class>
+	<class name="java/time/temporal/Temporal" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/time/temporal/TemporalAccessor"/>
+		<method name="isSupported(Ljava/time/temporal/TemporalUnit;)Z"/>
+		<method name="minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;"/>
+		<method name="minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/temporal/Temporal;"/>
+		<method name="plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;"/>
+		<method name="plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/temporal/Temporal;"/>
+		<method name="until(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J"/>
+		<method name="with(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/temporal/Temporal;"/>
+		<method name="with(Ljava/time/temporal/TemporalField;J)Ljava/time/temporal/Temporal;"/>
+	</class>
+	<class name="java/time/temporal/TemporalAccessor" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="get(Ljava/time/temporal/TemporalField;)I"/>
+		<method name="getLong(Ljava/time/temporal/TemporalField;)J"/>
+		<method name="isSupported(Ljava/time/temporal/TemporalField;)Z"/>
+		<method name="query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;"/>
+		<method name="range(Ljava/time/temporal/TemporalField;)Ljava/time/temporal/ValueRange;"/>
+	</class>
+	<class name="java/time/temporal/TemporalAdjuster" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="adjustInto(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;"/>
+	</class>
+	<class name="java/time/temporal/TemporalAdjusters" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="dayOfWeekInMonth(ILjava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="firstDayOfMonth()Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="firstDayOfNextMonth()Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="firstDayOfNextYear()Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="firstDayOfYear()Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="firstInMonth(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="lastDayOfMonth()Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="lastDayOfYear()Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="lastInMonth(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="next(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="nextOrSame(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="ofDateAdjuster(Ljava/util/function/UnaryOperator;)Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="previous(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;"/>
+		<method name="previousOrSame(Ljava/time/DayOfWeek;)Ljava/time/temporal/TemporalAdjuster;"/>
+	</class>
+	<class name="java/time/temporal/TemporalAmount" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="addTo(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;"/>
+		<method name="get(Ljava/time/temporal/TemporalUnit;)J"/>
+		<method name="getUnits()Ljava/util/List;"/>
+		<method name="subtractFrom(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;"/>
+	</class>
+	<class name="java/time/temporal/TemporalField" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="adjustInto(Ljava/time/temporal/Temporal;J)Ljava/time/temporal/Temporal;"/>
+		<method name="getBaseUnit()Ljava/time/temporal/TemporalUnit;"/>
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getFrom(Ljava/time/temporal/TemporalAccessor;)J"/>
+		<method name="getRangeUnit()Ljava/time/temporal/TemporalUnit;"/>
+		<method name="isDateBased()Z"/>
+		<method name="isSupportedBy(Ljava/time/temporal/TemporalAccessor;)Z"/>
+		<method name="isTimeBased()Z"/>
+		<method name="range()Ljava/time/temporal/ValueRange;"/>
+		<method name="rangeRefinedBy(Ljava/time/temporal/TemporalAccessor;)Ljava/time/temporal/ValueRange;"/>
+		<method name="resolve(Ljava/util/Map;Ljava/time/temporal/TemporalAccessor;Ljava/time/format/ResolverStyle;)Ljava/time/temporal/TemporalAccessor;"/>
+	</class>
+	<class name="java/time/temporal/TemporalQueries" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="chronology()Ljava/time/temporal/TemporalQuery;"/>
+		<method name="localDate()Ljava/time/temporal/TemporalQuery;"/>
+		<method name="localTime()Ljava/time/temporal/TemporalQuery;"/>
+		<method name="offset()Ljava/time/temporal/TemporalQuery;"/>
+		<method name="precision()Ljava/time/temporal/TemporalQuery;"/>
+		<method name="zone()Ljava/time/temporal/TemporalQuery;"/>
+		<method name="zoneId()Ljava/time/temporal/TemporalQuery;"/>
+	</class>
+	<class name="java/time/temporal/TemporalQuery" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/time/temporal/TemporalUnit" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="addTo(Ljava/time/temporal/Temporal;J)Ljava/time/temporal/Temporal;"/>
+		<method name="between(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)J"/>
+		<method name="getDuration()Ljava/time/Duration;"/>
+		<method name="isDateBased()Z"/>
+		<method name="isDurationEstimated()Z"/>
+		<method name="isSupportedBy(Ljava/time/temporal/Temporal;)Z"/>
+		<method name="isTimeBased()Z"/>
+	</class>
+	<class name="java/time/temporal/UnsupportedTemporalTypeException" since="26">
+		<extends name="java/time/DateTimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/time/temporal/ValueRange" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="checkValidIntValue(JLjava/time/temporal/TemporalField;)I"/>
+		<method name="checkValidValue(JLjava/time/temporal/TemporalField;)J"/>
+		<method name="getLargestMinimum()J"/>
+		<method name="getMaximum()J"/>
+		<method name="getMinimum()J"/>
+		<method name="getSmallestMaximum()J"/>
+		<method name="isFixed()Z"/>
+		<method name="isIntValue()Z"/>
+		<method name="isValidIntValue(J)Z"/>
+		<method name="isValidValue(J)Z"/>
+		<method name="of(JJ)Ljava/time/temporal/ValueRange;"/>
+		<method name="of(JJJ)Ljava/time/temporal/ValueRange;"/>
+		<method name="of(JJJJ)Ljava/time/temporal/ValueRange;"/>
+	</class>
+	<class name="java/time/temporal/WeekFields" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="dayOfWeek()Ljava/time/temporal/TemporalField;"/>
+		<method name="getFirstDayOfWeek()Ljava/time/DayOfWeek;"/>
+		<method name="getMinimalDaysInFirstWeek()I"/>
+		<method name="of(Ljava/time/DayOfWeek;I)Ljava/time/temporal/WeekFields;"/>
+		<method name="of(Ljava/util/Locale;)Ljava/time/temporal/WeekFields;"/>
+		<method name="weekBasedYear()Ljava/time/temporal/TemporalField;"/>
+		<method name="weekOfMonth()Ljava/time/temporal/TemporalField;"/>
+		<method name="weekOfWeekBasedYear()Ljava/time/temporal/TemporalField;"/>
+		<method name="weekOfYear()Ljava/time/temporal/TemporalField;"/>
+		<field name="ISO"/>
+		<field name="SUNDAY_START"/>
+		<field name="WEEK_BASED_YEARS"/>
+	</class>
+	<class name="java/time/zone/ZoneOffsetTransition" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="compareTo(Ljava/time/zone/ZoneOffsetTransition;)I"/>
+		<method name="getDateTimeAfter()Ljava/time/LocalDateTime;"/>
+		<method name="getDateTimeBefore()Ljava/time/LocalDateTime;"/>
+		<method name="getDuration()Ljava/time/Duration;"/>
+		<method name="getInstant()Ljava/time/Instant;"/>
+		<method name="getOffsetAfter()Ljava/time/ZoneOffset;"/>
+		<method name="getOffsetBefore()Ljava/time/ZoneOffset;"/>
+		<method name="isGap()Z"/>
+		<method name="isOverlap()Z"/>
+		<method name="isValidOffset(Ljava/time/ZoneOffset;)Z"/>
+		<method name="of(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneOffsetTransition;"/>
+		<method name="toEpochSecond()J"/>
+	</class>
+	<class name="java/time/zone/ZoneOffsetTransitionRule" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="createTransition(I)Ljava/time/zone/ZoneOffsetTransition;"/>
+		<method name="getDayOfMonthIndicator()I"/>
+		<method name="getDayOfWeek()Ljava/time/DayOfWeek;"/>
+		<method name="getLocalTime()Ljava/time/LocalTime;"/>
+		<method name="getMonth()Ljava/time/Month;"/>
+		<method name="getOffsetAfter()Ljava/time/ZoneOffset;"/>
+		<method name="getOffsetBefore()Ljava/time/ZoneOffset;"/>
+		<method name="getStandardOffset()Ljava/time/ZoneOffset;"/>
+		<method name="getTimeDefinition()Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;"/>
+		<method name="isMidnightEndOfDay()Z"/>
+		<method name="of(Ljava/time/Month;ILjava/time/DayOfWeek;Ljava/time/LocalTime;ZLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneOffsetTransitionRule;"/>
+	</class>
+	<class name="java/time/zone/ZoneOffsetTransitionRule$TimeDefinition" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="createDateTime(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/LocalDateTime;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;"/>
+		<method name="values()[Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;"/>
+		<field name="STANDARD"/>
+		<field name="UTC"/>
+		<field name="WALL"/>
+	</class>
+	<class name="java/time/zone/ZoneRules" since="26">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="getDaylightSavings(Ljava/time/Instant;)Ljava/time/Duration;"/>
+		<method name="getOffset(Ljava/time/Instant;)Ljava/time/ZoneOffset;"/>
+		<method name="getOffset(Ljava/time/LocalDateTime;)Ljava/time/ZoneOffset;"/>
+		<method name="getStandardOffset(Ljava/time/Instant;)Ljava/time/ZoneOffset;"/>
+		<method name="getTransition(Ljava/time/LocalDateTime;)Ljava/time/zone/ZoneOffsetTransition;"/>
+		<method name="getTransitionRules()Ljava/util/List;"/>
+		<method name="getTransitions()Ljava/util/List;"/>
+		<method name="getValidOffsets(Ljava/time/LocalDateTime;)Ljava/util/List;"/>
+		<method name="isDaylightSavings(Ljava/time/Instant;)Z"/>
+		<method name="isFixedOffset()Z"/>
+		<method name="isValidOffset(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;)Z"/>
+		<method name="nextTransition(Ljava/time/Instant;)Ljava/time/zone/ZoneOffsetTransition;"/>
+		<method name="of(Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneRules;"/>
+		<method name="of(Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Ljava/time/zone/ZoneRules;"/>
+		<method name="previousTransition(Ljava/time/Instant;)Ljava/time/zone/ZoneOffsetTransition;"/>
+	</class>
+	<class name="java/time/zone/ZoneRulesException" since="26">
+		<extends name="java/time/DateTimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/AbstractCollection" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Collection"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/AbstractList" since="1">
+		<extends name="java/util/AbstractCollection"/>
+		<implements name="java/util/List"/>
+		<method name="&lt;init>()V"/>
+		<method name="removeRange(II)V"/>
+		<field name="modCount"/>
+	</class>
+	<class name="java/util/AbstractMap" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Map"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/AbstractMap$SimpleEntry" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/Map$Entry"/>
+		<method name="&lt;init>(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="&lt;init>(Ljava/util/Map$Entry;)V"/>
+	</class>
+	<class name="java/util/AbstractMap$SimpleImmutableEntry" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/Map$Entry"/>
+		<method name="&lt;init>(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="&lt;init>(Ljava/util/Map$Entry;)V"/>
+	</class>
+	<class name="java/util/AbstractQueue" since="1">
+		<extends name="java/util/AbstractCollection"/>
+		<implements name="java/util/Queue"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/AbstractSequentialList" since="1">
+		<extends name="java/util/AbstractList"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/AbstractSet" since="1">
+		<extends name="java/util/AbstractCollection"/>
+		<implements name="java/util/Set"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/ArrayDeque" since="9">
+		<extends name="java/util/AbstractCollection"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/Deque"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="clone()Ljava/util/ArrayDeque;"/>
+	</class>
+	<class name="java/util/ArrayList" since="1">
+		<extends name="java/util/AbstractList"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/RandomAccess"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="ensureCapacity(I)V"/>
+		<method name="trimToSize()V"/>
+	</class>
+	<class name="java/util/Arrays" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="asList([Ljava/lang/Object;)Ljava/util/List;"/>
+		<method name="binarySearch([BB)I"/>
+		<method name="binarySearch([BIIB)I" since="9"/>
+		<method name="binarySearch([CC)I"/>
+		<method name="binarySearch([CIIC)I" since="9"/>
+		<method name="binarySearch([DD)I"/>
+		<method name="binarySearch([DIID)I" since="9"/>
+		<method name="binarySearch([FF)I"/>
+		<method name="binarySearch([FIIF)I" since="9"/>
+		<method name="binarySearch([II)I"/>
+		<method name="binarySearch([IIII)I" since="9"/>
+		<method name="binarySearch([JIIJ)I" since="9"/>
+		<method name="binarySearch([JJ)I"/>
+		<method name="binarySearch([Ljava/lang/Object;IILjava/lang/Object;)I" since="9"/>
+		<method name="binarySearch([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I" since="9"/>
+		<method name="binarySearch([Ljava/lang/Object;Ljava/lang/Object;)I"/>
+		<method name="binarySearch([Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I"/>
+		<method name="binarySearch([SIIS)I" since="9"/>
+		<method name="binarySearch([SS)I"/>
+		<method name="copyOf([BI)[B" since="9"/>
+		<method name="copyOf([CI)[C" since="9"/>
+		<method name="copyOf([DI)[D" since="9"/>
+		<method name="copyOf([FI)[F" since="9"/>
+		<method name="copyOf([II)[I" since="9"/>
+		<method name="copyOf([JI)[J" since="9"/>
+		<method name="copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;" since="9"/>
+		<method name="copyOf([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;" since="9"/>
+		<method name="copyOf([SI)[S" since="9"/>
+		<method name="copyOf([ZI)[Z" since="9"/>
+		<method name="copyOfRange([BII)[B" since="9"/>
+		<method name="copyOfRange([CII)[C" since="9"/>
+		<method name="copyOfRange([DII)[D" since="9"/>
+		<method name="copyOfRange([FII)[F" since="9"/>
+		<method name="copyOfRange([III)[I" since="9"/>
+		<method name="copyOfRange([JII)[J" since="9"/>
+		<method name="copyOfRange([Ljava/lang/Object;II)[Ljava/lang/Object;" since="9"/>
+		<method name="copyOfRange([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;" since="9"/>
+		<method name="copyOfRange([SII)[S" since="9"/>
+		<method name="copyOfRange([ZII)[Z" since="9"/>
+		<method name="deepEquals([Ljava/lang/Object;[Ljava/lang/Object;)Z"/>
+		<method name="deepHashCode([Ljava/lang/Object;)I"/>
+		<method name="deepToString([Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="equals([B[B)Z"/>
+		<method name="equals([C[C)Z"/>
+		<method name="equals([D[D)Z"/>
+		<method name="equals([F[F)Z"/>
+		<method name="equals([I[I)Z"/>
+		<method name="equals([J[J)Z"/>
+		<method name="equals([Ljava/lang/Object;[Ljava/lang/Object;)Z"/>
+		<method name="equals([S[S)Z"/>
+		<method name="equals([Z[Z)Z"/>
+		<method name="fill([BB)V"/>
+		<method name="fill([BIIB)V"/>
+		<method name="fill([CC)V"/>
+		<method name="fill([CIIC)V"/>
+		<method name="fill([DD)V"/>
+		<method name="fill([DIID)V"/>
+		<method name="fill([FF)V"/>
+		<method name="fill([FIIF)V"/>
+		<method name="fill([II)V"/>
+		<method name="fill([IIII)V"/>
+		<method name="fill([JIIJ)V"/>
+		<method name="fill([JJ)V"/>
+		<method name="fill([Ljava/lang/Object;IILjava/lang/Object;)V"/>
+		<method name="fill([Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="fill([SIIS)V"/>
+		<method name="fill([SS)V"/>
+		<method name="fill([ZIIZ)V"/>
+		<method name="fill([ZZ)V"/>
+		<method name="hashCode([B)I"/>
+		<method name="hashCode([C)I"/>
+		<method name="hashCode([D)I"/>
+		<method name="hashCode([F)I"/>
+		<method name="hashCode([I)I"/>
+		<method name="hashCode([J)I"/>
+		<method name="hashCode([Ljava/lang/Object;)I"/>
+		<method name="hashCode([S)I"/>
+		<method name="hashCode([Z)I"/>
+		<method name="parallelPrefix([DIILjava/util/function/DoubleBinaryOperator;)V" since="24"/>
+		<method name="parallelPrefix([DLjava/util/function/DoubleBinaryOperator;)V" since="24"/>
+		<method name="parallelPrefix([IIILjava/util/function/IntBinaryOperator;)V" since="24"/>
+		<method name="parallelPrefix([ILjava/util/function/IntBinaryOperator;)V" since="24"/>
+		<method name="parallelPrefix([JIILjava/util/function/LongBinaryOperator;)V" since="24"/>
+		<method name="parallelPrefix([JLjava/util/function/LongBinaryOperator;)V" since="24"/>
+		<method name="parallelPrefix([Ljava/lang/Object;IILjava/util/function/BinaryOperator;)V" since="24"/>
+		<method name="parallelPrefix([Ljava/lang/Object;Ljava/util/function/BinaryOperator;)V" since="24"/>
+		<method name="parallelSetAll([DLjava/util/function/IntToDoubleFunction;)V" since="24"/>
+		<method name="parallelSetAll([ILjava/util/function/IntUnaryOperator;)V" since="24"/>
+		<method name="parallelSetAll([JLjava/util/function/IntToLongFunction;)V" since="24"/>
+		<method name="parallelSetAll([Ljava/lang/Object;Ljava/util/function/IntFunction;)V" since="24"/>
+		<method name="parallelSort([B)V" since="24"/>
+		<method name="parallelSort([BII)V" since="24"/>
+		<method name="parallelSort([C)V" since="24"/>
+		<method name="parallelSort([CII)V" since="24"/>
+		<method name="parallelSort([D)V" since="24"/>
+		<method name="parallelSort([DII)V" since="24"/>
+		<method name="parallelSort([F)V" since="24"/>
+		<method name="parallelSort([FII)V" since="24"/>
+		<method name="parallelSort([I)V" since="24"/>
+		<method name="parallelSort([III)V" since="24"/>
+		<method name="parallelSort([J)V" since="24"/>
+		<method name="parallelSort([JII)V" since="24"/>
+		<method name="parallelSort([Ljava/lang/Comparable;)V" since="24"/>
+		<method name="parallelSort([Ljava/lang/Comparable;II)V" since="24"/>
+		<method name="parallelSort([Ljava/lang/Object;IILjava/util/Comparator;)V" since="24"/>
+		<method name="parallelSort([Ljava/lang/Object;Ljava/util/Comparator;)V" since="24"/>
+		<method name="parallelSort([S)V" since="24"/>
+		<method name="parallelSort([SII)V" since="24"/>
+		<method name="setAll([DLjava/util/function/IntToDoubleFunction;)V" since="24"/>
+		<method name="setAll([ILjava/util/function/IntUnaryOperator;)V" since="24"/>
+		<method name="setAll([JLjava/util/function/IntToLongFunction;)V" since="24"/>
+		<method name="setAll([Ljava/lang/Object;Ljava/util/function/IntFunction;)V" since="24"/>
+		<method name="sort([B)V"/>
+		<method name="sort([BII)V"/>
+		<method name="sort([C)V"/>
+		<method name="sort([CII)V"/>
+		<method name="sort([D)V"/>
+		<method name="sort([DII)V"/>
+		<method name="sort([F)V"/>
+		<method name="sort([FII)V"/>
+		<method name="sort([I)V"/>
+		<method name="sort([III)V"/>
+		<method name="sort([J)V"/>
+		<method name="sort([JII)V"/>
+		<method name="sort([Ljava/lang/Object;)V"/>
+		<method name="sort([Ljava/lang/Object;II)V"/>
+		<method name="sort([Ljava/lang/Object;IILjava/util/Comparator;)V"/>
+		<method name="sort([Ljava/lang/Object;Ljava/util/Comparator;)V"/>
+		<method name="sort([S)V"/>
+		<method name="sort([SII)V"/>
+		<method name="spliterator([D)Ljava/util/Spliterator$OfDouble;" since="24"/>
+		<method name="spliterator([DII)Ljava/util/Spliterator$OfDouble;" since="24"/>
+		<method name="spliterator([I)Ljava/util/Spliterator$OfInt;" since="24"/>
+		<method name="spliterator([III)Ljava/util/Spliterator$OfInt;" since="24"/>
+		<method name="spliterator([J)Ljava/util/Spliterator$OfLong;" since="24"/>
+		<method name="spliterator([JII)Ljava/util/Spliterator$OfLong;" since="24"/>
+		<method name="spliterator([Ljava/lang/Object;)Ljava/util/Spliterator;" since="24"/>
+		<method name="spliterator([Ljava/lang/Object;II)Ljava/util/Spliterator;" since="24"/>
+		<method name="stream([D)Ljava/util/stream/DoubleStream;" since="24"/>
+		<method name="stream([DII)Ljava/util/stream/DoubleStream;" since="24"/>
+		<method name="stream([I)Ljava/util/stream/IntStream;" since="24"/>
+		<method name="stream([III)Ljava/util/stream/IntStream;" since="24"/>
+		<method name="stream([J)Ljava/util/stream/LongStream;" since="24"/>
+		<method name="stream([JII)Ljava/util/stream/LongStream;" since="24"/>
+		<method name="stream([Ljava/lang/Object;)Ljava/util/stream/Stream;" since="24"/>
+		<method name="stream([Ljava/lang/Object;II)Ljava/util/stream/Stream;" since="24"/>
+		<method name="toString([B)Ljava/lang/String;"/>
+		<method name="toString([C)Ljava/lang/String;"/>
+		<method name="toString([D)Ljava/lang/String;"/>
+		<method name="toString([F)Ljava/lang/String;"/>
+		<method name="toString([I)Ljava/lang/String;"/>
+		<method name="toString([J)Ljava/lang/String;"/>
+		<method name="toString([Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="toString([S)Ljava/lang/String;"/>
+		<method name="toString([Z)Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/Base64" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="getDecoder()Ljava/util/Base64$Decoder;"/>
+		<method name="getEncoder()Ljava/util/Base64$Encoder;"/>
+		<method name="getMimeDecoder()Ljava/util/Base64$Decoder;"/>
+		<method name="getMimeEncoder()Ljava/util/Base64$Encoder;"/>
+		<method name="getMimeEncoder(I[B)Ljava/util/Base64$Encoder;"/>
+		<method name="getUrlDecoder()Ljava/util/Base64$Decoder;"/>
+		<method name="getUrlEncoder()Ljava/util/Base64$Encoder;"/>
+	</class>
+	<class name="java/util/Base64$Decoder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="decode(Ljava/lang/String;)[B"/>
+		<method name="decode(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;"/>
+		<method name="decode([B)[B"/>
+		<method name="decode([B[B)I"/>
+		<method name="wrap(Ljava/io/InputStream;)Ljava/io/InputStream;"/>
+	</class>
+	<class name="java/util/Base64$Encoder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="encode(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;"/>
+		<method name="encode([B)[B"/>
+		<method name="encode([B[B)I"/>
+		<method name="encodeToString([B)Ljava/lang/String;"/>
+		<method name="withoutPadding()Ljava/util/Base64$Encoder;"/>
+		<method name="wrap(Ljava/io/OutputStream;)Ljava/io/OutputStream;"/>
+	</class>
+	<class name="java/util/BitSet" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="and(Ljava/util/BitSet;)V"/>
+		<method name="andNot(Ljava/util/BitSet;)V"/>
+		<method name="cardinality()I"/>
+		<method name="clear()V"/>
+		<method name="clear(I)V"/>
+		<method name="clear(II)V"/>
+		<method name="flip(I)V"/>
+		<method name="flip(II)V"/>
+		<method name="get(I)Z"/>
+		<method name="get(II)Ljava/util/BitSet;"/>
+		<method name="intersects(Ljava/util/BitSet;)Z"/>
+		<method name="isEmpty()Z"/>
+		<method name="length()I"/>
+		<method name="nextClearBit(I)I"/>
+		<method name="nextSetBit(I)I"/>
+		<method name="or(Ljava/util/BitSet;)V"/>
+		<method name="previousClearBit(I)I" since="19"/>
+		<method name="previousSetBit(I)I" since="19"/>
+		<method name="set(I)V"/>
+		<method name="set(II)V"/>
+		<method name="set(IIZ)V"/>
+		<method name="set(IZ)V"/>
+		<method name="size()I"/>
+		<method name="stream()Ljava/util/stream/IntStream;" since="24"/>
+		<method name="toByteArray()[B" since="19"/>
+		<method name="toLongArray()[J" since="19"/>
+		<method name="valueOf(Ljava/nio/ByteBuffer;)Ljava/util/BitSet;" since="19"/>
+		<method name="valueOf(Ljava/nio/LongBuffer;)Ljava/util/BitSet;" since="19"/>
+		<method name="valueOf([B)Ljava/util/BitSet;" since="19"/>
+		<method name="valueOf([J)Ljava/util/BitSet;" since="19"/>
+		<method name="xor(Ljava/util/BitSet;)V"/>
+	</class>
+	<class name="java/util/Calendar" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="add(II)V"/>
+		<method name="after(Ljava/lang/Object;)Z"/>
+		<method name="before(Ljava/lang/Object;)Z"/>
+		<method name="clear()V"/>
+		<method name="clear(I)V"/>
+		<method name="compareTo(Ljava/util/Calendar;)I"/>
+		<method name="complete()V"/>
+		<method name="computeFields()V"/>
+		<method name="computeTime()V"/>
+		<method name="get(I)I"/>
+		<method name="getActualMaximum(I)I"/>
+		<method name="getActualMinimum(I)I"/>
+		<method name="getAvailableCalendarTypes()Ljava/util/Set;" since="26"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getCalendarType()Ljava/lang/String;" since="26"/>
+		<method name="getDisplayName(IILjava/util/Locale;)Ljava/lang/String;" since="9"/>
+		<method name="getDisplayNames(IILjava/util/Locale;)Ljava/util/Map;" since="9"/>
+		<method name="getFirstDayOfWeek()I"/>
+		<method name="getGreatestMinimum(I)I"/>
+		<method name="getInstance()Ljava/util/Calendar;"/>
+		<method name="getInstance(Ljava/util/Locale;)Ljava/util/Calendar;"/>
+		<method name="getInstance(Ljava/util/TimeZone;)Ljava/util/Calendar;"/>
+		<method name="getInstance(Ljava/util/TimeZone;Ljava/util/Locale;)Ljava/util/Calendar;"/>
+		<method name="getLeastMaximum(I)I"/>
+		<method name="getMaximum(I)I"/>
+		<method name="getMinimalDaysInFirstWeek()I"/>
+		<method name="getMinimum(I)I"/>
+		<method name="getTime()Ljava/util/Date;"/>
+		<method name="getTimeInMillis()J"/>
+		<method name="getTimeZone()Ljava/util/TimeZone;"/>
+		<method name="getWeekYear()I" since="24"/>
+		<method name="getWeeksInWeekYear()I" since="24"/>
+		<method name="internalGet(I)I"/>
+		<method name="isLenient()Z"/>
+		<method name="isSet(I)Z"/>
+		<method name="isWeekDateSupported()Z" since="24"/>
+		<method name="roll(II)V"/>
+		<method name="roll(IZ)V"/>
+		<method name="set(II)V"/>
+		<method name="set(III)V"/>
+		<method name="set(IIIII)V"/>
+		<method name="set(IIIIII)V"/>
+		<method name="setFirstDayOfWeek(I)V"/>
+		<method name="setLenient(Z)V"/>
+		<method name="setMinimalDaysInFirstWeek(I)V"/>
+		<method name="setTime(Ljava/util/Date;)V"/>
+		<method name="setTimeInMillis(J)V"/>
+		<method name="setTimeZone(Ljava/util/TimeZone;)V"/>
+		<method name="setWeekDate(III)V" since="24"/>
+		<method name="toInstant()Ljava/time/Instant;" since="26"/>
+		<field name="ALL_STYLES" since="9"/>
+		<field name="AM"/>
+		<field name="AM_PM"/>
+		<field name="APRIL"/>
+		<field name="AUGUST"/>
+		<field name="DATE"/>
+		<field name="DAY_OF_MONTH"/>
+		<field name="DAY_OF_WEEK"/>
+		<field name="DAY_OF_WEEK_IN_MONTH"/>
+		<field name="DAY_OF_YEAR"/>
+		<field name="DECEMBER"/>
+		<field name="DST_OFFSET"/>
+		<field name="ERA"/>
+		<field name="FEBRUARY"/>
+		<field name="FIELD_COUNT"/>
+		<field name="FRIDAY"/>
+		<field name="HOUR"/>
+		<field name="HOUR_OF_DAY"/>
+		<field name="JANUARY"/>
+		<field name="JULY"/>
+		<field name="JUNE"/>
+		<field name="LONG" since="9"/>
+		<field name="LONG_FORMAT" since="26"/>
+		<field name="LONG_STANDALONE" since="26"/>
+		<field name="MARCH"/>
+		<field name="MAY"/>
+		<field name="MILLISECOND"/>
+		<field name="MINUTE"/>
+		<field name="MONDAY"/>
+		<field name="MONTH"/>
+		<field name="NARROW_FORMAT" since="26"/>
+		<field name="NARROW_STANDALONE" since="26"/>
+		<field name="NOVEMBER"/>
+		<field name="OCTOBER"/>
+		<field name="PM"/>
+		<field name="SATURDAY"/>
+		<field name="SECOND"/>
+		<field name="SEPTEMBER"/>
+		<field name="SHORT" since="9"/>
+		<field name="SHORT_FORMAT" since="26"/>
+		<field name="SHORT_STANDALONE" since="26"/>
+		<field name="SUNDAY"/>
+		<field name="THURSDAY"/>
+		<field name="TUESDAY"/>
+		<field name="UNDECIMBER"/>
+		<field name="WEDNESDAY"/>
+		<field name="WEEK_OF_MONTH"/>
+		<field name="WEEK_OF_YEAR"/>
+		<field name="YEAR"/>
+		<field name="ZONE_OFFSET"/>
+		<field name="areFieldsSet"/>
+		<field name="fields"/>
+		<field name="isSet"/>
+		<field name="isTimeSet"/>
+		<field name="time"/>
+	</class>
+	<class name="java/util/Calendar$Builder" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="build()Ljava/util/Calendar;"/>
+		<method name="set(II)Ljava/util/Calendar$Builder;"/>
+		<method name="setCalendarType(Ljava/lang/String;)Ljava/util/Calendar$Builder;"/>
+		<method name="setDate(III)Ljava/util/Calendar$Builder;"/>
+		<method name="setFields([I)Ljava/util/Calendar$Builder;"/>
+		<method name="setInstant(J)Ljava/util/Calendar$Builder;"/>
+		<method name="setInstant(Ljava/util/Date;)Ljava/util/Calendar$Builder;"/>
+		<method name="setLenient(Z)Ljava/util/Calendar$Builder;"/>
+		<method name="setLocale(Ljava/util/Locale;)Ljava/util/Calendar$Builder;"/>
+		<method name="setTimeOfDay(III)Ljava/util/Calendar$Builder;"/>
+		<method name="setTimeOfDay(IIII)Ljava/util/Calendar$Builder;"/>
+		<method name="setTimeZone(Ljava/util/TimeZone;)Ljava/util/Calendar$Builder;"/>
+		<method name="setWeekDate(III)Ljava/util/Calendar$Builder;"/>
+		<method name="setWeekDefinition(II)Ljava/util/Calendar$Builder;"/>
+	</class>
+	<class name="java/util/Collection" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Iterable"/>
+		<method name="add(Ljava/lang/Object;)Z"/>
+		<method name="addAll(Ljava/util/Collection;)Z"/>
+		<method name="clear()V"/>
+		<method name="contains(Ljava/lang/Object;)Z"/>
+		<method name="containsAll(Ljava/util/Collection;)Z"/>
+		<method name="isEmpty()Z"/>
+		<method name="parallelStream()Ljava/util/stream/Stream;" since="24"/>
+		<method name="remove(Ljava/lang/Object;)Z"/>
+		<method name="removeAll(Ljava/util/Collection;)Z"/>
+		<method name="removeIf(Ljava/util/function/Predicate;)Z" since="24"/>
+		<method name="retainAll(Ljava/util/Collection;)Z"/>
+		<method name="size()I"/>
+		<method name="stream()Ljava/util/stream/Stream;" since="24"/>
+		<method name="toArray()[Ljava/lang/Object;"/>
+		<method name="toArray([Ljava/lang/Object;)[Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/Collections" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addAll(Ljava/util/Collection;[Ljava/lang/Object;)Z"/>
+		<method name="asLifoQueue(Ljava/util/Deque;)Ljava/util/Queue;" since="9"/>
+		<method name="binarySearch(Ljava/util/List;Ljava/lang/Object;)I"/>
+		<method name="binarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I"/>
+		<method name="checkedCollection(Ljava/util/Collection;Ljava/lang/Class;)Ljava/util/Collection;"/>
+		<method name="checkedList(Ljava/util/List;Ljava/lang/Class;)Ljava/util/List;"/>
+		<method name="checkedMap(Ljava/util/Map;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Map;"/>
+		<method name="checkedNavigableMap(Ljava/util/NavigableMap;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/NavigableMap;" since="26"/>
+		<method name="checkedNavigableSet(Ljava/util/NavigableSet;Ljava/lang/Class;)Ljava/util/NavigableSet;" since="26"/>
+		<method name="checkedQueue(Ljava/util/Queue;Ljava/lang/Class;)Ljava/util/Queue;" since="26"/>
+		<method name="checkedSet(Ljava/util/Set;Ljava/lang/Class;)Ljava/util/Set;"/>
+		<method name="checkedSortedMap(Ljava/util/SortedMap;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/SortedMap;"/>
+		<method name="checkedSortedSet(Ljava/util/SortedSet;Ljava/lang/Class;)Ljava/util/SortedSet;"/>
+		<method name="copy(Ljava/util/List;Ljava/util/List;)V"/>
+		<method name="disjoint(Ljava/util/Collection;Ljava/util/Collection;)Z"/>
+		<method name="emptyEnumeration()Ljava/util/Enumeration;" since="19"/>
+		<method name="emptyIterator()Ljava/util/Iterator;" since="19"/>
+		<method name="emptyList()Ljava/util/List;"/>
+		<method name="emptyListIterator()Ljava/util/ListIterator;" since="19"/>
+		<method name="emptyMap()Ljava/util/Map;"/>
+		<method name="emptyNavigableMap()Ljava/util/NavigableMap;" since="26"/>
+		<method name="emptyNavigableSet()Ljava/util/NavigableSet;" since="26"/>
+		<method name="emptySet()Ljava/util/Set;"/>
+		<method name="emptySortedMap()Ljava/util/SortedMap;" since="26"/>
+		<method name="emptySortedSet()Ljava/util/SortedSet;" since="26"/>
+		<method name="enumeration(Ljava/util/Collection;)Ljava/util/Enumeration;"/>
+		<method name="fill(Ljava/util/List;Ljava/lang/Object;)V"/>
+		<method name="frequency(Ljava/util/Collection;Ljava/lang/Object;)I"/>
+		<method name="indexOfSubList(Ljava/util/List;Ljava/util/List;)I"/>
+		<method name="lastIndexOfSubList(Ljava/util/List;Ljava/util/List;)I"/>
+		<method name="list(Ljava/util/Enumeration;)Ljava/util/ArrayList;"/>
+		<method name="max(Ljava/util/Collection;)Ljava/lang/Object;"/>
+		<method name="max(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;"/>
+		<method name="min(Ljava/util/Collection;)Ljava/lang/Object;"/>
+		<method name="min(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;"/>
+		<method name="nCopies(ILjava/lang/Object;)Ljava/util/List;"/>
+		<method name="newSetFromMap(Ljava/util/Map;)Ljava/util/Set;" since="9"/>
+		<method name="replaceAll(Ljava/util/List;Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+		<method name="reverse(Ljava/util/List;)V"/>
+		<method name="reverseOrder()Ljava/util/Comparator;"/>
+		<method name="reverseOrder(Ljava/util/Comparator;)Ljava/util/Comparator;"/>
+		<method name="rotate(Ljava/util/List;I)V"/>
+		<method name="shuffle(Ljava/util/List;)V"/>
+		<method name="shuffle(Ljava/util/List;Ljava/util/Random;)V"/>
+		<method name="singleton(Ljava/lang/Object;)Ljava/util/Set;"/>
+		<method name="singletonList(Ljava/lang/Object;)Ljava/util/List;"/>
+		<method name="singletonMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;"/>
+		<method name="sort(Ljava/util/List;)V"/>
+		<method name="sort(Ljava/util/List;Ljava/util/Comparator;)V"/>
+		<method name="swap(Ljava/util/List;II)V"/>
+		<method name="synchronizedCollection(Ljava/util/Collection;)Ljava/util/Collection;"/>
+		<method name="synchronizedList(Ljava/util/List;)Ljava/util/List;"/>
+		<method name="synchronizedMap(Ljava/util/Map;)Ljava/util/Map;"/>
+		<method name="synchronizedNavigableMap(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;" since="26"/>
+		<method name="synchronizedNavigableSet(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;" since="26"/>
+		<method name="synchronizedSet(Ljava/util/Set;)Ljava/util/Set;"/>
+		<method name="synchronizedSortedMap(Ljava/util/SortedMap;)Ljava/util/SortedMap;"/>
+		<method name="synchronizedSortedSet(Ljava/util/SortedSet;)Ljava/util/SortedSet;"/>
+		<method name="unmodifiableCollection(Ljava/util/Collection;)Ljava/util/Collection;"/>
+		<method name="unmodifiableList(Ljava/util/List;)Ljava/util/List;"/>
+		<method name="unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;"/>
+		<method name="unmodifiableNavigableMap(Ljava/util/NavigableMap;)Ljava/util/NavigableMap;" since="26"/>
+		<method name="unmodifiableNavigableSet(Ljava/util/NavigableSet;)Ljava/util/NavigableSet;" since="26"/>
+		<method name="unmodifiableSet(Ljava/util/Set;)Ljava/util/Set;"/>
+		<method name="unmodifiableSortedMap(Ljava/util/SortedMap;)Ljava/util/SortedMap;"/>
+		<method name="unmodifiableSortedSet(Ljava/util/SortedSet;)Ljava/util/SortedSet;"/>
+		<field name="EMPTY_LIST"/>
+		<field name="EMPTY_MAP"/>
+		<field name="EMPTY_SET"/>
+	</class>
+	<class name="java/util/Comparator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="compare(Ljava/lang/Object;Ljava/lang/Object;)I"/>
+		<method name="comparing(Ljava/util/function/Function;)Ljava/util/Comparator;" since="24"/>
+		<method name="comparing(Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;" since="24"/>
+		<method name="comparingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;" since="24"/>
+		<method name="comparingInt(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;" since="24"/>
+		<method name="comparingLong(Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;" since="24"/>
+		<method name="naturalOrder()Ljava/util/Comparator;" since="24"/>
+		<method name="nullsFirst(Ljava/util/Comparator;)Ljava/util/Comparator;" since="24"/>
+		<method name="nullsLast(Ljava/util/Comparator;)Ljava/util/Comparator;" since="24"/>
+		<method name="reverseOrder()Ljava/util/Comparator;" since="24"/>
+		<method name="reversed()Ljava/util/Comparator;" since="24"/>
+		<method name="thenComparing(Ljava/util/Comparator;)Ljava/util/Comparator;" since="24"/>
+		<method name="thenComparing(Ljava/util/function/Function;)Ljava/util/Comparator;" since="24"/>
+		<method name="thenComparing(Ljava/util/function/Function;Ljava/util/Comparator;)Ljava/util/Comparator;" since="24"/>
+		<method name="thenComparingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;" since="24"/>
+		<method name="thenComparingInt(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;" since="24"/>
+		<method name="thenComparingLong(Ljava/util/function/ToLongFunction;)Ljava/util/Comparator;" since="24"/>
+	</class>
+	<class name="java/util/ConcurrentModificationException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="19"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V" since="19"/>
+	</class>
+	<class name="java/util/Currency" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="getAvailableCurrencies()Ljava/util/Set;" since="19"/>
+		<method name="getCurrencyCode()Ljava/lang/String;"/>
+		<method name="getDefaultFractionDigits()I"/>
+		<method name="getDisplayName()Ljava/lang/String;" since="19"/>
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;" since="19"/>
+		<method name="getInstance(Ljava/lang/String;)Ljava/util/Currency;"/>
+		<method name="getInstance(Ljava/util/Locale;)Ljava/util/Currency;"/>
+		<method name="getNumericCode()I" since="24"/>
+		<method name="getSymbol()Ljava/lang/String;"/>
+		<method name="getSymbol(Ljava/util/Locale;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/Date" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V" deprecated="15"/>
+		<method name="&lt;init>(IIIII)V" deprecated="15"/>
+		<method name="&lt;init>(IIIIII)V" deprecated="15"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="15"/>
+		<method name="UTC(IIIIII)J" deprecated="15"/>
+		<method name="after(Ljava/util/Date;)Z"/>
+		<method name="before(Ljava/util/Date;)Z"/>
+		<method name="compareTo(Ljava/util/Date;)I"/>
+		<method name="from(Ljava/time/Instant;)Ljava/util/Date;" since="26"/>
+		<method name="getDate()I" deprecated="15"/>
+		<method name="getDay()I" deprecated="15"/>
+		<method name="getHours()I" deprecated="15"/>
+		<method name="getMinutes()I" deprecated="15"/>
+		<method name="getMonth()I" deprecated="15"/>
+		<method name="getSeconds()I" deprecated="15"/>
+		<method name="getTime()J"/>
+		<method name="getTimezoneOffset()I" deprecated="15"/>
+		<method name="getYear()I" deprecated="15"/>
+		<method name="parse(Ljava/lang/String;)J" deprecated="15"/>
+		<method name="setDate(I)V" deprecated="15"/>
+		<method name="setHours(I)V" deprecated="15"/>
+		<method name="setMinutes(I)V" deprecated="15"/>
+		<method name="setMonth(I)V" deprecated="15"/>
+		<method name="setSeconds(I)V" deprecated="15"/>
+		<method name="setTime(J)V"/>
+		<method name="setYear(I)V" deprecated="15"/>
+		<method name="toGMTString()Ljava/lang/String;" deprecated="15"/>
+		<method name="toInstant()Ljava/time/Instant;" since="26"/>
+		<method name="toLocaleString()Ljava/lang/String;" deprecated="15"/>
+	</class>
+	<class name="java/util/Deque" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Queue"/>
+		<method name="addFirst(Ljava/lang/Object;)V"/>
+		<method name="addLast(Ljava/lang/Object;)V"/>
+		<method name="descendingIterator()Ljava/util/Iterator;"/>
+		<method name="getFirst()Ljava/lang/Object;"/>
+		<method name="getLast()Ljava/lang/Object;"/>
+		<method name="offerFirst(Ljava/lang/Object;)Z"/>
+		<method name="offerLast(Ljava/lang/Object;)Z"/>
+		<method name="peekFirst()Ljava/lang/Object;"/>
+		<method name="peekLast()Ljava/lang/Object;"/>
+		<method name="pollFirst()Ljava/lang/Object;"/>
+		<method name="pollLast()Ljava/lang/Object;"/>
+		<method name="pop()Ljava/lang/Object;"/>
+		<method name="push(Ljava/lang/Object;)V"/>
+		<method name="removeFirst()Ljava/lang/Object;"/>
+		<method name="removeFirstOccurrence(Ljava/lang/Object;)Z"/>
+		<method name="removeLast()Ljava/lang/Object;"/>
+		<method name="removeLastOccurrence(Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="java/util/Dictionary" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="elements()Ljava/util/Enumeration;"/>
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="isEmpty()Z"/>
+		<method name="keys()Ljava/util/Enumeration;"/>
+		<method name="put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="remove(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="size()I"/>
+	</class>
+	<class name="java/util/DoubleSummaryStatistics" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/function/DoubleConsumer"/>
+		<method name="&lt;init>()V"/>
+		<method name="combine(Ljava/util/DoubleSummaryStatistics;)V"/>
+		<method name="getAverage()D"/>
+		<method name="getCount()J"/>
+		<method name="getMax()D"/>
+		<method name="getMin()D"/>
+		<method name="getSum()D"/>
+	</class>
+	<class name="java/util/DuplicateFormatFlagsException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getFlags()Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/EmptyStackException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/EnumMap" since="1">
+		<extends name="java/util/AbstractMap"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Ljava/lang/Class;)V"/>
+		<method name="&lt;init>(Ljava/util/EnumMap;)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+		<method name="clone()Ljava/util/EnumMap;"/>
+		<method name="put(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/EnumSet" since="1">
+		<extends name="java/util/AbstractSet"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="allOf(Ljava/lang/Class;)Ljava/util/EnumSet;"/>
+		<method name="clone()Ljava/util/EnumSet;"/>
+		<method name="complementOf(Ljava/util/EnumSet;)Ljava/util/EnumSet;"/>
+		<method name="copyOf(Ljava/util/Collection;)Ljava/util/EnumSet;"/>
+		<method name="copyOf(Ljava/util/EnumSet;)Ljava/util/EnumSet;"/>
+		<method name="noneOf(Ljava/lang/Class;)Ljava/util/EnumSet;"/>
+		<method name="of(Ljava/lang/Enum;)Ljava/util/EnumSet;"/>
+		<method name="of(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;"/>
+		<method name="of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;"/>
+		<method name="of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;"/>
+		<method name="of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;"/>
+		<method name="of(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;"/>
+		<method name="range(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;"/>
+	</class>
+	<class name="java/util/Enumeration" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="hasMoreElements()Z"/>
+		<method name="nextElement()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/EventListener" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/util/EventListenerProxy" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/EventListener"/>
+		<method name="&lt;init>(Ljava/util/EventListener;)V"/>
+		<method name="getListener()Ljava/util/EventListener;"/>
+	</class>
+	<class name="java/util/EventObject" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<method name="getSource()Ljava/lang/Object;"/>
+		<field name="source"/>
+	</class>
+	<class name="java/util/FormatFlagsConversionMismatchException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(Ljava/lang/String;C)V"/>
+		<method name="getConversion()C"/>
+		<method name="getFlags()Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/Formattable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="formatTo(Ljava/util/Formatter;III)V"/>
+	</class>
+	<class name="java/util/FormattableFlags" since="1">
+		<extends name="java/lang/Object"/>
+		<field name="ALTERNATE"/>
+		<field name="LEFT_JUSTIFY"/>
+		<field name="UPPERCASE"/>
+	</class>
+	<class name="java/util/Formatter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable"/>
+		<implements name="java/io/Flushable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/File;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/io/File;Ljava/lang/String;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/lang/String;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Ljava/io/PrintStream;)V"/>
+		<method name="&lt;init>(Ljava/lang/Appendable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Appendable;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;"/>
+		<method name="format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;"/>
+		<method name="ioException()Ljava/io/IOException;"/>
+		<method name="locale()Ljava/util/Locale;"/>
+		<method name="out()Ljava/lang/Appendable;"/>
+	</class>
+	<class name="java/util/Formatter$BigDecimalLayoutForm" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/util/Formatter$BigDecimalLayoutForm;"/>
+		<method name="values()[Ljava/util/Formatter$BigDecimalLayoutForm;"/>
+		<field name="DECIMAL_FLOAT"/>
+		<field name="SCIENTIFIC"/>
+	</class>
+	<class name="java/util/FormatterClosedException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/GregorianCalendar" since="1">
+		<extends name="java/util/Calendar"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(IIIII)V"/>
+		<method name="&lt;init>(IIIIII)V"/>
+		<method name="&lt;init>(Ljava/util/Locale;)V"/>
+		<method name="&lt;init>(Ljava/util/TimeZone;)V"/>
+		<method name="&lt;init>(Ljava/util/TimeZone;Ljava/util/Locale;)V"/>
+		<method name="from(Ljava/time/ZonedDateTime;)Ljava/util/GregorianCalendar;" since="26"/>
+		<method name="getGregorianChange()Ljava/util/Date;"/>
+		<method name="isLeapYear(I)Z"/>
+		<method name="setGregorianChange(Ljava/util/Date;)V"/>
+		<method name="toZonedDateTime()Ljava/time/ZonedDateTime;" since="26"/>
+		<field name="AD"/>
+		<field name="BC"/>
+	</class>
+	<class name="java/util/HashMap" since="1">
+		<extends name="java/util/AbstractMap"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IF)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+	</class>
+	<class name="java/util/HashSet" since="1">
+		<extends name="java/util/AbstractSet"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IF)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+	</class>
+	<class name="java/util/Hashtable" since="1">
+		<extends name="java/util/Dictionary"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/Map"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IF)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+		<method name="contains(Ljava/lang/Object;)Z"/>
+		<method name="rehash()V"/>
+	</class>
+	<class name="java/util/IdentityHashMap" since="1">
+		<extends name="java/util/AbstractMap"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+	</class>
+	<class name="java/util/IllegalFormatCodePointException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getCodePoint()I"/>
+	</class>
+	<class name="java/util/IllegalFormatConversionException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(CLjava/lang/Class;)V"/>
+		<method name="getArgumentClass()Ljava/lang/Class;"/>
+		<method name="getConversion()C"/>
+	</class>
+	<class name="java/util/IllegalFormatException" since="1">
+		<extends name="java/lang/IllegalArgumentException"/>
+	</class>
+	<class name="java/util/IllegalFormatFlagsException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getFlags()Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/IllegalFormatPrecisionException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getPrecision()I"/>
+	</class>
+	<class name="java/util/IllegalFormatWidthException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getWidth()I"/>
+	</class>
+	<class name="java/util/IllformedLocaleException" since="21">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="getErrorIndex()I"/>
+	</class>
+	<class name="java/util/InputMismatchException" since="1">
+		<extends name="java/util/NoSuchElementException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/IntSummaryStatistics" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/function/IntConsumer"/>
+		<method name="&lt;init>()V"/>
+		<method name="combine(Ljava/util/IntSummaryStatistics;)V"/>
+		<method name="getAverage()D"/>
+		<method name="getCount()J"/>
+		<method name="getMax()I"/>
+		<method name="getMin()I"/>
+		<method name="getSum()J"/>
+	</class>
+	<class name="java/util/InvalidPropertiesFormatException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/Iterator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="forEachRemaining(Ljava/util/function/Consumer;)V" since="24"/>
+		<method name="hasNext()Z"/>
+		<method name="next()Ljava/lang/Object;"/>
+		<method name="remove()V"/>
+	</class>
+	<class name="java/util/LinkedHashMap" since="1">
+		<extends name="java/util/HashMap"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IF)V"/>
+		<method name="&lt;init>(IFZ)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+		<method name="removeEldestEntry(Ljava/util/Map$Entry;)Z"/>
+	</class>
+	<class name="java/util/LinkedHashSet" since="1">
+		<extends name="java/util/HashSet"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IF)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+	</class>
+	<class name="java/util/LinkedList" since="1">
+		<extends name="java/util/AbstractSequentialList"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/Deque" since="9"/>
+		<implements name="java/util/Queue" removed="24"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="addFirst(Ljava/lang/Object;)V"/>
+		<method name="addLast(Ljava/lang/Object;)V"/>
+		<method name="getFirst()Ljava/lang/Object;"/>
+		<method name="getLast()Ljava/lang/Object;"/>
+		<method name="removeFirst()Ljava/lang/Object;"/>
+		<method name="removeLast()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/List" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Collection"/>
+		<method name="add(ILjava/lang/Object;)V"/>
+		<method name="addAll(ILjava/util/Collection;)Z"/>
+		<method name="copyOf(Ljava/util/Collection;)Ljava/util/List;" since="31"/>
+		<method name="get(I)Ljava/lang/Object;"/>
+		<method name="indexOf(Ljava/lang/Object;)I"/>
+		<method name="lastIndexOf(Ljava/lang/Object;)I"/>
+		<method name="listIterator()Ljava/util/ListIterator;"/>
+		<method name="listIterator(I)Ljava/util/ListIterator;"/>
+		<method name="of()Ljava/util/List;" since="30"/>
+		<method name="of(Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="of([Ljava/lang/Object;)Ljava/util/List;" since="30"/>
+		<method name="remove(I)Ljava/lang/Object;"/>
+		<method name="replaceAll(Ljava/util/function/UnaryOperator;)V" since="24"/>
+		<method name="set(ILjava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="sort(Ljava/util/Comparator;)V" since="24"/>
+		<method name="subList(II)Ljava/util/List;"/>
+	</class>
+	<class name="java/util/ListIterator" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Iterator"/>
+		<method name="add(Ljava/lang/Object;)V"/>
+		<method name="hasPrevious()Z"/>
+		<method name="nextIndex()I"/>
+		<method name="previous()Ljava/lang/Object;"/>
+		<method name="previousIndex()I"/>
+		<method name="set(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="java/util/ListResourceBundle" since="1">
+		<extends name="java/util/ResourceBundle"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContents()[[Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/Locale" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="filter(Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;" since="26"/>
+		<method name="filter(Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;" since="26"/>
+		<method name="filterTags(Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;" since="26"/>
+		<method name="filterTags(Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;" since="26"/>
+		<method name="forLanguageTag(Ljava/lang/String;)Ljava/util/Locale;" since="21"/>
+		<method name="getAvailableLocales()[Ljava/util/Locale;"/>
+		<method name="getCountry()Ljava/lang/String;"/>
+		<method name="getDefault()Ljava/util/Locale;"/>
+		<method name="getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale;" since="24"/>
+		<method name="getDisplayCountry()Ljava/lang/String;"/>
+		<method name="getDisplayCountry(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getDisplayLanguage()Ljava/lang/String;"/>
+		<method name="getDisplayLanguage(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getDisplayName()Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getDisplayScript()Ljava/lang/String;" since="21"/>
+		<method name="getDisplayScript(Ljava/util/Locale;)Ljava/lang/String;" since="21"/>
+		<method name="getDisplayVariant()Ljava/lang/String;"/>
+		<method name="getDisplayVariant(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getExtension(C)Ljava/lang/String;" since="21"/>
+		<method name="getExtensionKeys()Ljava/util/Set;" since="21"/>
+		<method name="getISO3Country()Ljava/lang/String;"/>
+		<method name="getISO3Language()Ljava/lang/String;"/>
+		<method name="getISOCountries()[Ljava/lang/String;"/>
+		<method name="getISOLanguages()[Ljava/lang/String;"/>
+		<method name="getLanguage()Ljava/lang/String;"/>
+		<method name="getScript()Ljava/lang/String;" since="21"/>
+		<method name="getUnicodeLocaleAttributes()Ljava/util/Set;" since="21"/>
+		<method name="getUnicodeLocaleKeys()Ljava/util/Set;" since="21"/>
+		<method name="getUnicodeLocaleType(Ljava/lang/String;)Ljava/lang/String;" since="21"/>
+		<method name="getVariant()Ljava/lang/String;"/>
+		<method name="hasExtensions()Z" since="26"/>
+		<method name="lookup(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Locale;" since="26"/>
+		<method name="lookupTag(Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;" since="26"/>
+		<method name="setDefault(Ljava/util/Locale$Category;Ljava/util/Locale;)V" since="24"/>
+		<method name="setDefault(Ljava/util/Locale;)V"/>
+		<method name="stripExtensions()Ljava/util/Locale;" since="26"/>
+		<method name="toLanguageTag()Ljava/lang/String;" since="21"/>
+		<field name="CANADA"/>
+		<field name="CANADA_FRENCH"/>
+		<field name="CHINA"/>
+		<field name="CHINESE"/>
+		<field name="ENGLISH"/>
+		<field name="FRANCE"/>
+		<field name="FRENCH"/>
+		<field name="GERMAN"/>
+		<field name="GERMANY"/>
+		<field name="ITALIAN"/>
+		<field name="ITALY"/>
+		<field name="JAPAN"/>
+		<field name="JAPANESE"/>
+		<field name="KOREA"/>
+		<field name="KOREAN"/>
+		<field name="PRC"/>
+		<field name="PRIVATE_USE_EXTENSION" since="21"/>
+		<field name="ROOT" since="9"/>
+		<field name="SIMPLIFIED_CHINESE"/>
+		<field name="TAIWAN"/>
+		<field name="TRADITIONAL_CHINESE"/>
+		<field name="UK"/>
+		<field name="UNICODE_LOCALE_EXTENSION" since="21"/>
+		<field name="US"/>
+	</class>
+	<class name="java/util/Locale$Builder" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addUnicodeLocaleAttribute(Ljava/lang/String;)Ljava/util/Locale$Builder;"/>
+		<method name="build()Ljava/util/Locale;"/>
+		<method name="clear()Ljava/util/Locale$Builder;"/>
+		<method name="clearExtensions()Ljava/util/Locale$Builder;"/>
+		<method name="removeUnicodeLocaleAttribute(Ljava/lang/String;)Ljava/util/Locale$Builder;"/>
+		<method name="setExtension(CLjava/lang/String;)Ljava/util/Locale$Builder;"/>
+		<method name="setLanguage(Ljava/lang/String;)Ljava/util/Locale$Builder;"/>
+		<method name="setLanguageTag(Ljava/lang/String;)Ljava/util/Locale$Builder;"/>
+		<method name="setLocale(Ljava/util/Locale;)Ljava/util/Locale$Builder;"/>
+		<method name="setRegion(Ljava/lang/String;)Ljava/util/Locale$Builder;"/>
+		<method name="setScript(Ljava/lang/String;)Ljava/util/Locale$Builder;"/>
+		<method name="setUnicodeLocaleKeyword(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale$Builder;"/>
+		<method name="setVariant(Ljava/lang/String;)Ljava/util/Locale$Builder;"/>
+	</class>
+	<class name="java/util/Locale$Category" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/util/Locale$Category;"/>
+		<method name="values()[Ljava/util/Locale$Category;"/>
+		<field name="DISPLAY"/>
+		<field name="FORMAT"/>
+	</class>
+	<class name="java/util/Locale$FilteringMode" since="26">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/util/Locale$FilteringMode;"/>
+		<method name="values()[Ljava/util/Locale$FilteringMode;"/>
+		<field name="AUTOSELECT_FILTERING"/>
+		<field name="EXTENDED_FILTERING"/>
+		<field name="IGNORE_EXTENDED_RANGES"/>
+		<field name="MAP_EXTENDED_RANGES"/>
+		<field name="REJECT_EXTENDED_RANGES"/>
+	</class>
+	<class name="java/util/Locale$LanguageRange" since="26">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;D)V"/>
+		<method name="getRange()Ljava/lang/String;"/>
+		<method name="getWeight()D"/>
+		<method name="mapEquivalents(Ljava/util/List;Ljava/util/Map;)Ljava/util/List;"/>
+		<method name="parse(Ljava/lang/String;)Ljava/util/List;"/>
+		<method name="parse(Ljava/lang/String;Ljava/util/Map;)Ljava/util/List;"/>
+		<field name="MAX_WEIGHT"/>
+		<field name="MIN_WEIGHT"/>
+	</class>
+	<class name="java/util/LongSummaryStatistics" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/function/IntConsumer"/>
+		<implements name="java/util/function/LongConsumer"/>
+		<method name="&lt;init>()V"/>
+		<method name="combine(Ljava/util/LongSummaryStatistics;)V"/>
+		<method name="getAverage()D"/>
+		<method name="getCount()J"/>
+		<method name="getMax()J"/>
+		<method name="getMin()J"/>
+		<method name="getSum()J"/>
+	</class>
+	<class name="java/util/Map" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="clear()V"/>
+		<method name="compute(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24"/>
+		<method name="computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;" since="24"/>
+		<method name="computeIfPresent(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24"/>
+		<method name="containsKey(Ljava/lang/Object;)Z"/>
+		<method name="containsValue(Ljava/lang/Object;)Z"/>
+		<method name="copyOf(Ljava/util/Map;)Ljava/util/Map;" since="31"/>
+		<method name="entry(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;" since="30"/>
+		<method name="entrySet()Ljava/util/Set;"/>
+		<method name="forEach(Ljava/util/function/BiConsumer;)V" since="24"/>
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" since="24"/>
+		<method name="isEmpty()Z"/>
+		<method name="keySet()Ljava/util/Set;"/>
+		<method name="merge(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24"/>
+		<method name="of()Ljava/util/Map;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;" since="30"/>
+		<method name="ofEntries([Ljava/util/Map$Entry;)Ljava/util/Map;" since="30"/>
+		<method name="put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="putAll(Ljava/util/Map;)V"/>
+		<method name="putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" since="24"/>
+		<method name="remove(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="remove(Ljava/lang/Object;Ljava/lang/Object;)Z" since="24"/>
+		<method name="replace(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" since="24"/>
+		<method name="replace(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z" since="24"/>
+		<method name="replaceAll(Ljava/util/function/BiFunction;)V" since="24"/>
+		<method name="size()I"/>
+		<method name="values()Ljava/util/Collection;"/>
+	</class>
+	<class name="java/util/Map$Entry" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="comparingByKey()Ljava/util/Comparator;" since="24"/>
+		<method name="comparingByKey(Ljava/util/Comparator;)Ljava/util/Comparator;" since="24"/>
+		<method name="comparingByValue()Ljava/util/Comparator;" since="24"/>
+		<method name="comparingByValue(Ljava/util/Comparator;)Ljava/util/Comparator;" since="24"/>
+		<method name="getKey()Ljava/lang/Object;"/>
+		<method name="getValue()Ljava/lang/Object;"/>
+		<method name="setValue(Ljava/lang/Object;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/MissingFormatArgumentException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getFormatSpecifier()Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/MissingFormatWidthException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getFormatSpecifier()Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/MissingResourceException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getClassName()Ljava/lang/String;"/>
+		<method name="getKey()Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/NavigableMap" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/SortedMap"/>
+		<method name="ceilingEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;"/>
+		<method name="ceilingKey(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="descendingKeySet()Ljava/util/NavigableSet;"/>
+		<method name="descendingMap()Ljava/util/NavigableMap;"/>
+		<method name="firstEntry()Ljava/util/Map$Entry;"/>
+		<method name="floorEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;"/>
+		<method name="floorKey(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="headMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;"/>
+		<method name="higherEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;"/>
+		<method name="higherKey(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="lastEntry()Ljava/util/Map$Entry;"/>
+		<method name="lowerEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;"/>
+		<method name="lowerKey(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="navigableKeySet()Ljava/util/NavigableSet;"/>
+		<method name="pollFirstEntry()Ljava/util/Map$Entry;"/>
+		<method name="pollLastEntry()Ljava/util/Map$Entry;"/>
+		<method name="subMap(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableMap;"/>
+		<method name="tailMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;"/>
+	</class>
+	<class name="java/util/NavigableSet" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/SortedSet"/>
+		<method name="ceiling(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="descendingIterator()Ljava/util/Iterator;"/>
+		<method name="descendingSet()Ljava/util/NavigableSet;"/>
+		<method name="floor(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="headSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;"/>
+		<method name="higher(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="lower(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="pollFirst()Ljava/lang/Object;"/>
+		<method name="pollLast()Ljava/lang/Object;"/>
+		<method name="subSet(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableSet;"/>
+		<method name="tailSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;"/>
+	</class>
+	<class name="java/util/NoSuchElementException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/Objects" since="19">
+		<extends name="java/lang/Object"/>
+		<method name="checkFromIndexSize(III)I" since="30"/>
+		<method name="checkFromToIndex(III)I" since="30"/>
+		<method name="checkIndex(II)I" since="30"/>
+		<method name="compare(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I"/>
+		<method name="deepEquals(Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+		<method name="equals(Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+		<method name="hash([Ljava/lang/Object;)I"/>
+		<method name="hashCode(Ljava/lang/Object;)I"/>
+		<method name="isNull(Ljava/lang/Object;)Z" since="24"/>
+		<method name="nonNull(Ljava/lang/Object;)Z" since="24"/>
+		<method name="requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="requireNonNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="requireNonNull(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;" since="24"/>
+		<method name="requireNonNullElse(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" since="30"/>
+		<method name="requireNonNullElseGet(Ljava/lang/Object;Ljava/util/function/Supplier;)Ljava/lang/Object;" since="30"/>
+		<method name="toString(Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="toString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/Observable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addObserver(Ljava/util/Observer;)V"/>
+		<method name="clearChanged()V"/>
+		<method name="countObservers()I"/>
+		<method name="deleteObserver(Ljava/util/Observer;)V"/>
+		<method name="deleteObservers()V"/>
+		<method name="hasChanged()Z"/>
+		<method name="notifyObservers()V"/>
+		<method name="notifyObservers(Ljava/lang/Object;)V"/>
+		<method name="setChanged()V"/>
+	</class>
+	<class name="java/util/Observer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="update(Ljava/util/Observable;Ljava/lang/Object;)V"/>
+	</class>
+	<class name="java/util/Optional" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="empty()Ljava/util/Optional;"/>
+		<method name="filter(Ljava/util/function/Predicate;)Ljava/util/Optional;"/>
+		<method name="flatMap(Ljava/util/function/Function;)Ljava/util/Optional;"/>
+		<method name="get()Ljava/lang/Object;"/>
+		<method name="ifPresent(Ljava/util/function/Consumer;)V"/>
+		<method name="isPresent()Z"/>
+		<method name="map(Ljava/util/function/Function;)Ljava/util/Optional;"/>
+		<method name="of(Ljava/lang/Object;)Ljava/util/Optional;"/>
+		<method name="ofNullable(Ljava/lang/Object;)Ljava/util/Optional;"/>
+		<method name="orElse(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="orElseGet(Ljava/util/function/Supplier;)Ljava/lang/Object;"/>
+		<method name="orElseThrow(Ljava/util/function/Supplier;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/OptionalDouble" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="empty()Ljava/util/OptionalDouble;"/>
+		<method name="getAsDouble()D"/>
+		<method name="ifPresent(Ljava/util/function/DoubleConsumer;)V"/>
+		<method name="isPresent()Z"/>
+		<method name="of(D)Ljava/util/OptionalDouble;"/>
+		<method name="orElse(D)D"/>
+		<method name="orElseGet(Ljava/util/function/DoubleSupplier;)D"/>
+		<method name="orElseThrow(Ljava/util/function/Supplier;)D"/>
+	</class>
+	<class name="java/util/OptionalInt" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="empty()Ljava/util/OptionalInt;"/>
+		<method name="getAsInt()I"/>
+		<method name="ifPresent(Ljava/util/function/IntConsumer;)V"/>
+		<method name="isPresent()Z"/>
+		<method name="of(I)Ljava/util/OptionalInt;"/>
+		<method name="orElse(I)I"/>
+		<method name="orElseGet(Ljava/util/function/IntSupplier;)I"/>
+		<method name="orElseThrow(Ljava/util/function/Supplier;)I"/>
+	</class>
+	<class name="java/util/OptionalLong" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="empty()Ljava/util/OptionalLong;"/>
+		<method name="getAsLong()J"/>
+		<method name="ifPresent(Ljava/util/function/LongConsumer;)V"/>
+		<method name="isPresent()Z"/>
+		<method name="of(J)Ljava/util/OptionalLong;"/>
+		<method name="orElse(J)J"/>
+		<method name="orElseGet(Ljava/util/function/LongSupplier;)J"/>
+		<method name="orElseThrow(Ljava/util/function/Supplier;)J"/>
+	</class>
+	<class name="java/util/PrimitiveIterator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Iterator"/>
+		<method name="forEachRemaining(Ljava/lang/Object;)V"/>
+	</class>
+	<class name="java/util/PrimitiveIterator$OfDouble" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/PrimitiveIterator"/>
+		<method name="forEachRemaining(Ljava/util/function/DoubleConsumer;)V"/>
+		<method name="next()Ljava/lang/Double;"/>
+		<method name="nextDouble()D"/>
+	</class>
+	<class name="java/util/PrimitiveIterator$OfInt" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/PrimitiveIterator"/>
+		<method name="forEachRemaining(Ljava/util/function/IntConsumer;)V"/>
+		<method name="next()Ljava/lang/Integer;"/>
+		<method name="nextInt()I"/>
+	</class>
+	<class name="java/util/PrimitiveIterator$OfLong" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/PrimitiveIterator"/>
+		<method name="forEachRemaining(Ljava/util/function/LongConsumer;)V"/>
+		<method name="next()Ljava/lang/Long;"/>
+		<method name="nextLong()J"/>
+	</class>
+	<class name="java/util/PriorityQueue" since="1">
+		<extends name="java/util/AbstractQueue"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/util/Comparator;)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="&lt;init>(Ljava/util/Comparator;)V" since="24"/>
+		<method name="&lt;init>(Ljava/util/PriorityQueue;)V"/>
+		<method name="&lt;init>(Ljava/util/SortedSet;)V"/>
+		<method name="comparator()Ljava/util/Comparator;"/>
+	</class>
+	<class name="java/util/Properties" since="1">
+		<extends name="java/util/Hashtable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Properties;)V"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="list(Ljava/io/PrintStream;)V"/>
+		<method name="list(Ljava/io/PrintWriter;)V"/>
+		<method name="load(Ljava/io/InputStream;)V"/>
+		<method name="load(Ljava/io/Reader;)V" since="9"/>
+		<method name="loadFromXML(Ljava/io/InputStream;)V"/>
+		<method name="propertyNames()Ljava/util/Enumeration;"/>
+		<method name="save(Ljava/io/OutputStream;Ljava/lang/String;)V" deprecated="15"/>
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="store(Ljava/io/OutputStream;Ljava/lang/String;)V"/>
+		<method name="store(Ljava/io/Writer;Ljava/lang/String;)V" since="9"/>
+		<method name="storeToXML(Ljava/io/OutputStream;Ljava/lang/String;)V"/>
+		<method name="storeToXML(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="stringPropertyNames()Ljava/util/Set;" since="9"/>
+		<field name="defaults"/>
+	</class>
+	<class name="java/util/PropertyPermission" since="1">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/PropertyResourceBundle" since="1">
+		<extends name="java/util/ResourceBundle"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/Reader;)V" since="9"/>
+	</class>
+	<class name="java/util/Queue" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Collection"/>
+		<method name="element()Ljava/lang/Object;"/>
+		<method name="offer(Ljava/lang/Object;)Z"/>
+		<method name="peek()Ljava/lang/Object;"/>
+		<method name="poll()Ljava/lang/Object;"/>
+		<method name="remove()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/Random" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="doubles()Ljava/util/stream/DoubleStream;" since="24"/>
+		<method name="doubles(DD)Ljava/util/stream/DoubleStream;" since="24"/>
+		<method name="doubles(J)Ljava/util/stream/DoubleStream;" since="24"/>
+		<method name="doubles(JDD)Ljava/util/stream/DoubleStream;" since="24"/>
+		<method name="ints()Ljava/util/stream/IntStream;" since="24"/>
+		<method name="ints(II)Ljava/util/stream/IntStream;" since="24"/>
+		<method name="ints(J)Ljava/util/stream/IntStream;" since="24"/>
+		<method name="ints(JII)Ljava/util/stream/IntStream;" since="24"/>
+		<method name="longs()Ljava/util/stream/LongStream;" since="24"/>
+		<method name="longs(J)Ljava/util/stream/LongStream;" since="24"/>
+		<method name="longs(JJ)Ljava/util/stream/LongStream;" since="24"/>
+		<method name="longs(JJJ)Ljava/util/stream/LongStream;" since="24"/>
+		<method name="next(I)I"/>
+		<method name="nextBoolean()Z"/>
+		<method name="nextBytes([B)V"/>
+		<method name="nextDouble()D"/>
+		<method name="nextFloat()F"/>
+		<method name="nextGaussian()D"/>
+		<method name="nextInt()I"/>
+		<method name="nextInt(I)I"/>
+		<method name="nextLong()J"/>
+		<method name="setSeed(J)V"/>
+	</class>
+	<class name="java/util/RandomAccess" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/util/ResourceBundle" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="clearCache()V" since="9"/>
+		<method name="clearCache(Ljava/lang/ClassLoader;)V" since="9"/>
+		<method name="containsKey(Ljava/lang/String;)Z" since="9"/>
+		<method name="getBaseBundleName()Ljava/lang/String;" since="26"/>
+		<method name="getBundle(Ljava/lang/String;)Ljava/util/ResourceBundle;"/>
+		<method name="getBundle(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/ResourceBundle;"/>
+		<method name="getBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;"/>
+		<method name="getBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;" since="9"/>
+		<method name="getBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;" since="9"/>
+		<method name="getBundle(Ljava/lang/String;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;" since="9"/>
+		<method name="getKeys()Ljava/util/Enumeration;"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getObject(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getStringArray(Ljava/lang/String;)[Ljava/lang/String;"/>
+		<method name="handleGetObject(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="handleKeySet()Ljava/util/Set;" since="9"/>
+		<method name="keySet()Ljava/util/Set;" since="9"/>
+		<method name="setParent(Ljava/util/ResourceBundle;)V"/>
+		<field name="parent"/>
+	</class>
+	<class name="java/util/ResourceBundle$Control" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getCandidateLocales(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;"/>
+		<method name="getControl(Ljava/util/List;)Ljava/util/ResourceBundle$Control;"/>
+		<method name="getFallbackLocale(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/Locale;"/>
+		<method name="getFormats(Ljava/lang/String;)Ljava/util/List;"/>
+		<method name="getNoFallbackControl(Ljava/util/List;)Ljava/util/ResourceBundle$Control;"/>
+		<method name="getTimeToLive(Ljava/lang/String;Ljava/util/Locale;)J"/>
+		<method name="needsReload(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle;J)Z"/>
+		<method name="newBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/util/ResourceBundle;"/>
+		<method name="toBundleName(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="toResourceName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<field name="FORMAT_CLASS"/>
+		<field name="FORMAT_DEFAULT"/>
+		<field name="FORMAT_PROPERTIES"/>
+		<field name="TTL_DONT_CACHE"/>
+		<field name="TTL_NO_EXPIRATION_CONTROL"/>
+	</class>
+	<class name="java/util/Scanner" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable" since="19"/>
+		<implements name="java/util/Iterator"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/File;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/Readable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/nio/channels/ReadableByteChannel;)V"/>
+		<method name="&lt;init>(Ljava/nio/channels/ReadableByteChannel;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/nio/file/Path;)V" since="26"/>
+		<method name="&lt;init>(Ljava/nio/file/Path;Ljava/lang/String;)V" since="26"/>
+		<method name="close()V"/>
+		<method name="delimiter()Ljava/util/regex/Pattern;"/>
+		<method name="findInLine(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="findInLine(Ljava/util/regex/Pattern;)Ljava/lang/String;"/>
+		<method name="findWithinHorizon(Ljava/lang/String;I)Ljava/lang/String;"/>
+		<method name="findWithinHorizon(Ljava/util/regex/Pattern;I)Ljava/lang/String;"/>
+		<method name="hasNext(Ljava/lang/String;)Z"/>
+		<method name="hasNext(Ljava/util/regex/Pattern;)Z"/>
+		<method name="hasNextBigDecimal()Z"/>
+		<method name="hasNextBigInteger()Z"/>
+		<method name="hasNextBigInteger(I)Z"/>
+		<method name="hasNextBoolean()Z"/>
+		<method name="hasNextByte()Z"/>
+		<method name="hasNextByte(I)Z"/>
+		<method name="hasNextDouble()Z"/>
+		<method name="hasNextFloat()Z"/>
+		<method name="hasNextInt()Z"/>
+		<method name="hasNextInt(I)Z"/>
+		<method name="hasNextLine()Z"/>
+		<method name="hasNextLong()Z"/>
+		<method name="hasNextLong(I)Z"/>
+		<method name="hasNextShort()Z"/>
+		<method name="hasNextShort(I)Z"/>
+		<method name="ioException()Ljava/io/IOException;"/>
+		<method name="locale()Ljava/util/Locale;"/>
+		<method name="match()Ljava/util/regex/MatchResult;"/>
+		<method name="next()Ljava/lang/String;"/>
+		<method name="next(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="next(Ljava/util/regex/Pattern;)Ljava/lang/String;"/>
+		<method name="nextBigDecimal()Ljava/math/BigDecimal;"/>
+		<method name="nextBigInteger()Ljava/math/BigInteger;"/>
+		<method name="nextBigInteger(I)Ljava/math/BigInteger;"/>
+		<method name="nextBoolean()Z"/>
+		<method name="nextByte()B"/>
+		<method name="nextByte(I)B"/>
+		<method name="nextDouble()D"/>
+		<method name="nextFloat()F"/>
+		<method name="nextInt()I"/>
+		<method name="nextInt(I)I"/>
+		<method name="nextLine()Ljava/lang/String;"/>
+		<method name="nextLong()J"/>
+		<method name="nextLong(I)J"/>
+		<method name="nextShort()S"/>
+		<method name="nextShort(I)S"/>
+		<method name="radix()I"/>
+		<method name="reset()Ljava/util/Scanner;" since="9"/>
+		<method name="skip(Ljava/lang/String;)Ljava/util/Scanner;"/>
+		<method name="skip(Ljava/util/regex/Pattern;)Ljava/util/Scanner;"/>
+		<method name="useDelimiter(Ljava/lang/String;)Ljava/util/Scanner;"/>
+		<method name="useDelimiter(Ljava/util/regex/Pattern;)Ljava/util/Scanner;"/>
+		<method name="useLocale(Ljava/util/Locale;)Ljava/util/Scanner;"/>
+		<method name="useRadix(I)Ljava/util/Scanner;"/>
+	</class>
+	<class name="java/util/ServiceConfigurationError" since="9">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/ServiceLoader" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Iterable"/>
+		<method name="load(Ljava/lang/Class;)Ljava/util/ServiceLoader;"/>
+		<method name="load(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;"/>
+		<method name="loadInstalled(Ljava/lang/Class;)Ljava/util/ServiceLoader;"/>
+		<method name="reload()V"/>
+	</class>
+	<class name="java/util/Set" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Collection"/>
+		<method name="copyOf(Ljava/util/Collection;)Ljava/util/Set;" since="31"/>
+		<method name="of()Ljava/util/Set;" since="30"/>
+		<method name="of(Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+		<method name="of(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+		<method name="of([Ljava/lang/Object;)Ljava/util/Set;" since="30"/>
+	</class>
+	<class name="java/util/SimpleTimeZone" since="1">
+		<extends name="java/util/TimeZone"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+		<method name="&lt;init>(ILjava/lang/String;IIIIIIII)V"/>
+		<method name="&lt;init>(ILjava/lang/String;IIIIIIIII)V"/>
+		<method name="&lt;init>(ILjava/lang/String;IIIIIIIIIII)V"/>
+		<method name="setDSTSavings(I)V"/>
+		<method name="setEndRule(III)V"/>
+		<method name="setEndRule(IIII)V"/>
+		<method name="setEndRule(IIIIZ)V"/>
+		<method name="setStartRule(III)V"/>
+		<method name="setStartRule(IIII)V"/>
+		<method name="setStartRule(IIIIZ)V"/>
+		<method name="setStartYear(I)V"/>
+		<field name="STANDARD_TIME"/>
+		<field name="UTC_TIME"/>
+		<field name="WALL_TIME"/>
+	</class>
+	<class name="java/util/SortedMap" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Map"/>
+		<method name="comparator()Ljava/util/Comparator;"/>
+		<method name="firstKey()Ljava/lang/Object;"/>
+		<method name="headMap(Ljava/lang/Object;)Ljava/util/SortedMap;"/>
+		<method name="lastKey()Ljava/lang/Object;"/>
+		<method name="subMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedMap;"/>
+		<method name="tailMap(Ljava/lang/Object;)Ljava/util/SortedMap;"/>
+	</class>
+	<class name="java/util/SortedSet" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Set"/>
+		<method name="comparator()Ljava/util/Comparator;"/>
+		<method name="first()Ljava/lang/Object;"/>
+		<method name="headSet(Ljava/lang/Object;)Ljava/util/SortedSet;"/>
+		<method name="last()Ljava/lang/Object;"/>
+		<method name="subSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedSet;"/>
+		<method name="tailSet(Ljava/lang/Object;)Ljava/util/SortedSet;"/>
+	</class>
+	<class name="java/util/Spliterator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="characteristics()I"/>
+		<method name="estimateSize()J"/>
+		<method name="forEachRemaining(Ljava/util/function/Consumer;)V"/>
+		<method name="getComparator()Ljava/util/Comparator;"/>
+		<method name="getExactSizeIfKnown()J"/>
+		<method name="hasCharacteristics(I)Z"/>
+		<method name="tryAdvance(Ljava/util/function/Consumer;)Z"/>
+		<method name="trySplit()Ljava/util/Spliterator;"/>
+		<field name="CONCURRENT"/>
+		<field name="DISTINCT"/>
+		<field name="IMMUTABLE"/>
+		<field name="NONNULL"/>
+		<field name="ORDERED"/>
+		<field name="SIZED"/>
+		<field name="SORTED"/>
+		<field name="SUBSIZED"/>
+	</class>
+	<class name="java/util/Spliterator$OfDouble" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Spliterator$OfPrimitive"/>
+		<method name="forEachRemaining(Ljava/util/function/DoubleConsumer;)V"/>
+		<method name="tryAdvance(Ljava/util/function/DoubleConsumer;)Z"/>
+		<method name="trySplit()Ljava/util/Spliterator$OfDouble;"/>
+	</class>
+	<class name="java/util/Spliterator$OfInt" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Spliterator$OfPrimitive"/>
+		<method name="forEachRemaining(Ljava/util/function/IntConsumer;)V"/>
+		<method name="tryAdvance(Ljava/util/function/IntConsumer;)Z"/>
+		<method name="trySplit()Ljava/util/Spliterator$OfInt;"/>
+	</class>
+	<class name="java/util/Spliterator$OfLong" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Spliterator$OfPrimitive"/>
+		<method name="forEachRemaining(Ljava/util/function/LongConsumer;)V"/>
+		<method name="tryAdvance(Ljava/util/function/LongConsumer;)Z"/>
+		<method name="trySplit()Ljava/util/Spliterator$OfLong;"/>
+	</class>
+	<class name="java/util/Spliterator$OfPrimitive" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Spliterator"/>
+		<method name="forEachRemaining(Ljava/lang/Object;)V"/>
+		<method name="tryAdvance(Ljava/lang/Object;)Z"/>
+		<method name="trySplit()Ljava/util/Spliterator$OfPrimitive;"/>
+	</class>
+	<class name="java/util/Spliterators" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="emptyDoubleSpliterator()Ljava/util/Spliterator$OfDouble;"/>
+		<method name="emptyIntSpliterator()Ljava/util/Spliterator$OfInt;"/>
+		<method name="emptyLongSpliterator()Ljava/util/Spliterator$OfLong;"/>
+		<method name="emptySpliterator()Ljava/util/Spliterator;"/>
+		<method name="iterator(Ljava/util/Spliterator$OfDouble;)Ljava/util/PrimitiveIterator$OfDouble;"/>
+		<method name="iterator(Ljava/util/Spliterator$OfInt;)Ljava/util/PrimitiveIterator$OfInt;"/>
+		<method name="iterator(Ljava/util/Spliterator$OfLong;)Ljava/util/PrimitiveIterator$OfLong;"/>
+		<method name="iterator(Ljava/util/Spliterator;)Ljava/util/Iterator;"/>
+		<method name="spliterator(Ljava/util/Collection;I)Ljava/util/Spliterator;"/>
+		<method name="spliterator(Ljava/util/Iterator;JI)Ljava/util/Spliterator;"/>
+		<method name="spliterator(Ljava/util/PrimitiveIterator$OfDouble;JI)Ljava/util/Spliterator$OfDouble;"/>
+		<method name="spliterator(Ljava/util/PrimitiveIterator$OfInt;JI)Ljava/util/Spliterator$OfInt;"/>
+		<method name="spliterator(Ljava/util/PrimitiveIterator$OfLong;JI)Ljava/util/Spliterator$OfLong;"/>
+		<method name="spliterator([DI)Ljava/util/Spliterator$OfDouble;"/>
+		<method name="spliterator([DIII)Ljava/util/Spliterator$OfDouble;"/>
+		<method name="spliterator([II)Ljava/util/Spliterator$OfInt;"/>
+		<method name="spliterator([IIII)Ljava/util/Spliterator$OfInt;"/>
+		<method name="spliterator([JI)Ljava/util/Spliterator$OfLong;"/>
+		<method name="spliterator([JIII)Ljava/util/Spliterator$OfLong;"/>
+		<method name="spliterator([Ljava/lang/Object;I)Ljava/util/Spliterator;"/>
+		<method name="spliterator([Ljava/lang/Object;III)Ljava/util/Spliterator;"/>
+		<method name="spliteratorUnknownSize(Ljava/util/Iterator;I)Ljava/util/Spliterator;"/>
+		<method name="spliteratorUnknownSize(Ljava/util/PrimitiveIterator$OfDouble;I)Ljava/util/Spliterator$OfDouble;"/>
+		<method name="spliteratorUnknownSize(Ljava/util/PrimitiveIterator$OfInt;I)Ljava/util/Spliterator$OfInt;"/>
+		<method name="spliteratorUnknownSize(Ljava/util/PrimitiveIterator$OfLong;I)Ljava/util/Spliterator$OfLong;"/>
+	</class>
+	<class name="java/util/Spliterators$AbstractDoubleSpliterator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Spliterator$OfDouble"/>
+		<method name="&lt;init>(JI)V"/>
+	</class>
+	<class name="java/util/Spliterators$AbstractIntSpliterator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Spliterator$OfInt"/>
+		<method name="&lt;init>(JI)V"/>
+	</class>
+	<class name="java/util/Spliterators$AbstractLongSpliterator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Spliterator$OfLong"/>
+		<method name="&lt;init>(JI)V"/>
+	</class>
+	<class name="java/util/Spliterators$AbstractSpliterator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Spliterator"/>
+		<method name="&lt;init>(JI)V"/>
+	</class>
+	<class name="java/util/SplittableRandom" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="doubles()Ljava/util/stream/DoubleStream;"/>
+		<method name="doubles(DD)Ljava/util/stream/DoubleStream;"/>
+		<method name="doubles(J)Ljava/util/stream/DoubleStream;"/>
+		<method name="doubles(JDD)Ljava/util/stream/DoubleStream;"/>
+		<method name="ints()Ljava/util/stream/IntStream;"/>
+		<method name="ints(II)Ljava/util/stream/IntStream;"/>
+		<method name="ints(J)Ljava/util/stream/IntStream;"/>
+		<method name="ints(JII)Ljava/util/stream/IntStream;"/>
+		<method name="longs()Ljava/util/stream/LongStream;"/>
+		<method name="longs(J)Ljava/util/stream/LongStream;"/>
+		<method name="longs(JJ)Ljava/util/stream/LongStream;"/>
+		<method name="longs(JJJ)Ljava/util/stream/LongStream;"/>
+		<method name="nextBoolean()Z"/>
+		<method name="nextDouble()D"/>
+		<method name="nextDouble(D)D"/>
+		<method name="nextDouble(DD)D"/>
+		<method name="nextInt()I"/>
+		<method name="nextInt(I)I"/>
+		<method name="nextInt(II)I"/>
+		<method name="nextLong()J"/>
+		<method name="nextLong(J)J"/>
+		<method name="nextLong(JJ)J"/>
+		<method name="split()Ljava/util/SplittableRandom;"/>
+	</class>
+	<class name="java/util/Stack" since="1">
+		<extends name="java/util/Vector"/>
+		<method name="&lt;init>()V"/>
+		<method name="empty()Z"/>
+		<method name="peek()Ljava/lang/Object;"/>
+		<method name="pop()Ljava/lang/Object;"/>
+		<method name="push(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="search(Ljava/lang/Object;)I"/>
+	</class>
+	<class name="java/util/StringJoiner" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;)V"/>
+		<method name="&lt;init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V"/>
+		<method name="add(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;"/>
+		<method name="length()I"/>
+		<method name="merge(Ljava/util/StringJoiner;)Ljava/util/StringJoiner;"/>
+		<method name="setEmptyValue(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;"/>
+	</class>
+	<class name="java/util/StringTokenizer" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Enumeration"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Z)V"/>
+		<method name="countTokens()I"/>
+		<method name="hasMoreTokens()Z"/>
+		<method name="nextToken()Ljava/lang/String;"/>
+		<method name="nextToken(Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/TimeZone" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAvailableIDs()[Ljava/lang/String;"/>
+		<method name="getAvailableIDs(I)[Ljava/lang/String;"/>
+		<method name="getDSTSavings()I"/>
+		<method name="getDefault()Ljava/util/TimeZone;"/>
+		<method name="getDisplayName()Ljava/lang/String;"/>
+		<method name="getDisplayName(Ljava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getDisplayName(ZI)Ljava/lang/String;"/>
+		<method name="getDisplayName(ZILjava/util/Locale;)Ljava/lang/String;"/>
+		<method name="getID()Ljava/lang/String;"/>
+		<method name="getOffset(IIIIII)I"/>
+		<method name="getOffset(J)I"/>
+		<method name="getRawOffset()I"/>
+		<method name="getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;"/>
+		<method name="getTimeZone(Ljava/time/ZoneId;)Ljava/util/TimeZone;" since="26"/>
+		<method name="hasSameRules(Ljava/util/TimeZone;)Z"/>
+		<method name="inDaylightTime(Ljava/util/Date;)Z"/>
+		<method name="observesDaylightTime()Z" since="24"/>
+		<method name="setDefault(Ljava/util/TimeZone;)V"/>
+		<method name="setID(Ljava/lang/String;)V"/>
+		<method name="setRawOffset(I)V"/>
+		<method name="toZoneId()Ljava/time/ZoneId;" since="26"/>
+		<method name="useDaylightTime()Z"/>
+		<field name="LONG"/>
+		<field name="SHORT"/>
+	</class>
+	<class name="java/util/Timer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Z)V"/>
+		<method name="&lt;init>(Z)V"/>
+		<method name="cancel()V"/>
+		<method name="purge()I"/>
+		<method name="schedule(Ljava/util/TimerTask;J)V"/>
+		<method name="schedule(Ljava/util/TimerTask;JJ)V"/>
+		<method name="schedule(Ljava/util/TimerTask;Ljava/util/Date;)V"/>
+		<method name="schedule(Ljava/util/TimerTask;Ljava/util/Date;J)V"/>
+		<method name="scheduleAtFixedRate(Ljava/util/TimerTask;JJ)V"/>
+		<method name="scheduleAtFixedRate(Ljava/util/TimerTask;Ljava/util/Date;J)V"/>
+	</class>
+	<class name="java/util/TimerTask" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Runnable"/>
+		<method name="&lt;init>()V"/>
+		<method name="cancel()Z"/>
+		<method name="scheduledExecutionTime()J"/>
+	</class>
+	<class name="java/util/TooManyListenersException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/TreeMap" since="1">
+		<extends name="java/util/AbstractMap"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/NavigableMap" since="9"/>
+		<implements name="java/util/SortedMap" removed="24"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Comparator;)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+		<method name="&lt;init>(Ljava/util/SortedMap;)V"/>
+	</class>
+	<class name="java/util/TreeSet" since="1">
+		<extends name="java/util/AbstractSet"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/NavigableSet" since="9"/>
+		<implements name="java/util/SortedSet" removed="9"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="&lt;init>(Ljava/util/Comparator;)V"/>
+		<method name="&lt;init>(Ljava/util/SortedSet;)V"/>
+	</class>
+	<class name="java/util/UUID" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="&lt;init>(JJ)V"/>
+		<method name="clockSequence()I"/>
+		<method name="compareTo(Ljava/util/UUID;)I"/>
+		<method name="fromString(Ljava/lang/String;)Ljava/util/UUID;"/>
+		<method name="getLeastSignificantBits()J"/>
+		<method name="getMostSignificantBits()J"/>
+		<method name="nameUUIDFromBytes([B)Ljava/util/UUID;"/>
+		<method name="node()J"/>
+		<method name="randomUUID()Ljava/util/UUID;"/>
+		<method name="timestamp()J"/>
+		<method name="variant()I"/>
+		<method name="version()I"/>
+	</class>
+	<class name="java/util/UnknownFormatConversionException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getConversion()Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/UnknownFormatFlagsException" since="1">
+		<extends name="java/util/IllegalFormatException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getFlags()Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/Vector" since="1">
+		<extends name="java/util/AbstractList"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/RandomAccess"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="addElement(Ljava/lang/Object;)V"/>
+		<method name="capacity()I"/>
+		<method name="copyInto([Ljava/lang/Object;)V"/>
+		<method name="elementAt(I)Ljava/lang/Object;"/>
+		<method name="elements()Ljava/util/Enumeration;"/>
+		<method name="ensureCapacity(I)V"/>
+		<method name="firstElement()Ljava/lang/Object;"/>
+		<method name="indexOf(Ljava/lang/Object;I)I"/>
+		<method name="insertElementAt(Ljava/lang/Object;I)V"/>
+		<method name="lastElement()Ljava/lang/Object;"/>
+		<method name="lastIndexOf(Ljava/lang/Object;I)I"/>
+		<method name="removeAllElements()V"/>
+		<method name="removeElement(Ljava/lang/Object;)Z"/>
+		<method name="removeElementAt(I)V"/>
+		<method name="setElementAt(Ljava/lang/Object;I)V"/>
+		<method name="setSize(I)V"/>
+		<method name="trimToSize()V"/>
+		<field name="capacityIncrement"/>
+		<field name="elementCount"/>
+		<field name="elementData"/>
+	</class>
+	<class name="java/util/WeakHashMap" since="1">
+		<extends name="java/util/AbstractMap"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IF)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+	</class>
+	<class name="java/util/concurrent/AbstractExecutorService" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/ExecutorService"/>
+		<method name="&lt;init>()V"/>
+		<method name="newTaskFor(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/RunnableFuture;" since="9"/>
+		<method name="newTaskFor(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/RunnableFuture;" since="9"/>
+	</class>
+	<class name="java/util/concurrent/ArrayBlockingQueue" since="1">
+		<extends name="java/util/AbstractQueue"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/BlockingQueue"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IZ)V"/>
+		<method name="&lt;init>(IZLjava/util/Collection;)V"/>
+	</class>
+	<class name="java/util/concurrent/BlockingDeque" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Deque"/>
+		<implements name="java/util/concurrent/BlockingQueue"/>
+		<method name="offerFirst(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="offerLast(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="pollFirst(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;"/>
+		<method name="pollLast(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;"/>
+		<method name="putFirst(Ljava/lang/Object;)V"/>
+		<method name="putLast(Ljava/lang/Object;)V"/>
+		<method name="takeFirst()Ljava/lang/Object;"/>
+		<method name="takeLast()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/concurrent/BlockingQueue" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Queue"/>
+		<method name="drainTo(Ljava/util/Collection;)I"/>
+		<method name="drainTo(Ljava/util/Collection;I)I"/>
+		<method name="offer(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;"/>
+		<method name="put(Ljava/lang/Object;)V"/>
+		<method name="remainingCapacity()I"/>
+		<method name="take()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/concurrent/BrokenBarrierException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/concurrent/Callable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="call()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/concurrent/CancellationException" since="1">
+		<extends name="java/lang/IllegalStateException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/concurrent/CompletableFuture" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/CompletionStage"/>
+		<implements name="java/util/concurrent/Future"/>
+		<method name="&lt;init>()V"/>
+		<method name="acceptEither(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="acceptEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="acceptEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="allOf([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="anyOf([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="applyToEither(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="applyToEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="applyToEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="complete(Ljava/lang/Object;)Z"/>
+		<method name="completeAsync(Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;" since="31"/>
+		<method name="completeAsync(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;" since="31"/>
+		<method name="completeExceptionally(Ljava/lang/Throwable;)Z"/>
+		<method name="completeOnTimeout(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;" since="31"/>
+		<method name="completedFuture(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="completedStage(Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;" since="31"/>
+		<method name="copy()Ljava/util/concurrent/CompletableFuture;" since="31"/>
+		<method name="defaultExecutor()Ljava/util/concurrent/Executor;" since="31"/>
+		<method name="delayedExecutor(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Executor;" since="31"/>
+		<method name="delayedExecutor(JLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/Executor;" since="31"/>
+		<method name="exceptionally(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="failedFuture(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;" since="31"/>
+		<method name="failedStage(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletionStage;" since="31"/>
+		<method name="getNow(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="getNumberOfDependents()I"/>
+		<method name="handle(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="handleAsync(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="handleAsync(Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="isCompletedExceptionally()Z"/>
+		<method name="join()Ljava/lang/Object;"/>
+		<method name="minimalCompletionStage()Ljava/util/concurrent/CompletionStage;" since="31"/>
+		<method name="newIncompleteFuture()Ljava/util/concurrent/CompletableFuture;" since="31"/>
+		<method name="obtrudeException(Ljava/lang/Throwable;)V"/>
+		<method name="obtrudeValue(Ljava/lang/Object;)V"/>
+		<method name="orTimeout(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;" since="31"/>
+		<method name="runAfterBoth(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="runAfterBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="runAfterBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="runAfterEither(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="runAfterEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="runAfterEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="runAsync(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="runAsync(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="supplyAsync(Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="supplyAsync(Ljava/util/function/Supplier;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenAccept(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenAcceptAsync(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenAcceptAsync(Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenAcceptBoth(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenApply(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenApplyAsync(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenApplyAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenCombine(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenCombineAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenCombineAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenCompose(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenComposeAsync(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenComposeAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenRun(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenRunAsync(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="thenRunAsync(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="whenComplete(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="whenCompleteAsync(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="whenCompleteAsync(Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;"/>
+	</class>
+	<class name="java/util/concurrent/CompletableFuture$AsynchronousCompletionTask" since="24">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="java/util/concurrent/CompletionException" since="24">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/concurrent/CompletionService" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="poll()Ljava/util/concurrent/Future;"/>
+		<method name="poll(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Future;"/>
+		<method name="submit(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Future;"/>
+		<method name="submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;"/>
+		<method name="take()Ljava/util/concurrent/Future;"/>
+	</class>
+	<class name="java/util/concurrent/CompletionStage" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="acceptEither(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="acceptEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="acceptEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="applyToEither(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="applyToEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="applyToEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="exceptionally(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="handle(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="handleAsync(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="handleAsync(Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="runAfterBoth(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="runAfterBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="runAfterBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="runAfterEither(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="runAfterEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="runAfterEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenAccept(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenAcceptAsync(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenAcceptAsync(Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenAcceptBoth(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenApply(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenApplyAsync(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenApplyAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenCombine(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenCombineAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenCombineAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenCompose(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenComposeAsync(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenComposeAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenRun(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenRunAsync(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="thenRunAsync(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="toCompletableFuture()Ljava/util/concurrent/CompletableFuture;"/>
+		<method name="whenComplete(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="whenCompleteAsync(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;"/>
+		<method name="whenCompleteAsync(Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;"/>
+	</class>
+	<class name="java/util/concurrent/ConcurrentHashMap" since="1">
+		<extends name="java/util/AbstractMap"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/ConcurrentMap"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IF)V" since="9"/>
+		<method name="&lt;init>(IFI)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+		<method name="contains(Ljava/lang/Object;)Z"/>
+		<method name="elements()Ljava/util/Enumeration;"/>
+		<method name="forEach(JLjava/util/function/BiConsumer;)V" since="24"/>
+		<method name="forEach(JLjava/util/function/BiFunction;Ljava/util/function/Consumer;)V" since="24"/>
+		<method name="forEachEntry(JLjava/util/function/Consumer;)V" since="24"/>
+		<method name="forEachEntry(JLjava/util/function/Function;Ljava/util/function/Consumer;)V" since="24"/>
+		<method name="forEachKey(JLjava/util/function/Consumer;)V" since="24"/>
+		<method name="forEachKey(JLjava/util/function/Function;Ljava/util/function/Consumer;)V" since="24"/>
+		<method name="forEachValue(JLjava/util/function/Consumer;)V" since="24"/>
+		<method name="forEachValue(JLjava/util/function/Function;Ljava/util/function/Consumer;)V" since="24"/>
+		<method name="keySet(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$KeySetView;" since="24"/>
+		<method name="keys()Ljava/util/Enumeration;"/>
+		<method name="mappingCount()J" since="24"/>
+		<method name="newKeySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;" since="24"/>
+		<method name="newKeySet(I)Ljava/util/concurrent/ConcurrentHashMap$KeySetView;" since="24"/>
+		<method name="reduce(JLjava/util/function/BiFunction;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24"/>
+		<method name="reduceEntries(JLjava/util/function/BiFunction;)Ljava/util/Map$Entry;" since="24"/>
+		<method name="reduceEntries(JLjava/util/function/Function;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24"/>
+		<method name="reduceEntriesToDouble(JLjava/util/function/ToDoubleFunction;DLjava/util/function/DoubleBinaryOperator;)D" since="24"/>
+		<method name="reduceEntriesToInt(JLjava/util/function/ToIntFunction;ILjava/util/function/IntBinaryOperator;)I" since="24"/>
+		<method name="reduceEntriesToLong(JLjava/util/function/ToLongFunction;JLjava/util/function/LongBinaryOperator;)J" since="24"/>
+		<method name="reduceKeys(JLjava/util/function/BiFunction;)Ljava/lang/Object;" since="24"/>
+		<method name="reduceKeys(JLjava/util/function/Function;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24"/>
+		<method name="reduceKeysToDouble(JLjava/util/function/ToDoubleFunction;DLjava/util/function/DoubleBinaryOperator;)D" since="24"/>
+		<method name="reduceKeysToInt(JLjava/util/function/ToIntFunction;ILjava/util/function/IntBinaryOperator;)I" since="24"/>
+		<method name="reduceKeysToLong(JLjava/util/function/ToLongFunction;JLjava/util/function/LongBinaryOperator;)J" since="24"/>
+		<method name="reduceToDouble(JLjava/util/function/ToDoubleBiFunction;DLjava/util/function/DoubleBinaryOperator;)D" since="24"/>
+		<method name="reduceToInt(JLjava/util/function/ToIntBiFunction;ILjava/util/function/IntBinaryOperator;)I" since="24"/>
+		<method name="reduceToLong(JLjava/util/function/ToLongBiFunction;JLjava/util/function/LongBinaryOperator;)J" since="24"/>
+		<method name="reduceValues(JLjava/util/function/BiFunction;)Ljava/lang/Object;" since="24"/>
+		<method name="reduceValues(JLjava/util/function/Function;Ljava/util/function/BiFunction;)Ljava/lang/Object;" since="24"/>
+		<method name="reduceValuesToDouble(JLjava/util/function/ToDoubleFunction;DLjava/util/function/DoubleBinaryOperator;)D" since="24"/>
+		<method name="reduceValuesToInt(JLjava/util/function/ToIntFunction;ILjava/util/function/IntBinaryOperator;)I" since="24"/>
+		<method name="reduceValuesToLong(JLjava/util/function/ToLongFunction;JLjava/util/function/LongBinaryOperator;)J" since="24"/>
+		<method name="search(JLjava/util/function/BiFunction;)Ljava/lang/Object;" since="24"/>
+		<method name="searchEntries(JLjava/util/function/Function;)Ljava/lang/Object;" since="24"/>
+		<method name="searchKeys(JLjava/util/function/Function;)Ljava/lang/Object;" since="24"/>
+		<method name="searchValues(JLjava/util/function/Function;)Ljava/lang/Object;" since="24"/>
+	</class>
+	<class name="java/util/concurrent/ConcurrentHashMap$KeySetView" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Set"/>
+		<method name="getMappedValue()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/concurrent/ConcurrentLinkedDeque" since="21">
+		<extends name="java/util/AbstractCollection"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/Deque"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+	</class>
+	<class name="java/util/concurrent/ConcurrentLinkedQueue" since="1">
+		<extends name="java/util/AbstractQueue"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+	</class>
+	<class name="java/util/concurrent/ConcurrentMap" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Map"/>
+		<method name="putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="remove(Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+		<method name="replace(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="replace(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="java/util/concurrent/ConcurrentNavigableMap" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/NavigableMap"/>
+		<implements name="java/util/concurrent/ConcurrentMap"/>
+		<method name="descendingMap()Ljava/util/concurrent/ConcurrentNavigableMap;"/>
+		<method name="headMap(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentNavigableMap;"/>
+		<method name="headMap(Ljava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;"/>
+		<method name="keySet()Ljava/util/NavigableSet;"/>
+		<method name="subMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentNavigableMap;"/>
+		<method name="subMap(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;"/>
+		<method name="tailMap(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentNavigableMap;"/>
+		<method name="tailMap(Ljava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;"/>
+	</class>
+	<class name="java/util/concurrent/ConcurrentSkipListMap" since="9">
+		<extends name="java/util/AbstractMap"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/concurrent/ConcurrentNavigableMap"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Comparator;)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+		<method name="&lt;init>(Ljava/util/SortedMap;)V"/>
+		<method name="clone()Ljava/util/concurrent/ConcurrentSkipListMap;"/>
+	</class>
+	<class name="java/util/concurrent/ConcurrentSkipListSet" since="9">
+		<extends name="java/util/AbstractSet"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/NavigableSet"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="&lt;init>(Ljava/util/Comparator;)V"/>
+		<method name="&lt;init>(Ljava/util/SortedSet;)V"/>
+		<method name="clone()Ljava/util/concurrent/ConcurrentSkipListSet;"/>
+		<method name="headSet(Ljava/lang/Object;)Ljava/util/NavigableSet;"/>
+		<method name="subSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/NavigableSet;"/>
+		<method name="tailSet(Ljava/lang/Object;)Ljava/util/NavigableSet;"/>
+	</class>
+	<class name="java/util/concurrent/CopyOnWriteArrayList" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/List"/>
+		<implements name="java/util/RandomAccess"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="&lt;init>([Ljava/lang/Object;)V"/>
+		<method name="addAllAbsent(Ljava/util/Collection;)I"/>
+		<method name="addIfAbsent(Ljava/lang/Object;)Z"/>
+		<method name="indexOf(Ljava/lang/Object;I)I"/>
+		<method name="lastIndexOf(Ljava/lang/Object;I)I"/>
+	</class>
+	<class name="java/util/concurrent/CopyOnWriteArraySet" since="1">
+		<extends name="java/util/AbstractSet"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+	</class>
+	<class name="java/util/concurrent/CountDownLatch" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="await()V"/>
+		<method name="await(JLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="countDown()V"/>
+		<method name="getCount()J"/>
+	</class>
+	<class name="java/util/concurrent/CountedCompleter" since="24">
+		<extends name="java/util/concurrent/ForkJoinTask"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/concurrent/CountedCompleter;)V"/>
+		<method name="&lt;init>(Ljava/util/concurrent/CountedCompleter;I)V"/>
+		<method name="addToPendingCount(I)V"/>
+		<method name="compareAndSetPendingCount(II)Z"/>
+		<method name="compute()V"/>
+		<method name="decrementPendingCountUnlessZero()I"/>
+		<method name="firstComplete()Ljava/util/concurrent/CountedCompleter;"/>
+		<method name="getCompleter()Ljava/util/concurrent/CountedCompleter;"/>
+		<method name="getPendingCount()I"/>
+		<method name="getRoot()Ljava/util/concurrent/CountedCompleter;"/>
+		<method name="helpComplete(I)V"/>
+		<method name="nextComplete()Ljava/util/concurrent/CountedCompleter;"/>
+		<method name="onCompletion(Ljava/util/concurrent/CountedCompleter;)V"/>
+		<method name="onExceptionalCompletion(Ljava/lang/Throwable;Ljava/util/concurrent/CountedCompleter;)Z"/>
+		<method name="propagateCompletion()V"/>
+		<method name="quietlyCompleteRoot()V"/>
+		<method name="setPendingCount(I)V"/>
+		<method name="tryComplete()V"/>
+	</class>
+	<class name="java/util/concurrent/CyclicBarrier" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/lang/Runnable;)V"/>
+		<method name="await()I"/>
+		<method name="await(JLjava/util/concurrent/TimeUnit;)I"/>
+		<method name="getNumberWaiting()I"/>
+		<method name="getParties()I"/>
+		<method name="isBroken()Z"/>
+		<method name="reset()V"/>
+	</class>
+	<class name="java/util/concurrent/DelayQueue" since="1">
+		<extends name="java/util/AbstractQueue"/>
+		<implements name="java/util/concurrent/BlockingQueue"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="add(Ljava/util/concurrent/Delayed;)Z"/>
+		<method name="offer(Ljava/util/concurrent/Delayed;)Z"/>
+		<method name="offer(Ljava/util/concurrent/Delayed;JLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="peek()Ljava/util/concurrent/Delayed;"/>
+		<method name="poll()Ljava/util/concurrent/Delayed;"/>
+		<method name="poll(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Delayed;"/>
+		<method name="put(Ljava/util/concurrent/Delayed;)V"/>
+		<method name="take()Ljava/util/concurrent/Delayed;"/>
+	</class>
+	<class name="java/util/concurrent/Delayed" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Comparable"/>
+		<method name="getDelay(Ljava/util/concurrent/TimeUnit;)J"/>
+	</class>
+	<class name="java/util/concurrent/Exchanger" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="exchange(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="exchange(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/concurrent/ExecutionException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/concurrent/Executor" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="execute(Ljava/lang/Runnable;)V"/>
+	</class>
+	<class name="java/util/concurrent/ExecutorCompletionService" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/CompletionService"/>
+		<method name="&lt;init>(Ljava/util/concurrent/Executor;)V"/>
+		<method name="&lt;init>(Ljava/util/concurrent/Executor;Ljava/util/concurrent/BlockingQueue;)V"/>
+	</class>
+	<class name="java/util/concurrent/ExecutorService" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/Executor"/>
+		<method name="awaitTermination(JLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="invokeAll(Ljava/util/Collection;)Ljava/util/List;"/>
+		<method name="invokeAll(Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;)Ljava/util/List;"/>
+		<method name="invokeAny(Ljava/util/Collection;)Ljava/lang/Object;"/>
+		<method name="invokeAny(Ljava/util/Collection;JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;"/>
+		<method name="isShutdown()Z"/>
+		<method name="isTerminated()Z"/>
+		<method name="shutdown()V"/>
+		<method name="shutdownNow()Ljava/util/List;"/>
+		<method name="submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;"/>
+		<method name="submit(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Future;"/>
+		<method name="submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;"/>
+	</class>
+	<class name="java/util/concurrent/Executors" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="callable(Ljava/lang/Runnable;)Ljava/util/concurrent/Callable;"/>
+		<method name="callable(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Callable;"/>
+		<method name="callable(Ljava/security/PrivilegedAction;)Ljava/util/concurrent/Callable;"/>
+		<method name="callable(Ljava/security/PrivilegedExceptionAction;)Ljava/util/concurrent/Callable;"/>
+		<method name="defaultThreadFactory()Ljava/util/concurrent/ThreadFactory;"/>
+		<method name="newCachedThreadPool()Ljava/util/concurrent/ExecutorService;"/>
+		<method name="newCachedThreadPool(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;"/>
+		<method name="newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;"/>
+		<method name="newFixedThreadPool(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;"/>
+		<method name="newScheduledThreadPool(I)Ljava/util/concurrent/ScheduledExecutorService;"/>
+		<method name="newScheduledThreadPool(ILjava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;"/>
+		<method name="newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;"/>
+		<method name="newSingleThreadExecutor(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;"/>
+		<method name="newSingleThreadScheduledExecutor()Ljava/util/concurrent/ScheduledExecutorService;"/>
+		<method name="newSingleThreadScheduledExecutor(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;"/>
+		<method name="newWorkStealingPool()Ljava/util/concurrent/ExecutorService;" since="24"/>
+		<method name="newWorkStealingPool(I)Ljava/util/concurrent/ExecutorService;" since="24"/>
+		<method name="privilegedCallable(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Callable;"/>
+		<method name="privilegedCallableUsingCurrentClassLoader(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Callable;"/>
+		<method name="privilegedThreadFactory()Ljava/util/concurrent/ThreadFactory;"/>
+		<method name="unconfigurableExecutorService(Ljava/util/concurrent/ExecutorService;)Ljava/util/concurrent/ExecutorService;"/>
+		<method name="unconfigurableScheduledExecutorService(Ljava/util/concurrent/ScheduledExecutorService;)Ljava/util/concurrent/ScheduledExecutorService;"/>
+	</class>
+	<class name="java/util/concurrent/Flow" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="defaultBufferSize()I"/>
+	</class>
+	<class name="java/util/concurrent/Flow$Processor" since="30">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/Flow$Publisher"/>
+		<implements name="java/util/concurrent/Flow$Subscriber"/>
+	</class>
+	<class name="java/util/concurrent/Flow$Publisher" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="subscribe(Ljava/util/concurrent/Flow$Subscriber;)V"/>
+	</class>
+	<class name="java/util/concurrent/Flow$Subscriber" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="onComplete()V"/>
+		<method name="onError(Ljava/lang/Throwable;)V"/>
+		<method name="onNext(Ljava/lang/Object;)V"/>
+		<method name="onSubscribe(Ljava/util/concurrent/Flow$Subscription;)V"/>
+	</class>
+	<class name="java/util/concurrent/Flow$Subscription" since="30">
+		<extends name="java/lang/Object"/>
+		<method name="cancel()V"/>
+		<method name="request(J)V"/>
+	</class>
+	<class name="java/util/concurrent/ForkJoinPool" since="21">
+		<extends name="java/util/concurrent/AbstractExecutorService"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;Z)V"/>
+		<method name="awaitQuiescence(JLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="commonPool()Ljava/util/concurrent/ForkJoinPool;" since="24"/>
+		<method name="drainTasksTo(Ljava/util/Collection;)I"/>
+		<method name="execute(Ljava/util/concurrent/ForkJoinTask;)V"/>
+		<method name="getActiveThreadCount()I"/>
+		<method name="getAsyncMode()Z"/>
+		<method name="getCommonPoolParallelism()I" since="24"/>
+		<method name="getFactory()Ljava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;"/>
+		<method name="getParallelism()I"/>
+		<method name="getPoolSize()I"/>
+		<method name="getQueuedSubmissionCount()I"/>
+		<method name="getQueuedTaskCount()J"/>
+		<method name="getRunningThreadCount()I"/>
+		<method name="getStealCount()J"/>
+		<method name="getUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;"/>
+		<method name="hasQueuedSubmissions()Z"/>
+		<method name="invoke(Ljava/util/concurrent/ForkJoinTask;)Ljava/lang/Object;"/>
+		<method name="isQuiescent()Z"/>
+		<method name="isTerminating()Z"/>
+		<method name="managedBlock(Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V"/>
+		<method name="pollSubmission()Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="submit(Ljava/lang/Runnable;)Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="submit(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="submit(Ljava/util/concurrent/ForkJoinTask;)Ljava/util/concurrent/ForkJoinTask;"/>
+		<field name="defaultForkJoinWorkerThreadFactory"/>
+	</class>
+	<class name="java/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="newThread(Ljava/util/concurrent/ForkJoinPool;)Ljava/util/concurrent/ForkJoinWorkerThread;"/>
+	</class>
+	<class name="java/util/concurrent/ForkJoinPool$ManagedBlocker" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="block()Z"/>
+		<method name="isReleasable()Z"/>
+	</class>
+	<class name="java/util/concurrent/ForkJoinTask" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/Future"/>
+		<method name="&lt;init>()V"/>
+		<method name="adapt(Ljava/lang/Runnable;)Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="adapt(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="adapt(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="compareAndSetForkJoinTaskTag(SS)Z" since="24"/>
+		<method name="complete(Ljava/lang/Object;)V"/>
+		<method name="completeExceptionally(Ljava/lang/Throwable;)V"/>
+		<method name="exec()Z"/>
+		<method name="fork()Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="getException()Ljava/lang/Throwable;"/>
+		<method name="getForkJoinTaskTag()S" since="24"/>
+		<method name="getPool()Ljava/util/concurrent/ForkJoinPool;"/>
+		<method name="getQueuedTaskCount()I"/>
+		<method name="getRawResult()Ljava/lang/Object;"/>
+		<method name="getSurplusQueuedTaskCount()I"/>
+		<method name="helpQuiesce()V"/>
+		<method name="inForkJoinPool()Z"/>
+		<method name="invoke()Ljava/lang/Object;"/>
+		<method name="invokeAll(Ljava/util/Collection;)Ljava/util/Collection;"/>
+		<method name="invokeAll(Ljava/util/concurrent/ForkJoinTask;Ljava/util/concurrent/ForkJoinTask;)V"/>
+		<method name="invokeAll([Ljava/util/concurrent/ForkJoinTask;)V"/>
+		<method name="isCompletedAbnormally()Z"/>
+		<method name="isCompletedNormally()Z"/>
+		<method name="join()Ljava/lang/Object;"/>
+		<method name="peekNextLocalTask()Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="pollNextLocalTask()Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="pollTask()Ljava/util/concurrent/ForkJoinTask;"/>
+		<method name="quietlyComplete()V" since="24"/>
+		<method name="quietlyInvoke()V"/>
+		<method name="quietlyJoin()V"/>
+		<method name="reinitialize()V"/>
+		<method name="setForkJoinTaskTag(S)S" since="24"/>
+		<method name="setRawResult(Ljava/lang/Object;)V"/>
+		<method name="tryUnfork()Z"/>
+	</class>
+	<class name="java/util/concurrent/ForkJoinWorkerThread" since="21">
+		<extends name="java/lang/Thread"/>
+		<method name="&lt;init>(Ljava/util/concurrent/ForkJoinPool;)V"/>
+		<method name="getPool()Ljava/util/concurrent/ForkJoinPool;"/>
+		<method name="getPoolIndex()I"/>
+		<method name="onStart()V"/>
+		<method name="onTermination(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/concurrent/Future" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="cancel(Z)Z"/>
+		<method name="get()Ljava/lang/Object;"/>
+		<method name="get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;"/>
+		<method name="isCancelled()Z"/>
+		<method name="isDone()Z"/>
+	</class>
+	<class name="java/util/concurrent/FutureTask" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Runnable" removed="9"/>
+		<implements name="java/util/concurrent/Future" removed="9"/>
+		<implements name="java/util/concurrent/RunnableFuture" since="9"/>
+		<method name="&lt;init>(Ljava/lang/Runnable;Ljava/lang/Object;)V"/>
+		<method name="&lt;init>(Ljava/util/concurrent/Callable;)V"/>
+		<method name="done()V"/>
+		<method name="runAndReset()Z"/>
+		<method name="set(Ljava/lang/Object;)V"/>
+		<method name="setException(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/concurrent/LinkedBlockingDeque" since="9">
+		<extends name="java/util/AbstractQueue"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/BlockingDeque"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+	</class>
+	<class name="java/util/concurrent/LinkedBlockingQueue" since="1">
+		<extends name="java/util/AbstractQueue"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/BlockingQueue"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+	</class>
+	<class name="java/util/concurrent/LinkedTransferQueue" since="21">
+		<extends name="java/util/AbstractQueue"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/TransferQueue"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+	</class>
+	<class name="java/util/concurrent/Phaser" since="21">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/util/concurrent/Phaser;)V"/>
+		<method name="&lt;init>(Ljava/util/concurrent/Phaser;I)V"/>
+		<method name="arrive()I"/>
+		<method name="arriveAndAwaitAdvance()I"/>
+		<method name="arriveAndDeregister()I"/>
+		<method name="awaitAdvance(I)I"/>
+		<method name="awaitAdvanceInterruptibly(I)I"/>
+		<method name="awaitAdvanceInterruptibly(IJLjava/util/concurrent/TimeUnit;)I"/>
+		<method name="bulkRegister(I)I"/>
+		<method name="forceTermination()V"/>
+		<method name="getArrivedParties()I"/>
+		<method name="getParent()Ljava/util/concurrent/Phaser;"/>
+		<method name="getPhase()I"/>
+		<method name="getRegisteredParties()I"/>
+		<method name="getRoot()Ljava/util/concurrent/Phaser;"/>
+		<method name="getUnarrivedParties()I"/>
+		<method name="isTerminated()Z"/>
+		<method name="onAdvance(II)Z"/>
+		<method name="register()I"/>
+	</class>
+	<class name="java/util/concurrent/PriorityBlockingQueue" since="1">
+		<extends name="java/util/AbstractQueue"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/BlockingQueue"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/util/Comparator;)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="comparator()Ljava/util/Comparator;"/>
+	</class>
+	<class name="java/util/concurrent/RecursiveAction" since="21">
+		<extends name="java/util/concurrent/ForkJoinTask"/>
+		<method name="&lt;init>()V"/>
+		<method name="compute()V"/>
+		<method name="getRawResult()Ljava/lang/Void;"/>
+		<method name="setRawResult(Ljava/lang/Void;)V"/>
+	</class>
+	<class name="java/util/concurrent/RecursiveTask" since="21">
+		<extends name="java/util/concurrent/ForkJoinTask"/>
+		<method name="&lt;init>()V"/>
+		<method name="compute()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/concurrent/RejectedExecutionException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/concurrent/RejectedExecutionHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="rejectedExecution(Ljava/lang/Runnable;Ljava/util/concurrent/ThreadPoolExecutor;)V"/>
+	</class>
+	<class name="java/util/concurrent/RunnableFuture" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Runnable"/>
+		<implements name="java/util/concurrent/Future"/>
+	</class>
+	<class name="java/util/concurrent/RunnableScheduledFuture" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/RunnableFuture"/>
+		<implements name="java/util/concurrent/ScheduledFuture"/>
+		<method name="isPeriodic()Z"/>
+	</class>
+	<class name="java/util/concurrent/ScheduledExecutorService" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/ExecutorService"/>
+		<method name="schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;"/>
+		<method name="schedule(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;"/>
+		<method name="scheduleAtFixedRate(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;"/>
+		<method name="scheduleWithFixedDelay(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;"/>
+	</class>
+	<class name="java/util/concurrent/ScheduledFuture" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/Delayed"/>
+		<implements name="java/util/concurrent/Future"/>
+	</class>
+	<class name="java/util/concurrent/ScheduledThreadPoolExecutor" since="1">
+		<extends name="java/util/concurrent/ThreadPoolExecutor"/>
+		<implements name="java/util/concurrent/ScheduledExecutorService"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(ILjava/util/concurrent/RejectedExecutionHandler;)V"/>
+		<method name="&lt;init>(ILjava/util/concurrent/ThreadFactory;)V"/>
+		<method name="&lt;init>(ILjava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V"/>
+		<method name="decorateTask(Ljava/lang/Runnable;Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;" since="9"/>
+		<method name="decorateTask(Ljava/util/concurrent/Callable;Ljava/util/concurrent/RunnableScheduledFuture;)Ljava/util/concurrent/RunnableScheduledFuture;" since="9"/>
+		<method name="getContinueExistingPeriodicTasksAfterShutdownPolicy()Z"/>
+		<method name="getExecuteExistingDelayedTasksAfterShutdownPolicy()Z"/>
+		<method name="getRemoveOnCancelPolicy()Z" since="21"/>
+		<method name="setContinueExistingPeriodicTasksAfterShutdownPolicy(Z)V"/>
+		<method name="setExecuteExistingDelayedTasksAfterShutdownPolicy(Z)V"/>
+		<method name="setRemoveOnCancelPolicy(Z)V" since="21"/>
+	</class>
+	<class name="java/util/concurrent/Semaphore" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IZ)V"/>
+		<method name="acquire()V"/>
+		<method name="acquire(I)V"/>
+		<method name="acquireUninterruptibly()V"/>
+		<method name="acquireUninterruptibly(I)V"/>
+		<method name="availablePermits()I"/>
+		<method name="drainPermits()I"/>
+		<method name="getQueueLength()I"/>
+		<method name="getQueuedThreads()Ljava/util/Collection;"/>
+		<method name="hasQueuedThreads()Z"/>
+		<method name="isFair()Z"/>
+		<method name="reducePermits(I)V"/>
+		<method name="release()V"/>
+		<method name="release(I)V"/>
+		<method name="tryAcquire()Z"/>
+		<method name="tryAcquire(I)Z"/>
+		<method name="tryAcquire(IJLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="tryAcquire(JLjava/util/concurrent/TimeUnit;)Z"/>
+	</class>
+	<class name="java/util/concurrent/SynchronousQueue" since="1">
+		<extends name="java/util/AbstractQueue"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/BlockingQueue"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Z)V"/>
+	</class>
+	<class name="java/util/concurrent/ThreadFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;"/>
+	</class>
+	<class name="java/util/concurrent/ThreadLocalRandom" since="21">
+		<extends name="java/util/Random"/>
+		<method name="current()Ljava/util/concurrent/ThreadLocalRandom;"/>
+		<method name="nextDouble(D)D"/>
+		<method name="nextDouble(DD)D"/>
+		<method name="nextInt(II)I"/>
+		<method name="nextLong(J)J"/>
+		<method name="nextLong(JJ)J"/>
+	</class>
+	<class name="java/util/concurrent/ThreadPoolExecutor" since="1">
+		<extends name="java/util/concurrent/AbstractExecutorService"/>
+		<method name="&lt;init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;)V"/>
+		<method name="&lt;init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/RejectedExecutionHandler;)V"/>
+		<method name="&lt;init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V"/>
+		<method name="&lt;init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V"/>
+		<method name="afterExecute(Ljava/lang/Runnable;Ljava/lang/Throwable;)V"/>
+		<method name="allowCoreThreadTimeOut(Z)V" since="9"/>
+		<method name="allowsCoreThreadTimeOut()Z" since="9"/>
+		<method name="beforeExecute(Ljava/lang/Thread;Ljava/lang/Runnable;)V"/>
+		<method name="getActiveCount()I"/>
+		<method name="getCompletedTaskCount()J"/>
+		<method name="getCorePoolSize()I"/>
+		<method name="getKeepAliveTime(Ljava/util/concurrent/TimeUnit;)J"/>
+		<method name="getLargestPoolSize()I"/>
+		<method name="getMaximumPoolSize()I"/>
+		<method name="getPoolSize()I"/>
+		<method name="getQueue()Ljava/util/concurrent/BlockingQueue;"/>
+		<method name="getRejectedExecutionHandler()Ljava/util/concurrent/RejectedExecutionHandler;"/>
+		<method name="getTaskCount()J"/>
+		<method name="getThreadFactory()Ljava/util/concurrent/ThreadFactory;"/>
+		<method name="isTerminating()Z"/>
+		<method name="prestartAllCoreThreads()I"/>
+		<method name="prestartCoreThread()Z"/>
+		<method name="purge()V"/>
+		<method name="remove(Ljava/lang/Runnable;)Z"/>
+		<method name="setCorePoolSize(I)V"/>
+		<method name="setKeepAliveTime(JLjava/util/concurrent/TimeUnit;)V"/>
+		<method name="setMaximumPoolSize(I)V"/>
+		<method name="setRejectedExecutionHandler(Ljava/util/concurrent/RejectedExecutionHandler;)V"/>
+		<method name="setThreadFactory(Ljava/util/concurrent/ThreadFactory;)V"/>
+		<method name="terminated()V"/>
+	</class>
+	<class name="java/util/concurrent/ThreadPoolExecutor$AbortPolicy" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/RejectedExecutionHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/concurrent/ThreadPoolExecutor$CallerRunsPolicy" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/RejectedExecutionHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/RejectedExecutionHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/concurrent/ThreadPoolExecutor$DiscardPolicy" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/RejectedExecutionHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/concurrent/TimeUnit" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="convert(JLjava/util/concurrent/TimeUnit;)J"/>
+		<method name="sleep(J)V"/>
+		<method name="timedJoin(Ljava/lang/Thread;J)V"/>
+		<method name="timedWait(Ljava/lang/Object;J)V"/>
+		<method name="toDays(J)J" since="9"/>
+		<method name="toHours(J)J" since="9"/>
+		<method name="toMicros(J)J"/>
+		<method name="toMillis(J)J"/>
+		<method name="toMinutes(J)J" since="9"/>
+		<method name="toNanos(J)J"/>
+		<method name="toSeconds(J)J"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/util/concurrent/TimeUnit;"/>
+		<method name="values()[Ljava/util/concurrent/TimeUnit;"/>
+		<field name="DAYS" since="9"/>
+		<field name="HOURS" since="9"/>
+		<field name="MICROSECONDS"/>
+		<field name="MILLISECONDS"/>
+		<field name="MINUTES" since="9"/>
+		<field name="NANOSECONDS"/>
+		<field name="SECONDS"/>
+	</class>
+	<class name="java/util/concurrent/TimeoutException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/concurrent/TransferQueue" since="21">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/concurrent/BlockingQueue"/>
+		<method name="getWaitingConsumerCount()I"/>
+		<method name="hasWaitingConsumer()Z"/>
+		<method name="transfer(Ljava/lang/Object;)V"/>
+		<method name="tryTransfer(Ljava/lang/Object;)Z"/>
+		<method name="tryTransfer(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicBoolean" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Z)V"/>
+		<method name="compareAndSet(ZZ)Z"/>
+		<method name="get()Z"/>
+		<method name="getAndSet(Z)Z"/>
+		<method name="lazySet(Z)V" since="9"/>
+		<method name="set(Z)V"/>
+		<method name="weakCompareAndSet(ZZ)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicInteger" since="1">
+		<extends name="java/lang/Number"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="accumulateAndGet(ILjava/util/function/IntBinaryOperator;)I" since="24"/>
+		<method name="addAndGet(I)I"/>
+		<method name="compareAndSet(II)Z"/>
+		<method name="decrementAndGet()I"/>
+		<method name="get()I"/>
+		<method name="getAndAccumulate(ILjava/util/function/IntBinaryOperator;)I" since="24"/>
+		<method name="getAndAdd(I)I"/>
+		<method name="getAndDecrement()I"/>
+		<method name="getAndIncrement()I"/>
+		<method name="getAndSet(I)I"/>
+		<method name="getAndUpdate(Ljava/util/function/IntUnaryOperator;)I" since="24"/>
+		<method name="incrementAndGet()I"/>
+		<method name="lazySet(I)V" since="9"/>
+		<method name="set(I)V"/>
+		<method name="updateAndGet(Ljava/util/function/IntUnaryOperator;)I" since="24"/>
+		<method name="weakCompareAndSet(II)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicIntegerArray" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>([I)V"/>
+		<method name="accumulateAndGet(IILjava/util/function/IntBinaryOperator;)I" since="24"/>
+		<method name="addAndGet(II)I"/>
+		<method name="compareAndSet(III)Z"/>
+		<method name="decrementAndGet(I)I"/>
+		<method name="get(I)I"/>
+		<method name="getAndAccumulate(IILjava/util/function/IntBinaryOperator;)I" since="24"/>
+		<method name="getAndAdd(II)I"/>
+		<method name="getAndDecrement(I)I"/>
+		<method name="getAndIncrement(I)I"/>
+		<method name="getAndSet(II)I"/>
+		<method name="getAndUpdate(ILjava/util/function/IntUnaryOperator;)I" since="24"/>
+		<method name="incrementAndGet(I)I"/>
+		<method name="lazySet(II)V" since="9"/>
+		<method name="length()I"/>
+		<method name="set(II)V"/>
+		<method name="updateAndGet(ILjava/util/function/IntUnaryOperator;)I" since="24"/>
+		<method name="weakCompareAndSet(III)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicIntegerFieldUpdater" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="accumulateAndGet(Ljava/lang/Object;ILjava/util/function/IntBinaryOperator;)I" since="24"/>
+		<method name="addAndGet(Ljava/lang/Object;I)I"/>
+		<method name="compareAndSet(Ljava/lang/Object;II)Z"/>
+		<method name="decrementAndGet(Ljava/lang/Object;)I"/>
+		<method name="get(Ljava/lang/Object;)I"/>
+		<method name="getAndAccumulate(Ljava/lang/Object;ILjava/util/function/IntBinaryOperator;)I" since="24"/>
+		<method name="getAndAdd(Ljava/lang/Object;I)I"/>
+		<method name="getAndDecrement(Ljava/lang/Object;)I"/>
+		<method name="getAndIncrement(Ljava/lang/Object;)I"/>
+		<method name="getAndSet(Ljava/lang/Object;I)I"/>
+		<method name="getAndUpdate(Ljava/lang/Object;Ljava/util/function/IntUnaryOperator;)I" since="24"/>
+		<method name="incrementAndGet(Ljava/lang/Object;)I"/>
+		<method name="lazySet(Ljava/lang/Object;I)V" since="9"/>
+		<method name="newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;"/>
+		<method name="set(Ljava/lang/Object;I)V"/>
+		<method name="updateAndGet(Ljava/lang/Object;Ljava/util/function/IntUnaryOperator;)I" since="24"/>
+		<method name="weakCompareAndSet(Ljava/lang/Object;II)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicLong" since="1">
+		<extends name="java/lang/Number"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(J)V"/>
+		<method name="accumulateAndGet(JLjava/util/function/LongBinaryOperator;)J" since="24"/>
+		<method name="addAndGet(J)J"/>
+		<method name="compareAndSet(JJ)Z"/>
+		<method name="decrementAndGet()J"/>
+		<method name="get()J"/>
+		<method name="getAndAccumulate(JLjava/util/function/LongBinaryOperator;)J" since="24"/>
+		<method name="getAndAdd(J)J"/>
+		<method name="getAndDecrement()J"/>
+		<method name="getAndIncrement()J"/>
+		<method name="getAndSet(J)J"/>
+		<method name="getAndUpdate(Ljava/util/function/LongUnaryOperator;)J" since="24"/>
+		<method name="incrementAndGet()J"/>
+		<method name="lazySet(J)V" since="9"/>
+		<method name="set(J)V"/>
+		<method name="updateAndGet(Ljava/util/function/LongUnaryOperator;)J" since="24"/>
+		<method name="weakCompareAndSet(JJ)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicLongArray" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>([J)V"/>
+		<method name="accumulateAndGet(IJLjava/util/function/LongBinaryOperator;)J" since="24"/>
+		<method name="addAndGet(IJ)J"/>
+		<method name="compareAndSet(IJJ)Z"/>
+		<method name="decrementAndGet(I)J"/>
+		<method name="get(I)J"/>
+		<method name="getAndAccumulate(IJLjava/util/function/LongBinaryOperator;)J" since="24"/>
+		<method name="getAndAdd(IJ)J"/>
+		<method name="getAndDecrement(I)J"/>
+		<method name="getAndIncrement(I)J"/>
+		<method name="getAndSet(IJ)J"/>
+		<method name="getAndUpdate(ILjava/util/function/LongUnaryOperator;)J" since="24"/>
+		<method name="incrementAndGet(I)J"/>
+		<method name="lazySet(IJ)V" since="9"/>
+		<method name="length()I"/>
+		<method name="set(IJ)V"/>
+		<method name="updateAndGet(ILjava/util/function/LongUnaryOperator;)J" since="24"/>
+		<method name="weakCompareAndSet(IJJ)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicLongFieldUpdater" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="accumulateAndGet(Ljava/lang/Object;JLjava/util/function/LongBinaryOperator;)J" since="24"/>
+		<method name="addAndGet(Ljava/lang/Object;J)J"/>
+		<method name="compareAndSet(Ljava/lang/Object;JJ)Z"/>
+		<method name="decrementAndGet(Ljava/lang/Object;)J"/>
+		<method name="get(Ljava/lang/Object;)J"/>
+		<method name="getAndAccumulate(Ljava/lang/Object;JLjava/util/function/LongBinaryOperator;)J" since="24"/>
+		<method name="getAndAdd(Ljava/lang/Object;J)J"/>
+		<method name="getAndDecrement(Ljava/lang/Object;)J"/>
+		<method name="getAndIncrement(Ljava/lang/Object;)J"/>
+		<method name="getAndSet(Ljava/lang/Object;J)J"/>
+		<method name="getAndUpdate(Ljava/lang/Object;Ljava/util/function/LongUnaryOperator;)J" since="24"/>
+		<method name="incrementAndGet(Ljava/lang/Object;)J"/>
+		<method name="lazySet(Ljava/lang/Object;J)V" since="9"/>
+		<method name="newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;"/>
+		<method name="set(Ljava/lang/Object;J)V"/>
+		<method name="updateAndGet(Ljava/lang/Object;Ljava/util/function/LongUnaryOperator;)J" since="24"/>
+		<method name="weakCompareAndSet(Ljava/lang/Object;JJ)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicMarkableReference" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/Object;Z)V"/>
+		<method name="attemptMark(Ljava/lang/Object;Z)Z"/>
+		<method name="compareAndSet(Ljava/lang/Object;Ljava/lang/Object;ZZ)Z"/>
+		<method name="get([Z)Ljava/lang/Object;"/>
+		<method name="getReference()Ljava/lang/Object;"/>
+		<method name="isMarked()Z"/>
+		<method name="set(Ljava/lang/Object;Z)V"/>
+		<method name="weakCompareAndSet(Ljava/lang/Object;Ljava/lang/Object;ZZ)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicReference" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V"/>
+		<method name="accumulateAndGet(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+		<method name="get()Ljava/lang/Object;"/>
+		<method name="getAndAccumulate(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="getAndSet(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="getAndUpdate(Ljava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="lazySet(Ljava/lang/Object;)V" since="9"/>
+		<method name="set(Ljava/lang/Object;)V"/>
+		<method name="updateAndGet(Ljava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="weakCompareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicReferenceArray" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>([Ljava/lang/Object;)V"/>
+		<method name="accumulateAndGet(ILjava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="compareAndSet(ILjava/lang/Object;Ljava/lang/Object;)Z"/>
+		<method name="get(I)Ljava/lang/Object;"/>
+		<method name="getAndAccumulate(ILjava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="getAndSet(ILjava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="getAndUpdate(ILjava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="lazySet(ILjava/lang/Object;)V" since="9"/>
+		<method name="length()I"/>
+		<method name="set(ILjava/lang/Object;)V"/>
+		<method name="updateAndGet(ILjava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="weakCompareAndSet(ILjava/lang/Object;Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicReferenceFieldUpdater" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="accumulateAndGet(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+		<method name="get(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="getAndAccumulate(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="getAndSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="getAndUpdate(Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="lazySet(Ljava/lang/Object;Ljava/lang/Object;)V" since="9"/>
+		<method name="newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;"/>
+		<method name="set(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="updateAndGet(Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;" since="24"/>
+		<method name="weakCompareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/AtomicStampedReference" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/Object;I)V"/>
+		<method name="attemptStamp(Ljava/lang/Object;I)Z"/>
+		<method name="compareAndSet(Ljava/lang/Object;Ljava/lang/Object;II)Z"/>
+		<method name="get([I)Ljava/lang/Object;"/>
+		<method name="getReference()Ljava/lang/Object;"/>
+		<method name="getStamp()I"/>
+		<method name="set(Ljava/lang/Object;I)V"/>
+		<method name="weakCompareAndSet(Ljava/lang/Object;Ljava/lang/Object;II)Z"/>
+	</class>
+	<class name="java/util/concurrent/atomic/DoubleAccumulator" since="24">
+		<extends name="java/lang/Number"/>
+		<method name="&lt;init>(Ljava/util/function/DoubleBinaryOperator;D)V"/>
+		<method name="accumulate(D)V"/>
+		<method name="get()D"/>
+		<method name="getThenReset()D"/>
+		<method name="reset()V"/>
+	</class>
+	<class name="java/util/concurrent/atomic/DoubleAdder" since="24">
+		<extends name="java/lang/Number"/>
+		<method name="&lt;init>()V"/>
+		<method name="add(D)V"/>
+		<method name="reset()V"/>
+		<method name="sum()D"/>
+		<method name="sumThenReset()D"/>
+	</class>
+	<class name="java/util/concurrent/atomic/LongAccumulator" since="24">
+		<extends name="java/lang/Number"/>
+		<method name="&lt;init>(Ljava/util/function/LongBinaryOperator;J)V"/>
+		<method name="accumulate(J)V"/>
+		<method name="get()J"/>
+		<method name="getThenReset()J"/>
+		<method name="reset()V"/>
+	</class>
+	<class name="java/util/concurrent/atomic/LongAdder" since="24">
+		<extends name="java/lang/Number"/>
+		<method name="&lt;init>()V"/>
+		<method name="add(J)V"/>
+		<method name="decrement()V"/>
+		<method name="increment()V"/>
+		<method name="reset()V"/>
+		<method name="sum()J"/>
+		<method name="sumThenReset()J"/>
+	</class>
+	<class name="java/util/concurrent/locks/AbstractOwnableSynchronizer" since="5">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="getExclusiveOwnerThread()Ljava/lang/Thread;"/>
+		<method name="setExclusiveOwnerThread(Ljava/lang/Thread;)V"/>
+	</class>
+	<class name="java/util/concurrent/locks/AbstractQueuedLongSynchronizer" since="9">
+		<extends name="java/util/concurrent/locks/AbstractOwnableSynchronizer"/>
+		<method name="&lt;init>()V"/>
+		<method name="acquire(J)V"/>
+		<method name="acquireInterruptibly(J)V"/>
+		<method name="acquireShared(J)V"/>
+		<method name="acquireSharedInterruptibly(J)V"/>
+		<method name="compareAndSetState(JJ)Z"/>
+		<method name="getExclusiveQueuedThreads()Ljava/util/Collection;"/>
+		<method name="getFirstQueuedThread()Ljava/lang/Thread;"/>
+		<method name="getQueueLength()I"/>
+		<method name="getQueuedThreads()Ljava/util/Collection;"/>
+		<method name="getSharedQueuedThreads()Ljava/util/Collection;"/>
+		<method name="getState()J"/>
+		<method name="getWaitQueueLength(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;)I"/>
+		<method name="getWaitingThreads(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;)Ljava/util/Collection;"/>
+		<method name="hasContended()Z"/>
+		<method name="hasQueuedPredecessors()Z" since="21"/>
+		<method name="hasQueuedThreads()Z"/>
+		<method name="hasWaiters(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;)Z"/>
+		<method name="isHeldExclusively()Z"/>
+		<method name="isQueued(Ljava/lang/Thread;)Z"/>
+		<method name="owns(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject;)Z"/>
+		<method name="release(J)Z"/>
+		<method name="releaseShared(J)Z"/>
+		<method name="setState(J)V"/>
+		<method name="tryAcquire(J)Z"/>
+		<method name="tryAcquireNanos(JJ)Z"/>
+		<method name="tryAcquireShared(J)J"/>
+		<method name="tryAcquireSharedNanos(JJ)Z"/>
+		<method name="tryRelease(J)Z"/>
+		<method name="tryReleaseShared(J)Z"/>
+	</class>
+	<class name="java/util/concurrent/locks/AbstractQueuedLongSynchronizer$ConditionObject" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/locks/Condition"/>
+		<method name="&lt;init>(Ljava/util/concurrent/locks/AbstractQueuedLongSynchronizer;)V"/>
+		<method name="getWaitQueueLength()I"/>
+		<method name="getWaitingThreads()Ljava/util/Collection;"/>
+		<method name="hasWaiters()Z"/>
+	</class>
+	<class name="java/util/concurrent/locks/AbstractQueuedSynchronizer" since="1">
+		<extends name="java/lang/Object" removed="5"/>
+		<extends name="java/util/concurrent/locks/AbstractOwnableSynchronizer" since="5"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="acquire(I)V"/>
+		<method name="acquireInterruptibly(I)V"/>
+		<method name="acquireShared(I)V"/>
+		<method name="acquireSharedInterruptibly(I)V"/>
+		<method name="compareAndSetState(II)Z"/>
+		<method name="getExclusiveQueuedThreads()Ljava/util/Collection;"/>
+		<method name="getFirstQueuedThread()Ljava/lang/Thread;"/>
+		<method name="getQueueLength()I"/>
+		<method name="getQueuedThreads()Ljava/util/Collection;"/>
+		<method name="getSharedQueuedThreads()Ljava/util/Collection;"/>
+		<method name="getState()I"/>
+		<method name="getWaitQueueLength(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;)I"/>
+		<method name="getWaitingThreads(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;)Ljava/util/Collection;"/>
+		<method name="hasContended()Z"/>
+		<method name="hasQueuedPredecessors()Z" since="21"/>
+		<method name="hasQueuedThreads()Z"/>
+		<method name="hasWaiters(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;)Z"/>
+		<method name="isHeldExclusively()Z"/>
+		<method name="isQueued(Ljava/lang/Thread;)Z"/>
+		<method name="owns(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;)Z"/>
+		<method name="release(I)Z"/>
+		<method name="releaseShared(I)Z"/>
+		<method name="setState(I)V"/>
+		<method name="tryAcquire(I)Z"/>
+		<method name="tryAcquireNanos(IJ)Z"/>
+		<method name="tryAcquireShared(I)I"/>
+		<method name="tryAcquireSharedNanos(IJ)Z"/>
+		<method name="tryRelease(I)Z"/>
+		<method name="tryReleaseShared(I)Z"/>
+	</class>
+	<class name="java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/locks/Condition"/>
+		<method name="&lt;init>(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer;)V"/>
+		<method name="getWaitQueueLength()I"/>
+		<method name="getWaitingThreads()Ljava/util/Collection;"/>
+		<method name="hasWaiters()Z"/>
+	</class>
+	<class name="java/util/concurrent/locks/Condition" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="await()V"/>
+		<method name="await(JLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="awaitNanos(J)J"/>
+		<method name="awaitUninterruptibly()V"/>
+		<method name="awaitUntil(Ljava/util/Date;)Z"/>
+		<method name="signal()V"/>
+		<method name="signalAll()V"/>
+	</class>
+	<class name="java/util/concurrent/locks/Lock" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="lock()V"/>
+		<method name="lockInterruptibly()V"/>
+		<method name="newCondition()Ljava/util/concurrent/locks/Condition;"/>
+		<method name="tryLock()Z"/>
+		<method name="tryLock(JLjava/util/concurrent/TimeUnit;)Z"/>
+		<method name="unlock()V"/>
+	</class>
+	<class name="java/util/concurrent/locks/LockSupport" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getBlocker(Ljava/lang/Thread;)Ljava/lang/Object;" since="9"/>
+		<method name="park()V"/>
+		<method name="park(Ljava/lang/Object;)V" since="9"/>
+		<method name="parkNanos(J)V"/>
+		<method name="parkNanos(Ljava/lang/Object;J)V" since="9"/>
+		<method name="parkUntil(J)V"/>
+		<method name="parkUntil(Ljava/lang/Object;J)V" since="9"/>
+		<method name="unpark(Ljava/lang/Thread;)V"/>
+	</class>
+	<class name="java/util/concurrent/locks/ReadWriteLock" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="readLock()Ljava/util/concurrent/locks/Lock;"/>
+		<method name="writeLock()Ljava/util/concurrent/locks/Lock;"/>
+	</class>
+	<class name="java/util/concurrent/locks/ReentrantLock" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/locks/Lock"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Z)V"/>
+		<method name="getHoldCount()I"/>
+		<method name="getOwner()Ljava/lang/Thread;"/>
+		<method name="getQueueLength()I"/>
+		<method name="getQueuedThreads()Ljava/util/Collection;"/>
+		<method name="getWaitQueueLength(Ljava/util/concurrent/locks/Condition;)I"/>
+		<method name="getWaitingThreads(Ljava/util/concurrent/locks/Condition;)Ljava/util/Collection;"/>
+		<method name="hasQueuedThread(Ljava/lang/Thread;)Z"/>
+		<method name="hasQueuedThreads()Z"/>
+		<method name="hasWaiters(Ljava/util/concurrent/locks/Condition;)Z"/>
+		<method name="isFair()Z"/>
+		<method name="isHeldByCurrentThread()Z"/>
+		<method name="isLocked()Z"/>
+	</class>
+	<class name="java/util/concurrent/locks/ReentrantReadWriteLock" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/locks/ReadWriteLock"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Z)V"/>
+		<method name="getOwner()Ljava/lang/Thread;"/>
+		<method name="getQueueLength()I"/>
+		<method name="getQueuedReaderThreads()Ljava/util/Collection;"/>
+		<method name="getQueuedThreads()Ljava/util/Collection;"/>
+		<method name="getQueuedWriterThreads()Ljava/util/Collection;"/>
+		<method name="getReadHoldCount()I" since="9"/>
+		<method name="getReadLockCount()I"/>
+		<method name="getWaitQueueLength(Ljava/util/concurrent/locks/Condition;)I"/>
+		<method name="getWaitingThreads(Ljava/util/concurrent/locks/Condition;)Ljava/util/Collection;"/>
+		<method name="getWriteHoldCount()I"/>
+		<method name="hasQueuedThread(Ljava/lang/Thread;)Z"/>
+		<method name="hasQueuedThreads()Z"/>
+		<method name="hasWaiters(Ljava/util/concurrent/locks/Condition;)Z"/>
+		<method name="isFair()Z"/>
+		<method name="isWriteLocked()Z"/>
+		<method name="isWriteLockedByCurrentThread()Z"/>
+		<method name="readLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;"/>
+		<method name="writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;"/>
+	</class>
+	<class name="java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/locks/Lock"/>
+		<method name="&lt;init>(Ljava/util/concurrent/locks/ReentrantReadWriteLock;)V"/>
+	</class>
+	<class name="java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/concurrent/locks/Lock"/>
+		<method name="&lt;init>(Ljava/util/concurrent/locks/ReentrantReadWriteLock;)V"/>
+		<method name="getHoldCount()I" since="9"/>
+		<method name="isHeldByCurrentThread()Z" since="9"/>
+	</class>
+	<class name="java/util/concurrent/locks/StampedLock" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="asReadLock()Ljava/util/concurrent/locks/Lock;"/>
+		<method name="asReadWriteLock()Ljava/util/concurrent/locks/ReadWriteLock;"/>
+		<method name="asWriteLock()Ljava/util/concurrent/locks/Lock;"/>
+		<method name="getReadLockCount()I"/>
+		<method name="isReadLocked()Z"/>
+		<method name="isWriteLocked()Z"/>
+		<method name="readLock()J"/>
+		<method name="readLockInterruptibly()J"/>
+		<method name="tryConvertToOptimisticRead(J)J"/>
+		<method name="tryConvertToReadLock(J)J"/>
+		<method name="tryConvertToWriteLock(J)J"/>
+		<method name="tryOptimisticRead()J"/>
+		<method name="tryReadLock()J"/>
+		<method name="tryReadLock(JLjava/util/concurrent/TimeUnit;)J"/>
+		<method name="tryUnlockRead()Z"/>
+		<method name="tryUnlockWrite()Z"/>
+		<method name="tryWriteLock()J"/>
+		<method name="tryWriteLock(JLjava/util/concurrent/TimeUnit;)J"/>
+		<method name="unlock(J)V"/>
+		<method name="unlockRead(J)V"/>
+		<method name="unlockWrite(J)V"/>
+		<method name="validate(J)Z"/>
+		<method name="writeLock()J"/>
+		<method name="writeLockInterruptibly()J"/>
+	</class>
+	<class name="java/util/function/BiConsumer" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="accept(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="andThen(Ljava/util/function/BiConsumer;)Ljava/util/function/BiConsumer;"/>
+	</class>
+	<class name="java/util/function/BiFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="andThen(Ljava/util/function/Function;)Ljava/util/function/BiFunction;"/>
+		<method name="apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/function/BiPredicate" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="and(Ljava/util/function/BiPredicate;)Ljava/util/function/BiPredicate;"/>
+		<method name="negate()Ljava/util/function/BiPredicate;"/>
+		<method name="or(Ljava/util/function/BiPredicate;)Ljava/util/function/BiPredicate;"/>
+		<method name="test(Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="java/util/function/BinaryOperator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/function/BiFunction"/>
+		<method name="maxBy(Ljava/util/Comparator;)Ljava/util/function/BinaryOperator;"/>
+		<method name="minBy(Ljava/util/Comparator;)Ljava/util/function/BinaryOperator;"/>
+	</class>
+	<class name="java/util/function/BooleanSupplier" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getAsBoolean()Z"/>
+	</class>
+	<class name="java/util/function/Consumer" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="accept(Ljava/lang/Object;)V"/>
+		<method name="andThen(Ljava/util/function/Consumer;)Ljava/util/function/Consumer;"/>
+	</class>
+	<class name="java/util/function/DoubleBinaryOperator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsDouble(DD)D"/>
+	</class>
+	<class name="java/util/function/DoubleConsumer" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="accept(D)V"/>
+		<method name="andThen(Ljava/util/function/DoubleConsumer;)Ljava/util/function/DoubleConsumer;"/>
+	</class>
+	<class name="java/util/function/DoubleFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="apply(D)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/function/DoublePredicate" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="and(Ljava/util/function/DoublePredicate;)Ljava/util/function/DoublePredicate;"/>
+		<method name="negate()Ljava/util/function/DoublePredicate;"/>
+		<method name="or(Ljava/util/function/DoublePredicate;)Ljava/util/function/DoublePredicate;"/>
+		<method name="test(D)Z"/>
+	</class>
+	<class name="java/util/function/DoubleSupplier" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getAsDouble()D"/>
+	</class>
+	<class name="java/util/function/DoubleToIntFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsInt(D)I"/>
+	</class>
+	<class name="java/util/function/DoubleToLongFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsLong(D)J"/>
+	</class>
+	<class name="java/util/function/DoubleUnaryOperator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="andThen(Ljava/util/function/DoubleUnaryOperator;)Ljava/util/function/DoubleUnaryOperator;"/>
+		<method name="applyAsDouble(D)D"/>
+		<method name="compose(Ljava/util/function/DoubleUnaryOperator;)Ljava/util/function/DoubleUnaryOperator;"/>
+		<method name="identity()Ljava/util/function/DoubleUnaryOperator;"/>
+	</class>
+	<class name="java/util/function/Function" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="andThen(Ljava/util/function/Function;)Ljava/util/function/Function;"/>
+		<method name="apply(Ljava/lang/Object;)Ljava/lang/Object;"/>
+		<method name="compose(Ljava/util/function/Function;)Ljava/util/function/Function;"/>
+		<method name="identity()Ljava/util/function/Function;"/>
+	</class>
+	<class name="java/util/function/IntBinaryOperator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsInt(II)I"/>
+	</class>
+	<class name="java/util/function/IntConsumer" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="accept(I)V"/>
+		<method name="andThen(Ljava/util/function/IntConsumer;)Ljava/util/function/IntConsumer;"/>
+	</class>
+	<class name="java/util/function/IntFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="apply(I)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/function/IntPredicate" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="and(Ljava/util/function/IntPredicate;)Ljava/util/function/IntPredicate;"/>
+		<method name="negate()Ljava/util/function/IntPredicate;"/>
+		<method name="or(Ljava/util/function/IntPredicate;)Ljava/util/function/IntPredicate;"/>
+		<method name="test(I)Z"/>
+	</class>
+	<class name="java/util/function/IntSupplier" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getAsInt()I"/>
+	</class>
+	<class name="java/util/function/IntToDoubleFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsDouble(I)D"/>
+	</class>
+	<class name="java/util/function/IntToLongFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsLong(I)J"/>
+	</class>
+	<class name="java/util/function/IntUnaryOperator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="andThen(Ljava/util/function/IntUnaryOperator;)Ljava/util/function/IntUnaryOperator;"/>
+		<method name="applyAsInt(I)I"/>
+		<method name="compose(Ljava/util/function/IntUnaryOperator;)Ljava/util/function/IntUnaryOperator;"/>
+		<method name="identity()Ljava/util/function/IntUnaryOperator;"/>
+	</class>
+	<class name="java/util/function/LongBinaryOperator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsLong(JJ)J"/>
+	</class>
+	<class name="java/util/function/LongConsumer" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="accept(J)V"/>
+		<method name="andThen(Ljava/util/function/LongConsumer;)Ljava/util/function/LongConsumer;"/>
+	</class>
+	<class name="java/util/function/LongFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="apply(J)Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/function/LongPredicate" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="and(Ljava/util/function/LongPredicate;)Ljava/util/function/LongPredicate;"/>
+		<method name="negate()Ljava/util/function/LongPredicate;"/>
+		<method name="or(Ljava/util/function/LongPredicate;)Ljava/util/function/LongPredicate;"/>
+		<method name="test(J)Z"/>
+	</class>
+	<class name="java/util/function/LongSupplier" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="getAsLong()J"/>
+	</class>
+	<class name="java/util/function/LongToDoubleFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsDouble(J)D"/>
+	</class>
+	<class name="java/util/function/LongToIntFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsInt(J)I"/>
+	</class>
+	<class name="java/util/function/LongUnaryOperator" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="andThen(Ljava/util/function/LongUnaryOperator;)Ljava/util/function/LongUnaryOperator;"/>
+		<method name="applyAsLong(J)J"/>
+		<method name="compose(Ljava/util/function/LongUnaryOperator;)Ljava/util/function/LongUnaryOperator;"/>
+		<method name="identity()Ljava/util/function/LongUnaryOperator;"/>
+	</class>
+	<class name="java/util/function/ObjDoubleConsumer" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="accept(Ljava/lang/Object;D)V"/>
+	</class>
+	<class name="java/util/function/ObjIntConsumer" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="accept(Ljava/lang/Object;I)V"/>
+	</class>
+	<class name="java/util/function/ObjLongConsumer" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="accept(Ljava/lang/Object;J)V"/>
+	</class>
+	<class name="java/util/function/Predicate" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="and(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;"/>
+		<method name="isEqual(Ljava/lang/Object;)Ljava/util/function/Predicate;"/>
+		<method name="negate()Ljava/util/function/Predicate;"/>
+		<method name="or(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;"/>
+		<method name="test(Ljava/lang/Object;)Z"/>
+	</class>
+	<class name="java/util/function/Supplier" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="get()Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/function/ToDoubleBiFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsDouble(Ljava/lang/Object;Ljava/lang/Object;)D"/>
+	</class>
+	<class name="java/util/function/ToDoubleFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsDouble(Ljava/lang/Object;)D"/>
+	</class>
+	<class name="java/util/function/ToIntBiFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsInt(Ljava/lang/Object;Ljava/lang/Object;)I"/>
+	</class>
+	<class name="java/util/function/ToIntFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsInt(Ljava/lang/Object;)I"/>
+	</class>
+	<class name="java/util/function/ToLongBiFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsLong(Ljava/lang/Object;Ljava/lang/Object;)J"/>
+	</class>
+	<class name="java/util/function/ToLongFunction" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="applyAsLong(Ljava/lang/Object;)J"/>
+	</class>
+	<class name="java/util/function/UnaryOperator" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/function/Function"/>
+		<method name="identity()Ljava/util/function/UnaryOperator;"/>
+	</class>
+	<class name="java/util/jar/Attributes" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="java/util/Map"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(Ljava/util/jar/Attributes;)V"/>
+		<method name="getValue(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getValue(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;"/>
+		<method name="putValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<field name="map"/>
+	</class>
+	<class name="java/util/jar/Attributes$Name" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<field name="CLASS_PATH"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="EXTENSION_INSTALLATION" deprecated="26"/>
+		<field name="EXTENSION_LIST"/>
+		<field name="EXTENSION_NAME"/>
+		<field name="IMPLEMENTATION_TITLE"/>
+		<field name="IMPLEMENTATION_URL" deprecated="26"/>
+		<field name="IMPLEMENTATION_VENDOR"/>
+		<field name="IMPLEMENTATION_VENDOR_ID" deprecated="26"/>
+		<field name="IMPLEMENTATION_VERSION"/>
+		<field name="MAIN_CLASS"/>
+		<field name="MANIFEST_VERSION"/>
+		<field name="SEALED"/>
+		<field name="SIGNATURE_VERSION"/>
+		<field name="SPECIFICATION_TITLE"/>
+		<field name="SPECIFICATION_VENDOR"/>
+		<field name="SPECIFICATION_VERSION"/>
+	</class>
+	<class name="java/util/jar/JarEntry" since="1">
+		<extends name="java/util/zip/ZipEntry"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/util/jar/JarEntry;)V"/>
+		<method name="&lt;init>(Ljava/util/zip/ZipEntry;)V"/>
+		<method name="getAttributes()Ljava/util/jar/Attributes;"/>
+		<method name="getCertificates()[Ljava/security/cert/Certificate;"/>
+		<method name="getCodeSigners()[Ljava/security/CodeSigner;"/>
+		<field name="CENATT" since="28"/>
+		<field name="CENATX" since="28"/>
+		<field name="CENCOM" since="28"/>
+		<field name="CENCRC" since="28"/>
+		<field name="CENDSK" since="28"/>
+		<field name="CENEXT" since="28"/>
+		<field name="CENFLG" since="28"/>
+		<field name="CENHDR" since="28"/>
+		<field name="CENHOW" since="28"/>
+		<field name="CENLEN" since="28"/>
+		<field name="CENNAM" since="28"/>
+		<field name="CENOFF" since="28"/>
+		<field name="CENSIG" since="28"/>
+		<field name="CENSIZ" since="28"/>
+		<field name="CENTIM" since="28"/>
+		<field name="CENVEM" since="28"/>
+		<field name="CENVER" since="28"/>
+		<field name="ENDCOM" since="28"/>
+		<field name="ENDHDR" since="28"/>
+		<field name="ENDOFF" since="28"/>
+		<field name="ENDSIG" since="28"/>
+		<field name="ENDSIZ" since="28"/>
+		<field name="ENDSUB" since="28"/>
+		<field name="ENDTOT" since="28"/>
+		<field name="EXTCRC" since="28"/>
+		<field name="EXTHDR" since="28"/>
+		<field name="EXTLEN" since="28"/>
+		<field name="EXTSIG" since="28"/>
+		<field name="EXTSIZ" since="28"/>
+		<field name="LOCCRC" since="28"/>
+		<field name="LOCEXT" since="28"/>
+		<field name="LOCFLG" since="28"/>
+		<field name="LOCHDR" since="28"/>
+		<field name="LOCHOW" since="28"/>
+		<field name="LOCLEN" since="28"/>
+		<field name="LOCNAM" since="28"/>
+		<field name="LOCSIG" since="28"/>
+		<field name="LOCSIZ" since="28"/>
+		<field name="LOCTIM" since="28"/>
+		<field name="LOCVER" since="28"/>
+	</class>
+	<class name="java/util/jar/JarException" since="1">
+		<extends name="java/util/zip/ZipException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/jar/JarFile" since="1">
+		<extends name="java/util/zip/ZipFile"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/File;Z)V"/>
+		<method name="&lt;init>(Ljava/io/File;ZI)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Z)V"/>
+		<method name="getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry;"/>
+		<method name="getManifest()Ljava/util/jar/Manifest;"/>
+		<field name="CENATT" since="28"/>
+		<field name="CENATX" since="28"/>
+		<field name="CENCOM" since="28"/>
+		<field name="CENCRC" since="28"/>
+		<field name="CENDSK" since="28"/>
+		<field name="CENEXT" since="28"/>
+		<field name="CENFLG" since="28"/>
+		<field name="CENHDR" since="28"/>
+		<field name="CENHOW" since="28"/>
+		<field name="CENLEN" since="28"/>
+		<field name="CENNAM" since="28"/>
+		<field name="CENOFF" since="28"/>
+		<field name="CENSIG" since="28"/>
+		<field name="CENSIZ" since="28"/>
+		<field name="CENTIM" since="28"/>
+		<field name="CENVEM" since="28"/>
+		<field name="CENVER" since="28"/>
+		<field name="ENDCOM" since="28"/>
+		<field name="ENDHDR" since="28"/>
+		<field name="ENDOFF" since="28"/>
+		<field name="ENDSIG" since="28"/>
+		<field name="ENDSIZ" since="28"/>
+		<field name="ENDSUB" since="28"/>
+		<field name="ENDTOT" since="28"/>
+		<field name="EXTCRC" since="28"/>
+		<field name="EXTHDR" since="28"/>
+		<field name="EXTLEN" since="28"/>
+		<field name="EXTSIG" since="28"/>
+		<field name="EXTSIZ" since="28"/>
+		<field name="LOCCRC" since="28"/>
+		<field name="LOCEXT" since="28"/>
+		<field name="LOCFLG" since="28"/>
+		<field name="LOCHDR" since="28"/>
+		<field name="LOCHOW" since="28"/>
+		<field name="LOCLEN" since="28"/>
+		<field name="LOCNAM" since="28"/>
+		<field name="LOCSIG" since="28"/>
+		<field name="LOCSIZ" since="28"/>
+		<field name="LOCTIM" since="28"/>
+		<field name="LOCVER" since="28"/>
+		<field name="MANIFEST_NAME"/>
+	</class>
+	<class name="java/util/jar/JarInputStream" since="1">
+		<extends name="java/util/zip/ZipInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Z)V"/>
+		<method name="getManifest()Ljava/util/jar/Manifest;"/>
+		<method name="getNextJarEntry()Ljava/util/jar/JarEntry;"/>
+		<field name="CENATT" since="28"/>
+		<field name="CENATX" since="28"/>
+		<field name="CENCOM" since="28"/>
+		<field name="CENCRC" since="28"/>
+		<field name="CENDSK" since="28"/>
+		<field name="CENEXT" since="28"/>
+		<field name="CENFLG" since="28"/>
+		<field name="CENHDR" since="28"/>
+		<field name="CENHOW" since="28"/>
+		<field name="CENLEN" since="28"/>
+		<field name="CENNAM" since="28"/>
+		<field name="CENOFF" since="28"/>
+		<field name="CENSIG" since="28"/>
+		<field name="CENSIZ" since="28"/>
+		<field name="CENTIM" since="28"/>
+		<field name="CENVEM" since="28"/>
+		<field name="CENVER" since="28"/>
+		<field name="ENDCOM" since="28"/>
+		<field name="ENDHDR" since="28"/>
+		<field name="ENDOFF" since="28"/>
+		<field name="ENDSIG" since="28"/>
+		<field name="ENDSIZ" since="28"/>
+		<field name="ENDSUB" since="28"/>
+		<field name="ENDTOT" since="28"/>
+		<field name="EXTCRC" since="28"/>
+		<field name="EXTHDR" since="28"/>
+		<field name="EXTLEN" since="28"/>
+		<field name="EXTSIG" since="28"/>
+		<field name="EXTSIZ" since="28"/>
+		<field name="LOCCRC" since="28"/>
+		<field name="LOCEXT" since="28"/>
+		<field name="LOCFLG" since="28"/>
+		<field name="LOCHDR" since="28"/>
+		<field name="LOCHOW" since="28"/>
+		<field name="LOCLEN" since="28"/>
+		<field name="LOCNAM" since="28"/>
+		<field name="LOCSIG" since="28"/>
+		<field name="LOCSIZ" since="28"/>
+		<field name="LOCTIM" since="28"/>
+		<field name="LOCVER" since="28"/>
+	</class>
+	<class name="java/util/jar/JarOutputStream" since="1">
+		<extends name="java/util/zip/ZipOutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/util/jar/Manifest;)V"/>
+		<field name="CENATT" since="28"/>
+		<field name="CENATX" since="28"/>
+		<field name="CENCOM" since="28"/>
+		<field name="CENCRC" since="28"/>
+		<field name="CENDSK" since="28"/>
+		<field name="CENEXT" since="28"/>
+		<field name="CENFLG" since="28"/>
+		<field name="CENHDR" since="28"/>
+		<field name="CENHOW" since="28"/>
+		<field name="CENLEN" since="28"/>
+		<field name="CENNAM" since="28"/>
+		<field name="CENOFF" since="28"/>
+		<field name="CENSIG" since="28"/>
+		<field name="CENSIZ" since="28"/>
+		<field name="CENTIM" since="28"/>
+		<field name="CENVEM" since="28"/>
+		<field name="CENVER" since="28"/>
+		<field name="ENDCOM" since="28"/>
+		<field name="ENDHDR" since="28"/>
+		<field name="ENDOFF" since="28"/>
+		<field name="ENDSIG" since="28"/>
+		<field name="ENDSIZ" since="28"/>
+		<field name="ENDSUB" since="28"/>
+		<field name="ENDTOT" since="28"/>
+		<field name="EXTCRC" since="28"/>
+		<field name="EXTHDR" since="28"/>
+		<field name="EXTLEN" since="28"/>
+		<field name="EXTSIG" since="28"/>
+		<field name="EXTSIZ" since="28"/>
+		<field name="LOCCRC" since="28"/>
+		<field name="LOCEXT" since="28"/>
+		<field name="LOCFLG" since="28"/>
+		<field name="LOCHDR" since="28"/>
+		<field name="LOCHOW" since="28"/>
+		<field name="LOCLEN" since="28"/>
+		<field name="LOCNAM" since="28"/>
+		<field name="LOCSIG" since="28"/>
+		<field name="LOCSIZ" since="28"/>
+		<field name="LOCTIM" since="28"/>
+		<field name="LOCVER" since="28"/>
+	</class>
+	<class name="java/util/jar/Manifest" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/util/jar/Manifest;)V"/>
+		<method name="clear()V"/>
+		<method name="getAttributes(Ljava/lang/String;)Ljava/util/jar/Attributes;"/>
+		<method name="getEntries()Ljava/util/Map;"/>
+		<method name="getMainAttributes()Ljava/util/jar/Attributes;"/>
+		<method name="read(Ljava/io/InputStream;)V"/>
+		<method name="write(Ljava/io/OutputStream;)V"/>
+	</class>
+	<class name="java/util/jar/Pack200" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="newPacker()Ljava/util/jar/Pack200$Packer;"/>
+		<method name="newUnpacker()Ljava/util/jar/Pack200$Unpacker;"/>
+	</class>
+	<class name="java/util/jar/Pack200$Packer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addPropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26"/>
+		<method name="pack(Ljava/util/jar/JarFile;Ljava/io/OutputStream;)V"/>
+		<method name="pack(Ljava/util/jar/JarInputStream;Ljava/io/OutputStream;)V"/>
+		<method name="properties()Ljava/util/SortedMap;"/>
+		<method name="removePropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26"/>
+		<field name="CLASS_ATTRIBUTE_PFX"/>
+		<field name="CODE_ATTRIBUTE_PFX"/>
+		<field name="DEFLATE_HINT"/>
+		<field name="EFFORT"/>
+		<field name="ERROR"/>
+		<field name="FALSE"/>
+		<field name="FIELD_ATTRIBUTE_PFX"/>
+		<field name="KEEP"/>
+		<field name="KEEP_FILE_ORDER"/>
+		<field name="LATEST"/>
+		<field name="METHOD_ATTRIBUTE_PFX"/>
+		<field name="MODIFICATION_TIME"/>
+		<field name="PASS"/>
+		<field name="PASS_FILE_PFX"/>
+		<field name="PROGRESS"/>
+		<field name="SEGMENT_LIMIT"/>
+		<field name="STRIP"/>
+		<field name="TRUE"/>
+		<field name="UNKNOWN_ATTRIBUTE"/>
+	</class>
+	<class name="java/util/jar/Pack200$Unpacker" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addPropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26"/>
+		<method name="properties()Ljava/util/SortedMap;"/>
+		<method name="removePropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26"/>
+		<method name="unpack(Ljava/io/File;Ljava/util/jar/JarOutputStream;)V"/>
+		<method name="unpack(Ljava/io/InputStream;Ljava/util/jar/JarOutputStream;)V"/>
+		<field name="DEFLATE_HINT"/>
+		<field name="FALSE"/>
+		<field name="KEEP"/>
+		<field name="PROGRESS"/>
+		<field name="TRUE"/>
+	</class>
+	<class name="java/util/logging/ConsoleHandler" since="1">
+		<extends name="java/util/logging/StreamHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/logging/ErrorManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="error(Ljava/lang/String;Ljava/lang/Exception;I)V"/>
+		<field name="CLOSE_FAILURE"/>
+		<field name="FLUSH_FAILURE"/>
+		<field name="FORMAT_FAILURE"/>
+		<field name="GENERIC_FAILURE"/>
+		<field name="OPEN_FAILURE"/>
+		<field name="WRITE_FAILURE"/>
+	</class>
+	<class name="java/util/logging/FileHandler" since="1">
+		<extends name="java/util/logging/StreamHandler"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;II)V"/>
+		<method name="&lt;init>(Ljava/lang/String;IIZ)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Z)V"/>
+	</class>
+	<class name="java/util/logging/Filter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="isLoggable(Ljava/util/logging/LogRecord;)Z"/>
+	</class>
+	<class name="java/util/logging/Formatter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="format(Ljava/util/logging/LogRecord;)Ljava/lang/String;"/>
+		<method name="formatMessage(Ljava/util/logging/LogRecord;)Ljava/lang/String;"/>
+		<method name="getHead(Ljava/util/logging/Handler;)Ljava/lang/String;"/>
+		<method name="getTail(Ljava/util/logging/Handler;)Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/logging/Handler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="close()V"/>
+		<method name="flush()V"/>
+		<method name="getEncoding()Ljava/lang/String;"/>
+		<method name="getErrorManager()Ljava/util/logging/ErrorManager;"/>
+		<method name="getFilter()Ljava/util/logging/Filter;"/>
+		<method name="getFormatter()Ljava/util/logging/Formatter;"/>
+		<method name="getLevel()Ljava/util/logging/Level;"/>
+		<method name="isLoggable(Ljava/util/logging/LogRecord;)Z"/>
+		<method name="publish(Ljava/util/logging/LogRecord;)V"/>
+		<method name="reportError(Ljava/lang/String;Ljava/lang/Exception;I)V"/>
+		<method name="setEncoding(Ljava/lang/String;)V"/>
+		<method name="setErrorManager(Ljava/util/logging/ErrorManager;)V"/>
+		<method name="setFilter(Ljava/util/logging/Filter;)V"/>
+		<method name="setFormatter(Ljava/util/logging/Formatter;)V"/>
+		<method name="setLevel(Ljava/util/logging/Level;)V"/>
+	</class>
+	<class name="java/util/logging/Level" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="getLocalizedName()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getResourceBundleName()Ljava/lang/String;"/>
+		<method name="intValue()I"/>
+		<method name="parse(Ljava/lang/String;)Ljava/util/logging/Level;"/>
+		<field name="ALL"/>
+		<field name="CONFIG"/>
+		<field name="FINE"/>
+		<field name="FINER"/>
+		<field name="FINEST"/>
+		<field name="INFO"/>
+		<field name="OFF"/>
+		<field name="SEVERE"/>
+		<field name="WARNING"/>
+	</class>
+	<class name="java/util/logging/LogManager" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addLogger(Ljava/util/logging/Logger;)Z"/>
+		<method name="addPropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26"/>
+		<method name="checkAccess()V"/>
+		<method name="getLogManager()Ljava/util/logging/LogManager;"/>
+		<method name="getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;"/>
+		<method name="getLoggerNames()Ljava/util/Enumeration;"/>
+		<method name="getLoggingMXBean()Ljava/util/logging/LoggingMXBean;" since="3"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="readConfiguration()V"/>
+		<method name="readConfiguration(Ljava/io/InputStream;)V"/>
+		<method name="removePropertyChangeListener(Ljava/beans/PropertyChangeListener;)V" since="3" deprecated="26"/>
+		<method name="reset()V"/>
+		<field name="LOGGING_MXBEAN_NAME"/>
+	</class>
+	<class name="java/util/logging/LogRecord" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/util/logging/Level;Ljava/lang/String;)V"/>
+		<method name="getLevel()Ljava/util/logging/Level;"/>
+		<method name="getLoggerName()Ljava/lang/String;"/>
+		<method name="getMessage()Ljava/lang/String;"/>
+		<method name="getMillis()J"/>
+		<method name="getParameters()[Ljava/lang/Object;"/>
+		<method name="getResourceBundle()Ljava/util/ResourceBundle;"/>
+		<method name="getResourceBundleName()Ljava/lang/String;"/>
+		<method name="getSequenceNumber()J"/>
+		<method name="getSourceClassName()Ljava/lang/String;"/>
+		<method name="getSourceMethodName()Ljava/lang/String;"/>
+		<method name="getThreadID()I"/>
+		<method name="getThrown()Ljava/lang/Throwable;"/>
+		<method name="setLevel(Ljava/util/logging/Level;)V"/>
+		<method name="setLoggerName(Ljava/lang/String;)V"/>
+		<method name="setMessage(Ljava/lang/String;)V"/>
+		<method name="setMillis(J)V"/>
+		<method name="setParameters([Ljava/lang/Object;)V"/>
+		<method name="setResourceBundle(Ljava/util/ResourceBundle;)V"/>
+		<method name="setResourceBundleName(Ljava/lang/String;)V"/>
+		<method name="setSequenceNumber(J)V"/>
+		<method name="setSourceClassName(Ljava/lang/String;)V"/>
+		<method name="setSourceMethodName(Ljava/lang/String;)V"/>
+		<method name="setThreadID(I)V"/>
+		<method name="setThrown(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/logging/Logger" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="addHandler(Ljava/util/logging/Handler;)V"/>
+		<method name="config(Ljava/lang/String;)V"/>
+		<method name="config(Ljava/util/function/Supplier;)V" since="26"/>
+		<method name="entering(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="entering(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="entering(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V"/>
+		<method name="exiting(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="exiting(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="fine(Ljava/lang/String;)V"/>
+		<method name="fine(Ljava/util/function/Supplier;)V" since="26"/>
+		<method name="finer(Ljava/lang/String;)V"/>
+		<method name="finer(Ljava/util/function/Supplier;)V" since="26"/>
+		<method name="finest(Ljava/lang/String;)V"/>
+		<method name="finest(Ljava/util/function/Supplier;)V" since="26"/>
+		<method name="getAnonymousLogger()Ljava/util/logging/Logger;"/>
+		<method name="getAnonymousLogger(Ljava/lang/String;)Ljava/util/logging/Logger;"/>
+		<method name="getFilter()Ljava/util/logging/Filter;"/>
+		<method name="getGlobal()Ljava/util/logging/Logger;" since="19"/>
+		<method name="getHandlers()[Ljava/util/logging/Handler;"/>
+		<method name="getLevel()Ljava/util/logging/Level;"/>
+		<method name="getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;"/>
+		<method name="getLogger(Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getParent()Ljava/util/logging/Logger;"/>
+		<method name="getResourceBundle()Ljava/util/ResourceBundle;"/>
+		<method name="getResourceBundleName()Ljava/lang/String;"/>
+		<method name="getUseParentHandlers()Z"/>
+		<method name="info(Ljava/lang/String;)V"/>
+		<method name="info(Ljava/util/function/Supplier;)V" since="26"/>
+		<method name="isLoggable(Ljava/util/logging/Level;)Z"/>
+		<method name="log(Ljava/util/logging/Level;Ljava/lang/String;)V"/>
+		<method name="log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="log(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V"/>
+		<method name="log(Ljava/util/logging/Level;Ljava/lang/Throwable;Ljava/util/function/Supplier;)V" since="26"/>
+		<method name="log(Ljava/util/logging/Level;Ljava/util/function/Supplier;)V" since="26"/>
+		<method name="log(Ljava/util/logging/LogRecord;)V"/>
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V"/>
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Ljava/util/function/Supplier;)V" since="26"/>
+		<method name="logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/util/function/Supplier;)V" since="26"/>
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="26"/>
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V" deprecated="26"/>
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V" deprecated="26"/>
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V" deprecated="26"/>
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/util/ResourceBundle;Ljava/lang/String;Ljava/lang/Throwable;)V" since="26"/>
+		<method name="logrb(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/util/ResourceBundle;Ljava/lang/String;[Ljava/lang/Object;)V" since="26"/>
+		<method name="removeHandler(Ljava/util/logging/Handler;)V"/>
+		<method name="setFilter(Ljava/util/logging/Filter;)V"/>
+		<method name="setLevel(Ljava/util/logging/Level;)V"/>
+		<method name="setParent(Ljava/util/logging/Logger;)V"/>
+		<method name="setResourceBundle(Ljava/util/ResourceBundle;)V" since="26"/>
+		<method name="setUseParentHandlers(Z)V"/>
+		<method name="severe(Ljava/lang/String;)V"/>
+		<method name="severe(Ljava/util/function/Supplier;)V" since="26"/>
+		<method name="throwing(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="warning(Ljava/lang/String;)V"/>
+		<method name="warning(Ljava/util/function/Supplier;)V" since="26"/>
+		<field name="GLOBAL_LOGGER_NAME" since="9"/>
+		<field name="global" deprecated="15"/>
+	</class>
+	<class name="java/util/logging/LoggingMXBean" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getLoggerLevel(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getLoggerNames()Ljava/util/List;"/>
+		<method name="getParentLoggerName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="setLoggerLevel(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/logging/LoggingPermission" since="1">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/logging/MemoryHandler" since="1">
+		<extends name="java/util/logging/Handler"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/util/logging/Handler;ILjava/util/logging/Level;)V"/>
+		<method name="getPushLevel()Ljava/util/logging/Level;"/>
+		<method name="push()V"/>
+		<method name="setPushLevel(Ljava/util/logging/Level;)V"/>
+	</class>
+	<class name="java/util/logging/SimpleFormatter" since="1">
+		<extends name="java/util/logging/Formatter"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/logging/SocketHandler" since="1">
+		<extends name="java/util/logging/StreamHandler"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+	</class>
+	<class name="java/util/logging/StreamHandler" since="1">
+		<extends name="java/util/logging/Handler"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/util/logging/Formatter;)V"/>
+		<method name="setOutputStream(Ljava/io/OutputStream;)V"/>
+	</class>
+	<class name="java/util/logging/XMLFormatter" since="1">
+		<extends name="java/util/logging/Formatter"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="java/util/prefs/AbstractPreferences" since="1">
+		<extends name="java/util/prefs/Preferences"/>
+		<method name="&lt;init>(Ljava/util/prefs/AbstractPreferences;Ljava/lang/String;)V"/>
+		<method name="cachedChildren()[Ljava/util/prefs/AbstractPreferences;"/>
+		<method name="childSpi(Ljava/lang/String;)Ljava/util/prefs/AbstractPreferences;"/>
+		<method name="childrenNamesSpi()[Ljava/lang/String;"/>
+		<method name="flushSpi()V"/>
+		<method name="getChild(Ljava/lang/String;)Ljava/util/prefs/AbstractPreferences;"/>
+		<method name="getSpi(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="isRemoved()Z"/>
+		<method name="keysSpi()[Ljava/lang/String;"/>
+		<method name="putSpi(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="removeNodeSpi()V"/>
+		<method name="removeSpi(Ljava/lang/String;)V"/>
+		<method name="syncSpi()V"/>
+		<field name="lock"/>
+		<field name="newNode"/>
+	</class>
+	<class name="java/util/prefs/BackingStoreException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/prefs/InvalidPreferencesFormatException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="java/util/prefs/NodeChangeEvent" since="1">
+		<extends name="java/util/EventObject"/>
+		<method name="&lt;init>(Ljava/util/prefs/Preferences;Ljava/util/prefs/Preferences;)V"/>
+		<method name="getChild()Ljava/util/prefs/Preferences;"/>
+		<method name="getParent()Ljava/util/prefs/Preferences;"/>
+	</class>
+	<class name="java/util/prefs/NodeChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/EventListener"/>
+		<method name="childAdded(Ljava/util/prefs/NodeChangeEvent;)V"/>
+		<method name="childRemoved(Ljava/util/prefs/NodeChangeEvent;)V"/>
+	</class>
+	<class name="java/util/prefs/PreferenceChangeEvent" since="1">
+		<extends name="java/util/EventObject"/>
+		<method name="&lt;init>(Ljava/util/prefs/Preferences;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getKey()Ljava/lang/String;"/>
+		<method name="getNewValue()Ljava/lang/String;"/>
+		<method name="getNode()Ljava/util/prefs/Preferences;"/>
+	</class>
+	<class name="java/util/prefs/PreferenceChangeListener" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/EventListener"/>
+		<method name="preferenceChange(Ljava/util/prefs/PreferenceChangeEvent;)V"/>
+	</class>
+	<class name="java/util/prefs/Preferences" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="absolutePath()Ljava/lang/String;"/>
+		<method name="addNodeChangeListener(Ljava/util/prefs/NodeChangeListener;)V"/>
+		<method name="addPreferenceChangeListener(Ljava/util/prefs/PreferenceChangeListener;)V"/>
+		<method name="childrenNames()[Ljava/lang/String;"/>
+		<method name="clear()V"/>
+		<method name="exportNode(Ljava/io/OutputStream;)V"/>
+		<method name="exportSubtree(Ljava/io/OutputStream;)V"/>
+		<method name="flush()V"/>
+		<method name="get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getBoolean(Ljava/lang/String;Z)Z"/>
+		<method name="getByteArray(Ljava/lang/String;[B)[B"/>
+		<method name="getDouble(Ljava/lang/String;D)D"/>
+		<method name="getFloat(Ljava/lang/String;F)F"/>
+		<method name="getInt(Ljava/lang/String;I)I"/>
+		<method name="getLong(Ljava/lang/String;J)J"/>
+		<method name="importPreferences(Ljava/io/InputStream;)V"/>
+		<method name="isUserNode()Z"/>
+		<method name="keys()[Ljava/lang/String;"/>
+		<method name="name()Ljava/lang/String;"/>
+		<method name="node(Ljava/lang/String;)Ljava/util/prefs/Preferences;"/>
+		<method name="nodeExists(Ljava/lang/String;)Z"/>
+		<method name="parent()Ljava/util/prefs/Preferences;"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="putBoolean(Ljava/lang/String;Z)V"/>
+		<method name="putByteArray(Ljava/lang/String;[B)V"/>
+		<method name="putDouble(Ljava/lang/String;D)V"/>
+		<method name="putFloat(Ljava/lang/String;F)V"/>
+		<method name="putInt(Ljava/lang/String;I)V"/>
+		<method name="putLong(Ljava/lang/String;J)V"/>
+		<method name="remove(Ljava/lang/String;)V"/>
+		<method name="removeNode()V"/>
+		<method name="removeNodeChangeListener(Ljava/util/prefs/NodeChangeListener;)V"/>
+		<method name="removePreferenceChangeListener(Ljava/util/prefs/PreferenceChangeListener;)V"/>
+		<method name="sync()V"/>
+		<method name="systemNodeForPackage(Ljava/lang/Class;)Ljava/util/prefs/Preferences;"/>
+		<method name="systemRoot()Ljava/util/prefs/Preferences;"/>
+		<method name="userNodeForPackage(Ljava/lang/Class;)Ljava/util/prefs/Preferences;"/>
+		<method name="userRoot()Ljava/util/prefs/Preferences;"/>
+		<field name="MAX_KEY_LENGTH"/>
+		<field name="MAX_NAME_LENGTH"/>
+		<field name="MAX_VALUE_LENGTH"/>
+	</class>
+	<class name="java/util/prefs/PreferencesFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="systemRoot()Ljava/util/prefs/Preferences;"/>
+		<method name="userRoot()Ljava/util/prefs/Preferences;"/>
+	</class>
+	<class name="java/util/regex/MatchResult" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="end()I"/>
+		<method name="end(I)I"/>
+		<method name="group()Ljava/lang/String;"/>
+		<method name="group(I)Ljava/lang/String;"/>
+		<method name="groupCount()I"/>
+		<method name="start()I"/>
+		<method name="start(I)I"/>
+	</class>
+	<class name="java/util/regex/Matcher" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/regex/MatchResult"/>
+		<method name="appendReplacement(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;"/>
+		<method name="appendTail(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;"/>
+		<method name="end(Ljava/lang/String;)I" since="26"/>
+		<method name="find()Z"/>
+		<method name="find(I)Z"/>
+		<method name="group(Ljava/lang/String;)Ljava/lang/String;" since="26"/>
+		<method name="hasAnchoringBounds()Z"/>
+		<method name="hasTransparentBounds()Z"/>
+		<method name="hitEnd()Z"/>
+		<method name="lookingAt()Z"/>
+		<method name="matches()Z"/>
+		<method name="pattern()Ljava/util/regex/Pattern;"/>
+		<method name="quoteReplacement(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="region(II)Ljava/util/regex/Matcher;"/>
+		<method name="regionEnd()I"/>
+		<method name="regionStart()I"/>
+		<method name="replaceAll(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="replaceFirst(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="requireEnd()Z"/>
+		<method name="reset()Ljava/util/regex/Matcher;"/>
+		<method name="reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;"/>
+		<method name="start(Ljava/lang/String;)I" since="26"/>
+		<method name="toMatchResult()Ljava/util/regex/MatchResult;"/>
+		<method name="useAnchoringBounds(Z)Ljava/util/regex/Matcher;"/>
+		<method name="usePattern(Ljava/util/regex/Pattern;)Ljava/util/regex/Matcher;"/>
+		<method name="useTransparentBounds(Z)Ljava/util/regex/Matcher;"/>
+	</class>
+	<class name="java/util/regex/Pattern" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="asPredicate()Ljava/util/function/Predicate;" since="24"/>
+		<method name="compile(Ljava/lang/String;)Ljava/util/regex/Pattern;"/>
+		<method name="compile(Ljava/lang/String;I)Ljava/util/regex/Pattern;"/>
+		<method name="flags()I"/>
+		<method name="matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;"/>
+		<method name="matches(Ljava/lang/String;Ljava/lang/CharSequence;)Z"/>
+		<method name="pattern()Ljava/lang/String;"/>
+		<method name="quote(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="split(Ljava/lang/CharSequence;)[Ljava/lang/String;"/>
+		<method name="split(Ljava/lang/CharSequence;I)[Ljava/lang/String;"/>
+		<method name="splitAsStream(Ljava/lang/CharSequence;)Ljava/util/stream/Stream;" since="24"/>
+		<field name="CANON_EQ"/>
+		<field name="CASE_INSENSITIVE"/>
+		<field name="COMMENTS"/>
+		<field name="DOTALL"/>
+		<field name="LITERAL"/>
+		<field name="MULTILINE"/>
+		<field name="UNICODE_CASE"/>
+		<field name="UNICODE_CHARACTER_CLASS" since="24"/>
+		<field name="UNIX_LINES"/>
+	</class>
+	<class name="java/util/regex/PatternSyntaxException" since="1">
+		<extends name="java/lang/IllegalArgumentException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;I)V"/>
+		<method name="getDescription()Ljava/lang/String;"/>
+		<method name="getIndex()I"/>
+		<method name="getPattern()Ljava/lang/String;"/>
+	</class>
+	<class name="java/util/stream/BaseStream" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/AutoCloseable"/>
+		<method name="isParallel()Z"/>
+		<method name="iterator()Ljava/util/Iterator;"/>
+		<method name="onClose(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;"/>
+		<method name="parallel()Ljava/util/stream/BaseStream;"/>
+		<method name="sequential()Ljava/util/stream/BaseStream;"/>
+		<method name="spliterator()Ljava/util/Spliterator;"/>
+		<method name="unordered()Ljava/util/stream/BaseStream;"/>
+	</class>
+	<class name="java/util/stream/Collector" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="accumulator()Ljava/util/function/BiConsumer;"/>
+		<method name="characteristics()Ljava/util/Set;"/>
+		<method name="combiner()Ljava/util/function/BinaryOperator;"/>
+		<method name="finisher()Ljava/util/function/Function;"/>
+		<method name="of(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;"/>
+		<method name="of(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;"/>
+		<method name="supplier()Ljava/util/function/Supplier;"/>
+	</class>
+	<class name="java/util/stream/Collector$Characteristics" since="24">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljava/util/stream/Collector$Characteristics;"/>
+		<method name="values()[Ljava/util/stream/Collector$Characteristics;"/>
+		<field name="CONCURRENT"/>
+		<field name="IDENTITY_FINISH"/>
+		<field name="UNORDERED"/>
+	</class>
+	<class name="java/util/stream/Collectors" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="averagingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/Collector;"/>
+		<method name="averagingInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/Collector;"/>
+		<method name="averagingLong(Ljava/util/function/ToLongFunction;)Ljava/util/stream/Collector;"/>
+		<method name="collectingAndThen(Ljava/util/stream/Collector;Ljava/util/function/Function;)Ljava/util/stream/Collector;"/>
+		<method name="counting()Ljava/util/stream/Collector;"/>
+		<method name="groupingBy(Ljava/util/function/Function;)Ljava/util/stream/Collector;"/>
+		<method name="groupingBy(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;"/>
+		<method name="groupingBy(Ljava/util/function/Function;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;"/>
+		<method name="groupingByConcurrent(Ljava/util/function/Function;)Ljava/util/stream/Collector;"/>
+		<method name="groupingByConcurrent(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;"/>
+		<method name="groupingByConcurrent(Ljava/util/function/Function;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;"/>
+		<method name="joining()Ljava/util/stream/Collector;"/>
+		<method name="joining(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;"/>
+		<method name="joining(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;"/>
+		<method name="mapping(Ljava/util/function/Function;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;"/>
+		<method name="maxBy(Ljava/util/Comparator;)Ljava/util/stream/Collector;"/>
+		<method name="minBy(Ljava/util/Comparator;)Ljava/util/stream/Collector;"/>
+		<method name="partitioningBy(Ljava/util/function/Predicate;)Ljava/util/stream/Collector;"/>
+		<method name="partitioningBy(Ljava/util/function/Predicate;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;"/>
+		<method name="reducing(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;"/>
+		<method name="reducing(Ljava/lang/Object;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;"/>
+		<method name="reducing(Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;"/>
+		<method name="summarizingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/Collector;"/>
+		<method name="summarizingInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/Collector;"/>
+		<method name="summarizingLong(Ljava/util/function/ToLongFunction;)Ljava/util/stream/Collector;"/>
+		<method name="summingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/Collector;"/>
+		<method name="summingInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/Collector;"/>
+		<method name="summingLong(Ljava/util/function/ToLongFunction;)Ljava/util/stream/Collector;"/>
+		<method name="toCollection(Ljava/util/function/Supplier;)Ljava/util/stream/Collector;"/>
+		<method name="toConcurrentMap(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;"/>
+		<method name="toConcurrentMap(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;"/>
+		<method name="toConcurrentMap(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;Ljava/util/function/Supplier;)Ljava/util/stream/Collector;"/>
+		<method name="toList()Ljava/util/stream/Collector;"/>
+		<method name="toMap(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;"/>
+		<method name="toMap(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;"/>
+		<method name="toMap(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;Ljava/util/function/Supplier;)Ljava/util/stream/Collector;"/>
+		<method name="toSet()Ljava/util/stream/Collector;"/>
+	</class>
+	<class name="java/util/stream/DoubleStream" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/stream/BaseStream"/>
+		<method name="allMatch(Ljava/util/function/DoublePredicate;)Z"/>
+		<method name="anyMatch(Ljava/util/function/DoublePredicate;)Z"/>
+		<method name="average()Ljava/util/OptionalDouble;"/>
+		<method name="boxed()Ljava/util/stream/Stream;"/>
+		<method name="builder()Ljava/util/stream/DoubleStream$Builder;"/>
+		<method name="collect(Ljava/util/function/Supplier;Ljava/util/function/ObjDoubleConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;"/>
+		<method name="concat(Ljava/util/stream/DoubleStream;Ljava/util/stream/DoubleStream;)Ljava/util/stream/DoubleStream;"/>
+		<method name="count()J"/>
+		<method name="distinct()Ljava/util/stream/DoubleStream;"/>
+		<method name="empty()Ljava/util/stream/DoubleStream;"/>
+		<method name="filter(Ljava/util/function/DoublePredicate;)Ljava/util/stream/DoubleStream;"/>
+		<method name="findAny()Ljava/util/OptionalDouble;"/>
+		<method name="findFirst()Ljava/util/OptionalDouble;"/>
+		<method name="flatMap(Ljava/util/function/DoubleFunction;)Ljava/util/stream/DoubleStream;"/>
+		<method name="forEach(Ljava/util/function/DoubleConsumer;)V"/>
+		<method name="forEachOrdered(Ljava/util/function/DoubleConsumer;)V"/>
+		<method name="generate(Ljava/util/function/DoubleSupplier;)Ljava/util/stream/DoubleStream;"/>
+		<method name="iterate(DLjava/util/function/DoubleUnaryOperator;)Ljava/util/stream/DoubleStream;"/>
+		<method name="iterator()Ljava/util/PrimitiveIterator$OfDouble;"/>
+		<method name="limit(J)Ljava/util/stream/DoubleStream;"/>
+		<method name="map(Ljava/util/function/DoubleUnaryOperator;)Ljava/util/stream/DoubleStream;"/>
+		<method name="mapToInt(Ljava/util/function/DoubleToIntFunction;)Ljava/util/stream/IntStream;"/>
+		<method name="mapToLong(Ljava/util/function/DoubleToLongFunction;)Ljava/util/stream/LongStream;"/>
+		<method name="mapToObj(Ljava/util/function/DoubleFunction;)Ljava/util/stream/Stream;"/>
+		<method name="max()Ljava/util/OptionalDouble;"/>
+		<method name="min()Ljava/util/OptionalDouble;"/>
+		<method name="noneMatch(Ljava/util/function/DoublePredicate;)Z"/>
+		<method name="of(D)Ljava/util/stream/DoubleStream;"/>
+		<method name="of([D)Ljava/util/stream/DoubleStream;"/>
+		<method name="parallel()Ljava/util/stream/DoubleStream;"/>
+		<method name="peek(Ljava/util/function/DoubleConsumer;)Ljava/util/stream/DoubleStream;"/>
+		<method name="reduce(DLjava/util/function/DoubleBinaryOperator;)D"/>
+		<method name="reduce(Ljava/util/function/DoubleBinaryOperator;)Ljava/util/OptionalDouble;"/>
+		<method name="sequential()Ljava/util/stream/DoubleStream;"/>
+		<method name="skip(J)Ljava/util/stream/DoubleStream;"/>
+		<method name="sorted()Ljava/util/stream/DoubleStream;"/>
+		<method name="spliterator()Ljava/util/Spliterator$OfDouble;"/>
+		<method name="sum()D"/>
+		<method name="summaryStatistics()Ljava/util/DoubleSummaryStatistics;"/>
+		<method name="toArray()[D"/>
+	</class>
+	<class name="java/util/stream/DoubleStream$Builder" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/function/DoubleConsumer"/>
+		<method name="add(D)Ljava/util/stream/DoubleStream$Builder;"/>
+		<method name="build()Ljava/util/stream/DoubleStream;"/>
+	</class>
+	<class name="java/util/stream/IntStream" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/stream/BaseStream"/>
+		<method name="allMatch(Ljava/util/function/IntPredicate;)Z"/>
+		<method name="anyMatch(Ljava/util/function/IntPredicate;)Z"/>
+		<method name="asDoubleStream()Ljava/util/stream/DoubleStream;"/>
+		<method name="asLongStream()Ljava/util/stream/LongStream;"/>
+		<method name="average()Ljava/util/OptionalDouble;"/>
+		<method name="boxed()Ljava/util/stream/Stream;"/>
+		<method name="builder()Ljava/util/stream/IntStream$Builder;"/>
+		<method name="collect(Ljava/util/function/Supplier;Ljava/util/function/ObjIntConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;"/>
+		<method name="concat(Ljava/util/stream/IntStream;Ljava/util/stream/IntStream;)Ljava/util/stream/IntStream;"/>
+		<method name="count()J"/>
+		<method name="distinct()Ljava/util/stream/IntStream;"/>
+		<method name="empty()Ljava/util/stream/IntStream;"/>
+		<method name="filter(Ljava/util/function/IntPredicate;)Ljava/util/stream/IntStream;"/>
+		<method name="findAny()Ljava/util/OptionalInt;"/>
+		<method name="findFirst()Ljava/util/OptionalInt;"/>
+		<method name="flatMap(Ljava/util/function/IntFunction;)Ljava/util/stream/IntStream;"/>
+		<method name="forEach(Ljava/util/function/IntConsumer;)V"/>
+		<method name="forEachOrdered(Ljava/util/function/IntConsumer;)V"/>
+		<method name="generate(Ljava/util/function/IntSupplier;)Ljava/util/stream/IntStream;"/>
+		<method name="iterate(ILjava/util/function/IntUnaryOperator;)Ljava/util/stream/IntStream;"/>
+		<method name="iterator()Ljava/util/PrimitiveIterator$OfInt;"/>
+		<method name="limit(J)Ljava/util/stream/IntStream;"/>
+		<method name="map(Ljava/util/function/IntUnaryOperator;)Ljava/util/stream/IntStream;"/>
+		<method name="mapToDouble(Ljava/util/function/IntToDoubleFunction;)Ljava/util/stream/DoubleStream;"/>
+		<method name="mapToLong(Ljava/util/function/IntToLongFunction;)Ljava/util/stream/LongStream;"/>
+		<method name="mapToObj(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;"/>
+		<method name="max()Ljava/util/OptionalInt;"/>
+		<method name="min()Ljava/util/OptionalInt;"/>
+		<method name="noneMatch(Ljava/util/function/IntPredicate;)Z"/>
+		<method name="of(I)Ljava/util/stream/IntStream;"/>
+		<method name="of([I)Ljava/util/stream/IntStream;"/>
+		<method name="parallel()Ljava/util/stream/IntStream;"/>
+		<method name="peek(Ljava/util/function/IntConsumer;)Ljava/util/stream/IntStream;"/>
+		<method name="range(II)Ljava/util/stream/IntStream;"/>
+		<method name="rangeClosed(II)Ljava/util/stream/IntStream;"/>
+		<method name="reduce(ILjava/util/function/IntBinaryOperator;)I"/>
+		<method name="reduce(Ljava/util/function/IntBinaryOperator;)Ljava/util/OptionalInt;"/>
+		<method name="sequential()Ljava/util/stream/IntStream;"/>
+		<method name="skip(J)Ljava/util/stream/IntStream;"/>
+		<method name="sorted()Ljava/util/stream/IntStream;"/>
+		<method name="spliterator()Ljava/util/Spliterator$OfInt;"/>
+		<method name="sum()I"/>
+		<method name="summaryStatistics()Ljava/util/IntSummaryStatistics;"/>
+		<method name="toArray()[I"/>
+	</class>
+	<class name="java/util/stream/IntStream$Builder" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/function/IntConsumer"/>
+		<method name="add(I)Ljava/util/stream/IntStream$Builder;"/>
+		<method name="build()Ljava/util/stream/IntStream;"/>
+	</class>
+	<class name="java/util/stream/LongStream" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/stream/BaseStream"/>
+		<method name="allMatch(Ljava/util/function/LongPredicate;)Z"/>
+		<method name="anyMatch(Ljava/util/function/LongPredicate;)Z"/>
+		<method name="asDoubleStream()Ljava/util/stream/DoubleStream;"/>
+		<method name="average()Ljava/util/OptionalDouble;"/>
+		<method name="boxed()Ljava/util/stream/Stream;"/>
+		<method name="builder()Ljava/util/stream/LongStream$Builder;"/>
+		<method name="collect(Ljava/util/function/Supplier;Ljava/util/function/ObjLongConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;"/>
+		<method name="concat(Ljava/util/stream/LongStream;Ljava/util/stream/LongStream;)Ljava/util/stream/LongStream;"/>
+		<method name="count()J"/>
+		<method name="distinct()Ljava/util/stream/LongStream;"/>
+		<method name="empty()Ljava/util/stream/LongStream;"/>
+		<method name="filter(Ljava/util/function/LongPredicate;)Ljava/util/stream/LongStream;"/>
+		<method name="findAny()Ljava/util/OptionalLong;"/>
+		<method name="findFirst()Ljava/util/OptionalLong;"/>
+		<method name="flatMap(Ljava/util/function/LongFunction;)Ljava/util/stream/LongStream;"/>
+		<method name="forEach(Ljava/util/function/LongConsumer;)V"/>
+		<method name="forEachOrdered(Ljava/util/function/LongConsumer;)V"/>
+		<method name="generate(Ljava/util/function/LongSupplier;)Ljava/util/stream/LongStream;"/>
+		<method name="iterate(JLjava/util/function/LongUnaryOperator;)Ljava/util/stream/LongStream;"/>
+		<method name="iterator()Ljava/util/PrimitiveIterator$OfLong;"/>
+		<method name="limit(J)Ljava/util/stream/LongStream;"/>
+		<method name="map(Ljava/util/function/LongUnaryOperator;)Ljava/util/stream/LongStream;"/>
+		<method name="mapToDouble(Ljava/util/function/LongToDoubleFunction;)Ljava/util/stream/DoubleStream;"/>
+		<method name="mapToInt(Ljava/util/function/LongToIntFunction;)Ljava/util/stream/IntStream;"/>
+		<method name="mapToObj(Ljava/util/function/LongFunction;)Ljava/util/stream/Stream;"/>
+		<method name="max()Ljava/util/OptionalLong;"/>
+		<method name="min()Ljava/util/OptionalLong;"/>
+		<method name="noneMatch(Ljava/util/function/LongPredicate;)Z"/>
+		<method name="of(J)Ljava/util/stream/LongStream;"/>
+		<method name="of([J)Ljava/util/stream/LongStream;"/>
+		<method name="parallel()Ljava/util/stream/LongStream;"/>
+		<method name="peek(Ljava/util/function/LongConsumer;)Ljava/util/stream/LongStream;"/>
+		<method name="range(JJ)Ljava/util/stream/LongStream;"/>
+		<method name="rangeClosed(JJ)Ljava/util/stream/LongStream;"/>
+		<method name="reduce(JLjava/util/function/LongBinaryOperator;)J"/>
+		<method name="reduce(Ljava/util/function/LongBinaryOperator;)Ljava/util/OptionalLong;"/>
+		<method name="sequential()Ljava/util/stream/LongStream;"/>
+		<method name="skip(J)Ljava/util/stream/LongStream;"/>
+		<method name="sorted()Ljava/util/stream/LongStream;"/>
+		<method name="spliterator()Ljava/util/Spliterator$OfLong;"/>
+		<method name="sum()J"/>
+		<method name="summaryStatistics()Ljava/util/LongSummaryStatistics;"/>
+		<method name="toArray()[J"/>
+	</class>
+	<class name="java/util/stream/LongStream$Builder" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/function/LongConsumer"/>
+		<method name="add(J)Ljava/util/stream/LongStream$Builder;"/>
+		<method name="build()Ljava/util/stream/LongStream;"/>
+	</class>
+	<class name="java/util/stream/Stream" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/stream/BaseStream"/>
+		<method name="allMatch(Ljava/util/function/Predicate;)Z"/>
+		<method name="anyMatch(Ljava/util/function/Predicate;)Z"/>
+		<method name="builder()Ljava/util/stream/Stream$Builder;"/>
+		<method name="collect(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;"/>
+		<method name="collect(Ljava/util/stream/Collector;)Ljava/lang/Object;"/>
+		<method name="concat(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;"/>
+		<method name="count()J"/>
+		<method name="distinct()Ljava/util/stream/Stream;"/>
+		<method name="empty()Ljava/util/stream/Stream;"/>
+		<method name="filter(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;"/>
+		<method name="findAny()Ljava/util/Optional;"/>
+		<method name="findFirst()Ljava/util/Optional;"/>
+		<method name="flatMap(Ljava/util/function/Function;)Ljava/util/stream/Stream;"/>
+		<method name="flatMapToDouble(Ljava/util/function/Function;)Ljava/util/stream/DoubleStream;"/>
+		<method name="flatMapToInt(Ljava/util/function/Function;)Ljava/util/stream/IntStream;"/>
+		<method name="flatMapToLong(Ljava/util/function/Function;)Ljava/util/stream/LongStream;"/>
+		<method name="forEach(Ljava/util/function/Consumer;)V"/>
+		<method name="forEachOrdered(Ljava/util/function/Consumer;)V"/>
+		<method name="generate(Ljava/util/function/Supplier;)Ljava/util/stream/Stream;"/>
+		<method name="iterate(Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/util/stream/Stream;"/>
+		<method name="limit(J)Ljava/util/stream/Stream;"/>
+		<method name="map(Ljava/util/function/Function;)Ljava/util/stream/Stream;"/>
+		<method name="mapToDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/DoubleStream;"/>
+		<method name="mapToInt(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;"/>
+		<method name="mapToLong(Ljava/util/function/ToLongFunction;)Ljava/util/stream/LongStream;"/>
+		<method name="max(Ljava/util/Comparator;)Ljava/util/Optional;"/>
+		<method name="min(Ljava/util/Comparator;)Ljava/util/Optional;"/>
+		<method name="noneMatch(Ljava/util/function/Predicate;)Z"/>
+		<method name="of(Ljava/lang/Object;)Ljava/util/stream/Stream;"/>
+		<method name="of([Ljava/lang/Object;)Ljava/util/stream/Stream;"/>
+		<method name="peek(Ljava/util/function/Consumer;)Ljava/util/stream/Stream;"/>
+		<method name="reduce(Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;"/>
+		<method name="reduce(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;"/>
+		<method name="reduce(Ljava/util/function/BinaryOperator;)Ljava/util/Optional;"/>
+		<method name="skip(J)Ljava/util/stream/Stream;"/>
+		<method name="sorted()Ljava/util/stream/Stream;"/>
+		<method name="sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream;"/>
+		<method name="toArray()[Ljava/lang/Object;"/>
+		<method name="toArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;"/>
+	</class>
+	<class name="java/util/stream/Stream$Builder" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/function/Consumer"/>
+		<method name="add(Ljava/lang/Object;)Ljava/util/stream/Stream$Builder;"/>
+		<method name="build()Ljava/util/stream/Stream;"/>
+	</class>
+	<class name="java/util/stream/StreamSupport" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="doubleStream(Ljava/util/Spliterator$OfDouble;Z)Ljava/util/stream/DoubleStream;"/>
+		<method name="doubleStream(Ljava/util/function/Supplier;IZ)Ljava/util/stream/DoubleStream;"/>
+		<method name="intStream(Ljava/util/Spliterator$OfInt;Z)Ljava/util/stream/IntStream;"/>
+		<method name="intStream(Ljava/util/function/Supplier;IZ)Ljava/util/stream/IntStream;"/>
+		<method name="longStream(Ljava/util/Spliterator$OfLong;Z)Ljava/util/stream/LongStream;"/>
+		<method name="longStream(Ljava/util/function/Supplier;IZ)Ljava/util/stream/LongStream;"/>
+		<method name="stream(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;"/>
+		<method name="stream(Ljava/util/function/Supplier;IZ)Ljava/util/stream/Stream;"/>
+	</class>
+	<class name="java/util/zip/Adler32" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/zip/Checksum"/>
+		<method name="&lt;init>()V"/>
+		<method name="update(Ljava/nio/ByteBuffer;)V" since="26"/>
+		<method name="update([B)V"/>
+	</class>
+	<class name="java/util/zip/CRC32" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/zip/Checksum"/>
+		<method name="&lt;init>()V"/>
+		<method name="update(Ljava/nio/ByteBuffer;)V" since="26"/>
+		<method name="update([B)V"/>
+	</class>
+	<class name="java/util/zip/CheckedInputStream" since="1">
+		<extends name="java/io/FilterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/util/zip/Checksum;)V"/>
+		<method name="getChecksum()Ljava/util/zip/Checksum;"/>
+	</class>
+	<class name="java/util/zip/CheckedOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/util/zip/Checksum;)V"/>
+		<method name="getChecksum()Ljava/util/zip/Checksum;"/>
+	</class>
+	<class name="java/util/zip/Checksum" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getValue()J"/>
+		<method name="reset()V"/>
+		<method name="update(I)V"/>
+		<method name="update([BII)V"/>
+	</class>
+	<class name="java/util/zip/DataFormatException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/zip/Deflater" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(IZ)V"/>
+		<method name="deflate([B)I"/>
+		<method name="deflate([BII)I"/>
+		<method name="deflate([BIII)I" since="19"/>
+		<method name="end()V"/>
+		<method name="finish()V"/>
+		<method name="finished()Z"/>
+		<method name="getAdler()I"/>
+		<method name="getBytesRead()J"/>
+		<method name="getBytesWritten()J"/>
+		<method name="getTotalIn()I"/>
+		<method name="getTotalOut()I"/>
+		<method name="needsInput()Z"/>
+		<method name="reset()V"/>
+		<method name="setDictionary([B)V"/>
+		<method name="setDictionary([BII)V"/>
+		<method name="setInput([B)V"/>
+		<method name="setInput([BII)V"/>
+		<method name="setLevel(I)V"/>
+		<method name="setStrategy(I)V"/>
+		<field name="BEST_COMPRESSION"/>
+		<field name="BEST_SPEED"/>
+		<field name="DEFAULT_COMPRESSION"/>
+		<field name="DEFAULT_STRATEGY"/>
+		<field name="DEFLATED"/>
+		<field name="FILTERED"/>
+		<field name="FULL_FLUSH" since="19"/>
+		<field name="HUFFMAN_ONLY"/>
+		<field name="NO_COMPRESSION"/>
+		<field name="NO_FLUSH" since="19"/>
+		<field name="SYNC_FLUSH" since="19"/>
+	</class>
+	<class name="java/util/zip/DeflaterInputStream" since="9">
+		<extends name="java/io/FilterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/util/zip/Deflater;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/util/zip/Deflater;I)V"/>
+		<field name="buf"/>
+		<field name="def"/>
+	</class>
+	<class name="java/util/zip/DeflaterOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/util/zip/Deflater;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/util/zip/Deflater;I)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/util/zip/Deflater;IZ)V" since="19"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/util/zip/Deflater;Z)V" since="19"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Z)V" since="19"/>
+		<method name="deflate()V"/>
+		<method name="finish()V"/>
+		<field name="buf"/>
+		<field name="def"/>
+	</class>
+	<class name="java/util/zip/GZIPInputStream" since="1">
+		<extends name="java/util/zip/InflaterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;I)V"/>
+		<field name="GZIP_MAGIC"/>
+		<field name="crc"/>
+		<field name="eos"/>
+	</class>
+	<class name="java/util/zip/GZIPOutputStream" since="1">
+		<extends name="java/util/zip/DeflaterOutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;I)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;IZ)V" since="19"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Z)V" since="19"/>
+		<field name="crc"/>
+	</class>
+	<class name="java/util/zip/Inflater" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Z)V"/>
+		<method name="end()V"/>
+		<method name="finished()Z"/>
+		<method name="getAdler()I"/>
+		<method name="getBytesRead()J"/>
+		<method name="getBytesWritten()J"/>
+		<method name="getRemaining()I"/>
+		<method name="getTotalIn()I"/>
+		<method name="getTotalOut()I"/>
+		<method name="inflate([B)I"/>
+		<method name="inflate([BII)I"/>
+		<method name="needsDictionary()Z"/>
+		<method name="needsInput()Z"/>
+		<method name="reset()V"/>
+		<method name="setDictionary([B)V"/>
+		<method name="setDictionary([BII)V"/>
+		<method name="setInput([B)V"/>
+		<method name="setInput([BII)V"/>
+	</class>
+	<class name="java/util/zip/InflaterInputStream" since="1">
+		<extends name="java/io/FilterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/util/zip/Inflater;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/util/zip/Inflater;I)V"/>
+		<method name="fill()V"/>
+		<field name="buf"/>
+		<field name="closed" since="24" deprecated="29"/>
+		<field name="inf"/>
+		<field name="len"/>
+	</class>
+	<class name="java/util/zip/InflaterOutputStream" since="9">
+		<extends name="java/io/FilterOutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/util/zip/Inflater;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/util/zip/Inflater;I)V"/>
+		<method name="finish()V"/>
+		<field name="buf"/>
+		<field name="inf"/>
+	</class>
+	<class name="java/util/zip/ZipEntry" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/util/zip/ZipEntry;)V"/>
+		<method name="getComment()Ljava/lang/String;"/>
+		<method name="getCompressedSize()J"/>
+		<method name="getCrc()J"/>
+		<method name="getCreationTime()Ljava/nio/file/attribute/FileTime;" since="26"/>
+		<method name="getExtra()[B"/>
+		<method name="getLastAccessTime()Ljava/nio/file/attribute/FileTime;" since="26"/>
+		<method name="getLastModifiedTime()Ljava/nio/file/attribute/FileTime;" since="26"/>
+		<method name="getMethod()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getSize()J"/>
+		<method name="getTime()J"/>
+		<method name="isDirectory()Z"/>
+		<method name="setComment(Ljava/lang/String;)V"/>
+		<method name="setCompressedSize(J)V"/>
+		<method name="setCrc(J)V"/>
+		<method name="setCreationTime(Ljava/nio/file/attribute/FileTime;)Ljava/util/zip/ZipEntry;" since="26"/>
+		<method name="setExtra([B)V"/>
+		<method name="setLastAccessTime(Ljava/nio/file/attribute/FileTime;)Ljava/util/zip/ZipEntry;" since="26"/>
+		<method name="setLastModifiedTime(Ljava/nio/file/attribute/FileTime;)Ljava/util/zip/ZipEntry;" since="26"/>
+		<method name="setMethod(I)V"/>
+		<method name="setSize(J)V"/>
+		<method name="setTime(J)V"/>
+		<field name="CENATT" since="21"/>
+		<field name="CENATX" since="21"/>
+		<field name="CENCOM" since="21"/>
+		<field name="CENCRC" since="21"/>
+		<field name="CENDSK" since="21"/>
+		<field name="CENEXT" since="21"/>
+		<field name="CENFLG" since="21"/>
+		<field name="CENHDR" since="21"/>
+		<field name="CENHOW" since="21"/>
+		<field name="CENLEN" since="21"/>
+		<field name="CENNAM" since="21"/>
+		<field name="CENOFF" since="21"/>
+		<field name="CENSIG" since="21"/>
+		<field name="CENSIZ" since="21"/>
+		<field name="CENTIM" since="21"/>
+		<field name="CENVEM" since="21"/>
+		<field name="CENVER" since="21"/>
+		<field name="DEFLATED"/>
+		<field name="ENDCOM" since="21"/>
+		<field name="ENDHDR" since="21"/>
+		<field name="ENDOFF" since="21"/>
+		<field name="ENDSIG" since="21"/>
+		<field name="ENDSIZ" since="21"/>
+		<field name="ENDSUB" since="21"/>
+		<field name="ENDTOT" since="21"/>
+		<field name="EXTCRC" since="21"/>
+		<field name="EXTHDR" since="21"/>
+		<field name="EXTLEN" since="21"/>
+		<field name="EXTSIG" since="21"/>
+		<field name="EXTSIZ" since="21"/>
+		<field name="LOCCRC" since="21"/>
+		<field name="LOCEXT" since="21"/>
+		<field name="LOCFLG" since="21"/>
+		<field name="LOCHDR" since="21"/>
+		<field name="LOCHOW" since="21"/>
+		<field name="LOCLEN" since="21"/>
+		<field name="LOCNAM" since="21"/>
+		<field name="LOCSIG" since="21"/>
+		<field name="LOCSIZ" since="21"/>
+		<field name="LOCTIM" since="21"/>
+		<field name="LOCVER" since="21"/>
+		<field name="STORED"/>
+	</class>
+	<class name="java/util/zip/ZipError" since="9">
+		<extends name="java/lang/InternalError"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/zip/ZipException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="java/util/zip/ZipFile" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Closeable" since="19"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/File;I)V"/>
+		<method name="&lt;init>(Ljava/io/File;ILjava/nio/charset/Charset;)V" since="24"/>
+		<method name="&lt;init>(Ljava/io/File;Ljava/nio/charset/Charset;)V" since="24"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/nio/charset/Charset;)V" since="24"/>
+		<method name="close()V"/>
+		<method name="entries()Ljava/util/Enumeration;"/>
+		<method name="getComment()Ljava/lang/String;" since="19"/>
+		<method name="getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;"/>
+		<method name="getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="size()I"/>
+		<method name="stream()Ljava/util/stream/Stream;" since="26"/>
+		<field name="CENATT" since="21"/>
+		<field name="CENATX" since="21"/>
+		<field name="CENCOM" since="21"/>
+		<field name="CENCRC" since="21"/>
+		<field name="CENDSK" since="21"/>
+		<field name="CENEXT" since="21"/>
+		<field name="CENFLG" since="21"/>
+		<field name="CENHDR" since="21"/>
+		<field name="CENHOW" since="21"/>
+		<field name="CENLEN" since="21"/>
+		<field name="CENNAM" since="21"/>
+		<field name="CENOFF" since="21"/>
+		<field name="CENSIG" since="21"/>
+		<field name="CENSIZ" since="21"/>
+		<field name="CENTIM" since="21"/>
+		<field name="CENVEM" since="21"/>
+		<field name="CENVER" since="21"/>
+		<field name="ENDCOM" since="21"/>
+		<field name="ENDHDR" since="21"/>
+		<field name="ENDOFF" since="21"/>
+		<field name="ENDSIG" since="21"/>
+		<field name="ENDSIZ" since="21"/>
+		<field name="ENDSUB" since="21"/>
+		<field name="ENDTOT" since="21"/>
+		<field name="EXTCRC" since="21"/>
+		<field name="EXTHDR" since="21"/>
+		<field name="EXTLEN" since="21"/>
+		<field name="EXTSIG" since="21"/>
+		<field name="EXTSIZ" since="21"/>
+		<field name="LOCCRC" since="21"/>
+		<field name="LOCEXT" since="21"/>
+		<field name="LOCFLG" since="21"/>
+		<field name="LOCHDR" since="21"/>
+		<field name="LOCHOW" since="21"/>
+		<field name="LOCLEN" since="21"/>
+		<field name="LOCNAM" since="21"/>
+		<field name="LOCSIG" since="21"/>
+		<field name="LOCSIZ" since="21"/>
+		<field name="LOCTIM" since="21"/>
+		<field name="LOCVER" since="21"/>
+		<field name="OPEN_DELETE"/>
+		<field name="OPEN_READ"/>
+	</class>
+	<class name="java/util/zip/ZipInputStream" since="1">
+		<extends name="java/util/zip/InflaterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V" since="24"/>
+		<method name="closeEntry()V"/>
+		<method name="createZipEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;"/>
+		<method name="getNextEntry()Ljava/util/zip/ZipEntry;"/>
+		<field name="CENATT" since="21"/>
+		<field name="CENATX" since="21"/>
+		<field name="CENCOM" since="21"/>
+		<field name="CENCRC" since="21"/>
+		<field name="CENDSK" since="21"/>
+		<field name="CENEXT" since="21"/>
+		<field name="CENFLG" since="21"/>
+		<field name="CENHDR" since="21"/>
+		<field name="CENHOW" since="21"/>
+		<field name="CENLEN" since="21"/>
+		<field name="CENNAM" since="21"/>
+		<field name="CENOFF" since="21"/>
+		<field name="CENSIG" since="21"/>
+		<field name="CENSIZ" since="21"/>
+		<field name="CENTIM" since="21"/>
+		<field name="CENVEM" since="21"/>
+		<field name="CENVER" since="21"/>
+		<field name="ENDCOM" since="21"/>
+		<field name="ENDHDR" since="21"/>
+		<field name="ENDOFF" since="21"/>
+		<field name="ENDSIG" since="21"/>
+		<field name="ENDSIZ" since="21"/>
+		<field name="ENDSUB" since="21"/>
+		<field name="ENDTOT" since="21"/>
+		<field name="EXTCRC" since="21"/>
+		<field name="EXTHDR" since="21"/>
+		<field name="EXTLEN" since="21"/>
+		<field name="EXTSIG" since="21"/>
+		<field name="EXTSIZ" since="21"/>
+		<field name="LOCCRC" since="21"/>
+		<field name="LOCEXT" since="21"/>
+		<field name="LOCFLG" since="21"/>
+		<field name="LOCHDR" since="21"/>
+		<field name="LOCHOW" since="21"/>
+		<field name="LOCLEN" since="21"/>
+		<field name="LOCNAM" since="21"/>
+		<field name="LOCSIG" since="21"/>
+		<field name="LOCSIZ" since="21"/>
+		<field name="LOCTIM" since="21"/>
+		<field name="LOCVER" since="21"/>
+	</class>
+	<class name="java/util/zip/ZipOutputStream" since="1">
+		<extends name="java/util/zip/DeflaterOutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V" since="24"/>
+		<method name="closeEntry()V"/>
+		<method name="putNextEntry(Ljava/util/zip/ZipEntry;)V"/>
+		<method name="setComment(Ljava/lang/String;)V"/>
+		<method name="setLevel(I)V"/>
+		<method name="setMethod(I)V"/>
+		<field name="CENATT" since="21"/>
+		<field name="CENATX" since="21"/>
+		<field name="CENCOM" since="21"/>
+		<field name="CENCRC" since="21"/>
+		<field name="CENDSK" since="21"/>
+		<field name="CENEXT" since="21"/>
+		<field name="CENFLG" since="21"/>
+		<field name="CENHDR" since="21"/>
+		<field name="CENHOW" since="21"/>
+		<field name="CENLEN" since="21"/>
+		<field name="CENNAM" since="21"/>
+		<field name="CENOFF" since="21"/>
+		<field name="CENSIG" since="21"/>
+		<field name="CENSIZ" since="21"/>
+		<field name="CENTIM" since="21"/>
+		<field name="CENVEM" since="21"/>
+		<field name="CENVER" since="21"/>
+		<field name="DEFLATED"/>
+		<field name="ENDCOM" since="21"/>
+		<field name="ENDHDR" since="21"/>
+		<field name="ENDOFF" since="21"/>
+		<field name="ENDSIG" since="21"/>
+		<field name="ENDSIZ" since="21"/>
+		<field name="ENDSUB" since="21"/>
+		<field name="ENDTOT" since="21"/>
+		<field name="EXTCRC" since="21"/>
+		<field name="EXTHDR" since="21"/>
+		<field name="EXTLEN" since="21"/>
+		<field name="EXTSIG" since="21"/>
+		<field name="EXTSIZ" since="21"/>
+		<field name="LOCCRC" since="21"/>
+		<field name="LOCEXT" since="21"/>
+		<field name="LOCFLG" since="21"/>
+		<field name="LOCHDR" since="21"/>
+		<field name="LOCHOW" since="21"/>
+		<field name="LOCLEN" since="21"/>
+		<field name="LOCNAM" since="21"/>
+		<field name="LOCSIG" since="21"/>
+		<field name="LOCSIZ" since="21"/>
+		<field name="LOCTIM" since="21"/>
+		<field name="LOCVER" since="21"/>
+		<field name="STORED"/>
+	</class>
+	<class name="javax/crypto/AEADBadTagException" since="19">
+		<extends name="javax/crypto/BadPaddingException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/crypto/BadPaddingException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/crypto/Cipher" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljavax/crypto/CipherSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="doFinal()[B"/>
+		<method name="doFinal(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I"/>
+		<method name="doFinal([B)[B"/>
+		<method name="doFinal([BI)I"/>
+		<method name="doFinal([BII)[B"/>
+		<method name="doFinal([BII[B)I"/>
+		<method name="doFinal([BII[BI)I"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getBlockSize()I"/>
+		<method name="getExemptionMechanism()Ljavax/crypto/ExemptionMechanism;"/>
+		<method name="getIV()[B"/>
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/Cipher;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;"/>
+		<method name="getMaxAllowedKeyLength(Ljava/lang/String;)I"/>
+		<method name="getMaxAllowedParameterSpec(Ljava/lang/String;)Ljava/security/spec/AlgorithmParameterSpec;"/>
+		<method name="getOutputSize(I)I"/>
+		<method name="getParameters()Ljava/security/AlgorithmParameters;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="init(ILjava/security/Key;)V"/>
+		<method name="init(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V"/>
+		<method name="init(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V"/>
+		<method name="init(ILjava/security/Key;Ljava/security/SecureRandom;)V"/>
+		<method name="init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V"/>
+		<method name="init(ILjava/security/cert/Certificate;)V"/>
+		<method name="init(ILjava/security/cert/Certificate;Ljava/security/SecureRandom;)V"/>
+		<method name="unwrap([BLjava/lang/String;I)Ljava/security/Key;"/>
+		<method name="update(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I"/>
+		<method name="update([B)[B"/>
+		<method name="update([BII)[B"/>
+		<method name="update([BII[B)I"/>
+		<method name="update([BII[BI)I"/>
+		<method name="updateAAD(Ljava/nio/ByteBuffer;)V" since="19"/>
+		<method name="updateAAD([B)V" since="19"/>
+		<method name="updateAAD([BII)V" since="19"/>
+		<method name="wrap(Ljava/security/Key;)[B"/>
+		<field name="DECRYPT_MODE"/>
+		<field name="ENCRYPT_MODE"/>
+		<field name="PRIVATE_KEY"/>
+		<field name="PUBLIC_KEY"/>
+		<field name="SECRET_KEY"/>
+		<field name="UNWRAP_MODE"/>
+		<field name="WRAP_MODE"/>
+	</class>
+	<class name="javax/crypto/CipherInputStream" since="1">
+		<extends name="java/io/FilterInputStream"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljavax/crypto/Cipher;)V"/>
+	</class>
+	<class name="javax/crypto/CipherOutputStream" since="1">
+		<extends name="java/io/FilterOutputStream"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;Ljavax/crypto/Cipher;)V"/>
+	</class>
+	<class name="javax/crypto/CipherSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineDoFinal(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I"/>
+		<method name="engineDoFinal([BII)[B"/>
+		<method name="engineDoFinal([BII[BI)I"/>
+		<method name="engineGetBlockSize()I"/>
+		<method name="engineGetIV()[B"/>
+		<method name="engineGetKeySize(Ljava/security/Key;)I"/>
+		<method name="engineGetOutputSize(I)I"/>
+		<method name="engineGetParameters()Ljava/security/AlgorithmParameters;"/>
+		<method name="engineInit(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V"/>
+		<method name="engineInit(ILjava/security/Key;Ljava/security/SecureRandom;)V"/>
+		<method name="engineInit(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V"/>
+		<method name="engineSetMode(Ljava/lang/String;)V"/>
+		<method name="engineSetPadding(Ljava/lang/String;)V"/>
+		<method name="engineUnwrap([BLjava/lang/String;I)Ljava/security/Key;"/>
+		<method name="engineUpdate(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I"/>
+		<method name="engineUpdate([BII)[B"/>
+		<method name="engineUpdate([BII[BI)I"/>
+		<method name="engineUpdateAAD(Ljava/nio/ByteBuffer;)V" since="19"/>
+		<method name="engineUpdateAAD([BII)V" since="19"/>
+		<method name="engineWrap(Ljava/security/Key;)[B"/>
+	</class>
+	<class name="javax/crypto/EncryptedPrivateKeyInfo" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;[B)V"/>
+		<method name="&lt;init>(Ljava/security/AlgorithmParameters;[B)V"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="getAlgName()Ljava/lang/String;"/>
+		<method name="getAlgParameters()Ljava/security/AlgorithmParameters;"/>
+		<method name="getEncoded()[B"/>
+		<method name="getEncryptedData()[B"/>
+		<method name="getKeySpec(Ljava/security/Key;)Ljava/security/spec/PKCS8EncodedKeySpec;"/>
+		<method name="getKeySpec(Ljava/security/Key;Ljava/lang/String;)Ljava/security/spec/PKCS8EncodedKeySpec;"/>
+		<method name="getKeySpec(Ljava/security/Key;Ljava/security/Provider;)Ljava/security/spec/PKCS8EncodedKeySpec;"/>
+		<method name="getKeySpec(Ljavax/crypto/Cipher;)Ljava/security/spec/PKCS8EncodedKeySpec;"/>
+	</class>
+	<class name="javax/crypto/ExemptionMechanism" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljavax/crypto/ExemptionMechanismSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="genExemptionBlob()[B"/>
+		<method name="genExemptionBlob([B)I"/>
+		<method name="genExemptionBlob([BI)I"/>
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/ExemptionMechanism;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/ExemptionMechanism;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/ExemptionMechanism;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getOutputSize(I)I"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="init(Ljava/security/Key;)V"/>
+		<method name="init(Ljava/security/Key;Ljava/security/AlgorithmParameters;)V"/>
+		<method name="init(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="isCryptoAllowed(Ljava/security/Key;)Z"/>
+	</class>
+	<class name="javax/crypto/ExemptionMechanismException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/crypto/ExemptionMechanismSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGenExemptionBlob()[B"/>
+		<method name="engineGenExemptionBlob([BI)I"/>
+		<method name="engineGetOutputSize(I)I"/>
+		<method name="engineInit(Ljava/security/Key;)V"/>
+		<method name="engineInit(Ljava/security/Key;Ljava/security/AlgorithmParameters;)V"/>
+		<method name="engineInit(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+	</class>
+	<class name="javax/crypto/IllegalBlockSizeException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/crypto/KeyAgreement" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljavax/crypto/KeyAgreementSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="doPhase(Ljava/security/Key;Z)Ljava/security/Key;"/>
+		<method name="generateSecret()[B"/>
+		<method name="generateSecret(Ljava/lang/String;)Ljavax/crypto/SecretKey;"/>
+		<method name="generateSecret([BI)I"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/KeyAgreement;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/KeyAgreement;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/KeyAgreement;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="init(Ljava/security/Key;)V"/>
+		<method name="init(Ljava/security/Key;Ljava/security/SecureRandom;)V"/>
+		<method name="init(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="init(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V"/>
+	</class>
+	<class name="javax/crypto/KeyAgreementSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineDoPhase(Ljava/security/Key;Z)Ljava/security/Key;"/>
+		<method name="engineGenerateSecret()[B"/>
+		<method name="engineGenerateSecret(Ljava/lang/String;)Ljavax/crypto/SecretKey;"/>
+		<method name="engineGenerateSecret([BI)I"/>
+		<method name="engineInit(Ljava/security/Key;Ljava/security/SecureRandom;)V"/>
+		<method name="engineInit(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V"/>
+	</class>
+	<class name="javax/crypto/KeyGenerator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljavax/crypto/KeyGeneratorSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="generateKey()Ljavax/crypto/SecretKey;"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/KeyGenerator;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/KeyGenerator;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/KeyGenerator;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="init(I)V"/>
+		<method name="init(ILjava/security/SecureRandom;)V"/>
+		<method name="init(Ljava/security/SecureRandom;)V"/>
+		<method name="init(Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="init(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V"/>
+	</class>
+	<class name="javax/crypto/KeyGeneratorSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGenerateKey()Ljavax/crypto/SecretKey;"/>
+		<method name="engineInit(ILjava/security/SecureRandom;)V"/>
+		<method name="engineInit(Ljava/security/SecureRandom;)V"/>
+		<method name="engineInit(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V"/>
+	</class>
+	<class name="javax/crypto/Mac" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Ljavax/crypto/MacSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="doFinal()[B"/>
+		<method name="doFinal([B)[B"/>
+		<method name="doFinal([BI)V"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/Mac;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Mac;"/>
+		<method name="getMacLength()I"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="init(Ljava/security/Key;)V"/>
+		<method name="init(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="reset()V"/>
+		<method name="update(B)V"/>
+		<method name="update(Ljava/nio/ByteBuffer;)V"/>
+		<method name="update([B)V"/>
+		<method name="update([BII)V"/>
+	</class>
+	<class name="javax/crypto/MacSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineDoFinal()[B"/>
+		<method name="engineGetMacLength()I"/>
+		<method name="engineInit(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V"/>
+		<method name="engineReset()V"/>
+		<method name="engineUpdate(B)V"/>
+		<method name="engineUpdate(Ljava/nio/ByteBuffer;)V"/>
+		<method name="engineUpdate([BII)V"/>
+	</class>
+	<class name="javax/crypto/NoSuchPaddingException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/crypto/NullCipher" since="1">
+		<extends name="javax/crypto/Cipher"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="javax/crypto/SealedObject" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/io/Serializable;Ljavax/crypto/Cipher;)V"/>
+		<method name="&lt;init>(Ljavax/crypto/SealedObject;)V"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getObject(Ljava/security/Key;)Ljava/lang/Object;"/>
+		<method name="getObject(Ljava/security/Key;Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getObject(Ljavax/crypto/Cipher;)Ljava/lang/Object;"/>
+		<field name="encodedParams"/>
+	</class>
+	<class name="javax/crypto/SecretKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/Key"/>
+		<implements name="javax/security/auth/Destroyable" since="26"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="javax/crypto/SecretKeyFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljavax/crypto/SecretKeyFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="generateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/SecretKeyFactory;"/>
+		<method name="getKeySpec(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="translateKey(Ljavax/crypto/SecretKey;)Ljavax/crypto/SecretKey;"/>
+	</class>
+	<class name="javax/crypto/SecretKeyFactorySpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGenerateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;"/>
+		<method name="engineGetKeySpec(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;"/>
+		<method name="engineTranslateKey(Ljavax/crypto/SecretKey;)Ljavax/crypto/SecretKey;"/>
+	</class>
+	<class name="javax/crypto/ShortBufferException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/crypto/interfaces/DHKey" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getParams()Ljavax/crypto/spec/DHParameterSpec;"/>
+	</class>
+	<class name="javax/crypto/interfaces/DHPrivateKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/PrivateKey"/>
+		<implements name="javax/crypto/interfaces/DHKey"/>
+		<method name="getX()Ljava/math/BigInteger;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="javax/crypto/interfaces/DHPublicKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/PublicKey"/>
+		<implements name="javax/crypto/interfaces/DHKey"/>
+		<method name="getY()Ljava/math/BigInteger;"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="javax/crypto/interfaces/PBEKey" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/crypto/SecretKey"/>
+		<method name="getIterationCount()I"/>
+		<method name="getPassword()[C"/>
+		<method name="getSalt()[B"/>
+		<field name="serialVersionUID"/>
+	</class>
+	<class name="javax/crypto/spec/DESKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="&lt;init>([BI)V"/>
+		<method name="getKey()[B"/>
+		<method name="isParityAdjusted([BI)Z"/>
+		<method name="isWeak([BI)Z"/>
+		<field name="DES_KEY_LEN"/>
+	</class>
+	<class name="javax/crypto/spec/DESedeKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="&lt;init>([BI)V"/>
+		<method name="getKey()[B"/>
+		<method name="isParityAdjusted([BI)Z"/>
+		<field name="DES_EDE_KEY_LEN"/>
+	</class>
+	<class name="javax/crypto/spec/DHGenParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="getExponentSize()I"/>
+		<method name="getPrimeSize()I"/>
+	</class>
+	<class name="javax/crypto/spec/DHParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V"/>
+		<method name="getG()Ljava/math/BigInteger;"/>
+		<method name="getL()I"/>
+		<method name="getP()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="javax/crypto/spec/DHPrivateKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="getG()Ljava/math/BigInteger;"/>
+		<method name="getP()Ljava/math/BigInteger;"/>
+		<method name="getX()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="javax/crypto/spec/DHPublicKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V"/>
+		<method name="getG()Ljava/math/BigInteger;"/>
+		<method name="getP()Ljava/math/BigInteger;"/>
+		<method name="getY()Ljava/math/BigInteger;"/>
+	</class>
+	<class name="javax/crypto/spec/GCMParameterSpec" since="19">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(I[B)V"/>
+		<method name="&lt;init>(I[BII)V"/>
+		<method name="getIV()[B"/>
+		<method name="getTLen()I"/>
+	</class>
+	<class name="javax/crypto/spec/IvParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="&lt;init>([BII)V"/>
+		<method name="getIV()[B"/>
+	</class>
+	<class name="javax/crypto/spec/OAEPParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/security/spec/AlgorithmParameterSpec;Ljavax/crypto/spec/PSource;)V"/>
+		<method name="getDigestAlgorithm()Ljava/lang/String;"/>
+		<method name="getMGFAlgorithm()Ljava/lang/String;"/>
+		<method name="getMGFParameters()Ljava/security/spec/AlgorithmParameterSpec;"/>
+		<method name="getPSource()Ljavax/crypto/spec/PSource;"/>
+		<field name="DEFAULT"/>
+	</class>
+	<class name="javax/crypto/spec/PBEKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<method name="&lt;init>([C)V"/>
+		<method name="&lt;init>([C[BI)V"/>
+		<method name="&lt;init>([C[BII)V"/>
+		<method name="clearPassword()V"/>
+		<method name="getIterationCount()I"/>
+		<method name="getKeyLength()I"/>
+		<method name="getPassword()[C"/>
+		<method name="getSalt()[B"/>
+	</class>
+	<class name="javax/crypto/spec/PBEParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>([BI)V"/>
+		<method name="&lt;init>([BILjava/security/spec/AlgorithmParameterSpec;)V" since="26"/>
+		<method name="getIterationCount()I"/>
+		<method name="getParameterSpec()Ljava/security/spec/AlgorithmParameterSpec;" since="26"/>
+		<method name="getSalt()[B"/>
+	</class>
+	<class name="javax/crypto/spec/PSource" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+	</class>
+	<class name="javax/crypto/spec/PSource$PSpecified" since="1">
+		<extends name="javax/crypto/spec/PSource"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="getValue()[B"/>
+		<field name="DEFAULT"/>
+	</class>
+	<class name="javax/crypto/spec/RC2ParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(I[B)V"/>
+		<method name="&lt;init>(I[BI)V"/>
+		<method name="getEffectiveKeyBits()I"/>
+		<method name="getIV()[B"/>
+	</class>
+	<class name="javax/crypto/spec/RC5ParameterSpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/spec/AlgorithmParameterSpec"/>
+		<method name="&lt;init>(III)V"/>
+		<method name="&lt;init>(III[B)V"/>
+		<method name="&lt;init>(III[BI)V"/>
+		<method name="getIV()[B"/>
+		<method name="getRounds()I"/>
+		<method name="getVersion()I"/>
+		<method name="getWordSize()I"/>
+	</class>
+	<class name="javax/crypto/spec/SecretKeySpec" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable" removed="24"/>
+		<implements name="java/security/spec/KeySpec"/>
+		<implements name="javax/crypto/SecretKey"/>
+		<method name="&lt;init>([BIILjava/lang/String;)V"/>
+		<method name="&lt;init>([BLjava/lang/String;)V"/>
+	</class>
+	<class name="javax/microedition/khronos/egl/EGL" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="javax/microedition/khronos/egl/EGL10" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/microedition/khronos/egl/EGL"/>
+		<method name="eglChooseConfig(Ljavax/microedition/khronos/egl/EGLDisplay;[I[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z"/>
+		<method name="eglCopyBuffers(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;Ljava/lang/Object;)Z"/>
+		<method name="eglCreateContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljavax/microedition/khronos/egl/EGLContext;[I)Ljavax/microedition/khronos/egl/EGLContext;"/>
+		<method name="eglCreatePbufferSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;[I)Ljavax/microedition/khronos/egl/EGLSurface;"/>
+		<method name="eglCreatePixmapSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;[I)Ljavax/microedition/khronos/egl/EGLSurface;" deprecated="26"/>
+		<method name="eglCreateWindowSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;[I)Ljavax/microedition/khronos/egl/EGLSurface;"/>
+		<method name="eglDestroyContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;)Z"/>
+		<method name="eglDestroySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z"/>
+		<method name="eglGetConfigAttrib(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z"/>
+		<method name="eglGetConfigs(Ljavax/microedition/khronos/egl/EGLDisplay;[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z"/>
+		<method name="eglGetCurrentContext()Ljavax/microedition/khronos/egl/EGLContext;"/>
+		<method name="eglGetCurrentDisplay()Ljavax/microedition/khronos/egl/EGLDisplay;"/>
+		<method name="eglGetCurrentSurface(I)Ljavax/microedition/khronos/egl/EGLSurface;"/>
+		<method name="eglGetDisplay(Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLDisplay;"/>
+		<method name="eglGetError()I"/>
+		<method name="eglInitialize(Ljavax/microedition/khronos/egl/EGLDisplay;[I)Z"/>
+		<method name="eglMakeCurrent(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLContext;)Z"/>
+		<method name="eglQueryContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;I[I)Z"/>
+		<method name="eglQueryString(Ljavax/microedition/khronos/egl/EGLDisplay;I)Ljava/lang/String;"/>
+		<method name="eglQuerySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;I[I)Z"/>
+		<method name="eglSwapBuffers(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z"/>
+		<method name="eglTerminate(Ljavax/microedition/khronos/egl/EGLDisplay;)Z"/>
+		<method name="eglWaitGL()Z"/>
+		<method name="eglWaitNative(ILjava/lang/Object;)Z"/>
+		<field name="EGL_ALPHA_FORMAT"/>
+		<field name="EGL_ALPHA_MASK_SIZE"/>
+		<field name="EGL_ALPHA_SIZE"/>
+		<field name="EGL_BAD_ACCESS"/>
+		<field name="EGL_BAD_ALLOC"/>
+		<field name="EGL_BAD_ATTRIBUTE"/>
+		<field name="EGL_BAD_CONFIG"/>
+		<field name="EGL_BAD_CONTEXT"/>
+		<field name="EGL_BAD_CURRENT_SURFACE"/>
+		<field name="EGL_BAD_DISPLAY"/>
+		<field name="EGL_BAD_MATCH"/>
+		<field name="EGL_BAD_NATIVE_PIXMAP"/>
+		<field name="EGL_BAD_NATIVE_WINDOW"/>
+		<field name="EGL_BAD_PARAMETER"/>
+		<field name="EGL_BAD_SURFACE"/>
+		<field name="EGL_BLUE_SIZE"/>
+		<field name="EGL_BUFFER_SIZE"/>
+		<field name="EGL_COLORSPACE"/>
+		<field name="EGL_COLOR_BUFFER_TYPE"/>
+		<field name="EGL_CONFIG_CAVEAT"/>
+		<field name="EGL_CONFIG_ID"/>
+		<field name="EGL_CORE_NATIVE_ENGINE"/>
+		<field name="EGL_DEFAULT_DISPLAY"/>
+		<field name="EGL_DEPTH_SIZE"/>
+		<field name="EGL_DONT_CARE"/>
+		<field name="EGL_DRAW"/>
+		<field name="EGL_EXTENSIONS"/>
+		<field name="EGL_GREEN_SIZE"/>
+		<field name="EGL_HEIGHT"/>
+		<field name="EGL_HORIZONTAL_RESOLUTION"/>
+		<field name="EGL_LARGEST_PBUFFER"/>
+		<field name="EGL_LEVEL"/>
+		<field name="EGL_LUMINANCE_BUFFER"/>
+		<field name="EGL_LUMINANCE_SIZE"/>
+		<field name="EGL_MAX_PBUFFER_HEIGHT"/>
+		<field name="EGL_MAX_PBUFFER_PIXELS"/>
+		<field name="EGL_MAX_PBUFFER_WIDTH"/>
+		<field name="EGL_NATIVE_RENDERABLE"/>
+		<field name="EGL_NATIVE_VISUAL_ID"/>
+		<field name="EGL_NATIVE_VISUAL_TYPE"/>
+		<field name="EGL_NONE"/>
+		<field name="EGL_NON_CONFORMANT_CONFIG"/>
+		<field name="EGL_NOT_INITIALIZED"/>
+		<field name="EGL_NO_CONTEXT"/>
+		<field name="EGL_NO_DISPLAY"/>
+		<field name="EGL_NO_SURFACE"/>
+		<field name="EGL_PBUFFER_BIT"/>
+		<field name="EGL_PIXEL_ASPECT_RATIO"/>
+		<field name="EGL_PIXMAP_BIT"/>
+		<field name="EGL_READ"/>
+		<field name="EGL_RED_SIZE"/>
+		<field name="EGL_RENDERABLE_TYPE"/>
+		<field name="EGL_RENDER_BUFFER"/>
+		<field name="EGL_RGB_BUFFER"/>
+		<field name="EGL_SAMPLES"/>
+		<field name="EGL_SAMPLE_BUFFERS"/>
+		<field name="EGL_SINGLE_BUFFER"/>
+		<field name="EGL_SLOW_CONFIG"/>
+		<field name="EGL_STENCIL_SIZE"/>
+		<field name="EGL_SUCCESS"/>
+		<field name="EGL_SURFACE_TYPE"/>
+		<field name="EGL_TRANSPARENT_BLUE_VALUE"/>
+		<field name="EGL_TRANSPARENT_GREEN_VALUE"/>
+		<field name="EGL_TRANSPARENT_RED_VALUE"/>
+		<field name="EGL_TRANSPARENT_RGB"/>
+		<field name="EGL_TRANSPARENT_TYPE"/>
+		<field name="EGL_VENDOR"/>
+		<field name="EGL_VERSION"/>
+		<field name="EGL_VERTICAL_RESOLUTION"/>
+		<field name="EGL_WIDTH"/>
+		<field name="EGL_WINDOW_BIT"/>
+	</class>
+	<class name="javax/microedition/khronos/egl/EGL11" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/microedition/khronos/egl/EGL10"/>
+		<field name="EGL_CONTEXT_LOST"/>
+	</class>
+	<class name="javax/microedition/khronos/egl/EGLConfig" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="javax/microedition/khronos/egl/EGLContext" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getEGL()Ljavax/microedition/khronos/egl/EGL;"/>
+		<method name="getGL()Ljavax/microedition/khronos/opengles/GL;"/>
+	</class>
+	<class name="javax/microedition/khronos/egl/EGLDisplay" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="javax/microedition/khronos/egl/EGLSurface" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL10" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/microedition/khronos/opengles/GL"/>
+		<method name="glActiveTexture(I)V"/>
+		<method name="glAlphaFunc(IF)V"/>
+		<method name="glAlphaFuncx(II)V"/>
+		<method name="glBindTexture(II)V"/>
+		<method name="glBlendFunc(II)V"/>
+		<method name="glClear(I)V"/>
+		<method name="glClearColor(FFFF)V"/>
+		<method name="glClearColorx(IIII)V"/>
+		<method name="glClearDepthf(F)V"/>
+		<method name="glClearDepthx(I)V"/>
+		<method name="glClearStencil(I)V"/>
+		<method name="glClientActiveTexture(I)V"/>
+		<method name="glColor4f(FFFF)V"/>
+		<method name="glColor4x(IIII)V"/>
+		<method name="glColorMask(ZZZZ)V"/>
+		<method name="glColorPointer(IIILjava/nio/Buffer;)V"/>
+		<method name="glCompressedTexImage2D(IIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glCompressedTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glCopyTexImage2D(IIIIIIII)V"/>
+		<method name="glCopyTexSubImage2D(IIIIIIII)V"/>
+		<method name="glCullFace(I)V"/>
+		<method name="glDeleteTextures(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteTextures(I[II)V"/>
+		<method name="glDepthFunc(I)V"/>
+		<method name="glDepthMask(Z)V"/>
+		<method name="glDepthRangef(FF)V"/>
+		<method name="glDepthRangex(II)V"/>
+		<method name="glDisable(I)V"/>
+		<method name="glDisableClientState(I)V"/>
+		<method name="glDrawArrays(III)V"/>
+		<method name="glDrawElements(IIILjava/nio/Buffer;)V"/>
+		<method name="glEnable(I)V"/>
+		<method name="glEnableClientState(I)V"/>
+		<method name="glFinish()V"/>
+		<method name="glFlush()V"/>
+		<method name="glFogf(IF)V"/>
+		<method name="glFogfv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glFogfv(I[FI)V"/>
+		<method name="glFogx(II)V"/>
+		<method name="glFogxv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glFogxv(I[II)V"/>
+		<method name="glFrontFace(I)V"/>
+		<method name="glFrustumf(FFFFFF)V"/>
+		<method name="glFrustumx(IIIIII)V"/>
+		<method name="glGenTextures(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenTextures(I[II)V"/>
+		<method name="glGetError()I"/>
+		<method name="glGetIntegerv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetIntegerv(I[II)V"/>
+		<method name="glGetString(I)Ljava/lang/String;"/>
+		<method name="glHint(II)V"/>
+		<method name="glLightModelf(IF)V"/>
+		<method name="glLightModelfv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glLightModelfv(I[FI)V"/>
+		<method name="glLightModelx(II)V"/>
+		<method name="glLightModelxv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glLightModelxv(I[II)V"/>
+		<method name="glLightf(IIF)V"/>
+		<method name="glLightfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glLightfv(II[FI)V"/>
+		<method name="glLightx(III)V"/>
+		<method name="glLightxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glLightxv(II[II)V"/>
+		<method name="glLineWidth(F)V"/>
+		<method name="glLineWidthx(I)V"/>
+		<method name="glLoadIdentity()V"/>
+		<method name="glLoadMatrixf(Ljava/nio/FloatBuffer;)V"/>
+		<method name="glLoadMatrixf([FI)V"/>
+		<method name="glLoadMatrixx(Ljava/nio/IntBuffer;)V"/>
+		<method name="glLoadMatrixx([II)V"/>
+		<method name="glLogicOp(I)V"/>
+		<method name="glMaterialf(IIF)V"/>
+		<method name="glMaterialfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glMaterialfv(II[FI)V"/>
+		<method name="glMaterialx(III)V"/>
+		<method name="glMaterialxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glMaterialxv(II[II)V"/>
+		<method name="glMatrixMode(I)V"/>
+		<method name="glMultMatrixf(Ljava/nio/FloatBuffer;)V"/>
+		<method name="glMultMatrixf([FI)V"/>
+		<method name="glMultMatrixx(Ljava/nio/IntBuffer;)V"/>
+		<method name="glMultMatrixx([II)V"/>
+		<method name="glMultiTexCoord4f(IFFFF)V"/>
+		<method name="glMultiTexCoord4x(IIIII)V"/>
+		<method name="glNormal3f(FFF)V"/>
+		<method name="glNormal3x(III)V"/>
+		<method name="glNormalPointer(IILjava/nio/Buffer;)V"/>
+		<method name="glOrthof(FFFFFF)V"/>
+		<method name="glOrthox(IIIIII)V"/>
+		<method name="glPixelStorei(II)V"/>
+		<method name="glPointSize(F)V"/>
+		<method name="glPointSizex(I)V"/>
+		<method name="glPolygonOffset(FF)V"/>
+		<method name="glPolygonOffsetx(II)V"/>
+		<method name="glPopMatrix()V"/>
+		<method name="glPushMatrix()V"/>
+		<method name="glReadPixels(IIIIIILjava/nio/Buffer;)V"/>
+		<method name="glRotatef(FFFF)V"/>
+		<method name="glRotatex(IIII)V"/>
+		<method name="glSampleCoverage(FZ)V"/>
+		<method name="glSampleCoveragex(IZ)V"/>
+		<method name="glScalef(FFF)V"/>
+		<method name="glScalex(III)V"/>
+		<method name="glScissor(IIII)V"/>
+		<method name="glShadeModel(I)V"/>
+		<method name="glStencilFunc(III)V"/>
+		<method name="glStencilMask(I)V"/>
+		<method name="glStencilOp(III)V"/>
+		<method name="glTexCoordPointer(IIILjava/nio/Buffer;)V"/>
+		<method name="glTexEnvf(IIF)V"/>
+		<method name="glTexEnvfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glTexEnvfv(II[FI)V"/>
+		<method name="glTexEnvx(III)V"/>
+		<method name="glTexEnvxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexEnvxv(II[II)V"/>
+		<method name="glTexImage2D(IIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glTexParameterf(IIF)V"/>
+		<method name="glTexParameterx(III)V"/>
+		<method name="glTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glTranslatef(FFF)V"/>
+		<method name="glTranslatex(III)V"/>
+		<method name="glVertexPointer(IIILjava/nio/Buffer;)V"/>
+		<method name="glViewport(IIII)V"/>
+		<field name="GL_ADD"/>
+		<field name="GL_ALIASED_LINE_WIDTH_RANGE"/>
+		<field name="GL_ALIASED_POINT_SIZE_RANGE"/>
+		<field name="GL_ALPHA"/>
+		<field name="GL_ALPHA_BITS"/>
+		<field name="GL_ALPHA_TEST"/>
+		<field name="GL_ALWAYS"/>
+		<field name="GL_AMBIENT"/>
+		<field name="GL_AMBIENT_AND_DIFFUSE"/>
+		<field name="GL_AND"/>
+		<field name="GL_AND_INVERTED"/>
+		<field name="GL_AND_REVERSE"/>
+		<field name="GL_BACK"/>
+		<field name="GL_BLEND"/>
+		<field name="GL_BLUE_BITS"/>
+		<field name="GL_BYTE"/>
+		<field name="GL_CCW"/>
+		<field name="GL_CLAMP_TO_EDGE"/>
+		<field name="GL_CLEAR"/>
+		<field name="GL_COLOR_ARRAY"/>
+		<field name="GL_COLOR_BUFFER_BIT"/>
+		<field name="GL_COLOR_LOGIC_OP"/>
+		<field name="GL_COLOR_MATERIAL"/>
+		<field name="GL_COMPRESSED_TEXTURE_FORMATS"/>
+		<field name="GL_CONSTANT_ATTENUATION"/>
+		<field name="GL_COPY"/>
+		<field name="GL_COPY_INVERTED"/>
+		<field name="GL_CULL_FACE"/>
+		<field name="GL_CW"/>
+		<field name="GL_DECAL"/>
+		<field name="GL_DECR"/>
+		<field name="GL_DEPTH_BITS"/>
+		<field name="GL_DEPTH_BUFFER_BIT"/>
+		<field name="GL_DEPTH_TEST"/>
+		<field name="GL_DIFFUSE"/>
+		<field name="GL_DITHER"/>
+		<field name="GL_DONT_CARE"/>
+		<field name="GL_DST_ALPHA"/>
+		<field name="GL_DST_COLOR"/>
+		<field name="GL_EMISSION"/>
+		<field name="GL_EQUAL"/>
+		<field name="GL_EQUIV"/>
+		<field name="GL_EXP"/>
+		<field name="GL_EXP2"/>
+		<field name="GL_EXTENSIONS"/>
+		<field name="GL_FALSE"/>
+		<field name="GL_FASTEST"/>
+		<field name="GL_FIXED"/>
+		<field name="GL_FLAT"/>
+		<field name="GL_FLOAT"/>
+		<field name="GL_FOG"/>
+		<field name="GL_FOG_COLOR"/>
+		<field name="GL_FOG_DENSITY"/>
+		<field name="GL_FOG_END"/>
+		<field name="GL_FOG_HINT"/>
+		<field name="GL_FOG_MODE"/>
+		<field name="GL_FOG_START"/>
+		<field name="GL_FRONT"/>
+		<field name="GL_FRONT_AND_BACK"/>
+		<field name="GL_GEQUAL"/>
+		<field name="GL_GREATER"/>
+		<field name="GL_GREEN_BITS"/>
+		<field name="GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES"/>
+		<field name="GL_IMPLEMENTATION_COLOR_READ_TYPE_OES"/>
+		<field name="GL_INCR"/>
+		<field name="GL_INVALID_ENUM"/>
+		<field name="GL_INVALID_OPERATION"/>
+		<field name="GL_INVALID_VALUE"/>
+		<field name="GL_INVERT"/>
+		<field name="GL_KEEP"/>
+		<field name="GL_LEQUAL"/>
+		<field name="GL_LESS"/>
+		<field name="GL_LIGHT0"/>
+		<field name="GL_LIGHT1"/>
+		<field name="GL_LIGHT2"/>
+		<field name="GL_LIGHT3"/>
+		<field name="GL_LIGHT4"/>
+		<field name="GL_LIGHT5"/>
+		<field name="GL_LIGHT6"/>
+		<field name="GL_LIGHT7"/>
+		<field name="GL_LIGHTING"/>
+		<field name="GL_LIGHT_MODEL_AMBIENT"/>
+		<field name="GL_LIGHT_MODEL_TWO_SIDE"/>
+		<field name="GL_LINEAR"/>
+		<field name="GL_LINEAR_ATTENUATION"/>
+		<field name="GL_LINEAR_MIPMAP_LINEAR"/>
+		<field name="GL_LINEAR_MIPMAP_NEAREST"/>
+		<field name="GL_LINES"/>
+		<field name="GL_LINE_LOOP"/>
+		<field name="GL_LINE_SMOOTH"/>
+		<field name="GL_LINE_SMOOTH_HINT"/>
+		<field name="GL_LINE_STRIP"/>
+		<field name="GL_LUMINANCE"/>
+		<field name="GL_LUMINANCE_ALPHA"/>
+		<field name="GL_MAX_ELEMENTS_INDICES"/>
+		<field name="GL_MAX_ELEMENTS_VERTICES"/>
+		<field name="GL_MAX_LIGHTS"/>
+		<field name="GL_MAX_MODELVIEW_STACK_DEPTH"/>
+		<field name="GL_MAX_PROJECTION_STACK_DEPTH"/>
+		<field name="GL_MAX_TEXTURE_SIZE"/>
+		<field name="GL_MAX_TEXTURE_STACK_DEPTH"/>
+		<field name="GL_MAX_TEXTURE_UNITS"/>
+		<field name="GL_MAX_VIEWPORT_DIMS"/>
+		<field name="GL_MODELVIEW"/>
+		<field name="GL_MODULATE"/>
+		<field name="GL_MULTISAMPLE"/>
+		<field name="GL_NAND"/>
+		<field name="GL_NEAREST"/>
+		<field name="GL_NEAREST_MIPMAP_LINEAR"/>
+		<field name="GL_NEAREST_MIPMAP_NEAREST"/>
+		<field name="GL_NEVER"/>
+		<field name="GL_NICEST"/>
+		<field name="GL_NOOP"/>
+		<field name="GL_NOR"/>
+		<field name="GL_NORMALIZE"/>
+		<field name="GL_NORMAL_ARRAY"/>
+		<field name="GL_NOTEQUAL"/>
+		<field name="GL_NO_ERROR"/>
+		<field name="GL_NUM_COMPRESSED_TEXTURE_FORMATS"/>
+		<field name="GL_ONE"/>
+		<field name="GL_ONE_MINUS_DST_ALPHA"/>
+		<field name="GL_ONE_MINUS_DST_COLOR"/>
+		<field name="GL_ONE_MINUS_SRC_ALPHA"/>
+		<field name="GL_ONE_MINUS_SRC_COLOR"/>
+		<field name="GL_OR"/>
+		<field name="GL_OR_INVERTED"/>
+		<field name="GL_OR_REVERSE"/>
+		<field name="GL_OUT_OF_MEMORY"/>
+		<field name="GL_PACK_ALIGNMENT"/>
+		<field name="GL_PALETTE4_R5_G6_B5_OES"/>
+		<field name="GL_PALETTE4_RGB5_A1_OES"/>
+		<field name="GL_PALETTE4_RGB8_OES"/>
+		<field name="GL_PALETTE4_RGBA4_OES"/>
+		<field name="GL_PALETTE4_RGBA8_OES"/>
+		<field name="GL_PALETTE8_R5_G6_B5_OES"/>
+		<field name="GL_PALETTE8_RGB5_A1_OES"/>
+		<field name="GL_PALETTE8_RGB8_OES"/>
+		<field name="GL_PALETTE8_RGBA4_OES"/>
+		<field name="GL_PALETTE8_RGBA8_OES"/>
+		<field name="GL_PERSPECTIVE_CORRECTION_HINT"/>
+		<field name="GL_POINTS"/>
+		<field name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+		<field name="GL_POINT_SIZE"/>
+		<field name="GL_POINT_SMOOTH"/>
+		<field name="GL_POINT_SMOOTH_HINT"/>
+		<field name="GL_POLYGON_OFFSET_FILL"/>
+		<field name="GL_POLYGON_SMOOTH_HINT"/>
+		<field name="GL_POSITION"/>
+		<field name="GL_PROJECTION"/>
+		<field name="GL_QUADRATIC_ATTENUATION"/>
+		<field name="GL_RED_BITS"/>
+		<field name="GL_RENDERER"/>
+		<field name="GL_REPEAT"/>
+		<field name="GL_REPLACE"/>
+		<field name="GL_RESCALE_NORMAL"/>
+		<field name="GL_RGB"/>
+		<field name="GL_RGBA"/>
+		<field name="GL_SAMPLE_ALPHA_TO_COVERAGE"/>
+		<field name="GL_SAMPLE_ALPHA_TO_ONE"/>
+		<field name="GL_SAMPLE_COVERAGE"/>
+		<field name="GL_SCISSOR_TEST"/>
+		<field name="GL_SET"/>
+		<field name="GL_SHININESS"/>
+		<field name="GL_SHORT"/>
+		<field name="GL_SMOOTH"/>
+		<field name="GL_SMOOTH_LINE_WIDTH_RANGE"/>
+		<field name="GL_SMOOTH_POINT_SIZE_RANGE"/>
+		<field name="GL_SPECULAR"/>
+		<field name="GL_SPOT_CUTOFF"/>
+		<field name="GL_SPOT_DIRECTION"/>
+		<field name="GL_SPOT_EXPONENT"/>
+		<field name="GL_SRC_ALPHA"/>
+		<field name="GL_SRC_ALPHA_SATURATE"/>
+		<field name="GL_SRC_COLOR"/>
+		<field name="GL_STACK_OVERFLOW"/>
+		<field name="GL_STACK_UNDERFLOW"/>
+		<field name="GL_STENCIL_BITS"/>
+		<field name="GL_STENCIL_BUFFER_BIT"/>
+		<field name="GL_STENCIL_TEST"/>
+		<field name="GL_SUBPIXEL_BITS"/>
+		<field name="GL_TEXTURE"/>
+		<field name="GL_TEXTURE0"/>
+		<field name="GL_TEXTURE1"/>
+		<field name="GL_TEXTURE10"/>
+		<field name="GL_TEXTURE11"/>
+		<field name="GL_TEXTURE12"/>
+		<field name="GL_TEXTURE13"/>
+		<field name="GL_TEXTURE14"/>
+		<field name="GL_TEXTURE15"/>
+		<field name="GL_TEXTURE16"/>
+		<field name="GL_TEXTURE17"/>
+		<field name="GL_TEXTURE18"/>
+		<field name="GL_TEXTURE19"/>
+		<field name="GL_TEXTURE2"/>
+		<field name="GL_TEXTURE20"/>
+		<field name="GL_TEXTURE21"/>
+		<field name="GL_TEXTURE22"/>
+		<field name="GL_TEXTURE23"/>
+		<field name="GL_TEXTURE24"/>
+		<field name="GL_TEXTURE25"/>
+		<field name="GL_TEXTURE26"/>
+		<field name="GL_TEXTURE27"/>
+		<field name="GL_TEXTURE28"/>
+		<field name="GL_TEXTURE29"/>
+		<field name="GL_TEXTURE3"/>
+		<field name="GL_TEXTURE30"/>
+		<field name="GL_TEXTURE31"/>
+		<field name="GL_TEXTURE4"/>
+		<field name="GL_TEXTURE5"/>
+		<field name="GL_TEXTURE6"/>
+		<field name="GL_TEXTURE7"/>
+		<field name="GL_TEXTURE8"/>
+		<field name="GL_TEXTURE9"/>
+		<field name="GL_TEXTURE_2D"/>
+		<field name="GL_TEXTURE_COORD_ARRAY"/>
+		<field name="GL_TEXTURE_ENV"/>
+		<field name="GL_TEXTURE_ENV_COLOR"/>
+		<field name="GL_TEXTURE_ENV_MODE"/>
+		<field name="GL_TEXTURE_MAG_FILTER"/>
+		<field name="GL_TEXTURE_MIN_FILTER"/>
+		<field name="GL_TEXTURE_WRAP_S"/>
+		<field name="GL_TEXTURE_WRAP_T"/>
+		<field name="GL_TRIANGLES"/>
+		<field name="GL_TRIANGLE_FAN"/>
+		<field name="GL_TRIANGLE_STRIP"/>
+		<field name="GL_TRUE"/>
+		<field name="GL_UNPACK_ALIGNMENT"/>
+		<field name="GL_UNSIGNED_BYTE"/>
+		<field name="GL_UNSIGNED_SHORT"/>
+		<field name="GL_UNSIGNED_SHORT_4_4_4_4"/>
+		<field name="GL_UNSIGNED_SHORT_5_5_5_1"/>
+		<field name="GL_UNSIGNED_SHORT_5_6_5"/>
+		<field name="GL_VENDOR"/>
+		<field name="GL_VERSION"/>
+		<field name="GL_VERTEX_ARRAY"/>
+		<field name="GL_XOR"/>
+		<field name="GL_ZERO"/>
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL10Ext" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/microedition/khronos/opengles/GL"/>
+		<method name="glQueryMatrixxOES(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)I"/>
+		<method name="glQueryMatrixxOES([II[II)I"/>
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL11" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/microedition/khronos/opengles/GL10"/>
+		<method name="glBindBuffer(II)V"/>
+		<method name="glBufferData(IILjava/nio/Buffer;I)V"/>
+		<method name="glBufferSubData(IIILjava/nio/Buffer;)V"/>
+		<method name="glClipPlanef(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glClipPlanef(I[FI)V"/>
+		<method name="glClipPlanex(ILjava/nio/IntBuffer;)V"/>
+		<method name="glClipPlanex(I[II)V"/>
+		<method name="glColor4ub(BBBB)V"/>
+		<method name="glColorPointer(IIII)V"/>
+		<method name="glDeleteBuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteBuffers(I[II)V"/>
+		<method name="glDrawElements(IIII)V"/>
+		<method name="glGenBuffers(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenBuffers(I[II)V"/>
+		<method name="glGetBooleanv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetBooleanv(I[ZI)V"/>
+		<method name="glGetBufferParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetBufferParameteriv(II[II)V"/>
+		<method name="glGetClipPlanef(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetClipPlanef(I[FI)V"/>
+		<method name="glGetClipPlanex(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetClipPlanex(I[II)V"/>
+		<method name="glGetFixedv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetFixedv(I[II)V"/>
+		<method name="glGetFloatv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetFloatv(I[FI)V"/>
+		<method name="glGetLightfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetLightfv(II[FI)V"/>
+		<method name="glGetLightxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetLightxv(II[II)V"/>
+		<method name="glGetMaterialfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetMaterialfv(II[FI)V"/>
+		<method name="glGetMaterialxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetMaterialxv(II[II)V"/>
+		<method name="glGetPointerv(I[Ljava/nio/Buffer;)V"/>
+		<method name="glGetTexEnviv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexEnviv(II[II)V"/>
+		<method name="glGetTexEnvxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexEnvxv(II[II)V"/>
+		<method name="glGetTexParameterfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetTexParameterfv(II[FI)V"/>
+		<method name="glGetTexParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexParameteriv(II[II)V"/>
+		<method name="glGetTexParameterxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexParameterxv(II[II)V"/>
+		<method name="glIsBuffer(I)Z"/>
+		<method name="glIsEnabled(I)Z"/>
+		<method name="glIsTexture(I)Z"/>
+		<method name="glNormalPointer(III)V"/>
+		<method name="glPointParameterf(IF)V"/>
+		<method name="glPointParameterfv(ILjava/nio/FloatBuffer;)V"/>
+		<method name="glPointParameterfv(I[FI)V"/>
+		<method name="glPointParameterx(II)V"/>
+		<method name="glPointParameterxv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glPointParameterxv(I[II)V"/>
+		<method name="glPointSizePointerOES(IILjava/nio/Buffer;)V"/>
+		<method name="glTexCoordPointer(IIII)V"/>
+		<method name="glTexEnvi(III)V"/>
+		<method name="glTexEnviv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexEnviv(II[II)V"/>
+		<method name="glTexParameterfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glTexParameterfv(II[FI)V"/>
+		<method name="glTexParameteri(III)V"/>
+		<method name="glTexParameteriv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexParameteriv(II[II)V"/>
+		<method name="glTexParameterxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexParameterxv(II[II)V"/>
+		<method name="glVertexPointer(IIII)V"/>
+		<field name="GL_ACTIVE_TEXTURE"/>
+		<field name="GL_ADD_SIGNED"/>
+		<field name="GL_ALPHA_SCALE"/>
+		<field name="GL_ALPHA_TEST_FUNC"/>
+		<field name="GL_ALPHA_TEST_REF"/>
+		<field name="GL_ARRAY_BUFFER"/>
+		<field name="GL_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_BLEND_DST"/>
+		<field name="GL_BLEND_SRC"/>
+		<field name="GL_BUFFER_ACCESS"/>
+		<field name="GL_BUFFER_SIZE"/>
+		<field name="GL_BUFFER_USAGE"/>
+		<field name="GL_CLIENT_ACTIVE_TEXTURE"/>
+		<field name="GL_CLIP_PLANE0"/>
+		<field name="GL_CLIP_PLANE1"/>
+		<field name="GL_CLIP_PLANE2"/>
+		<field name="GL_CLIP_PLANE3"/>
+		<field name="GL_CLIP_PLANE4"/>
+		<field name="GL_CLIP_PLANE5"/>
+		<field name="GL_COLOR_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_COLOR_ARRAY_POINTER"/>
+		<field name="GL_COLOR_ARRAY_SIZE"/>
+		<field name="GL_COLOR_ARRAY_STRIDE"/>
+		<field name="GL_COLOR_ARRAY_TYPE"/>
+		<field name="GL_COLOR_CLEAR_VALUE"/>
+		<field name="GL_COLOR_WRITEMASK"/>
+		<field name="GL_COMBINE"/>
+		<field name="GL_COMBINE_ALPHA"/>
+		<field name="GL_COMBINE_RGB"/>
+		<field name="GL_CONSTANT"/>
+		<field name="GL_COORD_REPLACE_OES"/>
+		<field name="GL_CULL_FACE_MODE"/>
+		<field name="GL_CURRENT_COLOR"/>
+		<field name="GL_CURRENT_NORMAL"/>
+		<field name="GL_CURRENT_TEXTURE_COORDS"/>
+		<field name="GL_DEPTH_CLEAR_VALUE"/>
+		<field name="GL_DEPTH_FUNC"/>
+		<field name="GL_DEPTH_RANGE"/>
+		<field name="GL_DEPTH_WRITEMASK"/>
+		<field name="GL_DOT3_RGB"/>
+		<field name="GL_DOT3_RGBA"/>
+		<field name="GL_DYNAMIC_DRAW"/>
+		<field name="GL_ELEMENT_ARRAY_BUFFER"/>
+		<field name="GL_ELEMENT_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_FRONT_FACE"/>
+		<field name="GL_GENERATE_MIPMAP"/>
+		<field name="GL_GENERATE_MIPMAP_HINT"/>
+		<field name="GL_INTERPOLATE"/>
+		<field name="GL_LINE_WIDTH"/>
+		<field name="GL_LOGIC_OP_MODE"/>
+		<field name="GL_MATRIX_MODE"/>
+		<field name="GL_MAX_CLIP_PLANES"/>
+		<field name="GL_MODELVIEW_MATRIX"/>
+		<field name="GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+		<field name="GL_MODELVIEW_STACK_DEPTH"/>
+		<field name="GL_NORMAL_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_NORMAL_ARRAY_POINTER"/>
+		<field name="GL_NORMAL_ARRAY_STRIDE"/>
+		<field name="GL_NORMAL_ARRAY_TYPE"/>
+		<field name="GL_OPERAND0_ALPHA"/>
+		<field name="GL_OPERAND0_RGB"/>
+		<field name="GL_OPERAND1_ALPHA"/>
+		<field name="GL_OPERAND1_RGB"/>
+		<field name="GL_OPERAND2_ALPHA"/>
+		<field name="GL_OPERAND2_RGB"/>
+		<field name="GL_POINT_DISTANCE_ATTENUATION"/>
+		<field name="GL_POINT_FADE_THRESHOLD_SIZE"/>
+		<field name="GL_POINT_SIZE"/>
+		<field name="GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES"/>
+		<field name="GL_POINT_SIZE_ARRAY_OES"/>
+		<field name="GL_POINT_SIZE_ARRAY_POINTER_OES"/>
+		<field name="GL_POINT_SIZE_ARRAY_STRIDE_OES"/>
+		<field name="GL_POINT_SIZE_ARRAY_TYPE_OES"/>
+		<field name="GL_POINT_SIZE_MAX"/>
+		<field name="GL_POINT_SIZE_MIN"/>
+		<field name="GL_POINT_SPRITE_OES"/>
+		<field name="GL_POLYGON_OFFSET_FACTOR"/>
+		<field name="GL_POLYGON_OFFSET_UNITS"/>
+		<field name="GL_PREVIOUS"/>
+		<field name="GL_PRIMARY_COLOR"/>
+		<field name="GL_PROJECTION_MATRIX"/>
+		<field name="GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+		<field name="GL_PROJECTION_STACK_DEPTH"/>
+		<field name="GL_RGB_SCALE"/>
+		<field name="GL_SAMPLES"/>
+		<field name="GL_SAMPLE_BUFFERS"/>
+		<field name="GL_SAMPLE_COVERAGE_INVERT"/>
+		<field name="GL_SAMPLE_COVERAGE_VALUE"/>
+		<field name="GL_SCISSOR_BOX"/>
+		<field name="GL_SHADE_MODEL"/>
+		<field name="GL_SRC0_ALPHA"/>
+		<field name="GL_SRC0_RGB"/>
+		<field name="GL_SRC1_ALPHA"/>
+		<field name="GL_SRC1_RGB"/>
+		<field name="GL_SRC2_ALPHA"/>
+		<field name="GL_SRC2_RGB"/>
+		<field name="GL_STATIC_DRAW"/>
+		<field name="GL_STENCIL_CLEAR_VALUE"/>
+		<field name="GL_STENCIL_FAIL"/>
+		<field name="GL_STENCIL_FUNC"/>
+		<field name="GL_STENCIL_PASS_DEPTH_FAIL"/>
+		<field name="GL_STENCIL_PASS_DEPTH_PASS"/>
+		<field name="GL_STENCIL_REF"/>
+		<field name="GL_STENCIL_VALUE_MASK"/>
+		<field name="GL_STENCIL_WRITEMASK"/>
+		<field name="GL_SUBTRACT"/>
+		<field name="GL_TEXTURE_BINDING_2D"/>
+		<field name="GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_TEXTURE_COORD_ARRAY_POINTER"/>
+		<field name="GL_TEXTURE_COORD_ARRAY_SIZE"/>
+		<field name="GL_TEXTURE_COORD_ARRAY_STRIDE"/>
+		<field name="GL_TEXTURE_COORD_ARRAY_TYPE"/>
+		<field name="GL_TEXTURE_MATRIX"/>
+		<field name="GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES"/>
+		<field name="GL_TEXTURE_STACK_DEPTH"/>
+		<field name="GL_VERTEX_ARRAY_BUFFER_BINDING"/>
+		<field name="GL_VERTEX_ARRAY_POINTER"/>
+		<field name="GL_VERTEX_ARRAY_SIZE"/>
+		<field name="GL_VERTEX_ARRAY_STRIDE"/>
+		<field name="GL_VERTEX_ARRAY_TYPE"/>
+		<field name="GL_VIEWPORT"/>
+		<field name="GL_WRITE_ONLY"/>
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL11Ext" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/microedition/khronos/opengles/GL"/>
+		<method name="glCurrentPaletteMatrixOES(I)V"/>
+		<method name="glDrawTexfOES(FFFFF)V"/>
+		<method name="glDrawTexfvOES(Ljava/nio/FloatBuffer;)V"/>
+		<method name="glDrawTexfvOES([FI)V"/>
+		<method name="glDrawTexiOES(IIIII)V"/>
+		<method name="glDrawTexivOES(Ljava/nio/IntBuffer;)V"/>
+		<method name="glDrawTexivOES([II)V"/>
+		<method name="glDrawTexsOES(SSSSS)V"/>
+		<method name="glDrawTexsvOES(Ljava/nio/ShortBuffer;)V"/>
+		<method name="glDrawTexsvOES([SI)V"/>
+		<method name="glDrawTexxOES(IIIII)V"/>
+		<method name="glDrawTexxvOES(Ljava/nio/IntBuffer;)V"/>
+		<method name="glDrawTexxvOES([II)V"/>
+		<method name="glEnable(I)V"/>
+		<method name="glEnableClientState(I)V"/>
+		<method name="glLoadPaletteFromModelViewMatrixOES()V"/>
+		<method name="glMatrixIndexPointerOES(IIII)V"/>
+		<method name="glMatrixIndexPointerOES(IIILjava/nio/Buffer;)V"/>
+		<method name="glTexParameterfv(II[FI)V"/>
+		<method name="glWeightPointerOES(IIII)V"/>
+		<method name="glWeightPointerOES(IIILjava/nio/Buffer;)V"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_POINTER_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_SIZE_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_STRIDE_OES"/>
+		<field name="GL_MATRIX_INDEX_ARRAY_TYPE_OES"/>
+		<field name="GL_MATRIX_PALETTE_OES"/>
+		<field name="GL_MAX_PALETTE_MATRICES_OES"/>
+		<field name="GL_MAX_VERTEX_UNITS_OES"/>
+		<field name="GL_TEXTURE_CROP_RECT_OES"/>
+		<field name="GL_WEIGHT_ARRAY_BUFFER_BINDING_OES"/>
+		<field name="GL_WEIGHT_ARRAY_OES"/>
+		<field name="GL_WEIGHT_ARRAY_POINTER_OES"/>
+		<field name="GL_WEIGHT_ARRAY_SIZE_OES"/>
+		<field name="GL_WEIGHT_ARRAY_STRIDE_OES"/>
+		<field name="GL_WEIGHT_ARRAY_TYPE_OES"/>
+	</class>
+	<class name="javax/microedition/khronos/opengles/GL11ExtensionPack" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/microedition/khronos/opengles/GL"/>
+		<method name="glBindFramebufferOES(II)V"/>
+		<method name="glBindRenderbufferOES(II)V"/>
+		<method name="glBindTexture(II)V"/>
+		<method name="glBlendEquation(I)V"/>
+		<method name="glBlendEquationSeparate(II)V"/>
+		<method name="glBlendFuncSeparate(IIII)V"/>
+		<method name="glCheckFramebufferStatusOES(I)I"/>
+		<method name="glCompressedTexImage2D(IIIIIIILjava/nio/Buffer;)V"/>
+		<method name="glCopyTexImage2D(IIIIIIII)V"/>
+		<method name="glDeleteFramebuffersOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteFramebuffersOES(I[II)V"/>
+		<method name="glDeleteRenderbuffersOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glDeleteRenderbuffersOES(I[II)V"/>
+		<method name="glEnable(I)V"/>
+		<method name="glFramebufferRenderbufferOES(IIII)V"/>
+		<method name="glFramebufferTexture2DOES(IIIII)V"/>
+		<method name="glGenFramebuffersOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenFramebuffersOES(I[II)V"/>
+		<method name="glGenRenderbuffersOES(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGenRenderbuffersOES(I[II)V"/>
+		<method name="glGenerateMipmapOES(I)V"/>
+		<method name="glGetFramebufferAttachmentParameterivOES(IIILjava/nio/IntBuffer;)V"/>
+		<method name="glGetFramebufferAttachmentParameterivOES(III[II)V"/>
+		<method name="glGetIntegerv(ILjava/nio/IntBuffer;)V"/>
+		<method name="glGetIntegerv(I[II)V"/>
+		<method name="glGetRenderbufferParameterivOES(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetRenderbufferParameterivOES(II[II)V"/>
+		<method name="glGetTexGenfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glGetTexGenfv(II[FI)V"/>
+		<method name="glGetTexGeniv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexGeniv(II[II)V"/>
+		<method name="glGetTexGenxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glGetTexGenxv(II[II)V"/>
+		<method name="glIsFramebufferOES(I)Z"/>
+		<method name="glIsRenderbufferOES(I)Z"/>
+		<method name="glRenderbufferStorageOES(IIII)V"/>
+		<method name="glStencilOp(III)V"/>
+		<method name="glTexEnvf(IIF)V"/>
+		<method name="glTexEnvfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glTexEnvfv(II[FI)V"/>
+		<method name="glTexEnvx(III)V"/>
+		<method name="glTexEnvxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexEnvxv(II[II)V"/>
+		<method name="glTexGenf(IIF)V"/>
+		<method name="glTexGenfv(IILjava/nio/FloatBuffer;)V"/>
+		<method name="glTexGenfv(II[FI)V"/>
+		<method name="glTexGeni(III)V"/>
+		<method name="glTexGeniv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexGeniv(II[II)V"/>
+		<method name="glTexGenx(III)V"/>
+		<method name="glTexGenxv(IILjava/nio/IntBuffer;)V"/>
+		<method name="glTexGenxv(II[II)V"/>
+		<method name="glTexParameterf(IIF)V"/>
+		<field name="GL_BLEND_DST_ALPHA"/>
+		<field name="GL_BLEND_DST_RGB"/>
+		<field name="GL_BLEND_EQUATION"/>
+		<field name="GL_BLEND_EQUATION_ALPHA"/>
+		<field name="GL_BLEND_EQUATION_RGB"/>
+		<field name="GL_BLEND_SRC_ALPHA"/>
+		<field name="GL_BLEND_SRC_RGB"/>
+		<field name="GL_COLOR_ATTACHMENT0_OES"/>
+		<field name="GL_COLOR_ATTACHMENT10_OES"/>
+		<field name="GL_COLOR_ATTACHMENT11_OES"/>
+		<field name="GL_COLOR_ATTACHMENT12_OES"/>
+		<field name="GL_COLOR_ATTACHMENT13_OES"/>
+		<field name="GL_COLOR_ATTACHMENT14_OES"/>
+		<field name="GL_COLOR_ATTACHMENT15_OES"/>
+		<field name="GL_COLOR_ATTACHMENT1_OES"/>
+		<field name="GL_COLOR_ATTACHMENT2_OES"/>
+		<field name="GL_COLOR_ATTACHMENT3_OES"/>
+		<field name="GL_COLOR_ATTACHMENT4_OES"/>
+		<field name="GL_COLOR_ATTACHMENT5_OES"/>
+		<field name="GL_COLOR_ATTACHMENT6_OES"/>
+		<field name="GL_COLOR_ATTACHMENT7_OES"/>
+		<field name="GL_COLOR_ATTACHMENT8_OES"/>
+		<field name="GL_COLOR_ATTACHMENT9_OES"/>
+		<field name="GL_DECR_WRAP"/>
+		<field name="GL_DEPTH_ATTACHMENT_OES"/>
+		<field name="GL_DEPTH_COMPONENT"/>
+		<field name="GL_DEPTH_COMPONENT16"/>
+		<field name="GL_DEPTH_COMPONENT24"/>
+		<field name="GL_DEPTH_COMPONENT32"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES"/>
+		<field name="GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES"/>
+		<field name="GL_FRAMEBUFFER_BINDING_OES"/>
+		<field name="GL_FRAMEBUFFER_COMPLETE_OES"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES"/>
+		<field name="GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES"/>
+		<field name="GL_FRAMEBUFFER_OES"/>
+		<field name="GL_FRAMEBUFFER_UNSUPPORTED_OES"/>
+		<field name="GL_FUNC_ADD"/>
+		<field name="GL_FUNC_REVERSE_SUBTRACT"/>
+		<field name="GL_FUNC_SUBTRACT"/>
+		<field name="GL_INCR_WRAP"/>
+		<field name="GL_INVALID_FRAMEBUFFER_OPERATION_OES"/>
+		<field name="GL_MAX_COLOR_ATTACHMENTS_OES"/>
+		<field name="GL_MAX_CUBE_MAP_TEXTURE_SIZE"/>
+		<field name="GL_MAX_RENDERBUFFER_SIZE_OES"/>
+		<field name="GL_MIRRORED_REPEAT"/>
+		<field name="GL_NORMAL_MAP"/>
+		<field name="GL_REFLECTION_MAP"/>
+		<field name="GL_RENDERBUFFER_ALPHA_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_BINDING_OES"/>
+		<field name="GL_RENDERBUFFER_BLUE_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_DEPTH_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_GREEN_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_HEIGHT_OES"/>
+		<field name="GL_RENDERBUFFER_INTERNAL_FORMAT_OES"/>
+		<field name="GL_RENDERBUFFER_OES"/>
+		<field name="GL_RENDERBUFFER_RED_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_STENCIL_SIZE_OES"/>
+		<field name="GL_RENDERBUFFER_WIDTH_OES"/>
+		<field name="GL_RGB565_OES"/>
+		<field name="GL_RGB5_A1"/>
+		<field name="GL_RGB8"/>
+		<field name="GL_RGBA4"/>
+		<field name="GL_RGBA8"/>
+		<field name="GL_STENCIL_ATTACHMENT_OES"/>
+		<field name="GL_STENCIL_INDEX"/>
+		<field name="GL_STENCIL_INDEX1_OES"/>
+		<field name="GL_STENCIL_INDEX4_OES"/>
+		<field name="GL_STENCIL_INDEX8_OES"/>
+		<field name="GL_STR"/>
+		<field name="GL_TEXTURE_BINDING_CUBE_MAP"/>
+		<field name="GL_TEXTURE_CUBE_MAP"/>
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/>
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/>
+		<field name="GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/>
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_X"/>
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/>
+		<field name="GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/>
+		<field name="GL_TEXTURE_GEN_MODE"/>
+		<field name="GL_TEXTURE_GEN_STR"/>
+	</class>
+	<class name="javax/net/ServerSocketFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="createServerSocket()Ljava/net/ServerSocket;"/>
+		<method name="createServerSocket(I)Ljava/net/ServerSocket;"/>
+		<method name="createServerSocket(II)Ljava/net/ServerSocket;"/>
+		<method name="createServerSocket(IILjava/net/InetAddress;)Ljava/net/ServerSocket;"/>
+		<method name="getDefault()Ljavax/net/ServerSocketFactory;"/>
+	</class>
+	<class name="javax/net/SocketFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="createSocket()Ljava/net/Socket;"/>
+		<method name="createSocket(Ljava/lang/String;I)Ljava/net/Socket;"/>
+		<method name="createSocket(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket;"/>
+		<method name="createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket;"/>
+		<method name="createSocket(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Ljava/net/Socket;"/>
+		<method name="getDefault()Ljavax/net/SocketFactory;"/>
+	</class>
+	<class name="javax/net/ssl/CertPathTrustManagerParameters" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/net/ssl/ManagerFactoryParameters"/>
+		<method name="&lt;init>(Ljava/security/cert/CertPathParameters;)V"/>
+		<method name="getParameters()Ljava/security/cert/CertPathParameters;"/>
+	</class>
+	<class name="javax/net/ssl/ExtendedSSLSession" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/net/ssl/SSLSession"/>
+		<method name="&lt;init>()V"/>
+		<method name="getLocalSupportedSignatureAlgorithms()[Ljava/lang/String;"/>
+		<method name="getPeerSupportedSignatureAlgorithms()[Ljava/lang/String;"/>
+		<method name="getRequestedServerNames()Ljava/util/List;"/>
+	</class>
+	<class name="javax/net/ssl/HandshakeCompletedEvent" since="1">
+		<extends name="java/util/EventObject"/>
+		<method name="&lt;init>(Ljavax/net/ssl/SSLSocket;Ljavax/net/ssl/SSLSession;)V"/>
+		<method name="getCipherSuite()Ljava/lang/String;"/>
+		<method name="getLocalCertificates()[Ljava/security/cert/Certificate;"/>
+		<method name="getLocalPrincipal()Ljava/security/Principal;"/>
+		<method name="getPeerCertificateChain()[Ljavax/security/cert/X509Certificate;"/>
+		<method name="getPeerCertificates()[Ljava/security/cert/Certificate;"/>
+		<method name="getPeerPrincipal()Ljava/security/Principal;"/>
+		<method name="getSession()Ljavax/net/ssl/SSLSession;"/>
+		<method name="getSocket()Ljavax/net/ssl/SSLSocket;"/>
+	</class>
+	<class name="javax/net/ssl/HandshakeCompletedListener" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/EventListener"/>
+		<method name="handshakeCompleted(Ljavax/net/ssl/HandshakeCompletedEvent;)V"/>
+	</class>
+	<class name="javax/net/ssl/HostnameVerifier" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="verify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z"/>
+	</class>
+	<class name="javax/net/ssl/HttpsURLConnection" since="1">
+		<extends name="java/net/HttpURLConnection"/>
+		<method name="&lt;init>(Ljava/net/URL;)V"/>
+		<method name="getCipherSuite()Ljava/lang/String;"/>
+		<method name="getDefaultHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;"/>
+		<method name="getDefaultSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;"/>
+		<method name="getHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;"/>
+		<method name="getLocalCertificates()[Ljava/security/cert/Certificate;"/>
+		<method name="getLocalPrincipal()Ljava/security/Principal;"/>
+		<method name="getPeerPrincipal()Ljava/security/Principal;"/>
+		<method name="getSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;"/>
+		<method name="getServerCertificates()[Ljava/security/cert/Certificate;"/>
+		<method name="setDefaultHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V"/>
+		<method name="setDefaultSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V"/>
+		<method name="setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V"/>
+		<method name="setSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V"/>
+		<field name="hostnameVerifier"/>
+	</class>
+	<class name="javax/net/ssl/KeyManager" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="javax/net/ssl/KeyManagerFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljavax/net/ssl/KeyManagerFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getDefaultAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/net/ssl/KeyManagerFactory;"/>
+		<method name="getKeyManagers()[Ljavax/net/ssl/KeyManager;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="init(Ljava/security/KeyStore;[C)V"/>
+		<method name="init(Ljavax/net/ssl/ManagerFactoryParameters;)V"/>
+	</class>
+	<class name="javax/net/ssl/KeyManagerFactorySpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGetKeyManagers()[Ljavax/net/ssl/KeyManager;"/>
+		<method name="engineInit(Ljava/security/KeyStore;[C)V"/>
+		<method name="engineInit(Ljavax/net/ssl/ManagerFactoryParameters;)V"/>
+	</class>
+	<class name="javax/net/ssl/KeyStoreBuilderParameters" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/net/ssl/ManagerFactoryParameters"/>
+		<method name="&lt;init>(Ljava/security/KeyStore$Builder;)V"/>
+		<method name="&lt;init>(Ljava/util/List;)V"/>
+		<method name="getParameters()Ljava/util/List;"/>
+	</class>
+	<class name="javax/net/ssl/ManagerFactoryParameters" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="javax/net/ssl/SNIHostName" since="24">
+		<extends name="javax/net/ssl/SNIServerName"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="createSNIMatcher(Ljava/lang/String;)Ljavax/net/ssl/SNIMatcher;"/>
+		<method name="getAsciiName()Ljava/lang/String;"/>
+	</class>
+	<class name="javax/net/ssl/SNIMatcher" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getType()I"/>
+		<method name="matches(Ljavax/net/ssl/SNIServerName;)Z"/>
+	</class>
+	<class name="javax/net/ssl/SNIServerName" since="24">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I[B)V"/>
+		<method name="getEncoded()[B"/>
+		<method name="getType()I"/>
+	</class>
+	<class name="javax/net/ssl/SSLContext" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljavax/net/ssl/SSLContextSpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="createSSLEngine()Ljavax/net/ssl/SSLEngine;"/>
+		<method name="createSSLEngine(Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;"/>
+		<method name="getClientSessionContext()Ljavax/net/ssl/SSLSessionContext;"/>
+		<method name="getDefault()Ljavax/net/ssl/SSLContext;" since="9"/>
+		<method name="getDefaultSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9"/>
+		<method name="getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/SSLContext;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/net/ssl/SSLContext;"/>
+		<method name="getProtocol()Ljava/lang/String;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="getServerSessionContext()Ljavax/net/ssl/SSLSessionContext;"/>
+		<method name="getServerSocketFactory()Ljavax/net/ssl/SSLServerSocketFactory;"/>
+		<method name="getSocketFactory()Ljavax/net/ssl/SSLSocketFactory;"/>
+		<method name="getSupportedSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9"/>
+		<method name="init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V"/>
+		<method name="setDefault(Ljavax/net/ssl/SSLContext;)V" since="9"/>
+	</class>
+	<class name="javax/net/ssl/SSLContextSpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineCreateSSLEngine()Ljavax/net/ssl/SSLEngine;"/>
+		<method name="engineCreateSSLEngine(Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;"/>
+		<method name="engineGetClientSessionContext()Ljavax/net/ssl/SSLSessionContext;"/>
+		<method name="engineGetDefaultSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9"/>
+		<method name="engineGetServerSessionContext()Ljavax/net/ssl/SSLSessionContext;"/>
+		<method name="engineGetServerSocketFactory()Ljavax/net/ssl/SSLServerSocketFactory;"/>
+		<method name="engineGetSocketFactory()Ljavax/net/ssl/SSLSocketFactory;"/>
+		<method name="engineGetSupportedSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9"/>
+		<method name="engineInit([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLEngine" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="beginHandshake()V"/>
+		<method name="closeInbound()V"/>
+		<method name="closeOutbound()V"/>
+		<method name="getApplicationProtocol()Ljava/lang/String;" since="29"/>
+		<method name="getDelegatedTask()Ljava/lang/Runnable;"/>
+		<method name="getEnableSessionCreation()Z"/>
+		<method name="getEnabledCipherSuites()[Ljava/lang/String;"/>
+		<method name="getEnabledProtocols()[Ljava/lang/String;"/>
+		<method name="getHandshakeApplicationProtocol()Ljava/lang/String;" since="29"/>
+		<method name="getHandshakeApplicationProtocolSelector()Ljava/util/function/BiFunction;" since="29"/>
+		<method name="getHandshakeSession()Ljavax/net/ssl/SSLSession;" since="24"/>
+		<method name="getHandshakeStatus()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;"/>
+		<method name="getNeedClientAuth()Z"/>
+		<method name="getPeerHost()Ljava/lang/String;"/>
+		<method name="getPeerPort()I"/>
+		<method name="getSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9"/>
+		<method name="getSession()Ljavax/net/ssl/SSLSession;"/>
+		<method name="getSupportedCipherSuites()[Ljava/lang/String;"/>
+		<method name="getSupportedProtocols()[Ljava/lang/String;"/>
+		<method name="getUseClientMode()Z"/>
+		<method name="getWantClientAuth()Z"/>
+		<method name="isInboundDone()Z"/>
+		<method name="isOutboundDone()Z"/>
+		<method name="setEnableSessionCreation(Z)V"/>
+		<method name="setEnabledCipherSuites([Ljava/lang/String;)V"/>
+		<method name="setEnabledProtocols([Ljava/lang/String;)V"/>
+		<method name="setHandshakeApplicationProtocolSelector(Ljava/util/function/BiFunction;)V" since="29"/>
+		<method name="setNeedClientAuth(Z)V"/>
+		<method name="setSSLParameters(Ljavax/net/ssl/SSLParameters;)V" since="9"/>
+		<method name="setUseClientMode(Z)V"/>
+		<method name="setWantClientAuth(Z)V"/>
+		<method name="unwrap(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;"/>
+		<method name="unwrap(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;"/>
+		<method name="unwrap(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;"/>
+		<method name="wrap(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;"/>
+		<method name="wrap([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;"/>
+		<method name="wrap([Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;"/>
+	</class>
+	<class name="javax/net/ssl/SSLEngineResult" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V"/>
+		<method name="bytesConsumed()I"/>
+		<method name="bytesProduced()I"/>
+		<method name="getHandshakeStatus()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;"/>
+		<method name="getStatus()Ljavax/net/ssl/SSLEngineResult$Status;"/>
+	</class>
+	<class name="javax/net/ssl/SSLEngineResult$HandshakeStatus" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;"/>
+		<method name="values()[Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;"/>
+		<field name="FINISHED"/>
+		<field name="NEED_TASK"/>
+		<field name="NEED_UNWRAP"/>
+		<field name="NEED_WRAP"/>
+		<field name="NOT_HANDSHAKING"/>
+	</class>
+	<class name="javax/net/ssl/SSLEngineResult$Status" since="1">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Ljavax/net/ssl/SSLEngineResult$Status;"/>
+		<method name="values()[Ljavax/net/ssl/SSLEngineResult$Status;"/>
+		<field name="BUFFER_OVERFLOW"/>
+		<field name="BUFFER_UNDERFLOW"/>
+		<field name="CLOSED"/>
+		<field name="OK"/>
+	</class>
+	<class name="javax/net/ssl/SSLException" since="1">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLHandshakeException" since="1">
+		<extends name="javax/net/ssl/SSLException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLKeyException" since="1">
+		<extends name="javax/net/ssl/SSLException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLParameters" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>([Ljava/lang/String;)V"/>
+		<method name="&lt;init>([Ljava/lang/String;[Ljava/lang/String;)V"/>
+		<method name="getAlgorithmConstraints()Ljava/security/AlgorithmConstraints;" since="24"/>
+		<method name="getApplicationProtocols()[Ljava/lang/String;" since="29"/>
+		<method name="getCipherSuites()[Ljava/lang/String;"/>
+		<method name="getEndpointIdentificationAlgorithm()Ljava/lang/String;" since="24"/>
+		<method name="getNeedClientAuth()Z"/>
+		<method name="getProtocols()[Ljava/lang/String;"/>
+		<method name="getSNIMatchers()Ljava/util/Collection;" since="24"/>
+		<method name="getServerNames()Ljava/util/List;" since="24"/>
+		<method name="getUseCipherSuitesOrder()Z" since="24"/>
+		<method name="getWantClientAuth()Z"/>
+		<method name="setAlgorithmConstraints(Ljava/security/AlgorithmConstraints;)V" since="24"/>
+		<method name="setApplicationProtocols([Ljava/lang/String;)V" since="29"/>
+		<method name="setCipherSuites([Ljava/lang/String;)V"/>
+		<method name="setEndpointIdentificationAlgorithm(Ljava/lang/String;)V" since="24"/>
+		<method name="setNeedClientAuth(Z)V"/>
+		<method name="setProtocols([Ljava/lang/String;)V"/>
+		<method name="setSNIMatchers(Ljava/util/Collection;)V" since="24"/>
+		<method name="setServerNames(Ljava/util/List;)V" since="24"/>
+		<method name="setUseCipherSuitesOrder(Z)V" since="24"/>
+		<method name="setWantClientAuth(Z)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLPeerUnverifiedException" since="1">
+		<extends name="javax/net/ssl/SSLException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLPermission" since="1">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLProtocolException" since="1">
+		<extends name="javax/net/ssl/SSLException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLServerSocket" since="1">
+		<extends name="java/net/ServerSocket"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="&lt;init>(IILjava/net/InetAddress;)V"/>
+		<method name="getEnableSessionCreation()Z"/>
+		<method name="getEnabledCipherSuites()[Ljava/lang/String;"/>
+		<method name="getEnabledProtocols()[Ljava/lang/String;"/>
+		<method name="getNeedClientAuth()Z"/>
+		<method name="getSSLParameters()Ljavax/net/ssl/SSLParameters;" since="24"/>
+		<method name="getSupportedCipherSuites()[Ljava/lang/String;"/>
+		<method name="getSupportedProtocols()[Ljava/lang/String;"/>
+		<method name="getUseClientMode()Z"/>
+		<method name="getWantClientAuth()Z"/>
+		<method name="setEnableSessionCreation(Z)V"/>
+		<method name="setEnabledCipherSuites([Ljava/lang/String;)V"/>
+		<method name="setEnabledProtocols([Ljava/lang/String;)V"/>
+		<method name="setNeedClientAuth(Z)V"/>
+		<method name="setSSLParameters(Ljavax/net/ssl/SSLParameters;)V" since="24"/>
+		<method name="setUseClientMode(Z)V"/>
+		<method name="setWantClientAuth(Z)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLServerSocketFactory" since="1">
+		<extends name="javax/net/ServerSocketFactory"/>
+		<method name="&lt;init>()V"/>
+		<method name="getDefaultCipherSuites()[Ljava/lang/String;"/>
+		<method name="getSupportedCipherSuites()[Ljava/lang/String;"/>
+	</class>
+	<class name="javax/net/ssl/SSLSession" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getApplicationBufferSize()I"/>
+		<method name="getCipherSuite()Ljava/lang/String;"/>
+		<method name="getCreationTime()J"/>
+		<method name="getId()[B"/>
+		<method name="getLastAccessedTime()J"/>
+		<method name="getLocalCertificates()[Ljava/security/cert/Certificate;"/>
+		<method name="getLocalPrincipal()Ljava/security/Principal;"/>
+		<method name="getPacketBufferSize()I"/>
+		<method name="getPeerCertificateChain()[Ljavax/security/cert/X509Certificate;"/>
+		<method name="getPeerCertificates()[Ljava/security/cert/Certificate;"/>
+		<method name="getPeerHost()Ljava/lang/String;"/>
+		<method name="getPeerPort()I"/>
+		<method name="getPeerPrincipal()Ljava/security/Principal;"/>
+		<method name="getProtocol()Ljava/lang/String;"/>
+		<method name="getSessionContext()Ljavax/net/ssl/SSLSessionContext;"/>
+		<method name="getValue(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getValueNames()[Ljava/lang/String;"/>
+		<method name="invalidate()V"/>
+		<method name="isValid()Z"/>
+		<method name="putValue(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="removeValue(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLSessionBindingEvent" since="1">
+		<extends name="java/util/EventObject"/>
+		<method name="&lt;init>(Ljavax/net/ssl/SSLSession;Ljava/lang/String;)V"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getSession()Ljavax/net/ssl/SSLSession;"/>
+	</class>
+	<class name="javax/net/ssl/SSLSessionBindingListener" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/EventListener"/>
+		<method name="valueBound(Ljavax/net/ssl/SSLSessionBindingEvent;)V"/>
+		<method name="valueUnbound(Ljavax/net/ssl/SSLSessionBindingEvent;)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLSessionContext" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getIds()Ljava/util/Enumeration;"/>
+		<method name="getSession([B)Ljavax/net/ssl/SSLSession;"/>
+		<method name="getSessionCacheSize()I"/>
+		<method name="getSessionTimeout()I"/>
+		<method name="setSessionCacheSize(I)V"/>
+		<method name="setSessionTimeout(I)V"/>
+	</class>
+	<class name="javax/net/ssl/SSLSocket" since="1">
+		<extends name="java/net/Socket"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/net/InetAddress;I)V"/>
+		<method name="&lt;init>(Ljava/net/InetAddress;I)V"/>
+		<method name="&lt;init>(Ljava/net/InetAddress;ILjava/net/InetAddress;I)V"/>
+		<method name="addHandshakeCompletedListener(Ljavax/net/ssl/HandshakeCompletedListener;)V"/>
+		<method name="getApplicationProtocol()Ljava/lang/String;" since="29"/>
+		<method name="getEnableSessionCreation()Z"/>
+		<method name="getEnabledCipherSuites()[Ljava/lang/String;"/>
+		<method name="getEnabledProtocols()[Ljava/lang/String;"/>
+		<method name="getHandshakeApplicationProtocol()Ljava/lang/String;" since="29"/>
+		<method name="getHandshakeApplicationProtocolSelector()Ljava/util/function/BiFunction;" since="29"/>
+		<method name="getHandshakeSession()Ljavax/net/ssl/SSLSession;" since="24"/>
+		<method name="getNeedClientAuth()Z"/>
+		<method name="getSSLParameters()Ljavax/net/ssl/SSLParameters;" since="9"/>
+		<method name="getSession()Ljavax/net/ssl/SSLSession;"/>
+		<method name="getSupportedCipherSuites()[Ljava/lang/String;"/>
+		<method name="getSupportedProtocols()[Ljava/lang/String;"/>
+		<method name="getUseClientMode()Z"/>
+		<method name="getWantClientAuth()Z"/>
+		<method name="removeHandshakeCompletedListener(Ljavax/net/ssl/HandshakeCompletedListener;)V"/>
+		<method name="setEnableSessionCreation(Z)V"/>
+		<method name="setEnabledCipherSuites([Ljava/lang/String;)V"/>
+		<method name="setEnabledProtocols([Ljava/lang/String;)V"/>
+		<method name="setHandshakeApplicationProtocolSelector(Ljava/util/function/BiFunction;)V" since="29"/>
+		<method name="setNeedClientAuth(Z)V"/>
+		<method name="setSSLParameters(Ljavax/net/ssl/SSLParameters;)V" since="9"/>
+		<method name="setUseClientMode(Z)V"/>
+		<method name="setWantClientAuth(Z)V"/>
+		<method name="startHandshake()V"/>
+	</class>
+	<class name="javax/net/ssl/SSLSocketFactory" since="1">
+		<extends name="javax/net/SocketFactory"/>
+		<method name="&lt;init>()V"/>
+		<method name="createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;"/>
+		<method name="getDefaultCipherSuites()[Ljava/lang/String;"/>
+		<method name="getSupportedCipherSuites()[Ljava/lang/String;"/>
+	</class>
+	<class name="javax/net/ssl/StandardConstants" since="24">
+		<extends name="java/lang/Object"/>
+		<field name="SNI_HOST_NAME"/>
+	</class>
+	<class name="javax/net/ssl/TrustManager" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="javax/net/ssl/TrustManagerFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljavax/net/ssl/TrustManagerFactorySpi;Ljava/security/Provider;Ljava/lang/String;)V"/>
+		<method name="getAlgorithm()Ljava/lang/String;"/>
+		<method name="getDefaultAlgorithm()Ljava/lang/String;"/>
+		<method name="getInstance(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;"/>
+		<method name="getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljavax/net/ssl/TrustManagerFactory;"/>
+		<method name="getProvider()Ljava/security/Provider;"/>
+		<method name="getTrustManagers()[Ljavax/net/ssl/TrustManager;"/>
+		<method name="init(Ljava/security/KeyStore;)V"/>
+		<method name="init(Ljavax/net/ssl/ManagerFactoryParameters;)V"/>
+	</class>
+	<class name="javax/net/ssl/TrustManagerFactorySpi" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="engineGetTrustManagers()[Ljavax/net/ssl/TrustManager;"/>
+		<method name="engineInit(Ljava/security/KeyStore;)V"/>
+		<method name="engineInit(Ljavax/net/ssl/ManagerFactoryParameters;)V"/>
+	</class>
+	<class name="javax/net/ssl/X509ExtendedKeyManager" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/net/ssl/X509KeyManager"/>
+		<method name="&lt;init>()V"/>
+		<method name="chooseEngineClientAlias([Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;"/>
+		<method name="chooseEngineServerAlias(Ljava/lang/String;[Ljava/security/Principal;Ljavax/net/ssl/SSLEngine;)Ljava/lang/String;"/>
+	</class>
+	<class name="javax/net/ssl/X509ExtendedTrustManager" since="24">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/net/ssl/X509TrustManager"/>
+		<method name="&lt;init>()V"/>
+		<method name="checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V"/>
+		<method name="checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)V"/>
+		<method name="checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V"/>
+		<method name="checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLEngine;)V"/>
+	</class>
+	<class name="javax/net/ssl/X509KeyManager" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/net/ssl/KeyManager"/>
+		<method name="chooseClientAlias([Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;"/>
+		<method name="chooseServerAlias(Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;"/>
+		<method name="getCertificateChain(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;"/>
+		<method name="getClientAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;"/>
+		<method name="getPrivateKey(Ljava/lang/String;)Ljava/security/PrivateKey;"/>
+		<method name="getServerAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;"/>
+	</class>
+	<class name="javax/net/ssl/X509TrustManager" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/net/ssl/TrustManager"/>
+		<method name="checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V"/>
+		<method name="checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V"/>
+		<method name="getAcceptedIssuers()[Ljava/security/cert/X509Certificate;"/>
+	</class>
+	<class name="javax/security/auth/AuthPermission" since="1">
+		<extends name="java/security/BasicPermission"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/security/auth/DestroyFailedException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/security/auth/Destroyable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="destroy()V"/>
+		<method name="isDestroyed()Z"/>
+	</class>
+	<class name="javax/security/auth/PrivateCredentialPermission" since="1">
+		<extends name="java/security/Permission"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getCredentialClass()Ljava/lang/String;"/>
+		<method name="getPrincipals()[[Ljava/lang/String;"/>
+	</class>
+	<class name="javax/security/auth/Subject" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(ZLjava/util/Set;Ljava/util/Set;Ljava/util/Set;)V"/>
+		<method name="doAs(Ljavax/security/auth/Subject;Ljava/security/PrivilegedAction;)Ljava/lang/Object;"/>
+		<method name="doAs(Ljavax/security/auth/Subject;Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;"/>
+		<method name="doAsPrivileged(Ljavax/security/auth/Subject;Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;"/>
+		<method name="doAsPrivileged(Ljavax/security/auth/Subject;Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;"/>
+		<method name="getPrincipals()Ljava/util/Set;"/>
+		<method name="getPrincipals(Ljava/lang/Class;)Ljava/util/Set;"/>
+		<method name="getPrivateCredentials()Ljava/util/Set;"/>
+		<method name="getPrivateCredentials(Ljava/lang/Class;)Ljava/util/Set;"/>
+		<method name="getPublicCredentials()Ljava/util/Set;"/>
+		<method name="getPublicCredentials(Ljava/lang/Class;)Ljava/util/Set;"/>
+		<method name="getSubject(Ljava/security/AccessControlContext;)Ljavax/security/auth/Subject;"/>
+		<method name="isReadOnly()Z"/>
+		<method name="setReadOnly()V"/>
+	</class>
+	<class name="javax/security/auth/SubjectDomainCombiner" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/DomainCombiner"/>
+		<method name="&lt;init>(Ljavax/security/auth/Subject;)V"/>
+		<method name="getSubject()Ljavax/security/auth/Subject;"/>
+	</class>
+	<class name="javax/security/auth/callback/Callback" since="1">
+		<extends name="java/lang/Object"/>
+	</class>
+	<class name="javax/security/auth/callback/CallbackHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="handle([Ljavax/security/auth/callback/Callback;)V"/>
+	</class>
+	<class name="javax/security/auth/callback/PasswordCallback" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="javax/security/auth/callback/Callback"/>
+		<method name="&lt;init>(Ljava/lang/String;Z)V"/>
+		<method name="clearPassword()V"/>
+		<method name="getPassword()[C"/>
+		<method name="getPrompt()Ljava/lang/String;"/>
+		<method name="isEchoOn()Z"/>
+		<method name="setPassword([C)V"/>
+	</class>
+	<class name="javax/security/auth/callback/UnsupportedCallbackException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljavax/security/auth/callback/Callback;)V"/>
+		<method name="&lt;init>(Ljavax/security/auth/callback/Callback;Ljava/lang/String;)V"/>
+		<method name="getCallback()Ljavax/security/auth/callback/Callback;"/>
+	</class>
+	<class name="javax/security/auth/login/LoginException" since="1">
+		<extends name="java/security/GeneralSecurityException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/security/auth/x500/X500Principal" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/security/Principal"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/util/Map;)V" since="9"/>
+		<method name="&lt;init>([B)V"/>
+		<method name="getEncoded()[B"/>
+		<method name="getName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getName(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;" since="9"/>
+		<field name="CANONICAL"/>
+		<field name="RFC1779"/>
+		<field name="RFC2253"/>
+	</class>
+	<class name="javax/security/cert/Certificate" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getEncoded()[B"/>
+		<method name="getPublicKey()Ljava/security/PublicKey;"/>
+		<method name="verify(Ljava/security/PublicKey;)V"/>
+		<method name="verify(Ljava/security/PublicKey;Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/security/cert/CertificateEncodingException" since="1">
+		<extends name="javax/security/cert/CertificateException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/security/cert/CertificateException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/security/cert/CertificateExpiredException" since="1">
+		<extends name="javax/security/cert/CertificateException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/security/cert/CertificateNotYetValidException" since="1">
+		<extends name="javax/security/cert/CertificateException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/security/cert/CertificateParsingException" since="1">
+		<extends name="javax/security/cert/CertificateException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/security/cert/X509Certificate" since="1">
+		<extends name="javax/security/cert/Certificate"/>
+		<method name="&lt;init>()V"/>
+		<method name="checkValidity()V"/>
+		<method name="checkValidity(Ljava/util/Date;)V"/>
+		<method name="getInstance(Ljava/io/InputStream;)Ljavax/security/cert/X509Certificate;"/>
+		<method name="getInstance([B)Ljavax/security/cert/X509Certificate;"/>
+		<method name="getIssuerDN()Ljava/security/Principal;"/>
+		<method name="getNotAfter()Ljava/util/Date;"/>
+		<method name="getNotBefore()Ljava/util/Date;"/>
+		<method name="getSerialNumber()Ljava/math/BigInteger;"/>
+		<method name="getSigAlgName()Ljava/lang/String;"/>
+		<method name="getSigAlgOID()Ljava/lang/String;"/>
+		<method name="getSigAlgParams()[B"/>
+		<method name="getSubjectDN()Ljava/security/Principal;"/>
+		<method name="getVersion()I"/>
+	</class>
+	<class name="javax/sql/CommonDataSource" since="9">
+		<extends name="java/lang/Object"/>
+		<method name="getLogWriter()Ljava/io/PrintWriter;"/>
+		<method name="getLoginTimeout()I"/>
+		<method name="getParentLogger()Ljava/util/logging/Logger;" since="24"/>
+		<method name="setLogWriter(Ljava/io/PrintWriter;)V"/>
+		<method name="setLoginTimeout(I)V"/>
+	</class>
+	<class name="javax/sql/ConnectionEvent" since="1">
+		<extends name="java/util/EventObject"/>
+		<method name="&lt;init>(Ljavax/sql/PooledConnection;)V"/>
+		<method name="&lt;init>(Ljavax/sql/PooledConnection;Ljava/sql/SQLException;)V"/>
+		<method name="getSQLException()Ljava/sql/SQLException;"/>
+	</class>
+	<class name="javax/sql/ConnectionEventListener" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/EventListener"/>
+		<method name="connectionClosed(Ljavax/sql/ConnectionEvent;)V"/>
+		<method name="connectionErrorOccurred(Ljavax/sql/ConnectionEvent;)V"/>
+	</class>
+	<class name="javax/sql/ConnectionPoolDataSource" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/sql/CommonDataSource" since="9"/>
+		<method name="getLogWriter()Ljava/io/PrintWriter;" removed="9"/>
+		<method name="getLoginTimeout()I" removed="9"/>
+		<method name="getPooledConnection()Ljavax/sql/PooledConnection;"/>
+		<method name="getPooledConnection(Ljava/lang/String;Ljava/lang/String;)Ljavax/sql/PooledConnection;"/>
+		<method name="setLogWriter(Ljava/io/PrintWriter;)V" removed="9"/>
+		<method name="setLoginTimeout(I)V" removed="9"/>
+	</class>
+	<class name="javax/sql/DataSource" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/sql/Wrapper" since="9"/>
+		<implements name="javax/sql/CommonDataSource" since="9"/>
+		<method name="getConnection()Ljava/sql/Connection;"/>
+		<method name="getConnection(Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;"/>
+		<method name="getLogWriter()Ljava/io/PrintWriter;" removed="9"/>
+		<method name="getLoginTimeout()I" removed="9"/>
+		<method name="setLogWriter(Ljava/io/PrintWriter;)V" removed="9"/>
+		<method name="setLoginTimeout(I)V" removed="9"/>
+	</class>
+	<class name="javax/sql/PooledConnection" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addConnectionEventListener(Ljavax/sql/ConnectionEventListener;)V"/>
+		<method name="addStatementEventListener(Ljavax/sql/StatementEventListener;)V" since="9"/>
+		<method name="close()V"/>
+		<method name="getConnection()Ljava/sql/Connection;"/>
+		<method name="removeConnectionEventListener(Ljavax/sql/ConnectionEventListener;)V"/>
+		<method name="removeStatementEventListener(Ljavax/sql/StatementEventListener;)V" since="9"/>
+	</class>
+	<class name="javax/sql/RowSet" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/sql/ResultSet"/>
+		<method name="addRowSetListener(Ljavax/sql/RowSetListener;)V"/>
+		<method name="clearParameters()V"/>
+		<method name="execute()V"/>
+		<method name="getCommand()Ljava/lang/String;"/>
+		<method name="getDataSourceName()Ljava/lang/String;"/>
+		<method name="getEscapeProcessing()Z"/>
+		<method name="getMaxFieldSize()I"/>
+		<method name="getMaxRows()I"/>
+		<method name="getPassword()Ljava/lang/String;"/>
+		<method name="getQueryTimeout()I"/>
+		<method name="getTransactionIsolation()I"/>
+		<method name="getTypeMap()Ljava/util/Map;"/>
+		<method name="getUrl()Ljava/lang/String;"/>
+		<method name="getUsername()Ljava/lang/String;"/>
+		<method name="isReadOnly()Z"/>
+		<method name="removeRowSetListener(Ljavax/sql/RowSetListener;)V"/>
+		<method name="setArray(ILjava/sql/Array;)V"/>
+		<method name="setAsciiStream(ILjava/io/InputStream;)V" since="9"/>
+		<method name="setAsciiStream(ILjava/io/InputStream;I)V"/>
+		<method name="setAsciiStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9"/>
+		<method name="setAsciiStream(Ljava/lang/String;Ljava/io/InputStream;I)V" since="9"/>
+		<method name="setBigDecimal(ILjava/math/BigDecimal;)V"/>
+		<method name="setBigDecimal(Ljava/lang/String;Ljava/math/BigDecimal;)V" since="9"/>
+		<method name="setBinaryStream(ILjava/io/InputStream;)V" since="9"/>
+		<method name="setBinaryStream(ILjava/io/InputStream;I)V"/>
+		<method name="setBinaryStream(Ljava/lang/String;Ljava/io/InputStream;)V" since="9"/>
+		<method name="setBinaryStream(Ljava/lang/String;Ljava/io/InputStream;I)V" since="9"/>
+		<method name="setBlob(ILjava/io/InputStream;)V" since="9"/>
+		<method name="setBlob(ILjava/io/InputStream;J)V" since="9"/>
+		<method name="setBlob(ILjava/sql/Blob;)V"/>
+		<method name="setBlob(Ljava/lang/String;Ljava/io/InputStream;)V" since="9"/>
+		<method name="setBlob(Ljava/lang/String;Ljava/io/InputStream;J)V" since="9"/>
+		<method name="setBlob(Ljava/lang/String;Ljava/sql/Blob;)V" since="9"/>
+		<method name="setBoolean(IZ)V"/>
+		<method name="setBoolean(Ljava/lang/String;Z)V" since="9"/>
+		<method name="setByte(IB)V"/>
+		<method name="setByte(Ljava/lang/String;B)V" since="9"/>
+		<method name="setBytes(I[B)V"/>
+		<method name="setBytes(Ljava/lang/String;[B)V" since="9"/>
+		<method name="setCharacterStream(ILjava/io/Reader;)V" since="9"/>
+		<method name="setCharacterStream(ILjava/io/Reader;I)V"/>
+		<method name="setCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="setCharacterStream(Ljava/lang/String;Ljava/io/Reader;I)V" since="9"/>
+		<method name="setClob(ILjava/io/Reader;)V" since="9"/>
+		<method name="setClob(ILjava/io/Reader;J)V" since="9"/>
+		<method name="setClob(ILjava/sql/Clob;)V"/>
+		<method name="setClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="setClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="setClob(Ljava/lang/String;Ljava/sql/Clob;)V" since="9"/>
+		<method name="setCommand(Ljava/lang/String;)V"/>
+		<method name="setConcurrency(I)V"/>
+		<method name="setDataSourceName(Ljava/lang/String;)V"/>
+		<method name="setDate(ILjava/sql/Date;)V"/>
+		<method name="setDate(ILjava/sql/Date;Ljava/util/Calendar;)V"/>
+		<method name="setDate(Ljava/lang/String;Ljava/sql/Date;)V" since="9"/>
+		<method name="setDate(Ljava/lang/String;Ljava/sql/Date;Ljava/util/Calendar;)V" since="9"/>
+		<method name="setDouble(ID)V"/>
+		<method name="setDouble(Ljava/lang/String;D)V" since="9"/>
+		<method name="setEscapeProcessing(Z)V"/>
+		<method name="setFloat(IF)V"/>
+		<method name="setFloat(Ljava/lang/String;F)V" since="9"/>
+		<method name="setInt(II)V"/>
+		<method name="setInt(Ljava/lang/String;I)V" since="9"/>
+		<method name="setLong(IJ)V"/>
+		<method name="setLong(Ljava/lang/String;J)V" since="9"/>
+		<method name="setMaxFieldSize(I)V"/>
+		<method name="setMaxRows(I)V"/>
+		<method name="setNCharacterStream(ILjava/io/Reader;)V" since="9"/>
+		<method name="setNCharacterStream(ILjava/io/Reader;J)V" since="9"/>
+		<method name="setNCharacterStream(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="setNCharacterStream(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="setNClob(ILjava/io/Reader;)V" since="9"/>
+		<method name="setNClob(ILjava/io/Reader;J)V" since="9"/>
+		<method name="setNClob(ILjava/sql/NClob;)V" since="9"/>
+		<method name="setNClob(Ljava/lang/String;Ljava/io/Reader;)V" since="9"/>
+		<method name="setNClob(Ljava/lang/String;Ljava/io/Reader;J)V" since="9"/>
+		<method name="setNClob(Ljava/lang/String;Ljava/sql/NClob;)V" since="9"/>
+		<method name="setNString(ILjava/lang/String;)V" since="9"/>
+		<method name="setNString(Ljava/lang/String;Ljava/lang/String;)V" since="9"/>
+		<method name="setNull(II)V"/>
+		<method name="setNull(IILjava/lang/String;)V"/>
+		<method name="setNull(Ljava/lang/String;I)V" since="9"/>
+		<method name="setNull(Ljava/lang/String;ILjava/lang/String;)V" since="9"/>
+		<method name="setObject(ILjava/lang/Object;)V"/>
+		<method name="setObject(ILjava/lang/Object;I)V"/>
+		<method name="setObject(ILjava/lang/Object;II)V"/>
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;)V" since="9"/>
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;I)V" since="9"/>
+		<method name="setObject(Ljava/lang/String;Ljava/lang/Object;II)V" since="9"/>
+		<method name="setPassword(Ljava/lang/String;)V"/>
+		<method name="setQueryTimeout(I)V"/>
+		<method name="setReadOnly(Z)V"/>
+		<method name="setRef(ILjava/sql/Ref;)V"/>
+		<method name="setRowId(ILjava/sql/RowId;)V" since="9"/>
+		<method name="setRowId(Ljava/lang/String;Ljava/sql/RowId;)V" since="9"/>
+		<method name="setSQLXML(ILjava/sql/SQLXML;)V" since="9"/>
+		<method name="setSQLXML(Ljava/lang/String;Ljava/sql/SQLXML;)V" since="9"/>
+		<method name="setShort(IS)V"/>
+		<method name="setShort(Ljava/lang/String;S)V" since="9"/>
+		<method name="setString(ILjava/lang/String;)V"/>
+		<method name="setString(Ljava/lang/String;Ljava/lang/String;)V" since="9"/>
+		<method name="setTime(ILjava/sql/Time;)V"/>
+		<method name="setTime(ILjava/sql/Time;Ljava/util/Calendar;)V"/>
+		<method name="setTime(Ljava/lang/String;Ljava/sql/Time;)V" since="9"/>
+		<method name="setTime(Ljava/lang/String;Ljava/sql/Time;Ljava/util/Calendar;)V" since="9"/>
+		<method name="setTimestamp(ILjava/sql/Timestamp;)V"/>
+		<method name="setTimestamp(ILjava/sql/Timestamp;Ljava/util/Calendar;)V"/>
+		<method name="setTimestamp(Ljava/lang/String;Ljava/sql/Timestamp;)V" since="9"/>
+		<method name="setTimestamp(Ljava/lang/String;Ljava/sql/Timestamp;Ljava/util/Calendar;)V" since="9"/>
+		<method name="setTransactionIsolation(I)V"/>
+		<method name="setType(I)V"/>
+		<method name="setTypeMap(Ljava/util/Map;)V"/>
+		<method name="setURL(ILjava/net/URL;)V" since="9"/>
+		<method name="setUrl(Ljava/lang/String;)V"/>
+		<method name="setUsername(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/sql/RowSetEvent" since="1">
+		<extends name="java/util/EventObject"/>
+		<method name="&lt;init>(Ljavax/sql/RowSet;)V"/>
+	</class>
+	<class name="javax/sql/RowSetInternal" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getConnection()Ljava/sql/Connection;"/>
+		<method name="getOriginal()Ljava/sql/ResultSet;"/>
+		<method name="getOriginalRow()Ljava/sql/ResultSet;"/>
+		<method name="getParams()[Ljava/lang/Object;"/>
+		<method name="setMetaData(Ljavax/sql/RowSetMetaData;)V"/>
+	</class>
+	<class name="javax/sql/RowSetListener" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/EventListener"/>
+		<method name="cursorMoved(Ljavax/sql/RowSetEvent;)V"/>
+		<method name="rowChanged(Ljavax/sql/RowSetEvent;)V"/>
+		<method name="rowSetChanged(Ljavax/sql/RowSetEvent;)V"/>
+	</class>
+	<class name="javax/sql/RowSetMetaData" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="java/sql/ResultSetMetaData"/>
+		<method name="setAutoIncrement(IZ)V"/>
+		<method name="setCaseSensitive(IZ)V"/>
+		<method name="setCatalogName(ILjava/lang/String;)V"/>
+		<method name="setColumnCount(I)V"/>
+		<method name="setColumnDisplaySize(II)V"/>
+		<method name="setColumnLabel(ILjava/lang/String;)V"/>
+		<method name="setColumnName(ILjava/lang/String;)V"/>
+		<method name="setColumnType(II)V"/>
+		<method name="setColumnTypeName(ILjava/lang/String;)V"/>
+		<method name="setCurrency(IZ)V"/>
+		<method name="setNullable(II)V"/>
+		<method name="setPrecision(II)V"/>
+		<method name="setScale(II)V"/>
+		<method name="setSchemaName(ILjava/lang/String;)V"/>
+		<method name="setSearchable(IZ)V"/>
+		<method name="setSigned(IZ)V"/>
+		<method name="setTableName(ILjava/lang/String;)V"/>
+	</class>
+	<class name="javax/sql/RowSetReader" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="readData(Ljavax/sql/RowSetInternal;)V"/>
+	</class>
+	<class name="javax/sql/RowSetWriter" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="writeData(Ljavax/sql/RowSetInternal;)Z"/>
+	</class>
+	<class name="javax/sql/StatementEvent" since="9">
+		<extends name="java/util/EventObject"/>
+		<method name="&lt;init>(Ljavax/sql/PooledConnection;Ljava/sql/PreparedStatement;)V"/>
+		<method name="&lt;init>(Ljavax/sql/PooledConnection;Ljava/sql/PreparedStatement;Ljava/sql/SQLException;)V"/>
+		<method name="getSQLException()Ljava/sql/SQLException;"/>
+		<method name="getStatement()Ljava/sql/PreparedStatement;"/>
+	</class>
+	<class name="javax/sql/StatementEventListener" since="9">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/EventListener"/>
+		<method name="statementClosed(Ljavax/sql/StatementEvent;)V"/>
+		<method name="statementErrorOccurred(Ljavax/sql/StatementEvent;)V"/>
+	</class>
+	<class name="javax/xml/XMLConstants" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V" removed="8"/>
+		<field name="DEFAULT_NS_PREFIX"/>
+		<field name="FEATURE_SECURE_PROCESSING"/>
+		<field name="NULL_NS_URI"/>
+		<field name="RELAXNG_NS_URI"/>
+		<field name="W3C_XML_SCHEMA_INSTANCE_NS_URI"/>
+		<field name="W3C_XML_SCHEMA_NS_URI"/>
+		<field name="W3C_XPATH_DATATYPE_NS_URI"/>
+		<field name="XMLNS_ATTRIBUTE"/>
+		<field name="XMLNS_ATTRIBUTE_NS_URI"/>
+		<field name="XML_DTD_NS_URI"/>
+		<field name="XML_NS_PREFIX"/>
+		<field name="XML_NS_URI"/>
+	</class>
+	<class name="javax/xml/datatype/DatatypeConfigurationException" since="8">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="javax/xml/datatype/DatatypeConstants" since="8">
+		<extends name="java/lang/Object"/>
+		<field name="APRIL"/>
+		<field name="AUGUST"/>
+		<field name="DATE"/>
+		<field name="DATETIME"/>
+		<field name="DAYS"/>
+		<field name="DECEMBER"/>
+		<field name="DURATION"/>
+		<field name="DURATION_DAYTIME"/>
+		<field name="DURATION_YEARMONTH"/>
+		<field name="EQUAL"/>
+		<field name="FEBRUARY"/>
+		<field name="FIELD_UNDEFINED"/>
+		<field name="GDAY"/>
+		<field name="GMONTH"/>
+		<field name="GMONTHDAY"/>
+		<field name="GREATER"/>
+		<field name="GYEAR"/>
+		<field name="GYEARMONTH"/>
+		<field name="HOURS"/>
+		<field name="INDETERMINATE"/>
+		<field name="JANUARY"/>
+		<field name="JULY"/>
+		<field name="JUNE"/>
+		<field name="LESSER"/>
+		<field name="MARCH"/>
+		<field name="MAX_TIMEZONE_OFFSET"/>
+		<field name="MAY"/>
+		<field name="MINUTES"/>
+		<field name="MIN_TIMEZONE_OFFSET"/>
+		<field name="MONTHS"/>
+		<field name="NOVEMBER"/>
+		<field name="OCTOBER"/>
+		<field name="SECONDS"/>
+		<field name="SEPTEMBER"/>
+		<field name="TIME"/>
+		<field name="YEARS"/>
+	</class>
+	<class name="javax/xml/datatype/DatatypeConstants$Field" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getId()I"/>
+	</class>
+	<class name="javax/xml/datatype/DatatypeFactory" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="newDuration(J)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDuration(Ljava/lang/String;)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDuration(ZIIIIII)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDuration(ZLjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigDecimal;)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDurationDayTime(J)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDurationDayTime(Ljava/lang/String;)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDurationDayTime(ZIIII)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDurationDayTime(ZLjava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDurationYearMonth(J)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDurationYearMonth(Ljava/lang/String;)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDurationYearMonth(ZII)Ljavax/xml/datatype/Duration;"/>
+		<method name="newDurationYearMonth(ZLjava/math/BigInteger;Ljava/math/BigInteger;)Ljavax/xml/datatype/Duration;"/>
+		<method name="newInstance()Ljavax/xml/datatype/DatatypeFactory;"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/datatype/DatatypeFactory;" since="9"/>
+		<method name="newXMLGregorianCalendar()Ljavax/xml/datatype/XMLGregorianCalendar;"/>
+		<method name="newXMLGregorianCalendar(IIIIIIII)Ljavax/xml/datatype/XMLGregorianCalendar;"/>
+		<method name="newXMLGregorianCalendar(Ljava/lang/String;)Ljavax/xml/datatype/XMLGregorianCalendar;"/>
+		<method name="newXMLGregorianCalendar(Ljava/math/BigInteger;IIIIILjava/math/BigDecimal;I)Ljavax/xml/datatype/XMLGregorianCalendar;"/>
+		<method name="newXMLGregorianCalendar(Ljava/util/GregorianCalendar;)Ljavax/xml/datatype/XMLGregorianCalendar;"/>
+		<method name="newXMLGregorianCalendarDate(IIII)Ljavax/xml/datatype/XMLGregorianCalendar;"/>
+		<method name="newXMLGregorianCalendarTime(IIII)Ljavax/xml/datatype/XMLGregorianCalendar;"/>
+		<method name="newXMLGregorianCalendarTime(IIIII)Ljavax/xml/datatype/XMLGregorianCalendar;"/>
+		<method name="newXMLGregorianCalendarTime(IIILjava/math/BigDecimal;I)Ljavax/xml/datatype/XMLGregorianCalendar;"/>
+		<field name="DATATYPEFACTORY_IMPLEMENTATION_CLASS"/>
+		<field name="DATATYPEFACTORY_PROPERTY"/>
+	</class>
+	<class name="javax/xml/datatype/Duration" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="add(Ljavax/xml/datatype/Duration;)Ljavax/xml/datatype/Duration;"/>
+		<method name="addTo(Ljava/util/Calendar;)V"/>
+		<method name="addTo(Ljava/util/Date;)V"/>
+		<method name="compare(Ljavax/xml/datatype/Duration;)I"/>
+		<method name="getDays()I"/>
+		<method name="getField(Ljavax/xml/datatype/DatatypeConstants$Field;)Ljava/lang/Number;"/>
+		<method name="getHours()I"/>
+		<method name="getMinutes()I"/>
+		<method name="getMonths()I"/>
+		<method name="getSeconds()I"/>
+		<method name="getSign()I"/>
+		<method name="getTimeInMillis(Ljava/util/Calendar;)J"/>
+		<method name="getTimeInMillis(Ljava/util/Date;)J"/>
+		<method name="getXMLSchemaType()Ljavax/xml/namespace/QName;"/>
+		<method name="getYears()I"/>
+		<method name="isLongerThan(Ljavax/xml/datatype/Duration;)Z"/>
+		<method name="isSet(Ljavax/xml/datatype/DatatypeConstants$Field;)Z"/>
+		<method name="isShorterThan(Ljavax/xml/datatype/Duration;)Z"/>
+		<method name="multiply(I)Ljavax/xml/datatype/Duration;"/>
+		<method name="multiply(Ljava/math/BigDecimal;)Ljavax/xml/datatype/Duration;"/>
+		<method name="negate()Ljavax/xml/datatype/Duration;"/>
+		<method name="normalizeWith(Ljava/util/Calendar;)Ljavax/xml/datatype/Duration;"/>
+		<method name="subtract(Ljavax/xml/datatype/Duration;)Ljavax/xml/datatype/Duration;"/>
+	</class>
+	<class name="javax/xml/datatype/XMLGregorianCalendar" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="add(Ljavax/xml/datatype/Duration;)V"/>
+		<method name="clear()V"/>
+		<method name="compare(Ljavax/xml/datatype/XMLGregorianCalendar;)I"/>
+		<method name="getDay()I"/>
+		<method name="getEon()Ljava/math/BigInteger;"/>
+		<method name="getEonAndYear()Ljava/math/BigInteger;"/>
+		<method name="getFractionalSecond()Ljava/math/BigDecimal;"/>
+		<method name="getHour()I"/>
+		<method name="getMillisecond()I"/>
+		<method name="getMinute()I"/>
+		<method name="getMonth()I"/>
+		<method name="getSecond()I"/>
+		<method name="getTimeZone(I)Ljava/util/TimeZone;"/>
+		<method name="getTimezone()I"/>
+		<method name="getXMLSchemaType()Ljavax/xml/namespace/QName;"/>
+		<method name="getYear()I"/>
+		<method name="isValid()Z"/>
+		<method name="normalize()Ljavax/xml/datatype/XMLGregorianCalendar;"/>
+		<method name="reset()V"/>
+		<method name="setDay(I)V"/>
+		<method name="setFractionalSecond(Ljava/math/BigDecimal;)V"/>
+		<method name="setHour(I)V"/>
+		<method name="setMillisecond(I)V"/>
+		<method name="setMinute(I)V"/>
+		<method name="setMonth(I)V"/>
+		<method name="setSecond(I)V"/>
+		<method name="setTime(III)V"/>
+		<method name="setTime(IIII)V"/>
+		<method name="setTime(IIILjava/math/BigDecimal;)V"/>
+		<method name="setTimezone(I)V"/>
+		<method name="setYear(I)V"/>
+		<method name="setYear(Ljava/math/BigInteger;)V"/>
+		<method name="toGregorianCalendar()Ljava/util/GregorianCalendar;"/>
+		<method name="toGregorianCalendar(Ljava/util/TimeZone;Ljava/util/Locale;Ljavax/xml/datatype/XMLGregorianCalendar;)Ljava/util/GregorianCalendar;"/>
+		<method name="toXMLFormat()Ljava/lang/String;"/>
+	</class>
+	<class name="javax/xml/namespace/NamespaceContext" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getNamespaceURI(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getPrefix(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getPrefixes(Ljava/lang/String;)Ljava/util/Iterator;"/>
+	</class>
+	<class name="javax/xml/namespace/QName" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getLocalPart()Ljava/lang/String;"/>
+		<method name="getNamespaceURI()Ljava/lang/String;"/>
+		<method name="getPrefix()Ljava/lang/String;"/>
+		<method name="valueOf(Ljava/lang/String;)Ljavax/xml/namespace/QName;"/>
+	</class>
+	<class name="javax/xml/parsers/DocumentBuilder" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getDOMImplementation()Lorg/w3c/dom/DOMImplementation;"/>
+		<method name="getSchema()Ljavax/xml/validation/Schema;" since="8"/>
+		<method name="isNamespaceAware()Z"/>
+		<method name="isValidating()Z"/>
+		<method name="isXIncludeAware()Z"/>
+		<method name="newDocument()Lorg/w3c/dom/Document;"/>
+		<method name="parse(Ljava/io/File;)Lorg/w3c/dom/Document;"/>
+		<method name="parse(Ljava/io/InputStream;)Lorg/w3c/dom/Document;"/>
+		<method name="parse(Ljava/io/InputStream;Ljava/lang/String;)Lorg/w3c/dom/Document;"/>
+		<method name="parse(Ljava/lang/String;)Lorg/w3c/dom/Document;"/>
+		<method name="parse(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;"/>
+		<method name="reset()V"/>
+		<method name="setEntityResolver(Lorg/xml/sax/EntityResolver;)V"/>
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V"/>
+	</class>
+	<class name="javax/xml/parsers/DocumentBuilderFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="getSchema()Ljavax/xml/validation/Schema;" since="8"/>
+		<method name="isCoalescing()Z"/>
+		<method name="isExpandEntityReferences()Z"/>
+		<method name="isIgnoringComments()Z"/>
+		<method name="isIgnoringElementContentWhitespace()Z"/>
+		<method name="isNamespaceAware()Z"/>
+		<method name="isValidating()Z"/>
+		<method name="isXIncludeAware()Z"/>
+		<method name="newDocumentBuilder()Ljavax/xml/parsers/DocumentBuilder;"/>
+		<method name="newInstance()Ljavax/xml/parsers/DocumentBuilderFactory;"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/parsers/DocumentBuilderFactory;" since="9"/>
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="setCoalescing(Z)V"/>
+		<method name="setExpandEntityReferences(Z)V"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setIgnoringComments(Z)V"/>
+		<method name="setIgnoringElementContentWhitespace(Z)V"/>
+		<method name="setNamespaceAware(Z)V"/>
+		<method name="setSchema(Ljavax/xml/validation/Schema;)V" since="8"/>
+		<method name="setValidating(Z)V"/>
+		<method name="setXIncludeAware(Z)V"/>
+	</class>
+	<class name="javax/xml/parsers/FactoryConfigurationError" since="1">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V"/>
+		<method name="&lt;init>(Ljava/lang/Exception;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getException()Ljava/lang/Exception;"/>
+	</class>
+	<class name="javax/xml/parsers/ParserConfigurationException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/xml/parsers/SAXParser" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getParser()Lorg/xml/sax/Parser;"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getSchema()Ljavax/xml/validation/Schema;" since="8"/>
+		<method name="getXMLReader()Lorg/xml/sax/XMLReader;"/>
+		<method name="isNamespaceAware()Z"/>
+		<method name="isValidating()Z"/>
+		<method name="isXIncludeAware()Z"/>
+		<method name="parse(Ljava/io/File;Lorg/xml/sax/HandlerBase;)V"/>
+		<method name="parse(Ljava/io/File;Lorg/xml/sax/helpers/DefaultHandler;)V"/>
+		<method name="parse(Ljava/io/InputStream;Lorg/xml/sax/HandlerBase;)V"/>
+		<method name="parse(Ljava/io/InputStream;Lorg/xml/sax/HandlerBase;Ljava/lang/String;)V"/>
+		<method name="parse(Ljava/io/InputStream;Lorg/xml/sax/helpers/DefaultHandler;)V"/>
+		<method name="parse(Ljava/io/InputStream;Lorg/xml/sax/helpers/DefaultHandler;Ljava/lang/String;)V"/>
+		<method name="parse(Ljava/lang/String;Lorg/xml/sax/HandlerBase;)V"/>
+		<method name="parse(Ljava/lang/String;Lorg/xml/sax/helpers/DefaultHandler;)V"/>
+		<method name="parse(Lorg/xml/sax/InputSource;Lorg/xml/sax/HandlerBase;)V"/>
+		<method name="parse(Lorg/xml/sax/InputSource;Lorg/xml/sax/helpers/DefaultHandler;)V"/>
+		<method name="reset()V"/>
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V"/>
+	</class>
+	<class name="javax/xml/parsers/SAXParserFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="getSchema()Ljavax/xml/validation/Schema;" since="8"/>
+		<method name="isNamespaceAware()Z"/>
+		<method name="isValidating()Z"/>
+		<method name="isXIncludeAware()Z"/>
+		<method name="newInstance()Ljavax/xml/parsers/SAXParserFactory;"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/parsers/SAXParserFactory;" since="9"/>
+		<method name="newSAXParser()Ljavax/xml/parsers/SAXParser;"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setNamespaceAware(Z)V"/>
+		<method name="setSchema(Ljavax/xml/validation/Schema;)V" since="8"/>
+		<method name="setValidating(Z)V"/>
+		<method name="setXIncludeAware(Z)V"/>
+	</class>
+	<class name="javax/xml/transform/ErrorListener" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="error(Ljavax/xml/transform/TransformerException;)V"/>
+		<method name="fatalError(Ljavax/xml/transform/TransformerException;)V"/>
+		<method name="warning(Ljavax/xml/transform/TransformerException;)V"/>
+	</class>
+	<class name="javax/xml/transform/OutputKeys" since="8">
+		<extends name="java/lang/Object"/>
+		<field name="CDATA_SECTION_ELEMENTS"/>
+		<field name="DOCTYPE_PUBLIC"/>
+		<field name="DOCTYPE_SYSTEM"/>
+		<field name="ENCODING"/>
+		<field name="INDENT"/>
+		<field name="MEDIA_TYPE"/>
+		<field name="METHOD"/>
+		<field name="OMIT_XML_DECLARATION"/>
+		<field name="STANDALONE"/>
+		<field name="VERSION"/>
+	</class>
+	<class name="javax/xml/transform/Result" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+		<method name="setSystemId(Ljava/lang/String;)V"/>
+		<field name="PI_DISABLE_OUTPUT_ESCAPING"/>
+		<field name="PI_ENABLE_OUTPUT_ESCAPING"/>
+	</class>
+	<class name="javax/xml/transform/Source" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+		<method name="setSystemId(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/xml/transform/SourceLocator" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getColumnNumber()I"/>
+		<method name="getLineNumber()I"/>
+		<method name="getPublicId()Ljava/lang/String;"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+	</class>
+	<class name="javax/xml/transform/Templates" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getOutputProperties()Ljava/util/Properties;"/>
+		<method name="newTransformer()Ljavax/xml/transform/Transformer;"/>
+	</class>
+	<class name="javax/xml/transform/Transformer" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="clearParameters()V"/>
+		<method name="getErrorListener()Ljavax/xml/transform/ErrorListener;"/>
+		<method name="getOutputProperties()Ljava/util/Properties;"/>
+		<method name="getOutputProperty(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getParameter(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getURIResolver()Ljavax/xml/transform/URIResolver;"/>
+		<method name="reset()V"/>
+		<method name="setErrorListener(Ljavax/xml/transform/ErrorListener;)V"/>
+		<method name="setOutputProperties(Ljava/util/Properties;)V"/>
+		<method name="setOutputProperty(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="setURIResolver(Ljavax/xml/transform/URIResolver;)V"/>
+		<method name="transform(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V"/>
+	</class>
+	<class name="javax/xml/transform/TransformerConfigurationException" since="8">
+		<extends name="javax/xml/transform/TransformerException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljavax/xml/transform/SourceLocator;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljavax/xml/transform/SourceLocator;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="javax/xml/transform/TransformerException" since="8">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljavax/xml/transform/SourceLocator;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljavax/xml/transform/SourceLocator;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+		<method name="getException()Ljava/lang/Throwable;"/>
+		<method name="getLocationAsString()Ljava/lang/String;"/>
+		<method name="getLocator()Ljavax/xml/transform/SourceLocator;"/>
+		<method name="getMessageAndLocation()Ljava/lang/String;"/>
+		<method name="setLocator(Ljavax/xml/transform/SourceLocator;)V"/>
+	</class>
+	<class name="javax/xml/transform/TransformerFactory" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAssociatedStylesheet(Ljavax/xml/transform/Source;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljavax/xml/transform/Source;"/>
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getErrorListener()Ljavax/xml/transform/ErrorListener;"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="getURIResolver()Ljavax/xml/transform/URIResolver;"/>
+		<method name="newInstance()Ljavax/xml/transform/TransformerFactory;"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/transform/TransformerFactory;" since="9"/>
+		<method name="newTemplates(Ljavax/xml/transform/Source;)Ljavax/xml/transform/Templates;"/>
+		<method name="newTransformer()Ljavax/xml/transform/Transformer;"/>
+		<method name="newTransformer(Ljavax/xml/transform/Source;)Ljavax/xml/transform/Transformer;"/>
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="setErrorListener(Ljavax/xml/transform/ErrorListener;)V"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setURIResolver(Ljavax/xml/transform/URIResolver;)V"/>
+	</class>
+	<class name="javax/xml/transform/TransformerFactoryConfigurationError" since="8">
+		<extends name="java/lang/Error"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V"/>
+		<method name="&lt;init>(Ljava/lang/Exception;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getException()Ljava/lang/Exception;"/>
+	</class>
+	<class name="javax/xml/transform/URIResolver" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="resolve(Ljava/lang/String;Ljava/lang/String;)Ljavax/xml/transform/Source;"/>
+	</class>
+	<class name="javax/xml/transform/dom/DOMLocator" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/xml/transform/SourceLocator"/>
+		<method name="getOriginatingNode()Lorg/w3c/dom/Node;"/>
+	</class>
+	<class name="javax/xml/transform/dom/DOMResult" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/xml/transform/Result"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/w3c/dom/Node;)V"/>
+		<method name="&lt;init>(Lorg/w3c/dom/Node;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)V"/>
+		<method name="&lt;init>(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;)V"/>
+		<method name="getNextSibling()Lorg/w3c/dom/Node;"/>
+		<method name="getNode()Lorg/w3c/dom/Node;"/>
+		<method name="setNextSibling(Lorg/w3c/dom/Node;)V"/>
+		<method name="setNode(Lorg/w3c/dom/Node;)V"/>
+		<field name="FEATURE"/>
+	</class>
+	<class name="javax/xml/transform/dom/DOMSource" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/xml/transform/Source"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/w3c/dom/Node;)V"/>
+		<method name="&lt;init>(Lorg/w3c/dom/Node;Ljava/lang/String;)V"/>
+		<method name="getNode()Lorg/w3c/dom/Node;"/>
+		<method name="setNode(Lorg/w3c/dom/Node;)V"/>
+		<field name="FEATURE"/>
+	</class>
+	<class name="javax/xml/transform/sax/SAXResult" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/xml/transform/Result"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/xml/sax/ContentHandler;)V"/>
+		<method name="getHandler()Lorg/xml/sax/ContentHandler;"/>
+		<method name="getLexicalHandler()Lorg/xml/sax/ext/LexicalHandler;"/>
+		<method name="setHandler(Lorg/xml/sax/ContentHandler;)V"/>
+		<method name="setLexicalHandler(Lorg/xml/sax/ext/LexicalHandler;)V"/>
+		<field name="FEATURE"/>
+	</class>
+	<class name="javax/xml/transform/sax/SAXSource" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/xml/transform/Source"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/xml/sax/InputSource;)V"/>
+		<method name="&lt;init>(Lorg/xml/sax/XMLReader;Lorg/xml/sax/InputSource;)V"/>
+		<method name="getInputSource()Lorg/xml/sax/InputSource;"/>
+		<method name="getXMLReader()Lorg/xml/sax/XMLReader;"/>
+		<method name="setInputSource(Lorg/xml/sax/InputSource;)V"/>
+		<method name="setXMLReader(Lorg/xml/sax/XMLReader;)V"/>
+		<method name="sourceToInputSource(Ljavax/xml/transform/Source;)Lorg/xml/sax/InputSource;"/>
+		<field name="FEATURE"/>
+	</class>
+	<class name="javax/xml/transform/sax/SAXTransformerFactory" since="8">
+		<extends name="javax/xml/transform/TransformerFactory"/>
+		<method name="&lt;init>()V"/>
+		<method name="newTemplatesHandler()Ljavax/xml/transform/sax/TemplatesHandler;"/>
+		<method name="newTransformerHandler()Ljavax/xml/transform/sax/TransformerHandler;"/>
+		<method name="newTransformerHandler(Ljavax/xml/transform/Source;)Ljavax/xml/transform/sax/TransformerHandler;"/>
+		<method name="newTransformerHandler(Ljavax/xml/transform/Templates;)Ljavax/xml/transform/sax/TransformerHandler;"/>
+		<method name="newXMLFilter(Ljavax/xml/transform/Source;)Lorg/xml/sax/XMLFilter;"/>
+		<method name="newXMLFilter(Ljavax/xml/transform/Templates;)Lorg/xml/sax/XMLFilter;"/>
+		<field name="FEATURE"/>
+		<field name="FEATURE_XMLFILTER"/>
+	</class>
+	<class name="javax/xml/transform/sax/TemplatesHandler" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/ContentHandler"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+		<method name="getTemplates()Ljavax/xml/transform/Templates;"/>
+		<method name="setSystemId(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/xml/transform/sax/TransformerHandler" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/ContentHandler"/>
+		<implements name="org/xml/sax/DTDHandler"/>
+		<implements name="org/xml/sax/ext/LexicalHandler"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+		<method name="getTransformer()Ljavax/xml/transform/Transformer;"/>
+		<method name="setResult(Ljavax/xml/transform/Result;)V"/>
+		<method name="setSystemId(Ljava/lang/String;)V"/>
+	</class>
+	<class name="javax/xml/transform/stream/StreamResult" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/xml/transform/Result"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/OutputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/Writer;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getOutputStream()Ljava/io/OutputStream;"/>
+		<method name="getWriter()Ljava/io/Writer;"/>
+		<method name="setOutputStream(Ljava/io/OutputStream;)V"/>
+		<method name="setSystemId(Ljava/io/File;)V"/>
+		<method name="setWriter(Ljava/io/Writer;)V"/>
+		<field name="FEATURE"/>
+	</class>
+	<class name="javax/xml/transform/stream/StreamSource" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/xml/transform/Source"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/io/File;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/io/Reader;)V"/>
+		<method name="&lt;init>(Ljava/io/Reader;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getInputStream()Ljava/io/InputStream;"/>
+		<method name="getPublicId()Ljava/lang/String;"/>
+		<method name="getReader()Ljava/io/Reader;"/>
+		<method name="setInputStream(Ljava/io/InputStream;)V"/>
+		<method name="setPublicId(Ljava/lang/String;)V"/>
+		<method name="setReader(Ljava/io/Reader;)V"/>
+		<method name="setSystemId(Ljava/io/File;)V"/>
+		<field name="FEATURE"/>
+	</class>
+	<class name="javax/xml/validation/Schema" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="newValidator()Ljavax/xml/validation/Validator;"/>
+		<method name="newValidatorHandler()Ljavax/xml/validation/ValidatorHandler;"/>
+	</class>
+	<class name="javax/xml/validation/SchemaFactory" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getErrorHandler()Lorg/xml/sax/ErrorHandler;"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getResourceResolver()Lorg/w3c/dom/ls/LSResourceResolver;"/>
+		<method name="isSchemaLanguageSupported(Ljava/lang/String;)Z"/>
+		<method name="newInstance(Ljava/lang/String;)Ljavax/xml/validation/SchemaFactory;"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/validation/SchemaFactory;" since="9"/>
+		<method name="newSchema()Ljavax/xml/validation/Schema;"/>
+		<method name="newSchema(Ljava/io/File;)Ljavax/xml/validation/Schema;"/>
+		<method name="newSchema(Ljava/net/URL;)Ljavax/xml/validation/Schema;"/>
+		<method name="newSchema(Ljavax/xml/transform/Source;)Ljavax/xml/validation/Schema;"/>
+		<method name="newSchema([Ljavax/xml/transform/Source;)Ljavax/xml/validation/Schema;"/>
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="setResourceResolver(Lorg/w3c/dom/ls/LSResourceResolver;)V"/>
+	</class>
+	<class name="javax/xml/validation/SchemaFactoryLoader" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="newFactory(Ljava/lang/String;)Ljavax/xml/validation/SchemaFactory;"/>
+	</class>
+	<class name="javax/xml/validation/TypeInfoProvider" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAttributeTypeInfo(I)Lorg/w3c/dom/TypeInfo;"/>
+		<method name="getElementTypeInfo()Lorg/w3c/dom/TypeInfo;"/>
+		<method name="isIdAttribute(I)Z"/>
+		<method name="isSpecified(I)Z"/>
+	</class>
+	<class name="javax/xml/validation/Validator" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getErrorHandler()Lorg/xml/sax/ErrorHandler;"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getResourceResolver()Lorg/w3c/dom/ls/LSResourceResolver;"/>
+		<method name="reset()V"/>
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="setResourceResolver(Lorg/w3c/dom/ls/LSResourceResolver;)V"/>
+		<method name="validate(Ljavax/xml/transform/Source;)V"/>
+		<method name="validate(Ljavax/xml/transform/Source;Ljavax/xml/transform/Result;)V"/>
+	</class>
+	<class name="javax/xml/validation/ValidatorHandler" since="8">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/ContentHandler"/>
+		<method name="&lt;init>()V"/>
+		<method name="getContentHandler()Lorg/xml/sax/ContentHandler;"/>
+		<method name="getErrorHandler()Lorg/xml/sax/ErrorHandler;"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getResourceResolver()Lorg/w3c/dom/ls/LSResourceResolver;"/>
+		<method name="getTypeInfoProvider()Ljavax/xml/validation/TypeInfoProvider;"/>
+		<method name="setContentHandler(Lorg/xml/sax/ContentHandler;)V"/>
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="setResourceResolver(Lorg/w3c/dom/ls/LSResourceResolver;)V"/>
+	</class>
+	<class name="javax/xml/xpath/XPath" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="compile(Ljava/lang/String;)Ljavax/xml/xpath/XPathExpression;"/>
+		<method name="evaluate(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="evaluate(Ljava/lang/String;Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object;"/>
+		<method name="evaluate(Ljava/lang/String;Lorg/xml/sax/InputSource;)Ljava/lang/String;"/>
+		<method name="evaluate(Ljava/lang/String;Lorg/xml/sax/InputSource;Ljavax/xml/namespace/QName;)Ljava/lang/Object;"/>
+		<method name="getNamespaceContext()Ljavax/xml/namespace/NamespaceContext;"/>
+		<method name="getXPathFunctionResolver()Ljavax/xml/xpath/XPathFunctionResolver;"/>
+		<method name="getXPathVariableResolver()Ljavax/xml/xpath/XPathVariableResolver;"/>
+		<method name="reset()V"/>
+		<method name="setNamespaceContext(Ljavax/xml/namespace/NamespaceContext;)V"/>
+		<method name="setXPathFunctionResolver(Ljavax/xml/xpath/XPathFunctionResolver;)V"/>
+		<method name="setXPathVariableResolver(Ljavax/xml/xpath/XPathVariableResolver;)V"/>
+	</class>
+	<class name="javax/xml/xpath/XPathConstants" since="8">
+		<extends name="java/lang/Object"/>
+		<field name="BOOLEAN"/>
+		<field name="DOM_OBJECT_MODEL"/>
+		<field name="NODE"/>
+		<field name="NODESET"/>
+		<field name="NUMBER"/>
+		<field name="STRING"/>
+	</class>
+	<class name="javax/xml/xpath/XPathException" since="8">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="javax/xml/xpath/XPathExpression" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="evaluate(Ljava/lang/Object;)Ljava/lang/String;"/>
+		<method name="evaluate(Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object;"/>
+		<method name="evaluate(Lorg/xml/sax/InputSource;)Ljava/lang/String;"/>
+		<method name="evaluate(Lorg/xml/sax/InputSource;Ljavax/xml/namespace/QName;)Ljava/lang/Object;"/>
+	</class>
+	<class name="javax/xml/xpath/XPathExpressionException" since="8">
+		<extends name="javax/xml/xpath/XPathException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="javax/xml/xpath/XPathFactory" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="isObjectModelSupported(Ljava/lang/String;)Z"/>
+		<method name="newInstance()Ljavax/xml/xpath/XPathFactory;"/>
+		<method name="newInstance(Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/xpath/XPathFactory;"/>
+		<method name="newXPath()Ljavax/xml/xpath/XPath;"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setXPathFunctionResolver(Ljavax/xml/xpath/XPathFunctionResolver;)V"/>
+		<method name="setXPathVariableResolver(Ljavax/xml/xpath/XPathVariableResolver;)V"/>
+		<field name="DEFAULT_OBJECT_MODEL_URI"/>
+		<field name="DEFAULT_PROPERTY_NAME"/>
+	</class>
+	<class name="javax/xml/xpath/XPathFactoryConfigurationException" since="8">
+		<extends name="javax/xml/xpath/XPathException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="javax/xml/xpath/XPathFunction" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="evaluate(Ljava/util/List;)Ljava/lang/Object;"/>
+	</class>
+	<class name="javax/xml/xpath/XPathFunctionException" since="8">
+		<extends name="javax/xml/xpath/XPathExpressionException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="javax/xml/xpath/XPathFunctionResolver" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="resolveFunction(Ljavax/xml/namespace/QName;I)Ljavax/xml/xpath/XPathFunction;"/>
+	</class>
+	<class name="javax/xml/xpath/XPathVariableResolver" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="resolveVariable(Ljavax/xml/namespace/QName;)Ljava/lang/Object;"/>
+	</class>
+	<class name="junit/framework/Assert" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="assertEquals(BB)V"/>
+		<method name="assertEquals(CC)V"/>
+		<method name="assertEquals(DDD)V"/>
+		<method name="assertEquals(FFF)V"/>
+		<method name="assertEquals(II)V"/>
+		<method name="assertEquals(JJ)V"/>
+		<method name="assertEquals(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="assertEquals(Ljava/lang/String;BB)V"/>
+		<method name="assertEquals(Ljava/lang/String;CC)V"/>
+		<method name="assertEquals(Ljava/lang/String;DDD)V"/>
+		<method name="assertEquals(Ljava/lang/String;FFF)V"/>
+		<method name="assertEquals(Ljava/lang/String;II)V"/>
+		<method name="assertEquals(Ljava/lang/String;JJ)V"/>
+		<method name="assertEquals(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="assertEquals(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="assertEquals(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="assertEquals(Ljava/lang/String;SS)V"/>
+		<method name="assertEquals(Ljava/lang/String;ZZ)V"/>
+		<method name="assertEquals(SS)V"/>
+		<method name="assertEquals(ZZ)V"/>
+		<method name="assertFalse(Ljava/lang/String;Z)V"/>
+		<method name="assertFalse(Z)V"/>
+		<method name="assertNotNull(Ljava/lang/Object;)V"/>
+		<method name="assertNotNull(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="assertNotSame(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="assertNotSame(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="assertNull(Ljava/lang/Object;)V"/>
+		<method name="assertNull(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="assertSame(Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="assertSame(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V"/>
+		<method name="assertTrue(Ljava/lang/String;Z)V"/>
+		<method name="assertTrue(Z)V"/>
+		<method name="fail()V"/>
+		<method name="fail(Ljava/lang/String;)V"/>
+		<method name="failNotEquals(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" since="16"/>
+		<method name="failNotSame(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" since="16"/>
+		<method name="failSame(Ljava/lang/String;)V" since="16"/>
+		<method name="format(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;" since="16"/>
+	</class>
+	<class name="junit/framework/AssertionFailedError" since="1">
+		<extends name="java/lang/AssertionError" since="16"/>
+		<extends name="java/lang/Error" removed="16"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="junit/framework/ComparisonFailure" since="1">
+		<extends name="junit/framework/AssertionFailedError"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getActual()Ljava/lang/String;" since="16"/>
+		<method name="getExpected()Ljava/lang/String;" since="16"/>
+	</class>
+	<class name="junit/framework/Protectable" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="protect()V"/>
+	</class>
+	<class name="junit/framework/Test" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="countTestCases()I"/>
+		<method name="run(Ljunit/framework/TestResult;)V"/>
+	</class>
+	<class name="junit/framework/TestCase" since="1">
+		<extends name="junit/framework/Assert"/>
+		<implements name="junit/framework/Test"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="createResult()Ljunit/framework/TestResult;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="run()Ljunit/framework/TestResult;"/>
+		<method name="runBare()V"/>
+		<method name="runTest()V"/>
+		<method name="setName(Ljava/lang/String;)V"/>
+		<method name="setUp()V"/>
+		<method name="tearDown()V"/>
+	</class>
+	<class name="junit/framework/TestFailure" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljunit/framework/Test;Ljava/lang/Throwable;)V"/>
+		<method name="exceptionMessage()Ljava/lang/String;"/>
+		<method name="failedTest()Ljunit/framework/Test;"/>
+		<method name="isFailure()Z"/>
+		<method name="thrownException()Ljava/lang/Throwable;"/>
+		<method name="trace()Ljava/lang/String;"/>
+		<field name="fFailedTest"/>
+		<field name="fThrownException"/>
+	</class>
+	<class name="junit/framework/TestListener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="addError(Ljunit/framework/Test;Ljava/lang/Throwable;)V"/>
+		<method name="addFailure(Ljunit/framework/Test;Ljunit/framework/AssertionFailedError;)V"/>
+		<method name="endTest(Ljunit/framework/Test;)V"/>
+		<method name="startTest(Ljunit/framework/Test;)V"/>
+	</class>
+	<class name="junit/framework/TestResult" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="addError(Ljunit/framework/Test;Ljava/lang/Throwable;)V"/>
+		<method name="addFailure(Ljunit/framework/Test;Ljunit/framework/AssertionFailedError;)V"/>
+		<method name="addListener(Ljunit/framework/TestListener;)V"/>
+		<method name="endTest(Ljunit/framework/Test;)V"/>
+		<method name="errorCount()I"/>
+		<method name="errors()Ljava/util/Enumeration;"/>
+		<method name="failureCount()I"/>
+		<method name="failures()Ljava/util/Enumeration;"/>
+		<method name="removeListener(Ljunit/framework/TestListener;)V"/>
+		<method name="run(Ljunit/framework/TestCase;)V"/>
+		<method name="runCount()I"/>
+		<method name="runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V"/>
+		<method name="shouldStop()Z"/>
+		<method name="startTest(Ljunit/framework/Test;)V"/>
+		<method name="stop()V"/>
+		<method name="wasSuccessful()Z"/>
+		<field name="fErrors"/>
+		<field name="fFailures"/>
+		<field name="fListeners"/>
+		<field name="fRunTests"/>
+	</class>
+	<class name="junit/framework/TestSuite" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="junit/framework/Test"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Class;)V"/>
+		<method name="&lt;init>(Ljava/lang/Class;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>([Ljava/lang/Class;)V" since="16"/>
+		<method name="&lt;init>([Ljava/lang/Class;Ljava/lang/String;)V" since="16"/>
+		<method name="addTest(Ljunit/framework/Test;)V"/>
+		<method name="addTestSuite(Ljava/lang/Class;)V"/>
+		<method name="createTest(Ljava/lang/Class;Ljava/lang/String;)Ljunit/framework/Test;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getTestConstructor(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;"/>
+		<method name="runTest(Ljunit/framework/Test;Ljunit/framework/TestResult;)V"/>
+		<method name="setName(Ljava/lang/String;)V"/>
+		<method name="testAt(I)Ljunit/framework/Test;"/>
+		<method name="testCount()I"/>
+		<method name="tests()Ljava/util/Enumeration;"/>
+		<method name="warning(Ljava/lang/String;)Ljunit/framework/Test;" since="16"/>
+	</class>
+	<class name="junit/runner/BaseTestRunner" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="junit/framework/TestListener"/>
+		<method name="&lt;init>()V"/>
+		<method name="clearStatus()V"/>
+		<method name="elapsedTimeAsString(J)Ljava/lang/String;"/>
+		<method name="extractClassName(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getFilteredTrace(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getFilteredTrace(Ljava/lang/Throwable;)Ljava/lang/String;"/>
+		<method name="getLoader()Ljunit/runner/TestSuiteLoader;" deprecated="16"/>
+		<method name="getPreference(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getPreference(Ljava/lang/String;I)I"/>
+		<method name="getPreferences()Ljava/util/Properties;"/>
+		<method name="getTest(Ljava/lang/String;)Ljunit/framework/Test;"/>
+		<method name="inVAJava()Z" deprecated="16"/>
+		<method name="loadSuiteClass(Ljava/lang/String;)Ljava/lang/Class;"/>
+		<method name="processArguments([Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="runFailed(Ljava/lang/String;)V"/>
+		<method name="savePreferences()V"/>
+		<method name="setLoading(Z)V"/>
+		<method name="setPreference(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setPreferences(Ljava/util/Properties;)V"/>
+		<method name="showStackRaw()Z"/>
+		<method name="testEnded(Ljava/lang/String;)V"/>
+		<method name="testFailed(ILjunit/framework/Test;Ljava/lang/Throwable;)V"/>
+		<method name="testStarted(Ljava/lang/String;)V"/>
+		<method name="truncate(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="useReloadingTestSuiteLoader()Z"/>
+		<field name="SUITE_METHODNAME"/>
+	</class>
+	<class name="junit/runner/TestSuiteLoader" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="load(Ljava/lang/String;)Ljava/lang/Class;"/>
+		<method name="reload(Ljava/lang/Class;)Ljava/lang/Class;"/>
+	</class>
+	<class name="junit/runner/Version" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="id()Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/commons/logging/Log" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="debug(Ljava/lang/Object;)V"/>
+		<method name="debug(Ljava/lang/Object;Ljava/lang/Throwable;)V"/>
+		<method name="error(Ljava/lang/Object;)V"/>
+		<method name="error(Ljava/lang/Object;Ljava/lang/Throwable;)V"/>
+		<method name="fatal(Ljava/lang/Object;)V"/>
+		<method name="fatal(Ljava/lang/Object;Ljava/lang/Throwable;)V"/>
+		<method name="info(Ljava/lang/Object;)V"/>
+		<method name="info(Ljava/lang/Object;Ljava/lang/Throwable;)V"/>
+		<method name="isDebugEnabled()Z"/>
+		<method name="isErrorEnabled()Z"/>
+		<method name="isFatalEnabled()Z"/>
+		<method name="isInfoEnabled()Z"/>
+		<method name="isTraceEnabled()Z"/>
+		<method name="isWarnEnabled()Z"/>
+		<method name="trace(Ljava/lang/Object;)V"/>
+		<method name="trace(Ljava/lang/Object;Ljava/lang/Throwable;)V"/>
+		<method name="warn(Ljava/lang/Object;)V"/>
+		<method name="warn(Ljava/lang/Object;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/ConnectionClosedException" since="1" deprecated="22" removed="23">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/ConnectionReuseStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="keepAlive(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z"/>
+	</class>
+	<class name="org/apache/http/FormattedHeader" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/Header"/>
+		<method name="getBuffer()Lorg/apache/http/util/CharArrayBuffer;"/>
+		<method name="getValuePos()I"/>
+	</class>
+	<class name="org/apache/http/Header" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getElements()[Lorg/apache/http/HeaderElement;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getValue()Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/HeaderElement" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getParameter(I)Lorg/apache/http/NameValuePair;"/>
+		<method name="getParameterByName(Ljava/lang/String;)Lorg/apache/http/NameValuePair;"/>
+		<method name="getParameterCount()I"/>
+		<method name="getParameters()[Lorg/apache/http/NameValuePair;"/>
+		<method name="getValue()Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/HeaderElementIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Iterator"/>
+		<method name="nextElement()Lorg/apache/http/HeaderElement;"/>
+	</class>
+	<class name="org/apache/http/HeaderIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Iterator"/>
+		<method name="nextHeader()Lorg/apache/http/Header;"/>
+	</class>
+	<class name="org/apache/http/HttpClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpConnection"/>
+		<method name="flush()V"/>
+		<method name="isResponseAvailable(I)Z"/>
+		<method name="receiveResponseEntity(Lorg/apache/http/HttpResponse;)V"/>
+		<method name="receiveResponseHeader()Lorg/apache/http/HttpResponse;"/>
+		<method name="sendRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V"/>
+		<method name="sendRequestHeader(Lorg/apache/http/HttpRequest;)V"/>
+	</class>
+	<class name="org/apache/http/HttpConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="close()V"/>
+		<method name="getMetrics()Lorg/apache/http/HttpConnectionMetrics;"/>
+		<method name="getSocketTimeout()I"/>
+		<method name="isOpen()Z"/>
+		<method name="isStale()Z"/>
+		<method name="setSocketTimeout(I)V"/>
+		<method name="shutdown()V"/>
+	</class>
+	<class name="org/apache/http/HttpConnectionMetrics" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getMetric(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getReceivedBytesCount()J"/>
+		<method name="getRequestCount()J"/>
+		<method name="getResponseCount()J"/>
+		<method name="getSentBytesCount()J"/>
+		<method name="reset()V"/>
+	</class>
+	<class name="org/apache/http/HttpEntity" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="consumeContent()V"/>
+		<method name="getContent()Ljava/io/InputStream;"/>
+		<method name="getContentEncoding()Lorg/apache/http/Header;"/>
+		<method name="getContentLength()J"/>
+		<method name="getContentType()Lorg/apache/http/Header;"/>
+		<method name="isChunked()Z"/>
+		<method name="isRepeatable()Z"/>
+		<method name="isStreaming()Z"/>
+		<method name="writeTo(Ljava/io/OutputStream;)V"/>
+	</class>
+	<class name="org/apache/http/HttpEntityEnclosingRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequest"/>
+		<method name="expectContinue()Z"/>
+		<method name="getEntity()Lorg/apache/http/HttpEntity;"/>
+		<method name="setEntity(Lorg/apache/http/HttpEntity;)V"/>
+	</class>
+	<class name="org/apache/http/HttpException" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/HttpHost" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpHost;)V"/>
+		<method name="getHostName()Ljava/lang/String;"/>
+		<method name="getPort()I"/>
+		<method name="getSchemeName()Ljava/lang/String;"/>
+		<method name="toHostString()Ljava/lang/String;"/>
+		<method name="toURI()Ljava/lang/String;"/>
+		<field name="DEFAULT_SCHEME_NAME"/>
+		<field name="hostname"/>
+		<field name="lcHostname"/>
+		<field name="port"/>
+		<field name="schemeName"/>
+	</class>
+	<class name="org/apache/http/HttpInetConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpConnection"/>
+		<method name="getLocalAddress()Ljava/net/InetAddress;"/>
+		<method name="getLocalPort()I"/>
+		<method name="getRemoteAddress()Ljava/net/InetAddress;"/>
+		<method name="getRemotePort()I"/>
+	</class>
+	<class name="org/apache/http/HttpMessage" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="addHeader(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="addHeader(Lorg/apache/http/Header;)V"/>
+		<method name="containsHeader(Ljava/lang/String;)Z"/>
+		<method name="getAllHeaders()[Lorg/apache/http/Header;"/>
+		<method name="getFirstHeader(Ljava/lang/String;)Lorg/apache/http/Header;"/>
+		<method name="getHeaders(Ljava/lang/String;)[Lorg/apache/http/Header;"/>
+		<method name="getLastHeader(Ljava/lang/String;)Lorg/apache/http/Header;"/>
+		<method name="getParams()Lorg/apache/http/params/HttpParams;"/>
+		<method name="getProtocolVersion()Lorg/apache/http/ProtocolVersion;"/>
+		<method name="headerIterator()Lorg/apache/http/HeaderIterator;"/>
+		<method name="headerIterator(Ljava/lang/String;)Lorg/apache/http/HeaderIterator;"/>
+		<method name="removeHeader(Lorg/apache/http/Header;)V"/>
+		<method name="removeHeaders(Ljava/lang/String;)V"/>
+		<method name="setHeader(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setHeader(Lorg/apache/http/Header;)V"/>
+		<method name="setHeaders([Lorg/apache/http/Header;)V"/>
+		<method name="setParams(Lorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/HttpRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpMessage"/>
+		<method name="getRequestLine()Lorg/apache/http/RequestLine;"/>
+	</class>
+	<class name="org/apache/http/HttpRequestFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="newHttpRequest(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/http/HttpRequest;"/>
+		<method name="newHttpRequest(Lorg/apache/http/RequestLine;)Lorg/apache/http/HttpRequest;"/>
+	</class>
+	<class name="org/apache/http/HttpRequestInterceptor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="process(Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)V"/>
+	</class>
+	<class name="org/apache/http/HttpResponse" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpMessage"/>
+		<method name="getEntity()Lorg/apache/http/HttpEntity;"/>
+		<method name="getLocale()Ljava/util/Locale;"/>
+		<method name="getStatusLine()Lorg/apache/http/StatusLine;"/>
+		<method name="setEntity(Lorg/apache/http/HttpEntity;)V"/>
+		<method name="setLocale(Ljava/util/Locale;)V"/>
+		<method name="setReasonPhrase(Ljava/lang/String;)V"/>
+		<method name="setStatusCode(I)V"/>
+		<method name="setStatusLine(Lorg/apache/http/ProtocolVersion;I)V"/>
+		<method name="setStatusLine(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)V"/>
+		<method name="setStatusLine(Lorg/apache/http/StatusLine;)V"/>
+	</class>
+	<class name="org/apache/http/HttpResponseFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="newHttpResponse(Lorg/apache/http/ProtocolVersion;ILorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;"/>
+		<method name="newHttpResponse(Lorg/apache/http/StatusLine;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;"/>
+	</class>
+	<class name="org/apache/http/HttpResponseInterceptor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="process(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)V"/>
+	</class>
+	<class name="org/apache/http/HttpServerConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpConnection"/>
+		<method name="flush()V"/>
+		<method name="receiveRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V"/>
+		<method name="receiveRequestHeader()Lorg/apache/http/HttpRequest;"/>
+		<method name="sendResponseEntity(Lorg/apache/http/HttpResponse;)V"/>
+		<method name="sendResponseHeader(Lorg/apache/http/HttpResponse;)V"/>
+	</class>
+	<class name="org/apache/http/HttpStatus" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="SC_ACCEPTED"/>
+		<field name="SC_BAD_GATEWAY"/>
+		<field name="SC_BAD_REQUEST"/>
+		<field name="SC_CONFLICT"/>
+		<field name="SC_CONTINUE"/>
+		<field name="SC_CREATED"/>
+		<field name="SC_EXPECTATION_FAILED"/>
+		<field name="SC_FAILED_DEPENDENCY"/>
+		<field name="SC_FORBIDDEN"/>
+		<field name="SC_GATEWAY_TIMEOUT"/>
+		<field name="SC_GONE"/>
+		<field name="SC_HTTP_VERSION_NOT_SUPPORTED"/>
+		<field name="SC_INSUFFICIENT_SPACE_ON_RESOURCE"/>
+		<field name="SC_INSUFFICIENT_STORAGE"/>
+		<field name="SC_INTERNAL_SERVER_ERROR"/>
+		<field name="SC_LENGTH_REQUIRED"/>
+		<field name="SC_LOCKED"/>
+		<field name="SC_METHOD_FAILURE"/>
+		<field name="SC_METHOD_NOT_ALLOWED"/>
+		<field name="SC_MOVED_PERMANENTLY"/>
+		<field name="SC_MOVED_TEMPORARILY"/>
+		<field name="SC_MULTIPLE_CHOICES"/>
+		<field name="SC_MULTI_STATUS"/>
+		<field name="SC_NON_AUTHORITATIVE_INFORMATION"/>
+		<field name="SC_NOT_ACCEPTABLE"/>
+		<field name="SC_NOT_FOUND"/>
+		<field name="SC_NOT_IMPLEMENTED"/>
+		<field name="SC_NOT_MODIFIED"/>
+		<field name="SC_NO_CONTENT"/>
+		<field name="SC_OK"/>
+		<field name="SC_PARTIAL_CONTENT"/>
+		<field name="SC_PAYMENT_REQUIRED"/>
+		<field name="SC_PRECONDITION_FAILED"/>
+		<field name="SC_PROCESSING"/>
+		<field name="SC_PROXY_AUTHENTICATION_REQUIRED"/>
+		<field name="SC_REQUESTED_RANGE_NOT_SATISFIABLE"/>
+		<field name="SC_REQUEST_TIMEOUT"/>
+		<field name="SC_REQUEST_TOO_LONG"/>
+		<field name="SC_REQUEST_URI_TOO_LONG"/>
+		<field name="SC_RESET_CONTENT"/>
+		<field name="SC_SEE_OTHER"/>
+		<field name="SC_SERVICE_UNAVAILABLE"/>
+		<field name="SC_SWITCHING_PROTOCOLS"/>
+		<field name="SC_TEMPORARY_REDIRECT"/>
+		<field name="SC_UNAUTHORIZED"/>
+		<field name="SC_UNPROCESSABLE_ENTITY"/>
+		<field name="SC_UNSUPPORTED_MEDIA_TYPE"/>
+		<field name="SC_USE_PROXY"/>
+	</class>
+	<class name="org/apache/http/HttpVersion" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolVersion"/>
+		<method name="&lt;init>(II)V"/>
+		<field name="HTTP"/>
+		<field name="HTTP_0_9"/>
+		<field name="HTTP_1_0"/>
+		<field name="HTTP_1_1"/>
+	</class>
+	<class name="org/apache/http/MalformedChunkCodingException" since="1" deprecated="22" removed="23">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/MethodNotSupportedException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/HttpException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/NameValuePair" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getValue()Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/NoHttpResponseException" since="1" deprecated="22" removed="23">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/ParseException" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/ProtocolException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/HttpException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/ProtocolVersion" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Ljava/lang/String;II)V"/>
+		<method name="compareToVersion(Lorg/apache/http/ProtocolVersion;)I"/>
+		<method name="forVersion(II)Lorg/apache/http/ProtocolVersion;"/>
+		<method name="getMajor()I"/>
+		<method name="getMinor()I"/>
+		<method name="getProtocol()Ljava/lang/String;"/>
+		<method name="greaterEquals(Lorg/apache/http/ProtocolVersion;)Z"/>
+		<method name="isComparable(Lorg/apache/http/ProtocolVersion;)Z"/>
+		<method name="lessEquals(Lorg/apache/http/ProtocolVersion;)Z"/>
+		<field name="major"/>
+		<field name="minor"/>
+		<field name="protocol"/>
+	</class>
+	<class name="org/apache/http/ReasonPhraseCatalog" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getReason(ILjava/util/Locale;)Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/RequestLine" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getMethod()Ljava/lang/String;"/>
+		<method name="getProtocolVersion()Lorg/apache/http/ProtocolVersion;"/>
+		<method name="getUri()Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/StatusLine" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getProtocolVersion()Lorg/apache/http/ProtocolVersion;"/>
+		<method name="getReasonPhrase()Ljava/lang/String;"/>
+		<method name="getStatusCode()I"/>
+	</class>
+	<class name="org/apache/http/TokenIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/util/Iterator"/>
+		<method name="nextToken()Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/UnsupportedHttpVersionException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/auth/AUTH" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="PROXY_AUTH"/>
+		<field name="PROXY_AUTH_RESP"/>
+		<field name="WWW_AUTH"/>
+		<field name="WWW_AUTH_RESP"/>
+	</class>
+	<class name="org/apache/http/auth/AuthScheme" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="authenticate(Lorg/apache/http/auth/Credentials;Lorg/apache/http/HttpRequest;)Lorg/apache/http/Header;"/>
+		<method name="getParameter(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getRealm()Ljava/lang/String;"/>
+		<method name="getSchemeName()Ljava/lang/String;"/>
+		<method name="isComplete()Z"/>
+		<method name="isConnectionBased()Z"/>
+		<method name="processChallenge(Lorg/apache/http/Header;)V"/>
+	</class>
+	<class name="org/apache/http/auth/AuthSchemeFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="newInstance(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/auth/AuthScheme;"/>
+	</class>
+	<class name="org/apache/http/auth/AuthSchemeRegistry" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAuthScheme(Ljava/lang/String;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/auth/AuthScheme;"/>
+		<method name="getSchemeNames()Ljava/util/List;"/>
+		<method name="register(Ljava/lang/String;Lorg/apache/http/auth/AuthSchemeFactory;)V"/>
+		<method name="setItems(Ljava/util/Map;)V"/>
+		<method name="unregister(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/auth/AuthScope" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;I)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/auth/AuthScope;)V"/>
+		<method name="getHost()Ljava/lang/String;"/>
+		<method name="getPort()I"/>
+		<method name="getRealm()Ljava/lang/String;"/>
+		<method name="getScheme()Ljava/lang/String;"/>
+		<method name="match(Lorg/apache/http/auth/AuthScope;)I"/>
+		<field name="ANY"/>
+		<field name="ANY_HOST"/>
+		<field name="ANY_PORT"/>
+		<field name="ANY_REALM"/>
+		<field name="ANY_SCHEME"/>
+	</class>
+	<class name="org/apache/http/auth/AuthState" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAuthScheme()Lorg/apache/http/auth/AuthScheme;"/>
+		<method name="getAuthScope()Lorg/apache/http/auth/AuthScope;"/>
+		<method name="getCredentials()Lorg/apache/http/auth/Credentials;"/>
+		<method name="invalidate()V"/>
+		<method name="isValid()Z"/>
+		<method name="setAuthScheme(Lorg/apache/http/auth/AuthScheme;)V"/>
+		<method name="setAuthScope(Lorg/apache/http/auth/AuthScope;)V"/>
+		<method name="setCredentials(Lorg/apache/http/auth/Credentials;)V"/>
+	</class>
+	<class name="org/apache/http/auth/AuthenticationException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/auth/BasicUserPrincipal" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/Principal"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/auth/Credentials" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getPassword()Ljava/lang/String;"/>
+		<method name="getUserPrincipal()Ljava/security/Principal;"/>
+	</class>
+	<class name="org/apache/http/auth/InvalidCredentialsException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/auth/AuthenticationException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/auth/MalformedChallengeException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/auth/NTCredentials" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/auth/Credentials"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getDomain()Ljava/lang/String;"/>
+		<method name="getUserName()Ljava/lang/String;"/>
+		<method name="getWorkstation()Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/auth/NTUserPrincipal" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/security/Principal"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getDomain()Ljava/lang/String;"/>
+		<method name="getUsername()Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/auth/UsernamePasswordCredentials" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/auth/Credentials"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getUserName()Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/auth/params/AuthPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="CREDENTIAL_CHARSET"/>
+	</class>
+	<class name="org/apache/http/auth/params/AuthParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setCredentialCharset(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/auth/params/AuthParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getCredentialCharset(Lorg/apache/http/params/HttpParams;)Ljava/lang/String;"/>
+		<method name="setCredentialCharset(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/client/AuthenticationHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getChallenges(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Ljava/util/Map;"/>
+		<method name="isAuthenticationRequested(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z"/>
+		<method name="selectScheme(Ljava/util/Map;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/auth/AuthScheme;"/>
+	</class>
+	<class name="org/apache/http/client/CircularRedirectException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/RedirectException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/client/ClientProtocolException" since="1" deprecated="22" removed="23">
+		<extends name="java/io/IOException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/client/CookieStore" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="addCookie(Lorg/apache/http/cookie/Cookie;)V"/>
+		<method name="clear()V"/>
+		<method name="clearExpired(Ljava/util/Date;)Z"/>
+		<method name="getCookies()Ljava/util/List;"/>
+	</class>
+	<class name="org/apache/http/client/CredentialsProvider" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="clear()V"/>
+		<method name="getCredentials(Lorg/apache/http/auth/AuthScope;)Lorg/apache/http/auth/Credentials;"/>
+		<method name="setCredentials(Lorg/apache/http/auth/AuthScope;Lorg/apache/http/auth/Credentials;)V"/>
+	</class>
+	<class name="org/apache/http/client/HttpClient" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;)Lorg/apache/http/HttpResponse;"/>
+		<method name="execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/client/ResponseHandler;)Ljava/lang/Object;"/>
+		<method name="execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/client/ResponseHandler;Lorg/apache/http/protocol/HttpContext;)Ljava/lang/Object;"/>
+		<method name="execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;"/>
+		<method name="execute(Lorg/apache/http/client/methods/HttpUriRequest;)Lorg/apache/http/HttpResponse;"/>
+		<method name="execute(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/client/ResponseHandler;)Ljava/lang/Object;"/>
+		<method name="execute(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/client/ResponseHandler;Lorg/apache/http/protocol/HttpContext;)Ljava/lang/Object;"/>
+		<method name="execute(Lorg/apache/http/client/methods/HttpUriRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;"/>
+		<method name="getConnectionManager()Lorg/apache/http/conn/ClientConnectionManager;"/>
+		<method name="getParams()Lorg/apache/http/params/HttpParams;"/>
+	</class>
+	<class name="org/apache/http/client/HttpRequestRetryHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="retryRequest(Ljava/io/IOException;ILorg/apache/http/protocol/HttpContext;)Z"/>
+	</class>
+	<class name="org/apache/http/client/HttpResponseException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/ClientProtocolException"/>
+		<method name="&lt;init>(ILjava/lang/String;)V"/>
+		<method name="getStatusCode()I"/>
+	</class>
+	<class name="org/apache/http/client/NonRepeatableRequestException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/client/RedirectException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/client/RedirectHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getLocationURI(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Ljava/net/URI;"/>
+		<method name="isRedirectRequested(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z"/>
+	</class>
+	<class name="org/apache/http/client/RequestDirector" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="execute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;"/>
+	</class>
+	<class name="org/apache/http/client/ResponseHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="handleResponse(Lorg/apache/http/HttpResponse;)Ljava/lang/Object;"/>
+	</class>
+	<class name="org/apache/http/client/UserTokenHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getUserToken(Lorg/apache/http/protocol/HttpContext;)Ljava/lang/Object;"/>
+	</class>
+	<class name="org/apache/http/client/entity/UrlEncodedFormEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/StringEntity"/>
+		<method name="&lt;init>(Ljava/util/List;)V"/>
+		<method name="&lt;init>(Ljava/util/List;Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/client/methods/AbortableHttpRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="abort()V"/>
+		<method name="setConnectionRequest(Lorg/apache/http/conn/ClientConnectionRequest;)V"/>
+		<method name="setReleaseTrigger(Lorg/apache/http/conn/ConnectionReleaseTrigger;)V"/>
+	</class>
+	<class name="org/apache/http/client/methods/HttpDelete" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/net/URI;)V"/>
+		<field name="METHOD_NAME"/>
+	</class>
+	<class name="org/apache/http/client/methods/HttpEntityEnclosingRequestBase" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase"/>
+		<implements name="org/apache/http/HttpEntityEnclosingRequest"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/client/methods/HttpGet" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/net/URI;)V"/>
+		<field name="METHOD_NAME"/>
+	</class>
+	<class name="org/apache/http/client/methods/HttpHead" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/net/URI;)V"/>
+		<field name="METHOD_NAME"/>
+	</class>
+	<class name="org/apache/http/client/methods/HttpOptions" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/net/URI;)V"/>
+		<method name="getAllowedMethods(Lorg/apache/http/HttpResponse;)Ljava/util/Set;"/>
+		<field name="METHOD_NAME"/>
+	</class>
+	<class name="org/apache/http/client/methods/HttpPost" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpEntityEnclosingRequestBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/net/URI;)V"/>
+		<field name="METHOD_NAME"/>
+	</class>
+	<class name="org/apache/http/client/methods/HttpPut" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpEntityEnclosingRequestBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/net/URI;)V"/>
+		<field name="METHOD_NAME"/>
+	</class>
+	<class name="org/apache/http/client/methods/HttpRequestBase" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/message/AbstractHttpMessage"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/client/methods/AbortableHttpRequest"/>
+		<implements name="org/apache/http/client/methods/HttpUriRequest"/>
+		<method name="&lt;init>()V"/>
+		<method name="setURI(Ljava/net/URI;)V"/>
+	</class>
+	<class name="org/apache/http/client/methods/HttpTrace" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/client/methods/HttpRequestBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/net/URI;)V"/>
+		<field name="METHOD_NAME"/>
+	</class>
+	<class name="org/apache/http/client/methods/HttpUriRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequest"/>
+		<method name="abort()V"/>
+		<method name="getMethod()Ljava/lang/String;"/>
+		<method name="getURI()Ljava/net/URI;"/>
+		<method name="isAborted()Z"/>
+	</class>
+	<class name="org/apache/http/client/params/AllClientPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/auth/params/AuthPNames"/>
+		<implements name="org/apache/http/client/params/ClientPNames"/>
+		<implements name="org/apache/http/conn/params/ConnConnectionPNames"/>
+		<implements name="org/apache/http/conn/params/ConnManagerPNames"/>
+		<implements name="org/apache/http/conn/params/ConnRoutePNames"/>
+		<implements name="org/apache/http/cookie/params/CookieSpecPNames"/>
+		<implements name="org/apache/http/params/CoreConnectionPNames"/>
+		<implements name="org/apache/http/params/CoreProtocolPNames"/>
+	</class>
+	<class name="org/apache/http/client/params/AuthPolicy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="BASIC"/>
+		<field name="DIGEST"/>
+		<field name="NTLM"/>
+	</class>
+	<class name="org/apache/http/client/params/ClientPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="ALLOW_CIRCULAR_REDIRECTS"/>
+		<field name="CONNECTION_MANAGER_FACTORY"/>
+		<field name="CONNECTION_MANAGER_FACTORY_CLASS_NAME"/>
+		<field name="COOKIE_POLICY"/>
+		<field name="DEFAULT_HEADERS"/>
+		<field name="DEFAULT_HOST"/>
+		<field name="HANDLE_AUTHENTICATION"/>
+		<field name="HANDLE_REDIRECTS"/>
+		<field name="MAX_REDIRECTS"/>
+		<field name="REJECT_RELATIVE_REDIRECT"/>
+		<field name="VIRTUAL_HOST"/>
+	</class>
+	<class name="org/apache/http/client/params/ClientParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setAllowCircularRedirects(Z)V"/>
+		<method name="setConnectionManagerFactory(Lorg/apache/http/conn/ClientConnectionManagerFactory;)V"/>
+		<method name="setConnectionManagerFactoryClassName(Ljava/lang/String;)V"/>
+		<method name="setCookiePolicy(Ljava/lang/String;)V"/>
+		<method name="setDefaultHeaders(Ljava/util/Collection;)V"/>
+		<method name="setDefaultHost(Lorg/apache/http/HttpHost;)V"/>
+		<method name="setHandleAuthentication(Z)V"/>
+		<method name="setHandleRedirects(Z)V"/>
+		<method name="setMaxRedirects(I)V"/>
+		<method name="setRejectRelativeRedirect(Z)V"/>
+		<method name="setVirtualHost(Lorg/apache/http/HttpHost;)V"/>
+	</class>
+	<class name="org/apache/http/client/params/CookiePolicy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="BEST_MATCH"/>
+		<field name="BROWSER_COMPATIBILITY"/>
+		<field name="NETSCAPE"/>
+		<field name="RFC_2109"/>
+		<field name="RFC_2965"/>
+	</class>
+	<class name="org/apache/http/client/params/HttpClientParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getCookiePolicy(Lorg/apache/http/params/HttpParams;)Ljava/lang/String;"/>
+		<method name="isAuthenticating(Lorg/apache/http/params/HttpParams;)Z"/>
+		<method name="isRedirecting(Lorg/apache/http/params/HttpParams;)Z"/>
+		<method name="setAuthenticating(Lorg/apache/http/params/HttpParams;Z)V"/>
+		<method name="setCookiePolicy(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V"/>
+		<method name="setRedirecting(Lorg/apache/http/params/HttpParams;Z)V"/>
+	</class>
+	<class name="org/apache/http/client/protocol/ClientContext" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="AUTHSCHEME_REGISTRY"/>
+		<field name="AUTH_SCHEME_PREF"/>
+		<field name="COOKIESPEC_REGISTRY"/>
+		<field name="COOKIE_ORIGIN"/>
+		<field name="COOKIE_SPEC"/>
+		<field name="COOKIE_STORE"/>
+		<field name="CREDS_PROVIDER"/>
+		<field name="PROXY_AUTH_STATE"/>
+		<field name="TARGET_AUTH_STATE"/>
+		<field name="USER_TOKEN"/>
+	</class>
+	<class name="org/apache/http/client/protocol/ClientContextConfigurer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/protocol/ClientContext"/>
+		<method name="&lt;init>(Lorg/apache/http/protocol/HttpContext;)V"/>
+		<method name="setAuthSchemePref(Ljava/util/List;)V"/>
+		<method name="setAuthSchemeRegistry(Lorg/apache/http/auth/AuthSchemeRegistry;)V"/>
+		<method name="setCookieSpecRegistry(Lorg/apache/http/cookie/CookieSpecRegistry;)V"/>
+		<method name="setCookieStore(Lorg/apache/http/client/CookieStore;)V"/>
+		<method name="setCredentialsProvider(Lorg/apache/http/client/CredentialsProvider;)V"/>
+	</class>
+	<class name="org/apache/http/client/protocol/RequestAddCookies" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/client/protocol/RequestDefaultHeaders" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/client/protocol/RequestProxyAuthentication" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/client/protocol/RequestTargetAuthentication" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/client/protocol/ResponseProcessCookies" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpResponseInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/client/utils/CloneUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="clone(Ljava/lang/Object;)Ljava/lang/Object;"/>
+	</class>
+	<class name="org/apache/http/client/utils/URIUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="createURI(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/net/URI;"/>
+		<method name="resolve(Ljava/net/URI;Ljava/lang/String;)Ljava/net/URI;"/>
+		<method name="resolve(Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;"/>
+		<method name="rewriteURI(Ljava/net/URI;Lorg/apache/http/HttpHost;)Ljava/net/URI;"/>
+		<method name="rewriteURI(Ljava/net/URI;Lorg/apache/http/HttpHost;Z)Ljava/net/URI;"/>
+	</class>
+	<class name="org/apache/http/client/utils/URLEncodedUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="format(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="isEncoded(Lorg/apache/http/HttpEntity;)Z"/>
+		<method name="parse(Ljava/net/URI;Ljava/lang/String;)Ljava/util/List;"/>
+		<method name="parse(Ljava/util/List;Ljava/util/Scanner;Ljava/lang/String;)V"/>
+		<method name="parse(Lorg/apache/http/HttpEntity;)Ljava/util/List;"/>
+		<field name="CONTENT_TYPE"/>
+	</class>
+	<class name="org/apache/http/conn/BasicEofSensorWatcher" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/EofSensorWatcher"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/ManagedClientConnection;Z)V"/>
+		<field name="attemptReuse"/>
+		<field name="managedConn"/>
+	</class>
+	<class name="org/apache/http/conn/BasicManagedEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/HttpEntityWrapper"/>
+		<implements name="org/apache/http/conn/ConnectionReleaseTrigger"/>
+		<implements name="org/apache/http/conn/EofSensorWatcher"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpEntity;Lorg/apache/http/conn/ManagedClientConnection;Z)V"/>
+		<method name="releaseManagedConnection()V"/>
+		<field name="attemptReuse"/>
+		<field name="managedConn"/>
+	</class>
+	<class name="org/apache/http/conn/ClientConnectionManager" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="closeExpiredConnections()V"/>
+		<method name="closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V"/>
+		<method name="getSchemeRegistry()Lorg/apache/http/conn/scheme/SchemeRegistry;"/>
+		<method name="releaseConnection(Lorg/apache/http/conn/ManagedClientConnection;JLjava/util/concurrent/TimeUnit;)V"/>
+		<method name="requestConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ClientConnectionRequest;"/>
+		<method name="shutdown()V"/>
+	</class>
+	<class name="org/apache/http/conn/ClientConnectionManagerFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="newInstance(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionManager;"/>
+	</class>
+	<class name="org/apache/http/conn/ClientConnectionOperator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="createConnection()Lorg/apache/http/conn/OperatedClientConnection;"/>
+		<method name="openConnection(Lorg/apache/http/conn/OperatedClientConnection;Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="updateSecureConnection(Lorg/apache/http/conn/OperatedClientConnection;Lorg/apache/http/HttpHost;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/conn/ClientConnectionRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="abortRequest()V"/>
+		<method name="getConnection(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/conn/ManagedClientConnection;"/>
+	</class>
+	<class name="org/apache/http/conn/ConnectTimeoutException" since="1" deprecated="22">
+		<extends name="java/io/InterruptedIOException"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/lang/String;)V" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/conn/ConnectionKeepAliveStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getKeepAliveDuration(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)J"/>
+	</class>
+	<class name="org/apache/http/conn/ConnectionPoolTimeoutException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/conn/ConnectTimeoutException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/conn/ConnectionReleaseTrigger" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="abortConnection()V"/>
+		<method name="releaseConnection()V"/>
+	</class>
+	<class name="org/apache/http/conn/EofSensorInputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/InputStream"/>
+		<implements name="org/apache/http/conn/ConnectionReleaseTrigger"/>
+		<method name="&lt;init>(Ljava/io/InputStream;Lorg/apache/http/conn/EofSensorWatcher;)V"/>
+		<method name="checkAbort()V"/>
+		<method name="checkClose()V"/>
+		<method name="checkEOF(I)V"/>
+		<method name="isReadAllowed()Z"/>
+		<field name="wrappedStream"/>
+	</class>
+	<class name="org/apache/http/conn/EofSensorWatcher" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="eofDetected(Ljava/io/InputStream;)Z"/>
+		<method name="streamAbort(Ljava/io/InputStream;)Z"/>
+		<method name="streamClosed(Ljava/io/InputStream;)Z"/>
+	</class>
+	<class name="org/apache/http/conn/HttpHostConnectException" since="1" deprecated="22" removed="23">
+		<extends name="java/net/ConnectException"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpHost;Ljava/net/ConnectException;)V"/>
+		<method name="getHost()Lorg/apache/http/HttpHost;"/>
+	</class>
+	<class name="org/apache/http/conn/ManagedClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpClientConnection"/>
+		<implements name="org/apache/http/HttpInetConnection"/>
+		<implements name="org/apache/http/conn/ConnectionReleaseTrigger"/>
+		<method name="getRoute()Lorg/apache/http/conn/routing/HttpRoute;"/>
+		<method name="getSSLSession()Ljavax/net/ssl/SSLSession;"/>
+		<method name="getState()Ljava/lang/Object;"/>
+		<method name="isMarkedReusable()Z"/>
+		<method name="isSecure()Z"/>
+		<method name="layerProtocol(Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="markReusable()V"/>
+		<method name="open(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setIdleDuration(JLjava/util/concurrent/TimeUnit;)V"/>
+		<method name="setState(Ljava/lang/Object;)V"/>
+		<method name="tunnelProxy(Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V"/>
+		<method name="tunnelTarget(ZLorg/apache/http/params/HttpParams;)V"/>
+		<method name="unmarkReusable()V"/>
+	</class>
+	<class name="org/apache/http/conn/MultihomePlainSocketFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/scheme/SocketFactory"/>
+		<method name="getSocketFactory()Lorg/apache/http/conn/MultihomePlainSocketFactory;"/>
+	</class>
+	<class name="org/apache/http/conn/OperatedClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpClientConnection"/>
+		<implements name="org/apache/http/HttpInetConnection"/>
+		<method name="getSocket()Ljava/net/Socket;"/>
+		<method name="getTargetHost()Lorg/apache/http/HttpHost;"/>
+		<method name="isSecure()Z"/>
+		<method name="openCompleted(ZLorg/apache/http/params/HttpParams;)V"/>
+		<method name="opening(Ljava/net/Socket;Lorg/apache/http/HttpHost;)V"/>
+		<method name="update(Ljava/net/Socket;Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/conn/params/ConnConnectionPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="MAX_STATUS_LINE_GARBAGE"/>
+	</class>
+	<class name="org/apache/http/conn/params/ConnConnectionParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setMaxStatusLineGarbage(I)V"/>
+	</class>
+	<class name="org/apache/http/conn/params/ConnManagerPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="MAX_CONNECTIONS_PER_ROUTE"/>
+		<field name="MAX_TOTAL_CONNECTIONS"/>
+		<field name="TIMEOUT"/>
+	</class>
+	<class name="org/apache/http/conn/params/ConnManagerParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setConnectionsPerRoute(Lorg/apache/http/conn/params/ConnPerRouteBean;)V"/>
+		<method name="setMaxTotalConnections(I)V"/>
+		<method name="setTimeout(J)V"/>
+	</class>
+	<class name="org/apache/http/conn/params/ConnManagerParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/params/ConnManagerPNames"/>
+		<method name="&lt;init>()V"/>
+		<method name="getMaxConnectionsPerRoute(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/conn/params/ConnPerRoute;"/>
+		<method name="getMaxTotalConnections(Lorg/apache/http/params/HttpParams;)I"/>
+		<method name="getTimeout(Lorg/apache/http/params/HttpParams;)J"/>
+		<method name="setMaxConnectionsPerRoute(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/params/ConnPerRoute;)V"/>
+		<method name="setMaxTotalConnections(Lorg/apache/http/params/HttpParams;I)V"/>
+		<method name="setTimeout(Lorg/apache/http/params/HttpParams;J)V"/>
+		<field name="DEFAULT_MAX_TOTAL_CONNECTIONS"/>
+	</class>
+	<class name="org/apache/http/conn/params/ConnPerRoute" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getMaxForRoute(Lorg/apache/http/conn/routing/HttpRoute;)I"/>
+	</class>
+	<class name="org/apache/http/conn/params/ConnPerRouteBean" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/params/ConnPerRoute"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="getDefaultMax()I"/>
+		<method name="setDefaultMaxPerRoute(I)V"/>
+		<method name="setMaxForRoute(Lorg/apache/http/conn/routing/HttpRoute;I)V"/>
+		<method name="setMaxForRoutes(Ljava/util/Map;)V"/>
+		<field name="DEFAULT_MAX_CONNECTIONS_PER_ROUTE"/>
+	</class>
+	<class name="org/apache/http/conn/params/ConnRoutePNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="DEFAULT_PROXY"/>
+		<field name="FORCED_ROUTE"/>
+		<field name="LOCAL_ADDRESS"/>
+	</class>
+	<class name="org/apache/http/conn/params/ConnRouteParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setDefaultProxy(Lorg/apache/http/HttpHost;)V"/>
+		<method name="setForcedRoute(Lorg/apache/http/conn/routing/HttpRoute;)V"/>
+		<method name="setLocalAddress(Ljava/net/InetAddress;)V"/>
+	</class>
+	<class name="org/apache/http/conn/params/ConnRouteParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/params/ConnRoutePNames"/>
+		<method name="getDefaultProxy(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/HttpHost;"/>
+		<method name="getForcedRoute(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/conn/routing/HttpRoute;"/>
+		<method name="getLocalAddress(Lorg/apache/http/params/HttpParams;)Ljava/net/InetAddress;"/>
+		<method name="setDefaultProxy(Lorg/apache/http/params/HttpParams;Lorg/apache/http/HttpHost;)V"/>
+		<method name="setForcedRoute(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/routing/HttpRoute;)V"/>
+		<method name="setLocalAddress(Lorg/apache/http/params/HttpParams;Ljava/net/InetAddress;)V"/>
+		<field name="NO_HOST"/>
+		<field name="NO_ROUTE"/>
+	</class>
+	<class name="org/apache/http/conn/routing/BasicRouteDirector" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/routing/HttpRouteDirector"/>
+		<method name="&lt;init>()V"/>
+		<method name="directStep(Lorg/apache/http/conn/routing/RouteInfo;Lorg/apache/http/conn/routing/RouteInfo;)I"/>
+		<method name="firstStep(Lorg/apache/http/conn/routing/RouteInfo;)I"/>
+		<method name="proxiedStep(Lorg/apache/http/conn/routing/RouteInfo;Lorg/apache/http/conn/routing/RouteInfo;)I"/>
+	</class>
+	<class name="org/apache/http/conn/routing/HttpRoute" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/conn/routing/RouteInfo"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpHost;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/HttpHost;Z)V"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/HttpHost;ZLorg/apache/http/conn/routing/RouteInfo$TunnelType;Lorg/apache/http/conn/routing/RouteInfo$LayerType;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Z)V"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;[Lorg/apache/http/HttpHost;ZLorg/apache/http/conn/routing/RouteInfo$TunnelType;Lorg/apache/http/conn/routing/RouteInfo$LayerType;)V"/>
+	</class>
+	<class name="org/apache/http/conn/routing/HttpRouteDirector" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="nextStep(Lorg/apache/http/conn/routing/RouteInfo;Lorg/apache/http/conn/routing/RouteInfo;)I"/>
+		<field name="COMPLETE"/>
+		<field name="CONNECT_PROXY"/>
+		<field name="CONNECT_TARGET"/>
+		<field name="LAYER_PROTOCOL"/>
+		<field name="TUNNEL_PROXY"/>
+		<field name="TUNNEL_TARGET"/>
+		<field name="UNREACHABLE"/>
+	</class>
+	<class name="org/apache/http/conn/routing/HttpRoutePlanner" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="determineRoute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/conn/routing/HttpRoute;"/>
+	</class>
+	<class name="org/apache/http/conn/routing/RouteInfo" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getHopCount()I"/>
+		<method name="getHopTarget(I)Lorg/apache/http/HttpHost;"/>
+		<method name="getLayerType()Lorg/apache/http/conn/routing/RouteInfo$LayerType;"/>
+		<method name="getLocalAddress()Ljava/net/InetAddress;"/>
+		<method name="getProxyHost()Lorg/apache/http/HttpHost;"/>
+		<method name="getTargetHost()Lorg/apache/http/HttpHost;"/>
+		<method name="getTunnelType()Lorg/apache/http/conn/routing/RouteInfo$TunnelType;"/>
+		<method name="isLayered()Z"/>
+		<method name="isSecure()Z"/>
+		<method name="isTunnelled()Z"/>
+	</class>
+	<class name="org/apache/http/conn/routing/RouteInfo$LayerType" since="1" removed="23">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Lorg/apache/http/conn/routing/RouteInfo$LayerType;"/>
+		<method name="values()[Lorg/apache/http/conn/routing/RouteInfo$LayerType;"/>
+		<field name="LAYERED"/>
+		<field name="PLAIN"/>
+	</class>
+	<class name="org/apache/http/conn/routing/RouteInfo$TunnelType" since="1" removed="23">
+		<extends name="java/lang/Enum"/>
+		<method name="valueOf(Ljava/lang/String;)Lorg/apache/http/conn/routing/RouteInfo$TunnelType;"/>
+		<method name="values()[Lorg/apache/http/conn/routing/RouteInfo$TunnelType;"/>
+		<field name="PLAIN"/>
+		<field name="TUNNELLED"/>
+	</class>
+	<class name="org/apache/http/conn/routing/RouteTracker" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/conn/routing/RouteInfo"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpHost;Ljava/net/InetAddress;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/routing/HttpRoute;)V"/>
+		<method name="connectProxy(Lorg/apache/http/HttpHost;Z)V"/>
+		<method name="connectTarget(Z)V"/>
+		<method name="isConnected()Z"/>
+		<method name="layerProtocol(Z)V"/>
+		<method name="toRoute()Lorg/apache/http/conn/routing/HttpRoute;"/>
+		<method name="tunnelProxy(Lorg/apache/http/HttpHost;Z)V"/>
+		<method name="tunnelTarget(Z)V"/>
+	</class>
+	<class name="org/apache/http/conn/scheme/HostNameResolver" since="1" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<method name="resolve(Ljava/lang/String;)Ljava/net/InetAddress;" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/conn/scheme/LayeredSocketFactory" since="1" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/scheme/SocketFactory"/>
+		<method name="createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/conn/scheme/PlainSocketFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/scheme/SocketFactory"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/scheme/HostNameResolver;)V"/>
+		<method name="getSocketFactory()Lorg/apache/http/conn/scheme/PlainSocketFactory;"/>
+	</class>
+	<class name="org/apache/http/conn/scheme/Scheme" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Lorg/apache/http/conn/scheme/SocketFactory;I)V"/>
+		<method name="getDefaultPort()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getSocketFactory()Lorg/apache/http/conn/scheme/SocketFactory;"/>
+		<method name="isLayered()Z"/>
+		<method name="resolvePort(I)I"/>
+	</class>
+	<class name="org/apache/http/conn/scheme/SchemeRegistry" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="get(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme;"/>
+		<method name="getScheme(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme;"/>
+		<method name="getScheme(Lorg/apache/http/HttpHost;)Lorg/apache/http/conn/scheme/Scheme;"/>
+		<method name="getSchemeNames()Ljava/util/List;"/>
+		<method name="register(Lorg/apache/http/conn/scheme/Scheme;)Lorg/apache/http/conn/scheme/Scheme;"/>
+		<method name="setItems(Ljava/util/Map;)V"/>
+		<method name="unregister(Ljava/lang/String;)Lorg/apache/http/conn/scheme/Scheme;"/>
+	</class>
+	<class name="org/apache/http/conn/scheme/SocketFactory" since="1" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<method name="connectSocket(Ljava/net/Socket;Ljava/lang/String;ILjava/net/InetAddress;ILorg/apache/http/params/HttpParams;)Ljava/net/Socket;" deprecated="29"/>
+		<method name="createSocket()Ljava/net/Socket;" deprecated="29"/>
+		<method name="isSecure(Ljava/net/Socket;)Z" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/conn/ssl/AbstractVerifier" since="1" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/ssl/X509HostnameVerifier"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="acceptableCountryWildcard(Ljava/lang/String;)Z" deprecated="29"/>
+		<method name="countDots(Ljava/lang/String;)I" deprecated="29"/>
+		<method name="getCNs(Ljava/security/cert/X509Certificate;)[Ljava/lang/String;" deprecated="29"/>
+		<method name="getDNSSubjectAlts(Ljava/security/cert/X509Certificate;)[Ljava/lang/String;" deprecated="29"/>
+		<method name="verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)V" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/conn/ssl/AllowAllHostnameVerifier" since="1" deprecated="22">
+		<extends name="org/apache/http/conn/ssl/AbstractVerifier"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/conn/ssl/BrowserCompatHostnameVerifier" since="1" deprecated="22">
+		<extends name="org/apache/http/conn/ssl/AbstractVerifier"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/conn/ssl/SSLSocketFactory" since="1" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/scheme/LayeredSocketFactory"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/security/KeyStore;Ljava/lang/String;Ljava/security/KeyStore;Ljava/security/SecureRandom;Lorg/apache/http/conn/scheme/HostNameResolver;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/security/KeyStore;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/security/KeyStore;Ljava/lang/String;)V" deprecated="29"/>
+		<method name="&lt;init>(Ljava/security/KeyStore;Ljava/lang/String;Ljava/security/KeyStore;)V" deprecated="29"/>
+		<method name="getHostnameVerifier()Lorg/apache/http/conn/ssl/X509HostnameVerifier;" deprecated="29"/>
+		<method name="getSocketFactory()Lorg/apache/http/conn/ssl/SSLSocketFactory;" deprecated="29"/>
+		<method name="setHostnameVerifier(Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V" deprecated="29"/>
+		<field name="ALLOW_ALL_HOSTNAME_VERIFIER" deprecated="29"/>
+		<field name="BROWSER_COMPATIBLE_HOSTNAME_VERIFIER" deprecated="29"/>
+		<field name="SSL" deprecated="29"/>
+		<field name="SSLV2" deprecated="29"/>
+		<field name="STRICT_HOSTNAME_VERIFIER" deprecated="29"/>
+		<field name="TLS" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/conn/ssl/StrictHostnameVerifier" since="1" deprecated="22">
+		<extends name="org/apache/http/conn/ssl/AbstractVerifier"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/conn/ssl/X509HostnameVerifier" since="1" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<implements name="javax/net/ssl/HostnameVerifier"/>
+		<method name="verify(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V" deprecated="29"/>
+		<method name="verify(Ljava/lang/String;Ljavax/net/ssl/SSLSocket;)V" deprecated="29"/>
+		<method name="verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/conn/util/InetAddressUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="isIPv4Address(Ljava/lang/String;)Z"/>
+		<method name="isIPv6Address(Ljava/lang/String;)Z"/>
+		<method name="isIPv6HexCompressedAddress(Ljava/lang/String;)Z"/>
+		<method name="isIPv6StdAddress(Ljava/lang/String;)Z"/>
+	</class>
+	<class name="org/apache/http/cookie/ClientCookie" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/Cookie"/>
+		<method name="containsAttribute(Ljava/lang/String;)Z"/>
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/String;"/>
+		<field name="COMMENTURL_ATTR"/>
+		<field name="COMMENT_ATTR"/>
+		<field name="DISCARD_ATTR"/>
+		<field name="DOMAIN_ATTR"/>
+		<field name="EXPIRES_ATTR"/>
+		<field name="MAX_AGE_ATTR"/>
+		<field name="PATH_ATTR"/>
+		<field name="PORT_ATTR"/>
+		<field name="SECURE_ATTR"/>
+		<field name="VERSION_ATTR"/>
+	</class>
+	<class name="org/apache/http/cookie/Cookie" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getComment()Ljava/lang/String;"/>
+		<method name="getCommentURL()Ljava/lang/String;"/>
+		<method name="getDomain()Ljava/lang/String;"/>
+		<method name="getExpiryDate()Ljava/util/Date;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getPath()Ljava/lang/String;"/>
+		<method name="getPorts()[I"/>
+		<method name="getValue()Ljava/lang/String;"/>
+		<method name="getVersion()I"/>
+		<method name="isExpired(Ljava/util/Date;)Z"/>
+		<method name="isPersistent()Z"/>
+		<method name="isSecure()Z"/>
+	</class>
+	<class name="org/apache/http/cookie/CookieAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="match(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)Z"/>
+		<method name="parse(Lorg/apache/http/cookie/SetCookie;Ljava/lang/String;)V"/>
+		<method name="validate(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)V"/>
+	</class>
+	<class name="org/apache/http/cookie/CookieIdentityComparator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/Comparator"/>
+		<method name="&lt;init>()V"/>
+		<method name="compare(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/Cookie;)I"/>
+	</class>
+	<class name="org/apache/http/cookie/CookieOrigin" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;ILjava/lang/String;Z)V"/>
+		<method name="getHost()Ljava/lang/String;"/>
+		<method name="getPath()Ljava/lang/String;"/>
+		<method name="getPort()I"/>
+		<method name="isSecure()Z"/>
+	</class>
+	<class name="org/apache/http/cookie/CookiePathComparator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/util/Comparator"/>
+		<method name="&lt;init>()V"/>
+		<method name="compare(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/Cookie;)I"/>
+	</class>
+	<class name="org/apache/http/cookie/CookieSpec" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="formatCookies(Ljava/util/List;)Ljava/util/List;"/>
+		<method name="getVersion()I"/>
+		<method name="getVersionHeader()Lorg/apache/http/Header;"/>
+		<method name="match(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)Z"/>
+		<method name="parse(Lorg/apache/http/Header;Lorg/apache/http/cookie/CookieOrigin;)Ljava/util/List;"/>
+		<method name="validate(Lorg/apache/http/cookie/Cookie;Lorg/apache/http/cookie/CookieOrigin;)V"/>
+	</class>
+	<class name="org/apache/http/cookie/CookieSpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="newInstance(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/cookie/CookieSpec;"/>
+	</class>
+	<class name="org/apache/http/cookie/CookieSpecRegistry" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getCookieSpec(Ljava/lang/String;)Lorg/apache/http/cookie/CookieSpec;"/>
+		<method name="getCookieSpec(Ljava/lang/String;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/cookie/CookieSpec;"/>
+		<method name="getSpecNames()Ljava/util/List;"/>
+		<method name="register(Ljava/lang/String;Lorg/apache/http/cookie/CookieSpecFactory;)V"/>
+		<method name="setItems(Ljava/util/Map;)V"/>
+		<method name="unregister(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/cookie/MalformedCookieException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/ProtocolException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/cookie/SM" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="COOKIE"/>
+		<field name="COOKIE2"/>
+		<field name="SET_COOKIE"/>
+		<field name="SET_COOKIE2"/>
+	</class>
+	<class name="org/apache/http/cookie/SetCookie" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/Cookie"/>
+		<method name="setComment(Ljava/lang/String;)V"/>
+		<method name="setDomain(Ljava/lang/String;)V"/>
+		<method name="setExpiryDate(Ljava/util/Date;)V"/>
+		<method name="setPath(Ljava/lang/String;)V"/>
+		<method name="setSecure(Z)V"/>
+		<method name="setValue(Ljava/lang/String;)V"/>
+		<method name="setVersion(I)V"/>
+	</class>
+	<class name="org/apache/http/cookie/SetCookie2" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/SetCookie"/>
+		<method name="setCommentURL(Ljava/lang/String;)V"/>
+		<method name="setDiscard(Z)V"/>
+		<method name="setPorts([I)V"/>
+	</class>
+	<class name="org/apache/http/cookie/params/CookieSpecPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="DATE_PATTERNS"/>
+		<field name="SINGLE_COOKIE_HEADER"/>
+	</class>
+	<class name="org/apache/http/cookie/params/CookieSpecParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setDatePatterns(Ljava/util/Collection;)V"/>
+		<method name="setSingleHeader(Z)V"/>
+	</class>
+	<class name="org/apache/http/entity/AbstractHttpEntity" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpEntity"/>
+		<method name="&lt;init>()V"/>
+		<method name="setChunked(Z)V"/>
+		<method name="setContentEncoding(Ljava/lang/String;)V"/>
+		<method name="setContentEncoding(Lorg/apache/http/Header;)V"/>
+		<method name="setContentType(Ljava/lang/String;)V"/>
+		<method name="setContentType(Lorg/apache/http/Header;)V"/>
+		<field name="chunked"/>
+		<field name="contentEncoding"/>
+		<field name="contentType"/>
+	</class>
+	<class name="org/apache/http/entity/BasicHttpEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity"/>
+		<method name="&lt;init>()V"/>
+		<method name="setContent(Ljava/io/InputStream;)V"/>
+		<method name="setContentLength(J)V"/>
+	</class>
+	<class name="org/apache/http/entity/BufferedHttpEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/HttpEntityWrapper"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpEntity;)V"/>
+	</class>
+	<class name="org/apache/http/entity/ByteArrayEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>([B)V"/>
+		<field name="content"/>
+	</class>
+	<class name="org/apache/http/entity/ContentLengthStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="determineLength(Lorg/apache/http/HttpMessage;)J"/>
+		<field name="CHUNKED"/>
+		<field name="IDENTITY"/>
+	</class>
+	<class name="org/apache/http/entity/ContentProducer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="writeTo(Ljava/io/OutputStream;)V"/>
+	</class>
+	<class name="org/apache/http/entity/EntityTemplate" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity"/>
+		<method name="&lt;init>(Lorg/apache/http/entity/ContentProducer;)V"/>
+	</class>
+	<class name="org/apache/http/entity/FileEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Ljava/io/File;Ljava/lang/String;)V"/>
+		<field name="file"/>
+	</class>
+	<class name="org/apache/http/entity/HttpEntityWrapper" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpEntity"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpEntity;)V"/>
+		<field name="wrappedEntity"/>
+	</class>
+	<class name="org/apache/http/entity/InputStreamEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity"/>
+		<method name="&lt;init>(Ljava/io/InputStream;J)V"/>
+	</class>
+	<class name="org/apache/http/entity/SerializableEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity"/>
+		<method name="&lt;init>(Ljava/io/Serializable;Z)V"/>
+	</class>
+	<class name="org/apache/http/entity/StringEntity" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/entity/AbstractHttpEntity"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="content"/>
+	</class>
+	<class name="org/apache/http/impl/AbstractHttpClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpClientConnection"/>
+		<method name="&lt;init>()V"/>
+		<method name="assertOpen()V"/>
+		<method name="createEntityDeserializer()Lorg/apache/http/impl/entity/EntityDeserializer;"/>
+		<method name="createEntitySerializer()Lorg/apache/http/impl/entity/EntitySerializer;"/>
+		<method name="createHttpResponseFactory()Lorg/apache/http/HttpResponseFactory;"/>
+		<method name="createRequestWriter(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageWriter;"/>
+		<method name="createResponseParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageParser;"/>
+		<method name="doFlush()V"/>
+		<method name="init(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/AbstractHttpServerConnection" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpServerConnection"/>
+		<method name="&lt;init>()V"/>
+		<method name="assertOpen()V"/>
+		<method name="createEntityDeserializer()Lorg/apache/http/impl/entity/EntityDeserializer;"/>
+		<method name="createEntitySerializer()Lorg/apache/http/impl/entity/EntitySerializer;"/>
+		<method name="createHttpRequestFactory()Lorg/apache/http/HttpRequestFactory;"/>
+		<method name="createRequestParser(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpRequestFactory;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageParser;"/>
+		<method name="createResponseWriter(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/io/HttpMessageWriter;"/>
+		<method name="doFlush()V"/>
+		<method name="init(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/DefaultConnectionReuseStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/ConnectionReuseStrategy"/>
+		<method name="&lt;init>()V"/>
+		<method name="createTokenIterator(Lorg/apache/http/HeaderIterator;)Lorg/apache/http/TokenIterator;"/>
+	</class>
+	<class name="org/apache/http/impl/DefaultHttpClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/SocketHttpClientConnection"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/DefaultHttpRequestFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestFactory"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/DefaultHttpResponseFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpResponseFactory"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/apache/http/ReasonPhraseCatalog;)V"/>
+		<method name="determineLocale(Lorg/apache/http/protocol/HttpContext;)Ljava/util/Locale;"/>
+		<field name="reasonCatalog"/>
+	</class>
+	<class name="org/apache/http/impl/DefaultHttpServerConnection" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/SocketHttpServerConnection"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/EnglishReasonPhraseCatalog" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/ReasonPhraseCatalog"/>
+		<method name="&lt;init>()V"/>
+		<field name="INSTANCE"/>
+	</class>
+	<class name="org/apache/http/impl/HttpConnectionMetricsImpl" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpConnectionMetrics"/>
+		<method name="&lt;init>(Lorg/apache/http/io/HttpTransportMetrics;Lorg/apache/http/io/HttpTransportMetrics;)V"/>
+		<method name="incrementRequestCount()V"/>
+		<method name="incrementResponseCount()V"/>
+		<method name="setMetric(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<field name="RECEIVED_BYTES_COUNT"/>
+		<field name="REQUEST_COUNT"/>
+		<field name="RESPONSE_COUNT"/>
+		<field name="SENT_BYTES_COUNT"/>
+	</class>
+	<class name="org/apache/http/impl/NoConnectionReuseStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/ConnectionReuseStrategy"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/SocketHttpClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/AbstractHttpClientConnection"/>
+		<implements name="org/apache/http/HttpInetConnection"/>
+		<method name="&lt;init>()V"/>
+		<method name="assertNotOpen()V"/>
+		<method name="bind(Ljava/net/Socket;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="createSessionInputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionInputBuffer;"/>
+		<method name="createSessionOutputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionOutputBuffer;"/>
+		<method name="getSocket()Ljava/net/Socket;"/>
+	</class>
+	<class name="org/apache/http/impl/SocketHttpServerConnection" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/AbstractHttpServerConnection"/>
+		<implements name="org/apache/http/HttpInetConnection"/>
+		<method name="&lt;init>()V"/>
+		<method name="assertNotOpen()V"/>
+		<method name="bind(Ljava/net/Socket;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="createHttpDataReceiver(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionInputBuffer;"/>
+		<method name="createHttpDataTransmitter(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionOutputBuffer;"/>
+		<method name="getSocket()Ljava/net/Socket;"/>
+	</class>
+	<class name="org/apache/http/impl/auth/AuthSchemeBase" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/auth/AuthScheme"/>
+		<method name="&lt;init>()V"/>
+		<method name="isProxy()Z"/>
+		<method name="parseChallenge(Lorg/apache/http/util/CharArrayBuffer;II)V"/>
+	</class>
+	<class name="org/apache/http/impl/auth/BasicScheme" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/auth/RFC2617Scheme"/>
+		<method name="&lt;init>()V"/>
+		<method name="authenticate(Lorg/apache/http/auth/Credentials;Ljava/lang/String;Z)Lorg/apache/http/Header;"/>
+	</class>
+	<class name="org/apache/http/impl/auth/BasicSchemeFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/auth/AuthSchemeFactory"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/auth/DigestScheme" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/auth/RFC2617Scheme"/>
+		<method name="&lt;init>()V"/>
+		<method name="createCnonce()Ljava/lang/String;"/>
+		<method name="overrideParamter(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/impl/auth/DigestSchemeFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/auth/AuthSchemeFactory"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/auth/NTLMEngine" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="generateType1Msg(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="generateType3Msg(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/impl/auth/NTLMEngineException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/auth/AuthenticationException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/impl/auth/NTLMScheme" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/auth/AuthSchemeBase"/>
+		<method name="&lt;init>(Lorg/apache/http/impl/auth/NTLMEngine;)V"/>
+	</class>
+	<class name="org/apache/http/impl/auth/RFC2617Scheme" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/auth/AuthSchemeBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="getParameters()Ljava/util/Map;"/>
+	</class>
+	<class name="org/apache/http/impl/auth/UnsupportedDigestAlgorithmException" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/impl/client/AbstractAuthenticationHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/AuthenticationHandler"/>
+		<method name="&lt;init>()V"/>
+		<method name="getAuthPreferences()Ljava/util/List;"/>
+		<method name="parseChallenges([Lorg/apache/http/Header;)Ljava/util/Map;"/>
+	</class>
+	<class name="org/apache/http/impl/client/AbstractHttpClient" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/HttpClient"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="addRequestInterceptor(Lorg/apache/http/HttpRequestInterceptor;)V"/>
+		<method name="addRequestInterceptor(Lorg/apache/http/HttpRequestInterceptor;I)V"/>
+		<method name="addResponseInterceptor(Lorg/apache/http/HttpResponseInterceptor;)V"/>
+		<method name="addResponseInterceptor(Lorg/apache/http/HttpResponseInterceptor;I)V"/>
+		<method name="clearRequestInterceptors()V"/>
+		<method name="clearResponseInterceptors()V"/>
+		<method name="createAuthSchemeRegistry()Lorg/apache/http/auth/AuthSchemeRegistry;"/>
+		<method name="createClientConnectionManager()Lorg/apache/http/conn/ClientConnectionManager;"/>
+		<method name="createClientRequestDirector(Lorg/apache/http/protocol/HttpRequestExecutor;Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/conn/ConnectionKeepAliveStrategy;Lorg/apache/http/conn/routing/HttpRoutePlanner;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/client/HttpRequestRetryHandler;Lorg/apache/http/client/RedirectHandler;Lorg/apache/http/client/AuthenticationHandler;Lorg/apache/http/client/AuthenticationHandler;Lorg/apache/http/client/UserTokenHandler;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/client/RequestDirector;"/>
+		<method name="createConnectionKeepAliveStrategy()Lorg/apache/http/conn/ConnectionKeepAliveStrategy;"/>
+		<method name="createConnectionReuseStrategy()Lorg/apache/http/ConnectionReuseStrategy;"/>
+		<method name="createCookieSpecRegistry()Lorg/apache/http/cookie/CookieSpecRegistry;"/>
+		<method name="createCookieStore()Lorg/apache/http/client/CookieStore;"/>
+		<method name="createCredentialsProvider()Lorg/apache/http/client/CredentialsProvider;"/>
+		<method name="createHttpContext()Lorg/apache/http/protocol/HttpContext;"/>
+		<method name="createHttpParams()Lorg/apache/http/params/HttpParams;"/>
+		<method name="createHttpProcessor()Lorg/apache/http/protocol/BasicHttpProcessor;"/>
+		<method name="createHttpRequestRetryHandler()Lorg/apache/http/client/HttpRequestRetryHandler;"/>
+		<method name="createHttpRoutePlanner()Lorg/apache/http/conn/routing/HttpRoutePlanner;"/>
+		<method name="createProxyAuthenticationHandler()Lorg/apache/http/client/AuthenticationHandler;"/>
+		<method name="createRedirectHandler()Lorg/apache/http/client/RedirectHandler;"/>
+		<method name="createRequestExecutor()Lorg/apache/http/protocol/HttpRequestExecutor;"/>
+		<method name="createTargetAuthenticationHandler()Lorg/apache/http/client/AuthenticationHandler;"/>
+		<method name="createUserTokenHandler()Lorg/apache/http/client/UserTokenHandler;"/>
+		<method name="determineParams(Lorg/apache/http/HttpRequest;)Lorg/apache/http/params/HttpParams;"/>
+		<method name="getAuthSchemes()Lorg/apache/http/auth/AuthSchemeRegistry;"/>
+		<method name="getConnectionKeepAliveStrategy()Lorg/apache/http/conn/ConnectionKeepAliveStrategy;"/>
+		<method name="getConnectionReuseStrategy()Lorg/apache/http/ConnectionReuseStrategy;"/>
+		<method name="getCookieSpecs()Lorg/apache/http/cookie/CookieSpecRegistry;"/>
+		<method name="getCookieStore()Lorg/apache/http/client/CookieStore;"/>
+		<method name="getCredentialsProvider()Lorg/apache/http/client/CredentialsProvider;"/>
+		<method name="getHttpProcessor()Lorg/apache/http/protocol/BasicHttpProcessor;"/>
+		<method name="getHttpRequestRetryHandler()Lorg/apache/http/client/HttpRequestRetryHandler;"/>
+		<method name="getProxyAuthenticationHandler()Lorg/apache/http/client/AuthenticationHandler;"/>
+		<method name="getRedirectHandler()Lorg/apache/http/client/RedirectHandler;"/>
+		<method name="getRequestExecutor()Lorg/apache/http/protocol/HttpRequestExecutor;"/>
+		<method name="getRequestInterceptor(I)Lorg/apache/http/HttpRequestInterceptor;"/>
+		<method name="getRequestInterceptorCount()I"/>
+		<method name="getResponseInterceptor(I)Lorg/apache/http/HttpResponseInterceptor;"/>
+		<method name="getResponseInterceptorCount()I"/>
+		<method name="getRoutePlanner()Lorg/apache/http/conn/routing/HttpRoutePlanner;"/>
+		<method name="getTargetAuthenticationHandler()Lorg/apache/http/client/AuthenticationHandler;"/>
+		<method name="getUserTokenHandler()Lorg/apache/http/client/UserTokenHandler;"/>
+		<method name="removeRequestInterceptorByClass(Ljava/lang/Class;)V"/>
+		<method name="removeResponseInterceptorByClass(Ljava/lang/Class;)V"/>
+		<method name="setAuthSchemes(Lorg/apache/http/auth/AuthSchemeRegistry;)V"/>
+		<method name="setCookieSpecs(Lorg/apache/http/cookie/CookieSpecRegistry;)V"/>
+		<method name="setCookieStore(Lorg/apache/http/client/CookieStore;)V"/>
+		<method name="setCredentialsProvider(Lorg/apache/http/client/CredentialsProvider;)V"/>
+		<method name="setHttpRequestRetryHandler(Lorg/apache/http/client/HttpRequestRetryHandler;)V"/>
+		<method name="setKeepAliveStrategy(Lorg/apache/http/conn/ConnectionKeepAliveStrategy;)V"/>
+		<method name="setParams(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setProxyAuthenticationHandler(Lorg/apache/http/client/AuthenticationHandler;)V"/>
+		<method name="setRedirectHandler(Lorg/apache/http/client/RedirectHandler;)V"/>
+		<method name="setReuseStrategy(Lorg/apache/http/ConnectionReuseStrategy;)V"/>
+		<method name="setRoutePlanner(Lorg/apache/http/conn/routing/HttpRoutePlanner;)V"/>
+		<method name="setTargetAuthenticationHandler(Lorg/apache/http/client/AuthenticationHandler;)V"/>
+		<method name="setUserTokenHandler(Lorg/apache/http/client/UserTokenHandler;)V"/>
+	</class>
+	<class name="org/apache/http/impl/client/BasicCookieStore" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/CookieStore"/>
+		<method name="&lt;init>()V"/>
+		<method name="addCookies([Lorg/apache/http/cookie/Cookie;)V"/>
+	</class>
+	<class name="org/apache/http/impl/client/BasicCredentialsProvider" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/CredentialsProvider"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/client/BasicResponseHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/ResponseHandler"/>
+		<method name="&lt;init>()V"/>
+		<method name="handleResponse(Lorg/apache/http/HttpResponse;)Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/impl/client/ClientParamsStack" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/AbstractHttpParams"/>
+		<method name="&lt;init>(Lorg/apache/http/impl/client/ClientParamsStack;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/impl/client/ClientParamsStack;Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="getApplicationParams()Lorg/apache/http/params/HttpParams;"/>
+		<method name="getClientParams()Lorg/apache/http/params/HttpParams;"/>
+		<method name="getOverrideParams()Lorg/apache/http/params/HttpParams;"/>
+		<method name="getRequestParams()Lorg/apache/http/params/HttpParams;"/>
+		<field name="applicationParams"/>
+		<field name="clientParams"/>
+		<field name="overrideParams"/>
+		<field name="requestParams"/>
+	</class>
+	<class name="org/apache/http/impl/client/DefaultConnectionKeepAliveStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/ConnectionKeepAliveStrategy"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/client/DefaultHttpClient" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/client/AbstractHttpClient"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/client/DefaultHttpRequestRetryHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/HttpRequestRetryHandler"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(IZ)V"/>
+		<method name="getRetryCount()I"/>
+		<method name="isRequestSentRetryEnabled()Z"/>
+	</class>
+	<class name="org/apache/http/impl/client/DefaultProxyAuthenticationHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/client/AbstractAuthenticationHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/client/DefaultRedirectHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/RedirectHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/client/DefaultRequestDirector" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/RequestDirector"/>
+		<method name="&lt;init>(Lorg/apache/http/protocol/HttpRequestExecutor;Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/conn/ConnectionKeepAliveStrategy;Lorg/apache/http/conn/routing/HttpRoutePlanner;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/client/HttpRequestRetryHandler;Lorg/apache/http/client/RedirectHandler;Lorg/apache/http/client/AuthenticationHandler;Lorg/apache/http/client/AuthenticationHandler;Lorg/apache/http/client/UserTokenHandler;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="createConnectRequest(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpRequest;"/>
+		<method name="createTunnelToProxy(Lorg/apache/http/conn/routing/HttpRoute;ILorg/apache/http/protocol/HttpContext;)Z"/>
+		<method name="createTunnelToTarget(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;)Z"/>
+		<method name="determineRoute(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/conn/routing/HttpRoute;"/>
+		<method name="establishRoute(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;)V"/>
+		<method name="handleResponse(Lorg/apache/http/impl/client/RoutedRequest;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/impl/client/RoutedRequest;"/>
+		<method name="releaseConnection()V"/>
+		<method name="rewriteRequestURI(Lorg/apache/http/impl/client/RequestWrapper;Lorg/apache/http/conn/routing/HttpRoute;)V"/>
+		<field name="connManager"/>
+		<field name="httpProcessor"/>
+		<field name="keepAliveStrategy"/>
+		<field name="managedConn"/>
+		<field name="params"/>
+		<field name="redirectHandler"/>
+		<field name="requestExec"/>
+		<field name="retryHandler"/>
+		<field name="reuseStrategy"/>
+		<field name="routePlanner"/>
+	</class>
+	<class name="org/apache/http/impl/client/DefaultTargetAuthenticationHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/client/AbstractAuthenticationHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/client/DefaultUserTokenHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/client/UserTokenHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/client/EntityEnclosingRequestWrapper" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/client/RequestWrapper"/>
+		<implements name="org/apache/http/HttpEntityEnclosingRequest"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpEntityEnclosingRequest;)V"/>
+	</class>
+	<class name="org/apache/http/impl/client/RedirectLocations" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="add(Ljava/net/URI;)V"/>
+		<method name="contains(Ljava/net/URI;)Z"/>
+		<method name="remove(Ljava/net/URI;)Z"/>
+	</class>
+	<class name="org/apache/http/impl/client/RequestWrapper" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/message/AbstractHttpMessage"/>
+		<implements name="org/apache/http/client/methods/HttpUriRequest"/>
+		<method name="&lt;init>(Lorg/apache/http/HttpRequest;)V"/>
+		<method name="getExecCount()I"/>
+		<method name="getOriginal()Lorg/apache/http/HttpRequest;"/>
+		<method name="incrementExecCount()V"/>
+		<method name="isRepeatable()Z"/>
+		<method name="resetHeaders()V"/>
+		<method name="setMethod(Ljava/lang/String;)V"/>
+		<method name="setProtocolVersion(Lorg/apache/http/ProtocolVersion;)V"/>
+		<method name="setURI(Ljava/net/URI;)V"/>
+	</class>
+	<class name="org/apache/http/impl/client/RoutedRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Lorg/apache/http/impl/client/RequestWrapper;Lorg/apache/http/conn/routing/HttpRoute;)V"/>
+		<method name="getRequest()Lorg/apache/http/impl/client/RequestWrapper;"/>
+		<method name="getRoute()Lorg/apache/http/conn/routing/HttpRoute;"/>
+		<field name="request"/>
+		<field name="route"/>
+	</class>
+	<class name="org/apache/http/impl/client/TunnelRefusedException" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/HttpException"/>
+		<method name="&lt;init>(Ljava/lang/String;Lorg/apache/http/HttpResponse;)V"/>
+		<method name="getResponse()Lorg/apache/http/HttpResponse;"/>
+	</class>
+	<class name="org/apache/http/impl/conn/AbstractClientConnAdapter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/ManagedClientConnection"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/conn/OperatedClientConnection;)V"/>
+		<method name="assertNotAborted()V"/>
+		<method name="assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V"/>
+		<method name="detach()V"/>
+		<method name="getManager()Lorg/apache/http/conn/ClientConnectionManager;"/>
+		<method name="getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection;"/>
+	</class>
+	<class name="org/apache/http/impl/conn/AbstractPoolEntry" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/conn/routing/HttpRoute;)V"/>
+		<method name="getState()Ljava/lang/Object;"/>
+		<method name="layerProtocol(Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="open(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setState(Ljava/lang/Object;)V"/>
+		<method name="shutdownEntry()V"/>
+		<method name="tunnelProxy(Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V"/>
+		<method name="tunnelTarget(ZLorg/apache/http/params/HttpParams;)V"/>
+		<field name="connOperator"/>
+		<field name="connection"/>
+		<field name="route"/>
+		<field name="state"/>
+		<field name="tracker"/>
+	</class>
+	<class name="org/apache/http/impl/conn/AbstractPooledConnAdapter" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/conn/AbstractClientConnAdapter"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/impl/conn/AbstractPoolEntry;)V"/>
+		<method name="assertAttached()V"/>
+		<field name="poolEntry"/>
+	</class>
+	<class name="org/apache/http/impl/conn/DefaultClientConnection" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/SocketHttpClientConnection"/>
+		<implements name="org/apache/http/conn/OperatedClientConnection"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/conn/DefaultClientConnectionOperator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/ClientConnectionOperator"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/scheme/SchemeRegistry;)V"/>
+		<method name="prepareSocket(Ljava/net/Socket;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V"/>
+		<field name="schemeRegistry"/>
+	</class>
+	<class name="org/apache/http/impl/conn/DefaultHttpRoutePlanner" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/routing/HttpRoutePlanner"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/scheme/SchemeRegistry;)V"/>
+		<field name="schemeRegistry"/>
+	</class>
+	<class name="org/apache/http/impl/conn/DefaultResponseParser" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractMessageParser"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/conn/IdleConnectionHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="add(Lorg/apache/http/HttpConnection;JLjava/util/concurrent/TimeUnit;)V"/>
+		<method name="closeExpiredConnections()V"/>
+		<method name="closeIdleConnections(J)V"/>
+		<method name="remove(Lorg/apache/http/HttpConnection;)Z"/>
+		<method name="removeAll()V"/>
+	</class>
+	<class name="org/apache/http/impl/conn/LoggingSessionInputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/io/SessionInputBuffer"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/impl/conn/Wire;)V"/>
+	</class>
+	<class name="org/apache/http/impl/conn/LoggingSessionOutputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/io/SessionOutputBuffer"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/impl/conn/Wire;)V"/>
+	</class>
+	<class name="org/apache/http/impl/conn/ProxySelectorRoutePlanner" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/routing/HttpRoutePlanner"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/scheme/SchemeRegistry;Ljava/net/ProxySelector;)V"/>
+		<method name="chooseProxy(Ljava/util/List;Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Ljava/net/Proxy;"/>
+		<method name="determineProxy(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpHost;"/>
+		<method name="getHost(Ljava/net/InetSocketAddress;)Ljava/lang/String;"/>
+		<method name="getProxySelector()Ljava/net/ProxySelector;"/>
+		<method name="setProxySelector(Ljava/net/ProxySelector;)V"/>
+		<field name="proxySelector"/>
+		<field name="schemeRegistry"/>
+	</class>
+	<class name="org/apache/http/impl/conn/SingleClientConnManager" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/ClientConnectionManager"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/scheme/SchemeRegistry;)V"/>
+		<method name="assertStillUp()V"/>
+		<method name="createConnectionOperator(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator;"/>
+		<method name="getConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ManagedClientConnection;"/>
+		<method name="revokeConnection()V"/>
+		<field name="MISUSE_MESSAGE"/>
+		<field name="alwaysShutDown"/>
+		<field name="connOperator"/>
+		<field name="connectionExpiresTime"/>
+		<field name="isShutDown"/>
+		<field name="lastReleaseTime"/>
+		<field name="managedConn"/>
+		<field name="schemeRegistry"/>
+		<field name="uniquePoolEntry"/>
+	</class>
+	<class name="org/apache/http/impl/conn/SingleClientConnManager$ConnAdapter" since="1" removed="23">
+		<extends name="org/apache/http/impl/conn/AbstractPooledConnAdapter"/>
+		<method name="&lt;init>(Lorg/apache/http/impl/conn/SingleClientConnManager;Lorg/apache/http/impl/conn/SingleClientConnManager$PoolEntry;Lorg/apache/http/conn/routing/HttpRoute;)V"/>
+	</class>
+	<class name="org/apache/http/impl/conn/SingleClientConnManager$PoolEntry" since="1" removed="23">
+		<extends name="org/apache/http/impl/conn/AbstractPoolEntry"/>
+		<method name="&lt;init>(Lorg/apache/http/impl/conn/SingleClientConnManager;)V"/>
+		<method name="close()V"/>
+		<method name="shutdown()V"/>
+	</class>
+	<class name="org/apache/http/impl/conn/Wire" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Lorg/apache/commons/logging/Log;)V"/>
+		<method name="enabled()Z"/>
+		<method name="input(I)V"/>
+		<method name="input(Ljava/io/InputStream;)V"/>
+		<method name="input(Ljava/lang/String;)V"/>
+		<method name="input([B)V"/>
+		<method name="input([BII)V"/>
+		<method name="output(I)V"/>
+		<method name="output(Ljava/io/InputStream;)V"/>
+		<method name="output(Ljava/lang/String;)V"/>
+		<method name="output([B)V"/>
+		<method name="output([BII)V"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/AbstractConnPool" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/impl/conn/tsccm/RefQueueHandler"/>
+		<method name="&lt;init>()V"/>
+		<method name="closeConnection(Lorg/apache/http/conn/OperatedClientConnection;)V"/>
+		<method name="closeExpiredConnections()V"/>
+		<method name="closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V"/>
+		<method name="deleteClosedConnections()V"/>
+		<method name="enableConnectionGC()V"/>
+		<method name="freeEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;ZJLjava/util/concurrent/TimeUnit;)V"/>
+		<method name="getEntry(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;"/>
+		<method name="handleLostEntry(Lorg/apache/http/conn/routing/HttpRoute;)V"/>
+		<method name="requestPoolEntry(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/PoolEntryRequest;"/>
+		<method name="shutdown()V"/>
+		<field name="idleConnHandler"/>
+		<field name="isShutDown"/>
+		<field name="issuedConnections"/>
+		<field name="numConnections"/>
+		<field name="poolLock"/>
+		<field name="refQueue"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/BasicPoolEntry" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/conn/AbstractPoolEntry"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/ref/ReferenceQueue;)V"/>
+		<method name="getConnection()Lorg/apache/http/conn/OperatedClientConnection;"/>
+		<method name="getPlannedRoute()Lorg/apache/http/conn/routing/HttpRoute;"/>
+		<method name="getWeakRef()Lorg/apache/http/impl/conn/tsccm/BasicPoolEntryRef;"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/BasicPoolEntryRef" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/ref/WeakReference"/>
+		<method name="&lt;init>(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;Ljava/lang/ref/ReferenceQueue;)V"/>
+		<method name="getRoute()Lorg/apache/http/conn/routing/HttpRoute;"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/BasicPooledConnAdapter" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/conn/AbstractPooledConnAdapter"/>
+		<method name="&lt;init>(Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;Lorg/apache/http/impl/conn/AbstractPoolEntry;)V"/>
+		<method name="getPoolEntry()Lorg/apache/http/impl/conn/AbstractPoolEntry;"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/ConnPoolByRoute" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/conn/tsccm/AbstractConnPool"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="createEntry(Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;Lorg/apache/http/conn/ClientConnectionOperator;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;"/>
+		<method name="createFreeConnQueue()Ljava/util/Queue;"/>
+		<method name="createRouteToPoolMap()Ljava/util/Map;"/>
+		<method name="createWaitingThreadQueue()Ljava/util/Queue;"/>
+		<method name="deleteEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)V"/>
+		<method name="deleteLeastUsedEntry()V"/>
+		<method name="getConnectionsInPool(Lorg/apache/http/conn/routing/HttpRoute;)I"/>
+		<method name="getEntryBlocking(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;Lorg/apache/http/impl/conn/tsccm/WaitingThreadAborter;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;"/>
+		<method name="getFreeEntry(Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;"/>
+		<method name="getRoutePool(Lorg/apache/http/conn/routing/HttpRoute;Z)Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;"/>
+		<method name="newRouteSpecificPool(Lorg/apache/http/conn/routing/HttpRoute;)Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;"/>
+		<method name="newWaitingThread(Ljava/util/concurrent/locks/Condition;Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;)Lorg/apache/http/impl/conn/tsccm/WaitingThread;"/>
+		<method name="notifyWaitingThread(Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;)V"/>
+		<field name="freeConnections"/>
+		<field name="maxTotalConnections"/>
+		<field name="operator"/>
+		<field name="routeToPool"/>
+		<field name="waitingThreads"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/PoolEntryRequest" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="abortRequest()V"/>
+		<method name="getPoolEntry(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/RefQueueHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="handleReference(Ljava/lang/ref/Reference;)V"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/RefQueueWorker" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Runnable"/>
+		<method name="&lt;init>(Ljava/lang/ref/ReferenceQueue;Lorg/apache/http/impl/conn/tsccm/RefQueueHandler;)V"/>
+		<method name="shutdown()V"/>
+		<field name="refHandler"/>
+		<field name="refQueue"/>
+		<field name="workerThread"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/RouteSpecificPool" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Lorg/apache/http/conn/routing/HttpRoute;I)V"/>
+		<method name="allocEntry(Ljava/lang/Object;)Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;"/>
+		<method name="createdEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)V"/>
+		<method name="deleteEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)Z"/>
+		<method name="dropEntry()V"/>
+		<method name="freeEntry(Lorg/apache/http/impl/conn/tsccm/BasicPoolEntry;)V"/>
+		<method name="getCapacity()I"/>
+		<method name="getEntryCount()I"/>
+		<method name="getMaxEntries()I"/>
+		<method name="getRoute()Lorg/apache/http/conn/routing/HttpRoute;"/>
+		<method name="hasThread()Z"/>
+		<method name="isUnused()Z"/>
+		<method name="nextThread()Lorg/apache/http/impl/conn/tsccm/WaitingThread;"/>
+		<method name="queueThread(Lorg/apache/http/impl/conn/tsccm/WaitingThread;)V"/>
+		<method name="removeThread(Lorg/apache/http/impl/conn/tsccm/WaitingThread;)V"/>
+		<field name="freeEntries"/>
+		<field name="maxEntries"/>
+		<field name="numEntries"/>
+		<field name="route"/>
+		<field name="waitingThreads"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/conn/ClientConnectionManager"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;Lorg/apache/http/conn/scheme/SchemeRegistry;)V"/>
+		<method name="createConnectionOperator(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator;"/>
+		<method name="createConnectionPool(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/impl/conn/tsccm/AbstractConnPool;"/>
+		<method name="getConnectionsInPool()I"/>
+		<method name="getConnectionsInPool(Lorg/apache/http/conn/routing/HttpRoute;)I"/>
+		<field name="connOperator"/>
+		<field name="connectionPool"/>
+		<field name="schemeRegistry"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/WaitingThread" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/util/concurrent/locks/Condition;Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;)V"/>
+		<method name="await(Ljava/util/Date;)Z"/>
+		<method name="getCondition()Ljava/util/concurrent/locks/Condition;"/>
+		<method name="getPool()Lorg/apache/http/impl/conn/tsccm/RouteSpecificPool;"/>
+		<method name="getThread()Ljava/lang/Thread;"/>
+		<method name="interrupt()V"/>
+		<method name="wakeup()V"/>
+	</class>
+	<class name="org/apache/http/impl/conn/tsccm/WaitingThreadAborter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="abort()V"/>
+		<method name="setWaitingThread(Lorg/apache/http/impl/conn/tsccm/WaitingThread;)V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/AbstractCookieSpec" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieSpec"/>
+		<method name="&lt;init>()V"/>
+		<method name="findAttribHandler(Ljava/lang/String;)Lorg/apache/http/cookie/CookieAttributeHandler;"/>
+		<method name="getAttribHandler(Ljava/lang/String;)Lorg/apache/http/cookie/CookieAttributeHandler;"/>
+		<method name="getAttribHandlers()Ljava/util/Collection;"/>
+		<method name="registerAttribHandler(Ljava/lang/String;Lorg/apache/http/cookie/CookieAttributeHandler;)V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicClientCookie" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/cookie/ClientCookie"/>
+		<implements name="org/apache/http/cookie/SetCookie"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicClientCookie2" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/BasicClientCookie"/>
+		<implements name="org/apache/http/cookie/SetCookie2"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicCommentHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicDomainHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicExpiresHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler"/>
+		<method name="&lt;init>([Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicMaxAgeHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicPathHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BasicSecureHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BestMatchSpec" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieSpec"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>([Ljava/lang/String;Z)V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BestMatchSpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieSpecFactory"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BrowserCompatSpec" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/CookieSpecBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>([Ljava/lang/String;)V"/>
+		<field name="DATE_PATTERNS"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/BrowserCompatSpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieSpecFactory"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/CookieSpecBase" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieSpec"/>
+		<method name="&lt;init>()V"/>
+		<method name="getDefaultDomain(Lorg/apache/http/cookie/CookieOrigin;)Ljava/lang/String;"/>
+		<method name="getDefaultPath(Lorg/apache/http/cookie/CookieOrigin;)Ljava/lang/String;"/>
+		<method name="parse([Lorg/apache/http/HeaderElement;Lorg/apache/http/cookie/CookieOrigin;)Ljava/util/List;"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/DateParseException" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/DateUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="formatDate(Ljava/util/Date;)Ljava/lang/String;"/>
+		<method name="formatDate(Ljava/util/Date;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="parseDate(Ljava/lang/String;)Ljava/util/Date;"/>
+		<method name="parseDate(Ljava/lang/String;[Ljava/lang/String;)Ljava/util/Date;"/>
+		<method name="parseDate(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Date;)Ljava/util/Date;"/>
+		<field name="GMT"/>
+		<field name="PATTERN_ASCTIME"/>
+		<field name="PATTERN_RFC1036"/>
+		<field name="PATTERN_RFC1123"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/NetscapeDomainHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/BasicDomainHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/NetscapeDraftHeaderParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="parseHeader(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/HeaderElement;"/>
+		<field name="DEFAULT"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/NetscapeDraftSpec" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/CookieSpecBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>([Ljava/lang/String;)V"/>
+		<field name="EXPIRES_PATTERN"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/NetscapeDraftSpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieSpecFactory"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2109DomainHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2109Spec" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/CookieSpecBase"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>([Ljava/lang/String;Z)V"/>
+		<method name="formatCookieAsVer(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/cookie/Cookie;I)V"/>
+		<method name="formatParamAsVer(Lorg/apache/http/util/CharArrayBuffer;Ljava/lang/String;Ljava/lang/String;I)V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2109SpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieSpecFactory"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2109VersionHandler" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/AbstractCookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965CommentUrlAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965DiscardAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965DomainAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+		<method name="domainMatch(Ljava/lang/String;Ljava/lang/String;)Z"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965PortAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965Spec" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/cookie/RFC2109Spec"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>([Ljava/lang/String;Z)V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965SpecFactory" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieSpecFactory"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/cookie/RFC2965VersionAttributeHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/cookie/CookieAttributeHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/entity/EntityDeserializer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Lorg/apache/http/entity/ContentLengthStrategy;)V"/>
+		<method name="deserialize(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpMessage;)Lorg/apache/http/HttpEntity;"/>
+		<method name="doDeserialize(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/HttpMessage;)Lorg/apache/http/entity/BasicHttpEntity;"/>
+	</class>
+	<class name="org/apache/http/impl/entity/EntitySerializer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Lorg/apache/http/entity/ContentLengthStrategy;)V"/>
+		<method name="doSerialize(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/HttpMessage;)Ljava/io/OutputStream;"/>
+		<method name="serialize(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/HttpMessage;Lorg/apache/http/HttpEntity;)V"/>
+	</class>
+	<class name="org/apache/http/impl/entity/LaxContentLengthStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/entity/ContentLengthStrategy"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/entity/StrictContentLengthStrategy" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/entity/ContentLengthStrategy"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/impl/io/AbstractMessageParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/io/HttpMessageParser"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="parseHead(Lorg/apache/http/io/SessionInputBuffer;)Lorg/apache/http/HttpMessage;"/>
+		<method name="parseHeaders(Lorg/apache/http/io/SessionInputBuffer;IILorg/apache/http/message/LineParser;)[Lorg/apache/http/Header;"/>
+		<field name="lineParser"/>
+	</class>
+	<class name="org/apache/http/impl/io/AbstractMessageWriter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/io/HttpMessageWriter"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/message/LineFormatter;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="writeHeadLine(Lorg/apache/http/HttpMessage;)V"/>
+		<field name="lineBuf"/>
+		<field name="lineFormatter"/>
+		<field name="sessionBuffer"/>
+	</class>
+	<class name="org/apache/http/impl/io/AbstractSessionInputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/io/SessionInputBuffer"/>
+		<method name="&lt;init>()V"/>
+		<method name="fillBuffer()I"/>
+		<method name="hasBufferedData()Z"/>
+		<method name="init(Ljava/io/InputStream;ILorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/AbstractSessionOutputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/io/SessionOutputBuffer"/>
+		<method name="&lt;init>()V"/>
+		<method name="flushBuffer()V"/>
+		<method name="init(Ljava/io/OutputStream;ILorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/ChunkedInputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/InputStream"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionInputBuffer;)V"/>
+		<method name="getFooters()[Lorg/apache/http/Header;"/>
+	</class>
+	<class name="org/apache/http/impl/io/ChunkedOutputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/OutputStream"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionOutputBuffer;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionOutputBuffer;I)V"/>
+		<method name="finish()V"/>
+		<method name="flushCache()V"/>
+		<method name="flushCacheWithAppend([BII)V"/>
+		<method name="writeClosingChunk()V"/>
+	</class>
+	<class name="org/apache/http/impl/io/ContentLengthInputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/InputStream"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionInputBuffer;J)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/ContentLengthOutputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/OutputStream"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionOutputBuffer;J)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/HttpRequestParser" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractMessageParser"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/HttpRequestFactory;Lorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/HttpRequestWriter" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractMessageWriter"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/message/LineFormatter;Lorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/HttpResponseParser" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractMessageParser"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/HttpResponseFactory;Lorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/HttpResponseWriter" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractMessageWriter"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/message/LineFormatter;Lorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/HttpTransportMetricsImpl" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/io/HttpTransportMetrics"/>
+		<method name="&lt;init>()V"/>
+		<method name="incrementBytesTransferred(J)V"/>
+		<method name="setBytesTransferred(J)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/IdentityInputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/InputStream"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionInputBuffer;)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/IdentityOutputStream" since="1" deprecated="22" removed="23">
+		<extends name="java/io/OutputStream"/>
+		<method name="&lt;init>(Lorg/apache/http/io/SessionOutputBuffer;)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/SocketInputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractSessionInputBuffer"/>
+		<method name="&lt;init>(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/impl/io/SocketOutputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/impl/io/AbstractSessionOutputBuffer"/>
+		<method name="&lt;init>(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)V"/>
+	</class>
+	<class name="org/apache/http/io/HttpMessageParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="parse()Lorg/apache/http/HttpMessage;"/>
+	</class>
+	<class name="org/apache/http/io/HttpMessageWriter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="write(Lorg/apache/http/HttpMessage;)V"/>
+	</class>
+	<class name="org/apache/http/io/HttpTransportMetrics" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getBytesTransferred()J"/>
+		<method name="reset()V"/>
+	</class>
+	<class name="org/apache/http/io/SessionInputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getMetrics()Lorg/apache/http/io/HttpTransportMetrics;"/>
+		<method name="isDataAvailable(I)Z"/>
+		<method name="read()I"/>
+		<method name="read([B)I"/>
+		<method name="read([BII)I"/>
+		<method name="readLine()Ljava/lang/String;"/>
+		<method name="readLine(Lorg/apache/http/util/CharArrayBuffer;)I"/>
+	</class>
+	<class name="org/apache/http/io/SessionOutputBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="flush()V"/>
+		<method name="getMetrics()Lorg/apache/http/io/HttpTransportMetrics;"/>
+		<method name="write(I)V"/>
+		<method name="write([B)V"/>
+		<method name="write([BII)V"/>
+		<method name="writeLine(Ljava/lang/String;)V"/>
+		<method name="writeLine(Lorg/apache/http/util/CharArrayBuffer;)V"/>
+	</class>
+	<class name="org/apache/http/message/AbstractHttpMessage" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpMessage"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+		<field name="headergroup"/>
+		<field name="params"/>
+	</class>
+	<class name="org/apache/http/message/BasicHeader" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/Header"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/message/BasicHeaderElement" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/HeaderElement"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;[Lorg/apache/http/NameValuePair;)V"/>
+	</class>
+	<class name="org/apache/http/message/BasicHeaderElementIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HeaderElementIterator"/>
+		<method name="&lt;init>(Lorg/apache/http/HeaderIterator;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/HeaderIterator;Lorg/apache/http/message/HeaderValueParser;)V"/>
+	</class>
+	<class name="org/apache/http/message/BasicHeaderIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HeaderIterator"/>
+		<method name="&lt;init>([Lorg/apache/http/Header;Ljava/lang/String;)V"/>
+		<method name="filterHeader(I)Z"/>
+		<method name="findNext(I)I"/>
+		<field name="allHeaders"/>
+		<field name="currentIndex"/>
+		<field name="headerName"/>
+	</class>
+	<class name="org/apache/http/message/BasicHeaderValueFormatter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/message/HeaderValueFormatter"/>
+		<method name="&lt;init>()V"/>
+		<method name="doFormatValue(Lorg/apache/http/util/CharArrayBuffer;Ljava/lang/String;Z)V"/>
+		<method name="estimateElementsLen([Lorg/apache/http/HeaderElement;)I"/>
+		<method name="estimateHeaderElementLen(Lorg/apache/http/HeaderElement;)I"/>
+		<method name="estimateNameValuePairLen(Lorg/apache/http/NameValuePair;)I"/>
+		<method name="estimateParametersLen([Lorg/apache/http/NameValuePair;)I"/>
+		<method name="formatElements([Lorg/apache/http/HeaderElement;ZLorg/apache/http/message/HeaderValueFormatter;)Ljava/lang/String;"/>
+		<method name="formatHeaderElement(Lorg/apache/http/HeaderElement;ZLorg/apache/http/message/HeaderValueFormatter;)Ljava/lang/String;"/>
+		<method name="formatNameValuePair(Lorg/apache/http/NameValuePair;ZLorg/apache/http/message/HeaderValueFormatter;)Ljava/lang/String;"/>
+		<method name="formatParameters([Lorg/apache/http/NameValuePair;ZLorg/apache/http/message/HeaderValueFormatter;)Ljava/lang/String;"/>
+		<method name="isSeparator(C)Z"/>
+		<method name="isUnsafe(C)Z"/>
+		<field name="DEFAULT"/>
+		<field name="SEPARATORS"/>
+		<field name="UNSAFE_CHARS"/>
+	</class>
+	<class name="org/apache/http/message/BasicHeaderValueParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/message/HeaderValueParser"/>
+		<method name="&lt;init>()V"/>
+		<method name="createHeaderElement(Ljava/lang/String;Ljava/lang/String;[Lorg/apache/http/NameValuePair;)Lorg/apache/http/HeaderElement;"/>
+		<method name="createNameValuePair(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/http/NameValuePair;"/>
+		<method name="parseElements(Ljava/lang/String;Lorg/apache/http/message/HeaderValueParser;)[Lorg/apache/http/HeaderElement;"/>
+		<method name="parseHeaderElement(Ljava/lang/String;Lorg/apache/http/message/HeaderValueParser;)Lorg/apache/http/HeaderElement;"/>
+		<method name="parseNameValuePair(Ljava/lang/String;Lorg/apache/http/message/HeaderValueParser;)Lorg/apache/http/NameValuePair;"/>
+		<method name="parseNameValuePair(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;[C)Lorg/apache/http/NameValuePair;"/>
+		<method name="parseParameters(Ljava/lang/String;Lorg/apache/http/message/HeaderValueParser;)[Lorg/apache/http/NameValuePair;"/>
+		<field name="DEFAULT"/>
+	</class>
+	<class name="org/apache/http/message/BasicHttpEntityEnclosingRequest" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/message/BasicHttpRequest"/>
+		<implements name="org/apache/http/HttpEntityEnclosingRequest"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/RequestLine;)V"/>
+	</class>
+	<class name="org/apache/http/message/BasicHttpRequest" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/message/AbstractHttpMessage"/>
+		<implements name="org/apache/http/HttpRequest"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/RequestLine;)V"/>
+	</class>
+	<class name="org/apache/http/message/BasicHttpResponse" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/message/AbstractHttpMessage"/>
+		<implements name="org/apache/http/HttpResponse"/>
+		<method name="&lt;init>(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/StatusLine;)V"/>
+		<method name="&lt;init>(Lorg/apache/http/StatusLine;Lorg/apache/http/ReasonPhraseCatalog;Ljava/util/Locale;)V"/>
+		<method name="getReason(I)Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/message/BasicLineFormatter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/message/LineFormatter"/>
+		<method name="&lt;init>()V"/>
+		<method name="doFormatHeader(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/Header;)V"/>
+		<method name="doFormatRequestLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/RequestLine;)V"/>
+		<method name="doFormatStatusLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/StatusLine;)V"/>
+		<method name="estimateProtocolVersionLen(Lorg/apache/http/ProtocolVersion;)I"/>
+		<method name="formatHeader(Lorg/apache/http/Header;Lorg/apache/http/message/LineFormatter;)Ljava/lang/String;"/>
+		<method name="formatProtocolVersion(Lorg/apache/http/ProtocolVersion;Lorg/apache/http/message/LineFormatter;)Ljava/lang/String;"/>
+		<method name="formatRequestLine(Lorg/apache/http/RequestLine;Lorg/apache/http/message/LineFormatter;)Ljava/lang/String;"/>
+		<method name="formatStatusLine(Lorg/apache/http/StatusLine;Lorg/apache/http/message/LineFormatter;)Ljava/lang/String;"/>
+		<method name="initBuffer(Lorg/apache/http/util/CharArrayBuffer;)Lorg/apache/http/util/CharArrayBuffer;"/>
+		<field name="DEFAULT"/>
+	</class>
+	<class name="org/apache/http/message/BasicLineParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/message/LineParser"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/apache/http/ProtocolVersion;)V"/>
+		<method name="createProtocolVersion(II)Lorg/apache/http/ProtocolVersion;"/>
+		<method name="createRequestLine(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)Lorg/apache/http/RequestLine;"/>
+		<method name="createStatusLine(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)Lorg/apache/http/StatusLine;"/>
+		<method name="parseHeader(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/Header;"/>
+		<method name="parseProtocolVersion(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/ProtocolVersion;"/>
+		<method name="parseRequestLine(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/RequestLine;"/>
+		<method name="parseStatusLine(Ljava/lang/String;Lorg/apache/http/message/LineParser;)Lorg/apache/http/StatusLine;"/>
+		<method name="skipWhitespace(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)V"/>
+		<field name="DEFAULT"/>
+		<field name="protocol"/>
+	</class>
+	<class name="org/apache/http/message/BasicListHeaderIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HeaderIterator"/>
+		<method name="&lt;init>(Ljava/util/List;Ljava/lang/String;)V"/>
+		<method name="filterHeader(I)Z"/>
+		<method name="findNext(I)I"/>
+		<field name="allHeaders"/>
+		<field name="currentIndex"/>
+		<field name="headerName"/>
+		<field name="lastIndex"/>
+	</class>
+	<class name="org/apache/http/message/BasicNameValuePair" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/NameValuePair"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/message/BasicRequestLine" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/RequestLine"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)V"/>
+	</class>
+	<class name="org/apache/http/message/BasicStatusLine" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/StatusLine"/>
+		<method name="&lt;init>(Lorg/apache/http/ProtocolVersion;ILjava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/message/BasicTokenIterator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/TokenIterator"/>
+		<method name="&lt;init>(Lorg/apache/http/HeaderIterator;)V"/>
+		<method name="createToken(Ljava/lang/String;II)Ljava/lang/String;"/>
+		<method name="findNext(I)I"/>
+		<method name="findTokenEnd(I)I"/>
+		<method name="findTokenSeparator(I)I"/>
+		<method name="findTokenStart(I)I"/>
+		<method name="isHttpSeparator(C)Z"/>
+		<method name="isTokenChar(C)Z"/>
+		<method name="isTokenSeparator(C)Z"/>
+		<method name="isWhitespace(C)Z"/>
+		<field name="HTTP_SEPARATORS"/>
+		<field name="currentHeader"/>
+		<field name="currentToken"/>
+		<field name="headerIt"/>
+		<field name="searchPos"/>
+	</class>
+	<class name="org/apache/http/message/BufferedHeader" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/FormattedHeader"/>
+		<method name="&lt;init>(Lorg/apache/http/util/CharArrayBuffer;)V"/>
+	</class>
+	<class name="org/apache/http/message/HeaderGroup" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="addHeader(Lorg/apache/http/Header;)V"/>
+		<method name="clear()V"/>
+		<method name="containsHeader(Ljava/lang/String;)Z"/>
+		<method name="copy()Lorg/apache/http/message/HeaderGroup;"/>
+		<method name="getAllHeaders()[Lorg/apache/http/Header;"/>
+		<method name="getCondensedHeader(Ljava/lang/String;)Lorg/apache/http/Header;"/>
+		<method name="getFirstHeader(Ljava/lang/String;)Lorg/apache/http/Header;"/>
+		<method name="getHeaders(Ljava/lang/String;)[Lorg/apache/http/Header;"/>
+		<method name="getLastHeader(Ljava/lang/String;)Lorg/apache/http/Header;"/>
+		<method name="iterator()Lorg/apache/http/HeaderIterator;"/>
+		<method name="iterator(Ljava/lang/String;)Lorg/apache/http/HeaderIterator;"/>
+		<method name="removeHeader(Lorg/apache/http/Header;)V"/>
+		<method name="setHeaders([Lorg/apache/http/Header;)V"/>
+		<method name="updateHeader(Lorg/apache/http/Header;)V"/>
+	</class>
+	<class name="org/apache/http/message/HeaderValueFormatter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="formatElements(Lorg/apache/http/util/CharArrayBuffer;[Lorg/apache/http/HeaderElement;Z)Lorg/apache/http/util/CharArrayBuffer;"/>
+		<method name="formatHeaderElement(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/HeaderElement;Z)Lorg/apache/http/util/CharArrayBuffer;"/>
+		<method name="formatNameValuePair(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/NameValuePair;Z)Lorg/apache/http/util/CharArrayBuffer;"/>
+		<method name="formatParameters(Lorg/apache/http/util/CharArrayBuffer;[Lorg/apache/http/NameValuePair;Z)Lorg/apache/http/util/CharArrayBuffer;"/>
+	</class>
+	<class name="org/apache/http/message/HeaderValueParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="parseElements(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)[Lorg/apache/http/HeaderElement;"/>
+		<method name="parseHeaderElement(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/HeaderElement;"/>
+		<method name="parseNameValuePair(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/NameValuePair;"/>
+		<method name="parseParameters(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)[Lorg/apache/http/NameValuePair;"/>
+	</class>
+	<class name="org/apache/http/message/LineFormatter" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="appendProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/ProtocolVersion;)Lorg/apache/http/util/CharArrayBuffer;"/>
+		<method name="formatHeader(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/Header;)Lorg/apache/http/util/CharArrayBuffer;"/>
+		<method name="formatRequestLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/RequestLine;)Lorg/apache/http/util/CharArrayBuffer;"/>
+		<method name="formatStatusLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/StatusLine;)Lorg/apache/http/util/CharArrayBuffer;"/>
+	</class>
+	<class name="org/apache/http/message/LineParser" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="hasProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Z"/>
+		<method name="parseHeader(Lorg/apache/http/util/CharArrayBuffer;)Lorg/apache/http/Header;"/>
+		<method name="parseProtocolVersion(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/ProtocolVersion;"/>
+		<method name="parseRequestLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/RequestLine;"/>
+		<method name="parseStatusLine(Lorg/apache/http/util/CharArrayBuffer;Lorg/apache/http/message/ParserCursor;)Lorg/apache/http/StatusLine;"/>
+	</class>
+	<class name="org/apache/http/message/ParserCursor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(II)V"/>
+		<method name="atEnd()Z"/>
+		<method name="getLowerBound()I"/>
+		<method name="getPos()I"/>
+		<method name="getUpperBound()I"/>
+		<method name="updatePos(I)V"/>
+	</class>
+	<class name="org/apache/http/params/AbstractHttpParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/params/HttpParams"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/params/BasicHttpParams" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/AbstractHttpParams"/>
+		<implements name="java/io/Serializable"/>
+		<implements name="java/lang/Cloneable"/>
+		<method name="&lt;init>()V"/>
+		<method name="clear()V"/>
+		<method name="copyParams(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="isParameterSet(Ljava/lang/String;)Z"/>
+		<method name="isParameterSetLocally(Ljava/lang/String;)Z"/>
+		<method name="setParameters([Ljava/lang/String;Ljava/lang/Object;)V"/>
+	</class>
+	<class name="org/apache/http/params/CoreConnectionPNames" since="1" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<field name="CONNECTION_TIMEOUT" deprecated="29"/>
+		<field name="MAX_HEADER_COUNT" deprecated="29"/>
+		<field name="MAX_LINE_LENGTH" deprecated="29"/>
+		<field name="SOCKET_BUFFER_SIZE" deprecated="29"/>
+		<field name="SO_LINGER" deprecated="29"/>
+		<field name="SO_TIMEOUT" deprecated="29"/>
+		<field name="STALE_CONNECTION_CHECK" deprecated="29"/>
+		<field name="TCP_NODELAY" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/params/CoreProtocolPNames" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="HTTP_CONTENT_CHARSET"/>
+		<field name="HTTP_ELEMENT_CHARSET"/>
+		<field name="ORIGIN_SERVER"/>
+		<field name="PROTOCOL_VERSION"/>
+		<field name="STRICT_TRANSFER_ENCODING"/>
+		<field name="USER_AGENT"/>
+		<field name="USE_EXPECT_CONTINUE"/>
+		<field name="WAIT_FOR_CONTINUE"/>
+	</class>
+	<class name="org/apache/http/params/DefaultedHttpParams" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/AbstractHttpParams"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="getDefaults()Lorg/apache/http/params/HttpParams;"/>
+	</class>
+	<class name="org/apache/http/params/HttpAbstractParamBean" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+		<field name="params"/>
+	</class>
+	<class name="org/apache/http/params/HttpConnectionParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setConnectionTimeout(I)V"/>
+		<method name="setLinger(I)V"/>
+		<method name="setSoTimeout(I)V"/>
+		<method name="setSocketBufferSize(I)V"/>
+		<method name="setStaleCheckingEnabled(Z)V"/>
+		<method name="setTcpNoDelay(Z)V"/>
+	</class>
+	<class name="org/apache/http/params/HttpConnectionParams" since="1" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/params/CoreConnectionPNames"/>
+		<method name="getConnectionTimeout(Lorg/apache/http/params/HttpParams;)I" deprecated="29"/>
+		<method name="getLinger(Lorg/apache/http/params/HttpParams;)I" deprecated="29"/>
+		<method name="getSoTimeout(Lorg/apache/http/params/HttpParams;)I" deprecated="29"/>
+		<method name="getSocketBufferSize(Lorg/apache/http/params/HttpParams;)I" deprecated="29"/>
+		<method name="getTcpNoDelay(Lorg/apache/http/params/HttpParams;)Z" deprecated="29"/>
+		<method name="isStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;)Z" deprecated="29"/>
+		<method name="setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V" deprecated="29"/>
+		<method name="setLinger(Lorg/apache/http/params/HttpParams;I)V" deprecated="29"/>
+		<method name="setSoTimeout(Lorg/apache/http/params/HttpParams;I)V" deprecated="29"/>
+		<method name="setSocketBufferSize(Lorg/apache/http/params/HttpParams;I)V" deprecated="29"/>
+		<method name="setStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;Z)V" deprecated="29"/>
+		<method name="setTcpNoDelay(Lorg/apache/http/params/HttpParams;Z)V" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/params/HttpParams" since="1" deprecated="22">
+		<extends name="java/lang/Object"/>
+		<method name="copy()Lorg/apache/http/params/HttpParams;" deprecated="29"/>
+		<method name="getBooleanParameter(Ljava/lang/String;Z)Z" deprecated="29"/>
+		<method name="getDoubleParameter(Ljava/lang/String;D)D" deprecated="29"/>
+		<method name="getIntParameter(Ljava/lang/String;I)I" deprecated="29"/>
+		<method name="getLongParameter(Ljava/lang/String;J)J" deprecated="29"/>
+		<method name="getParameter(Ljava/lang/String;)Ljava/lang/Object;" deprecated="29"/>
+		<method name="isParameterFalse(Ljava/lang/String;)Z" deprecated="29"/>
+		<method name="isParameterTrue(Ljava/lang/String;)Z" deprecated="29"/>
+		<method name="removeParameter(Ljava/lang/String;)Z" deprecated="29"/>
+		<method name="setBooleanParameter(Ljava/lang/String;Z)Lorg/apache/http/params/HttpParams;" deprecated="29"/>
+		<method name="setDoubleParameter(Ljava/lang/String;D)Lorg/apache/http/params/HttpParams;" deprecated="29"/>
+		<method name="setIntParameter(Ljava/lang/String;I)Lorg/apache/http/params/HttpParams;" deprecated="29"/>
+		<method name="setLongParameter(Ljava/lang/String;J)Lorg/apache/http/params/HttpParams;" deprecated="29"/>
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/http/params/HttpParams;" deprecated="29"/>
+	</class>
+	<class name="org/apache/http/params/HttpProtocolParamBean" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/params/HttpAbstractParamBean"/>
+		<method name="&lt;init>(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setContentCharset(Ljava/lang/String;)V"/>
+		<method name="setHttpElementCharset(Ljava/lang/String;)V"/>
+		<method name="setUseExpectContinue(Z)V"/>
+		<method name="setUserAgent(Ljava/lang/String;)V"/>
+		<method name="setVersion(Lorg/apache/http/HttpVersion;)V"/>
+	</class>
+	<class name="org/apache/http/params/HttpProtocolParams" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/params/CoreProtocolPNames"/>
+		<method name="getContentCharset(Lorg/apache/http/params/HttpParams;)Ljava/lang/String;"/>
+		<method name="getHttpElementCharset(Lorg/apache/http/params/HttpParams;)Ljava/lang/String;"/>
+		<method name="getUserAgent(Lorg/apache/http/params/HttpParams;)Ljava/lang/String;"/>
+		<method name="getVersion(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/ProtocolVersion;"/>
+		<method name="setContentCharset(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V"/>
+		<method name="setHttpElementCharset(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V"/>
+		<method name="setUseExpectContinue(Lorg/apache/http/params/HttpParams;Z)V"/>
+		<method name="setUserAgent(Lorg/apache/http/params/HttpParams;Ljava/lang/String;)V"/>
+		<method name="setVersion(Lorg/apache/http/params/HttpParams;Lorg/apache/http/ProtocolVersion;)V"/>
+		<method name="useExpectContinue(Lorg/apache/http/params/HttpParams;)Z"/>
+	</class>
+	<class name="org/apache/http/protocol/BasicHttpContext" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/protocol/HttpContext"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/apache/http/protocol/HttpContext;)V"/>
+	</class>
+	<class name="org/apache/http/protocol/BasicHttpProcessor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="java/lang/Cloneable"/>
+		<implements name="org/apache/http/protocol/HttpProcessor"/>
+		<implements name="org/apache/http/protocol/HttpRequestInterceptorList"/>
+		<implements name="org/apache/http/protocol/HttpResponseInterceptorList"/>
+		<method name="&lt;init>()V"/>
+		<method name="addInterceptor(Lorg/apache/http/HttpRequestInterceptor;)V"/>
+		<method name="addInterceptor(Lorg/apache/http/HttpRequestInterceptor;I)V"/>
+		<method name="addInterceptor(Lorg/apache/http/HttpResponseInterceptor;)V"/>
+		<method name="addInterceptor(Lorg/apache/http/HttpResponseInterceptor;I)V"/>
+		<method name="clearInterceptors()V"/>
+		<method name="copy()Lorg/apache/http/protocol/BasicHttpProcessor;"/>
+		<method name="copyInterceptors(Lorg/apache/http/protocol/BasicHttpProcessor;)V"/>
+		<field name="requestInterceptors"/>
+		<field name="responseInterceptors"/>
+	</class>
+	<class name="org/apache/http/protocol/DefaultedHttpContext" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/protocol/HttpContext"/>
+		<method name="&lt;init>(Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/protocol/HttpContext;)V"/>
+		<method name="getDefaults()Lorg/apache/http/protocol/HttpContext;"/>
+	</class>
+	<class name="org/apache/http/protocol/ExecutionContext" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<field name="HTTP_CONNECTION"/>
+		<field name="HTTP_PROXY_HOST"/>
+		<field name="HTTP_REQUEST"/>
+		<field name="HTTP_REQ_SENT"/>
+		<field name="HTTP_RESPONSE"/>
+		<field name="HTTP_TARGET_HOST"/>
+	</class>
+	<class name="org/apache/http/protocol/HTTP" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="isWhitespace(C)Z"/>
+		<field name="ASCII"/>
+		<field name="CHARSET_PARAM"/>
+		<field name="CHUNK_CODING"/>
+		<field name="CONN_CLOSE"/>
+		<field name="CONN_DIRECTIVE"/>
+		<field name="CONN_KEEP_ALIVE"/>
+		<field name="CONTENT_ENCODING"/>
+		<field name="CONTENT_LEN"/>
+		<field name="CONTENT_TYPE"/>
+		<field name="CR"/>
+		<field name="DATE_HEADER"/>
+		<field name="DEFAULT_CONTENT_CHARSET"/>
+		<field name="DEFAULT_CONTENT_TYPE"/>
+		<field name="DEFAULT_PROTOCOL_CHARSET"/>
+		<field name="EXPECT_CONTINUE"/>
+		<field name="EXPECT_DIRECTIVE"/>
+		<field name="HT"/>
+		<field name="IDENTITY_CODING"/>
+		<field name="ISO_8859_1"/>
+		<field name="LF"/>
+		<field name="OCTET_STREAM_TYPE"/>
+		<field name="PLAIN_TEXT_TYPE"/>
+		<field name="SERVER_HEADER"/>
+		<field name="SP"/>
+		<field name="TARGET_HOST"/>
+		<field name="TRANSFER_ENCODING"/>
+		<field name="USER_AGENT"/>
+		<field name="US_ASCII"/>
+		<field name="UTF_16"/>
+		<field name="UTF_8"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpContext" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="removeAttribute(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<field name="RESERVED_PREFIX"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpDateGenerator" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getCurrentDate()Ljava/lang/String;"/>
+		<field name="GMT"/>
+		<field name="PATTERN_RFC1123"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpExpectationVerifier" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="verify(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)V"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpProcessor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<implements name="org/apache/http/HttpResponseInterceptor"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpRequestExecutor" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="canResponseHaveBody(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpResponse;)Z"/>
+		<method name="doReceiveResponse(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;"/>
+		<method name="doSendRequest(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;"/>
+		<method name="execute(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;"/>
+		<method name="postProcess(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/protocol/HttpContext;)V"/>
+		<method name="preProcess(Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/protocol/HttpContext;)V"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpRequestHandler" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="handle(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)V"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpRequestHandlerRegistry" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/protocol/HttpRequestHandlerResolver"/>
+		<method name="&lt;init>()V"/>
+		<method name="matchUriRequestPattern(Ljava/lang/String;Ljava/lang/String;)Z" deprecated="15"/>
+		<method name="register(Ljava/lang/String;Lorg/apache/http/protocol/HttpRequestHandler;)V"/>
+		<method name="setHandlers(Ljava/util/Map;)V"/>
+		<method name="unregister(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpRequestHandlerResolver" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="lookup(Ljava/lang/String;)Lorg/apache/http/protocol/HttpRequestHandler;"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpRequestInterceptorList" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="addRequestInterceptor(Lorg/apache/http/HttpRequestInterceptor;)V"/>
+		<method name="addRequestInterceptor(Lorg/apache/http/HttpRequestInterceptor;I)V"/>
+		<method name="clearRequestInterceptors()V"/>
+		<method name="getRequestInterceptor(I)Lorg/apache/http/HttpRequestInterceptor;"/>
+		<method name="getRequestInterceptorCount()I"/>
+		<method name="removeRequestInterceptorByClass(Ljava/lang/Class;)V"/>
+		<method name="setInterceptors(Ljava/util/List;)V"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpResponseInterceptorList" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="addResponseInterceptor(Lorg/apache/http/HttpResponseInterceptor;)V"/>
+		<method name="addResponseInterceptor(Lorg/apache/http/HttpResponseInterceptor;I)V"/>
+		<method name="clearResponseInterceptors()V"/>
+		<method name="getResponseInterceptor(I)Lorg/apache/http/HttpResponseInterceptor;"/>
+		<method name="getResponseInterceptorCount()I"/>
+		<method name="removeResponseInterceptorByClass(Ljava/lang/Class;)V"/>
+		<method name="setInterceptors(Ljava/util/List;)V"/>
+	</class>
+	<class name="org/apache/http/protocol/HttpService" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/HttpResponseFactory;)V"/>
+		<method name="doService(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)V"/>
+		<method name="getParams()Lorg/apache/http/params/HttpParams;"/>
+		<method name="handleException(Lorg/apache/http/HttpException;Lorg/apache/http/HttpResponse;)V"/>
+		<method name="handleRequest(Lorg/apache/http/HttpServerConnection;Lorg/apache/http/protocol/HttpContext;)V"/>
+		<method name="setConnReuseStrategy(Lorg/apache/http/ConnectionReuseStrategy;)V"/>
+		<method name="setExpectationVerifier(Lorg/apache/http/protocol/HttpExpectationVerifier;)V"/>
+		<method name="setHandlerResolver(Lorg/apache/http/protocol/HttpRequestHandlerResolver;)V"/>
+		<method name="setHttpProcessor(Lorg/apache/http/protocol/HttpProcessor;)V"/>
+		<method name="setParams(Lorg/apache/http/params/HttpParams;)V"/>
+		<method name="setResponseFactory(Lorg/apache/http/HttpResponseFactory;)V"/>
+	</class>
+	<class name="org/apache/http/protocol/RequestConnControl" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/protocol/RequestContent" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/protocol/RequestDate" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/protocol/RequestExpectContinue" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/protocol/RequestTargetHost" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/protocol/RequestUserAgent" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpRequestInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/protocol/ResponseConnControl" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpResponseInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/protocol/ResponseContent" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpResponseInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/protocol/ResponseDate" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpResponseInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/protocol/ResponseServer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<implements name="org/apache/http/HttpResponseInterceptor"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/apache/http/protocol/SyncBasicHttpContext" since="1" deprecated="22" removed="23">
+		<extends name="org/apache/http/protocol/BasicHttpContext"/>
+		<method name="&lt;init>(Lorg/apache/http/protocol/HttpContext;)V"/>
+	</class>
+	<class name="org/apache/http/protocol/UriPatternMatcher" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="lookup(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="matchUriRequestPattern(Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="register(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="setHandlers(Ljava/util/Map;)V"/>
+		<method name="unregister(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/apache/http/util/ByteArrayBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="append(I)V"/>
+		<method name="append(Lorg/apache/http/util/CharArrayBuffer;II)V"/>
+		<method name="append([BII)V"/>
+		<method name="append([CII)V"/>
+		<method name="buffer()[B"/>
+		<method name="byteAt(I)I"/>
+		<method name="capacity()I"/>
+		<method name="clear()V"/>
+		<method name="isEmpty()Z"/>
+		<method name="isFull()Z"/>
+		<method name="length()I"/>
+		<method name="setLength(I)V"/>
+		<method name="toByteArray()[B"/>
+	</class>
+	<class name="org/apache/http/util/CharArrayBuffer" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(I)V"/>
+		<method name="append(C)V"/>
+		<method name="append(Ljava/lang/Object;)V"/>
+		<method name="append(Ljava/lang/String;)V"/>
+		<method name="append(Lorg/apache/http/util/ByteArrayBuffer;II)V"/>
+		<method name="append(Lorg/apache/http/util/CharArrayBuffer;)V"/>
+		<method name="append(Lorg/apache/http/util/CharArrayBuffer;II)V"/>
+		<method name="append([BII)V"/>
+		<method name="append([CII)V"/>
+		<method name="buffer()[C"/>
+		<method name="capacity()I"/>
+		<method name="charAt(I)C"/>
+		<method name="clear()V"/>
+		<method name="ensureCapacity(I)V"/>
+		<method name="indexOf(I)I"/>
+		<method name="indexOf(III)I"/>
+		<method name="isEmpty()Z"/>
+		<method name="isFull()Z"/>
+		<method name="length()I"/>
+		<method name="setLength(I)V"/>
+		<method name="substring(II)Ljava/lang/String;"/>
+		<method name="substringTrimmed(II)Ljava/lang/String;"/>
+		<method name="toCharArray()[C"/>
+	</class>
+	<class name="org/apache/http/util/EncodingUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getAsciiBytes(Ljava/lang/String;)[B"/>
+		<method name="getAsciiString([B)Ljava/lang/String;"/>
+		<method name="getAsciiString([BII)Ljava/lang/String;"/>
+		<method name="getBytes(Ljava/lang/String;Ljava/lang/String;)[B"/>
+		<method name="getString([BIILjava/lang/String;)Ljava/lang/String;"/>
+		<method name="getString([BLjava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/util/EntityUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="getContentCharSet(Lorg/apache/http/HttpEntity;)Ljava/lang/String;"/>
+		<method name="toByteArray(Lorg/apache/http/HttpEntity;)[B"/>
+		<method name="toString(Lorg/apache/http/HttpEntity;)Ljava/lang/String;"/>
+		<method name="toString(Lorg/apache/http/HttpEntity;Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="org/apache/http/util/ExceptionUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="initCause(Ljava/lang/Throwable;Ljava/lang/Throwable;)V"/>
+	</class>
+	<class name="org/apache/http/util/LangUtils" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="equals(Ljava/lang/Object;Ljava/lang/Object;)Z"/>
+		<method name="equals([Ljava/lang/Object;[Ljava/lang/Object;)Z"/>
+		<method name="hashCode(II)I"/>
+		<method name="hashCode(ILjava/lang/Object;)I"/>
+		<method name="hashCode(IZ)I"/>
+		<field name="HASH_OFFSET"/>
+		<field name="HASH_SEED"/>
+	</class>
+	<class name="org/apache/http/util/VersionInfo" since="1" deprecated="22" removed="23">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="fromMap(Ljava/lang/String;Ljava/util/Map;Ljava/lang/ClassLoader;)Lorg/apache/http/util/VersionInfo;"/>
+		<method name="getClassloader()Ljava/lang/String;"/>
+		<method name="getModule()Ljava/lang/String;"/>
+		<method name="getPackage()Ljava/lang/String;"/>
+		<method name="getRelease()Ljava/lang/String;"/>
+		<method name="getTimestamp()Ljava/lang/String;"/>
+		<method name="loadVersionInfo(Ljava/lang/String;Ljava/lang/ClassLoader;)Lorg/apache/http/util/VersionInfo;"/>
+		<method name="loadVersionInfo([Ljava/lang/String;Ljava/lang/ClassLoader;)[Lorg/apache/http/util/VersionInfo;"/>
+		<field name="PROPERTY_MODULE"/>
+		<field name="PROPERTY_RELEASE"/>
+		<field name="PROPERTY_TIMESTAMP"/>
+		<field name="UNAVAILABLE"/>
+		<field name="VERSION_PROPERTY_FILE"/>
+	</class>
+	<class name="org/json/JSONArray" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Object;)V" since="19"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/util/Collection;)V"/>
+		<method name="&lt;init>(Lorg/json/JSONTokener;)V"/>
+		<method name="get(I)Ljava/lang/Object;"/>
+		<method name="getBoolean(I)Z"/>
+		<method name="getDouble(I)D"/>
+		<method name="getInt(I)I"/>
+		<method name="getJSONArray(I)Lorg/json/JSONArray;"/>
+		<method name="getJSONObject(I)Lorg/json/JSONObject;"/>
+		<method name="getLong(I)J"/>
+		<method name="getString(I)Ljava/lang/String;"/>
+		<method name="isNull(I)Z"/>
+		<method name="join(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="length()I"/>
+		<method name="opt(I)Ljava/lang/Object;"/>
+		<method name="optBoolean(I)Z"/>
+		<method name="optBoolean(IZ)Z"/>
+		<method name="optDouble(I)D"/>
+		<method name="optDouble(ID)D"/>
+		<method name="optInt(I)I"/>
+		<method name="optInt(II)I"/>
+		<method name="optJSONArray(I)Lorg/json/JSONArray;"/>
+		<method name="optJSONObject(I)Lorg/json/JSONObject;"/>
+		<method name="optLong(I)J"/>
+		<method name="optLong(IJ)J"/>
+		<method name="optString(I)Ljava/lang/String;"/>
+		<method name="optString(ILjava/lang/String;)Ljava/lang/String;"/>
+		<method name="put(D)Lorg/json/JSONArray;"/>
+		<method name="put(I)Lorg/json/JSONArray;"/>
+		<method name="put(ID)Lorg/json/JSONArray;"/>
+		<method name="put(II)Lorg/json/JSONArray;"/>
+		<method name="put(IJ)Lorg/json/JSONArray;"/>
+		<method name="put(ILjava/lang/Object;)Lorg/json/JSONArray;"/>
+		<method name="put(IZ)Lorg/json/JSONArray;"/>
+		<method name="put(J)Lorg/json/JSONArray;"/>
+		<method name="put(Ljava/lang/Object;)Lorg/json/JSONArray;"/>
+		<method name="put(Z)Lorg/json/JSONArray;"/>
+		<method name="remove(I)Ljava/lang/Object;" since="19"/>
+		<method name="toJSONObject(Lorg/json/JSONArray;)Lorg/json/JSONObject;"/>
+		<method name="toString(I)Ljava/lang/String;"/>
+	</class>
+	<class name="org/json/JSONException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Throwable;)V" since="27"/>
+		<method name="&lt;init>(Ljava/lang/Throwable;)V" since="27"/>
+	</class>
+	<class name="org/json/JSONObject" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/util/Map;)V"/>
+		<method name="&lt;init>(Lorg/json/JSONObject;[Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Lorg/json/JSONTokener;)V"/>
+		<method name="accumulate(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;"/>
+		<method name="get(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getBoolean(Ljava/lang/String;)Z"/>
+		<method name="getDouble(Ljava/lang/String;)D"/>
+		<method name="getInt(Ljava/lang/String;)I"/>
+		<method name="getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;"/>
+		<method name="getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;"/>
+		<method name="getLong(Ljava/lang/String;)J"/>
+		<method name="getString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="has(Ljava/lang/String;)Z"/>
+		<method name="isNull(Ljava/lang/String;)Z"/>
+		<method name="keys()Ljava/util/Iterator;"/>
+		<method name="length()I"/>
+		<method name="names()Lorg/json/JSONArray;"/>
+		<method name="numberToString(Ljava/lang/Number;)Ljava/lang/String;"/>
+		<method name="opt(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="optBoolean(Ljava/lang/String;)Z"/>
+		<method name="optBoolean(Ljava/lang/String;Z)Z"/>
+		<method name="optDouble(Ljava/lang/String;)D"/>
+		<method name="optDouble(Ljava/lang/String;D)D"/>
+		<method name="optInt(Ljava/lang/String;)I"/>
+		<method name="optInt(Ljava/lang/String;I)I"/>
+		<method name="optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;"/>
+		<method name="optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;"/>
+		<method name="optLong(Ljava/lang/String;)J"/>
+		<method name="optLong(Ljava/lang/String;J)J"/>
+		<method name="optString(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="put(Ljava/lang/String;D)Lorg/json/JSONObject;"/>
+		<method name="put(Ljava/lang/String;I)Lorg/json/JSONObject;"/>
+		<method name="put(Ljava/lang/String;J)Lorg/json/JSONObject;"/>
+		<method name="put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;"/>
+		<method name="put(Ljava/lang/String;Z)Lorg/json/JSONObject;"/>
+		<method name="putOpt(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;"/>
+		<method name="quote(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="remove(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="toJSONArray(Lorg/json/JSONArray;)Lorg/json/JSONArray;"/>
+		<method name="toString(I)Ljava/lang/String;"/>
+		<method name="wrap(Ljava/lang/Object;)Ljava/lang/Object;" since="19"/>
+		<field name="NULL"/>
+	</class>
+	<class name="org/json/JSONStringer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="array()Lorg/json/JSONStringer;"/>
+		<method name="endArray()Lorg/json/JSONStringer;"/>
+		<method name="endObject()Lorg/json/JSONStringer;"/>
+		<method name="key(Ljava/lang/String;)Lorg/json/JSONStringer;"/>
+		<method name="object()Lorg/json/JSONStringer;"/>
+		<method name="value(D)Lorg/json/JSONStringer;"/>
+		<method name="value(J)Lorg/json/JSONStringer;"/>
+		<method name="value(Ljava/lang/Object;)Lorg/json/JSONStringer;"/>
+		<method name="value(Z)Lorg/json/JSONStringer;"/>
+	</class>
+	<class name="org/json/JSONTokener" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="back()V"/>
+		<method name="dehexchar(C)I"/>
+		<method name="more()Z"/>
+		<method name="next()C"/>
+		<method name="next(C)C"/>
+		<method name="next(I)Ljava/lang/String;"/>
+		<method name="nextClean()C"/>
+		<method name="nextString(C)Ljava/lang/String;"/>
+		<method name="nextTo(C)Ljava/lang/String;"/>
+		<method name="nextTo(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="nextValue()Ljava/lang/Object;"/>
+		<method name="skipPast(Ljava/lang/String;)V"/>
+		<method name="skipTo(C)C"/>
+		<method name="syntaxError(Ljava/lang/String;)Lorg/json/JSONException;"/>
+	</class>
+	<class name="org/w3c/dom/Attr" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Node"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getOwnerElement()Lorg/w3c/dom/Element;"/>
+		<method name="getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo;" since="8"/>
+		<method name="getSpecified()Z"/>
+		<method name="getValue()Ljava/lang/String;"/>
+		<method name="isId()Z" since="8"/>
+		<method name="setValue(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/w3c/dom/CDATASection" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Text"/>
+	</class>
+	<class name="org/w3c/dom/CharacterData" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Node"/>
+		<method name="appendData(Ljava/lang/String;)V"/>
+		<method name="deleteData(II)V"/>
+		<method name="getData()Ljava/lang/String;"/>
+		<method name="getLength()I"/>
+		<method name="insertData(ILjava/lang/String;)V"/>
+		<method name="replaceData(IILjava/lang/String;)V"/>
+		<method name="setData(Ljava/lang/String;)V"/>
+		<method name="substringData(II)Ljava/lang/String;"/>
+	</class>
+	<class name="org/w3c/dom/Comment" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/CharacterData"/>
+	</class>
+	<class name="org/w3c/dom/DOMConfiguration" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="canSetParameter(Ljava/lang/String;Ljava/lang/Object;)Z"/>
+		<method name="getParameter(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getParameterNames()Lorg/w3c/dom/DOMStringList;"/>
+		<method name="setParameter(Ljava/lang/String;Ljava/lang/Object;)V"/>
+	</class>
+	<class name="org/w3c/dom/DOMError" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getLocation()Lorg/w3c/dom/DOMLocator;"/>
+		<method name="getMessage()Ljava/lang/String;"/>
+		<method name="getRelatedData()Ljava/lang/Object;"/>
+		<method name="getRelatedException()Ljava/lang/Object;"/>
+		<method name="getSeverity()S"/>
+		<method name="getType()Ljava/lang/String;"/>
+		<field name="SEVERITY_ERROR"/>
+		<field name="SEVERITY_FATAL_ERROR"/>
+		<field name="SEVERITY_WARNING"/>
+	</class>
+	<class name="org/w3c/dom/DOMErrorHandler" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="handleError(Lorg/w3c/dom/DOMError;)Z"/>
+	</class>
+	<class name="org/w3c/dom/DOMException" since="1">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(SLjava/lang/String;)V"/>
+		<field name="DOMSTRING_SIZE_ERR"/>
+		<field name="HIERARCHY_REQUEST_ERR"/>
+		<field name="INDEX_SIZE_ERR"/>
+		<field name="INUSE_ATTRIBUTE_ERR"/>
+		<field name="INVALID_ACCESS_ERR"/>
+		<field name="INVALID_CHARACTER_ERR"/>
+		<field name="INVALID_MODIFICATION_ERR"/>
+		<field name="INVALID_STATE_ERR"/>
+		<field name="NAMESPACE_ERR"/>
+		<field name="NOT_FOUND_ERR"/>
+		<field name="NOT_SUPPORTED_ERR"/>
+		<field name="NO_DATA_ALLOWED_ERR"/>
+		<field name="NO_MODIFICATION_ALLOWED_ERR"/>
+		<field name="SYNTAX_ERR"/>
+		<field name="TYPE_MISMATCH_ERR" since="8"/>
+		<field name="VALIDATION_ERR" since="8"/>
+		<field name="WRONG_DOCUMENT_ERR"/>
+		<field name="code"/>
+	</class>
+	<class name="org/w3c/dom/DOMImplementation" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="createDocument(Ljava/lang/String;Ljava/lang/String;Lorg/w3c/dom/DocumentType;)Lorg/w3c/dom/Document;"/>
+		<method name="createDocumentType(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/DocumentType;"/>
+		<method name="getFeature(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;" since="8"/>
+		<method name="hasFeature(Ljava/lang/String;Ljava/lang/String;)Z"/>
+	</class>
+	<class name="org/w3c/dom/DOMImplementationList" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getLength()I"/>
+		<method name="item(I)Lorg/w3c/dom/DOMImplementation;"/>
+	</class>
+	<class name="org/w3c/dom/DOMImplementationSource" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getDOMImplementation(Ljava/lang/String;)Lorg/w3c/dom/DOMImplementation;"/>
+		<method name="getDOMImplementationList(Ljava/lang/String;)Lorg/w3c/dom/DOMImplementationList;"/>
+	</class>
+	<class name="org/w3c/dom/DOMLocator" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getByteOffset()I"/>
+		<method name="getColumnNumber()I"/>
+		<method name="getLineNumber()I"/>
+		<method name="getRelatedNode()Lorg/w3c/dom/Node;"/>
+		<method name="getUri()Ljava/lang/String;"/>
+		<method name="getUtf16Offset()I"/>
+	</class>
+	<class name="org/w3c/dom/DOMStringList" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="contains(Ljava/lang/String;)Z"/>
+		<method name="getLength()I"/>
+		<method name="item(I)Ljava/lang/String;"/>
+	</class>
+	<class name="org/w3c/dom/Document" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Node"/>
+		<method name="adoptNode(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;" since="8"/>
+		<method name="createAttribute(Ljava/lang/String;)Lorg/w3c/dom/Attr;"/>
+		<method name="createAttributeNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Attr;"/>
+		<method name="createCDATASection(Ljava/lang/String;)Lorg/w3c/dom/CDATASection;"/>
+		<method name="createComment(Ljava/lang/String;)Lorg/w3c/dom/Comment;"/>
+		<method name="createDocumentFragment()Lorg/w3c/dom/DocumentFragment;"/>
+		<method name="createElement(Ljava/lang/String;)Lorg/w3c/dom/Element;"/>
+		<method name="createElementNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;"/>
+		<method name="createEntityReference(Ljava/lang/String;)Lorg/w3c/dom/EntityReference;"/>
+		<method name="createProcessingInstruction(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/ProcessingInstruction;"/>
+		<method name="createTextNode(Ljava/lang/String;)Lorg/w3c/dom/Text;"/>
+		<method name="getDoctype()Lorg/w3c/dom/DocumentType;"/>
+		<method name="getDocumentElement()Lorg/w3c/dom/Element;"/>
+		<method name="getDocumentURI()Ljava/lang/String;" since="8"/>
+		<method name="getDomConfig()Lorg/w3c/dom/DOMConfiguration;" since="8"/>
+		<method name="getElementById(Ljava/lang/String;)Lorg/w3c/dom/Element;"/>
+		<method name="getElementsByTagName(Ljava/lang/String;)Lorg/w3c/dom/NodeList;"/>
+		<method name="getElementsByTagNameNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList;"/>
+		<method name="getImplementation()Lorg/w3c/dom/DOMImplementation;"/>
+		<method name="getInputEncoding()Ljava/lang/String;" since="8"/>
+		<method name="getStrictErrorChecking()Z" since="8"/>
+		<method name="getXmlEncoding()Ljava/lang/String;" since="8"/>
+		<method name="getXmlStandalone()Z" since="8"/>
+		<method name="getXmlVersion()Ljava/lang/String;" since="8"/>
+		<method name="importNode(Lorg/w3c/dom/Node;Z)Lorg/w3c/dom/Node;"/>
+		<method name="normalizeDocument()V" since="8"/>
+		<method name="renameNode(Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Node;" since="8"/>
+		<method name="setDocumentURI(Ljava/lang/String;)V" since="8"/>
+		<method name="setStrictErrorChecking(Z)V" since="8"/>
+		<method name="setXmlStandalone(Z)V" since="8"/>
+		<method name="setXmlVersion(Ljava/lang/String;)V" since="8"/>
+	</class>
+	<class name="org/w3c/dom/DocumentFragment" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Node"/>
+	</class>
+	<class name="org/w3c/dom/DocumentType" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Node"/>
+		<method name="getEntities()Lorg/w3c/dom/NamedNodeMap;"/>
+		<method name="getInternalSubset()Ljava/lang/String;"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getNotations()Lorg/w3c/dom/NamedNodeMap;"/>
+		<method name="getPublicId()Ljava/lang/String;"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+	</class>
+	<class name="org/w3c/dom/Element" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Node"/>
+		<method name="getAttribute(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getAttributeNS(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getAttributeNode(Ljava/lang/String;)Lorg/w3c/dom/Attr;"/>
+		<method name="getAttributeNodeNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Attr;"/>
+		<method name="getElementsByTagName(Ljava/lang/String;)Lorg/w3c/dom/NodeList;"/>
+		<method name="getElementsByTagNameNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList;"/>
+		<method name="getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo;" since="8"/>
+		<method name="getTagName()Ljava/lang/String;"/>
+		<method name="hasAttribute(Ljava/lang/String;)Z"/>
+		<method name="hasAttributeNS(Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="removeAttribute(Ljava/lang/String;)V"/>
+		<method name="removeAttributeNS(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="removeAttributeNode(Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr;"/>
+		<method name="setAttribute(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setAttributeNS(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setAttributeNode(Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr;"/>
+		<method name="setAttributeNodeNS(Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr;"/>
+		<method name="setIdAttribute(Ljava/lang/String;Z)V" since="8"/>
+		<method name="setIdAttributeNS(Ljava/lang/String;Ljava/lang/String;Z)V" since="8"/>
+		<method name="setIdAttributeNode(Lorg/w3c/dom/Attr;Z)V" since="8"/>
+	</class>
+	<class name="org/w3c/dom/Entity" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Node"/>
+		<method name="getInputEncoding()Ljava/lang/String;" since="8"/>
+		<method name="getNotationName()Ljava/lang/String;"/>
+		<method name="getPublicId()Ljava/lang/String;"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+		<method name="getXmlEncoding()Ljava/lang/String;" since="8"/>
+		<method name="getXmlVersion()Ljava/lang/String;" since="8"/>
+	</class>
+	<class name="org/w3c/dom/EntityReference" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Node"/>
+	</class>
+	<class name="org/w3c/dom/NameList" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="contains(Ljava/lang/String;)Z"/>
+		<method name="containsNS(Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="getLength()I"/>
+		<method name="getName(I)Ljava/lang/String;"/>
+		<method name="getNamespaceURI(I)Ljava/lang/String;"/>
+	</class>
+	<class name="org/w3c/dom/NamedNodeMap" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getLength()I"/>
+		<method name="getNamedItem(Ljava/lang/String;)Lorg/w3c/dom/Node;"/>
+		<method name="getNamedItemNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Node;"/>
+		<method name="item(I)Lorg/w3c/dom/Node;"/>
+		<method name="removeNamedItem(Ljava/lang/String;)Lorg/w3c/dom/Node;"/>
+		<method name="removeNamedItemNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Node;"/>
+		<method name="setNamedItem(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;"/>
+		<method name="setNamedItemNS(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;"/>
+	</class>
+	<class name="org/w3c/dom/Node" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="appendChild(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;"/>
+		<method name="cloneNode(Z)Lorg/w3c/dom/Node;"/>
+		<method name="compareDocumentPosition(Lorg/w3c/dom/Node;)S" since="8"/>
+		<method name="getAttributes()Lorg/w3c/dom/NamedNodeMap;"/>
+		<method name="getBaseURI()Ljava/lang/String;" since="8"/>
+		<method name="getChildNodes()Lorg/w3c/dom/NodeList;"/>
+		<method name="getFeature(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;" since="8"/>
+		<method name="getFirstChild()Lorg/w3c/dom/Node;"/>
+		<method name="getLastChild()Lorg/w3c/dom/Node;"/>
+		<method name="getLocalName()Ljava/lang/String;"/>
+		<method name="getNamespaceURI()Ljava/lang/String;"/>
+		<method name="getNextSibling()Lorg/w3c/dom/Node;"/>
+		<method name="getNodeName()Ljava/lang/String;"/>
+		<method name="getNodeType()S"/>
+		<method name="getNodeValue()Ljava/lang/String;"/>
+		<method name="getOwnerDocument()Lorg/w3c/dom/Document;"/>
+		<method name="getParentNode()Lorg/w3c/dom/Node;"/>
+		<method name="getPrefix()Ljava/lang/String;"/>
+		<method name="getPreviousSibling()Lorg/w3c/dom/Node;"/>
+		<method name="getTextContent()Ljava/lang/String;" since="8"/>
+		<method name="getUserData(Ljava/lang/String;)Ljava/lang/Object;" since="8"/>
+		<method name="hasAttributes()Z"/>
+		<method name="hasChildNodes()Z"/>
+		<method name="insertBefore(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;"/>
+		<method name="isDefaultNamespace(Ljava/lang/String;)Z" since="8"/>
+		<method name="isEqualNode(Lorg/w3c/dom/Node;)Z" since="8"/>
+		<method name="isSameNode(Lorg/w3c/dom/Node;)Z" since="8"/>
+		<method name="isSupported(Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="lookupNamespaceURI(Ljava/lang/String;)Ljava/lang/String;" since="8"/>
+		<method name="lookupPrefix(Ljava/lang/String;)Ljava/lang/String;" since="8"/>
+		<method name="normalize()V"/>
+		<method name="removeChild(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;"/>
+		<method name="replaceChild(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;"/>
+		<method name="setNodeValue(Ljava/lang/String;)V"/>
+		<method name="setPrefix(Ljava/lang/String;)V"/>
+		<method name="setTextContent(Ljava/lang/String;)V" since="8"/>
+		<method name="setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;" since="8"/>
+		<field name="ATTRIBUTE_NODE"/>
+		<field name="CDATA_SECTION_NODE"/>
+		<field name="COMMENT_NODE"/>
+		<field name="DOCUMENT_FRAGMENT_NODE"/>
+		<field name="DOCUMENT_NODE"/>
+		<field name="DOCUMENT_POSITION_CONTAINED_BY" since="8"/>
+		<field name="DOCUMENT_POSITION_CONTAINS" since="8"/>
+		<field name="DOCUMENT_POSITION_DISCONNECTED" since="8"/>
+		<field name="DOCUMENT_POSITION_FOLLOWING" since="8"/>
+		<field name="DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" since="8"/>
+		<field name="DOCUMENT_POSITION_PRECEDING" since="8"/>
+		<field name="DOCUMENT_TYPE_NODE"/>
+		<field name="ELEMENT_NODE"/>
+		<field name="ENTITY_NODE"/>
+		<field name="ENTITY_REFERENCE_NODE"/>
+		<field name="NOTATION_NODE"/>
+		<field name="PROCESSING_INSTRUCTION_NODE"/>
+		<field name="TEXT_NODE"/>
+	</class>
+	<class name="org/w3c/dom/NodeList" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getLength()I"/>
+		<method name="item(I)Lorg/w3c/dom/Node;"/>
+	</class>
+	<class name="org/w3c/dom/Notation" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Node"/>
+		<method name="getPublicId()Ljava/lang/String;"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+	</class>
+	<class name="org/w3c/dom/ProcessingInstruction" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/Node"/>
+		<method name="getData()Ljava/lang/String;"/>
+		<method name="getTarget()Ljava/lang/String;"/>
+		<method name="setData(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/w3c/dom/Text" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/w3c/dom/CharacterData"/>
+		<method name="getWholeText()Ljava/lang/String;" since="8"/>
+		<method name="isElementContentWhitespace()Z" since="8"/>
+		<method name="replaceWholeText(Ljava/lang/String;)Lorg/w3c/dom/Text;" since="8"/>
+		<method name="splitText(I)Lorg/w3c/dom/Text;"/>
+	</class>
+	<class name="org/w3c/dom/TypeInfo" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getTypeName()Ljava/lang/String;"/>
+		<method name="getTypeNamespace()Ljava/lang/String;"/>
+		<method name="isDerivedFrom(Ljava/lang/String;Ljava/lang/String;I)Z"/>
+		<field name="DERIVATION_EXTENSION"/>
+		<field name="DERIVATION_LIST"/>
+		<field name="DERIVATION_RESTRICTION"/>
+		<field name="DERIVATION_UNION"/>
+	</class>
+	<class name="org/w3c/dom/UserDataHandler" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="handle(SLjava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)V"/>
+		<field name="NODE_ADOPTED"/>
+		<field name="NODE_CLONED"/>
+		<field name="NODE_DELETED"/>
+		<field name="NODE_IMPORTED"/>
+		<field name="NODE_RENAMED"/>
+	</class>
+	<class name="org/w3c/dom/ls/DOMImplementationLS" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="createLSInput()Lorg/w3c/dom/ls/LSInput;"/>
+		<method name="createLSOutput()Lorg/w3c/dom/ls/LSOutput;"/>
+		<method name="createLSParser(SLjava/lang/String;)Lorg/w3c/dom/ls/LSParser;"/>
+		<method name="createLSSerializer()Lorg/w3c/dom/ls/LSSerializer;"/>
+		<field name="MODE_ASYNCHRONOUS"/>
+		<field name="MODE_SYNCHRONOUS"/>
+	</class>
+	<class name="org/w3c/dom/ls/LSException" since="8">
+		<extends name="java/lang/RuntimeException"/>
+		<method name="&lt;init>(SLjava/lang/String;)V"/>
+		<field name="PARSE_ERR"/>
+		<field name="SERIALIZE_ERR"/>
+		<field name="code"/>
+	</class>
+	<class name="org/w3c/dom/ls/LSInput" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getBaseURI()Ljava/lang/String;"/>
+		<method name="getByteStream()Ljava/io/InputStream;"/>
+		<method name="getCertifiedText()Z"/>
+		<method name="getCharacterStream()Ljava/io/Reader;"/>
+		<method name="getEncoding()Ljava/lang/String;"/>
+		<method name="getPublicId()Ljava/lang/String;"/>
+		<method name="getStringData()Ljava/lang/String;"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+		<method name="setBaseURI(Ljava/lang/String;)V"/>
+		<method name="setByteStream(Ljava/io/InputStream;)V"/>
+		<method name="setCertifiedText(Z)V"/>
+		<method name="setCharacterStream(Ljava/io/Reader;)V"/>
+		<method name="setEncoding(Ljava/lang/String;)V"/>
+		<method name="setPublicId(Ljava/lang/String;)V"/>
+		<method name="setStringData(Ljava/lang/String;)V"/>
+		<method name="setSystemId(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/w3c/dom/ls/LSOutput" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getByteStream()Ljava/io/OutputStream;"/>
+		<method name="getCharacterStream()Ljava/io/Writer;"/>
+		<method name="getEncoding()Ljava/lang/String;"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+		<method name="setByteStream(Ljava/io/OutputStream;)V"/>
+		<method name="setCharacterStream(Ljava/io/Writer;)V"/>
+		<method name="setEncoding(Ljava/lang/String;)V"/>
+		<method name="setSystemId(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/w3c/dom/ls/LSParser" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="abort()V"/>
+		<method name="getAsync()Z"/>
+		<method name="getBusy()Z"/>
+		<method name="getDomConfig()Lorg/w3c/dom/DOMConfiguration;"/>
+		<method name="getFilter()Lorg/w3c/dom/ls/LSParserFilter;"/>
+		<method name="parse(Lorg/w3c/dom/ls/LSInput;)Lorg/w3c/dom/Document;"/>
+		<method name="parseURI(Ljava/lang/String;)Lorg/w3c/dom/Document;"/>
+		<method name="parseWithContext(Lorg/w3c/dom/ls/LSInput;Lorg/w3c/dom/Node;S)Lorg/w3c/dom/Node;"/>
+		<method name="setFilter(Lorg/w3c/dom/ls/LSParserFilter;)V"/>
+		<field name="ACTION_APPEND_AS_CHILDREN"/>
+		<field name="ACTION_INSERT_AFTER"/>
+		<field name="ACTION_INSERT_BEFORE"/>
+		<field name="ACTION_REPLACE"/>
+		<field name="ACTION_REPLACE_CHILDREN"/>
+	</class>
+	<class name="org/w3c/dom/ls/LSParserFilter" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="acceptNode(Lorg/w3c/dom/Node;)S"/>
+		<method name="getWhatToShow()I"/>
+		<method name="startElement(Lorg/w3c/dom/Element;)S"/>
+		<field name="FILTER_ACCEPT"/>
+		<field name="FILTER_INTERRUPT"/>
+		<field name="FILTER_REJECT"/>
+		<field name="FILTER_SKIP"/>
+	</class>
+	<class name="org/w3c/dom/ls/LSResourceResolver" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="resolveResource(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/ls/LSInput;"/>
+	</class>
+	<class name="org/w3c/dom/ls/LSSerializer" since="8">
+		<extends name="java/lang/Object"/>
+		<method name="getDomConfig()Lorg/w3c/dom/DOMConfiguration;"/>
+		<method name="getNewLine()Ljava/lang/String;"/>
+		<method name="setNewLine(Ljava/lang/String;)V"/>
+		<method name="write(Lorg/w3c/dom/Node;Lorg/w3c/dom/ls/LSOutput;)Z"/>
+		<method name="writeToString(Lorg/w3c/dom/Node;)Ljava/lang/String;"/>
+		<method name="writeToURI(Lorg/w3c/dom/Node;Ljava/lang/String;)Z"/>
+	</class>
+	<class name="org/xml/sax/AttributeList" since="1" deprecated="9">
+		<extends name="java/lang/Object"/>
+		<method name="getLength()I" deprecated="29"/>
+		<method name="getName(I)Ljava/lang/String;" deprecated="29"/>
+		<method name="getType(I)Ljava/lang/String;" deprecated="29"/>
+		<method name="getType(Ljava/lang/String;)Ljava/lang/String;" deprecated="29"/>
+		<method name="getValue(I)Ljava/lang/String;" deprecated="29"/>
+		<method name="getValue(Ljava/lang/String;)Ljava/lang/String;" deprecated="29"/>
+	</class>
+	<class name="org/xml/sax/Attributes" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getIndex(Ljava/lang/String;)I"/>
+		<method name="getIndex(Ljava/lang/String;Ljava/lang/String;)I"/>
+		<method name="getLength()I"/>
+		<method name="getLocalName(I)Ljava/lang/String;"/>
+		<method name="getQName(I)Ljava/lang/String;"/>
+		<method name="getType(I)Ljava/lang/String;"/>
+		<method name="getType(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getURI(I)Ljava/lang/String;"/>
+		<method name="getValue(I)Ljava/lang/String;"/>
+		<method name="getValue(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+	</class>
+	<class name="org/xml/sax/ContentHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="characters([CII)V"/>
+		<method name="endDocument()V"/>
+		<method name="endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="endPrefixMapping(Ljava/lang/String;)V"/>
+		<method name="ignorableWhitespace([CII)V"/>
+		<method name="processingInstruction(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setDocumentLocator(Lorg/xml/sax/Locator;)V"/>
+		<method name="skippedEntity(Ljava/lang/String;)V"/>
+		<method name="startDocument()V"/>
+		<method name="startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V"/>
+		<method name="startPrefixMapping(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/xml/sax/DTDHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="notationDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="unparsedEntityDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/xml/sax/DocumentHandler" since="1" deprecated="9">
+		<extends name="java/lang/Object"/>
+		<method name="characters([CII)V" deprecated="29"/>
+		<method name="endDocument()V" deprecated="29"/>
+		<method name="endElement(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="ignorableWhitespace([CII)V" deprecated="29"/>
+		<method name="processingInstruction(Ljava/lang/String;Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setDocumentLocator(Lorg/xml/sax/Locator;)V" deprecated="29"/>
+		<method name="startDocument()V" deprecated="29"/>
+		<method name="startElement(Ljava/lang/String;Lorg/xml/sax/AttributeList;)V" deprecated="29"/>
+	</class>
+	<class name="org/xml/sax/EntityResolver" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="resolveEntity(Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;"/>
+	</class>
+	<class name="org/xml/sax/ErrorHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="error(Lorg/xml/sax/SAXParseException;)V"/>
+		<method name="fatalError(Lorg/xml/sax/SAXParseException;)V"/>
+		<method name="warning(Lorg/xml/sax/SAXParseException;)V"/>
+	</class>
+	<class name="org/xml/sax/HandlerBase" since="1" deprecated="9">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/DTDHandler"/>
+		<implements name="org/xml/sax/DocumentHandler"/>
+		<implements name="org/xml/sax/EntityResolver"/>
+		<implements name="org/xml/sax/ErrorHandler"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+	</class>
+	<class name="org/xml/sax/InputSource" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/io/InputStream;)V"/>
+		<method name="&lt;init>(Ljava/io/Reader;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="getByteStream()Ljava/io/InputStream;"/>
+		<method name="getCharacterStream()Ljava/io/Reader;"/>
+		<method name="getEncoding()Ljava/lang/String;"/>
+		<method name="getPublicId()Ljava/lang/String;"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+		<method name="setByteStream(Ljava/io/InputStream;)V"/>
+		<method name="setCharacterStream(Ljava/io/Reader;)V"/>
+		<method name="setEncoding(Ljava/lang/String;)V"/>
+		<method name="setPublicId(Ljava/lang/String;)V"/>
+		<method name="setSystemId(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/xml/sax/Locator" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getColumnNumber()I"/>
+		<method name="getLineNumber()I"/>
+		<method name="getPublicId()Ljava/lang/String;"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+	</class>
+	<class name="org/xml/sax/Parser" since="1" deprecated="9">
+		<extends name="java/lang/Object"/>
+		<method name="parse(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="parse(Lorg/xml/sax/InputSource;)V" deprecated="29"/>
+		<method name="setDTDHandler(Lorg/xml/sax/DTDHandler;)V" deprecated="29"/>
+		<method name="setDocumentHandler(Lorg/xml/sax/DocumentHandler;)V" deprecated="29"/>
+		<method name="setEntityResolver(Lorg/xml/sax/EntityResolver;)V" deprecated="29"/>
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V" deprecated="29"/>
+		<method name="setLocale(Ljava/util/Locale;)V" deprecated="29"/>
+	</class>
+	<class name="org/xml/sax/SAXException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/Exception;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/Exception;)V"/>
+		<method name="getException()Ljava/lang/Exception;"/>
+	</class>
+	<class name="org/xml/sax/SAXNotRecognizedException" since="1">
+		<extends name="org/xml/sax/SAXException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/xml/sax/SAXNotSupportedException" since="1">
+		<extends name="org/xml/sax/SAXException"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/xml/sax/SAXParseException" since="1">
+		<extends name="org/xml/sax/SAXException"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/lang/Exception;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Lorg/xml/sax/Locator;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Lorg/xml/sax/Locator;Ljava/lang/Exception;)V"/>
+		<method name="getColumnNumber()I"/>
+		<method name="getLineNumber()I"/>
+		<method name="getPublicId()Ljava/lang/String;"/>
+		<method name="getSystemId()Ljava/lang/String;"/>
+	</class>
+	<class name="org/xml/sax/XMLFilter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/XMLReader"/>
+		<method name="getParent()Lorg/xml/sax/XMLReader;"/>
+		<method name="setParent(Lorg/xml/sax/XMLReader;)V"/>
+	</class>
+	<class name="org/xml/sax/XMLReader" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="getContentHandler()Lorg/xml/sax/ContentHandler;"/>
+		<method name="getDTDHandler()Lorg/xml/sax/DTDHandler;"/>
+		<method name="getEntityResolver()Lorg/xml/sax/EntityResolver;"/>
+		<method name="getErrorHandler()Lorg/xml/sax/ErrorHandler;"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="parse(Ljava/lang/String;)V"/>
+		<method name="parse(Lorg/xml/sax/InputSource;)V"/>
+		<method name="setContentHandler(Lorg/xml/sax/ContentHandler;)V"/>
+		<method name="setDTDHandler(Lorg/xml/sax/DTDHandler;)V"/>
+		<method name="setEntityResolver(Lorg/xml/sax/EntityResolver;)V"/>
+		<method name="setErrorHandler(Lorg/xml/sax/ErrorHandler;)V"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V"/>
+	</class>
+	<class name="org/xml/sax/ext/Attributes2" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/Attributes"/>
+		<method name="isDeclared(I)Z"/>
+		<method name="isDeclared(Ljava/lang/String;)Z"/>
+		<method name="isDeclared(Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="isSpecified(I)Z"/>
+		<method name="isSpecified(Ljava/lang/String;)Z"/>
+		<method name="isSpecified(Ljava/lang/String;Ljava/lang/String;)Z"/>
+	</class>
+	<class name="org/xml/sax/ext/Attributes2Impl" since="1">
+		<extends name="org/xml/sax/helpers/AttributesImpl"/>
+		<implements name="org/xml/sax/ext/Attributes2"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/xml/sax/Attributes;)V"/>
+		<method name="setDeclared(IZ)V"/>
+		<method name="setSpecified(IZ)V"/>
+	</class>
+	<class name="org/xml/sax/ext/DeclHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="attributeDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="elementDecl(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="externalEntityDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="internalEntityDecl(Ljava/lang/String;Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/xml/sax/ext/DefaultHandler2" since="1">
+		<extends name="org/xml/sax/helpers/DefaultHandler"/>
+		<implements name="org/xml/sax/ext/DeclHandler"/>
+		<implements name="org/xml/sax/ext/EntityResolver2"/>
+		<implements name="org/xml/sax/ext/LexicalHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/xml/sax/ext/EntityResolver2" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/EntityResolver"/>
+		<method name="getExternalSubset(Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;"/>
+		<method name="resolveEntity(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;"/>
+	</class>
+	<class name="org/xml/sax/ext/LexicalHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="comment([CII)V"/>
+		<method name="endCDATA()V"/>
+		<method name="endDTD()V"/>
+		<method name="endEntity(Ljava/lang/String;)V"/>
+		<method name="startCDATA()V"/>
+		<method name="startDTD(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="startEntity(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/xml/sax/ext/Locator2" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/Locator"/>
+		<method name="getEncoding()Ljava/lang/String;"/>
+		<method name="getXMLVersion()Ljava/lang/String;"/>
+	</class>
+	<class name="org/xml/sax/ext/Locator2Impl" since="1">
+		<extends name="org/xml/sax/helpers/LocatorImpl"/>
+		<implements name="org/xml/sax/ext/Locator2"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/xml/sax/Locator;)V"/>
+		<method name="setEncoding(Ljava/lang/String;)V"/>
+		<method name="setXMLVersion(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/xml/sax/helpers/AttributeListImpl" since="1" deprecated="9">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/AttributeList"/>
+		<method name="&lt;init>()V" deprecated="29"/>
+		<method name="&lt;init>(Lorg/xml/sax/AttributeList;)V" deprecated="29"/>
+		<method name="addAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V" deprecated="29"/>
+		<method name="clear()V" deprecated="29"/>
+		<method name="removeAttribute(Ljava/lang/String;)V" deprecated="29"/>
+		<method name="setAttributeList(Lorg/xml/sax/AttributeList;)V" deprecated="29"/>
+	</class>
+	<class name="org/xml/sax/helpers/AttributesImpl" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/Attributes"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/xml/sax/Attributes;)V"/>
+		<method name="addAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="clear()V"/>
+		<method name="removeAttribute(I)V"/>
+		<method name="setAttribute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setAttributes(Lorg/xml/sax/Attributes;)V"/>
+		<method name="setLocalName(ILjava/lang/String;)V"/>
+		<method name="setQName(ILjava/lang/String;)V"/>
+		<method name="setType(ILjava/lang/String;)V"/>
+		<method name="setURI(ILjava/lang/String;)V"/>
+		<method name="setValue(ILjava/lang/String;)V"/>
+	</class>
+	<class name="org/xml/sax/helpers/DefaultHandler" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/ContentHandler"/>
+		<implements name="org/xml/sax/DTDHandler"/>
+		<implements name="org/xml/sax/EntityResolver"/>
+		<implements name="org/xml/sax/ErrorHandler"/>
+		<method name="&lt;init>()V"/>
+	</class>
+	<class name="org/xml/sax/helpers/LocatorImpl" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/Locator"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/xml/sax/Locator;)V"/>
+		<method name="setColumnNumber(I)V"/>
+		<method name="setLineNumber(I)V"/>
+		<method name="setPublicId(Ljava/lang/String;)V"/>
+		<method name="setSystemId(Ljava/lang/String;)V"/>
+	</class>
+	<class name="org/xml/sax/helpers/NamespaceSupport" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="declarePrefix(Ljava/lang/String;Ljava/lang/String;)Z"/>
+		<method name="getDeclaredPrefixes()Ljava/util/Enumeration;"/>
+		<method name="getPrefix(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getPrefixes()Ljava/util/Enumeration;"/>
+		<method name="getPrefixes(Ljava/lang/String;)Ljava/util/Enumeration;"/>
+		<method name="getURI(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="isNamespaceDeclUris()Z"/>
+		<method name="popContext()V"/>
+		<method name="processName(Ljava/lang/String;[Ljava/lang/String;Z)[Ljava/lang/String;"/>
+		<method name="pushContext()V"/>
+		<method name="reset()V"/>
+		<method name="setNamespaceDeclUris(Z)V"/>
+		<field name="NSDECL"/>
+		<field name="XMLNS"/>
+	</class>
+	<class name="org/xml/sax/helpers/ParserAdapter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/DocumentHandler"/>
+		<implements name="org/xml/sax/XMLReader"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/xml/sax/Parser;)V"/>
+	</class>
+	<class name="org/xml/sax/helpers/ParserFactory" since="1" deprecated="9">
+		<extends name="java/lang/Object"/>
+		<method name="makeParser()Lorg/xml/sax/Parser;" deprecated="29"/>
+		<method name="makeParser(Ljava/lang/String;)Lorg/xml/sax/Parser;" deprecated="29"/>
+	</class>
+	<class name="org/xml/sax/helpers/XMLFilterImpl" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/ContentHandler"/>
+		<implements name="org/xml/sax/DTDHandler"/>
+		<implements name="org/xml/sax/EntityResolver"/>
+		<implements name="org/xml/sax/ErrorHandler"/>
+		<implements name="org/xml/sax/XMLFilter"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/xml/sax/XMLReader;)V"/>
+	</class>
+	<class name="org/xml/sax/helpers/XMLReaderAdapter" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/ContentHandler"/>
+		<implements name="org/xml/sax/Parser"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/xml/sax/XMLReader;)V"/>
+	</class>
+	<class name="org/xml/sax/helpers/XMLReaderFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="createXMLReader()Lorg/xml/sax/XMLReader;"/>
+		<method name="createXMLReader(Ljava/lang/String;)Lorg/xml/sax/XMLReader;"/>
+	</class>
+	<class name="org/xmlpull/v1/XmlPullParser" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="defineEntityReplacementText(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="getAttributeCount()I"/>
+		<method name="getAttributeName(I)Ljava/lang/String;"/>
+		<method name="getAttributeNamespace(I)Ljava/lang/String;"/>
+		<method name="getAttributePrefix(I)Ljava/lang/String;"/>
+		<method name="getAttributeType(I)Ljava/lang/String;"/>
+		<method name="getAttributeValue(I)Ljava/lang/String;"/>
+		<method name="getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getColumnNumber()I"/>
+		<method name="getDepth()I"/>
+		<method name="getEventType()I"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="getInputEncoding()Ljava/lang/String;"/>
+		<method name="getLineNumber()I"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getNamespace()Ljava/lang/String;"/>
+		<method name="getNamespace(Ljava/lang/String;)Ljava/lang/String;"/>
+		<method name="getNamespaceCount(I)I"/>
+		<method name="getNamespacePrefix(I)Ljava/lang/String;"/>
+		<method name="getNamespaceUri(I)Ljava/lang/String;"/>
+		<method name="getPositionDescription()Ljava/lang/String;"/>
+		<method name="getPrefix()Ljava/lang/String;"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="getText()Ljava/lang/String;"/>
+		<method name="getTextCharacters([I)[C"/>
+		<method name="isAttributeDefault(I)Z"/>
+		<method name="isEmptyElementTag()Z"/>
+		<method name="isWhitespace()Z"/>
+		<method name="next()I"/>
+		<method name="nextTag()I"/>
+		<method name="nextText()Ljava/lang/String;"/>
+		<method name="nextToken()I"/>
+		<method name="require(ILjava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setInput(Ljava/io/InputStream;Ljava/lang/String;)V"/>
+		<method name="setInput(Ljava/io/Reader;)V"/>
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<field name="CDSECT"/>
+		<field name="COMMENT"/>
+		<field name="DOCDECL"/>
+		<field name="END_DOCUMENT"/>
+		<field name="END_TAG"/>
+		<field name="ENTITY_REF"/>
+		<field name="FEATURE_PROCESS_DOCDECL"/>
+		<field name="FEATURE_PROCESS_NAMESPACES"/>
+		<field name="FEATURE_REPORT_NAMESPACE_ATTRIBUTES"/>
+		<field name="FEATURE_VALIDATION"/>
+		<field name="IGNORABLE_WHITESPACE"/>
+		<field name="NO_NAMESPACE"/>
+		<field name="PROCESSING_INSTRUCTION"/>
+		<field name="START_DOCUMENT"/>
+		<field name="START_TAG"/>
+		<field name="TEXT"/>
+		<field name="TYPES"/>
+	</class>
+	<class name="org/xmlpull/v1/XmlPullParserException" since="1">
+		<extends name="java/lang/Exception"/>
+		<method name="&lt;init>(Ljava/lang/String;)V"/>
+		<method name="&lt;init>(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/Throwable;)V"/>
+		<method name="getColumnNumber()I"/>
+		<method name="getDetail()Ljava/lang/Throwable;"/>
+		<method name="getLineNumber()I"/>
+		<field name="column"/>
+		<field name="detail"/>
+		<field name="row"/>
+	</class>
+	<class name="org/xmlpull/v1/XmlPullParserFactory" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="&lt;init>()V"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="isNamespaceAware()Z"/>
+		<method name="isValidating()Z"/>
+		<method name="newInstance()Lorg/xmlpull/v1/XmlPullParserFactory;"/>
+		<method name="newInstance(Ljava/lang/String;Ljava/lang/Class;)Lorg/xmlpull/v1/XmlPullParserFactory;"/>
+		<method name="newPullParser()Lorg/xmlpull/v1/XmlPullParser;"/>
+		<method name="newSerializer()Lorg/xmlpull/v1/XmlSerializer;"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setNamespaceAware(Z)V"/>
+		<method name="setValidating(Z)V"/>
+		<field name="PROPERTY_NAME"/>
+		<field name="classNamesLocation"/>
+		<field name="features"/>
+		<field name="parserClasses"/>
+		<field name="serializerClasses"/>
+	</class>
+	<class name="org/xmlpull/v1/XmlSerializer" since="1">
+		<extends name="java/lang/Object"/>
+		<method name="attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;"/>
+		<method name="cdsect(Ljava/lang/String;)V"/>
+		<method name="comment(Ljava/lang/String;)V"/>
+		<method name="docdecl(Ljava/lang/String;)V"/>
+		<method name="endDocument()V"/>
+		<method name="endTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;"/>
+		<method name="entityRef(Ljava/lang/String;)V"/>
+		<method name="flush()V"/>
+		<method name="getDepth()I"/>
+		<method name="getFeature(Ljava/lang/String;)Z"/>
+		<method name="getName()Ljava/lang/String;"/>
+		<method name="getNamespace()Ljava/lang/String;"/>
+		<method name="getPrefix(Ljava/lang/String;Z)Ljava/lang/String;"/>
+		<method name="getProperty(Ljava/lang/String;)Ljava/lang/Object;"/>
+		<method name="ignorableWhitespace(Ljava/lang/String;)V"/>
+		<method name="processingInstruction(Ljava/lang/String;)V"/>
+		<method name="setFeature(Ljava/lang/String;Z)V"/>
+		<method name="setOutput(Ljava/io/OutputStream;Ljava/lang/String;)V"/>
+		<method name="setOutput(Ljava/io/Writer;)V"/>
+		<method name="setPrefix(Ljava/lang/String;Ljava/lang/String;)V"/>
+		<method name="setProperty(Ljava/lang/String;Ljava/lang/Object;)V"/>
+		<method name="startDocument(Ljava/lang/String;Ljava/lang/Boolean;)V"/>
+		<method name="startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;"/>
+		<method name="text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;"/>
+		<method name="text([CII)Lorg/xmlpull/v1/XmlSerializer;"/>
+	</class>
+	<class name="org/xmlpull/v1/sax2/Driver" since="1">
+		<extends name="java/lang/Object"/>
+		<implements name="org/xml/sax/Attributes"/>
+		<implements name="org/xml/sax/Locator"/>
+		<implements name="org/xml/sax/XMLReader"/>
+		<method name="&lt;init>()V"/>
+		<method name="&lt;init>(Lorg/xmlpull/v1/XmlPullParser;)V"/>
+		<method name="parseSubTree(Lorg/xmlpull/v1/XmlPullParser;)V"/>
+		<method name="startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V"/>
+		<field name="APACHE_DYNAMIC_VALIDATION_FEATURE"/>
+		<field name="APACHE_SCHEMA_VALIDATION_FEATURE"/>
+		<field name="DECLARATION_HANDLER_PROPERTY"/>
+		<field name="LEXICAL_HANDLER_PROPERTY"/>
+		<field name="NAMESPACES_FEATURE"/>
+		<field name="NAMESPACE_PREFIXES_FEATURE"/>
+		<field name="VALIDATION_FEATURE"/>
+		<field name="contentHandler"/>
+		<field name="errorHandler"/>
+		<field name="pp"/>
+		<field name="systemId"/>
+	</class>
+</api>
diff --git a/32/public/framework-appsearch.jar b/32/public/framework-appsearch.jar
new file mode 100644
index 0000000..2f6adf5
--- /dev/null
+++ b/32/public/framework-appsearch.jar
Binary files differ
diff --git a/32/public/framework-graphics.jar b/32/public/framework-graphics.jar
new file mode 100644
index 0000000..3277fcb
--- /dev/null
+++ b/32/public/framework-graphics.jar
Binary files differ
diff --git a/32/public/framework-media.jar b/32/public/framework-media.jar
new file mode 100644
index 0000000..3486000
--- /dev/null
+++ b/32/public/framework-media.jar
Binary files differ
diff --git a/32/public/framework-permission-s.jar b/32/public/framework-permission-s.jar
new file mode 100644
index 0000000..b995bd3
--- /dev/null
+++ b/32/public/framework-permission-s.jar
Binary files differ
diff --git a/32/public/framework-statsd.jar b/32/public/framework-statsd.jar
new file mode 100644
index 0000000..4041be6
--- /dev/null
+++ b/32/public/framework-statsd.jar
Binary files differ
diff --git a/32/public/framework-tethering.jar b/32/public/framework-tethering.jar
new file mode 100644
index 0000000..b62b671
--- /dev/null
+++ b/32/public/framework-tethering.jar
Binary files differ
diff --git a/32/public/framework.aidl b/32/public/framework.aidl
new file mode 100644
index 0000000..3f22df1
--- /dev/null
+++ b/32/public/framework.aidl
@@ -0,0 +1,870 @@
+parcelable android.accessibilityservice.AccessibilityGestureEvent;
+parcelable android.accessibilityservice.AccessibilityServiceInfo;
+parcelable android.accounts.Account;
+parcelable android.accounts.AccountAuthenticatorResponse;
+parcelable android.accounts.AuthenticatorDescription;
+parcelable android.app.ActivityManager.MemoryInfo;
+parcelable android.app.ActivityManager.ProcessErrorStateInfo;
+parcelable android.app.ActivityManager.RecentTaskInfo;
+parcelable android.app.ActivityManager.RunningAppProcessInfo;
+parcelable android.app.ActivityManager.RunningServiceInfo;
+parcelable android.app.ActivityManager.RunningTaskInfo;
+parcelable android.app.ActivityManager.TaskDescription;
+parcelable android.app.AlarmManager.AlarmClockInfo;
+parcelable android.app.AppOpsManager.AttributedHistoricalOps;
+parcelable android.app.AppOpsManager.AttributedOpEntry;
+parcelable android.app.AppOpsManager.HistoricalOp;
+parcelable android.app.AppOpsManager.HistoricalOps;
+parcelable android.app.AppOpsManager.HistoricalPackageOps;
+parcelable android.app.AppOpsManager.HistoricalUidOps;
+parcelable android.app.AppOpsManager.OpEntry;
+parcelable android.app.AppOpsManager.OpEventProxyInfo;
+parcelable android.app.AppOpsManager.PackageOps;
+parcelable android.app.ApplicationErrorReport;
+parcelable android.app.ApplicationExitInfo;
+parcelable android.app.AsyncNotedAppOp;
+parcelable android.app.AuthenticationRequiredException;
+parcelable android.app.AutomaticZenRule;
+parcelable android.app.BackgroundServiceStartNotAllowedException;
+parcelable android.app.DirectAction;
+parcelable android.app.ForegroundServiceStartNotAllowedException;
+parcelable android.app.Fragment.SavedState;
+parcelable android.app.Notification.Action;
+parcelable android.app.Notification.BubbleMetadata;
+parcelable android.app.Notification;
+parcelable android.app.NotificationChannel;
+parcelable android.app.NotificationChannelGroup;
+parcelable android.app.NotificationManager.Policy;
+parcelable android.app.PendingIntent;
+parcelable android.app.Person;
+parcelable android.app.PictureInPictureParams;
+parcelable android.app.PictureInPictureUiState;
+parcelable android.app.RecoverableSecurityException;
+parcelable android.app.RemoteAction;
+parcelable android.app.RemoteInput;
+parcelable android.app.RuntimeAppOpAccessMessage;
+parcelable android.app.SearchableInfo;
+parcelable android.app.SyncNotedAppOp;
+parcelable android.app.VoiceInteractor.PickOptionRequest.Option;
+parcelable android.app.VoiceInteractor.Prompt;
+parcelable android.app.Vr2dDisplayProperties;
+parcelable android.app.WallpaperColors;
+parcelable android.app.WallpaperInfo;
+parcelable android.app.WindowConfiguration;
+parcelable android.app.admin.ConnectEvent;
+parcelable android.app.admin.DeviceAdminInfo;
+parcelable android.app.admin.DnsEvent;
+parcelable android.app.admin.FactoryResetProtectionPolicy;
+parcelable android.app.admin.FullyManagedDeviceProvisioningParams;
+parcelable android.app.admin.ManagedProfileProvisioningParams;
+parcelable android.app.admin.NetworkEvent;
+parcelable android.app.admin.SecurityLog.SecurityEvent;
+parcelable android.app.admin.SystemUpdateInfo;
+parcelable android.app.admin.SystemUpdatePolicy.ValidationFailedException;
+parcelable android.app.admin.SystemUpdatePolicy;
+parcelable android.app.admin.UnsafeStateException;
+parcelable android.app.assist.AssistContent;
+parcelable android.app.assist.AssistStructure;
+parcelable android.app.backup.BackupProgress;
+parcelable android.app.backup.RestoreDescription;
+parcelable android.app.backup.RestoreSet;
+parcelable android.app.blob.BlobHandle;
+parcelable android.app.blob.LeaseInfo;
+parcelable android.app.contentsuggestions.ClassificationsRequest;
+parcelable android.app.contentsuggestions.ContentClassification;
+parcelable android.app.contentsuggestions.ContentSelection;
+parcelable android.app.contentsuggestions.SelectionsRequest;
+parcelable android.app.job.JobInfo.TriggerContentUri;
+parcelable android.app.job.JobInfo;
+parcelable android.app.job.JobParameters;
+parcelable android.app.job.JobWorkItem;
+parcelable android.app.people.ConversationStatus;
+parcelable android.app.prediction.AppPredictionContext;
+parcelable android.app.prediction.AppPredictionSessionId;
+parcelable android.app.prediction.AppTarget;
+parcelable android.app.prediction.AppTargetEvent;
+parcelable android.app.prediction.AppTargetId;
+parcelable android.app.search.Query;
+parcelable android.app.search.SearchAction;
+parcelable android.app.search.SearchContext;
+parcelable android.app.search.SearchSessionId;
+parcelable android.app.search.SearchTarget;
+parcelable android.app.search.SearchTargetEvent;
+parcelable android.app.slice.Slice;
+parcelable android.app.slice.SliceItem;
+parcelable android.app.slice.SliceSpec;
+parcelable android.app.smartspace.SmartspaceAction;
+parcelable android.app.smartspace.SmartspaceConfig;
+parcelable android.app.smartspace.SmartspaceSessionId;
+parcelable android.app.smartspace.SmartspaceTarget;
+parcelable android.app.smartspace.SmartspaceTargetEvent;
+parcelable android.app.time.ExternalTimeSuggestion;
+parcelable android.app.time.TimeZoneCapabilities;
+parcelable android.app.time.TimeZoneCapabilitiesAndConfig;
+parcelable android.app.time.TimeZoneConfiguration;
+parcelable android.app.usage.CacheQuotaHint;
+parcelable android.app.usage.ConfigurationStats;
+parcelable android.app.usage.EventStats;
+parcelable android.app.usage.ExternalStorageStats;
+parcelable android.app.usage.StorageStats;
+parcelable android.app.usage.UsageEvents;
+parcelable android.app.usage.UsageStats;
+parcelable android.appwidget.AppWidgetProviderInfo;
+parcelable android.bluetooth.BluetoothClass;
+parcelable android.bluetooth.BluetoothDevice;
+parcelable android.bluetooth.BluetoothGattCharacteristic;
+parcelable android.bluetooth.BluetoothGattDescriptor;
+parcelable android.bluetooth.BluetoothGattService;
+parcelable android.bluetooth.BluetoothHealthAppConfiguration;
+parcelable android.bluetooth.BluetoothHidDeviceAppQosSettings;
+parcelable android.bluetooth.BluetoothHidDeviceAppSdpSettings;
+parcelable android.bluetooth.BufferConstraint;
+parcelable android.bluetooth.BufferConstraints;
+parcelable android.bluetooth.OobData;
+parcelable android.bluetooth.le.AdvertiseData;
+parcelable android.bluetooth.le.AdvertiseSettings;
+parcelable android.bluetooth.le.AdvertisingSetParameters;
+parcelable android.bluetooth.le.PeriodicAdvertisingParameters;
+parcelable android.bluetooth.le.ResultStorageDescriptor;
+parcelable android.bluetooth.le.ScanFilter;
+parcelable android.bluetooth.le.ScanResult;
+parcelable android.bluetooth.le.ScanSettings;
+parcelable android.companion.AssociationRequest;
+parcelable android.companion.BluetoothDeviceFilter;
+parcelable android.companion.BluetoothLeDeviceFilter;
+parcelable android.companion.DeviceFilter;
+parcelable android.companion.WifiDeviceFilter;
+parcelable android.content.AttributionSource;
+parcelable android.content.AutofillOptions;
+parcelable android.content.ClipData;
+parcelable android.content.ClipDescription;
+parcelable android.content.ComponentName;
+parcelable android.content.ContentCaptureOptions;
+parcelable android.content.ContentProviderOperation;
+parcelable android.content.ContentProviderResult;
+parcelable android.content.ContentValues;
+parcelable android.content.Intent.ShortcutIconResource;
+parcelable android.content.Intent;
+parcelable android.content.IntentFilter;
+parcelable android.content.IntentSender;
+parcelable android.content.LocusId;
+parcelable android.content.PeriodicSync;
+parcelable android.content.RestrictionEntry;
+parcelable android.content.SyncAdapterType;
+parcelable android.content.SyncInfo;
+parcelable android.content.SyncRequest;
+parcelable android.content.SyncResult;
+parcelable android.content.SyncStats;
+parcelable android.content.UriPermission;
+parcelable android.content.integrity.Rule;
+parcelable android.content.om.OverlayInfo;
+parcelable android.content.pm.ActivityInfo;
+parcelable android.content.pm.ApkChecksum;
+parcelable android.content.pm.ApplicationInfo;
+parcelable android.content.pm.Attribution;
+parcelable android.content.pm.ChangedPackages;
+parcelable android.content.pm.Checksum;
+parcelable android.content.pm.ConfigurationInfo;
+parcelable android.content.pm.FeatureGroupInfo;
+parcelable android.content.pm.FeatureInfo;
+parcelable android.content.pm.InstallSourceInfo;
+parcelable android.content.pm.InstantAppInfo;
+parcelable android.content.pm.InstantAppIntentFilter;
+parcelable android.content.pm.InstantAppRequestInfo;
+parcelable android.content.pm.InstantAppResolveInfo.InstantAppDigest;
+parcelable android.content.pm.InstantAppResolveInfo;
+parcelable android.content.pm.InstrumentationInfo;
+parcelable android.content.pm.IntentFilterVerificationInfo;
+parcelable android.content.pm.LabeledIntent;
+parcelable android.content.pm.LauncherApps.AppUsageLimit;
+parcelable android.content.pm.LauncherApps.PinItemRequest;
+parcelable android.content.pm.ModuleInfo;
+parcelable android.content.pm.PackageInfo;
+parcelable android.content.pm.PackageInstaller.SessionInfo;
+parcelable android.content.pm.PackageInstaller.SessionParams;
+parcelable android.content.pm.PackageManager.Property;
+parcelable android.content.pm.PackageStats;
+parcelable android.content.pm.PathPermission;
+parcelable android.content.pm.PermissionGroupInfo;
+parcelable android.content.pm.PermissionInfo;
+parcelable android.content.pm.ProviderInfo;
+parcelable android.content.pm.ProviderInfoList;
+parcelable android.content.pm.ResolveInfo;
+parcelable android.content.pm.ServiceInfo;
+parcelable android.content.pm.SharedLibraryInfo;
+parcelable android.content.pm.ShortcutInfo;
+parcelable android.content.pm.ShortcutManager.ShareShortcutInfo;
+parcelable android.content.pm.Signature;
+parcelable android.content.pm.SigningInfo;
+parcelable android.content.pm.SuspendDialogInfo;
+parcelable android.content.pm.UserInfo;
+parcelable android.content.pm.VersionedPackage;
+parcelable android.content.pm.permission.RuntimePermissionPresentationInfo;
+parcelable android.content.pm.verify.domain.DomainOwner;
+parcelable android.content.pm.verify.domain.DomainVerificationInfo;
+parcelable android.content.pm.verify.domain.DomainVerificationRequest;
+parcelable android.content.pm.verify.domain.DomainVerificationUserState;
+parcelable android.content.res.AssetFileDescriptor;
+parcelable android.content.res.ColorStateList;
+parcelable android.content.res.Configuration;
+parcelable android.content.res.ObbInfo;
+parcelable android.content.rollback.PackageRollbackInfo;
+parcelable android.content.rollback.RollbackInfo;
+parcelable android.database.CursorWindow;
+parcelable android.gesture.Gesture;
+parcelable android.graphics.Bitmap;
+parcelable android.graphics.Insets;
+parcelable android.graphics.ParcelableColorSpace;
+parcelable android.graphics.Point;
+parcelable android.graphics.PointF;
+parcelable android.graphics.Rect;
+parcelable android.graphics.RectF;
+parcelable android.graphics.Region;
+parcelable android.graphics.drawable.Icon;
+parcelable android.hardware.HardwareBuffer;
+parcelable android.hardware.camera2.CaptureRequest;
+parcelable android.hardware.camera2.params.OutputConfiguration;
+parcelable android.hardware.camera2.params.SessionConfiguration;
+parcelable android.hardware.display.AmbientBrightnessDayStats;
+parcelable android.hardware.display.BrightnessChangeEvent;
+parcelable android.hardware.display.BrightnessConfiguration;
+parcelable android.hardware.display.BrightnessCorrection;
+parcelable android.hardware.display.DeviceProductInfo;
+parcelable android.hardware.hdmi.HdmiDeviceInfo;
+parcelable android.hardware.hdmi.HdmiHotplugEvent;
+parcelable android.hardware.hdmi.HdmiPortInfo;
+parcelable android.hardware.lights.Light;
+parcelable android.hardware.lights.LightState;
+parcelable android.hardware.location.ContextHubInfo;
+parcelable android.hardware.location.ContextHubMessage;
+parcelable android.hardware.location.GeofenceHardwareMonitorEvent;
+parcelable android.hardware.location.MemoryRegion;
+parcelable android.hardware.location.NanoApp;
+parcelable android.hardware.location.NanoAppBinary;
+parcelable android.hardware.location.NanoAppFilter;
+parcelable android.hardware.location.NanoAppInstanceInfo;
+parcelable android.hardware.location.NanoAppMessage;
+parcelable android.hardware.location.NanoAppState;
+parcelable android.hardware.radio.Announcement;
+parcelable android.hardware.radio.ProgramList.Filter;
+parcelable android.hardware.radio.ProgramSelector.Identifier;
+parcelable android.hardware.radio.ProgramSelector;
+parcelable android.hardware.radio.RadioManager.AmBandConfig;
+parcelable android.hardware.radio.RadioManager.AmBandDescriptor;
+parcelable android.hardware.radio.RadioManager.BandConfig;
+parcelable android.hardware.radio.RadioManager.BandDescriptor;
+parcelable android.hardware.radio.RadioManager.FmBandConfig;
+parcelable android.hardware.radio.RadioManager.FmBandDescriptor;
+parcelable android.hardware.radio.RadioManager.ModuleProperties;
+parcelable android.hardware.radio.RadioManager.ProgramInfo;
+parcelable android.hardware.radio.RadioMetadata.Clock;
+parcelable android.hardware.radio.RadioMetadata;
+parcelable android.hardware.soundtrigger.KeyphraseMetadata;
+parcelable android.hardware.soundtrigger.SoundTrigger.Keyphrase;
+parcelable android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel;
+parcelable android.hardware.soundtrigger.SoundTrigger.ModelParamRange;
+parcelable android.hardware.soundtrigger.SoundTrigger.ModuleProperties;
+parcelable android.hardware.usb.UsbAccessory;
+parcelable android.hardware.usb.UsbConfiguration;
+parcelable android.hardware.usb.UsbDevice;
+parcelable android.hardware.usb.UsbEndpoint;
+parcelable android.hardware.usb.UsbInterface;
+parcelable android.hardware.usb.UsbPortStatus;
+parcelable android.location.Address;
+parcelable android.location.CorrelationVector;
+parcelable android.location.Criteria;
+parcelable android.location.GnssAntennaInfo.PhaseCenterOffset;
+parcelable android.location.GnssAntennaInfo.SphericalCorrections;
+parcelable android.location.GnssAntennaInfo;
+parcelable android.location.GnssCapabilities;
+parcelable android.location.GnssClock;
+parcelable android.location.GnssMeasurement;
+parcelable android.location.GnssMeasurementCorrections;
+parcelable android.location.GnssMeasurementRequest;
+parcelable android.location.GnssMeasurementsEvent;
+parcelable android.location.GnssNavigationMessage;
+parcelable android.location.GnssReflectingPlane;
+parcelable android.location.GnssRequest;
+parcelable android.location.GnssSingleSatCorrection;
+parcelable android.location.GnssStatus;
+parcelable android.location.GpsClock;
+parcelable android.location.GpsMeasurement;
+parcelable android.location.GpsMeasurementsEvent;
+parcelable android.location.GpsNavigationMessage;
+parcelable android.location.GpsNavigationMessageEvent;
+parcelable android.location.LastLocationRequest;
+parcelable android.location.Location;
+parcelable android.location.LocationRequest;
+parcelable android.location.SatellitePvt.ClockInfo;
+parcelable android.location.SatellitePvt.PositionEcef;
+parcelable android.location.SatellitePvt.VelocityEcef;
+parcelable android.location.SatellitePvt;
+parcelable android.location.provider.ProviderProperties;
+parcelable android.location.provider.ProviderRequest;
+parcelable android.media.ApplicationMediaCapabilities;
+parcelable android.media.AudioAttributes;
+parcelable android.media.AudioDeviceAttributes;
+parcelable android.media.AudioFocusInfo;
+parcelable android.media.AudioFormat;
+parcelable android.media.AudioPlaybackConfiguration;
+parcelable android.media.AudioRecordingConfiguration;
+parcelable android.media.MediaDescription;
+parcelable android.media.MediaMetadata;
+parcelable android.media.MediaPlayer.TrackInfo;
+parcelable android.media.MediaRoute2Info;
+parcelable android.media.MediaSyncEvent;
+parcelable android.media.PlaybackParams;
+parcelable android.media.Rating;
+parcelable android.media.RouteDiscoveryPreference;
+parcelable android.media.RoutingSessionInfo;
+parcelable android.media.Session2Command;
+parcelable android.media.Session2CommandGroup;
+parcelable android.media.Session2Token;
+parcelable android.media.VolumeShaper.Configuration;
+parcelable android.media.VolumeShaper.Operation;
+parcelable android.media.audiopolicy.AudioProductStrategy;
+parcelable android.media.audiopolicy.AudioVolumeGroup;
+parcelable android.media.browse.MediaBrowser.MediaItem;
+parcelable android.media.metrics.NetworkEvent;
+parcelable android.media.metrics.PlaybackErrorEvent;
+parcelable android.media.metrics.PlaybackMetrics;
+parcelable android.media.metrics.PlaybackStateEvent;
+parcelable android.media.metrics.TrackChangeEvent;
+parcelable android.media.midi.MidiDeviceInfo;
+parcelable android.media.midi.MidiDeviceStatus;
+parcelable android.media.musicrecognition.RecognitionRequest;
+parcelable android.media.session.MediaController.PlaybackInfo;
+parcelable android.media.session.MediaSession.QueueItem;
+parcelable android.media.session.MediaSession.Token;
+parcelable android.media.session.PlaybackState.CustomAction;
+parcelable android.media.session.PlaybackState;
+parcelable android.media.tv.DvbDeviceInfo;
+parcelable android.media.tv.TunedInfo;
+parcelable android.media.tv.TvContentRatingSystemInfo;
+parcelable android.media.tv.TvInputHardwareInfo;
+parcelable android.media.tv.TvInputInfo;
+parcelable android.media.tv.TvStreamConfig;
+parcelable android.media.tv.TvTrackInfo;
+parcelable android.net.CaptivePortal;
+parcelable android.net.CaptivePortalData;
+parcelable android.net.ConnectivityDiagnosticsManager.ConnectivityReport;
+parcelable android.net.ConnectivityDiagnosticsManager.DataStallReport;
+parcelable android.net.DhcpInfo;
+parcelable android.net.IpConfiguration;
+parcelable android.net.IpPrefix;
+parcelable android.net.IpSecAlgorithm;
+parcelable android.net.LinkAddress;
+parcelable android.net.LinkProperties;
+parcelable android.net.MacAddress;
+parcelable android.net.MatchAllNetworkSpecifier;
+parcelable android.net.NattKeepalivePacketData;
+parcelable android.net.Network;
+parcelable android.net.NetworkAgentConfig;
+parcelable android.net.NetworkCapabilities;
+parcelable android.net.NetworkInfo;
+parcelable android.net.NetworkKey;
+parcelable android.net.NetworkRequest;
+parcelable android.net.NetworkScore;
+parcelable android.net.NetworkStats;
+parcelable android.net.OemNetworkPreferences;
+parcelable android.net.ProxyInfo;
+parcelable android.net.QosSession;
+parcelable android.net.QosSocketInfo;
+parcelable android.net.RouteInfo;
+parcelable android.net.RssiCurve;
+parcelable android.net.ScoredNetwork;
+parcelable android.net.StaticIpConfiguration;
+parcelable android.net.TcpKeepalivePacketData;
+parcelable android.net.TelephonyNetworkSpecifier;
+parcelable android.net.TetheredClient.AddressInfo;
+parcelable android.net.TetheredClient;
+parcelable android.net.TetheringInterface;
+parcelable android.net.Uri;
+parcelable android.net.WifiKey;
+parcelable android.net.apf.ApfCapabilities;
+parcelable android.net.metrics.ApfProgramEvent;
+parcelable android.net.metrics.ApfStats;
+parcelable android.net.metrics.DhcpClientEvent;
+parcelable android.net.metrics.DhcpErrorEvent;
+parcelable android.net.metrics.IpConnectivityLog.Event;
+parcelable android.net.metrics.IpManagerEvent;
+parcelable android.net.metrics.IpReachabilityEvent;
+parcelable android.net.metrics.NetworkEvent;
+parcelable android.net.metrics.RaEvent;
+parcelable android.net.metrics.ValidationProbeEvent;
+parcelable android.net.nsd.NsdServiceInfo;
+parcelable android.net.sip.SipProfile;
+parcelable android.net.vcn.VcnConfig;
+parcelable android.net.vcn.VcnNetworkPolicyResult;
+parcelable android.net.wifi.CoexUnsafeChannel;
+parcelable android.net.wifi.RttManager.ParcelableRttParams;
+parcelable android.net.wifi.RttManager.ParcelableRttResults;
+parcelable android.net.wifi.RttManager.ResponderConfig;
+parcelable android.net.wifi.RttManager.RttCapabilities;
+parcelable android.net.wifi.ScanResult.InformationElement;
+parcelable android.net.wifi.ScanResult;
+parcelable android.net.wifi.SoftApCapability;
+parcelable android.net.wifi.SoftApConfiguration;
+parcelable android.net.wifi.SoftApInfo;
+parcelable android.net.wifi.SupplicantState;
+parcelable android.net.wifi.WifiAvailableChannel;
+parcelable android.net.wifi.WifiClient;
+parcelable android.net.wifi.WifiConfiguration;
+parcelable android.net.wifi.WifiConnectedSessionInfo;
+parcelable android.net.wifi.WifiEnterpriseConfig;
+parcelable android.net.wifi.WifiInfo;
+parcelable android.net.wifi.WifiManager.AddNetworkResult;
+parcelable android.net.wifi.WifiMigration.SettingsMigrationData;
+parcelable android.net.wifi.WifiNetworkConnectionStatistics;
+parcelable android.net.wifi.WifiNetworkSpecifier;
+parcelable android.net.wifi.WifiNetworkSuggestion;
+parcelable android.net.wifi.WifiScanner.HotlistSettings;
+parcelable android.net.wifi.WifiScanner.ParcelableScanData;
+parcelable android.net.wifi.WifiScanner.ParcelableScanResults;
+parcelable android.net.wifi.WifiScanner.ScanData;
+parcelable android.net.wifi.WifiScanner.ScanSettings;
+parcelable android.net.wifi.WifiScanner.WifiChangeSettings;
+parcelable android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats;
+parcelable android.net.wifi.WifiUsabilityStatsEntry.RadioStats;
+parcelable android.net.wifi.WifiUsabilityStatsEntry.RateStats;
+parcelable android.net.wifi.WifiUsabilityStatsEntry;
+parcelable android.net.wifi.WpsInfo;
+parcelable android.net.wifi.aware.AwareResources;
+parcelable android.net.wifi.aware.Characteristics;
+parcelable android.net.wifi.aware.ParcelablePeerHandle;
+parcelable android.net.wifi.aware.PublishConfig;
+parcelable android.net.wifi.aware.SubscribeConfig;
+parcelable android.net.wifi.aware.WifiAwareNetworkInfo;
+parcelable android.net.wifi.aware.WifiAwareNetworkSpecifier;
+parcelable android.net.wifi.hotspot2.OsuProvider;
+parcelable android.net.wifi.hotspot2.PasspointConfiguration;
+parcelable android.net.wifi.hotspot2.pps.Credential.CertificateCredential;
+parcelable android.net.wifi.hotspot2.pps.Credential.SimCredential;
+parcelable android.net.wifi.hotspot2.pps.Credential.UserCredential;
+parcelable android.net.wifi.hotspot2.pps.Credential;
+parcelable android.net.wifi.hotspot2.pps.HomeSp;
+parcelable android.net.wifi.nl80211.DeviceWiphyCapabilities;
+parcelable android.net.wifi.nl80211.NativeScanResult;
+parcelable android.net.wifi.nl80211.NativeWifiClient;
+parcelable android.net.wifi.nl80211.PnoNetwork;
+parcelable android.net.wifi.nl80211.PnoSettings;
+parcelable android.net.wifi.nl80211.RadioChainInfo;
+parcelable android.net.wifi.p2p.WifiP2pConfig;
+parcelable android.net.wifi.p2p.WifiP2pDevice;
+parcelable android.net.wifi.p2p.WifiP2pDeviceList;
+parcelable android.net.wifi.p2p.WifiP2pGroup;
+parcelable android.net.wifi.p2p.WifiP2pGroupList;
+parcelable android.net.wifi.p2p.WifiP2pInfo;
+parcelable android.net.wifi.p2p.WifiP2pWfdInfo;
+parcelable android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo;
+parcelable android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceRequest;
+parcelable android.net.wifi.p2p.nsd.WifiP2pServiceInfo;
+parcelable android.net.wifi.p2p.nsd.WifiP2pServiceRequest;
+parcelable android.net.wifi.p2p.nsd.WifiP2pUpnpServiceInfo;
+parcelable android.net.wifi.p2p.nsd.WifiP2pUpnpServiceRequest;
+parcelable android.net.wifi.rtt.RangingRequest;
+parcelable android.net.wifi.rtt.RangingResult;
+parcelable android.net.wifi.rtt.ResponderConfig;
+parcelable android.net.wifi.rtt.ResponderLocation;
+parcelable android.nfc.NdefMessage;
+parcelable android.nfc.NdefRecord;
+parcelable android.nfc.Tag;
+parcelable android.os.BatterySaverPolicyConfig;
+parcelable android.os.Bundle;
+parcelable android.os.CombinedVibration.Mono;
+parcelable android.os.CombinedVibration.Sequential;
+parcelable android.os.CombinedVibration.Stereo;
+parcelable android.os.CombinedVibration;
+parcelable android.os.CpuUsageInfo;
+parcelable android.os.Debug.MemoryInfo;
+parcelable android.os.DropBoxManager.Entry;
+parcelable android.os.IncidentManager.IncidentReport;
+parcelable android.os.IncidentReportArgs;
+parcelable android.os.LocaleList;
+parcelable android.os.Message;
+parcelable android.os.Messenger;
+parcelable android.os.PackageTagsList;
+parcelable android.os.ParcelFileDescriptor;
+parcelable android.os.ParcelUuid;
+parcelable android.os.ParcelableHolder;
+parcelable android.os.PatternMatcher;
+parcelable android.os.PersistableBundle;
+parcelable android.os.RemoteCallback;
+parcelable android.os.ResultReceiver;
+parcelable android.os.SharedMemory;
+parcelable android.os.StatsDimensionsValue;
+parcelable android.os.StrictMode.ViolationInfo;
+parcelable android.os.UserHandle;
+parcelable android.os.UserManager.EnforcingUser;
+parcelable android.os.VibrationAttributes;
+parcelable android.os.VibrationEffect.Composed;
+parcelable android.os.VibrationEffect;
+parcelable android.os.WorkSource.WorkChain;
+parcelable android.os.WorkSource;
+parcelable android.os.connectivity.CellularBatteryStats;
+parcelable android.os.connectivity.WifiActivityEnergyInfo;
+parcelable android.os.connectivity.WifiBatteryStats;
+parcelable android.os.health.HealthStatsParceler;
+parcelable android.os.health.TimerStat;
+parcelable android.os.storage.CrateInfo;
+parcelable android.os.storage.StorageVolume;
+parcelable android.os.vibrator.PrebakedSegment;
+parcelable android.os.vibrator.PrimitiveSegment;
+parcelable android.os.vibrator.RampSegment;
+parcelable android.os.vibrator.StepSegment;
+parcelable android.os.vibrator.VibrationEffectSegment;
+parcelable android.permission.AdminPermissionControlParams;
+parcelable android.permission.RuntimePermissionPresentationInfo;
+parcelable android.permission.RuntimePermissionUsageInfo;
+parcelable android.preference.Preference.BaseSavedState;
+parcelable android.preference.PreferenceActivity.Header;
+parcelable android.print.PageRange;
+parcelable android.print.PrintAttributes;
+parcelable android.print.PrintDocumentInfo;
+parcelable android.print.PrintJobId;
+parcelable android.print.PrintJobInfo;
+parcelable android.print.PrinterCapabilitiesInfo;
+parcelable android.print.PrinterId;
+parcelable android.print.PrinterInfo;
+parcelable android.printservice.PrintServiceInfo;
+parcelable android.printservice.recommendation.RecommendationInfo;
+parcelable android.provider.ContactsContract.SimAccount;
+parcelable android.provider.DocumentsContract.Path;
+parcelable android.security.AppUriAuthenticationPolicy;
+parcelable android.security.keystore.recovery.KeyChainProtectionParams;
+parcelable android.security.keystore.recovery.KeyChainSnapshot;
+parcelable android.security.keystore.recovery.KeyDerivationParams;
+parcelable android.security.keystore.recovery.WrappedApplicationKey;
+parcelable android.service.autofill.BatchUpdates;
+parcelable android.service.autofill.CharSequenceTransformation;
+parcelable android.service.autofill.CompositeUserData;
+parcelable android.service.autofill.CustomDescription;
+parcelable android.service.autofill.Dataset;
+parcelable android.service.autofill.DateTransformation;
+parcelable android.service.autofill.DateValueSanitizer;
+parcelable android.service.autofill.FillContext;
+parcelable android.service.autofill.FillEventHistory;
+parcelable android.service.autofill.FillRequest;
+parcelable android.service.autofill.FillResponse;
+parcelable android.service.autofill.ImageTransformation;
+parcelable android.service.autofill.InlinePresentation;
+parcelable android.service.autofill.InternalOnClickAction;
+parcelable android.service.autofill.InternalSanitizer;
+parcelable android.service.autofill.InternalTransformation;
+parcelable android.service.autofill.InternalValidator;
+parcelable android.service.autofill.LuhnChecksumValidator;
+parcelable android.service.autofill.RegexValidator;
+parcelable android.service.autofill.SaveInfo;
+parcelable android.service.autofill.SaveRequest;
+parcelable android.service.autofill.TextValueSanitizer;
+parcelable android.service.autofill.UserData;
+parcelable android.service.autofill.VisibilitySetterAction;
+parcelable android.service.carrier.CarrierIdentifier;
+parcelable android.service.carrier.MessagePdu;
+parcelable android.service.chooser.ChooserTarget;
+parcelable android.service.contentcapture.ActivityEvent;
+parcelable android.service.contentcapture.SnapshotData;
+parcelable android.service.controls.Control;
+parcelable android.service.controls.templates.ControlButton;
+parcelable android.service.displayhash.DisplayHashParams;
+parcelable android.service.euicc.DownloadSubscriptionResult;
+parcelable android.service.euicc.EuiccProfileInfo;
+parcelable android.service.euicc.GetDefaultDownloadableSubscriptionListResult;
+parcelable android.service.euicc.GetDownloadableSubscriptionMetadataResult;
+parcelable android.service.euicc.GetEuiccProfileInfoListResult;
+parcelable android.service.notification.Adjustment;
+parcelable android.service.notification.Condition;
+parcelable android.service.notification.NotificationListenerService.RankingMap;
+parcelable android.service.notification.NotificationStats;
+parcelable android.service.notification.SnoozeCriterion;
+parcelable android.service.notification.StatusBarNotification;
+parcelable android.service.notification.ZenPolicy;
+parcelable android.service.quickaccesswallet.GetWalletCardsError;
+parcelable android.service.quickaccesswallet.GetWalletCardsRequest;
+parcelable android.service.quickaccesswallet.GetWalletCardsResponse;
+parcelable android.service.quickaccesswallet.SelectWalletCardRequest;
+parcelable android.service.quickaccesswallet.WalletCard;
+parcelable android.service.quickaccesswallet.WalletServiceEvent;
+parcelable android.service.quicksettings.Tile;
+parcelable android.service.resolver.ResolverTarget;
+parcelable android.service.rotationresolver.RotationResolutionRequest;
+parcelable android.service.settings.suggestions.Suggestion;
+parcelable android.service.timezone.TimeZoneProviderSuggestion;
+parcelable android.service.voice.HotwordDetectedResult;
+parcelable android.service.voice.HotwordRejectedResult;
+parcelable android.service.voice.VisibleActivityInfo;
+parcelable android.service.watchdog.ExplicitHealthCheckService.PackageConfig;
+parcelable android.speech.tts.Voice;
+parcelable android.telecom.AudioState;
+parcelable android.telecom.BluetoothCallQualityReport;
+parcelable android.telecom.CallAudioState;
+parcelable android.telecom.Connection.CallFilteringCompletionInfo;
+parcelable android.telecom.ConnectionRequest;
+parcelable android.telecom.DisconnectCause;
+parcelable android.telecom.GatewayInfo;
+parcelable android.telecom.ParcelableCallAnalytics.AnalyticsEvent;
+parcelable android.telecom.ParcelableCallAnalytics.EventTiming;
+parcelable android.telecom.ParcelableCallAnalytics;
+parcelable android.telecom.PhoneAccount;
+parcelable android.telecom.PhoneAccountHandle;
+parcelable android.telecom.PhoneAccountSuggestion;
+parcelable android.telecom.StatusHints;
+parcelable android.telecom.TelecomAnalytics.SessionTiming;
+parcelable android.telecom.TelecomAnalytics;
+parcelable android.telecom.VideoProfile.CameraCapabilities;
+parcelable android.telecom.VideoProfile;
+parcelable android.telephony.AvailableNetworkInfo;
+parcelable android.telephony.BarringInfo.BarringServiceInfo;
+parcelable android.telephony.BarringInfo;
+parcelable android.telephony.CallAttributes;
+parcelable android.telephony.CallForwardingInfo;
+parcelable android.telephony.CallQuality;
+parcelable android.telephony.CarrierRestrictionRules;
+parcelable android.telephony.CellIdentity;
+parcelable android.telephony.CellIdentityCdma;
+parcelable android.telephony.CellIdentityGsm;
+parcelable android.telephony.CellIdentityLte;
+parcelable android.telephony.CellIdentityNr;
+parcelable android.telephony.CellIdentityTdscdma;
+parcelable android.telephony.CellIdentityWcdma;
+parcelable android.telephony.CellInfo;
+parcelable android.telephony.CellInfoCdma;
+parcelable android.telephony.CellInfoGsm;
+parcelable android.telephony.CellInfoLte;
+parcelable android.telephony.CellInfoNr;
+parcelable android.telephony.CellInfoTdscdma;
+parcelable android.telephony.CellInfoWcdma;
+parcelable android.telephony.CellSignalStrengthCdma;
+parcelable android.telephony.CellSignalStrengthGsm;
+parcelable android.telephony.CellSignalStrengthLte;
+parcelable android.telephony.CellSignalStrengthNr;
+parcelable android.telephony.CellSignalStrengthTdscdma;
+parcelable android.telephony.CellSignalStrengthWcdma;
+parcelable android.telephony.ClosedSubscriberGroupInfo;
+parcelable android.telephony.DataSpecificRegistrationInfo;
+parcelable android.telephony.DataThrottlingRequest;
+parcelable android.telephony.IccOpenLogicalChannelResponse;
+parcelable android.telephony.ImsiEncryptionInfo;
+parcelable android.telephony.LinkCapacityEstimate;
+parcelable android.telephony.LteVopsSupportInfo;
+parcelable android.telephony.ModemActivityInfo;
+parcelable android.telephony.NeighboringCellInfo;
+parcelable android.telephony.NetworkRegistrationInfo;
+parcelable android.telephony.NetworkScanRequest;
+parcelable android.telephony.NrVopsSupportInfo;
+parcelable android.telephony.PhoneCapability;
+parcelable android.telephony.PhoneNumberRange;
+parcelable android.telephony.PhysicalChannelConfig;
+parcelable android.telephony.PinResult;
+parcelable android.telephony.PreciseCallState;
+parcelable android.telephony.PreciseDataConnectionState;
+parcelable android.telephony.RadioAccessSpecifier;
+parcelable android.telephony.ServiceState;
+parcelable android.telephony.SignalStrength;
+parcelable android.telephony.SignalStrengthUpdateRequest;
+parcelable android.telephony.SignalThresholdInfo;
+parcelable android.telephony.SmsCbCmasInfo;
+parcelable android.telephony.SmsCbEtwsInfo;
+parcelable android.telephony.SmsCbLocation;
+parcelable android.telephony.SmsCbMessage;
+parcelable android.telephony.SubscriptionInfo;
+parcelable android.telephony.SubscriptionPlan;
+parcelable android.telephony.TelephonyDisplayInfo;
+parcelable android.telephony.TelephonyHistogram;
+parcelable android.telephony.ThermalMitigationRequest;
+parcelable android.telephony.UiccAccessRule;
+parcelable android.telephony.UiccCardInfo;
+parcelable android.telephony.UiccSlotInfo;
+parcelable android.telephony.VisualVoicemailSms;
+parcelable android.telephony.VisualVoicemailSmsFilterSettings;
+parcelable android.telephony.VopsSupportInfo;
+parcelable android.telephony.cdma.CdmaSmsCbProgramData;
+parcelable android.telephony.data.ApnSetting;
+parcelable android.telephony.data.DataCallResponse;
+parcelable android.telephony.data.DataProfile;
+parcelable android.telephony.data.EpsBearerQosSessionAttributes;
+parcelable android.telephony.data.NetworkSliceInfo;
+parcelable android.telephony.data.NetworkSlicingConfig;
+parcelable android.telephony.data.NrQosSessionAttributes;
+parcelable android.telephony.data.RouteSelectionDescriptor;
+parcelable android.telephony.data.ThrottleStatus;
+parcelable android.telephony.data.TrafficDescriptor;
+parcelable android.telephony.data.UrspRule;
+parcelable android.telephony.emergency.EmergencyNumber;
+parcelable android.telephony.euicc.DownloadableSubscription;
+parcelable android.telephony.euicc.EuiccInfo;
+parcelable android.telephony.euicc.EuiccNotification;
+parcelable android.telephony.euicc.EuiccRulesAuthTable;
+parcelable android.telephony.gba.UaSecurityProtocolIdentifier;
+parcelable android.telephony.ims.AudioCodecAttributes;
+parcelable android.telephony.ims.DelegateRegistrationState;
+parcelable android.telephony.ims.DelegateRequest;
+parcelable android.telephony.ims.FeatureTagState;
+parcelable android.telephony.ims.ImsCallForwardInfo;
+parcelable android.telephony.ims.ImsCallProfile;
+parcelable android.telephony.ims.ImsConferenceState;
+parcelable android.telephony.ims.ImsExternalCallState;
+parcelable android.telephony.ims.ImsReasonInfo;
+parcelable android.telephony.ims.ImsRegistrationAttributes;
+parcelable android.telephony.ims.ImsSsData;
+parcelable android.telephony.ims.ImsSsInfo;
+parcelable android.telephony.ims.ImsStreamMediaProfile;
+parcelable android.telephony.ims.ImsSuppServiceNotification;
+parcelable android.telephony.ims.RcsClientConfiguration;
+parcelable android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities;
+parcelable android.telephony.ims.RcsContactPresenceTuple;
+parcelable android.telephony.ims.RcsContactUceCapability;
+parcelable android.telephony.ims.RtpHeaderExtension;
+parcelable android.telephony.ims.RtpHeaderExtensionType;
+parcelable android.telephony.ims.SipDelegateConfiguration;
+parcelable android.telephony.ims.SipMessage;
+parcelable android.telephony.ims.feature.CapabilityChangeRequest;
+parcelable android.telephony.ims.stub.ImsFeatureConfiguration;
+parcelable android.telephony.mbms.DownloadRequest;
+parcelable android.telephony.mbms.FileInfo;
+parcelable android.telephony.mbms.FileServiceInfo;
+parcelable android.telephony.mbms.StreamingServiceInfo;
+parcelable android.telephony.mbms.UriPathPair;
+parcelable android.text.Annotation;
+parcelable android.text.FontConfig.Alias;
+parcelable android.text.FontConfig.Font;
+parcelable android.text.FontConfig.FontFamily;
+parcelable android.text.FontConfig;
+parcelable android.text.ParcelableSpan;
+parcelable android.text.style.AbsoluteSizeSpan;
+parcelable android.text.style.AlignmentSpan.Standard;
+parcelable android.text.style.BackgroundColorSpan;
+parcelable android.text.style.BulletSpan;
+parcelable android.text.style.EasyEditSpan;
+parcelable android.text.style.ForegroundColorSpan;
+parcelable android.text.style.LeadingMarginSpan.Standard;
+parcelable android.text.style.LineBackgroundSpan.Standard;
+parcelable android.text.style.LineHeightSpan.Standard;
+parcelable android.text.style.LocaleSpan;
+parcelable android.text.style.QuoteSpan;
+parcelable android.text.style.RelativeSizeSpan;
+parcelable android.text.style.ScaleXSpan;
+parcelable android.text.style.StrikethroughSpan;
+parcelable android.text.style.StyleSpan;
+parcelable android.text.style.SubscriptSpan;
+parcelable android.text.style.SuggestionSpan;
+parcelable android.text.style.SuperscriptSpan;
+parcelable android.text.style.TextAppearanceSpan;
+parcelable android.text.style.TtsSpan;
+parcelable android.text.style.TypefaceSpan;
+parcelable android.text.style.URLSpan;
+parcelable android.text.style.UnderlineSpan;
+parcelable android.util.SizeF;
+parcelable android.uwb.AngleMeasurement;
+parcelable android.uwb.AngleOfArrivalMeasurement;
+parcelable android.uwb.DistanceMeasurement;
+parcelable android.uwb.RangingMeasurement;
+parcelable android.uwb.RangingReport;
+parcelable android.uwb.UwbAddress;
+parcelable android.view.AbsSavedState;
+parcelable android.view.ContentInfo;
+parcelable android.view.Display.HdrCapabilities;
+parcelable android.view.Display.Mode;
+parcelable android.view.DragAndDropPermissions;
+parcelable android.view.DragEvent;
+parcelable android.view.InputDevice;
+parcelable android.view.InputEvent;
+parcelable android.view.KeyCharacterMap;
+parcelable android.view.KeyEvent;
+parcelable android.view.KeyboardShortcutGroup;
+parcelable android.view.KeyboardShortcutInfo;
+parcelable android.view.MotionEvent;
+parcelable android.view.PointerIcon;
+parcelable android.view.RoundedCorner;
+parcelable android.view.Surface;
+parcelable android.view.SurfaceControl.Transaction;
+parcelable android.view.SurfaceControl;
+parcelable android.view.SurfaceControlViewHost.SurfacePackage;
+parcelable android.view.VerifiedInputEvent;
+parcelable android.view.VerifiedKeyEvent;
+parcelable android.view.VerifiedMotionEvent;
+parcelable android.view.View.BaseSavedState;
+parcelable android.view.WindowAnimationFrameStats;
+parcelable android.view.WindowContentFrameStats;
+parcelable android.view.WindowId;
+parcelable android.view.WindowManager.LayoutParams;
+parcelable android.view.accessibility.AccessibilityEvent;
+parcelable android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
+parcelable android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo;
+parcelable android.view.accessibility.AccessibilityNodeInfo;
+parcelable android.view.accessibility.AccessibilityWindowInfo;
+parcelable android.view.autofill.AutofillId;
+parcelable android.view.autofill.AutofillValue;
+parcelable android.view.contentcapture.ContentCaptureCondition;
+parcelable android.view.contentcapture.ContentCaptureContext;
+parcelable android.view.contentcapture.ContentCaptureEvent;
+parcelable android.view.contentcapture.ContentCaptureSessionId;
+parcelable android.view.contentcapture.DataRemovalRequest;
+parcelable android.view.contentcapture.DataShareRequest;
+parcelable android.view.displayhash.DisplayHash;
+parcelable android.view.displayhash.VerifiedDisplayHash;
+parcelable android.view.inputmethod.CompletionInfo;
+parcelable android.view.inputmethod.CorrectionInfo;
+parcelable android.view.inputmethod.CursorAnchorInfo;
+parcelable android.view.inputmethod.EditorInfo;
+parcelable android.view.inputmethod.ExtractedText;
+parcelable android.view.inputmethod.ExtractedTextRequest;
+parcelable android.view.inputmethod.InlineSuggestion;
+parcelable android.view.inputmethod.InlineSuggestionInfo;
+parcelable android.view.inputmethod.InlineSuggestionsRequest;
+parcelable android.view.inputmethod.InlineSuggestionsResponse;
+parcelable android.view.inputmethod.InputBinding;
+parcelable android.view.inputmethod.InputContentInfo;
+parcelable android.view.inputmethod.InputMethodInfo;
+parcelable android.view.inputmethod.InputMethodSubtype;
+parcelable android.view.inputmethod.SurroundingText;
+parcelable android.view.textclassifier.ConversationAction;
+parcelable android.view.textclassifier.ConversationActions.Message;
+parcelable android.view.textclassifier.ConversationActions.Request;
+parcelable android.view.textclassifier.ConversationActions;
+parcelable android.view.textclassifier.SelectionEvent;
+parcelable android.view.textclassifier.TextClassification.Request;
+parcelable android.view.textclassifier.TextClassification;
+parcelable android.view.textclassifier.TextClassificationContext;
+parcelable android.view.textclassifier.TextClassificationSessionId;
+parcelable android.view.textclassifier.TextClassifier.EntityConfig;
+parcelable android.view.textclassifier.TextClassifierEvent.ConversationActionsEvent;
+parcelable android.view.textclassifier.TextClassifierEvent.LanguageDetectionEvent;
+parcelable android.view.textclassifier.TextClassifierEvent.TextLinkifyEvent;
+parcelable android.view.textclassifier.TextClassifierEvent.TextSelectionEvent;
+parcelable android.view.textclassifier.TextClassifierEvent;
+parcelable android.view.textclassifier.TextLanguage.Request;
+parcelable android.view.textclassifier.TextLanguage;
+parcelable android.view.textclassifier.TextLinks.Request;
+parcelable android.view.textclassifier.TextLinks.TextLink;
+parcelable android.view.textclassifier.TextLinks;
+parcelable android.view.textclassifier.TextSelection.Request;
+parcelable android.view.textclassifier.TextSelection;
+parcelable android.view.textservice.SentenceSuggestionsInfo;
+parcelable android.view.textservice.SpellCheckerInfo;
+parcelable android.view.textservice.SpellCheckerSubtype;
+parcelable android.view.textservice.SuggestionsInfo;
+parcelable android.view.textservice.TextInfo;
+parcelable android.view.translation.TranslationCapability;
+parcelable android.view.translation.TranslationContext;
+parcelable android.view.translation.TranslationRequest;
+parcelable android.view.translation.TranslationRequestValue;
+parcelable android.view.translation.TranslationResponse;
+parcelable android.view.translation.TranslationResponseValue;
+parcelable android.view.translation.TranslationSpec;
+parcelable android.view.translation.UiTranslationSpec;
+parcelable android.view.translation.ViewTranslationRequest;
+parcelable android.view.translation.ViewTranslationResponse;
+parcelable android.webkit.WebViewProviderInfo;
+parcelable android.widget.RemoteViews.RemoteCollectionItems;
+parcelable android.widget.RemoteViews;
+parcelable android.widget.TextView.SavedState;
+parcelable android.widget.inline.InlinePresentationSpec;
+parcelable android.window.DisplayAreaAppearedInfo;
+parcelable android.window.DisplayAreaInfo;
+parcelable android.window.TaskAppearedInfo;
+parcelable android.window.TaskFragmentCreationParams;
+parcelable android.window.TaskFragmentInfo;
+parcelable android.window.TaskFragmentOrganizerToken;
+parcelable android.window.WindowContainerToken;
+parcelable android.window.WindowContainerTransaction;
diff --git a/32/public/javax.obex.jar b/32/public/javax.obex.jar
new file mode 100644
index 0000000..ad2198b
--- /dev/null
+++ b/32/public/javax.obex.jar
Binary files differ
diff --git a/32/public/org.apache.http.legacy.jar b/32/public/org.apache.http.legacy.jar
new file mode 100644
index 0000000..6d54f6d
--- /dev/null
+++ b/32/public/org.apache.http.legacy.jar
Binary files differ
diff --git a/32/public/runtime-i18n.jar b/32/public/runtime-i18n.jar
new file mode 100644
index 0000000..57ca95d
--- /dev/null
+++ b/32/public/runtime-i18n.jar
Binary files differ
diff --git a/32/public/service-media-s.jar b/32/public/service-media-s.jar
new file mode 100644
index 0000000..b62b671
--- /dev/null
+++ b/32/public/service-media-s.jar
Binary files differ
diff --git a/32/public/service-permission.jar b/32/public/service-permission.jar
new file mode 100644
index 0000000..b62b671
--- /dev/null
+++ b/32/public/service-permission.jar
Binary files differ
diff --git a/32/public/uiautomator.jar b/32/public/uiautomator.jar
new file mode 100644
index 0000000..c83cba0
--- /dev/null
+++ b/32/public/uiautomator.jar
Binary files differ
diff --git a/32/system-server/android.jar b/32/system-server/android.jar
new file mode 100644
index 0000000..294eb0b
--- /dev/null
+++ b/32/system-server/android.jar
Binary files differ
diff --git a/32/system-server/api/android-non-updatable-removed.txt b/32/system-server/api/android-non-updatable-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system-server/api/android-non-updatable-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system-server/api/android-non-updatable.txt b/32/system-server/api/android-non-updatable.txt
new file mode 100644
index 0000000..50f0052
--- /dev/null
+++ b/32/system-server/api/android-non-updatable.txt
@@ -0,0 +1,85 @@
+// Signature format: 2.0
+package com.android.server {
+
+  public final class LocalManagerRegistry {
+    method public static <T> void addManager(@NonNull Class<T>, @NonNull T);
+    method @Nullable public static <T> T getManager(@NonNull Class<T>);
+  }
+
+  public abstract class SystemService {
+    ctor public SystemService(@NonNull android.content.Context);
+    method @NonNull public final android.content.Context getContext();
+    method public boolean isUserSupported(@NonNull com.android.server.SystemService.TargetUser);
+    method public void onBootPhase(int);
+    method public abstract void onStart();
+    method public void onUserStarting(@NonNull com.android.server.SystemService.TargetUser);
+    method public void onUserStopped(@NonNull com.android.server.SystemService.TargetUser);
+    method public void onUserStopping(@NonNull com.android.server.SystemService.TargetUser);
+    method public void onUserSwitching(@Nullable com.android.server.SystemService.TargetUser, @NonNull com.android.server.SystemService.TargetUser);
+    method public void onUserUnlocked(@NonNull com.android.server.SystemService.TargetUser);
+    method public void onUserUnlocking(@NonNull com.android.server.SystemService.TargetUser);
+    method protected final void publishBinderService(@NonNull String, @NonNull android.os.IBinder);
+    method protected final void publishBinderService(@NonNull String, @NonNull android.os.IBinder, boolean);
+    field public static final int PHASE_ACTIVITY_MANAGER_READY = 550; // 0x226
+    field public static final int PHASE_BOOT_COMPLETED = 1000; // 0x3e8
+    field public static final int PHASE_DEVICE_SPECIFIC_SERVICES_READY = 520; // 0x208
+    field public static final int PHASE_LOCK_SETTINGS_READY = 480; // 0x1e0
+    field public static final int PHASE_SYSTEM_SERVICES_READY = 500; // 0x1f4
+    field public static final int PHASE_THIRD_PARTY_APPS_CAN_START = 600; // 0x258
+    field public static final int PHASE_WAIT_FOR_DEFAULT_DISPLAY = 100; // 0x64
+  }
+
+  public static final class SystemService.TargetUser {
+    method @NonNull public android.os.UserHandle getUserHandle();
+  }
+
+}
+
+package com.android.server.am {
+
+  public interface ActivityManagerLocal {
+    method public boolean canStartForegroundService(int, int, @NonNull String);
+  }
+
+}
+
+package com.android.server.role {
+
+  public interface RoleServicePlatformHelper {
+    method @NonNull public String computePackageStateHash(int);
+    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getLegacyRoleState(int);
+  }
+
+}
+
+package com.android.server.stats {
+
+  public final class StatsHelper {
+    method public static void sendStatsdReadyBroadcast(@NonNull android.content.Context);
+  }
+
+}
+
+package com.android.server.usage {
+
+  public interface StorageStatsManagerLocal {
+    method public void registerStorageStatsAugmenter(@NonNull com.android.server.usage.StorageStatsManagerLocal.StorageStatsAugmenter, @NonNull String);
+  }
+
+  public static interface StorageStatsManagerLocal.StorageStatsAugmenter {
+    method public void augmentStatsForPackageForUser(@NonNull android.content.pm.PackageStats, @NonNull String, @NonNull android.os.UserHandle, boolean);
+    method public void augmentStatsForUid(@NonNull android.content.pm.PackageStats, int, boolean);
+    method public void augmentStatsForUser(@NonNull android.content.pm.PackageStats, @NonNull android.os.UserHandle);
+  }
+
+}
+
+package com.android.server.wifi {
+
+  public class SupplicantManager {
+    method public static void start();
+    method public static void stop();
+  }
+
+}
+
diff --git a/32/system-server/api/android.txt b/32/system-server/api/android.txt
new file mode 100644
index 0000000..00b5717
--- /dev/null
+++ b/32/system-server/api/android.txt
@@ -0,0 +1,138 @@
+// Signature format: 2.0
+package com.android.permission.persistence {
+
+  public interface RuntimePermissionsPersistence {
+    method @NonNull public static com.android.permission.persistence.RuntimePermissionsPersistence createInstance();
+    method public void deleteForUser(@NonNull android.os.UserHandle);
+    method @Nullable public com.android.permission.persistence.RuntimePermissionsState readForUser(@NonNull android.os.UserHandle);
+    method public void writeForUser(@NonNull com.android.permission.persistence.RuntimePermissionsState, @NonNull android.os.UserHandle);
+  }
+
+  public final class RuntimePermissionsState {
+    ctor public RuntimePermissionsState(int, @Nullable String, @NonNull java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>>, @NonNull java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>>);
+    method @Nullable public String getFingerprint();
+    method @NonNull public java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>> getPackagePermissions();
+    method @NonNull public java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>> getSharedUserPermissions();
+    method public int getVersion();
+    field public static final int NO_VERSION = -1; // 0xffffffff
+  }
+
+  public static final class RuntimePermissionsState.PermissionState {
+    ctor public RuntimePermissionsState.PermissionState(@NonNull String, boolean, int);
+    method public int getFlags();
+    method @NonNull public String getName();
+    method public boolean isGranted();
+  }
+
+}
+
+package com.android.role {
+
+  public interface RoleManagerLocal {
+    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getRolesAndHolders(int);
+  }
+
+}
+
+package com.android.role.persistence {
+
+  public interface RolesPersistence {
+    method @NonNull public static com.android.role.persistence.RolesPersistence createInstance();
+    method public void deleteForUser(@NonNull android.os.UserHandle);
+    method @Nullable public com.android.role.persistence.RolesState readForUser(@NonNull android.os.UserHandle);
+    method public void writeForUser(@NonNull com.android.role.persistence.RolesState, @NonNull android.os.UserHandle);
+  }
+
+  public final class RolesState {
+    ctor public RolesState(int, @Nullable String, @NonNull java.util.Map<java.lang.String,java.util.Set<java.lang.String>>);
+    method @Nullable public String getPackagesHash();
+    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getRoles();
+    method public int getVersion();
+  }
+
+}
+
+package com.android.server {
+
+  public final class LocalManagerRegistry {
+    method public static <T> void addManager(@NonNull Class<T>, @NonNull T);
+    method @Nullable public static <T> T getManager(@NonNull Class<T>);
+  }
+
+  public abstract class SystemService {
+    ctor public SystemService(@NonNull android.content.Context);
+    method @NonNull public final android.content.Context getContext();
+    method public boolean isUserSupported(@NonNull com.android.server.SystemService.TargetUser);
+    method public void onBootPhase(int);
+    method public abstract void onStart();
+    method public void onUserStarting(@NonNull com.android.server.SystemService.TargetUser);
+    method public void onUserStopped(@NonNull com.android.server.SystemService.TargetUser);
+    method public void onUserStopping(@NonNull com.android.server.SystemService.TargetUser);
+    method public void onUserSwitching(@Nullable com.android.server.SystemService.TargetUser, @NonNull com.android.server.SystemService.TargetUser);
+    method public void onUserUnlocked(@NonNull com.android.server.SystemService.TargetUser);
+    method public void onUserUnlocking(@NonNull com.android.server.SystemService.TargetUser);
+    method protected final void publishBinderService(@NonNull String, @NonNull android.os.IBinder);
+    method protected final void publishBinderService(@NonNull String, @NonNull android.os.IBinder, boolean);
+    field public static final int PHASE_ACTIVITY_MANAGER_READY = 550; // 0x226
+    field public static final int PHASE_BOOT_COMPLETED = 1000; // 0x3e8
+    field public static final int PHASE_DEVICE_SPECIFIC_SERVICES_READY = 520; // 0x208
+    field public static final int PHASE_LOCK_SETTINGS_READY = 480; // 0x1e0
+    field public static final int PHASE_SYSTEM_SERVICES_READY = 500; // 0x1f4
+    field public static final int PHASE_THIRD_PARTY_APPS_CAN_START = 600; // 0x258
+    field public static final int PHASE_WAIT_FOR_DEFAULT_DISPLAY = 100; // 0x64
+  }
+
+  public static final class SystemService.TargetUser {
+    method @NonNull public android.os.UserHandle getUserHandle();
+  }
+
+}
+
+package com.android.server.am {
+
+  public interface ActivityManagerLocal {
+    method public boolean canStartForegroundService(int, int, @NonNull String);
+  }
+
+}
+
+package com.android.server.role {
+
+  public interface RoleServicePlatformHelper {
+    method @NonNull public String computePackageStateHash(int);
+    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getLegacyRoleState(int);
+  }
+
+}
+
+package com.android.server.stats {
+
+  public final class StatsHelper {
+    method public static void sendStatsdReadyBroadcast(@NonNull android.content.Context);
+  }
+
+}
+
+package com.android.server.usage {
+
+  public interface StorageStatsManagerLocal {
+    method public void registerStorageStatsAugmenter(@NonNull com.android.server.usage.StorageStatsManagerLocal.StorageStatsAugmenter, @NonNull String);
+  }
+
+  public static interface StorageStatsManagerLocal.StorageStatsAugmenter {
+    method public void augmentStatsForPackageForUser(@NonNull android.content.pm.PackageStats, @NonNull String, @NonNull android.os.UserHandle, boolean);
+    method public void augmentStatsForUid(@NonNull android.content.pm.PackageStats, int, boolean);
+    method public void augmentStatsForUser(@NonNull android.content.pm.PackageStats, @NonNull android.os.UserHandle);
+  }
+
+}
+
+package com.android.server.wifi {
+
+  public class SupplicantManager {
+    method public static void start();
+    method public static void stop();
+  }
+
+}
+
diff --git a/32/system-server/api/removed.txt b/32/system-server/api/removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system-server/api/removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system-server/api/service-media-s-removed.txt b/32/system-server/api/service-media-s-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system-server/api/service-media-s-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system-server/api/service-media-s.txt b/32/system-server/api/service-media-s.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system-server/api/service-media-s.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system-server/api/service-permission-removed.txt b/32/system-server/api/service-permission-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system-server/api/service-permission-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system-server/api/service-permission.txt b/32/system-server/api/service-permission.txt
new file mode 100644
index 0000000..b1869c2
--- /dev/null
+++ b/32/system-server/api/service-permission.txt
@@ -0,0 +1,54 @@
+// Signature format: 2.0
+package com.android.permission.persistence {
+
+  public interface RuntimePermissionsPersistence {
+    method @NonNull public static com.android.permission.persistence.RuntimePermissionsPersistence createInstance();
+    method public void deleteForUser(@NonNull android.os.UserHandle);
+    method @Nullable public com.android.permission.persistence.RuntimePermissionsState readForUser(@NonNull android.os.UserHandle);
+    method public void writeForUser(@NonNull com.android.permission.persistence.RuntimePermissionsState, @NonNull android.os.UserHandle);
+  }
+
+  public final class RuntimePermissionsState {
+    ctor public RuntimePermissionsState(int, @Nullable String, @NonNull java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>>, @NonNull java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>>);
+    method @Nullable public String getFingerprint();
+    method @NonNull public java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>> getPackagePermissions();
+    method @NonNull public java.util.Map<java.lang.String,java.util.List<com.android.permission.persistence.RuntimePermissionsState.PermissionState>> getSharedUserPermissions();
+    method public int getVersion();
+    field public static final int NO_VERSION = -1; // 0xffffffff
+  }
+
+  public static final class RuntimePermissionsState.PermissionState {
+    ctor public RuntimePermissionsState.PermissionState(@NonNull String, boolean, int);
+    method public int getFlags();
+    method @NonNull public String getName();
+    method public boolean isGranted();
+  }
+
+}
+
+package com.android.role {
+
+  public interface RoleManagerLocal {
+    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getRolesAndHolders(int);
+  }
+
+}
+
+package com.android.role.persistence {
+
+  public interface RolesPersistence {
+    method @NonNull public static com.android.role.persistence.RolesPersistence createInstance();
+    method public void deleteForUser(@NonNull android.os.UserHandle);
+    method @Nullable public com.android.role.persistence.RolesState readForUser(@NonNull android.os.UserHandle);
+    method public void writeForUser(@NonNull com.android.role.persistence.RolesState, @NonNull android.os.UserHandle);
+  }
+
+  public final class RolesState {
+    ctor public RolesState(int, @Nullable String, @NonNull java.util.Map<java.lang.String,java.util.Set<java.lang.String>>);
+    method @Nullable public String getPackagesHash();
+    method @NonNull public java.util.Map<java.lang.String,java.util.Set<java.lang.String>> getRoles();
+    method public int getVersion();
+  }
+
+}
+
diff --git a/32/system-server/service-media-s.jar b/32/system-server/service-media-s.jar
new file mode 100644
index 0000000..b62b671
--- /dev/null
+++ b/32/system-server/service-media-s.jar
Binary files differ
diff --git a/32/system-server/service-permission.jar b/32/system-server/service-permission.jar
new file mode 100644
index 0000000..fbc11c6
--- /dev/null
+++ b/32/system-server/service-permission.jar
Binary files differ
diff --git a/32/system/android-non-updatable.jar b/32/system/android-non-updatable.jar
new file mode 100644
index 0000000..0038123
--- /dev/null
+++ b/32/system/android-non-updatable.jar
Binary files differ
diff --git a/32/system/android.jar b/32/system/android.jar
new file mode 100644
index 0000000..3bd3036
--- /dev/null
+++ b/32/system/android.jar
Binary files differ
diff --git a/32/system/android.test.base.jar b/32/system/android.test.base.jar
new file mode 100644
index 0000000..f48d4ac
--- /dev/null
+++ b/32/system/android.test.base.jar
Binary files differ
diff --git a/32/system/android.test.mock.jar b/32/system/android.test.mock.jar
new file mode 100644
index 0000000..4e7d380
--- /dev/null
+++ b/32/system/android.test.mock.jar
Binary files differ
diff --git a/32/system/android.test.runner.jar b/32/system/android.test.runner.jar
new file mode 100644
index 0000000..16b9a0a
--- /dev/null
+++ b/32/system/android.test.runner.jar
Binary files differ
diff --git a/32/system/api/android-non-updatable-removed.txt b/32/system/api/android-non-updatable-removed.txt
new file mode 100644
index 0000000..9a8a493
--- /dev/null
+++ b/32/system/api/android-non-updatable-removed.txt
@@ -0,0 +1,319 @@
+// Signature format: 2.0
+package android {
+
+  public static final class Manifest.permission {
+    field public static final String MANAGE_DEVICE_ADMINS = "android.permission.MANAGE_DEVICE_ADMINS";
+  }
+
+}
+
+package android.app {
+
+  public class AppOpsManager {
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable int[]);
+    method @Deprecated public void setNotedAppOpsCollector(@Nullable android.app.AppOpsManager.AppOpsCollector);
+  }
+
+  @Deprecated public abstract static class AppOpsManager.AppOpsCollector extends android.app.AppOpsManager.OnOpNotedCallback {
+    ctor public AppOpsManager.AppOpsCollector();
+    method @NonNull public java.util.concurrent.Executor getAsyncNotedExecutor();
+  }
+
+  public class Notification implements android.os.Parcelable {
+    method public static Class<? extends android.app.Notification.Style> getNotificationStyleClass(String);
+  }
+
+  public static final class Notification.TvExtender implements android.app.Notification.Extender {
+    method @Deprecated public String getChannel();
+  }
+
+}
+
+package android.app.backup {
+
+  public class RestoreSession {
+    method @Deprecated public int restoreSome(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor, String[]);
+    method @Deprecated public int restoreSome(long, android.app.backup.RestoreObserver, String[]);
+  }
+
+}
+
+package android.app.prediction {
+
+  public static final class AppTarget.Builder {
+    ctor @Deprecated public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId);
+    method @Deprecated @NonNull public android.app.prediction.AppTarget.Builder setTarget(@NonNull String, @NonNull android.os.UserHandle);
+    method @Deprecated @NonNull public android.app.prediction.AppTarget.Builder setTarget(@NonNull android.content.pm.ShortcutInfo);
+  }
+
+}
+
+package android.app.search {
+
+  public final class Query implements android.os.Parcelable {
+    method @Deprecated @NonNull public long getTimestamp();
+  }
+
+  public final class SearchSession implements java.lang.AutoCloseable {
+    method @Deprecated public void destroy();
+  }
+
+  public final class SearchTarget implements android.os.Parcelable {
+    method @Deprecated public boolean shouldHide();
+  }
+
+  public static final class SearchTarget.Builder {
+    method @Deprecated @NonNull public android.app.search.SearchTarget.Builder setShouldHide(boolean);
+  }
+
+}
+
+package android.bluetooth {
+
+  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean setPriority(android.bluetooth.BluetoothDevice, int);
+  }
+
+}
+
+package android.content {
+
+  public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    field @Deprecated public static final String ACTION_DEVICE_INITIALIZATION_WIZARD = "android.intent.action.DEVICE_INITIALIZATION_WIZARD";
+    field @Deprecated public static final String ACTION_MASTER_CLEAR = "android.intent.action.MASTER_CLEAR";
+    field @Deprecated public static final String ACTION_SERVICE_STATE = "android.intent.action.SERVICE_STATE";
+    field @Deprecated public static final String EXTRA_CDMA_DEFAULT_ROAMING_INDICATOR = "cdmaDefaultRoamingIndicator";
+    field @Deprecated public static final String EXTRA_CDMA_ROAMING_INDICATOR = "cdmaRoamingIndicator";
+    field @Deprecated public static final String EXTRA_CSS_INDICATOR = "cssIndicator";
+    field @Deprecated public static final String EXTRA_DATA_OPERATOR_ALPHA_LONG = "data-operator-alpha-long";
+    field @Deprecated public static final String EXTRA_DATA_OPERATOR_ALPHA_SHORT = "data-operator-alpha-short";
+    field @Deprecated public static final String EXTRA_DATA_OPERATOR_NUMERIC = "data-operator-numeric";
+    field @Deprecated public static final String EXTRA_DATA_RADIO_TECH = "dataRadioTechnology";
+    field @Deprecated public static final String EXTRA_DATA_REG_STATE = "dataRegState";
+    field @Deprecated public static final String EXTRA_DATA_ROAMING_TYPE = "dataRoamingType";
+    field @Deprecated public static final String EXTRA_EMERGENCY_ONLY = "emergencyOnly";
+    field @Deprecated public static final String EXTRA_IS_DATA_ROAMING_FROM_REGISTRATION = "isDataRoamingFromRegistration";
+    field @Deprecated public static final String EXTRA_IS_USING_CARRIER_AGGREGATION = "isUsingCarrierAggregation";
+    field @Deprecated public static final String EXTRA_LTE_EARFCN_RSRP_BOOST = "LteEarfcnRsrpBoost";
+    field @Deprecated public static final String EXTRA_MANUAL = "manual";
+    field @Deprecated public static final String EXTRA_NETWORK_ID = "networkId";
+    field @Deprecated public static final String EXTRA_OPERATOR_ALPHA_LONG = "operator-alpha-long";
+    field @Deprecated public static final String EXTRA_OPERATOR_ALPHA_SHORT = "operator-alpha-short";
+    field @Deprecated public static final String EXTRA_OPERATOR_NUMERIC = "operator-numeric";
+    field @Deprecated public static final String EXTRA_SYSTEM_ID = "systemId";
+    field @Deprecated public static final String EXTRA_VOICE_RADIO_TECH = "radioTechnology";
+    field @Deprecated public static final String EXTRA_VOICE_REG_STATE = "voiceRegState";
+    field @Deprecated public static final String EXTRA_VOICE_ROAMING_TYPE = "voiceRoamingType";
+  }
+
+}
+
+package android.content.pm {
+
+  public class PackageItemInfo {
+    field @Deprecated public static final int SAFE_LABEL_FLAG_FIRST_LINE = 4; // 0x4
+    field @Deprecated public static final int SAFE_LABEL_FLAG_SINGLE_LINE = 2; // 0x2
+    field @Deprecated public static final int SAFE_LABEL_FLAG_TRIM = 1; // 0x1
+  }
+
+}
+
+package android.hardware.hdmi {
+
+  public final class HdmiControlManager {
+    method @Deprecated public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevicesList();
+    method @Deprecated public boolean isRemoteDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+    method @Deprecated public void powerOffRemoteDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+    method @Deprecated public void powerOnRemoteDevice(android.hardware.hdmi.HdmiDeviceInfo);
+    method @Deprecated public void requestRemoteDeviceToBecomeActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+  }
+
+}
+
+package android.location {
+
+  public class LocationManager {
+    method @Deprecated public boolean addGpsMeasurementListener(android.location.GpsMeasurementsEvent.Listener);
+    method @Deprecated public boolean addGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String);
+    method @Deprecated public void removeGpsMeasurementListener(android.location.GpsMeasurementsEvent.Listener);
+    method @Deprecated public void removeGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackage(String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackageEnabled(boolean);
+  }
+
+}
+
+package android.media.tv {
+
+  public final class TvInputManager {
+    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, android.media.tv.TvInputManager.HardwareCallback, android.media.tv.TvInputInfo);
+  }
+
+  public static final class TvInputManager.Hardware {
+    method public boolean dispatchKeyEventToHdmi(android.view.KeyEvent);
+  }
+
+}
+
+package android.os {
+
+  public class Build {
+    field public static final boolean PERMISSIONS_REVIEW_REQUIRED = true;
+  }
+
+}
+
+package android.service.notification {
+
+  public abstract class NotificationListenerService extends android.app.Service {
+    method public android.service.notification.StatusBarNotification[] getActiveNotifications(int);
+    method public android.service.notification.StatusBarNotification[] getActiveNotifications(String[], int);
+    method public void registerAsSystemService(android.content.Context, android.content.ComponentName, int) throws android.os.RemoteException;
+    method public final void setOnNotificationPostedTrim(int);
+    method public final void snoozeNotification(String, String);
+    method public void unregisterAsSystemService() throws android.os.RemoteException;
+    field public static final int TRIM_FULL = 0; // 0x0
+    field public static final int TRIM_LIGHT = 1; // 0x1
+  }
+
+  public static class NotificationListenerService.Ranking {
+    method public java.util.List<java.lang.String> getAdditionalPeople();
+    method public java.util.List<android.service.notification.SnoozeCriterion> getSnoozeCriteria();
+  }
+
+}
+
+package android.service.search {
+
+  public abstract class SearchUiService extends android.app.Service {
+    method @Deprecated public void onCreateSearchSession(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
+  }
+
+}
+
+package android.service.translation {
+
+  public abstract class TranslationService extends android.app.Service {
+    method @Deprecated public void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int);
+    method @Deprecated public void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull android.service.translation.TranslationService.OnTranslationResultCallback);
+  }
+
+  @Deprecated public static interface TranslationService.OnTranslationResultCallback {
+    method @Deprecated public void onError();
+    method public void onTranslationSuccess(@NonNull android.view.translation.TranslationResponse);
+  }
+
+}
+
+package android.telecom {
+
+  public class TelecomManager {
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.WRITE_SECURE_SETTINGS}) public boolean setDefaultDialer(@Nullable String);
+  }
+
+}
+
+package android.telephony {
+
+  public class TelephonyManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void answerRingingCall();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public boolean endCall();
+    method @Deprecated public void silenceRinger();
+  }
+
+}
+
+package android.telephony.data {
+
+  public final class DataCallResponse implements android.os.Parcelable {
+    ctor public DataCallResponse(int, int, int, int, int, @Nullable String, @Nullable java.util.List<android.net.LinkAddress>, @Nullable java.util.List<java.net.InetAddress>, @Nullable java.util.List<java.net.InetAddress>, @Nullable java.util.List<java.net.InetAddress>, int);
+  }
+
+}
+
+package android.telephony.ims {
+
+  public interface DelegateStateCallback {
+    method @Deprecated public void onImsConfigurationChanged(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
+  }
+
+  @Deprecated public final class SipDelegateImsConfiguration implements android.os.Parcelable {
+    method public boolean containsKey(@NonNull String);
+    method @NonNull public android.os.PersistableBundle copyBundle();
+    method public int describeContents();
+    method public boolean getBoolean(@NonNull String, boolean);
+    method public int getInt(@NonNull String, int);
+    method @Nullable public String getString(@NonNull String);
+    method public long getVersion();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateImsConfiguration> CREATOR;
+    field public static final String IPTYPE_IPV4 = "IPV4";
+    field public static final String IPTYPE_IPV6 = "IPV6";
+    field public static final String KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING = "sip_config_auhentication_header_string";
+    field public static final String KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING = "sip_config_authentication_nonce_string";
+    field public static final String KEY_SIP_CONFIG_CELLULAR_NETWORK_INFO_HEADER_STRING = "sip_config_cellular_network_info_header_string";
+    field public static final String KEY_SIP_CONFIG_HOME_DOMAIN_STRING = "sip_config_home_domain_string";
+    field public static final String KEY_SIP_CONFIG_IMEI_STRING = "sip_config_imei_string";
+    field public static final String KEY_SIP_CONFIG_IPTYPE_STRING = "sip_config_iptype_string";
+    field public static final String KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL = "sip_config_is_compact_form_enabled_bool";
+    field public static final String KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL = "sip_config_is_gruu_enabled_bool";
+    field public static final String KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL = "sip_config_is_ipsec_enabled_bool";
+    field public static final String KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL = "sip_config_is_keepalive_enabled_bool";
+    field public static final String KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL = "sip_config_is_nat_enabled_bool";
+    field public static final String KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT = "sip_config_udp_max_payload_size_int";
+    field public static final String KEY_SIP_CONFIG_PATH_HEADER_STRING = "sip_config_path_header_string";
+    field public static final String KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING = "sip_config_p_access_network_info_header_string";
+    field public static final String KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING = "sip_config_p_associated_uri_header_string";
+    field public static final String KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING = "sip_config_p_last_access_network_info_header_string";
+    field public static final String KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING = "sip_config_security_verify_header_string";
+    field public static final String KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING = "sip_config_server_default_ipaddress_string";
+    field public static final String KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT = "sip_config_server_default_port_int";
+    field public static final String KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT = "sip_config_server_ipsec_client_port_int";
+    field public static final String KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT = "sip_config_server_ipsec_old_client_port_int";
+    field public static final String KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT = "sip_config_server_ipsec_server_port_int";
+    field public static final String KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING = "sip_config_service_route_header_string";
+    field public static final String KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING = "sip_config_protocol_type_string";
+    field public static final String KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING = "sip_config_ue_default_ipaddress_string";
+    field public static final String KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT = "sip_config_ue_default_port_int";
+    field public static final String KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT = "sip_config_ue_ipsec_client_port_int";
+    field public static final String KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT = "sip_config_ue_ipsec_old_client_port_int";
+    field public static final String KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT = "sip_config_ue_ipsec_server_port_int";
+    field public static final String KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING = "sip_config_ue_private_user_id_string";
+    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING = "sip_config_ue_public_gruu_string";
+    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING = "sip_config_ue_public_ipaddress_with_nat_string";
+    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT = "sip_config_ue_public_port_with_nat_int";
+    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING = "sip_config_ue_public_user_id_string";
+    field public static final String KEY_SIP_CONFIG_URI_USER_PART_STRING = "sip_config_uri_user_part_string";
+    field public static final String KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING = "sip_config_sip_user_agent_header_string";
+    field public static final String SIP_TRANSPORT_TCP = "TCP";
+    field public static final String SIP_TRANSPORT_UDP = "UDP";
+  }
+
+  public static final class SipDelegateImsConfiguration.Builder {
+    ctor public SipDelegateImsConfiguration.Builder(int);
+    ctor public SipDelegateImsConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
+    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addBoolean(@NonNull String, boolean);
+    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addInt(@NonNull String, int);
+    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addString(@NonNull String, @NonNull String);
+    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration build();
+  }
+
+}
+
+package android.telephony.ims.stub {
+
+  public interface DelegateConnectionStateCallback {
+    method @Deprecated public default void onImsConfigurationChanged(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
+  }
+
+}
+
+package android.view.translation {
+
+  public final class UiTranslationManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void startTranslation(@NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, @NonNull java.util.List<android.view.autofill.AutofillId>, @NonNull android.app.assist.ActivityId);
+  }
+
+}
+
diff --git a/32/system/api/android-non-updatable.txt b/32/system/api/android-non-updatable.txt
new file mode 100644
index 0000000..3aa17f0
--- /dev/null
+++ b/32/system/api/android-non-updatable.txt
@@ -0,0 +1,14998 @@
+// Signature format: 2.0
+package android {
+
+  public static final class Manifest.permission {
+    field public static final String ACCESS_AMBIENT_LIGHT_STATS = "android.permission.ACCESS_AMBIENT_LIGHT_STATS";
+    field public static final String ACCESS_BROADCAST_RADIO = "android.permission.ACCESS_BROADCAST_RADIO";
+    field public static final String ACCESS_CACHE_FILESYSTEM = "android.permission.ACCESS_CACHE_FILESYSTEM";
+    field public static final String ACCESS_CONTEXT_HUB = "android.permission.ACCESS_CONTEXT_HUB";
+    field public static final String ACCESS_DRM_CERTIFICATES = "android.permission.ACCESS_DRM_CERTIFICATES";
+    field @Deprecated public static final String ACCESS_FM_RADIO = "android.permission.ACCESS_FM_RADIO";
+    field public static final String ACCESS_INSTANT_APPS = "android.permission.ACCESS_INSTANT_APPS";
+    field public static final String ACCESS_LOCUS_ID_USAGE_STATS = "android.permission.ACCESS_LOCUS_ID_USAGE_STATS";
+    field public static final String ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION";
+    field public static final String ACCESS_MTP = "android.permission.ACCESS_MTP";
+    field public static final String ACCESS_NETWORK_CONDITIONS = "android.permission.ACCESS_NETWORK_CONDITIONS";
+    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
+    field public static final String ACCESS_RCS_USER_CAPABILITY_EXCHANGE = "android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE";
+    field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
+    field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
+    field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
+    field public static final String ACCESS_TUNED_INFO = "android.permission.ACCESS_TUNED_INFO";
+    field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
+    field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER";
+    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
+    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
+    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
+    field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
+    field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
+    field public static final String ALLOW_PLACE_IN_MULTI_PANE_SETTINGS = "android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS";
+    field public static final String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
+    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
+    field public static final String ASSOCIATE_COMPANION_DEVICES = "android.permission.ASSOCIATE_COMPANION_DEVICES";
+    field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA";
+    field public static final String BACKUP = "android.permission.BACKUP";
+    field public static final String BATTERY_PREDICTION = "android.permission.BATTERY_PREDICTION";
+    field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE";
+    field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
+    field public static final String BIND_CALL_DIAGNOSTIC_SERVICE = "android.permission.BIND_CALL_DIAGNOSTIC_SERVICE";
+    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
+    field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
+    field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
+    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
+    field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
+    field public static final String BIND_DISPLAY_HASHING_SERVICE = "android.permission.BIND_DISPLAY_HASHING_SERVICE";
+    field public static final String BIND_DOMAIN_VERIFICATION_AGENT = "android.permission.BIND_DOMAIN_VERIFICATION_AGENT";
+    field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
+    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
+    field public static final String BIND_GBA_SERVICE = "android.permission.BIND_GBA_SERVICE";
+    field public static final String BIND_HOTWORD_DETECTION_SERVICE = "android.permission.BIND_HOTWORD_DETECTION_SERVICE";
+    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
+    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
+    field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE";
+    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
+    field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE";
+    field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE";
+    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
+    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
+    field public static final String BIND_RESUME_ON_REBOOT_SERVICE = "android.permission.BIND_RESUME_ON_REBOOT_SERVICE";
+    field public static final String BIND_ROTATION_RESOLVER_SERVICE = "android.permission.BIND_ROTATION_RESOLVER_SERVICE";
+    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
+    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
+    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
+    field public static final String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
+    field public static final String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
+    field public static final String BIND_TEXTCLASSIFIER_SERVICE = "android.permission.BIND_TEXTCLASSIFIER_SERVICE";
+    field public static final String BIND_TIME_ZONE_PROVIDER_SERVICE = "android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE";
+    field public static final String BIND_TRANSLATION_SERVICE = "android.permission.BIND_TRANSLATION_SERVICE";
+    field public static final String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
+    field public static final String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
+    field public static final String BRICK = "android.permission.BRICK";
+    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
+    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
+    field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED";
+    field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION";
+    field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED";
+    field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER";
+    field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD";
+    field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT";
+    field public static final String CAPTURE_TUNER_AUDIO_INPUT = "android.permission.CAPTURE_TUNER_AUDIO_INPUT";
+    field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT";
+    field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT";
+    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
+    field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST";
+    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
+    field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS";
+    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
+    field public static final String CONFIGURE_WIFI_DISPLAY = "android.permission.CONFIGURE_WIFI_DISPLAY";
+    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
+    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
+    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
+    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
+    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
+    field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE";
+    field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS";
+    field public static final String CONTROL_OEM_PAID_NETWORK_PREFERENCE = "android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE";
+    field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN";
+    field public static final String CREATE_USERS = "android.permission.CREATE_USERS";
+    field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER";
+    field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER";
+    field public static final String DISABLE_SYSTEM_SOUND_EFFECTS = "android.permission.DISABLE_SYSTEM_SOUND_EFFECTS";
+    field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE";
+    field public static final String DOMAIN_VERIFICATION_AGENT = "android.permission.DOMAIN_VERIFICATION_AGENT";
+    field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED";
+    field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS";
+    field public static final String FORCE_BACK = "android.permission.FORCE_BACK";
+    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
+    field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
+    field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE";
+    field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS";
+    field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO";
+    field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS";
+    field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS";
+    field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS";
+    field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES";
+    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
+    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
+    field @Deprecated public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
+    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
+    field public static final String INSTALL_DYNAMIC_SYSTEM = "android.permission.INSTALL_DYNAMIC_SYSTEM";
+    field public static final String INSTALL_GRANT_RUNTIME_PERMISSIONS = "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS";
+    field public static final String INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE = "android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE";
+    field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES";
+    field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES";
+    field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
+    field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
+    field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
+    field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
+    field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP";
+    field public static final String KILL_UID = "android.permission.KILL_UID";
+    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
+    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
+    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
+    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
+    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
+    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
+    field public static final String MANAGE_APP_HIBERNATION = "android.permission.MANAGE_APP_HIBERNATION";
+    field public static final String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
+    field public static final String MANAGE_APP_PREDICTIONS = "android.permission.MANAGE_APP_PREDICTIONS";
+    field public static final String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
+    field public static final String MANAGE_AUTO_FILL = "android.permission.MANAGE_AUTO_FILL";
+    field public static final String MANAGE_CARRIER_OEM_UNLOCK_STATE = "android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE";
+    field public static final String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
+    field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE";
+    field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS";
+    field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING";
+    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
+    field public static final String MANAGE_HOTWORD_DETECTION = "android.permission.MANAGE_HOTWORD_DETECTION";
+    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
+    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
+    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
+    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
+    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
+    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
+    field public static final String MANAGE_ROTATION_RESOLVER = "android.permission.MANAGE_ROTATION_RESOLVER";
+    field public static final String MANAGE_SEARCH_UI = "android.permission.MANAGE_SEARCH_UI";
+    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
+    field public static final String MANAGE_SMARTSPACE = "android.permission.MANAGE_SMARTSPACE";
+    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
+    field public static final String MANAGE_SPEECH_RECOGNITION = "android.permission.MANAGE_SPEECH_RECOGNITION";
+    field public static final String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
+    field public static final String MANAGE_TEST_NETWORKS = "android.permission.MANAGE_TEST_NETWORKS";
+    field public static final String MANAGE_TIME_AND_ZONE_DETECTION = "android.permission.MANAGE_TIME_AND_ZONE_DETECTION";
+    field public static final String MANAGE_UI_TRANSLATION = "android.permission.MANAGE_UI_TRANSLATION";
+    field public static final String MANAGE_USB = "android.permission.MANAGE_USB";
+    field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS";
+    field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE";
+    field public static final String MANAGE_WIFI_COUNTRY_CODE = "android.permission.MANAGE_WIFI_COUNTRY_CODE";
+    field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS";
+    field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING";
+    field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS";
+    field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE";
+    field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING";
+    field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS";
+    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
+    field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE";
+    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
+    field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE";
+    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
+    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
+    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
+    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
+    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
+    field public static final String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD";
+    field public static final String NETWORK_SIGNAL_STRENGTH_WAKEUP = "android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP";
+    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
+    field public static final String NETWORK_STATS_PROVIDER = "android.permission.NETWORK_STATS_PROVIDER";
+    field public static final String NFC_SET_CONTROLLER_ALWAYS_ON = "android.permission.NFC_SET_CONTROLLER_ALWAYS_ON";
+    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
+    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
+    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
+    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
+    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
+    field public static final String OBSERVE_SENSOR_PRIVACY = "android.permission.OBSERVE_SENSOR_PRIVACY";
+    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
+    field public static final String OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD = "android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD";
+    field public static final String OVERRIDE_WIFI_CONFIG = "android.permission.OVERRIDE_WIFI_CONFIG";
+    field public static final String PACKAGE_VERIFICATION_AGENT = "android.permission.PACKAGE_VERIFICATION_AGENT";
+    field public static final String PACKET_KEEPALIVE_OFFLOAD = "android.permission.PACKET_KEEPALIVE_OFFLOAD";
+    field public static final String PEERS_MAC_ADDRESS = "android.permission.PEERS_MAC_ADDRESS";
+    field public static final String PERFORM_CDMA_PROVISIONING = "android.permission.PERFORM_CDMA_PROVISIONING";
+    field public static final String PERFORM_IMS_SINGLE_REGISTRATION = "android.permission.PERFORM_IMS_SINGLE_REGISTRATION";
+    field public static final String PERFORM_SIM_ACTIVATION = "android.permission.PERFORM_SIM_ACTIVATION";
+    field public static final String POWER_SAVER = "android.permission.POWER_SAVER";
+    field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
+    field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT";
+    field public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES";
+    field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION";
+    field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION";
+    field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO";
+    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
+    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
+    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
+    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
+    field public static final String READ_GLOBAL_APP_SEARCH_DATA = "android.permission.READ_GLOBAL_APP_SEARCH_DATA";
+    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
+    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
+    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
+    field public static final String READ_PEOPLE_DATA = "android.permission.READ_PEOPLE_DATA";
+    field public static final String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES";
+    field public static final String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS";
+    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
+    field public static final String READ_PROJECTION_STATE = "android.permission.READ_PROJECTION_STATE";
+    field public static final String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES";
+    field public static final String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES";
+    field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO";
+    field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
+    field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
+    field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS";
+    field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE";
+    field public static final String RECEIVE_DEVICE_CUSTOMIZATION_READY = "android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY";
+    field public static final String RECEIVE_EMERGENCY_BROADCAST = "android.permission.RECEIVE_EMERGENCY_BROADCAST";
+    field public static final String RECEIVE_WIFI_CREDENTIAL_CHANGE = "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE";
+    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
+    field public static final String RECOVERY = "android.permission.RECOVERY";
+    field public static final String RECOVER_KEYSTORE = "android.permission.RECOVER_KEYSTORE";
+    field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER";
+    field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
+    field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
+    field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM";
+    field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
+    field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
+    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
+    field public static final String RENOUNCE_PERMISSIONS = "android.permission.RENOUNCE_PERMISSIONS";
+    field public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
+    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
+    field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
+    field public static final String RESTART_WIFI_SUBSYSTEM = "android.permission.RESTART_WIFI_SUBSYSTEM";
+    field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
+    field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
+    field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
+    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
+    field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
+    field public static final String ROTATE_SURFACE_FLINGER = "android.permission.ROTATE_SURFACE_FLINGER";
+    field public static final String SCHEDULE_PRIORITIZED_ALARM = "android.permission.SCHEDULE_PRIORITIZED_ALARM";
+    field public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
+    field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
+    field public static final String SEND_CATEGORY_CAR_NOTIFICATIONS = "android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS";
+    field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
+    field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
+    field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
+    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
+    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
+    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
+    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
+    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
+    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
+    field public static final String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
+    field public static final String SET_SCREEN_COMPATIBILITY = "android.permission.SET_SCREEN_COMPATIBILITY";
+    field public static final String SET_VOLUME_KEY_LONG_PRESS_LISTENER = "android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER";
+    field public static final String SET_WALLPAPER_COMPONENT = "android.permission.SET_WALLPAPER_COMPONENT";
+    field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE";
+    field public static final String SHUTDOWN = "android.permission.SHUTDOWN";
+    field public static final String SIGNAL_REBOOT_READINESS = "android.permission.SIGNAL_REBOOT_READINESS";
+    field public static final String SOUND_TRIGGER_RUN_IN_BATTERY_SAVER = "android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER";
+    field public static final String START_ACTIVITIES_FROM_BACKGROUND = "android.permission.START_ACTIVITIES_FROM_BACKGROUND";
+    field public static final String STATUS_BAR_SERVICE = "android.permission.STATUS_BAR_SERVICE";
+    field public static final String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES";
+    field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME";
+    field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON";
+    field public static final String SUGGEST_EXTERNAL_TIME = "android.permission.SUGGEST_EXTERNAL_TIME";
+    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
+    field public static final String SYSTEM_APPLICATION_OVERLAY = "android.permission.SYSTEM_APPLICATION_OVERLAY";
+    field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA";
+    field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED";
+    field public static final String TOGGLE_AUTOMOTIVE_PROJECTION = "android.permission.TOGGLE_AUTOMOTIVE_PROJECTION";
+    field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE";
+    field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER";
+    field public static final String UNLIMITED_SHORTCUTS_API_CALLS = "android.permission.UNLIMITED_SHORTCUTS_API_CALLS";
+    field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS";
+    field public static final String UPDATE_DOMAIN_VERIFICATION_USER_SELECTION = "android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION";
+    field public static final String UPDATE_FONTS = "android.permission.UPDATE_FONTS";
+    field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
+    field public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES";
+    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
+    field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
+    field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK";
+    field public static final String UWB_PRIVILEGED = "android.permission.UWB_PRIVILEGED";
+    field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS";
+    field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS";
+    field public static final String WIFI_ACCESS_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS";
+    field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE";
+    field public static final String WIFI_UPDATE_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS";
+    field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE";
+    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
+    field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE";
+    field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS";
+    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
+    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
+  }
+
+  public static final class Manifest.permission_group {
+    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
+  }
+
+  public static final class R.array {
+    field public static final int config_keySystemUuidMapping = 17235973; // 0x1070005
+  }
+
+  public static final class R.attr {
+    field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600
+    field public static final int hotwordDetectionService = 16844326; // 0x1010626
+    field public static final int isVrOnly = 16844152; // 0x1010578
+    field public static final int minExtensionVersion = 16844305; // 0x1010611
+    field public static final int playHomeTransitionSound = 16844358; // 0x1010646
+    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
+    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
+    field public static final int sdkVersion = 16844304; // 0x1010610
+    field public static final int supportsAmbientMode = 16844173; // 0x101058d
+    field public static final int userRestriction = 16844164; // 0x1010584
+  }
+
+  public static final class R.bool {
+    field public static final int config_sendPackageName = 17891328; // 0x1110000
+    field public static final int config_showDefaultAssistant = 17891329; // 0x1110001
+    field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
+    field public static final int config_showDefaultHome = 17891331; // 0x1110003
+  }
+
+  public static final class R.color {
+    field public static final int system_notification_accent_color = 17170460; // 0x106001c
+  }
+
+  public static final class R.dimen {
+    field public static final int config_restrictedIconSize = 17104903; // 0x1050007
+  }
+
+  public static final class R.drawable {
+    field public static final int ic_info = 17301684; // 0x10800b4
+  }
+
+  public static final class R.raw {
+    field public static final int loaderror = 17825792; // 0x1100000
+    field public static final int nodomain = 17825793; // 0x1100001
+  }
+
+  public static final class R.string {
+    field public static final int config_customMediaKeyDispatcher = 17039404; // 0x104002c
+    field public static final int config_customMediaSessionPolicyProvider = 17039405; // 0x104002d
+    field public static final int config_defaultAssistant = 17039393; // 0x1040021
+    field public static final int config_defaultBrowser = 17039394; // 0x1040022
+    field public static final int config_defaultCallRedirection = 17039397; // 0x1040025
+    field public static final int config_defaultCallScreening = 17039398; // 0x1040026
+    field public static final int config_defaultDialer = 17039395; // 0x1040023
+    field public static final int config_defaultSms = 17039396; // 0x1040024
+    field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f
+    field public static final int config_feedbackIntentNameKey = 17039392; // 0x1040020
+    field public static final int config_helpIntentExtraKey = 17039389; // 0x104001d
+    field public static final int config_helpIntentNameKey = 17039390; // 0x104001e
+    field public static final int config_helpPackageNameKey = 17039387; // 0x104001b
+    field public static final int config_helpPackageNameValue = 17039388; // 0x104001c
+    field public static final int config_systemActivityRecognizer = 17039416; // 0x1040038
+    field public static final int config_systemAmbientAudioIntelligence = 17039411; // 0x1040033
+    field public static final int config_systemAudioIntelligence = 17039412; // 0x1040034
+    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
+    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
+    field public static final int config_systemCompanionDeviceProvider = 17039417; // 0x1040039
+    field public static final int config_systemContacts = 17039403; // 0x104002b
+    field public static final int config_systemGallery = 17039399; // 0x1040027
+    field public static final int config_systemNotificationIntelligence = 17039413; // 0x1040035
+    field public static final int config_systemShell = 17039402; // 0x104002a
+    field public static final int config_systemSpeechRecognizer = 17039406; // 0x104002e
+    field public static final int config_systemTelevisionNotificationHandler = 17039409; // 0x1040031
+    field public static final int config_systemTextIntelligence = 17039414; // 0x1040036
+    field public static final int config_systemUi = 17039418; // 0x104003a
+    field public static final int config_systemUiIntelligence = 17039410; // 0x1040032
+    field public static final int config_systemVisualIntelligence = 17039415; // 0x1040037
+    field public static final int config_systemWellbeing = 17039408; // 0x1040030
+    field public static final int config_systemWifiCoexManager = 17039407; // 0x104002f
+  }
+
+  public static final class R.style {
+    field public static final int Theme_DeviceDefault_DocumentsUI = 16974562; // 0x10302e2
+    field public static final int Theme_Leanback_FormWizard = 16974544; // 0x10302d0
+  }
+
+}
+
+package android.accounts {
+
+  public class AccountManager {
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.accounts.AccountManagerFuture<android.os.Bundle> finishSessionAsUser(android.os.Bundle, android.app.Activity, android.os.UserHandle, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+  }
+
+}
+
+package android.app {
+
+  @UiContext public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
+    method public void convertFromTranslucent();
+    method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
+    method @Deprecated public boolean isBackgroundVisibleBehind();
+    method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
+  }
+
+  public static interface Activity.TranslucentConversionListener {
+    method public void onTranslucentConversionComplete(boolean);
+  }
+
+  public class ActivityManager {
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
+    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
+    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
+    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
+    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String);
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener);
+    method public void setDeviceLocales(@NonNull android.os.LocaleList);
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public static void setPersistentVrThread(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean startProfile(@NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean stopProfile(@NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean switchUser(@NonNull android.os.UserHandle);
+  }
+
+  public static interface ActivityManager.OnUidImportanceListener {
+    method public void onUidImportance(int, int);
+  }
+
+  public class ActivityOptions {
+    method public int getLaunchTaskId();
+    method @RequiresPermission("android.permission.START_TASKS_FROM_RECENTS") public void setLaunchTaskId(int);
+  }
+
+  public class AlarmManager {
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, android.app.PendingIntent, android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, android.app.AlarmManager.OnAlarmListener, android.os.Handler, android.os.WorkSource);
+    method @RequiresPermission(allOf={android.Manifest.permission.UPDATE_DEVICE_STATS, android.Manifest.permission.SCHEDULE_EXACT_ALARM}, conditional=true) public void setExact(int, long, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.os.WorkSource, @NonNull android.app.AlarmManager.OnAlarmListener);
+    method @RequiresPermission(android.Manifest.permission.SCHEDULE_PRIORITIZED_ALARM) public void setPrioritized(int, long, long, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.app.AlarmManager.OnAlarmListener);
+  }
+
+  public class AppOpsManager {
+    method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage();
+    method @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public void getHistoricalOps(@NonNull android.app.AppOpsManager.HistoricalOpsRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.AppOpsManager.HistoricalOps>);
+    method public static String[] getOpStrs();
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable java.lang.String...);
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
+    method public static int opToDefaultMode(@NonNull String);
+    method @Nullable public static String opToPermission(@NonNull String);
+    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int);
+    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
+    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
+    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
+    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
+    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
+    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
+    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
+    field public static final String OPSTR_ACTIVATE_PLATFORM_VPN = "android:activate_platform_vpn";
+    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
+    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
+    field public static final String OPSTR_ASSIST_STRUCTURE = "android:assist_structure";
+    field public static final String OPSTR_AUDIO_ACCESSIBILITY_VOLUME = "android:audio_accessibility_volume";
+    field public static final String OPSTR_AUDIO_ALARM_VOLUME = "android:audio_alarm_volume";
+    field public static final String OPSTR_AUDIO_BLUETOOTH_VOLUME = "android:audio_bluetooth_volume";
+    field public static final String OPSTR_AUDIO_MASTER_VOLUME = "android:audio_master_volume";
+    field public static final String OPSTR_AUDIO_MEDIA_VOLUME = "android:audio_media_volume";
+    field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume";
+    field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume";
+    field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume";
+    field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer";
+    field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused";
+    field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service";
+    field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
+    field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts";
+    field public static final String OPSTR_GPS = "android:gps";
+    field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground";
+    field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles";
+    field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage";
+    field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats";
+    field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage";
+    field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels";
+    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
+    field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone";
+    field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells";
+    field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera";
+    field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone";
+    field public static final String OPSTR_PLAY_AUDIO = "android:play_audio";
+    field public static final String OPSTR_POST_NOTIFICATION = "android:post_notification";
+    field public static final String OPSTR_PROJECT_MEDIA = "android:project_media";
+    field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard";
+    field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms";
+    field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio";
+    field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images";
+    field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video";
+    field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast";
+    field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages";
+    field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages";
+    field public static final String OPSTR_RUN_ANY_IN_BACKGROUND = "android:run_any_in_background";
+    field public static final String OPSTR_RUN_IN_BACKGROUND = "android:run_in_background";
+    field public static final String OPSTR_START_FOREGROUND = "android:start_foreground";
+    field public static final String OPSTR_TAKE_AUDIO_FOCUS = "android:take_audio_focus";
+    field public static final String OPSTR_TAKE_MEDIA_BUTTONS = "android:take_media_buttons";
+    field public static final String OPSTR_TOAST_WINDOW = "android:toast_window";
+    field public static final String OPSTR_TURN_SCREEN_ON = "android:turn_screen_on";
+    field public static final String OPSTR_VIBRATE = "android:vibrate";
+    field public static final String OPSTR_WAKE_LOCK = "android:wake_lock";
+    field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan";
+    field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard";
+    field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms";
+    field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio";
+    field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images";
+    field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video";
+    field public static final String OPSTR_WRITE_SMS = "android:write_sms";
+    field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper";
+    field public static final int OP_FLAGS_ALL = 31; // 0x1f
+    field public static final int OP_FLAGS_ALL_TRUSTED = 13; // 0xd
+    field public static final int OP_FLAG_SELF = 1; // 0x1
+    field public static final int OP_FLAG_TRUSTED_PROXIED = 8; // 0x8
+    field public static final int OP_FLAG_TRUSTED_PROXY = 2; // 0x2
+    field public static final int OP_FLAG_UNTRUSTED_PROXIED = 16; // 0x10
+    field public static final int OP_FLAG_UNTRUSTED_PROXY = 4; // 0x4
+    field public static final int UID_STATE_BACKGROUND = 600; // 0x258
+    field public static final int UID_STATE_CACHED = 700; // 0x2bc
+    field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4
+    field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190
+    field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c
+    field public static final int UID_STATE_PERSISTENT = 100; // 0x64
+    field public static final int UID_STATE_TOP = 200; // 0xc8
+  }
+
+  public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
+    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getOpCount();
+    method @Nullable public String getTag();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR;
+  }
+
+  public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getLastAccessBackgroundTime(int);
+    method public long getLastAccessForegroundTime(int);
+    method public long getLastAccessTime(int);
+    method public long getLastAccessTime(int, int, int);
+    method public long getLastBackgroundDuration(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
+    method public long getLastDuration(int);
+    method public long getLastDuration(int, int, int);
+    method public long getLastForegroundDuration(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
+    method public long getLastRejectBackgroundTime(int);
+    method public long getLastRejectForegroundTime(int);
+    method public long getLastRejectTime(int);
+    method public long getLastRejectTime(int, int, int);
+    method public boolean isRunning();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR;
+  }
+
+  public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getAccessCount(int, int, int);
+    method public long getAccessDuration(int, int, int);
+    method public long getBackgroundAccessCount(int);
+    method public long getBackgroundAccessDuration(int);
+    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getBackgroundDiscreteAccesses(int);
+    method public long getBackgroundRejectCount(int);
+    method @NonNull public android.app.AppOpsManager.AttributedOpEntry getDiscreteAccessAt(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getDiscreteAccessCount();
+    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getDiscreteAccesses(int, int, int);
+    method public long getForegroundAccessCount(int);
+    method public long getForegroundAccessDuration(int);
+    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getForegroundDiscreteAccesses(int);
+    method public long getForegroundRejectCount(int);
+    method @NonNull public String getOpName();
+    method public long getRejectCount(int, int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
+  }
+
+  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getBeginTimeMillis();
+    method public long getEndTimeMillis();
+    method @IntRange(from=0) public int getUidCount();
+    method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
+    method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
+  }
+
+  public static final class AppOpsManager.HistoricalOpsRequest {
+  }
+
+  public static final class AppOpsManager.HistoricalOpsRequest.Builder {
+    ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build();
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setHistoryFlags(int);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setUid(int);
+  }
+
+  public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@Nullable String);
+    method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getAttributedOpsCount();
+    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
+    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getOpCount();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
+  }
+
+  public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0) public int getPackageCount();
+    method @Nullable public android.app.AppOpsManager.HistoricalPackageOps getPackageOps(@NonNull String);
+    method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(@IntRange(from=0) int);
+    method public int getUid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
+  }
+
+  public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries();
+    method @Deprecated public long getDuration();
+    method public long getLastAccessBackgroundTime(int);
+    method public long getLastAccessForegroundTime(int);
+    method public long getLastAccessTime(int);
+    method public long getLastAccessTime(int, int, int);
+    method public long getLastBackgroundDuration(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
+    method public long getLastDuration(int);
+    method public long getLastDuration(int, int, int);
+    method public long getLastForegroundDuration(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
+    method public long getLastRejectBackgroundTime(int);
+    method public long getLastRejectForegroundTime(int);
+    method public long getLastRejectTime(int);
+    method public long getLastRejectTime(int, int, int);
+    method public int getMode();
+    method @NonNull public String getOpStr();
+    method @Deprecated @Nullable public String getProxyPackageName();
+    method @Deprecated @Nullable public String getProxyPackageName(int, int);
+    method @Deprecated public int getProxyUid();
+    method @Deprecated public int getProxyUid(int, int);
+    method public boolean isRunning();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
+  }
+
+  public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getAttributionTag();
+    method @Nullable public String getPackageName();
+    method @IntRange(from=0) public int getUid();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR;
+  }
+
+  public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
+    method @NonNull public String getPackageName();
+    method public int getUid();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
+  }
+
+  public class BroadcastOptions {
+    method public static android.app.BroadcastOptions makeBasic();
+    method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean);
+    method public void setDontSendToRestrictedApps(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST, android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND, android.Manifest.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND}) public void setTemporaryAppAllowlist(long, int, int, @Nullable String);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST, android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND, android.Manifest.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND}) public void setTemporaryAppWhitelistDuration(long);
+    method public android.os.Bundle toBundle();
+  }
+
+  public class DownloadManager {
+    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>);
+    field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED";
+  }
+
+  public abstract class InstantAppResolverService extends android.app.Service {
+    ctor public InstantAppResolverService();
+    method public final void attachBaseContext(android.content.Context);
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+  }
+
+  public static final class InstantAppResolverService.InstantAppResolutionCallback {
+    method public void onInstantAppResolveInfo(java.util.List<android.content.pm.InstantAppResolveInfo>);
+  }
+
+  public class KeyguardManager {
+    method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence);
+    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed();
+    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int);
+    method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
+    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean);
+    field public static final int PASSWORD = 0; // 0x0
+    field public static final int PATTERN = 2; // 0x2
+    field public static final int PIN = 1; // 0x1
+  }
+
+  public class Notification implements android.os.Parcelable {
+    field public static final String CATEGORY_CAR_EMERGENCY = "car_emergency";
+    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
+    field public static final String CATEGORY_CAR_WARNING = "car_warning";
+    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
+    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
+    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
+  }
+
+  public static class Notification.Action implements android.os.Parcelable {
+    field public static final int SEMANTIC_ACTION_CONVERSATION_IS_PHISHING = 12; // 0xc
+    field public static final int SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY = 11; // 0xb
+  }
+
+  public static final class Notification.TvExtender implements android.app.Notification.Extender {
+    ctor public Notification.TvExtender();
+    ctor public Notification.TvExtender(android.app.Notification);
+    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
+    method public String getChannelId();
+    method public android.app.PendingIntent getContentIntent();
+    method public android.app.PendingIntent getDeleteIntent();
+    method public boolean getSuppressShowOverApps();
+    method public boolean isAvailableOnTv();
+    method public android.app.Notification.TvExtender setChannel(String);
+    method public android.app.Notification.TvExtender setChannelId(String);
+    method public android.app.Notification.TvExtender setContentIntent(android.app.PendingIntent);
+    method public android.app.Notification.TvExtender setDeleteIntent(android.app.PendingIntent);
+    method public android.app.Notification.TvExtender setSuppressShowOverApps(boolean);
+  }
+
+  public final class NotificationChannel implements android.os.Parcelable {
+    method public int getUserLockedFields();
+    method public boolean isDeleted();
+    method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
+    method public void setBlockable(boolean);
+    method public org.json.JSONObject toJson() throws org.json.JSONException;
+    method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
+    field public static final int USER_LOCKED_SOUND = 32; // 0x20
+  }
+
+  public final class NotificationChannelGroup implements android.os.Parcelable {
+    method public org.json.JSONObject toJson() throws org.json.JSONException;
+  }
+
+  public class NotificationManager {
+    method @NonNull public java.util.List<java.lang.String> getAllowedAssistantAdjustments();
+    method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public java.util.List<android.content.ComponentName> getEnabledNotificationListeners();
+    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
+    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
+    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
+    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
+    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_TOGGLE_NOTIFICATION_HANDLER_PANEL = "android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL";
+  }
+
+  public final class RuntimeAppOpAccessMessage implements android.os.Parcelable {
+    ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int);
+    method public int describeContents();
+    method @Nullable public String getAttributionTag();
+    method @NonNull public String getMessage();
+    method @NonNull public String getOp();
+    method @NonNull public String getPackageName();
+    method public int getSamplingStrategy();
+    method @IntRange(from=0L) public int getUid();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR;
+  }
+
+  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
+    method public void launchAssist(@Nullable android.os.Bundle);
+  }
+
+  public class StatusBarManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
+  }
+
+  public static final class StatusBarManager.DisableInfo {
+    method public boolean areAllComponentsEnabled();
+    method public boolean isNavigateToHomeDisabled();
+    method public boolean isNotificationPeekingDisabled();
+    method public boolean isRecentsDisabled();
+    method public boolean isSearchDisabled();
+    method public boolean isStatusBarExpansionDisabled();
+  }
+
+  public final class SystemServiceRegistry {
+    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>);
+    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>);
+    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>);
+    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>);
+  }
+
+  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> {
+    method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder);
+  }
+
+  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> {
+    method @NonNull public TServiceClass createService(@NonNull android.content.Context);
+  }
+
+  public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> {
+    method @NonNull public TServiceClass createService(@NonNull android.os.IBinder);
+  }
+
+  public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> {
+    method @NonNull public TServiceClass createService();
+  }
+
+  public class UiModeManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void addOnProjectionStateChangedListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
+    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
+    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangedListener(@NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
+    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
+    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
+    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
+    field public static final int DEFAULT_PRIORITY = 0; // 0x0
+    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
+    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
+    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
+    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
+    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
+  }
+
+  public static interface UiModeManager.OnProjectionStateChangedListener {
+    method public void onProjectionStateChanged(int, @NonNull java.util.Set<java.lang.String>);
+  }
+
+  public final class Vr2dDisplayProperties implements android.os.Parcelable {
+    ctor public Vr2dDisplayProperties(int, int, int);
+    method public int describeContents();
+    method public void dump(@NonNull java.io.PrintWriter, @NonNull String);
+    method public int getAddedFlags();
+    method public int getDpi();
+    method public int getHeight();
+    method public int getRemovedFlags();
+    method public int getWidth();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
+    field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
+  }
+
+  public static final class Vr2dDisplayProperties.Builder {
+    ctor public Vr2dDisplayProperties.Builder();
+    method @NonNull public android.app.Vr2dDisplayProperties.Builder addFlags(int);
+    method @NonNull public android.app.Vr2dDisplayProperties build();
+    method @NonNull public android.app.Vr2dDisplayProperties.Builder removeFlags(int);
+    method @NonNull public android.app.Vr2dDisplayProperties.Builder setDimensions(int, int, int);
+    method @NonNull public android.app.Vr2dDisplayProperties.Builder setEnabled(boolean);
+  }
+
+  public class VrManager {
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public int getVr2dDisplayId();
+    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isPersistentVrModeEnabled();
+    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isVrModeEnabled();
+    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void registerVrStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.app.VrStateCallback);
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setAndBindVrCompositor(android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setPersistentVrModeEnabled(boolean);
+    method @RequiresPermission("android.permission.ACCESS_VR_MANAGER") public void setStandbyEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVr2dDisplayProperties(@NonNull android.app.Vr2dDisplayProperties);
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVrInputMethod(@Nullable android.content.ComponentName);
+    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void unregisterVrStateCallback(@NonNull android.app.VrStateCallback);
+  }
+
+  public abstract class VrStateCallback {
+    ctor public VrStateCallback();
+    method public void onPersistentVrStateChanged(boolean);
+    method public void onVrStateChanged(boolean);
+  }
+
+  public final class WallpaperInfo implements android.os.Parcelable {
+    method public boolean supportsAmbientMode();
+  }
+
+  public class WallpaperManager {
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void clearWallpaper(int, int);
+    method public void setDisplayOffset(android.os.IBinder, int, int);
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName);
+  }
+
+}
+
+package android.app.admin {
+
+  public class DevicePolicyKeyguardService extends android.app.Service {
+    ctor public DevicePolicyKeyguardService();
+    method @Nullable public void dismiss();
+    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
+    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder);
+  }
+
+  public class DevicePolicyManager {
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"}) public android.content.ComponentName getDeviceOwnerComponentOnAnyUser();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwnerNameOnAnyUser();
+    method @Nullable public CharSequence getDeviceOwnerOrganizationName();
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getDeviceOwnerUser();
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
+    method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getProfileOwnerNameAsUser(int) throws java.lang.IllegalArgumentException;
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserProvisioningState();
+    method public boolean isDeviceManaged();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isManagedKiosk();
+    method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUnattendedManagedKiosk();
+    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long);
+    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean);
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
+    method @Deprecated @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
+    method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
+    method public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean);
+    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
+    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
+    field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE";
+    field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
+    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
+    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
+    field @RequiresPermission(android.Manifest.permission.MANAGE_FACTORY_RESET_PROTECTION) public static final String ACTION_RESET_PROTECTION_POLICY_CHANGED = "android.app.action.RESET_PROTECTION_POLICY_CHANGED";
+    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
+    field public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
+    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
+    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
+    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
+    field public static final String EXTRA_PROVISIONING_ORGANIZATION_NAME = "android.app.extra.PROVISIONING_ORGANIZATION_NAME";
+    field public static final String EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE = "android.app.extra.PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE";
+    field public static final String EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER = "android.app.extra.PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER";
+    field public static final String EXTRA_PROVISIONING_SUPPORTED_MODES = "android.app.extra.PROVISIONING_SUPPORTED_MODES";
+    field public static final String EXTRA_PROVISIONING_SUPPORT_URL = "android.app.extra.PROVISIONING_SUPPORT_URL";
+    field public static final String EXTRA_PROVISIONING_TRIGGER = "android.app.extra.PROVISIONING_TRIGGER";
+    field public static final String EXTRA_RESTRICTION = "android.app.extra.RESTRICTION";
+    field public static final int FLAG_SUPPORTED_MODES_DEVICE_OWNER = 4; // 0x4
+    field public static final int FLAG_SUPPORTED_MODES_ORGANIZATION_OWNED = 1; // 0x1
+    field public static final int FLAG_SUPPORTED_MODES_PERSONALLY_OWNED = 2; // 0x2
+    field public static final int PROVISIONING_TRIGGER_CLOUD_ENROLLMENT = 1; // 0x1
+    field public static final int PROVISIONING_TRIGGER_MANAGED_ACCOUNT = 4; // 0x4
+    field @Deprecated public static final int PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER = 3; // 0x3
+    field public static final int PROVISIONING_TRIGGER_QR_CODE = 2; // 0x2
+    field public static final int PROVISIONING_TRIGGER_UNSPECIFIED = 0; // 0x0
+    field public static final String REQUIRED_APP_MANAGED_DEVICE = "android.app.REQUIRED_APP_MANAGED_DEVICE";
+    field public static final String REQUIRED_APP_MANAGED_PROFILE = "android.app.REQUIRED_APP_MANAGED_PROFILE";
+    field public static final String REQUIRED_APP_MANAGED_USER = "android.app.REQUIRED_APP_MANAGED_USER";
+    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
+    field public static final int STATE_USER_PROFILE_FINALIZED = 5; // 0x5
+    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
+    field public static final int STATE_USER_SETUP_FINALIZED = 3; // 0x3
+    field public static final int STATE_USER_SETUP_INCOMPLETE = 1; // 0x1
+    field public static final int STATE_USER_UNMANAGED = 0; // 0x0
+  }
+
+  public final class SystemUpdatePolicy implements android.os.Parcelable {
+    method public android.app.admin.SystemUpdatePolicy.InstallationOption getInstallationOptionAt(long);
+    field public static final int TYPE_PAUSE = 4; // 0x4
+  }
+
+  public static class SystemUpdatePolicy.InstallationOption {
+    method public long getEffectiveTime();
+    method public int getType();
+  }
+
+}
+
+package android.app.assist {
+
+  public class ActivityId {
+  }
+
+  public static class AssistStructure.ViewNode {
+    ctor public AssistStructure.ViewNode();
+  }
+
+}
+
+package android.app.backup {
+
+  public class BackupDataInput {
+    ctor public BackupDataInput(java.io.FileDescriptor);
+  }
+
+  public class BackupDataOutput {
+    ctor public BackupDataOutput(java.io.FileDescriptor);
+    ctor public BackupDataOutput(java.io.FileDescriptor, long);
+  }
+
+  public class BackupManager {
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport();
+    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.ComponentName getCurrentTransportComponent();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getDataManagementIntent(String);
+    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public CharSequence getDataManagementIntentLabel(@NonNull String);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public String getDataManagementLabel(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getDestinationString(String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isAppEligibleForBackup(String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupEnabled();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupServiceActive(android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public String[] listAllTransports();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver, android.app.backup.BackupManagerMonitor, int);
+    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public String selectBackupTransport(String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void selectBackupTransport(android.content.ComponentName, android.app.backup.SelectBackupTransportCallback);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAncestralSerialNumber(long);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAutoRestore(boolean);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setBackupEnabled(boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public void updateTransportAttributes(@NonNull android.content.ComponentName, @NonNull String, @Nullable android.content.Intent, @NonNull String, @Nullable android.content.Intent, @Nullable String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void updateTransportAttributes(@NonNull android.content.ComponentName, @NonNull String, @Nullable android.content.Intent, @NonNull String, @Nullable android.content.Intent, @Nullable CharSequence);
+    field public static final int ERROR_AGENT_FAILURE = -1003; // 0xfffffc15
+    field public static final int ERROR_BACKUP_CANCELLED = -2003; // 0xfffff82d
+    field public static final int ERROR_BACKUP_NOT_ALLOWED = -2001; // 0xfffff82f
+    field public static final int ERROR_PACKAGE_NOT_FOUND = -2002; // 0xfffff82e
+    field public static final int ERROR_TRANSPORT_ABORTED = -1000; // 0xfffffc18
+    field public static final int ERROR_TRANSPORT_INVALID = -2; // 0xfffffffe
+    field public static final int ERROR_TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
+    field public static final int ERROR_TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
+    field public static final int ERROR_TRANSPORT_UNAVAILABLE = -1; // 0xffffffff
+    field public static final int FLAG_NON_INCREMENTAL_BACKUP = 1; // 0x1
+    field public static final String PACKAGE_MANAGER_SENTINEL = "@pm@";
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public class BackupManagerMonitor {
+    ctor public BackupManagerMonitor();
+    method public void onEvent(android.os.Bundle);
+    field public static final String EXTRA_LOG_CANCEL_ALL = "android.app.backup.extra.LOG_CANCEL_ALL";
+    field public static final String EXTRA_LOG_EVENT_CATEGORY = "android.app.backup.extra.LOG_EVENT_CATEGORY";
+    field public static final String EXTRA_LOG_EVENT_ID = "android.app.backup.extra.LOG_EVENT_ID";
+    field public static final String EXTRA_LOG_EVENT_PACKAGE_LONG_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_FULL_VERSION";
+    field public static final String EXTRA_LOG_EVENT_PACKAGE_NAME = "android.app.backup.extra.LOG_EVENT_PACKAGE_NAME";
+    field @Deprecated public static final String EXTRA_LOG_EVENT_PACKAGE_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_VERSION";
+    field public static final String EXTRA_LOG_EXCEPTION_FULL_BACKUP = "android.app.backup.extra.LOG_EXCEPTION_FULL_BACKUP";
+    field public static final String EXTRA_LOG_ILLEGAL_KEY = "android.app.backup.extra.LOG_ILLEGAL_KEY";
+    field public static final String EXTRA_LOG_MANIFEST_PACKAGE_NAME = "android.app.backup.extra.LOG_MANIFEST_PACKAGE_NAME";
+    field public static final String EXTRA_LOG_OLD_VERSION = "android.app.backup.extra.LOG_OLD_VERSION";
+    field public static final String EXTRA_LOG_POLICY_ALLOW_APKS = "android.app.backup.extra.LOG_POLICY_ALLOW_APKS";
+    field public static final String EXTRA_LOG_PREFLIGHT_ERROR = "android.app.backup.extra.LOG_PREFLIGHT_ERROR";
+    field public static final String EXTRA_LOG_RESTORE_ANYWAY = "android.app.backup.extra.LOG_RESTORE_ANYWAY";
+    field public static final String EXTRA_LOG_RESTORE_VERSION = "android.app.backup.extra.LOG_RESTORE_VERSION";
+    field public static final String EXTRA_LOG_WIDGET_PACKAGE_NAME = "android.app.backup.extra.LOG_WIDGET_PACKAGE_NAME";
+    field public static final int LOG_EVENT_CATEGORY_AGENT = 2; // 0x2
+    field public static final int LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY = 3; // 0x3
+    field public static final int LOG_EVENT_CATEGORY_TRANSPORT = 1; // 0x1
+    field public static final int LOG_EVENT_ID_APK_NOT_INSTALLED = 40; // 0x28
+    field public static final int LOG_EVENT_ID_APP_HAS_NO_AGENT = 28; // 0x1c
+    field public static final int LOG_EVENT_ID_BACKUP_DISABLED = 13; // 0xd
+    field public static final int LOG_EVENT_ID_CANNOT_RESTORE_WITHOUT_APK = 41; // 0x29
+    field public static final int LOG_EVENT_ID_CANT_FIND_AGENT = 30; // 0x1e
+    field public static final int LOG_EVENT_ID_CORRUPT_MANIFEST = 46; // 0x2e
+    field public static final int LOG_EVENT_ID_DEVICE_NOT_PROVISIONED = 14; // 0xe
+    field public static final int LOG_EVENT_ID_ERROR_PREFLIGHT = 16; // 0x10
+    field public static final int LOG_EVENT_ID_EXCEPTION_FULL_BACKUP = 19; // 0x13
+    field public static final int LOG_EVENT_ID_EXPECTED_DIFFERENT_PACKAGE = 43; // 0x2b
+    field public static final int LOG_EVENT_ID_FULL_BACKUP_CANCEL = 4; // 0x4
+    field public static final int LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE = 39; // 0x27
+    field public static final int LOG_EVENT_ID_FULL_RESTORE_SIGNATURE_MISMATCH = 37; // 0x25
+    field public static final int LOG_EVENT_ID_FULL_RESTORE_TIMEOUT = 45; // 0x2d
+    field public static final int LOG_EVENT_ID_ILLEGAL_KEY = 5; // 0x5
+    field public static final int LOG_EVENT_ID_KEY_VALUE_BACKUP_CANCEL = 21; // 0x15
+    field public static final int LOG_EVENT_ID_KEY_VALUE_RESTORE_TIMEOUT = 31; // 0x1f
+    field public static final int LOG_EVENT_ID_LOST_TRANSPORT = 25; // 0x19
+    field public static final int LOG_EVENT_ID_MISSING_SIGNATURE = 42; // 0x2a
+    field public static final int LOG_EVENT_ID_NO_DATA_TO_SEND = 7; // 0x7
+    field public static final int LOG_EVENT_ID_NO_PACKAGES = 49; // 0x31
+    field public static final int LOG_EVENT_ID_NO_PM_METADATA_RECEIVED = 23; // 0x17
+    field public static final int LOG_EVENT_ID_NO_RESTORE_METADATA_AVAILABLE = 22; // 0x16
+    field public static final int LOG_EVENT_ID_PACKAGE_INELIGIBLE = 9; // 0x9
+    field public static final int LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT = 10; // 0xa
+    field public static final int LOG_EVENT_ID_PACKAGE_NOT_FOUND = 12; // 0xc
+    field public static final int LOG_EVENT_ID_PACKAGE_NOT_PRESENT = 26; // 0x1a
+    field public static final int LOG_EVENT_ID_PACKAGE_STOPPED = 11; // 0xb
+    field public static final int LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT = 15; // 0xf
+    field public static final int LOG_EVENT_ID_PM_AGENT_HAS_NO_METADATA = 24; // 0x18
+    field public static final int LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT = 18; // 0x12
+    field public static final int LOG_EVENT_ID_RESTORE_ANY_VERSION = 34; // 0x22
+    field public static final int LOG_EVENT_ID_RESTORE_VERSION_HIGHER = 27; // 0x1b
+    field public static final int LOG_EVENT_ID_SIGNATURE_MISMATCH = 29; // 0x1d
+    field public static final int LOG_EVENT_ID_SYSTEM_APP_NO_AGENT = 38; // 0x26
+    field public static final int LOG_EVENT_ID_TRANSPORT_IS_NULL = 50; // 0x32
+    field public static final int LOG_EVENT_ID_TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = 51; // 0x33
+    field public static final int LOG_EVENT_ID_UNKNOWN_VERSION = 44; // 0x2c
+    field public static final int LOG_EVENT_ID_VERSIONS_MATCH = 35; // 0x23
+    field public static final int LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER = 36; // 0x24
+    field public static final int LOG_EVENT_ID_WIDGET_METADATA_MISMATCH = 47; // 0x2f
+    field public static final int LOG_EVENT_ID_WIDGET_UNKNOWN_VERSION = 48; // 0x30
+  }
+
+  public abstract class BackupObserver {
+    ctor public BackupObserver();
+    method public void backupFinished(int);
+    method public void onResult(String, int);
+    method public void onUpdate(String, android.app.backup.BackupProgress);
+  }
+
+  public class BackupProgress implements android.os.Parcelable {
+    ctor public BackupProgress(long, long);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
+    field public final long bytesExpected;
+    field public final long bytesTransferred;
+  }
+
+  public class BackupTransport {
+    ctor public BackupTransport();
+    method public int abortFullRestore();
+    method public void cancelFullBackup();
+    method public int checkFullBackupSize(long);
+    method public int clearBackupData(android.content.pm.PackageInfo);
+    method public android.content.Intent configurationIntent();
+    method public String currentDestinationString();
+    method public android.content.Intent dataManagementIntent();
+    method @Nullable public CharSequence dataManagementIntentLabel();
+    method @Deprecated @Nullable public String dataManagementLabel();
+    method public int finishBackup();
+    method public void finishRestore();
+    method public android.app.backup.RestoreSet[] getAvailableRestoreSets();
+    method public long getBackupQuota(String, boolean);
+    method public android.os.IBinder getBinder();
+    method public long getCurrentRestoreSet();
+    method public int getNextFullRestoreDataChunk(android.os.ParcelFileDescriptor);
+    method public int getRestoreData(android.os.ParcelFileDescriptor);
+    method public int getTransportFlags();
+    method public int initializeDevice();
+    method public boolean isAppEligibleForBackup(android.content.pm.PackageInfo, boolean);
+    method public String name();
+    method public android.app.backup.RestoreDescription nextRestorePackage();
+    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
+    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
+    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
+    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
+    method public long requestBackupTime();
+    method public long requestFullBackupTime();
+    method public int sendBackupData(int);
+    method public int startRestore(long, android.content.pm.PackageInfo[]);
+    method public String transportDirName();
+    field public static final int AGENT_ERROR = -1003; // 0xfffffc15
+    field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
+    field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
+    field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8
+    field public static final int FLAG_INCREMENTAL = 2; // 0x2
+    field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
+    field public static final int FLAG_USER_INITIATED = 1; // 0x1
+    field public static final int NO_MORE_DATA = -1; // 0xffffffff
+    field public static final int TRANSPORT_ERROR = -1000; // 0xfffffc18
+    field public static final int TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = -1006; // 0xfffffc12
+    field public static final int TRANSPORT_NOT_INITIALIZED = -1001; // 0xfffffc17
+    field public static final int TRANSPORT_OK = 0; // 0x0
+    field public static final int TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
+    field public static final int TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
+  }
+
+  public class RestoreDescription implements android.os.Parcelable {
+    ctor public RestoreDescription(String, int);
+    method public int describeContents();
+    method public int getDataType();
+    method public String getPackageName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
+    field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
+    field public static final int TYPE_FULL_STREAM = 2; // 0x2
+    field public static final int TYPE_KEY_VALUE = 1; // 0x1
+  }
+
+  public abstract class RestoreObserver {
+    method public void restoreSetsAvailable(android.app.backup.RestoreSet[]);
+  }
+
+  public class RestoreSession {
+    method public void endRestoreSession();
+    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
+    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver);
+    method public int restoreAll(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
+    method public int restoreAll(long, android.app.backup.RestoreObserver);
+    method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
+    method public int restorePackage(String, android.app.backup.RestoreObserver);
+    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
+    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
+  }
+
+  public class RestoreSet implements android.os.Parcelable {
+    ctor public RestoreSet();
+    ctor public RestoreSet(@Nullable String, @Nullable String, long);
+    ctor public RestoreSet(@Nullable String, @Nullable String, long, int);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
+    field public final int backupTransportFlags;
+    field @Nullable public String device;
+    field @Nullable public String name;
+    field public long token;
+  }
+
+  public abstract class SelectBackupTransportCallback {
+    ctor public SelectBackupTransportCallback();
+    method public void onFailure(int);
+    method public void onSuccess(String);
+  }
+
+}
+
+package android.app.compat {
+
+  public final class CompatChanges {
+    method public static boolean isChangeEnabled(long);
+    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, @NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, int);
+    method @RequiresPermission(android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD) public static void putPackageOverrides(@NonNull String, @NonNull java.util.Map<java.lang.Long,android.app.compat.PackageOverride>);
+    method @RequiresPermission(android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD) public static void removePackageOverrides(@NonNull String, @NonNull java.util.Set<java.lang.Long>);
+  }
+
+  public final class PackageOverride {
+    method public long getMaxVersionCode();
+    method public long getMinVersionCode();
+    method public boolean isEnabled();
+  }
+
+  public static final class PackageOverride.Builder {
+    ctor public PackageOverride.Builder();
+    method @NonNull public android.app.compat.PackageOverride build();
+    method @NonNull public android.app.compat.PackageOverride.Builder setEnabled(boolean);
+    method @NonNull public android.app.compat.PackageOverride.Builder setMaxVersionCode(long);
+    method @NonNull public android.app.compat.PackageOverride.Builder setMinVersionCode(long);
+  }
+
+}
+
+package android.app.contentsuggestions {
+
+  public final class ClassificationsRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
+  }
+
+  public static final class ClassificationsRequest.Builder {
+    ctor public ClassificationsRequest.Builder(@NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
+    method @NonNull public android.app.contentsuggestions.ClassificationsRequest build();
+    method @NonNull public android.app.contentsuggestions.ClassificationsRequest.Builder setExtras(@NonNull android.os.Bundle);
+  }
+
+  public final class ContentClassification implements android.os.Parcelable {
+    ctor public ContentClassification(@NonNull String, @NonNull android.os.Bundle);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
+  }
+
+  public final class ContentSelection implements android.os.Parcelable {
+    ctor public ContentSelection(@NonNull String, @NonNull android.os.Bundle);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
+  }
+
+  public final class ContentSuggestionsManager {
+    method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
+    method public boolean isEnabled();
+    method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
+    method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle);
+    method public void provideContextImage(int, @NonNull android.os.Bundle);
+    method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
+  }
+
+  public static interface ContentSuggestionsManager.ClassificationsCallback {
+    method public void onContentClassificationsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentClassification>);
+  }
+
+  public static interface ContentSuggestionsManager.SelectionsCallback {
+    method public void onContentSelectionsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
+  }
+
+  public final class SelectionsRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public android.graphics.Point getInterestPoint();
+    method public int getTaskId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
+  }
+
+  public static final class SelectionsRequest.Builder {
+    ctor public SelectionsRequest.Builder(int);
+    method @NonNull public android.app.contentsuggestions.SelectionsRequest build();
+    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setInterestPoint(@NonNull android.graphics.Point);
+  }
+
+}
+
+package android.app.job {
+
+  public abstract class JobScheduler {
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String);
+  }
+
+  public class JobSchedulerFrameworkInitializer {
+    method public static void registerServiceWrappers();
+  }
+
+}
+
+package android.app.people {
+
+  public final class PeopleManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PEOPLE_DATA) public boolean isConversation(@NonNull String, @NonNull String);
+  }
+
+}
+
+package android.app.prediction {
+
+  public final class AppPredictionContext implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.os.Bundle getExtras();
+    method @NonNull public String getPackageName();
+    method @IntRange(from=0) public int getPredictedTargetCount();
+    method @NonNull public String getUiSurface();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
+  }
+
+  public static final class AppPredictionContext.Builder {
+    ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
+    method @NonNull public android.app.prediction.AppPredictionContext build();
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
+  }
+
+  public final class AppPredictionManager {
+    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
+  }
+
+  public final class AppPredictionSessionId implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
+  }
+
+  public final class AppPredictor {
+    method public void destroy();
+    method public void notifyAppTargetEvent(@NonNull android.app.prediction.AppTargetEvent);
+    method public void notifyLaunchLocationShown(@NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
+    method public void registerPredictionUpdates(@NonNull java.util.concurrent.Executor, @NonNull android.app.prediction.AppPredictor.Callback);
+    method public void requestPredictionUpdate();
+    method @Nullable public void sortTargets(@NonNull java.util.List<android.app.prediction.AppTarget>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.app.prediction.AppTarget>>);
+    method public void unregisterPredictionUpdates(@NonNull android.app.prediction.AppPredictor.Callback);
+  }
+
+  public static interface AppPredictor.Callback {
+    method public void onTargetsAvailable(@NonNull java.util.List<android.app.prediction.AppTarget>);
+  }
+
+  public final class AppTarget implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getClassName();
+    method @NonNull public android.app.prediction.AppTargetId getId();
+    method @NonNull public String getPackageName();
+    method @IntRange(from=0) public int getRank();
+    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
+    method @NonNull public android.os.UserHandle getUser();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
+  }
+
+  public static final class AppTarget.Builder {
+    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull String, @NonNull android.os.UserHandle);
+    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull android.content.pm.ShortcutInfo);
+    method @NonNull public android.app.prediction.AppTarget build();
+    method @NonNull public android.app.prediction.AppTarget.Builder setClassName(@NonNull String);
+    method @NonNull public android.app.prediction.AppTarget.Builder setRank(@IntRange(from=0) int);
+  }
+
+  public final class AppTargetEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAction();
+    method @Nullable public String getLaunchLocation();
+    method @Nullable public android.app.prediction.AppTarget getTarget();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_DISMISS = 2; // 0x2
+    field public static final int ACTION_LAUNCH = 1; // 0x1
+    field public static final int ACTION_PIN = 3; // 0x3
+    field public static final int ACTION_UNPIN = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
+  }
+
+  public static final class AppTargetEvent.Builder {
+    ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
+    method @NonNull public android.app.prediction.AppTargetEvent build();
+    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
+  }
+
+  public final class AppTargetId implements android.os.Parcelable {
+    ctor public AppTargetId(@NonNull String);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
+  }
+
+}
+
+package android.app.search {
+
+  public final class Query implements android.os.Parcelable {
+    ctor public Query(@NonNull String, long, @NonNull android.os.Bundle);
+    ctor public Query(@NonNull String, long);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getInput();
+    method public long getTimestampMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.Query> CREATOR;
+    field public static final String EXTRA_IME_HEIGHT = "android.app.search.extra.IME_HEIGHT";
+  }
+
+  public final class SearchAction implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public CharSequence getContentDescription();
+    method @Nullable public android.os.Bundle getExtras();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @NonNull public String getId();
+    method @Nullable public android.content.Intent getIntent();
+    method @Nullable public android.app.PendingIntent getPendingIntent();
+    method @Nullable public CharSequence getSubtitle();
+    method @NonNull public CharSequence getTitle();
+    method @Nullable public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchAction> CREATOR;
+  }
+
+  public static final class SearchAction.Builder {
+    ctor public SearchAction.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.app.search.SearchAction build();
+    method @NonNull public android.app.search.SearchAction.Builder setContentDescription(@Nullable CharSequence);
+    method @NonNull public android.app.search.SearchAction.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.app.search.SearchAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.search.SearchAction.Builder setIntent(@Nullable android.content.Intent);
+    method @NonNull public android.app.search.SearchAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
+    method @NonNull public android.app.search.SearchAction.Builder setSubtitle(@Nullable CharSequence);
+    method @NonNull public android.app.search.SearchAction.Builder setUserHandle(@Nullable android.os.UserHandle);
+  }
+
+  public final class SearchContext implements android.os.Parcelable {
+    ctor public SearchContext(int, int);
+    ctor public SearchContext(int, int, @NonNull android.os.Bundle);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public String getPackageName();
+    method @NonNull public int getResultTypes();
+    method @NonNull public int getTimeoutMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchContext> CREATOR;
+  }
+
+  public final class SearchSession implements java.lang.AutoCloseable {
+    method public void close();
+    method protected void finalize();
+    method public void notifyEvent(@NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
+    method @Nullable public void query(@NonNull android.app.search.Query, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.app.search.SearchTarget>>);
+  }
+
+  public final class SearchSessionId implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchSessionId> CREATOR;
+  }
+
+  public final class SearchTarget implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getId();
+    method @NonNull public String getLayoutType();
+    method @NonNull public String getPackageName();
+    method @NonNull public String getParentId();
+    method public int getResultType();
+    method public float getScore();
+    method @Nullable public android.app.search.SearchAction getSearchAction();
+    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
+    method @Nullable public android.net.Uri getSliceUri();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public boolean isHidden();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTarget> CREATOR;
+    field public static final String LAYOUT_TYPE_ICON = "icon";
+    field public static final String LAYOUT_TYPE_ICON_ROW = "icon_row";
+    field public static final String LAYOUT_TYPE_SHORT_ICON_ROW = "short_icon_row";
+    field public static final int RESULT_TYPE_APPLICATION = 1; // 0x1
+    field public static final int RESULT_TYPE_SHORTCUT = 2; // 0x2
+    field public static final int RESULT_TYPE_SLICE = 4; // 0x4
+    field public static final int RESULT_TYPE_WIDGETS = 8; // 0x8
+  }
+
+  public static final class SearchTarget.Builder {
+    ctor public SearchTarget.Builder(int, @NonNull String, @NonNull String);
+    method @NonNull public android.app.search.SearchTarget build();
+    method @NonNull public android.app.search.SearchTarget.Builder setAppWidgetProviderInfo(@NonNull android.appwidget.AppWidgetProviderInfo);
+    method @NonNull public android.app.search.SearchTarget.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.app.search.SearchTarget.Builder setHidden(boolean);
+    method @NonNull public android.app.search.SearchTarget.Builder setPackageName(@NonNull String);
+    method @NonNull public android.app.search.SearchTarget.Builder setParentId(@NonNull String);
+    method @NonNull public android.app.search.SearchTarget.Builder setScore(@FloatRange(from=0.0f, to=1.0f) float);
+    method @NonNull public android.app.search.SearchTarget.Builder setSearchAction(@Nullable android.app.search.SearchAction);
+    method @NonNull public android.app.search.SearchTarget.Builder setShortcutInfo(@NonNull android.content.pm.ShortcutInfo);
+    method @NonNull public android.app.search.SearchTarget.Builder setSliceUri(@NonNull android.net.Uri);
+    method @NonNull public android.app.search.SearchTarget.Builder setUserHandle(@NonNull android.os.UserHandle);
+  }
+
+  public final class SearchTargetEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAction();
+    method public int getFlags();
+    method @Nullable public String getLaunchLocation();
+    method @NonNull public String getTargetId();
+    method @NonNull public java.util.List<java.lang.String> getTargetIds();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int ACTION_DRAGNDROP = 7; // 0x7
+    field public static final int ACTION_LAUNCH_KEYBOARD_FOCUS = 6; // 0x6
+    field public static final int ACTION_LAUNCH_TOUCH = 5; // 0x5
+    field public static final int ACTION_LONGPRESS = 4; // 0x4
+    field public static final int ACTION_SURFACE_INVISIBLE = 8; // 0x8
+    field public static final int ACTION_SURFACE_VISIBLE = 1; // 0x1
+    field public static final int ACTION_TAP = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTargetEvent> CREATOR;
+    field public static final int FLAG_IME_SHOWN = 1; // 0x1
+  }
+
+  public static final class SearchTargetEvent.Builder {
+    ctor public SearchTargetEvent.Builder(@NonNull String, int);
+    ctor public SearchTargetEvent.Builder(@NonNull java.util.List<java.lang.String>, int);
+    method @NonNull public android.app.search.SearchTargetEvent build();
+    method @NonNull public android.app.search.SearchTargetEvent.Builder setFlags(int);
+    method @NonNull public android.app.search.SearchTargetEvent.Builder setLaunchLocation(@Nullable String);
+  }
+
+  public final class SearchUiManager {
+    method @NonNull public android.app.search.SearchSession createSearchSession(@NonNull android.app.search.SearchContext);
+  }
+
+}
+
+package android.app.smartspace {
+
+  public final class SmartspaceAction implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public CharSequence getContentDescription();
+    method @Nullable public android.os.Bundle getExtras();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @NonNull public String getId();
+    method @Nullable public android.content.Intent getIntent();
+    method @Nullable public android.app.PendingIntent getPendingIntent();
+    method @Nullable public CharSequence getSubtitle();
+    method @NonNull public CharSequence getTitle();
+    method @Nullable public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceAction> CREATOR;
+  }
+
+  public static final class SmartspaceAction.Builder {
+    ctor public SmartspaceAction.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.app.smartspace.SmartspaceAction build();
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setContentDescription(@Nullable CharSequence);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIntent(@Nullable android.content.Intent);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setSubtitle(@Nullable CharSequence);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setUserHandle(@Nullable android.os.UserHandle);
+  }
+
+  public final class SmartspaceConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.os.Bundle getExtras();
+    method @NonNull public String getPackageName();
+    method @NonNull public int getSmartspaceTargetCount();
+    method @NonNull public String getUiSurface();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceConfig> CREATOR;
+  }
+
+  public static final class SmartspaceConfig.Builder {
+    ctor public SmartspaceConfig.Builder(@NonNull android.content.Context, @NonNull String);
+    method @NonNull public android.app.smartspace.SmartspaceConfig build();
+    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setSmartspaceTargetCount(@IntRange(from=0, to=50) int);
+  }
+
+  public final class SmartspaceManager {
+    method @NonNull public android.app.smartspace.SmartspaceSession createSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig);
+  }
+
+  public final class SmartspaceSession implements java.lang.AutoCloseable {
+    method public void addOnTargetsAvailableListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
+    method public void close();
+    method protected void finalize();
+    method public void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceTargetEvent);
+    method public void removeOnTargetsAvailableListener(@NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
+    method public void requestSmartspaceUpdate();
+  }
+
+  public static interface SmartspaceSession.OnTargetsAvailableListener {
+    method public void onTargetsAvailable(@NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
+  }
+
+  public final class SmartspaceSessionId implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getId();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceSessionId> CREATOR;
+  }
+
+  public final class SmartspaceTarget implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getActionChips();
+    method @Nullable public String getAssociatedSmartspaceTargetId();
+    method @Nullable public android.app.smartspace.SmartspaceAction getBaseAction();
+    method @NonNull public android.content.ComponentName getComponentName();
+    method public long getCreationTimeMillis();
+    method public long getExpiryTimeMillis();
+    method public int getFeatureType();
+    method @Nullable public android.app.smartspace.SmartspaceAction getHeaderAction();
+    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getIconGrid();
+    method public float getScore();
+    method @Nullable public android.net.Uri getSliceUri();
+    method @NonNull public String getSmartspaceTargetId();
+    method @Nullable public String getSourceNotificationKey();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
+    method public boolean isSensitive();
+    method public boolean shouldShowExpanded();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTarget> CREATOR;
+    field public static final int FEATURE_ALARM = 7; // 0x7
+    field public static final int FEATURE_BEDTIME_ROUTINE = 16; // 0x10
+    field public static final int FEATURE_CALENDAR = 2; // 0x2
+    field public static final int FEATURE_COMMUTE_TIME = 3; // 0x3
+    field public static final int FEATURE_CONSENT = 11; // 0xb
+    field public static final int FEATURE_ETA_MONITORING = 18; // 0x12
+    field public static final int FEATURE_FITNESS_TRACKING = 17; // 0x11
+    field public static final int FEATURE_FLIGHT = 4; // 0x4
+    field public static final int FEATURE_LOYALTY_CARD = 14; // 0xe
+    field public static final int FEATURE_MEDIA = 15; // 0xf
+    field public static final int FEATURE_MISSED_CALL = 19; // 0x13
+    field public static final int FEATURE_ONBOARDING = 8; // 0x8
+    field public static final int FEATURE_PACKAGE_TRACKING = 20; // 0x14
+    field public static final int FEATURE_REMINDER = 6; // 0x6
+    field public static final int FEATURE_SHOPPING_LIST = 13; // 0xd
+    field public static final int FEATURE_SPORTS = 9; // 0x9
+    field public static final int FEATURE_STOCK_PRICE_CHANGE = 12; // 0xc
+    field public static final int FEATURE_STOPWATCH = 22; // 0x16
+    field public static final int FEATURE_TIMER = 21; // 0x15
+    field public static final int FEATURE_TIPS = 5; // 0x5
+    field public static final int FEATURE_UNDEFINED = 0; // 0x0
+    field public static final int FEATURE_UPCOMING_ALARM = 23; // 0x17
+    field public static final int FEATURE_WEATHER = 1; // 0x1
+    field public static final int FEATURE_WEATHER_ALERT = 10; // 0xa
+  }
+
+  public static final class SmartspaceTarget.Builder {
+    ctor public SmartspaceTarget.Builder(@NonNull String, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    method @NonNull public android.app.smartspace.SmartspaceTarget build();
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setActionChips(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setAssociatedSmartspaceTargetId(@NonNull String);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setBaseAction(@NonNull android.app.smartspace.SmartspaceAction);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setCreationTimeMillis(long);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setExpiryTimeMillis(long);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setFeatureType(int);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setHeaderAction(@NonNull android.app.smartspace.SmartspaceAction);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setIconGrid(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setScore(float);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSensitive(boolean);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setShouldShowExpanded(boolean);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSliceUri(@NonNull android.net.Uri);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSourceNotificationKey(@NonNull String);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
+  }
+
+  public final class SmartspaceTargetEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public int getEventType();
+    method @Nullable public String getSmartspaceActionId();
+    method @Nullable public android.app.smartspace.SmartspaceTarget getSmartspaceTarget();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTargetEvent> CREATOR;
+    field public static final int EVENT_TARGET_BLOCK = 5; // 0x5
+    field public static final int EVENT_TARGET_DISMISS = 4; // 0x4
+    field public static final int EVENT_TARGET_HIDDEN = 3; // 0x3
+    field public static final int EVENT_TARGET_INTERACTION = 1; // 0x1
+    field public static final int EVENT_TARGET_SHOWN = 2; // 0x2
+    field public static final int EVENT_UI_SURFACE_HIDDEN = 7; // 0x7
+    field public static final int EVENT_UI_SURFACE_SHOWN = 6; // 0x6
+  }
+
+  public static final class SmartspaceTargetEvent.Builder {
+    ctor public SmartspaceTargetEvent.Builder(int);
+    method @NonNull public android.app.smartspace.SmartspaceTargetEvent build();
+    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceActionId(@NonNull String);
+    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceTarget(@NonNull android.app.smartspace.SmartspaceTarget);
+  }
+
+}
+
+package android.app.time {
+
+  public final class Capabilities {
+    field public static final int CAPABILITY_NOT_ALLOWED = 20; // 0x14
+    field public static final int CAPABILITY_NOT_APPLICABLE = 30; // 0x1e
+    field public static final int CAPABILITY_NOT_SUPPORTED = 10; // 0xa
+    field public static final int CAPABILITY_POSSESSED = 40; // 0x28
+  }
+
+  public final class ExternalTimeSuggestion implements android.os.Parcelable {
+    ctor public ExternalTimeSuggestion(long, long);
+    method public void addDebugInfo(@NonNull java.lang.String...);
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getDebugInfo();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
+  }
+
+  public final class TimeManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void addTimeZoneDetectorListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
+    method @RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME) public void suggestExternalTime(@NonNull android.app.time.ExternalTimeSuggestion);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
+  }
+
+  @java.lang.FunctionalInterface public static interface TimeManager.TimeZoneDetectorListener {
+    method public void onChange();
+  }
+
+  public final class TimeZoneCapabilities implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getConfigureAutoDetectionEnabledCapability();
+    method public int getConfigureGeoDetectionEnabledCapability();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilities> CREATOR;
+  }
+
+  public final class TimeZoneCapabilitiesAndConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.app.time.TimeZoneCapabilities getCapabilities();
+    method @NonNull public android.app.time.TimeZoneConfiguration getConfiguration();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilitiesAndConfig> CREATOR;
+  }
+
+  public final class TimeZoneConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isAutoDetectionEnabled();
+    method public boolean isGeoDetectionEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneConfiguration> CREATOR;
+  }
+
+  public static final class TimeZoneConfiguration.Builder {
+    ctor public TimeZoneConfiguration.Builder();
+    ctor public TimeZoneConfiguration.Builder(@NonNull android.app.time.TimeZoneConfiguration);
+    method @NonNull public android.app.time.TimeZoneConfiguration build();
+    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setAutoDetectionEnabled(boolean);
+    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setGeoDetectionEnabled(boolean);
+  }
+
+}
+
+package android.app.usage {
+
+  public final class CacheQuotaHint implements android.os.Parcelable {
+    ctor public CacheQuotaHint(@NonNull android.app.usage.CacheQuotaHint.Builder);
+    method public int describeContents();
+    method public long getQuota();
+    method public int getUid();
+    method @Nullable public android.app.usage.UsageStats getUsageStats();
+    method @Nullable public String getVolumeUuid();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
+    field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
+  }
+
+  public static final class CacheQuotaHint.Builder {
+    ctor public CacheQuotaHint.Builder();
+    ctor public CacheQuotaHint.Builder(@NonNull android.app.usage.CacheQuotaHint);
+    method @NonNull public android.app.usage.CacheQuotaHint build();
+    method @NonNull public android.app.usage.CacheQuotaHint.Builder setQuota(long);
+    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUid(int);
+    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUsageStats(@Nullable android.app.usage.UsageStats);
+    method @NonNull public android.app.usage.CacheQuotaHint.Builder setVolumeUuid(@Nullable String);
+  }
+
+  public abstract class CacheQuotaService extends android.app.Service {
+    ctor public CacheQuotaService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract java.util.List<android.app.usage.CacheQuotaHint> onComputeCacheQuotaHints(java.util.List<android.app.usage.CacheQuotaHint>);
+    field public static final String SERVICE_INTERFACE = "android.app.usage.CacheQuotaService";
+  }
+
+  public class NetworkStatsManager {
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void registerNetworkStatsProvider(@NonNull String, @NonNull android.net.netstats.provider.NetworkStatsProvider);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void unregisterNetworkStatsProvider(@NonNull android.net.netstats.provider.NetworkStatsProvider);
+  }
+
+  public static final class UsageEvents.Event {
+    method public int getInstanceId();
+    method @Nullable public String getNotificationChannelId();
+    method @Nullable public String getTaskRootClassName();
+    method @Nullable public String getTaskRootPackageName();
+    method public boolean isInstantApp();
+    field public static final int NOTIFICATION_INTERRUPTION = 12; // 0xc
+    field public static final int NOTIFICATION_SEEN = 10; // 0xa
+    field public static final int SLICE_PINNED = 14; // 0xe
+    field public static final int SLICE_PINNED_PRIV = 13; // 0xd
+    field public static final int SYSTEM_INTERACTION = 6; // 0x6
+  }
+
+  public final class UsageStats implements android.os.Parcelable {
+    method public int getAppLaunchCount();
+    method public long getLastTimeAnyComponentUsed();
+  }
+
+  public final class UsageStatsManager {
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getAppStandbyBucket(String);
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,java.lang.Integer> getAppStandbyBuckets();
+    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long getLastTimeAnyComponentUsed(@NonNull String);
+    method public int getUsageSource();
+    method @RequiresPermission(android.Manifest.permission.BIND_CARRIER_SERVICES) public void onCarrierPrivilegedAppsChanged();
+    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void registerAppUsageLimitObserver(int, @NonNull String[], @NonNull java.time.Duration, @NonNull java.time.Duration, @Nullable android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerUsageSessionObserver(int, @NonNull String[], @NonNull java.time.Duration, @NonNull java.time.Duration, @NonNull android.app.PendingIntent, @Nullable android.app.PendingIntent);
+    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
+    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
+    method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBucket(String, int);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBuckets(java.util.Map<java.lang.String,java.lang.Integer>);
+    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle);
+    field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID";
+    field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT";
+    field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED";
+    field public static final int STANDBY_BUCKET_EXEMPTED = 5; // 0x5
+    field public static final int STANDBY_BUCKET_NEVER = 50; // 0x32
+    field public static final int USAGE_SOURCE_CURRENT_ACTIVITY = 2; // 0x2
+    field public static final int USAGE_SOURCE_TASK_ROOT_ACTIVITY = 1; // 0x1
+  }
+
+}
+
+package android.apphibernation {
+
+  public class AppHibernationManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.List<java.lang.String> getHibernatingPackagesForUser();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingForUser(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingGlobally(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingForUser(@NonNull String, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingGlobally(@NonNull String, boolean);
+  }
+
+}
+
+package android.bluetooth {
+
+  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1
+    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2
+    field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0
+    field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0
+    field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0
+    field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1
+    field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff
+    field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1
+    field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile {
+    method public void finalize();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED";
+  }
+
+  public final class BluetoothAdapter {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean addOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void generateLocalOobData(int, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OobDataCallback);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis();
+    method public boolean isBleScanAlwaysAvailable();
+    method public boolean isLeEnabled();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean removeActiveDevice(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean removeOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean setActiveDevice(@NonNull android.bluetooth.BluetoothDevice, int);
+    field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
+    field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE";
+    field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2
+    field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0
+    field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1
+  }
+
+  public static interface BluetoothAdapter.OnMetadataChangedListener {
+    method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]);
+  }
+
+  public static interface BluetoothAdapter.OobDataCallback {
+    method public void onError(int);
+    method public void onOobData(int, @NonNull android.bluetooth.OobData);
+  }
+
+  public final class BluetoothDevice implements android.os.Parcelable {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean cancelBondProcess();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData);
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int);
+    field public static final int ACCESS_ALLOWED = 1; // 0x1
+    field public static final int ACCESS_REJECTED = 2; // 0x2
+    field public static final int ACCESS_UNKNOWN = 0; // 0x0
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED";
+    field public static final String DEVICE_TYPE_DEFAULT = "Default";
+    field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset";
+    field public static final String DEVICE_TYPE_WATCH = "Watch";
+    field public static final int METADATA_COMPANION_APP = 4; // 0x4
+    field public static final int METADATA_DEVICE_TYPE = 17; // 0x11
+    field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10
+    field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3
+    field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6
+    field public static final int METADATA_MAIN_BATTERY = 18; // 0x12
+    field public static final int METADATA_MAIN_CHARGING = 19; // 0x13
+    field public static final int METADATA_MAIN_ICON = 5; // 0x5
+    field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14
+    field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0
+    field public static final int METADATA_MAX_LENGTH = 2048; // 0x800
+    field public static final int METADATA_MODEL_NAME = 1; // 0x1
+    field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2
+    field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc
+    field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf
+    field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9
+    field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17
+    field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa
+    field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd
+    field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7
+    field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15
+    field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb
+    field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe
+    field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8
+    field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16
+  }
+
+  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+  }
+
+  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+  }
+
+  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+  }
+
+  public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED";
+  }
+
+  public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
+    method public void close();
+    method protected void finalize();
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED";
+  }
+
+  public final class BluetoothMapClient implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.SEND_SMS}) public boolean sendMessage(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.Collection<android.net.Uri>, @NonNull String, @Nullable android.app.PendingIntent, @Nullable android.app.PendingIntent);
+  }
+
+  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED";
+    field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED";
+    field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE";
+    field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE";
+    field public static final int LOCAL_NAP_ROLE = 1; // 0x1
+    field public static final int LOCAL_PANU_ROLE = 2; // 0x2
+    field public static final int PAN_ROLE_NONE = 0; // 0x0
+    field public static final int REMOTE_NAP_ROLE = 1; // 0x1
+    field public static final int REMOTE_PANU_ROLE = 2; // 0x2
+    field public static final int TETHERING_STATE_OFF = 1; // 0x1
+    field public static final int TETHERING_STATE_ON = 2; // 0x2
+  }
+
+  public class BluetoothPbap implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED";
+  }
+
+  public interface BluetoothProfile {
+    field public static final int A2DP_SINK = 11; // 0xb
+    field public static final int AVRCP_CONTROLLER = 12; // 0xc
+    field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64
+    field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0
+    field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff
+    field public static final int HEADSET_CLIENT = 16; // 0x10
+    field public static final int MAP_CLIENT = 18; // 0x12
+    field public static final int PAN = 5; // 0x5
+    field public static final int PBAP_CLIENT = 17; // 0x11
+    field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0
+    field @Deprecated public static final int PRIORITY_ON = 100; // 0x64
+  }
+
+  public final class BluetoothStatusCodes {
+    field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8
+  }
+
+  public final class BluetoothUuid {
+    method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]);
+    method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]);
+    field @NonNull public static final android.os.ParcelUuid A2DP_SINK;
+    field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE;
+    field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST;
+    field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER;
+    field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET;
+    field @NonNull public static final android.os.ParcelUuid BASE_UUID;
+    field @NonNull public static final android.os.ParcelUuid BNEP;
+    field @NonNull public static final android.os.ParcelUuid DIP;
+    field @NonNull public static final android.os.ParcelUuid HEARING_AID;
+    field @NonNull public static final android.os.ParcelUuid HFP;
+    field @NonNull public static final android.os.ParcelUuid HFP_AG;
+    field @NonNull public static final android.os.ParcelUuid HID;
+    field @NonNull public static final android.os.ParcelUuid HOGP;
+    field @NonNull public static final android.os.ParcelUuid HSP;
+    field @NonNull public static final android.os.ParcelUuid HSP_AG;
+    field @NonNull public static final android.os.ParcelUuid LE_AUDIO;
+    field @NonNull public static final android.os.ParcelUuid MAP;
+    field @NonNull public static final android.os.ParcelUuid MAS;
+    field @NonNull public static final android.os.ParcelUuid MNS;
+    field @NonNull public static final android.os.ParcelUuid NAP;
+    field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH;
+    field @NonNull public static final android.os.ParcelUuid PANU;
+    field @NonNull public static final android.os.ParcelUuid PBAP_PCE;
+    field @NonNull public static final android.os.ParcelUuid PBAP_PSE;
+    field @NonNull public static final android.os.ParcelUuid SAP;
+    field public static final int UUID_BYTES_128_BIT = 16; // 0x10
+    field public static final int UUID_BYTES_16_BIT = 2; // 0x2
+    field public static final int UUID_BYTES_32_BIT = 4; // 0x4
+    field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL;
+  }
+
+  public final class BufferConstraint implements android.os.Parcelable {
+    ctor public BufferConstraint(int, int, int);
+    method public int describeContents();
+    method public int getDefaultMillis();
+    method public int getMaxMillis();
+    method public int getMinMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR;
+  }
+
+  public final class BufferConstraints implements android.os.Parcelable {
+    ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>);
+    method public int describeContents();
+    method @Nullable public android.bluetooth.BufferConstraint forCodec(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR;
+  }
+
+  public final class OobData implements android.os.Parcelable {
+    method @NonNull public byte[] getClassOfDevice();
+    method @NonNull public byte[] getClassicLength();
+    method @NonNull public byte[] getConfirmationHash();
+    method @NonNull public byte[] getDeviceAddressWithType();
+    method @Nullable public byte[] getDeviceName();
+    method @Nullable public byte[] getLeAppearance();
+    method @NonNull public int getLeDeviceRole();
+    method @NonNull public int getLeFlags();
+    method @Nullable public byte[] getLeTemporaryKey();
+    method @NonNull public byte[] getRandomizerHash();
+    field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3
+    field public static final int CONFIRMATION_OCTETS = 16; // 0x10
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
+    field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7
+    field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2
+    field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1
+    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3
+    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2
+    field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1
+    field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1
+    field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0
+    field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2
+    field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1
+    field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0
+    field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3
+    field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4
+    field public static final int LE_TK_OCTETS = 16; // 0x10
+    field public static final int OOB_LENGTH_OCTETS = 2; // 0x2
+    field public static final int RANDOMIZER_OCTETS = 16; // 0x10
+  }
+
+  public static final class OobData.ClassicBuilder {
+    ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
+    method @NonNull public android.bluetooth.OobData build();
+    method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]);
+    method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]);
+    method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]);
+  }
+
+  public static final class OobData.LeBuilder {
+    ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int);
+    method @NonNull public android.bluetooth.OobData build();
+    method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]);
+    method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int);
+    method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]);
+    method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]);
+  }
+
+}
+
+package android.bluetooth.le {
+
+  public final class BluetoothLeScanner {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(java.util.List<android.bluetooth.le.ScanFilter>, android.bluetooth.le.ScanSettings, android.os.WorkSource, android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
+  }
+
+  public final class ResultStorageDescriptor implements android.os.Parcelable {
+    ctor public ResultStorageDescriptor(int, int, int);
+    method public int describeContents();
+    method public int getLength();
+    method public int getOffset();
+    method public int getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
+  }
+
+  public final class ScanFilter implements android.os.Parcelable {
+    method public int getAddressType();
+    method @Nullable public byte[] getIrk();
+  }
+
+  public static final class ScanFilter.Builder {
+    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int);
+    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]);
+    field public static final int LEN_IRK_OCTETS = 16; // 0x10
+  }
+
+  public final class ScanSettings implements android.os.Parcelable {
+    field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3
+    field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
+    field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
+  }
+
+  public static final class ScanSettings.Builder {
+    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
+  }
+
+  public final class TruncatedFilter {
+    ctor public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
+    method public android.bluetooth.le.ScanFilter getFilter();
+    method public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
+  }
+
+}
+
+package android.companion {
+
+  public final class CompanionDeviceManager {
+    method @RequiresPermission(android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES) public void associate(@NonNull String, @NonNull android.net.MacAddress, @NonNull byte[]);
+    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean canPairWithoutPrompt(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle);
+  }
+
+}
+
+package android.content {
+
+  public class ApexEnvironment {
+    method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String);
+    method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle);
+    method @NonNull public java.io.File getDeviceProtectedDataDir();
+    method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle);
+  }
+
+  public final class AttributionSource implements android.os.Parcelable {
+    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
+  }
+
+  public static final class AttributionSource.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.AttributionSource.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
+  }
+
+  public abstract class BroadcastReceiver {
+    method @NonNull public final android.os.UserHandle getSendingUser();
+  }
+
+  public class ClipboardManager extends android.text.ClipboardManager {
+    method @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public void setPrimaryClipAsPackage(@NonNull android.content.ClipData, @NonNull String);
+  }
+
+  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
+  }
+
+  public class ContentProviderClient implements java.lang.AutoCloseable {
+    method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long);
+  }
+
+  public abstract class ContentResolver {
+    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
+    method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File);
+    method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
+    method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
+    method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
+  }
+
+  public abstract class Context {
+    method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int);
+    method public abstract android.content.Context createCredentialProtectedStorageContext();
+    method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract java.io.File getPreloadsFileCache();
+    method public abstract boolean isCredentialProtectedStorage();
+    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.content.Intent registerReceiverForAllUsers(@Nullable android.content.BroadcastReceiver, @NonNull android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler);
+    method public abstract void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
+    method public abstract void sendOrderedBroadcast(@NonNull android.content.Intent, @Nullable String, @Nullable android.os.Bundle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
+    field public static final String APP_HIBERNATION_SERVICE = "app_hibernation";
+    field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
+    field public static final String APP_PREDICTION_SERVICE = "app_prediction";
+    field public static final String BACKUP_SERVICE = "backup";
+    field public static final String BATTERY_STATS_SERVICE = "batterystats";
+    field public static final int BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS = 1048576; // 0x100000
+    field public static final int BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND = 262144; // 0x40000
+    field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions";
+    field public static final String CONTEXTHUB_SERVICE = "contexthub";
+    field public static final String ETHERNET_SERVICE = "ethernet";
+    field public static final String EUICC_CARD_SERVICE = "euicc_card";
+    field public static final String FONT_SERVICE = "font";
+    field public static final String HDMI_CONTROL_SERVICE = "hdmi_control";
+    field public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
+    field public static final String MUSIC_RECOGNITION_SERVICE = "music_recognition";
+    field public static final String NETD_SERVICE = "netd";
+    field public static final String NETWORK_SCORE_SERVICE = "network_score";
+    field public static final String OEM_LOCK_SERVICE = "oem_lock";
+    field public static final String PERMISSION_CONTROLLER_SERVICE = "permission_controller";
+    field public static final String PERMISSION_SERVICE = "permission";
+    field public static final String PERSISTENT_DATA_BLOCK_SERVICE = "persistent_data_block";
+    field public static final String REBOOT_READINESS_SERVICE = "reboot_readiness";
+    field public static final String ROLLBACK_SERVICE = "rollback";
+    field public static final String SEARCH_UI_SERVICE = "search_ui";
+    field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
+    field public static final String SMARTSPACE_SERVICE = "smartspace";
+    field public static final String STATS_MANAGER = "stats";
+    field public static final String STATUS_BAR_SERVICE = "statusbar";
+    field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
+    field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
+    field public static final String TETHERING_SERVICE = "tethering";
+    field public static final String TRANSLATION_MANAGER_SERVICE = "translation";
+    field public static final String UI_TRANSLATION_SERVICE = "ui_translation";
+    field public static final String VR_SERVICE = "vrmanager";
+    field public static final String WIFI_NL80211_SERVICE = "wifinl80211";
+    field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager";
+    field public static final String WIFI_SCANNING_SERVICE = "wifiscanner";
+  }
+
+  public final class ContextParams {
+    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
+  }
+
+  public static final class ContextParams.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
+  }
+
+  public class ContextWrapper extends android.content.Context {
+    method public android.content.Context createCredentialProtectedStorageContext();
+    method @Nullable public java.io.File getPreloadsFileCache();
+    method public boolean isCredentialProtectedStorage();
+    method public void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
+    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
+    method public void sendOrderedBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+  }
+
+  public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    field public static final String ACTION_ACTIVITY_RECOGNIZER = "android.intent.action.ACTIVITY_RECOGNIZER";
+    field public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
+    field public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
+    field public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
+    field public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
+    field public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
+    field public static final String ACTION_DOMAINS_NEED_VERIFICATION = "android.intent.action.DOMAINS_NEED_VERIFICATION";
+    field public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
+    field public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
+    field public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
+    field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
+    field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
+    field @Deprecated public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
+    field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
+    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
+    field public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
+    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
+    field public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
+    field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
+    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
+    field public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
+    field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
+    field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
+    field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
+    field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
+    field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
+    field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
+    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
+    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
+    field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
+    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_HISTORY = "android.intent.action.REVIEW_PERMISSION_HISTORY";
+    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
+    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
+    field public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
+    field @Deprecated public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
+    field public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
+    field public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
+    field public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
+    field public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
+    field public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
+    field public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
+    field public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
+    field public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
+    field public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
+    field public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
+    field public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
+    field public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
+    field public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
+    field public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
+    field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
+    field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
+    field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
+    field public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES";
+    field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
+    field public static final String EXTRA_REASON = "android.intent.extra.REASON";
+    field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
+    field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
+    field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
+    field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
+    field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
+    field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000
+    field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
+  }
+
+  public class IntentFilter implements android.os.Parcelable {
+    method public final int getOrder();
+    method public final void setOrder(int);
+  }
+
+}
+
+package android.content.integrity {
+
+  public class AppIntegrityManager {
+    method @NonNull public String getCurrentRuleSetProvider();
+    method @NonNull public String getCurrentRuleSetVersion();
+    method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
+    field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
+    field public static final int STATUS_FAILURE = 1; // 0x1
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public abstract class IntegrityFormula {
+    method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
+    method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
+    method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
+  }
+
+  public static final class IntegrityFormula.Application {
+    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
+    method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled();
+    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
+    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long);
+    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long);
+    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long);
+  }
+
+  public static final class IntegrityFormula.Installer {
+    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
+    method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest();
+    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
+  }
+
+  public static final class IntegrityFormula.SourceStamp {
+    method @NonNull public static android.content.integrity.IntegrityFormula notTrusted();
+    method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String);
+  }
+
+  public final class Rule implements android.os.Parcelable {
+    ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
+    method public int describeContents();
+    method public int getEffect();
+    method @NonNull public android.content.integrity.IntegrityFormula getFormula();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
+    field public static final int DENY = 0; // 0x0
+    field public static final int FORCE_ALLOW = 1; // 0x1
+  }
+
+  public class RuleSet {
+    method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
+    method @NonNull public String getVersion();
+  }
+
+  public static class RuleSet.Builder {
+    ctor public RuleSet.Builder();
+    method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
+    method @NonNull public android.content.integrity.RuleSet build();
+    method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
+  }
+
+}
+
+package android.content.om {
+
+  public final class OverlayInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCategory();
+    method @NonNull public String getPackageName();
+    method @Nullable public String getTargetOverlayableName();
+    method @NonNull public String getTargetPackageName();
+    method public int getUserId();
+    method public boolean isEnabled();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayInfo> CREATOR;
+  }
+
+  public class OverlayManager {
+    method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public java.util.List<android.content.om.OverlayInfo> getOverlayInfosForTarget(@NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public void setEnabled(@NonNull String, boolean, @NonNull android.os.UserHandle) throws java.lang.IllegalStateException, java.lang.SecurityException;
+    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public void setEnabledExclusiveInCategory(@NonNull String, @NonNull android.os.UserHandle) throws java.lang.IllegalStateException, java.lang.SecurityException;
+  }
+
+}
+
+package android.content.pm {
+
+  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    method public boolean isEncryptionAware();
+    method public boolean isInstantApp();
+    method public boolean isOem();
+    method public boolean isProduct();
+    method public boolean isVendor();
+    field public String credentialProtectedDataDir;
+    field public int targetSandboxVersion;
+  }
+
+  public class CrossProfileApps {
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_PROFILES) public void startActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+  }
+
+  public class DataLoaderParams {
+    method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String);
+    method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String);
+    method @NonNull public final String getArguments();
+    method @NonNull public final android.content.ComponentName getComponentName();
+    method @NonNull public final int getType();
+  }
+
+  public final class InstallationFile {
+    method public long getLengthBytes();
+    method public int getLocation();
+    method @Nullable public byte[] getMetadata();
+    method @NonNull public String getName();
+    method @Nullable public byte[] getSignature();
+  }
+
+  public final class InstantAppInfo implements android.os.Parcelable {
+    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
+    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
+    method public int describeContents();
+    method @Nullable public android.content.pm.ApplicationInfo getApplicationInfo();
+    method @Nullable public String[] getGrantedPermissions();
+    method @NonNull public String getPackageName();
+    method @Nullable public String[] getRequestedPermissions();
+    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
+    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
+  }
+
+  public final class InstantAppIntentFilter implements android.os.Parcelable {
+    ctor public InstantAppIntentFilter(@Nullable String, @NonNull java.util.List<android.content.IntentFilter>);
+    method public int describeContents();
+    method public java.util.List<android.content.IntentFilter> getFilters();
+    method public String getSplitName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
+  }
+
+  public final class InstantAppRequestInfo implements android.os.Parcelable {
+    ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
+    method public int describeContents();
+    method @Nullable public int[] getHostDigestPrefix();
+    method @NonNull public android.content.Intent getIntent();
+    method @NonNull public String getToken();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public boolean isRequesterInstantApp();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
+  }
+
+  public final class InstantAppResolveInfo implements android.os.Parcelable {
+    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int);
+    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle);
+    ctor public InstantAppResolveInfo(@NonNull String, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>);
+    ctor public InstantAppResolveInfo(@Nullable android.os.Bundle);
+    method public int describeContents();
+    method public byte[] getDigestBytes();
+    method public int getDigestPrefix();
+    method @Nullable public android.os.Bundle getExtras();
+    method public java.util.List<android.content.pm.InstantAppIntentFilter> getIntentFilters();
+    method public long getLongVersionCode();
+    method public String getPackageName();
+    method @Deprecated public int getVersionCode();
+    method public boolean shouldLetInstallerDecide();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
+  }
+
+  public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
+    ctor public InstantAppResolveInfo.InstantAppDigest(@NonNull String);
+    method public int describeContents();
+    method public byte[][] getDigestBytes();
+    method public int[] getDigestPrefix();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
+    field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
+  }
+
+  public final class IntentFilterVerificationInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.util.Set<java.lang.String> getDomains();
+    method public String getPackageName();
+    method public int getStatus();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
+  }
+
+  public class LauncherApps {
+    method @Nullable public android.content.pm.LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String, @NonNull android.os.UserHandle);
+  }
+
+  public static final class LauncherApps.AppUsageLimit implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getTotalUsageLimit();
+    method public long getUsageRemaining();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
+  }
+
+  public static class LauncherApps.ShortcutQuery {
+    field @RequiresPermission(android.Manifest.permission.ACCESS_SHORTCUTS) public static final int FLAG_GET_PERSONS_DATA = 2048; // 0x800
+  }
+
+  public class PackageInstaller {
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
+    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
+    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
+    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
+    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
+    field public static final int LOCATION_DATA_APP = 0; // 0x0
+    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
+    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
+  }
+
+  public static class PackageInstaller.Session implements java.io.Closeable {
+    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
+    method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
+    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
+  }
+
+  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
+    method public boolean getAllocateAggressive();
+    method @Deprecated public boolean getAllowDowngrade();
+    method public int getAutoRevokePermissionsMode();
+    method public boolean getDontKillApp();
+    method public boolean getEnableRollback();
+    method @Nullable public String[] getGrantedRuntimePermissions();
+    method public boolean getInstallAsFullApp(boolean);
+    method public boolean getInstallAsInstantApp(boolean);
+    method public boolean getInstallAsVirtualPreload();
+    method public boolean getRequestDowngrade();
+    method public int getRollbackDataPolicy();
+    method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions();
+  }
+
+  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
+    method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
+    method @Deprecated public void setAllowDowngrade(boolean);
+    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
+    method public void setDontKillApp(boolean);
+    method public void setEnableRollback(boolean);
+    method public void setEnableRollback(boolean, int);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
+    method public void setInstallAsInstantApp(boolean);
+    method public void setInstallAsVirtualPreload();
+    method public void setRequestDowngrade(boolean);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
+  }
+
+  public class PackageItemInfo {
+    method public static void forceSafeLabels();
+    method @Deprecated @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager);
+    method @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager, @FloatRange(from=0) float, int);
+  }
+
+  public abstract class PackageManager {
+    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
+    method public abstract boolean arePermissionsIndividuallyControlled();
+    method @NonNull public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.pm.ApplicationInfo getApplicationInfoAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
+    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
+    method @Nullable public String getIncidentReportApproverPackageName();
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract android.graphics.drawable.Drawable getInstantAppIcon(String);
+    method @Nullable public abstract android.content.ComponentName getInstantAppInstallerComponent();
+    method @Nullable public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
+    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
+    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
+    method @android.content.pm.PackageManager.PermissionFlags @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public abstract int getPermissionFlags(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
+    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
+    method @Deprecated public abstract int installExistingPackage(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public abstract int installExistingPackage(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceiversAsUser(@NonNull android.content.Intent, int, android.os.UserHandle);
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentActivitiesAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentContentProvidersAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentServicesAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
+    method public abstract void registerDexModule(@NonNull String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
+    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
+    method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
+    method public void sendDeviceCustomizationReadyBroadcast();
+    method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
+    method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable String);
+    method @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable android.content.pm.SuspendDialogInfo);
+    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
+    method public void setSystemAppState(@NonNull String, int);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public abstract void updatePermissionFlags(@NonNull String, @NonNull String, @android.content.pm.PackageManager.PermissionFlags int, @android.content.pm.PackageManager.PermissionFlags int, @NonNull android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.INTENT_FILTER_VERIFICATION_AGENT) public abstract void verifyIntentFilter(int, int, @NonNull java.util.List<java.lang.String>);
+    field public static final String ACTION_REQUEST_PERMISSIONS = "android.content.pm.action.REQUEST_PERMISSIONS";
+    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
+    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
+    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
+    field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
+    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
+    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
+    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
+    field public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION = "android.hardware.telephony.ims.singlereg";
+    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000
+    field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000
+    field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000
+    field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20
+    field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000
+    field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000
+    field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4
+    field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800
+    field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000
+    field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000
+    field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40
+    field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8
+    field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
+    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
+    field public static final int FLAG_PERMISSION_SELECTED_LOCATION_ACCURACY = 524288; // 0x80000
+    field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
+    field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
+    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
+    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
+    field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
+    field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
+    field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
+    field public static final int INSTALL_FAILED_CONTAINER_ERROR = -18; // 0xffffffee
+    field public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16; // 0xfffffff0
+    field public static final int INSTALL_FAILED_DEXOPT = -11; // 0xfffffff5
+    field public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5; // 0xfffffffb
+    field public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4; // 0xfffffffc
+    field public static final int INSTALL_FAILED_INTERNAL_ERROR = -110; // 0xffffff92
+    field public static final int INSTALL_FAILED_INVALID_APK = -2; // 0xfffffffe
+    field public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19; // 0xffffffed
+    field public static final int INSTALL_FAILED_INVALID_URI = -3; // 0xfffffffd
+    field public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20; // 0xffffffec
+    field public static final int INSTALL_FAILED_MISSING_FEATURE = -17; // 0xffffffef
+    field public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9; // 0xfffffff7
+    field public static final int INSTALL_FAILED_NEWER_SDK = -14; // 0xfffffff2
+    field public static final int INSTALL_FAILED_NO_SHARED_USER = -6; // 0xfffffffa
+    field public static final int INSTALL_FAILED_OLDER_SDK = -12; // 0xfffffff4
+    field public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23; // 0xffffffe9
+    field public static final int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26; // 0xffffffe6
+    field public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10; // 0xfffffff6
+    field public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27; // 0xffffffe5
+    field public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8; // 0xfffffff8
+    field public static final int INSTALL_FAILED_TEST_ONLY = -15; // 0xfffffff1
+    field public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7; // 0xfffffff9
+    field public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22; // 0xffffffea
+    field public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21; // 0xffffffeb
+    field public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101; // 0xffffff9b
+    field public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106; // 0xffffff96
+    field public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107; // 0xffffff95
+    field public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105; // 0xffffff97
+    field public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104; // 0xffffff98
+    field public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109; // 0xffffff93
+    field public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108; // 0xffffff94
+    field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c
+    field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99
+    field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a
+    field public static final int INSTALL_SUCCEEDED = 1; // 0x1
+    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2
+    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4
+    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK = 1; // 0x1
+    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3; // 0x3
+    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
+    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
+    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
+    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
+    field public static final int MATCH_ANY_USER = 4194304; // 0x400000
+    field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
+    field public static final int MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS = 536870912; // 0x20000000
+    field public static final int MATCH_INSTANT = 8388608; // 0x800000
+    field public static final int MODULE_APEX_NAME = 1; // 0x1
+    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
+    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
+    field public static final int RESTRICTION_NONE = 0; // 0x0
+    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0; // 0x0
+    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1; // 0x1
+    field public static final int SYSTEM_APP_STATE_INSTALLED = 2; // 0x2
+    field public static final int SYSTEM_APP_STATE_UNINSTALLED = 3; // 0x3
+  }
+
+  public abstract static class PackageManager.DexModuleRegisterCallback {
+    ctor public PackageManager.DexModuleRegisterCallback();
+    method public abstract void onDexModuleRegistered(String, boolean, String);
+  }
+
+  public static interface PackageManager.OnPermissionsChangedListener {
+    method public void onPermissionsChanged(int);
+  }
+
+  @IntDef(prefix={"FLAG_PERMISSION_"}, value={android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET, android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_POLICY_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE, android.content.pm.PackageManager.FLAG_PERMISSION_SYSTEM_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT, android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED, android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_APPLY_RESTRICTION, android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_ROLE, android.content.pm.PackageManager.FLAG_PERMISSION_REVOKED_COMPAT, android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME, android.content.pm.PackageManager.FLAG_PERMISSION_AUTO_REVOKED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PackageManager.PermissionFlags {
+  }
+
+  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    field @StringRes public final int backgroundRequestDetailResourceId;
+    field @StringRes public final int backgroundRequestResourceId;
+    field @StringRes public final int requestDetailResourceId;
+    field @StringRes public int requestRes;
+  }
+
+  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    field public static final int FLAG_REMOVED = 2; // 0x2
+    field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000
+    field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000
+    field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000
+    field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
+    field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
+    field public static final int PROTECTION_FLAG_KNOWN_SIGNER = 134217728; // 0x8000000
+    field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
+    field public static final int PROTECTION_FLAG_RECENTS = 33554432; // 0x2000000
+    field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
+    field public static final int PROTECTION_FLAG_ROLE = 67108864; // 0x4000000
+    field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
+    field @Deprecated public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
+    field @Nullable public final String backgroundPermission;
+    field @StringRes public int requestRes;
+  }
+
+  public class ResolveInfo implements android.os.Parcelable {
+    field public boolean handleAllWebDataURI;
+  }
+
+  public final class ShortcutInfo implements android.os.Parcelable {
+    method @Nullable public android.app.Person[] getPersons();
+  }
+
+  public class ShortcutManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS) @WorkerThread public java.util.List<android.content.pm.ShortcutManager.ShareShortcutInfo> getShareTargets(@NonNull android.content.IntentFilter);
+    method public boolean hasShareTargets(@NonNull String);
+  }
+
+  public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
+    method @NonNull public android.content.ComponentName getTargetComponent();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
+  }
+
+  public final class SuspendDialogInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0
+    field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
+  }
+
+  public static final class SuspendDialogInfo.Builder {
+    ctor public SuspendDialogInfo.Builder();
+    method @NonNull public android.content.pm.SuspendDialogInfo build();
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@NonNull String);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@NonNull String);
+  }
+
+}
+
+package android.content.pm.dex {
+
+  public class ArtManager {
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean isRuntimeProfilingEnabled(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void snapshotRuntimeProfile(int, @Nullable String, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.content.pm.dex.ArtManager.SnapshotRuntimeProfileCallback);
+    field public static final int PROFILE_APPS = 0; // 0x0
+    field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1
+    field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1
+    field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2
+    field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0
+  }
+
+  public abstract static class ArtManager.SnapshotRuntimeProfileCallback {
+    ctor public ArtManager.SnapshotRuntimeProfileCallback();
+    method public abstract void onError(int);
+    method public abstract void onSuccess(android.os.ParcelFileDescriptor);
+  }
+
+}
+
+package android.content.pm.permission {
+
+  @Deprecated public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
+    ctor @Deprecated public RuntimePermissionPresentationInfo(CharSequence, boolean, boolean);
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public CharSequence getLabel();
+    method @Deprecated public boolean isGranted();
+    method @Deprecated public boolean isStandard();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
+  }
+
+}
+
+package android.content.pm.verify.domain {
+
+  public final class DomainOwner implements android.os.Parcelable {
+    ctor public DomainOwner(@NonNull String, boolean);
+    method public int describeContents();
+    method @NonNull public String getPackageName();
+    method public boolean isOverrideable();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainOwner> CREATOR;
+  }
+
+  public final class DomainVerificationInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
+    method @NonNull public java.util.UUID getIdentifier();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationInfo> CREATOR;
+    field public static final int STATE_FIRST_VERIFIER_DEFINED = 1024; // 0x400
+    field public static final int STATE_MODIFIABLE_UNVERIFIED = 3; // 0x3
+    field public static final int STATE_MODIFIABLE_VERIFIED = 4; // 0x4
+    field public static final int STATE_NO_RESPONSE = 0; // 0x0
+    field public static final int STATE_SUCCESS = 1; // 0x1
+    field public static final int STATE_UNMODIFIABLE = 2; // 0x2
+  }
+
+  public final class DomainVerificationManager {
+    method @Nullable @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public android.content.pm.verify.domain.DomainVerificationInfo getDomainVerificationInfo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.SortedSet<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @CheckResult @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public int setDomainVerificationStatus(@NonNull java.util.UUID, @NonNull java.util.Set<java.lang.String>, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @CheckResult @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public int setDomainVerificationUserSelection(@NonNull java.util.UUID, @NonNull java.util.Set<java.lang.String>, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
+    field public static final int ERROR_DOMAIN_SET_ID_INVALID = 1; // 0x1
+    field public static final int ERROR_UNABLE_TO_APPROVE = 3; // 0x3
+    field public static final int ERROR_UNKNOWN_DOMAIN = 2; // 0x2
+    field public static final String EXTRA_VERIFICATION_REQUEST = "android.content.pm.verify.domain.extra.VERIFICATION_REQUEST";
+    field public static final int STATUS_OK = 0; // 0x0
+  }
+
+  public final class DomainVerificationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Set<java.lang.String> getPackageNames();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationRequest> CREATOR;
+  }
+
+  public final class DomainVerificationUserState implements android.os.Parcelable {
+    method @NonNull public java.util.UUID getIdentifier();
+  }
+
+}
+
+package android.content.rollback {
+
+  public final class PackageRollbackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getPackageName();
+    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
+    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
+  }
+
+  public final class RollbackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
+    method public int getCommittedSessionId();
+    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
+    method public int getRollbackId();
+    method public boolean isStaged();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
+  }
+
+  public final class RollbackManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public void commitRollback(int, @NonNull java.util.List<android.content.pm.VersionedPackage>, @NonNull android.content.IntentSender);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
+    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
+    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
+    field public static final int STATUS_FAILURE = 1; // 0x1
+    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
+    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+}
+
+package android.debug {
+
+  public class AdbManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiQrSupported();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiSupported();
+  }
+
+}
+
+package android.graphics.fonts {
+
+  public final class FontFamilyUpdateRequest {
+    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.FontFamily> getFontFamilies();
+    method @NonNull public java.util.List<android.graphics.fonts.FontFileUpdateRequest> getFontFileUpdateRequests();
+  }
+
+  public static final class FontFamilyUpdateRequest.Builder {
+    ctor public FontFamilyUpdateRequest.Builder();
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.FontFamily);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFileUpdateRequest(@NonNull android.graphics.fonts.FontFileUpdateRequest);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest build();
+  }
+
+  public static final class FontFamilyUpdateRequest.Font {
+    method @NonNull public java.util.List<android.graphics.fonts.FontVariationAxis> getAxes();
+    method @IntRange(from=0) public int getIndex();
+    method @NonNull public String getPostScriptName();
+    method @NonNull public android.graphics.fonts.FontStyle getStyle();
+  }
+
+  public static final class FontFamilyUpdateRequest.Font.Builder {
+    ctor public FontFamilyUpdateRequest.Font.Builder(@NonNull String, @NonNull android.graphics.fonts.FontStyle);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font build();
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setAxes(@NonNull java.util.List<android.graphics.fonts.FontVariationAxis>);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setIndex(@IntRange(from=0) int);
+  }
+
+  public static final class FontFamilyUpdateRequest.FontFamily {
+    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font> getFonts();
+    method @NonNull public String getName();
+  }
+
+  public static final class FontFamilyUpdateRequest.FontFamily.Builder {
+    ctor public FontFamilyUpdateRequest.FontFamily.Builder(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily.Builder addFont(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.Font);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily build();
+  }
+
+  public final class FontFileUpdateRequest {
+    ctor public FontFileUpdateRequest(@NonNull android.os.ParcelFileDescriptor, @NonNull byte[]);
+    method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor();
+    method @NonNull public byte[] getSignature();
+  }
+
+  public class FontManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
+    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
+    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
+    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
+    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
+    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
+    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
+    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
+    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
+    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+}
+
+package android.hardware {
+
+  public final class Sensor {
+    method public java.util.UUID getUuid();
+    method public boolean isDataInjectionSupported();
+    field public static final String STRING_TYPE_DYNAMIC_SENSOR_META = "android.sensor.dynamic_sensor_meta";
+    field public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture";
+    field public static final int TYPE_DYNAMIC_SENSOR_META = 32; // 0x20
+    field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a
+  }
+
+  public abstract class SensorManager {
+    method public boolean initDataInjection(boolean);
+    method public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
+  }
+
+  public final class SensorPrivacyManager {
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
+  }
+
+  public static interface SensorPrivacyManager.OnSensorPrivacyChangedListener {
+    method public void onSensorPrivacyChanged(int, boolean);
+  }
+
+}
+
+package android.hardware.biometrics {
+
+  public static interface BiometricManager.Authenticators {
+    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
+    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
+  }
+
+}
+
+package android.hardware.camera2 {
+
+  public abstract class CameraDevice implements java.lang.AutoCloseable {
+    method @Deprecated public abstract void createCustomCaptureSession(android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1
+    field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0
+    field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000
+  }
+
+  public final class CameraManager {
+    method @RequiresPermission(allOf={android.Manifest.permission.SYSTEM_CAMERA, android.Manifest.permission.CAMERA}) public void openCamera(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException;
+  }
+
+  public abstract static class CameraManager.AvailabilityCallback {
+    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
+  }
+
+}
+
+package android.hardware.camera2.params {
+
+  public final class OutputConfiguration implements android.os.Parcelable {
+    ctor public OutputConfiguration(@NonNull android.view.Surface, int);
+    ctor public OutputConfiguration(int, @NonNull android.view.Surface, int);
+    method public int getRotation();
+    field public static final int ROTATION_0 = 0; // 0x0
+    field public static final int ROTATION_180 = 2; // 0x2
+    field public static final int ROTATION_270 = 3; // 0x3
+    field public static final int ROTATION_90 = 1; // 0x1
+  }
+
+}
+
+package android.hardware.display {
+
+  public final class AmbientBrightnessDayStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public float[] getBucketBoundaries();
+    method public java.time.LocalDate getLocalDate();
+    method public float[] getStats();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
+  }
+
+  public final class BrightnessChangeEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
+    field public final float batteryLevel;
+    field public final float brightness;
+    field public final long colorSampleDuration;
+    field public final int colorTemperature;
+    field @Nullable public final long[] colorValueBuckets;
+    field public final boolean isDefaultBrightnessConfig;
+    field public final boolean isUserSetBrightness;
+    field public final float lastBrightness;
+    field public final long[] luxTimestamps;
+    field public final float[] luxValues;
+    field public final boolean nightMode;
+    field public final String packageName;
+    field public final float powerBrightnessFactor;
+    field public final boolean reduceBrightColors;
+    field public final float reduceBrightColorsOffset;
+    field public final int reduceBrightColorsStrength;
+    field public final long timeStamp;
+    field @NonNull public final String uniqueDisplayId;
+  }
+
+  public final class BrightnessConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
+    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
+    method public android.util.Pair<float[],float[]> getCurve();
+    method public float getShortTermModelLowerLuxMultiplier();
+    method public long getShortTermModelTimeoutMillis();
+    method public float getShortTermModelUpperLuxMultiplier();
+    method public boolean shouldCollectColorSamples();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
+    field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL
+  }
+
+  public static class BrightnessConfiguration.Builder {
+    ctor public BrightnessConfiguration.Builder(float[], float[]);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
+    method @NonNull public android.hardware.display.BrightnessConfiguration build();
+    method public int getMaxCorrectionsByCategory();
+    method public int getMaxCorrectionsByPackageName();
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean);
+  }
+
+  public final class BrightnessCorrection implements android.os.Parcelable {
+    method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
+    method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
+  }
+
+  public final class ColorDisplayManager {
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getNightDisplayAutoMode();
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getTransformCapabilities();
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setAppSaturationLevel(@NonNull String, @IntRange(from=0, to=100) int);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayAutoMode(int);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomEndTime(@NonNull java.time.LocalTime);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomStartTime(@NonNull java.time.LocalTime);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setSaturationLevel(@IntRange(from=0, to=100) int);
+    field public static final int AUTO_MODE_CUSTOM_TIME = 1; // 0x1
+    field public static final int AUTO_MODE_DISABLED = 0; // 0x0
+    field public static final int AUTO_MODE_TWILIGHT = 2; // 0x2
+    field public static final int CAPABILITY_HARDWARE_ACCELERATION_GLOBAL = 2; // 0x2
+    field public static final int CAPABILITY_HARDWARE_ACCELERATION_PER_APP = 4; // 0x4
+    field public static final int CAPABILITY_NONE = 0; // 0x0
+    field public static final int CAPABILITY_PROTECTED_CONTENT = 1; // 0x1
+  }
+
+  public final class DisplayManager {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_LIGHT_STATS) public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
+    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
+    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForDisplay(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents();
+    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
+    method public android.util.Pair<float[],float[]> getMinimumBrightnessCurve();
+    method public android.graphics.Point getStableDisplaySize();
+    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
+    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfigurationForDisplay(@NonNull android.hardware.display.BrightnessConfiguration, @NonNull String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float);
+  }
+
+}
+
+package android.hardware.hdmi {
+
+  public abstract class HdmiClient {
+    method public android.hardware.hdmi.HdmiDeviceInfo getActiveSource();
+    method public void sendKeyEvent(int, boolean);
+    method public void sendVendorCommand(int, byte[], boolean);
+    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener);
+  }
+
+  public final class HdmiControlManager {
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.Integer> getAllowedCecSettingIntValues(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getAllowedCecSettingStringValues(@NonNull String);
+    method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
+    method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecEnabled();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVersion();
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVolumeControlEnabled();
+    method public int getPhysicalAddress();
+    method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerControlMode();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerStateChangeOnActiveSourceLost();
+    method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioModeMuting();
+    method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvSendStandbyOnSleep();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvWakeOnOneTouchPlay();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getUserCecSettings();
+    method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+    method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
+    method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecEnabled(@NonNull int);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVersion(@NonNull int);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVolumeControlEnabled(int);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerControlMode(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerStateChangeOnActiveSourceLost(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioModeMuting(@NonNull int);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvSendStandbyOnSleep(@NonNull int);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvWakeOnOneTouchPlay(@NonNull int);
+    field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
+    field public static final int AVR_VOLUME_MUTED = 101; // 0x65
+    field public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
+    field public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
+    field public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "power_control_mode";
+    field public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = "power_state_change_on_active_source_lost";
+    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING = "system_audio_mode_muting";
+    field public static final String CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP = "tv_send_standby_on_sleep";
+    field public static final String CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY = "tv_wake_on_one_touch_play";
+    field public static final String CEC_SETTING_NAME_VOLUME_CONTROL_MODE = "volume_control_enabled";
+    field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
+    field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
+    field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
+    field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80
+    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2
+    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1
+    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0
+    field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1
+    field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3
+    field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0
+    field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2
+    field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1
+    field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2
+    field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
+    field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
+    field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
+    field public static final int HDMI_CEC_CONTROL_DISABLED = 0; // 0x0
+    field public static final int HDMI_CEC_CONTROL_ENABLED = 1; // 0x1
+    field public static final int HDMI_CEC_VERSION_1_4_B = 5; // 0x5
+    field public static final int HDMI_CEC_VERSION_2_0 = 6; // 0x6
+    field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
+    field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
+    field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
+    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd
+    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe
+    field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32
+    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa
+    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9
+    field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15
+    field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13
+    field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16
+    field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10
+    field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc
+    field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14
+    field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f
+    field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17
+    field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11
+    field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30
+    field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b
+    field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3
+    field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1
+    field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2
+    field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4
+    field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a
+    field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6
+    field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5
+    field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7
+    field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
+    field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
+    field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
+    field public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
+    field public static final String POWER_CONTROL_MODE_NONE = "none";
+    field public static final String POWER_CONTROL_MODE_TV = "to_tv";
+    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
+    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
+    field public static final int POWER_STATUS_ON = 0; // 0x0
+    field public static final int POWER_STATUS_STANDBY = 1; // 0x1
+    field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
+    field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3
+    field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff
+    field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4
+    field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7
+    field public static final int RESULT_EXCEPTION = 5; // 0x5
+    field public static final int RESULT_INCORRECT_MODE = 6; // 0x6
+    field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+    field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
+    field public static final int RESULT_TIMEOUT = 1; // 0x1
+    field public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0; // 0x0
+    field public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1; // 0x1
+    field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
+    field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
+    field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
+    field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0
+    field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2
+    field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1
+    field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3
+    field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2
+    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0
+    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8
+    field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8
+    field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb
+    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9
+    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa
+    field public static final int TV_SEND_STANDBY_ON_SLEEP_DISABLED = 0; // 0x0
+    field public static final int TV_SEND_STANDBY_ON_SLEEP_ENABLED = 1; // 0x1
+    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_DISABLED = 0; // 0x0
+    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_ENABLED = 1; // 0x1
+    field public static final int VOLUME_CONTROL_DISABLED = 0; // 0x0
+    field public static final int VOLUME_CONTROL_ENABLED = 1; // 0x1
+  }
+
+  public static interface HdmiControlManager.CecSettingChangeListener {
+    method public void onChange(@NonNull String);
+  }
+
+  @IntDef({android.hardware.hdmi.HdmiControlManager.RESULT_SUCCESS, android.hardware.hdmi.HdmiControlManager.RESULT_TIMEOUT, android.hardware.hdmi.HdmiControlManager.RESULT_SOURCE_NOT_AVAILABLE, android.hardware.hdmi.HdmiControlManager.RESULT_TARGET_NOT_AVAILABLE, android.hardware.hdmi.HdmiControlManager.RESULT_ALREADY_IN_PROGRESS, android.hardware.hdmi.HdmiControlManager.RESULT_EXCEPTION, android.hardware.hdmi.HdmiControlManager.RESULT_INCORRECT_MODE, android.hardware.hdmi.HdmiControlManager.RESULT_COMMUNICATION_FAILED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public static @interface HdmiControlManager.ControlCallbackResult {
+  }
+
+  public static interface HdmiControlManager.HotplugEventListener {
+    method public void onReceived(android.hardware.hdmi.HdmiHotplugEvent);
+  }
+
+  public static interface HdmiControlManager.VendorCommandListener {
+    method public void onControlStateChanged(boolean, int);
+    method public void onReceived(int, int, byte[], boolean);
+  }
+
+  public class HdmiDeviceInfo implements android.os.Parcelable {
+    ctor public HdmiDeviceInfo();
+    method public int describeContents();
+    method public int getAdopterId();
+    method public int getDeviceId();
+    method public int getDevicePowerStatus();
+    method public int getDeviceType();
+    method public String getDisplayName();
+    method public int getId();
+    method public int getLogicalAddress();
+    method public int getPhysicalAddress();
+    method public int getPortId();
+    method public int getVendorId();
+    method public static int idForCecDevice(int);
+    method public static int idForHardware(int);
+    method public static int idForMhlDevice(int);
+    method public boolean isCecDevice();
+    method public boolean isInactivated();
+    method public boolean isMhlDevice();
+    method public boolean isSourceType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ADDR_INTERNAL = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
+    field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
+    field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
+    field public static final int DEVICE_PLAYBACK = 4; // 0x4
+    field public static final int DEVICE_RECORDER = 1; // 0x1
+    field public static final int DEVICE_RESERVED = 2; // 0x2
+    field public static final int DEVICE_TUNER = 3; // 0x3
+    field public static final int DEVICE_TV = 0; // 0x0
+    field public static final int ID_INVALID = 65535; // 0xffff
+    field public static final android.hardware.hdmi.HdmiDeviceInfo INACTIVE_DEVICE;
+    field public static final int PATH_INTERNAL = 0; // 0x0
+    field public static final int PATH_INVALID = 65535; // 0xffff
+    field public static final int PORT_INVALID = -1; // 0xffffffff
+  }
+
+  public final class HdmiHotplugEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getPort();
+    method public boolean isConnected();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
+  }
+
+  public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
+    method public int getDeviceType();
+    method public void oneTouchPlay(android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback);
+    method public void queryDisplayStatus(android.hardware.hdmi.HdmiPlaybackClient.DisplayStatusCallback);
+    method public void sendStandby();
+  }
+
+  public static interface HdmiPlaybackClient.DisplayStatusCallback {
+    method public void onComplete(int);
+  }
+
+  public static interface HdmiPlaybackClient.OneTouchPlayCallback {
+    method public void onComplete(int);
+  }
+
+  public final class HdmiPortInfo implements android.os.Parcelable {
+    ctor public HdmiPortInfo(int, int, int, boolean, boolean, boolean);
+    method public int describeContents();
+    method public int getAddress();
+    method public int getId();
+    method public int getType();
+    method public boolean isArcSupported();
+    method public boolean isCecSupported();
+    method public boolean isMhlSupported();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
+    field public static final int PORT_INPUT = 0; // 0x0
+    field public static final int PORT_OUTPUT = 1; // 0x1
+  }
+
+  public abstract class HdmiRecordListener {
+    ctor public HdmiRecordListener();
+    method public void onClearTimerRecordingResult(int, int);
+    method public void onOneTouchRecordResult(int, int);
+    method public abstract android.hardware.hdmi.HdmiRecordSources.RecordSource onOneTouchRecordSourceRequested(int);
+    method public void onTimerRecordingResult(int, android.hardware.hdmi.HdmiRecordListener.TimerStatusData);
+  }
+
+  public static class HdmiRecordListener.TimerStatusData {
+    method public int getDurationHour();
+    method public int getDurationMinute();
+    method public int getExtraError();
+    method public int getMediaInfo();
+    method public int getNotProgammedError();
+    method public int getProgrammedInfo();
+    method public boolean isOverlapped();
+    method public boolean isProgrammed();
+  }
+
+  public final class HdmiRecordSources {
+    method public static boolean checkRecordSource(byte[]);
+    method public static android.hardware.hdmi.HdmiRecordSources.OwnSource ofOwnSource();
+  }
+
+  public static final class HdmiRecordSources.AnalogueServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
+  }
+
+  public static final class HdmiRecordSources.DigitalServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
+  }
+
+  public static final class HdmiRecordSources.ExternalPhysicalAddress extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
+  }
+
+  public static final class HdmiRecordSources.ExternalPlugData extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
+  }
+
+  public static final class HdmiRecordSources.OwnSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
+  }
+
+  public abstract static class HdmiRecordSources.RecordSource {
+  }
+
+  public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient {
+    method public int getDeviceType();
+    method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
+    method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
+    method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
+  }
+
+  public static interface HdmiSwitchClient.OnSelectListener {
+    method public void onSelect(@android.hardware.hdmi.HdmiControlManager.ControlCallbackResult int);
+  }
+
+  public class HdmiTimerRecordSources {
+    method public static boolean checkTimerRecordSource(int, byte[]);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.Duration durationOf(int, int);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.AnalogueServiceSource);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.DigitalServiceSource);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPhysicalAddress);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPlugData);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.Time timeOf(int, int);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources.Time, android.hardware.hdmi.HdmiTimerRecordSources.Duration, int);
+    field public static final int RECORDING_SEQUENCE_REPEAT_FRIDAY = 32; // 0x20
+    field public static final int RECORDING_SEQUENCE_REPEAT_MONDAY = 2; // 0x2
+    field public static final int RECORDING_SEQUENCE_REPEAT_ONCE_ONLY = 0; // 0x0
+    field public static final int RECORDING_SEQUENCE_REPEAT_SATUREDAY = 64; // 0x40
+    field public static final int RECORDING_SEQUENCE_REPEAT_SUNDAY = 1; // 0x1
+    field public static final int RECORDING_SEQUENCE_REPEAT_THURSDAY = 16; // 0x10
+    field public static final int RECORDING_SEQUENCE_REPEAT_TUESDAY = 4; // 0x4
+    field public static final int RECORDING_SEQUENCE_REPEAT_WEDNESDAY = 8; // 0x8
+  }
+
+  public static final class HdmiTimerRecordSources.Duration {
+  }
+
+  public static final class HdmiTimerRecordSources.Time {
+  }
+
+  public static final class HdmiTimerRecordSources.TimerInfo {
+  }
+
+  public static final class HdmiTimerRecordSources.TimerRecordSource {
+  }
+
+  public final class HdmiTvClient extends android.hardware.hdmi.HdmiClient {
+    method public void clearTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
+    method public void deviceSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
+    method public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getDeviceList();
+    method public int getDeviceType();
+    method public void portSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
+    method public void sendMhlVendorCommand(int, int, int, byte[]);
+    method public void sendStandby(int);
+    method public void setHdmiMhlVendorCommandListener(android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener);
+    method public void setInputChangeListener(android.hardware.hdmi.HdmiTvClient.InputChangeListener);
+    method public void setRecordListener(@NonNull android.hardware.hdmi.HdmiRecordListener);
+    method public void setSystemAudioMode(boolean, android.hardware.hdmi.HdmiTvClient.SelectCallback);
+    method public void setSystemAudioMute(boolean);
+    method public void setSystemAudioVolume(int, int, int);
+    method public void startOneTouchRecord(int, @NonNull android.hardware.hdmi.HdmiRecordSources.RecordSource);
+    method public void startTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
+    method public void stopOneTouchRecord(int);
+    field public static final int VENDOR_DATA_SIZE = 16; // 0x10
+  }
+
+  public static interface HdmiTvClient.HdmiMhlVendorCommandListener {
+    method public void onReceived(int, int, int, byte[]);
+  }
+
+  public static interface HdmiTvClient.InputChangeListener {
+    method public void onChanged(android.hardware.hdmi.HdmiDeviceInfo);
+  }
+
+  public static interface HdmiTvClient.SelectCallback {
+    method public void onComplete(int);
+  }
+
+}
+
+package android.hardware.lights {
+
+  public final class LightState implements android.os.Parcelable {
+    ctor @Deprecated public LightState(@ColorInt int);
+  }
+
+  public abstract class LightsManager {
+    field @Deprecated public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
+  }
+
+  public static final class LightsRequest.Builder {
+    method @Deprecated @NonNull public android.hardware.lights.LightsRequest.Builder setLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
+  }
+
+}
+
+package android.hardware.location {
+
+  public class ContextHubClient implements java.io.Closeable {
+    method public void close();
+    method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub();
+    method @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
+  }
+
+  public class ContextHubClientCallback {
+    ctor public ContextHubClientCallback();
+    method public void onClientAuthorizationChanged(@NonNull android.hardware.location.ContextHubClient, long, int);
+    method public void onHubReset(android.hardware.location.ContextHubClient);
+    method public void onMessageFromNanoApp(android.hardware.location.ContextHubClient, android.hardware.location.NanoAppMessage);
+    method public void onNanoAppAborted(android.hardware.location.ContextHubClient, long, int);
+    method public void onNanoAppDisabled(android.hardware.location.ContextHubClient, long);
+    method public void onNanoAppEnabled(android.hardware.location.ContextHubClient, long);
+    method public void onNanoAppLoaded(android.hardware.location.ContextHubClient, long);
+    method public void onNanoAppUnloaded(android.hardware.location.ContextHubClient, long);
+  }
+
+  public class ContextHubInfo implements android.os.Parcelable {
+    ctor public ContextHubInfo();
+    method public int describeContents();
+    method public byte getChreApiMajorVersion();
+    method public byte getChreApiMinorVersion();
+    method public short getChrePatchVersion();
+    method public long getChrePlatformId();
+    method public int getId();
+    method public int getMaxPacketLengthBytes();
+    method public android.hardware.location.MemoryRegion[] getMemoryRegions();
+    method public String getName();
+    method public float getPeakMips();
+    method public float getPeakPowerDrawMw();
+    method public int getPlatformVersion();
+    method public float getSleepPowerDrawMw();
+    method public int getStaticSwVersion();
+    method public float getStoppedPowerDrawMw();
+    method public int[] getSupportedSensors();
+    method public String getToolchain();
+    method public int getToolchainVersion();
+    method public String getVendor();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
+  }
+
+  public class ContextHubIntentEvent {
+    method @NonNull public static android.hardware.location.ContextHubIntentEvent fromIntent(@NonNull android.content.Intent);
+    method public int getClientAuthorizationState();
+    method @NonNull public android.hardware.location.ContextHubInfo getContextHubInfo();
+    method public int getEventType();
+    method public int getNanoAppAbortCode();
+    method public long getNanoAppId();
+    method @NonNull public android.hardware.location.NanoAppMessage getNanoAppMessage();
+  }
+
+  public final class ContextHubManager {
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@Nullable android.content.Context, @NonNull android.hardware.location.ContextHubInfo, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.location.ContextHubClientCallback);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.ContextHubClientCallback, @NonNull java.util.concurrent.Executor);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.ContextHubClientCallback);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@Nullable android.content.Context, @NonNull android.hardware.location.ContextHubInfo, @NonNull android.app.PendingIntent, long);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.app.PendingIntent, long);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> disableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> enableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
+    method @Deprecated @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int[] findNanoAppOnHub(int, @NonNull android.hardware.location.NanoAppFilter);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int[] getContextHubHandles();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubInfo getContextHubInfo(int);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs();
+    method @Deprecated @Nullable @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> loadNanoApp(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.NanoAppBinary);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.util.List<android.hardware.location.NanoAppState>> queryNanoApps(@NonNull android.hardware.location.ContextHubInfo);
+    method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
+    method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int sendMessage(int, int, @NonNull android.hardware.location.ContextHubMessage);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int unloadNanoApp(int);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> unloadNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
+    method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
+    field public static final int AUTHORIZATION_DENIED = 0; // 0x0
+    field public static final int AUTHORIZATION_DENIED_GRACE_PERIOD = 1; // 0x1
+    field public static final int AUTHORIZATION_GRANTED = 2; // 0x2
+    field public static final int EVENT_CLIENT_AUTHORIZATION = 7; // 0x7
+    field public static final int EVENT_HUB_RESET = 6; // 0x6
+    field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4
+    field public static final int EVENT_NANOAPP_DISABLED = 3; // 0x3
+    field public static final int EVENT_NANOAPP_ENABLED = 2; // 0x2
+    field public static final int EVENT_NANOAPP_LOADED = 0; // 0x0
+    field public static final int EVENT_NANOAPP_MESSAGE = 5; // 0x5
+    field public static final int EVENT_NANOAPP_UNLOADED = 1; // 0x1
+    field public static final String EXTRA_CLIENT_AUTHORIZATION_STATE = "android.hardware.location.extra.CLIENT_AUTHORIZATION_STATE";
+    field public static final String EXTRA_CONTEXT_HUB_INFO = "android.hardware.location.extra.CONTEXT_HUB_INFO";
+    field public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
+    field public static final String EXTRA_MESSAGE = "android.hardware.location.extra.MESSAGE";
+    field public static final String EXTRA_NANOAPP_ABORT_CODE = "android.hardware.location.extra.NANOAPP_ABORT_CODE";
+    field public static final String EXTRA_NANOAPP_ID = "android.hardware.location.extra.NANOAPP_ID";
+  }
+
+  @Deprecated public abstract static class ContextHubManager.Callback {
+    ctor @Deprecated protected ContextHubManager.Callback();
+    method @Deprecated public abstract void onMessageReceipt(int, int, @NonNull android.hardware.location.ContextHubMessage);
+  }
+
+  @Deprecated public class ContextHubMessage implements android.os.Parcelable {
+    ctor @Deprecated public ContextHubMessage(int, int, byte[]);
+    method @Deprecated public int describeContents();
+    method @Deprecated public byte[] getData();
+    method @Deprecated public int getMsgType();
+    method @Deprecated public int getVersion();
+    method @Deprecated public void setMsgData(byte[]);
+    method @Deprecated public void setMsgType(int);
+    method @Deprecated public void setVersion(int);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
+  }
+
+  public class ContextHubTransaction<T> {
+    method public int getType();
+    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>, @NonNull java.util.concurrent.Executor);
+    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>);
+    method public static String typeToString(int, boolean);
+    method public android.hardware.location.ContextHubTransaction.Response<T> waitForResponse(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    field public static final int RESULT_FAILED_AT_HUB = 5; // 0x5
+    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
+    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
+    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
+    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
+    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
+    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
+    field public static final int RESULT_FAILED_UNKNOWN = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+    field public static final int TYPE_DISABLE_NANOAPP = 3; // 0x3
+    field public static final int TYPE_ENABLE_NANOAPP = 2; // 0x2
+    field public static final int TYPE_LOAD_NANOAPP = 0; // 0x0
+    field public static final int TYPE_QUERY_NANOAPPS = 4; // 0x4
+    field public static final int TYPE_UNLOAD_NANOAPP = 1; // 0x1
+  }
+
+  @java.lang.FunctionalInterface public static interface ContextHubTransaction.OnCompleteListener<L> {
+    method public void onComplete(android.hardware.location.ContextHubTransaction<L>, android.hardware.location.ContextHubTransaction.Response<L>);
+  }
+
+  public static class ContextHubTransaction.Response<R> {
+    method public R getContents();
+    method public int getResult();
+  }
+
+  public final class GeofenceHardware {
+    method public boolean addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback);
+    method public int[] getMonitoringTypes();
+    method public int getStatusOfMonitoringType(int);
+    method public boolean pauseGeofence(int, int);
+    method public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
+    method public boolean removeGeofence(int, int);
+    method public boolean resumeGeofence(int, int, int);
+    method public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
+    field public static final int GEOFENCE_ENTERED = 1; // 0x1
+    field public static final int GEOFENCE_ERROR_ID_EXISTS = 2; // 0x2
+    field public static final int GEOFENCE_ERROR_ID_UNKNOWN = 3; // 0x3
+    field public static final int GEOFENCE_ERROR_INSUFFICIENT_MEMORY = 6; // 0x6
+    field public static final int GEOFENCE_ERROR_INVALID_TRANSITION = 4; // 0x4
+    field public static final int GEOFENCE_ERROR_TOO_MANY_GEOFENCES = 1; // 0x1
+    field public static final int GEOFENCE_EXITED = 2; // 0x2
+    field public static final int GEOFENCE_FAILURE = 5; // 0x5
+    field public static final int GEOFENCE_SUCCESS = 0; // 0x0
+    field public static final int GEOFENCE_UNCERTAIN = 4; // 0x4
+    field public static final int MONITORING_TYPE_FUSED_HARDWARE = 1; // 0x1
+    field public static final int MONITORING_TYPE_GPS_HARDWARE = 0; // 0x0
+    field public static final int MONITOR_CURRENTLY_AVAILABLE = 0; // 0x0
+    field public static final int MONITOR_CURRENTLY_UNAVAILABLE = 1; // 0x1
+    field public static final int MONITOR_UNSUPPORTED = 2; // 0x2
+    field public static final int SOURCE_TECHNOLOGY_BLUETOOTH = 16; // 0x10
+    field public static final int SOURCE_TECHNOLOGY_CELL = 8; // 0x8
+    field public static final int SOURCE_TECHNOLOGY_GNSS = 1; // 0x1
+    field public static final int SOURCE_TECHNOLOGY_SENSORS = 4; // 0x4
+    field public static final int SOURCE_TECHNOLOGY_WIFI = 2; // 0x2
+  }
+
+  public abstract class GeofenceHardwareCallback {
+    ctor public GeofenceHardwareCallback();
+    method public void onGeofenceAdd(int, int);
+    method public void onGeofencePause(int, int);
+    method public void onGeofenceRemove(int, int);
+    method public void onGeofenceResume(int, int);
+    method public void onGeofenceTransition(int, int, android.location.Location, long, int);
+  }
+
+  public abstract class GeofenceHardwareMonitorCallback {
+    ctor public GeofenceHardwareMonitorCallback();
+    method @Deprecated public void onMonitoringSystemChange(int, boolean, android.location.Location);
+    method public void onMonitoringSystemChange(android.hardware.location.GeofenceHardwareMonitorEvent);
+  }
+
+  public class GeofenceHardwareMonitorEvent implements android.os.Parcelable {
+    ctor public GeofenceHardwareMonitorEvent(int, int, int, android.location.Location);
+    method public int describeContents();
+    method public android.location.Location getLocation();
+    method public int getMonitoringStatus();
+    method public int getMonitoringType();
+    method public int getSourceTechnologies();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
+  }
+
+  public final class GeofenceHardwareRequest {
+    ctor public GeofenceHardwareRequest();
+    method public static android.hardware.location.GeofenceHardwareRequest createCircularGeofence(double, double, double);
+    method public int getLastTransition();
+    method public double getLatitude();
+    method public double getLongitude();
+    method public int getMonitorTransitions();
+    method public int getNotificationResponsiveness();
+    method public double getRadius();
+    method public int getSourceTechnologies();
+    method public int getUnknownTimer();
+    method public void setLastTransition(int);
+    method public void setMonitorTransitions(int);
+    method public void setNotificationResponsiveness(int);
+    method public void setSourceTechnologies(int);
+    method public void setUnknownTimer(int);
+  }
+
+  public class MemoryRegion implements android.os.Parcelable {
+    ctor public MemoryRegion(android.os.Parcel);
+    method public int describeContents();
+    method public int getCapacityBytes();
+    method public int getFreeCapacityBytes();
+    method public boolean isExecutable();
+    method public boolean isReadable();
+    method public boolean isWritable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
+  }
+
+  @Deprecated public class NanoApp implements android.os.Parcelable {
+    ctor @Deprecated public NanoApp();
+    ctor @Deprecated public NanoApp(int, byte[]);
+    ctor @Deprecated public NanoApp(long, byte[]);
+    method @Deprecated public int describeContents();
+    method @Deprecated public byte[] getAppBinary();
+    method @Deprecated public long getAppId();
+    method @Deprecated public int getAppVersion();
+    method @Deprecated public String getName();
+    method @Deprecated public int getNeededExecMemBytes();
+    method @Deprecated public int getNeededReadMemBytes();
+    method @Deprecated public int[] getNeededSensors();
+    method @Deprecated public int getNeededWriteMemBytes();
+    method @Deprecated public int[] getOutputEvents();
+    method @Deprecated public String getPublisher();
+    method @Deprecated public void setAppBinary(byte[]);
+    method @Deprecated public void setAppId(long);
+    method @Deprecated public void setAppVersion(int);
+    method @Deprecated public void setName(String);
+    method @Deprecated public void setNeededExecMemBytes(int);
+    method @Deprecated public void setNeededReadMemBytes(int);
+    method @Deprecated public void setNeededSensors(int[]);
+    method @Deprecated public void setNeededWriteMemBytes(int);
+    method @Deprecated public void setOutputEvents(int[]);
+    method @Deprecated public void setPublisher(String);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
+  }
+
+  public final class NanoAppBinary implements android.os.Parcelable {
+    ctor public NanoAppBinary(byte[]);
+    method public int describeContents();
+    method public byte[] getBinary();
+    method public byte[] getBinaryNoHeader();
+    method public int getFlags();
+    method public int getHeaderVersion();
+    method public long getHwHubType();
+    method public long getNanoAppId();
+    method public int getNanoAppVersion();
+    method public byte getTargetChreApiMajorVersion();
+    method public byte getTargetChreApiMinorVersion();
+    method public boolean hasValidHeader();
+    method public boolean isEncrypted();
+    method public boolean isSigned();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
+  }
+
+  @Deprecated public class NanoAppFilter implements android.os.Parcelable {
+    ctor @Deprecated public NanoAppFilter(long, int, int, long);
+    method @Deprecated public int describeContents();
+    method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
+    field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
+    field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
+    field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
+    field @Deprecated public static final int FLAGS_VERSION_STRICTLY_EQUAL = 8; // 0x8
+    field @Deprecated public static final int HUB_ANY = -1; // 0xffffffff
+    field @Deprecated public static final int VENDOR_ANY = -1; // 0xffffffff
+  }
+
+  @Deprecated public class NanoAppInstanceInfo implements android.os.Parcelable {
+    ctor @Deprecated public NanoAppInstanceInfo();
+    method @Deprecated public int describeContents();
+    method @Deprecated public long getAppId();
+    method @Deprecated public int getAppVersion();
+    method @Deprecated public int getContexthubId();
+    method @Deprecated public int getHandle();
+    method @Deprecated public String getName();
+    method @Deprecated public int getNeededExecMemBytes();
+    method @Deprecated public int getNeededReadMemBytes();
+    method @Deprecated @NonNull public int[] getNeededSensors();
+    method @Deprecated public int getNeededWriteMemBytes();
+    method @Deprecated @NonNull public int[] getOutputEvents();
+    method @Deprecated public String getPublisher();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
+  }
+
+  public final class NanoAppMessage implements android.os.Parcelable {
+    method public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, byte[], boolean);
+    method public static android.hardware.location.NanoAppMessage createMessageToNanoApp(long, int, byte[]);
+    method public int describeContents();
+    method public byte[] getMessageBody();
+    method public int getMessageType();
+    method public long getNanoAppId();
+    method public boolean isBroadcastMessage();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
+  }
+
+  public final class NanoAppState implements android.os.Parcelable {
+    ctor public NanoAppState(long, int, boolean);
+    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>);
+    method public int describeContents();
+    method public long getNanoAppId();
+    method @NonNull public java.util.List<java.lang.String> getNanoAppPermissions();
+    method public long getNanoAppVersion();
+    method public boolean isEnabled();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
+  }
+
+}
+
+package android.hardware.radio {
+
+  public final class Announcement implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
+    method public int getType();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
+    field public static final int TYPE_EMERGENCY = 1; // 0x1
+    field public static final int TYPE_EVENT = 6; // 0x6
+    field public static final int TYPE_MISC = 8; // 0x8
+    field public static final int TYPE_NEWS = 5; // 0x5
+    field public static final int TYPE_SPORT = 7; // 0x7
+    field public static final int TYPE_TRAFFIC = 3; // 0x3
+    field public static final int TYPE_WARNING = 2; // 0x2
+    field public static final int TYPE_WEATHER = 4; // 0x4
+  }
+
+  public static interface Announcement.OnListUpdatedListener {
+    method public void onListUpdated(java.util.Collection<android.hardware.radio.Announcement>);
+  }
+
+  public final class ProgramList implements java.lang.AutoCloseable {
+    method public void addOnCompleteListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.OnCompleteListener);
+    method public void addOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
+    method public void close();
+    method @Nullable public android.hardware.radio.RadioManager.ProgramInfo get(@NonNull android.hardware.radio.ProgramSelector.Identifier);
+    method public void registerListCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.ListCallback);
+    method public void registerListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
+    method public void removeOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
+    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> toList();
+    method public void unregisterListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
+  }
+
+  public static final class ProgramList.Filter implements android.os.Parcelable {
+    ctor public ProgramList.Filter(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.Set<android.hardware.radio.ProgramSelector.Identifier>, boolean, boolean);
+    method public boolean areCategoriesIncluded();
+    method public boolean areModificationsExcluded();
+    method public int describeContents();
+    method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
+    method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
+  }
+
+  public abstract static class ProgramList.ListCallback {
+    ctor public ProgramList.ListCallback();
+    method public void onItemChanged(@NonNull android.hardware.radio.ProgramSelector.Identifier);
+    method public void onItemRemoved(@NonNull android.hardware.radio.ProgramSelector.Identifier);
+  }
+
+  public static interface ProgramList.OnCompleteListener {
+    method public void onComplete();
+  }
+
+  public final class ProgramSelector implements android.os.Parcelable {
+    ctor public ProgramSelector(@android.hardware.radio.ProgramSelector.ProgramType int, @NonNull android.hardware.radio.ProgramSelector.Identifier, @Nullable android.hardware.radio.ProgramSelector.Identifier[], @Nullable long[]);
+    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int);
+    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int, int);
+    method public int describeContents();
+    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getAllIds(@android.hardware.radio.ProgramSelector.IdentifierType int);
+    method public long getFirstId(@android.hardware.radio.ProgramSelector.IdentifierType int);
+    method @NonNull public android.hardware.radio.ProgramSelector.Identifier getPrimaryId();
+    method @Deprecated @android.hardware.radio.ProgramSelector.ProgramType public int getProgramType();
+    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getSecondaryIds();
+    method @Deprecated @NonNull public long[] getVendorIds();
+    method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
+    field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
+    field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
+    field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
+    field public static final int IDENTIFIER_TYPE_DAB_SCID = 7; // 0x7
+    field public static final int IDENTIFIER_TYPE_DAB_SIDECC = 5; // 0x5
+    field public static final int IDENTIFIER_TYPE_DAB_SID_EXT = 5; // 0x5
+    field public static final int IDENTIFIER_TYPE_DRMO_FREQUENCY = 10; // 0xa
+    field @Deprecated public static final int IDENTIFIER_TYPE_DRMO_MODULATION = 11; // 0xb
+    field public static final int IDENTIFIER_TYPE_DRMO_SERVICE_ID = 9; // 0x9
+    field public static final int IDENTIFIER_TYPE_HD_STATION_ID_EXT = 3; // 0x3
+    field public static final int IDENTIFIER_TYPE_HD_STATION_NAME = 10004; // 0x2714
+    field @Deprecated public static final int IDENTIFIER_TYPE_HD_SUBCHANNEL = 4; // 0x4
+    field public static final int IDENTIFIER_TYPE_INVALID = 0; // 0x0
+    field public static final int IDENTIFIER_TYPE_RDS_PI = 2; // 0x2
+    field public static final int IDENTIFIER_TYPE_SXM_CHANNEL = 13; // 0xd
+    field public static final int IDENTIFIER_TYPE_SXM_SERVICE_ID = 12; // 0xc
+    field public static final int IDENTIFIER_TYPE_VENDOR_END = 1999; // 0x7cf
+    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_END = 1999; // 0x7cf
+    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_START = 1000; // 0x3e8
+    field public static final int IDENTIFIER_TYPE_VENDOR_START = 1000; // 0x3e8
+    field @Deprecated public static final int PROGRAM_TYPE_AM = 1; // 0x1
+    field @Deprecated public static final int PROGRAM_TYPE_AM_HD = 3; // 0x3
+    field @Deprecated public static final int PROGRAM_TYPE_DAB = 5; // 0x5
+    field @Deprecated public static final int PROGRAM_TYPE_DRMO = 6; // 0x6
+    field @Deprecated public static final int PROGRAM_TYPE_FM = 2; // 0x2
+    field @Deprecated public static final int PROGRAM_TYPE_FM_HD = 4; // 0x4
+    field @Deprecated public static final int PROGRAM_TYPE_INVALID = 0; // 0x0
+    field @Deprecated public static final int PROGRAM_TYPE_SXM = 7; // 0x7
+    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_END = 1999; // 0x7cf
+    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_START = 1000; // 0x3e8
+  }
+
+  public static final class ProgramSelector.Identifier implements android.os.Parcelable {
+    ctor public ProgramSelector.Identifier(@android.hardware.radio.ProgramSelector.IdentifierType int, long);
+    method public int describeContents();
+    method @android.hardware.radio.ProgramSelector.IdentifierType public int getType();
+    method public long getValue();
+    method public boolean isCategoryType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
+  }
+
+  @IntDef(prefix={"IDENTIFIER_TYPE_"}, value={android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_INVALID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_AMFM_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_RDS_PI, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_ID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_SUBCHANNEL, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_NAME, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SIDECC, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_ENSEMBLE, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SCID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_MODULATION, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_CHANNEL}) @IntRange(from=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_START, to=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_END) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ProgramSelector.IdentifierType {
+  }
+
+  @Deprecated @IntDef(prefix={"PROGRAM_TYPE_"}, value={android.hardware.radio.ProgramSelector.PROGRAM_TYPE_INVALID, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_AM, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_FM, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_AM_HD, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_FM_HD, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_DAB, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_DRMO, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_SXM}) @IntRange(from=android.hardware.radio.ProgramSelector.PROGRAM_TYPE_VENDOR_START, to=android.hardware.radio.ProgramSelector.PROGRAM_TYPE_VENDOR_END) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ProgramSelector.ProgramType {
+  }
+
+  public class RadioManager {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int listModules(java.util.List<android.hardware.radio.RadioManager.ModuleProperties>);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public android.hardware.radio.RadioTuner openTuner(int, android.hardware.radio.RadioManager.BandConfig, boolean, android.hardware.radio.RadioTuner.Callback, android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void removeAnnouncementListener(@NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
+    field public static final int BAND_AM = 0; // 0x0
+    field public static final int BAND_AM_HD = 3; // 0x3
+    field public static final int BAND_FM = 1; // 0x1
+    field public static final int BAND_FM_HD = 2; // 0x2
+    field public static final int BAND_INVALID = -1; // 0xffffffff
+    field public static final int CLASS_AM_FM = 0; // 0x0
+    field public static final int CLASS_DT = 2; // 0x2
+    field public static final int CLASS_SAT = 1; // 0x1
+    field public static final int CONFIG_DAB_DAB_LINKING = 6; // 0x6
+    field public static final int CONFIG_DAB_DAB_SOFT_LINKING = 8; // 0x8
+    field public static final int CONFIG_DAB_FM_LINKING = 7; // 0x7
+    field public static final int CONFIG_DAB_FM_SOFT_LINKING = 9; // 0x9
+    field public static final int CONFIG_FORCE_ANALOG = 2; // 0x2
+    field public static final int CONFIG_FORCE_DIGITAL = 3; // 0x3
+    field public static final int CONFIG_FORCE_MONO = 1; // 0x1
+    field public static final int CONFIG_RDS_AF = 4; // 0x4
+    field public static final int CONFIG_RDS_REG = 5; // 0x5
+    field public static final int REGION_ITU_1 = 0; // 0x0
+    field public static final int REGION_ITU_2 = 1; // 0x1
+    field public static final int REGION_JAPAN = 3; // 0x3
+    field public static final int REGION_KOREA = 4; // 0x4
+    field public static final int REGION_OIRT = 2; // 0x2
+    field public static final int STATUS_BAD_VALUE = -22; // 0xffffffea
+    field public static final int STATUS_DEAD_OBJECT = -32; // 0xffffffe0
+    field public static final int STATUS_ERROR = -2147483648; // 0x80000000
+    field public static final int STATUS_INVALID_OPERATION = -38; // 0xffffffda
+    field public static final int STATUS_NO_INIT = -19; // 0xffffffed
+    field public static final int STATUS_OK = 0; // 0x0
+    field public static final int STATUS_PERMISSION_DENIED = -1; // 0xffffffff
+    field public static final int STATUS_TIMED_OUT = -110; // 0xffffff92
+  }
+
+  public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
+    method public boolean getStereo();
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
+  }
+
+  public static class RadioManager.AmBandConfig.Builder {
+    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandDescriptor);
+    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandConfig);
+    method public android.hardware.radio.RadioManager.AmBandConfig build();
+    method public android.hardware.radio.RadioManager.AmBandConfig.Builder setStereo(boolean);
+  }
+
+  public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
+    method public boolean isStereoSupported();
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
+  }
+
+  @IntDef(prefix={"BAND_"}, value={android.hardware.radio.RadioManager.BAND_INVALID, android.hardware.radio.RadioManager.BAND_AM, android.hardware.radio.RadioManager.BAND_FM, android.hardware.radio.RadioManager.BAND_AM_HD, android.hardware.radio.RadioManager.BAND_FM_HD}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RadioManager.Band {
+  }
+
+  public static class RadioManager.BandConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getLowerLimit();
+    method public int getRegion();
+    method public int getSpacing();
+    method public int getType();
+    method public int getUpperLimit();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
+  }
+
+  public static class RadioManager.BandDescriptor implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getLowerLimit();
+    method public int getRegion();
+    method public int getSpacing();
+    method public int getType();
+    method public int getUpperLimit();
+    method public boolean isAmBand();
+    method public boolean isFmBand();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
+  }
+
+  public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
+    method public boolean getAf();
+    method public boolean getEa();
+    method public boolean getRds();
+    method public boolean getStereo();
+    method public boolean getTa();
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
+  }
+
+  public static class RadioManager.FmBandConfig.Builder {
+    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandDescriptor);
+    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandConfig);
+    method public android.hardware.radio.RadioManager.FmBandConfig build();
+    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setAf(boolean);
+    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setEa(boolean);
+    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setRds(boolean);
+    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setStereo(boolean);
+    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setTa(boolean);
+  }
+
+  public static class RadioManager.FmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
+    method public boolean isAfSupported();
+    method public boolean isEaSupported();
+    method public boolean isRdsSupported();
+    method public boolean isStereoSupported();
+    method public boolean isTaSupported();
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
+  }
+
+  public static class RadioManager.ModuleProperties implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.hardware.radio.RadioManager.BandDescriptor[] getBands();
+    method public int getClassId();
+    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDabFrequencyTable();
+    method public int getId();
+    method public String getImplementor();
+    method public int getNumAudioSources();
+    method public int getNumTuners();
+    method public String getProduct();
+    method public String getSerial();
+    method @NonNull public String getServiceName();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
+    method public String getVersion();
+    method public boolean isBackgroundScanningSupported();
+    method public boolean isCaptureSupported();
+    method public boolean isInitializationRequired();
+    method public boolean isProgramIdentifierSupported(@android.hardware.radio.ProgramSelector.IdentifierType int);
+    method public boolean isProgramTypeSupported(@android.hardware.radio.ProgramSelector.ProgramType int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
+  }
+
+  public static class RadioManager.ProgramInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Deprecated public int getChannel();
+    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getLogicallyTunedTo();
+    method public android.hardware.radio.RadioMetadata getMetadata();
+    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getPhysicallyTunedTo();
+    method @Nullable public java.util.Collection<android.hardware.radio.ProgramSelector.Identifier> getRelatedContent();
+    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
+    method public int getSignalStrength();
+    method @Deprecated public int getSubChannel();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
+    method @Deprecated public boolean isDigital();
+    method public boolean isLive();
+    method public boolean isMuted();
+    method public boolean isStereo();
+    method public boolean isTrafficAnnouncementActive();
+    method public boolean isTrafficProgram();
+    method public boolean isTuned();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
+  }
+
+  public final class RadioMetadata implements android.os.Parcelable {
+    method public boolean containsKey(String);
+    method public int describeContents();
+    method @Deprecated public android.graphics.Bitmap getBitmap(String);
+    method public android.hardware.radio.RadioMetadata.Clock getClock(String);
+    method public int getInt(String);
+    method public String getString(String);
+    method public java.util.Set<java.lang.String> keySet();
+    method public int size();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
+    field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
+    field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
+    field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
+    field public static final String METADATA_KEY_CLOCK = "android.hardware.radio.metadata.CLOCK";
+    field public static final String METADATA_KEY_DAB_COMPONENT_NAME = "android.hardware.radio.metadata.DAB_COMPONENT_NAME";
+    field public static final String METADATA_KEY_DAB_COMPONENT_NAME_SHORT = "android.hardware.radio.metadata.DAB_COMPONENT_NAME_SHORT";
+    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME";
+    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME_SHORT = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME_SHORT";
+    field public static final String METADATA_KEY_DAB_SERVICE_NAME = "android.hardware.radio.metadata.DAB_SERVICE_NAME";
+    field public static final String METADATA_KEY_DAB_SERVICE_NAME_SHORT = "android.hardware.radio.metadata.DAB_SERVICE_NAME_SHORT";
+    field public static final String METADATA_KEY_GENRE = "android.hardware.radio.metadata.GENRE";
+    field public static final String METADATA_KEY_ICON = "android.hardware.radio.metadata.ICON";
+    field public static final String METADATA_KEY_PROGRAM_NAME = "android.hardware.radio.metadata.PROGRAM_NAME";
+    field public static final String METADATA_KEY_RBDS_PTY = "android.hardware.radio.metadata.RBDS_PTY";
+    field public static final String METADATA_KEY_RDS_PI = "android.hardware.radio.metadata.RDS_PI";
+    field public static final String METADATA_KEY_RDS_PS = "android.hardware.radio.metadata.RDS_PS";
+    field public static final String METADATA_KEY_RDS_PTY = "android.hardware.radio.metadata.RDS_PTY";
+    field public static final String METADATA_KEY_RDS_RT = "android.hardware.radio.metadata.RDS_RT";
+    field public static final String METADATA_KEY_TITLE = "android.hardware.radio.metadata.TITLE";
+  }
+
+  public static final class RadioMetadata.Builder {
+    ctor public RadioMetadata.Builder();
+    ctor public RadioMetadata.Builder(android.hardware.radio.RadioMetadata);
+    method public android.hardware.radio.RadioMetadata build();
+    method public android.hardware.radio.RadioMetadata.Builder putBitmap(String, android.graphics.Bitmap);
+    method public android.hardware.radio.RadioMetadata.Builder putClock(String, long, int);
+    method public android.hardware.radio.RadioMetadata.Builder putInt(String, int);
+    method public android.hardware.radio.RadioMetadata.Builder putString(String, String);
+  }
+
+  public static final class RadioMetadata.Clock implements android.os.Parcelable {
+    ctor public RadioMetadata.Clock(long, int);
+    method public int describeContents();
+    method public int getTimezoneOffsetMinutes();
+    method public long getUtcEpochSeconds();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
+  }
+
+  public abstract class RadioTuner {
+    ctor public RadioTuner();
+    method public abstract int cancel();
+    method public abstract void cancelAnnouncement();
+    method public abstract void close();
+    method @Deprecated public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
+    method @Nullable public android.hardware.radio.ProgramList getDynamicProgramList(@Nullable android.hardware.radio.ProgramList.Filter);
+    method public abstract boolean getMute();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getParameters(@NonNull java.util.List<java.lang.String>);
+    method @Deprecated public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
+    method @Deprecated @NonNull public abstract java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramList(@Nullable java.util.Map<java.lang.String,java.lang.String>);
+    method public abstract boolean hasControl();
+    method @Deprecated public abstract boolean isAnalogForced();
+    method @Deprecated public abstract boolean isAntennaConnected();
+    method public boolean isConfigFlagSet(int);
+    method public boolean isConfigFlagSupported(int);
+    method public abstract int scan(int, boolean);
+    method @Deprecated public abstract void setAnalogForced(boolean);
+    method public void setConfigFlag(int, boolean);
+    method @Deprecated public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
+    method public abstract int setMute(boolean);
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> setParameters(@NonNull java.util.Map<java.lang.String,java.lang.String>);
+    method public abstract boolean startBackgroundScan();
+    method public abstract int step(int, boolean);
+    method @Deprecated public abstract int tune(int, int);
+    method public abstract void tune(@NonNull android.hardware.radio.ProgramSelector);
+    field public static final int DIRECTION_DOWN = 1; // 0x1
+    field public static final int DIRECTION_UP = 0; // 0x0
+    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
+    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
+    field @Deprecated public static final int ERROR_CANCELLED = 2; // 0x2
+    field @Deprecated public static final int ERROR_CONFIG = 4; // 0x4
+    field @Deprecated public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
+    field @Deprecated public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
+    field @Deprecated public static final int ERROR_SERVER_DIED = 1; // 0x1
+  }
+
+  public abstract static class RadioTuner.Callback {
+    ctor public RadioTuner.Callback();
+    method public void onAntennaState(boolean);
+    method public void onBackgroundScanAvailabilityChange(boolean);
+    method public void onBackgroundScanComplete();
+    method @Deprecated public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
+    method public void onControlChanged(boolean);
+    method public void onEmergencyAnnouncement(boolean);
+    method @Deprecated public void onError(int);
+    method @Deprecated public void onMetadataChanged(android.hardware.radio.RadioMetadata);
+    method public void onParametersUpdated(@NonNull java.util.Map<java.lang.String,java.lang.String>);
+    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
+    method public void onProgramListChanged();
+    method public void onTrafficAnnouncement(boolean);
+    method public void onTuneFailed(int, @Nullable android.hardware.radio.ProgramSelector);
+  }
+
+}
+
+package android.hardware.soundtrigger {
+
+  public class SoundTrigger {
+    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8
+    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4
+    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
+    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
+    field public static final int STATUS_OK = 0; // 0x0
+  }
+
+  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable {
+    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]);
+    method public int getId();
+    method @NonNull public java.util.Locale getLocale();
+    method public int getRecognitionModes();
+    method @NonNull public String getText();
+    method @NonNull public int[] getUsers();
+    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR;
+  }
+
+  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
+    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int);
+    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]);
+    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases();
+    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR;
+  }
+
+  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
+    method public int getEnd();
+    method public int getStart();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR;
+  }
+
+  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAudioCapabilities();
+    method @NonNull public String getDescription();
+    method public int getId();
+    method @NonNull public String getImplementor();
+    method public int getMaxBufferMillis();
+    method public int getMaxKeyphrases();
+    method public int getMaxSoundModels();
+    method public int getMaxUsers();
+    method public int getPowerConsumptionMw();
+    method public int getRecognitionModes();
+    method @NonNull public String getSupportedModelArch();
+    method @NonNull public java.util.UUID getUuid();
+    method public int getVersion();
+    method public boolean isCaptureTransitionSupported();
+    method public boolean isConcurrentCaptureSupported();
+    method public boolean isTriggerReturnedInEvent();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
+    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR;
+  }
+
+  public static class SoundTrigger.RecognitionEvent {
+    method @Nullable public android.media.AudioFormat getCaptureFormat();
+    method public int getCaptureSession();
+    method public byte[] getData();
+    method public boolean isCaptureAvailable();
+  }
+
+  public static class SoundTrigger.SoundModel {
+    method @NonNull public byte[] getData();
+    method public int getType();
+    method @NonNull public java.util.UUID getUuid();
+    method @NonNull public java.util.UUID getVendorUuid();
+    method public int getVersion();
+    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1
+    field public static final int TYPE_KEYPHRASE = 0; // 0x0
+  }
+
+}
+
+package android.hardware.usb {
+
+  public class UsbDeviceConnection {
+    method public boolean resetDevice();
+  }
+
+  public class UsbManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long);
+    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_ACCESSORY_HANDSHAKE = "android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE";
+    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED";
+    field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
+    field public static final String EXTRA_ACCESSORY_HANDSHAKE_END = "android.hardware.usb.extra.ACCESSORY_HANDSHAKE_END";
+    field public static final String EXTRA_ACCESSORY_START = "android.hardware.usb.extra.ACCESSORY_START";
+    field public static final String EXTRA_ACCESSORY_STRING_COUNT = "android.hardware.usb.extra.ACCESSORY_STRING_COUNT";
+    field public static final String EXTRA_ACCESSORY_UEVENT_TIME = "android.hardware.usb.extra.ACCESSORY_UEVENT_TIME";
+    field public static final long FUNCTION_ACCESSORY = 2L; // 0x2L
+    field public static final long FUNCTION_ADB = 1L; // 0x1L
+    field public static final long FUNCTION_AUDIO_SOURCE = 64L; // 0x40L
+    field public static final long FUNCTION_MIDI = 8L; // 0x8L
+    field public static final long FUNCTION_MTP = 4L; // 0x4L
+    field public static final long FUNCTION_NCM = 1024L; // 0x400L
+    field public static final long FUNCTION_NONE = 0L; // 0x0L
+    field public static final long FUNCTION_PTP = 16L; // 0x10L
+    field public static final long FUNCTION_RNDIS = 32L; // 0x20L
+    field public static final String USB_CONFIGURED = "configured";
+    field public static final String USB_CONNECTED = "connected";
+    field public static final String USB_FUNCTION_NCM = "ncm";
+    field public static final String USB_FUNCTION_RNDIS = "rndis";
+  }
+
+  public final class UsbPort {
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USB) public android.hardware.usb.UsbPortStatus getStatus();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setRoles(int, int);
+  }
+
+  public final class UsbPortStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCurrentDataRole();
+    method public int getCurrentMode();
+    method public int getCurrentPowerRole();
+    method public int getSupportedRoleCombinations();
+    method public boolean isConnected();
+    method public boolean isRoleCombinationSupported(int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
+    field public static final int DATA_ROLE_DEVICE = 2; // 0x2
+    field public static final int DATA_ROLE_HOST = 1; // 0x1
+    field public static final int DATA_ROLE_NONE = 0; // 0x0
+    field public static final int MODE_AUDIO_ACCESSORY = 4; // 0x4
+    field public static final int MODE_DEBUG_ACCESSORY = 8; // 0x8
+    field public static final int MODE_DFP = 2; // 0x2
+    field public static final int MODE_NONE = 0; // 0x0
+    field public static final int MODE_UFP = 1; // 0x1
+    field public static final int POWER_ROLE_NONE = 0; // 0x0
+    field public static final int POWER_ROLE_SINK = 2; // 0x2
+    field public static final int POWER_ROLE_SOURCE = 1; // 0x1
+  }
+
+}
+
+package android.location {
+
+  public abstract class BatchedLocationCallback {
+    ctor public BatchedLocationCallback();
+    method public void onLocationBatch(java.util.List<android.location.Location>);
+  }
+
+  public final class CorrelationVector implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0f) public double getFrequencyOffsetMetersPerSecond();
+    method @NonNull public int[] getMagnitude();
+    method @FloatRange(from=0.0f) public double getSamplingStartMeters();
+    method @FloatRange(from=0.0f, fromInclusive=false) public double getSamplingWidthMeters();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.CorrelationVector> CREATOR;
+  }
+
+  public static final class CorrelationVector.Builder {
+    ctor public CorrelationVector.Builder();
+    method @NonNull public android.location.CorrelationVector build();
+    method @NonNull public android.location.CorrelationVector.Builder setFrequencyOffsetMetersPerSecond(@FloatRange(from=0.0f) double);
+    method @NonNull public android.location.CorrelationVector.Builder setMagnitude(@NonNull int[]);
+    method @NonNull public android.location.CorrelationVector.Builder setSamplingStartMeters(@FloatRange(from=0.0f) double);
+    method @NonNull public android.location.CorrelationVector.Builder setSamplingWidthMeters(@FloatRange(from=0.0f, fromInclusive=false) double);
+  }
+
+  public final class GnssCapabilities implements android.os.Parcelable {
+    method public boolean hasGeofencing();
+    method public boolean hasLowPowerMode();
+    method public boolean hasMeasurementCorrections();
+    method public boolean hasMeasurementCorrectionsExcessPathLength();
+    method public boolean hasMeasurementCorrectionsForDriving();
+    method public boolean hasMeasurementCorrectionsLosSats();
+    method @Deprecated public boolean hasMeasurementCorrectionsReflectingPane();
+    method public boolean hasMeasurementCorrectionsReflectingPlane();
+    method public boolean hasMeasurementCorrelationVectors();
+    method @Deprecated public boolean hasNavMessages();
+    method @Deprecated public boolean hasSatelliteBlacklist();
+    method public boolean hasSatelliteBlocklist();
+    method public boolean hasSatellitePvt();
+  }
+
+  public static final class GnssCapabilities.Builder {
+    method @NonNull public android.location.GnssCapabilities.Builder setHasGeofencing(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasLowPowerMode(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrections(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsExcessPathLength(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsForDriving(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsLosSats(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsReflectingPlane(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrelationVectors(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasSatelliteBlocklist(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasSatellitePvt(boolean);
+  }
+
+  public final class GnssMeasurement implements android.os.Parcelable {
+    method @Nullable public java.util.Collection<android.location.CorrelationVector> getCorrelationVectors();
+    method @Nullable public android.location.SatellitePvt getSatellitePvt();
+    method public boolean hasCorrelationVectors();
+    method public boolean hasSatellitePvt();
+  }
+
+  public final class GnssMeasurementCorrections implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
+    method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees();
+    method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees();
+    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
+    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
+    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
+    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
+    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
+    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
+    method public boolean hasEnvironmentBearing();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
+  }
+
+  public static final class GnssMeasurementCorrections.Builder {
+    ctor public GnssMeasurementCorrections.Builder();
+    method @NonNull public android.location.GnssMeasurementCorrections build();
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
+  }
+
+  public final class GnssMeasurementRequest implements android.os.Parcelable {
+    method public boolean isCorrelationVectorOutputsEnabled();
+  }
+
+  public static final class GnssMeasurementRequest.Builder {
+    method @NonNull public android.location.GnssMeasurementRequest.Builder setCorrelationVectorOutputsEnabled(boolean);
+  }
+
+  public final class GnssReflectingPlane implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
+    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
+    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
+    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
+  }
+
+  public static final class GnssReflectingPlane.Builder {
+    ctor public GnssReflectingPlane.Builder();
+    method @NonNull public android.location.GnssReflectingPlane build();
+    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
+    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
+    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
+    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
+  }
+
+  public final class GnssRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isFullTracking();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR;
+  }
+
+  public static final class GnssRequest.Builder {
+    ctor public GnssRequest.Builder();
+    ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest);
+    method @NonNull public android.location.GnssRequest build();
+    method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean);
+  }
+
+  public final class GnssSingleSatCorrection implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
+    method public int getConstellationType();
+    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
+    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
+    method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
+    method @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
+    method @IntRange(from=0) public int getSatelliteId();
+    method public boolean hasExcessPathLength();
+    method public boolean hasExcessPathLengthUncertainty();
+    method public boolean hasReflectingPlane();
+    method public boolean hasValidSatelliteLineOfSight();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
+  }
+
+  public static final class GnssSingleSatCorrection.Builder {
+    ctor public GnssSingleSatCorrection.Builder();
+    method @NonNull public android.location.GnssSingleSatCorrection build();
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
+  }
+
+  @Deprecated public class GpsClock implements android.os.Parcelable {
+    method @Deprecated public int describeContents();
+    method @Deprecated public double getBiasInNs();
+    method @Deprecated public double getBiasUncertaintyInNs();
+    method @Deprecated public double getDriftInNsPerSec();
+    method @Deprecated public double getDriftUncertaintyInNsPerSec();
+    method @Deprecated public long getFullBiasInNs();
+    method @Deprecated public short getLeapSecond();
+    method @Deprecated public long getTimeInNs();
+    method @Deprecated public double getTimeUncertaintyInNs();
+    method @Deprecated public byte getType();
+    method @Deprecated public boolean hasBiasInNs();
+    method @Deprecated public boolean hasBiasUncertaintyInNs();
+    method @Deprecated public boolean hasDriftInNsPerSec();
+    method @Deprecated public boolean hasDriftUncertaintyInNsPerSec();
+    method @Deprecated public boolean hasFullBiasInNs();
+    method @Deprecated public boolean hasLeapSecond();
+    method @Deprecated public boolean hasTimeUncertaintyInNs();
+    method @Deprecated public void reset();
+    method @Deprecated public void resetBiasInNs();
+    method @Deprecated public void resetBiasUncertaintyInNs();
+    method @Deprecated public void resetDriftInNsPerSec();
+    method @Deprecated public void resetDriftUncertaintyInNsPerSec();
+    method @Deprecated public void resetFullBiasInNs();
+    method @Deprecated public void resetLeapSecond();
+    method @Deprecated public void resetTimeUncertaintyInNs();
+    method @Deprecated public void set(android.location.GpsClock);
+    method @Deprecated public void setBiasInNs(double);
+    method @Deprecated public void setBiasUncertaintyInNs(double);
+    method @Deprecated public void setDriftInNsPerSec(double);
+    method @Deprecated public void setDriftUncertaintyInNsPerSec(double);
+    method @Deprecated public void setFullBiasInNs(long);
+    method @Deprecated public void setLeapSecond(short);
+    method @Deprecated public void setTimeInNs(long);
+    method @Deprecated public void setTimeUncertaintyInNs(double);
+    method @Deprecated public void setType(byte);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
+    field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2
+    field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
+    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  @Deprecated public class GpsMeasurement implements android.os.Parcelable {
+    method @Deprecated public int describeContents();
+    method @Deprecated public double getAccumulatedDeltaRangeInMeters();
+    method @Deprecated public short getAccumulatedDeltaRangeState();
+    method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters();
+    method @Deprecated public double getAzimuthInDeg();
+    method @Deprecated public double getAzimuthUncertaintyInDeg();
+    method @Deprecated public int getBitNumber();
+    method @Deprecated public long getCarrierCycles();
+    method @Deprecated public float getCarrierFrequencyInHz();
+    method @Deprecated public double getCarrierPhase();
+    method @Deprecated public double getCarrierPhaseUncertainty();
+    method @Deprecated public double getCn0InDbHz();
+    method @Deprecated public double getCodePhaseInChips();
+    method @Deprecated public double getCodePhaseUncertaintyInChips();
+    method @Deprecated public double getDopplerShiftInHz();
+    method @Deprecated public double getDopplerShiftUncertaintyInHz();
+    method @Deprecated public double getElevationInDeg();
+    method @Deprecated public double getElevationUncertaintyInDeg();
+    method @Deprecated public byte getLossOfLock();
+    method @Deprecated public byte getMultipathIndicator();
+    method @Deprecated public byte getPrn();
+    method @Deprecated public double getPseudorangeInMeters();
+    method @Deprecated public double getPseudorangeRateInMetersPerSec();
+    method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec();
+    method @Deprecated public double getPseudorangeUncertaintyInMeters();
+    method @Deprecated public long getReceivedGpsTowInNs();
+    method @Deprecated public long getReceivedGpsTowUncertaintyInNs();
+    method @Deprecated public double getSnrInDb();
+    method @Deprecated public short getState();
+    method @Deprecated public short getTimeFromLastBitInMs();
+    method @Deprecated public double getTimeOffsetInNs();
+    method @Deprecated public boolean hasAzimuthInDeg();
+    method @Deprecated public boolean hasAzimuthUncertaintyInDeg();
+    method @Deprecated public boolean hasBitNumber();
+    method @Deprecated public boolean hasCarrierCycles();
+    method @Deprecated public boolean hasCarrierFrequencyInHz();
+    method @Deprecated public boolean hasCarrierPhase();
+    method @Deprecated public boolean hasCarrierPhaseUncertainty();
+    method @Deprecated public boolean hasCodePhaseInChips();
+    method @Deprecated public boolean hasCodePhaseUncertaintyInChips();
+    method @Deprecated public boolean hasDopplerShiftInHz();
+    method @Deprecated public boolean hasDopplerShiftUncertaintyInHz();
+    method @Deprecated public boolean hasElevationInDeg();
+    method @Deprecated public boolean hasElevationUncertaintyInDeg();
+    method @Deprecated public boolean hasPseudorangeInMeters();
+    method @Deprecated public boolean hasPseudorangeUncertaintyInMeters();
+    method @Deprecated public boolean hasSnrInDb();
+    method @Deprecated public boolean hasTimeFromLastBitInMs();
+    method @Deprecated public boolean isPseudorangeRateCorrected();
+    method @Deprecated public boolean isUsedInFix();
+    method @Deprecated public void reset();
+    method @Deprecated public void resetAzimuthInDeg();
+    method @Deprecated public void resetAzimuthUncertaintyInDeg();
+    method @Deprecated public void resetBitNumber();
+    method @Deprecated public void resetCarrierCycles();
+    method @Deprecated public void resetCarrierFrequencyInHz();
+    method @Deprecated public void resetCarrierPhase();
+    method @Deprecated public void resetCarrierPhaseUncertainty();
+    method @Deprecated public void resetCodePhaseInChips();
+    method @Deprecated public void resetCodePhaseUncertaintyInChips();
+    method @Deprecated public void resetDopplerShiftInHz();
+    method @Deprecated public void resetDopplerShiftUncertaintyInHz();
+    method @Deprecated public void resetElevationInDeg();
+    method @Deprecated public void resetElevationUncertaintyInDeg();
+    method @Deprecated public void resetPseudorangeInMeters();
+    method @Deprecated public void resetPseudorangeUncertaintyInMeters();
+    method @Deprecated public void resetSnrInDb();
+    method @Deprecated public void resetTimeFromLastBitInMs();
+    method @Deprecated public void set(android.location.GpsMeasurement);
+    method @Deprecated public void setAccumulatedDeltaRangeInMeters(double);
+    method @Deprecated public void setAccumulatedDeltaRangeState(short);
+    method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double);
+    method @Deprecated public void setAzimuthInDeg(double);
+    method @Deprecated public void setAzimuthUncertaintyInDeg(double);
+    method @Deprecated public void setBitNumber(int);
+    method @Deprecated public void setCarrierCycles(long);
+    method @Deprecated public void setCarrierFrequencyInHz(float);
+    method @Deprecated public void setCarrierPhase(double);
+    method @Deprecated public void setCarrierPhaseUncertainty(double);
+    method @Deprecated public void setCn0InDbHz(double);
+    method @Deprecated public void setCodePhaseInChips(double);
+    method @Deprecated public void setCodePhaseUncertaintyInChips(double);
+    method @Deprecated public void setDopplerShiftInHz(double);
+    method @Deprecated public void setDopplerShiftUncertaintyInHz(double);
+    method @Deprecated public void setElevationInDeg(double);
+    method @Deprecated public void setElevationUncertaintyInDeg(double);
+    method @Deprecated public void setLossOfLock(byte);
+    method @Deprecated public void setMultipathIndicator(byte);
+    method @Deprecated public void setPrn(byte);
+    method @Deprecated public void setPseudorangeInMeters(double);
+    method @Deprecated public void setPseudorangeRateInMetersPerSec(double);
+    method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double);
+    method @Deprecated public void setPseudorangeUncertaintyInMeters(double);
+    method @Deprecated public void setReceivedGpsTowInNs(long);
+    method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long);
+    method @Deprecated public void setSnrInDb(double);
+    method @Deprecated public void setState(short);
+    method @Deprecated public void setTimeFromLastBitInMs(short);
+    method @Deprecated public void setTimeOffsetInNs(double);
+    method @Deprecated public void setUsedInFix(boolean);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4
+    field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2
+    field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
+    field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
+    field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
+    field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
+    field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2
+    field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2
+    field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1
+    field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10
+    field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4
+    field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8
+    field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0
+  }
+
+  @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable {
+    ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]);
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public android.location.GpsClock getClock();
+    method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
+    field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
+    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
+    field @Deprecated public static final int STATUS_READY = 1; // 0x1
+  }
+
+  @Deprecated public static interface GpsMeasurementsEvent.Listener {
+    method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent);
+    method @Deprecated public void onStatusChanged(int);
+  }
+
+  @Deprecated public class GpsNavigationMessage implements android.os.Parcelable {
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public byte[] getData();
+    method @Deprecated public short getMessageId();
+    method @Deprecated public byte getPrn();
+    method @Deprecated public short getStatus();
+    method @Deprecated public short getSubmessageId();
+    method @Deprecated public byte getType();
+    method @Deprecated public void reset();
+    method @Deprecated public void set(android.location.GpsNavigationMessage);
+    method @Deprecated public void setData(byte[]);
+    method @Deprecated public void setMessageId(short);
+    method @Deprecated public void setPrn(byte);
+    method @Deprecated public void setStatus(short);
+    method @Deprecated public void setSubmessageId(short);
+    method @Deprecated public void setType(byte);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
+    field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1
+    field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2
+    field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4
+    field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1
+    field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2
+    field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3
+    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable {
+    ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage);
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
+    field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED;
+    field @Deprecated public static int STATUS_NOT_SUPPORTED;
+    field @Deprecated public static int STATUS_READY;
+  }
+
+  @Deprecated public static interface GpsNavigationMessageEvent.Listener {
+    method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent);
+    method @Deprecated public void onStatusChanged(int);
+  }
+
+  public final class LastLocationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isHiddenFromAppOps();
+    method public boolean isLocationSettingsIgnored();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.LastLocationRequest> CREATOR;
+  }
+
+  public static final class LastLocationRequest.Builder {
+    ctor public LastLocationRequest.Builder();
+    ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest);
+    method @NonNull public android.location.LastLocationRequest build();
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
+  }
+
+  public class Location implements android.os.Parcelable {
+    method public boolean isComplete();
+    method public void makeComplete();
+    method @Deprecated public void setIsFromMockProvider(boolean);
+    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
+  }
+
+  public class LocationManager {
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void addProviderRequestChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.provider.ProviderRequest.ChangedListener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull android.location.LocationRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Location>);
+    method @Nullable public String getExtraLocationControllerPackage();
+    method @Deprecated public int getGnssBatchSize();
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.location.Location getLastKnownLocation(@NonNull String, @NonNull android.location.LastLocationRequest);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
+    method public boolean isExtraLocationControllerPackageEnabled();
+    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
+    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String, @Nullable String);
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.UPDATE_APP_OPS_STATS}) public boolean registerGnssBatchedLocationCallback(long, boolean, @NonNull android.location.BatchedLocationCallback, @Nullable android.os.Handler);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void removeProviderRequestChangedListener(@NonNull android.location.provider.ProviderRequest.ChangedListener);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
+  }
+
+  public final class LocationRequest implements android.os.Parcelable {
+    method @Deprecated @NonNull public static android.location.LocationRequest create();
+    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
+    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
+    method @Deprecated public long getExpireAt();
+    method @Deprecated public long getExpireIn();
+    method @Deprecated public long getFastestInterval();
+    method @Deprecated public boolean getHideFromAppOps();
+    method @Deprecated public long getInterval();
+    method @Deprecated public int getNumUpdates();
+    method @Deprecated @NonNull public String getProvider();
+    method @Deprecated public float getSmallestDisplacement();
+    method @NonNull public android.os.WorkSource getWorkSource();
+    method public boolean isHiddenFromAppOps();
+    method public boolean isLocationSettingsIgnored();
+    method public boolean isLowPower();
+    method @Deprecated public boolean isLowPowerMode();
+    method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long);
+    method @Deprecated @NonNull public android.location.LocationRequest setExpireIn(long);
+    method @Deprecated @NonNull public android.location.LocationRequest setFastestInterval(long);
+    method @Deprecated public void setHideFromAppOps(boolean);
+    method @Deprecated @NonNull public android.location.LocationRequest setInterval(long);
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
+    method @Deprecated @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
+    method @Deprecated @NonNull public android.location.LocationRequest setNumUpdates(int);
+    method @Deprecated @NonNull public android.location.LocationRequest setProvider(@NonNull String);
+    method @Deprecated @NonNull public android.location.LocationRequest setQuality(int);
+    method @Deprecated @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
+    method @Deprecated public void setWorkSource(@Nullable android.os.WorkSource);
+    field @Deprecated public static final int ACCURACY_BLOCK = 102; // 0x66
+    field @Deprecated public static final int ACCURACY_CITY = 104; // 0x68
+    field @Deprecated public static final int ACCURACY_FINE = 100; // 0x64
+    field @Deprecated public static final int POWER_HIGH = 203; // 0xcb
+    field @Deprecated public static final int POWER_LOW = 201; // 0xc9
+    field @Deprecated public static final int POWER_NONE = 200; // 0xc8
+  }
+
+  public static final class LocationRequest.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.LocationRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
+  }
+
+  public final class SatellitePvt implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.location.SatellitePvt.ClockInfo getClockInfo();
+    method @FloatRange public double getIonoDelayMeters();
+    method @Nullable public android.location.SatellitePvt.PositionEcef getPositionEcef();
+    method @FloatRange public double getTropoDelayMeters();
+    method @Nullable public android.location.SatellitePvt.VelocityEcef getVelocityEcef();
+    method public boolean hasIono();
+    method public boolean hasPositionVelocityClockInfo();
+    method public boolean hasTropo();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt> CREATOR;
+  }
+
+  public static final class SatellitePvt.Builder {
+    ctor public SatellitePvt.Builder();
+    method @NonNull public android.location.SatellitePvt build();
+    method @NonNull public android.location.SatellitePvt.Builder setClockInfo(@NonNull android.location.SatellitePvt.ClockInfo);
+    method @NonNull public android.location.SatellitePvt.Builder setIonoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
+    method @NonNull public android.location.SatellitePvt.Builder setPositionEcef(@NonNull android.location.SatellitePvt.PositionEcef);
+    method @NonNull public android.location.SatellitePvt.Builder setTropoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
+    method @NonNull public android.location.SatellitePvt.Builder setVelocityEcef(@NonNull android.location.SatellitePvt.VelocityEcef);
+  }
+
+  public static final class SatellitePvt.ClockInfo implements android.os.Parcelable {
+    ctor public SatellitePvt.ClockInfo(double, double, double);
+    method public int describeContents();
+    method @FloatRange public double getClockDriftMetersPerSecond();
+    method @FloatRange public double getHardwareCodeBiasMeters();
+    method @FloatRange public double getTimeCorrectionMeters();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.ClockInfo> CREATOR;
+  }
+
+  public static final class SatellitePvt.PositionEcef implements android.os.Parcelable {
+    ctor public SatellitePvt.PositionEcef(double, double, double, double);
+    method public int describeContents();
+    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreMeters();
+    method @FloatRange public double getXMeters();
+    method @FloatRange public double getYMeters();
+    method @FloatRange public double getZMeters();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.PositionEcef> CREATOR;
+  }
+
+  public static final class SatellitePvt.VelocityEcef implements android.os.Parcelable {
+    ctor public SatellitePvt.VelocityEcef(double, double, double, double);
+    method public int describeContents();
+    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreRateMetersPerSecond();
+    method @FloatRange public double getXMetersPerSecond();
+    method @FloatRange public double getYMetersPerSecond();
+    method @FloatRange public double getZMetersPerSecond();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.VelocityEcef> CREATOR;
+  }
+
+}
+
+package android.location.provider {
+
+  public abstract class LocationProviderBase {
+    ctor public LocationProviderBase(@NonNull android.content.Context, @NonNull String, @NonNull android.location.provider.ProviderProperties);
+    method @Nullable public final android.os.IBinder getBinder();
+    method @NonNull public android.location.provider.ProviderProperties getProperties();
+    method public boolean isAllowed();
+    method public abstract void onFlush(@NonNull android.location.provider.LocationProviderBase.OnFlushCompleteCallback);
+    method public abstract void onSendExtraCommand(@NonNull String, @Nullable android.os.Bundle);
+    method public abstract void onSetRequest(@NonNull android.location.provider.ProviderRequest);
+    method public void reportLocation(@NonNull android.location.Location);
+    method public void reportLocations(@NonNull java.util.List<android.location.Location>);
+    method public void setAllowed(boolean);
+    method public void setProperties(@NonNull android.location.provider.ProviderProperties);
+    field public static final String ACTION_FUSED_PROVIDER = "com.android.location.service.FusedLocationProvider";
+    field public static final String ACTION_NETWORK_PROVIDER = "com.android.location.service.v3.NetworkLocationProvider";
+  }
+
+  public static interface LocationProviderBase.OnFlushCompleteCallback {
+    method public void onFlushComplete();
+  }
+
+  public final class ProviderRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0) public long getIntervalMillis();
+    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
+    method public int getQuality();
+    method @NonNull public android.os.WorkSource getWorkSource();
+    method public boolean isActive();
+    method public boolean isLocationSettingsIgnored();
+    method public boolean isLowPower();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderRequest> CREATOR;
+    field @NonNull public static final android.location.provider.ProviderRequest EMPTY_REQUEST;
+    field public static final long INTERVAL_DISABLED = 9223372036854775807L; // 0x7fffffffffffffffL
+  }
+
+  public static final class ProviderRequest.Builder {
+    ctor public ProviderRequest.Builder();
+    method @NonNull public android.location.provider.ProviderRequest build();
+    method @NonNull public android.location.provider.ProviderRequest.Builder setIntervalMillis(@IntRange(from=0) long);
+    method @NonNull public android.location.provider.ProviderRequest.Builder setLocationSettingsIgnored(boolean);
+    method @NonNull public android.location.provider.ProviderRequest.Builder setLowPower(boolean);
+    method @NonNull public android.location.provider.ProviderRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
+    method @NonNull public android.location.provider.ProviderRequest.Builder setQuality(int);
+    method @NonNull public android.location.provider.ProviderRequest.Builder setWorkSource(@NonNull android.os.WorkSource);
+  }
+
+  public static interface ProviderRequest.ChangedListener {
+    method public void onProviderRequestChanged(@NonNull String, @NonNull android.location.provider.ProviderRequest);
+  }
+
+}
+
+package android.media {
+
+  public final class AudioAttributes implements android.os.Parcelable {
+    method public int getAllFlags();
+    method public android.os.Bundle getBundle();
+    method public int getCapturePreset();
+    method public int getSystemUsage();
+    method public static boolean isSystemUsage(int);
+    field public static final int FLAG_BEACON = 8; // 0x8
+    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
+    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
+    field public static final int FLAG_HW_HOTWORD = 32; // 0x20
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb
+    field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea
+  }
+
+  public static class AudioAttributes.Builder {
+    method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle);
+    method public android.media.AudioAttributes.Builder setCapturePreset(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioAttributes.Builder setHotwordModeEnabled(boolean);
+    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
+  }
+
+  public final class AudioDeviceAttributes implements android.os.Parcelable {
+    ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo);
+    ctor public AudioDeviceAttributes(int, int, @NonNull String);
+    method public int describeContents();
+    method @NonNull public String getAddress();
+    method public int getRole();
+    method public int getType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR;
+    field public static final int ROLE_INPUT = 1; // 0x1
+    field public static final int ROLE_OUTPUT = 2; // 0x2
+  }
+
+  public final class AudioFocusInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.media.AudioAttributes getAttributes();
+    method @NonNull public String getClientId();
+    method public int getClientUid();
+    method public int getFlags();
+    method public int getGainRequest();
+    method public int getLossReceived();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
+  }
+
+  public final class AudioFocusRequest {
+    method public boolean locksFocus();
+  }
+
+  public static final class AudioFocusRequest.Builder {
+    method @NonNull public android.media.AudioFocusRequest.Builder setLocksFocus(boolean);
+  }
+
+  public class AudioManager {
+    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDeviceForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener) throws java.lang.SecurityException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDevicesForCapturePresetChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener) throws java.lang.SecurityException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDevicesForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener) throws java.lang.SecurityException;
+    method public void clearAudioServerStateCallback();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
+    method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public int getDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public java.util.List<android.media.AudioDeviceAttributes> getDevicesForAttributes(@NonNull android.media.AudioAttributes);
+    method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
+    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
+    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages();
+    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
+    method public boolean isAudioServerRunning();
+    method public boolean isHdmiSystemAudioSupported();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
+    method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.media.AudioAttributes, int, int) throws java.lang.IllegalArgumentException;
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.media.AudioAttributes, int, int, android.media.audiopolicy.AudioPolicy) throws java.lang.IllegalArgumentException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
+    method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForCapturePreset(int, @NonNull android.media.AudioDeviceAttributes);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
+    method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
+    field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
+    field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
+    field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
+    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE = 3; // 0x3
+    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE = 4; // 0x4
+    field public static final int DEVICE_VOLUME_BEHAVIOR_FIXED = 2; // 0x2
+    field public static final int DEVICE_VOLUME_BEHAVIOR_FULL = 1; // 0x1
+    field public static final int DEVICE_VOLUME_BEHAVIOR_VARIABLE = 0; // 0x0
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public abstract static class AudioManager.AudioServerStateCallback {
+    ctor public AudioManager.AudioServerStateCallback();
+    method public void onAudioServerDown();
+    method public void onAudioServerUp();
+  }
+
+  @Deprecated public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener {
+    method @Deprecated public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes);
+  }
+
+  public static interface AudioManager.OnPreferredDevicesForCapturePresetChangedListener {
+    method public void onPreferredDevicesForCapturePresetChanged(int, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
+  }
+
+  public static interface AudioManager.OnPreferredDevicesForStrategyChangedListener {
+    method public void onPreferredDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
+  }
+
+  public abstract static class AudioManager.VolumeGroupCallback {
+    ctor public AudioManager.VolumeGroupCallback();
+    method public void onAudioVolumeGroupChanged(int, int);
+  }
+
+  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
+    method public int getClientPid();
+    method public int getClientUid();
+    method public int getPlayerInterfaceId();
+    method public android.media.PlayerProxy getPlayerProxy();
+    method public int getPlayerState();
+    method public int getPlayerType();
+    method @IntRange(from=0) public int getSessionId();
+    method public boolean isActive();
+    field public static final int PLAYER_STATE_IDLE = 1; // 0x1
+    field public static final int PLAYER_STATE_PAUSED = 3; // 0x3
+    field public static final int PLAYER_STATE_RELEASED = 0; // 0x0
+    field public static final int PLAYER_STATE_STARTED = 2; // 0x2
+    field public static final int PLAYER_STATE_STOPPED = 4; // 0x4
+    field public static final int PLAYER_STATE_UNKNOWN = -1; // 0xffffffff
+    field public static final int PLAYER_TYPE_AAUDIO = 13; // 0xd
+    field public static final int PLAYER_TYPE_JAM_AUDIOTRACK = 1; // 0x1
+    field public static final int PLAYER_TYPE_JAM_MEDIAPLAYER = 2; // 0x2
+    field public static final int PLAYER_TYPE_JAM_SOUNDPOOL = 3; // 0x3
+    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE = 11; // 0xb
+    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD = 12; // 0xc
+    field public static final int PLAYER_TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
+    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
+    method public static long getMaxSharedAudioHistoryMillis();
+    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.MediaSyncEvent shareAudioHistory(@NonNull String, @IntRange(from=0) long);
+  }
+
+  public static class AudioRecord.Builder {
+    method public android.media.AudioRecord.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setMaxSharedAudioHistoryMillis(long) throws java.lang.IllegalArgumentException;
+    method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioRecord.Builder setSharedAudioEvent(@NonNull android.media.MediaSyncEvent) throws java.lang.IllegalArgumentException;
+  }
+
+  public final class AudioRecordingConfiguration implements android.os.Parcelable {
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
+  }
+
+  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2
+  }
+
+  public static class AudioTrack.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration);
+  }
+
+  public static class AudioTrack.TunerConfiguration {
+    ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=0) int, @IntRange(from=1) int);
+    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId();
+    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId();
+    field public static final int CONTENT_ID_NONE = 0; // 0x0
+  }
+
+  public class HwAudioSource {
+    method public boolean isPlaying();
+    method public void start();
+    method public void stop();
+  }
+
+  public static final class HwAudioSource.Builder {
+    ctor public HwAudioSource.Builder();
+    method @NonNull public android.media.HwAudioSource build();
+    method @NonNull public android.media.HwAudioSource.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
+    method @NonNull public android.media.HwAudioSource.Builder setAudioDeviceInfo(@NonNull android.media.AudioDeviceInfo);
+  }
+
+  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
+    method @RequiresPermission(android.Manifest.permission.BIND_IMS_SERVICE) public void setOnRtpRxNoticeListener(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaPlayer.OnRtpRxNoticeListener);
+  }
+
+  public static interface MediaPlayer.OnRtpRxNoticeListener {
+    method public void onRtpRxNotice(@NonNull android.media.MediaPlayer, int, @NonNull int[]);
+  }
+
+  public final class MediaRecorder.AudioSource {
+    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
+    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
+    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
+  }
+
+  public final class MediaRouter2 {
+    method @NonNull public java.util.List<android.media.MediaRoute2Info> getAllRoutes();
+    method @Nullable public String getClientPackageName();
+    method @Nullable @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void setRouteVolume(@NonNull android.media.MediaRoute2Info, int);
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void startScan();
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void stopScan();
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void transfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRoute2Info);
+  }
+
+  public abstract static class MediaRouter2.RouteCallback {
+    method public void onPreferredFeaturesChanged(@NonNull java.util.List<java.lang.String>);
+  }
+
+  public class MediaSyncEvent implements android.os.Parcelable {
+    field public static final int SYNC_EVENT_SHARE_AUDIO_HISTORY = 100; // 0x64
+  }
+
+  public class PlayerProxy {
+    method public void pause();
+    method public void setPan(float);
+    method public void setStartDelayMs(int);
+    method public void setVolume(float);
+    method public void start();
+    method public void stop();
+  }
+
+  public class RingtoneManager {
+    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context);
+  }
+
+  public final class RouteDiscoveryPreference implements android.os.Parcelable {
+    field public static final android.media.RouteDiscoveryPreference EMPTY;
+  }
+
+  public class Spatializer {
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addOnHeadTrackingModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnHeadToSoundstagePoseUpdatedListener();
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnSpatializerOutputChangedListener();
+    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<android.media.AudioDeviceAttributes> getCompatibleAudioDevices();
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getDesiredHeadTrackingMode();
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void getEffectParameter(int, @NonNull byte[]);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getHeadTrackingMode();
+    method @IntRange(from=0) @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getOutput();
+    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<java.lang.Integer> getSupportedHeadTrackingModes();
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void recenterHeadTracker();
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeOnHeadTrackingModeChangedListener(@NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setDesiredHeadTrackingMode(int);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEffectParameter(int, @NonNull byte[]);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEnabled(boolean);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setGlobalTransform(@NonNull float[]);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnHeadToSoundstagePoseUpdatedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadToSoundstagePoseUpdatedListener);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnSpatializerOutputChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerOutputChangedListener);
+    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_DISABLED = -1; // 0xffffffff
+    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_OTHER = 0; // 0x0
+    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; // 0x2
+    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_WORLD = 1; // 0x1
+    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_UNSUPPORTED = -2; // 0xfffffffe
+  }
+
+  public static interface Spatializer.OnHeadToSoundstagePoseUpdatedListener {
+    method public void onHeadToSoundstagePoseUpdated(@NonNull android.media.Spatializer, @NonNull float[]);
+  }
+
+  public static interface Spatializer.OnHeadTrackingModeChangedListener {
+    method public void onDesiredHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
+    method public void onHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
+  }
+
+  public static interface Spatializer.OnSpatializerOutputChangedListener {
+    method public void onSpatializerOutputChanged(@NonNull android.media.Spatializer, @IntRange(from=0) int);
+  }
+
+}
+
+package android.media.audiofx {
+
+  public class AudioEffect {
+    ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
+  }
+
+}
+
+package android.media.audiopolicy {
+
+  public class AudioMix {
+    method public int getMixState();
+    field public static final int MIX_STATE_DISABLED = -1; // 0xffffffff
+    field public static final int MIX_STATE_IDLE = 0; // 0x0
+    field public static final int MIX_STATE_MIXING = 1; // 0x1
+    field public static final int ROUTE_FLAG_LOOP_BACK = 2; // 0x2
+    field public static final int ROUTE_FLAG_RENDER = 1; // 0x1
+  }
+
+  public static class AudioMix.Builder {
+    ctor public AudioMix.Builder(android.media.audiopolicy.AudioMixingRule) throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMix build() throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMix.Builder setDevice(@NonNull android.media.AudioDeviceInfo) throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMix.Builder setFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMix.Builder setRouteFlags(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public class AudioMixingRule {
+    field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2
+    field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1
+    field public static final int RULE_MATCH_UID = 4; // 0x4
+    field public static final int RULE_MATCH_USERID = 8; // 0x8
+  }
+
+  public static class AudioMixingRule.Builder {
+    ctor public AudioMixingRule.Builder();
+    method public android.media.audiopolicy.AudioMixingRule.Builder addMixRule(int, Object) throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMixingRule.Builder addRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder allowPrivilegedPlaybackCapture(boolean);
+    method public android.media.audiopolicy.AudioMixingRule build();
+    method public android.media.audiopolicy.AudioMixingRule.Builder excludeMixRule(int, Object) throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMixingRule.Builder excludeRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
+  }
+
+  public class AudioPolicy {
+    method public int attachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
+    method public android.media.AudioRecord createAudioRecordSink(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
+    method public android.media.AudioTrack createAudioTrackSource(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
+    method public int detachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
+    method public int getFocusDuckingBehavior();
+    method public int getStatus();
+    method public boolean removeUidDeviceAffinity(int);
+    method public boolean removeUserIdDeviceAffinity(int);
+    method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setRegistration(String);
+    method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
+    method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
+    method public String toLogFriendlyString();
+    field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0
+    field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0
+    field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1
+    field public static final int POLICY_STATUS_REGISTERED = 2; // 0x2
+    field public static final int POLICY_STATUS_UNREGISTERED = 1; // 0x1
+  }
+
+  public abstract static class AudioPolicy.AudioPolicyFocusListener {
+    ctor public AudioPolicy.AudioPolicyFocusListener();
+    method public void onAudioFocusAbandon(android.media.AudioFocusInfo);
+    method public void onAudioFocusGrant(android.media.AudioFocusInfo, int);
+    method public void onAudioFocusLoss(android.media.AudioFocusInfo, boolean);
+    method public void onAudioFocusRequest(android.media.AudioFocusInfo, int);
+  }
+
+  public abstract static class AudioPolicy.AudioPolicyStatusListener {
+    ctor public AudioPolicy.AudioPolicyStatusListener();
+    method public void onMixStateUpdate(android.media.audiopolicy.AudioMix);
+    method public void onStatusChange();
+  }
+
+  public abstract static class AudioPolicy.AudioPolicyVolumeCallback {
+    ctor public AudioPolicy.AudioPolicyVolumeCallback();
+    method public void onVolumeAdjustment(int);
+  }
+
+  public static class AudioPolicy.Builder {
+    ctor public AudioPolicy.Builder(android.content.Context);
+    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder addMix(@NonNull android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.audiopolicy.AudioPolicy build();
+    method public void setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener);
+    method public void setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener);
+    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setAudioPolicyVolumeCallback(@NonNull android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback);
+    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsAudioFocusPolicy(boolean);
+    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setLooper(@NonNull android.os.Looper) throws java.lang.IllegalArgumentException;
+  }
+
+  public final class AudioProductStrategy implements android.os.Parcelable {
+    method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int);
+    method public int describeContents();
+    method @NonNull public android.media.AudioAttributes getAudioAttributes();
+    method public int getId();
+    method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
+  }
+
+  public final class AudioVolumeGroup implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
+    method public int getId();
+    method @NonNull public int[] getLegacyStreamTypes();
+    method @NonNull public String name();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioVolumeGroup> CREATOR;
+    field public static final int DEFAULT_VOLUME_GROUP = -1; // 0xffffffff
+  }
+
+}
+
+package android.media.musicrecognition {
+
+  public class MusicRecognitionManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_MUSIC_RECOGNITION) public void beginStreamingSearch(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.musicrecognition.MusicRecognitionManager.RecognitionCallback);
+    field public static final int RECOGNITION_FAILED_AUDIO_UNAVAILABLE = 7; // 0x7
+    field public static final int RECOGNITION_FAILED_NOT_FOUND = 1; // 0x1
+    field public static final int RECOGNITION_FAILED_NO_CONNECTIVITY = 2; // 0x2
+    field public static final int RECOGNITION_FAILED_SERVICE_KILLED = 5; // 0x5
+    field public static final int RECOGNITION_FAILED_SERVICE_UNAVAILABLE = 3; // 0x3
+    field public static final int RECOGNITION_FAILED_TIMEOUT = 6; // 0x6
+    field public static final int RECOGNITION_FAILED_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public static interface MusicRecognitionManager.RecognitionCallback {
+    method public void onAudioStreamClosed();
+    method public void onRecognitionFailed(@NonNull android.media.musicrecognition.RecognitionRequest, int);
+    method public void onRecognitionSucceeded(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
+  }
+
+  public abstract class MusicRecognitionService extends android.app.Service {
+    ctor public MusicRecognitionService();
+    method public abstract void onRecognize(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @NonNull android.media.musicrecognition.MusicRecognitionService.Callback);
+  }
+
+  public static interface MusicRecognitionService.Callback {
+    method public void onRecognitionFailed(int);
+    method public void onRecognitionSucceeded(@NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
+  }
+
+  public final class RecognitionRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.media.AudioAttributes getAudioAttributes();
+    method @NonNull public android.media.AudioFormat getAudioFormat();
+    method public int getCaptureSession();
+    method public int getIgnoreBeginningFrames();
+    method public int getMaxAudioLengthSeconds();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.musicrecognition.RecognitionRequest> CREATOR;
+  }
+
+  public static final class RecognitionRequest.Builder {
+    ctor public RecognitionRequest.Builder();
+    method @NonNull public android.media.musicrecognition.RecognitionRequest build();
+    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
+    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioFormat(@NonNull android.media.AudioFormat);
+    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setCaptureSession(int);
+    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setIgnoreBeginningFrames(int);
+    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setMaxAudioLengthSeconds(int);
+  }
+
+}
+
+package android.media.session {
+
+  public final class MediaSessionManager {
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventDispatchedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventSessionChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public android.media.session.MediaSession.Token getMediaKeyEventSession();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public String getMediaKeyEventSessionPackageName();
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventDispatchedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventSessionChangedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener);
+    method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
+  }
+
+  public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
+    method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
+  }
+
+  public static interface MediaSessionManager.OnMediaKeyEventSessionChangedListener {
+    method public void onMediaKeyEventSessionChanged(@NonNull String, @Nullable android.media.session.MediaSession.Token);
+  }
+
+  public static interface MediaSessionManager.OnMediaKeyListener {
+    method public boolean onMediaKey(android.view.KeyEvent);
+  }
+
+  public static interface MediaSessionManager.OnVolumeKeyLongPressListener {
+    method public void onVolumeKeyLongPress(android.view.KeyEvent);
+  }
+
+}
+
+package android.media.soundtrigger {
+
+  public abstract class SoundTriggerDetectionService extends android.app.Service {
+    ctor public SoundTriggerDetectionService();
+    method @MainThread public void onConnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
+    method @MainThread public void onDisconnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
+    method @MainThread public void onError(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, int);
+    method @MainThread public void onGenericRecognitionEvent(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionEvent);
+    method @MainThread public abstract void onStopOperation(@NonNull java.util.UUID, @Nullable android.os.Bundle, int);
+    method public final void operationFinished(@Nullable java.util.UUID, int);
+  }
+
+  public final class SoundTriggerDetector {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean startRecognition(int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition();
+    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
+    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
+    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
+    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
+    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
+  }
+
+  public abstract static class SoundTriggerDetector.Callback {
+    ctor public SoundTriggerDetector.Callback();
+    method public abstract void onAvailabilityChanged(int);
+    method public abstract void onDetected(@NonNull android.media.soundtrigger.SoundTriggerDetector.EventPayload);
+    method public abstract void onError();
+    method public abstract void onRecognitionPaused();
+    method public abstract void onRecognitionResumed();
+  }
+
+  public static class SoundTriggerDetector.EventPayload {
+    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
+    method @Nullable public byte[] getTriggerAudio();
+  }
+
+  public final class SoundTriggerManager {
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerDetector createSoundTriggerDetector(java.util.UUID, @NonNull android.media.soundtrigger.SoundTriggerDetector.Callback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID);
+    method public int getDetectionServiceOperationsTimeout();
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model);
+  }
+
+  public static class SoundTriggerManager.Model {
+    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
+    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
+    method @Nullable public byte[] getModelData();
+    method @NonNull public java.util.UUID getModelUuid();
+    method @NonNull public java.util.UUID getVendorUuid();
+    method public int getVersion();
+  }
+
+}
+
+package android.media.tv {
+
+  public final class DvbDeviceInfo implements android.os.Parcelable {
+    ctor public DvbDeviceInfo(int, int);
+    method public int describeContents();
+    method @IntRange(from=0) public int getAdapterId();
+    method @IntRange(from=0) public int getDeviceId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.DvbDeviceInfo> CREATOR;
+  }
+
+  public final class TunedInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAppTag();
+    method public int getAppType();
+    method @Nullable public android.net.Uri getChannelUri();
+    method @NonNull public String getInputId();
+    method public boolean isMainSession();
+    method public boolean isRecordingSession();
+    method public boolean isVisible();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int APP_TAG_SELF = 0; // 0x0
+    field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3
+    field public static final int APP_TYPE_SELF = 1; // 0x1
+    field public static final int APP_TYPE_SYSTEM = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TunedInfo> CREATOR;
+  }
+
+  public final class TvContentRatingSystemInfo implements android.os.Parcelable {
+    method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo);
+    method public int describeContents();
+    method public android.net.Uri getXmlUri();
+    method public boolean isSystemDefined();
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public final class TvContract {
+    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, boolean);
+    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, @Nullable String, boolean);
+    field public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
+    field public static final String EXTRA_BLOCKED_PACKAGES = "android.media.tv.extra.BLOCKED_PACKAGES";
+    field public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
+    field public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
+    field public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
+    field public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
+    field public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
+    field public static final String EXTRA_RESULT_CODE = "android.media.tv.extra.RESULT_CODE";
+    field public static final String METHOD_ADD_COLUMN = "add_column";
+    field public static final String METHOD_BLOCK_PACKAGE = "block_package";
+    field public static final String METHOD_GET_BLOCKED_PACKAGES = "get_blocked_packages";
+    field public static final String METHOD_GET_COLUMNS = "get_columns";
+    field public static final String METHOD_UNBLOCK_PACKAGE = "unblock_package";
+    field public static final int RESULT_ERROR_INVALID_ARGUMENT = 2; // 0x2
+    field public static final int RESULT_ERROR_IO = 1; // 0x1
+    field public static final int RESULT_OK = 0; // 0x0
+  }
+
+  public static final class TvContract.WatchedPrograms implements android.media.tv.TvContract.BaseTvColumns {
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_DESCRIPTION = "description";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_INTERNAL_SESSION_TOKEN = "session_token";
+    field public static final String COLUMN_INTERNAL_TUNE_PARAMS = "tune_params";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
+    field public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watched_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watched_program";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public final class TvInputHardwareInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public String getAudioAddress();
+    method public int getAudioType();
+    method public int getCableConnectionStatus();
+    method public int getDeviceId();
+    method public int getHdmiPortId();
+    method public int getType();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
+    field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
+    field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
+    field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
+    field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
+    field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
+    field public static final int TV_INPUT_TYPE_DVI = 8; // 0x8
+    field public static final int TV_INPUT_TYPE_HDMI = 9; // 0x9
+    field public static final int TV_INPUT_TYPE_OTHER_HARDWARE = 1; // 0x1
+    field public static final int TV_INPUT_TYPE_SCART = 5; // 0x5
+    field public static final int TV_INPUT_TYPE_SVIDEO = 4; // 0x4
+    field public static final int TV_INPUT_TYPE_TUNER = 2; // 0x2
+    field public static final int TV_INPUT_TYPE_VGA = 7; // 0x7
+  }
+
+  public static final class TvInputHardwareInfo.Builder {
+    ctor public TvInputHardwareInfo.Builder();
+    method public android.media.tv.TvInputHardwareInfo.Builder audioAddress(String);
+    method public android.media.tv.TvInputHardwareInfo.Builder audioType(int);
+    method public android.media.tv.TvInputHardwareInfo build();
+    method public android.media.tv.TvInputHardwareInfo.Builder cableConnectionStatus(int);
+    method public android.media.tv.TvInputHardwareInfo.Builder deviceId(int);
+    method public android.media.tv.TvInputHardwareInfo.Builder hdmiPortId(int);
+    method public android.media.tv.TvInputHardwareInfo.Builder type(int);
+  }
+
+  public final class TvInputInfo implements android.os.Parcelable {
+    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.hardware.hdmi.HdmiDeviceInfo, String, String, android.net.Uri) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.hardware.hdmi.HdmiDeviceInfo, String, int, android.graphics.drawable.Icon) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.media.tv.TvInputHardwareInfo, String, android.net.Uri) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.media.tv.TvInputHardwareInfo, int, android.graphics.drawable.Icon) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo();
+    method public boolean isConnectedToHdmiSwitch();
+    method public boolean isHardwareInput();
+    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
+  }
+
+  public static final class TvInputInfo.Builder {
+    method public android.media.tv.TvInputInfo.Builder setHdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo);
+    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon);
+    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon, int);
+    method public android.media.tv.TvInputInfo.Builder setLabel(CharSequence);
+    method public android.media.tv.TvInputInfo.Builder setLabel(@StringRes int);
+    method public android.media.tv.TvInputInfo.Builder setParentId(String);
+    method public android.media.tv.TvInputInfo.Builder setTvInputHardwareInfo(android.media.tv.TvInputHardwareInfo);
+  }
+
+  public static final class TvInputInfo.TvInputSettings {
+    method public static java.util.Map<java.lang.String,java.lang.String> getCustomLabels(android.content.Context, int);
+    method public static java.util.Set<java.lang.String> getHiddenTvInputIds(android.content.Context, int);
+    method public static void putCustomLabels(android.content.Context, java.util.Map<java.lang.String,java.lang.String>, int);
+    method public static void putHiddenTvInputs(android.content.Context, java.util.Set<java.lang.String>, int);
+  }
+
+  public final class TvInputManager {
+    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, @NonNull android.media.tv.TvInputInfo, @NonNull android.media.tv.TvInputManager.HardwareCallback);
+    method @Nullable @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, @NonNull android.media.tv.TvInputInfo, @Nullable String, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.TvInputManager.HardwareCallback);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating);
+    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig);
+    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public java.util.List<android.media.tv.TunedInfo> getCurrentTunedInfos();
+    method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList();
+    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List<android.media.tv.TvInputHardwareInfo> getHardwareList();
+    method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List<android.media.tv.TvContentRatingSystemInfo> getTvContentRatingSystemList();
+    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean isSingleSessionActive();
+    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramAddedToWatchNext(String, long, long);
+    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramBrowsableDisabled(String, long);
+    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyWatchNextProgramBrowsableDisabled(String, long);
+    method @Nullable @RequiresPermission("android.permission.DVB_DEVICE") public android.os.ParcelFileDescriptor openDvbDevice(@NonNull android.media.tv.DvbDeviceInfo, int);
+    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public void releaseTvInputHardware(int, android.media.tv.TvInputManager.Hardware);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void removeBlockedRating(@NonNull android.media.tv.TvContentRating);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void setParentalControlsEnabled(boolean);
+  }
+
+  public static final class TvInputManager.Hardware {
+    method public void overrideAudioSink(int, String, int, int, int);
+    method public void setStreamVolume(float);
+    method public boolean setSurface(android.view.Surface, android.media.tv.TvStreamConfig);
+  }
+
+  public abstract static class TvInputManager.HardwareCallback {
+    ctor public TvInputManager.HardwareCallback();
+    method public abstract void onReleased();
+    method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]);
+  }
+
+  public abstract static class TvInputManager.TvInputCallback {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public void onCurrentTunedInfosUpdated(@NonNull java.util.List<android.media.tv.TunedInfo>);
+  }
+
+  public abstract class TvInputService extends android.app.Service {
+    method @Nullable public android.os.IBinder createExtension();
+    method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo);
+    method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);
+    method @Nullable public android.media.tv.TvInputInfo onHdmiDeviceAdded(android.hardware.hdmi.HdmiDeviceInfo);
+    method @Nullable public String onHdmiDeviceRemoved(android.hardware.hdmi.HdmiDeviceInfo);
+    method public void onHdmiDeviceUpdated(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+  }
+
+  public abstract static class TvInputService.RecordingSession {
+    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
+  }
+
+  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
+    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
+    method public void onSetMain(boolean);
+  }
+
+  public abstract static class TvRecordingClient.RecordingCallback {
+    method public void onEvent(String, String, android.os.Bundle);
+  }
+
+  public class TvStreamConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getGeneration();
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getStreamId();
+    method public int getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
+    field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
+    field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
+  }
+
+  public static final class TvStreamConfig.Builder {
+    ctor public TvStreamConfig.Builder();
+    method public android.media.tv.TvStreamConfig build();
+    method public android.media.tv.TvStreamConfig.Builder generation(int);
+    method public android.media.tv.TvStreamConfig.Builder maxHeight(int);
+    method public android.media.tv.TvStreamConfig.Builder maxWidth(int);
+    method public android.media.tv.TvStreamConfig.Builder streamId(int);
+    method public android.media.tv.TvStreamConfig.Builder type(int);
+  }
+
+  public class TvView extends android.view.ViewGroup {
+    method @RequiresPermission("android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE") public void setMain();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void unblockContent(android.media.tv.TvContentRating);
+  }
+
+  public abstract static class TvView.TvInputCallback {
+    method public void onEvent(String, String, android.os.Bundle);
+  }
+
+}
+
+package android.media.tv.tuner {
+
+  public class DemuxCapabilities {
+    method public int getAudioFilterCount();
+    method public int getDemuxCount();
+    method public int getFilterCapabilities();
+    method @NonNull @Size(5) public int[] getLinkCapabilities();
+    method public int getPcrFilterCount();
+    method public int getPesFilterCount();
+    method public int getPlaybackCount();
+    method public int getRecordCount();
+    method public int getSectionFilterCount();
+    method public long getSectionFilterLength();
+    method public int getTsFilterCount();
+    method public int getVideoFilterCount();
+    method public boolean isTimeFilterSupported();
+  }
+
+  public class Descrambler implements java.lang.AutoCloseable {
+    method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
+    method public void close();
+    method public static boolean isValidKeyToken(@NonNull byte[]);
+    method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
+    method public int setKeyToken(@NonNull byte[]);
+    field public static final int PID_TYPE_MMTP = 2; // 0x2
+    field public static final int PID_TYPE_T = 1; // 0x1
+  }
+
+  public class Lnb implements java.lang.AutoCloseable {
+    method public void close();
+    method public int sendDiseqcMessage(@NonNull byte[]);
+    method public int setSatellitePosition(int);
+    method public int setTone(int);
+    method public int setVoltage(int);
+    field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0
+    field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2
+    field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1
+    field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3
+    field public static final int POSITION_A = 1; // 0x1
+    field public static final int POSITION_B = 2; // 0x2
+    field public static final int POSITION_UNDEFINED = 0; // 0x0
+    field public static final int TONE_CONTINUOUS = 1; // 0x1
+    field public static final int TONE_NONE = 0; // 0x0
+    field public static final int VOLTAGE_11V = 2; // 0x2
+    field public static final int VOLTAGE_12V = 3; // 0x3
+    field public static final int VOLTAGE_13V = 4; // 0x4
+    field public static final int VOLTAGE_14V = 5; // 0x5
+    field public static final int VOLTAGE_15V = 6; // 0x6
+    field public static final int VOLTAGE_18V = 7; // 0x7
+    field public static final int VOLTAGE_19V = 8; // 0x8
+    field public static final int VOLTAGE_5V = 1; // 0x1
+    field public static final int VOLTAGE_NONE = 0; // 0x0
+  }
+
+  public interface LnbCallback {
+    method public void onDiseqcMessage(@NonNull byte[]);
+    method public void onEvent(int);
+  }
+
+  public class Tuner implements java.lang.AutoCloseable {
+    ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
+    method public int cancelScanning();
+    method public int cancelTuning();
+    method public void clearOnTuneEventListener();
+    method public void clearResourceLostListener();
+    method public void close();
+    method public int connectCiCam(int);
+    method public int connectFrontendToCiCam(int);
+    method public int disconnectCiCam();
+    method public int disconnectFrontendToCiCam(int);
+    method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter);
+    method public long getAvSyncTime(int);
+    method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getAvailableFrontendInfos();
+    method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities();
+    method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
+    method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
+    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
+    method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
+    method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
+    method @Nullable public android.media.tv.tuner.filter.Filter openFilter(int, int, long, @Nullable java.util.concurrent.Executor, @Nullable android.media.tv.tuner.filter.FilterCallback);
+    method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
+    method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
+    method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
+    method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
+    method public int setLnaEnabled(boolean);
+    method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
+    method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
+    method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
+    method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
+    method public void updateResourcePriority(int, int);
+    field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff
+    field public static final int INVALID_FILTER_ID = -1; // 0xffffffff
+    field public static final long INVALID_FILTER_ID_LONG = -1L; // 0xffffffffffffffffL
+    field public static final int INVALID_FIRST_MACROBLOCK_IN_SLICE = -1; // 0xffffffff
+    field public static final int INVALID_FRONTEND_ID = -1; // 0xffffffff
+    field public static final int INVALID_FRONTEND_SETTING_FREQUENCY = -1; // 0xffffffff
+    field public static final int INVALID_LTS_ID = -1; // 0xffffffff
+    field public static final int INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM = -1; // 0xffffffff
+    field public static final int INVALID_STREAM_ID = 65535; // 0xffff
+    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
+    field public static final int INVALID_TS_PID = 65535; // 0xffff
+    field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
+    field public static final int RESULT_INVALID_STATE = 3; // 0x3
+    field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
+    field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+    field public static final int RESULT_UNAVAILABLE = 1; // 0x1
+    field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6
+    field public static final int SCAN_TYPE_AUTO = 1; // 0x1
+    field public static final int SCAN_TYPE_BLIND = 2; // 0x2
+    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
+    field @NonNull public static final byte[] VOID_KEYTOKEN;
+  }
+
+  public static interface Tuner.OnResourceLostListener {
+    method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner);
+  }
+
+  public final class TunerVersionChecker {
+    method public static int getTunerVersion();
+    field public static final int TUNER_VERSION_1_0 = 65536; // 0x10000
+    field public static final int TUNER_VERSION_1_1 = 65537; // 0x10001
+    field public static final int TUNER_VERSION_UNKNOWN = 0; // 0x0
+  }
+
+}
+
+package android.media.tv.tuner.dvr {
+
+  public class DvrPlayback implements java.lang.AutoCloseable {
+    method @Deprecated public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
+    method public void close();
+    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
+    method @Deprecated public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
+    method public int flush();
+    method public long read(long);
+    method public long read(@NonNull byte[], long, long);
+    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
+    method public int start();
+    method public int stop();
+    field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2
+    field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4
+    field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1
+    field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8
+  }
+
+  public class DvrRecorder implements java.lang.AutoCloseable {
+    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
+    method public void close();
+    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
+    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
+    method public int flush();
+    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
+    method public int start();
+    method public int stop();
+    method public long write(long);
+    method public long write(@NonNull byte[], long, long);
+  }
+
+  public class DvrSettings {
+    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
+    method public int getDataFormat();
+    method public long getHighThreshold();
+    method public long getLowThreshold();
+    method public long getPacketSize();
+    method public int getStatusMask();
+    field public static final int DATA_FORMAT_ES = 2; // 0x2
+    field public static final int DATA_FORMAT_PES = 1; // 0x1
+    field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3
+    field public static final int DATA_FORMAT_TS = 0; // 0x0
+  }
+
+  public static final class DvrSettings.Builder {
+    ctor public DvrSettings.Builder();
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings build();
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int);
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long);
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long);
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long);
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int);
+  }
+
+  public interface OnPlaybackStatusChangedListener {
+    method public void onPlaybackStatusChanged(int);
+  }
+
+  public interface OnRecordStatusChangedListener {
+    method public void onRecordStatusChanged(int);
+  }
+
+}
+
+package android.media.tv.tuner.filter {
+
+  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
+    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
+    method public int getLengthType();
+    method public int getPacketType();
+    method public int getType();
+    field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1
+    field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2
+    field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2
+    field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6
+    field public static final int PACKET_TYPE_IPV4 = 0; // 0x0
+    field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7
+    field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4
+  }
+
+  public static final class AlpFilterConfiguration.Builder {
+    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build();
+    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int);
+    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int);
+    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
+  }
+
+  public class AudioDescriptor {
+    method public byte getAdFade();
+    method public byte getAdGainCenter();
+    method public byte getAdGainFront();
+    method public byte getAdGainSurround();
+    method public byte getAdPan();
+    method public char getAdVersionTextTag();
+  }
+
+  public class AvSettings extends android.media.tv.tuner.filter.Settings {
+    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
+    method public int getAudioStreamType();
+    method public int getVideoStreamType();
+    method public boolean isPassthrough();
+    field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
+    field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
+    field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
+    field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
+    field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
+    field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
+    field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
+    field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
+    field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
+    field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
+    field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
+    field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
+    field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
+    field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
+    field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
+    field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
+    field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
+    field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
+    field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
+    field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
+    field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
+    field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
+    field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
+    field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
+    field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
+    field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
+    field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
+  }
+
+  public static class AvSettings.Builder {
+    method @NonNull public android.media.tv.tuner.filter.AvSettings build();
+    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
+    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
+    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
+  }
+
+  public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getDataLength();
+    method public int getItemFragmentIndex();
+    method public int getItemId();
+    method public int getLastItemFragmentIndex();
+    method @IntRange(from=0) public int getMpuSequenceNumber();
+  }
+
+  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
+    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
+    method public int getDownloadId();
+  }
+
+  public static class DownloadSettings.Builder {
+    method @NonNull public android.media.tv.tuner.filter.DownloadSettings build();
+    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int);
+  }
+
+  public class Filter implements java.lang.AutoCloseable {
+    method public void close();
+    method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
+    method public int flush();
+    method public int getId();
+    method public long getIdLong();
+    method public int read(@NonNull byte[], long, long);
+    method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
+    method public int setMonitorEventMask(int);
+    method public int start();
+    method public int stop();
+    field public static final int MONITOR_EVENT_IP_CID_CHANGE = 2; // 0x2
+    field public static final int MONITOR_EVENT_SCRAMBLING_STATUS = 1; // 0x1
+    field public static final int SCRAMBLING_STATUS_NOT_SCRAMBLED = 2; // 0x2
+    field public static final int SCRAMBLING_STATUS_SCRAMBLED = 4; // 0x4
+    field public static final int SCRAMBLING_STATUS_UNKNOWN = 1; // 0x1
+    field public static final int STATUS_DATA_READY = 1; // 0x1
+    field public static final int STATUS_HIGH_WATER = 4; // 0x4
+    field public static final int STATUS_LOW_WATER = 2; // 0x2
+    field public static final int STATUS_OVERFLOW = 8; // 0x8
+    field public static final int SUBTYPE_AUDIO = 3; // 0x3
+    field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
+    field public static final int SUBTYPE_IP = 13; // 0xd
+    field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
+    field public static final int SUBTYPE_MMTP = 10; // 0xa
+    field public static final int SUBTYPE_NTP = 11; // 0xb
+    field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
+    field public static final int SUBTYPE_PCR = 8; // 0x8
+    field public static final int SUBTYPE_PES = 2; // 0x2
+    field public static final int SUBTYPE_PTP = 16; // 0x10
+    field public static final int SUBTYPE_RECORD = 6; // 0x6
+    field public static final int SUBTYPE_SECTION = 1; // 0x1
+    field public static final int SUBTYPE_TEMI = 9; // 0x9
+    field public static final int SUBTYPE_TLV = 15; // 0xf
+    field public static final int SUBTYPE_TS = 7; // 0x7
+    field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
+    field public static final int SUBTYPE_VIDEO = 4; // 0x4
+    field public static final int TYPE_ALP = 16; // 0x10
+    field public static final int TYPE_IP = 4; // 0x4
+    field public static final int TYPE_MMTP = 2; // 0x2
+    field public static final int TYPE_TLV = 8; // 0x8
+    field public static final int TYPE_TS = 1; // 0x1
+    field public static final int TYPE_UNDEFINED = 0; // 0x0
+  }
+
+  public interface FilterCallback {
+    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
+    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
+  }
+
+  public abstract class FilterConfiguration {
+    method @Nullable public android.media.tv.tuner.filter.Settings getSettings();
+    method public abstract int getType();
+  }
+
+  public abstract class FilterEvent {
+    ctor public FilterEvent();
+  }
+
+  public final class IpCidChangeEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getIpCid();
+  }
+
+  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
+    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
+    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
+    method public int getDstPort();
+    method @IntRange(from=0, to=61439) public int getIpFilterContextId();
+    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
+    method public int getSrcPort();
+    method public int getType();
+    method public boolean isPassthrough();
+    field public static final int INVALID_IP_FILTER_CONTEXT_ID = -1; // 0xffffffff
+  }
+
+  public static final class IpFilterConfiguration.Builder {
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build();
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setIpFilterContextId(int);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int);
+  }
+
+  public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getDataLength();
+  }
+
+  public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public long getAudioHandle();
+    method public long getAvDataId();
+    method public long getDataLength();
+    method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData();
+    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
+    method @IntRange(from=0) public int getMpuSequenceNumber();
+    method public long getOffset();
+    method public long getPts();
+    method public int getStreamId();
+    method public boolean isPrivateData();
+    method public boolean isPtsPresent();
+    method public boolean isSecureMemory();
+    method public void release();
+  }
+
+  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
+    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
+    method public int getMmtpPacketId();
+    method public int getType();
+  }
+
+  public static final class MmtpFilterConfiguration.Builder {
+    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build();
+    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int);
+    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
+  }
+
+  public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public long getDataLength();
+    method public int getFirstMacroblockInSlice();
+    method @IntRange(from=0) public int getMpuSequenceNumber();
+    method public long getPts();
+    method public int getScHevcIndexMask();
+    method public int getTsIndexMask();
+  }
+
+  public class PesEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getDataLength();
+    method @IntRange(from=0) public int getMpuSequenceNumber();
+    method public int getStreamId();
+  }
+
+  public class PesSettings extends android.media.tv.tuner.filter.Settings {
+    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
+    method public int getStreamId();
+    method public boolean isRaw();
+  }
+
+  public static class PesSettings.Builder {
+    method @NonNull public android.media.tv.tuner.filter.PesSettings build();
+    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean);
+    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int);
+  }
+
+  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
+    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
+    method public int getScIndexMask();
+    method public int getScIndexType();
+    method public int getTsIndexMask();
+    field public static final int INDEX_TYPE_NONE = 0; // 0x0
+    field public static final int INDEX_TYPE_SC = 1; // 0x1
+    field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2
+    field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000
+    field public static final int MPT_INDEX_MPT = 65536; // 0x10000
+    field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000
+    field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000
+    field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000
+    field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2
+    field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10
+    field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8
+    field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4
+    field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40
+    field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20
+    field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80
+    field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1
+    field public static final int SC_INDEX_B_FRAME = 4; // 0x4
+    field public static final int SC_INDEX_B_SLICE = 64; // 0x40
+    field public static final int SC_INDEX_I_FRAME = 1; // 0x1
+    field public static final int SC_INDEX_I_SLICE = 16; // 0x10
+    field public static final int SC_INDEX_P_FRAME = 2; // 0x2
+    field public static final int SC_INDEX_P_SLICE = 32; // 0x20
+    field public static final int SC_INDEX_SEQUENCE = 8; // 0x8
+    field public static final int SC_INDEX_SI_SLICE = 128; // 0x80
+    field public static final int SC_INDEX_SP_SLICE = 256; // 0x100
+    field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000
+    field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8
+    field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4
+    field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10
+    field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20
+    field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1
+    field public static final int TS_INDEX_INVALID = 0; // 0x0
+    field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200
+    field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2
+    field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100
+    field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80
+    field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800
+    field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40
+    field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400
+  }
+
+  public static class RecordSettings.Builder {
+    method @NonNull public android.media.tv.tuner.filter.RecordSettings build();
+    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int);
+    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int);
+    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int);
+  }
+
+  public final class RestartEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getStartId();
+    field public static final int NEW_FILTER_FIRST_START_ID = 0; // 0x0
+  }
+
+  public final class ScramblingStatusEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getScramblingStatus();
+  }
+
+  public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getDataLength();
+    method public int getSectionNumber();
+    method public int getTableId();
+    method public int getVersion();
+  }
+
+  public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings {
+    method public boolean isCrcEnabled();
+    method public boolean isRaw();
+    method public boolean isRepeat();
+  }
+
+  public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> {
+    method @NonNull public T setCrcEnabled(boolean);
+    method @NonNull public T setRaw(boolean);
+    method @NonNull public T setRepeat(boolean);
+  }
+
+  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
+    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
+    method @NonNull public byte[] getFilterBytes();
+    method @NonNull public byte[] getMask();
+    method @NonNull public byte[] getMode();
+  }
+
+  public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> {
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build();
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]);
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]);
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]);
+  }
+
+  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
+    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
+    method public int getTableId();
+    method public int getVersion();
+  }
+
+  public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> {
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build();
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int);
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int);
+  }
+
+  public abstract class Settings {
+    method public int getType();
+  }
+
+  public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method @NonNull public byte[] getDescriptorData();
+    method public byte getDescriptorTag();
+    method public long getPts();
+  }
+
+  public class TimeFilter implements java.lang.AutoCloseable {
+    method public int clearTimestamp();
+    method public void close();
+    method public long getSourceTime();
+    method public long getTimeStamp();
+    method public int setCurrentTimestamp(long);
+  }
+
+  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
+    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
+    method public int getPacketType();
+    method public int getType();
+    method public boolean isCompressedIpPacket();
+    method public boolean isPassthrough();
+    field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3
+    field public static final int PACKET_TYPE_IPV4 = 1; // 0x1
+    field public static final int PACKET_TYPE_IPV6 = 2; // 0x2
+    field public static final int PACKET_TYPE_NULL = 255; // 0xff
+    field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe
+  }
+
+  public static final class TlvFilterConfiguration.Builder {
+    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build();
+    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean);
+    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int);
+    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean);
+    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
+  }
+
+  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
+    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
+    method public int getTpid();
+    method public int getType();
+  }
+
+  public static final class TsFilterConfiguration.Builder {
+    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build();
+    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
+    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int);
+  }
+
+  public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public long getDataLength();
+    method public int getFirstMacroblockInSlice();
+    method public int getPacketId();
+    method public long getPts();
+    method public int getScIndexMask();
+    method public int getTsIndexMask();
+  }
+
+}
+
+package android.media.tv.tuner.frontend {
+
+  public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getSifStandardCapability();
+    method public int getSignalTypeCapability();
+  }
+
+  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
+    method public int getAftFlag();
+    method public int getSifStandard();
+    method public int getSignalType();
+    method public int getType();
+    field public static final int AFT_FLAG_FALSE = 2; // 0x2
+    field public static final int AFT_FLAG_TRUE = 1; // 0x1
+    field public static final int AFT_FLAG_UNDEFINED = 0; // 0x0
+    field public static final int SIF_AUTO = 1; // 0x1
+    field public static final int SIF_BG = 2; // 0x2
+    field public static final int SIF_BG_A2 = 4; // 0x4
+    field public static final int SIF_BG_NICAM = 8; // 0x8
+    field public static final int SIF_DK = 32; // 0x20
+    field public static final int SIF_DK1_A2 = 64; // 0x40
+    field public static final int SIF_DK2_A2 = 128; // 0x80
+    field public static final int SIF_DK3_A2 = 256; // 0x100
+    field public static final int SIF_DK_NICAM = 512; // 0x200
+    field public static final int SIF_I = 16; // 0x10
+    field public static final int SIF_I_NICAM = 32768; // 0x8000
+    field public static final int SIF_L = 1024; // 0x400
+    field public static final int SIF_L_NICAM = 65536; // 0x10000
+    field public static final int SIF_L_PRIME = 131072; // 0x20000
+    field public static final int SIF_M = 2048; // 0x800
+    field public static final int SIF_M_A2 = 8192; // 0x2000
+    field public static final int SIF_M_BTSC = 4096; // 0x1000
+    field public static final int SIF_M_EIAJ = 16384; // 0x4000
+    field public static final int SIF_UNDEFINED = 0; // 0x0
+    field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1
+    field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20
+    field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40
+    field public static final int SIGNAL_TYPE_PAL = 2; // 0x2
+    field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10
+    field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4
+    field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8
+    field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80
+    field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0
+  }
+
+  public static class AnalogFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setAftFlag(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
+    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
+  }
+
+  public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getBandwidthCapability();
+    method public int getDemodOutputFormatCapability();
+    method public int getFecCapability();
+    method public int getModulationCapability();
+    method public int getPlpCodeRateCapability();
+    method public int getTimeInterleaveModeCapability();
+  }
+
+  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
+    method public int getBandwidth();
+    method public int getDemodOutputFormat();
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
+    method public int getType();
+    field public static final int BANDWIDTH_AUTO = 1; // 0x1
+    field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2
+    field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4
+    field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8
+    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
+    field public static final int CODERATE_10_15 = 512; // 0x200
+    field public static final int CODERATE_11_15 = 1024; // 0x400
+    field public static final int CODERATE_12_15 = 2048; // 0x800
+    field public static final int CODERATE_13_15 = 4096; // 0x1000
+    field public static final int CODERATE_2_15 = 2; // 0x2
+    field public static final int CODERATE_3_15 = 4; // 0x4
+    field public static final int CODERATE_4_15 = 8; // 0x8
+    field public static final int CODERATE_5_15 = 16; // 0x10
+    field public static final int CODERATE_6_15 = 32; // 0x20
+    field public static final int CODERATE_7_15 = 64; // 0x40
+    field public static final int CODERATE_8_15 = 128; // 0x80
+    field public static final int CODERATE_9_15 = 256; // 0x100
+    field public static final int CODERATE_AUTO = 1; // 0x1
+    field public static final int CODERATE_UNDEFINED = 0; // 0x0
+    field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1
+    field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2
+    field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0
+    field public static final int FEC_AUTO = 1; // 0x1
+    field public static final int FEC_BCH_LDPC_16K = 2; // 0x2
+    field public static final int FEC_BCH_LDPC_64K = 4; // 0x4
+    field public static final int FEC_CRC_LDPC_16K = 8; // 0x8
+    field public static final int FEC_CRC_LDPC_64K = 16; // 0x10
+    field public static final int FEC_LDPC_16K = 32; // 0x20
+    field public static final int FEC_LDPC_64K = 64; // 0x40
+    field public static final int FEC_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_1024QAM = 32; // 0x20
+    field public static final int MODULATION_MOD_16QAM = 4; // 0x4
+    field public static final int MODULATION_MOD_256QAM = 16; // 0x10
+    field public static final int MODULATION_MOD_4096QAM = 64; // 0x40
+    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
+    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
+    field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2
+    field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4
+    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
+  }
+
+  public static class Atsc3FrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
+  }
+
+  public class Atsc3PlpInfo {
+    method public boolean getLlsFlag();
+    method public int getPlpId();
+  }
+
+  public class Atsc3PlpSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
+    method public int getCodeRate();
+    method public int getFec();
+    method public int getInterleaveMode();
+    method public int getModulation();
+    method public int getPlpId();
+  }
+
+  public static class Atsc3PlpSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int);
+  }
+
+  public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getModulationCapability();
+  }
+
+  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
+    method public int getModulation();
+    method public int getType();
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_16VSB = 8; // 0x8
+    field public static final int MODULATION_MOD_8VSB = 4; // 0x4
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+  }
+
+  public static class AtscFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
+  }
+
+  public final class DtmbFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getBandwidthCapability();
+    method public int getCodeRateCapability();
+    method public int getGuardIntervalCapability();
+    method public int getModulationCapability();
+    method public int getTimeInterleaveModeCapability();
+    method public int getTransmissionModeCapability();
+  }
+
+  public final class DtmbFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder builder();
+    method public int getBandwidth();
+    method public int getCodeRate();
+    method public int getGuardInterval();
+    method public int getModulation();
+    method public int getTimeInterleaveMode();
+    method public int getTransmissionMode();
+    method public int getType();
+    field public static final int BANDWIDTH_6MHZ = 4; // 0x4
+    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
+    field public static final int BANDWIDTH_AUTO = 1; // 0x1
+    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
+    field public static final int CODERATE_2_5 = 2; // 0x2
+    field public static final int CODERATE_3_5 = 4; // 0x4
+    field public static final int CODERATE_4_5 = 8; // 0x8
+    field public static final int CODERATE_AUTO = 1; // 0x1
+    field public static final int CODERATE_UNDEFINED = 0; // 0x0
+    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
+    field public static final int GUARD_INTERVAL_PN_420_CONST = 16; // 0x10
+    field public static final int GUARD_INTERVAL_PN_420_VARIOUS = 2; // 0x2
+    field public static final int GUARD_INTERVAL_PN_595_CONST = 4; // 0x4
+    field public static final int GUARD_INTERVAL_PN_945_CONST = 32; // 0x20
+    field public static final int GUARD_INTERVAL_PN_945_VARIOUS = 8; // 0x8
+    field public static final int GUARD_INTERVAL_PN_RESERVED = 64; // 0x40
+    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_CONSTELLATION_16QAM = 8; // 0x8
+    field public static final int MODULATION_CONSTELLATION_32QAM = 16; // 0x10
+    field public static final int MODULATION_CONSTELLATION_4QAM = 2; // 0x2
+    field public static final int MODULATION_CONSTELLATION_4QAM_NR = 4; // 0x4
+    field public static final int MODULATION_CONSTELLATION_64QAM = 32; // 0x20
+    field public static final int MODULATION_CONSTELLATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_CONSTELLATION_UNDEFINED = 0; // 0x0
+    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
+    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_240 = 2; // 0x2
+    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_720 = 4; // 0x4
+    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
+    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
+    field public static final int TRANSMISSION_MODE_C1 = 2; // 0x2
+    field public static final int TRANSMISSION_MODE_C3780 = 4; // 0x4
+    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
+  }
+
+  public static final class DtmbFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setBandwidth(int);
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setCodeRate(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setGuardInterval(int);
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTimeInterleaveMode(int);
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTransmissionMode(int);
+  }
+
+  public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getAnnexCapability();
+    method public long getCodeRateCapability();
+    method @Deprecated public int getFecCapability();
+    method public int getModulationCapability();
+  }
+
+  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
+    method public int getAnnex();
+    method public int getBandwidth();
+    method public long getInnerFec();
+    method public int getModulation();
+    method public int getOuterFec();
+    method public int getSpectralInversion();
+    method public int getSymbolRate();
+    method public int getTimeInterleaveMode();
+    method public int getType();
+    field public static final int ANNEX_A = 1; // 0x1
+    field public static final int ANNEX_B = 2; // 0x2
+    field public static final int ANNEX_C = 4; // 0x4
+    field public static final int ANNEX_UNDEFINED = 0; // 0x0
+    field public static final int BANDWIDTH_5MHZ = 1; // 0x1
+    field public static final int BANDWIDTH_6MHZ = 2; // 0x2
+    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
+    field public static final int BANDWIDTH_8MHZ = 8; // 0x8
+    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_128QAM = 16; // 0x10
+    field public static final int MODULATION_MOD_16QAM = 2; // 0x2
+    field public static final int MODULATION_MOD_256QAM = 32; // 0x20
+    field public static final int MODULATION_MOD_32QAM = 4; // 0x4
+    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+    field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1
+    field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2
+    field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0
+    field @Deprecated public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2
+    field @Deprecated public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1
+    field @Deprecated public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
+    field public static final int TIME_INTERLEAVE_MODE_128_1_0 = 2; // 0x2
+    field public static final int TIME_INTERLEAVE_MODE_128_1_1 = 4; // 0x4
+    field public static final int TIME_INTERLEAVE_MODE_128_2 = 128; // 0x80
+    field public static final int TIME_INTERLEAVE_MODE_128_3 = 256; // 0x100
+    field public static final int TIME_INTERLEAVE_MODE_128_4 = 512; // 0x200
+    field public static final int TIME_INTERLEAVE_MODE_16_8 = 32; // 0x20
+    field public static final int TIME_INTERLEAVE_MODE_32_4 = 16; // 0x10
+    field public static final int TIME_INTERLEAVE_MODE_64_2 = 8; // 0x8
+    field public static final int TIME_INTERLEAVE_MODE_8_16 = 64; // 0x40
+    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
+    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
+  }
+
+  public static class DvbcFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setBandwidth(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setTimeInterleaveMode(int);
+  }
+
+  public class DvbsCodeRate {
+    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
+    method public int getBitsPer1000Symbol();
+    method public long getInnerFec();
+    method public boolean isLinear();
+    method public boolean isShortFrameEnabled();
+  }
+
+  public static class DvbsCodeRate.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build();
+    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean);
+  }
+
+  public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public long getInnerFecCapability();
+    method public int getModulationCapability();
+    method public int getStandardCapability();
+  }
+
+  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
+    method public boolean canHandleDiseqcRxMessage();
+    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
+    method public int getInputStreamId();
+    method public int getModulation();
+    method public int getPilot();
+    method public int getRolloff();
+    method public int getScanType();
+    method public int getStandard();
+    method public int getSymbolRate();
+    method public int getType();
+    method public int getVcmMode();
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_128APSK = 2048; // 0x800
+    field public static final int MODULATION_MOD_16APSK = 256; // 0x100
+    field public static final int MODULATION_MOD_16PSK = 16; // 0x10
+    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
+    field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000
+    field public static final int MODULATION_MOD_32APSK = 512; // 0x200
+    field public static final int MODULATION_MOD_32PSK = 32; // 0x20
+    field public static final int MODULATION_MOD_64APSK = 1024; // 0x400
+    field public static final int MODULATION_MOD_8APSK = 128; // 0x80
+    field public static final int MODULATION_MOD_8PSK = 4; // 0x4
+    field public static final int MODULATION_MOD_ACM = 64; // 0x40
+    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
+    field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+    field public static final int PILOT_AUTO = 3; // 0x3
+    field public static final int PILOT_OFF = 2; // 0x2
+    field public static final int PILOT_ON = 1; // 0x1
+    field public static final int PILOT_UNDEFINED = 0; // 0x0
+    field public static final int ROLLOFF_0_10 = 5; // 0x5
+    field public static final int ROLLOFF_0_15 = 4; // 0x4
+    field public static final int ROLLOFF_0_20 = 3; // 0x3
+    field public static final int ROLLOFF_0_25 = 2; // 0x2
+    field public static final int ROLLOFF_0_35 = 1; // 0x1
+    field public static final int ROLLOFF_0_5 = 6; // 0x6
+    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
+    field public static final int SCAN_TYPE_DIRECT = 1; // 0x1
+    field public static final int SCAN_TYPE_DISEQC = 2; // 0x2
+    field public static final int SCAN_TYPE_JESS = 4; // 0x4
+    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int SCAN_TYPE_UNICABLE = 3; // 0x3
+    field public static final int STANDARD_AUTO = 1; // 0x1
+    field public static final int STANDARD_S = 2; // 0x2
+    field public static final int STANDARD_S2 = 4; // 0x4
+    field public static final int STANDARD_S2X = 8; // 0x8
+    field public static final int VCM_MODE_AUTO = 1; // 0x1
+    field public static final int VCM_MODE_MANUAL = 2; // 0x2
+    field public static final int VCM_MODE_UNDEFINED = 0; // 0x0
+  }
+
+  public static class DvbsFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCanHandleDiseqcRxMessage(boolean);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setScanType(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int);
+  }
+
+  public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getBandwidthCapability();
+    method public int getCodeRateCapability();
+    method public int getConstellationCapability();
+    method public int getGuardIntervalCapability();
+    method public int getHierarchyCapability();
+    method public int getTransmissionModeCapability();
+    method public boolean isMisoSupported();
+    method public boolean isT2Supported();
+  }
+
+  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
+    method public int getBandwidth();
+    method public int getConstellation();
+    method public int getGuardInterval();
+    method public int getHierarchy();
+    method public int getHighPriorityCodeRate();
+    method public int getLowPriorityCodeRate();
+    method public int getPlpGroupId();
+    method public int getPlpId();
+    method public int getPlpMode();
+    method public int getStandard();
+    method public int getTransmissionMode();
+    method public int getType();
+    method public boolean isHighPriority();
+    method public boolean isMiso();
+    field public static final int BANDWIDTH_10MHZ = 64; // 0x40
+    field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20
+    field public static final int BANDWIDTH_5MHZ = 16; // 0x10
+    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
+    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
+    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
+    field public static final int BANDWIDTH_AUTO = 1; // 0x1
+    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
+    field public static final int CODERATE_1_2 = 2; // 0x2
+    field public static final int CODERATE_2_3 = 4; // 0x4
+    field public static final int CODERATE_3_4 = 8; // 0x8
+    field public static final int CODERATE_3_5 = 64; // 0x40
+    field public static final int CODERATE_4_5 = 128; // 0x80
+    field public static final int CODERATE_5_6 = 16; // 0x10
+    field public static final int CODERATE_6_7 = 256; // 0x100
+    field public static final int CODERATE_7_8 = 32; // 0x20
+    field public static final int CODERATE_8_9 = 512; // 0x200
+    field public static final int CODERATE_AUTO = 1; // 0x1
+    field public static final int CODERATE_UNDEFINED = 0; // 0x0
+    field public static final int CONSTELLATION_16QAM = 4; // 0x4
+    field public static final int CONSTELLATION_16QAM_R = 64; // 0x40
+    field public static final int CONSTELLATION_256QAM = 16; // 0x10
+    field public static final int CONSTELLATION_256QAM_R = 256; // 0x100
+    field public static final int CONSTELLATION_64QAM = 8; // 0x8
+    field public static final int CONSTELLATION_64QAM_R = 128; // 0x80
+    field public static final int CONSTELLATION_AUTO = 1; // 0x1
+    field public static final int CONSTELLATION_QPSK = 2; // 0x2
+    field public static final int CONSTELLATION_QPSK_R = 32; // 0x20
+    field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0
+    field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40
+    field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80
+    field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20
+    field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4
+    field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2
+    field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10
+    field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8
+    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
+    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
+    field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40
+    field public static final int HIERARCHY_1_NATIVE = 4; // 0x4
+    field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80
+    field public static final int HIERARCHY_2_NATIVE = 8; // 0x8
+    field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100
+    field public static final int HIERARCHY_4_NATIVE = 16; // 0x10
+    field public static final int HIERARCHY_AUTO = 1; // 0x1
+    field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20
+    field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2
+    field public static final int HIERARCHY_UNDEFINED = 0; // 0x0
+    field public static final int PLP_MODE_AUTO = 1; // 0x1
+    field public static final int PLP_MODE_MANUAL = 2; // 0x2
+    field public static final int PLP_MODE_UNDEFINED = 0; // 0x0
+    field public static final int STANDARD_AUTO = 1; // 0x1
+    field public static final int STANDARD_T = 2; // 0x2
+    field public static final int STANDARD_T2 = 4; // 0x4
+    field public static final int TRANSMISSION_MODE_16K = 32; // 0x20
+    field public static final int TRANSMISSION_MODE_1K = 16; // 0x10
+    field public static final int TRANSMISSION_MODE_2K = 2; // 0x2
+    field public static final int TRANSMISSION_MODE_32K = 64; // 0x40
+    field public static final int TRANSMISSION_MODE_4K = 8; // 0x8
+    field public static final int TRANSMISSION_MODE_8K = 4; // 0x4
+    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
+    field public static final int TRANSMISSION_MODE_EXTENDED_16K = 256; // 0x100
+    field public static final int TRANSMISSION_MODE_EXTENDED_32K = 512; // 0x200
+    field public static final int TRANSMISSION_MODE_EXTENDED_8K = 128; // 0x80
+    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
+  }
+
+  public static class DvbtFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int);
+  }
+
+  public abstract class FrontendCapabilities {
+    ctor public FrontendCapabilities();
+  }
+
+  public class FrontendInfo {
+    method public int getAcquireRange();
+    method public int getExclusiveGroupId();
+    method @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
+    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
+    method public int getId();
+    method @NonNull public int[] getStatusCapabilities();
+    method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange();
+    method public int getType();
+  }
+
+  public abstract class FrontendSettings {
+    method @IntRange(from=1) public int getEndFrequency();
+    method public int getFrequency();
+    method public int getFrontendSpectralInversion();
+    method public abstract int getType();
+    method @IntRange(from=1) public void setEndFrequency(int);
+    method public void setSpectralInversion(int);
+    field public static final long FEC_11_15 = 4194304L; // 0x400000L
+    field public static final long FEC_11_20 = 8388608L; // 0x800000L
+    field public static final long FEC_11_45 = 16777216L; // 0x1000000L
+    field public static final long FEC_13_18 = 33554432L; // 0x2000000L
+    field public static final long FEC_13_45 = 67108864L; // 0x4000000L
+    field public static final long FEC_14_45 = 134217728L; // 0x8000000L
+    field public static final long FEC_1_2 = 2L; // 0x2L
+    field public static final long FEC_1_3 = 4L; // 0x4L
+    field public static final long FEC_1_4 = 8L; // 0x8L
+    field public static final long FEC_1_5 = 16L; // 0x10L
+    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
+    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
+    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
+    field public static final long FEC_28_45 = -2147483648L; // 0xffffffff80000000L
+    field public static final long FEC_29_45 = 1L; // 0x1L
+    field public static final long FEC_2_3 = 32L; // 0x20L
+    field public static final long FEC_2_5 = 64L; // 0x40L
+    field public static final long FEC_2_9 = 128L; // 0x80L
+    field public static final long FEC_31_45 = 2L; // 0x2L
+    field public static final long FEC_32_45 = 4L; // 0x4L
+    field public static final long FEC_3_4 = 256L; // 0x100L
+    field public static final long FEC_3_5 = 512L; // 0x200L
+    field public static final long FEC_4_15 = 2048L; // 0x800L
+    field public static final long FEC_4_5 = 1024L; // 0x400L
+    field public static final long FEC_5_6 = 4096L; // 0x1000L
+    field public static final long FEC_5_9 = 8192L; // 0x2000L
+    field public static final long FEC_6_7 = 16384L; // 0x4000L
+    field public static final long FEC_77_90 = 8L; // 0x8L
+    field public static final long FEC_7_15 = 131072L; // 0x20000L
+    field public static final long FEC_7_8 = 32768L; // 0x8000L
+    field public static final long FEC_7_9 = 65536L; // 0x10000L
+    field public static final long FEC_8_15 = 524288L; // 0x80000L
+    field public static final long FEC_8_9 = 262144L; // 0x40000L
+    field public static final long FEC_9_10 = 1048576L; // 0x100000L
+    field public static final long FEC_9_20 = 2097152L; // 0x200000L
+    field public static final long FEC_AUTO = 1L; // 0x1L
+    field public static final long FEC_UNDEFINED = 0L; // 0x0L
+    field public static final int FRONTEND_SPECTRAL_INVERSION_INVERTED = 2; // 0x2
+    field public static final int FRONTEND_SPECTRAL_INVERSION_NORMAL = 1; // 0x1
+    field public static final int FRONTEND_SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
+    field public static final int TYPE_ANALOG = 1; // 0x1
+    field public static final int TYPE_ATSC = 2; // 0x2
+    field public static final int TYPE_ATSC3 = 3; // 0x3
+    field public static final int TYPE_DTMB = 10; // 0xa
+    field public static final int TYPE_DVBC = 4; // 0x4
+    field public static final int TYPE_DVBS = 5; // 0x5
+    field public static final int TYPE_DVBT = 6; // 0x6
+    field public static final int TYPE_ISDBS = 7; // 0x7
+    field public static final int TYPE_ISDBS3 = 8; // 0x8
+    field public static final int TYPE_ISDBT = 9; // 0x9
+    field public static final int TYPE_UNDEFINED = 0; // 0x0
+  }
+
+  public class FrontendStatus {
+    method public int getAgc();
+    method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo();
+    method public int getBandwidth();
+    method public int getBer();
+    method @NonNull public int[] getBers();
+    method @NonNull public int[] getCodeRates();
+    method @NonNull public int[] getExtendedModulations();
+    method public int getFreqOffset();
+    method public int getGuardInterval();
+    method public int getHierarchy();
+    method public long getInnerFec();
+    method @NonNull public int[] getInterleaving();
+    method @IntRange(from=0, to=255) @NonNull public int[] getIsdbtSegment();
+    method @NonNull public boolean[] getLayerErrors();
+    method public int getLnbVoltage();
+    method public int getMer();
+    method public int getModulation();
+    method public int getPer();
+    method public int getPerBer();
+    method public int getPlpId();
+    method public int getRollOff();
+    method public int getSignalQuality();
+    method public int getSignalStrength();
+    method public int getSnr();
+    method public int getSpectralInversion();
+    method public int getSymbolRate();
+    method @IntRange(from=0, to=65535) public int getSystemId();
+    method public int getTransmissionMode();
+    method @NonNull public int[] getTsDataRate();
+    method public int getUec();
+    method public boolean isDemodLocked();
+    method public boolean isEwbs();
+    method public boolean isLinear();
+    method public boolean isLnaOn();
+    method public boolean isMisoEnabled();
+    method public boolean isRfLocked();
+    method public boolean isShortFramesEnabled();
+    field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe
+    field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15
+    field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19
+    field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2
+    field public static final int FRONTEND_STATUS_TYPE_BERS = 23; // 0x17
+    field public static final int FRONTEND_STATUS_TYPE_CODERATES = 24; // 0x18
+    field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0
+    field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd
+    field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8
+    field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12
+    field public static final int FRONTEND_STATUS_TYPE_GUARD_INTERVAL = 26; // 0x1a
+    field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13
+    field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e
+    field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f
+    field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23
+    field public static final int FRONTEND_STATUS_TYPE_IS_MISO_ENABLED = 34; // 0x22
+    field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES_ENABLED = 36; // 0x24
+    field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10
+    field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf
+    field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb
+    field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11
+    field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9
+    field public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = 22; // 0x16
+    field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3
+    field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc
+    field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4
+    field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14
+    field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21
+    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5
+    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6
+    field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1
+    field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa
+    field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7
+    field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d
+    field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b
+    field public static final int FRONTEND_STATUS_TYPE_TS_DATA_RATES = 32; // 0x20
+    field public static final int FRONTEND_STATUS_TYPE_UEC = 28; // 0x1c
+  }
+
+  public static class FrontendStatus.Atsc3PlpTuningInfo {
+    method public int getPlpId();
+    method public int getUec();
+    method public boolean isLocked();
+  }
+
+  public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getCodeRateCapability();
+    method public int getModulationCapability();
+  }
+
+  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
+    method public int getCodeRate();
+    method public int getModulation();
+    method public int getRolloff();
+    method public int getStreamId();
+    method public int getStreamIdType();
+    method public int getSymbolRate();
+    method public int getType();
+    field public static final int CODERATE_1_2 = 8; // 0x8
+    field public static final int CODERATE_1_3 = 2; // 0x2
+    field public static final int CODERATE_2_3 = 32; // 0x20
+    field public static final int CODERATE_2_5 = 4; // 0x4
+    field public static final int CODERATE_3_4 = 64; // 0x40
+    field public static final int CODERATE_3_5 = 16; // 0x10
+    field public static final int CODERATE_4_5 = 256; // 0x100
+    field public static final int CODERATE_5_6 = 512; // 0x200
+    field public static final int CODERATE_7_8 = 1024; // 0x400
+    field public static final int CODERATE_7_9 = 128; // 0x80
+    field public static final int CODERATE_9_10 = 2048; // 0x800
+    field public static final int CODERATE_AUTO = 1; // 0x1
+    field public static final int CODERATE_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_16APSK = 16; // 0x10
+    field public static final int MODULATION_MOD_32APSK = 32; // 0x20
+    field public static final int MODULATION_MOD_8PSK = 8; // 0x8
+    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
+    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+    field public static final int ROLLOFF_0_03 = 1; // 0x1
+    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
+  }
+
+  public static class Isdbs3FrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int);
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int);
+  }
+
+  public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getCodeRateCapability();
+    method public int getModulationCapability();
+  }
+
+  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
+    method public int getCodeRate();
+    method public int getModulation();
+    method public int getRolloff();
+    method public int getStreamId();
+    method public int getStreamIdType();
+    method public int getSymbolRate();
+    method public int getType();
+    field public static final int CODERATE_1_2 = 2; // 0x2
+    field public static final int CODERATE_2_3 = 4; // 0x4
+    field public static final int CODERATE_3_4 = 8; // 0x8
+    field public static final int CODERATE_5_6 = 16; // 0x10
+    field public static final int CODERATE_7_8 = 32; // 0x20
+    field public static final int CODERATE_AUTO = 1; // 0x1
+    field public static final int CODERATE_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
+    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
+    field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+    field public static final int ROLLOFF_0_35 = 1; // 0x1
+    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
+    field public static final int STREAM_ID_TYPE_ID = 0; // 0x0
+    field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1
+  }
+
+  public static class IsdbsFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int);
+  }
+
+  public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getBandwidthCapability();
+    method public int getCodeRateCapability();
+    method public int getGuardIntervalCapability();
+    method public int getModeCapability();
+    method public int getModulationCapability();
+  }
+
+  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
+    method public int getBandwidth();
+    method public int getCodeRate();
+    method public int getGuardInterval();
+    method public int getMode();
+    method public int getModulation();
+    method public int getServiceAreaId();
+    method public int getType();
+    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
+    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
+    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
+    field public static final int BANDWIDTH_AUTO = 1; // 0x1
+    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
+    field public static final int MODE_1 = 2; // 0x2
+    field public static final int MODE_2 = 4; // 0x4
+    field public static final int MODE_3 = 8; // 0x8
+    field public static final int MODE_AUTO = 1; // 0x1
+    field public static final int MODE_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
+    field public static final int MODULATION_MOD_64QAM = 16; // 0x10
+    field public static final int MODULATION_MOD_DQPSK = 2; // 0x2
+    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+  }
+
+  public static class IsdbtFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int);
+  }
+
+  public interface OnTuneEventListener {
+    method public void onTuneEvent(int);
+    field public static final int SIGNAL_LOCKED = 0; // 0x0
+    field public static final int SIGNAL_LOST_LOCK = 2; // 0x2
+    field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1
+  }
+
+  public interface ScanCallback {
+    method public void onAnalogSifStandardReported(int);
+    method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]);
+    method public default void onDvbcAnnexReported(int);
+    method public void onDvbsStandardReported(int);
+    method public void onDvbtStandardReported(int);
+    method public void onFrequenciesReported(@NonNull int[]);
+    method public void onGroupIdsReported(@NonNull int[]);
+    method public void onHierarchyReported(int);
+    method public void onInputStreamIdsReported(@NonNull int[]);
+    method public void onLocked();
+    method public default void onModulationReported(int);
+    method public void onPlpIdsReported(@NonNull int[]);
+    method public default void onPriorityReported(boolean);
+    method public void onProgress(@IntRange(from=0, to=100) int);
+    method public void onScanStopped();
+    method public void onSignalTypeReported(int);
+    method public void onSymbolRatesReported(@NonNull int[]);
+  }
+
+}
+
+package android.media.voice {
+
+  public final class KeyphraseModelManager {
+    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale);
+    method @Nullable @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale);
+    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel);
+  }
+
+}
+
+package android.metrics {
+
+  public class LogMaker {
+    ctor public LogMaker(int);
+    ctor public LogMaker(Object[]);
+    method public android.metrics.LogMaker addTaggedData(int, Object);
+    method public android.metrics.LogMaker clearCategory();
+    method public android.metrics.LogMaker clearPackageName();
+    method public android.metrics.LogMaker clearSubtype();
+    method public android.metrics.LogMaker clearTaggedData(int);
+    method public android.metrics.LogMaker clearType();
+    method public void deserialize(Object[]);
+    method public int getCategory();
+    method public long getCounterBucket();
+    method public String getCounterName();
+    method public int getCounterValue();
+    method public String getPackageName();
+    method public int getProcessId();
+    method public int getSubtype();
+    method public Object getTaggedData(int);
+    method public long getTimestamp();
+    method public int getType();
+    method public int getUid();
+    method public boolean isLongCounterBucket();
+    method public boolean isSubsetOf(android.metrics.LogMaker);
+    method public boolean isValidValue(Object);
+    method public Object[] serialize();
+    method public android.metrics.LogMaker setCategory(int);
+    method public android.metrics.LogMaker setPackageName(String);
+    method public android.metrics.LogMaker setSubtype(int);
+    method public android.metrics.LogMaker setType(int);
+  }
+
+  public class MetricsReader {
+    ctor public MetricsReader();
+    method public void checkpoint();
+    method public boolean hasNext();
+    method public android.metrics.LogMaker next();
+    method public void read(long);
+    method public void reset();
+  }
+
+}
+
+package android.net {
+
+  public class EthernetManager {
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public android.net.EthernetManager.TetheredInterfaceRequest requestTetheredInterface(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.TetheredInterfaceCallback);
+  }
+
+  public static interface EthernetManager.TetheredInterfaceCallback {
+    method public void onAvailable(@NonNull String);
+    method public void onUnavailable();
+  }
+
+  public static class EthernetManager.TetheredInterfaceRequest {
+    method public void release();
+  }
+
+  public final class IpSecManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void applyTunnelModeTransform(@NonNull android.net.IpSecManager.IpSecTunnelInterface, int, @NonNull android.net.IpSecTransform) throws java.io.IOException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecManager.IpSecTunnelInterface createIpSecTunnelInterface(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException;
+  }
+
+  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
+    method public void close();
+    method @NonNull public String getInterfaceName();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
+  }
+
+  public static class IpSecTransform.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecTransform buildTunnelModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException;
+  }
+
+  public final class MatchAllNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    ctor public MatchAllNetworkSpecifier();
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.MatchAllNetworkSpecifier> CREATOR;
+  }
+
+  public class NetworkKey implements android.os.Parcelable {
+    ctor public NetworkKey(android.net.WifiKey);
+    method @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
+    field public static final int TYPE_WIFI = 1; // 0x1
+    field public final int type;
+    field public final android.net.WifiKey wifiKey;
+  }
+
+  public abstract class NetworkRecommendationProvider {
+    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
+    method public final android.os.IBinder getBinder();
+    method public abstract void onRequestScores(android.net.NetworkKey[]);
+  }
+
+  public class NetworkScoreManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage();
+    method @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public void registerNetworkScoreCallback(int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.NetworkScoreManager.NetworkScoreCallback) throws java.lang.SecurityException;
+    method @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException;
+    method @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException;
+    field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE";
+    field public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE";
+    field public static final String ACTION_RECOMMEND_NETWORKS = "android.net.action.RECOMMEND_NETWORKS";
+    field public static final String ACTION_SCORER_CHANGED = "android.net.scoring.SCORER_CHANGED";
+    field @Deprecated public static final String ACTION_SCORE_NETWORKS = "android.net.scoring.SCORE_NETWORKS";
+    field @Deprecated public static final String EXTRA_NETWORKS_TO_SCORE = "networksToScore";
+    field public static final String EXTRA_NEW_SCORER = "newScorer";
+    field @Deprecated public static final String EXTRA_PACKAGE_NAME = "packageName";
+    field public static final int SCORE_FILTER_CURRENT_NETWORK = 1; // 0x1
+    field public static final int SCORE_FILTER_NONE = 0; // 0x0
+    field public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2
+  }
+
+  public abstract static class NetworkScoreManager.NetworkScoreCallback {
+    ctor public NetworkScoreManager.NetworkScoreCallback();
+    method public abstract void onScoresInvalidated();
+    method public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>);
+  }
+
+  public abstract class NetworkSpecifier {
+    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkSpecifier);
+    method @Nullable public android.net.NetworkSpecifier redact();
+  }
+
+  public class NetworkStack {
+    method @Nullable public static android.os.IBinder getService();
+    field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
+  }
+
+  public final class NetworkStats implements android.os.Parcelable {
+    ctor public NetworkStats(long, int);
+    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
+    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
+    method public int describeContents();
+    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
+    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
+    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
+    field public static final String IFACE_VT = "vt_data0";
+    field public static final int METERED_NO = 0; // 0x0
+    field public static final int METERED_YES = 1; // 0x1
+    field public static final int ROAMING_NO = 0; // 0x0
+    field public static final int ROAMING_YES = 1; // 0x1
+    field public static final int SET_DEFAULT = 0; // 0x0
+    field public static final int SET_FOREGROUND = 1; // 0x1
+    field public static final int TAG_NONE = 0; // 0x0
+    field public static final int UID_ALL = -1; // 0xffffffff
+    field public static final int UID_TETHERING = -5; // 0xfffffffb
+  }
+
+  public static class NetworkStats.Entry {
+    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
+  }
+
+  public class RssiCurve implements android.os.Parcelable {
+    ctor public RssiCurve(int, int, byte[]);
+    ctor public RssiCurve(int, int, byte[], int);
+    method public int describeContents();
+    method public byte lookupScore(int);
+    method public byte lookupScore(int, boolean);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
+    field public final int activeNetworkRssiBoost;
+    field public final int bucketWidth;
+    field public final byte[] rssiBuckets;
+    field public final int start;
+  }
+
+  public class ScoredNetwork implements android.os.Parcelable {
+    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve);
+    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean);
+    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean, @Nullable android.os.Bundle);
+    method public int calculateBadge(int);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
+    field public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
+    field public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
+    field @Nullable public final android.os.Bundle attributes;
+    field public final boolean meteredHint;
+    field public final android.net.NetworkKey networkKey;
+    field public final android.net.RssiCurve rssiCurve;
+  }
+
+  public class TrafficStats {
+    method public static void setThreadStatsTagApp();
+    method public static void setThreadStatsTagBackup();
+    method public static void setThreadStatsTagRestore();
+    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
+    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
+    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
+    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
+    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
+    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
+  }
+
+  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
+    method @NonNull public String toSafeString();
+  }
+
+  public class VpnService extends android.app.Service {
+    method @RequiresPermission(android.Manifest.permission.CONTROL_VPN) public static void prepareAndAuthorize(android.content.Context);
+  }
+
+  public class WebAddress {
+    ctor public WebAddress(String) throws android.net.ParseException;
+  }
+
+  public class WifiKey implements android.os.Parcelable {
+    ctor public WifiKey(String, String);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
+    field public final String bssid;
+    field public final String ssid;
+  }
+
+}
+
+package android.net.metrics {
+
+  @Deprecated public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
+  }
+
+  @Deprecated public static final class ApfProgramEvent.Builder {
+    ctor @Deprecated public ApfProgramEvent.Builder();
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent build();
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean);
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);
+  }
+
+  @Deprecated public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {
+  }
+
+  @Deprecated public static final class ApfStats.Builder {
+    ctor @Deprecated public ApfStats.Builder();
+    method @Deprecated @NonNull public android.net.metrics.ApfStats build();
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);
+  }
+
+  @Deprecated public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {
+  }
+
+  @Deprecated public static final class DhcpClientEvent.Builder {
+    ctor @Deprecated public DhcpClientEvent.Builder();
+    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent build();
+    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int);
+    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);
+  }
+
+  @Deprecated public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event {
+    ctor @Deprecated public DhcpErrorEvent(int);
+    method @Deprecated public static int errorCodeWithOption(int, int);
+    field @Deprecated public static final int BOOTP_TOO_SHORT = 67174400; // 0x4010000
+    field @Deprecated public static final int BUFFER_UNDERFLOW = 83951616; // 0x5010000
+    field @Deprecated public static final int DHCP_BAD_MAGIC_COOKIE = 67239936; // 0x4020000
+    field @Deprecated public static final int DHCP_ERROR = 4; // 0x4
+    field @Deprecated public static final int DHCP_INVALID_OPTION_LENGTH = 67305472; // 0x4030000
+    field @Deprecated public static final int DHCP_NO_COOKIE = 67502080; // 0x4060000
+    field @Deprecated public static final int DHCP_NO_MSG_TYPE = 67371008; // 0x4040000
+    field @Deprecated public static final int DHCP_UNKNOWN_MSG_TYPE = 67436544; // 0x4050000
+    field @Deprecated public static final int L2_ERROR = 1; // 0x1
+    field @Deprecated public static final int L2_TOO_SHORT = 16842752; // 0x1010000
+    field @Deprecated public static final int L2_WRONG_ETH_TYPE = 16908288; // 0x1020000
+    field @Deprecated public static final int L3_ERROR = 2; // 0x2
+    field @Deprecated public static final int L3_INVALID_IP = 33751040; // 0x2030000
+    field @Deprecated public static final int L3_NOT_IPV4 = 33685504; // 0x2020000
+    field @Deprecated public static final int L3_TOO_SHORT = 33619968; // 0x2010000
+    field @Deprecated public static final int L4_ERROR = 3; // 0x3
+    field @Deprecated public static final int L4_NOT_UDP = 50397184; // 0x3010000
+    field @Deprecated public static final int L4_WRONG_PORT = 50462720; // 0x3020000
+    field @Deprecated public static final int MISC_ERROR = 5; // 0x5
+    field @Deprecated public static final int PARSING_ERROR = 84082688; // 0x5030000
+    field @Deprecated public static final int RECEIVE_ERROR = 84017152; // 0x5020000
+  }
+
+  @Deprecated public class IpConnectivityLog {
+    ctor @Deprecated public IpConnectivityLog();
+    method @Deprecated public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event);
+    method @Deprecated public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event);
+    method @Deprecated public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
+    method @Deprecated public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
+    method @Deprecated public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);
+  }
+
+  @Deprecated public static interface IpConnectivityLog.Event extends android.os.Parcelable {
+  }
+
+  @Deprecated public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event {
+    ctor @Deprecated public IpManagerEvent(int, long);
+    field @Deprecated public static final int COMPLETE_LIFECYCLE = 3; // 0x3
+    field @Deprecated public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8
+    field @Deprecated public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7
+    field @Deprecated public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6
+    field @Deprecated public static final int ERROR_STARTING_IPV4 = 4; // 0x4
+    field @Deprecated public static final int ERROR_STARTING_IPV6 = 5; // 0x5
+    field @Deprecated public static final int PROVISIONING_FAIL = 2; // 0x2
+    field @Deprecated public static final int PROVISIONING_OK = 1; // 0x1
+  }
+
+  @Deprecated public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event {
+    ctor @Deprecated public IpReachabilityEvent(int);
+    field @Deprecated public static final int NUD_FAILED = 512; // 0x200
+    field @Deprecated public static final int NUD_FAILED_ORGANIC = 1024; // 0x400
+    field @Deprecated public static final int PROBE = 256; // 0x100
+    field @Deprecated public static final int PROVISIONING_LOST = 768; // 0x300
+    field @Deprecated public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500
+  }
+
+  @Deprecated public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event {
+    ctor @Deprecated public NetworkEvent(int, long);
+    ctor @Deprecated public NetworkEvent(int);
+    field @Deprecated public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4
+    field @Deprecated public static final int NETWORK_CONNECTED = 1; // 0x1
+    field @Deprecated public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc
+    field @Deprecated public static final int NETWORK_DISCONNECTED = 7; // 0x7
+    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
+    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
+    field @Deprecated public static final int NETWORK_LINGER = 5; // 0x5
+    field @Deprecated public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
+    field @Deprecated public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
+    field @Deprecated public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
+    field @Deprecated public static final int NETWORK_UNLINGER = 6; // 0x6
+    field @Deprecated public static final int NETWORK_VALIDATED = 2; // 0x2
+    field @Deprecated public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3
+  }
+
+  @Deprecated public final class RaEvent implements android.net.metrics.IpConnectivityLog.Event {
+  }
+
+  @Deprecated public static final class RaEvent.Builder {
+    ctor @Deprecated public RaEvent.Builder();
+    method @Deprecated @NonNull public android.net.metrics.RaEvent build();
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateDnsslLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixPreferredLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixValidLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRdnssLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouteInfoLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouterLifetime(long);
+  }
+
+  @Deprecated public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event {
+    method @Deprecated @NonNull public static String getProbeName(int);
+    field @Deprecated public static final int DNS_FAILURE = 0; // 0x0
+    field @Deprecated public static final int DNS_SUCCESS = 1; // 0x1
+    field @Deprecated public static final int PROBE_DNS = 0; // 0x0
+    field @Deprecated public static final int PROBE_FALLBACK = 4; // 0x4
+    field @Deprecated public static final int PROBE_HTTP = 1; // 0x1
+    field @Deprecated public static final int PROBE_HTTPS = 2; // 0x2
+    field @Deprecated public static final int PROBE_PAC = 3; // 0x3
+    field @Deprecated public static final int PROBE_PRIVDNS = 5; // 0x5
+  }
+
+  @Deprecated public static final class ValidationProbeEvent.Builder {
+    ctor @Deprecated public ValidationProbeEvent.Builder();
+    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent build();
+    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long);
+    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean);
+    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);
+  }
+
+}
+
+package android.net.netstats.provider {
+
+  public abstract class NetworkStatsProvider {
+    ctor public NetworkStatsProvider();
+    method public void notifyAlertReached();
+    method public void notifyLimitReached();
+    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
+    method public void notifyWarningReached();
+    method public abstract void onRequestStatsUpdate(int);
+    method public abstract void onSetAlert(long);
+    method public abstract void onSetLimit(@NonNull String, long);
+    method public void onSetWarningAndLimit(@NonNull String, long, long);
+    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
+  }
+
+}
+
+package android.net.sip {
+
+  @Deprecated public class SipAudioCall {
+    method @Deprecated @Nullable public android.net.rtp.AudioGroup getAudioGroup();
+    method @Deprecated public void setAudioGroup(@NonNull android.net.rtp.AudioGroup);
+  }
+
+  @Deprecated public class SipManager {
+    method @Deprecated @NonNull public java.util.List<android.net.sip.SipProfile> getProfiles() throws android.net.sip.SipException;
+    field @Deprecated public static final String ACTION_SIP_CALL_OPTION_CHANGED = "android.net.sip.action.SIP_CALL_OPTION_CHANGED";
+    field @Deprecated public static final String ACTION_SIP_INCOMING_CALL = "android.net.sip.action.SIP_INCOMING_CALL";
+    field @Deprecated public static final String ACTION_SIP_REMOVE_PROFILE = "android.net.sip.action.SIP_REMOVE_PROFILE";
+    field @Deprecated public static final String ACTION_SIP_SERVICE_UP = "android.net.sip.action.SIP_SERVICE_UP";
+    field @Deprecated public static final String ACTION_START_SIP = "android.net.sip.action.START_SIP";
+  }
+
+  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
+    method @Deprecated public int getCallingUid();
+  }
+
+}
+
+package android.net.util {
+
+  public final class SocketUtils {
+    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
+    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
+    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
+    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
+    method @Deprecated @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
+    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int, @NonNull byte[]);
+  }
+
+}
+
+package android.net.vcn {
+
+  public class VcnManager {
+    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void addVcnNetworkPolicyChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.vcn.VcnNetworkPolicyResult applyVcnNetworkPolicy(@NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void removeVcnNetworkPolicyChangeListener(@NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
+  }
+
+  public static interface VcnManager.VcnNetworkPolicyChangeListener {
+    method public void onPolicyChanged();
+  }
+
+  public final class VcnNetworkPolicyResult implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
+    method public boolean isTeardownRequested();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnNetworkPolicyResult> CREATOR;
+  }
+
+}
+
+package android.net.wifi {
+
+  public final class WifiMigration {
+    method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
+    method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
+    method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context);
+    method public static void removeSharedConfigStoreFile(int);
+    method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle);
+    field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0
+    field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1
+    field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2
+    field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3
+  }
+
+  public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getP2pDeviceName();
+    method public boolean isP2pFactoryResetPending();
+    method public boolean isScanAlwaysAvailable();
+    method public boolean isScanThrottleEnabled();
+    method public boolean isSoftApTimeoutEnabled();
+    method public boolean isVerboseLoggingEnabled();
+    method public boolean isWakeUpEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR;
+  }
+
+  public static final class WifiMigration.SettingsMigrationData.Builder {
+    ctor public WifiMigration.SettingsMigrationData.Builder();
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build();
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean);
+  }
+
+}
+
+package android.net.wifi.nl80211 {
+
+  public final class DeviceWiphyCapabilities implements android.os.Parcelable {
+    ctor public DeviceWiphyCapabilities();
+    method public int describeContents();
+    method public int getMaxNumberRxSpatialStreams();
+    method public int getMaxNumberTxSpatialStreams();
+    method public boolean isChannelWidthSupported(int);
+    method public boolean isWifiStandardSupported(int);
+    method public void setWifiStandardSupport(int, boolean);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR;
+  }
+
+  public final class NativeScanResult implements android.os.Parcelable {
+    ctor public NativeScanResult();
+    method public int describeContents();
+    method @Nullable public android.net.MacAddress getBssid();
+    method public int getCapabilities();
+    method public int getFrequencyMhz();
+    method @NonNull public byte[] getInformationElements();
+    method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos();
+    method public int getSignalMbm();
+    method @NonNull public byte[] getSsid();
+    method public long getTsf();
+    method public boolean isAssociated();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800
+    field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4
+    field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8
+    field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80
+    field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000
+    field public static final int BSS_CAPABILITY_DMG_ESS = 3; // 0x3
+    field public static final int BSS_CAPABILITY_DMG_IBSS = 1; // 0x1
+    field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000
+    field public static final int BSS_CAPABILITY_ESS = 1; // 0x1
+    field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2
+    field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000
+    field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40
+    field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10
+    field public static final int BSS_CAPABILITY_QOS = 512; // 0x200
+    field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000
+    field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20
+    field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400
+    field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR;
+  }
+
+  public final class NativeWifiClient implements android.os.Parcelable {
+    ctor public NativeWifiClient(@Nullable android.net.MacAddress);
+    method public int describeContents();
+    method @Nullable public android.net.MacAddress getMacAddress();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR;
+  }
+
+  public final class PnoNetwork implements android.os.Parcelable {
+    ctor public PnoNetwork();
+    method public int describeContents();
+    method @NonNull public int[] getFrequenciesMhz();
+    method @NonNull public byte[] getSsid();
+    method public boolean isHidden();
+    method public void setFrequenciesMhz(@NonNull int[]);
+    method public void setHidden(boolean);
+    method public void setSsid(@NonNull byte[]);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR;
+  }
+
+  public final class PnoSettings implements android.os.Parcelable {
+    ctor public PnoSettings();
+    method public int describeContents();
+    method public long getIntervalMillis();
+    method public int getMin2gRssiDbm();
+    method public int getMin5gRssiDbm();
+    method public int getMin6gRssiDbm();
+    method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
+    method public void setIntervalMillis(long);
+    method public void setMin2gRssiDbm(int);
+    method public void setMin5gRssiDbm(int);
+    method public void setMin6gRssiDbm(int);
+    method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
+  }
+
+  public final class RadioChainInfo implements android.os.Parcelable {
+    ctor public RadioChainInfo(int, int);
+    method public int describeContents();
+    method public int getChainId();
+    method public int getLevelDbm();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR;
+  }
+
+  public class WifiNl80211Manager {
+    method public void abortScan(@NonNull String);
+    method public void enableVerboseLogging(boolean);
+    method @NonNull public int[] getChannelsMhzForBand(int);
+    method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String);
+    method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int);
+    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String);
+    method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]);
+    method @Deprecated public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback);
+    method public boolean registerCountryCodeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
+    method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback);
+    method public void setOnServiceDeadCallback(@NonNull Runnable);
+    method public boolean setupInterfaceForClientMode(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.ScanEventCallback, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.ScanEventCallback);
+    method public boolean setupInterfaceForSoftApMode(@NonNull String);
+    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String);
+    method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback);
+    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>);
+    method public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
+    method public boolean stopPnoScan(@NonNull String);
+    method public boolean tearDownClientInterface(@NonNull String);
+    method public boolean tearDownInterfaces();
+    method public boolean tearDownSoftApInterface(@NonNull String);
+    method public void unregisterCountryCodeChangedListener(@NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
+    field public static final String SCANNING_PARAM_ENABLE_6GHZ_RNR = "android.net.wifi.nl80211.SCANNING_PARAM_ENABLE_6GHZ_RNR";
+    field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1
+    field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0
+    field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5
+    field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2
+    field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3
+    field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4
+    field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1
+  }
+
+  public static interface WifiNl80211Manager.CountryCodeChangedListener {
+    method public void onCountryCodeChanged(@NonNull String);
+  }
+
+  public static class WifiNl80211Manager.OemSecurityType {
+    ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int);
+    field public final int groupCipher;
+    field @NonNull public final java.util.List<java.lang.Integer> keyManagement;
+    field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher;
+    field public final int protocol;
+  }
+
+  public static interface WifiNl80211Manager.PnoScanRequestCallback {
+    method public void onPnoRequestFailed();
+    method public void onPnoRequestSucceeded();
+  }
+
+  public static interface WifiNl80211Manager.ScanEventCallback {
+    method public void onScanFailed();
+    method public void onScanResultReady();
+  }
+
+  public static interface WifiNl80211Manager.SendMgmtFrameCallback {
+    method public void onAck(int);
+    method public void onFailure(int);
+  }
+
+  public static class WifiNl80211Manager.SignalPollResult {
+    field public final int associationFrequencyMHz;
+    field public final int currentRssiDbm;
+    field public final int rxBitrateMbps;
+    field public final int txBitrateMbps;
+  }
+
+  @Deprecated public static interface WifiNl80211Manager.SoftApCallback {
+    method @Deprecated public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean);
+    method @Deprecated public void onFailure();
+    method @Deprecated public void onSoftApChannelSwitched(int, int);
+  }
+
+  public static class WifiNl80211Manager.TxPacketCounters {
+    field public final int txPacketFailed;
+    field public final int txPacketSucceeded;
+  }
+
+}
+
+package android.nfc {
+
+  public final class NfcAdapter {
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable();
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disableNdefPush();
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableNdefPush();
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
+    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
+    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported();
+    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
+    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
+    method public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, int);
+    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
+    field public static final int FLAG_NDEF_PUSH_NO_CONFIRM = 1; // 0x1
+  }
+
+  public static interface NfcAdapter.ControllerAlwaysOnListener {
+    method public void onControllerAlwaysOnChanged(boolean);
+  }
+
+  public static interface NfcAdapter.NfcUnlockHandler {
+    method public boolean onUnlockAttempted(android.nfc.Tag);
+  }
+
+}
+
+package android.os {
+
+  public class BatteryManager {
+    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setChargingStateUpdateDelayMillis(int);
+    field public static final String EXTRA_EVENTS = "android.os.extra.EVENTS";
+    field public static final String EXTRA_EVENT_TIMESTAMP = "android.os.extra.EVENT_TIMESTAMP";
+  }
+
+  public final class BatterySaverPolicyConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public float getAdjustBrightnessFactor();
+    method public boolean getAdvertiseIsEnabled();
+    method public boolean getDeferFullBackup();
+    method public boolean getDeferKeyValueBackup();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getDeviceSpecificSettings();
+    method public boolean getDisableAnimation();
+    method public boolean getDisableAod();
+    method public boolean getDisableLaunchBoost();
+    method public boolean getDisableOptionalSensors();
+    method @Deprecated public boolean getDisableSoundTrigger();
+    method public boolean getDisableVibration();
+    method public boolean getEnableAdjustBrightness();
+    method public boolean getEnableDataSaver();
+    method public boolean getEnableFirewall();
+    method public boolean getEnableNightMode();
+    method public boolean getEnableQuickDoze();
+    method public boolean getForceAllAppsStandby();
+    method public boolean getForceBackgroundCheck();
+    method public int getLocationMode();
+    method public int getSoundTriggerMode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
+  }
+
+  public static final class BatterySaverPolicyConfig.Builder {
+    ctor public BatterySaverPolicyConfig.Builder();
+    ctor public BatterySaverPolicyConfig.Builder(@NonNull android.os.BatterySaverPolicyConfig);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder addDeviceSpecificSetting(@NonNull String, @NonNull String);
+    method @NonNull public android.os.BatterySaverPolicyConfig build();
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdjustBrightnessFactor(float);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdvertiseIsEnabled(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferFullBackup(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferKeyValueBackup(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAnimation(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAod(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableLaunchBoost(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableOptionalSensors(boolean);
+    method @Deprecated @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableSoundTrigger(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableVibration(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableAdjustBrightness(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableDataSaver(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableFirewall(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableNightMode(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableQuickDoze(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceAllAppsStandby(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceBackgroundCheck(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setSoundTriggerMode(int);
+  }
+
+  public final class BatteryStatsManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRadioPowerState(boolean, int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
+    field public static final int WIFI_STATE_OFF = 0; // 0x0
+    field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
+    field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
+    field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4
+    field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6
+    field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3
+    field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2
+    field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7
+    field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7
+    field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6
+    field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5
+    field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa
+    field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1
+    field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb
+    field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8
+    field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9
+    field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3
+    field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2
+    field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0
+    field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4
+    field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc
+  }
+
+  public class Binder implements android.os.IBinder {
+    method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]);
+    method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener);
+  }
+
+  public static interface Binder.ProxyTransactListener {
+    method public void onTransactEnded(@Nullable Object);
+    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
+  }
+
+  public final class BugreportManager {
+    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence);
+    method @RequiresPermission(android.Manifest.permission.DUMP) @WorkerThread public void startBugreport(@NonNull android.os.ParcelFileDescriptor, @Nullable android.os.ParcelFileDescriptor, @NonNull android.os.BugreportParams, @NonNull java.util.concurrent.Executor, @NonNull android.os.BugreportManager.BugreportCallback);
+  }
+
+  public final class BugreportParams {
+    ctor public BugreportParams(int);
+    method public int getMode();
+    field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
+    field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
+    field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
+    field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
+    field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
+    field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
+  }
+
+  public static class Build.VERSION {
+    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
+  }
+
+  public final class ConfigUpdate {
+    field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
+    field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
+    field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
+    field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
+    field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
+    field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
+    field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
+    field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
+    field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
+    field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
+    field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
+    field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
+    field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
+  }
+
+  public class DeviceIdleManager {
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void endIdle(@NonNull String);
+  }
+
+  public class Environment {
+    method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories();
+    method @NonNull public static java.io.File getOdmDirectory();
+    method @NonNull public static java.io.File getOemDirectory();
+    method @NonNull public static java.io.File getProductDirectory();
+    method @Deprecated @NonNull public static java.io.File getProductServicesDirectory();
+    method @NonNull public static java.io.File getSystemExtDirectory();
+    method @NonNull public static java.io.File getVendorDirectory();
+  }
+
+  public class HidlMemory implements java.io.Closeable {
+    ctor public HidlMemory(@NonNull String, @IntRange(from=0) long, @Nullable android.os.NativeHandle);
+    method public void close() throws java.io.IOException;
+    method @NonNull public android.os.HidlMemory dup() throws java.io.IOException;
+    method protected void finalize();
+    method @Nullable public android.os.NativeHandle getHandle();
+    method @NonNull public String getName();
+    method public long getSize();
+    method @Nullable public android.os.NativeHandle releaseHandle();
+  }
+
+  public class HidlSupport {
+    method public static boolean deepEquals(Object, Object);
+    method public static int deepHashCode(Object);
+    method public static int getPidIfSharable();
+    method public static boolean interfacesEqual(android.os.IHwInterface, Object);
+  }
+
+  public abstract class HwBinder implements android.os.IHwBinder {
+    ctor public HwBinder();
+    method public static final void configureRpcThreadpool(long, boolean);
+    method public static void enableInstrumentation();
+    method public static final android.os.IHwBinder getService(String, String) throws java.util.NoSuchElementException, android.os.RemoteException;
+    method public static final android.os.IHwBinder getService(String, String, boolean) throws java.util.NoSuchElementException, android.os.RemoteException;
+    method public static final void joinRpcThreadpool();
+    method public abstract void onTransact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
+    method public final void registerService(String) throws android.os.RemoteException;
+    method public final void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
+  }
+
+  public class HwBlob {
+    ctor public HwBlob(int);
+    method public final void copyToBoolArray(long, boolean[], int);
+    method public final void copyToDoubleArray(long, double[], int);
+    method public final void copyToFloatArray(long, float[], int);
+    method public final void copyToInt16Array(long, short[], int);
+    method public final void copyToInt32Array(long, int[], int);
+    method public final void copyToInt64Array(long, long[], int);
+    method public final void copyToInt8Array(long, byte[], int);
+    method public final boolean getBool(long);
+    method public final double getDouble(long);
+    method public final long getFieldHandle(long);
+    method public final float getFloat(long);
+    method public final short getInt16(long);
+    method public final int getInt32(long);
+    method public final long getInt64(long);
+    method public final byte getInt8(long);
+    method public final String getString(long);
+    method public final long handle();
+    method public final void putBlob(long, android.os.HwBlob);
+    method public final void putBool(long, boolean);
+    method public final void putBoolArray(long, boolean[]);
+    method public final void putDouble(long, double);
+    method public final void putDoubleArray(long, double[]);
+    method public final void putFloat(long, float);
+    method public final void putFloatArray(long, float[]);
+    method public final void putHidlMemory(long, @NonNull android.os.HidlMemory);
+    method public final void putInt16(long, short);
+    method public final void putInt16Array(long, short[]);
+    method public final void putInt32(long, int);
+    method public final void putInt32Array(long, int[]);
+    method public final void putInt64(long, long);
+    method public final void putInt64Array(long, long[]);
+    method public final void putInt8(long, byte);
+    method public final void putInt8Array(long, byte[]);
+    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
+    method public final void putString(long, String);
+    method public static Boolean[] wrapArray(@NonNull boolean[]);
+    method public static Long[] wrapArray(@NonNull long[]);
+    method public static Byte[] wrapArray(@NonNull byte[]);
+    method public static Short[] wrapArray(@NonNull short[]);
+    method public static Integer[] wrapArray(@NonNull int[]);
+    method public static Float[] wrapArray(@NonNull float[]);
+    method public static Double[] wrapArray(@NonNull double[]);
+  }
+
+  public class HwParcel {
+    ctor public HwParcel();
+    method public final void enforceInterface(String);
+    method public final boolean readBool();
+    method public final java.util.ArrayList<java.lang.Boolean> readBoolVector();
+    method public final android.os.HwBlob readBuffer(long);
+    method public final double readDouble();
+    method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
+    method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
+    method @NonNull @Nullable public final android.os.HidlMemory readEmbeddedHidlMemory(long, long, long);
+    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
+    method public final float readFloat();
+    method public final java.util.ArrayList<java.lang.Float> readFloatVector();
+    method @NonNull public final android.os.HidlMemory readHidlMemory();
+    method public final short readInt16();
+    method public final java.util.ArrayList<java.lang.Short> readInt16Vector();
+    method public final int readInt32();
+    method public final java.util.ArrayList<java.lang.Integer> readInt32Vector();
+    method public final long readInt64();
+    method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
+    method public final byte readInt8();
+    method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
+    method @Nullable public final android.os.NativeHandle readNativeHandle();
+    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
+    method public final String readString();
+    method public final java.util.ArrayList<java.lang.String> readStringVector();
+    method public final android.os.IHwBinder readStrongBinder();
+    method public final void release();
+    method public final void releaseTemporaryStorage();
+    method public final void send();
+    method public final void verifySuccess();
+    method public final void writeBool(boolean);
+    method public final void writeBoolVector(java.util.ArrayList<java.lang.Boolean>);
+    method public final void writeBuffer(android.os.HwBlob);
+    method public final void writeDouble(double);
+    method public final void writeDoubleVector(java.util.ArrayList<java.lang.Double>);
+    method public final void writeFloat(float);
+    method public final void writeFloatVector(java.util.ArrayList<java.lang.Float>);
+    method public final void writeHidlMemory(@NonNull android.os.HidlMemory);
+    method public final void writeInt16(short);
+    method public final void writeInt16Vector(java.util.ArrayList<java.lang.Short>);
+    method public final void writeInt32(int);
+    method public final void writeInt32Vector(java.util.ArrayList<java.lang.Integer>);
+    method public final void writeInt64(long);
+    method public final void writeInt64Vector(java.util.ArrayList<java.lang.Long>);
+    method public final void writeInt8(byte);
+    method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
+    method public final void writeInterfaceToken(String);
+    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
+    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
+    method public final void writeStatus(int);
+    method public final void writeString(String);
+    method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
+    method public final void writeStrongBinder(android.os.IHwBinder);
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public interface IHwBinder {
+    method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long);
+    method public android.os.IHwInterface queryLocalInterface(String);
+    method public void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
+    method public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient);
+  }
+
+  public static interface IHwBinder.DeathRecipient {
+    method public void serviceDied(long);
+  }
+
+  public interface IHwInterface {
+    method public android.os.IHwBinder asBinder();
+  }
+
+  public class IncidentManager {
+    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void approveReport(android.net.Uri);
+    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void cancelAuthorization(android.os.IncidentManager.AuthListener);
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void deleteIncidentReports(android.net.Uri);
+    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void denyReport(android.net.Uri);
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri);
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String);
+    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports();
+    method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback);
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs);
+    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener);
+    method public void unregisterSection(int);
+    field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1
+    field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8
+    field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64
+    field public static final int PRIVACY_POLICY_LOCAL = 0; // 0x0
+  }
+
+  public static class IncidentManager.AuthListener {
+    ctor public IncidentManager.AuthListener();
+    method public void onReportApproved();
+    method public void onReportDenied();
+  }
+
+  public static class IncidentManager.DumpCallback {
+    ctor public IncidentManager.DumpCallback();
+    method public void onDumpSection(int, @NonNull java.io.OutputStream);
+  }
+
+  public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable {
+    ctor public IncidentManager.IncidentReport(android.os.Parcel);
+    method public void close();
+    method public int describeContents();
+    method public java.io.InputStream getInputStream() throws java.io.IOException;
+    method public long getPrivacyPolicy();
+    method public long getTimestamp();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
+  }
+
+  public static class IncidentManager.PendingReport {
+    ctor public IncidentManager.PendingReport(@NonNull android.net.Uri);
+    method public int getFlags();
+    method @NonNull public String getRequestingPackage();
+    method public long getTimestamp();
+    method @NonNull public android.net.Uri getUri();
+  }
+
+  public final class IncidentReportArgs implements android.os.Parcelable {
+    ctor public IncidentReportArgs();
+    ctor public IncidentReportArgs(android.os.Parcel);
+    method public void addHeader(byte[]);
+    method public void addSection(int);
+    method public boolean containsSection(int);
+    method public int describeContents();
+    method public boolean isAll();
+    method public void readFromParcel(android.os.Parcel);
+    method public int sectionCount();
+    method public void setAll(boolean);
+    method public void setPrivacyPolicy(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
+  }
+
+  public final class NativeHandle implements java.io.Closeable {
+    ctor public NativeHandle();
+    ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
+    ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
+    method public void close() throws java.io.IOException;
+    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
+    method @NonNull public java.io.FileDescriptor getFileDescriptor();
+    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
+    method @NonNull public int[] getInts();
+    method public boolean hasSingleFileDescriptor();
+  }
+
+  public interface Parcelable {
+    field public static final int PARCELABLE_STABILITY_LOCAL = 0; // 0x0
+    field public static final int PARCELABLE_STABILITY_VINTF = 1; // 0x1
+  }
+
+  public final class ParcelableHolder implements android.os.Parcelable {
+    ctor public ParcelableHolder(int);
+    method public int describeContents();
+    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@NonNull Class<T>);
+    method public int getStability();
+    method public void readFromParcel(@NonNull android.os.Parcel);
+    method public void setParcelable(@Nullable android.os.Parcelable);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelableHolder> CREATOR;
+  }
+
+  public class PowerExemptionManager {
+    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void addToTemporaryAllowList(@NonNull String, int, @Nullable String, long);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long addToTemporaryAllowListForEvent(@NonNull String, int, @Nullable String, int);
+    field public static final int EVENT_MMS = 2; // 0x2
+    field public static final int EVENT_SMS = 1; // 0x1
+    field public static final int EVENT_UNSPECIFIED = 0; // 0x0
+    field public static final int REASON_ACCOUNT_TRANSFER = 104; // 0x68
+    field public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
+    field public static final int REASON_GEOFENCING = 100; // 0x64
+    field public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
+    field public static final int REASON_OTHER = 1; // 0x1
+    field public static final int REASON_PUSH_MESSAGING = 101; // 0x65
+    field public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
+    field public static final int REASON_UNKNOWN = 0; // 0x0
+    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
+    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
+    field public static final int TEMPORARY_ALLOW_LIST_TYPE_NONE = -1; // 0xffffffff
+  }
+
+  public final class PowerManager {
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
+    method @NonNull public android.os.BatterySaverPolicyConfig getFullPowerSavePolicy();
+    method public int getPowerSaveModeTrigger();
+    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable();
+    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed();
+    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
+    method @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_PREDICTION, android.Manifest.permission.DEVICE_POWER}) public void setBatteryDischargePrediction(@NonNull java.time.Duration, boolean);
+    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setFullPowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
+    field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1
+    field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0
+    field public static final String REBOOT_USERSPACE = "userspace";
+    field public static final int SOUND_TRIGGER_MODE_ALL_DISABLED = 2; // 0x2
+    field public static final int SOUND_TRIGGER_MODE_ALL_ENABLED = 0; // 0x0
+    field public static final int SOUND_TRIGGER_MODE_CRITICAL_ONLY = 1; // 0x1
+    field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3
+    field public static final int USER_ACTIVITY_EVENT_BUTTON = 1; // 0x1
+    field public static final int USER_ACTIVITY_EVENT_OTHER = 0; // 0x0
+    field public static final int USER_ACTIVITY_EVENT_TOUCH = 2; // 0x2
+    field public static final int USER_ACTIVITY_FLAG_INDIRECT = 2; // 0x2
+    field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1
+  }
+
+  @Deprecated public class PowerWhitelistManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void removeFromWhitelist(@NonNull String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long, int, @Nullable String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @Nullable String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, int, @Nullable String);
+    field @Deprecated public static final int EVENT_MMS = 2; // 0x2
+    field @Deprecated public static final int EVENT_SMS = 1; // 0x1
+    field @Deprecated public static final int EVENT_UNSPECIFIED = 0; // 0x0
+    field @Deprecated public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
+    field @Deprecated public static final int REASON_GEOFENCING = 100; // 0x64
+    field @Deprecated public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
+    field @Deprecated public static final int REASON_OTHER = 1; // 0x1
+    field @Deprecated public static final int REASON_PUSH_MESSAGING = 101; // 0x65
+    field @Deprecated public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
+    field @Deprecated public static final int REASON_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
+    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
+  }
+
+  public class RecoverySystem {
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static boolean isPreparedForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void prepareForUnattendedUpdate(@NonNull android.content.Context, @NonNull String, @Nullable android.content.IntentSender) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener, android.os.Handler) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
+    method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static int rebootAndApply(@NonNull android.content.Context, @NonNull String, boolean) throws java.io.IOException;
+    method @RequiresPermission(allOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void rebootWipeAb(android.content.Context, java.io.File, String) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
+    method public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
+    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_INVALID_PACKAGE_NAME = 2000; // 0x7d0
+    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_LSKF_NOT_CAPTURED = 3000; // 0xbb8
+    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_PROVIDER_PREPARATION_FAILURE = 5000; // 0x1388
+    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_SLOT_MISMATCH = 4000; // 0xfa0
+    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_UNSPECIFIED = 1000; // 0x3e8
+  }
+
+  public final class RemoteCallback implements android.os.Parcelable {
+    ctor public RemoteCallback(android.os.RemoteCallback.OnResultListener);
+    ctor public RemoteCallback(@NonNull android.os.RemoteCallback.OnResultListener, @Nullable android.os.Handler);
+    method public int describeContents();
+    method public void sendResult(@Nullable android.os.Bundle);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
+  }
+
+  public static interface RemoteCallback.OnResultListener {
+    method public void onResult(@Nullable android.os.Bundle);
+  }
+
+  public class ServiceSpecificException extends java.lang.RuntimeException {
+    ctor public ServiceSpecificException(int, @Nullable String);
+    ctor public ServiceSpecificException(int);
+    field public final int errorCode;
+  }
+
+  public class SystemConfigManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
+  }
+
+  public class SystemProperties {
+    method @NonNull public static String get(@NonNull String);
+    method @NonNull public static String get(@NonNull String, @Nullable String);
+    method public static boolean getBoolean(@NonNull String, boolean);
+    method public static int getInt(@NonNull String, int);
+    method public static long getLong(@NonNull String, long);
+  }
+
+  public class SystemUpdateManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SYSTEM_UPDATE_INFO, android.Manifest.permission.RECOVERY}) public android.os.Bundle retrieveSystemUpdateInfo();
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public void updateSystemUpdateInfo(android.os.PersistableBundle);
+    field public static final String KEY_IS_SECURITY_UPDATE = "is_security_update";
+    field public static final String KEY_STATUS = "status";
+    field public static final String KEY_TARGET_BUILD_FINGERPRINT = "target_build_fingerprint";
+    field public static final String KEY_TARGET_SECURITY_PATCH_LEVEL = "target_security_patch_level";
+    field public static final String KEY_TITLE = "title";
+    field public static final int STATUS_IDLE = 1; // 0x1
+    field public static final int STATUS_IN_PROGRESS = 3; // 0x3
+    field public static final int STATUS_UNKNOWN = 0; // 0x0
+    field public static final int STATUS_WAITING_DOWNLOAD = 2; // 0x2
+    field public static final int STATUS_WAITING_INSTALL = 4; // 0x4
+    field public static final int STATUS_WAITING_REBOOT = 5; // 0x5
+  }
+
+  public class UpdateEngine {
+    ctor public UpdateEngine();
+    method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
+    method public void applyPayload(String, long, long, String[]);
+    method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
+    method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
+    method public boolean bind(android.os.UpdateEngineCallback);
+    method public void cancel();
+    method @WorkerThread public int cleanupAppliedPayload();
+    method public void resetStatus();
+    method public void resume();
+    method public void suspend();
+    method public boolean unbind();
+    method public boolean verifyPayloadMetadata(String);
+  }
+
+  public static final class UpdateEngine.AllocateSpaceResult {
+    method public int getErrorCode();
+    method public long getFreeSpaceRequired();
+  }
+
+  public static final class UpdateEngine.ErrorCodeConstants {
+    ctor public UpdateEngine.ErrorCodeConstants();
+    field public static final int DEVICE_CORRUPTED = 61; // 0x3d
+    field public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12; // 0xc
+    field public static final int DOWNLOAD_TRANSFER_ERROR = 9; // 0x9
+    field public static final int ERROR = 1; // 0x1
+    field public static final int FILESYSTEM_COPIER_ERROR = 4; // 0x4
+    field public static final int INSTALL_DEVICE_OPEN_ERROR = 7; // 0x7
+    field public static final int KERNEL_DEVICE_OPEN_ERROR = 8; // 0x8
+    field public static final int NOT_ENOUGH_SPACE = 60; // 0x3c
+    field public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10; // 0xa
+    field public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6; // 0x6
+    field public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11; // 0xb
+    field public static final int PAYLOAD_TIMESTAMP_ERROR = 51; // 0x33
+    field public static final int POST_INSTALL_RUNNER_ERROR = 5; // 0x5
+    field public static final int SUCCESS = 0; // 0x0
+    field public static final int UPDATED_BUT_NOT_ACTIVE = 52; // 0x34
+  }
+
+  public static final class UpdateEngine.UpdateStatusConstants {
+    ctor public UpdateEngine.UpdateStatusConstants();
+    field public static final int ATTEMPTING_ROLLBACK = 8; // 0x8
+    field public static final int CHECKING_FOR_UPDATE = 1; // 0x1
+    field public static final int DISABLED = 9; // 0x9
+    field public static final int DOWNLOADING = 3; // 0x3
+    field public static final int FINALIZING = 5; // 0x5
+    field public static final int IDLE = 0; // 0x0
+    field public static final int REPORTING_ERROR_EVENT = 7; // 0x7
+    field public static final int UPDATED_NEED_REBOOT = 6; // 0x6
+    field public static final int UPDATE_AVAILABLE = 2; // 0x2
+    field public static final int VERIFYING = 4; // 0x4
+  }
+
+  public abstract class UpdateEngineCallback {
+    ctor public UpdateEngineCallback();
+    method public abstract void onPayloadApplicationComplete(int);
+    method public abstract void onStatusUpdate(int, float);
+  }
+
+  public final class UserHandle implements android.os.Parcelable {
+    method @NonNull public static String formatUid(int);
+    method public static int getAppId(int);
+    method public int getIdentifier();
+    method public int getUid(int);
+    method @Deprecated public boolean isOwner();
+    method public boolean isSystem();
+    method public static int myUserId();
+    method public static android.os.UserHandle of(int);
+    field @NonNull public static final android.os.UserHandle ALL;
+    field @NonNull public static final android.os.UserHandle CURRENT;
+    field @NonNull public static final android.os.UserHandle SYSTEM;
+  }
+
+  public class UserManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean canHaveRestrictedProfile();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.UserHandle createProfile(@NonNull String, @NonNull String, @NonNull java.util.Set<java.lang.String>) throws android.os.UserManager.UserOperationException;
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getAllProfiles();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getEnabledProfiles();
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.UserHandle getRestrictedProfileParent();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public long[] getSerialNumbersOfUsers(boolean);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
+    method @Deprecated @android.os.UserManager.UserRestrictionSource @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserRestrictionSource(String, android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserManager.EnforcingUser> getUserRestrictionSources(String, android.os.UserHandle);
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public int getUserSwitchability();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean hasUserRestrictionForUser(@NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isAdminUser();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isCloneProfile();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isGuestUser();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isManagedProfile(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isMediaSharedWithParent();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isPrimaryUser();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isProfile();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isRestrictedProfile(@NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public boolean isUserNameSet();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUserOfType(@NonNull String);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
+    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
+    field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
+    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
+    field public static final int RESTRICTION_NOT_SET = 0; // 0x0
+    field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
+    field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
+    field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
+    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
+    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
+    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
+    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
+    field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY";
+    field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM";
+    field public static final String USER_TYPE_PROFILE_CLONE = "android.os.usertype.profile.CLONE";
+    field public static final String USER_TYPE_PROFILE_MANAGED = "android.os.usertype.profile.MANAGED";
+    field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS";
+  }
+
+  public static final class UserManager.EnforcingUser implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.os.UserHandle getUserHandle();
+    method @android.os.UserManager.UserRestrictionSource public int getUserRestrictionSource();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
+  }
+
+  @IntDef(flag=true, prefix={"RESTRICTION_"}, value={android.os.UserManager.RESTRICTION_NOT_SET, android.os.UserManager.RESTRICTION_SOURCE_SYSTEM, android.os.UserManager.RESTRICTION_SOURCE_DEVICE_OWNER, android.os.UserManager.RESTRICTION_SOURCE_PROFILE_OWNER}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface UserManager.UserRestrictionSource {
+  }
+
+  public abstract class Vibrator {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
+  }
+
+  public static interface Vibrator.OnVibratorStateChangedListener {
+    method public void onVibratorStateChanged(boolean);
+  }
+
+  public class WorkSource implements android.os.Parcelable {
+    ctor public WorkSource(int);
+    ctor public WorkSource(int, @NonNull String);
+    method public android.os.WorkSource.WorkChain createWorkChain();
+    method @Nullable public String getPackageName(int);
+    method public int getUid(int);
+    method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains();
+    method public boolean isEmpty();
+    method public int size();
+    method @NonNull public android.os.WorkSource withoutNames();
+  }
+
+  public static final class WorkSource.WorkChain implements android.os.Parcelable {
+    ctor public WorkSource.WorkChain();
+    method public android.os.WorkSource.WorkChain addNode(int, @Nullable String);
+    method public int describeContents();
+    method public String getAttributionTag();
+    method public int getAttributionUid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
+  }
+
+}
+
+package android.os.connectivity {
+
+  public final class CellularBatteryStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getEnergyConsumedMaMillis();
+    method public long getIdleTimeMillis();
+    method public long getKernelActiveTimeMillis();
+    method public long getLoggingDurationMillis();
+    method public long getMonitoredRailChargeConsumedMaMillis();
+    method public long getNumBytesRx();
+    method public long getNumBytesTx();
+    method public long getNumPacketsRx();
+    method public long getNumPacketsTx();
+    method public long getRxTimeMillis();
+    method public long getSleepTimeMillis();
+    method @NonNull public long getTimeInRatMicros(int);
+    method @NonNull public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR;
+  }
+
+  public final class WifiActivityEnergyInfo implements android.os.Parcelable {
+    ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long);
+    method public int describeContents();
+    method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules();
+    method @IntRange(from=0) public long getControllerIdleDurationMillis();
+    method @IntRange(from=0) public long getControllerRxDurationMillis();
+    method @IntRange(from=0) public long getControllerScanDurationMillis();
+    method @IntRange(from=0) public long getControllerTxDurationMillis();
+    method public int getStackState();
+    method public long getTimeSinceBootMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR;
+    field public static final int STACK_STATE_INVALID = 0; // 0x0
+    field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1
+    field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3
+    field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2
+  }
+
+  public final class WifiBatteryStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getAppScanRequestCount();
+    method public long getEnergyConsumedMaMillis();
+    method public long getIdleTimeMillis();
+    method public long getKernelActiveTimeMillis();
+    method public long getLoggingDurationMillis();
+    method public long getMonitoredRailChargeConsumedMaMillis();
+    method public long getNumBytesRx();
+    method public long getNumBytesTx();
+    method public long getNumPacketsRx();
+    method public long getNumPacketsTx();
+    method public long getRxTimeMillis();
+    method public long getScanTimeMillis();
+    method public long getSleepTimeMillis();
+    method public long getTxTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR;
+  }
+
+}
+
+package android.os.image {
+
+  public class DynamicSystemClient {
+    ctor public DynamicSystemClient(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void bind();
+    method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
+    method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long, long);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void unbind();
+    field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6
+    field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4
+    field public static final int CAUSE_ERROR_IO = 3; // 0x3
+    field public static final int CAUSE_ERROR_IPC = 5; // 0x5
+    field public static final int CAUSE_INSTALL_CANCELLED = 2; // 0x2
+    field public static final int CAUSE_INSTALL_COMPLETED = 1; // 0x1
+    field public static final int CAUSE_NOT_SPECIFIED = 0; // 0x0
+    field public static final int STATUS_IN_PROGRESS = 2; // 0x2
+    field public static final int STATUS_IN_USE = 4; // 0x4
+    field public static final int STATUS_NOT_STARTED = 1; // 0x1
+    field public static final int STATUS_READY = 3; // 0x3
+    field public static final int STATUS_UNKNOWN = 0; // 0x0
+  }
+
+  public static interface DynamicSystemClient.OnStatusChangedListener {
+    method public void onStatusChanged(int, int, long, @Nullable Throwable);
+  }
+
+}
+
+package android.os.storage {
+
+  public class StorageManager {
+    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long, @RequiresPermission int) throws java.io.IOException;
+    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
+    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public int getExternalStorageMountMode(int, @NonNull String);
+    method public static boolean hasIsolatedStorage();
+    method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
+    field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
+    field public static final int MOUNT_MODE_EXTERNAL_ANDROID_WRITABLE = 4; // 0x4
+    field public static final int MOUNT_MODE_EXTERNAL_DEFAULT = 1; // 0x1
+    field public static final int MOUNT_MODE_EXTERNAL_INSTALLER = 2; // 0x2
+    field public static final int MOUNT_MODE_EXTERNAL_NONE = 0; // 0x0
+    field public static final int MOUNT_MODE_EXTERNAL_PASS_THROUGH = 3; // 0x3
+    field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
+    field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
+    field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
+    field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
+  }
+
+  public final class StorageVolume implements android.os.Parcelable {
+    method @NonNull public String getId();
+  }
+
+}
+
+package android.permission {
+
+  public final class AdminPermissionControlParams implements android.os.Parcelable {
+    method public boolean canAdminGrantSensorsPermissions();
+    method public int describeContents();
+    method public int getGrantState();
+    method @NonNull public String getGranteePackageName();
+    method @NonNull public String getPermission();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.permission.AdminPermissionControlParams> CREATOR;
+  }
+
+  public final class PermissionControllerManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void applyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public void getRuntimePermissionBackup(@NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<byte[]>);
+    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>, boolean, int, @NonNull java.util.concurrent.Executor, @NonNull android.permission.PermissionControllerManager.OnRevokeRuntimePermissionsCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
+    field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1
+    field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2
+    field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2
+    field public static final int REASON_MALWARE = 1; // 0x1
+  }
+
+  public abstract static class PermissionControllerManager.OnRevokeRuntimePermissionsCallback {
+    ctor public PermissionControllerManager.OnRevokeRuntimePermissionsCallback();
+    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
+  }
+
+  public abstract class PermissionControllerService extends android.app.Service {
+    ctor public PermissionControllerService();
+    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public String getPrivilegesDescriptionStringForProfile(@NonNull String);
+    method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @NonNull public final android.os.IBinder onBind(android.content.Intent);
+    method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer);
+    method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>);
+    method @BinderThread public void onGetGroupOfPlatformPermission(@NonNull String, @NonNull java.util.function.Consumer<java.lang.String>);
+    method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>);
+    method @BinderThread public void onGetPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
+    method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable);
+    method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable);
+    method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String);
+    method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
+    method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable);
+    method @BinderThread public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>, boolean, int, @NonNull String, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,java.util.List<java.lang.String>>>);
+    method @Deprecated @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @BinderThread public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull android.permission.AdminPermissionControlParams, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
+    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
+    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
+    field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
+  }
+
+  public final class PermissionManager {
+    method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
+    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
+    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();
+    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
+    method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
+  }
+
+  public static final class PermissionManager.SplitPermissionInfo {
+    method @NonNull public java.util.List<java.lang.String> getNewPermissions();
+    method @NonNull public String getSplitPermission();
+    method public int getTargetSdk();
+  }
+
+  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
+    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
+    method public int describeContents();
+    method @NonNull public CharSequence getLabel();
+    method public boolean isGranted();
+    method public boolean isStandard();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
+  }
+
+  public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
+    ctor public RuntimePermissionUsageInfo(@NonNull String, int);
+    method public int describeContents();
+    method public int getAppAccessCount();
+    method @NonNull public String getName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
+  }
+
+}
+
+package android.permissionpresenterservice {
+
+  @Deprecated public abstract class RuntimePermissionPresenterService extends android.app.Service {
+    ctor @Deprecated public RuntimePermissionPresenterService();
+    method @Deprecated public final void attachBaseContext(android.content.Context);
+    method @Deprecated public final android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
+    field @Deprecated public static final String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
+  }
+
+}
+
+package android.preference {
+
+  @Deprecated public class PreferenceManager {
+    method @Deprecated public boolean isStorageCredentialProtected();
+    method @Deprecated public void setStorageCredentialProtected();
+  }
+
+}
+
+package android.print {
+
+  public final class PrintManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void addPrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void addPrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener, @Nullable android.os.Handler);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public java.util.List<android.printservice.recommendation.RecommendationInfo> getPrintServiceRecommendations();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void removePrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener);
+    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void removePrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener);
+    field public static final int ENABLED_SERVICES = 1; // 0x1
+  }
+
+  public static interface PrintManager.PrintServiceRecommendationsChangeListener {
+    method public void onPrintServiceRecommendationsChanged();
+  }
+
+  public static interface PrintManager.PrintServicesChangeListener {
+    method public void onPrintServicesChanged();
+  }
+
+}
+
+package android.printservice {
+
+  public final class PrintServiceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.ComponentName getComponentName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
+  }
+
+}
+
+package android.printservice.recommendation {
+
+  public final class RecommendationInfo implements android.os.Parcelable {
+    ctor public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @NonNull java.util.List<java.net.InetAddress>, boolean);
+    ctor @Deprecated public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @IntRange(from=0) int, boolean);
+    method public int describeContents();
+    method @NonNull public java.util.List<java.net.InetAddress> getDiscoveredPrinters();
+    method public CharSequence getName();
+    method public int getNumDiscoveredPrinters();
+    method public CharSequence getPackageName();
+    method public boolean recommendsMultiVendorService();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
+  }
+
+  public abstract class RecommendationService extends android.app.Service {
+    ctor public RecommendationService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract void onConnected();
+    method public abstract void onDisconnected();
+    method public final void updateRecommendations(@Nullable java.util.List<android.printservice.recommendation.RecommendationInfo>);
+    field public static final String SERVICE_INTERFACE = "android.printservice.recommendation.RecommendationService";
+  }
+
+}
+
+package android.provider {
+
+  public class CallLog {
+    method @RequiresPermission(allOf={android.Manifest.permission.WRITE_CALL_LOG, android.Manifest.permission.INTERACT_ACROSS_USERS}) public static void storeCallComposerPicture(@NonNull android.content.Context, @NonNull java.io.InputStream, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.net.Uri,android.provider.CallLog.CallComposerLoggingException>);
+  }
+
+  public static class CallLog.CallComposerLoggingException extends java.lang.Throwable {
+    ctor public CallLog.CallComposerLoggingException(int);
+    method public int getErrorCode();
+    field public static final int ERROR_INPUT_CLOSED = 3; // 0x3
+    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
+    field public static final int ERROR_STORAGE_FULL = 2; // 0x2
+    field public static final int ERROR_UNKNOWN = 0; // 0x0
+  }
+
+  @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns {
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
+    field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI;
+  }
+
+  @Deprecated protected static interface ContactsContract.MetadataSyncColumns {
+    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
+    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
+    field @Deprecated public static final String DATA = "data";
+    field @Deprecated public static final String DATA_SET = "data_set";
+    field @Deprecated public static final String DELETED = "deleted";
+    field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
+  }
+
+  @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns {
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+  }
+
+  @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns {
+    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
+    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
+    field @Deprecated public static final String DATA_SET = "data_set";
+    field @Deprecated public static final String STATE = "state";
+  }
+
+  public static final class ContactsContract.SimContacts {
+    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
+    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
+  }
+
+  public final class DeviceConfig {
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
+    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperties(@NonNull android.provider.DeviceConfig.Properties) throws android.provider.DeviceConfig.BadConfigException;
+    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean);
+    field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
+    field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
+    field public static final String NAMESPACE_APPSEARCH = "appsearch";
+    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
+    field public static final String NAMESPACE_APP_HIBERNATION = "app_hibernation";
+    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
+    field public static final String NAMESPACE_AUTOFILL = "autofill";
+    field public static final String NAMESPACE_BATTERY_SAVER = "battery_saver";
+    field public static final String NAMESPACE_BIOMETRICS = "biometrics";
+    field public static final String NAMESPACE_BLOBSTORE = "blobstore";
+    field public static final String NAMESPACE_BLUETOOTH = "bluetooth";
+    field public static final String NAMESPACE_CLIPBOARD = "clipboard";
+    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
+    field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
+    field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot";
+    field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager";
+    field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
+    field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
+    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
+    field public static final String NAMESPACE_LOCATION = "location";
+    field public static final String NAMESPACE_MEDIA = "media";
+    field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
+    field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
+    field public static final String NAMESPACE_OTA = "ota";
+    field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service";
+    field public static final String NAMESPACE_PERMISSIONS = "permissions";
+    field public static final String NAMESPACE_PRIVACY = "privacy";
+    field public static final String NAMESPACE_PROFCOLLECT_NATIVE_BOOT = "profcollect_native_boot";
+    field public static final String NAMESPACE_REBOOT_READINESS = "reboot_readiness";
+    field public static final String NAMESPACE_ROLLBACK = "rollback";
+    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
+    field public static final String NAMESPACE_RUNTIME = "runtime";
+    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
+    field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
+    field public static final String NAMESPACE_SCHEDULER = "scheduler";
+    field public static final String NAMESPACE_STATSD_JAVA = "statsd_java";
+    field public static final String NAMESPACE_STATSD_JAVA_BOOT = "statsd_java_boot";
+    field public static final String NAMESPACE_STATSD_NATIVE = "statsd_native";
+    field public static final String NAMESPACE_STATSD_NATIVE_BOOT = "statsd_native_boot";
+    field @Deprecated public static final String NAMESPACE_STORAGE = "storage";
+    field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot";
+    field public static final String NAMESPACE_SYSTEMUI = "systemui";
+    field public static final String NAMESPACE_SYSTEM_TIME = "system_time";
+    field public static final String NAMESPACE_TELEPHONY = "telephony";
+    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
+    field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
+  }
+
+  public static class DeviceConfig.BadConfigException extends java.lang.Exception {
+    ctor public DeviceConfig.BadConfigException();
+  }
+
+  public static interface DeviceConfig.OnPropertiesChangedListener {
+    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
+  }
+
+  public static class DeviceConfig.Properties {
+    method public boolean getBoolean(@NonNull String, boolean);
+    method public float getFloat(@NonNull String, float);
+    method public int getInt(@NonNull String, int);
+    method @NonNull public java.util.Set<java.lang.String> getKeyset();
+    method public long getLong(@NonNull String, long);
+    method @NonNull public String getNamespace();
+    method @Nullable public String getString(@NonNull String, @Nullable String);
+  }
+
+  public static final class DeviceConfig.Properties.Builder {
+    ctor public DeviceConfig.Properties.Builder(@NonNull String);
+    method @NonNull public android.provider.DeviceConfig.Properties build();
+    method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean);
+    method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float);
+    method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int);
+    method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long);
+    method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String);
+  }
+
+  public final class DocumentsContract {
+    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
+    method public static boolean isManageMode(@NonNull android.net.Uri);
+    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
+    field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
+    field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
+    field public static final String DOWNLOADS_PROVIDER_AUTHORITY = "downloads";
+    field public static final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
+    field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
+  }
+
+  public static final class DocumentsContract.Root {
+    field public static final int FLAG_ADVANCED = 65536; // 0x10000
+    field public static final int FLAG_HAS_SETTINGS = 131072; // 0x20000
+    field public static final int FLAG_REMOVABLE_SD = 262144; // 0x40000
+    field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000
+  }
+
+  public abstract class SearchIndexableData {
+    ctor public SearchIndexableData();
+    ctor public SearchIndexableData(android.content.Context);
+    field public String className;
+    field public android.content.Context context;
+    field public boolean enabled;
+    field public int iconResId;
+    field public String intentAction;
+    field public String intentTargetClass;
+    field public String intentTargetPackage;
+    field public String key;
+    field public java.util.Locale locale;
+    field public String packageName;
+    field public int rank;
+    field public int userId;
+  }
+
+  public class SearchIndexableResource extends android.provider.SearchIndexableData {
+    ctor public SearchIndexableResource(int, int, String, int);
+    ctor public SearchIndexableResource(android.content.Context);
+    field public int xmlResId;
+  }
+
+  public class SearchIndexablesContract {
+    ctor public SearchIndexablesContract();
+    field public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0; // 0x0
+    field public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7; // 0x7
+    field public static final int COLUMN_INDEX_RAW_ENTRIES = 4; // 0x4
+    field public static final int COLUMN_INDEX_RAW_ICON_RESID = 8; // 0x8
+    field public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9; // 0x9
+    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; // 0xb
+    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10; // 0xa
+    field public static final int COLUMN_INDEX_RAW_KEY = 12; // 0xc
+    field public static final int COLUMN_INDEX_RAW_KEYWORDS = 5; // 0x5
+    field public static final int COLUMN_INDEX_RAW_RANK = 0; // 0x0
+    field public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6; // 0x6
+    field public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3; // 0x3
+    field public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2; // 0x2
+    field public static final int COLUMN_INDEX_RAW_TITLE = 1; // 0x1
+    field public static final int COLUMN_INDEX_RAW_USER_ID = 13; // 0xd
+    field public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2; // 0x2
+    field public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3; // 0x3
+    field public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4; // 0x4
+    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6; // 0x6
+    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5
+    field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0
+    field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1
+    field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw";
+    field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw";
+    field public static final String INDEXABLES_RAW = "indexables_raw";
+    field public static final String[] INDEXABLES_RAW_COLUMNS;
+    field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw";
+    field public static final String INDEXABLES_XML_RES = "indexables_xml_res";
+    field public static final String[] INDEXABLES_XML_RES_COLUMNS;
+    field public static final String INDEXABLES_XML_RES_PATH = "settings/indexables_xml_res";
+    field public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
+    field public static final String[] NON_INDEXABLES_KEYS_COLUMNS;
+    field public static final String NON_INDEXABLES_KEYS_PATH = "settings/non_indexables_key";
+    field public static final String PROVIDER_INTERFACE = "android.content.action.SEARCH_INDEXABLES_PROVIDER";
+    field public static final String SLICE_URI_PAIRS = "slice_uri_pairs";
+    field @NonNull public static final String[] SLICE_URI_PAIRS_COLUMNS;
+    field public static final String SLICE_URI_PAIRS_PATH = "settings/slice_uri_pairs";
+  }
+
+  public static class SearchIndexablesContract.BaseColumns {
+    field public static final String COLUMN_CLASS_NAME = "className";
+    field public static final String COLUMN_ICON_RESID = "iconResId";
+    field public static final String COLUMN_INTENT_ACTION = "intentAction";
+    field public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
+    field public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
+    field public static final String COLUMN_RANK = "rank";
+  }
+
+  public static final class SearchIndexablesContract.NonIndexableKey extends android.provider.SearchIndexablesContract.BaseColumns {
+    field public static final String COLUMN_KEY_VALUE = "key";
+    field public static final String MIME_TYPE = "vnd.android.cursor.dir/non_indexables_key";
+  }
+
+  public static final class SearchIndexablesContract.RawData extends android.provider.SearchIndexablesContract.BaseColumns {
+    field public static final String COLUMN_ENTRIES = "entries";
+    field public static final String COLUMN_KEY = "key";
+    field public static final String COLUMN_KEYWORDS = "keywords";
+    field public static final String COLUMN_SCREEN_TITLE = "screenTitle";
+    field public static final String COLUMN_SUMMARY_OFF = "summaryOff";
+    field public static final String COLUMN_SUMMARY_ON = "summaryOn";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_USER_ID = "user_id";
+    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_raw";
+  }
+
+  public static final class SearchIndexablesContract.SliceUriPairColumns {
+    field public static final String KEY = "key";
+    field public static final String SLICE_URI = "slice_uri";
+  }
+
+  public static final class SearchIndexablesContract.XmlResource extends android.provider.SearchIndexablesContract.BaseColumns {
+    field public static final String COLUMN_XML_RESID = "xmlResId";
+    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_xml_res";
+  }
+
+  public abstract class SearchIndexablesProvider extends android.content.ContentProvider {
+    ctor public SearchIndexablesProvider();
+    method public final int delete(android.net.Uri, String, String[]);
+    method public String getType(android.net.Uri);
+    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
+    method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]);
+    method public abstract android.database.Cursor queryNonIndexableKeys(String[]);
+    method public abstract android.database.Cursor queryRawData(String[]);
+    method @Nullable public android.database.Cursor querySliceUriPairs();
+    method public abstract android.database.Cursor queryXmlResources(String[]);
+    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
+  }
+
+  public final class Settings {
+    method @Deprecated public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean);
+    method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, @Nullable String, boolean);
+    field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
+    field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS";
+    field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
+    field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
+    field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION";
+    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
+    field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS";
+    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS";
+    field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
+    field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
+    field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI";
+    field public static final String ACTION_TETHER_SETTINGS = "android.settings.TETHER_SETTINGS";
+  }
+
+  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
+    field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";
+    field public static final String APP_STANDBY_ENABLED = "app_standby_enabled";
+    field public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
+    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
+    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
+    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
+    field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
+    field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
+    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
+    field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries";
+    field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries";
+    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
+    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis";
+    field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update";
+    field public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
+    field public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled";
+    field public static final String TETHER_SUPPORTED = "tether_supported";
+    field public static final String THEATER_MODE_ON = "theater_mode_on";
+    field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess";
+    field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds";
+    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
+  }
+
+  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
+    field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled";
+    field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete";
+    field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
+    field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
+    field public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size";
+    field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size";
+    field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length";
+    field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length";
+    field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled";
+    field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category.";
+    field public static final String DOZE_ALWAYS_ON = "doze_always_on";
+    field public static final String HUSH_GESTURE_USED = "hush_gesture_used";
+    field public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled";
+    field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
+    field public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
+    field public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
+    field public static final int LOCATION_MODE_ON = 3; // 0x3
+    field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
+    field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
+    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
+    field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
+    field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
+    field public static final String UI_TRANSLATION_ENABLED = "ui_translation_enabled";
+    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
+    field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
+    field public static final int USER_SETUP_PERSONALIZATION_NOT_STARTED = 0; // 0x0
+    field public static final int USER_SETUP_PERSONALIZATION_PAUSED = 2; // 0x2
+    field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
+    field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
+    field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
+    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
+    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
+    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
+  }
+
+  public static final class Settings.System extends android.provider.Settings.NameValueTable {
+    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean);
+  }
+
+  public static final class SimPhonebookContract.SimRecords {
+    field public static final String QUERY_ARG_PIN2 = "android:query-arg-pin2";
+  }
+
+  public static final class Telephony.Carriers implements android.provider.BaseColumns {
+    field public static final String APN_SET_ID = "apn_set_id";
+    field public static final int CARRIER_EDITED = 4; // 0x4
+    field public static final String EDITED_STATUS = "edited";
+    field public static final int MATCH_ALL_APN_SET_ID = -1; // 0xffffffff
+    field public static final String MAX_CONNECTIONS = "max_conns";
+    field public static final String MODEM_PERSIST = "modem_cognitive";
+    field public static final String MTU = "mtu";
+    field public static final int NO_APN_SET_ID = 0; // 0x0
+    field public static final String TIME_LIMIT_FOR_MAX_CONNECTIONS = "max_conns_time";
+    field public static final int UNEDITED = 0; // 0x0
+    field public static final int USER_DELETED = 2; // 0x2
+    field public static final String USER_EDITABLE = "user_editable";
+    field public static final int USER_EDITED = 1; // 0x1
+    field public static final String USER_VISIBLE = "user_visible";
+    field public static final String WAIT_TIME_RETRY = "wait_time";
+  }
+
+  public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
+    field @NonNull public static final String AUTHORITY_LEGACY = "cellbroadcast-legacy";
+    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
+    field @NonNull public static final String CALL_METHOD_GET_PREFERENCE = "get_preference";
+    field public static final String CID = "cid";
+    field public static final String CMAS_CATEGORY = "cmas_category";
+    field public static final String CMAS_CERTAINTY = "cmas_certainty";
+    field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
+    field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
+    field public static final String CMAS_SEVERITY = "cmas_severity";
+    field public static final String CMAS_URGENCY = "cmas_urgency";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final String DATA_CODING_SCHEME = "dcs";
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+    field public static final String DELIVERY_TIME = "date";
+    field public static final String ETWS_IS_PRIMARY = "etws_is_primary";
+    field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
+    field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
+    field public static final String GEOMETRIES = "geometries";
+    field public static final String LAC = "lac";
+    field public static final String LANGUAGE_CODE = "language";
+    field public static final String LOCATION_CHECK_TIME = "location_check_time";
+    field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
+    field public static final String MESSAGE_BODY = "body";
+    field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
+    field public static final String MESSAGE_DISPLAYED = "message_displayed";
+    field public static final String MESSAGE_FORMAT = "format";
+    field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
+    field public static final String MESSAGE_PRIORITY = "priority";
+    field public static final String MESSAGE_READ = "read";
+    field public static final String PLMN = "plmn";
+    field public static final String RECEIVED_TIME = "received_time";
+    field public static final String SERIAL_NUMBER = "serial_number";
+    field public static final String SERVICE_CATEGORY = "service_category";
+    field public static final String SLOT_INDEX = "slot_index";
+    field public static final String SUBSCRIPTION_ID = "sub_id";
+  }
+
+  public static final class Telephony.CellBroadcasts.Preference {
+    field @NonNull public static final String ENABLE_ALERT_VIBRATION_PREF = "enable_alert_vibrate";
+    field @NonNull public static final String ENABLE_AREA_UPDATE_INFO_PREF = "enable_area_update_info_alerts";
+    field @NonNull public static final String ENABLE_CMAS_AMBER_PREF = "enable_cmas_amber_alerts";
+    field @NonNull public static final String ENABLE_CMAS_EXTREME_THREAT_PREF = "enable_cmas_extreme_threat_alerts";
+    field @NonNull public static final String ENABLE_CMAS_IN_SECOND_LANGUAGE_PREF = "receive_cmas_in_second_language";
+    field @NonNull public static final String ENABLE_CMAS_PRESIDENTIAL_PREF = "enable_cmas_presidential_alerts";
+    field @NonNull public static final String ENABLE_CMAS_SEVERE_THREAT_PREF = "enable_cmas_severe_threat_alerts";
+    field @NonNull public static final String ENABLE_EMERGENCY_PERF = "enable_emergency_alerts";
+    field @NonNull public static final String ENABLE_PUBLIC_SAFETY_PREF = "enable_public_safety_messages";
+    field @NonNull public static final String ENABLE_STATE_LOCAL_TEST_PREF = "enable_state_local_test_alerts";
+    field @NonNull public static final String ENABLE_TEST_ALERT_PREF = "enable_test_alerts";
+  }
+
+  public static final class Telephony.Sms.Intents {
+    field public static final String ACTION_SMS_EMERGENCY_CB_RECEIVED = "android.provider.action.SMS_EMERGENCY_CB_RECEIVED";
+  }
+
+  public final class TimeZoneRulesDataContract {
+    field public static final String AUTHORITY = "com.android.timezone";
+  }
+
+  public static final class TimeZoneRulesDataContract.Operation {
+    field public static final String COLUMN_DISTRO_MAJOR_VERSION = "distro_major_version";
+    field public static final String COLUMN_DISTRO_MINOR_VERSION = "distro_minor_version";
+    field public static final String COLUMN_REVISION = "revision";
+    field public static final String COLUMN_RULES_VERSION = "rules_version";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String TYPE_INSTALL = "INSTALL";
+    field public static final String TYPE_NO_OP = "NOOP";
+    field public static final String TYPE_UNINSTALL = "UNINSTALL";
+  }
+
+}
+
+package android.se.omapi {
+
+  public final class Reader {
+    method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
+  }
+
+}
+
+package android.security {
+
+  public final class KeyChain {
+    method @Nullable @WorkerThread public static String getWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
+    method @WorkerThread public static boolean hasWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
+  }
+
+}
+
+package android.security.keystore {
+
+  public class AndroidKeyStoreProvider extends java.security.Provider {
+    method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
+  }
+
+  public abstract class AttestationUtils {
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static java.security.cert.X509Certificate[] attestDeviceIds(android.content.Context, @NonNull int[], @NonNull byte[]) throws android.security.keystore.DeviceIdAttestationException;
+    field public static final int ID_TYPE_IMEI = 2; // 0x2
+    field public static final int ID_TYPE_MEID = 3; // 0x3
+    field public static final int ID_TYPE_SERIAL = 1; // 0x1
+    field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4
+  }
+
+  public class DeviceIdAttestationException extends java.lang.Exception {
+    ctor public DeviceIdAttestationException(@Nullable String);
+    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
+  }
+
+  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    method @NonNull public int[] getAttestationIds();
+    method public int getNamespace();
+  }
+
+  public static final class KeyGenParameterSpec.Builder {
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationIds(@NonNull int[]);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setNamespace(int);
+    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int);
+  }
+
+  public abstract class KeyProperties {
+    field public static final int NAMESPACE_APPLICATION = -1; // 0xffffffff
+    field public static final int NAMESPACE_WIFI = 102; // 0x66
+  }
+
+}
+
+package android.security.keystore.recovery {
+
+  public class DecryptionFailedException extends java.security.GeneralSecurityException {
+    ctor public DecryptionFailedException(String);
+  }
+
+  public class InternalRecoveryServiceException extends java.security.GeneralSecurityException {
+    ctor public InternalRecoveryServiceException(String);
+    ctor public InternalRecoveryServiceException(String, Throwable);
+  }
+
+  public final class KeyChainProtectionParams implements android.os.Parcelable {
+    method public void clearSecret();
+    method public int describeContents();
+    method @NonNull public android.security.keystore.recovery.KeyDerivationParams getKeyDerivationParams();
+    method public int getLockScreenUiFormat();
+    method @NonNull public byte[] getSecret();
+    method public int getUserSecretType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
+    field public static final int TYPE_LOCKSCREEN = 100; // 0x64
+    field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
+    field public static final int UI_FORMAT_PATTERN = 3; // 0x3
+    field public static final int UI_FORMAT_PIN = 1; // 0x1
+  }
+
+  public static class KeyChainProtectionParams.Builder {
+    ctor public KeyChainProtectionParams.Builder();
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
+  }
+
+  public final class KeyChainSnapshot implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getCounterId();
+    method @NonNull public byte[] getEncryptedRecoveryKeyBlob();
+    method @NonNull public java.util.List<android.security.keystore.recovery.KeyChainProtectionParams> getKeyChainProtectionParams();
+    method public int getMaxAttempts();
+    method @NonNull public byte[] getServerParams();
+    method public int getSnapshotVersion();
+    method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
+    method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
+  }
+
+  public final class KeyDerivationParams implements android.os.Parcelable {
+    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createScryptParams(@NonNull byte[], int);
+    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createSha256Params(@NonNull byte[]);
+    method public int describeContents();
+    method public int getAlgorithm();
+    method public int getMemoryDifficulty();
+    method @NonNull public byte[] getSalt();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ALGORITHM_SCRYPT = 2; // 0x2
+    field public static final int ALGORITHM_SHA256 = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
+  }
+
+  public class LockScreenRequiredException extends java.security.GeneralSecurityException {
+    ctor public LockScreenRequiredException(String);
+  }
+
+  public class RecoveryController {
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.RecoverySession createRecoverySession();
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key generateKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key generateKey(@NonNull String, @Nullable byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.List<java.lang.String> getAliases() throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static android.security.keystore.recovery.RecoveryController getInstance(@NonNull android.content.Context);
+    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key getKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, java.security.UnrecoverableKeyException;
+    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.KeyChainSnapshot getKeyChainSnapshot() throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int[] getRecoverySecretTypes() throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int getRecoveryStatus(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.cert.X509Certificate> getRootCertificates();
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key importKey(@NonNull String, @NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key importKey(@NonNull String, @NonNull byte[], @Nullable byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void initRecoveryService(@NonNull String, @NonNull byte[], @NonNull byte[]) throws java.security.cert.CertificateException, android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static boolean isRecoverableKeyStoreEnabled(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void removeKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoverySecretTypes(@NonNull int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoveryStatus(@NonNull String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setServerParams(@NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setSnapshotCreatedPendingIntent(@Nullable android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
+    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
+    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
+  }
+
+  public class RecoverySession implements java.lang.AutoCloseable {
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void close();
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.Key> recoverKeyChainSnapshot(@NonNull byte[], @NonNull java.util.List<android.security.keystore.recovery.WrappedApplicationKey>) throws android.security.keystore.recovery.DecryptionFailedException, android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.SessionExpiredException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public byte[] start(@NonNull String, @NonNull java.security.cert.CertPath, @NonNull byte[], @NonNull byte[], @NonNull java.util.List<android.security.keystore.recovery.KeyChainProtectionParams>) throws java.security.cert.CertificateException, android.security.keystore.recovery.InternalRecoveryServiceException;
+  }
+
+  public class SessionExpiredException extends java.security.GeneralSecurityException {
+    ctor public SessionExpiredException(String);
+  }
+
+  public final class WrappedApplicationKey implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getAlias();
+    method @NonNull public byte[] getEncryptedKeyMaterial();
+    method @Nullable public byte[] getMetadata();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
+  }
+
+  public static class WrappedApplicationKey.Builder {
+    ctor public WrappedApplicationKey.Builder();
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
+  }
+
+}
+
+package android.service.appprediction {
+
+  public abstract class AppPredictionService extends android.app.Service {
+    ctor public AppPredictionService();
+    method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
+    method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
+    method @MainThread public abstract void onLaunchLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
+    method @MainThread public abstract void onRequestPredictionUpdate(@NonNull android.app.prediction.AppPredictionSessionId);
+    method @MainThread public abstract void onSortAppTargets(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<java.util.List<android.app.prediction.AppTarget>>);
+    method @MainThread public void onStartPredictionUpdates();
+    method @MainThread public void onStopPredictionUpdates();
+    method public final void updatePredictions(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>);
+  }
+
+}
+
+package android.service.attention {
+
+  public abstract class AttentionService extends android.app.Service {
+    ctor public AttentionService();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onCancelAttentionCheck(@NonNull android.service.attention.AttentionService.AttentionCallback);
+    method public abstract void onCheckAttention(@NonNull android.service.attention.AttentionService.AttentionCallback);
+    field public static final int ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT = 6; // 0x6
+    field public static final int ATTENTION_FAILURE_CANCELLED = 3; // 0x3
+    field public static final int ATTENTION_FAILURE_PREEMPTED = 4; // 0x4
+    field public static final int ATTENTION_FAILURE_TIMED_OUT = 5; // 0x5
+    field public static final int ATTENTION_FAILURE_UNKNOWN = 2; // 0x2
+    field public static final int ATTENTION_SUCCESS_ABSENT = 0; // 0x0
+    field public static final int ATTENTION_SUCCESS_PRESENT = 1; // 0x1
+    field public static final String SERVICE_INTERFACE = "android.service.attention.AttentionService";
+  }
+
+  public static final class AttentionService.AttentionCallback {
+    method public void onFailure(int);
+    method public void onSuccess(int, long);
+  }
+
+}
+
+package android.service.autofill {
+
+  public abstract class AutofillFieldClassificationService extends android.app.Service {
+    ctor public AutofillFieldClassificationService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public float[][] onCalculateScores(@NonNull java.util.List<android.view.autofill.AutofillValue>, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<java.lang.String>, @Nullable String, @Nullable android.os.Bundle, @Nullable java.util.Map, @Nullable java.util.Map);
+    method @Deprecated @Nullable public float[][] onGetScores(@Nullable String, @Nullable android.os.Bundle, @NonNull java.util.List<android.view.autofill.AutofillValue>, @NonNull java.util.List<java.lang.String>);
+    field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD";
+    field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE";
+    field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH";
+    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService";
+    field public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms";
+    field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm";
+  }
+
+  public static final class Dataset.Builder {
+    ctor public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
+    method @NonNull public android.service.autofill.Dataset.Builder setFieldInlinePresentation(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.service.autofill.InlinePresentation);
+  }
+
+  public abstract class InlineSuggestionRenderService extends android.app.Service {
+    ctor public InlineSuggestionRenderService();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo();
+    method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int);
+    method public final void startIntentSender(@NonNull android.content.IntentSender);
+    field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService";
+  }
+
+}
+
+package android.service.autofill.augmented {
+
+  public abstract class AugmentedAutofillService extends android.app.Service {
+    ctor public AugmentedAutofillService();
+    method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
+    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
+    method public void onConnected();
+    method public void onDisconnected();
+    method public void onFillRequest(@NonNull android.service.autofill.augmented.FillRequest, @NonNull android.os.CancellationSignal, @NonNull android.service.autofill.augmented.FillController, @NonNull android.service.autofill.augmented.FillCallback);
+    method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId);
+    field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService";
+  }
+
+  public final class FillCallback {
+    method public void onSuccess(@Nullable android.service.autofill.augmented.FillResponse);
+  }
+
+  public final class FillController {
+    method public void autofill(@NonNull java.util.List<android.util.Pair<android.view.autofill.AutofillId,android.view.autofill.AutofillValue>>);
+  }
+
+  public final class FillRequest {
+    method @NonNull public android.content.ComponentName getActivityComponent();
+    method @NonNull public android.view.autofill.AutofillId getFocusedId();
+    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
+    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
+    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
+    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
+    method public int getTaskId();
+  }
+
+  public final class FillResponse {
+  }
+
+  public static final class FillResponse.Builder {
+    ctor public FillResponse.Builder();
+    method @NonNull public android.service.autofill.augmented.FillResponse build();
+    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle);
+    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
+    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>);
+  }
+
+  public final class FillWindow implements java.lang.AutoCloseable {
+    ctor public FillWindow();
+    method public void destroy();
+    method public boolean update(@NonNull android.service.autofill.augmented.PresentationParams.Area, @NonNull android.view.View, long);
+  }
+
+  public abstract class PresentationParams {
+    method @Nullable public android.service.autofill.augmented.PresentationParams.Area getSuggestionArea();
+  }
+
+  public abstract static class PresentationParams.Area {
+    method @NonNull public android.graphics.Rect getBounds();
+  }
+
+}
+
+package android.service.carrier {
+
+  public abstract class ApnService extends android.app.Service {
+    ctor public ApnService();
+    method @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
+    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
+  }
+
+  public final class CarrierMessagingServiceWrapper implements java.lang.AutoCloseable {
+    ctor public CarrierMessagingServiceWrapper();
+    method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
+    method public void disconnect();
+    method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+    method public void receiveSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+    method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+    method public void sendMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+    method public void sendMultipartTextSms(@NonNull java.util.List<java.lang.String>, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+    method public void sendTextSms(@NonNull String, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+  }
+
+  public static interface CarrierMessagingServiceWrapper.CarrierMessagingCallback {
+    method public default void onDownloadMmsComplete(int);
+    method public default void onReceiveSmsComplete(int);
+    method public default void onSendMmsComplete(int, @Nullable byte[]);
+    method public default void onSendMultipartSmsComplete(int, @Nullable int[]);
+    method public default void onSendSmsComplete(int, int);
+  }
+
+}
+
+package android.service.contentcapture {
+
+  public final class ActivityEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.ComponentName getComponentName();
+    method public int getEventType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
+    field public static final int TYPE_ACTIVITY_DESTROYED = 24; // 0x18
+    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
+    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
+    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
+  }
+
+  public abstract class ContentCaptureService extends android.app.Service {
+    ctor public ContentCaptureService();
+    method public final void disableSelf();
+    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
+    method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
+    method public void onConnected();
+    method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
+    method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId);
+    method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest);
+    method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback);
+    method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
+    method public void onDisconnected();
+    method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>);
+    method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
+    field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
+    field public static final String SERVICE_META_DATA = "android.content_capture";
+  }
+
+  public interface DataShareCallback {
+    method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter);
+    method public void onReject();
+  }
+
+  public interface DataShareReadAdapter {
+    method public void onError(int);
+    method public void onStart(@NonNull android.os.ParcelFileDescriptor);
+  }
+
+  public final class SnapshotData implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.app.assist.AssistContent getAssistContent();
+    method @NonNull public android.os.Bundle getAssistData();
+    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
+  }
+
+}
+
+package android.service.contentsuggestions {
+
+  public abstract class ContentSuggestionsService extends android.app.Service {
+    ctor public ContentSuggestionsService();
+    method public abstract void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
+    method public abstract void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
+    method public abstract void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
+    method public abstract void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
+    field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
+  }
+
+}
+
+package android.service.dataloader {
+
+  public abstract class DataLoaderService extends android.app.Service {
+    ctor public DataLoaderService();
+    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams);
+  }
+
+  public static interface DataLoaderService.DataLoader {
+    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
+    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
+  }
+
+  public static final class DataLoaderService.FileSystemConnector {
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+  }
+
+}
+
+package android.service.displayhash {
+
+  public final class DisplayHashParams implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.util.Size getBufferSize();
+    method public boolean isGrayscaleBuffer();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.displayhash.DisplayHashParams> CREATOR;
+  }
+
+  public static final class DisplayHashParams.Builder {
+    ctor public DisplayHashParams.Builder();
+    method @NonNull public android.service.displayhash.DisplayHashParams build();
+    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setBufferSize(int, int);
+    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setGrayscaleBuffer(boolean);
+  }
+
+  public abstract class DisplayHashingService extends android.app.Service {
+    ctor public DisplayHashingService();
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onGenerateDisplayHash(@NonNull byte[], @NonNull android.hardware.HardwareBuffer, @NonNull android.graphics.Rect, @NonNull String, @NonNull android.view.displayhash.DisplayHashResultCallback);
+    method @NonNull public abstract java.util.Map<java.lang.String,android.service.displayhash.DisplayHashParams> onGetDisplayHashAlgorithms();
+    method public abstract int onGetIntervalBetweenRequestsMillis();
+    method @Nullable public abstract android.view.displayhash.VerifiedDisplayHash onVerifyDisplayHash(@NonNull byte[], @NonNull android.view.displayhash.DisplayHash);
+    field public static final String SERVICE_INTERFACE = "android.service.displayhash.DisplayHashingService";
+  }
+
+}
+
+package android.service.euicc {
+
+  public final class DownloadSubscriptionResult implements android.os.Parcelable {
+    ctor public DownloadSubscriptionResult(int, int, int);
+    method public int describeContents();
+    method public int getCardId();
+    method public int getResolvableErrors();
+    method public int getResult();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
+  }
+
+  public final class EuiccProfileInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.service.carrier.CarrierIdentifier getCarrierIdentifier();
+    method public String getIccid();
+    method @Nullable public String getNickname();
+    method @android.service.euicc.EuiccProfileInfo.PolicyRule public int getPolicyRules();
+    method @android.service.euicc.EuiccProfileInfo.ProfileClass public int getProfileClass();
+    method public String getProfileName();
+    method public String getServiceProviderName();
+    method @android.service.euicc.EuiccProfileInfo.ProfileState public int getState();
+    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getUiccAccessRules();
+    method public boolean hasPolicyRule(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
+    method public boolean hasPolicyRules();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
+    field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
+    field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
+    field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
+    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
+    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
+    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
+    field public static final int PROFILE_STATE_DISABLED = 0; // 0x0
+    field public static final int PROFILE_STATE_ENABLED = 1; // 0x1
+  }
+
+  public static final class EuiccProfileInfo.Builder {
+    ctor public EuiccProfileInfo.Builder(String);
+    ctor public EuiccProfileInfo.Builder(android.service.euicc.EuiccProfileInfo);
+    method public android.service.euicc.EuiccProfileInfo build();
+    method public android.service.euicc.EuiccProfileInfo.Builder setCarrierIdentifier(android.service.carrier.CarrierIdentifier);
+    method public android.service.euicc.EuiccProfileInfo.Builder setIccid(String);
+    method public android.service.euicc.EuiccProfileInfo.Builder setNickname(String);
+    method public android.service.euicc.EuiccProfileInfo.Builder setPolicyRules(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
+    method public android.service.euicc.EuiccProfileInfo.Builder setProfileClass(@android.service.euicc.EuiccProfileInfo.ProfileClass int);
+    method public android.service.euicc.EuiccProfileInfo.Builder setProfileName(String);
+    method public android.service.euicc.EuiccProfileInfo.Builder setServiceProviderName(String);
+    method public android.service.euicc.EuiccProfileInfo.Builder setState(@android.service.euicc.EuiccProfileInfo.ProfileState int);
+    method public android.service.euicc.EuiccProfileInfo.Builder setUiccAccessRule(@Nullable java.util.List<android.telephony.UiccAccessRule>);
+  }
+
+  @IntDef(flag=true, prefix={"POLICY_RULE_"}, value={android.service.euicc.EuiccProfileInfo.POLICY_RULE_DO_NOT_DISABLE, android.service.euicc.EuiccProfileInfo.POLICY_RULE_DO_NOT_DELETE, android.service.euicc.EuiccProfileInfo.POLICY_RULE_DELETE_AFTER_DISABLING}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.PolicyRule {
+  }
+
+  @IntDef(prefix={"PROFILE_CLASS_"}, value={android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_TESTING, android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_PROVISIONING, android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_OPERATIONAL, 0xffffffff}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.ProfileClass {
+  }
+
+  @IntDef(prefix={"PROFILE_STATE_"}, value={android.service.euicc.EuiccProfileInfo.PROFILE_STATE_DISABLED, android.service.euicc.EuiccProfileInfo.PROFILE_STATE_ENABLED, 0xffffffff}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.ProfileState {
+  }
+
+  public abstract class EuiccService extends android.app.Service {
+    ctor public EuiccService();
+    method public void dump(@NonNull java.io.PrintWriter);
+    method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String);
+    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
+    method public abstract int onDeleteSubscription(int, String);
+    method public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle);
+    method @Deprecated public int onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean);
+    method @Deprecated public abstract int onEraseSubscriptions(int);
+    method public int onEraseSubscriptions(int, @android.telephony.euicc.EuiccCardManager.ResetOption int);
+    method public abstract android.service.euicc.GetDefaultDownloadableSubscriptionListResult onGetDefaultDownloadableSubscriptionList(int, boolean);
+    method public abstract android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, android.telephony.euicc.DownloadableSubscription, boolean);
+    method public abstract String onGetEid(int);
+    method @NonNull public abstract android.telephony.euicc.EuiccInfo onGetEuiccInfo(int);
+    method @NonNull public abstract android.service.euicc.GetEuiccProfileInfoListResult onGetEuiccProfileInfoList(int);
+    method @android.telephony.euicc.EuiccManager.OtaStatus public abstract int onGetOtaStatus(int);
+    method public abstract int onRetainSubscriptionsForFactoryReset(int);
+    method public abstract void onStartOtaIfNecessary(int, android.service.euicc.EuiccService.OtaStatusChangedCallback);
+    method public abstract int onSwitchToSubscription(int, @Nullable String, boolean);
+    method public abstract int onUpdateSubscriptionNickname(int, String, String);
+    field public static final String ACTION_BIND_CARRIER_PROVISIONING_SERVICE = "android.service.euicc.action.BIND_CARRIER_PROVISIONING_SERVICE";
+    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
+    field public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
+    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
+    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
+    field @Deprecated public static final String ACTION_RESOLVE_CONFIRMATION_CODE = "android.service.euicc.action.RESOLVE_CONFIRMATION_CODE";
+    field public static final String ACTION_RESOLVE_DEACTIVATE_SIM = "android.service.euicc.action.RESOLVE_DEACTIVATE_SIM";
+    field public static final String ACTION_RESOLVE_NO_PRIVILEGES = "android.service.euicc.action.RESOLVE_NO_PRIVILEGES";
+    field public static final String ACTION_RESOLVE_RESOLVABLE_ERRORS = "android.service.euicc.action.RESOLVE_RESOLVABLE_ERRORS";
+    field public static final String ACTION_START_CARRIER_ACTIVATION = "android.service.euicc.action.START_CARRIER_ACTIVATION";
+    field public static final String ACTION_START_EUICC_ACTIVATION = "android.service.euicc.action.START_EUICC_ACTIVATION";
+    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
+    field public static final String CATEGORY_EUICC_UI = "android.service.euicc.category.EUICC_UI";
+    field public static final String EUICC_SERVICE_INTERFACE = "android.service.euicc.EuiccService";
+    field public static final String EXTRA_RESOLUTION_ALLOW_POLICY_RULES = "android.service.euicc.extra.RESOLUTION_ALLOW_POLICY_RULES";
+    field public static final String EXTRA_RESOLUTION_CALLING_PACKAGE = "android.service.euicc.extra.RESOLUTION_CALLING_PACKAGE";
+    field public static final String EXTRA_RESOLUTION_CARD_ID = "android.service.euicc.extra.RESOLUTION_CARD_ID";
+    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE";
+    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE_RETRIED = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE_RETRIED";
+    field public static final String EXTRA_RESOLUTION_CONSENT = "android.service.euicc.extra.RESOLUTION_CONSENT";
+    field public static final String EXTRA_RESOLVABLE_ERRORS = "android.service.euicc.extra.RESOLVABLE_ERRORS";
+    field public static final int RESOLVABLE_ERROR_CONFIRMATION_CODE = 1; // 0x1
+    field public static final int RESOLVABLE_ERROR_POLICY_RULES = 2; // 0x2
+    field public static final int RESULT_FIRST_USER = 1; // 0x1
+    field public static final int RESULT_MUST_DEACTIVATE_SIM = -1; // 0xffffffff
+    field @Deprecated public static final int RESULT_NEED_CONFIRMATION_CODE = -2; // 0xfffffffe
+    field public static final int RESULT_OK = 0; // 0x0
+    field public static final int RESULT_RESOLVABLE_ERRORS = -2; // 0xfffffffe
+  }
+
+  public abstract static class EuiccService.OtaStatusChangedCallback {
+    ctor public EuiccService.OtaStatusChangedCallback();
+    method public abstract void onOtaStatusChanged(int);
+  }
+
+  public final class GetDefaultDownloadableSubscriptionListResult implements android.os.Parcelable {
+    ctor public GetDefaultDownloadableSubscriptionListResult(int, @Nullable android.telephony.euicc.DownloadableSubscription[]);
+    method public int describeContents();
+    method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
+    method public int getResult();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
+  }
+
+  public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
+    ctor public GetDownloadableSubscriptionMetadataResult(int, @Nullable android.telephony.euicc.DownloadableSubscription);
+    method public int describeContents();
+    method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
+    method public int getResult();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
+  }
+
+  public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
+    ctor public GetEuiccProfileInfoListResult(int, @Nullable android.service.euicc.EuiccProfileInfo[], boolean);
+    method public int describeContents();
+    method public boolean getIsRemovable();
+    method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
+    method public int getResult();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
+  }
+
+}
+
+package android.service.notification {
+
+  public final class Adjustment implements android.os.Parcelable {
+    ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
+    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
+    ctor protected Adjustment(android.os.Parcel);
+    method public int describeContents();
+    method @NonNull public CharSequence getExplanation();
+    method @NonNull public String getKey();
+    method @NonNull public String getPackage();
+    method @NonNull public android.os.Bundle getSignals();
+    method public int getUser();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
+    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
+    field public static final String KEY_IMPORTANCE = "key_importance";
+    field public static final String KEY_NOT_CONVERSATION = "key_not_conversation";
+    field public static final String KEY_PEOPLE = "key_people";
+    field public static final String KEY_RANKING_SCORE = "key_ranking_score";
+    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
+    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
+    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
+  }
+
+  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
+    ctor public NotificationAssistantService();
+    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
+    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
+    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
+    method public void onAllowedAdjustmentsChanged();
+    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
+    method public void onNotificationClicked(@NonNull String);
+    method public void onNotificationDirectReplied(@NonNull String);
+    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
+    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
+    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel, @NonNull android.service.notification.NotificationListenerService.RankingMap);
+    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
+    method public void onNotificationFeedbackReceived(@NonNull String, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.os.Bundle);
+    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
+    method public void onNotificationVisibilityChanged(@NonNull String, boolean);
+    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
+    method public void onPanelHidden();
+    method public void onPanelRevealed(int);
+    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
+    method public final void unsnoozeNotification(@NonNull String);
+    field public static final String FEEDBACK_RATING = "feedback.rating";
+    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
+    field public static final int SOURCE_FROM_APP = 0; // 0x0
+    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
+  }
+
+  public abstract class NotificationListenerService extends android.app.Service {
+    method public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
+  }
+
+  public final class NotificationStats implements android.os.Parcelable {
+    ctor public NotificationStats();
+    ctor protected NotificationStats(android.os.Parcel);
+    method public int describeContents();
+    method public int getDismissalSentiment();
+    method public int getDismissalSurface();
+    method public boolean hasDirectReplied();
+    method public boolean hasExpanded();
+    method public boolean hasInteracted();
+    method public boolean hasSeen();
+    method public boolean hasSnoozed();
+    method public boolean hasViewedSettings();
+    method public void setDirectReplied();
+    method public void setDismissalSentiment(int);
+    method public void setDismissalSurface(int);
+    method public void setExpanded();
+    method public void setSeen();
+    method public void setSnoozed();
+    method public void setViewedSettings();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
+    field public static final int DISMISSAL_AOD = 2; // 0x2
+    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
+    field public static final int DISMISSAL_OTHER = 0; // 0x0
+    field public static final int DISMISSAL_PEEK = 1; // 0x1
+    field public static final int DISMISSAL_SHADE = 3; // 0x3
+    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
+    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
+    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
+    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
+  }
+
+  public final class SnoozeCriterion implements android.os.Parcelable {
+    ctor public SnoozeCriterion(String, CharSequence, CharSequence);
+    ctor protected SnoozeCriterion(android.os.Parcel);
+    method public int describeContents();
+    method public CharSequence getConfirmation();
+    method public CharSequence getExplanation();
+    method public String getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
+  }
+
+}
+
+package android.service.oemlock {
+
+  public class OemLockManager {
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public String getLockName();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByCarrier();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByUser();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByCarrier(boolean, @Nullable byte[]);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByUser(boolean);
+  }
+
+}
+
+package android.service.persistentdata {
+
+  public class PersistentDataBlockManager {
+    method @RequiresPermission("android.permission.ACCESS_PDB_STATE") public int getDataBlockSize();
+    method @android.service.persistentdata.PersistentDataBlockManager.FlashLockState @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public int getFlashLockState();
+    method public long getMaximumDataBlockSize();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public boolean getOemUnlockEnabled();
+    method public byte[] read();
+    method @Deprecated @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void setOemUnlockEnabled(boolean);
+    method @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void wipe();
+    method public int write(byte[]);
+    field public static final int FLASH_LOCK_LOCKED = 1; // 0x1
+    field public static final int FLASH_LOCK_UNKNOWN = -1; // 0xffffffff
+    field public static final int FLASH_LOCK_UNLOCKED = 0; // 0x0
+  }
+
+  @IntDef(prefix={"FLASH_LOCK_"}, value={android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_UNKNOWN, android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_LOCKED, android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_UNLOCKED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PersistentDataBlockManager.FlashLockState {
+  }
+
+}
+
+package android.service.quicksettings {
+
+  public class TileService extends android.app.Service {
+    method public final void setStatusIcon(android.graphics.drawable.Icon, String);
+  }
+
+}
+
+package android.service.resolver {
+
+  public abstract class ResolverRankerService extends android.app.Service {
+    ctor public ResolverRankerService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onPredictSharingProbabilities(java.util.List<android.service.resolver.ResolverTarget>);
+    method public void onTrainRankingModel(java.util.List<android.service.resolver.ResolverTarget>, int);
+    field public static final String BIND_PERMISSION = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
+    field public static final String HOLD_PERMISSION = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
+    field public static final String SERVICE_INTERFACE = "android.service.resolver.ResolverRankerService";
+  }
+
+  public final class ResolverTarget implements android.os.Parcelable {
+    ctor public ResolverTarget();
+    method public int describeContents();
+    method public float getChooserScore();
+    method public float getLaunchScore();
+    method public float getRecencyScore();
+    method public float getSelectProbability();
+    method public float getTimeSpentScore();
+    method public void setChooserScore(float);
+    method public void setLaunchScore(float);
+    method public void setRecencyScore(float);
+    method public void setSelectProbability(float);
+    method public void setTimeSpentScore(float);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
+  }
+
+}
+
+package android.service.resumeonreboot {
+
+  public abstract class ResumeOnRebootService extends android.app.Service {
+    ctor public ResumeOnRebootService();
+    method @Nullable public android.os.IBinder onBind(@Nullable android.content.Intent);
+    method @NonNull public abstract byte[] onUnwrap(@NonNull byte[]) throws java.io.IOException;
+    method @NonNull public abstract byte[] onWrap(@NonNull byte[], long) throws java.io.IOException;
+    field public static final String SERVICE_INTERFACE = "android.service.resumeonreboot.ResumeOnRebootService";
+  }
+
+}
+
+package android.service.rotationresolver {
+
+  public final class RotationResolutionRequest implements android.os.Parcelable {
+    ctor public RotationResolutionRequest(@NonNull String, int, int, boolean, long);
+    method public int describeContents();
+    method public int getCurrentRotation();
+    method @NonNull public String getForegroundPackageName();
+    method public int getProposedRotation();
+    method public long getTimeoutMillis();
+    method public boolean shouldUseCamera();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.rotationresolver.RotationResolutionRequest> CREATOR;
+  }
+
+  public abstract class RotationResolverService extends android.app.Service {
+    ctor public RotationResolverService();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onResolveRotation(@NonNull android.service.rotationresolver.RotationResolutionRequest, @Nullable android.os.CancellationSignal, @NonNull android.service.rotationresolver.RotationResolverService.RotationResolverCallback);
+    field public static final int ROTATION_RESULT_FAILURE_CANCELLED = 0; // 0x0
+    field public static final int ROTATION_RESULT_FAILURE_NOT_SUPPORTED = 4; // 0x4
+    field public static final int ROTATION_RESULT_FAILURE_PREEMPTED = 2; // 0x2
+    field public static final int ROTATION_RESULT_FAILURE_TIMED_OUT = 1; // 0x1
+    field public static final int ROTATION_RESULT_FAILURE_UNKNOWN = 3; // 0x3
+    field public static final String SERVICE_INTERFACE = "android.service.rotationresolver.RotationResolverService";
+  }
+
+  public static interface RotationResolverService.RotationResolverCallback {
+    method public void onFailure(int);
+    method public void onSuccess(int);
+  }
+
+}
+
+package android.service.search {
+
+  public abstract class SearchUiService extends android.app.Service {
+    ctor public SearchUiService();
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method @MainThread public abstract void onDestroy(@NonNull android.app.search.SearchSessionId);
+    method @MainThread public abstract void onNotifyEvent(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
+    method @MainThread public abstract void onQuery(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull java.util.function.Consumer<java.util.List<android.app.search.SearchTarget>>);
+    method public void onSearchSessionCreated(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
+  }
+
+}
+
+package android.service.settings.suggestions {
+
+  public final class Suggestion implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getFlags();
+    method public android.graphics.drawable.Icon getIcon();
+    method public String getId();
+    method public android.app.PendingIntent getPendingIntent();
+    method public CharSequence getSummary();
+    method public CharSequence getTitle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
+    field public static final int FLAG_HAS_BUTTON = 1; // 0x1
+  }
+
+  public static class Suggestion.Builder {
+    ctor public Suggestion.Builder(String);
+    method public android.service.settings.suggestions.Suggestion build();
+    method public android.service.settings.suggestions.Suggestion.Builder setFlags(int);
+    method public android.service.settings.suggestions.Suggestion.Builder setIcon(android.graphics.drawable.Icon);
+    method public android.service.settings.suggestions.Suggestion.Builder setPendingIntent(android.app.PendingIntent);
+    method public android.service.settings.suggestions.Suggestion.Builder setSummary(CharSequence);
+    method public android.service.settings.suggestions.Suggestion.Builder setTitle(CharSequence);
+  }
+
+  public abstract class SuggestionService extends android.app.Service {
+    ctor public SuggestionService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract java.util.List<android.service.settings.suggestions.Suggestion> onGetSuggestions();
+    method public abstract void onSuggestionDismissed(android.service.settings.suggestions.Suggestion);
+    method public abstract void onSuggestionLaunched(android.service.settings.suggestions.Suggestion);
+  }
+
+}
+
+package android.service.smartspace {
+
+  public abstract class SmartspaceService extends android.app.Service {
+    ctor public SmartspaceService();
+    method @MainThread public abstract void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull android.app.smartspace.SmartspaceTargetEvent);
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onCreateSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig, @NonNull android.app.smartspace.SmartspaceSessionId);
+    method @MainThread public abstract void onDestroy(@NonNull android.app.smartspace.SmartspaceSessionId);
+    method public abstract void onDestroySmartspaceSession(@NonNull android.app.smartspace.SmartspaceSessionId);
+    method @MainThread public abstract void onRequestSmartspaceUpdate(@NonNull android.app.smartspace.SmartspaceSessionId);
+    method public final void updateSmartspaceTargets(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
+  }
+
+}
+
+package android.service.storage {
+
+  public abstract class ExternalStorageService extends android.app.Service {
+    ctor public ExternalStorageService();
+    method public void onAnrDelayStarted(@NonNull String, int, int, int);
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onEndSession(@NonNull String) throws java.io.IOException;
+    method public void onFreeCache(@NonNull java.util.UUID, long) throws java.io.IOException;
+    method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException;
+    method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException;
+    field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2
+    field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1
+    field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService";
+  }
+
+}
+
+package android.service.textclassifier {
+
+  public abstract class TextClassifierService extends android.app.Service {
+    ctor public TextClassifierService();
+    method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
+    method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method @MainThread public abstract void onClassifyText(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassification.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextClassification>);
+    method public void onConnected();
+    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
+    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
+    method @MainThread public void onDetectLanguage(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLanguage.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLanguage>);
+    method public void onDisconnected();
+    method @MainThread public abstract void onGenerateLinks(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLinks.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLinks>);
+    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
+    method @MainThread public void onSuggestConversationActions(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.ConversationActions.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.ConversationActions>);
+    method @MainThread public abstract void onSuggestSelection(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextSelection.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextSelection>);
+    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
+    field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
+  }
+
+  public static interface TextClassifierService.Callback<T> {
+    method public void onFailure(@NonNull CharSequence);
+    method public void onSuccess(T);
+  }
+
+}
+
+package android.service.timezone {
+
+  public abstract class TimeZoneProviderService extends android.app.Service {
+    ctor public TimeZoneProviderService();
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onStartUpdates(long);
+    method public abstract void onStopUpdates();
+    method public final void reportPermanentFailure(@NonNull Throwable);
+    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion);
+    method public final void reportUncertain();
+    field public static final String PRIMARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.PrimaryLocationTimeZoneProviderService";
+    field public static final String SECONDARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.SecondaryLocationTimeZoneProviderService";
+  }
+
+  public final class TimeZoneProviderSuggestion implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getElapsedRealtimeMillis();
+    method @NonNull public java.util.List<java.lang.String> getTimeZoneIds();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderSuggestion> CREATOR;
+  }
+
+  public static final class TimeZoneProviderSuggestion.Builder {
+    ctor public TimeZoneProviderSuggestion.Builder();
+    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion build();
+    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setElapsedRealtimeMillis(long);
+    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setTimeZoneIds(@NonNull java.util.List<java.lang.String>);
+  }
+
+}
+
+package android.service.translation {
+
+  public abstract class TranslationService extends android.app.Service {
+    ctor public TranslationService();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public void onConnected();
+    method public abstract void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method public void onDisconnected();
+    method public abstract void onFinishTranslationSession(int);
+    method public abstract void onTranslationCapabilitiesRequest(int, int, @NonNull java.util.function.Consumer<java.util.Set<android.view.translation.TranslationCapability>>);
+    method public abstract void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
+    method public final void updateTranslationCapability(@NonNull android.view.translation.TranslationCapability);
+    field public static final String SERVICE_INTERFACE = "android.service.translation.TranslationService";
+    field public static final String SERVICE_META_DATA = "android.translation_service";
+  }
+
+}
+
+package android.service.trust {
+
+  public class TrustAgentService extends android.app.Service {
+    ctor public TrustAgentService();
+    method public final void addEscrowToken(byte[], android.os.UserHandle);
+    method @Deprecated public final void grantTrust(CharSequence, long, boolean);
+    method public final void grantTrust(CharSequence, long, int);
+    method public final void isEscrowTokenActive(long, android.os.UserHandle);
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public boolean onConfigure(java.util.List<android.os.PersistableBundle>);
+    method public void onDeviceLocked();
+    method public void onDeviceUnlockLockout(long);
+    method public void onDeviceUnlocked();
+    method public void onEscrowTokenAdded(byte[], long, android.os.UserHandle);
+    method public void onEscrowTokenRemoved(long, boolean);
+    method public void onEscrowTokenStateReceived(long, int);
+    method public void onTrustTimeout();
+    method public void onUnlockAttempt(boolean);
+    method public final void removeEscrowToken(long, android.os.UserHandle);
+    method public final void revokeTrust();
+    method public final void setManagingTrust(boolean);
+    method public final void showKeyguardErrorMessage(@NonNull CharSequence);
+    method public final void unlockUserWithToken(long, byte[], android.os.UserHandle);
+    field public static final int FLAG_GRANT_TRUST_DISMISS_KEYGUARD = 2; // 0x2
+    field public static final int FLAG_GRANT_TRUST_INITIATED_BY_USER = 1; // 0x1
+    field public static final String SERVICE_INTERFACE = "android.service.trust.TrustAgentService";
+    field public static final int TOKEN_STATE_ACTIVE = 1; // 0x1
+    field public static final int TOKEN_STATE_INACTIVE = 0; // 0x0
+    field public static final String TRUST_AGENT_META_DATA = "android.service.trust.trustagent";
+  }
+
+}
+
+package android.service.voice {
+
+  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
+    method @Nullable public android.content.Intent createEnrollIntent();
+    method @Nullable public android.content.Intent createReEnrollIntent();
+    method @Nullable public android.content.Intent createUnEnrollIntent();
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int getParameter(int);
+    method public int getSupportedAudioCapabilities();
+    method public int getSupportedRecognitionModes();
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public android.service.voice.AlwaysOnHotwordDetector.ModelParamRange queryParameter(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int setParameter(int, int);
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
+    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean stopRecognition();
+    method public final void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
+    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
+    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
+    field public static final int MODEL_PARAM_THRESHOLD_FACTOR = 0; // 0x0
+    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
+    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
+    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
+    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
+    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
+    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
+    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
+    field public static final int STATE_ERROR = 3; // 0x3
+    field public static final int STATE_HARDWARE_UNAVAILABLE = -2; // 0xfffffffe
+    field public static final int STATE_KEYPHRASE_ENROLLED = 2; // 0x2
+    field public static final int STATE_KEYPHRASE_UNENROLLED = 1; // 0x1
+    field @Deprecated public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff
+  }
+
+  public abstract static class AlwaysOnHotwordDetector.Callback implements android.service.voice.HotwordDetector.Callback {
+    ctor public AlwaysOnHotwordDetector.Callback();
+    method public abstract void onAvailabilityChanged(int);
+    method public void onHotwordDetectionServiceInitialized(int);
+    method public void onHotwordDetectionServiceRestarted();
+    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
+  }
+
+  public static class AlwaysOnHotwordDetector.EventPayload {
+    method @Nullable public android.os.ParcelFileDescriptor getAudioStream();
+    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
+    method @Nullable public android.service.voice.HotwordDetectedResult getHotwordDetectedResult();
+    method @Nullable public byte[] getTriggerAudio();
+  }
+
+  public static final class AlwaysOnHotwordDetector.ModelParamRange {
+    method public int getEnd();
+    method public int getStart();
+  }
+
+  public final class HotwordDetectedResult implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAudioChannel();
+    method public int getConfidenceLevel();
+    method @NonNull public android.os.PersistableBundle getExtras();
+    method public int getHotwordDurationMillis();
+    method public int getHotwordOffsetMillis();
+    method public int getHotwordPhraseId();
+    method public static int getMaxBundleSize();
+    method public static int getMaxHotwordPhraseId();
+    method public static int getMaxScore();
+    method @Nullable public android.media.MediaSyncEvent getMediaSyncEvent();
+    method public int getPersonalizedScore();
+    method public int getScore();
+    method public boolean isHotwordDetectionPersonalized();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int AUDIO_CHANNEL_UNSET = -1; // 0xffffffff
+    field public static final int CONFIDENCE_LEVEL_HIGH = 5; // 0x5
+    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
+    field public static final int CONFIDENCE_LEVEL_LOW_MEDIUM = 2; // 0x2
+    field public static final int CONFIDENCE_LEVEL_MEDIUM = 3; // 0x3
+    field public static final int CONFIDENCE_LEVEL_MEDIUM_HIGH = 4; // 0x4
+    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
+    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 6; // 0x6
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectedResult> CREATOR;
+    field public static final int HOTWORD_OFFSET_UNSET = -1; // 0xffffffff
+  }
+
+  public static final class HotwordDetectedResult.Builder {
+    ctor public HotwordDetectedResult.Builder();
+    method @NonNull public android.service.voice.HotwordDetectedResult build();
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioChannel(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setConfidenceLevel(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setExtras(@NonNull android.os.PersistableBundle);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDetectionPersonalized(boolean);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDurationMillis(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordOffsetMillis(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setMediaSyncEvent(@NonNull android.media.MediaSyncEvent);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setPersonalizedScore(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setScore(int);
+  }
+
+  public abstract class HotwordDetectionService extends android.app.Service {
+    ctor public HotwordDetectionService();
+    method public static int getMaxCustomInitializationStatus();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public void onDetect(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload, long, @NonNull android.service.voice.HotwordDetectionService.Callback);
+    method public void onDetect(@NonNull android.service.voice.HotwordDetectionService.Callback);
+    method public void onDetect(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle, @NonNull android.service.voice.HotwordDetectionService.Callback);
+    method public void onStopDetection();
+    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
+    field public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
+    field public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
+    field public static final String SERVICE_INTERFACE = "android.service.voice.HotwordDetectionService";
+  }
+
+  public static final class HotwordDetectionService.Callback {
+    method public void onDetected(@NonNull android.service.voice.HotwordDetectedResult);
+    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
+  }
+
+  public interface HotwordDetector {
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
+    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
+    method public boolean stopRecognition();
+    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
+  }
+
+  public static interface HotwordDetector.Callback {
+    method public void onDetected(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload);
+    method public void onError();
+    method public void onHotwordDetectionServiceInitialized(int);
+    method public void onHotwordDetectionServiceRestarted();
+    method public void onRecognitionPaused();
+    method public void onRecognitionResumed();
+    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
+  }
+
+  public final class HotwordRejectedResult implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getConfidenceLevel();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CONFIDENCE_LEVEL_HIGH = 3; // 0x3
+    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
+    field public static final int CONFIDENCE_LEVEL_MEDIUM = 2; // 0x2
+    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordRejectedResult> CREATOR;
+  }
+
+  public static final class HotwordRejectedResult.Builder {
+    ctor public HotwordRejectedResult.Builder();
+    method @NonNull public android.service.voice.HotwordRejectedResult build();
+    method @NonNull public android.service.voice.HotwordRejectedResult.Builder setConfidenceLevel(int);
+  }
+
+  public class VoiceInteractionService extends android.app.Service {
+    method @NonNull public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, android.service.voice.AlwaysOnHotwordDetector.Callback);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, @Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, android.service.voice.AlwaysOnHotwordDetector.Callback);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.HotwordDetector createHotwordDetector(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull android.service.voice.HotwordDetector.Callback);
+    method @NonNull @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
+  }
+
+}
+
+package android.service.wallpaper {
+
+  public class WallpaperService.Engine {
+    method public boolean isInAmbientMode();
+    method public void onAmbientModeChanged(boolean, long);
+  }
+
+}
+
+package android.service.watchdog {
+
+  public abstract class ExplicitHealthCheckService extends android.app.Service {
+    ctor public ExplicitHealthCheckService();
+    method public final void notifyHealthCheckPassed(@NonNull String);
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onCancelHealthCheck(@NonNull String);
+    method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages();
+    method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages();
+    method public abstract void onRequestHealthCheck(@NonNull String);
+    field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
+    field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService";
+  }
+
+  public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable {
+    ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long);
+    method public int describeContents();
+    method public long getHealthCheckTimeoutMillis();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR;
+  }
+
+}
+
+package android.telecom {
+
+  @Deprecated public class AudioState implements android.os.Parcelable {
+    ctor @Deprecated public AudioState(boolean, int, int);
+    ctor @Deprecated public AudioState(android.telecom.AudioState);
+    ctor @Deprecated public AudioState(android.telecom.CallAudioState);
+    method @Deprecated public static String audioRouteToString(int);
+    method @Deprecated public int describeContents();
+    method @Deprecated public int getRoute();
+    method @Deprecated public int getSupportedRouteMask();
+    method @Deprecated public boolean isMuted();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
+    field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
+    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
+    field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
+    field @Deprecated public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
+    field @Deprecated public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
+  }
+
+  public final class BluetoothCallQualityReport implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0) public int getNegativeAcknowledgementCount();
+    method @IntRange(from=0) public int getPacketsNotReceivedCount();
+    method @IntRange(from=0) public int getRetransmittedPacketsCount();
+    method @IntRange(from=0xffffff81, to=20) public int getRssiDbm();
+    method public long getSentTimestampMillis();
+    method public int getSnrDb();
+    method public boolean isChoppyVoice();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.BluetoothCallQualityReport> CREATOR;
+    field public static final String EVENT_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.event.BLUETOOTH_CALL_QUALITY_REPORT";
+    field public static final String EXTRA_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.extra.BLUETOOTH_CALL_QUALITY_REPORT";
+  }
+
+  public static final class BluetoothCallQualityReport.Builder {
+    ctor public BluetoothCallQualityReport.Builder();
+    method @NonNull public android.telecom.BluetoothCallQualityReport build();
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setChoppyVoice(boolean);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setNegativeAcknowledgementCount(int);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setPacketsNotReceivedCount(int);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRetransmittedPacketsCount(int);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRssiDbm(int);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSentTimestampMillis(long);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSnrDb(int);
+  }
+
+  public final class Call {
+    method @Deprecated public void addListener(android.telecom.Call.Listener);
+    method public void enterBackgroundAudioProcessing();
+    method public void exitBackgroundAudioProcessing(boolean);
+    method @Deprecated public void removeListener(android.telecom.Call.Listener);
+    field @Deprecated public static final int STATE_PRE_DIAL_WAIT = 8; // 0x8
+  }
+
+  @Deprecated public abstract static class Call.Listener extends android.telecom.Call.Callback {
+    ctor @Deprecated public Call.Listener();
+  }
+
+  public abstract class CallDiagnosticService extends android.app.Service {
+    ctor public CallDiagnosticService();
+    method @NonNull public java.util.concurrent.Executor getExecutor();
+    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onBluetoothCallQualityReportReceived(@NonNull android.telecom.BluetoothCallQualityReport);
+    method public abstract void onCallAudioStateChanged(@NonNull android.telecom.CallAudioState);
+    method @NonNull public abstract android.telecom.CallDiagnostics onInitializeCallDiagnostics(@NonNull android.telecom.Call.Details);
+    method public abstract void onRemoveCallDiagnostics(@NonNull android.telecom.CallDiagnostics);
+    field public static final String SERVICE_INTERFACE = "android.telecom.CallDiagnosticService";
+  }
+
+  public abstract class CallDiagnostics {
+    ctor public CallDiagnostics();
+    method public final void clearDiagnosticMessage(int);
+    method public final void displayDiagnosticMessage(int, @NonNull CharSequence);
+    method public abstract void onCallDetailsChanged(@NonNull android.telecom.Call.Details);
+    method @Nullable public abstract CharSequence onCallDisconnected(int, int);
+    method @Nullable public abstract CharSequence onCallDisconnected(@NonNull android.telephony.ims.ImsReasonInfo);
+    method public abstract void onCallQualityReceived(@NonNull android.telephony.CallQuality);
+    method public abstract void onReceiveDeviceToDeviceMessage(int, int);
+    method public final void sendDeviceToDeviceMessage(int, int);
+    field public static final int BATTERY_STATE_CHARGING = 3; // 0x3
+    field public static final int BATTERY_STATE_GOOD = 2; // 0x2
+    field public static final int BATTERY_STATE_LOW = 1; // 0x1
+    field public static final int COVERAGE_GOOD = 2; // 0x2
+    field public static final int COVERAGE_POOR = 1; // 0x1
+    field public static final int MESSAGE_CALL_AUDIO_CODEC = 2; // 0x2
+    field public static final int MESSAGE_CALL_NETWORK_TYPE = 1; // 0x1
+    field public static final int MESSAGE_DEVICE_BATTERY_STATE = 3; // 0x3
+    field public static final int MESSAGE_DEVICE_NETWORK_COVERAGE = 4; // 0x4
+  }
+
+  public static class CallScreeningService.CallResponse.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean);
+  }
+
+  public abstract class Conference extends android.telecom.Conferenceable {
+    method @Deprecated public final android.telecom.AudioState getAudioState();
+    method @Deprecated public final long getConnectTimeMillis();
+    method public android.telecom.Connection getPrimaryConnection();
+    method @NonNull public final String getTelecomCallId();
+    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
+    method public final void setCallerDisplayName(@NonNull String, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
+    method @Deprecated public final void setConnectTimeMillis(long);
+  }
+
+  public abstract class Connection extends android.telecom.Conferenceable {
+    method @Deprecated public final android.telecom.AudioState getAudioState();
+    method @IntRange(from=0) public final long getConnectTimeMillis();
+    method public final long getConnectionStartElapsedRealtimeMillis();
+    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
+    method @Nullable public final String getTelecomCallId();
+    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
+    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
+    method public final void resetConnectionTime();
+    method public void setCallDirection(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
+    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
+    method public void setTelecomCallId(@NonNull String);
+    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
+    field public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 262144; // 0x40000
+    field public static final String EVENT_DEVICE_TO_DEVICE_MESSAGE = "android.telecom.event.DEVICE_TO_DEVICE_MESSAGE";
+    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_TYPE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_TYPE";
+    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_VALUE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_VALUE";
+    field public static final String EXTRA_DISABLE_ADD_CALL = "android.telecom.extra.DISABLE_ADD_CALL";
+    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 1; // 0x1
+    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
+    field public static final int PROPERTY_IS_DOWNGRADED_CONFERENCE = 64; // 0x40
+    field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
+  }
+
+  public static final class Connection.CallFilteringCompletionInfo implements android.os.Parcelable {
+    ctor public Connection.CallFilteringCompletionInfo(boolean, boolean, @Nullable android.telecom.CallScreeningService.CallResponse, @Nullable android.content.ComponentName);
+    method public int describeContents();
+    method @Nullable public android.telecom.CallScreeningService.CallResponse getCallResponse();
+    method @Nullable public android.content.ComponentName getCallScreeningComponent();
+    method public boolean isBlocked();
+    method public boolean isInContacts();
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.Connection.CallFilteringCompletionInfo> CREATOR;
+  }
+
+  public final class ConnectionRequest implements android.os.Parcelable {
+    method @Nullable public String getTelecomCallId();
+  }
+
+  public abstract class ConnectionService extends android.app.Service {
+    method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
+  }
+
+  public abstract class InCallService extends android.app.Service {
+    method @Deprecated public android.telecom.Phone getPhone();
+    method @Deprecated public void onPhoneCreated(android.telecom.Phone);
+    method @Deprecated public void onPhoneDestroyed(android.telecom.Phone);
+  }
+
+  public class ParcelableCallAnalytics implements android.os.Parcelable {
+    ctor public ParcelableCallAnalytics(long, long, int, boolean, boolean, int, int, boolean, String, boolean, java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent>, java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming>);
+    ctor public ParcelableCallAnalytics(android.os.Parcel);
+    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
+    method public int describeContents();
+    method public long getCallDurationMillis();
+    method public int getCallTechnologies();
+    method public int getCallTerminationCode();
+    method public int getCallType();
+    method public String getConnectionService();
+    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
+    method public long getStartTimeMillis();
+    method public boolean isAdditionalCall();
+    method public boolean isCreatedFromExistingConnection();
+    method public boolean isEmergencyCall();
+    method public boolean isInterrupted();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CALLTYPE_INCOMING = 1; // 0x1
+    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
+    field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
+    field public static final int CDMA_PHONE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
+    field public static final int GSM_PHONE = 2; // 0x2
+    field public static final int IMS_PHONE = 4; // 0x4
+    field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
+    field public static final long MILLIS_IN_5_MINUTES = 300000L; // 0x493e0L
+    field public static final int SIP_PHONE = 8; // 0x8
+    field public static final int STILL_CONNECTED = -1; // 0xffffffff
+    field public static final int THIRD_PARTY_PHONE = 16; // 0x10
+  }
+
+  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
+    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
+    method public int describeContents();
+    method public int getEventName();
+    method public long getTimeSinceLastEvent();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
+    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
+    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
+    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
+    field public static final int BIND_CS = 5; // 0x5
+    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
+    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
+    field public static final int CONFERENCE_WITH = 300; // 0x12c
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
+    field public static final int CS_BOUND = 6; // 0x6
+    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
+    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
+    field public static final int FILTERING_COMPLETED = 107; // 0x6b
+    field public static final int FILTERING_INITIATED = 106; // 0x6a
+    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
+    field public static final int MUTE = 202; // 0xca
+    field public static final int REMOTELY_HELD = 402; // 0x192
+    field public static final int REMOTELY_UNHELD = 403; // 0x193
+    field public static final int REQUEST_ACCEPT = 7; // 0x7
+    field public static final int REQUEST_HOLD = 400; // 0x190
+    field public static final int REQUEST_PULL = 500; // 0x1f4
+    field public static final int REQUEST_REJECT = 8; // 0x8
+    field public static final int REQUEST_UNHOLD = 401; // 0x191
+    field public static final int SCREENING_COMPLETED = 101; // 0x65
+    field public static final int SCREENING_SENT = 100; // 0x64
+    field public static final int SET_ACTIVE = 1; // 0x1
+    field public static final int SET_DIALING = 4; // 0x4
+    field public static final int SET_DISCONNECTED = 2; // 0x2
+    field public static final int SET_HOLD = 404; // 0x194
+    field public static final int SET_PARENT = 302; // 0x12e
+    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
+    field public static final int SILENCE = 201; // 0xc9
+    field public static final int SKIP_RINGING = 200; // 0xc8
+    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
+    field public static final int START_CONNECTION = 3; // 0x3
+    field public static final int SWAP = 405; // 0x195
+    field public static final int UNMUTE = 203; // 0xcb
+  }
+
+  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
+    ctor public ParcelableCallAnalytics.EventTiming(int, long);
+    method public int describeContents();
+    method public int getName();
+    method public long getTime();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACCEPT_TIMING = 0; // 0x0
+    field public static final int BIND_CS_TIMING = 6; // 0x6
+    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
+    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
+    field public static final int DISCONNECT_TIMING = 2; // 0x2
+    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
+    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
+    field public static final int HOLD_TIMING = 3; // 0x3
+    field public static final int INVALID = 999999; // 0xf423f
+    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
+    field public static final int REJECT_TIMING = 1; // 0x1
+    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
+    field public static final int UNHOLD_TIMING = 4; // 0x4
+  }
+
+  @Deprecated public final class Phone {
+    method @Deprecated public void addListener(android.telecom.Phone.Listener);
+    method @Deprecated public boolean canAddCall();
+    method @Deprecated public android.telecom.AudioState getAudioState();
+    method @Deprecated public android.telecom.CallAudioState getCallAudioState();
+    method @Deprecated public java.util.List<android.telecom.Call> getCalls();
+    method @Deprecated public void removeListener(android.telecom.Phone.Listener);
+    method @Deprecated public void requestBluetoothAudio(String);
+    method @Deprecated public void setAudioRoute(int);
+    method @Deprecated public void setMuted(boolean);
+  }
+
+  @Deprecated public abstract static class Phone.Listener {
+    ctor @Deprecated public Phone.Listener();
+    method @Deprecated public void onAudioStateChanged(android.telecom.Phone, android.telecom.AudioState);
+    method @Deprecated public void onBringToForeground(android.telecom.Phone, boolean);
+    method @Deprecated public void onCallAdded(android.telecom.Phone, android.telecom.Call);
+    method @Deprecated public void onCallAudioStateChanged(android.telecom.Phone, android.telecom.CallAudioState);
+    method @Deprecated public void onCallRemoved(android.telecom.Phone, android.telecom.Call);
+    method @Deprecated public void onCanAddCallChanged(android.telecom.Phone, boolean);
+    method @Deprecated public void onSilenceRinger(android.telecom.Phone);
+  }
+
+  public final class PhoneAccount implements android.os.Parcelable {
+    field public static final int CAPABILITY_EMERGENCY_CALLS_ONLY = 128; // 0x80
+    field public static final int CAPABILITY_EMERGENCY_PREFERRED = 8192; // 0x2000
+    field public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 512; // 0x200
+    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
+    field public static final String EXTRA_PLAY_CALL_RECORDING_TONE = "android.telecom.extra.PLAY_CALL_RECORDING_TONE";
+    field public static final String EXTRA_SORT_ORDER = "android.telecom.extra.SORT_ORDER";
+  }
+
+  public static class PhoneAccount.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
+  }
+
+  public class PhoneAccountSuggestionService extends android.app.Service {
+    ctor public PhoneAccountSuggestionService();
+    method public void onAccountSuggestionRequest(@NonNull String);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public final void suggestPhoneAccounts(@NonNull String, @NonNull java.util.List<android.telecom.PhoneAccountSuggestion>);
+    field public static final String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService";
+  }
+
+  public final class RemoteConference {
+    method @Deprecated public void setAudioState(android.telecom.AudioState);
+  }
+
+  public final class RemoteConnection {
+    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
+    method @Deprecated public void setAudioState(android.telecom.AudioState);
+  }
+
+  public final class StatusHints implements android.os.Parcelable {
+    ctor @Deprecated public StatusHints(android.content.ComponentName, CharSequence, int, android.os.Bundle);
+    method @Deprecated public android.graphics.drawable.Drawable getIcon(android.content.Context);
+    method @Deprecated public int getIconResId();
+    method @Deprecated public android.content.ComponentName getPackageName();
+  }
+
+  public final class TelecomAnalytics implements android.os.Parcelable {
+    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
+    method public int describeContents();
+    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
+    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
+  }
+
+  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
+    ctor public TelecomAnalytics.SessionTiming(int, long);
+    method public int describeContents();
+    method public Integer getKey();
+    method public long getTime();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
+    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
+    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
+    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
+    field public static final int CSW_SET_ACTIVE = 101; // 0x65
+    field public static final int CSW_SET_DIALING = 103; // 0x67
+    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
+    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
+    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
+    field public static final int CSW_SET_RINGING = 102; // 0x66
+    field public static final int ICA_ANSWER_CALL = 1; // 0x1
+    field public static final int ICA_CONFERENCE = 8; // 0x8
+    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
+    field public static final int ICA_HOLD_CALL = 4; // 0x4
+    field public static final int ICA_MUTE = 6; // 0x6
+    field public static final int ICA_REJECT_CALL = 2; // 0x2
+    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
+    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
+  }
+
+  public class TelecomManager {
+    method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
+    method @Deprecated public void clearAccounts();
+    method public void clearPhoneAccounts();
+    method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String);
+    method @RequiresPermission(android.Manifest.permission.DUMP) public android.telecom.TelecomAnalytics dumpAnalytics();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
+    method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
+    method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
+    method public int getAllPhoneAccountsCount();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}, conditional=true) public int getCallState();
+    method public android.telecom.PhoneAccountHandle getConnectionManager();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
+    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
+    method @Deprecated public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsSupportingScheme(String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
+    field public static final String ACTION_CURRENT_TTY_MODE_CHANGED = "android.telecom.action.CURRENT_TTY_MODE_CHANGED";
+    field public static final String ACTION_TTY_PREFERRED_MODE_CHANGED = "android.telecom.action.TTY_PREFERRED_MODE_CHANGED";
+    field public static final int CALL_SOURCE_EMERGENCY_DIALPAD = 1; // 0x1
+    field public static final int CALL_SOURCE_EMERGENCY_SHORTCUT = 2; // 0x2
+    field public static final int CALL_SOURCE_UNSPECIFIED = 0; // 0x0
+    field public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
+    field public static final String EXTRA_CALL_SOURCE = "android.telecom.extra.CALL_SOURCE";
+    field public static final String EXTRA_CALL_TECHNOLOGY_TYPE = "android.telecom.extra.CALL_TECHNOLOGY_TYPE";
+    field public static final String EXTRA_CLEAR_MISSED_CALLS_INTENT = "android.telecom.extra.CLEAR_MISSED_CALLS_INTENT";
+    field public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
+    field public static final String EXTRA_CURRENT_TTY_MODE = "android.telecom.extra.CURRENT_TTY_MODE";
+    field public static final String EXTRA_IS_USER_INTENT_EMERGENCY_CALL = "android.telecom.extra.IS_USER_INTENT_EMERGENCY_CALL";
+    field public static final String EXTRA_TTY_PREFERRED_MODE = "android.telecom.extra.TTY_PREFERRED_MODE";
+    field public static final String EXTRA_UNKNOWN_CALL_HANDLE = "android.telecom.extra.UNKNOWN_CALL_HANDLE";
+    field public static final int TTY_MODE_FULL = 1; // 0x1
+    field public static final int TTY_MODE_HCO = 2; // 0x2
+    field public static final int TTY_MODE_OFF = 0; // 0x0
+    field public static final int TTY_MODE_VCO = 3; // 0x3
+  }
+
+}
+
+package android.telephony {
+
+  public final class AccessNetworkConstants {
+    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
+  }
+
+  public static final class AccessNetworkConstants.NgranBands {
+    method public static int getFrequencyRangeGroup(int);
+    field public static final int FREQUENCY_RANGE_GROUP_1 = 1; // 0x1
+    field public static final int FREQUENCY_RANGE_GROUP_2 = 2; // 0x2
+    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
+  }
+
+  public final class BarringInfo implements android.os.Parcelable {
+    ctor public BarringInfo();
+    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
+  }
+
+  public final class CallAttributes implements android.os.Parcelable {
+    ctor public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
+    method public int describeContents();
+    method @NonNull public android.telephony.CallQuality getCallQuality();
+    method public int getNetworkType();
+    method @NonNull public android.telephony.PreciseCallState getPreciseCallState();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
+  }
+
+  public final class CallForwardingInfo implements android.os.Parcelable {
+    ctor public CallForwardingInfo(boolean, int, @Nullable String, int);
+    method public int describeContents();
+    method @Nullable public String getNumber();
+    method public int getReason();
+    method public int getTimeoutSeconds();
+    method public boolean isEnabled();
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallForwardingInfo> CREATOR;
+    field public static final int REASON_ALL = 4; // 0x4
+    field public static final int REASON_ALL_CONDITIONAL = 5; // 0x5
+    field public static final int REASON_BUSY = 1; // 0x1
+    field public static final int REASON_NOT_REACHABLE = 3; // 0x3
+    field public static final int REASON_NO_REPLY = 2; // 0x2
+    field public static final int REASON_UNCONDITIONAL = 0; // 0x0
+  }
+
+  public final class CallQuality implements android.os.Parcelable {
+    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
+    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
+    method public int describeContents();
+    method public int getAverageRelativeJitter();
+    method public int getAverageRoundTripTime();
+    method public int getCallDuration();
+    method public int getCodecType();
+    method public int getDownlinkCallQualityLevel();
+    method public int getMaxRelativeJitter();
+    method public int getNumRtpPacketsNotReceived();
+    method public int getNumRtpPacketsReceived();
+    method public int getNumRtpPacketsTransmitted();
+    method public int getNumRtpPacketsTransmittedLost();
+    method public int getUplinkCallQualityLevel();
+    method public boolean isIncomingSilenceDetectedAtCallSetup();
+    method public boolean isOutgoingSilenceDetectedAtCallSetup();
+    method public boolean isRtpInactivityDetected();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CALL_QUALITY_BAD = 4; // 0x4
+    field public static final int CALL_QUALITY_EXCELLENT = 0; // 0x0
+    field public static final int CALL_QUALITY_FAIR = 2; // 0x2
+    field public static final int CALL_QUALITY_GOOD = 1; // 0x1
+    field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
+    field public static final int CALL_QUALITY_POOR = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
+  }
+
+  public class CarrierConfigManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName();
+    method @NonNull public static android.os.PersistableBundle getDefaultConfig();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String);
+    field public static final int GBA_DIGEST = 3; // 0x3
+    field public static final int GBA_ME = 1; // 0x1
+    field public static final int GBA_U = 2; // 0x2
+    field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string";
+    field public static final String KEY_GBA_MODE_INT = "gba_mode_int";
+    field public static final String KEY_GBA_UA_SECURITY_ORGANIZATION_INT = "gba_ua_security_organization_int";
+    field public static final String KEY_GBA_UA_SECURITY_PROTOCOL_INT = "gba_ua_security_protocol_int";
+    field public static final String KEY_GBA_UA_TLS_CIPHER_SUITE_INT = "gba_ua_tls_cipher_suite_int";
+    field public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool";
+  }
+
+  public static final class CarrierConfigManager.Wifi {
+    field public static final String KEY_AVOID_5GHZ_SOFTAP_FOR_LAA_BOOL = "wifi.avoid_5ghz_softap_for_laa_bool";
+    field public static final String KEY_AVOID_5GHZ_WIFI_DIRECT_FOR_LAA_BOOL = "wifi.avoid_5ghz_wifi_direct_for_laa_bool";
+    field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count";
+    field public static final String KEY_PREFIX = "wifi.";
+    field public static final String KEY_SUGGESTION_SSID_LIST_WITH_MAC_RANDOMIZATION_DISABLED = "wifi.suggestion_ssid_list_with_mac_randomization_disabled";
+  }
+
+  public final class CarrierRestrictionRules implements android.os.Parcelable {
+    method @NonNull public java.util.List<java.lang.Boolean> areCarrierIdentifiersAllowed(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
+    method public int describeContents();
+    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers();
+    method public int getDefaultCarrierRestriction();
+    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getExcludedCarriers();
+    method public int getMultiSimPolicy();
+    method public boolean isAllCarriersAllowed();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
+    field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
+    field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
+    field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
+  }
+
+  public static final class CarrierRestrictionRules.Builder {
+    ctor public CarrierRestrictionRules.Builder();
+    method @NonNull public android.telephony.CarrierRestrictionRules build();
+    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllCarriersAllowed();
+    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllowedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
+    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setDefaultCarrierRestriction(int);
+    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setExcludedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
+    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
+  }
+
+  public class CbGeoUtils {
+  }
+
+  public static class CbGeoUtils.Circle implements android.telephony.CbGeoUtils.Geometry {
+    ctor public CbGeoUtils.Circle(@NonNull android.telephony.CbGeoUtils.LatLng, double);
+    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
+    method @NonNull public android.telephony.CbGeoUtils.LatLng getCenter();
+    method public double getRadius();
+  }
+
+  public static interface CbGeoUtils.Geometry {
+    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
+  }
+
+  public static class CbGeoUtils.LatLng {
+    ctor public CbGeoUtils.LatLng(double, double);
+    method public double distance(@NonNull android.telephony.CbGeoUtils.LatLng);
+    method @NonNull public android.telephony.CbGeoUtils.LatLng subtract(@NonNull android.telephony.CbGeoUtils.LatLng);
+    field public final double lat;
+    field public final double lng;
+  }
+
+  public static class CbGeoUtils.Polygon implements android.telephony.CbGeoUtils.Geometry {
+    ctor public CbGeoUtils.Polygon(@NonNull java.util.List<android.telephony.CbGeoUtils.LatLng>);
+    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
+    method @NonNull public java.util.List<android.telephony.CbGeoUtils.LatLng> getVertices();
+  }
+
+  public class CellBroadcastIntents {
+    method public static void sendSmsCbReceivedBroadcast(@NonNull android.content.Context, @Nullable android.os.UserHandle, @NonNull android.telephony.SmsCbMessage, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, int);
+    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
+  }
+
+  public abstract class CellBroadcastService extends android.app.Service {
+    ctor public CellBroadcastService();
+    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
+    method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
+    method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
+    method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
+    method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
+    field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
+  }
+
+  public abstract class CellIdentity implements android.os.Parcelable {
+    method @NonNull public abstract android.telephony.CellLocation asCellLocation();
+    method @NonNull public abstract android.telephony.CellIdentity sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityCdma extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.cdma.CdmaCellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityCdma sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityGsm extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityGsm sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityLte extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityLte sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityNr extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.CellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityNr sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityTdscdma sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityWcdma sanitizeLocationInfo();
+  }
+
+  public final class DataFailCause {
+    field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be
+  }
+
+  public final class DataSpecificRegistrationInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Deprecated @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
+    method @Nullable public android.telephony.VopsSupportInfo getVopsSupportInfo();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationInfo> CREATOR;
+  }
+
+  public final class DataThrottlingRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getCompletionDurationMillis();
+    method public int getDataThrottlingAction();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataThrottlingRequest> CREATOR;
+    field public static final int DATA_THROTTLING_ACTION_HOLD = 3; // 0x3
+    field public static final int DATA_THROTTLING_ACTION_NO_DATA_THROTTLING = 0; // 0x0
+    field public static final int DATA_THROTTLING_ACTION_THROTTLE_PRIMARY_CARRIER = 2; // 0x2
+    field public static final int DATA_THROTTLING_ACTION_THROTTLE_SECONDARY_CARRIER = 1; // 0x1
+  }
+
+  public static final class DataThrottlingRequest.Builder {
+    ctor public DataThrottlingRequest.Builder();
+    method @NonNull public android.telephony.DataThrottlingRequest build();
+    method @NonNull public android.telephony.DataThrottlingRequest.Builder setCompletionDurationMillis(long);
+    method @NonNull public android.telephony.DataThrottlingRequest.Builder setDataThrottlingAction(int);
+  }
+
+  public final class ImsiEncryptionInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getKeyIdentifier();
+    method @Nullable public java.security.PublicKey getPublicKey();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
+  }
+
+  public final class LinkCapacityEstimate implements android.os.Parcelable {
+    ctor public LinkCapacityEstimate(int, int, int);
+    method public int describeContents();
+    method public int getDownlinkCapacityKbps();
+    method public int getType();
+    method public int getUplinkCapacityKbps();
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LinkCapacityEstimate> CREATOR;
+    field public static final int INVALID = -1; // 0xffffffff
+    field public static final int LCE_TYPE_COMBINED = 2; // 0x2
+    field public static final int LCE_TYPE_PRIMARY = 0; // 0x0
+    field public static final int LCE_TYPE_SECONDARY = 1; // 0x1
+  }
+
+  public final class LteVopsSupportInfo extends android.telephony.VopsSupportInfo {
+    ctor public LteVopsSupportInfo(int, int);
+    method public int getEmcBearerSupport();
+    method public int getVopsSupport();
+    method public boolean isEmergencyServiceFallbackSupported();
+    method public boolean isEmergencyServiceSupported();
+    method public boolean isVopsSupported();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
+    field @Deprecated public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
+    field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
+    field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
+  }
+
+  public class MbmsDownloadSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
+  }
+
+  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
+  }
+
+  public class MbmsStreamingSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
+  }
+
+  public final class ModemActivityInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo);
+    method public long getIdleTimeMillis();
+    method public static int getNumTxPowerLevels();
+    method public long getReceiveTimeMillis();
+    method public long getSleepTimeMillis();
+    method public long getTimestampMillis();
+    method public long getTransmitDurationMillisAtPowerLevel(int);
+    method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR;
+    field public static final int TX_POWER_LEVEL_0 = 0; // 0x0
+    field public static final int TX_POWER_LEVEL_1 = 1; // 0x1
+    field public static final int TX_POWER_LEVEL_2 = 2; // 0x2
+    field public static final int TX_POWER_LEVEL_3 = 3; // 0x3
+    field public static final int TX_POWER_LEVEL_4 = 4; // 0x4
+  }
+
+  public final class NetworkRegistrationInfo implements android.os.Parcelable {
+    method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo();
+    method public int getRegistrationState();
+    method public int getRejectCause();
+    method public int getRoamingType();
+    method public boolean isEmergencyEnabled();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
+    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
+    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
+    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
+    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
+    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
+  }
+
+  public static final class NetworkRegistrationInfo.Builder {
+    ctor public NetworkRegistrationInfo.Builder();
+    method @NonNull public android.telephony.NetworkRegistrationInfo build();
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
+  }
+
+  public abstract class NetworkService extends android.app.Service {
+    ctor public NetworkService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
+    field public static final String SERVICE_INTERFACE = "android.telephony.NetworkService";
+  }
+
+  public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
+    ctor public NetworkService.NetworkServiceProvider(int);
+    method public abstract void close();
+    method public final int getSlotIndex();
+    method public final void notifyNetworkRegistrationInfoChanged();
+    method public void requestNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
+  }
+
+  public class NetworkServiceCallback {
+    method public void onRequestNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
+    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
+    field public static final int RESULT_ERROR_FAILED = 5; // 0x5
+    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
+    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
+    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+  public final class NrVopsSupportInfo extends android.telephony.VopsSupportInfo {
+    ctor public NrVopsSupportInfo(int, int, int);
+    method public int getEmcSupport();
+    method public int getEmfSupport();
+    method public int getVopsSupport();
+    method public boolean isEmergencyServiceFallbackSupported();
+    method public boolean isEmergencyServiceSupported();
+    method public boolean isVopsSupported();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NrVopsSupportInfo> CREATOR;
+    field public static final int NR_STATUS_EMC_5GCN_ONLY = 1; // 0x1
+    field public static final int NR_STATUS_EMC_EUTRA_5GCN_ONLY = 2; // 0x2
+    field public static final int NR_STATUS_EMC_NOT_SUPPORTED = 0; // 0x0
+    field public static final int NR_STATUS_EMC_NR_EUTRA_5GCN = 3; // 0x3
+    field public static final int NR_STATUS_EMF_5GCN_ONLY = 1; // 0x1
+    field public static final int NR_STATUS_EMF_EUTRA_5GCN_ONLY = 2; // 0x2
+    field public static final int NR_STATUS_EMF_NOT_SUPPORTED = 0; // 0x0
+    field public static final int NR_STATUS_EMF_NR_EUTRA_5GCN = 3; // 0x3
+    field public static final int NR_STATUS_VOPS_3GPP_SUPPORTED = 1; // 0x1
+    field public static final int NR_STATUS_VOPS_NON_3GPP_SUPPORTED = 2; // 0x2
+    field public static final int NR_STATUS_VOPS_NOT_SUPPORTED = 0; // 0x0
+  }
+
+  public interface NumberVerificationCallback {
+    method public default void onCallReceived(@NonNull String);
+    method public default void onVerificationFailed(int);
+    field public static final int REASON_CONCURRENT_REQUESTS = 4; // 0x4
+    field public static final int REASON_IN_ECBM = 5; // 0x5
+    field public static final int REASON_IN_EMERGENCY_CALL = 6; // 0x6
+    field public static final int REASON_NETWORK_NOT_AVAILABLE = 2; // 0x2
+    field public static final int REASON_TIMED_OUT = 1; // 0x1
+    field public static final int REASON_TOO_MANY_CALLS = 3; // 0x3
+    field public static final int REASON_UNSPECIFIED = 0; // 0x0
+  }
+
+  public final class PhoneCapability implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public int[] getDeviceNrCapabilities();
+    method @IntRange(from=1) public int getMaxActiveDataSubscriptions();
+    method @IntRange(from=1) public int getMaxActiveVoiceSubscriptions();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
+    field public static final int DEVICE_NR_CAPABILITY_NSA = 1; // 0x1
+    field public static final int DEVICE_NR_CAPABILITY_SA = 2; // 0x2
+  }
+
+  public final class PhoneNumberRange implements android.os.Parcelable {
+    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
+    method public int describeContents();
+    method public boolean matches(@NonNull String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
+  }
+
+  public class PhoneNumberUtils {
+    method @NonNull public static String getUsernameFromUriNumber(@NonNull String);
+    method public static boolean isUriNumber(@Nullable String);
+    method public static boolean isVoiceMailNumber(@NonNull android.content.Context, int, @Nullable String);
+  }
+
+  @Deprecated public class PhoneStateListener {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
+    method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_ATTRIBUTES_CHANGED = 67108864; // 0x4000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
+  }
+
+  public final class PinResult implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAttemptsRemaining();
+    method public int getResult();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PinResult> CREATOR;
+    field public static final int PIN_RESULT_TYPE_ABORTED = 3; // 0x3
+    field public static final int PIN_RESULT_TYPE_FAILURE = 2; // 0x2
+    field public static final int PIN_RESULT_TYPE_INCORRECT = 1; // 0x1
+    field public static final int PIN_RESULT_TYPE_SUCCESS = 0; // 0x0
+  }
+
+  public final class PreciseCallState implements android.os.Parcelable {
+    ctor public PreciseCallState(int, int, int, int, int);
+    method public int describeContents();
+    method public int getBackgroundCallState();
+    method public int getForegroundCallState();
+    method public int getRingingCallState();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
+    field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
+    field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
+    field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
+    field public static final int PRECISE_CALL_STATE_DISCONNECTED = 7; // 0x7
+    field public static final int PRECISE_CALL_STATE_DISCONNECTING = 8; // 0x8
+    field public static final int PRECISE_CALL_STATE_HOLDING = 2; // 0x2
+    field public static final int PRECISE_CALL_STATE_IDLE = 0; // 0x0
+    field public static final int PRECISE_CALL_STATE_INCOMING = 5; // 0x5
+    field public static final int PRECISE_CALL_STATE_NOT_VALID = -1; // 0xffffffff
+    field public static final int PRECISE_CALL_STATE_WAITING = 6; // 0x6
+  }
+
+  public final class PreciseDataConnectionState implements android.os.Parcelable {
+    method @Deprecated @NonNull public String getDataConnectionApn();
+    method @Deprecated public int getDataConnectionApnTypeBitMask();
+    method @Deprecated public int getDataConnectionFailCause();
+    method @Deprecated public int getDataConnectionState();
+  }
+
+  public final class PreciseDisconnectCause {
+    field public static final int ACCESS_CLASS_BLOCKED = 260; // 0x104
+    field public static final int ACCESS_INFORMATION_DISCARDED = 43; // 0x2b
+    field public static final int ACM_LIMIT_EXCEEDED = 68; // 0x44
+    field public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; // 0x39
+    field public static final int BEARER_NOT_AVAIL = 58; // 0x3a
+    field public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; // 0x41
+    field public static final int BUSY = 17; // 0x11
+    field public static final int CALL_BARRED = 240; // 0xf0
+    field public static final int CALL_REJECTED = 21; // 0x15
+    field public static final int CDMA_ACCESS_BLOCKED = 1009; // 0x3f1
+    field public static final int CDMA_ACCESS_FAILURE = 1006; // 0x3ee
+    field public static final int CDMA_DROP = 1001; // 0x3e9
+    field public static final int CDMA_INTERCEPT = 1002; // 0x3ea
+    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; // 0x3e8
+    field public static final int CDMA_NOT_EMERGENCY = 1008; // 0x3f0
+    field public static final int CDMA_PREEMPTED = 1007; // 0x3ef
+    field public static final int CDMA_REORDER = 1003; // 0x3eb
+    field public static final int CDMA_RETRY_ORDER = 1005; // 0x3ed
+    field public static final int CDMA_SO_REJECT = 1004; // 0x3ec
+    field public static final int CHANNEL_NOT_AVAIL = 44; // 0x2c
+    field public static final int CHANNEL_UNACCEPTABLE = 6; // 0x6
+    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
+    field public static final int DESTINATION_OUT_OF_ORDER = 27; // 0x1b
+    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
+    field public static final int FACILITY_REJECTED = 29; // 0x1d
+    field public static final int FDN_BLOCKED = 241; // 0xf1
+    field public static final int IMEI_NOT_ACCEPTED = 243; // 0xf3
+    field public static final int IMSI_UNKNOWN_IN_VLR = 242; // 0xf2
+    field public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; // 0x37
+    field public static final int INCOMPATIBLE_DESTINATION = 88; // 0x58
+    field public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; // 0x63
+    field public static final int INTERWORKING_UNSPECIFIED = 127; // 0x7f
+    field public static final int INVALID_MANDATORY_INFORMATION = 96; // 0x60
+    field public static final int INVALID_NUMBER_FORMAT = 28; // 0x1c
+    field public static final int INVALID_TRANSACTION_IDENTIFIER = 81; // 0x51
+    field public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; // 0x65
+    field public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; // 0x61
+    field public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; // 0x62
+    field public static final int NETWORK_DETACH = 261; // 0x105
+    field public static final int NETWORK_OUT_OF_ORDER = 38; // 0x26
+    field public static final int NETWORK_REJECT = 252; // 0xfc
+    field public static final int NETWORK_RESP_TIMEOUT = 251; // 0xfb
+    field public static final int NORMAL = 16; // 0x10
+    field public static final int NORMAL_UNSPECIFIED = 31; // 0x1f
+    field public static final int NOT_VALID = -1; // 0xffffffff
+    field public static final int NO_ANSWER_FROM_USER = 19; // 0x13
+    field public static final int NO_CIRCUIT_AVAIL = 34; // 0x22
+    field public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; // 0x0
+    field public static final int NO_ROUTE_TO_DESTINATION = 3; // 0x3
+    field public static final int NO_USER_RESPONDING = 18; // 0x12
+    field public static final int NO_VALID_SIM = 249; // 0xf9
+    field public static final int NUMBER_CHANGED = 22; // 0x16
+    field public static final int OEM_CAUSE_1 = 61441; // 0xf001
+    field public static final int OEM_CAUSE_10 = 61450; // 0xf00a
+    field public static final int OEM_CAUSE_11 = 61451; // 0xf00b
+    field public static final int OEM_CAUSE_12 = 61452; // 0xf00c
+    field public static final int OEM_CAUSE_13 = 61453; // 0xf00d
+    field public static final int OEM_CAUSE_14 = 61454; // 0xf00e
+    field public static final int OEM_CAUSE_15 = 61455; // 0xf00f
+    field public static final int OEM_CAUSE_2 = 61442; // 0xf002
+    field public static final int OEM_CAUSE_3 = 61443; // 0xf003
+    field public static final int OEM_CAUSE_4 = 61444; // 0xf004
+    field public static final int OEM_CAUSE_5 = 61445; // 0xf005
+    field public static final int OEM_CAUSE_6 = 61446; // 0xf006
+    field public static final int OEM_CAUSE_7 = 61447; // 0xf007
+    field public static final int OEM_CAUSE_8 = 61448; // 0xf008
+    field public static final int OEM_CAUSE_9 = 61449; // 0xf009
+    field public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; // 0x46
+    field public static final int OPERATOR_DETERMINED_BARRING = 8; // 0x8
+    field public static final int OUT_OF_SRV = 248; // 0xf8
+    field public static final int PREEMPTION = 25; // 0x19
+    field public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; // 0x6f
+    field public static final int QOS_NOT_AVAIL = 49; // 0x31
+    field public static final int RADIO_ACCESS_FAILURE = 253; // 0xfd
+    field public static final int RADIO_INTERNAL_ERROR = 250; // 0xfa
+    field public static final int RADIO_LINK_FAILURE = 254; // 0xfe
+    field public static final int RADIO_LINK_LOST = 255; // 0xff
+    field public static final int RADIO_OFF = 247; // 0xf7
+    field public static final int RADIO_RELEASE_ABNORMAL = 259; // 0x103
+    field public static final int RADIO_RELEASE_NORMAL = 258; // 0x102
+    field public static final int RADIO_SETUP_FAILURE = 257; // 0x101
+    field public static final int RADIO_UPLINK_FAILURE = 256; // 0x100
+    field public static final int RECOVERY_ON_TIMER_EXPIRED = 102; // 0x66
+    field public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; // 0x45
+    field public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; // 0x32
+    field public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; // 0x2f
+    field public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; // 0x5f
+    field public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; // 0x3f
+    field public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; // 0x4f
+    field public static final int STATUS_ENQUIRY = 30; // 0x1e
+    field public static final int SWITCHING_CONGESTION = 42; // 0x2a
+    field public static final int TEMPORARY_FAILURE = 41; // 0x29
+    field public static final int UNOBTAINABLE_NUMBER = 1; // 0x1
+    field public static final int USER_NOT_MEMBER_OF_CUG = 87; // 0x57
+  }
+
+  public class ServiceState implements android.os.Parcelable {
+    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
+    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
+    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
+    field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
+    field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
+    field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
+    field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
+  }
+
+  public final class SmsCbCmasInfo implements android.os.Parcelable {
+    ctor public SmsCbCmasInfo(int, int, int, int, int, int);
+    method public int describeContents();
+    method public int getCategory();
+    method public int getCertainty();
+    method public int getMessageClass();
+    method public int getResponseType();
+    method public int getSeverity();
+    method public int getUrgency();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CMAS_CATEGORY_CBRNE = 10; // 0xa
+    field public static final int CMAS_CATEGORY_ENV = 7; // 0x7
+    field public static final int CMAS_CATEGORY_FIRE = 5; // 0x5
+    field public static final int CMAS_CATEGORY_GEO = 0; // 0x0
+    field public static final int CMAS_CATEGORY_HEALTH = 6; // 0x6
+    field public static final int CMAS_CATEGORY_INFRA = 9; // 0x9
+    field public static final int CMAS_CATEGORY_MET = 1; // 0x1
+    field public static final int CMAS_CATEGORY_OTHER = 11; // 0xb
+    field public static final int CMAS_CATEGORY_RESCUE = 4; // 0x4
+    field public static final int CMAS_CATEGORY_SAFETY = 2; // 0x2
+    field public static final int CMAS_CATEGORY_SECURITY = 3; // 0x3
+    field public static final int CMAS_CATEGORY_TRANSPORT = 8; // 0x8
+    field public static final int CMAS_CATEGORY_UNKNOWN = -1; // 0xffffffff
+    field public static final int CMAS_CERTAINTY_LIKELY = 1; // 0x1
+    field public static final int CMAS_CERTAINTY_OBSERVED = 0; // 0x0
+    field public static final int CMAS_CERTAINTY_UNKNOWN = -1; // 0xffffffff
+    field public static final int CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY = 3; // 0x3
+    field public static final int CMAS_CLASS_CMAS_EXERCISE = 5; // 0x5
+    field public static final int CMAS_CLASS_EXTREME_THREAT = 1; // 0x1
+    field public static final int CMAS_CLASS_OPERATOR_DEFINED_USE = 6; // 0x6
+    field public static final int CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT = 0; // 0x0
+    field public static final int CMAS_CLASS_REQUIRED_MONTHLY_TEST = 4; // 0x4
+    field public static final int CMAS_CLASS_SEVERE_THREAT = 2; // 0x2
+    field public static final int CMAS_CLASS_UNKNOWN = -1; // 0xffffffff
+    field public static final int CMAS_RESPONSE_TYPE_ASSESS = 6; // 0x6
+    field public static final int CMAS_RESPONSE_TYPE_AVOID = 5; // 0x5
+    field public static final int CMAS_RESPONSE_TYPE_EVACUATE = 1; // 0x1
+    field public static final int CMAS_RESPONSE_TYPE_EXECUTE = 3; // 0x3
+    field public static final int CMAS_RESPONSE_TYPE_MONITOR = 4; // 0x4
+    field public static final int CMAS_RESPONSE_TYPE_NONE = 7; // 0x7
+    field public static final int CMAS_RESPONSE_TYPE_PREPARE = 2; // 0x2
+    field public static final int CMAS_RESPONSE_TYPE_SHELTER = 0; // 0x0
+    field public static final int CMAS_RESPONSE_TYPE_UNKNOWN = -1; // 0xffffffff
+    field public static final int CMAS_SEVERITY_EXTREME = 0; // 0x0
+    field public static final int CMAS_SEVERITY_SEVERE = 1; // 0x1
+    field public static final int CMAS_SEVERITY_UNKNOWN = -1; // 0xffffffff
+    field public static final int CMAS_URGENCY_EXPECTED = 1; // 0x1
+    field public static final int CMAS_URGENCY_IMMEDIATE = 0; // 0x0
+    field public static final int CMAS_URGENCY_UNKNOWN = -1; // 0xffffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbCmasInfo> CREATOR;
+  }
+
+  public final class SmsCbEtwsInfo implements android.os.Parcelable {
+    ctor public SmsCbEtwsInfo(int, boolean, boolean, boolean, @Nullable byte[]);
+    method public int describeContents();
+    method @Nullable public byte[] getPrimaryNotificationSignature();
+    method public long getPrimaryNotificationTimestamp();
+    method public int getWarningType();
+    method public boolean isEmergencyUserAlert();
+    method public boolean isPopupAlert();
+    method public boolean isPrimary();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbEtwsInfo> CREATOR;
+    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE = 0; // 0x0
+    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI = 2; // 0x2
+    field public static final int ETWS_WARNING_TYPE_OTHER_EMERGENCY = 4; // 0x4
+    field public static final int ETWS_WARNING_TYPE_TEST_MESSAGE = 3; // 0x3
+    field public static final int ETWS_WARNING_TYPE_TSUNAMI = 1; // 0x1
+    field public static final int ETWS_WARNING_TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class SmsCbLocation implements android.os.Parcelable {
+    ctor public SmsCbLocation(@NonNull String, int, int);
+    method public int describeContents();
+    method public int getCid();
+    method public int getLac();
+    method @NonNull public String getPlmn();
+    method public boolean isInLocationArea(@NonNull android.telephony.SmsCbLocation);
+    method public boolean isInLocationArea(@Nullable String, int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbLocation> CREATOR;
+  }
+
+  public final class SmsCbMessage implements android.os.Parcelable {
+    ctor public SmsCbMessage(int, int, int, @NonNull android.telephony.SmsCbLocation, int, @Nullable String, int, @Nullable String, int, @Nullable android.telephony.SmsCbEtwsInfo, @Nullable android.telephony.SmsCbCmasInfo, int, @Nullable java.util.List<android.telephony.CbGeoUtils.Geometry>, long, int, int);
+    method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
+    method public int describeContents();
+    method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
+    method @NonNull public android.content.ContentValues getContentValues();
+    method public int getDataCodingScheme();
+    method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
+    method public int getGeographicalScope();
+    method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
+    method @Nullable public String getLanguageCode();
+    method @NonNull public android.telephony.SmsCbLocation getLocation();
+    method public int getMaximumWaitingDuration();
+    method @Nullable public String getMessageBody();
+    method public int getMessageFormat();
+    method public int getMessagePriority();
+    method public long getReceivedTime();
+    method public int getSerialNumber();
+    method public int getServiceCategory();
+    method public int getSlotIndex();
+    method public int getSubscriptionId();
+    method public boolean isCmasMessage();
+    method public boolean isEmergencyMessage();
+    method public boolean isEtwsMessage();
+    method public boolean needGeoFencingCheck();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbMessage> CREATOR;
+    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; // 0x3
+    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; // 0x0
+    field public static final int GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE = 2; // 0x2
+    field public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; // 0x1
+    field public static final int MAXIMUM_WAIT_TIME_NOT_SET = 255; // 0xff
+    field public static final int MESSAGE_FORMAT_3GPP = 1; // 0x1
+    field public static final int MESSAGE_FORMAT_3GPP2 = 2; // 0x2
+    field public static final int MESSAGE_PRIORITY_EMERGENCY = 3; // 0x3
+    field public static final int MESSAGE_PRIORITY_INTERACTIVE = 1; // 0x1
+    field public static final int MESSAGE_PRIORITY_NORMAL = 0; // 0x0
+    field public static final int MESSAGE_PRIORITY_URGENT = 2; // 0x2
+  }
+
+  public final class SmsManager {
+    method public boolean disableCellBroadcastRange(int, int, int);
+    method public boolean enableCellBroadcastRange(int, int, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public void resetAllCellBroadcastRanges();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void sendMultipartTextMessageWithoutPersisting(String, String, java.util.List<java.lang.String>, java.util.List<android.app.PendingIntent>, java.util.List<android.app.PendingIntent>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int);
+    field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3
+    field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1
+    field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2
+    field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0
+  }
+
+  public class SmsMessage {
+    method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean);
+    method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long);
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static byte[] getSubmitPduEncodedMessage(boolean, @NonNull String, @NonNull String, int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0, to=255) int, @IntRange(from=1, to=255) int, @IntRange(from=1, to=255) int);
+  }
+
+  public class SubscriptionInfo implements android.os.Parcelable {
+    method public boolean areUiccApplicationsEnabled();
+    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
+    method public int getProfileClass();
+    method public boolean isGroupDisabled();
+  }
+
+  public class SubscriptionManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
+    method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public byte[] getAllSimSpecificSettingsForBackup();
+    method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
+    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
+    method public void requestEmbeddedSubscriptionInfoListRefresh();
+    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void restoreAllSimSpecificSettingsFromBackup(@NonNull byte[]);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPreferredDataSubscriptionId(int, boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(int, boolean);
+    field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
+    field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
+    field @NonNull public static final android.net.Uri CROSS_SIM_ENABLED_CONTENT_URI;
+    field @Deprecated public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
+    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
+    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
+    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
+    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
+    field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
+    field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
+    field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
+    field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
+    field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
+  }
+
+  public static class SubscriptionPlan.Builder {
+    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringDaily(java.time.ZonedDateTime);
+    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringMonthly(java.time.ZonedDateTime);
+    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringWeekly(java.time.ZonedDateTime);
+  }
+
+  public class TelephonyCallback {
+    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGED = 23; // 0x17
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_ALLOWED_NETWORK_TYPE_LIST_CHANGED = 35; // 0x23
+    field public static final int EVENT_ALWAYS_REPORTED_SIGNAL_STRENGTH_CHANGED = 10; // 0xa
+    field @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int EVENT_BARRING_INFO_CHANGED = 32; // 0x20
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_ATTRIBUTES_CHANGED = 27; // 0x1b
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_DISCONNECT_CAUSE_CHANGED = 26; // 0x1a
+    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CALL_FORWARDING_INDICATOR_CHANGED = 4; // 0x4
+    field public static final int EVENT_CALL_STATE_CHANGED = 6; // 0x6
+    field public static final int EVENT_CARRIER_NETWORK_CHANGED = 17; // 0x11
+    field @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int EVENT_CELL_INFO_CHANGED = 11; // 0xb
+    field @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int EVENT_CELL_LOCATION_CHANGED = 5; // 0x5
+    field public static final int EVENT_DATA_ACTIVATION_STATE_CHANGED = 19; // 0x13
+    field public static final int EVENT_DATA_ACTIVITY_CHANGED = 8; // 0x8
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_CONNECTION_REAL_TIME_INFO_CHANGED = 14; // 0xe
+    field public static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 7; // 0x7
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_ENABLED_CHANGED = 34; // 0x22
+    field public static final int EVENT_DISPLAY_INFO_CHANGED = 21; // 0x15
+    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_EMERGENCY_NUMBER_LIST_CHANGED = 25; // 0x19
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED = 28; // 0x1c
+    field @RequiresPermission(android.Manifest.permission.READ_CALL_LOG) public static final int EVENT_LEGACY_CALL_STATE_CHANGED = 36; // 0x24
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_LINK_CAPACITY_ESTIMATE_CHANGED = 37; // 0x25
+    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_MESSAGE_WAITING_INDICATOR_CHANGED = 3; // 0x3
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_OEM_HOOK_RAW = 15; // 0xf
+    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_CALL = 29; // 0x1d
+    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_SMS = 30; // 0x1e
+    field public static final int EVENT_PHONE_CAPABILITY_CHANGED = 22; // 0x16
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED = 33; // 0x21
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_CALL_STATE_CHANGED = 12; // 0xc
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED = 13; // 0xd
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_RADIO_POWER_STATE_CHANGED = 24; // 0x18
+    field @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int EVENT_REGISTRATION_FAILURE = 31; // 0x1f
+    field public static final int EVENT_SERVICE_STATE_CHANGED = 1; // 0x1
+    field public static final int EVENT_SIGNAL_STRENGTHS_CHANGED = 9; // 0x9
+    field public static final int EVENT_SIGNAL_STRENGTH_CHANGED = 2; // 0x2
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SRVCC_STATE_CHANGED = 16; // 0x10
+    field public static final int EVENT_USER_MOBILE_DATA_STATE_CHANGED = 20; // 0x14
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_VOICE_ACTIVATION_STATE_CHANGED = 18; // 0x12
+  }
+
+  public static interface TelephonyCallback.AllowedNetworkTypesListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(int, long);
+  }
+
+  public static interface TelephonyCallback.CallAttributesListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
+  }
+
+  public static interface TelephonyCallback.DataEnabledListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onDataEnabledChanged(boolean, int);
+  }
+
+  public static interface TelephonyCallback.LinkCapacityEstimateChangedListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onLinkCapacityEstimateChanged(@NonNull java.util.List<android.telephony.LinkCapacityEstimate>);
+  }
+
+  public static interface TelephonyCallback.OutgoingEmergencyCallListener {
+    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
+  }
+
+  public static interface TelephonyCallback.OutgoingEmergencySmsListener {
+    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
+  }
+
+  public static interface TelephonyCallback.PhoneCapabilityListener {
+    method public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
+  }
+
+  public static interface TelephonyCallback.PreciseCallStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
+  }
+
+  public static interface TelephonyCallback.RadioPowerStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
+  }
+
+  public static interface TelephonyCallback.SrvccStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
+  }
+
+  public static interface TelephonyCallback.VoiceActivationStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
+  }
+
+  public final class TelephonyHistogram implements android.os.Parcelable {
+    ctor public TelephonyHistogram(int, int, int);
+    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
+    ctor public TelephonyHistogram(android.os.Parcel);
+    method public void addTimeTaken(int);
+    method public int describeContents();
+    method public int getAverageTime();
+    method public int getBucketCount();
+    method public int[] getBucketCounters();
+    method public int[] getBucketEndPoints();
+    method public int getCategory();
+    method public int getId();
+    method public int getMaxTime();
+    method public int getMinTime();
+    method public int getSampleCount();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
+    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
+  }
+
+  public class TelephonyManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) @WorkerThread public void bootstrapAuthenticationRequest(int, @NonNull android.net.Uri, @NonNull android.telephony.gba.UaSecurityProtocolIdentifier, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.BootstrapAuthenticationCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackage(String);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackageAnyPhone(String);
+    method public void dial(String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean disableDataConnectivity();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesBitmask();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesForReason(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallWaitingStatus(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
+    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaEnhancedRoamingIndicatorDisplayNumber();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(int);
+    method public String getCdmaPrlVersion();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaRoamingMode();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaSubscriptionMode();
+    method public int getCurrentPhoneType();
+    method public int getCurrentPhoneType(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState();
+    method @Deprecated public boolean getDataEnabled();
+    method @Deprecated public boolean getDataEnabled(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
+    method public int getMaxNumberOfSimultaneouslyActiveSims();
+    method public static long getMaxNumberVerificationTimeoutMillis();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.PhoneCapability getPhoneCapability();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
+    method public int getSimApplicationState();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
+    method public int getSimCardState();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getSupportedRadioAccessFamily();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telephony.RadioAccessSpecifier> getSystemSelectionChannels();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
+    method @Nullable public android.os.Bundle getVisualVoicemailSettings();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
+    method public boolean isDataConnectivityPossible();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNrDualConnectivityEnabled();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String);
+    method public boolean needsOtaServiceProvisioning();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
+    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.MODIFY_PHONE_STATE}) public void requestCellInfoUpdate(@NonNull android.os.WorkSource, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CellInfoCallback);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestModemActivityInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.ModemActivityInfo,android.telephony.TelephonyManager.ModemActivityInfoException>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestNumberVerification(@NonNull android.telephony.PhoneNumberRange, long, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.NumberVerificationCallback);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void resetIms(int);
+    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void resetOtaEmergencyNumberDbFilePath();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
+    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int sendThermalMitigationRequest(@NonNull android.telephony.ThermalMitigationRequest);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAllowedNetworkTypesForReason(int, long);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallForwarding(@NonNull android.telephony.CallForwardingInfo, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallWaitingEnabled(boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaRoamingMode(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaSubscriptionMode(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult setIccLockEnabled(boolean, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabled(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setNrDualConnectivityState(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRadioEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
+    method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPin(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPuk(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPin(String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPinReportResult(String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPuk(String, String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
+    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
+    method public void updateServiceLocation();
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
+    field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED";
+    field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED";
+    field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE";
+    field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED";
+    field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED";
+    field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE";
+    field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS";
+    field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
+    field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
+    field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
+    field public static final int ALLOWED_NETWORK_TYPES_REASON_CARRIER = 2; // 0x2
+    field public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3; // 0x3
+    field public static final int ALLOWED_NETWORK_TYPES_REASON_POWER = 1; // 0x1
+    field public static final int ALLOWED_NETWORK_TYPES_REASON_USER = 0; // 0x0
+    field public static final int CALL_WAITING_STATUS_DISABLED = 2; // 0x2
+    field public static final int CALL_WAITING_STATUS_ENABLED = 1; // 0x1
+    field public static final int CALL_WAITING_STATUS_NOT_SUPPORTED = 4; // 0x4
+    field public static final int CALL_WAITING_STATUS_UNKNOWN_ERROR = 3; // 0x3
+    field public static final String CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE = "CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE";
+    field public static final String CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE = "CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE";
+    field public static final String CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING = "CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING";
+    field public static final String CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK = "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK";
+    field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
+    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
+    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
+    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
+    field public static final int CDMA_SUBSCRIPTION_NV = 1; // 0x1
+    field public static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // 0x0
+    field public static final int CDMA_SUBSCRIPTION_UNKNOWN = -1; // 0xffffffff
+    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_INVALID_STATE = 4; // 0x4
+    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_NOT_SUPPORTED = 1; // 0x1
+    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_ERROR = 3; // 0x3
+    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_NOT_AVAILABLE = 2; // 0x2
+    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_SUCCESS = 0; // 0x0
+    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
+    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
+    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
+    field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL";
+    field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
+    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
+    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
+    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_READY = 2; // 0x2
+    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_SUPPORTED = 1; // 0x1
+    field public static final int GBA_FAILURE_REASON_INCORRECT_NAF_ID = 4; // 0x4
+    field public static final int GBA_FAILURE_REASON_NETWORK_FAILURE = 3; // 0x3
+    field public static final int GBA_FAILURE_REASON_SECURITY_PROTOCOL_NOT_SUPPORTED = 5; // 0x5
+    field public static final int GBA_FAILURE_REASON_UNKNOWN = 0; // 0x0
+    field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
+    field public static final int KEY_TYPE_EPDG = 1; // 0x1
+    field public static final int KEY_TYPE_WLAN = 2; // 0x2
+    field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
+    field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
+    field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
+    field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
+    field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
+    field public static final long NETWORK_TYPE_BITMASK_EHRPD = 8192L; // 0x2000L
+    field public static final long NETWORK_TYPE_BITMASK_EVDO_0 = 16L; // 0x10L
+    field public static final long NETWORK_TYPE_BITMASK_EVDO_A = 32L; // 0x20L
+    field public static final long NETWORK_TYPE_BITMASK_EVDO_B = 2048L; // 0x800L
+    field public static final long NETWORK_TYPE_BITMASK_GPRS = 1L; // 0x1L
+    field public static final long NETWORK_TYPE_BITMASK_GSM = 32768L; // 0x8000L
+    field public static final long NETWORK_TYPE_BITMASK_HSDPA = 128L; // 0x80L
+    field public static final long NETWORK_TYPE_BITMASK_HSPA = 512L; // 0x200L
+    field public static final long NETWORK_TYPE_BITMASK_HSPAP = 16384L; // 0x4000L
+    field public static final long NETWORK_TYPE_BITMASK_HSUPA = 256L; // 0x100L
+    field public static final long NETWORK_TYPE_BITMASK_IWLAN = 131072L; // 0x20000L
+    field public static final long NETWORK_TYPE_BITMASK_LTE = 4096L; // 0x1000L
+    field public static final long NETWORK_TYPE_BITMASK_LTE_CA = 262144L; // 0x40000L
+    field public static final long NETWORK_TYPE_BITMASK_NR = 524288L; // 0x80000L
+    field public static final long NETWORK_TYPE_BITMASK_TD_SCDMA = 65536L; // 0x10000L
+    field public static final long NETWORK_TYPE_BITMASK_UMTS = 4L; // 0x4L
+    field public static final long NETWORK_TYPE_BITMASK_UNKNOWN = 0L; // 0x0L
+    field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2
+    field public static final int NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE = 3; // 0x3
+    field public static final int NR_DUAL_CONNECTIVITY_ENABLE = 1; // 0x1
+    field public static final int PREPARE_UNATTENDED_REBOOT_ERROR = 2; // 0x2
+    field public static final int PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED = 1; // 0x1
+    field public static final int PREPARE_UNATTENDED_REBOOT_SUCCESS = 0; // 0x0
+    field public static final int RADIO_POWER_OFF = 0; // 0x0
+    field public static final int RADIO_POWER_ON = 1; // 0x1
+    field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
+    field public static final int SET_CARRIER_RESTRICTION_ERROR = 2; // 0x2
+    field public static final int SET_CARRIER_RESTRICTION_NOT_SUPPORTED = 1; // 0x1
+    field public static final int SET_CARRIER_RESTRICTION_SUCCESS = 0; // 0x0
+    field public static final int SET_SIM_POWER_STATE_ALREADY_IN_STATE = 1; // 0x1
+    field public static final int SET_SIM_POWER_STATE_MODEM_ERROR = 2; // 0x2
+    field public static final int SET_SIM_POWER_STATE_NOT_SUPPORTED = 4; // 0x4
+    field public static final int SET_SIM_POWER_STATE_SIM_ERROR = 3; // 0x3
+    field public static final int SET_SIM_POWER_STATE_SUCCESS = 0; // 0x0
+    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
+    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
+    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
+    field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
+    field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
+    field public static final int SIM_STATE_LOADED = 10; // 0xa
+    field public static final int SIM_STATE_PRESENT = 11; // 0xb
+    field public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; // 0x3
+    field public static final int SRVCC_STATE_HANDOVER_COMPLETED = 1; // 0x1
+    field public static final int SRVCC_STATE_HANDOVER_FAILED = 2; // 0x2
+    field public static final int SRVCC_STATE_HANDOVER_NONE = -1; // 0xffffffff
+    field public static final int SRVCC_STATE_HANDOVER_STARTED = 0; // 0x0
+    field public static final int THERMAL_MITIGATION_RESULT_INVALID_STATE = 3; // 0x3
+    field public static final int THERMAL_MITIGATION_RESULT_MODEM_ERROR = 1; // 0x1
+    field public static final int THERMAL_MITIGATION_RESULT_MODEM_NOT_AVAILABLE = 2; // 0x2
+    field public static final int THERMAL_MITIGATION_RESULT_SUCCESS = 0; // 0x0
+    field public static final int THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR = 4; // 0x4
+  }
+
+  public static class TelephonyManager.BootstrapAuthenticationCallback {
+    ctor public TelephonyManager.BootstrapAuthenticationCallback();
+    method public void onAuthenticationFailure(int);
+    method public void onKeysAvailable(@NonNull byte[], @NonNull String);
+  }
+
+  public static interface TelephonyManager.CallForwardingInfoCallback {
+    method public void onCallForwardingInfoAvailable(@NonNull android.telephony.CallForwardingInfo);
+    method public void onError(int);
+    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 2; // 0x2
+    field public static final int RESULT_ERROR_NOT_SUPPORTED = 3; // 0x3
+    field public static final int RESULT_ERROR_UNKNOWN = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
+    method public int getErrorCode();
+    field public static final int ERROR_INVALID_INFO_RECEIVED = 2; // 0x2
+    field public static final int ERROR_MODEM_RESPONSE_ERROR = 3; // 0x3
+    field public static final int ERROR_PHONE_NOT_AVAILABLE = 1; // 0x1
+    field public static final int ERROR_UNKNOWN = 0; // 0x0
+  }
+
+  public final class ThermalMitigationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.telephony.DataThrottlingRequest getDataThrottlingRequest();
+    method public int getThermalMitigationAction();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ThermalMitigationRequest> CREATOR;
+    field public static final int THERMAL_MITIGATION_ACTION_DATA_THROTTLING = 0; // 0x0
+    field public static final int THERMAL_MITIGATION_ACTION_RADIO_OFF = 2; // 0x2
+    field public static final int THERMAL_MITIGATION_ACTION_VOICE_ONLY = 1; // 0x1
+  }
+
+  public static final class ThermalMitigationRequest.Builder {
+    ctor public ThermalMitigationRequest.Builder();
+    method @NonNull public android.telephony.ThermalMitigationRequest build();
+    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setDataThrottlingRequest(@NonNull android.telephony.DataThrottlingRequest);
+    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setThermalMitigationAction(int);
+  }
+
+  public final class UiccAccessRule implements android.os.Parcelable {
+    ctor public UiccAccessRule(byte[], @Nullable String, long);
+    method public int describeContents();
+    method public int getCarrierPrivilegeStatus(android.content.pm.PackageInfo);
+    method public int getCarrierPrivilegeStatus(android.content.pm.Signature, String);
+    method public String getCertificateHexString();
+    method @Nullable public String getPackageName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
+  }
+
+  public class UiccSlotInfo implements android.os.Parcelable {
+    ctor @Deprecated public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
+    method public int describeContents();
+    method public String getCardId();
+    method public int getCardStateInfo();
+    method public boolean getIsActive();
+    method public boolean getIsEuicc();
+    method public boolean getIsExtendedApduSupported();
+    method public int getLogicalSlotIdx();
+    method public boolean isRemovable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CARD_STATE_INFO_ABSENT = 1; // 0x1
+    field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
+    field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
+    field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
+  }
+
+  public abstract class VisualVoicemailService extends android.app.Service {
+    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, String, short, String, android.app.PendingIntent);
+    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
+  }
+
+  public abstract class VopsSupportInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public abstract boolean equals(Object);
+    method public abstract int hashCode();
+    method public abstract boolean isEmergencyServiceFallbackSupported();
+    method public abstract boolean isEmergencyServiceSupported();
+    method public abstract boolean isVopsSupported();
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VopsSupportInfo> CREATOR;
+  }
+
+}
+
+package android.telephony.cdma {
+
+  public final class CdmaSmsCbProgramData implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCategory();
+    method public int getOperation();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 4099; // 0x1003
+    field public static final int CATEGORY_CMAS_EXTREME_THREAT = 4097; // 0x1001
+    field public static final int CATEGORY_CMAS_LAST_RESERVED_VALUE = 4351; // 0x10ff
+    field public static final int CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 4096; // 0x1000
+    field public static final int CATEGORY_CMAS_SEVERE_THREAT = 4098; // 0x1002
+    field public static final int CATEGORY_CMAS_TEST_MESSAGE = 4100; // 0x1004
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.cdma.CdmaSmsCbProgramData> CREATOR;
+    field public static final int OPERATION_ADD_CATEGORY = 1; // 0x1
+    field public static final int OPERATION_CLEAR_CATEGORIES = 2; // 0x2
+    field public static final int OPERATION_DELETE_CATEGORY = 0; // 0x0
+  }
+
+}
+
+package android.telephony.data {
+
+  public class ApnSetting implements android.os.Parcelable {
+    method public static int getApnTypeInt(@NonNull String);
+    method @NonNull public static String getApnTypeString(int);
+    field public static final String TYPE_ALL_STRING = "*";
+    field public static final String TYPE_BIP_STRING = "bip";
+    field public static final String TYPE_CBS_STRING = "cbs";
+    field public static final String TYPE_DEFAULT_STRING = "default";
+    field public static final String TYPE_DUN_STRING = "dun";
+    field public static final String TYPE_EMERGENCY_STRING = "emergency";
+    field public static final String TYPE_FOTA_STRING = "fota";
+    field public static final String TYPE_HIPRI_STRING = "hipri";
+    field public static final String TYPE_IA_STRING = "ia";
+    field public static final String TYPE_IMS_STRING = "ims";
+    field public static final String TYPE_MCX_STRING = "mcx";
+    field public static final String TYPE_MMS_STRING = "mms";
+    field public static final String TYPE_SUPL_STRING = "supl";
+    field public static final String TYPE_VSIM_STRING = "vsim";
+    field public static final String TYPE_XCAP_STRING = "xcap";
+  }
+
+  public final class DataCallResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
+    method public int getCause();
+    method @NonNull public java.util.List<java.net.InetAddress> getDnsAddresses();
+    method @NonNull public java.util.List<java.net.InetAddress> getGatewayAddresses();
+    method public int getHandoverFailureMode();
+    method public int getId();
+    method @NonNull public String getInterfaceName();
+    method public int getLinkStatus();
+    method @Deprecated public int getMtu();
+    method public int getMtuV4();
+    method public int getMtuV6();
+    method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
+    method public int getPduSessionId();
+    method public int getProtocolType();
+    method public long getRetryDurationMillis();
+    method @Nullable public android.telephony.data.NetworkSliceInfo getSliceInfo();
+    method @Deprecated public int getSuggestedRetryTime();
+    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
+    field public static final int HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; // 0x1
+    field public static final int HANDOVER_FAILURE_MODE_LEGACY = 0; // 0x0
+    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2; // 0x2
+    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3; // 0x3
+    field public static final int HANDOVER_FAILURE_MODE_UNKNOWN = -1; // 0xffffffff
+    field public static final int LINK_STATUS_ACTIVE = 2; // 0x2
+    field public static final int LINK_STATUS_DORMANT = 1; // 0x1
+    field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
+    field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
+    field public static final int PDU_SESSION_ID_NOT_SET = 0; // 0x0
+    field public static final int RETRY_DURATION_UNDEFINED = -1; // 0xffffffff
+  }
+
+  public static final class DataCallResponse.Builder {
+    ctor public DataCallResponse.Builder();
+    method @NonNull public android.telephony.data.DataCallResponse build();
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setAddresses(@NonNull java.util.List<android.net.LinkAddress>);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setCause(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setDnsAddresses(@NonNull java.util.List<java.net.InetAddress>);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setGatewayAddresses(@NonNull java.util.List<java.net.InetAddress>);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setHandoverFailureMode(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setId(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setInterfaceName(@NonNull String);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setLinkStatus(int);
+    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setMtu(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV4(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setPduSessionId(@IntRange(from=android.telephony.data.DataCallResponse.PDU_SESSION_ID_NOT_SET, to=15) int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryDurationMillis(long);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setSliceInfo(@Nullable android.telephony.data.NetworkSliceInfo);
+    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setTrafficDescriptors(@NonNull java.util.List<android.telephony.data.TrafficDescriptor>);
+  }
+
+  public final class DataProfile implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getApn();
+    method public int getAuthType();
+    method public int getBearerBitmask();
+    method @Deprecated public int getMtu();
+    method public int getMtuV4();
+    method public int getMtuV6();
+    method @Nullable public String getPassword();
+    method public int getProfileId();
+    method public int getProtocolType();
+    method public int getRoamingProtocolType();
+    method public int getSupportedApnTypesBitmask();
+    method public int getType();
+    method @Nullable public String getUserName();
+    method public boolean isEnabled();
+    method public boolean isPersistent();
+    method public boolean isPreferred();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
+    field public static final int TYPE_3GPP = 1; // 0x1
+    field public static final int TYPE_3GPP2 = 2; // 0x2
+    field public static final int TYPE_COMMON = 0; // 0x0
+  }
+
+  public static final class DataProfile.Builder {
+    ctor public DataProfile.Builder();
+    method @NonNull public android.telephony.data.DataProfile build();
+    method @NonNull public android.telephony.data.DataProfile.Builder enable(boolean);
+    method @NonNull public android.telephony.data.DataProfile.Builder setApn(@NonNull String);
+    method @NonNull public android.telephony.data.DataProfile.Builder setAuthType(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setBearerBitmask(int);
+    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtu(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setMtuV4(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setMtuV6(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setPassword(@NonNull String);
+    method @NonNull public android.telephony.data.DataProfile.Builder setPersistent(boolean);
+    method @NonNull public android.telephony.data.DataProfile.Builder setPreferred(boolean);
+    method @NonNull public android.telephony.data.DataProfile.Builder setProfileId(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setProtocolType(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setRoamingProtocolType(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setSupportedApnTypesBitmask(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setType(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setUserName(@NonNull String);
+  }
+
+  public abstract class DataService extends android.app.Service {
+    ctor public DataService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
+    field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
+    field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
+    field public static final int REQUEST_REASON_SHUTDOWN = 2; // 0x2
+    field public static final int REQUEST_REASON_UNKNOWN = 0; // 0x0
+    field public static final String SERVICE_INTERFACE = "android.telephony.data.DataService";
+  }
+
+  public abstract class DataService.DataServiceProvider implements java.lang.AutoCloseable {
+    ctor public DataService.DataServiceProvider(int);
+    method public abstract void close();
+    method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
+    method public final int getSlotIndex();
+    method public final void notifyApnUnthrottled(@NonNull String);
+    method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
+    method public void requestDataCallList(@NonNull android.telephony.data.DataServiceCallback);
+    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
+    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
+    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
+    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @IntRange(from=0, to=15) int, @Nullable android.telephony.data.NetworkSliceInfo, @Nullable android.telephony.data.TrafficDescriptor, boolean, @NonNull android.telephony.data.DataServiceCallback);
+  }
+
+  public class DataServiceCallback {
+    method public void onApnUnthrottled(@NonNull String);
+    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
+    method public void onDeactivateDataCallComplete(int);
+    method public void onRequestDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
+    method public void onSetDataProfileComplete(int);
+    method public void onSetInitialAttachApnComplete(int);
+    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
+    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
+    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
+    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
+    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+  public final class EpsBearerQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
+    method public int describeContents();
+    method public long getGuaranteedDownlinkBitRateKbps();
+    method public long getGuaranteedUplinkBitRateKbps();
+    method public long getMaxDownlinkBitRateKbps();
+    method public long getMaxUplinkBitRateKbps();
+    method public int getQosIdentifier();
+    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR;
+  }
+
+  public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
+    method public int describeContents();
+    method @NonNull public java.time.Duration getBitRateWindowDuration();
+    method public long getGuaranteedDownlinkBitRateKbps();
+    method public long getGuaranteedUplinkBitRateKbps();
+    method public long getMaxDownlinkBitRateKbps();
+    method public long getMaxUplinkBitRateKbps();
+    method @IntRange(from=1, to=63) public int getQosFlowIdentifier();
+    method public int getQosIdentifier();
+    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR;
+  }
+
+  public abstract class QualifiedNetworksService extends android.app.Service {
+    ctor public QualifiedNetworksService();
+    method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
+    field public static final String QUALIFIED_NETWORKS_SERVICE_INTERFACE = "android.telephony.data.QualifiedNetworksService";
+  }
+
+  public abstract class QualifiedNetworksService.NetworkAvailabilityProvider implements java.lang.AutoCloseable {
+    ctor public QualifiedNetworksService.NetworkAvailabilityProvider(int);
+    method public abstract void close();
+    method public final int getSlotIndex();
+    method public void reportThrottleStatusChanged(@NonNull java.util.List<android.telephony.data.ThrottleStatus>);
+    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
+  }
+
+  public final class ThrottleStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getApnType();
+    method public int getRetryType();
+    method public int getSlotIndex();
+    method public long getThrottleExpiryTimeMillis();
+    method public int getThrottleType();
+    method public int getTransportType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ThrottleStatus> CREATOR;
+    field public static final int RETRY_TYPE_HANDOVER = 3; // 0x3
+    field public static final int RETRY_TYPE_NEW_CONNECTION = 2; // 0x2
+    field public static final int RETRY_TYPE_NONE = 1; // 0x1
+    field public static final int THROTTLE_TYPE_ELAPSED_TIME = 2; // 0x2
+    field public static final int THROTTLE_TYPE_NONE = 1; // 0x1
+  }
+
+  public static final class ThrottleStatus.Builder {
+    ctor public ThrottleStatus.Builder();
+    method @NonNull public android.telephony.data.ThrottleStatus build();
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setApnType(int);
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setNoThrottle();
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setRetryType(int);
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setSlotIndex(int);
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setThrottleExpiryTimeMillis(long);
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setTransportType(int);
+  }
+
+}
+
+package android.telephony.euicc {
+
+  public final class DownloadableSubscription implements android.os.Parcelable {
+    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
+    method @Nullable public String getCarrierName();
+  }
+
+  public static final class DownloadableSubscription.Builder {
+    ctor public DownloadableSubscription.Builder();
+    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(@NonNull java.util.List<android.telephony.UiccAccessRule>);
+    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(@NonNull String);
+  }
+
+  public class EuiccCardManager {
+    method public void authenticateServer(String, String, byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void cancelSession(String, byte[], @android.telephony.euicc.EuiccCardManager.CancelReason int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void deleteProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void disableProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void listNotifications(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
+    method public void loadBoundProfilePackage(String, byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void prepareDownload(String, @Nullable byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void removeNotificationFromList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void requestAllProfiles(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo[]>);
+    method public void requestDefaultSmdpAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
+    method public void requestEuiccChallenge(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void requestEuiccInfo1(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void requestEuiccInfo2(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void requestProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
+    method public void requestRulesAuthTable(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccRulesAuthTable>);
+    method public void requestSmdsAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
+    method public void resetMemory(String, @android.telephony.euicc.EuiccCardManager.ResetOption int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void retrieveNotification(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification>);
+    method public void retrieveNotificationList(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
+    method public void setDefaultSmdpAddress(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void setNickname(String, String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void switchToProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
+    field public static final int CANCEL_REASON_END_USER_REJECTED = 0; // 0x0
+    field public static final int CANCEL_REASON_POSTPONED = 1; // 0x1
+    field public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3; // 0x3
+    field public static final int CANCEL_REASON_TIMEOUT = 2; // 0x2
+    field public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 2; // 0x2
+    field public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1; // 0x1
+    field public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 4; // 0x4
+    field public static final int RESULT_CALLER_NOT_ALLOWED = -3; // 0xfffffffd
+    field public static final int RESULT_EUICC_NOT_FOUND = -2; // 0xfffffffe
+    field public static final int RESULT_OK = 0; // 0x0
+    field public static final int RESULT_UNKNOWN_ERROR = -1; // 0xffffffff
+  }
+
+  @IntDef(prefix={"CANCEL_REASON_"}, value={android.telephony.euicc.EuiccCardManager.CANCEL_REASON_END_USER_REJECTED, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_POSTPONED, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_TIMEOUT, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_PPR_NOT_ALLOWED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccCardManager.CancelReason {
+  }
+
+  @IntDef(flag=true, prefix={"RESET_OPTION_"}, value={android.telephony.euicc.EuiccCardManager.RESET_OPTION_DELETE_OPERATIONAL_PROFILES, android.telephony.euicc.EuiccCardManager.RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES, android.telephony.euicc.EuiccCardManager.RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccCardManager.ResetOption {
+  }
+
+  public static interface EuiccCardManager.ResultCallback<T> {
+    method public void onComplete(int, T);
+  }
+
+  public class EuiccManager {
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(android.content.Intent, android.os.Bundle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@android.telephony.euicc.EuiccCardManager.ResetOption int, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus();
+    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getSupportedCountries();
+    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getUnsupportedCountries();
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isSupportedCountry(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setSupportedCountries(@NonNull java.util.List<java.lang.String>);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setUnsupportedCountries(@NonNull java.util.List<java.lang.String>);
+    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
+    field @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public static final String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED";
+    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
+    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
+    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
+    field public static final int EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED = 4; // 0x4
+    field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2
+    field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1
+    field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3
+    field public static final int EUICC_OTA_FAILED = 2; // 0x2
+    field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1
+    field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4
+    field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5
+    field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3
+    field public static final String EXTRA_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS";
+    field public static final String EXTRA_ENABLE_SUBSCRIPTION = "android.telephony.euicc.extra.ENABLE_SUBSCRIPTION";
+    field public static final String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION";
+    field public static final String EXTRA_FROM_SUBSCRIPTION_ID = "android.telephony.euicc.extra.FROM_SUBSCRIPTION_ID";
+    field public static final String EXTRA_PHYSICAL_SLOT_ID = "android.telephony.euicc.extra.PHYSICAL_SLOT_ID";
+    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.euicc.extra.SUBSCRIPTION_ID";
+    field public static final String EXTRA_SUBSCRIPTION_NICKNAME = "android.telephony.euicc.extra.SUBSCRIPTION_NICKNAME";
+  }
+
+  @IntDef(prefix={"EUICC_OTA_"}, value={android.telephony.euicc.EuiccManager.EUICC_OTA_IN_PROGRESS, android.telephony.euicc.EuiccManager.EUICC_OTA_FAILED, android.telephony.euicc.EuiccManager.EUICC_OTA_SUCCEEDED, android.telephony.euicc.EuiccManager.EUICC_OTA_NOT_NEEDED, android.telephony.euicc.EuiccManager.EUICC_OTA_STATUS_UNAVAILABLE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccManager.OtaStatus {
+  }
+
+  public final class EuiccNotification implements android.os.Parcelable {
+    ctor public EuiccNotification(int, String, @android.telephony.euicc.EuiccNotification.Event int, @Nullable byte[]);
+    method public int describeContents();
+    method @Nullable public byte[] getData();
+    method @android.telephony.euicc.EuiccNotification.Event public int getEvent();
+    method public int getSeq();
+    method public String getTargetAddr();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @android.telephony.euicc.EuiccNotification.Event public static final int ALL_EVENTS = 15; // 0xf
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
+    field public static final int EVENT_DELETE = 8; // 0x8
+    field public static final int EVENT_DISABLE = 4; // 0x4
+    field public static final int EVENT_ENABLE = 2; // 0x2
+    field public static final int EVENT_INSTALL = 1; // 0x1
+  }
+
+  @IntDef(flag=true, prefix={"EVENT_"}, value={android.telephony.euicc.EuiccNotification.EVENT_INSTALL, android.telephony.euicc.EuiccNotification.EVENT_ENABLE, android.telephony.euicc.EuiccNotification.EVENT_DISABLE, android.telephony.euicc.EuiccNotification.EVENT_DELETE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccNotification.Event {
+  }
+
+  public final class EuiccRulesAuthTable implements android.os.Parcelable {
+    method public int describeContents();
+    method public int findIndex(@android.service.euicc.EuiccProfileInfo.PolicyRule int, android.service.carrier.CarrierIdentifier);
+    method public boolean hasPolicyRuleFlag(int, @android.telephony.euicc.EuiccRulesAuthTable.PolicyRuleFlag int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
+    field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
+  }
+
+  public static final class EuiccRulesAuthTable.Builder {
+    ctor public EuiccRulesAuthTable.Builder(int);
+    method public android.telephony.euicc.EuiccRulesAuthTable.Builder add(int, java.util.List<android.service.carrier.CarrierIdentifier>, int);
+    method public android.telephony.euicc.EuiccRulesAuthTable build();
+  }
+
+  @IntDef(flag=true, prefix={"POLICY_RULE_FLAG_"}, value={android.telephony.euicc.EuiccRulesAuthTable.POLICY_RULE_FLAG_CONSENT_REQUIRED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccRulesAuthTable.PolicyRuleFlag {
+  }
+
+}
+
+package android.telephony.gba {
+
+  public class GbaService extends android.app.Service {
+    ctor public GbaService();
+    method public void onAuthenticationRequest(int, int, int, @NonNull android.net.Uri, @NonNull byte[], boolean);
+    method public final void reportAuthenticationFailure(int, int) throws java.lang.RuntimeException;
+    method public final void reportKeysAvailable(int, @NonNull byte[], @NonNull String) throws java.lang.RuntimeException;
+    field public static final String SERVICE_INTERFACE = "android.telephony.gba.GbaService";
+  }
+
+  public class TlsParams {
+    method public static boolean isTlsCipherSuiteSupported(int);
+    field public static final int GROUP_SECP256R1 = 23; // 0x17
+    field public static final int GROUP_SECP384R1 = 24; // 0x18
+    field public static final int GROUP_X25519 = 29; // 0x1d
+    field public static final int GROUP_X448 = 30; // 0x1e
+    field public static final int PROTOCOL_VERSION_TLS_1_2 = 771; // 0x303
+    field public static final int PROTOCOL_VERSION_TLS_1_3 = 772; // 0x304
+    field public static final int SIG_ECDSA_BRAINPOOLP256R1TLS13_SHA256 = 2074; // 0x81a
+    field public static final int SIG_ECDSA_BRAINPOOLP384R1TLS13_SHA384 = 2075; // 0x81b
+    field public static final int SIG_ECDSA_BRAINPOOLP512R1TLS13_SHA512 = 2076; // 0x81c
+    field public static final int SIG_ECDSA_SECP256R1_SHA256 = 1027; // 0x403
+    field public static final int SIG_ECDSA_SECP384R1_SHA384 = 1283; // 0x503
+    field public static final int SIG_ECDSA_SECP521R1_SHA512 = 1539; // 0x603
+    field public static final int SIG_ECDSA_SHA1 = 515; // 0x203
+    field public static final int SIG_RSA_PKCS1_SHA1 = 513; // 0x201
+    field public static final int SIG_RSA_PKCS1_SHA256 = 1025; // 0x401
+    field public static final int SIG_RSA_PKCS1_SHA256_LEGACY = 1056; // 0x420
+    field public static final int SIG_RSA_PKCS1_SHA384 = 1281; // 0x501
+    field public static final int SIG_RSA_PKCS1_SHA384_LEGACY = 1312; // 0x520
+    field public static final int SIG_RSA_PKCS1_SHA512 = 1537; // 0x601
+    field public static final int SIG_RSA_PKCS1_SHA512_LEGACY = 1568; // 0x620
+    field public static final int SIG_RSA_PSS_RSAE_SHA256 = 2052; // 0x804
+    field public static final int SIG_RSA_PSS_RSAE_SHA384 = 2053; // 0x805
+    field public static final int SIG_RSA_PSS_RSAE_SHA512 = 2054; // 0x806
+    field public static final int TLS_AES_128_CCM_SHA256 = 4868; // 0x1304
+    field public static final int TLS_AES_128_GCM_SHA256 = 4865; // 0x1301
+    field public static final int TLS_AES_256_GCM_SHA384 = 4866; // 0x1302
+    field public static final int TLS_CHACHA20_POLY1305_SHA256 = 4867; // 0x1303
+    field public static final int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19; // 0x13
+    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50; // 0x32
+    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64; // 0x40
+    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56; // 0x38
+    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106; // 0x6a
+    field public static final int TLS_DHE_PSK_WITH_AES_128_CCM = 49318; // 0xc0a6
+    field public static final int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170; // 0xaa
+    field public static final int TLS_DHE_PSK_WITH_AES_256_CCM = 49319; // 0xc0a7
+    field public static final int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171; // 0xab
+    field public static final int TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397; // 0xccad
+    field public static final int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22; // 0x16
+    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51; // 0x33
+    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103; // 0x67
+    field public static final int TLS_DHE_RSA_WITH_AES_128_CCM = 49310; // 0xc09e
+    field public static final int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158; // 0x9e
+    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57; // 0x39
+    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107; // 0x6b
+    field public static final int TLS_DHE_RSA_WITH_AES_256_CCM = 49311; // 0xc09f
+    field public static final int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159; // 0x9f
+    field public static final int TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394; // 0xccaa
+    field public static final int TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA = 27; // 0x1b
+    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA = 52; // 0x34
+    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA256 = 108; // 0x6c
+    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA = 58; // 0x3a
+    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA256 = 109; // 0x6d
+    field public static final int TLS_DH_ANON_WITH_RC4_128_MD5 = 24; // 0x18
+    field public static final int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13; // 0xd
+    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48; // 0x30
+    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62; // 0x3e
+    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54; // 0x36
+    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104; // 0x68
+    field public static final int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16; // 0x10
+    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49; // 0x31
+    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63; // 0x3f
+    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55; // 0x37
+    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105; // 0x69
+    field public static final int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195; // 0xc02b
+    field public static final int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196; // 0xc02c
+    field public static final int TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393; // 0xcca9
+    field public static final int TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 53253; // 0xd005
+    field public static final int TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 53249; // 0xd001
+    field public static final int TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 53250; // 0xd002
+    field public static final int TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396; // 0xccac
+    field public static final int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199; // 0xc02f
+    field public static final int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200; // 0xc030
+    field public static final int TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392; // 0xcca8
+    field public static final int TLS_NULL_WITH_NULL_NULL = 0; // 0x0
+    field public static final int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10; // 0xa
+    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA = 47; // 0x2f
+    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60; // 0x3c
+    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA = 53; // 0x35
+    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61; // 0x3d
+    field public static final int TLS_RSA_WITH_NULL_MD5 = 1; // 0x1
+    field public static final int TLS_RSA_WITH_NULL_SHA = 2; // 0x2
+    field public static final int TLS_RSA_WITH_NULL_SHA256 = 59; // 0x3b
+    field public static final int TLS_RSA_WITH_RC4_128_MD5 = 4; // 0x4
+    field public static final int TLS_RSA_WITH_RC4_128_SHA = 5; // 0x5
+  }
+
+  public final class UaSecurityProtocolIdentifier implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getOrg();
+    method public int getProtocol();
+    method public int getTlsCipherSuite();
+    method @NonNull public byte[] toByteArray();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.gba.UaSecurityProtocolIdentifier> CREATOR;
+    field public static final int ORG_3GPP = 1; // 0x1
+    field public static final int ORG_3GPP2 = 2; // 0x2
+    field public static final int ORG_GSMA = 4; // 0x4
+    field public static final int ORG_LOCAL = 255; // 0xff
+    field public static final int ORG_NONE = 0; // 0x0
+    field public static final int ORG_OMA = 3; // 0x3
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERATION_TMPI = 256; // 0x100
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERIC_PUSH_LAYER = 5; // 0x5
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_BASED_MBMS = 3; // 0x3
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_DIGEST_AUTHENTICATION = 2; // 0x2
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_IMS_MEDIA_PLANE = 6; // 0x6
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_MBMS = 1; // 0x1
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_SIP_BASED_MBMS = 4; // 0x4
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_SUBSCRIBER_CERTIFICATE = 0; // 0x0
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_BROWSER = 131072; // 0x20000
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_DEFAULT = 65536; // 0x10000
+  }
+
+  public static final class UaSecurityProtocolIdentifier.Builder {
+    ctor public UaSecurityProtocolIdentifier.Builder();
+    ctor public UaSecurityProtocolIdentifier.Builder(@NonNull android.telephony.gba.UaSecurityProtocolIdentifier);
+    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier build();
+    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setOrg(int);
+    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setProtocol(int);
+    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setTlsCipherSuite(int);
+  }
+
+}
+
+package android.telephony.ims {
+
+  public final class AudioCodecAttributes implements android.os.Parcelable {
+    ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>);
+    method public int describeContents();
+    method public float getBandwidthKhz();
+    method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz();
+    method public float getBitrateKbps();
+    method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR;
+  }
+
+  public interface DelegateMessageCallback {
+    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
+    method public void onMessageSendFailure(@NonNull String, int);
+    method public void onMessageSent(@NonNull String);
+  }
+
+  public final class DelegateRegistrationState implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteredFeatureTags();
+    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteringFeatureTags();
+    method @NonNull public java.util.Set<java.lang.String> getRegisteredFeatureTags();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRegistrationState> CREATOR;
+    field public static final int DEREGISTERED_REASON_NOT_PROVISIONED = 1; // 0x1
+    field public static final int DEREGISTERED_REASON_NOT_REGISTERED = 2; // 0x2
+    field public static final int DEREGISTERED_REASON_UNKNOWN = 0; // 0x0
+    field public static final int DEREGISTERING_REASON_DESTROY_PENDING = 6; // 0x6
+    field public static final int DEREGISTERING_REASON_FEATURE_TAGS_CHANGING = 5; // 0x5
+    field public static final int DEREGISTERING_REASON_PDN_CHANGE = 3; // 0x3
+    field public static final int DEREGISTERING_REASON_PROVISIONING_CHANGE = 4; // 0x4
+  }
+
+  public static final class DelegateRegistrationState.Builder {
+    ctor public DelegateRegistrationState.Builder();
+    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteredFeatureTag(@NonNull String, int);
+    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteringFeatureTag(@NonNull String, int);
+    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTag(@NonNull String);
+    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTags(@NonNull java.util.Set<java.lang.String>);
+    method @NonNull public android.telephony.ims.DelegateRegistrationState build();
+  }
+
+  public final class DelegateRequest implements android.os.Parcelable {
+    ctor public DelegateRequest(@NonNull java.util.Set<java.lang.String>);
+    method public int describeContents();
+    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRequest> CREATOR;
+  }
+
+  public interface DelegateStateCallback {
+    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
+    method public void onCreated(@NonNull android.telephony.ims.stub.SipDelegate, @Nullable java.util.Set<android.telephony.ims.FeatureTagState>);
+    method public void onDestroyed(int);
+    method public void onFeatureTagRegistrationChanged(@NonNull android.telephony.ims.DelegateRegistrationState);
+  }
+
+  public final class FeatureTagState implements android.os.Parcelable {
+    ctor public FeatureTagState(@NonNull String, int);
+    method public int describeContents();
+    method @NonNull public String getFeatureTag();
+    method public int getState();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.FeatureTagState> CREATOR;
+  }
+
+  public final class ImsCallForwardInfo implements android.os.Parcelable {
+    ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int);
+    method public int describeContents();
+    method public int getCondition();
+    method public String getNumber();
+    method public int getServiceClass();
+    method public int getStatus();
+    method public int getTimeSeconds();
+    method public int getToA();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CDIV_CF_REASON_ALL = 4; // 0x4
+    field public static final int CDIV_CF_REASON_ALL_CONDITIONAL = 5; // 0x5
+    field public static final int CDIV_CF_REASON_BUSY = 1; // 0x1
+    field public static final int CDIV_CF_REASON_NOT_LOGGED_IN = 6; // 0x6
+    field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
+    field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
+    field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
+    field public static final int STATUS_ACTIVE = 1; // 0x1
+    field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
+    field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
+    field public static final int TYPE_OF_ADDRESS_UNKNOWN = 129; // 0x81
+  }
+
+  public final class ImsCallProfile implements android.os.Parcelable {
+    ctor public ImsCallProfile();
+    ctor public ImsCallProfile(int, int);
+    ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile);
+    method public int describeContents();
+    method @NonNull public java.util.Set<android.telephony.ims.RtpHeaderExtensionType> getAcceptedRtpHeaderExtensionTypes();
+    method public String getCallExtra(String);
+    method public String getCallExtra(String, String);
+    method public boolean getCallExtraBoolean(String);
+    method public boolean getCallExtraBoolean(String, boolean);
+    method public int getCallExtraInt(String);
+    method public int getCallExtraInt(String, int);
+    method @Nullable public <T extends android.os.Parcelable> T getCallExtraParcelable(@Nullable String);
+    method public android.os.Bundle getCallExtras();
+    method public int getCallType();
+    method public static int getCallTypeFromVideoState(int);
+    method public int getCallerNumberVerificationStatus();
+    method public int getEmergencyCallRouting();
+    method public int getEmergencyServiceCategories();
+    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
+    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
+    method @NonNull public android.os.Bundle getProprietaryCallExtras();
+    method public int getRestrictCause();
+    method public int getServiceType();
+    method public static int getVideoStateFromCallType(int);
+    method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile);
+    method public boolean hasKnownUserIntentEmergency();
+    method public boolean isEmergencyCallTesting();
+    method public boolean isVideoCall();
+    method public boolean isVideoPaused();
+    method public static int presentationToOir(int);
+    method public void setAcceptedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
+    method public void setCallExtra(String, String);
+    method public void setCallExtraBoolean(String, boolean);
+    method public void setCallExtraInt(String, int);
+    method public void setCallExtraParcelable(@NonNull String, @NonNull android.os.Parcelable);
+    method public void setCallRestrictCause(int);
+    method public void setCallerNumberVerificationStatus(int);
+    method public void setEmergencyCallRouting(int);
+    method public void setEmergencyCallTesting(boolean);
+    method public void setEmergencyServiceCategories(int);
+    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
+    method public void setHasKnownUserIntentEmergency(boolean);
+    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
+    method public void updateCallType(android.telephony.ims.ImsCallProfile);
+    method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2
+    field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3
+    field public static final int CALL_RESTRICT_CAUSE_NONE = 0; // 0x0
+    field public static final int CALL_RESTRICT_CAUSE_RAT = 1; // 0x1
+    field public static final int CALL_TYPE_VIDEO_N_VOICE = 3; // 0x3
+    field public static final int CALL_TYPE_VOICE = 2; // 0x2
+    field public static final int CALL_TYPE_VOICE_N_VIDEO = 1; // 0x1
+    field public static final int CALL_TYPE_VS = 8; // 0x8
+    field public static final int CALL_TYPE_VS_RX = 10; // 0xa
+    field public static final int CALL_TYPE_VS_TX = 9; // 0x9
+    field public static final int CALL_TYPE_VT = 4; // 0x4
+    field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
+    field public static final int CALL_TYPE_VT_RX = 6; // 0x6
+    field public static final int CALL_TYPE_VT_TX = 5; // 0x5
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
+    field public static final int DIALSTRING_NORMAL = 0; // 0x0
+    field public static final int DIALSTRING_SS_CONF = 1; // 0x1
+    field public static final int DIALSTRING_USSD = 2; // 0x2
+    field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo";
+    field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS";
+    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
+    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
+    field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
+    field public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
+    field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
+    field public static final String EXTRA_CNA = "cna";
+    field public static final String EXTRA_CNAP = "cnap";
+    field public static final String EXTRA_CODEC = "Codec";
+    field public static final String EXTRA_CONFERENCE = "android.telephony.ims.extra.CONFERENCE";
+    field public static final String EXTRA_DIALSTRING = "dialstring";
+    field public static final String EXTRA_DISPLAY_TEXT = "DisplayText";
+    field public static final String EXTRA_EMERGENCY_CALL = "e_call";
+    field public static final String EXTRA_EXTENDING_TO_CONFERENCE_SUPPORTED = "android.telephony.ims.extra.EXTENDING_TO_CONFERENCE_SUPPORTED";
+    field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
+    field public static final String EXTRA_IS_BUSINESS_CALL = "android.telephony.ims.extra.IS_BUSINESS_CALL";
+    field public static final String EXTRA_IS_CALL_PULL = "CallPull";
+    field public static final String EXTRA_IS_CROSS_SIM_CALL = "android.telephony.ims.extra.IS_CROSS_SIM_CALL";
+    field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
+    field public static final String EXTRA_OI = "oi";
+    field public static final String EXTRA_OIR = "oir";
+    field public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
+    field public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
+    field public static final String EXTRA_REMOTE_URI = "remote_uri";
+    field public static final String EXTRA_USSD = "ussd";
+    field public static final int OIR_DEFAULT = 0; // 0x0
+    field public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; // 0x2
+    field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
+    field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
+    field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
+    field public static final int PRIORITY_NORMAL = 0; // 0x0
+    field public static final int PRIORITY_URGENT = 1; // 0x1
+    field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
+    field public static final int SERVICE_TYPE_NONE = 0; // 0x0
+    field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1
+    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
+    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
+    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
+  }
+
+  public class ImsCallSessionListener {
+    method public void callQualityChanged(@NonNull android.telephony.CallQuality);
+    method public void callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
+    method public void callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
+    method public void callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState);
+    method public void callSessionDtmfReceived(char);
+    method @Deprecated public void callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo);
+    method @Deprecated public void callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo);
+    method public void callSessionHeld(android.telephony.ims.ImsCallProfile);
+    method public void callSessionHoldFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionHoldReceived(android.telephony.ims.ImsCallProfile);
+    method public void callSessionInitiated(android.telephony.ims.ImsCallProfile);
+    method @Deprecated public void callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionInitiating(@NonNull android.telephony.ims.ImsCallProfile);
+    method public void callSessionInitiatingFailed(@NonNull android.telephony.ims.ImsReasonInfo);
+    method public void callSessionInviteParticipantsRequestDelivered();
+    method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
+    method @Deprecated public void callSessionMayHandover(int, int);
+    method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
+    method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
+    method public void callSessionMultipartyStateChanged(boolean);
+    method public void callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile);
+    method public void callSessionRemoveParticipantsRequestDelivered();
+    method public void callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionResumeFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionResumeReceived(android.telephony.ims.ImsCallProfile);
+    method public void callSessionResumed(android.telephony.ims.ImsCallProfile);
+    method public void callSessionRtpHeaderExtensionsReceived(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
+    method public void callSessionRttAudioIndicatorChanged(@NonNull android.telephony.ims.ImsStreamMediaProfile);
+    method public void callSessionRttMessageReceived(String);
+    method public void callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile);
+    method public void callSessionRttModifyResponseReceived(int);
+    method public void callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification);
+    method public void callSessionTerminated(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionTtyModeReceived(int);
+    method public void callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionUpdateReceived(android.telephony.ims.ImsCallProfile);
+    method public void callSessionUpdated(android.telephony.ims.ImsCallProfile);
+    method public void callSessionUssdMessageReceived(int, String);
+    method public void onHandover(int, int, @Nullable android.telephony.ims.ImsReasonInfo);
+    method public void onHandoverFailed(int, int, @NonNull android.telephony.ims.ImsReasonInfo);
+    method public void onMayHandover(int, int);
+  }
+
+  public final class ImsConferenceState implements android.os.Parcelable {
+    method public int describeContents();
+    method public static int getConnectionStateForStatus(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
+    field public static final String DISPLAY_TEXT = "display-text";
+    field public static final String ENDPOINT = "endpoint";
+    field public static final String SIP_STATUS_CODE = "sipstatuscode";
+    field public static final String STATUS = "status";
+    field public static final String STATUS_ALERTING = "alerting";
+    field public static final String STATUS_CONNECTED = "connected";
+    field public static final String STATUS_CONNECT_FAIL = "connect-fail";
+    field public static final String STATUS_DIALING_IN = "dialing-in";
+    field public static final String STATUS_DIALING_OUT = "dialing-out";
+    field public static final String STATUS_DISCONNECTED = "disconnected";
+    field public static final String STATUS_DISCONNECTING = "disconnecting";
+    field public static final String STATUS_MUTED_VIA_FOCUS = "muted-via-focus";
+    field public static final String STATUS_ON_HOLD = "on-hold";
+    field public static final String STATUS_PENDING = "pending";
+    field public static final String STATUS_SEND_ONLY = "sendonly";
+    field public static final String STATUS_SEND_RECV = "sendrecv";
+    field public static final String USER = "user";
+    field public final java.util.HashMap<java.lang.String,android.os.Bundle> mParticipants;
+  }
+
+  public final class ImsException extends java.lang.Exception {
+    ctor public ImsException(@Nullable String);
+    ctor public ImsException(@Nullable String, int);
+    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
+  }
+
+  public final class ImsExternalCallState implements android.os.Parcelable {
+    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
+    method public int describeContents();
+    method @NonNull public android.net.Uri getAddress();
+    method public int getCallId();
+    method public int getCallState();
+    method public int getCallType();
+    method @Nullable public android.net.Uri getLocalAddress();
+    method public boolean isCallHeld();
+    method public boolean isCallPullable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
+    field public static final int CALL_STATE_TERMINATED = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
+  }
+
+  public class ImsManager {
+    method @NonNull public android.telephony.ims.SipDelegateManager getSipDelegateManager(int);
+  }
+
+  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
+    method @Deprecated @NonNull @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public static android.telephony.ims.ImsMmTelManager createForSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getFeatureState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void isSupported(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>) throws android.telephony.ims.ImsException;
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCrossSimCallingEnabled(boolean) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
+  }
+
+  @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback {
+    ctor @Deprecated public ImsMmTelManager.RegistrationCallback();
+    method @Deprecated public void onRegistered(int);
+    method @Deprecated public void onRegistering(int);
+  }
+
+  public class ImsRcsManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void addOnAvailabilityChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnAvailabilityChangedListener(@NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener);
+  }
+
+  public static interface ImsRcsManager.OnAvailabilityChangedListener {
+    method public void onAvailabilityChanged(int);
+  }
+
+  public final class ImsReasonInfo implements android.os.Parcelable {
+    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
+  }
+
+  public final class ImsRegistrationAttributes implements android.os.Parcelable {
+    method public int getRegistrationTechnology();
+  }
+
+  public static final class ImsRegistrationAttributes.Builder {
+    ctor public ImsRegistrationAttributes.Builder(int);
+    method @NonNull public android.telephony.ims.ImsRegistrationAttributes build();
+    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFeatureTags(@NonNull java.util.Set<java.lang.String>);
+  }
+
+  public class ImsService extends android.app.Service {
+    ctor public ImsService();
+    method public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
+    method public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
+    method public void disableIms(int);
+    method public void enableIms(int);
+    method public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
+    method public long getImsServiceCapabilities();
+    method public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
+    method @Nullable public android.telephony.ims.stub.SipTransportImplBase getSipTransport(int);
+    method public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) throws android.os.RemoteException;
+    method public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
+    method public void readyForFeatureCreation();
+    field public static final long CAPABILITY_SIP_DELEGATE_CREATION = 2L; // 0x2L
+  }
+
+  public final class ImsSsData implements android.os.Parcelable {
+    ctor public ImsSsData(int, int, int, int, int);
+    method public int describeContents();
+    method @Nullable public java.util.List<android.telephony.ims.ImsCallForwardInfo> getCallForwardInfo();
+    method public int getRequestType();
+    method public int getResult();
+    method public int getServiceClass();
+    method public int getServiceType();
+    method @NonNull public java.util.List<android.telephony.ims.ImsSsInfo> getSuppServiceInfo();
+    method public int getTeleserviceType();
+    method public boolean isTypeBarring();
+    method public boolean isTypeCf();
+    method public boolean isTypeClip();
+    method public boolean isTypeClir();
+    method public boolean isTypeColp();
+    method public boolean isTypeColr();
+    method public boolean isTypeCw();
+    method public boolean isTypeIcb();
+    method public boolean isTypeInterrogation();
+    method public boolean isTypeUnConditional();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+    field public static final int SERVICE_CLASS_DATA = 2; // 0x2
+    field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
+    field public static final int SERVICE_CLASS_DATA_CIRCUIT_SYNC = 16; // 0x10
+    field public static final int SERVICE_CLASS_DATA_PACKET_ACCESS = 64; // 0x40
+    field public static final int SERVICE_CLASS_DATA_PAD = 128; // 0x80
+    field public static final int SERVICE_CLASS_FAX = 4; // 0x4
+    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
+    field public static final int SERVICE_CLASS_SMS = 8; // 0x8
+    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
+    field public static final int SS_ACTIVATION = 0; // 0x0
+    field public static final int SS_ALL_BARRING = 18; // 0x12
+    field public static final int SS_ALL_DATA_TELESERVICES = 3; // 0x3
+    field public static final int SS_ALL_TELESERVICES_EXCEPT_SMS = 5; // 0x5
+    field public static final int SS_ALL_TELESEVICES = 1; // 0x1
+    field public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; // 0x0
+    field public static final int SS_BAIC = 16; // 0x10
+    field public static final int SS_BAIC_ROAMING = 17; // 0x11
+    field public static final int SS_BAOC = 13; // 0xd
+    field public static final int SS_BAOIC = 14; // 0xe
+    field public static final int SS_BAOIC_EXC_HOME = 15; // 0xf
+    field public static final int SS_CFU = 0; // 0x0
+    field public static final int SS_CFUT = 6; // 0x6
+    field public static final int SS_CF_ALL = 4; // 0x4
+    field public static final int SS_CF_ALL_CONDITIONAL = 5; // 0x5
+    field public static final int SS_CF_BUSY = 1; // 0x1
+    field public static final int SS_CF_NOT_REACHABLE = 3; // 0x3
+    field public static final int SS_CF_NO_REPLY = 2; // 0x2
+    field public static final int SS_CLIP = 7; // 0x7
+    field public static final int SS_CLIR = 8; // 0x8
+    field public static final int SS_CNAP = 11; // 0xb
+    field public static final int SS_COLP = 9; // 0x9
+    field public static final int SS_COLR = 10; // 0xa
+    field public static final int SS_DEACTIVATION = 1; // 0x1
+    field public static final int SS_ERASURE = 4; // 0x4
+    field public static final int SS_INCOMING_BARRING = 20; // 0x14
+    field public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; // 0x16
+    field public static final int SS_INCOMING_BARRING_DN = 21; // 0x15
+    field public static final int SS_INTERROGATION = 2; // 0x2
+    field public static final int SS_OUTGOING_BARRING = 19; // 0x13
+    field public static final int SS_REGISTRATION = 3; // 0x3
+    field public static final int SS_SMS_SERVICES = 4; // 0x4
+    field public static final int SS_TELEPHONY = 2; // 0x2
+    field public static final int SS_WAIT = 12; // 0xc
+  }
+
+  public static final class ImsSsData.Builder {
+    ctor public ImsSsData.Builder(int, int, int, int, int);
+    method @NonNull public android.telephony.ims.ImsSsData build();
+    method @NonNull public android.telephony.ims.ImsSsData.Builder setCallForwardingInfo(@NonNull java.util.List<android.telephony.ims.ImsCallForwardInfo>);
+    method @NonNull public android.telephony.ims.ImsSsData.Builder setSuppServiceInfo(@NonNull java.util.List<android.telephony.ims.ImsSsInfo>);
+  }
+
+  public final class ImsSsInfo implements android.os.Parcelable {
+    ctor @Deprecated public ImsSsInfo(int, @Nullable String);
+    method public int describeContents();
+    method public int getClirInterrogationStatus();
+    method public int getClirOutgoingState();
+    method @Deprecated public String getIcbNum();
+    method @Nullable public String getIncomingCommunicationBarringNumber();
+    method public int getProvisionStatus();
+    method public int getStatus();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CLIR_OUTGOING_DEFAULT = 0; // 0x0
+    field public static final int CLIR_OUTGOING_INVOCATION = 1; // 0x1
+    field public static final int CLIR_OUTGOING_SUPPRESSION = 2; // 0x2
+    field public static final int CLIR_STATUS_NOT_PROVISIONED = 0; // 0x0
+    field public static final int CLIR_STATUS_PROVISIONED_PERMANENT = 1; // 0x1
+    field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
+    field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
+    field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
+    field public static final int DISABLED = 0; // 0x0
+    field public static final int ENABLED = 1; // 0x1
+    field public static final int NOT_REGISTERED = -1; // 0xffffffff
+    field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
+    field public static final int SERVICE_PROVISIONED = 1; // 0x1
+    field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public static final class ImsSsInfo.Builder {
+    ctor public ImsSsInfo.Builder(int);
+    method @NonNull public android.telephony.ims.ImsSsInfo build();
+    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirInterrogationStatus(int);
+    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirOutgoingState(int);
+    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setIncomingCommunicationBarringNumber(@NonNull String);
+    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int);
+  }
+
+  public final class ImsStreamMediaProfile implements android.os.Parcelable {
+    ctor public ImsStreamMediaProfile(int, int, int, int, int);
+    method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile);
+    method public int describeContents();
+    method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes();
+    method public int getAudioDirection();
+    method public int getAudioQuality();
+    method public int getRttMode();
+    method public int getVideoDirection();
+    method public int getVideoQuality();
+    method public boolean isReceivingRttAudio();
+    method public boolean isRttCall();
+    method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes);
+    method public void setReceivingRttAudio(boolean);
+    method public void setRttMode(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AUDIO_QUALITY_AMR = 1; // 0x1
+    field public static final int AUDIO_QUALITY_AMR_WB = 2; // 0x2
+    field public static final int AUDIO_QUALITY_EVRC = 4; // 0x4
+    field public static final int AUDIO_QUALITY_EVRC_B = 5; // 0x5
+    field public static final int AUDIO_QUALITY_EVRC_NW = 7; // 0x7
+    field public static final int AUDIO_QUALITY_EVRC_WB = 6; // 0x6
+    field public static final int AUDIO_QUALITY_EVS_FB = 20; // 0x14
+    field public static final int AUDIO_QUALITY_EVS_NB = 17; // 0x11
+    field public static final int AUDIO_QUALITY_EVS_SWB = 19; // 0x13
+    field public static final int AUDIO_QUALITY_EVS_WB = 18; // 0x12
+    field public static final int AUDIO_QUALITY_G711A = 13; // 0xd
+    field public static final int AUDIO_QUALITY_G711AB = 15; // 0xf
+    field public static final int AUDIO_QUALITY_G711U = 11; // 0xb
+    field public static final int AUDIO_QUALITY_G722 = 14; // 0xe
+    field public static final int AUDIO_QUALITY_G723 = 12; // 0xc
+    field public static final int AUDIO_QUALITY_G729 = 16; // 0x10
+    field public static final int AUDIO_QUALITY_GSM_EFR = 8; // 0x8
+    field public static final int AUDIO_QUALITY_GSM_FR = 9; // 0x9
+    field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
+    field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
+    field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
+    field public static final int DIRECTION_INACTIVE = 0; // 0x0
+    field public static final int DIRECTION_INVALID = -1; // 0xffffffff
+    field public static final int DIRECTION_RECEIVE = 1; // 0x1
+    field public static final int DIRECTION_SEND = 2; // 0x2
+    field public static final int DIRECTION_SEND_RECEIVE = 3; // 0x3
+    field public static final int RTT_MODE_DISABLED = 0; // 0x0
+    field public static final int RTT_MODE_FULL = 1; // 0x1
+    field public static final int VIDEO_QUALITY_NONE = 0; // 0x0
+    field public static final int VIDEO_QUALITY_QCIF = 1; // 0x1
+    field public static final int VIDEO_QUALITY_QVGA_LANDSCAPE = 2; // 0x2
+    field public static final int VIDEO_QUALITY_QVGA_PORTRAIT = 4; // 0x4
+    field public static final int VIDEO_QUALITY_VGA_LANDSCAPE = 8; // 0x8
+    field public static final int VIDEO_QUALITY_VGA_PORTRAIT = 16; // 0x10
+  }
+
+  public final class ImsSuppServiceNotification implements android.os.Parcelable {
+    ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
+    field public final int code;
+    field public final String[] history;
+    field public final int index;
+    field public final int notificationType;
+    field public final String number;
+    field public final int type;
+  }
+
+  public class ImsUtListener {
+    method public void onLineIdentificationSupplementaryServiceResponse(int, @NonNull android.telephony.ims.ImsSsInfo);
+    method public void onSupplementaryServiceIndication(android.telephony.ims.ImsSsData);
+    method public void onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]);
+    method public void onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]);
+    method public void onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]);
+    method @Deprecated public void onUtConfigurationQueried(int, android.os.Bundle);
+    method public void onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo);
+    method public void onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo);
+    method public void onUtConfigurationUpdated(int);
+    field @Deprecated public static final String BUNDLE_KEY_CLIR = "queryClir";
+    field @Deprecated public static final String BUNDLE_KEY_SSINFO = "imsSsInfo";
+  }
+
+  public abstract class ImsVideoCallProvider {
+    ctor public ImsVideoCallProvider();
+    method public void changeCallDataUsage(long);
+    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
+    method public void changePeerDimensions(int, int);
+    method public void changeVideoQuality(int);
+    method public void handleCallSessionEvent(int);
+    method public abstract void onRequestCallDataUsage();
+    method public abstract void onRequestCameraCapabilities();
+    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
+    method public abstract void onSetCamera(String);
+    method public void onSetCamera(String, int);
+    method public abstract void onSetDeviceOrientation(int);
+    method public abstract void onSetDisplaySurface(android.view.Surface);
+    method public abstract void onSetPauseImage(android.net.Uri);
+    method public abstract void onSetPreviewSurface(android.view.Surface);
+    method public abstract void onSetZoom(float);
+    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
+    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
+  }
+
+  public class ProvisioningManager {
+    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getProvisioningStatusForCapability(int, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public boolean isRcsVolteSingleRegistrationCapable() throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerProvisioningChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.Callback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public void registerRcsProvisioningCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.RcsProvisioningCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(int, int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerRcsReconfiguration();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public void unregisterRcsProvisioningCallback(@NonNull android.telephony.ims.ProvisioningManager.RcsProvisioningCallback);
+    field @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public static final String ACTION_RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE = "android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE";
+    field public static final String EXTRA_STATUS = "android.telephony.ims.extra.STATUS";
+    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.ims.extra.SUBSCRIPTION_ID";
+    field public static final int KEY_VOICE_OVER_WIFI_ENTITLEMENT_ID = 67; // 0x43
+    field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
+    field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
+    field public static final int PROVISIONING_VALUE_DISABLED = 0; // 0x0
+    field public static final int PROVISIONING_VALUE_ENABLED = 1; // 0x1
+    field public static final int STATUS_CAPABLE = 0; // 0x0
+    field public static final int STATUS_CARRIER_NOT_CAPABLE = 2; // 0x2
+    field public static final int STATUS_DEVICE_NOT_CAPABLE = 1; // 0x1
+    field public static final String STRING_QUERY_RESULT_ERROR_GENERIC = "STRING_QUERY_RESULT_ERROR_GENERIC";
+    field public static final String STRING_QUERY_RESULT_ERROR_NOT_READY = "STRING_QUERY_RESULT_ERROR_NOT_READY";
+  }
+
+  public static class ProvisioningManager.Callback {
+    ctor public ProvisioningManager.Callback();
+    method public void onProvisioningIntChanged(int, int);
+    method public void onProvisioningStringChanged(int, @NonNull String);
+  }
+
+  public static class ProvisioningManager.RcsProvisioningCallback {
+    ctor public ProvisioningManager.RcsProvisioningCallback();
+    method public void onAutoConfigurationErrorReceived(int, @NonNull String);
+    method public void onConfigurationChanged(@NonNull byte[]);
+    method public void onConfigurationReset();
+    method public void onPreProvisioningReceived(@NonNull byte[]);
+    method public void onRemoved();
+  }
+
+  public final class RcsClientConfiguration implements android.os.Parcelable {
+    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
+    method public int describeContents();
+    method @NonNull public String getClientVendor();
+    method @NonNull public String getClientVersion();
+    method @NonNull public String getRcsProfile();
+    method @NonNull public String getRcsVersion();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
+    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
+    field public static final String RCS_PROFILE_2_3 = "UP_2.3";
+  }
+
+  public final class RcsContactPresenceTuple implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.net.Uri getContactUri();
+    method @Nullable public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities getServiceCapabilities();
+    method @Nullable public String getServiceDescription();
+    method @NonNull public String getServiceId();
+    method @NonNull public String getServiceVersion();
+    method @NonNull public String getStatus();
+    method @Nullable public java.time.Instant getTime();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple> CREATOR;
+    field public static final String SERVICE_ID_CALL_COMPOSER = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callcomposer";
+    field public static final String SERVICE_ID_CHATBOT = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot";
+    field public static final String SERVICE_ID_CHATBOT_ROLE = "org.gsma.rcs.isbot";
+    field public static final String SERVICE_ID_CHATBOT_STANDALONE = " org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot.sa";
+    field public static final String SERVICE_ID_CHAT_V1 = "org.openmobilealliance:IM-session";
+    field public static final String SERVICE_ID_CHAT_V2 = "org.openmobilealliance:ChatSession";
+    field public static final String SERVICE_ID_FT = "org.openmobilealliance:File-Transfer-HTTP";
+    field public static final String SERVICE_ID_FT_OVER_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.ftsms";
+    field public static final String SERVICE_ID_GEO_PUSH = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geopush";
+    field public static final String SERVICE_ID_GEO_PUSH_VIA_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geosms";
+    field public static final String SERVICE_ID_MMTEL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel";
+    field public static final String SERVICE_ID_POST_CALL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callunanswered";
+    field public static final String SERVICE_ID_SHARED_MAP = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedmap";
+    field public static final String SERVICE_ID_SHARED_SKETCH = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedsketch";
+    field public static final String TUPLE_BASIC_STATUS_CLOSED = "closed";
+    field public static final String TUPLE_BASIC_STATUS_OPEN = "open";
+  }
+
+  public static final class RcsContactPresenceTuple.Builder {
+    ctor public RcsContactPresenceTuple.Builder(@NonNull String, @NonNull String, @NonNull String);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple build();
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setContactUri(@NonNull android.net.Uri);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceCapabilities(@NonNull android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceDescription(@NonNull String);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setTime(@NonNull java.time.Instant);
+  }
+
+  public static final class RcsContactPresenceTuple.ServiceCapabilities implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getSupportedDuplexModes();
+    method @NonNull public java.util.List<java.lang.String> getUnsupportedDuplexModes();
+    method public boolean isAudioCapable();
+    method public boolean isVideoCapable();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities> CREATOR;
+    field public static final String DUPLEX_MODE_FULL = "full";
+    field public static final String DUPLEX_MODE_HALF = "half";
+    field public static final String DUPLEX_MODE_RECEIVE_ONLY = "receive-only";
+    field public static final String DUPLEX_MODE_SEND_ONLY = "send-only";
+  }
+
+  public static final class RcsContactPresenceTuple.ServiceCapabilities.Builder {
+    ctor public RcsContactPresenceTuple.ServiceCapabilities.Builder(boolean, boolean);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addSupportedDuplexMode(@NonNull String);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addUnsupportedDuplexMode(@NonNull String);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities build();
+  }
+
+  public final class RcsContactUceCapability implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCapabilityMechanism();
+    method @Nullable public android.telephony.ims.RcsContactPresenceTuple getCapabilityTuple(@NonNull String);
+    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getCapabilityTuples();
+    method @NonNull public android.net.Uri getContactUri();
+    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
+    method public int getRequestResult();
+    method public int getSourceType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CAPABILITY_MECHANISM_OPTIONS = 2; // 0x2
+    field public static final int CAPABILITY_MECHANISM_PRESENCE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
+    field public static final int REQUEST_RESULT_FOUND = 3; // 0x3
+    field public static final int REQUEST_RESULT_NOT_FOUND = 2; // 0x2
+    field public static final int REQUEST_RESULT_NOT_ONLINE = 1; // 0x1
+    field public static final int REQUEST_RESULT_UNKNOWN = 0; // 0x0
+    field public static final int SOURCE_TYPE_CACHED = 1; // 0x1
+    field public static final int SOURCE_TYPE_NETWORK = 0; // 0x0
+  }
+
+  public static final class RcsContactUceCapability.OptionsBuilder {
+    ctor public RcsContactUceCapability.OptionsBuilder(@NonNull android.net.Uri);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTag(@NonNull String);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTags(@NonNull java.util.Set<java.lang.String>);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
+    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder setRequestResult(int);
+  }
+
+  public static final class RcsContactUceCapability.PresenceBuilder {
+    ctor public RcsContactUceCapability.PresenceBuilder(@NonNull android.net.Uri, int, int);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuple(@NonNull android.telephony.ims.RcsContactPresenceTuple);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuples(@NonNull java.util.List<android.telephony.ims.RcsContactPresenceTuple>);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
+  }
+
+  public class RcsUceAdapter {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void addOnPublishStateChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getUcePublishState() throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnPublishStateChangedListener(@NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestAvailability(@NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
+    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
+    field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 4; // 0x4
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 5; // 0x5
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 9; // 0x9
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 2; // 0x2
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 3; // 0x3
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 8; // 0x8
+    field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 0; // 0x0
+    field public static final int ERROR_FORBIDDEN = 6; // 0x6
+    field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
+    field public static final int ERROR_INSUFFICIENT_MEMORY = 10; // 0xa
+    field public static final int ERROR_LOST_NETWORK = 11; // 0xb
+    field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
+    field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
+    field public static final int ERROR_NOT_ENABLED = 2; // 0x2
+    field public static final int ERROR_NOT_FOUND = 7; // 0x7
+    field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
+    field public static final int ERROR_REQUEST_TIMEOUT = 9; // 0x9
+    field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
+    field public static final int ERROR_SERVER_UNAVAILABLE = 12; // 0xc
+    field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
+    field public static final int PUBLISH_STATE_OK = 1; // 0x1
+    field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
+    field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
+    field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
+    field public static final int PUBLISH_STATE_VOICE_PROVISION_ERROR = 3; // 0x3
+  }
+
+  public static interface RcsUceAdapter.CapabilitiesCallback {
+    method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
+    method public void onComplete();
+    method public void onError(int, long);
+  }
+
+  public static interface RcsUceAdapter.OnPublishStateChangedListener {
+    method public void onPublishStateChange(int);
+  }
+
+  public final class RtpHeaderExtension implements android.os.Parcelable {
+    ctor public RtpHeaderExtension(@IntRange(from=1, to=14) int, @NonNull byte[]);
+    method public int describeContents();
+    method @NonNull public byte[] getExtensionData();
+    method @IntRange(from=1, to=14) public int getLocalIdentifier();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtension> CREATOR;
+  }
+
+  public final class RtpHeaderExtensionType implements android.os.Parcelable {
+    ctor public RtpHeaderExtensionType(@IntRange(from=1, to=14) int, @NonNull android.net.Uri);
+    method public int describeContents();
+    method @IntRange(from=1, to=14) public int getLocalIdentifier();
+    method @NonNull public android.net.Uri getUri();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtensionType> CREATOR;
+  }
+
+  public final class SipDelegateConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getHomeDomain();
+    method @Nullable public String getImei();
+    method @Nullable public android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration getIpSecConfiguration();
+    method @NonNull public java.net.InetSocketAddress getLocalAddress();
+    method public int getMaxUdpPayloadSizeBytes();
+    method @Nullable public java.net.InetSocketAddress getNatSocketAddress();
+    method @Nullable public String getPrivateUserIdentifier();
+    method @Nullable public android.net.Uri getPublicGruuUri();
+    method @Nullable public String getPublicUserIdentifier();
+    method @Nullable public String getSipAssociatedUriHeader();
+    method @Nullable public String getSipAuthenticationHeader();
+    method @Nullable public String getSipAuthenticationNonce();
+    method @Nullable public String getSipCniHeader();
+    method @Nullable public String getSipContactUserParameter();
+    method @Nullable public String getSipPaniHeader();
+    method @Nullable public String getSipPathHeader();
+    method @Nullable public String getSipPlaniHeader();
+    method @NonNull public java.net.InetSocketAddress getSipServerAddress();
+    method @Nullable public String getSipServiceRouteHeader();
+    method @Nullable public String getSipUserAgentHeader();
+    method public int getTransportType();
+    method @IntRange(from=0) public long getVersion();
+    method public boolean isSipCompactFormEnabled();
+    method public boolean isSipKeepaliveEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateConfiguration> CREATOR;
+    field public static final int SIP_TRANSPORT_TCP = 1; // 0x1
+    field public static final int SIP_TRANSPORT_UDP = 0; // 0x0
+    field public static final int UDP_PAYLOAD_SIZE_UNDEFINED = -1; // 0xffffffff
+  }
+
+  public static final class SipDelegateConfiguration.Builder {
+    ctor public SipDelegateConfiguration.Builder(@IntRange(from=0) long, int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
+    ctor public SipDelegateConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateConfiguration);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration build();
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setHomeDomain(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setImei(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setIpSecConfiguration(@Nullable android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setMaxUdpPayloadSizeBytes(@IntRange(from=1) int);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setNatSocketAddress(@Nullable java.net.InetSocketAddress);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPrivateUserIdentifier(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicGruuUri(@Nullable android.net.Uri);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicUserIdentifier(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAssociatedUriHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationNonce(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCniHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCompactFormEnabled(boolean);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipContactUserParameter(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipKeepaliveEnabled(boolean);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPaniHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPathHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPlaniHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipServiceRouteHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipUserAgentHeader(@Nullable String);
+  }
+
+  public static final class SipDelegateConfiguration.IpSecConfiguration {
+    ctor public SipDelegateConfiguration.IpSecConfiguration(int, int, int, int, int, int, @NonNull String);
+    method public int getLastLocalTxPort();
+    method public int getLastRemoteTxPort();
+    method public int getLocalRxPort();
+    method public int getLocalTxPort();
+    method public int getRemoteRxPort();
+    method public int getRemoteTxPort();
+    method @NonNull public String getSipSecurityVerifyHeader();
+  }
+
+  public interface SipDelegateConnection {
+    method public void cleanupSession(@NonNull String);
+    method public void notifyMessageReceiveError(@NonNull String, int);
+    method public void notifyMessageReceived(@NonNull String);
+    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
+  }
+
+  public class SipDelegateManager {
+    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void createSipDelegate(@NonNull android.telephony.ims.DelegateRequest, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.stub.DelegateConnectionStateCallback, @NonNull android.telephony.ims.stub.DelegateConnectionMessageCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void destroySipDelegate(@NonNull android.telephony.ims.SipDelegateConnection, int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public boolean isSupported() throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerFullNetworkRegistration(@NonNull android.telephony.ims.SipDelegateConnection, @IntRange(from=100, to=699) int, @Nullable String);
+    field public static final int DENIED_REASON_INVALID = 4; // 0x4
+    field public static final int DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE = 1; // 0x1
+    field public static final int DENIED_REASON_NOT_ALLOWED = 2; // 0x2
+    field public static final int DENIED_REASON_SINGLE_REGISTRATION_NOT_ALLOWED = 3; // 0x3
+    field public static final int DENIED_REASON_UNKNOWN = 0; // 0x0
+    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_CLOSED = 2; // 0x2
+    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_DEAD = 1; // 0x1
+    field public static final int MESSAGE_FAILURE_REASON_INTERNAL_DELEGATE_STATE_TRANSITION = 11; // 0xb
+    field public static final int MESSAGE_FAILURE_REASON_INVALID_BODY_CONTENT = 5; // 0x5
+    field public static final int MESSAGE_FAILURE_REASON_INVALID_FEATURE_TAG = 6; // 0x6
+    field public static final int MESSAGE_FAILURE_REASON_INVALID_HEADER_FIELDS = 4; // 0x4
+    field public static final int MESSAGE_FAILURE_REASON_INVALID_START_LINE = 3; // 0x3
+    field public static final int MESSAGE_FAILURE_REASON_NETWORK_NOT_AVAILABLE = 8; // 0x8
+    field public static final int MESSAGE_FAILURE_REASON_NOT_REGISTERED = 9; // 0x9
+    field public static final int MESSAGE_FAILURE_REASON_STALE_IMS_CONFIGURATION = 10; // 0xa
+    field public static final int MESSAGE_FAILURE_REASON_TAG_NOT_ENABLED_FOR_DELEGATE = 7; // 0x7
+    field public static final int MESSAGE_FAILURE_REASON_UNKNOWN = 0; // 0x0
+    field public static final int SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP = 2; // 0x2
+    field public static final int SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD = 1; // 0x1
+    field public static final int SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN = 4; // 0x4
+    field public static final int SIP_DELEGATE_DESTROY_REASON_UNKNOWN = 0; // 0x0
+    field public static final int SIP_DELEGATE_DESTROY_REASON_USER_DISABLED_RCS = 3; // 0x3
+  }
+
+  public final class SipMessage implements android.os.Parcelable {
+    ctor public SipMessage(@NonNull String, @NonNull String, @NonNull byte[]);
+    method public int describeContents();
+    method @Nullable public String getCallIdParameter();
+    method @NonNull public byte[] getContent();
+    method @NonNull public String getHeaderSection();
+    method @NonNull public String getStartLine();
+    method @NonNull public String getViaBranchParameter();
+    method @NonNull public byte[] toEncodedMessage();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipMessage> CREATOR;
+  }
+
+}
+
+package android.telephony.ims.feature {
+
+  public final class CapabilityChangeRequest implements android.os.Parcelable {
+    method public void addCapabilitiesToDisableForTech(int, int);
+    method public void addCapabilitiesToEnableForTech(int, int);
+    method public int describeContents();
+    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
+    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
+  }
+
+  public static class CapabilityChangeRequest.CapabilityPair {
+    ctor public CapabilityChangeRequest.CapabilityPair(int, int);
+    method public int getCapability();
+    method public int getRadioTech();
+  }
+
+  public abstract class ImsFeature {
+    ctor public ImsFeature();
+    method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
+    method public int getFeatureState();
+    method public final int getSlotIndex();
+    method public abstract void onFeatureReady();
+    method public abstract void onFeatureRemoved();
+    method public final void setFeatureState(int);
+    field public static final int CAPABILITY_ERROR_GENERIC = -1; // 0xffffffff
+    field public static final int CAPABILITY_SUCCESS = 0; // 0x0
+    field public static final int FEATURE_EMERGENCY_MMTEL = 0; // 0x0
+    field public static final int FEATURE_MMTEL = 1; // 0x1
+    field public static final int FEATURE_RCS = 2; // 0x2
+    field public static final int STATE_INITIALIZING = 1; // 0x1
+    field public static final int STATE_READY = 2; // 0x2
+    field public static final int STATE_UNAVAILABLE = 0; // 0x0
+  }
+
+  @Deprecated public static class ImsFeature.Capabilities {
+    field @Deprecated protected int mCapabilities;
+  }
+
+  protected static class ImsFeature.CapabilityCallbackProxy {
+    method public void onChangeCapabilityConfigurationError(int, int, int);
+  }
+
+  public class MmTelFeature extends android.telephony.ims.feature.ImsFeature {
+    ctor public MmTelFeature();
+    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
+    method public void changeOfferedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
+    method @Nullable public android.telephony.ims.ImsCallProfile createCallProfile(int, int);
+    method @Nullable public android.telephony.ims.stub.ImsCallSessionImplBase createCallSession(@NonNull android.telephony.ims.ImsCallProfile);
+    method @NonNull public android.telephony.ims.stub.ImsEcbmImplBase getEcbm();
+    method @NonNull public android.telephony.ims.stub.ImsMultiEndpointImplBase getMultiEndpoint();
+    method @NonNull public android.telephony.ims.stub.ImsSmsImplBase getSmsImplementation();
+    method @NonNull public android.telephony.ims.stub.ImsUtImplBase getUt();
+    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
+    method public final void notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull android.os.Bundle);
+    method public final void notifyRejectedCall(@NonNull android.telephony.ims.ImsCallProfile, @NonNull android.telephony.ims.ImsReasonInfo);
+    method public final void notifyVoiceMessageCountUpdate(int);
+    method public void onFeatureReady();
+    method public void onFeatureRemoved();
+    method public boolean queryCapabilityConfiguration(int, int);
+    method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus();
+    method public void setUiTtyMode(int, @Nullable android.os.Message);
+    method public int shouldProcessCall(@NonNull String[]);
+    field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL";
+    field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD";
+    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
+    field public static final int PROCESS_CALL_IMS = 0; // 0x0
+  }
+
+  public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
+    ctor public MmTelFeature.MmTelCapabilities();
+    ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
+    ctor public MmTelFeature.MmTelCapabilities(int);
+    method public final void addCapabilities(int);
+    method public final void removeCapabilities(int);
+  }
+
+  public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
+    ctor @Deprecated public RcsFeature();
+    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
+    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
+    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
+    method public void destroyCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
+    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
+    method public void onFeatureReady();
+    method public void onFeatureRemoved();
+    method public boolean queryCapabilityConfiguration(int, int);
+    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
+  }
+
+  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
+    ctor public RcsFeature.RcsImsCapabilities(int);
+    method public void addCapabilities(int);
+    method public boolean isCapable(int);
+    method public void removeCapabilities(int);
+    field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
+    field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
+    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
+  }
+
+}
+
+package android.telephony.ims.stub {
+
+  public interface CapabilityExchangeEventListener {
+    method public void onRemoteCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.CapabilityExchangeEventListener.OptionsRequestCallback) throws android.telephony.ims.ImsException;
+    method public void onRequestPublishCapabilities(int) throws android.telephony.ims.ImsException;
+    method public void onUnpublish() throws android.telephony.ims.ImsException;
+  }
+
+  public static interface CapabilityExchangeEventListener.OptionsRequestCallback {
+    method public void onRespondToCapabilityRequest(@NonNull android.telephony.ims.RcsContactUceCapability, boolean);
+    method public void onRespondToCapabilityRequestWithError(@IntRange(from=100, to=699) int, @NonNull String);
+  }
+
+  public interface DelegateConnectionMessageCallback {
+    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
+    method public void onMessageSendFailure(@NonNull String, int);
+    method public void onMessageSent(@NonNull String);
+  }
+
+  public interface DelegateConnectionStateCallback {
+    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
+    method public void onCreated(@NonNull android.telephony.ims.SipDelegateConnection);
+    method public void onDestroyed(int);
+    method public void onFeatureTagStatusChanged(@NonNull android.telephony.ims.DelegateRegistrationState, @NonNull java.util.Set<android.telephony.ims.FeatureTagState>);
+  }
+
+  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
+    ctor public ImsCallSessionImplBase();
+    method public void accept(int, android.telephony.ims.ImsStreamMediaProfile);
+    method public void close();
+    method public void deflect(String);
+    method public void extendToConference(String[]);
+    method public String getCallId();
+    method public android.telephony.ims.ImsCallProfile getCallProfile();
+    method public android.telephony.ims.ImsVideoCallProvider getImsVideoCallProvider();
+    method public android.telephony.ims.ImsCallProfile getLocalCallProfile();
+    method public String getProperty(String);
+    method public android.telephony.ims.ImsCallProfile getRemoteCallProfile();
+    method public int getState();
+    method public void hold(android.telephony.ims.ImsStreamMediaProfile);
+    method public void inviteParticipants(String[]);
+    method public boolean isInCall();
+    method public boolean isMultiparty();
+    method public void merge();
+    method public void reject(int);
+    method public void removeParticipants(String[]);
+    method public void resume(android.telephony.ims.ImsStreamMediaProfile);
+    method public void sendDtmf(char, android.os.Message);
+    method public void sendRtpHeaderExtensions(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
+    method public void sendRttMessage(String);
+    method public void sendRttModifyRequest(android.telephony.ims.ImsCallProfile);
+    method public void sendRttModifyResponse(boolean);
+    method public void sendUssd(String);
+    method public void setListener(android.telephony.ims.ImsCallSessionListener);
+    method public void setMute(boolean);
+    method public void start(String, android.telephony.ims.ImsCallProfile);
+    method public void startConference(String[], android.telephony.ims.ImsCallProfile);
+    method public void startDtmf(char);
+    method public void stopDtmf();
+    method public void terminate(int);
+    method public void update(int, android.telephony.ims.ImsStreamMediaProfile);
+    field public static final int USSD_MODE_NOTIFY = 0; // 0x0
+    field public static final int USSD_MODE_REQUEST = 1; // 0x1
+  }
+
+  public static class ImsCallSessionImplBase.State {
+    method public static String toString(int);
+    field public static final int ESTABLISHED = 4; // 0x4
+    field public static final int ESTABLISHING = 3; // 0x3
+    field public static final int IDLE = 0; // 0x0
+    field public static final int INITIATED = 1; // 0x1
+    field public static final int INVALID = -1; // 0xffffffff
+    field public static final int NEGOTIATING = 2; // 0x2
+    field public static final int REESTABLISHING = 6; // 0x6
+    field public static final int RENEGOTIATING = 5; // 0x5
+    field public static final int TERMINATED = 8; // 0x8
+    field public static final int TERMINATING = 7; // 0x7
+  }
+
+  public class ImsConfigImplBase {
+    ctor public ImsConfigImplBase();
+    method public int getConfigInt(int);
+    method public String getConfigString(int);
+    method public final void notifyAutoConfigurationErrorReceived(int, @NonNull String);
+    method public final void notifyPreProvisioningReceived(@NonNull byte[]);
+    method public final void notifyProvisionedValueChanged(int, int);
+    method public final void notifyProvisionedValueChanged(int, String);
+    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
+    method public void notifyRcsAutoConfigurationRemoved();
+    method public int setConfig(int, int);
+    method public int setConfig(int, String);
+    method public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration);
+    method public void triggerAutoConfiguration();
+    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
+    field public static final int CONFIG_RESULT_SUCCESS = 0; // 0x0
+    field public static final int CONFIG_RESULT_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public class ImsEcbmImplBase {
+    ctor public ImsEcbmImplBase();
+    method public final void enteredEcbm();
+    method public void exitEmergencyCallbackMode();
+    method public final void exitedEcbm();
+  }
+
+  public final class ImsFeatureConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
+  }
+
+  public static class ImsFeatureConfiguration.Builder {
+    ctor public ImsFeatureConfiguration.Builder();
+    method public android.telephony.ims.stub.ImsFeatureConfiguration.Builder addFeature(int, int);
+    method public android.telephony.ims.stub.ImsFeatureConfiguration build();
+  }
+
+  public static final class ImsFeatureConfiguration.FeatureSlotPair {
+    ctor public ImsFeatureConfiguration.FeatureSlotPair(int, int);
+    field public final int featureType;
+    field public final int slotId;
+  }
+
+  public class ImsMultiEndpointImplBase {
+    ctor public ImsMultiEndpointImplBase();
+    method public final void onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>);
+    method public void requestImsExternalCallStateInfo();
+  }
+
+  public class ImsRegistrationImplBase {
+    ctor public ImsRegistrationImplBase();
+    method public final void onDeregistered(android.telephony.ims.ImsReasonInfo);
+    method public final void onRegistered(int);
+    method public final void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
+    method public final void onRegistering(int);
+    method public final void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
+    method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]);
+    method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
+    method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String);
+    method public void triggerSipDelegateDeregistration();
+    method public void updateSipDelegateRegistration();
+    field public static final int REGISTRATION_TECH_CROSS_SIM = 2; // 0x2
+    field public static final int REGISTRATION_TECH_IWLAN = 1; // 0x1
+    field public static final int REGISTRATION_TECH_LTE = 0; // 0x0
+    field public static final int REGISTRATION_TECH_NONE = -1; // 0xffffffff
+    field public static final int REGISTRATION_TECH_NR = 3; // 0x3
+  }
+
+  public class ImsSmsImplBase {
+    ctor public ImsSmsImplBase();
+    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int);
+    method public void acknowledgeSmsReport(int, @IntRange(from=0, to=65535) int, int);
+    method public String getSmsFormat();
+    method public void onReady();
+    method @Deprecated public final void onSendSmsResult(int, @IntRange(from=0, to=65535) int, int, int) throws java.lang.RuntimeException;
+    method public final void onSendSmsResultError(int, @IntRange(from=0, to=65535) int, int, int, int) throws java.lang.RuntimeException;
+    method public final void onSendSmsResultSuccess(int, @IntRange(from=0, to=65535) int) throws java.lang.RuntimeException;
+    method public final void onSmsReceived(int, String, byte[]) throws java.lang.RuntimeException;
+    method @Deprecated public final void onSmsStatusReportReceived(int, @IntRange(from=0, to=65535) int, String, byte[]) throws java.lang.RuntimeException;
+    method public final void onSmsStatusReportReceived(int, String, byte[]) throws java.lang.RuntimeException;
+    method public void sendSms(int, @IntRange(from=0, to=65535) int, String, String, boolean, byte[]);
+    field public static final int DELIVER_STATUS_ERROR_GENERIC = 2; // 0x2
+    field public static final int DELIVER_STATUS_ERROR_NO_MEMORY = 3; // 0x3
+    field public static final int DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED = 4; // 0x4
+    field public static final int DELIVER_STATUS_OK = 1; // 0x1
+    field public static final int RESULT_NO_NETWORK_ERROR = -1; // 0xffffffff
+    field public static final int SEND_STATUS_ERROR = 2; // 0x2
+    field public static final int SEND_STATUS_ERROR_FALLBACK = 4; // 0x4
+    field public static final int SEND_STATUS_ERROR_RETRY = 3; // 0x3
+    field public static final int SEND_STATUS_OK = 1; // 0x1
+    field public static final int STATUS_REPORT_STATUS_ERROR = 2; // 0x2
+    field public static final int STATUS_REPORT_STATUS_OK = 1; // 0x1
+  }
+
+  public class ImsUtImplBase {
+    ctor public ImsUtImplBase();
+    method public void close();
+    method public int queryCallBarring(int);
+    method public int queryCallBarringForServiceClass(int, int);
+    method public int queryCallForward(int, String);
+    method public int queryCallWaiting();
+    method public int queryClip();
+    method public int queryClir();
+    method public int queryColp();
+    method public int queryColr();
+    method public void setListener(android.telephony.ims.ImsUtListener);
+    method public int transact(android.os.Bundle);
+    method public int updateCallBarring(int, int, String[]);
+    method public int updateCallBarringForServiceClass(int, int, String[], int);
+    method public int updateCallForward(int, int, String, int, int);
+    method public int updateCallWaiting(boolean, int);
+    method public int updateClip(boolean);
+    method public int updateClir(int);
+    method public int updateColp(boolean);
+    method public int updateColr(int);
+  }
+
+  public class RcsCapabilityExchangeImplBase {
+    ctor public RcsCapabilityExchangeImplBase();
+    method public void publishCapabilities(@NonNull String, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback);
+    method public void sendOptionsCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.OptionsResponseCallback);
+    method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);
+    field public static final int COMMAND_CODE_FETCH_ERROR = 3; // 0x3
+    field public static final int COMMAND_CODE_GENERIC_FAILURE = 1; // 0x1
+    field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 5; // 0x5
+    field public static final int COMMAND_CODE_INVALID_PARAM = 2; // 0x2
+    field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 6; // 0x6
+    field public static final int COMMAND_CODE_NOT_FOUND = 8; // 0x8
+    field public static final int COMMAND_CODE_NOT_SUPPORTED = 7; // 0x7
+    field public static final int COMMAND_CODE_NO_CHANGE = 10; // 0xa
+    field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 4; // 0x4
+    field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 9; // 0x9
+    field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
+  }
+
+  public static interface RcsCapabilityExchangeImplBase.OptionsResponseCallback {
+    method public void onCommandError(int) throws android.telephony.ims.ImsException;
+    method public void onNetworkResponse(int, @NonNull String, @NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
+  }
+
+  public static interface RcsCapabilityExchangeImplBase.PublishResponseCallback {
+    method public void onCommandError(int) throws android.telephony.ims.ImsException;
+    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
+    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
+  }
+
+  public static interface RcsCapabilityExchangeImplBase.SubscribeResponseCallback {
+    method public void onCommandError(int) throws android.telephony.ims.ImsException;
+    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
+    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
+    method public void onNotifyCapabilitiesUpdate(@NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
+    method public void onResourceTerminated(@NonNull java.util.List<android.util.Pair<android.net.Uri,java.lang.String>>) throws android.telephony.ims.ImsException;
+    method public void onTerminated(@NonNull String, long) throws android.telephony.ims.ImsException;
+  }
+
+  public interface SipDelegate {
+    method public void cleanupSession(@NonNull String);
+    method public void notifyMessageReceiveError(@NonNull String, int);
+    method public void notifyMessageReceived(@NonNull String);
+    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
+  }
+
+  public class SipTransportImplBase {
+    ctor public SipTransportImplBase(@NonNull java.util.concurrent.Executor);
+    method public void createSipDelegate(int, @NonNull android.telephony.ims.DelegateRequest, @NonNull android.telephony.ims.DelegateStateCallback, @NonNull android.telephony.ims.DelegateMessageCallback);
+    method public void destroySipDelegate(@NonNull android.telephony.ims.stub.SipDelegate, int);
+  }
+
+}
+
+package android.telephony.mbms {
+
+  public static class DownloadRequest.Builder {
+    method public android.telephony.mbms.DownloadRequest.Builder setServiceId(String);
+  }
+
+  public final class FileInfo implements android.os.Parcelable {
+    ctor public FileInfo(android.net.Uri, String);
+  }
+
+  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
+    ctor public FileServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>);
+  }
+
+  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
+    field public static final int RESULT_APP_NOTIFICATION_ERROR = 6; // 0x6
+    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
+    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
+    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
+    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
+    field public static final int RESULT_OK = 0; // 0x0
+    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
+  }
+
+  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
+    ctor public StreamingServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date);
+  }
+
+  public final class UriPathPair implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.net.Uri getContentUri();
+    method public android.net.Uri getFilePathUri();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
+  }
+
+}
+
+package android.telephony.mbms.vendor {
+
+  public class MbmsDownloadServiceBase extends android.os.Binder implements android.os.IInterface {
+    ctor public MbmsDownloadServiceBase();
+    method public int addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
+    method public int addServiceAnnouncement(int, @NonNull byte[]);
+    method public int addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
+    method public android.os.IBinder asBinder();
+    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
+    method public void dispose(int) throws android.os.RemoteException;
+    method public int download(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
+    method public int initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) throws android.os.RemoteException;
+    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
+    method public void onAppCallbackDied(int, int);
+    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
+    method public int removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
+    method public int removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
+    method public int requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
+    method public int requestUpdateFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
+    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
+    method public int setTempFileRootDirectory(int, String) throws android.os.RemoteException;
+  }
+
+  public class MbmsGroupCallServiceBase extends android.app.Service {
+    ctor public MbmsGroupCallServiceBase();
+    method public void dispose(int) throws android.os.RemoteException;
+    method public int initialize(@NonNull android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
+    method public void onAppCallbackDied(int, int);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public int startGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, @NonNull android.telephony.mbms.GroupCallCallback);
+    method public void stopGroupCall(int, long);
+    method public void updateGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
+  }
+
+  public class MbmsStreamingServiceBase extends android.os.Binder implements android.os.IInterface {
+    ctor public MbmsStreamingServiceBase();
+    method public android.os.IBinder asBinder();
+    method public void dispose(int) throws android.os.RemoteException;
+    method @Nullable public android.net.Uri getPlaybackUri(int, String) throws android.os.RemoteException;
+    method public int initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) throws android.os.RemoteException;
+    method public void onAppCallbackDied(int, int);
+    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
+    method public int requestUpdateStreamingServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
+    method public int startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) throws android.os.RemoteException;
+    method public void stopStreaming(int, String) throws android.os.RemoteException;
+  }
+
+  public class VendorUtils {
+    ctor public VendorUtils();
+    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, String);
+    field public static final String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
+    field public static final String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
+    field public static final String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
+    field public static final String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
+    field public static final String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
+    field public static final String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
+    field public static final String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
+    field public static final String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
+    field public static final String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
+    field public static final String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
+    field public static final String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
+    field public static final String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
+  }
+
+}
+
+package android.text {
+
+  public final class FontConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
+    method @IntRange(from=0) public int getConfigVersion();
+    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
+    method public long getLastModifiedTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
+  }
+
+  public static final class FontConfig.Alias implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getName();
+    method @NonNull public String getOriginal();
+    method @IntRange(from=0, to=1000) public int getWeight();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
+  }
+
+  public static final class FontConfig.Font implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.io.File getFile();
+    method @Nullable public String getFontFamilyName();
+    method @NonNull public String getFontVariationSettings();
+    method @NonNull public String getPostScriptName();
+    method @NonNull public android.graphics.fonts.FontStyle getStyle();
+    method public int getTtcIndex();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
+  }
+
+  public static final class FontConfig.FontFamily implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
+    method @NonNull public android.os.LocaleList getLocaleList();
+    method @Nullable public String getName();
+    method public int getVariant();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
+    field public static final int VARIANT_COMPACT = 1; // 0x1
+    field public static final int VARIANT_DEFAULT = 0; // 0x0
+    field public static final int VARIANT_ELEGANT = 2; // 0x2
+  }
+
+}
+
+package android.util {
+
+  public class EventLog {
+    method public static void readEventsOnWrapping(int[], long, java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
+  }
+
+  public static final class EventLog.Event {
+    method public int getUid();
+  }
+
+}
+
+package android.uwb {
+
+  public final class AngleMeasurement implements android.os.Parcelable {
+    ctor public AngleMeasurement(@FloatRange(from=-3.141592653589793, to=3.141592653589793) double, @FloatRange(from=0.0, to=3.141592653589793) double, @FloatRange(from=0.0, to=1.0) double);
+    method public int describeContents();
+    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
+    method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
+    method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
+  }
+
+  public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.uwb.AngleMeasurement getAltitude();
+    method @NonNull public android.uwb.AngleMeasurement getAzimuth();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
+  }
+
+  public static final class AngleOfArrivalMeasurement.Builder {
+    ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement);
+    method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
+    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
+  }
+
+  public final class DistanceMeasurement implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
+    method @FloatRange(from=0.0) public double getErrorMeters();
+    method public double getMeters();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
+  }
+
+  public static final class DistanceMeasurement.Builder {
+    ctor public DistanceMeasurement.Builder();
+    method @NonNull public android.uwb.DistanceMeasurement build();
+    method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
+    method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double);
+    method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
+  }
+
+  public final class RangingMeasurement implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
+    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
+    method public long getElapsedRealtimeNanos();
+    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
+    method public int getStatus();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
+    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
+    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
+    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public static final class RangingMeasurement.Builder {
+    ctor public RangingMeasurement.Builder();
+    method @NonNull public android.uwb.RangingMeasurement build();
+    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
+    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
+    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
+    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
+    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
+  }
+
+  public final class RangingReport implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
+  }
+
+  public static final class RangingReport.Builder {
+    ctor public RangingReport.Builder();
+    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
+    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
+    method @NonNull public android.uwb.RangingReport build();
+  }
+
+  public final class RangingSession implements java.lang.AutoCloseable {
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close();
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle);
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle);
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop();
+  }
+
+  public static interface RangingSession.Callback {
+    method public void onClosed(int, @NonNull android.os.PersistableBundle);
+    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
+    method public void onOpened(@NonNull android.uwb.RangingSession);
+    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
+    method public void onReconfigured(@NonNull android.os.PersistableBundle);
+    method public void onReportReceived(@NonNull android.uwb.RangingReport);
+    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
+    method public void onStarted(@NonNull android.os.PersistableBundle);
+    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
+    method public void onStopped(int, @NonNull android.os.PersistableBundle);
+    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
+    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
+    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
+    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
+    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
+    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
+    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
+    field public static final int REASON_UNKNOWN = 0; // 0x0
+  }
+
+  public final class UwbAddress implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
+    method public int size();
+    method @NonNull public byte[] toBytes();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
+    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
+    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
+  }
+
+  public final class UwbManager {
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
+    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.UWB_PRIVILEGED, android.Manifest.permission.UWB_RANGING}) public android.os.CancellationSignal openRangingSession(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.RangingSession.Callback);
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
+  }
+
+  public static interface UwbManager.AdapterStateCallback {
+    method public void onStateChanged(int, int);
+    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
+    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
+    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
+    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
+    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
+    field public static final int STATE_DISABLED = 0; // 0x0
+    field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
+    field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
+  }
+
+}
+
+package android.view {
+
+  public abstract class Window {
+    method public void addSystemFlags(@android.view.WindowManager.LayoutParams.SystemFlags int);
+  }
+
+  public interface WindowManager extends android.view.ViewManager {
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public android.graphics.Region getCurrentImeTouchRegion();
+  }
+
+  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
+    method public final long getUserActivityTimeout();
+    method public boolean isSystemApplicationOverlay();
+    method @RequiresPermission(android.Manifest.permission.SYSTEM_APPLICATION_OVERLAY) public void setSystemApplicationOverlay(boolean);
+    method public final void setUserActivityTimeout(long);
+    field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
+    field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10
+  }
+
+  @IntDef(flag=true, prefix={"SYSTEM_FLAG_"}, value={android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS, android.view.WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface WindowManager.LayoutParams.SystemFlags {
+  }
+
+}
+
+package android.view.accessibility {
+
+  public final class AccessibilityManager {
+    method public int getAccessibilityWindowId(@Nullable android.os.IBinder);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int);
+  }
+
+}
+
+package android.view.autofill {
+
+  public final class AutofillManager {
+    method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
+  }
+
+}
+
+package android.view.contentcapture {
+
+  public final class ContentCaptureContext implements android.os.Parcelable {
+    method @Nullable public android.content.ComponentName getActivityComponent();
+    method @Nullable public android.app.assist.ActivityId getActivityId();
+    method public int getDisplayId();
+    method public int getFlags();
+    method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId();
+    method public int getTaskId();
+    method @Nullable public android.os.IBinder getWindowToken();
+    field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
+    field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
+    field public static final int FLAG_RECONNECTED = 4; // 0x4
+  }
+
+  public final class ContentCaptureEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.graphics.Rect getBounds();
+    method @Nullable public android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
+    method public long getEventTime();
+    method @Nullable public android.view.autofill.AutofillId getId();
+    method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds();
+    method @Nullable public android.graphics.Insets getInsets();
+    method @Nullable public CharSequence getText();
+    method public int getType();
+    method @Nullable public android.view.contentcapture.ViewNode getViewNode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
+    field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
+    field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
+    field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
+    field public static final int TYPE_VIEW_APPEARED = 1; // 0x1
+    field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2
+    field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9
+    field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3
+    field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5
+    field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4
+    field public static final int TYPE_WINDOW_BOUNDS_CHANGED = 10; // 0xa
+  }
+
+  public final class ContentCaptureManager {
+    method public boolean isContentCaptureFeatureEnabled();
+    field public static final int NO_SESSION_ID = 0; // 0x0
+  }
+
+  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
+    method @Nullable public android.view.autofill.AutofillId getParentAutofillId();
+  }
+
+}
+
+package android.view.displayhash {
+
+  public final class DisplayHash implements android.os.Parcelable {
+    ctor public DisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[], @NonNull byte[]);
+    method public int describeContents();
+    method @NonNull public android.graphics.Rect getBoundsInWindow();
+    method @NonNull public String getHashAlgorithm();
+    method @NonNull public byte[] getHmac();
+    method @NonNull public byte[] getImageHash();
+    method public long getTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+}
+
+package android.view.translation {
+
+  public final class TranslationCapability implements android.os.Parcelable {
+    ctor public TranslationCapability(int, @NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, boolean, int);
+  }
+
+  public final class UiTranslationManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void finishTranslation(@NonNull android.app.assist.ActivityId);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void pauseTranslation(@NonNull android.app.assist.ActivityId);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void resumeTranslation(@NonNull android.app.assist.ActivityId);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void startTranslation(@NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, @NonNull java.util.List<android.view.autofill.AutofillId>, @NonNull android.app.assist.ActivityId, @NonNull android.view.translation.UiTranslationSpec);
+  }
+
+  public final class UiTranslationSpec implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean shouldPadContentForCompat();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.UiTranslationSpec> CREATOR;
+  }
+
+  public static final class UiTranslationSpec.Builder {
+    ctor public UiTranslationSpec.Builder();
+    method @NonNull public android.view.translation.UiTranslationSpec build();
+    method @NonNull public android.view.translation.UiTranslationSpec.Builder setShouldPadContentForCompat(boolean);
+  }
+
+}
+
+package android.webkit {
+
+  public abstract class CookieManager {
+    method protected abstract boolean allowFileSchemeCookiesImpl();
+    method public abstract String getCookie(String, boolean);
+    method public String getCookie(android.net.WebAddress);
+    method public abstract boolean hasCookies(boolean);
+    method protected abstract void setAcceptFileSchemeCookiesImpl(boolean);
+  }
+
+  public class FindActionModeCallback implements android.view.ActionMode.Callback android.text.TextWatcher android.view.View.OnClickListener android.webkit.WebView.FindListener {
+    ctor public FindActionModeCallback(android.content.Context);
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public void findAll();
+    method public void finish();
+    method public int getActionModeGlobalBottom();
+    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
+    method public void onClick(android.view.View);
+    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
+    method public void onDestroyActionMode(android.view.ActionMode);
+    method public void onFindResultReceived(int, int, boolean);
+    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
+    method public void onTextChanged(CharSequence, int, int, int);
+    method public void setText(String);
+    method public void setWebView(@NonNull android.webkit.WebView);
+    method public void showSoftInput();
+    method public void updateMatchCount(int, int, boolean);
+  }
+
+  public static class FindActionModeCallback.NoAction implements android.view.ActionMode.Callback {
+    ctor public FindActionModeCallback.NoAction();
+    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
+    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
+    method public void onDestroyActionMode(android.view.ActionMode);
+    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
+  }
+
+  public class GeolocationPermissions {
+    ctor public GeolocationPermissions();
+  }
+
+  public class HttpAuthHandler extends android.os.Handler {
+    ctor public HttpAuthHandler();
+  }
+
+  public class JsDialogHelper {
+    ctor public JsDialogHelper(android.webkit.JsPromptResult, int, String, String, String);
+    ctor public JsDialogHelper(android.webkit.JsPromptResult, android.os.Message);
+    method public boolean invokeCallback(android.webkit.WebChromeClient, android.webkit.WebView);
+    method public void showDialog(android.content.Context);
+    field public static final int ALERT = 1; // 0x1
+    field public static final int CONFIRM = 2; // 0x2
+    field public static final int PROMPT = 3; // 0x3
+    field public static final int UNLOAD = 4; // 0x4
+  }
+
+  public class JsPromptResult extends android.webkit.JsResult {
+    ctor public JsPromptResult(android.webkit.JsResult.ResultReceiver);
+    method public String getStringResult();
+  }
+
+  public class JsResult {
+    ctor public JsResult(android.webkit.JsResult.ResultReceiver);
+    method public final boolean getResult();
+  }
+
+  public static interface JsResult.ResultReceiver {
+    method public void onJsResultComplete(android.webkit.JsResult);
+  }
+
+  public interface PacProcessor {
+    method @NonNull public static android.webkit.PacProcessor createInstance();
+    method @Nullable public String findProxyForUrl(@NonNull String);
+    method @NonNull public static android.webkit.PacProcessor getInstance();
+    method @Nullable public default android.net.Network getNetwork();
+    method public default void release();
+    method public default void setNetwork(@Nullable android.net.Network);
+    method public boolean setProxyScript(@NonNull String);
+  }
+
+  public class SslErrorHandler extends android.os.Handler {
+    ctor public SslErrorHandler();
+  }
+
+  @Deprecated public abstract class TokenBindingService {
+    ctor @Deprecated public TokenBindingService();
+  }
+
+  public class WebChromeClient {
+    method @Deprecated public void openFileChooser(android.webkit.ValueCallback<android.net.Uri>, String, String);
+  }
+
+  public abstract class WebHistoryItem implements java.lang.Cloneable {
+    method @Deprecated public abstract int getId();
+  }
+
+  @Deprecated public abstract class WebIconDatabase {
+    method @Deprecated public abstract void bulkRequestIconForPageUrl(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
+  }
+
+  public abstract class WebMessagePort {
+    ctor public WebMessagePort();
+  }
+
+  public abstract class WebResourceError {
+    ctor public WebResourceError();
+  }
+
+  public class WebResourceResponse {
+    ctor public WebResourceResponse(boolean, String, String, int, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
+  }
+
+  public abstract class WebSettings {
+    method public abstract boolean getAcceptThirdPartyCookies();
+    method @Deprecated public abstract boolean getNavDump();
+    method @Deprecated public abstract boolean getPluginsEnabled();
+    method @Deprecated public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
+    method @Deprecated public abstract int getUserAgent();
+    method public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
+    method public abstract void setAcceptThirdPartyCookies(boolean);
+    method @Deprecated public abstract void setNavDump(boolean);
+    method @Deprecated public abstract void setPluginsEnabled(boolean);
+    method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean);
+    method @Deprecated public abstract void setUserAgent(int);
+    method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean);
+  }
+
+  public class WebStorage {
+    ctor public WebStorage();
+  }
+
+  public static class WebStorage.Origin {
+    ctor protected WebStorage.Origin(String, long, long);
+  }
+
+  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
+    method public android.webkit.WebViewProvider getWebViewProvider();
+  }
+
+  public static class WebView.HitTestResult {
+    ctor public WebView.HitTestResult();
+    method public void setExtra(String);
+    method public void setType(int);
+  }
+
+  public class WebView.PrivateAccess {
+    ctor public WebView.PrivateAccess();
+    method public void awakenScrollBars(int);
+    method public void awakenScrollBars(int, boolean);
+    method public float getHorizontalScrollFactor();
+    method public int getHorizontalScrollbarHeight();
+    method public float getVerticalScrollFactor();
+    method public void onScrollChanged(int, int, int, int);
+    method public void overScrollBy(int, int, int, int, int, int, int, int, boolean);
+    method public void setMeasuredDimension(int, int);
+    method public void setScrollXRaw(int);
+    method public void setScrollYRaw(int);
+    method public void super_computeScroll();
+    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
+    method public int super_getScrollBarStyle();
+    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
+    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
+    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
+    method public boolean super_onHoverEvent(android.view.MotionEvent);
+    method public boolean super_performAccessibilityAction(int, android.os.Bundle);
+    method public boolean super_performLongClick();
+    method public boolean super_requestFocus(int, android.graphics.Rect);
+    method public void super_scrollTo(int, int);
+    method public boolean super_setFrame(int, int, int, int);
+    method public void super_setLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public void super_startActivityForResult(android.content.Intent, int);
+  }
+
+  public final class WebViewDelegate {
+    method public void addWebViewAssetPath(android.content.Context);
+    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
+    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
+    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
+    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
+    method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
+    method public android.app.Application getApplication();
+    method public String getDataDirectorySuffix();
+    method public String getErrorString(android.content.Context, int);
+    method public int getPackageId(android.content.res.Resources, String);
+    method @NonNull public android.webkit.WebViewFactory.StartupTimestamps getStartupTimestamps();
+    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
+    method public boolean isMultiProcessEnabled();
+    method public boolean isTraceTagEnabled();
+    method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
+  }
+
+  public static interface WebViewDelegate.OnTraceEnabledChangeListener {
+    method public void onTraceEnabledChange(boolean);
+  }
+
+  public final class WebViewFactory {
+    ctor public WebViewFactory();
+    method public static android.content.pm.PackageInfo getLoadedPackageInfo();
+    method public static int loadWebViewNativeLibraryFromPackage(String, ClassLoader);
+    method public static void prepareWebViewInZygote();
+    field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
+    field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
+    field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
+    field public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE = 10; // 0xa
+    field public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY = 6; // 0x6
+    field public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE = 5; // 0x5
+    field public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO = 3; // 0x3
+    field public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN = 8; // 0x8
+    field public static final int LIBLOAD_SUCCESS = 0; // 0x0
+    field public static final int LIBLOAD_WRONG_PACKAGE_NAME = 1; // 0x1
+  }
+
+  public static class WebViewFactory.StartupTimestamps {
+    method public long getAddAssetsEnd();
+    method public long getAddAssetsStart();
+    method public long getCreateContextEnd();
+    method public long getCreateContextStart();
+    method public long getGetClassLoaderEnd();
+    method public long getGetClassLoaderStart();
+    method public long getNativeLoadEnd();
+    method public long getNativeLoadStart();
+    method public long getProviderClassForNameEnd();
+    method public long getProviderClassForNameStart();
+    method public long getWebViewLoadStart();
+  }
+
+  public interface WebViewFactoryProvider {
+    method @NonNull public default android.webkit.PacProcessor createPacProcessor();
+    method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess);
+    method public android.webkit.CookieManager getCookieManager();
+    method public android.webkit.GeolocationPermissions getGeolocationPermissions();
+    method @NonNull public default android.webkit.PacProcessor getPacProcessor();
+    method public android.webkit.ServiceWorkerController getServiceWorkerController();
+    method public android.webkit.WebViewFactoryProvider.Statics getStatics();
+    method @Deprecated public android.webkit.TokenBindingService getTokenBindingService();
+    method public android.webkit.TracingController getTracingController();
+    method public android.webkit.WebIconDatabase getWebIconDatabase();
+    method public android.webkit.WebStorage getWebStorage();
+    method public ClassLoader getWebViewClassLoader();
+    method public android.webkit.WebViewDatabase getWebViewDatabase(android.content.Context);
+  }
+
+  public static interface WebViewFactoryProvider.Statics {
+    method public void clearClientCertPreferences(Runnable);
+    method public void enableSlowWholeDocumentDraw();
+    method public String findAddress(String);
+    method public void freeMemoryForTests();
+    method public String getDefaultUserAgent(android.content.Context);
+    method @NonNull public android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
+    method public void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
+    method public android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
+    method public void setSafeBrowsingWhitelist(java.util.List<java.lang.String>, android.webkit.ValueCallback<java.lang.Boolean>);
+    method public void setWebContentsDebuggingEnabled(boolean);
+  }
+
+  public interface WebViewProvider {
+    method public void addJavascriptInterface(Object, String);
+    method public boolean canGoBack();
+    method public boolean canGoBackOrForward(int);
+    method public boolean canGoForward();
+    method public boolean canZoomIn();
+    method public boolean canZoomOut();
+    method public android.graphics.Picture capturePicture();
+    method public void clearCache(boolean);
+    method public void clearFormData();
+    method public void clearHistory();
+    method public void clearMatches();
+    method public void clearSslPreferences();
+    method public void clearView();
+    method public android.webkit.WebBackForwardList copyBackForwardList();
+    method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String);
+    method public android.webkit.WebMessagePort[] createWebMessageChannel();
+    method public void destroy();
+    method public void documentHasImages(android.os.Message);
+    method public void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
+    method public void evaluateJavaScript(String, android.webkit.ValueCallback<java.lang.String>);
+    method public int findAll(String);
+    method public void findAllAsync(String);
+    method public android.view.View findHierarchyView(String, int);
+    method public void findNext(boolean);
+    method public void flingScroll(int, int);
+    method public void freeMemory();
+    method public android.net.http.SslCertificate getCertificate();
+    method public int getContentHeight();
+    method public int getContentWidth();
+    method public android.graphics.Bitmap getFavicon();
+    method public android.webkit.WebView.HitTestResult getHitTestResult();
+    method public String[] getHttpAuthUsernamePassword(String, String);
+    method public String getOriginalUrl();
+    method public int getProgress();
+    method public boolean getRendererPriorityWaivedWhenNotVisible();
+    method public int getRendererRequestedPriority();
+    method public float getScale();
+    method public android.webkit.WebViewProvider.ScrollDelegate getScrollDelegate();
+    method public android.webkit.WebSettings getSettings();
+    method @NonNull public default android.view.textclassifier.TextClassifier getTextClassifier();
+    method public String getTitle();
+    method public String getTouchIconUrl();
+    method public String getUrl();
+    method public android.webkit.WebViewProvider.ViewDelegate getViewDelegate();
+    method public int getVisibleTitleHeight();
+    method public android.webkit.WebChromeClient getWebChromeClient();
+    method public android.webkit.WebViewClient getWebViewClient();
+    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
+    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
+    method public android.view.View getZoomControls();
+    method public void goBack();
+    method public void goBackOrForward(int);
+    method public void goForward();
+    method public void init(java.util.Map<java.lang.String,java.lang.Object>, boolean);
+    method public void insertVisualStateCallback(long, android.webkit.WebView.VisualStateCallback);
+    method public void invokeZoomPicker();
+    method public boolean isPaused();
+    method public boolean isPrivateBrowsingEnabled();
+    method public void loadData(String, String, String);
+    method public void loadDataWithBaseURL(String, String, String, String, String);
+    method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>);
+    method public void loadUrl(String);
+    method public void notifyFindDialogDismissed();
+    method public void onPause();
+    method public void onResume();
+    method public boolean overlayHorizontalScrollbar();
+    method public boolean overlayVerticalScrollbar();
+    method public boolean pageDown(boolean);
+    method public boolean pageUp(boolean);
+    method public void pauseTimers();
+    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
+    method public void postUrl(String, byte[]);
+    method public void reload();
+    method public void removeJavascriptInterface(String);
+    method public void requestFocusNodeHref(android.os.Message);
+    method public void requestImageRef(android.os.Message);
+    method public boolean restorePicture(android.os.Bundle, java.io.File);
+    method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
+    method public void resumeTimers();
+    method public void savePassword(String, String, String);
+    method public boolean savePicture(android.os.Bundle, java.io.File);
+    method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
+    method public void saveWebArchive(String);
+    method public void saveWebArchive(String, boolean, android.webkit.ValueCallback<java.lang.String>);
+    method public void setCertificate(android.net.http.SslCertificate);
+    method public void setDownloadListener(android.webkit.DownloadListener);
+    method public void setFindListener(android.webkit.WebView.FindListener);
+    method public void setHorizontalScrollbarOverlay(boolean);
+    method public void setHttpAuthUsernamePassword(String, String, String, String);
+    method public void setInitialScale(int);
+    method public void setMapTrackballToArrowKeys(boolean);
+    method public void setNetworkAvailable(boolean);
+    method public void setPictureListener(android.webkit.WebView.PictureListener);
+    method public void setRendererPriorityPolicy(int, boolean);
+    method public default void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
+    method public void setVerticalScrollbarOverlay(boolean);
+    method public void setWebChromeClient(android.webkit.WebChromeClient);
+    method public void setWebViewClient(android.webkit.WebViewClient);
+    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
+    method public boolean showFindDialog(String, boolean);
+    method public void stopLoading();
+    method public boolean zoomBy(float);
+    method public boolean zoomIn();
+    method public boolean zoomOut();
+  }
+
+  public static interface WebViewProvider.ScrollDelegate {
+    method public int computeHorizontalScrollOffset();
+    method public int computeHorizontalScrollRange();
+    method public void computeScroll();
+    method public int computeVerticalScrollExtent();
+    method public int computeVerticalScrollOffset();
+    method public int computeVerticalScrollRange();
+  }
+
+  public static interface WebViewProvider.ViewDelegate {
+    method public default void autofill(android.util.SparseArray<android.view.autofill.AutofillValue>);
+    method public default void dispatchCreateViewTranslationRequest(@NonNull java.util.Map<android.view.autofill.AutofillId,long[]>, @NonNull int[], @Nullable android.view.translation.TranslationCapability, @NonNull java.util.List<android.view.translation.ViewTranslationRequest>);
+    method public boolean dispatchKeyEvent(android.view.KeyEvent);
+    method public android.view.View findFocus(android.view.View);
+    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
+    method public android.os.Handler getHandler(android.os.Handler);
+    method public default boolean isVisibleToUserForAutofill(int);
+    method public void onActivityResult(int, int, android.content.Intent);
+    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
+    method public void onAttachedToWindow();
+    method public default boolean onCheckIsTextEditor();
+    method public void onConfigurationChanged(android.content.res.Configuration);
+    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
+    method public default void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
+    method public void onDetachedFromWindow();
+    method public boolean onDragEvent(android.view.DragEvent);
+    method public void onDraw(android.graphics.Canvas);
+    method public void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
+    method public void onFinishTemporaryDetach();
+    method public void onFocusChanged(boolean, int, android.graphics.Rect);
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public boolean onHoverEvent(android.view.MotionEvent);
+    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public void onMeasure(int, int);
+    method public default void onMovedToDisplay(int, android.content.res.Configuration);
+    method public void onOverScrolled(int, int, boolean, boolean);
+    method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
+    method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
+    method public void onProvideVirtualStructure(android.view.ViewStructure);
+    method public void onScrollChanged(int, int, int, int);
+    method public void onSizeChanged(int, int, int, int);
+    method public void onStartTemporaryDetach();
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.view.MotionEvent);
+    method public default void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
+    method public void onVisibilityChanged(android.view.View, int);
+    method public void onWindowFocusChanged(boolean);
+    method public void onWindowVisibilityChanged(int);
+    method public boolean performAccessibilityAction(int, android.os.Bundle);
+    method public boolean performLongClick();
+    method public void preDispatchDraw(android.graphics.Canvas);
+    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
+    method public boolean requestFocus(int, android.graphics.Rect);
+    method public void setBackgroundColor(int);
+    method public boolean setFrame(int, int, int, int);
+    method public void setLayerType(int, android.graphics.Paint);
+    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public void setOverScrollMode(int);
+    method public void setScrollBarStyle(int);
+    method public boolean shouldDelayChildPressedState();
+  }
+
+  public final class WebViewProviderInfo implements android.os.Parcelable {
+    ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
+    field public final boolean availableByDefault;
+    field public final String description;
+    field public final boolean isFallback;
+    field public final String packageName;
+    field public final android.content.pm.Signature[] signatures;
+  }
+
+  public final class WebViewUpdateService {
+    method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
+    method public static String getCurrentWebViewPackageName();
+    method public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
+  }
+
+}
+
diff --git a/32/system/api/android.net.ipsec.ike-removed.txt b/32/system/api/android.net.ipsec.ike-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/android.net.ipsec.ike-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/android.net.ipsec.ike.txt b/32/system/api/android.net.ipsec.ike.txt
new file mode 100644
index 0000000..d2ffd43
--- /dev/null
+++ b/32/system/api/android.net.ipsec.ike.txt
@@ -0,0 +1,153 @@
+// Signature format: 2.0
+package android.net.eap {
+
+  public final class EapSessionConfig {
+    method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig();
+  }
+
+  @Deprecated public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
+    method @Deprecated public int getAppType();
+    method @Deprecated public int getSubId();
+  }
+
+}
+
+package android.net.ipsec.ike {
+
+  public interface ChildSessionCallback {
+    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
+    method public default void onIpSecTransformsMigrated(@NonNull android.net.IpSecTransform, @NonNull android.net.IpSecTransform);
+  }
+
+  public final class ChildSessionConfiguration {
+    method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses();
+    method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers();
+    method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers();
+    method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets();
+  }
+
+  public static final class ChildSessionConfiguration.Builder {
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalAddress(@NonNull android.net.LinkAddress);
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDhcpServer(@NonNull java.net.InetAddress);
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDnsServer(@NonNull java.net.InetAddress);
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalSubnet(@NonNull android.net.IpPrefix);
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalAddresses();
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDhcpServers();
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDnsServers();
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalSubnets();
+  }
+
+  public abstract class ChildSessionParams {
+    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals();
+  }
+
+  public final class IkeSession implements java.lang.AutoCloseable {
+    method public void setNetwork(@NonNull android.net.Network);
+  }
+
+  public interface IkeSessionCallback {
+    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
+    method @Deprecated public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException);
+    method public default void onIkeSessionConnectionInfoChanged(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
+  }
+
+  public final class IkeSessionConfiguration {
+    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
+  }
+
+  public static final class IkeSessionConfiguration.Builder {
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addPcscfServer(@NonNull java.net.InetAddress);
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearPcscfServers();
+  }
+
+  public final class IkeSessionParams {
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest> getConfigurationRequests();
+    method @IntRange(from=0x0, to=0x3f) public int getDscp();
+    method @Nullable public android.net.ipsec.ike.ike3gpp.Ike3gppExtension getIke3gppExtension();
+    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals();
+  }
+
+  public static final class IkeSessionParams.Builder {
+    ctor @Deprecated public IkeSessionParams.Builder(@NonNull android.content.Context);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(@NonNull java.net.InetAddress);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(int);
+    method @Deprecated @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDscp(@IntRange(from=0x0, to=0x3f) int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setIke3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension);
+  }
+
+  public static interface IkeSessionParams.ConfigRequestIpv4PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
+    method @Nullable public java.net.Inet4Address getAddress();
+  }
+
+  public static interface IkeSessionParams.ConfigRequestIpv6PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
+    method @Nullable public java.net.Inet6Address getAddress();
+  }
+
+  public static interface IkeSessionParams.IkeConfigRequest {
+  }
+
+  public static final class TransportModeChildSessionParams.Builder {
+    method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
+  }
+
+  public static final class TunnelModeChildSessionParams.Builder {
+    method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
+  }
+
+}
+
+package android.net.ipsec.ike.exceptions {
+
+  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
+    method @Nullable public byte[] getErrorData();
+  }
+
+}
+
+package android.net.ipsec.ike.ike3gpp {
+
+  public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
+    ctor public Ike3gppBackoffTimer(byte, int);
+    method public int getBackoffCause();
+    method public byte getBackoffTimer();
+    method public int getDataType();
+    field public static final int ERROR_TYPE_NETWORK_FAILURE = 10500; // 0x2904
+    field public static final int ERROR_TYPE_NO_APN_SUBSCRIPTION = 9002; // 0x232a
+  }
+
+  public abstract class Ike3gppData {
+    method public abstract int getDataType();
+    field public static final int DATA_TYPE_NOTIFY_BACKOFF_TIMER = 2; // 0x2
+    field public static final int DATA_TYPE_NOTIFY_N1_MODE_INFORMATION = 1; // 0x1
+  }
+
+  public final class Ike3gppExtension {
+    ctor public Ike3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppParams, @NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener);
+    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener getIke3gppDataListener();
+    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams getIke3gppParams();
+  }
+
+  public static interface Ike3gppExtension.Ike3gppDataListener {
+    method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>);
+  }
+
+  public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
+    ctor public Ike3gppN1ModeInformation(@NonNull byte[]);
+    method public int getDataType();
+    method @NonNull public byte[] getSnssai();
+  }
+
+  public final class Ike3gppParams {
+    method public byte getPduSessionId();
+    field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0
+  }
+
+  public static final class Ike3gppParams.Builder {
+    ctor public Ike3gppParams.Builder();
+    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams build();
+    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setPduSessionId(byte);
+  }
+
+}
+
diff --git a/32/system/api/android.test.base-removed.txt b/32/system/api/android.test.base-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/android.test.base-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/android.test.base.txt b/32/system/api/android.test.base.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/android.test.base.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/android.test.mock-removed.txt b/32/system/api/android.test.mock-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/android.test.mock-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/android.test.mock.txt b/32/system/api/android.test.mock.txt
new file mode 100644
index 0000000..f87785b
--- /dev/null
+++ b/32/system/api/android.test.mock.txt
@@ -0,0 +1,41 @@
+// Signature format: 2.0
+package android.test.mock {
+
+  public class MockContext extends android.content.Context {
+    method public android.content.Context createCredentialProtectedStorageContext();
+    method public java.io.File getPreloadsFileCache();
+    method public boolean isCredentialProtectedStorage();
+    method public void sendBroadcast(android.content.Intent, String, android.os.Bundle);
+    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, String, android.os.Bundle);
+    method public void sendOrderedBroadcast(android.content.Intent, String, android.os.Bundle, android.content.BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle);
+  }
+
+  @Deprecated public class MockPackageManager extends android.content.pm.PackageManager {
+    method public void addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener);
+    method public boolean arePermissionsIndividuallyControlled();
+    method @Deprecated public java.util.List<android.content.IntentFilter> getAllIntentFilters(String);
+    method public String getDefaultBrowserPackageNameAsUser(int);
+    method public java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
+    method public android.graphics.drawable.Drawable getInstantAppIcon(String);
+    method public android.content.ComponentName getInstantAppInstallerComponent();
+    method public android.content.ComponentName getInstantAppResolverSettingsComponent();
+    method public java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
+    method public java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(String);
+    method public int getIntentVerificationStatusAsUser(String, int);
+    method public int getPermissionFlags(String, String, android.os.UserHandle);
+    method public void grantRuntimePermission(String, String, android.os.UserHandle);
+    method public int installExistingPackage(String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public int installExistingPackage(String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public void registerDexModule(String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
+    method public void removeOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener);
+    method public void revokeRuntimePermission(String, String, android.os.UserHandle);
+    method public boolean setDefaultBrowserPackageNameAsUser(String, int);
+    method public String[] setPackagesSuspended(String[], boolean, android.os.PersistableBundle, android.os.PersistableBundle, String);
+    method public void setUpdateAvailable(String, boolean);
+    method public boolean updateIntentVerificationStatusAsUser(String, int, int);
+    method public void updatePermissionFlags(String, String, int, int, android.os.UserHandle);
+    method public void verifyIntentFilter(int, int, java.util.List<java.lang.String>);
+  }
+
+}
+
diff --git a/32/system/api/android.test.runner-removed.txt b/32/system/api/android.test.runner-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/android.test.runner-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/android.test.runner.txt b/32/system/api/android.test.runner.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/android.test.runner.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/android.txt b/32/system/api/android.txt
new file mode 100644
index 0000000..034f25d
--- /dev/null
+++ b/32/system/api/android.txt
@@ -0,0 +1,17203 @@
+// Signature format: 2.0
+package android {
+
+  public static final class Manifest.permission {
+    field public static final String ACCESS_AMBIENT_LIGHT_STATS = "android.permission.ACCESS_AMBIENT_LIGHT_STATS";
+    field public static final String ACCESS_BROADCAST_RADIO = "android.permission.ACCESS_BROADCAST_RADIO";
+    field public static final String ACCESS_CACHE_FILESYSTEM = "android.permission.ACCESS_CACHE_FILESYSTEM";
+    field public static final String ACCESS_CONTEXT_HUB = "android.permission.ACCESS_CONTEXT_HUB";
+    field public static final String ACCESS_DRM_CERTIFICATES = "android.permission.ACCESS_DRM_CERTIFICATES";
+    field @Deprecated public static final String ACCESS_FM_RADIO = "android.permission.ACCESS_FM_RADIO";
+    field public static final String ACCESS_INSTANT_APPS = "android.permission.ACCESS_INSTANT_APPS";
+    field public static final String ACCESS_LOCUS_ID_USAGE_STATS = "android.permission.ACCESS_LOCUS_ID_USAGE_STATS";
+    field public static final String ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION";
+    field public static final String ACCESS_MTP = "android.permission.ACCESS_MTP";
+    field public static final String ACCESS_NETWORK_CONDITIONS = "android.permission.ACCESS_NETWORK_CONDITIONS";
+    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
+    field public static final String ACCESS_RCS_USER_CAPABILITY_EXCHANGE = "android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE";
+    field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
+    field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
+    field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
+    field public static final String ACCESS_TUNED_INFO = "android.permission.ACCESS_TUNED_INFO";
+    field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
+    field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER";
+    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
+    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
+    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
+    field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
+    field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
+    field public static final String ALLOW_PLACE_IN_MULTI_PANE_SETTINGS = "android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS";
+    field public static final String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
+    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
+    field public static final String ASSOCIATE_COMPANION_DEVICES = "android.permission.ASSOCIATE_COMPANION_DEVICES";
+    field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA";
+    field public static final String BACKUP = "android.permission.BACKUP";
+    field public static final String BATTERY_PREDICTION = "android.permission.BATTERY_PREDICTION";
+    field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE";
+    field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
+    field public static final String BIND_CALL_DIAGNOSTIC_SERVICE = "android.permission.BIND_CALL_DIAGNOSTIC_SERVICE";
+    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
+    field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
+    field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
+    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
+    field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
+    field public static final String BIND_DISPLAY_HASHING_SERVICE = "android.permission.BIND_DISPLAY_HASHING_SERVICE";
+    field public static final String BIND_DOMAIN_VERIFICATION_AGENT = "android.permission.BIND_DOMAIN_VERIFICATION_AGENT";
+    field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
+    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
+    field public static final String BIND_GBA_SERVICE = "android.permission.BIND_GBA_SERVICE";
+    field public static final String BIND_HOTWORD_DETECTION_SERVICE = "android.permission.BIND_HOTWORD_DETECTION_SERVICE";
+    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
+    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
+    field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE";
+    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
+    field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE";
+    field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE";
+    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
+    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
+    field public static final String BIND_RESUME_ON_REBOOT_SERVICE = "android.permission.BIND_RESUME_ON_REBOOT_SERVICE";
+    field public static final String BIND_ROTATION_RESOLVER_SERVICE = "android.permission.BIND_ROTATION_RESOLVER_SERVICE";
+    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
+    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
+    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
+    field public static final String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
+    field public static final String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
+    field public static final String BIND_TEXTCLASSIFIER_SERVICE = "android.permission.BIND_TEXTCLASSIFIER_SERVICE";
+    field public static final String BIND_TIME_ZONE_PROVIDER_SERVICE = "android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE";
+    field public static final String BIND_TRANSLATION_SERVICE = "android.permission.BIND_TRANSLATION_SERVICE";
+    field public static final String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
+    field public static final String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
+    field public static final String BRICK = "android.permission.BRICK";
+    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
+    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
+    field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED";
+    field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION";
+    field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED";
+    field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER";
+    field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD";
+    field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT";
+    field public static final String CAPTURE_TUNER_AUDIO_INPUT = "android.permission.CAPTURE_TUNER_AUDIO_INPUT";
+    field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT";
+    field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT";
+    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
+    field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST";
+    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
+    field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS";
+    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
+    field public static final String CONFIGURE_WIFI_DISPLAY = "android.permission.CONFIGURE_WIFI_DISPLAY";
+    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
+    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
+    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
+    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
+    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
+    field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE";
+    field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS";
+    field public static final String CONTROL_OEM_PAID_NETWORK_PREFERENCE = "android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE";
+    field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN";
+    field public static final String CREATE_USERS = "android.permission.CREATE_USERS";
+    field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER";
+    field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER";
+    field public static final String DISABLE_SYSTEM_SOUND_EFFECTS = "android.permission.DISABLE_SYSTEM_SOUND_EFFECTS";
+    field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE";
+    field public static final String DOMAIN_VERIFICATION_AGENT = "android.permission.DOMAIN_VERIFICATION_AGENT";
+    field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED";
+    field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS";
+    field public static final String FORCE_BACK = "android.permission.FORCE_BACK";
+    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
+    field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
+    field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE";
+    field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS";
+    field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO";
+    field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS";
+    field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS";
+    field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS";
+    field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES";
+    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
+    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
+    field @Deprecated public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
+    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
+    field public static final String INSTALL_DYNAMIC_SYSTEM = "android.permission.INSTALL_DYNAMIC_SYSTEM";
+    field public static final String INSTALL_GRANT_RUNTIME_PERMISSIONS = "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS";
+    field public static final String INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE = "android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE";
+    field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES";
+    field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES";
+    field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
+    field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
+    field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
+    field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
+    field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP";
+    field public static final String KILL_UID = "android.permission.KILL_UID";
+    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
+    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
+    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
+    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
+    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
+    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
+    field public static final String MANAGE_APP_HIBERNATION = "android.permission.MANAGE_APP_HIBERNATION";
+    field public static final String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
+    field public static final String MANAGE_APP_PREDICTIONS = "android.permission.MANAGE_APP_PREDICTIONS";
+    field public static final String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
+    field public static final String MANAGE_AUTO_FILL = "android.permission.MANAGE_AUTO_FILL";
+    field public static final String MANAGE_CARRIER_OEM_UNLOCK_STATE = "android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE";
+    field public static final String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
+    field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE";
+    field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS";
+    field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING";
+    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
+    field public static final String MANAGE_HOTWORD_DETECTION = "android.permission.MANAGE_HOTWORD_DETECTION";
+    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
+    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
+    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
+    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
+    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
+    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
+    field public static final String MANAGE_ROTATION_RESOLVER = "android.permission.MANAGE_ROTATION_RESOLVER";
+    field public static final String MANAGE_SEARCH_UI = "android.permission.MANAGE_SEARCH_UI";
+    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
+    field public static final String MANAGE_SMARTSPACE = "android.permission.MANAGE_SMARTSPACE";
+    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
+    field public static final String MANAGE_SPEECH_RECOGNITION = "android.permission.MANAGE_SPEECH_RECOGNITION";
+    field public static final String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
+    field public static final String MANAGE_TEST_NETWORKS = "android.permission.MANAGE_TEST_NETWORKS";
+    field public static final String MANAGE_TIME_AND_ZONE_DETECTION = "android.permission.MANAGE_TIME_AND_ZONE_DETECTION";
+    field public static final String MANAGE_UI_TRANSLATION = "android.permission.MANAGE_UI_TRANSLATION";
+    field public static final String MANAGE_USB = "android.permission.MANAGE_USB";
+    field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS";
+    field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE";
+    field public static final String MANAGE_WIFI_COUNTRY_CODE = "android.permission.MANAGE_WIFI_COUNTRY_CODE";
+    field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS";
+    field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING";
+    field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS";
+    field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE";
+    field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING";
+    field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS";
+    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
+    field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE";
+    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
+    field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE";
+    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
+    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
+    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
+    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
+    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
+    field public static final String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD";
+    field public static final String NETWORK_SIGNAL_STRENGTH_WAKEUP = "android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP";
+    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
+    field public static final String NETWORK_STATS_PROVIDER = "android.permission.NETWORK_STATS_PROVIDER";
+    field public static final String NFC_SET_CONTROLLER_ALWAYS_ON = "android.permission.NFC_SET_CONTROLLER_ALWAYS_ON";
+    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
+    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
+    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
+    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
+    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
+    field public static final String OBSERVE_SENSOR_PRIVACY = "android.permission.OBSERVE_SENSOR_PRIVACY";
+    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
+    field public static final String OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD = "android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD";
+    field public static final String OVERRIDE_WIFI_CONFIG = "android.permission.OVERRIDE_WIFI_CONFIG";
+    field public static final String PACKAGE_VERIFICATION_AGENT = "android.permission.PACKAGE_VERIFICATION_AGENT";
+    field public static final String PACKET_KEEPALIVE_OFFLOAD = "android.permission.PACKET_KEEPALIVE_OFFLOAD";
+    field public static final String PEERS_MAC_ADDRESS = "android.permission.PEERS_MAC_ADDRESS";
+    field public static final String PERFORM_CDMA_PROVISIONING = "android.permission.PERFORM_CDMA_PROVISIONING";
+    field public static final String PERFORM_IMS_SINGLE_REGISTRATION = "android.permission.PERFORM_IMS_SINGLE_REGISTRATION";
+    field public static final String PERFORM_SIM_ACTIVATION = "android.permission.PERFORM_SIM_ACTIVATION";
+    field public static final String POWER_SAVER = "android.permission.POWER_SAVER";
+    field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
+    field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT";
+    field public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES";
+    field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION";
+    field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION";
+    field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO";
+    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
+    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
+    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
+    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
+    field public static final String READ_GLOBAL_APP_SEARCH_DATA = "android.permission.READ_GLOBAL_APP_SEARCH_DATA";
+    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
+    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
+    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
+    field public static final String READ_PEOPLE_DATA = "android.permission.READ_PEOPLE_DATA";
+    field public static final String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES";
+    field public static final String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS";
+    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
+    field public static final String READ_PROJECTION_STATE = "android.permission.READ_PROJECTION_STATE";
+    field public static final String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES";
+    field public static final String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES";
+    field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO";
+    field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
+    field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
+    field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS";
+    field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE";
+    field public static final String RECEIVE_DEVICE_CUSTOMIZATION_READY = "android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY";
+    field public static final String RECEIVE_EMERGENCY_BROADCAST = "android.permission.RECEIVE_EMERGENCY_BROADCAST";
+    field public static final String RECEIVE_WIFI_CREDENTIAL_CHANGE = "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE";
+    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
+    field public static final String RECOVERY = "android.permission.RECOVERY";
+    field public static final String RECOVER_KEYSTORE = "android.permission.RECOVER_KEYSTORE";
+    field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER";
+    field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
+    field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
+    field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM";
+    field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
+    field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
+    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
+    field public static final String RENOUNCE_PERMISSIONS = "android.permission.RENOUNCE_PERMISSIONS";
+    field public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
+    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
+    field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
+    field public static final String RESTART_WIFI_SUBSYSTEM = "android.permission.RESTART_WIFI_SUBSYSTEM";
+    field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
+    field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
+    field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
+    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
+    field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
+    field public static final String ROTATE_SURFACE_FLINGER = "android.permission.ROTATE_SURFACE_FLINGER";
+    field public static final String SCHEDULE_PRIORITIZED_ALARM = "android.permission.SCHEDULE_PRIORITIZED_ALARM";
+    field public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
+    field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
+    field public static final String SEND_CATEGORY_CAR_NOTIFICATIONS = "android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS";
+    field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
+    field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
+    field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
+    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
+    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
+    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
+    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
+    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
+    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
+    field public static final String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
+    field public static final String SET_SCREEN_COMPATIBILITY = "android.permission.SET_SCREEN_COMPATIBILITY";
+    field public static final String SET_VOLUME_KEY_LONG_PRESS_LISTENER = "android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER";
+    field public static final String SET_WALLPAPER_COMPONENT = "android.permission.SET_WALLPAPER_COMPONENT";
+    field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE";
+    field public static final String SHUTDOWN = "android.permission.SHUTDOWN";
+    field public static final String SIGNAL_REBOOT_READINESS = "android.permission.SIGNAL_REBOOT_READINESS";
+    field public static final String SOUND_TRIGGER_RUN_IN_BATTERY_SAVER = "android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER";
+    field public static final String START_ACTIVITIES_FROM_BACKGROUND = "android.permission.START_ACTIVITIES_FROM_BACKGROUND";
+    field public static final String STATUS_BAR_SERVICE = "android.permission.STATUS_BAR_SERVICE";
+    field public static final String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES";
+    field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME";
+    field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON";
+    field public static final String SUGGEST_EXTERNAL_TIME = "android.permission.SUGGEST_EXTERNAL_TIME";
+    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
+    field public static final String SYSTEM_APPLICATION_OVERLAY = "android.permission.SYSTEM_APPLICATION_OVERLAY";
+    field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA";
+    field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED";
+    field public static final String TOGGLE_AUTOMOTIVE_PROJECTION = "android.permission.TOGGLE_AUTOMOTIVE_PROJECTION";
+    field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE";
+    field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER";
+    field public static final String UNLIMITED_SHORTCUTS_API_CALLS = "android.permission.UNLIMITED_SHORTCUTS_API_CALLS";
+    field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS";
+    field public static final String UPDATE_DOMAIN_VERIFICATION_USER_SELECTION = "android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION";
+    field public static final String UPDATE_FONTS = "android.permission.UPDATE_FONTS";
+    field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
+    field public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES";
+    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
+    field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
+    field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK";
+    field public static final String UWB_PRIVILEGED = "android.permission.UWB_PRIVILEGED";
+    field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS";
+    field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS";
+    field public static final String WIFI_ACCESS_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS";
+    field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE";
+    field public static final String WIFI_UPDATE_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS";
+    field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE";
+    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
+    field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE";
+    field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS";
+    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
+    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
+  }
+
+  public static final class Manifest.permission_group {
+    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
+  }
+
+  public static final class R.array {
+    field public static final int config_keySystemUuidMapping = 17235973; // 0x1070005
+  }
+
+  public static final class R.attr {
+    field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600
+    field public static final int hotwordDetectionService = 16844326; // 0x1010626
+    field public static final int isVrOnly = 16844152; // 0x1010578
+    field public static final int minExtensionVersion = 16844305; // 0x1010611
+    field public static final int playHomeTransitionSound = 16844358; // 0x1010646
+    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
+    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
+    field public static final int sdkVersion = 16844304; // 0x1010610
+    field public static final int supportsAmbientMode = 16844173; // 0x101058d
+    field public static final int userRestriction = 16844164; // 0x1010584
+  }
+
+  public static final class R.bool {
+    field public static final int config_sendPackageName = 17891328; // 0x1110000
+    field public static final int config_showDefaultAssistant = 17891329; // 0x1110001
+    field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
+    field public static final int config_showDefaultHome = 17891331; // 0x1110003
+  }
+
+  public static final class R.color {
+    field public static final int system_notification_accent_color = 17170460; // 0x106001c
+  }
+
+  public static final class R.dimen {
+    field public static final int config_restrictedIconSize = 17104903; // 0x1050007
+  }
+
+  public static final class R.drawable {
+    field public static final int ic_info = 17301684; // 0x10800b4
+  }
+
+  public static final class R.raw {
+    field public static final int loaderror = 17825792; // 0x1100000
+    field public static final int nodomain = 17825793; // 0x1100001
+  }
+
+  public static final class R.string {
+    field public static final int config_customMediaKeyDispatcher = 17039404; // 0x104002c
+    field public static final int config_customMediaSessionPolicyProvider = 17039405; // 0x104002d
+    field public static final int config_defaultAssistant = 17039393; // 0x1040021
+    field public static final int config_defaultBrowser = 17039394; // 0x1040022
+    field public static final int config_defaultCallRedirection = 17039397; // 0x1040025
+    field public static final int config_defaultCallScreening = 17039398; // 0x1040026
+    field public static final int config_defaultDialer = 17039395; // 0x1040023
+    field public static final int config_defaultSms = 17039396; // 0x1040024
+    field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f
+    field public static final int config_feedbackIntentNameKey = 17039392; // 0x1040020
+    field public static final int config_helpIntentExtraKey = 17039389; // 0x104001d
+    field public static final int config_helpIntentNameKey = 17039390; // 0x104001e
+    field public static final int config_helpPackageNameKey = 17039387; // 0x104001b
+    field public static final int config_helpPackageNameValue = 17039388; // 0x104001c
+    field public static final int config_systemActivityRecognizer = 17039416; // 0x1040038
+    field public static final int config_systemAmbientAudioIntelligence = 17039411; // 0x1040033
+    field public static final int config_systemAudioIntelligence = 17039412; // 0x1040034
+    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
+    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
+    field public static final int config_systemCompanionDeviceProvider = 17039417; // 0x1040039
+    field public static final int config_systemContacts = 17039403; // 0x104002b
+    field public static final int config_systemGallery = 17039399; // 0x1040027
+    field public static final int config_systemNotificationIntelligence = 17039413; // 0x1040035
+    field public static final int config_systemShell = 17039402; // 0x104002a
+    field public static final int config_systemSpeechRecognizer = 17039406; // 0x104002e
+    field public static final int config_systemTelevisionNotificationHandler = 17039409; // 0x1040031
+    field public static final int config_systemTextIntelligence = 17039414; // 0x1040036
+    field public static final int config_systemUi = 17039418; // 0x104003a
+    field public static final int config_systemUiIntelligence = 17039410; // 0x1040032
+    field public static final int config_systemVisualIntelligence = 17039415; // 0x1040037
+    field public static final int config_systemWellbeing = 17039408; // 0x1040030
+    field public static final int config_systemWifiCoexManager = 17039407; // 0x104002f
+  }
+
+  public static final class R.style {
+    field public static final int Theme_DeviceDefault_DocumentsUI = 16974562; // 0x10302e2
+    field public static final int Theme_Leanback_FormWizard = 16974544; // 0x10302d0
+  }
+
+}
+
+package android.accounts {
+
+  public class AccountManager {
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.accounts.AccountManagerFuture<android.os.Bundle> finishSessionAsUser(android.os.Bundle, android.app.Activity, android.os.UserHandle, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
+  }
+
+}
+
+package android.app {
+
+  @UiContext public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
+    method public void convertFromTranslucent();
+    method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
+    method @Deprecated public boolean isBackgroundVisibleBehind();
+    method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
+  }
+
+  public static interface Activity.TranslucentConversionListener {
+    method public void onTranslucentConversionComplete(boolean);
+  }
+
+  public class ActivityManager {
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
+    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
+    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
+    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
+    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String);
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener);
+    method public void setDeviceLocales(@NonNull android.os.LocaleList);
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public static void setPersistentVrThread(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean startProfile(@NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean stopProfile(@NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean switchUser(@NonNull android.os.UserHandle);
+  }
+
+  public static interface ActivityManager.OnUidImportanceListener {
+    method public void onUidImportance(int, int);
+  }
+
+  public class ActivityOptions {
+    method public int getLaunchTaskId();
+    method @RequiresPermission("android.permission.START_TASKS_FROM_RECENTS") public void setLaunchTaskId(int);
+  }
+
+  public class AlarmManager {
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, android.app.PendingIntent, android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, android.app.AlarmManager.OnAlarmListener, android.os.Handler, android.os.WorkSource);
+    method @RequiresPermission(allOf={android.Manifest.permission.UPDATE_DEVICE_STATS, android.Manifest.permission.SCHEDULE_EXACT_ALARM}, conditional=true) public void setExact(int, long, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.os.WorkSource, @NonNull android.app.AlarmManager.OnAlarmListener);
+    method @RequiresPermission(android.Manifest.permission.SCHEDULE_PRIORITIZED_ALARM) public void setPrioritized(int, long, long, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.app.AlarmManager.OnAlarmListener);
+  }
+
+  public class AppOpsManager {
+    method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage();
+    method @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public void getHistoricalOps(@NonNull android.app.AppOpsManager.HistoricalOpsRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.AppOpsManager.HistoricalOps>);
+    method public static String[] getOpStrs();
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable java.lang.String...);
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
+    method public static int opToDefaultMode(@NonNull String);
+    method @Nullable public static String opToPermission(@NonNull String);
+    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int);
+    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
+    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
+    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
+    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
+    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
+    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
+    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
+    field public static final String OPSTR_ACTIVATE_PLATFORM_VPN = "android:activate_platform_vpn";
+    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
+    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
+    field public static final String OPSTR_ASSIST_STRUCTURE = "android:assist_structure";
+    field public static final String OPSTR_AUDIO_ACCESSIBILITY_VOLUME = "android:audio_accessibility_volume";
+    field public static final String OPSTR_AUDIO_ALARM_VOLUME = "android:audio_alarm_volume";
+    field public static final String OPSTR_AUDIO_BLUETOOTH_VOLUME = "android:audio_bluetooth_volume";
+    field public static final String OPSTR_AUDIO_MASTER_VOLUME = "android:audio_master_volume";
+    field public static final String OPSTR_AUDIO_MEDIA_VOLUME = "android:audio_media_volume";
+    field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume";
+    field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume";
+    field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume";
+    field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer";
+    field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused";
+    field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service";
+    field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
+    field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts";
+    field public static final String OPSTR_GPS = "android:gps";
+    field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground";
+    field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles";
+    field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage";
+    field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats";
+    field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage";
+    field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels";
+    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
+    field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone";
+    field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells";
+    field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera";
+    field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone";
+    field public static final String OPSTR_PLAY_AUDIO = "android:play_audio";
+    field public static final String OPSTR_POST_NOTIFICATION = "android:post_notification";
+    field public static final String OPSTR_PROJECT_MEDIA = "android:project_media";
+    field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard";
+    field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms";
+    field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio";
+    field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images";
+    field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video";
+    field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast";
+    field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages";
+    field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages";
+    field public static final String OPSTR_RUN_ANY_IN_BACKGROUND = "android:run_any_in_background";
+    field public static final String OPSTR_RUN_IN_BACKGROUND = "android:run_in_background";
+    field public static final String OPSTR_START_FOREGROUND = "android:start_foreground";
+    field public static final String OPSTR_TAKE_AUDIO_FOCUS = "android:take_audio_focus";
+    field public static final String OPSTR_TAKE_MEDIA_BUTTONS = "android:take_media_buttons";
+    field public static final String OPSTR_TOAST_WINDOW = "android:toast_window";
+    field public static final String OPSTR_TURN_SCREEN_ON = "android:turn_screen_on";
+    field public static final String OPSTR_VIBRATE = "android:vibrate";
+    field public static final String OPSTR_WAKE_LOCK = "android:wake_lock";
+    field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan";
+    field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard";
+    field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms";
+    field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio";
+    field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images";
+    field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video";
+    field public static final String OPSTR_WRITE_SMS = "android:write_sms";
+    field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper";
+    field public static final int OP_FLAGS_ALL = 31; // 0x1f
+    field public static final int OP_FLAGS_ALL_TRUSTED = 13; // 0xd
+    field public static final int OP_FLAG_SELF = 1; // 0x1
+    field public static final int OP_FLAG_TRUSTED_PROXIED = 8; // 0x8
+    field public static final int OP_FLAG_TRUSTED_PROXY = 2; // 0x2
+    field public static final int OP_FLAG_UNTRUSTED_PROXIED = 16; // 0x10
+    field public static final int OP_FLAG_UNTRUSTED_PROXY = 4; // 0x4
+    field public static final int UID_STATE_BACKGROUND = 600; // 0x258
+    field public static final int UID_STATE_CACHED = 700; // 0x2bc
+    field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4
+    field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190
+    field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c
+    field public static final int UID_STATE_PERSISTENT = 100; // 0x64
+    field public static final int UID_STATE_TOP = 200; // 0xc8
+  }
+
+  public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
+    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getOpCount();
+    method @Nullable public String getTag();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR;
+  }
+
+  public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getLastAccessBackgroundTime(int);
+    method public long getLastAccessForegroundTime(int);
+    method public long getLastAccessTime(int);
+    method public long getLastAccessTime(int, int, int);
+    method public long getLastBackgroundDuration(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
+    method public long getLastDuration(int);
+    method public long getLastDuration(int, int, int);
+    method public long getLastForegroundDuration(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
+    method public long getLastRejectBackgroundTime(int);
+    method public long getLastRejectForegroundTime(int);
+    method public long getLastRejectTime(int);
+    method public long getLastRejectTime(int, int, int);
+    method public boolean isRunning();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR;
+  }
+
+  public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getAccessCount(int, int, int);
+    method public long getAccessDuration(int, int, int);
+    method public long getBackgroundAccessCount(int);
+    method public long getBackgroundAccessDuration(int);
+    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getBackgroundDiscreteAccesses(int);
+    method public long getBackgroundRejectCount(int);
+    method @NonNull public android.app.AppOpsManager.AttributedOpEntry getDiscreteAccessAt(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getDiscreteAccessCount();
+    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getDiscreteAccesses(int, int, int);
+    method public long getForegroundAccessCount(int);
+    method public long getForegroundAccessDuration(int);
+    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getForegroundDiscreteAccesses(int);
+    method public long getForegroundRejectCount(int);
+    method @NonNull public String getOpName();
+    method public long getRejectCount(int, int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
+  }
+
+  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getBeginTimeMillis();
+    method public long getEndTimeMillis();
+    method @IntRange(from=0) public int getUidCount();
+    method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
+    method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
+  }
+
+  public static final class AppOpsManager.HistoricalOpsRequest {
+  }
+
+  public static final class AppOpsManager.HistoricalOpsRequest.Builder {
+    ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build();
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setHistoryFlags(int);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String);
+    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setUid(int);
+  }
+
+  public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@Nullable String);
+    method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getAttributedOpsCount();
+    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
+    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
+    method @IntRange(from=0) public int getOpCount();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
+  }
+
+  public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0) public int getPackageCount();
+    method @Nullable public android.app.AppOpsManager.HistoricalPackageOps getPackageOps(@NonNull String);
+    method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(@IntRange(from=0) int);
+    method public int getUid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
+  }
+
+  public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries();
+    method @Deprecated public long getDuration();
+    method public long getLastAccessBackgroundTime(int);
+    method public long getLastAccessForegroundTime(int);
+    method public long getLastAccessTime(int);
+    method public long getLastAccessTime(int, int, int);
+    method public long getLastBackgroundDuration(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
+    method public long getLastDuration(int);
+    method public long getLastDuration(int, int, int);
+    method public long getLastForegroundDuration(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
+    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
+    method public long getLastRejectBackgroundTime(int);
+    method public long getLastRejectForegroundTime(int);
+    method public long getLastRejectTime(int);
+    method public long getLastRejectTime(int, int, int);
+    method public int getMode();
+    method @NonNull public String getOpStr();
+    method @Deprecated @Nullable public String getProxyPackageName();
+    method @Deprecated @Nullable public String getProxyPackageName(int, int);
+    method @Deprecated public int getProxyUid();
+    method @Deprecated public int getProxyUid(int, int);
+    method public boolean isRunning();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
+  }
+
+  public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getAttributionTag();
+    method @Nullable public String getPackageName();
+    method @IntRange(from=0) public int getUid();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR;
+  }
+
+  public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
+    method @NonNull public String getPackageName();
+    method public int getUid();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
+  }
+
+  public class BroadcastOptions {
+    method public static android.app.BroadcastOptions makeBasic();
+    method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean);
+    method public void setDontSendToRestrictedApps(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST, android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND, android.Manifest.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND}) public void setTemporaryAppAllowlist(long, int, int, @Nullable String);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST, android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND, android.Manifest.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND}) public void setTemporaryAppWhitelistDuration(long);
+    method public android.os.Bundle toBundle();
+  }
+
+  public class DownloadManager {
+    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>);
+    field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED";
+  }
+
+  public abstract class InstantAppResolverService extends android.app.Service {
+    ctor public InstantAppResolverService();
+    method public final void attachBaseContext(android.content.Context);
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+    method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
+  }
+
+  public static final class InstantAppResolverService.InstantAppResolutionCallback {
+    method public void onInstantAppResolveInfo(java.util.List<android.content.pm.InstantAppResolveInfo>);
+  }
+
+  public class KeyguardManager {
+    method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence);
+    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed();
+    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int);
+    method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
+    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean);
+    field public static final int PASSWORD = 0; // 0x0
+    field public static final int PATTERN = 2; // 0x2
+    field public static final int PIN = 1; // 0x1
+  }
+
+  public class Notification implements android.os.Parcelable {
+    field public static final String CATEGORY_CAR_EMERGENCY = "car_emergency";
+    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
+    field public static final String CATEGORY_CAR_WARNING = "car_warning";
+    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
+    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
+    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
+  }
+
+  public static class Notification.Action implements android.os.Parcelable {
+    field public static final int SEMANTIC_ACTION_CONVERSATION_IS_PHISHING = 12; // 0xc
+    field public static final int SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY = 11; // 0xb
+  }
+
+  public static final class Notification.TvExtender implements android.app.Notification.Extender {
+    ctor public Notification.TvExtender();
+    ctor public Notification.TvExtender(android.app.Notification);
+    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
+    method public String getChannelId();
+    method public android.app.PendingIntent getContentIntent();
+    method public android.app.PendingIntent getDeleteIntent();
+    method public boolean getSuppressShowOverApps();
+    method public boolean isAvailableOnTv();
+    method public android.app.Notification.TvExtender setChannel(String);
+    method public android.app.Notification.TvExtender setChannelId(String);
+    method public android.app.Notification.TvExtender setContentIntent(android.app.PendingIntent);
+    method public android.app.Notification.TvExtender setDeleteIntent(android.app.PendingIntent);
+    method public android.app.Notification.TvExtender setSuppressShowOverApps(boolean);
+  }
+
+  public final class NotificationChannel implements android.os.Parcelable {
+    method public int getUserLockedFields();
+    method public boolean isDeleted();
+    method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
+    method public void setBlockable(boolean);
+    method public org.json.JSONObject toJson() throws org.json.JSONException;
+    method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
+    field public static final int USER_LOCKED_SOUND = 32; // 0x20
+  }
+
+  public final class NotificationChannelGroup implements android.os.Parcelable {
+    method public org.json.JSONObject toJson() throws org.json.JSONException;
+  }
+
+  public class NotificationManager {
+    method @NonNull public java.util.List<java.lang.String> getAllowedAssistantAdjustments();
+    method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public java.util.List<android.content.ComponentName> getEnabledNotificationListeners();
+    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
+    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
+    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
+    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
+    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_TOGGLE_NOTIFICATION_HANDLER_PANEL = "android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL";
+  }
+
+  public final class RuntimeAppOpAccessMessage implements android.os.Parcelable {
+    ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int);
+    method public int describeContents();
+    method @Nullable public String getAttributionTag();
+    method @NonNull public String getMessage();
+    method @NonNull public String getOp();
+    method @NonNull public String getPackageName();
+    method public int getSamplingStrategy();
+    method @IntRange(from=0L) public int getUid();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR;
+  }
+
+  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
+    method public void launchAssist(@Nullable android.os.Bundle);
+  }
+
+  public final class StatsManager {
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException;
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]);
+    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int);
+    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long);
+    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata();
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException;
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException;
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException;
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException;
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long);
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] setActiveConfigsChangedOperation(@Nullable android.app.PendingIntent) throws android.app.StatsManager.StatsUnavailableException;
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void setBroadcastSubscriber(android.app.PendingIntent, long, long) throws android.app.StatsManager.StatsUnavailableException;
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent);
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent);
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void setFetchReportsOperation(android.app.PendingIntent, long) throws android.app.StatsManager.StatsUnavailableException;
+    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void setPullAtomCallback(int, @Nullable android.app.StatsManager.PullAtomMetadata, @NonNull java.util.concurrent.Executor, @NonNull android.app.StatsManager.StatsPullAtomCallback);
+    field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";
+    field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS";
+    field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES";
+    field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY";
+    field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID";
+    field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE";
+    field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID";
+    field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID";
+    field public static final int PULL_SKIP = 1; // 0x1
+    field public static final int PULL_SUCCESS = 0; // 0x0
+  }
+
+  public static class StatsManager.PullAtomMetadata {
+    method @Nullable public int[] getAdditiveFields();
+    method public long getCoolDownMillis();
+    method public long getTimeoutMillis();
+  }
+
+  public static class StatsManager.PullAtomMetadata.Builder {
+    ctor public StatsManager.PullAtomMetadata.Builder();
+    method @NonNull public android.app.StatsManager.PullAtomMetadata build();
+    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]);
+    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long);
+    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long);
+  }
+
+  public static interface StatsManager.StatsPullAtomCallback {
+    method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>);
+  }
+
+  public static class StatsManager.StatsUnavailableException extends android.util.AndroidException {
+    ctor public StatsManager.StatsUnavailableException(String);
+    ctor public StatsManager.StatsUnavailableException(String, Throwable);
+  }
+
+  public class StatusBarManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
+  }
+
+  public static final class StatusBarManager.DisableInfo {
+    method public boolean areAllComponentsEnabled();
+    method public boolean isNavigateToHomeDisabled();
+    method public boolean isNotificationPeekingDisabled();
+    method public boolean isRecentsDisabled();
+    method public boolean isSearchDisabled();
+    method public boolean isStatusBarExpansionDisabled();
+  }
+
+  public final class SystemServiceRegistry {
+    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>);
+    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>);
+    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>);
+    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>);
+  }
+
+  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> {
+    method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder);
+  }
+
+  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> {
+    method @NonNull public TServiceClass createService(@NonNull android.content.Context);
+  }
+
+  public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> {
+    method @NonNull public TServiceClass createService(@NonNull android.os.IBinder);
+  }
+
+  public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> {
+    method @NonNull public TServiceClass createService();
+  }
+
+  public class UiModeManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void addOnProjectionStateChangedListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
+    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
+    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangedListener(@NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
+    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
+    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
+    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
+    field public static final int DEFAULT_PRIORITY = 0; // 0x0
+    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
+    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
+    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
+    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
+    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
+  }
+
+  public static interface UiModeManager.OnProjectionStateChangedListener {
+    method public void onProjectionStateChanged(int, @NonNull java.util.Set<java.lang.String>);
+  }
+
+  public final class Vr2dDisplayProperties implements android.os.Parcelable {
+    ctor public Vr2dDisplayProperties(int, int, int);
+    method public int describeContents();
+    method public void dump(@NonNull java.io.PrintWriter, @NonNull String);
+    method public int getAddedFlags();
+    method public int getDpi();
+    method public int getHeight();
+    method public int getRemovedFlags();
+    method public int getWidth();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
+    field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
+  }
+
+  public static final class Vr2dDisplayProperties.Builder {
+    ctor public Vr2dDisplayProperties.Builder();
+    method @NonNull public android.app.Vr2dDisplayProperties.Builder addFlags(int);
+    method @NonNull public android.app.Vr2dDisplayProperties build();
+    method @NonNull public android.app.Vr2dDisplayProperties.Builder removeFlags(int);
+    method @NonNull public android.app.Vr2dDisplayProperties.Builder setDimensions(int, int, int);
+    method @NonNull public android.app.Vr2dDisplayProperties.Builder setEnabled(boolean);
+  }
+
+  public class VrManager {
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public int getVr2dDisplayId();
+    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isPersistentVrModeEnabled();
+    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isVrModeEnabled();
+    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void registerVrStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.app.VrStateCallback);
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setAndBindVrCompositor(android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setPersistentVrModeEnabled(boolean);
+    method @RequiresPermission("android.permission.ACCESS_VR_MANAGER") public void setStandbyEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVr2dDisplayProperties(@NonNull android.app.Vr2dDisplayProperties);
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVrInputMethod(@Nullable android.content.ComponentName);
+    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void unregisterVrStateCallback(@NonNull android.app.VrStateCallback);
+  }
+
+  public abstract class VrStateCallback {
+    ctor public VrStateCallback();
+    method public void onPersistentVrStateChanged(boolean);
+    method public void onVrStateChanged(boolean);
+  }
+
+  public final class WallpaperInfo implements android.os.Parcelable {
+    method public boolean supportsAmbientMode();
+  }
+
+  public class WallpaperManager {
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void clearWallpaper(int, int);
+    method public void setDisplayOffset(android.os.IBinder, int, int);
+    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName);
+  }
+
+}
+
+package android.app.admin {
+
+  public class DevicePolicyKeyguardService extends android.app.Service {
+    ctor public DevicePolicyKeyguardService();
+    method @Nullable public void dismiss();
+    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
+    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder);
+  }
+
+  public class DevicePolicyManager {
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"}) public android.content.ComponentName getDeviceOwnerComponentOnAnyUser();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwnerNameOnAnyUser();
+    method @Nullable public CharSequence getDeviceOwnerOrganizationName();
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getDeviceOwnerUser();
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
+    method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getProfileOwnerNameAsUser(int) throws java.lang.IllegalArgumentException;
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserProvisioningState();
+    method public boolean isDeviceManaged();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isManagedKiosk();
+    method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUnattendedManagedKiosk();
+    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long);
+    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean);
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
+    method @Deprecated @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
+    method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
+    method public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean);
+    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
+    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
+    field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE";
+    field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
+    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
+    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
+    field @RequiresPermission(android.Manifest.permission.MANAGE_FACTORY_RESET_PROTECTION) public static final String ACTION_RESET_PROTECTION_POLICY_CHANGED = "android.app.action.RESET_PROTECTION_POLICY_CHANGED";
+    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
+    field public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
+    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
+    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
+    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
+    field public static final String EXTRA_PROVISIONING_ORGANIZATION_NAME = "android.app.extra.PROVISIONING_ORGANIZATION_NAME";
+    field public static final String EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE = "android.app.extra.PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE";
+    field public static final String EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER = "android.app.extra.PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER";
+    field public static final String EXTRA_PROVISIONING_SUPPORTED_MODES = "android.app.extra.PROVISIONING_SUPPORTED_MODES";
+    field public static final String EXTRA_PROVISIONING_SUPPORT_URL = "android.app.extra.PROVISIONING_SUPPORT_URL";
+    field public static final String EXTRA_PROVISIONING_TRIGGER = "android.app.extra.PROVISIONING_TRIGGER";
+    field public static final String EXTRA_RESTRICTION = "android.app.extra.RESTRICTION";
+    field public static final int FLAG_SUPPORTED_MODES_DEVICE_OWNER = 4; // 0x4
+    field public static final int FLAG_SUPPORTED_MODES_ORGANIZATION_OWNED = 1; // 0x1
+    field public static final int FLAG_SUPPORTED_MODES_PERSONALLY_OWNED = 2; // 0x2
+    field public static final int PROVISIONING_TRIGGER_CLOUD_ENROLLMENT = 1; // 0x1
+    field public static final int PROVISIONING_TRIGGER_MANAGED_ACCOUNT = 4; // 0x4
+    field @Deprecated public static final int PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER = 3; // 0x3
+    field public static final int PROVISIONING_TRIGGER_QR_CODE = 2; // 0x2
+    field public static final int PROVISIONING_TRIGGER_UNSPECIFIED = 0; // 0x0
+    field public static final String REQUIRED_APP_MANAGED_DEVICE = "android.app.REQUIRED_APP_MANAGED_DEVICE";
+    field public static final String REQUIRED_APP_MANAGED_PROFILE = "android.app.REQUIRED_APP_MANAGED_PROFILE";
+    field public static final String REQUIRED_APP_MANAGED_USER = "android.app.REQUIRED_APP_MANAGED_USER";
+    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
+    field public static final int STATE_USER_PROFILE_FINALIZED = 5; // 0x5
+    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
+    field public static final int STATE_USER_SETUP_FINALIZED = 3; // 0x3
+    field public static final int STATE_USER_SETUP_INCOMPLETE = 1; // 0x1
+    field public static final int STATE_USER_UNMANAGED = 0; // 0x0
+  }
+
+  public final class SystemUpdatePolicy implements android.os.Parcelable {
+    method public android.app.admin.SystemUpdatePolicy.InstallationOption getInstallationOptionAt(long);
+    field public static final int TYPE_PAUSE = 4; // 0x4
+  }
+
+  public static class SystemUpdatePolicy.InstallationOption {
+    method public long getEffectiveTime();
+    method public int getType();
+  }
+
+}
+
+package android.app.appsearch {
+
+  public class AppSearchManagerFrameworkInitializer {
+    method public static void initialize();
+  }
+
+}
+
+package android.app.assist {
+
+  public class ActivityId {
+  }
+
+  public static class AssistStructure.ViewNode {
+    ctor public AssistStructure.ViewNode();
+  }
+
+}
+
+package android.app.backup {
+
+  public class BackupDataInput {
+    ctor public BackupDataInput(java.io.FileDescriptor);
+  }
+
+  public class BackupDataOutput {
+    ctor public BackupDataOutput(java.io.FileDescriptor);
+    ctor public BackupDataOutput(java.io.FileDescriptor, long);
+  }
+
+  public class BackupManager {
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport();
+    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.ComponentName getCurrentTransportComponent();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getDataManagementIntent(String);
+    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public CharSequence getDataManagementIntentLabel(@NonNull String);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public String getDataManagementLabel(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getDestinationString(String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isAppEligibleForBackup(String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupEnabled();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupServiceActive(android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public String[] listAllTransports();
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver, android.app.backup.BackupManagerMonitor, int);
+    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public String selectBackupTransport(String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void selectBackupTransport(android.content.ComponentName, android.app.backup.SelectBackupTransportCallback);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAncestralSerialNumber(long);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAutoRestore(boolean);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setBackupEnabled(boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public void updateTransportAttributes(@NonNull android.content.ComponentName, @NonNull String, @Nullable android.content.Intent, @NonNull String, @Nullable android.content.Intent, @Nullable String);
+    method @RequiresPermission(android.Manifest.permission.BACKUP) public void updateTransportAttributes(@NonNull android.content.ComponentName, @NonNull String, @Nullable android.content.Intent, @NonNull String, @Nullable android.content.Intent, @Nullable CharSequence);
+    field public static final int ERROR_AGENT_FAILURE = -1003; // 0xfffffc15
+    field public static final int ERROR_BACKUP_CANCELLED = -2003; // 0xfffff82d
+    field public static final int ERROR_BACKUP_NOT_ALLOWED = -2001; // 0xfffff82f
+    field public static final int ERROR_PACKAGE_NOT_FOUND = -2002; // 0xfffff82e
+    field public static final int ERROR_TRANSPORT_ABORTED = -1000; // 0xfffffc18
+    field public static final int ERROR_TRANSPORT_INVALID = -2; // 0xfffffffe
+    field public static final int ERROR_TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
+    field public static final int ERROR_TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
+    field public static final int ERROR_TRANSPORT_UNAVAILABLE = -1; // 0xffffffff
+    field public static final int FLAG_NON_INCREMENTAL_BACKUP = 1; // 0x1
+    field public static final String PACKAGE_MANAGER_SENTINEL = "@pm@";
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public class BackupManagerMonitor {
+    ctor public BackupManagerMonitor();
+    method public void onEvent(android.os.Bundle);
+    field public static final String EXTRA_LOG_CANCEL_ALL = "android.app.backup.extra.LOG_CANCEL_ALL";
+    field public static final String EXTRA_LOG_EVENT_CATEGORY = "android.app.backup.extra.LOG_EVENT_CATEGORY";
+    field public static final String EXTRA_LOG_EVENT_ID = "android.app.backup.extra.LOG_EVENT_ID";
+    field public static final String EXTRA_LOG_EVENT_PACKAGE_LONG_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_FULL_VERSION";
+    field public static final String EXTRA_LOG_EVENT_PACKAGE_NAME = "android.app.backup.extra.LOG_EVENT_PACKAGE_NAME";
+    field @Deprecated public static final String EXTRA_LOG_EVENT_PACKAGE_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_VERSION";
+    field public static final String EXTRA_LOG_EXCEPTION_FULL_BACKUP = "android.app.backup.extra.LOG_EXCEPTION_FULL_BACKUP";
+    field public static final String EXTRA_LOG_ILLEGAL_KEY = "android.app.backup.extra.LOG_ILLEGAL_KEY";
+    field public static final String EXTRA_LOG_MANIFEST_PACKAGE_NAME = "android.app.backup.extra.LOG_MANIFEST_PACKAGE_NAME";
+    field public static final String EXTRA_LOG_OLD_VERSION = "android.app.backup.extra.LOG_OLD_VERSION";
+    field public static final String EXTRA_LOG_POLICY_ALLOW_APKS = "android.app.backup.extra.LOG_POLICY_ALLOW_APKS";
+    field public static final String EXTRA_LOG_PREFLIGHT_ERROR = "android.app.backup.extra.LOG_PREFLIGHT_ERROR";
+    field public static final String EXTRA_LOG_RESTORE_ANYWAY = "android.app.backup.extra.LOG_RESTORE_ANYWAY";
+    field public static final String EXTRA_LOG_RESTORE_VERSION = "android.app.backup.extra.LOG_RESTORE_VERSION";
+    field public static final String EXTRA_LOG_WIDGET_PACKAGE_NAME = "android.app.backup.extra.LOG_WIDGET_PACKAGE_NAME";
+    field public static final int LOG_EVENT_CATEGORY_AGENT = 2; // 0x2
+    field public static final int LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY = 3; // 0x3
+    field public static final int LOG_EVENT_CATEGORY_TRANSPORT = 1; // 0x1
+    field public static final int LOG_EVENT_ID_APK_NOT_INSTALLED = 40; // 0x28
+    field public static final int LOG_EVENT_ID_APP_HAS_NO_AGENT = 28; // 0x1c
+    field public static final int LOG_EVENT_ID_BACKUP_DISABLED = 13; // 0xd
+    field public static final int LOG_EVENT_ID_CANNOT_RESTORE_WITHOUT_APK = 41; // 0x29
+    field public static final int LOG_EVENT_ID_CANT_FIND_AGENT = 30; // 0x1e
+    field public static final int LOG_EVENT_ID_CORRUPT_MANIFEST = 46; // 0x2e
+    field public static final int LOG_EVENT_ID_DEVICE_NOT_PROVISIONED = 14; // 0xe
+    field public static final int LOG_EVENT_ID_ERROR_PREFLIGHT = 16; // 0x10
+    field public static final int LOG_EVENT_ID_EXCEPTION_FULL_BACKUP = 19; // 0x13
+    field public static final int LOG_EVENT_ID_EXPECTED_DIFFERENT_PACKAGE = 43; // 0x2b
+    field public static final int LOG_EVENT_ID_FULL_BACKUP_CANCEL = 4; // 0x4
+    field public static final int LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE = 39; // 0x27
+    field public static final int LOG_EVENT_ID_FULL_RESTORE_SIGNATURE_MISMATCH = 37; // 0x25
+    field public static final int LOG_EVENT_ID_FULL_RESTORE_TIMEOUT = 45; // 0x2d
+    field public static final int LOG_EVENT_ID_ILLEGAL_KEY = 5; // 0x5
+    field public static final int LOG_EVENT_ID_KEY_VALUE_BACKUP_CANCEL = 21; // 0x15
+    field public static final int LOG_EVENT_ID_KEY_VALUE_RESTORE_TIMEOUT = 31; // 0x1f
+    field public static final int LOG_EVENT_ID_LOST_TRANSPORT = 25; // 0x19
+    field public static final int LOG_EVENT_ID_MISSING_SIGNATURE = 42; // 0x2a
+    field public static final int LOG_EVENT_ID_NO_DATA_TO_SEND = 7; // 0x7
+    field public static final int LOG_EVENT_ID_NO_PACKAGES = 49; // 0x31
+    field public static final int LOG_EVENT_ID_NO_PM_METADATA_RECEIVED = 23; // 0x17
+    field public static final int LOG_EVENT_ID_NO_RESTORE_METADATA_AVAILABLE = 22; // 0x16
+    field public static final int LOG_EVENT_ID_PACKAGE_INELIGIBLE = 9; // 0x9
+    field public static final int LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT = 10; // 0xa
+    field public static final int LOG_EVENT_ID_PACKAGE_NOT_FOUND = 12; // 0xc
+    field public static final int LOG_EVENT_ID_PACKAGE_NOT_PRESENT = 26; // 0x1a
+    field public static final int LOG_EVENT_ID_PACKAGE_STOPPED = 11; // 0xb
+    field public static final int LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT = 15; // 0xf
+    field public static final int LOG_EVENT_ID_PM_AGENT_HAS_NO_METADATA = 24; // 0x18
+    field public static final int LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT = 18; // 0x12
+    field public static final int LOG_EVENT_ID_RESTORE_ANY_VERSION = 34; // 0x22
+    field public static final int LOG_EVENT_ID_RESTORE_VERSION_HIGHER = 27; // 0x1b
+    field public static final int LOG_EVENT_ID_SIGNATURE_MISMATCH = 29; // 0x1d
+    field public static final int LOG_EVENT_ID_SYSTEM_APP_NO_AGENT = 38; // 0x26
+    field public static final int LOG_EVENT_ID_TRANSPORT_IS_NULL = 50; // 0x32
+    field public static final int LOG_EVENT_ID_TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = 51; // 0x33
+    field public static final int LOG_EVENT_ID_UNKNOWN_VERSION = 44; // 0x2c
+    field public static final int LOG_EVENT_ID_VERSIONS_MATCH = 35; // 0x23
+    field public static final int LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER = 36; // 0x24
+    field public static final int LOG_EVENT_ID_WIDGET_METADATA_MISMATCH = 47; // 0x2f
+    field public static final int LOG_EVENT_ID_WIDGET_UNKNOWN_VERSION = 48; // 0x30
+  }
+
+  public abstract class BackupObserver {
+    ctor public BackupObserver();
+    method public void backupFinished(int);
+    method public void onResult(String, int);
+    method public void onUpdate(String, android.app.backup.BackupProgress);
+  }
+
+  public class BackupProgress implements android.os.Parcelable {
+    ctor public BackupProgress(long, long);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
+    field public final long bytesExpected;
+    field public final long bytesTransferred;
+  }
+
+  public class BackupTransport {
+    ctor public BackupTransport();
+    method public int abortFullRestore();
+    method public void cancelFullBackup();
+    method public int checkFullBackupSize(long);
+    method public int clearBackupData(android.content.pm.PackageInfo);
+    method public android.content.Intent configurationIntent();
+    method public String currentDestinationString();
+    method public android.content.Intent dataManagementIntent();
+    method @Nullable public CharSequence dataManagementIntentLabel();
+    method @Deprecated @Nullable public String dataManagementLabel();
+    method public int finishBackup();
+    method public void finishRestore();
+    method public android.app.backup.RestoreSet[] getAvailableRestoreSets();
+    method public long getBackupQuota(String, boolean);
+    method public android.os.IBinder getBinder();
+    method public long getCurrentRestoreSet();
+    method public int getNextFullRestoreDataChunk(android.os.ParcelFileDescriptor);
+    method public int getRestoreData(android.os.ParcelFileDescriptor);
+    method public int getTransportFlags();
+    method public int initializeDevice();
+    method public boolean isAppEligibleForBackup(android.content.pm.PackageInfo, boolean);
+    method public String name();
+    method public android.app.backup.RestoreDescription nextRestorePackage();
+    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
+    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
+    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
+    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
+    method public long requestBackupTime();
+    method public long requestFullBackupTime();
+    method public int sendBackupData(int);
+    method public int startRestore(long, android.content.pm.PackageInfo[]);
+    method public String transportDirName();
+    field public static final int AGENT_ERROR = -1003; // 0xfffffc15
+    field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
+    field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
+    field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8
+    field public static final int FLAG_INCREMENTAL = 2; // 0x2
+    field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
+    field public static final int FLAG_USER_INITIATED = 1; // 0x1
+    field public static final int NO_MORE_DATA = -1; // 0xffffffff
+    field public static final int TRANSPORT_ERROR = -1000; // 0xfffffc18
+    field public static final int TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = -1006; // 0xfffffc12
+    field public static final int TRANSPORT_NOT_INITIALIZED = -1001; // 0xfffffc17
+    field public static final int TRANSPORT_OK = 0; // 0x0
+    field public static final int TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
+    field public static final int TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
+  }
+
+  public class RestoreDescription implements android.os.Parcelable {
+    ctor public RestoreDescription(String, int);
+    method public int describeContents();
+    method public int getDataType();
+    method public String getPackageName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
+    field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
+    field public static final int TYPE_FULL_STREAM = 2; // 0x2
+    field public static final int TYPE_KEY_VALUE = 1; // 0x1
+  }
+
+  public abstract class RestoreObserver {
+    method public void restoreSetsAvailable(android.app.backup.RestoreSet[]);
+  }
+
+  public class RestoreSession {
+    method public void endRestoreSession();
+    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
+    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver);
+    method public int restoreAll(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
+    method public int restoreAll(long, android.app.backup.RestoreObserver);
+    method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
+    method public int restorePackage(String, android.app.backup.RestoreObserver);
+    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
+    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
+  }
+
+  public class RestoreSet implements android.os.Parcelable {
+    ctor public RestoreSet();
+    ctor public RestoreSet(@Nullable String, @Nullable String, long);
+    ctor public RestoreSet(@Nullable String, @Nullable String, long, int);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
+    field public final int backupTransportFlags;
+    field @Nullable public String device;
+    field @Nullable public String name;
+    field public long token;
+  }
+
+  public abstract class SelectBackupTransportCallback {
+    ctor public SelectBackupTransportCallback();
+    method public void onFailure(int);
+    method public void onSuccess(String);
+  }
+
+}
+
+package android.app.compat {
+
+  public final class CompatChanges {
+    method public static boolean isChangeEnabled(long);
+    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, @NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, int);
+    method @RequiresPermission(android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD) public static void putPackageOverrides(@NonNull String, @NonNull java.util.Map<java.lang.Long,android.app.compat.PackageOverride>);
+    method @RequiresPermission(android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD) public static void removePackageOverrides(@NonNull String, @NonNull java.util.Set<java.lang.Long>);
+  }
+
+  public final class PackageOverride {
+    method public long getMaxVersionCode();
+    method public long getMinVersionCode();
+    method public boolean isEnabled();
+  }
+
+  public static final class PackageOverride.Builder {
+    ctor public PackageOverride.Builder();
+    method @NonNull public android.app.compat.PackageOverride build();
+    method @NonNull public android.app.compat.PackageOverride.Builder setEnabled(boolean);
+    method @NonNull public android.app.compat.PackageOverride.Builder setMaxVersionCode(long);
+    method @NonNull public android.app.compat.PackageOverride.Builder setMinVersionCode(long);
+  }
+
+}
+
+package android.app.contentsuggestions {
+
+  public final class ClassificationsRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
+  }
+
+  public static final class ClassificationsRequest.Builder {
+    ctor public ClassificationsRequest.Builder(@NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
+    method @NonNull public android.app.contentsuggestions.ClassificationsRequest build();
+    method @NonNull public android.app.contentsuggestions.ClassificationsRequest.Builder setExtras(@NonNull android.os.Bundle);
+  }
+
+  public final class ContentClassification implements android.os.Parcelable {
+    ctor public ContentClassification(@NonNull String, @NonNull android.os.Bundle);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
+  }
+
+  public final class ContentSelection implements android.os.Parcelable {
+    ctor public ContentSelection(@NonNull String, @NonNull android.os.Bundle);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
+  }
+
+  public final class ContentSuggestionsManager {
+    method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
+    method public boolean isEnabled();
+    method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
+    method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle);
+    method public void provideContextImage(int, @NonNull android.os.Bundle);
+    method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
+  }
+
+  public static interface ContentSuggestionsManager.ClassificationsCallback {
+    method public void onContentClassificationsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentClassification>);
+  }
+
+  public static interface ContentSuggestionsManager.SelectionsCallback {
+    method public void onContentSelectionsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
+  }
+
+  public final class SelectionsRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public android.graphics.Point getInterestPoint();
+    method public int getTaskId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
+  }
+
+  public static final class SelectionsRequest.Builder {
+    ctor public SelectionsRequest.Builder(int);
+    method @NonNull public android.app.contentsuggestions.SelectionsRequest build();
+    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setInterestPoint(@NonNull android.graphics.Point);
+  }
+
+}
+
+package android.app.job {
+
+  public abstract class JobScheduler {
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String);
+  }
+
+  public class JobSchedulerFrameworkInitializer {
+    method public static void registerServiceWrappers();
+  }
+
+}
+
+package android.app.people {
+
+  public final class PeopleManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PEOPLE_DATA) public boolean isConversation(@NonNull String, @NonNull String);
+  }
+
+}
+
+package android.app.prediction {
+
+  public final class AppPredictionContext implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.os.Bundle getExtras();
+    method @NonNull public String getPackageName();
+    method @IntRange(from=0) public int getPredictedTargetCount();
+    method @NonNull public String getUiSurface();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
+  }
+
+  public static final class AppPredictionContext.Builder {
+    ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
+    method @NonNull public android.app.prediction.AppPredictionContext build();
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
+  }
+
+  public final class AppPredictionManager {
+    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
+  }
+
+  public final class AppPredictionSessionId implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
+  }
+
+  public final class AppPredictor {
+    method public void destroy();
+    method public void notifyAppTargetEvent(@NonNull android.app.prediction.AppTargetEvent);
+    method public void notifyLaunchLocationShown(@NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
+    method public void registerPredictionUpdates(@NonNull java.util.concurrent.Executor, @NonNull android.app.prediction.AppPredictor.Callback);
+    method public void requestPredictionUpdate();
+    method @Nullable public void sortTargets(@NonNull java.util.List<android.app.prediction.AppTarget>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.app.prediction.AppTarget>>);
+    method public void unregisterPredictionUpdates(@NonNull android.app.prediction.AppPredictor.Callback);
+  }
+
+  public static interface AppPredictor.Callback {
+    method public void onTargetsAvailable(@NonNull java.util.List<android.app.prediction.AppTarget>);
+  }
+
+  public final class AppTarget implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getClassName();
+    method @NonNull public android.app.prediction.AppTargetId getId();
+    method @NonNull public String getPackageName();
+    method @IntRange(from=0) public int getRank();
+    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
+    method @NonNull public android.os.UserHandle getUser();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
+  }
+
+  public static final class AppTarget.Builder {
+    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull String, @NonNull android.os.UserHandle);
+    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull android.content.pm.ShortcutInfo);
+    method @NonNull public android.app.prediction.AppTarget build();
+    method @NonNull public android.app.prediction.AppTarget.Builder setClassName(@NonNull String);
+    method @NonNull public android.app.prediction.AppTarget.Builder setRank(@IntRange(from=0) int);
+  }
+
+  public final class AppTargetEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAction();
+    method @Nullable public String getLaunchLocation();
+    method @Nullable public android.app.prediction.AppTarget getTarget();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTION_DISMISS = 2; // 0x2
+    field public static final int ACTION_LAUNCH = 1; // 0x1
+    field public static final int ACTION_PIN = 3; // 0x3
+    field public static final int ACTION_UNPIN = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
+  }
+
+  public static final class AppTargetEvent.Builder {
+    ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
+    method @NonNull public android.app.prediction.AppTargetEvent build();
+    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
+  }
+
+  public final class AppTargetId implements android.os.Parcelable {
+    ctor public AppTargetId(@NonNull String);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
+  }
+
+}
+
+package android.app.role {
+
+  public interface OnRoleHoldersChangedListener {
+    method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
+  }
+
+  @Deprecated public abstract class RoleControllerService extends android.app.Service {
+    ctor @Deprecated public RoleControllerService();
+    method @Deprecated @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int);
+    method @Deprecated @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
+    method @Deprecated @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int);
+    method @Deprecated @WorkerThread public abstract boolean onGrantDefaultRoles();
+    method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
+    method @Deprecated public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String);
+    method @Deprecated public abstract boolean onIsRoleVisible(@NonNull String);
+    method @Deprecated @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int);
+    field @Deprecated public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
+  }
+
+  public final class RoleManager {
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void addOnRoleHoldersChangedListenerAsUser(@NonNull java.util.concurrent.Executor, @NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void clearRoleHoldersAsUser(@NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @Deprecated @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void isApplicationVisibleForRole(@NonNull String, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isBypassingRoleQualification();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void isRoleVisible(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void removeRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.BYPASS_ROLE_QUALIFICATION) public void setBypassingRoleQualification(boolean);
+    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
+    field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
+    field public static final String ROLE_SYSTEM_ACTIVITY_RECOGNIZER = "android.app.role.SYSTEM_ACTIVITY_RECOGNIZER";
+    field public static final String ROLE_SYSTEM_WELLBEING = "android.app.role.SYSTEM_WELLBEING";
+  }
+
+}
+
+package android.app.search {
+
+  public final class Query implements android.os.Parcelable {
+    ctor public Query(@NonNull String, long, @NonNull android.os.Bundle);
+    ctor public Query(@NonNull String, long);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getInput();
+    method public long getTimestampMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.Query> CREATOR;
+    field public static final String EXTRA_IME_HEIGHT = "android.app.search.extra.IME_HEIGHT";
+  }
+
+  public final class SearchAction implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public CharSequence getContentDescription();
+    method @Nullable public android.os.Bundle getExtras();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @NonNull public String getId();
+    method @Nullable public android.content.Intent getIntent();
+    method @Nullable public android.app.PendingIntent getPendingIntent();
+    method @Nullable public CharSequence getSubtitle();
+    method @NonNull public CharSequence getTitle();
+    method @Nullable public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchAction> CREATOR;
+  }
+
+  public static final class SearchAction.Builder {
+    ctor public SearchAction.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.app.search.SearchAction build();
+    method @NonNull public android.app.search.SearchAction.Builder setContentDescription(@Nullable CharSequence);
+    method @NonNull public android.app.search.SearchAction.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.app.search.SearchAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.search.SearchAction.Builder setIntent(@Nullable android.content.Intent);
+    method @NonNull public android.app.search.SearchAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
+    method @NonNull public android.app.search.SearchAction.Builder setSubtitle(@Nullable CharSequence);
+    method @NonNull public android.app.search.SearchAction.Builder setUserHandle(@Nullable android.os.UserHandle);
+  }
+
+  public final class SearchContext implements android.os.Parcelable {
+    ctor public SearchContext(int, int);
+    ctor public SearchContext(int, int, @NonNull android.os.Bundle);
+    method public int describeContents();
+    method @NonNull public android.os.Bundle getExtras();
+    method @Nullable public String getPackageName();
+    method @NonNull public int getResultTypes();
+    method @NonNull public int getTimeoutMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchContext> CREATOR;
+  }
+
+  public final class SearchSession implements java.lang.AutoCloseable {
+    method public void close();
+    method protected void finalize();
+    method public void notifyEvent(@NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
+    method @Nullable public void query(@NonNull android.app.search.Query, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.app.search.SearchTarget>>);
+  }
+
+  public final class SearchSessionId implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchSessionId> CREATOR;
+  }
+
+  public final class SearchTarget implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo();
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public String getId();
+    method @NonNull public String getLayoutType();
+    method @NonNull public String getPackageName();
+    method @NonNull public String getParentId();
+    method public int getResultType();
+    method public float getScore();
+    method @Nullable public android.app.search.SearchAction getSearchAction();
+    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
+    method @Nullable public android.net.Uri getSliceUri();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public boolean isHidden();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTarget> CREATOR;
+    field public static final String LAYOUT_TYPE_ICON = "icon";
+    field public static final String LAYOUT_TYPE_ICON_ROW = "icon_row";
+    field public static final String LAYOUT_TYPE_SHORT_ICON_ROW = "short_icon_row";
+    field public static final int RESULT_TYPE_APPLICATION = 1; // 0x1
+    field public static final int RESULT_TYPE_SHORTCUT = 2; // 0x2
+    field public static final int RESULT_TYPE_SLICE = 4; // 0x4
+    field public static final int RESULT_TYPE_WIDGETS = 8; // 0x8
+  }
+
+  public static final class SearchTarget.Builder {
+    ctor public SearchTarget.Builder(int, @NonNull String, @NonNull String);
+    method @NonNull public android.app.search.SearchTarget build();
+    method @NonNull public android.app.search.SearchTarget.Builder setAppWidgetProviderInfo(@NonNull android.appwidget.AppWidgetProviderInfo);
+    method @NonNull public android.app.search.SearchTarget.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.app.search.SearchTarget.Builder setHidden(boolean);
+    method @NonNull public android.app.search.SearchTarget.Builder setPackageName(@NonNull String);
+    method @NonNull public android.app.search.SearchTarget.Builder setParentId(@NonNull String);
+    method @NonNull public android.app.search.SearchTarget.Builder setScore(@FloatRange(from=0.0f, to=1.0f) float);
+    method @NonNull public android.app.search.SearchTarget.Builder setSearchAction(@Nullable android.app.search.SearchAction);
+    method @NonNull public android.app.search.SearchTarget.Builder setShortcutInfo(@NonNull android.content.pm.ShortcutInfo);
+    method @NonNull public android.app.search.SearchTarget.Builder setSliceUri(@NonNull android.net.Uri);
+    method @NonNull public android.app.search.SearchTarget.Builder setUserHandle(@NonNull android.os.UserHandle);
+  }
+
+  public final class SearchTargetEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAction();
+    method public int getFlags();
+    method @Nullable public String getLaunchLocation();
+    method @NonNull public String getTargetId();
+    method @NonNull public java.util.List<java.lang.String> getTargetIds();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int ACTION_DRAGNDROP = 7; // 0x7
+    field public static final int ACTION_LAUNCH_KEYBOARD_FOCUS = 6; // 0x6
+    field public static final int ACTION_LAUNCH_TOUCH = 5; // 0x5
+    field public static final int ACTION_LONGPRESS = 4; // 0x4
+    field public static final int ACTION_SURFACE_INVISIBLE = 8; // 0x8
+    field public static final int ACTION_SURFACE_VISIBLE = 1; // 0x1
+    field public static final int ACTION_TAP = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTargetEvent> CREATOR;
+    field public static final int FLAG_IME_SHOWN = 1; // 0x1
+  }
+
+  public static final class SearchTargetEvent.Builder {
+    ctor public SearchTargetEvent.Builder(@NonNull String, int);
+    ctor public SearchTargetEvent.Builder(@NonNull java.util.List<java.lang.String>, int);
+    method @NonNull public android.app.search.SearchTargetEvent build();
+    method @NonNull public android.app.search.SearchTargetEvent.Builder setFlags(int);
+    method @NonNull public android.app.search.SearchTargetEvent.Builder setLaunchLocation(@Nullable String);
+  }
+
+  public final class SearchUiManager {
+    method @NonNull public android.app.search.SearchSession createSearchSession(@NonNull android.app.search.SearchContext);
+  }
+
+}
+
+package android.app.smartspace {
+
+  public final class SmartspaceAction implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public CharSequence getContentDescription();
+    method @Nullable public android.os.Bundle getExtras();
+    method @Nullable public android.graphics.drawable.Icon getIcon();
+    method @NonNull public String getId();
+    method @Nullable public android.content.Intent getIntent();
+    method @Nullable public android.app.PendingIntent getPendingIntent();
+    method @Nullable public CharSequence getSubtitle();
+    method @NonNull public CharSequence getTitle();
+    method @Nullable public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceAction> CREATOR;
+  }
+
+  public static final class SmartspaceAction.Builder {
+    ctor public SmartspaceAction.Builder(@NonNull String, @NonNull String);
+    method @NonNull public android.app.smartspace.SmartspaceAction build();
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setContentDescription(@Nullable CharSequence);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIntent(@Nullable android.content.Intent);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setSubtitle(@Nullable CharSequence);
+    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setUserHandle(@Nullable android.os.UserHandle);
+  }
+
+  public final class SmartspaceConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.os.Bundle getExtras();
+    method @NonNull public String getPackageName();
+    method @NonNull public int getSmartspaceTargetCount();
+    method @NonNull public String getUiSurface();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceConfig> CREATOR;
+  }
+
+  public static final class SmartspaceConfig.Builder {
+    ctor public SmartspaceConfig.Builder(@NonNull android.content.Context, @NonNull String);
+    method @NonNull public android.app.smartspace.SmartspaceConfig build();
+    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setSmartspaceTargetCount(@IntRange(from=0, to=50) int);
+  }
+
+  public final class SmartspaceManager {
+    method @NonNull public android.app.smartspace.SmartspaceSession createSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig);
+  }
+
+  public final class SmartspaceSession implements java.lang.AutoCloseable {
+    method public void addOnTargetsAvailableListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
+    method public void close();
+    method protected void finalize();
+    method public void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceTargetEvent);
+    method public void removeOnTargetsAvailableListener(@NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
+    method public void requestSmartspaceUpdate();
+  }
+
+  public static interface SmartspaceSession.OnTargetsAvailableListener {
+    method public void onTargetsAvailable(@NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
+  }
+
+  public final class SmartspaceSessionId implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getId();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceSessionId> CREATOR;
+  }
+
+  public final class SmartspaceTarget implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getActionChips();
+    method @Nullable public String getAssociatedSmartspaceTargetId();
+    method @Nullable public android.app.smartspace.SmartspaceAction getBaseAction();
+    method @NonNull public android.content.ComponentName getComponentName();
+    method public long getCreationTimeMillis();
+    method public long getExpiryTimeMillis();
+    method public int getFeatureType();
+    method @Nullable public android.app.smartspace.SmartspaceAction getHeaderAction();
+    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getIconGrid();
+    method public float getScore();
+    method @Nullable public android.net.Uri getSliceUri();
+    method @NonNull public String getSmartspaceTargetId();
+    method @Nullable public String getSourceNotificationKey();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
+    method public boolean isSensitive();
+    method public boolean shouldShowExpanded();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTarget> CREATOR;
+    field public static final int FEATURE_ALARM = 7; // 0x7
+    field public static final int FEATURE_BEDTIME_ROUTINE = 16; // 0x10
+    field public static final int FEATURE_CALENDAR = 2; // 0x2
+    field public static final int FEATURE_COMMUTE_TIME = 3; // 0x3
+    field public static final int FEATURE_CONSENT = 11; // 0xb
+    field public static final int FEATURE_ETA_MONITORING = 18; // 0x12
+    field public static final int FEATURE_FITNESS_TRACKING = 17; // 0x11
+    field public static final int FEATURE_FLIGHT = 4; // 0x4
+    field public static final int FEATURE_LOYALTY_CARD = 14; // 0xe
+    field public static final int FEATURE_MEDIA = 15; // 0xf
+    field public static final int FEATURE_MISSED_CALL = 19; // 0x13
+    field public static final int FEATURE_ONBOARDING = 8; // 0x8
+    field public static final int FEATURE_PACKAGE_TRACKING = 20; // 0x14
+    field public static final int FEATURE_REMINDER = 6; // 0x6
+    field public static final int FEATURE_SHOPPING_LIST = 13; // 0xd
+    field public static final int FEATURE_SPORTS = 9; // 0x9
+    field public static final int FEATURE_STOCK_PRICE_CHANGE = 12; // 0xc
+    field public static final int FEATURE_STOPWATCH = 22; // 0x16
+    field public static final int FEATURE_TIMER = 21; // 0x15
+    field public static final int FEATURE_TIPS = 5; // 0x5
+    field public static final int FEATURE_UNDEFINED = 0; // 0x0
+    field public static final int FEATURE_UPCOMING_ALARM = 23; // 0x17
+    field public static final int FEATURE_WEATHER = 1; // 0x1
+    field public static final int FEATURE_WEATHER_ALERT = 10; // 0xa
+  }
+
+  public static final class SmartspaceTarget.Builder {
+    ctor public SmartspaceTarget.Builder(@NonNull String, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    method @NonNull public android.app.smartspace.SmartspaceTarget build();
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setActionChips(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setAssociatedSmartspaceTargetId(@NonNull String);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setBaseAction(@NonNull android.app.smartspace.SmartspaceAction);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setCreationTimeMillis(long);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setExpiryTimeMillis(long);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setFeatureType(int);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setHeaderAction(@NonNull android.app.smartspace.SmartspaceAction);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setIconGrid(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setScore(float);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSensitive(boolean);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setShouldShowExpanded(boolean);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSliceUri(@NonNull android.net.Uri);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSourceNotificationKey(@NonNull String);
+    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
+  }
+
+  public final class SmartspaceTargetEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public int getEventType();
+    method @Nullable public String getSmartspaceActionId();
+    method @Nullable public android.app.smartspace.SmartspaceTarget getSmartspaceTarget();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTargetEvent> CREATOR;
+    field public static final int EVENT_TARGET_BLOCK = 5; // 0x5
+    field public static final int EVENT_TARGET_DISMISS = 4; // 0x4
+    field public static final int EVENT_TARGET_HIDDEN = 3; // 0x3
+    field public static final int EVENT_TARGET_INTERACTION = 1; // 0x1
+    field public static final int EVENT_TARGET_SHOWN = 2; // 0x2
+    field public static final int EVENT_UI_SURFACE_HIDDEN = 7; // 0x7
+    field public static final int EVENT_UI_SURFACE_SHOWN = 6; // 0x6
+  }
+
+  public static final class SmartspaceTargetEvent.Builder {
+    ctor public SmartspaceTargetEvent.Builder(int);
+    method @NonNull public android.app.smartspace.SmartspaceTargetEvent build();
+    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceActionId(@NonNull String);
+    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceTarget(@NonNull android.app.smartspace.SmartspaceTarget);
+  }
+
+}
+
+package android.app.time {
+
+  public final class Capabilities {
+    field public static final int CAPABILITY_NOT_ALLOWED = 20; // 0x14
+    field public static final int CAPABILITY_NOT_APPLICABLE = 30; // 0x1e
+    field public static final int CAPABILITY_NOT_SUPPORTED = 10; // 0xa
+    field public static final int CAPABILITY_POSSESSED = 40; // 0x28
+  }
+
+  public final class ExternalTimeSuggestion implements android.os.Parcelable {
+    ctor public ExternalTimeSuggestion(long, long);
+    method public void addDebugInfo(@NonNull java.lang.String...);
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getDebugInfo();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
+  }
+
+  public final class TimeManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void addTimeZoneDetectorListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
+    method @RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME) public void suggestExternalTime(@NonNull android.app.time.ExternalTimeSuggestion);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
+  }
+
+  @java.lang.FunctionalInterface public static interface TimeManager.TimeZoneDetectorListener {
+    method public void onChange();
+  }
+
+  public final class TimeZoneCapabilities implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getConfigureAutoDetectionEnabledCapability();
+    method public int getConfigureGeoDetectionEnabledCapability();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilities> CREATOR;
+  }
+
+  public final class TimeZoneCapabilitiesAndConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.app.time.TimeZoneCapabilities getCapabilities();
+    method @NonNull public android.app.time.TimeZoneConfiguration getConfiguration();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilitiesAndConfig> CREATOR;
+  }
+
+  public final class TimeZoneConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isAutoDetectionEnabled();
+    method public boolean isGeoDetectionEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneConfiguration> CREATOR;
+  }
+
+  public static final class TimeZoneConfiguration.Builder {
+    ctor public TimeZoneConfiguration.Builder();
+    ctor public TimeZoneConfiguration.Builder(@NonNull android.app.time.TimeZoneConfiguration);
+    method @NonNull public android.app.time.TimeZoneConfiguration build();
+    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setAutoDetectionEnabled(boolean);
+    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setGeoDetectionEnabled(boolean);
+  }
+
+}
+
+package android.app.usage {
+
+  public final class CacheQuotaHint implements android.os.Parcelable {
+    ctor public CacheQuotaHint(@NonNull android.app.usage.CacheQuotaHint.Builder);
+    method public int describeContents();
+    method public long getQuota();
+    method public int getUid();
+    method @Nullable public android.app.usage.UsageStats getUsageStats();
+    method @Nullable public String getVolumeUuid();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
+    field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
+  }
+
+  public static final class CacheQuotaHint.Builder {
+    ctor public CacheQuotaHint.Builder();
+    ctor public CacheQuotaHint.Builder(@NonNull android.app.usage.CacheQuotaHint);
+    method @NonNull public android.app.usage.CacheQuotaHint build();
+    method @NonNull public android.app.usage.CacheQuotaHint.Builder setQuota(long);
+    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUid(int);
+    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUsageStats(@Nullable android.app.usage.UsageStats);
+    method @NonNull public android.app.usage.CacheQuotaHint.Builder setVolumeUuid(@Nullable String);
+  }
+
+  public abstract class CacheQuotaService extends android.app.Service {
+    ctor public CacheQuotaService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract java.util.List<android.app.usage.CacheQuotaHint> onComputeCacheQuotaHints(java.util.List<android.app.usage.CacheQuotaHint>);
+    field public static final String SERVICE_INTERFACE = "android.app.usage.CacheQuotaService";
+  }
+
+  public class NetworkStatsManager {
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void registerNetworkStatsProvider(@NonNull String, @NonNull android.net.netstats.provider.NetworkStatsProvider);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void unregisterNetworkStatsProvider(@NonNull android.net.netstats.provider.NetworkStatsProvider);
+  }
+
+  public static final class UsageEvents.Event {
+    method public int getInstanceId();
+    method @Nullable public String getNotificationChannelId();
+    method @Nullable public String getTaskRootClassName();
+    method @Nullable public String getTaskRootPackageName();
+    method public boolean isInstantApp();
+    field public static final int NOTIFICATION_INTERRUPTION = 12; // 0xc
+    field public static final int NOTIFICATION_SEEN = 10; // 0xa
+    field public static final int SLICE_PINNED = 14; // 0xe
+    field public static final int SLICE_PINNED_PRIV = 13; // 0xd
+    field public static final int SYSTEM_INTERACTION = 6; // 0x6
+  }
+
+  public final class UsageStats implements android.os.Parcelable {
+    method public int getAppLaunchCount();
+    method public long getLastTimeAnyComponentUsed();
+  }
+
+  public final class UsageStatsManager {
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getAppStandbyBucket(String);
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,java.lang.Integer> getAppStandbyBuckets();
+    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long getLastTimeAnyComponentUsed(@NonNull String);
+    method public int getUsageSource();
+    method @RequiresPermission(android.Manifest.permission.BIND_CARRIER_SERVICES) public void onCarrierPrivilegedAppsChanged();
+    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void registerAppUsageLimitObserver(int, @NonNull String[], @NonNull java.time.Duration, @NonNull java.time.Duration, @Nullable android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerUsageSessionObserver(int, @NonNull String[], @NonNull java.time.Duration, @NonNull java.time.Duration, @NonNull android.app.PendingIntent, @Nullable android.app.PendingIntent);
+    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
+    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
+    method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBucket(String, int);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBuckets(java.util.Map<java.lang.String,java.lang.Integer>);
+    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle);
+    field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID";
+    field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT";
+    field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED";
+    field public static final int STANDBY_BUCKET_EXEMPTED = 5; // 0x5
+    field public static final int STANDBY_BUCKET_NEVER = 50; // 0x32
+    field public static final int USAGE_SOURCE_CURRENT_ACTIVITY = 2; // 0x2
+    field public static final int USAGE_SOURCE_TASK_ROOT_ACTIVITY = 1; // 0x1
+  }
+
+}
+
+package android.apphibernation {
+
+  public class AppHibernationManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.List<java.lang.String> getHibernatingPackagesForUser();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingForUser(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingGlobally(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingForUser(@NonNull String, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingGlobally(@NonNull String, boolean);
+  }
+
+}
+
+package android.bluetooth {
+
+  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1
+    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2
+    field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0
+    field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0
+    field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0
+    field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1
+    field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff
+    field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1
+    field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile {
+    method public void finalize();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED";
+  }
+
+  public final class BluetoothAdapter {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean addOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void generateLocalOobData(int, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OobDataCallback);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis();
+    method public boolean isBleScanAlwaysAvailable();
+    method public boolean isLeEnabled();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean removeActiveDevice(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean removeOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean setActiveDevice(@NonNull android.bluetooth.BluetoothDevice, int);
+    field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
+    field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE";
+    field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2
+    field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0
+    field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1
+  }
+
+  public static interface BluetoothAdapter.OnMetadataChangedListener {
+    method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]);
+  }
+
+  public static interface BluetoothAdapter.OobDataCallback {
+    method public void onError(int);
+    method public void onOobData(int, @NonNull android.bluetooth.OobData);
+  }
+
+  public final class BluetoothDevice implements android.os.Parcelable {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean cancelBondProcess();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData);
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode();
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int);
+    field public static final int ACCESS_ALLOWED = 1; // 0x1
+    field public static final int ACCESS_REJECTED = 2; // 0x2
+    field public static final int ACCESS_UNKNOWN = 0; // 0x0
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED";
+    field public static final String DEVICE_TYPE_DEFAULT = "Default";
+    field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset";
+    field public static final String DEVICE_TYPE_WATCH = "Watch";
+    field public static final int METADATA_COMPANION_APP = 4; // 0x4
+    field public static final int METADATA_DEVICE_TYPE = 17; // 0x11
+    field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10
+    field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3
+    field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6
+    field public static final int METADATA_MAIN_BATTERY = 18; // 0x12
+    field public static final int METADATA_MAIN_CHARGING = 19; // 0x13
+    field public static final int METADATA_MAIN_ICON = 5; // 0x5
+    field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14
+    field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0
+    field public static final int METADATA_MAX_LENGTH = 2048; // 0x800
+    field public static final int METADATA_MODEL_NAME = 1; // 0x1
+    field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2
+    field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc
+    field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf
+    field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9
+    field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17
+    field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa
+    field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd
+    field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7
+    field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15
+    field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb
+    field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe
+    field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8
+    field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16
+  }
+
+  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+  }
+
+  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+  }
+
+  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+  }
+
+  public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED";
+  }
+
+  public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
+    method public void close();
+    method protected void finalize();
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED";
+  }
+
+  public final class BluetoothMapClient implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.SEND_SMS}) public boolean sendMessage(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.Collection<android.net.Uri>, @NonNull String, @Nullable android.app.PendingIntent, @Nullable android.app.PendingIntent);
+  }
+
+  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn();
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED";
+    field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED";
+    field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE";
+    field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE";
+    field public static final int LOCAL_NAP_ROLE = 1; // 0x1
+    field public static final int LOCAL_PANU_ROLE = 2; // 0x2
+    field public static final int PAN_ROLE_NONE = 0; // 0x0
+    field public static final int REMOTE_NAP_ROLE = 1; // 0x1
+    field public static final int REMOTE_PANU_ROLE = 2; // 0x2
+    field public static final int TETHERING_STATE_OFF = 1; // 0x1
+    field public static final int TETHERING_STATE_ON = 2; // 0x2
+  }
+
+  public class BluetoothPbap implements android.bluetooth.BluetoothProfile {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
+    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED";
+  }
+
+  public interface BluetoothProfile {
+    field public static final int A2DP_SINK = 11; // 0xb
+    field public static final int AVRCP_CONTROLLER = 12; // 0xc
+    field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64
+    field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0
+    field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff
+    field public static final int HEADSET_CLIENT = 16; // 0x10
+    field public static final int MAP_CLIENT = 18; // 0x12
+    field public static final int PAN = 5; // 0x5
+    field public static final int PBAP_CLIENT = 17; // 0x11
+    field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0
+    field @Deprecated public static final int PRIORITY_ON = 100; // 0x64
+  }
+
+  public final class BluetoothStatusCodes {
+    field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8
+  }
+
+  public final class BluetoothUuid {
+    method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]);
+    method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]);
+    field @NonNull public static final android.os.ParcelUuid A2DP_SINK;
+    field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE;
+    field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST;
+    field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER;
+    field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET;
+    field @NonNull public static final android.os.ParcelUuid BASE_UUID;
+    field @NonNull public static final android.os.ParcelUuid BNEP;
+    field @NonNull public static final android.os.ParcelUuid DIP;
+    field @NonNull public static final android.os.ParcelUuid HEARING_AID;
+    field @NonNull public static final android.os.ParcelUuid HFP;
+    field @NonNull public static final android.os.ParcelUuid HFP_AG;
+    field @NonNull public static final android.os.ParcelUuid HID;
+    field @NonNull public static final android.os.ParcelUuid HOGP;
+    field @NonNull public static final android.os.ParcelUuid HSP;
+    field @NonNull public static final android.os.ParcelUuid HSP_AG;
+    field @NonNull public static final android.os.ParcelUuid LE_AUDIO;
+    field @NonNull public static final android.os.ParcelUuid MAP;
+    field @NonNull public static final android.os.ParcelUuid MAS;
+    field @NonNull public static final android.os.ParcelUuid MNS;
+    field @NonNull public static final android.os.ParcelUuid NAP;
+    field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH;
+    field @NonNull public static final android.os.ParcelUuid PANU;
+    field @NonNull public static final android.os.ParcelUuid PBAP_PCE;
+    field @NonNull public static final android.os.ParcelUuid PBAP_PSE;
+    field @NonNull public static final android.os.ParcelUuid SAP;
+    field public static final int UUID_BYTES_128_BIT = 16; // 0x10
+    field public static final int UUID_BYTES_16_BIT = 2; // 0x2
+    field public static final int UUID_BYTES_32_BIT = 4; // 0x4
+    field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL;
+  }
+
+  public final class BufferConstraint implements android.os.Parcelable {
+    ctor public BufferConstraint(int, int, int);
+    method public int describeContents();
+    method public int getDefaultMillis();
+    method public int getMaxMillis();
+    method public int getMinMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR;
+  }
+
+  public final class BufferConstraints implements android.os.Parcelable {
+    ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>);
+    method public int describeContents();
+    method @Nullable public android.bluetooth.BufferConstraint forCodec(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR;
+  }
+
+  public final class OobData implements android.os.Parcelable {
+    method @NonNull public byte[] getClassOfDevice();
+    method @NonNull public byte[] getClassicLength();
+    method @NonNull public byte[] getConfirmationHash();
+    method @NonNull public byte[] getDeviceAddressWithType();
+    method @Nullable public byte[] getDeviceName();
+    method @Nullable public byte[] getLeAppearance();
+    method @NonNull public int getLeDeviceRole();
+    method @NonNull public int getLeFlags();
+    method @Nullable public byte[] getLeTemporaryKey();
+    method @NonNull public byte[] getRandomizerHash();
+    field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3
+    field public static final int CONFIRMATION_OCTETS = 16; // 0x10
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
+    field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7
+    field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2
+    field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1
+    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3
+    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2
+    field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1
+    field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1
+    field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0
+    field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2
+    field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1
+    field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0
+    field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3
+    field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4
+    field public static final int LE_TK_OCTETS = 16; // 0x10
+    field public static final int OOB_LENGTH_OCTETS = 2; // 0x2
+    field public static final int RANDOMIZER_OCTETS = 16; // 0x10
+  }
+
+  public static final class OobData.ClassicBuilder {
+    ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
+    method @NonNull public android.bluetooth.OobData build();
+    method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]);
+    method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]);
+    method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]);
+  }
+
+  public static final class OobData.LeBuilder {
+    ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int);
+    method @NonNull public android.bluetooth.OobData build();
+    method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]);
+    method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int);
+    method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]);
+    method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]);
+  }
+
+}
+
+package android.bluetooth.le {
+
+  public final class BluetoothLeScanner {
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(java.util.List<android.bluetooth.le.ScanFilter>, android.bluetooth.le.ScanSettings, android.os.WorkSource, android.bluetooth.le.ScanCallback);
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
+  }
+
+  public final class ResultStorageDescriptor implements android.os.Parcelable {
+    ctor public ResultStorageDescriptor(int, int, int);
+    method public int describeContents();
+    method public int getLength();
+    method public int getOffset();
+    method public int getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
+  }
+
+  public final class ScanFilter implements android.os.Parcelable {
+    method public int getAddressType();
+    method @Nullable public byte[] getIrk();
+  }
+
+  public static final class ScanFilter.Builder {
+    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int);
+    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]);
+    field public static final int LEN_IRK_OCTETS = 16; // 0x10
+  }
+
+  public final class ScanSettings implements android.os.Parcelable {
+    field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3
+    field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
+    field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
+  }
+
+  public static final class ScanSettings.Builder {
+    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
+  }
+
+  public final class TruncatedFilter {
+    ctor public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
+    method public android.bluetooth.le.ScanFilter getFilter();
+    method public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
+  }
+
+}
+
+package android.companion {
+
+  public final class CompanionDeviceManager {
+    method @RequiresPermission(android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES) public void associate(@NonNull String, @NonNull android.net.MacAddress, @NonNull byte[]);
+    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean canPairWithoutPrompt(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle);
+  }
+
+}
+
+package android.content {
+
+  public class ApexEnvironment {
+    method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String);
+    method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle);
+    method @NonNull public java.io.File getDeviceProtectedDataDir();
+    method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle);
+  }
+
+  public final class AttributionSource implements android.os.Parcelable {
+    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
+  }
+
+  public static final class AttributionSource.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.AttributionSource.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
+  }
+
+  public abstract class BroadcastReceiver {
+    method @NonNull public final android.os.UserHandle getSendingUser();
+  }
+
+  public class ClipboardManager extends android.text.ClipboardManager {
+    method @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public void setPrimaryClipAsPackage(@NonNull android.content.ClipData, @NonNull String);
+  }
+
+  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
+  }
+
+  public class ContentProviderClient implements java.lang.AutoCloseable {
+    method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long);
+  }
+
+  public abstract class ContentResolver {
+    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
+    method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File);
+    method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
+    method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
+    method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
+  }
+
+  public abstract class Context {
+    method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int);
+    method public abstract android.content.Context createCredentialProtectedStorageContext();
+    method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Nullable public abstract java.io.File getPreloadsFileCache();
+    method public abstract boolean isCredentialProtectedStorage();
+    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.content.Intent registerReceiverForAllUsers(@Nullable android.content.BroadcastReceiver, @NonNull android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler);
+    method public abstract void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
+    method public abstract void sendOrderedBroadcast(@NonNull android.content.Intent, @Nullable String, @Nullable android.os.Bundle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
+    field public static final String APP_HIBERNATION_SERVICE = "app_hibernation";
+    field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
+    field public static final String APP_PREDICTION_SERVICE = "app_prediction";
+    field public static final String BACKUP_SERVICE = "backup";
+    field public static final String BATTERY_STATS_SERVICE = "batterystats";
+    field public static final int BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS = 1048576; // 0x100000
+    field public static final int BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND = 262144; // 0x40000
+    field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions";
+    field public static final String CONTEXTHUB_SERVICE = "contexthub";
+    field public static final String ETHERNET_SERVICE = "ethernet";
+    field public static final String EUICC_CARD_SERVICE = "euicc_card";
+    field public static final String FONT_SERVICE = "font";
+    field public static final String HDMI_CONTROL_SERVICE = "hdmi_control";
+    field public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
+    field public static final String MUSIC_RECOGNITION_SERVICE = "music_recognition";
+    field public static final String NETD_SERVICE = "netd";
+    field public static final String NETWORK_SCORE_SERVICE = "network_score";
+    field public static final String OEM_LOCK_SERVICE = "oem_lock";
+    field public static final String PERMISSION_CONTROLLER_SERVICE = "permission_controller";
+    field public static final String PERMISSION_SERVICE = "permission";
+    field public static final String PERSISTENT_DATA_BLOCK_SERVICE = "persistent_data_block";
+    field public static final String REBOOT_READINESS_SERVICE = "reboot_readiness";
+    field public static final String ROLLBACK_SERVICE = "rollback";
+    field public static final String SEARCH_UI_SERVICE = "search_ui";
+    field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
+    field public static final String SMARTSPACE_SERVICE = "smartspace";
+    field public static final String STATS_MANAGER = "stats";
+    field public static final String STATUS_BAR_SERVICE = "statusbar";
+    field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
+    field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
+    field public static final String TETHERING_SERVICE = "tethering";
+    field public static final String TRANSLATION_MANAGER_SERVICE = "translation";
+    field public static final String UI_TRANSLATION_SERVICE = "ui_translation";
+    field public static final String VR_SERVICE = "vrmanager";
+    field public static final String WIFI_NL80211_SERVICE = "wifinl80211";
+    field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager";
+    field public static final String WIFI_SCANNING_SERVICE = "wifiscanner";
+  }
+
+  public final class ContextParams {
+    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
+  }
+
+  public static final class ContextParams.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
+  }
+
+  public class ContextWrapper extends android.content.Context {
+    method public android.content.Context createCredentialProtectedStorageContext();
+    method @Nullable public java.io.File getPreloadsFileCache();
+    method public boolean isCredentialProtectedStorage();
+    method public void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
+    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
+    method public void sendOrderedBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
+  }
+
+  public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    field public static final String ACTION_ACTIVITY_RECOGNIZER = "android.intent.action.ACTIVITY_RECOGNIZER";
+    field public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
+    field public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
+    field public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
+    field public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
+    field public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
+    field public static final String ACTION_DOMAINS_NEED_VERIFICATION = "android.intent.action.DOMAINS_NEED_VERIFICATION";
+    field public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
+    field public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
+    field public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
+    field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
+    field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
+    field @Deprecated public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
+    field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
+    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
+    field public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
+    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
+    field public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
+    field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
+    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
+    field public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
+    field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
+    field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
+    field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
+    field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
+    field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
+    field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
+    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
+    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
+    field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
+    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_HISTORY = "android.intent.action.REVIEW_PERMISSION_HISTORY";
+    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
+    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
+    field public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
+    field @Deprecated public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
+    field public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
+    field public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
+    field public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
+    field public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
+    field public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
+    field public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
+    field public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
+    field public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
+    field public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
+    field public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
+    field public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
+    field public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
+    field public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
+    field public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
+    field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
+    field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
+    field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
+    field public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES";
+    field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
+    field public static final String EXTRA_REASON = "android.intent.extra.REASON";
+    field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
+    field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
+    field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
+    field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
+    field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
+    field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000
+    field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
+  }
+
+  public class IntentFilter implements android.os.Parcelable {
+    method public final int getOrder();
+    method public final void setOrder(int);
+  }
+
+}
+
+package android.content.integrity {
+
+  public class AppIntegrityManager {
+    method @NonNull public String getCurrentRuleSetProvider();
+    method @NonNull public String getCurrentRuleSetVersion();
+    method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
+    field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
+    field public static final int STATUS_FAILURE = 1; // 0x1
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public abstract class IntegrityFormula {
+    method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
+    method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
+    method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
+  }
+
+  public static final class IntegrityFormula.Application {
+    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
+    method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled();
+    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
+    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long);
+    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long);
+    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long);
+  }
+
+  public static final class IntegrityFormula.Installer {
+    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
+    method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest();
+    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
+  }
+
+  public static final class IntegrityFormula.SourceStamp {
+    method @NonNull public static android.content.integrity.IntegrityFormula notTrusted();
+    method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String);
+  }
+
+  public final class Rule implements android.os.Parcelable {
+    ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
+    method public int describeContents();
+    method public int getEffect();
+    method @NonNull public android.content.integrity.IntegrityFormula getFormula();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
+    field public static final int DENY = 0; // 0x0
+    field public static final int FORCE_ALLOW = 1; // 0x1
+  }
+
+  public class RuleSet {
+    method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
+    method @NonNull public String getVersion();
+  }
+
+  public static class RuleSet.Builder {
+    ctor public RuleSet.Builder();
+    method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
+    method @NonNull public android.content.integrity.RuleSet build();
+    method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
+  }
+
+}
+
+package android.content.om {
+
+  public final class OverlayInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getCategory();
+    method @NonNull public String getPackageName();
+    method @Nullable public String getTargetOverlayableName();
+    method @NonNull public String getTargetPackageName();
+    method public int getUserId();
+    method public boolean isEnabled();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayInfo> CREATOR;
+  }
+
+  public class OverlayManager {
+    method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public java.util.List<android.content.om.OverlayInfo> getOverlayInfosForTarget(@NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public void setEnabled(@NonNull String, boolean, @NonNull android.os.UserHandle) throws java.lang.IllegalStateException, java.lang.SecurityException;
+    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public void setEnabledExclusiveInCategory(@NonNull String, @NonNull android.os.UserHandle) throws java.lang.IllegalStateException, java.lang.SecurityException;
+  }
+
+}
+
+package android.content.pm {
+
+  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    method public boolean isEncryptionAware();
+    method public boolean isInstantApp();
+    method public boolean isOem();
+    method public boolean isProduct();
+    method public boolean isVendor();
+    field public String credentialProtectedDataDir;
+    field public int targetSandboxVersion;
+  }
+
+  public class CrossProfileApps {
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_PROFILES) public void startActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+  }
+
+  public class DataLoaderParams {
+    method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String);
+    method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String);
+    method @NonNull public final String getArguments();
+    method @NonNull public final android.content.ComponentName getComponentName();
+    method @NonNull public final int getType();
+  }
+
+  public final class InstallationFile {
+    method public long getLengthBytes();
+    method public int getLocation();
+    method @Nullable public byte[] getMetadata();
+    method @NonNull public String getName();
+    method @Nullable public byte[] getSignature();
+  }
+
+  public final class InstantAppInfo implements android.os.Parcelable {
+    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
+    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
+    method public int describeContents();
+    method @Nullable public android.content.pm.ApplicationInfo getApplicationInfo();
+    method @Nullable public String[] getGrantedPermissions();
+    method @NonNull public String getPackageName();
+    method @Nullable public String[] getRequestedPermissions();
+    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
+    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
+  }
+
+  public final class InstantAppIntentFilter implements android.os.Parcelable {
+    ctor public InstantAppIntentFilter(@Nullable String, @NonNull java.util.List<android.content.IntentFilter>);
+    method public int describeContents();
+    method public java.util.List<android.content.IntentFilter> getFilters();
+    method public String getSplitName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
+  }
+
+  public final class InstantAppRequestInfo implements android.os.Parcelable {
+    ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
+    method public int describeContents();
+    method @Nullable public int[] getHostDigestPrefix();
+    method @NonNull public android.content.Intent getIntent();
+    method @NonNull public String getToken();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public boolean isRequesterInstantApp();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
+  }
+
+  public final class InstantAppResolveInfo implements android.os.Parcelable {
+    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int);
+    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle);
+    ctor public InstantAppResolveInfo(@NonNull String, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>);
+    ctor public InstantAppResolveInfo(@Nullable android.os.Bundle);
+    method public int describeContents();
+    method public byte[] getDigestBytes();
+    method public int getDigestPrefix();
+    method @Nullable public android.os.Bundle getExtras();
+    method public java.util.List<android.content.pm.InstantAppIntentFilter> getIntentFilters();
+    method public long getLongVersionCode();
+    method public String getPackageName();
+    method @Deprecated public int getVersionCode();
+    method public boolean shouldLetInstallerDecide();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
+  }
+
+  public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
+    ctor public InstantAppResolveInfo.InstantAppDigest(@NonNull String);
+    method public int describeContents();
+    method public byte[][] getDigestBytes();
+    method public int[] getDigestPrefix();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
+    field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
+  }
+
+  public final class IntentFilterVerificationInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.util.Set<java.lang.String> getDomains();
+    method public String getPackageName();
+    method public int getStatus();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
+  }
+
+  public class LauncherApps {
+    method @Nullable public android.content.pm.LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String, @NonNull android.os.UserHandle);
+  }
+
+  public static final class LauncherApps.AppUsageLimit implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getTotalUsageLimit();
+    method public long getUsageRemaining();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
+  }
+
+  public static class LauncherApps.ShortcutQuery {
+    field @RequiresPermission(android.Manifest.permission.ACCESS_SHORTCUTS) public static final int FLAG_GET_PERSONS_DATA = 2048; // 0x800
+  }
+
+  public class PackageInstaller {
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
+    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
+    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
+    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
+    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
+    field public static final int LOCATION_DATA_APP = 0; // 0x0
+    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
+    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
+  }
+
+  public static class PackageInstaller.Session implements java.io.Closeable {
+    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
+    method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
+    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
+  }
+
+  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
+    method public boolean getAllocateAggressive();
+    method @Deprecated public boolean getAllowDowngrade();
+    method public int getAutoRevokePermissionsMode();
+    method public boolean getDontKillApp();
+    method public boolean getEnableRollback();
+    method @Nullable public String[] getGrantedRuntimePermissions();
+    method public boolean getInstallAsFullApp(boolean);
+    method public boolean getInstallAsInstantApp(boolean);
+    method public boolean getInstallAsVirtualPreload();
+    method public boolean getRequestDowngrade();
+    method public int getRollbackDataPolicy();
+    method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions();
+  }
+
+  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
+    method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
+    method @Deprecated public void setAllowDowngrade(boolean);
+    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
+    method public void setDontKillApp(boolean);
+    method public void setEnableRollback(boolean);
+    method public void setEnableRollback(boolean, int);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
+    method public void setInstallAsInstantApp(boolean);
+    method public void setInstallAsVirtualPreload();
+    method public void setRequestDowngrade(boolean);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
+  }
+
+  public class PackageItemInfo {
+    method public static void forceSafeLabels();
+    method @Deprecated @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager);
+    method @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager, @FloatRange(from=0) float, int);
+  }
+
+  public abstract class PackageManager {
+    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
+    method public abstract boolean arePermissionsIndividuallyControlled();
+    method @NonNull public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.pm.ApplicationInfo getApplicationInfoAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
+    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
+    method @Nullable public String getIncidentReportApproverPackageName();
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract android.graphics.drawable.Drawable getInstantAppIcon(String);
+    method @Nullable public abstract android.content.ComponentName getInstantAppInstallerComponent();
+    method @Nullable public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
+    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
+    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
+    method @android.content.pm.PackageManager.PermissionFlags @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public abstract int getPermissionFlags(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
+    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
+    method @Deprecated public abstract int installExistingPackage(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @Deprecated public abstract int installExistingPackage(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceiversAsUser(@NonNull android.content.Intent, int, android.os.UserHandle);
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentActivitiesAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentContentProvidersAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentServicesAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
+    method public abstract void registerDexModule(@NonNull String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
+    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
+    method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
+    method public void sendDeviceCustomizationReadyBroadcast();
+    method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
+    method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable String);
+    method @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable android.content.pm.SuspendDialogInfo);
+    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
+    method public void setSystemAppState(@NonNull String, int);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public abstract void updatePermissionFlags(@NonNull String, @NonNull String, @android.content.pm.PackageManager.PermissionFlags int, @android.content.pm.PackageManager.PermissionFlags int, @NonNull android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.INTENT_FILTER_VERIFICATION_AGENT) public abstract void verifyIntentFilter(int, int, @NonNull java.util.List<java.lang.String>);
+    field public static final String ACTION_REQUEST_PERMISSIONS = "android.content.pm.action.REQUEST_PERMISSIONS";
+    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
+    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
+    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
+    field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
+    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
+    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
+    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
+    field public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION = "android.hardware.telephony.ims.singlereg";
+    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000
+    field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000
+    field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000
+    field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20
+    field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000
+    field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000
+    field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4
+    field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800
+    field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000
+    field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000
+    field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40
+    field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8
+    field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
+    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
+    field public static final int FLAG_PERMISSION_SELECTED_LOCATION_ACCURACY = 524288; // 0x80000
+    field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
+    field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
+    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
+    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
+    field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
+    field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
+    field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
+    field public static final int INSTALL_FAILED_CONTAINER_ERROR = -18; // 0xffffffee
+    field public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16; // 0xfffffff0
+    field public static final int INSTALL_FAILED_DEXOPT = -11; // 0xfffffff5
+    field public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5; // 0xfffffffb
+    field public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4; // 0xfffffffc
+    field public static final int INSTALL_FAILED_INTERNAL_ERROR = -110; // 0xffffff92
+    field public static final int INSTALL_FAILED_INVALID_APK = -2; // 0xfffffffe
+    field public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19; // 0xffffffed
+    field public static final int INSTALL_FAILED_INVALID_URI = -3; // 0xfffffffd
+    field public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20; // 0xffffffec
+    field public static final int INSTALL_FAILED_MISSING_FEATURE = -17; // 0xffffffef
+    field public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9; // 0xfffffff7
+    field public static final int INSTALL_FAILED_NEWER_SDK = -14; // 0xfffffff2
+    field public static final int INSTALL_FAILED_NO_SHARED_USER = -6; // 0xfffffffa
+    field public static final int INSTALL_FAILED_OLDER_SDK = -12; // 0xfffffff4
+    field public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23; // 0xffffffe9
+    field public static final int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26; // 0xffffffe6
+    field public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10; // 0xfffffff6
+    field public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27; // 0xffffffe5
+    field public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8; // 0xfffffff8
+    field public static final int INSTALL_FAILED_TEST_ONLY = -15; // 0xfffffff1
+    field public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7; // 0xfffffff9
+    field public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22; // 0xffffffea
+    field public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21; // 0xffffffeb
+    field public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101; // 0xffffff9b
+    field public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106; // 0xffffff96
+    field public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107; // 0xffffff95
+    field public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105; // 0xffffff97
+    field public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104; // 0xffffff98
+    field public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109; // 0xffffff93
+    field public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108; // 0xffffff94
+    field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c
+    field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99
+    field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a
+    field public static final int INSTALL_SUCCEEDED = 1; // 0x1
+    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2
+    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4
+    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK = 1; // 0x1
+    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3; // 0x3
+    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
+    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
+    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
+    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
+    field public static final int MATCH_ANY_USER = 4194304; // 0x400000
+    field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
+    field public static final int MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS = 536870912; // 0x20000000
+    field public static final int MATCH_INSTANT = 8388608; // 0x800000
+    field public static final int MODULE_APEX_NAME = 1; // 0x1
+    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
+    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
+    field public static final int RESTRICTION_NONE = 0; // 0x0
+    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0; // 0x0
+    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1; // 0x1
+    field public static final int SYSTEM_APP_STATE_INSTALLED = 2; // 0x2
+    field public static final int SYSTEM_APP_STATE_UNINSTALLED = 3; // 0x3
+  }
+
+  public abstract static class PackageManager.DexModuleRegisterCallback {
+    ctor public PackageManager.DexModuleRegisterCallback();
+    method public abstract void onDexModuleRegistered(String, boolean, String);
+  }
+
+  public static interface PackageManager.OnPermissionsChangedListener {
+    method public void onPermissionsChanged(int);
+  }
+
+  @IntDef(prefix={"FLAG_PERMISSION_"}, value={android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET, android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_POLICY_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE, android.content.pm.PackageManager.FLAG_PERMISSION_SYSTEM_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT, android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED, android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_APPLY_RESTRICTION, android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_ROLE, android.content.pm.PackageManager.FLAG_PERMISSION_REVOKED_COMPAT, android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME, android.content.pm.PackageManager.FLAG_PERMISSION_AUTO_REVOKED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PackageManager.PermissionFlags {
+  }
+
+  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    field @StringRes public final int backgroundRequestDetailResourceId;
+    field @StringRes public final int backgroundRequestResourceId;
+    field @StringRes public final int requestDetailResourceId;
+    field @StringRes public int requestRes;
+  }
+
+  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    field public static final int FLAG_REMOVED = 2; // 0x2
+    field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000
+    field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000
+    field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000
+    field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
+    field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
+    field public static final int PROTECTION_FLAG_KNOWN_SIGNER = 134217728; // 0x8000000
+    field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
+    field public static final int PROTECTION_FLAG_RECENTS = 33554432; // 0x2000000
+    field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
+    field public static final int PROTECTION_FLAG_ROLE = 67108864; // 0x4000000
+    field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
+    field @Deprecated public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
+    field @Nullable public final String backgroundPermission;
+    field @StringRes public int requestRes;
+  }
+
+  public class ResolveInfo implements android.os.Parcelable {
+    field public boolean handleAllWebDataURI;
+  }
+
+  public final class ShortcutInfo implements android.os.Parcelable {
+    method @Nullable public android.app.Person[] getPersons();
+  }
+
+  public class ShortcutManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS) @WorkerThread public java.util.List<android.content.pm.ShortcutManager.ShareShortcutInfo> getShareTargets(@NonNull android.content.IntentFilter);
+    method public boolean hasShareTargets(@NonNull String);
+  }
+
+  public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
+    method @NonNull public android.content.ComponentName getTargetComponent();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
+  }
+
+  public final class SuspendDialogInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0
+    field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
+  }
+
+  public static final class SuspendDialogInfo.Builder {
+    ctor public SuspendDialogInfo.Builder();
+    method @NonNull public android.content.pm.SuspendDialogInfo build();
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@NonNull String);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int);
+    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@NonNull String);
+  }
+
+}
+
+package android.content.pm.dex {
+
+  public class ArtManager {
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean isRuntimeProfilingEnabled(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void snapshotRuntimeProfile(int, @Nullable String, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.content.pm.dex.ArtManager.SnapshotRuntimeProfileCallback);
+    field public static final int PROFILE_APPS = 0; // 0x0
+    field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1
+    field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1
+    field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2
+    field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0
+  }
+
+  public abstract static class ArtManager.SnapshotRuntimeProfileCallback {
+    ctor public ArtManager.SnapshotRuntimeProfileCallback();
+    method public abstract void onError(int);
+    method public abstract void onSuccess(android.os.ParcelFileDescriptor);
+  }
+
+}
+
+package android.content.pm.permission {
+
+  @Deprecated public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
+    ctor @Deprecated public RuntimePermissionPresentationInfo(CharSequence, boolean, boolean);
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public CharSequence getLabel();
+    method @Deprecated public boolean isGranted();
+    method @Deprecated public boolean isStandard();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
+  }
+
+}
+
+package android.content.pm.verify.domain {
+
+  public final class DomainOwner implements android.os.Parcelable {
+    ctor public DomainOwner(@NonNull String, boolean);
+    method public int describeContents();
+    method @NonNull public String getPackageName();
+    method public boolean isOverrideable();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainOwner> CREATOR;
+  }
+
+  public final class DomainVerificationInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
+    method @NonNull public java.util.UUID getIdentifier();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationInfo> CREATOR;
+    field public static final int STATE_FIRST_VERIFIER_DEFINED = 1024; // 0x400
+    field public static final int STATE_MODIFIABLE_UNVERIFIED = 3; // 0x3
+    field public static final int STATE_MODIFIABLE_VERIFIED = 4; // 0x4
+    field public static final int STATE_NO_RESPONSE = 0; // 0x0
+    field public static final int STATE_SUCCESS = 1; // 0x1
+    field public static final int STATE_UNMODIFIABLE = 2; // 0x2
+  }
+
+  public final class DomainVerificationManager {
+    method @Nullable @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public android.content.pm.verify.domain.DomainVerificationInfo getDomainVerificationInfo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.SortedSet<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @CheckResult @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public int setDomainVerificationStatus(@NonNull java.util.UUID, @NonNull java.util.Set<java.lang.String>, int) throws android.content.pm.PackageManager.NameNotFoundException;
+    method @CheckResult @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public int setDomainVerificationUserSelection(@NonNull java.util.UUID, @NonNull java.util.Set<java.lang.String>, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
+    field public static final int ERROR_DOMAIN_SET_ID_INVALID = 1; // 0x1
+    field public static final int ERROR_UNABLE_TO_APPROVE = 3; // 0x3
+    field public static final int ERROR_UNKNOWN_DOMAIN = 2; // 0x2
+    field public static final String EXTRA_VERIFICATION_REQUEST = "android.content.pm.verify.domain.extra.VERIFICATION_REQUEST";
+    field public static final int STATUS_OK = 0; // 0x0
+  }
+
+  public final class DomainVerificationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Set<java.lang.String> getPackageNames();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationRequest> CREATOR;
+  }
+
+  public final class DomainVerificationUserState implements android.os.Parcelable {
+    method @NonNull public java.util.UUID getIdentifier();
+  }
+
+}
+
+package android.content.rollback {
+
+  public final class PackageRollbackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getPackageName();
+    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
+    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
+  }
+
+  public final class RollbackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
+    method public int getCommittedSessionId();
+    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
+    method public int getRollbackId();
+    method public boolean isStaged();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
+  }
+
+  public final class RollbackManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public void commitRollback(int, @NonNull java.util.List<android.content.pm.VersionedPackage>, @NonNull android.content.IntentSender);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
+    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
+    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
+    field public static final int STATUS_FAILURE = 1; // 0x1
+    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
+    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+}
+
+package android.debug {
+
+  public class AdbManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiQrSupported();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiSupported();
+  }
+
+}
+
+package android.graphics.fonts {
+
+  public final class FontFamilyUpdateRequest {
+    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.FontFamily> getFontFamilies();
+    method @NonNull public java.util.List<android.graphics.fonts.FontFileUpdateRequest> getFontFileUpdateRequests();
+  }
+
+  public static final class FontFamilyUpdateRequest.Builder {
+    ctor public FontFamilyUpdateRequest.Builder();
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.FontFamily);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFileUpdateRequest(@NonNull android.graphics.fonts.FontFileUpdateRequest);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest build();
+  }
+
+  public static final class FontFamilyUpdateRequest.Font {
+    method @NonNull public java.util.List<android.graphics.fonts.FontVariationAxis> getAxes();
+    method @IntRange(from=0) public int getIndex();
+    method @NonNull public String getPostScriptName();
+    method @NonNull public android.graphics.fonts.FontStyle getStyle();
+  }
+
+  public static final class FontFamilyUpdateRequest.Font.Builder {
+    ctor public FontFamilyUpdateRequest.Font.Builder(@NonNull String, @NonNull android.graphics.fonts.FontStyle);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font build();
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setAxes(@NonNull java.util.List<android.graphics.fonts.FontVariationAxis>);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setIndex(@IntRange(from=0) int);
+  }
+
+  public static final class FontFamilyUpdateRequest.FontFamily {
+    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font> getFonts();
+    method @NonNull public String getName();
+  }
+
+  public static final class FontFamilyUpdateRequest.FontFamily.Builder {
+    ctor public FontFamilyUpdateRequest.FontFamily.Builder(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily.Builder addFont(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.Font);
+    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily build();
+  }
+
+  public final class FontFileUpdateRequest {
+    ctor public FontFileUpdateRequest(@NonNull android.os.ParcelFileDescriptor, @NonNull byte[]);
+    method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor();
+    method @NonNull public byte[] getSignature();
+  }
+
+  public class FontManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
+    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
+    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
+    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
+    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
+    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
+    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
+    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
+    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
+    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+}
+
+package android.hardware {
+
+  public final class Sensor {
+    method public java.util.UUID getUuid();
+    method public boolean isDataInjectionSupported();
+    field public static final String STRING_TYPE_DYNAMIC_SENSOR_META = "android.sensor.dynamic_sensor_meta";
+    field public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture";
+    field public static final int TYPE_DYNAMIC_SENSOR_META = 32; // 0x20
+    field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a
+  }
+
+  public abstract class SensorManager {
+    method public boolean initDataInjection(boolean);
+    method public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
+  }
+
+  public final class SensorPrivacyManager {
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
+  }
+
+  public static interface SensorPrivacyManager.OnSensorPrivacyChangedListener {
+    method public void onSensorPrivacyChanged(int, boolean);
+  }
+
+}
+
+package android.hardware.biometrics {
+
+  public static interface BiometricManager.Authenticators {
+    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
+    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
+  }
+
+}
+
+package android.hardware.camera2 {
+
+  public abstract class CameraDevice implements java.lang.AutoCloseable {
+    method @Deprecated public abstract void createCustomCaptureSession(android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
+    field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1
+    field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0
+    field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000
+  }
+
+  public final class CameraManager {
+    method @RequiresPermission(allOf={android.Manifest.permission.SYSTEM_CAMERA, android.Manifest.permission.CAMERA}) public void openCamera(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException;
+  }
+
+  public abstract static class CameraManager.AvailabilityCallback {
+    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
+  }
+
+}
+
+package android.hardware.camera2.params {
+
+  public final class OutputConfiguration implements android.os.Parcelable {
+    ctor public OutputConfiguration(@NonNull android.view.Surface, int);
+    ctor public OutputConfiguration(int, @NonNull android.view.Surface, int);
+    method public int getRotation();
+    field public static final int ROTATION_0 = 0; // 0x0
+    field public static final int ROTATION_180 = 2; // 0x2
+    field public static final int ROTATION_270 = 3; // 0x3
+    field public static final int ROTATION_90 = 1; // 0x1
+  }
+
+}
+
+package android.hardware.display {
+
+  public final class AmbientBrightnessDayStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public float[] getBucketBoundaries();
+    method public java.time.LocalDate getLocalDate();
+    method public float[] getStats();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
+  }
+
+  public final class BrightnessChangeEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
+    field public final float batteryLevel;
+    field public final float brightness;
+    field public final long colorSampleDuration;
+    field public final int colorTemperature;
+    field @Nullable public final long[] colorValueBuckets;
+    field public final boolean isDefaultBrightnessConfig;
+    field public final boolean isUserSetBrightness;
+    field public final float lastBrightness;
+    field public final long[] luxTimestamps;
+    field public final float[] luxValues;
+    field public final boolean nightMode;
+    field public final String packageName;
+    field public final float powerBrightnessFactor;
+    field public final boolean reduceBrightColors;
+    field public final float reduceBrightColorsOffset;
+    field public final int reduceBrightColorsStrength;
+    field public final long timeStamp;
+    field @NonNull public final String uniqueDisplayId;
+  }
+
+  public final class BrightnessConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
+    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
+    method public android.util.Pair<float[],float[]> getCurve();
+    method public float getShortTermModelLowerLuxMultiplier();
+    method public long getShortTermModelTimeoutMillis();
+    method public float getShortTermModelUpperLuxMultiplier();
+    method public boolean shouldCollectColorSamples();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
+    field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL
+  }
+
+  public static class BrightnessConfiguration.Builder {
+    ctor public BrightnessConfiguration.Builder(float[], float[]);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
+    method @NonNull public android.hardware.display.BrightnessConfiguration build();
+    method public int getMaxCorrectionsByCategory();
+    method public int getMaxCorrectionsByPackageName();
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float);
+    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean);
+  }
+
+  public final class BrightnessCorrection implements android.os.Parcelable {
+    method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
+    method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
+  }
+
+  public final class ColorDisplayManager {
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getNightDisplayAutoMode();
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getTransformCapabilities();
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setAppSaturationLevel(@NonNull String, @IntRange(from=0, to=100) int);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayAutoMode(int);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomEndTime(@NonNull java.time.LocalTime);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomStartTime(@NonNull java.time.LocalTime);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setSaturationLevel(@IntRange(from=0, to=100) int);
+    field public static final int AUTO_MODE_CUSTOM_TIME = 1; // 0x1
+    field public static final int AUTO_MODE_DISABLED = 0; // 0x0
+    field public static final int AUTO_MODE_TWILIGHT = 2; // 0x2
+    field public static final int CAPABILITY_HARDWARE_ACCELERATION_GLOBAL = 2; // 0x2
+    field public static final int CAPABILITY_HARDWARE_ACCELERATION_PER_APP = 4; // 0x4
+    field public static final int CAPABILITY_NONE = 0; // 0x0
+    field public static final int CAPABILITY_PROTECTED_CONTENT = 1; // 0x1
+  }
+
+  public final class DisplayManager {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_LIGHT_STATS) public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
+    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
+    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForDisplay(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents();
+    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
+    method public android.util.Pair<float[],float[]> getMinimumBrightnessCurve();
+    method public android.graphics.Point getStableDisplaySize();
+    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
+    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfigurationForDisplay(@NonNull android.hardware.display.BrightnessConfiguration, @NonNull String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float);
+  }
+
+}
+
+package android.hardware.hdmi {
+
+  public abstract class HdmiClient {
+    method public android.hardware.hdmi.HdmiDeviceInfo getActiveSource();
+    method public void sendKeyEvent(int, boolean);
+    method public void sendVendorCommand(int, byte[], boolean);
+    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener);
+  }
+
+  public final class HdmiControlManager {
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.Integer> getAllowedCecSettingIntValues(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getAllowedCecSettingStringValues(@NonNull String);
+    method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
+    method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecEnabled();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVersion();
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVolumeControlEnabled();
+    method public int getPhysicalAddress();
+    method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerControlMode();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerStateChangeOnActiveSourceLost();
+    method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioModeMuting();
+    method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvSendStandbyOnSleep();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvWakeOnOneTouchPlay();
+    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getUserCecSettings();
+    method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+    method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
+    method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecEnabled(@NonNull int);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVersion(@NonNull int);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVolumeControlEnabled(int);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerControlMode(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerStateChangeOnActiveSourceLost(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioModeMuting(@NonNull int);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvSendStandbyOnSleep(@NonNull int);
+    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvWakeOnOneTouchPlay(@NonNull int);
+    field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
+    field public static final int AVR_VOLUME_MUTED = 101; // 0x65
+    field public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
+    field public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
+    field public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "power_control_mode";
+    field public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = "power_state_change_on_active_source_lost";
+    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING = "system_audio_mode_muting";
+    field public static final String CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP = "tv_send_standby_on_sleep";
+    field public static final String CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY = "tv_wake_on_one_touch_play";
+    field public static final String CEC_SETTING_NAME_VOLUME_CONTROL_MODE = "volume_control_enabled";
+    field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
+    field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
+    field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
+    field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80
+    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2
+    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1
+    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0
+    field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1
+    field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3
+    field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0
+    field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2
+    field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1
+    field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2
+    field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
+    field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
+    field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
+    field public static final int HDMI_CEC_CONTROL_DISABLED = 0; // 0x0
+    field public static final int HDMI_CEC_CONTROL_ENABLED = 1; // 0x1
+    field public static final int HDMI_CEC_VERSION_1_4_B = 5; // 0x5
+    field public static final int HDMI_CEC_VERSION_2_0 = 6; // 0x6
+    field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
+    field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
+    field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
+    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd
+    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe
+    field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32
+    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa
+    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9
+    field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15
+    field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13
+    field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16
+    field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10
+    field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc
+    field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14
+    field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f
+    field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17
+    field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11
+    field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30
+    field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b
+    field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3
+    field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1
+    field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2
+    field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4
+    field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a
+    field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6
+    field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5
+    field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7
+    field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
+    field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
+    field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
+    field public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
+    field public static final String POWER_CONTROL_MODE_NONE = "none";
+    field public static final String POWER_CONTROL_MODE_TV = "to_tv";
+    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
+    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
+    field public static final int POWER_STATUS_ON = 0; // 0x0
+    field public static final int POWER_STATUS_STANDBY = 1; // 0x1
+    field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
+    field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3
+    field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff
+    field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4
+    field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7
+    field public static final int RESULT_EXCEPTION = 5; // 0x5
+    field public static final int RESULT_INCORRECT_MODE = 6; // 0x6
+    field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+    field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
+    field public static final int RESULT_TIMEOUT = 1; // 0x1
+    field public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0; // 0x0
+    field public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1; // 0x1
+    field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
+    field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
+    field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
+    field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0
+    field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2
+    field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1
+    field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3
+    field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2
+    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0
+    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9
+    field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8
+    field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8
+    field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb
+    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9
+    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa
+    field public static final int TV_SEND_STANDBY_ON_SLEEP_DISABLED = 0; // 0x0
+    field public static final int TV_SEND_STANDBY_ON_SLEEP_ENABLED = 1; // 0x1
+    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_DISABLED = 0; // 0x0
+    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_ENABLED = 1; // 0x1
+    field public static final int VOLUME_CONTROL_DISABLED = 0; // 0x0
+    field public static final int VOLUME_CONTROL_ENABLED = 1; // 0x1
+  }
+
+  public static interface HdmiControlManager.CecSettingChangeListener {
+    method public void onChange(@NonNull String);
+  }
+
+  @IntDef({android.hardware.hdmi.HdmiControlManager.RESULT_SUCCESS, android.hardware.hdmi.HdmiControlManager.RESULT_TIMEOUT, android.hardware.hdmi.HdmiControlManager.RESULT_SOURCE_NOT_AVAILABLE, android.hardware.hdmi.HdmiControlManager.RESULT_TARGET_NOT_AVAILABLE, android.hardware.hdmi.HdmiControlManager.RESULT_ALREADY_IN_PROGRESS, android.hardware.hdmi.HdmiControlManager.RESULT_EXCEPTION, android.hardware.hdmi.HdmiControlManager.RESULT_INCORRECT_MODE, android.hardware.hdmi.HdmiControlManager.RESULT_COMMUNICATION_FAILED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public static @interface HdmiControlManager.ControlCallbackResult {
+  }
+
+  public static interface HdmiControlManager.HotplugEventListener {
+    method public void onReceived(android.hardware.hdmi.HdmiHotplugEvent);
+  }
+
+  public static interface HdmiControlManager.VendorCommandListener {
+    method public void onControlStateChanged(boolean, int);
+    method public void onReceived(int, int, byte[], boolean);
+  }
+
+  public class HdmiDeviceInfo implements android.os.Parcelable {
+    ctor public HdmiDeviceInfo();
+    method public int describeContents();
+    method public int getAdopterId();
+    method public int getDeviceId();
+    method public int getDevicePowerStatus();
+    method public int getDeviceType();
+    method public String getDisplayName();
+    method public int getId();
+    method public int getLogicalAddress();
+    method public int getPhysicalAddress();
+    method public int getPortId();
+    method public int getVendorId();
+    method public static int idForCecDevice(int);
+    method public static int idForHardware(int);
+    method public static int idForMhlDevice(int);
+    method public boolean isCecDevice();
+    method public boolean isInactivated();
+    method public boolean isMhlDevice();
+    method public boolean isSourceType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ADDR_INTERNAL = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
+    field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
+    field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
+    field public static final int DEVICE_PLAYBACK = 4; // 0x4
+    field public static final int DEVICE_RECORDER = 1; // 0x1
+    field public static final int DEVICE_RESERVED = 2; // 0x2
+    field public static final int DEVICE_TUNER = 3; // 0x3
+    field public static final int DEVICE_TV = 0; // 0x0
+    field public static final int ID_INVALID = 65535; // 0xffff
+    field public static final android.hardware.hdmi.HdmiDeviceInfo INACTIVE_DEVICE;
+    field public static final int PATH_INTERNAL = 0; // 0x0
+    field public static final int PATH_INVALID = 65535; // 0xffff
+    field public static final int PORT_INVALID = -1; // 0xffffffff
+  }
+
+  public final class HdmiHotplugEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getPort();
+    method public boolean isConnected();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
+  }
+
+  public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
+    method public int getDeviceType();
+    method public void oneTouchPlay(android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback);
+    method public void queryDisplayStatus(android.hardware.hdmi.HdmiPlaybackClient.DisplayStatusCallback);
+    method public void sendStandby();
+  }
+
+  public static interface HdmiPlaybackClient.DisplayStatusCallback {
+    method public void onComplete(int);
+  }
+
+  public static interface HdmiPlaybackClient.OneTouchPlayCallback {
+    method public void onComplete(int);
+  }
+
+  public final class HdmiPortInfo implements android.os.Parcelable {
+    ctor public HdmiPortInfo(int, int, int, boolean, boolean, boolean);
+    method public int describeContents();
+    method public int getAddress();
+    method public int getId();
+    method public int getType();
+    method public boolean isArcSupported();
+    method public boolean isCecSupported();
+    method public boolean isMhlSupported();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
+    field public static final int PORT_INPUT = 0; // 0x0
+    field public static final int PORT_OUTPUT = 1; // 0x1
+  }
+
+  public abstract class HdmiRecordListener {
+    ctor public HdmiRecordListener();
+    method public void onClearTimerRecordingResult(int, int);
+    method public void onOneTouchRecordResult(int, int);
+    method public abstract android.hardware.hdmi.HdmiRecordSources.RecordSource onOneTouchRecordSourceRequested(int);
+    method public void onTimerRecordingResult(int, android.hardware.hdmi.HdmiRecordListener.TimerStatusData);
+  }
+
+  public static class HdmiRecordListener.TimerStatusData {
+    method public int getDurationHour();
+    method public int getDurationMinute();
+    method public int getExtraError();
+    method public int getMediaInfo();
+    method public int getNotProgammedError();
+    method public int getProgrammedInfo();
+    method public boolean isOverlapped();
+    method public boolean isProgrammed();
+  }
+
+  public final class HdmiRecordSources {
+    method public static boolean checkRecordSource(byte[]);
+    method public static android.hardware.hdmi.HdmiRecordSources.OwnSource ofOwnSource();
+  }
+
+  public static final class HdmiRecordSources.AnalogueServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
+  }
+
+  public static final class HdmiRecordSources.DigitalServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
+  }
+
+  public static final class HdmiRecordSources.ExternalPhysicalAddress extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
+  }
+
+  public static final class HdmiRecordSources.ExternalPlugData extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
+  }
+
+  public static final class HdmiRecordSources.OwnSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
+  }
+
+  public abstract static class HdmiRecordSources.RecordSource {
+  }
+
+  public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient {
+    method public int getDeviceType();
+    method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
+    method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
+    method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
+  }
+
+  public static interface HdmiSwitchClient.OnSelectListener {
+    method public void onSelect(@android.hardware.hdmi.HdmiControlManager.ControlCallbackResult int);
+  }
+
+  public class HdmiTimerRecordSources {
+    method public static boolean checkTimerRecordSource(int, byte[]);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.Duration durationOf(int, int);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.AnalogueServiceSource);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.DigitalServiceSource);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPhysicalAddress);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPlugData);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.Time timeOf(int, int);
+    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources.Time, android.hardware.hdmi.HdmiTimerRecordSources.Duration, int);
+    field public static final int RECORDING_SEQUENCE_REPEAT_FRIDAY = 32; // 0x20
+    field public static final int RECORDING_SEQUENCE_REPEAT_MONDAY = 2; // 0x2
+    field public static final int RECORDING_SEQUENCE_REPEAT_ONCE_ONLY = 0; // 0x0
+    field public static final int RECORDING_SEQUENCE_REPEAT_SATUREDAY = 64; // 0x40
+    field public static final int RECORDING_SEQUENCE_REPEAT_SUNDAY = 1; // 0x1
+    field public static final int RECORDING_SEQUENCE_REPEAT_THURSDAY = 16; // 0x10
+    field public static final int RECORDING_SEQUENCE_REPEAT_TUESDAY = 4; // 0x4
+    field public static final int RECORDING_SEQUENCE_REPEAT_WEDNESDAY = 8; // 0x8
+  }
+
+  public static final class HdmiTimerRecordSources.Duration {
+  }
+
+  public static final class HdmiTimerRecordSources.Time {
+  }
+
+  public static final class HdmiTimerRecordSources.TimerInfo {
+  }
+
+  public static final class HdmiTimerRecordSources.TimerRecordSource {
+  }
+
+  public final class HdmiTvClient extends android.hardware.hdmi.HdmiClient {
+    method public void clearTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
+    method public void deviceSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
+    method public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getDeviceList();
+    method public int getDeviceType();
+    method public void portSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
+    method public void sendMhlVendorCommand(int, int, int, byte[]);
+    method public void sendStandby(int);
+    method public void setHdmiMhlVendorCommandListener(android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener);
+    method public void setInputChangeListener(android.hardware.hdmi.HdmiTvClient.InputChangeListener);
+    method public void setRecordListener(@NonNull android.hardware.hdmi.HdmiRecordListener);
+    method public void setSystemAudioMode(boolean, android.hardware.hdmi.HdmiTvClient.SelectCallback);
+    method public void setSystemAudioMute(boolean);
+    method public void setSystemAudioVolume(int, int, int);
+    method public void startOneTouchRecord(int, @NonNull android.hardware.hdmi.HdmiRecordSources.RecordSource);
+    method public void startTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
+    method public void stopOneTouchRecord(int);
+    field public static final int VENDOR_DATA_SIZE = 16; // 0x10
+  }
+
+  public static interface HdmiTvClient.HdmiMhlVendorCommandListener {
+    method public void onReceived(int, int, int, byte[]);
+  }
+
+  public static interface HdmiTvClient.InputChangeListener {
+    method public void onChanged(android.hardware.hdmi.HdmiDeviceInfo);
+  }
+
+  public static interface HdmiTvClient.SelectCallback {
+    method public void onComplete(int);
+  }
+
+}
+
+package android.hardware.lights {
+
+  public final class LightState implements android.os.Parcelable {
+    ctor @Deprecated public LightState(@ColorInt int);
+  }
+
+  public abstract class LightsManager {
+    field @Deprecated public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
+  }
+
+  public static final class LightsRequest.Builder {
+    method @Deprecated @NonNull public android.hardware.lights.LightsRequest.Builder setLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
+  }
+
+}
+
+package android.hardware.location {
+
+  public class ContextHubClient implements java.io.Closeable {
+    method public void close();
+    method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub();
+    method @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
+  }
+
+  public class ContextHubClientCallback {
+    ctor public ContextHubClientCallback();
+    method public void onClientAuthorizationChanged(@NonNull android.hardware.location.ContextHubClient, long, int);
+    method public void onHubReset(android.hardware.location.ContextHubClient);
+    method public void onMessageFromNanoApp(android.hardware.location.ContextHubClient, android.hardware.location.NanoAppMessage);
+    method public void onNanoAppAborted(android.hardware.location.ContextHubClient, long, int);
+    method public void onNanoAppDisabled(android.hardware.location.ContextHubClient, long);
+    method public void onNanoAppEnabled(android.hardware.location.ContextHubClient, long);
+    method public void onNanoAppLoaded(android.hardware.location.ContextHubClient, long);
+    method public void onNanoAppUnloaded(android.hardware.location.ContextHubClient, long);
+  }
+
+  public class ContextHubInfo implements android.os.Parcelable {
+    ctor public ContextHubInfo();
+    method public int describeContents();
+    method public byte getChreApiMajorVersion();
+    method public byte getChreApiMinorVersion();
+    method public short getChrePatchVersion();
+    method public long getChrePlatformId();
+    method public int getId();
+    method public int getMaxPacketLengthBytes();
+    method public android.hardware.location.MemoryRegion[] getMemoryRegions();
+    method public String getName();
+    method public float getPeakMips();
+    method public float getPeakPowerDrawMw();
+    method public int getPlatformVersion();
+    method public float getSleepPowerDrawMw();
+    method public int getStaticSwVersion();
+    method public float getStoppedPowerDrawMw();
+    method public int[] getSupportedSensors();
+    method public String getToolchain();
+    method public int getToolchainVersion();
+    method public String getVendor();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
+  }
+
+  public class ContextHubIntentEvent {
+    method @NonNull public static android.hardware.location.ContextHubIntentEvent fromIntent(@NonNull android.content.Intent);
+    method public int getClientAuthorizationState();
+    method @NonNull public android.hardware.location.ContextHubInfo getContextHubInfo();
+    method public int getEventType();
+    method public int getNanoAppAbortCode();
+    method public long getNanoAppId();
+    method @NonNull public android.hardware.location.NanoAppMessage getNanoAppMessage();
+  }
+
+  public final class ContextHubManager {
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@Nullable android.content.Context, @NonNull android.hardware.location.ContextHubInfo, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.location.ContextHubClientCallback);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.ContextHubClientCallback, @NonNull java.util.concurrent.Executor);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.ContextHubClientCallback);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@Nullable android.content.Context, @NonNull android.hardware.location.ContextHubInfo, @NonNull android.app.PendingIntent, long);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.app.PendingIntent, long);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> disableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> enableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
+    method @Deprecated @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int[] findNanoAppOnHub(int, @NonNull android.hardware.location.NanoAppFilter);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int[] getContextHubHandles();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubInfo getContextHubInfo(int);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs();
+    method @Deprecated @Nullable @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> loadNanoApp(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.NanoAppBinary);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.util.List<android.hardware.location.NanoAppState>> queryNanoApps(@NonNull android.hardware.location.ContextHubInfo);
+    method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
+    method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int sendMessage(int, int, @NonNull android.hardware.location.ContextHubMessage);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int unloadNanoApp(int);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> unloadNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
+    method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
+    field public static final int AUTHORIZATION_DENIED = 0; // 0x0
+    field public static final int AUTHORIZATION_DENIED_GRACE_PERIOD = 1; // 0x1
+    field public static final int AUTHORIZATION_GRANTED = 2; // 0x2
+    field public static final int EVENT_CLIENT_AUTHORIZATION = 7; // 0x7
+    field public static final int EVENT_HUB_RESET = 6; // 0x6
+    field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4
+    field public static final int EVENT_NANOAPP_DISABLED = 3; // 0x3
+    field public static final int EVENT_NANOAPP_ENABLED = 2; // 0x2
+    field public static final int EVENT_NANOAPP_LOADED = 0; // 0x0
+    field public static final int EVENT_NANOAPP_MESSAGE = 5; // 0x5
+    field public static final int EVENT_NANOAPP_UNLOADED = 1; // 0x1
+    field public static final String EXTRA_CLIENT_AUTHORIZATION_STATE = "android.hardware.location.extra.CLIENT_AUTHORIZATION_STATE";
+    field public static final String EXTRA_CONTEXT_HUB_INFO = "android.hardware.location.extra.CONTEXT_HUB_INFO";
+    field public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
+    field public static final String EXTRA_MESSAGE = "android.hardware.location.extra.MESSAGE";
+    field public static final String EXTRA_NANOAPP_ABORT_CODE = "android.hardware.location.extra.NANOAPP_ABORT_CODE";
+    field public static final String EXTRA_NANOAPP_ID = "android.hardware.location.extra.NANOAPP_ID";
+  }
+
+  @Deprecated public abstract static class ContextHubManager.Callback {
+    ctor @Deprecated protected ContextHubManager.Callback();
+    method @Deprecated public abstract void onMessageReceipt(int, int, @NonNull android.hardware.location.ContextHubMessage);
+  }
+
+  @Deprecated public class ContextHubMessage implements android.os.Parcelable {
+    ctor @Deprecated public ContextHubMessage(int, int, byte[]);
+    method @Deprecated public int describeContents();
+    method @Deprecated public byte[] getData();
+    method @Deprecated public int getMsgType();
+    method @Deprecated public int getVersion();
+    method @Deprecated public void setMsgData(byte[]);
+    method @Deprecated public void setMsgType(int);
+    method @Deprecated public void setVersion(int);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
+  }
+
+  public class ContextHubTransaction<T> {
+    method public int getType();
+    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>, @NonNull java.util.concurrent.Executor);
+    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>);
+    method public static String typeToString(int, boolean);
+    method public android.hardware.location.ContextHubTransaction.Response<T> waitForResponse(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+    field public static final int RESULT_FAILED_AT_HUB = 5; // 0x5
+    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
+    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
+    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
+    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
+    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
+    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
+    field public static final int RESULT_FAILED_UNKNOWN = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+    field public static final int TYPE_DISABLE_NANOAPP = 3; // 0x3
+    field public static final int TYPE_ENABLE_NANOAPP = 2; // 0x2
+    field public static final int TYPE_LOAD_NANOAPP = 0; // 0x0
+    field public static final int TYPE_QUERY_NANOAPPS = 4; // 0x4
+    field public static final int TYPE_UNLOAD_NANOAPP = 1; // 0x1
+  }
+
+  @java.lang.FunctionalInterface public static interface ContextHubTransaction.OnCompleteListener<L> {
+    method public void onComplete(android.hardware.location.ContextHubTransaction<L>, android.hardware.location.ContextHubTransaction.Response<L>);
+  }
+
+  public static class ContextHubTransaction.Response<R> {
+    method public R getContents();
+    method public int getResult();
+  }
+
+  public final class GeofenceHardware {
+    method public boolean addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback);
+    method public int[] getMonitoringTypes();
+    method public int getStatusOfMonitoringType(int);
+    method public boolean pauseGeofence(int, int);
+    method public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
+    method public boolean removeGeofence(int, int);
+    method public boolean resumeGeofence(int, int, int);
+    method public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
+    field public static final int GEOFENCE_ENTERED = 1; // 0x1
+    field public static final int GEOFENCE_ERROR_ID_EXISTS = 2; // 0x2
+    field public static final int GEOFENCE_ERROR_ID_UNKNOWN = 3; // 0x3
+    field public static final int GEOFENCE_ERROR_INSUFFICIENT_MEMORY = 6; // 0x6
+    field public static final int GEOFENCE_ERROR_INVALID_TRANSITION = 4; // 0x4
+    field public static final int GEOFENCE_ERROR_TOO_MANY_GEOFENCES = 1; // 0x1
+    field public static final int GEOFENCE_EXITED = 2; // 0x2
+    field public static final int GEOFENCE_FAILURE = 5; // 0x5
+    field public static final int GEOFENCE_SUCCESS = 0; // 0x0
+    field public static final int GEOFENCE_UNCERTAIN = 4; // 0x4
+    field public static final int MONITORING_TYPE_FUSED_HARDWARE = 1; // 0x1
+    field public static final int MONITORING_TYPE_GPS_HARDWARE = 0; // 0x0
+    field public static final int MONITOR_CURRENTLY_AVAILABLE = 0; // 0x0
+    field public static final int MONITOR_CURRENTLY_UNAVAILABLE = 1; // 0x1
+    field public static final int MONITOR_UNSUPPORTED = 2; // 0x2
+    field public static final int SOURCE_TECHNOLOGY_BLUETOOTH = 16; // 0x10
+    field public static final int SOURCE_TECHNOLOGY_CELL = 8; // 0x8
+    field public static final int SOURCE_TECHNOLOGY_GNSS = 1; // 0x1
+    field public static final int SOURCE_TECHNOLOGY_SENSORS = 4; // 0x4
+    field public static final int SOURCE_TECHNOLOGY_WIFI = 2; // 0x2
+  }
+
+  public abstract class GeofenceHardwareCallback {
+    ctor public GeofenceHardwareCallback();
+    method public void onGeofenceAdd(int, int);
+    method public void onGeofencePause(int, int);
+    method public void onGeofenceRemove(int, int);
+    method public void onGeofenceResume(int, int);
+    method public void onGeofenceTransition(int, int, android.location.Location, long, int);
+  }
+
+  public abstract class GeofenceHardwareMonitorCallback {
+    ctor public GeofenceHardwareMonitorCallback();
+    method @Deprecated public void onMonitoringSystemChange(int, boolean, android.location.Location);
+    method public void onMonitoringSystemChange(android.hardware.location.GeofenceHardwareMonitorEvent);
+  }
+
+  public class GeofenceHardwareMonitorEvent implements android.os.Parcelable {
+    ctor public GeofenceHardwareMonitorEvent(int, int, int, android.location.Location);
+    method public int describeContents();
+    method public android.location.Location getLocation();
+    method public int getMonitoringStatus();
+    method public int getMonitoringType();
+    method public int getSourceTechnologies();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
+  }
+
+  public final class GeofenceHardwareRequest {
+    ctor public GeofenceHardwareRequest();
+    method public static android.hardware.location.GeofenceHardwareRequest createCircularGeofence(double, double, double);
+    method public int getLastTransition();
+    method public double getLatitude();
+    method public double getLongitude();
+    method public int getMonitorTransitions();
+    method public int getNotificationResponsiveness();
+    method public double getRadius();
+    method public int getSourceTechnologies();
+    method public int getUnknownTimer();
+    method public void setLastTransition(int);
+    method public void setMonitorTransitions(int);
+    method public void setNotificationResponsiveness(int);
+    method public void setSourceTechnologies(int);
+    method public void setUnknownTimer(int);
+  }
+
+  public class MemoryRegion implements android.os.Parcelable {
+    ctor public MemoryRegion(android.os.Parcel);
+    method public int describeContents();
+    method public int getCapacityBytes();
+    method public int getFreeCapacityBytes();
+    method public boolean isExecutable();
+    method public boolean isReadable();
+    method public boolean isWritable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
+  }
+
+  @Deprecated public class NanoApp implements android.os.Parcelable {
+    ctor @Deprecated public NanoApp();
+    ctor @Deprecated public NanoApp(int, byte[]);
+    ctor @Deprecated public NanoApp(long, byte[]);
+    method @Deprecated public int describeContents();
+    method @Deprecated public byte[] getAppBinary();
+    method @Deprecated public long getAppId();
+    method @Deprecated public int getAppVersion();
+    method @Deprecated public String getName();
+    method @Deprecated public int getNeededExecMemBytes();
+    method @Deprecated public int getNeededReadMemBytes();
+    method @Deprecated public int[] getNeededSensors();
+    method @Deprecated public int getNeededWriteMemBytes();
+    method @Deprecated public int[] getOutputEvents();
+    method @Deprecated public String getPublisher();
+    method @Deprecated public void setAppBinary(byte[]);
+    method @Deprecated public void setAppId(long);
+    method @Deprecated public void setAppVersion(int);
+    method @Deprecated public void setName(String);
+    method @Deprecated public void setNeededExecMemBytes(int);
+    method @Deprecated public void setNeededReadMemBytes(int);
+    method @Deprecated public void setNeededSensors(int[]);
+    method @Deprecated public void setNeededWriteMemBytes(int);
+    method @Deprecated public void setOutputEvents(int[]);
+    method @Deprecated public void setPublisher(String);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
+  }
+
+  public final class NanoAppBinary implements android.os.Parcelable {
+    ctor public NanoAppBinary(byte[]);
+    method public int describeContents();
+    method public byte[] getBinary();
+    method public byte[] getBinaryNoHeader();
+    method public int getFlags();
+    method public int getHeaderVersion();
+    method public long getHwHubType();
+    method public long getNanoAppId();
+    method public int getNanoAppVersion();
+    method public byte getTargetChreApiMajorVersion();
+    method public byte getTargetChreApiMinorVersion();
+    method public boolean hasValidHeader();
+    method public boolean isEncrypted();
+    method public boolean isSigned();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
+  }
+
+  @Deprecated public class NanoAppFilter implements android.os.Parcelable {
+    ctor @Deprecated public NanoAppFilter(long, int, int, long);
+    method @Deprecated public int describeContents();
+    method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
+    field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
+    field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
+    field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
+    field @Deprecated public static final int FLAGS_VERSION_STRICTLY_EQUAL = 8; // 0x8
+    field @Deprecated public static final int HUB_ANY = -1; // 0xffffffff
+    field @Deprecated public static final int VENDOR_ANY = -1; // 0xffffffff
+  }
+
+  @Deprecated public class NanoAppInstanceInfo implements android.os.Parcelable {
+    ctor @Deprecated public NanoAppInstanceInfo();
+    method @Deprecated public int describeContents();
+    method @Deprecated public long getAppId();
+    method @Deprecated public int getAppVersion();
+    method @Deprecated public int getContexthubId();
+    method @Deprecated public int getHandle();
+    method @Deprecated public String getName();
+    method @Deprecated public int getNeededExecMemBytes();
+    method @Deprecated public int getNeededReadMemBytes();
+    method @Deprecated @NonNull public int[] getNeededSensors();
+    method @Deprecated public int getNeededWriteMemBytes();
+    method @Deprecated @NonNull public int[] getOutputEvents();
+    method @Deprecated public String getPublisher();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
+  }
+
+  public final class NanoAppMessage implements android.os.Parcelable {
+    method public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, byte[], boolean);
+    method public static android.hardware.location.NanoAppMessage createMessageToNanoApp(long, int, byte[]);
+    method public int describeContents();
+    method public byte[] getMessageBody();
+    method public int getMessageType();
+    method public long getNanoAppId();
+    method public boolean isBroadcastMessage();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
+  }
+
+  public final class NanoAppState implements android.os.Parcelable {
+    ctor public NanoAppState(long, int, boolean);
+    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>);
+    method public int describeContents();
+    method public long getNanoAppId();
+    method @NonNull public java.util.List<java.lang.String> getNanoAppPermissions();
+    method public long getNanoAppVersion();
+    method public boolean isEnabled();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
+  }
+
+}
+
+package android.hardware.radio {
+
+  public final class Announcement implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
+    method public int getType();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
+    field public static final int TYPE_EMERGENCY = 1; // 0x1
+    field public static final int TYPE_EVENT = 6; // 0x6
+    field public static final int TYPE_MISC = 8; // 0x8
+    field public static final int TYPE_NEWS = 5; // 0x5
+    field public static final int TYPE_SPORT = 7; // 0x7
+    field public static final int TYPE_TRAFFIC = 3; // 0x3
+    field public static final int TYPE_WARNING = 2; // 0x2
+    field public static final int TYPE_WEATHER = 4; // 0x4
+  }
+
+  public static interface Announcement.OnListUpdatedListener {
+    method public void onListUpdated(java.util.Collection<android.hardware.radio.Announcement>);
+  }
+
+  public final class ProgramList implements java.lang.AutoCloseable {
+    method public void addOnCompleteListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.OnCompleteListener);
+    method public void addOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
+    method public void close();
+    method @Nullable public android.hardware.radio.RadioManager.ProgramInfo get(@NonNull android.hardware.radio.ProgramSelector.Identifier);
+    method public void registerListCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.ListCallback);
+    method public void registerListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
+    method public void removeOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
+    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> toList();
+    method public void unregisterListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
+  }
+
+  public static final class ProgramList.Filter implements android.os.Parcelable {
+    ctor public ProgramList.Filter(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.Set<android.hardware.radio.ProgramSelector.Identifier>, boolean, boolean);
+    method public boolean areCategoriesIncluded();
+    method public boolean areModificationsExcluded();
+    method public int describeContents();
+    method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
+    method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
+  }
+
+  public abstract static class ProgramList.ListCallback {
+    ctor public ProgramList.ListCallback();
+    method public void onItemChanged(@NonNull android.hardware.radio.ProgramSelector.Identifier);
+    method public void onItemRemoved(@NonNull android.hardware.radio.ProgramSelector.Identifier);
+  }
+
+  public static interface ProgramList.OnCompleteListener {
+    method public void onComplete();
+  }
+
+  public final class ProgramSelector implements android.os.Parcelable {
+    ctor public ProgramSelector(@android.hardware.radio.ProgramSelector.ProgramType int, @NonNull android.hardware.radio.ProgramSelector.Identifier, @Nullable android.hardware.radio.ProgramSelector.Identifier[], @Nullable long[]);
+    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int);
+    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int, int);
+    method public int describeContents();
+    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getAllIds(@android.hardware.radio.ProgramSelector.IdentifierType int);
+    method public long getFirstId(@android.hardware.radio.ProgramSelector.IdentifierType int);
+    method @NonNull public android.hardware.radio.ProgramSelector.Identifier getPrimaryId();
+    method @Deprecated @android.hardware.radio.ProgramSelector.ProgramType public int getProgramType();
+    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getSecondaryIds();
+    method @Deprecated @NonNull public long[] getVendorIds();
+    method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
+    field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
+    field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
+    field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
+    field public static final int IDENTIFIER_TYPE_DAB_SCID = 7; // 0x7
+    field public static final int IDENTIFIER_TYPE_DAB_SIDECC = 5; // 0x5
+    field public static final int IDENTIFIER_TYPE_DAB_SID_EXT = 5; // 0x5
+    field public static final int IDENTIFIER_TYPE_DRMO_FREQUENCY = 10; // 0xa
+    field @Deprecated public static final int IDENTIFIER_TYPE_DRMO_MODULATION = 11; // 0xb
+    field public static final int IDENTIFIER_TYPE_DRMO_SERVICE_ID = 9; // 0x9
+    field public static final int IDENTIFIER_TYPE_HD_STATION_ID_EXT = 3; // 0x3
+    field public static final int IDENTIFIER_TYPE_HD_STATION_NAME = 10004; // 0x2714
+    field @Deprecated public static final int IDENTIFIER_TYPE_HD_SUBCHANNEL = 4; // 0x4
+    field public static final int IDENTIFIER_TYPE_INVALID = 0; // 0x0
+    field public static final int IDENTIFIER_TYPE_RDS_PI = 2; // 0x2
+    field public static final int IDENTIFIER_TYPE_SXM_CHANNEL = 13; // 0xd
+    field public static final int IDENTIFIER_TYPE_SXM_SERVICE_ID = 12; // 0xc
+    field public static final int IDENTIFIER_TYPE_VENDOR_END = 1999; // 0x7cf
+    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_END = 1999; // 0x7cf
+    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_START = 1000; // 0x3e8
+    field public static final int IDENTIFIER_TYPE_VENDOR_START = 1000; // 0x3e8
+    field @Deprecated public static final int PROGRAM_TYPE_AM = 1; // 0x1
+    field @Deprecated public static final int PROGRAM_TYPE_AM_HD = 3; // 0x3
+    field @Deprecated public static final int PROGRAM_TYPE_DAB = 5; // 0x5
+    field @Deprecated public static final int PROGRAM_TYPE_DRMO = 6; // 0x6
+    field @Deprecated public static final int PROGRAM_TYPE_FM = 2; // 0x2
+    field @Deprecated public static final int PROGRAM_TYPE_FM_HD = 4; // 0x4
+    field @Deprecated public static final int PROGRAM_TYPE_INVALID = 0; // 0x0
+    field @Deprecated public static final int PROGRAM_TYPE_SXM = 7; // 0x7
+    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_END = 1999; // 0x7cf
+    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_START = 1000; // 0x3e8
+  }
+
+  public static final class ProgramSelector.Identifier implements android.os.Parcelable {
+    ctor public ProgramSelector.Identifier(@android.hardware.radio.ProgramSelector.IdentifierType int, long);
+    method public int describeContents();
+    method @android.hardware.radio.ProgramSelector.IdentifierType public int getType();
+    method public long getValue();
+    method public boolean isCategoryType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
+  }
+
+  @IntDef(prefix={"IDENTIFIER_TYPE_"}, value={android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_INVALID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_AMFM_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_RDS_PI, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_ID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_SUBCHANNEL, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_NAME, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SIDECC, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_ENSEMBLE, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SCID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_MODULATION, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_CHANNEL}) @IntRange(from=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_START, to=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_END) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ProgramSelector.IdentifierType {
+  }
+
+  @Deprecated @IntDef(prefix={"PROGRAM_TYPE_"}, value={android.hardware.radio.ProgramSelector.PROGRAM_TYPE_INVALID, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_AM, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_FM, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_AM_HD, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_FM_HD, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_DAB, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_DRMO, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_SXM}) @IntRange(from=android.hardware.radio.ProgramSelector.PROGRAM_TYPE_VENDOR_START, to=android.hardware.radio.ProgramSelector.PROGRAM_TYPE_VENDOR_END) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ProgramSelector.ProgramType {
+  }
+
+  public class RadioManager {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int listModules(java.util.List<android.hardware.radio.RadioManager.ModuleProperties>);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public android.hardware.radio.RadioTuner openTuner(int, android.hardware.radio.RadioManager.BandConfig, boolean, android.hardware.radio.RadioTuner.Callback, android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void removeAnnouncementListener(@NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
+    field public static final int BAND_AM = 0; // 0x0
+    field public static final int BAND_AM_HD = 3; // 0x3
+    field public static final int BAND_FM = 1; // 0x1
+    field public static final int BAND_FM_HD = 2; // 0x2
+    field public static final int BAND_INVALID = -1; // 0xffffffff
+    field public static final int CLASS_AM_FM = 0; // 0x0
+    field public static final int CLASS_DT = 2; // 0x2
+    field public static final int CLASS_SAT = 1; // 0x1
+    field public static final int CONFIG_DAB_DAB_LINKING = 6; // 0x6
+    field public static final int CONFIG_DAB_DAB_SOFT_LINKING = 8; // 0x8
+    field public static final int CONFIG_DAB_FM_LINKING = 7; // 0x7
+    field public static final int CONFIG_DAB_FM_SOFT_LINKING = 9; // 0x9
+    field public static final int CONFIG_FORCE_ANALOG = 2; // 0x2
+    field public static final int CONFIG_FORCE_DIGITAL = 3; // 0x3
+    field public static final int CONFIG_FORCE_MONO = 1; // 0x1
+    field public static final int CONFIG_RDS_AF = 4; // 0x4
+    field public static final int CONFIG_RDS_REG = 5; // 0x5
+    field public static final int REGION_ITU_1 = 0; // 0x0
+    field public static final int REGION_ITU_2 = 1; // 0x1
+    field public static final int REGION_JAPAN = 3; // 0x3
+    field public static final int REGION_KOREA = 4; // 0x4
+    field public static final int REGION_OIRT = 2; // 0x2
+    field public static final int STATUS_BAD_VALUE = -22; // 0xffffffea
+    field public static final int STATUS_DEAD_OBJECT = -32; // 0xffffffe0
+    field public static final int STATUS_ERROR = -2147483648; // 0x80000000
+    field public static final int STATUS_INVALID_OPERATION = -38; // 0xffffffda
+    field public static final int STATUS_NO_INIT = -19; // 0xffffffed
+    field public static final int STATUS_OK = 0; // 0x0
+    field public static final int STATUS_PERMISSION_DENIED = -1; // 0xffffffff
+    field public static final int STATUS_TIMED_OUT = -110; // 0xffffff92
+  }
+
+  public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
+    method public boolean getStereo();
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
+  }
+
+  public static class RadioManager.AmBandConfig.Builder {
+    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandDescriptor);
+    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandConfig);
+    method public android.hardware.radio.RadioManager.AmBandConfig build();
+    method public android.hardware.radio.RadioManager.AmBandConfig.Builder setStereo(boolean);
+  }
+
+  public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
+    method public boolean isStereoSupported();
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
+  }
+
+  @IntDef(prefix={"BAND_"}, value={android.hardware.radio.RadioManager.BAND_INVALID, android.hardware.radio.RadioManager.BAND_AM, android.hardware.radio.RadioManager.BAND_FM, android.hardware.radio.RadioManager.BAND_AM_HD, android.hardware.radio.RadioManager.BAND_FM_HD}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RadioManager.Band {
+  }
+
+  public static class RadioManager.BandConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getLowerLimit();
+    method public int getRegion();
+    method public int getSpacing();
+    method public int getType();
+    method public int getUpperLimit();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
+  }
+
+  public static class RadioManager.BandDescriptor implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getLowerLimit();
+    method public int getRegion();
+    method public int getSpacing();
+    method public int getType();
+    method public int getUpperLimit();
+    method public boolean isAmBand();
+    method public boolean isFmBand();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
+  }
+
+  public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
+    method public boolean getAf();
+    method public boolean getEa();
+    method public boolean getRds();
+    method public boolean getStereo();
+    method public boolean getTa();
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
+  }
+
+  public static class RadioManager.FmBandConfig.Builder {
+    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandDescriptor);
+    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandConfig);
+    method public android.hardware.radio.RadioManager.FmBandConfig build();
+    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setAf(boolean);
+    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setEa(boolean);
+    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setRds(boolean);
+    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setStereo(boolean);
+    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setTa(boolean);
+  }
+
+  public static class RadioManager.FmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
+    method public boolean isAfSupported();
+    method public boolean isEaSupported();
+    method public boolean isRdsSupported();
+    method public boolean isStereoSupported();
+    method public boolean isTaSupported();
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
+  }
+
+  public static class RadioManager.ModuleProperties implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.hardware.radio.RadioManager.BandDescriptor[] getBands();
+    method public int getClassId();
+    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDabFrequencyTable();
+    method public int getId();
+    method public String getImplementor();
+    method public int getNumAudioSources();
+    method public int getNumTuners();
+    method public String getProduct();
+    method public String getSerial();
+    method @NonNull public String getServiceName();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
+    method public String getVersion();
+    method public boolean isBackgroundScanningSupported();
+    method public boolean isCaptureSupported();
+    method public boolean isInitializationRequired();
+    method public boolean isProgramIdentifierSupported(@android.hardware.radio.ProgramSelector.IdentifierType int);
+    method public boolean isProgramTypeSupported(@android.hardware.radio.ProgramSelector.ProgramType int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
+  }
+
+  public static class RadioManager.ProgramInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Deprecated public int getChannel();
+    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getLogicallyTunedTo();
+    method public android.hardware.radio.RadioMetadata getMetadata();
+    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getPhysicallyTunedTo();
+    method @Nullable public java.util.Collection<android.hardware.radio.ProgramSelector.Identifier> getRelatedContent();
+    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
+    method public int getSignalStrength();
+    method @Deprecated public int getSubChannel();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
+    method @Deprecated public boolean isDigital();
+    method public boolean isLive();
+    method public boolean isMuted();
+    method public boolean isStereo();
+    method public boolean isTrafficAnnouncementActive();
+    method public boolean isTrafficProgram();
+    method public boolean isTuned();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
+  }
+
+  public final class RadioMetadata implements android.os.Parcelable {
+    method public boolean containsKey(String);
+    method public int describeContents();
+    method @Deprecated public android.graphics.Bitmap getBitmap(String);
+    method public android.hardware.radio.RadioMetadata.Clock getClock(String);
+    method public int getInt(String);
+    method public String getString(String);
+    method public java.util.Set<java.lang.String> keySet();
+    method public int size();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
+    field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
+    field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
+    field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
+    field public static final String METADATA_KEY_CLOCK = "android.hardware.radio.metadata.CLOCK";
+    field public static final String METADATA_KEY_DAB_COMPONENT_NAME = "android.hardware.radio.metadata.DAB_COMPONENT_NAME";
+    field public static final String METADATA_KEY_DAB_COMPONENT_NAME_SHORT = "android.hardware.radio.metadata.DAB_COMPONENT_NAME_SHORT";
+    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME";
+    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME_SHORT = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME_SHORT";
+    field public static final String METADATA_KEY_DAB_SERVICE_NAME = "android.hardware.radio.metadata.DAB_SERVICE_NAME";
+    field public static final String METADATA_KEY_DAB_SERVICE_NAME_SHORT = "android.hardware.radio.metadata.DAB_SERVICE_NAME_SHORT";
+    field public static final String METADATA_KEY_GENRE = "android.hardware.radio.metadata.GENRE";
+    field public static final String METADATA_KEY_ICON = "android.hardware.radio.metadata.ICON";
+    field public static final String METADATA_KEY_PROGRAM_NAME = "android.hardware.radio.metadata.PROGRAM_NAME";
+    field public static final String METADATA_KEY_RBDS_PTY = "android.hardware.radio.metadata.RBDS_PTY";
+    field public static final String METADATA_KEY_RDS_PI = "android.hardware.radio.metadata.RDS_PI";
+    field public static final String METADATA_KEY_RDS_PS = "android.hardware.radio.metadata.RDS_PS";
+    field public static final String METADATA_KEY_RDS_PTY = "android.hardware.radio.metadata.RDS_PTY";
+    field public static final String METADATA_KEY_RDS_RT = "android.hardware.radio.metadata.RDS_RT";
+    field public static final String METADATA_KEY_TITLE = "android.hardware.radio.metadata.TITLE";
+  }
+
+  public static final class RadioMetadata.Builder {
+    ctor public RadioMetadata.Builder();
+    ctor public RadioMetadata.Builder(android.hardware.radio.RadioMetadata);
+    method public android.hardware.radio.RadioMetadata build();
+    method public android.hardware.radio.RadioMetadata.Builder putBitmap(String, android.graphics.Bitmap);
+    method public android.hardware.radio.RadioMetadata.Builder putClock(String, long, int);
+    method public android.hardware.radio.RadioMetadata.Builder putInt(String, int);
+    method public android.hardware.radio.RadioMetadata.Builder putString(String, String);
+  }
+
+  public static final class RadioMetadata.Clock implements android.os.Parcelable {
+    ctor public RadioMetadata.Clock(long, int);
+    method public int describeContents();
+    method public int getTimezoneOffsetMinutes();
+    method public long getUtcEpochSeconds();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
+  }
+
+  public abstract class RadioTuner {
+    ctor public RadioTuner();
+    method public abstract int cancel();
+    method public abstract void cancelAnnouncement();
+    method public abstract void close();
+    method @Deprecated public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
+    method @Nullable public android.hardware.radio.ProgramList getDynamicProgramList(@Nullable android.hardware.radio.ProgramList.Filter);
+    method public abstract boolean getMute();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getParameters(@NonNull java.util.List<java.lang.String>);
+    method @Deprecated public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
+    method @Deprecated @NonNull public abstract java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramList(@Nullable java.util.Map<java.lang.String,java.lang.String>);
+    method public abstract boolean hasControl();
+    method @Deprecated public abstract boolean isAnalogForced();
+    method @Deprecated public abstract boolean isAntennaConnected();
+    method public boolean isConfigFlagSet(int);
+    method public boolean isConfigFlagSupported(int);
+    method public abstract int scan(int, boolean);
+    method @Deprecated public abstract void setAnalogForced(boolean);
+    method public void setConfigFlag(int, boolean);
+    method @Deprecated public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
+    method public abstract int setMute(boolean);
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> setParameters(@NonNull java.util.Map<java.lang.String,java.lang.String>);
+    method public abstract boolean startBackgroundScan();
+    method public abstract int step(int, boolean);
+    method @Deprecated public abstract int tune(int, int);
+    method public abstract void tune(@NonNull android.hardware.radio.ProgramSelector);
+    field public static final int DIRECTION_DOWN = 1; // 0x1
+    field public static final int DIRECTION_UP = 0; // 0x0
+    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
+    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
+    field @Deprecated public static final int ERROR_CANCELLED = 2; // 0x2
+    field @Deprecated public static final int ERROR_CONFIG = 4; // 0x4
+    field @Deprecated public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
+    field @Deprecated public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
+    field @Deprecated public static final int ERROR_SERVER_DIED = 1; // 0x1
+  }
+
+  public abstract static class RadioTuner.Callback {
+    ctor public RadioTuner.Callback();
+    method public void onAntennaState(boolean);
+    method public void onBackgroundScanAvailabilityChange(boolean);
+    method public void onBackgroundScanComplete();
+    method @Deprecated public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
+    method public void onControlChanged(boolean);
+    method public void onEmergencyAnnouncement(boolean);
+    method @Deprecated public void onError(int);
+    method @Deprecated public void onMetadataChanged(android.hardware.radio.RadioMetadata);
+    method public void onParametersUpdated(@NonNull java.util.Map<java.lang.String,java.lang.String>);
+    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
+    method public void onProgramListChanged();
+    method public void onTrafficAnnouncement(boolean);
+    method public void onTuneFailed(int, @Nullable android.hardware.radio.ProgramSelector);
+  }
+
+}
+
+package android.hardware.soundtrigger {
+
+  public class SoundTrigger {
+    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8
+    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4
+    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
+    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
+    field public static final int STATUS_OK = 0; // 0x0
+  }
+
+  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable {
+    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]);
+    method public int getId();
+    method @NonNull public java.util.Locale getLocale();
+    method public int getRecognitionModes();
+    method @NonNull public String getText();
+    method @NonNull public int[] getUsers();
+    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR;
+  }
+
+  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
+    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int);
+    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]);
+    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases();
+    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR;
+  }
+
+  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
+    method public int getEnd();
+    method public int getStart();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR;
+  }
+
+  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAudioCapabilities();
+    method @NonNull public String getDescription();
+    method public int getId();
+    method @NonNull public String getImplementor();
+    method public int getMaxBufferMillis();
+    method public int getMaxKeyphrases();
+    method public int getMaxSoundModels();
+    method public int getMaxUsers();
+    method public int getPowerConsumptionMw();
+    method public int getRecognitionModes();
+    method @NonNull public String getSupportedModelArch();
+    method @NonNull public java.util.UUID getUuid();
+    method public int getVersion();
+    method public boolean isCaptureTransitionSupported();
+    method public boolean isConcurrentCaptureSupported();
+    method public boolean isTriggerReturnedInEvent();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
+    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR;
+  }
+
+  public static class SoundTrigger.RecognitionEvent {
+    method @Nullable public android.media.AudioFormat getCaptureFormat();
+    method public int getCaptureSession();
+    method public byte[] getData();
+    method public boolean isCaptureAvailable();
+  }
+
+  public static class SoundTrigger.SoundModel {
+    method @NonNull public byte[] getData();
+    method public int getType();
+    method @NonNull public java.util.UUID getUuid();
+    method @NonNull public java.util.UUID getVendorUuid();
+    method public int getVersion();
+    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1
+    field public static final int TYPE_KEYPHRASE = 0; // 0x0
+  }
+
+}
+
+package android.hardware.usb {
+
+  public class UsbDeviceConnection {
+    method public boolean resetDevice();
+  }
+
+  public class UsbManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long);
+    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_ACCESSORY_HANDSHAKE = "android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE";
+    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED";
+    field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
+    field public static final String EXTRA_ACCESSORY_HANDSHAKE_END = "android.hardware.usb.extra.ACCESSORY_HANDSHAKE_END";
+    field public static final String EXTRA_ACCESSORY_START = "android.hardware.usb.extra.ACCESSORY_START";
+    field public static final String EXTRA_ACCESSORY_STRING_COUNT = "android.hardware.usb.extra.ACCESSORY_STRING_COUNT";
+    field public static final String EXTRA_ACCESSORY_UEVENT_TIME = "android.hardware.usb.extra.ACCESSORY_UEVENT_TIME";
+    field public static final long FUNCTION_ACCESSORY = 2L; // 0x2L
+    field public static final long FUNCTION_ADB = 1L; // 0x1L
+    field public static final long FUNCTION_AUDIO_SOURCE = 64L; // 0x40L
+    field public static final long FUNCTION_MIDI = 8L; // 0x8L
+    field public static final long FUNCTION_MTP = 4L; // 0x4L
+    field public static final long FUNCTION_NCM = 1024L; // 0x400L
+    field public static final long FUNCTION_NONE = 0L; // 0x0L
+    field public static final long FUNCTION_PTP = 16L; // 0x10L
+    field public static final long FUNCTION_RNDIS = 32L; // 0x20L
+    field public static final String USB_CONFIGURED = "configured";
+    field public static final String USB_CONNECTED = "connected";
+    field public static final String USB_FUNCTION_NCM = "ncm";
+    field public static final String USB_FUNCTION_RNDIS = "rndis";
+  }
+
+  public final class UsbPort {
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USB) public android.hardware.usb.UsbPortStatus getStatus();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setRoles(int, int);
+  }
+
+  public final class UsbPortStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCurrentDataRole();
+    method public int getCurrentMode();
+    method public int getCurrentPowerRole();
+    method public int getSupportedRoleCombinations();
+    method public boolean isConnected();
+    method public boolean isRoleCombinationSupported(int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
+    field public static final int DATA_ROLE_DEVICE = 2; // 0x2
+    field public static final int DATA_ROLE_HOST = 1; // 0x1
+    field public static final int DATA_ROLE_NONE = 0; // 0x0
+    field public static final int MODE_AUDIO_ACCESSORY = 4; // 0x4
+    field public static final int MODE_DEBUG_ACCESSORY = 8; // 0x8
+    field public static final int MODE_DFP = 2; // 0x2
+    field public static final int MODE_NONE = 0; // 0x0
+    field public static final int MODE_UFP = 1; // 0x1
+    field public static final int POWER_ROLE_NONE = 0; // 0x0
+    field public static final int POWER_ROLE_SINK = 2; // 0x2
+    field public static final int POWER_ROLE_SOURCE = 1; // 0x1
+  }
+
+}
+
+package android.location {
+
+  public abstract class BatchedLocationCallback {
+    ctor public BatchedLocationCallback();
+    method public void onLocationBatch(java.util.List<android.location.Location>);
+  }
+
+  public final class CorrelationVector implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0f) public double getFrequencyOffsetMetersPerSecond();
+    method @NonNull public int[] getMagnitude();
+    method @FloatRange(from=0.0f) public double getSamplingStartMeters();
+    method @FloatRange(from=0.0f, fromInclusive=false) public double getSamplingWidthMeters();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.CorrelationVector> CREATOR;
+  }
+
+  public static final class CorrelationVector.Builder {
+    ctor public CorrelationVector.Builder();
+    method @NonNull public android.location.CorrelationVector build();
+    method @NonNull public android.location.CorrelationVector.Builder setFrequencyOffsetMetersPerSecond(@FloatRange(from=0.0f) double);
+    method @NonNull public android.location.CorrelationVector.Builder setMagnitude(@NonNull int[]);
+    method @NonNull public android.location.CorrelationVector.Builder setSamplingStartMeters(@FloatRange(from=0.0f) double);
+    method @NonNull public android.location.CorrelationVector.Builder setSamplingWidthMeters(@FloatRange(from=0.0f, fromInclusive=false) double);
+  }
+
+  public final class GnssCapabilities implements android.os.Parcelable {
+    method public boolean hasGeofencing();
+    method public boolean hasLowPowerMode();
+    method public boolean hasMeasurementCorrections();
+    method public boolean hasMeasurementCorrectionsExcessPathLength();
+    method public boolean hasMeasurementCorrectionsForDriving();
+    method public boolean hasMeasurementCorrectionsLosSats();
+    method @Deprecated public boolean hasMeasurementCorrectionsReflectingPane();
+    method public boolean hasMeasurementCorrectionsReflectingPlane();
+    method public boolean hasMeasurementCorrelationVectors();
+    method @Deprecated public boolean hasNavMessages();
+    method @Deprecated public boolean hasSatelliteBlacklist();
+    method public boolean hasSatelliteBlocklist();
+    method public boolean hasSatellitePvt();
+  }
+
+  public static final class GnssCapabilities.Builder {
+    method @NonNull public android.location.GnssCapabilities.Builder setHasGeofencing(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasLowPowerMode(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrections(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsExcessPathLength(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsForDriving(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsLosSats(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsReflectingPlane(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrelationVectors(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasSatelliteBlocklist(boolean);
+    method @NonNull public android.location.GnssCapabilities.Builder setHasSatellitePvt(boolean);
+  }
+
+  public final class GnssMeasurement implements android.os.Parcelable {
+    method @Nullable public java.util.Collection<android.location.CorrelationVector> getCorrelationVectors();
+    method @Nullable public android.location.SatellitePvt getSatellitePvt();
+    method public boolean hasCorrelationVectors();
+    method public boolean hasSatellitePvt();
+  }
+
+  public final class GnssMeasurementCorrections implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
+    method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees();
+    method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees();
+    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
+    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
+    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
+    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
+    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
+    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
+    method public boolean hasEnvironmentBearing();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
+  }
+
+  public static final class GnssMeasurementCorrections.Builder {
+    ctor public GnssMeasurementCorrections.Builder();
+    method @NonNull public android.location.GnssMeasurementCorrections build();
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
+  }
+
+  public final class GnssMeasurementRequest implements android.os.Parcelable {
+    method public boolean isCorrelationVectorOutputsEnabled();
+  }
+
+  public static final class GnssMeasurementRequest.Builder {
+    method @NonNull public android.location.GnssMeasurementRequest.Builder setCorrelationVectorOutputsEnabled(boolean);
+  }
+
+  public final class GnssReflectingPlane implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
+    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
+    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
+    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
+  }
+
+  public static final class GnssReflectingPlane.Builder {
+    ctor public GnssReflectingPlane.Builder();
+    method @NonNull public android.location.GnssReflectingPlane build();
+    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
+    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
+    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
+    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
+  }
+
+  public final class GnssRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isFullTracking();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR;
+  }
+
+  public static final class GnssRequest.Builder {
+    ctor public GnssRequest.Builder();
+    ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest);
+    method @NonNull public android.location.GnssRequest build();
+    method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean);
+  }
+
+  public final class GnssSingleSatCorrection implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
+    method public int getConstellationType();
+    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
+    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
+    method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
+    method @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
+    method @IntRange(from=0) public int getSatelliteId();
+    method public boolean hasExcessPathLength();
+    method public boolean hasExcessPathLengthUncertainty();
+    method public boolean hasReflectingPlane();
+    method public boolean hasValidSatelliteLineOfSight();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
+  }
+
+  public static final class GnssSingleSatCorrection.Builder {
+    ctor public GnssSingleSatCorrection.Builder();
+    method @NonNull public android.location.GnssSingleSatCorrection build();
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
+  }
+
+  @Deprecated public class GpsClock implements android.os.Parcelable {
+    method @Deprecated public int describeContents();
+    method @Deprecated public double getBiasInNs();
+    method @Deprecated public double getBiasUncertaintyInNs();
+    method @Deprecated public double getDriftInNsPerSec();
+    method @Deprecated public double getDriftUncertaintyInNsPerSec();
+    method @Deprecated public long getFullBiasInNs();
+    method @Deprecated public short getLeapSecond();
+    method @Deprecated public long getTimeInNs();
+    method @Deprecated public double getTimeUncertaintyInNs();
+    method @Deprecated public byte getType();
+    method @Deprecated public boolean hasBiasInNs();
+    method @Deprecated public boolean hasBiasUncertaintyInNs();
+    method @Deprecated public boolean hasDriftInNsPerSec();
+    method @Deprecated public boolean hasDriftUncertaintyInNsPerSec();
+    method @Deprecated public boolean hasFullBiasInNs();
+    method @Deprecated public boolean hasLeapSecond();
+    method @Deprecated public boolean hasTimeUncertaintyInNs();
+    method @Deprecated public void reset();
+    method @Deprecated public void resetBiasInNs();
+    method @Deprecated public void resetBiasUncertaintyInNs();
+    method @Deprecated public void resetDriftInNsPerSec();
+    method @Deprecated public void resetDriftUncertaintyInNsPerSec();
+    method @Deprecated public void resetFullBiasInNs();
+    method @Deprecated public void resetLeapSecond();
+    method @Deprecated public void resetTimeUncertaintyInNs();
+    method @Deprecated public void set(android.location.GpsClock);
+    method @Deprecated public void setBiasInNs(double);
+    method @Deprecated public void setBiasUncertaintyInNs(double);
+    method @Deprecated public void setDriftInNsPerSec(double);
+    method @Deprecated public void setDriftUncertaintyInNsPerSec(double);
+    method @Deprecated public void setFullBiasInNs(long);
+    method @Deprecated public void setLeapSecond(short);
+    method @Deprecated public void setTimeInNs(long);
+    method @Deprecated public void setTimeUncertaintyInNs(double);
+    method @Deprecated public void setType(byte);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
+    field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2
+    field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
+    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  @Deprecated public class GpsMeasurement implements android.os.Parcelable {
+    method @Deprecated public int describeContents();
+    method @Deprecated public double getAccumulatedDeltaRangeInMeters();
+    method @Deprecated public short getAccumulatedDeltaRangeState();
+    method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters();
+    method @Deprecated public double getAzimuthInDeg();
+    method @Deprecated public double getAzimuthUncertaintyInDeg();
+    method @Deprecated public int getBitNumber();
+    method @Deprecated public long getCarrierCycles();
+    method @Deprecated public float getCarrierFrequencyInHz();
+    method @Deprecated public double getCarrierPhase();
+    method @Deprecated public double getCarrierPhaseUncertainty();
+    method @Deprecated public double getCn0InDbHz();
+    method @Deprecated public double getCodePhaseInChips();
+    method @Deprecated public double getCodePhaseUncertaintyInChips();
+    method @Deprecated public double getDopplerShiftInHz();
+    method @Deprecated public double getDopplerShiftUncertaintyInHz();
+    method @Deprecated public double getElevationInDeg();
+    method @Deprecated public double getElevationUncertaintyInDeg();
+    method @Deprecated public byte getLossOfLock();
+    method @Deprecated public byte getMultipathIndicator();
+    method @Deprecated public byte getPrn();
+    method @Deprecated public double getPseudorangeInMeters();
+    method @Deprecated public double getPseudorangeRateInMetersPerSec();
+    method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec();
+    method @Deprecated public double getPseudorangeUncertaintyInMeters();
+    method @Deprecated public long getReceivedGpsTowInNs();
+    method @Deprecated public long getReceivedGpsTowUncertaintyInNs();
+    method @Deprecated public double getSnrInDb();
+    method @Deprecated public short getState();
+    method @Deprecated public short getTimeFromLastBitInMs();
+    method @Deprecated public double getTimeOffsetInNs();
+    method @Deprecated public boolean hasAzimuthInDeg();
+    method @Deprecated public boolean hasAzimuthUncertaintyInDeg();
+    method @Deprecated public boolean hasBitNumber();
+    method @Deprecated public boolean hasCarrierCycles();
+    method @Deprecated public boolean hasCarrierFrequencyInHz();
+    method @Deprecated public boolean hasCarrierPhase();
+    method @Deprecated public boolean hasCarrierPhaseUncertainty();
+    method @Deprecated public boolean hasCodePhaseInChips();
+    method @Deprecated public boolean hasCodePhaseUncertaintyInChips();
+    method @Deprecated public boolean hasDopplerShiftInHz();
+    method @Deprecated public boolean hasDopplerShiftUncertaintyInHz();
+    method @Deprecated public boolean hasElevationInDeg();
+    method @Deprecated public boolean hasElevationUncertaintyInDeg();
+    method @Deprecated public boolean hasPseudorangeInMeters();
+    method @Deprecated public boolean hasPseudorangeUncertaintyInMeters();
+    method @Deprecated public boolean hasSnrInDb();
+    method @Deprecated public boolean hasTimeFromLastBitInMs();
+    method @Deprecated public boolean isPseudorangeRateCorrected();
+    method @Deprecated public boolean isUsedInFix();
+    method @Deprecated public void reset();
+    method @Deprecated public void resetAzimuthInDeg();
+    method @Deprecated public void resetAzimuthUncertaintyInDeg();
+    method @Deprecated public void resetBitNumber();
+    method @Deprecated public void resetCarrierCycles();
+    method @Deprecated public void resetCarrierFrequencyInHz();
+    method @Deprecated public void resetCarrierPhase();
+    method @Deprecated public void resetCarrierPhaseUncertainty();
+    method @Deprecated public void resetCodePhaseInChips();
+    method @Deprecated public void resetCodePhaseUncertaintyInChips();
+    method @Deprecated public void resetDopplerShiftInHz();
+    method @Deprecated public void resetDopplerShiftUncertaintyInHz();
+    method @Deprecated public void resetElevationInDeg();
+    method @Deprecated public void resetElevationUncertaintyInDeg();
+    method @Deprecated public void resetPseudorangeInMeters();
+    method @Deprecated public void resetPseudorangeUncertaintyInMeters();
+    method @Deprecated public void resetSnrInDb();
+    method @Deprecated public void resetTimeFromLastBitInMs();
+    method @Deprecated public void set(android.location.GpsMeasurement);
+    method @Deprecated public void setAccumulatedDeltaRangeInMeters(double);
+    method @Deprecated public void setAccumulatedDeltaRangeState(short);
+    method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double);
+    method @Deprecated public void setAzimuthInDeg(double);
+    method @Deprecated public void setAzimuthUncertaintyInDeg(double);
+    method @Deprecated public void setBitNumber(int);
+    method @Deprecated public void setCarrierCycles(long);
+    method @Deprecated public void setCarrierFrequencyInHz(float);
+    method @Deprecated public void setCarrierPhase(double);
+    method @Deprecated public void setCarrierPhaseUncertainty(double);
+    method @Deprecated public void setCn0InDbHz(double);
+    method @Deprecated public void setCodePhaseInChips(double);
+    method @Deprecated public void setCodePhaseUncertaintyInChips(double);
+    method @Deprecated public void setDopplerShiftInHz(double);
+    method @Deprecated public void setDopplerShiftUncertaintyInHz(double);
+    method @Deprecated public void setElevationInDeg(double);
+    method @Deprecated public void setElevationUncertaintyInDeg(double);
+    method @Deprecated public void setLossOfLock(byte);
+    method @Deprecated public void setMultipathIndicator(byte);
+    method @Deprecated public void setPrn(byte);
+    method @Deprecated public void setPseudorangeInMeters(double);
+    method @Deprecated public void setPseudorangeRateInMetersPerSec(double);
+    method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double);
+    method @Deprecated public void setPseudorangeUncertaintyInMeters(double);
+    method @Deprecated public void setReceivedGpsTowInNs(long);
+    method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long);
+    method @Deprecated public void setSnrInDb(double);
+    method @Deprecated public void setState(short);
+    method @Deprecated public void setTimeFromLastBitInMs(short);
+    method @Deprecated public void setTimeOffsetInNs(double);
+    method @Deprecated public void setUsedInFix(boolean);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4
+    field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2
+    field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
+    field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
+    field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
+    field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
+    field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2
+    field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2
+    field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1
+    field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10
+    field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4
+    field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8
+    field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0
+  }
+
+  @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable {
+    ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]);
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public android.location.GpsClock getClock();
+    method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
+    field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
+    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
+    field @Deprecated public static final int STATUS_READY = 1; // 0x1
+  }
+
+  @Deprecated public static interface GpsMeasurementsEvent.Listener {
+    method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent);
+    method @Deprecated public void onStatusChanged(int);
+  }
+
+  @Deprecated public class GpsNavigationMessage implements android.os.Parcelable {
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public byte[] getData();
+    method @Deprecated public short getMessageId();
+    method @Deprecated public byte getPrn();
+    method @Deprecated public short getStatus();
+    method @Deprecated public short getSubmessageId();
+    method @Deprecated public byte getType();
+    method @Deprecated public void reset();
+    method @Deprecated public void set(android.location.GpsNavigationMessage);
+    method @Deprecated public void setData(byte[]);
+    method @Deprecated public void setMessageId(short);
+    method @Deprecated public void setPrn(byte);
+    method @Deprecated public void setStatus(short);
+    method @Deprecated public void setSubmessageId(short);
+    method @Deprecated public void setType(byte);
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
+    field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1
+    field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2
+    field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4
+    field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1
+    field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2
+    field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3
+    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
+  }
+
+  @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable {
+    ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage);
+    method @Deprecated public int describeContents();
+    method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
+    field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED;
+    field @Deprecated public static int STATUS_NOT_SUPPORTED;
+    field @Deprecated public static int STATUS_READY;
+  }
+
+  @Deprecated public static interface GpsNavigationMessageEvent.Listener {
+    method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent);
+    method @Deprecated public void onStatusChanged(int);
+  }
+
+  public final class LastLocationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean isHiddenFromAppOps();
+    method public boolean isLocationSettingsIgnored();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.LastLocationRequest> CREATOR;
+  }
+
+  public static final class LastLocationRequest.Builder {
+    ctor public LastLocationRequest.Builder();
+    ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest);
+    method @NonNull public android.location.LastLocationRequest build();
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
+  }
+
+  public class Location implements android.os.Parcelable {
+    method public boolean isComplete();
+    method public void makeComplete();
+    method @Deprecated public void setIsFromMockProvider(boolean);
+    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
+  }
+
+  public class LocationManager {
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void addProviderRequestChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.provider.ProviderRequest.ChangedListener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull android.location.LocationRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Location>);
+    method @Nullable public String getExtraLocationControllerPackage();
+    method @Deprecated public int getGnssBatchSize();
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.location.Location getLastKnownLocation(@NonNull String, @NonNull android.location.LastLocationRequest);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
+    method public boolean isExtraLocationControllerPackageEnabled();
+    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
+    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String, @Nullable String);
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.UPDATE_APP_OPS_STATS}) public boolean registerGnssBatchedLocationCallback(long, boolean, @NonNull android.location.BatchedLocationCallback, @Nullable android.os.Handler);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void removeProviderRequestChangedListener(@NonNull android.location.provider.ProviderRequest.ChangedListener);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
+  }
+
+  public final class LocationRequest implements android.os.Parcelable {
+    method @Deprecated @NonNull public static android.location.LocationRequest create();
+    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
+    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
+    method @Deprecated public long getExpireAt();
+    method @Deprecated public long getExpireIn();
+    method @Deprecated public long getFastestInterval();
+    method @Deprecated public boolean getHideFromAppOps();
+    method @Deprecated public long getInterval();
+    method @Deprecated public int getNumUpdates();
+    method @Deprecated @NonNull public String getProvider();
+    method @Deprecated public float getSmallestDisplacement();
+    method @NonNull public android.os.WorkSource getWorkSource();
+    method public boolean isHiddenFromAppOps();
+    method public boolean isLocationSettingsIgnored();
+    method public boolean isLowPower();
+    method @Deprecated public boolean isLowPowerMode();
+    method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long);
+    method @Deprecated @NonNull public android.location.LocationRequest setExpireIn(long);
+    method @Deprecated @NonNull public android.location.LocationRequest setFastestInterval(long);
+    method @Deprecated public void setHideFromAppOps(boolean);
+    method @Deprecated @NonNull public android.location.LocationRequest setInterval(long);
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
+    method @Deprecated @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
+    method @Deprecated @NonNull public android.location.LocationRequest setNumUpdates(int);
+    method @Deprecated @NonNull public android.location.LocationRequest setProvider(@NonNull String);
+    method @Deprecated @NonNull public android.location.LocationRequest setQuality(int);
+    method @Deprecated @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
+    method @Deprecated public void setWorkSource(@Nullable android.os.WorkSource);
+    field @Deprecated public static final int ACCURACY_BLOCK = 102; // 0x66
+    field @Deprecated public static final int ACCURACY_CITY = 104; // 0x68
+    field @Deprecated public static final int ACCURACY_FINE = 100; // 0x64
+    field @Deprecated public static final int POWER_HIGH = 203; // 0xcb
+    field @Deprecated public static final int POWER_LOW = 201; // 0xc9
+    field @Deprecated public static final int POWER_NONE = 200; // 0xc8
+  }
+
+  public static final class LocationRequest.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.LocationRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
+  }
+
+  public final class SatellitePvt implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.location.SatellitePvt.ClockInfo getClockInfo();
+    method @FloatRange public double getIonoDelayMeters();
+    method @Nullable public android.location.SatellitePvt.PositionEcef getPositionEcef();
+    method @FloatRange public double getTropoDelayMeters();
+    method @Nullable public android.location.SatellitePvt.VelocityEcef getVelocityEcef();
+    method public boolean hasIono();
+    method public boolean hasPositionVelocityClockInfo();
+    method public boolean hasTropo();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt> CREATOR;
+  }
+
+  public static final class SatellitePvt.Builder {
+    ctor public SatellitePvt.Builder();
+    method @NonNull public android.location.SatellitePvt build();
+    method @NonNull public android.location.SatellitePvt.Builder setClockInfo(@NonNull android.location.SatellitePvt.ClockInfo);
+    method @NonNull public android.location.SatellitePvt.Builder setIonoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
+    method @NonNull public android.location.SatellitePvt.Builder setPositionEcef(@NonNull android.location.SatellitePvt.PositionEcef);
+    method @NonNull public android.location.SatellitePvt.Builder setTropoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
+    method @NonNull public android.location.SatellitePvt.Builder setVelocityEcef(@NonNull android.location.SatellitePvt.VelocityEcef);
+  }
+
+  public static final class SatellitePvt.ClockInfo implements android.os.Parcelable {
+    ctor public SatellitePvt.ClockInfo(double, double, double);
+    method public int describeContents();
+    method @FloatRange public double getClockDriftMetersPerSecond();
+    method @FloatRange public double getHardwareCodeBiasMeters();
+    method @FloatRange public double getTimeCorrectionMeters();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.ClockInfo> CREATOR;
+  }
+
+  public static final class SatellitePvt.PositionEcef implements android.os.Parcelable {
+    ctor public SatellitePvt.PositionEcef(double, double, double, double);
+    method public int describeContents();
+    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreMeters();
+    method @FloatRange public double getXMeters();
+    method @FloatRange public double getYMeters();
+    method @FloatRange public double getZMeters();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.PositionEcef> CREATOR;
+  }
+
+  public static final class SatellitePvt.VelocityEcef implements android.os.Parcelable {
+    ctor public SatellitePvt.VelocityEcef(double, double, double, double);
+    method public int describeContents();
+    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreRateMetersPerSecond();
+    method @FloatRange public double getXMetersPerSecond();
+    method @FloatRange public double getYMetersPerSecond();
+    method @FloatRange public double getZMetersPerSecond();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.VelocityEcef> CREATOR;
+  }
+
+}
+
+package android.location.provider {
+
+  public abstract class LocationProviderBase {
+    ctor public LocationProviderBase(@NonNull android.content.Context, @NonNull String, @NonNull android.location.provider.ProviderProperties);
+    method @Nullable public final android.os.IBinder getBinder();
+    method @NonNull public android.location.provider.ProviderProperties getProperties();
+    method public boolean isAllowed();
+    method public abstract void onFlush(@NonNull android.location.provider.LocationProviderBase.OnFlushCompleteCallback);
+    method public abstract void onSendExtraCommand(@NonNull String, @Nullable android.os.Bundle);
+    method public abstract void onSetRequest(@NonNull android.location.provider.ProviderRequest);
+    method public void reportLocation(@NonNull android.location.Location);
+    method public void reportLocations(@NonNull java.util.List<android.location.Location>);
+    method public void setAllowed(boolean);
+    method public void setProperties(@NonNull android.location.provider.ProviderProperties);
+    field public static final String ACTION_FUSED_PROVIDER = "com.android.location.service.FusedLocationProvider";
+    field public static final String ACTION_NETWORK_PROVIDER = "com.android.location.service.v3.NetworkLocationProvider";
+  }
+
+  public static interface LocationProviderBase.OnFlushCompleteCallback {
+    method public void onFlushComplete();
+  }
+
+  public final class ProviderRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0) public long getIntervalMillis();
+    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
+    method public int getQuality();
+    method @NonNull public android.os.WorkSource getWorkSource();
+    method public boolean isActive();
+    method public boolean isLocationSettingsIgnored();
+    method public boolean isLowPower();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderRequest> CREATOR;
+    field @NonNull public static final android.location.provider.ProviderRequest EMPTY_REQUEST;
+    field public static final long INTERVAL_DISABLED = 9223372036854775807L; // 0x7fffffffffffffffL
+  }
+
+  public static final class ProviderRequest.Builder {
+    ctor public ProviderRequest.Builder();
+    method @NonNull public android.location.provider.ProviderRequest build();
+    method @NonNull public android.location.provider.ProviderRequest.Builder setIntervalMillis(@IntRange(from=0) long);
+    method @NonNull public android.location.provider.ProviderRequest.Builder setLocationSettingsIgnored(boolean);
+    method @NonNull public android.location.provider.ProviderRequest.Builder setLowPower(boolean);
+    method @NonNull public android.location.provider.ProviderRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
+    method @NonNull public android.location.provider.ProviderRequest.Builder setQuality(int);
+    method @NonNull public android.location.provider.ProviderRequest.Builder setWorkSource(@NonNull android.os.WorkSource);
+  }
+
+  public static interface ProviderRequest.ChangedListener {
+    method public void onProviderRequestChanged(@NonNull String, @NonNull android.location.provider.ProviderRequest);
+  }
+
+}
+
+package android.media {
+
+  public final class AudioAttributes implements android.os.Parcelable {
+    method public int getAllFlags();
+    method public android.os.Bundle getBundle();
+    method public int getCapturePreset();
+    method public int getSystemUsage();
+    method public static boolean isSystemUsage(int);
+    field public static final int FLAG_BEACON = 8; // 0x8
+    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
+    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
+    field public static final int FLAG_HW_HOTWORD = 32; // 0x20
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb
+    field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea
+  }
+
+  public static class AudioAttributes.Builder {
+    method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle);
+    method public android.media.AudioAttributes.Builder setCapturePreset(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioAttributes.Builder setHotwordModeEnabled(boolean);
+    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
+  }
+
+  public final class AudioDeviceAttributes implements android.os.Parcelable {
+    ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo);
+    ctor public AudioDeviceAttributes(int, int, @NonNull String);
+    method public int describeContents();
+    method @NonNull public String getAddress();
+    method public int getRole();
+    method public int getType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR;
+    field public static final int ROLE_INPUT = 1; // 0x1
+    field public static final int ROLE_OUTPUT = 2; // 0x2
+  }
+
+  public final class AudioFocusInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.media.AudioAttributes getAttributes();
+    method @NonNull public String getClientId();
+    method public int getClientUid();
+    method public int getFlags();
+    method public int getGainRequest();
+    method public int getLossReceived();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
+  }
+
+  public final class AudioFocusRequest {
+    method public boolean locksFocus();
+  }
+
+  public static final class AudioFocusRequest.Builder {
+    method @NonNull public android.media.AudioFocusRequest.Builder setLocksFocus(boolean);
+  }
+
+  public class AudioManager {
+    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDeviceForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener) throws java.lang.SecurityException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDevicesForCapturePresetChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener) throws java.lang.SecurityException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDevicesForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener) throws java.lang.SecurityException;
+    method public void clearAudioServerStateCallback();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
+    method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public int getDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public java.util.List<android.media.AudioDeviceAttributes> getDevicesForAttributes(@NonNull android.media.AudioAttributes);
+    method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
+    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
+    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages();
+    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
+    method public boolean isAudioServerRunning();
+    method public boolean isHdmiSystemAudioSupported();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
+    method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.media.AudioAttributes, int, int) throws java.lang.IllegalArgumentException;
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.media.AudioAttributes, int, int, android.media.audiopolicy.AudioPolicy) throws java.lang.IllegalArgumentException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
+    method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForCapturePreset(int, @NonNull android.media.AudioDeviceAttributes);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
+    method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
+    field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
+    field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
+    field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
+    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE = 3; // 0x3
+    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE = 4; // 0x4
+    field public static final int DEVICE_VOLUME_BEHAVIOR_FIXED = 2; // 0x2
+    field public static final int DEVICE_VOLUME_BEHAVIOR_FULL = 1; // 0x1
+    field public static final int DEVICE_VOLUME_BEHAVIOR_VARIABLE = 0; // 0x0
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public abstract static class AudioManager.AudioServerStateCallback {
+    ctor public AudioManager.AudioServerStateCallback();
+    method public void onAudioServerDown();
+    method public void onAudioServerUp();
+  }
+
+  @Deprecated public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener {
+    method @Deprecated public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes);
+  }
+
+  public static interface AudioManager.OnPreferredDevicesForCapturePresetChangedListener {
+    method public void onPreferredDevicesForCapturePresetChanged(int, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
+  }
+
+  public static interface AudioManager.OnPreferredDevicesForStrategyChangedListener {
+    method public void onPreferredDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
+  }
+
+  public abstract static class AudioManager.VolumeGroupCallback {
+    ctor public AudioManager.VolumeGroupCallback();
+    method public void onAudioVolumeGroupChanged(int, int);
+  }
+
+  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
+    method public int getClientPid();
+    method public int getClientUid();
+    method public int getPlayerInterfaceId();
+    method public android.media.PlayerProxy getPlayerProxy();
+    method public int getPlayerState();
+    method public int getPlayerType();
+    method @IntRange(from=0) public int getSessionId();
+    method public boolean isActive();
+    field public static final int PLAYER_STATE_IDLE = 1; // 0x1
+    field public static final int PLAYER_STATE_PAUSED = 3; // 0x3
+    field public static final int PLAYER_STATE_RELEASED = 0; // 0x0
+    field public static final int PLAYER_STATE_STARTED = 2; // 0x2
+    field public static final int PLAYER_STATE_STOPPED = 4; // 0x4
+    field public static final int PLAYER_STATE_UNKNOWN = -1; // 0xffffffff
+    field public static final int PLAYER_TYPE_AAUDIO = 13; // 0xd
+    field public static final int PLAYER_TYPE_JAM_AUDIOTRACK = 1; // 0x1
+    field public static final int PLAYER_TYPE_JAM_MEDIAPLAYER = 2; // 0x2
+    field public static final int PLAYER_TYPE_JAM_SOUNDPOOL = 3; // 0x3
+    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE = 11; // 0xb
+    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD = 12; // 0xc
+    field public static final int PLAYER_TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
+    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
+    method public static long getMaxSharedAudioHistoryMillis();
+    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.MediaSyncEvent shareAudioHistory(@NonNull String, @IntRange(from=0) long);
+  }
+
+  public static class AudioRecord.Builder {
+    method public android.media.AudioRecord.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setMaxSharedAudioHistoryMillis(long) throws java.lang.IllegalArgumentException;
+    method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.AudioRecord.Builder setSharedAudioEvent(@NonNull android.media.MediaSyncEvent) throws java.lang.IllegalArgumentException;
+  }
+
+  public final class AudioRecordingConfiguration implements android.os.Parcelable {
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
+  }
+
+  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
+    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2
+  }
+
+  public static class AudioTrack.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration);
+  }
+
+  public static class AudioTrack.TunerConfiguration {
+    ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=0) int, @IntRange(from=1) int);
+    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId();
+    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId();
+    field public static final int CONTENT_ID_NONE = 0; // 0x0
+  }
+
+  public class HwAudioSource {
+    method public boolean isPlaying();
+    method public void start();
+    method public void stop();
+  }
+
+  public static final class HwAudioSource.Builder {
+    ctor public HwAudioSource.Builder();
+    method @NonNull public android.media.HwAudioSource build();
+    method @NonNull public android.media.HwAudioSource.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
+    method @NonNull public android.media.HwAudioSource.Builder setAudioDeviceInfo(@NonNull android.media.AudioDeviceInfo);
+  }
+
+  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
+    method @RequiresPermission(android.Manifest.permission.BIND_IMS_SERVICE) public void setOnRtpRxNoticeListener(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaPlayer.OnRtpRxNoticeListener);
+  }
+
+  public static interface MediaPlayer.OnRtpRxNoticeListener {
+    method public void onRtpRxNotice(@NonNull android.media.MediaPlayer, int, @NonNull int[]);
+  }
+
+  public final class MediaRecorder.AudioSource {
+    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
+    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
+    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
+  }
+
+  public final class MediaRouter2 {
+    method @NonNull public java.util.List<android.media.MediaRoute2Info> getAllRoutes();
+    method @Nullable public String getClientPackageName();
+    method @Nullable @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void setRouteVolume(@NonNull android.media.MediaRoute2Info, int);
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void startScan();
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void stopScan();
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void transfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRoute2Info);
+  }
+
+  public abstract static class MediaRouter2.RouteCallback {
+    method public void onPreferredFeaturesChanged(@NonNull java.util.List<java.lang.String>);
+  }
+
+  public class MediaSyncEvent implements android.os.Parcelable {
+    field public static final int SYNC_EVENT_SHARE_AUDIO_HISTORY = 100; // 0x64
+  }
+
+  public final class MediaTranscodingManager {
+    method @Nullable public android.media.MediaTranscodingManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodingManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.OnTranscodingFinishedListener);
+  }
+
+  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.OnTranscodingFinishedListener {
+    method public void onTranscodingFinished(@NonNull android.media.MediaTranscodingManager.TranscodingSession);
+  }
+
+  public abstract static class MediaTranscodingManager.TranscodingRequest {
+    method public int getClientPid();
+    method public int getClientUid();
+    method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor();
+    method @NonNull public android.net.Uri getDestinationUri();
+    method @Nullable public android.os.ParcelFileDescriptor getSourceFileDescriptor();
+    method @NonNull public android.net.Uri getSourceUri();
+  }
+
+  public static class MediaTranscodingManager.TranscodingRequest.VideoFormatResolver {
+    ctor public MediaTranscodingManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat);
+    method @Nullable public android.media.MediaFormat resolveVideoFormat();
+    method public boolean shouldTranscode();
+  }
+
+  public static final class MediaTranscodingManager.TranscodingSession {
+    method public boolean addClientUid(int);
+    method public void cancel();
+    method @NonNull public java.util.List<java.lang.Integer> getClientUids();
+    method public int getErrorCode();
+    method @IntRange(from=0, to=100) public int getProgress();
+    method public int getResult();
+    method public int getSessionId();
+    method public int getStatus();
+    method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @Nullable android.media.MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener);
+    field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1
+    field public static final int ERROR_NONE = 0; // 0x0
+    field public static final int ERROR_SERVICE_DIED = 2; // 0x2
+    field public static final int RESULT_CANCELED = 4; // 0x4
+    field public static final int RESULT_ERROR = 3; // 0x3
+    field public static final int RESULT_NONE = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 2; // 0x2
+    field public static final int STATUS_FINISHED = 3; // 0x3
+    field public static final int STATUS_PAUSED = 4; // 0x4
+    field public static final int STATUS_PENDING = 1; // 0x1
+    field public static final int STATUS_RUNNING = 2; // 0x2
+  }
+
+  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener {
+    method public void onProgressUpdate(@NonNull android.media.MediaTranscodingManager.TranscodingSession, @IntRange(from=0, to=100) int);
+  }
+
+  public static final class MediaTranscodingManager.VideoTranscodingRequest extends android.media.MediaTranscodingManager.TranscodingRequest {
+    method @NonNull public android.media.MediaFormat getVideoTrackFormat();
+  }
+
+  public static final class MediaTranscodingManager.VideoTranscodingRequest.Builder {
+    ctor public MediaTranscodingManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat);
+    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest build();
+    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientPid(int);
+    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientUid(int);
+    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
+    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
+  }
+
+  public class PlayerProxy {
+    method public void pause();
+    method public void setPan(float);
+    method public void setStartDelayMs(int);
+    method public void setVolume(float);
+    method public void start();
+    method public void stop();
+  }
+
+  public class RingtoneManager {
+    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context);
+  }
+
+  public final class RouteDiscoveryPreference implements android.os.Parcelable {
+    field public static final android.media.RouteDiscoveryPreference EMPTY;
+  }
+
+  public class Spatializer {
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addOnHeadTrackingModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnHeadToSoundstagePoseUpdatedListener();
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnSpatializerOutputChangedListener();
+    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<android.media.AudioDeviceAttributes> getCompatibleAudioDevices();
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getDesiredHeadTrackingMode();
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void getEffectParameter(int, @NonNull byte[]);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getHeadTrackingMode();
+    method @IntRange(from=0) @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getOutput();
+    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<java.lang.Integer> getSupportedHeadTrackingModes();
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void recenterHeadTracker();
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeOnHeadTrackingModeChangedListener(@NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setDesiredHeadTrackingMode(int);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEffectParameter(int, @NonNull byte[]);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEnabled(boolean);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setGlobalTransform(@NonNull float[]);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnHeadToSoundstagePoseUpdatedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadToSoundstagePoseUpdatedListener);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnSpatializerOutputChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerOutputChangedListener);
+    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_DISABLED = -1; // 0xffffffff
+    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_OTHER = 0; // 0x0
+    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; // 0x2
+    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_WORLD = 1; // 0x1
+    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_UNSUPPORTED = -2; // 0xfffffffe
+  }
+
+  public static interface Spatializer.OnHeadToSoundstagePoseUpdatedListener {
+    method public void onHeadToSoundstagePoseUpdated(@NonNull android.media.Spatializer, @NonNull float[]);
+  }
+
+  public static interface Spatializer.OnHeadTrackingModeChangedListener {
+    method public void onDesiredHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
+    method public void onHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
+  }
+
+  public static interface Spatializer.OnSpatializerOutputChangedListener {
+    method public void onSpatializerOutputChanged(@NonNull android.media.Spatializer, @IntRange(from=0) int);
+  }
+
+}
+
+package android.media.audiofx {
+
+  public class AudioEffect {
+    ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
+    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
+  }
+
+}
+
+package android.media.audiopolicy {
+
+  public class AudioMix {
+    method public int getMixState();
+    field public static final int MIX_STATE_DISABLED = -1; // 0xffffffff
+    field public static final int MIX_STATE_IDLE = 0; // 0x0
+    field public static final int MIX_STATE_MIXING = 1; // 0x1
+    field public static final int ROUTE_FLAG_LOOP_BACK = 2; // 0x2
+    field public static final int ROUTE_FLAG_RENDER = 1; // 0x1
+  }
+
+  public static class AudioMix.Builder {
+    ctor public AudioMix.Builder(android.media.audiopolicy.AudioMixingRule) throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMix build() throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMix.Builder setDevice(@NonNull android.media.AudioDeviceInfo) throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMix.Builder setFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMix.Builder setRouteFlags(int) throws java.lang.IllegalArgumentException;
+  }
+
+  public class AudioMixingRule {
+    field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2
+    field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1
+    field public static final int RULE_MATCH_UID = 4; // 0x4
+    field public static final int RULE_MATCH_USERID = 8; // 0x8
+  }
+
+  public static class AudioMixingRule.Builder {
+    ctor public AudioMixingRule.Builder();
+    method public android.media.audiopolicy.AudioMixingRule.Builder addMixRule(int, Object) throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMixingRule.Builder addRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder allowPrivilegedPlaybackCapture(boolean);
+    method public android.media.audiopolicy.AudioMixingRule build();
+    method public android.media.audiopolicy.AudioMixingRule.Builder excludeMixRule(int, Object) throws java.lang.IllegalArgumentException;
+    method public android.media.audiopolicy.AudioMixingRule.Builder excludeRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
+  }
+
+  public class AudioPolicy {
+    method public int attachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
+    method public android.media.AudioRecord createAudioRecordSink(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
+    method public android.media.AudioTrack createAudioTrackSource(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
+    method public int detachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
+    method public int getFocusDuckingBehavior();
+    method public int getStatus();
+    method public boolean removeUidDeviceAffinity(int);
+    method public boolean removeUserIdDeviceAffinity(int);
+    method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
+    method public void setRegistration(String);
+    method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
+    method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
+    method public String toLogFriendlyString();
+    field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0
+    field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0
+    field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1
+    field public static final int POLICY_STATUS_REGISTERED = 2; // 0x2
+    field public static final int POLICY_STATUS_UNREGISTERED = 1; // 0x1
+  }
+
+  public abstract static class AudioPolicy.AudioPolicyFocusListener {
+    ctor public AudioPolicy.AudioPolicyFocusListener();
+    method public void onAudioFocusAbandon(android.media.AudioFocusInfo);
+    method public void onAudioFocusGrant(android.media.AudioFocusInfo, int);
+    method public void onAudioFocusLoss(android.media.AudioFocusInfo, boolean);
+    method public void onAudioFocusRequest(android.media.AudioFocusInfo, int);
+  }
+
+  public abstract static class AudioPolicy.AudioPolicyStatusListener {
+    ctor public AudioPolicy.AudioPolicyStatusListener();
+    method public void onMixStateUpdate(android.media.audiopolicy.AudioMix);
+    method public void onStatusChange();
+  }
+
+  public abstract static class AudioPolicy.AudioPolicyVolumeCallback {
+    ctor public AudioPolicy.AudioPolicyVolumeCallback();
+    method public void onVolumeAdjustment(int);
+  }
+
+  public static class AudioPolicy.Builder {
+    ctor public AudioPolicy.Builder(android.content.Context);
+    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder addMix(@NonNull android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
+    method @NonNull public android.media.audiopolicy.AudioPolicy build();
+    method public void setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener);
+    method public void setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener);
+    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setAudioPolicyVolumeCallback(@NonNull android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback);
+    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsAudioFocusPolicy(boolean);
+    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setLooper(@NonNull android.os.Looper) throws java.lang.IllegalArgumentException;
+  }
+
+  public final class AudioProductStrategy implements android.os.Parcelable {
+    method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int);
+    method public int describeContents();
+    method @NonNull public android.media.AudioAttributes getAudioAttributes();
+    method public int getId();
+    method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
+  }
+
+  public final class AudioVolumeGroup implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
+    method public int getId();
+    method @NonNull public int[] getLegacyStreamTypes();
+    method @NonNull public String name();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioVolumeGroup> CREATOR;
+    field public static final int DEFAULT_VOLUME_GROUP = -1; // 0xffffffff
+  }
+
+}
+
+package android.media.musicrecognition {
+
+  public class MusicRecognitionManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_MUSIC_RECOGNITION) public void beginStreamingSearch(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.musicrecognition.MusicRecognitionManager.RecognitionCallback);
+    field public static final int RECOGNITION_FAILED_AUDIO_UNAVAILABLE = 7; // 0x7
+    field public static final int RECOGNITION_FAILED_NOT_FOUND = 1; // 0x1
+    field public static final int RECOGNITION_FAILED_NO_CONNECTIVITY = 2; // 0x2
+    field public static final int RECOGNITION_FAILED_SERVICE_KILLED = 5; // 0x5
+    field public static final int RECOGNITION_FAILED_SERVICE_UNAVAILABLE = 3; // 0x3
+    field public static final int RECOGNITION_FAILED_TIMEOUT = 6; // 0x6
+    field public static final int RECOGNITION_FAILED_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public static interface MusicRecognitionManager.RecognitionCallback {
+    method public void onAudioStreamClosed();
+    method public void onRecognitionFailed(@NonNull android.media.musicrecognition.RecognitionRequest, int);
+    method public void onRecognitionSucceeded(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
+  }
+
+  public abstract class MusicRecognitionService extends android.app.Service {
+    ctor public MusicRecognitionService();
+    method public abstract void onRecognize(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @NonNull android.media.musicrecognition.MusicRecognitionService.Callback);
+  }
+
+  public static interface MusicRecognitionService.Callback {
+    method public void onRecognitionFailed(int);
+    method public void onRecognitionSucceeded(@NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
+  }
+
+  public final class RecognitionRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.media.AudioAttributes getAudioAttributes();
+    method @NonNull public android.media.AudioFormat getAudioFormat();
+    method public int getCaptureSession();
+    method public int getIgnoreBeginningFrames();
+    method public int getMaxAudioLengthSeconds();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.musicrecognition.RecognitionRequest> CREATOR;
+  }
+
+  public static final class RecognitionRequest.Builder {
+    ctor public RecognitionRequest.Builder();
+    method @NonNull public android.media.musicrecognition.RecognitionRequest build();
+    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
+    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioFormat(@NonNull android.media.AudioFormat);
+    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setCaptureSession(int);
+    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setIgnoreBeginningFrames(int);
+    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setMaxAudioLengthSeconds(int);
+  }
+
+}
+
+package android.media.session {
+
+  public final class MediaSessionManager {
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventDispatchedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventSessionChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public android.media.session.MediaSession.Token getMediaKeyEventSession();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public String getMediaKeyEventSessionPackageName();
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventDispatchedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
+    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventSessionChangedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener);
+    method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
+  }
+
+  public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
+    method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
+  }
+
+  public static interface MediaSessionManager.OnMediaKeyEventSessionChangedListener {
+    method public void onMediaKeyEventSessionChanged(@NonNull String, @Nullable android.media.session.MediaSession.Token);
+  }
+
+  public static interface MediaSessionManager.OnMediaKeyListener {
+    method public boolean onMediaKey(android.view.KeyEvent);
+  }
+
+  public static interface MediaSessionManager.OnVolumeKeyLongPressListener {
+    method public void onVolumeKeyLongPress(android.view.KeyEvent);
+  }
+
+}
+
+package android.media.soundtrigger {
+
+  public abstract class SoundTriggerDetectionService extends android.app.Service {
+    ctor public SoundTriggerDetectionService();
+    method @MainThread public void onConnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
+    method @MainThread public void onDisconnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
+    method @MainThread public void onError(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, int);
+    method @MainThread public void onGenericRecognitionEvent(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionEvent);
+    method @MainThread public abstract void onStopOperation(@NonNull java.util.UUID, @Nullable android.os.Bundle, int);
+    method public final void operationFinished(@Nullable java.util.UUID, int);
+  }
+
+  public final class SoundTriggerDetector {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean startRecognition(int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition();
+    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
+    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
+    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
+    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
+    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
+  }
+
+  public abstract static class SoundTriggerDetector.Callback {
+    ctor public SoundTriggerDetector.Callback();
+    method public abstract void onAvailabilityChanged(int);
+    method public abstract void onDetected(@NonNull android.media.soundtrigger.SoundTriggerDetector.EventPayload);
+    method public abstract void onError();
+    method public abstract void onRecognitionPaused();
+    method public abstract void onRecognitionResumed();
+  }
+
+  public static class SoundTriggerDetector.EventPayload {
+    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
+    method @Nullable public byte[] getTriggerAudio();
+  }
+
+  public final class SoundTriggerManager {
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerDetector createSoundTriggerDetector(java.util.UUID, @NonNull android.media.soundtrigger.SoundTriggerDetector.Callback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID);
+    method public int getDetectionServiceOperationsTimeout();
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model);
+  }
+
+  public static class SoundTriggerManager.Model {
+    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
+    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
+    method @Nullable public byte[] getModelData();
+    method @NonNull public java.util.UUID getModelUuid();
+    method @NonNull public java.util.UUID getVendorUuid();
+    method public int getVersion();
+  }
+
+}
+
+package android.media.tv {
+
+  public final class DvbDeviceInfo implements android.os.Parcelable {
+    ctor public DvbDeviceInfo(int, int);
+    method public int describeContents();
+    method @IntRange(from=0) public int getAdapterId();
+    method @IntRange(from=0) public int getDeviceId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.DvbDeviceInfo> CREATOR;
+  }
+
+  public final class TunedInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAppTag();
+    method public int getAppType();
+    method @Nullable public android.net.Uri getChannelUri();
+    method @NonNull public String getInputId();
+    method public boolean isMainSession();
+    method public boolean isRecordingSession();
+    method public boolean isVisible();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int APP_TAG_SELF = 0; // 0x0
+    field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3
+    field public static final int APP_TYPE_SELF = 1; // 0x1
+    field public static final int APP_TYPE_SYSTEM = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TunedInfo> CREATOR;
+  }
+
+  public final class TvContentRatingSystemInfo implements android.os.Parcelable {
+    method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo);
+    method public int describeContents();
+    method public android.net.Uri getXmlUri();
+    method public boolean isSystemDefined();
+    method public void writeToParcel(android.os.Parcel, int);
+  }
+
+  public final class TvContract {
+    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, boolean);
+    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, @Nullable String, boolean);
+    field public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
+    field public static final String EXTRA_BLOCKED_PACKAGES = "android.media.tv.extra.BLOCKED_PACKAGES";
+    field public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
+    field public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
+    field public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
+    field public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
+    field public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
+    field public static final String EXTRA_RESULT_CODE = "android.media.tv.extra.RESULT_CODE";
+    field public static final String METHOD_ADD_COLUMN = "add_column";
+    field public static final String METHOD_BLOCK_PACKAGE = "block_package";
+    field public static final String METHOD_GET_BLOCKED_PACKAGES = "get_blocked_packages";
+    field public static final String METHOD_GET_COLUMNS = "get_columns";
+    field public static final String METHOD_UNBLOCK_PACKAGE = "unblock_package";
+    field public static final int RESULT_ERROR_INVALID_ARGUMENT = 2; // 0x2
+    field public static final int RESULT_ERROR_IO = 1; // 0x1
+    field public static final int RESULT_OK = 0; // 0x0
+  }
+
+  public static final class TvContract.WatchedPrograms implements android.media.tv.TvContract.BaseTvColumns {
+    field public static final String COLUMN_CHANNEL_ID = "channel_id";
+    field public static final String COLUMN_DESCRIPTION = "description";
+    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
+    field public static final String COLUMN_INTERNAL_SESSION_TOKEN = "session_token";
+    field public static final String COLUMN_INTERNAL_TUNE_PARAMS = "tune_params";
+    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
+    field public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
+    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watched_program";
+    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watched_program";
+    field public static final android.net.Uri CONTENT_URI;
+  }
+
+  public final class TvInputHardwareInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public String getAudioAddress();
+    method public int getAudioType();
+    method public int getCableConnectionStatus();
+    method public int getDeviceId();
+    method public int getHdmiPortId();
+    method public int getType();
+    method public void readFromParcel(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
+    field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
+    field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
+    field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
+    field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
+    field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
+    field public static final int TV_INPUT_TYPE_DVI = 8; // 0x8
+    field public static final int TV_INPUT_TYPE_HDMI = 9; // 0x9
+    field public static final int TV_INPUT_TYPE_OTHER_HARDWARE = 1; // 0x1
+    field public static final int TV_INPUT_TYPE_SCART = 5; // 0x5
+    field public static final int TV_INPUT_TYPE_SVIDEO = 4; // 0x4
+    field public static final int TV_INPUT_TYPE_TUNER = 2; // 0x2
+    field public static final int TV_INPUT_TYPE_VGA = 7; // 0x7
+  }
+
+  public static final class TvInputHardwareInfo.Builder {
+    ctor public TvInputHardwareInfo.Builder();
+    method public android.media.tv.TvInputHardwareInfo.Builder audioAddress(String);
+    method public android.media.tv.TvInputHardwareInfo.Builder audioType(int);
+    method public android.media.tv.TvInputHardwareInfo build();
+    method public android.media.tv.TvInputHardwareInfo.Builder cableConnectionStatus(int);
+    method public android.media.tv.TvInputHardwareInfo.Builder deviceId(int);
+    method public android.media.tv.TvInputHardwareInfo.Builder hdmiPortId(int);
+    method public android.media.tv.TvInputHardwareInfo.Builder type(int);
+  }
+
+  public final class TvInputInfo implements android.os.Parcelable {
+    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.hardware.hdmi.HdmiDeviceInfo, String, String, android.net.Uri) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.hardware.hdmi.HdmiDeviceInfo, String, int, android.graphics.drawable.Icon) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.media.tv.TvInputHardwareInfo, String, android.net.Uri) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.media.tv.TvInputHardwareInfo, int, android.graphics.drawable.Icon) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo();
+    method public boolean isConnectedToHdmiSwitch();
+    method public boolean isHardwareInput();
+    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
+  }
+
+  public static final class TvInputInfo.Builder {
+    method public android.media.tv.TvInputInfo.Builder setHdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo);
+    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon);
+    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon, int);
+    method public android.media.tv.TvInputInfo.Builder setLabel(CharSequence);
+    method public android.media.tv.TvInputInfo.Builder setLabel(@StringRes int);
+    method public android.media.tv.TvInputInfo.Builder setParentId(String);
+    method public android.media.tv.TvInputInfo.Builder setTvInputHardwareInfo(android.media.tv.TvInputHardwareInfo);
+  }
+
+  public static final class TvInputInfo.TvInputSettings {
+    method public static java.util.Map<java.lang.String,java.lang.String> getCustomLabels(android.content.Context, int);
+    method public static java.util.Set<java.lang.String> getHiddenTvInputIds(android.content.Context, int);
+    method public static void putCustomLabels(android.content.Context, java.util.Map<java.lang.String,java.lang.String>, int);
+    method public static void putHiddenTvInputs(android.content.Context, java.util.Set<java.lang.String>, int);
+  }
+
+  public final class TvInputManager {
+    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, @NonNull android.media.tv.TvInputInfo, @NonNull android.media.tv.TvInputManager.HardwareCallback);
+    method @Nullable @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, @NonNull android.media.tv.TvInputInfo, @Nullable String, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.TvInputManager.HardwareCallback);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating);
+    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig);
+    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public java.util.List<android.media.tv.TunedInfo> getCurrentTunedInfos();
+    method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList();
+    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List<android.media.tv.TvInputHardwareInfo> getHardwareList();
+    method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List<android.media.tv.TvContentRatingSystemInfo> getTvContentRatingSystemList();
+    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean isSingleSessionActive();
+    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramAddedToWatchNext(String, long, long);
+    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramBrowsableDisabled(String, long);
+    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyWatchNextProgramBrowsableDisabled(String, long);
+    method @Nullable @RequiresPermission("android.permission.DVB_DEVICE") public android.os.ParcelFileDescriptor openDvbDevice(@NonNull android.media.tv.DvbDeviceInfo, int);
+    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public void releaseTvInputHardware(int, android.media.tv.TvInputManager.Hardware);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void removeBlockedRating(@NonNull android.media.tv.TvContentRating);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void setParentalControlsEnabled(boolean);
+  }
+
+  public static final class TvInputManager.Hardware {
+    method public void overrideAudioSink(int, String, int, int, int);
+    method public void setStreamVolume(float);
+    method public boolean setSurface(android.view.Surface, android.media.tv.TvStreamConfig);
+  }
+
+  public abstract static class TvInputManager.HardwareCallback {
+    ctor public TvInputManager.HardwareCallback();
+    method public abstract void onReleased();
+    method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]);
+  }
+
+  public abstract static class TvInputManager.TvInputCallback {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public void onCurrentTunedInfosUpdated(@NonNull java.util.List<android.media.tv.TunedInfo>);
+  }
+
+  public abstract class TvInputService extends android.app.Service {
+    method @Nullable public android.os.IBinder createExtension();
+    method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo);
+    method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);
+    method @Nullable public android.media.tv.TvInputInfo onHdmiDeviceAdded(android.hardware.hdmi.HdmiDeviceInfo);
+    method @Nullable public String onHdmiDeviceRemoved(android.hardware.hdmi.HdmiDeviceInfo);
+    method public void onHdmiDeviceUpdated(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+  }
+
+  public abstract static class TvInputService.RecordingSession {
+    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
+  }
+
+  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
+    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
+    method public void onSetMain(boolean);
+  }
+
+  public abstract static class TvRecordingClient.RecordingCallback {
+    method public void onEvent(String, String, android.os.Bundle);
+  }
+
+  public class TvStreamConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getGeneration();
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getStreamId();
+    method public int getType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
+    field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
+    field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
+  }
+
+  public static final class TvStreamConfig.Builder {
+    ctor public TvStreamConfig.Builder();
+    method public android.media.tv.TvStreamConfig build();
+    method public android.media.tv.TvStreamConfig.Builder generation(int);
+    method public android.media.tv.TvStreamConfig.Builder maxHeight(int);
+    method public android.media.tv.TvStreamConfig.Builder maxWidth(int);
+    method public android.media.tv.TvStreamConfig.Builder streamId(int);
+    method public android.media.tv.TvStreamConfig.Builder type(int);
+  }
+
+  public class TvView extends android.view.ViewGroup {
+    method @RequiresPermission("android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE") public void setMain();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void unblockContent(android.media.tv.TvContentRating);
+  }
+
+  public abstract static class TvView.TvInputCallback {
+    method public void onEvent(String, String, android.os.Bundle);
+  }
+
+}
+
+package android.media.tv.tuner {
+
+  public class DemuxCapabilities {
+    method public int getAudioFilterCount();
+    method public int getDemuxCount();
+    method public int getFilterCapabilities();
+    method @NonNull @Size(5) public int[] getLinkCapabilities();
+    method public int getPcrFilterCount();
+    method public int getPesFilterCount();
+    method public int getPlaybackCount();
+    method public int getRecordCount();
+    method public int getSectionFilterCount();
+    method public long getSectionFilterLength();
+    method public int getTsFilterCount();
+    method public int getVideoFilterCount();
+    method public boolean isTimeFilterSupported();
+  }
+
+  public class Descrambler implements java.lang.AutoCloseable {
+    method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
+    method public void close();
+    method public static boolean isValidKeyToken(@NonNull byte[]);
+    method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
+    method public int setKeyToken(@NonNull byte[]);
+    field public static final int PID_TYPE_MMTP = 2; // 0x2
+    field public static final int PID_TYPE_T = 1; // 0x1
+  }
+
+  public class Lnb implements java.lang.AutoCloseable {
+    method public void close();
+    method public int sendDiseqcMessage(@NonNull byte[]);
+    method public int setSatellitePosition(int);
+    method public int setTone(int);
+    method public int setVoltage(int);
+    field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0
+    field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2
+    field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1
+    field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3
+    field public static final int POSITION_A = 1; // 0x1
+    field public static final int POSITION_B = 2; // 0x2
+    field public static final int POSITION_UNDEFINED = 0; // 0x0
+    field public static final int TONE_CONTINUOUS = 1; // 0x1
+    field public static final int TONE_NONE = 0; // 0x0
+    field public static final int VOLTAGE_11V = 2; // 0x2
+    field public static final int VOLTAGE_12V = 3; // 0x3
+    field public static final int VOLTAGE_13V = 4; // 0x4
+    field public static final int VOLTAGE_14V = 5; // 0x5
+    field public static final int VOLTAGE_15V = 6; // 0x6
+    field public static final int VOLTAGE_18V = 7; // 0x7
+    field public static final int VOLTAGE_19V = 8; // 0x8
+    field public static final int VOLTAGE_5V = 1; // 0x1
+    field public static final int VOLTAGE_NONE = 0; // 0x0
+  }
+
+  public interface LnbCallback {
+    method public void onDiseqcMessage(@NonNull byte[]);
+    method public void onEvent(int);
+  }
+
+  public class Tuner implements java.lang.AutoCloseable {
+    ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
+    method public int cancelScanning();
+    method public int cancelTuning();
+    method public void clearOnTuneEventListener();
+    method public void clearResourceLostListener();
+    method public void close();
+    method public int connectCiCam(int);
+    method public int connectFrontendToCiCam(int);
+    method public int disconnectCiCam();
+    method public int disconnectFrontendToCiCam(int);
+    method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter);
+    method public long getAvSyncTime(int);
+    method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getAvailableFrontendInfos();
+    method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities();
+    method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
+    method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
+    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
+    method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
+    method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
+    method @Nullable public android.media.tv.tuner.filter.Filter openFilter(int, int, long, @Nullable java.util.concurrent.Executor, @Nullable android.media.tv.tuner.filter.FilterCallback);
+    method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
+    method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
+    method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
+    method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
+    method public int setLnaEnabled(boolean);
+    method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
+    method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
+    method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
+    method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
+    method public void updateResourcePriority(int, int);
+    field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff
+    field public static final int INVALID_FILTER_ID = -1; // 0xffffffff
+    field public static final long INVALID_FILTER_ID_LONG = -1L; // 0xffffffffffffffffL
+    field public static final int INVALID_FIRST_MACROBLOCK_IN_SLICE = -1; // 0xffffffff
+    field public static final int INVALID_FRONTEND_ID = -1; // 0xffffffff
+    field public static final int INVALID_FRONTEND_SETTING_FREQUENCY = -1; // 0xffffffff
+    field public static final int INVALID_LTS_ID = -1; // 0xffffffff
+    field public static final int INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM = -1; // 0xffffffff
+    field public static final int INVALID_STREAM_ID = 65535; // 0xffff
+    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
+    field public static final int INVALID_TS_PID = 65535; // 0xffff
+    field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
+    field public static final int RESULT_INVALID_STATE = 3; // 0x3
+    field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
+    field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+    field public static final int RESULT_UNAVAILABLE = 1; // 0x1
+    field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6
+    field public static final int SCAN_TYPE_AUTO = 1; // 0x1
+    field public static final int SCAN_TYPE_BLIND = 2; // 0x2
+    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
+    field @NonNull public static final byte[] VOID_KEYTOKEN;
+  }
+
+  public static interface Tuner.OnResourceLostListener {
+    method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner);
+  }
+
+  public final class TunerVersionChecker {
+    method public static int getTunerVersion();
+    field public static final int TUNER_VERSION_1_0 = 65536; // 0x10000
+    field public static final int TUNER_VERSION_1_1 = 65537; // 0x10001
+    field public static final int TUNER_VERSION_UNKNOWN = 0; // 0x0
+  }
+
+}
+
+package android.media.tv.tuner.dvr {
+
+  public class DvrPlayback implements java.lang.AutoCloseable {
+    method @Deprecated public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
+    method public void close();
+    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
+    method @Deprecated public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
+    method public int flush();
+    method public long read(long);
+    method public long read(@NonNull byte[], long, long);
+    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
+    method public int start();
+    method public int stop();
+    field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2
+    field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4
+    field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1
+    field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8
+  }
+
+  public class DvrRecorder implements java.lang.AutoCloseable {
+    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
+    method public void close();
+    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
+    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
+    method public int flush();
+    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
+    method public int start();
+    method public int stop();
+    method public long write(long);
+    method public long write(@NonNull byte[], long, long);
+  }
+
+  public class DvrSettings {
+    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
+    method public int getDataFormat();
+    method public long getHighThreshold();
+    method public long getLowThreshold();
+    method public long getPacketSize();
+    method public int getStatusMask();
+    field public static final int DATA_FORMAT_ES = 2; // 0x2
+    field public static final int DATA_FORMAT_PES = 1; // 0x1
+    field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3
+    field public static final int DATA_FORMAT_TS = 0; // 0x0
+  }
+
+  public static final class DvrSettings.Builder {
+    ctor public DvrSettings.Builder();
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings build();
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int);
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long);
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long);
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long);
+    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int);
+  }
+
+  public interface OnPlaybackStatusChangedListener {
+    method public void onPlaybackStatusChanged(int);
+  }
+
+  public interface OnRecordStatusChangedListener {
+    method public void onRecordStatusChanged(int);
+  }
+
+}
+
+package android.media.tv.tuner.filter {
+
+  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
+    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
+    method public int getLengthType();
+    method public int getPacketType();
+    method public int getType();
+    field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1
+    field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2
+    field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2
+    field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6
+    field public static final int PACKET_TYPE_IPV4 = 0; // 0x0
+    field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7
+    field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4
+  }
+
+  public static final class AlpFilterConfiguration.Builder {
+    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build();
+    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int);
+    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int);
+    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
+  }
+
+  public class AudioDescriptor {
+    method public byte getAdFade();
+    method public byte getAdGainCenter();
+    method public byte getAdGainFront();
+    method public byte getAdGainSurround();
+    method public byte getAdPan();
+    method public char getAdVersionTextTag();
+  }
+
+  public class AvSettings extends android.media.tv.tuner.filter.Settings {
+    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
+    method public int getAudioStreamType();
+    method public int getVideoStreamType();
+    method public boolean isPassthrough();
+    field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
+    field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
+    field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
+    field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
+    field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
+    field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
+    field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
+    field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
+    field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
+    field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
+    field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
+    field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
+    field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
+    field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
+    field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
+    field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
+    field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
+    field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
+    field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
+    field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
+    field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
+    field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
+    field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
+    field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
+    field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
+    field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
+    field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
+  }
+
+  public static class AvSettings.Builder {
+    method @NonNull public android.media.tv.tuner.filter.AvSettings build();
+    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
+    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
+    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
+  }
+
+  public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getDataLength();
+    method public int getItemFragmentIndex();
+    method public int getItemId();
+    method public int getLastItemFragmentIndex();
+    method @IntRange(from=0) public int getMpuSequenceNumber();
+  }
+
+  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
+    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
+    method public int getDownloadId();
+  }
+
+  public static class DownloadSettings.Builder {
+    method @NonNull public android.media.tv.tuner.filter.DownloadSettings build();
+    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int);
+  }
+
+  public class Filter implements java.lang.AutoCloseable {
+    method public void close();
+    method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
+    method public int flush();
+    method public int getId();
+    method public long getIdLong();
+    method public int read(@NonNull byte[], long, long);
+    method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
+    method public int setMonitorEventMask(int);
+    method public int start();
+    method public int stop();
+    field public static final int MONITOR_EVENT_IP_CID_CHANGE = 2; // 0x2
+    field public static final int MONITOR_EVENT_SCRAMBLING_STATUS = 1; // 0x1
+    field public static final int SCRAMBLING_STATUS_NOT_SCRAMBLED = 2; // 0x2
+    field public static final int SCRAMBLING_STATUS_SCRAMBLED = 4; // 0x4
+    field public static final int SCRAMBLING_STATUS_UNKNOWN = 1; // 0x1
+    field public static final int STATUS_DATA_READY = 1; // 0x1
+    field public static final int STATUS_HIGH_WATER = 4; // 0x4
+    field public static final int STATUS_LOW_WATER = 2; // 0x2
+    field public static final int STATUS_OVERFLOW = 8; // 0x8
+    field public static final int SUBTYPE_AUDIO = 3; // 0x3
+    field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
+    field public static final int SUBTYPE_IP = 13; // 0xd
+    field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
+    field public static final int SUBTYPE_MMTP = 10; // 0xa
+    field public static final int SUBTYPE_NTP = 11; // 0xb
+    field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
+    field public static final int SUBTYPE_PCR = 8; // 0x8
+    field public static final int SUBTYPE_PES = 2; // 0x2
+    field public static final int SUBTYPE_PTP = 16; // 0x10
+    field public static final int SUBTYPE_RECORD = 6; // 0x6
+    field public static final int SUBTYPE_SECTION = 1; // 0x1
+    field public static final int SUBTYPE_TEMI = 9; // 0x9
+    field public static final int SUBTYPE_TLV = 15; // 0xf
+    field public static final int SUBTYPE_TS = 7; // 0x7
+    field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
+    field public static final int SUBTYPE_VIDEO = 4; // 0x4
+    field public static final int TYPE_ALP = 16; // 0x10
+    field public static final int TYPE_IP = 4; // 0x4
+    field public static final int TYPE_MMTP = 2; // 0x2
+    field public static final int TYPE_TLV = 8; // 0x8
+    field public static final int TYPE_TS = 1; // 0x1
+    field public static final int TYPE_UNDEFINED = 0; // 0x0
+  }
+
+  public interface FilterCallback {
+    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
+    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
+  }
+
+  public abstract class FilterConfiguration {
+    method @Nullable public android.media.tv.tuner.filter.Settings getSettings();
+    method public abstract int getType();
+  }
+
+  public abstract class FilterEvent {
+    ctor public FilterEvent();
+  }
+
+  public final class IpCidChangeEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getIpCid();
+  }
+
+  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
+    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
+    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
+    method public int getDstPort();
+    method @IntRange(from=0, to=61439) public int getIpFilterContextId();
+    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
+    method public int getSrcPort();
+    method public int getType();
+    method public boolean isPassthrough();
+    field public static final int INVALID_IP_FILTER_CONTEXT_ID = -1; // 0xffffffff
+  }
+
+  public static final class IpFilterConfiguration.Builder {
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build();
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setIpFilterContextId(int);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]);
+    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int);
+  }
+
+  public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getDataLength();
+  }
+
+  public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public long getAudioHandle();
+    method public long getAvDataId();
+    method public long getDataLength();
+    method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData();
+    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
+    method @IntRange(from=0) public int getMpuSequenceNumber();
+    method public long getOffset();
+    method public long getPts();
+    method public int getStreamId();
+    method public boolean isPrivateData();
+    method public boolean isPtsPresent();
+    method public boolean isSecureMemory();
+    method public void release();
+  }
+
+  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
+    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
+    method public int getMmtpPacketId();
+    method public int getType();
+  }
+
+  public static final class MmtpFilterConfiguration.Builder {
+    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build();
+    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int);
+    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
+  }
+
+  public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public long getDataLength();
+    method public int getFirstMacroblockInSlice();
+    method @IntRange(from=0) public int getMpuSequenceNumber();
+    method public long getPts();
+    method public int getScHevcIndexMask();
+    method public int getTsIndexMask();
+  }
+
+  public class PesEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getDataLength();
+    method @IntRange(from=0) public int getMpuSequenceNumber();
+    method public int getStreamId();
+  }
+
+  public class PesSettings extends android.media.tv.tuner.filter.Settings {
+    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
+    method public int getStreamId();
+    method public boolean isRaw();
+  }
+
+  public static class PesSettings.Builder {
+    method @NonNull public android.media.tv.tuner.filter.PesSettings build();
+    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean);
+    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int);
+  }
+
+  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
+    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
+    method public int getScIndexMask();
+    method public int getScIndexType();
+    method public int getTsIndexMask();
+    field public static final int INDEX_TYPE_NONE = 0; // 0x0
+    field public static final int INDEX_TYPE_SC = 1; // 0x1
+    field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2
+    field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000
+    field public static final int MPT_INDEX_MPT = 65536; // 0x10000
+    field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000
+    field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000
+    field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000
+    field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2
+    field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10
+    field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8
+    field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4
+    field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40
+    field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20
+    field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80
+    field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1
+    field public static final int SC_INDEX_B_FRAME = 4; // 0x4
+    field public static final int SC_INDEX_B_SLICE = 64; // 0x40
+    field public static final int SC_INDEX_I_FRAME = 1; // 0x1
+    field public static final int SC_INDEX_I_SLICE = 16; // 0x10
+    field public static final int SC_INDEX_P_FRAME = 2; // 0x2
+    field public static final int SC_INDEX_P_SLICE = 32; // 0x20
+    field public static final int SC_INDEX_SEQUENCE = 8; // 0x8
+    field public static final int SC_INDEX_SI_SLICE = 128; // 0x80
+    field public static final int SC_INDEX_SP_SLICE = 256; // 0x100
+    field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000
+    field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8
+    field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4
+    field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10
+    field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20
+    field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1
+    field public static final int TS_INDEX_INVALID = 0; // 0x0
+    field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200
+    field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2
+    field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100
+    field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80
+    field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800
+    field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40
+    field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400
+  }
+
+  public static class RecordSettings.Builder {
+    method @NonNull public android.media.tv.tuner.filter.RecordSettings build();
+    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int);
+    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int);
+    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int);
+  }
+
+  public final class RestartEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getStartId();
+    field public static final int NEW_FILTER_FIRST_START_ID = 0; // 0x0
+  }
+
+  public final class ScramblingStatusEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getScramblingStatus();
+  }
+
+  public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public int getDataLength();
+    method public int getSectionNumber();
+    method public int getTableId();
+    method public int getVersion();
+  }
+
+  public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings {
+    method public boolean isCrcEnabled();
+    method public boolean isRaw();
+    method public boolean isRepeat();
+  }
+
+  public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> {
+    method @NonNull public T setCrcEnabled(boolean);
+    method @NonNull public T setRaw(boolean);
+    method @NonNull public T setRepeat(boolean);
+  }
+
+  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
+    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
+    method @NonNull public byte[] getFilterBytes();
+    method @NonNull public byte[] getMask();
+    method @NonNull public byte[] getMode();
+  }
+
+  public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> {
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build();
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]);
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]);
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]);
+  }
+
+  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
+    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
+    method public int getTableId();
+    method public int getVersion();
+  }
+
+  public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> {
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build();
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int);
+    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int);
+  }
+
+  public abstract class Settings {
+    method public int getType();
+  }
+
+  public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method @NonNull public byte[] getDescriptorData();
+    method public byte getDescriptorTag();
+    method public long getPts();
+  }
+
+  public class TimeFilter implements java.lang.AutoCloseable {
+    method public int clearTimestamp();
+    method public void close();
+    method public long getSourceTime();
+    method public long getTimeStamp();
+    method public int setCurrentTimestamp(long);
+  }
+
+  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
+    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
+    method public int getPacketType();
+    method public int getType();
+    method public boolean isCompressedIpPacket();
+    method public boolean isPassthrough();
+    field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3
+    field public static final int PACKET_TYPE_IPV4 = 1; // 0x1
+    field public static final int PACKET_TYPE_IPV6 = 2; // 0x2
+    field public static final int PACKET_TYPE_NULL = 255; // 0xff
+    field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe
+  }
+
+  public static final class TlvFilterConfiguration.Builder {
+    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build();
+    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean);
+    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int);
+    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean);
+    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
+  }
+
+  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
+    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
+    method public int getTpid();
+    method public int getType();
+  }
+
+  public static final class TsFilterConfiguration.Builder {
+    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build();
+    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
+    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int);
+  }
+
+  public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
+    method public long getDataLength();
+    method public int getFirstMacroblockInSlice();
+    method public int getPacketId();
+    method public long getPts();
+    method public int getScIndexMask();
+    method public int getTsIndexMask();
+  }
+
+}
+
+package android.media.tv.tuner.frontend {
+
+  public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getSifStandardCapability();
+    method public int getSignalTypeCapability();
+  }
+
+  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
+    method public int getAftFlag();
+    method public int getSifStandard();
+    method public int getSignalType();
+    method public int getType();
+    field public static final int AFT_FLAG_FALSE = 2; // 0x2
+    field public static final int AFT_FLAG_TRUE = 1; // 0x1
+    field public static final int AFT_FLAG_UNDEFINED = 0; // 0x0
+    field public static final int SIF_AUTO = 1; // 0x1
+    field public static final int SIF_BG = 2; // 0x2
+    field public static final int SIF_BG_A2 = 4; // 0x4
+    field public static final int SIF_BG_NICAM = 8; // 0x8
+    field public static final int SIF_DK = 32; // 0x20
+    field public static final int SIF_DK1_A2 = 64; // 0x40
+    field public static final int SIF_DK2_A2 = 128; // 0x80
+    field public static final int SIF_DK3_A2 = 256; // 0x100
+    field public static final int SIF_DK_NICAM = 512; // 0x200
+    field public static final int SIF_I = 16; // 0x10
+    field public static final int SIF_I_NICAM = 32768; // 0x8000
+    field public static final int SIF_L = 1024; // 0x400
+    field public static final int SIF_L_NICAM = 65536; // 0x10000
+    field public static final int SIF_L_PRIME = 131072; // 0x20000
+    field public static final int SIF_M = 2048; // 0x800
+    field public static final int SIF_M_A2 = 8192; // 0x2000
+    field public static final int SIF_M_BTSC = 4096; // 0x1000
+    field public static final int SIF_M_EIAJ = 16384; // 0x4000
+    field public static final int SIF_UNDEFINED = 0; // 0x0
+    field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1
+    field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20
+    field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40
+    field public static final int SIGNAL_TYPE_PAL = 2; // 0x2
+    field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10
+    field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4
+    field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8
+    field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80
+    field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0
+  }
+
+  public static class AnalogFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setAftFlag(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
+    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
+  }
+
+  public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getBandwidthCapability();
+    method public int getDemodOutputFormatCapability();
+    method public int getFecCapability();
+    method public int getModulationCapability();
+    method public int getPlpCodeRateCapability();
+    method public int getTimeInterleaveModeCapability();
+  }
+
+  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
+    method public int getBandwidth();
+    method public int getDemodOutputFormat();
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
+    method public int getType();
+    field public static final int BANDWIDTH_AUTO = 1; // 0x1
+    field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2
+    field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4
+    field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8
+    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
+    field public static final int CODERATE_10_15 = 512; // 0x200
+    field public static final int CODERATE_11_15 = 1024; // 0x400
+    field public static final int CODERATE_12_15 = 2048; // 0x800
+    field public static final int CODERATE_13_15 = 4096; // 0x1000
+    field public static final int CODERATE_2_15 = 2; // 0x2
+    field public static final int CODERATE_3_15 = 4; // 0x4
+    field public static final int CODERATE_4_15 = 8; // 0x8
+    field public static final int CODERATE_5_15 = 16; // 0x10
+    field public static final int CODERATE_6_15 = 32; // 0x20
+    field public static final int CODERATE_7_15 = 64; // 0x40
+    field public static final int CODERATE_8_15 = 128; // 0x80
+    field public static final int CODERATE_9_15 = 256; // 0x100
+    field public static final int CODERATE_AUTO = 1; // 0x1
+    field public static final int CODERATE_UNDEFINED = 0; // 0x0
+    field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1
+    field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2
+    field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0
+    field public static final int FEC_AUTO = 1; // 0x1
+    field public static final int FEC_BCH_LDPC_16K = 2; // 0x2
+    field public static final int FEC_BCH_LDPC_64K = 4; // 0x4
+    field public static final int FEC_CRC_LDPC_16K = 8; // 0x8
+    field public static final int FEC_CRC_LDPC_64K = 16; // 0x10
+    field public static final int FEC_LDPC_16K = 32; // 0x20
+    field public static final int FEC_LDPC_64K = 64; // 0x40
+    field public static final int FEC_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_1024QAM = 32; // 0x20
+    field public static final int MODULATION_MOD_16QAM = 4; // 0x4
+    field public static final int MODULATION_MOD_256QAM = 16; // 0x10
+    field public static final int MODULATION_MOD_4096QAM = 64; // 0x40
+    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
+    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
+    field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2
+    field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4
+    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
+  }
+
+  public static class Atsc3FrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
+  }
+
+  public class Atsc3PlpInfo {
+    method public boolean getLlsFlag();
+    method public int getPlpId();
+  }
+
+  public class Atsc3PlpSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
+    method public int getCodeRate();
+    method public int getFec();
+    method public int getInterleaveMode();
+    method public int getModulation();
+    method public int getPlpId();
+  }
+
+  public static class Atsc3PlpSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int);
+  }
+
+  public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getModulationCapability();
+  }
+
+  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
+    method public int getModulation();
+    method public int getType();
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_16VSB = 8; // 0x8
+    field public static final int MODULATION_MOD_8VSB = 4; // 0x4
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+  }
+
+  public static class AtscFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
+  }
+
+  public final class DtmbFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getBandwidthCapability();
+    method public int getCodeRateCapability();
+    method public int getGuardIntervalCapability();
+    method public int getModulationCapability();
+    method public int getTimeInterleaveModeCapability();
+    method public int getTransmissionModeCapability();
+  }
+
+  public final class DtmbFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder builder();
+    method public int getBandwidth();
+    method public int getCodeRate();
+    method public int getGuardInterval();
+    method public int getModulation();
+    method public int getTimeInterleaveMode();
+    method public int getTransmissionMode();
+    method public int getType();
+    field public static final int BANDWIDTH_6MHZ = 4; // 0x4
+    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
+    field public static final int BANDWIDTH_AUTO = 1; // 0x1
+    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
+    field public static final int CODERATE_2_5 = 2; // 0x2
+    field public static final int CODERATE_3_5 = 4; // 0x4
+    field public static final int CODERATE_4_5 = 8; // 0x8
+    field public static final int CODERATE_AUTO = 1; // 0x1
+    field public static final int CODERATE_UNDEFINED = 0; // 0x0
+    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
+    field public static final int GUARD_INTERVAL_PN_420_CONST = 16; // 0x10
+    field public static final int GUARD_INTERVAL_PN_420_VARIOUS = 2; // 0x2
+    field public static final int GUARD_INTERVAL_PN_595_CONST = 4; // 0x4
+    field public static final int GUARD_INTERVAL_PN_945_CONST = 32; // 0x20
+    field public static final int GUARD_INTERVAL_PN_945_VARIOUS = 8; // 0x8
+    field public static final int GUARD_INTERVAL_PN_RESERVED = 64; // 0x40
+    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_CONSTELLATION_16QAM = 8; // 0x8
+    field public static final int MODULATION_CONSTELLATION_32QAM = 16; // 0x10
+    field public static final int MODULATION_CONSTELLATION_4QAM = 2; // 0x2
+    field public static final int MODULATION_CONSTELLATION_4QAM_NR = 4; // 0x4
+    field public static final int MODULATION_CONSTELLATION_64QAM = 32; // 0x20
+    field public static final int MODULATION_CONSTELLATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_CONSTELLATION_UNDEFINED = 0; // 0x0
+    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
+    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_240 = 2; // 0x2
+    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_720 = 4; // 0x4
+    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
+    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
+    field public static final int TRANSMISSION_MODE_C1 = 2; // 0x2
+    field public static final int TRANSMISSION_MODE_C3780 = 4; // 0x4
+    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
+  }
+
+  public static final class DtmbFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setBandwidth(int);
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setCodeRate(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setGuardInterval(int);
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTimeInterleaveMode(int);
+    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTransmissionMode(int);
+  }
+
+  public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getAnnexCapability();
+    method public long getCodeRateCapability();
+    method @Deprecated public int getFecCapability();
+    method public int getModulationCapability();
+  }
+
+  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
+    method public int getAnnex();
+    method public int getBandwidth();
+    method public long getInnerFec();
+    method public int getModulation();
+    method public int getOuterFec();
+    method public int getSpectralInversion();
+    method public int getSymbolRate();
+    method public int getTimeInterleaveMode();
+    method public int getType();
+    field public static final int ANNEX_A = 1; // 0x1
+    field public static final int ANNEX_B = 2; // 0x2
+    field public static final int ANNEX_C = 4; // 0x4
+    field public static final int ANNEX_UNDEFINED = 0; // 0x0
+    field public static final int BANDWIDTH_5MHZ = 1; // 0x1
+    field public static final int BANDWIDTH_6MHZ = 2; // 0x2
+    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
+    field public static final int BANDWIDTH_8MHZ = 8; // 0x8
+    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_128QAM = 16; // 0x10
+    field public static final int MODULATION_MOD_16QAM = 2; // 0x2
+    field public static final int MODULATION_MOD_256QAM = 32; // 0x20
+    field public static final int MODULATION_MOD_32QAM = 4; // 0x4
+    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+    field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1
+    field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2
+    field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0
+    field @Deprecated public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2
+    field @Deprecated public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1
+    field @Deprecated public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
+    field public static final int TIME_INTERLEAVE_MODE_128_1_0 = 2; // 0x2
+    field public static final int TIME_INTERLEAVE_MODE_128_1_1 = 4; // 0x4
+    field public static final int TIME_INTERLEAVE_MODE_128_2 = 128; // 0x80
+    field public static final int TIME_INTERLEAVE_MODE_128_3 = 256; // 0x100
+    field public static final int TIME_INTERLEAVE_MODE_128_4 = 512; // 0x200
+    field public static final int TIME_INTERLEAVE_MODE_16_8 = 32; // 0x20
+    field public static final int TIME_INTERLEAVE_MODE_32_4 = 16; // 0x10
+    field public static final int TIME_INTERLEAVE_MODE_64_2 = 8; // 0x8
+    field public static final int TIME_INTERLEAVE_MODE_8_16 = 64; // 0x40
+    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
+    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
+  }
+
+  public static class DvbcFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setBandwidth(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setTimeInterleaveMode(int);
+  }
+
+  public class DvbsCodeRate {
+    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
+    method public int getBitsPer1000Symbol();
+    method public long getInnerFec();
+    method public boolean isLinear();
+    method public boolean isShortFrameEnabled();
+  }
+
+  public static class DvbsCodeRate.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build();
+    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean);
+  }
+
+  public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public long getInnerFecCapability();
+    method public int getModulationCapability();
+    method public int getStandardCapability();
+  }
+
+  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
+    method public boolean canHandleDiseqcRxMessage();
+    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
+    method public int getInputStreamId();
+    method public int getModulation();
+    method public int getPilot();
+    method public int getRolloff();
+    method public int getScanType();
+    method public int getStandard();
+    method public int getSymbolRate();
+    method public int getType();
+    method public int getVcmMode();
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_128APSK = 2048; // 0x800
+    field public static final int MODULATION_MOD_16APSK = 256; // 0x100
+    field public static final int MODULATION_MOD_16PSK = 16; // 0x10
+    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
+    field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000
+    field public static final int MODULATION_MOD_32APSK = 512; // 0x200
+    field public static final int MODULATION_MOD_32PSK = 32; // 0x20
+    field public static final int MODULATION_MOD_64APSK = 1024; // 0x400
+    field public static final int MODULATION_MOD_8APSK = 128; // 0x80
+    field public static final int MODULATION_MOD_8PSK = 4; // 0x4
+    field public static final int MODULATION_MOD_ACM = 64; // 0x40
+    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
+    field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+    field public static final int PILOT_AUTO = 3; // 0x3
+    field public static final int PILOT_OFF = 2; // 0x2
+    field public static final int PILOT_ON = 1; // 0x1
+    field public static final int PILOT_UNDEFINED = 0; // 0x0
+    field public static final int ROLLOFF_0_10 = 5; // 0x5
+    field public static final int ROLLOFF_0_15 = 4; // 0x4
+    field public static final int ROLLOFF_0_20 = 3; // 0x3
+    field public static final int ROLLOFF_0_25 = 2; // 0x2
+    field public static final int ROLLOFF_0_35 = 1; // 0x1
+    field public static final int ROLLOFF_0_5 = 6; // 0x6
+    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
+    field public static final int SCAN_TYPE_DIRECT = 1; // 0x1
+    field public static final int SCAN_TYPE_DISEQC = 2; // 0x2
+    field public static final int SCAN_TYPE_JESS = 4; // 0x4
+    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int SCAN_TYPE_UNICABLE = 3; // 0x3
+    field public static final int STANDARD_AUTO = 1; // 0x1
+    field public static final int STANDARD_S = 2; // 0x2
+    field public static final int STANDARD_S2 = 4; // 0x4
+    field public static final int STANDARD_S2X = 8; // 0x8
+    field public static final int VCM_MODE_AUTO = 1; // 0x1
+    field public static final int VCM_MODE_MANUAL = 2; // 0x2
+    field public static final int VCM_MODE_UNDEFINED = 0; // 0x0
+  }
+
+  public static class DvbsFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCanHandleDiseqcRxMessage(boolean);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setScanType(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int);
+  }
+
+  public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getBandwidthCapability();
+    method public int getCodeRateCapability();
+    method public int getConstellationCapability();
+    method public int getGuardIntervalCapability();
+    method public int getHierarchyCapability();
+    method public int getTransmissionModeCapability();
+    method public boolean isMisoSupported();
+    method public boolean isT2Supported();
+  }
+
+  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
+    method public int getBandwidth();
+    method public int getConstellation();
+    method public int getGuardInterval();
+    method public int getHierarchy();
+    method public int getHighPriorityCodeRate();
+    method public int getLowPriorityCodeRate();
+    method public int getPlpGroupId();
+    method public int getPlpId();
+    method public int getPlpMode();
+    method public int getStandard();
+    method public int getTransmissionMode();
+    method public int getType();
+    method public boolean isHighPriority();
+    method public boolean isMiso();
+    field public static final int BANDWIDTH_10MHZ = 64; // 0x40
+    field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20
+    field public static final int BANDWIDTH_5MHZ = 16; // 0x10
+    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
+    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
+    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
+    field public static final int BANDWIDTH_AUTO = 1; // 0x1
+    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
+    field public static final int CODERATE_1_2 = 2; // 0x2
+    field public static final int CODERATE_2_3 = 4; // 0x4
+    field public static final int CODERATE_3_4 = 8; // 0x8
+    field public static final int CODERATE_3_5 = 64; // 0x40
+    field public static final int CODERATE_4_5 = 128; // 0x80
+    field public static final int CODERATE_5_6 = 16; // 0x10
+    field public static final int CODERATE_6_7 = 256; // 0x100
+    field public static final int CODERATE_7_8 = 32; // 0x20
+    field public static final int CODERATE_8_9 = 512; // 0x200
+    field public static final int CODERATE_AUTO = 1; // 0x1
+    field public static final int CODERATE_UNDEFINED = 0; // 0x0
+    field public static final int CONSTELLATION_16QAM = 4; // 0x4
+    field public static final int CONSTELLATION_16QAM_R = 64; // 0x40
+    field public static final int CONSTELLATION_256QAM = 16; // 0x10
+    field public static final int CONSTELLATION_256QAM_R = 256; // 0x100
+    field public static final int CONSTELLATION_64QAM = 8; // 0x8
+    field public static final int CONSTELLATION_64QAM_R = 128; // 0x80
+    field public static final int CONSTELLATION_AUTO = 1; // 0x1
+    field public static final int CONSTELLATION_QPSK = 2; // 0x2
+    field public static final int CONSTELLATION_QPSK_R = 32; // 0x20
+    field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0
+    field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40
+    field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80
+    field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20
+    field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4
+    field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2
+    field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10
+    field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8
+    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
+    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
+    field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40
+    field public static final int HIERARCHY_1_NATIVE = 4; // 0x4
+    field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80
+    field public static final int HIERARCHY_2_NATIVE = 8; // 0x8
+    field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100
+    field public static final int HIERARCHY_4_NATIVE = 16; // 0x10
+    field public static final int HIERARCHY_AUTO = 1; // 0x1
+    field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20
+    field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2
+    field public static final int HIERARCHY_UNDEFINED = 0; // 0x0
+    field public static final int PLP_MODE_AUTO = 1; // 0x1
+    field public static final int PLP_MODE_MANUAL = 2; // 0x2
+    field public static final int PLP_MODE_UNDEFINED = 0; // 0x0
+    field public static final int STANDARD_AUTO = 1; // 0x1
+    field public static final int STANDARD_T = 2; // 0x2
+    field public static final int STANDARD_T2 = 4; // 0x4
+    field public static final int TRANSMISSION_MODE_16K = 32; // 0x20
+    field public static final int TRANSMISSION_MODE_1K = 16; // 0x10
+    field public static final int TRANSMISSION_MODE_2K = 2; // 0x2
+    field public static final int TRANSMISSION_MODE_32K = 64; // 0x40
+    field public static final int TRANSMISSION_MODE_4K = 8; // 0x8
+    field public static final int TRANSMISSION_MODE_8K = 4; // 0x4
+    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
+    field public static final int TRANSMISSION_MODE_EXTENDED_16K = 256; // 0x100
+    field public static final int TRANSMISSION_MODE_EXTENDED_32K = 512; // 0x200
+    field public static final int TRANSMISSION_MODE_EXTENDED_8K = 128; // 0x80
+    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
+  }
+
+  public static class DvbtFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int);
+    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int);
+  }
+
+  public abstract class FrontendCapabilities {
+    ctor public FrontendCapabilities();
+  }
+
+  public class FrontendInfo {
+    method public int getAcquireRange();
+    method public int getExclusiveGroupId();
+    method @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
+    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
+    method public int getId();
+    method @NonNull public int[] getStatusCapabilities();
+    method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange();
+    method public int getType();
+  }
+
+  public abstract class FrontendSettings {
+    method @IntRange(from=1) public int getEndFrequency();
+    method public int getFrequency();
+    method public int getFrontendSpectralInversion();
+    method public abstract int getType();
+    method @IntRange(from=1) public void setEndFrequency(int);
+    method public void setSpectralInversion(int);
+    field public static final long FEC_11_15 = 4194304L; // 0x400000L
+    field public static final long FEC_11_20 = 8388608L; // 0x800000L
+    field public static final long FEC_11_45 = 16777216L; // 0x1000000L
+    field public static final long FEC_13_18 = 33554432L; // 0x2000000L
+    field public static final long FEC_13_45 = 67108864L; // 0x4000000L
+    field public static final long FEC_14_45 = 134217728L; // 0x8000000L
+    field public static final long FEC_1_2 = 2L; // 0x2L
+    field public static final long FEC_1_3 = 4L; // 0x4L
+    field public static final long FEC_1_4 = 8L; // 0x8L
+    field public static final long FEC_1_5 = 16L; // 0x10L
+    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
+    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
+    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
+    field public static final long FEC_28_45 = -2147483648L; // 0xffffffff80000000L
+    field public static final long FEC_29_45 = 1L; // 0x1L
+    field public static final long FEC_2_3 = 32L; // 0x20L
+    field public static final long FEC_2_5 = 64L; // 0x40L
+    field public static final long FEC_2_9 = 128L; // 0x80L
+    field public static final long FEC_31_45 = 2L; // 0x2L
+    field public static final long FEC_32_45 = 4L; // 0x4L
+    field public static final long FEC_3_4 = 256L; // 0x100L
+    field public static final long FEC_3_5 = 512L; // 0x200L
+    field public static final long FEC_4_15 = 2048L; // 0x800L
+    field public static final long FEC_4_5 = 1024L; // 0x400L
+    field public static final long FEC_5_6 = 4096L; // 0x1000L
+    field public static final long FEC_5_9 = 8192L; // 0x2000L
+    field public static final long FEC_6_7 = 16384L; // 0x4000L
+    field public static final long FEC_77_90 = 8L; // 0x8L
+    field public static final long FEC_7_15 = 131072L; // 0x20000L
+    field public static final long FEC_7_8 = 32768L; // 0x8000L
+    field public static final long FEC_7_9 = 65536L; // 0x10000L
+    field public static final long FEC_8_15 = 524288L; // 0x80000L
+    field public static final long FEC_8_9 = 262144L; // 0x40000L
+    field public static final long FEC_9_10 = 1048576L; // 0x100000L
+    field public static final long FEC_9_20 = 2097152L; // 0x200000L
+    field public static final long FEC_AUTO = 1L; // 0x1L
+    field public static final long FEC_UNDEFINED = 0L; // 0x0L
+    field public static final int FRONTEND_SPECTRAL_INVERSION_INVERTED = 2; // 0x2
+    field public static final int FRONTEND_SPECTRAL_INVERSION_NORMAL = 1; // 0x1
+    field public static final int FRONTEND_SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
+    field public static final int TYPE_ANALOG = 1; // 0x1
+    field public static final int TYPE_ATSC = 2; // 0x2
+    field public static final int TYPE_ATSC3 = 3; // 0x3
+    field public static final int TYPE_DTMB = 10; // 0xa
+    field public static final int TYPE_DVBC = 4; // 0x4
+    field public static final int TYPE_DVBS = 5; // 0x5
+    field public static final int TYPE_DVBT = 6; // 0x6
+    field public static final int TYPE_ISDBS = 7; // 0x7
+    field public static final int TYPE_ISDBS3 = 8; // 0x8
+    field public static final int TYPE_ISDBT = 9; // 0x9
+    field public static final int TYPE_UNDEFINED = 0; // 0x0
+  }
+
+  public class FrontendStatus {
+    method public int getAgc();
+    method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo();
+    method public int getBandwidth();
+    method public int getBer();
+    method @NonNull public int[] getBers();
+    method @NonNull public int[] getCodeRates();
+    method @NonNull public int[] getExtendedModulations();
+    method public int getFreqOffset();
+    method public int getGuardInterval();
+    method public int getHierarchy();
+    method public long getInnerFec();
+    method @NonNull public int[] getInterleaving();
+    method @IntRange(from=0, to=255) @NonNull public int[] getIsdbtSegment();
+    method @NonNull public boolean[] getLayerErrors();
+    method public int getLnbVoltage();
+    method public int getMer();
+    method public int getModulation();
+    method public int getPer();
+    method public int getPerBer();
+    method public int getPlpId();
+    method public int getRollOff();
+    method public int getSignalQuality();
+    method public int getSignalStrength();
+    method public int getSnr();
+    method public int getSpectralInversion();
+    method public int getSymbolRate();
+    method @IntRange(from=0, to=65535) public int getSystemId();
+    method public int getTransmissionMode();
+    method @NonNull public int[] getTsDataRate();
+    method public int getUec();
+    method public boolean isDemodLocked();
+    method public boolean isEwbs();
+    method public boolean isLinear();
+    method public boolean isLnaOn();
+    method public boolean isMisoEnabled();
+    method public boolean isRfLocked();
+    method public boolean isShortFramesEnabled();
+    field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe
+    field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15
+    field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19
+    field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2
+    field public static final int FRONTEND_STATUS_TYPE_BERS = 23; // 0x17
+    field public static final int FRONTEND_STATUS_TYPE_CODERATES = 24; // 0x18
+    field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0
+    field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd
+    field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8
+    field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12
+    field public static final int FRONTEND_STATUS_TYPE_GUARD_INTERVAL = 26; // 0x1a
+    field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13
+    field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e
+    field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f
+    field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23
+    field public static final int FRONTEND_STATUS_TYPE_IS_MISO_ENABLED = 34; // 0x22
+    field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES_ENABLED = 36; // 0x24
+    field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10
+    field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf
+    field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb
+    field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11
+    field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9
+    field public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = 22; // 0x16
+    field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3
+    field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc
+    field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4
+    field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14
+    field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21
+    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5
+    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6
+    field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1
+    field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa
+    field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7
+    field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d
+    field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b
+    field public static final int FRONTEND_STATUS_TYPE_TS_DATA_RATES = 32; // 0x20
+    field public static final int FRONTEND_STATUS_TYPE_UEC = 28; // 0x1c
+  }
+
+  public static class FrontendStatus.Atsc3PlpTuningInfo {
+    method public int getPlpId();
+    method public int getUec();
+    method public boolean isLocked();
+  }
+
+  public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getCodeRateCapability();
+    method public int getModulationCapability();
+  }
+
+  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
+    method public int getCodeRate();
+    method public int getModulation();
+    method public int getRolloff();
+    method public int getStreamId();
+    method public int getStreamIdType();
+    method public int getSymbolRate();
+    method public int getType();
+    field public static final int CODERATE_1_2 = 8; // 0x8
+    field public static final int CODERATE_1_3 = 2; // 0x2
+    field public static final int CODERATE_2_3 = 32; // 0x20
+    field public static final int CODERATE_2_5 = 4; // 0x4
+    field public static final int CODERATE_3_4 = 64; // 0x40
+    field public static final int CODERATE_3_5 = 16; // 0x10
+    field public static final int CODERATE_4_5 = 256; // 0x100
+    field public static final int CODERATE_5_6 = 512; // 0x200
+    field public static final int CODERATE_7_8 = 1024; // 0x400
+    field public static final int CODERATE_7_9 = 128; // 0x80
+    field public static final int CODERATE_9_10 = 2048; // 0x800
+    field public static final int CODERATE_AUTO = 1; // 0x1
+    field public static final int CODERATE_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_16APSK = 16; // 0x10
+    field public static final int MODULATION_MOD_32APSK = 32; // 0x20
+    field public static final int MODULATION_MOD_8PSK = 8; // 0x8
+    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
+    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+    field public static final int ROLLOFF_0_03 = 1; // 0x1
+    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
+  }
+
+  public static class Isdbs3FrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int);
+    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int);
+  }
+
+  public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getCodeRateCapability();
+    method public int getModulationCapability();
+  }
+
+  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
+    method public int getCodeRate();
+    method public int getModulation();
+    method public int getRolloff();
+    method public int getStreamId();
+    method public int getStreamIdType();
+    method public int getSymbolRate();
+    method public int getType();
+    field public static final int CODERATE_1_2 = 2; // 0x2
+    field public static final int CODERATE_2_3 = 4; // 0x4
+    field public static final int CODERATE_3_4 = 8; // 0x8
+    field public static final int CODERATE_5_6 = 16; // 0x10
+    field public static final int CODERATE_7_8 = 32; // 0x20
+    field public static final int CODERATE_AUTO = 1; // 0x1
+    field public static final int CODERATE_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
+    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
+    field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+    field public static final int ROLLOFF_0_35 = 1; // 0x1
+    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
+    field public static final int STREAM_ID_TYPE_ID = 0; // 0x0
+    field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1
+  }
+
+  public static class IsdbsFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int);
+  }
+
+  public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
+    method public int getBandwidthCapability();
+    method public int getCodeRateCapability();
+    method public int getGuardIntervalCapability();
+    method public int getModeCapability();
+    method public int getModulationCapability();
+  }
+
+  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
+    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
+    method public int getBandwidth();
+    method public int getCodeRate();
+    method public int getGuardInterval();
+    method public int getMode();
+    method public int getModulation();
+    method public int getServiceAreaId();
+    method public int getType();
+    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
+    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
+    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
+    field public static final int BANDWIDTH_AUTO = 1; // 0x1
+    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
+    field public static final int MODE_1 = 2; // 0x2
+    field public static final int MODE_2 = 4; // 0x4
+    field public static final int MODE_3 = 8; // 0x8
+    field public static final int MODE_AUTO = 1; // 0x1
+    field public static final int MODE_UNDEFINED = 0; // 0x0
+    field public static final int MODULATION_AUTO = 1; // 0x1
+    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
+    field public static final int MODULATION_MOD_64QAM = 16; // 0x10
+    field public static final int MODULATION_MOD_DQPSK = 2; // 0x2
+    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
+    field public static final int MODULATION_UNDEFINED = 0; // 0x0
+  }
+
+  public static class IsdbtFrontendSettings.Builder {
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
+    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
+    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int);
+  }
+
+  public interface OnTuneEventListener {
+    method public void onTuneEvent(int);
+    field public static final int SIGNAL_LOCKED = 0; // 0x0
+    field public static final int SIGNAL_LOST_LOCK = 2; // 0x2
+    field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1
+  }
+
+  public interface ScanCallback {
+    method public void onAnalogSifStandardReported(int);
+    method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]);
+    method public default void onDvbcAnnexReported(int);
+    method public void onDvbsStandardReported(int);
+    method public void onDvbtStandardReported(int);
+    method public void onFrequenciesReported(@NonNull int[]);
+    method public void onGroupIdsReported(@NonNull int[]);
+    method public void onHierarchyReported(int);
+    method public void onInputStreamIdsReported(@NonNull int[]);
+    method public void onLocked();
+    method public default void onModulationReported(int);
+    method public void onPlpIdsReported(@NonNull int[]);
+    method public default void onPriorityReported(boolean);
+    method public void onProgress(@IntRange(from=0, to=100) int);
+    method public void onScanStopped();
+    method public void onSignalTypeReported(int);
+    method public void onSymbolRatesReported(@NonNull int[]);
+  }
+
+}
+
+package android.media.voice {
+
+  public final class KeyphraseModelManager {
+    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale);
+    method @Nullable @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale);
+    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel);
+  }
+
+}
+
+package android.metrics {
+
+  public class LogMaker {
+    ctor public LogMaker(int);
+    ctor public LogMaker(Object[]);
+    method public android.metrics.LogMaker addTaggedData(int, Object);
+    method public android.metrics.LogMaker clearCategory();
+    method public android.metrics.LogMaker clearPackageName();
+    method public android.metrics.LogMaker clearSubtype();
+    method public android.metrics.LogMaker clearTaggedData(int);
+    method public android.metrics.LogMaker clearType();
+    method public void deserialize(Object[]);
+    method public int getCategory();
+    method public long getCounterBucket();
+    method public String getCounterName();
+    method public int getCounterValue();
+    method public String getPackageName();
+    method public int getProcessId();
+    method public int getSubtype();
+    method public Object getTaggedData(int);
+    method public long getTimestamp();
+    method public int getType();
+    method public int getUid();
+    method public boolean isLongCounterBucket();
+    method public boolean isSubsetOf(android.metrics.LogMaker);
+    method public boolean isValidValue(Object);
+    method public Object[] serialize();
+    method public android.metrics.LogMaker setCategory(int);
+    method public android.metrics.LogMaker setPackageName(String);
+    method public android.metrics.LogMaker setSubtype(int);
+    method public android.metrics.LogMaker setType(int);
+  }
+
+  public class MetricsReader {
+    ctor public MetricsReader();
+    method public void checkpoint();
+    method public boolean hasNext();
+    method public android.metrics.LogMaker next();
+    method public void read(long);
+    method public void reset();
+  }
+
+}
+
+package android.net {
+
+  public class CaptivePortal implements android.os.Parcelable {
+    method @Deprecated public void logEvent(int, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork();
+    method public void useNetwork();
+    field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
+    field public static final int APP_RETURN_DISMISSED = 0; // 0x0
+    field public static final int APP_RETURN_UNWANTED = 1; // 0x1
+    field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2
+  }
+
+  public final class CaptivePortalData implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getByteLimit();
+    method public long getExpiryTimeMillis();
+    method public long getRefreshTimeMillis();
+    method @Nullable public android.net.Uri getUserPortalUrl();
+    method public int getUserPortalUrlSource();
+    method @Nullable public CharSequence getVenueFriendlyName();
+    method @Nullable public android.net.Uri getVenueInfoUrl();
+    method public int getVenueInfoUrlSource();
+    method public boolean isCaptive();
+    method public boolean isSessionExtendable();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0
+    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR;
+  }
+
+  public static class CaptivePortalData.Builder {
+    ctor public CaptivePortalData.Builder();
+    ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData);
+    method @NonNull public android.net.CaptivePortalData build();
+    method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long);
+    method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean);
+    method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long);
+    method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long);
+    method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean);
+    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri);
+    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int);
+    method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence);
+    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri);
+    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int);
+  }
+
+  public class ConnectivityManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createNattKeepalive(@NonNull android.net.Network, @NonNull android.os.ParcelFileDescriptor, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
+    method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull java.net.Socket, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
+    method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
+    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void requestNetwork(@NonNull android.net.NetworkRequest, int, int, @NonNull android.os.Handler, @NonNull android.net.ConnectivityManager.NetworkCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_AIRPLANE_MODE, android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void setAirplaneMode(boolean);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
+    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
+    method public void unregisterQosCallback(@NonNull android.net.QosCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
+    field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
+    field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
+    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
+    field public static final int TETHERING_USB = 1; // 0x1
+    field public static final int TETHERING_WIFI = 0; // 0x0
+    field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
+    field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
+    field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
+    field public static final int TYPE_NONE = -1; // 0xffffffff
+    field @Deprecated public static final int TYPE_PROXY = 16; // 0x10
+    field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
+  }
+
+  @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
+    ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
+    method @Deprecated public void onTetheringFailed();
+    method @Deprecated public void onTetheringStarted();
+  }
+
+  @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
+    method @Deprecated public void onTetheringEntitlementResult(int);
+  }
+
+  @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
+    ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
+    method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
+  }
+
+  public class EthernetManager {
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public android.net.EthernetManager.TetheredInterfaceRequest requestTetheredInterface(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.TetheredInterfaceCallback);
+  }
+
+  public static interface EthernetManager.TetheredInterfaceCallback {
+    method public void onAvailable(@NonNull String);
+    method public void onUnavailable();
+  }
+
+  public static class EthernetManager.TetheredInterfaceRequest {
+    method public void release();
+  }
+
+  public final class InvalidPacketException extends java.lang.Exception {
+    ctor public InvalidPacketException(int);
+    method public int getError();
+    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
+    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
+    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
+  }
+
+  public final class IpConfiguration implements android.os.Parcelable {
+    ctor public IpConfiguration();
+    ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
+    method public int describeContents();
+    method @Nullable public android.net.ProxyInfo getHttpProxy();
+    method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
+    method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
+    method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration();
+    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
+    method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
+    method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
+    method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR;
+  }
+
+  public enum IpConfiguration.IpAssignment {
+    enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
+    enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
+    enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
+  }
+
+  public enum IpConfiguration.ProxySettings {
+    enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
+    enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
+    enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
+    enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
+  }
+
+  public final class IpPrefix implements android.os.Parcelable {
+    ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
+    ctor public IpPrefix(@NonNull String);
+  }
+
+  public final class IpSecManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void applyTunnelModeTransform(@NonNull android.net.IpSecManager.IpSecTunnelInterface, int, @NonNull android.net.IpSecTransform) throws java.io.IOException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecManager.IpSecTunnelInterface createIpSecTunnelInterface(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException;
+  }
+
+  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
+    method public void close();
+    method @NonNull public String getInterfaceName();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
+  }
+
+  public static class IpSecTransform.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecTransform buildTunnelModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException;
+  }
+
+  public class KeepalivePacketData {
+    ctor protected KeepalivePacketData(@NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull byte[]) throws android.net.InvalidPacketException;
+    method @NonNull public java.net.InetAddress getDstAddress();
+    method public int getDstPort();
+    method @NonNull public byte[] getPacket();
+    method @NonNull public java.net.InetAddress getSrcAddress();
+    method public int getSrcPort();
+  }
+
+  public class LinkAddress implements android.os.Parcelable {
+    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
+    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
+    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
+    ctor public LinkAddress(@NonNull String);
+    ctor public LinkAddress(@NonNull String, int, int);
+    method public long getDeprecationTime();
+    method public long getExpirationTime();
+    method public boolean isGlobalPreferred();
+    method public boolean isIpv4();
+    method public boolean isIpv6();
+    method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
+    field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
+    field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
+  }
+
+  public final class LinkProperties implements android.os.Parcelable {
+    ctor public LinkProperties(@Nullable android.net.LinkProperties);
+    ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
+    method public boolean addDnsServer(@NonNull java.net.InetAddress);
+    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
+    method public boolean addPcscfServer(@NonNull java.net.InetAddress);
+    method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
+    method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
+    method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
+    method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
+    method @Nullable public android.net.Uri getCaptivePortalApiUrl();
+    method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
+    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
+    method @Nullable public String getTcpBufferSizes();
+    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
+    method public boolean hasGlobalIpv6Address();
+    method public boolean hasIpv4Address();
+    method public boolean hasIpv4DefaultRoute();
+    method public boolean hasIpv4DnsServer();
+    method public boolean hasIpv6DefaultRoute();
+    method public boolean hasIpv6DnsServer();
+    method public boolean isIpv4Provisioned();
+    method public boolean isIpv6Provisioned();
+    method public boolean isProvisioned();
+    method public boolean isReachable(@NonNull java.net.InetAddress);
+    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
+    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
+    method public boolean removeRoute(@NonNull android.net.RouteInfo);
+    method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
+    method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
+    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
+    method public void setPrivateDnsServerName(@Nullable String);
+    method public void setTcpBufferSizes(@Nullable String);
+    method public void setUsePrivateDns(boolean);
+    method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
+  }
+
+  public final class MatchAllNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    ctor public MatchAllNetworkSpecifier();
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.MatchAllNetworkSpecifier> CREATOR;
+  }
+
+  public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
+    ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
+  }
+
+  public class Network implements android.os.Parcelable {
+    ctor public Network(@NonNull android.net.Network);
+    method public int getNetId();
+    method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
+  }
+
+  public abstract class NetworkAgent {
+    ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, int, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider);
+    ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkScore, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider);
+    method @Nullable public android.net.Network getNetwork();
+    method public void markConnected();
+    method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
+    method public void onAutomaticReconnectDisabled();
+    method public void onBandwidthUpdateRequested();
+    method public void onNetworkCreated();
+    method public void onNetworkDestroyed();
+    method public void onNetworkUnwanted();
+    method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
+    method public void onQosCallbackUnregistered(int);
+    method public void onRemoveKeepalivePacketFilter(int);
+    method public void onSaveAcceptUnvalidated(boolean);
+    method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
+    method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
+    method public void onStopSocketKeepalive(int);
+    method public void onValidationStatus(int, @Nullable android.net.Uri);
+    method @NonNull public android.net.Network register();
+    method public final void sendLinkProperties(@NonNull android.net.LinkProperties);
+    method public final void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
+    method public final void sendNetworkScore(@NonNull android.net.NetworkScore);
+    method public final void sendNetworkScore(@IntRange(from=0, to=99) int);
+    method public final void sendQosCallbackError(int, int);
+    method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes);
+    method public final void sendQosSessionLost(int, int, int);
+    method public final void sendSocketKeepaliveEvent(int, int);
+    method @Deprecated public void setLegacySubtype(int, @NonNull String);
+    method public void setLingerDuration(@NonNull java.time.Duration);
+    method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int);
+    method public final void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
+    method public void unregister();
+    field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
+    field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
+  }
+
+  public final class NetworkAgentConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getLegacyType();
+    method @NonNull public String getLegacyTypeName();
+    method public boolean isExplicitlySelected();
+    method public boolean isPartialConnectivityAcceptable();
+    method public boolean isUnvalidatedConnectivityAcceptable();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
+  }
+
+  public static final class NetworkAgentConfig.Builder {
+    ctor public NetworkAgentConfig.Builder();
+    method @NonNull public android.net.NetworkAgentConfig build();
+    method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
+  }
+
+  public final class NetworkCapabilities implements android.os.Parcelable {
+    method @NonNull public int[] getAdministratorUids();
+    method @Nullable public static String getCapabilityCarrierName(int);
+    method @Nullable public String getSsid();
+    method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
+    method @NonNull public int[] getTransportTypes();
+    method public boolean isPrivateDnsBroken();
+    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
+    field public static final int NET_CAPABILITY_BIP = 31; // 0x1f
+    field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
+    field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
+    field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a
+    field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
+    field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b
+    field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e
+  }
+
+  public static final class NetworkCapabilities.Builder {
+    ctor public NetworkCapabilities.Builder();
+    ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
+    method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
+    method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
+    method @NonNull public android.net.NetworkCapabilities build();
+    method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
+    method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
+    method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
+    method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
+    method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
+    method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
+    method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
+    method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities();
+  }
+
+  public class NetworkKey implements android.os.Parcelable {
+    ctor public NetworkKey(android.net.WifiKey);
+    method @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
+    field public static final int TYPE_WIFI = 1; // 0x1
+    field public final int type;
+    field public final android.net.WifiKey wifiKey;
+  }
+
+  public class NetworkProvider {
+    ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
+    method public int getProviderId();
+    method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
+    method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void registerNetworkOffer(@NonNull android.net.NetworkScore, @NonNull android.net.NetworkCapabilities, @NonNull java.util.concurrent.Executor, @NonNull android.net.NetworkProvider.NetworkOfferCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback);
+    field public static final int ID_NONE = -1; // 0xffffffff
+  }
+
+  public static interface NetworkProvider.NetworkOfferCallback {
+    method public void onNetworkNeeded(@NonNull android.net.NetworkRequest);
+    method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest);
+  }
+
+  public abstract class NetworkRecommendationProvider {
+    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
+    method public final android.os.IBinder getBinder();
+    method public abstract void onRequestScores(android.net.NetworkKey[]);
+  }
+
+  public class NetworkReleasedException extends java.lang.Exception {
+  }
+
+  public class NetworkRequest implements android.os.Parcelable {
+    method @Nullable public String getRequestorPackageName();
+    method public int getRequestorUid();
+  }
+
+  public static class NetworkRequest.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
+    method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
+  }
+
+  public final class NetworkScore implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getKeepConnectedReason();
+    method public int getLegacyInt();
+    method public boolean isExiting();
+    method public boolean isTransportPrimary();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
+    field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1
+    field public static final int KEEP_CONNECTED_NONE = 0; // 0x0
+  }
+
+  public static final class NetworkScore.Builder {
+    ctor public NetworkScore.Builder();
+    method @NonNull public android.net.NetworkScore build();
+    method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
+    method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int);
+    method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int);
+    method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean);
+  }
+
+  public class NetworkScoreManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage();
+    method @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public void registerNetworkScoreCallback(int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.NetworkScoreManager.NetworkScoreCallback) throws java.lang.SecurityException;
+    method @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException;
+    method @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException;
+    field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE";
+    field public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE";
+    field public static final String ACTION_RECOMMEND_NETWORKS = "android.net.action.RECOMMEND_NETWORKS";
+    field public static final String ACTION_SCORER_CHANGED = "android.net.scoring.SCORER_CHANGED";
+    field @Deprecated public static final String ACTION_SCORE_NETWORKS = "android.net.scoring.SCORE_NETWORKS";
+    field @Deprecated public static final String EXTRA_NETWORKS_TO_SCORE = "networksToScore";
+    field public static final String EXTRA_NEW_SCORER = "newScorer";
+    field @Deprecated public static final String EXTRA_PACKAGE_NAME = "packageName";
+    field public static final int SCORE_FILTER_CURRENT_NETWORK = 1; // 0x1
+    field public static final int SCORE_FILTER_NONE = 0; // 0x0
+    field public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2
+  }
+
+  public abstract static class NetworkScoreManager.NetworkScoreCallback {
+    ctor public NetworkScoreManager.NetworkScoreCallback();
+    method public abstract void onScoresInvalidated();
+    method public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>);
+  }
+
+  public abstract class NetworkSpecifier {
+    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkSpecifier);
+    method @Nullable public android.net.NetworkSpecifier redact();
+  }
+
+  public class NetworkStack {
+    method @Nullable public static android.os.IBinder getService();
+    field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
+  }
+
+  public final class NetworkStats implements android.os.Parcelable {
+    ctor public NetworkStats(long, int);
+    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
+    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
+    method public int describeContents();
+    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
+    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
+    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
+    field public static final String IFACE_VT = "vt_data0";
+    field public static final int METERED_NO = 0; // 0x0
+    field public static final int METERED_YES = 1; // 0x1
+    field public static final int ROAMING_NO = 0; // 0x0
+    field public static final int ROAMING_YES = 1; // 0x1
+    field public static final int SET_DEFAULT = 0; // 0x0
+    field public static final int SET_FOREGROUND = 1; // 0x1
+    field public static final int TAG_NONE = 0; // 0x0
+    field public static final int UID_ALL = -1; // 0xffffffff
+    field public static final int UID_TETHERING = -5; // 0xfffffffb
+  }
+
+  public static class NetworkStats.Entry {
+    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
+  }
+
+  public final class OemNetworkPreferences implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR;
+    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1
+    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2
+    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3
+    field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4
+    field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0
+  }
+
+  public static final class OemNetworkPreferences.Builder {
+    ctor public OemNetworkPreferences.Builder();
+    ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences);
+    method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int);
+    method @NonNull public android.net.OemNetworkPreferences build();
+    method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String);
+  }
+
+  public abstract class QosCallback {
+    ctor public QosCallback();
+    method public void onError(@NonNull android.net.QosCallbackException);
+    method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes);
+    method public void onQosSessionLost(@NonNull android.net.QosSession);
+  }
+
+  public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException {
+  }
+
+  public final class QosCallbackException extends java.lang.Exception {
+  }
+
+  public abstract class QosFilter {
+    method @NonNull public abstract android.net.Network getNetwork();
+    method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int);
+    method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int);
+  }
+
+  public final class QosSession implements android.os.Parcelable {
+    ctor public QosSession(int, int);
+    method public int describeContents();
+    method public int getSessionId();
+    method public int getSessionType();
+    method public long getUniqueId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR;
+    field public static final int TYPE_EPS_BEARER = 1; // 0x1
+    field public static final int TYPE_NR_BEARER = 2; // 0x2
+  }
+
+  public interface QosSessionAttributes {
+  }
+
+  public final class QosSocketInfo implements android.os.Parcelable {
+    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException;
+    method public int describeContents();
+    method @NonNull public java.net.InetSocketAddress getLocalSocketAddress();
+    method @NonNull public android.net.Network getNetwork();
+    method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR;
+  }
+
+  public final class RouteInfo implements android.os.Parcelable {
+    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
+    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
+    method public int getMtu();
+    method public int getType();
+    field public static final int RTN_THROW = 9; // 0x9
+    field public static final int RTN_UNICAST = 1; // 0x1
+    field public static final int RTN_UNREACHABLE = 7; // 0x7
+  }
+
+  public class RssiCurve implements android.os.Parcelable {
+    ctor public RssiCurve(int, int, byte[]);
+    ctor public RssiCurve(int, int, byte[], int);
+    method public int describeContents();
+    method public byte lookupScore(int);
+    method public byte lookupScore(int, boolean);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
+    field public final int activeNetworkRssiBoost;
+    field public final int bucketWidth;
+    field public final byte[] rssiBuckets;
+    field public final int start;
+  }
+
+  public class ScoredNetwork implements android.os.Parcelable {
+    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve);
+    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean);
+    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean, @Nullable android.os.Bundle);
+    method public int calculateBadge(int);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
+    field public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
+    field public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
+    field @Nullable public final android.os.Bundle attributes;
+    field public final boolean meteredHint;
+    field public final android.net.NetworkKey networkKey;
+    field public final android.net.RssiCurve rssiCurve;
+  }
+
+  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
+    field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public class SocketLocalAddressChangedException extends java.lang.Exception {
+  }
+
+  public class SocketNotBoundException extends java.lang.Exception {
+  }
+
+  public final class StaticIpConfiguration implements android.os.Parcelable {
+    ctor public StaticIpConfiguration();
+    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
+    method public void addDnsServer(@NonNull java.net.InetAddress);
+    method public void clear();
+    method public int describeContents();
+    method @NonNull public java.util.List<java.net.InetAddress> getDnsServers();
+    method @Nullable public String getDomains();
+    method @Nullable public java.net.InetAddress getGateway();
+    method @Nullable public android.net.LinkAddress getIpAddress();
+    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
+  }
+
+  public static final class StaticIpConfiguration.Builder {
+    ctor public StaticIpConfiguration.Builder();
+    method @NonNull public android.net.StaticIpConfiguration build();
+    method @NonNull public android.net.StaticIpConfiguration.Builder setDnsServers(@NonNull Iterable<java.net.InetAddress>);
+    method @NonNull public android.net.StaticIpConfiguration.Builder setDomains(@Nullable String);
+    method @NonNull public android.net.StaticIpConfiguration.Builder setGateway(@Nullable java.net.InetAddress);
+    method @NonNull public android.net.StaticIpConfiguration.Builder setIpAddress(@Nullable android.net.LinkAddress);
+  }
+
+  public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
+    ctor public TcpKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[], int, int, int, int, int, int) throws android.net.InvalidPacketException;
+    method public int describeContents();
+    method public int getIpTos();
+    method public int getIpTtl();
+    method public int getTcpAck();
+    method public int getTcpSeq();
+    method public int getTcpWindow();
+    method public int getTcpWindowScale();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR;
+  }
+
+  public final class TetheredClient implements android.os.Parcelable {
+    ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int);
+    method public int describeContents();
+    method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses();
+    method @NonNull public android.net.MacAddress getMacAddress();
+    method public int getTetheringType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR;
+  }
+
+  public static final class TetheredClient.AddressInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.net.LinkAddress getAddress();
+    method @Nullable public String getHostname();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR;
+  }
+
+  public final class TetheringInterface implements android.os.Parcelable {
+    ctor public TetheringInterface(int, @NonNull String);
+    method public int describeContents();
+    method @NonNull public String getInterface();
+    method public int getType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringInterface> CREATOR;
+  }
+
+  public class TetheringManager {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void requestLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.OnTetheringEntitlementResultListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(@NonNull android.net.TetheringManager.TetheringRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering();
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback);
+    field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
+    field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1
+    field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2
+    field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY";
+    field public static final String EXTRA_ACTIVE_TETHER = "tetherArray";
+    field public static final String EXTRA_AVAILABLE_TETHER = "availableArray";
+    field public static final String EXTRA_ERRORED_TETHER = "erroredArray";
+    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
+    field public static final int TETHERING_ETHERNET = 5; // 0x5
+    field public static final int TETHERING_INVALID = -1; // 0xffffffff
+    field public static final int TETHERING_NCM = 4; // 0x4
+    field public static final int TETHERING_USB = 1; // 0x1
+    field public static final int TETHERING_WIFI = 0; // 0x0
+    field public static final int TETHERING_WIFI_P2P = 3; // 0x3
+    field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc
+    field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9
+    field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8
+    field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd
+    field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa
+    field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5
+    field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf
+    field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe
+    field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
+    field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb
+    field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2
+    field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6
+    field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4
+    field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1
+    field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10
+    field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3
+    field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7
+    field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
+    field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
+    field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
+  }
+
+  public static interface TetheringManager.OnTetheringEntitlementResultListener {
+    method public void onTetheringEntitlementResult(int);
+  }
+
+  public static interface TetheringManager.StartTetheringCallback {
+    method public default void onTetheringFailed(int);
+    method public default void onTetheringStarted();
+  }
+
+  public static interface TetheringManager.TetheringEventCallback {
+    method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
+    method public default void onError(@NonNull String, int);
+    method public default void onError(@NonNull android.net.TetheringInterface, int);
+    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
+    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
+    method public default void onOffloadStatusChanged(int);
+    method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
+    method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
+    method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
+    method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
+    method public default void onTetheringSupported(boolean);
+    method public default void onUpstreamChanged(@Nullable android.net.Network);
+  }
+
+  public static class TetheringManager.TetheringRequest {
+    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
+    method public int getConnectivityScope();
+    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
+    method public boolean getShouldShowEntitlementUi();
+    method public int getTetheringType();
+    method public boolean isExemptFromEntitlementCheck();
+  }
+
+  public static class TetheringManager.TetheringRequest.Builder {
+    ctor public TetheringManager.TetheringRequest.Builder(int);
+    method @NonNull public android.net.TetheringManager.TetheringRequest build();
+    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
+  }
+
+  public class TrafficStats {
+    method public static void setThreadStatsTagApp();
+    method public static void setThreadStatsTagBackup();
+    method public static void setThreadStatsTagRestore();
+    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
+    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
+    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
+    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
+    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
+    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
+  }
+
+  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
+    method @NonNull public String toSafeString();
+  }
+
+  public class VpnService extends android.app.Service {
+    method @RequiresPermission(android.Manifest.permission.CONTROL_VPN) public static void prepareAndAuthorize(android.content.Context);
+  }
+
+  public class WebAddress {
+    ctor public WebAddress(String) throws android.net.ParseException;
+  }
+
+  public class WifiKey implements android.os.Parcelable {
+    ctor public WifiKey(String, String);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
+    field public final String bssid;
+    field public final String ssid;
+  }
+
+}
+
+package android.net.apf {
+
+  public final class ApfCapabilities implements android.os.Parcelable {
+    ctor public ApfCapabilities(int, int, int);
+    method public int describeContents();
+    method public static boolean getApfDrop8023Frames();
+    method @NonNull public static int[] getApfEtherTypeBlackList();
+    method public boolean hasDataAccess();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
+    field public final int apfPacketFormat;
+    field public final int apfVersionSupported;
+    field public final int maximumApfProgramSize;
+  }
+
+}
+
+package android.net.eap {
+
+  public final class EapSessionConfig {
+    method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig();
+  }
+
+  @Deprecated public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
+    method @Deprecated public int getAppType();
+    method @Deprecated public int getSubId();
+  }
+
+}
+
+package android.net.ipsec.ike {
+
+  public interface ChildSessionCallback {
+    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
+    method public default void onIpSecTransformsMigrated(@NonNull android.net.IpSecTransform, @NonNull android.net.IpSecTransform);
+  }
+
+  public final class ChildSessionConfiguration {
+    method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses();
+    method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers();
+    method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers();
+    method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets();
+  }
+
+  public static final class ChildSessionConfiguration.Builder {
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalAddress(@NonNull android.net.LinkAddress);
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDhcpServer(@NonNull java.net.InetAddress);
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDnsServer(@NonNull java.net.InetAddress);
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalSubnet(@NonNull android.net.IpPrefix);
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalAddresses();
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDhcpServers();
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDnsServers();
+    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalSubnets();
+  }
+
+  public abstract class ChildSessionParams {
+    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals();
+  }
+
+  public final class IkeSession implements java.lang.AutoCloseable {
+    method public void setNetwork(@NonNull android.net.Network);
+  }
+
+  public interface IkeSessionCallback {
+    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
+    method @Deprecated public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException);
+    method public default void onIkeSessionConnectionInfoChanged(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
+  }
+
+  public final class IkeSessionConfiguration {
+    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
+  }
+
+  public static final class IkeSessionConfiguration.Builder {
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addPcscfServer(@NonNull java.net.InetAddress);
+    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearPcscfServers();
+  }
+
+  public final class IkeSessionParams {
+    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest> getConfigurationRequests();
+    method @IntRange(from=0x0, to=0x3f) public int getDscp();
+    method @Nullable public android.net.ipsec.ike.ike3gpp.Ike3gppExtension getIke3gppExtension();
+    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals();
+  }
+
+  public static final class IkeSessionParams.Builder {
+    ctor @Deprecated public IkeSessionParams.Builder(@NonNull android.content.Context);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(@NonNull java.net.InetAddress);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(int);
+    method @Deprecated @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDscp(@IntRange(from=0x0, to=0x3f) int);
+    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setIke3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension);
+  }
+
+  public static interface IkeSessionParams.ConfigRequestIpv4PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
+    method @Nullable public java.net.Inet4Address getAddress();
+  }
+
+  public static interface IkeSessionParams.ConfigRequestIpv6PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
+    method @Nullable public java.net.Inet6Address getAddress();
+  }
+
+  public static interface IkeSessionParams.IkeConfigRequest {
+  }
+
+  public static final class TransportModeChildSessionParams.Builder {
+    method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
+  }
+
+  public static final class TunnelModeChildSessionParams.Builder {
+    method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
+  }
+
+}
+
+package android.net.ipsec.ike.exceptions {
+
+  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
+    method @Nullable public byte[] getErrorData();
+  }
+
+}
+
+package android.net.ipsec.ike.ike3gpp {
+
+  public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
+    ctor public Ike3gppBackoffTimer(byte, int);
+    method public int getBackoffCause();
+    method public byte getBackoffTimer();
+    method public int getDataType();
+    field public static final int ERROR_TYPE_NETWORK_FAILURE = 10500; // 0x2904
+    field public static final int ERROR_TYPE_NO_APN_SUBSCRIPTION = 9002; // 0x232a
+  }
+
+  public abstract class Ike3gppData {
+    method public abstract int getDataType();
+    field public static final int DATA_TYPE_NOTIFY_BACKOFF_TIMER = 2; // 0x2
+    field public static final int DATA_TYPE_NOTIFY_N1_MODE_INFORMATION = 1; // 0x1
+  }
+
+  public final class Ike3gppExtension {
+    ctor public Ike3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppParams, @NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener);
+    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener getIke3gppDataListener();
+    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams getIke3gppParams();
+  }
+
+  public static interface Ike3gppExtension.Ike3gppDataListener {
+    method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>);
+  }
+
+  public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
+    ctor public Ike3gppN1ModeInformation(@NonNull byte[]);
+    method public int getDataType();
+    method @NonNull public byte[] getSnssai();
+  }
+
+  public final class Ike3gppParams {
+    method public byte getPduSessionId();
+    field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0
+  }
+
+  public static final class Ike3gppParams.Builder {
+    ctor public Ike3gppParams.Builder();
+    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams build();
+    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setPduSessionId(byte);
+  }
+
+}
+
+package android.net.metrics {
+
+  @Deprecated public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
+  }
+
+  @Deprecated public static final class ApfProgramEvent.Builder {
+    ctor @Deprecated public ApfProgramEvent.Builder();
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent build();
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean);
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);
+  }
+
+  @Deprecated public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {
+  }
+
+  @Deprecated public static final class ApfStats.Builder {
+    ctor @Deprecated public ApfStats.Builder();
+    method @Deprecated @NonNull public android.net.metrics.ApfStats build();
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int);
+    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);
+  }
+
+  @Deprecated public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {
+  }
+
+  @Deprecated public static final class DhcpClientEvent.Builder {
+    ctor @Deprecated public DhcpClientEvent.Builder();
+    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent build();
+    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int);
+    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);
+  }
+
+  @Deprecated public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event {
+    ctor @Deprecated public DhcpErrorEvent(int);
+    method @Deprecated public static int errorCodeWithOption(int, int);
+    field @Deprecated public static final int BOOTP_TOO_SHORT = 67174400; // 0x4010000
+    field @Deprecated public static final int BUFFER_UNDERFLOW = 83951616; // 0x5010000
+    field @Deprecated public static final int DHCP_BAD_MAGIC_COOKIE = 67239936; // 0x4020000
+    field @Deprecated public static final int DHCP_ERROR = 4; // 0x4
+    field @Deprecated public static final int DHCP_INVALID_OPTION_LENGTH = 67305472; // 0x4030000
+    field @Deprecated public static final int DHCP_NO_COOKIE = 67502080; // 0x4060000
+    field @Deprecated public static final int DHCP_NO_MSG_TYPE = 67371008; // 0x4040000
+    field @Deprecated public static final int DHCP_UNKNOWN_MSG_TYPE = 67436544; // 0x4050000
+    field @Deprecated public static final int L2_ERROR = 1; // 0x1
+    field @Deprecated public static final int L2_TOO_SHORT = 16842752; // 0x1010000
+    field @Deprecated public static final int L2_WRONG_ETH_TYPE = 16908288; // 0x1020000
+    field @Deprecated public static final int L3_ERROR = 2; // 0x2
+    field @Deprecated public static final int L3_INVALID_IP = 33751040; // 0x2030000
+    field @Deprecated public static final int L3_NOT_IPV4 = 33685504; // 0x2020000
+    field @Deprecated public static final int L3_TOO_SHORT = 33619968; // 0x2010000
+    field @Deprecated public static final int L4_ERROR = 3; // 0x3
+    field @Deprecated public static final int L4_NOT_UDP = 50397184; // 0x3010000
+    field @Deprecated public static final int L4_WRONG_PORT = 50462720; // 0x3020000
+    field @Deprecated public static final int MISC_ERROR = 5; // 0x5
+    field @Deprecated public static final int PARSING_ERROR = 84082688; // 0x5030000
+    field @Deprecated public static final int RECEIVE_ERROR = 84017152; // 0x5020000
+  }
+
+  @Deprecated public class IpConnectivityLog {
+    ctor @Deprecated public IpConnectivityLog();
+    method @Deprecated public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event);
+    method @Deprecated public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event);
+    method @Deprecated public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
+    method @Deprecated public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
+    method @Deprecated public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);
+  }
+
+  @Deprecated public static interface IpConnectivityLog.Event extends android.os.Parcelable {
+  }
+
+  @Deprecated public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event {
+    ctor @Deprecated public IpManagerEvent(int, long);
+    field @Deprecated public static final int COMPLETE_LIFECYCLE = 3; // 0x3
+    field @Deprecated public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8
+    field @Deprecated public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7
+    field @Deprecated public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6
+    field @Deprecated public static final int ERROR_STARTING_IPV4 = 4; // 0x4
+    field @Deprecated public static final int ERROR_STARTING_IPV6 = 5; // 0x5
+    field @Deprecated public static final int PROVISIONING_FAIL = 2; // 0x2
+    field @Deprecated public static final int PROVISIONING_OK = 1; // 0x1
+  }
+
+  @Deprecated public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event {
+    ctor @Deprecated public IpReachabilityEvent(int);
+    field @Deprecated public static final int NUD_FAILED = 512; // 0x200
+    field @Deprecated public static final int NUD_FAILED_ORGANIC = 1024; // 0x400
+    field @Deprecated public static final int PROBE = 256; // 0x100
+    field @Deprecated public static final int PROVISIONING_LOST = 768; // 0x300
+    field @Deprecated public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500
+  }
+
+  @Deprecated public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event {
+    ctor @Deprecated public NetworkEvent(int, long);
+    ctor @Deprecated public NetworkEvent(int);
+    field @Deprecated public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4
+    field @Deprecated public static final int NETWORK_CONNECTED = 1; // 0x1
+    field @Deprecated public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc
+    field @Deprecated public static final int NETWORK_DISCONNECTED = 7; // 0x7
+    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
+    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
+    field @Deprecated public static final int NETWORK_LINGER = 5; // 0x5
+    field @Deprecated public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
+    field @Deprecated public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
+    field @Deprecated public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
+    field @Deprecated public static final int NETWORK_UNLINGER = 6; // 0x6
+    field @Deprecated public static final int NETWORK_VALIDATED = 2; // 0x2
+    field @Deprecated public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3
+  }
+
+  @Deprecated public final class RaEvent implements android.net.metrics.IpConnectivityLog.Event {
+  }
+
+  @Deprecated public static final class RaEvent.Builder {
+    ctor @Deprecated public RaEvent.Builder();
+    method @Deprecated @NonNull public android.net.metrics.RaEvent build();
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateDnsslLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixPreferredLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixValidLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRdnssLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouteInfoLifetime(long);
+    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouterLifetime(long);
+  }
+
+  @Deprecated public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event {
+    method @Deprecated @NonNull public static String getProbeName(int);
+    field @Deprecated public static final int DNS_FAILURE = 0; // 0x0
+    field @Deprecated public static final int DNS_SUCCESS = 1; // 0x1
+    field @Deprecated public static final int PROBE_DNS = 0; // 0x0
+    field @Deprecated public static final int PROBE_FALLBACK = 4; // 0x4
+    field @Deprecated public static final int PROBE_HTTP = 1; // 0x1
+    field @Deprecated public static final int PROBE_HTTPS = 2; // 0x2
+    field @Deprecated public static final int PROBE_PAC = 3; // 0x3
+    field @Deprecated public static final int PROBE_PRIVDNS = 5; // 0x5
+  }
+
+  @Deprecated public static final class ValidationProbeEvent.Builder {
+    ctor @Deprecated public ValidationProbeEvent.Builder();
+    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent build();
+    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long);
+    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean);
+    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);
+  }
+
+}
+
+package android.net.netstats.provider {
+
+  public abstract class NetworkStatsProvider {
+    ctor public NetworkStatsProvider();
+    method public void notifyAlertReached();
+    method public void notifyLimitReached();
+    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
+    method public void notifyWarningReached();
+    method public abstract void onRequestStatsUpdate(int);
+    method public abstract void onSetAlert(long);
+    method public abstract void onSetLimit(@NonNull String, long);
+    method public void onSetWarningAndLimit(@NonNull String, long, long);
+    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
+  }
+
+}
+
+package android.net.sip {
+
+  @Deprecated public class SipAudioCall {
+    method @Deprecated @Nullable public android.net.rtp.AudioGroup getAudioGroup();
+    method @Deprecated public void setAudioGroup(@NonNull android.net.rtp.AudioGroup);
+  }
+
+  @Deprecated public class SipManager {
+    method @Deprecated @NonNull public java.util.List<android.net.sip.SipProfile> getProfiles() throws android.net.sip.SipException;
+    field @Deprecated public static final String ACTION_SIP_CALL_OPTION_CHANGED = "android.net.sip.action.SIP_CALL_OPTION_CHANGED";
+    field @Deprecated public static final String ACTION_SIP_INCOMING_CALL = "android.net.sip.action.SIP_INCOMING_CALL";
+    field @Deprecated public static final String ACTION_SIP_REMOVE_PROFILE = "android.net.sip.action.SIP_REMOVE_PROFILE";
+    field @Deprecated public static final String ACTION_SIP_SERVICE_UP = "android.net.sip.action.SIP_SERVICE_UP";
+    field @Deprecated public static final String ACTION_START_SIP = "android.net.sip.action.START_SIP";
+  }
+
+  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
+    method @Deprecated public int getCallingUid();
+  }
+
+}
+
+package android.net.util {
+
+  public final class SocketUtils {
+    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
+    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
+    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
+    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
+    method @Deprecated @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
+    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int, @NonNull byte[]);
+  }
+
+}
+
+package android.net.vcn {
+
+  public class VcnManager {
+    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void addVcnNetworkPolicyChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.vcn.VcnNetworkPolicyResult applyVcnNetworkPolicy(@NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void removeVcnNetworkPolicyChangeListener(@NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
+  }
+
+  public static interface VcnManager.VcnNetworkPolicyChangeListener {
+    method public void onPolicyChanged();
+  }
+
+  public final class VcnNetworkPolicyResult implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
+    method public boolean isTeardownRequested();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnNetworkPolicyResult> CREATOR;
+  }
+
+}
+
+package android.net.wifi {
+
+  public final class CoexUnsafeChannel implements android.os.Parcelable {
+    ctor public CoexUnsafeChannel(int, int);
+    ctor public CoexUnsafeChannel(int, int, int);
+    method public int getBand();
+    method public int getChannel();
+    method public int getPowerCapDbm();
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.CoexUnsafeChannel> CREATOR;
+    field public static final int POWER_CAP_NONE = 2147483647; // 0x7fffffff
+  }
+
+  public abstract class EasyConnectStatusCallback {
+    ctor public EasyConnectStatusCallback();
+    method public void onBootstrapUriGenerated(@NonNull android.net.Uri);
+    method public abstract void onConfiguratorSuccess(int);
+    method public abstract void onEnrolleeSuccess(int);
+    method public void onFailure(int);
+    method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]);
+    method public abstract void onProgress(int);
+    field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0
+    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3
+    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2
+    field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1
+    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1
+    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0
+  }
+
+  @Deprecated public class RttManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void disableResponder(android.net.wifi.RttManager.ResponderCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void enableResponder(android.net.wifi.RttManager.ResponderCallback);
+    method @Deprecated public android.net.wifi.RttManager.Capabilities getCapabilities();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.net.wifi.RttManager.RttCapabilities getRttCapabilities();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startRanging(android.net.wifi.RttManager.RttParams[], android.net.wifi.RttManager.RttListener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopRanging(android.net.wifi.RttManager.RttListener);
+    field @Deprecated public static final int BASE = 160256; // 0x27200
+    field @Deprecated public static final int CMD_OP_ABORTED = 160260; // 0x27204
+    field @Deprecated public static final int CMD_OP_DISABLE_RESPONDER = 160262; // 0x27206
+    field @Deprecated public static final int CMD_OP_ENABLE_RESPONDER = 160261; // 0x27205
+    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_FAILED = 160264; // 0x27208
+    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_SUCCEEDED = 160263; // 0x27207
+    field @Deprecated public static final int CMD_OP_FAILED = 160258; // 0x27202
+    field @Deprecated public static final int CMD_OP_START_RANGING = 160256; // 0x27200
+    field @Deprecated public static final int CMD_OP_STOP_RANGING = 160257; // 0x27201
+    field @Deprecated public static final int CMD_OP_SUCCEEDED = 160259; // 0x27203
+    field @Deprecated public static final String DESCRIPTION_KEY = "android.net.wifi.RttManager.Description";
+    field @Deprecated public static final int PREAMBLE_HT = 2; // 0x2
+    field @Deprecated public static final int PREAMBLE_LEGACY = 1; // 0x1
+    field @Deprecated public static final int PREAMBLE_VHT = 4; // 0x4
+    field @Deprecated public static final int REASON_INITIATOR_NOT_ALLOWED_WHEN_RESPONDER_ON = -6; // 0xfffffffa
+    field @Deprecated public static final int REASON_INVALID_LISTENER = -3; // 0xfffffffd
+    field @Deprecated public static final int REASON_INVALID_REQUEST = -4; // 0xfffffffc
+    field @Deprecated public static final int REASON_NOT_AVAILABLE = -2; // 0xfffffffe
+    field @Deprecated public static final int REASON_PERMISSION_DENIED = -5; // 0xfffffffb
+    field @Deprecated public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
+    field @Deprecated public static final int RTT_BW_10_SUPPORT = 2; // 0x2
+    field @Deprecated public static final int RTT_BW_160_SUPPORT = 32; // 0x20
+    field @Deprecated public static final int RTT_BW_20_SUPPORT = 4; // 0x4
+    field @Deprecated public static final int RTT_BW_40_SUPPORT = 8; // 0x8
+    field @Deprecated public static final int RTT_BW_5_SUPPORT = 1; // 0x1
+    field @Deprecated public static final int RTT_BW_80_SUPPORT = 16; // 0x10
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_10 = 6; // 0x6
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_160 = 3; // 0x3
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_20 = 0; // 0x0
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_40 = 1; // 0x1
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_5 = 5; // 0x5
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80 = 2; // 0x2
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80P80 = 4; // 0x4
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_UNSPECIFIED = -1; // 0xffffffff
+    field @Deprecated public static final int RTT_PEER_NAN = 5; // 0x5
+    field @Deprecated public static final int RTT_PEER_P2P_CLIENT = 4; // 0x4
+    field @Deprecated public static final int RTT_PEER_P2P_GO = 3; // 0x3
+    field @Deprecated public static final int RTT_PEER_TYPE_AP = 1; // 0x1
+    field @Deprecated public static final int RTT_PEER_TYPE_STA = 2; // 0x2
+    field @Deprecated public static final int RTT_PEER_TYPE_UNSPECIFIED = 0; // 0x0
+    field @Deprecated public static final int RTT_STATUS_ABORTED = 8; // 0x8
+    field @Deprecated public static final int RTT_STATUS_FAILURE = 1; // 0x1
+    field @Deprecated public static final int RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL = 6; // 0x6
+    field @Deprecated public static final int RTT_STATUS_FAIL_BUSY_TRY_LATER = 12; // 0xc
+    field @Deprecated public static final int RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE = 15; // 0xf
+    field @Deprecated public static final int RTT_STATUS_FAIL_INVALID_TS = 9; // 0x9
+    field @Deprecated public static final int RTT_STATUS_FAIL_NOT_SCHEDULED_YET = 4; // 0x4
+    field @Deprecated public static final int RTT_STATUS_FAIL_NO_CAPABILITY = 7; // 0x7
+    field @Deprecated public static final int RTT_STATUS_FAIL_NO_RSP = 2; // 0x2
+    field @Deprecated public static final int RTT_STATUS_FAIL_PROTOCOL = 10; // 0xa
+    field @Deprecated public static final int RTT_STATUS_FAIL_REJECTED = 3; // 0x3
+    field @Deprecated public static final int RTT_STATUS_FAIL_SCHEDULE = 11; // 0xb
+    field @Deprecated public static final int RTT_STATUS_FAIL_TM_TIMEOUT = 5; // 0x5
+    field @Deprecated public static final int RTT_STATUS_INVALID_REQ = 13; // 0xd
+    field @Deprecated public static final int RTT_STATUS_NO_WIFI = 14; // 0xe
+    field @Deprecated public static final int RTT_STATUS_SUCCESS = 0; // 0x0
+    field @Deprecated public static final int RTT_TYPE_11_MC = 4; // 0x4
+    field @Deprecated public static final int RTT_TYPE_11_V = 2; // 0x2
+    field @Deprecated public static final int RTT_TYPE_ONE_SIDED = 1; // 0x1
+    field @Deprecated public static final int RTT_TYPE_TWO_SIDED = 2; // 0x2
+    field @Deprecated public static final int RTT_TYPE_UNSPECIFIED = 0; // 0x0
+  }
+
+  @Deprecated public class RttManager.Capabilities {
+    ctor @Deprecated public RttManager.Capabilities();
+    field @Deprecated public int supportedPeerType;
+    field @Deprecated public int supportedType;
+  }
+
+  @Deprecated public static class RttManager.ParcelableRttParams implements android.os.Parcelable {
+    field @Deprecated @NonNull public android.net.wifi.RttManager.RttParams[] mParams;
+  }
+
+  @Deprecated public static class RttManager.ParcelableRttResults implements android.os.Parcelable {
+    ctor @Deprecated public RttManager.ParcelableRttResults(android.net.wifi.RttManager.RttResult[]);
+    field @Deprecated public android.net.wifi.RttManager.RttResult[] mResults;
+  }
+
+  @Deprecated public abstract static class RttManager.ResponderCallback {
+    ctor @Deprecated public RttManager.ResponderCallback();
+    method @Deprecated public abstract void onResponderEnableFailure(int);
+    method @Deprecated public abstract void onResponderEnabled(android.net.wifi.RttManager.ResponderConfig);
+  }
+
+  @Deprecated public static class RttManager.ResponderConfig implements android.os.Parcelable {
+    ctor @Deprecated public RttManager.ResponderConfig();
+    method @Deprecated public int describeContents();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
+    field @Deprecated public int centerFreq0;
+    field @Deprecated public int centerFreq1;
+    field @Deprecated public int channelWidth;
+    field @Deprecated public int frequency;
+    field @Deprecated public String macAddress;
+    field @Deprecated public int preamble;
+  }
+
+  @Deprecated public static class RttManager.RttCapabilities implements android.os.Parcelable {
+    ctor @Deprecated public RttManager.RttCapabilities();
+    field @Deprecated public int bwSupported;
+    field @Deprecated public boolean lciSupported;
+    field @Deprecated public boolean lcrSupported;
+    field @Deprecated public int mcVersion;
+    field @Deprecated public boolean oneSidedRttSupported;
+    field @Deprecated public int preambleSupported;
+    field @Deprecated public boolean responderSupported;
+    field @Deprecated public boolean secureRttSupported;
+    field @Deprecated public boolean supportedPeerType;
+    field @Deprecated public boolean supportedType;
+    field @Deprecated public boolean twoSided11McRttSupported;
+  }
+
+  @Deprecated public static interface RttManager.RttListener {
+    method @Deprecated public void onAborted();
+    method @Deprecated public void onFailure(int, String);
+    method @Deprecated public void onSuccess(android.net.wifi.RttManager.RttResult[]);
+  }
+
+  @Deprecated public static class RttManager.RttParams {
+    ctor @Deprecated public RttManager.RttParams();
+    field @Deprecated public boolean LCIRequest;
+    field @Deprecated public boolean LCRRequest;
+    field @Deprecated public int bandwidth;
+    field @Deprecated public String bssid;
+    field @Deprecated public int burstTimeout;
+    field @Deprecated public int centerFreq0;
+    field @Deprecated public int centerFreq1;
+    field @Deprecated public int channelWidth;
+    field @Deprecated public int deviceType;
+    field @Deprecated public int frequency;
+    field @Deprecated public int interval;
+    field @Deprecated public int numRetriesPerFTMR;
+    field @Deprecated public int numRetriesPerMeasurementFrame;
+    field @Deprecated public int numSamplesPerBurst;
+    field @Deprecated public int num_retries;
+    field @Deprecated public int num_samples;
+    field @Deprecated public int numberBurst;
+    field @Deprecated public int preamble;
+    field @Deprecated public int requestType;
+    field @Deprecated public boolean secure;
+  }
+
+  @Deprecated public static class RttManager.RttResult {
+    ctor @Deprecated public RttManager.RttResult();
+    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCI;
+    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCR;
+    field @Deprecated public String bssid;
+    field @Deprecated public int burstDuration;
+    field @Deprecated public int burstNumber;
+    field @Deprecated public int distance;
+    field @Deprecated public int distanceSpread;
+    field @Deprecated public int distanceStandardDeviation;
+    field @Deprecated public int distance_cm;
+    field @Deprecated public int distance_sd_cm;
+    field @Deprecated public int distance_spread_cm;
+    field @Deprecated public int frameNumberPerBurstPeer;
+    field @Deprecated public int measurementFrameNumber;
+    field @Deprecated public int measurementType;
+    field @Deprecated public int negotiatedBurstNum;
+    field @Deprecated public int requestType;
+    field @Deprecated public int retryAfterDuration;
+    field @Deprecated public int rssi;
+    field @Deprecated public int rssiSpread;
+    field @Deprecated public int rssi_spread;
+    field @Deprecated public long rtt;
+    field @Deprecated public long rttSpread;
+    field @Deprecated public long rttStandardDeviation;
+    field @Deprecated public long rtt_ns;
+    field @Deprecated public long rtt_sd_ns;
+    field @Deprecated public long rtt_spread_ns;
+    field @Deprecated public int rxRate;
+    field @Deprecated public boolean secure;
+    field @Deprecated public int status;
+    field @Deprecated public int successMeasurementFrameNumber;
+    field @Deprecated public long ts;
+    field @Deprecated public int txRate;
+    field @Deprecated public int tx_rate;
+  }
+
+  @Deprecated public static class RttManager.WifiInformationElement {
+    ctor @Deprecated public RttManager.WifiInformationElement();
+    field @Deprecated public byte[] data;
+    field @Deprecated public byte id;
+  }
+
+  public final class ScanResult implements android.os.Parcelable {
+    field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9
+    field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7
+    field public static final int CIPHER_BIP_GMAC_256 = 8; // 0x8
+    field public static final int CIPHER_CCMP = 3; // 0x3
+    field public static final int CIPHER_GCMP_128 = 6; // 0x6
+    field public static final int CIPHER_GCMP_256 = 4; // 0x4
+    field public static final int CIPHER_NONE = 0; // 0x0
+    field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1
+    field public static final int CIPHER_SMS4 = 5; // 0x5
+    field public static final int CIPHER_TKIP = 2; // 0x2
+    field public static final int KEY_MGMT_EAP = 2; // 0x2
+    field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6
+    field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa
+    field public static final int KEY_MGMT_FT_EAP = 4; // 0x4
+    field public static final int KEY_MGMT_FT_PSK = 3; // 0x3
+    field public static final int KEY_MGMT_FT_SAE = 11; // 0xb
+    field public static final int KEY_MGMT_NONE = 0; // 0x0
+    field public static final int KEY_MGMT_OSEN = 7; // 0x7
+    field public static final int KEY_MGMT_OWE = 9; // 0x9
+    field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc
+    field public static final int KEY_MGMT_PSK = 1; // 0x1
+    field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5
+    field public static final int KEY_MGMT_SAE = 8; // 0x8
+    field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe
+    field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd
+    field public static final int PROTOCOL_NONE = 0; // 0x0
+    field public static final int PROTOCOL_OSEN = 3; // 0x3
+    field public static final int PROTOCOL_RSN = 2; // 0x2
+    field public static final int PROTOCOL_WAPI = 4; // 0x4
+    field public static final int PROTOCOL_WPA = 1; // 0x1
+  }
+
+  public final class SoftApCapability implements android.os.Parcelable {
+    method public boolean areFeaturesSupported(long);
+    method public int describeContents();
+    method public int getMaxSupportedClients();
+    method @NonNull public int[] getSupportedChannelList(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR;
+    field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L
+    field public static final long SOFTAP_FEATURE_BAND_24G_SUPPORTED = 32L; // 0x20L
+    field public static final long SOFTAP_FEATURE_BAND_5G_SUPPORTED = 64L; // 0x40L
+    field public static final long SOFTAP_FEATURE_BAND_60G_SUPPORTED = 256L; // 0x100L
+    field public static final long SOFTAP_FEATURE_BAND_6G_SUPPORTED = 128L; // 0x80L
+    field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L
+    field public static final long SOFTAP_FEATURE_IEEE80211_AX = 16L; // 0x10L
+    field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L
+    field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L
+  }
+
+  public final class SoftApConfiguration implements android.os.Parcelable {
+    method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList();
+    method @Deprecated public int getBand();
+    method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList();
+    method @Deprecated public int getChannel();
+    method @NonNull public android.util.SparseIntArray getChannels();
+    method public int getMacRandomizationSetting();
+    method public int getMaxNumberOfClients();
+    method public long getShutdownTimeoutMillis();
+    method public boolean isAutoShutdownEnabled();
+    method public boolean isBridgedModeOpportunisticShutdownEnabled();
+    method public boolean isClientControlByUserEnabled();
+    method public boolean isIeee80211axEnabled();
+    method public boolean isUserConfiguration();
+    method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration();
+    field public static final int BAND_2GHZ = 1; // 0x1
+    field public static final int BAND_5GHZ = 2; // 0x2
+    field public static final int BAND_60GHZ = 8; // 0x8
+    field public static final int BAND_6GHZ = 4; // 0x4
+    field @Deprecated public static final int BAND_ANY = 7; // 0x7
+    field public static final int RANDOMIZATION_NONE = 0; // 0x0
+    field public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
+  }
+
+  public static final class SoftApConfiguration.Builder {
+    ctor public SoftApConfiguration.Builder();
+    ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration);
+    method @NonNull public android.net.wifi.SoftApConfiguration build();
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBands(@NonNull int[]);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownEnabled(boolean);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannels(@NonNull android.util.SparseIntArray);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211axEnabled(boolean);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMacRandomizationSetting(int);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0) long);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String);
+  }
+
+  public final class SoftApInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getAutoShutdownTimeoutMillis();
+    method public int getBandwidth();
+    method @Nullable public android.net.MacAddress getBssid();
+    method public int getFrequency();
+    method public int getWifiStandard();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6
+    field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2
+    field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1
+    field public static final int CHANNEL_WIDTH_2160MHZ = 7; // 0x7
+    field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3
+    field public static final int CHANNEL_WIDTH_4320MHZ = 8; // 0x8
+    field public static final int CHANNEL_WIDTH_6480MHZ = 9; // 0x9
+    field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4
+    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5
+    field public static final int CHANNEL_WIDTH_8640MHZ = 10; // 0xa
+    field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR;
+  }
+
+  public final class WifiAvailableChannel implements android.os.Parcelable {
+    ctor public WifiAvailableChannel(int, int);
+    method public int describeContents();
+    method public int getFrequencyMhz();
+    method public int getOperationalModes();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiAvailableChannel> CREATOR;
+    field public static final int OP_MODE_SAP = 2; // 0x2
+    field public static final int OP_MODE_STA = 1; // 0x1
+    field public static final int OP_MODE_TDLS = 32; // 0x20
+    field public static final int OP_MODE_WIFI_AWARE = 16; // 0x10
+    field public static final int OP_MODE_WIFI_DIRECT_CLI = 4; // 0x4
+    field public static final int OP_MODE_WIFI_DIRECT_GO = 8; // 0x8
+  }
+
+  public final class WifiClient implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.net.MacAddress getMacAddress();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiClient> CREATOR;
+  }
+
+  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
+    method @Deprecated public int getAuthType();
+    method @Deprecated public int getDeletionPriority();
+    method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration();
+    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus();
+    method @Deprecated @NonNull public String getPrintableSsid();
+    method @Deprecated @NonNull public String getProfileKey();
+    method @Deprecated public int getRecentFailureReason();
+    method @Deprecated public boolean hasNoInternetAccess();
+    method @Deprecated public boolean isEphemeral();
+    method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo);
+    method @Deprecated public boolean isNoInternetAccessExpected();
+    method @Deprecated public void setDeletionPriority(int) throws java.lang.IllegalArgumentException;
+    method @Deprecated public void setIpConfiguration(@Nullable android.net.IpConfiguration);
+    method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus);
+    field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff
+    field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1
+    field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0
+    field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2
+    field @Deprecated public static final int RANDOMIZATION_AUTO = 3; // 0x3
+    field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0
+    field @Deprecated public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
+    field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
+    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
+    field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec
+    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AIR_INTERFACE_OVERLOADED = 1007; // 0x3ef
+    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AUTH_SERVER_OVERLOADED = 1008; // 0x3f0
+    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_INSUFFICIENT_RSSI = 1009; // 0x3f1
+    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_MAX_NUM_STA_ASSOCIATED = 1006; // 0x3ee
+    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_UNSPECIFIED = 1005; // 0x3ed
+    field @Deprecated public static final int RECENT_FAILURE_NETWORK_NOT_FOUND = 1011; // 0x3f3
+    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
+    field @Deprecated public static final int RECENT_FAILURE_OCE_RSSI_BASED_ASSOCIATION_REJECTION = 1010; // 0x3f2
+    field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb
+    field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea
+    field @Deprecated public boolean allowAutojoin;
+    field @Deprecated public int carrierId;
+    field @Deprecated public boolean carrierMerged;
+    field @Deprecated public String creatorName;
+    field @Deprecated public int creatorUid;
+    field @Deprecated public boolean fromWifiNetworkSpecifier;
+    field @Deprecated public boolean fromWifiNetworkSuggestion;
+    field @Deprecated public int lastConnectUid;
+    field @Deprecated public String lastUpdateName;
+    field @Deprecated public int lastUpdateUid;
+    field @Deprecated public int macRandomizationSetting;
+    field @Deprecated public boolean meteredHint;
+    field @Deprecated public int meteredOverride;
+    field @Deprecated public int numAssociation;
+    field @Deprecated public int numScorerOverride;
+    field @Deprecated public int numScorerOverrideAndSwitchedNetwork;
+    field @Deprecated public boolean requirePmf;
+    field @Deprecated public boolean shared;
+    field @Deprecated public int subscriptionId;
+    field @Deprecated public boolean useExternalScores;
+  }
+
+  @Deprecated public static class WifiConfiguration.KeyMgmt {
+    field @Deprecated public static final int WAPI_CERT = 14; // 0xe
+    field @Deprecated public static final int WAPI_PSK = 13; // 0xd
+    field @Deprecated public static final int WPA2_PSK = 4; // 0x4
+  }
+
+  @Deprecated public static class WifiConfiguration.NetworkSelectionStatus {
+    method @Deprecated public int getDisableReasonCounter(int);
+    method @Deprecated public long getDisableTime();
+    method @Deprecated public static int getMaxNetworkSelectionDisableReason();
+    method @Deprecated public int getNetworkSelectionDisableReason();
+    method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int);
+    method @Deprecated public int getNetworkSelectionStatus();
+    method @Deprecated @NonNull public String getNetworkStatusString();
+    method @Deprecated public boolean hasEverConnected();
+    field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1
+    field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2
+    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5
+    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9
+    field @Deprecated public static final int DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR = 10; // 0xa
+    field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7
+    field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8
+    field @Deprecated public static final int DISABLED_CONSECUTIVE_FAILURES = 12; // 0xc
+    field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3
+    field @Deprecated public static final int DISABLED_NETWORK_NOT_FOUND = 11; // 0xb
+    field @Deprecated public static final int DISABLED_NONE = 0; // 0x0
+    field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6
+    field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4
+    field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0
+    field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2
+    field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1
+  }
+
+  @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder {
+    ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder();
+    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build();
+    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int);
+    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int);
+  }
+
+  public final class WifiConnectedSessionInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getSessionId();
+    method public boolean isUserSelected();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConnectedSessionInfo> CREATOR;
+  }
+
+  public static final class WifiConnectedSessionInfo.Builder {
+    ctor public WifiConnectedSessionInfo.Builder(int);
+    method @NonNull public android.net.wifi.WifiConnectedSessionInfo build();
+    method @NonNull public android.net.wifi.WifiConnectedSessionInfo.Builder setUserSelected(boolean);
+  }
+
+  public class WifiEnterpriseConfig implements android.os.Parcelable {
+    method @Nullable public String[] getCaCertificateAliases();
+    method @NonNull public String getCaPath();
+    method @NonNull public String getClientCertificateAlias();
+    method public int getOcsp();
+    method @NonNull public String getWapiCertSuite();
+    method public void setCaCertificateAliases(@Nullable String[]);
+    method public void setCaPath(@NonNull String);
+    method public void setClientCertificateAlias(@NonNull String);
+    method public void setOcsp(int);
+    method public void setWapiCertSuite(@NonNull String);
+    field public static final int OCSP_NONE = 0; // 0x0
+    field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1
+    field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3
+    field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2
+  }
+
+  public class WifiFrameworkInitializer {
+    method public static void registerServiceWrappers();
+  }
+
+  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
+    method public double getLostTxPacketsPerSecond();
+    method @Nullable public String getRequestingPackageName();
+    method public double getRetriedTxPacketsPerSecond();
+    method public int getScore();
+    method public double getSuccessfulRxPacketsPerSecond();
+    method public double getSuccessfulTxPacketsPerSecond();
+    method public boolean isCarrierMerged();
+    method public boolean isEphemeral();
+    method public boolean isOemPaid();
+    method public boolean isOemPrivate();
+    method public boolean isOsuAp();
+    method public boolean isPasspointAp();
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean isPrimary();
+    method public boolean isTrusted();
+    method @Nullable public static String sanitizeSsid(@Nullable String);
+    field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00";
+    field public static final int INVALID_RSSI = -127; // 0xffffff81
+  }
+
+  public class WifiManager {
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addWifiVerboseLoggingStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinGlobal(boolean);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void clearOverrideCountryCode();
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer();
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void connect(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void connect(int, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void disable(int, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset();
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void forget(int, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.util.Pair<android.net.wifi.WifiConfiguration,java.util.Map<java.lang.Integer,java.util.List<android.net.wifi.ScanResult>>>> getAllMatchingWifiConfigs(@NonNull java.util.List<android.net.wifi.ScanResult>);
+    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.WifiAvailableChannel> getAllowedChannels(int, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCountryCode();
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork();
+    method public static int getEasyConnectMaxAllowedResponderDeviceInfoLength();
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,java.util.List<android.net.wifi.ScanResult>> getMatchingOsuProviders(@Nullable java.util.List<android.net.wifi.ScanResult>);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,android.net.wifi.hotspot2.PasspointConfiguration> getMatchingPasspointConfigsForOsuProviders(@NonNull java.util.Set<android.net.wifi.hotspot2.OsuProvider>);
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public java.util.Map<android.net.wifi.WifiNetworkSuggestion,java.util.List<android.net.wifi.ScanResult>> getMatchingScanResults(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>, @Nullable java.util.List<android.net.wifi.ScanResult>);
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.READ_WIFI_CREDENTIAL}) public java.util.List<android.net.wifi.WifiConfiguration> getPrivilegedConfiguredNetworks();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
+    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.WifiAvailableChannel> getUsableChannels(int, int);
+    method public int getVerboseLoggingLevel();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.WifiConfiguration> getWifiConfigForMatchedNetworkSuggestionsSharedWithUser(@NonNull java.util.List<android.net.wifi.ScanResult>);
+    method public boolean isApMacRandomizationSupported();
+    method public boolean isConnectedMacRandomizationSupported();
+    method @Deprecated public boolean isDeviceToDeviceRttSupported();
+    method public boolean isPortableHotspotSupported();
+    method public boolean isStaConcurrencyForRestrictedConnectionsSupported();
+    method public boolean isVerboseLoggingEnabled();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
+    method public boolean isWifiScannerSupported();
+    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void registerCoexCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.CoexCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void registerSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void removeAppState(int, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeWifiVerboseLoggingStatusChangedListener(@NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
+    method @RequiresPermission(android.Manifest.permission.RESTART_WIFI_SUBSYSTEM) public void restartWifiSubsystem();
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]);
+    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData();
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData();
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void save(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setCarrierNetworkOffloadEnabled(int, boolean, boolean);
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS) public void setCoexUnsafeChannels(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setDefaultCountryCode(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setOverrideCountryCode(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingLevel(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setWifiScoringEnabled(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsConfiguratorInitiator(@NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsEnrolleeInitiator(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsEnrolleeResponder(@Nullable String, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startLocalOnlyHotspot(@NonNull android.net.wifi.SoftApConfiguration, @Nullable java.util.concurrent.Executor, @Nullable android.net.wifi.WifiManager.LocalOnlyHotspotCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startRestrictingAutoJoinToSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startSubscriptionProvisioning(@NonNull android.net.wifi.hotspot2.OsuProvider, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.hotspot2.ProvisioningCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopRestrictingAutoJoinToSubscriptionId();
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
+    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void unregisterCoexCallback(@NonNull android.net.wifi.WifiManager.CoexCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void unregisterSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int);
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int);
+    field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET";
+    field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW";
+    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_REFRESH_USER_PROVISIONING = "android.net.wifi.action.REFRESH_USER_PROVISIONING";
+    field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE";
+    field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE";
+    field public static final int CHANGE_REASON_ADDED = 0; // 0x0
+    field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
+    field public static final int CHANGE_REASON_REMOVED = 1; // 0x1
+    field public static final int COEX_RESTRICTION_SOFTAP = 2; // 0x2
+    field public static final int COEX_RESTRICTION_WIFI_AWARE = 4; // 0x4
+    field public static final int COEX_RESTRICTION_WIFI_DIRECT = 1; // 0x1
+    field public static final String CONFIGURED_NETWORKS_CHANGED_ACTION = "android.net.wifi.CONFIGURED_NETWORKS_CHANGE";
+    field public static final int DEVICE_MOBILITY_STATE_HIGH_MVMT = 1; // 0x1
+    field public static final int DEVICE_MOBILITY_STATE_LOW_MVMT = 2; // 0x2
+    field public static final int DEVICE_MOBILITY_STATE_STATIONARY = 3; // 0x3
+    field public static final int DEVICE_MOBILITY_STATE_UNKNOWN = 0; // 0x0
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP256R1 = 3; // 0x3
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP384R1 = 4; // 0x4
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP512R1 = 5; // 0x5
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_PRIME256V1 = 0; // 0x0
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP384R1 = 1; // 0x1
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP521R1 = 2; // 0x2
+    field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1
+    field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0
+    field public static final String EXTRA_CHANGE_REASON = "changeReason";
+    field @Deprecated public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES";
+    field @Deprecated public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges";
+    field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK";
+    field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
+    field public static final String EXTRA_URL = "android.net.wifi.extra.URL";
+    field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON";
+    field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
+    field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
+    field public static final String EXTRA_WIFI_AP_STATE = "wifi_state";
+    field @Deprecated public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration";
+    field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et";
+    field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid";
+    field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0
+    field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2
+    field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1
+    field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff
+    field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0
+    field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1
+    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0
+    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1
+    field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0
+    field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1
+    field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2
+    field public static final int VERBOSE_LOGGING_LEVEL_DISABLED = 0; // 0x0
+    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED = 1; // 0x1
+    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED_SHOW_KEY = 2; // 0x2
+    field public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED";
+    field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb
+    field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa
+    field public static final int WIFI_AP_STATE_ENABLED = 13; // 0xd
+    field public static final int WIFI_AP_STATE_ENABLING = 12; // 0xc
+    field public static final int WIFI_AP_STATE_FAILED = 14; // 0xe
+    field public static final String WIFI_CREDENTIAL_CHANGED_ACTION = "android.net.wifi.WIFI_CREDENTIAL_CHANGED";
+    field public static final int WIFI_CREDENTIAL_FORGOT = 1; // 0x1
+    field public static final int WIFI_CREDENTIAL_SAVED = 0; // 0x0
+  }
+
+  public static interface WifiManager.ActionListener {
+    method public void onFailure(int);
+    method public void onSuccess();
+  }
+
+  public abstract static class WifiManager.CoexCallback {
+    ctor public WifiManager.CoexCallback();
+    method public abstract void onCoexUnsafeChannelsChanged(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
+  }
+
+  public static interface WifiManager.NetworkRequestMatchCallback {
+    method public default void onAbort();
+    method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>);
+    method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback);
+    method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration);
+    method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration);
+  }
+
+  public static interface WifiManager.NetworkRequestUserSelectionCallback {
+    method public default void reject();
+    method public default void select(@NonNull android.net.wifi.WifiConfiguration);
+  }
+
+  public static interface WifiManager.OnWifiActivityEnergyInfoListener {
+    method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo);
+  }
+
+  public static interface WifiManager.OnWifiUsabilityStatsListener {
+    method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
+  }
+
+  public static interface WifiManager.ScoreUpdateObserver {
+    method public default void blocklistCurrentBssid(int);
+    method public void notifyScoreUpdate(int, int);
+    method public default void notifyStatusUpdate(int, boolean);
+    method public default void requestNudOperation(int);
+    method public void triggerUpdateOfWifiUsabilityStats(int);
+  }
+
+  public static interface WifiManager.SoftApCallback {
+    method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int);
+    method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability);
+    method @Deprecated public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>);
+    method public default void onConnectedClientsChanged(@NonNull android.net.wifi.SoftApInfo, @NonNull java.util.List<android.net.wifi.WifiClient>);
+    method @Deprecated public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo);
+    method public default void onInfoChanged(@NonNull java.util.List<android.net.wifi.SoftApInfo>);
+    method public default void onStateChanged(int, int);
+  }
+
+  public static interface WifiManager.TrafficStateCallback {
+    method public void onStateChanged(int);
+    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
+    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
+    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
+    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
+  }
+
+  public static interface WifiManager.WifiConnectedNetworkScorer {
+    method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
+    method @Deprecated public default void onStart(int);
+    method public default void onStart(@NonNull android.net.wifi.WifiConnectedSessionInfo);
+    method public void onStop(int);
+  }
+
+  public static interface WifiManager.WifiVerboseLoggingStatusChangedListener {
+    method public void onWifiVerboseLoggingStatusChanged(boolean);
+  }
+
+  public final class WifiMigration {
+    method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
+    method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
+    method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context);
+    method public static void removeSharedConfigStoreFile(int);
+    method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle);
+    field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0
+    field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1
+    field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2
+    field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3
+  }
+
+  public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getP2pDeviceName();
+    method public boolean isP2pFactoryResetPending();
+    method public boolean isScanAlwaysAvailable();
+    method public boolean isScanThrottleEnabled();
+    method public boolean isSoftApTimeoutEnabled();
+    method public boolean isVerboseLoggingEnabled();
+    method public boolean isWakeUpEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR;
+  }
+
+  public static final class WifiMigration.SettingsMigrationData.Builder {
+    ctor public WifiMigration.SettingsMigrationData.Builder();
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build();
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean);
+    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean);
+  }
+
+  @Deprecated public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
+    ctor @Deprecated public WifiNetworkConnectionStatistics(int, int);
+    ctor @Deprecated public WifiNetworkConnectionStatistics();
+    ctor @Deprecated public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics);
+    method @Deprecated public int describeContents();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
+    field @Deprecated public int numConnection;
+    field @Deprecated public int numUsage;
+  }
+
+  public final class WifiNetworkSuggestion implements android.os.Parcelable {
+    method public int getCarrierId();
+    method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration();
+    method public boolean isOemPaid();
+    method public boolean isOemPrivate();
+  }
+
+  public static final class WifiNetworkSuggestion.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPaid(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPrivate(boolean);
+  }
+
+  public class WifiScanner {
+    method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]);
+    method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings);
+    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<java.lang.Integer> getAvailableChannels(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults();
+    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults();
+    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void registerScanListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiScanner.ScanListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
+    method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener);
+    method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener);
+    method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener);
+    method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
+    method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener);
+    field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000
+    field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8
+    field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb
+    field public static final int REASON_INVALID_LISTENER = -2; // 0xfffffffe
+    field public static final int REASON_INVALID_REQUEST = -3; // 0xfffffffd
+    field public static final int REASON_NOT_AUTHORIZED = -4; // 0xfffffffc
+    field public static final int REASON_SUCCEEDED = 0; // 0x0
+    field public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
+    field @Deprecated public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0; // 0x0
+    field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1
+    field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2
+    field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4
+    field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2
+    field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0
+    field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1
+    field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb
+    field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf
+    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
+    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
+    field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4
+    field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6
+    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
+    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
+    field public static final int WIFI_BAND_BOTH = 3; // 0x3
+    field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7
+    field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0
+    field public static final int WIFI_RNR_ENABLED = 1; // 0x1
+    field public static final int WIFI_RNR_ENABLED_IF_WIFI_BAND_6_GHZ_SCANNED = 0; // 0x0
+    field public static final int WIFI_RNR_NOT_NEEDED = 2; // 0x2
+  }
+
+  public static interface WifiScanner.ActionListener {
+    method public void onFailure(int, String);
+    method public void onSuccess();
+  }
+
+  @Deprecated public static class WifiScanner.BssidInfo {
+    ctor @Deprecated public WifiScanner.BssidInfo();
+    field @Deprecated public String bssid;
+    field @Deprecated public int frequencyHint;
+    field @Deprecated public int high;
+    field @Deprecated public int low;
+  }
+
+  @Deprecated public static interface WifiScanner.BssidListener extends android.net.wifi.WifiScanner.ActionListener {
+    method @Deprecated public void onFound(android.net.wifi.ScanResult[]);
+    method @Deprecated public void onLost(android.net.wifi.ScanResult[]);
+  }
+
+  public static class WifiScanner.ChannelSpec {
+    ctor public WifiScanner.ChannelSpec(int);
+    field public int frequency;
+  }
+
+  @Deprecated public static class WifiScanner.HotlistSettings implements android.os.Parcelable {
+    ctor @Deprecated public WifiScanner.HotlistSettings();
+    field @Deprecated public int apLostThreshold;
+    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
+  }
+
+  public static class WifiScanner.ParcelableScanData implements android.os.Parcelable {
+    ctor public WifiScanner.ParcelableScanData(android.net.wifi.WifiScanner.ScanData[]);
+    method public android.net.wifi.WifiScanner.ScanData[] getResults();
+    field public android.net.wifi.WifiScanner.ScanData[] mResults;
+  }
+
+  public static class WifiScanner.ParcelableScanResults implements android.os.Parcelable {
+    ctor public WifiScanner.ParcelableScanResults(android.net.wifi.ScanResult[]);
+    method public android.net.wifi.ScanResult[] getResults();
+    field public android.net.wifi.ScanResult[] mResults;
+  }
+
+  public static class WifiScanner.ScanData implements android.os.Parcelable {
+    ctor public WifiScanner.ScanData(int, int, android.net.wifi.ScanResult[]);
+    ctor public WifiScanner.ScanData(android.net.wifi.WifiScanner.ScanData);
+    method public int getFlags();
+    method public int getId();
+    method public android.net.wifi.ScanResult[] getResults();
+    method public int getScannedBands();
+  }
+
+  public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener {
+    method public void onFullResult(android.net.wifi.ScanResult);
+    method @Deprecated public void onPeriodChanged(int);
+    method public void onResults(android.net.wifi.WifiScanner.ScanData[]);
+  }
+
+  public static class WifiScanner.ScanSettings implements android.os.Parcelable {
+    ctor public WifiScanner.ScanSettings();
+    method public int getRnrSetting();
+    method public boolean is6GhzPscOnlyEnabled();
+    method public void set6GhzPscOnlyEnabled(boolean);
+    method public void setRnrSetting(int);
+    field public int band;
+    field public android.net.wifi.WifiScanner.ChannelSpec[] channels;
+    field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks;
+    field public boolean hideFromAppOps;
+    field public boolean ignoreLocationSettings;
+    field @Deprecated public int maxPeriodInMs;
+    field @Deprecated public int maxScansToCache;
+    field @Deprecated public int numBssidsPerScan;
+    field @Deprecated public int periodInMs;
+    field @Deprecated public int reportEvents;
+    field @Deprecated public int stepCount;
+    field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type;
+  }
+
+  public static class WifiScanner.ScanSettings.HiddenNetwork {
+    ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String);
+    field @NonNull public final String ssid;
+  }
+
+  @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener {
+    method @Deprecated public void onChanging(android.net.wifi.ScanResult[]);
+    method @Deprecated public void onQuiescence(android.net.wifi.ScanResult[]);
+  }
+
+  @Deprecated public static class WifiScanner.WifiChangeSettings implements android.os.Parcelable {
+    ctor @Deprecated public WifiScanner.WifiChangeSettings();
+    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
+    field @Deprecated public int lostApSampleSize;
+    field @Deprecated public int minApsBreachingThreshold;
+    field @Deprecated public int periodInMs;
+    field @Deprecated public int rssiSampleSize;
+    field @Deprecated public int unchangedSampleSize;
+  }
+
+  public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCellularDataNetworkType();
+    method public int getCellularSignalStrengthDb();
+    method public int getCellularSignalStrengthDbm();
+    method @IntRange(from=0, to=255) public int getChannelUtilizationRatio();
+    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int);
+    method public int getLinkSpeedMbps();
+    method public int getProbeElapsedTimeSinceLastUpdateMillis();
+    method public int getProbeMcsRateSinceLastUpdate();
+    method public int getProbeStatusSinceLastUpdate();
+    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats();
+    method public int getRssi();
+    method public int getRxLinkSpeedMbps();
+    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent();
+    method public long getTimeStampMillis();
+    method public long getTotalBackgroundScanTimeMillis();
+    method public long getTotalBeaconRx();
+    method public long getTotalCcaBusyFreqTimeMillis();
+    method public long getTotalHotspot2ScanTimeMillis();
+    method public long getTotalNanScanTimeMillis();
+    method public long getTotalPnoScanTimeMillis();
+    method public long getTotalRadioOnFreqTimeMillis();
+    method public long getTotalRadioOnTimeMillis();
+    method public long getTotalRadioRxTimeMillis();
+    method public long getTotalRadioTxTimeMillis();
+    method public long getTotalRoamScanTimeMillis();
+    method public long getTotalRxSuccess();
+    method public long getTotalScanTimeMillis();
+    method public long getTotalTxBad();
+    method public long getTotalTxRetries();
+    method public long getTotalTxSuccess();
+    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> getWifiLinkLayerRadioStats();
+    method public boolean isCellularDataAvailable();
+    method public boolean isSameRegisteredCell();
+    method public boolean isThroughputSufficient();
+    method public boolean isWifiScoringEnabled();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
+    field public static final int NUM_WME_ACCESS_CATEGORIES = 4; // 0x4
+    field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
+    field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
+    field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
+    field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0
+    field public static final int WIFI_BANDWIDTH_10_MHZ = 6; // 0x6
+    field public static final int WIFI_BANDWIDTH_160_MHZ = 3; // 0x3
+    field public static final int WIFI_BANDWIDTH_20_MHZ = 0; // 0x0
+    field public static final int WIFI_BANDWIDTH_40_MHZ = 1; // 0x1
+    field public static final int WIFI_BANDWIDTH_5_MHZ = 5; // 0x5
+    field public static final int WIFI_BANDWIDTH_80P80_MHZ = 4; // 0x4
+    field public static final int WIFI_BANDWIDTH_80_MHZ = 2; // 0x2
+    field public static final int WIFI_BANDWIDTH_INVALID = -1; // 0xffffffff
+    field public static final int WIFI_PREAMBLE_CCK = 1; // 0x1
+    field public static final int WIFI_PREAMBLE_HE = 5; // 0x5
+    field public static final int WIFI_PREAMBLE_HT = 2; // 0x2
+    field public static final int WIFI_PREAMBLE_INVALID = -1; // 0xffffffff
+    field public static final int WIFI_PREAMBLE_OFDM = 0; // 0x0
+    field public static final int WIFI_PREAMBLE_VHT = 3; // 0x3
+    field public static final int WIFI_SPATIAL_STREAMS_FOUR = 4; // 0x4
+    field public static final int WIFI_SPATIAL_STREAMS_INVALID = -1; // 0xffffffff
+    field public static final int WIFI_SPATIAL_STREAMS_ONE = 1; // 0x1
+    field public static final int WIFI_SPATIAL_STREAMS_THREE = 3; // 0x3
+    field public static final int WIFI_SPATIAL_STREAMS_TWO = 2; // 0x2
+    field public static final int WME_ACCESS_CATEGORY_BE = 0; // 0x0
+    field public static final int WME_ACCESS_CATEGORY_BK = 1; // 0x1
+    field public static final int WME_ACCESS_CATEGORY_VI = 2; // 0x2
+    field public static final int WME_ACCESS_CATEGORY_VO = 3; // 0x3
+  }
+
+  public static final class WifiUsabilityStatsEntry.ContentionTimeStats implements android.os.Parcelable {
+    ctor public WifiUsabilityStatsEntry.ContentionTimeStats(long, long, long, long);
+    method public int describeContents();
+    method public long getContentionNumSamples();
+    method public long getContentionTimeAvgMicros();
+    method public long getContentionTimeMaxMicros();
+    method public long getContentionTimeMinMicros();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats> CREATOR;
+  }
+
+  public static final class WifiUsabilityStatsEntry.RadioStats implements android.os.Parcelable {
+    ctor public WifiUsabilityStatsEntry.RadioStats(int, long, long, long, long, long, long, long, long, long);
+    method public int describeContents();
+    method public long getRadioId();
+    method public long getTotalBackgroundScanTimeMillis();
+    method public long getTotalHotspot2ScanTimeMillis();
+    method public long getTotalNanScanTimeMillis();
+    method public long getTotalPnoScanTimeMillis();
+    method public long getTotalRadioOnTimeMillis();
+    method public long getTotalRadioRxTimeMillis();
+    method public long getTotalRadioTxTimeMillis();
+    method public long getTotalRoamScanTimeMillis();
+    method public long getTotalScanTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> CREATOR;
+  }
+
+  public static final class WifiUsabilityStatsEntry.RateStats implements android.os.Parcelable {
+    ctor public WifiUsabilityStatsEntry.RateStats(int, int, int, int, int, int, int, int, int);
+    method public int describeContents();
+    method public int getBandwidthInMhz();
+    method public int getBitRateInKbps();
+    method public int getMpduLost();
+    method public int getNumberOfSpatialStreams();
+    method public int getPreamble();
+    method public int getRateMcsIdx();
+    method public int getRetries();
+    method public int getRxMpdu();
+    method public int getTxMpdu();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RateStats> CREATOR;
+  }
+
+}
+
+package android.net.wifi.aware {
+
+  public class DiscoverySession implements java.lang.AutoCloseable {
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]);
+  }
+
+  public class WifiAwareManager {
+    method public void enableInstantCommunicationMode(boolean);
+  }
+
+  public class WifiAwareSession implements java.lang.AutoCloseable {
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]);
+  }
+
+}
+
+package android.net.wifi.hotspot2 {
+
+  public final class OsuProvider implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getFriendlyName();
+    method @Nullable public android.net.Uri getServerUri();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
+  }
+
+  public final class PasspointConfiguration implements android.os.Parcelable {
+    method public int getMeteredOverride();
+    method public boolean isAutojoinEnabled();
+    method public boolean isMacRandomizationEnabled();
+  }
+
+  public abstract class ProvisioningCallback {
+    ctor public ProvisioningCallback();
+    method public abstract void onProvisioningComplete();
+    method public abstract void onProvisioningFailure(int);
+    method public abstract void onProvisioningStatus(int);
+    field public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; // 0x16
+    field public static final int OSU_FAILURE_AP_CONNECTION = 1; // 0x1
+    field public static final int OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8; // 0x8
+    field public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; // 0x11
+    field public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; // 0x15
+    field public static final int OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14; // 0xe
+    field public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; // 0x13
+    field public static final int OSU_FAILURE_NO_PPS_MO = 16; // 0x10
+    field public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; // 0x12
+    field public static final int OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23; // 0x17
+    field public static final int OSU_FAILURE_PROVISIONING_ABORTED = 6; // 0x6
+    field public static final int OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7; // 0x7
+    field public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; // 0x14
+    field public static final int OSU_FAILURE_SERVER_CONNECTION = 3; // 0x3
+    field public static final int OSU_FAILURE_SERVER_URL_INVALID = 2; // 0x2
+    field public static final int OSU_FAILURE_SERVER_VALIDATION = 4; // 0x4
+    field public static final int OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5; // 0x5
+    field public static final int OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11; // 0xb
+    field public static final int OSU_FAILURE_START_REDIRECT_LISTENER = 12; // 0xc
+    field public static final int OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13; // 0xd
+    field public static final int OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9; // 0x9
+    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; // 0xf
+    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10; // 0xa
+    field public static final int OSU_STATUS_AP_CONNECTED = 2; // 0x2
+    field public static final int OSU_STATUS_AP_CONNECTING = 1; // 0x1
+    field public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6; // 0x6
+    field public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8; // 0x8
+    field public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; // 0xb
+    field public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9; // 0x9
+    field public static final int OSU_STATUS_SERVER_CONNECTED = 5; // 0x5
+    field public static final int OSU_STATUS_SERVER_CONNECTING = 3; // 0x3
+    field public static final int OSU_STATUS_SERVER_VALIDATED = 4; // 0x4
+    field public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; // 0xa
+    field public static final int OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE = 7; // 0x7
+  }
+
+}
+
+package android.net.wifi.nl80211 {
+
+  public final class DeviceWiphyCapabilities implements android.os.Parcelable {
+    ctor public DeviceWiphyCapabilities();
+    method public int describeContents();
+    method public int getMaxNumberRxSpatialStreams();
+    method public int getMaxNumberTxSpatialStreams();
+    method public boolean isChannelWidthSupported(int);
+    method public boolean isWifiStandardSupported(int);
+    method public void setWifiStandardSupport(int, boolean);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR;
+  }
+
+  public final class NativeScanResult implements android.os.Parcelable {
+    ctor public NativeScanResult();
+    method public int describeContents();
+    method @Nullable public android.net.MacAddress getBssid();
+    method public int getCapabilities();
+    method public int getFrequencyMhz();
+    method @NonNull public byte[] getInformationElements();
+    method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos();
+    method public int getSignalMbm();
+    method @NonNull public byte[] getSsid();
+    method public long getTsf();
+    method public boolean isAssociated();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800
+    field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4
+    field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8
+    field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80
+    field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000
+    field public static final int BSS_CAPABILITY_DMG_ESS = 3; // 0x3
+    field public static final int BSS_CAPABILITY_DMG_IBSS = 1; // 0x1
+    field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000
+    field public static final int BSS_CAPABILITY_ESS = 1; // 0x1
+    field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2
+    field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000
+    field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40
+    field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10
+    field public static final int BSS_CAPABILITY_QOS = 512; // 0x200
+    field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000
+    field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20
+    field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400
+    field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR;
+  }
+
+  public final class NativeWifiClient implements android.os.Parcelable {
+    ctor public NativeWifiClient(@Nullable android.net.MacAddress);
+    method public int describeContents();
+    method @Nullable public android.net.MacAddress getMacAddress();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR;
+  }
+
+  public final class PnoNetwork implements android.os.Parcelable {
+    ctor public PnoNetwork();
+    method public int describeContents();
+    method @NonNull public int[] getFrequenciesMhz();
+    method @NonNull public byte[] getSsid();
+    method public boolean isHidden();
+    method public void setFrequenciesMhz(@NonNull int[]);
+    method public void setHidden(boolean);
+    method public void setSsid(@NonNull byte[]);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR;
+  }
+
+  public final class PnoSettings implements android.os.Parcelable {
+    ctor public PnoSettings();
+    method public int describeContents();
+    method public long getIntervalMillis();
+    method public int getMin2gRssiDbm();
+    method public int getMin5gRssiDbm();
+    method public int getMin6gRssiDbm();
+    method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
+    method public void setIntervalMillis(long);
+    method public void setMin2gRssiDbm(int);
+    method public void setMin5gRssiDbm(int);
+    method public void setMin6gRssiDbm(int);
+    method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
+  }
+
+  public final class RadioChainInfo implements android.os.Parcelable {
+    ctor public RadioChainInfo(int, int);
+    method public int describeContents();
+    method public int getChainId();
+    method public int getLevelDbm();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR;
+  }
+
+  public class WifiNl80211Manager {
+    method public void abortScan(@NonNull String);
+    method public void enableVerboseLogging(boolean);
+    method @NonNull public int[] getChannelsMhzForBand(int);
+    method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String);
+    method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int);
+    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String);
+    method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]);
+    method @Deprecated public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback);
+    method public boolean registerCountryCodeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
+    method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback);
+    method public void setOnServiceDeadCallback(@NonNull Runnable);
+    method public boolean setupInterfaceForClientMode(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.ScanEventCallback, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.ScanEventCallback);
+    method public boolean setupInterfaceForSoftApMode(@NonNull String);
+    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String);
+    method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback);
+    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>);
+    method public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
+    method public boolean stopPnoScan(@NonNull String);
+    method public boolean tearDownClientInterface(@NonNull String);
+    method public boolean tearDownInterfaces();
+    method public boolean tearDownSoftApInterface(@NonNull String);
+    method public void unregisterCountryCodeChangedListener(@NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
+    field public static final String SCANNING_PARAM_ENABLE_6GHZ_RNR = "android.net.wifi.nl80211.SCANNING_PARAM_ENABLE_6GHZ_RNR";
+    field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1
+    field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0
+    field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5
+    field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2
+    field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3
+    field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4
+    field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1
+  }
+
+  public static interface WifiNl80211Manager.CountryCodeChangedListener {
+    method public void onCountryCodeChanged(@NonNull String);
+  }
+
+  public static class WifiNl80211Manager.OemSecurityType {
+    ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int);
+    field public final int groupCipher;
+    field @NonNull public final java.util.List<java.lang.Integer> keyManagement;
+    field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher;
+    field public final int protocol;
+  }
+
+  public static interface WifiNl80211Manager.PnoScanRequestCallback {
+    method public void onPnoRequestFailed();
+    method public void onPnoRequestSucceeded();
+  }
+
+  public static interface WifiNl80211Manager.ScanEventCallback {
+    method public void onScanFailed();
+    method public void onScanResultReady();
+  }
+
+  public static interface WifiNl80211Manager.SendMgmtFrameCallback {
+    method public void onAck(int);
+    method public void onFailure(int);
+  }
+
+  public static class WifiNl80211Manager.SignalPollResult {
+    field public final int associationFrequencyMHz;
+    field public final int currentRssiDbm;
+    field public final int rxBitrateMbps;
+    field public final int txBitrateMbps;
+  }
+
+  @Deprecated public static interface WifiNl80211Manager.SoftApCallback {
+    method @Deprecated public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean);
+    method @Deprecated public void onFailure();
+    method @Deprecated public void onSoftApChannelSwitched(int, int);
+  }
+
+  public static class WifiNl80211Manager.TxPacketCounters {
+    field public final int txPacketFailed;
+    field public final int txPacketSucceeded;
+  }
+
+}
+
+package android.net.wifi.p2p {
+
+  public final class WifiP2pGroupList implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR;
+  }
+
+  public class WifiP2pManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void deletePersistentGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.READ_WIFI_CREDENTIAL}) public void requestPersistentGroupInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setDeviceName(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull String, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int);
+    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setWfdInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pWfdInfo, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setWifiP2pChannels(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void startListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void stopListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED";
+    field public static final int MIRACAST_DISABLED = 0; // 0x0
+    field public static final int MIRACAST_SINK = 2; // 0x2
+    field public static final int MIRACAST_SOURCE = 1; // 0x1
+  }
+
+  public static interface WifiP2pManager.PersistentGroupInfoListener {
+    method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
+  }
+
+}
+
+package android.net.wifi.rtt {
+
+  public final class RangingRequest implements android.os.Parcelable {
+    method @NonNull public java.util.List<android.net.wifi.rtt.ResponderConfig> getRttResponders();
+  }
+
+  public static final class RangingRequest.Builder {
+    method public android.net.wifi.rtt.RangingRequest.Builder addResponder(@NonNull android.net.wifi.rtt.ResponderConfig);
+  }
+
+  public final class RangingResult implements android.os.Parcelable {
+    method @NonNull public byte[] getLci();
+    method @NonNull public byte[] getLcr();
+  }
+
+  public final class ResponderConfig implements android.os.Parcelable {
+    ctor public ResponderConfig(@NonNull android.net.MacAddress, int, boolean, int, int, int, int, int);
+    ctor public ResponderConfig(@NonNull android.net.wifi.aware.PeerHandle, int, boolean, int, int, int, int, int);
+    method public int describeContents();
+    method public static android.net.wifi.rtt.ResponderConfig fromScanResult(android.net.wifi.ScanResult);
+    method public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerHandleWithDefaults(android.net.wifi.aware.PeerHandle);
+    method public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerMacAddressWithDefaults(android.net.MacAddress);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
+    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
+    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
+    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
+    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR;
+    field public static final int PREAMBLE_HE = 3; // 0x3
+    field public static final int PREAMBLE_HT = 1; // 0x1
+    field public static final int PREAMBLE_LEGACY = 0; // 0x0
+    field public static final int PREAMBLE_VHT = 2; // 0x2
+    field public static final int RESPONDER_AP = 0; // 0x0
+    field public static final int RESPONDER_AWARE = 4; // 0x4
+    field public static final int RESPONDER_P2P_CLIENT = 3; // 0x3
+    field public static final int RESPONDER_P2P_GO = 2; // 0x2
+    field public static final int RESPONDER_STA = 1; // 0x1
+    field public final int centerFreq0;
+    field public final int centerFreq1;
+    field public final int channelWidth;
+    field public final int frequency;
+    field public final android.net.MacAddress macAddress;
+    field public final android.net.wifi.aware.PeerHandle peerHandle;
+    field public final int preamble;
+    field public final int responderType;
+    field public final boolean supports80211mc;
+  }
+
+  public final class ResponderLocation implements android.os.Parcelable {
+    method public boolean getExtraInfoOnAssociationIndication();
+  }
+
+  public class WifiRttManager {
+    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE}) public void cancelRanging(@Nullable android.os.WorkSource);
+    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_WIFI_STATE}) public void startRanging(@Nullable android.os.WorkSource, @NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback);
+  }
+
+}
+
+package android.nfc {
+
+  public final class NfcAdapter {
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable();
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disableNdefPush();
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableNdefPush();
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
+    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
+    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported();
+    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
+    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
+    method public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, int);
+    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
+    field public static final int FLAG_NDEF_PUSH_NO_CONFIRM = 1; // 0x1
+  }
+
+  public static interface NfcAdapter.ControllerAlwaysOnListener {
+    method public void onControllerAlwaysOnChanged(boolean);
+  }
+
+  public static interface NfcAdapter.NfcUnlockHandler {
+    method public boolean onUnlockAttempted(android.nfc.Tag);
+  }
+
+}
+
+package android.os {
+
+  public class BatteryManager {
+    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setChargingStateUpdateDelayMillis(int);
+    field public static final String EXTRA_EVENTS = "android.os.extra.EVENTS";
+    field public static final String EXTRA_EVENT_TIMESTAMP = "android.os.extra.EVENT_TIMESTAMP";
+  }
+
+  public final class BatterySaverPolicyConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public float getAdjustBrightnessFactor();
+    method public boolean getAdvertiseIsEnabled();
+    method public boolean getDeferFullBackup();
+    method public boolean getDeferKeyValueBackup();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getDeviceSpecificSettings();
+    method public boolean getDisableAnimation();
+    method public boolean getDisableAod();
+    method public boolean getDisableLaunchBoost();
+    method public boolean getDisableOptionalSensors();
+    method @Deprecated public boolean getDisableSoundTrigger();
+    method public boolean getDisableVibration();
+    method public boolean getEnableAdjustBrightness();
+    method public boolean getEnableDataSaver();
+    method public boolean getEnableFirewall();
+    method public boolean getEnableNightMode();
+    method public boolean getEnableQuickDoze();
+    method public boolean getForceAllAppsStandby();
+    method public boolean getForceBackgroundCheck();
+    method public int getLocationMode();
+    method public int getSoundTriggerMode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
+  }
+
+  public static final class BatterySaverPolicyConfig.Builder {
+    ctor public BatterySaverPolicyConfig.Builder();
+    ctor public BatterySaverPolicyConfig.Builder(@NonNull android.os.BatterySaverPolicyConfig);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder addDeviceSpecificSetting(@NonNull String, @NonNull String);
+    method @NonNull public android.os.BatterySaverPolicyConfig build();
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdjustBrightnessFactor(float);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdvertiseIsEnabled(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferFullBackup(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferKeyValueBackup(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAnimation(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAod(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableLaunchBoost(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableOptionalSensors(boolean);
+    method @Deprecated @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableSoundTrigger(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableVibration(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableAdjustBrightness(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableDataSaver(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableFirewall(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableNightMode(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableQuickDoze(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceAllAppsStandby(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceBackgroundCheck(boolean);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
+    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setSoundTriggerMode(int);
+  }
+
+  public final class BatteryStatsManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRadioPowerState(boolean, int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
+    field public static final int WIFI_STATE_OFF = 0; // 0x0
+    field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
+    field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
+    field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4
+    field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6
+    field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3
+    field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2
+    field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7
+    field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7
+    field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6
+    field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5
+    field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa
+    field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1
+    field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb
+    field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8
+    field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9
+    field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3
+    field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2
+    field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0
+    field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4
+    field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc
+  }
+
+  public class Binder implements android.os.IBinder {
+    method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]);
+    method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener);
+  }
+
+  public static interface Binder.ProxyTransactListener {
+    method public void onTransactEnded(@Nullable Object);
+    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
+  }
+
+  public final class BugreportManager {
+    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence);
+    method @RequiresPermission(android.Manifest.permission.DUMP) @WorkerThread public void startBugreport(@NonNull android.os.ParcelFileDescriptor, @Nullable android.os.ParcelFileDescriptor, @NonNull android.os.BugreportParams, @NonNull java.util.concurrent.Executor, @NonNull android.os.BugreportManager.BugreportCallback);
+  }
+
+  public final class BugreportParams {
+    ctor public BugreportParams(int);
+    method public int getMode();
+    field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
+    field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
+    field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
+    field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
+    field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
+    field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
+  }
+
+  public static class Build.VERSION {
+    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
+  }
+
+  public final class ConfigUpdate {
+    field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
+    field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
+    field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
+    field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
+    field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
+    field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
+    field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
+    field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
+    field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
+    field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
+    field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
+    field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
+    field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
+  }
+
+  public class DeviceIdleManager {
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void endIdle(@NonNull String);
+  }
+
+  public class Environment {
+    method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories();
+    method @NonNull public static java.io.File getOdmDirectory();
+    method @NonNull public static java.io.File getOemDirectory();
+    method @NonNull public static java.io.File getProductDirectory();
+    method @Deprecated @NonNull public static java.io.File getProductServicesDirectory();
+    method @NonNull public static java.io.File getSystemExtDirectory();
+    method @NonNull public static java.io.File getVendorDirectory();
+  }
+
+  public class HidlMemory implements java.io.Closeable {
+    ctor public HidlMemory(@NonNull String, @IntRange(from=0) long, @Nullable android.os.NativeHandle);
+    method public void close() throws java.io.IOException;
+    method @NonNull public android.os.HidlMemory dup() throws java.io.IOException;
+    method protected void finalize();
+    method @Nullable public android.os.NativeHandle getHandle();
+    method @NonNull public String getName();
+    method public long getSize();
+    method @Nullable public android.os.NativeHandle releaseHandle();
+  }
+
+  public class HidlSupport {
+    method public static boolean deepEquals(Object, Object);
+    method public static int deepHashCode(Object);
+    method public static int getPidIfSharable();
+    method public static boolean interfacesEqual(android.os.IHwInterface, Object);
+  }
+
+  public abstract class HwBinder implements android.os.IHwBinder {
+    ctor public HwBinder();
+    method public static final void configureRpcThreadpool(long, boolean);
+    method public static void enableInstrumentation();
+    method public static final android.os.IHwBinder getService(String, String) throws java.util.NoSuchElementException, android.os.RemoteException;
+    method public static final android.os.IHwBinder getService(String, String, boolean) throws java.util.NoSuchElementException, android.os.RemoteException;
+    method public static final void joinRpcThreadpool();
+    method public abstract void onTransact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
+    method public final void registerService(String) throws android.os.RemoteException;
+    method public final void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
+  }
+
+  public class HwBlob {
+    ctor public HwBlob(int);
+    method public final void copyToBoolArray(long, boolean[], int);
+    method public final void copyToDoubleArray(long, double[], int);
+    method public final void copyToFloatArray(long, float[], int);
+    method public final void copyToInt16Array(long, short[], int);
+    method public final void copyToInt32Array(long, int[], int);
+    method public final void copyToInt64Array(long, long[], int);
+    method public final void copyToInt8Array(long, byte[], int);
+    method public final boolean getBool(long);
+    method public final double getDouble(long);
+    method public final long getFieldHandle(long);
+    method public final float getFloat(long);
+    method public final short getInt16(long);
+    method public final int getInt32(long);
+    method public final long getInt64(long);
+    method public final byte getInt8(long);
+    method public final String getString(long);
+    method public final long handle();
+    method public final void putBlob(long, android.os.HwBlob);
+    method public final void putBool(long, boolean);
+    method public final void putBoolArray(long, boolean[]);
+    method public final void putDouble(long, double);
+    method public final void putDoubleArray(long, double[]);
+    method public final void putFloat(long, float);
+    method public final void putFloatArray(long, float[]);
+    method public final void putHidlMemory(long, @NonNull android.os.HidlMemory);
+    method public final void putInt16(long, short);
+    method public final void putInt16Array(long, short[]);
+    method public final void putInt32(long, int);
+    method public final void putInt32Array(long, int[]);
+    method public final void putInt64(long, long);
+    method public final void putInt64Array(long, long[]);
+    method public final void putInt8(long, byte);
+    method public final void putInt8Array(long, byte[]);
+    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
+    method public final void putString(long, String);
+    method public static Boolean[] wrapArray(@NonNull boolean[]);
+    method public static Long[] wrapArray(@NonNull long[]);
+    method public static Byte[] wrapArray(@NonNull byte[]);
+    method public static Short[] wrapArray(@NonNull short[]);
+    method public static Integer[] wrapArray(@NonNull int[]);
+    method public static Float[] wrapArray(@NonNull float[]);
+    method public static Double[] wrapArray(@NonNull double[]);
+  }
+
+  public class HwParcel {
+    ctor public HwParcel();
+    method public final void enforceInterface(String);
+    method public final boolean readBool();
+    method public final java.util.ArrayList<java.lang.Boolean> readBoolVector();
+    method public final android.os.HwBlob readBuffer(long);
+    method public final double readDouble();
+    method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
+    method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
+    method @NonNull @Nullable public final android.os.HidlMemory readEmbeddedHidlMemory(long, long, long);
+    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
+    method public final float readFloat();
+    method public final java.util.ArrayList<java.lang.Float> readFloatVector();
+    method @NonNull public final android.os.HidlMemory readHidlMemory();
+    method public final short readInt16();
+    method public final java.util.ArrayList<java.lang.Short> readInt16Vector();
+    method public final int readInt32();
+    method public final java.util.ArrayList<java.lang.Integer> readInt32Vector();
+    method public final long readInt64();
+    method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
+    method public final byte readInt8();
+    method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
+    method @Nullable public final android.os.NativeHandle readNativeHandle();
+    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
+    method public final String readString();
+    method public final java.util.ArrayList<java.lang.String> readStringVector();
+    method public final android.os.IHwBinder readStrongBinder();
+    method public final void release();
+    method public final void releaseTemporaryStorage();
+    method public final void send();
+    method public final void verifySuccess();
+    method public final void writeBool(boolean);
+    method public final void writeBoolVector(java.util.ArrayList<java.lang.Boolean>);
+    method public final void writeBuffer(android.os.HwBlob);
+    method public final void writeDouble(double);
+    method public final void writeDoubleVector(java.util.ArrayList<java.lang.Double>);
+    method public final void writeFloat(float);
+    method public final void writeFloatVector(java.util.ArrayList<java.lang.Float>);
+    method public final void writeHidlMemory(@NonNull android.os.HidlMemory);
+    method public final void writeInt16(short);
+    method public final void writeInt16Vector(java.util.ArrayList<java.lang.Short>);
+    method public final void writeInt32(int);
+    method public final void writeInt32Vector(java.util.ArrayList<java.lang.Integer>);
+    method public final void writeInt64(long);
+    method public final void writeInt64Vector(java.util.ArrayList<java.lang.Long>);
+    method public final void writeInt8(byte);
+    method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
+    method public final void writeInterfaceToken(String);
+    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
+    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
+    method public final void writeStatus(int);
+    method public final void writeString(String);
+    method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
+    method public final void writeStrongBinder(android.os.IHwBinder);
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public interface IHwBinder {
+    method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long);
+    method public android.os.IHwInterface queryLocalInterface(String);
+    method public void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
+    method public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient);
+  }
+
+  public static interface IHwBinder.DeathRecipient {
+    method public void serviceDied(long);
+  }
+
+  public interface IHwInterface {
+    method public android.os.IHwBinder asBinder();
+  }
+
+  public class IncidentManager {
+    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void approveReport(android.net.Uri);
+    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void cancelAuthorization(android.os.IncidentManager.AuthListener);
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void deleteIncidentReports(android.net.Uri);
+    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void denyReport(android.net.Uri);
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri);
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String);
+    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports();
+    method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback);
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs);
+    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener);
+    method public void unregisterSection(int);
+    field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1
+    field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8
+    field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64
+    field public static final int PRIVACY_POLICY_LOCAL = 0; // 0x0
+  }
+
+  public static class IncidentManager.AuthListener {
+    ctor public IncidentManager.AuthListener();
+    method public void onReportApproved();
+    method public void onReportDenied();
+  }
+
+  public static class IncidentManager.DumpCallback {
+    ctor public IncidentManager.DumpCallback();
+    method public void onDumpSection(int, @NonNull java.io.OutputStream);
+  }
+
+  public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable {
+    ctor public IncidentManager.IncidentReport(android.os.Parcel);
+    method public void close();
+    method public int describeContents();
+    method public java.io.InputStream getInputStream() throws java.io.IOException;
+    method public long getPrivacyPolicy();
+    method public long getTimestamp();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
+  }
+
+  public static class IncidentManager.PendingReport {
+    ctor public IncidentManager.PendingReport(@NonNull android.net.Uri);
+    method public int getFlags();
+    method @NonNull public String getRequestingPackage();
+    method public long getTimestamp();
+    method @NonNull public android.net.Uri getUri();
+  }
+
+  public final class IncidentReportArgs implements android.os.Parcelable {
+    ctor public IncidentReportArgs();
+    ctor public IncidentReportArgs(android.os.Parcel);
+    method public void addHeader(byte[]);
+    method public void addSection(int);
+    method public boolean containsSection(int);
+    method public int describeContents();
+    method public boolean isAll();
+    method public void readFromParcel(android.os.Parcel);
+    method public int sectionCount();
+    method public void setAll(boolean);
+    method public void setPrivacyPolicy(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
+  }
+
+  public final class NativeHandle implements java.io.Closeable {
+    ctor public NativeHandle();
+    ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
+    ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
+    method public void close() throws java.io.IOException;
+    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
+    method @NonNull public java.io.FileDescriptor getFileDescriptor();
+    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
+    method @NonNull public int[] getInts();
+    method public boolean hasSingleFileDescriptor();
+  }
+
+  public interface Parcelable {
+    field public static final int PARCELABLE_STABILITY_LOCAL = 0; // 0x0
+    field public static final int PARCELABLE_STABILITY_VINTF = 1; // 0x1
+  }
+
+  public final class ParcelableHolder implements android.os.Parcelable {
+    ctor public ParcelableHolder(int);
+    method public int describeContents();
+    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@NonNull Class<T>);
+    method public int getStability();
+    method public void readFromParcel(@NonNull android.os.Parcel);
+    method public void setParcelable(@Nullable android.os.Parcelable);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelableHolder> CREATOR;
+  }
+
+  public class PowerExemptionManager {
+    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void addToTemporaryAllowList(@NonNull String, int, @Nullable String, long);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long addToTemporaryAllowListForEvent(@NonNull String, int, @Nullable String, int);
+    field public static final int EVENT_MMS = 2; // 0x2
+    field public static final int EVENT_SMS = 1; // 0x1
+    field public static final int EVENT_UNSPECIFIED = 0; // 0x0
+    field public static final int REASON_ACCOUNT_TRANSFER = 104; // 0x68
+    field public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
+    field public static final int REASON_GEOFENCING = 100; // 0x64
+    field public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
+    field public static final int REASON_OTHER = 1; // 0x1
+    field public static final int REASON_PUSH_MESSAGING = 101; // 0x65
+    field public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
+    field public static final int REASON_UNKNOWN = 0; // 0x0
+    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
+    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
+    field public static final int TEMPORARY_ALLOW_LIST_TYPE_NONE = -1; // 0xffffffff
+  }
+
+  public final class PowerManager {
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
+    method @NonNull public android.os.BatterySaverPolicyConfig getFullPowerSavePolicy();
+    method public int getPowerSaveModeTrigger();
+    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable();
+    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed();
+    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
+    method @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_PREDICTION, android.Manifest.permission.DEVICE_POWER}) public void setBatteryDischargePrediction(@NonNull java.time.Duration, boolean);
+    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setFullPowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
+    field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1
+    field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0
+    field public static final String REBOOT_USERSPACE = "userspace";
+    field public static final int SOUND_TRIGGER_MODE_ALL_DISABLED = 2; // 0x2
+    field public static final int SOUND_TRIGGER_MODE_ALL_ENABLED = 0; // 0x0
+    field public static final int SOUND_TRIGGER_MODE_CRITICAL_ONLY = 1; // 0x1
+    field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3
+    field public static final int USER_ACTIVITY_EVENT_BUTTON = 1; // 0x1
+    field public static final int USER_ACTIVITY_EVENT_OTHER = 0; // 0x0
+    field public static final int USER_ACTIVITY_EVENT_TOUCH = 2; // 0x2
+    field public static final int USER_ACTIVITY_FLAG_INDIRECT = 2; // 0x2
+    field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1
+  }
+
+  @Deprecated public class PowerWhitelistManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void removeFromWhitelist(@NonNull String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long, int, @Nullable String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @Nullable String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, int, @Nullable String);
+    field @Deprecated public static final int EVENT_MMS = 2; // 0x2
+    field @Deprecated public static final int EVENT_SMS = 1; // 0x1
+    field @Deprecated public static final int EVENT_UNSPECIFIED = 0; // 0x0
+    field @Deprecated public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
+    field @Deprecated public static final int REASON_GEOFENCING = 100; // 0x64
+    field @Deprecated public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
+    field @Deprecated public static final int REASON_OTHER = 1; // 0x1
+    field @Deprecated public static final int REASON_PUSH_MESSAGING = 101; // 0x65
+    field @Deprecated public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
+    field @Deprecated public static final int REASON_UNKNOWN = 0; // 0x0
+    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
+    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
+  }
+
+  public class RecoverySystem {
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static boolean isPreparedForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void prepareForUnattendedUpdate(@NonNull android.content.Context, @NonNull String, @Nullable android.content.IntentSender) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener, android.os.Handler) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
+    method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static int rebootAndApply(@NonNull android.content.Context, @NonNull String, boolean) throws java.io.IOException;
+    method @RequiresPermission(allOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void rebootWipeAb(android.content.Context, java.io.File, String) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
+    method public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
+    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_INVALID_PACKAGE_NAME = 2000; // 0x7d0
+    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_LSKF_NOT_CAPTURED = 3000; // 0xbb8
+    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_PROVIDER_PREPARATION_FAILURE = 5000; // 0x1388
+    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_SLOT_MISMATCH = 4000; // 0xfa0
+    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_UNSPECIFIED = 1000; // 0x3e8
+  }
+
+  public final class RemoteCallback implements android.os.Parcelable {
+    ctor public RemoteCallback(android.os.RemoteCallback.OnResultListener);
+    ctor public RemoteCallback(@NonNull android.os.RemoteCallback.OnResultListener, @Nullable android.os.Handler);
+    method public int describeContents();
+    method public void sendResult(@Nullable android.os.Bundle);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
+  }
+
+  public static interface RemoteCallback.OnResultListener {
+    method public void onResult(@Nullable android.os.Bundle);
+  }
+
+  public class ServiceSpecificException extends java.lang.RuntimeException {
+    ctor public ServiceSpecificException(int, @Nullable String);
+    ctor public ServiceSpecificException(int);
+    field public final int errorCode;
+  }
+
+  public final class StatsDimensionsValue implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getBooleanValue();
+    method public int getField();
+    method public float getFloatValue();
+    method public int getIntValue();
+    method public long getLongValue();
+    method public String getStringValue();
+    method public java.util.List<android.os.StatsDimensionsValue> getTupleValueList();
+    method public int getValueType();
+    method public boolean isValueType(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
+    field public static final int FLOAT_VALUE_TYPE = 6; // 0x6
+    field public static final int INT_VALUE_TYPE = 3; // 0x3
+    field public static final int LONG_VALUE_TYPE = 4; // 0x4
+    field public static final int STRING_VALUE_TYPE = 2; // 0x2
+    field public static final int TUPLE_VALUE_TYPE = 7; // 0x7
+  }
+
+  public class SystemConfigManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
+  }
+
+  public class SystemProperties {
+    method @NonNull public static String get(@NonNull String);
+    method @NonNull public static String get(@NonNull String, @Nullable String);
+    method public static boolean getBoolean(@NonNull String, boolean);
+    method public static int getInt(@NonNull String, int);
+    method public static long getLong(@NonNull String, long);
+  }
+
+  public class SystemUpdateManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SYSTEM_UPDATE_INFO, android.Manifest.permission.RECOVERY}) public android.os.Bundle retrieveSystemUpdateInfo();
+    method @RequiresPermission(android.Manifest.permission.RECOVERY) public void updateSystemUpdateInfo(android.os.PersistableBundle);
+    field public static final String KEY_IS_SECURITY_UPDATE = "is_security_update";
+    field public static final String KEY_STATUS = "status";
+    field public static final String KEY_TARGET_BUILD_FINGERPRINT = "target_build_fingerprint";
+    field public static final String KEY_TARGET_SECURITY_PATCH_LEVEL = "target_security_patch_level";
+    field public static final String KEY_TITLE = "title";
+    field public static final int STATUS_IDLE = 1; // 0x1
+    field public static final int STATUS_IN_PROGRESS = 3; // 0x3
+    field public static final int STATUS_UNKNOWN = 0; // 0x0
+    field public static final int STATUS_WAITING_DOWNLOAD = 2; // 0x2
+    field public static final int STATUS_WAITING_INSTALL = 4; // 0x4
+    field public static final int STATUS_WAITING_REBOOT = 5; // 0x5
+  }
+
+  public class UpdateEngine {
+    ctor public UpdateEngine();
+    method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
+    method public void applyPayload(String, long, long, String[]);
+    method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
+    method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
+    method public boolean bind(android.os.UpdateEngineCallback);
+    method public void cancel();
+    method @WorkerThread public int cleanupAppliedPayload();
+    method public void resetStatus();
+    method public void resume();
+    method public void suspend();
+    method public boolean unbind();
+    method public boolean verifyPayloadMetadata(String);
+  }
+
+  public static final class UpdateEngine.AllocateSpaceResult {
+    method public int getErrorCode();
+    method public long getFreeSpaceRequired();
+  }
+
+  public static final class UpdateEngine.ErrorCodeConstants {
+    ctor public UpdateEngine.ErrorCodeConstants();
+    field public static final int DEVICE_CORRUPTED = 61; // 0x3d
+    field public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12; // 0xc
+    field public static final int DOWNLOAD_TRANSFER_ERROR = 9; // 0x9
+    field public static final int ERROR = 1; // 0x1
+    field public static final int FILESYSTEM_COPIER_ERROR = 4; // 0x4
+    field public static final int INSTALL_DEVICE_OPEN_ERROR = 7; // 0x7
+    field public static final int KERNEL_DEVICE_OPEN_ERROR = 8; // 0x8
+    field public static final int NOT_ENOUGH_SPACE = 60; // 0x3c
+    field public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10; // 0xa
+    field public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6; // 0x6
+    field public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11; // 0xb
+    field public static final int PAYLOAD_TIMESTAMP_ERROR = 51; // 0x33
+    field public static final int POST_INSTALL_RUNNER_ERROR = 5; // 0x5
+    field public static final int SUCCESS = 0; // 0x0
+    field public static final int UPDATED_BUT_NOT_ACTIVE = 52; // 0x34
+  }
+
+  public static final class UpdateEngine.UpdateStatusConstants {
+    ctor public UpdateEngine.UpdateStatusConstants();
+    field public static final int ATTEMPTING_ROLLBACK = 8; // 0x8
+    field public static final int CHECKING_FOR_UPDATE = 1; // 0x1
+    field public static final int DISABLED = 9; // 0x9
+    field public static final int DOWNLOADING = 3; // 0x3
+    field public static final int FINALIZING = 5; // 0x5
+    field public static final int IDLE = 0; // 0x0
+    field public static final int REPORTING_ERROR_EVENT = 7; // 0x7
+    field public static final int UPDATED_NEED_REBOOT = 6; // 0x6
+    field public static final int UPDATE_AVAILABLE = 2; // 0x2
+    field public static final int VERIFYING = 4; // 0x4
+  }
+
+  public abstract class UpdateEngineCallback {
+    ctor public UpdateEngineCallback();
+    method public abstract void onPayloadApplicationComplete(int);
+    method public abstract void onStatusUpdate(int, float);
+  }
+
+  public final class UserHandle implements android.os.Parcelable {
+    method @NonNull public static String formatUid(int);
+    method public static int getAppId(int);
+    method public int getIdentifier();
+    method public int getUid(int);
+    method @Deprecated public boolean isOwner();
+    method public boolean isSystem();
+    method public static int myUserId();
+    method public static android.os.UserHandle of(int);
+    field @NonNull public static final android.os.UserHandle ALL;
+    field @NonNull public static final android.os.UserHandle CURRENT;
+    field @NonNull public static final android.os.UserHandle SYSTEM;
+  }
+
+  public class UserManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean canHaveRestrictedProfile();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.UserHandle createProfile(@NonNull String, @NonNull String, @NonNull java.util.Set<java.lang.String>) throws android.os.UserManager.UserOperationException;
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getAllProfiles();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getEnabledProfiles();
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.UserHandle getRestrictedProfileParent();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public long[] getSerialNumbersOfUsers(boolean);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
+    method @Deprecated @android.os.UserManager.UserRestrictionSource @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserRestrictionSource(String, android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserManager.EnforcingUser> getUserRestrictionSources(String, android.os.UserHandle);
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public int getUserSwitchability();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean hasUserRestrictionForUser(@NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isAdminUser();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isCloneProfile();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isGuestUser();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isManagedProfile(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isMediaSharedWithParent();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isPrimaryUser();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isProfile();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isRestrictedProfile(@NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public boolean isUserNameSet();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUserOfType(@NonNull String);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
+    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
+    field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
+    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
+    field public static final int RESTRICTION_NOT_SET = 0; // 0x0
+    field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
+    field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
+    field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
+    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
+    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
+    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
+    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
+    field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY";
+    field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM";
+    field public static final String USER_TYPE_PROFILE_CLONE = "android.os.usertype.profile.CLONE";
+    field public static final String USER_TYPE_PROFILE_MANAGED = "android.os.usertype.profile.MANAGED";
+    field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS";
+  }
+
+  public static final class UserManager.EnforcingUser implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.os.UserHandle getUserHandle();
+    method @android.os.UserManager.UserRestrictionSource public int getUserRestrictionSource();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
+  }
+
+  @IntDef(flag=true, prefix={"RESTRICTION_"}, value={android.os.UserManager.RESTRICTION_NOT_SET, android.os.UserManager.RESTRICTION_SOURCE_SYSTEM, android.os.UserManager.RESTRICTION_SOURCE_DEVICE_OWNER, android.os.UserManager.RESTRICTION_SOURCE_PROFILE_OWNER}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface UserManager.UserRestrictionSource {
+  }
+
+  public abstract class Vibrator {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
+  }
+
+  public static interface Vibrator.OnVibratorStateChangedListener {
+    method public void onVibratorStateChanged(boolean);
+  }
+
+  public class WorkSource implements android.os.Parcelable {
+    ctor public WorkSource(int);
+    ctor public WorkSource(int, @NonNull String);
+    method public android.os.WorkSource.WorkChain createWorkChain();
+    method @Nullable public String getPackageName(int);
+    method public int getUid(int);
+    method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains();
+    method public boolean isEmpty();
+    method public int size();
+    method @NonNull public android.os.WorkSource withoutNames();
+  }
+
+  public static final class WorkSource.WorkChain implements android.os.Parcelable {
+    ctor public WorkSource.WorkChain();
+    method public android.os.WorkSource.WorkChain addNode(int, @Nullable String);
+    method public int describeContents();
+    method public String getAttributionTag();
+    method public int getAttributionUid();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
+  }
+
+}
+
+package android.os.connectivity {
+
+  public final class CellularBatteryStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getEnergyConsumedMaMillis();
+    method public long getIdleTimeMillis();
+    method public long getKernelActiveTimeMillis();
+    method public long getLoggingDurationMillis();
+    method public long getMonitoredRailChargeConsumedMaMillis();
+    method public long getNumBytesRx();
+    method public long getNumBytesTx();
+    method public long getNumPacketsRx();
+    method public long getNumPacketsTx();
+    method public long getRxTimeMillis();
+    method public long getSleepTimeMillis();
+    method @NonNull public long getTimeInRatMicros(int);
+    method @NonNull public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR;
+  }
+
+  public final class WifiActivityEnergyInfo implements android.os.Parcelable {
+    ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long);
+    method public int describeContents();
+    method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules();
+    method @IntRange(from=0) public long getControllerIdleDurationMillis();
+    method @IntRange(from=0) public long getControllerRxDurationMillis();
+    method @IntRange(from=0) public long getControllerScanDurationMillis();
+    method @IntRange(from=0) public long getControllerTxDurationMillis();
+    method public int getStackState();
+    method public long getTimeSinceBootMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR;
+    field public static final int STACK_STATE_INVALID = 0; // 0x0
+    field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1
+    field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3
+    field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2
+  }
+
+  public final class WifiBatteryStats implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getAppScanRequestCount();
+    method public long getEnergyConsumedMaMillis();
+    method public long getIdleTimeMillis();
+    method public long getKernelActiveTimeMillis();
+    method public long getLoggingDurationMillis();
+    method public long getMonitoredRailChargeConsumedMaMillis();
+    method public long getNumBytesRx();
+    method public long getNumBytesTx();
+    method public long getNumPacketsRx();
+    method public long getNumPacketsTx();
+    method public long getRxTimeMillis();
+    method public long getScanTimeMillis();
+    method public long getSleepTimeMillis();
+    method public long getTxTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR;
+  }
+
+}
+
+package android.os.ext {
+
+  public class SdkExtensions {
+    method @NonNull public static java.util.Map<java.lang.Integer,java.lang.Integer> getAllExtensionVersions();
+    method public static int getExtensionVersion(int);
+  }
+
+}
+
+package android.os.image {
+
+  public class DynamicSystemClient {
+    ctor public DynamicSystemClient(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void bind();
+    method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
+    method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long, long);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void unbind();
+    field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6
+    field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4
+    field public static final int CAUSE_ERROR_IO = 3; // 0x3
+    field public static final int CAUSE_ERROR_IPC = 5; // 0x5
+    field public static final int CAUSE_INSTALL_CANCELLED = 2; // 0x2
+    field public static final int CAUSE_INSTALL_COMPLETED = 1; // 0x1
+    field public static final int CAUSE_NOT_SPECIFIED = 0; // 0x0
+    field public static final int STATUS_IN_PROGRESS = 2; // 0x2
+    field public static final int STATUS_IN_USE = 4; // 0x4
+    field public static final int STATUS_NOT_STARTED = 1; // 0x1
+    field public static final int STATUS_READY = 3; // 0x3
+    field public static final int STATUS_UNKNOWN = 0; // 0x0
+  }
+
+  public static interface DynamicSystemClient.OnStatusChangedListener {
+    method public void onStatusChanged(int, int, long, @Nullable Throwable);
+  }
+
+}
+
+package android.os.storage {
+
+  public class StorageManager {
+    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long, @RequiresPermission int) throws java.io.IOException;
+    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
+    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public int getExternalStorageMountMode(int, @NonNull String);
+    method public static boolean hasIsolatedStorage();
+    method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
+    field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
+    field public static final int MOUNT_MODE_EXTERNAL_ANDROID_WRITABLE = 4; // 0x4
+    field public static final int MOUNT_MODE_EXTERNAL_DEFAULT = 1; // 0x1
+    field public static final int MOUNT_MODE_EXTERNAL_INSTALLER = 2; // 0x2
+    field public static final int MOUNT_MODE_EXTERNAL_NONE = 0; // 0x0
+    field public static final int MOUNT_MODE_EXTERNAL_PASS_THROUGH = 3; // 0x3
+    field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
+    field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
+    field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
+    field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
+  }
+
+  public final class StorageVolume implements android.os.Parcelable {
+    method @NonNull public String getId();
+  }
+
+}
+
+package android.permission {
+
+  public final class AdminPermissionControlParams implements android.os.Parcelable {
+    method public boolean canAdminGrantSensorsPermissions();
+    method public int describeContents();
+    method public int getGrantState();
+    method @NonNull public String getGranteePackageName();
+    method @NonNull public String getPermission();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.permission.AdminPermissionControlParams> CREATOR;
+  }
+
+  public final class PermissionControllerManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void applyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public void getRuntimePermissionBackup(@NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<byte[]>);
+    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>, boolean, int, @NonNull java.util.concurrent.Executor, @NonNull android.permission.PermissionControllerManager.OnRevokeRuntimePermissionsCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
+    field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1
+    field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2
+    field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2
+    field public static final int REASON_MALWARE = 1; // 0x1
+  }
+
+  public abstract static class PermissionControllerManager.OnRevokeRuntimePermissionsCallback {
+    ctor public PermissionControllerManager.OnRevokeRuntimePermissionsCallback();
+    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
+  }
+
+  public abstract class PermissionControllerService extends android.app.Service {
+    ctor public PermissionControllerService();
+    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public String getPrivilegesDescriptionStringForProfile(@NonNull String);
+    method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @NonNull public final android.os.IBinder onBind(android.content.Intent);
+    method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer);
+    method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>);
+    method @BinderThread public void onGetGroupOfPlatformPermission(@NonNull String, @NonNull java.util.function.Consumer<java.lang.String>);
+    method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>);
+    method @BinderThread public void onGetPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
+    method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable);
+    method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable);
+    method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String);
+    method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
+    method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable);
+    method @BinderThread public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>, boolean, int, @NonNull String, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,java.util.List<java.lang.String>>>);
+    method @Deprecated @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @BinderThread public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull android.permission.AdminPermissionControlParams, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
+    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
+    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
+    field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
+  }
+
+  public final class PermissionManager {
+    method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
+    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
+    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();
+    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
+    method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
+  }
+
+  public static final class PermissionManager.SplitPermissionInfo {
+    method @NonNull public java.util.List<java.lang.String> getNewPermissions();
+    method @NonNull public String getSplitPermission();
+    method public int getTargetSdk();
+  }
+
+  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
+    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
+    method public int describeContents();
+    method @NonNull public CharSequence getLabel();
+    method public boolean isGranted();
+    method public boolean isStandard();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
+  }
+
+  public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
+    ctor public RuntimePermissionUsageInfo(@NonNull String, int);
+    method public int describeContents();
+    method public int getAppAccessCount();
+    method @NonNull public String getName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
+  }
+
+}
+
+package android.permissionpresenterservice {
+
+  @Deprecated public abstract class RuntimePermissionPresenterService extends android.app.Service {
+    ctor @Deprecated public RuntimePermissionPresenterService();
+    method @Deprecated public final void attachBaseContext(android.content.Context);
+    method @Deprecated public final android.os.IBinder onBind(android.content.Intent);
+    method @Deprecated public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
+    field @Deprecated public static final String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
+  }
+
+}
+
+package android.preference {
+
+  @Deprecated public class PreferenceManager {
+    method @Deprecated public boolean isStorageCredentialProtected();
+    method @Deprecated public void setStorageCredentialProtected();
+  }
+
+}
+
+package android.print {
+
+  public final class PrintManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void addPrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void addPrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener, @Nullable android.os.Handler);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public java.util.List<android.printservice.recommendation.RecommendationInfo> getPrintServiceRecommendations();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void removePrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener);
+    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void removePrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener);
+    field public static final int ENABLED_SERVICES = 1; // 0x1
+  }
+
+  public static interface PrintManager.PrintServiceRecommendationsChangeListener {
+    method public void onPrintServiceRecommendationsChanged();
+  }
+
+  public static interface PrintManager.PrintServicesChangeListener {
+    method public void onPrintServicesChanged();
+  }
+
+}
+
+package android.printservice {
+
+  public final class PrintServiceInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.ComponentName getComponentName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
+  }
+
+}
+
+package android.printservice.recommendation {
+
+  public final class RecommendationInfo implements android.os.Parcelable {
+    ctor public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @NonNull java.util.List<java.net.InetAddress>, boolean);
+    ctor @Deprecated public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @IntRange(from=0) int, boolean);
+    method public int describeContents();
+    method @NonNull public java.util.List<java.net.InetAddress> getDiscoveredPrinters();
+    method public CharSequence getName();
+    method public int getNumDiscoveredPrinters();
+    method public CharSequence getPackageName();
+    method public boolean recommendsMultiVendorService();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
+  }
+
+  public abstract class RecommendationService extends android.app.Service {
+    ctor public RecommendationService();
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public abstract void onConnected();
+    method public abstract void onDisconnected();
+    method public final void updateRecommendations(@Nullable java.util.List<android.printservice.recommendation.RecommendationInfo>);
+    field public static final String SERVICE_INTERFACE = "android.printservice.recommendation.RecommendationService";
+  }
+
+}
+
+package android.provider {
+
+  public class CallLog {
+    method @RequiresPermission(allOf={android.Manifest.permission.WRITE_CALL_LOG, android.Manifest.permission.INTERACT_ACROSS_USERS}) public static void storeCallComposerPicture(@NonNull android.content.Context, @NonNull java.io.InputStream, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.net.Uri,android.provider.CallLog.CallComposerLoggingException>);
+  }
+
+  public static class CallLog.CallComposerLoggingException extends java.lang.Throwable {
+    ctor public CallLog.CallComposerLoggingException(int);
+    method public int getErrorCode();
+    field public static final int ERROR_INPUT_CLOSED = 3; // 0x3
+    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
+    field public static final int ERROR_STORAGE_FULL = 2; // 0x2
+    field public static final int ERROR_UNKNOWN = 0; // 0x0
+  }
+
+  @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns {
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+    field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
+    field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI;
+  }
+
+  @Deprecated protected static interface ContactsContract.MetadataSyncColumns {
+    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
+    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
+    field @Deprecated public static final String DATA = "data";
+    field @Deprecated public static final String DATA_SET = "data_set";
+    field @Deprecated public static final String DELETED = "deleted";
+    field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
+  }
+
+  @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns {
+    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state";
+    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state";
+    field @Deprecated public static final android.net.Uri CONTENT_URI;
+  }
+
+  @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns {
+    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
+    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
+    field @Deprecated public static final String DATA_SET = "data_set";
+    field @Deprecated public static final String STATE = "state";
+  }
+
+  public static final class ContactsContract.SimContacts {
+    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
+    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
+  }
+
+  public final class DeviceConfig {
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
+    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperties(@NonNull android.provider.DeviceConfig.Properties) throws android.provider.DeviceConfig.BadConfigException;
+    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean);
+    field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
+    field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
+    field public static final String NAMESPACE_APPSEARCH = "appsearch";
+    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
+    field public static final String NAMESPACE_APP_HIBERNATION = "app_hibernation";
+    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
+    field public static final String NAMESPACE_AUTOFILL = "autofill";
+    field public static final String NAMESPACE_BATTERY_SAVER = "battery_saver";
+    field public static final String NAMESPACE_BIOMETRICS = "biometrics";
+    field public static final String NAMESPACE_BLOBSTORE = "blobstore";
+    field public static final String NAMESPACE_BLUETOOTH = "bluetooth";
+    field public static final String NAMESPACE_CLIPBOARD = "clipboard";
+    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
+    field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
+    field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot";
+    field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager";
+    field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
+    field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
+    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
+    field public static final String NAMESPACE_LOCATION = "location";
+    field public static final String NAMESPACE_MEDIA = "media";
+    field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
+    field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
+    field public static final String NAMESPACE_OTA = "ota";
+    field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service";
+    field public static final String NAMESPACE_PERMISSIONS = "permissions";
+    field public static final String NAMESPACE_PRIVACY = "privacy";
+    field public static final String NAMESPACE_PROFCOLLECT_NATIVE_BOOT = "profcollect_native_boot";
+    field public static final String NAMESPACE_REBOOT_READINESS = "reboot_readiness";
+    field public static final String NAMESPACE_ROLLBACK = "rollback";
+    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
+    field public static final String NAMESPACE_RUNTIME = "runtime";
+    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
+    field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
+    field public static final String NAMESPACE_SCHEDULER = "scheduler";
+    field public static final String NAMESPACE_STATSD_JAVA = "statsd_java";
+    field public static final String NAMESPACE_STATSD_JAVA_BOOT = "statsd_java_boot";
+    field public static final String NAMESPACE_STATSD_NATIVE = "statsd_native";
+    field public static final String NAMESPACE_STATSD_NATIVE_BOOT = "statsd_native_boot";
+    field @Deprecated public static final String NAMESPACE_STORAGE = "storage";
+    field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot";
+    field public static final String NAMESPACE_SYSTEMUI = "systemui";
+    field public static final String NAMESPACE_SYSTEM_TIME = "system_time";
+    field public static final String NAMESPACE_TELEPHONY = "telephony";
+    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
+    field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
+  }
+
+  public static class DeviceConfig.BadConfigException extends java.lang.Exception {
+    ctor public DeviceConfig.BadConfigException();
+  }
+
+  public static interface DeviceConfig.OnPropertiesChangedListener {
+    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
+  }
+
+  public static class DeviceConfig.Properties {
+    method public boolean getBoolean(@NonNull String, boolean);
+    method public float getFloat(@NonNull String, float);
+    method public int getInt(@NonNull String, int);
+    method @NonNull public java.util.Set<java.lang.String> getKeyset();
+    method public long getLong(@NonNull String, long);
+    method @NonNull public String getNamespace();
+    method @Nullable public String getString(@NonNull String, @Nullable String);
+  }
+
+  public static final class DeviceConfig.Properties.Builder {
+    ctor public DeviceConfig.Properties.Builder(@NonNull String);
+    method @NonNull public android.provider.DeviceConfig.Properties build();
+    method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean);
+    method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float);
+    method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int);
+    method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long);
+    method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String);
+  }
+
+  public final class DocumentsContract {
+    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
+    method public static boolean isManageMode(@NonNull android.net.Uri);
+    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
+    field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
+    field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
+    field public static final String DOWNLOADS_PROVIDER_AUTHORITY = "downloads";
+    field public static final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
+    field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
+  }
+
+  public static final class DocumentsContract.Root {
+    field public static final int FLAG_ADVANCED = 65536; // 0x10000
+    field public static final int FLAG_HAS_SETTINGS = 131072; // 0x20000
+    field public static final int FLAG_REMOVABLE_SD = 262144; // 0x40000
+    field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000
+  }
+
+  public final class MediaStore {
+    method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri);
+    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
+    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
+    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
+    field public static final String AUTHORITY_LEGACY = "media_legacy";
+    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
+    field public static final String QUERY_ARG_DEFER_SCAN = "android:query-arg-defer-scan";
+  }
+
+  public abstract class SearchIndexableData {
+    ctor public SearchIndexableData();
+    ctor public SearchIndexableData(android.content.Context);
+    field public String className;
+    field public android.content.Context context;
+    field public boolean enabled;
+    field public int iconResId;
+    field public String intentAction;
+    field public String intentTargetClass;
+    field public String intentTargetPackage;
+    field public String key;
+    field public java.util.Locale locale;
+    field public String packageName;
+    field public int rank;
+    field public int userId;
+  }
+
+  public class SearchIndexableResource extends android.provider.SearchIndexableData {
+    ctor public SearchIndexableResource(int, int, String, int);
+    ctor public SearchIndexableResource(android.content.Context);
+    field public int xmlResId;
+  }
+
+  public class SearchIndexablesContract {
+    ctor public SearchIndexablesContract();
+    field public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0; // 0x0
+    field public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7; // 0x7
+    field public static final int COLUMN_INDEX_RAW_ENTRIES = 4; // 0x4
+    field public static final int COLUMN_INDEX_RAW_ICON_RESID = 8; // 0x8
+    field public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9; // 0x9
+    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; // 0xb
+    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10; // 0xa
+    field public static final int COLUMN_INDEX_RAW_KEY = 12; // 0xc
+    field public static final int COLUMN_INDEX_RAW_KEYWORDS = 5; // 0x5
+    field public static final int COLUMN_INDEX_RAW_RANK = 0; // 0x0
+    field public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6; // 0x6
+    field public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3; // 0x3
+    field public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2; // 0x2
+    field public static final int COLUMN_INDEX_RAW_TITLE = 1; // 0x1
+    field public static final int COLUMN_INDEX_RAW_USER_ID = 13; // 0xd
+    field public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2; // 0x2
+    field public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3; // 0x3
+    field public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4; // 0x4
+    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6; // 0x6
+    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5
+    field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0
+    field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1
+    field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw";
+    field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw";
+    field public static final String INDEXABLES_RAW = "indexables_raw";
+    field public static final String[] INDEXABLES_RAW_COLUMNS;
+    field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw";
+    field public static final String INDEXABLES_XML_RES = "indexables_xml_res";
+    field public static final String[] INDEXABLES_XML_RES_COLUMNS;
+    field public static final String INDEXABLES_XML_RES_PATH = "settings/indexables_xml_res";
+    field public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
+    field public static final String[] NON_INDEXABLES_KEYS_COLUMNS;
+    field public static final String NON_INDEXABLES_KEYS_PATH = "settings/non_indexables_key";
+    field public static final String PROVIDER_INTERFACE = "android.content.action.SEARCH_INDEXABLES_PROVIDER";
+    field public static final String SLICE_URI_PAIRS = "slice_uri_pairs";
+    field @NonNull public static final String[] SLICE_URI_PAIRS_COLUMNS;
+    field public static final String SLICE_URI_PAIRS_PATH = "settings/slice_uri_pairs";
+  }
+
+  public static class SearchIndexablesContract.BaseColumns {
+    field public static final String COLUMN_CLASS_NAME = "className";
+    field public static final String COLUMN_ICON_RESID = "iconResId";
+    field public static final String COLUMN_INTENT_ACTION = "intentAction";
+    field public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
+    field public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
+    field public static final String COLUMN_RANK = "rank";
+  }
+
+  public static final class SearchIndexablesContract.NonIndexableKey extends android.provider.SearchIndexablesContract.BaseColumns {
+    field public static final String COLUMN_KEY_VALUE = "key";
+    field public static final String MIME_TYPE = "vnd.android.cursor.dir/non_indexables_key";
+  }
+
+  public static final class SearchIndexablesContract.RawData extends android.provider.SearchIndexablesContract.BaseColumns {
+    field public static final String COLUMN_ENTRIES = "entries";
+    field public static final String COLUMN_KEY = "key";
+    field public static final String COLUMN_KEYWORDS = "keywords";
+    field public static final String COLUMN_SCREEN_TITLE = "screenTitle";
+    field public static final String COLUMN_SUMMARY_OFF = "summaryOff";
+    field public static final String COLUMN_SUMMARY_ON = "summaryOn";
+    field public static final String COLUMN_TITLE = "title";
+    field public static final String COLUMN_USER_ID = "user_id";
+    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_raw";
+  }
+
+  public static final class SearchIndexablesContract.SliceUriPairColumns {
+    field public static final String KEY = "key";
+    field public static final String SLICE_URI = "slice_uri";
+  }
+
+  public static final class SearchIndexablesContract.XmlResource extends android.provider.SearchIndexablesContract.BaseColumns {
+    field public static final String COLUMN_XML_RESID = "xmlResId";
+    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_xml_res";
+  }
+
+  public abstract class SearchIndexablesProvider extends android.content.ContentProvider {
+    ctor public SearchIndexablesProvider();
+    method public final int delete(android.net.Uri, String, String[]);
+    method public String getType(android.net.Uri);
+    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
+    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
+    method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]);
+    method public abstract android.database.Cursor queryNonIndexableKeys(String[]);
+    method public abstract android.database.Cursor queryRawData(String[]);
+    method @Nullable public android.database.Cursor querySliceUriPairs();
+    method public abstract android.database.Cursor queryXmlResources(String[]);
+    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
+  }
+
+  public final class Settings {
+    method @Deprecated public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean);
+    method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, @Nullable String, boolean);
+    field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
+    field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS";
+    field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
+    field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
+    field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION";
+    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
+    field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS";
+    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS";
+    field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
+    field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
+    field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI";
+    field public static final String ACTION_TETHER_SETTINGS = "android.settings.TETHER_SETTINGS";
+  }
+
+  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
+    field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";
+    field public static final String APP_STANDBY_ENABLED = "app_standby_enabled";
+    field public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
+    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
+    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
+    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
+    field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
+    field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
+    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
+    field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries";
+    field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries";
+    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
+    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis";
+    field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update";
+    field public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
+    field public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled";
+    field public static final String TETHER_SUPPORTED = "tether_supported";
+    field public static final String THEATER_MODE_ON = "theater_mode_on";
+    field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess";
+    field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds";
+    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
+  }
+
+  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
+    field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled";
+    field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete";
+    field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
+    field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
+    field public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size";
+    field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size";
+    field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length";
+    field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length";
+    field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled";
+    field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category.";
+    field public static final String DOZE_ALWAYS_ON = "doze_always_on";
+    field public static final String HUSH_GESTURE_USED = "hush_gesture_used";
+    field public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled";
+    field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
+    field public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
+    field public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
+    field public static final int LOCATION_MODE_ON = 3; // 0x3
+    field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
+    field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
+    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
+    field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
+    field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
+    field public static final String UI_TRANSLATION_ENABLED = "ui_translation_enabled";
+    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
+    field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
+    field public static final int USER_SETUP_PERSONALIZATION_NOT_STARTED = 0; // 0x0
+    field public static final int USER_SETUP_PERSONALIZATION_PAUSED = 2; // 0x2
+    field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
+    field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
+    field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
+    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
+    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
+    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
+  }
+
+  public static final class Settings.System extends android.provider.Settings.NameValueTable {
+    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean);
+  }
+
+  public static final class SimPhonebookContract.SimRecords {
+    field public static final String QUERY_ARG_PIN2 = "android:query-arg-pin2";
+  }
+
+  public static final class Telephony.Carriers implements android.provider.BaseColumns {
+    field public static final String APN_SET_ID = "apn_set_id";
+    field public static final int CARRIER_EDITED = 4; // 0x4
+    field public static final String EDITED_STATUS = "edited";
+    field public static final int MATCH_ALL_APN_SET_ID = -1; // 0xffffffff
+    field public static final String MAX_CONNECTIONS = "max_conns";
+    field public static final String MODEM_PERSIST = "modem_cognitive";
+    field public static final String MTU = "mtu";
+    field public static final int NO_APN_SET_ID = 0; // 0x0
+    field public static final String TIME_LIMIT_FOR_MAX_CONNECTIONS = "max_conns_time";
+    field public static final int UNEDITED = 0; // 0x0
+    field public static final int USER_DELETED = 2; // 0x2
+    field public static final String USER_EDITABLE = "user_editable";
+    field public static final int USER_EDITED = 1; // 0x1
+    field public static final String USER_VISIBLE = "user_visible";
+    field public static final String WAIT_TIME_RETRY = "wait_time";
+  }
+
+  public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
+    field @NonNull public static final String AUTHORITY_LEGACY = "cellbroadcast-legacy";
+    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
+    field @NonNull public static final String CALL_METHOD_GET_PREFERENCE = "get_preference";
+    field public static final String CID = "cid";
+    field public static final String CMAS_CATEGORY = "cmas_category";
+    field public static final String CMAS_CERTAINTY = "cmas_certainty";
+    field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
+    field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
+    field public static final String CMAS_SEVERITY = "cmas_severity";
+    field public static final String CMAS_URGENCY = "cmas_urgency";
+    field @NonNull public static final android.net.Uri CONTENT_URI;
+    field public static final String DATA_CODING_SCHEME = "dcs";
+    field public static final String DEFAULT_SORT_ORDER = "date DESC";
+    field public static final String DELIVERY_TIME = "date";
+    field public static final String ETWS_IS_PRIMARY = "etws_is_primary";
+    field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
+    field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
+    field public static final String GEOMETRIES = "geometries";
+    field public static final String LAC = "lac";
+    field public static final String LANGUAGE_CODE = "language";
+    field public static final String LOCATION_CHECK_TIME = "location_check_time";
+    field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
+    field public static final String MESSAGE_BODY = "body";
+    field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
+    field public static final String MESSAGE_DISPLAYED = "message_displayed";
+    field public static final String MESSAGE_FORMAT = "format";
+    field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
+    field public static final String MESSAGE_PRIORITY = "priority";
+    field public static final String MESSAGE_READ = "read";
+    field public static final String PLMN = "plmn";
+    field public static final String RECEIVED_TIME = "received_time";
+    field public static final String SERIAL_NUMBER = "serial_number";
+    field public static final String SERVICE_CATEGORY = "service_category";
+    field public static final String SLOT_INDEX = "slot_index";
+    field public static final String SUBSCRIPTION_ID = "sub_id";
+  }
+
+  public static final class Telephony.CellBroadcasts.Preference {
+    field @NonNull public static final String ENABLE_ALERT_VIBRATION_PREF = "enable_alert_vibrate";
+    field @NonNull public static final String ENABLE_AREA_UPDATE_INFO_PREF = "enable_area_update_info_alerts";
+    field @NonNull public static final String ENABLE_CMAS_AMBER_PREF = "enable_cmas_amber_alerts";
+    field @NonNull public static final String ENABLE_CMAS_EXTREME_THREAT_PREF = "enable_cmas_extreme_threat_alerts";
+    field @NonNull public static final String ENABLE_CMAS_IN_SECOND_LANGUAGE_PREF = "receive_cmas_in_second_language";
+    field @NonNull public static final String ENABLE_CMAS_PRESIDENTIAL_PREF = "enable_cmas_presidential_alerts";
+    field @NonNull public static final String ENABLE_CMAS_SEVERE_THREAT_PREF = "enable_cmas_severe_threat_alerts";
+    field @NonNull public static final String ENABLE_EMERGENCY_PERF = "enable_emergency_alerts";
+    field @NonNull public static final String ENABLE_PUBLIC_SAFETY_PREF = "enable_public_safety_messages";
+    field @NonNull public static final String ENABLE_STATE_LOCAL_TEST_PREF = "enable_state_local_test_alerts";
+    field @NonNull public static final String ENABLE_TEST_ALERT_PREF = "enable_test_alerts";
+  }
+
+  public static final class Telephony.Sms.Intents {
+    field public static final String ACTION_SMS_EMERGENCY_CB_RECEIVED = "android.provider.action.SMS_EMERGENCY_CB_RECEIVED";
+  }
+
+  public final class TimeZoneRulesDataContract {
+    field public static final String AUTHORITY = "com.android.timezone";
+  }
+
+  public static final class TimeZoneRulesDataContract.Operation {
+    field public static final String COLUMN_DISTRO_MAJOR_VERSION = "distro_major_version";
+    field public static final String COLUMN_DISTRO_MINOR_VERSION = "distro_minor_version";
+    field public static final String COLUMN_REVISION = "revision";
+    field public static final String COLUMN_RULES_VERSION = "rules_version";
+    field public static final String COLUMN_TYPE = "type";
+    field public static final android.net.Uri CONTENT_URI;
+    field public static final String TYPE_INSTALL = "INSTALL";
+    field public static final String TYPE_NO_OP = "NOOP";
+    field public static final String TYPE_UNINSTALL = "UNINSTALL";
+  }
+
+}
+
+package android.scheduling {
+
+  public final class RebootReadinessManager {
+    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void addRequestRebootReadinessStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
+    method @RequiresPermission(android.Manifest.permission.REBOOT) public void cancelPendingReboot();
+    method @RequiresPermission(android.Manifest.permission.REBOOT) public boolean isReadyToReboot();
+    method @RequiresPermission(android.Manifest.permission.REBOOT) public void markRebootPending();
+    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void removeRequestRebootReadinessStatusListener(@NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
+    field public static final String ACTION_REBOOT_READY = "android.scheduling.action.REBOOT_READY";
+    field public static final String EXTRA_IS_READY_TO_REBOOT = "android.scheduling.extra.IS_READY_TO_REBOOT";
+  }
+
+  public static final class RebootReadinessManager.RebootReadinessStatus {
+    ctor public RebootReadinessManager.RebootReadinessStatus(boolean, long, @NonNull String);
+    method public long getEstimatedFinishTime();
+    method @NonNull public String getLogSubsystemName();
+    method public boolean isReadyToReboot();
+  }
+
+  public static interface RebootReadinessManager.RequestRebootReadinessStatusListener {
+    method @NonNull public android.scheduling.RebootReadinessManager.RebootReadinessStatus onRequestRebootReadinessStatus();
+  }
+
+}
+
+package android.se.omapi {
+
+  public final class Reader {
+    method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
+  }
+
+}
+
+package android.security {
+
+  public final class KeyChain {
+    method @Nullable @WorkerThread public static String getWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
+    method @WorkerThread public static boolean hasWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
+  }
+
+}
+
+package android.security.keystore {
+
+  public class AndroidKeyStoreProvider extends java.security.Provider {
+    method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
+  }
+
+  public abstract class AttestationUtils {
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static java.security.cert.X509Certificate[] attestDeviceIds(android.content.Context, @NonNull int[], @NonNull byte[]) throws android.security.keystore.DeviceIdAttestationException;
+    field public static final int ID_TYPE_IMEI = 2; // 0x2
+    field public static final int ID_TYPE_MEID = 3; // 0x3
+    field public static final int ID_TYPE_SERIAL = 1; // 0x1
+    field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4
+  }
+
+  public class DeviceIdAttestationException extends java.lang.Exception {
+    ctor public DeviceIdAttestationException(@Nullable String);
+    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
+  }
+
+  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
+    method @NonNull public int[] getAttestationIds();
+    method public int getNamespace();
+  }
+
+  public static final class KeyGenParameterSpec.Builder {
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationIds(@NonNull int[]);
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setNamespace(int);
+    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int);
+  }
+
+  public abstract class KeyProperties {
+    field public static final int NAMESPACE_APPLICATION = -1; // 0xffffffff
+    field public static final int NAMESPACE_WIFI = 102; // 0x66
+  }
+
+}
+
+package android.security.keystore.recovery {
+
+  public class DecryptionFailedException extends java.security.GeneralSecurityException {
+    ctor public DecryptionFailedException(String);
+  }
+
+  public class InternalRecoveryServiceException extends java.security.GeneralSecurityException {
+    ctor public InternalRecoveryServiceException(String);
+    ctor public InternalRecoveryServiceException(String, Throwable);
+  }
+
+  public final class KeyChainProtectionParams implements android.os.Parcelable {
+    method public void clearSecret();
+    method public int describeContents();
+    method @NonNull public android.security.keystore.recovery.KeyDerivationParams getKeyDerivationParams();
+    method public int getLockScreenUiFormat();
+    method @NonNull public byte[] getSecret();
+    method public int getUserSecretType();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
+    field public static final int TYPE_LOCKSCREEN = 100; // 0x64
+    field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
+    field public static final int UI_FORMAT_PATTERN = 3; // 0x3
+    field public static final int UI_FORMAT_PIN = 1; // 0x1
+  }
+
+  public static class KeyChainProtectionParams.Builder {
+    ctor public KeyChainProtectionParams.Builder();
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
+  }
+
+  public final class KeyChainSnapshot implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getCounterId();
+    method @NonNull public byte[] getEncryptedRecoveryKeyBlob();
+    method @NonNull public java.util.List<android.security.keystore.recovery.KeyChainProtectionParams> getKeyChainProtectionParams();
+    method public int getMaxAttempts();
+    method @NonNull public byte[] getServerParams();
+    method public int getSnapshotVersion();
+    method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
+    method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
+  }
+
+  public final class KeyDerivationParams implements android.os.Parcelable {
+    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createScryptParams(@NonNull byte[], int);
+    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createSha256Params(@NonNull byte[]);
+    method public int describeContents();
+    method public int getAlgorithm();
+    method public int getMemoryDifficulty();
+    method @NonNull public byte[] getSalt();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ALGORITHM_SCRYPT = 2; // 0x2
+    field public static final int ALGORITHM_SHA256 = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
+  }
+
+  public class LockScreenRequiredException extends java.security.GeneralSecurityException {
+    ctor public LockScreenRequiredException(String);
+  }
+
+  public class RecoveryController {
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.RecoverySession createRecoverySession();
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key generateKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key generateKey(@NonNull String, @Nullable byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.List<java.lang.String> getAliases() throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static android.security.keystore.recovery.RecoveryController getInstance(@NonNull android.content.Context);
+    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key getKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, java.security.UnrecoverableKeyException;
+    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.KeyChainSnapshot getKeyChainSnapshot() throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int[] getRecoverySecretTypes() throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int getRecoveryStatus(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.cert.X509Certificate> getRootCertificates();
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key importKey(@NonNull String, @NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key importKey(@NonNull String, @NonNull byte[], @Nullable byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void initRecoveryService(@NonNull String, @NonNull byte[], @NonNull byte[]) throws java.security.cert.CertificateException, android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static boolean isRecoverableKeyStoreEnabled(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void removeKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoverySecretTypes(@NonNull int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoveryStatus(@NonNull String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setServerParams(@NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setSnapshotCreatedPendingIntent(@Nullable android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
+    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
+    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
+    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
+  }
+
+  public class RecoverySession implements java.lang.AutoCloseable {
+    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void close();
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.Key> recoverKeyChainSnapshot(@NonNull byte[], @NonNull java.util.List<android.security.keystore.recovery.WrappedApplicationKey>) throws android.security.keystore.recovery.DecryptionFailedException, android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.SessionExpiredException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public byte[] start(@NonNull String, @NonNull java.security.cert.CertPath, @NonNull byte[], @NonNull byte[], @NonNull java.util.List<android.security.keystore.recovery.KeyChainProtectionParams>) throws java.security.cert.CertificateException, android.security.keystore.recovery.InternalRecoveryServiceException;
+  }
+
+  public class SessionExpiredException extends java.security.GeneralSecurityException {
+    ctor public SessionExpiredException(String);
+  }
+
+  public final class WrappedApplicationKey implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getAlias();
+    method @NonNull public byte[] getEncryptedKeyMaterial();
+    method @Nullable public byte[] getMetadata();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
+  }
+
+  public static class WrappedApplicationKey.Builder {
+    ctor public WrappedApplicationKey.Builder();
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
+  }
+
+}
+
+package android.service.appprediction {
+
+  public abstract class AppPredictionService extends android.app.Service {
+    ctor public AppPredictionService();
+    method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
+    method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
+    method @MainThread public abstract void onLaunchLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
+    method @MainThread public abstract void onRequestPredictionUpdate(@NonNull android.app.prediction.AppPredictionSessionId);
+    method @MainThread public abstract void onSortAppTargets(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<java.util.List<android.app.prediction.AppTarget>>);
+    method @MainThread public void onStartPredictionUpdates();
+    method @MainThread public void onStopPredictionUpdates();
+    method public final void updatePredictions(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>);
+  }
+
+}
+
+package android.service.attention {
+
+  public abstract class AttentionService extends android.app.Service {
+    ctor public AttentionService();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onCancelAttentionCheck(@NonNull android.service.attention.AttentionService.AttentionCallback);
+    method public abstract void onCheckAttention(@NonNull android.service.attention.AttentionService.AttentionCallback);
+    field public static final int ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT = 6; // 0x6
+    field public static final int ATTENTION_FAILURE_CANCELLED = 3; // 0x3
+    field public static final int ATTENTION_FAILURE_PREEMPTED = 4; // 0x4
+    field public static final int ATTENTION_FAILURE_TIMED_OUT = 5; // 0x5
+    field public static final int ATTENTION_FAILURE_UNKNOWN = 2; // 0x2
+    field public static final int ATTENTION_SUCCESS_ABSENT = 0; // 0x0
+    field public static final int ATTENTION_SUCCESS_PRESENT = 1; // 0x1
+    field public static final String SERVICE_INTERFACE = "android.service.attention.AttentionService";
+  }
+
+  public static final class AttentionService.AttentionCallback {
+    method public void onFailure(int);
+    method public void onSuccess(int, long);
+  }
+
+}
+
+package android.service.autofill {
+
+  public abstract class AutofillFieldClassificationService extends android.app.Service {
+    ctor public AutofillFieldClassificationService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public float[][] onCalculateScores(@NonNull java.util.List<android.view.autofill.AutofillValue>, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<java.lang.String>, @Nullable String, @Nullable android.os.Bundle, @Nullable java.util.Map, @Nullable java.util.Map);
+    method @Deprecated @Nullable public float[][] onGetScores(@Nullable String, @Nullable android.os.Bundle, @NonNull java.util.List<android.view.autofill.AutofillValue>, @NonNull java.util.List<java.lang.String>);
+    field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD";
+    field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE";
+    field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH";
+    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService";
+    field public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms";
+    field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm";
+  }
+
+  public static final class Dataset.Builder {
+    ctor public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation);
+    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
+    method @NonNull public android.service.autofill.Dataset.Builder setFieldInlinePresentation(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.service.autofill.InlinePresentation);
+  }
+
+  public abstract class InlineSuggestionRenderService extends android.app.Service {
+    ctor public InlineSuggestionRenderService();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo();
+    method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int);
+    method public final void startIntentSender(@NonNull android.content.IntentSender);
+    field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService";
+  }
+
+}
+
+package android.service.autofill.augmented {
+
+  public abstract class AugmentedAutofillService extends android.app.Service {
+    ctor public AugmentedAutofillService();
+    method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
+    method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
+    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
+    method public void onConnected();
+    method public void onDisconnected();
+    method public void onFillRequest(@NonNull android.service.autofill.augmented.FillRequest, @NonNull android.os.CancellationSignal, @NonNull android.service.autofill.augmented.FillController, @NonNull android.service.autofill.augmented.FillCallback);
+    method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId);
+    field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService";
+  }
+
+  public final class FillCallback {
+    method public void onSuccess(@Nullable android.service.autofill.augmented.FillResponse);
+  }
+
+  public final class FillController {
+    method public void autofill(@NonNull java.util.List<android.util.Pair<android.view.autofill.AutofillId,android.view.autofill.AutofillValue>>);
+  }
+
+  public final class FillRequest {
+    method @NonNull public android.content.ComponentName getActivityComponent();
+    method @NonNull public android.view.autofill.AutofillId getFocusedId();
+    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
+    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
+    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
+    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
+    method public int getTaskId();
+  }
+
+  public final class FillResponse {
+  }
+
+  public static final class FillResponse.Builder {
+    ctor public FillResponse.Builder();
+    method @NonNull public android.service.autofill.augmented.FillResponse build();
+    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle);
+    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
+    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>);
+  }
+
+  public final class FillWindow implements java.lang.AutoCloseable {
+    ctor public FillWindow();
+    method public void destroy();
+    method public boolean update(@NonNull android.service.autofill.augmented.PresentationParams.Area, @NonNull android.view.View, long);
+  }
+
+  public abstract class PresentationParams {
+    method @Nullable public android.service.autofill.augmented.PresentationParams.Area getSuggestionArea();
+  }
+
+  public abstract static class PresentationParams.Area {
+    method @NonNull public android.graphics.Rect getBounds();
+  }
+
+}
+
+package android.service.carrier {
+
+  public abstract class ApnService extends android.app.Service {
+    ctor public ApnService();
+    method @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
+    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
+  }
+
+  public final class CarrierMessagingServiceWrapper implements java.lang.AutoCloseable {
+    ctor public CarrierMessagingServiceWrapper();
+    method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
+    method public void disconnect();
+    method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+    method public void receiveSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+    method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+    method public void sendMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+    method public void sendMultipartTextSms(@NonNull java.util.List<java.lang.String>, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+    method public void sendTextSms(@NonNull String, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
+  }
+
+  public static interface CarrierMessagingServiceWrapper.CarrierMessagingCallback {
+    method public default void onDownloadMmsComplete(int);
+    method public default void onReceiveSmsComplete(int);
+    method public default void onSendMmsComplete(int, @Nullable byte[]);
+    method public default void onSendMultipartSmsComplete(int, @Nullable int[]);
+    method public default void onSendSmsComplete(int, int);
+  }
+
+}
+
+package android.service.contentcapture {
+
+  public final class ActivityEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.ComponentName getComponentName();
+    method public int getEventType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
+    field public static final int TYPE_ACTIVITY_DESTROYED = 24; // 0x18
+    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
+    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
+    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
+  }
+
+  public abstract class ContentCaptureService extends android.app.Service {
+    ctor public ContentCaptureService();
+    method public final void disableSelf();
+    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
+    method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
+    method public void onConnected();
+    method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
+    method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId);
+    method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest);
+    method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback);
+    method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
+    method public void onDisconnected();
+    method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>);
+    method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
+    field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
+    field public static final String SERVICE_META_DATA = "android.content_capture";
+  }
+
+  public interface DataShareCallback {
+    method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter);
+    method public void onReject();
+  }
+
+  public interface DataShareReadAdapter {
+    method public void onError(int);
+    method public void onStart(@NonNull android.os.ParcelFileDescriptor);
+  }
+
+  public final class SnapshotData implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.app.assist.AssistContent getAssistContent();
+    method @NonNull public android.os.Bundle getAssistData();
+    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
+  }
+
+}
+
+package android.service.contentsuggestions {
+
+  public abstract class ContentSuggestionsService extends android.app.Service {
+    ctor public ContentSuggestionsService();
+    method public abstract void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
+    method public abstract void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
+    method public abstract void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
+    method public abstract void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
+    field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
+  }
+
+}
+
+package android.service.dataloader {
+
+  public abstract class DataLoaderService extends android.app.Service {
+    ctor public DataLoaderService();
+    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams);
+  }
+
+  public static interface DataLoaderService.DataLoader {
+    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
+    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
+  }
+
+  public static final class DataLoaderService.FileSystemConnector {
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
+  }
+
+}
+
+package android.service.displayhash {
+
+  public final class DisplayHashParams implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.util.Size getBufferSize();
+    method public boolean isGrayscaleBuffer();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.displayhash.DisplayHashParams> CREATOR;
+  }
+
+  public static final class DisplayHashParams.Builder {
+    ctor public DisplayHashParams.Builder();
+    method @NonNull public android.service.displayhash.DisplayHashParams build();
+    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setBufferSize(int, int);
+    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setGrayscaleBuffer(boolean);
+  }
+
+  public abstract class DisplayHashingService extends android.app.Service {
+    ctor public DisplayHashingService();
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onGenerateDisplayHash(@NonNull byte[], @NonNull android.hardware.HardwareBuffer, @NonNull android.graphics.Rect, @NonNull String, @NonNull android.view.displayhash.DisplayHashResultCallback);
+    method @NonNull public abstract java.util.Map<java.lang.String,android.service.displayhash.DisplayHashParams> onGetDisplayHashAlgorithms();
+    method public abstract int onGetIntervalBetweenRequestsMillis();
+    method @Nullable public abstract android.view.displayhash.VerifiedDisplayHash onVerifyDisplayHash(@NonNull byte[], @NonNull android.view.displayhash.DisplayHash);
+    field public static final String SERVICE_INTERFACE = "android.service.displayhash.DisplayHashingService";
+  }
+
+}
+
+package android.service.euicc {
+
+  public final class DownloadSubscriptionResult implements android.os.Parcelable {
+    ctor public DownloadSubscriptionResult(int, int, int);
+    method public int describeContents();
+    method public int getCardId();
+    method public int getResolvableErrors();
+    method public int getResult();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
+  }
+
+  public final class EuiccProfileInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.service.carrier.CarrierIdentifier getCarrierIdentifier();
+    method public String getIccid();
+    method @Nullable public String getNickname();
+    method @android.service.euicc.EuiccProfileInfo.PolicyRule public int getPolicyRules();
+    method @android.service.euicc.EuiccProfileInfo.ProfileClass public int getProfileClass();
+    method public String getProfileName();
+    method public String getServiceProviderName();
+    method @android.service.euicc.EuiccProfileInfo.ProfileState public int getState();
+    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getUiccAccessRules();
+    method public boolean hasPolicyRule(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
+    method public boolean hasPolicyRules();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
+    field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
+    field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
+    field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
+    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
+    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
+    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
+    field public static final int PROFILE_STATE_DISABLED = 0; // 0x0
+    field public static final int PROFILE_STATE_ENABLED = 1; // 0x1
+  }
+
+  public static final class EuiccProfileInfo.Builder {
+    ctor public EuiccProfileInfo.Builder(String);
+    ctor public EuiccProfileInfo.Builder(android.service.euicc.EuiccProfileInfo);
+    method public android.service.euicc.EuiccProfileInfo build();
+    method public android.service.euicc.EuiccProfileInfo.Builder setCarrierIdentifier(android.service.carrier.CarrierIdentifier);
+    method public android.service.euicc.EuiccProfileInfo.Builder setIccid(String);
+    method public android.service.euicc.EuiccProfileInfo.Builder setNickname(String);
+    method public android.service.euicc.EuiccProfileInfo.Builder setPolicyRules(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
+    method public android.service.euicc.EuiccProfileInfo.Builder setProfileClass(@android.service.euicc.EuiccProfileInfo.ProfileClass int);
+    method public android.service.euicc.EuiccProfileInfo.Builder setProfileName(String);
+    method public android.service.euicc.EuiccProfileInfo.Builder setServiceProviderName(String);
+    method public android.service.euicc.EuiccProfileInfo.Builder setState(@android.service.euicc.EuiccProfileInfo.ProfileState int);
+    method public android.service.euicc.EuiccProfileInfo.Builder setUiccAccessRule(@Nullable java.util.List<android.telephony.UiccAccessRule>);
+  }
+
+  @IntDef(flag=true, prefix={"POLICY_RULE_"}, value={android.service.euicc.EuiccProfileInfo.POLICY_RULE_DO_NOT_DISABLE, android.service.euicc.EuiccProfileInfo.POLICY_RULE_DO_NOT_DELETE, android.service.euicc.EuiccProfileInfo.POLICY_RULE_DELETE_AFTER_DISABLING}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.PolicyRule {
+  }
+
+  @IntDef(prefix={"PROFILE_CLASS_"}, value={android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_TESTING, android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_PROVISIONING, android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_OPERATIONAL, 0xffffffff}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.ProfileClass {
+  }
+
+  @IntDef(prefix={"PROFILE_STATE_"}, value={android.service.euicc.EuiccProfileInfo.PROFILE_STATE_DISABLED, android.service.euicc.EuiccProfileInfo.PROFILE_STATE_ENABLED, 0xffffffff}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.ProfileState {
+  }
+
+  public abstract class EuiccService extends android.app.Service {
+    ctor public EuiccService();
+    method public void dump(@NonNull java.io.PrintWriter);
+    method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String);
+    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
+    method public abstract int onDeleteSubscription(int, String);
+    method public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle);
+    method @Deprecated public int onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean);
+    method @Deprecated public abstract int onEraseSubscriptions(int);
+    method public int onEraseSubscriptions(int, @android.telephony.euicc.EuiccCardManager.ResetOption int);
+    method public abstract android.service.euicc.GetDefaultDownloadableSubscriptionListResult onGetDefaultDownloadableSubscriptionList(int, boolean);
+    method public abstract android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, android.telephony.euicc.DownloadableSubscription, boolean);
+    method public abstract String onGetEid(int);
+    method @NonNull public abstract android.telephony.euicc.EuiccInfo onGetEuiccInfo(int);
+    method @NonNull public abstract android.service.euicc.GetEuiccProfileInfoListResult onGetEuiccProfileInfoList(int);
+    method @android.telephony.euicc.EuiccManager.OtaStatus public abstract int onGetOtaStatus(int);
+    method public abstract int onRetainSubscriptionsForFactoryReset(int);
+    method public abstract void onStartOtaIfNecessary(int, android.service.euicc.EuiccService.OtaStatusChangedCallback);
+    method public abstract int onSwitchToSubscription(int, @Nullable String, boolean);
+    method public abstract int onUpdateSubscriptionNickname(int, String, String);
+    field public static final String ACTION_BIND_CARRIER_PROVISIONING_SERVICE = "android.service.euicc.action.BIND_CARRIER_PROVISIONING_SERVICE";
+    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
+    field public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
+    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
+    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
+    field @Deprecated public static final String ACTION_RESOLVE_CONFIRMATION_CODE = "android.service.euicc.action.RESOLVE_CONFIRMATION_CODE";
+    field public static final String ACTION_RESOLVE_DEACTIVATE_SIM = "android.service.euicc.action.RESOLVE_DEACTIVATE_SIM";
+    field public static final String ACTION_RESOLVE_NO_PRIVILEGES = "android.service.euicc.action.RESOLVE_NO_PRIVILEGES";
+    field public static final String ACTION_RESOLVE_RESOLVABLE_ERRORS = "android.service.euicc.action.RESOLVE_RESOLVABLE_ERRORS";
+    field public static final String ACTION_START_CARRIER_ACTIVATION = "android.service.euicc.action.START_CARRIER_ACTIVATION";
+    field public static final String ACTION_START_EUICC_ACTIVATION = "android.service.euicc.action.START_EUICC_ACTIVATION";
+    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
+    field public static final String CATEGORY_EUICC_UI = "android.service.euicc.category.EUICC_UI";
+    field public static final String EUICC_SERVICE_INTERFACE = "android.service.euicc.EuiccService";
+    field public static final String EXTRA_RESOLUTION_ALLOW_POLICY_RULES = "android.service.euicc.extra.RESOLUTION_ALLOW_POLICY_RULES";
+    field public static final String EXTRA_RESOLUTION_CALLING_PACKAGE = "android.service.euicc.extra.RESOLUTION_CALLING_PACKAGE";
+    field public static final String EXTRA_RESOLUTION_CARD_ID = "android.service.euicc.extra.RESOLUTION_CARD_ID";
+    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE";
+    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE_RETRIED = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE_RETRIED";
+    field public static final String EXTRA_RESOLUTION_CONSENT = "android.service.euicc.extra.RESOLUTION_CONSENT";
+    field public static final String EXTRA_RESOLVABLE_ERRORS = "android.service.euicc.extra.RESOLVABLE_ERRORS";
+    field public static final int RESOLVABLE_ERROR_CONFIRMATION_CODE = 1; // 0x1
+    field public static final int RESOLVABLE_ERROR_POLICY_RULES = 2; // 0x2
+    field public static final int RESULT_FIRST_USER = 1; // 0x1
+    field public static final int RESULT_MUST_DEACTIVATE_SIM = -1; // 0xffffffff
+    field @Deprecated public static final int RESULT_NEED_CONFIRMATION_CODE = -2; // 0xfffffffe
+    field public static final int RESULT_OK = 0; // 0x0
+    field public static final int RESULT_RESOLVABLE_ERRORS = -2; // 0xfffffffe
+  }
+
+  public abstract static class EuiccService.OtaStatusChangedCallback {
+    ctor public EuiccService.OtaStatusChangedCallback();
+    method public abstract void onOtaStatusChanged(int);
+  }
+
+  public final class GetDefaultDownloadableSubscriptionListResult implements android.os.Parcelable {
+    ctor public GetDefaultDownloadableSubscriptionListResult(int, @Nullable android.telephony.euicc.DownloadableSubscription[]);
+    method public int describeContents();
+    method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
+    method public int getResult();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
+  }
+
+  public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
+    ctor public GetDownloadableSubscriptionMetadataResult(int, @Nullable android.telephony.euicc.DownloadableSubscription);
+    method public int describeContents();
+    method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
+    method public int getResult();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
+  }
+
+  public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
+    ctor public GetEuiccProfileInfoListResult(int, @Nullable android.service.euicc.EuiccProfileInfo[], boolean);
+    method public int describeContents();
+    method public boolean getIsRemovable();
+    method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
+    method public int getResult();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
+  }
+
+}
+
+package android.service.notification {
+
+  public final class Adjustment implements android.os.Parcelable {
+    ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
+    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
+    ctor protected Adjustment(android.os.Parcel);
+    method public int describeContents();
+    method @NonNull public CharSequence getExplanation();
+    method @NonNull public String getKey();
+    method @NonNull public String getPackage();
+    method @NonNull public android.os.Bundle getSignals();
+    method public int getUser();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
+    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
+    field public static final String KEY_IMPORTANCE = "key_importance";
+    field public static final String KEY_NOT_CONVERSATION = "key_not_conversation";
+    field public static final String KEY_PEOPLE = "key_people";
+    field public static final String KEY_RANKING_SCORE = "key_ranking_score";
+    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
+    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
+    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
+  }
+
+  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
+    ctor public NotificationAssistantService();
+    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
+    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
+    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
+    method public void onAllowedAdjustmentsChanged();
+    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
+    method public void onNotificationClicked(@NonNull String);
+    method public void onNotificationDirectReplied(@NonNull String);
+    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
+    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
+    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel, @NonNull android.service.notification.NotificationListenerService.RankingMap);
+    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
+    method public void onNotificationFeedbackReceived(@NonNull String, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.os.Bundle);
+    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
+    method public void onNotificationVisibilityChanged(@NonNull String, boolean);
+    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
+    method public void onPanelHidden();
+    method public void onPanelRevealed(int);
+    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
+    method public final void unsnoozeNotification(@NonNull String);
+    field public static final String FEEDBACK_RATING = "feedback.rating";
+    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
+    field public static final int SOURCE_FROM_APP = 0; // 0x0
+    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
+  }
+
+  public abstract class NotificationListenerService extends android.app.Service {
+    method public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
+  }
+
+  public final class NotificationStats implements android.os.Parcelable {
+    ctor public NotificationStats();
+    ctor protected NotificationStats(android.os.Parcel);
+    method public int describeContents();
+    method public int getDismissalSentiment();
+    method public int getDismissalSurface();
+    method public boolean hasDirectReplied();
+    method public boolean hasExpanded();
+    method public boolean hasInteracted();
+    method public boolean hasSeen();
+    method public boolean hasSnoozed();
+    method public boolean hasViewedSettings();
+    method public void setDirectReplied();
+    method public void setDismissalSentiment(int);
+    method public void setDismissalSurface(int);
+    method public void setExpanded();
+    method public void setSeen();
+    method public void setSnoozed();
+    method public void setViewedSettings();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
+    field public static final int DISMISSAL_AOD = 2; // 0x2
+    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
+    field public static final int DISMISSAL_OTHER = 0; // 0x0
+    field public static final int DISMISSAL_PEEK = 1; // 0x1
+    field public static final int DISMISSAL_SHADE = 3; // 0x3
+    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
+    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
+    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
+    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
+  }
+
+  public final class SnoozeCriterion implements android.os.Parcelable {
+    ctor public SnoozeCriterion(String, CharSequence, CharSequence);
+    ctor protected SnoozeCriterion(android.os.Parcel);
+    method public int describeContents();
+    method public CharSequence getConfirmation();
+    method public CharSequence getExplanation();
+    method public String getId();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
+  }
+
+}
+
+package android.service.oemlock {
+
+  public class OemLockManager {
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public String getLockName();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByCarrier();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByUser();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByCarrier(boolean, @Nullable byte[]);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByUser(boolean);
+  }
+
+}
+
+package android.service.persistentdata {
+
+  public class PersistentDataBlockManager {
+    method @RequiresPermission("android.permission.ACCESS_PDB_STATE") public int getDataBlockSize();
+    method @android.service.persistentdata.PersistentDataBlockManager.FlashLockState @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public int getFlashLockState();
+    method public long getMaximumDataBlockSize();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public boolean getOemUnlockEnabled();
+    method public byte[] read();
+    method @Deprecated @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void setOemUnlockEnabled(boolean);
+    method @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void wipe();
+    method public int write(byte[]);
+    field public static final int FLASH_LOCK_LOCKED = 1; // 0x1
+    field public static final int FLASH_LOCK_UNKNOWN = -1; // 0xffffffff
+    field public static final int FLASH_LOCK_UNLOCKED = 0; // 0x0
+  }
+
+  @IntDef(prefix={"FLASH_LOCK_"}, value={android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_UNKNOWN, android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_LOCKED, android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_UNLOCKED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PersistentDataBlockManager.FlashLockState {
+  }
+
+}
+
+package android.service.quicksettings {
+
+  public class TileService extends android.app.Service {
+    method public final void setStatusIcon(android.graphics.drawable.Icon, String);
+  }
+
+}
+
+package android.service.resolver {
+
+  public abstract class ResolverRankerService extends android.app.Service {
+    ctor public ResolverRankerService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public void onPredictSharingProbabilities(java.util.List<android.service.resolver.ResolverTarget>);
+    method public void onTrainRankingModel(java.util.List<android.service.resolver.ResolverTarget>, int);
+    field public static final String BIND_PERMISSION = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
+    field public static final String HOLD_PERMISSION = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
+    field public static final String SERVICE_INTERFACE = "android.service.resolver.ResolverRankerService";
+  }
+
+  public final class ResolverTarget implements android.os.Parcelable {
+    ctor public ResolverTarget();
+    method public int describeContents();
+    method public float getChooserScore();
+    method public float getLaunchScore();
+    method public float getRecencyScore();
+    method public float getSelectProbability();
+    method public float getTimeSpentScore();
+    method public void setChooserScore(float);
+    method public void setLaunchScore(float);
+    method public void setRecencyScore(float);
+    method public void setSelectProbability(float);
+    method public void setTimeSpentScore(float);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
+  }
+
+}
+
+package android.service.resumeonreboot {
+
+  public abstract class ResumeOnRebootService extends android.app.Service {
+    ctor public ResumeOnRebootService();
+    method @Nullable public android.os.IBinder onBind(@Nullable android.content.Intent);
+    method @NonNull public abstract byte[] onUnwrap(@NonNull byte[]) throws java.io.IOException;
+    method @NonNull public abstract byte[] onWrap(@NonNull byte[], long) throws java.io.IOException;
+    field public static final String SERVICE_INTERFACE = "android.service.resumeonreboot.ResumeOnRebootService";
+  }
+
+}
+
+package android.service.rotationresolver {
+
+  public final class RotationResolutionRequest implements android.os.Parcelable {
+    ctor public RotationResolutionRequest(@NonNull String, int, int, boolean, long);
+    method public int describeContents();
+    method public int getCurrentRotation();
+    method @NonNull public String getForegroundPackageName();
+    method public int getProposedRotation();
+    method public long getTimeoutMillis();
+    method public boolean shouldUseCamera();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.rotationresolver.RotationResolutionRequest> CREATOR;
+  }
+
+  public abstract class RotationResolverService extends android.app.Service {
+    ctor public RotationResolverService();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onResolveRotation(@NonNull android.service.rotationresolver.RotationResolutionRequest, @Nullable android.os.CancellationSignal, @NonNull android.service.rotationresolver.RotationResolverService.RotationResolverCallback);
+    field public static final int ROTATION_RESULT_FAILURE_CANCELLED = 0; // 0x0
+    field public static final int ROTATION_RESULT_FAILURE_NOT_SUPPORTED = 4; // 0x4
+    field public static final int ROTATION_RESULT_FAILURE_PREEMPTED = 2; // 0x2
+    field public static final int ROTATION_RESULT_FAILURE_TIMED_OUT = 1; // 0x1
+    field public static final int ROTATION_RESULT_FAILURE_UNKNOWN = 3; // 0x3
+    field public static final String SERVICE_INTERFACE = "android.service.rotationresolver.RotationResolverService";
+  }
+
+  public static interface RotationResolverService.RotationResolverCallback {
+    method public void onFailure(int);
+    method public void onSuccess(int);
+  }
+
+}
+
+package android.service.search {
+
+  public abstract class SearchUiService extends android.app.Service {
+    ctor public SearchUiService();
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method @MainThread public abstract void onDestroy(@NonNull android.app.search.SearchSessionId);
+    method @MainThread public abstract void onNotifyEvent(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
+    method @MainThread public abstract void onQuery(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull java.util.function.Consumer<java.util.List<android.app.search.SearchTarget>>);
+    method public void onSearchSessionCreated(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
+  }
+
+}
+
+package android.service.settings.suggestions {
+
+  public final class Suggestion implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getFlags();
+    method public android.graphics.drawable.Icon getIcon();
+    method public String getId();
+    method public android.app.PendingIntent getPendingIntent();
+    method public CharSequence getSummary();
+    method public CharSequence getTitle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
+    field public static final int FLAG_HAS_BUTTON = 1; // 0x1
+  }
+
+  public static class Suggestion.Builder {
+    ctor public Suggestion.Builder(String);
+    method public android.service.settings.suggestions.Suggestion build();
+    method public android.service.settings.suggestions.Suggestion.Builder setFlags(int);
+    method public android.service.settings.suggestions.Suggestion.Builder setIcon(android.graphics.drawable.Icon);
+    method public android.service.settings.suggestions.Suggestion.Builder setPendingIntent(android.app.PendingIntent);
+    method public android.service.settings.suggestions.Suggestion.Builder setSummary(CharSequence);
+    method public android.service.settings.suggestions.Suggestion.Builder setTitle(CharSequence);
+  }
+
+  public abstract class SuggestionService extends android.app.Service {
+    ctor public SuggestionService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public abstract java.util.List<android.service.settings.suggestions.Suggestion> onGetSuggestions();
+    method public abstract void onSuggestionDismissed(android.service.settings.suggestions.Suggestion);
+    method public abstract void onSuggestionLaunched(android.service.settings.suggestions.Suggestion);
+  }
+
+}
+
+package android.service.smartspace {
+
+  public abstract class SmartspaceService extends android.app.Service {
+    ctor public SmartspaceService();
+    method @MainThread public abstract void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull android.app.smartspace.SmartspaceTargetEvent);
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onCreateSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig, @NonNull android.app.smartspace.SmartspaceSessionId);
+    method @MainThread public abstract void onDestroy(@NonNull android.app.smartspace.SmartspaceSessionId);
+    method public abstract void onDestroySmartspaceSession(@NonNull android.app.smartspace.SmartspaceSessionId);
+    method @MainThread public abstract void onRequestSmartspaceUpdate(@NonNull android.app.smartspace.SmartspaceSessionId);
+    method public final void updateSmartspaceTargets(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
+  }
+
+}
+
+package android.service.storage {
+
+  public abstract class ExternalStorageService extends android.app.Service {
+    ctor public ExternalStorageService();
+    method public void onAnrDelayStarted(@NonNull String, int, int, int);
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onEndSession(@NonNull String) throws java.io.IOException;
+    method public void onFreeCache(@NonNull java.util.UUID, long) throws java.io.IOException;
+    method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException;
+    method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException;
+    field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2
+    field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1
+    field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService";
+  }
+
+}
+
+package android.service.textclassifier {
+
+  public abstract class TextClassifierService extends android.app.Service {
+    ctor public TextClassifierService();
+    method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
+    method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method @MainThread public abstract void onClassifyText(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassification.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextClassification>);
+    method public void onConnected();
+    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
+    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
+    method @MainThread public void onDetectLanguage(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLanguage.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLanguage>);
+    method public void onDisconnected();
+    method @MainThread public abstract void onGenerateLinks(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLinks.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLinks>);
+    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
+    method @MainThread public void onSuggestConversationActions(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.ConversationActions.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.ConversationActions>);
+    method @MainThread public abstract void onSuggestSelection(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextSelection.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextSelection>);
+    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
+    field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
+  }
+
+  public static interface TextClassifierService.Callback<T> {
+    method public void onFailure(@NonNull CharSequence);
+    method public void onSuccess(T);
+  }
+
+}
+
+package android.service.timezone {
+
+  public abstract class TimeZoneProviderService extends android.app.Service {
+    ctor public TimeZoneProviderService();
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onStartUpdates(long);
+    method public abstract void onStopUpdates();
+    method public final void reportPermanentFailure(@NonNull Throwable);
+    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion);
+    method public final void reportUncertain();
+    field public static final String PRIMARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.PrimaryLocationTimeZoneProviderService";
+    field public static final String SECONDARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.SecondaryLocationTimeZoneProviderService";
+  }
+
+  public final class TimeZoneProviderSuggestion implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getElapsedRealtimeMillis();
+    method @NonNull public java.util.List<java.lang.String> getTimeZoneIds();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderSuggestion> CREATOR;
+  }
+
+  public static final class TimeZoneProviderSuggestion.Builder {
+    ctor public TimeZoneProviderSuggestion.Builder();
+    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion build();
+    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setElapsedRealtimeMillis(long);
+    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setTimeZoneIds(@NonNull java.util.List<java.lang.String>);
+  }
+
+}
+
+package android.service.translation {
+
+  public abstract class TranslationService extends android.app.Service {
+    ctor public TranslationService();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public void onConnected();
+    method public abstract void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method public void onDisconnected();
+    method public abstract void onFinishTranslationSession(int);
+    method public abstract void onTranslationCapabilitiesRequest(int, int, @NonNull java.util.function.Consumer<java.util.Set<android.view.translation.TranslationCapability>>);
+    method public abstract void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
+    method public final void updateTranslationCapability(@NonNull android.view.translation.TranslationCapability);
+    field public static final String SERVICE_INTERFACE = "android.service.translation.TranslationService";
+    field public static final String SERVICE_META_DATA = "android.translation_service";
+  }
+
+}
+
+package android.service.trust {
+
+  public class TrustAgentService extends android.app.Service {
+    ctor public TrustAgentService();
+    method public final void addEscrowToken(byte[], android.os.UserHandle);
+    method @Deprecated public final void grantTrust(CharSequence, long, boolean);
+    method public final void grantTrust(CharSequence, long, int);
+    method public final void isEscrowTokenActive(long, android.os.UserHandle);
+    method public final android.os.IBinder onBind(android.content.Intent);
+    method public boolean onConfigure(java.util.List<android.os.PersistableBundle>);
+    method public void onDeviceLocked();
+    method public void onDeviceUnlockLockout(long);
+    method public void onDeviceUnlocked();
+    method public void onEscrowTokenAdded(byte[], long, android.os.UserHandle);
+    method public void onEscrowTokenRemoved(long, boolean);
+    method public void onEscrowTokenStateReceived(long, int);
+    method public void onTrustTimeout();
+    method public void onUnlockAttempt(boolean);
+    method public final void removeEscrowToken(long, android.os.UserHandle);
+    method public final void revokeTrust();
+    method public final void setManagingTrust(boolean);
+    method public final void showKeyguardErrorMessage(@NonNull CharSequence);
+    method public final void unlockUserWithToken(long, byte[], android.os.UserHandle);
+    field public static final int FLAG_GRANT_TRUST_DISMISS_KEYGUARD = 2; // 0x2
+    field public static final int FLAG_GRANT_TRUST_INITIATED_BY_USER = 1; // 0x1
+    field public static final String SERVICE_INTERFACE = "android.service.trust.TrustAgentService";
+    field public static final int TOKEN_STATE_ACTIVE = 1; // 0x1
+    field public static final int TOKEN_STATE_INACTIVE = 0; // 0x0
+    field public static final String TRUST_AGENT_META_DATA = "android.service.trust.trustagent";
+  }
+
+}
+
+package android.service.voice {
+
+  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
+    method @Nullable public android.content.Intent createEnrollIntent();
+    method @Nullable public android.content.Intent createReEnrollIntent();
+    method @Nullable public android.content.Intent createUnEnrollIntent();
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int getParameter(int);
+    method public int getSupportedAudioCapabilities();
+    method public int getSupportedRecognitionModes();
+    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public android.service.voice.AlwaysOnHotwordDetector.ModelParamRange queryParameter(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int setParameter(int, int);
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int);
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
+    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean stopRecognition();
+    method public final void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
+    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
+    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
+    field public static final int MODEL_PARAM_THRESHOLD_FACTOR = 0; // 0x0
+    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
+    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
+    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
+    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
+    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
+    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
+    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
+    field public static final int STATE_ERROR = 3; // 0x3
+    field public static final int STATE_HARDWARE_UNAVAILABLE = -2; // 0xfffffffe
+    field public static final int STATE_KEYPHRASE_ENROLLED = 2; // 0x2
+    field public static final int STATE_KEYPHRASE_UNENROLLED = 1; // 0x1
+    field @Deprecated public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff
+  }
+
+  public abstract static class AlwaysOnHotwordDetector.Callback implements android.service.voice.HotwordDetector.Callback {
+    ctor public AlwaysOnHotwordDetector.Callback();
+    method public abstract void onAvailabilityChanged(int);
+    method public void onHotwordDetectionServiceInitialized(int);
+    method public void onHotwordDetectionServiceRestarted();
+    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
+  }
+
+  public static class AlwaysOnHotwordDetector.EventPayload {
+    method @Nullable public android.os.ParcelFileDescriptor getAudioStream();
+    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
+    method @Nullable public android.service.voice.HotwordDetectedResult getHotwordDetectedResult();
+    method @Nullable public byte[] getTriggerAudio();
+  }
+
+  public static final class AlwaysOnHotwordDetector.ModelParamRange {
+    method public int getEnd();
+    method public int getStart();
+  }
+
+  public final class HotwordDetectedResult implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAudioChannel();
+    method public int getConfidenceLevel();
+    method @NonNull public android.os.PersistableBundle getExtras();
+    method public int getHotwordDurationMillis();
+    method public int getHotwordOffsetMillis();
+    method public int getHotwordPhraseId();
+    method public static int getMaxBundleSize();
+    method public static int getMaxHotwordPhraseId();
+    method public static int getMaxScore();
+    method @Nullable public android.media.MediaSyncEvent getMediaSyncEvent();
+    method public int getPersonalizedScore();
+    method public int getScore();
+    method public boolean isHotwordDetectionPersonalized();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int AUDIO_CHANNEL_UNSET = -1; // 0xffffffff
+    field public static final int CONFIDENCE_LEVEL_HIGH = 5; // 0x5
+    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
+    field public static final int CONFIDENCE_LEVEL_LOW_MEDIUM = 2; // 0x2
+    field public static final int CONFIDENCE_LEVEL_MEDIUM = 3; // 0x3
+    field public static final int CONFIDENCE_LEVEL_MEDIUM_HIGH = 4; // 0x4
+    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
+    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 6; // 0x6
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectedResult> CREATOR;
+    field public static final int HOTWORD_OFFSET_UNSET = -1; // 0xffffffff
+  }
+
+  public static final class HotwordDetectedResult.Builder {
+    ctor public HotwordDetectedResult.Builder();
+    method @NonNull public android.service.voice.HotwordDetectedResult build();
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioChannel(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setConfidenceLevel(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setExtras(@NonNull android.os.PersistableBundle);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDetectionPersonalized(boolean);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDurationMillis(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordOffsetMillis(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setMediaSyncEvent(@NonNull android.media.MediaSyncEvent);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setPersonalizedScore(int);
+    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setScore(int);
+  }
+
+  public abstract class HotwordDetectionService extends android.app.Service {
+    ctor public HotwordDetectionService();
+    method public static int getMaxCustomInitializationStatus();
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public void onDetect(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload, long, @NonNull android.service.voice.HotwordDetectionService.Callback);
+    method public void onDetect(@NonNull android.service.voice.HotwordDetectionService.Callback);
+    method public void onDetect(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle, @NonNull android.service.voice.HotwordDetectionService.Callback);
+    method public void onStopDetection();
+    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
+    field public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
+    field public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
+    field public static final String SERVICE_INTERFACE = "android.service.voice.HotwordDetectionService";
+  }
+
+  public static final class HotwordDetectionService.Callback {
+    method public void onDetected(@NonNull android.service.voice.HotwordDetectedResult);
+    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
+  }
+
+  public interface HotwordDetector {
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
+    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
+    method public boolean stopRecognition();
+    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
+  }
+
+  public static interface HotwordDetector.Callback {
+    method public void onDetected(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload);
+    method public void onError();
+    method public void onHotwordDetectionServiceInitialized(int);
+    method public void onHotwordDetectionServiceRestarted();
+    method public void onRecognitionPaused();
+    method public void onRecognitionResumed();
+    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
+  }
+
+  public final class HotwordRejectedResult implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getConfidenceLevel();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CONFIDENCE_LEVEL_HIGH = 3; // 0x3
+    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
+    field public static final int CONFIDENCE_LEVEL_MEDIUM = 2; // 0x2
+    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordRejectedResult> CREATOR;
+  }
+
+  public static final class HotwordRejectedResult.Builder {
+    ctor public HotwordRejectedResult.Builder();
+    method @NonNull public android.service.voice.HotwordRejectedResult build();
+    method @NonNull public android.service.voice.HotwordRejectedResult.Builder setConfidenceLevel(int);
+  }
+
+  public class VoiceInteractionService extends android.app.Service {
+    method @NonNull public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, android.service.voice.AlwaysOnHotwordDetector.Callback);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, @Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, android.service.voice.AlwaysOnHotwordDetector.Callback);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.HotwordDetector createHotwordDetector(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull android.service.voice.HotwordDetector.Callback);
+    method @NonNull @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
+  }
+
+}
+
+package android.service.wallpaper {
+
+  public class WallpaperService.Engine {
+    method public boolean isInAmbientMode();
+    method public void onAmbientModeChanged(boolean, long);
+  }
+
+}
+
+package android.service.watchdog {
+
+  public abstract class ExplicitHealthCheckService extends android.app.Service {
+    ctor public ExplicitHealthCheckService();
+    method public final void notifyHealthCheckPassed(@NonNull String);
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onCancelHealthCheck(@NonNull String);
+    method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages();
+    method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages();
+    method public abstract void onRequestHealthCheck(@NonNull String);
+    field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
+    field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService";
+  }
+
+  public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable {
+    ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long);
+    method public int describeContents();
+    method public long getHealthCheckTimeoutMillis();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR;
+  }
+
+}
+
+package android.telecom {
+
+  @Deprecated public class AudioState implements android.os.Parcelable {
+    ctor @Deprecated public AudioState(boolean, int, int);
+    ctor @Deprecated public AudioState(android.telecom.AudioState);
+    ctor @Deprecated public AudioState(android.telecom.CallAudioState);
+    method @Deprecated public static String audioRouteToString(int);
+    method @Deprecated public int describeContents();
+    method @Deprecated public int getRoute();
+    method @Deprecated public int getSupportedRouteMask();
+    method @Deprecated public boolean isMuted();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
+    field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
+    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
+    field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
+    field @Deprecated public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
+    field @Deprecated public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
+  }
+
+  public final class BluetoothCallQualityReport implements android.os.Parcelable {
+    method public int describeContents();
+    method @IntRange(from=0) public int getNegativeAcknowledgementCount();
+    method @IntRange(from=0) public int getPacketsNotReceivedCount();
+    method @IntRange(from=0) public int getRetransmittedPacketsCount();
+    method @IntRange(from=0xffffff81, to=20) public int getRssiDbm();
+    method public long getSentTimestampMillis();
+    method public int getSnrDb();
+    method public boolean isChoppyVoice();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.BluetoothCallQualityReport> CREATOR;
+    field public static final String EVENT_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.event.BLUETOOTH_CALL_QUALITY_REPORT";
+    field public static final String EXTRA_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.extra.BLUETOOTH_CALL_QUALITY_REPORT";
+  }
+
+  public static final class BluetoothCallQualityReport.Builder {
+    ctor public BluetoothCallQualityReport.Builder();
+    method @NonNull public android.telecom.BluetoothCallQualityReport build();
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setChoppyVoice(boolean);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setNegativeAcknowledgementCount(int);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setPacketsNotReceivedCount(int);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRetransmittedPacketsCount(int);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRssiDbm(int);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSentTimestampMillis(long);
+    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSnrDb(int);
+  }
+
+  public final class Call {
+    method @Deprecated public void addListener(android.telecom.Call.Listener);
+    method public void enterBackgroundAudioProcessing();
+    method public void exitBackgroundAudioProcessing(boolean);
+    method @Deprecated public void removeListener(android.telecom.Call.Listener);
+    field @Deprecated public static final int STATE_PRE_DIAL_WAIT = 8; // 0x8
+  }
+
+  @Deprecated public abstract static class Call.Listener extends android.telecom.Call.Callback {
+    ctor @Deprecated public Call.Listener();
+  }
+
+  public abstract class CallDiagnosticService extends android.app.Service {
+    ctor public CallDiagnosticService();
+    method @NonNull public java.util.concurrent.Executor getExecutor();
+    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
+    method public abstract void onBluetoothCallQualityReportReceived(@NonNull android.telecom.BluetoothCallQualityReport);
+    method public abstract void onCallAudioStateChanged(@NonNull android.telecom.CallAudioState);
+    method @NonNull public abstract android.telecom.CallDiagnostics onInitializeCallDiagnostics(@NonNull android.telecom.Call.Details);
+    method public abstract void onRemoveCallDiagnostics(@NonNull android.telecom.CallDiagnostics);
+    field public static final String SERVICE_INTERFACE = "android.telecom.CallDiagnosticService";
+  }
+
+  public abstract class CallDiagnostics {
+    ctor public CallDiagnostics();
+    method public final void clearDiagnosticMessage(int);
+    method public final void displayDiagnosticMessage(int, @NonNull CharSequence);
+    method public abstract void onCallDetailsChanged(@NonNull android.telecom.Call.Details);
+    method @Nullable public abstract CharSequence onCallDisconnected(int, int);
+    method @Nullable public abstract CharSequence onCallDisconnected(@NonNull android.telephony.ims.ImsReasonInfo);
+    method public abstract void onCallQualityReceived(@NonNull android.telephony.CallQuality);
+    method public abstract void onReceiveDeviceToDeviceMessage(int, int);
+    method public final void sendDeviceToDeviceMessage(int, int);
+    field public static final int BATTERY_STATE_CHARGING = 3; // 0x3
+    field public static final int BATTERY_STATE_GOOD = 2; // 0x2
+    field public static final int BATTERY_STATE_LOW = 1; // 0x1
+    field public static final int COVERAGE_GOOD = 2; // 0x2
+    field public static final int COVERAGE_POOR = 1; // 0x1
+    field public static final int MESSAGE_CALL_AUDIO_CODEC = 2; // 0x2
+    field public static final int MESSAGE_CALL_NETWORK_TYPE = 1; // 0x1
+    field public static final int MESSAGE_DEVICE_BATTERY_STATE = 3; // 0x3
+    field public static final int MESSAGE_DEVICE_NETWORK_COVERAGE = 4; // 0x4
+  }
+
+  public static class CallScreeningService.CallResponse.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean);
+  }
+
+  public abstract class Conference extends android.telecom.Conferenceable {
+    method @Deprecated public final android.telecom.AudioState getAudioState();
+    method @Deprecated public final long getConnectTimeMillis();
+    method public android.telecom.Connection getPrimaryConnection();
+    method @NonNull public final String getTelecomCallId();
+    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
+    method public final void setCallerDisplayName(@NonNull String, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
+    method @Deprecated public final void setConnectTimeMillis(long);
+  }
+
+  public abstract class Connection extends android.telecom.Conferenceable {
+    method @Deprecated public final android.telecom.AudioState getAudioState();
+    method @IntRange(from=0) public final long getConnectTimeMillis();
+    method public final long getConnectionStartElapsedRealtimeMillis();
+    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
+    method @Nullable public final String getTelecomCallId();
+    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
+    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
+    method public final void resetConnectionTime();
+    method public void setCallDirection(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
+    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
+    method public void setTelecomCallId(@NonNull String);
+    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
+    field public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 262144; // 0x40000
+    field public static final String EVENT_DEVICE_TO_DEVICE_MESSAGE = "android.telecom.event.DEVICE_TO_DEVICE_MESSAGE";
+    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_TYPE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_TYPE";
+    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_VALUE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_VALUE";
+    field public static final String EXTRA_DISABLE_ADD_CALL = "android.telecom.extra.DISABLE_ADD_CALL";
+    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 1; // 0x1
+    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
+    field public static final int PROPERTY_IS_DOWNGRADED_CONFERENCE = 64; // 0x40
+    field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
+  }
+
+  public static final class Connection.CallFilteringCompletionInfo implements android.os.Parcelable {
+    ctor public Connection.CallFilteringCompletionInfo(boolean, boolean, @Nullable android.telecom.CallScreeningService.CallResponse, @Nullable android.content.ComponentName);
+    method public int describeContents();
+    method @Nullable public android.telecom.CallScreeningService.CallResponse getCallResponse();
+    method @Nullable public android.content.ComponentName getCallScreeningComponent();
+    method public boolean isBlocked();
+    method public boolean isInContacts();
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.Connection.CallFilteringCompletionInfo> CREATOR;
+  }
+
+  public final class ConnectionRequest implements android.os.Parcelable {
+    method @Nullable public String getTelecomCallId();
+  }
+
+  public abstract class ConnectionService extends android.app.Service {
+    method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
+  }
+
+  public abstract class InCallService extends android.app.Service {
+    method @Deprecated public android.telecom.Phone getPhone();
+    method @Deprecated public void onPhoneCreated(android.telecom.Phone);
+    method @Deprecated public void onPhoneDestroyed(android.telecom.Phone);
+  }
+
+  public class ParcelableCallAnalytics implements android.os.Parcelable {
+    ctor public ParcelableCallAnalytics(long, long, int, boolean, boolean, int, int, boolean, String, boolean, java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent>, java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming>);
+    ctor public ParcelableCallAnalytics(android.os.Parcel);
+    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
+    method public int describeContents();
+    method public long getCallDurationMillis();
+    method public int getCallTechnologies();
+    method public int getCallTerminationCode();
+    method public int getCallType();
+    method public String getConnectionService();
+    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
+    method public long getStartTimeMillis();
+    method public boolean isAdditionalCall();
+    method public boolean isCreatedFromExistingConnection();
+    method public boolean isEmergencyCall();
+    method public boolean isInterrupted();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CALLTYPE_INCOMING = 1; // 0x1
+    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
+    field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
+    field public static final int CDMA_PHONE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
+    field public static final int GSM_PHONE = 2; // 0x2
+    field public static final int IMS_PHONE = 4; // 0x4
+    field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
+    field public static final long MILLIS_IN_5_MINUTES = 300000L; // 0x493e0L
+    field public static final int SIP_PHONE = 8; // 0x8
+    field public static final int STILL_CONNECTED = -1; // 0xffffffff
+    field public static final int THIRD_PARTY_PHONE = 16; // 0x10
+  }
+
+  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
+    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
+    method public int describeContents();
+    method public int getEventName();
+    method public long getTimeSinceLastEvent();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
+    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
+    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
+    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
+    field public static final int BIND_CS = 5; // 0x5
+    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
+    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
+    field public static final int CONFERENCE_WITH = 300; // 0x12c
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
+    field public static final int CS_BOUND = 6; // 0x6
+    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
+    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
+    field public static final int FILTERING_COMPLETED = 107; // 0x6b
+    field public static final int FILTERING_INITIATED = 106; // 0x6a
+    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
+    field public static final int MUTE = 202; // 0xca
+    field public static final int REMOTELY_HELD = 402; // 0x192
+    field public static final int REMOTELY_UNHELD = 403; // 0x193
+    field public static final int REQUEST_ACCEPT = 7; // 0x7
+    field public static final int REQUEST_HOLD = 400; // 0x190
+    field public static final int REQUEST_PULL = 500; // 0x1f4
+    field public static final int REQUEST_REJECT = 8; // 0x8
+    field public static final int REQUEST_UNHOLD = 401; // 0x191
+    field public static final int SCREENING_COMPLETED = 101; // 0x65
+    field public static final int SCREENING_SENT = 100; // 0x64
+    field public static final int SET_ACTIVE = 1; // 0x1
+    field public static final int SET_DIALING = 4; // 0x4
+    field public static final int SET_DISCONNECTED = 2; // 0x2
+    field public static final int SET_HOLD = 404; // 0x194
+    field public static final int SET_PARENT = 302; // 0x12e
+    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
+    field public static final int SILENCE = 201; // 0xc9
+    field public static final int SKIP_RINGING = 200; // 0xc8
+    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
+    field public static final int START_CONNECTION = 3; // 0x3
+    field public static final int SWAP = 405; // 0x195
+    field public static final int UNMUTE = 203; // 0xcb
+  }
+
+  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
+    ctor public ParcelableCallAnalytics.EventTiming(int, long);
+    method public int describeContents();
+    method public int getName();
+    method public long getTime();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACCEPT_TIMING = 0; // 0x0
+    field public static final int BIND_CS_TIMING = 6; // 0x6
+    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
+    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
+    field public static final int DISCONNECT_TIMING = 2; // 0x2
+    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
+    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
+    field public static final int HOLD_TIMING = 3; // 0x3
+    field public static final int INVALID = 999999; // 0xf423f
+    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
+    field public static final int REJECT_TIMING = 1; // 0x1
+    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
+    field public static final int UNHOLD_TIMING = 4; // 0x4
+  }
+
+  @Deprecated public final class Phone {
+    method @Deprecated public void addListener(android.telecom.Phone.Listener);
+    method @Deprecated public boolean canAddCall();
+    method @Deprecated public android.telecom.AudioState getAudioState();
+    method @Deprecated public android.telecom.CallAudioState getCallAudioState();
+    method @Deprecated public java.util.List<android.telecom.Call> getCalls();
+    method @Deprecated public void removeListener(android.telecom.Phone.Listener);
+    method @Deprecated public void requestBluetoothAudio(String);
+    method @Deprecated public void setAudioRoute(int);
+    method @Deprecated public void setMuted(boolean);
+  }
+
+  @Deprecated public abstract static class Phone.Listener {
+    ctor @Deprecated public Phone.Listener();
+    method @Deprecated public void onAudioStateChanged(android.telecom.Phone, android.telecom.AudioState);
+    method @Deprecated public void onBringToForeground(android.telecom.Phone, boolean);
+    method @Deprecated public void onCallAdded(android.telecom.Phone, android.telecom.Call);
+    method @Deprecated public void onCallAudioStateChanged(android.telecom.Phone, android.telecom.CallAudioState);
+    method @Deprecated public void onCallRemoved(android.telecom.Phone, android.telecom.Call);
+    method @Deprecated public void onCanAddCallChanged(android.telecom.Phone, boolean);
+    method @Deprecated public void onSilenceRinger(android.telecom.Phone);
+  }
+
+  public final class PhoneAccount implements android.os.Parcelable {
+    field public static final int CAPABILITY_EMERGENCY_CALLS_ONLY = 128; // 0x80
+    field public static final int CAPABILITY_EMERGENCY_PREFERRED = 8192; // 0x2000
+    field public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 512; // 0x200
+    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
+    field public static final String EXTRA_PLAY_CALL_RECORDING_TONE = "android.telecom.extra.PLAY_CALL_RECORDING_TONE";
+    field public static final String EXTRA_SORT_ORDER = "android.telecom.extra.SORT_ORDER";
+  }
+
+  public static class PhoneAccount.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
+  }
+
+  public class PhoneAccountSuggestionService extends android.app.Service {
+    ctor public PhoneAccountSuggestionService();
+    method public void onAccountSuggestionRequest(@NonNull String);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public final void suggestPhoneAccounts(@NonNull String, @NonNull java.util.List<android.telecom.PhoneAccountSuggestion>);
+    field public static final String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService";
+  }
+
+  public final class RemoteConference {
+    method @Deprecated public void setAudioState(android.telecom.AudioState);
+  }
+
+  public final class RemoteConnection {
+    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
+    method @Deprecated public void setAudioState(android.telecom.AudioState);
+  }
+
+  public final class StatusHints implements android.os.Parcelable {
+    ctor @Deprecated public StatusHints(android.content.ComponentName, CharSequence, int, android.os.Bundle);
+    method @Deprecated public android.graphics.drawable.Drawable getIcon(android.content.Context);
+    method @Deprecated public int getIconResId();
+    method @Deprecated public android.content.ComponentName getPackageName();
+  }
+
+  public final class TelecomAnalytics implements android.os.Parcelable {
+    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
+    method public int describeContents();
+    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
+    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
+  }
+
+  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
+    ctor public TelecomAnalytics.SessionTiming(int, long);
+    method public int describeContents();
+    method public Integer getKey();
+    method public long getTime();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
+    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
+    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
+    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
+    field public static final int CSW_SET_ACTIVE = 101; // 0x65
+    field public static final int CSW_SET_DIALING = 103; // 0x67
+    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
+    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
+    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
+    field public static final int CSW_SET_RINGING = 102; // 0x66
+    field public static final int ICA_ANSWER_CALL = 1; // 0x1
+    field public static final int ICA_CONFERENCE = 8; // 0x8
+    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
+    field public static final int ICA_HOLD_CALL = 4; // 0x4
+    field public static final int ICA_MUTE = 6; // 0x6
+    field public static final int ICA_REJECT_CALL = 2; // 0x2
+    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
+    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
+  }
+
+  public class TelecomManager {
+    method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
+    method @Deprecated public void clearAccounts();
+    method public void clearPhoneAccounts();
+    method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String);
+    method @RequiresPermission(android.Manifest.permission.DUMP) public android.telecom.TelecomAnalytics dumpAnalytics();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
+    method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
+    method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
+    method public int getAllPhoneAccountsCount();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}, conditional=true) public int getCallState();
+    method public android.telecom.PhoneAccountHandle getConnectionManager();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
+    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
+    method @Deprecated public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsSupportingScheme(String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
+    field public static final String ACTION_CURRENT_TTY_MODE_CHANGED = "android.telecom.action.CURRENT_TTY_MODE_CHANGED";
+    field public static final String ACTION_TTY_PREFERRED_MODE_CHANGED = "android.telecom.action.TTY_PREFERRED_MODE_CHANGED";
+    field public static final int CALL_SOURCE_EMERGENCY_DIALPAD = 1; // 0x1
+    field public static final int CALL_SOURCE_EMERGENCY_SHORTCUT = 2; // 0x2
+    field public static final int CALL_SOURCE_UNSPECIFIED = 0; // 0x0
+    field public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
+    field public static final String EXTRA_CALL_SOURCE = "android.telecom.extra.CALL_SOURCE";
+    field public static final String EXTRA_CALL_TECHNOLOGY_TYPE = "android.telecom.extra.CALL_TECHNOLOGY_TYPE";
+    field public static final String EXTRA_CLEAR_MISSED_CALLS_INTENT = "android.telecom.extra.CLEAR_MISSED_CALLS_INTENT";
+    field public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
+    field public static final String EXTRA_CURRENT_TTY_MODE = "android.telecom.extra.CURRENT_TTY_MODE";
+    field public static final String EXTRA_IS_USER_INTENT_EMERGENCY_CALL = "android.telecom.extra.IS_USER_INTENT_EMERGENCY_CALL";
+    field public static final String EXTRA_TTY_PREFERRED_MODE = "android.telecom.extra.TTY_PREFERRED_MODE";
+    field public static final String EXTRA_UNKNOWN_CALL_HANDLE = "android.telecom.extra.UNKNOWN_CALL_HANDLE";
+    field public static final int TTY_MODE_FULL = 1; // 0x1
+    field public static final int TTY_MODE_HCO = 2; // 0x2
+    field public static final int TTY_MODE_OFF = 0; // 0x0
+    field public static final int TTY_MODE_VCO = 3; // 0x3
+  }
+
+}
+
+package android.telephony {
+
+  public final class AccessNetworkConstants {
+    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
+  }
+
+  public static final class AccessNetworkConstants.NgranBands {
+    method public static int getFrequencyRangeGroup(int);
+    field public static final int FREQUENCY_RANGE_GROUP_1 = 1; // 0x1
+    field public static final int FREQUENCY_RANGE_GROUP_2 = 2; // 0x2
+    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
+  }
+
+  public final class BarringInfo implements android.os.Parcelable {
+    ctor public BarringInfo();
+    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
+  }
+
+  public final class CallAttributes implements android.os.Parcelable {
+    ctor public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
+    method public int describeContents();
+    method @NonNull public android.telephony.CallQuality getCallQuality();
+    method public int getNetworkType();
+    method @NonNull public android.telephony.PreciseCallState getPreciseCallState();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
+  }
+
+  public final class CallForwardingInfo implements android.os.Parcelable {
+    ctor public CallForwardingInfo(boolean, int, @Nullable String, int);
+    method public int describeContents();
+    method @Nullable public String getNumber();
+    method public int getReason();
+    method public int getTimeoutSeconds();
+    method public boolean isEnabled();
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallForwardingInfo> CREATOR;
+    field public static final int REASON_ALL = 4; // 0x4
+    field public static final int REASON_ALL_CONDITIONAL = 5; // 0x5
+    field public static final int REASON_BUSY = 1; // 0x1
+    field public static final int REASON_NOT_REACHABLE = 3; // 0x3
+    field public static final int REASON_NO_REPLY = 2; // 0x2
+    field public static final int REASON_UNCONDITIONAL = 0; // 0x0
+  }
+
+  public final class CallQuality implements android.os.Parcelable {
+    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
+    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
+    method public int describeContents();
+    method public int getAverageRelativeJitter();
+    method public int getAverageRoundTripTime();
+    method public int getCallDuration();
+    method public int getCodecType();
+    method public int getDownlinkCallQualityLevel();
+    method public int getMaxRelativeJitter();
+    method public int getNumRtpPacketsNotReceived();
+    method public int getNumRtpPacketsReceived();
+    method public int getNumRtpPacketsTransmitted();
+    method public int getNumRtpPacketsTransmittedLost();
+    method public int getUplinkCallQualityLevel();
+    method public boolean isIncomingSilenceDetectedAtCallSetup();
+    method public boolean isOutgoingSilenceDetectedAtCallSetup();
+    method public boolean isRtpInactivityDetected();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CALL_QUALITY_BAD = 4; // 0x4
+    field public static final int CALL_QUALITY_EXCELLENT = 0; // 0x0
+    field public static final int CALL_QUALITY_FAIR = 2; // 0x2
+    field public static final int CALL_QUALITY_GOOD = 1; // 0x1
+    field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
+    field public static final int CALL_QUALITY_POOR = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
+  }
+
+  public class CarrierConfigManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName();
+    method @NonNull public static android.os.PersistableBundle getDefaultConfig();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String);
+    field public static final int GBA_DIGEST = 3; // 0x3
+    field public static final int GBA_ME = 1; // 0x1
+    field public static final int GBA_U = 2; // 0x2
+    field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string";
+    field public static final String KEY_GBA_MODE_INT = "gba_mode_int";
+    field public static final String KEY_GBA_UA_SECURITY_ORGANIZATION_INT = "gba_ua_security_organization_int";
+    field public static final String KEY_GBA_UA_SECURITY_PROTOCOL_INT = "gba_ua_security_protocol_int";
+    field public static final String KEY_GBA_UA_TLS_CIPHER_SUITE_INT = "gba_ua_tls_cipher_suite_int";
+    field public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool";
+  }
+
+  public static final class CarrierConfigManager.Wifi {
+    field public static final String KEY_AVOID_5GHZ_SOFTAP_FOR_LAA_BOOL = "wifi.avoid_5ghz_softap_for_laa_bool";
+    field public static final String KEY_AVOID_5GHZ_WIFI_DIRECT_FOR_LAA_BOOL = "wifi.avoid_5ghz_wifi_direct_for_laa_bool";
+    field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count";
+    field public static final String KEY_PREFIX = "wifi.";
+    field public static final String KEY_SUGGESTION_SSID_LIST_WITH_MAC_RANDOMIZATION_DISABLED = "wifi.suggestion_ssid_list_with_mac_randomization_disabled";
+  }
+
+  public final class CarrierRestrictionRules implements android.os.Parcelable {
+    method @NonNull public java.util.List<java.lang.Boolean> areCarrierIdentifiersAllowed(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
+    method public int describeContents();
+    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers();
+    method public int getDefaultCarrierRestriction();
+    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getExcludedCarriers();
+    method public int getMultiSimPolicy();
+    method public boolean isAllCarriersAllowed();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
+    field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
+    field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
+    field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
+  }
+
+  public static final class CarrierRestrictionRules.Builder {
+    ctor public CarrierRestrictionRules.Builder();
+    method @NonNull public android.telephony.CarrierRestrictionRules build();
+    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllCarriersAllowed();
+    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllowedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
+    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setDefaultCarrierRestriction(int);
+    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setExcludedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
+    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
+  }
+
+  public class CbGeoUtils {
+  }
+
+  public static class CbGeoUtils.Circle implements android.telephony.CbGeoUtils.Geometry {
+    ctor public CbGeoUtils.Circle(@NonNull android.telephony.CbGeoUtils.LatLng, double);
+    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
+    method @NonNull public android.telephony.CbGeoUtils.LatLng getCenter();
+    method public double getRadius();
+  }
+
+  public static interface CbGeoUtils.Geometry {
+    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
+  }
+
+  public static class CbGeoUtils.LatLng {
+    ctor public CbGeoUtils.LatLng(double, double);
+    method public double distance(@NonNull android.telephony.CbGeoUtils.LatLng);
+    method @NonNull public android.telephony.CbGeoUtils.LatLng subtract(@NonNull android.telephony.CbGeoUtils.LatLng);
+    field public final double lat;
+    field public final double lng;
+  }
+
+  public static class CbGeoUtils.Polygon implements android.telephony.CbGeoUtils.Geometry {
+    ctor public CbGeoUtils.Polygon(@NonNull java.util.List<android.telephony.CbGeoUtils.LatLng>);
+    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
+    method @NonNull public java.util.List<android.telephony.CbGeoUtils.LatLng> getVertices();
+  }
+
+  public class CellBroadcastIntents {
+    method public static void sendSmsCbReceivedBroadcast(@NonNull android.content.Context, @Nullable android.os.UserHandle, @NonNull android.telephony.SmsCbMessage, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, int);
+    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
+  }
+
+  public abstract class CellBroadcastService extends android.app.Service {
+    ctor public CellBroadcastService();
+    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
+    method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
+    method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
+    method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
+    method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
+    field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
+  }
+
+  public abstract class CellIdentity implements android.os.Parcelable {
+    method @NonNull public abstract android.telephony.CellLocation asCellLocation();
+    method @NonNull public abstract android.telephony.CellIdentity sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityCdma extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.cdma.CdmaCellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityCdma sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityGsm extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityGsm sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityLte extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityLte sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityNr extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.CellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityNr sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityTdscdma sanitizeLocationInfo();
+  }
+
+  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
+    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
+    method @NonNull public android.telephony.CellIdentityWcdma sanitizeLocationInfo();
+  }
+
+  public final class DataFailCause {
+    field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be
+  }
+
+  public final class DataSpecificRegistrationInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Deprecated @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
+    method @Nullable public android.telephony.VopsSupportInfo getVopsSupportInfo();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationInfo> CREATOR;
+  }
+
+  public final class DataThrottlingRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getCompletionDurationMillis();
+    method public int getDataThrottlingAction();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataThrottlingRequest> CREATOR;
+    field public static final int DATA_THROTTLING_ACTION_HOLD = 3; // 0x3
+    field public static final int DATA_THROTTLING_ACTION_NO_DATA_THROTTLING = 0; // 0x0
+    field public static final int DATA_THROTTLING_ACTION_THROTTLE_PRIMARY_CARRIER = 2; // 0x2
+    field public static final int DATA_THROTTLING_ACTION_THROTTLE_SECONDARY_CARRIER = 1; // 0x1
+  }
+
+  public static final class DataThrottlingRequest.Builder {
+    ctor public DataThrottlingRequest.Builder();
+    method @NonNull public android.telephony.DataThrottlingRequest build();
+    method @NonNull public android.telephony.DataThrottlingRequest.Builder setCompletionDurationMillis(long);
+    method @NonNull public android.telephony.DataThrottlingRequest.Builder setDataThrottlingAction(int);
+  }
+
+  public final class ImsiEncryptionInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getKeyIdentifier();
+    method @Nullable public java.security.PublicKey getPublicKey();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
+  }
+
+  public final class LinkCapacityEstimate implements android.os.Parcelable {
+    ctor public LinkCapacityEstimate(int, int, int);
+    method public int describeContents();
+    method public int getDownlinkCapacityKbps();
+    method public int getType();
+    method public int getUplinkCapacityKbps();
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LinkCapacityEstimate> CREATOR;
+    field public static final int INVALID = -1; // 0xffffffff
+    field public static final int LCE_TYPE_COMBINED = 2; // 0x2
+    field public static final int LCE_TYPE_PRIMARY = 0; // 0x0
+    field public static final int LCE_TYPE_SECONDARY = 1; // 0x1
+  }
+
+  public final class LteVopsSupportInfo extends android.telephony.VopsSupportInfo {
+    ctor public LteVopsSupportInfo(int, int);
+    method public int getEmcBearerSupport();
+    method public int getVopsSupport();
+    method public boolean isEmergencyServiceFallbackSupported();
+    method public boolean isEmergencyServiceSupported();
+    method public boolean isVopsSupported();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
+    field @Deprecated public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
+    field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
+    field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
+  }
+
+  public class MbmsDownloadSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
+  }
+
+  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
+  }
+
+  public class MbmsStreamingSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
+  }
+
+  public final class ModemActivityInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo);
+    method public long getIdleTimeMillis();
+    method public static int getNumTxPowerLevels();
+    method public long getReceiveTimeMillis();
+    method public long getSleepTimeMillis();
+    method public long getTimestampMillis();
+    method public long getTransmitDurationMillisAtPowerLevel(int);
+    method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR;
+    field public static final int TX_POWER_LEVEL_0 = 0; // 0x0
+    field public static final int TX_POWER_LEVEL_1 = 1; // 0x1
+    field public static final int TX_POWER_LEVEL_2 = 2; // 0x2
+    field public static final int TX_POWER_LEVEL_3 = 3; // 0x3
+    field public static final int TX_POWER_LEVEL_4 = 4; // 0x4
+  }
+
+  public final class NetworkRegistrationInfo implements android.os.Parcelable {
+    method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo();
+    method public int getRegistrationState();
+    method public int getRejectCause();
+    method public int getRoamingType();
+    method public boolean isEmergencyEnabled();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
+    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
+    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
+    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
+    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
+    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
+  }
+
+  public static final class NetworkRegistrationInfo.Builder {
+    ctor public NetworkRegistrationInfo.Builder();
+    method @NonNull public android.telephony.NetworkRegistrationInfo build();
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
+  }
+
+  public abstract class NetworkService extends android.app.Service {
+    ctor public NetworkService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
+    field public static final String SERVICE_INTERFACE = "android.telephony.NetworkService";
+  }
+
+  public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
+    ctor public NetworkService.NetworkServiceProvider(int);
+    method public abstract void close();
+    method public final int getSlotIndex();
+    method public final void notifyNetworkRegistrationInfoChanged();
+    method public void requestNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
+  }
+
+  public class NetworkServiceCallback {
+    method public void onRequestNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
+    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
+    field public static final int RESULT_ERROR_FAILED = 5; // 0x5
+    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
+    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
+    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+  public final class NrVopsSupportInfo extends android.telephony.VopsSupportInfo {
+    ctor public NrVopsSupportInfo(int, int, int);
+    method public int getEmcSupport();
+    method public int getEmfSupport();
+    method public int getVopsSupport();
+    method public boolean isEmergencyServiceFallbackSupported();
+    method public boolean isEmergencyServiceSupported();
+    method public boolean isVopsSupported();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NrVopsSupportInfo> CREATOR;
+    field public static final int NR_STATUS_EMC_5GCN_ONLY = 1; // 0x1
+    field public static final int NR_STATUS_EMC_EUTRA_5GCN_ONLY = 2; // 0x2
+    field public static final int NR_STATUS_EMC_NOT_SUPPORTED = 0; // 0x0
+    field public static final int NR_STATUS_EMC_NR_EUTRA_5GCN = 3; // 0x3
+    field public static final int NR_STATUS_EMF_5GCN_ONLY = 1; // 0x1
+    field public static final int NR_STATUS_EMF_EUTRA_5GCN_ONLY = 2; // 0x2
+    field public static final int NR_STATUS_EMF_NOT_SUPPORTED = 0; // 0x0
+    field public static final int NR_STATUS_EMF_NR_EUTRA_5GCN = 3; // 0x3
+    field public static final int NR_STATUS_VOPS_3GPP_SUPPORTED = 1; // 0x1
+    field public static final int NR_STATUS_VOPS_NON_3GPP_SUPPORTED = 2; // 0x2
+    field public static final int NR_STATUS_VOPS_NOT_SUPPORTED = 0; // 0x0
+  }
+
+  public interface NumberVerificationCallback {
+    method public default void onCallReceived(@NonNull String);
+    method public default void onVerificationFailed(int);
+    field public static final int REASON_CONCURRENT_REQUESTS = 4; // 0x4
+    field public static final int REASON_IN_ECBM = 5; // 0x5
+    field public static final int REASON_IN_EMERGENCY_CALL = 6; // 0x6
+    field public static final int REASON_NETWORK_NOT_AVAILABLE = 2; // 0x2
+    field public static final int REASON_TIMED_OUT = 1; // 0x1
+    field public static final int REASON_TOO_MANY_CALLS = 3; // 0x3
+    field public static final int REASON_UNSPECIFIED = 0; // 0x0
+  }
+
+  public final class PhoneCapability implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public int[] getDeviceNrCapabilities();
+    method @IntRange(from=1) public int getMaxActiveDataSubscriptions();
+    method @IntRange(from=1) public int getMaxActiveVoiceSubscriptions();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
+    field public static final int DEVICE_NR_CAPABILITY_NSA = 1; // 0x1
+    field public static final int DEVICE_NR_CAPABILITY_SA = 2; // 0x2
+  }
+
+  public final class PhoneNumberRange implements android.os.Parcelable {
+    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
+    method public int describeContents();
+    method public boolean matches(@NonNull String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
+  }
+
+  public class PhoneNumberUtils {
+    method @NonNull public static String getUsernameFromUriNumber(@NonNull String);
+    method public static boolean isUriNumber(@Nullable String);
+    method public static boolean isVoiceMailNumber(@NonNull android.content.Context, int, @Nullable String);
+  }
+
+  @Deprecated public class PhoneStateListener {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
+    method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_ATTRIBUTES_CHANGED = 67108864; // 0x4000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
+  }
+
+  public final class PinResult implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getAttemptsRemaining();
+    method public int getResult();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PinResult> CREATOR;
+    field public static final int PIN_RESULT_TYPE_ABORTED = 3; // 0x3
+    field public static final int PIN_RESULT_TYPE_FAILURE = 2; // 0x2
+    field public static final int PIN_RESULT_TYPE_INCORRECT = 1; // 0x1
+    field public static final int PIN_RESULT_TYPE_SUCCESS = 0; // 0x0
+  }
+
+  public final class PreciseCallState implements android.os.Parcelable {
+    ctor public PreciseCallState(int, int, int, int, int);
+    method public int describeContents();
+    method public int getBackgroundCallState();
+    method public int getForegroundCallState();
+    method public int getRingingCallState();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
+    field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
+    field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
+    field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
+    field public static final int PRECISE_CALL_STATE_DISCONNECTED = 7; // 0x7
+    field public static final int PRECISE_CALL_STATE_DISCONNECTING = 8; // 0x8
+    field public static final int PRECISE_CALL_STATE_HOLDING = 2; // 0x2
+    field public static final int PRECISE_CALL_STATE_IDLE = 0; // 0x0
+    field public static final int PRECISE_CALL_STATE_INCOMING = 5; // 0x5
+    field public static final int PRECISE_CALL_STATE_NOT_VALID = -1; // 0xffffffff
+    field public static final int PRECISE_CALL_STATE_WAITING = 6; // 0x6
+  }
+
+  public final class PreciseDataConnectionState implements android.os.Parcelable {
+    method @Deprecated @NonNull public String getDataConnectionApn();
+    method @Deprecated public int getDataConnectionApnTypeBitMask();
+    method @Deprecated public int getDataConnectionFailCause();
+    method @Deprecated public int getDataConnectionState();
+  }
+
+  public final class PreciseDisconnectCause {
+    field public static final int ACCESS_CLASS_BLOCKED = 260; // 0x104
+    field public static final int ACCESS_INFORMATION_DISCARDED = 43; // 0x2b
+    field public static final int ACM_LIMIT_EXCEEDED = 68; // 0x44
+    field public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; // 0x39
+    field public static final int BEARER_NOT_AVAIL = 58; // 0x3a
+    field public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; // 0x41
+    field public static final int BUSY = 17; // 0x11
+    field public static final int CALL_BARRED = 240; // 0xf0
+    field public static final int CALL_REJECTED = 21; // 0x15
+    field public static final int CDMA_ACCESS_BLOCKED = 1009; // 0x3f1
+    field public static final int CDMA_ACCESS_FAILURE = 1006; // 0x3ee
+    field public static final int CDMA_DROP = 1001; // 0x3e9
+    field public static final int CDMA_INTERCEPT = 1002; // 0x3ea
+    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; // 0x3e8
+    field public static final int CDMA_NOT_EMERGENCY = 1008; // 0x3f0
+    field public static final int CDMA_PREEMPTED = 1007; // 0x3ef
+    field public static final int CDMA_REORDER = 1003; // 0x3eb
+    field public static final int CDMA_RETRY_ORDER = 1005; // 0x3ed
+    field public static final int CDMA_SO_REJECT = 1004; // 0x3ec
+    field public static final int CHANNEL_NOT_AVAIL = 44; // 0x2c
+    field public static final int CHANNEL_UNACCEPTABLE = 6; // 0x6
+    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
+    field public static final int DESTINATION_OUT_OF_ORDER = 27; // 0x1b
+    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
+    field public static final int FACILITY_REJECTED = 29; // 0x1d
+    field public static final int FDN_BLOCKED = 241; // 0xf1
+    field public static final int IMEI_NOT_ACCEPTED = 243; // 0xf3
+    field public static final int IMSI_UNKNOWN_IN_VLR = 242; // 0xf2
+    field public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; // 0x37
+    field public static final int INCOMPATIBLE_DESTINATION = 88; // 0x58
+    field public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; // 0x63
+    field public static final int INTERWORKING_UNSPECIFIED = 127; // 0x7f
+    field public static final int INVALID_MANDATORY_INFORMATION = 96; // 0x60
+    field public static final int INVALID_NUMBER_FORMAT = 28; // 0x1c
+    field public static final int INVALID_TRANSACTION_IDENTIFIER = 81; // 0x51
+    field public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; // 0x65
+    field public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; // 0x61
+    field public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; // 0x62
+    field public static final int NETWORK_DETACH = 261; // 0x105
+    field public static final int NETWORK_OUT_OF_ORDER = 38; // 0x26
+    field public static final int NETWORK_REJECT = 252; // 0xfc
+    field public static final int NETWORK_RESP_TIMEOUT = 251; // 0xfb
+    field public static final int NORMAL = 16; // 0x10
+    field public static final int NORMAL_UNSPECIFIED = 31; // 0x1f
+    field public static final int NOT_VALID = -1; // 0xffffffff
+    field public static final int NO_ANSWER_FROM_USER = 19; // 0x13
+    field public static final int NO_CIRCUIT_AVAIL = 34; // 0x22
+    field public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; // 0x0
+    field public static final int NO_ROUTE_TO_DESTINATION = 3; // 0x3
+    field public static final int NO_USER_RESPONDING = 18; // 0x12
+    field public static final int NO_VALID_SIM = 249; // 0xf9
+    field public static final int NUMBER_CHANGED = 22; // 0x16
+    field public static final int OEM_CAUSE_1 = 61441; // 0xf001
+    field public static final int OEM_CAUSE_10 = 61450; // 0xf00a
+    field public static final int OEM_CAUSE_11 = 61451; // 0xf00b
+    field public static final int OEM_CAUSE_12 = 61452; // 0xf00c
+    field public static final int OEM_CAUSE_13 = 61453; // 0xf00d
+    field public static final int OEM_CAUSE_14 = 61454; // 0xf00e
+    field public static final int OEM_CAUSE_15 = 61455; // 0xf00f
+    field public static final int OEM_CAUSE_2 = 61442; // 0xf002
+    field public static final int OEM_CAUSE_3 = 61443; // 0xf003
+    field public static final int OEM_CAUSE_4 = 61444; // 0xf004
+    field public static final int OEM_CAUSE_5 = 61445; // 0xf005
+    field public static final int OEM_CAUSE_6 = 61446; // 0xf006
+    field public static final int OEM_CAUSE_7 = 61447; // 0xf007
+    field public static final int OEM_CAUSE_8 = 61448; // 0xf008
+    field public static final int OEM_CAUSE_9 = 61449; // 0xf009
+    field public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; // 0x46
+    field public static final int OPERATOR_DETERMINED_BARRING = 8; // 0x8
+    field public static final int OUT_OF_SRV = 248; // 0xf8
+    field public static final int PREEMPTION = 25; // 0x19
+    field public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; // 0x6f
+    field public static final int QOS_NOT_AVAIL = 49; // 0x31
+    field public static final int RADIO_ACCESS_FAILURE = 253; // 0xfd
+    field public static final int RADIO_INTERNAL_ERROR = 250; // 0xfa
+    field public static final int RADIO_LINK_FAILURE = 254; // 0xfe
+    field public static final int RADIO_LINK_LOST = 255; // 0xff
+    field public static final int RADIO_OFF = 247; // 0xf7
+    field public static final int RADIO_RELEASE_ABNORMAL = 259; // 0x103
+    field public static final int RADIO_RELEASE_NORMAL = 258; // 0x102
+    field public static final int RADIO_SETUP_FAILURE = 257; // 0x101
+    field public static final int RADIO_UPLINK_FAILURE = 256; // 0x100
+    field public static final int RECOVERY_ON_TIMER_EXPIRED = 102; // 0x66
+    field public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; // 0x45
+    field public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; // 0x32
+    field public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; // 0x2f
+    field public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; // 0x5f
+    field public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; // 0x3f
+    field public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; // 0x4f
+    field public static final int STATUS_ENQUIRY = 30; // 0x1e
+    field public static final int SWITCHING_CONGESTION = 42; // 0x2a
+    field public static final int TEMPORARY_FAILURE = 41; // 0x29
+    field public static final int UNOBTAINABLE_NUMBER = 1; // 0x1
+    field public static final int USER_NOT_MEMBER_OF_CUG = 87; // 0x57
+  }
+
+  public class ServiceState implements android.os.Parcelable {
+    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
+    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
+    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
+    field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
+    field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
+    field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
+    field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
+  }
+
+  public final class SmsCbCmasInfo implements android.os.Parcelable {
+    ctor public SmsCbCmasInfo(int, int, int, int, int, int);
+    method public int describeContents();
+    method public int getCategory();
+    method public int getCertainty();
+    method public int getMessageClass();
+    method public int getResponseType();
+    method public int getSeverity();
+    method public int getUrgency();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CMAS_CATEGORY_CBRNE = 10; // 0xa
+    field public static final int CMAS_CATEGORY_ENV = 7; // 0x7
+    field public static final int CMAS_CATEGORY_FIRE = 5; // 0x5
+    field public static final int CMAS_CATEGORY_GEO = 0; // 0x0
+    field public static final int CMAS_CATEGORY_HEALTH = 6; // 0x6
+    field public static final int CMAS_CATEGORY_INFRA = 9; // 0x9
+    field public static final int CMAS_CATEGORY_MET = 1; // 0x1
+    field public static final int CMAS_CATEGORY_OTHER = 11; // 0xb
+    field public static final int CMAS_CATEGORY_RESCUE = 4; // 0x4
+    field public static final int CMAS_CATEGORY_SAFETY = 2; // 0x2
+    field public static final int CMAS_CATEGORY_SECURITY = 3; // 0x3
+    field public static final int CMAS_CATEGORY_TRANSPORT = 8; // 0x8
+    field public static final int CMAS_CATEGORY_UNKNOWN = -1; // 0xffffffff
+    field public static final int CMAS_CERTAINTY_LIKELY = 1; // 0x1
+    field public static final int CMAS_CERTAINTY_OBSERVED = 0; // 0x0
+    field public static final int CMAS_CERTAINTY_UNKNOWN = -1; // 0xffffffff
+    field public static final int CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY = 3; // 0x3
+    field public static final int CMAS_CLASS_CMAS_EXERCISE = 5; // 0x5
+    field public static final int CMAS_CLASS_EXTREME_THREAT = 1; // 0x1
+    field public static final int CMAS_CLASS_OPERATOR_DEFINED_USE = 6; // 0x6
+    field public static final int CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT = 0; // 0x0
+    field public static final int CMAS_CLASS_REQUIRED_MONTHLY_TEST = 4; // 0x4
+    field public static final int CMAS_CLASS_SEVERE_THREAT = 2; // 0x2
+    field public static final int CMAS_CLASS_UNKNOWN = -1; // 0xffffffff
+    field public static final int CMAS_RESPONSE_TYPE_ASSESS = 6; // 0x6
+    field public static final int CMAS_RESPONSE_TYPE_AVOID = 5; // 0x5
+    field public static final int CMAS_RESPONSE_TYPE_EVACUATE = 1; // 0x1
+    field public static final int CMAS_RESPONSE_TYPE_EXECUTE = 3; // 0x3
+    field public static final int CMAS_RESPONSE_TYPE_MONITOR = 4; // 0x4
+    field public static final int CMAS_RESPONSE_TYPE_NONE = 7; // 0x7
+    field public static final int CMAS_RESPONSE_TYPE_PREPARE = 2; // 0x2
+    field public static final int CMAS_RESPONSE_TYPE_SHELTER = 0; // 0x0
+    field public static final int CMAS_RESPONSE_TYPE_UNKNOWN = -1; // 0xffffffff
+    field public static final int CMAS_SEVERITY_EXTREME = 0; // 0x0
+    field public static final int CMAS_SEVERITY_SEVERE = 1; // 0x1
+    field public static final int CMAS_SEVERITY_UNKNOWN = -1; // 0xffffffff
+    field public static final int CMAS_URGENCY_EXPECTED = 1; // 0x1
+    field public static final int CMAS_URGENCY_IMMEDIATE = 0; // 0x0
+    field public static final int CMAS_URGENCY_UNKNOWN = -1; // 0xffffffff
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbCmasInfo> CREATOR;
+  }
+
+  public final class SmsCbEtwsInfo implements android.os.Parcelable {
+    ctor public SmsCbEtwsInfo(int, boolean, boolean, boolean, @Nullable byte[]);
+    method public int describeContents();
+    method @Nullable public byte[] getPrimaryNotificationSignature();
+    method public long getPrimaryNotificationTimestamp();
+    method public int getWarningType();
+    method public boolean isEmergencyUserAlert();
+    method public boolean isPopupAlert();
+    method public boolean isPrimary();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbEtwsInfo> CREATOR;
+    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE = 0; // 0x0
+    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI = 2; // 0x2
+    field public static final int ETWS_WARNING_TYPE_OTHER_EMERGENCY = 4; // 0x4
+    field public static final int ETWS_WARNING_TYPE_TEST_MESSAGE = 3; // 0x3
+    field public static final int ETWS_WARNING_TYPE_TSUNAMI = 1; // 0x1
+    field public static final int ETWS_WARNING_TYPE_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public final class SmsCbLocation implements android.os.Parcelable {
+    ctor public SmsCbLocation(@NonNull String, int, int);
+    method public int describeContents();
+    method public int getCid();
+    method public int getLac();
+    method @NonNull public String getPlmn();
+    method public boolean isInLocationArea(@NonNull android.telephony.SmsCbLocation);
+    method public boolean isInLocationArea(@Nullable String, int, int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbLocation> CREATOR;
+  }
+
+  public final class SmsCbMessage implements android.os.Parcelable {
+    ctor public SmsCbMessage(int, int, int, @NonNull android.telephony.SmsCbLocation, int, @Nullable String, int, @Nullable String, int, @Nullable android.telephony.SmsCbEtwsInfo, @Nullable android.telephony.SmsCbCmasInfo, int, @Nullable java.util.List<android.telephony.CbGeoUtils.Geometry>, long, int, int);
+    method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
+    method public int describeContents();
+    method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
+    method @NonNull public android.content.ContentValues getContentValues();
+    method public int getDataCodingScheme();
+    method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
+    method public int getGeographicalScope();
+    method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
+    method @Nullable public String getLanguageCode();
+    method @NonNull public android.telephony.SmsCbLocation getLocation();
+    method public int getMaximumWaitingDuration();
+    method @Nullable public String getMessageBody();
+    method public int getMessageFormat();
+    method public int getMessagePriority();
+    method public long getReceivedTime();
+    method public int getSerialNumber();
+    method public int getServiceCategory();
+    method public int getSlotIndex();
+    method public int getSubscriptionId();
+    method public boolean isCmasMessage();
+    method public boolean isEmergencyMessage();
+    method public boolean isEtwsMessage();
+    method public boolean needGeoFencingCheck();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbMessage> CREATOR;
+    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; // 0x3
+    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; // 0x0
+    field public static final int GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE = 2; // 0x2
+    field public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; // 0x1
+    field public static final int MAXIMUM_WAIT_TIME_NOT_SET = 255; // 0xff
+    field public static final int MESSAGE_FORMAT_3GPP = 1; // 0x1
+    field public static final int MESSAGE_FORMAT_3GPP2 = 2; // 0x2
+    field public static final int MESSAGE_PRIORITY_EMERGENCY = 3; // 0x3
+    field public static final int MESSAGE_PRIORITY_INTERACTIVE = 1; // 0x1
+    field public static final int MESSAGE_PRIORITY_NORMAL = 0; // 0x0
+    field public static final int MESSAGE_PRIORITY_URGENT = 2; // 0x2
+  }
+
+  public final class SmsManager {
+    method public boolean disableCellBroadcastRange(int, int, int);
+    method public boolean enableCellBroadcastRange(int, int, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public void resetAllCellBroadcastRanges();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void sendMultipartTextMessageWithoutPersisting(String, String, java.util.List<java.lang.String>, java.util.List<android.app.PendingIntent>, java.util.List<android.app.PendingIntent>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int);
+    field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3
+    field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1
+    field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2
+    field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0
+  }
+
+  public class SmsMessage {
+    method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean);
+    method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long);
+    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static byte[] getSubmitPduEncodedMessage(boolean, @NonNull String, @NonNull String, int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0, to=255) int, @IntRange(from=1, to=255) int, @IntRange(from=1, to=255) int);
+  }
+
+  public class SubscriptionInfo implements android.os.Parcelable {
+    method public boolean areUiccApplicationsEnabled();
+    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
+    method public int getProfileClass();
+    method public boolean isGroupDisabled();
+  }
+
+  public class SubscriptionManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
+    method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public byte[] getAllSimSpecificSettingsForBackup();
+    method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
+    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
+    method public void requestEmbeddedSubscriptionInfoListRefresh();
+    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void restoreAllSimSpecificSettingsFromBackup(@NonNull byte[]);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPreferredDataSubscriptionId(int, boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(int, boolean);
+    field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
+    field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
+    field @NonNull public static final android.net.Uri CROSS_SIM_ENABLED_CONTENT_URI;
+    field @Deprecated public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
+    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
+    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
+    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
+    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
+    field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
+    field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
+    field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
+    field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
+    field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
+  }
+
+  public static class SubscriptionPlan.Builder {
+    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringDaily(java.time.ZonedDateTime);
+    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringMonthly(java.time.ZonedDateTime);
+    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringWeekly(java.time.ZonedDateTime);
+  }
+
+  public class TelephonyCallback {
+    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGED = 23; // 0x17
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_ALLOWED_NETWORK_TYPE_LIST_CHANGED = 35; // 0x23
+    field public static final int EVENT_ALWAYS_REPORTED_SIGNAL_STRENGTH_CHANGED = 10; // 0xa
+    field @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int EVENT_BARRING_INFO_CHANGED = 32; // 0x20
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_ATTRIBUTES_CHANGED = 27; // 0x1b
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_DISCONNECT_CAUSE_CHANGED = 26; // 0x1a
+    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CALL_FORWARDING_INDICATOR_CHANGED = 4; // 0x4
+    field public static final int EVENT_CALL_STATE_CHANGED = 6; // 0x6
+    field public static final int EVENT_CARRIER_NETWORK_CHANGED = 17; // 0x11
+    field @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int EVENT_CELL_INFO_CHANGED = 11; // 0xb
+    field @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int EVENT_CELL_LOCATION_CHANGED = 5; // 0x5
+    field public static final int EVENT_DATA_ACTIVATION_STATE_CHANGED = 19; // 0x13
+    field public static final int EVENT_DATA_ACTIVITY_CHANGED = 8; // 0x8
+    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_CONNECTION_REAL_TIME_INFO_CHANGED = 14; // 0xe
+    field public static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 7; // 0x7
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_ENABLED_CHANGED = 34; // 0x22
+    field public static final int EVENT_DISPLAY_INFO_CHANGED = 21; // 0x15
+    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_EMERGENCY_NUMBER_LIST_CHANGED = 25; // 0x19
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED = 28; // 0x1c
+    field @RequiresPermission(android.Manifest.permission.READ_CALL_LOG) public static final int EVENT_LEGACY_CALL_STATE_CHANGED = 36; // 0x24
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_LINK_CAPACITY_ESTIMATE_CHANGED = 37; // 0x25
+    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_MESSAGE_WAITING_INDICATOR_CHANGED = 3; // 0x3
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_OEM_HOOK_RAW = 15; // 0xf
+    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_CALL = 29; // 0x1d
+    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_SMS = 30; // 0x1e
+    field public static final int EVENT_PHONE_CAPABILITY_CHANGED = 22; // 0x16
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED = 33; // 0x21
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_CALL_STATE_CHANGED = 12; // 0xc
+    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED = 13; // 0xd
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_RADIO_POWER_STATE_CHANGED = 24; // 0x18
+    field @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int EVENT_REGISTRATION_FAILURE = 31; // 0x1f
+    field public static final int EVENT_SERVICE_STATE_CHANGED = 1; // 0x1
+    field public static final int EVENT_SIGNAL_STRENGTHS_CHANGED = 9; // 0x9
+    field public static final int EVENT_SIGNAL_STRENGTH_CHANGED = 2; // 0x2
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SRVCC_STATE_CHANGED = 16; // 0x10
+    field public static final int EVENT_USER_MOBILE_DATA_STATE_CHANGED = 20; // 0x14
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_VOICE_ACTIVATION_STATE_CHANGED = 18; // 0x12
+  }
+
+  public static interface TelephonyCallback.AllowedNetworkTypesListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(int, long);
+  }
+
+  public static interface TelephonyCallback.CallAttributesListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
+  }
+
+  public static interface TelephonyCallback.DataEnabledListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onDataEnabledChanged(boolean, int);
+  }
+
+  public static interface TelephonyCallback.LinkCapacityEstimateChangedListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onLinkCapacityEstimateChanged(@NonNull java.util.List<android.telephony.LinkCapacityEstimate>);
+  }
+
+  public static interface TelephonyCallback.OutgoingEmergencyCallListener {
+    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
+  }
+
+  public static interface TelephonyCallback.OutgoingEmergencySmsListener {
+    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
+  }
+
+  public static interface TelephonyCallback.PhoneCapabilityListener {
+    method public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
+  }
+
+  public static interface TelephonyCallback.PreciseCallStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
+  }
+
+  public static interface TelephonyCallback.RadioPowerStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
+  }
+
+  public static interface TelephonyCallback.SrvccStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
+  }
+
+  public static interface TelephonyCallback.VoiceActivationStateListener {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
+  }
+
+  public final class TelephonyHistogram implements android.os.Parcelable {
+    ctor public TelephonyHistogram(int, int, int);
+    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
+    ctor public TelephonyHistogram(android.os.Parcel);
+    method public void addTimeTaken(int);
+    method public int describeContents();
+    method public int getAverageTime();
+    method public int getBucketCount();
+    method public int[] getBucketCounters();
+    method public int[] getBucketEndPoints();
+    method public int getCategory();
+    method public int getId();
+    method public int getMaxTime();
+    method public int getMinTime();
+    method public int getSampleCount();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
+    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
+  }
+
+  public class TelephonyManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) @WorkerThread public void bootstrapAuthenticationRequest(int, @NonNull android.net.Uri, @NonNull android.telephony.gba.UaSecurityProtocolIdentifier, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.BootstrapAuthenticationCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackage(String);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackageAnyPhone(String);
+    method public void dial(String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean disableDataConnectivity();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesBitmask();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesForReason(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallWaitingStatus(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
+    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaEnhancedRoamingIndicatorDisplayNumber();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(int);
+    method public String getCdmaPrlVersion();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaRoamingMode();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaSubscriptionMode();
+    method public int getCurrentPhoneType();
+    method public int getCurrentPhoneType(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState();
+    method @Deprecated public boolean getDataEnabled();
+    method @Deprecated public boolean getDataEnabled(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
+    method public int getMaxNumberOfSimultaneouslyActiveSims();
+    method public static long getMaxNumberVerificationTimeoutMillis();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.PhoneCapability getPhoneCapability();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
+    method public int getSimApplicationState();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
+    method public int getSimCardState();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getSupportedRadioAccessFamily();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telephony.RadioAccessSpecifier> getSystemSelectionChannels();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
+    method @Nullable public android.os.Bundle getVisualVoicemailSettings();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
+    method public boolean isDataConnectivityPossible();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNrDualConnectivityEnabled();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired();
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String);
+    method public boolean needsOtaServiceProvisioning();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
+    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.MODIFY_PHONE_STATE}) public void requestCellInfoUpdate(@NonNull android.os.WorkSource, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CellInfoCallback);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestModemActivityInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.ModemActivityInfo,android.telephony.TelephonyManager.ModemActivityInfoException>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestNumberVerification(@NonNull android.telephony.PhoneNumberRange, long, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.NumberVerificationCallback);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void resetIms(int);
+    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void resetOtaEmergencyNumberDbFilePath();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
+    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int sendThermalMitigationRequest(@NonNull android.telephony.ThermalMitigationRequest);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAllowedNetworkTypesForReason(int, long);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallForwarding(@NonNull android.telephony.CallForwardingInfo, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallWaitingEnabled(boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaRoamingMode(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaSubscriptionMode(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult setIccLockEnabled(boolean, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabled(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setNrDualConnectivityState(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRadioEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
+    method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios();
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPin(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPuk(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPin(String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPinReportResult(String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPuk(String, String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
+    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
+    method public void updateServiceLocation();
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
+    field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED";
+    field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED";
+    field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE";
+    field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED";
+    field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED";
+    field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE";
+    field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS";
+    field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
+    field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
+    field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
+    field public static final int ALLOWED_NETWORK_TYPES_REASON_CARRIER = 2; // 0x2
+    field public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3; // 0x3
+    field public static final int ALLOWED_NETWORK_TYPES_REASON_POWER = 1; // 0x1
+    field public static final int ALLOWED_NETWORK_TYPES_REASON_USER = 0; // 0x0
+    field public static final int CALL_WAITING_STATUS_DISABLED = 2; // 0x2
+    field public static final int CALL_WAITING_STATUS_ENABLED = 1; // 0x1
+    field public static final int CALL_WAITING_STATUS_NOT_SUPPORTED = 4; // 0x4
+    field public static final int CALL_WAITING_STATUS_UNKNOWN_ERROR = 3; // 0x3
+    field public static final String CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE = "CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE";
+    field public static final String CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE = "CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE";
+    field public static final String CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING = "CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING";
+    field public static final String CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK = "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK";
+    field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
+    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
+    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
+    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
+    field public static final int CDMA_SUBSCRIPTION_NV = 1; // 0x1
+    field public static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // 0x0
+    field public static final int CDMA_SUBSCRIPTION_UNKNOWN = -1; // 0xffffffff
+    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_INVALID_STATE = 4; // 0x4
+    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_NOT_SUPPORTED = 1; // 0x1
+    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_ERROR = 3; // 0x3
+    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_NOT_AVAILABLE = 2; // 0x2
+    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_SUCCESS = 0; // 0x0
+    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
+    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
+    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
+    field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL";
+    field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
+    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
+    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
+    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_READY = 2; // 0x2
+    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_SUPPORTED = 1; // 0x1
+    field public static final int GBA_FAILURE_REASON_INCORRECT_NAF_ID = 4; // 0x4
+    field public static final int GBA_FAILURE_REASON_NETWORK_FAILURE = 3; // 0x3
+    field public static final int GBA_FAILURE_REASON_SECURITY_PROTOCOL_NOT_SUPPORTED = 5; // 0x5
+    field public static final int GBA_FAILURE_REASON_UNKNOWN = 0; // 0x0
+    field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
+    field public static final int KEY_TYPE_EPDG = 1; // 0x1
+    field public static final int KEY_TYPE_WLAN = 2; // 0x2
+    field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
+    field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
+    field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
+    field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
+    field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
+    field public static final long NETWORK_TYPE_BITMASK_EHRPD = 8192L; // 0x2000L
+    field public static final long NETWORK_TYPE_BITMASK_EVDO_0 = 16L; // 0x10L
+    field public static final long NETWORK_TYPE_BITMASK_EVDO_A = 32L; // 0x20L
+    field public static final long NETWORK_TYPE_BITMASK_EVDO_B = 2048L; // 0x800L
+    field public static final long NETWORK_TYPE_BITMASK_GPRS = 1L; // 0x1L
+    field public static final long NETWORK_TYPE_BITMASK_GSM = 32768L; // 0x8000L
+    field public static final long NETWORK_TYPE_BITMASK_HSDPA = 128L; // 0x80L
+    field public static final long NETWORK_TYPE_BITMASK_HSPA = 512L; // 0x200L
+    field public static final long NETWORK_TYPE_BITMASK_HSPAP = 16384L; // 0x4000L
+    field public static final long NETWORK_TYPE_BITMASK_HSUPA = 256L; // 0x100L
+    field public static final long NETWORK_TYPE_BITMASK_IWLAN = 131072L; // 0x20000L
+    field public static final long NETWORK_TYPE_BITMASK_LTE = 4096L; // 0x1000L
+    field public static final long NETWORK_TYPE_BITMASK_LTE_CA = 262144L; // 0x40000L
+    field public static final long NETWORK_TYPE_BITMASK_NR = 524288L; // 0x80000L
+    field public static final long NETWORK_TYPE_BITMASK_TD_SCDMA = 65536L; // 0x10000L
+    field public static final long NETWORK_TYPE_BITMASK_UMTS = 4L; // 0x4L
+    field public static final long NETWORK_TYPE_BITMASK_UNKNOWN = 0L; // 0x0L
+    field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2
+    field public static final int NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE = 3; // 0x3
+    field public static final int NR_DUAL_CONNECTIVITY_ENABLE = 1; // 0x1
+    field public static final int PREPARE_UNATTENDED_REBOOT_ERROR = 2; // 0x2
+    field public static final int PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED = 1; // 0x1
+    field public static final int PREPARE_UNATTENDED_REBOOT_SUCCESS = 0; // 0x0
+    field public static final int RADIO_POWER_OFF = 0; // 0x0
+    field public static final int RADIO_POWER_ON = 1; // 0x1
+    field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
+    field public static final int SET_CARRIER_RESTRICTION_ERROR = 2; // 0x2
+    field public static final int SET_CARRIER_RESTRICTION_NOT_SUPPORTED = 1; // 0x1
+    field public static final int SET_CARRIER_RESTRICTION_SUCCESS = 0; // 0x0
+    field public static final int SET_SIM_POWER_STATE_ALREADY_IN_STATE = 1; // 0x1
+    field public static final int SET_SIM_POWER_STATE_MODEM_ERROR = 2; // 0x2
+    field public static final int SET_SIM_POWER_STATE_NOT_SUPPORTED = 4; // 0x4
+    field public static final int SET_SIM_POWER_STATE_SIM_ERROR = 3; // 0x3
+    field public static final int SET_SIM_POWER_STATE_SUCCESS = 0; // 0x0
+    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
+    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
+    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
+    field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
+    field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
+    field public static final int SIM_STATE_LOADED = 10; // 0xa
+    field public static final int SIM_STATE_PRESENT = 11; // 0xb
+    field public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; // 0x3
+    field public static final int SRVCC_STATE_HANDOVER_COMPLETED = 1; // 0x1
+    field public static final int SRVCC_STATE_HANDOVER_FAILED = 2; // 0x2
+    field public static final int SRVCC_STATE_HANDOVER_NONE = -1; // 0xffffffff
+    field public static final int SRVCC_STATE_HANDOVER_STARTED = 0; // 0x0
+    field public static final int THERMAL_MITIGATION_RESULT_INVALID_STATE = 3; // 0x3
+    field public static final int THERMAL_MITIGATION_RESULT_MODEM_ERROR = 1; // 0x1
+    field public static final int THERMAL_MITIGATION_RESULT_MODEM_NOT_AVAILABLE = 2; // 0x2
+    field public static final int THERMAL_MITIGATION_RESULT_SUCCESS = 0; // 0x0
+    field public static final int THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR = 4; // 0x4
+  }
+
+  public static class TelephonyManager.BootstrapAuthenticationCallback {
+    ctor public TelephonyManager.BootstrapAuthenticationCallback();
+    method public void onAuthenticationFailure(int);
+    method public void onKeysAvailable(@NonNull byte[], @NonNull String);
+  }
+
+  public static interface TelephonyManager.CallForwardingInfoCallback {
+    method public void onCallForwardingInfoAvailable(@NonNull android.telephony.CallForwardingInfo);
+    method public void onError(int);
+    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 2; // 0x2
+    field public static final int RESULT_ERROR_NOT_SUPPORTED = 3; // 0x3
+    field public static final int RESULT_ERROR_UNKNOWN = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
+    method public int getErrorCode();
+    field public static final int ERROR_INVALID_INFO_RECEIVED = 2; // 0x2
+    field public static final int ERROR_MODEM_RESPONSE_ERROR = 3; // 0x3
+    field public static final int ERROR_PHONE_NOT_AVAILABLE = 1; // 0x1
+    field public static final int ERROR_UNKNOWN = 0; // 0x0
+  }
+
+  public final class ThermalMitigationRequest implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.telephony.DataThrottlingRequest getDataThrottlingRequest();
+    method public int getThermalMitigationAction();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ThermalMitigationRequest> CREATOR;
+    field public static final int THERMAL_MITIGATION_ACTION_DATA_THROTTLING = 0; // 0x0
+    field public static final int THERMAL_MITIGATION_ACTION_RADIO_OFF = 2; // 0x2
+    field public static final int THERMAL_MITIGATION_ACTION_VOICE_ONLY = 1; // 0x1
+  }
+
+  public static final class ThermalMitigationRequest.Builder {
+    ctor public ThermalMitigationRequest.Builder();
+    method @NonNull public android.telephony.ThermalMitigationRequest build();
+    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setDataThrottlingRequest(@NonNull android.telephony.DataThrottlingRequest);
+    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setThermalMitigationAction(int);
+  }
+
+  public final class UiccAccessRule implements android.os.Parcelable {
+    ctor public UiccAccessRule(byte[], @Nullable String, long);
+    method public int describeContents();
+    method public int getCarrierPrivilegeStatus(android.content.pm.PackageInfo);
+    method public int getCarrierPrivilegeStatus(android.content.pm.Signature, String);
+    method public String getCertificateHexString();
+    method @Nullable public String getPackageName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
+  }
+
+  public class UiccSlotInfo implements android.os.Parcelable {
+    ctor @Deprecated public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
+    method public int describeContents();
+    method public String getCardId();
+    method public int getCardStateInfo();
+    method public boolean getIsActive();
+    method public boolean getIsEuicc();
+    method public boolean getIsExtendedApduSupported();
+    method public int getLogicalSlotIdx();
+    method public boolean isRemovable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CARD_STATE_INFO_ABSENT = 1; // 0x1
+    field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
+    field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
+    field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
+  }
+
+  public abstract class VisualVoicemailService extends android.app.Service {
+    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, String, short, String, android.app.PendingIntent);
+    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
+  }
+
+  public abstract class VopsSupportInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public abstract boolean equals(Object);
+    method public abstract int hashCode();
+    method public abstract boolean isEmergencyServiceFallbackSupported();
+    method public abstract boolean isEmergencyServiceSupported();
+    method public abstract boolean isVopsSupported();
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VopsSupportInfo> CREATOR;
+  }
+
+}
+
+package android.telephony.cdma {
+
+  public final class CdmaSmsCbProgramData implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCategory();
+    method public int getOperation();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 4099; // 0x1003
+    field public static final int CATEGORY_CMAS_EXTREME_THREAT = 4097; // 0x1001
+    field public static final int CATEGORY_CMAS_LAST_RESERVED_VALUE = 4351; // 0x10ff
+    field public static final int CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 4096; // 0x1000
+    field public static final int CATEGORY_CMAS_SEVERE_THREAT = 4098; // 0x1002
+    field public static final int CATEGORY_CMAS_TEST_MESSAGE = 4100; // 0x1004
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.cdma.CdmaSmsCbProgramData> CREATOR;
+    field public static final int OPERATION_ADD_CATEGORY = 1; // 0x1
+    field public static final int OPERATION_CLEAR_CATEGORIES = 2; // 0x2
+    field public static final int OPERATION_DELETE_CATEGORY = 0; // 0x0
+  }
+
+}
+
+package android.telephony.data {
+
+  public class ApnSetting implements android.os.Parcelable {
+    method public static int getApnTypeInt(@NonNull String);
+    method @NonNull public static String getApnTypeString(int);
+    field public static final String TYPE_ALL_STRING = "*";
+    field public static final String TYPE_BIP_STRING = "bip";
+    field public static final String TYPE_CBS_STRING = "cbs";
+    field public static final String TYPE_DEFAULT_STRING = "default";
+    field public static final String TYPE_DUN_STRING = "dun";
+    field public static final String TYPE_EMERGENCY_STRING = "emergency";
+    field public static final String TYPE_FOTA_STRING = "fota";
+    field public static final String TYPE_HIPRI_STRING = "hipri";
+    field public static final String TYPE_IA_STRING = "ia";
+    field public static final String TYPE_IMS_STRING = "ims";
+    field public static final String TYPE_MCX_STRING = "mcx";
+    field public static final String TYPE_MMS_STRING = "mms";
+    field public static final String TYPE_SUPL_STRING = "supl";
+    field public static final String TYPE_VSIM_STRING = "vsim";
+    field public static final String TYPE_XCAP_STRING = "xcap";
+  }
+
+  public final class DataCallResponse implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
+    method public int getCause();
+    method @NonNull public java.util.List<java.net.InetAddress> getDnsAddresses();
+    method @NonNull public java.util.List<java.net.InetAddress> getGatewayAddresses();
+    method public int getHandoverFailureMode();
+    method public int getId();
+    method @NonNull public String getInterfaceName();
+    method public int getLinkStatus();
+    method @Deprecated public int getMtu();
+    method public int getMtuV4();
+    method public int getMtuV6();
+    method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
+    method public int getPduSessionId();
+    method public int getProtocolType();
+    method public long getRetryDurationMillis();
+    method @Nullable public android.telephony.data.NetworkSliceInfo getSliceInfo();
+    method @Deprecated public int getSuggestedRetryTime();
+    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
+    field public static final int HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; // 0x1
+    field public static final int HANDOVER_FAILURE_MODE_LEGACY = 0; // 0x0
+    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2; // 0x2
+    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3; // 0x3
+    field public static final int HANDOVER_FAILURE_MODE_UNKNOWN = -1; // 0xffffffff
+    field public static final int LINK_STATUS_ACTIVE = 2; // 0x2
+    field public static final int LINK_STATUS_DORMANT = 1; // 0x1
+    field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
+    field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
+    field public static final int PDU_SESSION_ID_NOT_SET = 0; // 0x0
+    field public static final int RETRY_DURATION_UNDEFINED = -1; // 0xffffffff
+  }
+
+  public static final class DataCallResponse.Builder {
+    ctor public DataCallResponse.Builder();
+    method @NonNull public android.telephony.data.DataCallResponse build();
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setAddresses(@NonNull java.util.List<android.net.LinkAddress>);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setCause(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setDnsAddresses(@NonNull java.util.List<java.net.InetAddress>);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setGatewayAddresses(@NonNull java.util.List<java.net.InetAddress>);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setHandoverFailureMode(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setId(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setInterfaceName(@NonNull String);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setLinkStatus(int);
+    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setMtu(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV4(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setPduSessionId(@IntRange(from=android.telephony.data.DataCallResponse.PDU_SESSION_ID_NOT_SET, to=15) int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryDurationMillis(long);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setSliceInfo(@Nullable android.telephony.data.NetworkSliceInfo);
+    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
+    method @NonNull public android.telephony.data.DataCallResponse.Builder setTrafficDescriptors(@NonNull java.util.List<android.telephony.data.TrafficDescriptor>);
+  }
+
+  public final class DataProfile implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getApn();
+    method public int getAuthType();
+    method public int getBearerBitmask();
+    method @Deprecated public int getMtu();
+    method public int getMtuV4();
+    method public int getMtuV6();
+    method @Nullable public String getPassword();
+    method public int getProfileId();
+    method public int getProtocolType();
+    method public int getRoamingProtocolType();
+    method public int getSupportedApnTypesBitmask();
+    method public int getType();
+    method @Nullable public String getUserName();
+    method public boolean isEnabled();
+    method public boolean isPersistent();
+    method public boolean isPreferred();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
+    field public static final int TYPE_3GPP = 1; // 0x1
+    field public static final int TYPE_3GPP2 = 2; // 0x2
+    field public static final int TYPE_COMMON = 0; // 0x0
+  }
+
+  public static final class DataProfile.Builder {
+    ctor public DataProfile.Builder();
+    method @NonNull public android.telephony.data.DataProfile build();
+    method @NonNull public android.telephony.data.DataProfile.Builder enable(boolean);
+    method @NonNull public android.telephony.data.DataProfile.Builder setApn(@NonNull String);
+    method @NonNull public android.telephony.data.DataProfile.Builder setAuthType(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setBearerBitmask(int);
+    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtu(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setMtuV4(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setMtuV6(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setPassword(@NonNull String);
+    method @NonNull public android.telephony.data.DataProfile.Builder setPersistent(boolean);
+    method @NonNull public android.telephony.data.DataProfile.Builder setPreferred(boolean);
+    method @NonNull public android.telephony.data.DataProfile.Builder setProfileId(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setProtocolType(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setRoamingProtocolType(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setSupportedApnTypesBitmask(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setType(int);
+    method @NonNull public android.telephony.data.DataProfile.Builder setUserName(@NonNull String);
+  }
+
+  public abstract class DataService extends android.app.Service {
+    ctor public DataService();
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
+    field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
+    field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
+    field public static final int REQUEST_REASON_SHUTDOWN = 2; // 0x2
+    field public static final int REQUEST_REASON_UNKNOWN = 0; // 0x0
+    field public static final String SERVICE_INTERFACE = "android.telephony.data.DataService";
+  }
+
+  public abstract class DataService.DataServiceProvider implements java.lang.AutoCloseable {
+    ctor public DataService.DataServiceProvider(int);
+    method public abstract void close();
+    method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
+    method public final int getSlotIndex();
+    method public final void notifyApnUnthrottled(@NonNull String);
+    method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
+    method public void requestDataCallList(@NonNull android.telephony.data.DataServiceCallback);
+    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
+    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
+    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
+    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @IntRange(from=0, to=15) int, @Nullable android.telephony.data.NetworkSliceInfo, @Nullable android.telephony.data.TrafficDescriptor, boolean, @NonNull android.telephony.data.DataServiceCallback);
+  }
+
+  public class DataServiceCallback {
+    method public void onApnUnthrottled(@NonNull String);
+    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
+    method public void onDeactivateDataCallComplete(int);
+    method public void onRequestDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
+    method public void onSetDataProfileComplete(int);
+    method public void onSetInitialAttachApnComplete(int);
+    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
+    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
+    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
+    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
+    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+  public final class EpsBearerQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
+    method public int describeContents();
+    method public long getGuaranteedDownlinkBitRateKbps();
+    method public long getGuaranteedUplinkBitRateKbps();
+    method public long getMaxDownlinkBitRateKbps();
+    method public long getMaxUplinkBitRateKbps();
+    method public int getQosIdentifier();
+    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR;
+  }
+
+  public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
+    method public int describeContents();
+    method @NonNull public java.time.Duration getBitRateWindowDuration();
+    method public long getGuaranteedDownlinkBitRateKbps();
+    method public long getGuaranteedUplinkBitRateKbps();
+    method public long getMaxDownlinkBitRateKbps();
+    method public long getMaxUplinkBitRateKbps();
+    method @IntRange(from=1, to=63) public int getQosFlowIdentifier();
+    method public int getQosIdentifier();
+    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR;
+  }
+
+  public abstract class QualifiedNetworksService extends android.app.Service {
+    ctor public QualifiedNetworksService();
+    method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
+    field public static final String QUALIFIED_NETWORKS_SERVICE_INTERFACE = "android.telephony.data.QualifiedNetworksService";
+  }
+
+  public abstract class QualifiedNetworksService.NetworkAvailabilityProvider implements java.lang.AutoCloseable {
+    ctor public QualifiedNetworksService.NetworkAvailabilityProvider(int);
+    method public abstract void close();
+    method public final int getSlotIndex();
+    method public void reportThrottleStatusChanged(@NonNull java.util.List<android.telephony.data.ThrottleStatus>);
+    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
+  }
+
+  public final class ThrottleStatus implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getApnType();
+    method public int getRetryType();
+    method public int getSlotIndex();
+    method public long getThrottleExpiryTimeMillis();
+    method public int getThrottleType();
+    method public int getTransportType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ThrottleStatus> CREATOR;
+    field public static final int RETRY_TYPE_HANDOVER = 3; // 0x3
+    field public static final int RETRY_TYPE_NEW_CONNECTION = 2; // 0x2
+    field public static final int RETRY_TYPE_NONE = 1; // 0x1
+    field public static final int THROTTLE_TYPE_ELAPSED_TIME = 2; // 0x2
+    field public static final int THROTTLE_TYPE_NONE = 1; // 0x1
+  }
+
+  public static final class ThrottleStatus.Builder {
+    ctor public ThrottleStatus.Builder();
+    method @NonNull public android.telephony.data.ThrottleStatus build();
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setApnType(int);
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setNoThrottle();
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setRetryType(int);
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setSlotIndex(int);
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setThrottleExpiryTimeMillis(long);
+    method @NonNull public android.telephony.data.ThrottleStatus.Builder setTransportType(int);
+  }
+
+}
+
+package android.telephony.euicc {
+
+  public final class DownloadableSubscription implements android.os.Parcelable {
+    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
+    method @Nullable public String getCarrierName();
+  }
+
+  public static final class DownloadableSubscription.Builder {
+    ctor public DownloadableSubscription.Builder();
+    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(@NonNull java.util.List<android.telephony.UiccAccessRule>);
+    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(@NonNull String);
+  }
+
+  public class EuiccCardManager {
+    method public void authenticateServer(String, String, byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void cancelSession(String, byte[], @android.telephony.euicc.EuiccCardManager.CancelReason int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void deleteProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void disableProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void listNotifications(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
+    method public void loadBoundProfilePackage(String, byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void prepareDownload(String, @Nullable byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void removeNotificationFromList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void requestAllProfiles(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo[]>);
+    method public void requestDefaultSmdpAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
+    method public void requestEuiccChallenge(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void requestEuiccInfo1(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void requestEuiccInfo2(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
+    method public void requestProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
+    method public void requestRulesAuthTable(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccRulesAuthTable>);
+    method public void requestSmdsAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
+    method public void resetMemory(String, @android.telephony.euicc.EuiccCardManager.ResetOption int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void retrieveNotification(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification>);
+    method public void retrieveNotificationList(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
+    method public void setDefaultSmdpAddress(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void setNickname(String, String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
+    method public void switchToProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
+    field public static final int CANCEL_REASON_END_USER_REJECTED = 0; // 0x0
+    field public static final int CANCEL_REASON_POSTPONED = 1; // 0x1
+    field public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3; // 0x3
+    field public static final int CANCEL_REASON_TIMEOUT = 2; // 0x2
+    field public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 2; // 0x2
+    field public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1; // 0x1
+    field public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 4; // 0x4
+    field public static final int RESULT_CALLER_NOT_ALLOWED = -3; // 0xfffffffd
+    field public static final int RESULT_EUICC_NOT_FOUND = -2; // 0xfffffffe
+    field public static final int RESULT_OK = 0; // 0x0
+    field public static final int RESULT_UNKNOWN_ERROR = -1; // 0xffffffff
+  }
+
+  @IntDef(prefix={"CANCEL_REASON_"}, value={android.telephony.euicc.EuiccCardManager.CANCEL_REASON_END_USER_REJECTED, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_POSTPONED, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_TIMEOUT, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_PPR_NOT_ALLOWED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccCardManager.CancelReason {
+  }
+
+  @IntDef(flag=true, prefix={"RESET_OPTION_"}, value={android.telephony.euicc.EuiccCardManager.RESET_OPTION_DELETE_OPERATIONAL_PROFILES, android.telephony.euicc.EuiccCardManager.RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES, android.telephony.euicc.EuiccCardManager.RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccCardManager.ResetOption {
+  }
+
+  public static interface EuiccCardManager.ResultCallback<T> {
+    method public void onComplete(int, T);
+  }
+
+  public class EuiccManager {
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(android.content.Intent, android.os.Bundle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@android.telephony.euicc.EuiccCardManager.ResetOption int, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus();
+    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getSupportedCountries();
+    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getUnsupportedCountries();
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isSupportedCountry(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setSupportedCountries(@NonNull java.util.List<java.lang.String>);
+    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setUnsupportedCountries(@NonNull java.util.List<java.lang.String>);
+    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
+    field @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public static final String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED";
+    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
+    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
+    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
+    field public static final int EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED = 4; // 0x4
+    field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2
+    field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1
+    field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3
+    field public static final int EUICC_OTA_FAILED = 2; // 0x2
+    field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1
+    field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4
+    field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5
+    field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3
+    field public static final String EXTRA_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE";
+    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS";
+    field public static final String EXTRA_ENABLE_SUBSCRIPTION = "android.telephony.euicc.extra.ENABLE_SUBSCRIPTION";
+    field public static final String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION";
+    field public static final String EXTRA_FROM_SUBSCRIPTION_ID = "android.telephony.euicc.extra.FROM_SUBSCRIPTION_ID";
+    field public static final String EXTRA_PHYSICAL_SLOT_ID = "android.telephony.euicc.extra.PHYSICAL_SLOT_ID";
+    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.euicc.extra.SUBSCRIPTION_ID";
+    field public static final String EXTRA_SUBSCRIPTION_NICKNAME = "android.telephony.euicc.extra.SUBSCRIPTION_NICKNAME";
+  }
+
+  @IntDef(prefix={"EUICC_OTA_"}, value={android.telephony.euicc.EuiccManager.EUICC_OTA_IN_PROGRESS, android.telephony.euicc.EuiccManager.EUICC_OTA_FAILED, android.telephony.euicc.EuiccManager.EUICC_OTA_SUCCEEDED, android.telephony.euicc.EuiccManager.EUICC_OTA_NOT_NEEDED, android.telephony.euicc.EuiccManager.EUICC_OTA_STATUS_UNAVAILABLE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccManager.OtaStatus {
+  }
+
+  public final class EuiccNotification implements android.os.Parcelable {
+    ctor public EuiccNotification(int, String, @android.telephony.euicc.EuiccNotification.Event int, @Nullable byte[]);
+    method public int describeContents();
+    method @Nullable public byte[] getData();
+    method @android.telephony.euicc.EuiccNotification.Event public int getEvent();
+    method public int getSeq();
+    method public String getTargetAddr();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @android.telephony.euicc.EuiccNotification.Event public static final int ALL_EVENTS = 15; // 0xf
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
+    field public static final int EVENT_DELETE = 8; // 0x8
+    field public static final int EVENT_DISABLE = 4; // 0x4
+    field public static final int EVENT_ENABLE = 2; // 0x2
+    field public static final int EVENT_INSTALL = 1; // 0x1
+  }
+
+  @IntDef(flag=true, prefix={"EVENT_"}, value={android.telephony.euicc.EuiccNotification.EVENT_INSTALL, android.telephony.euicc.EuiccNotification.EVENT_ENABLE, android.telephony.euicc.EuiccNotification.EVENT_DISABLE, android.telephony.euicc.EuiccNotification.EVENT_DELETE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccNotification.Event {
+  }
+
+  public final class EuiccRulesAuthTable implements android.os.Parcelable {
+    method public int describeContents();
+    method public int findIndex(@android.service.euicc.EuiccProfileInfo.PolicyRule int, android.service.carrier.CarrierIdentifier);
+    method public boolean hasPolicyRuleFlag(int, @android.telephony.euicc.EuiccRulesAuthTable.PolicyRuleFlag int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
+    field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
+  }
+
+  public static final class EuiccRulesAuthTable.Builder {
+    ctor public EuiccRulesAuthTable.Builder(int);
+    method public android.telephony.euicc.EuiccRulesAuthTable.Builder add(int, java.util.List<android.service.carrier.CarrierIdentifier>, int);
+    method public android.telephony.euicc.EuiccRulesAuthTable build();
+  }
+
+  @IntDef(flag=true, prefix={"POLICY_RULE_FLAG_"}, value={android.telephony.euicc.EuiccRulesAuthTable.POLICY_RULE_FLAG_CONSENT_REQUIRED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccRulesAuthTable.PolicyRuleFlag {
+  }
+
+}
+
+package android.telephony.gba {
+
+  public class GbaService extends android.app.Service {
+    ctor public GbaService();
+    method public void onAuthenticationRequest(int, int, int, @NonNull android.net.Uri, @NonNull byte[], boolean);
+    method public final void reportAuthenticationFailure(int, int) throws java.lang.RuntimeException;
+    method public final void reportKeysAvailable(int, @NonNull byte[], @NonNull String) throws java.lang.RuntimeException;
+    field public static final String SERVICE_INTERFACE = "android.telephony.gba.GbaService";
+  }
+
+  public class TlsParams {
+    method public static boolean isTlsCipherSuiteSupported(int);
+    field public static final int GROUP_SECP256R1 = 23; // 0x17
+    field public static final int GROUP_SECP384R1 = 24; // 0x18
+    field public static final int GROUP_X25519 = 29; // 0x1d
+    field public static final int GROUP_X448 = 30; // 0x1e
+    field public static final int PROTOCOL_VERSION_TLS_1_2 = 771; // 0x303
+    field public static final int PROTOCOL_VERSION_TLS_1_3 = 772; // 0x304
+    field public static final int SIG_ECDSA_BRAINPOOLP256R1TLS13_SHA256 = 2074; // 0x81a
+    field public static final int SIG_ECDSA_BRAINPOOLP384R1TLS13_SHA384 = 2075; // 0x81b
+    field public static final int SIG_ECDSA_BRAINPOOLP512R1TLS13_SHA512 = 2076; // 0x81c
+    field public static final int SIG_ECDSA_SECP256R1_SHA256 = 1027; // 0x403
+    field public static final int SIG_ECDSA_SECP384R1_SHA384 = 1283; // 0x503
+    field public static final int SIG_ECDSA_SECP521R1_SHA512 = 1539; // 0x603
+    field public static final int SIG_ECDSA_SHA1 = 515; // 0x203
+    field public static final int SIG_RSA_PKCS1_SHA1 = 513; // 0x201
+    field public static final int SIG_RSA_PKCS1_SHA256 = 1025; // 0x401
+    field public static final int SIG_RSA_PKCS1_SHA256_LEGACY = 1056; // 0x420
+    field public static final int SIG_RSA_PKCS1_SHA384 = 1281; // 0x501
+    field public static final int SIG_RSA_PKCS1_SHA384_LEGACY = 1312; // 0x520
+    field public static final int SIG_RSA_PKCS1_SHA512 = 1537; // 0x601
+    field public static final int SIG_RSA_PKCS1_SHA512_LEGACY = 1568; // 0x620
+    field public static final int SIG_RSA_PSS_RSAE_SHA256 = 2052; // 0x804
+    field public static final int SIG_RSA_PSS_RSAE_SHA384 = 2053; // 0x805
+    field public static final int SIG_RSA_PSS_RSAE_SHA512 = 2054; // 0x806
+    field public static final int TLS_AES_128_CCM_SHA256 = 4868; // 0x1304
+    field public static final int TLS_AES_128_GCM_SHA256 = 4865; // 0x1301
+    field public static final int TLS_AES_256_GCM_SHA384 = 4866; // 0x1302
+    field public static final int TLS_CHACHA20_POLY1305_SHA256 = 4867; // 0x1303
+    field public static final int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19; // 0x13
+    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50; // 0x32
+    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64; // 0x40
+    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56; // 0x38
+    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106; // 0x6a
+    field public static final int TLS_DHE_PSK_WITH_AES_128_CCM = 49318; // 0xc0a6
+    field public static final int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170; // 0xaa
+    field public static final int TLS_DHE_PSK_WITH_AES_256_CCM = 49319; // 0xc0a7
+    field public static final int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171; // 0xab
+    field public static final int TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397; // 0xccad
+    field public static final int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22; // 0x16
+    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51; // 0x33
+    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103; // 0x67
+    field public static final int TLS_DHE_RSA_WITH_AES_128_CCM = 49310; // 0xc09e
+    field public static final int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158; // 0x9e
+    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57; // 0x39
+    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107; // 0x6b
+    field public static final int TLS_DHE_RSA_WITH_AES_256_CCM = 49311; // 0xc09f
+    field public static final int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159; // 0x9f
+    field public static final int TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394; // 0xccaa
+    field public static final int TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA = 27; // 0x1b
+    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA = 52; // 0x34
+    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA256 = 108; // 0x6c
+    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA = 58; // 0x3a
+    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA256 = 109; // 0x6d
+    field public static final int TLS_DH_ANON_WITH_RC4_128_MD5 = 24; // 0x18
+    field public static final int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13; // 0xd
+    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48; // 0x30
+    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62; // 0x3e
+    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54; // 0x36
+    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104; // 0x68
+    field public static final int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16; // 0x10
+    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49; // 0x31
+    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63; // 0x3f
+    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55; // 0x37
+    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105; // 0x69
+    field public static final int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195; // 0xc02b
+    field public static final int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196; // 0xc02c
+    field public static final int TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393; // 0xcca9
+    field public static final int TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 53253; // 0xd005
+    field public static final int TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 53249; // 0xd001
+    field public static final int TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 53250; // 0xd002
+    field public static final int TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396; // 0xccac
+    field public static final int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199; // 0xc02f
+    field public static final int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200; // 0xc030
+    field public static final int TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392; // 0xcca8
+    field public static final int TLS_NULL_WITH_NULL_NULL = 0; // 0x0
+    field public static final int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10; // 0xa
+    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA = 47; // 0x2f
+    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60; // 0x3c
+    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA = 53; // 0x35
+    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61; // 0x3d
+    field public static final int TLS_RSA_WITH_NULL_MD5 = 1; // 0x1
+    field public static final int TLS_RSA_WITH_NULL_SHA = 2; // 0x2
+    field public static final int TLS_RSA_WITH_NULL_SHA256 = 59; // 0x3b
+    field public static final int TLS_RSA_WITH_RC4_128_MD5 = 4; // 0x4
+    field public static final int TLS_RSA_WITH_RC4_128_SHA = 5; // 0x5
+  }
+
+  public final class UaSecurityProtocolIdentifier implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getOrg();
+    method public int getProtocol();
+    method public int getTlsCipherSuite();
+    method @NonNull public byte[] toByteArray();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.gba.UaSecurityProtocolIdentifier> CREATOR;
+    field public static final int ORG_3GPP = 1; // 0x1
+    field public static final int ORG_3GPP2 = 2; // 0x2
+    field public static final int ORG_GSMA = 4; // 0x4
+    field public static final int ORG_LOCAL = 255; // 0xff
+    field public static final int ORG_NONE = 0; // 0x0
+    field public static final int ORG_OMA = 3; // 0x3
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERATION_TMPI = 256; // 0x100
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERIC_PUSH_LAYER = 5; // 0x5
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_BASED_MBMS = 3; // 0x3
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_DIGEST_AUTHENTICATION = 2; // 0x2
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_IMS_MEDIA_PLANE = 6; // 0x6
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_MBMS = 1; // 0x1
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_SIP_BASED_MBMS = 4; // 0x4
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_SUBSCRIBER_CERTIFICATE = 0; // 0x0
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_BROWSER = 131072; // 0x20000
+    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_DEFAULT = 65536; // 0x10000
+  }
+
+  public static final class UaSecurityProtocolIdentifier.Builder {
+    ctor public UaSecurityProtocolIdentifier.Builder();
+    ctor public UaSecurityProtocolIdentifier.Builder(@NonNull android.telephony.gba.UaSecurityProtocolIdentifier);
+    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier build();
+    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setOrg(int);
+    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setProtocol(int);
+    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setTlsCipherSuite(int);
+  }
+
+}
+
+package android.telephony.ims {
+
+  public final class AudioCodecAttributes implements android.os.Parcelable {
+    ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>);
+    method public int describeContents();
+    method public float getBandwidthKhz();
+    method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz();
+    method public float getBitrateKbps();
+    method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR;
+  }
+
+  public interface DelegateMessageCallback {
+    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
+    method public void onMessageSendFailure(@NonNull String, int);
+    method public void onMessageSent(@NonNull String);
+  }
+
+  public final class DelegateRegistrationState implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteredFeatureTags();
+    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteringFeatureTags();
+    method @NonNull public java.util.Set<java.lang.String> getRegisteredFeatureTags();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRegistrationState> CREATOR;
+    field public static final int DEREGISTERED_REASON_NOT_PROVISIONED = 1; // 0x1
+    field public static final int DEREGISTERED_REASON_NOT_REGISTERED = 2; // 0x2
+    field public static final int DEREGISTERED_REASON_UNKNOWN = 0; // 0x0
+    field public static final int DEREGISTERING_REASON_DESTROY_PENDING = 6; // 0x6
+    field public static final int DEREGISTERING_REASON_FEATURE_TAGS_CHANGING = 5; // 0x5
+    field public static final int DEREGISTERING_REASON_PDN_CHANGE = 3; // 0x3
+    field public static final int DEREGISTERING_REASON_PROVISIONING_CHANGE = 4; // 0x4
+  }
+
+  public static final class DelegateRegistrationState.Builder {
+    ctor public DelegateRegistrationState.Builder();
+    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteredFeatureTag(@NonNull String, int);
+    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteringFeatureTag(@NonNull String, int);
+    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTag(@NonNull String);
+    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTags(@NonNull java.util.Set<java.lang.String>);
+    method @NonNull public android.telephony.ims.DelegateRegistrationState build();
+  }
+
+  public final class DelegateRequest implements android.os.Parcelable {
+    ctor public DelegateRequest(@NonNull java.util.Set<java.lang.String>);
+    method public int describeContents();
+    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRequest> CREATOR;
+  }
+
+  public interface DelegateStateCallback {
+    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
+    method public void onCreated(@NonNull android.telephony.ims.stub.SipDelegate, @Nullable java.util.Set<android.telephony.ims.FeatureTagState>);
+    method public void onDestroyed(int);
+    method public void onFeatureTagRegistrationChanged(@NonNull android.telephony.ims.DelegateRegistrationState);
+  }
+
+  public final class FeatureTagState implements android.os.Parcelable {
+    ctor public FeatureTagState(@NonNull String, int);
+    method public int describeContents();
+    method @NonNull public String getFeatureTag();
+    method public int getState();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.FeatureTagState> CREATOR;
+  }
+
+  public final class ImsCallForwardInfo implements android.os.Parcelable {
+    ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int);
+    method public int describeContents();
+    method public int getCondition();
+    method public String getNumber();
+    method public int getServiceClass();
+    method public int getStatus();
+    method public int getTimeSeconds();
+    method public int getToA();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CDIV_CF_REASON_ALL = 4; // 0x4
+    field public static final int CDIV_CF_REASON_ALL_CONDITIONAL = 5; // 0x5
+    field public static final int CDIV_CF_REASON_BUSY = 1; // 0x1
+    field public static final int CDIV_CF_REASON_NOT_LOGGED_IN = 6; // 0x6
+    field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
+    field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
+    field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
+    field public static final int STATUS_ACTIVE = 1; // 0x1
+    field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
+    field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
+    field public static final int TYPE_OF_ADDRESS_UNKNOWN = 129; // 0x81
+  }
+
+  public final class ImsCallProfile implements android.os.Parcelable {
+    ctor public ImsCallProfile();
+    ctor public ImsCallProfile(int, int);
+    ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile);
+    method public int describeContents();
+    method @NonNull public java.util.Set<android.telephony.ims.RtpHeaderExtensionType> getAcceptedRtpHeaderExtensionTypes();
+    method public String getCallExtra(String);
+    method public String getCallExtra(String, String);
+    method public boolean getCallExtraBoolean(String);
+    method public boolean getCallExtraBoolean(String, boolean);
+    method public int getCallExtraInt(String);
+    method public int getCallExtraInt(String, int);
+    method @Nullable public <T extends android.os.Parcelable> T getCallExtraParcelable(@Nullable String);
+    method public android.os.Bundle getCallExtras();
+    method public int getCallType();
+    method public static int getCallTypeFromVideoState(int);
+    method public int getCallerNumberVerificationStatus();
+    method public int getEmergencyCallRouting();
+    method public int getEmergencyServiceCategories();
+    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
+    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
+    method @NonNull public android.os.Bundle getProprietaryCallExtras();
+    method public int getRestrictCause();
+    method public int getServiceType();
+    method public static int getVideoStateFromCallType(int);
+    method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile);
+    method public boolean hasKnownUserIntentEmergency();
+    method public boolean isEmergencyCallTesting();
+    method public boolean isVideoCall();
+    method public boolean isVideoPaused();
+    method public static int presentationToOir(int);
+    method public void setAcceptedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
+    method public void setCallExtra(String, String);
+    method public void setCallExtraBoolean(String, boolean);
+    method public void setCallExtraInt(String, int);
+    method public void setCallExtraParcelable(@NonNull String, @NonNull android.os.Parcelable);
+    method public void setCallRestrictCause(int);
+    method public void setCallerNumberVerificationStatus(int);
+    method public void setEmergencyCallRouting(int);
+    method public void setEmergencyCallTesting(boolean);
+    method public void setEmergencyServiceCategories(int);
+    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
+    method public void setHasKnownUserIntentEmergency(boolean);
+    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
+    method public void updateCallType(android.telephony.ims.ImsCallProfile);
+    method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2
+    field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3
+    field public static final int CALL_RESTRICT_CAUSE_NONE = 0; // 0x0
+    field public static final int CALL_RESTRICT_CAUSE_RAT = 1; // 0x1
+    field public static final int CALL_TYPE_VIDEO_N_VOICE = 3; // 0x3
+    field public static final int CALL_TYPE_VOICE = 2; // 0x2
+    field public static final int CALL_TYPE_VOICE_N_VIDEO = 1; // 0x1
+    field public static final int CALL_TYPE_VS = 8; // 0x8
+    field public static final int CALL_TYPE_VS_RX = 10; // 0xa
+    field public static final int CALL_TYPE_VS_TX = 9; // 0x9
+    field public static final int CALL_TYPE_VT = 4; // 0x4
+    field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
+    field public static final int CALL_TYPE_VT_RX = 6; // 0x6
+    field public static final int CALL_TYPE_VT_TX = 5; // 0x5
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
+    field public static final int DIALSTRING_NORMAL = 0; // 0x0
+    field public static final int DIALSTRING_SS_CONF = 1; // 0x1
+    field public static final int DIALSTRING_USSD = 2; // 0x2
+    field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo";
+    field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS";
+    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
+    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
+    field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
+    field public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
+    field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
+    field public static final String EXTRA_CNA = "cna";
+    field public static final String EXTRA_CNAP = "cnap";
+    field public static final String EXTRA_CODEC = "Codec";
+    field public static final String EXTRA_CONFERENCE = "android.telephony.ims.extra.CONFERENCE";
+    field public static final String EXTRA_DIALSTRING = "dialstring";
+    field public static final String EXTRA_DISPLAY_TEXT = "DisplayText";
+    field public static final String EXTRA_EMERGENCY_CALL = "e_call";
+    field public static final String EXTRA_EXTENDING_TO_CONFERENCE_SUPPORTED = "android.telephony.ims.extra.EXTENDING_TO_CONFERENCE_SUPPORTED";
+    field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
+    field public static final String EXTRA_IS_BUSINESS_CALL = "android.telephony.ims.extra.IS_BUSINESS_CALL";
+    field public static final String EXTRA_IS_CALL_PULL = "CallPull";
+    field public static final String EXTRA_IS_CROSS_SIM_CALL = "android.telephony.ims.extra.IS_CROSS_SIM_CALL";
+    field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
+    field public static final String EXTRA_OI = "oi";
+    field public static final String EXTRA_OIR = "oir";
+    field public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
+    field public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
+    field public static final String EXTRA_REMOTE_URI = "remote_uri";
+    field public static final String EXTRA_USSD = "ussd";
+    field public static final int OIR_DEFAULT = 0; // 0x0
+    field public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; // 0x2
+    field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
+    field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
+    field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
+    field public static final int PRIORITY_NORMAL = 0; // 0x0
+    field public static final int PRIORITY_URGENT = 1; // 0x1
+    field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
+    field public static final int SERVICE_TYPE_NONE = 0; // 0x0
+    field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1
+    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
+    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
+    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
+  }
+
+  public class ImsCallSessionListener {
+    method public void callQualityChanged(@NonNull android.telephony.CallQuality);
+    method public void callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
+    method public void callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
+    method public void callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState);
+    method public void callSessionDtmfReceived(char);
+    method @Deprecated public void callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo);
+    method @Deprecated public void callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo);
+    method public void callSessionHeld(android.telephony.ims.ImsCallProfile);
+    method public void callSessionHoldFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionHoldReceived(android.telephony.ims.ImsCallProfile);
+    method public void callSessionInitiated(android.telephony.ims.ImsCallProfile);
+    method @Deprecated public void callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionInitiating(@NonNull android.telephony.ims.ImsCallProfile);
+    method public void callSessionInitiatingFailed(@NonNull android.telephony.ims.ImsReasonInfo);
+    method public void callSessionInviteParticipantsRequestDelivered();
+    method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
+    method @Deprecated public void callSessionMayHandover(int, int);
+    method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
+    method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
+    method public void callSessionMultipartyStateChanged(boolean);
+    method public void callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile);
+    method public void callSessionRemoveParticipantsRequestDelivered();
+    method public void callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionResumeFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionResumeReceived(android.telephony.ims.ImsCallProfile);
+    method public void callSessionResumed(android.telephony.ims.ImsCallProfile);
+    method public void callSessionRtpHeaderExtensionsReceived(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
+    method public void callSessionRttAudioIndicatorChanged(@NonNull android.telephony.ims.ImsStreamMediaProfile);
+    method public void callSessionRttMessageReceived(String);
+    method public void callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile);
+    method public void callSessionRttModifyResponseReceived(int);
+    method public void callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification);
+    method public void callSessionTerminated(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionTtyModeReceived(int);
+    method public void callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo);
+    method public void callSessionUpdateReceived(android.telephony.ims.ImsCallProfile);
+    method public void callSessionUpdated(android.telephony.ims.ImsCallProfile);
+    method public void callSessionUssdMessageReceived(int, String);
+    method public void onHandover(int, int, @Nullable android.telephony.ims.ImsReasonInfo);
+    method public void onHandoverFailed(int, int, @NonNull android.telephony.ims.ImsReasonInfo);
+    method public void onMayHandover(int, int);
+  }
+
+  public final class ImsConferenceState implements android.os.Parcelable {
+    method public int describeContents();
+    method public static int getConnectionStateForStatus(String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
+    field public static final String DISPLAY_TEXT = "display-text";
+    field public static final String ENDPOINT = "endpoint";
+    field public static final String SIP_STATUS_CODE = "sipstatuscode";
+    field public static final String STATUS = "status";
+    field public static final String STATUS_ALERTING = "alerting";
+    field public static final String STATUS_CONNECTED = "connected";
+    field public static final String STATUS_CONNECT_FAIL = "connect-fail";
+    field public static final String STATUS_DIALING_IN = "dialing-in";
+    field public static final String STATUS_DIALING_OUT = "dialing-out";
+    field public static final String STATUS_DISCONNECTED = "disconnected";
+    field public static final String STATUS_DISCONNECTING = "disconnecting";
+    field public static final String STATUS_MUTED_VIA_FOCUS = "muted-via-focus";
+    field public static final String STATUS_ON_HOLD = "on-hold";
+    field public static final String STATUS_PENDING = "pending";
+    field public static final String STATUS_SEND_ONLY = "sendonly";
+    field public static final String STATUS_SEND_RECV = "sendrecv";
+    field public static final String USER = "user";
+    field public final java.util.HashMap<java.lang.String,android.os.Bundle> mParticipants;
+  }
+
+  public final class ImsException extends java.lang.Exception {
+    ctor public ImsException(@Nullable String);
+    ctor public ImsException(@Nullable String, int);
+    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
+  }
+
+  public final class ImsExternalCallState implements android.os.Parcelable {
+    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
+    method public int describeContents();
+    method @NonNull public android.net.Uri getAddress();
+    method public int getCallId();
+    method public int getCallState();
+    method public int getCallType();
+    method @Nullable public android.net.Uri getLocalAddress();
+    method public boolean isCallHeld();
+    method public boolean isCallPullable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
+    field public static final int CALL_STATE_TERMINATED = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
+  }
+
+  public class ImsManager {
+    method @NonNull public android.telephony.ims.SipDelegateManager getSipDelegateManager(int);
+  }
+
+  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
+    method @Deprecated @NonNull @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public static android.telephony.ims.ImsMmTelManager createForSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getFeatureState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void isSupported(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>) throws android.telephony.ims.ImsException;
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCrossSimCallingEnabled(boolean) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
+  }
+
+  @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback {
+    ctor @Deprecated public ImsMmTelManager.RegistrationCallback();
+    method @Deprecated public void onRegistered(int);
+    method @Deprecated public void onRegistering(int);
+  }
+
+  public class ImsRcsManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void addOnAvailabilityChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnAvailabilityChangedListener(@NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener);
+  }
+
+  public static interface ImsRcsManager.OnAvailabilityChangedListener {
+    method public void onAvailabilityChanged(int);
+  }
+
+  public final class ImsReasonInfo implements android.os.Parcelable {
+    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
+  }
+
+  public final class ImsRegistrationAttributes implements android.os.Parcelable {
+    method public int getRegistrationTechnology();
+  }
+
+  public static final class ImsRegistrationAttributes.Builder {
+    ctor public ImsRegistrationAttributes.Builder(int);
+    method @NonNull public android.telephony.ims.ImsRegistrationAttributes build();
+    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFeatureTags(@NonNull java.util.Set<java.lang.String>);
+  }
+
+  public class ImsService extends android.app.Service {
+    ctor public ImsService();
+    method public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
+    method public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
+    method public void disableIms(int);
+    method public void enableIms(int);
+    method public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
+    method public long getImsServiceCapabilities();
+    method public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
+    method @Nullable public android.telephony.ims.stub.SipTransportImplBase getSipTransport(int);
+    method public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) throws android.os.RemoteException;
+    method public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
+    method public void readyForFeatureCreation();
+    field public static final long CAPABILITY_SIP_DELEGATE_CREATION = 2L; // 0x2L
+  }
+
+  public final class ImsSsData implements android.os.Parcelable {
+    ctor public ImsSsData(int, int, int, int, int);
+    method public int describeContents();
+    method @Nullable public java.util.List<android.telephony.ims.ImsCallForwardInfo> getCallForwardInfo();
+    method public int getRequestType();
+    method public int getResult();
+    method public int getServiceClass();
+    method public int getServiceType();
+    method @NonNull public java.util.List<android.telephony.ims.ImsSsInfo> getSuppServiceInfo();
+    method public int getTeleserviceType();
+    method public boolean isTypeBarring();
+    method public boolean isTypeCf();
+    method public boolean isTypeClip();
+    method public boolean isTypeClir();
+    method public boolean isTypeColp();
+    method public boolean isTypeColr();
+    method public boolean isTypeCw();
+    method public boolean isTypeIcb();
+    method public boolean isTypeInterrogation();
+    method public boolean isTypeUnConditional();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+    field public static final int SERVICE_CLASS_DATA = 2; // 0x2
+    field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
+    field public static final int SERVICE_CLASS_DATA_CIRCUIT_SYNC = 16; // 0x10
+    field public static final int SERVICE_CLASS_DATA_PACKET_ACCESS = 64; // 0x40
+    field public static final int SERVICE_CLASS_DATA_PAD = 128; // 0x80
+    field public static final int SERVICE_CLASS_FAX = 4; // 0x4
+    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
+    field public static final int SERVICE_CLASS_SMS = 8; // 0x8
+    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
+    field public static final int SS_ACTIVATION = 0; // 0x0
+    field public static final int SS_ALL_BARRING = 18; // 0x12
+    field public static final int SS_ALL_DATA_TELESERVICES = 3; // 0x3
+    field public static final int SS_ALL_TELESERVICES_EXCEPT_SMS = 5; // 0x5
+    field public static final int SS_ALL_TELESEVICES = 1; // 0x1
+    field public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; // 0x0
+    field public static final int SS_BAIC = 16; // 0x10
+    field public static final int SS_BAIC_ROAMING = 17; // 0x11
+    field public static final int SS_BAOC = 13; // 0xd
+    field public static final int SS_BAOIC = 14; // 0xe
+    field public static final int SS_BAOIC_EXC_HOME = 15; // 0xf
+    field public static final int SS_CFU = 0; // 0x0
+    field public static final int SS_CFUT = 6; // 0x6
+    field public static final int SS_CF_ALL = 4; // 0x4
+    field public static final int SS_CF_ALL_CONDITIONAL = 5; // 0x5
+    field public static final int SS_CF_BUSY = 1; // 0x1
+    field public static final int SS_CF_NOT_REACHABLE = 3; // 0x3
+    field public static final int SS_CF_NO_REPLY = 2; // 0x2
+    field public static final int SS_CLIP = 7; // 0x7
+    field public static final int SS_CLIR = 8; // 0x8
+    field public static final int SS_CNAP = 11; // 0xb
+    field public static final int SS_COLP = 9; // 0x9
+    field public static final int SS_COLR = 10; // 0xa
+    field public static final int SS_DEACTIVATION = 1; // 0x1
+    field public static final int SS_ERASURE = 4; // 0x4
+    field public static final int SS_INCOMING_BARRING = 20; // 0x14
+    field public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; // 0x16
+    field public static final int SS_INCOMING_BARRING_DN = 21; // 0x15
+    field public static final int SS_INTERROGATION = 2; // 0x2
+    field public static final int SS_OUTGOING_BARRING = 19; // 0x13
+    field public static final int SS_REGISTRATION = 3; // 0x3
+    field public static final int SS_SMS_SERVICES = 4; // 0x4
+    field public static final int SS_TELEPHONY = 2; // 0x2
+    field public static final int SS_WAIT = 12; // 0xc
+  }
+
+  public static final class ImsSsData.Builder {
+    ctor public ImsSsData.Builder(int, int, int, int, int);
+    method @NonNull public android.telephony.ims.ImsSsData build();
+    method @NonNull public android.telephony.ims.ImsSsData.Builder setCallForwardingInfo(@NonNull java.util.List<android.telephony.ims.ImsCallForwardInfo>);
+    method @NonNull public android.telephony.ims.ImsSsData.Builder setSuppServiceInfo(@NonNull java.util.List<android.telephony.ims.ImsSsInfo>);
+  }
+
+  public final class ImsSsInfo implements android.os.Parcelable {
+    ctor @Deprecated public ImsSsInfo(int, @Nullable String);
+    method public int describeContents();
+    method public int getClirInterrogationStatus();
+    method public int getClirOutgoingState();
+    method @Deprecated public String getIcbNum();
+    method @Nullable public String getIncomingCommunicationBarringNumber();
+    method public int getProvisionStatus();
+    method public int getStatus();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CLIR_OUTGOING_DEFAULT = 0; // 0x0
+    field public static final int CLIR_OUTGOING_INVOCATION = 1; // 0x1
+    field public static final int CLIR_OUTGOING_SUPPRESSION = 2; // 0x2
+    field public static final int CLIR_STATUS_NOT_PROVISIONED = 0; // 0x0
+    field public static final int CLIR_STATUS_PROVISIONED_PERMANENT = 1; // 0x1
+    field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
+    field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
+    field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
+    field public static final int DISABLED = 0; // 0x0
+    field public static final int ENABLED = 1; // 0x1
+    field public static final int NOT_REGISTERED = -1; // 0xffffffff
+    field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
+    field public static final int SERVICE_PROVISIONED = 1; // 0x1
+    field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public static final class ImsSsInfo.Builder {
+    ctor public ImsSsInfo.Builder(int);
+    method @NonNull public android.telephony.ims.ImsSsInfo build();
+    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirInterrogationStatus(int);
+    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirOutgoingState(int);
+    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setIncomingCommunicationBarringNumber(@NonNull String);
+    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int);
+  }
+
+  public final class ImsStreamMediaProfile implements android.os.Parcelable {
+    ctor public ImsStreamMediaProfile(int, int, int, int, int);
+    method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile);
+    method public int describeContents();
+    method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes();
+    method public int getAudioDirection();
+    method public int getAudioQuality();
+    method public int getRttMode();
+    method public int getVideoDirection();
+    method public int getVideoQuality();
+    method public boolean isReceivingRttAudio();
+    method public boolean isRttCall();
+    method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes);
+    method public void setReceivingRttAudio(boolean);
+    method public void setRttMode(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int AUDIO_QUALITY_AMR = 1; // 0x1
+    field public static final int AUDIO_QUALITY_AMR_WB = 2; // 0x2
+    field public static final int AUDIO_QUALITY_EVRC = 4; // 0x4
+    field public static final int AUDIO_QUALITY_EVRC_B = 5; // 0x5
+    field public static final int AUDIO_QUALITY_EVRC_NW = 7; // 0x7
+    field public static final int AUDIO_QUALITY_EVRC_WB = 6; // 0x6
+    field public static final int AUDIO_QUALITY_EVS_FB = 20; // 0x14
+    field public static final int AUDIO_QUALITY_EVS_NB = 17; // 0x11
+    field public static final int AUDIO_QUALITY_EVS_SWB = 19; // 0x13
+    field public static final int AUDIO_QUALITY_EVS_WB = 18; // 0x12
+    field public static final int AUDIO_QUALITY_G711A = 13; // 0xd
+    field public static final int AUDIO_QUALITY_G711AB = 15; // 0xf
+    field public static final int AUDIO_QUALITY_G711U = 11; // 0xb
+    field public static final int AUDIO_QUALITY_G722 = 14; // 0xe
+    field public static final int AUDIO_QUALITY_G723 = 12; // 0xc
+    field public static final int AUDIO_QUALITY_G729 = 16; // 0x10
+    field public static final int AUDIO_QUALITY_GSM_EFR = 8; // 0x8
+    field public static final int AUDIO_QUALITY_GSM_FR = 9; // 0x9
+    field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
+    field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
+    field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
+    field public static final int DIRECTION_INACTIVE = 0; // 0x0
+    field public static final int DIRECTION_INVALID = -1; // 0xffffffff
+    field public static final int DIRECTION_RECEIVE = 1; // 0x1
+    field public static final int DIRECTION_SEND = 2; // 0x2
+    field public static final int DIRECTION_SEND_RECEIVE = 3; // 0x3
+    field public static final int RTT_MODE_DISABLED = 0; // 0x0
+    field public static final int RTT_MODE_FULL = 1; // 0x1
+    field public static final int VIDEO_QUALITY_NONE = 0; // 0x0
+    field public static final int VIDEO_QUALITY_QCIF = 1; // 0x1
+    field public static final int VIDEO_QUALITY_QVGA_LANDSCAPE = 2; // 0x2
+    field public static final int VIDEO_QUALITY_QVGA_PORTRAIT = 4; // 0x4
+    field public static final int VIDEO_QUALITY_VGA_LANDSCAPE = 8; // 0x8
+    field public static final int VIDEO_QUALITY_VGA_PORTRAIT = 16; // 0x10
+  }
+
+  public final class ImsSuppServiceNotification implements android.os.Parcelable {
+    ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
+    field public final int code;
+    field public final String[] history;
+    field public final int index;
+    field public final int notificationType;
+    field public final String number;
+    field public final int type;
+  }
+
+  public class ImsUtListener {
+    method public void onLineIdentificationSupplementaryServiceResponse(int, @NonNull android.telephony.ims.ImsSsInfo);
+    method public void onSupplementaryServiceIndication(android.telephony.ims.ImsSsData);
+    method public void onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]);
+    method public void onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]);
+    method public void onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]);
+    method @Deprecated public void onUtConfigurationQueried(int, android.os.Bundle);
+    method public void onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo);
+    method public void onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo);
+    method public void onUtConfigurationUpdated(int);
+    field @Deprecated public static final String BUNDLE_KEY_CLIR = "queryClir";
+    field @Deprecated public static final String BUNDLE_KEY_SSINFO = "imsSsInfo";
+  }
+
+  public abstract class ImsVideoCallProvider {
+    ctor public ImsVideoCallProvider();
+    method public void changeCallDataUsage(long);
+    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
+    method public void changePeerDimensions(int, int);
+    method public void changeVideoQuality(int);
+    method public void handleCallSessionEvent(int);
+    method public abstract void onRequestCallDataUsage();
+    method public abstract void onRequestCameraCapabilities();
+    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
+    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
+    method public abstract void onSetCamera(String);
+    method public void onSetCamera(String, int);
+    method public abstract void onSetDeviceOrientation(int);
+    method public abstract void onSetDisplaySurface(android.view.Surface);
+    method public abstract void onSetPauseImage(android.net.Uri);
+    method public abstract void onSetPreviewSurface(android.view.Surface);
+    method public abstract void onSetZoom(float);
+    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
+    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
+  }
+
+  public class ProvisioningManager {
+    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getProvisioningStatusForCapability(int, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public boolean isRcsVolteSingleRegistrationCapable() throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerProvisioningChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.Callback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public void registerRcsProvisioningCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.RcsProvisioningCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(int, int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerRcsReconfiguration();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public void unregisterRcsProvisioningCallback(@NonNull android.telephony.ims.ProvisioningManager.RcsProvisioningCallback);
+    field @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public static final String ACTION_RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE = "android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE";
+    field public static final String EXTRA_STATUS = "android.telephony.ims.extra.STATUS";
+    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.ims.extra.SUBSCRIPTION_ID";
+    field public static final int KEY_VOICE_OVER_WIFI_ENTITLEMENT_ID = 67; // 0x43
+    field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
+    field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
+    field public static final int PROVISIONING_VALUE_DISABLED = 0; // 0x0
+    field public static final int PROVISIONING_VALUE_ENABLED = 1; // 0x1
+    field public static final int STATUS_CAPABLE = 0; // 0x0
+    field public static final int STATUS_CARRIER_NOT_CAPABLE = 2; // 0x2
+    field public static final int STATUS_DEVICE_NOT_CAPABLE = 1; // 0x1
+    field public static final String STRING_QUERY_RESULT_ERROR_GENERIC = "STRING_QUERY_RESULT_ERROR_GENERIC";
+    field public static final String STRING_QUERY_RESULT_ERROR_NOT_READY = "STRING_QUERY_RESULT_ERROR_NOT_READY";
+  }
+
+  public static class ProvisioningManager.Callback {
+    ctor public ProvisioningManager.Callback();
+    method public void onProvisioningIntChanged(int, int);
+    method public void onProvisioningStringChanged(int, @NonNull String);
+  }
+
+  public static class ProvisioningManager.RcsProvisioningCallback {
+    ctor public ProvisioningManager.RcsProvisioningCallback();
+    method public void onAutoConfigurationErrorReceived(int, @NonNull String);
+    method public void onConfigurationChanged(@NonNull byte[]);
+    method public void onConfigurationReset();
+    method public void onPreProvisioningReceived(@NonNull byte[]);
+    method public void onRemoved();
+  }
+
+  public final class RcsClientConfiguration implements android.os.Parcelable {
+    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
+    method public int describeContents();
+    method @NonNull public String getClientVendor();
+    method @NonNull public String getClientVersion();
+    method @NonNull public String getRcsProfile();
+    method @NonNull public String getRcsVersion();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
+    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
+    field public static final String RCS_PROFILE_2_3 = "UP_2.3";
+  }
+
+  public final class RcsContactPresenceTuple implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.net.Uri getContactUri();
+    method @Nullable public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities getServiceCapabilities();
+    method @Nullable public String getServiceDescription();
+    method @NonNull public String getServiceId();
+    method @NonNull public String getServiceVersion();
+    method @NonNull public String getStatus();
+    method @Nullable public java.time.Instant getTime();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple> CREATOR;
+    field public static final String SERVICE_ID_CALL_COMPOSER = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callcomposer";
+    field public static final String SERVICE_ID_CHATBOT = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot";
+    field public static final String SERVICE_ID_CHATBOT_ROLE = "org.gsma.rcs.isbot";
+    field public static final String SERVICE_ID_CHATBOT_STANDALONE = " org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot.sa";
+    field public static final String SERVICE_ID_CHAT_V1 = "org.openmobilealliance:IM-session";
+    field public static final String SERVICE_ID_CHAT_V2 = "org.openmobilealliance:ChatSession";
+    field public static final String SERVICE_ID_FT = "org.openmobilealliance:File-Transfer-HTTP";
+    field public static final String SERVICE_ID_FT_OVER_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.ftsms";
+    field public static final String SERVICE_ID_GEO_PUSH = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geopush";
+    field public static final String SERVICE_ID_GEO_PUSH_VIA_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geosms";
+    field public static final String SERVICE_ID_MMTEL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel";
+    field public static final String SERVICE_ID_POST_CALL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callunanswered";
+    field public static final String SERVICE_ID_SHARED_MAP = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedmap";
+    field public static final String SERVICE_ID_SHARED_SKETCH = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedsketch";
+    field public static final String TUPLE_BASIC_STATUS_CLOSED = "closed";
+    field public static final String TUPLE_BASIC_STATUS_OPEN = "open";
+  }
+
+  public static final class RcsContactPresenceTuple.Builder {
+    ctor public RcsContactPresenceTuple.Builder(@NonNull String, @NonNull String, @NonNull String);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple build();
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setContactUri(@NonNull android.net.Uri);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceCapabilities(@NonNull android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceDescription(@NonNull String);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setTime(@NonNull java.time.Instant);
+  }
+
+  public static final class RcsContactPresenceTuple.ServiceCapabilities implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<java.lang.String> getSupportedDuplexModes();
+    method @NonNull public java.util.List<java.lang.String> getUnsupportedDuplexModes();
+    method public boolean isAudioCapable();
+    method public boolean isVideoCapable();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities> CREATOR;
+    field public static final String DUPLEX_MODE_FULL = "full";
+    field public static final String DUPLEX_MODE_HALF = "half";
+    field public static final String DUPLEX_MODE_RECEIVE_ONLY = "receive-only";
+    field public static final String DUPLEX_MODE_SEND_ONLY = "send-only";
+  }
+
+  public static final class RcsContactPresenceTuple.ServiceCapabilities.Builder {
+    ctor public RcsContactPresenceTuple.ServiceCapabilities.Builder(boolean, boolean);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addSupportedDuplexMode(@NonNull String);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addUnsupportedDuplexMode(@NonNull String);
+    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities build();
+  }
+
+  public final class RcsContactUceCapability implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCapabilityMechanism();
+    method @Nullable public android.telephony.ims.RcsContactPresenceTuple getCapabilityTuple(@NonNull String);
+    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getCapabilityTuples();
+    method @NonNull public android.net.Uri getContactUri();
+    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
+    method public int getRequestResult();
+    method public int getSourceType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CAPABILITY_MECHANISM_OPTIONS = 2; // 0x2
+    field public static final int CAPABILITY_MECHANISM_PRESENCE = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
+    field public static final int REQUEST_RESULT_FOUND = 3; // 0x3
+    field public static final int REQUEST_RESULT_NOT_FOUND = 2; // 0x2
+    field public static final int REQUEST_RESULT_NOT_ONLINE = 1; // 0x1
+    field public static final int REQUEST_RESULT_UNKNOWN = 0; // 0x0
+    field public static final int SOURCE_TYPE_CACHED = 1; // 0x1
+    field public static final int SOURCE_TYPE_NETWORK = 0; // 0x0
+  }
+
+  public static final class RcsContactUceCapability.OptionsBuilder {
+    ctor public RcsContactUceCapability.OptionsBuilder(@NonNull android.net.Uri);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTag(@NonNull String);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTags(@NonNull java.util.Set<java.lang.String>);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
+    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder setRequestResult(int);
+  }
+
+  public static final class RcsContactUceCapability.PresenceBuilder {
+    ctor public RcsContactUceCapability.PresenceBuilder(@NonNull android.net.Uri, int, int);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuple(@NonNull android.telephony.ims.RcsContactPresenceTuple);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuples(@NonNull java.util.List<android.telephony.ims.RcsContactPresenceTuple>);
+    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
+  }
+
+  public class RcsUceAdapter {
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void addOnPublishStateChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getUcePublishState() throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnPublishStateChangedListener(@NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestAvailability(@NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
+    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
+    field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 4; // 0x4
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 5; // 0x5
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 9; // 0x9
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 2; // 0x2
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 3; // 0x3
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
+    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 8; // 0x8
+    field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 0; // 0x0
+    field public static final int ERROR_FORBIDDEN = 6; // 0x6
+    field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
+    field public static final int ERROR_INSUFFICIENT_MEMORY = 10; // 0xa
+    field public static final int ERROR_LOST_NETWORK = 11; // 0xb
+    field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
+    field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
+    field public static final int ERROR_NOT_ENABLED = 2; // 0x2
+    field public static final int ERROR_NOT_FOUND = 7; // 0x7
+    field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
+    field public static final int ERROR_REQUEST_TIMEOUT = 9; // 0x9
+    field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
+    field public static final int ERROR_SERVER_UNAVAILABLE = 12; // 0xc
+    field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
+    field public static final int PUBLISH_STATE_OK = 1; // 0x1
+    field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
+    field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
+    field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
+    field public static final int PUBLISH_STATE_VOICE_PROVISION_ERROR = 3; // 0x3
+  }
+
+  public static interface RcsUceAdapter.CapabilitiesCallback {
+    method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
+    method public void onComplete();
+    method public void onError(int, long);
+  }
+
+  public static interface RcsUceAdapter.OnPublishStateChangedListener {
+    method public void onPublishStateChange(int);
+  }
+
+  public final class RtpHeaderExtension implements android.os.Parcelable {
+    ctor public RtpHeaderExtension(@IntRange(from=1, to=14) int, @NonNull byte[]);
+    method public int describeContents();
+    method @NonNull public byte[] getExtensionData();
+    method @IntRange(from=1, to=14) public int getLocalIdentifier();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtension> CREATOR;
+  }
+
+  public final class RtpHeaderExtensionType implements android.os.Parcelable {
+    ctor public RtpHeaderExtensionType(@IntRange(from=1, to=14) int, @NonNull android.net.Uri);
+    method public int describeContents();
+    method @IntRange(from=1, to=14) public int getLocalIdentifier();
+    method @NonNull public android.net.Uri getUri();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtensionType> CREATOR;
+  }
+
+  public final class SipDelegateConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getHomeDomain();
+    method @Nullable public String getImei();
+    method @Nullable public android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration getIpSecConfiguration();
+    method @NonNull public java.net.InetSocketAddress getLocalAddress();
+    method public int getMaxUdpPayloadSizeBytes();
+    method @Nullable public java.net.InetSocketAddress getNatSocketAddress();
+    method @Nullable public String getPrivateUserIdentifier();
+    method @Nullable public android.net.Uri getPublicGruuUri();
+    method @Nullable public String getPublicUserIdentifier();
+    method @Nullable public String getSipAssociatedUriHeader();
+    method @Nullable public String getSipAuthenticationHeader();
+    method @Nullable public String getSipAuthenticationNonce();
+    method @Nullable public String getSipCniHeader();
+    method @Nullable public String getSipContactUserParameter();
+    method @Nullable public String getSipPaniHeader();
+    method @Nullable public String getSipPathHeader();
+    method @Nullable public String getSipPlaniHeader();
+    method @NonNull public java.net.InetSocketAddress getSipServerAddress();
+    method @Nullable public String getSipServiceRouteHeader();
+    method @Nullable public String getSipUserAgentHeader();
+    method public int getTransportType();
+    method @IntRange(from=0) public long getVersion();
+    method public boolean isSipCompactFormEnabled();
+    method public boolean isSipKeepaliveEnabled();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateConfiguration> CREATOR;
+    field public static final int SIP_TRANSPORT_TCP = 1; // 0x1
+    field public static final int SIP_TRANSPORT_UDP = 0; // 0x0
+    field public static final int UDP_PAYLOAD_SIZE_UNDEFINED = -1; // 0xffffffff
+  }
+
+  public static final class SipDelegateConfiguration.Builder {
+    ctor public SipDelegateConfiguration.Builder(@IntRange(from=0) long, int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
+    ctor public SipDelegateConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateConfiguration);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration build();
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setHomeDomain(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setImei(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setIpSecConfiguration(@Nullable android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setMaxUdpPayloadSizeBytes(@IntRange(from=1) int);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setNatSocketAddress(@Nullable java.net.InetSocketAddress);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPrivateUserIdentifier(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicGruuUri(@Nullable android.net.Uri);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicUserIdentifier(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAssociatedUriHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationNonce(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCniHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCompactFormEnabled(boolean);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipContactUserParameter(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipKeepaliveEnabled(boolean);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPaniHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPathHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPlaniHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipServiceRouteHeader(@Nullable String);
+    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipUserAgentHeader(@Nullable String);
+  }
+
+  public static final class SipDelegateConfiguration.IpSecConfiguration {
+    ctor public SipDelegateConfiguration.IpSecConfiguration(int, int, int, int, int, int, @NonNull String);
+    method public int getLastLocalTxPort();
+    method public int getLastRemoteTxPort();
+    method public int getLocalRxPort();
+    method public int getLocalTxPort();
+    method public int getRemoteRxPort();
+    method public int getRemoteTxPort();
+    method @NonNull public String getSipSecurityVerifyHeader();
+  }
+
+  public interface SipDelegateConnection {
+    method public void cleanupSession(@NonNull String);
+    method public void notifyMessageReceiveError(@NonNull String, int);
+    method public void notifyMessageReceived(@NonNull String);
+    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
+  }
+
+  public class SipDelegateManager {
+    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void createSipDelegate(@NonNull android.telephony.ims.DelegateRequest, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.stub.DelegateConnectionStateCallback, @NonNull android.telephony.ims.stub.DelegateConnectionMessageCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void destroySipDelegate(@NonNull android.telephony.ims.SipDelegateConnection, int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public boolean isSupported() throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerFullNetworkRegistration(@NonNull android.telephony.ims.SipDelegateConnection, @IntRange(from=100, to=699) int, @Nullable String);
+    field public static final int DENIED_REASON_INVALID = 4; // 0x4
+    field public static final int DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE = 1; // 0x1
+    field public static final int DENIED_REASON_NOT_ALLOWED = 2; // 0x2
+    field public static final int DENIED_REASON_SINGLE_REGISTRATION_NOT_ALLOWED = 3; // 0x3
+    field public static final int DENIED_REASON_UNKNOWN = 0; // 0x0
+    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_CLOSED = 2; // 0x2
+    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_DEAD = 1; // 0x1
+    field public static final int MESSAGE_FAILURE_REASON_INTERNAL_DELEGATE_STATE_TRANSITION = 11; // 0xb
+    field public static final int MESSAGE_FAILURE_REASON_INVALID_BODY_CONTENT = 5; // 0x5
+    field public static final int MESSAGE_FAILURE_REASON_INVALID_FEATURE_TAG = 6; // 0x6
+    field public static final int MESSAGE_FAILURE_REASON_INVALID_HEADER_FIELDS = 4; // 0x4
+    field public static final int MESSAGE_FAILURE_REASON_INVALID_START_LINE = 3; // 0x3
+    field public static final int MESSAGE_FAILURE_REASON_NETWORK_NOT_AVAILABLE = 8; // 0x8
+    field public static final int MESSAGE_FAILURE_REASON_NOT_REGISTERED = 9; // 0x9
+    field public static final int MESSAGE_FAILURE_REASON_STALE_IMS_CONFIGURATION = 10; // 0xa
+    field public static final int MESSAGE_FAILURE_REASON_TAG_NOT_ENABLED_FOR_DELEGATE = 7; // 0x7
+    field public static final int MESSAGE_FAILURE_REASON_UNKNOWN = 0; // 0x0
+    field public static final int SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP = 2; // 0x2
+    field public static final int SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD = 1; // 0x1
+    field public static final int SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN = 4; // 0x4
+    field public static final int SIP_DELEGATE_DESTROY_REASON_UNKNOWN = 0; // 0x0
+    field public static final int SIP_DELEGATE_DESTROY_REASON_USER_DISABLED_RCS = 3; // 0x3
+  }
+
+  public final class SipMessage implements android.os.Parcelable {
+    ctor public SipMessage(@NonNull String, @NonNull String, @NonNull byte[]);
+    method public int describeContents();
+    method @Nullable public String getCallIdParameter();
+    method @NonNull public byte[] getContent();
+    method @NonNull public String getHeaderSection();
+    method @NonNull public String getStartLine();
+    method @NonNull public String getViaBranchParameter();
+    method @NonNull public byte[] toEncodedMessage();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipMessage> CREATOR;
+  }
+
+}
+
+package android.telephony.ims.feature {
+
+  public final class CapabilityChangeRequest implements android.os.Parcelable {
+    method public void addCapabilitiesToDisableForTech(int, int);
+    method public void addCapabilitiesToEnableForTech(int, int);
+    method public int describeContents();
+    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
+    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
+  }
+
+  public static class CapabilityChangeRequest.CapabilityPair {
+    ctor public CapabilityChangeRequest.CapabilityPair(int, int);
+    method public int getCapability();
+    method public int getRadioTech();
+  }
+
+  public abstract class ImsFeature {
+    ctor public ImsFeature();
+    method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
+    method public int getFeatureState();
+    method public final int getSlotIndex();
+    method public abstract void onFeatureReady();
+    method public abstract void onFeatureRemoved();
+    method public final void setFeatureState(int);
+    field public static final int CAPABILITY_ERROR_GENERIC = -1; // 0xffffffff
+    field public static final int CAPABILITY_SUCCESS = 0; // 0x0
+    field public static final int FEATURE_EMERGENCY_MMTEL = 0; // 0x0
+    field public static final int FEATURE_MMTEL = 1; // 0x1
+    field public static final int FEATURE_RCS = 2; // 0x2
+    field public static final int STATE_INITIALIZING = 1; // 0x1
+    field public static final int STATE_READY = 2; // 0x2
+    field public static final int STATE_UNAVAILABLE = 0; // 0x0
+  }
+
+  @Deprecated public static class ImsFeature.Capabilities {
+    field @Deprecated protected int mCapabilities;
+  }
+
+  protected static class ImsFeature.CapabilityCallbackProxy {
+    method public void onChangeCapabilityConfigurationError(int, int, int);
+  }
+
+  public class MmTelFeature extends android.telephony.ims.feature.ImsFeature {
+    ctor public MmTelFeature();
+    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
+    method public void changeOfferedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
+    method @Nullable public android.telephony.ims.ImsCallProfile createCallProfile(int, int);
+    method @Nullable public android.telephony.ims.stub.ImsCallSessionImplBase createCallSession(@NonNull android.telephony.ims.ImsCallProfile);
+    method @NonNull public android.telephony.ims.stub.ImsEcbmImplBase getEcbm();
+    method @NonNull public android.telephony.ims.stub.ImsMultiEndpointImplBase getMultiEndpoint();
+    method @NonNull public android.telephony.ims.stub.ImsSmsImplBase getSmsImplementation();
+    method @NonNull public android.telephony.ims.stub.ImsUtImplBase getUt();
+    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
+    method public final void notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull android.os.Bundle);
+    method public final void notifyRejectedCall(@NonNull android.telephony.ims.ImsCallProfile, @NonNull android.telephony.ims.ImsReasonInfo);
+    method public final void notifyVoiceMessageCountUpdate(int);
+    method public void onFeatureReady();
+    method public void onFeatureRemoved();
+    method public boolean queryCapabilityConfiguration(int, int);
+    method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus();
+    method public void setUiTtyMode(int, @Nullable android.os.Message);
+    method public int shouldProcessCall(@NonNull String[]);
+    field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL";
+    field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD";
+    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
+    field public static final int PROCESS_CALL_IMS = 0; // 0x0
+  }
+
+  public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
+    ctor public MmTelFeature.MmTelCapabilities();
+    ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
+    ctor public MmTelFeature.MmTelCapabilities(int);
+    method public final void addCapabilities(int);
+    method public final void removeCapabilities(int);
+  }
+
+  public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
+    ctor @Deprecated public RcsFeature();
+    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
+    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
+    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
+    method public void destroyCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
+    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
+    method public void onFeatureReady();
+    method public void onFeatureRemoved();
+    method public boolean queryCapabilityConfiguration(int, int);
+    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
+  }
+
+  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
+    ctor public RcsFeature.RcsImsCapabilities(int);
+    method public void addCapabilities(int);
+    method public boolean isCapable(int);
+    method public void removeCapabilities(int);
+    field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
+    field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
+    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
+  }
+
+}
+
+package android.telephony.ims.stub {
+
+  public interface CapabilityExchangeEventListener {
+    method public void onRemoteCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.CapabilityExchangeEventListener.OptionsRequestCallback) throws android.telephony.ims.ImsException;
+    method public void onRequestPublishCapabilities(int) throws android.telephony.ims.ImsException;
+    method public void onUnpublish() throws android.telephony.ims.ImsException;
+  }
+
+  public static interface CapabilityExchangeEventListener.OptionsRequestCallback {
+    method public void onRespondToCapabilityRequest(@NonNull android.telephony.ims.RcsContactUceCapability, boolean);
+    method public void onRespondToCapabilityRequestWithError(@IntRange(from=100, to=699) int, @NonNull String);
+  }
+
+  public interface DelegateConnectionMessageCallback {
+    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
+    method public void onMessageSendFailure(@NonNull String, int);
+    method public void onMessageSent(@NonNull String);
+  }
+
+  public interface DelegateConnectionStateCallback {
+    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
+    method public void onCreated(@NonNull android.telephony.ims.SipDelegateConnection);
+    method public void onDestroyed(int);
+    method public void onFeatureTagStatusChanged(@NonNull android.telephony.ims.DelegateRegistrationState, @NonNull java.util.Set<android.telephony.ims.FeatureTagState>);
+  }
+
+  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
+    ctor public ImsCallSessionImplBase();
+    method public void accept(int, android.telephony.ims.ImsStreamMediaProfile);
+    method public void close();
+    method public void deflect(String);
+    method public void extendToConference(String[]);
+    method public String getCallId();
+    method public android.telephony.ims.ImsCallProfile getCallProfile();
+    method public android.telephony.ims.ImsVideoCallProvider getImsVideoCallProvider();
+    method public android.telephony.ims.ImsCallProfile getLocalCallProfile();
+    method public String getProperty(String);
+    method public android.telephony.ims.ImsCallProfile getRemoteCallProfile();
+    method public int getState();
+    method public void hold(android.telephony.ims.ImsStreamMediaProfile);
+    method public void inviteParticipants(String[]);
+    method public boolean isInCall();
+    method public boolean isMultiparty();
+    method public void merge();
+    method public void reject(int);
+    method public void removeParticipants(String[]);
+    method public void resume(android.telephony.ims.ImsStreamMediaProfile);
+    method public void sendDtmf(char, android.os.Message);
+    method public void sendRtpHeaderExtensions(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
+    method public void sendRttMessage(String);
+    method public void sendRttModifyRequest(android.telephony.ims.ImsCallProfile);
+    method public void sendRttModifyResponse(boolean);
+    method public void sendUssd(String);
+    method public void setListener(android.telephony.ims.ImsCallSessionListener);
+    method public void setMute(boolean);
+    method public void start(String, android.telephony.ims.ImsCallProfile);
+    method public void startConference(String[], android.telephony.ims.ImsCallProfile);
+    method public void startDtmf(char);
+    method public void stopDtmf();
+    method public void terminate(int);
+    method public void update(int, android.telephony.ims.ImsStreamMediaProfile);
+    field public static final int USSD_MODE_NOTIFY = 0; // 0x0
+    field public static final int USSD_MODE_REQUEST = 1; // 0x1
+  }
+
+  public static class ImsCallSessionImplBase.State {
+    method public static String toString(int);
+    field public static final int ESTABLISHED = 4; // 0x4
+    field public static final int ESTABLISHING = 3; // 0x3
+    field public static final int IDLE = 0; // 0x0
+    field public static final int INITIATED = 1; // 0x1
+    field public static final int INVALID = -1; // 0xffffffff
+    field public static final int NEGOTIATING = 2; // 0x2
+    field public static final int REESTABLISHING = 6; // 0x6
+    field public static final int RENEGOTIATING = 5; // 0x5
+    field public static final int TERMINATED = 8; // 0x8
+    field public static final int TERMINATING = 7; // 0x7
+  }
+
+  public class ImsConfigImplBase {
+    ctor public ImsConfigImplBase();
+    method public int getConfigInt(int);
+    method public String getConfigString(int);
+    method public final void notifyAutoConfigurationErrorReceived(int, @NonNull String);
+    method public final void notifyPreProvisioningReceived(@NonNull byte[]);
+    method public final void notifyProvisionedValueChanged(int, int);
+    method public final void notifyProvisionedValueChanged(int, String);
+    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
+    method public void notifyRcsAutoConfigurationRemoved();
+    method public int setConfig(int, int);
+    method public int setConfig(int, String);
+    method public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration);
+    method public void triggerAutoConfiguration();
+    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
+    field public static final int CONFIG_RESULT_SUCCESS = 0; // 0x0
+    field public static final int CONFIG_RESULT_UNKNOWN = -1; // 0xffffffff
+  }
+
+  public class ImsEcbmImplBase {
+    ctor public ImsEcbmImplBase();
+    method public final void enteredEcbm();
+    method public void exitEmergencyCallbackMode();
+    method public final void exitedEcbm();
+  }
+
+  public final class ImsFeatureConfiguration implements android.os.Parcelable {
+    method public int describeContents();
+    method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
+  }
+
+  public static class ImsFeatureConfiguration.Builder {
+    ctor public ImsFeatureConfiguration.Builder();
+    method public android.telephony.ims.stub.ImsFeatureConfiguration.Builder addFeature(int, int);
+    method public android.telephony.ims.stub.ImsFeatureConfiguration build();
+  }
+
+  public static final class ImsFeatureConfiguration.FeatureSlotPair {
+    ctor public ImsFeatureConfiguration.FeatureSlotPair(int, int);
+    field public final int featureType;
+    field public final int slotId;
+  }
+
+  public class ImsMultiEndpointImplBase {
+    ctor public ImsMultiEndpointImplBase();
+    method public final void onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>);
+    method public void requestImsExternalCallStateInfo();
+  }
+
+  public class ImsRegistrationImplBase {
+    ctor public ImsRegistrationImplBase();
+    method public final void onDeregistered(android.telephony.ims.ImsReasonInfo);
+    method public final void onRegistered(int);
+    method public final void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
+    method public final void onRegistering(int);
+    method public final void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
+    method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]);
+    method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
+    method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String);
+    method public void triggerSipDelegateDeregistration();
+    method public void updateSipDelegateRegistration();
+    field public static final int REGISTRATION_TECH_CROSS_SIM = 2; // 0x2
+    field public static final int REGISTRATION_TECH_IWLAN = 1; // 0x1
+    field public static final int REGISTRATION_TECH_LTE = 0; // 0x0
+    field public static final int REGISTRATION_TECH_NONE = -1; // 0xffffffff
+    field public static final int REGISTRATION_TECH_NR = 3; // 0x3
+  }
+
+  public class ImsSmsImplBase {
+    ctor public ImsSmsImplBase();
+    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int);
+    method public void acknowledgeSmsReport(int, @IntRange(from=0, to=65535) int, int);
+    method public String getSmsFormat();
+    method public void onReady();
+    method @Deprecated public final void onSendSmsResult(int, @IntRange(from=0, to=65535) int, int, int) throws java.lang.RuntimeException;
+    method public final void onSendSmsResultError(int, @IntRange(from=0, to=65535) int, int, int, int) throws java.lang.RuntimeException;
+    method public final void onSendSmsResultSuccess(int, @IntRange(from=0, to=65535) int) throws java.lang.RuntimeException;
+    method public final void onSmsReceived(int, String, byte[]) throws java.lang.RuntimeException;
+    method @Deprecated public final void onSmsStatusReportReceived(int, @IntRange(from=0, to=65535) int, String, byte[]) throws java.lang.RuntimeException;
+    method public final void onSmsStatusReportReceived(int, String, byte[]) throws java.lang.RuntimeException;
+    method public void sendSms(int, @IntRange(from=0, to=65535) int, String, String, boolean, byte[]);
+    field public static final int DELIVER_STATUS_ERROR_GENERIC = 2; // 0x2
+    field public static final int DELIVER_STATUS_ERROR_NO_MEMORY = 3; // 0x3
+    field public static final int DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED = 4; // 0x4
+    field public static final int DELIVER_STATUS_OK = 1; // 0x1
+    field public static final int RESULT_NO_NETWORK_ERROR = -1; // 0xffffffff
+    field public static final int SEND_STATUS_ERROR = 2; // 0x2
+    field public static final int SEND_STATUS_ERROR_FALLBACK = 4; // 0x4
+    field public static final int SEND_STATUS_ERROR_RETRY = 3; // 0x3
+    field public static final int SEND_STATUS_OK = 1; // 0x1
+    field public static final int STATUS_REPORT_STATUS_ERROR = 2; // 0x2
+    field public static final int STATUS_REPORT_STATUS_OK = 1; // 0x1
+  }
+
+  public class ImsUtImplBase {
+    ctor public ImsUtImplBase();
+    method public void close();
+    method public int queryCallBarring(int);
+    method public int queryCallBarringForServiceClass(int, int);
+    method public int queryCallForward(int, String);
+    method public int queryCallWaiting();
+    method public int queryClip();
+    method public int queryClir();
+    method public int queryColp();
+    method public int queryColr();
+    method public void setListener(android.telephony.ims.ImsUtListener);
+    method public int transact(android.os.Bundle);
+    method public int updateCallBarring(int, int, String[]);
+    method public int updateCallBarringForServiceClass(int, int, String[], int);
+    method public int updateCallForward(int, int, String, int, int);
+    method public int updateCallWaiting(boolean, int);
+    method public int updateClip(boolean);
+    method public int updateClir(int);
+    method public int updateColp(boolean);
+    method public int updateColr(int);
+  }
+
+  public class RcsCapabilityExchangeImplBase {
+    ctor public RcsCapabilityExchangeImplBase();
+    method public void publishCapabilities(@NonNull String, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback);
+    method public void sendOptionsCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.OptionsResponseCallback);
+    method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);
+    field public static final int COMMAND_CODE_FETCH_ERROR = 3; // 0x3
+    field public static final int COMMAND_CODE_GENERIC_FAILURE = 1; // 0x1
+    field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 5; // 0x5
+    field public static final int COMMAND_CODE_INVALID_PARAM = 2; // 0x2
+    field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 6; // 0x6
+    field public static final int COMMAND_CODE_NOT_FOUND = 8; // 0x8
+    field public static final int COMMAND_CODE_NOT_SUPPORTED = 7; // 0x7
+    field public static final int COMMAND_CODE_NO_CHANGE = 10; // 0xa
+    field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 4; // 0x4
+    field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 9; // 0x9
+    field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
+  }
+
+  public static interface RcsCapabilityExchangeImplBase.OptionsResponseCallback {
+    method public void onCommandError(int) throws android.telephony.ims.ImsException;
+    method public void onNetworkResponse(int, @NonNull String, @NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
+  }
+
+  public static interface RcsCapabilityExchangeImplBase.PublishResponseCallback {
+    method public void onCommandError(int) throws android.telephony.ims.ImsException;
+    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
+    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
+  }
+
+  public static interface RcsCapabilityExchangeImplBase.SubscribeResponseCallback {
+    method public void onCommandError(int) throws android.telephony.ims.ImsException;
+    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
+    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
+    method public void onNotifyCapabilitiesUpdate(@NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
+    method public void onResourceTerminated(@NonNull java.util.List<android.util.Pair<android.net.Uri,java.lang.String>>) throws android.telephony.ims.ImsException;
+    method public void onTerminated(@NonNull String, long) throws android.telephony.ims.ImsException;
+  }
+
+  public interface SipDelegate {
+    method public void cleanupSession(@NonNull String);
+    method public void notifyMessageReceiveError(@NonNull String, int);
+    method public void notifyMessageReceived(@NonNull String);
+    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
+  }
+
+  public class SipTransportImplBase {
+    ctor public SipTransportImplBase(@NonNull java.util.concurrent.Executor);
+    method public void createSipDelegate(int, @NonNull android.telephony.ims.DelegateRequest, @NonNull android.telephony.ims.DelegateStateCallback, @NonNull android.telephony.ims.DelegateMessageCallback);
+    method public void destroySipDelegate(@NonNull android.telephony.ims.stub.SipDelegate, int);
+  }
+
+}
+
+package android.telephony.mbms {
+
+  public static class DownloadRequest.Builder {
+    method public android.telephony.mbms.DownloadRequest.Builder setServiceId(String);
+  }
+
+  public final class FileInfo implements android.os.Parcelable {
+    ctor public FileInfo(android.net.Uri, String);
+  }
+
+  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
+    ctor public FileServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>);
+  }
+
+  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
+    field public static final int RESULT_APP_NOTIFICATION_ERROR = 6; // 0x6
+    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
+    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
+    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
+    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
+    field public static final int RESULT_OK = 0; // 0x0
+    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
+  }
+
+  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
+    ctor public StreamingServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date);
+  }
+
+  public final class UriPathPair implements android.os.Parcelable {
+    method public int describeContents();
+    method public android.net.Uri getContentUri();
+    method public android.net.Uri getFilePathUri();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
+  }
+
+}
+
+package android.telephony.mbms.vendor {
+
+  public class MbmsDownloadServiceBase extends android.os.Binder implements android.os.IInterface {
+    ctor public MbmsDownloadServiceBase();
+    method public int addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
+    method public int addServiceAnnouncement(int, @NonNull byte[]);
+    method public int addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
+    method public android.os.IBinder asBinder();
+    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
+    method public void dispose(int) throws android.os.RemoteException;
+    method public int download(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
+    method public int initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) throws android.os.RemoteException;
+    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
+    method public void onAppCallbackDied(int, int);
+    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
+    method public int removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
+    method public int removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
+    method public int requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
+    method public int requestUpdateFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
+    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
+    method public int setTempFileRootDirectory(int, String) throws android.os.RemoteException;
+  }
+
+  public class MbmsGroupCallServiceBase extends android.app.Service {
+    ctor public MbmsGroupCallServiceBase();
+    method public void dispose(int) throws android.os.RemoteException;
+    method public int initialize(@NonNull android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
+    method public void onAppCallbackDied(int, int);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method public int startGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, @NonNull android.telephony.mbms.GroupCallCallback);
+    method public void stopGroupCall(int, long);
+    method public void updateGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
+  }
+
+  public class MbmsStreamingServiceBase extends android.os.Binder implements android.os.IInterface {
+    ctor public MbmsStreamingServiceBase();
+    method public android.os.IBinder asBinder();
+    method public void dispose(int) throws android.os.RemoteException;
+    method @Nullable public android.net.Uri getPlaybackUri(int, String) throws android.os.RemoteException;
+    method public int initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) throws android.os.RemoteException;
+    method public void onAppCallbackDied(int, int);
+    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
+    method public int requestUpdateStreamingServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
+    method public int startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) throws android.os.RemoteException;
+    method public void stopStreaming(int, String) throws android.os.RemoteException;
+  }
+
+  public class VendorUtils {
+    ctor public VendorUtils();
+    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, String);
+    field public static final String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
+    field public static final String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
+    field public static final String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
+    field public static final String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
+    field public static final String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
+    field public static final String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
+    field public static final String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
+    field public static final String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
+    field public static final String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
+    field public static final String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
+    field public static final String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
+    field public static final String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
+  }
+
+}
+
+package android.text {
+
+  public final class FontConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
+    method @IntRange(from=0) public int getConfigVersion();
+    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
+    method public long getLastModifiedTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
+  }
+
+  public static final class FontConfig.Alias implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getName();
+    method @NonNull public String getOriginal();
+    method @IntRange(from=0, to=1000) public int getWeight();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
+  }
+
+  public static final class FontConfig.Font implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.io.File getFile();
+    method @Nullable public String getFontFamilyName();
+    method @NonNull public String getFontVariationSettings();
+    method @NonNull public String getPostScriptName();
+    method @NonNull public android.graphics.fonts.FontStyle getStyle();
+    method public int getTtcIndex();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
+  }
+
+  public static final class FontConfig.FontFamily implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
+    method @NonNull public android.os.LocaleList getLocaleList();
+    method @Nullable public String getName();
+    method public int getVariant();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
+    field public static final int VARIANT_COMPACT = 1; // 0x1
+    field public static final int VARIANT_DEFAULT = 0; // 0x0
+    field public static final int VARIANT_ELEGANT = 2; // 0x2
+  }
+
+}
+
+package android.util {
+
+  public class EventLog {
+    method public static void readEventsOnWrapping(int[], long, java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
+  }
+
+  public static final class EventLog.Event {
+    method public int getUid();
+  }
+
+  public final class StatsEvent {
+    method @NonNull public static android.util.StatsEvent.Builder newBuilder();
+  }
+
+  public static final class StatsEvent.Builder {
+    method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean);
+    method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int);
+    method @NonNull public android.util.StatsEvent build();
+    method @NonNull public android.util.StatsEvent.Builder setAtomId(int);
+    method @NonNull public android.util.StatsEvent.Builder usePooledBuffer();
+    method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]);
+    method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean);
+    method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]);
+    method @NonNull public android.util.StatsEvent.Builder writeFloat(float);
+    method @NonNull public android.util.StatsEvent.Builder writeInt(int);
+    method @NonNull public android.util.StatsEvent.Builder writeKeyValuePairs(@Nullable android.util.SparseIntArray, @Nullable android.util.SparseLongArray, @Nullable android.util.SparseArray<java.lang.String>, @Nullable android.util.SparseArray<java.lang.Float>);
+    method @NonNull public android.util.StatsEvent.Builder writeLong(long);
+    method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String);
+  }
+
+  public final class StatsLog {
+    method public static void write(@NonNull android.util.StatsEvent);
+    method @Deprecated public static void writeRaw(@NonNull byte[], int);
+    field public static final byte ANNOTATION_ID_DEFAULT_STATE = 6; // 0x6
+    field public static final byte ANNOTATION_ID_EXCLUSIVE_STATE = 4; // 0x4
+    field public static final byte ANNOTATION_ID_IS_UID = 1; // 0x1
+    field public static final byte ANNOTATION_ID_PRIMARY_FIELD = 3; // 0x3
+    field public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5; // 0x5
+    field public static final byte ANNOTATION_ID_STATE_NESTED = 8; // 0x8
+    field public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET = 7; // 0x7
+    field public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2; // 0x2
+  }
+
+}
+
+package android.uwb {
+
+  public final class AngleMeasurement implements android.os.Parcelable {
+    ctor public AngleMeasurement(@FloatRange(from=-3.141592653589793, to=3.141592653589793) double, @FloatRange(from=0.0, to=3.141592653589793) double, @FloatRange(from=0.0, to=1.0) double);
+    method public int describeContents();
+    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
+    method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
+    method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
+  }
+
+  public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.uwb.AngleMeasurement getAltitude();
+    method @NonNull public android.uwb.AngleMeasurement getAzimuth();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
+  }
+
+  public static final class AngleOfArrivalMeasurement.Builder {
+    ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement);
+    method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
+    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
+  }
+
+  public final class DistanceMeasurement implements android.os.Parcelable {
+    method public int describeContents();
+    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
+    method @FloatRange(from=0.0) public double getErrorMeters();
+    method public double getMeters();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
+  }
+
+  public static final class DistanceMeasurement.Builder {
+    ctor public DistanceMeasurement.Builder();
+    method @NonNull public android.uwb.DistanceMeasurement build();
+    method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
+    method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double);
+    method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
+  }
+
+  public final class RangingMeasurement implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
+    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
+    method public long getElapsedRealtimeNanos();
+    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
+    method public int getStatus();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
+    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
+    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
+    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
+  }
+
+  public static final class RangingMeasurement.Builder {
+    ctor public RangingMeasurement.Builder();
+    method @NonNull public android.uwb.RangingMeasurement build();
+    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
+    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
+    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
+    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
+    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
+  }
+
+  public final class RangingReport implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
+  }
+
+  public static final class RangingReport.Builder {
+    ctor public RangingReport.Builder();
+    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
+    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
+    method @NonNull public android.uwb.RangingReport build();
+  }
+
+  public final class RangingSession implements java.lang.AutoCloseable {
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close();
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle);
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle);
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop();
+  }
+
+  public static interface RangingSession.Callback {
+    method public void onClosed(int, @NonNull android.os.PersistableBundle);
+    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
+    method public void onOpened(@NonNull android.uwb.RangingSession);
+    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
+    method public void onReconfigured(@NonNull android.os.PersistableBundle);
+    method public void onReportReceived(@NonNull android.uwb.RangingReport);
+    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
+    method public void onStarted(@NonNull android.os.PersistableBundle);
+    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
+    method public void onStopped(int, @NonNull android.os.PersistableBundle);
+    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
+    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
+    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
+    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
+    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
+    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
+    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
+    field public static final int REASON_UNKNOWN = 0; // 0x0
+  }
+
+  public final class UwbAddress implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
+    method public int size();
+    method @NonNull public byte[] toBytes();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
+    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
+    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
+  }
+
+  public final class UwbManager {
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
+    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.UWB_PRIVILEGED, android.Manifest.permission.UWB_RANGING}) public android.os.CancellationSignal openRangingSession(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.RangingSession.Callback);
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
+    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
+  }
+
+  public static interface UwbManager.AdapterStateCallback {
+    method public void onStateChanged(int, int);
+    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
+    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
+    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
+    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
+    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
+    field public static final int STATE_DISABLED = 0; // 0x0
+    field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
+    field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
+  }
+
+}
+
+package android.view {
+
+  public abstract class Window {
+    method public void addSystemFlags(@android.view.WindowManager.LayoutParams.SystemFlags int);
+  }
+
+  public interface WindowManager extends android.view.ViewManager {
+    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public android.graphics.Region getCurrentImeTouchRegion();
+  }
+
+  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
+    method public final long getUserActivityTimeout();
+    method public boolean isSystemApplicationOverlay();
+    method @RequiresPermission(android.Manifest.permission.SYSTEM_APPLICATION_OVERLAY) public void setSystemApplicationOverlay(boolean);
+    method public final void setUserActivityTimeout(long);
+    field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
+    field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10
+  }
+
+  @IntDef(flag=true, prefix={"SYSTEM_FLAG_"}, value={android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS, android.view.WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface WindowManager.LayoutParams.SystemFlags {
+  }
+
+}
+
+package android.view.accessibility {
+
+  public final class AccessibilityManager {
+    method public int getAccessibilityWindowId(@Nullable android.os.IBinder);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int);
+  }
+
+}
+
+package android.view.autofill {
+
+  public final class AutofillManager {
+    method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
+  }
+
+}
+
+package android.view.contentcapture {
+
+  public final class ContentCaptureContext implements android.os.Parcelable {
+    method @Nullable public android.content.ComponentName getActivityComponent();
+    method @Nullable public android.app.assist.ActivityId getActivityId();
+    method public int getDisplayId();
+    method public int getFlags();
+    method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId();
+    method public int getTaskId();
+    method @Nullable public android.os.IBinder getWindowToken();
+    field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
+    field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
+    field public static final int FLAG_RECONNECTED = 4; // 0x4
+  }
+
+  public final class ContentCaptureEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.graphics.Rect getBounds();
+    method @Nullable public android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
+    method public long getEventTime();
+    method @Nullable public android.view.autofill.AutofillId getId();
+    method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds();
+    method @Nullable public android.graphics.Insets getInsets();
+    method @Nullable public CharSequence getText();
+    method public int getType();
+    method @Nullable public android.view.contentcapture.ViewNode getViewNode();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
+    field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
+    field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
+    field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
+    field public static final int TYPE_VIEW_APPEARED = 1; // 0x1
+    field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2
+    field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9
+    field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3
+    field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5
+    field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4
+    field public static final int TYPE_WINDOW_BOUNDS_CHANGED = 10; // 0xa
+  }
+
+  public final class ContentCaptureManager {
+    method public boolean isContentCaptureFeatureEnabled();
+    field public static final int NO_SESSION_ID = 0; // 0x0
+  }
+
+  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
+    method @Nullable public android.view.autofill.AutofillId getParentAutofillId();
+  }
+
+}
+
+package android.view.displayhash {
+
+  public final class DisplayHash implements android.os.Parcelable {
+    ctor public DisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[], @NonNull byte[]);
+    method public int describeContents();
+    method @NonNull public android.graphics.Rect getBoundsInWindow();
+    method @NonNull public String getHashAlgorithm();
+    method @NonNull public byte[] getHmac();
+    method @NonNull public byte[] getImageHash();
+    method public long getTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+  }
+
+}
+
+package android.view.translation {
+
+  public final class TranslationCapability implements android.os.Parcelable {
+    ctor public TranslationCapability(int, @NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, boolean, int);
+  }
+
+  public final class UiTranslationManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void finishTranslation(@NonNull android.app.assist.ActivityId);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void pauseTranslation(@NonNull android.app.assist.ActivityId);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void resumeTranslation(@NonNull android.app.assist.ActivityId);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void startTranslation(@NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, @NonNull java.util.List<android.view.autofill.AutofillId>, @NonNull android.app.assist.ActivityId, @NonNull android.view.translation.UiTranslationSpec);
+  }
+
+  public final class UiTranslationSpec implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean shouldPadContentForCompat();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.UiTranslationSpec> CREATOR;
+  }
+
+  public static final class UiTranslationSpec.Builder {
+    ctor public UiTranslationSpec.Builder();
+    method @NonNull public android.view.translation.UiTranslationSpec build();
+    method @NonNull public android.view.translation.UiTranslationSpec.Builder setShouldPadContentForCompat(boolean);
+  }
+
+}
+
+package android.webkit {
+
+  public abstract class CookieManager {
+    method protected abstract boolean allowFileSchemeCookiesImpl();
+    method public abstract String getCookie(String, boolean);
+    method public String getCookie(android.net.WebAddress);
+    method public abstract boolean hasCookies(boolean);
+    method protected abstract void setAcceptFileSchemeCookiesImpl(boolean);
+  }
+
+  public class FindActionModeCallback implements android.view.ActionMode.Callback android.text.TextWatcher android.view.View.OnClickListener android.webkit.WebView.FindListener {
+    ctor public FindActionModeCallback(android.content.Context);
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public void findAll();
+    method public void finish();
+    method public int getActionModeGlobalBottom();
+    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
+    method public void onClick(android.view.View);
+    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
+    method public void onDestroyActionMode(android.view.ActionMode);
+    method public void onFindResultReceived(int, int, boolean);
+    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
+    method public void onTextChanged(CharSequence, int, int, int);
+    method public void setText(String);
+    method public void setWebView(@NonNull android.webkit.WebView);
+    method public void showSoftInput();
+    method public void updateMatchCount(int, int, boolean);
+  }
+
+  public static class FindActionModeCallback.NoAction implements android.view.ActionMode.Callback {
+    ctor public FindActionModeCallback.NoAction();
+    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
+    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
+    method public void onDestroyActionMode(android.view.ActionMode);
+    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
+  }
+
+  public class GeolocationPermissions {
+    ctor public GeolocationPermissions();
+  }
+
+  public class HttpAuthHandler extends android.os.Handler {
+    ctor public HttpAuthHandler();
+  }
+
+  public class JsDialogHelper {
+    ctor public JsDialogHelper(android.webkit.JsPromptResult, int, String, String, String);
+    ctor public JsDialogHelper(android.webkit.JsPromptResult, android.os.Message);
+    method public boolean invokeCallback(android.webkit.WebChromeClient, android.webkit.WebView);
+    method public void showDialog(android.content.Context);
+    field public static final int ALERT = 1; // 0x1
+    field public static final int CONFIRM = 2; // 0x2
+    field public static final int PROMPT = 3; // 0x3
+    field public static final int UNLOAD = 4; // 0x4
+  }
+
+  public class JsPromptResult extends android.webkit.JsResult {
+    ctor public JsPromptResult(android.webkit.JsResult.ResultReceiver);
+    method public String getStringResult();
+  }
+
+  public class JsResult {
+    ctor public JsResult(android.webkit.JsResult.ResultReceiver);
+    method public final boolean getResult();
+  }
+
+  public static interface JsResult.ResultReceiver {
+    method public void onJsResultComplete(android.webkit.JsResult);
+  }
+
+  public interface PacProcessor {
+    method @NonNull public static android.webkit.PacProcessor createInstance();
+    method @Nullable public String findProxyForUrl(@NonNull String);
+    method @NonNull public static android.webkit.PacProcessor getInstance();
+    method @Nullable public default android.net.Network getNetwork();
+    method public default void release();
+    method public default void setNetwork(@Nullable android.net.Network);
+    method public boolean setProxyScript(@NonNull String);
+  }
+
+  public class SslErrorHandler extends android.os.Handler {
+    ctor public SslErrorHandler();
+  }
+
+  @Deprecated public abstract class TokenBindingService {
+    ctor @Deprecated public TokenBindingService();
+  }
+
+  public class WebChromeClient {
+    method @Deprecated public void openFileChooser(android.webkit.ValueCallback<android.net.Uri>, String, String);
+  }
+
+  public abstract class WebHistoryItem implements java.lang.Cloneable {
+    method @Deprecated public abstract int getId();
+  }
+
+  @Deprecated public abstract class WebIconDatabase {
+    method @Deprecated public abstract void bulkRequestIconForPageUrl(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
+  }
+
+  public abstract class WebMessagePort {
+    ctor public WebMessagePort();
+  }
+
+  public abstract class WebResourceError {
+    ctor public WebResourceError();
+  }
+
+  public class WebResourceResponse {
+    ctor public WebResourceResponse(boolean, String, String, int, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
+  }
+
+  public abstract class WebSettings {
+    method public abstract boolean getAcceptThirdPartyCookies();
+    method @Deprecated public abstract boolean getNavDump();
+    method @Deprecated public abstract boolean getPluginsEnabled();
+    method @Deprecated public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
+    method @Deprecated public abstract int getUserAgent();
+    method public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
+    method public abstract void setAcceptThirdPartyCookies(boolean);
+    method @Deprecated public abstract void setNavDump(boolean);
+    method @Deprecated public abstract void setPluginsEnabled(boolean);
+    method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean);
+    method @Deprecated public abstract void setUserAgent(int);
+    method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean);
+  }
+
+  public class WebStorage {
+    ctor public WebStorage();
+  }
+
+  public static class WebStorage.Origin {
+    ctor protected WebStorage.Origin(String, long, long);
+  }
+
+  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
+    method public android.webkit.WebViewProvider getWebViewProvider();
+  }
+
+  public static class WebView.HitTestResult {
+    ctor public WebView.HitTestResult();
+    method public void setExtra(String);
+    method public void setType(int);
+  }
+
+  public class WebView.PrivateAccess {
+    ctor public WebView.PrivateAccess();
+    method public void awakenScrollBars(int);
+    method public void awakenScrollBars(int, boolean);
+    method public float getHorizontalScrollFactor();
+    method public int getHorizontalScrollbarHeight();
+    method public float getVerticalScrollFactor();
+    method public void onScrollChanged(int, int, int, int);
+    method public void overScrollBy(int, int, int, int, int, int, int, int, boolean);
+    method public void setMeasuredDimension(int, int);
+    method public void setScrollXRaw(int);
+    method public void setScrollYRaw(int);
+    method public void super_computeScroll();
+    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
+    method public int super_getScrollBarStyle();
+    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
+    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
+    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
+    method public boolean super_onHoverEvent(android.view.MotionEvent);
+    method public boolean super_performAccessibilityAction(int, android.os.Bundle);
+    method public boolean super_performLongClick();
+    method public boolean super_requestFocus(int, android.graphics.Rect);
+    method public void super_scrollTo(int, int);
+    method public boolean super_setFrame(int, int, int, int);
+    method public void super_setLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public void super_startActivityForResult(android.content.Intent, int);
+  }
+
+  public final class WebViewDelegate {
+    method public void addWebViewAssetPath(android.content.Context);
+    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
+    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
+    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
+    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
+    method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
+    method public android.app.Application getApplication();
+    method public String getDataDirectorySuffix();
+    method public String getErrorString(android.content.Context, int);
+    method public int getPackageId(android.content.res.Resources, String);
+    method @NonNull public android.webkit.WebViewFactory.StartupTimestamps getStartupTimestamps();
+    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
+    method public boolean isMultiProcessEnabled();
+    method public boolean isTraceTagEnabled();
+    method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
+  }
+
+  public static interface WebViewDelegate.OnTraceEnabledChangeListener {
+    method public void onTraceEnabledChange(boolean);
+  }
+
+  public final class WebViewFactory {
+    ctor public WebViewFactory();
+    method public static android.content.pm.PackageInfo getLoadedPackageInfo();
+    method public static int loadWebViewNativeLibraryFromPackage(String, ClassLoader);
+    method public static void prepareWebViewInZygote();
+    field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
+    field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
+    field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
+    field public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE = 10; // 0xa
+    field public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY = 6; // 0x6
+    field public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE = 5; // 0x5
+    field public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO = 3; // 0x3
+    field public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN = 8; // 0x8
+    field public static final int LIBLOAD_SUCCESS = 0; // 0x0
+    field public static final int LIBLOAD_WRONG_PACKAGE_NAME = 1; // 0x1
+  }
+
+  public static class WebViewFactory.StartupTimestamps {
+    method public long getAddAssetsEnd();
+    method public long getAddAssetsStart();
+    method public long getCreateContextEnd();
+    method public long getCreateContextStart();
+    method public long getGetClassLoaderEnd();
+    method public long getGetClassLoaderStart();
+    method public long getNativeLoadEnd();
+    method public long getNativeLoadStart();
+    method public long getProviderClassForNameEnd();
+    method public long getProviderClassForNameStart();
+    method public long getWebViewLoadStart();
+  }
+
+  public interface WebViewFactoryProvider {
+    method @NonNull public default android.webkit.PacProcessor createPacProcessor();
+    method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess);
+    method public android.webkit.CookieManager getCookieManager();
+    method public android.webkit.GeolocationPermissions getGeolocationPermissions();
+    method @NonNull public default android.webkit.PacProcessor getPacProcessor();
+    method public android.webkit.ServiceWorkerController getServiceWorkerController();
+    method public android.webkit.WebViewFactoryProvider.Statics getStatics();
+    method @Deprecated public android.webkit.TokenBindingService getTokenBindingService();
+    method public android.webkit.TracingController getTracingController();
+    method public android.webkit.WebIconDatabase getWebIconDatabase();
+    method public android.webkit.WebStorage getWebStorage();
+    method public ClassLoader getWebViewClassLoader();
+    method public android.webkit.WebViewDatabase getWebViewDatabase(android.content.Context);
+  }
+
+  public static interface WebViewFactoryProvider.Statics {
+    method public void clearClientCertPreferences(Runnable);
+    method public void enableSlowWholeDocumentDraw();
+    method public String findAddress(String);
+    method public void freeMemoryForTests();
+    method public String getDefaultUserAgent(android.content.Context);
+    method @NonNull public android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
+    method public void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
+    method public android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
+    method public void setSafeBrowsingWhitelist(java.util.List<java.lang.String>, android.webkit.ValueCallback<java.lang.Boolean>);
+    method public void setWebContentsDebuggingEnabled(boolean);
+  }
+
+  public interface WebViewProvider {
+    method public void addJavascriptInterface(Object, String);
+    method public boolean canGoBack();
+    method public boolean canGoBackOrForward(int);
+    method public boolean canGoForward();
+    method public boolean canZoomIn();
+    method public boolean canZoomOut();
+    method public android.graphics.Picture capturePicture();
+    method public void clearCache(boolean);
+    method public void clearFormData();
+    method public void clearHistory();
+    method public void clearMatches();
+    method public void clearSslPreferences();
+    method public void clearView();
+    method public android.webkit.WebBackForwardList copyBackForwardList();
+    method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String);
+    method public android.webkit.WebMessagePort[] createWebMessageChannel();
+    method public void destroy();
+    method public void documentHasImages(android.os.Message);
+    method public void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
+    method public void evaluateJavaScript(String, android.webkit.ValueCallback<java.lang.String>);
+    method public int findAll(String);
+    method public void findAllAsync(String);
+    method public android.view.View findHierarchyView(String, int);
+    method public void findNext(boolean);
+    method public void flingScroll(int, int);
+    method public void freeMemory();
+    method public android.net.http.SslCertificate getCertificate();
+    method public int getContentHeight();
+    method public int getContentWidth();
+    method public android.graphics.Bitmap getFavicon();
+    method public android.webkit.WebView.HitTestResult getHitTestResult();
+    method public String[] getHttpAuthUsernamePassword(String, String);
+    method public String getOriginalUrl();
+    method public int getProgress();
+    method public boolean getRendererPriorityWaivedWhenNotVisible();
+    method public int getRendererRequestedPriority();
+    method public float getScale();
+    method public android.webkit.WebViewProvider.ScrollDelegate getScrollDelegate();
+    method public android.webkit.WebSettings getSettings();
+    method @NonNull public default android.view.textclassifier.TextClassifier getTextClassifier();
+    method public String getTitle();
+    method public String getTouchIconUrl();
+    method public String getUrl();
+    method public android.webkit.WebViewProvider.ViewDelegate getViewDelegate();
+    method public int getVisibleTitleHeight();
+    method public android.webkit.WebChromeClient getWebChromeClient();
+    method public android.webkit.WebViewClient getWebViewClient();
+    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
+    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
+    method public android.view.View getZoomControls();
+    method public void goBack();
+    method public void goBackOrForward(int);
+    method public void goForward();
+    method public void init(java.util.Map<java.lang.String,java.lang.Object>, boolean);
+    method public void insertVisualStateCallback(long, android.webkit.WebView.VisualStateCallback);
+    method public void invokeZoomPicker();
+    method public boolean isPaused();
+    method public boolean isPrivateBrowsingEnabled();
+    method public void loadData(String, String, String);
+    method public void loadDataWithBaseURL(String, String, String, String, String);
+    method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>);
+    method public void loadUrl(String);
+    method public void notifyFindDialogDismissed();
+    method public void onPause();
+    method public void onResume();
+    method public boolean overlayHorizontalScrollbar();
+    method public boolean overlayVerticalScrollbar();
+    method public boolean pageDown(boolean);
+    method public boolean pageUp(boolean);
+    method public void pauseTimers();
+    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
+    method public void postUrl(String, byte[]);
+    method public void reload();
+    method public void removeJavascriptInterface(String);
+    method public void requestFocusNodeHref(android.os.Message);
+    method public void requestImageRef(android.os.Message);
+    method public boolean restorePicture(android.os.Bundle, java.io.File);
+    method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
+    method public void resumeTimers();
+    method public void savePassword(String, String, String);
+    method public boolean savePicture(android.os.Bundle, java.io.File);
+    method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
+    method public void saveWebArchive(String);
+    method public void saveWebArchive(String, boolean, android.webkit.ValueCallback<java.lang.String>);
+    method public void setCertificate(android.net.http.SslCertificate);
+    method public void setDownloadListener(android.webkit.DownloadListener);
+    method public void setFindListener(android.webkit.WebView.FindListener);
+    method public void setHorizontalScrollbarOverlay(boolean);
+    method public void setHttpAuthUsernamePassword(String, String, String, String);
+    method public void setInitialScale(int);
+    method public void setMapTrackballToArrowKeys(boolean);
+    method public void setNetworkAvailable(boolean);
+    method public void setPictureListener(android.webkit.WebView.PictureListener);
+    method public void setRendererPriorityPolicy(int, boolean);
+    method public default void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
+    method public void setVerticalScrollbarOverlay(boolean);
+    method public void setWebChromeClient(android.webkit.WebChromeClient);
+    method public void setWebViewClient(android.webkit.WebViewClient);
+    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
+    method public boolean showFindDialog(String, boolean);
+    method public void stopLoading();
+    method public boolean zoomBy(float);
+    method public boolean zoomIn();
+    method public boolean zoomOut();
+  }
+
+  public static interface WebViewProvider.ScrollDelegate {
+    method public int computeHorizontalScrollOffset();
+    method public int computeHorizontalScrollRange();
+    method public void computeScroll();
+    method public int computeVerticalScrollExtent();
+    method public int computeVerticalScrollOffset();
+    method public int computeVerticalScrollRange();
+  }
+
+  public static interface WebViewProvider.ViewDelegate {
+    method public default void autofill(android.util.SparseArray<android.view.autofill.AutofillValue>);
+    method public default void dispatchCreateViewTranslationRequest(@NonNull java.util.Map<android.view.autofill.AutofillId,long[]>, @NonNull int[], @Nullable android.view.translation.TranslationCapability, @NonNull java.util.List<android.view.translation.ViewTranslationRequest>);
+    method public boolean dispatchKeyEvent(android.view.KeyEvent);
+    method public android.view.View findFocus(android.view.View);
+    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
+    method public android.os.Handler getHandler(android.os.Handler);
+    method public default boolean isVisibleToUserForAutofill(int);
+    method public void onActivityResult(int, int, android.content.Intent);
+    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
+    method public void onAttachedToWindow();
+    method public default boolean onCheckIsTextEditor();
+    method public void onConfigurationChanged(android.content.res.Configuration);
+    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
+    method public default void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
+    method public void onDetachedFromWindow();
+    method public boolean onDragEvent(android.view.DragEvent);
+    method public void onDraw(android.graphics.Canvas);
+    method public void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
+    method public void onFinishTemporaryDetach();
+    method public void onFocusChanged(boolean, int, android.graphics.Rect);
+    method public boolean onGenericMotionEvent(android.view.MotionEvent);
+    method public boolean onHoverEvent(android.view.MotionEvent);
+    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
+    method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
+    method public boolean onKeyDown(int, android.view.KeyEvent);
+    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
+    method public boolean onKeyUp(int, android.view.KeyEvent);
+    method public void onMeasure(int, int);
+    method public default void onMovedToDisplay(int, android.content.res.Configuration);
+    method public void onOverScrolled(int, int, boolean, boolean);
+    method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
+    method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
+    method public void onProvideVirtualStructure(android.view.ViewStructure);
+    method public void onScrollChanged(int, int, int, int);
+    method public void onSizeChanged(int, int, int, int);
+    method public void onStartTemporaryDetach();
+    method public boolean onTouchEvent(android.view.MotionEvent);
+    method public boolean onTrackballEvent(android.view.MotionEvent);
+    method public default void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
+    method public void onVisibilityChanged(android.view.View, int);
+    method public void onWindowFocusChanged(boolean);
+    method public void onWindowVisibilityChanged(int);
+    method public boolean performAccessibilityAction(int, android.os.Bundle);
+    method public boolean performLongClick();
+    method public void preDispatchDraw(android.graphics.Canvas);
+    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
+    method public boolean requestFocus(int, android.graphics.Rect);
+    method public void setBackgroundColor(int);
+    method public boolean setFrame(int, int, int, int);
+    method public void setLayerType(int, android.graphics.Paint);
+    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
+    method public void setOverScrollMode(int);
+    method public void setScrollBarStyle(int);
+    method public boolean shouldDelayChildPressedState();
+  }
+
+  public final class WebViewProviderInfo implements android.os.Parcelable {
+    ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
+    field public final boolean availableByDefault;
+    field public final String description;
+    field public final boolean isFallback;
+    field public final String packageName;
+    field public final android.content.pm.Signature[] signatures;
+  }
+
+  public final class WebViewUpdateService {
+    method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
+    method public static String getCurrentWebViewPackageName();
+    method public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
+  }
+
+}
+
diff --git a/32/system/api/art-removed.txt b/32/system/api/art-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/art-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/art.txt b/32/system/api/art.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/art.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/com.android.future.usb.accessory-removed.txt b/32/system/api/com.android.future.usb.accessory-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/com.android.future.usb.accessory-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/com.android.future.usb.accessory.txt b/32/system/api/com.android.future.usb.accessory.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/com.android.future.usb.accessory.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/com.android.location.provider-removed.txt b/32/system/api/com.android.location.provider-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/com.android.location.provider-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/com.android.location.provider.txt b/32/system/api/com.android.location.provider.txt
new file mode 100644
index 0000000..7046abd
--- /dev/null
+++ b/32/system/api/com.android.location.provider.txt
@@ -0,0 +1,62 @@
+// Signature format: 2.0
+package com.android.location.provider {
+
+  @Deprecated public final class FusedLocationHardware {
+    method @Deprecated public void flushBatchedLocations();
+    method @Deprecated public int getSupportedBatchSize();
+    method @Deprecated public int getVersion();
+    method @Deprecated public void injectDeviceContext(int);
+    method @Deprecated public void injectDiagnosticData(String);
+    method @Deprecated public void registerSink(com.android.location.provider.FusedLocationHardwareSink, android.os.Looper);
+    method @Deprecated public void requestBatchOfLocations(int);
+    method @Deprecated public void startBatching(int, com.android.location.provider.GmsFusedBatchOptions);
+    method @Deprecated public void stopBatching(int);
+    method @Deprecated public boolean supportsDeviceContextInjection();
+    method @Deprecated public boolean supportsDiagnosticDataInjection();
+    method @Deprecated public void unregisterSink(com.android.location.provider.FusedLocationHardwareSink);
+    method @Deprecated public void updateBatchingOptions(int, com.android.location.provider.GmsFusedBatchOptions);
+  }
+
+  @Deprecated public class FusedLocationHardwareSink {
+    ctor @Deprecated public FusedLocationHardwareSink();
+    method @Deprecated public void onCapabilities(int);
+    method @Deprecated public void onDiagnosticDataAvailable(String);
+    method @Deprecated public void onLocationAvailable(android.location.Location[]);
+    method @Deprecated public void onStatusChanged(int);
+  }
+
+  @Deprecated public class GmsFusedBatchOptions {
+    ctor @Deprecated public GmsFusedBatchOptions();
+    method @Deprecated public int getFlags();
+    method @Deprecated public double getMaxPowerAllocationInMW();
+    method @Deprecated public long getPeriodInNS();
+    method @Deprecated public float getSmallestDisplacementMeters();
+    method @Deprecated public int getSourcesToUse();
+    method @Deprecated public boolean isFlagSet(int);
+    method @Deprecated public boolean isSourceToUseSet(int);
+    method @Deprecated public void resetFlag(int);
+    method @Deprecated public void resetSourceToUse(int);
+    method @Deprecated public void setFlag(int);
+    method @Deprecated public void setMaxPowerAllocationInMW(double);
+    method @Deprecated public void setPeriodInNS(long);
+    method @Deprecated public void setSmallestDisplacementMeters(float);
+    method @Deprecated public void setSourceToUse(int);
+  }
+
+  @Deprecated public static final class GmsFusedBatchOptions.BatchFlags {
+    ctor @Deprecated public GmsFusedBatchOptions.BatchFlags();
+    field @Deprecated public static int CALLBACK_ON_LOCATION_FIX;
+    field @Deprecated public static int WAKEUP_ON_FIFO_FULL;
+  }
+
+  @Deprecated public static final class GmsFusedBatchOptions.SourceTechnologies {
+    ctor @Deprecated public GmsFusedBatchOptions.SourceTechnologies();
+    field @Deprecated public static int BLUETOOTH;
+    field @Deprecated public static int CELL;
+    field @Deprecated public static int GNSS;
+    field @Deprecated public static int SENSORS;
+    field @Deprecated public static int WIFI;
+  }
+
+}
+
diff --git a/32/system/api/com.android.media.remotedisplay-removed.txt b/32/system/api/com.android.media.remotedisplay-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/com.android.media.remotedisplay-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/com.android.media.remotedisplay.txt b/32/system/api/com.android.media.remotedisplay.txt
new file mode 100644
index 0000000..3619fcf
--- /dev/null
+++ b/32/system/api/com.android.media.remotedisplay.txt
@@ -0,0 +1,53 @@
+// Signature format: 2.0
+package com.android.media.remotedisplay {
+
+  public class RemoteDisplay {
+    ctor public RemoteDisplay(String, String);
+    method public String getDescription();
+    method public String getId();
+    method public String getName();
+    method public int getPresentationDisplayId();
+    method public int getStatus();
+    method public int getVolume();
+    method public int getVolumeHandling();
+    method public int getVolumeMax();
+    method public void setDescription(String);
+    method public void setName(String);
+    method public void setPresentationDisplayId(int);
+    method public void setStatus(int);
+    method public void setVolume(int);
+    method public void setVolumeHandling(int);
+    method public void setVolumeMax(int);
+    field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
+    field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
+    field public static final int STATUS_AVAILABLE = 2; // 0x2
+    field public static final int STATUS_CONNECTED = 4; // 0x4
+    field public static final int STATUS_CONNECTING = 3; // 0x3
+    field public static final int STATUS_IN_USE = 1; // 0x1
+    field public static final int STATUS_NOT_AVAILABLE = 0; // 0x0
+  }
+
+  public abstract class RemoteDisplayProvider {
+    ctor public RemoteDisplayProvider(android.content.Context);
+    method public void addDisplay(com.android.media.remotedisplay.RemoteDisplay);
+    method public com.android.media.remotedisplay.RemoteDisplay findRemoteDisplay(String);
+    method public android.os.IBinder getBinder();
+    method public final android.content.Context getContext();
+    method public int getDiscoveryMode();
+    method public java.util.Collection<com.android.media.remotedisplay.RemoteDisplay> getDisplays();
+    method public android.app.PendingIntent getSettingsPendingIntent();
+    method public void onAdjustVolume(com.android.media.remotedisplay.RemoteDisplay, int);
+    method public void onConnect(com.android.media.remotedisplay.RemoteDisplay);
+    method public void onDisconnect(com.android.media.remotedisplay.RemoteDisplay);
+    method public void onDiscoveryModeChanged(int);
+    method public void onSetVolume(com.android.media.remotedisplay.RemoteDisplay, int);
+    method public void removeDisplay(com.android.media.remotedisplay.RemoteDisplay);
+    method public void updateDisplay(com.android.media.remotedisplay.RemoteDisplay);
+    field public static final int DISCOVERY_MODE_ACTIVE = 2; // 0x2
+    field public static final int DISCOVERY_MODE_NONE = 0; // 0x0
+    field public static final int DISCOVERY_MODE_PASSIVE = 1; // 0x1
+    field public static final String SERVICE_INTERFACE = "com.android.media.remotedisplay.RemoteDisplayProvider";
+  }
+
+}
+
diff --git a/32/system/api/com.android.media.tv.remoteprovider-removed.txt b/32/system/api/com.android.media.tv.remoteprovider-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/com.android.media.tv.remoteprovider-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/com.android.media.tv.remoteprovider.txt b/32/system/api/com.android.media.tv.remoteprovider.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/com.android.media.tv.remoteprovider.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/com.android.mediadrm.signer-removed.txt b/32/system/api/com.android.mediadrm.signer-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/com.android.mediadrm.signer-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/com.android.mediadrm.signer.txt b/32/system/api/com.android.mediadrm.signer.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/com.android.mediadrm.signer.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/com.android.nfc_extras-removed.txt b/32/system/api/com.android.nfc_extras-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/com.android.nfc_extras-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/com.android.nfc_extras.txt b/32/system/api/com.android.nfc_extras.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/com.android.nfc_extras.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-appsearch-removed.txt b/32/system/api/framework-appsearch-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-appsearch-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-appsearch.txt b/32/system/api/framework-appsearch.txt
new file mode 100644
index 0000000..4a6194e
--- /dev/null
+++ b/32/system/api/framework-appsearch.txt
@@ -0,0 +1,9 @@
+// Signature format: 2.0
+package android.app.appsearch {
+
+  public class AppSearchManagerFrameworkInitializer {
+    method public static void initialize();
+  }
+
+}
+
diff --git a/32/system/api/framework-connectivity-removed.txt b/32/system/api/framework-connectivity-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-connectivity-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-connectivity.txt b/32/system/api/framework-connectivity.txt
new file mode 100644
index 0000000..d1d51da
--- /dev/null
+++ b/32/system/api/framework-connectivity.txt
@@ -0,0 +1,505 @@
+// Signature format: 2.0
+package android.net {
+
+  public class CaptivePortal implements android.os.Parcelable {
+    method @Deprecated public void logEvent(int, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork();
+    method public void useNetwork();
+    field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
+    field public static final int APP_RETURN_DISMISSED = 0; // 0x0
+    field public static final int APP_RETURN_UNWANTED = 1; // 0x1
+    field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2
+  }
+
+  public final class CaptivePortalData implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getByteLimit();
+    method public long getExpiryTimeMillis();
+    method public long getRefreshTimeMillis();
+    method @Nullable public android.net.Uri getUserPortalUrl();
+    method public int getUserPortalUrlSource();
+    method @Nullable public CharSequence getVenueFriendlyName();
+    method @Nullable public android.net.Uri getVenueInfoUrl();
+    method public int getVenueInfoUrlSource();
+    method public boolean isCaptive();
+    method public boolean isSessionExtendable();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0
+    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR;
+  }
+
+  public static class CaptivePortalData.Builder {
+    ctor public CaptivePortalData.Builder();
+    ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData);
+    method @NonNull public android.net.CaptivePortalData build();
+    method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long);
+    method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean);
+    method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long);
+    method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long);
+    method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean);
+    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri);
+    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int);
+    method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence);
+    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri);
+    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int);
+  }
+
+  public class ConnectivityManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createNattKeepalive(@NonNull android.net.Network, @NonNull android.os.ParcelFileDescriptor, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
+    method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull java.net.Socket, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
+    method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
+    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void requestNetwork(@NonNull android.net.NetworkRequest, int, int, @NonNull android.os.Handler, @NonNull android.net.ConnectivityManager.NetworkCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_AIRPLANE_MODE, android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void setAirplaneMode(boolean);
+    method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
+    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
+    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
+    method public void unregisterQosCallback(@NonNull android.net.QosCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
+    field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
+    field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
+    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
+    field public static final int TETHERING_USB = 1; // 0x1
+    field public static final int TETHERING_WIFI = 0; // 0x0
+    field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
+    field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
+    field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
+    field public static final int TYPE_NONE = -1; // 0xffffffff
+    field @Deprecated public static final int TYPE_PROXY = 16; // 0x10
+    field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
+  }
+
+  @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
+    ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
+    method @Deprecated public void onTetheringFailed();
+    method @Deprecated public void onTetheringStarted();
+  }
+
+  @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
+    method @Deprecated public void onTetheringEntitlementResult(int);
+  }
+
+  @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
+    ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
+    method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
+  }
+
+  public final class InvalidPacketException extends java.lang.Exception {
+    ctor public InvalidPacketException(int);
+    method public int getError();
+    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
+    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
+    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
+  }
+
+  public final class IpConfiguration implements android.os.Parcelable {
+    ctor public IpConfiguration();
+    ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
+    method public int describeContents();
+    method @Nullable public android.net.ProxyInfo getHttpProxy();
+    method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
+    method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
+    method @Nullable public android.net.StaticIpConfiguration getStaticIpConfiguration();
+    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
+    method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
+    method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
+    method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.IpConfiguration> CREATOR;
+  }
+
+  public enum IpConfiguration.IpAssignment {
+    enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
+    enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
+    enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
+  }
+
+  public enum IpConfiguration.ProxySettings {
+    enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
+    enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
+    enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
+    enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
+  }
+
+  public final class IpPrefix implements android.os.Parcelable {
+    ctor public IpPrefix(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
+    ctor public IpPrefix(@NonNull String);
+  }
+
+  public class KeepalivePacketData {
+    ctor protected KeepalivePacketData(@NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull byte[]) throws android.net.InvalidPacketException;
+    method @NonNull public java.net.InetAddress getDstAddress();
+    method public int getDstPort();
+    method @NonNull public byte[] getPacket();
+    method @NonNull public java.net.InetAddress getSrcAddress();
+    method public int getSrcPort();
+  }
+
+  public class LinkAddress implements android.os.Parcelable {
+    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
+    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
+    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
+    ctor public LinkAddress(@NonNull String);
+    ctor public LinkAddress(@NonNull String, int, int);
+    method public long getDeprecationTime();
+    method public long getExpirationTime();
+    method public boolean isGlobalPreferred();
+    method public boolean isIpv4();
+    method public boolean isIpv6();
+    method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
+    field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
+    field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
+  }
+
+  public final class LinkProperties implements android.os.Parcelable {
+    ctor public LinkProperties(@Nullable android.net.LinkProperties);
+    ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
+    method public boolean addDnsServer(@NonNull java.net.InetAddress);
+    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
+    method public boolean addPcscfServer(@NonNull java.net.InetAddress);
+    method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
+    method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
+    method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
+    method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
+    method @Nullable public android.net.Uri getCaptivePortalApiUrl();
+    method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
+    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
+    method @Nullable public String getTcpBufferSizes();
+    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
+    method public boolean hasGlobalIpv6Address();
+    method public boolean hasIpv4Address();
+    method public boolean hasIpv4DefaultRoute();
+    method public boolean hasIpv4DnsServer();
+    method public boolean hasIpv6DefaultRoute();
+    method public boolean hasIpv6DnsServer();
+    method public boolean isIpv4Provisioned();
+    method public boolean isIpv6Provisioned();
+    method public boolean isProvisioned();
+    method public boolean isReachable(@NonNull java.net.InetAddress);
+    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
+    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
+    method public boolean removeRoute(@NonNull android.net.RouteInfo);
+    method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
+    method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
+    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
+    method public void setPrivateDnsServerName(@Nullable String);
+    method public void setTcpBufferSizes(@Nullable String);
+    method public void setUsePrivateDns(boolean);
+    method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
+  }
+
+  public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
+    ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
+  }
+
+  public class Network implements android.os.Parcelable {
+    ctor public Network(@NonNull android.net.Network);
+    method public int getNetId();
+    method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
+  }
+
+  public abstract class NetworkAgent {
+    ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, int, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider);
+    ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkScore, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider);
+    method @Nullable public android.net.Network getNetwork();
+    method public void markConnected();
+    method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
+    method public void onAutomaticReconnectDisabled();
+    method public void onBandwidthUpdateRequested();
+    method public void onNetworkCreated();
+    method public void onNetworkDestroyed();
+    method public void onNetworkUnwanted();
+    method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
+    method public void onQosCallbackUnregistered(int);
+    method public void onRemoveKeepalivePacketFilter(int);
+    method public void onSaveAcceptUnvalidated(boolean);
+    method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
+    method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
+    method public void onStopSocketKeepalive(int);
+    method public void onValidationStatus(int, @Nullable android.net.Uri);
+    method @NonNull public android.net.Network register();
+    method public final void sendLinkProperties(@NonNull android.net.LinkProperties);
+    method public final void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
+    method public final void sendNetworkScore(@NonNull android.net.NetworkScore);
+    method public final void sendNetworkScore(@IntRange(from=0, to=99) int);
+    method public final void sendQosCallbackError(int, int);
+    method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes);
+    method public final void sendQosSessionLost(int, int, int);
+    method public final void sendSocketKeepaliveEvent(int, int);
+    method @Deprecated public void setLegacySubtype(int, @NonNull String);
+    method public void setLingerDuration(@NonNull java.time.Duration);
+    method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int);
+    method public final void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
+    method public void unregister();
+    field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
+    field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
+  }
+
+  public final class NetworkAgentConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getLegacyType();
+    method @NonNull public String getLegacyTypeName();
+    method public boolean isExplicitlySelected();
+    method public boolean isPartialConnectivityAcceptable();
+    method public boolean isUnvalidatedConnectivityAcceptable();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
+  }
+
+  public static final class NetworkAgentConfig.Builder {
+    ctor public NetworkAgentConfig.Builder();
+    method @NonNull public android.net.NetworkAgentConfig build();
+    method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean);
+    method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
+  }
+
+  public final class NetworkCapabilities implements android.os.Parcelable {
+    method @NonNull public int[] getAdministratorUids();
+    method @Nullable public static String getCapabilityCarrierName(int);
+    method @Nullable public String getSsid();
+    method @NonNull public java.util.Set<java.lang.Integer> getSubscriptionIds();
+    method @NonNull public int[] getTransportTypes();
+    method public boolean isPrivateDnsBroken();
+    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
+    field public static final int NET_CAPABILITY_BIP = 31; // 0x1f
+    field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
+    field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
+    field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a
+    field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
+    field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b
+    field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e
+  }
+
+  public static final class NetworkCapabilities.Builder {
+    ctor public NetworkCapabilities.Builder();
+    ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
+    method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
+    method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
+    method @NonNull public android.net.NetworkCapabilities build();
+    method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
+    method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
+    method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
+    method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
+    method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
+    method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
+    method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
+    method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities();
+  }
+
+  public class NetworkProvider {
+    ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
+    method public int getProviderId();
+    method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
+    method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void registerNetworkOffer(@NonNull android.net.NetworkScore, @NonNull android.net.NetworkCapabilities, @NonNull java.util.concurrent.Executor, @NonNull android.net.NetworkProvider.NetworkOfferCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback);
+    field public static final int ID_NONE = -1; // 0xffffffff
+  }
+
+  public static interface NetworkProvider.NetworkOfferCallback {
+    method public void onNetworkNeeded(@NonNull android.net.NetworkRequest);
+    method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest);
+  }
+
+  public class NetworkReleasedException extends java.lang.Exception {
+  }
+
+  public class NetworkRequest implements android.os.Parcelable {
+    method @Nullable public String getRequestorPackageName();
+    method public int getRequestorUid();
+  }
+
+  public static class NetworkRequest.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
+    method @NonNull public android.net.NetworkRequest.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
+  }
+
+  public final class NetworkScore implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getKeepConnectedReason();
+    method public int getLegacyInt();
+    method public boolean isExiting();
+    method public boolean isTransportPrimary();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
+    field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1
+    field public static final int KEEP_CONNECTED_NONE = 0; // 0x0
+  }
+
+  public static final class NetworkScore.Builder {
+    ctor public NetworkScore.Builder();
+    method @NonNull public android.net.NetworkScore build();
+    method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
+    method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int);
+    method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int);
+    method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean);
+  }
+
+  public final class OemNetworkPreferences implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR;
+    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1
+    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2
+    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3
+    field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4
+    field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0
+  }
+
+  public static final class OemNetworkPreferences.Builder {
+    ctor public OemNetworkPreferences.Builder();
+    ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences);
+    method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int);
+    method @NonNull public android.net.OemNetworkPreferences build();
+    method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String);
+  }
+
+  public abstract class QosCallback {
+    ctor public QosCallback();
+    method public void onError(@NonNull android.net.QosCallbackException);
+    method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes);
+    method public void onQosSessionLost(@NonNull android.net.QosSession);
+  }
+
+  public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException {
+  }
+
+  public final class QosCallbackException extends java.lang.Exception {
+  }
+
+  public abstract class QosFilter {
+    method @NonNull public abstract android.net.Network getNetwork();
+    method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int);
+    method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int);
+  }
+
+  public final class QosSession implements android.os.Parcelable {
+    ctor public QosSession(int, int);
+    method public int describeContents();
+    method public int getSessionId();
+    method public int getSessionType();
+    method public long getUniqueId();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR;
+    field public static final int TYPE_EPS_BEARER = 1; // 0x1
+    field public static final int TYPE_NR_BEARER = 2; // 0x2
+  }
+
+  public interface QosSessionAttributes {
+  }
+
+  public final class QosSocketInfo implements android.os.Parcelable {
+    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException;
+    method public int describeContents();
+    method @NonNull public java.net.InetSocketAddress getLocalSocketAddress();
+    method @NonNull public android.net.Network getNetwork();
+    method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR;
+  }
+
+  public final class RouteInfo implements android.os.Parcelable {
+    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
+    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
+    method public int getMtu();
+    method public int getType();
+    field public static final int RTN_THROW = 9; // 0x9
+    field public static final int RTN_UNICAST = 1; // 0x1
+    field public static final int RTN_UNREACHABLE = 7; // 0x7
+  }
+
+  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
+    field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
+    field public static final int SUCCESS = 0; // 0x0
+  }
+
+  public class SocketLocalAddressChangedException extends java.lang.Exception {
+  }
+
+  public class SocketNotBoundException extends java.lang.Exception {
+  }
+
+  public final class StaticIpConfiguration implements android.os.Parcelable {
+    ctor public StaticIpConfiguration();
+    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
+    method public void addDnsServer(@NonNull java.net.InetAddress);
+    method public void clear();
+    method public int describeContents();
+    method @NonNull public java.util.List<java.net.InetAddress> getDnsServers();
+    method @Nullable public String getDomains();
+    method @Nullable public java.net.InetAddress getGateway();
+    method @Nullable public android.net.LinkAddress getIpAddress();
+    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
+  }
+
+  public static final class StaticIpConfiguration.Builder {
+    ctor public StaticIpConfiguration.Builder();
+    method @NonNull public android.net.StaticIpConfiguration build();
+    method @NonNull public android.net.StaticIpConfiguration.Builder setDnsServers(@NonNull Iterable<java.net.InetAddress>);
+    method @NonNull public android.net.StaticIpConfiguration.Builder setDomains(@Nullable String);
+    method @NonNull public android.net.StaticIpConfiguration.Builder setGateway(@Nullable java.net.InetAddress);
+    method @NonNull public android.net.StaticIpConfiguration.Builder setIpAddress(@Nullable android.net.LinkAddress);
+  }
+
+  public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
+    ctor public TcpKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[], int, int, int, int, int, int) throws android.net.InvalidPacketException;
+    method public int describeContents();
+    method public int getIpTos();
+    method public int getIpTtl();
+    method public int getTcpAck();
+    method public int getTcpSeq();
+    method public int getTcpWindow();
+    method public int getTcpWindowScale();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR;
+  }
+
+}
+
+package android.net.apf {
+
+  public final class ApfCapabilities implements android.os.Parcelable {
+    ctor public ApfCapabilities(int, int, int);
+    method public int describeContents();
+    method public static boolean getApfDrop8023Frames();
+    method @NonNull public static int[] getApfEtherTypeBlackList();
+    method public boolean hasDataAccess();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
+    field public final int apfPacketFormat;
+    field public final int apfVersionSupported;
+    field public final int maximumApfProgramSize;
+  }
+
+}
+
diff --git a/32/system/api/framework-graphics-removed.txt b/32/system/api/framework-graphics-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-graphics-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-graphics.txt b/32/system/api/framework-graphics.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-graphics.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-media-removed.txt b/32/system/api/framework-media-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-media-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-media.txt b/32/system/api/framework-media.txt
new file mode 100644
index 0000000..6eea769
--- /dev/null
+++ b/32/system/api/framework-media.txt
@@ -0,0 +1,68 @@
+// Signature format: 2.0
+package android.media {
+
+  public final class MediaTranscodingManager {
+    method @Nullable public android.media.MediaTranscodingManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodingManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.OnTranscodingFinishedListener);
+  }
+
+  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.OnTranscodingFinishedListener {
+    method public void onTranscodingFinished(@NonNull android.media.MediaTranscodingManager.TranscodingSession);
+  }
+
+  public abstract static class MediaTranscodingManager.TranscodingRequest {
+    method public int getClientPid();
+    method public int getClientUid();
+    method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor();
+    method @NonNull public android.net.Uri getDestinationUri();
+    method @Nullable public android.os.ParcelFileDescriptor getSourceFileDescriptor();
+    method @NonNull public android.net.Uri getSourceUri();
+  }
+
+  public static class MediaTranscodingManager.TranscodingRequest.VideoFormatResolver {
+    ctor public MediaTranscodingManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat);
+    method @Nullable public android.media.MediaFormat resolveVideoFormat();
+    method public boolean shouldTranscode();
+  }
+
+  public static final class MediaTranscodingManager.TranscodingSession {
+    method public boolean addClientUid(int);
+    method public void cancel();
+    method @NonNull public java.util.List<java.lang.Integer> getClientUids();
+    method public int getErrorCode();
+    method @IntRange(from=0, to=100) public int getProgress();
+    method public int getResult();
+    method public int getSessionId();
+    method public int getStatus();
+    method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @Nullable android.media.MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener);
+    field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1
+    field public static final int ERROR_NONE = 0; // 0x0
+    field public static final int ERROR_SERVICE_DIED = 2; // 0x2
+    field public static final int RESULT_CANCELED = 4; // 0x4
+    field public static final int RESULT_ERROR = 3; // 0x3
+    field public static final int RESULT_NONE = 1; // 0x1
+    field public static final int RESULT_SUCCESS = 2; // 0x2
+    field public static final int STATUS_FINISHED = 3; // 0x3
+    field public static final int STATUS_PAUSED = 4; // 0x4
+    field public static final int STATUS_PENDING = 1; // 0x1
+    field public static final int STATUS_RUNNING = 2; // 0x2
+  }
+
+  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener {
+    method public void onProgressUpdate(@NonNull android.media.MediaTranscodingManager.TranscodingSession, @IntRange(from=0, to=100) int);
+  }
+
+  public static final class MediaTranscodingManager.VideoTranscodingRequest extends android.media.MediaTranscodingManager.TranscodingRequest {
+    method @NonNull public android.media.MediaFormat getVideoTrackFormat();
+  }
+
+  public static final class MediaTranscodingManager.VideoTranscodingRequest.Builder {
+    ctor public MediaTranscodingManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat);
+    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest build();
+    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientPid(int);
+    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientUid(int);
+    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
+    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
+  }
+
+}
+
diff --git a/32/system/api/framework-mediaprovider-removed.txt b/32/system/api/framework-mediaprovider-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-mediaprovider-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-mediaprovider.txt b/32/system/api/framework-mediaprovider.txt
new file mode 100644
index 0000000..d29a6ed
--- /dev/null
+++ b/32/system/api/framework-mediaprovider.txt
@@ -0,0 +1,15 @@
+// Signature format: 2.0
+package android.provider {
+
+  public final class MediaStore {
+    method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri);
+    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
+    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
+    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
+    field public static final String AUTHORITY_LEGACY = "media_legacy";
+    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
+    field public static final String QUERY_ARG_DEFER_SCAN = "android:query-arg-defer-scan";
+  }
+
+}
+
diff --git a/32/system/api/framework-permission-removed.txt b/32/system/api/framework-permission-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-permission-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-permission-s-removed.txt b/32/system/api/framework-permission-s-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-permission-s-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-permission-s.txt b/32/system/api/framework-permission-s.txt
new file mode 100644
index 0000000..92c85e2
--- /dev/null
+++ b/32/system/api/framework-permission-s.txt
@@ -0,0 +1,43 @@
+// Signature format: 2.0
+package android.app.role {
+
+  public interface OnRoleHoldersChangedListener {
+    method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
+  }
+
+  @Deprecated public abstract class RoleControllerService extends android.app.Service {
+    ctor @Deprecated public RoleControllerService();
+    method @Deprecated @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int);
+    method @Deprecated @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
+    method @Deprecated @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int);
+    method @Deprecated @WorkerThread public abstract boolean onGrantDefaultRoles();
+    method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
+    method @Deprecated public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String);
+    method @Deprecated public abstract boolean onIsRoleVisible(@NonNull String);
+    method @Deprecated @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int);
+    field @Deprecated public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
+  }
+
+  public final class RoleManager {
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void addOnRoleHoldersChangedListenerAsUser(@NonNull java.util.concurrent.Executor, @NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void clearRoleHoldersAsUser(@NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @Deprecated @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void isApplicationVisibleForRole(@NonNull String, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isBypassingRoleQualification();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void isRoleVisible(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void removeRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
+    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.BYPASS_ROLE_QUALIFICATION) public void setBypassingRoleQualification(boolean);
+    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
+    field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
+    field public static final String ROLE_SYSTEM_ACTIVITY_RECOGNIZER = "android.app.role.SYSTEM_ACTIVITY_RECOGNIZER";
+    field public static final String ROLE_SYSTEM_WELLBEING = "android.app.role.SYSTEM_WELLBEING";
+  }
+
+}
+
diff --git a/32/system/api/framework-permission.txt b/32/system/api/framework-permission.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-permission.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-scheduling-removed.txt b/32/system/api/framework-scheduling-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-scheduling-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-scheduling.txt b/32/system/api/framework-scheduling.txt
new file mode 100644
index 0000000..5b76cd4
--- /dev/null
+++ b/32/system/api/framework-scheduling.txt
@@ -0,0 +1,26 @@
+// Signature format: 2.0
+package android.scheduling {
+
+  public final class RebootReadinessManager {
+    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void addRequestRebootReadinessStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
+    method @RequiresPermission(android.Manifest.permission.REBOOT) public void cancelPendingReboot();
+    method @RequiresPermission(android.Manifest.permission.REBOOT) public boolean isReadyToReboot();
+    method @RequiresPermission(android.Manifest.permission.REBOOT) public void markRebootPending();
+    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void removeRequestRebootReadinessStatusListener(@NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
+    field public static final String ACTION_REBOOT_READY = "android.scheduling.action.REBOOT_READY";
+    field public static final String EXTRA_IS_READY_TO_REBOOT = "android.scheduling.extra.IS_READY_TO_REBOOT";
+  }
+
+  public static final class RebootReadinessManager.RebootReadinessStatus {
+    ctor public RebootReadinessManager.RebootReadinessStatus(boolean, long, @NonNull String);
+    method public long getEstimatedFinishTime();
+    method @NonNull public String getLogSubsystemName();
+    method public boolean isReadyToReboot();
+  }
+
+  public static interface RebootReadinessManager.RequestRebootReadinessStatusListener {
+    method @NonNull public android.scheduling.RebootReadinessManager.RebootReadinessStatus onRequestRebootReadinessStatus();
+  }
+
+}
+
diff --git a/32/system/api/framework-sdkextensions-removed.txt b/32/system/api/framework-sdkextensions-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-sdkextensions-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-sdkextensions.txt b/32/system/api/framework-sdkextensions.txt
new file mode 100644
index 0000000..180afea
--- /dev/null
+++ b/32/system/api/framework-sdkextensions.txt
@@ -0,0 +1,10 @@
+// Signature format: 2.0
+package android.os.ext {
+
+  public class SdkExtensions {
+    method @NonNull public static java.util.Map<java.lang.Integer,java.lang.Integer> getAllExtensionVersions();
+    method public static int getExtensionVersion(int);
+  }
+
+}
+
diff --git a/32/system/api/framework-statsd-removed.txt b/32/system/api/framework-statsd-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-statsd-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-statsd.txt b/32/system/api/framework-statsd.txt
new file mode 100644
index 0000000..6fbdf0d
--- /dev/null
+++ b/32/system/api/framework-statsd.txt
@@ -0,0 +1,119 @@
+// Signature format: 2.0
+package android.app {
+
+  public final class StatsManager {
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException;
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]);
+    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int);
+    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long);
+    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata();
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException;
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException;
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException;
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException;
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long);
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] setActiveConfigsChangedOperation(@Nullable android.app.PendingIntent) throws android.app.StatsManager.StatsUnavailableException;
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void setBroadcastSubscriber(android.app.PendingIntent, long, long) throws android.app.StatsManager.StatsUnavailableException;
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent);
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent);
+    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void setFetchReportsOperation(android.app.PendingIntent, long) throws android.app.StatsManager.StatsUnavailableException;
+    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void setPullAtomCallback(int, @Nullable android.app.StatsManager.PullAtomMetadata, @NonNull java.util.concurrent.Executor, @NonNull android.app.StatsManager.StatsPullAtomCallback);
+    field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";
+    field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS";
+    field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES";
+    field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY";
+    field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID";
+    field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE";
+    field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID";
+    field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID";
+    field public static final int PULL_SKIP = 1; // 0x1
+    field public static final int PULL_SUCCESS = 0; // 0x0
+  }
+
+  public static class StatsManager.PullAtomMetadata {
+    method @Nullable public int[] getAdditiveFields();
+    method public long getCoolDownMillis();
+    method public long getTimeoutMillis();
+  }
+
+  public static class StatsManager.PullAtomMetadata.Builder {
+    ctor public StatsManager.PullAtomMetadata.Builder();
+    method @NonNull public android.app.StatsManager.PullAtomMetadata build();
+    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]);
+    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long);
+    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long);
+  }
+
+  public static interface StatsManager.StatsPullAtomCallback {
+    method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>);
+  }
+
+  public static class StatsManager.StatsUnavailableException extends android.util.AndroidException {
+    ctor public StatsManager.StatsUnavailableException(String);
+    ctor public StatsManager.StatsUnavailableException(String, Throwable);
+  }
+
+}
+
+package android.os {
+
+  public final class StatsDimensionsValue implements android.os.Parcelable {
+    method public int describeContents();
+    method public boolean getBooleanValue();
+    method public int getField();
+    method public float getFloatValue();
+    method public int getIntValue();
+    method public long getLongValue();
+    method public String getStringValue();
+    method public java.util.List<android.os.StatsDimensionsValue> getTupleValueList();
+    method public int getValueType();
+    method public boolean isValueType(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
+    field public static final int FLOAT_VALUE_TYPE = 6; // 0x6
+    field public static final int INT_VALUE_TYPE = 3; // 0x3
+    field public static final int LONG_VALUE_TYPE = 4; // 0x4
+    field public static final int STRING_VALUE_TYPE = 2; // 0x2
+    field public static final int TUPLE_VALUE_TYPE = 7; // 0x7
+  }
+
+}
+
+package android.util {
+
+  public final class StatsEvent {
+    method @NonNull public static android.util.StatsEvent.Builder newBuilder();
+  }
+
+  public static final class StatsEvent.Builder {
+    method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean);
+    method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int);
+    method @NonNull public android.util.StatsEvent build();
+    method @NonNull public android.util.StatsEvent.Builder setAtomId(int);
+    method @NonNull public android.util.StatsEvent.Builder usePooledBuffer();
+    method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]);
+    method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean);
+    method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]);
+    method @NonNull public android.util.StatsEvent.Builder writeFloat(float);
+    method @NonNull public android.util.StatsEvent.Builder writeInt(int);
+    method @NonNull public android.util.StatsEvent.Builder writeKeyValuePairs(@Nullable android.util.SparseIntArray, @Nullable android.util.SparseLongArray, @Nullable android.util.SparseArray<java.lang.String>, @Nullable android.util.SparseArray<java.lang.Float>);
+    method @NonNull public android.util.StatsEvent.Builder writeLong(long);
+    method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String);
+  }
+
+  public final class StatsLog {
+    method public static void write(@NonNull android.util.StatsEvent);
+    method @Deprecated public static void writeRaw(@NonNull byte[], int);
+    field public static final byte ANNOTATION_ID_DEFAULT_STATE = 6; // 0x6
+    field public static final byte ANNOTATION_ID_EXCLUSIVE_STATE = 4; // 0x4
+    field public static final byte ANNOTATION_ID_IS_UID = 1; // 0x1
+    field public static final byte ANNOTATION_ID_PRIMARY_FIELD = 3; // 0x3
+    field public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5; // 0x5
+    field public static final byte ANNOTATION_ID_STATE_NESTED = 8; // 0x8
+    field public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET = 7; // 0x7
+    field public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2; // 0x2
+  }
+
+}
+
diff --git a/32/system/api/framework-tethering-removed.txt b/32/system/api/framework-tethering-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/framework-tethering-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/framework-tethering.txt b/32/system/api/framework-tethering.txt
new file mode 100644
index 0000000..844ff64
--- /dev/null
+++ b/32/system/api/framework-tethering.txt
@@ -0,0 +1,117 @@
+// Signature format: 2.0
+package android.net {
+
+  public final class TetheredClient implements android.os.Parcelable {
+    ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int);
+    method public int describeContents();
+    method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses();
+    method @NonNull public android.net.MacAddress getMacAddress();
+    method public int getTetheringType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR;
+  }
+
+  public static final class TetheredClient.AddressInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.net.LinkAddress getAddress();
+    method @Nullable public String getHostname();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR;
+  }
+
+  public final class TetheringInterface implements android.os.Parcelable {
+    ctor public TetheringInterface(int, @NonNull String);
+    method public int describeContents();
+    method @NonNull public String getInterface();
+    method public int getType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringInterface> CREATOR;
+  }
+
+  public class TetheringManager {
+    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void requestLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.OnTetheringEntitlementResultListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(@NonNull android.net.TetheringManager.TetheringRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering();
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback);
+    field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
+    field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1
+    field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2
+    field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY";
+    field public static final String EXTRA_ACTIVE_TETHER = "tetherArray";
+    field public static final String EXTRA_AVAILABLE_TETHER = "availableArray";
+    field public static final String EXTRA_ERRORED_TETHER = "erroredArray";
+    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
+    field public static final int TETHERING_ETHERNET = 5; // 0x5
+    field public static final int TETHERING_INVALID = -1; // 0xffffffff
+    field public static final int TETHERING_NCM = 4; // 0x4
+    field public static final int TETHERING_USB = 1; // 0x1
+    field public static final int TETHERING_WIFI = 0; // 0x0
+    field public static final int TETHERING_WIFI_P2P = 3; // 0x3
+    field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc
+    field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9
+    field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8
+    field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd
+    field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa
+    field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5
+    field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf
+    field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe
+    field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
+    field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb
+    field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2
+    field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6
+    field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4
+    field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1
+    field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10
+    field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3
+    field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7
+    field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
+    field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
+    field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
+  }
+
+  public static interface TetheringManager.OnTetheringEntitlementResultListener {
+    method public void onTetheringEntitlementResult(int);
+  }
+
+  public static interface TetheringManager.StartTetheringCallback {
+    method public default void onTetheringFailed(int);
+    method public default void onTetheringStarted();
+  }
+
+  public static interface TetheringManager.TetheringEventCallback {
+    method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
+    method public default void onError(@NonNull String, int);
+    method public default void onError(@NonNull android.net.TetheringInterface, int);
+    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
+    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
+    method public default void onOffloadStatusChanged(int);
+    method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
+    method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
+    method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
+    method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
+    method public default void onTetheringSupported(boolean);
+    method public default void onUpstreamChanged(@Nullable android.net.Network);
+  }
+
+  public static class TetheringManager.TetheringRequest {
+    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
+    method public int getConnectivityScope();
+    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
+    method public boolean getShouldShowEntitlementUi();
+    method public int getTetheringType();
+    method public boolean isExemptFromEntitlementCheck();
+  }
+
+  public static class TetheringManager.TetheringRequest.Builder {
+    ctor public TetheringManager.TetheringRequest.Builder(int);
+    method @NonNull public android.net.TetheringManager.TetheringRequest build();
+    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
+    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
+  }
+
+}
+
diff --git a/32/system/api/framework-wifi-removed.txt b/32/system/api/framework-wifi-removed.txt
new file mode 100644
index 0000000..a2d0dff
--- /dev/null
+++ b/32/system/api/framework-wifi-removed.txt
@@ -0,0 +1,16 @@
+// Signature format: 2.0
+package android.net.wifi {
+
+  @Deprecated public class BatchedScanResult implements android.os.Parcelable {
+    ctor public BatchedScanResult();
+    ctor public BatchedScanResult(android.net.wifi.BatchedScanResult);
+    field public final java.util.List<android.net.wifi.ScanResult> scanResults;
+    field public boolean truncated;
+  }
+
+  public final class ScanResult implements android.os.Parcelable {
+    field public boolean untrusted;
+  }
+
+}
+
diff --git a/32/system/api/framework-wifi.txt b/32/system/api/framework-wifi.txt
new file mode 100644
index 0000000..dda7481
--- /dev/null
+++ b/32/system/api/framework-wifi.txt
@@ -0,0 +1,1183 @@
+// Signature format: 2.0
+package android.net.wifi {
+
+  public final class CoexUnsafeChannel implements android.os.Parcelable {
+    ctor public CoexUnsafeChannel(int, int);
+    ctor public CoexUnsafeChannel(int, int, int);
+    method public int getBand();
+    method public int getChannel();
+    method public int getPowerCapDbm();
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.CoexUnsafeChannel> CREATOR;
+    field public static final int POWER_CAP_NONE = 2147483647; // 0x7fffffff
+  }
+
+  public abstract class EasyConnectStatusCallback {
+    ctor public EasyConnectStatusCallback();
+    method public void onBootstrapUriGenerated(@NonNull android.net.Uri);
+    method public abstract void onConfiguratorSuccess(int);
+    method public abstract void onEnrolleeSuccess(int);
+    method public void onFailure(int);
+    method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]);
+    method public abstract void onProgress(int);
+    field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0
+    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3
+    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2
+    field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1
+    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1
+    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0
+  }
+
+  @Deprecated public class RttManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void disableResponder(android.net.wifi.RttManager.ResponderCallback);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void enableResponder(android.net.wifi.RttManager.ResponderCallback);
+    method @Deprecated public android.net.wifi.RttManager.Capabilities getCapabilities();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.net.wifi.RttManager.RttCapabilities getRttCapabilities();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startRanging(android.net.wifi.RttManager.RttParams[], android.net.wifi.RttManager.RttListener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopRanging(android.net.wifi.RttManager.RttListener);
+    field @Deprecated public static final int BASE = 160256; // 0x27200
+    field @Deprecated public static final int CMD_OP_ABORTED = 160260; // 0x27204
+    field @Deprecated public static final int CMD_OP_DISABLE_RESPONDER = 160262; // 0x27206
+    field @Deprecated public static final int CMD_OP_ENABLE_RESPONDER = 160261; // 0x27205
+    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_FAILED = 160264; // 0x27208
+    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_SUCCEEDED = 160263; // 0x27207
+    field @Deprecated public static final int CMD_OP_FAILED = 160258; // 0x27202
+    field @Deprecated public static final int CMD_OP_START_RANGING = 160256; // 0x27200
+    field @Deprecated public static final int CMD_OP_STOP_RANGING = 160257; // 0x27201
+    field @Deprecated public static final int CMD_OP_SUCCEEDED = 160259; // 0x27203
+    field @Deprecated public static final String DESCRIPTION_KEY = "android.net.wifi.RttManager.Description";
+    field @Deprecated public static final int PREAMBLE_HT = 2; // 0x2
+    field @Deprecated public static final int PREAMBLE_LEGACY = 1; // 0x1
+    field @Deprecated public static final int PREAMBLE_VHT = 4; // 0x4
+    field @Deprecated public static final int REASON_INITIATOR_NOT_ALLOWED_WHEN_RESPONDER_ON = -6; // 0xfffffffa
+    field @Deprecated public static final int REASON_INVALID_LISTENER = -3; // 0xfffffffd
+    field @Deprecated public static final int REASON_INVALID_REQUEST = -4; // 0xfffffffc
+    field @Deprecated public static final int REASON_NOT_AVAILABLE = -2; // 0xfffffffe
+    field @Deprecated public static final int REASON_PERMISSION_DENIED = -5; // 0xfffffffb
+    field @Deprecated public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
+    field @Deprecated public static final int RTT_BW_10_SUPPORT = 2; // 0x2
+    field @Deprecated public static final int RTT_BW_160_SUPPORT = 32; // 0x20
+    field @Deprecated public static final int RTT_BW_20_SUPPORT = 4; // 0x4
+    field @Deprecated public static final int RTT_BW_40_SUPPORT = 8; // 0x8
+    field @Deprecated public static final int RTT_BW_5_SUPPORT = 1; // 0x1
+    field @Deprecated public static final int RTT_BW_80_SUPPORT = 16; // 0x10
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_10 = 6; // 0x6
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_160 = 3; // 0x3
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_20 = 0; // 0x0
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_40 = 1; // 0x1
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_5 = 5; // 0x5
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80 = 2; // 0x2
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80P80 = 4; // 0x4
+    field @Deprecated public static final int RTT_CHANNEL_WIDTH_UNSPECIFIED = -1; // 0xffffffff
+    field @Deprecated public static final int RTT_PEER_NAN = 5; // 0x5
+    field @Deprecated public static final int RTT_PEER_P2P_CLIENT = 4; // 0x4
+    field @Deprecated public static final int RTT_PEER_P2P_GO = 3; // 0x3
+    field @Deprecated public static final int RTT_PEER_TYPE_AP = 1; // 0x1
+    field @Deprecated public static final int RTT_PEER_TYPE_STA = 2; // 0x2
+    field @Deprecated public static final int RTT_PEER_TYPE_UNSPECIFIED = 0; // 0x0
+    field @Deprecated public static final int RTT_STATUS_ABORTED = 8; // 0x8
+    field @Deprecated public static final int RTT_STATUS_FAILURE = 1; // 0x1
+    field @Deprecated public static final int RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL = 6; // 0x6
+    field @Deprecated public static final int RTT_STATUS_FAIL_BUSY_TRY_LATER = 12; // 0xc
+    field @Deprecated public static final int RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE = 15; // 0xf
+    field @Deprecated public static final int RTT_STATUS_FAIL_INVALID_TS = 9; // 0x9
+    field @Deprecated public static final int RTT_STATUS_FAIL_NOT_SCHEDULED_YET = 4; // 0x4
+    field @Deprecated public static final int RTT_STATUS_FAIL_NO_CAPABILITY = 7; // 0x7
+    field @Deprecated public static final int RTT_STATUS_FAIL_NO_RSP = 2; // 0x2
+    field @Deprecated public static final int RTT_STATUS_FAIL_PROTOCOL = 10; // 0xa
+    field @Deprecated public static final int RTT_STATUS_FAIL_REJECTED = 3; // 0x3
+    field @Deprecated public static final int RTT_STATUS_FAIL_SCHEDULE = 11; // 0xb
+    field @Deprecated public static final int RTT_STATUS_FAIL_TM_TIMEOUT = 5; // 0x5
+    field @Deprecated public static final int RTT_STATUS_INVALID_REQ = 13; // 0xd
+    field @Deprecated public static final int RTT_STATUS_NO_WIFI = 14; // 0xe
+    field @Deprecated public static final int RTT_STATUS_SUCCESS = 0; // 0x0
+    field @Deprecated public static final int RTT_TYPE_11_MC = 4; // 0x4
+    field @Deprecated public static final int RTT_TYPE_11_V = 2; // 0x2
+    field @Deprecated public static final int RTT_TYPE_ONE_SIDED = 1; // 0x1
+    field @Deprecated public static final int RTT_TYPE_TWO_SIDED = 2; // 0x2
+    field @Deprecated public static final int RTT_TYPE_UNSPECIFIED = 0; // 0x0
+  }
+
+  @Deprecated public class RttManager.Capabilities {
+    ctor @Deprecated public RttManager.Capabilities();
+    field @Deprecated public int supportedPeerType;
+    field @Deprecated public int supportedType;
+  }
+
+  @Deprecated public static class RttManager.ParcelableRttParams implements android.os.Parcelable {
+    field @Deprecated @NonNull public android.net.wifi.RttManager.RttParams[] mParams;
+  }
+
+  @Deprecated public static class RttManager.ParcelableRttResults implements android.os.Parcelable {
+    ctor @Deprecated public RttManager.ParcelableRttResults(android.net.wifi.RttManager.RttResult[]);
+    field @Deprecated public android.net.wifi.RttManager.RttResult[] mResults;
+  }
+
+  @Deprecated public abstract static class RttManager.ResponderCallback {
+    ctor @Deprecated public RttManager.ResponderCallback();
+    method @Deprecated public abstract void onResponderEnableFailure(int);
+    method @Deprecated public abstract void onResponderEnabled(android.net.wifi.RttManager.ResponderConfig);
+  }
+
+  @Deprecated public static class RttManager.ResponderConfig implements android.os.Parcelable {
+    ctor @Deprecated public RttManager.ResponderConfig();
+    method @Deprecated public int describeContents();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
+    field @Deprecated public int centerFreq0;
+    field @Deprecated public int centerFreq1;
+    field @Deprecated public int channelWidth;
+    field @Deprecated public int frequency;
+    field @Deprecated public String macAddress;
+    field @Deprecated public int preamble;
+  }
+
+  @Deprecated public static class RttManager.RttCapabilities implements android.os.Parcelable {
+    ctor @Deprecated public RttManager.RttCapabilities();
+    field @Deprecated public int bwSupported;
+    field @Deprecated public boolean lciSupported;
+    field @Deprecated public boolean lcrSupported;
+    field @Deprecated public int mcVersion;
+    field @Deprecated public boolean oneSidedRttSupported;
+    field @Deprecated public int preambleSupported;
+    field @Deprecated public boolean responderSupported;
+    field @Deprecated public boolean secureRttSupported;
+    field @Deprecated public boolean supportedPeerType;
+    field @Deprecated public boolean supportedType;
+    field @Deprecated public boolean twoSided11McRttSupported;
+  }
+
+  @Deprecated public static interface RttManager.RttListener {
+    method @Deprecated public void onAborted();
+    method @Deprecated public void onFailure(int, String);
+    method @Deprecated public void onSuccess(android.net.wifi.RttManager.RttResult[]);
+  }
+
+  @Deprecated public static class RttManager.RttParams {
+    ctor @Deprecated public RttManager.RttParams();
+    field @Deprecated public boolean LCIRequest;
+    field @Deprecated public boolean LCRRequest;
+    field @Deprecated public int bandwidth;
+    field @Deprecated public String bssid;
+    field @Deprecated public int burstTimeout;
+    field @Deprecated public int centerFreq0;
+    field @Deprecated public int centerFreq1;
+    field @Deprecated public int channelWidth;
+    field @Deprecated public int deviceType;
+    field @Deprecated public int frequency;
+    field @Deprecated public int interval;
+    field @Deprecated public int numRetriesPerFTMR;
+    field @Deprecated public int numRetriesPerMeasurementFrame;
+    field @Deprecated public int numSamplesPerBurst;
+    field @Deprecated public int num_retries;
+    field @Deprecated public int num_samples;
+    field @Deprecated public int numberBurst;
+    field @Deprecated public int preamble;
+    field @Deprecated public int requestType;
+    field @Deprecated public boolean secure;
+  }
+
+  @Deprecated public static class RttManager.RttResult {
+    ctor @Deprecated public RttManager.RttResult();
+    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCI;
+    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCR;
+    field @Deprecated public String bssid;
+    field @Deprecated public int burstDuration;
+    field @Deprecated public int burstNumber;
+    field @Deprecated public int distance;
+    field @Deprecated public int distanceSpread;
+    field @Deprecated public int distanceStandardDeviation;
+    field @Deprecated public int distance_cm;
+    field @Deprecated public int distance_sd_cm;
+    field @Deprecated public int distance_spread_cm;
+    field @Deprecated public int frameNumberPerBurstPeer;
+    field @Deprecated public int measurementFrameNumber;
+    field @Deprecated public int measurementType;
+    field @Deprecated public int negotiatedBurstNum;
+    field @Deprecated public int requestType;
+    field @Deprecated public int retryAfterDuration;
+    field @Deprecated public int rssi;
+    field @Deprecated public int rssiSpread;
+    field @Deprecated public int rssi_spread;
+    field @Deprecated public long rtt;
+    field @Deprecated public long rttSpread;
+    field @Deprecated public long rttStandardDeviation;
+    field @Deprecated public long rtt_ns;
+    field @Deprecated public long rtt_sd_ns;
+    field @Deprecated public long rtt_spread_ns;
+    field @Deprecated public int rxRate;
+    field @Deprecated public boolean secure;
+    field @Deprecated public int status;
+    field @Deprecated public int successMeasurementFrameNumber;
+    field @Deprecated public long ts;
+    field @Deprecated public int txRate;
+    field @Deprecated public int tx_rate;
+  }
+
+  @Deprecated public static class RttManager.WifiInformationElement {
+    ctor @Deprecated public RttManager.WifiInformationElement();
+    field @Deprecated public byte[] data;
+    field @Deprecated public byte id;
+  }
+
+  public final class ScanResult implements android.os.Parcelable {
+    field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9
+    field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7
+    field public static final int CIPHER_BIP_GMAC_256 = 8; // 0x8
+    field public static final int CIPHER_CCMP = 3; // 0x3
+    field public static final int CIPHER_GCMP_128 = 6; // 0x6
+    field public static final int CIPHER_GCMP_256 = 4; // 0x4
+    field public static final int CIPHER_NONE = 0; // 0x0
+    field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1
+    field public static final int CIPHER_SMS4 = 5; // 0x5
+    field public static final int CIPHER_TKIP = 2; // 0x2
+    field public static final int KEY_MGMT_EAP = 2; // 0x2
+    field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6
+    field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa
+    field public static final int KEY_MGMT_FT_EAP = 4; // 0x4
+    field public static final int KEY_MGMT_FT_PSK = 3; // 0x3
+    field public static final int KEY_MGMT_FT_SAE = 11; // 0xb
+    field public static final int KEY_MGMT_NONE = 0; // 0x0
+    field public static final int KEY_MGMT_OSEN = 7; // 0x7
+    field public static final int KEY_MGMT_OWE = 9; // 0x9
+    field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc
+    field public static final int KEY_MGMT_PSK = 1; // 0x1
+    field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5
+    field public static final int KEY_MGMT_SAE = 8; // 0x8
+    field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe
+    field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd
+    field public static final int PROTOCOL_NONE = 0; // 0x0
+    field public static final int PROTOCOL_OSEN = 3; // 0x3
+    field public static final int PROTOCOL_RSN = 2; // 0x2
+    field public static final int PROTOCOL_WAPI = 4; // 0x4
+    field public static final int PROTOCOL_WPA = 1; // 0x1
+  }
+
+  public final class SoftApCapability implements android.os.Parcelable {
+    method public boolean areFeaturesSupported(long);
+    method public int describeContents();
+    method public int getMaxSupportedClients();
+    method @NonNull public int[] getSupportedChannelList(int);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR;
+    field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L
+    field public static final long SOFTAP_FEATURE_BAND_24G_SUPPORTED = 32L; // 0x20L
+    field public static final long SOFTAP_FEATURE_BAND_5G_SUPPORTED = 64L; // 0x40L
+    field public static final long SOFTAP_FEATURE_BAND_60G_SUPPORTED = 256L; // 0x100L
+    field public static final long SOFTAP_FEATURE_BAND_6G_SUPPORTED = 128L; // 0x80L
+    field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L
+    field public static final long SOFTAP_FEATURE_IEEE80211_AX = 16L; // 0x10L
+    field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L
+    field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L
+  }
+
+  public final class SoftApConfiguration implements android.os.Parcelable {
+    method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList();
+    method @Deprecated public int getBand();
+    method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList();
+    method @Deprecated public int getChannel();
+    method @NonNull public android.util.SparseIntArray getChannels();
+    method public int getMacRandomizationSetting();
+    method public int getMaxNumberOfClients();
+    method public long getShutdownTimeoutMillis();
+    method public boolean isAutoShutdownEnabled();
+    method public boolean isBridgedModeOpportunisticShutdownEnabled();
+    method public boolean isClientControlByUserEnabled();
+    method public boolean isIeee80211axEnabled();
+    method public boolean isUserConfiguration();
+    method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration();
+    field public static final int BAND_2GHZ = 1; // 0x1
+    field public static final int BAND_5GHZ = 2; // 0x2
+    field public static final int BAND_60GHZ = 8; // 0x8
+    field public static final int BAND_6GHZ = 4; // 0x4
+    field @Deprecated public static final int BAND_ANY = 7; // 0x7
+    field public static final int RANDOMIZATION_NONE = 0; // 0x0
+    field public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
+  }
+
+  public static final class SoftApConfiguration.Builder {
+    ctor public SoftApConfiguration.Builder();
+    ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration);
+    method @NonNull public android.net.wifi.SoftApConfiguration build();
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBands(@NonNull int[]);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownEnabled(boolean);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannels(@NonNull android.util.SparseIntArray);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211axEnabled(boolean);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMacRandomizationSetting(int);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0) long);
+    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String);
+  }
+
+  public final class SoftApInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public long getAutoShutdownTimeoutMillis();
+    method public int getBandwidth();
+    method @Nullable public android.net.MacAddress getBssid();
+    method public int getFrequency();
+    method public int getWifiStandard();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6
+    field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2
+    field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1
+    field public static final int CHANNEL_WIDTH_2160MHZ = 7; // 0x7
+    field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3
+    field public static final int CHANNEL_WIDTH_4320MHZ = 8; // 0x8
+    field public static final int CHANNEL_WIDTH_6480MHZ = 9; // 0x9
+    field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4
+    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5
+    field public static final int CHANNEL_WIDTH_8640MHZ = 10; // 0xa
+    field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR;
+  }
+
+  public final class WifiAvailableChannel implements android.os.Parcelable {
+    ctor public WifiAvailableChannel(int, int);
+    method public int describeContents();
+    method public int getFrequencyMhz();
+    method public int getOperationalModes();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiAvailableChannel> CREATOR;
+    field public static final int OP_MODE_SAP = 2; // 0x2
+    field public static final int OP_MODE_STA = 1; // 0x1
+    field public static final int OP_MODE_TDLS = 32; // 0x20
+    field public static final int OP_MODE_WIFI_AWARE = 16; // 0x10
+    field public static final int OP_MODE_WIFI_DIRECT_CLI = 4; // 0x4
+    field public static final int OP_MODE_WIFI_DIRECT_GO = 8; // 0x8
+  }
+
+  public final class WifiClient implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.net.MacAddress getMacAddress();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiClient> CREATOR;
+  }
+
+  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
+    method @Deprecated public int getAuthType();
+    method @Deprecated public int getDeletionPriority();
+    method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration();
+    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus();
+    method @Deprecated @NonNull public String getPrintableSsid();
+    method @Deprecated @NonNull public String getProfileKey();
+    method @Deprecated public int getRecentFailureReason();
+    method @Deprecated public boolean hasNoInternetAccess();
+    method @Deprecated public boolean isEphemeral();
+    method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo);
+    method @Deprecated public boolean isNoInternetAccessExpected();
+    method @Deprecated public void setDeletionPriority(int) throws java.lang.IllegalArgumentException;
+    method @Deprecated public void setIpConfiguration(@Nullable android.net.IpConfiguration);
+    method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus);
+    field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff
+    field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1
+    field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0
+    field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2
+    field @Deprecated public static final int RANDOMIZATION_AUTO = 3; // 0x3
+    field @Deprecated public static final int RANDOMIZATION_NONE = 0; // 0x0
+    field @Deprecated public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
+    field @Deprecated public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
+    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
+    field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec
+    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AIR_INTERFACE_OVERLOADED = 1007; // 0x3ef
+    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AUTH_SERVER_OVERLOADED = 1008; // 0x3f0
+    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_INSUFFICIENT_RSSI = 1009; // 0x3f1
+    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_MAX_NUM_STA_ASSOCIATED = 1006; // 0x3ee
+    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_UNSPECIFIED = 1005; // 0x3ed
+    field @Deprecated public static final int RECENT_FAILURE_NETWORK_NOT_FOUND = 1011; // 0x3f3
+    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
+    field @Deprecated public static final int RECENT_FAILURE_OCE_RSSI_BASED_ASSOCIATION_REJECTION = 1010; // 0x3f2
+    field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb
+    field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea
+    field @Deprecated public boolean allowAutojoin;
+    field @Deprecated public int carrierId;
+    field @Deprecated public boolean carrierMerged;
+    field @Deprecated public String creatorName;
+    field @Deprecated public int creatorUid;
+    field @Deprecated public boolean fromWifiNetworkSpecifier;
+    field @Deprecated public boolean fromWifiNetworkSuggestion;
+    field @Deprecated public int lastConnectUid;
+    field @Deprecated public String lastUpdateName;
+    field @Deprecated public int lastUpdateUid;
+    field @Deprecated public int macRandomizationSetting;
+    field @Deprecated public boolean meteredHint;
+    field @Deprecated public int meteredOverride;
+    field @Deprecated public int numAssociation;
+    field @Deprecated public int numScorerOverride;
+    field @Deprecated public int numScorerOverrideAndSwitchedNetwork;
+    field @Deprecated public boolean requirePmf;
+    field @Deprecated public boolean shared;
+    field @Deprecated public int subscriptionId;
+    field @Deprecated public boolean useExternalScores;
+  }
+
+  @Deprecated public static class WifiConfiguration.KeyMgmt {
+    field @Deprecated public static final int WAPI_CERT = 14; // 0xe
+    field @Deprecated public static final int WAPI_PSK = 13; // 0xd
+    field @Deprecated public static final int WPA2_PSK = 4; // 0x4
+  }
+
+  @Deprecated public static class WifiConfiguration.NetworkSelectionStatus {
+    method @Deprecated public int getDisableReasonCounter(int);
+    method @Deprecated public long getDisableTime();
+    method @Deprecated public static int getMaxNetworkSelectionDisableReason();
+    method @Deprecated public int getNetworkSelectionDisableReason();
+    method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int);
+    method @Deprecated public int getNetworkSelectionStatus();
+    method @Deprecated @NonNull public String getNetworkStatusString();
+    method @Deprecated public boolean hasEverConnected();
+    field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1
+    field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2
+    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5
+    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9
+    field @Deprecated public static final int DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR = 10; // 0xa
+    field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7
+    field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8
+    field @Deprecated public static final int DISABLED_CONSECUTIVE_FAILURES = 12; // 0xc
+    field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3
+    field @Deprecated public static final int DISABLED_NETWORK_NOT_FOUND = 11; // 0xb
+    field @Deprecated public static final int DISABLED_NONE = 0; // 0x0
+    field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6
+    field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4
+    field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0
+    field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2
+    field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1
+  }
+
+  @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder {
+    ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder();
+    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build();
+    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int);
+    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int);
+  }
+
+  public final class WifiConnectedSessionInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getSessionId();
+    method public boolean isUserSelected();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConnectedSessionInfo> CREATOR;
+  }
+
+  public static final class WifiConnectedSessionInfo.Builder {
+    ctor public WifiConnectedSessionInfo.Builder(int);
+    method @NonNull public android.net.wifi.WifiConnectedSessionInfo build();
+    method @NonNull public android.net.wifi.WifiConnectedSessionInfo.Builder setUserSelected(boolean);
+  }
+
+  public class WifiEnterpriseConfig implements android.os.Parcelable {
+    method @Nullable public String[] getCaCertificateAliases();
+    method @NonNull public String getCaPath();
+    method @NonNull public String getClientCertificateAlias();
+    method public int getOcsp();
+    method @NonNull public String getWapiCertSuite();
+    method public void setCaCertificateAliases(@Nullable String[]);
+    method public void setCaPath(@NonNull String);
+    method public void setClientCertificateAlias(@NonNull String);
+    method public void setOcsp(int);
+    method public void setWapiCertSuite(@NonNull String);
+    field public static final int OCSP_NONE = 0; // 0x0
+    field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1
+    field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3
+    field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2
+  }
+
+  public class WifiFrameworkInitializer {
+    method public static void registerServiceWrappers();
+  }
+
+  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
+    method public double getLostTxPacketsPerSecond();
+    method @Nullable public String getRequestingPackageName();
+    method public double getRetriedTxPacketsPerSecond();
+    method public int getScore();
+    method public double getSuccessfulRxPacketsPerSecond();
+    method public double getSuccessfulTxPacketsPerSecond();
+    method public boolean isCarrierMerged();
+    method public boolean isEphemeral();
+    method public boolean isOemPaid();
+    method public boolean isOemPrivate();
+    method public boolean isOsuAp();
+    method public boolean isPasspointAp();
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean isPrimary();
+    method public boolean isTrusted();
+    method @Nullable public static String sanitizeSsid(@Nullable String);
+    field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00";
+    field public static final int INVALID_RSSI = -127; // 0xffffff81
+  }
+
+  public class WifiManager {
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addWifiVerboseLoggingStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinGlobal(boolean);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void clearOverrideCountryCode();
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer();
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void connect(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void connect(int, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void disable(int, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset();
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void forget(int, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.util.Pair<android.net.wifi.WifiConfiguration,java.util.Map<java.lang.Integer,java.util.List<android.net.wifi.ScanResult>>>> getAllMatchingWifiConfigs(@NonNull java.util.List<android.net.wifi.ScanResult>);
+    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.WifiAvailableChannel> getAllowedChannels(int, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCountryCode();
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork();
+    method public static int getEasyConnectMaxAllowedResponderDeviceInfoLength();
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,java.util.List<android.net.wifi.ScanResult>> getMatchingOsuProviders(@Nullable java.util.List<android.net.wifi.ScanResult>);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,android.net.wifi.hotspot2.PasspointConfiguration> getMatchingPasspointConfigsForOsuProviders(@NonNull java.util.Set<android.net.wifi.hotspot2.OsuProvider>);
+    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public java.util.Map<android.net.wifi.WifiNetworkSuggestion,java.util.List<android.net.wifi.ScanResult>> getMatchingScanResults(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>, @Nullable java.util.List<android.net.wifi.ScanResult>);
+    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.READ_WIFI_CREDENTIAL}) public java.util.List<android.net.wifi.WifiConfiguration> getPrivilegedConfiguredNetworks();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
+    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.WifiAvailableChannel> getUsableChannels(int, int);
+    method public int getVerboseLoggingLevel();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.WifiConfiguration> getWifiConfigForMatchedNetworkSuggestionsSharedWithUser(@NonNull java.util.List<android.net.wifi.ScanResult>);
+    method public boolean isApMacRandomizationSupported();
+    method public boolean isConnectedMacRandomizationSupported();
+    method @Deprecated public boolean isDeviceToDeviceRttSupported();
+    method public boolean isPortableHotspotSupported();
+    method public boolean isStaConcurrencyForRestrictedConnectionsSupported();
+    method public boolean isVerboseLoggingEnabled();
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
+    method public boolean isWifiScannerSupported();
+    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void registerCoexCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.CoexCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void registerSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void removeAppState(int, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeWifiVerboseLoggingStatusChangedListener(@NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
+    method @RequiresPermission(android.Manifest.permission.RESTART_WIFI_SUBSYSTEM) public void restartWifiSubsystem();
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]);
+    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]);
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData();
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData();
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void save(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setCarrierNetworkOffloadEnabled(int, boolean, boolean);
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS) public void setCoexUnsafeChannels(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setDefaultCountryCode(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setOverrideCountryCode(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setVerboseLoggingLevel(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setWifiScoringEnabled(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsConfiguratorInitiator(@NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsEnrolleeInitiator(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsEnrolleeResponder(@Nullable String, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startLocalOnlyHotspot(@NonNull android.net.wifi.SoftApConfiguration, @Nullable java.util.concurrent.Executor, @Nullable android.net.wifi.WifiManager.LocalOnlyHotspotCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startRestrictingAutoJoinToSubscriptionId(int);
+    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startSubscriptionProvisioning(@NonNull android.net.wifi.hotspot2.OsuProvider, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.hotspot2.ProvisioningCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopRestrictingAutoJoinToSubscriptionId();
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
+    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void unregisterCoexCallback(@NonNull android.net.wifi.WifiManager.CoexCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void unregisterSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int);
+    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int);
+    field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED";
+    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET";
+    field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW";
+    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_REFRESH_USER_PROVISIONING = "android.net.wifi.action.REFRESH_USER_PROVISIONING";
+    field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE";
+    field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE";
+    field public static final int CHANGE_REASON_ADDED = 0; // 0x0
+    field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
+    field public static final int CHANGE_REASON_REMOVED = 1; // 0x1
+    field public static final int COEX_RESTRICTION_SOFTAP = 2; // 0x2
+    field public static final int COEX_RESTRICTION_WIFI_AWARE = 4; // 0x4
+    field public static final int COEX_RESTRICTION_WIFI_DIRECT = 1; // 0x1
+    field public static final String CONFIGURED_NETWORKS_CHANGED_ACTION = "android.net.wifi.CONFIGURED_NETWORKS_CHANGE";
+    field public static final int DEVICE_MOBILITY_STATE_HIGH_MVMT = 1; // 0x1
+    field public static final int DEVICE_MOBILITY_STATE_LOW_MVMT = 2; // 0x2
+    field public static final int DEVICE_MOBILITY_STATE_STATIONARY = 3; // 0x3
+    field public static final int DEVICE_MOBILITY_STATE_UNKNOWN = 0; // 0x0
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP256R1 = 3; // 0x3
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP384R1 = 4; // 0x4
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP512R1 = 5; // 0x5
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_PRIME256V1 = 0; // 0x0
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP384R1 = 1; // 0x1
+    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP521R1 = 2; // 0x2
+    field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1
+    field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0
+    field public static final String EXTRA_CHANGE_REASON = "changeReason";
+    field @Deprecated public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES";
+    field @Deprecated public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges";
+    field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK";
+    field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
+    field public static final String EXTRA_URL = "android.net.wifi.extra.URL";
+    field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON";
+    field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
+    field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
+    field public static final String EXTRA_WIFI_AP_STATE = "wifi_state";
+    field @Deprecated public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration";
+    field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et";
+    field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid";
+    field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0
+    field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2
+    field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1
+    field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff
+    field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0
+    field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1
+    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0
+    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1
+    field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0
+    field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1
+    field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2
+    field public static final int VERBOSE_LOGGING_LEVEL_DISABLED = 0; // 0x0
+    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED = 1; // 0x1
+    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED_SHOW_KEY = 2; // 0x2
+    field public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED";
+    field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb
+    field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa
+    field public static final int WIFI_AP_STATE_ENABLED = 13; // 0xd
+    field public static final int WIFI_AP_STATE_ENABLING = 12; // 0xc
+    field public static final int WIFI_AP_STATE_FAILED = 14; // 0xe
+    field public static final String WIFI_CREDENTIAL_CHANGED_ACTION = "android.net.wifi.WIFI_CREDENTIAL_CHANGED";
+    field public static final int WIFI_CREDENTIAL_FORGOT = 1; // 0x1
+    field public static final int WIFI_CREDENTIAL_SAVED = 0; // 0x0
+  }
+
+  public static interface WifiManager.ActionListener {
+    method public void onFailure(int);
+    method public void onSuccess();
+  }
+
+  public abstract static class WifiManager.CoexCallback {
+    ctor public WifiManager.CoexCallback();
+    method public abstract void onCoexUnsafeChannelsChanged(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
+  }
+
+  public static interface WifiManager.NetworkRequestMatchCallback {
+    method public default void onAbort();
+    method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>);
+    method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback);
+    method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration);
+    method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration);
+  }
+
+  public static interface WifiManager.NetworkRequestUserSelectionCallback {
+    method public default void reject();
+    method public default void select(@NonNull android.net.wifi.WifiConfiguration);
+  }
+
+  public static interface WifiManager.OnWifiActivityEnergyInfoListener {
+    method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo);
+  }
+
+  public static interface WifiManager.OnWifiUsabilityStatsListener {
+    method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
+  }
+
+  public static interface WifiManager.ScoreUpdateObserver {
+    method public default void blocklistCurrentBssid(int);
+    method public void notifyScoreUpdate(int, int);
+    method public default void notifyStatusUpdate(int, boolean);
+    method public default void requestNudOperation(int);
+    method public void triggerUpdateOfWifiUsabilityStats(int);
+  }
+
+  public static interface WifiManager.SoftApCallback {
+    method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int);
+    method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability);
+    method @Deprecated public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>);
+    method public default void onConnectedClientsChanged(@NonNull android.net.wifi.SoftApInfo, @NonNull java.util.List<android.net.wifi.WifiClient>);
+    method @Deprecated public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo);
+    method public default void onInfoChanged(@NonNull java.util.List<android.net.wifi.SoftApInfo>);
+    method public default void onStateChanged(int, int);
+  }
+
+  public static interface WifiManager.TrafficStateCallback {
+    method public void onStateChanged(int);
+    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
+    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
+    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
+    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
+  }
+
+  public static interface WifiManager.WifiConnectedNetworkScorer {
+    method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
+    method @Deprecated public default void onStart(int);
+    method public default void onStart(@NonNull android.net.wifi.WifiConnectedSessionInfo);
+    method public void onStop(int);
+  }
+
+  public static interface WifiManager.WifiVerboseLoggingStatusChangedListener {
+    method public void onWifiVerboseLoggingStatusChanged(boolean);
+  }
+
+  @Deprecated public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
+    ctor @Deprecated public WifiNetworkConnectionStatistics(int, int);
+    ctor @Deprecated public WifiNetworkConnectionStatistics();
+    ctor @Deprecated public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics);
+    method @Deprecated public int describeContents();
+    method @Deprecated public void writeToParcel(android.os.Parcel, int);
+    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
+    field @Deprecated public int numConnection;
+    field @Deprecated public int numUsage;
+  }
+
+  public final class WifiNetworkSuggestion implements android.os.Parcelable {
+    method public int getCarrierId();
+    method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration();
+    method public boolean isOemPaid();
+    method public boolean isOemPrivate();
+  }
+
+  public static final class WifiNetworkSuggestion.Builder {
+    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPaid(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPrivate(boolean);
+  }
+
+  public class WifiScanner {
+    method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]);
+    method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings);
+    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<java.lang.Integer> getAvailableChannels(int);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults();
+    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults();
+    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void registerScanListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiScanner.ScanListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
+    method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener);
+    method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener);
+    method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener);
+    method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
+    method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener);
+    field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000
+    field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8
+    field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb
+    field public static final int REASON_INVALID_LISTENER = -2; // 0xfffffffe
+    field public static final int REASON_INVALID_REQUEST = -3; // 0xfffffffd
+    field public static final int REASON_NOT_AUTHORIZED = -4; // 0xfffffffc
+    field public static final int REASON_SUCCEEDED = 0; // 0x0
+    field public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
+    field @Deprecated public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0; // 0x0
+    field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1
+    field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2
+    field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4
+    field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2
+    field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0
+    field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1
+    field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb
+    field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf
+    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
+    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
+    field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4
+    field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6
+    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
+    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
+    field public static final int WIFI_BAND_BOTH = 3; // 0x3
+    field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7
+    field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0
+    field public static final int WIFI_RNR_ENABLED = 1; // 0x1
+    field public static final int WIFI_RNR_ENABLED_IF_WIFI_BAND_6_GHZ_SCANNED = 0; // 0x0
+    field public static final int WIFI_RNR_NOT_NEEDED = 2; // 0x2
+  }
+
+  public static interface WifiScanner.ActionListener {
+    method public void onFailure(int, String);
+    method public void onSuccess();
+  }
+
+  @Deprecated public static class WifiScanner.BssidInfo {
+    ctor @Deprecated public WifiScanner.BssidInfo();
+    field @Deprecated public String bssid;
+    field @Deprecated public int frequencyHint;
+    field @Deprecated public int high;
+    field @Deprecated public int low;
+  }
+
+  @Deprecated public static interface WifiScanner.BssidListener extends android.net.wifi.WifiScanner.ActionListener {
+    method @Deprecated public void onFound(android.net.wifi.ScanResult[]);
+    method @Deprecated public void onLost(android.net.wifi.ScanResult[]);
+  }
+
+  public static class WifiScanner.ChannelSpec {
+    ctor public WifiScanner.ChannelSpec(int);
+    field public int frequency;
+  }
+
+  @Deprecated public static class WifiScanner.HotlistSettings implements android.os.Parcelable {
+    ctor @Deprecated public WifiScanner.HotlistSettings();
+    field @Deprecated public int apLostThreshold;
+    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
+  }
+
+  public static class WifiScanner.ParcelableScanData implements android.os.Parcelable {
+    ctor public WifiScanner.ParcelableScanData(android.net.wifi.WifiScanner.ScanData[]);
+    method public android.net.wifi.WifiScanner.ScanData[] getResults();
+    field public android.net.wifi.WifiScanner.ScanData[] mResults;
+  }
+
+  public static class WifiScanner.ParcelableScanResults implements android.os.Parcelable {
+    ctor public WifiScanner.ParcelableScanResults(android.net.wifi.ScanResult[]);
+    method public android.net.wifi.ScanResult[] getResults();
+    field public android.net.wifi.ScanResult[] mResults;
+  }
+
+  public static class WifiScanner.ScanData implements android.os.Parcelable {
+    ctor public WifiScanner.ScanData(int, int, android.net.wifi.ScanResult[]);
+    ctor public WifiScanner.ScanData(android.net.wifi.WifiScanner.ScanData);
+    method public int getFlags();
+    method public int getId();
+    method public android.net.wifi.ScanResult[] getResults();
+    method public int getScannedBands();
+  }
+
+  public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener {
+    method public void onFullResult(android.net.wifi.ScanResult);
+    method @Deprecated public void onPeriodChanged(int);
+    method public void onResults(android.net.wifi.WifiScanner.ScanData[]);
+  }
+
+  public static class WifiScanner.ScanSettings implements android.os.Parcelable {
+    ctor public WifiScanner.ScanSettings();
+    method public int getRnrSetting();
+    method public boolean is6GhzPscOnlyEnabled();
+    method public void set6GhzPscOnlyEnabled(boolean);
+    method public void setRnrSetting(int);
+    field public int band;
+    field public android.net.wifi.WifiScanner.ChannelSpec[] channels;
+    field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks;
+    field public boolean hideFromAppOps;
+    field public boolean ignoreLocationSettings;
+    field @Deprecated public int maxPeriodInMs;
+    field @Deprecated public int maxScansToCache;
+    field @Deprecated public int numBssidsPerScan;
+    field @Deprecated public int periodInMs;
+    field @Deprecated public int reportEvents;
+    field @Deprecated public int stepCount;
+    field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type;
+  }
+
+  public static class WifiScanner.ScanSettings.HiddenNetwork {
+    ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String);
+    field @NonNull public final String ssid;
+  }
+
+  @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener {
+    method @Deprecated public void onChanging(android.net.wifi.ScanResult[]);
+    method @Deprecated public void onQuiescence(android.net.wifi.ScanResult[]);
+  }
+
+  @Deprecated public static class WifiScanner.WifiChangeSettings implements android.os.Parcelable {
+    ctor @Deprecated public WifiScanner.WifiChangeSettings();
+    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
+    field @Deprecated public int lostApSampleSize;
+    field @Deprecated public int minApsBreachingThreshold;
+    field @Deprecated public int periodInMs;
+    field @Deprecated public int rssiSampleSize;
+    field @Deprecated public int unchangedSampleSize;
+  }
+
+  public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
+    method public int describeContents();
+    method public int getCellularDataNetworkType();
+    method public int getCellularSignalStrengthDb();
+    method public int getCellularSignalStrengthDbm();
+    method @IntRange(from=0, to=255) public int getChannelUtilizationRatio();
+    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int);
+    method public int getLinkSpeedMbps();
+    method public int getProbeElapsedTimeSinceLastUpdateMillis();
+    method public int getProbeMcsRateSinceLastUpdate();
+    method public int getProbeStatusSinceLastUpdate();
+    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats();
+    method public int getRssi();
+    method public int getRxLinkSpeedMbps();
+    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent();
+    method public long getTimeStampMillis();
+    method public long getTotalBackgroundScanTimeMillis();
+    method public long getTotalBeaconRx();
+    method public long getTotalCcaBusyFreqTimeMillis();
+    method public long getTotalHotspot2ScanTimeMillis();
+    method public long getTotalNanScanTimeMillis();
+    method public long getTotalPnoScanTimeMillis();
+    method public long getTotalRadioOnFreqTimeMillis();
+    method public long getTotalRadioOnTimeMillis();
+    method public long getTotalRadioRxTimeMillis();
+    method public long getTotalRadioTxTimeMillis();
+    method public long getTotalRoamScanTimeMillis();
+    method public long getTotalRxSuccess();
+    method public long getTotalScanTimeMillis();
+    method public long getTotalTxBad();
+    method public long getTotalTxRetries();
+    method public long getTotalTxSuccess();
+    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> getWifiLinkLayerRadioStats();
+    method public boolean isCellularDataAvailable();
+    method public boolean isSameRegisteredCell();
+    method public boolean isThroughputSufficient();
+    method public boolean isWifiScoringEnabled();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
+    field public static final int NUM_WME_ACCESS_CATEGORIES = 4; // 0x4
+    field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
+    field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
+    field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
+    field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0
+    field public static final int WIFI_BANDWIDTH_10_MHZ = 6; // 0x6
+    field public static final int WIFI_BANDWIDTH_160_MHZ = 3; // 0x3
+    field public static final int WIFI_BANDWIDTH_20_MHZ = 0; // 0x0
+    field public static final int WIFI_BANDWIDTH_40_MHZ = 1; // 0x1
+    field public static final int WIFI_BANDWIDTH_5_MHZ = 5; // 0x5
+    field public static final int WIFI_BANDWIDTH_80P80_MHZ = 4; // 0x4
+    field public static final int WIFI_BANDWIDTH_80_MHZ = 2; // 0x2
+    field public static final int WIFI_BANDWIDTH_INVALID = -1; // 0xffffffff
+    field public static final int WIFI_PREAMBLE_CCK = 1; // 0x1
+    field public static final int WIFI_PREAMBLE_HE = 5; // 0x5
+    field public static final int WIFI_PREAMBLE_HT = 2; // 0x2
+    field public static final int WIFI_PREAMBLE_INVALID = -1; // 0xffffffff
+    field public static final int WIFI_PREAMBLE_OFDM = 0; // 0x0
+    field public static final int WIFI_PREAMBLE_VHT = 3; // 0x3
+    field public static final int WIFI_SPATIAL_STREAMS_FOUR = 4; // 0x4
+    field public static final int WIFI_SPATIAL_STREAMS_INVALID = -1; // 0xffffffff
+    field public static final int WIFI_SPATIAL_STREAMS_ONE = 1; // 0x1
+    field public static final int WIFI_SPATIAL_STREAMS_THREE = 3; // 0x3
+    field public static final int WIFI_SPATIAL_STREAMS_TWO = 2; // 0x2
+    field public static final int WME_ACCESS_CATEGORY_BE = 0; // 0x0
+    field public static final int WME_ACCESS_CATEGORY_BK = 1; // 0x1
+    field public static final int WME_ACCESS_CATEGORY_VI = 2; // 0x2
+    field public static final int WME_ACCESS_CATEGORY_VO = 3; // 0x3
+  }
+
+  public static final class WifiUsabilityStatsEntry.ContentionTimeStats implements android.os.Parcelable {
+    ctor public WifiUsabilityStatsEntry.ContentionTimeStats(long, long, long, long);
+    method public int describeContents();
+    method public long getContentionNumSamples();
+    method public long getContentionTimeAvgMicros();
+    method public long getContentionTimeMaxMicros();
+    method public long getContentionTimeMinMicros();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats> CREATOR;
+  }
+
+  public static final class WifiUsabilityStatsEntry.RadioStats implements android.os.Parcelable {
+    ctor public WifiUsabilityStatsEntry.RadioStats(int, long, long, long, long, long, long, long, long, long);
+    method public int describeContents();
+    method public long getRadioId();
+    method public long getTotalBackgroundScanTimeMillis();
+    method public long getTotalHotspot2ScanTimeMillis();
+    method public long getTotalNanScanTimeMillis();
+    method public long getTotalPnoScanTimeMillis();
+    method public long getTotalRadioOnTimeMillis();
+    method public long getTotalRadioRxTimeMillis();
+    method public long getTotalRadioTxTimeMillis();
+    method public long getTotalRoamScanTimeMillis();
+    method public long getTotalScanTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> CREATOR;
+  }
+
+  public static final class WifiUsabilityStatsEntry.RateStats implements android.os.Parcelable {
+    ctor public WifiUsabilityStatsEntry.RateStats(int, int, int, int, int, int, int, int, int);
+    method public int describeContents();
+    method public int getBandwidthInMhz();
+    method public int getBitRateInKbps();
+    method public int getMpduLost();
+    method public int getNumberOfSpatialStreams();
+    method public int getPreamble();
+    method public int getRateMcsIdx();
+    method public int getRetries();
+    method public int getRxMpdu();
+    method public int getTxMpdu();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RateStats> CREATOR;
+  }
+
+}
+
+package android.net.wifi.aware {
+
+  public class DiscoverySession implements java.lang.AutoCloseable {
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]);
+  }
+
+  public class WifiAwareManager {
+    method public void enableInstantCommunicationMode(boolean);
+  }
+
+  public class WifiAwareSession implements java.lang.AutoCloseable {
+    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]);
+  }
+
+}
+
+package android.net.wifi.hotspot2 {
+
+  public final class OsuProvider implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public String getFriendlyName();
+    method @Nullable public android.net.Uri getServerUri();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
+  }
+
+  public final class PasspointConfiguration implements android.os.Parcelable {
+    method public int getMeteredOverride();
+    method public boolean isAutojoinEnabled();
+    method public boolean isMacRandomizationEnabled();
+  }
+
+  public abstract class ProvisioningCallback {
+    ctor public ProvisioningCallback();
+    method public abstract void onProvisioningComplete();
+    method public abstract void onProvisioningFailure(int);
+    method public abstract void onProvisioningStatus(int);
+    field public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; // 0x16
+    field public static final int OSU_FAILURE_AP_CONNECTION = 1; // 0x1
+    field public static final int OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8; // 0x8
+    field public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; // 0x11
+    field public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; // 0x15
+    field public static final int OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14; // 0xe
+    field public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; // 0x13
+    field public static final int OSU_FAILURE_NO_PPS_MO = 16; // 0x10
+    field public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; // 0x12
+    field public static final int OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23; // 0x17
+    field public static final int OSU_FAILURE_PROVISIONING_ABORTED = 6; // 0x6
+    field public static final int OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7; // 0x7
+    field public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; // 0x14
+    field public static final int OSU_FAILURE_SERVER_CONNECTION = 3; // 0x3
+    field public static final int OSU_FAILURE_SERVER_URL_INVALID = 2; // 0x2
+    field public static final int OSU_FAILURE_SERVER_VALIDATION = 4; // 0x4
+    field public static final int OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5; // 0x5
+    field public static final int OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11; // 0xb
+    field public static final int OSU_FAILURE_START_REDIRECT_LISTENER = 12; // 0xc
+    field public static final int OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13; // 0xd
+    field public static final int OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9; // 0x9
+    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; // 0xf
+    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10; // 0xa
+    field public static final int OSU_STATUS_AP_CONNECTED = 2; // 0x2
+    field public static final int OSU_STATUS_AP_CONNECTING = 1; // 0x1
+    field public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6; // 0x6
+    field public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8; // 0x8
+    field public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; // 0xb
+    field public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9; // 0x9
+    field public static final int OSU_STATUS_SERVER_CONNECTED = 5; // 0x5
+    field public static final int OSU_STATUS_SERVER_CONNECTING = 3; // 0x3
+    field public static final int OSU_STATUS_SERVER_VALIDATED = 4; // 0x4
+    field public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; // 0xa
+    field public static final int OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE = 7; // 0x7
+  }
+
+}
+
+package android.net.wifi.p2p {
+
+  public final class WifiP2pGroupList implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR;
+  }
+
+  public class WifiP2pManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void deletePersistentGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.READ_WIFI_CREDENTIAL}) public void requestPersistentGroupInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setDeviceName(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull String, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int);
+    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setWfdInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pWfdInfo, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setWifiP2pChannels(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void startListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void stopListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
+    field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED";
+    field public static final int MIRACAST_DISABLED = 0; // 0x0
+    field public static final int MIRACAST_SINK = 2; // 0x2
+    field public static final int MIRACAST_SOURCE = 1; // 0x1
+  }
+
+  public static interface WifiP2pManager.PersistentGroupInfoListener {
+    method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
+  }
+
+}
+
+package android.net.wifi.rtt {
+
+  public final class RangingRequest implements android.os.Parcelable {
+    method @NonNull public java.util.List<android.net.wifi.rtt.ResponderConfig> getRttResponders();
+  }
+
+  public static final class RangingRequest.Builder {
+    method public android.net.wifi.rtt.RangingRequest.Builder addResponder(@NonNull android.net.wifi.rtt.ResponderConfig);
+  }
+
+  public final class RangingResult implements android.os.Parcelable {
+    method @NonNull public byte[] getLci();
+    method @NonNull public byte[] getLcr();
+  }
+
+  public final class ResponderConfig implements android.os.Parcelable {
+    ctor public ResponderConfig(@NonNull android.net.MacAddress, int, boolean, int, int, int, int, int);
+    ctor public ResponderConfig(@NonNull android.net.wifi.aware.PeerHandle, int, boolean, int, int, int, int, int);
+    method public int describeContents();
+    method public static android.net.wifi.rtt.ResponderConfig fromScanResult(android.net.wifi.ScanResult);
+    method public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerHandleWithDefaults(android.net.wifi.aware.PeerHandle);
+    method public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerMacAddressWithDefaults(android.net.MacAddress);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
+    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
+    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
+    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
+    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR;
+    field public static final int PREAMBLE_HE = 3; // 0x3
+    field public static final int PREAMBLE_HT = 1; // 0x1
+    field public static final int PREAMBLE_LEGACY = 0; // 0x0
+    field public static final int PREAMBLE_VHT = 2; // 0x2
+    field public static final int RESPONDER_AP = 0; // 0x0
+    field public static final int RESPONDER_AWARE = 4; // 0x4
+    field public static final int RESPONDER_P2P_CLIENT = 3; // 0x3
+    field public static final int RESPONDER_P2P_GO = 2; // 0x2
+    field public static final int RESPONDER_STA = 1; // 0x1
+    field public final int centerFreq0;
+    field public final int centerFreq1;
+    field public final int channelWidth;
+    field public final int frequency;
+    field public final android.net.MacAddress macAddress;
+    field public final android.net.wifi.aware.PeerHandle peerHandle;
+    field public final int preamble;
+    field public final int responderType;
+    field public final boolean supports80211mc;
+  }
+
+  public final class ResponderLocation implements android.os.Parcelable {
+    method public boolean getExtraInfoOnAssociationIndication();
+  }
+
+  public class WifiRttManager {
+    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE}) public void cancelRanging(@Nullable android.os.WorkSource);
+    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_WIFI_STATE}) public void startRanging(@Nullable android.os.WorkSource, @NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback);
+  }
+
+}
+
diff --git a/32/system/api/javax.obex-removed.txt b/32/system/api/javax.obex-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/javax.obex-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/javax.obex.txt b/32/system/api/javax.obex.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/javax.obex.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/org.apache.http.legacy-removed.txt b/32/system/api/org.apache.http.legacy-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/org.apache.http.legacy-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/org.apache.http.legacy.txt b/32/system/api/org.apache.http.legacy.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/system/api/org.apache.http.legacy.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/system/api/removed.txt b/32/system/api/removed.txt
new file mode 100644
index 0000000..1c484dd
--- /dev/null
+++ b/32/system/api/removed.txt
@@ -0,0 +1,334 @@
+// Signature format: 2.0
+package android {
+
+  public static final class Manifest.permission {
+    field public static final String MANAGE_DEVICE_ADMINS = "android.permission.MANAGE_DEVICE_ADMINS";
+  }
+
+}
+
+package android.app {
+
+  public class AppOpsManager {
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable int[]);
+    method @Deprecated public void setNotedAppOpsCollector(@Nullable android.app.AppOpsManager.AppOpsCollector);
+  }
+
+  @Deprecated public abstract static class AppOpsManager.AppOpsCollector extends android.app.AppOpsManager.OnOpNotedCallback {
+    ctor public AppOpsManager.AppOpsCollector();
+    method @NonNull public java.util.concurrent.Executor getAsyncNotedExecutor();
+  }
+
+  public class Notification implements android.os.Parcelable {
+    method public static Class<? extends android.app.Notification.Style> getNotificationStyleClass(String);
+  }
+
+  public static final class Notification.TvExtender implements android.app.Notification.Extender {
+    method @Deprecated public String getChannel();
+  }
+
+}
+
+package android.app.backup {
+
+  public class RestoreSession {
+    method @Deprecated public int restoreSome(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor, String[]);
+    method @Deprecated public int restoreSome(long, android.app.backup.RestoreObserver, String[]);
+  }
+
+}
+
+package android.app.prediction {
+
+  public static final class AppTarget.Builder {
+    ctor @Deprecated public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId);
+    method @Deprecated @NonNull public android.app.prediction.AppTarget.Builder setTarget(@NonNull String, @NonNull android.os.UserHandle);
+    method @Deprecated @NonNull public android.app.prediction.AppTarget.Builder setTarget(@NonNull android.content.pm.ShortcutInfo);
+  }
+
+}
+
+package android.app.search {
+
+  public final class Query implements android.os.Parcelable {
+    method @Deprecated @NonNull public long getTimestamp();
+  }
+
+  public final class SearchSession implements java.lang.AutoCloseable {
+    method @Deprecated public void destroy();
+  }
+
+  public final class SearchTarget implements android.os.Parcelable {
+    method @Deprecated public boolean shouldHide();
+  }
+
+  public static final class SearchTarget.Builder {
+    method @Deprecated @NonNull public android.app.search.SearchTarget.Builder setShouldHide(boolean);
+  }
+
+}
+
+package android.bluetooth {
+
+  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean setPriority(android.bluetooth.BluetoothDevice, int);
+  }
+
+}
+
+package android.content {
+
+  public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    field @Deprecated public static final String ACTION_DEVICE_INITIALIZATION_WIZARD = "android.intent.action.DEVICE_INITIALIZATION_WIZARD";
+    field @Deprecated public static final String ACTION_MASTER_CLEAR = "android.intent.action.MASTER_CLEAR";
+    field @Deprecated public static final String ACTION_SERVICE_STATE = "android.intent.action.SERVICE_STATE";
+    field @Deprecated public static final String EXTRA_CDMA_DEFAULT_ROAMING_INDICATOR = "cdmaDefaultRoamingIndicator";
+    field @Deprecated public static final String EXTRA_CDMA_ROAMING_INDICATOR = "cdmaRoamingIndicator";
+    field @Deprecated public static final String EXTRA_CSS_INDICATOR = "cssIndicator";
+    field @Deprecated public static final String EXTRA_DATA_OPERATOR_ALPHA_LONG = "data-operator-alpha-long";
+    field @Deprecated public static final String EXTRA_DATA_OPERATOR_ALPHA_SHORT = "data-operator-alpha-short";
+    field @Deprecated public static final String EXTRA_DATA_OPERATOR_NUMERIC = "data-operator-numeric";
+    field @Deprecated public static final String EXTRA_DATA_RADIO_TECH = "dataRadioTechnology";
+    field @Deprecated public static final String EXTRA_DATA_REG_STATE = "dataRegState";
+    field @Deprecated public static final String EXTRA_DATA_ROAMING_TYPE = "dataRoamingType";
+    field @Deprecated public static final String EXTRA_EMERGENCY_ONLY = "emergencyOnly";
+    field @Deprecated public static final String EXTRA_IS_DATA_ROAMING_FROM_REGISTRATION = "isDataRoamingFromRegistration";
+    field @Deprecated public static final String EXTRA_IS_USING_CARRIER_AGGREGATION = "isUsingCarrierAggregation";
+    field @Deprecated public static final String EXTRA_LTE_EARFCN_RSRP_BOOST = "LteEarfcnRsrpBoost";
+    field @Deprecated public static final String EXTRA_MANUAL = "manual";
+    field @Deprecated public static final String EXTRA_NETWORK_ID = "networkId";
+    field @Deprecated public static final String EXTRA_OPERATOR_ALPHA_LONG = "operator-alpha-long";
+    field @Deprecated public static final String EXTRA_OPERATOR_ALPHA_SHORT = "operator-alpha-short";
+    field @Deprecated public static final String EXTRA_OPERATOR_NUMERIC = "operator-numeric";
+    field @Deprecated public static final String EXTRA_SYSTEM_ID = "systemId";
+    field @Deprecated public static final String EXTRA_VOICE_RADIO_TECH = "radioTechnology";
+    field @Deprecated public static final String EXTRA_VOICE_REG_STATE = "voiceRegState";
+    field @Deprecated public static final String EXTRA_VOICE_ROAMING_TYPE = "voiceRoamingType";
+  }
+
+}
+
+package android.content.pm {
+
+  public class PackageItemInfo {
+    field @Deprecated public static final int SAFE_LABEL_FLAG_FIRST_LINE = 4; // 0x4
+    field @Deprecated public static final int SAFE_LABEL_FLAG_SINGLE_LINE = 2; // 0x2
+    field @Deprecated public static final int SAFE_LABEL_FLAG_TRIM = 1; // 0x1
+  }
+
+}
+
+package android.hardware.hdmi {
+
+  public final class HdmiControlManager {
+    method @Deprecated public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevicesList();
+    method @Deprecated public boolean isRemoteDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+    method @Deprecated public void powerOffRemoteDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+    method @Deprecated public void powerOnRemoteDevice(android.hardware.hdmi.HdmiDeviceInfo);
+    method @Deprecated public void requestRemoteDeviceToBecomeActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
+  }
+
+}
+
+package android.location {
+
+  public class LocationManager {
+    method @Deprecated public boolean addGpsMeasurementListener(android.location.GpsMeasurementsEvent.Listener);
+    method @Deprecated public boolean addGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String);
+    method @Deprecated public void removeGpsMeasurementListener(android.location.GpsMeasurementsEvent.Listener);
+    method @Deprecated public void removeGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackage(String);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackageEnabled(boolean);
+  }
+
+}
+
+package android.media.tv {
+
+  public final class TvInputManager {
+    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, android.media.tv.TvInputManager.HardwareCallback, android.media.tv.TvInputInfo);
+  }
+
+  public static final class TvInputManager.Hardware {
+    method public boolean dispatchKeyEventToHdmi(android.view.KeyEvent);
+  }
+
+}
+
+package android.net.wifi {
+
+  @Deprecated public class BatchedScanResult implements android.os.Parcelable {
+    ctor public BatchedScanResult();
+    ctor public BatchedScanResult(android.net.wifi.BatchedScanResult);
+    field public final java.util.List<android.net.wifi.ScanResult> scanResults;
+    field public boolean truncated;
+  }
+
+  public final class ScanResult implements android.os.Parcelable {
+    field public boolean untrusted;
+  }
+
+}
+
+package android.os {
+
+  public class Build {
+    field public static final boolean PERMISSIONS_REVIEW_REQUIRED = true;
+  }
+
+}
+
+package android.service.notification {
+
+  public abstract class NotificationListenerService extends android.app.Service {
+    method public android.service.notification.StatusBarNotification[] getActiveNotifications(int);
+    method public android.service.notification.StatusBarNotification[] getActiveNotifications(String[], int);
+    method public void registerAsSystemService(android.content.Context, android.content.ComponentName, int) throws android.os.RemoteException;
+    method public final void setOnNotificationPostedTrim(int);
+    method public final void snoozeNotification(String, String);
+    method public void unregisterAsSystemService() throws android.os.RemoteException;
+    field public static final int TRIM_FULL = 0; // 0x0
+    field public static final int TRIM_LIGHT = 1; // 0x1
+  }
+
+  public static class NotificationListenerService.Ranking {
+    method public java.util.List<java.lang.String> getAdditionalPeople();
+    method public java.util.List<android.service.notification.SnoozeCriterion> getSnoozeCriteria();
+  }
+
+}
+
+package android.service.search {
+
+  public abstract class SearchUiService extends android.app.Service {
+    method @Deprecated public void onCreateSearchSession(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
+  }
+
+}
+
+package android.service.translation {
+
+  public abstract class TranslationService extends android.app.Service {
+    method @Deprecated public void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int);
+    method @Deprecated public void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull android.service.translation.TranslationService.OnTranslationResultCallback);
+  }
+
+  @Deprecated public static interface TranslationService.OnTranslationResultCallback {
+    method @Deprecated public void onError();
+    method public void onTranslationSuccess(@NonNull android.view.translation.TranslationResponse);
+  }
+
+}
+
+package android.telecom {
+
+  public class TelecomManager {
+    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.WRITE_SECURE_SETTINGS}) public boolean setDefaultDialer(@Nullable String);
+  }
+
+}
+
+package android.telephony {
+
+  public class TelephonyManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void answerRingingCall();
+    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public boolean endCall();
+    method @Deprecated public void silenceRinger();
+  }
+
+}
+
+package android.telephony.data {
+
+  public final class DataCallResponse implements android.os.Parcelable {
+    ctor public DataCallResponse(int, int, int, int, int, @Nullable String, @Nullable java.util.List<android.net.LinkAddress>, @Nullable java.util.List<java.net.InetAddress>, @Nullable java.util.List<java.net.InetAddress>, @Nullable java.util.List<java.net.InetAddress>, int);
+  }
+
+}
+
+package android.telephony.ims {
+
+  public interface DelegateStateCallback {
+    method @Deprecated public void onImsConfigurationChanged(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
+  }
+
+  @Deprecated public final class SipDelegateImsConfiguration implements android.os.Parcelable {
+    method public boolean containsKey(@NonNull String);
+    method @NonNull public android.os.PersistableBundle copyBundle();
+    method public int describeContents();
+    method public boolean getBoolean(@NonNull String, boolean);
+    method public int getInt(@NonNull String, int);
+    method @Nullable public String getString(@NonNull String);
+    method public long getVersion();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateImsConfiguration> CREATOR;
+    field public static final String IPTYPE_IPV4 = "IPV4";
+    field public static final String IPTYPE_IPV6 = "IPV6";
+    field public static final String KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING = "sip_config_auhentication_header_string";
+    field public static final String KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING = "sip_config_authentication_nonce_string";
+    field public static final String KEY_SIP_CONFIG_CELLULAR_NETWORK_INFO_HEADER_STRING = "sip_config_cellular_network_info_header_string";
+    field public static final String KEY_SIP_CONFIG_HOME_DOMAIN_STRING = "sip_config_home_domain_string";
+    field public static final String KEY_SIP_CONFIG_IMEI_STRING = "sip_config_imei_string";
+    field public static final String KEY_SIP_CONFIG_IPTYPE_STRING = "sip_config_iptype_string";
+    field public static final String KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL = "sip_config_is_compact_form_enabled_bool";
+    field public static final String KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL = "sip_config_is_gruu_enabled_bool";
+    field public static final String KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL = "sip_config_is_ipsec_enabled_bool";
+    field public static final String KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL = "sip_config_is_keepalive_enabled_bool";
+    field public static final String KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL = "sip_config_is_nat_enabled_bool";
+    field public static final String KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT = "sip_config_udp_max_payload_size_int";
+    field public static final String KEY_SIP_CONFIG_PATH_HEADER_STRING = "sip_config_path_header_string";
+    field public static final String KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING = "sip_config_p_access_network_info_header_string";
+    field public static final String KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING = "sip_config_p_associated_uri_header_string";
+    field public static final String KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING = "sip_config_p_last_access_network_info_header_string";
+    field public static final String KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING = "sip_config_security_verify_header_string";
+    field public static final String KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING = "sip_config_server_default_ipaddress_string";
+    field public static final String KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT = "sip_config_server_default_port_int";
+    field public static final String KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT = "sip_config_server_ipsec_client_port_int";
+    field public static final String KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT = "sip_config_server_ipsec_old_client_port_int";
+    field public static final String KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT = "sip_config_server_ipsec_server_port_int";
+    field public static final String KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING = "sip_config_service_route_header_string";
+    field public static final String KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING = "sip_config_protocol_type_string";
+    field public static final String KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING = "sip_config_ue_default_ipaddress_string";
+    field public static final String KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT = "sip_config_ue_default_port_int";
+    field public static final String KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT = "sip_config_ue_ipsec_client_port_int";
+    field public static final String KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT = "sip_config_ue_ipsec_old_client_port_int";
+    field public static final String KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT = "sip_config_ue_ipsec_server_port_int";
+    field public static final String KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING = "sip_config_ue_private_user_id_string";
+    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING = "sip_config_ue_public_gruu_string";
+    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING = "sip_config_ue_public_ipaddress_with_nat_string";
+    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT = "sip_config_ue_public_port_with_nat_int";
+    field public static final String KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING = "sip_config_ue_public_user_id_string";
+    field public static final String KEY_SIP_CONFIG_URI_USER_PART_STRING = "sip_config_uri_user_part_string";
+    field public static final String KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING = "sip_config_sip_user_agent_header_string";
+    field public static final String SIP_TRANSPORT_TCP = "TCP";
+    field public static final String SIP_TRANSPORT_UDP = "UDP";
+  }
+
+  public static final class SipDelegateImsConfiguration.Builder {
+    ctor public SipDelegateImsConfiguration.Builder(int);
+    ctor public SipDelegateImsConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
+    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addBoolean(@NonNull String, boolean);
+    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addInt(@NonNull String, int);
+    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration.Builder addString(@NonNull String, @NonNull String);
+    method @NonNull public android.telephony.ims.SipDelegateImsConfiguration build();
+  }
+
+}
+
+package android.telephony.ims.stub {
+
+  public interface DelegateConnectionStateCallback {
+    method @Deprecated public default void onImsConfigurationChanged(@NonNull android.telephony.ims.SipDelegateImsConfiguration);
+  }
+
+}
+
+package android.view.translation {
+
+  public final class UiTranslationManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void startTranslation(@NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, @NonNull java.util.List<android.view.autofill.AutofillId>, @NonNull android.app.assist.ActivityId);
+  }
+
+}
+
diff --git a/32/system/art.jar b/32/system/art.jar
new file mode 100644
index 0000000..a93ccd5
--- /dev/null
+++ b/32/system/art.jar
Binary files differ
diff --git a/32/system/com.android.future.usb.accessory.jar b/32/system/com.android.future.usb.accessory.jar
new file mode 100644
index 0000000..c9e49a1
--- /dev/null
+++ b/32/system/com.android.future.usb.accessory.jar
Binary files differ
diff --git a/32/system/com.android.location.provider.jar b/32/system/com.android.location.provider.jar
new file mode 100644
index 0000000..f31b739
--- /dev/null
+++ b/32/system/com.android.location.provider.jar
Binary files differ
diff --git a/32/system/com.android.media.remotedisplay.jar b/32/system/com.android.media.remotedisplay.jar
new file mode 100644
index 0000000..1593ed0
--- /dev/null
+++ b/32/system/com.android.media.remotedisplay.jar
Binary files differ
diff --git a/32/system/com.android.media.tv.remoteprovider.jar b/32/system/com.android.media.tv.remoteprovider.jar
new file mode 100644
index 0000000..7c90a83
--- /dev/null
+++ b/32/system/com.android.media.tv.remoteprovider.jar
Binary files differ
diff --git a/32/system/com.android.mediadrm.signer.jar b/32/system/com.android.mediadrm.signer.jar
new file mode 100644
index 0000000..1942f06
--- /dev/null
+++ b/32/system/com.android.mediadrm.signer.jar
Binary files differ
diff --git a/32/system/com.android.nfc_extras.jar b/32/system/com.android.nfc_extras.jar
new file mode 100644
index 0000000..a921544
--- /dev/null
+++ b/32/system/com.android.nfc_extras.jar
Binary files differ
diff --git a/32/system/framework-appsearch.jar b/32/system/framework-appsearch.jar
new file mode 100644
index 0000000..a9ec3d4
--- /dev/null
+++ b/32/system/framework-appsearch.jar
Binary files differ
diff --git a/32/system/framework-graphics.jar b/32/system/framework-graphics.jar
new file mode 100644
index 0000000..d0cbc01
--- /dev/null
+++ b/32/system/framework-graphics.jar
Binary files differ
diff --git a/32/system/framework-media.jar b/32/system/framework-media.jar
new file mode 100644
index 0000000..346905c
--- /dev/null
+++ b/32/system/framework-media.jar
Binary files differ
diff --git a/32/system/framework-permission-s.jar b/32/system/framework-permission-s.jar
new file mode 100644
index 0000000..1cb985c
--- /dev/null
+++ b/32/system/framework-permission-s.jar
Binary files differ
diff --git a/32/system/framework-statsd.jar b/32/system/framework-statsd.jar
new file mode 100644
index 0000000..dea2999
--- /dev/null
+++ b/32/system/framework-statsd.jar
Binary files differ
diff --git a/32/system/framework-tethering.jar b/32/system/framework-tethering.jar
new file mode 100644
index 0000000..ba4f8d1
--- /dev/null
+++ b/32/system/framework-tethering.jar
Binary files differ
diff --git a/32/system/javax.obex.jar b/32/system/javax.obex.jar
new file mode 100644
index 0000000..5524768
--- /dev/null
+++ b/32/system/javax.obex.jar
Binary files differ
diff --git a/32/system/org.apache.http.legacy.jar b/32/system/org.apache.http.legacy.jar
new file mode 100644
index 0000000..c3654cd
--- /dev/null
+++ b/32/system/org.apache.http.legacy.jar
Binary files differ
diff --git a/32/test/android-non-updatable.jar b/32/test/android-non-updatable.jar
new file mode 100644
index 0000000..8b97add
--- /dev/null
+++ b/32/test/android-non-updatable.jar
Binary files differ
diff --git a/32/test/android.jar b/32/test/android.jar
new file mode 100644
index 0000000..e774226
--- /dev/null
+++ b/32/test/android.jar
Binary files differ
diff --git a/32/test/android.test.base.jar b/32/test/android.test.base.jar
new file mode 100644
index 0000000..f48d4ac
--- /dev/null
+++ b/32/test/android.test.base.jar
Binary files differ
diff --git a/32/test/android.test.mock.jar b/32/test/android.test.mock.jar
new file mode 100644
index 0000000..9e410d3
--- /dev/null
+++ b/32/test/android.test.mock.jar
Binary files differ
diff --git a/32/test/android.test.runner.jar b/32/test/android.test.runner.jar
new file mode 100644
index 0000000..16b9a0a
--- /dev/null
+++ b/32/test/android.test.runner.jar
Binary files differ
diff --git a/32/test/api/android-non-updatable-removed.txt b/32/test/api/android-non-updatable-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/android-non-updatable-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/android-non-updatable.txt b/32/test/api/android-non-updatable.txt
new file mode 100644
index 0000000..a8e06fc
--- /dev/null
+++ b/32/test/api/android-non-updatable.txt
@@ -0,0 +1,3338 @@
+// Signature format: 2.0
+package android {
+
+  public static final class Manifest.permission {
+    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
+    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
+    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
+    field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA";
+    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
+    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
+    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
+    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
+    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
+    field public static final String CLEAR_FREEZE_PERIOD = "android.permission.CLEAR_FREEZE_PERIOD";
+    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
+    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
+    field public static final String CONTROL_DEVICE_STATE = "android.permission.CONTROL_DEVICE_STATE";
+    field public static final String FORCE_DEVICE_POLICY_MANAGER_LOGS = "android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS";
+    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
+    field public static final String INSTALL_TEST_ONLY_PACKAGE = "android.permission.INSTALL_TEST_ONLY_PACKAGE";
+    field public static final String KEEP_UNINSTALLED_PACKAGES = "android.permission.KEEP_UNINSTALLED_PACKAGES";
+    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
+    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
+    field public static final String MANAGE_CRATES = "android.permission.MANAGE_CRATES";
+    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
+    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
+    field public static final String MANAGE_TOAST_RATE_LIMITING = "android.permission.MANAGE_TOAST_RATE_LIMITING";
+    field public static final String MODIFY_REFRESH_RATE_SWITCHING_TYPE = "android.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE";
+    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
+    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
+    field public static final String OVERRIDE_DISPLAY_MODE_REQUESTS = "android.permission.OVERRIDE_DISPLAY_MODE_REQUESTS";
+    field public static final String QUERY_AUDIO_STATE = "android.permission.QUERY_AUDIO_STATE";
+    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
+    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
+    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
+    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
+    field public static final String RESET_APP_ERRORS = "android.permission.RESET_APP_ERRORS";
+    field public static final String SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS = "android.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS";
+    field public static final String START_TASKS_FROM_RECENTS = "android.permission.START_TASKS_FROM_RECENTS";
+    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
+    field public static final String TEST_BIOMETRIC = "android.permission.TEST_BIOMETRIC";
+    field public static final String TEST_MANAGE_ROLLBACKS = "android.permission.TEST_MANAGE_ROLLBACKS";
+    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
+    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
+    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
+    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
+  }
+
+  public static final class Manifest.permission_group {
+    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
+  }
+
+  public static final class R.attr {
+    field public static final int requestForegroundServiceExemption = 16844362; // 0x101064a
+  }
+
+  public static final class R.bool {
+    field public static final int config_assistantOnTopOfDream = 17891333; // 0x1110005
+    field public static final int config_perDisplayFocusEnabled = 17891332; // 0x1110004
+    field public static final int config_remoteInsetsControllerControlsSystemBars = 17891334; // 0x1110006
+  }
+
+  public static final class R.string {
+    field public static final int config_defaultAssistant = 17039393; // 0x1040021
+    field public static final int config_defaultDialer = 17039395; // 0x1040023
+    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
+    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
+    field public static final int config_systemGallery = 17039399; // 0x1040027
+  }
+
+}
+
+package android.accessibilityservice {
+
+  public final class AccessibilityGestureEvent implements android.os.Parcelable {
+    ctor public AccessibilityGestureEvent(int, int);
+  }
+
+  public abstract class AccessibilityService extends android.app.Service {
+    field public static final int ACCESSIBILITY_TAKE_SCREENSHOT_REQUEST_INTERVAL_TIMES_MS = 333; // 0x14d
+  }
+
+  public class AccessibilityServiceInfo implements android.os.Parcelable {
+    method @NonNull public android.content.ComponentName getComponentName();
+  }
+
+}
+
+package android.animation {
+
+  public class ValueAnimator extends android.animation.Animator {
+    method public static float getDurationScale();
+    method public static void setDurationScale(float);
+  }
+
+}
+
+package android.app {
+
+  @UiContext public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
+    method public void onMovedToDisplay(int, android.content.res.Configuration);
+  }
+
+  public class ActivityManager {
+    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void addHomeVisibilityListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.HomeVisibilityListener);
+    method public void alwaysShowUnsupportedCompileSdkWarning(android.content.ComponentName);
+    method public long getTotalRam();
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidProcessCapabilities(int);
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidProcessState(int);
+    method public void holdLock(android.os.IBinder, int);
+    method public static boolean isHighEndGfx();
+    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void removeHomeVisibilityListener(@NonNull android.app.HomeVisibilityListener);
+    method @RequiresPermission(android.Manifest.permission.RESET_APP_ERRORS) public void resetAppErrors();
+    method public static void resumeAppSwitches() throws android.os.RemoteException;
+    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public void scheduleApplicationInfoChanged(java.util.List<java.lang.String>, int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public void setStopUserOnSwitch(int);
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean stopUser(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public boolean updateMccMncConfiguration(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.DUMP) public void waitForBroadcastIdle();
+    field public static final long LOCK_DOWN_CLOSE_SYSTEM_DIALOGS = 174664365L; // 0xa692aadL
+    field public static final int PROCESS_CAPABILITY_ALL = 15; // 0xf
+    field public static final int PROCESS_CAPABILITY_ALL_EXPLICIT = 1; // 0x1
+    field public static final int PROCESS_CAPABILITY_ALL_IMPLICIT = 6; // 0x6
+    field public static final int PROCESS_CAPABILITY_FOREGROUND_CAMERA = 2; // 0x2
+    field public static final int PROCESS_CAPABILITY_FOREGROUND_LOCATION = 1; // 0x1
+    field public static final int PROCESS_CAPABILITY_FOREGROUND_MICROPHONE = 4; // 0x4
+    field public static final int PROCESS_CAPABILITY_NETWORK = 8; // 0x8
+    field public static final int PROCESS_CAPABILITY_NONE = 0; // 0x0
+    field public static final int PROCESS_STATE_FOREGROUND_SERVICE = 4; // 0x4
+    field public static final int PROCESS_STATE_TOP = 2; // 0x2
+    field public static final int STOP_USER_ON_SWITCH_DEFAULT = -1; // 0xffffffff
+    field public static final int STOP_USER_ON_SWITCH_FALSE = 0; // 0x0
+    field public static final int STOP_USER_ON_SWITCH_TRUE = 1; // 0x1
+  }
+
+  public static class ActivityManager.RunningAppProcessInfo implements android.os.Parcelable {
+    field public static final int IMPORTANCE_CANT_SAVE_STATE_PRE_26 = 170; // 0xaa
+  }
+
+  public static class ActivityManager.TaskDescription implements android.os.Parcelable {
+    method public String getIconFilename();
+    method public int getIconResource();
+    method @Nullable public String getIconResourcePackage();
+  }
+
+  public class ActivityOptions {
+    method @NonNull public static android.app.ActivityOptions makeCustomAnimation(@NonNull android.content.Context, int, int, @Nullable android.os.Handler, @Nullable android.app.ActivityOptions.OnAnimationStartedListener, @Nullable android.app.ActivityOptions.OnAnimationFinishedListener);
+    method @NonNull @RequiresPermission(android.Manifest.permission.START_TASKS_FROM_RECENTS) public static android.app.ActivityOptions makeCustomTaskAnimation(@NonNull android.content.Context, int, int, @Nullable android.os.Handler, @Nullable android.app.ActivityOptions.OnAnimationStartedListener, @Nullable android.app.ActivityOptions.OnAnimationFinishedListener);
+    method public static void setExitTransitionTimeout(long);
+    method public void setLaunchActivityType(int);
+    method public void setLaunchWindowingMode(int);
+    method public void setLaunchedFromBubble(boolean);
+    method public void setTaskAlwaysOnTop(boolean);
+    method public void setTaskOverlay(boolean, boolean);
+  }
+
+  public static interface ActivityOptions.OnAnimationFinishedListener {
+    method public void onAnimationFinished();
+  }
+
+  public static interface ActivityOptions.OnAnimationStartedListener {
+    method public void onAnimationStarted();
+  }
+
+  public class ActivityTaskManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void clearLaunchParamsForPackages(java.util.List<java.lang.String>);
+    method public static boolean currentUiModeSupportsErrorDialogs(@NonNull android.content.Context);
+    method public static int getMaxNumPictureInPictureActions(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void moveTaskToRootTask(int, int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void removeRootTasksInWindowingModes(@NonNull int[]);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void removeRootTasksWithActivityTypes(@NonNull int[]);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public boolean removeTask(int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void resizeTask(int, android.graphics.Rect);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void startSystemLockTaskMode(int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void stopSystemLockTaskMode();
+    method public static boolean supportsMultiWindow(android.content.Context);
+    method public static boolean supportsSplitScreenMultiWindow(android.content.Context);
+    field public static final int DEFAULT_MINIMAL_SPLIT_SCREEN_DISPLAY_SIZE_DP = 440; // 0x1b8
+    field public static final int INVALID_STACK_ID = -1; // 0xffffffff
+  }
+
+  public class AlarmManager {
+    method public boolean hasScheduleExactAlarm(@NonNull String, int);
+  }
+
+  public class AppDetailsActivity extends android.app.Activity {
+    ctor public AppDetailsActivity();
+  }
+
+  public class AppOpsManager {
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void addHistoricalOps(@NonNull android.app.AppOpsManager.HistoricalOps);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void clearHistory();
+    method public static void collectNotedOpSync(@NonNull android.app.SyncNotedAppOp);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void getHistoricalOpsFromDiskRaw(@NonNull android.app.AppOpsManager.HistoricalOpsRequest, @Nullable java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.AppOpsManager.HistoricalOps>);
+    method public static int getNumOps();
+    method public boolean isOperationActive(int, int, String);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void offsetHistory(long);
+    method public static String opToPermission(int);
+    method public static int permissionToOpCode(String);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void rebootHistory(long);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void reloadNonHistoricalState();
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void resetHistoryParameters();
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void resetPackageOpsNoHistory(@NonNull String);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void setHistoryParameters(int, long, int);
+    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(int, int, String, int);
+    method public static int strOpToOp(@NonNull String);
+    field public static final int ATTRIBUTION_CHAIN_ID_NONE = -1; // 0xffffffff
+    field public static final int ATTRIBUTION_FLAGS_NONE = 0; // 0x0
+    field public static final int ATTRIBUTION_FLAG_ACCESSOR = 1; // 0x1
+    field public static final int ATTRIBUTION_FLAG_INTERMEDIARY = 2; // 0x2
+    field public static final int ATTRIBUTION_FLAG_RECEIVER = 4; // 0x4
+    field public static final int HISTORICAL_MODE_DISABLED = 0; // 0x0
+    field public static final int HISTORICAL_MODE_ENABLED_ACTIVE = 1; // 0x1
+    field public static final int HISTORICAL_MODE_ENABLED_PASSIVE = 2; // 0x2
+    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
+    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
+    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
+    field public static final String KEY_BG_STATE_SETTLE_TIME = "bg_state_settle_time";
+    field public static final String KEY_FG_SERVICE_STATE_SETTLE_TIME = "fg_service_state_settle_time";
+    field public static final String KEY_TOP_STATE_SETTLE_TIME = "top_state_settle_time";
+    field public static final String OPSTR_ACTIVITY_RECOGNITION = "android:activity_recognition";
+    field public static final String OPSTR_ACTIVITY_RECOGNITION_SOURCE = "android:activity_recognition_source";
+    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
+    field public static final String OPSTR_RECORD_AUDIO_HOTWORD = "android:record_audio_hotword";
+    field public static final String OPSTR_USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER = "android:use_icc_auth_with_device_identifier";
+    field public static final int OP_COARSE_LOCATION = 0; // 0x0
+    field public static final int OP_RECORD_AUDIO = 27; // 0x1b
+    field public static final int OP_START_FOREGROUND = 76; // 0x4c
+    field public static final int OP_SYSTEM_ALERT_WINDOW = 24; // 0x18
+    field public static final long SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE = 151105954L; // 0x901b1a2L
+  }
+
+  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
+    ctor public AppOpsManager.HistoricalOps(long, long);
+    method public void addDiscreteAccess(int, int, @NonNull String, @Nullable String, int, int, long, long);
+    method public void increaseAccessCount(int, int, @NonNull String, @Nullable String, int, int, long);
+    method public void increaseAccessDuration(int, int, @NonNull String, @Nullable String, int, int, long);
+    method public void increaseRejectCount(int, int, @NonNull String, @Nullable String, int, int, long);
+    method public void offsetBeginAndEndTime(long);
+  }
+
+  public static interface AppOpsManager.OnOpActiveChangedListener {
+    method public default void onOpActiveChanged(@NonNull String, int, @NonNull String, @Nullable String, boolean, int, int);
+  }
+
+  public class BroadcastOptions {
+    ctor public BroadcastOptions(@NonNull android.os.Bundle);
+    method public int getMaxManifestReceiverApiLevel();
+    method public long getTemporaryAppAllowlistDuration();
+    method @Nullable public String getTemporaryAppAllowlistReason();
+    method public int getTemporaryAppAllowlistReasonCode();
+    method public int getTemporaryAppAllowlistType();
+    method public void setMaxManifestReceiverApiLevel(int);
+  }
+
+  public class DownloadManager {
+    field public static final String COLUMN_MEDIASTORE_URI = "mediastore_uri";
+  }
+
+  public class DreamManager {
+    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isDreaming();
+    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void setActiveDream(@NonNull android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void startDream(@NonNull android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void stopDream();
+  }
+
+  public final class GameManager {
+    method @RequiresPermission("android.permission.MANAGE_GAME_MODE") public void setGameMode(@NonNull String, int);
+  }
+
+  public abstract class HomeVisibilityListener {
+    ctor public HomeVisibilityListener();
+    method public abstract void onHomeVisibilityChanged(boolean);
+  }
+
+  public class KeyguardManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS, "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"}) public boolean checkLock(int, @Nullable byte[]);
+    method @RequiresPermission(anyOf={android.Manifest.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS, "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"}) public boolean setLock(int, @Nullable byte[], int, @Nullable byte[]);
+  }
+
+  public class Notification implements android.os.Parcelable {
+    method public boolean shouldShowForegroundImmediately();
+  }
+
+  public final class NotificationChannel implements android.os.Parcelable {
+    method public int getOriginalImportance();
+    method public boolean isBlockable();
+    method public boolean isImportanceLockedByCriticalDeviceFunction();
+    method public boolean isImportanceLockedByOEM();
+    method public void lockFields(int);
+    method public void setDeleted(boolean);
+    method public void setDeletedTimeMs(long);
+    method public void setDemoted(boolean);
+    method public void setFgServiceShown(boolean);
+    method public void setImportanceLockedByCriticalDeviceFunction(boolean);
+    method public void setImportanceLockedByOEM(boolean);
+    method public void setImportantConversation(boolean);
+    method public void setOriginalImportance(int);
+  }
+
+  public final class NotificationChannelGroup implements android.os.Parcelable {
+    method public int getUserLockedFields();
+    method public void lockFields(int);
+    method public void setBlocked(boolean);
+  }
+
+  public class NotificationManager {
+    method public void allowAssistantAdjustment(String);
+    method public void disallowAssistantAdjustment(String);
+    method public android.content.ComponentName getEffectsSuppressor();
+    method public boolean isNotificationPolicyAccessGrantedForPackage(@NonNull String);
+    method public boolean matchesCallFilter(android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TOAST_RATE_LIMITING) public void setToastRateLimitingEnabled(boolean);
+    method public void updateNotificationChannel(@NonNull String, int, @NonNull android.app.NotificationChannel);
+  }
+
+  public final class PendingIntent implements android.os.Parcelable {
+    method @RequiresPermission("android.permission.GET_INTENT_SENDER_INTENT") public boolean intentFilterEquals(@Nullable android.app.PendingIntent);
+    method @NonNull @RequiresPermission("android.permission.GET_INTENT_SENDER_INTENT") public java.util.List<android.content.pm.ResolveInfo> queryIntentComponents(int);
+    field @Deprecated public static final int FLAG_MUTABLE_UNAUDITED = 33554432; // 0x2000000
+  }
+
+  public final class PictureInPictureParams implements android.os.Parcelable {
+    method public java.util.List<android.app.RemoteAction> getActions();
+    method public float getAspectRatio();
+    method public android.graphics.Rect getSourceRectHint();
+    method public boolean isSeamlessResizeEnabled();
+  }
+
+  public final class PictureInPictureUiState implements android.os.Parcelable {
+    ctor public PictureInPictureUiState(boolean);
+  }
+
+  public class StatusBarManager {
+    method public void clickNotification(@Nullable String, int, int, boolean);
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void collapsePanels();
+    method public void expandNotificationsPanel();
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void handleSystemKey(int);
+    method public void sendNotificationFeedback(@Nullable String, @Nullable android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setExpansionDisabledForSimNetworkLock(boolean);
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void togglePanel();
+  }
+
+  public final class SyncNotedAppOp implements android.os.Parcelable {
+    ctor public SyncNotedAppOp(int, @IntRange(from=0L) int, @Nullable String, @NonNull String);
+  }
+
+  public class TaskInfo {
+    method public boolean containsLaunchCookie(@NonNull android.os.IBinder);
+    method @NonNull public android.content.res.Configuration getConfiguration();
+    method public int getParentTaskId();
+    method @Nullable public android.app.PictureInPictureParams getPictureInPictureParams();
+    method @NonNull public android.window.WindowContainerToken getToken();
+    method public boolean hasParentTask();
+  }
+
+  public class TimePickerDialog extends android.app.AlertDialog implements android.content.DialogInterface.OnClickListener android.widget.TimePicker.OnTimeChangedListener {
+    method public android.widget.TimePicker getTimePicker();
+  }
+
+  public final class UiAutomation {
+    method public void destroy();
+    method @NonNull public android.os.ParcelFileDescriptor[] executeShellCommandRwe(@NonNull String);
+    method @NonNull public java.util.Set<java.lang.String> getAdoptedShellPermissions();
+    method @Deprecated public boolean grantRuntimePermission(String, String, android.os.UserHandle);
+    method public boolean injectInputEvent(@NonNull android.view.InputEvent, boolean, boolean);
+    method @Deprecated public boolean revokeRuntimePermission(String, String, android.os.UserHandle);
+    method public void syncInputTransactions();
+    method public void syncInputTransactions(boolean);
+    method @Nullable public android.graphics.Bitmap takeScreenshot(@NonNull android.view.Window);
+    field @NonNull public static final java.util.Set<java.lang.String> ALL_PERMISSIONS;
+  }
+
+  public class UiModeManager {
+    method public boolean isNightModeLocked();
+    method public boolean isUiModeLocked();
+    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
+    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
+    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
+    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
+    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
+  }
+
+  public class WallpaperManager {
+    method @Nullable public android.graphics.Bitmap getBitmap();
+    method public boolean shouldEnableWideColorGamut();
+    method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public boolean wallpaperSupportsWcg(int);
+  }
+
+  public class WindowConfiguration implements java.lang.Comparable<android.app.WindowConfiguration> android.os.Parcelable {
+    ctor public WindowConfiguration();
+    method public int compareTo(android.app.WindowConfiguration);
+    method public int describeContents();
+    method public int getActivityType();
+    method public android.graphics.Rect getAppBounds();
+    method public android.graphics.Rect getBounds();
+    method @NonNull public android.graphics.Rect getMaxBounds();
+    method public int getRotation();
+    method public int getWindowingMode();
+    method public void setActivityType(int);
+    method public void setAppBounds(android.graphics.Rect);
+    method public void setBounds(android.graphics.Rect);
+    method public void setMaxBounds(@Nullable android.graphics.Rect);
+    method public void setRotation(int);
+    method public void setTo(android.app.WindowConfiguration);
+    method public void setWindowingMode(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTIVITY_TYPE_ASSISTANT = 4; // 0x4
+    field public static final int ACTIVITY_TYPE_DREAM = 5; // 0x5
+    field public static final int ACTIVITY_TYPE_HOME = 2; // 0x2
+    field public static final int ACTIVITY_TYPE_RECENTS = 3; // 0x3
+    field public static final int ACTIVITY_TYPE_STANDARD = 1; // 0x1
+    field public static final int ACTIVITY_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int ROTATION_UNDEFINED = -1; // 0xffffffff
+    field public static final int WINDOWING_MODE_FREEFORM = 5; // 0x5
+    field public static final int WINDOWING_MODE_FULLSCREEN = 1; // 0x1
+    field public static final int WINDOWING_MODE_MULTI_WINDOW = 6; // 0x6
+    field public static final int WINDOWING_MODE_PINNED = 2; // 0x2
+    field public static final int WINDOWING_MODE_SPLIT_SCREEN_PRIMARY = 3; // 0x3
+    field public static final int WINDOWING_MODE_SPLIT_SCREEN_SECONDARY = 4; // 0x4
+    field public static final int WINDOWING_MODE_UNDEFINED = 0; // 0x0
+  }
+
+}
+
+package android.app.admin {
+
+  public class DevicePolicyManager {
+    method public int checkProvisioningPreCondition(@Nullable String, @NonNull String);
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void clearOrganizationId();
+    method @RequiresPermission(android.Manifest.permission.CLEAR_FREEZE_PERIOD) public void clearSystemUpdatePolicyFreezePeriodRecord();
+    method @Nullable public android.os.UserHandle createAndProvisionManagedProfile(@NonNull android.app.admin.ManagedProfileProvisioningParams) throws android.app.admin.ProvisioningException;
+    method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceNetworkLogs();
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void forceRemoveActiveAdmin(@NonNull android.content.ComponentName, int);
+    method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceSecurityLogs();
+    method public void forceUpdateUserSetupComplete(int);
+    method @NonNull public java.util.Set<java.lang.String> getDefaultCrossProfilePackages();
+    method @NonNull public java.util.Set<java.lang.String> getDisallowedSystemApps(@NonNull android.content.ComponentName, int, @NonNull String);
+    method public long getLastBugReportRequestTime();
+    method public long getLastNetworkLogRetrievalTime();
+    method public long getLastSecurityLogRetrievalTime();
+    method public java.util.List<java.lang.String> getOwnerInstalledCaCerts(@NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public java.util.Set<java.lang.String> getPolicyExemptApps();
+    method public boolean isCurrentInputMethodSetByOwner();
+    method public boolean isFactoryResetProtectionPolicySupported();
+    method @RequiresPermission(anyOf={"android.permission.MARK_DEVICE_ORGANIZATION_OWNED", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"}, conditional=true) public void markProfileOwnerOnOrganizationOwnedDevice(@NonNull android.content.ComponentName);
+    method @NonNull public static String operationSafetyReasonToString(int);
+    method @NonNull public static String operationToString(int);
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void provisionFullyManagedDevice(@NonNull android.app.admin.FullyManagedDeviceProvisioningParams) throws android.app.admin.ProvisioningException;
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void resetDefaultCrossProfileIntentFilters(int);
+    method @RequiresPermission(allOf={"android.permission.MANAGE_DEVICE_ADMINS", android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public void setActiveAdmin(@NonNull android.content.ComponentName, boolean, int);
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public boolean setDeviceOwner(@NonNull android.content.ComponentName, @Nullable String, int);
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public boolean setDeviceOwnerOnly(@NonNull android.content.ComponentName, @Nullable String, int);
+    method @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public void setNextOperationSafety(int, int);
+    field public static final String ACTION_DATA_SHARING_RESTRICTION_APPLIED = "android.app.action.DATA_SHARING_RESTRICTION_APPLIED";
+    field public static final String ACTION_DEVICE_POLICY_CONSTANTS_CHANGED = "android.app.action.DEVICE_POLICY_CONSTANTS_CHANGED";
+    field public static final int CODE_ACCOUNTS_NOT_EMPTY = 6; // 0x6
+    field public static final int CODE_CANNOT_ADD_MANAGED_PROFILE = 11; // 0xb
+    field public static final int CODE_DEVICE_ADMIN_NOT_SUPPORTED = 13; // 0xd
+    field public static final int CODE_HAS_DEVICE_OWNER = 1; // 0x1
+    field public static final int CODE_HAS_PAIRED = 8; // 0x8
+    field public static final int CODE_MANAGED_USERS_NOT_SUPPORTED = 9; // 0x9
+    field public static final int CODE_NONSYSTEM_USER_EXISTS = 5; // 0x5
+    field public static final int CODE_NOT_SYSTEM_USER = 7; // 0x7
+    field @Deprecated public static final int CODE_NOT_SYSTEM_USER_SPLIT = 12; // 0xc
+    field public static final int CODE_OK = 0; // 0x0
+    field public static final int CODE_PROVISIONING_NOT_ALLOWED_FOR_NON_DEVELOPER_USERS = 15; // 0xf
+    field @Deprecated public static final int CODE_SPLIT_SYSTEM_USER_DEVICE_SYSTEM_USER = 14; // 0xe
+    field public static final int CODE_SYSTEM_USER = 10; // 0xa
+    field public static final int CODE_USER_HAS_PROFILE_OWNER = 2; // 0x2
+    field public static final int CODE_USER_NOT_RUNNING = 3; // 0x3
+    field public static final int CODE_USER_SETUP_COMPLETED = 4; // 0x4
+    field public static final int OPERATION_CLEAR_APPLICATION_USER_DATA = 23; // 0x17
+    field public static final int OPERATION_CREATE_AND_MANAGE_USER = 5; // 0x5
+    field public static final int OPERATION_INSTALL_CA_CERT = 24; // 0x18
+    field public static final int OPERATION_INSTALL_KEY_PAIR = 25; // 0x19
+    field public static final int OPERATION_INSTALL_SYSTEM_UPDATE = 26; // 0x1a
+    field public static final int OPERATION_LOCK_NOW = 1; // 0x1
+    field public static final int OPERATION_LOGOUT_USER = 9; // 0x9
+    field public static final int OPERATION_REBOOT = 7; // 0x7
+    field public static final int OPERATION_REMOVE_ACTIVE_ADMIN = 27; // 0x1b
+    field public static final int OPERATION_REMOVE_KEY_PAIR = 28; // 0x1c
+    field public static final int OPERATION_REMOVE_USER = 6; // 0x6
+    field public static final int OPERATION_REQUEST_BUGREPORT = 29; // 0x1d
+    field public static final int OPERATION_SAFETY_REASON_NONE = -1; // 0xffffffff
+    field public static final int OPERATION_SET_ALWAYS_ON_VPN_PACKAGE = 30; // 0x1e
+    field public static final int OPERATION_SET_APPLICATION_HIDDEN = 15; // 0xf
+    field public static final int OPERATION_SET_APPLICATION_RESTRICTIONS = 16; // 0x10
+    field public static final int OPERATION_SET_CAMERA_DISABLED = 31; // 0x1f
+    field public static final int OPERATION_SET_FACTORY_RESET_PROTECTION_POLICY = 32; // 0x20
+    field public static final int OPERATION_SET_GLOBAL_PRIVATE_DNS = 33; // 0x21
+    field public static final int OPERATION_SET_KEEP_UNINSTALLED_PACKAGES = 17; // 0x11
+    field public static final int OPERATION_SET_KEYGUARD_DISABLED = 12; // 0xc
+    field public static final int OPERATION_SET_LOCK_TASK_FEATURES = 18; // 0x12
+    field public static final int OPERATION_SET_LOCK_TASK_PACKAGES = 19; // 0x13
+    field public static final int OPERATION_SET_LOGOUT_ENABLED = 34; // 0x22
+    field public static final int OPERATION_SET_MASTER_VOLUME_MUTED = 35; // 0x23
+    field public static final int OPERATION_SET_OVERRIDE_APNS_ENABLED = 36; // 0x24
+    field public static final int OPERATION_SET_PACKAGES_SUSPENDED = 20; // 0x14
+    field public static final int OPERATION_SET_PERMISSION_GRANT_STATE = 37; // 0x25
+    field public static final int OPERATION_SET_PERMISSION_POLICY = 38; // 0x26
+    field public static final int OPERATION_SET_RESTRICTIONS_PROVIDER = 39; // 0x27
+    field public static final int OPERATION_SET_STATUS_BAR_DISABLED = 13; // 0xd
+    field public static final int OPERATION_SET_SYSTEM_SETTING = 11; // 0xb
+    field public static final int OPERATION_SET_SYSTEM_UPDATE_POLICY = 14; // 0xe
+    field public static final int OPERATION_SET_TRUST_AGENT_CONFIGURATION = 21; // 0x15
+    field public static final int OPERATION_SET_USER_CONTROL_DISABLED_PACKAGES = 22; // 0x16
+    field public static final int OPERATION_SET_USER_RESTRICTION = 10; // 0xa
+    field public static final int OPERATION_START_USER_IN_BACKGROUND = 3; // 0x3
+    field public static final int OPERATION_STOP_USER = 4; // 0x4
+    field public static final int OPERATION_SWITCH_USER = 2; // 0x2
+    field public static final int OPERATION_UNINSTALL_CA_CERT = 40; // 0x28
+    field public static final int OPERATION_WIPE_DATA = 8; // 0x8
+    field public static final int PROVISIONING_RESULT_ADMIN_PACKAGE_INSTALLATION_FAILED = 3; // 0x3
+    field public static final int PROVISIONING_RESULT_PRE_CONDITION_FAILED = 1; // 0x1
+    field public static final int PROVISIONING_RESULT_PROFILE_CREATION_FAILED = 2; // 0x2
+    field public static final int PROVISIONING_RESULT_REMOVE_NON_REQUIRED_APPS_FAILED = 6; // 0x6
+    field public static final int PROVISIONING_RESULT_SETTING_PROFILE_OWNER_FAILED = 4; // 0x4
+    field public static final int PROVISIONING_RESULT_SET_DEVICE_OWNER_FAILED = 7; // 0x7
+    field public static final int PROVISIONING_RESULT_STARTING_PROFILE_FAILED = 5; // 0x5
+  }
+
+  public final class FullyManagedDeviceProvisioningParams implements android.os.Parcelable {
+    method public boolean canDeviceOwnerGrantSensorsPermissions();
+    method public int describeContents();
+    method @NonNull public android.content.ComponentName getDeviceAdminComponentName();
+    method public long getLocalTime();
+    method @Nullable public java.util.Locale getLocale();
+    method @NonNull public String getOwnerName();
+    method @Nullable public String getTimeZone();
+    method public boolean isLeaveAllSystemAppsEnabled();
+    method public void logParams(@NonNull String);
+    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FullyManagedDeviceProvisioningParams> CREATOR;
+  }
+
+  public static final class FullyManagedDeviceProvisioningParams.Builder {
+    ctor public FullyManagedDeviceProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams build();
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setDeviceOwnerCanGrantSensorsPermissions(boolean);
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocalTime(long);
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocale(@Nullable java.util.Locale);
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setTimeZone(@Nullable String);
+  }
+
+  public final class ManagedProfileProvisioningParams implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.accounts.Account getAccountToMigrate();
+    method @NonNull public String getOwnerName();
+    method @NonNull public android.content.ComponentName getProfileAdminComponentName();
+    method @Nullable public String getProfileName();
+    method public boolean isKeepAccountMigrated();
+    method public boolean isLeaveAllSystemAppsEnabled();
+    method public boolean isOrganizationOwnedProvisioning();
+    method public void logParams(@NonNull String);
+    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ManagedProfileProvisioningParams> CREATOR;
+  }
+
+  public static final class ManagedProfileProvisioningParams.Builder {
+    ctor public ManagedProfileProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams build();
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAccountToMigrate(@Nullable android.accounts.Account);
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setKeepAccountMigrated(boolean);
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setOrganizationOwnedProvisioning(boolean);
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setProfileName(@Nullable String);
+  }
+
+  public class ProvisioningException extends android.util.AndroidException {
+    ctor public ProvisioningException(@NonNull Exception, int);
+    method public int getProvisioningResult();
+  }
+
+  public static final class SecurityLog.SecurityEvent implements android.os.Parcelable {
+    ctor public SecurityLog.SecurityEvent(long, byte[]);
+  }
+
+  public final class UnsafeStateException extends java.lang.IllegalStateException implements android.os.Parcelable {
+    ctor public UnsafeStateException(int, int);
+    method public int getOperation();
+  }
+
+}
+
+package android.app.assist {
+
+  public class ActivityId {
+    method public int getTaskId();
+    method @Nullable public android.os.IBinder getToken();
+  }
+
+}
+
+package android.app.blob {
+
+  public class BlobStoreManager {
+    method @Nullable public android.app.blob.LeaseInfo getLeaseInfo(@NonNull android.app.blob.BlobHandle) throws java.io.IOException;
+    method public void waitForIdle(long) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+  }
+
+  public final class LeaseInfo implements android.os.Parcelable {
+    ctor public LeaseInfo(@NonNull String, long, @IdRes int, @Nullable CharSequence);
+    method public int describeContents();
+    method @Nullable public CharSequence getDescription();
+    method @IdRes public int getDescriptionResId();
+    method public long getExpiryTimeMillis();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.blob.LeaseInfo> CREATOR;
+  }
+
+}
+
+package android.app.contentsuggestions {
+
+  public final class ContentSuggestionsManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_SUGGESTIONS) public void resetTemporaryService(int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_SUGGESTIONS) public void setDefaultServiceEnabled(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_SUGGESTIONS) public void setTemporaryService(int, @NonNull String, int);
+  }
+
+}
+
+package android.app.prediction {
+
+  public final class AppPredictor {
+    method public android.app.prediction.AppPredictionSessionId getSessionId();
+  }
+
+}
+
+package android.app.usage {
+
+  public class NetworkStatsManager {
+    method public void setPollForce(boolean);
+  }
+
+  public class StorageStatsManager {
+    method public boolean isQuotaSupported(@NonNull java.util.UUID);
+    method public boolean isReservedSupported(@NonNull java.util.UUID);
+    method @NonNull @WorkerThread public java.util.Collection<android.os.storage.CrateInfo> queryCratesForPackage(@NonNull java.util.UUID, @NonNull String, @NonNull android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @WorkerThread public java.util.Collection<android.os.storage.CrateInfo> queryCratesForUid(@NonNull java.util.UUID, int) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_CRATES) @WorkerThread public java.util.Collection<android.os.storage.CrateInfo> queryCratesForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+  }
+
+  public final class UsageStats implements android.os.Parcelable {
+    ctor public UsageStats();
+  }
+
+  public static final class UsageStats.Builder {
+    ctor public UsageStats.Builder();
+    method @NonNull public android.app.usage.UsageStats build();
+    method @NonNull public android.app.usage.UsageStats.Builder setFirstTimeStamp(long);
+    method @NonNull public android.app.usage.UsageStats.Builder setLastTimeStamp(long);
+    method @NonNull public android.app.usage.UsageStats.Builder setLastTimeUsed(long);
+    method @NonNull public android.app.usage.UsageStats.Builder setPackageName(@Nullable String);
+    method @NonNull public android.app.usage.UsageStats.Builder setTotalTimeInForeground(long);
+  }
+
+  public final class UsageStatsManager {
+    method public void forceUsageSourceSettingRead();
+  }
+
+}
+
+package android.appwidget {
+
+  public class AppWidgetManager {
+    method public void setBindAppWidgetPermission(@NonNull String, int, boolean);
+  }
+
+}
+
+package android.bluetooth {
+
+  public final class BluetoothClass implements android.os.Parcelable {
+    method public int getClassOfDevice();
+  }
+
+}
+
+package android.content {
+
+  public final class AttributionSource implements android.os.Parcelable {
+    ctor public AttributionSource(int, @Nullable String, @Nullable String);
+    ctor public AttributionSource(int, @Nullable String, @Nullable String, @NonNull android.os.IBinder);
+    ctor public AttributionSource(int, @Nullable String, @Nullable String, @Nullable java.util.Set<java.lang.String>, @Nullable android.content.AttributionSource);
+  }
+
+  public final class AutofillOptions implements android.os.Parcelable {
+    ctor public AutofillOptions(int, boolean);
+    method public int describeContents();
+    method public static android.content.AutofillOptions forWhitelistingItself();
+    method public boolean isAugmentedAutofillEnabled(@NonNull android.content.Context);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.AutofillOptions> CREATOR;
+    field public long appDisabledExpiration;
+    field public boolean augmentedAutofillEnabled;
+    field public final boolean compatModeEnabled;
+    field @Nullable public android.util.ArrayMap<java.lang.String,java.lang.Long> disabledActivities;
+    field public final int loggingLevel;
+    field @Nullable public android.util.ArraySet<android.content.ComponentName> whitelistedActivitiesForAugmentedAutofill;
+  }
+
+  public class ClipboardManager extends android.text.ClipboardManager {
+    method @Nullable @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public String getPrimaryClipSource();
+  }
+
+  public final class ContentCaptureOptions implements android.os.Parcelable {
+    ctor public ContentCaptureOptions(int);
+    ctor public ContentCaptureOptions(int, int, int, int, int, @Nullable android.util.ArraySet<android.content.ComponentName>);
+    method public int describeContents();
+    method public static android.content.ContentCaptureOptions forWhitelistingItself();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentCaptureOptions> CREATOR;
+    field public final int idleFlushingFrequencyMs;
+    field public final boolean lite;
+    field public final int logHistorySize;
+    field public final int loggingLevel;
+    field public final int maxBufferSize;
+    field public final int textChangeFlushingFrequencyMs;
+    field @Nullable public final android.util.ArraySet<android.content.ComponentName> whitelistedComponents;
+  }
+
+  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+    method @NonNull public static android.os.UserHandle getUserHandleFromUri(@NonNull android.net.Uri);
+  }
+
+  public abstract class ContentResolver {
+    method public static String[] getSyncAdapterPackagesForAuthorityAsUser(String, int);
+  }
+
+  public abstract class Context {
+    method @NonNull public java.io.File getCrateDir(@NonNull String);
+    method public abstract int getDisplayId();
+    method @NonNull public android.os.UserHandle getUser();
+    method public int getUserId();
+    method public void setAutofillOptions(@Nullable android.content.AutofillOptions);
+    method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions);
+    field public static final String CONTENT_CAPTURE_MANAGER_SERVICE = "content_capture";
+    field public static final String DEVICE_IDLE_CONTROLLER = "deviceidle";
+    field public static final String DREAM_SERVICE = "dream";
+    field public static final String FONT_SERVICE = "font";
+    field public static final String POWER_EXEMPTION_SERVICE = "power_exemption";
+    field @Deprecated public static final String POWER_WHITELIST_MANAGER = "power_whitelist";
+    field public static final String TEST_NETWORK_SERVICE = "test_network";
+  }
+
+  public class ContextWrapper extends android.content.Context {
+    method public int getDisplayId();
+  }
+
+  public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    field public static final String ACTION_USER_STOPPED = "android.intent.action.USER_STOPPED";
+  }
+
+  public class SyncAdapterType implements android.os.Parcelable {
+    method @Nullable public String getPackageName();
+  }
+
+}
+
+package android.content.integrity {
+
+  public class AppIntegrityManager {
+    method @NonNull public android.content.integrity.RuleSet getCurrentRuleSet();
+    method @NonNull public java.util.List<java.lang.String> getWhitelistedRuleProviders();
+  }
+
+}
+
+package android.content.pm {
+
+  public class ActivityInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+    method public static boolean isTranslucentOrFloating(android.content.res.TypedArray);
+    field public static final long ALWAYS_SANDBOX_DISPLAY_APIS = 185004937L; // 0xb06f389L
+    field public static final long FORCE_NON_RESIZE_APP = 181136395L; // 0xacbec0bL
+    field public static final long FORCE_RESIZE_APP = 174042936L; // 0xa5faf38L
+    field public static final long NEVER_SANDBOX_DISPLAY_APIS = 184838306L; // 0xb0468a2L
+    field public static final long OVERRIDE_MIN_ASPECT_RATIO = 174042980L; // 0xa5faf64L
+    field public static final long OVERRIDE_MIN_ASPECT_RATIO_LARGE = 180326787L; // 0xabf9183L
+    field public static final float OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE = 1.7777778f;
+    field public static final long OVERRIDE_MIN_ASPECT_RATIO_MEDIUM = 180326845L; // 0xabf91bdL
+    field public static final float OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE = 1.5f;
+    field public static final long OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY = 203647190L; // 0xc2368d6L
+    field public static final int RESIZE_MODE_RESIZEABLE = 2; // 0x2
+  }
+
+  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    method public boolean hasRequestForegroundServiceExemption();
+    method public boolean isPrivilegedApp();
+    method public boolean isSystemApp();
+    field public static final int PRIVATE_FLAG_PRIVILEGED = 8; // 0x8
+    field public int privateFlags;
+  }
+
+  public class CrossProfileApps {
+    method public boolean canConfigureInteractAcrossProfiles(@NonNull String);
+  }
+
+  public class LauncherApps {
+    ctor public LauncherApps(android.content.Context);
+  }
+
+  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
+    method public void setInstallFlagAllowTest();
+    method public void setInstallerPackageName(@Nullable String);
+  }
+
+  public abstract class PackageManager {
+    method @Nullable public String getContentCaptureServicePackageName();
+    method @Nullable public String getDefaultTextClassifierPackageName();
+    method @RequiresPermission(android.Manifest.permission.INJECT_EVENTS) public android.os.IBinder getHoldLockToken();
+    method public abstract int getInstallReason(@NonNull String, @NonNull android.os.UserHandle);
+    method @NonNull public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplicationsAsUser(int, int);
+    method @Nullable public abstract String[] getNamesForUids(int[]);
+    method @NonNull public String getPermissionControllerPackageName();
+    method @NonNull public abstract String getServicesSystemSharedLibraryPackageName();
+    method @NonNull public abstract String getSharedSystemSharedLibraryPackageName();
+    method @Nullable public String getSystemTextClassifierPackageName();
+    method @Nullable public String getWellbeingPackageName();
+    method public void holdLock(android.os.IBinder, int);
+    method @RequiresPermission(android.Manifest.permission.KEEP_UNINSTALLED_PACKAGES) public void setKeepUninstalledPackages(@NonNull java.util.List<java.lang.String>);
+    field public static final String FEATURE_ADOPTABLE_STORAGE = "android.software.adoptable_storage";
+    field public static final String FEATURE_FILE_BASED_ENCRYPTION = "android.software.file_based_encryption";
+    field public static final String FEATURE_HDMI_CEC = "android.hardware.hdmi.cec";
+    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
+    field public static final int MATCH_KNOWN_PACKAGES = 4202496; // 0x402000
+    field public static final String SYSTEM_SHARED_LIBRARY_SERVICES = "android.ext.services";
+    field public static final String SYSTEM_SHARED_LIBRARY_SHARED = "android.ext.shared";
+  }
+
+  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    field public static final int PROTECTION_FLAG_VENDOR_PRIVILEGED = 32768; // 0x8000
+  }
+
+  public final class ProviderInfoList implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.content.pm.ProviderInfoList fromList(@NonNull java.util.List<android.content.pm.ProviderInfo>);
+    method @NonNull public java.util.List<android.content.pm.ProviderInfo> getList();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ProviderInfoList> CREATOR;
+  }
+
+  public final class SharedLibraryInfo implements android.os.Parcelable {
+    method @NonNull public java.util.List<java.lang.String> getAllCodePaths();
+    method public boolean isNative();
+  }
+
+  public final class ShortcutInfo implements android.os.Parcelable {
+    method public boolean isVisibleToPublisher();
+  }
+
+  public class ShortcutManager {
+    ctor public ShortcutManager(android.content.Context);
+  }
+
+  public class UserInfo implements android.os.Parcelable {
+    ctor public UserInfo(int, String, int);
+    ctor public UserInfo(int, String, String, int);
+    ctor public UserInfo(int, String, String, int, String);
+    ctor @Deprecated public UserInfo();
+    ctor public UserInfo(android.content.pm.UserInfo);
+    method public boolean canHaveProfile();
+    method public int describeContents();
+    method public android.os.UserHandle getUserHandle();
+    method public boolean isAdmin();
+    method public boolean isCloneProfile();
+    method public boolean isDemo();
+    method public boolean isEnabled();
+    method public boolean isEphemeral();
+    method public boolean isFull();
+    method public boolean isGuest();
+    method public boolean isInitialized();
+    method public boolean isManagedProfile();
+    method public boolean isPrimary();
+    method public boolean isProfile();
+    method public boolean isQuietModeEnabled();
+    method public boolean isRestricted();
+    method public boolean isSystemOnly();
+    method public static boolean isSystemOnly(int);
+    method public boolean supportsSwitchTo();
+    method public boolean supportsSwitchToByUser();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.UserInfo> CREATOR;
+    field public static final int FLAG_ADMIN = 2; // 0x2
+    field @Deprecated public static final int FLAG_DEMO = 512; // 0x200
+    field public static final int FLAG_DISABLED = 64; // 0x40
+    field public static final int FLAG_EPHEMERAL = 256; // 0x100
+    field public static final int FLAG_FULL = 1024; // 0x400
+    field @Deprecated public static final int FLAG_GUEST = 4; // 0x4
+    field public static final int FLAG_INITIALIZED = 16; // 0x10
+    field @Deprecated public static final int FLAG_MANAGED_PROFILE = 32; // 0x20
+    field public static final int FLAG_PRIMARY = 1; // 0x1
+    field public static final int FLAG_PROFILE = 4096; // 0x1000
+    field public static final int FLAG_QUIET_MODE = 128; // 0x80
+    field @Deprecated public static final int FLAG_RESTRICTED = 8; // 0x8
+    field public static final int FLAG_SYSTEM = 2048; // 0x800
+    field public static final int NO_PROFILE_GROUP_ID = -10000; // 0xffffd8f0
+    field public boolean convertedFromPreCreated;
+    field public long creationTime;
+    field public int flags;
+    field public boolean guestToRemove;
+    field public String iconPath;
+    field public int id;
+    field public String lastLoggedInFingerprint;
+    field public long lastLoggedInTime;
+    field public String name;
+    field public boolean partial;
+    field public boolean preCreated;
+    field public int profileBadge;
+    field public int profileGroupId;
+    field public int restrictedProfileParentId;
+    field public int serialNumber;
+    field public String userType;
+  }
+
+}
+
+package android.content.res {
+
+  public final class AssetManager implements java.lang.AutoCloseable {
+    method @NonNull public String[] getApkPaths();
+    method @Nullable public String getLastResourceResolution();
+    method @Nullable public String getOverlayablesToString(String);
+    method public void setResourceResolutionLoggingEnabled(boolean);
+  }
+
+  public final class Configuration implements java.lang.Comparable<android.content.res.Configuration> android.os.Parcelable {
+    field public int assetsSeq;
+    field public final android.app.WindowConfiguration windowConfiguration;
+  }
+
+}
+
+package android.content.rollback {
+
+  public final class RollbackManager {
+    method @RequiresPermission(android.Manifest.permission.TEST_MANAGE_ROLLBACKS) public void blockRollbackManager(long);
+    method @RequiresPermission(android.Manifest.permission.TEST_MANAGE_ROLLBACKS) public void expireRollbackForPackage(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.TEST_MANAGE_ROLLBACKS) public void reloadPersistedData();
+    field public static final String PROPERTY_ROLLBACK_LIFETIME_MILLIS = "rollback_lifetime_in_millis";
+  }
+
+}
+
+package android.database.sqlite {
+
+  public class SQLiteCompatibilityWalFlags {
+    method public static void reset();
+  }
+
+  public final class SQLiteDebug {
+    method public static void dump(android.util.Printer, String[]);
+    method public static android.database.sqlite.SQLiteDebug.PagerStats getDatabaseInfo();
+  }
+
+  public static class SQLiteDebug.DbStats {
+    ctor public SQLiteDebug.DbStats(String, long, long, int, int, int, int);
+    field public String cache;
+    field public String dbName;
+    field public long dbSize;
+    field public int lookaside;
+    field public long pageSize;
+  }
+
+  public static class SQLiteDebug.PagerStats {
+    ctor public SQLiteDebug.PagerStats();
+    field public java.util.ArrayList<android.database.sqlite.SQLiteDebug.DbStats> dbStats;
+    field public int largestMemAlloc;
+    field public int memoryUsed;
+    field public int pageCacheOverflow;
+  }
+
+  public final class SQLiteDirectCursorDriver implements android.database.sqlite.SQLiteCursorDriver {
+    ctor public SQLiteDirectCursorDriver(android.database.sqlite.SQLiteDatabase, String, String, android.os.CancellationSignal);
+    method public void cursorClosed();
+    method public void cursorDeactivated();
+    method public void cursorRequeried(android.database.Cursor);
+    method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase.CursorFactory, String[]);
+    method public void setBindArguments(String[]);
+  }
+
+  public final class SQLiteGlobal {
+    method public static String getDefaultJournalMode();
+    method public static int getDefaultPageSize();
+    method public static String getDefaultSyncMode();
+    method public static int getIdleConnectionTimeout();
+    method public static int getJournalSizeLimit();
+    method public static int getWALAutoCheckpoint();
+    method public static int getWALConnectionPoolSize();
+    method public static String getWALSyncMode();
+    method public static int releaseMemory();
+  }
+
+}
+
+package android.graphics {
+
+  public final class ImageDecoder implements java.lang.AutoCloseable {
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(android.content.res.Resources, java.io.InputStream, int);
+  }
+
+  public final class Rect implements android.os.Parcelable {
+    method public void splitHorizontally(@NonNull android.graphics.Rect...);
+    method public void splitVertically(@NonNull android.graphics.Rect...);
+  }
+
+  public class Typeface {
+    method @NonNull public static long[] deserializeFontMap(@NonNull java.nio.ByteBuffer, @NonNull java.util.Map<java.lang.String,android.graphics.Typeface>) throws java.io.IOException;
+    method @Nullable public static android.os.SharedMemory getSystemFontMapSharedMemory();
+    method @NonNull public static android.os.SharedMemory serializeFontMap(@NonNull java.util.Map<java.lang.String,android.graphics.Typeface>) throws android.system.ErrnoException, java.io.IOException;
+  }
+
+}
+
+package android.graphics.drawable {
+
+  public class AdaptiveIconDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    method public android.graphics.Region getSafeZone();
+    field public static final float MASK_SIZE = 100.0f;
+  }
+
+  public class ColorDrawable extends android.graphics.drawable.Drawable {
+    method public android.graphics.Xfermode getXfermode();
+  }
+
+  public class ShapeDrawable extends android.graphics.drawable.Drawable {
+    method public void setXfermode(@Nullable android.graphics.Xfermode);
+  }
+
+}
+
+package android.graphics.fonts {
+
+  public class FontManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
+    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
+    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
+    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
+    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
+    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
+    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
+    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
+    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
+    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+}
+
+package android.hardware {
+
+  public final class SensorPrivacyManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacy(int, int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacyForProfileGroup(int, int, boolean);
+  }
+
+  public static class SensorPrivacyManager.Sources {
+    field public static final int DIALOG = 3; // 0x3
+    field public static final int OTHER = 5; // 0x5
+    field public static final int QS_TILE = 1; // 0x1
+    field public static final int SETTINGS = 2; // 0x2
+    field public static final int SHELL = 4; // 0x4
+  }
+
+}
+
+package android.hardware.biometrics {
+
+  public class BiometricManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public android.hardware.biometrics.BiometricTestSession createTestSession(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public java.util.List<android.hardware.biometrics.SensorProperties> getSensorProperties();
+    method @NonNull @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public String getUiPackage();
+  }
+
+  public class BiometricPrompt {
+    method @NonNull public java.util.List<java.lang.Integer> getAllowedSensorIds();
+    method public boolean isAllowBackgroundAuthentication();
+  }
+
+  public static class BiometricPrompt.Builder {
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.TEST_BIOMETRIC, "android.permission.USE_BIOMETRIC_INTERNAL"}) public android.hardware.biometrics.BiometricPrompt.Builder setAllowBackgroundAuthentication(boolean);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.TEST_BIOMETRIC, "android.permission.USE_BIOMETRIC_INTERNAL"}) public android.hardware.biometrics.BiometricPrompt.Builder setAllowedSensorIds(@NonNull java.util.List<java.lang.Integer>);
+  }
+
+  public class BiometricTestSession implements java.lang.AutoCloseable {
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void acceptAuthentication(int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void cleanupInternalState(int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void close();
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void finishEnroll(int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void notifyAcquired(int, int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void notifyError(int, int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void rejectAuthentication(int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void startEnroll(int);
+  }
+
+  public class SensorProperties {
+    method @NonNull public java.util.List<android.hardware.biometrics.SensorProperties.ComponentInfo> getComponentInfo();
+    method public int getSensorId();
+    method public int getSensorStrength();
+    field public static final int STRENGTH_CONVENIENCE = 0; // 0x0
+    field public static final int STRENGTH_STRONG = 2; // 0x2
+    field public static final int STRENGTH_WEAK = 1; // 0x1
+  }
+
+  public static final class SensorProperties.ComponentInfo {
+    method @NonNull public String getComponentId();
+    method @NonNull public String getFirmwareVersion();
+    method @NonNull public String getHardwareVersion();
+    method @NonNull public String getSerialNumber();
+    method @NonNull public String getSoftwareVersion();
+  }
+
+}
+
+package android.hardware.camera2 {
+
+  public final class CameraManager {
+    method public String[] getCameraIdListNoLazy() throws android.hardware.camera2.CameraAccessException;
+    method @RequiresPermission(allOf={android.Manifest.permission.SYSTEM_CAMERA, android.Manifest.permission.CAMERA}) public void openCamera(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException;
+  }
+
+  public abstract static class CameraManager.AvailabilityCallback {
+    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
+  }
+
+  public abstract class CameraMetadata<TKey> {
+    field public static final int SENSOR_TEST_PATTERN_MODE_BLACK = 5; // 0x5
+  }
+
+}
+
+package android.hardware.devicestate {
+
+  public final class DeviceStateManager {
+    method @RequiresPermission(value=android.Manifest.permission.CONTROL_DEVICE_STATE, conditional=true) public void cancelRequest(@NonNull android.hardware.devicestate.DeviceStateRequest);
+    method @NonNull public int[] getSupportedStates();
+    method public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.devicestate.DeviceStateManager.DeviceStateCallback);
+    method @RequiresPermission(value=android.Manifest.permission.CONTROL_DEVICE_STATE, conditional=true) public void requestState(@NonNull android.hardware.devicestate.DeviceStateRequest, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.devicestate.DeviceStateRequest.Callback);
+    method public void unregisterCallback(@NonNull android.hardware.devicestate.DeviceStateManager.DeviceStateCallback);
+    field public static final int MAXIMUM_DEVICE_STATE = 255; // 0xff
+    field public static final int MINIMUM_DEVICE_STATE = 0; // 0x0
+  }
+
+  public static interface DeviceStateManager.DeviceStateCallback {
+    method public default void onBaseStateChanged(int);
+    method public void onStateChanged(int);
+    method public default void onSupportedStatesChanged(@NonNull int[]);
+  }
+
+  public final class DeviceStateRequest {
+    method public int getFlags();
+    method public int getState();
+    method @NonNull public static android.hardware.devicestate.DeviceStateRequest.Builder newBuilder(int);
+    field public static final int FLAG_CANCEL_WHEN_BASE_CHANGES = 1; // 0x1
+  }
+
+  public static final class DeviceStateRequest.Builder {
+    method @NonNull public android.hardware.devicestate.DeviceStateRequest build();
+    method @NonNull public android.hardware.devicestate.DeviceStateRequest.Builder setFlags(int);
+  }
+
+  public static interface DeviceStateRequest.Callback {
+    method public default void onRequestActivated(@NonNull android.hardware.devicestate.DeviceStateRequest);
+    method public default void onRequestCanceled(@NonNull android.hardware.devicestate.DeviceStateRequest);
+    method public default void onRequestSuspended(@NonNull android.hardware.devicestate.DeviceStateRequest);
+  }
+
+}
+
+package android.hardware.display {
+
+  public class AmbientDisplayConfiguration {
+    ctor public AmbientDisplayConfiguration(android.content.Context);
+    method public boolean alwaysOnAvailable();
+    method public boolean alwaysOnAvailableForUser(int);
+    method public boolean alwaysOnEnabled(int);
+  }
+
+  public final class DisplayManager {
+    method public boolean areUserDisabledHdrTypesAllowed();
+    method @NonNull public int[] getUserDisabledHdrTypes();
+    method public boolean isMinimalPostProcessingRequested(int);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setAreUserDisabledHdrTypesAllowed(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE) public void setRefreshRateSwitchingType(int);
+    method @RequiresPermission(android.Manifest.permission.OVERRIDE_DISPLAY_MODE_REQUESTS) public void setShouldAlwaysRespectAppRequestedMode(boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setUserDisabledHdrTypes(@NonNull int[]);
+    method @RequiresPermission(android.Manifest.permission.OVERRIDE_DISPLAY_MODE_REQUESTS) public boolean shouldAlwaysRespectAppRequestedMode();
+    field public static final int SWITCHING_TYPE_ACROSS_AND_WITHIN_GROUPS = 2; // 0x2
+    field public static final int SWITCHING_TYPE_NONE = 0; // 0x0
+    field public static final int SWITCHING_TYPE_WITHIN_GROUPS = 1; // 0x1
+    field public static final int VIRTUAL_DISPLAY_FLAG_SHOULD_SHOW_SYSTEM_DECORATIONS = 512; // 0x200
+    field public static final int VIRTUAL_DISPLAY_FLAG_TRUSTED = 1024; // 0x400
+  }
+
+}
+
+package android.hardware.fingerprint {
+
+  @Deprecated public class FingerprintManager {
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public android.hardware.biometrics.BiometricTestSession createTestSession(int);
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public java.util.List<android.hardware.biometrics.SensorProperties> getSensorProperties();
+  }
+
+}
+
+package android.hardware.hdmi {
+
+  public final class HdmiControlServiceWrapper {
+    ctor public HdmiControlServiceWrapper();
+    method @NonNull public android.hardware.hdmi.HdmiControlManager createHdmiControlManager();
+    method @BinderThread public void setDeviceTypes(@NonNull int[]);
+    method @BinderThread public void setPortInfo(@NonNull java.util.List<android.hardware.hdmi.HdmiPortInfo>);
+    field public static final int DEVICE_PURE_CEC_SWITCH = 6; // 0x6
+  }
+
+}
+
+package android.hardware.input {
+
+  public final class InputManager {
+    method public int getBlockUntrustedTouchesMode(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setBlockUntrustedTouchesMode(@NonNull android.content.Context, int);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setMaximumObscuringOpacityForTouch(@FloatRange(from=0, to=1) float);
+    field public static final long BLOCK_UNTRUSTED_TOUCHES = 158002302L; // 0x96aec7eL
+  }
+
+}
+
+package android.hardware.lights {
+
+  public final class Light implements android.os.Parcelable {
+    method public int getCapabilities();
+  }
+
+  public abstract class LightsManager {
+    method @NonNull public abstract android.hardware.lights.LightsManager.LightsSession openSession(int);
+  }
+
+}
+
+package android.hardware.soundtrigger {
+
+  public class KeyphraseEnrollmentInfo {
+    ctor public KeyphraseEnrollmentInfo(@NonNull android.content.pm.PackageManager);
+    method @Nullable public android.hardware.soundtrigger.KeyphraseMetadata getKeyphraseMetadata(@NonNull String, @NonNull java.util.Locale);
+    method @Nullable public android.content.Intent getManageKeyphraseIntent(int, @NonNull String, @NonNull java.util.Locale);
+    method @NonNull public String getParseError();
+    method @NonNull public java.util.Collection<android.hardware.soundtrigger.KeyphraseMetadata> listKeyphraseMetadata();
+    field public static final int MANAGE_ACTION_ENROLL = 0; // 0x0
+    field public static final int MANAGE_ACTION_RE_ENROLL = 1; // 0x1
+    field public static final int MANAGE_ACTION_UN_ENROLL = 2; // 0x2
+  }
+
+  public final class KeyphraseMetadata implements android.os.Parcelable {
+    ctor public KeyphraseMetadata(int, @NonNull String, @NonNull java.util.Set<java.util.Locale>, int);
+    method public int describeContents();
+    method public int getId();
+    method @NonNull public String getKeyphrase();
+    method public int getRecognitionModeFlags();
+    method @NonNull public java.util.Set<java.util.Locale> getSupportedLocales();
+    method public boolean supportsLocale(@Nullable java.util.Locale);
+    method public boolean supportsPhrase(@Nullable String);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.KeyphraseMetadata> CREATOR;
+  }
+
+  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
+    ctor public SoundTrigger.ModelParamRange(int, int);
+  }
+
+  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
+    ctor public SoundTrigger.ModuleProperties(int, @NonNull String, @NonNull String, @NonNull String, int, @NonNull String, int, int, int, int, boolean, int, boolean, int, boolean, int);
+  }
+
+  public static class SoundTrigger.RecognitionEvent {
+    ctor public SoundTrigger.RecognitionEvent(int, int, boolean, int, int, int, boolean, @NonNull android.media.AudioFormat, @Nullable byte[]);
+  }
+
+}
+
+package android.inputmethodservice {
+
+  public abstract class AbstractInputMethodService extends android.window.WindowProviderService implements android.view.KeyEvent.Callback {
+    method public final int getInitialDisplayId();
+    method @Nullable public final android.os.Bundle getWindowContextOptions();
+    method public final int getWindowType();
+  }
+
+  @UiContext public class InputMethodService extends android.inputmethodservice.AbstractInputMethodService {
+    field public static final long FINISH_INPUT_NO_FALLBACK_CONNECTION = 156215187L; // 0x94fa793L
+  }
+
+}
+
+package android.location {
+
+  public final class GnssClock implements android.os.Parcelable {
+    ctor public GnssClock();
+    method public void reset();
+    method public void resetBiasNanos();
+    method public void resetBiasUncertaintyNanos();
+    method public void resetDriftNanosPerSecond();
+    method public void resetDriftUncertaintyNanosPerSecond();
+    method public void resetElapsedRealtimeNanos();
+    method public void resetElapsedRealtimeUncertaintyNanos();
+    method public void resetFullBiasNanos();
+    method public void resetLeapSecond();
+    method public void resetReferenceCarrierFrequencyHzForIsb();
+    method public void resetReferenceCodeTypeForIsb();
+    method public void resetReferenceConstellationTypeForIsb();
+    method public void resetTimeUncertaintyNanos();
+    method public void set(android.location.GnssClock);
+    method public void setBiasNanos(double);
+    method public void setBiasUncertaintyNanos(@FloatRange(from=0.0f) double);
+    method public void setDriftNanosPerSecond(double);
+    method public void setDriftUncertaintyNanosPerSecond(@FloatRange(from=0.0f) double);
+    method public void setElapsedRealtimeNanos(long);
+    method public void setElapsedRealtimeUncertaintyNanos(@FloatRange(from=0.0f) double);
+    method public void setFullBiasNanos(long);
+    method public void setHardwareClockDiscontinuityCount(int);
+    method public void setLeapSecond(int);
+    method public void setReferenceCarrierFrequencyHzForIsb(@FloatRange(from=0.0) double);
+    method public void setReferenceCodeTypeForIsb(@NonNull String);
+    method public void setReferenceConstellationTypeForIsb(int);
+    method public void setTimeNanos(long);
+    method public void setTimeUncertaintyNanos(@FloatRange(from=0.0f) double);
+  }
+
+  public final class GnssMeasurement implements android.os.Parcelable {
+    ctor public GnssMeasurement();
+    method public void reset();
+    method public void resetAutomaticGainControlLevel();
+    method public void resetBasebandCn0DbHz();
+    method @Deprecated public void resetCarrierCycles();
+    method public void resetCarrierFrequencyHz();
+    method @Deprecated public void resetCarrierPhase();
+    method @Deprecated public void resetCarrierPhaseUncertainty();
+    method public void resetCodeType();
+    method public void resetCorrelationVectors();
+    method public void resetFullInterSignalBiasNanos();
+    method public void resetFullInterSignalBiasUncertaintyNanos();
+    method public void resetSatelliteInterSignalBiasNanos();
+    method public void resetSatelliteInterSignalBiasUncertaintyNanos();
+    method public void resetSatellitePvt();
+    method public void resetSnrInDb();
+    method public void set(android.location.GnssMeasurement);
+    method public void setAccumulatedDeltaRangeMeters(double);
+    method public void setAccumulatedDeltaRangeState(int);
+    method public void setAccumulatedDeltaRangeUncertaintyMeters(double);
+    method public void setAutomaticGainControlLevelInDb(double);
+    method public void setBasebandCn0DbHz(double);
+    method @Deprecated public void setCarrierCycles(long);
+    method public void setCarrierFrequencyHz(float);
+    method @Deprecated public void setCarrierPhase(double);
+    method @Deprecated public void setCarrierPhaseUncertainty(double);
+    method public void setCn0DbHz(double);
+    method public void setCodeType(@NonNull String);
+    method public void setConstellationType(int);
+    method public void setCorrelationVectors(@Nullable java.util.Collection<android.location.CorrelationVector>);
+    method public void setFullInterSignalBiasNanos(double);
+    method public void setFullInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double);
+    method public void setMultipathIndicator(int);
+    method public void setPseudorangeRateMetersPerSecond(double);
+    method public void setPseudorangeRateUncertaintyMetersPerSecond(double);
+    method public void setReceivedSvTimeNanos(long);
+    method public void setReceivedSvTimeUncertaintyNanos(long);
+    method public void setSatelliteInterSignalBiasNanos(double);
+    method public void setSatelliteInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double);
+    method public void setSatellitePvt(@Nullable android.location.SatellitePvt);
+    method public void setSnrInDb(double);
+    method public void setState(int);
+    method public void setSvid(int);
+    method public void setTimeOffsetNanos(double);
+    field public static final int ADR_STATE_ALL = 31; // 0x1f
+  }
+
+  public final class GnssMeasurementsEvent implements android.os.Parcelable {
+    ctor public GnssMeasurementsEvent(android.location.GnssClock, android.location.GnssMeasurement[]);
+  }
+
+  public final class GnssNavigationMessage implements android.os.Parcelable {
+    ctor public GnssNavigationMessage();
+    method public void reset();
+    method public void set(android.location.GnssNavigationMessage);
+    method public void setData(byte[]);
+    method public void setMessageId(@IntRange(from=0xffffffff, to=120) int);
+    method public void setStatus(int);
+    method public void setSubmessageId(@IntRange(from=1) int);
+    method public void setSvid(@IntRange(from=1, to=200) int);
+    method public void setType(int);
+  }
+
+  public class LocationManager {
+    method @NonNull public String[] getBackgroundThrottlingWhitelist();
+    method @NonNull public android.os.PackageTagsList getIgnoreSettingsAllowlist();
+    method @Deprecated @NonNull public String[] getIgnoreSettingsWhitelist();
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public java.util.List<java.lang.String> getProviderPackages(@NonNull String);
+  }
+
+}
+
+package android.media {
+
+  public final class AudioAttributes implements android.os.Parcelable {
+    method @NonNull public static String usageToXsdString(int);
+    method public static int xsdStringToUsage(@NonNull String);
+  }
+
+  public final class AudioDeviceInfo {
+    method public static void enforceValidAudioDeviceTypeIn(int);
+    method public static void enforceValidAudioDeviceTypeOut(int);
+  }
+
+  public final class AudioFocusRequest {
+    method @Nullable public android.media.AudioManager.OnAudioFocusChangeListener getOnAudioFocusChangeListener();
+  }
+
+  public final class AudioFormat implements android.os.Parcelable {
+    method public static int channelCountFromInChannelMask(int);
+    method public static int channelCountFromOutChannelMask(int);
+    method public static int getBytesPerSample(int);
+    method public static boolean isEncodingLinearPcm(int);
+  }
+
+  public class AudioManager {
+    method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int abandonAudioFocusForTest(@NonNull android.media.AudioFocusRequest, @NonNull String);
+    method @Nullable public static android.media.AudioDeviceInfo getDeviceInfoFromType(int);
+    method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFadeOutDurationOnFocusLossMillis(@NonNull android.media.AudioAttributes);
+    method @NonNull public java.util.List<java.lang.Integer> getReportedSurroundFormats();
+    method @NonNull public java.util.Map<java.lang.Integer,java.lang.Boolean> getSurroundFormats();
+    method public boolean hasRegisteredDynamicPolicy();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.QUERY_AUDIO_STATE}) public boolean isFullVolumeDevice();
+    method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int requestAudioFocusForTest(@NonNull android.media.AudioFocusRequest, @NonNull String, int, int);
+  }
+
+  public static final class AudioRecord.MetricsConstants {
+    field public static final String ATTRIBUTES = "android.media.audiorecord.attributes";
+    field public static final String CHANNEL_MASK = "android.media.audiorecord.channelMask";
+    field public static final String DURATION_MS = "android.media.audiorecord.durationMs";
+    field public static final String FRAME_COUNT = "android.media.audiorecord.frameCount";
+    field public static final String PORT_ID = "android.media.audiorecord.portId";
+    field public static final String START_COUNT = "android.media.audiorecord.startCount";
+  }
+
+  public final class AudioRecordingConfiguration implements android.os.Parcelable {
+    ctor public AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String, int, boolean, int, android.media.audiofx.AudioEffect.Descriptor[], android.media.audiofx.AudioEffect.Descriptor[]);
+    ctor public AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String);
+  }
+
+  public class AudioSystem {
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS) public static float getMasterBalance();
+    method public static final int getNumStreamTypes();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS) public static int setMasterBalance(float);
+    field public static final int DEVICE_ROLE_DISABLED = 2; // 0x2
+    field public static final int DEVICE_ROLE_NONE = 0; // 0x0
+    field public static final int DEVICE_ROLE_PREFERRED = 1; // 0x1
+    field public static final int OFFLOAD_GAPLESS_SUPPORTED = 2; // 0x2
+    field public static final int OFFLOAD_SUPPORTED = 1; // 0x1
+    field public static final int STREAM_DEFAULT = -1; // 0xffffffff
+  }
+
+  public static final class AudioTrack.MetricsConstants {
+    field public static final String ATTRIBUTES = "android.media.audiotrack.attributes";
+    field public static final String CHANNEL_MASK = "android.media.audiotrack.channelMask";
+    field public static final String ENCODING = "android.media.audiotrack.encoding";
+    field public static final String FRAME_COUNT = "android.media.audiotrack.frameCount";
+    field public static final String PORT_ID = "android.media.audiotrack.portId";
+    field public static final String SAMPLE_RATE = "android.media.audiotrack.sampleRate";
+  }
+
+  public abstract class Image implements java.lang.AutoCloseable {
+    ctor protected Image();
+  }
+
+  public abstract static class Image.Plane {
+    ctor protected Image.Plane();
+  }
+
+  public final class MediaCas implements java.lang.AutoCloseable {
+    method public void forceResourceLost();
+  }
+
+  public static final class MediaCodecInfo.VideoCapabilities.PerformancePoint {
+    ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(int, int, int, int, @NonNull android.util.Size);
+    ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(@NonNull android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint, @NonNull android.util.Size);
+    method public int getMaxFrameRate();
+    method public long getMaxMacroBlockRate();
+    method public int getMaxMacroBlocks();
+  }
+
+  public final class MediaRoute2Info implements android.os.Parcelable {
+    method @NonNull public String getOriginalId();
+  }
+
+  public class MediaRouter2.RoutingController {
+    method @NonNull public String getOriginalId();
+  }
+
+  public final class PlaybackParams implements android.os.Parcelable {
+    method public int getAudioStretchMode();
+    method public android.media.PlaybackParams setAudioStretchMode(int);
+  }
+
+  public static final class VolumeShaper.Configuration.Builder {
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder setOptionFlags(int);
+  }
+
+}
+
+package android.media.audiofx {
+
+  public class AudioEffect {
+    method public static int byteArrayToInt(byte[]);
+    method public static short byteArrayToShort(byte[]);
+    method public int getParameter(byte[], byte[]) throws java.lang.IllegalStateException;
+    method public int getParameter(int, byte[]) throws java.lang.IllegalStateException;
+    method public int getParameter(int, int[]) throws java.lang.IllegalStateException;
+    method public int getParameter(int, short[]) throws java.lang.IllegalStateException;
+    method public int getParameter(int[], short[]) throws java.lang.IllegalStateException;
+    method public static byte[] intToByteArray(int);
+    method public static boolean isEffectTypeAvailable(java.util.UUID);
+    method public static boolean isError(int);
+    method public int setParameter(byte[], byte[]) throws java.lang.IllegalStateException;
+    method public int setParameter(int, int) throws java.lang.IllegalStateException;
+    method public int setParameter(int, short) throws java.lang.IllegalStateException;
+    method public int setParameter(int, byte[]) throws java.lang.IllegalStateException;
+    method public int setParameter(int[], int[]) throws java.lang.IllegalStateException;
+    method public int setParameter(int[], byte[]) throws java.lang.IllegalStateException;
+    method public void setParameterListener(android.media.audiofx.AudioEffect.OnParameterChangeListener);
+    method public static byte[] shortToByteArray(short);
+    field public static final java.util.UUID EFFECT_TYPE_NULL;
+  }
+
+  public static class AudioEffect.Descriptor {
+    ctor public AudioEffect.Descriptor(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel);
+  }
+
+  public static interface AudioEffect.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.AudioEffect, int, byte[], byte[]);
+  }
+
+}
+
+package android.media.audiopolicy {
+
+  public static class AudioPolicy.Builder {
+    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsTestFocusPolicy(boolean);
+  }
+
+}
+
+package android.media.metrics {
+
+  public final class LogSessionId {
+    ctor public LogSessionId(@NonNull String);
+  }
+
+}
+
+package android.media.tv {
+
+  public final class TvInputManager {
+    method public void addHardwareDevice(int);
+    method public void removeHardwareDevice(int);
+  }
+
+}
+
+package android.media.tv.tuner {
+
+  public final class TunerVersionChecker {
+    method public static int getMajorVersion(int);
+    method public static int getMinorVersion(int);
+    method public static boolean isHigherOrEqualVersionTo(int);
+    method public static boolean supportTunerVersion(int);
+  }
+
+}
+
+package android.net {
+
+  public class EthernetManager {
+    method public void setIncludeTestInterfaces(boolean);
+  }
+
+  public final class IpSecManager {
+    field public static final int INVALID_SECURITY_PARAMETER_INDEX = 0; // 0x0
+  }
+
+  public class NetworkPolicyManager {
+    method public boolean getRestrictBackground();
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidNetworkingBlocked(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidRestrictedOnMeteredNetworks(int);
+    method @NonNull public static String resolveNetworkId(@NonNull android.net.wifi.WifiConfiguration);
+    method public void setRestrictBackground(boolean);
+  }
+
+  public class NetworkStack {
+    method public static void setServiceForTest(@Nullable android.os.IBinder);
+  }
+
+  public class NetworkWatchlistManager {
+    method @Nullable public byte[] getWatchlistConfigHash();
+  }
+
+  public class TrafficStats {
+    method public static long getLoopbackRxBytes();
+    method public static long getLoopbackRxPackets();
+    method public static long getLoopbackTxBytes();
+    method public static long getLoopbackTxPackets();
+  }
+
+}
+
+package android.os {
+
+  public final class BatteryStatsManager {
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void resetBattery(boolean);
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void setBatteryLevel(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void setChargerAcOnline(boolean, boolean);
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void suspendBatteryInput();
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void unplugBattery(boolean);
+  }
+
+  public class Build {
+    method public static boolean is64BitAbi(String);
+    method public static boolean isDebuggable();
+    field public static final boolean IS_EMULATOR;
+  }
+
+  public static class Build.VERSION {
+    field public static final String[] ACTIVE_CODENAMES;
+    field public static final int DEVICE_INITIAL_SDK_INT;
+    field public static final int RESOURCES_SDK_INT;
+  }
+
+  public abstract class CombinedVibration implements android.os.Parcelable {
+    method public abstract long getDuration();
+    method @NonNull public static android.os.CombinedVibration.SequentialCombination startSequential();
+  }
+
+  public static final class CombinedVibration.Mono extends android.os.CombinedVibration {
+    method public long getDuration();
+    method @NonNull public android.os.VibrationEffect getEffect();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.CombinedVibration.Mono> CREATOR;
+  }
+
+  public static final class CombinedVibration.Sequential extends android.os.CombinedVibration {
+    method @NonNull public java.util.List<java.lang.Integer> getDelays();
+    method public long getDuration();
+    method @NonNull public java.util.List<android.os.CombinedVibration> getEffects();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.CombinedVibration.Sequential> CREATOR;
+  }
+
+  public static final class CombinedVibration.SequentialCombination {
+    method @NonNull public android.os.CombinedVibration.SequentialCombination addNext(int, @NonNull android.os.VibrationEffect);
+    method @NonNull public android.os.CombinedVibration.SequentialCombination addNext(int, @NonNull android.os.VibrationEffect, int);
+    method @NonNull public android.os.CombinedVibration.SequentialCombination addNext(@NonNull android.os.CombinedVibration);
+    method @NonNull public android.os.CombinedVibration.SequentialCombination addNext(@NonNull android.os.CombinedVibration, int);
+    method @NonNull public android.os.CombinedVibration combine();
+  }
+
+  public static final class CombinedVibration.Stereo extends android.os.CombinedVibration {
+    method public long getDuration();
+    method @NonNull public android.util.SparseArray<android.os.VibrationEffect> getEffects();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.CombinedVibration.Stereo> CREATOR;
+  }
+
+  public class DeviceIdleManager {
+    method @NonNull public String[] getSystemPowerWhitelist();
+    method @NonNull public String[] getSystemPowerWhitelistExceptIdle();
+  }
+
+  public class Environment {
+    method public static java.io.File buildPath(java.io.File, java.lang.String...);
+  }
+
+  public final class FileUtils {
+    method public static boolean contains(java.io.File, java.io.File);
+    method @NonNull public static byte[] digest(@NonNull java.io.File, @NonNull String) throws java.io.IOException, java.security.NoSuchAlgorithmException;
+    method @NonNull public static byte[] digest(@NonNull java.io.InputStream, @NonNull String) throws java.io.IOException, java.security.NoSuchAlgorithmException;
+  }
+
+  public final class MessageQueue {
+    method public int postSyncBarrier();
+    method public void removeSyncBarrier(int);
+  }
+
+  public final class PackageTagsList implements android.os.Parcelable {
+    method public boolean contains(@NonNull String, @Nullable String);
+    method public boolean contains(@NonNull android.os.PackageTagsList);
+    method public boolean containsAll(@NonNull String);
+    method public int describeContents();
+    method public boolean includes(@NonNull String);
+    method public boolean isEmpty();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.PackageTagsList> CREATOR;
+  }
+
+  public static final class PackageTagsList.Builder {
+    ctor public PackageTagsList.Builder();
+    ctor public PackageTagsList.Builder(int);
+    method @NonNull public android.os.PackageTagsList.Builder add(@NonNull String);
+    method @NonNull public android.os.PackageTagsList.Builder add(@NonNull String, @Nullable String);
+    method @NonNull public android.os.PackageTagsList.Builder add(@NonNull android.os.PackageTagsList);
+    method @NonNull public android.os.PackageTagsList.Builder add(@NonNull java.util.Map<java.lang.String,? extends java.util.Set<java.lang.String>>);
+    method @NonNull public android.os.PackageTagsList build();
+    method @NonNull public android.os.PackageTagsList.Builder clear();
+  }
+
+  public final class Parcel {
+    method public boolean allowSquashing();
+    method public int readExceptionCode();
+    method public void restoreAllowSquashing(boolean);
+  }
+
+  public class ParcelFileDescriptor implements java.io.Closeable android.os.Parcelable {
+    method public static java.io.File getFile(java.io.FileDescriptor) throws java.io.IOException;
+  }
+
+  public final class PowerManager {
+    field public static final String ACTION_ENHANCED_DISCHARGE_PREDICTION_CHANGED = "android.os.action.ENHANCED_DISCHARGE_PREDICTION_CHANGED";
+  }
+
+  public class Process {
+    method public static final int getThreadScheduler(int) throws java.lang.IllegalArgumentException;
+    field public static final int FIRST_APP_ZYGOTE_ISOLATED_UID = 90000; // 0x15f90
+    field public static final int FIRST_ISOLATED_UID = 99000; // 0x182b8
+    field public static final int LAST_APP_ZYGOTE_ISOLATED_UID = 98999; // 0x182b7
+    field public static final int LAST_ISOLATED_UID = 99999; // 0x1869f
+    field public static final int NFC_UID = 1027; // 0x403
+    field public static final int NUM_UIDS_PER_APP_ZYGOTE = 100; // 0x64
+  }
+
+  public final class StrictMode {
+    method public static void conditionallyCheckInstanceCounts();
+    method public static void setViolationLogger(android.os.StrictMode.ViolationLogger);
+  }
+
+  public static final class StrictMode.ThreadPolicy.Builder {
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectExplicitGc();
+  }
+
+  public static final class StrictMode.ViolationInfo implements android.os.Parcelable {
+    ctor public StrictMode.ViolationInfo(android.os.Parcel);
+    ctor public StrictMode.ViolationInfo(android.os.Parcel, boolean);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public String getStackTrace();
+    method public Class<? extends android.os.strictmode.Violation> getViolationClass();
+    method public String getViolationDetails();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.StrictMode.ViolationInfo> CREATOR;
+    field public String broadcastIntentAction;
+    field public int durationMillis;
+    field public int numAnimationsRunning;
+    field public long numInstances;
+    field public String[] tags;
+    field public int violationNumThisLoop;
+    field public long violationUptimeMillis;
+  }
+
+  public static interface StrictMode.ViolationLogger {
+    method public void log(android.os.StrictMode.ViolationInfo);
+  }
+
+  public static final class StrictMode.VmPolicy.Builder {
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder permitIncorrectContextUse();
+  }
+
+  public final class UserHandle implements android.os.Parcelable {
+    method public static int getUid(int, int);
+    method public static int getUserId(int);
+    method public static boolean isApp(int);
+    field public static final int MIN_SECONDARY_USER_ID = 10; // 0xa
+    field public static final int USER_ALL = -1; // 0xffffffff
+    field public static final int USER_NULL = -10000; // 0xffffd8f0
+    field public static final int USER_SYSTEM = 0; // 0x0
+  }
+
+  public class UserManager {
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createProfileForUser(@Nullable String, @NonNull String, int, int, @Nullable String[]);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createRestrictedProfile(@Nullable String);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createUser(@Nullable String, @NonNull String, int);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.Set<java.lang.String> getPreInstallableSystemPackages(@NonNull String);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public String getUserType();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.content.pm.UserInfo> getUsers(boolean, boolean, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean hasBaseUserRestriction(@NonNull String, @NonNull android.os.UserHandle);
+    method public static boolean isGuestUserEphemeral();
+    method public static boolean isSplitSystemUser();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo preCreateUser(@NonNull String) throws android.os.UserManager.UserOperationException;
+  }
+
+  public final class VibrationAttributes implements android.os.Parcelable {
+    method public int getAudioUsage();
+  }
+
+  public static final class VibrationAttributes.Builder {
+    ctor public VibrationAttributes.Builder(@NonNull android.media.AudioAttributes, @Nullable android.os.VibrationEffect);
+  }
+
+  public abstract class VibrationEffect implements android.os.Parcelable {
+    method public static android.os.VibrationEffect get(int);
+    method public static android.os.VibrationEffect get(int, boolean);
+    method @Nullable public static android.os.VibrationEffect get(android.net.Uri, android.content.Context);
+    method public abstract long getDuration();
+    method @NonNull public static android.os.VibrationEffect.WaveformBuilder startWaveform();
+    field public static final int EFFECT_POP = 4; // 0x4
+    field public static final int EFFECT_STRENGTH_LIGHT = 0; // 0x0
+    field public static final int EFFECT_STRENGTH_MEDIUM = 1; // 0x1
+    field public static final int EFFECT_STRENGTH_STRONG = 2; // 0x2
+    field public static final int EFFECT_TEXTURE_TICK = 21; // 0x15
+    field public static final int EFFECT_THUD = 3; // 0x3
+    field public static final int[] RINGTONES;
+  }
+
+  public static final class VibrationEffect.Composed extends android.os.VibrationEffect {
+    method @NonNull public android.os.VibrationEffect.Composed applyEffectStrength(int);
+    method public long getDuration();
+    method public int getRepeatIndex();
+    method @NonNull public java.util.List<android.os.vibrator.VibrationEffectSegment> getSegments();
+    method @NonNull public android.os.VibrationEffect.Composed resolve(int);
+    method @NonNull public android.os.VibrationEffect.Composed scale(float);
+    method public void validate();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect.Composed> CREATOR;
+  }
+
+  public static final class VibrationEffect.Composition {
+    method @NonNull public android.os.VibrationEffect.Composition addEffect(@NonNull android.os.VibrationEffect);
+    method @NonNull public android.os.VibrationEffect.Composition addEffect(@NonNull android.os.VibrationEffect, @IntRange(from=0) int);
+  }
+
+  public static final class VibrationEffect.WaveformBuilder {
+    method @NonNull public android.os.VibrationEffect.WaveformBuilder addRamp(@FloatRange(from=0.0f, to=1.0f) float, @IntRange(from=0) int);
+    method @NonNull public android.os.VibrationEffect.WaveformBuilder addRamp(@FloatRange(from=0.0f, to=1.0f) float, @FloatRange(from=-1.0F, to=1.0f) float, @IntRange(from=0) int);
+    method @NonNull public android.os.VibrationEffect.WaveformBuilder addStep(@FloatRange(from=0.0f, to=1.0f) float, @IntRange(from=0) int);
+    method @NonNull public android.os.VibrationEffect.WaveformBuilder addStep(@FloatRange(from=0.0f, to=1.0f) float, @FloatRange(from=-1.0F, to=1.0f) float, @IntRange(from=0) int);
+    method @NonNull public android.os.VibrationEffect build();
+    method @NonNull public android.os.VibrationEffect build(int);
+  }
+
+  public class VintfObject {
+    method public static String[] getHalNamesAndVersions();
+    method @NonNull public static String getPlatformSepolicyVersion();
+    method public static String getSepolicyVersion();
+    method public static Long getTargetFrameworkCompatibilityMatrixVersion();
+    method public static java.util.Map<java.lang.String,java.lang.String[]> getVndkSnapshots();
+    method public static String[] report();
+  }
+
+  public class VintfRuntimeInfo {
+    method public static String getCpuInfo();
+    method public static String getHardwareId();
+    method public static String getKernelVersion();
+    method public static String getNodeName();
+    method public static String getOsName();
+    method public static String getOsRelease();
+    method public static String getOsVersion();
+  }
+
+  public class WorkSource implements android.os.Parcelable {
+    method public boolean add(int);
+    method public boolean add(int, String);
+    method @Deprecated public android.os.WorkSource addReturningNewbs(android.os.WorkSource);
+    method @Deprecated public android.os.WorkSource[] setReturningDiffs(android.os.WorkSource);
+  }
+
+}
+
+package android.os.health {
+
+  public class HealthKeys {
+    ctor public HealthKeys();
+    field public static final int BASE_PACKAGE = 40000; // 0x9c40
+    field public static final int BASE_PID = 20000; // 0x4e20
+    field public static final int BASE_PROCESS = 30000; // 0x7530
+    field public static final int BASE_SERVICE = 50000; // 0xc350
+    field public static final int BASE_UID = 10000; // 0x2710
+    field public static final int TYPE_COUNT = 5; // 0x5
+    field public static final int TYPE_MEASUREMENT = 1; // 0x1
+    field public static final int TYPE_MEASUREMENTS = 4; // 0x4
+    field public static final int TYPE_STATS = 2; // 0x2
+    field public static final int TYPE_TIMER = 0; // 0x0
+    field public static final int TYPE_TIMERS = 3; // 0x3
+    field public static final int UNKNOWN_KEY = 0; // 0x0
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD}) public static @interface HealthKeys.Constant {
+    method public abstract int type();
+  }
+
+  public static class HealthKeys.Constants {
+    ctor public HealthKeys.Constants(Class);
+    method public String getDataType();
+    method public int getIndex(int, int);
+    method public int[] getKeys(int);
+    method public int getSize(int);
+  }
+
+  public class HealthStats {
+    ctor public HealthStats(android.os.Parcel);
+  }
+
+  public class HealthStatsParceler implements android.os.Parcelable {
+    ctor public HealthStatsParceler(android.os.health.HealthStatsWriter);
+    ctor public HealthStatsParceler(android.os.Parcel);
+    method public int describeContents();
+    method public android.os.health.HealthStats getHealthStats();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.health.HealthStatsParceler> CREATOR;
+  }
+
+  public class HealthStatsWriter {
+    ctor public HealthStatsWriter(android.os.health.HealthKeys.Constants);
+    method public void addMeasurement(int, long);
+    method public void addMeasurements(int, String, long);
+    method public void addStats(int, String, android.os.health.HealthStatsWriter);
+    method public void addTimer(int, int, long);
+    method public void addTimers(int, String, android.os.health.TimerStat);
+    method public void flattenToParcel(android.os.Parcel);
+  }
+
+}
+
+package android.os.storage {
+
+  public final class CrateInfo implements android.os.Parcelable {
+    ctor public CrateInfo(@NonNull CharSequence, long);
+    ctor public CrateInfo(@NonNull CharSequence);
+    method @Nullable public static android.os.storage.CrateInfo copyFrom(int, @Nullable String, @Nullable String);
+    method public int describeContents();
+    method public long getExpirationMillis();
+    method @NonNull public CharSequence getLabel();
+    method public void writeToParcel(@Nullable android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.storage.CrateInfo> CREATOR;
+  }
+
+  public class StorageManager {
+    method @NonNull public static java.util.UUID convert(@NonNull String);
+    method @NonNull public static String convert(@NonNull java.util.UUID);
+    method public boolean isAppIoBlocked(@NonNull java.util.UUID, int, int, int);
+    method public static boolean isUserKeyUnlocked(int);
+  }
+
+  public final class StorageVolume implements android.os.Parcelable {
+    method public String getPath();
+  }
+
+  public static final class StorageVolume.Builder {
+    ctor public StorageVolume.Builder(@NonNull String, @NonNull java.io.File, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
+    method @NonNull public android.os.storage.StorageVolume build();
+    method @NonNull public android.os.storage.StorageVolume.Builder setEmulated(boolean);
+    method @NonNull public android.os.storage.StorageVolume.Builder setPrimary(boolean);
+    method @NonNull public android.os.storage.StorageVolume.Builder setRemovable(boolean);
+    method @NonNull public android.os.storage.StorageVolume.Builder setStorageUuid(@Nullable java.util.UUID);
+    method @NonNull public android.os.storage.StorageVolume.Builder setUuid(@Nullable String);
+  }
+
+}
+
+package android.os.strictmode {
+
+  public final class ExplicitGcViolation extends android.os.strictmode.Violation {
+  }
+
+}
+
+package android.os.vibrator {
+
+  public final class PrebakedSegment extends android.os.vibrator.VibrationEffectSegment {
+    method @NonNull public android.os.vibrator.PrebakedSegment applyEffectStrength(int);
+    method public int describeContents();
+    method public long getDuration();
+    method public int getEffectId();
+    method public int getEffectStrength();
+    method public boolean hasNonZeroAmplitude();
+    method @NonNull public android.os.vibrator.PrebakedSegment resolve(int);
+    method @NonNull public android.os.vibrator.PrebakedSegment scale(float);
+    method public boolean shouldFallback();
+    method public void validate();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.vibrator.PrebakedSegment> CREATOR;
+  }
+
+  public final class PrimitiveSegment extends android.os.vibrator.VibrationEffectSegment {
+    method @NonNull public android.os.vibrator.PrimitiveSegment applyEffectStrength(int);
+    method public int describeContents();
+    method public int getDelay();
+    method public long getDuration();
+    method public int getPrimitiveId();
+    method public float getScale();
+    method public boolean hasNonZeroAmplitude();
+    method @NonNull public android.os.vibrator.PrimitiveSegment resolve(int);
+    method @NonNull public android.os.vibrator.PrimitiveSegment scale(float);
+    method public void validate();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.vibrator.PrimitiveSegment> CREATOR;
+  }
+
+  public final class RampSegment extends android.os.vibrator.VibrationEffectSegment {
+    method @NonNull public android.os.vibrator.RampSegment applyEffectStrength(int);
+    method public int describeContents();
+    method public long getDuration();
+    method public float getEndAmplitude();
+    method public float getEndFrequency();
+    method public float getStartAmplitude();
+    method public float getStartFrequency();
+    method public boolean hasNonZeroAmplitude();
+    method @NonNull public android.os.vibrator.RampSegment resolve(int);
+    method @NonNull public android.os.vibrator.RampSegment scale(float);
+    method public void validate();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.vibrator.RampSegment> CREATOR;
+  }
+
+  public final class StepSegment extends android.os.vibrator.VibrationEffectSegment {
+    method @NonNull public android.os.vibrator.StepSegment applyEffectStrength(int);
+    method public int describeContents();
+    method public float getAmplitude();
+    method public long getDuration();
+    method public float getFrequency();
+    method public boolean hasNonZeroAmplitude();
+    method @NonNull public android.os.vibrator.StepSegment resolve(int);
+    method @NonNull public android.os.vibrator.StepSegment scale(float);
+    method public void validate();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.vibrator.StepSegment> CREATOR;
+  }
+
+  public abstract class VibrationEffectSegment implements android.os.Parcelable {
+    method @NonNull public abstract <T extends android.os.vibrator.VibrationEffectSegment> T applyEffectStrength(int);
+    method public abstract long getDuration();
+    method public abstract boolean hasNonZeroAmplitude();
+    method @NonNull public abstract <T extends android.os.vibrator.VibrationEffectSegment> T resolve(int);
+    method @NonNull public abstract <T extends android.os.vibrator.VibrationEffectSegment> T scale(float);
+    method public abstract void validate();
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.vibrator.VibrationEffectSegment> CREATOR;
+  }
+
+}
+
+package android.permission {
+
+  public final class PermGroupUsage {
+    ctor public PermGroupUsage(@NonNull String, int, @NonNull String, long, boolean, boolean, @Nullable CharSequence);
+    method @Nullable public CharSequence getAttribution();
+    method public long getLastAccess();
+    method @NonNull public String getPackageName();
+    method @NonNull public String getPermGroupName();
+    method public int getUid();
+    method public boolean isActive();
+    method public boolean isPhoneCall();
+  }
+
+  public final class PermissionControllerManager {
+    method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public void countPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull android.permission.PermissionControllerManager.OnCountPermissionAppsResultCallback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public void getAppPermissions(@NonNull String, @NonNull android.permission.PermissionControllerManager.OnGetAppPermissionResultCallback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String);
+  }
+
+  public static interface PermissionControllerManager.OnCountPermissionAppsResultCallback {
+    method public void onCountPermissionApps(int);
+  }
+
+  public static interface PermissionControllerManager.OnGetAppPermissionResultCallback {
+    method public void onGetAppPermissions(@NonNull java.util.List<android.permission.RuntimePermissionPresentationInfo>);
+  }
+
+  public final class PermissionManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.permission.PermGroupUsage> getIndicatorAppOpUsageData();
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.permission.PermGroupUsage> getIndicatorAppOpUsageData(boolean);
+    method @NonNull public android.content.AttributionSource registerAttributionSource(@NonNull android.content.AttributionSource);
+  }
+
+}
+
+package android.print {
+
+  public final class PrintJobInfo implements android.os.Parcelable {
+    method public float getProgress();
+    method @Nullable public CharSequence getStatus(@NonNull android.content.pm.PackageManager);
+  }
+
+  public final class PrinterInfo implements android.os.Parcelable {
+    method @Nullable public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context);
+  }
+
+}
+
+package android.provider {
+
+  public interface AndroidDeviceConfig {
+    field public static final String KEY_SYSTEM_GESTURES_EXCLUDED_BY_PRE_Q_STICKY_IMMERSIVE = "system_gestures_excluded_by_pre_q_sticky_immersive";
+    field public static final String KEY_SYSTEM_GESTURE_EXCLUSION_LIMIT_DP = "system_gesture_exclusion_limit_dp";
+  }
+
+  public static final class CalendarContract.Calendars implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.SyncColumns {
+    field public static final String[] SYNC_WRITABLE_COLUMNS;
+  }
+
+  public static final class CalendarContract.Events implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.SyncColumns {
+    field public static final String[] SYNC_WRITABLE_COLUMNS;
+  }
+
+  public final class ContactsContract {
+    field public static final String HIDDEN_COLUMN_PREFIX = "x_";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Phone implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+  }
+
+  public static final class ContactsContract.PinnedPositions {
+    field public static final String UNDEMOTE_METHOD = "undemote";
+  }
+
+  public static final class ContactsContract.RawContactsEntity implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.RawContactsColumns {
+    field public static final android.net.Uri CORP_CONTENT_URI;
+  }
+
+  public final class DeviceConfig {
+    field public static final String NAMESPACE_ALARM_MANAGER = "alarm_manager";
+    field public static final String NAMESPACE_ANDROID = "android";
+    field public static final String NAMESPACE_APP_COMPAT_OVERRIDES = "app_compat_overrides";
+    field public static final String NAMESPACE_CONSTRAIN_DISPLAY_APIS = "constrain_display_apis";
+    field public static final String NAMESPACE_DEVICE_IDLE = "device_idle";
+    field public static final String NAMESPACE_JOB_SCHEDULER = "jobscheduler";
+  }
+
+  public final class Settings {
+    field public static final int RESET_MODE_PACKAGE_DEFAULTS = 1; // 0x1
+  }
+
+  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
+    field public static final String APP_OPS_CONSTANTS = "app_ops_constants";
+    field public static final String ARE_USER_DISABLED_HDR_FORMATS_ALLOWED = "are_user_disabled_hdr_formats_allowed";
+    field public static final String AUTOMATIC_POWER_SAVE_MODE = "automatic_power_save_mode";
+    field public static final String BATTERY_SAVER_CONSTANTS = "battery_saver_constants";
+    field public static final String DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW = "enable_non_resizable_multi_window";
+    field public static final String DISABLE_WINDOW_BLURS = "disable_window_blurs";
+    field public static final String DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD = "dynamic_power_savings_disable_threshold";
+    field public static final String DYNAMIC_POWER_SAVINGS_ENABLED = "dynamic_power_savings_enabled";
+    field public static final String HIDDEN_API_BLACKLIST_EXEMPTIONS = "hidden_api_blacklist_exemptions";
+    field public static final String HIDDEN_API_POLICY = "hidden_api_policy";
+    field public static final String HIDE_ERROR_DIALOGS = "hide_error_dialogs";
+    field @Deprecated public static final String LOCATION_IGNORE_SETTINGS_PACKAGE_WHITELIST = "location_ignore_settings_package_whitelist";
+    field public static final String LOW_POWER_MODE = "low_power";
+    field public static final String LOW_POWER_MODE_STICKY = "low_power_sticky";
+    field @Deprecated public static final String NOTIFICATION_BUBBLES = "notification_bubbles";
+    field public static final String OVERLAY_DISPLAY_DEVICES = "overlay_display_devices";
+    field public static final String SHOW_FIRST_CRASH_DIALOG = "show_first_crash_dialog";
+    field public static final String USER_DISABLED_HDR_FORMATS = "user_disabled_hdr_formats";
+    field public static final String USE_OPEN_WIFI_PACKAGE = "use_open_wifi_package";
+  }
+
+  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
+    field public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED = "accessibility_display_magnification_enabled";
+    field public static final String ACCESSIBILITY_MAGNIFICATION_CAPABILITY = "accessibility_magnification_capability";
+    field public static final String ACCESSIBILITY_MAGNIFICATION_MODE = "accessibility_magnification_mode";
+    field public static final int ACCESSIBILITY_MAGNIFICATION_MODE_ALL = 3; // 0x3
+    field public static final int ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN = 1; // 0x1
+    field public static final int ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW = 2; // 0x2
+    field public static final String ACCESSIBILITY_SHORTCUT_TARGET_SERVICE = "accessibility_shortcut_target_service";
+    field public static final String ANR_SHOW_BACKGROUND = "anr_show_background";
+    field public static final String AUTOFILL_SERVICE = "autofill_service";
+    field public static final String CONTENT_CAPTURE_ENABLED = "content_capture_enabled";
+    field public static final String DISABLED_PRINT_SERVICES = "disabled_print_services";
+    field @Deprecated public static final String ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES = "enabled_notification_policy_access_packages";
+    field public static final String ENABLED_VR_LISTENERS = "enabled_vr_listeners";
+    field public static final String IMMERSIVE_MODE_CONFIRMATIONS = "immersive_mode_confirmations";
+    field public static final String NOTIFICATION_BADGING = "notification_badging";
+    field public static final String NOTIFICATION_BUBBLES = "notification_bubbles";
+    field public static final String POWER_MENU_LOCKED_SHOW_CONTENT = "power_menu_locked_show_content";
+    field public static final String SELECTED_SPELL_CHECKER = "selected_spell_checker";
+    field public static final String SELECTED_SPELL_CHECKER_SUBTYPE = "selected_spell_checker_subtype";
+    field public static final String SHOW_FIRST_CRASH_DIALOG_DEV_OPTION = "show_first_crash_dialog_dev_option";
+    field public static final String SHOW_IME_WITH_HARD_KEYBOARD = "show_ime_with_hard_keyboard";
+    field @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static final String SYNC_PARENT_SOUNDS = "sync_parent_sounds";
+    field public static final String VOICE_INTERACTION_SERVICE = "voice_interaction_service";
+  }
+
+  public static final class Telephony.Sms.Intents {
+    field public static final String SMS_CARRIER_PROVISION_ACTION = "android.provider.Telephony.SMS_CARRIER_PROVISION";
+  }
+
+  public static final class VoicemailContract.Voicemails implements android.provider.BaseColumns android.provider.OpenableColumns {
+    field public static final String _DATA = "_data";
+  }
+
+}
+
+package android.security {
+
+  public final class KeyChain {
+    method @RequiresPermission("android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP") @WorkerThread public static boolean setCredentialManagementApp(@NonNull android.content.Context, @NonNull String, @NonNull android.security.AppUriAuthenticationPolicy);
+  }
+
+  public class KeyStoreException extends java.lang.Exception {
+    ctor public KeyStoreException(int, String);
+    method public int getErrorCode();
+  }
+
+}
+
+package android.security.keystore {
+
+  public static final class KeyGenParameterSpec.Builder {
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUniqueIdIncluded(boolean);
+  }
+
+  public final class KeyProtection implements java.security.KeyStore.ProtectionParameter {
+    method public long getBoundToSpecificSecureUserId();
+  }
+
+  public static final class KeyProtection.Builder {
+    method public android.security.keystore.KeyProtection.Builder setBoundToSpecificSecureUserId(long);
+  }
+
+}
+
+package android.service.autofill {
+
+  public final class CharSequenceTransformation extends android.service.autofill.InternalTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    method public void apply(@NonNull android.service.autofill.ValueFinder, @NonNull android.widget.RemoteViews, int) throws java.lang.Exception;
+  }
+
+  public final class CompositeUserData implements android.os.Parcelable {
+    ctor public CompositeUserData(@Nullable android.service.autofill.UserData, @NonNull android.service.autofill.UserData);
+    method public int describeContents();
+    method public String[] getCategoryIds();
+    method public android.os.Bundle getDefaultFieldClassificationArgs();
+    method @Nullable public String getFieldClassificationAlgorithm();
+    method @Nullable public String getFieldClassificationAlgorithmForCategory(@NonNull String);
+    method public android.util.ArrayMap<java.lang.String,java.lang.String> getFieldClassificationAlgorithms();
+    method public android.util.ArrayMap<java.lang.String,android.os.Bundle> getFieldClassificationArgs();
+    method public String[] getValues();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.CompositeUserData> CREATOR;
+  }
+
+  public final class CustomDescription implements android.os.Parcelable {
+    method @Nullable public android.util.SparseArray<android.service.autofill.InternalOnClickAction> getActions();
+  }
+
+  public final class Dataset implements android.os.Parcelable {
+    method @Nullable public android.content.IntentSender getAuthentication();
+    method @Nullable public android.content.ClipData getFieldContent();
+    method @Nullable public java.util.ArrayList<android.view.autofill.AutofillId> getFieldIds();
+    method @Nullable public java.util.ArrayList<android.view.autofill.AutofillValue> getFieldValues();
+    method @Nullable public String getId();
+    method public boolean isEmpty();
+  }
+
+  public static final class Dataset.Builder {
+    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
+  }
+
+  public final class DateTransformation extends android.service.autofill.InternalTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    method public void apply(@NonNull android.service.autofill.ValueFinder, @NonNull android.widget.RemoteViews, int) throws java.lang.Exception;
+  }
+
+  public final class DateValueSanitizer extends android.service.autofill.InternalSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
+    method @Nullable public android.view.autofill.AutofillValue sanitize(@NonNull android.view.autofill.AutofillValue);
+  }
+
+  public final class FillResponse implements android.os.Parcelable {
+    method public int getFlags();
+  }
+
+  public final class ImageTransformation extends android.service.autofill.InternalTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    method public void apply(@NonNull android.service.autofill.ValueFinder, @NonNull android.widget.RemoteViews, int) throws java.lang.Exception;
+  }
+
+  public abstract class InternalOnClickAction implements android.service.autofill.OnClickAction android.os.Parcelable {
+    ctor public InternalOnClickAction();
+    method public abstract void onClick(@NonNull android.view.ViewGroup);
+  }
+
+  public abstract class InternalSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
+    ctor public InternalSanitizer();
+    method @Nullable public abstract android.view.autofill.AutofillValue sanitize(@NonNull android.view.autofill.AutofillValue);
+  }
+
+  public abstract class InternalTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    ctor public InternalTransformation();
+    method public static boolean batchApply(@NonNull android.service.autofill.ValueFinder, @NonNull android.widget.RemoteViews, @NonNull java.util.ArrayList<android.util.Pair<java.lang.Integer,android.service.autofill.InternalTransformation>>);
+  }
+
+  public abstract class InternalValidator implements android.os.Parcelable android.service.autofill.Validator {
+    ctor public InternalValidator();
+    method public abstract boolean isValid(@NonNull android.service.autofill.ValueFinder);
+  }
+
+  public final class LuhnChecksumValidator extends android.service.autofill.InternalValidator implements android.os.Parcelable android.service.autofill.Validator {
+    method public boolean isValid(@NonNull android.service.autofill.ValueFinder);
+  }
+
+  public final class RegexValidator extends android.service.autofill.InternalValidator implements android.os.Parcelable android.service.autofill.Validator {
+    method public boolean isValid(@NonNull android.service.autofill.ValueFinder);
+  }
+
+  public final class TextValueSanitizer extends android.service.autofill.InternalSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
+    method @Nullable public android.view.autofill.AutofillValue sanitize(@NonNull android.view.autofill.AutofillValue);
+  }
+
+  public final class UserData implements android.os.Parcelable {
+    method public android.util.ArrayMap<java.lang.String,java.lang.String> getFieldClassificationAlgorithms();
+  }
+
+  public interface ValueFinder {
+    method @Nullable public default String findByAutofillId(@NonNull android.view.autofill.AutofillId);
+    method @Nullable public android.view.autofill.AutofillValue findRawValueByAutofillId(@NonNull android.view.autofill.AutofillId);
+  }
+
+  public final class VisibilitySetterAction extends android.service.autofill.InternalOnClickAction implements android.service.autofill.OnClickAction android.os.Parcelable {
+    method public void onClick(@NonNull android.view.ViewGroup);
+  }
+
+}
+
+package android.service.autofill.augmented {
+
+  public final class FillRequest {
+    method @NonNull public android.content.ComponentName getActivityComponent();
+    method @NonNull public android.view.autofill.AutofillId getFocusedId();
+    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
+    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
+    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
+    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
+    method public int getTaskId();
+  }
+
+}
+
+package android.service.notification {
+
+  @Deprecated public abstract class ConditionProviderService extends android.app.Service {
+    method @Deprecated public boolean isBound();
+  }
+
+}
+
+package android.service.quickaccesswallet {
+
+  public interface QuickAccessWalletClient extends java.io.Closeable {
+    method public void addWalletServiceEventListener(@NonNull android.service.quickaccesswallet.QuickAccessWalletClient.WalletServiceEventListener);
+    method public void addWalletServiceEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.service.quickaccesswallet.QuickAccessWalletClient.WalletServiceEventListener);
+    method @NonNull public static android.service.quickaccesswallet.QuickAccessWalletClient create(@NonNull android.content.Context);
+    method @Nullable public android.content.Intent createWalletIntent();
+    method @Nullable public android.content.Intent createWalletSettingsIntent();
+    method public void disconnect();
+    method public void getWalletCards(@NonNull android.service.quickaccesswallet.GetWalletCardsRequest, @NonNull android.service.quickaccesswallet.QuickAccessWalletClient.OnWalletCardsRetrievedCallback);
+    method public void getWalletCards(@NonNull java.util.concurrent.Executor, @NonNull android.service.quickaccesswallet.GetWalletCardsRequest, @NonNull android.service.quickaccesswallet.QuickAccessWalletClient.OnWalletCardsRetrievedCallback);
+    method public boolean isWalletFeatureAvailable();
+    method public boolean isWalletFeatureAvailableWhenDeviceLocked();
+    method public boolean isWalletServiceAvailable();
+    method public void notifyWalletDismissed();
+    method public void removeWalletServiceEventListener(@NonNull android.service.quickaccesswallet.QuickAccessWalletClient.WalletServiceEventListener);
+    method public void selectWalletCard(@NonNull android.service.quickaccesswallet.SelectWalletCardRequest);
+  }
+
+  public static interface QuickAccessWalletClient.OnWalletCardsRetrievedCallback {
+    method public void onWalletCardRetrievalError(@NonNull android.service.quickaccesswallet.GetWalletCardsError);
+    method public void onWalletCardsRetrieved(@NonNull android.service.quickaccesswallet.GetWalletCardsResponse);
+  }
+
+  public static interface QuickAccessWalletClient.WalletServiceEventListener {
+    method public void onWalletServiceEvent(@NonNull android.service.quickaccesswallet.WalletServiceEvent);
+  }
+
+}
+
+package android.service.quicksettings {
+
+  public class TileService extends android.app.Service {
+    method public static boolean isQuickSettingsSupported();
+  }
+
+}
+
+package android.service.voice {
+
+  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public void triggerHardwareRecognitionEventForTest(int, int, boolean, int, int, int, boolean, @NonNull android.media.AudioFormat, @Nullable byte[]);
+  }
+
+  public final class VisibleActivityInfo implements android.os.Parcelable {
+    ctor public VisibleActivityInfo(int, @NonNull android.os.IBinder);
+  }
+
+}
+
+package android.service.watchdog {
+
+  public abstract class ExplicitHealthCheckService extends android.app.Service {
+    method public void setCallback(@Nullable android.os.RemoteCallback);
+  }
+
+}
+
+package android.speech {
+
+  public class SpeechRecognizer {
+    method @MainThread @NonNull public static android.speech.SpeechRecognizer createOnDeviceTestingSpeechRecognizer(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SPEECH_RECOGNITION) public void setTemporaryOnDeviceRecognizer(@Nullable android.content.ComponentName);
+  }
+
+}
+
+package android.telecom {
+
+  public static class Call.Details {
+    method public String getTelecomCallId();
+  }
+
+  public final class CallAudioState implements android.os.Parcelable {
+    ctor public CallAudioState(boolean, int, int, @Nullable android.bluetooth.BluetoothDevice, @NonNull java.util.Collection<android.bluetooth.BluetoothDevice>);
+  }
+
+  public static final class ConnectionRequest.Builder {
+    ctor public ConnectionRequest.Builder();
+    method @NonNull public android.telecom.ConnectionRequest build();
+    method @NonNull public android.telecom.ConnectionRequest.Builder setAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setAddress(@NonNull android.net.Uri);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setIsAdhocConferenceCall(boolean);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setParticipants(@Nullable java.util.List<android.net.Uri>);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setRttPipeFromInCall(@NonNull android.os.ParcelFileDescriptor);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setRttPipeToInCall(@NonNull android.os.ParcelFileDescriptor);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setShouldShowIncomingCallUi(boolean);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setTelecomCallId(@NonNull String);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setVideoState(int);
+  }
+
+  public abstract class ConnectionService extends android.app.Service {
+    method public void onBindClient(@Nullable android.content.Intent);
+  }
+
+}
+
+package android.telephony {
+
+  public final class BarringInfo implements android.os.Parcelable {
+    ctor public BarringInfo(@Nullable android.telephony.CellIdentity, @NonNull android.util.SparseArray<android.telephony.BarringInfo.BarringServiceInfo>);
+  }
+
+  public static final class BarringInfo.BarringServiceInfo implements android.os.Parcelable {
+    ctor public BarringInfo.BarringServiceInfo(int, boolean, int, int);
+  }
+
+  public class MbmsDownloadSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_DOWNLOAD_SERVICE_OVERRIDE_METADATA = "mbms-download-service-override";
+  }
+
+  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_GROUP_CALL_SERVICE_OVERRIDE_METADATA = "mbms-group-call-service-override";
+  }
+
+  public class MbmsStreamingSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_STREAMING_SERVICE_OVERRIDE_METADATA = "mbms-streaming-service-override";
+  }
+
+  public final class ModemActivityInfo implements android.os.Parcelable {
+    ctor public ModemActivityInfo(long, int, int, @NonNull int[], int);
+    method public boolean isEmpty();
+    method public boolean isValid();
+  }
+
+  public class PhoneNumberUtils {
+    method public static int getMinMatchForTest();
+    method public static void setMinMatchForTest(int);
+  }
+
+  public final class PreciseDataConnectionState implements android.os.Parcelable {
+    ctor @Deprecated public PreciseDataConnectionState(int, int, int, @NonNull String, @Nullable android.net.LinkProperties, int);
+  }
+
+  public class ServiceState implements android.os.Parcelable {
+    method public void addNetworkRegistrationInfo(android.telephony.NetworkRegistrationInfo);
+    method public int getDataNetworkType();
+    method public int getDataRegState();
+    method public void setCdmaSystemAndNetworkId(int, int);
+    method public void setCellBandwidths(int[]);
+    method public void setChannelNumber(int);
+    method public void setDataRoamingType(int);
+    method public void setRilDataRadioTechnology(int);
+    method public void setRilVoiceRadioTechnology(int);
+    method public void setVoiceRoamingType(int);
+  }
+
+  public final class SmsManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int checkSmsShortCodeDestination(String, String);
+    field public static final int SMS_CATEGORY_FREE_SHORT_CODE = 1; // 0x1
+    field public static final int SMS_CATEGORY_NOT_SHORT_CODE = 0; // 0x0
+    field public static final int SMS_CATEGORY_POSSIBLE_PREMIUM_SHORT_CODE = 3; // 0x3
+    field public static final int SMS_CATEGORY_PREMIUM_SHORT_CODE = 4; // 0x4
+    field public static final int SMS_CATEGORY_STANDARD_SHORT_CODE = 2; // 0x2
+  }
+
+  public class TelephonyManager {
+    method public int addDevicePolicyOverrideApn(@NonNull android.content.Context, @NonNull android.telephony.data.ApnSetting);
+    method public int getCarrierIdListVersion();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCertsFromCarrierPrivilegeAccessRules();
+    method @NonNull public java.util.List<android.telephony.data.ApnSetting> getDevicePolicyOverrideApns(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getLine1AlphaTag();
+    method public android.util.Pair<java.lang.Integer,java.lang.Integer> getRadioHalVersion();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getSupportedRadioAccessFamily();
+    method public boolean modifyDevicePolicyOverrideApn(@NonNull android.content.Context, int, @NonNull android.telephony.data.ApnSetting);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void refreshUiccProfile();
+    method @Deprecated public void setCarrierTestOverride(String, String, String, String, String, String, String);
+    method public void setCarrierTestOverride(String, String, String, String, String, String, String, String, String);
+    field public static final int UNKNOWN_CARRIER_ID_LIST_VERSION = -1; // 0xffffffff
+  }
+
+}
+
+package android.telephony.emergency {
+
+  public final class EmergencyNumber implements java.lang.Comparable<android.telephony.emergency.EmergencyNumber> android.os.Parcelable {
+    field public static final int EMERGENCY_NUMBER_SOURCE_TEST = 32; // 0x20
+  }
+
+}
+
+package android.telephony.ims {
+
+  public final class ImsCallProfile implements android.os.Parcelable {
+    field public static final String EXTRA_OEM_EXTRAS = "android.telephony.ims.extra.OEM_EXTRAS";
+  }
+
+}
+
+package android.telephony.ims.feature {
+
+  @Deprecated public static class ImsFeature.Capabilities {
+    field @Deprecated protected int mCapabilities;
+  }
+
+}
+
+package android.text {
+
+  public final class FontConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
+    method @IntRange(from=0) public int getConfigVersion();
+    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
+    method public long getLastModifiedTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
+  }
+
+  public static final class FontConfig.Alias implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getName();
+    method @NonNull public String getOriginal();
+    method @IntRange(from=0, to=1000) public int getWeight();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
+  }
+
+  public static final class FontConfig.Font implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.io.File getFile();
+    method @Nullable public String getFontFamilyName();
+    method @NonNull public String getFontVariationSettings();
+    method @NonNull public String getPostScriptName();
+    method @NonNull public android.graphics.fonts.FontStyle getStyle();
+    method public int getTtcIndex();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
+  }
+
+  public static final class FontConfig.FontFamily implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
+    method @NonNull public android.os.LocaleList getLocaleList();
+    method @Nullable public String getName();
+    method public int getVariant();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
+    field public static final int VARIANT_COMPACT = 1; // 0x1
+    field public static final int VARIANT_DEFAULT = 0; // 0x0
+    field public static final int VARIANT_ELEGANT = 2; // 0x2
+  }
+
+  public static final class Selection.MemoryTextWatcher implements android.text.TextWatcher {
+    ctor public Selection.MemoryTextWatcher();
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public void onTextChanged(CharSequence, int, int, int);
+  }
+
+}
+
+package android.transition {
+
+  public class TransitionManager {
+    method public android.transition.Transition getTransition(android.transition.Scene);
+  }
+
+}
+
+package android.util {
+
+  public final class ArraySet<E> implements java.util.Collection<E> java.util.Set<E> {
+    method public E valueAtUnchecked(int);
+  }
+
+  public class FeatureFlagUtils {
+    ctor public FeatureFlagUtils();
+    method public static java.util.Map<java.lang.String,java.lang.String> getAllFeatureFlags();
+    method public static boolean isEnabled(android.content.Context, String);
+    method public static void setEnabled(android.content.Context, String, boolean);
+    field public static final String FFLAG_OVERRIDE_PREFIX = "sys.fflag.override.";
+    field public static final String FFLAG_PREFIX = "sys.fflag.";
+    field public static final String HEARING_AID_SETTINGS = "settings_bluetooth_hearing_aid";
+    field public static final String PERSIST_PREFIX = "persist.sys.fflag.override.";
+    field public static final String SETTINGS_WIFITRACKER2 = "settings_wifitracker2";
+  }
+
+  public class SparseArrayMap<K, V> {
+    ctor public SparseArrayMap();
+    method public void add(int, @NonNull K, @Nullable V);
+    method public void clear();
+    method public boolean contains(int, @NonNull K);
+    method public void delete(int);
+    method @Nullable public V delete(int, @NonNull K);
+    method public void forEach(@NonNull java.util.function.Consumer<V>);
+    method @Nullable public V get(int, @NonNull K);
+    method @Nullable public V getOrDefault(int, @NonNull K, V);
+    method public int indexOfKey(int);
+    method public int indexOfKey(int, @NonNull K);
+    method public int keyAt(int);
+    method @NonNull public K keyAt(int, int);
+    method public int numElementsForKey(int);
+    method public int numMaps();
+    method @Nullable public V valueAt(int, int);
+  }
+
+  public class TimeUtils {
+    method public static String formatDuration(long);
+  }
+
+}
+
+package android.util.proto {
+
+  public final class EncodedBuffer {
+    ctor public EncodedBuffer();
+    ctor public EncodedBuffer(int);
+    method public void dumpBuffers(String);
+    method public static void dumpByteString(String, String, byte[]);
+    method public void editRawFixed32(int, int);
+    method public byte[] getBytes(int);
+    method public int getChunkCount();
+    method public String getDebugString();
+    method public int getRawFixed32At(int);
+    method public static int getRawVarint32Size(int);
+    method public static int getRawVarint64Size(long);
+    method public static int getRawZigZag32Size(int);
+    method public static int getRawZigZag64Size(long);
+    method public int getReadPos();
+    method public int getReadableSize();
+    method public int getSize();
+    method public int getWriteBufIndex();
+    method public int getWriteIndex();
+    method public int getWritePos();
+    method public byte readRawByte();
+    method public int readRawFixed32();
+    method public long readRawUnsigned();
+    method public void rewindRead();
+    method public void rewindWriteTo(int);
+    method public void skipRead(int);
+    method public void startEditing();
+    method public void writeFromThisBuffer(int, int);
+    method public void writeRawBuffer(byte[]);
+    method public void writeRawBuffer(byte[], int, int);
+    method public void writeRawByte(byte);
+    method public void writeRawFixed32(int);
+    method public void writeRawFixed64(long);
+    method public void writeRawVarint32(int);
+    method public void writeRawVarint64(long);
+    method public void writeRawZigZag32(int);
+    method public void writeRawZigZag64(long);
+  }
+
+  public class ProtoParseException extends java.lang.RuntimeException {
+    ctor public ProtoParseException(String);
+  }
+
+  public class WireTypeMismatchException extends android.util.proto.ProtoParseException {
+    ctor public WireTypeMismatchException(String);
+  }
+
+}
+
+package android.view {
+
+  public abstract class ActionMode {
+    method public boolean isUiFocusable();
+  }
+
+  public final class Choreographer {
+    method public static long getFrameDelay();
+    method public void postCallback(int, Runnable, Object);
+    method public void postCallbackDelayed(int, Runnable, Object, long);
+    method public void removeCallbacks(int, Runnable, Object);
+    method public static void setFrameDelay(long);
+    field public static final int CALLBACK_ANIMATION = 1; // 0x1
+  }
+
+  public final class ContentInfo implements android.os.Parcelable {
+    method @NonNull public android.util.Pair<android.view.ContentInfo,android.view.ContentInfo> partition(@NonNull java.util.function.Predicate<android.content.ClipData.Item>);
+    method public void releasePermissions();
+  }
+
+  public static final class ContentInfo.Builder {
+    method @NonNull public android.view.ContentInfo.Builder setDragAndDropPermissions(@Nullable android.view.DragAndDropPermissions);
+    method @NonNull public android.view.ContentInfo.Builder setInputContentInfo(@Nullable android.view.inputmethod.InputContentInfo);
+  }
+
+  public final class Display {
+    method @NonNull public int[] getReportedHdrTypes();
+    method @NonNull public android.graphics.ColorSpace[] getSupportedWideColorGamut();
+    method public int getType();
+    method public boolean hasAccess(int);
+    field public static final int FLAG_TRUSTED = 128; // 0x80
+    field public static final int TYPE_EXTERNAL = 2; // 0x2
+    field public static final int TYPE_INTERNAL = 1; // 0x1
+    field public static final int TYPE_OVERLAY = 4; // 0x4
+    field public static final int TYPE_UNKNOWN = 0; // 0x0
+    field public static final int TYPE_VIRTUAL = 5; // 0x5
+    field public static final int TYPE_WIFI = 3; // 0x3
+  }
+
+  public class FocusFinder {
+    method public static void sort(android.view.View[], int, int, android.view.ViewGroup, boolean);
+  }
+
+  public final class InputDevice implements android.os.Parcelable {
+    method @RequiresPermission("android.permission.DISABLE_INPUT_DEVICE") public void disable();
+    method @RequiresPermission("android.permission.DISABLE_INPUT_DEVICE") public void enable();
+  }
+
+  public class KeyEvent extends android.view.InputEvent implements android.os.Parcelable {
+    method public static String actionToString(int);
+    method public final void setDisplayId(int);
+    field public static final int FLAG_IS_ACCESSIBILITY_EVENT = 2048; // 0x800
+    field public static final int LAST_KEYCODE = 288; // 0x120
+  }
+
+  public final class KeyboardShortcutGroup implements android.os.Parcelable {
+    ctor public KeyboardShortcutGroup(@Nullable CharSequence, @NonNull java.util.List<android.view.KeyboardShortcutInfo>, boolean);
+    ctor public KeyboardShortcutGroup(@Nullable CharSequence, boolean);
+    method public boolean isSystemGroup();
+  }
+
+  public abstract class LayoutInflater {
+    method public void setPrecompiledLayoutsEnabledForTesting(boolean);
+  }
+
+  public final class MotionEvent extends android.view.InputEvent implements android.os.Parcelable {
+    method public void setActionButton(int);
+    method public void setButtonState(int);
+    method public void setDisplayId(int);
+    field public static final int FLAG_IS_ACCESSIBILITY_EVENT = 2048; // 0x800
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface RemotableViewMethod {
+    method public abstract String asyncImpl() default "";
+  }
+
+  public final class SurfaceControl implements android.os.Parcelable {
+    ctor public SurfaceControl(@NonNull android.view.SurfaceControl, @NonNull String);
+    method public static long acquireFrameRateFlexibilityToken();
+    method @NonNull public static android.os.IBinder getInternalDisplayToken();
+    method public boolean isSameSurface(@NonNull android.view.SurfaceControl);
+    method public static void overrideHdrTypes(@NonNull android.os.IBinder, @NonNull int[]);
+    method public static void releaseFrameRateFlexibilityToken(long);
+  }
+
+  public class SurfaceControlViewHost {
+    method public void relayout(android.view.WindowManager.LayoutParams);
+    method public void setView(@NonNull android.view.View, @NonNull android.view.WindowManager.LayoutParams);
+  }
+
+  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
+    method public android.view.View getTooltipView();
+    method public boolean isAutofilled();
+    method public static boolean isDefaultFocusHighlightEnabled();
+    method public boolean isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable);
+    method protected void resetResolvedDrawables();
+    method public void resetResolvedLayoutDirection();
+    method public void resetResolvedPadding();
+    method public void resetResolvedTextAlignment();
+    method public void resetResolvedTextDirection();
+    method public void resetRtlProperties();
+    method public boolean restoreFocusInCluster(int);
+    method public boolean restoreFocusNotInCluster();
+    method public void setAutofilled(boolean, boolean);
+    method public final void setFocusedInCluster();
+    method public void setIsRootNamespace(boolean);
+    method public final void setShowingLayoutBounds(boolean);
+  }
+
+  public class ViewConfiguration {
+    method public long getDeviceGlobalActionKeyTimeout();
+    method public static int getHoverTooltipHideShortTimeout();
+    method public static int getHoverTooltipHideTimeout();
+    method public static int getHoverTooltipShowTimeout();
+    method public static int getLongPressTooltipHideTimeout();
+  }
+
+  public class ViewDebug {
+    method @Deprecated @Nullable public static AutoCloseable startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.function.Function<android.graphics.Picture,java.lang.Boolean>);
+    method @Nullable public static AutoCloseable startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.concurrent.Callable<java.io.OutputStream>);
+  }
+
+  public abstract class Window {
+    method @Nullable public android.view.View getNavigationBarBackgroundView();
+    method @Nullable public android.view.View getStatusBarBackgroundView();
+  }
+
+  public interface WindowManager extends android.view.ViewManager {
+    method public default int getDisplayImePolicy(int);
+    method public default void holdLock(android.os.IBinder, int);
+    method public default boolean isTaskSnapshotSupported();
+    method public default void setDisplayImePolicy(int, int);
+    method public default void setShouldShowSystemDecors(int, boolean);
+    method public default void setShouldShowWithInsecureKeyguard(int, boolean);
+    method public default boolean shouldShowSystemDecors(int);
+    field public static final int DISPLAY_IME_POLICY_FALLBACK_DISPLAY = 1; // 0x1
+    field public static final int DISPLAY_IME_POLICY_HIDE = 2; // 0x2
+    field public static final int DISPLAY_IME_POLICY_LOCAL = 0; // 0x0
+  }
+
+  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
+    method @Nullable public final android.os.IBinder getWindowContextToken();
+    method public final void setWindowContextToken(@NonNull android.os.IBinder);
+    field public static final int ACCESSIBILITY_TITLE_CHANGED = 33554432; // 0x2000000
+    field public static final int PRIVATE_FLAG_NO_MOVE_ANIMATION = 64; // 0x40
+    field public CharSequence accessibilityTitle;
+    field public int privateFlags;
+  }
+
+}
+
+package android.view.accessibility {
+
+  public final class AccessibilityManager {
+    method public void addAccessibilityServicesStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener, @Nullable android.os.Handler);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public java.util.List<java.lang.String> getAccessibilityShortcutTargets(int);
+    method public void removeAccessibilityServicesStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener);
+  }
+
+  public static interface AccessibilityManager.AccessibilityServicesStateChangeListener {
+    method public void onAccessibilityServicesStateChanged(android.view.accessibility.AccessibilityManager);
+  }
+
+  public class AccessibilityNodeInfo implements android.os.Parcelable {
+    method public void addChild(@NonNull android.os.IBinder);
+    method public long getSourceNodeId();
+    method public void setLeashedParent(@Nullable android.os.IBinder, int);
+    method public static void setNumInstancesInUseCounter(java.util.concurrent.atomic.AtomicInteger);
+    method public void writeToParcelNoRecycle(android.os.Parcel, int);
+  }
+
+  public static final class AccessibilityNodeInfo.TouchDelegateInfo implements android.os.Parcelable {
+    method public long getAccessibilityIdForRegion(@NonNull android.graphics.Region);
+  }
+
+  public final class AccessibilityWindowInfo implements android.os.Parcelable {
+    method public static void setNumInstancesInUseCounter(java.util.concurrent.atomic.AtomicInteger);
+  }
+
+}
+
+package android.view.animation {
+
+  public class AnimationUtils {
+    method public static void lockAnimationClock(long);
+    method public static void unlockAnimationClock();
+  }
+
+}
+
+package android.view.autofill {
+
+  public final class AutofillId implements android.os.Parcelable {
+    ctor public AutofillId(int);
+    ctor public AutofillId(@NonNull android.view.autofill.AutofillId, int);
+    ctor public AutofillId(int, int);
+    ctor public AutofillId(@NonNull android.view.autofill.AutofillId, long, int);
+    method public boolean equalsIgnoreSession(@Nullable android.view.autofill.AutofillId);
+    method public boolean isNonVirtual();
+    method @NonNull public static android.view.autofill.AutofillId withoutSession(@NonNull android.view.autofill.AutofillId);
+  }
+
+  public final class AutofillManager {
+    field public static final String DEVICE_CONFIG_AUTOFILL_SMART_SUGGESTION_SUPPORTED_MODES = "smart_suggestion_supported_modes";
+    field public static final int FLAG_SMART_SUGGESTION_OFF = 0; // 0x0
+    field public static final int FLAG_SMART_SUGGESTION_SYSTEM = 1; // 0x1
+    field public static final int MAX_TEMP_AUGMENTED_SERVICE_DURATION_MS = 120000; // 0x1d4c0
+  }
+
+}
+
+package android.view.contentcapture {
+
+  public final class ContentCaptureManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_CAPTURE) public static void resetTemporaryService(int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_CAPTURE) public static void setDefaultServiceEnabled(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_CAPTURE) public static void setTemporaryService(int, @NonNull String, int);
+    field public static final String DEVICE_CONFIG_PROPERTY_IDLE_FLUSH_FREQUENCY = "idle_flush_frequency";
+    field public static final String DEVICE_CONFIG_PROPERTY_LOGGING_LEVEL = "logging_level";
+    field public static final String DEVICE_CONFIG_PROPERTY_LOG_HISTORY_SIZE = "log_history_size";
+    field public static final String DEVICE_CONFIG_PROPERTY_MAX_BUFFER_SIZE = "max_buffer_size";
+    field public static final String DEVICE_CONFIG_PROPERTY_SERVICE_EXPLICITLY_ENABLED = "service_explicitly_enabled";
+    field public static final String DEVICE_CONFIG_PROPERTY_TEXT_CHANGE_FLUSH_FREQUENCY = "text_change_flush_frequency";
+    field public static final int LOGGING_LEVEL_DEBUG = 1; // 0x1
+    field public static final int LOGGING_LEVEL_OFF = 0; // 0x0
+    field public static final int LOGGING_LEVEL_VERBOSE = 2; // 0x2
+  }
+
+  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
+    method @Nullable public static android.view.contentcapture.ViewNode readFromParcel(@NonNull android.os.Parcel);
+    method public static void writeToParcel(@NonNull android.os.Parcel, @Nullable android.view.contentcapture.ViewNode, int);
+  }
+
+  public static final class ViewNode.ViewStructureImpl extends android.view.ViewStructure {
+    ctor public ViewNode.ViewStructureImpl(@NonNull android.view.View);
+    ctor public ViewNode.ViewStructureImpl(@NonNull android.view.autofill.AutofillId, long, int);
+    method public int addChildCount(int);
+    method public void asyncCommit();
+    method public android.view.ViewStructure asyncNewChild(int);
+    method public android.view.autofill.AutofillId getAutofillId();
+    method public int getChildCount();
+    method public android.os.Bundle getExtras();
+    method public CharSequence getHint();
+    method public android.view.contentcapture.ViewNode getNode();
+    method public android.graphics.Rect getTempRect();
+    method public CharSequence getText();
+    method public int getTextSelectionEnd();
+    method public int getTextSelectionStart();
+    method public boolean hasExtras();
+    method public android.view.ViewStructure newChild(int);
+    method public android.view.ViewStructure.HtmlInfo.Builder newHtmlInfoBuilder(String);
+    method public void setAccessibilityFocused(boolean);
+    method public void setActivated(boolean);
+    method public void setAlpha(float);
+    method public void setAssistBlocked(boolean);
+    method public void setAutofillHints(String[]);
+    method public void setAutofillId(android.view.autofill.AutofillId);
+    method public void setAutofillId(android.view.autofill.AutofillId, int);
+    method public void setAutofillOptions(CharSequence[]);
+    method public void setAutofillType(int);
+    method public void setAutofillValue(android.view.autofill.AutofillValue);
+    method public void setCheckable(boolean);
+    method public void setChecked(boolean);
+    method public void setChildCount(int);
+    method public void setClassName(String);
+    method public void setClickable(boolean);
+    method public void setContentDescription(CharSequence);
+    method public void setContextClickable(boolean);
+    method public void setDataIsSensitive(boolean);
+    method public void setDimens(int, int, int, int, int, int);
+    method public void setElevation(float);
+    method public void setEnabled(boolean);
+    method public void setFocusable(boolean);
+    method public void setFocused(boolean);
+    method public void setHint(CharSequence);
+    method public void setHtmlInfo(android.view.ViewStructure.HtmlInfo);
+    method public void setId(int, String, String, String);
+    method public void setInputType(int);
+    method public void setLocaleList(android.os.LocaleList);
+    method public void setLongClickable(boolean);
+    method public void setOpaque(boolean);
+    method public void setSelected(boolean);
+    method public void setText(CharSequence);
+    method public void setText(CharSequence, int, int);
+    method public void setTextLines(int[], int[]);
+    method public void setTextStyle(float, int, int, int);
+    method public void setTransformation(android.graphics.Matrix);
+    method public void setVisibility(int);
+    method public void setWebDomain(String);
+  }
+
+}
+
+package android.view.displayhash {
+
+  public final class DisplayHashManager {
+    method @RequiresPermission("android.permission.READ_FRAME_BUFFER") public void setDisplayHashThrottlingEnabled(boolean);
+  }
+
+}
+
+package android.view.inputmethod {
+
+  public final class InlineSuggestion implements android.os.Parcelable {
+    method @NonNull public static android.view.inputmethod.InlineSuggestion newInlineSuggestion(@NonNull android.view.inputmethod.InlineSuggestionInfo);
+  }
+
+  public final class InlineSuggestionInfo implements android.os.Parcelable {
+    method @NonNull public static android.view.inputmethod.InlineSuggestionInfo newInlineSuggestionInfo(@NonNull android.widget.inline.InlinePresentationSpec, @NonNull String, @Nullable String[], @NonNull String, boolean);
+  }
+
+  public final class InlineSuggestionsResponse implements android.os.Parcelable {
+    method @NonNull public static android.view.inputmethod.InlineSuggestionsResponse newInlineSuggestionsResponse(@NonNull java.util.List<android.view.inputmethod.InlineSuggestion>);
+  }
+
+  public final class InputMethodInfo implements android.os.Parcelable {
+    ctor public InputMethodInfo(@NonNull String, @NonNull String, @NonNull CharSequence, @NonNull String, int);
+  }
+
+  public final class InputMethodManager {
+    method public int getDisplayId();
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public java.util.List<android.view.inputmethod.InputMethodInfo> getInputMethodListAsUser(int);
+    method public boolean hasActiveInputConnection(@Nullable android.view.View);
+    method public boolean isInputMethodPickerShown();
+  }
+
+}
+
+package android.view.inspector {
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD}) public @interface InspectableProperty {
+    method public abstract int attributeId() default android.content.res.Resources.ID_NULL;
+    method public abstract android.view.inspector.InspectableProperty.EnumEntry[] enumMapping() default {};
+    method public abstract android.view.inspector.InspectableProperty.FlagEntry[] flagMapping() default {};
+    method public abstract boolean hasAttributeId() default true;
+    method public abstract String name() default "";
+    method public abstract android.view.inspector.InspectableProperty.ValueType valueType() default android.view.inspector.InspectableProperty.ValueType.INFERRED;
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface InspectableProperty.EnumEntry {
+    method public abstract String name();
+    method public abstract int value();
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface InspectableProperty.FlagEntry {
+    method public abstract int mask() default 0;
+    method public abstract String name();
+    method public abstract int target();
+  }
+
+  public enum InspectableProperty.ValueType {
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType COLOR;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType GRAVITY;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType INFERRED;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType INT_ENUM;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType INT_FLAG;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType NONE;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType RESOURCE_ID;
+  }
+
+}
+
+package android.view.textservice {
+
+  public final class SpellCheckerSubtype implements android.os.Parcelable {
+    field public static final int SUBTYPE_ID_NONE = 0; // 0x0
+  }
+
+}
+
+package android.widget {
+
+  public abstract class AbsListView extends android.widget.AdapterView<android.widget.ListAdapter> implements android.widget.Filter.FilterListener android.text.TextWatcher android.view.ViewTreeObserver.OnGlobalLayoutListener android.view.ViewTreeObserver.OnTouchModeChangeListener {
+    method public final boolean shouldDrawSelector();
+  }
+
+  public class CalendarView extends android.widget.FrameLayout {
+    method public boolean getBoundsForDate(long, android.graphics.Rect);
+  }
+
+  public class DatePicker extends android.widget.FrameLayout {
+    method @android.view.inspector.InspectableProperty(name="datePickerMode", enumMapping={@android.view.inspector.InspectableProperty.EnumEntry(value=android.widget.DatePicker.MODE_SPINNER, name="spinner"), @android.view.inspector.InspectableProperty.EnumEntry(value=android.widget.DatePicker.MODE_CALENDAR, name="calendar")}) public int getMode();
+    field public static final int MODE_CALENDAR = 2; // 0x2
+    field public static final int MODE_SPINNER = 1; // 0x1
+  }
+
+  @UiThread public final class Magnifier {
+    method @Nullable public android.graphics.Bitmap getContent();
+    method public static android.graphics.PointF getMagnifierDefaultSize();
+    method @Nullable public android.graphics.Bitmap getOriginalContent();
+    method public void setOnOperationCompleteCallback(android.widget.Magnifier.Callback);
+  }
+
+  public static interface Magnifier.Callback {
+    method public void onOperationComplete();
+  }
+
+  public class NumberPicker extends android.widget.LinearLayout {
+    method public CharSequence getDisplayedValueForCurrentSelection();
+  }
+
+  public class PopupMenu {
+    method public android.widget.ListView getMenuListView();
+  }
+
+  public class Spinner extends android.widget.AbsSpinner implements android.content.DialogInterface.OnClickListener {
+    method public boolean isPopupShowing();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class TextClock extends android.widget.TextView {
+    method public void disableClockTick();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class TextView extends android.view.View implements android.view.ViewTreeObserver.OnPreDrawListener {
+    method public void onActivityResult(int, int, @Nullable android.content.Intent);
+    field public static final int PROCESS_TEXT_REQUEST_CODE = 100; // 0x64
+  }
+
+  public class TimePicker extends android.widget.FrameLayout {
+    method public android.view.View getAmView();
+    method public android.view.View getHourView();
+    method public android.view.View getMinuteView();
+    method @android.view.inspector.InspectableProperty(name="timePickerMode", enumMapping={@android.view.inspector.InspectableProperty.EnumEntry(name="clock", value=android.widget.TimePicker.MODE_CLOCK), @android.view.inspector.InspectableProperty.EnumEntry(name="spinner", value=android.widget.TimePicker.MODE_SPINNER)}) public int getMode();
+    method public android.view.View getPmView();
+    field public static final int MODE_CLOCK = 2; // 0x2
+    field public static final int MODE_SPINNER = 1; // 0x1
+  }
+
+  public class Toolbar extends android.view.ViewGroup {
+    method @Nullable public android.view.View getNavigationView();
+  }
+
+}
+
+package android.widget.inline {
+
+  public class InlineContentView extends android.view.ViewGroup {
+    method public void setChildSurfacePackageUpdater(@Nullable android.widget.inline.InlineContentView.SurfacePackageUpdater);
+  }
+
+  public static interface InlineContentView.SurfacePackageUpdater {
+    method public void getSurfacePackage(@NonNull java.util.function.Consumer<android.view.SurfaceControlViewHost.SurfacePackage>);
+    method public void onSurfacePackageReleased();
+  }
+
+}
+
+package android.window {
+
+  public final class DisplayAreaAppearedInfo implements android.os.Parcelable {
+    ctor public DisplayAreaAppearedInfo(@NonNull android.window.DisplayAreaInfo, @NonNull android.view.SurfaceControl);
+    method public int describeContents();
+    method @NonNull public android.window.DisplayAreaInfo getDisplayAreaInfo();
+    method @NonNull public android.view.SurfaceControl getLeash();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.DisplayAreaAppearedInfo> CREATOR;
+  }
+
+  public final class DisplayAreaInfo implements android.os.Parcelable {
+    ctor public DisplayAreaInfo(@NonNull android.window.WindowContainerToken, int, int);
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.DisplayAreaInfo> CREATOR;
+    field @NonNull public final android.content.res.Configuration configuration;
+    field public final int displayId;
+    field public final int featureId;
+    field @NonNull public final android.window.WindowContainerToken token;
+  }
+
+  public class DisplayAreaOrganizer extends android.window.WindowOrganizer {
+    method public void onDisplayAreaAppeared(@NonNull android.window.DisplayAreaInfo, @NonNull android.view.SurfaceControl);
+    method public void onDisplayAreaVanished(@NonNull android.window.DisplayAreaInfo);
+    method @CallSuper @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.window.DisplayAreaAppearedInfo> registerOrganizer(int);
+    field public static final int FEATURE_DEFAULT_TASK_CONTAINER = 1; // 0x1
+    field public static final int FEATURE_ONE_HANDED = 3; // 0x3
+    field public static final int FEATURE_ROOT = 0; // 0x0
+    field public static final int FEATURE_SYSTEM_FIRST = 0; // 0x0
+    field public static final int FEATURE_SYSTEM_LAST = 10000; // 0x2710
+    field public static final int FEATURE_UNDEFINED = -1; // 0xffffffff
+    field public static final int FEATURE_VENDOR_FIRST = 10001; // 0x2711
+    field public static final int FEATURE_WINDOWED_MAGNIFICATION = 4; // 0x4
+    field public static final int FEATURE_WINDOW_TOKENS = 2; // 0x2
+  }
+
+  public final class SplashScreenView extends android.widget.FrameLayout {
+    method @Nullable public android.view.View getBrandingView();
+  }
+
+  public final class TaskAppearedInfo implements android.os.Parcelable {
+    ctor public TaskAppearedInfo(@NonNull android.app.ActivityManager.RunningTaskInfo, @NonNull android.view.SurfaceControl);
+    method public int describeContents();
+    method @NonNull public android.view.SurfaceControl getLeash();
+    method @NonNull public android.app.ActivityManager.RunningTaskInfo getTaskInfo();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.TaskAppearedInfo> CREATOR;
+  }
+
+  public final class TaskFragmentCreationParams implements android.os.Parcelable {
+    method @NonNull public android.os.IBinder getFragmentToken();
+    method @NonNull public android.graphics.Rect getInitialBounds();
+    method @NonNull public android.window.TaskFragmentOrganizerToken getOrganizer();
+    method @NonNull public android.os.IBinder getOwnerToken();
+    method public int getWindowingMode();
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.TaskFragmentCreationParams> CREATOR;
+  }
+
+  public static final class TaskFragmentCreationParams.Builder {
+    ctor public TaskFragmentCreationParams.Builder(@NonNull android.window.TaskFragmentOrganizerToken, @NonNull android.os.IBinder, @NonNull android.os.IBinder);
+    method @NonNull public android.window.TaskFragmentCreationParams build();
+    method @NonNull public android.window.TaskFragmentCreationParams.Builder setInitialBounds(@NonNull android.graphics.Rect);
+    method @NonNull public android.window.TaskFragmentCreationParams.Builder setWindowingMode(int);
+  }
+
+  public final class TaskFragmentInfo implements android.os.Parcelable {
+    method public boolean equalsForTaskFragmentOrganizer(@Nullable android.window.TaskFragmentInfo);
+    method @NonNull public java.util.List<android.os.IBinder> getActivities();
+    method @NonNull public android.content.res.Configuration getConfiguration();
+    method @NonNull public android.os.IBinder getFragmentToken();
+    method @NonNull public android.graphics.Point getPositionInParent();
+    method public int getRunningActivityCount();
+    method @NonNull public android.window.WindowContainerToken getToken();
+    method public int getWindowingMode();
+    method public boolean hasRunningActivity();
+    method public boolean isEmpty();
+    method public boolean isTaskClearedForReuse();
+    method public boolean isVisible();
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.TaskFragmentInfo> CREATOR;
+  }
+
+  public class TaskFragmentOrganizer extends android.window.WindowOrganizer {
+    ctor public TaskFragmentOrganizer(@NonNull java.util.concurrent.Executor);
+    method @NonNull public java.util.concurrent.Executor getExecutor();
+    method @NonNull public android.window.TaskFragmentOrganizerToken getOrganizerToken();
+    method public void onTaskFragmentAppeared(@NonNull android.window.TaskFragmentInfo);
+    method public void onTaskFragmentError(@NonNull android.os.IBinder, @NonNull Throwable);
+    method public void onTaskFragmentInfoChanged(@NonNull android.window.TaskFragmentInfo);
+    method public void onTaskFragmentParentInfoChanged(@NonNull android.os.IBinder, @NonNull android.content.res.Configuration);
+    method public void onTaskFragmentVanished(@NonNull android.window.TaskFragmentInfo);
+    method @CallSuper public void registerOrganizer();
+    method @CallSuper public void unregisterOrganizer();
+  }
+
+  public final class TaskFragmentOrganizerToken implements android.os.Parcelable {
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.TaskFragmentOrganizerToken> CREATOR;
+  }
+
+  public class TaskOrganizer extends android.window.WindowOrganizer {
+    ctor public TaskOrganizer();
+    method @BinderThread public void copySplashScreenView(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void createRootTask(int, int, @Nullable android.os.IBinder);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public boolean deleteRootTask(@NonNull android.window.WindowContainerToken);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.app.ActivityManager.RunningTaskInfo> getChildTasks(@NonNull android.window.WindowContainerToken, @NonNull int[]);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public android.window.WindowContainerToken getImeTarget(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.app.ActivityManager.RunningTaskInfo> getRootTasks(int, @NonNull int[]);
+    method @BinderThread public void onAppSplashScreenViewRemoved(int);
+    method @BinderThread public void onBackPressedOnTaskRoot(@NonNull android.app.ActivityManager.RunningTaskInfo);
+    method @BinderThread public void onTaskAppeared(@NonNull android.app.ActivityManager.RunningTaskInfo, @NonNull android.view.SurfaceControl);
+    method @BinderThread public void onTaskInfoChanged(@NonNull android.app.ActivityManager.RunningTaskInfo);
+    method @BinderThread public void onTaskVanished(@NonNull android.app.ActivityManager.RunningTaskInfo);
+    method @CallSuper @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.window.TaskAppearedInfo> registerOrganizer();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void setInterceptBackPressedOnTaskRoot(@NonNull android.window.WindowContainerToken, boolean);
+    method @CallSuper @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void unregisterOrganizer();
+  }
+
+  public final class WindowContainerToken implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.WindowContainerToken> CREATOR;
+  }
+
+  public final class WindowContainerTransaction implements android.os.Parcelable {
+    ctor public WindowContainerTransaction();
+    method @NonNull public android.window.WindowContainerTransaction createTaskFragment(@NonNull android.window.TaskFragmentCreationParams);
+    method @NonNull public android.window.WindowContainerTransaction deleteTaskFragment(@NonNull android.window.WindowContainerToken);
+    method public int describeContents();
+    method @NonNull public android.window.WindowContainerTransaction reorder(@NonNull android.window.WindowContainerToken, boolean);
+    method @NonNull public android.window.WindowContainerTransaction reparent(@NonNull android.window.WindowContainerToken, @Nullable android.window.WindowContainerToken, boolean);
+    method @NonNull public android.window.WindowContainerTransaction reparentActivityToTaskFragment(@NonNull android.os.IBinder, @NonNull android.os.IBinder);
+    method @NonNull public android.window.WindowContainerTransaction reparentChildren(@NonNull android.window.WindowContainerToken, @Nullable android.window.WindowContainerToken);
+    method @NonNull public android.window.WindowContainerTransaction reparentTasks(@Nullable android.window.WindowContainerToken, @Nullable android.window.WindowContainerToken, @Nullable int[], @Nullable int[], boolean);
+    method @NonNull public android.window.WindowContainerTransaction scheduleFinishEnterPip(@NonNull android.window.WindowContainerToken, @NonNull android.graphics.Rect);
+    method @NonNull public android.window.WindowContainerTransaction setActivityWindowingMode(@NonNull android.window.WindowContainerToken, int);
+    method @NonNull public android.window.WindowContainerTransaction setAdjacentRoots(@NonNull android.window.WindowContainerToken, @NonNull android.window.WindowContainerToken);
+    method @NonNull public android.window.WindowContainerTransaction setAdjacentTaskFragments(@NonNull android.os.IBinder, @Nullable android.os.IBinder, @Nullable android.window.WindowContainerTransaction.TaskFragmentAdjacentParams);
+    method @NonNull public android.window.WindowContainerTransaction setAppBounds(@NonNull android.window.WindowContainerToken, @NonNull android.graphics.Rect);
+    method @NonNull public android.window.WindowContainerTransaction setBounds(@NonNull android.window.WindowContainerToken, @NonNull android.graphics.Rect);
+    method @NonNull public android.window.WindowContainerTransaction setBoundsChangeTransaction(@NonNull android.window.WindowContainerToken, @NonNull android.view.SurfaceControl.Transaction);
+    method @NonNull public android.window.WindowContainerTransaction setErrorCallbackToken(@NonNull android.os.IBinder);
+    method @NonNull public android.window.WindowContainerTransaction setFocusable(@NonNull android.window.WindowContainerToken, boolean);
+    method @NonNull public android.window.WindowContainerTransaction setHidden(@NonNull android.window.WindowContainerToken, boolean);
+    method @NonNull public android.window.WindowContainerTransaction setLaunchRoot(@NonNull android.window.WindowContainerToken, @Nullable int[], @Nullable int[]);
+    method @NonNull public android.window.WindowContainerTransaction setScreenSizeDp(@NonNull android.window.WindowContainerToken, int, int);
+    method @NonNull public android.window.WindowContainerTransaction setSmallestScreenWidthDp(@NonNull android.window.WindowContainerToken, int);
+    method @NonNull public android.window.WindowContainerTransaction setWindowingMode(@NonNull android.window.WindowContainerToken, int);
+    method @NonNull public android.window.WindowContainerTransaction startActivityInTaskFragment(@NonNull android.os.IBinder, @NonNull android.os.IBinder, @NonNull android.content.Intent, @Nullable android.os.Bundle);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.WindowContainerTransaction> CREATOR;
+  }
+
+  public static class WindowContainerTransaction.TaskFragmentAdjacentParams {
+    ctor public WindowContainerTransaction.TaskFragmentAdjacentParams();
+    ctor public WindowContainerTransaction.TaskFragmentAdjacentParams(@NonNull android.os.Bundle);
+    method public void setShouldDelayPrimaryLastActivityRemoval(boolean);
+    method public void setShouldDelaySecondaryLastActivityRemoval(boolean);
+    method public boolean shouldDelayPrimaryLastActivityRemoval();
+    method public boolean shouldDelaySecondaryLastActivityRemoval();
+  }
+
+  public abstract class WindowContainerTransactionCallback {
+    ctor public WindowContainerTransactionCallback();
+    method public abstract void onTransactionReady(int, @NonNull android.view.SurfaceControl.Transaction);
+  }
+
+  public class WindowOrganizer {
+    ctor public WindowOrganizer();
+    method @RequiresPermission(value=android.Manifest.permission.MANAGE_ACTIVITY_TASKS, conditional=true) public int applySyncTransaction(@NonNull android.window.WindowContainerTransaction, @NonNull android.window.WindowContainerTransactionCallback);
+    method @RequiresPermission(value=android.Manifest.permission.MANAGE_ACTIVITY_TASKS, conditional=true) public void applyTransaction(@NonNull android.window.WindowContainerTransaction);
+  }
+
+  @UiContext public abstract class WindowProviderService extends android.app.Service {
+    ctor public WindowProviderService();
+    method public final void attachToWindowToken(@NonNull android.os.IBinder);
+    method @NonNull public int getInitialDisplayId();
+    method @CallSuper @Nullable public android.os.Bundle getWindowContextOptions();
+    method public abstract int getWindowType();
+  }
+
+}
+
diff --git a/32/test/api/android.test.base-removed.txt b/32/test/api/android.test.base-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/android.test.base-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/android.test.base.txt b/32/test/api/android.test.base.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/android.test.base.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/android.test.mock-removed.txt b/32/test/api/android.test.mock-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/android.test.mock-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/android.test.mock.txt b/32/test/api/android.test.mock.txt
new file mode 100644
index 0000000..531dd7c
--- /dev/null
+++ b/32/test/api/android.test.mock.txt
@@ -0,0 +1,17 @@
+// Signature format: 2.0
+package android.test.mock {
+
+  public class MockContext extends android.content.Context {
+    method public int getDisplayId();
+  }
+
+  @Deprecated public class MockPackageManager extends android.content.pm.PackageManager {
+    method public int getInstallReason(String, android.os.UserHandle);
+    method public java.util.List<android.content.pm.ApplicationInfo> getInstalledApplicationsAsUser(int, int);
+    method public String[] getNamesForUids(int[]);
+    method @NonNull public String getServicesSystemSharedLibraryPackageName();
+    method @NonNull public String getSharedSystemSharedLibraryPackageName();
+  }
+
+}
+
diff --git a/32/test/api/android.test.runner-removed.txt b/32/test/api/android.test.runner-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/android.test.runner-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/android.test.runner.txt b/32/test/api/android.test.runner.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/android.test.runner.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/android.txt b/32/test/api/android.txt
new file mode 100644
index 0000000..a8e06fc
--- /dev/null
+++ b/32/test/api/android.txt
@@ -0,0 +1,3338 @@
+// Signature format: 2.0
+package android {
+
+  public static final class Manifest.permission {
+    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
+    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
+    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
+    field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA";
+    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
+    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
+    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
+    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
+    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
+    field public static final String CLEAR_FREEZE_PERIOD = "android.permission.CLEAR_FREEZE_PERIOD";
+    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
+    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
+    field public static final String CONTROL_DEVICE_STATE = "android.permission.CONTROL_DEVICE_STATE";
+    field public static final String FORCE_DEVICE_POLICY_MANAGER_LOGS = "android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS";
+    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
+    field public static final String INSTALL_TEST_ONLY_PACKAGE = "android.permission.INSTALL_TEST_ONLY_PACKAGE";
+    field public static final String KEEP_UNINSTALLED_PACKAGES = "android.permission.KEEP_UNINSTALLED_PACKAGES";
+    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
+    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
+    field public static final String MANAGE_CRATES = "android.permission.MANAGE_CRATES";
+    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
+    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
+    field public static final String MANAGE_TOAST_RATE_LIMITING = "android.permission.MANAGE_TOAST_RATE_LIMITING";
+    field public static final String MODIFY_REFRESH_RATE_SWITCHING_TYPE = "android.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE";
+    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
+    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
+    field public static final String OVERRIDE_DISPLAY_MODE_REQUESTS = "android.permission.OVERRIDE_DISPLAY_MODE_REQUESTS";
+    field public static final String QUERY_AUDIO_STATE = "android.permission.QUERY_AUDIO_STATE";
+    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
+    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
+    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
+    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
+    field public static final String RESET_APP_ERRORS = "android.permission.RESET_APP_ERRORS";
+    field public static final String SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS = "android.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS";
+    field public static final String START_TASKS_FROM_RECENTS = "android.permission.START_TASKS_FROM_RECENTS";
+    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
+    field public static final String TEST_BIOMETRIC = "android.permission.TEST_BIOMETRIC";
+    field public static final String TEST_MANAGE_ROLLBACKS = "android.permission.TEST_MANAGE_ROLLBACKS";
+    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
+    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
+    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
+    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
+  }
+
+  public static final class Manifest.permission_group {
+    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
+  }
+
+  public static final class R.attr {
+    field public static final int requestForegroundServiceExemption = 16844362; // 0x101064a
+  }
+
+  public static final class R.bool {
+    field public static final int config_assistantOnTopOfDream = 17891333; // 0x1110005
+    field public static final int config_perDisplayFocusEnabled = 17891332; // 0x1110004
+    field public static final int config_remoteInsetsControllerControlsSystemBars = 17891334; // 0x1110006
+  }
+
+  public static final class R.string {
+    field public static final int config_defaultAssistant = 17039393; // 0x1040021
+    field public static final int config_defaultDialer = 17039395; // 0x1040023
+    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
+    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
+    field public static final int config_systemGallery = 17039399; // 0x1040027
+  }
+
+}
+
+package android.accessibilityservice {
+
+  public final class AccessibilityGestureEvent implements android.os.Parcelable {
+    ctor public AccessibilityGestureEvent(int, int);
+  }
+
+  public abstract class AccessibilityService extends android.app.Service {
+    field public static final int ACCESSIBILITY_TAKE_SCREENSHOT_REQUEST_INTERVAL_TIMES_MS = 333; // 0x14d
+  }
+
+  public class AccessibilityServiceInfo implements android.os.Parcelable {
+    method @NonNull public android.content.ComponentName getComponentName();
+  }
+
+}
+
+package android.animation {
+
+  public class ValueAnimator extends android.animation.Animator {
+    method public static float getDurationScale();
+    method public static void setDurationScale(float);
+  }
+
+}
+
+package android.app {
+
+  @UiContext public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
+    method public void onMovedToDisplay(int, android.content.res.Configuration);
+  }
+
+  public class ActivityManager {
+    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void addHomeVisibilityListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.HomeVisibilityListener);
+    method public void alwaysShowUnsupportedCompileSdkWarning(android.content.ComponentName);
+    method public long getTotalRam();
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidProcessCapabilities(int);
+    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidProcessState(int);
+    method public void holdLock(android.os.IBinder, int);
+    method public static boolean isHighEndGfx();
+    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void removeHomeVisibilityListener(@NonNull android.app.HomeVisibilityListener);
+    method @RequiresPermission(android.Manifest.permission.RESET_APP_ERRORS) public void resetAppErrors();
+    method public static void resumeAppSwitches() throws android.os.RemoteException;
+    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public void scheduleApplicationInfoChanged(java.util.List<java.lang.String>, int);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public void setStopUserOnSwitch(int);
+    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean stopUser(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public boolean updateMccMncConfiguration(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.DUMP) public void waitForBroadcastIdle();
+    field public static final long LOCK_DOWN_CLOSE_SYSTEM_DIALOGS = 174664365L; // 0xa692aadL
+    field public static final int PROCESS_CAPABILITY_ALL = 15; // 0xf
+    field public static final int PROCESS_CAPABILITY_ALL_EXPLICIT = 1; // 0x1
+    field public static final int PROCESS_CAPABILITY_ALL_IMPLICIT = 6; // 0x6
+    field public static final int PROCESS_CAPABILITY_FOREGROUND_CAMERA = 2; // 0x2
+    field public static final int PROCESS_CAPABILITY_FOREGROUND_LOCATION = 1; // 0x1
+    field public static final int PROCESS_CAPABILITY_FOREGROUND_MICROPHONE = 4; // 0x4
+    field public static final int PROCESS_CAPABILITY_NETWORK = 8; // 0x8
+    field public static final int PROCESS_CAPABILITY_NONE = 0; // 0x0
+    field public static final int PROCESS_STATE_FOREGROUND_SERVICE = 4; // 0x4
+    field public static final int PROCESS_STATE_TOP = 2; // 0x2
+    field public static final int STOP_USER_ON_SWITCH_DEFAULT = -1; // 0xffffffff
+    field public static final int STOP_USER_ON_SWITCH_FALSE = 0; // 0x0
+    field public static final int STOP_USER_ON_SWITCH_TRUE = 1; // 0x1
+  }
+
+  public static class ActivityManager.RunningAppProcessInfo implements android.os.Parcelable {
+    field public static final int IMPORTANCE_CANT_SAVE_STATE_PRE_26 = 170; // 0xaa
+  }
+
+  public static class ActivityManager.TaskDescription implements android.os.Parcelable {
+    method public String getIconFilename();
+    method public int getIconResource();
+    method @Nullable public String getIconResourcePackage();
+  }
+
+  public class ActivityOptions {
+    method @NonNull public static android.app.ActivityOptions makeCustomAnimation(@NonNull android.content.Context, int, int, @Nullable android.os.Handler, @Nullable android.app.ActivityOptions.OnAnimationStartedListener, @Nullable android.app.ActivityOptions.OnAnimationFinishedListener);
+    method @NonNull @RequiresPermission(android.Manifest.permission.START_TASKS_FROM_RECENTS) public static android.app.ActivityOptions makeCustomTaskAnimation(@NonNull android.content.Context, int, int, @Nullable android.os.Handler, @Nullable android.app.ActivityOptions.OnAnimationStartedListener, @Nullable android.app.ActivityOptions.OnAnimationFinishedListener);
+    method public static void setExitTransitionTimeout(long);
+    method public void setLaunchActivityType(int);
+    method public void setLaunchWindowingMode(int);
+    method public void setLaunchedFromBubble(boolean);
+    method public void setTaskAlwaysOnTop(boolean);
+    method public void setTaskOverlay(boolean, boolean);
+  }
+
+  public static interface ActivityOptions.OnAnimationFinishedListener {
+    method public void onAnimationFinished();
+  }
+
+  public static interface ActivityOptions.OnAnimationStartedListener {
+    method public void onAnimationStarted();
+  }
+
+  public class ActivityTaskManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void clearLaunchParamsForPackages(java.util.List<java.lang.String>);
+    method public static boolean currentUiModeSupportsErrorDialogs(@NonNull android.content.Context);
+    method public static int getMaxNumPictureInPictureActions(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void moveTaskToRootTask(int, int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void removeRootTasksInWindowingModes(@NonNull int[]);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void removeRootTasksWithActivityTypes(@NonNull int[]);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public boolean removeTask(int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void resizeTask(int, android.graphics.Rect);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void startSystemLockTaskMode(int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void stopSystemLockTaskMode();
+    method public static boolean supportsMultiWindow(android.content.Context);
+    method public static boolean supportsSplitScreenMultiWindow(android.content.Context);
+    field public static final int DEFAULT_MINIMAL_SPLIT_SCREEN_DISPLAY_SIZE_DP = 440; // 0x1b8
+    field public static final int INVALID_STACK_ID = -1; // 0xffffffff
+  }
+
+  public class AlarmManager {
+    method public boolean hasScheduleExactAlarm(@NonNull String, int);
+  }
+
+  public class AppDetailsActivity extends android.app.Activity {
+    ctor public AppDetailsActivity();
+  }
+
+  public class AppOpsManager {
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void addHistoricalOps(@NonNull android.app.AppOpsManager.HistoricalOps);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void clearHistory();
+    method public static void collectNotedOpSync(@NonNull android.app.SyncNotedAppOp);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void getHistoricalOpsFromDiskRaw(@NonNull android.app.AppOpsManager.HistoricalOpsRequest, @Nullable java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.AppOpsManager.HistoricalOps>);
+    method public static int getNumOps();
+    method public boolean isOperationActive(int, int, String);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void offsetHistory(long);
+    method public static String opToPermission(int);
+    method public static int permissionToOpCode(String);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void rebootHistory(long);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void reloadNonHistoricalState();
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void resetHistoryParameters();
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void resetPackageOpsNoHistory(@NonNull String);
+    method @RequiresPermission("android.permission.MANAGE_APPOPS") public void setHistoryParameters(int, long, int);
+    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(int, int, String, int);
+    method public static int strOpToOp(@NonNull String);
+    field public static final int ATTRIBUTION_CHAIN_ID_NONE = -1; // 0xffffffff
+    field public static final int ATTRIBUTION_FLAGS_NONE = 0; // 0x0
+    field public static final int ATTRIBUTION_FLAG_ACCESSOR = 1; // 0x1
+    field public static final int ATTRIBUTION_FLAG_INTERMEDIARY = 2; // 0x2
+    field public static final int ATTRIBUTION_FLAG_RECEIVER = 4; // 0x4
+    field public static final int HISTORICAL_MODE_DISABLED = 0; // 0x0
+    field public static final int HISTORICAL_MODE_ENABLED_ACTIVE = 1; // 0x1
+    field public static final int HISTORICAL_MODE_ENABLED_PASSIVE = 2; // 0x2
+    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
+    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
+    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
+    field public static final String KEY_BG_STATE_SETTLE_TIME = "bg_state_settle_time";
+    field public static final String KEY_FG_SERVICE_STATE_SETTLE_TIME = "fg_service_state_settle_time";
+    field public static final String KEY_TOP_STATE_SETTLE_TIME = "top_state_settle_time";
+    field public static final String OPSTR_ACTIVITY_RECOGNITION = "android:activity_recognition";
+    field public static final String OPSTR_ACTIVITY_RECOGNITION_SOURCE = "android:activity_recognition_source";
+    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
+    field public static final String OPSTR_RECORD_AUDIO_HOTWORD = "android:record_audio_hotword";
+    field public static final String OPSTR_USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER = "android:use_icc_auth_with_device_identifier";
+    field public static final int OP_COARSE_LOCATION = 0; // 0x0
+    field public static final int OP_RECORD_AUDIO = 27; // 0x1b
+    field public static final int OP_START_FOREGROUND = 76; // 0x4c
+    field public static final int OP_SYSTEM_ALERT_WINDOW = 24; // 0x18
+    field public static final long SECURITY_EXCEPTION_ON_INVALID_ATTRIBUTION_TAG_CHANGE = 151105954L; // 0x901b1a2L
+  }
+
+  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
+    ctor public AppOpsManager.HistoricalOps(long, long);
+    method public void addDiscreteAccess(int, int, @NonNull String, @Nullable String, int, int, long, long);
+    method public void increaseAccessCount(int, int, @NonNull String, @Nullable String, int, int, long);
+    method public void increaseAccessDuration(int, int, @NonNull String, @Nullable String, int, int, long);
+    method public void increaseRejectCount(int, int, @NonNull String, @Nullable String, int, int, long);
+    method public void offsetBeginAndEndTime(long);
+  }
+
+  public static interface AppOpsManager.OnOpActiveChangedListener {
+    method public default void onOpActiveChanged(@NonNull String, int, @NonNull String, @Nullable String, boolean, int, int);
+  }
+
+  public class BroadcastOptions {
+    ctor public BroadcastOptions(@NonNull android.os.Bundle);
+    method public int getMaxManifestReceiverApiLevel();
+    method public long getTemporaryAppAllowlistDuration();
+    method @Nullable public String getTemporaryAppAllowlistReason();
+    method public int getTemporaryAppAllowlistReasonCode();
+    method public int getTemporaryAppAllowlistType();
+    method public void setMaxManifestReceiverApiLevel(int);
+  }
+
+  public class DownloadManager {
+    field public static final String COLUMN_MEDIASTORE_URI = "mediastore_uri";
+  }
+
+  public class DreamManager {
+    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isDreaming();
+    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void setActiveDream(@NonNull android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void startDream(@NonNull android.content.ComponentName);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void stopDream();
+  }
+
+  public final class GameManager {
+    method @RequiresPermission("android.permission.MANAGE_GAME_MODE") public void setGameMode(@NonNull String, int);
+  }
+
+  public abstract class HomeVisibilityListener {
+    ctor public HomeVisibilityListener();
+    method public abstract void onHomeVisibilityChanged(boolean);
+  }
+
+  public class KeyguardManager {
+    method @RequiresPermission(anyOf={android.Manifest.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS, "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"}) public boolean checkLock(int, @Nullable byte[]);
+    method @RequiresPermission(anyOf={android.Manifest.permission.SET_AND_VERIFY_LOCKSCREEN_CREDENTIALS, "android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"}) public boolean setLock(int, @Nullable byte[], int, @Nullable byte[]);
+  }
+
+  public class Notification implements android.os.Parcelable {
+    method public boolean shouldShowForegroundImmediately();
+  }
+
+  public final class NotificationChannel implements android.os.Parcelable {
+    method public int getOriginalImportance();
+    method public boolean isBlockable();
+    method public boolean isImportanceLockedByCriticalDeviceFunction();
+    method public boolean isImportanceLockedByOEM();
+    method public void lockFields(int);
+    method public void setDeleted(boolean);
+    method public void setDeletedTimeMs(long);
+    method public void setDemoted(boolean);
+    method public void setFgServiceShown(boolean);
+    method public void setImportanceLockedByCriticalDeviceFunction(boolean);
+    method public void setImportanceLockedByOEM(boolean);
+    method public void setImportantConversation(boolean);
+    method public void setOriginalImportance(int);
+  }
+
+  public final class NotificationChannelGroup implements android.os.Parcelable {
+    method public int getUserLockedFields();
+    method public void lockFields(int);
+    method public void setBlocked(boolean);
+  }
+
+  public class NotificationManager {
+    method public void allowAssistantAdjustment(String);
+    method public void disallowAssistantAdjustment(String);
+    method public android.content.ComponentName getEffectsSuppressor();
+    method public boolean isNotificationPolicyAccessGrantedForPackage(@NonNull String);
+    method public boolean matchesCallFilter(android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_TOAST_RATE_LIMITING) public void setToastRateLimitingEnabled(boolean);
+    method public void updateNotificationChannel(@NonNull String, int, @NonNull android.app.NotificationChannel);
+  }
+
+  public final class PendingIntent implements android.os.Parcelable {
+    method @RequiresPermission("android.permission.GET_INTENT_SENDER_INTENT") public boolean intentFilterEquals(@Nullable android.app.PendingIntent);
+    method @NonNull @RequiresPermission("android.permission.GET_INTENT_SENDER_INTENT") public java.util.List<android.content.pm.ResolveInfo> queryIntentComponents(int);
+    field @Deprecated public static final int FLAG_MUTABLE_UNAUDITED = 33554432; // 0x2000000
+  }
+
+  public final class PictureInPictureParams implements android.os.Parcelable {
+    method public java.util.List<android.app.RemoteAction> getActions();
+    method public float getAspectRatio();
+    method public android.graphics.Rect getSourceRectHint();
+    method public boolean isSeamlessResizeEnabled();
+  }
+
+  public final class PictureInPictureUiState implements android.os.Parcelable {
+    ctor public PictureInPictureUiState(boolean);
+  }
+
+  public class StatusBarManager {
+    method public void clickNotification(@Nullable String, int, int, boolean);
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void collapsePanels();
+    method public void expandNotificationsPanel();
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void handleSystemKey(int);
+    method public void sendNotificationFeedback(@Nullable String, @Nullable android.os.Bundle);
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setExpansionDisabledForSimNetworkLock(boolean);
+    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void togglePanel();
+  }
+
+  public final class SyncNotedAppOp implements android.os.Parcelable {
+    ctor public SyncNotedAppOp(int, @IntRange(from=0L) int, @Nullable String, @NonNull String);
+  }
+
+  public class TaskInfo {
+    method public boolean containsLaunchCookie(@NonNull android.os.IBinder);
+    method @NonNull public android.content.res.Configuration getConfiguration();
+    method public int getParentTaskId();
+    method @Nullable public android.app.PictureInPictureParams getPictureInPictureParams();
+    method @NonNull public android.window.WindowContainerToken getToken();
+    method public boolean hasParentTask();
+  }
+
+  public class TimePickerDialog extends android.app.AlertDialog implements android.content.DialogInterface.OnClickListener android.widget.TimePicker.OnTimeChangedListener {
+    method public android.widget.TimePicker getTimePicker();
+  }
+
+  public final class UiAutomation {
+    method public void destroy();
+    method @NonNull public android.os.ParcelFileDescriptor[] executeShellCommandRwe(@NonNull String);
+    method @NonNull public java.util.Set<java.lang.String> getAdoptedShellPermissions();
+    method @Deprecated public boolean grantRuntimePermission(String, String, android.os.UserHandle);
+    method public boolean injectInputEvent(@NonNull android.view.InputEvent, boolean, boolean);
+    method @Deprecated public boolean revokeRuntimePermission(String, String, android.os.UserHandle);
+    method public void syncInputTransactions();
+    method public void syncInputTransactions(boolean);
+    method @Nullable public android.graphics.Bitmap takeScreenshot(@NonNull android.view.Window);
+    field @NonNull public static final java.util.Set<java.lang.String> ALL_PERMISSIONS;
+  }
+
+  public class UiModeManager {
+    method public boolean isNightModeLocked();
+    method public boolean isUiModeLocked();
+    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
+    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
+    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
+    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
+    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
+  }
+
+  public class WallpaperManager {
+    method @Nullable public android.graphics.Bitmap getBitmap();
+    method public boolean shouldEnableWideColorGamut();
+    method @RequiresPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE) public boolean wallpaperSupportsWcg(int);
+  }
+
+  public class WindowConfiguration implements java.lang.Comparable<android.app.WindowConfiguration> android.os.Parcelable {
+    ctor public WindowConfiguration();
+    method public int compareTo(android.app.WindowConfiguration);
+    method public int describeContents();
+    method public int getActivityType();
+    method public android.graphics.Rect getAppBounds();
+    method public android.graphics.Rect getBounds();
+    method @NonNull public android.graphics.Rect getMaxBounds();
+    method public int getRotation();
+    method public int getWindowingMode();
+    method public void setActivityType(int);
+    method public void setAppBounds(android.graphics.Rect);
+    method public void setBounds(android.graphics.Rect);
+    method public void setMaxBounds(@Nullable android.graphics.Rect);
+    method public void setRotation(int);
+    method public void setTo(android.app.WindowConfiguration);
+    method public void setWindowingMode(int);
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final int ACTIVITY_TYPE_ASSISTANT = 4; // 0x4
+    field public static final int ACTIVITY_TYPE_DREAM = 5; // 0x5
+    field public static final int ACTIVITY_TYPE_HOME = 2; // 0x2
+    field public static final int ACTIVITY_TYPE_RECENTS = 3; // 0x3
+    field public static final int ACTIVITY_TYPE_STANDARD = 1; // 0x1
+    field public static final int ACTIVITY_TYPE_UNDEFINED = 0; // 0x0
+    field public static final int ROTATION_UNDEFINED = -1; // 0xffffffff
+    field public static final int WINDOWING_MODE_FREEFORM = 5; // 0x5
+    field public static final int WINDOWING_MODE_FULLSCREEN = 1; // 0x1
+    field public static final int WINDOWING_MODE_MULTI_WINDOW = 6; // 0x6
+    field public static final int WINDOWING_MODE_PINNED = 2; // 0x2
+    field public static final int WINDOWING_MODE_SPLIT_SCREEN_PRIMARY = 3; // 0x3
+    field public static final int WINDOWING_MODE_SPLIT_SCREEN_SECONDARY = 4; // 0x4
+    field public static final int WINDOWING_MODE_UNDEFINED = 0; // 0x0
+  }
+
+}
+
+package android.app.admin {
+
+  public class DevicePolicyManager {
+    method public int checkProvisioningPreCondition(@Nullable String, @NonNull String);
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void clearOrganizationId();
+    method @RequiresPermission(android.Manifest.permission.CLEAR_FREEZE_PERIOD) public void clearSystemUpdatePolicyFreezePeriodRecord();
+    method @Nullable public android.os.UserHandle createAndProvisionManagedProfile(@NonNull android.app.admin.ManagedProfileProvisioningParams) throws android.app.admin.ProvisioningException;
+    method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceNetworkLogs();
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void forceRemoveActiveAdmin(@NonNull android.content.ComponentName, int);
+    method @RequiresPermission(android.Manifest.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS) public long forceSecurityLogs();
+    method public void forceUpdateUserSetupComplete(int);
+    method @NonNull public java.util.Set<java.lang.String> getDefaultCrossProfilePackages();
+    method @NonNull public java.util.Set<java.lang.String> getDisallowedSystemApps(@NonNull android.content.ComponentName, int, @NonNull String);
+    method public long getLastBugReportRequestTime();
+    method public long getLastNetworkLogRetrievalTime();
+    method public long getLastSecurityLogRetrievalTime();
+    method public java.util.List<java.lang.String> getOwnerInstalledCaCerts(@NonNull android.os.UserHandle);
+    method @NonNull @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public java.util.Set<java.lang.String> getPolicyExemptApps();
+    method public boolean isCurrentInputMethodSetByOwner();
+    method public boolean isFactoryResetProtectionPolicySupported();
+    method @RequiresPermission(anyOf={"android.permission.MARK_DEVICE_ORGANIZATION_OWNED", "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"}, conditional=true) public void markProfileOwnerOnOrganizationOwnedDevice(@NonNull android.content.ComponentName);
+    method @NonNull public static String operationSafetyReasonToString(int);
+    method @NonNull public static String operationToString(int);
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void provisionFullyManagedDevice(@NonNull android.app.admin.FullyManagedDeviceProvisioningParams) throws android.app.admin.ProvisioningException;
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public void resetDefaultCrossProfileIntentFilters(int);
+    method @RequiresPermission(allOf={"android.permission.MANAGE_DEVICE_ADMINS", android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public void setActiveAdmin(@NonNull android.content.ComponentName, boolean, int);
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public boolean setDeviceOwner(@NonNull android.content.ComponentName, @Nullable String, int);
+    method @RequiresPermission("android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS") public boolean setDeviceOwnerOnly(@NonNull android.content.ComponentName, @Nullable String, int);
+    method @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public void setNextOperationSafety(int, int);
+    field public static final String ACTION_DATA_SHARING_RESTRICTION_APPLIED = "android.app.action.DATA_SHARING_RESTRICTION_APPLIED";
+    field public static final String ACTION_DEVICE_POLICY_CONSTANTS_CHANGED = "android.app.action.DEVICE_POLICY_CONSTANTS_CHANGED";
+    field public static final int CODE_ACCOUNTS_NOT_EMPTY = 6; // 0x6
+    field public static final int CODE_CANNOT_ADD_MANAGED_PROFILE = 11; // 0xb
+    field public static final int CODE_DEVICE_ADMIN_NOT_SUPPORTED = 13; // 0xd
+    field public static final int CODE_HAS_DEVICE_OWNER = 1; // 0x1
+    field public static final int CODE_HAS_PAIRED = 8; // 0x8
+    field public static final int CODE_MANAGED_USERS_NOT_SUPPORTED = 9; // 0x9
+    field public static final int CODE_NONSYSTEM_USER_EXISTS = 5; // 0x5
+    field public static final int CODE_NOT_SYSTEM_USER = 7; // 0x7
+    field @Deprecated public static final int CODE_NOT_SYSTEM_USER_SPLIT = 12; // 0xc
+    field public static final int CODE_OK = 0; // 0x0
+    field public static final int CODE_PROVISIONING_NOT_ALLOWED_FOR_NON_DEVELOPER_USERS = 15; // 0xf
+    field @Deprecated public static final int CODE_SPLIT_SYSTEM_USER_DEVICE_SYSTEM_USER = 14; // 0xe
+    field public static final int CODE_SYSTEM_USER = 10; // 0xa
+    field public static final int CODE_USER_HAS_PROFILE_OWNER = 2; // 0x2
+    field public static final int CODE_USER_NOT_RUNNING = 3; // 0x3
+    field public static final int CODE_USER_SETUP_COMPLETED = 4; // 0x4
+    field public static final int OPERATION_CLEAR_APPLICATION_USER_DATA = 23; // 0x17
+    field public static final int OPERATION_CREATE_AND_MANAGE_USER = 5; // 0x5
+    field public static final int OPERATION_INSTALL_CA_CERT = 24; // 0x18
+    field public static final int OPERATION_INSTALL_KEY_PAIR = 25; // 0x19
+    field public static final int OPERATION_INSTALL_SYSTEM_UPDATE = 26; // 0x1a
+    field public static final int OPERATION_LOCK_NOW = 1; // 0x1
+    field public static final int OPERATION_LOGOUT_USER = 9; // 0x9
+    field public static final int OPERATION_REBOOT = 7; // 0x7
+    field public static final int OPERATION_REMOVE_ACTIVE_ADMIN = 27; // 0x1b
+    field public static final int OPERATION_REMOVE_KEY_PAIR = 28; // 0x1c
+    field public static final int OPERATION_REMOVE_USER = 6; // 0x6
+    field public static final int OPERATION_REQUEST_BUGREPORT = 29; // 0x1d
+    field public static final int OPERATION_SAFETY_REASON_NONE = -1; // 0xffffffff
+    field public static final int OPERATION_SET_ALWAYS_ON_VPN_PACKAGE = 30; // 0x1e
+    field public static final int OPERATION_SET_APPLICATION_HIDDEN = 15; // 0xf
+    field public static final int OPERATION_SET_APPLICATION_RESTRICTIONS = 16; // 0x10
+    field public static final int OPERATION_SET_CAMERA_DISABLED = 31; // 0x1f
+    field public static final int OPERATION_SET_FACTORY_RESET_PROTECTION_POLICY = 32; // 0x20
+    field public static final int OPERATION_SET_GLOBAL_PRIVATE_DNS = 33; // 0x21
+    field public static final int OPERATION_SET_KEEP_UNINSTALLED_PACKAGES = 17; // 0x11
+    field public static final int OPERATION_SET_KEYGUARD_DISABLED = 12; // 0xc
+    field public static final int OPERATION_SET_LOCK_TASK_FEATURES = 18; // 0x12
+    field public static final int OPERATION_SET_LOCK_TASK_PACKAGES = 19; // 0x13
+    field public static final int OPERATION_SET_LOGOUT_ENABLED = 34; // 0x22
+    field public static final int OPERATION_SET_MASTER_VOLUME_MUTED = 35; // 0x23
+    field public static final int OPERATION_SET_OVERRIDE_APNS_ENABLED = 36; // 0x24
+    field public static final int OPERATION_SET_PACKAGES_SUSPENDED = 20; // 0x14
+    field public static final int OPERATION_SET_PERMISSION_GRANT_STATE = 37; // 0x25
+    field public static final int OPERATION_SET_PERMISSION_POLICY = 38; // 0x26
+    field public static final int OPERATION_SET_RESTRICTIONS_PROVIDER = 39; // 0x27
+    field public static final int OPERATION_SET_STATUS_BAR_DISABLED = 13; // 0xd
+    field public static final int OPERATION_SET_SYSTEM_SETTING = 11; // 0xb
+    field public static final int OPERATION_SET_SYSTEM_UPDATE_POLICY = 14; // 0xe
+    field public static final int OPERATION_SET_TRUST_AGENT_CONFIGURATION = 21; // 0x15
+    field public static final int OPERATION_SET_USER_CONTROL_DISABLED_PACKAGES = 22; // 0x16
+    field public static final int OPERATION_SET_USER_RESTRICTION = 10; // 0xa
+    field public static final int OPERATION_START_USER_IN_BACKGROUND = 3; // 0x3
+    field public static final int OPERATION_STOP_USER = 4; // 0x4
+    field public static final int OPERATION_SWITCH_USER = 2; // 0x2
+    field public static final int OPERATION_UNINSTALL_CA_CERT = 40; // 0x28
+    field public static final int OPERATION_WIPE_DATA = 8; // 0x8
+    field public static final int PROVISIONING_RESULT_ADMIN_PACKAGE_INSTALLATION_FAILED = 3; // 0x3
+    field public static final int PROVISIONING_RESULT_PRE_CONDITION_FAILED = 1; // 0x1
+    field public static final int PROVISIONING_RESULT_PROFILE_CREATION_FAILED = 2; // 0x2
+    field public static final int PROVISIONING_RESULT_REMOVE_NON_REQUIRED_APPS_FAILED = 6; // 0x6
+    field public static final int PROVISIONING_RESULT_SETTING_PROFILE_OWNER_FAILED = 4; // 0x4
+    field public static final int PROVISIONING_RESULT_SET_DEVICE_OWNER_FAILED = 7; // 0x7
+    field public static final int PROVISIONING_RESULT_STARTING_PROFILE_FAILED = 5; // 0x5
+  }
+
+  public final class FullyManagedDeviceProvisioningParams implements android.os.Parcelable {
+    method public boolean canDeviceOwnerGrantSensorsPermissions();
+    method public int describeContents();
+    method @NonNull public android.content.ComponentName getDeviceAdminComponentName();
+    method public long getLocalTime();
+    method @Nullable public java.util.Locale getLocale();
+    method @NonNull public String getOwnerName();
+    method @Nullable public String getTimeZone();
+    method public boolean isLeaveAllSystemAppsEnabled();
+    method public void logParams(@NonNull String);
+    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FullyManagedDeviceProvisioningParams> CREATOR;
+  }
+
+  public static final class FullyManagedDeviceProvisioningParams.Builder {
+    ctor public FullyManagedDeviceProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams build();
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setDeviceOwnerCanGrantSensorsPermissions(boolean);
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocalTime(long);
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocale(@Nullable java.util.Locale);
+    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setTimeZone(@Nullable String);
+  }
+
+  public final class ManagedProfileProvisioningParams implements android.os.Parcelable {
+    method public int describeContents();
+    method @Nullable public android.accounts.Account getAccountToMigrate();
+    method @NonNull public String getOwnerName();
+    method @NonNull public android.content.ComponentName getProfileAdminComponentName();
+    method @Nullable public String getProfileName();
+    method public boolean isKeepAccountMigrated();
+    method public boolean isLeaveAllSystemAppsEnabled();
+    method public boolean isOrganizationOwnedProvisioning();
+    method public void logParams(@NonNull String);
+    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ManagedProfileProvisioningParams> CREATOR;
+  }
+
+  public static final class ManagedProfileProvisioningParams.Builder {
+    ctor public ManagedProfileProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams build();
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAccountToMigrate(@Nullable android.accounts.Account);
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setKeepAccountMigrated(boolean);
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setOrganizationOwnedProvisioning(boolean);
+    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setProfileName(@Nullable String);
+  }
+
+  public class ProvisioningException extends android.util.AndroidException {
+    ctor public ProvisioningException(@NonNull Exception, int);
+    method public int getProvisioningResult();
+  }
+
+  public static final class SecurityLog.SecurityEvent implements android.os.Parcelable {
+    ctor public SecurityLog.SecurityEvent(long, byte[]);
+  }
+
+  public final class UnsafeStateException extends java.lang.IllegalStateException implements android.os.Parcelable {
+    ctor public UnsafeStateException(int, int);
+    method public int getOperation();
+  }
+
+}
+
+package android.app.assist {
+
+  public class ActivityId {
+    method public int getTaskId();
+    method @Nullable public android.os.IBinder getToken();
+  }
+
+}
+
+package android.app.blob {
+
+  public class BlobStoreManager {
+    method @Nullable public android.app.blob.LeaseInfo getLeaseInfo(@NonNull android.app.blob.BlobHandle) throws java.io.IOException;
+    method public void waitForIdle(long) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
+  }
+
+  public final class LeaseInfo implements android.os.Parcelable {
+    ctor public LeaseInfo(@NonNull String, long, @IdRes int, @Nullable CharSequence);
+    method public int describeContents();
+    method @Nullable public CharSequence getDescription();
+    method @IdRes public int getDescriptionResId();
+    method public long getExpiryTimeMillis();
+    method @NonNull public String getPackageName();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.app.blob.LeaseInfo> CREATOR;
+  }
+
+}
+
+package android.app.contentsuggestions {
+
+  public final class ContentSuggestionsManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_SUGGESTIONS) public void resetTemporaryService(int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_SUGGESTIONS) public void setDefaultServiceEnabled(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_SUGGESTIONS) public void setTemporaryService(int, @NonNull String, int);
+  }
+
+}
+
+package android.app.prediction {
+
+  public final class AppPredictor {
+    method public android.app.prediction.AppPredictionSessionId getSessionId();
+  }
+
+}
+
+package android.app.usage {
+
+  public class NetworkStatsManager {
+    method public void setPollForce(boolean);
+  }
+
+  public class StorageStatsManager {
+    method public boolean isQuotaSupported(@NonNull java.util.UUID);
+    method public boolean isReservedSupported(@NonNull java.util.UUID);
+    method @NonNull @WorkerThread public java.util.Collection<android.os.storage.CrateInfo> queryCratesForPackage(@NonNull java.util.UUID, @NonNull String, @NonNull android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @WorkerThread public java.util.Collection<android.os.storage.CrateInfo> queryCratesForUid(@NonNull java.util.UUID, int) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_CRATES) @WorkerThread public java.util.Collection<android.os.storage.CrateInfo> queryCratesForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle) throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+  }
+
+  public final class UsageStats implements android.os.Parcelable {
+    ctor public UsageStats();
+  }
+
+  public static final class UsageStats.Builder {
+    ctor public UsageStats.Builder();
+    method @NonNull public android.app.usage.UsageStats build();
+    method @NonNull public android.app.usage.UsageStats.Builder setFirstTimeStamp(long);
+    method @NonNull public android.app.usage.UsageStats.Builder setLastTimeStamp(long);
+    method @NonNull public android.app.usage.UsageStats.Builder setLastTimeUsed(long);
+    method @NonNull public android.app.usage.UsageStats.Builder setPackageName(@Nullable String);
+    method @NonNull public android.app.usage.UsageStats.Builder setTotalTimeInForeground(long);
+  }
+
+  public final class UsageStatsManager {
+    method public void forceUsageSourceSettingRead();
+  }
+
+}
+
+package android.appwidget {
+
+  public class AppWidgetManager {
+    method public void setBindAppWidgetPermission(@NonNull String, int, boolean);
+  }
+
+}
+
+package android.bluetooth {
+
+  public final class BluetoothClass implements android.os.Parcelable {
+    method public int getClassOfDevice();
+  }
+
+}
+
+package android.content {
+
+  public final class AttributionSource implements android.os.Parcelable {
+    ctor public AttributionSource(int, @Nullable String, @Nullable String);
+    ctor public AttributionSource(int, @Nullable String, @Nullable String, @NonNull android.os.IBinder);
+    ctor public AttributionSource(int, @Nullable String, @Nullable String, @Nullable java.util.Set<java.lang.String>, @Nullable android.content.AttributionSource);
+  }
+
+  public final class AutofillOptions implements android.os.Parcelable {
+    ctor public AutofillOptions(int, boolean);
+    method public int describeContents();
+    method public static android.content.AutofillOptions forWhitelistingItself();
+    method public boolean isAugmentedAutofillEnabled(@NonNull android.content.Context);
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.AutofillOptions> CREATOR;
+    field public long appDisabledExpiration;
+    field public boolean augmentedAutofillEnabled;
+    field public final boolean compatModeEnabled;
+    field @Nullable public android.util.ArrayMap<java.lang.String,java.lang.Long> disabledActivities;
+    field public final int loggingLevel;
+    field @Nullable public android.util.ArraySet<android.content.ComponentName> whitelistedActivitiesForAugmentedAutofill;
+  }
+
+  public class ClipboardManager extends android.text.ClipboardManager {
+    method @Nullable @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public String getPrimaryClipSource();
+  }
+
+  public final class ContentCaptureOptions implements android.os.Parcelable {
+    ctor public ContentCaptureOptions(int);
+    ctor public ContentCaptureOptions(int, int, int, int, int, @Nullable android.util.ArraySet<android.content.ComponentName>);
+    method public int describeContents();
+    method public static android.content.ContentCaptureOptions forWhitelistingItself();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentCaptureOptions> CREATOR;
+    field public final int idleFlushingFrequencyMs;
+    field public final boolean lite;
+    field public final int logHistorySize;
+    field public final int loggingLevel;
+    field public final int maxBufferSize;
+    field public final int textChangeFlushingFrequencyMs;
+    field @Nullable public final android.util.ArraySet<android.content.ComponentName> whitelistedComponents;
+  }
+
+  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
+    method @NonNull public static android.os.UserHandle getUserHandleFromUri(@NonNull android.net.Uri);
+  }
+
+  public abstract class ContentResolver {
+    method public static String[] getSyncAdapterPackagesForAuthorityAsUser(String, int);
+  }
+
+  public abstract class Context {
+    method @NonNull public java.io.File getCrateDir(@NonNull String);
+    method public abstract int getDisplayId();
+    method @NonNull public android.os.UserHandle getUser();
+    method public int getUserId();
+    method public void setAutofillOptions(@Nullable android.content.AutofillOptions);
+    method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions);
+    field public static final String CONTENT_CAPTURE_MANAGER_SERVICE = "content_capture";
+    field public static final String DEVICE_IDLE_CONTROLLER = "deviceidle";
+    field public static final String DREAM_SERVICE = "dream";
+    field public static final String FONT_SERVICE = "font";
+    field public static final String POWER_EXEMPTION_SERVICE = "power_exemption";
+    field @Deprecated public static final String POWER_WHITELIST_MANAGER = "power_whitelist";
+    field public static final String TEST_NETWORK_SERVICE = "test_network";
+  }
+
+  public class ContextWrapper extends android.content.Context {
+    method public int getDisplayId();
+  }
+
+  public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    field public static final String ACTION_USER_STOPPED = "android.intent.action.USER_STOPPED";
+  }
+
+  public class SyncAdapterType implements android.os.Parcelable {
+    method @Nullable public String getPackageName();
+  }
+
+}
+
+package android.content.integrity {
+
+  public class AppIntegrityManager {
+    method @NonNull public android.content.integrity.RuleSet getCurrentRuleSet();
+    method @NonNull public java.util.List<java.lang.String> getWhitelistedRuleProviders();
+  }
+
+}
+
+package android.content.pm {
+
+  public class ActivityInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
+    method public static boolean isTranslucentOrFloating(android.content.res.TypedArray);
+    field public static final long ALWAYS_SANDBOX_DISPLAY_APIS = 185004937L; // 0xb06f389L
+    field public static final long FORCE_NON_RESIZE_APP = 181136395L; // 0xacbec0bL
+    field public static final long FORCE_RESIZE_APP = 174042936L; // 0xa5faf38L
+    field public static final long NEVER_SANDBOX_DISPLAY_APIS = 184838306L; // 0xb0468a2L
+    field public static final long OVERRIDE_MIN_ASPECT_RATIO = 174042980L; // 0xa5faf64L
+    field public static final long OVERRIDE_MIN_ASPECT_RATIO_LARGE = 180326787L; // 0xabf9183L
+    field public static final float OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE = 1.7777778f;
+    field public static final long OVERRIDE_MIN_ASPECT_RATIO_MEDIUM = 180326845L; // 0xabf91bdL
+    field public static final float OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE = 1.5f;
+    field public static final long OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY = 203647190L; // 0xc2368d6L
+    field public static final int RESIZE_MODE_RESIZEABLE = 2; // 0x2
+  }
+
+  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    method public boolean hasRequestForegroundServiceExemption();
+    method public boolean isPrivilegedApp();
+    method public boolean isSystemApp();
+    field public static final int PRIVATE_FLAG_PRIVILEGED = 8; // 0x8
+    field public int privateFlags;
+  }
+
+  public class CrossProfileApps {
+    method public boolean canConfigureInteractAcrossProfiles(@NonNull String);
+  }
+
+  public class LauncherApps {
+    ctor public LauncherApps(android.content.Context);
+  }
+
+  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
+    method public void setInstallFlagAllowTest();
+    method public void setInstallerPackageName(@Nullable String);
+  }
+
+  public abstract class PackageManager {
+    method @Nullable public String getContentCaptureServicePackageName();
+    method @Nullable public String getDefaultTextClassifierPackageName();
+    method @RequiresPermission(android.Manifest.permission.INJECT_EVENTS) public android.os.IBinder getHoldLockToken();
+    method public abstract int getInstallReason(@NonNull String, @NonNull android.os.UserHandle);
+    method @NonNull public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplicationsAsUser(int, int);
+    method @Nullable public abstract String[] getNamesForUids(int[]);
+    method @NonNull public String getPermissionControllerPackageName();
+    method @NonNull public abstract String getServicesSystemSharedLibraryPackageName();
+    method @NonNull public abstract String getSharedSystemSharedLibraryPackageName();
+    method @Nullable public String getSystemTextClassifierPackageName();
+    method @Nullable public String getWellbeingPackageName();
+    method public void holdLock(android.os.IBinder, int);
+    method @RequiresPermission(android.Manifest.permission.KEEP_UNINSTALLED_PACKAGES) public void setKeepUninstalledPackages(@NonNull java.util.List<java.lang.String>);
+    field public static final String FEATURE_ADOPTABLE_STORAGE = "android.software.adoptable_storage";
+    field public static final String FEATURE_FILE_BASED_ENCRYPTION = "android.software.file_based_encryption";
+    field public static final String FEATURE_HDMI_CEC = "android.hardware.hdmi.cec";
+    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
+    field public static final int MATCH_KNOWN_PACKAGES = 4202496; // 0x402000
+    field public static final String SYSTEM_SHARED_LIBRARY_SERVICES = "android.ext.services";
+    field public static final String SYSTEM_SHARED_LIBRARY_SHARED = "android.ext.shared";
+  }
+
+  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
+    field public static final int PROTECTION_FLAG_VENDOR_PRIVILEGED = 32768; // 0x8000
+  }
+
+  public final class ProviderInfoList implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public static android.content.pm.ProviderInfoList fromList(@NonNull java.util.List<android.content.pm.ProviderInfo>);
+    method @NonNull public java.util.List<android.content.pm.ProviderInfo> getList();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ProviderInfoList> CREATOR;
+  }
+
+  public final class SharedLibraryInfo implements android.os.Parcelable {
+    method @NonNull public java.util.List<java.lang.String> getAllCodePaths();
+    method public boolean isNative();
+  }
+
+  public final class ShortcutInfo implements android.os.Parcelable {
+    method public boolean isVisibleToPublisher();
+  }
+
+  public class ShortcutManager {
+    ctor public ShortcutManager(android.content.Context);
+  }
+
+  public class UserInfo implements android.os.Parcelable {
+    ctor public UserInfo(int, String, int);
+    ctor public UserInfo(int, String, String, int);
+    ctor public UserInfo(int, String, String, int, String);
+    ctor @Deprecated public UserInfo();
+    ctor public UserInfo(android.content.pm.UserInfo);
+    method public boolean canHaveProfile();
+    method public int describeContents();
+    method public android.os.UserHandle getUserHandle();
+    method public boolean isAdmin();
+    method public boolean isCloneProfile();
+    method public boolean isDemo();
+    method public boolean isEnabled();
+    method public boolean isEphemeral();
+    method public boolean isFull();
+    method public boolean isGuest();
+    method public boolean isInitialized();
+    method public boolean isManagedProfile();
+    method public boolean isPrimary();
+    method public boolean isProfile();
+    method public boolean isQuietModeEnabled();
+    method public boolean isRestricted();
+    method public boolean isSystemOnly();
+    method public static boolean isSystemOnly(int);
+    method public boolean supportsSwitchTo();
+    method public boolean supportsSwitchToByUser();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.UserInfo> CREATOR;
+    field public static final int FLAG_ADMIN = 2; // 0x2
+    field @Deprecated public static final int FLAG_DEMO = 512; // 0x200
+    field public static final int FLAG_DISABLED = 64; // 0x40
+    field public static final int FLAG_EPHEMERAL = 256; // 0x100
+    field public static final int FLAG_FULL = 1024; // 0x400
+    field @Deprecated public static final int FLAG_GUEST = 4; // 0x4
+    field public static final int FLAG_INITIALIZED = 16; // 0x10
+    field @Deprecated public static final int FLAG_MANAGED_PROFILE = 32; // 0x20
+    field public static final int FLAG_PRIMARY = 1; // 0x1
+    field public static final int FLAG_PROFILE = 4096; // 0x1000
+    field public static final int FLAG_QUIET_MODE = 128; // 0x80
+    field @Deprecated public static final int FLAG_RESTRICTED = 8; // 0x8
+    field public static final int FLAG_SYSTEM = 2048; // 0x800
+    field public static final int NO_PROFILE_GROUP_ID = -10000; // 0xffffd8f0
+    field public boolean convertedFromPreCreated;
+    field public long creationTime;
+    field public int flags;
+    field public boolean guestToRemove;
+    field public String iconPath;
+    field public int id;
+    field public String lastLoggedInFingerprint;
+    field public long lastLoggedInTime;
+    field public String name;
+    field public boolean partial;
+    field public boolean preCreated;
+    field public int profileBadge;
+    field public int profileGroupId;
+    field public int restrictedProfileParentId;
+    field public int serialNumber;
+    field public String userType;
+  }
+
+}
+
+package android.content.res {
+
+  public final class AssetManager implements java.lang.AutoCloseable {
+    method @NonNull public String[] getApkPaths();
+    method @Nullable public String getLastResourceResolution();
+    method @Nullable public String getOverlayablesToString(String);
+    method public void setResourceResolutionLoggingEnabled(boolean);
+  }
+
+  public final class Configuration implements java.lang.Comparable<android.content.res.Configuration> android.os.Parcelable {
+    field public int assetsSeq;
+    field public final android.app.WindowConfiguration windowConfiguration;
+  }
+
+}
+
+package android.content.rollback {
+
+  public final class RollbackManager {
+    method @RequiresPermission(android.Manifest.permission.TEST_MANAGE_ROLLBACKS) public void blockRollbackManager(long);
+    method @RequiresPermission(android.Manifest.permission.TEST_MANAGE_ROLLBACKS) public void expireRollbackForPackage(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.TEST_MANAGE_ROLLBACKS) public void reloadPersistedData();
+    field public static final String PROPERTY_ROLLBACK_LIFETIME_MILLIS = "rollback_lifetime_in_millis";
+  }
+
+}
+
+package android.database.sqlite {
+
+  public class SQLiteCompatibilityWalFlags {
+    method public static void reset();
+  }
+
+  public final class SQLiteDebug {
+    method public static void dump(android.util.Printer, String[]);
+    method public static android.database.sqlite.SQLiteDebug.PagerStats getDatabaseInfo();
+  }
+
+  public static class SQLiteDebug.DbStats {
+    ctor public SQLiteDebug.DbStats(String, long, long, int, int, int, int);
+    field public String cache;
+    field public String dbName;
+    field public long dbSize;
+    field public int lookaside;
+    field public long pageSize;
+  }
+
+  public static class SQLiteDebug.PagerStats {
+    ctor public SQLiteDebug.PagerStats();
+    field public java.util.ArrayList<android.database.sqlite.SQLiteDebug.DbStats> dbStats;
+    field public int largestMemAlloc;
+    field public int memoryUsed;
+    field public int pageCacheOverflow;
+  }
+
+  public final class SQLiteDirectCursorDriver implements android.database.sqlite.SQLiteCursorDriver {
+    ctor public SQLiteDirectCursorDriver(android.database.sqlite.SQLiteDatabase, String, String, android.os.CancellationSignal);
+    method public void cursorClosed();
+    method public void cursorDeactivated();
+    method public void cursorRequeried(android.database.Cursor);
+    method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase.CursorFactory, String[]);
+    method public void setBindArguments(String[]);
+  }
+
+  public final class SQLiteGlobal {
+    method public static String getDefaultJournalMode();
+    method public static int getDefaultPageSize();
+    method public static String getDefaultSyncMode();
+    method public static int getIdleConnectionTimeout();
+    method public static int getJournalSizeLimit();
+    method public static int getWALAutoCheckpoint();
+    method public static int getWALConnectionPoolSize();
+    method public static String getWALSyncMode();
+    method public static int releaseMemory();
+  }
+
+}
+
+package android.graphics {
+
+  public final class ImageDecoder implements java.lang.AutoCloseable {
+    method @AnyThread @NonNull public static android.graphics.ImageDecoder.Source createSource(android.content.res.Resources, java.io.InputStream, int);
+  }
+
+  public final class Rect implements android.os.Parcelable {
+    method public void splitHorizontally(@NonNull android.graphics.Rect...);
+    method public void splitVertically(@NonNull android.graphics.Rect...);
+  }
+
+  public class Typeface {
+    method @NonNull public static long[] deserializeFontMap(@NonNull java.nio.ByteBuffer, @NonNull java.util.Map<java.lang.String,android.graphics.Typeface>) throws java.io.IOException;
+    method @Nullable public static android.os.SharedMemory getSystemFontMapSharedMemory();
+    method @NonNull public static android.os.SharedMemory serializeFontMap(@NonNull java.util.Map<java.lang.String,android.graphics.Typeface>) throws android.system.ErrnoException, java.io.IOException;
+  }
+
+}
+
+package android.graphics.drawable {
+
+  public class AdaptiveIconDrawable extends android.graphics.drawable.Drawable implements android.graphics.drawable.Drawable.Callback {
+    method public android.graphics.Region getSafeZone();
+    field public static final float MASK_SIZE = 100.0f;
+  }
+
+  public class ColorDrawable extends android.graphics.drawable.Drawable {
+    method public android.graphics.Xfermode getXfermode();
+  }
+
+  public class ShapeDrawable extends android.graphics.drawable.Drawable {
+    method public void setXfermode(@Nullable android.graphics.Xfermode);
+  }
+
+}
+
+package android.graphics.fonts {
+
+  public class FontManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
+    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
+    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
+    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
+    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
+    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
+    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
+    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
+    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
+    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
+    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
+    field public static final int RESULT_SUCCESS = 0; // 0x0
+  }
+
+}
+
+package android.hardware {
+
+  public final class SensorPrivacyManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacy(int, int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacyForProfileGroup(int, int, boolean);
+  }
+
+  public static class SensorPrivacyManager.Sources {
+    field public static final int DIALOG = 3; // 0x3
+    field public static final int OTHER = 5; // 0x5
+    field public static final int QS_TILE = 1; // 0x1
+    field public static final int SETTINGS = 2; // 0x2
+    field public static final int SHELL = 4; // 0x4
+  }
+
+}
+
+package android.hardware.biometrics {
+
+  public class BiometricManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public android.hardware.biometrics.BiometricTestSession createTestSession(int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public java.util.List<android.hardware.biometrics.SensorProperties> getSensorProperties();
+    method @NonNull @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public String getUiPackage();
+  }
+
+  public class BiometricPrompt {
+    method @NonNull public java.util.List<java.lang.Integer> getAllowedSensorIds();
+    method public boolean isAllowBackgroundAuthentication();
+  }
+
+  public static class BiometricPrompt.Builder {
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.TEST_BIOMETRIC, "android.permission.USE_BIOMETRIC_INTERNAL"}) public android.hardware.biometrics.BiometricPrompt.Builder setAllowBackgroundAuthentication(boolean);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.TEST_BIOMETRIC, "android.permission.USE_BIOMETRIC_INTERNAL"}) public android.hardware.biometrics.BiometricPrompt.Builder setAllowedSensorIds(@NonNull java.util.List<java.lang.Integer>);
+  }
+
+  public class BiometricTestSession implements java.lang.AutoCloseable {
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void acceptAuthentication(int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void cleanupInternalState(int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void close();
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void finishEnroll(int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void notifyAcquired(int, int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void notifyError(int, int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void rejectAuthentication(int);
+    method @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public void startEnroll(int);
+  }
+
+  public class SensorProperties {
+    method @NonNull public java.util.List<android.hardware.biometrics.SensorProperties.ComponentInfo> getComponentInfo();
+    method public int getSensorId();
+    method public int getSensorStrength();
+    field public static final int STRENGTH_CONVENIENCE = 0; // 0x0
+    field public static final int STRENGTH_STRONG = 2; // 0x2
+    field public static final int STRENGTH_WEAK = 1; // 0x1
+  }
+
+  public static final class SensorProperties.ComponentInfo {
+    method @NonNull public String getComponentId();
+    method @NonNull public String getFirmwareVersion();
+    method @NonNull public String getHardwareVersion();
+    method @NonNull public String getSerialNumber();
+    method @NonNull public String getSoftwareVersion();
+  }
+
+}
+
+package android.hardware.camera2 {
+
+  public final class CameraManager {
+    method public String[] getCameraIdListNoLazy() throws android.hardware.camera2.CameraAccessException;
+    method @RequiresPermission(allOf={android.Manifest.permission.SYSTEM_CAMERA, android.Manifest.permission.CAMERA}) public void openCamera(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException;
+  }
+
+  public abstract static class CameraManager.AvailabilityCallback {
+    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
+  }
+
+  public abstract class CameraMetadata<TKey> {
+    field public static final int SENSOR_TEST_PATTERN_MODE_BLACK = 5; // 0x5
+  }
+
+}
+
+package android.hardware.devicestate {
+
+  public final class DeviceStateManager {
+    method @RequiresPermission(value=android.Manifest.permission.CONTROL_DEVICE_STATE, conditional=true) public void cancelRequest(@NonNull android.hardware.devicestate.DeviceStateRequest);
+    method @NonNull public int[] getSupportedStates();
+    method public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.devicestate.DeviceStateManager.DeviceStateCallback);
+    method @RequiresPermission(value=android.Manifest.permission.CONTROL_DEVICE_STATE, conditional=true) public void requestState(@NonNull android.hardware.devicestate.DeviceStateRequest, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.devicestate.DeviceStateRequest.Callback);
+    method public void unregisterCallback(@NonNull android.hardware.devicestate.DeviceStateManager.DeviceStateCallback);
+    field public static final int MAXIMUM_DEVICE_STATE = 255; // 0xff
+    field public static final int MINIMUM_DEVICE_STATE = 0; // 0x0
+  }
+
+  public static interface DeviceStateManager.DeviceStateCallback {
+    method public default void onBaseStateChanged(int);
+    method public void onStateChanged(int);
+    method public default void onSupportedStatesChanged(@NonNull int[]);
+  }
+
+  public final class DeviceStateRequest {
+    method public int getFlags();
+    method public int getState();
+    method @NonNull public static android.hardware.devicestate.DeviceStateRequest.Builder newBuilder(int);
+    field public static final int FLAG_CANCEL_WHEN_BASE_CHANGES = 1; // 0x1
+  }
+
+  public static final class DeviceStateRequest.Builder {
+    method @NonNull public android.hardware.devicestate.DeviceStateRequest build();
+    method @NonNull public android.hardware.devicestate.DeviceStateRequest.Builder setFlags(int);
+  }
+
+  public static interface DeviceStateRequest.Callback {
+    method public default void onRequestActivated(@NonNull android.hardware.devicestate.DeviceStateRequest);
+    method public default void onRequestCanceled(@NonNull android.hardware.devicestate.DeviceStateRequest);
+    method public default void onRequestSuspended(@NonNull android.hardware.devicestate.DeviceStateRequest);
+  }
+
+}
+
+package android.hardware.display {
+
+  public class AmbientDisplayConfiguration {
+    ctor public AmbientDisplayConfiguration(android.content.Context);
+    method public boolean alwaysOnAvailable();
+    method public boolean alwaysOnAvailableForUser(int);
+    method public boolean alwaysOnEnabled(int);
+  }
+
+  public final class DisplayManager {
+    method public boolean areUserDisabledHdrTypesAllowed();
+    method @NonNull public int[] getUserDisabledHdrTypes();
+    method public boolean isMinimalPostProcessingRequested(int);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setAreUserDisabledHdrTypesAllowed(boolean);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_REFRESH_RATE_SWITCHING_TYPE) public void setRefreshRateSwitchingType(int);
+    method @RequiresPermission(android.Manifest.permission.OVERRIDE_DISPLAY_MODE_REQUESTS) public void setShouldAlwaysRespectAppRequestedMode(boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setUserDisabledHdrTypes(@NonNull int[]);
+    method @RequiresPermission(android.Manifest.permission.OVERRIDE_DISPLAY_MODE_REQUESTS) public boolean shouldAlwaysRespectAppRequestedMode();
+    field public static final int SWITCHING_TYPE_ACROSS_AND_WITHIN_GROUPS = 2; // 0x2
+    field public static final int SWITCHING_TYPE_NONE = 0; // 0x0
+    field public static final int SWITCHING_TYPE_WITHIN_GROUPS = 1; // 0x1
+    field public static final int VIRTUAL_DISPLAY_FLAG_SHOULD_SHOW_SYSTEM_DECORATIONS = 512; // 0x200
+    field public static final int VIRTUAL_DISPLAY_FLAG_TRUSTED = 1024; // 0x400
+  }
+
+}
+
+package android.hardware.fingerprint {
+
+  @Deprecated public class FingerprintManager {
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public android.hardware.biometrics.BiometricTestSession createTestSession(int);
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.TEST_BIOMETRIC) public java.util.List<android.hardware.biometrics.SensorProperties> getSensorProperties();
+  }
+
+}
+
+package android.hardware.hdmi {
+
+  public final class HdmiControlServiceWrapper {
+    ctor public HdmiControlServiceWrapper();
+    method @NonNull public android.hardware.hdmi.HdmiControlManager createHdmiControlManager();
+    method @BinderThread public void setDeviceTypes(@NonNull int[]);
+    method @BinderThread public void setPortInfo(@NonNull java.util.List<android.hardware.hdmi.HdmiPortInfo>);
+    field public static final int DEVICE_PURE_CEC_SWITCH = 6; // 0x6
+  }
+
+}
+
+package android.hardware.input {
+
+  public final class InputManager {
+    method public int getBlockUntrustedTouchesMode(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setBlockUntrustedTouchesMode(@NonNull android.content.Context, int);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setMaximumObscuringOpacityForTouch(@FloatRange(from=0, to=1) float);
+    field public static final long BLOCK_UNTRUSTED_TOUCHES = 158002302L; // 0x96aec7eL
+  }
+
+}
+
+package android.hardware.lights {
+
+  public final class Light implements android.os.Parcelable {
+    method public int getCapabilities();
+  }
+
+  public abstract class LightsManager {
+    method @NonNull public abstract android.hardware.lights.LightsManager.LightsSession openSession(int);
+  }
+
+}
+
+package android.hardware.soundtrigger {
+
+  public class KeyphraseEnrollmentInfo {
+    ctor public KeyphraseEnrollmentInfo(@NonNull android.content.pm.PackageManager);
+    method @Nullable public android.hardware.soundtrigger.KeyphraseMetadata getKeyphraseMetadata(@NonNull String, @NonNull java.util.Locale);
+    method @Nullable public android.content.Intent getManageKeyphraseIntent(int, @NonNull String, @NonNull java.util.Locale);
+    method @NonNull public String getParseError();
+    method @NonNull public java.util.Collection<android.hardware.soundtrigger.KeyphraseMetadata> listKeyphraseMetadata();
+    field public static final int MANAGE_ACTION_ENROLL = 0; // 0x0
+    field public static final int MANAGE_ACTION_RE_ENROLL = 1; // 0x1
+    field public static final int MANAGE_ACTION_UN_ENROLL = 2; // 0x2
+  }
+
+  public final class KeyphraseMetadata implements android.os.Parcelable {
+    ctor public KeyphraseMetadata(int, @NonNull String, @NonNull java.util.Set<java.util.Locale>, int);
+    method public int describeContents();
+    method public int getId();
+    method @NonNull public String getKeyphrase();
+    method public int getRecognitionModeFlags();
+    method @NonNull public java.util.Set<java.util.Locale> getSupportedLocales();
+    method public boolean supportsLocale(@Nullable java.util.Locale);
+    method public boolean supportsPhrase(@Nullable String);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.KeyphraseMetadata> CREATOR;
+  }
+
+  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
+    ctor public SoundTrigger.ModelParamRange(int, int);
+  }
+
+  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
+    ctor public SoundTrigger.ModuleProperties(int, @NonNull String, @NonNull String, @NonNull String, int, @NonNull String, int, int, int, int, boolean, int, boolean, int, boolean, int);
+  }
+
+  public static class SoundTrigger.RecognitionEvent {
+    ctor public SoundTrigger.RecognitionEvent(int, int, boolean, int, int, int, boolean, @NonNull android.media.AudioFormat, @Nullable byte[]);
+  }
+
+}
+
+package android.inputmethodservice {
+
+  public abstract class AbstractInputMethodService extends android.window.WindowProviderService implements android.view.KeyEvent.Callback {
+    method public final int getInitialDisplayId();
+    method @Nullable public final android.os.Bundle getWindowContextOptions();
+    method public final int getWindowType();
+  }
+
+  @UiContext public class InputMethodService extends android.inputmethodservice.AbstractInputMethodService {
+    field public static final long FINISH_INPUT_NO_FALLBACK_CONNECTION = 156215187L; // 0x94fa793L
+  }
+
+}
+
+package android.location {
+
+  public final class GnssClock implements android.os.Parcelable {
+    ctor public GnssClock();
+    method public void reset();
+    method public void resetBiasNanos();
+    method public void resetBiasUncertaintyNanos();
+    method public void resetDriftNanosPerSecond();
+    method public void resetDriftUncertaintyNanosPerSecond();
+    method public void resetElapsedRealtimeNanos();
+    method public void resetElapsedRealtimeUncertaintyNanos();
+    method public void resetFullBiasNanos();
+    method public void resetLeapSecond();
+    method public void resetReferenceCarrierFrequencyHzForIsb();
+    method public void resetReferenceCodeTypeForIsb();
+    method public void resetReferenceConstellationTypeForIsb();
+    method public void resetTimeUncertaintyNanos();
+    method public void set(android.location.GnssClock);
+    method public void setBiasNanos(double);
+    method public void setBiasUncertaintyNanos(@FloatRange(from=0.0f) double);
+    method public void setDriftNanosPerSecond(double);
+    method public void setDriftUncertaintyNanosPerSecond(@FloatRange(from=0.0f) double);
+    method public void setElapsedRealtimeNanos(long);
+    method public void setElapsedRealtimeUncertaintyNanos(@FloatRange(from=0.0f) double);
+    method public void setFullBiasNanos(long);
+    method public void setHardwareClockDiscontinuityCount(int);
+    method public void setLeapSecond(int);
+    method public void setReferenceCarrierFrequencyHzForIsb(@FloatRange(from=0.0) double);
+    method public void setReferenceCodeTypeForIsb(@NonNull String);
+    method public void setReferenceConstellationTypeForIsb(int);
+    method public void setTimeNanos(long);
+    method public void setTimeUncertaintyNanos(@FloatRange(from=0.0f) double);
+  }
+
+  public final class GnssMeasurement implements android.os.Parcelable {
+    ctor public GnssMeasurement();
+    method public void reset();
+    method public void resetAutomaticGainControlLevel();
+    method public void resetBasebandCn0DbHz();
+    method @Deprecated public void resetCarrierCycles();
+    method public void resetCarrierFrequencyHz();
+    method @Deprecated public void resetCarrierPhase();
+    method @Deprecated public void resetCarrierPhaseUncertainty();
+    method public void resetCodeType();
+    method public void resetCorrelationVectors();
+    method public void resetFullInterSignalBiasNanos();
+    method public void resetFullInterSignalBiasUncertaintyNanos();
+    method public void resetSatelliteInterSignalBiasNanos();
+    method public void resetSatelliteInterSignalBiasUncertaintyNanos();
+    method public void resetSatellitePvt();
+    method public void resetSnrInDb();
+    method public void set(android.location.GnssMeasurement);
+    method public void setAccumulatedDeltaRangeMeters(double);
+    method public void setAccumulatedDeltaRangeState(int);
+    method public void setAccumulatedDeltaRangeUncertaintyMeters(double);
+    method public void setAutomaticGainControlLevelInDb(double);
+    method public void setBasebandCn0DbHz(double);
+    method @Deprecated public void setCarrierCycles(long);
+    method public void setCarrierFrequencyHz(float);
+    method @Deprecated public void setCarrierPhase(double);
+    method @Deprecated public void setCarrierPhaseUncertainty(double);
+    method public void setCn0DbHz(double);
+    method public void setCodeType(@NonNull String);
+    method public void setConstellationType(int);
+    method public void setCorrelationVectors(@Nullable java.util.Collection<android.location.CorrelationVector>);
+    method public void setFullInterSignalBiasNanos(double);
+    method public void setFullInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double);
+    method public void setMultipathIndicator(int);
+    method public void setPseudorangeRateMetersPerSecond(double);
+    method public void setPseudorangeRateUncertaintyMetersPerSecond(double);
+    method public void setReceivedSvTimeNanos(long);
+    method public void setReceivedSvTimeUncertaintyNanos(long);
+    method public void setSatelliteInterSignalBiasNanos(double);
+    method public void setSatelliteInterSignalBiasUncertaintyNanos(@FloatRange(from=0.0) double);
+    method public void setSatellitePvt(@Nullable android.location.SatellitePvt);
+    method public void setSnrInDb(double);
+    method public void setState(int);
+    method public void setSvid(int);
+    method public void setTimeOffsetNanos(double);
+    field public static final int ADR_STATE_ALL = 31; // 0x1f
+  }
+
+  public final class GnssMeasurementsEvent implements android.os.Parcelable {
+    ctor public GnssMeasurementsEvent(android.location.GnssClock, android.location.GnssMeasurement[]);
+  }
+
+  public final class GnssNavigationMessage implements android.os.Parcelable {
+    ctor public GnssNavigationMessage();
+    method public void reset();
+    method public void set(android.location.GnssNavigationMessage);
+    method public void setData(byte[]);
+    method public void setMessageId(@IntRange(from=0xffffffff, to=120) int);
+    method public void setStatus(int);
+    method public void setSubmessageId(@IntRange(from=1) int);
+    method public void setSvid(@IntRange(from=1, to=200) int);
+    method public void setType(int);
+  }
+
+  public class LocationManager {
+    method @NonNull public String[] getBackgroundThrottlingWhitelist();
+    method @NonNull public android.os.PackageTagsList getIgnoreSettingsAllowlist();
+    method @Deprecated @NonNull public String[] getIgnoreSettingsWhitelist();
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public java.util.List<java.lang.String> getProviderPackages(@NonNull String);
+  }
+
+}
+
+package android.media {
+
+  public final class AudioAttributes implements android.os.Parcelable {
+    method @NonNull public static String usageToXsdString(int);
+    method public static int xsdStringToUsage(@NonNull String);
+  }
+
+  public final class AudioDeviceInfo {
+    method public static void enforceValidAudioDeviceTypeIn(int);
+    method public static void enforceValidAudioDeviceTypeOut(int);
+  }
+
+  public final class AudioFocusRequest {
+    method @Nullable public android.media.AudioManager.OnAudioFocusChangeListener getOnAudioFocusChangeListener();
+  }
+
+  public final class AudioFormat implements android.os.Parcelable {
+    method public static int channelCountFromInChannelMask(int);
+    method public static int channelCountFromOutChannelMask(int);
+    method public static int getBytesPerSample(int);
+    method public static boolean isEncodingLinearPcm(int);
+  }
+
+  public class AudioManager {
+    method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int abandonAudioFocusForTest(@NonNull android.media.AudioFocusRequest, @NonNull String);
+    method @Nullable public static android.media.AudioDeviceInfo getDeviceInfoFromType(int);
+    method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFadeOutDurationOnFocusLossMillis(@NonNull android.media.AudioAttributes);
+    method @NonNull public java.util.List<java.lang.Integer> getReportedSurroundFormats();
+    method @NonNull public java.util.Map<java.lang.Integer,java.lang.Boolean> getSurroundFormats();
+    method public boolean hasRegisteredDynamicPolicy();
+    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.QUERY_AUDIO_STATE}) public boolean isFullVolumeDevice();
+    method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int requestAudioFocusForTest(@NonNull android.media.AudioFocusRequest, @NonNull String, int, int);
+  }
+
+  public static final class AudioRecord.MetricsConstants {
+    field public static final String ATTRIBUTES = "android.media.audiorecord.attributes";
+    field public static final String CHANNEL_MASK = "android.media.audiorecord.channelMask";
+    field public static final String DURATION_MS = "android.media.audiorecord.durationMs";
+    field public static final String FRAME_COUNT = "android.media.audiorecord.frameCount";
+    field public static final String PORT_ID = "android.media.audiorecord.portId";
+    field public static final String START_COUNT = "android.media.audiorecord.startCount";
+  }
+
+  public final class AudioRecordingConfiguration implements android.os.Parcelable {
+    ctor public AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String, int, boolean, int, android.media.audiofx.AudioEffect.Descriptor[], android.media.audiofx.AudioEffect.Descriptor[]);
+    ctor public AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String);
+  }
+
+  public class AudioSystem {
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS) public static float getMasterBalance();
+    method public static final int getNumStreamTypes();
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS) public static int setMasterBalance(float);
+    field public static final int DEVICE_ROLE_DISABLED = 2; // 0x2
+    field public static final int DEVICE_ROLE_NONE = 0; // 0x0
+    field public static final int DEVICE_ROLE_PREFERRED = 1; // 0x1
+    field public static final int OFFLOAD_GAPLESS_SUPPORTED = 2; // 0x2
+    field public static final int OFFLOAD_SUPPORTED = 1; // 0x1
+    field public static final int STREAM_DEFAULT = -1; // 0xffffffff
+  }
+
+  public static final class AudioTrack.MetricsConstants {
+    field public static final String ATTRIBUTES = "android.media.audiotrack.attributes";
+    field public static final String CHANNEL_MASK = "android.media.audiotrack.channelMask";
+    field public static final String ENCODING = "android.media.audiotrack.encoding";
+    field public static final String FRAME_COUNT = "android.media.audiotrack.frameCount";
+    field public static final String PORT_ID = "android.media.audiotrack.portId";
+    field public static final String SAMPLE_RATE = "android.media.audiotrack.sampleRate";
+  }
+
+  public abstract class Image implements java.lang.AutoCloseable {
+    ctor protected Image();
+  }
+
+  public abstract static class Image.Plane {
+    ctor protected Image.Plane();
+  }
+
+  public final class MediaCas implements java.lang.AutoCloseable {
+    method public void forceResourceLost();
+  }
+
+  public static final class MediaCodecInfo.VideoCapabilities.PerformancePoint {
+    ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(int, int, int, int, @NonNull android.util.Size);
+    ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(@NonNull android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint, @NonNull android.util.Size);
+    method public int getMaxFrameRate();
+    method public long getMaxMacroBlockRate();
+    method public int getMaxMacroBlocks();
+  }
+
+  public final class MediaRoute2Info implements android.os.Parcelable {
+    method @NonNull public String getOriginalId();
+  }
+
+  public class MediaRouter2.RoutingController {
+    method @NonNull public String getOriginalId();
+  }
+
+  public final class PlaybackParams implements android.os.Parcelable {
+    method public int getAudioStretchMode();
+    method public android.media.PlaybackParams setAudioStretchMode(int);
+  }
+
+  public static final class VolumeShaper.Configuration.Builder {
+    method @NonNull public android.media.VolumeShaper.Configuration.Builder setOptionFlags(int);
+  }
+
+}
+
+package android.media.audiofx {
+
+  public class AudioEffect {
+    method public static int byteArrayToInt(byte[]);
+    method public static short byteArrayToShort(byte[]);
+    method public int getParameter(byte[], byte[]) throws java.lang.IllegalStateException;
+    method public int getParameter(int, byte[]) throws java.lang.IllegalStateException;
+    method public int getParameter(int, int[]) throws java.lang.IllegalStateException;
+    method public int getParameter(int, short[]) throws java.lang.IllegalStateException;
+    method public int getParameter(int[], short[]) throws java.lang.IllegalStateException;
+    method public static byte[] intToByteArray(int);
+    method public static boolean isEffectTypeAvailable(java.util.UUID);
+    method public static boolean isError(int);
+    method public int setParameter(byte[], byte[]) throws java.lang.IllegalStateException;
+    method public int setParameter(int, int) throws java.lang.IllegalStateException;
+    method public int setParameter(int, short) throws java.lang.IllegalStateException;
+    method public int setParameter(int, byte[]) throws java.lang.IllegalStateException;
+    method public int setParameter(int[], int[]) throws java.lang.IllegalStateException;
+    method public int setParameter(int[], byte[]) throws java.lang.IllegalStateException;
+    method public void setParameterListener(android.media.audiofx.AudioEffect.OnParameterChangeListener);
+    method public static byte[] shortToByteArray(short);
+    field public static final java.util.UUID EFFECT_TYPE_NULL;
+  }
+
+  public static class AudioEffect.Descriptor {
+    ctor public AudioEffect.Descriptor(android.os.Parcel);
+    method public void writeToParcel(android.os.Parcel);
+  }
+
+  public static interface AudioEffect.OnParameterChangeListener {
+    method public void onParameterChange(android.media.audiofx.AudioEffect, int, byte[], byte[]);
+  }
+
+}
+
+package android.media.audiopolicy {
+
+  public static class AudioPolicy.Builder {
+    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsTestFocusPolicy(boolean);
+  }
+
+}
+
+package android.media.metrics {
+
+  public final class LogSessionId {
+    ctor public LogSessionId(@NonNull String);
+  }
+
+}
+
+package android.media.tv {
+
+  public final class TvInputManager {
+    method public void addHardwareDevice(int);
+    method public void removeHardwareDevice(int);
+  }
+
+}
+
+package android.media.tv.tuner {
+
+  public final class TunerVersionChecker {
+    method public static int getMajorVersion(int);
+    method public static int getMinorVersion(int);
+    method public static boolean isHigherOrEqualVersionTo(int);
+    method public static boolean supportTunerVersion(int);
+  }
+
+}
+
+package android.net {
+
+  public class EthernetManager {
+    method public void setIncludeTestInterfaces(boolean);
+  }
+
+  public final class IpSecManager {
+    field public static final int INVALID_SECURITY_PARAMETER_INDEX = 0; // 0x0
+  }
+
+  public class NetworkPolicyManager {
+    method public boolean getRestrictBackground();
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidNetworkingBlocked(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_NETWORK_POLICY) public boolean isUidRestrictedOnMeteredNetworks(int);
+    method @NonNull public static String resolveNetworkId(@NonNull android.net.wifi.WifiConfiguration);
+    method public void setRestrictBackground(boolean);
+  }
+
+  public class NetworkStack {
+    method public static void setServiceForTest(@Nullable android.os.IBinder);
+  }
+
+  public class NetworkWatchlistManager {
+    method @Nullable public byte[] getWatchlistConfigHash();
+  }
+
+  public class TrafficStats {
+    method public static long getLoopbackRxBytes();
+    method public static long getLoopbackRxPackets();
+    method public static long getLoopbackTxBytes();
+    method public static long getLoopbackTxPackets();
+  }
+
+}
+
+package android.os {
+
+  public final class BatteryStatsManager {
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void resetBattery(boolean);
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void setBatteryLevel(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void setChargerAcOnline(boolean, boolean);
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void suspendBatteryInput();
+    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void unplugBattery(boolean);
+  }
+
+  public class Build {
+    method public static boolean is64BitAbi(String);
+    method public static boolean isDebuggable();
+    field public static final boolean IS_EMULATOR;
+  }
+
+  public static class Build.VERSION {
+    field public static final String[] ACTIVE_CODENAMES;
+    field public static final int DEVICE_INITIAL_SDK_INT;
+    field public static final int RESOURCES_SDK_INT;
+  }
+
+  public abstract class CombinedVibration implements android.os.Parcelable {
+    method public abstract long getDuration();
+    method @NonNull public static android.os.CombinedVibration.SequentialCombination startSequential();
+  }
+
+  public static final class CombinedVibration.Mono extends android.os.CombinedVibration {
+    method public long getDuration();
+    method @NonNull public android.os.VibrationEffect getEffect();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.CombinedVibration.Mono> CREATOR;
+  }
+
+  public static final class CombinedVibration.Sequential extends android.os.CombinedVibration {
+    method @NonNull public java.util.List<java.lang.Integer> getDelays();
+    method public long getDuration();
+    method @NonNull public java.util.List<android.os.CombinedVibration> getEffects();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.CombinedVibration.Sequential> CREATOR;
+  }
+
+  public static final class CombinedVibration.SequentialCombination {
+    method @NonNull public android.os.CombinedVibration.SequentialCombination addNext(int, @NonNull android.os.VibrationEffect);
+    method @NonNull public android.os.CombinedVibration.SequentialCombination addNext(int, @NonNull android.os.VibrationEffect, int);
+    method @NonNull public android.os.CombinedVibration.SequentialCombination addNext(@NonNull android.os.CombinedVibration);
+    method @NonNull public android.os.CombinedVibration.SequentialCombination addNext(@NonNull android.os.CombinedVibration, int);
+    method @NonNull public android.os.CombinedVibration combine();
+  }
+
+  public static final class CombinedVibration.Stereo extends android.os.CombinedVibration {
+    method public long getDuration();
+    method @NonNull public android.util.SparseArray<android.os.VibrationEffect> getEffects();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.CombinedVibration.Stereo> CREATOR;
+  }
+
+  public class DeviceIdleManager {
+    method @NonNull public String[] getSystemPowerWhitelist();
+    method @NonNull public String[] getSystemPowerWhitelistExceptIdle();
+  }
+
+  public class Environment {
+    method public static java.io.File buildPath(java.io.File, java.lang.String...);
+  }
+
+  public final class FileUtils {
+    method public static boolean contains(java.io.File, java.io.File);
+    method @NonNull public static byte[] digest(@NonNull java.io.File, @NonNull String) throws java.io.IOException, java.security.NoSuchAlgorithmException;
+    method @NonNull public static byte[] digest(@NonNull java.io.InputStream, @NonNull String) throws java.io.IOException, java.security.NoSuchAlgorithmException;
+  }
+
+  public final class MessageQueue {
+    method public int postSyncBarrier();
+    method public void removeSyncBarrier(int);
+  }
+
+  public final class PackageTagsList implements android.os.Parcelable {
+    method public boolean contains(@NonNull String, @Nullable String);
+    method public boolean contains(@NonNull android.os.PackageTagsList);
+    method public boolean containsAll(@NonNull String);
+    method public int describeContents();
+    method public boolean includes(@NonNull String);
+    method public boolean isEmpty();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.PackageTagsList> CREATOR;
+  }
+
+  public static final class PackageTagsList.Builder {
+    ctor public PackageTagsList.Builder();
+    ctor public PackageTagsList.Builder(int);
+    method @NonNull public android.os.PackageTagsList.Builder add(@NonNull String);
+    method @NonNull public android.os.PackageTagsList.Builder add(@NonNull String, @Nullable String);
+    method @NonNull public android.os.PackageTagsList.Builder add(@NonNull android.os.PackageTagsList);
+    method @NonNull public android.os.PackageTagsList.Builder add(@NonNull java.util.Map<java.lang.String,? extends java.util.Set<java.lang.String>>);
+    method @NonNull public android.os.PackageTagsList build();
+    method @NonNull public android.os.PackageTagsList.Builder clear();
+  }
+
+  public final class Parcel {
+    method public boolean allowSquashing();
+    method public int readExceptionCode();
+    method public void restoreAllowSquashing(boolean);
+  }
+
+  public class ParcelFileDescriptor implements java.io.Closeable android.os.Parcelable {
+    method public static java.io.File getFile(java.io.FileDescriptor) throws java.io.IOException;
+  }
+
+  public final class PowerManager {
+    field public static final String ACTION_ENHANCED_DISCHARGE_PREDICTION_CHANGED = "android.os.action.ENHANCED_DISCHARGE_PREDICTION_CHANGED";
+  }
+
+  public class Process {
+    method public static final int getThreadScheduler(int) throws java.lang.IllegalArgumentException;
+    field public static final int FIRST_APP_ZYGOTE_ISOLATED_UID = 90000; // 0x15f90
+    field public static final int FIRST_ISOLATED_UID = 99000; // 0x182b8
+    field public static final int LAST_APP_ZYGOTE_ISOLATED_UID = 98999; // 0x182b7
+    field public static final int LAST_ISOLATED_UID = 99999; // 0x1869f
+    field public static final int NFC_UID = 1027; // 0x403
+    field public static final int NUM_UIDS_PER_APP_ZYGOTE = 100; // 0x64
+  }
+
+  public final class StrictMode {
+    method public static void conditionallyCheckInstanceCounts();
+    method public static void setViolationLogger(android.os.StrictMode.ViolationLogger);
+  }
+
+  public static final class StrictMode.ThreadPolicy.Builder {
+    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectExplicitGc();
+  }
+
+  public static final class StrictMode.ViolationInfo implements android.os.Parcelable {
+    ctor public StrictMode.ViolationInfo(android.os.Parcel);
+    ctor public StrictMode.ViolationInfo(android.os.Parcel, boolean);
+    method public int describeContents();
+    method public void dump(android.util.Printer, String);
+    method public String getStackTrace();
+    method public Class<? extends android.os.strictmode.Violation> getViolationClass();
+    method public String getViolationDetails();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.StrictMode.ViolationInfo> CREATOR;
+    field public String broadcastIntentAction;
+    field public int durationMillis;
+    field public int numAnimationsRunning;
+    field public long numInstances;
+    field public String[] tags;
+    field public int violationNumThisLoop;
+    field public long violationUptimeMillis;
+  }
+
+  public static interface StrictMode.ViolationLogger {
+    method public void log(android.os.StrictMode.ViolationInfo);
+  }
+
+  public static final class StrictMode.VmPolicy.Builder {
+    method @NonNull public android.os.StrictMode.VmPolicy.Builder permitIncorrectContextUse();
+  }
+
+  public final class UserHandle implements android.os.Parcelable {
+    method public static int getUid(int, int);
+    method public static int getUserId(int);
+    method public static boolean isApp(int);
+    field public static final int MIN_SECONDARY_USER_ID = 10; // 0xa
+    field public static final int USER_ALL = -1; // 0xffffffff
+    field public static final int USER_NULL = -10000; // 0xffffd8f0
+    field public static final int USER_SYSTEM = 0; // 0x0
+  }
+
+  public class UserManager {
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createProfileForUser(@Nullable String, @NonNull String, int, int, @Nullable String[]);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createRestrictedProfile(@Nullable String);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createUser(@Nullable String, @NonNull String, int);
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.Set<java.lang.String> getPreInstallableSystemPackages(@NonNull String);
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public String getUserType();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.content.pm.UserInfo> getUsers(boolean, boolean, boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean hasBaseUserRestriction(@NonNull String, @NonNull android.os.UserHandle);
+    method public static boolean isGuestUserEphemeral();
+    method public static boolean isSplitSystemUser();
+    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo preCreateUser(@NonNull String) throws android.os.UserManager.UserOperationException;
+  }
+
+  public final class VibrationAttributes implements android.os.Parcelable {
+    method public int getAudioUsage();
+  }
+
+  public static final class VibrationAttributes.Builder {
+    ctor public VibrationAttributes.Builder(@NonNull android.media.AudioAttributes, @Nullable android.os.VibrationEffect);
+  }
+
+  public abstract class VibrationEffect implements android.os.Parcelable {
+    method public static android.os.VibrationEffect get(int);
+    method public static android.os.VibrationEffect get(int, boolean);
+    method @Nullable public static android.os.VibrationEffect get(android.net.Uri, android.content.Context);
+    method public abstract long getDuration();
+    method @NonNull public static android.os.VibrationEffect.WaveformBuilder startWaveform();
+    field public static final int EFFECT_POP = 4; // 0x4
+    field public static final int EFFECT_STRENGTH_LIGHT = 0; // 0x0
+    field public static final int EFFECT_STRENGTH_MEDIUM = 1; // 0x1
+    field public static final int EFFECT_STRENGTH_STRONG = 2; // 0x2
+    field public static final int EFFECT_TEXTURE_TICK = 21; // 0x15
+    field public static final int EFFECT_THUD = 3; // 0x3
+    field public static final int[] RINGTONES;
+  }
+
+  public static final class VibrationEffect.Composed extends android.os.VibrationEffect {
+    method @NonNull public android.os.VibrationEffect.Composed applyEffectStrength(int);
+    method public long getDuration();
+    method public int getRepeatIndex();
+    method @NonNull public java.util.List<android.os.vibrator.VibrationEffectSegment> getSegments();
+    method @NonNull public android.os.VibrationEffect.Composed resolve(int);
+    method @NonNull public android.os.VibrationEffect.Composed scale(float);
+    method public void validate();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect.Composed> CREATOR;
+  }
+
+  public static final class VibrationEffect.Composition {
+    method @NonNull public android.os.VibrationEffect.Composition addEffect(@NonNull android.os.VibrationEffect);
+    method @NonNull public android.os.VibrationEffect.Composition addEffect(@NonNull android.os.VibrationEffect, @IntRange(from=0) int);
+  }
+
+  public static final class VibrationEffect.WaveformBuilder {
+    method @NonNull public android.os.VibrationEffect.WaveformBuilder addRamp(@FloatRange(from=0.0f, to=1.0f) float, @IntRange(from=0) int);
+    method @NonNull public android.os.VibrationEffect.WaveformBuilder addRamp(@FloatRange(from=0.0f, to=1.0f) float, @FloatRange(from=-1.0F, to=1.0f) float, @IntRange(from=0) int);
+    method @NonNull public android.os.VibrationEffect.WaveformBuilder addStep(@FloatRange(from=0.0f, to=1.0f) float, @IntRange(from=0) int);
+    method @NonNull public android.os.VibrationEffect.WaveformBuilder addStep(@FloatRange(from=0.0f, to=1.0f) float, @FloatRange(from=-1.0F, to=1.0f) float, @IntRange(from=0) int);
+    method @NonNull public android.os.VibrationEffect build();
+    method @NonNull public android.os.VibrationEffect build(int);
+  }
+
+  public class VintfObject {
+    method public static String[] getHalNamesAndVersions();
+    method @NonNull public static String getPlatformSepolicyVersion();
+    method public static String getSepolicyVersion();
+    method public static Long getTargetFrameworkCompatibilityMatrixVersion();
+    method public static java.util.Map<java.lang.String,java.lang.String[]> getVndkSnapshots();
+    method public static String[] report();
+  }
+
+  public class VintfRuntimeInfo {
+    method public static String getCpuInfo();
+    method public static String getHardwareId();
+    method public static String getKernelVersion();
+    method public static String getNodeName();
+    method public static String getOsName();
+    method public static String getOsRelease();
+    method public static String getOsVersion();
+  }
+
+  public class WorkSource implements android.os.Parcelable {
+    method public boolean add(int);
+    method public boolean add(int, String);
+    method @Deprecated public android.os.WorkSource addReturningNewbs(android.os.WorkSource);
+    method @Deprecated public android.os.WorkSource[] setReturningDiffs(android.os.WorkSource);
+  }
+
+}
+
+package android.os.health {
+
+  public class HealthKeys {
+    ctor public HealthKeys();
+    field public static final int BASE_PACKAGE = 40000; // 0x9c40
+    field public static final int BASE_PID = 20000; // 0x4e20
+    field public static final int BASE_PROCESS = 30000; // 0x7530
+    field public static final int BASE_SERVICE = 50000; // 0xc350
+    field public static final int BASE_UID = 10000; // 0x2710
+    field public static final int TYPE_COUNT = 5; // 0x5
+    field public static final int TYPE_MEASUREMENT = 1; // 0x1
+    field public static final int TYPE_MEASUREMENTS = 4; // 0x4
+    field public static final int TYPE_STATS = 2; // 0x2
+    field public static final int TYPE_TIMER = 0; // 0x0
+    field public static final int TYPE_TIMERS = 3; // 0x3
+    field public static final int UNKNOWN_KEY = 0; // 0x0
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.FIELD}) public static @interface HealthKeys.Constant {
+    method public abstract int type();
+  }
+
+  public static class HealthKeys.Constants {
+    ctor public HealthKeys.Constants(Class);
+    method public String getDataType();
+    method public int getIndex(int, int);
+    method public int[] getKeys(int);
+    method public int getSize(int);
+  }
+
+  public class HealthStats {
+    ctor public HealthStats(android.os.Parcel);
+  }
+
+  public class HealthStatsParceler implements android.os.Parcelable {
+    ctor public HealthStatsParceler(android.os.health.HealthStatsWriter);
+    ctor public HealthStatsParceler(android.os.Parcel);
+    method public int describeContents();
+    method public android.os.health.HealthStats getHealthStats();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.health.HealthStatsParceler> CREATOR;
+  }
+
+  public class HealthStatsWriter {
+    ctor public HealthStatsWriter(android.os.health.HealthKeys.Constants);
+    method public void addMeasurement(int, long);
+    method public void addMeasurements(int, String, long);
+    method public void addStats(int, String, android.os.health.HealthStatsWriter);
+    method public void addTimer(int, int, long);
+    method public void addTimers(int, String, android.os.health.TimerStat);
+    method public void flattenToParcel(android.os.Parcel);
+  }
+
+}
+
+package android.os.storage {
+
+  public final class CrateInfo implements android.os.Parcelable {
+    ctor public CrateInfo(@NonNull CharSequence, long);
+    ctor public CrateInfo(@NonNull CharSequence);
+    method @Nullable public static android.os.storage.CrateInfo copyFrom(int, @Nullable String, @Nullable String);
+    method public int describeContents();
+    method public long getExpirationMillis();
+    method @NonNull public CharSequence getLabel();
+    method public void writeToParcel(@Nullable android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.storage.CrateInfo> CREATOR;
+  }
+
+  public class StorageManager {
+    method @NonNull public static java.util.UUID convert(@NonNull String);
+    method @NonNull public static String convert(@NonNull java.util.UUID);
+    method public boolean isAppIoBlocked(@NonNull java.util.UUID, int, int, int);
+    method public static boolean isUserKeyUnlocked(int);
+  }
+
+  public final class StorageVolume implements android.os.Parcelable {
+    method public String getPath();
+  }
+
+  public static final class StorageVolume.Builder {
+    ctor public StorageVolume.Builder(@NonNull String, @NonNull java.io.File, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
+    method @NonNull public android.os.storage.StorageVolume build();
+    method @NonNull public android.os.storage.StorageVolume.Builder setEmulated(boolean);
+    method @NonNull public android.os.storage.StorageVolume.Builder setPrimary(boolean);
+    method @NonNull public android.os.storage.StorageVolume.Builder setRemovable(boolean);
+    method @NonNull public android.os.storage.StorageVolume.Builder setStorageUuid(@Nullable java.util.UUID);
+    method @NonNull public android.os.storage.StorageVolume.Builder setUuid(@Nullable String);
+  }
+
+}
+
+package android.os.strictmode {
+
+  public final class ExplicitGcViolation extends android.os.strictmode.Violation {
+  }
+
+}
+
+package android.os.vibrator {
+
+  public final class PrebakedSegment extends android.os.vibrator.VibrationEffectSegment {
+    method @NonNull public android.os.vibrator.PrebakedSegment applyEffectStrength(int);
+    method public int describeContents();
+    method public long getDuration();
+    method public int getEffectId();
+    method public int getEffectStrength();
+    method public boolean hasNonZeroAmplitude();
+    method @NonNull public android.os.vibrator.PrebakedSegment resolve(int);
+    method @NonNull public android.os.vibrator.PrebakedSegment scale(float);
+    method public boolean shouldFallback();
+    method public void validate();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.vibrator.PrebakedSegment> CREATOR;
+  }
+
+  public final class PrimitiveSegment extends android.os.vibrator.VibrationEffectSegment {
+    method @NonNull public android.os.vibrator.PrimitiveSegment applyEffectStrength(int);
+    method public int describeContents();
+    method public int getDelay();
+    method public long getDuration();
+    method public int getPrimitiveId();
+    method public float getScale();
+    method public boolean hasNonZeroAmplitude();
+    method @NonNull public android.os.vibrator.PrimitiveSegment resolve(int);
+    method @NonNull public android.os.vibrator.PrimitiveSegment scale(float);
+    method public void validate();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.vibrator.PrimitiveSegment> CREATOR;
+  }
+
+  public final class RampSegment extends android.os.vibrator.VibrationEffectSegment {
+    method @NonNull public android.os.vibrator.RampSegment applyEffectStrength(int);
+    method public int describeContents();
+    method public long getDuration();
+    method public float getEndAmplitude();
+    method public float getEndFrequency();
+    method public float getStartAmplitude();
+    method public float getStartFrequency();
+    method public boolean hasNonZeroAmplitude();
+    method @NonNull public android.os.vibrator.RampSegment resolve(int);
+    method @NonNull public android.os.vibrator.RampSegment scale(float);
+    method public void validate();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.vibrator.RampSegment> CREATOR;
+  }
+
+  public final class StepSegment extends android.os.vibrator.VibrationEffectSegment {
+    method @NonNull public android.os.vibrator.StepSegment applyEffectStrength(int);
+    method public int describeContents();
+    method public float getAmplitude();
+    method public long getDuration();
+    method public float getFrequency();
+    method public boolean hasNonZeroAmplitude();
+    method @NonNull public android.os.vibrator.StepSegment resolve(int);
+    method @NonNull public android.os.vibrator.StepSegment scale(float);
+    method public void validate();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.vibrator.StepSegment> CREATOR;
+  }
+
+  public abstract class VibrationEffectSegment implements android.os.Parcelable {
+    method @NonNull public abstract <T extends android.os.vibrator.VibrationEffectSegment> T applyEffectStrength(int);
+    method public abstract long getDuration();
+    method public abstract boolean hasNonZeroAmplitude();
+    method @NonNull public abstract <T extends android.os.vibrator.VibrationEffectSegment> T resolve(int);
+    method @NonNull public abstract <T extends android.os.vibrator.VibrationEffectSegment> T scale(float);
+    method public abstract void validate();
+    field @NonNull public static final android.os.Parcelable.Creator<android.os.vibrator.VibrationEffectSegment> CREATOR;
+  }
+
+}
+
+package android.permission {
+
+  public final class PermGroupUsage {
+    ctor public PermGroupUsage(@NonNull String, int, @NonNull String, long, boolean, boolean, @Nullable CharSequence);
+    method @Nullable public CharSequence getAttribution();
+    method public long getLastAccess();
+    method @NonNull public String getPackageName();
+    method @NonNull public String getPermGroupName();
+    method public int getUid();
+    method public boolean isActive();
+    method public boolean isPhoneCall();
+  }
+
+  public final class PermissionControllerManager {
+    method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public void countPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull android.permission.PermissionControllerManager.OnCountPermissionAppsResultCallback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public void getAppPermissions(@NonNull String, @NonNull android.permission.PermissionControllerManager.OnGetAppPermissionResultCallback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String);
+  }
+
+  public static interface PermissionControllerManager.OnCountPermissionAppsResultCallback {
+    method public void onCountPermissionApps(int);
+  }
+
+  public static interface PermissionControllerManager.OnGetAppPermissionResultCallback {
+    method public void onGetAppPermissions(@NonNull java.util.List<android.permission.RuntimePermissionPresentationInfo>);
+  }
+
+  public final class PermissionManager {
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.permission.PermGroupUsage> getIndicatorAppOpUsageData();
+    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.permission.PermGroupUsage> getIndicatorAppOpUsageData(boolean);
+    method @NonNull public android.content.AttributionSource registerAttributionSource(@NonNull android.content.AttributionSource);
+  }
+
+}
+
+package android.print {
+
+  public final class PrintJobInfo implements android.os.Parcelable {
+    method public float getProgress();
+    method @Nullable public CharSequence getStatus(@NonNull android.content.pm.PackageManager);
+  }
+
+  public final class PrinterInfo implements android.os.Parcelable {
+    method @Nullable public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context);
+  }
+
+}
+
+package android.provider {
+
+  public interface AndroidDeviceConfig {
+    field public static final String KEY_SYSTEM_GESTURES_EXCLUDED_BY_PRE_Q_STICKY_IMMERSIVE = "system_gestures_excluded_by_pre_q_sticky_immersive";
+    field public static final String KEY_SYSTEM_GESTURE_EXCLUSION_LIMIT_DP = "system_gesture_exclusion_limit_dp";
+  }
+
+  public static final class CalendarContract.Calendars implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.SyncColumns {
+    field public static final String[] SYNC_WRITABLE_COLUMNS;
+  }
+
+  public static final class CalendarContract.Events implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.SyncColumns {
+    field public static final String[] SYNC_WRITABLE_COLUMNS;
+  }
+
+  public final class ContactsContract {
+    field public static final String HIDDEN_COLUMN_PREFIX = "x_";
+  }
+
+  public static final class ContactsContract.CommonDataKinds.Phone implements android.provider.ContactsContract.CommonDataKinds.CommonColumns android.provider.ContactsContract.DataColumnsWithJoins {
+    field public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+  }
+
+  public static final class ContactsContract.PinnedPositions {
+    field public static final String UNDEMOTE_METHOD = "undemote";
+  }
+
+  public static final class ContactsContract.RawContactsEntity implements android.provider.BaseColumns android.provider.ContactsContract.DataColumns android.provider.ContactsContract.RawContactsColumns {
+    field public static final android.net.Uri CORP_CONTENT_URI;
+  }
+
+  public final class DeviceConfig {
+    field public static final String NAMESPACE_ALARM_MANAGER = "alarm_manager";
+    field public static final String NAMESPACE_ANDROID = "android";
+    field public static final String NAMESPACE_APP_COMPAT_OVERRIDES = "app_compat_overrides";
+    field public static final String NAMESPACE_CONSTRAIN_DISPLAY_APIS = "constrain_display_apis";
+    field public static final String NAMESPACE_DEVICE_IDLE = "device_idle";
+    field public static final String NAMESPACE_JOB_SCHEDULER = "jobscheduler";
+  }
+
+  public final class Settings {
+    field public static final int RESET_MODE_PACKAGE_DEFAULTS = 1; // 0x1
+  }
+
+  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
+    field public static final String APP_OPS_CONSTANTS = "app_ops_constants";
+    field public static final String ARE_USER_DISABLED_HDR_FORMATS_ALLOWED = "are_user_disabled_hdr_formats_allowed";
+    field public static final String AUTOMATIC_POWER_SAVE_MODE = "automatic_power_save_mode";
+    field public static final String BATTERY_SAVER_CONSTANTS = "battery_saver_constants";
+    field public static final String DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW = "enable_non_resizable_multi_window";
+    field public static final String DISABLE_WINDOW_BLURS = "disable_window_blurs";
+    field public static final String DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD = "dynamic_power_savings_disable_threshold";
+    field public static final String DYNAMIC_POWER_SAVINGS_ENABLED = "dynamic_power_savings_enabled";
+    field public static final String HIDDEN_API_BLACKLIST_EXEMPTIONS = "hidden_api_blacklist_exemptions";
+    field public static final String HIDDEN_API_POLICY = "hidden_api_policy";
+    field public static final String HIDE_ERROR_DIALOGS = "hide_error_dialogs";
+    field @Deprecated public static final String LOCATION_IGNORE_SETTINGS_PACKAGE_WHITELIST = "location_ignore_settings_package_whitelist";
+    field public static final String LOW_POWER_MODE = "low_power";
+    field public static final String LOW_POWER_MODE_STICKY = "low_power_sticky";
+    field @Deprecated public static final String NOTIFICATION_BUBBLES = "notification_bubbles";
+    field public static final String OVERLAY_DISPLAY_DEVICES = "overlay_display_devices";
+    field public static final String SHOW_FIRST_CRASH_DIALOG = "show_first_crash_dialog";
+    field public static final String USER_DISABLED_HDR_FORMATS = "user_disabled_hdr_formats";
+    field public static final String USE_OPEN_WIFI_PACKAGE = "use_open_wifi_package";
+  }
+
+  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
+    field public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED = "accessibility_display_magnification_enabled";
+    field public static final String ACCESSIBILITY_MAGNIFICATION_CAPABILITY = "accessibility_magnification_capability";
+    field public static final String ACCESSIBILITY_MAGNIFICATION_MODE = "accessibility_magnification_mode";
+    field public static final int ACCESSIBILITY_MAGNIFICATION_MODE_ALL = 3; // 0x3
+    field public static final int ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN = 1; // 0x1
+    field public static final int ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW = 2; // 0x2
+    field public static final String ACCESSIBILITY_SHORTCUT_TARGET_SERVICE = "accessibility_shortcut_target_service";
+    field public static final String ANR_SHOW_BACKGROUND = "anr_show_background";
+    field public static final String AUTOFILL_SERVICE = "autofill_service";
+    field public static final String CONTENT_CAPTURE_ENABLED = "content_capture_enabled";
+    field public static final String DISABLED_PRINT_SERVICES = "disabled_print_services";
+    field @Deprecated public static final String ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES = "enabled_notification_policy_access_packages";
+    field public static final String ENABLED_VR_LISTENERS = "enabled_vr_listeners";
+    field public static final String IMMERSIVE_MODE_CONFIRMATIONS = "immersive_mode_confirmations";
+    field public static final String NOTIFICATION_BADGING = "notification_badging";
+    field public static final String NOTIFICATION_BUBBLES = "notification_bubbles";
+    field public static final String POWER_MENU_LOCKED_SHOW_CONTENT = "power_menu_locked_show_content";
+    field public static final String SELECTED_SPELL_CHECKER = "selected_spell_checker";
+    field public static final String SELECTED_SPELL_CHECKER_SUBTYPE = "selected_spell_checker_subtype";
+    field public static final String SHOW_FIRST_CRASH_DIALOG_DEV_OPTION = "show_first_crash_dialog_dev_option";
+    field public static final String SHOW_IME_WITH_HARD_KEYBOARD = "show_ime_with_hard_keyboard";
+    field @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static final String SYNC_PARENT_SOUNDS = "sync_parent_sounds";
+    field public static final String VOICE_INTERACTION_SERVICE = "voice_interaction_service";
+  }
+
+  public static final class Telephony.Sms.Intents {
+    field public static final String SMS_CARRIER_PROVISION_ACTION = "android.provider.Telephony.SMS_CARRIER_PROVISION";
+  }
+
+  public static final class VoicemailContract.Voicemails implements android.provider.BaseColumns android.provider.OpenableColumns {
+    field public static final String _DATA = "_data";
+  }
+
+}
+
+package android.security {
+
+  public final class KeyChain {
+    method @RequiresPermission("android.permission.MANAGE_CREDENTIAL_MANAGEMENT_APP") @WorkerThread public static boolean setCredentialManagementApp(@NonNull android.content.Context, @NonNull String, @NonNull android.security.AppUriAuthenticationPolicy);
+  }
+
+  public class KeyStoreException extends java.lang.Exception {
+    ctor public KeyStoreException(int, String);
+    method public int getErrorCode();
+  }
+
+}
+
+package android.security.keystore {
+
+  public static final class KeyGenParameterSpec.Builder {
+    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUniqueIdIncluded(boolean);
+  }
+
+  public final class KeyProtection implements java.security.KeyStore.ProtectionParameter {
+    method public long getBoundToSpecificSecureUserId();
+  }
+
+  public static final class KeyProtection.Builder {
+    method public android.security.keystore.KeyProtection.Builder setBoundToSpecificSecureUserId(long);
+  }
+
+}
+
+package android.service.autofill {
+
+  public final class CharSequenceTransformation extends android.service.autofill.InternalTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    method public void apply(@NonNull android.service.autofill.ValueFinder, @NonNull android.widget.RemoteViews, int) throws java.lang.Exception;
+  }
+
+  public final class CompositeUserData implements android.os.Parcelable {
+    ctor public CompositeUserData(@Nullable android.service.autofill.UserData, @NonNull android.service.autofill.UserData);
+    method public int describeContents();
+    method public String[] getCategoryIds();
+    method public android.os.Bundle getDefaultFieldClassificationArgs();
+    method @Nullable public String getFieldClassificationAlgorithm();
+    method @Nullable public String getFieldClassificationAlgorithmForCategory(@NonNull String);
+    method public android.util.ArrayMap<java.lang.String,java.lang.String> getFieldClassificationAlgorithms();
+    method public android.util.ArrayMap<java.lang.String,android.os.Bundle> getFieldClassificationArgs();
+    method public String[] getValues();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.CompositeUserData> CREATOR;
+  }
+
+  public final class CustomDescription implements android.os.Parcelable {
+    method @Nullable public android.util.SparseArray<android.service.autofill.InternalOnClickAction> getActions();
+  }
+
+  public final class Dataset implements android.os.Parcelable {
+    method @Nullable public android.content.IntentSender getAuthentication();
+    method @Nullable public android.content.ClipData getFieldContent();
+    method @Nullable public java.util.ArrayList<android.view.autofill.AutofillId> getFieldIds();
+    method @Nullable public java.util.ArrayList<android.view.autofill.AutofillValue> getFieldValues();
+    method @Nullable public String getId();
+    method public boolean isEmpty();
+  }
+
+  public static final class Dataset.Builder {
+    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
+  }
+
+  public final class DateTransformation extends android.service.autofill.InternalTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    method public void apply(@NonNull android.service.autofill.ValueFinder, @NonNull android.widget.RemoteViews, int) throws java.lang.Exception;
+  }
+
+  public final class DateValueSanitizer extends android.service.autofill.InternalSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
+    method @Nullable public android.view.autofill.AutofillValue sanitize(@NonNull android.view.autofill.AutofillValue);
+  }
+
+  public final class FillResponse implements android.os.Parcelable {
+    method public int getFlags();
+  }
+
+  public final class ImageTransformation extends android.service.autofill.InternalTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    method public void apply(@NonNull android.service.autofill.ValueFinder, @NonNull android.widget.RemoteViews, int) throws java.lang.Exception;
+  }
+
+  public abstract class InternalOnClickAction implements android.service.autofill.OnClickAction android.os.Parcelable {
+    ctor public InternalOnClickAction();
+    method public abstract void onClick(@NonNull android.view.ViewGroup);
+  }
+
+  public abstract class InternalSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
+    ctor public InternalSanitizer();
+    method @Nullable public abstract android.view.autofill.AutofillValue sanitize(@NonNull android.view.autofill.AutofillValue);
+  }
+
+  public abstract class InternalTransformation implements android.os.Parcelable android.service.autofill.Transformation {
+    ctor public InternalTransformation();
+    method public static boolean batchApply(@NonNull android.service.autofill.ValueFinder, @NonNull android.widget.RemoteViews, @NonNull java.util.ArrayList<android.util.Pair<java.lang.Integer,android.service.autofill.InternalTransformation>>);
+  }
+
+  public abstract class InternalValidator implements android.os.Parcelable android.service.autofill.Validator {
+    ctor public InternalValidator();
+    method public abstract boolean isValid(@NonNull android.service.autofill.ValueFinder);
+  }
+
+  public final class LuhnChecksumValidator extends android.service.autofill.InternalValidator implements android.os.Parcelable android.service.autofill.Validator {
+    method public boolean isValid(@NonNull android.service.autofill.ValueFinder);
+  }
+
+  public final class RegexValidator extends android.service.autofill.InternalValidator implements android.os.Parcelable android.service.autofill.Validator {
+    method public boolean isValid(@NonNull android.service.autofill.ValueFinder);
+  }
+
+  public final class TextValueSanitizer extends android.service.autofill.InternalSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
+    method @Nullable public android.view.autofill.AutofillValue sanitize(@NonNull android.view.autofill.AutofillValue);
+  }
+
+  public final class UserData implements android.os.Parcelable {
+    method public android.util.ArrayMap<java.lang.String,java.lang.String> getFieldClassificationAlgorithms();
+  }
+
+  public interface ValueFinder {
+    method @Nullable public default String findByAutofillId(@NonNull android.view.autofill.AutofillId);
+    method @Nullable public android.view.autofill.AutofillValue findRawValueByAutofillId(@NonNull android.view.autofill.AutofillId);
+  }
+
+  public final class VisibilitySetterAction extends android.service.autofill.InternalOnClickAction implements android.service.autofill.OnClickAction android.os.Parcelable {
+    method public void onClick(@NonNull android.view.ViewGroup);
+  }
+
+}
+
+package android.service.autofill.augmented {
+
+  public final class FillRequest {
+    method @NonNull public android.content.ComponentName getActivityComponent();
+    method @NonNull public android.view.autofill.AutofillId getFocusedId();
+    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
+    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
+    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
+    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
+    method public int getTaskId();
+  }
+
+}
+
+package android.service.notification {
+
+  @Deprecated public abstract class ConditionProviderService extends android.app.Service {
+    method @Deprecated public boolean isBound();
+  }
+
+}
+
+package android.service.quickaccesswallet {
+
+  public interface QuickAccessWalletClient extends java.io.Closeable {
+    method public void addWalletServiceEventListener(@NonNull android.service.quickaccesswallet.QuickAccessWalletClient.WalletServiceEventListener);
+    method public void addWalletServiceEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.service.quickaccesswallet.QuickAccessWalletClient.WalletServiceEventListener);
+    method @NonNull public static android.service.quickaccesswallet.QuickAccessWalletClient create(@NonNull android.content.Context);
+    method @Nullable public android.content.Intent createWalletIntent();
+    method @Nullable public android.content.Intent createWalletSettingsIntent();
+    method public void disconnect();
+    method public void getWalletCards(@NonNull android.service.quickaccesswallet.GetWalletCardsRequest, @NonNull android.service.quickaccesswallet.QuickAccessWalletClient.OnWalletCardsRetrievedCallback);
+    method public void getWalletCards(@NonNull java.util.concurrent.Executor, @NonNull android.service.quickaccesswallet.GetWalletCardsRequest, @NonNull android.service.quickaccesswallet.QuickAccessWalletClient.OnWalletCardsRetrievedCallback);
+    method public boolean isWalletFeatureAvailable();
+    method public boolean isWalletFeatureAvailableWhenDeviceLocked();
+    method public boolean isWalletServiceAvailable();
+    method public void notifyWalletDismissed();
+    method public void removeWalletServiceEventListener(@NonNull android.service.quickaccesswallet.QuickAccessWalletClient.WalletServiceEventListener);
+    method public void selectWalletCard(@NonNull android.service.quickaccesswallet.SelectWalletCardRequest);
+  }
+
+  public static interface QuickAccessWalletClient.OnWalletCardsRetrievedCallback {
+    method public void onWalletCardRetrievalError(@NonNull android.service.quickaccesswallet.GetWalletCardsError);
+    method public void onWalletCardsRetrieved(@NonNull android.service.quickaccesswallet.GetWalletCardsResponse);
+  }
+
+  public static interface QuickAccessWalletClient.WalletServiceEventListener {
+    method public void onWalletServiceEvent(@NonNull android.service.quickaccesswallet.WalletServiceEvent);
+  }
+
+}
+
+package android.service.quicksettings {
+
+  public class TileService extends android.app.Service {
+    method public static boolean isQuickSettingsSupported();
+  }
+
+}
+
+package android.service.voice {
+
+  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
+    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public void triggerHardwareRecognitionEventForTest(int, int, boolean, int, int, int, boolean, @NonNull android.media.AudioFormat, @Nullable byte[]);
+  }
+
+  public final class VisibleActivityInfo implements android.os.Parcelable {
+    ctor public VisibleActivityInfo(int, @NonNull android.os.IBinder);
+  }
+
+}
+
+package android.service.watchdog {
+
+  public abstract class ExplicitHealthCheckService extends android.app.Service {
+    method public void setCallback(@Nullable android.os.RemoteCallback);
+  }
+
+}
+
+package android.speech {
+
+  public class SpeechRecognizer {
+    method @MainThread @NonNull public static android.speech.SpeechRecognizer createOnDeviceTestingSpeechRecognizer(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_SPEECH_RECOGNITION) public void setTemporaryOnDeviceRecognizer(@Nullable android.content.ComponentName);
+  }
+
+}
+
+package android.telecom {
+
+  public static class Call.Details {
+    method public String getTelecomCallId();
+  }
+
+  public final class CallAudioState implements android.os.Parcelable {
+    ctor public CallAudioState(boolean, int, int, @Nullable android.bluetooth.BluetoothDevice, @NonNull java.util.Collection<android.bluetooth.BluetoothDevice>);
+  }
+
+  public static final class ConnectionRequest.Builder {
+    ctor public ConnectionRequest.Builder();
+    method @NonNull public android.telecom.ConnectionRequest build();
+    method @NonNull public android.telecom.ConnectionRequest.Builder setAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setAddress(@NonNull android.net.Uri);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setExtras(@NonNull android.os.Bundle);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setIsAdhocConferenceCall(boolean);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setParticipants(@Nullable java.util.List<android.net.Uri>);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setRttPipeFromInCall(@NonNull android.os.ParcelFileDescriptor);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setRttPipeToInCall(@NonNull android.os.ParcelFileDescriptor);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setShouldShowIncomingCallUi(boolean);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setTelecomCallId(@NonNull String);
+    method @NonNull public android.telecom.ConnectionRequest.Builder setVideoState(int);
+  }
+
+  public abstract class ConnectionService extends android.app.Service {
+    method public void onBindClient(@Nullable android.content.Intent);
+  }
+
+}
+
+package android.telephony {
+
+  public final class BarringInfo implements android.os.Parcelable {
+    ctor public BarringInfo(@Nullable android.telephony.CellIdentity, @NonNull android.util.SparseArray<android.telephony.BarringInfo.BarringServiceInfo>);
+  }
+
+  public static final class BarringInfo.BarringServiceInfo implements android.os.Parcelable {
+    ctor public BarringInfo.BarringServiceInfo(int, boolean, int, int);
+  }
+
+  public class MbmsDownloadSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_DOWNLOAD_SERVICE_OVERRIDE_METADATA = "mbms-download-service-override";
+  }
+
+  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_GROUP_CALL_SERVICE_OVERRIDE_METADATA = "mbms-group-call-service-override";
+  }
+
+  public class MbmsStreamingSession implements java.lang.AutoCloseable {
+    field public static final String MBMS_STREAMING_SERVICE_OVERRIDE_METADATA = "mbms-streaming-service-override";
+  }
+
+  public final class ModemActivityInfo implements android.os.Parcelable {
+    ctor public ModemActivityInfo(long, int, int, @NonNull int[], int);
+    method public boolean isEmpty();
+    method public boolean isValid();
+  }
+
+  public class PhoneNumberUtils {
+    method public static int getMinMatchForTest();
+    method public static void setMinMatchForTest(int);
+  }
+
+  public final class PreciseDataConnectionState implements android.os.Parcelable {
+    ctor @Deprecated public PreciseDataConnectionState(int, int, int, @NonNull String, @Nullable android.net.LinkProperties, int);
+  }
+
+  public class ServiceState implements android.os.Parcelable {
+    method public void addNetworkRegistrationInfo(android.telephony.NetworkRegistrationInfo);
+    method public int getDataNetworkType();
+    method public int getDataRegState();
+    method public void setCdmaSystemAndNetworkId(int, int);
+    method public void setCellBandwidths(int[]);
+    method public void setChannelNumber(int);
+    method public void setDataRoamingType(int);
+    method public void setRilDataRadioTechnology(int);
+    method public void setRilVoiceRadioTechnology(int);
+    method public void setVoiceRoamingType(int);
+  }
+
+  public final class SmsManager {
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int checkSmsShortCodeDestination(String, String);
+    field public static final int SMS_CATEGORY_FREE_SHORT_CODE = 1; // 0x1
+    field public static final int SMS_CATEGORY_NOT_SHORT_CODE = 0; // 0x0
+    field public static final int SMS_CATEGORY_POSSIBLE_PREMIUM_SHORT_CODE = 3; // 0x3
+    field public static final int SMS_CATEGORY_PREMIUM_SHORT_CODE = 4; // 0x4
+    field public static final int SMS_CATEGORY_STANDARD_SHORT_CODE = 2; // 0x2
+  }
+
+  public class TelephonyManager {
+    method public int addDevicePolicyOverrideApn(@NonNull android.content.Context, @NonNull android.telephony.data.ApnSetting);
+    method public int getCarrierIdListVersion();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCertsFromCarrierPrivilegeAccessRules();
+    method @NonNull public java.util.List<android.telephony.data.ApnSetting> getDevicePolicyOverrideApns(@NonNull android.content.Context);
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getLine1AlphaTag();
+    method public android.util.Pair<java.lang.Integer,java.lang.Integer> getRadioHalVersion();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getSupportedRadioAccessFamily();
+    method public boolean modifyDevicePolicyOverrideApn(@NonNull android.content.Context, int, @NonNull android.telephony.data.ApnSetting);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void refreshUiccProfile();
+    method @Deprecated public void setCarrierTestOverride(String, String, String, String, String, String, String);
+    method public void setCarrierTestOverride(String, String, String, String, String, String, String, String, String);
+    field public static final int UNKNOWN_CARRIER_ID_LIST_VERSION = -1; // 0xffffffff
+  }
+
+}
+
+package android.telephony.emergency {
+
+  public final class EmergencyNumber implements java.lang.Comparable<android.telephony.emergency.EmergencyNumber> android.os.Parcelable {
+    field public static final int EMERGENCY_NUMBER_SOURCE_TEST = 32; // 0x20
+  }
+
+}
+
+package android.telephony.ims {
+
+  public final class ImsCallProfile implements android.os.Parcelable {
+    field public static final String EXTRA_OEM_EXTRAS = "android.telephony.ims.extra.OEM_EXTRAS";
+  }
+
+}
+
+package android.telephony.ims.feature {
+
+  @Deprecated public static class ImsFeature.Capabilities {
+    field @Deprecated protected int mCapabilities;
+  }
+
+}
+
+package android.text {
+
+  public final class FontConfig implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
+    method @IntRange(from=0) public int getConfigVersion();
+    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
+    method public long getLastModifiedTimeMillis();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
+  }
+
+  public static final class FontConfig.Alias implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getName();
+    method @NonNull public String getOriginal();
+    method @IntRange(from=0, to=1000) public int getWeight();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
+  }
+
+  public static final class FontConfig.Font implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.io.File getFile();
+    method @Nullable public String getFontFamilyName();
+    method @NonNull public String getFontVariationSettings();
+    method @NonNull public String getPostScriptName();
+    method @NonNull public android.graphics.fonts.FontStyle getStyle();
+    method public int getTtcIndex();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
+  }
+
+  public static final class FontConfig.FontFamily implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
+    method @NonNull public android.os.LocaleList getLocaleList();
+    method @Nullable public String getName();
+    method public int getVariant();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
+    field public static final int VARIANT_COMPACT = 1; // 0x1
+    field public static final int VARIANT_DEFAULT = 0; // 0x0
+    field public static final int VARIANT_ELEGANT = 2; // 0x2
+  }
+
+  public static final class Selection.MemoryTextWatcher implements android.text.TextWatcher {
+    ctor public Selection.MemoryTextWatcher();
+    method public void afterTextChanged(android.text.Editable);
+    method public void beforeTextChanged(CharSequence, int, int, int);
+    method public void onTextChanged(CharSequence, int, int, int);
+  }
+
+}
+
+package android.transition {
+
+  public class TransitionManager {
+    method public android.transition.Transition getTransition(android.transition.Scene);
+  }
+
+}
+
+package android.util {
+
+  public final class ArraySet<E> implements java.util.Collection<E> java.util.Set<E> {
+    method public E valueAtUnchecked(int);
+  }
+
+  public class FeatureFlagUtils {
+    ctor public FeatureFlagUtils();
+    method public static java.util.Map<java.lang.String,java.lang.String> getAllFeatureFlags();
+    method public static boolean isEnabled(android.content.Context, String);
+    method public static void setEnabled(android.content.Context, String, boolean);
+    field public static final String FFLAG_OVERRIDE_PREFIX = "sys.fflag.override.";
+    field public static final String FFLAG_PREFIX = "sys.fflag.";
+    field public static final String HEARING_AID_SETTINGS = "settings_bluetooth_hearing_aid";
+    field public static final String PERSIST_PREFIX = "persist.sys.fflag.override.";
+    field public static final String SETTINGS_WIFITRACKER2 = "settings_wifitracker2";
+  }
+
+  public class SparseArrayMap<K, V> {
+    ctor public SparseArrayMap();
+    method public void add(int, @NonNull K, @Nullable V);
+    method public void clear();
+    method public boolean contains(int, @NonNull K);
+    method public void delete(int);
+    method @Nullable public V delete(int, @NonNull K);
+    method public void forEach(@NonNull java.util.function.Consumer<V>);
+    method @Nullable public V get(int, @NonNull K);
+    method @Nullable public V getOrDefault(int, @NonNull K, V);
+    method public int indexOfKey(int);
+    method public int indexOfKey(int, @NonNull K);
+    method public int keyAt(int);
+    method @NonNull public K keyAt(int, int);
+    method public int numElementsForKey(int);
+    method public int numMaps();
+    method @Nullable public V valueAt(int, int);
+  }
+
+  public class TimeUtils {
+    method public static String formatDuration(long);
+  }
+
+}
+
+package android.util.proto {
+
+  public final class EncodedBuffer {
+    ctor public EncodedBuffer();
+    ctor public EncodedBuffer(int);
+    method public void dumpBuffers(String);
+    method public static void dumpByteString(String, String, byte[]);
+    method public void editRawFixed32(int, int);
+    method public byte[] getBytes(int);
+    method public int getChunkCount();
+    method public String getDebugString();
+    method public int getRawFixed32At(int);
+    method public static int getRawVarint32Size(int);
+    method public static int getRawVarint64Size(long);
+    method public static int getRawZigZag32Size(int);
+    method public static int getRawZigZag64Size(long);
+    method public int getReadPos();
+    method public int getReadableSize();
+    method public int getSize();
+    method public int getWriteBufIndex();
+    method public int getWriteIndex();
+    method public int getWritePos();
+    method public byte readRawByte();
+    method public int readRawFixed32();
+    method public long readRawUnsigned();
+    method public void rewindRead();
+    method public void rewindWriteTo(int);
+    method public void skipRead(int);
+    method public void startEditing();
+    method public void writeFromThisBuffer(int, int);
+    method public void writeRawBuffer(byte[]);
+    method public void writeRawBuffer(byte[], int, int);
+    method public void writeRawByte(byte);
+    method public void writeRawFixed32(int);
+    method public void writeRawFixed64(long);
+    method public void writeRawVarint32(int);
+    method public void writeRawVarint64(long);
+    method public void writeRawZigZag32(int);
+    method public void writeRawZigZag64(long);
+  }
+
+  public class ProtoParseException extends java.lang.RuntimeException {
+    ctor public ProtoParseException(String);
+  }
+
+  public class WireTypeMismatchException extends android.util.proto.ProtoParseException {
+    ctor public WireTypeMismatchException(String);
+  }
+
+}
+
+package android.view {
+
+  public abstract class ActionMode {
+    method public boolean isUiFocusable();
+  }
+
+  public final class Choreographer {
+    method public static long getFrameDelay();
+    method public void postCallback(int, Runnable, Object);
+    method public void postCallbackDelayed(int, Runnable, Object, long);
+    method public void removeCallbacks(int, Runnable, Object);
+    method public static void setFrameDelay(long);
+    field public static final int CALLBACK_ANIMATION = 1; // 0x1
+  }
+
+  public final class ContentInfo implements android.os.Parcelable {
+    method @NonNull public android.util.Pair<android.view.ContentInfo,android.view.ContentInfo> partition(@NonNull java.util.function.Predicate<android.content.ClipData.Item>);
+    method public void releasePermissions();
+  }
+
+  public static final class ContentInfo.Builder {
+    method @NonNull public android.view.ContentInfo.Builder setDragAndDropPermissions(@Nullable android.view.DragAndDropPermissions);
+    method @NonNull public android.view.ContentInfo.Builder setInputContentInfo(@Nullable android.view.inputmethod.InputContentInfo);
+  }
+
+  public final class Display {
+    method @NonNull public int[] getReportedHdrTypes();
+    method @NonNull public android.graphics.ColorSpace[] getSupportedWideColorGamut();
+    method public int getType();
+    method public boolean hasAccess(int);
+    field public static final int FLAG_TRUSTED = 128; // 0x80
+    field public static final int TYPE_EXTERNAL = 2; // 0x2
+    field public static final int TYPE_INTERNAL = 1; // 0x1
+    field public static final int TYPE_OVERLAY = 4; // 0x4
+    field public static final int TYPE_UNKNOWN = 0; // 0x0
+    field public static final int TYPE_VIRTUAL = 5; // 0x5
+    field public static final int TYPE_WIFI = 3; // 0x3
+  }
+
+  public class FocusFinder {
+    method public static void sort(android.view.View[], int, int, android.view.ViewGroup, boolean);
+  }
+
+  public final class InputDevice implements android.os.Parcelable {
+    method @RequiresPermission("android.permission.DISABLE_INPUT_DEVICE") public void disable();
+    method @RequiresPermission("android.permission.DISABLE_INPUT_DEVICE") public void enable();
+  }
+
+  public class KeyEvent extends android.view.InputEvent implements android.os.Parcelable {
+    method public static String actionToString(int);
+    method public final void setDisplayId(int);
+    field public static final int FLAG_IS_ACCESSIBILITY_EVENT = 2048; // 0x800
+    field public static final int LAST_KEYCODE = 288; // 0x120
+  }
+
+  public final class KeyboardShortcutGroup implements android.os.Parcelable {
+    ctor public KeyboardShortcutGroup(@Nullable CharSequence, @NonNull java.util.List<android.view.KeyboardShortcutInfo>, boolean);
+    ctor public KeyboardShortcutGroup(@Nullable CharSequence, boolean);
+    method public boolean isSystemGroup();
+  }
+
+  public abstract class LayoutInflater {
+    method public void setPrecompiledLayoutsEnabledForTesting(boolean);
+  }
+
+  public final class MotionEvent extends android.view.InputEvent implements android.os.Parcelable {
+    method public void setActionButton(int);
+    method public void setButtonState(int);
+    method public void setDisplayId(int);
+    field public static final int FLAG_IS_ACCESSIBILITY_EVENT = 2048; // 0x800
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD}) public @interface RemotableViewMethod {
+    method public abstract String asyncImpl() default "";
+  }
+
+  public final class SurfaceControl implements android.os.Parcelable {
+    ctor public SurfaceControl(@NonNull android.view.SurfaceControl, @NonNull String);
+    method public static long acquireFrameRateFlexibilityToken();
+    method @NonNull public static android.os.IBinder getInternalDisplayToken();
+    method public boolean isSameSurface(@NonNull android.view.SurfaceControl);
+    method public static void overrideHdrTypes(@NonNull android.os.IBinder, @NonNull int[]);
+    method public static void releaseFrameRateFlexibilityToken(long);
+  }
+
+  public class SurfaceControlViewHost {
+    method public void relayout(android.view.WindowManager.LayoutParams);
+    method public void setView(@NonNull android.view.View, @NonNull android.view.WindowManager.LayoutParams);
+  }
+
+  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
+    method public android.view.View getTooltipView();
+    method public boolean isAutofilled();
+    method public static boolean isDefaultFocusHighlightEnabled();
+    method public boolean isDefaultFocusHighlightNeeded(android.graphics.drawable.Drawable, android.graphics.drawable.Drawable);
+    method protected void resetResolvedDrawables();
+    method public void resetResolvedLayoutDirection();
+    method public void resetResolvedPadding();
+    method public void resetResolvedTextAlignment();
+    method public void resetResolvedTextDirection();
+    method public void resetRtlProperties();
+    method public boolean restoreFocusInCluster(int);
+    method public boolean restoreFocusNotInCluster();
+    method public void setAutofilled(boolean, boolean);
+    method public final void setFocusedInCluster();
+    method public void setIsRootNamespace(boolean);
+    method public final void setShowingLayoutBounds(boolean);
+  }
+
+  public class ViewConfiguration {
+    method public long getDeviceGlobalActionKeyTimeout();
+    method public static int getHoverTooltipHideShortTimeout();
+    method public static int getHoverTooltipHideTimeout();
+    method public static int getHoverTooltipShowTimeout();
+    method public static int getLongPressTooltipHideTimeout();
+  }
+
+  public class ViewDebug {
+    method @Deprecated @Nullable public static AutoCloseable startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.function.Function<android.graphics.Picture,java.lang.Boolean>);
+    method @Nullable public static AutoCloseable startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.concurrent.Callable<java.io.OutputStream>);
+  }
+
+  public abstract class Window {
+    method @Nullable public android.view.View getNavigationBarBackgroundView();
+    method @Nullable public android.view.View getStatusBarBackgroundView();
+  }
+
+  public interface WindowManager extends android.view.ViewManager {
+    method public default int getDisplayImePolicy(int);
+    method public default void holdLock(android.os.IBinder, int);
+    method public default boolean isTaskSnapshotSupported();
+    method public default void setDisplayImePolicy(int, int);
+    method public default void setShouldShowSystemDecors(int, boolean);
+    method public default void setShouldShowWithInsecureKeyguard(int, boolean);
+    method public default boolean shouldShowSystemDecors(int);
+    field public static final int DISPLAY_IME_POLICY_FALLBACK_DISPLAY = 1; // 0x1
+    field public static final int DISPLAY_IME_POLICY_HIDE = 2; // 0x2
+    field public static final int DISPLAY_IME_POLICY_LOCAL = 0; // 0x0
+  }
+
+  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
+    method @Nullable public final android.os.IBinder getWindowContextToken();
+    method public final void setWindowContextToken(@NonNull android.os.IBinder);
+    field public static final int ACCESSIBILITY_TITLE_CHANGED = 33554432; // 0x2000000
+    field public static final int PRIVATE_FLAG_NO_MOVE_ANIMATION = 64; // 0x40
+    field public CharSequence accessibilityTitle;
+    field public int privateFlags;
+  }
+
+}
+
+package android.view.accessibility {
+
+  public final class AccessibilityManager {
+    method public void addAccessibilityServicesStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener, @Nullable android.os.Handler);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public java.util.List<java.lang.String> getAccessibilityShortcutTargets(int);
+    method public void removeAccessibilityServicesStateChangeListener(@NonNull android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener);
+  }
+
+  public static interface AccessibilityManager.AccessibilityServicesStateChangeListener {
+    method public void onAccessibilityServicesStateChanged(android.view.accessibility.AccessibilityManager);
+  }
+
+  public class AccessibilityNodeInfo implements android.os.Parcelable {
+    method public void addChild(@NonNull android.os.IBinder);
+    method public long getSourceNodeId();
+    method public void setLeashedParent(@Nullable android.os.IBinder, int);
+    method public static void setNumInstancesInUseCounter(java.util.concurrent.atomic.AtomicInteger);
+    method public void writeToParcelNoRecycle(android.os.Parcel, int);
+  }
+
+  public static final class AccessibilityNodeInfo.TouchDelegateInfo implements android.os.Parcelable {
+    method public long getAccessibilityIdForRegion(@NonNull android.graphics.Region);
+  }
+
+  public final class AccessibilityWindowInfo implements android.os.Parcelable {
+    method public static void setNumInstancesInUseCounter(java.util.concurrent.atomic.AtomicInteger);
+  }
+
+}
+
+package android.view.animation {
+
+  public class AnimationUtils {
+    method public static void lockAnimationClock(long);
+    method public static void unlockAnimationClock();
+  }
+
+}
+
+package android.view.autofill {
+
+  public final class AutofillId implements android.os.Parcelable {
+    ctor public AutofillId(int);
+    ctor public AutofillId(@NonNull android.view.autofill.AutofillId, int);
+    ctor public AutofillId(int, int);
+    ctor public AutofillId(@NonNull android.view.autofill.AutofillId, long, int);
+    method public boolean equalsIgnoreSession(@Nullable android.view.autofill.AutofillId);
+    method public boolean isNonVirtual();
+    method @NonNull public static android.view.autofill.AutofillId withoutSession(@NonNull android.view.autofill.AutofillId);
+  }
+
+  public final class AutofillManager {
+    field public static final String DEVICE_CONFIG_AUTOFILL_SMART_SUGGESTION_SUPPORTED_MODES = "smart_suggestion_supported_modes";
+    field public static final int FLAG_SMART_SUGGESTION_OFF = 0; // 0x0
+    field public static final int FLAG_SMART_SUGGESTION_SYSTEM = 1; // 0x1
+    field public static final int MAX_TEMP_AUGMENTED_SERVICE_DURATION_MS = 120000; // 0x1d4c0
+  }
+
+}
+
+package android.view.contentcapture {
+
+  public final class ContentCaptureManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_CAPTURE) public static void resetTemporaryService(int);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_CAPTURE) public static void setDefaultServiceEnabled(int, boolean);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_CONTENT_CAPTURE) public static void setTemporaryService(int, @NonNull String, int);
+    field public static final String DEVICE_CONFIG_PROPERTY_IDLE_FLUSH_FREQUENCY = "idle_flush_frequency";
+    field public static final String DEVICE_CONFIG_PROPERTY_LOGGING_LEVEL = "logging_level";
+    field public static final String DEVICE_CONFIG_PROPERTY_LOG_HISTORY_SIZE = "log_history_size";
+    field public static final String DEVICE_CONFIG_PROPERTY_MAX_BUFFER_SIZE = "max_buffer_size";
+    field public static final String DEVICE_CONFIG_PROPERTY_SERVICE_EXPLICITLY_ENABLED = "service_explicitly_enabled";
+    field public static final String DEVICE_CONFIG_PROPERTY_TEXT_CHANGE_FLUSH_FREQUENCY = "text_change_flush_frequency";
+    field public static final int LOGGING_LEVEL_DEBUG = 1; // 0x1
+    field public static final int LOGGING_LEVEL_OFF = 0; // 0x0
+    field public static final int LOGGING_LEVEL_VERBOSE = 2; // 0x2
+  }
+
+  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
+    method @Nullable public static android.view.contentcapture.ViewNode readFromParcel(@NonNull android.os.Parcel);
+    method public static void writeToParcel(@NonNull android.os.Parcel, @Nullable android.view.contentcapture.ViewNode, int);
+  }
+
+  public static final class ViewNode.ViewStructureImpl extends android.view.ViewStructure {
+    ctor public ViewNode.ViewStructureImpl(@NonNull android.view.View);
+    ctor public ViewNode.ViewStructureImpl(@NonNull android.view.autofill.AutofillId, long, int);
+    method public int addChildCount(int);
+    method public void asyncCommit();
+    method public android.view.ViewStructure asyncNewChild(int);
+    method public android.view.autofill.AutofillId getAutofillId();
+    method public int getChildCount();
+    method public android.os.Bundle getExtras();
+    method public CharSequence getHint();
+    method public android.view.contentcapture.ViewNode getNode();
+    method public android.graphics.Rect getTempRect();
+    method public CharSequence getText();
+    method public int getTextSelectionEnd();
+    method public int getTextSelectionStart();
+    method public boolean hasExtras();
+    method public android.view.ViewStructure newChild(int);
+    method public android.view.ViewStructure.HtmlInfo.Builder newHtmlInfoBuilder(String);
+    method public void setAccessibilityFocused(boolean);
+    method public void setActivated(boolean);
+    method public void setAlpha(float);
+    method public void setAssistBlocked(boolean);
+    method public void setAutofillHints(String[]);
+    method public void setAutofillId(android.view.autofill.AutofillId);
+    method public void setAutofillId(android.view.autofill.AutofillId, int);
+    method public void setAutofillOptions(CharSequence[]);
+    method public void setAutofillType(int);
+    method public void setAutofillValue(android.view.autofill.AutofillValue);
+    method public void setCheckable(boolean);
+    method public void setChecked(boolean);
+    method public void setChildCount(int);
+    method public void setClassName(String);
+    method public void setClickable(boolean);
+    method public void setContentDescription(CharSequence);
+    method public void setContextClickable(boolean);
+    method public void setDataIsSensitive(boolean);
+    method public void setDimens(int, int, int, int, int, int);
+    method public void setElevation(float);
+    method public void setEnabled(boolean);
+    method public void setFocusable(boolean);
+    method public void setFocused(boolean);
+    method public void setHint(CharSequence);
+    method public void setHtmlInfo(android.view.ViewStructure.HtmlInfo);
+    method public void setId(int, String, String, String);
+    method public void setInputType(int);
+    method public void setLocaleList(android.os.LocaleList);
+    method public void setLongClickable(boolean);
+    method public void setOpaque(boolean);
+    method public void setSelected(boolean);
+    method public void setText(CharSequence);
+    method public void setText(CharSequence, int, int);
+    method public void setTextLines(int[], int[]);
+    method public void setTextStyle(float, int, int, int);
+    method public void setTransformation(android.graphics.Matrix);
+    method public void setVisibility(int);
+    method public void setWebDomain(String);
+  }
+
+}
+
+package android.view.displayhash {
+
+  public final class DisplayHashManager {
+    method @RequiresPermission("android.permission.READ_FRAME_BUFFER") public void setDisplayHashThrottlingEnabled(boolean);
+  }
+
+}
+
+package android.view.inputmethod {
+
+  public final class InlineSuggestion implements android.os.Parcelable {
+    method @NonNull public static android.view.inputmethod.InlineSuggestion newInlineSuggestion(@NonNull android.view.inputmethod.InlineSuggestionInfo);
+  }
+
+  public final class InlineSuggestionInfo implements android.os.Parcelable {
+    method @NonNull public static android.view.inputmethod.InlineSuggestionInfo newInlineSuggestionInfo(@NonNull android.widget.inline.InlinePresentationSpec, @NonNull String, @Nullable String[], @NonNull String, boolean);
+  }
+
+  public final class InlineSuggestionsResponse implements android.os.Parcelable {
+    method @NonNull public static android.view.inputmethod.InlineSuggestionsResponse newInlineSuggestionsResponse(@NonNull java.util.List<android.view.inputmethod.InlineSuggestion>);
+  }
+
+  public final class InputMethodInfo implements android.os.Parcelable {
+    ctor public InputMethodInfo(@NonNull String, @NonNull String, @NonNull CharSequence, @NonNull String, int);
+  }
+
+  public final class InputMethodManager {
+    method public int getDisplayId();
+    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public java.util.List<android.view.inputmethod.InputMethodInfo> getInputMethodListAsUser(int);
+    method public boolean hasActiveInputConnection(@Nullable android.view.View);
+    method public boolean isInputMethodPickerShown();
+  }
+
+}
+
+package android.view.inspector {
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD}) public @interface InspectableProperty {
+    method public abstract int attributeId() default android.content.res.Resources.ID_NULL;
+    method public abstract android.view.inspector.InspectableProperty.EnumEntry[] enumMapping() default {};
+    method public abstract android.view.inspector.InspectableProperty.FlagEntry[] flagMapping() default {};
+    method public abstract boolean hasAttributeId() default true;
+    method public abstract String name() default "";
+    method public abstract android.view.inspector.InspectableProperty.ValueType valueType() default android.view.inspector.InspectableProperty.ValueType.INFERRED;
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface InspectableProperty.EnumEntry {
+    method public abstract String name();
+    method public abstract int value();
+  }
+
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface InspectableProperty.FlagEntry {
+    method public abstract int mask() default 0;
+    method public abstract String name();
+    method public abstract int target();
+  }
+
+  public enum InspectableProperty.ValueType {
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType COLOR;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType GRAVITY;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType INFERRED;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType INT_ENUM;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType INT_FLAG;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType NONE;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType RESOURCE_ID;
+  }
+
+}
+
+package android.view.textservice {
+
+  public final class SpellCheckerSubtype implements android.os.Parcelable {
+    field public static final int SUBTYPE_ID_NONE = 0; // 0x0
+  }
+
+}
+
+package android.widget {
+
+  public abstract class AbsListView extends android.widget.AdapterView<android.widget.ListAdapter> implements android.widget.Filter.FilterListener android.text.TextWatcher android.view.ViewTreeObserver.OnGlobalLayoutListener android.view.ViewTreeObserver.OnTouchModeChangeListener {
+    method public final boolean shouldDrawSelector();
+  }
+
+  public class CalendarView extends android.widget.FrameLayout {
+    method public boolean getBoundsForDate(long, android.graphics.Rect);
+  }
+
+  public class DatePicker extends android.widget.FrameLayout {
+    method @android.view.inspector.InspectableProperty(name="datePickerMode", enumMapping={@android.view.inspector.InspectableProperty.EnumEntry(value=android.widget.DatePicker.MODE_SPINNER, name="spinner"), @android.view.inspector.InspectableProperty.EnumEntry(value=android.widget.DatePicker.MODE_CALENDAR, name="calendar")}) public int getMode();
+    field public static final int MODE_CALENDAR = 2; // 0x2
+    field public static final int MODE_SPINNER = 1; // 0x1
+  }
+
+  @UiThread public final class Magnifier {
+    method @Nullable public android.graphics.Bitmap getContent();
+    method public static android.graphics.PointF getMagnifierDefaultSize();
+    method @Nullable public android.graphics.Bitmap getOriginalContent();
+    method public void setOnOperationCompleteCallback(android.widget.Magnifier.Callback);
+  }
+
+  public static interface Magnifier.Callback {
+    method public void onOperationComplete();
+  }
+
+  public class NumberPicker extends android.widget.LinearLayout {
+    method public CharSequence getDisplayedValueForCurrentSelection();
+  }
+
+  public class PopupMenu {
+    method public android.widget.ListView getMenuListView();
+  }
+
+  public class Spinner extends android.widget.AbsSpinner implements android.content.DialogInterface.OnClickListener {
+    method public boolean isPopupShowing();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class TextClock extends android.widget.TextView {
+    method public void disableClockTick();
+  }
+
+  @android.widget.RemoteViews.RemoteView public class TextView extends android.view.View implements android.view.ViewTreeObserver.OnPreDrawListener {
+    method public void onActivityResult(int, int, @Nullable android.content.Intent);
+    field public static final int PROCESS_TEXT_REQUEST_CODE = 100; // 0x64
+  }
+
+  public class TimePicker extends android.widget.FrameLayout {
+    method public android.view.View getAmView();
+    method public android.view.View getHourView();
+    method public android.view.View getMinuteView();
+    method @android.view.inspector.InspectableProperty(name="timePickerMode", enumMapping={@android.view.inspector.InspectableProperty.EnumEntry(name="clock", value=android.widget.TimePicker.MODE_CLOCK), @android.view.inspector.InspectableProperty.EnumEntry(name="spinner", value=android.widget.TimePicker.MODE_SPINNER)}) public int getMode();
+    method public android.view.View getPmView();
+    field public static final int MODE_CLOCK = 2; // 0x2
+    field public static final int MODE_SPINNER = 1; // 0x1
+  }
+
+  public class Toolbar extends android.view.ViewGroup {
+    method @Nullable public android.view.View getNavigationView();
+  }
+
+}
+
+package android.widget.inline {
+
+  public class InlineContentView extends android.view.ViewGroup {
+    method public void setChildSurfacePackageUpdater(@Nullable android.widget.inline.InlineContentView.SurfacePackageUpdater);
+  }
+
+  public static interface InlineContentView.SurfacePackageUpdater {
+    method public void getSurfacePackage(@NonNull java.util.function.Consumer<android.view.SurfaceControlViewHost.SurfacePackage>);
+    method public void onSurfacePackageReleased();
+  }
+
+}
+
+package android.window {
+
+  public final class DisplayAreaAppearedInfo implements android.os.Parcelable {
+    ctor public DisplayAreaAppearedInfo(@NonNull android.window.DisplayAreaInfo, @NonNull android.view.SurfaceControl);
+    method public int describeContents();
+    method @NonNull public android.window.DisplayAreaInfo getDisplayAreaInfo();
+    method @NonNull public android.view.SurfaceControl getLeash();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.DisplayAreaAppearedInfo> CREATOR;
+  }
+
+  public final class DisplayAreaInfo implements android.os.Parcelable {
+    ctor public DisplayAreaInfo(@NonNull android.window.WindowContainerToken, int, int);
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.DisplayAreaInfo> CREATOR;
+    field @NonNull public final android.content.res.Configuration configuration;
+    field public final int displayId;
+    field public final int featureId;
+    field @NonNull public final android.window.WindowContainerToken token;
+  }
+
+  public class DisplayAreaOrganizer extends android.window.WindowOrganizer {
+    method public void onDisplayAreaAppeared(@NonNull android.window.DisplayAreaInfo, @NonNull android.view.SurfaceControl);
+    method public void onDisplayAreaVanished(@NonNull android.window.DisplayAreaInfo);
+    method @CallSuper @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.window.DisplayAreaAppearedInfo> registerOrganizer(int);
+    field public static final int FEATURE_DEFAULT_TASK_CONTAINER = 1; // 0x1
+    field public static final int FEATURE_ONE_HANDED = 3; // 0x3
+    field public static final int FEATURE_ROOT = 0; // 0x0
+    field public static final int FEATURE_SYSTEM_FIRST = 0; // 0x0
+    field public static final int FEATURE_SYSTEM_LAST = 10000; // 0x2710
+    field public static final int FEATURE_UNDEFINED = -1; // 0xffffffff
+    field public static final int FEATURE_VENDOR_FIRST = 10001; // 0x2711
+    field public static final int FEATURE_WINDOWED_MAGNIFICATION = 4; // 0x4
+    field public static final int FEATURE_WINDOW_TOKENS = 2; // 0x2
+  }
+
+  public final class SplashScreenView extends android.widget.FrameLayout {
+    method @Nullable public android.view.View getBrandingView();
+  }
+
+  public final class TaskAppearedInfo implements android.os.Parcelable {
+    ctor public TaskAppearedInfo(@NonNull android.app.ActivityManager.RunningTaskInfo, @NonNull android.view.SurfaceControl);
+    method public int describeContents();
+    method @NonNull public android.view.SurfaceControl getLeash();
+    method @NonNull public android.app.ActivityManager.RunningTaskInfo getTaskInfo();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.TaskAppearedInfo> CREATOR;
+  }
+
+  public final class TaskFragmentCreationParams implements android.os.Parcelable {
+    method @NonNull public android.os.IBinder getFragmentToken();
+    method @NonNull public android.graphics.Rect getInitialBounds();
+    method @NonNull public android.window.TaskFragmentOrganizerToken getOrganizer();
+    method @NonNull public android.os.IBinder getOwnerToken();
+    method public int getWindowingMode();
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.TaskFragmentCreationParams> CREATOR;
+  }
+
+  public static final class TaskFragmentCreationParams.Builder {
+    ctor public TaskFragmentCreationParams.Builder(@NonNull android.window.TaskFragmentOrganizerToken, @NonNull android.os.IBinder, @NonNull android.os.IBinder);
+    method @NonNull public android.window.TaskFragmentCreationParams build();
+    method @NonNull public android.window.TaskFragmentCreationParams.Builder setInitialBounds(@NonNull android.graphics.Rect);
+    method @NonNull public android.window.TaskFragmentCreationParams.Builder setWindowingMode(int);
+  }
+
+  public final class TaskFragmentInfo implements android.os.Parcelable {
+    method public boolean equalsForTaskFragmentOrganizer(@Nullable android.window.TaskFragmentInfo);
+    method @NonNull public java.util.List<android.os.IBinder> getActivities();
+    method @NonNull public android.content.res.Configuration getConfiguration();
+    method @NonNull public android.os.IBinder getFragmentToken();
+    method @NonNull public android.graphics.Point getPositionInParent();
+    method public int getRunningActivityCount();
+    method @NonNull public android.window.WindowContainerToken getToken();
+    method public int getWindowingMode();
+    method public boolean hasRunningActivity();
+    method public boolean isEmpty();
+    method public boolean isTaskClearedForReuse();
+    method public boolean isVisible();
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.TaskFragmentInfo> CREATOR;
+  }
+
+  public class TaskFragmentOrganizer extends android.window.WindowOrganizer {
+    ctor public TaskFragmentOrganizer(@NonNull java.util.concurrent.Executor);
+    method @NonNull public java.util.concurrent.Executor getExecutor();
+    method @NonNull public android.window.TaskFragmentOrganizerToken getOrganizerToken();
+    method public void onTaskFragmentAppeared(@NonNull android.window.TaskFragmentInfo);
+    method public void onTaskFragmentError(@NonNull android.os.IBinder, @NonNull Throwable);
+    method public void onTaskFragmentInfoChanged(@NonNull android.window.TaskFragmentInfo);
+    method public void onTaskFragmentParentInfoChanged(@NonNull android.os.IBinder, @NonNull android.content.res.Configuration);
+    method public void onTaskFragmentVanished(@NonNull android.window.TaskFragmentInfo);
+    method @CallSuper public void registerOrganizer();
+    method @CallSuper public void unregisterOrganizer();
+  }
+
+  public final class TaskFragmentOrganizerToken implements android.os.Parcelable {
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.TaskFragmentOrganizerToken> CREATOR;
+  }
+
+  public class TaskOrganizer extends android.window.WindowOrganizer {
+    ctor public TaskOrganizer();
+    method @BinderThread public void copySplashScreenView(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void createRootTask(int, int, @Nullable android.os.IBinder);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public boolean deleteRootTask(@NonNull android.window.WindowContainerToken);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.app.ActivityManager.RunningTaskInfo> getChildTasks(@NonNull android.window.WindowContainerToken, @NonNull int[]);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public android.window.WindowContainerToken getImeTarget(int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.app.ActivityManager.RunningTaskInfo> getRootTasks(int, @NonNull int[]);
+    method @BinderThread public void onAppSplashScreenViewRemoved(int);
+    method @BinderThread public void onBackPressedOnTaskRoot(@NonNull android.app.ActivityManager.RunningTaskInfo);
+    method @BinderThread public void onTaskAppeared(@NonNull android.app.ActivityManager.RunningTaskInfo, @NonNull android.view.SurfaceControl);
+    method @BinderThread public void onTaskInfoChanged(@NonNull android.app.ActivityManager.RunningTaskInfo);
+    method @BinderThread public void onTaskVanished(@NonNull android.app.ActivityManager.RunningTaskInfo);
+    method @CallSuper @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.window.TaskAppearedInfo> registerOrganizer();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void setInterceptBackPressedOnTaskRoot(@NonNull android.window.WindowContainerToken, boolean);
+    method @CallSuper @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void unregisterOrganizer();
+  }
+
+  public final class WindowContainerToken implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.WindowContainerToken> CREATOR;
+  }
+
+  public final class WindowContainerTransaction implements android.os.Parcelable {
+    ctor public WindowContainerTransaction();
+    method @NonNull public android.window.WindowContainerTransaction createTaskFragment(@NonNull android.window.TaskFragmentCreationParams);
+    method @NonNull public android.window.WindowContainerTransaction deleteTaskFragment(@NonNull android.window.WindowContainerToken);
+    method public int describeContents();
+    method @NonNull public android.window.WindowContainerTransaction reorder(@NonNull android.window.WindowContainerToken, boolean);
+    method @NonNull public android.window.WindowContainerTransaction reparent(@NonNull android.window.WindowContainerToken, @Nullable android.window.WindowContainerToken, boolean);
+    method @NonNull public android.window.WindowContainerTransaction reparentActivityToTaskFragment(@NonNull android.os.IBinder, @NonNull android.os.IBinder);
+    method @NonNull public android.window.WindowContainerTransaction reparentChildren(@NonNull android.window.WindowContainerToken, @Nullable android.window.WindowContainerToken);
+    method @NonNull public android.window.WindowContainerTransaction reparentTasks(@Nullable android.window.WindowContainerToken, @Nullable android.window.WindowContainerToken, @Nullable int[], @Nullable int[], boolean);
+    method @NonNull public android.window.WindowContainerTransaction scheduleFinishEnterPip(@NonNull android.window.WindowContainerToken, @NonNull android.graphics.Rect);
+    method @NonNull public android.window.WindowContainerTransaction setActivityWindowingMode(@NonNull android.window.WindowContainerToken, int);
+    method @NonNull public android.window.WindowContainerTransaction setAdjacentRoots(@NonNull android.window.WindowContainerToken, @NonNull android.window.WindowContainerToken);
+    method @NonNull public android.window.WindowContainerTransaction setAdjacentTaskFragments(@NonNull android.os.IBinder, @Nullable android.os.IBinder, @Nullable android.window.WindowContainerTransaction.TaskFragmentAdjacentParams);
+    method @NonNull public android.window.WindowContainerTransaction setAppBounds(@NonNull android.window.WindowContainerToken, @NonNull android.graphics.Rect);
+    method @NonNull public android.window.WindowContainerTransaction setBounds(@NonNull android.window.WindowContainerToken, @NonNull android.graphics.Rect);
+    method @NonNull public android.window.WindowContainerTransaction setBoundsChangeTransaction(@NonNull android.window.WindowContainerToken, @NonNull android.view.SurfaceControl.Transaction);
+    method @NonNull public android.window.WindowContainerTransaction setErrorCallbackToken(@NonNull android.os.IBinder);
+    method @NonNull public android.window.WindowContainerTransaction setFocusable(@NonNull android.window.WindowContainerToken, boolean);
+    method @NonNull public android.window.WindowContainerTransaction setHidden(@NonNull android.window.WindowContainerToken, boolean);
+    method @NonNull public android.window.WindowContainerTransaction setLaunchRoot(@NonNull android.window.WindowContainerToken, @Nullable int[], @Nullable int[]);
+    method @NonNull public android.window.WindowContainerTransaction setScreenSizeDp(@NonNull android.window.WindowContainerToken, int, int);
+    method @NonNull public android.window.WindowContainerTransaction setSmallestScreenWidthDp(@NonNull android.window.WindowContainerToken, int);
+    method @NonNull public android.window.WindowContainerTransaction setWindowingMode(@NonNull android.window.WindowContainerToken, int);
+    method @NonNull public android.window.WindowContainerTransaction startActivityInTaskFragment(@NonNull android.os.IBinder, @NonNull android.os.IBinder, @NonNull android.content.Intent, @Nullable android.os.Bundle);
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.window.WindowContainerTransaction> CREATOR;
+  }
+
+  public static class WindowContainerTransaction.TaskFragmentAdjacentParams {
+    ctor public WindowContainerTransaction.TaskFragmentAdjacentParams();
+    ctor public WindowContainerTransaction.TaskFragmentAdjacentParams(@NonNull android.os.Bundle);
+    method public void setShouldDelayPrimaryLastActivityRemoval(boolean);
+    method public void setShouldDelaySecondaryLastActivityRemoval(boolean);
+    method public boolean shouldDelayPrimaryLastActivityRemoval();
+    method public boolean shouldDelaySecondaryLastActivityRemoval();
+  }
+
+  public abstract class WindowContainerTransactionCallback {
+    ctor public WindowContainerTransactionCallback();
+    method public abstract void onTransactionReady(int, @NonNull android.view.SurfaceControl.Transaction);
+  }
+
+  public class WindowOrganizer {
+    ctor public WindowOrganizer();
+    method @RequiresPermission(value=android.Manifest.permission.MANAGE_ACTIVITY_TASKS, conditional=true) public int applySyncTransaction(@NonNull android.window.WindowContainerTransaction, @NonNull android.window.WindowContainerTransactionCallback);
+    method @RequiresPermission(value=android.Manifest.permission.MANAGE_ACTIVITY_TASKS, conditional=true) public void applyTransaction(@NonNull android.window.WindowContainerTransaction);
+  }
+
+  @UiContext public abstract class WindowProviderService extends android.app.Service {
+    ctor public WindowProviderService();
+    method public final void attachToWindowToken(@NonNull android.os.IBinder);
+    method @NonNull public int getInitialDisplayId();
+    method @CallSuper @Nullable public android.os.Bundle getWindowContextOptions();
+    method public abstract int getWindowType();
+  }
+
+}
+
diff --git a/32/test/api/com.android.future.usb.accessory-removed.txt b/32/test/api/com.android.future.usb.accessory-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.future.usb.accessory-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.future.usb.accessory.txt b/32/test/api/com.android.future.usb.accessory.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.future.usb.accessory.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.location.provider-removed.txt b/32/test/api/com.android.location.provider-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.location.provider-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.location.provider.txt b/32/test/api/com.android.location.provider.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.location.provider.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.media.remotedisplay-removed.txt b/32/test/api/com.android.media.remotedisplay-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.media.remotedisplay-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.media.remotedisplay.txt b/32/test/api/com.android.media.remotedisplay.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.media.remotedisplay.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.media.tv.remoteprovider-removed.txt b/32/test/api/com.android.media.tv.remoteprovider-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.media.tv.remoteprovider-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.media.tv.remoteprovider.txt b/32/test/api/com.android.media.tv.remoteprovider.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.media.tv.remoteprovider.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.mediadrm.signer-removed.txt b/32/test/api/com.android.mediadrm.signer-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.mediadrm.signer-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.mediadrm.signer.txt b/32/test/api/com.android.mediadrm.signer.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.mediadrm.signer.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.nfc_extras-removed.txt b/32/test/api/com.android.nfc_extras-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.nfc_extras-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/com.android.nfc_extras.txt b/32/test/api/com.android.nfc_extras.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/com.android.nfc_extras.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/javax.obex-removed.txt b/32/test/api/javax.obex-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/javax.obex-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/javax.obex.txt b/32/test/api/javax.obex.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/javax.obex.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/org.apache.http.legacy-removed.txt b/32/test/api/org.apache.http.legacy-removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/org.apache.http.legacy-removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/org.apache.http.legacy.txt b/32/test/api/org.apache.http.legacy.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/org.apache.http.legacy.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/api/removed.txt b/32/test/api/removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/32/test/api/removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/32/test/com.android.future.usb.accessory.jar b/32/test/com.android.future.usb.accessory.jar
new file mode 100644
index 0000000..c9e49a1
--- /dev/null
+++ b/32/test/com.android.future.usb.accessory.jar
Binary files differ
diff --git a/32/test/com.android.location.provider.jar b/32/test/com.android.location.provider.jar
new file mode 100644
index 0000000..f31b739
--- /dev/null
+++ b/32/test/com.android.location.provider.jar
Binary files differ
diff --git a/32/test/com.android.media.remotedisplay.jar b/32/test/com.android.media.remotedisplay.jar
new file mode 100644
index 0000000..1593ed0
--- /dev/null
+++ b/32/test/com.android.media.remotedisplay.jar
Binary files differ
diff --git a/32/test/com.android.media.tv.remoteprovider.jar b/32/test/com.android.media.tv.remoteprovider.jar
new file mode 100644
index 0000000..7c90a83
--- /dev/null
+++ b/32/test/com.android.media.tv.remoteprovider.jar
Binary files differ
diff --git a/32/test/com.android.mediadrm.signer.jar b/32/test/com.android.mediadrm.signer.jar
new file mode 100644
index 0000000..1942f06
--- /dev/null
+++ b/32/test/com.android.mediadrm.signer.jar
Binary files differ
diff --git a/32/test/com.android.nfc_extras.jar b/32/test/com.android.nfc_extras.jar
new file mode 100644
index 0000000..a921544
--- /dev/null
+++ b/32/test/com.android.nfc_extras.jar
Binary files differ
diff --git a/32/test/javax.obex.jar b/32/test/javax.obex.jar
new file mode 100644
index 0000000..5524768
--- /dev/null
+++ b/32/test/javax.obex.jar
Binary files differ
diff --git a/32/test/org.apache.http.legacy.jar b/32/test/org.apache.http.legacy.jar
new file mode 100644
index 0000000..c3654cd
--- /dev/null
+++ b/32/test/org.apache.http.legacy.jar
Binary files differ
diff --git a/Android.bp b/Android.bp
index b17fef3..1e284a5 100644
--- a/Android.bp
+++ b/Android.bp
@@ -131,6 +131,7 @@
         "29",
         "30",
         "31",
+        "32",
         "current",
     ],
     next_api_dir: "31",